diff --git a/mingw-w64-crt/lib64/6to4svc.def b/mingw-w64-crt/lib64/6to4svc.def
index 2c2f0de..47756a4 100644
--- a/mingw-w64-crt/lib64/6to4svc.def
+++ b/mingw-w64-crt/lib64/6to4svc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file 6to4Svc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY "6to4Svc.dll"
-EXPORTS
-ServiceMain
+; 
+; Exports of file 6to4Svc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY "6to4Svc.dll"
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/CINTIME.def b/mingw-w64-crt/lib64/CINTIME.def
index 8253a9b..cfd9d7f 100644
--- a/mingw-w64-crt/lib64/CINTIME.def
+++ b/mingw-w64-crt/lib64/CINTIME.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file CINTIME.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CINTIME.DLL
-EXPORTS
-UniCreateInstLInstance
+; 
+; Exports of file CINTIME.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CINTIME.DLL
+EXPORTS
+UniCreateInstLInstance
diff --git a/mingw-w64-crt/lib64/CmdEvTgProv.def b/mingw-w64-crt/lib64/CmdEvTgProv.def
index c7b1410..9b9d552 100644
--- a/mingw-w64-crt/lib64/CmdEvTgProv.def
+++ b/mingw-w64-crt/lib64/CmdEvTgProv.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file EvTgProv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY EvTgProv.dll
-EXPORTS
-; unsigned long  m_dwNextTriggerID
-?m_dwNextTriggerID@@3KA DATA
-; unsigned long  m_dwTotalTriggers
-?m_dwTotalTriggers@@3KA DATA
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file EvTgProv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY EvTgProv.dll
+EXPORTS
+; unsigned long  m_dwNextTriggerID
+?m_dwNextTriggerID@@3KA DATA
+; unsigned long  m_dwTotalTriggers
+?m_dwTotalTriggers@@3KA DATA
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/PS5UI.def b/mingw-w64-crt/lib64/PS5UI.def
index 4a9aec1..d2530fc 100644
--- a/mingw-w64-crt/lib64/PS5UI.def
+++ b/mingw-w64-crt/lib64/PS5UI.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file ps5ui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ps5ui.dll
-EXPORTS
-DrvSplDeviceCaps
-DevQueryPrintEx
-DllMain
-DrvConvertDevMode
-DrvDeviceCapabilities
-DrvDevicePropertySheets
-DrvDocumentEvent
-DrvDocumentPropertySheets
-DrvDriverEvent
-DrvPrinterEvent
-DrvQueryColorProfile
-DrvQueryJobAttributes
-DrvUpgradePrinter
+; 
+; Exports of file ps5ui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ps5ui.dll
+EXPORTS
+DrvSplDeviceCaps
+DevQueryPrintEx
+DllMain
+DrvConvertDevMode
+DrvDeviceCapabilities
+DrvDevicePropertySheets
+DrvDocumentEvent
+DrvDocumentPropertySheets
+DrvDriverEvent
+DrvPrinterEvent
+DrvQueryColorProfile
+DrvQueryJobAttributes
+DrvUpgradePrinter
diff --git a/mingw-w64-crt/lib64/PSCRIPT5.def b/mingw-w64-crt/lib64/PSCRIPT5.def
index 05c34c8..0d20c15 100644
--- a/mingw-w64-crt/lib64/PSCRIPT5.def
+++ b/mingw-w64-crt/lib64/PSCRIPT5.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file pscript5.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY pscript5.dll
-EXPORTS
-DllMain
-DrvDisableDriver
-DrvEnableDriver
-DrvQueryDriverInfo
+; 
+; Exports of file pscript5.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY pscript5.dll
+EXPORTS
+DllMain
+DrvDisableDriver
+DrvEnableDriver
+DrvQueryDriverInfo
diff --git a/mingw-w64-crt/lib64/UNIDRV.def b/mingw-w64-crt/lib64/UNIDRV.def
index 3fa3c8e..0c75316 100644
--- a/mingw-w64-crt/lib64/UNIDRV.def
+++ b/mingw-w64-crt/lib64/UNIDRV.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file unidrv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY unidrv.dll
-EXPORTS
-DllMain
-DrvDisableDriver
-DrvEnableDriver
-DrvQueryDriverInfo
+; 
+; Exports of file unidrv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY unidrv.dll
+EXPORTS
+DllMain
+DrvDisableDriver
+DrvEnableDriver
+DrvQueryDriverInfo
diff --git a/mingw-w64-crt/lib64/UNIDRVUI.def b/mingw-w64-crt/lib64/UNIDRVUI.def
index 24183f8..8f9c450 100644
--- a/mingw-w64-crt/lib64/UNIDRVUI.def
+++ b/mingw-w64-crt/lib64/UNIDRVUI.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file unidrvui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY unidrvui.dll
-EXPORTS
-DrvSplDeviceCaps
-DevQueryPrintEx
-DllMain
-DrvConvertDevMode
-DrvDeviceCapabilities
-DrvDevicePropertySheets
-DrvDocumentEvent
-DrvDocumentPropertySheets
-DrvDriverEvent
-DrvPrinterEvent
-DrvQueryColorProfile
-DrvQueryJobAttributes
-DrvUpgradePrinter
+; 
+; Exports of file unidrvui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY unidrvui.dll
+EXPORTS
+DrvSplDeviceCaps
+DevQueryPrintEx
+DllMain
+DrvConvertDevMode
+DrvDeviceCapabilities
+DrvDevicePropertySheets
+DrvDocumentEvent
+DrvDocumentPropertySheets
+DrvDriverEvent
+DrvPrinterEvent
+DrvQueryColorProfile
+DrvQueryJobAttributes
+DrvUpgradePrinter
diff --git a/mingw-w64-crt/lib64/aaaamon.def b/mingw-w64-crt/lib64/aaaamon.def
index f850336..0daad50 100644
--- a/mingw-w64-crt/lib64/aaaamon.def
+++ b/mingw-w64-crt/lib64/aaaamon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file AAAAMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AAAAMON.dll
-EXPORTS
-InitHelperDll
+; 
+; Exports of file AAAAMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AAAAMON.dll
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/acgen64.def b/mingw-w64-crt/lib64/acgen64.def
index df8a899..97bbbd9 100644
--- a/mingw-w64-crt/lib64/acgen64.def
+++ b/mingw-w64-crt/lib64/acgen64.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file NULL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NULL.dll
-EXPORTS
-GetHookAPIs
-NotifyShims
+; 
+; Exports of file NULL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NULL.dll
+EXPORTS
+GetHookAPIs
+NotifyShims
diff --git a/mingw-w64-crt/lib64/acledit.def b/mingw-w64-crt/lib64/acledit.def
index fa3e180..da55b74 100644
--- a/mingw-w64-crt/lib64/acledit.def
+++ b/mingw-w64-crt/lib64/acledit.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file ACLEDIT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ACLEDIT.dll
-EXPORTS
-EditAuditInfo
-EditOwnerInfo
-EditPermissionInfo
-DllMain
-FMExtensionProcW
-SedDiscretionaryAclEditor
-SedSystemAclEditor
-SedTakeOwnership
+; 
+; Exports of file ACLEDIT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ACLEDIT.dll
+EXPORTS
+EditAuditInfo
+EditOwnerInfo
+EditPermissionInfo
+DllMain
+FMExtensionProcW
+SedDiscretionaryAclEditor
+SedSystemAclEditor
+SedTakeOwnership
diff --git a/mingw-w64-crt/lib64/aclui.def b/mingw-w64-crt/lib64/aclui.def
index 595d84e..ac91b17 100644
--- a/mingw-w64-crt/lib64/aclui.def
+++ b/mingw-w64-crt/lib64/aclui.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file ACLUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ACLUI.dll
-EXPORTS
-CreateSecurityPage
-EditSecurity
-IID_ISecurityInformation DATA
+; 
+; Exports of file ACLUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ACLUI.dll
+EXPORTS
+CreateSecurityPage
+EditSecurity
+IID_ISecurityInformation DATA
diff --git a/mingw-w64-crt/lib64/activeds.def b/mingw-w64-crt/lib64/activeds.def
index a1e8866..a0a2c72 100644
--- a/mingw-w64-crt/lib64/activeds.def
+++ b/mingw-w64-crt/lib64/activeds.def
@@ -1,39 +1,39 @@
-; 
-; Exports of file ACTIVEDS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ACTIVEDS.dll
-EXPORTS
-ADsGetObject
-ADsBuildEnumerator
-ADsFreeEnumerator
-ADsEnumerateNext
-ADsBuildVarArrayStr
-ADsBuildVarArrayInt
-ADsOpenObject
-DllCanUnloadNow
-DllGetClassObject
-ADsSetLastError
-ADsGetLastError
-AllocADsMem
-FreeADsMem
-ReallocADsMem
-AllocADsStr
-FreeADsStr
-ReallocADsStr
-ADsEncodeBinaryData
-PropVariantToAdsType
-AdsTypeToPropVariant
-AdsFreeAdsValues
-ADsDecodeBinaryData
-AdsTypeToPropVariant2
-PropVariantToAdsType2
-ConvertSecDescriptorToVariant
-ConvertSecurityDescriptorToSecDes
-BinarySDToSecurityDescriptor
-SecurityDescriptorToBinarySD
-ConvertTrusteeToSid
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ACTIVEDS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ACTIVEDS.dll
+EXPORTS
+ADsGetObject
+ADsBuildEnumerator
+ADsFreeEnumerator
+ADsEnumerateNext
+ADsBuildVarArrayStr
+ADsBuildVarArrayInt
+ADsOpenObject
+DllCanUnloadNow
+DllGetClassObject
+ADsSetLastError
+ADsGetLastError
+AllocADsMem
+FreeADsMem
+ReallocADsMem
+AllocADsStr
+FreeADsStr
+ReallocADsStr
+ADsEncodeBinaryData
+PropVariantToAdsType
+AdsTypeToPropVariant
+AdsFreeAdsValues
+ADsDecodeBinaryData
+AdsTypeToPropVariant2
+PropVariantToAdsType2
+ConvertSecDescriptorToVariant
+ConvertSecurityDescriptorToSecDes
+BinarySDToSecurityDescriptor
+SecurityDescriptorToBinarySD
+ConvertTrusteeToSid
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/actxprxy.def b/mingw-w64-crt/lib64/actxprxy.def
index 7219c0e..5f0e36c 100644
--- a/mingw-w64-crt/lib64/actxprxy.def
+++ b/mingw-w64-crt/lib64/actxprxy.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file SWEEPRX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SWEEPRX.dll
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SWEEPRX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SWEEPRX.dll
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/admparse.def b/mingw-w64-crt/lib64/admparse.def
index d0726e6..ea0cc84 100644
--- a/mingw-w64-crt/lib64/admparse.def
+++ b/mingw-w64-crt/lib64/admparse.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file admparse.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY admparse.dll
-EXPORTS
-DllMain
-IsAdmDirty
-ResetAdmDirtyFlag
-AdmClose
-AdmFinishedA
-AdmFinishedW
-AdmInitA
-AdmInitW
-AdmResetA
-AdmResetW
-AdmSaveData
-CheckDuplicateKeysA
-CheckDuplicateKeysW
-CreateAdmUiA
-CreateAdmUiW
-GetAdmCategoriesA
-GetAdmCategoriesW
-GetFontInfoA
-GetFontInfoW
+; 
+; Exports of file admparse.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY admparse.dll
+EXPORTS
+DllMain
+IsAdmDirty
+ResetAdmDirtyFlag
+AdmClose
+AdmFinishedA
+AdmFinishedW
+AdmInitA
+AdmInitW
+AdmResetA
+AdmResetW
+AdmSaveData
+CheckDuplicateKeysA
+CheckDuplicateKeysW
+CreateAdmUiA
+CreateAdmUiW
+GetAdmCategoriesA
+GetAdmCategoriesW
+GetFontInfoA
+GetFontInfoW
diff --git a/mingw-w64-crt/lib64/admwprox.def b/mingw-w64-crt/lib64/admwprox.def
index 08eee3d..390b043 100644
--- a/mingw-w64-crt/lib64/admwprox.def
+++ b/mingw-w64-crt/lib64/admwprox.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ADMWPROX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADMWPROX.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-ReleaseObjectSecurityContextW
+; 
+; Exports of file ADMWPROX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADMWPROX.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+ReleaseObjectSecurityContextW
diff --git a/mingw-w64-crt/lib64/adptif.def b/mingw-w64-crt/lib64/adptif.def
index 5ddcb4e..db0b9ca 100644
--- a/mingw-w64-crt/lib64/adptif.def
+++ b/mingw-w64-crt/lib64/adptif.def
@@ -1,48 +1,48 @@
-; 
-; Exports of file adptif.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY adptif.dll
-EXPORTS
-CreateSocketPort
-DeleteSocketPort
-FwBindFwInterfaceToAdapter
-FwConnectionRequestFailed
-FwCreateInterface
-FwDeleteInterface
-FwDisableFwInterface
-FwEnableFwInterface
-FwGetInterface
-FwGetNotificationResult
-FwGetStaticNetbiosNames
-FwIsStarted
-FwNotifyConnectionRequest
-FwSetInterface
-FwSetStaticNetbiosNames
-FwStart
-FwStop
-FwUnbindFwInterfaceFromAdapter
-FwUpdateConfig
-FwUpdateRouteTable
-GetAdapterNameFromMacAddrW
-GetAdapterNameW
-GetFilters
-IpxAdjustIoCompletionParams
-IpxCreateAdapterConfigurationPort
-IpxDeleteAdapterConfigurationPort
-IpxDoesRouteExist
-IpxGetAdapterConfig
-IpxGetAdapterList
-IpxGetOverlappedResult
-IpxGetQueuedAdapterConfigurationStatus
-IpxGetQueuedCompletionStatus
-IpxPostQueuedCompletionStatus
-IpxRecvPacket
-IpxSendPacket
-IpxWanCreateAdapterConfigurationPort
-IpxWanQueryInactivityTimer
-IpxWanSetAdapterConfiguration
-ServiceMain
-SetFilters
+; 
+; Exports of file adptif.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY adptif.dll
+EXPORTS
+CreateSocketPort
+DeleteSocketPort
+FwBindFwInterfaceToAdapter
+FwConnectionRequestFailed
+FwCreateInterface
+FwDeleteInterface
+FwDisableFwInterface
+FwEnableFwInterface
+FwGetInterface
+FwGetNotificationResult
+FwGetStaticNetbiosNames
+FwIsStarted
+FwNotifyConnectionRequest
+FwSetInterface
+FwSetStaticNetbiosNames
+FwStart
+FwStop
+FwUnbindFwInterfaceFromAdapter
+FwUpdateConfig
+FwUpdateRouteTable
+GetAdapterNameFromMacAddrW
+GetAdapterNameW
+GetFilters
+IpxAdjustIoCompletionParams
+IpxCreateAdapterConfigurationPort
+IpxDeleteAdapterConfigurationPort
+IpxDoesRouteExist
+IpxGetAdapterConfig
+IpxGetAdapterList
+IpxGetOverlappedResult
+IpxGetQueuedAdapterConfigurationStatus
+IpxGetQueuedCompletionStatus
+IpxPostQueuedCompletionStatus
+IpxRecvPacket
+IpxSendPacket
+IpxWanCreateAdapterConfigurationPort
+IpxWanQueryInactivityTimer
+IpxWanSetAdapterConfiguration
+ServiceMain
+SetFilters
diff --git a/mingw-w64-crt/lib64/adrot.def b/mingw-w64-crt/lib64/adrot.def
index 000543b..47fce9a 100644
--- a/mingw-w64-crt/lib64/adrot.def
+++ b/mingw-w64-crt/lib64/adrot.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AdRot.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AdRot.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AdRot.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AdRot.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/adsiis.def b/mingw-w64-crt/lib64/adsiis.def
index 9c91df5..62fc625 100644
--- a/mingw-w64-crt/lib64/adsiis.def
+++ b/mingw-w64-crt/lib64/adsiis.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ADSIIS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADSIIS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ADSIIS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADSIIS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/adsiisex.def b/mingw-w64-crt/lib64/adsiisex.def
index 1aa8ab7..3164973 100644
--- a/mingw-w64-crt/lib64/adsiisex.def
+++ b/mingw-w64-crt/lib64/adsiisex.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ADSIISEX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADSIISEX.dll
-EXPORTS
-IsExtensionClass
-CreateExtensionClass
+; 
+; Exports of file ADSIISEX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADSIISEX.dll
+EXPORTS
+IsExtensionClass
+CreateExtensionClass
diff --git a/mingw-w64-crt/lib64/adsldp.def b/mingw-w64-crt/lib64/adsldp.def
index f84e448..3454059 100644
--- a/mingw-w64-crt/lib64/adsldp.def
+++ b/mingw-w64-crt/lib64/adsldp.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file adsldp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY adsldp.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file adsldp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY adsldp.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/adsldpc.def b/mingw-w64-crt/lib64/adsldpc.def
index 8e0606f..7823c01 100644
--- a/mingw-w64-crt/lib64/adsldpc.def
+++ b/mingw-w64-crt/lib64/adsldpc.def
@@ -1,188 +1,188 @@
-; 
-; Exports of file adsldpc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY adsldpc.dll
-EXPORTS
-; public: __cdecl CLexer::CLexer(void) __ptr64
-??0CLexer@@QEAA@XZ
-; public: __cdecl CLexer::~CLexer(void) __ptr64
-??1CLexer@@QEAA@XZ
-ADsAbandonSearch
-ADsCloseSearchHandle
-ADsCreateAttributeDefinition
-ADsCreateClassDefinition
-ADsCreateDSObject
-ADsCreateDSObjectExt
-ADsDeleteAttributeDefinition
-ADsDeleteClassDefinition
-ADsDeleteDSObject
-ADsEnumAttributes
-ADsEnumClasses
-ADsExecuteSearch
-ADsFreeColumn
-ADsGetColumn
-ADsGetFirstRow
-ADsGetNextColumnName
-ADsGetNextRow
-ADsGetObjectAttributes
-ADsGetPreviousRow
-ADsHelperGetCurrentRowMessage
-ADsObject
-ADsSetObjectAttributes
-ADsSetSearchPreference
-ADsWriteAttributeDefinition
-ADsWriteClassDefinition
-AdsTypeToLdapTypeCopyConstruct
-AdsTypeToLdapTypeCopyDNWithBinary
-AdsTypeToLdapTypeCopyDNWithString
-AdsTypeToLdapTypeCopyGeneralizedTime
-AdsTypeToLdapTypeCopyTime
-BerBvFree
-BerEncodingQuotaControl
-BuildADsParentPath
-BuildADsParentPathFromObjectInfo2
-BuildADsParentPathFromObjectInfo
-BuildADsPathFromLDAPPath2
-BuildADsPathFromLDAPPath
-BuildADsPathFromParent
-BuildLDAPPathFromADsPath2
-BuildLDAPPathFromADsPath
-ChangeSeparator
-Component
-ConvertSidToString
-ConvertSidToU2Trustee
-ConvertU2TrusteeToSid
-FindEntryInSearchTable
-FindSearchTableIndex
-FreeObjectInfo
-GetDefaultServer
-GetDisplayName
-GetDomainDNSNameForDomain
-GetLDAPTypeName
-; public: long __cdecl CLexer::GetNextToken(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetNextToken@CLexer@@QEAAJPEAGPEAK@Z
-GetSyntaxOfAttribute
-InitObjectInfo
-; public: long __cdecl CLexer::InitializePath(unsigned short * __ptr64) __ptr64
-?InitializePath@CLexer@@QEAAJPEAG@Z
-IsGCNamespace
-LdapAddExtS
-LdapAddS
-LdapAttributeFree
-LdapCacheAddRef
-LdapCloseObject
-LdapCompareExt
-LdapControlFree
-LdapControlsFree
-LdapCountEntries
-LdapCrackUserDNtoNTLMUser2
-LdapCrackUserDNtoNTLMUser
-LdapCreatePageControl
-LdapDeleteExtS
-LdapDeleteS
-LdapFirstAttribute
-LdapFirstEntry
-LdapGetDn
-LdapGetNextPageS
-LdapGetSchemaObjectCount
-LdapGetSubSchemaSubEntryPath
-LdapGetSyntaxIdOfAttribute
-LdapGetSyntaxOfAttributeOnServer
-LdapGetValues
-LdapGetValuesLen
-LdapInitializeSearchPreferences
-LdapIsClassNameValidOnServer
-LdapMakeSchemaCacheObsolete
-LdapMemFree
-LdapModDnS
-LdapModifyExtS
-LdapModifyS
-LdapMsgFree
-LdapNextAttribute
-LdapNextEntry
-LdapOpenObject2
-LdapOpenObject
-LdapParsePageControl
-LdapParseResult
-LdapReadAttribute2
-LdapReadAttribute
-LdapReadAttributeFast
-LdapRenameExtS
-LdapResult
-LdapSearch
-LdapSearchAbandonPage
-LdapSearchExtS
-LdapSearchInitPage
-LdapSearchS
-LdapSearchST
-LdapTypeBinaryToString
-LdapTypeCopyConstruct
-LdapTypeFreeLdapModList
-LdapTypeFreeLdapModObject
-LdapTypeFreeLdapObjects
-LdapTypeToAdsTypeDNWithBinary
-LdapTypeToAdsTypeDNWithString
-LdapTypeToAdsTypeGeneralizedTime
-LdapTypeToAdsTypeUTCTime
-LdapValueFree
-LdapValueFreeLen
-LdapcKeepHandleAround
-LdapcSetStickyServer
-PathName
-ReadPagingSupportedAttr
-ReadSecurityDescriptorControlType
-ReadServerSupportsIsADControl
-SchemaAddRef
-SchemaClose
-SchemaGetClassInfo
-SchemaGetClassInfoByIndex
-SchemaGetObjectCount
-SchemaGetPropertyInfo
-SchemaGetPropertyInfoByIndex
-SchemaGetStringsFromStringTable
-SchemaGetSyntaxOfAttribute
-SchemaIsClassAContainer
-SchemaOpen
-; public: void __cdecl CLexer::SetAtDisabler(int) __ptr64
-?SetAtDisabler@CLexer@@QEAAXH@Z
-; public: void __cdecl CLexer::SetExclaimnationDisabler(int) __ptr64
-?SetExclaimnationDisabler@CLexer@@QEAAXH@Z
-; public: void __cdecl CLexer::SetFSlashDisabler(int) __ptr64
-?SetFSlashDisabler@CLexer@@QEAAXH@Z
-SortAndRemoveDuplicateOIDs
-UnMarshallLDAPToLDAPSynID
-intcmp
-ADSIAbandonSearch
-ADSICloseDSObject
-ADSICloseSearchHandle
-ADSICreateDSObject
-ADSIDeleteDSObject
-ADSIExecuteSearch
-ADSIFreeColumn
-ADSIGetColumn
-ADSIGetFirstRow
-ADSIGetNextColumnName
-ADSIGetNextRow
-ADSIGetObjectAttributes
-ADSIGetPreviousRow
-ADSIModifyRdn
-ADSIOpenDSObject
-ADSISetObjectAttributes
-ADSISetSearchPreference
-ADsDecodeBinaryData
-ADsEncodeBinaryData
-ADsGetLastError
-ADsSetLastError
-AdsTypeFreeAdsObjects
-AllocADsMem
-AllocADsStr
-FreeADsMem
-FreeADsStr
-LdapTypeToAdsTypeCopyConstruct
-MapADSTypeToLDAPType
-MapLDAPTypeToADSType
-ReallocADsMem
-ReallocADsStr
+; 
+; Exports of file adsldpc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY adsldpc.dll
+EXPORTS
+; public: __cdecl CLexer::CLexer(void) __ptr64
+??0CLexer@@QEAA@XZ
+; public: __cdecl CLexer::~CLexer(void) __ptr64
+??1CLexer@@QEAA@XZ
+ADsAbandonSearch
+ADsCloseSearchHandle
+ADsCreateAttributeDefinition
+ADsCreateClassDefinition
+ADsCreateDSObject
+ADsCreateDSObjectExt
+ADsDeleteAttributeDefinition
+ADsDeleteClassDefinition
+ADsDeleteDSObject
+ADsEnumAttributes
+ADsEnumClasses
+ADsExecuteSearch
+ADsFreeColumn
+ADsGetColumn
+ADsGetFirstRow
+ADsGetNextColumnName
+ADsGetNextRow
+ADsGetObjectAttributes
+ADsGetPreviousRow
+ADsHelperGetCurrentRowMessage
+ADsObject
+ADsSetObjectAttributes
+ADsSetSearchPreference
+ADsWriteAttributeDefinition
+ADsWriteClassDefinition
+AdsTypeToLdapTypeCopyConstruct
+AdsTypeToLdapTypeCopyDNWithBinary
+AdsTypeToLdapTypeCopyDNWithString
+AdsTypeToLdapTypeCopyGeneralizedTime
+AdsTypeToLdapTypeCopyTime
+BerBvFree
+BerEncodingQuotaControl
+BuildADsParentPath
+BuildADsParentPathFromObjectInfo2
+BuildADsParentPathFromObjectInfo
+BuildADsPathFromLDAPPath2
+BuildADsPathFromLDAPPath
+BuildADsPathFromParent
+BuildLDAPPathFromADsPath2
+BuildLDAPPathFromADsPath
+ChangeSeparator
+Component
+ConvertSidToString
+ConvertSidToU2Trustee
+ConvertU2TrusteeToSid
+FindEntryInSearchTable
+FindSearchTableIndex
+FreeObjectInfo
+GetDefaultServer
+GetDisplayName
+GetDomainDNSNameForDomain
+GetLDAPTypeName
+; public: long __cdecl CLexer::GetNextToken(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetNextToken@CLexer@@QEAAJPEAGPEAK@Z
+GetSyntaxOfAttribute
+InitObjectInfo
+; public: long __cdecl CLexer::InitializePath(unsigned short * __ptr64) __ptr64
+?InitializePath@CLexer@@QEAAJPEAG@Z
+IsGCNamespace
+LdapAddExtS
+LdapAddS
+LdapAttributeFree
+LdapCacheAddRef
+LdapCloseObject
+LdapCompareExt
+LdapControlFree
+LdapControlsFree
+LdapCountEntries
+LdapCrackUserDNtoNTLMUser2
+LdapCrackUserDNtoNTLMUser
+LdapCreatePageControl
+LdapDeleteExtS
+LdapDeleteS
+LdapFirstAttribute
+LdapFirstEntry
+LdapGetDn
+LdapGetNextPageS
+LdapGetSchemaObjectCount
+LdapGetSubSchemaSubEntryPath
+LdapGetSyntaxIdOfAttribute
+LdapGetSyntaxOfAttributeOnServer
+LdapGetValues
+LdapGetValuesLen
+LdapInitializeSearchPreferences
+LdapIsClassNameValidOnServer
+LdapMakeSchemaCacheObsolete
+LdapMemFree
+LdapModDnS
+LdapModifyExtS
+LdapModifyS
+LdapMsgFree
+LdapNextAttribute
+LdapNextEntry
+LdapOpenObject2
+LdapOpenObject
+LdapParsePageControl
+LdapParseResult
+LdapReadAttribute2
+LdapReadAttribute
+LdapReadAttributeFast
+LdapRenameExtS
+LdapResult
+LdapSearch
+LdapSearchAbandonPage
+LdapSearchExtS
+LdapSearchInitPage
+LdapSearchS
+LdapSearchST
+LdapTypeBinaryToString
+LdapTypeCopyConstruct
+LdapTypeFreeLdapModList
+LdapTypeFreeLdapModObject
+LdapTypeFreeLdapObjects
+LdapTypeToAdsTypeDNWithBinary
+LdapTypeToAdsTypeDNWithString
+LdapTypeToAdsTypeGeneralizedTime
+LdapTypeToAdsTypeUTCTime
+LdapValueFree
+LdapValueFreeLen
+LdapcKeepHandleAround
+LdapcSetStickyServer
+PathName
+ReadPagingSupportedAttr
+ReadSecurityDescriptorControlType
+ReadServerSupportsIsADControl
+SchemaAddRef
+SchemaClose
+SchemaGetClassInfo
+SchemaGetClassInfoByIndex
+SchemaGetObjectCount
+SchemaGetPropertyInfo
+SchemaGetPropertyInfoByIndex
+SchemaGetStringsFromStringTable
+SchemaGetSyntaxOfAttribute
+SchemaIsClassAContainer
+SchemaOpen
+; public: void __cdecl CLexer::SetAtDisabler(int) __ptr64
+?SetAtDisabler@CLexer@@QEAAXH@Z
+; public: void __cdecl CLexer::SetExclaimnationDisabler(int) __ptr64
+?SetExclaimnationDisabler@CLexer@@QEAAXH@Z
+; public: void __cdecl CLexer::SetFSlashDisabler(int) __ptr64
+?SetFSlashDisabler@CLexer@@QEAAXH@Z
+SortAndRemoveDuplicateOIDs
+UnMarshallLDAPToLDAPSynID
+intcmp
+ADSIAbandonSearch
+ADSICloseDSObject
+ADSICloseSearchHandle
+ADSICreateDSObject
+ADSIDeleteDSObject
+ADSIExecuteSearch
+ADSIFreeColumn
+ADSIGetColumn
+ADSIGetFirstRow
+ADSIGetNextColumnName
+ADSIGetNextRow
+ADSIGetObjectAttributes
+ADSIGetPreviousRow
+ADSIModifyRdn
+ADSIOpenDSObject
+ADSISetObjectAttributes
+ADSISetSearchPreference
+ADsDecodeBinaryData
+ADsEncodeBinaryData
+ADsGetLastError
+ADsSetLastError
+AdsTypeFreeAdsObjects
+AllocADsMem
+AllocADsStr
+FreeADsMem
+FreeADsStr
+LdapTypeToAdsTypeCopyConstruct
+MapADSTypeToLDAPType
+MapLDAPTypeToADSType
+ReallocADsMem
+ReallocADsStr
diff --git a/mingw-w64-crt/lib64/adsmsext.def b/mingw-w64-crt/lib64/adsmsext.def
index 28f5608..fb75e0e 100644
--- a/mingw-w64-crt/lib64/adsmsext.def
+++ b/mingw-w64-crt/lib64/adsmsext.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file adsmsext.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY adsmsext.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file adsmsext.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY adsmsext.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/adsnt.def b/mingw-w64-crt/lib64/adsnt.def
index d2c4555..2af8b80 100644
--- a/mingw-w64-crt/lib64/adsnt.def
+++ b/mingw-w64-crt/lib64/adsnt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ADSNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADSNT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file ADSNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADSNT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/advapi32.def b/mingw-w64-crt/lib64/advapi32.def
index e3cf2ad..4743078 100644
--- a/mingw-w64-crt/lib64/advapi32.def
+++ b/mingw-w64-crt/lib64/advapi32.def
@@ -1,692 +1,692 @@
-; 
-; Exports of file ADVAPI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADVAPI32.dll
-EXPORTS
-I_ScGetCurrentGroupStateW
-A_SHAFinal
-A_SHAInit
-A_SHAUpdate
-AbortSystemShutdownA
-AbortSystemShutdownW
-AccessCheck
-AccessCheckAndAuditAlarmA
-AccessCheckAndAuditAlarmW
-AccessCheckByType
-AccessCheckByTypeAndAuditAlarmA
-AccessCheckByTypeAndAuditAlarmW
-AccessCheckByTypeResultList
-AccessCheckByTypeResultListAndAuditAlarmA
-AccessCheckByTypeResultListAndAuditAlarmByHandleA
-AccessCheckByTypeResultListAndAuditAlarmByHandleW
-AccessCheckByTypeResultListAndAuditAlarmW
-AddAccessAllowedAce
-AddAccessAllowedAceEx
-AddAccessAllowedObjectAce
-AddAccessDeniedAce
-AddAccessDeniedAceEx
-AddAccessDeniedObjectAce
-AddAce
-AddAuditAccessAce
-AddAuditAccessAceEx
-AddAuditAccessObjectAce
-AddUsersToEncryptedFile
-AdjustTokenGroups
-AdjustTokenPrivileges
-AllocateAndInitializeSid
-AllocateLocallyUniqueId
-AreAllAccessesGranted
-AreAnyAccessesGranted
-BackupEventLogA
-BackupEventLogW
-BuildExplicitAccessWithNameA
-BuildExplicitAccessWithNameW
-BuildImpersonateExplicitAccessWithNameA
-BuildImpersonateExplicitAccessWithNameW
-BuildImpersonateTrusteeA
-BuildImpersonateTrusteeW
-BuildSecurityDescriptorA
-BuildSecurityDescriptorW
-BuildTrusteeWithNameA
-BuildTrusteeWithNameW
-BuildTrusteeWithObjectsAndNameA
-BuildTrusteeWithObjectsAndNameW
-BuildTrusteeWithObjectsAndSidA
-BuildTrusteeWithObjectsAndSidW
-BuildTrusteeWithSidA
-BuildTrusteeWithSidW
-CancelOverlappedAccess
-ChangeServiceConfig2A
-ChangeServiceConfig2W
-ChangeServiceConfigA
-ChangeServiceConfigW
-CheckTokenMembership
-ClearEventLogA
-ClearEventLogW
-CloseCodeAuthzLevel
-CloseEncryptedFileRaw
-CloseEventLog
-CloseServiceHandle
-CloseTrace
-CommandLineFromMsiDescriptor
-ComputeAccessTokenFromCodeAuthzLevel
-ControlService
-ControlTraceA
-ControlTraceW
-ConvertAccessToSecurityDescriptorA
-ConvertAccessToSecurityDescriptorW
-ConvertSDToStringSDRootDomainA
-ConvertSDToStringSDRootDomainW
-ConvertSecurityDescriptorToAccessA
-ConvertSecurityDescriptorToAccessNamedA
-ConvertSecurityDescriptorToAccessNamedW
-ConvertSecurityDescriptorToAccessW
-ConvertSecurityDescriptorToStringSecurityDescriptorA
-ConvertSecurityDescriptorToStringSecurityDescriptorW
-ConvertSidToStringSidA
-ConvertSidToStringSidW
-ConvertStringSDToSDDomainA
-ConvertStringSDToSDDomainW
-ConvertStringSDToSDRootDomainA
-ConvertStringSDToSDRootDomainW
-ConvertStringSecurityDescriptorToSecurityDescriptorA
-ConvertStringSecurityDescriptorToSecurityDescriptorW
-ConvertStringSidToSidA
-ConvertStringSidToSidW
-ConvertToAutoInheritPrivateObjectSecurity
-CopySid
-CreateCodeAuthzLevel
-CreatePrivateObjectSecurity
-CreatePrivateObjectSecurityEx
-CreatePrivateObjectSecurityWithMultipleInheritance
-CreateProcessAsUserA
-CreateProcessAsUserW
-CreateProcessWithLogonW
-CreateProcessWithTokenW
-CreateRestrictedToken
-CreateServiceA
-CreateServiceW
-CreateTraceInstanceId
-CreateWellKnownSid
-CredDeleteA
-CredDeleteW
-CredEnumerateA
-CredEnumerateW
-CredFree
-CredGetSessionTypes
-CredGetTargetInfoA
-CredGetTargetInfoW
-CredIsMarshaledCredentialA
-CredIsMarshaledCredentialW
-CredMarshalCredentialA
-CredMarshalCredentialW
-CredProfileLoaded
-CredReadA
-CredReadDomainCredentialsA
-CredReadDomainCredentialsW
-CredReadW
-CredRenameA
-CredRenameW
-CredUnmarshalCredentialA
-CredUnmarshalCredentialW
-CredWriteA
-CredWriteDomainCredentialsA
-CredWriteDomainCredentialsW
-CredWriteW
-CredpConvertCredential
-CredpConvertTargetInfo
-CredpDecodeCredential
-CredpEncodeCredential
-CryptAcquireContextA
-CryptAcquireContextW
-CryptContextAddRef
-CryptCreateHash
-CryptDecrypt
-CryptDeriveKey
-CryptDestroyHash
-CryptDestroyKey
-CryptDuplicateHash
-CryptDuplicateKey
-CryptEncrypt
-CryptEnumProviderTypesA
-CryptEnumProviderTypesW
-CryptEnumProvidersA
-CryptEnumProvidersW
-CryptExportKey
-CryptGenKey
-CryptGenRandom
-CryptGetDefaultProviderA
-CryptGetDefaultProviderW
-CryptGetHashParam
-CryptGetKeyParam
-CryptGetProvParam
-CryptGetUserKey
-CryptHashData
-CryptHashSessionKey
-CryptImportKey
-CryptReleaseContext
-CryptSetHashParam
-CryptSetKeyParam
-CryptSetProvParam
-CryptSetProviderA
-CryptSetProviderExA
-CryptSetProviderExW
-CryptSetProviderW
-CryptSignHashA
-CryptSignHashW
-CryptVerifySignatureA
-CryptVerifySignatureW
-DecryptFileA
-DecryptFileW
-DeleteAce
-DeleteService
-DeregisterEventSource
-DestroyPrivateObjectSecurity
-DuplicateEncryptionInfoFile
-DuplicateToken
-DuplicateTokenEx
-ElfBackupEventLogFileA
-ElfBackupEventLogFileW
-ElfChangeNotify
-ElfClearEventLogFileA
-ElfClearEventLogFileW
-ElfCloseEventLog
-ElfDeregisterEventSource
-ElfFlushEventLog
-ElfNumberOfRecords
-ElfOldestRecord
-ElfOpenBackupEventLogA
-ElfOpenBackupEventLogW
-ElfOpenEventLogA
-ElfOpenEventLogW
-ElfReadEventLogA
-ElfReadEventLogW
-ElfRegisterEventSourceA
-ElfRegisterEventSourceW
-ElfReportEventA
-ElfReportEventAndSourceW
-ElfReportEventW
-EnableTrace
-EncryptFileA
-EncryptFileW
-EncryptedFileKeyInfo
-EncryptionDisable
-EnumDependentServicesA
-EnumDependentServicesW
-EnumServiceGroupW
-EnumServicesStatusA
-EnumServicesStatusExA
-EnumServicesStatusExW
-EnumServicesStatusW
-EnumerateTraceGuids
-EqualDomainSid
-EqualPrefixSid
-EqualSid
-FileEncryptionStatusA
-FileEncryptionStatusW
-FindFirstFreeAce
-FlushTraceA
-FlushTraceW
-FreeEncryptedFileKeyInfo
-FreeEncryptionCertificateHashList
-FreeInheritedFromArray
-FreeSid
-GetAccessPermissionsForObjectA
-GetAccessPermissionsForObjectW
-GetAce
-GetAclInformation
-GetAuditedPermissionsFromAclA
-GetAuditedPermissionsFromAclW
-GetCurrentHwProfileA
-GetCurrentHwProfileW
-GetEffectiveRightsFromAclA
-GetEffectiveRightsFromAclW
-GetEventLogInformation
-GetExplicitEntriesFromAclA
-GetExplicitEntriesFromAclW
-GetFileSecurityA
-GetFileSecurityW
-GetInformationCodeAuthzLevelW
-GetInformationCodeAuthzPolicyW
-GetInheritanceSourceA
-GetInheritanceSourceW
-GetKernelObjectSecurity
-GetLengthSid
-GetLocalManagedApplicationData
-GetLocalManagedApplications
-GetManagedApplicationCategories
-GetManagedApplications
-GetMultipleTrusteeA
-GetMultipleTrusteeOperationA
-GetMultipleTrusteeOperationW
-GetMultipleTrusteeW
-GetNamedSecurityInfoA
-GetNamedSecurityInfoExA
-GetNamedSecurityInfoExW
-GetNamedSecurityInfoW
-GetNumberOfEventLogRecords
-GetOldestEventLogRecord
-GetOverlappedAccessResults
-GetPrivateObjectSecurity
-GetSecurityDescriptorControl
-GetSecurityDescriptorDacl
-GetSecurityDescriptorGroup
-GetSecurityDescriptorLength
-GetSecurityDescriptorOwner
-GetSecurityDescriptorRMControl
-GetSecurityDescriptorSacl
-GetSecurityInfo
-GetSecurityInfoExA
-GetSecurityInfoExW
-GetServiceDisplayNameA
-GetServiceDisplayNameW
-GetServiceKeyNameA
-GetServiceKeyNameW
-GetSidIdentifierAuthority
-GetSidLengthRequired
-GetSidSubAuthority
-GetSidSubAuthorityCount
-GetTokenInformation
-GetTraceEnableFlags
-GetTraceEnableLevel
-GetTraceLoggerHandle
-GetTrusteeFormA
-GetTrusteeFormW
-GetTrusteeNameA
-GetTrusteeNameW
-GetTrusteeTypeA
-GetTrusteeTypeW
-GetUserNameA
-GetUserNameW
-GetWindowsAccountDomainSid
-I_QueryTagInformation
-I_ScIsSecurityProcess
-I_ScPnPGetServiceName
-I_ScSendTSMessage
-I_ScSetServiceBitsA
-I_ScSetServiceBitsW
-IdentifyCodeAuthzLevelW
-ImpersonateAnonymousToken
-ImpersonateLoggedOnUser
-ImpersonateNamedPipeClient
-ImpersonateSelf
-InitializeAcl
-InitializeSecurityDescriptor
-InitializeSid
-InitiateSystemShutdownA
-InitiateSystemShutdownExA
-InitiateSystemShutdownExW
-InitiateSystemShutdownW
-InstallApplication
-IsTextUnicode
-IsTokenRestricted
-IsTokenUntrusted
-IsValidAcl
-IsValidSecurityDescriptor
-IsValidSid
-IsWellKnownSid
-LockServiceDatabase
-LogonUserA
-LogonUserExA
-LogonUserExW
-LogonUserW
-LookupAccountNameA
-LookupAccountNameW
-LookupAccountSidA
-LookupAccountSidW
-LookupPrivilegeDisplayNameA
-LookupPrivilegeDisplayNameW
-LookupPrivilegeNameA
-LookupPrivilegeNameW
-LookupPrivilegeValueA
-LookupPrivilegeValueW
-LookupSecurityDescriptorPartsA
-LookupSecurityDescriptorPartsW
-LsaAddAccountRights
-LsaAddPrivilegesToAccount
-LsaClearAuditLog
-LsaClose
-LsaCreateAccount
-LsaCreateSecret
-LsaCreateTrustedDomain
-LsaCreateTrustedDomainEx
-LsaDelete
-LsaDeleteTrustedDomain
-LsaEnumerateAccountRights
-LsaEnumerateAccounts
-LsaEnumerateAccountsWithUserRight
-LsaEnumeratePrivileges
-LsaEnumeratePrivilegesOfAccount
-LsaEnumerateTrustedDomains
-LsaEnumerateTrustedDomainsEx
-LsaFreeMemory
-LsaGetQuotasForAccount
-LsaGetRemoteUserName
-LsaGetSystemAccessAccount
-LsaGetUserName
-LsaICLookupNames
-LsaICLookupNamesWithCreds
-LsaICLookupSids
-LsaICLookupSidsWithCreds
-LsaLookupNames
-LsaLookupNames2
-LsaLookupPrivilegeDisplayName
-LsaLookupPrivilegeName
-LsaLookupPrivilegeValue
-LsaLookupSids
-LsaNtStatusToWinError
-LsaOpenAccount
-LsaOpenPolicy
-LsaOpenPolicySce
-LsaOpenSecret
-LsaOpenTrustedDomain
-LsaOpenTrustedDomainByName
-LsaQueryDomainInformationPolicy
-LsaQueryForestTrustInformation
-LsaQueryInfoTrustedDomain
-LsaQueryInformationPolicy
-LsaQuerySecret
-LsaQuerySecurityObject
-LsaQueryTrustedDomainInfo
-LsaQueryTrustedDomainInfoByName
-LsaRemoveAccountRights
-LsaRemovePrivilegesFromAccount
-LsaRetrievePrivateData
-LsaSetDomainInformationPolicy
-LsaSetForestTrustInformation
-LsaSetInformationPolicy
-LsaSetInformationTrustedDomain
-LsaSetQuotasForAccount
-LsaSetSecret
-LsaSetSecurityObject
-LsaSetSystemAccessAccount
-LsaSetTrustedDomainInfoByName
-LsaSetTrustedDomainInformation
-LsaStorePrivateData
-MD4Final
-MD4Init
-MD4Update
-MD5Final
-MD5Init
-MD5Update
-MSChapSrvChangePassword
-MSChapSrvChangePassword2
-MakeAbsoluteSD
-MakeAbsoluteSD2
-MakeSelfRelativeSD
-MapGenericMask
-NotifyBootConfigStatus
-NotifyChangeEventLog
-ObjectCloseAuditAlarmA
-ObjectCloseAuditAlarmW
-ObjectDeleteAuditAlarmA
-ObjectDeleteAuditAlarmW
-ObjectOpenAuditAlarmA
-ObjectOpenAuditAlarmW
-ObjectPrivilegeAuditAlarmA
-ObjectPrivilegeAuditAlarmW
-OpenBackupEventLogA
-OpenBackupEventLogW
-OpenEncryptedFileRawA
-OpenEncryptedFileRawW
-OpenEventLogA
-OpenEventLogW
-OpenProcessToken
-OpenSCManagerA
-OpenSCManagerW
-OpenServiceA
-OpenServiceW
-OpenThreadToken
-OpenTraceA
-OpenTraceW
-PrivilegeCheck
-PrivilegedServiceAuditAlarmA
-PrivilegedServiceAuditAlarmW
-ProcessIdleTasks
-ProcessTrace
-QueryAllTracesA
-QueryAllTracesW
-QueryRecoveryAgentsOnEncryptedFile
-QueryServiceConfig2A
-QueryServiceConfig2W
-QueryServiceConfigA
-QueryServiceConfigW
-QueryServiceLockStatusA
-QueryServiceLockStatusW
-QueryServiceObjectSecurity
-QueryServiceStatus
-QueryServiceStatusEx
-QueryTraceA
-QueryTraceW
-QueryUsersOnEncryptedFile
-ReadEncryptedFileRaw
-ReadEventLogA
-ReadEventLogW
-RegCloseKey
-RegConnectRegistryA
-RegConnectRegistryExA
-RegConnectRegistryExW
-RegConnectRegistryW
-RegCreateKeyA
-RegCreateKeyExA
-RegCreateKeyExW
-RegCreateKeyW
-RegDeleteKeyA
-RegDeleteKeyExA
-RegDeleteKeyExW
-RegDeleteKeyW
-RegDeleteValueA
-RegDeleteValueW
-RegDisablePredefinedCache
-RegDisableReflectionKey
-RegEnableReflectionKey
-RegEnumKeyA
-RegEnumKeyExA
-RegEnumKeyExW
-RegEnumKeyW
-RegEnumValueA
-RegEnumValueW
-RegFlushKey
-RegGetKeySecurity
-RegGetValueA
-RegGetValueW
-RegLoadKeyA
-RegLoadKeyW
-RegNotifyChangeKeyValue
-RegOpenCurrentUser
-RegOpenKeyA
-RegOpenKeyExA
-RegOpenKeyExW
-RegOpenKeyW
-RegOpenUserClassesRoot
-RegOverridePredefKey
-RegQueryInfoKeyA
-RegQueryInfoKeyW
-RegQueryMultipleValuesA
-RegQueryMultipleValuesW
-RegQueryReflectionKey
-RegQueryValueA
-RegQueryValueExA
-RegQueryValueExW
-RegQueryValueW
-RegReplaceKeyA
-RegReplaceKeyW
-RegRestoreKeyA
-RegRestoreKeyW
-RegSaveKeyA
-RegSaveKeyExA
-RegSaveKeyExW
-RegSaveKeyW
-RegSetKeySecurity
-RegSetValueA
-RegSetValueExA
-RegSetValueExW
-RegSetValueW
-RegUnLoadKeyA
-RegUnLoadKeyW
-RegisterEventSourceA
-RegisterEventSourceW
-RegisterIdleTask
-RegisterServiceCtrlHandlerA
-RegisterServiceCtrlHandlerExA
-RegisterServiceCtrlHandlerExW
-RegisterServiceCtrlHandlerW
-RegisterTraceGuidsA
-RegisterTraceGuidsW
-RemoveTraceCallback
-RemoveUsersFromEncryptedFile
-ReportEventA
-ReportEventW
-RevertToSelf
-SaferCloseLevel
-SaferComputeTokenFromLevel
-SaferCreateLevel
-SaferGetLevelInformation
-SaferGetPolicyInformation
-SaferIdentifyLevel
-SaferRecordEventLogEntry
-SaferSetLevelInformation
-SaferSetPolicyInformation
-SaferiChangeRegistryScope
-SaferiCompareTokenLevels
-SaferiIsExecutableFileType
-SaferiPopulateDefaultsInRegistry
-SaferiRecordEventLogEntry
-SaferiReplaceProcessThreadTokens
-SaferiSearchMatchingHashRules
-SetAclInformation
-SetEntriesInAccessListA
-SetEntriesInAccessListW
-SetEntriesInAclA
-SetEntriesInAclW
-SetEntriesInAuditListA
-SetEntriesInAuditListW
-SetFileSecurityA
-SetFileSecurityW
-SetInformationCodeAuthzLevelW
-SetInformationCodeAuthzPolicyW
-SetKernelObjectSecurity
-SetNamedSecurityInfoA
-SetNamedSecurityInfoExA
-SetNamedSecurityInfoExW
-SetNamedSecurityInfoW
-SetPrivateObjectSecurity
-SetPrivateObjectSecurityEx
-SetSecurityDescriptorControl
-SetSecurityDescriptorDacl
-SetSecurityDescriptorGroup
-SetSecurityDescriptorOwner
-SetSecurityDescriptorRMControl
-SetSecurityDescriptorSacl
-SetSecurityInfo
-SetSecurityInfoExA
-SetSecurityInfoExW
-SetServiceBits
-SetServiceObjectSecurity
-SetServiceStatus
-SetThreadToken
-SetTokenInformation
-SetTraceCallback
-SetUserFileEncryptionKey
-StartServiceA
-StartServiceCtrlDispatcherA
-StartServiceCtrlDispatcherW
-StartServiceW
-StartTraceA
-StartTraceW
-StopTraceA
-StopTraceW
-SystemFunction001
-SystemFunction002
-SystemFunction003
-SystemFunction004
-SystemFunction005
-SystemFunction006
-SystemFunction007
-SystemFunction008
-SystemFunction009
-SystemFunction010
-SystemFunction011
-SystemFunction012
-SystemFunction013
-SystemFunction014
-SystemFunction015
-SystemFunction016
-SystemFunction017
-SystemFunction018
-SystemFunction019
-SystemFunction020
-SystemFunction021
-SystemFunction022
-SystemFunction023
-SystemFunction024
-SystemFunction025
-SystemFunction026
-SystemFunction027
-SystemFunction028
-SystemFunction029
-SystemFunction030
-SystemFunction031
-SystemFunction032
-SystemFunction033
-SystemFunction034
-SystemFunction035
-SystemFunction036
-SystemFunction040
-SystemFunction041
-TraceEvent
-TraceEventInstance
-TraceMessage
-TraceMessageVa
-TreeResetNamedSecurityInfoA
-TreeResetNamedSecurityInfoW
-TrusteeAccessToObjectA
-TrusteeAccessToObjectW
-UninstallApplication
-UnlockServiceDatabase
-UnregisterIdleTask
-UnregisterTraceGuids
-UpdateTraceA
-UpdateTraceW
-WdmWmiServiceMain
-WmiCloseBlock
-WmiCloseTraceWithCursor
-WmiConvertTimestamp
-WmiDevInstToInstanceNameA
-WmiDevInstToInstanceNameW
-WmiEnumerateGuids
-WmiExecuteMethodA
-WmiExecuteMethodW
-WmiFileHandleToInstanceNameA
-WmiFileHandleToInstanceNameW
-WmiFreeBuffer
-WmiGetFirstTraceOffset
-WmiGetNextEvent
-WmiGetTraceHeader
-WmiMofEnumerateResourcesA
-WmiMofEnumerateResourcesW
-WmiNotificationRegistrationA
-WmiNotificationRegistrationW
-WmiOpenBlock
-WmiOpenTraceWithCursor
-WmiParseTraceEvent
-WmiQueryAllDataA
-WmiQueryAllDataMultipleA
-WmiQueryAllDataMultipleW
-WmiQueryAllDataW
-WmiQueryGuidInformation
-WmiQuerySingleInstanceA
-WmiQuerySingleInstanceMultipleA
-WmiQuerySingleInstanceMultipleW
-WmiQuerySingleInstanceW
-WmiReceiveNotificationsA
-WmiReceiveNotificationsW
-WmiSetSingleInstanceA
-WmiSetSingleInstanceW
-WmiSetSingleItemA
-WmiSetSingleItemW
-Wow64Win32ApiEntry
-WriteEncryptedFileRaw
+; 
+; Exports of file ADVAPI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADVAPI32.dll
+EXPORTS
+I_ScGetCurrentGroupStateW
+A_SHAFinal
+A_SHAInit
+A_SHAUpdate
+AbortSystemShutdownA
+AbortSystemShutdownW
+AccessCheck
+AccessCheckAndAuditAlarmA
+AccessCheckAndAuditAlarmW
+AccessCheckByType
+AccessCheckByTypeAndAuditAlarmA
+AccessCheckByTypeAndAuditAlarmW
+AccessCheckByTypeResultList
+AccessCheckByTypeResultListAndAuditAlarmA
+AccessCheckByTypeResultListAndAuditAlarmByHandleA
+AccessCheckByTypeResultListAndAuditAlarmByHandleW
+AccessCheckByTypeResultListAndAuditAlarmW
+AddAccessAllowedAce
+AddAccessAllowedAceEx
+AddAccessAllowedObjectAce
+AddAccessDeniedAce
+AddAccessDeniedAceEx
+AddAccessDeniedObjectAce
+AddAce
+AddAuditAccessAce
+AddAuditAccessAceEx
+AddAuditAccessObjectAce
+AddUsersToEncryptedFile
+AdjustTokenGroups
+AdjustTokenPrivileges
+AllocateAndInitializeSid
+AllocateLocallyUniqueId
+AreAllAccessesGranted
+AreAnyAccessesGranted
+BackupEventLogA
+BackupEventLogW
+BuildExplicitAccessWithNameA
+BuildExplicitAccessWithNameW
+BuildImpersonateExplicitAccessWithNameA
+BuildImpersonateExplicitAccessWithNameW
+BuildImpersonateTrusteeA
+BuildImpersonateTrusteeW
+BuildSecurityDescriptorA
+BuildSecurityDescriptorW
+BuildTrusteeWithNameA
+BuildTrusteeWithNameW
+BuildTrusteeWithObjectsAndNameA
+BuildTrusteeWithObjectsAndNameW
+BuildTrusteeWithObjectsAndSidA
+BuildTrusteeWithObjectsAndSidW
+BuildTrusteeWithSidA
+BuildTrusteeWithSidW
+CancelOverlappedAccess
+ChangeServiceConfig2A
+ChangeServiceConfig2W
+ChangeServiceConfigA
+ChangeServiceConfigW
+CheckTokenMembership
+ClearEventLogA
+ClearEventLogW
+CloseCodeAuthzLevel
+CloseEncryptedFileRaw
+CloseEventLog
+CloseServiceHandle
+CloseTrace
+CommandLineFromMsiDescriptor
+ComputeAccessTokenFromCodeAuthzLevel
+ControlService
+ControlTraceA
+ControlTraceW
+ConvertAccessToSecurityDescriptorA
+ConvertAccessToSecurityDescriptorW
+ConvertSDToStringSDRootDomainA
+ConvertSDToStringSDRootDomainW
+ConvertSecurityDescriptorToAccessA
+ConvertSecurityDescriptorToAccessNamedA
+ConvertSecurityDescriptorToAccessNamedW
+ConvertSecurityDescriptorToAccessW
+ConvertSecurityDescriptorToStringSecurityDescriptorA
+ConvertSecurityDescriptorToStringSecurityDescriptorW
+ConvertSidToStringSidA
+ConvertSidToStringSidW
+ConvertStringSDToSDDomainA
+ConvertStringSDToSDDomainW
+ConvertStringSDToSDRootDomainA
+ConvertStringSDToSDRootDomainW
+ConvertStringSecurityDescriptorToSecurityDescriptorA
+ConvertStringSecurityDescriptorToSecurityDescriptorW
+ConvertStringSidToSidA
+ConvertStringSidToSidW
+ConvertToAutoInheritPrivateObjectSecurity
+CopySid
+CreateCodeAuthzLevel
+CreatePrivateObjectSecurity
+CreatePrivateObjectSecurityEx
+CreatePrivateObjectSecurityWithMultipleInheritance
+CreateProcessAsUserA
+CreateProcessAsUserW
+CreateProcessWithLogonW
+CreateProcessWithTokenW
+CreateRestrictedToken
+CreateServiceA
+CreateServiceW
+CreateTraceInstanceId
+CreateWellKnownSid
+CredDeleteA
+CredDeleteW
+CredEnumerateA
+CredEnumerateW
+CredFree
+CredGetSessionTypes
+CredGetTargetInfoA
+CredGetTargetInfoW
+CredIsMarshaledCredentialA
+CredIsMarshaledCredentialW
+CredMarshalCredentialA
+CredMarshalCredentialW
+CredProfileLoaded
+CredReadA
+CredReadDomainCredentialsA
+CredReadDomainCredentialsW
+CredReadW
+CredRenameA
+CredRenameW
+CredUnmarshalCredentialA
+CredUnmarshalCredentialW
+CredWriteA
+CredWriteDomainCredentialsA
+CredWriteDomainCredentialsW
+CredWriteW
+CredpConvertCredential
+CredpConvertTargetInfo
+CredpDecodeCredential
+CredpEncodeCredential
+CryptAcquireContextA
+CryptAcquireContextW
+CryptContextAddRef
+CryptCreateHash
+CryptDecrypt
+CryptDeriveKey
+CryptDestroyHash
+CryptDestroyKey
+CryptDuplicateHash
+CryptDuplicateKey
+CryptEncrypt
+CryptEnumProviderTypesA
+CryptEnumProviderTypesW
+CryptEnumProvidersA
+CryptEnumProvidersW
+CryptExportKey
+CryptGenKey
+CryptGenRandom
+CryptGetDefaultProviderA
+CryptGetDefaultProviderW
+CryptGetHashParam
+CryptGetKeyParam
+CryptGetProvParam
+CryptGetUserKey
+CryptHashData
+CryptHashSessionKey
+CryptImportKey
+CryptReleaseContext
+CryptSetHashParam
+CryptSetKeyParam
+CryptSetProvParam
+CryptSetProviderA
+CryptSetProviderExA
+CryptSetProviderExW
+CryptSetProviderW
+CryptSignHashA
+CryptSignHashW
+CryptVerifySignatureA
+CryptVerifySignatureW
+DecryptFileA
+DecryptFileW
+DeleteAce
+DeleteService
+DeregisterEventSource
+DestroyPrivateObjectSecurity
+DuplicateEncryptionInfoFile
+DuplicateToken
+DuplicateTokenEx
+ElfBackupEventLogFileA
+ElfBackupEventLogFileW
+ElfChangeNotify
+ElfClearEventLogFileA
+ElfClearEventLogFileW
+ElfCloseEventLog
+ElfDeregisterEventSource
+ElfFlushEventLog
+ElfNumberOfRecords
+ElfOldestRecord
+ElfOpenBackupEventLogA
+ElfOpenBackupEventLogW
+ElfOpenEventLogA
+ElfOpenEventLogW
+ElfReadEventLogA
+ElfReadEventLogW
+ElfRegisterEventSourceA
+ElfRegisterEventSourceW
+ElfReportEventA
+ElfReportEventAndSourceW
+ElfReportEventW
+EnableTrace
+EncryptFileA
+EncryptFileW
+EncryptedFileKeyInfo
+EncryptionDisable
+EnumDependentServicesA
+EnumDependentServicesW
+EnumServiceGroupW
+EnumServicesStatusA
+EnumServicesStatusExA
+EnumServicesStatusExW
+EnumServicesStatusW
+EnumerateTraceGuids
+EqualDomainSid
+EqualPrefixSid
+EqualSid
+FileEncryptionStatusA
+FileEncryptionStatusW
+FindFirstFreeAce
+FlushTraceA
+FlushTraceW
+FreeEncryptedFileKeyInfo
+FreeEncryptionCertificateHashList
+FreeInheritedFromArray
+FreeSid
+GetAccessPermissionsForObjectA
+GetAccessPermissionsForObjectW
+GetAce
+GetAclInformation
+GetAuditedPermissionsFromAclA
+GetAuditedPermissionsFromAclW
+GetCurrentHwProfileA
+GetCurrentHwProfileW
+GetEffectiveRightsFromAclA
+GetEffectiveRightsFromAclW
+GetEventLogInformation
+GetExplicitEntriesFromAclA
+GetExplicitEntriesFromAclW
+GetFileSecurityA
+GetFileSecurityW
+GetInformationCodeAuthzLevelW
+GetInformationCodeAuthzPolicyW
+GetInheritanceSourceA
+GetInheritanceSourceW
+GetKernelObjectSecurity
+GetLengthSid
+GetLocalManagedApplicationData
+GetLocalManagedApplications
+GetManagedApplicationCategories
+GetManagedApplications
+GetMultipleTrusteeA
+GetMultipleTrusteeOperationA
+GetMultipleTrusteeOperationW
+GetMultipleTrusteeW
+GetNamedSecurityInfoA
+GetNamedSecurityInfoExA
+GetNamedSecurityInfoExW
+GetNamedSecurityInfoW
+GetNumberOfEventLogRecords
+GetOldestEventLogRecord
+GetOverlappedAccessResults
+GetPrivateObjectSecurity
+GetSecurityDescriptorControl
+GetSecurityDescriptorDacl
+GetSecurityDescriptorGroup
+GetSecurityDescriptorLength
+GetSecurityDescriptorOwner
+GetSecurityDescriptorRMControl
+GetSecurityDescriptorSacl
+GetSecurityInfo
+GetSecurityInfoExA
+GetSecurityInfoExW
+GetServiceDisplayNameA
+GetServiceDisplayNameW
+GetServiceKeyNameA
+GetServiceKeyNameW
+GetSidIdentifierAuthority
+GetSidLengthRequired
+GetSidSubAuthority
+GetSidSubAuthorityCount
+GetTokenInformation
+GetTraceEnableFlags
+GetTraceEnableLevel
+GetTraceLoggerHandle
+GetTrusteeFormA
+GetTrusteeFormW
+GetTrusteeNameA
+GetTrusteeNameW
+GetTrusteeTypeA
+GetTrusteeTypeW
+GetUserNameA
+GetUserNameW
+GetWindowsAccountDomainSid
+I_QueryTagInformation
+I_ScIsSecurityProcess
+I_ScPnPGetServiceName
+I_ScSendTSMessage
+I_ScSetServiceBitsA
+I_ScSetServiceBitsW
+IdentifyCodeAuthzLevelW
+ImpersonateAnonymousToken
+ImpersonateLoggedOnUser
+ImpersonateNamedPipeClient
+ImpersonateSelf
+InitializeAcl
+InitializeSecurityDescriptor
+InitializeSid
+InitiateSystemShutdownA
+InitiateSystemShutdownExA
+InitiateSystemShutdownExW
+InitiateSystemShutdownW
+InstallApplication
+IsTextUnicode
+IsTokenRestricted
+IsTokenUntrusted
+IsValidAcl
+IsValidSecurityDescriptor
+IsValidSid
+IsWellKnownSid
+LockServiceDatabase
+LogonUserA
+LogonUserExA
+LogonUserExW
+LogonUserW
+LookupAccountNameA
+LookupAccountNameW
+LookupAccountSidA
+LookupAccountSidW
+LookupPrivilegeDisplayNameA
+LookupPrivilegeDisplayNameW
+LookupPrivilegeNameA
+LookupPrivilegeNameW
+LookupPrivilegeValueA
+LookupPrivilegeValueW
+LookupSecurityDescriptorPartsA
+LookupSecurityDescriptorPartsW
+LsaAddAccountRights
+LsaAddPrivilegesToAccount
+LsaClearAuditLog
+LsaClose
+LsaCreateAccount
+LsaCreateSecret
+LsaCreateTrustedDomain
+LsaCreateTrustedDomainEx
+LsaDelete
+LsaDeleteTrustedDomain
+LsaEnumerateAccountRights
+LsaEnumerateAccounts
+LsaEnumerateAccountsWithUserRight
+LsaEnumeratePrivileges
+LsaEnumeratePrivilegesOfAccount
+LsaEnumerateTrustedDomains
+LsaEnumerateTrustedDomainsEx
+LsaFreeMemory
+LsaGetQuotasForAccount
+LsaGetRemoteUserName
+LsaGetSystemAccessAccount
+LsaGetUserName
+LsaICLookupNames
+LsaICLookupNamesWithCreds
+LsaICLookupSids
+LsaICLookupSidsWithCreds
+LsaLookupNames
+LsaLookupNames2
+LsaLookupPrivilegeDisplayName
+LsaLookupPrivilegeName
+LsaLookupPrivilegeValue
+LsaLookupSids
+LsaNtStatusToWinError
+LsaOpenAccount
+LsaOpenPolicy
+LsaOpenPolicySce
+LsaOpenSecret
+LsaOpenTrustedDomain
+LsaOpenTrustedDomainByName
+LsaQueryDomainInformationPolicy
+LsaQueryForestTrustInformation
+LsaQueryInfoTrustedDomain
+LsaQueryInformationPolicy
+LsaQuerySecret
+LsaQuerySecurityObject
+LsaQueryTrustedDomainInfo
+LsaQueryTrustedDomainInfoByName
+LsaRemoveAccountRights
+LsaRemovePrivilegesFromAccount
+LsaRetrievePrivateData
+LsaSetDomainInformationPolicy
+LsaSetForestTrustInformation
+LsaSetInformationPolicy
+LsaSetInformationTrustedDomain
+LsaSetQuotasForAccount
+LsaSetSecret
+LsaSetSecurityObject
+LsaSetSystemAccessAccount
+LsaSetTrustedDomainInfoByName
+LsaSetTrustedDomainInformation
+LsaStorePrivateData
+MD4Final
+MD4Init
+MD4Update
+MD5Final
+MD5Init
+MD5Update
+MSChapSrvChangePassword
+MSChapSrvChangePassword2
+MakeAbsoluteSD
+MakeAbsoluteSD2
+MakeSelfRelativeSD
+MapGenericMask
+NotifyBootConfigStatus
+NotifyChangeEventLog
+ObjectCloseAuditAlarmA
+ObjectCloseAuditAlarmW
+ObjectDeleteAuditAlarmA
+ObjectDeleteAuditAlarmW
+ObjectOpenAuditAlarmA
+ObjectOpenAuditAlarmW
+ObjectPrivilegeAuditAlarmA
+ObjectPrivilegeAuditAlarmW
+OpenBackupEventLogA
+OpenBackupEventLogW
+OpenEncryptedFileRawA
+OpenEncryptedFileRawW
+OpenEventLogA
+OpenEventLogW
+OpenProcessToken
+OpenSCManagerA
+OpenSCManagerW
+OpenServiceA
+OpenServiceW
+OpenThreadToken
+OpenTraceA
+OpenTraceW
+PrivilegeCheck
+PrivilegedServiceAuditAlarmA
+PrivilegedServiceAuditAlarmW
+ProcessIdleTasks
+ProcessTrace
+QueryAllTracesA
+QueryAllTracesW
+QueryRecoveryAgentsOnEncryptedFile
+QueryServiceConfig2A
+QueryServiceConfig2W
+QueryServiceConfigA
+QueryServiceConfigW
+QueryServiceLockStatusA
+QueryServiceLockStatusW
+QueryServiceObjectSecurity
+QueryServiceStatus
+QueryServiceStatusEx
+QueryTraceA
+QueryTraceW
+QueryUsersOnEncryptedFile
+ReadEncryptedFileRaw
+ReadEventLogA
+ReadEventLogW
+RegCloseKey
+RegConnectRegistryA
+RegConnectRegistryExA
+RegConnectRegistryExW
+RegConnectRegistryW
+RegCreateKeyA
+RegCreateKeyExA
+RegCreateKeyExW
+RegCreateKeyW
+RegDeleteKeyA
+RegDeleteKeyExA
+RegDeleteKeyExW
+RegDeleteKeyW
+RegDeleteValueA
+RegDeleteValueW
+RegDisablePredefinedCache
+RegDisableReflectionKey
+RegEnableReflectionKey
+RegEnumKeyA
+RegEnumKeyExA
+RegEnumKeyExW
+RegEnumKeyW
+RegEnumValueA
+RegEnumValueW
+RegFlushKey
+RegGetKeySecurity
+RegGetValueA
+RegGetValueW
+RegLoadKeyA
+RegLoadKeyW
+RegNotifyChangeKeyValue
+RegOpenCurrentUser
+RegOpenKeyA
+RegOpenKeyExA
+RegOpenKeyExW
+RegOpenKeyW
+RegOpenUserClassesRoot
+RegOverridePredefKey
+RegQueryInfoKeyA
+RegQueryInfoKeyW
+RegQueryMultipleValuesA
+RegQueryMultipleValuesW
+RegQueryReflectionKey
+RegQueryValueA
+RegQueryValueExA
+RegQueryValueExW
+RegQueryValueW
+RegReplaceKeyA
+RegReplaceKeyW
+RegRestoreKeyA
+RegRestoreKeyW
+RegSaveKeyA
+RegSaveKeyExA
+RegSaveKeyExW
+RegSaveKeyW
+RegSetKeySecurity
+RegSetValueA
+RegSetValueExA
+RegSetValueExW
+RegSetValueW
+RegUnLoadKeyA
+RegUnLoadKeyW
+RegisterEventSourceA
+RegisterEventSourceW
+RegisterIdleTask
+RegisterServiceCtrlHandlerA
+RegisterServiceCtrlHandlerExA
+RegisterServiceCtrlHandlerExW
+RegisterServiceCtrlHandlerW
+RegisterTraceGuidsA
+RegisterTraceGuidsW
+RemoveTraceCallback
+RemoveUsersFromEncryptedFile
+ReportEventA
+ReportEventW
+RevertToSelf
+SaferCloseLevel
+SaferComputeTokenFromLevel
+SaferCreateLevel
+SaferGetLevelInformation
+SaferGetPolicyInformation
+SaferIdentifyLevel
+SaferRecordEventLogEntry
+SaferSetLevelInformation
+SaferSetPolicyInformation
+SaferiChangeRegistryScope
+SaferiCompareTokenLevels
+SaferiIsExecutableFileType
+SaferiPopulateDefaultsInRegistry
+SaferiRecordEventLogEntry
+SaferiReplaceProcessThreadTokens
+SaferiSearchMatchingHashRules
+SetAclInformation
+SetEntriesInAccessListA
+SetEntriesInAccessListW
+SetEntriesInAclA
+SetEntriesInAclW
+SetEntriesInAuditListA
+SetEntriesInAuditListW
+SetFileSecurityA
+SetFileSecurityW
+SetInformationCodeAuthzLevelW
+SetInformationCodeAuthzPolicyW
+SetKernelObjectSecurity
+SetNamedSecurityInfoA
+SetNamedSecurityInfoExA
+SetNamedSecurityInfoExW
+SetNamedSecurityInfoW
+SetPrivateObjectSecurity
+SetPrivateObjectSecurityEx
+SetSecurityDescriptorControl
+SetSecurityDescriptorDacl
+SetSecurityDescriptorGroup
+SetSecurityDescriptorOwner
+SetSecurityDescriptorRMControl
+SetSecurityDescriptorSacl
+SetSecurityInfo
+SetSecurityInfoExA
+SetSecurityInfoExW
+SetServiceBits
+SetServiceObjectSecurity
+SetServiceStatus
+SetThreadToken
+SetTokenInformation
+SetTraceCallback
+SetUserFileEncryptionKey
+StartServiceA
+StartServiceCtrlDispatcherA
+StartServiceCtrlDispatcherW
+StartServiceW
+StartTraceA
+StartTraceW
+StopTraceA
+StopTraceW
+SystemFunction001
+SystemFunction002
+SystemFunction003
+SystemFunction004
+SystemFunction005
+SystemFunction006
+SystemFunction007
+SystemFunction008
+SystemFunction009
+SystemFunction010
+SystemFunction011
+SystemFunction012
+SystemFunction013
+SystemFunction014
+SystemFunction015
+SystemFunction016
+SystemFunction017
+SystemFunction018
+SystemFunction019
+SystemFunction020
+SystemFunction021
+SystemFunction022
+SystemFunction023
+SystemFunction024
+SystemFunction025
+SystemFunction026
+SystemFunction027
+SystemFunction028
+SystemFunction029
+SystemFunction030
+SystemFunction031
+SystemFunction032
+SystemFunction033
+SystemFunction034
+SystemFunction035
+SystemFunction036
+SystemFunction040
+SystemFunction041
+TraceEvent
+TraceEventInstance
+TraceMessage
+TraceMessageVa
+TreeResetNamedSecurityInfoA
+TreeResetNamedSecurityInfoW
+TrusteeAccessToObjectA
+TrusteeAccessToObjectW
+UninstallApplication
+UnlockServiceDatabase
+UnregisterIdleTask
+UnregisterTraceGuids
+UpdateTraceA
+UpdateTraceW
+WdmWmiServiceMain
+WmiCloseBlock
+WmiCloseTraceWithCursor
+WmiConvertTimestamp
+WmiDevInstToInstanceNameA
+WmiDevInstToInstanceNameW
+WmiEnumerateGuids
+WmiExecuteMethodA
+WmiExecuteMethodW
+WmiFileHandleToInstanceNameA
+WmiFileHandleToInstanceNameW
+WmiFreeBuffer
+WmiGetFirstTraceOffset
+WmiGetNextEvent
+WmiGetTraceHeader
+WmiMofEnumerateResourcesA
+WmiMofEnumerateResourcesW
+WmiNotificationRegistrationA
+WmiNotificationRegistrationW
+WmiOpenBlock
+WmiOpenTraceWithCursor
+WmiParseTraceEvent
+WmiQueryAllDataA
+WmiQueryAllDataMultipleA
+WmiQueryAllDataMultipleW
+WmiQueryAllDataW
+WmiQueryGuidInformation
+WmiQuerySingleInstanceA
+WmiQuerySingleInstanceMultipleA
+WmiQuerySingleInstanceMultipleW
+WmiQuerySingleInstanceW
+WmiReceiveNotificationsA
+WmiReceiveNotificationsW
+WmiSetSingleInstanceA
+WmiSetSingleInstanceW
+WmiSetSingleItemA
+WmiSetSingleItemW
+Wow64Win32ApiEntry
+WriteEncryptedFileRaw
diff --git a/mingw-w64-crt/lib64/advpack.def b/mingw-w64-crt/lib64/advpack.def
index 3414309..6e9bf14 100644
--- a/mingw-w64-crt/lib64/advpack.def
+++ b/mingw-w64-crt/lib64/advpack.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file ADVPACK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADVPACK.dll
-EXPORTS
-AddDelBackupEntry
-AdvInstallFile
-CloseINFEngine
-DelNode
-DelNodeRunDLL32
-DllMain
-DoInfInstall
-ExecuteCab
-ExtractFiles
-FileSaveMarkNotExist
-FileSaveRestore
-FileSaveRestoreOnINF
-GetVersionFromFile
-GetVersionFromFileEx
-IsNTAdmin
-LaunchINFSection
-LaunchINFSectionEx
-NeedReboot
-NeedRebootInit
-OpenINFEngine
-RebootCheckOnInstall
-RegInstall
-RegRestoreAll
-RegSaveRestore
-RegSaveRestoreOnINF
-RegisterOCX
-RunSetupCommand
-SetPerUserSecValues
-TranslateInfString
-TranslateInfStringEx
-UserInstStubWrapper
-UserUnInstStubWrapper
+; 
+; Exports of file ADVPACK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADVPACK.dll
+EXPORTS
+AddDelBackupEntry
+AdvInstallFile
+CloseINFEngine
+DelNode
+DelNodeRunDLL32
+DllMain
+DoInfInstall
+ExecuteCab
+ExtractFiles
+FileSaveMarkNotExist
+FileSaveRestore
+FileSaveRestoreOnINF
+GetVersionFromFile
+GetVersionFromFileEx
+IsNTAdmin
+LaunchINFSection
+LaunchINFSectionEx
+NeedReboot
+NeedRebootInit
+OpenINFEngine
+RebootCheckOnInstall
+RegInstall
+RegRestoreAll
+RegSaveRestore
+RegSaveRestoreOnINF
+RegisterOCX
+RunSetupCommand
+SetPerUserSecValues
+TranslateInfString
+TranslateInfStringEx
+UserInstStubWrapper
+UserUnInstStubWrapper
diff --git a/mingw-w64-crt/lib64/aelupsvc.def b/mingw-w64-crt/lib64/aelupsvc.def
index 7edbdd6..539eae5 100644
--- a/mingw-w64-crt/lib64/aelupsvc.def
+++ b/mingw-w64-crt/lib64/aelupsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file AELUPSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AELUPSVC.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file AELUPSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AELUPSVC.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/agentanm.def b/mingw-w64-crt/lib64/agentanm.def
index 9805666..13512f9 100644
--- a/mingw-w64-crt/lib64/agentanm.def
+++ b/mingw-w64-crt/lib64/agentanm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentAnm.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentAnm.DLL
-EXPORTS
-CreateAgentAnimA
-CreateAgentAnimW
-CreateAgentRenderA
-CreateAgentRenderW
+; 
+; Exports of file AgentAnm.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentAnm.DLL
+EXPORTS
+CreateAgentAnimA
+CreateAgentAnimW
+CreateAgentRenderA
+CreateAgentRenderW
diff --git a/mingw-w64-crt/lib64/agentctl.def b/mingw-w64-crt/lib64/agentctl.def
index cb66c70..5268b0e 100644
--- a/mingw-w64-crt/lib64/agentctl.def
+++ b/mingw-w64-crt/lib64/agentctl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentCtl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentCtl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentCtl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentCtl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/agentdp2.def b/mingw-w64-crt/lib64/agentdp2.def
index 98aacdf..e871f01 100644
--- a/mingw-w64-crt/lib64/agentdp2.def
+++ b/mingw-w64-crt/lib64/agentdp2.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentDP2.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentDP2.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentDP2.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentDP2.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/agentdpv.def b/mingw-w64-crt/lib64/agentdpv.def
index cec0839..9ed5b08 100644
--- a/mingw-w64-crt/lib64/agentdpv.def
+++ b/mingw-w64-crt/lib64/agentdpv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentDPv.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentDPv.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentDPv.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentDPv.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/agentmpx.def b/mingw-w64-crt/lib64/agentmpx.def
index bbaeee1..d628249 100644
--- a/mingw-w64-crt/lib64/agentmpx.def
+++ b/mingw-w64-crt/lib64/agentmpx.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentMPx.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentMPx.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentMPx.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentMPx.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/agentpsh.def b/mingw-w64-crt/lib64/agentpsh.def
index e811f37..e94b12a 100644
--- a/mingw-w64-crt/lib64/agentpsh.def
+++ b/mingw-w64-crt/lib64/agentpsh.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentPsh.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentPsh.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentPsh.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentPsh.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/agentsr.def b/mingw-w64-crt/lib64/agentsr.def
index c0f2b77..a15533d 100644
--- a/mingw-w64-crt/lib64/agentsr.def
+++ b/mingw-w64-crt/lib64/agentsr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentSR.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentSR.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentSR.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentSR.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/agrmco64.def b/mingw-w64-crt/lib64/agrmco64.def
index 33a68a2..f699a92 100644
--- a/mingw-w64-crt/lib64/agrmco64.def
+++ b/mingw-w64-crt/lib64/agrmco64.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file AGRMCO64.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AGRMCO64.dll
-EXPORTS
-AgereWinModemCoInstaller
+; 
+; Exports of file AGRMCO64.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AGRMCO64.dll
+EXPORTS
+AgereWinModemCoInstaller
diff --git a/mingw-w64-crt/lib64/agtintl.def b/mingw-w64-crt/lib64/agtintl.def
index 847e1dd..e03c9c5 100644
--- a/mingw-w64-crt/lib64/agtintl.def
+++ b/mingw-w64-crt/lib64/agtintl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgtIntl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgtIntl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgtIntl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgtIntl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/akscoinst.def b/mingw-w64-crt/lib64/akscoinst.def
index 28283fe..2afeaa8 100644
--- a/mingw-w64-crt/lib64/akscoinst.def
+++ b/mingw-w64-crt/lib64/akscoinst.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file AKSCLASS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AKSCLASS.dll
-EXPORTS
-AksHaspCoInstallEntryPoint
+; 
+; Exports of file AKSCLASS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AKSCLASS.dll
+EXPORTS
+AksHaspCoInstallEntryPoint
diff --git a/mingw-w64-crt/lib64/alrsvc.def b/mingw-w64-crt/lib64/alrsvc.def
index 0910c33..f12f922 100644
--- a/mingw-w64-crt/lib64/alrsvc.def
+++ b/mingw-w64-crt/lib64/alrsvc.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file alrsvc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY alrsvc.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file alrsvc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY alrsvc.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/amstream.def b/mingw-w64-crt/lib64/amstream.def
index fbcacca..58af561 100644
--- a/mingw-w64-crt/lib64/amstream.def
+++ b/mingw-w64-crt/lib64/amstream.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file amstream.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY amstream.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file amstream.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY amstream.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/apcups.def b/mingw-w64-crt/lib64/apcups.def
index 9b9099d..dd1f20c 100644
--- a/mingw-w64-crt/lib64/apcups.def
+++ b/mingw-w64-crt/lib64/apcups.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file apcups.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY apcups.dll
-EXPORTS
-UPSCancelWait
-UPSGetState
-UPSInit
-UPSStop
-UPSTurnOff
-UPSWaitForStateChange
+; 
+; Exports of file apcups.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY apcups.dll
+EXPORTS
+UPSCancelWait
+UPSGetState
+UPSInit
+UPSStop
+UPSTurnOff
+UPSWaitForStateChange
diff --git a/mingw-w64-crt/lib64/apphelp.def b/mingw-w64-crt/lib64/apphelp.def
index 52b9ed7..8bf71ad 100644
--- a/mingw-w64-crt/lib64/apphelp.def
+++ b/mingw-w64-crt/lib64/apphelp.def
@@ -1,166 +1,166 @@
-; 
-; Exports of file apphelp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY apphelp.dll
-EXPORTS
-AllowPermLayer
-ApphelpCheckExe
-ApphelpCheckIME
-ApphelpCheckInstallShieldPackage
-ApphelpCheckMsiPackage
-ApphelpCheckRunApp
-ApphelpCheckShellObject
-ApphelpFixMsiPackage
-ApphelpFixMsiPackageExe
-ApphelpFreeFileAttributes
-ApphelpGetFileAttributes
-ApphelpGetNTVDMInfo
-ApphelpGetShimDebugLevel
-ApphelpQueryModuleData
-ApphelpReleaseExe
-ApphelpShowDialog
-ApphelpShowUI
-ApphelpUpdateCacheEntry
-GetPermLayers
-SdbBeginWriteListTag
-SdbBuildCompatEnvVariables
-SdbCloseApphelpInformation
-SdbCloseDatabase
-SdbCloseDatabaseWrite
-SdbCloseLocalDatabase
-SdbCommitIndexes
-SdbCreateDatabase
-SdbCreateHelpCenterURL
-SdbCreateMsiTransformFile
-SdbDeclareIndex
-SdbDeletePermLayerKeys
-SdbEndWriteListTag
-SdbEnumMsiTransforms
-SdbEscapeApphelpURL
-SdbFindCustomActionForPackage
-SdbFindFirstDWORDIndexedTag
-SdbFindFirstGUIDIndexedTag
-SdbFindFirstMsiPackage
-SdbFindFirstMsiPackage_Str
-SdbFindFirstNamedTag
-SdbFindFirstStringIndexedTag
-SdbFindFirstTag
-SdbFindFirstTagRef
-SdbFindMsiPackageByID
-SdbFindNextDWORDIndexedTag
-SdbFindNextGUIDIndexedTag
-SdbFindNextMsiPackage
-SdbFindNextStringIndexedTag
-SdbFindNextTag
-SdbFindNextTagRef
-SdbFormatAttribute
-SdbFreeDatabaseInformation
-SdbFreeFileAttributes
-SdbFreeFileInfo
-SdbFreeFlagInfo
-SdbGUIDFromString
-SdbGUIDToString
-SdbGetAppCompatDataSize
-SdbGetAppPatchDir
-SdbGetBinaryTagData
-SdbGetDatabaseGUID
-SdbGetDatabaseID
-SdbGetDatabaseInformation
-SdbGetDatabaseInformationByName
-SdbGetDatabaseMatch
-SdbGetDatabaseVersion
-SdbGetDllPath
-SdbGetEntryFlags
-SdbGetFileAttributes
-SdbGetFileInfo
-SdbGetFirstChild
-SdbGetImageType
-SdbGetIndex
-SdbGetItemFromItemRef
-SdbGetLayerName
-SdbGetLayerTagRef
-SdbGetLocalPDB
-SdbGetMatchingExe
-SdbGetMsiPackageInformation
-SdbGetNamedLayer
-SdbGetNextChild
-SdbGetNthUserSdb
-SdbGetPDBFromGUID
-SdbGetPermLayerKeys
-SdbGetShowDebugInfoOption
-SdbGetShowDebugInfoOptionValue
-SdbGetStandardDatabaseGUID
-SdbGetStringTagPtr
-SdbGetTagDataSize
-SdbGetTagFromTagID
-SdbGrabMatchingInfo
-SdbGrabMatchingInfoEx
-SdbInitDatabase
-SdbInitDatabaseEx
-SdbIsNullGUID
-SdbIsTagrefFromLocalDB
-SdbIsTagrefFromMainDB
-SdbMakeIndexKeyFromString
-SdbOpenApphelpDetailsDatabase
-SdbOpenApphelpDetailsDatabaseSP
-SdbOpenApphelpInformation
-SdbOpenApphelpInformationByID
-SdbOpenDatabase
-SdbOpenLocalDatabase
-SdbPackAppCompatData
-SdbQueryApphelpInformation
-SdbQueryData
-SdbQueryDataEx
-SdbQueryDataExTagID
-SdbQueryFlagInfo
-SdbQueryFlagMask
-SdbReadApphelpData
-SdbReadApphelpDetailsData
-SdbReadBYTETag
-SdbReadBYTETagRef
-SdbReadBinaryTag
-SdbReadDWORDTag
-SdbReadDWORDTagRef
-SdbReadEntryInformation
-SdbReadMsiTransformInfo
-SdbReadPatchBits
-SdbReadQWORDTag
-SdbReadQWORDTagRef
-SdbReadStringTag
-SdbReadStringTagRef
-SdbReadWORDTag
-SdbReadWORDTagRef
-SdbRegisterDatabase
-SdbRegisterDatabaseEx
-SdbReleaseDatabase
-SdbReleaseMatchingExe
-SdbResolveDatabase
-SdbSetApphelpDebugParameters
-SdbSetEntryFlags
-SdbSetImageType
-SdbSetPermLayerKeys
-SdbShowApphelpDialog
-SdbStartIndexing
-SdbStopIndexing
-SdbTagIDToTagRef
-SdbTagRefToTagID
-SdbTagToString
-SdbUnpackAppCompatData
-SdbUnregisterDatabase
-SdbWriteBYTETag
-SdbWriteBinaryTag
-SdbWriteBinaryTagFromFile
-SdbWriteDWORDTag
-SdbWriteNULLTag
-SdbWriteQWORDTag
-SdbWriteStringRefTag
-SdbWriteStringTag
-SdbWriteStringTagDirect
-SdbWriteWORDTag
-SetPermLayers
-ShimDbgPrint
-ShimDumpCache
-ShimFlushCache
+; 
+; Exports of file apphelp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY apphelp.dll
+EXPORTS
+AllowPermLayer
+ApphelpCheckExe
+ApphelpCheckIME
+ApphelpCheckInstallShieldPackage
+ApphelpCheckMsiPackage
+ApphelpCheckRunApp
+ApphelpCheckShellObject
+ApphelpFixMsiPackage
+ApphelpFixMsiPackageExe
+ApphelpFreeFileAttributes
+ApphelpGetFileAttributes
+ApphelpGetNTVDMInfo
+ApphelpGetShimDebugLevel
+ApphelpQueryModuleData
+ApphelpReleaseExe
+ApphelpShowDialog
+ApphelpShowUI
+ApphelpUpdateCacheEntry
+GetPermLayers
+SdbBeginWriteListTag
+SdbBuildCompatEnvVariables
+SdbCloseApphelpInformation
+SdbCloseDatabase
+SdbCloseDatabaseWrite
+SdbCloseLocalDatabase
+SdbCommitIndexes
+SdbCreateDatabase
+SdbCreateHelpCenterURL
+SdbCreateMsiTransformFile
+SdbDeclareIndex
+SdbDeletePermLayerKeys
+SdbEndWriteListTag
+SdbEnumMsiTransforms
+SdbEscapeApphelpURL
+SdbFindCustomActionForPackage
+SdbFindFirstDWORDIndexedTag
+SdbFindFirstGUIDIndexedTag
+SdbFindFirstMsiPackage
+SdbFindFirstMsiPackage_Str
+SdbFindFirstNamedTag
+SdbFindFirstStringIndexedTag
+SdbFindFirstTag
+SdbFindFirstTagRef
+SdbFindMsiPackageByID
+SdbFindNextDWORDIndexedTag
+SdbFindNextGUIDIndexedTag
+SdbFindNextMsiPackage
+SdbFindNextStringIndexedTag
+SdbFindNextTag
+SdbFindNextTagRef
+SdbFormatAttribute
+SdbFreeDatabaseInformation
+SdbFreeFileAttributes
+SdbFreeFileInfo
+SdbFreeFlagInfo
+SdbGUIDFromString
+SdbGUIDToString
+SdbGetAppCompatDataSize
+SdbGetAppPatchDir
+SdbGetBinaryTagData
+SdbGetDatabaseGUID
+SdbGetDatabaseID
+SdbGetDatabaseInformation
+SdbGetDatabaseInformationByName
+SdbGetDatabaseMatch
+SdbGetDatabaseVersion
+SdbGetDllPath
+SdbGetEntryFlags
+SdbGetFileAttributes
+SdbGetFileInfo
+SdbGetFirstChild
+SdbGetImageType
+SdbGetIndex
+SdbGetItemFromItemRef
+SdbGetLayerName
+SdbGetLayerTagRef
+SdbGetLocalPDB
+SdbGetMatchingExe
+SdbGetMsiPackageInformation
+SdbGetNamedLayer
+SdbGetNextChild
+SdbGetNthUserSdb
+SdbGetPDBFromGUID
+SdbGetPermLayerKeys
+SdbGetShowDebugInfoOption
+SdbGetShowDebugInfoOptionValue
+SdbGetStandardDatabaseGUID
+SdbGetStringTagPtr
+SdbGetTagDataSize
+SdbGetTagFromTagID
+SdbGrabMatchingInfo
+SdbGrabMatchingInfoEx
+SdbInitDatabase
+SdbInitDatabaseEx
+SdbIsNullGUID
+SdbIsTagrefFromLocalDB
+SdbIsTagrefFromMainDB
+SdbMakeIndexKeyFromString
+SdbOpenApphelpDetailsDatabase
+SdbOpenApphelpDetailsDatabaseSP
+SdbOpenApphelpInformation
+SdbOpenApphelpInformationByID
+SdbOpenDatabase
+SdbOpenLocalDatabase
+SdbPackAppCompatData
+SdbQueryApphelpInformation
+SdbQueryData
+SdbQueryDataEx
+SdbQueryDataExTagID
+SdbQueryFlagInfo
+SdbQueryFlagMask
+SdbReadApphelpData
+SdbReadApphelpDetailsData
+SdbReadBYTETag
+SdbReadBYTETagRef
+SdbReadBinaryTag
+SdbReadDWORDTag
+SdbReadDWORDTagRef
+SdbReadEntryInformation
+SdbReadMsiTransformInfo
+SdbReadPatchBits
+SdbReadQWORDTag
+SdbReadQWORDTagRef
+SdbReadStringTag
+SdbReadStringTagRef
+SdbReadWORDTag
+SdbReadWORDTagRef
+SdbRegisterDatabase
+SdbRegisterDatabaseEx
+SdbReleaseDatabase
+SdbReleaseMatchingExe
+SdbResolveDatabase
+SdbSetApphelpDebugParameters
+SdbSetEntryFlags
+SdbSetImageType
+SdbSetPermLayerKeys
+SdbShowApphelpDialog
+SdbStartIndexing
+SdbStopIndexing
+SdbTagIDToTagRef
+SdbTagRefToTagID
+SdbTagToString
+SdbUnpackAppCompatData
+SdbUnregisterDatabase
+SdbWriteBYTETag
+SdbWriteBinaryTag
+SdbWriteBinaryTagFromFile
+SdbWriteDWORDTag
+SdbWriteNULLTag
+SdbWriteQWORDTag
+SdbWriteStringRefTag
+SdbWriteStringTag
+SdbWriteStringTagDirect
+SdbWriteWORDTag
+SetPermLayers
+ShimDbgPrint
+ShimDumpCache
+ShimFlushCache
diff --git a/mingw-w64-crt/lib64/appmgmts.def b/mingw-w64-crt/lib64/appmgmts.def
index dc3851c..d2f2749 100644
--- a/mingw-w64-crt/lib64/appmgmts.def
+++ b/mingw-w64-crt/lib64/appmgmts.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file APPMGMTS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY APPMGMTS.dll
-EXPORTS
-CsSetOptions
-CsCreateClassStore
-CsEnumApps
-CsGetAppCategories
-CsGetClassAccess
-CsGetClassStore
-CsGetClassStorePath
-CsRegisterAppCategory
-CsServerGetClassStore
-CsUnregisterAppCategory
-GenerateGroupPolicy
-IID_IClassAdmin
-ProcessGroupPolicyObjectsEx
-ReleaseAppCategoryInfoList
-ReleasePackageDetail
-ReleasePackageInfo
-ServiceMain
+; 
+; Exports of file APPMGMTS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY APPMGMTS.dll
+EXPORTS
+CsSetOptions
+CsCreateClassStore
+CsEnumApps
+CsGetAppCategories
+CsGetClassAccess
+CsGetClassStore
+CsGetClassStorePath
+CsRegisterAppCategory
+CsServerGetClassStore
+CsUnregisterAppCategory
+GenerateGroupPolicy
+IID_IClassAdmin
+ProcessGroupPolicyObjectsEx
+ReleaseAppCategoryInfoList
+ReleasePackageDetail
+ReleasePackageInfo
+ServiceMain
diff --git a/mingw-w64-crt/lib64/appmgr.def b/mingw-w64-crt/lib64/appmgr.def
index 77752d9..f75bfb8 100644
--- a/mingw-w64-crt/lib64/appmgr.def
+++ b/mingw-w64-crt/lib64/appmgr.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file SNAPIN.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SNAPIN.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GenerateScript
+; 
+; Exports of file SNAPIN.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SNAPIN.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GenerateScript
diff --git a/mingw-w64-crt/lib64/aqadmin.def b/mingw-w64-crt/lib64/aqadmin.def
index f928bb6..499d15d 100644
--- a/mingw-w64-crt/lib64/aqadmin.def
+++ b/mingw-w64-crt/lib64/aqadmin.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AQADMIN.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AQADMIN.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AQADMIN.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AQADMIN.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/aqueue.def b/mingw-w64-crt/lib64/aqueue.def
index f68a508..a6416e3 100644
--- a/mingw-w64-crt/lib64/aqueue.def
+++ b/mingw-w64-crt/lib64/aqueue.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file aqueue.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY aqueue.dll
-EXPORTS
-HrAdvQueueInitialize
-HrAdvQueueDeinitialize
-HrAdvQueueInitializeEx
-HrAdvQueueDeinitializeEx
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file aqueue.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY aqueue.dll
+EXPORTS
+HrAdvQueueInitialize
+HrAdvQueueDeinitialize
+HrAdvQueueInitializeEx
+HrAdvQueueDeinitializeEx
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/asp.def b/mingw-w64-crt/lib64/asp.def
index c6a118e..b73ae21 100644
--- a/mingw-w64-crt/lib64/asp.def
+++ b/mingw-w64-crt/lib64/asp.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file asp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY asp.dll
-EXPORTS
-AspStatusHtmlDump
-DllRegisterServer
-DllUnregisterServer
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file asp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY asp.dll
+EXPORTS
+AspStatusHtmlDump
+DllRegisterServer
+DllUnregisterServer
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/aspperf.def b/mingw-w64-crt/lib64/aspperf.def
index bf0c0f3..e75e71a 100644
--- a/mingw-w64-crt/lib64/aspperf.def
+++ b/mingw-w64-crt/lib64/aspperf.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file aspperf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY aspperf.dll
-EXPORTS
-OpenASPPerformanceData
-CollectASPPerformanceData
-CloseASPPerformanceData
-RegisterAXS
-UnRegisterAXS
+; 
+; Exports of file aspperf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY aspperf.dll
+EXPORTS
+OpenASPPerformanceData
+CollectASPPerformanceData
+CloseASPPerformanceData
+RegisterAXS
+UnRegisterAXS
diff --git a/mingw-w64-crt/lib64/asycfilt.def b/mingw-w64-crt/lib64/asycfilt.def
index 6afdc3a..476e072 100644
--- a/mingw-w64-crt/lib64/asycfilt.def
+++ b/mingw-w64-crt/lib64/asycfilt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ASYCFILT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ASYCFILT.dll
-EXPORTS
-DllCanUnloadNow
-FilterCreateInstance
+; 
+; Exports of file ASYCFILT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ASYCFILT.dll
+EXPORTS
+DllCanUnloadNow
+FilterCreateInstance
diff --git a/mingw-w64-crt/lib64/atkctrs.def b/mingw-w64-crt/lib64/atkctrs.def
index 4392004..c65ac1c 100644
--- a/mingw-w64-crt/lib64/atkctrs.def
+++ b/mingw-w64-crt/lib64/atkctrs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file atkctrs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY atkctrs.dll
-EXPORTS
-OpenAtkPerformanceData
-CollectAtkPerformanceData
-CloseAtkPerformanceData
+; 
+; Exports of file atkctrs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY atkctrs.dll
+EXPORTS
+OpenAtkPerformanceData
+CollectAtkPerformanceData
+CloseAtkPerformanceData
diff --git a/mingw-w64-crt/lib64/atl.def b/mingw-w64-crt/lib64/atl.def
index cab539e..5a96a12 100644
--- a/mingw-w64-crt/lib64/atl.def
+++ b/mingw-w64-crt/lib64/atl.def
@@ -1,60 +1,60 @@
-; 
-; Exports of file ATL.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ATL.DLL
-EXPORTS
-AtlAdvise
-AtlUnadvise
-AtlFreeMarshalStream
-AtlMarshalPtrInProc
-AtlUnmarshalPtr
-AtlModuleGetClassObject
-AtlModuleInit
-AtlModuleRegisterClassObjects
-AtlModuleRegisterServer
-AtlModuleRegisterTypeLib
-AtlModuleRevokeClassObjects
-AtlModuleTerm
-AtlModuleUnregisterServer
-AtlModuleUpdateRegistryFromResourceD
-AtlWaitWithMessageLoop
-AtlSetErrorInfo
-AtlCreateTargetDC
-AtlHiMetricToPixel
-AtlPixelToHiMetric
-AtlDevModeW2A
-AtlComPtrAssign
-AtlComQIPtrAssign
-AtlInternalQueryInterface
-DllCanUnloadNow
-AtlGetVersion
-AtlAxDialogBoxW
-AtlAxDialogBoxA
-AtlAxCreateDialogW
-AtlAxCreateDialogA
-AtlAxCreateControl
-AtlAxCreateControlEx
-AtlAxAttachControl
-AtlAxWinInit
-AtlModuleAddCreateWndData
-AtlModuleExtractCreateWndData
-AtlModuleRegisterWndClassInfoW
-AtlModuleRegisterWndClassInfoA
-AtlAxGetControl
-AtlAxGetHost
-AtlRegisterClassCategoriesHelper
-AtlIPersistStreamInit_Load
-AtlIPersistStreamInit_Save
-AtlIPersistPropertyBag_Load
-AtlIPersistPropertyBag_Save
-AtlGetObjectSourceInterface
-AtlModuleUnRegisterTypeLib
-AtlModuleLoadTypeLib
-AtlModuleUnregisterServerEx
-AtlModuleAddTermFunc
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ATL.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ATL.DLL
+EXPORTS
+AtlAdvise
+AtlUnadvise
+AtlFreeMarshalStream
+AtlMarshalPtrInProc
+AtlUnmarshalPtr
+AtlModuleGetClassObject
+AtlModuleInit
+AtlModuleRegisterClassObjects
+AtlModuleRegisterServer
+AtlModuleRegisterTypeLib
+AtlModuleRevokeClassObjects
+AtlModuleTerm
+AtlModuleUnregisterServer
+AtlModuleUpdateRegistryFromResourceD
+AtlWaitWithMessageLoop
+AtlSetErrorInfo
+AtlCreateTargetDC
+AtlHiMetricToPixel
+AtlPixelToHiMetric
+AtlDevModeW2A
+AtlComPtrAssign
+AtlComQIPtrAssign
+AtlInternalQueryInterface
+DllCanUnloadNow
+AtlGetVersion
+AtlAxDialogBoxW
+AtlAxDialogBoxA
+AtlAxCreateDialogW
+AtlAxCreateDialogA
+AtlAxCreateControl
+AtlAxCreateControlEx
+AtlAxAttachControl
+AtlAxWinInit
+AtlModuleAddCreateWndData
+AtlModuleExtractCreateWndData
+AtlModuleRegisterWndClassInfoW
+AtlModuleRegisterWndClassInfoA
+AtlAxGetControl
+AtlAxGetHost
+AtlRegisterClassCategoriesHelper
+AtlIPersistStreamInit_Load
+AtlIPersistStreamInit_Save
+AtlIPersistPropertyBag_Load
+AtlIPersistPropertyBag_Save
+AtlGetObjectSourceInterface
+AtlModuleUnRegisterTypeLib
+AtlModuleLoadTypeLib
+AtlModuleUnregisterServerEx
+AtlModuleAddTermFunc
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/atmlib.def b/mingw-w64-crt/lib64/atmlib.def
index be1ec0b..9d670b3 100644
--- a/mingw-w64-crt/lib64/atmlib.def
+++ b/mingw-w64-crt/lib64/atmlib.def
@@ -1,84 +1,84 @@
-; 
-; Exports of file ATMLIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ATMLIB.dll
-EXPORTS
-ATMAddFont
-ATMAddFontA
-ATMAddFontEx
-ATMAddFontExA
-ATMAddFontExW
-ATMAddFontW
-ATMBBoxBaseXYShowText
-ATMBBoxBaseXYShowTextA
-ATMBBoxBaseXYShowTextW
-ATMBeginFontChange
-ATMClient
-ATMEndFontChange
-ATMEnumFonts
-ATMEnumFontsA
-ATMEnumFontsW
-ATMEnumMMFonts
-ATMEnumMMFontsA
-ATMEnumMMFontsW
-ATMFinish
-ATMFontAvailable
-ATMFontAvailableA
-ATMFontAvailableW
-ATMFontSelected
-ATMFontStatus
-ATMFontStatusA
-ATMFontStatusW
-ATMForceFontChange
-ATMGetBuildStr
-ATMGetBuildStrA
-ATMGetBuildStrW
-ATMGetFontBBox
-ATMGetFontInfo
-ATMGetFontInfoA
-ATMGetFontInfoW
-ATMGetFontPaths
-ATMGetFontPathsA
-ATMGetFontPathsW
-ATMGetGlyphList
-ATMGetGlyphListA
-ATMGetGlyphListW
-ATMGetMenuName
-ATMGetMenuNameA
-ATMGetMenuNameW
-ATMGetNtmFields
-ATMGetNtmFieldsA
-ATMGetNtmFieldsW
-ATMGetOutline
-ATMGetOutlineA
-ATMGetOutlineW
-ATMGetPostScriptName
-ATMGetPostScriptNameA
-ATMGetPostScriptNameW
-ATMGetVersion
-ATMGetVersionEx
-ATMGetVersionExA
-ATMGetVersionExW
-ATMInstallSubstFontA
-ATMInstallSubstFontW
-ATMMakePFM
-ATMMakePFMA
-ATMMakePFMW
-ATMMakePSS
-ATMMakePSSA
-ATMMakePSSW
-ATMProperlyLoaded
-ATMRemoveFont
-ATMRemoveFontA
-ATMRemoveFontW
-ATMRemoveSubstFontA
-ATMRemoveSubstFontW
-ATMSelectEncoding
-ATMSelectObject
-ATMSetFlags
-ATMXYShowText
-ATMXYShowTextA
-ATMXYShowTextW
+; 
+; Exports of file ATMLIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ATMLIB.dll
+EXPORTS
+ATMAddFont
+ATMAddFontA
+ATMAddFontEx
+ATMAddFontExA
+ATMAddFontExW
+ATMAddFontW
+ATMBBoxBaseXYShowText
+ATMBBoxBaseXYShowTextA
+ATMBBoxBaseXYShowTextW
+ATMBeginFontChange
+ATMClient
+ATMEndFontChange
+ATMEnumFonts
+ATMEnumFontsA
+ATMEnumFontsW
+ATMEnumMMFonts
+ATMEnumMMFontsA
+ATMEnumMMFontsW
+ATMFinish
+ATMFontAvailable
+ATMFontAvailableA
+ATMFontAvailableW
+ATMFontSelected
+ATMFontStatus
+ATMFontStatusA
+ATMFontStatusW
+ATMForceFontChange
+ATMGetBuildStr
+ATMGetBuildStrA
+ATMGetBuildStrW
+ATMGetFontBBox
+ATMGetFontInfo
+ATMGetFontInfoA
+ATMGetFontInfoW
+ATMGetFontPaths
+ATMGetFontPathsA
+ATMGetFontPathsW
+ATMGetGlyphList
+ATMGetGlyphListA
+ATMGetGlyphListW
+ATMGetMenuName
+ATMGetMenuNameA
+ATMGetMenuNameW
+ATMGetNtmFields
+ATMGetNtmFieldsA
+ATMGetNtmFieldsW
+ATMGetOutline
+ATMGetOutlineA
+ATMGetOutlineW
+ATMGetPostScriptName
+ATMGetPostScriptNameA
+ATMGetPostScriptNameW
+ATMGetVersion
+ATMGetVersionEx
+ATMGetVersionExA
+ATMGetVersionExW
+ATMInstallSubstFontA
+ATMInstallSubstFontW
+ATMMakePFM
+ATMMakePFMA
+ATMMakePFMW
+ATMMakePSS
+ATMMakePSSA
+ATMMakePSSW
+ATMProperlyLoaded
+ATMRemoveFont
+ATMRemoveFontA
+ATMRemoveFontW
+ATMRemoveSubstFontA
+ATMRemoveSubstFontW
+ATMSelectEncoding
+ATMSelectObject
+ATMSetFlags
+ATMXYShowText
+ATMXYShowTextA
+ATMXYShowTextW
diff --git a/mingw-w64-crt/lib64/atmpvcno.def b/mingw-w64-crt/lib64/atmpvcno.def
index b214c78..94699a0 100644
--- a/mingw-w64-crt/lib64/atmpvcno.def
+++ b/mingw-w64-crt/lib64/atmpvcno.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SFILTER2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SFILTER2.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SFILTER2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SFILTER2.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/atrace.def b/mingw-w64-crt/lib64/atrace.def
index 63fd427..fcf1774 100644
--- a/mingw-w64-crt/lib64/atrace.def
+++ b/mingw-w64-crt/lib64/atrace.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file atrace.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY atrace.dll
-EXPORTS
-INTERNAL__AsyncBinaryTrace
-INTERNAL__AsyncStringTrace
-INTERNAL__DebugAssert
-INTERNAL__FlushAsyncTrace
-INTERNAL__InitAsyncTrace
-INTERNAL__SetAsyncTraceParams
-INTERNAL__TermAsyncTrace
+; 
+; Exports of file atrace.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY atrace.dll
+EXPORTS
+INTERNAL__AsyncBinaryTrace
+INTERNAL__AsyncStringTrace
+INTERNAL__DebugAssert
+INTERNAL__FlushAsyncTrace
+INTERNAL__InitAsyncTrace
+INTERNAL__SetAsyncTraceParams
+INTERNAL__TermAsyncTrace
diff --git a/mingw-w64-crt/lib64/audiosrv.def b/mingw-w64-crt/lib64/audiosrv.def
index 2e2b106..5e576da 100644
--- a/mingw-w64-crt/lib64/audiosrv.def
+++ b/mingw-w64-crt/lib64/audiosrv.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file AUDIOSRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AUDIOSRV.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file AUDIOSRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AUDIOSRV.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/authz.def b/mingw-w64-crt/lib64/authz.def
index 587c43b..214efc0 100644
--- a/mingw-w64-crt/lib64/authz.def
+++ b/mingw-w64-crt/lib64/authz.def
@@ -1,49 +1,49 @@
-; 
-; Exports of file AUTHZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AUTHZ.dll
-EXPORTS
-AuthzAccessCheck
-AuthzAddSidsToContext
-AuthzCachedAccessCheck
-AuthzEnumerateSecurityEventSources
-AuthzFreeAuditEvent
-AuthzFreeContext
-AuthzFreeHandle
-AuthzFreeResourceManager
-AuthzGetInformationFromContext
-AuthzInitializeContextFromAuthzContext
-AuthzInitializeContextFromSid
-AuthzInitializeContextFromToken
-AuthzInitializeObjectAccessAuditEvent
-AuthzInitializeObjectAccessAuditEvent2
-AuthzInitializeResourceManager
-AuthzInstallSecurityEventSource
-AuthzOpenObjectAudit
-AuthzRegisterSecurityEventSource
-AuthzReportSecurityEvent
-AuthzReportSecurityEventFromParams
-AuthzUninstallSecurityEventSource
-AuthzUnregisterSecurityEventSource
-AuthziAllocateAuditParams
-AuthziFreeAuditEventType
-AuthziFreeAuditParams
-AuthziFreeAuditQueue
-AuthziInitializeAuditEvent
-AuthziInitializeAuditEventType
-AuthziInitializeAuditParams
-AuthziInitializeAuditParamsFromArray
-AuthziInitializeAuditParamsWithRM
-AuthziInitializeAuditQueue
-AuthziInitializeContextFromSid
-AuthziLogAuditEvent
-AuthziModifyAuditEvent
-AuthziModifyAuditEvent2
-AuthziModifyAuditEventType
-AuthziModifyAuditQueue
-AuthziQueryAuditPolicy
-AuthziSetAuditPolicy
-AuthziSourceAudit
+; 
+; Exports of file AUTHZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AUTHZ.dll
+EXPORTS
+AuthzAccessCheck
+AuthzAddSidsToContext
+AuthzCachedAccessCheck
+AuthzEnumerateSecurityEventSources
+AuthzFreeAuditEvent
+AuthzFreeContext
+AuthzFreeHandle
+AuthzFreeResourceManager
+AuthzGetInformationFromContext
+AuthzInitializeContextFromAuthzContext
+AuthzInitializeContextFromSid
+AuthzInitializeContextFromToken
+AuthzInitializeObjectAccessAuditEvent
+AuthzInitializeObjectAccessAuditEvent2
+AuthzInitializeResourceManager
+AuthzInstallSecurityEventSource
+AuthzOpenObjectAudit
+AuthzRegisterSecurityEventSource
+AuthzReportSecurityEvent
+AuthzReportSecurityEventFromParams
+AuthzUninstallSecurityEventSource
+AuthzUnregisterSecurityEventSource
+AuthziAllocateAuditParams
+AuthziFreeAuditEventType
+AuthziFreeAuditParams
+AuthziFreeAuditQueue
+AuthziInitializeAuditEvent
+AuthziInitializeAuditEventType
+AuthziInitializeAuditParams
+AuthziInitializeAuditParamsFromArray
+AuthziInitializeAuditParamsWithRM
+AuthziInitializeAuditQueue
+AuthziInitializeContextFromSid
+AuthziLogAuditEvent
+AuthziModifyAuditEvent
+AuthziModifyAuditEvent2
+AuthziModifyAuditEventType
+AuthziModifyAuditQueue
+AuthziQueryAuditPolicy
+AuthziSetAuditPolicy
+AuthziSourceAudit
diff --git a/mingw-w64-crt/lib64/autodisc.def b/mingw-w64-crt/lib64/autodisc.def
index 73b2358..ed4f51b 100644
--- a/mingw-w64-crt/lib64/autodisc.def
+++ b/mingw-w64-crt/lib64/autodisc.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file AutoDisc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AutoDisc.dll
-EXPORTS
-AddEmailToAutoComplete
-AutoDiscoverAndOpenEmail
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AutoDisc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AutoDisc.dll
+EXPORTS
+AddEmailToAutoComplete
+AutoDiscoverAndOpenEmail
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/avicap32.def b/mingw-w64-crt/lib64/avicap32.def
index e7c11f0..2cc01bb 100644
--- a/mingw-w64-crt/lib64/avicap32.def
+++ b/mingw-w64-crt/lib64/avicap32.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file AVICAP32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AVICAP32.dll
-EXPORTS
-AppCleanup
-capCreateCaptureWindowA
-capCreateCaptureWindowW
-capGetDriverDescriptionA
-capGetDriverDescriptionW
-videoThunk32
+; 
+; Exports of file AVICAP32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AVICAP32.dll
+EXPORTS
+AppCleanup
+capCreateCaptureWindowA
+capCreateCaptureWindowW
+capGetDriverDescriptionA
+capGetDriverDescriptionW
+videoThunk32
diff --git a/mingw-w64-crt/lib64/avifil32.def b/mingw-w64-crt/lib64/avifil32.def
index a69f4e0..aa7591a 100644
--- a/mingw-w64-crt/lib64/avifil32.def
+++ b/mingw-w64-crt/lib64/avifil32.def
@@ -1,84 +1,84 @@
-; 
-; Exports of file AVIFIL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AVIFIL32.dll
-EXPORTS
-AVIBuildFilter
-AVIBuildFilterA
-AVIBuildFilterW
-AVIClearClipboard
-AVIFileAddRef
-AVIFileCreateStream
-AVIFileCreateStreamA
-AVIFileCreateStreamW
-AVIFileEndRecord
-AVIFileExit
-AVIFileGetStream
-AVIFileInfo
-AVIFileInfoA
-AVIFileInfoW
-AVIFileInit
-AVIFileOpen
-AVIFileOpenA
-AVIFileOpenW
-AVIFileReadData
-AVIFileRelease
-AVIFileWriteData
-AVIGetFromClipboard
-AVIMakeCompressedStream
-AVIMakeFileFromStreams
-AVIMakeStreamFromClipboard
-AVIPutFileOnClipboard
-AVISave
-AVISaveA
-AVISaveOptions
-AVISaveOptionsFree
-AVISaveV
-AVISaveVA
-AVISaveVW
-AVISaveW
-AVIStreamAddRef
-AVIStreamBeginStreaming
-AVIStreamCreate
-AVIStreamEndStreaming
-AVIStreamFindSample
-AVIStreamGetFrame
-AVIStreamGetFrameClose
-AVIStreamGetFrameOpen
-AVIStreamInfo
-AVIStreamInfoA
-AVIStreamInfoW
-AVIStreamLength
-AVIStreamOpenFromFile
-AVIStreamOpenFromFileA
-AVIStreamOpenFromFileW
-AVIStreamRead
-AVIStreamReadData
-AVIStreamReadFormat
-AVIStreamRelease
-AVIStreamSampleToTime
-AVIStreamSetFormat
-AVIStreamStart
-AVIStreamTimeToSample
-AVIStreamWrite
-AVIStreamWriteData
-CreateEditableStream
-DllCanUnloadNow
-DllGetClassObject
-EditStreamClone
-EditStreamCopy
-EditStreamCut
-EditStreamPaste
-EditStreamSetInfo
-EditStreamSetInfoA
-EditStreamSetInfoW
-EditStreamSetName
-EditStreamSetNameA
-EditStreamSetNameW
-IID_IAVIEditStream
-IID_IAVIFile
-IID_IAVIStream
-IID_IGetFrame
+; 
+; Exports of file AVIFIL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AVIFIL32.dll
+EXPORTS
+AVIBuildFilter
+AVIBuildFilterA
+AVIBuildFilterW
+AVIClearClipboard
+AVIFileAddRef
+AVIFileCreateStream
+AVIFileCreateStreamA
+AVIFileCreateStreamW
+AVIFileEndRecord
+AVIFileExit
+AVIFileGetStream
+AVIFileInfo
+AVIFileInfoA
+AVIFileInfoW
+AVIFileInit
+AVIFileOpen
+AVIFileOpenA
+AVIFileOpenW
+AVIFileReadData
+AVIFileRelease
+AVIFileWriteData
+AVIGetFromClipboard
+AVIMakeCompressedStream
+AVIMakeFileFromStreams
+AVIMakeStreamFromClipboard
+AVIPutFileOnClipboard
+AVISave
+AVISaveA
+AVISaveOptions
+AVISaveOptionsFree
+AVISaveV
+AVISaveVA
+AVISaveVW
+AVISaveW
+AVIStreamAddRef
+AVIStreamBeginStreaming
+AVIStreamCreate
+AVIStreamEndStreaming
+AVIStreamFindSample
+AVIStreamGetFrame
+AVIStreamGetFrameClose
+AVIStreamGetFrameOpen
+AVIStreamInfo
+AVIStreamInfoA
+AVIStreamInfoW
+AVIStreamLength
+AVIStreamOpenFromFile
+AVIStreamOpenFromFileA
+AVIStreamOpenFromFileW
+AVIStreamRead
+AVIStreamReadData
+AVIStreamReadFormat
+AVIStreamRelease
+AVIStreamSampleToTime
+AVIStreamSetFormat
+AVIStreamStart
+AVIStreamTimeToSample
+AVIStreamWrite
+AVIStreamWriteData
+CreateEditableStream
+DllCanUnloadNow
+DllGetClassObject
+EditStreamClone
+EditStreamCopy
+EditStreamCut
+EditStreamPaste
+EditStreamSetInfo
+EditStreamSetInfoA
+EditStreamSetInfoW
+EditStreamSetName
+EditStreamSetNameA
+EditStreamSetNameW
+IID_IAVIEditStream
+IID_IAVIFile
+IID_IAVIStream
+IID_IGetFrame
diff --git a/mingw-w64-crt/lib64/azroles.def b/mingw-w64-crt/lib64/azroles.def
index e7afdf4..09c210c 100644
--- a/mingw-w64-crt/lib64/azroles.def
+++ b/mingw-w64-crt/lib64/azroles.def
@@ -1,52 +1,52 @@
-; 
-; Exports of file azroles.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY azroles.DLL
-EXPORTS
-AzAddPropertyItem
-AzApplicationClose
-AzApplicationCreate
-AzApplicationDelete
-AzApplicationEnum
-AzApplicationOpen
-AzAuthorizationStoreDelete
-AzCloseHandle
-AzContextAccessCheck
-AzContextGetAssignedScopesPage
-AzContextGetRoles
-AzFreeMemory
-AzGetProperty
-AzGroupCreate
-AzGroupDelete
-AzGroupEnum
-AzGroupOpen
-AzInitialize
-AzInitializeContextFromName
-AzInitializeContextFromToken
-AzOperationCreate
-AzOperationDelete
-AzOperationEnum
-AzOperationOpen
-AzRemovePropertyItem
-AzRoleCreate
-AzRoleDelete
-AzRoleEnum
-AzRoleOpen
-AzScopeCreate
-AzScopeDelete
-AzScopeEnum
-AzScopeOpen
-AzSetProperty
-AzSubmit
-AzTaskCreate
-AzTaskDelete
-AzTaskEnum
-AzTaskOpen
-AzUpdateCache
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file azroles.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY azroles.DLL
+EXPORTS
+AzAddPropertyItem
+AzApplicationClose
+AzApplicationCreate
+AzApplicationDelete
+AzApplicationEnum
+AzApplicationOpen
+AzAuthorizationStoreDelete
+AzCloseHandle
+AzContextAccessCheck
+AzContextGetAssignedScopesPage
+AzContextGetRoles
+AzFreeMemory
+AzGetProperty
+AzGroupCreate
+AzGroupDelete
+AzGroupEnum
+AzGroupOpen
+AzInitialize
+AzInitializeContextFromName
+AzInitializeContextFromToken
+AzOperationCreate
+AzOperationDelete
+AzOperationEnum
+AzOperationOpen
+AzRemovePropertyItem
+AzRoleCreate
+AzRoleDelete
+AzRoleEnum
+AzRoleOpen
+AzScopeCreate
+AzScopeDelete
+AzScopeEnum
+AzScopeOpen
+AzSetProperty
+AzSubmit
+AzTaskCreate
+AzTaskDelete
+AzTaskEnum
+AzTaskOpen
+AzUpdateCache
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/azroleui.def b/mingw-w64-crt/lib64/azroleui.def
index 29efdf8..13f8eb6 100644
--- a/mingw-w64-crt/lib64/azroleui.def
+++ b/mingw-w64-crt/lib64/azroleui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file azroleui.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY azroleui.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file azroleui.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY azroleui.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/basesrv.def b/mingw-w64-crt/lib64/basesrv.def
index 0920efc..7a72c67 100644
--- a/mingw-w64-crt/lib64/basesrv.def
+++ b/mingw-w64-crt/lib64/basesrv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file BASESRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BASESRV.dll
-EXPORTS
-BaseSetProcessCreateNotify
-BaseSrvNlsLogon
-BaseSrvNlsUpdateRegistryCache
-ServerDllInitialization
+; 
+; Exports of file BASESRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BASESRV.dll
+EXPORTS
+BaseSetProcessCreateNotify
+BaseSrvNlsLogon
+BaseSrvNlsUpdateRegistryCache
+ServerDllInitialization
diff --git a/mingw-w64-crt/lib64/batmeter.def b/mingw-w64-crt/lib64/batmeter.def
index d15302c..fbcf010 100644
--- a/mingw-w64-crt/lib64/batmeter.def
+++ b/mingw-w64-crt/lib64/batmeter.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file BatMeter.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BatMeter.dll
-EXPORTS
-BatMeterCapabilities
-CreateBatMeter
-DestroyBatMeter
-PowerCapabilities
-UpdateBatMeter
+; 
+; Exports of file BatMeter.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BatMeter.dll
+EXPORTS
+BatMeterCapabilities
+CreateBatMeter
+DestroyBatMeter
+PowerCapabilities
+UpdateBatMeter
diff --git a/mingw-w64-crt/lib64/batt.def b/mingw-w64-crt/lib64/batt.def
index 11edd24..77e9d8e 100644
--- a/mingw-w64-crt/lib64/batt.def
+++ b/mingw-w64-crt/lib64/batt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file batt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY batt.dll
-EXPORTS
-BatteryClassCoInstaller
-BatteryClassInstall
+; 
+; Exports of file batt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY batt.dll
+EXPORTS
+BatteryClassCoInstaller
+BatteryClassInstall
diff --git a/mingw-w64-crt/lib64/bidispl.def b/mingw-w64-crt/lib64/bidispl.def
index 80cb7ca..0dba649 100644
--- a/mingw-w64-crt/lib64/bidispl.def
+++ b/mingw-w64-crt/lib64/bidispl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file bidispl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY bidispl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file bidispl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY bidispl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/bitsprx2.def b/mingw-w64-crt/lib64/bitsprx2.def
index eec389c..d420202 100644
--- a/mingw-w64-crt/lib64/bitsprx2.def
+++ b/mingw-w64-crt/lib64/bitsprx2.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file bitsprx2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY bitsprx2.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file bitsprx2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY bitsprx2.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/bitsprx3.def b/mingw-w64-crt/lib64/bitsprx3.def
index 3f1a187..c22e16e 100644
--- a/mingw-w64-crt/lib64/bitsprx3.def
+++ b/mingw-w64-crt/lib64/bitsprx3.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file bitsprx3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY bitsprx3.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file bitsprx3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY bitsprx3.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/bnts.def b/mingw-w64-crt/lib64/bnts.def
index 2844947..cb5c3a2 100644
--- a/mingw-w64-crt/lib64/bnts.def
+++ b/mingw-w64-crt/lib64/bnts.def
@@ -1,84 +1,84 @@
-; 
-; Exports of file bnts.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY bnts.dll
-EXPORTS
-; public: __cdecl BNTS::BNTS(void) __ptr64
-??0BNTS@@QEAA@XZ
-; public: __cdecl BNTS::~BNTS(void) __ptr64
-??1BNTS@@QEAA@XZ
-; public: class BNTS & __ptr64 __cdecl BNTS::operator=(class BNTS const & __ptr64) __ptr64
-??4BNTS@@QEAAAEAV0@AEBV0@@Z
-; protected: int __cdecl BNTS::BGetPropItemReal(class LTBNPROP & __ptr64,char const * __ptr64,int,double & __ptr64) __ptr64
-?BGetPropItemReal@BNTS@@IEAAHAEAVLTBNPROP@@PEBDHAEAN@Z
-; protected: int __cdecl BNTS::BGetPropItemStr(class LTBNPROP & __ptr64,char const * __ptr64,int,class ZSTR & __ptr64) __ptr64
-?BGetPropItemStr@BNTS@@IEAAHAEAVLTBNPROP@@PEBDHAEAVZSTR@@@Z
-; public: int __cdecl BNTS::BGetRecommendations(void) __ptr64
-?BGetRecommendations@BNTS@@QEAAHXZ
-; public: int __cdecl BNTS::BImpossible(void) __ptr64
-?BImpossible@BNTS@@QEAAHXZ
-; public: int __cdecl BNTS::BNetPropItemReal(char const * __ptr64,int,double & __ptr64) __ptr64
-?BNetPropItemReal@BNTS@@QEAAHPEBDHAEAN@Z
-; public: int __cdecl BNTS::BNetPropItemStr(char const * __ptr64,int) __ptr64
-?BNetPropItemStr@BNTS@@QEAAHPEBDH@Z
-; public: int __cdecl BNTS::BNodePropItemReal(char const * __ptr64,int,double & __ptr64) __ptr64
-?BNodePropItemReal@BNTS@@QEAAHPEBDHAEAN@Z
-; public: int __cdecl BNTS::BNodePropItemStr(char const * __ptr64,int) __ptr64
-?BNodePropItemStr@BNTS@@QEAAHPEBDH@Z
-; public: int __cdecl BNTS::BNodeSet(int,bool) __ptr64
-?BNodeSet@BNTS@@QEAAHH_N@Z
-; public: int __cdecl BNTS::BNodeSetCurrent(int) __ptr64
-?BNodeSetCurrent@BNTS@@QEAAHH@Z
-; public: int __cdecl BNTS::BReadModel(char const * __ptr64,char const * __ptr64) __ptr64
-?BReadModel@BNTS@@QEAAHPEBD0@Z
-; public: bool __cdecl BNTS::BValidNet(void)const  __ptr64
-?BValidNet@BNTS@@QEBA_NXZ
-; public: bool __cdecl BNTS::BValidNode(void)const  __ptr64
-?BValidNode@BNTS@@QEBA_NXZ
-; public: int __cdecl BNTS::CInt(void)const  __ptr64
-?CInt@BNTS@@QEBAHXZ
-; public: int __cdecl BNTS::CNode(void) __ptr64
-?CNode@BNTS@@QEAAHXZ
-; public: int __cdecl BNTS::CReal(void)const  __ptr64
-?CReal@BNTS@@QEBAHXZ
-; public: void __cdecl BNTS::Clear(void) __ptr64
-?Clear@BNTS@@QEAAXXZ
-; protected: void __cdecl BNTS::ClearArrays(void) __ptr64
-?ClearArrays@BNTS@@IEAAXXZ
-; protected: void __cdecl BNTS::ClearString(void) __ptr64
-?ClearString@BNTS@@IEAAXXZ
-; public: enum ESTDLBL  __cdecl BNTS::ELblNode(void) __ptr64
-?ELblNode@BNTS@@QEAA?AW4ESTDLBL@@XZ
-; public: int __cdecl BNTS::INode(char const * __ptr64) __ptr64
-?INode@BNTS@@QEAAHPEBD@Z
-; public: int __cdecl BNTS::INodeCst(void) __ptr64
-?INodeCst@BNTS@@QEAAHXZ
-; public: int __cdecl BNTS::INodeCurrent(void) __ptr64
-?INodeCurrent@BNTS@@QEAAHXZ
-; public: int __cdecl BNTS::INodeState(void) __ptr64
-?INodeState@BNTS@@QEAAHXZ
-; protected: class MBNETDSCTS & __ptr64 __cdecl BNTS::Mbnet(void) __ptr64
-?Mbnet@BNTS@@IEAAAEAVMBNETDSCTS@@XZ
-; protected: class MBNETDSCTS const & __ptr64 __cdecl BNTS::Mbnet(void)const  __ptr64
-?Mbnet@BNTS@@IEBAAEBVMBNETDSCTS@@XZ
-; public: void __cdecl BNTS::NodeBelief(void) __ptr64
-?NodeBelief@BNTS@@QEAAXXZ
-; public: void __cdecl BNTS::NodeFullName(void) __ptr64
-?NodeFullName@BNTS@@QEAAXXZ
-; public: void __cdecl BNTS::NodeStateName(int) __ptr64
-?NodeStateName@BNTS@@QEAAXH@Z
-; public: void __cdecl BNTS::NodeSymName(void) __ptr64
-?NodeSymName@BNTS@@QEAAXXZ
-; protected: class GNODEMBND * __ptr64 __cdecl BNTS::Pgndd(void) __ptr64
-?Pgndd@BNTS@@IEAAPEAVGNODEMBND@@XZ
-; public: int const * __ptr64 __cdecl BNTS::RgInt(void)const  __ptr64
-?RgInt@BNTS@@QEBAPEBHXZ
-; public: double const * __ptr64 __cdecl BNTS::RgReal(void)const  __ptr64
-?RgReal@BNTS@@QEBAPEBNXZ
-; public: char const * __ptr64 __cdecl BNTS::SzcResult(void)const  __ptr64
-?SzcResult@BNTS@@QEBAPEBDXZ
-; protected: class ZSTR & __ptr64 __cdecl BNTS::ZstrResult(void) __ptr64
-?ZstrResult@BNTS@@IEAAAEAVZSTR@@XZ
+; 
+; Exports of file bnts.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY bnts.dll
+EXPORTS
+; public: __cdecl BNTS::BNTS(void) __ptr64
+??0BNTS@@QEAA@XZ
+; public: __cdecl BNTS::~BNTS(void) __ptr64
+??1BNTS@@QEAA@XZ
+; public: class BNTS & __ptr64 __cdecl BNTS::operator=(class BNTS const & __ptr64) __ptr64
+??4BNTS@@QEAAAEAV0@AEBV0@@Z
+; protected: int __cdecl BNTS::BGetPropItemReal(class LTBNPROP & __ptr64,char const * __ptr64,int,double & __ptr64) __ptr64
+?BGetPropItemReal@BNTS@@IEAAHAEAVLTBNPROP@@PEBDHAEAN@Z
+; protected: int __cdecl BNTS::BGetPropItemStr(class LTBNPROP & __ptr64,char const * __ptr64,int,class ZSTR & __ptr64) __ptr64
+?BGetPropItemStr@BNTS@@IEAAHAEAVLTBNPROP@@PEBDHAEAVZSTR@@@Z
+; public: int __cdecl BNTS::BGetRecommendations(void) __ptr64
+?BGetRecommendations@BNTS@@QEAAHXZ
+; public: int __cdecl BNTS::BImpossible(void) __ptr64
+?BImpossible@BNTS@@QEAAHXZ
+; public: int __cdecl BNTS::BNetPropItemReal(char const * __ptr64,int,double & __ptr64) __ptr64
+?BNetPropItemReal@BNTS@@QEAAHPEBDHAEAN@Z
+; public: int __cdecl BNTS::BNetPropItemStr(char const * __ptr64,int) __ptr64
+?BNetPropItemStr@BNTS@@QEAAHPEBDH@Z
+; public: int __cdecl BNTS::BNodePropItemReal(char const * __ptr64,int,double & __ptr64) __ptr64
+?BNodePropItemReal@BNTS@@QEAAHPEBDHAEAN@Z
+; public: int __cdecl BNTS::BNodePropItemStr(char const * __ptr64,int) __ptr64
+?BNodePropItemStr@BNTS@@QEAAHPEBDH@Z
+; public: int __cdecl BNTS::BNodeSet(int,bool) __ptr64
+?BNodeSet@BNTS@@QEAAHH_N@Z
+; public: int __cdecl BNTS::BNodeSetCurrent(int) __ptr64
+?BNodeSetCurrent@BNTS@@QEAAHH@Z
+; public: int __cdecl BNTS::BReadModel(char const * __ptr64,char const * __ptr64) __ptr64
+?BReadModel@BNTS@@QEAAHPEBD0@Z
+; public: bool __cdecl BNTS::BValidNet(void)const  __ptr64
+?BValidNet@BNTS@@QEBA_NXZ
+; public: bool __cdecl BNTS::BValidNode(void)const  __ptr64
+?BValidNode@BNTS@@QEBA_NXZ
+; public: int __cdecl BNTS::CInt(void)const  __ptr64
+?CInt@BNTS@@QEBAHXZ
+; public: int __cdecl BNTS::CNode(void) __ptr64
+?CNode@BNTS@@QEAAHXZ
+; public: int __cdecl BNTS::CReal(void)const  __ptr64
+?CReal@BNTS@@QEBAHXZ
+; public: void __cdecl BNTS::Clear(void) __ptr64
+?Clear@BNTS@@QEAAXXZ
+; protected: void __cdecl BNTS::ClearArrays(void) __ptr64
+?ClearArrays@BNTS@@IEAAXXZ
+; protected: void __cdecl BNTS::ClearString(void) __ptr64
+?ClearString@BNTS@@IEAAXXZ
+; public: enum ESTDLBL  __cdecl BNTS::ELblNode(void) __ptr64
+?ELblNode@BNTS@@QEAA?AW4ESTDLBL@@XZ
+; public: int __cdecl BNTS::INode(char const * __ptr64) __ptr64
+?INode@BNTS@@QEAAHPEBD@Z
+; public: int __cdecl BNTS::INodeCst(void) __ptr64
+?INodeCst@BNTS@@QEAAHXZ
+; public: int __cdecl BNTS::INodeCurrent(void) __ptr64
+?INodeCurrent@BNTS@@QEAAHXZ
+; public: int __cdecl BNTS::INodeState(void) __ptr64
+?INodeState@BNTS@@QEAAHXZ
+; protected: class MBNETDSCTS & __ptr64 __cdecl BNTS::Mbnet(void) __ptr64
+?Mbnet@BNTS@@IEAAAEAVMBNETDSCTS@@XZ
+; protected: class MBNETDSCTS const & __ptr64 __cdecl BNTS::Mbnet(void)const  __ptr64
+?Mbnet@BNTS@@IEBAAEBVMBNETDSCTS@@XZ
+; public: void __cdecl BNTS::NodeBelief(void) __ptr64
+?NodeBelief@BNTS@@QEAAXXZ
+; public: void __cdecl BNTS::NodeFullName(void) __ptr64
+?NodeFullName@BNTS@@QEAAXXZ
+; public: void __cdecl BNTS::NodeStateName(int) __ptr64
+?NodeStateName@BNTS@@QEAAXH@Z
+; public: void __cdecl BNTS::NodeSymName(void) __ptr64
+?NodeSymName@BNTS@@QEAAXXZ
+; protected: class GNODEMBND * __ptr64 __cdecl BNTS::Pgndd(void) __ptr64
+?Pgndd@BNTS@@IEAAPEAVGNODEMBND@@XZ
+; public: int const * __ptr64 __cdecl BNTS::RgInt(void)const  __ptr64
+?RgInt@BNTS@@QEBAPEBHXZ
+; public: double const * __ptr64 __cdecl BNTS::RgReal(void)const  __ptr64
+?RgReal@BNTS@@QEBAPEBNXZ
+; public: char const * __ptr64 __cdecl BNTS::SzcResult(void)const  __ptr64
+?SzcResult@BNTS@@QEBAPEBDXZ
+; protected: class ZSTR & __ptr64 __cdecl BNTS::ZstrResult(void) __ptr64
+?ZstrResult@BNTS@@IEAAAEAVZSTR@@XZ
diff --git a/mingw-w64-crt/lib64/bootvid.def b/mingw-w64-crt/lib64/bootvid.def
index 3b4527b..775b70e 100644
--- a/mingw-w64-crt/lib64/bootvid.def
+++ b/mingw-w64-crt/lib64/bootvid.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file BOOTVID.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BOOTVID.dll
-EXPORTS
-VidBitBlt
-VidBufferToScreenBlt
-VidCleanUp
-VidDisplayString
-VidDisplayStringXY
-VidInitialize
-VidResetDisplay
-VidScreenToBufferBlt
-VidSetScrollRegion
-VidSetTextColor
-VidSolidColorFill
+; 
+; Exports of file BOOTVID.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BOOTVID.dll
+EXPORTS
+VidBitBlt
+VidBufferToScreenBlt
+VidCleanUp
+VidDisplayString
+VidDisplayStringXY
+VidInitialize
+VidResetDisplay
+VidScreenToBufferBlt
+VidSetScrollRegion
+VidSetTextColor
+VidSolidColorFill
diff --git a/mingw-w64-crt/lib64/browscap.def b/mingw-w64-crt/lib64/browscap.def
index fb496fa..a551333 100644
--- a/mingw-w64-crt/lib64/browscap.def
+++ b/mingw-w64-crt/lib64/browscap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file BrowsCap.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BrowsCap.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file BrowsCap.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BrowsCap.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/browser.def b/mingw-w64-crt/lib64/browser.def
index 432cc66..570f077 100644
--- a/mingw-w64-crt/lib64/browser.def
+++ b/mingw-w64-crt/lib64/browser.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file browser.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY browser.dll
-EXPORTS
-I_BrowserServerEnumForXactsrv
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file browser.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY browser.dll
+EXPORTS
+I_BrowserServerEnumForXactsrv
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/browseui.def b/mingw-w64-crt/lib64/browseui.def
index f4ee5aa..48b782f 100644
--- a/mingw-w64-crt/lib64/browseui.def
+++ b/mingw-w64-crt/lib64/browseui.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file BROWSEUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BROWSEUI.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllGetVersion
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file BROWSEUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BROWSEUI.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllGetVersion
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/brpinfo.def b/mingw-w64-crt/lib64/brpinfo.def
index 3983a23..4c060a4 100644
--- a/mingw-w64-crt/lib64/brpinfo.def
+++ b/mingw-w64-crt/lib64/brpinfo.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file brp_sysinfo.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY brp_sysinfo.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file brp_sysinfo.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY brp_sysinfo.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/bthci.def b/mingw-w64-crt/lib64/bthci.def
index e904685..50da63b 100644
--- a/mingw-w64-crt/lib64/bthci.def
+++ b/mingw-w64-crt/lib64/bthci.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSPORTS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSPORTS.DLL
-EXPORTS
-BluetoothClassInstaller
+; 
+; Exports of file MSPORTS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSPORTS.DLL
+EXPORTS
+BluetoothClassInstaller
diff --git a/mingw-w64-crt/lib64/bthserv.def b/mingw-w64-crt/lib64/bthserv.def
index 6559da4..fd58fec 100644
--- a/mingw-w64-crt/lib64/bthserv.def
+++ b/mingw-w64-crt/lib64/bthserv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file BTHSERV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BTHSERV.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file BTHSERV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BTHSERV.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/btpanui.def b/mingw-w64-crt/lib64/btpanui.def
index 14980d2..583efe2 100644
--- a/mingw-w64-crt/lib64/btpanui.def
+++ b/mingw-w64-crt/lib64/btpanui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file bthpanux.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY bthpanux.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file bthpanux.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY bthpanux.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/c_g18030.def b/mingw-w64-crt/lib64/c_g18030.def
index d9f8796..c5a3031 100644
--- a/mingw-w64-crt/lib64/c_g18030.def
+++ b/mingw-w64-crt/lib64/c_g18030.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file c_gb18030.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY c_gb18030.dll
-EXPORTS
-BytesToUnicode
-NlsDllCodePageTranslation
-UnicodeToBytes
+; 
+; Exports of file c_gb18030.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY c_gb18030.dll
+EXPORTS
+BytesToUnicode
+NlsDllCodePageTranslation
+UnicodeToBytes
diff --git a/mingw-w64-crt/lib64/c_is2022.def b/mingw-w64-crt/lib64/c_is2022.def
index fe2c744..2df3e3d 100644
--- a/mingw-w64-crt/lib64/c_is2022.def
+++ b/mingw-w64-crt/lib64/c_is2022.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file c_is2022.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY c_is2022.dll
-EXPORTS
-NlsDllCodePageTranslation
+; 
+; Exports of file c_is2022.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY c_is2022.dll
+EXPORTS
+NlsDllCodePageTranslation
diff --git a/mingw-w64-crt/lib64/c_iscii.def b/mingw-w64-crt/lib64/c_iscii.def
index b3f3bbf..eef8668 100644
--- a/mingw-w64-crt/lib64/c_iscii.def
+++ b/mingw-w64-crt/lib64/c_iscii.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file c_iscii.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY c_iscii.dll
-EXPORTS
-NlsDllCodePageTranslation
+; 
+; Exports of file c_iscii.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY c_iscii.dll
+EXPORTS
+NlsDllCodePageTranslation
diff --git a/mingw-w64-crt/lib64/cabinet.def b/mingw-w64-crt/lib64/cabinet.def
index 8925352..17cc720 100644
--- a/mingw-w64-crt/lib64/cabinet.def
+++ b/mingw-w64-crt/lib64/cabinet.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file Cabinet.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Cabinet.dll
-EXPORTS
-GetDllVersion
-DllGetVersion
-Extract
-DeleteExtractedFiles
-FCICreate
-FCIAddFile
-FCIFlushFolder
-FCIFlushCabinet
-FCIDestroy
-FDICreate
-FDIIsCabinet
-FDICopy
-FDIDestroy
-FDITruncateCabinet
+; 
+; Exports of file Cabinet.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Cabinet.dll
+EXPORTS
+GetDllVersion
+DllGetVersion
+Extract
+DeleteExtractedFiles
+FCICreate
+FCIAddFile
+FCIFlushFolder
+FCIFlushCabinet
+FCIDestroy
+FDICreate
+FDIIsCabinet
+FDICopy
+FDIDestroy
+FDITruncateCabinet
diff --git a/mingw-w64-crt/lib64/cabview.def b/mingw-w64-crt/lib64/cabview.def
index a18cd14..0aa5210 100644
--- a/mingw-w64-crt/lib64/cabview.def
+++ b/mingw-w64-crt/lib64/cabview.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file CABVIEW.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CABVIEW.dll
-EXPORTS
-Uninstall
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CABVIEW.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CABVIEW.dll
+EXPORTS
+Uninstall
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/camocx.def b/mingw-w64-crt/lib64/camocx.def
index ed6ec38..b447a64 100644
--- a/mingw-w64-crt/lib64/camocx.def
+++ b/mingw-w64-crt/lib64/camocx.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file camocx.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY camocx.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file camocx.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY camocx.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/cards.def b/mingw-w64-crt/lib64/cards.def
index 3efcc77..f473405 100644
--- a/mingw-w64-crt/lib64/cards.def
+++ b/mingw-w64-crt/lib64/cards.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file CARDS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CARDS.dll
-EXPORTS
-WEP
-cdtAnimate
-cdtDraw
-cdtDrawExt
-cdtInit
-cdtTerm
+; 
+; Exports of file CARDS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CARDS.dll
+EXPORTS
+WEP
+cdtAnimate
+cdtDraw
+cdtDrawExt
+cdtInit
+cdtTerm
diff --git a/mingw-w64-crt/lib64/catsrv.def b/mingw-w64-crt/lib64/catsrv.def
index 0964f41..a32a2f9 100644
--- a/mingw-w64-crt/lib64/catsrv.def
+++ b/mingw-w64-crt/lib64/catsrv.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file catsrv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY catsrv.dll
-EXPORTS
-; long __cdecl CancelWriteICR(struct IComponentRecords * __ptr64 * __ptr64)
-?CancelWriteICR@@YAJPEAPEAUIComponentRecords@@@Z
-CreateComponentLibraryTS
-GetCatalogCRMClerk
-; long __cdecl GetReadICR(int,struct IComponentRecords * __ptr64 * __ptr64)
-?GetReadICR@@YAJHPEAPEAUIComponentRecords@@@Z
-; long __cdecl GetWriteICR(struct IComponentRecords * __ptr64 * __ptr64)
-?GetWriteICR@@YAJPEAPEAUIComponentRecords@@@Z
-OpenComponentLibrarySharedTS
-OpenComponentLibraryTS
-; void __cdecl ReleaseReadICR(struct IComponentRecords * __ptr64 * __ptr64)
-?ReleaseReadICR@@YAXPEAPEAUIComponentRecords@@@Z
-; long __cdecl SaveWriteICR(struct IComponentRecords * __ptr64 * __ptr64)
-?SaveWriteICR@@YAJPEAPEAUIComponentRecords@@@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file catsrv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY catsrv.dll
+EXPORTS
+; long __cdecl CancelWriteICR(struct IComponentRecords * __ptr64 * __ptr64)
+?CancelWriteICR@@YAJPEAPEAUIComponentRecords@@@Z
+CreateComponentLibraryTS
+GetCatalogCRMClerk
+; long __cdecl GetReadICR(int,struct IComponentRecords * __ptr64 * __ptr64)
+?GetReadICR@@YAJHPEAPEAUIComponentRecords@@@Z
+; long __cdecl GetWriteICR(struct IComponentRecords * __ptr64 * __ptr64)
+?GetWriteICR@@YAJPEAPEAUIComponentRecords@@@Z
+OpenComponentLibrarySharedTS
+OpenComponentLibraryTS
+; void __cdecl ReleaseReadICR(struct IComponentRecords * __ptr64 * __ptr64)
+?ReleaseReadICR@@YAXPEAPEAUIComponentRecords@@@Z
+; long __cdecl SaveWriteICR(struct IComponentRecords * __ptr64 * __ptr64)
+?SaveWriteICR@@YAJPEAPEAUIComponentRecords@@@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/catsrvps.def b/mingw-w64-crt/lib64/catsrvps.def
index 00c99ac..158c122 100644
--- a/mingw-w64-crt/lib64/catsrvps.def
+++ b/mingw-w64-crt/lib64/catsrvps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file catsrvps.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY catsrvps.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file catsrvps.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY catsrvps.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/catsrvut.def b/mingw-w64-crt/lib64/catsrvut.def
index 7f6452d..fe52cc1 100644
--- a/mingw-w64-crt/lib64/catsrvut.def
+++ b/mingw-w64-crt/lib64/catsrvut.def
@@ -1,56 +1,56 @@
-; 
-; Exports of file catsrvut.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY catsrvut.DLL
-EXPORTS
-; public: __cdecl CComPlusComponent::CComPlusComponent(class CComPlusComponent const & __ptr64) __ptr64
-??0CComPlusComponent@@QEAA@AEBV0@@Z
-; public: __cdecl CComPlusInterface::CComPlusInterface(class CComPlusInterface const & __ptr64) __ptr64
-??0CComPlusInterface@@QEAA@AEBV0@@Z
-; public: __cdecl CComPlusMethod::CComPlusMethod(class CComPlusMethod const & __ptr64) __ptr64
-??0CComPlusMethod@@QEAA@AEBV0@@Z
-; public: __cdecl CComPlusObject::CComPlusObject(class CComPlusObject const & __ptr64) __ptr64
-??0CComPlusObject@@QEAA@AEBV0@@Z
-; public: virtual __cdecl CComPlusComponent::~CComPlusComponent(void) __ptr64
-??1CComPlusComponent@@UEAA@XZ
-; public: virtual __cdecl CComPlusInterface::~CComPlusInterface(void) __ptr64
-??1CComPlusInterface@@UEAA@XZ
-; public: class CComPlusComponent & __ptr64 __cdecl CComPlusComponent::operator=(class CComPlusComponent const & __ptr64) __ptr64
-??4CComPlusComponent@@QEAAAEAV0@AEBV0@@Z
-; public: class CComPlusInterface & __ptr64 __cdecl CComPlusInterface::operator=(class CComPlusInterface const & __ptr64) __ptr64
-??4CComPlusInterface@@QEAAAEAV0@AEBV0@@Z
-; public: class CComPlusMethod & __ptr64 __cdecl CComPlusMethod::operator=(class CComPlusMethod const & __ptr64) __ptr64
-??4CComPlusMethod@@QEAAAEAV0@AEBV0@@Z
-; public: class CComPlusObject & __ptr64 __cdecl CComPlusObject::operator=(class CComPlusObject const & __ptr64) __ptr64
-??4CComPlusObject@@QEAAAEAV0@AEBV0@@Z
-; public: class CComPlusTypelib & __ptr64 __cdecl CComPlusTypelib::operator=(class CComPlusTypelib const & __ptr64) __ptr64
-??4CComPlusTypelib@@QEAAAEAV0@AEBV0@@Z
-; const  CComPlusComponent::`vftable'
-??_7CComPlusComponent@@6B@
-; const  CComPlusInterface::`vftable'
-??_7CComPlusInterface@@6B@
-; const  CComPlusMethod::`vftable'
-??_7CComPlusMethod@@6B@
-; const  CComPlusObject::`vftable'
-??_7CComPlusObject@@6B@
-; public: struct ITypeLib * __ptr64 __cdecl CComPlusTypelib::GetITypeLib(void) __ptr64
-?GetITypeLib@CComPlusTypelib@@QEAAPEAUITypeLib@@XZ
-RegDBBackup
-RegDBRestore
-StartMTSTOCOM
-WinlogonHandlePendingInfOperations
-CGMIsAdministrator
-COMPlusUninstallActionW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-FindAssemblyModulesW
-ManagedRequestW
-QueryUserDllW
-RunMTSToCom
-SysprepComplus
-SysprepComplus2
+; 
+; Exports of file catsrvut.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY catsrvut.DLL
+EXPORTS
+; public: __cdecl CComPlusComponent::CComPlusComponent(class CComPlusComponent const & __ptr64) __ptr64
+??0CComPlusComponent@@QEAA@AEBV0@@Z
+; public: __cdecl CComPlusInterface::CComPlusInterface(class CComPlusInterface const & __ptr64) __ptr64
+??0CComPlusInterface@@QEAA@AEBV0@@Z
+; public: __cdecl CComPlusMethod::CComPlusMethod(class CComPlusMethod const & __ptr64) __ptr64
+??0CComPlusMethod@@QEAA@AEBV0@@Z
+; public: __cdecl CComPlusObject::CComPlusObject(class CComPlusObject const & __ptr64) __ptr64
+??0CComPlusObject@@QEAA@AEBV0@@Z
+; public: virtual __cdecl CComPlusComponent::~CComPlusComponent(void) __ptr64
+??1CComPlusComponent@@UEAA@XZ
+; public: virtual __cdecl CComPlusInterface::~CComPlusInterface(void) __ptr64
+??1CComPlusInterface@@UEAA@XZ
+; public: class CComPlusComponent & __ptr64 __cdecl CComPlusComponent::operator=(class CComPlusComponent const & __ptr64) __ptr64
+??4CComPlusComponent@@QEAAAEAV0@AEBV0@@Z
+; public: class CComPlusInterface & __ptr64 __cdecl CComPlusInterface::operator=(class CComPlusInterface const & __ptr64) __ptr64
+??4CComPlusInterface@@QEAAAEAV0@AEBV0@@Z
+; public: class CComPlusMethod & __ptr64 __cdecl CComPlusMethod::operator=(class CComPlusMethod const & __ptr64) __ptr64
+??4CComPlusMethod@@QEAAAEAV0@AEBV0@@Z
+; public: class CComPlusObject & __ptr64 __cdecl CComPlusObject::operator=(class CComPlusObject const & __ptr64) __ptr64
+??4CComPlusObject@@QEAAAEAV0@AEBV0@@Z
+; public: class CComPlusTypelib & __ptr64 __cdecl CComPlusTypelib::operator=(class CComPlusTypelib const & __ptr64) __ptr64
+??4CComPlusTypelib@@QEAAAEAV0@AEBV0@@Z
+; const  CComPlusComponent::`vftable'
+??_7CComPlusComponent@@6B@
+; const  CComPlusInterface::`vftable'
+??_7CComPlusInterface@@6B@
+; const  CComPlusMethod::`vftable'
+??_7CComPlusMethod@@6B@
+; const  CComPlusObject::`vftable'
+??_7CComPlusObject@@6B@
+; public: struct ITypeLib * __ptr64 __cdecl CComPlusTypelib::GetITypeLib(void) __ptr64
+?GetITypeLib@CComPlusTypelib@@QEAAPEAUITypeLib@@XZ
+RegDBBackup
+RegDBRestore
+StartMTSTOCOM
+WinlogonHandlePendingInfOperations
+CGMIsAdministrator
+COMPlusUninstallActionW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+FindAssemblyModulesW
+ManagedRequestW
+QueryUserDllW
+RunMTSToCom
+SysprepComplus
+SysprepComplus2
diff --git a/mingw-w64-crt/lib64/ccfgnt.def b/mingw-w64-crt/lib64/ccfgnt.def
index a89d1e3..2a925ae 100644
--- a/mingw-w64-crt/lib64/ccfgnt.def
+++ b/mingw-w64-crt/lib64/ccfgnt.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file ICFGNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICFGNT.dll
-EXPORTS
-IcfgSetInstallSourcePath
-InetSetAutodialAddress
-IcfgGetLastInstallErrorText
-IcfgInstallInetComponents
-IcfgInstallModem
-IcfgIsFileSharingTurnedOn
-IcfgIsGlobalDNS
-IcfgNeedInetComponents
-IcfgNeedModem
-IcfgRemoveGlobalDNS
-IcfgStartServices
-IcfgTurnOffFileSharing
-InetGetAutodial
-InetGetSupportedPlatform
-InetSetAutodial
+; 
+; Exports of file ICFGNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICFGNT.dll
+EXPORTS
+IcfgSetInstallSourcePath
+InetSetAutodialAddress
+IcfgGetLastInstallErrorText
+IcfgInstallInetComponents
+IcfgInstallModem
+IcfgIsFileSharingTurnedOn
+IcfgIsGlobalDNS
+IcfgNeedInetComponents
+IcfgNeedModem
+IcfgRemoveGlobalDNS
+IcfgStartServices
+IcfgTurnOffFileSharing
+InetGetAutodial
+InetGetSupportedPlatform
+InetSetAutodial
diff --git a/mingw-w64-crt/lib64/cdfview.def b/mingw-w64-crt/lib64/cdfview.def
index 3a947b7..7b88614 100644
--- a/mingw-w64-crt/lib64/cdfview.def
+++ b/mingw-w64-crt/lib64/cdfview.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file CdfView.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CdfView.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-OpenChannel
-ParseDesktopComponent
-Subscribe
-SubscribeToCDF
+; 
+; Exports of file CdfView.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CdfView.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+OpenChannel
+ParseDesktopComponent
+Subscribe
+SubscribeToCDF
diff --git a/mingw-w64-crt/lib64/cdm.def b/mingw-w64-crt/lib64/cdm.def
index cf7b52f..ea73431 100644
--- a/mingw-w64-crt/lib64/cdm.def
+++ b/mingw-w64-crt/lib64/cdm.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file CDM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CDM.dll
-EXPORTS
-CancelCDMOperation
-CloseCDMContext
-DetFilesDownloaded
-DownloadGetUpdatedFiles
-DownloadIsInternetAvailable
-DownloadUpdatedFiles
-FindMatchingDriver
-LogDriverNotFound
-OpenCDMContext
-OpenCDMContextEx
-QueryDetectionFiles
+; 
+; Exports of file CDM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CDM.dll
+EXPORTS
+CancelCDMOperation
+CloseCDMContext
+DetFilesDownloaded
+DownloadGetUpdatedFiles
+DownloadIsInternetAvailable
+DownloadUpdatedFiles
+FindMatchingDriver
+LogDriverNotFound
+OpenCDMContext
+OpenCDMContextEx
+QueryDetectionFiles
diff --git a/mingw-w64-crt/lib64/cdosys.def b/mingw-w64-crt/lib64/cdosys.def
index ccee859..de67a44 100644
--- a/mingw-w64-crt/lib64/cdosys.def
+++ b/mingw-w64-crt/lib64/cdosys.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CdoSys.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CdoSys.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CdoSys.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CdoSys.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/certcli.def b/mingw-w64-crt/lib64/certcli.def
index d595935..06ae3e8 100644
--- a/mingw-w64-crt/lib64/certcli.def
+++ b/mingw-w64-crt/lib64/certcli.def
@@ -1,89 +1,89 @@
-; 
-; Exports of file certcli.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY certcli.dll
-EXPORTS
-CAAccessCheck
-CAAccessCheckEx
-CAAddCACertificateType
-CACertTypeAccessCheck
-CACertTypeAccessCheckEx
-CACertTypeGetSecurity
-CACertTypeQuery
-CACertTypeRegisterQuery
-CACertTypeSetSecurity
-CACertTypeUnregisterQuery
-CACloneCertType
-CACloseCA
-CACloseCertType
-CACountCAs
-CACountCertTypes
-CACreateAutoEnrollmentObjectEx
-CACreateCertType
-CACreateLocalAutoEnrollmentObject
-CACreateNewCA
-CADeleteCA
-CADeleteCertType
-CADeleteLocalAutoEnrollmentObject
-CAEnumCertTypes
-CAEnumCertTypesEx
-CAEnumCertTypesForCA
-CAEnumCertTypesForCAEx
-CAEnumFirstCA
-CAEnumNextCA
-CAEnumNextCertType
-CAFindByCertType
-CAFindByIssuerDN
-CAFindByName
-CAFindCertTypeByName
-CAFreeCAProperty
-CAFreeCertTypeExtensions
-CAFreeCertTypeProperty
-CAGetCACertificate
-CAGetCAExpiration
-CAGetCAFlags
-CAGetCAProperty
-CAGetCASecurity
-CAGetCertTypeExpiration
-CAGetCertTypeExtensions
-CAGetCertTypeExtensionsEx
-CAGetCertTypeFlags
-CAGetCertTypeFlagsEx
-CAGetCertTypeKeySpec
-CAGetCertTypeProperty
-CAGetCertTypePropertyEx
-CAGetDN
-CAInstallDefaultCertType
-CAIsCertTypeCurrent
-CAOIDAdd
-CAOIDCreateNew
-CAOIDDelete
-CAOIDFreeLdapURL
-CAOIDFreeProperty
-CAOIDGetLdapURL
-CAOIDGetProperty
-CAOIDSetProperty
-CARemoveCACertificateType
-CASetCACertificate
-CASetCAExpiration
-CASetCAFlags
-CASetCAProperty
-CASetCASecurity
-CASetCertTypeExpiration
-CASetCertTypeExtension
-CASetCertTypeFlags
-CASetCertTypeFlagsEx
-CASetCertTypeKeySpec
-CASetCertTypeProperty
-CASetCertTypePropertyEx
-CAUpdateCA
-CAUpdateCertType
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file certcli.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY certcli.dll
+EXPORTS
+CAAccessCheck
+CAAccessCheckEx
+CAAddCACertificateType
+CACertTypeAccessCheck
+CACertTypeAccessCheckEx
+CACertTypeGetSecurity
+CACertTypeQuery
+CACertTypeRegisterQuery
+CACertTypeSetSecurity
+CACertTypeUnregisterQuery
+CACloneCertType
+CACloseCA
+CACloseCertType
+CACountCAs
+CACountCertTypes
+CACreateAutoEnrollmentObjectEx
+CACreateCertType
+CACreateLocalAutoEnrollmentObject
+CACreateNewCA
+CADeleteCA
+CADeleteCertType
+CADeleteLocalAutoEnrollmentObject
+CAEnumCertTypes
+CAEnumCertTypesEx
+CAEnumCertTypesForCA
+CAEnumCertTypesForCAEx
+CAEnumFirstCA
+CAEnumNextCA
+CAEnumNextCertType
+CAFindByCertType
+CAFindByIssuerDN
+CAFindByName
+CAFindCertTypeByName
+CAFreeCAProperty
+CAFreeCertTypeExtensions
+CAFreeCertTypeProperty
+CAGetCACertificate
+CAGetCAExpiration
+CAGetCAFlags
+CAGetCAProperty
+CAGetCASecurity
+CAGetCertTypeExpiration
+CAGetCertTypeExtensions
+CAGetCertTypeExtensionsEx
+CAGetCertTypeFlags
+CAGetCertTypeFlagsEx
+CAGetCertTypeKeySpec
+CAGetCertTypeProperty
+CAGetCertTypePropertyEx
+CAGetDN
+CAInstallDefaultCertType
+CAIsCertTypeCurrent
+CAOIDAdd
+CAOIDCreateNew
+CAOIDDelete
+CAOIDFreeLdapURL
+CAOIDFreeProperty
+CAOIDGetLdapURL
+CAOIDGetProperty
+CAOIDSetProperty
+CARemoveCACertificateType
+CASetCACertificate
+CASetCAExpiration
+CASetCAFlags
+CASetCAProperty
+CASetCASecurity
+CASetCertTypeExpiration
+CASetCertTypeExtension
+CASetCertTypeFlags
+CASetCertTypeFlagsEx
+CASetCertTypeKeySpec
+CASetCertTypeProperty
+CASetCertTypePropertyEx
+CAUpdateCA
+CAUpdateCertType
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/certmgr.def b/mingw-w64-crt/lib64/certmgr.def
index 286efdd..9ffa779 100644
--- a/mingw-w64-crt/lib64/certmgr.def
+++ b/mingw-w64-crt/lib64/certmgr.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file CertMgr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CertMgr.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CertMgr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CertMgr.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/certobj.def b/mingw-w64-crt/lib64/certobj.def
index e3463de..f8b0688 100644
--- a/mingw-w64-crt/lib64/certobj.def
+++ b/mingw-w64-crt/lib64/certobj.def
@@ -1,466 +1,466 @@
-; 
-; Exports of file CertObj.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CertObj.DLL
-EXPORTS
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class IIS::CString const * __ptr64,class IIS::CString const * __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@PEBVCString@IIS@@0AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@Vconst_iterator@01@0AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned __int64,class IIS::CString const & __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@_KAEBVCString@IIS@@AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl CError::CError(class CError const & __ptr64) __ptr64
-??0CError@@QEAA@AEBV0@@Z
-; public: __cdecl CError::CError(long) __ptr64
-??0CError@@QEAA@J@Z
-; public: __cdecl CError::CError(unsigned long) __ptr64
-??0CError@@QEAA@K@Z
-; public: __cdecl CError::CError(void) __ptr64
-??0CError@@QEAA@XZ
-; public: __cdecl CIISApplication::CIISApplication(class CIISApplication & __ptr64) __ptr64
-??0CIISApplication@@QEAA@AEAV0@@Z
-; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
-??0CIISInterface@@QEAA@AEAV0@@Z
-; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
-??0CIISSvcControl@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
-??0CMetaBack@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
-??0CMetaEnumerator@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface & __ptr64) __ptr64
-??0CMetaInterface@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CMetaKey & __ptr64) __ptr64
-??0CMetaKey@@QEAA@AEAV0@@Z
-; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
-??0CMetabasePath@@QEAA@AEBV0@@Z
-; public: __cdecl CStringListEx::CStringListEx(class CStringListEx const & __ptr64) __ptr64
-??0CStringListEx@@QEAA@AEBV0@@Z
-; public: __cdecl CWamInterface::CWamInterface(class CWamInterface & __ptr64) __ptr64
-??0CWamInterface@@QEAA@AEAV0@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void) __ptr64
-??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@XZ
-; public: __cdecl CBlob::~CBlob(void) __ptr64
-??1CBlob@@QEAA@XZ
-; public: __cdecl CComAuthInfo::~CComAuthInfo(void) __ptr64
-??1CComAuthInfo@@QEAA@XZ
-; public: virtual __cdecl CIISApplication::~CIISApplication(void) __ptr64
-??1CIISApplication@@UEAA@XZ
-; public: __cdecl CIISInterface::~CIISInterface(void) __ptr64
-??1CIISInterface@@QEAA@XZ
-; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
-??1CMetaBack@@UEAA@XZ
-; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
-??1CMetaEnumerator@@UEAA@XZ
-; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
-??1CMetabasePath@@QEAA@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::operator=(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
-??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class CError const & __ptr64 __cdecl CError::operator=(class CError const & __ptr64) __ptr64
-??4CError@@QEAAAEBV0@AEBV0@@Z
-; public: class CError const & __ptr64 __cdecl CError::operator=(long) __ptr64
-??4CError@@QEAAAEBV0@J@Z
-; public: class CIISApplication & __ptr64 __cdecl CIISApplication::operator=(class CIISApplication & __ptr64) __ptr64
-??4CIISApplication@@QEAAAEAV0@AEAV0@@Z
-; public: class CIISInterface & __ptr64 __cdecl CIISInterface::operator=(class CIISInterface & __ptr64) __ptr64
-??4CIISInterface@@QEAAAEAV0@AEAV0@@Z
-; public: class CIISSvcControl & __ptr64 __cdecl CIISSvcControl::operator=(class CIISSvcControl & __ptr64) __ptr64
-??4CIISSvcControl@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaBack & __ptr64 __cdecl CMetaBack::operator=(class CMetaBack & __ptr64) __ptr64
-??4CMetaBack@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaEnumerator & __ptr64 __cdecl CMetaEnumerator::operator=(class CMetaEnumerator & __ptr64) __ptr64
-??4CMetaEnumerator@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaInterface & __ptr64 __cdecl CMetaInterface::operator=(class CMetaInterface & __ptr64) __ptr64
-??4CMetaInterface@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaKey & __ptr64 __cdecl CMetaKey::operator=(class CMetaKey & __ptr64) __ptr64
-??4CMetaKey@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetabasePath & __ptr64 __cdecl CMetabasePath::operator=(class CMetabasePath const & __ptr64) __ptr64
-??4CMetabasePath@@QEAAAEAV0@AEBV0@@Z
-; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringListEx const & __ptr64) __ptr64
-??4CStringListEx@@QEAAAEAV0@AEBV0@@Z
-; public: class CWamInterface & __ptr64 __cdecl CWamInterface::operator=(class CWamInterface & __ptr64) __ptr64
-??4CWamInterface@@QEAAAEAV0@AEAV0@@Z
-; public: int const  __cdecl CError::operator==(class CError & __ptr64) __ptr64
-??8CError@@QEAA?BHAEAV0@@Z
-; public: int const  __cdecl CError::operator==(long) __ptr64
-??8CError@@QEAA?BHJ@Z
-; public: int __cdecl CBlob::operator!=(class CBlob const & __ptr64)const  __ptr64
-??9CBlob@@QEBAHAEBV0@@Z
-; public: int const  __cdecl CError::operator!=(class CError & __ptr64) __ptr64
-??9CError@@QEAA?BHAEAV0@@Z
-; public: int const  __cdecl CError::operator!=(long) __ptr64
-??9CError@@QEAA?BHJ@Z
-; public: bool __cdecl CStrPassword::operator!=(class CStrPassword & __ptr64) __ptr64
-??9CStrPassword@@QEAA_NAEAV0@@Z
-; public: __cdecl CComAuthInfo::operator unsigned short * __ptr64(void) __ptr64
-??BCComAuthInfo@@QEAAPEAGXZ
-; public: __cdecl CComAuthInfo::operator class CComAuthInfo * __ptr64(void) __ptr64
-??BCComAuthInfo@@QEAAPEAV0@XZ
-; public: __cdecl CError::operator unsigned short const * __ptr64(void) __ptr64
-??BCError@@QEAAPEBGXZ
-; public: __cdecl CError::operator int const (void)const  __ptr64
-??BCError@@QEBA?BHXZ
-; public: __cdecl CError::operator long const (void)const  __ptr64
-??BCError@@QEBA?BJXZ
-; public: __cdecl CError::operator unsigned long const (void)const  __ptr64
-??BCError@@QEBA?BKXZ
-; public: __cdecl CIISInterface::operator int(void)const  __ptr64
-??BCIISInterface@@QEBAHXZ
-; public: __cdecl CIISInterface::operator long(void)const  __ptr64
-??BCIISInterface@@QEBAJXZ
-; public: __cdecl CMetaKey::operator int(void)const  __ptr64
-??BCMetaKey@@QEBAHXZ
-; public: __cdecl CMetaKey::operator unsigned long(void)const  __ptr64
-??BCMetaKey@@QEBAKXZ
-; public: __cdecl CMetaKey::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCMetaKey@@QEBAPEBGXZ
-; public: __cdecl CMetabasePath::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCMetabasePath@@QEBAPEBGXZ
-; const  CIISApplication::`vftable'{for `CMetaKey'}
-??_7CIISApplication@@6BCMetaKey@@@
-; const  CIISApplication::`vftable'{for `CWamInterface'}
-??_7CIISApplication@@6BCWamInterface@@@
-; const  CIISInterface::`vftable'
-??_7CIISInterface@@6B@
-; const  CIISSvcControl::`vftable'
-??_7CIISSvcControl@@6B@
-; const  CMetaBack::`vftable'{for `CMetaInterface'}
-??_7CMetaBack@@6BCMetaInterface@@@
-; const  CMetaBack::`vftable'{for `CWamInterface'}
-??_7CMetaBack@@6BCWamInterface@@@
-; const  CMetaEnumerator::`vftable'
-??_7CMetaEnumerator@@6B@
-; const  CMetaInterface::`vftable'
-??_7CMetaInterface@@6B@
-; const  CMetaKey::`vftable'
-??_7CMetaKey@@6B@
-; const  CWamInterface::`vftable'
-??_7CWamInterface@@6B@
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void) __ptr64
-??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl CComAuthInfo::`default constructor closure'(void) __ptr64
-??_FCComAuthInfo@@QEAAXXZ
-; public: void __cdecl CMetabasePath::`default constructor closure'(void) __ptr64
-??_FCMetabasePath@@QEAAXXZ
-; protected: long __cdecl CMetaInterface::AddKey(unsigned long,unsigned short const * __ptr64) __ptr64
-?AddKey@CMetaInterface@@IEAAJKPEBG@Z
-; public: long __cdecl CMetaKey::AddKey(unsigned short const * __ptr64) __ptr64
-?AddKey@CMetaKey@@QEAAJPEBG@Z
-; protected: long __cdecl CWamInterface::AppDelete(unsigned short const * __ptr64,int) __ptr64
-?AppDelete@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppDeleteRecoverable(unsigned short const * __ptr64,int) __ptr64
-?AppDeleteRecoverable@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppGetStatus(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?AppGetStatus@CWamInterface@@IEAAJPEBGPEAK@Z
-; protected: long __cdecl CWamInterface::AppRecover(unsigned short const * __ptr64,int) __ptr64
-?AppRecover@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppUnLoad(unsigned short const * __ptr64,int) __ptr64
-?AppUnLoad@CWamInterface@@IEAAJPEBGH@Z
-; protected: virtual long __cdecl CIISSvcControl::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CIISSvcControl@@MEAAJXZ
-; protected: virtual long __cdecl CMetaBack::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CMetaBack@@MEAAJXZ
-; protected: virtual long __cdecl CMetaInterface::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CMetaInterface@@MEAAJXZ
-; protected: virtual long __cdecl CWamInterface::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CWamInterface@@MEAAJXZ
-; public: long __cdecl CMetaBack::Backup(unsigned short const * __ptr64) __ptr64
-?Backup@CMetaBack@@QEAAJPEBG@Z
-; protected: long __cdecl CMetaInterface::Backup(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?Backup@CMetaInterface@@IEAAJPEBGKK@Z
-; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
-; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
-?CloseKey@CMetaInterface@@IEAAJK@Z
-; protected: long __cdecl CMetaInterface::CopyData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
-?CopyData@CMetaInterface@@IEAAJKPEBGK0KKKH@Z
-; protected: long __cdecl CMetaInterface::CopyKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int,int) __ptr64
-?CopyKey@CMetaInterface@@IEAAJKPEBGK0HH@Z
-; public: long __cdecl CIISApplication::Delete(int) __ptr64
-?Delete@CIISApplication@@QEAAJH@Z
-; public: long __cdecl CMetaBack::Delete(unsigned short const * __ptr64,unsigned long) __ptr64
-?Delete@CMetaBack@@QEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::DeleteAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?DeleteAllData@CMetaInterface@@IEAAJKPEBGKK@Z
-; protected: long __cdecl CMetaInterface::DeleteBackup(unsigned short const * __ptr64,unsigned long) __ptr64
-?DeleteBackup@CMetaInterface@@IEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteChildKeys@CMetaInterface@@IEAAJKPEBG@Z
-; protected: long __cdecl CMetaInterface::DeleteData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?DeleteData@CMetaInterface@@IEAAJKPEBGKK@Z
-; protected: long __cdecl CMetaInterface::DeleteKey(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteKey@CMetaInterface@@IEAAJKPEBG@Z
-; public: long __cdecl CMetaKey::DeleteKey(unsigned short const * __ptr64) __ptr64
-?DeleteKey@CMetaKey@@QEAAJPEBG@Z
-; public: long __cdecl CIISApplication::DeleteRecoverable(int) __ptr64
-?DeleteRecoverable@CIISApplication@@QEAAJH@Z
-; protected: long __cdecl CMetaInterface::EnumBackups(unsigned short * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
-?EnumBackups@CMetaInterface@@IEAAJPEAGPEAKPEAU_FILETIME@@K@Z
-; protected: long __cdecl CMetaInterface::EnumData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?EnumData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@KPEAK@Z
-; protected: long __cdecl CMetaInterface::EnumKeys(unsigned long,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
-?EnumKeys@CMetaInterface@@IEAAJKPEBGPEAGK@Z
-; public: int __cdecl CError::Failed(void)const  __ptr64
-?Failed@CError@@QEBAHXZ
-; public: static int __cdecl CError::Failed(long)
-?Failed@CError@@SAHJ@Z
-; protected: long __cdecl CMetaInterface::GetAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
-?GetAllData@CMetaInterface@@IEAAJKPEBGKKKPEAK1KPEAE1@Z
-; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
-?GetBase@CMetaKey@@QEBAKXZ
-; public: unsigned char * __ptr64 __cdecl CBlob::GetData(void) __ptr64
-?GetData@CBlob@@QEAAPEAEXZ
-; protected: long __cdecl CMetaInterface::GetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long * __ptr64) __ptr64
-?GetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@PEAK@Z
-; protected: long __cdecl CMetaInterface::GetDataPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetDataPaths@CMetaInterface@@IEAAJKPEBGKKKPEAGPEAK@Z
-; public: unsigned long __cdecl CMetaKey::GetHandle(void)const  __ptr64
-?GetHandle@CMetaKey@@QEBAKXZ
-; public: unsigned long __cdecl CMetaEnumerator::GetIndex(void) __ptr64
-?GetIndex@CMetaEnumerator@@QEAAKXZ
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetInstancePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetInstancePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: struct IMSAdminBaseW * __ptr64 __cdecl CMetaInterface::GetInterface(void) __ptr64
-?GetInterface@CMetaInterface@@QEAAPEAUIMSAdminBaseW@@XZ
-; protected: long __cdecl CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
-?GetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
-; public: void __cdecl CError::GetLastWinError(void) __ptr64
-?GetLastWinError@CError@@QEAAXXZ
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetMachinePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetMachinePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetRootPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetRootPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServicePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetServicePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: unsigned long __cdecl CBlob::GetSize(void)const  __ptr64
-?GetSize@CBlob@@QEBAKXZ
-; public: long __cdecl CError::HResult(void)const  __ptr64
-?HResult@CError@@QEBAJXZ
-; public: static long __cdecl CError::HResult(long)
-?HResult@CError@@SAJJ@Z
-; protected: int __cdecl CIISSvcControl::HasInterface(void)const  __ptr64
-?HasInterface@CIISSvcControl@@IEBAHXZ
-; protected: int __cdecl CMetaInterface::HasInterface(void)const  __ptr64
-?HasInterface@CMetaInterface@@IEBAHXZ
-; protected: int __cdecl CWamInterface::HasInterface(void)const  __ptr64
-?HasInterface@CWamInterface@@IEBAHXZ
-; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
-?IsEmpty@CBlob@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsEnabledApplication(void)const  __ptr64
-?IsEnabledApplication@CIISApplication@@QEBAHXZ
-; public: int __cdecl CMetaKey::IsHomeDirectoryPath(void)const  __ptr64
-?IsHomeDirectoryPath@CMetaKey@@QEBAHXZ
-; public: int __cdecl CMetabasePath::IsHomeDirectoryPath(void)const  __ptr64
-?IsHomeDirectoryPath@CMetabasePath@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsInproc(void)const  __ptr64
-?IsInproc@CIISApplication@@QEBAHXZ
-; public: int __cdecl CComAuthInfo::IsLocal(void)const  __ptr64
-?IsLocal@CComAuthInfo@@QEBAHXZ
-; public: int __cdecl CIISInterface::IsLocal(void)const  __ptr64
-?IsLocal@CIISInterface@@QEBAHXZ
-; public: int __cdecl CMetaKey::IsOpen(void)const  __ptr64
-?IsOpen@CMetaKey@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsOutOfProc(void)const  __ptr64
-?IsOutOfProc@CIISApplication@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsPooledProc(void)const  __ptr64
-?IsPooledProc@CIISApplication@@QEBAHXZ
-; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
-?Kill@CIISSvcControl@@QEAAJXZ
-; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
-?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
-; protected: long __cdecl CMetaInterface::OpenKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?OpenKey@CMetaInterface@@IEAAJKPEBGKPEAK@Z
-; public: void __cdecl CMetaEnumerator::Pop(void) __ptr64
-?Pop@CMetaEnumerator@@QEAAXXZ
-; public: void __cdecl CMetaEnumerator::Push(void) __ptr64
-?Push@CMetaEnumerator@@QEAAXXZ
-; public: unsigned long __cdecl CIISApplication::QueryAppState(void)const  __ptr64
-?QueryAppState@CIISApplication@@QEBAKXZ
-; public: class CComAuthInfo * __ptr64 __cdecl CIISInterface::QueryAuthInfo(void) __ptr64
-?QueryAuthInfo@CIISInterface@@QEAAPEAVCComAuthInfo@@XZ
-; public: unsigned long __cdecl CMetaKey::QueryFlags(void)const  __ptr64
-?QueryFlags@CMetaKey@@QEBAKXZ
-; public: unsigned short const * __ptr64 __cdecl CMetaKey::QueryMetaPath(void)const  __ptr64
-?QueryMetaPath@CMetaKey@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CMetabasePath::QueryMetaPath(void)const  __ptr64
-?QueryMetaPath@CMetabasePath@@QEBAPEBGXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryPassword(void)const  __ptr64
-?QueryPassword@CComAuthInfo@@QEBAPEAGXZ
-; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
-?QueryResult@CIISInterface@@UEBAJXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryServerName(void)const  __ptr64
-?QueryServerName@CComAuthInfo@@QEBAPEAGXZ
-; public: unsigned short const * __ptr64 __cdecl CIISInterface::QueryServerName(void)const  __ptr64
-?QueryServerName@CIISInterface@@QEBAPEBGXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryUserName(void)const  __ptr64
-?QueryUserName@CComAuthInfo@@QEBAPEAGXZ
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,int & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAHPEAHPEBGPEAK@Z
-; public: unsigned short const * __ptr64 __cdecl CIISApplication::QueryWamPath(void)const  __ptr64
-?QueryWamPath@CIISApplication@@QEBAPEBGXZ
-; public: long __cdecl CMetaKey::ReOpen(unsigned long) __ptr64
-?ReOpen@CMetaKey@@QEAAJK@Z
-; public: long __cdecl CMetaKey::ReOpen(void) __ptr64
-?ReOpen@CMetaKey@@QEAAJXZ
-; public: long __cdecl CIISSvcControl::Reboot(unsigned long,int) __ptr64
-?Reboot@CIISSvcControl@@QEAAJKH@Z
-; public: long __cdecl CIISApplication::Recover(int) __ptr64
-?Recover@CIISApplication@@QEAAJH@Z
-; public: void __cdecl CError::RemoveOverride(long) __ptr64
-?RemoveOverride@CError@@QEAAXJ@Z
-; protected: long __cdecl CMetaInterface::RenameKey(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?RenameKey@CMetaInterface@@IEAAJKPEBG0@Z
-; public: long __cdecl CMetaKey::RenameKey(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?RenameKey@CMetaKey@@QEAAJPEBG0@Z
-; public: void __cdecl CError::Reset(void) __ptr64
-?Reset@CError@@QEAAXXZ
-; public: void __cdecl CMetaBack::Reset(void) __ptr64
-?Reset@CMetaBack@@QEAAXXZ
-; public: void __cdecl CMetaEnumerator::Reset(unsigned long) __ptr64
-?Reset@CMetaEnumerator@@QEAAXK@Z
-; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?Restore@CMetaInterface@@IEAAJPEBGKK@Z
-; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
-?SaveData@CMetaInterface@@QEAAJXZ
-; protected: long __cdecl CMetaInterface::SetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64) __ptr64
-?SetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@@Z
-; protected: long __cdecl CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
-?SetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
-; public: void __cdecl CError::SetLastWinError(void)const  __ptr64
-?SetLastWinError@CError@@QEBAXXZ
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,int,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKHPEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,unsigned long,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKKPEAHPEBG@Z
-; public: long __cdecl CIISSvcControl::Start(unsigned long) __ptr64
-?Start@CIISSvcControl@@QEAAJK@Z
-; public: long __cdecl CIISSvcControl::Status(unsigned long,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?Status@CIISSvcControl@@QEAAJKPEAEPEAK1@Z
-; public: long __cdecl CIISSvcControl::Stop(unsigned long,int) __ptr64
-?Stop@CIISSvcControl@@QEAAJKH@Z
-; public: void __cdecl CComAuthInfo::StorePassword(unsigned short const * __ptr64) __ptr64
-?StorePassword@CComAuthInfo@@QEAAXPEBG@Z
-; public: int __cdecl CError::Succeeded(void)const  __ptr64
-?Succeeded@CError@@QEBAHXZ
-; public: static int __cdecl CError::Succeeded(long)
-?Succeeded@CError@@SAHJ@Z
-; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
-?Succeeded@CIISInterface@@UEBAHXZ
-; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
-?SupportsPooledProc@CWamInterface@@QEBAHXZ
-; public: long __cdecl CIISApplication::Unload(int) __ptr64
-?Unload@CIISApplication@@QEAAJH@Z
-; public: static void __cdecl CError::UnregisterFacility(unsigned long)
-?UnregisterFacility@CError@@SAXK@Z
-; public: int __cdecl CComAuthInfo::UsesImpersonation(void)const  __ptr64
-?UsesImpersonation@CComAuthInfo@@QEBAHXZ
-; public: unsigned long __cdecl CError::Win32Error(void)const  __ptr64
-?Win32Error@CError@@QEBAKXZ
-; public: static unsigned long __cdecl CError::Win32Error(long)
-?Win32Error@CError@@SAKJ@Z
-; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Buynode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
-?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAPEAU_Node@12@PEAU312@0@Z
-; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Freenode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
-?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXPEAU_Node@12@@Z
-; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXViterator@12@AEAV12@00@Z
-; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const  __ptr64
-?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEBAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
-?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXVconst_iterator@12@0@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned __int64,class IIS::CString const & __ptr64) __ptr64
-?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KAEBVCString@IIS@@@Z
-; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void) __ptr64
-?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
-; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const  __ptr64
-?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void) __ptr64
-?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const  __ptr64
-?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void) __ptr64
-?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: bool __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const  __ptr64
-?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_NXZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void) __ptr64
-?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const  __ptr64
-?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@0@Z
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@@Z
-; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void) __ptr64
-?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
-; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const  __ptr64
-?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
-; public: class std::allocator<class IIS::CString>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const  __ptr64
-?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$allocator@VCString@IIS@@@2@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const & __ptr64) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@AEBVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const * __ptr64,class IIS::CString const * __ptr64) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@PEBVCString@IIS@@1@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@Vconst_iterator@12@1@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,unsigned __int64,class IIS::CString const & __ptr64) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@_KAEBVCString@IIS@@@Z
-; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const  __ptr64
-?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
-?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,struct std::greater<class IIS::CString>) __ptr64
-?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@U?$greater@VCString@IIS@@@2@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void) __ptr64
-?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void) __ptr64
-?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const & __ptr64) __ptr64
-?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const & __ptr64) __ptr64
-?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void) __ptr64
-?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const  __ptr64
-?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const & __ptr64) __ptr64
-?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >) __ptr64
-?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXV?$binder2nd@U?$not_equal_to@VCString@IIS@@@std@@@2@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void) __ptr64
-?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const  __ptr64
-?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned __int64,class IIS::CString) __ptr64
-?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void) __ptr64
-?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const  __ptr64
-?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>) __ptr64
-?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$greater@VCString@IIS@@@2@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void) __ptr64
-?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@00@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@0@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
-?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>) __ptr64
-?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$not_equal_to@VCString@IIS@@@2@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void) __ptr64
-?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CertObj.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CertObj.DLL
+EXPORTS
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class IIS::CString const * __ptr64,class IIS::CString const * __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@PEBVCString@IIS@@0AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@Vconst_iterator@01@0AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned __int64,class IIS::CString const & __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@_KAEBVCString@IIS@@AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl CError::CError(class CError const & __ptr64) __ptr64
+??0CError@@QEAA@AEBV0@@Z
+; public: __cdecl CError::CError(long) __ptr64
+??0CError@@QEAA@J@Z
+; public: __cdecl CError::CError(unsigned long) __ptr64
+??0CError@@QEAA@K@Z
+; public: __cdecl CError::CError(void) __ptr64
+??0CError@@QEAA@XZ
+; public: __cdecl CIISApplication::CIISApplication(class CIISApplication & __ptr64) __ptr64
+??0CIISApplication@@QEAA@AEAV0@@Z
+; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
+??0CIISInterface@@QEAA@AEAV0@@Z
+; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
+??0CIISSvcControl@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
+??0CMetaBack@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
+??0CMetaEnumerator@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface & __ptr64) __ptr64
+??0CMetaInterface@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CMetaKey & __ptr64) __ptr64
+??0CMetaKey@@QEAA@AEAV0@@Z
+; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
+??0CMetabasePath@@QEAA@AEBV0@@Z
+; public: __cdecl CStringListEx::CStringListEx(class CStringListEx const & __ptr64) __ptr64
+??0CStringListEx@@QEAA@AEBV0@@Z
+; public: __cdecl CWamInterface::CWamInterface(class CWamInterface & __ptr64) __ptr64
+??0CWamInterface@@QEAA@AEAV0@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void) __ptr64
+??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@XZ
+; public: __cdecl CBlob::~CBlob(void) __ptr64
+??1CBlob@@QEAA@XZ
+; public: __cdecl CComAuthInfo::~CComAuthInfo(void) __ptr64
+??1CComAuthInfo@@QEAA@XZ
+; public: virtual __cdecl CIISApplication::~CIISApplication(void) __ptr64
+??1CIISApplication@@UEAA@XZ
+; public: __cdecl CIISInterface::~CIISInterface(void) __ptr64
+??1CIISInterface@@QEAA@XZ
+; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
+??1CMetaBack@@UEAA@XZ
+; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
+??1CMetaEnumerator@@UEAA@XZ
+; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
+??1CMetabasePath@@QEAA@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::operator=(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
+??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class CError const & __ptr64 __cdecl CError::operator=(class CError const & __ptr64) __ptr64
+??4CError@@QEAAAEBV0@AEBV0@@Z
+; public: class CError const & __ptr64 __cdecl CError::operator=(long) __ptr64
+??4CError@@QEAAAEBV0@J@Z
+; public: class CIISApplication & __ptr64 __cdecl CIISApplication::operator=(class CIISApplication & __ptr64) __ptr64
+??4CIISApplication@@QEAAAEAV0@AEAV0@@Z
+; public: class CIISInterface & __ptr64 __cdecl CIISInterface::operator=(class CIISInterface & __ptr64) __ptr64
+??4CIISInterface@@QEAAAEAV0@AEAV0@@Z
+; public: class CIISSvcControl & __ptr64 __cdecl CIISSvcControl::operator=(class CIISSvcControl & __ptr64) __ptr64
+??4CIISSvcControl@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaBack & __ptr64 __cdecl CMetaBack::operator=(class CMetaBack & __ptr64) __ptr64
+??4CMetaBack@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaEnumerator & __ptr64 __cdecl CMetaEnumerator::operator=(class CMetaEnumerator & __ptr64) __ptr64
+??4CMetaEnumerator@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaInterface & __ptr64 __cdecl CMetaInterface::operator=(class CMetaInterface & __ptr64) __ptr64
+??4CMetaInterface@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaKey & __ptr64 __cdecl CMetaKey::operator=(class CMetaKey & __ptr64) __ptr64
+??4CMetaKey@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetabasePath & __ptr64 __cdecl CMetabasePath::operator=(class CMetabasePath const & __ptr64) __ptr64
+??4CMetabasePath@@QEAAAEAV0@AEBV0@@Z
+; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringListEx const & __ptr64) __ptr64
+??4CStringListEx@@QEAAAEAV0@AEBV0@@Z
+; public: class CWamInterface & __ptr64 __cdecl CWamInterface::operator=(class CWamInterface & __ptr64) __ptr64
+??4CWamInterface@@QEAAAEAV0@AEAV0@@Z
+; public: int const  __cdecl CError::operator==(class CError & __ptr64) __ptr64
+??8CError@@QEAA?BHAEAV0@@Z
+; public: int const  __cdecl CError::operator==(long) __ptr64
+??8CError@@QEAA?BHJ@Z
+; public: int __cdecl CBlob::operator!=(class CBlob const & __ptr64)const  __ptr64
+??9CBlob@@QEBAHAEBV0@@Z
+; public: int const  __cdecl CError::operator!=(class CError & __ptr64) __ptr64
+??9CError@@QEAA?BHAEAV0@@Z
+; public: int const  __cdecl CError::operator!=(long) __ptr64
+??9CError@@QEAA?BHJ@Z
+; public: bool __cdecl CStrPassword::operator!=(class CStrPassword & __ptr64) __ptr64
+??9CStrPassword@@QEAA_NAEAV0@@Z
+; public: __cdecl CComAuthInfo::operator unsigned short * __ptr64(void) __ptr64
+??BCComAuthInfo@@QEAAPEAGXZ
+; public: __cdecl CComAuthInfo::operator class CComAuthInfo * __ptr64(void) __ptr64
+??BCComAuthInfo@@QEAAPEAV0@XZ
+; public: __cdecl CError::operator unsigned short const * __ptr64(void) __ptr64
+??BCError@@QEAAPEBGXZ
+; public: __cdecl CError::operator int const (void)const  __ptr64
+??BCError@@QEBA?BHXZ
+; public: __cdecl CError::operator long const (void)const  __ptr64
+??BCError@@QEBA?BJXZ
+; public: __cdecl CError::operator unsigned long const (void)const  __ptr64
+??BCError@@QEBA?BKXZ
+; public: __cdecl CIISInterface::operator int(void)const  __ptr64
+??BCIISInterface@@QEBAHXZ
+; public: __cdecl CIISInterface::operator long(void)const  __ptr64
+??BCIISInterface@@QEBAJXZ
+; public: __cdecl CMetaKey::operator int(void)const  __ptr64
+??BCMetaKey@@QEBAHXZ
+; public: __cdecl CMetaKey::operator unsigned long(void)const  __ptr64
+??BCMetaKey@@QEBAKXZ
+; public: __cdecl CMetaKey::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCMetaKey@@QEBAPEBGXZ
+; public: __cdecl CMetabasePath::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCMetabasePath@@QEBAPEBGXZ
+; const  CIISApplication::`vftable'{for `CMetaKey'}
+??_7CIISApplication@@6BCMetaKey@@@
+; const  CIISApplication::`vftable'{for `CWamInterface'}
+??_7CIISApplication@@6BCWamInterface@@@
+; const  CIISInterface::`vftable'
+??_7CIISInterface@@6B@
+; const  CIISSvcControl::`vftable'
+??_7CIISSvcControl@@6B@
+; const  CMetaBack::`vftable'{for `CMetaInterface'}
+??_7CMetaBack@@6BCMetaInterface@@@
+; const  CMetaBack::`vftable'{for `CWamInterface'}
+??_7CMetaBack@@6BCWamInterface@@@
+; const  CMetaEnumerator::`vftable'
+??_7CMetaEnumerator@@6B@
+; const  CMetaInterface::`vftable'
+??_7CMetaInterface@@6B@
+; const  CMetaKey::`vftable'
+??_7CMetaKey@@6B@
+; const  CWamInterface::`vftable'
+??_7CWamInterface@@6B@
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void) __ptr64
+??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl CComAuthInfo::`default constructor closure'(void) __ptr64
+??_FCComAuthInfo@@QEAAXXZ
+; public: void __cdecl CMetabasePath::`default constructor closure'(void) __ptr64
+??_FCMetabasePath@@QEAAXXZ
+; protected: long __cdecl CMetaInterface::AddKey(unsigned long,unsigned short const * __ptr64) __ptr64
+?AddKey@CMetaInterface@@IEAAJKPEBG@Z
+; public: long __cdecl CMetaKey::AddKey(unsigned short const * __ptr64) __ptr64
+?AddKey@CMetaKey@@QEAAJPEBG@Z
+; protected: long __cdecl CWamInterface::AppDelete(unsigned short const * __ptr64,int) __ptr64
+?AppDelete@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppDeleteRecoverable(unsigned short const * __ptr64,int) __ptr64
+?AppDeleteRecoverable@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppGetStatus(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?AppGetStatus@CWamInterface@@IEAAJPEBGPEAK@Z
+; protected: long __cdecl CWamInterface::AppRecover(unsigned short const * __ptr64,int) __ptr64
+?AppRecover@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppUnLoad(unsigned short const * __ptr64,int) __ptr64
+?AppUnLoad@CWamInterface@@IEAAJPEBGH@Z
+; protected: virtual long __cdecl CIISSvcControl::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CIISSvcControl@@MEAAJXZ
+; protected: virtual long __cdecl CMetaBack::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CMetaBack@@MEAAJXZ
+; protected: virtual long __cdecl CMetaInterface::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CMetaInterface@@MEAAJXZ
+; protected: virtual long __cdecl CWamInterface::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CWamInterface@@MEAAJXZ
+; public: long __cdecl CMetaBack::Backup(unsigned short const * __ptr64) __ptr64
+?Backup@CMetaBack@@QEAAJPEBG@Z
+; protected: long __cdecl CMetaInterface::Backup(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?Backup@CMetaInterface@@IEAAJPEBGKK@Z
+; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
+; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
+?CloseKey@CMetaInterface@@IEAAJK@Z
+; protected: long __cdecl CMetaInterface::CopyData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
+?CopyData@CMetaInterface@@IEAAJKPEBGK0KKKH@Z
+; protected: long __cdecl CMetaInterface::CopyKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int,int) __ptr64
+?CopyKey@CMetaInterface@@IEAAJKPEBGK0HH@Z
+; public: long __cdecl CIISApplication::Delete(int) __ptr64
+?Delete@CIISApplication@@QEAAJH@Z
+; public: long __cdecl CMetaBack::Delete(unsigned short const * __ptr64,unsigned long) __ptr64
+?Delete@CMetaBack@@QEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::DeleteAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?DeleteAllData@CMetaInterface@@IEAAJKPEBGKK@Z
+; protected: long __cdecl CMetaInterface::DeleteBackup(unsigned short const * __ptr64,unsigned long) __ptr64
+?DeleteBackup@CMetaInterface@@IEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteChildKeys@CMetaInterface@@IEAAJKPEBG@Z
+; protected: long __cdecl CMetaInterface::DeleteData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?DeleteData@CMetaInterface@@IEAAJKPEBGKK@Z
+; protected: long __cdecl CMetaInterface::DeleteKey(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteKey@CMetaInterface@@IEAAJKPEBG@Z
+; public: long __cdecl CMetaKey::DeleteKey(unsigned short const * __ptr64) __ptr64
+?DeleteKey@CMetaKey@@QEAAJPEBG@Z
+; public: long __cdecl CIISApplication::DeleteRecoverable(int) __ptr64
+?DeleteRecoverable@CIISApplication@@QEAAJH@Z
+; protected: long __cdecl CMetaInterface::EnumBackups(unsigned short * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
+?EnumBackups@CMetaInterface@@IEAAJPEAGPEAKPEAU_FILETIME@@K@Z
+; protected: long __cdecl CMetaInterface::EnumData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?EnumData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@KPEAK@Z
+; protected: long __cdecl CMetaInterface::EnumKeys(unsigned long,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
+?EnumKeys@CMetaInterface@@IEAAJKPEBGPEAGK@Z
+; public: int __cdecl CError::Failed(void)const  __ptr64
+?Failed@CError@@QEBAHXZ
+; public: static int __cdecl CError::Failed(long)
+?Failed@CError@@SAHJ@Z
+; protected: long __cdecl CMetaInterface::GetAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
+?GetAllData@CMetaInterface@@IEAAJKPEBGKKKPEAK1KPEAE1@Z
+; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
+?GetBase@CMetaKey@@QEBAKXZ
+; public: unsigned char * __ptr64 __cdecl CBlob::GetData(void) __ptr64
+?GetData@CBlob@@QEAAPEAEXZ
+; protected: long __cdecl CMetaInterface::GetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long * __ptr64) __ptr64
+?GetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@PEAK@Z
+; protected: long __cdecl CMetaInterface::GetDataPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetDataPaths@CMetaInterface@@IEAAJKPEBGKKKPEAGPEAK@Z
+; public: unsigned long __cdecl CMetaKey::GetHandle(void)const  __ptr64
+?GetHandle@CMetaKey@@QEBAKXZ
+; public: unsigned long __cdecl CMetaEnumerator::GetIndex(void) __ptr64
+?GetIndex@CMetaEnumerator@@QEAAKXZ
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetInstancePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetInstancePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: struct IMSAdminBaseW * __ptr64 __cdecl CMetaInterface::GetInterface(void) __ptr64
+?GetInterface@CMetaInterface@@QEAAPEAUIMSAdminBaseW@@XZ
+; protected: long __cdecl CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
+?GetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
+; public: void __cdecl CError::GetLastWinError(void) __ptr64
+?GetLastWinError@CError@@QEAAXXZ
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetMachinePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetMachinePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetRootPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetRootPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServicePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetServicePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: unsigned long __cdecl CBlob::GetSize(void)const  __ptr64
+?GetSize@CBlob@@QEBAKXZ
+; public: long __cdecl CError::HResult(void)const  __ptr64
+?HResult@CError@@QEBAJXZ
+; public: static long __cdecl CError::HResult(long)
+?HResult@CError@@SAJJ@Z
+; protected: int __cdecl CIISSvcControl::HasInterface(void)const  __ptr64
+?HasInterface@CIISSvcControl@@IEBAHXZ
+; protected: int __cdecl CMetaInterface::HasInterface(void)const  __ptr64
+?HasInterface@CMetaInterface@@IEBAHXZ
+; protected: int __cdecl CWamInterface::HasInterface(void)const  __ptr64
+?HasInterface@CWamInterface@@IEBAHXZ
+; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
+?IsEmpty@CBlob@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsEnabledApplication(void)const  __ptr64
+?IsEnabledApplication@CIISApplication@@QEBAHXZ
+; public: int __cdecl CMetaKey::IsHomeDirectoryPath(void)const  __ptr64
+?IsHomeDirectoryPath@CMetaKey@@QEBAHXZ
+; public: int __cdecl CMetabasePath::IsHomeDirectoryPath(void)const  __ptr64
+?IsHomeDirectoryPath@CMetabasePath@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsInproc(void)const  __ptr64
+?IsInproc@CIISApplication@@QEBAHXZ
+; public: int __cdecl CComAuthInfo::IsLocal(void)const  __ptr64
+?IsLocal@CComAuthInfo@@QEBAHXZ
+; public: int __cdecl CIISInterface::IsLocal(void)const  __ptr64
+?IsLocal@CIISInterface@@QEBAHXZ
+; public: int __cdecl CMetaKey::IsOpen(void)const  __ptr64
+?IsOpen@CMetaKey@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsOutOfProc(void)const  __ptr64
+?IsOutOfProc@CIISApplication@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsPooledProc(void)const  __ptr64
+?IsPooledProc@CIISApplication@@QEBAHXZ
+; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
+?Kill@CIISSvcControl@@QEAAJXZ
+; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
+?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
+; protected: long __cdecl CMetaInterface::OpenKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?OpenKey@CMetaInterface@@IEAAJKPEBGKPEAK@Z
+; public: void __cdecl CMetaEnumerator::Pop(void) __ptr64
+?Pop@CMetaEnumerator@@QEAAXXZ
+; public: void __cdecl CMetaEnumerator::Push(void) __ptr64
+?Push@CMetaEnumerator@@QEAAXXZ
+; public: unsigned long __cdecl CIISApplication::QueryAppState(void)const  __ptr64
+?QueryAppState@CIISApplication@@QEBAKXZ
+; public: class CComAuthInfo * __ptr64 __cdecl CIISInterface::QueryAuthInfo(void) __ptr64
+?QueryAuthInfo@CIISInterface@@QEAAPEAVCComAuthInfo@@XZ
+; public: unsigned long __cdecl CMetaKey::QueryFlags(void)const  __ptr64
+?QueryFlags@CMetaKey@@QEBAKXZ
+; public: unsigned short const * __ptr64 __cdecl CMetaKey::QueryMetaPath(void)const  __ptr64
+?QueryMetaPath@CMetaKey@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CMetabasePath::QueryMetaPath(void)const  __ptr64
+?QueryMetaPath@CMetabasePath@@QEBAPEBGXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryPassword(void)const  __ptr64
+?QueryPassword@CComAuthInfo@@QEBAPEAGXZ
+; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
+?QueryResult@CIISInterface@@UEBAJXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryServerName(void)const  __ptr64
+?QueryServerName@CComAuthInfo@@QEBAPEAGXZ
+; public: unsigned short const * __ptr64 __cdecl CIISInterface::QueryServerName(void)const  __ptr64
+?QueryServerName@CIISInterface@@QEBAPEBGXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryUserName(void)const  __ptr64
+?QueryUserName@CComAuthInfo@@QEBAPEAGXZ
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,int & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAHPEAHPEBGPEAK@Z
+; public: unsigned short const * __ptr64 __cdecl CIISApplication::QueryWamPath(void)const  __ptr64
+?QueryWamPath@CIISApplication@@QEBAPEBGXZ
+; public: long __cdecl CMetaKey::ReOpen(unsigned long) __ptr64
+?ReOpen@CMetaKey@@QEAAJK@Z
+; public: long __cdecl CMetaKey::ReOpen(void) __ptr64
+?ReOpen@CMetaKey@@QEAAJXZ
+; public: long __cdecl CIISSvcControl::Reboot(unsigned long,int) __ptr64
+?Reboot@CIISSvcControl@@QEAAJKH@Z
+; public: long __cdecl CIISApplication::Recover(int) __ptr64
+?Recover@CIISApplication@@QEAAJH@Z
+; public: void __cdecl CError::RemoveOverride(long) __ptr64
+?RemoveOverride@CError@@QEAAXJ@Z
+; protected: long __cdecl CMetaInterface::RenameKey(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?RenameKey@CMetaInterface@@IEAAJKPEBG0@Z
+; public: long __cdecl CMetaKey::RenameKey(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?RenameKey@CMetaKey@@QEAAJPEBG0@Z
+; public: void __cdecl CError::Reset(void) __ptr64
+?Reset@CError@@QEAAXXZ
+; public: void __cdecl CMetaBack::Reset(void) __ptr64
+?Reset@CMetaBack@@QEAAXXZ
+; public: void __cdecl CMetaEnumerator::Reset(unsigned long) __ptr64
+?Reset@CMetaEnumerator@@QEAAXK@Z
+; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?Restore@CMetaInterface@@IEAAJPEBGKK@Z
+; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
+?SaveData@CMetaInterface@@QEAAJXZ
+; protected: long __cdecl CMetaInterface::SetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64) __ptr64
+?SetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@@Z
+; protected: long __cdecl CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
+?SetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
+; public: void __cdecl CError::SetLastWinError(void)const  __ptr64
+?SetLastWinError@CError@@QEBAXXZ
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,int,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKHPEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,unsigned long,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKKPEAHPEBG@Z
+; public: long __cdecl CIISSvcControl::Start(unsigned long) __ptr64
+?Start@CIISSvcControl@@QEAAJK@Z
+; public: long __cdecl CIISSvcControl::Status(unsigned long,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?Status@CIISSvcControl@@QEAAJKPEAEPEAK1@Z
+; public: long __cdecl CIISSvcControl::Stop(unsigned long,int) __ptr64
+?Stop@CIISSvcControl@@QEAAJKH@Z
+; public: void __cdecl CComAuthInfo::StorePassword(unsigned short const * __ptr64) __ptr64
+?StorePassword@CComAuthInfo@@QEAAXPEBG@Z
+; public: int __cdecl CError::Succeeded(void)const  __ptr64
+?Succeeded@CError@@QEBAHXZ
+; public: static int __cdecl CError::Succeeded(long)
+?Succeeded@CError@@SAHJ@Z
+; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
+?Succeeded@CIISInterface@@UEBAHXZ
+; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
+?SupportsPooledProc@CWamInterface@@QEBAHXZ
+; public: long __cdecl CIISApplication::Unload(int) __ptr64
+?Unload@CIISApplication@@QEAAJH@Z
+; public: static void __cdecl CError::UnregisterFacility(unsigned long)
+?UnregisterFacility@CError@@SAXK@Z
+; public: int __cdecl CComAuthInfo::UsesImpersonation(void)const  __ptr64
+?UsesImpersonation@CComAuthInfo@@QEBAHXZ
+; public: unsigned long __cdecl CError::Win32Error(void)const  __ptr64
+?Win32Error@CError@@QEBAKXZ
+; public: static unsigned long __cdecl CError::Win32Error(long)
+?Win32Error@CError@@SAKJ@Z
+; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Buynode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
+?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAPEAU_Node@12@PEAU312@0@Z
+; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Freenode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
+?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXPEAU_Node@12@@Z
+; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXViterator@12@AEAV12@00@Z
+; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const  __ptr64
+?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEBAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
+?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXVconst_iterator@12@0@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned __int64,class IIS::CString const & __ptr64) __ptr64
+?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KAEBVCString@IIS@@@Z
+; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void) __ptr64
+?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
+; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const  __ptr64
+?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void) __ptr64
+?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const  __ptr64
+?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void) __ptr64
+?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: bool __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const  __ptr64
+?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_NXZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void) __ptr64
+?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const  __ptr64
+?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@0@Z
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@@Z
+; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void) __ptr64
+?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
+; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const  __ptr64
+?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
+; public: class std::allocator<class IIS::CString>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const  __ptr64
+?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$allocator@VCString@IIS@@@2@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const & __ptr64) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@AEBVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const * __ptr64,class IIS::CString const * __ptr64) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@PEBVCString@IIS@@1@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@Vconst_iterator@12@1@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,unsigned __int64,class IIS::CString const & __ptr64) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@_KAEBVCString@IIS@@@Z
+; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const  __ptr64
+?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
+?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,struct std::greater<class IIS::CString>) __ptr64
+?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@U?$greater@VCString@IIS@@@2@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void) __ptr64
+?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void) __ptr64
+?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const & __ptr64) __ptr64
+?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const & __ptr64) __ptr64
+?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void) __ptr64
+?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const  __ptr64
+?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const & __ptr64) __ptr64
+?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >) __ptr64
+?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXV?$binder2nd@U?$not_equal_to@VCString@IIS@@@std@@@2@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void) __ptr64
+?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const  __ptr64
+?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned __int64,class IIS::CString) __ptr64
+?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void) __ptr64
+?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const  __ptr64
+?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>) __ptr64
+?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$greater@VCString@IIS@@@2@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void) __ptr64
+?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@00@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@0@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
+?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>) __ptr64
+?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$not_equal_to@VCString@IIS@@@2@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void) __ptr64
+?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/cfgbkend.def b/mingw-w64-crt/lib64/cfgbkend.def
index 409e2b7..742e906 100644
--- a/mingw-w64-crt/lib64/cfgbkend.def
+++ b/mingw-w64-crt/lib64/cfgbkend.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file CfgBkEnd.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CfgBkEnd.DLL
-EXPORTS
-CLSID_CfgComp
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IID_ICfgComp
-IID_ISettingsComp
-IID_ISettingsComp2
+; 
+; Exports of file CfgBkEnd.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CfgBkEnd.DLL
+EXPORTS
+CLSID_CfgComp
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IID_ICfgComp
+IID_ISettingsComp
+IID_ISettingsComp2
diff --git a/mingw-w64-crt/lib64/cfgmgr32.def b/mingw-w64-crt/lib64/cfgmgr32.def
index bd7ab12..b6f2973 100644
--- a/mingw-w64-crt/lib64/cfgmgr32.def
+++ b/mingw-w64-crt/lib64/cfgmgr32.def
@@ -1,204 +1,204 @@
-; 
-; Exports of file CFGMGR32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CFGMGR32.dll
-EXPORTS
-CMP_Init_Detection
-CMP_RegisterNotification
-CMP_Report_LogOn
-CMP_UnregisterNotification
-CMP_WaitNoPendingInstallEvents
-CMP_WaitServicesAvailable
-CM_Add_Empty_Log_Conf
-CM_Add_Empty_Log_Conf_Ex
-CM_Add_IDA
-CM_Add_IDW
-CM_Add_ID_ExA
-CM_Add_ID_ExW
-CM_Add_Range
-CM_Add_Res_Des
-CM_Add_Res_Des_Ex
-CM_Connect_MachineA
-CM_Connect_MachineW
-CM_Create_DevNodeA
-CM_Create_DevNodeW
-CM_Create_DevNode_ExA
-CM_Create_DevNode_ExW
-CM_Create_Range_List
-CM_Delete_Class_Key
-CM_Delete_Class_Key_Ex
-CM_Delete_DevNode_Key
-CM_Delete_DevNode_Key_Ex
-CM_Delete_Range
-CM_Detect_Resource_Conflict
-CM_Detect_Resource_Conflict_Ex
-CM_Disable_DevNode
-CM_Disable_DevNode_Ex
-CM_Disconnect_Machine
-CM_Dup_Range_List
-CM_Enable_DevNode
-CM_Enable_DevNode_Ex
-CM_Enumerate_Classes
-CM_Enumerate_Classes_Ex
-CM_Enumerate_EnumeratorsA
-CM_Enumerate_EnumeratorsW
-CM_Enumerate_Enumerators_ExA
-CM_Enumerate_Enumerators_ExW
-CM_Find_Range
-CM_First_Range
-CM_Free_Log_Conf
-CM_Free_Log_Conf_Ex
-CM_Free_Log_Conf_Handle
-CM_Free_Range_List
-CM_Free_Res_Des
-CM_Free_Res_Des_Ex
-CM_Free_Res_Des_Handle
-CM_Free_Resource_Conflict_Handle
-CM_Get_Child
-CM_Get_Child_Ex
-CM_Get_Class_Key_NameA
-CM_Get_Class_Key_NameW
-CM_Get_Class_Key_Name_ExA
-CM_Get_Class_Key_Name_ExW
-CM_Get_Class_NameA
-CM_Get_Class_NameW
-CM_Get_Class_Name_ExA
-CM_Get_Class_Name_ExW
-CM_Get_Class_Registry_PropertyA
-CM_Get_Class_Registry_PropertyW
-CM_Get_Depth
-CM_Get_Depth_Ex
-CM_Get_DevNode_Registry_PropertyA
-CM_Get_DevNode_Registry_PropertyW
-CM_Get_DevNode_Registry_Property_ExA
-CM_Get_DevNode_Registry_Property_ExW
-CM_Get_DevNode_Status
-CM_Get_DevNode_Status_Ex
-CM_Get_Device_IDA
-CM_Get_Device_IDW
-CM_Get_Device_ID_ExA
-CM_Get_Device_ID_ExW
-CM_Get_Device_ID_ListA
-CM_Get_Device_ID_ListW
-CM_Get_Device_ID_List_ExA
-CM_Get_Device_ID_List_ExW
-CM_Get_Device_ID_List_SizeA
-CM_Get_Device_ID_List_SizeW
-CM_Get_Device_ID_List_Size_ExA
-CM_Get_Device_ID_List_Size_ExW
-CM_Get_Device_ID_Size
-CM_Get_Device_ID_Size_Ex
-CM_Get_Device_Interface_AliasA
-CM_Get_Device_Interface_AliasW
-CM_Get_Device_Interface_Alias_ExA
-CM_Get_Device_Interface_Alias_ExW
-CM_Get_Device_Interface_ListA
-CM_Get_Device_Interface_ListW
-CM_Get_Device_Interface_List_ExA
-CM_Get_Device_Interface_List_ExW
-CM_Get_Device_Interface_List_SizeA
-CM_Get_Device_Interface_List_SizeW
-CM_Get_Device_Interface_List_Size_ExA
-CM_Get_Device_Interface_List_Size_ExW
-CM_Get_First_Log_Conf
-CM_Get_First_Log_Conf_Ex
-CM_Get_Global_State
-CM_Get_Global_State_Ex
-CM_Get_HW_Prof_FlagsA
-CM_Get_HW_Prof_FlagsW
-CM_Get_HW_Prof_Flags_ExA
-CM_Get_HW_Prof_Flags_ExW
-CM_Get_Hardware_Profile_InfoA
-CM_Get_Hardware_Profile_InfoW
-CM_Get_Hardware_Profile_Info_ExA
-CM_Get_Hardware_Profile_Info_ExW
-CM_Get_Log_Conf_Priority
-CM_Get_Log_Conf_Priority_Ex
-CM_Get_Next_Log_Conf
-CM_Get_Next_Log_Conf_Ex
-CM_Get_Next_Res_Des
-CM_Get_Next_Res_Des_Ex
-CM_Get_Parent
-CM_Get_Parent_Ex
-CM_Get_Res_Des_Data
-CM_Get_Res_Des_Data_Ex
-CM_Get_Res_Des_Data_Size
-CM_Get_Res_Des_Data_Size_Ex
-CM_Get_Resource_Conflict_Count
-CM_Get_Resource_Conflict_DetailsA
-CM_Get_Resource_Conflict_DetailsW
-CM_Get_Sibling
-CM_Get_Sibling_Ex
-CM_Get_Version
-CM_Get_Version_Ex
-CM_Intersect_Range_List
-CM_Invert_Range_List
-CM_Is_Dock_Station_Present
-CM_Is_Dock_Station_Present_Ex
-CM_Locate_DevNodeA
-CM_Locate_DevNodeW
-CM_Locate_DevNode_ExA
-CM_Locate_DevNode_ExW
-CM_Merge_Range_List
-CM_Modify_Res_Des
-CM_Modify_Res_Des_Ex
-CM_Move_DevNode
-CM_Move_DevNode_Ex
-CM_Next_Range
-CM_Open_Class_KeyA
-CM_Open_Class_KeyW
-CM_Open_Class_Key_ExA
-CM_Open_Class_Key_ExW
-CM_Open_DevNode_Key
-CM_Open_DevNode_Key_Ex
-CM_Query_And_Remove_SubTreeA
-CM_Query_And_Remove_SubTreeW
-CM_Query_And_Remove_SubTree_ExA
-CM_Query_And_Remove_SubTree_ExW
-CM_Query_Arbitrator_Free_Data
-CM_Query_Arbitrator_Free_Data_Ex
-CM_Query_Arbitrator_Free_Size
-CM_Query_Arbitrator_Free_Size_Ex
-CM_Query_Remove_SubTree
-CM_Query_Remove_SubTree_Ex
-CM_Query_Resource_Conflict_List
-CM_Reenumerate_DevNode
-CM_Reenumerate_DevNode_Ex
-CM_Register_Device_Driver
-CM_Register_Device_Driver_Ex
-CM_Register_Device_InterfaceA
-CM_Register_Device_InterfaceW
-CM_Register_Device_Interface_ExA
-CM_Register_Device_Interface_ExW
-CM_Remove_SubTree
-CM_Remove_SubTree_Ex
-CM_Request_Eject_PC
-CM_Request_Eject_PC_Ex
-CM_Run_Detection
-CM_Run_Detection_Ex
-CM_Set_Class_Registry_PropertyA
-CM_Set_Class_Registry_PropertyW
-CM_Set_DevNode_Problem
-CM_Set_DevNode_Problem_Ex
-CM_Set_DevNode_Registry_PropertyA
-CM_Set_DevNode_Registry_PropertyW
-CM_Set_DevNode_Registry_Property_ExA
-CM_Set_DevNode_Registry_Property_ExW
-CM_Set_HW_Prof
-CM_Set_HW_Prof_Ex
-CM_Set_HW_Prof_FlagsA
-CM_Set_HW_Prof_FlagsW
-CM_Set_HW_Prof_Flags_ExA
-CM_Set_HW_Prof_Flags_ExW
-CM_Setup_DevNode
-CM_Setup_DevNode_Ex
-CM_Test_Range_Available
-CM_Uninstall_DevNode
-CM_Uninstall_DevNode_Ex
-CM_Unregister_Device_InterfaceA
-CM_Unregister_Device_InterfaceW
-CM_Unregister_Device_Interface_ExA
-CM_Unregister_Device_Interface_ExW
+; 
+; Exports of file CFGMGR32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CFGMGR32.dll
+EXPORTS
+CMP_Init_Detection
+CMP_RegisterNotification
+CMP_Report_LogOn
+CMP_UnregisterNotification
+CMP_WaitNoPendingInstallEvents
+CMP_WaitServicesAvailable
+CM_Add_Empty_Log_Conf
+CM_Add_Empty_Log_Conf_Ex
+CM_Add_IDA
+CM_Add_IDW
+CM_Add_ID_ExA
+CM_Add_ID_ExW
+CM_Add_Range
+CM_Add_Res_Des
+CM_Add_Res_Des_Ex
+CM_Connect_MachineA
+CM_Connect_MachineW
+CM_Create_DevNodeA
+CM_Create_DevNodeW
+CM_Create_DevNode_ExA
+CM_Create_DevNode_ExW
+CM_Create_Range_List
+CM_Delete_Class_Key
+CM_Delete_Class_Key_Ex
+CM_Delete_DevNode_Key
+CM_Delete_DevNode_Key_Ex
+CM_Delete_Range
+CM_Detect_Resource_Conflict
+CM_Detect_Resource_Conflict_Ex
+CM_Disable_DevNode
+CM_Disable_DevNode_Ex
+CM_Disconnect_Machine
+CM_Dup_Range_List
+CM_Enable_DevNode
+CM_Enable_DevNode_Ex
+CM_Enumerate_Classes
+CM_Enumerate_Classes_Ex
+CM_Enumerate_EnumeratorsA
+CM_Enumerate_EnumeratorsW
+CM_Enumerate_Enumerators_ExA
+CM_Enumerate_Enumerators_ExW
+CM_Find_Range
+CM_First_Range
+CM_Free_Log_Conf
+CM_Free_Log_Conf_Ex
+CM_Free_Log_Conf_Handle
+CM_Free_Range_List
+CM_Free_Res_Des
+CM_Free_Res_Des_Ex
+CM_Free_Res_Des_Handle
+CM_Free_Resource_Conflict_Handle
+CM_Get_Child
+CM_Get_Child_Ex
+CM_Get_Class_Key_NameA
+CM_Get_Class_Key_NameW
+CM_Get_Class_Key_Name_ExA
+CM_Get_Class_Key_Name_ExW
+CM_Get_Class_NameA
+CM_Get_Class_NameW
+CM_Get_Class_Name_ExA
+CM_Get_Class_Name_ExW
+CM_Get_Class_Registry_PropertyA
+CM_Get_Class_Registry_PropertyW
+CM_Get_Depth
+CM_Get_Depth_Ex
+CM_Get_DevNode_Registry_PropertyA
+CM_Get_DevNode_Registry_PropertyW
+CM_Get_DevNode_Registry_Property_ExA
+CM_Get_DevNode_Registry_Property_ExW
+CM_Get_DevNode_Status
+CM_Get_DevNode_Status_Ex
+CM_Get_Device_IDA
+CM_Get_Device_IDW
+CM_Get_Device_ID_ExA
+CM_Get_Device_ID_ExW
+CM_Get_Device_ID_ListA
+CM_Get_Device_ID_ListW
+CM_Get_Device_ID_List_ExA
+CM_Get_Device_ID_List_ExW
+CM_Get_Device_ID_List_SizeA
+CM_Get_Device_ID_List_SizeW
+CM_Get_Device_ID_List_Size_ExA
+CM_Get_Device_ID_List_Size_ExW
+CM_Get_Device_ID_Size
+CM_Get_Device_ID_Size_Ex
+CM_Get_Device_Interface_AliasA
+CM_Get_Device_Interface_AliasW
+CM_Get_Device_Interface_Alias_ExA
+CM_Get_Device_Interface_Alias_ExW
+CM_Get_Device_Interface_ListA
+CM_Get_Device_Interface_ListW
+CM_Get_Device_Interface_List_ExA
+CM_Get_Device_Interface_List_ExW
+CM_Get_Device_Interface_List_SizeA
+CM_Get_Device_Interface_List_SizeW
+CM_Get_Device_Interface_List_Size_ExA
+CM_Get_Device_Interface_List_Size_ExW
+CM_Get_First_Log_Conf
+CM_Get_First_Log_Conf_Ex
+CM_Get_Global_State
+CM_Get_Global_State_Ex
+CM_Get_HW_Prof_FlagsA
+CM_Get_HW_Prof_FlagsW
+CM_Get_HW_Prof_Flags_ExA
+CM_Get_HW_Prof_Flags_ExW
+CM_Get_Hardware_Profile_InfoA
+CM_Get_Hardware_Profile_InfoW
+CM_Get_Hardware_Profile_Info_ExA
+CM_Get_Hardware_Profile_Info_ExW
+CM_Get_Log_Conf_Priority
+CM_Get_Log_Conf_Priority_Ex
+CM_Get_Next_Log_Conf
+CM_Get_Next_Log_Conf_Ex
+CM_Get_Next_Res_Des
+CM_Get_Next_Res_Des_Ex
+CM_Get_Parent
+CM_Get_Parent_Ex
+CM_Get_Res_Des_Data
+CM_Get_Res_Des_Data_Ex
+CM_Get_Res_Des_Data_Size
+CM_Get_Res_Des_Data_Size_Ex
+CM_Get_Resource_Conflict_Count
+CM_Get_Resource_Conflict_DetailsA
+CM_Get_Resource_Conflict_DetailsW
+CM_Get_Sibling
+CM_Get_Sibling_Ex
+CM_Get_Version
+CM_Get_Version_Ex
+CM_Intersect_Range_List
+CM_Invert_Range_List
+CM_Is_Dock_Station_Present
+CM_Is_Dock_Station_Present_Ex
+CM_Locate_DevNodeA
+CM_Locate_DevNodeW
+CM_Locate_DevNode_ExA
+CM_Locate_DevNode_ExW
+CM_Merge_Range_List
+CM_Modify_Res_Des
+CM_Modify_Res_Des_Ex
+CM_Move_DevNode
+CM_Move_DevNode_Ex
+CM_Next_Range
+CM_Open_Class_KeyA
+CM_Open_Class_KeyW
+CM_Open_Class_Key_ExA
+CM_Open_Class_Key_ExW
+CM_Open_DevNode_Key
+CM_Open_DevNode_Key_Ex
+CM_Query_And_Remove_SubTreeA
+CM_Query_And_Remove_SubTreeW
+CM_Query_And_Remove_SubTree_ExA
+CM_Query_And_Remove_SubTree_ExW
+CM_Query_Arbitrator_Free_Data
+CM_Query_Arbitrator_Free_Data_Ex
+CM_Query_Arbitrator_Free_Size
+CM_Query_Arbitrator_Free_Size_Ex
+CM_Query_Remove_SubTree
+CM_Query_Remove_SubTree_Ex
+CM_Query_Resource_Conflict_List
+CM_Reenumerate_DevNode
+CM_Reenumerate_DevNode_Ex
+CM_Register_Device_Driver
+CM_Register_Device_Driver_Ex
+CM_Register_Device_InterfaceA
+CM_Register_Device_InterfaceW
+CM_Register_Device_Interface_ExA
+CM_Register_Device_Interface_ExW
+CM_Remove_SubTree
+CM_Remove_SubTree_Ex
+CM_Request_Eject_PC
+CM_Request_Eject_PC_Ex
+CM_Run_Detection
+CM_Run_Detection_Ex
+CM_Set_Class_Registry_PropertyA
+CM_Set_Class_Registry_PropertyW
+CM_Set_DevNode_Problem
+CM_Set_DevNode_Problem_Ex
+CM_Set_DevNode_Registry_PropertyA
+CM_Set_DevNode_Registry_PropertyW
+CM_Set_DevNode_Registry_Property_ExA
+CM_Set_DevNode_Registry_Property_ExW
+CM_Set_HW_Prof
+CM_Set_HW_Prof_Ex
+CM_Set_HW_Prof_FlagsA
+CM_Set_HW_Prof_FlagsW
+CM_Set_HW_Prof_Flags_ExA
+CM_Set_HW_Prof_Flags_ExW
+CM_Setup_DevNode
+CM_Setup_DevNode_Ex
+CM_Test_Range_Available
+CM_Uninstall_DevNode
+CM_Uninstall_DevNode_Ex
+CM_Unregister_Device_InterfaceA
+CM_Unregister_Device_InterfaceW
+CM_Unregister_Device_Interface_ExA
+CM_Unregister_Device_Interface_ExW
diff --git a/mingw-w64-crt/lib64/chsbrkr.def b/mingw-w64-crt/lib64/chsbrkr.def
index b017c13..c26ecdd 100644
--- a/mingw-w64-crt/lib64/chsbrkr.def
+++ b/mingw-w64-crt/lib64/chsbrkr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ChsBrKr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ChsBrKr.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ChsBrKr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ChsBrKr.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/chtbrkr.def b/mingw-w64-crt/lib64/chtbrkr.def
index db9eadb..d4aa4ad 100644
--- a/mingw-w64-crt/lib64/chtbrkr.def
+++ b/mingw-w64-crt/lib64/chtbrkr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CHTBRKR.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CHTBRKR.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CHTBRKR.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CHTBRKR.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/chtskdic.def b/mingw-w64-crt/lib64/chtskdic.def
index 06ab0c3..6ad133d 100644
--- a/mingw-w64-crt/lib64/chtskdic.def
+++ b/mingw-w64-crt/lib64/chtskdic.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file imeskdic.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imeskdic.dll
-EXPORTS
-CreateIImeSkdicInstance
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file imeskdic.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imeskdic.dll
+EXPORTS
+CreateIImeSkdicInstance
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/chtskf.def b/mingw-w64-crt/lib64/chtskf.def
index ff61143..1b55473 100644
--- a/mingw-w64-crt/lib64/chtskf.def
+++ b/mingw-w64-crt/lib64/chtskf.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file main.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY main.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file main.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY main.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ciadmin.def b/mingw-w64-crt/lib64/ciadmin.def
index c573903..d3711db 100644
--- a/mingw-w64-crt/lib64/ciadmin.def
+++ b/mingw-w64-crt/lib64/ciadmin.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CIADMIN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CIADMIN.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CIADMIN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CIADMIN.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/cic.def b/mingw-w64-crt/lib64/cic.def
index 1fa7548..0360360 100644
--- a/mingw-w64-crt/lib64/cic.def
+++ b/mingw-w64-crt/lib64/cic.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file cic.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cic.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file cic.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cic.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/cimwin32.def b/mingw-w64-crt/lib64/cimwin32.def
index f50a03f..8212118 100644
--- a/mingw-w64-crt/lib64/cimwin32.def
+++ b/mingw-w64-crt/lib64/cimwin32.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file cimwin32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cimwin32.dll
-EXPORTS
-; public: __cdecl CTcpMib::CTcpMib(class CTcpMib const & __ptr64) __ptr64
-??0CTcpMib@@QEAA@AEBV0@@Z
-; public: __cdecl CTcpMib::CTcpMib(void) __ptr64
-??0CTcpMib@@QEAA@XZ
-; public: virtual __cdecl CTcpMib::~CTcpMib(void) __ptr64
-??1CTcpMib@@UEAA@XZ
-; public: class CTcpMib & __ptr64 __cdecl CTcpMib::operator=(class CTcpMib const & __ptr64) __ptr64
-??4CTcpMib@@QEAAAEAV0@AEBV0@@Z
-; const  CTcpMib::`vftable'
-??_7CTcpMib@@6B@
-; class Win32SecurityDescriptor  MySecurityDescriptor
-?MySecurityDescriptor@@3VWin32SecurityDescriptor@@A DATA
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetSDFromWin32SecurityDescriptor
-SetWin32SecurityDescriptorFromSD
+; 
+; Exports of file cimwin32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cimwin32.dll
+EXPORTS
+; public: __cdecl CTcpMib::CTcpMib(class CTcpMib const & __ptr64) __ptr64
+??0CTcpMib@@QEAA@AEBV0@@Z
+; public: __cdecl CTcpMib::CTcpMib(void) __ptr64
+??0CTcpMib@@QEAA@XZ
+; public: virtual __cdecl CTcpMib::~CTcpMib(void) __ptr64
+??1CTcpMib@@UEAA@XZ
+; public: class CTcpMib & __ptr64 __cdecl CTcpMib::operator=(class CTcpMib const & __ptr64) __ptr64
+??4CTcpMib@@QEAAAEAV0@AEBV0@@Z
+; const  CTcpMib::`vftable'
+??_7CTcpMib@@6B@
+; class Win32SecurityDescriptor  MySecurityDescriptor
+?MySecurityDescriptor@@3VWin32SecurityDescriptor@@A DATA
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetSDFromWin32SecurityDescriptor
+SetWin32SecurityDescriptorFromSD
diff --git a/mingw-w64-crt/lib64/ciodm.def b/mingw-w64-crt/lib64/ciodm.def
index 38980cd..033c26b 100644
--- a/mingw-w64-crt/lib64/ciodm.def
+++ b/mingw-w64-crt/lib64/ciodm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ciodm.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ciodm.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ciodm.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ciodm.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/clb.def b/mingw-w64-crt/lib64/clb.def
index fb33e16..be973a0 100644
--- a/mingw-w64-crt/lib64/clb.def
+++ b/mingw-w64-crt/lib64/clb.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file clb.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY clb.dll
-EXPORTS
-ClbAddData
-ClbSetColumnWidths
-ClbStyleW
-ClbWndProc
-CustomControlInfoW
+; 
+; Exports of file clb.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY clb.dll
+EXPORTS
+ClbAddData
+ClbSetColumnWidths
+ClbStyleW
+ClbWndProc
+CustomControlInfoW
diff --git a/mingw-w64-crt/lib64/clbcatex.def b/mingw-w64-crt/lib64/clbcatex.def
index 21708ae..4a7f62d 100644
--- a/mingw-w64-crt/lib64/clbcatex.def
+++ b/mingw-w64-crt/lib64/clbcatex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COLBCAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COLBCAT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file COLBCAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COLBCAT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/clbcatq.def b/mingw-w64-crt/lib64/clbcatq.def
index eff5e13..a50196e 100644
--- a/mingw-w64-crt/lib64/clbcatq.def
+++ b/mingw-w64-crt/lib64/clbcatq.def
@@ -1,67 +1,67 @@
-; 
-; Exports of file CLBCatQ.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CLBCatQ.DLL
-EXPORTS
-ActivatorUpdateForIsRouterChanges
-; void __cdecl ClearList(class CStructArray * __ptr64)
-?ClearList@@YAXPEAVCStructArray@@@Z
-CoRegCleanup
-; long __cdecl CreateComponentLibraryTS(unsigned short const * __ptr64,long,struct IComponentRecords * __ptr64 * __ptr64)
-?CreateComponentLibraryTS@@YAJPEBGJPEAPEAUIComponentRecords@@@Z
-; long __cdecl DataConvert(unsigned short,unsigned short,unsigned long,unsigned long * __ptr64,void * __ptr64,void * __ptr64,unsigned long,unsigned long,unsigned long * __ptr64,unsigned char,unsigned char,unsigned long)
-?DataConvert@@YAJGGKPEAKPEAX1KK0EEK@Z
-DeleteAllActivatorsForClsid
-; void __cdecl DestroyStgDatabase(class StgDatabase * __ptr64)
-?DestroyStgDatabase@@YAXPEAVStgDatabase@@@Z
-DowngradeAPL
-; long __cdecl GetDataConversion(struct IDataConvert * __ptr64 * __ptr64)
-?GetDataConversion@@YAJPEAPEAUIDataConvert@@@Z
-; class CGetDataConversion * __ptr64 __cdecl GetDataConvertObject(void)
-?GetDataConvertObject@@YAPEAVCGetDataConversion@@XZ
-GetGlobalBabyJITEnabled
-; long __cdecl GetPropValue(unsigned short,long * __ptr64,void * __ptr64,int,int * __ptr64,struct tagDBPROP & __ptr64)
-?GetPropValue@@YAJGPEAJPEAXHPEAHAEAUtagDBPROP@@@Z
-; long __cdecl GetStgDatabase(class StgDatabase * __ptr64 * __ptr64)
-?GetStgDatabase@@YAJPEAPEAVStgDatabase@@@Z
-; void __cdecl InitErrors(unsigned long * __ptr64)
-?InitErrors@@YAXPEAK@Z
-; long __cdecl OpenComponentLibrarySharedTS(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,struct _SECURITY_ATTRIBUTES * __ptr64,long,struct IComponentRecords * __ptr64 * __ptr64)
-?OpenComponentLibrarySharedTS@@YAJPEBG0KPEAU_SECURITY_ATTRIBUTES@@JPEAPEAUIComponentRecords@@@Z
-; long __cdecl OpenComponentLibraryTS(unsigned short const * __ptr64,long,struct IComponentRecords * __ptr64 * __ptr64)
-?OpenComponentLibraryTS@@YAJPEBGJPEAPEAUIComponentRecords@@@Z
-; long __cdecl PostError(long,...)
-?PostError@@YAJJZZ
-; void __cdecl ShutDownDataConversion(void)
-?ShutDownDataConversion@@YAXXZ
-UpdateFromAppChange
-UpdateFromComponentChange
-CLSIDFromStringByBitness
-CheckMemoryGates
-ComPlusEnablePartitions
-ComPlusEnableRemoteAccess
-ComPlusMigrate
-ComPlusPartitionsEnabled
-ComPlusRemoteAccessEnabled
-CreateComponentLibraryEx
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetCatalogObject
-GetCatalogObject2
-GetComputerObject
-GetSimpleTableDispenser
-InprocServer32FromString
-OpenComponentLibraryEx
-OpenComponentLibraryOnMemEx
-OpenComponentLibraryOnStreamEx
-OpenComponentLibrarySharedEx
-ServerGetApplicationType
-SetSetupOpen
-SetSetupSave
-SetupOpen
-SetupSave
+; 
+; Exports of file CLBCatQ.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CLBCatQ.DLL
+EXPORTS
+ActivatorUpdateForIsRouterChanges
+; void __cdecl ClearList(class CStructArray * __ptr64)
+?ClearList@@YAXPEAVCStructArray@@@Z
+CoRegCleanup
+; long __cdecl CreateComponentLibraryTS(unsigned short const * __ptr64,long,struct IComponentRecords * __ptr64 * __ptr64)
+?CreateComponentLibraryTS@@YAJPEBGJPEAPEAUIComponentRecords@@@Z
+; long __cdecl DataConvert(unsigned short,unsigned short,unsigned long,unsigned long * __ptr64,void * __ptr64,void * __ptr64,unsigned long,unsigned long,unsigned long * __ptr64,unsigned char,unsigned char,unsigned long)
+?DataConvert@@YAJGGKPEAKPEAX1KK0EEK@Z
+DeleteAllActivatorsForClsid
+; void __cdecl DestroyStgDatabase(class StgDatabase * __ptr64)
+?DestroyStgDatabase@@YAXPEAVStgDatabase@@@Z
+DowngradeAPL
+; long __cdecl GetDataConversion(struct IDataConvert * __ptr64 * __ptr64)
+?GetDataConversion@@YAJPEAPEAUIDataConvert@@@Z
+; class CGetDataConversion * __ptr64 __cdecl GetDataConvertObject(void)
+?GetDataConvertObject@@YAPEAVCGetDataConversion@@XZ
+GetGlobalBabyJITEnabled
+; long __cdecl GetPropValue(unsigned short,long * __ptr64,void * __ptr64,int,int * __ptr64,struct tagDBPROP & __ptr64)
+?GetPropValue@@YAJGPEAJPEAXHPEAHAEAUtagDBPROP@@@Z
+; long __cdecl GetStgDatabase(class StgDatabase * __ptr64 * __ptr64)
+?GetStgDatabase@@YAJPEAPEAVStgDatabase@@@Z
+; void __cdecl InitErrors(unsigned long * __ptr64)
+?InitErrors@@YAXPEAK@Z
+; long __cdecl OpenComponentLibrarySharedTS(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,struct _SECURITY_ATTRIBUTES * __ptr64,long,struct IComponentRecords * __ptr64 * __ptr64)
+?OpenComponentLibrarySharedTS@@YAJPEBG0KPEAU_SECURITY_ATTRIBUTES@@JPEAPEAUIComponentRecords@@@Z
+; long __cdecl OpenComponentLibraryTS(unsigned short const * __ptr64,long,struct IComponentRecords * __ptr64 * __ptr64)
+?OpenComponentLibraryTS@@YAJPEBGJPEAPEAUIComponentRecords@@@Z
+; long __cdecl PostError(long,...)
+?PostError@@YAJJZZ
+; void __cdecl ShutDownDataConversion(void)
+?ShutDownDataConversion@@YAXXZ
+UpdateFromAppChange
+UpdateFromComponentChange
+CLSIDFromStringByBitness
+CheckMemoryGates
+ComPlusEnablePartitions
+ComPlusEnableRemoteAccess
+ComPlusMigrate
+ComPlusPartitionsEnabled
+ComPlusRemoteAccessEnabled
+CreateComponentLibraryEx
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetCatalogObject
+GetCatalogObject2
+GetComputerObject
+GetSimpleTableDispenser
+InprocServer32FromString
+OpenComponentLibraryEx
+OpenComponentLibraryOnMemEx
+OpenComponentLibraryOnStreamEx
+OpenComponentLibrarySharedEx
+ServerGetApplicationType
+SetSetupOpen
+SetSetupSave
+SetupOpen
+SetupSave
diff --git a/mingw-w64-crt/lib64/cliconfg.def b/mingw-w64-crt/lib64/cliconfg.def
index f652e74..275ecb5 100644
--- a/mingw-w64-crt/lib64/cliconfg.def
+++ b/mingw-w64-crt/lib64/cliconfg.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file CLICONFG.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CLICONFG.DLL
-EXPORTS
-CPlApplet
-ClientConfigureAddEdit
-OnInitDialogMain
+; 
+; Exports of file CLICONFG.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CLICONFG.DLL
+EXPORTS
+CPlApplet
+ClientConfigureAddEdit
+OnInitDialogMain
diff --git a/mingw-w64-crt/lib64/clusapi.def b/mingw-w64-crt/lib64/clusapi.def
index 24cc3d6..4b35c45 100644
--- a/mingw-w64-crt/lib64/clusapi.def
+++ b/mingw-w64-crt/lib64/clusapi.def
@@ -1,123 +1,123 @@
-; 
-; Exports of file CLUSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CLUSAPI.dll
-EXPORTS
-AddClusterResourceDependency
-AddClusterResourceNode
-BackupClusterDatabase
-CanResourceBeDependent
-ChangeClusterResourceGroup
-CloseCluster
-CloseClusterGroup
-CloseClusterNetInterface
-CloseClusterNetwork
-CloseClusterNode
-CloseClusterNotifyPort
-CloseClusterResource
-ClusterCloseEnum
-ClusterControl
-ClusterEnum
-ClusterGetEnumCount
-ClusterGroupCloseEnum
-ClusterGroupControl
-ClusterGroupEnum
-ClusterGroupGetEnumCount
-ClusterGroupOpenEnum
-ClusterNetInterfaceControl
-ClusterNetworkCloseEnum
-ClusterNetworkControl
-ClusterNetworkEnum
-ClusterNetworkGetEnumCount
-ClusterNetworkOpenEnum
-ClusterNodeCloseEnum
-ClusterNodeControl
-ClusterNodeEnum
-ClusterNodeGetEnumCount
-ClusterNodeOpenEnum
-ClusterOpenEnum
-ClusterRegCloseKey
-ClusterRegCreateKey
-ClusterRegDeleteKey
-ClusterRegDeleteValue
-ClusterRegEnumKey
-ClusterRegEnumValue
-ClusterRegGetKeySecurity
-ClusterRegOpenKey
-ClusterRegQueryInfoKey
-ClusterRegQueryValue
-ClusterRegSetKeySecurity
-ClusterRegSetValue
-ClusterResourceCloseEnum
-ClusterResourceControl
-ClusterResourceEnum
-ClusterResourceGetEnumCount
-ClusterResourceOpenEnum
-ClusterResourceTypeCloseEnum
-ClusterResourceTypeControl
-ClusterResourceTypeEnum
-ClusterResourceTypeGetEnumCount
-ClusterResourceTypeOpenEnum
-CreateClusterGroup
-CreateClusterNotifyPort
-CreateClusterResource
-CreateClusterResourceType
-DeleteClusterGroup
-DeleteClusterResource
-DeleteClusterResourceType
-EvictClusterNode
-EvictClusterNodeEx
-FailClusterResource
-GetClusterFromGroup
-GetClusterFromNetInterface
-GetClusterFromNetwork
-GetClusterFromNode
-GetClusterFromResource
-GetClusterGroupKey
-GetClusterGroupState
-GetClusterInformation
-GetClusterKey
-GetClusterNetInterface
-GetClusterNetInterfaceKey
-GetClusterNetInterfaceState
-GetClusterNetworkId
-GetClusterNetworkKey
-GetClusterNetworkState
-GetClusterNodeId
-GetClusterNodeKey
-GetClusterNodeState
-GetClusterNotify
-GetClusterQuorumResource
-GetClusterResourceKey
-GetClusterResourceNetworkName
-GetClusterResourceState
-GetClusterResourceTypeKey
-GetNodeClusterState
-MoveClusterGroup
-OfflineClusterGroup
-OfflineClusterResource
-OnlineClusterGroup
-OnlineClusterResource
-OpenCluster
-OpenClusterGroup
-OpenClusterNetInterface
-OpenClusterNetwork
-OpenClusterNode
-OpenClusterResource
-PauseClusterNode
-RegisterClusterNotify
-RemoveClusterResourceDependency
-RemoveClusterResourceNode
-RestoreClusterDatabase
-ResumeClusterNode
-SetClusterGroupName
-SetClusterGroupNodeList
-SetClusterName
-SetClusterNetworkName
-SetClusterNetworkPriorityOrder
-SetClusterQuorumResource
-SetClusterResourceName
-SetClusterServiceAccountPassword
+; 
+; Exports of file CLUSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CLUSAPI.dll
+EXPORTS
+AddClusterResourceDependency
+AddClusterResourceNode
+BackupClusterDatabase
+CanResourceBeDependent
+ChangeClusterResourceGroup
+CloseCluster
+CloseClusterGroup
+CloseClusterNetInterface
+CloseClusterNetwork
+CloseClusterNode
+CloseClusterNotifyPort
+CloseClusterResource
+ClusterCloseEnum
+ClusterControl
+ClusterEnum
+ClusterGetEnumCount
+ClusterGroupCloseEnum
+ClusterGroupControl
+ClusterGroupEnum
+ClusterGroupGetEnumCount
+ClusterGroupOpenEnum
+ClusterNetInterfaceControl
+ClusterNetworkCloseEnum
+ClusterNetworkControl
+ClusterNetworkEnum
+ClusterNetworkGetEnumCount
+ClusterNetworkOpenEnum
+ClusterNodeCloseEnum
+ClusterNodeControl
+ClusterNodeEnum
+ClusterNodeGetEnumCount
+ClusterNodeOpenEnum
+ClusterOpenEnum
+ClusterRegCloseKey
+ClusterRegCreateKey
+ClusterRegDeleteKey
+ClusterRegDeleteValue
+ClusterRegEnumKey
+ClusterRegEnumValue
+ClusterRegGetKeySecurity
+ClusterRegOpenKey
+ClusterRegQueryInfoKey
+ClusterRegQueryValue
+ClusterRegSetKeySecurity
+ClusterRegSetValue
+ClusterResourceCloseEnum
+ClusterResourceControl
+ClusterResourceEnum
+ClusterResourceGetEnumCount
+ClusterResourceOpenEnum
+ClusterResourceTypeCloseEnum
+ClusterResourceTypeControl
+ClusterResourceTypeEnum
+ClusterResourceTypeGetEnumCount
+ClusterResourceTypeOpenEnum
+CreateClusterGroup
+CreateClusterNotifyPort
+CreateClusterResource
+CreateClusterResourceType
+DeleteClusterGroup
+DeleteClusterResource
+DeleteClusterResourceType
+EvictClusterNode
+EvictClusterNodeEx
+FailClusterResource
+GetClusterFromGroup
+GetClusterFromNetInterface
+GetClusterFromNetwork
+GetClusterFromNode
+GetClusterFromResource
+GetClusterGroupKey
+GetClusterGroupState
+GetClusterInformation
+GetClusterKey
+GetClusterNetInterface
+GetClusterNetInterfaceKey
+GetClusterNetInterfaceState
+GetClusterNetworkId
+GetClusterNetworkKey
+GetClusterNetworkState
+GetClusterNodeId
+GetClusterNodeKey
+GetClusterNodeState
+GetClusterNotify
+GetClusterQuorumResource
+GetClusterResourceKey
+GetClusterResourceNetworkName
+GetClusterResourceState
+GetClusterResourceTypeKey
+GetNodeClusterState
+MoveClusterGroup
+OfflineClusterGroup
+OfflineClusterResource
+OnlineClusterGroup
+OnlineClusterResource
+OpenCluster
+OpenClusterGroup
+OpenClusterNetInterface
+OpenClusterNetwork
+OpenClusterNode
+OpenClusterResource
+PauseClusterNode
+RegisterClusterNotify
+RemoveClusterResourceDependency
+RemoveClusterResourceNode
+RestoreClusterDatabase
+ResumeClusterNode
+SetClusterGroupName
+SetClusterGroupNodeList
+SetClusterName
+SetClusterNetworkName
+SetClusterNetworkPriorityOrder
+SetClusterQuorumResource
+SetClusterResourceName
+SetClusterServiceAccountPassword
diff --git a/mingw-w64-crt/lib64/cmcfg32.def b/mingw-w64-crt/lib64/cmcfg32.def
index cd4b4a5..0879a7a 100644
--- a/mingw-w64-crt/lib64/cmcfg32.def
+++ b/mingw-w64-crt/lib64/cmcfg32.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file cmcfg32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmcfg32.dll
-EXPORTS
-CmstpExtensionProc
-CMConfig
-CMConfigEx
+; 
+; Exports of file cmcfg32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmcfg32.dll
+EXPORTS
+CmstpExtensionProc
+CMConfig
+CMConfigEx
diff --git a/mingw-w64-crt/lib64/cmdial32.def b/mingw-w64-crt/lib64/cmdial32.def
index 95f57c4..3ba1845 100644
--- a/mingw-w64-crt/lib64/cmdial32.def
+++ b/mingw-w64-crt/lib64/cmdial32.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file cmdial32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmdial32.dll
-EXPORTS
-AutoDialFunc
-CmCustomDialDlg
-CmCustomHangUp
-CmReConnect
-GetCustomProperty
-InetDialHandler
-RasCustomDeleteEntryNotify
-RasCustomDial
-RasCustomDialDlg
-RasCustomEntryDlg
-RasCustomHangUp
+; 
+; Exports of file cmdial32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmdial32.dll
+EXPORTS
+AutoDialFunc
+CmCustomDialDlg
+CmCustomHangUp
+CmReConnect
+GetCustomProperty
+InetDialHandler
+RasCustomDeleteEntryNotify
+RasCustomDial
+RasCustomDialDlg
+RasCustomEntryDlg
+RasCustomHangUp
diff --git a/mingw-w64-crt/lib64/cmpbk32.def b/mingw-w64-crt/lib64/cmpbk32.def
index db55ac7..9d7303f 100644
--- a/mingw-w64-crt/lib64/cmpbk32.def
+++ b/mingw-w64-crt/lib64/cmpbk32.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file cmpbk32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmpbk32.dll
-EXPORTS
-PhoneBookCopyFilter
-PhoneBookEnumCountries
-PhoneBookEnumNumbers
-PhoneBookEnumNumbersWithRegionsZero
-PhoneBookEnumRegions
-PhoneBookFreeFilter
-PhoneBookGetCountryId
-PhoneBookGetCountryNameA
-PhoneBookGetCountryNameW
-PhoneBookGetCurrentCountryId
-PhoneBookGetPhoneCanonicalA
-PhoneBookGetPhoneDUNA
-PhoneBookGetPhoneDescA
-PhoneBookGetPhoneDispA
-PhoneBookGetPhoneNonCanonicalA
-PhoneBookGetPhoneType
-PhoneBookGetRegionNameA
-PhoneBookHasPhoneType
-PhoneBookLoad
-PhoneBookMatchFilter
-PhoneBookMergeChanges
-PhoneBookParseInfoA
-PhoneBookUnload
+; 
+; Exports of file cmpbk32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmpbk32.dll
+EXPORTS
+PhoneBookCopyFilter
+PhoneBookEnumCountries
+PhoneBookEnumNumbers
+PhoneBookEnumNumbersWithRegionsZero
+PhoneBookEnumRegions
+PhoneBookFreeFilter
+PhoneBookGetCountryId
+PhoneBookGetCountryNameA
+PhoneBookGetCountryNameW
+PhoneBookGetCurrentCountryId
+PhoneBookGetPhoneCanonicalA
+PhoneBookGetPhoneDUNA
+PhoneBookGetPhoneDescA
+PhoneBookGetPhoneDispA
+PhoneBookGetPhoneNonCanonicalA
+PhoneBookGetPhoneType
+PhoneBookGetRegionNameA
+PhoneBookHasPhoneType
+PhoneBookLoad
+PhoneBookMatchFilter
+PhoneBookMergeChanges
+PhoneBookParseInfoA
+PhoneBookUnload
diff --git a/mingw-w64-crt/lib64/cmprops.def b/mingw-w64-crt/lib64/cmprops.def
index ec512b0..c5f6438 100644
--- a/mingw-w64-crt/lib64/cmprops.def
+++ b/mingw-w64-crt/lib64/cmprops.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CMProps.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CMProps.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CMProps.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CMProps.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/cmsetacl.def b/mingw-w64-crt/lib64/cmsetacl.def
index f2c3945..9b748b4 100644
--- a/mingw-w64-crt/lib64/cmsetacl.def
+++ b/mingw-w64-crt/lib64/cmsetacl.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file cmSetACL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmSetACL.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file cmSetACL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmSetACL.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/cmutil.def b/mingw-w64-crt/lib64/cmutil.def
index 4e60610..d8d7ff5 100644
--- a/mingw-w64-crt/lib64/cmutil.def
+++ b/mingw-w64-crt/lib64/cmutil.def
@@ -1,253 +1,253 @@
-; 
-; Exports of file cmutil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmutil.dll
-EXPORTS
-; public: __cdecl CIniA::CIniA(struct HINSTANCE__ * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
-??0CIniA@@QEAA@PEAUHINSTANCE__@@PEBD111@Z
-; public: __cdecl CIniW::CIniW(struct HINSTANCE__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CIniW@@QEAA@PEAUHINSTANCE__@@PEBG111@Z
-; public: __cdecl CRandom::CRandom(unsigned int) __ptr64
-??0CRandom@@QEAA@I@Z
-; public: __cdecl CRandom::CRandom(void) __ptr64
-??0CRandom@@QEAA@XZ
-; public: __cdecl CmLogFile::CmLogFile(void) __ptr64
-??0CmLogFile@@QEAA@XZ
-; public: __cdecl CIniA::~CIniA(void) __ptr64
-??1CIniA@@QEAA@XZ
-; public: __cdecl CIniW::~CIniW(void) __ptr64
-??1CIniW@@QEAA@XZ
-; public: __cdecl CmLogFile::~CmLogFile(void) __ptr64
-??1CmLogFile@@QEAA@XZ
-; public: class CIniA & __ptr64 __cdecl CIniA::operator=(class CIniA const & __ptr64) __ptr64
-??4CIniA@@QEAAAEAV0@AEBV0@@Z
-; public: class CIniW & __ptr64 __cdecl CIniW::operator=(class CIniW const & __ptr64) __ptr64
-??4CIniW@@QEAAAEAV0@AEBV0@@Z
-; public: class CRandom & __ptr64 __cdecl CRandom::operator=(class CRandom const & __ptr64) __ptr64
-??4CRandom@@QEAAAEAV0@AEBV0@@Z
-; public: class CmLogFile & __ptr64 __cdecl CmLogFile::operator=(class CmLogFile const & __ptr64) __ptr64
-??4CmLogFile@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl CIniA::`default constructor closure'(void) __ptr64
-??_FCIniA@@QEAAXXZ
-; public: void __cdecl CIniW::`default constructor closure'(void) __ptr64
-??_FCIniW@@QEAAXXZ
-; public: void __cdecl CmLogFile::Banner(void) __ptr64
-?Banner@CmLogFile@@QEAAXXZ
-; protected: int __cdecl CIniA::CIniA_DeleteEntryFromReg(struct HKEY__ * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
-?CIniA_DeleteEntryFromReg@CIniA@@IEBAHPEAUHKEY__@@PEBD1@Z
-; protected: unsigned char * __ptr64 __cdecl CIniA::CIniA_GetEntryFromReg(struct HKEY__ * __ptr64,char const * __ptr64,char const * __ptr64,unsigned long,unsigned long)const  __ptr64
-?CIniA_GetEntryFromReg@CIniA@@IEBAPEAEPEAUHKEY__@@PEBD1KK@Z
-; protected: int __cdecl CIniA::CIniA_WriteEntryToReg(struct HKEY__ * __ptr64,char const * __ptr64,char const * __ptr64,unsigned char const * __ptr64,unsigned long,unsigned long)const  __ptr64
-?CIniA_WriteEntryToReg@CIniA@@IEBAHPEAUHKEY__@@PEBD1PEBEKK@Z
-; protected: int __cdecl CIniW::CIniW_DeleteEntryFromReg(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?CIniW_DeleteEntryFromReg@CIniW@@IEBAHPEAUHKEY__@@PEBG1@Z
-; protected: unsigned char * __ptr64 __cdecl CIniW::CIniW_GetEntryFromReg(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long)const  __ptr64
-?CIniW_GetEntryFromReg@CIniW@@IEBAPEAEPEAUHKEY__@@PEBG1KK@Z
-; protected: int __cdecl CIniW::CIniW_WriteEntryToReg(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned char const * __ptr64,unsigned long,unsigned long)const  __ptr64
-?CIniW_WriteEntryToReg@CIniW@@IEBAHPEAUHKEY__@@PEBG1PEBEKK@Z
-; protected: static void __cdecl CIniA::CIni_SetFile(char * __ptr64 * __ptr64,char const * __ptr64)
-?CIni_SetFile@CIniA@@KAXPEAPEADPEBD@Z
-; protected: static void __cdecl CIniW::CIni_SetFile(unsigned short * __ptr64 * __ptr64,unsigned short const * __ptr64)
-?CIni_SetFile@CIniW@@KAXPEAPEAGPEBG@Z
-; public: void __cdecl CIniA::Clear(void) __ptr64
-?Clear@CIniA@@QEAAXXZ
-; public: void __cdecl CIniW::Clear(void) __ptr64
-?Clear@CIniW@@QEAAXXZ
-; public: void __cdecl CmLogFile::Clear(int) __ptr64
-?Clear@CmLogFile@@QEAAXH@Z
-; private: long __cdecl CmLogFile::CloseFile(void) __ptr64
-?CloseFile@CmLogFile@@AEAAJXZ
-CmAtolA
-CmAtolW
-CmBuildFullPathFromRelativeA
-CmBuildFullPathFromRelativeW
-CmCompareStringA
-CmCompareStringW
-CmConvertRelativePathA
-CmConvertRelativePathW
-CmEndOfStrA
-CmEndOfStrW
-CmFmtMsgA
-CmFmtMsgW
-CmFree
-CmIsDigitA
-CmIsDigitW
-CmIsSpaceA
-CmIsSpaceW
-CmLoadIconA
-CmLoadIconW
-CmLoadImage
-CmLoadImageA
-CmLoadImageW
-CmLoadSmallIconA
-CmLoadSmallIconW
-CmLoadStringA
-CmLoadStringW
-CmMalloc
-CmParsePathA
-CmParsePathW
-CmRealloc
-CmStrCatAllocA
-CmStrCatAllocW
-CmStrCpyAllocA
-CmStrCpyAllocW
-CmStrStrA
-CmStrStrW
-CmStrTrimA
-CmStrTrimW
-CmStrchrA
-CmStrchrW
-CmStripFileNameA
-CmStripFileNameW
-CmStripPathAndExtA
-CmStripPathAndExtW
-CmStrrchrA
-CmStrrchrW
-CmStrtokA
-CmStrtokW
-CmWinHelp
-; public: long __cdecl CmLogFile::DeInit(void) __ptr64
-?DeInit@CmLogFile@@QEAAJXZ
-; private: void __cdecl CmLogFile::FormatWrite(enum _CMLOG_ITEM,unsigned short * __ptr64) __ptr64
-?FormatWrite@CmLogFile@@AEAAXW4_CMLOG_ITEM@@PEAG@Z
-; public: int __cdecl CIniA::GPPB(char const * __ptr64,char const * __ptr64,int)const  __ptr64
-?GPPB@CIniA@@QEBAHPEBD0H@Z
-; public: int __cdecl CIniW::GPPB(unsigned short const * __ptr64,unsigned short const * __ptr64,int)const  __ptr64
-?GPPB@CIniW@@QEBAHPEBG0H@Z
-; public: unsigned long __cdecl CIniA::GPPI(char const * __ptr64,char const * __ptr64,unsigned long)const  __ptr64
-?GPPI@CIniA@@QEBAKPEBD0K@Z
-; public: unsigned long __cdecl CIniW::GPPI(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)const  __ptr64
-?GPPI@CIniW@@QEBAKPEBG0K@Z
-; public: char * __ptr64 __cdecl CIniA::GPPS(char const * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
-?GPPS@CIniA@@QEBAPEADPEBD00@Z
-; public: unsigned short * __ptr64 __cdecl CIniW::GPPS(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?GPPS@CIniW@@QEBAPEAGPEBG00@Z
-; public: int __cdecl CRandom::Generate(void) __ptr64
-?Generate@CRandom@@QEAAHXZ
-; public: char const * __ptr64 __cdecl CIniA::GetFile(void)const  __ptr64
-?GetFile@CIniA@@QEBAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl CIniW::GetFile(void)const  __ptr64
-?GetFile@CIniW@@QEBAPEBGXZ
-; public: struct HINSTANCE__ * __ptr64 __cdecl CIniA::GetHInst(void)const  __ptr64
-?GetHInst@CIniA@@QEBAPEAUHINSTANCE__@@XZ
-; public: struct HINSTANCE__ * __ptr64 __cdecl CIniW::GetHInst(void)const  __ptr64
-?GetHInst@CIniW@@QEBAPEAUHINSTANCE__@@XZ
-; public: unsigned short const * __ptr64 __cdecl CmLogFile::GetLogFilePath(void) __ptr64
-?GetLogFilePath@CmLogFile@@QEAAPEBGXZ
-GetOSBuildNumber
-GetOSMajorVersion
-GetOSVersion
-; public: char const * __ptr64 __cdecl CIniA::GetPrimaryFile(void)const  __ptr64
-?GetPrimaryFile@CIniA@@QEBAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl CIniW::GetPrimaryFile(void)const  __ptr64
-?GetPrimaryFile@CIniW@@QEBAPEBGXZ
-; public: char const * __ptr64 __cdecl CIniA::GetPrimaryRegPath(void)const  __ptr64
-?GetPrimaryRegPath@CIniA@@QEBAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl CIniW::GetPrimaryRegPath(void)const  __ptr64
-?GetPrimaryRegPath@CIniW@@QEBAPEBGXZ
-; public: char const * __ptr64 __cdecl CIniA::GetRegPath(void)const  __ptr64
-?GetRegPath@CIniA@@QEBAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl CIniW::GetRegPath(void)const  __ptr64
-?GetRegPath@CIniW@@QEBAPEBGXZ
-; public: char const * __ptr64 __cdecl CIniA::GetSection(void)const  __ptr64
-?GetSection@CIniA@@QEBAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl CIniW::GetSection(void)const  __ptr64
-?GetSection@CIniW@@QEBAPEBGXZ
-; public: void __cdecl CRandom::Init(unsigned long) __ptr64
-?Init@CRandom@@QEAAXK@Z
-; public: long __cdecl CmLogFile::Init(struct HINSTANCE__ * __ptr64,int,char const * __ptr64) __ptr64
-?Init@CmLogFile@@QEAAJPEAUHINSTANCE__@@HPEBD@Z
-; public: long __cdecl CmLogFile::Init(struct HINSTANCE__ * __ptr64,int,unsigned short const * __ptr64) __ptr64
-?Init@CmLogFile@@QEAAJPEAUHINSTANCE__@@HPEBG@Z
-; public: int __cdecl CmLogFile::IsEnabled(void) __ptr64
-?IsEnabled@CmLogFile@@QEAAHXZ
-IsFarEastNonOSR2Win95
-IsLogonAsSystem
-; protected: char * __ptr64 __cdecl CIniA::LoadEntry(char const * __ptr64)const  __ptr64
-?LoadEntry@CIniA@@IEBAPEADPEBD@Z
-; protected: unsigned short * __ptr64 __cdecl CIniW::LoadEntry(unsigned short const * __ptr64)const  __ptr64
-?LoadEntry@CIniW@@IEBAPEAGPEBG@Z
-; public: char * __ptr64 __cdecl CIniA::LoadSection(char const * __ptr64)const  __ptr64
-?LoadSection@CIniA@@QEBAPEADPEBD@Z
-; public: unsigned short * __ptr64 __cdecl CIniW::LoadSection(unsigned short const * __ptr64)const  __ptr64
-?LoadSection@CIniW@@QEBAPEAGPEBG@Z
-; public: void __cdecl CmLogFile::Log(enum _CMLOG_ITEM,...) __ptr64
-?Log@CmLogFile@@QEAAXW4_CMLOG_ITEM@@ZZ
-MakeBold
-; private: long __cdecl CmLogFile::OpenFile(void) __ptr64
-?OpenFile@CmLogFile@@AEAAJXZ
-ReleaseBold
-; public: void __cdecl CIniA::SetEntry(char const * __ptr64) __ptr64
-?SetEntry@CIniA@@QEAAXPEBD@Z
-; public: void __cdecl CIniW::SetEntry(unsigned short const * __ptr64) __ptr64
-?SetEntry@CIniW@@QEAAXPEBG@Z
-; public: void __cdecl CIniA::SetEntryFromIdx(unsigned long) __ptr64
-?SetEntryFromIdx@CIniA@@QEAAXK@Z
-; public: void __cdecl CIniW::SetEntryFromIdx(unsigned long) __ptr64
-?SetEntryFromIdx@CIniW@@QEAAXK@Z
-; public: void __cdecl CIniA::SetFile(char const * __ptr64) __ptr64
-?SetFile@CIniA@@QEAAXPEBD@Z
-; public: void __cdecl CIniW::SetFile(unsigned short const * __ptr64) __ptr64
-?SetFile@CIniW@@QEAAXPEBG@Z
-; public: void __cdecl CIniA::SetHInst(struct HINSTANCE__ * __ptr64) __ptr64
-?SetHInst@CIniA@@QEAAXPEAUHINSTANCE__@@@Z
-; public: void __cdecl CIniW::SetHInst(struct HINSTANCE__ * __ptr64) __ptr64
-?SetHInst@CIniW@@QEAAXPEAUHINSTANCE__@@@Z
-; public: void __cdecl CIniA::SetICSDataPath(char const * __ptr64) __ptr64
-?SetICSDataPath@CIniA@@QEAAXPEBD@Z
-; public: void __cdecl CIniW::SetICSDataPath(unsigned short const * __ptr64) __ptr64
-?SetICSDataPath@CIniW@@QEAAXPEBG@Z
-; public: long __cdecl CmLogFile::SetParams(int,unsigned long,char const * __ptr64) __ptr64
-?SetParams@CmLogFile@@QEAAJHKPEBD@Z
-; public: long __cdecl CmLogFile::SetParams(int,unsigned long,unsigned short const * __ptr64) __ptr64
-?SetParams@CmLogFile@@QEAAJHKPEBG@Z
-; public: void __cdecl CIniA::SetPrimaryFile(char const * __ptr64) __ptr64
-?SetPrimaryFile@CIniA@@QEAAXPEBD@Z
-; public: void __cdecl CIniW::SetPrimaryFile(unsigned short const * __ptr64) __ptr64
-?SetPrimaryFile@CIniW@@QEAAXPEBG@Z
-; public: void __cdecl CIniA::SetPrimaryRegPath(char const * __ptr64) __ptr64
-?SetPrimaryRegPath@CIniA@@QEAAXPEBD@Z
-; public: void __cdecl CIniW::SetPrimaryRegPath(unsigned short const * __ptr64) __ptr64
-?SetPrimaryRegPath@CIniW@@QEAAXPEBG@Z
-; public: void __cdecl CIniA::SetReadICSData(int) __ptr64
-?SetReadICSData@CIniA@@QEAAXH@Z
-; public: void __cdecl CIniW::SetReadICSData(int) __ptr64
-?SetReadICSData@CIniW@@QEAAXH@Z
-; public: void __cdecl CIniA::SetRegPath(char const * __ptr64) __ptr64
-?SetRegPath@CIniA@@QEAAXPEBD@Z
-; public: void __cdecl CIniW::SetRegPath(unsigned short const * __ptr64) __ptr64
-?SetRegPath@CIniW@@QEAAXPEBG@Z
-; public: void __cdecl CIniA::SetSection(char const * __ptr64) __ptr64
-?SetSection@CIniA@@QEAAXPEBD@Z
-; public: void __cdecl CIniW::SetSection(unsigned short const * __ptr64) __ptr64
-?SetSection@CIniW@@QEAAXPEBG@Z
-; public: void __cdecl CIniA::SetWriteICSData(int) __ptr64
-?SetWriteICSData@CIniA@@QEAAXH@Z
-; public: void __cdecl CIniW::SetWriteICSData(int) __ptr64
-?SetWriteICSData@CIniW@@QEAAXH@Z
-; public: long __cdecl CmLogFile::Start(int) __ptr64
-?Start@CmLogFile@@QEAAJH@Z
-; public: long __cdecl CmLogFile::Stop(void) __ptr64
-?Stop@CmLogFile@@QEAAJXZ
-SzToWz
-SzToWzWithAlloc
-UpdateFont
-; public: void __cdecl CIniA::WPPB(char const * __ptr64,char const * __ptr64,int) __ptr64
-?WPPB@CIniA@@QEAAXPEBD0H@Z
-; public: void __cdecl CIniW::WPPB(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?WPPB@CIniW@@QEAAXPEBG0H@Z
-; public: void __cdecl CIniA::WPPI(char const * __ptr64,char const * __ptr64,unsigned long) __ptr64
-?WPPI@CIniA@@QEAAXPEBD0K@Z
-; public: void __cdecl CIniW::WPPI(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-?WPPI@CIniW@@QEAAXPEBG0K@Z
-; public: void __cdecl CIniA::WPPS(char const * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
-?WPPS@CIniA@@QEAAXPEBD00@Z
-; public: void __cdecl CIniW::WPPS(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?WPPS@CIniW@@QEAAXPEBG00@Z
-; private: long __cdecl CmLogFile::Write(unsigned short * __ptr64) __ptr64
-?Write@CmLogFile@@AEAAJPEAG@Z
-WzToSz
-WzToSzWithAlloc
+; 
+; Exports of file cmutil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmutil.dll
+EXPORTS
+; public: __cdecl CIniA::CIniA(struct HINSTANCE__ * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
+??0CIniA@@QEAA@PEAUHINSTANCE__@@PEBD111@Z
+; public: __cdecl CIniW::CIniW(struct HINSTANCE__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CIniW@@QEAA@PEAUHINSTANCE__@@PEBG111@Z
+; public: __cdecl CRandom::CRandom(unsigned int) __ptr64
+??0CRandom@@QEAA@I@Z
+; public: __cdecl CRandom::CRandom(void) __ptr64
+??0CRandom@@QEAA@XZ
+; public: __cdecl CmLogFile::CmLogFile(void) __ptr64
+??0CmLogFile@@QEAA@XZ
+; public: __cdecl CIniA::~CIniA(void) __ptr64
+??1CIniA@@QEAA@XZ
+; public: __cdecl CIniW::~CIniW(void) __ptr64
+??1CIniW@@QEAA@XZ
+; public: __cdecl CmLogFile::~CmLogFile(void) __ptr64
+??1CmLogFile@@QEAA@XZ
+; public: class CIniA & __ptr64 __cdecl CIniA::operator=(class CIniA const & __ptr64) __ptr64
+??4CIniA@@QEAAAEAV0@AEBV0@@Z
+; public: class CIniW & __ptr64 __cdecl CIniW::operator=(class CIniW const & __ptr64) __ptr64
+??4CIniW@@QEAAAEAV0@AEBV0@@Z
+; public: class CRandom & __ptr64 __cdecl CRandom::operator=(class CRandom const & __ptr64) __ptr64
+??4CRandom@@QEAAAEAV0@AEBV0@@Z
+; public: class CmLogFile & __ptr64 __cdecl CmLogFile::operator=(class CmLogFile const & __ptr64) __ptr64
+??4CmLogFile@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl CIniA::`default constructor closure'(void) __ptr64
+??_FCIniA@@QEAAXXZ
+; public: void __cdecl CIniW::`default constructor closure'(void) __ptr64
+??_FCIniW@@QEAAXXZ
+; public: void __cdecl CmLogFile::Banner(void) __ptr64
+?Banner@CmLogFile@@QEAAXXZ
+; protected: int __cdecl CIniA::CIniA_DeleteEntryFromReg(struct HKEY__ * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
+?CIniA_DeleteEntryFromReg@CIniA@@IEBAHPEAUHKEY__@@PEBD1@Z
+; protected: unsigned char * __ptr64 __cdecl CIniA::CIniA_GetEntryFromReg(struct HKEY__ * __ptr64,char const * __ptr64,char const * __ptr64,unsigned long,unsigned long)const  __ptr64
+?CIniA_GetEntryFromReg@CIniA@@IEBAPEAEPEAUHKEY__@@PEBD1KK@Z
+; protected: int __cdecl CIniA::CIniA_WriteEntryToReg(struct HKEY__ * __ptr64,char const * __ptr64,char const * __ptr64,unsigned char const * __ptr64,unsigned long,unsigned long)const  __ptr64
+?CIniA_WriteEntryToReg@CIniA@@IEBAHPEAUHKEY__@@PEBD1PEBEKK@Z
+; protected: int __cdecl CIniW::CIniW_DeleteEntryFromReg(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?CIniW_DeleteEntryFromReg@CIniW@@IEBAHPEAUHKEY__@@PEBG1@Z
+; protected: unsigned char * __ptr64 __cdecl CIniW::CIniW_GetEntryFromReg(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long)const  __ptr64
+?CIniW_GetEntryFromReg@CIniW@@IEBAPEAEPEAUHKEY__@@PEBG1KK@Z
+; protected: int __cdecl CIniW::CIniW_WriteEntryToReg(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned char const * __ptr64,unsigned long,unsigned long)const  __ptr64
+?CIniW_WriteEntryToReg@CIniW@@IEBAHPEAUHKEY__@@PEBG1PEBEKK@Z
+; protected: static void __cdecl CIniA::CIni_SetFile(char * __ptr64 * __ptr64,char const * __ptr64)
+?CIni_SetFile@CIniA@@KAXPEAPEADPEBD@Z
+; protected: static void __cdecl CIniW::CIni_SetFile(unsigned short * __ptr64 * __ptr64,unsigned short const * __ptr64)
+?CIni_SetFile@CIniW@@KAXPEAPEAGPEBG@Z
+; public: void __cdecl CIniA::Clear(void) __ptr64
+?Clear@CIniA@@QEAAXXZ
+; public: void __cdecl CIniW::Clear(void) __ptr64
+?Clear@CIniW@@QEAAXXZ
+; public: void __cdecl CmLogFile::Clear(int) __ptr64
+?Clear@CmLogFile@@QEAAXH@Z
+; private: long __cdecl CmLogFile::CloseFile(void) __ptr64
+?CloseFile@CmLogFile@@AEAAJXZ
+CmAtolA
+CmAtolW
+CmBuildFullPathFromRelativeA
+CmBuildFullPathFromRelativeW
+CmCompareStringA
+CmCompareStringW
+CmConvertRelativePathA
+CmConvertRelativePathW
+CmEndOfStrA
+CmEndOfStrW
+CmFmtMsgA
+CmFmtMsgW
+CmFree
+CmIsDigitA
+CmIsDigitW
+CmIsSpaceA
+CmIsSpaceW
+CmLoadIconA
+CmLoadIconW
+CmLoadImage
+CmLoadImageA
+CmLoadImageW
+CmLoadSmallIconA
+CmLoadSmallIconW
+CmLoadStringA
+CmLoadStringW
+CmMalloc
+CmParsePathA
+CmParsePathW
+CmRealloc
+CmStrCatAllocA
+CmStrCatAllocW
+CmStrCpyAllocA
+CmStrCpyAllocW
+CmStrStrA
+CmStrStrW
+CmStrTrimA
+CmStrTrimW
+CmStrchrA
+CmStrchrW
+CmStripFileNameA
+CmStripFileNameW
+CmStripPathAndExtA
+CmStripPathAndExtW
+CmStrrchrA
+CmStrrchrW
+CmStrtokA
+CmStrtokW
+CmWinHelp
+; public: long __cdecl CmLogFile::DeInit(void) __ptr64
+?DeInit@CmLogFile@@QEAAJXZ
+; private: void __cdecl CmLogFile::FormatWrite(enum _CMLOG_ITEM,unsigned short * __ptr64) __ptr64
+?FormatWrite@CmLogFile@@AEAAXW4_CMLOG_ITEM@@PEAG@Z
+; public: int __cdecl CIniA::GPPB(char const * __ptr64,char const * __ptr64,int)const  __ptr64
+?GPPB@CIniA@@QEBAHPEBD0H@Z
+; public: int __cdecl CIniW::GPPB(unsigned short const * __ptr64,unsigned short const * __ptr64,int)const  __ptr64
+?GPPB@CIniW@@QEBAHPEBG0H@Z
+; public: unsigned long __cdecl CIniA::GPPI(char const * __ptr64,char const * __ptr64,unsigned long)const  __ptr64
+?GPPI@CIniA@@QEBAKPEBD0K@Z
+; public: unsigned long __cdecl CIniW::GPPI(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)const  __ptr64
+?GPPI@CIniW@@QEBAKPEBG0K@Z
+; public: char * __ptr64 __cdecl CIniA::GPPS(char const * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
+?GPPS@CIniA@@QEBAPEADPEBD00@Z
+; public: unsigned short * __ptr64 __cdecl CIniW::GPPS(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?GPPS@CIniW@@QEBAPEAGPEBG00@Z
+; public: int __cdecl CRandom::Generate(void) __ptr64
+?Generate@CRandom@@QEAAHXZ
+; public: char const * __ptr64 __cdecl CIniA::GetFile(void)const  __ptr64
+?GetFile@CIniA@@QEBAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl CIniW::GetFile(void)const  __ptr64
+?GetFile@CIniW@@QEBAPEBGXZ
+; public: struct HINSTANCE__ * __ptr64 __cdecl CIniA::GetHInst(void)const  __ptr64
+?GetHInst@CIniA@@QEBAPEAUHINSTANCE__@@XZ
+; public: struct HINSTANCE__ * __ptr64 __cdecl CIniW::GetHInst(void)const  __ptr64
+?GetHInst@CIniW@@QEBAPEAUHINSTANCE__@@XZ
+; public: unsigned short const * __ptr64 __cdecl CmLogFile::GetLogFilePath(void) __ptr64
+?GetLogFilePath@CmLogFile@@QEAAPEBGXZ
+GetOSBuildNumber
+GetOSMajorVersion
+GetOSVersion
+; public: char const * __ptr64 __cdecl CIniA::GetPrimaryFile(void)const  __ptr64
+?GetPrimaryFile@CIniA@@QEBAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl CIniW::GetPrimaryFile(void)const  __ptr64
+?GetPrimaryFile@CIniW@@QEBAPEBGXZ
+; public: char const * __ptr64 __cdecl CIniA::GetPrimaryRegPath(void)const  __ptr64
+?GetPrimaryRegPath@CIniA@@QEBAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl CIniW::GetPrimaryRegPath(void)const  __ptr64
+?GetPrimaryRegPath@CIniW@@QEBAPEBGXZ
+; public: char const * __ptr64 __cdecl CIniA::GetRegPath(void)const  __ptr64
+?GetRegPath@CIniA@@QEBAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl CIniW::GetRegPath(void)const  __ptr64
+?GetRegPath@CIniW@@QEBAPEBGXZ
+; public: char const * __ptr64 __cdecl CIniA::GetSection(void)const  __ptr64
+?GetSection@CIniA@@QEBAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl CIniW::GetSection(void)const  __ptr64
+?GetSection@CIniW@@QEBAPEBGXZ
+; public: void __cdecl CRandom::Init(unsigned long) __ptr64
+?Init@CRandom@@QEAAXK@Z
+; public: long __cdecl CmLogFile::Init(struct HINSTANCE__ * __ptr64,int,char const * __ptr64) __ptr64
+?Init@CmLogFile@@QEAAJPEAUHINSTANCE__@@HPEBD@Z
+; public: long __cdecl CmLogFile::Init(struct HINSTANCE__ * __ptr64,int,unsigned short const * __ptr64) __ptr64
+?Init@CmLogFile@@QEAAJPEAUHINSTANCE__@@HPEBG@Z
+; public: int __cdecl CmLogFile::IsEnabled(void) __ptr64
+?IsEnabled@CmLogFile@@QEAAHXZ
+IsFarEastNonOSR2Win95
+IsLogonAsSystem
+; protected: char * __ptr64 __cdecl CIniA::LoadEntry(char const * __ptr64)const  __ptr64
+?LoadEntry@CIniA@@IEBAPEADPEBD@Z
+; protected: unsigned short * __ptr64 __cdecl CIniW::LoadEntry(unsigned short const * __ptr64)const  __ptr64
+?LoadEntry@CIniW@@IEBAPEAGPEBG@Z
+; public: char * __ptr64 __cdecl CIniA::LoadSection(char const * __ptr64)const  __ptr64
+?LoadSection@CIniA@@QEBAPEADPEBD@Z
+; public: unsigned short * __ptr64 __cdecl CIniW::LoadSection(unsigned short const * __ptr64)const  __ptr64
+?LoadSection@CIniW@@QEBAPEAGPEBG@Z
+; public: void __cdecl CmLogFile::Log(enum _CMLOG_ITEM,...) __ptr64
+?Log@CmLogFile@@QEAAXW4_CMLOG_ITEM@@ZZ
+MakeBold
+; private: long __cdecl CmLogFile::OpenFile(void) __ptr64
+?OpenFile@CmLogFile@@AEAAJXZ
+ReleaseBold
+; public: void __cdecl CIniA::SetEntry(char const * __ptr64) __ptr64
+?SetEntry@CIniA@@QEAAXPEBD@Z
+; public: void __cdecl CIniW::SetEntry(unsigned short const * __ptr64) __ptr64
+?SetEntry@CIniW@@QEAAXPEBG@Z
+; public: void __cdecl CIniA::SetEntryFromIdx(unsigned long) __ptr64
+?SetEntryFromIdx@CIniA@@QEAAXK@Z
+; public: void __cdecl CIniW::SetEntryFromIdx(unsigned long) __ptr64
+?SetEntryFromIdx@CIniW@@QEAAXK@Z
+; public: void __cdecl CIniA::SetFile(char const * __ptr64) __ptr64
+?SetFile@CIniA@@QEAAXPEBD@Z
+; public: void __cdecl CIniW::SetFile(unsigned short const * __ptr64) __ptr64
+?SetFile@CIniW@@QEAAXPEBG@Z
+; public: void __cdecl CIniA::SetHInst(struct HINSTANCE__ * __ptr64) __ptr64
+?SetHInst@CIniA@@QEAAXPEAUHINSTANCE__@@@Z
+; public: void __cdecl CIniW::SetHInst(struct HINSTANCE__ * __ptr64) __ptr64
+?SetHInst@CIniW@@QEAAXPEAUHINSTANCE__@@@Z
+; public: void __cdecl CIniA::SetICSDataPath(char const * __ptr64) __ptr64
+?SetICSDataPath@CIniA@@QEAAXPEBD@Z
+; public: void __cdecl CIniW::SetICSDataPath(unsigned short const * __ptr64) __ptr64
+?SetICSDataPath@CIniW@@QEAAXPEBG@Z
+; public: long __cdecl CmLogFile::SetParams(int,unsigned long,char const * __ptr64) __ptr64
+?SetParams@CmLogFile@@QEAAJHKPEBD@Z
+; public: long __cdecl CmLogFile::SetParams(int,unsigned long,unsigned short const * __ptr64) __ptr64
+?SetParams@CmLogFile@@QEAAJHKPEBG@Z
+; public: void __cdecl CIniA::SetPrimaryFile(char const * __ptr64) __ptr64
+?SetPrimaryFile@CIniA@@QEAAXPEBD@Z
+; public: void __cdecl CIniW::SetPrimaryFile(unsigned short const * __ptr64) __ptr64
+?SetPrimaryFile@CIniW@@QEAAXPEBG@Z
+; public: void __cdecl CIniA::SetPrimaryRegPath(char const * __ptr64) __ptr64
+?SetPrimaryRegPath@CIniA@@QEAAXPEBD@Z
+; public: void __cdecl CIniW::SetPrimaryRegPath(unsigned short const * __ptr64) __ptr64
+?SetPrimaryRegPath@CIniW@@QEAAXPEBG@Z
+; public: void __cdecl CIniA::SetReadICSData(int) __ptr64
+?SetReadICSData@CIniA@@QEAAXH@Z
+; public: void __cdecl CIniW::SetReadICSData(int) __ptr64
+?SetReadICSData@CIniW@@QEAAXH@Z
+; public: void __cdecl CIniA::SetRegPath(char const * __ptr64) __ptr64
+?SetRegPath@CIniA@@QEAAXPEBD@Z
+; public: void __cdecl CIniW::SetRegPath(unsigned short const * __ptr64) __ptr64
+?SetRegPath@CIniW@@QEAAXPEBG@Z
+; public: void __cdecl CIniA::SetSection(char const * __ptr64) __ptr64
+?SetSection@CIniA@@QEAAXPEBD@Z
+; public: void __cdecl CIniW::SetSection(unsigned short const * __ptr64) __ptr64
+?SetSection@CIniW@@QEAAXPEBG@Z
+; public: void __cdecl CIniA::SetWriteICSData(int) __ptr64
+?SetWriteICSData@CIniA@@QEAAXH@Z
+; public: void __cdecl CIniW::SetWriteICSData(int) __ptr64
+?SetWriteICSData@CIniW@@QEAAXH@Z
+; public: long __cdecl CmLogFile::Start(int) __ptr64
+?Start@CmLogFile@@QEAAJH@Z
+; public: long __cdecl CmLogFile::Stop(void) __ptr64
+?Stop@CmLogFile@@QEAAJXZ
+SzToWz
+SzToWzWithAlloc
+UpdateFont
+; public: void __cdecl CIniA::WPPB(char const * __ptr64,char const * __ptr64,int) __ptr64
+?WPPB@CIniA@@QEAAXPEBD0H@Z
+; public: void __cdecl CIniW::WPPB(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?WPPB@CIniW@@QEAAXPEBG0H@Z
+; public: void __cdecl CIniA::WPPI(char const * __ptr64,char const * __ptr64,unsigned long) __ptr64
+?WPPI@CIniA@@QEAAXPEBD0K@Z
+; public: void __cdecl CIniW::WPPI(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+?WPPI@CIniW@@QEAAXPEBG0K@Z
+; public: void __cdecl CIniA::WPPS(char const * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
+?WPPS@CIniA@@QEAAXPEBD00@Z
+; public: void __cdecl CIniW::WPPS(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?WPPS@CIniW@@QEAAXPEBG00@Z
+; private: long __cdecl CmLogFile::Write(unsigned short * __ptr64) __ptr64
+?Write@CmLogFile@@AEAAJPEAG@Z
+WzToSz
+WzToSzWithAlloc
diff --git a/mingw-w64-crt/lib64/cnbjmon.def b/mingw-w64-crt/lib64/cnbjmon.def
index d22fe1b..6694a45 100644
--- a/mingw-w64-crt/lib64/cnbjmon.def
+++ b/mingw-w64-crt/lib64/cnbjmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file CNBJMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CNBJMON.dll
-EXPORTS
-InitializePrintMonitor
+; 
+; Exports of file CNBJMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CNBJMON.dll
+EXPORTS
+InitializePrintMonitor
diff --git a/mingw-w64-crt/lib64/cnetcfg.def b/mingw-w64-crt/lib64/cnetcfg.def
index a5f6c53..73cb518 100644
--- a/mingw-w64-crt/lib64/cnetcfg.def
+++ b/mingw-w64-crt/lib64/cnetcfg.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CNETCFG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CNETCFG.dll
-EXPORTS
-InetConfigSystem
-InetNeedModem
-InetNeedSystemComponents
-InetStartServices
+; 
+; Exports of file CNETCFG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CNETCFG.dll
+EXPORTS
+InetConfigSystem
+InetNeedModem
+InetNeedSystemComponents
+InetStartServices
diff --git a/mingw-w64-crt/lib64/cnvfat.def b/mingw-w64-crt/lib64/cnvfat.def
index d7fe046..6dc6dee 100644
--- a/mingw-w64-crt/lib64/cnvfat.def
+++ b/mingw-w64-crt/lib64/cnvfat.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file CUFAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CUFAT.dll
-EXPORTS
-IsConversionAvailable
-ConvertFAT
+; 
+; Exports of file CUFAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CUFAT.dll
+EXPORTS
+IsConversionAvailable
+ConvertFAT
diff --git a/mingw-w64-crt/lib64/coadmin.def b/mingw-w64-crt/lib64/coadmin.def
index 84b82b0..e47a972 100644
--- a/mingw-w64-crt/lib64/coadmin.def
+++ b/mingw-w64-crt/lib64/coadmin.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file COADMIN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COADMIN.dll
-EXPORTS
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
-InitComAdmindata
-TerminateComAdmindata
+; 
+; Exports of file COADMIN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COADMIN.dll
+EXPORTS
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
+InitComAdmindata
+TerminateComAdmindata
diff --git a/mingw-w64-crt/lib64/colbact.def b/mingw-w64-crt/lib64/colbact.def
index 07358bb..3832c74 100644
--- a/mingw-w64-crt/lib64/colbact.def
+++ b/mingw-w64-crt/lib64/colbact.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file colbact.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY colbact.DLL
-EXPORTS
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetClassInfoForCurrentUser
-GetDefaultPartitionForCurrentUser
-GetDefaultPartitionForSid
-PartitionAccessCheck
+; 
+; Exports of file colbact.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY colbact.DLL
+EXPORTS
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetClassInfoForCurrentUser
+GetDefaultPartitionForCurrentUser
+GetDefaultPartitionForSid
+PartitionAccessCheck
diff --git a/mingw-w64-crt/lib64/comaddin.def b/mingw-w64-crt/lib64/comaddin.def
index 0f7b0ee..3aaa441 100644
--- a/mingw-w64-crt/lib64/comaddin.def
+++ b/mingw-w64-crt/lib64/comaddin.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COMADDIN.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMADDIN.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file COMADDIN.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMADDIN.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/comadmin.def b/mingw-w64-crt/lib64/comadmin.def
index a032f67..472f7a9 100644
--- a/mingw-w64-crt/lib64/comadmin.def
+++ b/mingw-w64-crt/lib64/comadmin.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COMADMIN.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMADMIN.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file COMADMIN.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMADMIN.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/comcat.def b/mingw-w64-crt/lib64/comcat.def
index 7c1a876..e7417a3 100644
--- a/mingw-w64-crt/lib64/comcat.def
+++ b/mingw-w64-crt/lib64/comcat.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COMCAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMCAT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file COMCAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMCAT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/comctl32.def b/mingw-w64-crt/lib64/comctl32.def
index b853c53..91c557e 100644
--- a/mingw-w64-crt/lib64/comctl32.def
+++ b/mingw-w64-crt/lib64/comctl32.def
@@ -1,117 +1,117 @@
-; 
-; Exports of file COMCTL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMCTL32.dll
-EXPORTS
-MenuHelp
-ShowHideMenuCtl
-GetEffectiveClientRect
-DrawStatusTextA
-CreateStatusWindowA
-CreateToolbar
-CreateMappedBitmap
-CreatePropertySheetPage
-MakeDragList
-LBItemFromPt
-DrawInsert
-CreateUpDownControl
-InitCommonControls
-CreatePropertySheetPageA
-CreatePropertySheetPageW
-CreateStatusWindow
-CreateStatusWindowW
-CreateToolbarEx
-DestroyPropertySheetPage
-DllGetVersion
-DllInstall
-DrawStatusText
-DrawStatusTextW
-FlatSB_EnableScrollBar
-FlatSB_GetScrollInfo
-FlatSB_GetScrollPos
-FlatSB_GetScrollProp
-FlatSB_GetScrollPropPtr
-FlatSB_GetScrollRange
-FlatSB_SetScrollInfo
-FlatSB_SetScrollPos
-FlatSB_SetScrollProp
-FlatSB_SetScrollRange
-FlatSB_ShowScrollBar
-GetMUILanguage
-ImageList_Add
-ImageList_AddIcon
-ImageList_AddMasked
-ImageList_BeginDrag
-ImageList_Copy
-ImageList_Create
-ImageList_Destroy
-ImageList_DragEnter
-ImageList_DragLeave
-ImageList_DragMove
-ImageList_DragShowNolock
-ImageList_Draw
-ImageList_DrawEx
-ImageList_DrawIndirect
-ImageList_Duplicate
-ImageList_EndDrag
-ImageList_GetBkColor
-ImageList_GetDragImage
-ImageList_GetFlags
-ImageList_GetIcon
-ImageList_GetIconSize
-ImageList_GetImageCount
-ImageList_GetImageInfo
-ImageList_GetImageRect
-ImageList_LoadImage
-ImageList_LoadImageA
-ImageList_LoadImageW
-ImageList_Merge
-ImageList_Read
-ImageList_Remove
-ImageList_Replace
-ImageList_ReplaceIcon
-ImageList_SetBkColor
-ImageList_SetDragCursorImage
-ImageList_SetFilter
-ImageList_SetFlags
-ImageList_SetIconSize
-ImageList_SetImageCount
-ImageList_SetOverlayImage
-ImageList_Write
-InitCommonControlsEx
-InitMUILanguage
-InitializeFlatSB
-PropertySheet
-PropertySheetA
-PropertySheetW
-RegisterClassNameW
-UninitializeFlatSB
-_TrackMouseEvent
-FreeMRUList
-Str_SetPtrW
-DSA_Create
-DSA_Destroy
-DSA_GetItemPtr
-DSA_InsertItem
-DSA_DeleteAllItems
-DPA_Create
-DPA_Destroy
-DPA_GetPtr
-DPA_InsertPtr
-DPA_SetPtr
-DPA_DeletePtr
-DPA_DeleteAllPtrs
-DPA_Sort
-DPA_Search
-DPA_EnumCallback
-DPA_DestroyCallback
-DSA_DestroyCallback
-CreateMRUListW
-AddMRUStringW
-EnumMRUListW
-SetWindowSubclass
-RemoveWindowSubclass
-DefSubclassProc
+; 
+; Exports of file COMCTL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMCTL32.dll
+EXPORTS
+MenuHelp
+ShowHideMenuCtl
+GetEffectiveClientRect
+DrawStatusTextA
+CreateStatusWindowA
+CreateToolbar
+CreateMappedBitmap
+CreatePropertySheetPage
+MakeDragList
+LBItemFromPt
+DrawInsert
+CreateUpDownControl
+InitCommonControls
+CreatePropertySheetPageA
+CreatePropertySheetPageW
+CreateStatusWindow
+CreateStatusWindowW
+CreateToolbarEx
+DestroyPropertySheetPage
+DllGetVersion
+DllInstall
+DrawStatusText
+DrawStatusTextW
+FlatSB_EnableScrollBar
+FlatSB_GetScrollInfo
+FlatSB_GetScrollPos
+FlatSB_GetScrollProp
+FlatSB_GetScrollPropPtr
+FlatSB_GetScrollRange
+FlatSB_SetScrollInfo
+FlatSB_SetScrollPos
+FlatSB_SetScrollProp
+FlatSB_SetScrollRange
+FlatSB_ShowScrollBar
+GetMUILanguage
+ImageList_Add
+ImageList_AddIcon
+ImageList_AddMasked
+ImageList_BeginDrag
+ImageList_Copy
+ImageList_Create
+ImageList_Destroy
+ImageList_DragEnter
+ImageList_DragLeave
+ImageList_DragMove
+ImageList_DragShowNolock
+ImageList_Draw
+ImageList_DrawEx
+ImageList_DrawIndirect
+ImageList_Duplicate
+ImageList_EndDrag
+ImageList_GetBkColor
+ImageList_GetDragImage
+ImageList_GetFlags
+ImageList_GetIcon
+ImageList_GetIconSize
+ImageList_GetImageCount
+ImageList_GetImageInfo
+ImageList_GetImageRect
+ImageList_LoadImage
+ImageList_LoadImageA
+ImageList_LoadImageW
+ImageList_Merge
+ImageList_Read
+ImageList_Remove
+ImageList_Replace
+ImageList_ReplaceIcon
+ImageList_SetBkColor
+ImageList_SetDragCursorImage
+ImageList_SetFilter
+ImageList_SetFlags
+ImageList_SetIconSize
+ImageList_SetImageCount
+ImageList_SetOverlayImage
+ImageList_Write
+InitCommonControlsEx
+InitMUILanguage
+InitializeFlatSB
+PropertySheet
+PropertySheetA
+PropertySheetW
+RegisterClassNameW
+UninitializeFlatSB
+_TrackMouseEvent
+FreeMRUList
+Str_SetPtrW
+DSA_Create
+DSA_Destroy
+DSA_GetItemPtr
+DSA_InsertItem
+DSA_DeleteAllItems
+DPA_Create
+DPA_Destroy
+DPA_GetPtr
+DPA_InsertPtr
+DPA_SetPtr
+DPA_DeletePtr
+DPA_DeleteAllPtrs
+DPA_Sort
+DPA_Search
+DPA_EnumCallback
+DPA_DestroyCallback
+DSA_DestroyCallback
+CreateMRUListW
+AddMRUStringW
+EnumMRUListW
+SetWindowSubclass
+RemoveWindowSubclass
+DefSubclassProc
diff --git a/mingw-w64-crt/lib64/comdlg32.def b/mingw-w64-crt/lib64/comdlg32.def
index 46cfa9b..3ba3d4f 100644
--- a/mingw-w64-crt/lib64/comdlg32.def
+++ b/mingw-w64-crt/lib64/comdlg32.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file comdlg32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY comdlg32.dll
-EXPORTS
-ChooseColorA
-ChooseColorW
-ChooseFontA
-ChooseFontW
-CommDlgExtendedError
-FindTextA
-FindTextW
-GetFileTitleA
-GetFileTitleW
-GetOpenFileNameA
-GetOpenFileNameW
-GetSaveFileNameA
-GetSaveFileNameW
-LoadAlterBitmap
-PageSetupDlgA
-PageSetupDlgW
-PrintDlgA
-PrintDlgExA
-PrintDlgExW
-PrintDlgW
-ReplaceTextA
-ReplaceTextW
-Ssync_ANSI_UNICODE_Struct_For_WOW
-WantArrows
-dwLBSubclass
-dwOKSubclass
+; 
+; Exports of file comdlg32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY comdlg32.dll
+EXPORTS
+ChooseColorA
+ChooseColorW
+ChooseFontA
+ChooseFontW
+CommDlgExtendedError
+FindTextA
+FindTextW
+GetFileTitleA
+GetFileTitleW
+GetOpenFileNameA
+GetOpenFileNameW
+GetSaveFileNameA
+GetSaveFileNameW
+LoadAlterBitmap
+PageSetupDlgA
+PageSetupDlgW
+PrintDlgA
+PrintDlgExA
+PrintDlgExW
+PrintDlgW
+ReplaceTextA
+ReplaceTextW
+Ssync_ANSI_UNICODE_Struct_For_WOW
+WantArrows
+dwLBSubclass
+dwOKSubclass
diff --git a/mingw-w64-crt/lib64/compatui.def b/mingw-w64-crt/lib64/compatui.def
index 393d9c3..53b2009 100644
--- a/mingw-w64-crt/lib64/compatui.def
+++ b/mingw-w64-crt/lib64/compatui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CompatUI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CompatUI.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CompatUI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CompatUI.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/compstui.def b/mingw-w64-crt/lib64/compstui.def
index 4e6df85..240a6cc 100644
--- a/mingw-w64-crt/lib64/compstui.def
+++ b/mingw-w64-crt/lib64/compstui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COMPSTUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMPSTUI.dll
-EXPORTS
-CommonPropertySheetUIA
-CommonPropertySheetUIW
-GetCPSUIUserData
-SetCPSUIUserData
+; 
+; Exports of file COMPSTUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMPSTUI.dll
+EXPORTS
+CommonPropertySheetUIA
+CommonPropertySheetUIW
+GetCPSUIUserData
+SetCPSUIUserData
diff --git a/mingw-w64-crt/lib64/comrepl.def b/mingw-w64-crt/lib64/comrepl.def
index 3a33b29..ab8b88f 100644
--- a/mingw-w64-crt/lib64/comrepl.def
+++ b/mingw-w64-crt/lib64/comrepl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ComRepl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ComRepl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ComRepl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ComRepl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/comres.def b/mingw-w64-crt/lib64/comres.def
index efccf6e..079ad06 100644
--- a/mingw-w64-crt/lib64/comres.def
+++ b/mingw-w64-crt/lib64/comres.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file COMRes.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMRes.dll
-EXPORTS
-COMResModuleInstance
+; 
+; Exports of file COMRes.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMRes.dll
+EXPORTS
+COMResModuleInstance
diff --git a/mingw-w64-crt/lib64/comsetup.def b/mingw-w64-crt/lib64/comsetup.def
index 13a96c0..42c2bf1 100644
--- a/mingw-w64-crt/lib64/comsetup.def
+++ b/mingw-w64-crt/lib64/comsetup.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file comsetup.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY comsetup.dll
-EXPORTS
-HandlePendingInfOperations
-InstallOnReboot
-OcEntry
-RunComPlusSetWebApplicationServerRoleW
-SetupPrintLog
-UpgradeDSSchema
-ComPlusGetWebApplicationServerRole
-ComPlusSetWebApplicationServerRole
+; 
+; Exports of file comsetup.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY comsetup.dll
+EXPORTS
+HandlePendingInfOperations
+InstallOnReboot
+OcEntry
+RunComPlusSetWebApplicationServerRoleW
+SetupPrintLog
+UpgradeDSSchema
+ComPlusGetWebApplicationServerRole
+ComPlusSetWebApplicationServerRole
diff --git a/mingw-w64-crt/lib64/comsnap.def b/mingw-w64-crt/lib64/comsnap.def
index ed65699..86dfec0 100644
--- a/mingw-w64-crt/lib64/comsnap.def
+++ b/mingw-w64-crt/lib64/comsnap.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ComSnap.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ComSnap.DLL
-EXPORTS
-InstallDsExtension
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ComSnap.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ComSnap.DLL
+EXPORTS
+InstallDsExtension
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/comsvcs.def b/mingw-w64-crt/lib64/comsvcs.def
index 3a08be0..0aff8de 100644
--- a/mingw-w64-crt/lib64/comsvcs.def
+++ b/mingw-w64-crt/lib64/comsvcs.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file comsvcs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY comsvcs.dll
-EXPORTS
-CosGetCallContext
-GetMTAThreadPoolMetrics
-CoCreateActivity
-CoEnterServiceDomain
-CoLeaveServiceDomain
-CoLoadServices
-ComSvcsExceptionFilter
-ComSvcsLogError
-DispManGetContext
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetManagedExtensions
-GetObjectContext
-GetTrkSvrObject
-MTSCreateActivity
-MiniDumpW
-RecycleSurrogate
-RegisterComEvents
-SafeRef
+; 
+; Exports of file comsvcs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY comsvcs.dll
+EXPORTS
+CosGetCallContext
+GetMTAThreadPoolMetrics
+CoCreateActivity
+CoEnterServiceDomain
+CoLeaveServiceDomain
+CoLoadServices
+ComSvcsExceptionFilter
+ComSvcsLogError
+DispManGetContext
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetManagedExtensions
+GetObjectContext
+GetTrkSvrObject
+MTSCreateActivity
+MiniDumpW
+RecycleSurrogate
+RegisterComEvents
+SafeRef
diff --git a/mingw-w64-crt/lib64/comuid.def b/mingw-w64-crt/lib64/comuid.def
index ba04311..cfaf8e3 100644
--- a/mingw-w64-crt/lib64/comuid.def
+++ b/mingw-w64-crt/lib64/comuid.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ComUID.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ComUID.DLL
-EXPORTS
-CreateDCOMSecurityUIPage
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ComUID.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ComUID.DLL
+EXPORTS
+CreateDCOMSecurityUIPage
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/confmsp.def b/mingw-w64-crt/lib64/confmsp.def
index 985fcd2..3ff84cc 100644
--- a/mingw-w64-crt/lib64/confmsp.def
+++ b/mingw-w64-crt/lib64/confmsp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file confmsp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY confmsp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file confmsp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY confmsp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/console.def b/mingw-w64-crt/lib64/console.def
index 4806658..f60a1f6 100644
--- a/mingw-w64-crt/lib64/console.def
+++ b/mingw-w64-crt/lib64/console.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file Console.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Console.dll
-EXPORTS
-CPlApplet
+; 
+; Exports of file Console.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Console.dll
+EXPORTS
+CPlApplet
diff --git a/mingw-w64-crt/lib64/controt.def b/mingw-w64-crt/lib64/controt.def
index 5e8f676..37fbaa9 100644
--- a/mingw-w64-crt/lib64/controt.def
+++ b/mingw-w64-crt/lib64/controt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CONTROT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CONTROT.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CONTROT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CONTROT.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/corpol.def b/mingw-w64-crt/lib64/corpol.def
index c1aa29c..42f08b9 100644
--- a/mingw-w64-crt/lib64/corpol.def
+++ b/mingw-w64-crt/lib64/corpol.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file corpol.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY corpol.dll
-EXPORTS
-CORLockDownProvider
-CORPolicyEE
-CORPolicyProvider
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
-GetPublisher
-GetUnsignedPermissions
+; 
+; Exports of file corpol.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY corpol.dll
+EXPORTS
+CORLockDownProvider
+CORPolicyEE
+CORPolicyProvider
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
+GetPublisher
+GetUnsignedPermissions
diff --git a/mingw-w64-crt/lib64/credui.def b/mingw-w64-crt/lib64/credui.def
index 0460540..f0ae9b3 100644
--- a/mingw-w64-crt/lib64/credui.def
+++ b/mingw-w64-crt/lib64/credui.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file credui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY credui.dll
-EXPORTS
-CredUICmdLinePromptForCredentialsA
-CredUICmdLinePromptForCredentialsW
-CredUIConfirmCredentialsA
-CredUIConfirmCredentialsW
-CredUIInitControls
-CredUIParseUserNameA
-CredUIParseUserNameW
-CredUIPromptForCredentialsA
-CredUIPromptForCredentialsW
-CredUIReadSSOCredA
-CredUIReadSSOCredW
-CredUIStoreSSOCredA
-CredUIStoreSSOCredW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file credui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY credui.dll
+EXPORTS
+CredUICmdLinePromptForCredentialsA
+CredUICmdLinePromptForCredentialsW
+CredUIConfirmCredentialsA
+CredUIConfirmCredentialsW
+CredUIInitControls
+CredUIParseUserNameA
+CredUIParseUserNameW
+CredUIPromptForCredentialsA
+CredUIPromptForCredentialsW
+CredUIReadSSOCredA
+CredUIReadSSOCredW
+CredUIStoreSSOCredA
+CredUIStoreSSOCredW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/crypt32.def b/mingw-w64-crt/lib64/crypt32.def
index 97dfbe8..2e2f352 100644
--- a/mingw-w64-crt/lib64/crypt32.def
+++ b/mingw-w64-crt/lib64/crypt32.def
@@ -1,273 +1,273 @@
-; 
-; Exports of file CRYPT32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPT32.dll
-EXPORTS
-ChainWlxLogoffEvent
-CloseCertPerformanceData
-CollectCertPerformanceData
-OpenCertPerformanceData
-CertAddCRLContextToStore
-CertAddCRLLinkToStore
-CertAddCTLContextToStore
-CertAddCTLLinkToStore
-CertAddCertificateContextToStore
-CertAddCertificateLinkToStore
-CertAddEncodedCRLToStore
-CertAddEncodedCTLToStore
-CertAddEncodedCertificateToStore
-CertAddEncodedCertificateToSystemStoreA
-CertAddEncodedCertificateToSystemStoreW
-CertAddEnhancedKeyUsageIdentifier
-CertAddSerializedElementToStore
-CertAddStoreToCollection
-CertAlgIdToOID
-CertCloseStore
-CertCompareCertificate
-CertCompareCertificateName
-CertCompareIntegerBlob
-CertComparePublicKeyInfo
-CertControlStore
-CertCreateCRLContext
-CertCreateCTLContext
-CertCreateCTLEntryFromCertificateContextProperties
-CertCreateCertificateChainEngine
-CertCreateCertificateContext
-CertCreateContext
-CertCreateSelfSignCertificate
-CertDeleteCRLFromStore
-CertDeleteCTLFromStore
-CertDeleteCertificateFromStore
-CertDuplicateCRLContext
-CertDuplicateCTLContext
-CertDuplicateCertificateChain
-CertDuplicateCertificateContext
-CertDuplicateStore
-CertEnumCRLContextProperties
-CertEnumCRLsInStore
-CertEnumCTLContextProperties
-CertEnumCTLsInStore
-CertEnumCertificateContextProperties
-CertEnumCertificatesInStore
-CertEnumPhysicalStore
-CertEnumSubjectInSortedCTL
-CertEnumSystemStore
-CertEnumSystemStoreLocation
-CertFindAttribute
-CertFindCRLInStore
-CertFindCTLInStore
-CertFindCertificateInCRL
-CertFindCertificateInStore
-CertFindChainInStore
-CertFindExtension
-CertFindRDNAttr
-CertFindSubjectInCTL
-CertFindSubjectInSortedCTL
-CertFreeCRLContext
-CertFreeCTLContext
-CertFreeCertificateChain
-CertFreeCertificateChainEngine
-CertFreeCertificateContext
-CertGetCRLContextProperty
-CertGetCRLFromStore
-CertGetCTLContextProperty
-CertGetCertificateChain
-CertGetCertificateContextProperty
-CertGetEnhancedKeyUsage
-CertGetIntendedKeyUsage
-CertGetIssuerCertificateFromStore
-CertGetNameStringA
-CertGetNameStringW
-CertGetPublicKeyLength
-CertGetStoreProperty
-CertGetSubjectCertificateFromStore
-CertGetValidUsages
-CertIsRDNAttrsInCertificateName
-CertIsValidCRLForCertificate
-CertNameToStrA
-CertNameToStrW
-CertOIDToAlgId
-CertOpenStore
-CertOpenSystemStoreA
-CertOpenSystemStoreW
-CertRDNValueToStrA
-CertRDNValueToStrW
-CertRegisterPhysicalStore
-CertRegisterSystemStore
-CertRemoveEnhancedKeyUsageIdentifier
-CertRemoveStoreFromCollection
-CertResyncCertificateChainEngine
-CertSaveStore
-CertSerializeCRLStoreElement
-CertSerializeCTLStoreElement
-CertSerializeCertificateStoreElement
-CertSetCRLContextProperty
-CertSetCTLContextProperty
-CertSetCertificateContextPropertiesFromCTLEntry
-CertSetCertificateContextProperty
-CertSetEnhancedKeyUsage
-CertSetStoreProperty
-CertStrToNameA
-CertStrToNameW
-CertUnregisterPhysicalStore
-CertUnregisterSystemStore
-CertVerifyCRLRevocation
-CertVerifyCRLTimeValidity
-CertVerifyCTLUsage
-CertVerifyCertificateChainPolicy
-CertVerifyRevocation
-CertVerifySubjectCertificateContext
-CertVerifyTimeValidity
-CertVerifyValidityNesting
-CryptAcquireCertificatePrivateKey
-CryptBinaryToStringA
-CryptBinaryToStringW
-CryptCloseAsyncHandle
-CryptCreateAsyncHandle
-CryptCreateKeyIdentifierFromCSP
-CryptDecodeMessage
-CryptDecodeObject
-CryptDecodeObjectEx
-CryptDecryptAndVerifyMessageSignature
-CryptDecryptMessage
-CryptEncodeObject
-CryptEncodeObjectEx
-CryptEncryptMessage
-CryptEnumKeyIdentifierProperties
-CryptEnumOIDFunction
-CryptEnumOIDInfo
-CryptExportPKCS8
-CryptExportPublicKeyInfo
-CryptExportPublicKeyInfoEx
-CryptFindCertificateKeyProvInfo
-CryptFindLocalizedName
-CryptFindOIDInfo
-CryptFormatObject
-CryptFreeOIDFunctionAddress
-CryptGetAsyncParam
-CryptGetDefaultOIDDllList
-CryptGetDefaultOIDFunctionAddress
-CryptGetKeyIdentifierProperty
-CryptGetMessageCertificates
-CryptGetMessageSignerCount
-CryptGetOIDFunctionAddress
-CryptGetOIDFunctionValue
-CryptGetDefaultProviderA
-CryptGetDefaultProviderW
-CryptHashCertificate
-CryptHashMessage
-CryptHashPublicKeyInfo
-CryptHashToBeSigned
-CryptImportPKCS8
-CryptImportPublicKeyInfo
-CryptImportPublicKeyInfoEx
-CryptInitOIDFunctionSet
-CryptInstallDefaultContext
-CryptInstallOIDFunctionAddress
-CryptLoadSip
-CryptMemAlloc
-CryptMemFree
-CryptMemRealloc
-CryptMsgCalculateEncodedLength
-CryptMsgClose
-CryptMsgControl
-CryptMsgCountersign
-CryptMsgCountersignEncoded
-CryptMsgDuplicate
-CryptMsgEncodeAndSignCTL
-CryptMsgGetAndVerifySigner
-CryptMsgGetParam
-CryptMsgOpenToDecode
-CryptMsgOpenToEncode
-CryptMsgSignCTL
-CryptMsgUpdate
-CryptMsgVerifyCountersignatureEncoded
-CryptMsgVerifyCountersignatureEncodedEx
-CryptProtectData
-CryptProtectMemory
-CryptQueryObject
-CryptRegisterDefaultOIDFunction
-CryptRegisterOIDFunction
-CryptRegisterOIDInfo
-CryptSIPAddProvider
-CryptSIPCreateIndirectData
-CryptSIPGetSignedDataMsg
-CryptSIPLoad
-CryptSIPPutSignedDataMsg
-CryptSIPRemoveProvider
-CryptSIPRemoveSignedDataMsg
-CryptSIPRetrieveSubjectGuid
-CryptSIPRetrieveSubjectGuidForCatalogFile
-CryptSIPVerifyIndirectData
-CryptSetAsyncParam
-CryptSetKeyIdentifierProperty
-CryptSetOIDFunctionValue
-CryptSignAndEncodeCertificate
-CryptSignAndEncryptMessage
-CryptSignCertificate
-CryptSignMessage
-CryptSignMessageWithKey
-CryptStringToBinaryA
-CryptStringToBinaryW
-CryptUninstallDefaultContext
-CryptUnprotectData
-CryptUnprotectMemory
-CryptUnregisterDefaultOIDFunction
-CryptUnregisterOIDFunction
-CryptUnregisterOIDInfo
-CryptVerifyCertificateSignature
-CryptVerifyCertificateSignatureEx
-CryptVerifyDetachedMessageHash
-CryptVerifyDetachedMessageSignature
-CryptVerifyMessageHash
-CryptVerifyMessageSignature
-CryptVerifyMessageSignatureWithKey
-I_CertProtectFunction
-I_CertSrvProtectFunction
-I_CertSyncStore
-I_CertUpdateStore
-I_CryptAddRefLruEntry
-I_CryptAddSmartCardCertToStore
-I_CryptAllocTls
-I_CryptCreateLruCache
-I_CryptCreateLruEntry
-I_CryptDetachTls
-I_CryptDisableLruOfEntries
-I_CryptEnableLruOfEntries
-I_CryptEnumMatchingLruEntries
-I_CryptFindLruEntry
-I_CryptFindLruEntryData
-I_CryptFindSmartCardCertInStore
-I_CryptFlushLruCache
-I_CryptFreeLruCache
-I_CryptFreeTls
-I_CryptGetAsn1Decoder
-I_CryptGetAsn1Encoder
-I_CryptGetDefaultCryptProv
-I_CryptGetDefaultCryptProvForEncrypt
-I_CryptGetFileVersion
-I_CryptGetLruEntryData
-I_CryptGetLruEntryIdentifier
-I_CryptGetOssGlobal
-I_CryptGetTls
-I_CryptInsertLruEntry
-I_CryptInstallAsn1Module
-I_CryptInstallOssGlobal
-I_CryptReadTrustedPublisherDWORDValueFromRegistry
-I_CryptRegisterSmartCardStore
-I_CryptReleaseLruEntry
-I_CryptRemoveLruEntry
-I_CryptSetTls
-I_CryptTouchLruEntry
-I_CryptUninstallAsn1Module
-I_CryptUninstallOssGlobal
-I_CryptUnregisterSmartCardStore
-I_CryptWalkAllLruCacheEntries
-PFXExportCertStore
-PFXExportCertStoreEx
-PFXImportCertStore
-PFXIsPFXBlob
-PFXVerifyPassword
+; 
+; Exports of file CRYPT32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPT32.dll
+EXPORTS
+ChainWlxLogoffEvent
+CloseCertPerformanceData
+CollectCertPerformanceData
+OpenCertPerformanceData
+CertAddCRLContextToStore
+CertAddCRLLinkToStore
+CertAddCTLContextToStore
+CertAddCTLLinkToStore
+CertAddCertificateContextToStore
+CertAddCertificateLinkToStore
+CertAddEncodedCRLToStore
+CertAddEncodedCTLToStore
+CertAddEncodedCertificateToStore
+CertAddEncodedCertificateToSystemStoreA
+CertAddEncodedCertificateToSystemStoreW
+CertAddEnhancedKeyUsageIdentifier
+CertAddSerializedElementToStore
+CertAddStoreToCollection
+CertAlgIdToOID
+CertCloseStore
+CertCompareCertificate
+CertCompareCertificateName
+CertCompareIntegerBlob
+CertComparePublicKeyInfo
+CertControlStore
+CertCreateCRLContext
+CertCreateCTLContext
+CertCreateCTLEntryFromCertificateContextProperties
+CertCreateCertificateChainEngine
+CertCreateCertificateContext
+CertCreateContext
+CertCreateSelfSignCertificate
+CertDeleteCRLFromStore
+CertDeleteCTLFromStore
+CertDeleteCertificateFromStore
+CertDuplicateCRLContext
+CertDuplicateCTLContext
+CertDuplicateCertificateChain
+CertDuplicateCertificateContext
+CertDuplicateStore
+CertEnumCRLContextProperties
+CertEnumCRLsInStore
+CertEnumCTLContextProperties
+CertEnumCTLsInStore
+CertEnumCertificateContextProperties
+CertEnumCertificatesInStore
+CertEnumPhysicalStore
+CertEnumSubjectInSortedCTL
+CertEnumSystemStore
+CertEnumSystemStoreLocation
+CertFindAttribute
+CertFindCRLInStore
+CertFindCTLInStore
+CertFindCertificateInCRL
+CertFindCertificateInStore
+CertFindChainInStore
+CertFindExtension
+CertFindRDNAttr
+CertFindSubjectInCTL
+CertFindSubjectInSortedCTL
+CertFreeCRLContext
+CertFreeCTLContext
+CertFreeCertificateChain
+CertFreeCertificateChainEngine
+CertFreeCertificateContext
+CertGetCRLContextProperty
+CertGetCRLFromStore
+CertGetCTLContextProperty
+CertGetCertificateChain
+CertGetCertificateContextProperty
+CertGetEnhancedKeyUsage
+CertGetIntendedKeyUsage
+CertGetIssuerCertificateFromStore
+CertGetNameStringA
+CertGetNameStringW
+CertGetPublicKeyLength
+CertGetStoreProperty
+CertGetSubjectCertificateFromStore
+CertGetValidUsages
+CertIsRDNAttrsInCertificateName
+CertIsValidCRLForCertificate
+CertNameToStrA
+CertNameToStrW
+CertOIDToAlgId
+CertOpenStore
+CertOpenSystemStoreA
+CertOpenSystemStoreW
+CertRDNValueToStrA
+CertRDNValueToStrW
+CertRegisterPhysicalStore
+CertRegisterSystemStore
+CertRemoveEnhancedKeyUsageIdentifier
+CertRemoveStoreFromCollection
+CertResyncCertificateChainEngine
+CertSaveStore
+CertSerializeCRLStoreElement
+CertSerializeCTLStoreElement
+CertSerializeCertificateStoreElement
+CertSetCRLContextProperty
+CertSetCTLContextProperty
+CertSetCertificateContextPropertiesFromCTLEntry
+CertSetCertificateContextProperty
+CertSetEnhancedKeyUsage
+CertSetStoreProperty
+CertStrToNameA
+CertStrToNameW
+CertUnregisterPhysicalStore
+CertUnregisterSystemStore
+CertVerifyCRLRevocation
+CertVerifyCRLTimeValidity
+CertVerifyCTLUsage
+CertVerifyCertificateChainPolicy
+CertVerifyRevocation
+CertVerifySubjectCertificateContext
+CertVerifyTimeValidity
+CertVerifyValidityNesting
+CryptAcquireCertificatePrivateKey
+CryptBinaryToStringA
+CryptBinaryToStringW
+CryptCloseAsyncHandle
+CryptCreateAsyncHandle
+CryptCreateKeyIdentifierFromCSP
+CryptDecodeMessage
+CryptDecodeObject
+CryptDecodeObjectEx
+CryptDecryptAndVerifyMessageSignature
+CryptDecryptMessage
+CryptEncodeObject
+CryptEncodeObjectEx
+CryptEncryptMessage
+CryptEnumKeyIdentifierProperties
+CryptEnumOIDFunction
+CryptEnumOIDInfo
+CryptExportPKCS8
+CryptExportPublicKeyInfo
+CryptExportPublicKeyInfoEx
+CryptFindCertificateKeyProvInfo
+CryptFindLocalizedName
+CryptFindOIDInfo
+CryptFormatObject
+CryptFreeOIDFunctionAddress
+CryptGetAsyncParam
+CryptGetDefaultOIDDllList
+CryptGetDefaultOIDFunctionAddress
+CryptGetKeyIdentifierProperty
+CryptGetMessageCertificates
+CryptGetMessageSignerCount
+CryptGetOIDFunctionAddress
+CryptGetOIDFunctionValue
+CryptGetDefaultProviderA
+CryptGetDefaultProviderW
+CryptHashCertificate
+CryptHashMessage
+CryptHashPublicKeyInfo
+CryptHashToBeSigned
+CryptImportPKCS8
+CryptImportPublicKeyInfo
+CryptImportPublicKeyInfoEx
+CryptInitOIDFunctionSet
+CryptInstallDefaultContext
+CryptInstallOIDFunctionAddress
+CryptLoadSip
+CryptMemAlloc
+CryptMemFree
+CryptMemRealloc
+CryptMsgCalculateEncodedLength
+CryptMsgClose
+CryptMsgControl
+CryptMsgCountersign
+CryptMsgCountersignEncoded
+CryptMsgDuplicate
+CryptMsgEncodeAndSignCTL
+CryptMsgGetAndVerifySigner
+CryptMsgGetParam
+CryptMsgOpenToDecode
+CryptMsgOpenToEncode
+CryptMsgSignCTL
+CryptMsgUpdate
+CryptMsgVerifyCountersignatureEncoded
+CryptMsgVerifyCountersignatureEncodedEx
+CryptProtectData
+CryptProtectMemory
+CryptQueryObject
+CryptRegisterDefaultOIDFunction
+CryptRegisterOIDFunction
+CryptRegisterOIDInfo
+CryptSIPAddProvider
+CryptSIPCreateIndirectData
+CryptSIPGetSignedDataMsg
+CryptSIPLoad
+CryptSIPPutSignedDataMsg
+CryptSIPRemoveProvider
+CryptSIPRemoveSignedDataMsg
+CryptSIPRetrieveSubjectGuid
+CryptSIPRetrieveSubjectGuidForCatalogFile
+CryptSIPVerifyIndirectData
+CryptSetAsyncParam
+CryptSetKeyIdentifierProperty
+CryptSetOIDFunctionValue
+CryptSignAndEncodeCertificate
+CryptSignAndEncryptMessage
+CryptSignCertificate
+CryptSignMessage
+CryptSignMessageWithKey
+CryptStringToBinaryA
+CryptStringToBinaryW
+CryptUninstallDefaultContext
+CryptUnprotectData
+CryptUnprotectMemory
+CryptUnregisterDefaultOIDFunction
+CryptUnregisterOIDFunction
+CryptUnregisterOIDInfo
+CryptVerifyCertificateSignature
+CryptVerifyCertificateSignatureEx
+CryptVerifyDetachedMessageHash
+CryptVerifyDetachedMessageSignature
+CryptVerifyMessageHash
+CryptVerifyMessageSignature
+CryptVerifyMessageSignatureWithKey
+I_CertProtectFunction
+I_CertSrvProtectFunction
+I_CertSyncStore
+I_CertUpdateStore
+I_CryptAddRefLruEntry
+I_CryptAddSmartCardCertToStore
+I_CryptAllocTls
+I_CryptCreateLruCache
+I_CryptCreateLruEntry
+I_CryptDetachTls
+I_CryptDisableLruOfEntries
+I_CryptEnableLruOfEntries
+I_CryptEnumMatchingLruEntries
+I_CryptFindLruEntry
+I_CryptFindLruEntryData
+I_CryptFindSmartCardCertInStore
+I_CryptFlushLruCache
+I_CryptFreeLruCache
+I_CryptFreeTls
+I_CryptGetAsn1Decoder
+I_CryptGetAsn1Encoder
+I_CryptGetDefaultCryptProv
+I_CryptGetDefaultCryptProvForEncrypt
+I_CryptGetFileVersion
+I_CryptGetLruEntryData
+I_CryptGetLruEntryIdentifier
+I_CryptGetOssGlobal
+I_CryptGetTls
+I_CryptInsertLruEntry
+I_CryptInstallAsn1Module
+I_CryptInstallOssGlobal
+I_CryptReadTrustedPublisherDWORDValueFromRegistry
+I_CryptRegisterSmartCardStore
+I_CryptReleaseLruEntry
+I_CryptRemoveLruEntry
+I_CryptSetTls
+I_CryptTouchLruEntry
+I_CryptUninstallAsn1Module
+I_CryptUninstallOssGlobal
+I_CryptUnregisterSmartCardStore
+I_CryptWalkAllLruCacheEntries
+PFXExportCertStore
+PFXExportCertStoreEx
+PFXImportCertStore
+PFXIsPFXBlob
+PFXVerifyPassword
diff --git a/mingw-w64-crt/lib64/cryptdlg.def b/mingw-w64-crt/lib64/cryptdlg.def
index 4dc4dc2..f78a362 100644
--- a/mingw-w64-crt/lib64/cryptdlg.def
+++ b/mingw-w64-crt/lib64/cryptdlg.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file CRYPTDLG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTDLG.dll
-EXPORTS
-CertConfigureTrustA
-CertConfigureTrustW
-CertTrustCertPolicy
-CertTrustCleanup
-CertTrustFinalPolicy
-CertTrustInit
-DecodeAttrSequence
-DecodeRecipientID
-EncodeAttrSequence
-EncodeRecipientID
-FormatPKIXEmailProtection
-FormatVerisignExtension
-CertModifyCertificatesToTrust
-CertSelectCertificateA
-CertSelectCertificateW
-CertViewPropertiesA
-CertViewPropertiesW
-DllRegisterServer
-DllUnregisterServer
-GetFriendlyNameOfCertA
-GetFriendlyNameOfCertW
+; 
+; Exports of file CRYPTDLG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTDLG.dll
+EXPORTS
+CertConfigureTrustA
+CertConfigureTrustW
+CertTrustCertPolicy
+CertTrustCleanup
+CertTrustFinalPolicy
+CertTrustInit
+DecodeAttrSequence
+DecodeRecipientID
+EncodeAttrSequence
+EncodeRecipientID
+FormatPKIXEmailProtection
+FormatVerisignExtension
+CertModifyCertificatesToTrust
+CertSelectCertificateA
+CertSelectCertificateW
+CertViewPropertiesA
+CertViewPropertiesW
+DllRegisterServer
+DllUnregisterServer
+GetFriendlyNameOfCertA
+GetFriendlyNameOfCertW
diff --git a/mingw-w64-crt/lib64/cryptdll.def b/mingw-w64-crt/lib64/cryptdll.def
index 7bd2857..84daf80 100644
--- a/mingw-w64-crt/lib64/cryptdll.def
+++ b/mingw-w64-crt/lib64/cryptdll.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file cryptdll.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cryptdll.dll
-EXPORTS
-CDBuildIntegrityVect
-CDBuildVect
-CDFindCommonCSystem
-CDFindCommonCSystemWithKey
-CDGenerateRandomBits
-CDLocateCSystem
-CDLocateCheckSum
-CDLocateRng
-CDRegisterCSystem
-CDRegisterCheckSum
-CDRegisterRng
-MD5Final
-MD5Init
-MD5Update
+; 
+; Exports of file cryptdll.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cryptdll.dll
+EXPORTS
+CDBuildIntegrityVect
+CDBuildVect
+CDFindCommonCSystem
+CDFindCommonCSystemWithKey
+CDGenerateRandomBits
+CDLocateCSystem
+CDLocateCheckSum
+CDLocateRng
+CDRegisterCSystem
+CDRegisterCheckSum
+CDRegisterRng
+MD5Final
+MD5Init
+MD5Update
diff --git a/mingw-w64-crt/lib64/cryptext.def b/mingw-w64-crt/lib64/cryptext.def
index 669ade4..d2ff477 100644
--- a/mingw-w64-crt/lib64/cryptext.def
+++ b/mingw-w64-crt/lib64/cryptext.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file CRYPTEXT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTEXT.dll
-EXPORTS
-CryptExtAddCER
-CryptExtAddCERW
-CryptExtAddCRL
-CryptExtAddCRLW
-CryptExtAddCTL
-CryptExtAddCTLW
-CryptExtAddP7R
-CryptExtAddP7RW
-CryptExtAddPFX
-CryptExtAddPFXW
-CryptExtAddSPC
-CryptExtAddSPCW
-CryptExtOpenCAT
-CryptExtOpenCATW
-CryptExtOpenCER
-CryptExtOpenCERW
-CryptExtOpenCRL
-CryptExtOpenCRLW
-CryptExtOpenCTL
-CryptExtOpenCTLW
-CryptExtOpenP10
-CryptExtOpenP10W
-CryptExtOpenP7R
-CryptExtOpenP7RW
-CryptExtOpenPKCS7
-CryptExtOpenPKCS7W
-CryptExtOpenSTR
-CryptExtOpenSTRW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CRYPTEXT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTEXT.dll
+EXPORTS
+CryptExtAddCER
+CryptExtAddCERW
+CryptExtAddCRL
+CryptExtAddCRLW
+CryptExtAddCTL
+CryptExtAddCTLW
+CryptExtAddP7R
+CryptExtAddP7RW
+CryptExtAddPFX
+CryptExtAddPFXW
+CryptExtAddSPC
+CryptExtAddSPCW
+CryptExtOpenCAT
+CryptExtOpenCATW
+CryptExtOpenCER
+CryptExtOpenCERW
+CryptExtOpenCRL
+CryptExtOpenCRLW
+CryptExtOpenCTL
+CryptExtOpenCTLW
+CryptExtOpenP10
+CryptExtOpenP10W
+CryptExtOpenP7R
+CryptExtOpenP7RW
+CryptExtOpenPKCS7
+CryptExtOpenPKCS7W
+CryptExtOpenSTR
+CryptExtOpenSTRW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/cryptnet.def b/mingw-w64-crt/lib64/cryptnet.def
index ff467f5..3e05108 100644
--- a/mingw-w64-crt/lib64/cryptnet.def
+++ b/mingw-w64-crt/lib64/cryptnet.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file CRYPTNET.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTNET.dll
-EXPORTS
-CertDllVerifyCTLUsage
-CertDllVerifyRevocation
-CryptnetWlxLogoffEvent
-LdapProvOpenStore
-CryptCancelAsyncRetrieval
-CryptFlushTimeValidObject
-CryptGetObjectUrl
-CryptGetTimeValidObject
-CryptInstallCancelRetrieval
-CryptRetrieveObjectByUrlA
-CryptRetrieveObjectByUrlW
-CryptUninstallCancelRetrieval
-DllRegisterServer
-DllUnregisterServer
-I_CryptNetEnumUrlCacheEntry
-I_CryptNetGetHostNameFromUrl
-I_CryptNetGetUserDsStoreUrl
-I_CryptNetIsConnected
+; 
+; Exports of file CRYPTNET.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTNET.dll
+EXPORTS
+CertDllVerifyCTLUsage
+CertDllVerifyRevocation
+CryptnetWlxLogoffEvent
+LdapProvOpenStore
+CryptCancelAsyncRetrieval
+CryptFlushTimeValidObject
+CryptGetObjectUrl
+CryptGetTimeValidObject
+CryptInstallCancelRetrieval
+CryptRetrieveObjectByUrlA
+CryptRetrieveObjectByUrlW
+CryptUninstallCancelRetrieval
+DllRegisterServer
+DllUnregisterServer
+I_CryptNetEnumUrlCacheEntry
+I_CryptNetGetHostNameFromUrl
+I_CryptNetGetUserDsStoreUrl
+I_CryptNetIsConnected
diff --git a/mingw-w64-crt/lib64/cryptsvc.def b/mingw-w64-crt/lib64/cryptsvc.def
index 3969c5c..70d6763 100644
--- a/mingw-w64-crt/lib64/cryptsvc.def
+++ b/mingw-w64-crt/lib64/cryptsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file CRYPTSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTSVC.dll
-EXPORTS
-CryptServiceMain
+; 
+; Exports of file CRYPTSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTSVC.dll
+EXPORTS
+CryptServiceMain
diff --git a/mingw-w64-crt/lib64/cryptui.def b/mingw-w64-crt/lib64/cryptui.def
index f218c64..39e361c 100644
--- a/mingw-w64-crt/lib64/cryptui.def
+++ b/mingw-w64-crt/lib64/cryptui.def
@@ -1,56 +1,56 @@
-; 
-; Exports of file CRYPTUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTUI.dll
-EXPORTS
-ACUIProviderInvokeUI
-CryptUIDlgCertMgr
-CryptUIDlgFreeCAContext
-CryptUIDlgSelectCA
-CryptUIDlgSelectCertificateA
-CryptUIDlgSelectCertificateFromStore
-CryptUIDlgSelectCertificateW
-CryptUIDlgSelectStoreA
-CryptUIDlgSelectStoreW
-CryptUIDlgViewCRLA
-CryptUIDlgViewCRLW
-CryptUIDlgViewCTLA
-CryptUIDlgViewCTLW
-CryptUIDlgViewCertificateA
-CryptUIDlgViewCertificatePropertiesA
-CryptUIDlgViewCertificatePropertiesW
-CryptUIDlgViewCertificateW
-CryptUIDlgViewContext
-CryptUIDlgViewSignerInfoA
-CryptUIDlgViewSignerInfoW
-CryptUIFreeCertificatePropertiesPagesA
-CryptUIFreeCertificatePropertiesPagesW
-CryptUIFreeViewSignaturesPagesA
-CryptUIFreeViewSignaturesPagesW
-CryptUIGetCertificatePropertiesPagesA
-CryptUIGetCertificatePropertiesPagesW
-CryptUIGetViewSignaturesPagesA
-CryptUIGetViewSignaturesPagesW
-CryptUIStartCertMgr
-CryptUIWizBuildCTL
-CryptUIWizCertRequest
-CryptUIWizCreateCertRequestNoDS
-CryptUIWizDigitalSign
-CryptUIWizExport
-CryptUIWizFreeCertRequestNoDS
-CryptUIWizFreeDigitalSignContext
-CryptUIWizImport
-CryptUIWizQueryCertRequestNoDS
-CryptUIWizSubmitCertRequestNoDS
-DllRegisterServer
-DllUnregisterServer
-EnrollmentCOMObjectFactory_getInstance
-I_CryptUIProtect
-I_CryptUIProtectFailure
-LocalEnroll
-LocalEnrollNoDS
-RetrievePKCS7FromCA
-WizardFree
+; 
+; Exports of file CRYPTUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTUI.dll
+EXPORTS
+ACUIProviderInvokeUI
+CryptUIDlgCertMgr
+CryptUIDlgFreeCAContext
+CryptUIDlgSelectCA
+CryptUIDlgSelectCertificateA
+CryptUIDlgSelectCertificateFromStore
+CryptUIDlgSelectCertificateW
+CryptUIDlgSelectStoreA
+CryptUIDlgSelectStoreW
+CryptUIDlgViewCRLA
+CryptUIDlgViewCRLW
+CryptUIDlgViewCTLA
+CryptUIDlgViewCTLW
+CryptUIDlgViewCertificateA
+CryptUIDlgViewCertificatePropertiesA
+CryptUIDlgViewCertificatePropertiesW
+CryptUIDlgViewCertificateW
+CryptUIDlgViewContext
+CryptUIDlgViewSignerInfoA
+CryptUIDlgViewSignerInfoW
+CryptUIFreeCertificatePropertiesPagesA
+CryptUIFreeCertificatePropertiesPagesW
+CryptUIFreeViewSignaturesPagesA
+CryptUIFreeViewSignaturesPagesW
+CryptUIGetCertificatePropertiesPagesA
+CryptUIGetCertificatePropertiesPagesW
+CryptUIGetViewSignaturesPagesA
+CryptUIGetViewSignaturesPagesW
+CryptUIStartCertMgr
+CryptUIWizBuildCTL
+CryptUIWizCertRequest
+CryptUIWizCreateCertRequestNoDS
+CryptUIWizDigitalSign
+CryptUIWizExport
+CryptUIWizFreeCertRequestNoDS
+CryptUIWizFreeDigitalSignContext
+CryptUIWizImport
+CryptUIWizQueryCertRequestNoDS
+CryptUIWizSubmitCertRequestNoDS
+DllRegisterServer
+DllUnregisterServer
+EnrollmentCOMObjectFactory_getInstance
+I_CryptUIProtect
+I_CryptUIProtectFailure
+LocalEnroll
+LocalEnrollNoDS
+RetrievePKCS7FromCA
+WizardFree
diff --git a/mingw-w64-crt/lib64/cscdll.def b/mingw-w64-crt/lib64/cscdll.def
index 44ac268..d01b645 100644
--- a/mingw-w64-crt/lib64/cscdll.def
+++ b/mingw-w64-crt/lib64/cscdll.def
@@ -1,76 +1,76 @@
-; 
-; Exports of file CSCDLL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CSCDLL.dll
-EXPORTS
-MprServiceProc
-ReInt_WndProc
-LogonHappened
-LogoffHappened
-Update
-RefreshConnections
-BreakConnections
-CheckCSC
-CSCIsCSCEnabled
-CSCFindClose
-CSCSetMaxSpace
-CSCFreeSpace
-CheckCSCEx
-CSCDoEnableDisable
-CSCPinFileA
-CSCUnpinFileA
-CSCQueryFileStatusA
-CSCFindFirstFileA
-CSCFindNextFileA
-CSCDeleteA
-CSCFillSparseFilesA
-CSCMergeShareA
-CSCCopyReplicaA
-CSCEnumForStatsA
-CSCIsServerOfflineA
-CSCGetSpaceUsageA
-CSCTransitionServerOnlineA
-CSCCheckShareOnlineA
-CSCDoLocalRenameA
-CSCEnumForStatsExA
-CSCFindFirstFileForSidA
-CSCQueryFileStatusExA
-CSCQueryShareStatusA
-CSCPurgeUnpinnedFiles
-CSCPinFileW
-CSCUnpinFileW
-CSCQueryFileStatusW
-CSCFindFirstFileW
-CSCFindNextFileW
-CSCDeleteW
-CSCFillSparseFilesW
-CSCMergeShareW
-CSCCopyReplicaW
-CSCEnumForStatsW
-CSCIsServerOfflineW
-CSCGetSpaceUsageW
-CSCTransitionServerOnlineW
-CSCCheckShareOnlineW
-CSCDoLocalRenameW
-CSCEnumForStatsExW
-CSCDoLocalRenameExW
-CSCCheckShareOnlineExW
-CSCBeginSynchronizationW
-CSCEndSynchronizationW
-CSCFindFirstFileForSidW
-CSCEncryptDecryptDatabase
-CSCQueryDatabaseStatus
-CSCQueryFileStatusExW
-CSCQueryShareStatusW
-CSCShareIdToShareName
-WinlogonLogonEvent
-WinlogonLogoffEvent
-WinlogonScreenSaverEvent
-WinlogonShutdownEvent
-WinlogonLockEvent
-WinlogonUnlockEvent
-WinlogonStartShellEvent
-WinlogonStartupEvent
+; 
+; Exports of file CSCDLL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CSCDLL.dll
+EXPORTS
+MprServiceProc
+ReInt_WndProc
+LogonHappened
+LogoffHappened
+Update
+RefreshConnections
+BreakConnections
+CheckCSC
+CSCIsCSCEnabled
+CSCFindClose
+CSCSetMaxSpace
+CSCFreeSpace
+CheckCSCEx
+CSCDoEnableDisable
+CSCPinFileA
+CSCUnpinFileA
+CSCQueryFileStatusA
+CSCFindFirstFileA
+CSCFindNextFileA
+CSCDeleteA
+CSCFillSparseFilesA
+CSCMergeShareA
+CSCCopyReplicaA
+CSCEnumForStatsA
+CSCIsServerOfflineA
+CSCGetSpaceUsageA
+CSCTransitionServerOnlineA
+CSCCheckShareOnlineA
+CSCDoLocalRenameA
+CSCEnumForStatsExA
+CSCFindFirstFileForSidA
+CSCQueryFileStatusExA
+CSCQueryShareStatusA
+CSCPurgeUnpinnedFiles
+CSCPinFileW
+CSCUnpinFileW
+CSCQueryFileStatusW
+CSCFindFirstFileW
+CSCFindNextFileW
+CSCDeleteW
+CSCFillSparseFilesW
+CSCMergeShareW
+CSCCopyReplicaW
+CSCEnumForStatsW
+CSCIsServerOfflineW
+CSCGetSpaceUsageW
+CSCTransitionServerOnlineW
+CSCCheckShareOnlineW
+CSCDoLocalRenameW
+CSCEnumForStatsExW
+CSCDoLocalRenameExW
+CSCCheckShareOnlineExW
+CSCBeginSynchronizationW
+CSCEndSynchronizationW
+CSCFindFirstFileForSidW
+CSCEncryptDecryptDatabase
+CSCQueryDatabaseStatus
+CSCQueryFileStatusExW
+CSCQueryShareStatusW
+CSCShareIdToShareName
+WinlogonLogonEvent
+WinlogonLogoffEvent
+WinlogonScreenSaverEvent
+WinlogonShutdownEvent
+WinlogonLockEvent
+WinlogonUnlockEvent
+WinlogonStartShellEvent
+WinlogonStartupEvent
diff --git a/mingw-w64-crt/lib64/cscui.def b/mingw-w64-crt/lib64/cscui.def
index 4a83c30..cc258e1 100644
--- a/mingw-w64-crt/lib64/cscui.def
+++ b/mingw-w64-crt/lib64/cscui.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file CSCUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CSCUI.dll
-EXPORTS
-CSCUIOptionsPropertySheet
-ProcessGroupPolicy
-CSCOptions_RunDLL
-CSCOptions_RunDLLA
-CSCOptions_RunDLLW
-CSCUIInitialize
-CSCUIMsgProcess
-CSCUIRemoveFolderFromCache
-CSCUISetState
-CscPolicyProcessing_RunDLLW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CSCUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CSCUI.dll
+EXPORTS
+CSCUIOptionsPropertySheet
+ProcessGroupPolicy
+CSCOptions_RunDLL
+CSCOptions_RunDLLA
+CSCOptions_RunDLLW
+CSCUIInitialize
+CSCUIMsgProcess
+CSCUIRemoveFolderFromCache
+CSCUISetState
+CscPolicyProcessing_RunDLLW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/csrsrv.def b/mingw-w64-crt/lib64/csrsrv.def
index 4239b27..55926b0 100644
--- a/mingw-w64-crt/lib64/csrsrv.def
+++ b/mingw-w64-crt/lib64/csrsrv.def
@@ -1,43 +1,43 @@
-; 
-; Exports of file CSRSRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CSRSRV.dll
-EXPORTS
-CsrAddStaticServerThread
-CsrCallServerFromServer
-CsrConnectToUser
-CsrCreateProcess
-CsrCreateRemoteThread
-CsrCreateThread
-CsrCreateWait
-CsrDebugProcess
-CsrDebugProcessStop
-CsrDereferenceProcess
-CsrDereferenceThread
-CsrDereferenceWait
-CsrDestroyProcess
-CsrDestroyThread
-CsrExecServerThread
-CsrGetProcessLuid
-CsrImpersonateClient
-CsrLockProcessByClientId
-CsrLockThreadByClientId
-CsrMoveSatisfiedWait
-CsrNotifyWait
-CsrPopulateDosDevices
-CsrQueryApiPort
-CsrReferenceThread
-CsrRevertToSelf
-CsrServerInitialization
-CsrSetBackgroundPriority
-CsrSetCallingSpooler
-CsrSetForegroundPriority
-CsrShutdownProcesses
-CsrUnhandledExceptionFilter
-CsrUnlockProcess
-CsrUnlockThread
-CsrValidateMessageBuffer
-CsrValidateMessageString
+; 
+; Exports of file CSRSRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CSRSRV.dll
+EXPORTS
+CsrAddStaticServerThread
+CsrCallServerFromServer
+CsrConnectToUser
+CsrCreateProcess
+CsrCreateRemoteThread
+CsrCreateThread
+CsrCreateWait
+CsrDebugProcess
+CsrDebugProcessStop
+CsrDereferenceProcess
+CsrDereferenceThread
+CsrDereferenceWait
+CsrDestroyProcess
+CsrDestroyThread
+CsrExecServerThread
+CsrGetProcessLuid
+CsrImpersonateClient
+CsrLockProcessByClientId
+CsrLockThreadByClientId
+CsrMoveSatisfiedWait
+CsrNotifyWait
+CsrPopulateDosDevices
+CsrQueryApiPort
+CsrReferenceThread
+CsrRevertToSelf
+CsrServerInitialization
+CsrSetBackgroundPriority
+CsrSetCallingSpooler
+CsrSetForegroundPriority
+CsrShutdownProcesses
+CsrUnhandledExceptionFilter
+CsrUnlockProcess
+CsrUnlockThread
+CsrValidateMessageBuffer
+CsrValidateMessageString
diff --git a/mingw-w64-crt/lib64/d3d8thk.def b/mingw-w64-crt/lib64/d3d8thk.def
index e266fbe..00bb0ee 100644
--- a/mingw-w64-crt/lib64/d3d8thk.def
+++ b/mingw-w64-crt/lib64/d3d8thk.def
@@ -1,64 +1,64 @@
-; 
-; Exports of file d3d8thk.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3d8thk.dll
-EXPORTS
-OsThunkD3dContextCreate
-OsThunkD3dContextDestroy
-OsThunkD3dContextDestroyAll
-OsThunkD3dDrawPrimitives2
-OsThunkD3dValidateTextureStageState
-OsThunkDdAddAttachedSurface
-OsThunkDdAlphaBlt
-OsThunkDdAttachSurface
-OsThunkDdBeginMoCompFrame
-OsThunkDdBlt
-OsThunkDdCanCreateD3DBuffer
-OsThunkDdCanCreateSurface
-OsThunkDdColorControl
-OsThunkDdCreateD3DBuffer
-OsThunkDdCreateDirectDrawObject
-OsThunkDdCreateMoComp
-OsThunkDdCreateSurface
-OsThunkDdCreateSurfaceEx
-OsThunkDdCreateSurfaceObject
-OsThunkDdDeleteDirectDrawObject
-OsThunkDdDeleteSurfaceObject
-OsThunkDdDestroyD3DBuffer
-OsThunkDdDestroyMoComp
-OsThunkDdDestroySurface
-OsThunkDdEndMoCompFrame
-OsThunkDdFlip
-OsThunkDdFlipToGDISurface
-OsThunkDdGetAvailDriverMemory
-OsThunkDdGetBltStatus
-OsThunkDdGetDC
-OsThunkDdGetDriverInfo
-OsThunkDdGetDriverState
-OsThunkDdGetDxHandle
-OsThunkDdGetFlipStatus
-OsThunkDdGetInternalMoCompInfo
-OsThunkDdGetMoCompBuffInfo
-OsThunkDdGetMoCompFormats
-OsThunkDdGetMoCompGuids
-OsThunkDdGetScanLine
-OsThunkDdLock
-OsThunkDdLockD3D
-OsThunkDdQueryDirectDrawObject
-OsThunkDdQueryMoCompStatus
-OsThunkDdReenableDirectDrawObject
-OsThunkDdReleaseDC
-OsThunkDdRenderMoComp
-OsThunkDdResetVisrgn
-OsThunkDdSetColorKey
-OsThunkDdSetExclusiveMode
-OsThunkDdSetGammaRamp
-OsThunkDdSetOverlayPosition
-OsThunkDdUnattachSurface
-OsThunkDdUnlock
-OsThunkDdUnlockD3D
-OsThunkDdUpdateOverlay
-OsThunkDdWaitForVerticalBlank
+; 
+; Exports of file d3d8thk.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3d8thk.dll
+EXPORTS
+OsThunkD3dContextCreate
+OsThunkD3dContextDestroy
+OsThunkD3dContextDestroyAll
+OsThunkD3dDrawPrimitives2
+OsThunkD3dValidateTextureStageState
+OsThunkDdAddAttachedSurface
+OsThunkDdAlphaBlt
+OsThunkDdAttachSurface
+OsThunkDdBeginMoCompFrame
+OsThunkDdBlt
+OsThunkDdCanCreateD3DBuffer
+OsThunkDdCanCreateSurface
+OsThunkDdColorControl
+OsThunkDdCreateD3DBuffer
+OsThunkDdCreateDirectDrawObject
+OsThunkDdCreateMoComp
+OsThunkDdCreateSurface
+OsThunkDdCreateSurfaceEx
+OsThunkDdCreateSurfaceObject
+OsThunkDdDeleteDirectDrawObject
+OsThunkDdDeleteSurfaceObject
+OsThunkDdDestroyD3DBuffer
+OsThunkDdDestroyMoComp
+OsThunkDdDestroySurface
+OsThunkDdEndMoCompFrame
+OsThunkDdFlip
+OsThunkDdFlipToGDISurface
+OsThunkDdGetAvailDriverMemory
+OsThunkDdGetBltStatus
+OsThunkDdGetDC
+OsThunkDdGetDriverInfo
+OsThunkDdGetDriverState
+OsThunkDdGetDxHandle
+OsThunkDdGetFlipStatus
+OsThunkDdGetInternalMoCompInfo
+OsThunkDdGetMoCompBuffInfo
+OsThunkDdGetMoCompFormats
+OsThunkDdGetMoCompGuids
+OsThunkDdGetScanLine
+OsThunkDdLock
+OsThunkDdLockD3D
+OsThunkDdQueryDirectDrawObject
+OsThunkDdQueryMoCompStatus
+OsThunkDdReenableDirectDrawObject
+OsThunkDdReleaseDC
+OsThunkDdRenderMoComp
+OsThunkDdResetVisrgn
+OsThunkDdSetColorKey
+OsThunkDdSetExclusiveMode
+OsThunkDdSetGammaRamp
+OsThunkDdSetOverlayPosition
+OsThunkDdUnattachSurface
+OsThunkDdUnlock
+OsThunkDdUnlockD3D
+OsThunkDdUpdateOverlay
+OsThunkDdWaitForVerticalBlank
diff --git a/mingw-w64-crt/lib64/d3d9.def b/mingw-w64-crt/lib64/d3d9.def
index 17ece02..d928ba8 100644
--- a/mingw-w64-crt/lib64/d3d9.def
+++ b/mingw-w64-crt/lib64/d3d9.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file d3d9.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3d9.dll
-EXPORTS
-CheckFullscreen
-Direct3DShaderValidatorCreate9
-PSGPError
-PSGPSampleTexture
-D3DPERF_BeginEvent
-D3DPERF_EndEvent
-D3DPERF_GetStatus
-D3DPERF_QueryRepeatFrame
-D3DPERF_SetMarker
-D3DPERF_SetOptions
-D3DPERF_SetRegion
-DebugSetLevel
-DebugSetMute
-Direct3DCreate9
+; 
+; Exports of file d3d9.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3d9.dll
+EXPORTS
+CheckFullscreen
+Direct3DShaderValidatorCreate9
+PSGPError
+PSGPSampleTexture
+D3DPERF_BeginEvent
+D3DPERF_EndEvent
+D3DPERF_GetStatus
+D3DPERF_QueryRepeatFrame
+D3DPERF_SetMarker
+D3DPERF_SetOptions
+D3DPERF_SetRegion
+DebugSetLevel
+DebugSetMute
+Direct3DCreate9
diff --git a/mingw-w64-crt/lib64/d3dxof.def b/mingw-w64-crt/lib64/d3dxof.def
index 0086e47..a1b8a01 100644
--- a/mingw-w64-crt/lib64/d3dxof.def
+++ b/mingw-w64-crt/lib64/d3dxof.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file d3dxof.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3dxof.dll
-EXPORTS
-DirectXFileCreate
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file d3dxof.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3dxof.dll
+EXPORTS
+DirectXFileCreate
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/danim.def b/mingw-w64-crt/lib64/danim.def
index 589d1cc..f3f143d 100644
--- a/mingw-w64-crt/lib64/danim.def
+++ b/mingw-w64-crt/lib64/danim.def
@@ -1,1192 +1,1192 @@
-; 
-; Exports of file DANIM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DANIM.dll
-EXPORTS
-; class CRBvr * __ptr64 __cdecl COMToCRBvr(struct IUnknown * __ptr64)
-?COMToCRBvr@@YAPEAVCRBvr@@PEAUIUnknown@@@Z
-; class CRNumber * __ptr64 __cdecl CRAbs(class CRNumber * __ptr64)
-?CRAbs@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRNumber * __ptr64 __cdecl CRAcos(class CRNumber * __ptr64)
-?CRAcos@@YAPEAVCRNumber@@PEAV1@@Z
-; bool __cdecl CRAcquireGCLock(void)
-?CRAcquireGCLock@@YA_NXZ
-; class CRNumber * __ptr64 __cdecl CRAdd(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRAdd@@YAPEAVCRNumber@@PEAV1@0@Z
-; class CRPoint2 * __ptr64 __cdecl CRAdd(class CRPoint2 * __ptr64,class CRVector2 * __ptr64)
-?CRAdd@@YAPEAVCRPoint2@@PEAV1@PEAVCRVector2@@@Z
-; class CRPoint3 * __ptr64 __cdecl CRAdd(class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
-?CRAdd@@YAPEAVCRPoint3@@PEAV1@PEAVCRVector3@@@Z
-; class CRVector2 * __ptr64 __cdecl CRAdd(class CRVector2 * __ptr64,class CRVector2 * __ptr64)
-?CRAdd@@YAPEAVCRVector2@@PEAV1@0@Z
-; class CRVector3 * __ptr64 __cdecl CRAdd(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
-?CRAdd@@YAPEAVCRVector3@@PEAV1@0@Z
-; bool __cdecl CRAddBvrToRun(class CRView * __ptr64,class CRBvr * __ptr64,bool,long * __ptr64)
-?CRAddBvrToRun@@YA_NPEAVCRView@@PEAVCRBvr@@_NPEAJ@Z
-; long __cdecl CRAddElement(class CRArray * __ptr64,class CRBvr * __ptr64,unsigned long)
-?CRAddElement@@YAJPEAVCRArray@@PEAVCRBvr@@K@Z
-; class CRGeometry * __ptr64 __cdecl CRAddPickData(class CRGeometry * __ptr64,struct IUnknown * __ptr64,bool)
-?CRAddPickData@@YAPEAVCRGeometry@@PEAV1@PEAUIUnknown@@_N@Z
-; class CRImage * __ptr64 __cdecl CRAddPickData(class CRImage * __ptr64,struct IUnknown * __ptr64,bool)
-?CRAddPickData@@YAPEAVCRImage@@PEAV1@PEAUIUnknown@@_N@Z
-; bool __cdecl CRAddRefGC(void * __ptr64)
-?CRAddRefGC@@YA_NPEAX@Z
-; bool __cdecl CRAddSite(class CRSite * __ptr64)
-?CRAddSite@@YA_NPEAVCRSite@@@Z
-; class CREvent * __ptr64 __cdecl CRAlways(void)
-?CRAlways@@YAPEAVCREvent@@XZ
-; class CRGeometry * __ptr64 __cdecl CRAmbientColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
-?CRAmbientColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
-; class CRGeometry * __ptr64 __cdecl CRAmbientLight(void)
-?CRAmbientLight@@YAPEAVCRGeometry@@XZ
-; class CRBoolean * __ptr64 __cdecl CRAnd(class CRBoolean * __ptr64,class CRBoolean * __ptr64)
-?CRAnd@@YAPEAVCRBoolean@@PEAV1@0@Z
-; class CREvent * __ptr64 __cdecl CRAndEvent(class CREvent * __ptr64,class CREvent * __ptr64)
-?CRAndEvent@@YAPEAVCREvent@@PEAV1@0@Z
-; class CRFontStyle * __ptr64 __cdecl CRAntiAliasing(class CRFontStyle * __ptr64,double)
-?CRAntiAliasing@@YAPEAVCRFontStyle@@PEAV1@N@Z
-; class CRLineStyle * __ptr64 __cdecl CRAntiAliasing(class CRLineStyle * __ptr64,double)
-?CRAntiAliasing@@YAPEAVCRLineStyle@@PEAV1@N@Z
-; class CREvent * __ptr64 __cdecl CRAppTriggeredEvent(void)
-?CRAppTriggeredEvent@@YAPEAVCREvent@@XZ
-; class CRDXTransformResult * __ptr64 __cdecl CRApplyDXTransform(struct IUnknown * __ptr64,long,class CRBvr * __ptr64 * __ptr64,class CRBvr * __ptr64)
-?CRApplyDXTransform@@YAPEAVCRDXTransformResult@@PEAUIUnknown@@JPEAPEAVCRBvr@@PEAV3@@Z
-; class CRColor * __ptr64 __cdecl CRAqua(void)
-?CRAqua@@YAPEAVCRColor@@XZ
-; class CRPath2 * __ptr64 __cdecl CRArc(double,double,double,double)
-?CRArc@@YAPEAVCRPath2@@NNNN@Z
-; class CRPath2 * __ptr64 __cdecl CRArcRadians(double,double,double,double)
-?CRArcRadians@@YAPEAVCRPath2@@NNNN@Z
-; class CRPath2 * __ptr64 __cdecl CRArcRadians(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRArcRadians@@YAPEAVCRPath2@@PEAVCRNumber@@000@Z
-; class CRNumber * __ptr64 __cdecl CRAsin(class CRNumber * __ptr64)
-?CRAsin@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRNumber * __ptr64 __cdecl CRAtan2(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRAtan2@@YAPEAVCRNumber@@PEAV1@0@Z
-; class CRNumber * __ptr64 __cdecl CRAtan(class CRNumber * __ptr64)
-?CRAtan@@YAPEAVCRNumber@@PEAV1@@Z
-; class CREvent * __ptr64 __cdecl CRAttachData(class CREvent * __ptr64,class CRBvr * __ptr64)
-?CRAttachData@@YAPEAVCREvent@@PEAV1@PEAVCRBvr@@@Z
-; class CRBvr * __ptr64 __cdecl CRBSpline(int,long,class CRNumber * __ptr64 * __ptr64 const,long,class CRBvr * __ptr64 * __ptr64 const,long,class CRNumber * __ptr64 * __ptr64 const,class CRNumber * __ptr64,enum CR_BVR_TYPEID)
-?CRBSpline@@YAPEAVCRBvr@@HJQEAPEAVCRNumber@@JQEAPEAV1@J0PEAV2@W4CR_BVR_TYPEID@@@Z
-; class CRGeometry * __ptr64 __cdecl CRBillboard(class CRGeometry * __ptr64,class CRVector3 * __ptr64)
-?CRBillboard@@YAPEAVCRGeometry@@PEAV1@PEAVCRVector3@@@Z
-; class CRColor * __ptr64 __cdecl CRBlack(void)
-?CRBlack@@YAPEAVCRColor@@XZ
-; class CRGeometry * __ptr64 __cdecl CRBlendTextureDiffuse(class CRGeometry * __ptr64,class CRBoolean * __ptr64)
-?CRBlendTextureDiffuse@@YAPEAVCRGeometry@@PEAV1@PEAVCRBoolean@@@Z
-; class CRColor * __ptr64 __cdecl CRBlue(void)
-?CRBlue@@YAPEAVCRColor@@XZ
-; class CRFontStyle * __ptr64 __cdecl CRBold(class CRFontStyle * __ptr64)
-?CRBold@@YAPEAVCRFontStyle@@PEAV1@@Z
-; class CRBbox2 * __ptr64 __cdecl CRBoundingBox(class CRImage * __ptr64)
-?CRBoundingBox@@YAPEAVCRBbox2@@PEAVCRImage@@@Z
-; class CRBbox2 * __ptr64 __cdecl CRBoundingBox(class CRPath2 * __ptr64,class CRLineStyle * __ptr64)
-?CRBoundingBox@@YAPEAVCRBbox2@@PEAVCRPath2@@PEAVCRLineStyle@@@Z
-; class CRBbox3 * __ptr64 __cdecl CRBoundingBox(class CRGeometry * __ptr64)
-?CRBoundingBox@@YAPEAVCRBbox3@@PEAVCRGeometry@@@Z
-; class CRBvr * __ptr64 __cdecl CRBvrApplyPreference(class CRBvr * __ptr64,unsigned short * __ptr64,struct tagVARIANT)
-?CRBvrApplyPreference@@YAPEAVCRBvr@@PEAV1@PEAGUtagVARIANT@@@Z
-; bool __cdecl CRBvrToCOM(class CRBvr * __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
-?CRBvrToCOM@@YA_NPEAVCRBvr@@AEBU_GUID@@PEAPEAX@Z
-; class CRNumber * __ptr64 __cdecl CRCeiling(class CRNumber * __ptr64)
-?CRCeiling@@YAPEAVCRNumber@@PEAV1@@Z
-; void __cdecl CRClearLastError(void)
-?CRClearLastError@@YAXXZ
-; class CRMatte * __ptr64 __cdecl CRClearMatte(void)
-?CRClearMatte@@YAPEAVCRMatte@@XZ
-; class CRImage * __ptr64 __cdecl CRClip(class CRImage * __ptr64,class CRMatte * __ptr64)
-?CRClip@@YAPEAVCRImage@@PEAV1@PEAVCRMatte@@@Z
-; class CRImage * __ptr64 __cdecl CRClipPolygonImage(class CRImage * __ptr64,class CRArray * __ptr64)
-?CRClipPolygonImage@@YAPEAVCRImage@@PEAV1@PEAVCRArray@@@Z
-; class CRPath2 * __ptr64 __cdecl CRClose(class CRPath2 * __ptr64)
-?CRClose@@YAPEAVCRPath2@@PEAV1@@Z
-; class CRColor * __ptr64 __cdecl CRColorHsl(double,double,double)
-?CRColorHsl@@YAPEAVCRColor@@NNN@Z
-; class CRColor * __ptr64 __cdecl CRColorHsl(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRColorHsl@@YAPEAVCRColor@@PEAVCRNumber@@00@Z
-; class CRImage * __ptr64 __cdecl CRColorKey(class CRImage * __ptr64,class CRColor * __ptr64)
-?CRColorKey@@YAPEAVCRImage@@PEAV1@PEAVCRColor@@@Z
-; class CRColor * __ptr64 __cdecl CRColorRgb255(short,short,short)
-?CRColorRgb255@@YAPEAVCRColor@@FFF@Z
-; class CRColor * __ptr64 __cdecl CRColorRgb(double,double,double)
-?CRColorRgb@@YAPEAVCRColor@@NNN@Z
-; class CRColor * __ptr64 __cdecl CRColorRgb(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRColorRgb@@YAPEAVCRColor@@PEAVCRNumber@@00@Z
-; class CRTransform2 * __ptr64 __cdecl CRCompose2(class CRTransform2 * __ptr64,class CRTransform2 * __ptr64)
-?CRCompose2@@YAPEAVCRTransform2@@PEAV1@0@Z
-; class CRTransform2 * __ptr64 __cdecl CRCompose2(class CRArray * __ptr64)
-?CRCompose2@@YAPEAVCRTransform2@@PEAVCRArray@@@Z
-; class CRTransform3 * __ptr64 __cdecl CRCompose3(class CRTransform3 * __ptr64,class CRTransform3 * __ptr64)
-?CRCompose3@@YAPEAVCRTransform3@@PEAV1@0@Z
-; class CRTransform3 * __ptr64 __cdecl CRCompose3(class CRArray * __ptr64)
-?CRCompose3@@YAPEAVCRTransform3@@PEAVCRArray@@@Z
-; class CRPath2 * __ptr64 __cdecl CRConcat(class CRPath2 * __ptr64,class CRPath2 * __ptr64)
-?CRConcat@@YAPEAVCRPath2@@PEAV1@0@Z
-; class CRPath2 * __ptr64 __cdecl CRConcat(class CRArray * __ptr64)
-?CRConcat@@YAPEAVCRPath2@@PEAVCRArray@@@Z
-; class CRString * __ptr64 __cdecl CRConcatString(class CRString * __ptr64,class CRString * __ptr64)
-?CRConcatString@@YAPEAVCRString@@PEAV1@0@Z
-; class CRBvr * __ptr64 __cdecl CRCond(class CRBoolean * __ptr64,class CRBvr * __ptr64,class CRBvr * __ptr64)
-?CRCond@@YAPEAVCRBvr@@PEAVCRBoolean@@PEAV1@1@Z
-; bool __cdecl CRConnect(struct HINSTANCE__ * __ptr64)
-?CRConnect@@YA_NPEAUHINSTANCE__@@@Z
-; class CRNumber * __ptr64 __cdecl CRCos(class CRNumber * __ptr64)
-?CRCos@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRArray * __ptr64 __cdecl CRCreateArray(long,double * __ptr64 const,enum CR_BVR_TYPEID)
-?CRCreateArray@@YAPEAVCRArray@@JQEANW4CR_BVR_TYPEID@@@Z
-; class CRArray * __ptr64 __cdecl CRCreateArray(long,class CRBvr * __ptr64 * __ptr64 const,unsigned long)
-?CRCreateArray@@YAPEAVCRArray@@JQEAPEAVCRBvr@@K@Z
-; class CRBoolean * __ptr64 __cdecl CRCreateBoolean(bool)
-?CRCreateBoolean@@YAPEAVCRBoolean@@_N@Z
-; class CRNumber * __ptr64 __cdecl CRCreateNumber(double)
-?CRCreateNumber@@YAPEAVCRNumber@@N@Z
-; class CRPoint2 * __ptr64 __cdecl CRCreatePoint2(double,double)
-?CRCreatePoint2@@YAPEAVCRPoint2@@NN@Z
-; class CRPoint2 * __ptr64 __cdecl CRCreatePoint2(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRCreatePoint2@@YAPEAVCRPoint2@@PEAVCRNumber@@0@Z
-; class CRPoint3 * __ptr64 __cdecl CRCreatePoint3(double,double,double)
-?CRCreatePoint3@@YAPEAVCRPoint3@@NNN@Z
-; class CRPoint3 * __ptr64 __cdecl CRCreatePoint3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRCreatePoint3@@YAPEAVCRPoint3@@PEAVCRNumber@@00@Z
-; class CRString * __ptr64 __cdecl CRCreateString(unsigned short * __ptr64)
-?CRCreateString@@YAPEAVCRString@@PEAG@Z
-; class CRTuple * __ptr64 __cdecl CRCreateTuple(long,class CRBvr * __ptr64 * __ptr64 const)
-?CRCreateTuple@@YAPEAVCRTuple@@JQEAPEAVCRBvr@@@Z
-; class CRUserData * __ptr64 __cdecl CRCreateUserData(struct IUnknown * __ptr64)
-?CRCreateUserData@@YAPEAVCRUserData@@PEAUIUnknown@@@Z
-; class CRVector2 * __ptr64 __cdecl CRCreateVector2(double,double)
-?CRCreateVector2@@YAPEAVCRVector2@@NN@Z
-; class CRVector2 * __ptr64 __cdecl CRCreateVector2(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRCreateVector2@@YAPEAVCRVector2@@PEAVCRNumber@@0@Z
-; class CRVector3 * __ptr64 __cdecl CRCreateVector3(double,double,double)
-?CRCreateVector3@@YAPEAVCRVector3@@NNN@Z
-; class CRVector3 * __ptr64 __cdecl CRCreateVector3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRCreateVector3@@YAPEAVCRVector3@@PEAVCRNumber@@00@Z
-; class CRView * __ptr64 __cdecl CRCreateView(void)
-?CRCreateView@@YAPEAVCRView@@XZ
-; class CRImage * __ptr64 __cdecl CRCrop(class CRImage * __ptr64,class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
-?CRCrop@@YAPEAVCRImage@@PEAV1@PEAVCRPoint2@@1@Z
-; class CRVector3 * __ptr64 __cdecl CRCross(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
-?CRCross@@YAPEAVCRVector3@@PEAV1@0@Z
-; class CRPath2 * __ptr64 __cdecl CRCubicBSplinePath(class CRArray * __ptr64,class CRArray * __ptr64)
-?CRCubicBSplinePath@@YAPEAVCRPath2@@PEAVCRArray@@0@Z
-; class CRColor * __ptr64 __cdecl CRCyan(void)
-?CRCyan@@YAPEAVCRColor@@XZ
-; class CRGeometry * __ptr64 __cdecl CRD3DRMTexture(class CRGeometry * __ptr64,struct IUnknown * __ptr64)
-?CRD3DRMTexture@@YAPEAVCRGeometry@@PEAV1@PEAUIUnknown@@@Z
-; class CRLineStyle * __ptr64 __cdecl CRDash(class CRLineStyle * __ptr64,class CRDashStyle * __ptr64)
-?CRDash@@YAPEAVCRLineStyle@@PEAV1@PEAVCRDashStyle@@@Z
-; class CRLineStyle * __ptr64 __cdecl CRDashEx(class CRLineStyle * __ptr64,unsigned long)
-?CRDashEx@@YAPEAVCRLineStyle@@PEAV1@K@Z
-; class CRDashStyle * __ptr64 __cdecl CRDashStyleDashed(void)
-?CRDashStyleDashed@@YAPEAVCRDashStyle@@XZ
-; class CRDashStyle * __ptr64 __cdecl CRDashStyleSolid(void)
-?CRDashStyleSolid@@YAPEAVCRDashStyle@@XZ
-; class CRFontStyle * __ptr64 __cdecl CRDefaultFont(void)
-?CRDefaultFont@@YAPEAVCRFontStyle@@XZ
-; class CRLineStyle * __ptr64 __cdecl CRDefaultLineStyle(void)
-?CRDefaultLineStyle@@YAPEAVCRLineStyle@@XZ
-; class CRMicrophone * __ptr64 __cdecl CRDefaultMicrophone(void)
-?CRDefaultMicrophone@@YAPEAVCRMicrophone@@XZ
-; class CRCamera * __ptr64 __cdecl CRDepth(class CRCamera * __ptr64,double)
-?CRDepth@@YAPEAVCRCamera@@PEAV1@N@Z
-; class CRCamera * __ptr64 __cdecl CRDepth(class CRCamera * __ptr64,class CRNumber * __ptr64)
-?CRDepth@@YAPEAVCRCamera@@PEAV1@PEAVCRNumber@@@Z
-; class CRCamera * __ptr64 __cdecl CRDepthResolution(class CRCamera * __ptr64,double)
-?CRDepthResolution@@YAPEAVCRCamera@@PEAV1@N@Z
-; class CRCamera * __ptr64 __cdecl CRDepthResolution(class CRCamera * __ptr64,class CRNumber * __ptr64)
-?CRDepthResolution@@YAPEAVCRCamera@@PEAV1@PEAVCRNumber@@@Z
-; class CRNumber * __ptr64 __cdecl CRDerivative(class CRNumber * __ptr64)
-?CRDerivative@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRVector2 * __ptr64 __cdecl CRDerivative(class CRVector2 * __ptr64)
-?CRDerivative@@YAPEAVCRVector2@@PEAV1@@Z
-; class CRVector2 * __ptr64 __cdecl CRDerivative(class CRPoint2 * __ptr64)
-?CRDerivative@@YAPEAVCRVector2@@PEAVCRPoint2@@@Z
-; class CRVector3 * __ptr64 __cdecl CRDerivative(class CRVector3 * __ptr64)
-?CRDerivative@@YAPEAVCRVector3@@PEAV1@@Z
-; class CRVector3 * __ptr64 __cdecl CRDerivative(class CRPoint3 * __ptr64)
-?CRDerivative@@YAPEAVCRVector3@@PEAVCRPoint3@@@Z
-; void __cdecl CRDestroyView(class CRView * __ptr64)
-?CRDestroyView@@YAXPEAVCRView@@@Z
-; class CRLineStyle * __ptr64 __cdecl CRDetail(class CRLineStyle * __ptr64)
-?CRDetail@@YAPEAVCRLineStyle@@PEAV1@@Z
-; class CRImage * __ptr64 __cdecl CRDetectableEmptyImage(void)
-?CRDetectableEmptyImage@@YAPEAVCRImage@@XZ
-; class CRMatte * __ptr64 __cdecl CRDifferenceMatte(class CRMatte * __ptr64,class CRMatte * __ptr64)
-?CRDifferenceMatte@@YAPEAVCRMatte@@PEAV1@0@Z
-; class CRGeometry * __ptr64 __cdecl CRDiffuseColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
-?CRDiffuseColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
-; class CRGeometry * __ptr64 __cdecl CRDirectionalLight(void)
-?CRDirectionalLight@@YAPEAVCRGeometry@@XZ
-; bool __cdecl CRDisconnect(struct HINSTANCE__ * __ptr64)
-?CRDisconnect@@YA_NPEAUHINSTANCE__@@@Z
-; class CRNumber * __ptr64 __cdecl CRDistance(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
-?CRDistance@@YAPEAVCRNumber@@PEAVCRPoint2@@0@Z
-; class CRNumber * __ptr64 __cdecl CRDistance(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64)
-?CRDistance@@YAPEAVCRNumber@@PEAVCRPoint3@@0@Z
-; class CRNumber * __ptr64 __cdecl CRDistanceSquared(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
-?CRDistanceSquared@@YAPEAVCRNumber@@PEAVCRPoint2@@0@Z
-; class CRNumber * __ptr64 __cdecl CRDistanceSquared(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64)
-?CRDistanceSquared@@YAPEAVCRNumber@@PEAVCRPoint3@@0@Z
-; class CRNumber * __ptr64 __cdecl CRDiv(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRDiv@@YAPEAVCRNumber@@PEAV1@0@Z
-; class CRVector2 * __ptr64 __cdecl CRDiv(class CRVector2 * __ptr64,double)
-?CRDiv@@YAPEAVCRVector2@@PEAV1@N@Z
-; class CRVector2 * __ptr64 __cdecl CRDiv(class CRVector2 * __ptr64,class CRNumber * __ptr64)
-?CRDiv@@YAPEAVCRVector2@@PEAV1@PEAVCRNumber@@@Z
-; class CRVector3 * __ptr64 __cdecl CRDiv(class CRVector3 * __ptr64,double)
-?CRDiv@@YAPEAVCRVector3@@PEAV1@N@Z
-; class CRVector3 * __ptr64 __cdecl CRDiv(class CRVector3 * __ptr64,class CRNumber * __ptr64)
-?CRDiv@@YAPEAVCRVector3@@PEAV1@PEAVCRNumber@@@Z
-; bool __cdecl CRDoGC(void)
-?CRDoGC@@YA_NXZ
-; class CRNumber * __ptr64 __cdecl CRDot(class CRVector2 * __ptr64,class CRVector2 * __ptr64)
-?CRDot@@YAPEAVCRNumber@@PEAVCRVector2@@0@Z
-; class CRNumber * __ptr64 __cdecl CRDot(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
-?CRDot@@YAPEAVCRNumber@@PEAVCRVector3@@0@Z
-; class CRImage * __ptr64 __cdecl CRDraw(class CRPath2 * __ptr64,class CRLineStyle * __ptr64)
-?CRDraw@@YAPEAVCRImage@@PEAVCRPath2@@PEAVCRLineStyle@@@Z
-; class CRBvr * __ptr64 __cdecl CRDuration(class CRBvr * __ptr64,double)
-?CRDuration@@YAPEAVCRBvr@@PEAV1@N@Z
-; class CRBvr * __ptr64 __cdecl CRDuration(class CRBvr * __ptr64,class CRNumber * __ptr64)
-?CRDuration@@YAPEAVCRBvr@@PEAV1@PEAVCRNumber@@@Z
-; class CRBoolean * __ptr64 __cdecl CREQ(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CREQ@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
-; class CRGeometry * __ptr64 __cdecl CREmissiveColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
-?CREmissiveColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
-; class CRColor * __ptr64 __cdecl CREmptyColor(void)
-?CREmptyColor@@YAPEAVCRColor@@XZ
-; class CRGeometry * __ptr64 __cdecl CREmptyGeometry(void)
-?CREmptyGeometry@@YAPEAVCRGeometry@@XZ
-; class CRImage * __ptr64 __cdecl CREmptyImage(void)
-?CREmptyImage@@YAPEAVCRImage@@XZ
-; class CRLineStyle * __ptr64 __cdecl CREmptyLineStyle(void)
-?CREmptyLineStyle@@YAPEAVCRLineStyle@@XZ
-; class CRMontage * __ptr64 __cdecl CREmptyMontage(void)
-?CREmptyMontage@@YAPEAVCRMontage@@XZ
-; class CRLineStyle * __ptr64 __cdecl CREnd(class CRLineStyle * __ptr64,class CREndStyle * __ptr64)
-?CREnd@@YAPEAVCRLineStyle@@PEAV1@PEAVCREndStyle@@@Z
-; class CRBvr * __ptr64 __cdecl CREndEvent(class CRBvr * __ptr64)
-?CREndEvent@@YAPEAVCRBvr@@PEAV1@@Z
-; class CRLineStyle * __ptr64 __cdecl CREndEx(class CRLineStyle * __ptr64,unsigned long)
-?CREndEx@@YAPEAVCRLineStyle@@PEAV1@K@Z
-; class CREndStyle * __ptr64 __cdecl CREndStyleFlat(void)
-?CREndStyleFlat@@YAPEAVCREndStyle@@XZ
-; class CREndStyle * __ptr64 __cdecl CREndStyleRound(void)
-?CREndStyleRound@@YAPEAVCREndStyle@@XZ
-; class CREndStyle * __ptr64 __cdecl CREndStyleSquare(void)
-?CREndStyleSquare@@YAPEAVCREndStyle@@XZ
-; class CRNumber * __ptr64 __cdecl CRExp(class CRNumber * __ptr64)
-?CRExp@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRBvr * __ptr64 __cdecl CRExtendedAttrib(class CRBvr * __ptr64,unsigned short * __ptr64,struct tagVARIANT)
-?CRExtendedAttrib@@YAPEAVCRBvr@@PEAV1@PEAGUtagVARIANT@@@Z
-; double __cdecl CRExtract(class CRNumber * __ptr64)
-?CRExtract@@YANPEAVCRNumber@@@Z
-; unsigned short * __ptr64 __cdecl CRExtract(class CRString * __ptr64)
-?CRExtract@@YAPEAGPEAVCRString@@@Z
-; bool __cdecl CRExtract(class CRBoolean * __ptr64)
-?CRExtract@@YA_NPEAVCRBoolean@@@Z
-; class CRBoolean * __ptr64 __cdecl CRFalse(void)
-?CRFalse@@YAPEAVCRBoolean@@XZ
-; class CRFontStyle * __ptr64 __cdecl CRFamily(class CRFontStyle * __ptr64,unsigned short * __ptr64)
-?CRFamily@@YAPEAVCRFontStyle@@PEAV1@PEAG@Z
-; class CRFontStyle * __ptr64 __cdecl CRFamily(class CRFontStyle * __ptr64,class CRString * __ptr64)
-?CRFamily@@YAPEAVCRFontStyle@@PEAV1@PEAVCRString@@@Z
-; class CRImage * __ptr64 __cdecl CRFill(class CRPath2 * __ptr64,class CRLineStyle * __ptr64,class CRImage * __ptr64)
-?CRFill@@YAPEAVCRImage@@PEAVCRPath2@@PEAVCRLineStyle@@PEAV1@@Z
-; class CRMatte * __ptr64 __cdecl CRFillMatte(class CRPath2 * __ptr64)
-?CRFillMatte@@YAPEAVCRMatte@@PEAVCRPath2@@@Z
-; class CRBvr * __ptr64 __cdecl CRFirst(class CRPair * __ptr64)
-?CRFirst@@YAPEAVCRBvr@@PEAVCRPair@@@Z
-; class CRNumber * __ptr64 __cdecl CRFloor(class CRNumber * __ptr64)
-?CRFloor@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRTransform2 * __ptr64 __cdecl CRFollowPath(class CRPath2 * __ptr64,double)
-?CRFollowPath@@YAPEAVCRTransform2@@PEAVCRPath2@@N@Z
-; class CRTransform2 * __ptr64 __cdecl CRFollowPath(class CRPath2 * __ptr64,class CRNumber * __ptr64)
-?CRFollowPath@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngle(class CRPath2 * __ptr64,double)
-?CRFollowPathAngle@@YAPEAVCRTransform2@@PEAVCRPath2@@N@Z
-; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngle(class CRPath2 * __ptr64,class CRNumber * __ptr64)
-?CRFollowPathAngle@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleEval(class CRPath2 * __ptr64,class CRNumber * __ptr64)
-?CRFollowPathAngleEval@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleUpright(class CRPath2 * __ptr64,double)
-?CRFollowPathAngleUpright@@YAPEAVCRTransform2@@PEAVCRPath2@@N@Z
-; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleUpright(class CRPath2 * __ptr64,class CRNumber * __ptr64)
-?CRFollowPathAngleUpright@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleUprightEval(class CRPath2 * __ptr64,class CRNumber * __ptr64)
-?CRFollowPathAngleUprightEval@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRFollowPathEval(class CRPath2 * __ptr64,class CRNumber * __ptr64)
-?CRFollowPathEval@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
-; class CRFontStyle * __ptr64 __cdecl CRFont(unsigned short * __ptr64,double,class CRColor * __ptr64)
-?CRFont@@YAPEAVCRFontStyle@@PEAGNPEAVCRColor@@@Z
-; class CRFontStyle * __ptr64 __cdecl CRFont(class CRString * __ptr64,class CRNumber * __ptr64,class CRColor * __ptr64)
-?CRFont@@YAPEAVCRFontStyle@@PEAVCRString@@PEAVCRNumber@@PEAVCRColor@@@Z
-; class CRColor * __ptr64 __cdecl CRFuchsia(void)
-?CRFuchsia@@YAPEAVCRColor@@XZ
-; class CRBoolean * __ptr64 __cdecl CRGT(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRGT@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
-; class CRBoolean * __ptr64 __cdecl CRGTE(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRGTE@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
-; class CRSound * __ptr64 __cdecl CRGain(class CRSound * __ptr64,double)
-?CRGain@@YAPEAVCRSound@@PEAV1@N@Z
-; class CRSound * __ptr64 __cdecl CRGain(class CRSound * __ptr64,class CRNumber * __ptr64)
-?CRGain@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
-; enum CR_BVR_TYPEID  __cdecl CRGetArrayTypeId(class CRBvr * __ptr64)
-?CRGetArrayTypeId@@YA?AW4CR_BVR_TYPEID@@PEAVCRBvr@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetBlue(class CRColor * __ptr64)
-?CRGetBlue@@YAPEAVCRNumber@@PEAVCRColor@@@Z
-; class CREvent * __ptr64 __cdecl CRGetCompletionEvent(class CRImportationResult * __ptr64)
-?CRGetCompletionEvent@@YAPEAVCREvent@@PEAVCRImportationResult@@@Z
-; bool __cdecl CRGetCompositeDirectlyToTarget(class CRView * __ptr64)
-?CRGetCompositeDirectlyToTarget@@YA_NPEAVCRView@@@Z
-; double __cdecl CRGetConstDuration(class CREvent * __ptr64)
-?CRGetConstDuration@@YANPEAVCREvent@@@Z
-; struct HDC__ * __ptr64 __cdecl CRGetDC(class CRView * __ptr64)
-?CRGetDC@@YAPEAUHDC__@@PEAVCRView@@@Z
-; bool __cdecl CRGetDDD3DRM(class CRView * __ptr64,struct IUnknown * __ptr64 * __ptr64,struct IUnknown * __ptr64 * __ptr64)
-?CRGetDDD3DRM@@YA_NPEAVCRView@@PEAPEAUIUnknown@@1@Z
-; struct IUnknown * __ptr64 __cdecl CRGetData(class CRUserData * __ptr64)
-?CRGetData@@YAPEAUIUnknown@@PEAVCRUserData@@@Z
-; struct IUnknown * __ptr64 __cdecl CRGetDirectDrawSurface(class CRView * __ptr64)
-?CRGetDirectDrawSurface@@YAPEAUIUnknown@@PEAVCRView@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetDuration(class CRImportationResult * __ptr64)
-?CRGetDuration@@YAPEAVCRNumber@@PEAVCRImportationResult@@@Z
-; class CRBvr * __ptr64 __cdecl CRGetElement(class CRArray * __ptr64,long)
-?CRGetElement@@YAPEAVCRBvr@@PEAVCRArray@@J@Z
-; class CREvent * __ptr64 __cdecl CRGetEvent(class CRPickableResult * __ptr64)
-?CRGetEvent@@YAPEAVCREvent@@PEAVCRPickableResult@@@Z
-; class CRGeometry * __ptr64 __cdecl CRGetGeometry(class CRImportationResult * __ptr64)
-?CRGetGeometry@@YAPEAVCRGeometry@@PEAVCRImportationResult@@@Z
-; class CRGeometry * __ptr64 __cdecl CRGetGeometry(class CRPickableResult * __ptr64)
-?CRGetGeometry@@YAPEAVCRGeometry@@PEAVCRPickableResult@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetGreen(class CRColor * __ptr64)
-?CRGetGreen@@YAPEAVCRNumber@@PEAVCRColor@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetHue(class CRColor * __ptr64)
-?CRGetHue@@YAPEAVCRNumber@@PEAVCRColor@@@Z
-; class CRImage * __ptr64 __cdecl CRGetImage(class CRImportationResult * __ptr64)
-?CRGetImage@@YAPEAVCRImage@@PEAVCRImportationResult@@@Z
-; class CRImage * __ptr64 __cdecl CRGetImage(class CRPickableResult * __ptr64)
-?CRGetImage@@YAPEAVCRImage@@PEAVCRPickableResult@@@Z
-; float __cdecl CRGetImportPriority(class CRBvr * __ptr64)
-?CRGetImportPriority@@YAMPEAVCRBvr@@@Z
-; long __cdecl CRGetInvalidatedRects(class CRView * __ptr64,unsigned long,long,struct tagRECT * __ptr64)
-?CRGetInvalidatedRects@@YAJPEAVCRView@@KJPEAUtagRECT@@@Z
-; long __cdecl CRGetLastError(void)
-?CRGetLastError@@YAJXZ
-; unsigned short const * __ptr64 __cdecl CRGetLastErrorString(void)
-?CRGetLastErrorString@@YAPEBGXZ
-; class CRNumber * __ptr64 __cdecl CRGetLightness(class CRColor * __ptr64)
-?CRGetLightness@@YAPEAVCRNumber@@PEAVCRColor@@@Z
-; class CRBvr * __ptr64 __cdecl CRGetModifiableBvr(class CRBvr * __ptr64)
-?CRGetModifiableBvr@@YAPEAVCRBvr@@PEAV1@@Z
-; class CRBvr * __ptr64 __cdecl CRGetOutputBvr(class CRDXTransformResult * __ptr64)
-?CRGetOutputBvr@@YAPEAVCRBvr@@PEAVCRDXTransformResult@@@Z
-; bool __cdecl CRGetPreference(class CRView * __ptr64,unsigned short * __ptr64,struct tagVARIANT * __ptr64)
-?CRGetPreference@@YA_NPEAVCRView@@PEAGPEAUtagVARIANT@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetProgress(class CRImportationResult * __ptr64)
-?CRGetProgress@@YAPEAVCRNumber@@PEAVCRImportationResult@@@Z
-; bool __cdecl CRGetRMDevice(class CRView * __ptr64,struct IUnknown * __ptr64 * __ptr64,unsigned long * __ptr64)
-?CRGetRMDevice@@YA_NPEAVCRView@@PEAPEAUIUnknown@@PEAK@Z
-; class CRNumber * __ptr64 __cdecl CRGetRed(class CRColor * __ptr64)
-?CRGetRed@@YAPEAVCRNumber@@PEAVCRColor@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetSaturation(class CRColor * __ptr64)
-?CRGetSaturation@@YAPEAVCRNumber@@PEAVCRColor@@@Z
-; struct IServiceProvider * __ptr64 __cdecl CRGetServiceProvider(class CRView * __ptr64)
-?CRGetServiceProvider@@YAPEAUIServiceProvider@@PEAVCRView@@@Z
-; double __cdecl CRGetSimulationTime(class CRView * __ptr64)
-?CRGetSimulationTime@@YANPEAVCRView@@@Z
-; class CRViewSite * __ptr64 __cdecl CRGetSite(class CRView * __ptr64)
-?CRGetSite@@YAPEAVCRViewSite@@PEAVCRView@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetSize(class CRImportationResult * __ptr64)
-?CRGetSize@@YAPEAVCRNumber@@PEAVCRImportationResult@@@Z
-; class CRSound * __ptr64 __cdecl CRGetSound(class CRImportationResult * __ptr64)
-?CRGetSound@@YAPEAVCRSound@@PEAVCRImportationResult@@@Z
-; struct IUnknown * __ptr64 __cdecl CRGetTransform(class CRDXTransformResult * __ptr64)
-?CRGetTransform@@YAPEAUIUnknown@@PEAVCRDXTransformResult@@@Z
-; enum CR_BVR_TYPEID  __cdecl CRGetTypeId(class CRBvr * __ptr64)
-?CRGetTypeId@@YA?AW4CR_BVR_TYPEID@@PEAVCRBvr@@@Z
-; struct HWND__ * __ptr64 __cdecl CRGetWindow(class CRView * __ptr64)
-?CRGetWindow@@YAPEAUHWND__@@PEAVCRView@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetX(class CRPoint2 * __ptr64)
-?CRGetX@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetX(class CRPoint3 * __ptr64)
-?CRGetX@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetX(class CRVector2 * __ptr64)
-?CRGetX@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetX(class CRVector3 * __ptr64)
-?CRGetX@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetY(class CRPoint2 * __ptr64)
-?CRGetY@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetY(class CRPoint3 * __ptr64)
-?CRGetY@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetY(class CRVector2 * __ptr64)
-?CRGetY@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetY(class CRVector3 * __ptr64)
-?CRGetY@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetZ(class CRPoint3 * __ptr64)
-?CRGetZ@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
-; class CRNumber * __ptr64 __cdecl CRGetZ(class CRVector3 * __ptr64)
-?CRGetZ@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
-; class CRNumber * __ptr64 __cdecl CRGlobalTime(void)
-?CRGlobalTime@@YAPEAVCRNumber@@XZ
-; class CRImage * __ptr64 __cdecl CRGradientHorizontal(class CRColor * __ptr64,class CRColor * __ptr64,double)
-?CRGradientHorizontal@@YAPEAVCRImage@@PEAVCRColor@@0N@Z
-; class CRImage * __ptr64 __cdecl CRGradientHorizontal(class CRColor * __ptr64,class CRColor * __ptr64,class CRNumber * __ptr64)
-?CRGradientHorizontal@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRNumber@@@Z
-; class CRImage * __ptr64 __cdecl CRGradientPolygon(class CRArray * __ptr64,class CRArray * __ptr64)
-?CRGradientPolygon@@YAPEAVCRImage@@PEAVCRArray@@0@Z
-; class CRImage * __ptr64 __cdecl CRGradientSquare(class CRColor * __ptr64,class CRColor * __ptr64,class CRColor * __ptr64,class CRColor * __ptr64)
-?CRGradientSquare@@YAPEAVCRImage@@PEAVCRColor@@000@Z
-; class CRColor * __ptr64 __cdecl CRGray(void)
-?CRGray@@YAPEAVCRColor@@XZ
-; class CRColor * __ptr64 __cdecl CRGreen(void)
-?CRGreen@@YAPEAVCRColor@@XZ
-; class CRImage * __ptr64 __cdecl CRHatchBackwardDiagonal(class CRColor * __ptr64,double)
-?CRHatchBackwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@N@Z
-; class CRImage * __ptr64 __cdecl CRHatchBackwardDiagonal(class CRColor * __ptr64,class CRNumber * __ptr64)
-?CRHatchBackwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
-; class CRImage * __ptr64 __cdecl CRHatchCross(class CRColor * __ptr64,double)
-?CRHatchCross@@YAPEAVCRImage@@PEAVCRColor@@N@Z
-; class CRImage * __ptr64 __cdecl CRHatchCross(class CRColor * __ptr64,class CRNumber * __ptr64)
-?CRHatchCross@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
-; class CRImage * __ptr64 __cdecl CRHatchDiagonalCross(class CRColor * __ptr64,double)
-?CRHatchDiagonalCross@@YAPEAVCRImage@@PEAVCRColor@@N@Z
-; class CRImage * __ptr64 __cdecl CRHatchDiagonalCross(class CRColor * __ptr64,class CRNumber * __ptr64)
-?CRHatchDiagonalCross@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
-; class CRImage * __ptr64 __cdecl CRHatchForwardDiagonal(class CRColor * __ptr64,double)
-?CRHatchForwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@N@Z
-; class CRImage * __ptr64 __cdecl CRHatchForwardDiagonal(class CRColor * __ptr64,class CRNumber * __ptr64)
-?CRHatchForwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
-; class CRImage * __ptr64 __cdecl CRHatchHorizontal(class CRColor * __ptr64,double)
-?CRHatchHorizontal@@YAPEAVCRImage@@PEAVCRColor@@N@Z
-; class CRImage * __ptr64 __cdecl CRHatchHorizontal(class CRColor * __ptr64,class CRNumber * __ptr64)
-?CRHatchHorizontal@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
-; class CRImage * __ptr64 __cdecl CRHatchVertical(class CRColor * __ptr64,double)
-?CRHatchVertical@@YAPEAVCRImage@@PEAVCRColor@@N@Z
-; class CRImage * __ptr64 __cdecl CRHatchVertical(class CRColor * __ptr64,class CRNumber * __ptr64)
-?CRHatchVertical@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
-; class CRBvr * __ptr64 __cdecl CRHook(class CRBvr * __ptr64,class CRBvrHook * __ptr64)
-?CRHook@@YAPEAVCRBvr@@PEAV1@PEAVCRBvrHook@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRIdentityTransform2(void)
-?CRIdentityTransform2@@YAPEAVCRTransform2@@XZ
-; class CRTransform3 * __ptr64 __cdecl CRIdentityTransform3(void)
-?CRIdentityTransform3@@YAPEAVCRTransform3@@XZ
-; class CRMontage * __ptr64 __cdecl CRImageMontage(class CRImage * __ptr64,double)
-?CRImageMontage@@YAPEAVCRMontage@@PEAVCRImage@@N@Z
-; class CRMontage * __ptr64 __cdecl CRImageMontageAnim(class CRImage * __ptr64,class CRNumber * __ptr64)
-?CRImageMontageAnim@@YAPEAVCRMontage@@PEAVCRImage@@PEAVCRNumber@@@Z
-; class CRImage * __ptr64 __cdecl CRImageQuality(class CRImage * __ptr64,unsigned long)
-?CRImageQuality@@YAPEAVCRImage@@PEAV1@K@Z
-; bool __cdecl CRImportCancel(class CRBvr * __ptr64)
-?CRImportCancel@@YA_NPEAVCRBvr@@@Z
-; class CRGeometry * __ptr64 __cdecl CRImportDirect3DRMVisual(struct IUnknown * __ptr64)
-?CRImportDirect3DRMVisual@@YAPEAVCRGeometry@@PEAUIUnknown@@@Z
-; class CRGeometry * __ptr64 __cdecl CRImportDirect3DRMVisualWrapped(struct IUnknown * __ptr64,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
-?CRImportDirect3DRMVisualWrapped@@YAPEAVCRGeometry@@PEAUIUnknown@@JNNNNNNNNNNNNNK@Z
-; class CRImage * __ptr64 __cdecl CRImportDirectDrawSurface(struct IUnknown * __ptr64,class CREvent * __ptr64)
-?CRImportDirectDrawSurface@@YAPEAVCRImage@@PEAUIUnknown@@PEAVCREvent@@@Z
-; unsigned long __cdecl CRImportGeometry(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,class CRGeometry * __ptr64,class CRGeometry * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
-?CRImportGeometry@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@PEAVCRGeometry@@PEAPEAV3@PEAPEAVCREvent@@PEAPEAVCRNumber@@6@Z
-; unsigned long __cdecl CRImportGeometryWrapped(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,class CRGeometry * __ptr64,class CRGeometry * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
-?CRImportGeometryWrapped@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@PEAVCRGeometry@@PEAPEAV3@PEAPEAVCREvent@@PEAPEAVCRNumber@@6JNNNNNNNNNNNNNK@Z
-; unsigned long __cdecl CRImportImage(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,bool,unsigned char,unsigned char,unsigned char,class CRImage * __ptr64,class CRImage * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
-?CRImportImage@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@_NEEEPEAVCRImage@@PEAPEAV3@PEAPEAVCREvent@@PEAPEAVCRNumber@@7@Z
-; class CRImportationResult * __ptr64 __cdecl CRImportMedia(unsigned short * __ptr64,void * __ptr64,enum CR_MEDIA_SOURCE,void * __ptr64 * __ptr64 const,unsigned long,class CRImportSite * __ptr64)
-?CRImportMedia@@YAPEAVCRImportationResult@@PEAGPEAXW4CR_MEDIA_SOURCE@@QEAPEAXKPEAVCRImportSite@@@Z
-; unsigned long __cdecl CRImportMovie(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,bool,class CRImage * __ptr64,class CRSound * __ptr64,class CRImage * __ptr64 * __ptr64,class CRSound * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
-?CRImportMovie@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@_NPEAVCRImage@@PEAVCRSound@@PEAPEAV3@PEAPEAV4@PEAPEAVCRNumber@@PEAPEAVCREvent@@88@Z
-; unsigned long __cdecl CRImportSound(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,bool,class CRSound * __ptr64,class CRSound * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
-?CRImportSound@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@_NPEAVCRSound@@PEAPEAV3@PEAPEAVCRNumber@@PEAPEAVCREvent@@66@Z
-; long __cdecl CRImportStatus(class CRBvr * __ptr64)
-?CRImportStatus@@YAJPEAVCRBvr@@@Z
-; class CRBvr * __ptr64 __cdecl CRImportance(class CRBvr * __ptr64,double)
-?CRImportance@@YAPEAVCRBvr@@PEAV1@N@Z
-; bool __cdecl CRInit(class CRBvr * __ptr64,class CRBvr * __ptr64)
-?CRInit@@YA_NPEAVCRBvr@@0@Z
-; class CRNumber * __ptr64 __cdecl CRIntegral(class CRNumber * __ptr64)
-?CRIntegral@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRVector2 * __ptr64 __cdecl CRIntegral(class CRVector2 * __ptr64)
-?CRIntegral@@YAPEAVCRVector2@@PEAV1@@Z
-; class CRVector3 * __ptr64 __cdecl CRIntegral(class CRVector3 * __ptr64)
-?CRIntegral@@YAPEAVCRVector3@@PEAV1@@Z
-; class CRNumber * __ptr64 __cdecl CRInterpolate(double,double,double)
-?CRInterpolate@@YAPEAVCRNumber@@NNN@Z
-; class CRNumber * __ptr64 __cdecl CRInterpolate(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRInterpolate@@YAPEAVCRNumber@@PEAV1@00@Z
-; class CRMatte * __ptr64 __cdecl CRIntersectMatte(class CRMatte * __ptr64,class CRMatte * __ptr64)
-?CRIntersectMatte@@YAPEAVCRMatte@@PEAV1@0@Z
-; class CRTransform2 * __ptr64 __cdecl CRInverse(class CRTransform2 * __ptr64)
-?CRInverse@@YAPEAVCRTransform2@@PEAV1@@Z
-; class CRTransform3 * __ptr64 __cdecl CRInverse(class CRTransform3 * __ptr64)
-?CRInverse@@YAPEAVCRTransform3@@PEAV1@@Z
-; bool __cdecl CRIsConnected(struct HINSTANCE__ * __ptr64)
-?CRIsConnected@@YA_NPEAUHINSTANCE__@@@Z
-; bool __cdecl CRIsConstantBvr(class CRBvr * __ptr64)
-?CRIsConstantBvr@@YA_NPEAVCRBvr@@@Z
-; bool __cdecl CRIsImport(class CRBvr * __ptr64)
-?CRIsImport@@YA_NPEAVCRBvr@@@Z
-; bool __cdecl CRIsModifiableBvr(class CRBvr * __ptr64)
-?CRIsModifiableBvr@@YA_NPEAVCRBvr@@@Z
-; bool __cdecl CRIsReady(class CRBvr * __ptr64,bool)
-?CRIsReady@@YA_NPEAVCRBvr@@_N@Z
-; class CRBoolean * __ptr64 __cdecl CRIsSingular(class CRTransform2 * __ptr64)
-?CRIsSingular@@YAPEAVCRBoolean@@PEAVCRTransform2@@@Z
-; class CRBoolean * __ptr64 __cdecl CRIsSingular(class CRTransform3 * __ptr64)
-?CRIsSingular@@YAPEAVCRBoolean@@PEAVCRTransform3@@@Z
-; class CRFontStyle * __ptr64 __cdecl CRItalic(class CRFontStyle * __ptr64)
-?CRItalic@@YAPEAVCRFontStyle@@PEAV1@@Z
-; class CRLineStyle * __ptr64 __cdecl CRJoin(class CRLineStyle * __ptr64,class CRJoinStyle * __ptr64)
-?CRJoin@@YAPEAVCRLineStyle@@PEAV1@PEAVCRJoinStyle@@@Z
-; class CRLineStyle * __ptr64 __cdecl CRJoinEx(class CRLineStyle * __ptr64,unsigned long)
-?CRJoinEx@@YAPEAVCRLineStyle@@PEAV1@K@Z
-; class CRJoinStyle * __ptr64 __cdecl CRJoinStyleBevel(void)
-?CRJoinStyleBevel@@YAPEAVCRJoinStyle@@XZ
-; class CRJoinStyle * __ptr64 __cdecl CRJoinStyleMiter(void)
-?CRJoinStyleMiter@@YAPEAVCRJoinStyle@@XZ
-; class CRJoinStyle * __ptr64 __cdecl CRJoinStyleRound(void)
-?CRJoinStyleRound@@YAPEAVCRJoinStyle@@XZ
-; class CREvent * __ptr64 __cdecl CRKeyDown(long)
-?CRKeyDown@@YAPEAVCREvent@@J@Z
-; class CRBoolean * __ptr64 __cdecl CRKeyState(class CRNumber * __ptr64)
-?CRKeyState@@YAPEAVCRBoolean@@PEAVCRNumber@@@Z
-; class CREvent * __ptr64 __cdecl CRKeyUp(long)
-?CRKeyUp@@YAPEAVCREvent@@J@Z
-; class CRBoolean * __ptr64 __cdecl CRLT(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRLT@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
-; class CRBoolean * __ptr64 __cdecl CRLTE(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRLTE@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
-; class CREvent * __ptr64 __cdecl CRLeftButtonDown(void)
-?CRLeftButtonDown@@YAPEAVCREvent@@XZ
-; class CRBoolean * __ptr64 __cdecl CRLeftButtonState(void)
-?CRLeftButtonState@@YAPEAVCRBoolean@@XZ
-; class CREvent * __ptr64 __cdecl CRLeftButtonUp(void)
-?CRLeftButtonUp@@YAPEAVCREvent@@XZ
-; long __cdecl CRLength(class CRTuple * __ptr64)
-?CRLength@@YAJPEAVCRTuple@@@Z
-; class CRNumber * __ptr64 __cdecl CRLength(class CRArray * __ptr64)
-?CRLength@@YAPEAVCRNumber@@PEAVCRArray@@@Z
-; class CRNumber * __ptr64 __cdecl CRLength(class CRVector2 * __ptr64)
-?CRLength@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
-; class CRNumber * __ptr64 __cdecl CRLength(class CRVector3 * __ptr64)
-?CRLength@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
-; class CRNumber * __ptr64 __cdecl CRLengthSquared(class CRVector2 * __ptr64)
-?CRLengthSquared@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
-; class CRNumber * __ptr64 __cdecl CRLengthSquared(class CRVector3 * __ptr64)
-?CRLengthSquared@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
-; class CRGeometry * __ptr64 __cdecl CRLightAttenuation(class CRGeometry * __ptr64,double,double,double)
-?CRLightAttenuation@@YAPEAVCRGeometry@@PEAV1@NNN@Z
-; class CRGeometry * __ptr64 __cdecl CRLightAttenuation(class CRGeometry * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRLightAttenuation@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@11@Z
-; class CRGeometry * __ptr64 __cdecl CRLightColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
-?CRLightColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
-; class CRGeometry * __ptr64 __cdecl CRLightRange(class CRGeometry * __ptr64,double)
-?CRLightRange@@YAPEAVCRGeometry@@PEAV1@N@Z
-; class CRGeometry * __ptr64 __cdecl CRLightRange(class CRGeometry * __ptr64,class CRNumber * __ptr64)
-?CRLightRange@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@@Z
-; class CRGeometry * __ptr64 __cdecl CRLighting(class CRGeometry * __ptr64,class CRBoolean * __ptr64)
-?CRLighting@@YAPEAVCRGeometry@@PEAV1@PEAVCRBoolean@@@Z
-; class CRColor * __ptr64 __cdecl CRLime(void)
-?CRLime@@YAPEAVCRColor@@XZ
-; class CRPath2 * __ptr64 __cdecl CRLine(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
-?CRLine@@YAPEAVCRPath2@@PEAVCRPoint2@@0@Z
-; class CRLineStyle * __ptr64 __cdecl CRLineColor(class CRLineStyle * __ptr64,class CRColor * __ptr64)
-?CRLineColor@@YAPEAVCRLineStyle@@PEAV1@PEAVCRColor@@@Z
-; class CRImage * __ptr64 __cdecl CRLinearGradientMulticolor(class CRArray * __ptr64,class CRArray * __ptr64)
-?CRLinearGradientMulticolor@@YAPEAVCRImage@@PEAVCRArray@@0@Z
-; class CRNumber * __ptr64 __cdecl CRLn(class CRNumber * __ptr64)
-?CRLn@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRNumber * __ptr64 __cdecl CRLocalTime(void)
-?CRLocalTime@@YAPEAVCRNumber@@XZ
-; class CRNumber * __ptr64 __cdecl CRLog10(class CRNumber * __ptr64)
-?CRLog10@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRTransform3 * __ptr64 __cdecl CRLookAtFrom(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
-?CRLookAtFrom@@YAPEAVCRTransform3@@PEAVCRPoint3@@0PEAVCRVector3@@@Z
-; class CRSound * __ptr64 __cdecl CRLoop(class CRSound * __ptr64)
-?CRLoop@@YAPEAVCRSound@@PEAV1@@Z
-; class CRColor * __ptr64 __cdecl CRMagenta(void)
-?CRMagenta@@YAPEAVCRColor@@XZ
-; class CRImage * __ptr64 __cdecl CRMapToUnitSquare(class CRImage * __ptr64)
-?CRMapToUnitSquare@@YAPEAVCRImage@@PEAV1@@Z
-; class CRColor * __ptr64 __cdecl CRMaroon(void)
-?CRMaroon@@YAPEAVCRColor@@XZ
-; class CRPoint2 * __ptr64 __cdecl CRMax(class CRBbox2 * __ptr64)
-?CRMax@@YAPEAVCRPoint2@@PEAVCRBbox2@@@Z
-; class CRPoint3 * __ptr64 __cdecl CRMax(class CRBbox3 * __ptr64)
-?CRMax@@YAPEAVCRPoint3@@PEAVCRBbox3@@@Z
-; class CRPoint2 * __ptr64 __cdecl CRMin(class CRBbox2 * __ptr64)
-?CRMin@@YAPEAVCRPoint2@@PEAVCRBbox2@@@Z
-; class CRPoint3 * __ptr64 __cdecl CRMin(class CRBbox3 * __ptr64)
-?CRMin@@YAPEAVCRPoint3@@PEAVCRBbox3@@@Z
-; class CRLineStyle * __ptr64 __cdecl CRMiterLimit(class CRLineStyle * __ptr64,double)
-?CRMiterLimit@@YAPEAVCRLineStyle@@PEAV1@N@Z
-; class CRLineStyle * __ptr64 __cdecl CRMiterLimit(class CRLineStyle * __ptr64,class CRNumber * __ptr64)
-?CRMiterLimit@@YAPEAVCRLineStyle@@PEAV1@PEAVCRNumber@@@Z
-; class CRSound * __ptr64 __cdecl CRMix(class CRSound * __ptr64,class CRSound * __ptr64)
-?CRMix@@YAPEAVCRSound@@PEAV1@0@Z
-; class CRSound * __ptr64 __cdecl CRMix(class CRArray * __ptr64)
-?CRMix@@YAPEAVCRSound@@PEAVCRArray@@@Z
-; class CRNumber * __ptr64 __cdecl CRMod(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRMod@@YAPEAVCRNumber@@PEAV1@0@Z
-; class CRGeometry * __ptr64 __cdecl CRModelClip(class CRGeometry * __ptr64,class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
-?CRModelClip@@YAPEAVCRGeometry@@PEAV1@PEAVCRPoint3@@PEAVCRVector3@@@Z
-; class CRBvr * __ptr64 __cdecl CRModifiableBvr(class CRBvr * __ptr64,unsigned long)
-?CRModifiableBvr@@YAPEAVCRBvr@@PEAV1@K@Z
-; class CRNumber * __ptr64 __cdecl CRModifiableNumber(double)
-?CRModifiableNumber@@YAPEAVCRNumber@@N@Z
-; class CRString * __ptr64 __cdecl CRModifiableString(unsigned short * __ptr64)
-?CRModifiableString@@YAPEAVCRString@@PEAG@Z
-; class CRPoint2 * __ptr64 __cdecl CRMousePosition(void)
-?CRMousePosition@@YAPEAVCRPoint2@@XZ
-; class CRNumber * __ptr64 __cdecl CRMul(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRMul@@YAPEAVCRNumber@@PEAV1@0@Z
-; class CRVector2 * __ptr64 __cdecl CRMul(class CRVector2 * __ptr64,double)
-?CRMul@@YAPEAVCRVector2@@PEAV1@N@Z
-; class CRVector2 * __ptr64 __cdecl CRMul(class CRVector2 * __ptr64,class CRNumber * __ptr64)
-?CRMul@@YAPEAVCRVector2@@PEAV1@PEAVCRNumber@@@Z
-; class CRVector3 * __ptr64 __cdecl CRMul(class CRVector3 * __ptr64,double)
-?CRMul@@YAPEAVCRVector3@@PEAV1@N@Z
-; class CRVector3 * __ptr64 __cdecl CRMul(class CRVector3 * __ptr64,class CRNumber * __ptr64)
-?CRMul@@YAPEAVCRVector3@@PEAV1@PEAVCRNumber@@@Z
-; class CRBoolean * __ptr64 __cdecl CRNE(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRNE@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
-; class CRColor * __ptr64 __cdecl CRNavy(void)
-?CRNavy@@YAPEAVCRColor@@XZ
-; class CRNumber * __ptr64 __cdecl CRNeg(class CRNumber * __ptr64)
-?CRNeg@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRVector2 * __ptr64 __cdecl CRNeg(class CRVector2 * __ptr64)
-?CRNeg@@YAPEAVCRVector2@@PEAV1@@Z
-; class CRVector3 * __ptr64 __cdecl CRNeg(class CRVector3 * __ptr64)
-?CRNeg@@YAPEAVCRVector3@@PEAV1@@Z
-; class CREvent * __ptr64 __cdecl CRNever(void)
-?CRNever@@YAPEAVCREvent@@XZ
-; class CRVector2 * __ptr64 __cdecl CRNormalize(class CRVector2 * __ptr64)
-?CRNormalize@@YAPEAVCRVector2@@PEAV1@@Z
-; class CRVector3 * __ptr64 __cdecl CRNormalize(class CRVector3 * __ptr64)
-?CRNormalize@@YAPEAVCRVector3@@PEAV1@@Z
-; class CRBoolean * __ptr64 __cdecl CRNot(class CRBoolean * __ptr64)
-?CRNot@@YAPEAVCRBoolean@@PEAV1@@Z
-; class CREvent * __ptr64 __cdecl CRNotEvent(class CREvent * __ptr64)
-?CRNotEvent@@YAPEAVCREvent@@PEAV1@@Z
-; class CREvent * __ptr64 __cdecl CRNotify(class CREvent * __ptr64,class CRUntilNotifier * __ptr64)
-?CRNotify@@YAPEAVCREvent@@PEAV1@PEAVCRUntilNotifier@@@Z
-; class CRBvr * __ptr64 __cdecl CRNth(class CRArray * __ptr64,class CRNumber * __ptr64)
-?CRNth@@YAPEAVCRBvr@@PEAVCRArray@@PEAVCRNumber@@@Z
-; class CRBvr * __ptr64 __cdecl CRNth(class CRTuple * __ptr64,long)
-?CRNth@@YAPEAVCRBvr@@PEAVCRTuple@@J@Z
-; class CRColor * __ptr64 __cdecl CROlive(void)
-?CROlive@@YAPEAVCRColor@@XZ
-; bool __cdecl CROnFocus(class CRView * __ptr64,bool)
-?CROnFocus@@YA_NPEAVCRView@@_N@Z
-; bool __cdecl CROnKey(class CRView * __ptr64,double,long,bool,unsigned char)
-?CROnKey@@YA_NPEAVCRView@@NJ_NE@Z
-; bool __cdecl CROnMouseButton(class CRView * __ptr64,double,long,long,unsigned char,bool,unsigned char)
-?CROnMouseButton@@YA_NPEAVCRView@@NJJE_NE@Z
-; bool __cdecl CROnMouseLeave(class CRView * __ptr64,double)
-?CROnMouseLeave@@YA_NPEAVCRView@@N@Z
-; bool __cdecl CROnMouseMove(class CRView * __ptr64,double,long,long,unsigned char)
-?CROnMouseMove@@YA_NPEAVCRView@@NJJE@Z
-; class CRGeometry * __ptr64 __cdecl CROpacity(class CRGeometry * __ptr64,double)
-?CROpacity@@YAPEAVCRGeometry@@PEAV1@N@Z
-; class CRGeometry * __ptr64 __cdecl CROpacity(class CRGeometry * __ptr64,class CRNumber * __ptr64)
-?CROpacity@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@@Z
-; class CRImage * __ptr64 __cdecl CROpacity(class CRImage * __ptr64,double)
-?CROpacity@@YAPEAVCRImage@@PEAV1@N@Z
-; class CRImage * __ptr64 __cdecl CROpacity(class CRImage * __ptr64,class CRNumber * __ptr64)
-?CROpacity@@YAPEAVCRImage@@PEAV1@PEAVCRNumber@@@Z
-; class CRMatte * __ptr64 __cdecl CROpaqueMatte(void)
-?CROpaqueMatte@@YAPEAVCRMatte@@XZ
-; class CRBoolean * __ptr64 __cdecl CROr(class CRBoolean * __ptr64,class CRBoolean * __ptr64)
-?CROr@@YAPEAVCRBoolean@@PEAV1@0@Z
-; class CREvent * __ptr64 __cdecl CROrEvent(class CREvent * __ptr64,class CREvent * __ptr64)
-?CROrEvent@@YAPEAVCREvent@@PEAV1@0@Z
-; class CRPoint2 * __ptr64 __cdecl CROrigin2(void)
-?CROrigin2@@YAPEAVCRPoint2@@XZ
-; class CRPoint3 * __ptr64 __cdecl CROrigin3(void)
-?CROrigin3@@YAPEAVCRPoint3@@XZ
-; class CRPath2 * __ptr64 __cdecl CROval(double,double)
-?CROval@@YAPEAVCRPath2@@NN@Z
-; class CRPath2 * __ptr64 __cdecl CROval(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CROval@@YAPEAVCRPath2@@PEAVCRNumber@@0@Z
-; class CRImage * __ptr64 __cdecl CROverlay(class CRImage * __ptr64,class CRImage * __ptr64)
-?CROverlay@@YAPEAVCRImage@@PEAV1@0@Z
-; class CRImage * __ptr64 __cdecl CROverlay(class CRArray * __ptr64)
-?CROverlay@@YAPEAVCRImage@@PEAVCRArray@@@Z
-; class CRSound * __ptr64 __cdecl CRPan(class CRSound * __ptr64,double)
-?CRPan@@YAPEAVCRSound@@PEAV1@N@Z
-; class CRSound * __ptr64 __cdecl CRPan(class CRSound * __ptr64,class CRNumber * __ptr64)
-?CRPan@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
-; class CRCamera * __ptr64 __cdecl CRParallelCamera(double)
-?CRParallelCamera@@YAPEAVCRCamera@@N@Z
-; class CRCamera * __ptr64 __cdecl CRParallelCameraAnim(class CRNumber * __ptr64)
-?CRParallelCameraAnim@@YAPEAVCRCamera@@PEAVCRNumber@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRParallelTransform2(class CRTransform3 * __ptr64)
-?CRParallelTransform2@@YAPEAVCRTransform2@@PEAVCRTransform3@@@Z
-; bool __cdecl CRPauseModel(class CRView * __ptr64)
-?CRPauseModel@@YA_NPEAVCRView@@@Z
-; class CRCamera * __ptr64 __cdecl CRPerspectiveCamera(double,double)
-?CRPerspectiveCamera@@YAPEAVCRCamera@@NN@Z
-; class CRCamera * __ptr64 __cdecl CRPerspectiveCameraAnim(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRPerspectiveCameraAnim@@YAPEAVCRCamera@@PEAVCRNumber@@0@Z
-; class CRSound * __ptr64 __cdecl CRPhase(class CRSound * __ptr64,double)
-?CRPhase@@YAPEAVCRSound@@PEAV1@N@Z
-; class CRSound * __ptr64 __cdecl CRPhase(class CRSound * __ptr64,class CRNumber * __ptr64)
-?CRPhase@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
-; class CRPickableResult * __ptr64 __cdecl CRPickable(class CRGeometry * __ptr64)
-?CRPickable@@YAPEAVCRPickableResult@@PEAVCRGeometry@@@Z
-; class CRPickableResult * __ptr64 __cdecl CRPickable(class CRImage * __ptr64)
-?CRPickable@@YAPEAVCRPickableResult@@PEAVCRImage@@@Z
-; class CRPickableResult * __ptr64 __cdecl CRPickableOccluded(class CRGeometry * __ptr64)
-?CRPickableOccluded@@YAPEAVCRPickableResult@@PEAVCRGeometry@@@Z
-; class CRPickableResult * __ptr64 __cdecl CRPickableOccluded(class CRImage * __ptr64)
-?CRPickableOccluded@@YAPEAVCRPickableResult@@PEAVCRImage@@@Z
-; class CRPath2 * __ptr64 __cdecl CRPie(double,double,double,double)
-?CRPie@@YAPEAVCRPath2@@NNNN@Z
-; class CRPath2 * __ptr64 __cdecl CRPieRadians(double,double,double,double)
-?CRPieRadians@@YAPEAVCRPath2@@NNNN@Z
-; class CRPath2 * __ptr64 __cdecl CRPieRadians(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRPieRadians@@YAPEAVCRPath2@@PEAVCRNumber@@000@Z
-; class CRNumber * __ptr64 __cdecl CRPixel(void)
-?CRPixel@@YAPEAVCRNumber@@XZ
-; class CRPoint2 * __ptr64 __cdecl CRPoint2Polar(double,double)
-?CRPoint2Polar@@YAPEAVCRPoint2@@NN@Z
-; class CRPoint2 * __ptr64 __cdecl CRPoint2Polar(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRPoint2Polar@@YAPEAVCRPoint2@@PEAVCRNumber@@0@Z
-; class CRPoint3 * __ptr64 __cdecl CRPoint3Spherical(double,double,double)
-?CRPoint3Spherical@@YAPEAVCRPoint3@@NNN@Z
-; class CRPoint3 * __ptr64 __cdecl CRPoint3Spherical(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRPoint3Spherical@@YAPEAVCRPoint3@@PEAVCRNumber@@00@Z
-; class CRGeometry * __ptr64 __cdecl CRPointLight(void)
-?CRPointLight@@YAPEAVCRGeometry@@XZ
-; class CRNumber * __ptr64 __cdecl CRPolarCoordAngle(class CRPoint2 * __ptr64)
-?CRPolarCoordAngle@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
-; class CRNumber * __ptr64 __cdecl CRPolarCoordAngle(class CRVector2 * __ptr64)
-?CRPolarCoordAngle@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
-; class CRNumber * __ptr64 __cdecl CRPolarCoordLength(class CRPoint2 * __ptr64)
-?CRPolarCoordLength@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
-; class CRNumber * __ptr64 __cdecl CRPolarCoordLength(class CRVector2 * __ptr64)
-?CRPolarCoordLength@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
-; class CRPath2 * __ptr64 __cdecl CRPolydrawPath(double * __ptr64,unsigned int,double * __ptr64,unsigned int)
-?CRPolydrawPath@@YAPEAVCRPath2@@PEANI0I@Z
-; class CRPath2 * __ptr64 __cdecl CRPolydrawPath(class CRArray * __ptr64,class CRArray * __ptr64)
-?CRPolydrawPath@@YAPEAVCRPath2@@PEAVCRArray@@0@Z
-; class CRPath2 * __ptr64 __cdecl CRPolyline(class CRArray * __ptr64)
-?CRPolyline@@YAPEAVCRPath2@@PEAVCRArray@@@Z
-; class CRNumber * __ptr64 __cdecl CRPow(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRPow@@YAPEAVCRNumber@@PEAV1@0@Z
-; class CREvent * __ptr64 __cdecl CRPredicate(class CRBoolean * __ptr64)
-?CRPredicate@@YAPEAVCREvent@@PEAVCRBoolean@@@Z
-; class CRPoint2 * __ptr64 __cdecl CRProject(class CRPoint3 * __ptr64,class CRCamera * __ptr64)
-?CRProject@@YAPEAVCRPoint2@@PEAVCRPoint3@@PEAVCRCamera@@@Z
-; bool __cdecl CRPropagate(class CRView * __ptr64)
-?CRPropagate@@YA_NPEAVCRView@@@Z
-; class CRColor * __ptr64 __cdecl CRPurple(void)
-?CRPurple@@YAPEAVCRColor@@XZ
-; bool __cdecl CRPutPreference(class CRView * __ptr64,unsigned short * __ptr64,struct tagVARIANT)
-?CRPutPreference@@YA_NPEAVCRView@@PEAGUtagVARIANT@@@Z
-; unsigned long __cdecl CRQueryHitPoint(class CRView * __ptr64,unsigned long,struct tagRECT const * __ptr64,struct tagPOINT,long)
-?CRQueryHitPoint@@YAKPEAVCRView@@KPEBUtagRECT@@UtagPOINT@@J@Z
-; long __cdecl CRQueryHitPointEx(class CRView * __ptr64,long,unsigned __int64 * __ptr64,double * __ptr64,struct tagRECT const * __ptr64,struct tagPOINT)
-?CRQueryHitPointEx@@YAJPEAVCRView@@JPEA_KPEANPEBUtagRECT@@UtagPOINT@@@Z
-; class CRImage * __ptr64 __cdecl CRRadialGradientMulticolor(class CRArray * __ptr64,class CRArray * __ptr64)
-?CRRadialGradientMulticolor@@YAPEAVCRImage@@PEAVCRArray@@0@Z
-; class CRImage * __ptr64 __cdecl CRRadialGradientPolygon(class CRColor * __ptr64,class CRColor * __ptr64,class CRArray * __ptr64,double)
-?CRRadialGradientPolygon@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRArray@@N@Z
-; class CRImage * __ptr64 __cdecl CRRadialGradientPolygon(class CRColor * __ptr64,class CRColor * __ptr64,class CRArray * __ptr64,class CRNumber * __ptr64)
-?CRRadialGradientPolygon@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRArray@@PEAVCRNumber@@@Z
-; class CRImage * __ptr64 __cdecl CRRadialGradientRegularPoly(class CRColor * __ptr64,class CRColor * __ptr64,double,double)
-?CRRadialGradientRegularPoly@@YAPEAVCRImage@@PEAVCRColor@@0NN@Z
-; class CRImage * __ptr64 __cdecl CRRadialGradientRegularPoly(class CRColor * __ptr64,class CRColor * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRRadialGradientRegularPoly@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRNumber@@1@Z
-; class CRImage * __ptr64 __cdecl CRRadialGradientSquare(class CRColor * __ptr64,class CRColor * __ptr64,double)
-?CRRadialGradientSquare@@YAPEAVCRImage@@PEAVCRColor@@0N@Z
-; class CRImage * __ptr64 __cdecl CRRadialGradientSquare(class CRColor * __ptr64,class CRColor * __ptr64,class CRNumber * __ptr64)
-?CRRadialGradientSquare@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRNumber@@@Z
-; class CRSound * __ptr64 __cdecl CRRate(class CRSound * __ptr64,double)
-?CRRate@@YAPEAVCRSound@@PEAV1@N@Z
-; class CRSound * __ptr64 __cdecl CRRate(class CRSound * __ptr64,class CRNumber * __ptr64)
-?CRRate@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
-; class CRPath2 * __ptr64 __cdecl CRRay(class CRPoint2 * __ptr64)
-?CRRay@@YAPEAVCRPath2@@PEAVCRPoint2@@@Z
-; class CRPath2 * __ptr64 __cdecl CRRect(double,double)
-?CRRect@@YAPEAVCRPath2@@NN@Z
-; class CRPath2 * __ptr64 __cdecl CRRect(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRRect@@YAPEAVCRPath2@@PEAVCRNumber@@0@Z
-; class CRColor * __ptr64 __cdecl CRRed(void)
-?CRRed@@YAPEAVCRColor@@XZ
-; bool __cdecl CRReleaseGC(void * __ptr64)
-?CRReleaseGC@@YA_NPEAX@Z
-; bool __cdecl CRReleaseGCLock(void)
-?CRReleaseGCLock@@YA_NXZ
-; bool __cdecl CRRemoveElement(class CRArray * __ptr64,long)
-?CRRemoveElement@@YA_NPEAVCRArray@@J@Z
-; bool __cdecl CRRemoveRunningBvr(class CRView * __ptr64,long)
-?CRRemoveRunningBvr@@YA_NPEAVCRView@@J@Z
-; bool __cdecl CRRemoveSite(class CRSite * __ptr64)
-?CRRemoveSite@@YA_NPEAVCRSite@@@Z
-; class CRImage * __ptr64 __cdecl CRRender(class CRGeometry * __ptr64,class CRCamera * __ptr64)
-?CRRender@@YAPEAVCRImage@@PEAVCRGeometry@@PEAVCRCamera@@@Z
-; class CRImage * __ptr64 __cdecl CRRender(class CRMontage * __ptr64)
-?CRRender@@YAPEAVCRImage@@PEAVCRMontage@@@Z
-; bool __cdecl CRRender(class CRView * __ptr64)
-?CRRender@@YA_NPEAVCRView@@@Z
-; class CRImage * __ptr64 __cdecl CRRenderResolution(class CRImage * __ptr64,long,long)
-?CRRenderResolution@@YAPEAVCRImage@@PEAV1@JJ@Z
-; class CRSound * __ptr64 __cdecl CRRenderSound(class CRGeometry * __ptr64,class CRMicrophone * __ptr64)
-?CRRenderSound@@YAPEAVCRSound@@PEAVCRGeometry@@PEAVCRMicrophone@@@Z
-; bool __cdecl CRRepaint(class CRView * __ptr64,long,long,long,long)
-?CRRepaint@@YA_NPEAVCRView@@JJJJ@Z
-; class CRBvr * __ptr64 __cdecl CRRepeat(class CRBvr * __ptr64,long)
-?CRRepeat@@YAPEAVCRBvr@@PEAV1@J@Z
-; class CRBvr * __ptr64 __cdecl CRRepeatForever(class CRBvr * __ptr64)
-?CRRepeatForever@@YAPEAVCRBvr@@PEAV1@@Z
-; bool __cdecl CRResumeModel(class CRView * __ptr64)
-?CRResumeModel@@YA_NPEAVCRView@@@Z
-; class CREvent * __ptr64 __cdecl CRRightButtonDown(void)
-?CRRightButtonDown@@YAPEAVCREvent@@XZ
-; class CRBoolean * __ptr64 __cdecl CRRightButtonState(void)
-?CRRightButtonState@@YAPEAVCRBoolean@@XZ
-; class CREvent * __ptr64 __cdecl CRRightButtonUp(void)
-?CRRightButtonUp@@YAPEAVCREvent@@XZ
-; class CRTransform2 * __ptr64 __cdecl CRRotate2(double)
-?CRRotate2@@YAPEAVCRTransform2@@N@Z
-; class CRTransform2 * __ptr64 __cdecl CRRotate2(class CRNumber * __ptr64)
-?CRRotate2@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRRotate2Degrees(double)
-?CRRotate2Degrees@@YAPEAVCRTransform2@@N@Z
-; class CRTransform3 * __ptr64 __cdecl CRRotate3(class CRVector3 * __ptr64,double)
-?CRRotate3@@YAPEAVCRTransform3@@PEAVCRVector3@@N@Z
-; class CRTransform3 * __ptr64 __cdecl CRRotate3(class CRVector3 * __ptr64,class CRNumber * __ptr64)
-?CRRotate3@@YAPEAVCRTransform3@@PEAVCRVector3@@PEAVCRNumber@@@Z
-; class CRNumber * __ptr64 __cdecl CRRound(class CRNumber * __ptr64)
-?CRRound@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRPath2 * __ptr64 __cdecl CRRoundRect(double,double,double,double)
-?CRRoundRect@@YAPEAVCRPath2@@NNNN@Z
-; class CRPath2 * __ptr64 __cdecl CRRoundRect(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRRoundRect@@YAPEAVCRPath2@@PEAVCRNumber@@000@Z
-; class CRBvr * __ptr64 __cdecl CRRunOnce(class CRBvr * __ptr64)
-?CRRunOnce@@YAPEAVCRBvr@@PEAV1@@Z
-; class CRBvr * __ptr64 __cdecl CRSampleAtLocalTime(class CRBvr * __ptr64,double)
-?CRSampleAtLocalTime@@YAPEAVCRBvr@@PEAV1@N@Z
-; class CRTransform2 * __ptr64 __cdecl CRScale2(double,double)
-?CRScale2@@YAPEAVCRTransform2@@NN@Z
-; class CRTransform2 * __ptr64 __cdecl CRScale2(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRScale2@@YAPEAVCRTransform2@@PEAVCRNumber@@0@Z
-; class CRTransform2 * __ptr64 __cdecl CRScale2(class CRVector2 * __ptr64)
-?CRScale2@@YAPEAVCRTransform2@@PEAVCRVector2@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRScale2Uniform(double)
-?CRScale2Uniform@@YAPEAVCRTransform2@@N@Z
-; class CRTransform2 * __ptr64 __cdecl CRScale2Uniform(class CRNumber * __ptr64)
-?CRScale2Uniform@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
-; class CRTransform3 * __ptr64 __cdecl CRScale3(double,double,double)
-?CRScale3@@YAPEAVCRTransform3@@NNN@Z
-; class CRTransform3 * __ptr64 __cdecl CRScale3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRScale3@@YAPEAVCRTransform3@@PEAVCRNumber@@00@Z
-; class CRTransform3 * __ptr64 __cdecl CRScale3(class CRVector3 * __ptr64)
-?CRScale3@@YAPEAVCRTransform3@@PEAVCRVector3@@@Z
-; class CRTransform3 * __ptr64 __cdecl CRScale3Uniform(double)
-?CRScale3Uniform@@YAPEAVCRTransform3@@N@Z
-; class CRTransform3 * __ptr64 __cdecl CRScale3Uniform(class CRNumber * __ptr64)
-?CRScale3Uniform@@YAPEAVCRTransform3@@PEAVCRNumber@@@Z
-; class CRBvr * __ptr64 __cdecl CRSecond(class CRPair * __ptr64)
-?CRSecond@@YAPEAVCRBvr@@PEAVCRPair@@@Z
-; class CRNumber * __ptr64 __cdecl CRSeededRandom(double)
-?CRSeededRandom@@YAPEAVCRNumber@@N@Z
-; class CRBvr * __ptr64 __cdecl CRSequence(class CRBvr * __ptr64,class CRBvr * __ptr64)
-?CRSequence@@YAPEAVCRBvr@@PEAV1@0@Z
-; class CRBvr * __ptr64 __cdecl CRSequenceArray(long,class CRBvr * __ptr64 * __ptr64 const)
-?CRSequenceArray@@YAPEAVCRBvr@@JQEAPEAV1@@Z
-; bool __cdecl CRSetBvrAsProperty(class CRDXTransformResult * __ptr64,unsigned short const * __ptr64,class CRBvr * __ptr64)
-?CRSetBvrAsProperty@@YA_NPEAVCRDXTransformResult@@PEBGPEAVCRBvr@@@Z
-; bool __cdecl CRSetClipRect(class CRView * __ptr64,long,long,long,long)
-?CRSetClipRect@@YA_NPEAVCRView@@JJJJ@Z
-; bool __cdecl CRSetCompositeDirectlyToTarget(class CRView * __ptr64,bool)
-?CRSetCompositeDirectlyToTarget@@YA_NPEAVCRView@@_N@Z
-; bool __cdecl CRSetDC(class CRView * __ptr64,struct HDC__ * __ptr64)
-?CRSetDC@@YA_NPEAVCRView@@PEAUHDC__@@@Z
-; bool __cdecl CRSetDirectDrawSurface(class CRView * __ptr64,struct IUnknown * __ptr64)
-?CRSetDirectDrawSurface@@YA_NPEAVCRView@@PEAUIUnknown@@@Z
-; bool __cdecl CRSetElement(class CRArray * __ptr64,long,class CRBvr * __ptr64,long)
-?CRSetElement@@YA_NPEAVCRArray@@JPEAVCRBvr@@J@Z
-; bool __cdecl CRSetImportPriority(class CRBvr * __ptr64,float)
-?CRSetImportPriority@@YA_NPEAVCRBvr@@M@Z
-; void __cdecl CRSetLastError(long,unsigned short const * __ptr64)
-?CRSetLastError@@YAXJPEBG@Z
-; bool __cdecl CRSetServiceProvider(class CRView * __ptr64,struct IServiceProvider * __ptr64)
-?CRSetServiceProvider@@YA_NPEAVCRView@@PEAUIServiceProvider@@@Z
-; bool __cdecl CRSetSite(class CRView * __ptr64,class CRViewSite * __ptr64)
-?CRSetSite@@YA_NPEAVCRView@@PEAVCRViewSite@@@Z
-; bool __cdecl CRSetViewport(class CRView * __ptr64,long,long,long,long)
-?CRSetViewport@@YA_NPEAVCRView@@JJJJ@Z
-; bool __cdecl CRSetWindow(class CRView * __ptr64,struct HWND__ * __ptr64)
-?CRSetWindow@@YA_NPEAVCRView@@PEAUHWND__@@@Z
-; class CRGeometry * __ptr64 __cdecl CRShadow(class CRGeometry * __ptr64,class CRGeometry * __ptr64,class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
-?CRShadow@@YAPEAVCRGeometry@@PEAV1@0PEAVCRPoint3@@PEAVCRVector3@@@Z
-; class CRSound * __ptr64 __cdecl CRSilence(void)
-?CRSilence@@YAPEAVCRSound@@XZ
-; class CRColor * __ptr64 __cdecl CRSilver(void)
-?CRSilver@@YAPEAVCRColor@@XZ
-; class CRNumber * __ptr64 __cdecl CRSin(class CRNumber * __ptr64)
-?CRSin@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRSound * __ptr64 __cdecl CRSinSynth(void)
-?CRSinSynth@@YAPEAVCRSound@@XZ
-; class CRFontStyle * __ptr64 __cdecl CRSize(class CRFontStyle * __ptr64,double)
-?CRSize@@YAPEAVCRFontStyle@@PEAV1@N@Z
-; class CRFontStyle * __ptr64 __cdecl CRSize(class CRFontStyle * __ptr64,class CRNumber * __ptr64)
-?CRSize@@YAPEAVCRFontStyle@@PEAV1@PEAVCRNumber@@@Z
-; class CRNumber * __ptr64 __cdecl CRSlowInSlowOut(double,double,double,double)
-?CRSlowInSlowOut@@YAPEAVCRNumber@@NNNN@Z
-; class CRNumber * __ptr64 __cdecl CRSlowInSlowOut(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRSlowInSlowOut@@YAPEAVCRNumber@@PEAV1@000@Z
-; class CREvent * __ptr64 __cdecl CRSnapshot(class CREvent * __ptr64,class CRBvr * __ptr64)
-?CRSnapshot@@YAPEAVCREvent@@PEAV1@PEAVCRBvr@@@Z
-; class CRImage * __ptr64 __cdecl CRSolidColorImage(class CRColor * __ptr64)
-?CRSolidColorImage@@YAPEAVCRImage@@PEAVCRColor@@@Z
-; class CRGeometry * __ptr64 __cdecl CRSoundSource(class CRSound * __ptr64)
-?CRSoundSource@@YAPEAVCRGeometry@@PEAVCRSound@@@Z
-; class CRGeometry * __ptr64 __cdecl CRSpecularColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
-?CRSpecularColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
-; class CRGeometry * __ptr64 __cdecl CRSpecularExponent(class CRGeometry * __ptr64,double)
-?CRSpecularExponent@@YAPEAVCRGeometry@@PEAV1@N@Z
-; class CRGeometry * __ptr64 __cdecl CRSpecularExponentAnim(class CRGeometry * __ptr64,class CRNumber * __ptr64)
-?CRSpecularExponentAnim@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@@Z
-; class CRNumber * __ptr64 __cdecl CRSphericalCoordLength(class CRPoint3 * __ptr64)
-?CRSphericalCoordLength@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
-; class CRNumber * __ptr64 __cdecl CRSphericalCoordLength(class CRVector3 * __ptr64)
-?CRSphericalCoordLength@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
-; class CRNumber * __ptr64 __cdecl CRSphericalCoordXYAngle(class CRPoint3 * __ptr64)
-?CRSphericalCoordXYAngle@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
-; class CRNumber * __ptr64 __cdecl CRSphericalCoordXYAngle(class CRVector3 * __ptr64)
-?CRSphericalCoordXYAngle@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
-; class CRNumber * __ptr64 __cdecl CRSphericalCoordYZAngle(class CRPoint3 * __ptr64)
-?CRSphericalCoordYZAngle@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
-; class CRNumber * __ptr64 __cdecl CRSphericalCoordYZAngle(class CRVector3 * __ptr64)
-?CRSphericalCoordYZAngle@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
-; class CRGeometry * __ptr64 __cdecl CRSpotLight(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRSpotLight@@YAPEAVCRGeometry@@PEAVCRNumber@@0@Z
-; class CRGeometry * __ptr64 __cdecl CRSpotLight(class CRNumber * __ptr64,double)
-?CRSpotLight@@YAPEAVCRGeometry@@PEAVCRNumber@@N@Z
-; class CRNumber * __ptr64 __cdecl CRSqrt(class CRNumber * __ptr64)
-?CRSqrt@@YAPEAVCRNumber@@PEAV1@@Z
-; bool __cdecl CRStartModel(class CRView * __ptr64,class CRImage * __ptr64,class CRSound * __ptr64,double,unsigned long,bool * __ptr64)
-?CRStartModel@@YA_NPEAVCRView@@PEAVCRImage@@PEAVCRSound@@NKPEA_N@Z
-; bool __cdecl CRStopModel(class CRView * __ptr64)
-?CRStopModel@@YA_NPEAVCRView@@@Z
-; class CRFontStyle * __ptr64 __cdecl CRStrikethrough(class CRFontStyle * __ptr64)
-?CRStrikethrough@@YAPEAVCRFontStyle@@PEAV1@@Z
-; class CRImage * __ptr64 __cdecl CRStringImage(unsigned short * __ptr64,class CRFontStyle * __ptr64)
-?CRStringImage@@YAPEAVCRImage@@PEAGPEAVCRFontStyle@@@Z
-; class CRImage * __ptr64 __cdecl CRStringImage(class CRString * __ptr64,class CRFontStyle * __ptr64)
-?CRStringImage@@YAPEAVCRImage@@PEAVCRString@@PEAVCRFontStyle@@@Z
-; class CRPath2 * __ptr64 __cdecl CRStringPath(unsigned short * __ptr64,class CRFontStyle * __ptr64)
-?CRStringPath@@YAPEAVCRPath2@@PEAGPEAVCRFontStyle@@@Z
-; class CRPath2 * __ptr64 __cdecl CRStringPath(class CRString * __ptr64,class CRFontStyle * __ptr64)
-?CRStringPath@@YAPEAVCRPath2@@PEAVCRString@@PEAVCRFontStyle@@@Z
-; class CRNumber * __ptr64 __cdecl CRSub(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRSub@@YAPEAVCRNumber@@PEAV1@0@Z
-; class CRPoint2 * __ptr64 __cdecl CRSub(class CRPoint2 * __ptr64,class CRVector2 * __ptr64)
-?CRSub@@YAPEAVCRPoint2@@PEAV1@PEAVCRVector2@@@Z
-; class CRPoint3 * __ptr64 __cdecl CRSub(class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
-?CRSub@@YAPEAVCRPoint3@@PEAV1@PEAVCRVector3@@@Z
-; class CRVector2 * __ptr64 __cdecl CRSub(class CRVector2 * __ptr64,class CRVector2 * __ptr64)
-?CRSub@@YAPEAVCRVector2@@PEAV1@0@Z
-; class CRVector2 * __ptr64 __cdecl CRSub(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
-?CRSub@@YAPEAVCRVector2@@PEAVCRPoint2@@0@Z
-; class CRVector3 * __ptr64 __cdecl CRSub(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
-?CRSub@@YAPEAVCRVector3@@PEAV1@0@Z
-; class CRVector3 * __ptr64 __cdecl CRSub(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64)
-?CRSub@@YAPEAVCRVector3@@PEAVCRPoint3@@0@Z
-; class CRBvr * __ptr64 __cdecl CRSubstituteTime(class CRBvr * __ptr64,class CRNumber * __ptr64)
-?CRSubstituteTime@@YAPEAVCRBvr@@PEAV1@PEAVCRNumber@@@Z
-; bool __cdecl CRSwitchTo(class CRBvr * __ptr64,class CRBvr * __ptr64,bool,unsigned long,double)
-?CRSwitchTo@@YA_NPEAVCRBvr@@0_NKN@Z
-; bool __cdecl CRSwitchToBool(class CRBoolean * __ptr64,bool)
-?CRSwitchToBool@@YA_NPEAVCRBoolean@@_N@Z
-; bool __cdecl CRSwitchToNumber(class CRNumber * __ptr64,double)
-?CRSwitchToNumber@@YA_NPEAVCRNumber@@N@Z
-; bool __cdecl CRSwitchToString(class CRString * __ptr64,unsigned short * __ptr64)
-?CRSwitchToString@@YA_NPEAVCRString@@PEAG@Z
-; class CRNumber * __ptr64 __cdecl CRTan(class CRNumber * __ptr64)
-?CRTan@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRColor * __ptr64 __cdecl CRTeal(void)
-?CRTeal@@YAPEAVCRColor@@XZ
-; class CRFontStyle * __ptr64 __cdecl CRTextColor(class CRFontStyle * __ptr64,class CRColor * __ptr64)
-?CRTextColor@@YAPEAVCRFontStyle@@PEAV1@PEAVCRColor@@@Z
-; class CRImage * __ptr64 __cdecl CRTextImage(unsigned short * __ptr64,class CRFontStyle * __ptr64)
-?CRTextImage@@YAPEAVCRImage@@PEAGPEAVCRFontStyle@@@Z
-; class CRImage * __ptr64 __cdecl CRTextImage(class CRString * __ptr64,class CRFontStyle * __ptr64)
-?CRTextImage@@YAPEAVCRImage@@PEAVCRString@@PEAVCRFontStyle@@@Z
-; class CRMatte * __ptr64 __cdecl CRTextMatte(class CRString * __ptr64,class CRFontStyle * __ptr64)
-?CRTextMatte@@YAPEAVCRMatte@@PEAVCRString@@PEAVCRFontStyle@@@Z
-; class CRPath2 * __ptr64 __cdecl CRTextPath(class CRString * __ptr64,class CRFontStyle * __ptr64)
-?CRTextPath@@YAPEAVCRPath2@@PEAVCRString@@PEAVCRFontStyle@@@Z
-; class CRGeometry * __ptr64 __cdecl CRTexture(class CRGeometry * __ptr64,class CRImage * __ptr64)
-?CRTexture@@YAPEAVCRGeometry@@PEAV1@PEAVCRImage@@@Z
-; class CRGeometry * __ptr64 __cdecl CRTextureImage(class CRGeometry * __ptr64,class CRImage * __ptr64)
-?CRTextureImage@@YAPEAVCRGeometry@@PEAV1@PEAVCRImage@@@Z
-; class CREvent * __ptr64 __cdecl CRThenEvent(class CREvent * __ptr64,class CREvent * __ptr64)
-?CRThenEvent@@YAPEAVCREvent@@PEAV1@0@Z
-; bool __cdecl CRTick(class CRView * __ptr64,double,bool * __ptr64)
-?CRTick@@YA_NPEAVCRView@@NPEA_N@Z
-; class CRImage * __ptr64 __cdecl CRTile(class CRImage * __ptr64)
-?CRTile@@YAPEAVCRImage@@PEAV1@@Z
-; class CREvent * __ptr64 __cdecl CRTimer(double)
-?CRTimer@@YAPEAVCREvent@@N@Z
-; class CREvent * __ptr64 __cdecl CRTimer(class CRNumber * __ptr64)
-?CRTimer@@YAPEAVCREvent@@PEAVCRNumber@@@Z
-; class CRNumber * __ptr64 __cdecl CRToDegrees(class CRNumber * __ptr64)
-?CRToDegrees@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRNumber * __ptr64 __cdecl CRToRadians(class CRNumber * __ptr64)
-?CRToRadians@@YAPEAVCRNumber@@PEAV1@@Z
-; class CRString * __ptr64 __cdecl CRToString(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRToString@@YAPEAVCRString@@PEAVCRNumber@@0@Z
-; class CRString * __ptr64 __cdecl CRToString(class CRNumber * __ptr64,double)
-?CRToString@@YAPEAVCRString@@PEAVCRNumber@@N@Z
-; class CRTransform2 * __ptr64 __cdecl CRTransform3x2(double * __ptr64,unsigned int)
-?CRTransform3x2@@YAPEAVCRTransform2@@PEANI@Z
-; class CRTransform2 * __ptr64 __cdecl CRTransform3x2(class CRArray * __ptr64)
-?CRTransform3x2@@YAPEAVCRTransform2@@PEAVCRArray@@@Z
-; class CRTransform3 * __ptr64 __cdecl CRTransform4x4(class CRArray * __ptr64)
-?CRTransform4x4@@YAPEAVCRTransform3@@PEAVCRArray@@@Z
-; class CRCamera * __ptr64 __cdecl CRTransform(class CRCamera * __ptr64,class CRTransform3 * __ptr64)
-?CRTransform@@YAPEAVCRCamera@@PEAV1@PEAVCRTransform3@@@Z
-; class CRGeometry * __ptr64 __cdecl CRTransform(class CRGeometry * __ptr64,class CRTransform3 * __ptr64)
-?CRTransform@@YAPEAVCRGeometry@@PEAV1@PEAVCRTransform3@@@Z
-; class CRImage * __ptr64 __cdecl CRTransform(class CRImage * __ptr64,class CRTransform2 * __ptr64)
-?CRTransform@@YAPEAVCRImage@@PEAV1@PEAVCRTransform2@@@Z
-; class CRMatte * __ptr64 __cdecl CRTransform(class CRMatte * __ptr64,class CRTransform2 * __ptr64)
-?CRTransform@@YAPEAVCRMatte@@PEAV1@PEAVCRTransform2@@@Z
-; class CRMicrophone * __ptr64 __cdecl CRTransform(class CRMicrophone * __ptr64,class CRTransform3 * __ptr64)
-?CRTransform@@YAPEAVCRMicrophone@@PEAV1@PEAVCRTransform3@@@Z
-; class CRPath2 * __ptr64 __cdecl CRTransform(class CRPath2 * __ptr64,class CRTransform2 * __ptr64)
-?CRTransform@@YAPEAVCRPath2@@PEAV1@PEAVCRTransform2@@@Z
-; class CRPoint2 * __ptr64 __cdecl CRTransform(class CRPoint2 * __ptr64,class CRTransform2 * __ptr64)
-?CRTransform@@YAPEAVCRPoint2@@PEAV1@PEAVCRTransform2@@@Z
-; class CRPoint3 * __ptr64 __cdecl CRTransform(class CRPoint3 * __ptr64,class CRTransform3 * __ptr64)
-?CRTransform@@YAPEAVCRPoint3@@PEAV1@PEAVCRTransform3@@@Z
-; class CRVector2 * __ptr64 __cdecl CRTransform(class CRVector2 * __ptr64,class CRTransform2 * __ptr64)
-?CRTransform@@YAPEAVCRVector2@@PEAV1@PEAVCRTransform2@@@Z
-; class CRVector3 * __ptr64 __cdecl CRTransform(class CRVector3 * __ptr64,class CRTransform3 * __ptr64)
-?CRTransform@@YAPEAVCRVector3@@PEAV1@PEAVCRTransform3@@@Z
-; class CRFontStyle * __ptr64 __cdecl CRTransformCharacters(class CRFontStyle * __ptr64,class CRTransform2 * __ptr64)
-?CRTransformCharacters@@YAPEAVCRFontStyle@@PEAV1@PEAVCRTransform2@@@Z
-; class CRImage * __ptr64 __cdecl CRTransformColorRGB(class CRImage * __ptr64,class CRTransform3 * __ptr64)
-?CRTransformColorRGB@@YAPEAVCRImage@@PEAV1@PEAVCRTransform3@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRTranslate2(double,double)
-?CRTranslate2@@YAPEAVCRTransform2@@NN@Z
-; class CRTransform2 * __ptr64 __cdecl CRTranslate2(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRTranslate2@@YAPEAVCRTransform2@@PEAVCRNumber@@0@Z
-; class CRTransform2 * __ptr64 __cdecl CRTranslate2(class CRPoint2 * __ptr64)
-?CRTranslate2@@YAPEAVCRTransform2@@PEAVCRPoint2@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRTranslate2(class CRVector2 * __ptr64)
-?CRTranslate2@@YAPEAVCRTransform2@@PEAVCRVector2@@@Z
-; class CRTransform3 * __ptr64 __cdecl CRTranslate3(double,double,double)
-?CRTranslate3@@YAPEAVCRTransform3@@NNN@Z
-; class CRTransform3 * __ptr64 __cdecl CRTranslate3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRTranslate3@@YAPEAVCRTransform3@@PEAVCRNumber@@00@Z
-; class CRTransform3 * __ptr64 __cdecl CRTranslate3(class CRPoint3 * __ptr64)
-?CRTranslate3@@YAPEAVCRTransform3@@PEAVCRPoint3@@@Z
-; class CRTransform3 * __ptr64 __cdecl CRTranslate3(class CRVector3 * __ptr64)
-?CRTranslate3@@YAPEAVCRTransform3@@PEAVCRVector3@@@Z
-; class CRGeometry * __ptr64 __cdecl CRTriMesh(class TriMeshData & __ptr64)
-?CRTriMesh@@YAPEAVCRGeometry@@AEAVTriMeshData@@@Z
-; bool __cdecl CRTriggerEvent(class CREvent * __ptr64,class CRBvr * __ptr64)
-?CRTriggerEvent@@YA_NPEAVCREvent@@PEAVCRBvr@@@Z
-; class CRBoolean * __ptr64 __cdecl CRTrue(void)
-?CRTrue@@YAPEAVCRBoolean@@XZ
-; class CRFontStyle * __ptr64 __cdecl CRUnderline(class CRFontStyle * __ptr64)
-?CRUnderline@@YAPEAVCRFontStyle@@PEAV1@@Z
-; class CRGeometry * __ptr64 __cdecl CRUndetectable(class CRGeometry * __ptr64)
-?CRUndetectable@@YAPEAVCRGeometry@@PEAV1@@Z
-; class CRImage * __ptr64 __cdecl CRUndetectable(class CRImage * __ptr64)
-?CRUndetectable@@YAPEAVCRImage@@PEAV1@@Z
-; class CRArray * __ptr64 __cdecl CRUninitializedArray(class CRArray * __ptr64)
-?CRUninitializedArray@@YAPEAVCRArray@@PEAV1@@Z
-; class CRBvr * __ptr64 __cdecl CRUninitializedBvr(enum CR_BVR_TYPEID)
-?CRUninitializedBvr@@YAPEAVCRBvr@@W4CR_BVR_TYPEID@@@Z
-; class CRTuple * __ptr64 __cdecl CRUninitializedTuple(class CRTuple * __ptr64)
-?CRUninitializedTuple@@YAPEAVCRTuple@@PEAV1@@Z
-; class CRGeometry * __ptr64 __cdecl CRUnionGeometry(class CRGeometry * __ptr64,class CRGeometry * __ptr64)
-?CRUnionGeometry@@YAPEAVCRGeometry@@PEAV1@0@Z
-; class CRGeometry * __ptr64 __cdecl CRUnionGeometry(class CRArray * __ptr64)
-?CRUnionGeometry@@YAPEAVCRGeometry@@PEAVCRArray@@@Z
-; class CRMatte * __ptr64 __cdecl CRUnionMatte(class CRMatte * __ptr64,class CRMatte * __ptr64)
-?CRUnionMatte@@YAPEAVCRMatte@@PEAV1@0@Z
-; class CRMontage * __ptr64 __cdecl CRUnionMontage(class CRMontage * __ptr64,class CRMontage * __ptr64)
-?CRUnionMontage@@YAPEAVCRMontage@@PEAV1@0@Z
-; class CRMontage * __ptr64 __cdecl CRUnionMontageArray(class CRArray * __ptr64)
-?CRUnionMontageArray@@YAPEAVCRMontage@@PEAVCRArray@@@Z
-; class CRBvr * __ptr64 __cdecl CRUntil(class CRBvr * __ptr64,class CREvent * __ptr64,class CRBvr * __ptr64)
-?CRUntil@@YAPEAVCRBvr@@PEAV1@PEAVCREvent@@0@Z
-; class CRBvr * __ptr64 __cdecl CRUntilEx(class CRBvr * __ptr64,class CREvent * __ptr64)
-?CRUntilEx@@YAPEAVCRBvr@@PEAV1@PEAVCREvent@@@Z
-; class CRBvr * __ptr64 __cdecl CRUntilNotify(class CRBvr * __ptr64,class CREvent * __ptr64,class CRUntilNotifier * __ptr64)
-?CRUntilNotify@@YAPEAVCRBvr@@PEAV1@PEAVCREvent@@PEAVCRUntilNotifier@@@Z
-; class CRVector2 * __ptr64 __cdecl CRVector2Polar(double,double)
-?CRVector2Polar@@YAPEAVCRVector2@@NN@Z
-; class CRVector2 * __ptr64 __cdecl CRVector2Polar(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRVector2Polar@@YAPEAVCRVector2@@PEAVCRNumber@@0@Z
-; class CRVector3 * __ptr64 __cdecl CRVector3Spherical(double,double,double)
-?CRVector3Spherical@@YAPEAVCRVector3@@NNN@Z
-; class CRVector3 * __ptr64 __cdecl CRVector3Spherical(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRVector3Spherical@@YAPEAVCRVector3@@PEAVCRNumber@@00@Z
-; unsigned short const * __ptr64 __cdecl CRVersionString(void)
-?CRVersionString@@YAPEBGXZ
-; class CRNumber * __ptr64 __cdecl CRViewFrameRate(void)
-?CRViewFrameRate@@YAPEAVCRNumber@@XZ
-; class CRNumber * __ptr64 __cdecl CRViewTimeDelta(void)
-?CRViewTimeDelta@@YAPEAVCRNumber@@XZ
-; class CRFontStyle * __ptr64 __cdecl CRWeight(class CRFontStyle * __ptr64,double)
-?CRWeight@@YAPEAVCRFontStyle@@PEAV1@N@Z
-; class CRFontStyle * __ptr64 __cdecl CRWeight(class CRFontStyle * __ptr64,class CRNumber * __ptr64)
-?CRWeight@@YAPEAVCRFontStyle@@PEAV1@PEAVCRNumber@@@Z
-; class CRColor * __ptr64 __cdecl CRWhite(void)
-?CRWhite@@YAPEAVCRColor@@XZ
-; class CRLineStyle * __ptr64 __cdecl CRWidth(class CRLineStyle * __ptr64,double)
-?CRWidth@@YAPEAVCRLineStyle@@PEAV1@N@Z
-; class CRLineStyle * __ptr64 __cdecl CRWidth(class CRLineStyle * __ptr64,class CRNumber * __ptr64)
-?CRWidth@@YAPEAVCRLineStyle@@PEAV1@PEAVCRNumber@@@Z
-; class CRTransform2 * __ptr64 __cdecl CRXShear2(double)
-?CRXShear2@@YAPEAVCRTransform2@@N@Z
-; class CRTransform2 * __ptr64 __cdecl CRXShear2(class CRNumber * __ptr64)
-?CRXShear2@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
-; class CRTransform3 * __ptr64 __cdecl CRXShear3(double,double)
-?CRXShear3@@YAPEAVCRTransform3@@NN@Z
-; class CRTransform3 * __ptr64 __cdecl CRXShear3(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRXShear3@@YAPEAVCRTransform3@@PEAVCRNumber@@0@Z
-; class CRVector2 * __ptr64 __cdecl CRXVector2(void)
-?CRXVector2@@YAPEAVCRVector2@@XZ
-; class CRVector3 * __ptr64 __cdecl CRXVector3(void)
-?CRXVector3@@YAPEAVCRVector3@@XZ
-; class CRTransform2 * __ptr64 __cdecl CRYShear2(double)
-?CRYShear2@@YAPEAVCRTransform2@@N@Z
-; class CRTransform2 * __ptr64 __cdecl CRYShear2(class CRNumber * __ptr64)
-?CRYShear2@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
-; class CRTransform3 * __ptr64 __cdecl CRYShear3(double,double)
-?CRYShear3@@YAPEAVCRTransform3@@NN@Z
-; class CRTransform3 * __ptr64 __cdecl CRYShear3(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRYShear3@@YAPEAVCRTransform3@@PEAVCRNumber@@0@Z
-; class CRVector2 * __ptr64 __cdecl CRYVector2(void)
-?CRYVector2@@YAPEAVCRVector2@@XZ
-; class CRVector3 * __ptr64 __cdecl CRYVector3(void)
-?CRYVector3@@YAPEAVCRVector3@@XZ
-; class CRColor * __ptr64 __cdecl CRYellow(void)
-?CRYellow@@YAPEAVCRColor@@XZ
-; class CRTransform3 * __ptr64 __cdecl CRZShear3(double,double)
-?CRZShear3@@YAPEAVCRTransform3@@NN@Z
-; class CRTransform3 * __ptr64 __cdecl CRZShear3(class CRNumber * __ptr64,class CRNumber * __ptr64)
-?CRZShear3@@YAPEAVCRTransform3@@PEAVCRNumber@@0@Z
-; class CRVector3 * __ptr64 __cdecl CRZVector3(void)
-?CRZVector3@@YAPEAVCRVector3@@XZ
-; class CRVector2 * __ptr64 __cdecl CRZeroVector2(void)
-?CRZeroVector2@@YAPEAVCRVector2@@XZ
-; class CRVector3 * __ptr64 __cdecl CRZeroVector3(void)
-?CRZeroVector3@@YAPEAVCRVector3@@XZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DANIM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DANIM.dll
+EXPORTS
+; class CRBvr * __ptr64 __cdecl COMToCRBvr(struct IUnknown * __ptr64)
+?COMToCRBvr@@YAPEAVCRBvr@@PEAUIUnknown@@@Z
+; class CRNumber * __ptr64 __cdecl CRAbs(class CRNumber * __ptr64)
+?CRAbs@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRNumber * __ptr64 __cdecl CRAcos(class CRNumber * __ptr64)
+?CRAcos@@YAPEAVCRNumber@@PEAV1@@Z
+; bool __cdecl CRAcquireGCLock(void)
+?CRAcquireGCLock@@YA_NXZ
+; class CRNumber * __ptr64 __cdecl CRAdd(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRAdd@@YAPEAVCRNumber@@PEAV1@0@Z
+; class CRPoint2 * __ptr64 __cdecl CRAdd(class CRPoint2 * __ptr64,class CRVector2 * __ptr64)
+?CRAdd@@YAPEAVCRPoint2@@PEAV1@PEAVCRVector2@@@Z
+; class CRPoint3 * __ptr64 __cdecl CRAdd(class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
+?CRAdd@@YAPEAVCRPoint3@@PEAV1@PEAVCRVector3@@@Z
+; class CRVector2 * __ptr64 __cdecl CRAdd(class CRVector2 * __ptr64,class CRVector2 * __ptr64)
+?CRAdd@@YAPEAVCRVector2@@PEAV1@0@Z
+; class CRVector3 * __ptr64 __cdecl CRAdd(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
+?CRAdd@@YAPEAVCRVector3@@PEAV1@0@Z
+; bool __cdecl CRAddBvrToRun(class CRView * __ptr64,class CRBvr * __ptr64,bool,long * __ptr64)
+?CRAddBvrToRun@@YA_NPEAVCRView@@PEAVCRBvr@@_NPEAJ@Z
+; long __cdecl CRAddElement(class CRArray * __ptr64,class CRBvr * __ptr64,unsigned long)
+?CRAddElement@@YAJPEAVCRArray@@PEAVCRBvr@@K@Z
+; class CRGeometry * __ptr64 __cdecl CRAddPickData(class CRGeometry * __ptr64,struct IUnknown * __ptr64,bool)
+?CRAddPickData@@YAPEAVCRGeometry@@PEAV1@PEAUIUnknown@@_N@Z
+; class CRImage * __ptr64 __cdecl CRAddPickData(class CRImage * __ptr64,struct IUnknown * __ptr64,bool)
+?CRAddPickData@@YAPEAVCRImage@@PEAV1@PEAUIUnknown@@_N@Z
+; bool __cdecl CRAddRefGC(void * __ptr64)
+?CRAddRefGC@@YA_NPEAX@Z
+; bool __cdecl CRAddSite(class CRSite * __ptr64)
+?CRAddSite@@YA_NPEAVCRSite@@@Z
+; class CREvent * __ptr64 __cdecl CRAlways(void)
+?CRAlways@@YAPEAVCREvent@@XZ
+; class CRGeometry * __ptr64 __cdecl CRAmbientColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
+?CRAmbientColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
+; class CRGeometry * __ptr64 __cdecl CRAmbientLight(void)
+?CRAmbientLight@@YAPEAVCRGeometry@@XZ
+; class CRBoolean * __ptr64 __cdecl CRAnd(class CRBoolean * __ptr64,class CRBoolean * __ptr64)
+?CRAnd@@YAPEAVCRBoolean@@PEAV1@0@Z
+; class CREvent * __ptr64 __cdecl CRAndEvent(class CREvent * __ptr64,class CREvent * __ptr64)
+?CRAndEvent@@YAPEAVCREvent@@PEAV1@0@Z
+; class CRFontStyle * __ptr64 __cdecl CRAntiAliasing(class CRFontStyle * __ptr64,double)
+?CRAntiAliasing@@YAPEAVCRFontStyle@@PEAV1@N@Z
+; class CRLineStyle * __ptr64 __cdecl CRAntiAliasing(class CRLineStyle * __ptr64,double)
+?CRAntiAliasing@@YAPEAVCRLineStyle@@PEAV1@N@Z
+; class CREvent * __ptr64 __cdecl CRAppTriggeredEvent(void)
+?CRAppTriggeredEvent@@YAPEAVCREvent@@XZ
+; class CRDXTransformResult * __ptr64 __cdecl CRApplyDXTransform(struct IUnknown * __ptr64,long,class CRBvr * __ptr64 * __ptr64,class CRBvr * __ptr64)
+?CRApplyDXTransform@@YAPEAVCRDXTransformResult@@PEAUIUnknown@@JPEAPEAVCRBvr@@PEAV3@@Z
+; class CRColor * __ptr64 __cdecl CRAqua(void)
+?CRAqua@@YAPEAVCRColor@@XZ
+; class CRPath2 * __ptr64 __cdecl CRArc(double,double,double,double)
+?CRArc@@YAPEAVCRPath2@@NNNN@Z
+; class CRPath2 * __ptr64 __cdecl CRArcRadians(double,double,double,double)
+?CRArcRadians@@YAPEAVCRPath2@@NNNN@Z
+; class CRPath2 * __ptr64 __cdecl CRArcRadians(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRArcRadians@@YAPEAVCRPath2@@PEAVCRNumber@@000@Z
+; class CRNumber * __ptr64 __cdecl CRAsin(class CRNumber * __ptr64)
+?CRAsin@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRNumber * __ptr64 __cdecl CRAtan2(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRAtan2@@YAPEAVCRNumber@@PEAV1@0@Z
+; class CRNumber * __ptr64 __cdecl CRAtan(class CRNumber * __ptr64)
+?CRAtan@@YAPEAVCRNumber@@PEAV1@@Z
+; class CREvent * __ptr64 __cdecl CRAttachData(class CREvent * __ptr64,class CRBvr * __ptr64)
+?CRAttachData@@YAPEAVCREvent@@PEAV1@PEAVCRBvr@@@Z
+; class CRBvr * __ptr64 __cdecl CRBSpline(int,long,class CRNumber * __ptr64 * __ptr64 const,long,class CRBvr * __ptr64 * __ptr64 const,long,class CRNumber * __ptr64 * __ptr64 const,class CRNumber * __ptr64,enum CR_BVR_TYPEID)
+?CRBSpline@@YAPEAVCRBvr@@HJQEAPEAVCRNumber@@JQEAPEAV1@J0PEAV2@W4CR_BVR_TYPEID@@@Z
+; class CRGeometry * __ptr64 __cdecl CRBillboard(class CRGeometry * __ptr64,class CRVector3 * __ptr64)
+?CRBillboard@@YAPEAVCRGeometry@@PEAV1@PEAVCRVector3@@@Z
+; class CRColor * __ptr64 __cdecl CRBlack(void)
+?CRBlack@@YAPEAVCRColor@@XZ
+; class CRGeometry * __ptr64 __cdecl CRBlendTextureDiffuse(class CRGeometry * __ptr64,class CRBoolean * __ptr64)
+?CRBlendTextureDiffuse@@YAPEAVCRGeometry@@PEAV1@PEAVCRBoolean@@@Z
+; class CRColor * __ptr64 __cdecl CRBlue(void)
+?CRBlue@@YAPEAVCRColor@@XZ
+; class CRFontStyle * __ptr64 __cdecl CRBold(class CRFontStyle * __ptr64)
+?CRBold@@YAPEAVCRFontStyle@@PEAV1@@Z
+; class CRBbox2 * __ptr64 __cdecl CRBoundingBox(class CRImage * __ptr64)
+?CRBoundingBox@@YAPEAVCRBbox2@@PEAVCRImage@@@Z
+; class CRBbox2 * __ptr64 __cdecl CRBoundingBox(class CRPath2 * __ptr64,class CRLineStyle * __ptr64)
+?CRBoundingBox@@YAPEAVCRBbox2@@PEAVCRPath2@@PEAVCRLineStyle@@@Z
+; class CRBbox3 * __ptr64 __cdecl CRBoundingBox(class CRGeometry * __ptr64)
+?CRBoundingBox@@YAPEAVCRBbox3@@PEAVCRGeometry@@@Z
+; class CRBvr * __ptr64 __cdecl CRBvrApplyPreference(class CRBvr * __ptr64,unsigned short * __ptr64,struct tagVARIANT)
+?CRBvrApplyPreference@@YAPEAVCRBvr@@PEAV1@PEAGUtagVARIANT@@@Z
+; bool __cdecl CRBvrToCOM(class CRBvr * __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
+?CRBvrToCOM@@YA_NPEAVCRBvr@@AEBU_GUID@@PEAPEAX@Z
+; class CRNumber * __ptr64 __cdecl CRCeiling(class CRNumber * __ptr64)
+?CRCeiling@@YAPEAVCRNumber@@PEAV1@@Z
+; void __cdecl CRClearLastError(void)
+?CRClearLastError@@YAXXZ
+; class CRMatte * __ptr64 __cdecl CRClearMatte(void)
+?CRClearMatte@@YAPEAVCRMatte@@XZ
+; class CRImage * __ptr64 __cdecl CRClip(class CRImage * __ptr64,class CRMatte * __ptr64)
+?CRClip@@YAPEAVCRImage@@PEAV1@PEAVCRMatte@@@Z
+; class CRImage * __ptr64 __cdecl CRClipPolygonImage(class CRImage * __ptr64,class CRArray * __ptr64)
+?CRClipPolygonImage@@YAPEAVCRImage@@PEAV1@PEAVCRArray@@@Z
+; class CRPath2 * __ptr64 __cdecl CRClose(class CRPath2 * __ptr64)
+?CRClose@@YAPEAVCRPath2@@PEAV1@@Z
+; class CRColor * __ptr64 __cdecl CRColorHsl(double,double,double)
+?CRColorHsl@@YAPEAVCRColor@@NNN@Z
+; class CRColor * __ptr64 __cdecl CRColorHsl(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRColorHsl@@YAPEAVCRColor@@PEAVCRNumber@@00@Z
+; class CRImage * __ptr64 __cdecl CRColorKey(class CRImage * __ptr64,class CRColor * __ptr64)
+?CRColorKey@@YAPEAVCRImage@@PEAV1@PEAVCRColor@@@Z
+; class CRColor * __ptr64 __cdecl CRColorRgb255(short,short,short)
+?CRColorRgb255@@YAPEAVCRColor@@FFF@Z
+; class CRColor * __ptr64 __cdecl CRColorRgb(double,double,double)
+?CRColorRgb@@YAPEAVCRColor@@NNN@Z
+; class CRColor * __ptr64 __cdecl CRColorRgb(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRColorRgb@@YAPEAVCRColor@@PEAVCRNumber@@00@Z
+; class CRTransform2 * __ptr64 __cdecl CRCompose2(class CRTransform2 * __ptr64,class CRTransform2 * __ptr64)
+?CRCompose2@@YAPEAVCRTransform2@@PEAV1@0@Z
+; class CRTransform2 * __ptr64 __cdecl CRCompose2(class CRArray * __ptr64)
+?CRCompose2@@YAPEAVCRTransform2@@PEAVCRArray@@@Z
+; class CRTransform3 * __ptr64 __cdecl CRCompose3(class CRTransform3 * __ptr64,class CRTransform3 * __ptr64)
+?CRCompose3@@YAPEAVCRTransform3@@PEAV1@0@Z
+; class CRTransform3 * __ptr64 __cdecl CRCompose3(class CRArray * __ptr64)
+?CRCompose3@@YAPEAVCRTransform3@@PEAVCRArray@@@Z
+; class CRPath2 * __ptr64 __cdecl CRConcat(class CRPath2 * __ptr64,class CRPath2 * __ptr64)
+?CRConcat@@YAPEAVCRPath2@@PEAV1@0@Z
+; class CRPath2 * __ptr64 __cdecl CRConcat(class CRArray * __ptr64)
+?CRConcat@@YAPEAVCRPath2@@PEAVCRArray@@@Z
+; class CRString * __ptr64 __cdecl CRConcatString(class CRString * __ptr64,class CRString * __ptr64)
+?CRConcatString@@YAPEAVCRString@@PEAV1@0@Z
+; class CRBvr * __ptr64 __cdecl CRCond(class CRBoolean * __ptr64,class CRBvr * __ptr64,class CRBvr * __ptr64)
+?CRCond@@YAPEAVCRBvr@@PEAVCRBoolean@@PEAV1@1@Z
+; bool __cdecl CRConnect(struct HINSTANCE__ * __ptr64)
+?CRConnect@@YA_NPEAUHINSTANCE__@@@Z
+; class CRNumber * __ptr64 __cdecl CRCos(class CRNumber * __ptr64)
+?CRCos@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRArray * __ptr64 __cdecl CRCreateArray(long,double * __ptr64 const,enum CR_BVR_TYPEID)
+?CRCreateArray@@YAPEAVCRArray@@JQEANW4CR_BVR_TYPEID@@@Z
+; class CRArray * __ptr64 __cdecl CRCreateArray(long,class CRBvr * __ptr64 * __ptr64 const,unsigned long)
+?CRCreateArray@@YAPEAVCRArray@@JQEAPEAVCRBvr@@K@Z
+; class CRBoolean * __ptr64 __cdecl CRCreateBoolean(bool)
+?CRCreateBoolean@@YAPEAVCRBoolean@@_N@Z
+; class CRNumber * __ptr64 __cdecl CRCreateNumber(double)
+?CRCreateNumber@@YAPEAVCRNumber@@N@Z
+; class CRPoint2 * __ptr64 __cdecl CRCreatePoint2(double,double)
+?CRCreatePoint2@@YAPEAVCRPoint2@@NN@Z
+; class CRPoint2 * __ptr64 __cdecl CRCreatePoint2(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRCreatePoint2@@YAPEAVCRPoint2@@PEAVCRNumber@@0@Z
+; class CRPoint3 * __ptr64 __cdecl CRCreatePoint3(double,double,double)
+?CRCreatePoint3@@YAPEAVCRPoint3@@NNN@Z
+; class CRPoint3 * __ptr64 __cdecl CRCreatePoint3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRCreatePoint3@@YAPEAVCRPoint3@@PEAVCRNumber@@00@Z
+; class CRString * __ptr64 __cdecl CRCreateString(unsigned short * __ptr64)
+?CRCreateString@@YAPEAVCRString@@PEAG@Z
+; class CRTuple * __ptr64 __cdecl CRCreateTuple(long,class CRBvr * __ptr64 * __ptr64 const)
+?CRCreateTuple@@YAPEAVCRTuple@@JQEAPEAVCRBvr@@@Z
+; class CRUserData * __ptr64 __cdecl CRCreateUserData(struct IUnknown * __ptr64)
+?CRCreateUserData@@YAPEAVCRUserData@@PEAUIUnknown@@@Z
+; class CRVector2 * __ptr64 __cdecl CRCreateVector2(double,double)
+?CRCreateVector2@@YAPEAVCRVector2@@NN@Z
+; class CRVector2 * __ptr64 __cdecl CRCreateVector2(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRCreateVector2@@YAPEAVCRVector2@@PEAVCRNumber@@0@Z
+; class CRVector3 * __ptr64 __cdecl CRCreateVector3(double,double,double)
+?CRCreateVector3@@YAPEAVCRVector3@@NNN@Z
+; class CRVector3 * __ptr64 __cdecl CRCreateVector3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRCreateVector3@@YAPEAVCRVector3@@PEAVCRNumber@@00@Z
+; class CRView * __ptr64 __cdecl CRCreateView(void)
+?CRCreateView@@YAPEAVCRView@@XZ
+; class CRImage * __ptr64 __cdecl CRCrop(class CRImage * __ptr64,class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
+?CRCrop@@YAPEAVCRImage@@PEAV1@PEAVCRPoint2@@1@Z
+; class CRVector3 * __ptr64 __cdecl CRCross(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
+?CRCross@@YAPEAVCRVector3@@PEAV1@0@Z
+; class CRPath2 * __ptr64 __cdecl CRCubicBSplinePath(class CRArray * __ptr64,class CRArray * __ptr64)
+?CRCubicBSplinePath@@YAPEAVCRPath2@@PEAVCRArray@@0@Z
+; class CRColor * __ptr64 __cdecl CRCyan(void)
+?CRCyan@@YAPEAVCRColor@@XZ
+; class CRGeometry * __ptr64 __cdecl CRD3DRMTexture(class CRGeometry * __ptr64,struct IUnknown * __ptr64)
+?CRD3DRMTexture@@YAPEAVCRGeometry@@PEAV1@PEAUIUnknown@@@Z
+; class CRLineStyle * __ptr64 __cdecl CRDash(class CRLineStyle * __ptr64,class CRDashStyle * __ptr64)
+?CRDash@@YAPEAVCRLineStyle@@PEAV1@PEAVCRDashStyle@@@Z
+; class CRLineStyle * __ptr64 __cdecl CRDashEx(class CRLineStyle * __ptr64,unsigned long)
+?CRDashEx@@YAPEAVCRLineStyle@@PEAV1@K@Z
+; class CRDashStyle * __ptr64 __cdecl CRDashStyleDashed(void)
+?CRDashStyleDashed@@YAPEAVCRDashStyle@@XZ
+; class CRDashStyle * __ptr64 __cdecl CRDashStyleSolid(void)
+?CRDashStyleSolid@@YAPEAVCRDashStyle@@XZ
+; class CRFontStyle * __ptr64 __cdecl CRDefaultFont(void)
+?CRDefaultFont@@YAPEAVCRFontStyle@@XZ
+; class CRLineStyle * __ptr64 __cdecl CRDefaultLineStyle(void)
+?CRDefaultLineStyle@@YAPEAVCRLineStyle@@XZ
+; class CRMicrophone * __ptr64 __cdecl CRDefaultMicrophone(void)
+?CRDefaultMicrophone@@YAPEAVCRMicrophone@@XZ
+; class CRCamera * __ptr64 __cdecl CRDepth(class CRCamera * __ptr64,double)
+?CRDepth@@YAPEAVCRCamera@@PEAV1@N@Z
+; class CRCamera * __ptr64 __cdecl CRDepth(class CRCamera * __ptr64,class CRNumber * __ptr64)
+?CRDepth@@YAPEAVCRCamera@@PEAV1@PEAVCRNumber@@@Z
+; class CRCamera * __ptr64 __cdecl CRDepthResolution(class CRCamera * __ptr64,double)
+?CRDepthResolution@@YAPEAVCRCamera@@PEAV1@N@Z
+; class CRCamera * __ptr64 __cdecl CRDepthResolution(class CRCamera * __ptr64,class CRNumber * __ptr64)
+?CRDepthResolution@@YAPEAVCRCamera@@PEAV1@PEAVCRNumber@@@Z
+; class CRNumber * __ptr64 __cdecl CRDerivative(class CRNumber * __ptr64)
+?CRDerivative@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRVector2 * __ptr64 __cdecl CRDerivative(class CRVector2 * __ptr64)
+?CRDerivative@@YAPEAVCRVector2@@PEAV1@@Z
+; class CRVector2 * __ptr64 __cdecl CRDerivative(class CRPoint2 * __ptr64)
+?CRDerivative@@YAPEAVCRVector2@@PEAVCRPoint2@@@Z
+; class CRVector3 * __ptr64 __cdecl CRDerivative(class CRVector3 * __ptr64)
+?CRDerivative@@YAPEAVCRVector3@@PEAV1@@Z
+; class CRVector3 * __ptr64 __cdecl CRDerivative(class CRPoint3 * __ptr64)
+?CRDerivative@@YAPEAVCRVector3@@PEAVCRPoint3@@@Z
+; void __cdecl CRDestroyView(class CRView * __ptr64)
+?CRDestroyView@@YAXPEAVCRView@@@Z
+; class CRLineStyle * __ptr64 __cdecl CRDetail(class CRLineStyle * __ptr64)
+?CRDetail@@YAPEAVCRLineStyle@@PEAV1@@Z
+; class CRImage * __ptr64 __cdecl CRDetectableEmptyImage(void)
+?CRDetectableEmptyImage@@YAPEAVCRImage@@XZ
+; class CRMatte * __ptr64 __cdecl CRDifferenceMatte(class CRMatte * __ptr64,class CRMatte * __ptr64)
+?CRDifferenceMatte@@YAPEAVCRMatte@@PEAV1@0@Z
+; class CRGeometry * __ptr64 __cdecl CRDiffuseColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
+?CRDiffuseColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
+; class CRGeometry * __ptr64 __cdecl CRDirectionalLight(void)
+?CRDirectionalLight@@YAPEAVCRGeometry@@XZ
+; bool __cdecl CRDisconnect(struct HINSTANCE__ * __ptr64)
+?CRDisconnect@@YA_NPEAUHINSTANCE__@@@Z
+; class CRNumber * __ptr64 __cdecl CRDistance(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
+?CRDistance@@YAPEAVCRNumber@@PEAVCRPoint2@@0@Z
+; class CRNumber * __ptr64 __cdecl CRDistance(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64)
+?CRDistance@@YAPEAVCRNumber@@PEAVCRPoint3@@0@Z
+; class CRNumber * __ptr64 __cdecl CRDistanceSquared(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
+?CRDistanceSquared@@YAPEAVCRNumber@@PEAVCRPoint2@@0@Z
+; class CRNumber * __ptr64 __cdecl CRDistanceSquared(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64)
+?CRDistanceSquared@@YAPEAVCRNumber@@PEAVCRPoint3@@0@Z
+; class CRNumber * __ptr64 __cdecl CRDiv(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRDiv@@YAPEAVCRNumber@@PEAV1@0@Z
+; class CRVector2 * __ptr64 __cdecl CRDiv(class CRVector2 * __ptr64,double)
+?CRDiv@@YAPEAVCRVector2@@PEAV1@N@Z
+; class CRVector2 * __ptr64 __cdecl CRDiv(class CRVector2 * __ptr64,class CRNumber * __ptr64)
+?CRDiv@@YAPEAVCRVector2@@PEAV1@PEAVCRNumber@@@Z
+; class CRVector3 * __ptr64 __cdecl CRDiv(class CRVector3 * __ptr64,double)
+?CRDiv@@YAPEAVCRVector3@@PEAV1@N@Z
+; class CRVector3 * __ptr64 __cdecl CRDiv(class CRVector3 * __ptr64,class CRNumber * __ptr64)
+?CRDiv@@YAPEAVCRVector3@@PEAV1@PEAVCRNumber@@@Z
+; bool __cdecl CRDoGC(void)
+?CRDoGC@@YA_NXZ
+; class CRNumber * __ptr64 __cdecl CRDot(class CRVector2 * __ptr64,class CRVector2 * __ptr64)
+?CRDot@@YAPEAVCRNumber@@PEAVCRVector2@@0@Z
+; class CRNumber * __ptr64 __cdecl CRDot(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
+?CRDot@@YAPEAVCRNumber@@PEAVCRVector3@@0@Z
+; class CRImage * __ptr64 __cdecl CRDraw(class CRPath2 * __ptr64,class CRLineStyle * __ptr64)
+?CRDraw@@YAPEAVCRImage@@PEAVCRPath2@@PEAVCRLineStyle@@@Z
+; class CRBvr * __ptr64 __cdecl CRDuration(class CRBvr * __ptr64,double)
+?CRDuration@@YAPEAVCRBvr@@PEAV1@N@Z
+; class CRBvr * __ptr64 __cdecl CRDuration(class CRBvr * __ptr64,class CRNumber * __ptr64)
+?CRDuration@@YAPEAVCRBvr@@PEAV1@PEAVCRNumber@@@Z
+; class CRBoolean * __ptr64 __cdecl CREQ(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CREQ@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
+; class CRGeometry * __ptr64 __cdecl CREmissiveColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
+?CREmissiveColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
+; class CRColor * __ptr64 __cdecl CREmptyColor(void)
+?CREmptyColor@@YAPEAVCRColor@@XZ
+; class CRGeometry * __ptr64 __cdecl CREmptyGeometry(void)
+?CREmptyGeometry@@YAPEAVCRGeometry@@XZ
+; class CRImage * __ptr64 __cdecl CREmptyImage(void)
+?CREmptyImage@@YAPEAVCRImage@@XZ
+; class CRLineStyle * __ptr64 __cdecl CREmptyLineStyle(void)
+?CREmptyLineStyle@@YAPEAVCRLineStyle@@XZ
+; class CRMontage * __ptr64 __cdecl CREmptyMontage(void)
+?CREmptyMontage@@YAPEAVCRMontage@@XZ
+; class CRLineStyle * __ptr64 __cdecl CREnd(class CRLineStyle * __ptr64,class CREndStyle * __ptr64)
+?CREnd@@YAPEAVCRLineStyle@@PEAV1@PEAVCREndStyle@@@Z
+; class CRBvr * __ptr64 __cdecl CREndEvent(class CRBvr * __ptr64)
+?CREndEvent@@YAPEAVCRBvr@@PEAV1@@Z
+; class CRLineStyle * __ptr64 __cdecl CREndEx(class CRLineStyle * __ptr64,unsigned long)
+?CREndEx@@YAPEAVCRLineStyle@@PEAV1@K@Z
+; class CREndStyle * __ptr64 __cdecl CREndStyleFlat(void)
+?CREndStyleFlat@@YAPEAVCREndStyle@@XZ
+; class CREndStyle * __ptr64 __cdecl CREndStyleRound(void)
+?CREndStyleRound@@YAPEAVCREndStyle@@XZ
+; class CREndStyle * __ptr64 __cdecl CREndStyleSquare(void)
+?CREndStyleSquare@@YAPEAVCREndStyle@@XZ
+; class CRNumber * __ptr64 __cdecl CRExp(class CRNumber * __ptr64)
+?CRExp@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRBvr * __ptr64 __cdecl CRExtendedAttrib(class CRBvr * __ptr64,unsigned short * __ptr64,struct tagVARIANT)
+?CRExtendedAttrib@@YAPEAVCRBvr@@PEAV1@PEAGUtagVARIANT@@@Z
+; double __cdecl CRExtract(class CRNumber * __ptr64)
+?CRExtract@@YANPEAVCRNumber@@@Z
+; unsigned short * __ptr64 __cdecl CRExtract(class CRString * __ptr64)
+?CRExtract@@YAPEAGPEAVCRString@@@Z
+; bool __cdecl CRExtract(class CRBoolean * __ptr64)
+?CRExtract@@YA_NPEAVCRBoolean@@@Z
+; class CRBoolean * __ptr64 __cdecl CRFalse(void)
+?CRFalse@@YAPEAVCRBoolean@@XZ
+; class CRFontStyle * __ptr64 __cdecl CRFamily(class CRFontStyle * __ptr64,unsigned short * __ptr64)
+?CRFamily@@YAPEAVCRFontStyle@@PEAV1@PEAG@Z
+; class CRFontStyle * __ptr64 __cdecl CRFamily(class CRFontStyle * __ptr64,class CRString * __ptr64)
+?CRFamily@@YAPEAVCRFontStyle@@PEAV1@PEAVCRString@@@Z
+; class CRImage * __ptr64 __cdecl CRFill(class CRPath2 * __ptr64,class CRLineStyle * __ptr64,class CRImage * __ptr64)
+?CRFill@@YAPEAVCRImage@@PEAVCRPath2@@PEAVCRLineStyle@@PEAV1@@Z
+; class CRMatte * __ptr64 __cdecl CRFillMatte(class CRPath2 * __ptr64)
+?CRFillMatte@@YAPEAVCRMatte@@PEAVCRPath2@@@Z
+; class CRBvr * __ptr64 __cdecl CRFirst(class CRPair * __ptr64)
+?CRFirst@@YAPEAVCRBvr@@PEAVCRPair@@@Z
+; class CRNumber * __ptr64 __cdecl CRFloor(class CRNumber * __ptr64)
+?CRFloor@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRTransform2 * __ptr64 __cdecl CRFollowPath(class CRPath2 * __ptr64,double)
+?CRFollowPath@@YAPEAVCRTransform2@@PEAVCRPath2@@N@Z
+; class CRTransform2 * __ptr64 __cdecl CRFollowPath(class CRPath2 * __ptr64,class CRNumber * __ptr64)
+?CRFollowPath@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngle(class CRPath2 * __ptr64,double)
+?CRFollowPathAngle@@YAPEAVCRTransform2@@PEAVCRPath2@@N@Z
+; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngle(class CRPath2 * __ptr64,class CRNumber * __ptr64)
+?CRFollowPathAngle@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleEval(class CRPath2 * __ptr64,class CRNumber * __ptr64)
+?CRFollowPathAngleEval@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleUpright(class CRPath2 * __ptr64,double)
+?CRFollowPathAngleUpright@@YAPEAVCRTransform2@@PEAVCRPath2@@N@Z
+; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleUpright(class CRPath2 * __ptr64,class CRNumber * __ptr64)
+?CRFollowPathAngleUpright@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleUprightEval(class CRPath2 * __ptr64,class CRNumber * __ptr64)
+?CRFollowPathAngleUprightEval@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRFollowPathEval(class CRPath2 * __ptr64,class CRNumber * __ptr64)
+?CRFollowPathEval@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
+; class CRFontStyle * __ptr64 __cdecl CRFont(unsigned short * __ptr64,double,class CRColor * __ptr64)
+?CRFont@@YAPEAVCRFontStyle@@PEAGNPEAVCRColor@@@Z
+; class CRFontStyle * __ptr64 __cdecl CRFont(class CRString * __ptr64,class CRNumber * __ptr64,class CRColor * __ptr64)
+?CRFont@@YAPEAVCRFontStyle@@PEAVCRString@@PEAVCRNumber@@PEAVCRColor@@@Z
+; class CRColor * __ptr64 __cdecl CRFuchsia(void)
+?CRFuchsia@@YAPEAVCRColor@@XZ
+; class CRBoolean * __ptr64 __cdecl CRGT(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRGT@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
+; class CRBoolean * __ptr64 __cdecl CRGTE(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRGTE@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
+; class CRSound * __ptr64 __cdecl CRGain(class CRSound * __ptr64,double)
+?CRGain@@YAPEAVCRSound@@PEAV1@N@Z
+; class CRSound * __ptr64 __cdecl CRGain(class CRSound * __ptr64,class CRNumber * __ptr64)
+?CRGain@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
+; enum CR_BVR_TYPEID  __cdecl CRGetArrayTypeId(class CRBvr * __ptr64)
+?CRGetArrayTypeId@@YA?AW4CR_BVR_TYPEID@@PEAVCRBvr@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetBlue(class CRColor * __ptr64)
+?CRGetBlue@@YAPEAVCRNumber@@PEAVCRColor@@@Z
+; class CREvent * __ptr64 __cdecl CRGetCompletionEvent(class CRImportationResult * __ptr64)
+?CRGetCompletionEvent@@YAPEAVCREvent@@PEAVCRImportationResult@@@Z
+; bool __cdecl CRGetCompositeDirectlyToTarget(class CRView * __ptr64)
+?CRGetCompositeDirectlyToTarget@@YA_NPEAVCRView@@@Z
+; double __cdecl CRGetConstDuration(class CREvent * __ptr64)
+?CRGetConstDuration@@YANPEAVCREvent@@@Z
+; struct HDC__ * __ptr64 __cdecl CRGetDC(class CRView * __ptr64)
+?CRGetDC@@YAPEAUHDC__@@PEAVCRView@@@Z
+; bool __cdecl CRGetDDD3DRM(class CRView * __ptr64,struct IUnknown * __ptr64 * __ptr64,struct IUnknown * __ptr64 * __ptr64)
+?CRGetDDD3DRM@@YA_NPEAVCRView@@PEAPEAUIUnknown@@1@Z
+; struct IUnknown * __ptr64 __cdecl CRGetData(class CRUserData * __ptr64)
+?CRGetData@@YAPEAUIUnknown@@PEAVCRUserData@@@Z
+; struct IUnknown * __ptr64 __cdecl CRGetDirectDrawSurface(class CRView * __ptr64)
+?CRGetDirectDrawSurface@@YAPEAUIUnknown@@PEAVCRView@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetDuration(class CRImportationResult * __ptr64)
+?CRGetDuration@@YAPEAVCRNumber@@PEAVCRImportationResult@@@Z
+; class CRBvr * __ptr64 __cdecl CRGetElement(class CRArray * __ptr64,long)
+?CRGetElement@@YAPEAVCRBvr@@PEAVCRArray@@J@Z
+; class CREvent * __ptr64 __cdecl CRGetEvent(class CRPickableResult * __ptr64)
+?CRGetEvent@@YAPEAVCREvent@@PEAVCRPickableResult@@@Z
+; class CRGeometry * __ptr64 __cdecl CRGetGeometry(class CRImportationResult * __ptr64)
+?CRGetGeometry@@YAPEAVCRGeometry@@PEAVCRImportationResult@@@Z
+; class CRGeometry * __ptr64 __cdecl CRGetGeometry(class CRPickableResult * __ptr64)
+?CRGetGeometry@@YAPEAVCRGeometry@@PEAVCRPickableResult@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetGreen(class CRColor * __ptr64)
+?CRGetGreen@@YAPEAVCRNumber@@PEAVCRColor@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetHue(class CRColor * __ptr64)
+?CRGetHue@@YAPEAVCRNumber@@PEAVCRColor@@@Z
+; class CRImage * __ptr64 __cdecl CRGetImage(class CRImportationResult * __ptr64)
+?CRGetImage@@YAPEAVCRImage@@PEAVCRImportationResult@@@Z
+; class CRImage * __ptr64 __cdecl CRGetImage(class CRPickableResult * __ptr64)
+?CRGetImage@@YAPEAVCRImage@@PEAVCRPickableResult@@@Z
+; float __cdecl CRGetImportPriority(class CRBvr * __ptr64)
+?CRGetImportPriority@@YAMPEAVCRBvr@@@Z
+; long __cdecl CRGetInvalidatedRects(class CRView * __ptr64,unsigned long,long,struct tagRECT * __ptr64)
+?CRGetInvalidatedRects@@YAJPEAVCRView@@KJPEAUtagRECT@@@Z
+; long __cdecl CRGetLastError(void)
+?CRGetLastError@@YAJXZ
+; unsigned short const * __ptr64 __cdecl CRGetLastErrorString(void)
+?CRGetLastErrorString@@YAPEBGXZ
+; class CRNumber * __ptr64 __cdecl CRGetLightness(class CRColor * __ptr64)
+?CRGetLightness@@YAPEAVCRNumber@@PEAVCRColor@@@Z
+; class CRBvr * __ptr64 __cdecl CRGetModifiableBvr(class CRBvr * __ptr64)
+?CRGetModifiableBvr@@YAPEAVCRBvr@@PEAV1@@Z
+; class CRBvr * __ptr64 __cdecl CRGetOutputBvr(class CRDXTransformResult * __ptr64)
+?CRGetOutputBvr@@YAPEAVCRBvr@@PEAVCRDXTransformResult@@@Z
+; bool __cdecl CRGetPreference(class CRView * __ptr64,unsigned short * __ptr64,struct tagVARIANT * __ptr64)
+?CRGetPreference@@YA_NPEAVCRView@@PEAGPEAUtagVARIANT@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetProgress(class CRImportationResult * __ptr64)
+?CRGetProgress@@YAPEAVCRNumber@@PEAVCRImportationResult@@@Z
+; bool __cdecl CRGetRMDevice(class CRView * __ptr64,struct IUnknown * __ptr64 * __ptr64,unsigned long * __ptr64)
+?CRGetRMDevice@@YA_NPEAVCRView@@PEAPEAUIUnknown@@PEAK@Z
+; class CRNumber * __ptr64 __cdecl CRGetRed(class CRColor * __ptr64)
+?CRGetRed@@YAPEAVCRNumber@@PEAVCRColor@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetSaturation(class CRColor * __ptr64)
+?CRGetSaturation@@YAPEAVCRNumber@@PEAVCRColor@@@Z
+; struct IServiceProvider * __ptr64 __cdecl CRGetServiceProvider(class CRView * __ptr64)
+?CRGetServiceProvider@@YAPEAUIServiceProvider@@PEAVCRView@@@Z
+; double __cdecl CRGetSimulationTime(class CRView * __ptr64)
+?CRGetSimulationTime@@YANPEAVCRView@@@Z
+; class CRViewSite * __ptr64 __cdecl CRGetSite(class CRView * __ptr64)
+?CRGetSite@@YAPEAVCRViewSite@@PEAVCRView@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetSize(class CRImportationResult * __ptr64)
+?CRGetSize@@YAPEAVCRNumber@@PEAVCRImportationResult@@@Z
+; class CRSound * __ptr64 __cdecl CRGetSound(class CRImportationResult * __ptr64)
+?CRGetSound@@YAPEAVCRSound@@PEAVCRImportationResult@@@Z
+; struct IUnknown * __ptr64 __cdecl CRGetTransform(class CRDXTransformResult * __ptr64)
+?CRGetTransform@@YAPEAUIUnknown@@PEAVCRDXTransformResult@@@Z
+; enum CR_BVR_TYPEID  __cdecl CRGetTypeId(class CRBvr * __ptr64)
+?CRGetTypeId@@YA?AW4CR_BVR_TYPEID@@PEAVCRBvr@@@Z
+; struct HWND__ * __ptr64 __cdecl CRGetWindow(class CRView * __ptr64)
+?CRGetWindow@@YAPEAUHWND__@@PEAVCRView@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetX(class CRPoint2 * __ptr64)
+?CRGetX@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetX(class CRPoint3 * __ptr64)
+?CRGetX@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetX(class CRVector2 * __ptr64)
+?CRGetX@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetX(class CRVector3 * __ptr64)
+?CRGetX@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetY(class CRPoint2 * __ptr64)
+?CRGetY@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetY(class CRPoint3 * __ptr64)
+?CRGetY@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetY(class CRVector2 * __ptr64)
+?CRGetY@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetY(class CRVector3 * __ptr64)
+?CRGetY@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetZ(class CRPoint3 * __ptr64)
+?CRGetZ@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
+; class CRNumber * __ptr64 __cdecl CRGetZ(class CRVector3 * __ptr64)
+?CRGetZ@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
+; class CRNumber * __ptr64 __cdecl CRGlobalTime(void)
+?CRGlobalTime@@YAPEAVCRNumber@@XZ
+; class CRImage * __ptr64 __cdecl CRGradientHorizontal(class CRColor * __ptr64,class CRColor * __ptr64,double)
+?CRGradientHorizontal@@YAPEAVCRImage@@PEAVCRColor@@0N@Z
+; class CRImage * __ptr64 __cdecl CRGradientHorizontal(class CRColor * __ptr64,class CRColor * __ptr64,class CRNumber * __ptr64)
+?CRGradientHorizontal@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRNumber@@@Z
+; class CRImage * __ptr64 __cdecl CRGradientPolygon(class CRArray * __ptr64,class CRArray * __ptr64)
+?CRGradientPolygon@@YAPEAVCRImage@@PEAVCRArray@@0@Z
+; class CRImage * __ptr64 __cdecl CRGradientSquare(class CRColor * __ptr64,class CRColor * __ptr64,class CRColor * __ptr64,class CRColor * __ptr64)
+?CRGradientSquare@@YAPEAVCRImage@@PEAVCRColor@@000@Z
+; class CRColor * __ptr64 __cdecl CRGray(void)
+?CRGray@@YAPEAVCRColor@@XZ
+; class CRColor * __ptr64 __cdecl CRGreen(void)
+?CRGreen@@YAPEAVCRColor@@XZ
+; class CRImage * __ptr64 __cdecl CRHatchBackwardDiagonal(class CRColor * __ptr64,double)
+?CRHatchBackwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@N@Z
+; class CRImage * __ptr64 __cdecl CRHatchBackwardDiagonal(class CRColor * __ptr64,class CRNumber * __ptr64)
+?CRHatchBackwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
+; class CRImage * __ptr64 __cdecl CRHatchCross(class CRColor * __ptr64,double)
+?CRHatchCross@@YAPEAVCRImage@@PEAVCRColor@@N@Z
+; class CRImage * __ptr64 __cdecl CRHatchCross(class CRColor * __ptr64,class CRNumber * __ptr64)
+?CRHatchCross@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
+; class CRImage * __ptr64 __cdecl CRHatchDiagonalCross(class CRColor * __ptr64,double)
+?CRHatchDiagonalCross@@YAPEAVCRImage@@PEAVCRColor@@N@Z
+; class CRImage * __ptr64 __cdecl CRHatchDiagonalCross(class CRColor * __ptr64,class CRNumber * __ptr64)
+?CRHatchDiagonalCross@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
+; class CRImage * __ptr64 __cdecl CRHatchForwardDiagonal(class CRColor * __ptr64,double)
+?CRHatchForwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@N@Z
+; class CRImage * __ptr64 __cdecl CRHatchForwardDiagonal(class CRColor * __ptr64,class CRNumber * __ptr64)
+?CRHatchForwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
+; class CRImage * __ptr64 __cdecl CRHatchHorizontal(class CRColor * __ptr64,double)
+?CRHatchHorizontal@@YAPEAVCRImage@@PEAVCRColor@@N@Z
+; class CRImage * __ptr64 __cdecl CRHatchHorizontal(class CRColor * __ptr64,class CRNumber * __ptr64)
+?CRHatchHorizontal@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
+; class CRImage * __ptr64 __cdecl CRHatchVertical(class CRColor * __ptr64,double)
+?CRHatchVertical@@YAPEAVCRImage@@PEAVCRColor@@N@Z
+; class CRImage * __ptr64 __cdecl CRHatchVertical(class CRColor * __ptr64,class CRNumber * __ptr64)
+?CRHatchVertical@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
+; class CRBvr * __ptr64 __cdecl CRHook(class CRBvr * __ptr64,class CRBvrHook * __ptr64)
+?CRHook@@YAPEAVCRBvr@@PEAV1@PEAVCRBvrHook@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRIdentityTransform2(void)
+?CRIdentityTransform2@@YAPEAVCRTransform2@@XZ
+; class CRTransform3 * __ptr64 __cdecl CRIdentityTransform3(void)
+?CRIdentityTransform3@@YAPEAVCRTransform3@@XZ
+; class CRMontage * __ptr64 __cdecl CRImageMontage(class CRImage * __ptr64,double)
+?CRImageMontage@@YAPEAVCRMontage@@PEAVCRImage@@N@Z
+; class CRMontage * __ptr64 __cdecl CRImageMontageAnim(class CRImage * __ptr64,class CRNumber * __ptr64)
+?CRImageMontageAnim@@YAPEAVCRMontage@@PEAVCRImage@@PEAVCRNumber@@@Z
+; class CRImage * __ptr64 __cdecl CRImageQuality(class CRImage * __ptr64,unsigned long)
+?CRImageQuality@@YAPEAVCRImage@@PEAV1@K@Z
+; bool __cdecl CRImportCancel(class CRBvr * __ptr64)
+?CRImportCancel@@YA_NPEAVCRBvr@@@Z
+; class CRGeometry * __ptr64 __cdecl CRImportDirect3DRMVisual(struct IUnknown * __ptr64)
+?CRImportDirect3DRMVisual@@YAPEAVCRGeometry@@PEAUIUnknown@@@Z
+; class CRGeometry * __ptr64 __cdecl CRImportDirect3DRMVisualWrapped(struct IUnknown * __ptr64,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
+?CRImportDirect3DRMVisualWrapped@@YAPEAVCRGeometry@@PEAUIUnknown@@JNNNNNNNNNNNNNK@Z
+; class CRImage * __ptr64 __cdecl CRImportDirectDrawSurface(struct IUnknown * __ptr64,class CREvent * __ptr64)
+?CRImportDirectDrawSurface@@YAPEAVCRImage@@PEAUIUnknown@@PEAVCREvent@@@Z
+; unsigned long __cdecl CRImportGeometry(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,class CRGeometry * __ptr64,class CRGeometry * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
+?CRImportGeometry@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@PEAVCRGeometry@@PEAPEAV3@PEAPEAVCREvent@@PEAPEAVCRNumber@@6@Z
+; unsigned long __cdecl CRImportGeometryWrapped(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,class CRGeometry * __ptr64,class CRGeometry * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
+?CRImportGeometryWrapped@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@PEAVCRGeometry@@PEAPEAV3@PEAPEAVCREvent@@PEAPEAVCRNumber@@6JNNNNNNNNNNNNNK@Z
+; unsigned long __cdecl CRImportImage(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,bool,unsigned char,unsigned char,unsigned char,class CRImage * __ptr64,class CRImage * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
+?CRImportImage@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@_NEEEPEAVCRImage@@PEAPEAV3@PEAPEAVCREvent@@PEAPEAVCRNumber@@7@Z
+; class CRImportationResult * __ptr64 __cdecl CRImportMedia(unsigned short * __ptr64,void * __ptr64,enum CR_MEDIA_SOURCE,void * __ptr64 * __ptr64 const,unsigned long,class CRImportSite * __ptr64)
+?CRImportMedia@@YAPEAVCRImportationResult@@PEAGPEAXW4CR_MEDIA_SOURCE@@QEAPEAXKPEAVCRImportSite@@@Z
+; unsigned long __cdecl CRImportMovie(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,bool,class CRImage * __ptr64,class CRSound * __ptr64,class CRImage * __ptr64 * __ptr64,class CRSound * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
+?CRImportMovie@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@_NPEAVCRImage@@PEAVCRSound@@PEAPEAV3@PEAPEAV4@PEAPEAVCRNumber@@PEAPEAVCREvent@@88@Z
+; unsigned long __cdecl CRImportSound(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,bool,class CRSound * __ptr64,class CRSound * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
+?CRImportSound@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@_NPEAVCRSound@@PEAPEAV3@PEAPEAVCRNumber@@PEAPEAVCREvent@@66@Z
+; long __cdecl CRImportStatus(class CRBvr * __ptr64)
+?CRImportStatus@@YAJPEAVCRBvr@@@Z
+; class CRBvr * __ptr64 __cdecl CRImportance(class CRBvr * __ptr64,double)
+?CRImportance@@YAPEAVCRBvr@@PEAV1@N@Z
+; bool __cdecl CRInit(class CRBvr * __ptr64,class CRBvr * __ptr64)
+?CRInit@@YA_NPEAVCRBvr@@0@Z
+; class CRNumber * __ptr64 __cdecl CRIntegral(class CRNumber * __ptr64)
+?CRIntegral@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRVector2 * __ptr64 __cdecl CRIntegral(class CRVector2 * __ptr64)
+?CRIntegral@@YAPEAVCRVector2@@PEAV1@@Z
+; class CRVector3 * __ptr64 __cdecl CRIntegral(class CRVector3 * __ptr64)
+?CRIntegral@@YAPEAVCRVector3@@PEAV1@@Z
+; class CRNumber * __ptr64 __cdecl CRInterpolate(double,double,double)
+?CRInterpolate@@YAPEAVCRNumber@@NNN@Z
+; class CRNumber * __ptr64 __cdecl CRInterpolate(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRInterpolate@@YAPEAVCRNumber@@PEAV1@00@Z
+; class CRMatte * __ptr64 __cdecl CRIntersectMatte(class CRMatte * __ptr64,class CRMatte * __ptr64)
+?CRIntersectMatte@@YAPEAVCRMatte@@PEAV1@0@Z
+; class CRTransform2 * __ptr64 __cdecl CRInverse(class CRTransform2 * __ptr64)
+?CRInverse@@YAPEAVCRTransform2@@PEAV1@@Z
+; class CRTransform3 * __ptr64 __cdecl CRInverse(class CRTransform3 * __ptr64)
+?CRInverse@@YAPEAVCRTransform3@@PEAV1@@Z
+; bool __cdecl CRIsConnected(struct HINSTANCE__ * __ptr64)
+?CRIsConnected@@YA_NPEAUHINSTANCE__@@@Z
+; bool __cdecl CRIsConstantBvr(class CRBvr * __ptr64)
+?CRIsConstantBvr@@YA_NPEAVCRBvr@@@Z
+; bool __cdecl CRIsImport(class CRBvr * __ptr64)
+?CRIsImport@@YA_NPEAVCRBvr@@@Z
+; bool __cdecl CRIsModifiableBvr(class CRBvr * __ptr64)
+?CRIsModifiableBvr@@YA_NPEAVCRBvr@@@Z
+; bool __cdecl CRIsReady(class CRBvr * __ptr64,bool)
+?CRIsReady@@YA_NPEAVCRBvr@@_N@Z
+; class CRBoolean * __ptr64 __cdecl CRIsSingular(class CRTransform2 * __ptr64)
+?CRIsSingular@@YAPEAVCRBoolean@@PEAVCRTransform2@@@Z
+; class CRBoolean * __ptr64 __cdecl CRIsSingular(class CRTransform3 * __ptr64)
+?CRIsSingular@@YAPEAVCRBoolean@@PEAVCRTransform3@@@Z
+; class CRFontStyle * __ptr64 __cdecl CRItalic(class CRFontStyle * __ptr64)
+?CRItalic@@YAPEAVCRFontStyle@@PEAV1@@Z
+; class CRLineStyle * __ptr64 __cdecl CRJoin(class CRLineStyle * __ptr64,class CRJoinStyle * __ptr64)
+?CRJoin@@YAPEAVCRLineStyle@@PEAV1@PEAVCRJoinStyle@@@Z
+; class CRLineStyle * __ptr64 __cdecl CRJoinEx(class CRLineStyle * __ptr64,unsigned long)
+?CRJoinEx@@YAPEAVCRLineStyle@@PEAV1@K@Z
+; class CRJoinStyle * __ptr64 __cdecl CRJoinStyleBevel(void)
+?CRJoinStyleBevel@@YAPEAVCRJoinStyle@@XZ
+; class CRJoinStyle * __ptr64 __cdecl CRJoinStyleMiter(void)
+?CRJoinStyleMiter@@YAPEAVCRJoinStyle@@XZ
+; class CRJoinStyle * __ptr64 __cdecl CRJoinStyleRound(void)
+?CRJoinStyleRound@@YAPEAVCRJoinStyle@@XZ
+; class CREvent * __ptr64 __cdecl CRKeyDown(long)
+?CRKeyDown@@YAPEAVCREvent@@J@Z
+; class CRBoolean * __ptr64 __cdecl CRKeyState(class CRNumber * __ptr64)
+?CRKeyState@@YAPEAVCRBoolean@@PEAVCRNumber@@@Z
+; class CREvent * __ptr64 __cdecl CRKeyUp(long)
+?CRKeyUp@@YAPEAVCREvent@@J@Z
+; class CRBoolean * __ptr64 __cdecl CRLT(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRLT@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
+; class CRBoolean * __ptr64 __cdecl CRLTE(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRLTE@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
+; class CREvent * __ptr64 __cdecl CRLeftButtonDown(void)
+?CRLeftButtonDown@@YAPEAVCREvent@@XZ
+; class CRBoolean * __ptr64 __cdecl CRLeftButtonState(void)
+?CRLeftButtonState@@YAPEAVCRBoolean@@XZ
+; class CREvent * __ptr64 __cdecl CRLeftButtonUp(void)
+?CRLeftButtonUp@@YAPEAVCREvent@@XZ
+; long __cdecl CRLength(class CRTuple * __ptr64)
+?CRLength@@YAJPEAVCRTuple@@@Z
+; class CRNumber * __ptr64 __cdecl CRLength(class CRArray * __ptr64)
+?CRLength@@YAPEAVCRNumber@@PEAVCRArray@@@Z
+; class CRNumber * __ptr64 __cdecl CRLength(class CRVector2 * __ptr64)
+?CRLength@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
+; class CRNumber * __ptr64 __cdecl CRLength(class CRVector3 * __ptr64)
+?CRLength@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
+; class CRNumber * __ptr64 __cdecl CRLengthSquared(class CRVector2 * __ptr64)
+?CRLengthSquared@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
+; class CRNumber * __ptr64 __cdecl CRLengthSquared(class CRVector3 * __ptr64)
+?CRLengthSquared@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
+; class CRGeometry * __ptr64 __cdecl CRLightAttenuation(class CRGeometry * __ptr64,double,double,double)
+?CRLightAttenuation@@YAPEAVCRGeometry@@PEAV1@NNN@Z
+; class CRGeometry * __ptr64 __cdecl CRLightAttenuation(class CRGeometry * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRLightAttenuation@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@11@Z
+; class CRGeometry * __ptr64 __cdecl CRLightColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
+?CRLightColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
+; class CRGeometry * __ptr64 __cdecl CRLightRange(class CRGeometry * __ptr64,double)
+?CRLightRange@@YAPEAVCRGeometry@@PEAV1@N@Z
+; class CRGeometry * __ptr64 __cdecl CRLightRange(class CRGeometry * __ptr64,class CRNumber * __ptr64)
+?CRLightRange@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@@Z
+; class CRGeometry * __ptr64 __cdecl CRLighting(class CRGeometry * __ptr64,class CRBoolean * __ptr64)
+?CRLighting@@YAPEAVCRGeometry@@PEAV1@PEAVCRBoolean@@@Z
+; class CRColor * __ptr64 __cdecl CRLime(void)
+?CRLime@@YAPEAVCRColor@@XZ
+; class CRPath2 * __ptr64 __cdecl CRLine(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
+?CRLine@@YAPEAVCRPath2@@PEAVCRPoint2@@0@Z
+; class CRLineStyle * __ptr64 __cdecl CRLineColor(class CRLineStyle * __ptr64,class CRColor * __ptr64)
+?CRLineColor@@YAPEAVCRLineStyle@@PEAV1@PEAVCRColor@@@Z
+; class CRImage * __ptr64 __cdecl CRLinearGradientMulticolor(class CRArray * __ptr64,class CRArray * __ptr64)
+?CRLinearGradientMulticolor@@YAPEAVCRImage@@PEAVCRArray@@0@Z
+; class CRNumber * __ptr64 __cdecl CRLn(class CRNumber * __ptr64)
+?CRLn@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRNumber * __ptr64 __cdecl CRLocalTime(void)
+?CRLocalTime@@YAPEAVCRNumber@@XZ
+; class CRNumber * __ptr64 __cdecl CRLog10(class CRNumber * __ptr64)
+?CRLog10@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRTransform3 * __ptr64 __cdecl CRLookAtFrom(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
+?CRLookAtFrom@@YAPEAVCRTransform3@@PEAVCRPoint3@@0PEAVCRVector3@@@Z
+; class CRSound * __ptr64 __cdecl CRLoop(class CRSound * __ptr64)
+?CRLoop@@YAPEAVCRSound@@PEAV1@@Z
+; class CRColor * __ptr64 __cdecl CRMagenta(void)
+?CRMagenta@@YAPEAVCRColor@@XZ
+; class CRImage * __ptr64 __cdecl CRMapToUnitSquare(class CRImage * __ptr64)
+?CRMapToUnitSquare@@YAPEAVCRImage@@PEAV1@@Z
+; class CRColor * __ptr64 __cdecl CRMaroon(void)
+?CRMaroon@@YAPEAVCRColor@@XZ
+; class CRPoint2 * __ptr64 __cdecl CRMax(class CRBbox2 * __ptr64)
+?CRMax@@YAPEAVCRPoint2@@PEAVCRBbox2@@@Z
+; class CRPoint3 * __ptr64 __cdecl CRMax(class CRBbox3 * __ptr64)
+?CRMax@@YAPEAVCRPoint3@@PEAVCRBbox3@@@Z
+; class CRPoint2 * __ptr64 __cdecl CRMin(class CRBbox2 * __ptr64)
+?CRMin@@YAPEAVCRPoint2@@PEAVCRBbox2@@@Z
+; class CRPoint3 * __ptr64 __cdecl CRMin(class CRBbox3 * __ptr64)
+?CRMin@@YAPEAVCRPoint3@@PEAVCRBbox3@@@Z
+; class CRLineStyle * __ptr64 __cdecl CRMiterLimit(class CRLineStyle * __ptr64,double)
+?CRMiterLimit@@YAPEAVCRLineStyle@@PEAV1@N@Z
+; class CRLineStyle * __ptr64 __cdecl CRMiterLimit(class CRLineStyle * __ptr64,class CRNumber * __ptr64)
+?CRMiterLimit@@YAPEAVCRLineStyle@@PEAV1@PEAVCRNumber@@@Z
+; class CRSound * __ptr64 __cdecl CRMix(class CRSound * __ptr64,class CRSound * __ptr64)
+?CRMix@@YAPEAVCRSound@@PEAV1@0@Z
+; class CRSound * __ptr64 __cdecl CRMix(class CRArray * __ptr64)
+?CRMix@@YAPEAVCRSound@@PEAVCRArray@@@Z
+; class CRNumber * __ptr64 __cdecl CRMod(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRMod@@YAPEAVCRNumber@@PEAV1@0@Z
+; class CRGeometry * __ptr64 __cdecl CRModelClip(class CRGeometry * __ptr64,class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
+?CRModelClip@@YAPEAVCRGeometry@@PEAV1@PEAVCRPoint3@@PEAVCRVector3@@@Z
+; class CRBvr * __ptr64 __cdecl CRModifiableBvr(class CRBvr * __ptr64,unsigned long)
+?CRModifiableBvr@@YAPEAVCRBvr@@PEAV1@K@Z
+; class CRNumber * __ptr64 __cdecl CRModifiableNumber(double)
+?CRModifiableNumber@@YAPEAVCRNumber@@N@Z
+; class CRString * __ptr64 __cdecl CRModifiableString(unsigned short * __ptr64)
+?CRModifiableString@@YAPEAVCRString@@PEAG@Z
+; class CRPoint2 * __ptr64 __cdecl CRMousePosition(void)
+?CRMousePosition@@YAPEAVCRPoint2@@XZ
+; class CRNumber * __ptr64 __cdecl CRMul(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRMul@@YAPEAVCRNumber@@PEAV1@0@Z
+; class CRVector2 * __ptr64 __cdecl CRMul(class CRVector2 * __ptr64,double)
+?CRMul@@YAPEAVCRVector2@@PEAV1@N@Z
+; class CRVector2 * __ptr64 __cdecl CRMul(class CRVector2 * __ptr64,class CRNumber * __ptr64)
+?CRMul@@YAPEAVCRVector2@@PEAV1@PEAVCRNumber@@@Z
+; class CRVector3 * __ptr64 __cdecl CRMul(class CRVector3 * __ptr64,double)
+?CRMul@@YAPEAVCRVector3@@PEAV1@N@Z
+; class CRVector3 * __ptr64 __cdecl CRMul(class CRVector3 * __ptr64,class CRNumber * __ptr64)
+?CRMul@@YAPEAVCRVector3@@PEAV1@PEAVCRNumber@@@Z
+; class CRBoolean * __ptr64 __cdecl CRNE(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRNE@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
+; class CRColor * __ptr64 __cdecl CRNavy(void)
+?CRNavy@@YAPEAVCRColor@@XZ
+; class CRNumber * __ptr64 __cdecl CRNeg(class CRNumber * __ptr64)
+?CRNeg@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRVector2 * __ptr64 __cdecl CRNeg(class CRVector2 * __ptr64)
+?CRNeg@@YAPEAVCRVector2@@PEAV1@@Z
+; class CRVector3 * __ptr64 __cdecl CRNeg(class CRVector3 * __ptr64)
+?CRNeg@@YAPEAVCRVector3@@PEAV1@@Z
+; class CREvent * __ptr64 __cdecl CRNever(void)
+?CRNever@@YAPEAVCREvent@@XZ
+; class CRVector2 * __ptr64 __cdecl CRNormalize(class CRVector2 * __ptr64)
+?CRNormalize@@YAPEAVCRVector2@@PEAV1@@Z
+; class CRVector3 * __ptr64 __cdecl CRNormalize(class CRVector3 * __ptr64)
+?CRNormalize@@YAPEAVCRVector3@@PEAV1@@Z
+; class CRBoolean * __ptr64 __cdecl CRNot(class CRBoolean * __ptr64)
+?CRNot@@YAPEAVCRBoolean@@PEAV1@@Z
+; class CREvent * __ptr64 __cdecl CRNotEvent(class CREvent * __ptr64)
+?CRNotEvent@@YAPEAVCREvent@@PEAV1@@Z
+; class CREvent * __ptr64 __cdecl CRNotify(class CREvent * __ptr64,class CRUntilNotifier * __ptr64)
+?CRNotify@@YAPEAVCREvent@@PEAV1@PEAVCRUntilNotifier@@@Z
+; class CRBvr * __ptr64 __cdecl CRNth(class CRArray * __ptr64,class CRNumber * __ptr64)
+?CRNth@@YAPEAVCRBvr@@PEAVCRArray@@PEAVCRNumber@@@Z
+; class CRBvr * __ptr64 __cdecl CRNth(class CRTuple * __ptr64,long)
+?CRNth@@YAPEAVCRBvr@@PEAVCRTuple@@J@Z
+; class CRColor * __ptr64 __cdecl CROlive(void)
+?CROlive@@YAPEAVCRColor@@XZ
+; bool __cdecl CROnFocus(class CRView * __ptr64,bool)
+?CROnFocus@@YA_NPEAVCRView@@_N@Z
+; bool __cdecl CROnKey(class CRView * __ptr64,double,long,bool,unsigned char)
+?CROnKey@@YA_NPEAVCRView@@NJ_NE@Z
+; bool __cdecl CROnMouseButton(class CRView * __ptr64,double,long,long,unsigned char,bool,unsigned char)
+?CROnMouseButton@@YA_NPEAVCRView@@NJJE_NE@Z
+; bool __cdecl CROnMouseLeave(class CRView * __ptr64,double)
+?CROnMouseLeave@@YA_NPEAVCRView@@N@Z
+; bool __cdecl CROnMouseMove(class CRView * __ptr64,double,long,long,unsigned char)
+?CROnMouseMove@@YA_NPEAVCRView@@NJJE@Z
+; class CRGeometry * __ptr64 __cdecl CROpacity(class CRGeometry * __ptr64,double)
+?CROpacity@@YAPEAVCRGeometry@@PEAV1@N@Z
+; class CRGeometry * __ptr64 __cdecl CROpacity(class CRGeometry * __ptr64,class CRNumber * __ptr64)
+?CROpacity@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@@Z
+; class CRImage * __ptr64 __cdecl CROpacity(class CRImage * __ptr64,double)
+?CROpacity@@YAPEAVCRImage@@PEAV1@N@Z
+; class CRImage * __ptr64 __cdecl CROpacity(class CRImage * __ptr64,class CRNumber * __ptr64)
+?CROpacity@@YAPEAVCRImage@@PEAV1@PEAVCRNumber@@@Z
+; class CRMatte * __ptr64 __cdecl CROpaqueMatte(void)
+?CROpaqueMatte@@YAPEAVCRMatte@@XZ
+; class CRBoolean * __ptr64 __cdecl CROr(class CRBoolean * __ptr64,class CRBoolean * __ptr64)
+?CROr@@YAPEAVCRBoolean@@PEAV1@0@Z
+; class CREvent * __ptr64 __cdecl CROrEvent(class CREvent * __ptr64,class CREvent * __ptr64)
+?CROrEvent@@YAPEAVCREvent@@PEAV1@0@Z
+; class CRPoint2 * __ptr64 __cdecl CROrigin2(void)
+?CROrigin2@@YAPEAVCRPoint2@@XZ
+; class CRPoint3 * __ptr64 __cdecl CROrigin3(void)
+?CROrigin3@@YAPEAVCRPoint3@@XZ
+; class CRPath2 * __ptr64 __cdecl CROval(double,double)
+?CROval@@YAPEAVCRPath2@@NN@Z
+; class CRPath2 * __ptr64 __cdecl CROval(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CROval@@YAPEAVCRPath2@@PEAVCRNumber@@0@Z
+; class CRImage * __ptr64 __cdecl CROverlay(class CRImage * __ptr64,class CRImage * __ptr64)
+?CROverlay@@YAPEAVCRImage@@PEAV1@0@Z
+; class CRImage * __ptr64 __cdecl CROverlay(class CRArray * __ptr64)
+?CROverlay@@YAPEAVCRImage@@PEAVCRArray@@@Z
+; class CRSound * __ptr64 __cdecl CRPan(class CRSound * __ptr64,double)
+?CRPan@@YAPEAVCRSound@@PEAV1@N@Z
+; class CRSound * __ptr64 __cdecl CRPan(class CRSound * __ptr64,class CRNumber * __ptr64)
+?CRPan@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
+; class CRCamera * __ptr64 __cdecl CRParallelCamera(double)
+?CRParallelCamera@@YAPEAVCRCamera@@N@Z
+; class CRCamera * __ptr64 __cdecl CRParallelCameraAnim(class CRNumber * __ptr64)
+?CRParallelCameraAnim@@YAPEAVCRCamera@@PEAVCRNumber@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRParallelTransform2(class CRTransform3 * __ptr64)
+?CRParallelTransform2@@YAPEAVCRTransform2@@PEAVCRTransform3@@@Z
+; bool __cdecl CRPauseModel(class CRView * __ptr64)
+?CRPauseModel@@YA_NPEAVCRView@@@Z
+; class CRCamera * __ptr64 __cdecl CRPerspectiveCamera(double,double)
+?CRPerspectiveCamera@@YAPEAVCRCamera@@NN@Z
+; class CRCamera * __ptr64 __cdecl CRPerspectiveCameraAnim(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRPerspectiveCameraAnim@@YAPEAVCRCamera@@PEAVCRNumber@@0@Z
+; class CRSound * __ptr64 __cdecl CRPhase(class CRSound * __ptr64,double)
+?CRPhase@@YAPEAVCRSound@@PEAV1@N@Z
+; class CRSound * __ptr64 __cdecl CRPhase(class CRSound * __ptr64,class CRNumber * __ptr64)
+?CRPhase@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
+; class CRPickableResult * __ptr64 __cdecl CRPickable(class CRGeometry * __ptr64)
+?CRPickable@@YAPEAVCRPickableResult@@PEAVCRGeometry@@@Z
+; class CRPickableResult * __ptr64 __cdecl CRPickable(class CRImage * __ptr64)
+?CRPickable@@YAPEAVCRPickableResult@@PEAVCRImage@@@Z
+; class CRPickableResult * __ptr64 __cdecl CRPickableOccluded(class CRGeometry * __ptr64)
+?CRPickableOccluded@@YAPEAVCRPickableResult@@PEAVCRGeometry@@@Z
+; class CRPickableResult * __ptr64 __cdecl CRPickableOccluded(class CRImage * __ptr64)
+?CRPickableOccluded@@YAPEAVCRPickableResult@@PEAVCRImage@@@Z
+; class CRPath2 * __ptr64 __cdecl CRPie(double,double,double,double)
+?CRPie@@YAPEAVCRPath2@@NNNN@Z
+; class CRPath2 * __ptr64 __cdecl CRPieRadians(double,double,double,double)
+?CRPieRadians@@YAPEAVCRPath2@@NNNN@Z
+; class CRPath2 * __ptr64 __cdecl CRPieRadians(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRPieRadians@@YAPEAVCRPath2@@PEAVCRNumber@@000@Z
+; class CRNumber * __ptr64 __cdecl CRPixel(void)
+?CRPixel@@YAPEAVCRNumber@@XZ
+; class CRPoint2 * __ptr64 __cdecl CRPoint2Polar(double,double)
+?CRPoint2Polar@@YAPEAVCRPoint2@@NN@Z
+; class CRPoint2 * __ptr64 __cdecl CRPoint2Polar(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRPoint2Polar@@YAPEAVCRPoint2@@PEAVCRNumber@@0@Z
+; class CRPoint3 * __ptr64 __cdecl CRPoint3Spherical(double,double,double)
+?CRPoint3Spherical@@YAPEAVCRPoint3@@NNN@Z
+; class CRPoint3 * __ptr64 __cdecl CRPoint3Spherical(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRPoint3Spherical@@YAPEAVCRPoint3@@PEAVCRNumber@@00@Z
+; class CRGeometry * __ptr64 __cdecl CRPointLight(void)
+?CRPointLight@@YAPEAVCRGeometry@@XZ
+; class CRNumber * __ptr64 __cdecl CRPolarCoordAngle(class CRPoint2 * __ptr64)
+?CRPolarCoordAngle@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
+; class CRNumber * __ptr64 __cdecl CRPolarCoordAngle(class CRVector2 * __ptr64)
+?CRPolarCoordAngle@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
+; class CRNumber * __ptr64 __cdecl CRPolarCoordLength(class CRPoint2 * __ptr64)
+?CRPolarCoordLength@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
+; class CRNumber * __ptr64 __cdecl CRPolarCoordLength(class CRVector2 * __ptr64)
+?CRPolarCoordLength@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
+; class CRPath2 * __ptr64 __cdecl CRPolydrawPath(double * __ptr64,unsigned int,double * __ptr64,unsigned int)
+?CRPolydrawPath@@YAPEAVCRPath2@@PEANI0I@Z
+; class CRPath2 * __ptr64 __cdecl CRPolydrawPath(class CRArray * __ptr64,class CRArray * __ptr64)
+?CRPolydrawPath@@YAPEAVCRPath2@@PEAVCRArray@@0@Z
+; class CRPath2 * __ptr64 __cdecl CRPolyline(class CRArray * __ptr64)
+?CRPolyline@@YAPEAVCRPath2@@PEAVCRArray@@@Z
+; class CRNumber * __ptr64 __cdecl CRPow(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRPow@@YAPEAVCRNumber@@PEAV1@0@Z
+; class CREvent * __ptr64 __cdecl CRPredicate(class CRBoolean * __ptr64)
+?CRPredicate@@YAPEAVCREvent@@PEAVCRBoolean@@@Z
+; class CRPoint2 * __ptr64 __cdecl CRProject(class CRPoint3 * __ptr64,class CRCamera * __ptr64)
+?CRProject@@YAPEAVCRPoint2@@PEAVCRPoint3@@PEAVCRCamera@@@Z
+; bool __cdecl CRPropagate(class CRView * __ptr64)
+?CRPropagate@@YA_NPEAVCRView@@@Z
+; class CRColor * __ptr64 __cdecl CRPurple(void)
+?CRPurple@@YAPEAVCRColor@@XZ
+; bool __cdecl CRPutPreference(class CRView * __ptr64,unsigned short * __ptr64,struct tagVARIANT)
+?CRPutPreference@@YA_NPEAVCRView@@PEAGUtagVARIANT@@@Z
+; unsigned long __cdecl CRQueryHitPoint(class CRView * __ptr64,unsigned long,struct tagRECT const * __ptr64,struct tagPOINT,long)
+?CRQueryHitPoint@@YAKPEAVCRView@@KPEBUtagRECT@@UtagPOINT@@J@Z
+; long __cdecl CRQueryHitPointEx(class CRView * __ptr64,long,unsigned __int64 * __ptr64,double * __ptr64,struct tagRECT const * __ptr64,struct tagPOINT)
+?CRQueryHitPointEx@@YAJPEAVCRView@@JPEA_KPEANPEBUtagRECT@@UtagPOINT@@@Z
+; class CRImage * __ptr64 __cdecl CRRadialGradientMulticolor(class CRArray * __ptr64,class CRArray * __ptr64)
+?CRRadialGradientMulticolor@@YAPEAVCRImage@@PEAVCRArray@@0@Z
+; class CRImage * __ptr64 __cdecl CRRadialGradientPolygon(class CRColor * __ptr64,class CRColor * __ptr64,class CRArray * __ptr64,double)
+?CRRadialGradientPolygon@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRArray@@N@Z
+; class CRImage * __ptr64 __cdecl CRRadialGradientPolygon(class CRColor * __ptr64,class CRColor * __ptr64,class CRArray * __ptr64,class CRNumber * __ptr64)
+?CRRadialGradientPolygon@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRArray@@PEAVCRNumber@@@Z
+; class CRImage * __ptr64 __cdecl CRRadialGradientRegularPoly(class CRColor * __ptr64,class CRColor * __ptr64,double,double)
+?CRRadialGradientRegularPoly@@YAPEAVCRImage@@PEAVCRColor@@0NN@Z
+; class CRImage * __ptr64 __cdecl CRRadialGradientRegularPoly(class CRColor * __ptr64,class CRColor * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRRadialGradientRegularPoly@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRNumber@@1@Z
+; class CRImage * __ptr64 __cdecl CRRadialGradientSquare(class CRColor * __ptr64,class CRColor * __ptr64,double)
+?CRRadialGradientSquare@@YAPEAVCRImage@@PEAVCRColor@@0N@Z
+; class CRImage * __ptr64 __cdecl CRRadialGradientSquare(class CRColor * __ptr64,class CRColor * __ptr64,class CRNumber * __ptr64)
+?CRRadialGradientSquare@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRNumber@@@Z
+; class CRSound * __ptr64 __cdecl CRRate(class CRSound * __ptr64,double)
+?CRRate@@YAPEAVCRSound@@PEAV1@N@Z
+; class CRSound * __ptr64 __cdecl CRRate(class CRSound * __ptr64,class CRNumber * __ptr64)
+?CRRate@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
+; class CRPath2 * __ptr64 __cdecl CRRay(class CRPoint2 * __ptr64)
+?CRRay@@YAPEAVCRPath2@@PEAVCRPoint2@@@Z
+; class CRPath2 * __ptr64 __cdecl CRRect(double,double)
+?CRRect@@YAPEAVCRPath2@@NN@Z
+; class CRPath2 * __ptr64 __cdecl CRRect(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRRect@@YAPEAVCRPath2@@PEAVCRNumber@@0@Z
+; class CRColor * __ptr64 __cdecl CRRed(void)
+?CRRed@@YAPEAVCRColor@@XZ
+; bool __cdecl CRReleaseGC(void * __ptr64)
+?CRReleaseGC@@YA_NPEAX@Z
+; bool __cdecl CRReleaseGCLock(void)
+?CRReleaseGCLock@@YA_NXZ
+; bool __cdecl CRRemoveElement(class CRArray * __ptr64,long)
+?CRRemoveElement@@YA_NPEAVCRArray@@J@Z
+; bool __cdecl CRRemoveRunningBvr(class CRView * __ptr64,long)
+?CRRemoveRunningBvr@@YA_NPEAVCRView@@J@Z
+; bool __cdecl CRRemoveSite(class CRSite * __ptr64)
+?CRRemoveSite@@YA_NPEAVCRSite@@@Z
+; class CRImage * __ptr64 __cdecl CRRender(class CRGeometry * __ptr64,class CRCamera * __ptr64)
+?CRRender@@YAPEAVCRImage@@PEAVCRGeometry@@PEAVCRCamera@@@Z
+; class CRImage * __ptr64 __cdecl CRRender(class CRMontage * __ptr64)
+?CRRender@@YAPEAVCRImage@@PEAVCRMontage@@@Z
+; bool __cdecl CRRender(class CRView * __ptr64)
+?CRRender@@YA_NPEAVCRView@@@Z
+; class CRImage * __ptr64 __cdecl CRRenderResolution(class CRImage * __ptr64,long,long)
+?CRRenderResolution@@YAPEAVCRImage@@PEAV1@JJ@Z
+; class CRSound * __ptr64 __cdecl CRRenderSound(class CRGeometry * __ptr64,class CRMicrophone * __ptr64)
+?CRRenderSound@@YAPEAVCRSound@@PEAVCRGeometry@@PEAVCRMicrophone@@@Z
+; bool __cdecl CRRepaint(class CRView * __ptr64,long,long,long,long)
+?CRRepaint@@YA_NPEAVCRView@@JJJJ@Z
+; class CRBvr * __ptr64 __cdecl CRRepeat(class CRBvr * __ptr64,long)
+?CRRepeat@@YAPEAVCRBvr@@PEAV1@J@Z
+; class CRBvr * __ptr64 __cdecl CRRepeatForever(class CRBvr * __ptr64)
+?CRRepeatForever@@YAPEAVCRBvr@@PEAV1@@Z
+; bool __cdecl CRResumeModel(class CRView * __ptr64)
+?CRResumeModel@@YA_NPEAVCRView@@@Z
+; class CREvent * __ptr64 __cdecl CRRightButtonDown(void)
+?CRRightButtonDown@@YAPEAVCREvent@@XZ
+; class CRBoolean * __ptr64 __cdecl CRRightButtonState(void)
+?CRRightButtonState@@YAPEAVCRBoolean@@XZ
+; class CREvent * __ptr64 __cdecl CRRightButtonUp(void)
+?CRRightButtonUp@@YAPEAVCREvent@@XZ
+; class CRTransform2 * __ptr64 __cdecl CRRotate2(double)
+?CRRotate2@@YAPEAVCRTransform2@@N@Z
+; class CRTransform2 * __ptr64 __cdecl CRRotate2(class CRNumber * __ptr64)
+?CRRotate2@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRRotate2Degrees(double)
+?CRRotate2Degrees@@YAPEAVCRTransform2@@N@Z
+; class CRTransform3 * __ptr64 __cdecl CRRotate3(class CRVector3 * __ptr64,double)
+?CRRotate3@@YAPEAVCRTransform3@@PEAVCRVector3@@N@Z
+; class CRTransform3 * __ptr64 __cdecl CRRotate3(class CRVector3 * __ptr64,class CRNumber * __ptr64)
+?CRRotate3@@YAPEAVCRTransform3@@PEAVCRVector3@@PEAVCRNumber@@@Z
+; class CRNumber * __ptr64 __cdecl CRRound(class CRNumber * __ptr64)
+?CRRound@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRPath2 * __ptr64 __cdecl CRRoundRect(double,double,double,double)
+?CRRoundRect@@YAPEAVCRPath2@@NNNN@Z
+; class CRPath2 * __ptr64 __cdecl CRRoundRect(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRRoundRect@@YAPEAVCRPath2@@PEAVCRNumber@@000@Z
+; class CRBvr * __ptr64 __cdecl CRRunOnce(class CRBvr * __ptr64)
+?CRRunOnce@@YAPEAVCRBvr@@PEAV1@@Z
+; class CRBvr * __ptr64 __cdecl CRSampleAtLocalTime(class CRBvr * __ptr64,double)
+?CRSampleAtLocalTime@@YAPEAVCRBvr@@PEAV1@N@Z
+; class CRTransform2 * __ptr64 __cdecl CRScale2(double,double)
+?CRScale2@@YAPEAVCRTransform2@@NN@Z
+; class CRTransform2 * __ptr64 __cdecl CRScale2(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRScale2@@YAPEAVCRTransform2@@PEAVCRNumber@@0@Z
+; class CRTransform2 * __ptr64 __cdecl CRScale2(class CRVector2 * __ptr64)
+?CRScale2@@YAPEAVCRTransform2@@PEAVCRVector2@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRScale2Uniform(double)
+?CRScale2Uniform@@YAPEAVCRTransform2@@N@Z
+; class CRTransform2 * __ptr64 __cdecl CRScale2Uniform(class CRNumber * __ptr64)
+?CRScale2Uniform@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
+; class CRTransform3 * __ptr64 __cdecl CRScale3(double,double,double)
+?CRScale3@@YAPEAVCRTransform3@@NNN@Z
+; class CRTransform3 * __ptr64 __cdecl CRScale3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRScale3@@YAPEAVCRTransform3@@PEAVCRNumber@@00@Z
+; class CRTransform3 * __ptr64 __cdecl CRScale3(class CRVector3 * __ptr64)
+?CRScale3@@YAPEAVCRTransform3@@PEAVCRVector3@@@Z
+; class CRTransform3 * __ptr64 __cdecl CRScale3Uniform(double)
+?CRScale3Uniform@@YAPEAVCRTransform3@@N@Z
+; class CRTransform3 * __ptr64 __cdecl CRScale3Uniform(class CRNumber * __ptr64)
+?CRScale3Uniform@@YAPEAVCRTransform3@@PEAVCRNumber@@@Z
+; class CRBvr * __ptr64 __cdecl CRSecond(class CRPair * __ptr64)
+?CRSecond@@YAPEAVCRBvr@@PEAVCRPair@@@Z
+; class CRNumber * __ptr64 __cdecl CRSeededRandom(double)
+?CRSeededRandom@@YAPEAVCRNumber@@N@Z
+; class CRBvr * __ptr64 __cdecl CRSequence(class CRBvr * __ptr64,class CRBvr * __ptr64)
+?CRSequence@@YAPEAVCRBvr@@PEAV1@0@Z
+; class CRBvr * __ptr64 __cdecl CRSequenceArray(long,class CRBvr * __ptr64 * __ptr64 const)
+?CRSequenceArray@@YAPEAVCRBvr@@JQEAPEAV1@@Z
+; bool __cdecl CRSetBvrAsProperty(class CRDXTransformResult * __ptr64,unsigned short const * __ptr64,class CRBvr * __ptr64)
+?CRSetBvrAsProperty@@YA_NPEAVCRDXTransformResult@@PEBGPEAVCRBvr@@@Z
+; bool __cdecl CRSetClipRect(class CRView * __ptr64,long,long,long,long)
+?CRSetClipRect@@YA_NPEAVCRView@@JJJJ@Z
+; bool __cdecl CRSetCompositeDirectlyToTarget(class CRView * __ptr64,bool)
+?CRSetCompositeDirectlyToTarget@@YA_NPEAVCRView@@_N@Z
+; bool __cdecl CRSetDC(class CRView * __ptr64,struct HDC__ * __ptr64)
+?CRSetDC@@YA_NPEAVCRView@@PEAUHDC__@@@Z
+; bool __cdecl CRSetDirectDrawSurface(class CRView * __ptr64,struct IUnknown * __ptr64)
+?CRSetDirectDrawSurface@@YA_NPEAVCRView@@PEAUIUnknown@@@Z
+; bool __cdecl CRSetElement(class CRArray * __ptr64,long,class CRBvr * __ptr64,long)
+?CRSetElement@@YA_NPEAVCRArray@@JPEAVCRBvr@@J@Z
+; bool __cdecl CRSetImportPriority(class CRBvr * __ptr64,float)
+?CRSetImportPriority@@YA_NPEAVCRBvr@@M@Z
+; void __cdecl CRSetLastError(long,unsigned short const * __ptr64)
+?CRSetLastError@@YAXJPEBG@Z
+; bool __cdecl CRSetServiceProvider(class CRView * __ptr64,struct IServiceProvider * __ptr64)
+?CRSetServiceProvider@@YA_NPEAVCRView@@PEAUIServiceProvider@@@Z
+; bool __cdecl CRSetSite(class CRView * __ptr64,class CRViewSite * __ptr64)
+?CRSetSite@@YA_NPEAVCRView@@PEAVCRViewSite@@@Z
+; bool __cdecl CRSetViewport(class CRView * __ptr64,long,long,long,long)
+?CRSetViewport@@YA_NPEAVCRView@@JJJJ@Z
+; bool __cdecl CRSetWindow(class CRView * __ptr64,struct HWND__ * __ptr64)
+?CRSetWindow@@YA_NPEAVCRView@@PEAUHWND__@@@Z
+; class CRGeometry * __ptr64 __cdecl CRShadow(class CRGeometry * __ptr64,class CRGeometry * __ptr64,class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
+?CRShadow@@YAPEAVCRGeometry@@PEAV1@0PEAVCRPoint3@@PEAVCRVector3@@@Z
+; class CRSound * __ptr64 __cdecl CRSilence(void)
+?CRSilence@@YAPEAVCRSound@@XZ
+; class CRColor * __ptr64 __cdecl CRSilver(void)
+?CRSilver@@YAPEAVCRColor@@XZ
+; class CRNumber * __ptr64 __cdecl CRSin(class CRNumber * __ptr64)
+?CRSin@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRSound * __ptr64 __cdecl CRSinSynth(void)
+?CRSinSynth@@YAPEAVCRSound@@XZ
+; class CRFontStyle * __ptr64 __cdecl CRSize(class CRFontStyle * __ptr64,double)
+?CRSize@@YAPEAVCRFontStyle@@PEAV1@N@Z
+; class CRFontStyle * __ptr64 __cdecl CRSize(class CRFontStyle * __ptr64,class CRNumber * __ptr64)
+?CRSize@@YAPEAVCRFontStyle@@PEAV1@PEAVCRNumber@@@Z
+; class CRNumber * __ptr64 __cdecl CRSlowInSlowOut(double,double,double,double)
+?CRSlowInSlowOut@@YAPEAVCRNumber@@NNNN@Z
+; class CRNumber * __ptr64 __cdecl CRSlowInSlowOut(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRSlowInSlowOut@@YAPEAVCRNumber@@PEAV1@000@Z
+; class CREvent * __ptr64 __cdecl CRSnapshot(class CREvent * __ptr64,class CRBvr * __ptr64)
+?CRSnapshot@@YAPEAVCREvent@@PEAV1@PEAVCRBvr@@@Z
+; class CRImage * __ptr64 __cdecl CRSolidColorImage(class CRColor * __ptr64)
+?CRSolidColorImage@@YAPEAVCRImage@@PEAVCRColor@@@Z
+; class CRGeometry * __ptr64 __cdecl CRSoundSource(class CRSound * __ptr64)
+?CRSoundSource@@YAPEAVCRGeometry@@PEAVCRSound@@@Z
+; class CRGeometry * __ptr64 __cdecl CRSpecularColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
+?CRSpecularColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
+; class CRGeometry * __ptr64 __cdecl CRSpecularExponent(class CRGeometry * __ptr64,double)
+?CRSpecularExponent@@YAPEAVCRGeometry@@PEAV1@N@Z
+; class CRGeometry * __ptr64 __cdecl CRSpecularExponentAnim(class CRGeometry * __ptr64,class CRNumber * __ptr64)
+?CRSpecularExponentAnim@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@@Z
+; class CRNumber * __ptr64 __cdecl CRSphericalCoordLength(class CRPoint3 * __ptr64)
+?CRSphericalCoordLength@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
+; class CRNumber * __ptr64 __cdecl CRSphericalCoordLength(class CRVector3 * __ptr64)
+?CRSphericalCoordLength@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
+; class CRNumber * __ptr64 __cdecl CRSphericalCoordXYAngle(class CRPoint3 * __ptr64)
+?CRSphericalCoordXYAngle@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
+; class CRNumber * __ptr64 __cdecl CRSphericalCoordXYAngle(class CRVector3 * __ptr64)
+?CRSphericalCoordXYAngle@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
+; class CRNumber * __ptr64 __cdecl CRSphericalCoordYZAngle(class CRPoint3 * __ptr64)
+?CRSphericalCoordYZAngle@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
+; class CRNumber * __ptr64 __cdecl CRSphericalCoordYZAngle(class CRVector3 * __ptr64)
+?CRSphericalCoordYZAngle@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
+; class CRGeometry * __ptr64 __cdecl CRSpotLight(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRSpotLight@@YAPEAVCRGeometry@@PEAVCRNumber@@0@Z
+; class CRGeometry * __ptr64 __cdecl CRSpotLight(class CRNumber * __ptr64,double)
+?CRSpotLight@@YAPEAVCRGeometry@@PEAVCRNumber@@N@Z
+; class CRNumber * __ptr64 __cdecl CRSqrt(class CRNumber * __ptr64)
+?CRSqrt@@YAPEAVCRNumber@@PEAV1@@Z
+; bool __cdecl CRStartModel(class CRView * __ptr64,class CRImage * __ptr64,class CRSound * __ptr64,double,unsigned long,bool * __ptr64)
+?CRStartModel@@YA_NPEAVCRView@@PEAVCRImage@@PEAVCRSound@@NKPEA_N@Z
+; bool __cdecl CRStopModel(class CRView * __ptr64)
+?CRStopModel@@YA_NPEAVCRView@@@Z
+; class CRFontStyle * __ptr64 __cdecl CRStrikethrough(class CRFontStyle * __ptr64)
+?CRStrikethrough@@YAPEAVCRFontStyle@@PEAV1@@Z
+; class CRImage * __ptr64 __cdecl CRStringImage(unsigned short * __ptr64,class CRFontStyle * __ptr64)
+?CRStringImage@@YAPEAVCRImage@@PEAGPEAVCRFontStyle@@@Z
+; class CRImage * __ptr64 __cdecl CRStringImage(class CRString * __ptr64,class CRFontStyle * __ptr64)
+?CRStringImage@@YAPEAVCRImage@@PEAVCRString@@PEAVCRFontStyle@@@Z
+; class CRPath2 * __ptr64 __cdecl CRStringPath(unsigned short * __ptr64,class CRFontStyle * __ptr64)
+?CRStringPath@@YAPEAVCRPath2@@PEAGPEAVCRFontStyle@@@Z
+; class CRPath2 * __ptr64 __cdecl CRStringPath(class CRString * __ptr64,class CRFontStyle * __ptr64)
+?CRStringPath@@YAPEAVCRPath2@@PEAVCRString@@PEAVCRFontStyle@@@Z
+; class CRNumber * __ptr64 __cdecl CRSub(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRSub@@YAPEAVCRNumber@@PEAV1@0@Z
+; class CRPoint2 * __ptr64 __cdecl CRSub(class CRPoint2 * __ptr64,class CRVector2 * __ptr64)
+?CRSub@@YAPEAVCRPoint2@@PEAV1@PEAVCRVector2@@@Z
+; class CRPoint3 * __ptr64 __cdecl CRSub(class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
+?CRSub@@YAPEAVCRPoint3@@PEAV1@PEAVCRVector3@@@Z
+; class CRVector2 * __ptr64 __cdecl CRSub(class CRVector2 * __ptr64,class CRVector2 * __ptr64)
+?CRSub@@YAPEAVCRVector2@@PEAV1@0@Z
+; class CRVector2 * __ptr64 __cdecl CRSub(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
+?CRSub@@YAPEAVCRVector2@@PEAVCRPoint2@@0@Z
+; class CRVector3 * __ptr64 __cdecl CRSub(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
+?CRSub@@YAPEAVCRVector3@@PEAV1@0@Z
+; class CRVector3 * __ptr64 __cdecl CRSub(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64)
+?CRSub@@YAPEAVCRVector3@@PEAVCRPoint3@@0@Z
+; class CRBvr * __ptr64 __cdecl CRSubstituteTime(class CRBvr * __ptr64,class CRNumber * __ptr64)
+?CRSubstituteTime@@YAPEAVCRBvr@@PEAV1@PEAVCRNumber@@@Z
+; bool __cdecl CRSwitchTo(class CRBvr * __ptr64,class CRBvr * __ptr64,bool,unsigned long,double)
+?CRSwitchTo@@YA_NPEAVCRBvr@@0_NKN@Z
+; bool __cdecl CRSwitchToBool(class CRBoolean * __ptr64,bool)
+?CRSwitchToBool@@YA_NPEAVCRBoolean@@_N@Z
+; bool __cdecl CRSwitchToNumber(class CRNumber * __ptr64,double)
+?CRSwitchToNumber@@YA_NPEAVCRNumber@@N@Z
+; bool __cdecl CRSwitchToString(class CRString * __ptr64,unsigned short * __ptr64)
+?CRSwitchToString@@YA_NPEAVCRString@@PEAG@Z
+; class CRNumber * __ptr64 __cdecl CRTan(class CRNumber * __ptr64)
+?CRTan@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRColor * __ptr64 __cdecl CRTeal(void)
+?CRTeal@@YAPEAVCRColor@@XZ
+; class CRFontStyle * __ptr64 __cdecl CRTextColor(class CRFontStyle * __ptr64,class CRColor * __ptr64)
+?CRTextColor@@YAPEAVCRFontStyle@@PEAV1@PEAVCRColor@@@Z
+; class CRImage * __ptr64 __cdecl CRTextImage(unsigned short * __ptr64,class CRFontStyle * __ptr64)
+?CRTextImage@@YAPEAVCRImage@@PEAGPEAVCRFontStyle@@@Z
+; class CRImage * __ptr64 __cdecl CRTextImage(class CRString * __ptr64,class CRFontStyle * __ptr64)
+?CRTextImage@@YAPEAVCRImage@@PEAVCRString@@PEAVCRFontStyle@@@Z
+; class CRMatte * __ptr64 __cdecl CRTextMatte(class CRString * __ptr64,class CRFontStyle * __ptr64)
+?CRTextMatte@@YAPEAVCRMatte@@PEAVCRString@@PEAVCRFontStyle@@@Z
+; class CRPath2 * __ptr64 __cdecl CRTextPath(class CRString * __ptr64,class CRFontStyle * __ptr64)
+?CRTextPath@@YAPEAVCRPath2@@PEAVCRString@@PEAVCRFontStyle@@@Z
+; class CRGeometry * __ptr64 __cdecl CRTexture(class CRGeometry * __ptr64,class CRImage * __ptr64)
+?CRTexture@@YAPEAVCRGeometry@@PEAV1@PEAVCRImage@@@Z
+; class CRGeometry * __ptr64 __cdecl CRTextureImage(class CRGeometry * __ptr64,class CRImage * __ptr64)
+?CRTextureImage@@YAPEAVCRGeometry@@PEAV1@PEAVCRImage@@@Z
+; class CREvent * __ptr64 __cdecl CRThenEvent(class CREvent * __ptr64,class CREvent * __ptr64)
+?CRThenEvent@@YAPEAVCREvent@@PEAV1@0@Z
+; bool __cdecl CRTick(class CRView * __ptr64,double,bool * __ptr64)
+?CRTick@@YA_NPEAVCRView@@NPEA_N@Z
+; class CRImage * __ptr64 __cdecl CRTile(class CRImage * __ptr64)
+?CRTile@@YAPEAVCRImage@@PEAV1@@Z
+; class CREvent * __ptr64 __cdecl CRTimer(double)
+?CRTimer@@YAPEAVCREvent@@N@Z
+; class CREvent * __ptr64 __cdecl CRTimer(class CRNumber * __ptr64)
+?CRTimer@@YAPEAVCREvent@@PEAVCRNumber@@@Z
+; class CRNumber * __ptr64 __cdecl CRToDegrees(class CRNumber * __ptr64)
+?CRToDegrees@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRNumber * __ptr64 __cdecl CRToRadians(class CRNumber * __ptr64)
+?CRToRadians@@YAPEAVCRNumber@@PEAV1@@Z
+; class CRString * __ptr64 __cdecl CRToString(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRToString@@YAPEAVCRString@@PEAVCRNumber@@0@Z
+; class CRString * __ptr64 __cdecl CRToString(class CRNumber * __ptr64,double)
+?CRToString@@YAPEAVCRString@@PEAVCRNumber@@N@Z
+; class CRTransform2 * __ptr64 __cdecl CRTransform3x2(double * __ptr64,unsigned int)
+?CRTransform3x2@@YAPEAVCRTransform2@@PEANI@Z
+; class CRTransform2 * __ptr64 __cdecl CRTransform3x2(class CRArray * __ptr64)
+?CRTransform3x2@@YAPEAVCRTransform2@@PEAVCRArray@@@Z
+; class CRTransform3 * __ptr64 __cdecl CRTransform4x4(class CRArray * __ptr64)
+?CRTransform4x4@@YAPEAVCRTransform3@@PEAVCRArray@@@Z
+; class CRCamera * __ptr64 __cdecl CRTransform(class CRCamera * __ptr64,class CRTransform3 * __ptr64)
+?CRTransform@@YAPEAVCRCamera@@PEAV1@PEAVCRTransform3@@@Z
+; class CRGeometry * __ptr64 __cdecl CRTransform(class CRGeometry * __ptr64,class CRTransform3 * __ptr64)
+?CRTransform@@YAPEAVCRGeometry@@PEAV1@PEAVCRTransform3@@@Z
+; class CRImage * __ptr64 __cdecl CRTransform(class CRImage * __ptr64,class CRTransform2 * __ptr64)
+?CRTransform@@YAPEAVCRImage@@PEAV1@PEAVCRTransform2@@@Z
+; class CRMatte * __ptr64 __cdecl CRTransform(class CRMatte * __ptr64,class CRTransform2 * __ptr64)
+?CRTransform@@YAPEAVCRMatte@@PEAV1@PEAVCRTransform2@@@Z
+; class CRMicrophone * __ptr64 __cdecl CRTransform(class CRMicrophone * __ptr64,class CRTransform3 * __ptr64)
+?CRTransform@@YAPEAVCRMicrophone@@PEAV1@PEAVCRTransform3@@@Z
+; class CRPath2 * __ptr64 __cdecl CRTransform(class CRPath2 * __ptr64,class CRTransform2 * __ptr64)
+?CRTransform@@YAPEAVCRPath2@@PEAV1@PEAVCRTransform2@@@Z
+; class CRPoint2 * __ptr64 __cdecl CRTransform(class CRPoint2 * __ptr64,class CRTransform2 * __ptr64)
+?CRTransform@@YAPEAVCRPoint2@@PEAV1@PEAVCRTransform2@@@Z
+; class CRPoint3 * __ptr64 __cdecl CRTransform(class CRPoint3 * __ptr64,class CRTransform3 * __ptr64)
+?CRTransform@@YAPEAVCRPoint3@@PEAV1@PEAVCRTransform3@@@Z
+; class CRVector2 * __ptr64 __cdecl CRTransform(class CRVector2 * __ptr64,class CRTransform2 * __ptr64)
+?CRTransform@@YAPEAVCRVector2@@PEAV1@PEAVCRTransform2@@@Z
+; class CRVector3 * __ptr64 __cdecl CRTransform(class CRVector3 * __ptr64,class CRTransform3 * __ptr64)
+?CRTransform@@YAPEAVCRVector3@@PEAV1@PEAVCRTransform3@@@Z
+; class CRFontStyle * __ptr64 __cdecl CRTransformCharacters(class CRFontStyle * __ptr64,class CRTransform2 * __ptr64)
+?CRTransformCharacters@@YAPEAVCRFontStyle@@PEAV1@PEAVCRTransform2@@@Z
+; class CRImage * __ptr64 __cdecl CRTransformColorRGB(class CRImage * __ptr64,class CRTransform3 * __ptr64)
+?CRTransformColorRGB@@YAPEAVCRImage@@PEAV1@PEAVCRTransform3@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRTranslate2(double,double)
+?CRTranslate2@@YAPEAVCRTransform2@@NN@Z
+; class CRTransform2 * __ptr64 __cdecl CRTranslate2(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRTranslate2@@YAPEAVCRTransform2@@PEAVCRNumber@@0@Z
+; class CRTransform2 * __ptr64 __cdecl CRTranslate2(class CRPoint2 * __ptr64)
+?CRTranslate2@@YAPEAVCRTransform2@@PEAVCRPoint2@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRTranslate2(class CRVector2 * __ptr64)
+?CRTranslate2@@YAPEAVCRTransform2@@PEAVCRVector2@@@Z
+; class CRTransform3 * __ptr64 __cdecl CRTranslate3(double,double,double)
+?CRTranslate3@@YAPEAVCRTransform3@@NNN@Z
+; class CRTransform3 * __ptr64 __cdecl CRTranslate3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRTranslate3@@YAPEAVCRTransform3@@PEAVCRNumber@@00@Z
+; class CRTransform3 * __ptr64 __cdecl CRTranslate3(class CRPoint3 * __ptr64)
+?CRTranslate3@@YAPEAVCRTransform3@@PEAVCRPoint3@@@Z
+; class CRTransform3 * __ptr64 __cdecl CRTranslate3(class CRVector3 * __ptr64)
+?CRTranslate3@@YAPEAVCRTransform3@@PEAVCRVector3@@@Z
+; class CRGeometry * __ptr64 __cdecl CRTriMesh(class TriMeshData & __ptr64)
+?CRTriMesh@@YAPEAVCRGeometry@@AEAVTriMeshData@@@Z
+; bool __cdecl CRTriggerEvent(class CREvent * __ptr64,class CRBvr * __ptr64)
+?CRTriggerEvent@@YA_NPEAVCREvent@@PEAVCRBvr@@@Z
+; class CRBoolean * __ptr64 __cdecl CRTrue(void)
+?CRTrue@@YAPEAVCRBoolean@@XZ
+; class CRFontStyle * __ptr64 __cdecl CRUnderline(class CRFontStyle * __ptr64)
+?CRUnderline@@YAPEAVCRFontStyle@@PEAV1@@Z
+; class CRGeometry * __ptr64 __cdecl CRUndetectable(class CRGeometry * __ptr64)
+?CRUndetectable@@YAPEAVCRGeometry@@PEAV1@@Z
+; class CRImage * __ptr64 __cdecl CRUndetectable(class CRImage * __ptr64)
+?CRUndetectable@@YAPEAVCRImage@@PEAV1@@Z
+; class CRArray * __ptr64 __cdecl CRUninitializedArray(class CRArray * __ptr64)
+?CRUninitializedArray@@YAPEAVCRArray@@PEAV1@@Z
+; class CRBvr * __ptr64 __cdecl CRUninitializedBvr(enum CR_BVR_TYPEID)
+?CRUninitializedBvr@@YAPEAVCRBvr@@W4CR_BVR_TYPEID@@@Z
+; class CRTuple * __ptr64 __cdecl CRUninitializedTuple(class CRTuple * __ptr64)
+?CRUninitializedTuple@@YAPEAVCRTuple@@PEAV1@@Z
+; class CRGeometry * __ptr64 __cdecl CRUnionGeometry(class CRGeometry * __ptr64,class CRGeometry * __ptr64)
+?CRUnionGeometry@@YAPEAVCRGeometry@@PEAV1@0@Z
+; class CRGeometry * __ptr64 __cdecl CRUnionGeometry(class CRArray * __ptr64)
+?CRUnionGeometry@@YAPEAVCRGeometry@@PEAVCRArray@@@Z
+; class CRMatte * __ptr64 __cdecl CRUnionMatte(class CRMatte * __ptr64,class CRMatte * __ptr64)
+?CRUnionMatte@@YAPEAVCRMatte@@PEAV1@0@Z
+; class CRMontage * __ptr64 __cdecl CRUnionMontage(class CRMontage * __ptr64,class CRMontage * __ptr64)
+?CRUnionMontage@@YAPEAVCRMontage@@PEAV1@0@Z
+; class CRMontage * __ptr64 __cdecl CRUnionMontageArray(class CRArray * __ptr64)
+?CRUnionMontageArray@@YAPEAVCRMontage@@PEAVCRArray@@@Z
+; class CRBvr * __ptr64 __cdecl CRUntil(class CRBvr * __ptr64,class CREvent * __ptr64,class CRBvr * __ptr64)
+?CRUntil@@YAPEAVCRBvr@@PEAV1@PEAVCREvent@@0@Z
+; class CRBvr * __ptr64 __cdecl CRUntilEx(class CRBvr * __ptr64,class CREvent * __ptr64)
+?CRUntilEx@@YAPEAVCRBvr@@PEAV1@PEAVCREvent@@@Z
+; class CRBvr * __ptr64 __cdecl CRUntilNotify(class CRBvr * __ptr64,class CREvent * __ptr64,class CRUntilNotifier * __ptr64)
+?CRUntilNotify@@YAPEAVCRBvr@@PEAV1@PEAVCREvent@@PEAVCRUntilNotifier@@@Z
+; class CRVector2 * __ptr64 __cdecl CRVector2Polar(double,double)
+?CRVector2Polar@@YAPEAVCRVector2@@NN@Z
+; class CRVector2 * __ptr64 __cdecl CRVector2Polar(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRVector2Polar@@YAPEAVCRVector2@@PEAVCRNumber@@0@Z
+; class CRVector3 * __ptr64 __cdecl CRVector3Spherical(double,double,double)
+?CRVector3Spherical@@YAPEAVCRVector3@@NNN@Z
+; class CRVector3 * __ptr64 __cdecl CRVector3Spherical(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRVector3Spherical@@YAPEAVCRVector3@@PEAVCRNumber@@00@Z
+; unsigned short const * __ptr64 __cdecl CRVersionString(void)
+?CRVersionString@@YAPEBGXZ
+; class CRNumber * __ptr64 __cdecl CRViewFrameRate(void)
+?CRViewFrameRate@@YAPEAVCRNumber@@XZ
+; class CRNumber * __ptr64 __cdecl CRViewTimeDelta(void)
+?CRViewTimeDelta@@YAPEAVCRNumber@@XZ
+; class CRFontStyle * __ptr64 __cdecl CRWeight(class CRFontStyle * __ptr64,double)
+?CRWeight@@YAPEAVCRFontStyle@@PEAV1@N@Z
+; class CRFontStyle * __ptr64 __cdecl CRWeight(class CRFontStyle * __ptr64,class CRNumber * __ptr64)
+?CRWeight@@YAPEAVCRFontStyle@@PEAV1@PEAVCRNumber@@@Z
+; class CRColor * __ptr64 __cdecl CRWhite(void)
+?CRWhite@@YAPEAVCRColor@@XZ
+; class CRLineStyle * __ptr64 __cdecl CRWidth(class CRLineStyle * __ptr64,double)
+?CRWidth@@YAPEAVCRLineStyle@@PEAV1@N@Z
+; class CRLineStyle * __ptr64 __cdecl CRWidth(class CRLineStyle * __ptr64,class CRNumber * __ptr64)
+?CRWidth@@YAPEAVCRLineStyle@@PEAV1@PEAVCRNumber@@@Z
+; class CRTransform2 * __ptr64 __cdecl CRXShear2(double)
+?CRXShear2@@YAPEAVCRTransform2@@N@Z
+; class CRTransform2 * __ptr64 __cdecl CRXShear2(class CRNumber * __ptr64)
+?CRXShear2@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
+; class CRTransform3 * __ptr64 __cdecl CRXShear3(double,double)
+?CRXShear3@@YAPEAVCRTransform3@@NN@Z
+; class CRTransform3 * __ptr64 __cdecl CRXShear3(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRXShear3@@YAPEAVCRTransform3@@PEAVCRNumber@@0@Z
+; class CRVector2 * __ptr64 __cdecl CRXVector2(void)
+?CRXVector2@@YAPEAVCRVector2@@XZ
+; class CRVector3 * __ptr64 __cdecl CRXVector3(void)
+?CRXVector3@@YAPEAVCRVector3@@XZ
+; class CRTransform2 * __ptr64 __cdecl CRYShear2(double)
+?CRYShear2@@YAPEAVCRTransform2@@N@Z
+; class CRTransform2 * __ptr64 __cdecl CRYShear2(class CRNumber * __ptr64)
+?CRYShear2@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
+; class CRTransform3 * __ptr64 __cdecl CRYShear3(double,double)
+?CRYShear3@@YAPEAVCRTransform3@@NN@Z
+; class CRTransform3 * __ptr64 __cdecl CRYShear3(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRYShear3@@YAPEAVCRTransform3@@PEAVCRNumber@@0@Z
+; class CRVector2 * __ptr64 __cdecl CRYVector2(void)
+?CRYVector2@@YAPEAVCRVector2@@XZ
+; class CRVector3 * __ptr64 __cdecl CRYVector3(void)
+?CRYVector3@@YAPEAVCRVector3@@XZ
+; class CRColor * __ptr64 __cdecl CRYellow(void)
+?CRYellow@@YAPEAVCRColor@@XZ
+; class CRTransform3 * __ptr64 __cdecl CRZShear3(double,double)
+?CRZShear3@@YAPEAVCRTransform3@@NN@Z
+; class CRTransform3 * __ptr64 __cdecl CRZShear3(class CRNumber * __ptr64,class CRNumber * __ptr64)
+?CRZShear3@@YAPEAVCRTransform3@@PEAVCRNumber@@0@Z
+; class CRVector3 * __ptr64 __cdecl CRZVector3(void)
+?CRZVector3@@YAPEAVCRVector3@@XZ
+; class CRVector2 * __ptr64 __cdecl CRZeroVector2(void)
+?CRZeroVector2@@YAPEAVCRVector2@@XZ
+; class CRVector3 * __ptr64 __cdecl CRZeroVector3(void)
+?CRZeroVector3@@YAPEAVCRVector3@@XZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dataclen.def b/mingw-w64-crt/lib64/dataclen.def
index 32449ea..5a9f5c1 100644
--- a/mingw-w64-crt/lib64/dataclen.def
+++ b/mingw-w64-crt/lib64/dataclen.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DATACLEN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DATACLEN.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DATACLEN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DATACLEN.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/datime.def b/mingw-w64-crt/lib64/datime.def
index 50d187b..6f4820a 100644
--- a/mingw-w64-crt/lib64/datime.def
+++ b/mingw-w64-crt/lib64/datime.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DATIME.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DATIME.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DATIME.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DATIME.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/davclnt.def b/mingw-w64-crt/lib64/davclnt.def
index 0bc0321..28ef510 100644
--- a/mingw-w64-crt/lib64/davclnt.def
+++ b/mingw-w64-crt/lib64/davclnt.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file davclnt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY davclnt.dll
-EXPORTS
-DavFreeUsedDiskSpace
-DavGetDiskSpaceUsage
-DavGetTheLockOwnerOfTheFile
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-NPAddConnection
-NPAddConnection3
-NPCancelConnection
-NPCloseEnum
-NPEnumResource
-NPFormatNetworkName
-NPGetCaps
-NPGetConnection
-NPGetResourceInformation
-NPGetResourceParent
-NPGetUniversalName
-NPGetUser
-NPOpenEnum
+; 
+; Exports of file davclnt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY davclnt.dll
+EXPORTS
+DavFreeUsedDiskSpace
+DavGetDiskSpaceUsage
+DavGetTheLockOwnerOfTheFile
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+NPAddConnection
+NPAddConnection3
+NPCancelConnection
+NPCloseEnum
+NPEnumResource
+NPFormatNetworkName
+NPGetCaps
+NPGetConnection
+NPGetResourceInformation
+NPGetResourceParent
+NPGetUniversalName
+NPGetUser
+NPOpenEnum
diff --git a/mingw-w64-crt/lib64/davcprox.def b/mingw-w64-crt/lib64/davcprox.def
index 613fff4..a5df187 100644
--- a/mingw-w64-crt/lib64/davcprox.def
+++ b/mingw-w64-crt/lib64/davcprox.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DAVCPROX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DAVCPROX.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DAVCPROX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DAVCPROX.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dbgeng.def b/mingw-w64-crt/lib64/dbgeng.def
index cda8422..b95faea 100644
--- a/mingw-w64-crt/lib64/dbgeng.def
+++ b/mingw-w64-crt/lib64/dbgeng.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file dbgeng.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dbgeng.dll
-EXPORTS
-DebugConnect
-DebugCreate
+; 
+; Exports of file dbgeng.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dbgeng.dll
+EXPORTS
+DebugConnect
+DebugCreate
diff --git a/mingw-w64-crt/lib64/dbghelp.def b/mingw-w64-crt/lib64/dbghelp.def
index e4b71de..b0957c0 100644
--- a/mingw-w64-crt/lib64/dbghelp.def
+++ b/mingw-w64-crt/lib64/dbghelp.def
@@ -1,114 +1,114 @@
-; 
-; Exports of file dbghelp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dbghelp.dll
-EXPORTS
-DbgHelpCreateUserDump
-DbgHelpCreateUserDumpW
-EnumerateLoadedModules
-EnumerateLoadedModules64
-ExtensionApiVersion
-FindDebugInfoFile
-FindDebugInfoFileEx
-FindExecutableImage
-FindExecutableImageEx
-FindFileInPath
-FindFileInSearchPath
-GetTimestampForLoadedLibrary
-ImageDirectoryEntryToData
-ImageDirectoryEntryToDataEx
-ImageNtHeader
-ImageRvaToSection
-ImageRvaToVa
-ImagehlpApiVersion
-ImagehlpApiVersionEx
-MakeSureDirectoryPathExists
-MiniDumpReadDumpStream
-MiniDumpWriteDump
-SearchTreeForFile
-StackWalk
-StackWalk64
-SymAddSymbol
-SymCleanup
-SymDeleteSymbol
-SymEnumLines
-SymEnumSourceFiles
-SymEnumSym
-SymEnumSymbols
-SymEnumSymbolsForAddr
-SymEnumTypes
-SymEnumerateModules
-SymEnumerateModules64
-SymEnumerateSymbols
-SymEnumerateSymbols64
-SymEnumerateSymbolsW
-SymEnumerateSymbolsW64
-SymFindFileInPath
-SymFromAddr
-SymFromName
-SymFromToken
-SymFunctionTableAccess
-SymFunctionTableAccess64
-SymGetFileLineOffsets64
-SymGetHomeDirectory
-SymGetLineFromAddr
-SymGetLineFromAddr64
-SymGetLineFromName
-SymGetLineFromName64
-SymGetLineNext
-SymGetLineNext64
-SymGetLinePrev
-SymGetLinePrev64
-SymGetModuleBase
-SymGetModuleBase64
-SymGetModuleInfo
-SymGetModuleInfo64
-SymGetModuleInfoW
-SymGetModuleInfoW64
-SymGetOptions
-SymGetSearchPath
-SymGetSymFromAddr
-SymGetSymFromAddr64
-SymGetSymFromName
-SymGetSymFromName64
-SymGetSymNext
-SymGetSymNext64
-SymGetSymPrev
-SymGetSymPrev64
-SymGetTypeFromName
-SymGetTypeInfo
-SymInitialize
-SymLoadModule
-SymLoadModule64
-SymLoadModuleEx
-SymMatchFileName
-SymMatchString
-SymRegisterCallback
-SymRegisterCallback64
-SymRegisterFunctionEntryCallback
-SymRegisterFunctionEntryCallback64
-SymSetContext
-SymSetHomeDirectory
-SymSetOptions
-SymSetParentWindow
-SymSetSearchPath
-SymUnDName
-SymUnDName64
-SymUnloadModule
-SymUnloadModule64
-UnDecorateSymbolName
-WinDbgExtensionDllInit
-dbghelp
-dh
-fptr
-lm
-lmi
-omap
-srcfiles
-stackdbg
-sym
-symsrv
-vc7fpo
+; 
+; Exports of file dbghelp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dbghelp.dll
+EXPORTS
+DbgHelpCreateUserDump
+DbgHelpCreateUserDumpW
+EnumerateLoadedModules
+EnumerateLoadedModules64
+ExtensionApiVersion
+FindDebugInfoFile
+FindDebugInfoFileEx
+FindExecutableImage
+FindExecutableImageEx
+FindFileInPath
+FindFileInSearchPath
+GetTimestampForLoadedLibrary
+ImageDirectoryEntryToData
+ImageDirectoryEntryToDataEx
+ImageNtHeader
+ImageRvaToSection
+ImageRvaToVa
+ImagehlpApiVersion
+ImagehlpApiVersionEx
+MakeSureDirectoryPathExists
+MiniDumpReadDumpStream
+MiniDumpWriteDump
+SearchTreeForFile
+StackWalk
+StackWalk64
+SymAddSymbol
+SymCleanup
+SymDeleteSymbol
+SymEnumLines
+SymEnumSourceFiles
+SymEnumSym
+SymEnumSymbols
+SymEnumSymbolsForAddr
+SymEnumTypes
+SymEnumerateModules
+SymEnumerateModules64
+SymEnumerateSymbols
+SymEnumerateSymbols64
+SymEnumerateSymbolsW
+SymEnumerateSymbolsW64
+SymFindFileInPath
+SymFromAddr
+SymFromName
+SymFromToken
+SymFunctionTableAccess
+SymFunctionTableAccess64
+SymGetFileLineOffsets64
+SymGetHomeDirectory
+SymGetLineFromAddr
+SymGetLineFromAddr64
+SymGetLineFromName
+SymGetLineFromName64
+SymGetLineNext
+SymGetLineNext64
+SymGetLinePrev
+SymGetLinePrev64
+SymGetModuleBase
+SymGetModuleBase64
+SymGetModuleInfo
+SymGetModuleInfo64
+SymGetModuleInfoW
+SymGetModuleInfoW64
+SymGetOptions
+SymGetSearchPath
+SymGetSymFromAddr
+SymGetSymFromAddr64
+SymGetSymFromName
+SymGetSymFromName64
+SymGetSymNext
+SymGetSymNext64
+SymGetSymPrev
+SymGetSymPrev64
+SymGetTypeFromName
+SymGetTypeInfo
+SymInitialize
+SymLoadModule
+SymLoadModule64
+SymLoadModuleEx
+SymMatchFileName
+SymMatchString
+SymRegisterCallback
+SymRegisterCallback64
+SymRegisterFunctionEntryCallback
+SymRegisterFunctionEntryCallback64
+SymSetContext
+SymSetHomeDirectory
+SymSetOptions
+SymSetParentWindow
+SymSetSearchPath
+SymUnDName
+SymUnDName64
+SymUnloadModule
+SymUnloadModule64
+UnDecorateSymbolName
+WinDbgExtensionDllInit
+dbghelp
+dh
+fptr
+lm
+lmi
+omap
+srcfiles
+stackdbg
+sym
+symsrv
+vc7fpo
diff --git a/mingw-w64-crt/lib64/dbnetlib.def b/mingw-w64-crt/lib64/dbnetlib.def
index 8d21804..6e9b18a 100644
--- a/mingw-w64-crt/lib64/dbnetlib.def
+++ b/mingw-w64-crt/lib64/dbnetlib.def
@@ -1,36 +1,36 @@
-; 
-; Exports of file DBnetlib.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DBnetlib.dll
-EXPORTS
-ConnectionObjectSize
-ConnectionRead
-ConnectionWrite
-ConnectionTransact
-ConnectionWriteOOB
-ConnectionMode
-ConnectionStatus
-ConnectionOpen
-ConnectionClose
-ConnectionCheckForData
-ConnectionError
-ConnectionVer
-ConnectionSqlVer
-ConnectionServerEnum
-ConnectionServerEnumW
-ConnectionOpenW
-ConnectionErrorW
-ConnectionOption
-ConnectionGetSvrUser
-InitEnumServers
-GetNextEnumeration
-CloseEnumServers
-InitSSPIPackage
-TermSSPIPackage
-InitSession
-TermSession
-GenClientContext
-ConnectionFlushCache
+; 
+; Exports of file DBnetlib.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DBnetlib.dll
+EXPORTS
+ConnectionObjectSize
+ConnectionRead
+ConnectionWrite
+ConnectionTransact
+ConnectionWriteOOB
+ConnectionMode
+ConnectionStatus
+ConnectionOpen
+ConnectionClose
+ConnectionCheckForData
+ConnectionError
+ConnectionVer
+ConnectionSqlVer
+ConnectionServerEnum
+ConnectionServerEnumW
+ConnectionOpenW
+ConnectionErrorW
+ConnectionOption
+ConnectionGetSvrUser
+InitEnumServers
+GetNextEnumeration
+CloseEnumServers
+InitSSPIPackage
+TermSSPIPackage
+InitSession
+TermSession
+GenClientContext
+ConnectionFlushCache
diff --git a/mingw-w64-crt/lib64/dbnmpntw.def b/mingw-w64-crt/lib64/dbnmpntw.def
index 0df0e67..87bd4c9 100644
--- a/mingw-w64-crt/lib64/dbnmpntw.def
+++ b/mingw-w64-crt/lib64/dbnmpntw.def
@@ -1,24 +1,24 @@
-; 
-; Exports of file DBnmpntw.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DBnmpntw.dll
-EXPORTS
-ConnectionObjectSize
-ConnectionRead
-ConnectionWrite
-ConnectionClose
-ConnectionError
-ConnectionVer
-ConnectionTransact
-ConnectionWriteOOB
-ConnectionMode
-ConnectionStatus
-ConnectionOpen
-ConnectionServerEnum
-ConnectionCheckForData
-ConnectionOpenW
-ConnectionErrorW
-ConnectionServerEnumW
+; 
+; Exports of file DBnmpntw.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DBnmpntw.dll
+EXPORTS
+ConnectionObjectSize
+ConnectionRead
+ConnectionWrite
+ConnectionClose
+ConnectionError
+ConnectionVer
+ConnectionTransact
+ConnectionWriteOOB
+ConnectionMode
+ConnectionStatus
+ConnectionOpen
+ConnectionServerEnum
+ConnectionCheckForData
+ConnectionOpenW
+ConnectionErrorW
+ConnectionServerEnumW
diff --git a/mingw-w64-crt/lib64/dciman32.def b/mingw-w64-crt/lib64/dciman32.def
index 691c579..97f19fb 100644
--- a/mingw-w64-crt/lib64/dciman32.def
+++ b/mingw-w64-crt/lib64/dciman32.def
@@ -1,28 +1,28 @@
-; 
-; Exports of file DCIMAN32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DCIMAN32.dll
-EXPORTS
-DCIBeginAccess
-DCICloseProvider
-DCICreateOffscreen
-DCICreateOverlay
-DCICreatePrimary
-DCIDestroy
-DCIDraw
-DCIEndAccess
-DCIEnum
-DCIOpenProvider
-DCISetClipList
-DCISetDestination
-DCISetSrcDestClip
-GetDCRegionData
-GetWindowRegionData
-WinWatchClose
-WinWatchDidStatusChange
-WinWatchGetClipList
-WinWatchNotify
-WinWatchOpen
+; 
+; Exports of file DCIMAN32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DCIMAN32.dll
+EXPORTS
+DCIBeginAccess
+DCICloseProvider
+DCICreateOffscreen
+DCICreateOverlay
+DCICreatePrimary
+DCIDestroy
+DCIDraw
+DCIEndAccess
+DCIEnum
+DCIOpenProvider
+DCISetClipList
+DCISetDestination
+DCISetSrcDestClip
+GetDCRegionData
+GetWindowRegionData
+WinWatchClose
+WinWatchDidStatusChange
+WinWatchGetClipList
+WinWatchNotify
+WinWatchOpen
diff --git a/mingw-w64-crt/lib64/ddraw.def b/mingw-w64-crt/lib64/ddraw.def
index 292b514..9354696 100644
--- a/mingw-w64-crt/lib64/ddraw.def
+++ b/mingw-w64-crt/lib64/ddraw.def
@@ -1,30 +1,30 @@
-; 
-; Exports of file DDRAW.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DDRAW.dll
-EXPORTS
-AcquireDDThreadLock
-CheckFullscreen
-CompleteCreateSysmemSurface
-D3DParseUnknownCommand
-DDGetAttachedSurfaceLcl
-DDInternalLock
-DDInternalUnlock
-DSoundHelp
-DirectDrawCreate
-DirectDrawCreateClipper
-DirectDrawCreateEx
-DirectDrawEnumerateA
-DirectDrawEnumerateExA
-DirectDrawEnumerateExW
-DirectDrawEnumerateW
-DllCanUnloadNow
-DllGetClassObject
-GetDDSurfaceLocal
-GetOLEThunkData
-GetSurfaceFromDC
-RegisterSpecialCase
-ReleaseDDThreadLock
+; 
+; Exports of file DDRAW.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DDRAW.dll
+EXPORTS
+AcquireDDThreadLock
+CheckFullscreen
+CompleteCreateSysmemSurface
+D3DParseUnknownCommand
+DDGetAttachedSurfaceLcl
+DDInternalLock
+DDInternalUnlock
+DSoundHelp
+DirectDrawCreate
+DirectDrawCreateClipper
+DirectDrawCreateEx
+DirectDrawEnumerateA
+DirectDrawEnumerateExA
+DirectDrawEnumerateExW
+DirectDrawEnumerateW
+DllCanUnloadNow
+DllGetClassObject
+GetDDSurfaceLocal
+GetOLEThunkData
+GetSurfaceFromDC
+RegisterSpecialCase
+ReleaseDDThreadLock
diff --git a/mingw-w64-crt/lib64/ddrawex.def b/mingw-w64-crt/lib64/ddrawex.def
index 25f667a..5f906bc 100644
--- a/mingw-w64-crt/lib64/ddrawex.def
+++ b/mingw-w64-crt/lib64/ddrawex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DDRAWEX.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DDRAWEX.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DDRAWEX.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DDRAWEX.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/deskadp.def b/mingw-w64-crt/lib64/deskadp.def
index e23c025..29ff12b 100644
--- a/mingw-w64-crt/lib64/deskadp.def
+++ b/mingw-w64-crt/lib64/deskadp.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file deskadp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY deskadp.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file deskadp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY deskadp.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/deskmon.def b/mingw-w64-crt/lib64/deskmon.def
index 624475e..972de2f 100644
--- a/mingw-w64-crt/lib64/deskmon.def
+++ b/mingw-w64-crt/lib64/deskmon.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file deskmon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY deskmon.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file deskmon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY deskmon.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/deskperf.def b/mingw-w64-crt/lib64/deskperf.def
index eb36717..7a75a93 100644
--- a/mingw-w64-crt/lib64/deskperf.def
+++ b/mingw-w64-crt/lib64/deskperf.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file deskperf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY deskperf.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file deskperf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY deskperf.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/devenum.def b/mingw-w64-crt/lib64/devenum.def
index dea5041..f46ec5b 100644
--- a/mingw-w64-crt/lib64/devenum.def
+++ b/mingw-w64-crt/lib64/devenum.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DEVENUM.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DEVENUM.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DEVENUM.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DEVENUM.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/devmgr.def b/mingw-w64-crt/lib64/devmgr.def
index ae7b855..45a4379 100644
--- a/mingw-w64-crt/lib64/devmgr.def
+++ b/mingw-w64-crt/lib64/devmgr.def
@@ -1,30 +1,30 @@
-; 
-; Exports of file DEVMGR.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DEVMGR.DLL
-EXPORTS
-DeviceProperties_RunDLLA
-DeviceProperties_RunDLLW
-DevicePropertiesA
-DevicePropertiesW
-DeviceManager_ExecuteA
-DeviceManager_ExecuteW
-DeviceProblemTextA
-DeviceProblemTextW
-DeviceProblemWizardA
-DeviceProblemWizardW
-DllCanUnloadNow
-DllGetClassObject
-DeviceAdvancedPropertiesA
-DeviceAdvancedPropertiesW
-DeviceCreateHardwarePage
-DeviceCreateHardwarePageEx
-DevicePropertiesExA
-DevicePropertiesExW
-DeviceProblenWizard_RunDLLA
-DeviceProblenWizard_RunDLLW
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DEVMGR.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DEVMGR.DLL
+EXPORTS
+DeviceProperties_RunDLLA
+DeviceProperties_RunDLLW
+DevicePropertiesA
+DevicePropertiesW
+DeviceManager_ExecuteA
+DeviceManager_ExecuteW
+DeviceProblemTextA
+DeviceProblemTextW
+DeviceProblemWizardA
+DeviceProblemWizardW
+DllCanUnloadNow
+DllGetClassObject
+DeviceAdvancedPropertiesA
+DeviceAdvancedPropertiesW
+DeviceCreateHardwarePage
+DeviceCreateHardwarePageEx
+DevicePropertiesExA
+DevicePropertiesExW
+DeviceProblenWizard_RunDLLA
+DeviceProblenWizard_RunDLLW
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dfrgifps.def b/mingw-w64-crt/lib64/dfrgifps.def
index 10de606..d4f65b7 100644
--- a/mingw-w64-crt/lib64/dfrgifps.def
+++ b/mingw-w64-crt/lib64/dfrgifps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file dfrgifcPS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dfrgifcPS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file dfrgifcPS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dfrgifcPS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/dfrgsnap.def b/mingw-w64-crt/lib64/dfrgsnap.def
index 866083c..a7c5cfb 100644
--- a/mingw-w64-crt/lib64/dfrgsnap.def
+++ b/mingw-w64-crt/lib64/dfrgsnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DfrgSnap.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DfrgSnap.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DfrgSnap.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DfrgSnap.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dfrgui.def b/mingw-w64-crt/lib64/dfrgui.def
index a33edd6..456b457 100644
--- a/mingw-w64-crt/lib64/dfrgui.def
+++ b/mingw-w64-crt/lib64/dfrgui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DfrgUI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DfrgUI.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DfrgUI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DfrgUI.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dfsshlex.def b/mingw-w64-crt/lib64/dfsshlex.def
index 73c39a6..2f8bc69 100644
--- a/mingw-w64-crt/lib64/dfsshlex.def
+++ b/mingw-w64-crt/lib64/dfsshlex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DfsShlEx.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DfsShlEx.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DfsShlEx.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DfsShlEx.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dgnet.def b/mingw-w64-crt/lib64/dgnet.def
index 1dd0a6b..97b8d87 100644
--- a/mingw-w64-crt/lib64/dgnet.def
+++ b/mingw-w64-crt/lib64/dgnet.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file Dgnet.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Dgnet.DLL
-EXPORTS
-InitHelperDll
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file Dgnet.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Dgnet.DLL
+EXPORTS
+InitHelperDll
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dhcpcsvc.def b/mingw-w64-crt/lib64/dhcpcsvc.def
index 9fd4f74..22b292b 100644
--- a/mingw-w64-crt/lib64/dhcpcsvc.def
+++ b/mingw-w64-crt/lib64/dhcpcsvc.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file DHCPCSVC.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DHCPCSVC.DLL
-EXPORTS
-DhcpAcquireParameters
-DhcpAcquireParametersByBroadcast
-DhcpCApiCleanup
-DhcpCApiInitialize
-DhcpDeRegisterOptions
-DhcpDeRegisterParamChange
-DhcpDelPersistentRequestParams
-DhcpEnumClasses
-DhcpFallbackRefreshParams
-DhcpHandlePnPEvent
-DhcpLeaseIpAddress
-DhcpLeaseIpAddressEx
-DhcpNotifyConfigChange
-DhcpNotifyConfigChangeEx
-DhcpNotifyMediaReconnected
-DhcpOpenGlobalEvent
-DhcpPersistentRequestParams
-DhcpRegisterOptions
-DhcpRegisterParamChange
-DhcpReleaseIpAddressLease
-DhcpReleaseIpAddressLeaseEx
-DhcpReleaseParameters
-DhcpRemoveDNSRegistrations
-DhcpRenewIpAddressLease
-DhcpRenewIpAddressLeaseEx
-DhcpRequestOptions
-DhcpRequestParams
-DhcpStaticRefreshParams
-DhcpUndoRequestParams
-McastApiCleanup
-McastApiStartup
-McastEnumerateScopes
-McastGenUID
-McastReleaseAddress
-McastRenewAddress
-McastRequestAddress
-ServiceMain
+; 
+; Exports of file DHCPCSVC.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DHCPCSVC.DLL
+EXPORTS
+DhcpAcquireParameters
+DhcpAcquireParametersByBroadcast
+DhcpCApiCleanup
+DhcpCApiInitialize
+DhcpDeRegisterOptions
+DhcpDeRegisterParamChange
+DhcpDelPersistentRequestParams
+DhcpEnumClasses
+DhcpFallbackRefreshParams
+DhcpHandlePnPEvent
+DhcpLeaseIpAddress
+DhcpLeaseIpAddressEx
+DhcpNotifyConfigChange
+DhcpNotifyConfigChangeEx
+DhcpNotifyMediaReconnected
+DhcpOpenGlobalEvent
+DhcpPersistentRequestParams
+DhcpRegisterOptions
+DhcpRegisterParamChange
+DhcpReleaseIpAddressLease
+DhcpReleaseIpAddressLeaseEx
+DhcpReleaseParameters
+DhcpRemoveDNSRegistrations
+DhcpRenewIpAddressLease
+DhcpRenewIpAddressLeaseEx
+DhcpRequestOptions
+DhcpRequestParams
+DhcpStaticRefreshParams
+DhcpUndoRequestParams
+McastApiCleanup
+McastApiStartup
+McastEnumerateScopes
+McastGenUID
+McastReleaseAddress
+McastRenewAddress
+McastRequestAddress
+ServiceMain
diff --git a/mingw-w64-crt/lib64/dhcpmon.def b/mingw-w64-crt/lib64/dhcpmon.def
index 7402c7f..6d7e8ee 100644
--- a/mingw-w64-crt/lib64/dhcpmon.def
+++ b/mingw-w64-crt/lib64/dhcpmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DHCPMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DHCPMON.dll
-EXPORTS
-InitHelperDll
+; 
+; Exports of file DHCPMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DHCPMON.dll
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/dhcpsapi.def b/mingw-w64-crt/lib64/dhcpsapi.def
index 4e0c269..9c4fb52 100644
--- a/mingw-w64-crt/lib64/dhcpsapi.def
+++ b/mingw-w64-crt/lib64/dhcpsapi.def
@@ -1,101 +1,101 @@
-; 
-; Exports of file DHCPSAPI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DHCPSAPI.DLL
-EXPORTS
-DhcpAddMScopeElement
-DhcpAddServer
-DhcpAddSubnetElement
-DhcpAddSubnetElementV4
-DhcpAddSubnetElementV5
-DhcpAuditLogGetParams
-DhcpAuditLogSetParams
-DhcpCreateClass
-DhcpCreateClientInfo
-DhcpCreateClientInfoV4
-DhcpCreateOption
-DhcpCreateOptionV5
-DhcpCreateSubnet
-DhcpDeleteClass
-DhcpDeleteClientInfo
-DhcpDeleteMClientInfo
-DhcpDeleteMScope
-DhcpDeleteServer
-DhcpDeleteSubnet
-DhcpDeleteSuperScopeV4
-DhcpDsCleanup
-DhcpDsClearHostServerEntries
-DhcpDsInit
-DhcpEnumClasses
-DhcpEnumMScopeClients
-DhcpEnumMScopeElements
-DhcpEnumMScopes
-DhcpEnumOptionValues
-DhcpEnumOptionValuesV5
-DhcpEnumOptions
-DhcpEnumOptionsV5
-DhcpEnumServers
-DhcpEnumSubnetClients
-DhcpEnumSubnetClientsV4
-DhcpEnumSubnetClientsV5
-DhcpEnumSubnetElements
-DhcpEnumSubnetElementsV4
-DhcpEnumSubnetElementsV5
-DhcpEnumSubnets
-DhcpGetAllOptionValues
-DhcpGetAllOptions
-DhcpGetClassInfo
-DhcpGetClientInfo
-DhcpGetClientInfoV4
-DhcpGetClientOptions
-DhcpGetMCastMibInfo
-DhcpGetMScopeInfo
-DhcpGetMibInfo
-DhcpGetOptionInfo
-DhcpGetOptionInfoV5
-DhcpGetOptionValue
-DhcpGetOptionValueV5
-DhcpGetServerBindingInfo
-DhcpGetSubnetInfo
-DhcpGetSuperScopeInfoV4
-DhcpGetThreadOptions
-DhcpGetVersion
-DhcpModifyClass
-DhcpRemoveMScopeElement
-DhcpRemoveOption
-DhcpRemoveOptionV5
-DhcpRemoveOptionValue
-DhcpRemoveOptionValueV5
-DhcpRemoveSubnetElement
-DhcpRemoveSubnetElementV4
-DhcpRemoveSubnetElementV5
-DhcpRpcFreeMemory
-DhcpScanDatabase
-DhcpScanMDatabase
-DhcpServerBackupDatabase
-DhcpServerGetConfig
-DhcpServerGetConfigV4
-DhcpServerQueryAttribute
-DhcpServerQueryAttributes
-DhcpServerQueryDnsRegCredentials
-DhcpServerRedoAuthorization
-DhcpServerRestoreDatabase
-DhcpServerSetConfig
-DhcpServerSetConfigV4
-DhcpServerSetDnsRegCredentials
-DhcpSetClientInfo
-DhcpSetClientInfoV4
-DhcpSetMScopeInfo
-DhcpSetOptionInfo
-DhcpSetOptionInfoV5
-DhcpSetOptionValue
-DhcpSetOptionValueV5
-DhcpSetOptionValues
-DhcpSetOptionValuesV5
-DhcpSetServerBindingInfo
-DhcpSetSubnetInfo
-DhcpSetSuperScopeV4
-DhcpSetThreadOptions
+; 
+; Exports of file DHCPSAPI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DHCPSAPI.DLL
+EXPORTS
+DhcpAddMScopeElement
+DhcpAddServer
+DhcpAddSubnetElement
+DhcpAddSubnetElementV4
+DhcpAddSubnetElementV5
+DhcpAuditLogGetParams
+DhcpAuditLogSetParams
+DhcpCreateClass
+DhcpCreateClientInfo
+DhcpCreateClientInfoV4
+DhcpCreateOption
+DhcpCreateOptionV5
+DhcpCreateSubnet
+DhcpDeleteClass
+DhcpDeleteClientInfo
+DhcpDeleteMClientInfo
+DhcpDeleteMScope
+DhcpDeleteServer
+DhcpDeleteSubnet
+DhcpDeleteSuperScopeV4
+DhcpDsCleanup
+DhcpDsClearHostServerEntries
+DhcpDsInit
+DhcpEnumClasses
+DhcpEnumMScopeClients
+DhcpEnumMScopeElements
+DhcpEnumMScopes
+DhcpEnumOptionValues
+DhcpEnumOptionValuesV5
+DhcpEnumOptions
+DhcpEnumOptionsV5
+DhcpEnumServers
+DhcpEnumSubnetClients
+DhcpEnumSubnetClientsV4
+DhcpEnumSubnetClientsV5
+DhcpEnumSubnetElements
+DhcpEnumSubnetElementsV4
+DhcpEnumSubnetElementsV5
+DhcpEnumSubnets
+DhcpGetAllOptionValues
+DhcpGetAllOptions
+DhcpGetClassInfo
+DhcpGetClientInfo
+DhcpGetClientInfoV4
+DhcpGetClientOptions
+DhcpGetMCastMibInfo
+DhcpGetMScopeInfo
+DhcpGetMibInfo
+DhcpGetOptionInfo
+DhcpGetOptionInfoV5
+DhcpGetOptionValue
+DhcpGetOptionValueV5
+DhcpGetServerBindingInfo
+DhcpGetSubnetInfo
+DhcpGetSuperScopeInfoV4
+DhcpGetThreadOptions
+DhcpGetVersion
+DhcpModifyClass
+DhcpRemoveMScopeElement
+DhcpRemoveOption
+DhcpRemoveOptionV5
+DhcpRemoveOptionValue
+DhcpRemoveOptionValueV5
+DhcpRemoveSubnetElement
+DhcpRemoveSubnetElementV4
+DhcpRemoveSubnetElementV5
+DhcpRpcFreeMemory
+DhcpScanDatabase
+DhcpScanMDatabase
+DhcpServerBackupDatabase
+DhcpServerGetConfig
+DhcpServerGetConfigV4
+DhcpServerQueryAttribute
+DhcpServerQueryAttributes
+DhcpServerQueryDnsRegCredentials
+DhcpServerRedoAuthorization
+DhcpServerRestoreDatabase
+DhcpServerSetConfig
+DhcpServerSetConfigV4
+DhcpServerSetDnsRegCredentials
+DhcpSetClientInfo
+DhcpSetClientInfoV4
+DhcpSetMScopeInfo
+DhcpSetOptionInfo
+DhcpSetOptionInfoV5
+DhcpSetOptionValue
+DhcpSetOptionValueV5
+DhcpSetOptionValues
+DhcpSetOptionValuesV5
+DhcpSetServerBindingInfo
+DhcpSetSubnetInfo
+DhcpSetSuperScopeV4
+DhcpSetThreadOptions
diff --git a/mingw-w64-crt/lib64/diactfrm.def b/mingw-w64-crt/lib64/diactfrm.def
index 77fd479..c68012f 100644
--- a/mingw-w64-crt/lib64/diactfrm.def
+++ b/mingw-w64-crt/lib64/diactfrm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file diactfrm.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY diactfrm.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file diactfrm.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY diactfrm.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/digest.def b/mingw-w64-crt/lib64/digest.def
index f98e952..de15a43 100644
--- a/mingw-w64-crt/lib64/digest.def
+++ b/mingw-w64-crt/lib64/digest.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file DIGEST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DIGEST.dll
-EXPORTS
-AcceptSecurityContext
-AcquireCredentialsHandleA
-AcquireCredentialsHandleW
-ApplyControlToken
-CompleteAuthToken
-DeleteSecurityContext
-DllInstall
-EnumerateSecurityPackagesA
-EnumerateSecurityPackagesW
-FreeContextBuffer
-FreeCredentialsHandle
-ImpersonateSecurityContext
-InitSecurityInterfaceA
-InitSecurityInterfaceW
-InitializeSecurityContextA
-InitializeSecurityContextW
-MakeSignature
-QueryContextAttributesA
-QueryContextAttributesW
-QuerySecurityPackageInfoA
-QuerySecurityPackageInfoW
-RevertSecurityContext
-VerifySignature
+; 
+; Exports of file DIGEST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DIGEST.dll
+EXPORTS
+AcceptSecurityContext
+AcquireCredentialsHandleA
+AcquireCredentialsHandleW
+ApplyControlToken
+CompleteAuthToken
+DeleteSecurityContext
+DllInstall
+EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW
+FreeContextBuffer
+FreeCredentialsHandle
+ImpersonateSecurityContext
+InitSecurityInterfaceA
+InitSecurityInterfaceW
+InitializeSecurityContextA
+InitializeSecurityContextW
+MakeSignature
+QueryContextAttributesA
+QueryContextAttributesW
+QuerySecurityPackageInfoA
+QuerySecurityPackageInfoW
+RevertSecurityContext
+VerifySignature
diff --git a/mingw-w64-crt/lib64/dimap.def b/mingw-w64-crt/lib64/dimap.def
index 8ca1245..a7bb0d0 100644
--- a/mingw-w64-crt/lib64/dimap.def
+++ b/mingw-w64-crt/lib64/dimap.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file DIMAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DIMAP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file DIMAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DIMAP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/dimsntfy.def b/mingw-w64-crt/lib64/dimsntfy.def
index b14edf4..f3bf096 100644
--- a/mingw-w64-crt/lib64/dimsntfy.def
+++ b/mingw-w64-crt/lib64/dimsntfy.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file dimsntfy.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dimsntfy.dll
-EXPORTS
-WlDimsLock
-WlDimsLogoff
-WlDimsLogon
-WlDimsShutdown
-WlDimsStartShell
-WlDimsStartup
-WlDimsUnlock
+; 
+; Exports of file dimsntfy.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dimsntfy.dll
+EXPORTS
+WlDimsLock
+WlDimsLogoff
+WlDimsLogon
+WlDimsShutdown
+WlDimsStartShell
+WlDimsStartup
+WlDimsUnlock
diff --git a/mingw-w64-crt/lib64/dimsroam.def b/mingw-w64-crt/lib64/dimsroam.def
index 1cbed5e..774650f 100644
--- a/mingw-w64-crt/lib64/dimsroam.def
+++ b/mingw-w64-crt/lib64/dimsroam.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file dimsroam.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dimsroam.dll
-EXPORTS
-DimsRoamEntry
+; 
+; Exports of file dimsroam.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dimsroam.dll
+EXPORTS
+DimsRoamEntry
diff --git a/mingw-w64-crt/lib64/dinput.def b/mingw-w64-crt/lib64/dinput.def
index c8f122a..99a0332 100644
--- a/mingw-w64-crt/lib64/dinput.def
+++ b/mingw-w64-crt/lib64/dinput.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file DINPUT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DINPUT.dll
-EXPORTS
-DirectInputCreateA
-DirectInputCreateEx
-DirectInputCreateW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DINPUT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DINPUT.dll
+EXPORTS
+DirectInputCreateA
+DirectInputCreateEx
+DirectInputCreateW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dinput8.def b/mingw-w64-crt/lib64/dinput8.def
index bc8edc4..7ba9b33 100644
--- a/mingw-w64-crt/lib64/dinput8.def
+++ b/mingw-w64-crt/lib64/dinput8.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DINPUT8.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DINPUT8.dll
-EXPORTS
-DirectInput8Create
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DINPUT8.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DINPUT8.dll
+EXPORTS
+DirectInput8Create
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/directdb.def b/mingw-w64-crt/lib64/directdb.def
index fed5de6..a2b5a91 100644
--- a/mingw-w64-crt/lib64/directdb.def
+++ b/mingw-w64-crt/lib64/directdb.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DIRECTDB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DIRECTDB.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DIRECTDB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DIRECTDB.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/diskcopy.def b/mingw-w64-crt/lib64/diskcopy.def
index c6bad01..5423628 100644
--- a/mingw-w64-crt/lib64/diskcopy.def
+++ b/mingw-w64-crt/lib64/diskcopy.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DISKCOPY.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DISKCOPY.dll
-EXPORTS
-DiskCopyRunDll
-DiskCopyRunDllW
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file DISKCOPY.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DISKCOPY.dll
+EXPORTS
+DiskCopyRunDll
+DiskCopyRunDllW
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/dispex.def b/mingw-w64-crt/lib64/dispex.def
index 512ea30..b76c910 100644
--- a/mingw-w64-crt/lib64/dispex.def
+++ b/mingw-w64-crt/lib64/dispex.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DispEx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DispEx.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file DispEx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DispEx.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/dmconfig.def b/mingw-w64-crt/lib64/dmconfig.def
index ce613c1..6f5dbc7 100644
--- a/mingw-w64-crt/lib64/dmconfig.def
+++ b/mingw-w64-crt/lib64/dmconfig.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file dmconfig.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmconfig.dll
-EXPORTS
-DllMain
-cs_get_api_calls
+; 
+; Exports of file dmconfig.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmconfig.dll
+EXPORTS
+DllMain
+cs_get_api_calls
diff --git a/mingw-w64-crt/lib64/dmdlgs.def b/mingw-w64-crt/lib64/dmdlgs.def
index 88a7d29..3b19f26 100644
--- a/mingw-w64-crt/lib64/dmdlgs.def
+++ b/mingw-w64-crt/lib64/dmdlgs.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file DMDLGS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DMDLGS.dll
-EXPORTS
-; public: void __cdecl CDataCache::AddLDMObjMapEntry(struct _LDM_OBJ_MAP_ENTRY * __ptr64) __ptr64
-?AddLDMObjMapEntry@CDataCache@@QEAAXPEAU_LDM_OBJ_MAP_ENTRY@@@Z
-; void __cdecl FreeArrayOfStrings(struct arrayOfStrings * __ptr64)
-?FreeArrayOfStrings@@YAXPEAUarrayOfStrings@@@Z
-; public: unsigned long __cdecl CDataCache::GetDiskCount(void) __ptr64
-?GetDiskCount@CDataCache@@QEAAKXZ
-; public: __int64 __cdecl CDMNodeObj::GetLdmObjectId(void) __ptr64
-?GetLdmObjectId@CDMNodeObj@@QEAA_JXZ
-; public: unsigned long __cdecl CDMNodeObj::GetNumMembers(void) __ptr64
-?GetNumMembers@CDMNodeObj@@QEAAKXZ
-; public: class CWnd * __ptr64 __cdecl CTaskData::GetOcxFrameCWndPtr(void) __ptr64
-?GetOcxFrameCWndPtr@CTaskData@@QEAAPEAVCWnd@@XZ
-; public: void __cdecl CTaskData::GetRegionColorStructPtr(struct _REGION_COLORS * __ptr64 * __ptr64,int & __ptr64) __ptr64
-?GetRegionColorStructPtr@CTaskData@@QEAAXPEAPEAU_REGION_COLORS@@AEAH@Z
-; public: class CString  __cdecl CDataCache::GetServerName(void) __ptr64
-?GetServerName@CDataCache@@QEAA?AVCString@@XZ
-; public: unsigned long __cdecl CDataCache::GetVolumeCount(void) __ptr64
-?GetVolumeCount@CDataCache@@QEAAKXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
+; 
+; Exports of file DMDLGS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DMDLGS.dll
+EXPORTS
+; public: void __cdecl CDataCache::AddLDMObjMapEntry(struct _LDM_OBJ_MAP_ENTRY * __ptr64) __ptr64
+?AddLDMObjMapEntry@CDataCache@@QEAAXPEAU_LDM_OBJ_MAP_ENTRY@@@Z
+; void __cdecl FreeArrayOfStrings(struct arrayOfStrings * __ptr64)
+?FreeArrayOfStrings@@YAXPEAUarrayOfStrings@@@Z
+; public: unsigned long __cdecl CDataCache::GetDiskCount(void) __ptr64
+?GetDiskCount@CDataCache@@QEAAKXZ
+; public: __int64 __cdecl CDMNodeObj::GetLdmObjectId(void) __ptr64
+?GetLdmObjectId@CDMNodeObj@@QEAA_JXZ
+; public: unsigned long __cdecl CDMNodeObj::GetNumMembers(void) __ptr64
+?GetNumMembers@CDMNodeObj@@QEAAKXZ
+; public: class CWnd * __ptr64 __cdecl CTaskData::GetOcxFrameCWndPtr(void) __ptr64
+?GetOcxFrameCWndPtr@CTaskData@@QEAAPEAVCWnd@@XZ
+; public: void __cdecl CTaskData::GetRegionColorStructPtr(struct _REGION_COLORS * __ptr64 * __ptr64,int & __ptr64) __ptr64
+?GetRegionColorStructPtr@CTaskData@@QEAAXPEAPEAU_REGION_COLORS@@AEAH@Z
+; public: class CString  __cdecl CDataCache::GetServerName(void) __ptr64
+?GetServerName@CDataCache@@QEAA?AVCString@@XZ
+; public: unsigned long __cdecl CDataCache::GetVolumeCount(void) __ptr64
+?GetVolumeCount@CDataCache@@QEAAKXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
diff --git a/mingw-w64-crt/lib64/dmdskmgr.def b/mingw-w64-crt/lib64/dmdskmgr.def
index e9f452d..46b9256 100644
--- a/mingw-w64-crt/lib64/dmdskmgr.def
+++ b/mingw-w64-crt/lib64/dmdskmgr.def
@@ -1,433 +1,433 @@
-; 
-; Exports of file DMDskMgr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DMDskMgr.dll
-EXPORTS
-; public: __cdecl CDataCache::CDataCache(void) __ptr64
-??0CDataCache@@QEAA@XZ
-; public: __cdecl CDMNodeObj::~CDMNodeObj(void) __ptr64
-??1CDMNodeObj@@QEAA@XZ
-; public: virtual __cdecl CDataCache::~CDataCache(void) __ptr64
-??1CDataCache@@UEAA@XZ
-; public: void __cdecl CDataCache::AddFileSystemInfoToListAndMap(unsigned long,struct filesysteminfo * __ptr64) __ptr64
-?AddFileSystemInfoToListAndMap@CDataCache@@QEAAXKPEAUfilesysteminfo@@@Z
-; public: void __cdecl CDataCache::AddInstalledFileSystemsToList(unsigned long,struct ifilesysteminfo * __ptr64) __ptr64
-?AddInstalledFileSystemsToList@CDataCache@@QEAAXKPEAUifilesysteminfo@@@Z
-; public: void __cdecl CDataCache::AddLDMObjMapEntry(struct _LDM_OBJ_MAP_ENTRY * __ptr64) __ptr64
-?AddLDMObjMapEntry@CDataCache@@QEAAXPEAU_LDM_OBJ_MAP_ENTRY@@@Z
-; public: void __cdecl CDataCache::AddRegionToVolumeMemberList(class CDMNodeObj * __ptr64) __ptr64
-?AddRegionToVolumeMemberList@CDataCache@@QEAAXPEAVCDMNodeObj@@@Z
-; public: void __cdecl CDMComponentData::AddRow(__int64) __ptr64
-?AddRow@CDMComponentData@@QEAAX_J@Z
-; public: void __cdecl CDataCache::AdjustRegionCountInLegendList(enum _REGIONTYPE,int) __ptr64
-?AdjustRegionCountInLegendList@CDataCache@@QEAAXW4_REGIONTYPE@@H@Z
-; public: void __cdecl CDataCache::AdjustVolumeCountInLegendList(enum _VOLUMELAYOUT,int) __ptr64
-?AdjustVolumeCountInLegendList@CDataCache@@QEAAXW4_VOLUMELAYOUT@@H@Z
-; public: int __cdecl CDMNodeObj::CanHaveGPT(void) __ptr64
-?CanHaveGPT@CDMNodeObj@@QEAAHXZ
-; public: void __cdecl CDMComponentData::ChangeRow(__int64) __ptr64
-?ChangeRow@CDMComponentData@@QEAAX_J@Z
-; public: long __cdecl CContextMenu::Command(long,struct IDataObject * __ptr64,__int64) __ptr64
-?Command@CContextMenu@@QEAAJJPEAUIDataObject@@_J@Z
-; int __cdecl CompareDiskNames(__int64,__int64)
-?CompareDiskNames@@YAH_J0@Z
-; public: int __cdecl CDMNodeObj::ContainsActivePartition(void) __ptr64
-?ContainsActivePartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::ContainsBootIniPartition(void) __ptr64
-?ContainsBootIniPartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::ContainsBootIniPartitionForWolfpack(void) __ptr64
-?ContainsBootIniPartitionForWolfpack@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::ContainsBootVolumesNumberChange(__int64,int * __ptr64) __ptr64
-?ContainsBootVolumesNumberChange@CDMNodeObj@@QEAAH_JPEAH@Z
-; public: int __cdecl CDMNodeObj::ContainsESPPartition(void) __ptr64
-?ContainsESPPartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::ContainsLogicalDrvBootPartition(void) __ptr64
-?ContainsLogicalDrvBootPartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::ContainsPageFile(void) __ptr64
-?ContainsPageFile@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::ContainsRealSystemPartition(void) __ptr64
-?ContainsRealSystemPartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::ContainsSubDiskNeedResync(void) __ptr64
-?ContainsSubDiskNeedResync@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::ContainsSystemInformation(void) __ptr64
-?ContainsSystemInformation@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::ContainsSystemPartition(void) __ptr64
-?ContainsSystemPartition@CDMNodeObj@@QEAAHXZ
-; unsigned long __cdecl ConvertBytesToMB(__int64)
-?ConvertBytesToMB@@YAK_J@Z
-; __int64 __cdecl ConvertMBToBytes(__int64)
-?ConvertMBToBytes@@YA_J_J@Z
-; void __cdecl CookieSort(__int64 * __ptr64,long,long,int (__cdecl*)(__int64,__int64))
-?CookieSort@@YAXPEA_JJJP6AH_J1@Z@Z
-; public: void __cdecl CDataCache::CreateDiskList(void) __ptr64
-?CreateDiskList@CDataCache@@QEAAXXZ
-; public: class CDMNodeObj * __ptr64 __cdecl CDataCache::CreateNodeObjAndAddToMap(int,enum _NODEOBJ_TYPES,class CDataCache * __ptr64,void * __ptr64,__int64) __ptr64
-?CreateNodeObjAndAddToMap@CDataCache@@QEAAPEAVCDMNodeObj@@HW4_NODEOBJ_TYPES@@PEAV1@PEAX_J@Z
-; public: class CDMNodeObj * __ptr64 __cdecl CDataCache::CreateRegionNodeObj(class CDMNodeObj * __ptr64,struct regioninfoex * __ptr64) __ptr64
-?CreateRegionNodeObj@CDataCache@@QEAAPEAVCDMNodeObj@@PEAV2@PEAUregioninfoex@@@Z
-; public: void __cdecl CDataCache::CreateShortDiskName(struct diskinfoex & __ptr64) __ptr64
-?CreateShortDiskName@CDataCache@@QEAAXAEAUdiskinfoex@@@Z
-; public: void __cdecl CDataCache::CreateVolumeList(void) __ptr64
-?CreateVolumeList@CDataCache@@QEAAXXZ
-; public: void __cdecl CDataCache::DeleteDiskGroupData(struct DISK_GROUP_DATA * __ptr64) __ptr64
-?DeleteDiskGroupData@CDataCache@@QEAAXPEAUDISK_GROUP_DATA@@@Z
-; public: void __cdecl CDataCache::DeleteEncapsulateData(struct ENCAPSULATE_DATA * __ptr64) __ptr64
-?DeleteEncapsulateData@CDataCache@@QEAAXPEAUENCAPSULATE_DATA@@@Z
-; public: void __cdecl CDataCache::DeleteLists(void) __ptr64
-?DeleteLists@CDataCache@@QEAAXXZ
-; public: void __cdecl CDataCache::DeleteRegionFromVolumeMemberList(class CDMNodeObj * __ptr64) __ptr64
-?DeleteRegionFromVolumeMemberList@CDataCache@@QEAAXPEAVCDMNodeObj@@@Z
-; public: void __cdecl CDMComponentData::DeleteRow(__int64) __ptr64
-?DeleteRow@CDMComponentData@@QEAAX_J@Z
-; public: void __cdecl CContextMenu::DoDelete(__int64) __ptr64
-?DoDelete@CContextMenu@@QEAAX_J@Z
-; public: void __cdecl CDMComponentData::EmptyOcxViewData(void) __ptr64
-?EmptyOcxViewData@CDMComponentData@@QEAAXXZ
-; public: int __cdecl CDMNodeObj::EnhancedIsUpgradeable(class CTaskData * __ptr64) __ptr64
-?EnhancedIsUpgradeable@CDMNodeObj@@QEAAHPEAVCTaskData@@@Z
-; public: void __cdecl CDMNodeObj::EnumDiskRegions(__int64 * __ptr64 * __ptr64,long & __ptr64) __ptr64
-?EnumDiskRegions@CDMNodeObj@@QEAAXPEAPEA_JAEAJ@Z
-; public: void __cdecl CTaskData::EnumDisks(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
-?EnumDisks@CTaskData@@QEAAXAEAKPEAPEA_J@Z
-; public: void __cdecl CDMNodeObj::EnumFirstVolumeMember(__int64 & __ptr64,long & __ptr64) __ptr64
-?EnumFirstVolumeMember@CDMNodeObj@@QEAAXAEA_JAEAJ@Z
-; public: void __cdecl CDataCache::EnumNTFSwithDriveLetter(int * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?EnumNTFSwithDriveLetter@CDataCache@@QEAAXPEAHPEAPEAG@Z
-; public: void __cdecl CTaskData::EnumNTFSwithDriveLetter(int * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?EnumNTFSwithDriveLetter@CTaskData@@QEAAXPEAHPEAPEAG@Z
-; public: void __cdecl CDMNodeObj::EnumVolumeMembers(__int64 * __ptr64 * __ptr64,long & __ptr64) __ptr64
-?EnumVolumeMembers@CDMNodeObj@@QEAAXPEAPEA_JAEAJ@Z
-; public: void __cdecl CTaskData::EnumVolumes(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
-?EnumVolumes@CTaskData@@QEAAXAEAKPEAPEA_J@Z
-; public: void __cdecl CDataCache::FillDeviceInstanceId(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?FillDeviceInstanceId@CDataCache@@QEAAXPEAG0@Z
-; public: void __cdecl CTaskData::FilterCookiesBigEnoughForFTRepair(unsigned long & __ptr64,__int64 * __ptr64,__int64 * __ptr64 * __ptr64,long,class CDMNodeObj * __ptr64) __ptr64
-?FilterCookiesBigEnoughForFTRepair@CTaskData@@QEAAXAEAKPEA_JPEAPEA_JJPEAVCDMNodeObj@@@Z
-; public: void __cdecl CTaskData::FilterCookiesBigEnoughForRAID5Repair(unsigned long & __ptr64,__int64 * __ptr64,__int64 * __ptr64 * __ptr64,long,class CDMNodeObj * __ptr64) __ptr64
-?FilterCookiesBigEnoughForRAID5Repair@CTaskData@@QEAAXAEAKPEA_JPEAPEA_JJPEAVCDMNodeObj@@@Z
-; public: int __cdecl CDataCache::FindCookieAndRemoveFromList(__int64,class CList<class CDMNodeObj * __ptr64,class CDMNodeObj * __ptr64> * __ptr64) __ptr64
-?FindCookieAndRemoveFromList@CDataCache@@QEAAH_JPEAV?$CList@PEAVCDMNodeObj@@PEAV1@@@@Z
-; public: unsigned short * __ptr64 __cdecl CDataCache::FindDeviceInstanceId(__int64) __ptr64
-?FindDeviceInstanceId@CDataCache@@QEAAPEAG_J@Z
-; public: int __cdecl CDataCache::FindDiskPtrFromDiskId(__int64,class CDMNodeObj * __ptr64 * __ptr64) __ptr64
-?FindDiskPtrFromDiskId@CDataCache@@QEAAH_JPEAPEAVCDMNodeObj@@@Z
-; public: int __cdecl CDataCache::FindDriveLetter(__int64,unsigned short & __ptr64) __ptr64
-?FindDriveLetter@CDataCache@@QEAAH_JAEAG@Z
-; public: void __cdecl CTaskData::FindDriveLetter(__int64,unsigned short & __ptr64) __ptr64
-?FindDriveLetter@CTaskData@@QEAAX_JAEAG@Z
-; int __cdecl FindDriveLetterHelper(struct driveletterinfo * __ptr64,int,__int64,unsigned short & __ptr64)
-?FindDriveLetterHelper@@YAHPEAUdriveletterinfo@@H_JAEAG@Z
-; public: int __cdecl CDataCache::FindFileSystem(__int64,struct filesysteminfo & __ptr64) __ptr64
-?FindFileSystem@CDataCache@@QEAAH_JAEAUfilesysteminfo@@@Z
-; public: int __cdecl CTaskData::FindFileSystem(__int64,struct filesysteminfo & __ptr64) __ptr64
-?FindFileSystem@CTaskData@@QEAAH_JAEAUfilesysteminfo@@@Z
-; public: int __cdecl CDataCache::FindRegionPtrFromRegionId(__int64,class CDMNodeObj * __ptr64 * __ptr64) __ptr64
-?FindRegionPtrFromRegionId@CDataCache@@QEAAH_JPEAPEAVCDMNodeObj@@@Z
-; public: int __cdecl CTaskData::FindRegionPtrFromRegionId(__int64,class CDMNodeObj * __ptr64 * __ptr64) __ptr64
-?FindRegionPtrFromRegionId@CTaskData@@QEAAH_JPEAPEAVCDMNodeObj@@@Z
-; public: int __cdecl CDataCache::FindRegionPtrOnDiskFromRegionId(class CDMNodeObj * __ptr64,__int64,class CDMNodeObj * __ptr64 * __ptr64,struct __POSITION * __ptr64 & __ptr64) __ptr64
-?FindRegionPtrOnDiskFromRegionId@CDataCache@@QEAAHPEAVCDMNodeObj@@_JPEAPEAV2@AEAPEAU__POSITION@@@Z
-; public: int __cdecl CTaskData::GetAssignedDriveLetter(__int64,unsigned short & __ptr64) __ptr64
-?GetAssignedDriveLetter@CTaskData@@QEAAH_JAEAG@Z
-; public: int __cdecl CTaskData::GetBootPort(void) __ptr64
-?GetBootPort@CTaskData@@QEAAHXZ
-; public: int __cdecl CDMSnapin::GetBottomViewStyle(void) __ptr64
-?GetBottomViewStyle@CDMSnapin@@QEAAHXZ
-; public: unsigned long __cdecl CDMNodeObj::GetColorRef(void) __ptr64
-?GetColorRef@CDMNodeObj@@QEAAKXZ
-; public: class CDMNodeObj * __ptr64 __cdecl CTaskData::GetDMDataObjPtrFromId(__int64) __ptr64
-?GetDMDataObjPtrFromId@CTaskData@@QEAAPEAVCDMNodeObj@@_J@Z
-; public: unsigned long __cdecl CDMNodeObj::GetDeviceState(void) __ptr64
-?GetDeviceState@CDMNodeObj@@QEAAKXZ
-; public: unsigned long __cdecl CDMNodeObj::GetDeviceType(void) __ptr64
-?GetDeviceType@CDMNodeObj@@QEAAKXZ
-; protected: void __cdecl CDataCache::GetDiskCookies(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
-?GetDiskCookies@CDataCache@@IEAAXAEAKPEAPEA_J@Z
-; public: void __cdecl CTaskData::GetDiskCookies(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64,int,unsigned long,int) __ptr64
-?GetDiskCookies@CTaskData@@QEAAXAEAKPEAPEA_JHKH@Z
-; public: void __cdecl CTaskData::GetDiskCookiesForSig(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
-?GetDiskCookiesForSig@CTaskData@@QEAAXAEAKPEAPEA_J@Z
-; public: void __cdecl CTaskData::GetDiskCookiesForUpgrade(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
-?GetDiskCookiesForUpgrade@CTaskData@@QEAAXAEAKPEAPEA_J@Z
-; public: void __cdecl CTaskData::GetDiskCookiesToEncap(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
-?GetDiskCookiesToEncap@CTaskData@@QEAAXAEAKPEAPEA_J@Z
-; public: unsigned long __cdecl CDataCache::GetDiskCount(void) __ptr64
-?GetDiskCount@CDataCache@@QEAAKXZ
-; public: int __cdecl CDMNodeObj::GetDiskInfo(struct diskinfoex & __ptr64) __ptr64
-?GetDiskInfo@CDMNodeObj@@QEAAHAEAUdiskinfoex@@@Z
-; public: void __cdecl CTaskData::GetDiskInfoFromVolCookie(__int64,int & __ptr64,unsigned long & __ptr64,__int64 * __ptr64 * __ptr64,unsigned long,int) __ptr64
-?GetDiskInfoFromVolCookie@CTaskData@@QEAAX_JAEAHAEAKPEAPEA_JKH@Z
-; public: int __cdecl CDMSnapin::GetDiskScaling(void) __ptr64
-?GetDiskScaling@CDMSnapin@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::GetDiskSpec(struct diskspec & __ptr64) __ptr64
-?GetDiskSpec@CDMNodeObj@@QEAAHAEAUdiskspec@@@Z
-; public: int __cdecl CDMNodeObj::GetDiskStatus(class CString & __ptr64) __ptr64
-?GetDiskStatus@CDMNodeObj@@QEAAHAEAVCString@@@Z
-; int __cdecl GetDiskStatusHelper(struct diskinfoex * __ptr64,class CString & __ptr64,int)
-?GetDiskStatusHelper@@YAHPEAUdiskinfoex@@AEAVCString@@H@Z
-; public: void __cdecl CDMNodeObj::GetDiskTypeName(class CString & __ptr64) __ptr64
-?GetDiskTypeName@CDMNodeObj@@QEAAXAEAVCString@@@Z
-; void __cdecl GetDiskTypeNameHelper(struct diskinfoex * __ptr64,class CString & __ptr64,unsigned short)
-?GetDiskTypeNameHelper@@YAXPEAUdiskinfoex@@AEAVCString@@G@Z
-; public: void __cdecl CDMNodeObj::GetDriveLetter(unsigned short & __ptr64) __ptr64
-?GetDriveLetter@CDMNodeObj@@QEAAXAEAG@Z
-; protected: void __cdecl CDataCache::GetDriveLetters(short & __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short) __ptr64
-?GetDriveLetters@CDataCache@@IEAAXAEAFPEAPEAGG@Z
-; public: void __cdecl CTaskData::GetDriveLetters(short & __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short) __ptr64
-?GetDriveLetters@CTaskData@@QEAAXAEAFPEAPEAGG@Z
-; public: unsigned long __cdecl CDMNodeObj::GetExtendedRegionColor(void) __ptr64
-?GetExtendedRegionColor@CDMNodeObj@@QEAAKXZ
-; public: int __cdecl CDMNodeObj::GetExtraRegionStatus(class CString & __ptr64,int) __ptr64
-?GetExtraRegionStatus@CDMNodeObj@@QEAAHAEAVCString@@H@Z
-; public: void __cdecl CDMNodeObj::GetFileSystemLabel(class CString & __ptr64) __ptr64
-?GetFileSystemLabel@CDMNodeObj@@QEAAXAEAVCString@@@Z
-; public: void __cdecl CDMNodeObj::GetFileSystemName(class CString & __ptr64) __ptr64
-?GetFileSystemName@CDMNodeObj@@QEAAXAEAVCString@@@Z
-; public: void __cdecl CDMNodeObj::GetFileSystemSize(long & __ptr64) __ptr64
-?GetFileSystemSize@CDMNodeObj@@QEAAXAEAJ@Z
-; public: int __cdecl CDMNodeObj::GetFileSystemType(void) __ptr64
-?GetFileSystemType@CDMNodeObj@@QEAAHXZ
-; public: void __cdecl CDataCache::GetFileSystemTypes(unsigned long & __ptr64,struct ifilesysteminfo * __ptr64 * __ptr64) __ptr64
-?GetFileSystemTypes@CDataCache@@QEAAXAEAKPEAPEAUifilesysteminfo@@@Z
-; public: void __cdecl CTaskData::GetFileSystemTypes(unsigned long & __ptr64,struct ifilesysteminfo * __ptr64 * __ptr64) __ptr64
-?GetFileSystemTypes@CTaskData@@QEAAXAEAKPEAPEAUifilesysteminfo@@@Z
-; public: int __cdecl CDMSnapin::GetFilterToggle(void) __ptr64
-?GetFilterToggle@CDMSnapin@@QEAAHXZ
-; public: long __cdecl CDMNodeObj::GetFlags(void) __ptr64
-?GetFlags@CDMNodeObj@@QEAAJXZ
-; public: short __cdecl CDMNodeObj::GetIVolumeClientVersion(void) __ptr64
-?GetIVolumeClientVersion@CDMNodeObj@@QEAAFXZ
-; public: short __cdecl CTaskData::GetIVolumeClientVersion(void) __ptr64
-?GetIVolumeClientVersion@CTaskData@@QEAAFXZ
-; public: unsigned int __cdecl CDMNodeObj::GetIconId(int) __ptr64
-?GetIconId@CDMNodeObj@@QEAAIH@Z
-; public: int __cdecl CDMNodeObj::GetImageNum(void) __ptr64
-?GetImageNum@CDMNodeObj@@QEAAHXZ
-; public: __int64 __cdecl CDataCache::GetLastKnownState(__int64) __ptr64
-?GetLastKnownState@CDataCache@@QEAA_J_J@Z
-; public: enum _LAYOUT_TYPES  __cdecl CDMNodeObj::GetLayoutType(void) __ptr64
-?GetLayoutType@CDMNodeObj@@QEAA?AW4_LAYOUT_TYPES@@XZ
-; public: __int64 __cdecl CDMNodeObj::GetLdmObjectId(void) __ptr64
-?GetLdmObjectId@CDMNodeObj@@QEAA_JXZ
-; public: int __cdecl CDMSnapin::GetListBehavior(void) __ptr64
-?GetListBehavior@CDMSnapin@@QEAAHXZ
-; public: unsigned long __cdecl CDMNodeObj::GetLogicalDriveCount(void) __ptr64
-?GetLogicalDriveCount@CDMNodeObj@@QEAAKXZ
-; public: void __cdecl CDMNodeObj::GetLongName(class CString & __ptr64,int) __ptr64
-?GetLongName@CDMNodeObj@@QEAAXAEAVCString@@H@Z
-; public: struct HWND__ * __ptr64 __cdecl CDMComponentData::GetMMCWindow(void) __ptr64
-?GetMMCWindow@CDMComponentData@@QEAAPEAUHWND__@@XZ
-; public: void __cdecl CDMNodeObj::GetMaxAdjustedFreeSize(__int64 & __ptr64) __ptr64
-?GetMaxAdjustedFreeSize@CDMNodeObj@@QEAAXAEA_J@Z
-; public: unsigned long __cdecl CDMNodeObj::GetMaxPartitionCount(void) __ptr64
-?GetMaxPartitionCount@CDMNodeObj@@QEAAKXZ
-; protected: void __cdecl CDataCache::GetMinMaxPartitionSizes(__int64,unsigned long & __ptr64,unsigned long & __ptr64) __ptr64
-?GetMinMaxPartitionSizes@CDataCache@@IEAAX_JAEAK1@Z
-; public: void __cdecl CTaskData::GetMinMaxPartitionSizes(__int64,unsigned long & __ptr64,unsigned long & __ptr64) __ptr64
-?GetMinMaxPartitionSizes@CTaskData@@QEAAX_JAEAK1@Z
-; public: void __cdecl CDMNodeObj::GetName(class CString & __ptr64) __ptr64
-?GetName@CDMNodeObj@@QEAAXAEAVCString@@@Z
-; public: unsigned long __cdecl CDMNodeObj::GetNumMembers(void) __ptr64
-?GetNumMembers@CDMNodeObj@@QEAAKXZ
-; public: unsigned long __cdecl CDMNodeObj::GetNumRegions(void) __ptr64
-?GetNumRegions@CDMNodeObj@@QEAAKXZ
-; public: void __cdecl CDMNodeObj::GetObjectId(__int64 & __ptr64) __ptr64
-?GetObjectId@CDMNodeObj@@QEAAXAEA_J@Z
-; public: class CWnd * __ptr64 __cdecl CTaskData::GetOcxFrameCWndPtr(void) __ptr64
-?GetOcxFrameCWndPtr@CTaskData@@QEAAPEAVCWnd@@XZ
-; public: class CDMNodeObj * __ptr64 __cdecl CDMNodeObj::GetParentDiskPtr(void) __ptr64
-?GetParentDiskPtr@CDMNodeObj@@QEAAPEAV1@XZ
-; public: class CDMNodeObj * __ptr64 __cdecl CDMNodeObj::GetParentVolumePtr(void) __ptr64
-?GetParentVolumePtr@CDMNodeObj@@QEAAPEAV1@XZ
-; public: enum _PARTITIONSTYLE  __cdecl CDMNodeObj::GetPartitionStyle(void) __ptr64
-?GetPartitionStyle@CDMNodeObj@@QEAA?AW4_PARTITIONSTYLE@@XZ
-; public: void __cdecl CDMNodeObj::GetPartitionStyleString(class CString & __ptr64,int) __ptr64
-?GetPartitionStyleString@CDMNodeObj@@QEAAXAEAVCString@@H@Z
-; void __cdecl GetPartitionStyleStringHelper(enum _PARTITIONSTYLE,class CString & __ptr64,int,unsigned long,unsigned long,int)
-?GetPartitionStyleStringHelper@@YAXW4_PARTITIONSTYLE@@AEAVCString@@HKKH@Z
-; public: int __cdecl CDMNodeObj::GetPatternRef(void) __ptr64
-?GetPatternRef@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::GetPort(void) __ptr64
-?GetPort@CDMNodeObj@@QEAAHXZ
-; public: unsigned long __cdecl CDMNodeObj::GetPrimaryPartitionCount(void) __ptr64
-?GetPrimaryPartitionCount@CDMNodeObj@@QEAAKXZ
-GetPropertyPageData
-; public: void __cdecl CTaskData::GetRegionColorStructPtr(struct _REGION_COLORS * __ptr64 * __ptr64,int & __ptr64) __ptr64
-?GetRegionColorStructPtr@CTaskData@@QEAAXPEAPEAU_REGION_COLORS@@AEAH@Z
-; public: int __cdecl CDMNodeObj::GetRegionInfo(struct regioninfoex & __ptr64) __ptr64
-?GetRegionInfo@CDMNodeObj@@QEAAHAEAUregioninfoex@@@Z
-; public: int __cdecl CDMSnapin::GetRegionScaling(void) __ptr64
-?GetRegionScaling@CDMSnapin@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::GetResultStringArray(class CStringArray & __ptr64) __ptr64
-?GetResultStringArray@CDMNodeObj@@QEAAHAEAVCStringArray@@@Z
-; public: class CString & __ptr64 __cdecl CServerRequests::GetRevertDiskName(void) __ptr64
-?GetRevertDiskName@CServerRequests@@QEAAAEAVCString@@XZ
-; public: class CString  __cdecl CDataCache::GetServerName(void) __ptr64
-?GetServerName@CDataCache@@QEAA?AVCString@@XZ
-; public: class CString  __cdecl CTaskData::GetServerName(void) __ptr64
-?GetServerName@CTaskData@@QEAA?AVCString@@XZ
-; public: void __cdecl CDMNodeObj::GetShortName(class CString & __ptr64) __ptr64
-?GetShortName@CDMNodeObj@@QEAAXAEAVCString@@@Z
-; public: void __cdecl CDMNodeObj::GetSize(long & __ptr64) __ptr64
-?GetSize@CDMNodeObj@@QEAAXAEAJ@Z
-; public: void __cdecl CDMNodeObj::GetSize(__int64 & __ptr64,int) __ptr64
-?GetSize@CDMNodeObj@@QEAAXAEA_JH@Z
-; public: void __cdecl CDMNodeObj::GetSizeString(class CString & __ptr64) __ptr64
-?GetSizeString@CDMNodeObj@@QEAAXAEAVCString@@@Z
-; public: __int64 __cdecl CDMNodeObj::GetStartOffset(void) __ptr64
-?GetStartOffset@CDMNodeObj@@QEAA_JXZ
-; public: int __cdecl CDMNodeObj::GetStatus(void) __ptr64
-?GetStatus@CDMNodeObj@@QEAAHXZ
-; public: enum _STORAGE_TYPES  __cdecl CDMNodeObj::GetStorageType(void) __ptr64
-?GetStorageType@CDMNodeObj@@QEAA?AW4_STORAGE_TYPES@@XZ
-; public: void __cdecl CDMNodeObj::GetStorageType(class CString & __ptr64,int) __ptr64
-?GetStorageType@CDMNodeObj@@QEAAXAEAVCString@@H@Z
-; class CString  __cdecl GetStringFromRc(unsigned long)
-?GetStringFromRc@@YA?AVCString@@K@Z
-; public: int __cdecl CDMSnapin::GetTopViewStyle(void) __ptr64
-?GetTopViewStyle@CDMSnapin@@QEAAHXZ
-; public: unsigned long __cdecl CTaskData::GetUIState(void) __ptr64
-?GetUIState@CTaskData@@QEAAKXZ
-; public: __int64 __cdecl CDMNodeObj::GetUnallocSpace(int) __ptr64
-?GetUnallocSpace@CDMNodeObj@@QEAA_JH@Z
-; protected: void __cdecl CDataCache::GetVolumeCookies(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
-?GetVolumeCookies@CDataCache@@IEAAXAEAKPEAPEA_J@Z
-; public: unsigned long __cdecl CDataCache::GetVolumeCount(void) __ptr64
-?GetVolumeCount@CDataCache@@QEAAKXZ
-; public: int __cdecl CDMNodeObj::GetVolumeInfo(struct volumeinfo & __ptr64) __ptr64
-?GetVolumeInfo@CDMNodeObj@@QEAAHAEAUvolumeinfo@@@Z
-; public: int __cdecl CDMNodeObj::GetVolumeStatus(class CString & __ptr64) __ptr64
-?GetVolumeStatus@CDMNodeObj@@QEAAHAEAVCString@@@Z
-; public: int __cdecl CDMSnapin::GetWaitCursor(void) __ptr64
-?GetWaitCursor@CDMSnapin@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::HasExtendedPartition(void) __ptr64
-?HasExtendedPartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDataCache::HasNTFSwithDriveLetter(void) __ptr64
-?HasNTFSwithDriveLetter@CDataCache@@QEAAHXZ
-; public: int __cdecl CTaskData::HasNTFSwithDriveLetter(void) __ptr64
-?HasNTFSwithDriveLetter@CTaskData@@QEAAHXZ
-; public: int __cdecl CDataCache::HasVMDisk(void) __ptr64
-?HasVMDisk@CDataCache@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsActive(void) __ptr64
-?IsActive@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDataCache::IsAlpha(void) __ptr64
-?IsAlpha@CDataCache@@QEAAHXZ
-; public: int __cdecl CTaskData::IsAlpha(void) __ptr64
-?IsAlpha@CTaskData@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsCurrBootVolume(void) __ptr64
-?IsCurrBootVolume@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsCurrSystemVolume(void) __ptr64
-?IsCurrSystemVolume@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsDiskEmpty(void) __ptr64
-?IsDiskEmpty@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDataCache::IsDynamic1394(void) __ptr64
-?IsDynamic1394@CDataCache@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsEECoveredGPTDisk(void) __ptr64
-?IsEECoveredGPTDisk@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsESPPartition(void) __ptr64
-?IsESPPartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDataCache::IsEfi(void) __ptr64
-?IsEfi@CDataCache@@QEAAHXZ
-; public: int __cdecl CTaskData::IsEfi(void) __ptr64
-?IsEfi@CTaskData@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsFTVolume(void) __ptr64
-?IsFTVolume@CDMNodeObj@@QEAAHXZ
-IsFailPopupMgmtSupported
-; public: int __cdecl CDMNodeObj::IsFakeVolume(void) __ptr64
-?IsFakeVolume@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsFirstFreeRegion(void) __ptr64
-?IsFirstFreeRegion@CDMNodeObj@@QEAAHXZ
-; int __cdecl IsHiddenRegion(struct regioninfoex & __ptr64)
-?IsHiddenRegion@@YAHAEAUregioninfoex@@@Z
-; public: int __cdecl CDMNodeObj::IsHiddenRegion(void) __ptr64
-?IsHiddenRegion@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsInFlux(void) __ptr64
-?IsInFlux@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CTaskData::IsLocalMachine(void) __ptr64
-?IsLocalMachine@CTaskData@@QEAAHXZ
-; int __cdecl IsMbrEEPartition(struct regioninfoex & __ptr64)
-?IsMbrEEPartition@@YAHAEAUregioninfoex@@@Z
-; public: int __cdecl CDMNodeObj::IsMbrEEPartition(void) __ptr64
-?IsMbrEEPartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsMember(class CDMNodeObj * __ptr64) __ptr64
-?IsMember@CDMNodeObj@@QEAAHPEAV1@@Z
-; public: int __cdecl CDMNodeObj::IsNEC_98Disk(void) __ptr64
-?IsNEC_98Disk@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDataCache::IsNEC_98Server(void) __ptr64
-?IsNEC_98Server@CDataCache@@QEAAHXZ
-; public: int __cdecl CTaskData::IsNEC_98Server(void) __ptr64
-?IsNEC_98Server@CTaskData@@QEAAHXZ
-; public: int __cdecl CTaskData::IsNTServer(void) __ptr64
-?IsNTServer@CTaskData@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsOemPartition(void) __ptr64
-?IsOemPartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDataCache::IsPersonalOrLapTopServer(void) __ptr64
-?IsPersonalOrLapTopServer@CDataCache@@QEAAHXZ
-IsRequestPending
-; public: int __cdecl CDMNodeObj::IsRevertable(void) __ptr64
-?IsRevertable@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CTaskData::IsSecureSystemPartition(void) __ptr64
-?IsSecureSystemPartition@CTaskData@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsUnknownPartition(void) __ptr64
-?IsUnknownPartition@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CDMNodeObj::IsUpgradeable(void) __ptr64
-?IsUpgradeable@CDMNodeObj@@QEAAHXZ
-; public: int __cdecl CTaskData::IsWolfpack(void) __ptr64
-?IsWolfpack@CTaskData@@QEAAHXZ
-; public: void __cdecl CDMComponentData::LoadData(long) __ptr64
-?LoadData@CDMComponentData@@QEAAXJ@Z
-LoadPropertyPageData
-; void __cdecl ParseDeviceName(int * __ptr64,int * __ptr64,int * __ptr64,unsigned short * __ptr64)
-?ParseDeviceName@@YAXPEAH00PEAG@Z
-; public: void __cdecl CContextMenu::PopUpInit(class CDMNodeObj * __ptr64,int & __ptr64,int) __ptr64
-?PopUpInit@CContextMenu@@QEAAXPEAVCDMNodeObj@@AEAHH@Z
-; public: void __cdecl CDataCache::PopulateDiskGroupData(struct DISK_GROUP_DATA * __ptr64) __ptr64
-?PopulateDiskGroupData@CDataCache@@QEAAXPEAUDISK_GROUP_DATA@@@Z
-; public: void __cdecl CDataCache::PopulateEncapsulateData(struct ENCAPSULATE_DATA * __ptr64) __ptr64
-?PopulateEncapsulateData@CDataCache@@QEAAXPEAUENCAPSULATE_DATA@@@Z
-; public: void __cdecl CDMNodeObj::RecalculateSpace(void) __ptr64
-?RecalculateSpace@CDMNodeObj@@QEAAXXZ
-; public: void __cdecl CDMComponentData::RefreshDiskView(void) __ptr64
-?RefreshDiskView@CDMComponentData@@QEAAXXZ
-; public: void __cdecl CContextMenu::RefreshFileSys(__int64) __ptr64
-?RefreshFileSys@CContextMenu@@QEAAX_J@Z
-; public: void __cdecl CDMComponentData::ReloadData(void) __ptr64
-?ReloadData@CDMComponentData@@QEAAXXZ
-; __int64 __cdecl RoundUpToMB(__int64)
-?RoundUpToMB@@YA_J_J@Z
-; public: void __cdecl CDMSnapin::SetDescriptionBarText(void) __ptr64
-?SetDescriptionBarText@CDMSnapin@@QEAAXXZ
-; public: void __cdecl CDataCache::SetDiskList(struct diskinfoex * __ptr64,unsigned long) __ptr64
-?SetDiskList@CDataCache@@QEAAXPEAUdiskinfoex@@K@Z
-; public: void __cdecl CDataCache::SetDriveLetterInUse(unsigned short,int) __ptr64
-?SetDriveLetterInUse@CDataCache@@QEAAXGH@Z
-; public: void __cdecl CDMNodeObj::SetFSId(__int64) __ptr64
-?SetFSId@CDMNodeObj@@QEAAX_J@Z
-; public: void __cdecl CDMComponentData::SetOcxViewType(void) __ptr64
-?SetOcxViewType@CDMComponentData@@QEAAXXZ
-; public: void __cdecl CDMComponentData::SetOcxViewTypeForce(void) __ptr64
-?SetOcxViewTypeForce@CDMComponentData@@QEAAXXZ
-; public: void __cdecl CTaskData::SetUIState(unsigned long) __ptr64
-?SetUIState@CTaskData@@QEAAXK@Z
-; public: void __cdecl CDataCache::SetVolumeList(struct volumeinfo * __ptr64,unsigned long) __ptr64
-?SetVolumeList@CDataCache@@QEAAXPEAUvolumeinfo@@K@Z
-; public: long __cdecl CContextMenu::ShowContextMenu(class CWnd * __ptr64,long,long,__int64) __ptr64
-?ShowContextMenu@CContextMenu@@QEAAJPEAVCWnd@@JJ_J@Z
-; public: int __cdecl CDataCache::SupportGpt(void) __ptr64
-?SupportGpt@CDataCache@@QEAAHXZ
-; public: int __cdecl CTaskData::SupportGpt(void) __ptr64
-?SupportGpt@CTaskData@@QEAAHXZ
-; public: void __cdecl CDMComponentData::UIStateChange(unsigned long) __ptr64
-?UIStateChange@CDMComponentData@@QEAAXK@Z
-; public: void __cdecl CDMSnapin::UpDateConsoleView(void) __ptr64
-?UpDateConsoleView@CDMSnapin@@QEAAXXZ
-; public: int __cdecl CDMNodeObj::VolumeContainsActiveRegion(void) __ptr64
-?VolumeContainsActiveRegion@CDMNodeObj@@QEAAHXZ
-; int __cdecl namecmp(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?namecmp@@YAHPEBG0@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
+; 
+; Exports of file DMDskMgr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DMDskMgr.dll
+EXPORTS
+; public: __cdecl CDataCache::CDataCache(void) __ptr64
+??0CDataCache@@QEAA@XZ
+; public: __cdecl CDMNodeObj::~CDMNodeObj(void) __ptr64
+??1CDMNodeObj@@QEAA@XZ
+; public: virtual __cdecl CDataCache::~CDataCache(void) __ptr64
+??1CDataCache@@UEAA@XZ
+; public: void __cdecl CDataCache::AddFileSystemInfoToListAndMap(unsigned long,struct filesysteminfo * __ptr64) __ptr64
+?AddFileSystemInfoToListAndMap@CDataCache@@QEAAXKPEAUfilesysteminfo@@@Z
+; public: void __cdecl CDataCache::AddInstalledFileSystemsToList(unsigned long,struct ifilesysteminfo * __ptr64) __ptr64
+?AddInstalledFileSystemsToList@CDataCache@@QEAAXKPEAUifilesysteminfo@@@Z
+; public: void __cdecl CDataCache::AddLDMObjMapEntry(struct _LDM_OBJ_MAP_ENTRY * __ptr64) __ptr64
+?AddLDMObjMapEntry@CDataCache@@QEAAXPEAU_LDM_OBJ_MAP_ENTRY@@@Z
+; public: void __cdecl CDataCache::AddRegionToVolumeMemberList(class CDMNodeObj * __ptr64) __ptr64
+?AddRegionToVolumeMemberList@CDataCache@@QEAAXPEAVCDMNodeObj@@@Z
+; public: void __cdecl CDMComponentData::AddRow(__int64) __ptr64
+?AddRow@CDMComponentData@@QEAAX_J@Z
+; public: void __cdecl CDataCache::AdjustRegionCountInLegendList(enum _REGIONTYPE,int) __ptr64
+?AdjustRegionCountInLegendList@CDataCache@@QEAAXW4_REGIONTYPE@@H@Z
+; public: void __cdecl CDataCache::AdjustVolumeCountInLegendList(enum _VOLUMELAYOUT,int) __ptr64
+?AdjustVolumeCountInLegendList@CDataCache@@QEAAXW4_VOLUMELAYOUT@@H@Z
+; public: int __cdecl CDMNodeObj::CanHaveGPT(void) __ptr64
+?CanHaveGPT@CDMNodeObj@@QEAAHXZ
+; public: void __cdecl CDMComponentData::ChangeRow(__int64) __ptr64
+?ChangeRow@CDMComponentData@@QEAAX_J@Z
+; public: long __cdecl CContextMenu::Command(long,struct IDataObject * __ptr64,__int64) __ptr64
+?Command@CContextMenu@@QEAAJJPEAUIDataObject@@_J@Z
+; int __cdecl CompareDiskNames(__int64,__int64)
+?CompareDiskNames@@YAH_J0@Z
+; public: int __cdecl CDMNodeObj::ContainsActivePartition(void) __ptr64
+?ContainsActivePartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::ContainsBootIniPartition(void) __ptr64
+?ContainsBootIniPartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::ContainsBootIniPartitionForWolfpack(void) __ptr64
+?ContainsBootIniPartitionForWolfpack@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::ContainsBootVolumesNumberChange(__int64,int * __ptr64) __ptr64
+?ContainsBootVolumesNumberChange@CDMNodeObj@@QEAAH_JPEAH@Z
+; public: int __cdecl CDMNodeObj::ContainsESPPartition(void) __ptr64
+?ContainsESPPartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::ContainsLogicalDrvBootPartition(void) __ptr64
+?ContainsLogicalDrvBootPartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::ContainsPageFile(void) __ptr64
+?ContainsPageFile@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::ContainsRealSystemPartition(void) __ptr64
+?ContainsRealSystemPartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::ContainsSubDiskNeedResync(void) __ptr64
+?ContainsSubDiskNeedResync@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::ContainsSystemInformation(void) __ptr64
+?ContainsSystemInformation@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::ContainsSystemPartition(void) __ptr64
+?ContainsSystemPartition@CDMNodeObj@@QEAAHXZ
+; unsigned long __cdecl ConvertBytesToMB(__int64)
+?ConvertBytesToMB@@YAK_J@Z
+; __int64 __cdecl ConvertMBToBytes(__int64)
+?ConvertMBToBytes@@YA_J_J@Z
+; void __cdecl CookieSort(__int64 * __ptr64,long,long,int (__cdecl*)(__int64,__int64))
+?CookieSort@@YAXPEA_JJJP6AH_J1@Z@Z
+; public: void __cdecl CDataCache::CreateDiskList(void) __ptr64
+?CreateDiskList@CDataCache@@QEAAXXZ
+; public: class CDMNodeObj * __ptr64 __cdecl CDataCache::CreateNodeObjAndAddToMap(int,enum _NODEOBJ_TYPES,class CDataCache * __ptr64,void * __ptr64,__int64) __ptr64
+?CreateNodeObjAndAddToMap@CDataCache@@QEAAPEAVCDMNodeObj@@HW4_NODEOBJ_TYPES@@PEAV1@PEAX_J@Z
+; public: class CDMNodeObj * __ptr64 __cdecl CDataCache::CreateRegionNodeObj(class CDMNodeObj * __ptr64,struct regioninfoex * __ptr64) __ptr64
+?CreateRegionNodeObj@CDataCache@@QEAAPEAVCDMNodeObj@@PEAV2@PEAUregioninfoex@@@Z
+; public: void __cdecl CDataCache::CreateShortDiskName(struct diskinfoex & __ptr64) __ptr64
+?CreateShortDiskName@CDataCache@@QEAAXAEAUdiskinfoex@@@Z
+; public: void __cdecl CDataCache::CreateVolumeList(void) __ptr64
+?CreateVolumeList@CDataCache@@QEAAXXZ
+; public: void __cdecl CDataCache::DeleteDiskGroupData(struct DISK_GROUP_DATA * __ptr64) __ptr64
+?DeleteDiskGroupData@CDataCache@@QEAAXPEAUDISK_GROUP_DATA@@@Z
+; public: void __cdecl CDataCache::DeleteEncapsulateData(struct ENCAPSULATE_DATA * __ptr64) __ptr64
+?DeleteEncapsulateData@CDataCache@@QEAAXPEAUENCAPSULATE_DATA@@@Z
+; public: void __cdecl CDataCache::DeleteLists(void) __ptr64
+?DeleteLists@CDataCache@@QEAAXXZ
+; public: void __cdecl CDataCache::DeleteRegionFromVolumeMemberList(class CDMNodeObj * __ptr64) __ptr64
+?DeleteRegionFromVolumeMemberList@CDataCache@@QEAAXPEAVCDMNodeObj@@@Z
+; public: void __cdecl CDMComponentData::DeleteRow(__int64) __ptr64
+?DeleteRow@CDMComponentData@@QEAAX_J@Z
+; public: void __cdecl CContextMenu::DoDelete(__int64) __ptr64
+?DoDelete@CContextMenu@@QEAAX_J@Z
+; public: void __cdecl CDMComponentData::EmptyOcxViewData(void) __ptr64
+?EmptyOcxViewData@CDMComponentData@@QEAAXXZ
+; public: int __cdecl CDMNodeObj::EnhancedIsUpgradeable(class CTaskData * __ptr64) __ptr64
+?EnhancedIsUpgradeable@CDMNodeObj@@QEAAHPEAVCTaskData@@@Z
+; public: void __cdecl CDMNodeObj::EnumDiskRegions(__int64 * __ptr64 * __ptr64,long & __ptr64) __ptr64
+?EnumDiskRegions@CDMNodeObj@@QEAAXPEAPEA_JAEAJ@Z
+; public: void __cdecl CTaskData::EnumDisks(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
+?EnumDisks@CTaskData@@QEAAXAEAKPEAPEA_J@Z
+; public: void __cdecl CDMNodeObj::EnumFirstVolumeMember(__int64 & __ptr64,long & __ptr64) __ptr64
+?EnumFirstVolumeMember@CDMNodeObj@@QEAAXAEA_JAEAJ@Z
+; public: void __cdecl CDataCache::EnumNTFSwithDriveLetter(int * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?EnumNTFSwithDriveLetter@CDataCache@@QEAAXPEAHPEAPEAG@Z
+; public: void __cdecl CTaskData::EnumNTFSwithDriveLetter(int * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?EnumNTFSwithDriveLetter@CTaskData@@QEAAXPEAHPEAPEAG@Z
+; public: void __cdecl CDMNodeObj::EnumVolumeMembers(__int64 * __ptr64 * __ptr64,long & __ptr64) __ptr64
+?EnumVolumeMembers@CDMNodeObj@@QEAAXPEAPEA_JAEAJ@Z
+; public: void __cdecl CTaskData::EnumVolumes(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
+?EnumVolumes@CTaskData@@QEAAXAEAKPEAPEA_J@Z
+; public: void __cdecl CDataCache::FillDeviceInstanceId(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?FillDeviceInstanceId@CDataCache@@QEAAXPEAG0@Z
+; public: void __cdecl CTaskData::FilterCookiesBigEnoughForFTRepair(unsigned long & __ptr64,__int64 * __ptr64,__int64 * __ptr64 * __ptr64,long,class CDMNodeObj * __ptr64) __ptr64
+?FilterCookiesBigEnoughForFTRepair@CTaskData@@QEAAXAEAKPEA_JPEAPEA_JJPEAVCDMNodeObj@@@Z
+; public: void __cdecl CTaskData::FilterCookiesBigEnoughForRAID5Repair(unsigned long & __ptr64,__int64 * __ptr64,__int64 * __ptr64 * __ptr64,long,class CDMNodeObj * __ptr64) __ptr64
+?FilterCookiesBigEnoughForRAID5Repair@CTaskData@@QEAAXAEAKPEA_JPEAPEA_JJPEAVCDMNodeObj@@@Z
+; public: int __cdecl CDataCache::FindCookieAndRemoveFromList(__int64,class CList<class CDMNodeObj * __ptr64,class CDMNodeObj * __ptr64> * __ptr64) __ptr64
+?FindCookieAndRemoveFromList@CDataCache@@QEAAH_JPEAV?$CList@PEAVCDMNodeObj@@PEAV1@@@@Z
+; public: unsigned short * __ptr64 __cdecl CDataCache::FindDeviceInstanceId(__int64) __ptr64
+?FindDeviceInstanceId@CDataCache@@QEAAPEAG_J@Z
+; public: int __cdecl CDataCache::FindDiskPtrFromDiskId(__int64,class CDMNodeObj * __ptr64 * __ptr64) __ptr64
+?FindDiskPtrFromDiskId@CDataCache@@QEAAH_JPEAPEAVCDMNodeObj@@@Z
+; public: int __cdecl CDataCache::FindDriveLetter(__int64,unsigned short & __ptr64) __ptr64
+?FindDriveLetter@CDataCache@@QEAAH_JAEAG@Z
+; public: void __cdecl CTaskData::FindDriveLetter(__int64,unsigned short & __ptr64) __ptr64
+?FindDriveLetter@CTaskData@@QEAAX_JAEAG@Z
+; int __cdecl FindDriveLetterHelper(struct driveletterinfo * __ptr64,int,__int64,unsigned short & __ptr64)
+?FindDriveLetterHelper@@YAHPEAUdriveletterinfo@@H_JAEAG@Z
+; public: int __cdecl CDataCache::FindFileSystem(__int64,struct filesysteminfo & __ptr64) __ptr64
+?FindFileSystem@CDataCache@@QEAAH_JAEAUfilesysteminfo@@@Z
+; public: int __cdecl CTaskData::FindFileSystem(__int64,struct filesysteminfo & __ptr64) __ptr64
+?FindFileSystem@CTaskData@@QEAAH_JAEAUfilesysteminfo@@@Z
+; public: int __cdecl CDataCache::FindRegionPtrFromRegionId(__int64,class CDMNodeObj * __ptr64 * __ptr64) __ptr64
+?FindRegionPtrFromRegionId@CDataCache@@QEAAH_JPEAPEAVCDMNodeObj@@@Z
+; public: int __cdecl CTaskData::FindRegionPtrFromRegionId(__int64,class CDMNodeObj * __ptr64 * __ptr64) __ptr64
+?FindRegionPtrFromRegionId@CTaskData@@QEAAH_JPEAPEAVCDMNodeObj@@@Z
+; public: int __cdecl CDataCache::FindRegionPtrOnDiskFromRegionId(class CDMNodeObj * __ptr64,__int64,class CDMNodeObj * __ptr64 * __ptr64,struct __POSITION * __ptr64 & __ptr64) __ptr64
+?FindRegionPtrOnDiskFromRegionId@CDataCache@@QEAAHPEAVCDMNodeObj@@_JPEAPEAV2@AEAPEAU__POSITION@@@Z
+; public: int __cdecl CTaskData::GetAssignedDriveLetter(__int64,unsigned short & __ptr64) __ptr64
+?GetAssignedDriveLetter@CTaskData@@QEAAH_JAEAG@Z
+; public: int __cdecl CTaskData::GetBootPort(void) __ptr64
+?GetBootPort@CTaskData@@QEAAHXZ
+; public: int __cdecl CDMSnapin::GetBottomViewStyle(void) __ptr64
+?GetBottomViewStyle@CDMSnapin@@QEAAHXZ
+; public: unsigned long __cdecl CDMNodeObj::GetColorRef(void) __ptr64
+?GetColorRef@CDMNodeObj@@QEAAKXZ
+; public: class CDMNodeObj * __ptr64 __cdecl CTaskData::GetDMDataObjPtrFromId(__int64) __ptr64
+?GetDMDataObjPtrFromId@CTaskData@@QEAAPEAVCDMNodeObj@@_J@Z
+; public: unsigned long __cdecl CDMNodeObj::GetDeviceState(void) __ptr64
+?GetDeviceState@CDMNodeObj@@QEAAKXZ
+; public: unsigned long __cdecl CDMNodeObj::GetDeviceType(void) __ptr64
+?GetDeviceType@CDMNodeObj@@QEAAKXZ
+; protected: void __cdecl CDataCache::GetDiskCookies(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
+?GetDiskCookies@CDataCache@@IEAAXAEAKPEAPEA_J@Z
+; public: void __cdecl CTaskData::GetDiskCookies(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64,int,unsigned long,int) __ptr64
+?GetDiskCookies@CTaskData@@QEAAXAEAKPEAPEA_JHKH@Z
+; public: void __cdecl CTaskData::GetDiskCookiesForSig(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
+?GetDiskCookiesForSig@CTaskData@@QEAAXAEAKPEAPEA_J@Z
+; public: void __cdecl CTaskData::GetDiskCookiesForUpgrade(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
+?GetDiskCookiesForUpgrade@CTaskData@@QEAAXAEAKPEAPEA_J@Z
+; public: void __cdecl CTaskData::GetDiskCookiesToEncap(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
+?GetDiskCookiesToEncap@CTaskData@@QEAAXAEAKPEAPEA_J@Z
+; public: unsigned long __cdecl CDataCache::GetDiskCount(void) __ptr64
+?GetDiskCount@CDataCache@@QEAAKXZ
+; public: int __cdecl CDMNodeObj::GetDiskInfo(struct diskinfoex & __ptr64) __ptr64
+?GetDiskInfo@CDMNodeObj@@QEAAHAEAUdiskinfoex@@@Z
+; public: void __cdecl CTaskData::GetDiskInfoFromVolCookie(__int64,int & __ptr64,unsigned long & __ptr64,__int64 * __ptr64 * __ptr64,unsigned long,int) __ptr64
+?GetDiskInfoFromVolCookie@CTaskData@@QEAAX_JAEAHAEAKPEAPEA_JKH@Z
+; public: int __cdecl CDMSnapin::GetDiskScaling(void) __ptr64
+?GetDiskScaling@CDMSnapin@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::GetDiskSpec(struct diskspec & __ptr64) __ptr64
+?GetDiskSpec@CDMNodeObj@@QEAAHAEAUdiskspec@@@Z
+; public: int __cdecl CDMNodeObj::GetDiskStatus(class CString & __ptr64) __ptr64
+?GetDiskStatus@CDMNodeObj@@QEAAHAEAVCString@@@Z
+; int __cdecl GetDiskStatusHelper(struct diskinfoex * __ptr64,class CString & __ptr64,int)
+?GetDiskStatusHelper@@YAHPEAUdiskinfoex@@AEAVCString@@H@Z
+; public: void __cdecl CDMNodeObj::GetDiskTypeName(class CString & __ptr64) __ptr64
+?GetDiskTypeName@CDMNodeObj@@QEAAXAEAVCString@@@Z
+; void __cdecl GetDiskTypeNameHelper(struct diskinfoex * __ptr64,class CString & __ptr64,unsigned short)
+?GetDiskTypeNameHelper@@YAXPEAUdiskinfoex@@AEAVCString@@G@Z
+; public: void __cdecl CDMNodeObj::GetDriveLetter(unsigned short & __ptr64) __ptr64
+?GetDriveLetter@CDMNodeObj@@QEAAXAEAG@Z
+; protected: void __cdecl CDataCache::GetDriveLetters(short & __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short) __ptr64
+?GetDriveLetters@CDataCache@@IEAAXAEAFPEAPEAGG@Z
+; public: void __cdecl CTaskData::GetDriveLetters(short & __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short) __ptr64
+?GetDriveLetters@CTaskData@@QEAAXAEAFPEAPEAGG@Z
+; public: unsigned long __cdecl CDMNodeObj::GetExtendedRegionColor(void) __ptr64
+?GetExtendedRegionColor@CDMNodeObj@@QEAAKXZ
+; public: int __cdecl CDMNodeObj::GetExtraRegionStatus(class CString & __ptr64,int) __ptr64
+?GetExtraRegionStatus@CDMNodeObj@@QEAAHAEAVCString@@H@Z
+; public: void __cdecl CDMNodeObj::GetFileSystemLabel(class CString & __ptr64) __ptr64
+?GetFileSystemLabel@CDMNodeObj@@QEAAXAEAVCString@@@Z
+; public: void __cdecl CDMNodeObj::GetFileSystemName(class CString & __ptr64) __ptr64
+?GetFileSystemName@CDMNodeObj@@QEAAXAEAVCString@@@Z
+; public: void __cdecl CDMNodeObj::GetFileSystemSize(long & __ptr64) __ptr64
+?GetFileSystemSize@CDMNodeObj@@QEAAXAEAJ@Z
+; public: int __cdecl CDMNodeObj::GetFileSystemType(void) __ptr64
+?GetFileSystemType@CDMNodeObj@@QEAAHXZ
+; public: void __cdecl CDataCache::GetFileSystemTypes(unsigned long & __ptr64,struct ifilesysteminfo * __ptr64 * __ptr64) __ptr64
+?GetFileSystemTypes@CDataCache@@QEAAXAEAKPEAPEAUifilesysteminfo@@@Z
+; public: void __cdecl CTaskData::GetFileSystemTypes(unsigned long & __ptr64,struct ifilesysteminfo * __ptr64 * __ptr64) __ptr64
+?GetFileSystemTypes@CTaskData@@QEAAXAEAKPEAPEAUifilesysteminfo@@@Z
+; public: int __cdecl CDMSnapin::GetFilterToggle(void) __ptr64
+?GetFilterToggle@CDMSnapin@@QEAAHXZ
+; public: long __cdecl CDMNodeObj::GetFlags(void) __ptr64
+?GetFlags@CDMNodeObj@@QEAAJXZ
+; public: short __cdecl CDMNodeObj::GetIVolumeClientVersion(void) __ptr64
+?GetIVolumeClientVersion@CDMNodeObj@@QEAAFXZ
+; public: short __cdecl CTaskData::GetIVolumeClientVersion(void) __ptr64
+?GetIVolumeClientVersion@CTaskData@@QEAAFXZ
+; public: unsigned int __cdecl CDMNodeObj::GetIconId(int) __ptr64
+?GetIconId@CDMNodeObj@@QEAAIH@Z
+; public: int __cdecl CDMNodeObj::GetImageNum(void) __ptr64
+?GetImageNum@CDMNodeObj@@QEAAHXZ
+; public: __int64 __cdecl CDataCache::GetLastKnownState(__int64) __ptr64
+?GetLastKnownState@CDataCache@@QEAA_J_J@Z
+; public: enum _LAYOUT_TYPES  __cdecl CDMNodeObj::GetLayoutType(void) __ptr64
+?GetLayoutType@CDMNodeObj@@QEAA?AW4_LAYOUT_TYPES@@XZ
+; public: __int64 __cdecl CDMNodeObj::GetLdmObjectId(void) __ptr64
+?GetLdmObjectId@CDMNodeObj@@QEAA_JXZ
+; public: int __cdecl CDMSnapin::GetListBehavior(void) __ptr64
+?GetListBehavior@CDMSnapin@@QEAAHXZ
+; public: unsigned long __cdecl CDMNodeObj::GetLogicalDriveCount(void) __ptr64
+?GetLogicalDriveCount@CDMNodeObj@@QEAAKXZ
+; public: void __cdecl CDMNodeObj::GetLongName(class CString & __ptr64,int) __ptr64
+?GetLongName@CDMNodeObj@@QEAAXAEAVCString@@H@Z
+; public: struct HWND__ * __ptr64 __cdecl CDMComponentData::GetMMCWindow(void) __ptr64
+?GetMMCWindow@CDMComponentData@@QEAAPEAUHWND__@@XZ
+; public: void __cdecl CDMNodeObj::GetMaxAdjustedFreeSize(__int64 & __ptr64) __ptr64
+?GetMaxAdjustedFreeSize@CDMNodeObj@@QEAAXAEA_J@Z
+; public: unsigned long __cdecl CDMNodeObj::GetMaxPartitionCount(void) __ptr64
+?GetMaxPartitionCount@CDMNodeObj@@QEAAKXZ
+; protected: void __cdecl CDataCache::GetMinMaxPartitionSizes(__int64,unsigned long & __ptr64,unsigned long & __ptr64) __ptr64
+?GetMinMaxPartitionSizes@CDataCache@@IEAAX_JAEAK1@Z
+; public: void __cdecl CTaskData::GetMinMaxPartitionSizes(__int64,unsigned long & __ptr64,unsigned long & __ptr64) __ptr64
+?GetMinMaxPartitionSizes@CTaskData@@QEAAX_JAEAK1@Z
+; public: void __cdecl CDMNodeObj::GetName(class CString & __ptr64) __ptr64
+?GetName@CDMNodeObj@@QEAAXAEAVCString@@@Z
+; public: unsigned long __cdecl CDMNodeObj::GetNumMembers(void) __ptr64
+?GetNumMembers@CDMNodeObj@@QEAAKXZ
+; public: unsigned long __cdecl CDMNodeObj::GetNumRegions(void) __ptr64
+?GetNumRegions@CDMNodeObj@@QEAAKXZ
+; public: void __cdecl CDMNodeObj::GetObjectId(__int64 & __ptr64) __ptr64
+?GetObjectId@CDMNodeObj@@QEAAXAEA_J@Z
+; public: class CWnd * __ptr64 __cdecl CTaskData::GetOcxFrameCWndPtr(void) __ptr64
+?GetOcxFrameCWndPtr@CTaskData@@QEAAPEAVCWnd@@XZ
+; public: class CDMNodeObj * __ptr64 __cdecl CDMNodeObj::GetParentDiskPtr(void) __ptr64
+?GetParentDiskPtr@CDMNodeObj@@QEAAPEAV1@XZ
+; public: class CDMNodeObj * __ptr64 __cdecl CDMNodeObj::GetParentVolumePtr(void) __ptr64
+?GetParentVolumePtr@CDMNodeObj@@QEAAPEAV1@XZ
+; public: enum _PARTITIONSTYLE  __cdecl CDMNodeObj::GetPartitionStyle(void) __ptr64
+?GetPartitionStyle@CDMNodeObj@@QEAA?AW4_PARTITIONSTYLE@@XZ
+; public: void __cdecl CDMNodeObj::GetPartitionStyleString(class CString & __ptr64,int) __ptr64
+?GetPartitionStyleString@CDMNodeObj@@QEAAXAEAVCString@@H@Z
+; void __cdecl GetPartitionStyleStringHelper(enum _PARTITIONSTYLE,class CString & __ptr64,int,unsigned long,unsigned long,int)
+?GetPartitionStyleStringHelper@@YAXW4_PARTITIONSTYLE@@AEAVCString@@HKKH@Z
+; public: int __cdecl CDMNodeObj::GetPatternRef(void) __ptr64
+?GetPatternRef@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::GetPort(void) __ptr64
+?GetPort@CDMNodeObj@@QEAAHXZ
+; public: unsigned long __cdecl CDMNodeObj::GetPrimaryPartitionCount(void) __ptr64
+?GetPrimaryPartitionCount@CDMNodeObj@@QEAAKXZ
+GetPropertyPageData
+; public: void __cdecl CTaskData::GetRegionColorStructPtr(struct _REGION_COLORS * __ptr64 * __ptr64,int & __ptr64) __ptr64
+?GetRegionColorStructPtr@CTaskData@@QEAAXPEAPEAU_REGION_COLORS@@AEAH@Z
+; public: int __cdecl CDMNodeObj::GetRegionInfo(struct regioninfoex & __ptr64) __ptr64
+?GetRegionInfo@CDMNodeObj@@QEAAHAEAUregioninfoex@@@Z
+; public: int __cdecl CDMSnapin::GetRegionScaling(void) __ptr64
+?GetRegionScaling@CDMSnapin@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::GetResultStringArray(class CStringArray & __ptr64) __ptr64
+?GetResultStringArray@CDMNodeObj@@QEAAHAEAVCStringArray@@@Z
+; public: class CString & __ptr64 __cdecl CServerRequests::GetRevertDiskName(void) __ptr64
+?GetRevertDiskName@CServerRequests@@QEAAAEAVCString@@XZ
+; public: class CString  __cdecl CDataCache::GetServerName(void) __ptr64
+?GetServerName@CDataCache@@QEAA?AVCString@@XZ
+; public: class CString  __cdecl CTaskData::GetServerName(void) __ptr64
+?GetServerName@CTaskData@@QEAA?AVCString@@XZ
+; public: void __cdecl CDMNodeObj::GetShortName(class CString & __ptr64) __ptr64
+?GetShortName@CDMNodeObj@@QEAAXAEAVCString@@@Z
+; public: void __cdecl CDMNodeObj::GetSize(long & __ptr64) __ptr64
+?GetSize@CDMNodeObj@@QEAAXAEAJ@Z
+; public: void __cdecl CDMNodeObj::GetSize(__int64 & __ptr64,int) __ptr64
+?GetSize@CDMNodeObj@@QEAAXAEA_JH@Z
+; public: void __cdecl CDMNodeObj::GetSizeString(class CString & __ptr64) __ptr64
+?GetSizeString@CDMNodeObj@@QEAAXAEAVCString@@@Z
+; public: __int64 __cdecl CDMNodeObj::GetStartOffset(void) __ptr64
+?GetStartOffset@CDMNodeObj@@QEAA_JXZ
+; public: int __cdecl CDMNodeObj::GetStatus(void) __ptr64
+?GetStatus@CDMNodeObj@@QEAAHXZ
+; public: enum _STORAGE_TYPES  __cdecl CDMNodeObj::GetStorageType(void) __ptr64
+?GetStorageType@CDMNodeObj@@QEAA?AW4_STORAGE_TYPES@@XZ
+; public: void __cdecl CDMNodeObj::GetStorageType(class CString & __ptr64,int) __ptr64
+?GetStorageType@CDMNodeObj@@QEAAXAEAVCString@@H@Z
+; class CString  __cdecl GetStringFromRc(unsigned long)
+?GetStringFromRc@@YA?AVCString@@K@Z
+; public: int __cdecl CDMSnapin::GetTopViewStyle(void) __ptr64
+?GetTopViewStyle@CDMSnapin@@QEAAHXZ
+; public: unsigned long __cdecl CTaskData::GetUIState(void) __ptr64
+?GetUIState@CTaskData@@QEAAKXZ
+; public: __int64 __cdecl CDMNodeObj::GetUnallocSpace(int) __ptr64
+?GetUnallocSpace@CDMNodeObj@@QEAA_JH@Z
+; protected: void __cdecl CDataCache::GetVolumeCookies(unsigned long & __ptr64,__int64 * __ptr64 * __ptr64) __ptr64
+?GetVolumeCookies@CDataCache@@IEAAXAEAKPEAPEA_J@Z
+; public: unsigned long __cdecl CDataCache::GetVolumeCount(void) __ptr64
+?GetVolumeCount@CDataCache@@QEAAKXZ
+; public: int __cdecl CDMNodeObj::GetVolumeInfo(struct volumeinfo & __ptr64) __ptr64
+?GetVolumeInfo@CDMNodeObj@@QEAAHAEAUvolumeinfo@@@Z
+; public: int __cdecl CDMNodeObj::GetVolumeStatus(class CString & __ptr64) __ptr64
+?GetVolumeStatus@CDMNodeObj@@QEAAHAEAVCString@@@Z
+; public: int __cdecl CDMSnapin::GetWaitCursor(void) __ptr64
+?GetWaitCursor@CDMSnapin@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::HasExtendedPartition(void) __ptr64
+?HasExtendedPartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDataCache::HasNTFSwithDriveLetter(void) __ptr64
+?HasNTFSwithDriveLetter@CDataCache@@QEAAHXZ
+; public: int __cdecl CTaskData::HasNTFSwithDriveLetter(void) __ptr64
+?HasNTFSwithDriveLetter@CTaskData@@QEAAHXZ
+; public: int __cdecl CDataCache::HasVMDisk(void) __ptr64
+?HasVMDisk@CDataCache@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsActive(void) __ptr64
+?IsActive@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDataCache::IsAlpha(void) __ptr64
+?IsAlpha@CDataCache@@QEAAHXZ
+; public: int __cdecl CTaskData::IsAlpha(void) __ptr64
+?IsAlpha@CTaskData@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsCurrBootVolume(void) __ptr64
+?IsCurrBootVolume@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsCurrSystemVolume(void) __ptr64
+?IsCurrSystemVolume@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsDiskEmpty(void) __ptr64
+?IsDiskEmpty@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDataCache::IsDynamic1394(void) __ptr64
+?IsDynamic1394@CDataCache@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsEECoveredGPTDisk(void) __ptr64
+?IsEECoveredGPTDisk@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsESPPartition(void) __ptr64
+?IsESPPartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDataCache::IsEfi(void) __ptr64
+?IsEfi@CDataCache@@QEAAHXZ
+; public: int __cdecl CTaskData::IsEfi(void) __ptr64
+?IsEfi@CTaskData@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsFTVolume(void) __ptr64
+?IsFTVolume@CDMNodeObj@@QEAAHXZ
+IsFailPopupMgmtSupported
+; public: int __cdecl CDMNodeObj::IsFakeVolume(void) __ptr64
+?IsFakeVolume@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsFirstFreeRegion(void) __ptr64
+?IsFirstFreeRegion@CDMNodeObj@@QEAAHXZ
+; int __cdecl IsHiddenRegion(struct regioninfoex & __ptr64)
+?IsHiddenRegion@@YAHAEAUregioninfoex@@@Z
+; public: int __cdecl CDMNodeObj::IsHiddenRegion(void) __ptr64
+?IsHiddenRegion@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsInFlux(void) __ptr64
+?IsInFlux@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CTaskData::IsLocalMachine(void) __ptr64
+?IsLocalMachine@CTaskData@@QEAAHXZ
+; int __cdecl IsMbrEEPartition(struct regioninfoex & __ptr64)
+?IsMbrEEPartition@@YAHAEAUregioninfoex@@@Z
+; public: int __cdecl CDMNodeObj::IsMbrEEPartition(void) __ptr64
+?IsMbrEEPartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsMember(class CDMNodeObj * __ptr64) __ptr64
+?IsMember@CDMNodeObj@@QEAAHPEAV1@@Z
+; public: int __cdecl CDMNodeObj::IsNEC_98Disk(void) __ptr64
+?IsNEC_98Disk@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDataCache::IsNEC_98Server(void) __ptr64
+?IsNEC_98Server@CDataCache@@QEAAHXZ
+; public: int __cdecl CTaskData::IsNEC_98Server(void) __ptr64
+?IsNEC_98Server@CTaskData@@QEAAHXZ
+; public: int __cdecl CTaskData::IsNTServer(void) __ptr64
+?IsNTServer@CTaskData@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsOemPartition(void) __ptr64
+?IsOemPartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDataCache::IsPersonalOrLapTopServer(void) __ptr64
+?IsPersonalOrLapTopServer@CDataCache@@QEAAHXZ
+IsRequestPending
+; public: int __cdecl CDMNodeObj::IsRevertable(void) __ptr64
+?IsRevertable@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CTaskData::IsSecureSystemPartition(void) __ptr64
+?IsSecureSystemPartition@CTaskData@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsUnknownPartition(void) __ptr64
+?IsUnknownPartition@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CDMNodeObj::IsUpgradeable(void) __ptr64
+?IsUpgradeable@CDMNodeObj@@QEAAHXZ
+; public: int __cdecl CTaskData::IsWolfpack(void) __ptr64
+?IsWolfpack@CTaskData@@QEAAHXZ
+; public: void __cdecl CDMComponentData::LoadData(long) __ptr64
+?LoadData@CDMComponentData@@QEAAXJ@Z
+LoadPropertyPageData
+; void __cdecl ParseDeviceName(int * __ptr64,int * __ptr64,int * __ptr64,unsigned short * __ptr64)
+?ParseDeviceName@@YAXPEAH00PEAG@Z
+; public: void __cdecl CContextMenu::PopUpInit(class CDMNodeObj * __ptr64,int & __ptr64,int) __ptr64
+?PopUpInit@CContextMenu@@QEAAXPEAVCDMNodeObj@@AEAHH@Z
+; public: void __cdecl CDataCache::PopulateDiskGroupData(struct DISK_GROUP_DATA * __ptr64) __ptr64
+?PopulateDiskGroupData@CDataCache@@QEAAXPEAUDISK_GROUP_DATA@@@Z
+; public: void __cdecl CDataCache::PopulateEncapsulateData(struct ENCAPSULATE_DATA * __ptr64) __ptr64
+?PopulateEncapsulateData@CDataCache@@QEAAXPEAUENCAPSULATE_DATA@@@Z
+; public: void __cdecl CDMNodeObj::RecalculateSpace(void) __ptr64
+?RecalculateSpace@CDMNodeObj@@QEAAXXZ
+; public: void __cdecl CDMComponentData::RefreshDiskView(void) __ptr64
+?RefreshDiskView@CDMComponentData@@QEAAXXZ
+; public: void __cdecl CContextMenu::RefreshFileSys(__int64) __ptr64
+?RefreshFileSys@CContextMenu@@QEAAX_J@Z
+; public: void __cdecl CDMComponentData::ReloadData(void) __ptr64
+?ReloadData@CDMComponentData@@QEAAXXZ
+; __int64 __cdecl RoundUpToMB(__int64)
+?RoundUpToMB@@YA_J_J@Z
+; public: void __cdecl CDMSnapin::SetDescriptionBarText(void) __ptr64
+?SetDescriptionBarText@CDMSnapin@@QEAAXXZ
+; public: void __cdecl CDataCache::SetDiskList(struct diskinfoex * __ptr64,unsigned long) __ptr64
+?SetDiskList@CDataCache@@QEAAXPEAUdiskinfoex@@K@Z
+; public: void __cdecl CDataCache::SetDriveLetterInUse(unsigned short,int) __ptr64
+?SetDriveLetterInUse@CDataCache@@QEAAXGH@Z
+; public: void __cdecl CDMNodeObj::SetFSId(__int64) __ptr64
+?SetFSId@CDMNodeObj@@QEAAX_J@Z
+; public: void __cdecl CDMComponentData::SetOcxViewType(void) __ptr64
+?SetOcxViewType@CDMComponentData@@QEAAXXZ
+; public: void __cdecl CDMComponentData::SetOcxViewTypeForce(void) __ptr64
+?SetOcxViewTypeForce@CDMComponentData@@QEAAXXZ
+; public: void __cdecl CTaskData::SetUIState(unsigned long) __ptr64
+?SetUIState@CTaskData@@QEAAXK@Z
+; public: void __cdecl CDataCache::SetVolumeList(struct volumeinfo * __ptr64,unsigned long) __ptr64
+?SetVolumeList@CDataCache@@QEAAXPEAUvolumeinfo@@K@Z
+; public: long __cdecl CContextMenu::ShowContextMenu(class CWnd * __ptr64,long,long,__int64) __ptr64
+?ShowContextMenu@CContextMenu@@QEAAJPEAVCWnd@@JJ_J@Z
+; public: int __cdecl CDataCache::SupportGpt(void) __ptr64
+?SupportGpt@CDataCache@@QEAAHXZ
+; public: int __cdecl CTaskData::SupportGpt(void) __ptr64
+?SupportGpt@CTaskData@@QEAAHXZ
+; public: void __cdecl CDMComponentData::UIStateChange(unsigned long) __ptr64
+?UIStateChange@CDMComponentData@@QEAAXK@Z
+; public: void __cdecl CDMSnapin::UpDateConsoleView(void) __ptr64
+?UpDateConsoleView@CDMSnapin@@QEAAXXZ
+; public: int __cdecl CDMNodeObj::VolumeContainsActiveRegion(void) __ptr64
+?VolumeContainsActiveRegion@CDMNodeObj@@QEAAHXZ
+; int __cdecl namecmp(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?namecmp@@YAHPEBG0@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
diff --git a/mingw-w64-crt/lib64/dmintf.def b/mingw-w64-crt/lib64/dmintf.def
index 5a28c47..2770123 100644
--- a/mingw-w64-crt/lib64/dmintf.def
+++ b/mingw-w64-crt/lib64/dmintf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file DMINTF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DMINTF.dll
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file DMINTF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DMINTF.dll
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/dmivcitf.def b/mingw-w64-crt/lib64/dmivcitf.def
index 501ed67..2a4661b 100644
--- a/mingw-w64-crt/lib64/dmivcitf.def
+++ b/mingw-w64-crt/lib64/dmivcitf.def
@@ -1,42 +1,42 @@
-; 
-; Exports of file dmivcitf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmivcitf.dll
-EXPORTS
-; public: void __cdecl CDataCache::AddLDMObjMapEntry(struct _LDM_OBJ_MAP_ENTRY * __ptr64) __ptr64
-?AddLDMObjMapEntry@CDataCache@@QEAAXPEAU_LDM_OBJ_MAP_ENTRY@@@Z
-CreateDataCacheX
-CreateServerRequestsX
-; public: int __cdecl CDMSnapin::GetBottomViewStyle(void) __ptr64
-?GetBottomViewStyle@CDMSnapin@@QEAAHXZ
-; public: unsigned long __cdecl CDataCache::GetDiskCount(void) __ptr64
-?GetDiskCount@CDataCache@@QEAAKXZ
-; public: int __cdecl CDMSnapin::GetDiskScaling(void) __ptr64
-?GetDiskScaling@CDMSnapin@@QEAAHXZ
-; public: int __cdecl CDMSnapin::GetFilterToggle(void) __ptr64
-?GetFilterToggle@CDMSnapin@@QEAAHXZ
-; public: __int64 __cdecl CDMNodeObj::GetLdmObjectId(void) __ptr64
-?GetLdmObjectId@CDMNodeObj@@QEAA_JXZ
-; public: int __cdecl CDMSnapin::GetListBehavior(void) __ptr64
-?GetListBehavior@CDMSnapin@@QEAAHXZ
-; public: unsigned long __cdecl CDMNodeObj::GetNumMembers(void) __ptr64
-?GetNumMembers@CDMNodeObj@@QEAAKXZ
-; public: class CWnd * __ptr64 __cdecl CTaskData::GetOcxFrameCWndPtr(void) __ptr64
-?GetOcxFrameCWndPtr@CTaskData@@QEAAPEAVCWnd@@XZ
-; public: void __cdecl CTaskData::GetRegionColorStructPtr(struct _REGION_COLORS * __ptr64 * __ptr64,int & __ptr64) __ptr64
-?GetRegionColorStructPtr@CTaskData@@QEAAXPEAPEAU_REGION_COLORS@@AEAH@Z
-; public: int __cdecl CDMSnapin::GetRegionScaling(void) __ptr64
-?GetRegionScaling@CDMSnapin@@QEAAHXZ
-; public: class CString  __cdecl CDataCache::GetServerName(void) __ptr64
-?GetServerName@CDataCache@@QEAA?AVCString@@XZ
-; public: int __cdecl CDMSnapin::GetTopViewStyle(void) __ptr64
-?GetTopViewStyle@CDMSnapin@@QEAAHXZ
-; public: unsigned long __cdecl CDataCache::GetVolumeCount(void) __ptr64
-?GetVolumeCount@CDataCache@@QEAAKXZ
-; public: int __cdecl CDMSnapin::GetWaitCursor(void) __ptr64
-?GetWaitCursor@CDMSnapin@@QEAAHXZ
-HrGetErrorData
-LoadPropertyPageData
+; 
+; Exports of file dmivcitf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmivcitf.dll
+EXPORTS
+; public: void __cdecl CDataCache::AddLDMObjMapEntry(struct _LDM_OBJ_MAP_ENTRY * __ptr64) __ptr64
+?AddLDMObjMapEntry@CDataCache@@QEAAXPEAU_LDM_OBJ_MAP_ENTRY@@@Z
+CreateDataCacheX
+CreateServerRequestsX
+; public: int __cdecl CDMSnapin::GetBottomViewStyle(void) __ptr64
+?GetBottomViewStyle@CDMSnapin@@QEAAHXZ
+; public: unsigned long __cdecl CDataCache::GetDiskCount(void) __ptr64
+?GetDiskCount@CDataCache@@QEAAKXZ
+; public: int __cdecl CDMSnapin::GetDiskScaling(void) __ptr64
+?GetDiskScaling@CDMSnapin@@QEAAHXZ
+; public: int __cdecl CDMSnapin::GetFilterToggle(void) __ptr64
+?GetFilterToggle@CDMSnapin@@QEAAHXZ
+; public: __int64 __cdecl CDMNodeObj::GetLdmObjectId(void) __ptr64
+?GetLdmObjectId@CDMNodeObj@@QEAA_JXZ
+; public: int __cdecl CDMSnapin::GetListBehavior(void) __ptr64
+?GetListBehavior@CDMSnapin@@QEAAHXZ
+; public: unsigned long __cdecl CDMNodeObj::GetNumMembers(void) __ptr64
+?GetNumMembers@CDMNodeObj@@QEAAKXZ
+; public: class CWnd * __ptr64 __cdecl CTaskData::GetOcxFrameCWndPtr(void) __ptr64
+?GetOcxFrameCWndPtr@CTaskData@@QEAAPEAVCWnd@@XZ
+; public: void __cdecl CTaskData::GetRegionColorStructPtr(struct _REGION_COLORS * __ptr64 * __ptr64,int & __ptr64) __ptr64
+?GetRegionColorStructPtr@CTaskData@@QEAAXPEAPEAU_REGION_COLORS@@AEAH@Z
+; public: int __cdecl CDMSnapin::GetRegionScaling(void) __ptr64
+?GetRegionScaling@CDMSnapin@@QEAAHXZ
+; public: class CString  __cdecl CDataCache::GetServerName(void) __ptr64
+?GetServerName@CDataCache@@QEAA?AVCString@@XZ
+; public: int __cdecl CDMSnapin::GetTopViewStyle(void) __ptr64
+?GetTopViewStyle@CDMSnapin@@QEAAHXZ
+; public: unsigned long __cdecl CDataCache::GetVolumeCount(void) __ptr64
+?GetVolumeCount@CDataCache@@QEAAKXZ
+; public: int __cdecl CDMSnapin::GetWaitCursor(void) __ptr64
+?GetWaitCursor@CDMSnapin@@QEAAHXZ
+HrGetErrorData
+LoadPropertyPageData
diff --git a/mingw-w64-crt/lib64/dmocx.def b/mingw-w64-crt/lib64/dmocx.def
index bcd9ab7..dec9fdc 100644
--- a/mingw-w64-crt/lib64/dmocx.def
+++ b/mingw-w64-crt/lib64/dmocx.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DMOCX.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DMOCX.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DMOCX.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DMOCX.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dmserver.def b/mingw-w64-crt/lib64/dmserver.def
index 1876b16..1f8b324 100644
--- a/mingw-w64-crt/lib64/dmserver.def
+++ b/mingw-w64-crt/lib64/dmserver.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file dmserver.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmserver.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file dmserver.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmserver.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/dmutil.def b/mingw-w64-crt/lib64/dmutil.def
index a43fce9..fe9c886 100644
--- a/mingw-w64-crt/lib64/dmutil.def
+++ b/mingw-w64-crt/lib64/dmutil.def
@@ -1,37 +1,37 @@
-; 
-; Exports of file dmutil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmutil.dll
-EXPORTS
-CoDisableDynamicVolumes
-AddEntryBootFileGpt
-AddEntryBootFileMbr
-DisplayError
-DisplayErrorRgszw
-DllMain
-DmCommonNtOpenFile
-DynamicSupport
-FTrace
-FTraceValist
-FreeRgszw
-GetErrorData
-GetInstallDirectoryPath
-GetSystemVolume
-IsPersonalSKU
-LowAcquirePrivilege
-LowGetPartitionInfo
-LowNtAddBootEntry
-LowNtReadFile
-LowNtReadOnlyAttributeOff
-LowNtWriteFile
-RgszwDupRgszw
-RgszwFromArgs
-RgszwFromValist
-ShowMessage
-ShowMessageValist
-SzwDupSzw
-SzwFromSza
-TranslateError
+; 
+; Exports of file dmutil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmutil.dll
+EXPORTS
+CoDisableDynamicVolumes
+AddEntryBootFileGpt
+AddEntryBootFileMbr
+DisplayError
+DisplayErrorRgszw
+DllMain
+DmCommonNtOpenFile
+DynamicSupport
+FTrace
+FTraceValist
+FreeRgszw
+GetErrorData
+GetInstallDirectoryPath
+GetSystemVolume
+IsPersonalSKU
+LowAcquirePrivilege
+LowGetPartitionInfo
+LowNtAddBootEntry
+LowNtReadFile
+LowNtReadOnlyAttributeOff
+LowNtWriteFile
+RgszwDupRgszw
+RgszwFromArgs
+RgszwFromValist
+ShowMessage
+ShowMessageValist
+SzwDupSzw
+SzwFromSza
+TranslateError
diff --git a/mingw-w64-crt/lib64/dmvdsitf.def b/mingw-w64-crt/lib64/dmvdsitf.def
index 08ad618..7c7747a 100644
--- a/mingw-w64-crt/lib64/dmvdsitf.def
+++ b/mingw-w64-crt/lib64/dmvdsitf.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file dmivcitf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmivcitf.dll
-EXPORTS
-; public: void __cdecl CDataCache::AddLDMObjMapEntry(struct _LDM_OBJ_MAP_ENTRY * __ptr64) __ptr64
-?AddLDMObjMapEntry@CDataCache@@QEAAXPEAU_LDM_OBJ_MAP_ENTRY@@@Z
-CreateDataCacheZ
-CreateServerRequestsZ
-; public: int __cdecl CDMSnapin::GetBottomViewStyle(void) __ptr64
-?GetBottomViewStyle@CDMSnapin@@QEAAHXZ
-; public: unsigned long __cdecl CDataCache::GetDiskCount(void) __ptr64
-?GetDiskCount@CDataCache@@QEAAKXZ
-; public: int __cdecl CDMSnapin::GetDiskScaling(void) __ptr64
-?GetDiskScaling@CDMSnapin@@QEAAHXZ
-; public: int __cdecl CDMSnapin::GetFilterToggle(void) __ptr64
-?GetFilterToggle@CDMSnapin@@QEAAHXZ
-; public: __int64 __cdecl CDMNodeObj::GetLdmObjectId(void) __ptr64
-?GetLdmObjectId@CDMNodeObj@@QEAA_JXZ
-; public: int __cdecl CDMSnapin::GetListBehavior(void) __ptr64
-?GetListBehavior@CDMSnapin@@QEAAHXZ
-; public: unsigned long __cdecl CDMNodeObj::GetNumMembers(void) __ptr64
-?GetNumMembers@CDMNodeObj@@QEAAKXZ
-; public: class CWnd * __ptr64 __cdecl CTaskData::GetOcxFrameCWndPtr(void) __ptr64
-?GetOcxFrameCWndPtr@CTaskData@@QEAAPEAVCWnd@@XZ
-; public: void __cdecl CTaskData::GetRegionColorStructPtr(struct _REGION_COLORS * __ptr64 * __ptr64,int & __ptr64) __ptr64
-?GetRegionColorStructPtr@CTaskData@@QEAAXPEAPEAU_REGION_COLORS@@AEAH@Z
-; public: int __cdecl CDMSnapin::GetRegionScaling(void) __ptr64
-?GetRegionScaling@CDMSnapin@@QEAAHXZ
-; public: class CString  __cdecl CDataCache::GetServerName(void) __ptr64
-?GetServerName@CDataCache@@QEAA?AVCString@@XZ
-; public: int __cdecl CDMSnapin::GetTopViewStyle(void) __ptr64
-?GetTopViewStyle@CDMSnapin@@QEAAHXZ
-; public: unsigned long __cdecl CDataCache::GetVolumeCount(void) __ptr64
-?GetVolumeCount@CDataCache@@QEAAKXZ
-; public: int __cdecl CDMSnapin::GetWaitCursor(void) __ptr64
-?GetWaitCursor@CDMSnapin@@QEAAHXZ
+; 
+; Exports of file dmivcitf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmivcitf.dll
+EXPORTS
+; public: void __cdecl CDataCache::AddLDMObjMapEntry(struct _LDM_OBJ_MAP_ENTRY * __ptr64) __ptr64
+?AddLDMObjMapEntry@CDataCache@@QEAAXPEAU_LDM_OBJ_MAP_ENTRY@@@Z
+CreateDataCacheZ
+CreateServerRequestsZ
+; public: int __cdecl CDMSnapin::GetBottomViewStyle(void) __ptr64
+?GetBottomViewStyle@CDMSnapin@@QEAAHXZ
+; public: unsigned long __cdecl CDataCache::GetDiskCount(void) __ptr64
+?GetDiskCount@CDataCache@@QEAAKXZ
+; public: int __cdecl CDMSnapin::GetDiskScaling(void) __ptr64
+?GetDiskScaling@CDMSnapin@@QEAAHXZ
+; public: int __cdecl CDMSnapin::GetFilterToggle(void) __ptr64
+?GetFilterToggle@CDMSnapin@@QEAAHXZ
+; public: __int64 __cdecl CDMNodeObj::GetLdmObjectId(void) __ptr64
+?GetLdmObjectId@CDMNodeObj@@QEAA_JXZ
+; public: int __cdecl CDMSnapin::GetListBehavior(void) __ptr64
+?GetListBehavior@CDMSnapin@@QEAAHXZ
+; public: unsigned long __cdecl CDMNodeObj::GetNumMembers(void) __ptr64
+?GetNumMembers@CDMNodeObj@@QEAAKXZ
+; public: class CWnd * __ptr64 __cdecl CTaskData::GetOcxFrameCWndPtr(void) __ptr64
+?GetOcxFrameCWndPtr@CTaskData@@QEAAPEAVCWnd@@XZ
+; public: void __cdecl CTaskData::GetRegionColorStructPtr(struct _REGION_COLORS * __ptr64 * __ptr64,int & __ptr64) __ptr64
+?GetRegionColorStructPtr@CTaskData@@QEAAXPEAPEAU_REGION_COLORS@@AEAH@Z
+; public: int __cdecl CDMSnapin::GetRegionScaling(void) __ptr64
+?GetRegionScaling@CDMSnapin@@QEAAHXZ
+; public: class CString  __cdecl CDataCache::GetServerName(void) __ptr64
+?GetServerName@CDataCache@@QEAA?AVCString@@XZ
+; public: int __cdecl CDMSnapin::GetTopViewStyle(void) __ptr64
+?GetTopViewStyle@CDMSnapin@@QEAAHXZ
+; public: unsigned long __cdecl CDataCache::GetVolumeCount(void) __ptr64
+?GetVolumeCount@CDataCache@@QEAAKXZ
+; public: int __cdecl CDMSnapin::GetWaitCursor(void) __ptr64
+?GetWaitCursor@CDMSnapin@@QEAAHXZ
diff --git a/mingw-w64-crt/lib64/dnsapi.def b/mingw-w64-crt/lib64/dnsapi.def
index 06865c2..f0c443a 100644
--- a/mingw-w64-crt/lib64/dnsapi.def
+++ b/mingw-w64-crt/lib64/dnsapi.def
@@ -1,176 +1,176 @@
-; 
-; Exports of file DNSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DNSAPI.dll
-EXPORTS
-BreakRecordsIntoBlob
-CombineRecordsInBlob
-DnsAcquireContextHandle_A
-DnsAcquireContextHandle_W
-DnsAllocateRecord
-DnsApiAlloc
-DnsApiAllocZero
-DnsApiFree
-DnsApiHeapReset
-DnsApiRealloc
-DnsApiSetDebugGlobals
-DnsAsyncRegisterHostAddrs
-DnsAsyncRegisterInit
-DnsAsyncRegisterTerm
-DnsCopyStringEx
-DnsCreateReverseNameStringForIpAddress
-DnsCreateStandardDnsNameCopy
-DnsCreateStringCopy
-DnsDhcpRegisterHostAddrs
-DnsDhcpRegisterInit
-DnsDhcpRegisterTerm
-DnsDhcpRemoveRegistrations
-DnsDhcpSrvRegisterHostName
-DnsDhcpSrvRegisterInit
-DnsDhcpSrvRegisterInitialize
-DnsDhcpSrvRegisterTerm
-DnsDowncaseDnsNameLabel
-DnsExtractRecordsFromMessage_UTF8
-DnsExtractRecordsFromMessage_W
-DnsFindAuthoritativeZone
-DnsFlushResolverCache
-DnsFlushResolverCacheEntry_A
-DnsFlushResolverCacheEntry_UTF8
-DnsFlushResolverCacheEntry_W
-DnsFree
-DnsFreeConfigStructure
-DnsGetBufferLengthForStringCopy
-DnsGetCacheDataTable
-DnsGetDnsServerList
-DnsGetDomainName
-DnsGetLastFailedUpdateInfo
-DnsGetPrimaryDomainName_A
-DnsGlobals DATA
-DnsIpv6AddressToString
-DnsIpv6StringToAddress
-DnsIsAMailboxType
-DnsIsStatusRcode
-DnsIsStringCountValidForTextType
-DnsMapRcodeToStatus
-DnsModifyRecordsInSet_A
-DnsModifyRecordsInSet_UTF8
-DnsModifyRecordsInSet_W
-DnsNameCompareEx_A
-DnsNameCompareEx_UTF8
-DnsNameCompareEx_W
-DnsNameCompare_A
-DnsNameCompare_UTF8
-DnsNameCompare_W
-DnsNameCopy
-DnsNameCopyAllocate
-DnsNetworkInfo_CreateFromFAZ
-DnsNetworkInformation_CreateFromFAZ
-DnsNotifyResolver
-DnsNotifyResolverClusterIp
-DnsNotifyResolverEx
-DnsQueryConfig
-DnsQueryConfigAllocEx
-DnsQueryConfigDword
-DnsQueryExA
-DnsQueryExUTF8
-DnsQueryExW
-DnsQuery_A
-DnsQuery_UTF8
-DnsQuery_W
-DnsRecordBuild_UTF8
-DnsRecordBuild_W
-DnsRecordCompare
-DnsRecordCopyEx
-DnsRecordListFree
-DnsRecordSetCompare
-DnsRecordSetCopyEx
-DnsRecordSetDetach
-DnsRecordStringForType
-DnsRecordStringForWritableType
-DnsRecordTypeForName
-DnsRegisterClusterAddress
-DnsReleaseContextHandle
-DnsRemoveRegistrations
-DnsReplaceRecordSetA
-DnsReplaceRecordSetUTF8
-DnsReplaceRecordSetW
-DnsScreenLocalAddrsForRegistration
-DnsSetConfigDword
-DnsStatusString
-DnsStringCopyAllocateEx
-DnsUnicodeToUtf8
-DnsUpdate
-DnsUpdateTest_A
-DnsUpdateTest_UTF8
-DnsUpdateTest_W
-DnsUtf8ToUnicode
-DnsValidateName_A
-DnsValidateName_UTF8
-DnsValidateName_W
-DnsValidateUtf8Byte
-DnsWriteQuestionToBuffer_UTF8
-DnsWriteQuestionToBuffer_W
-DnsWriteReverseNameStringForIpAddress
-Dns_AddRecordsToMessage
-Dns_AllocateMsgBuf
-Dns_BuildPacket
-Dns_CleanupWinsock
-Dns_CloseConnection
-Dns_CloseSocket
-Dns_CreateMulticastSocket
-Dns_CreateSocket
-Dns_CreateSocketEx
-Dns_FindAuthoritativeZoneLib
-Dns_GetRandomXid
-Dns_InitializeMsgRemoteSockaddr
-Dns_InitializeWinsock
-Dns_OpenTcpConnectionAndSend
-Dns_ParseMessage
-Dns_ParsePacketRecord
-Dns_PingAdapterServers
-Dns_ReadPacketName
-Dns_ReadPacketNameAllocate
-Dns_ReadRecordStructureFromPacket
-Dns_RecvTcp
-Dns_ResetNetworkInfo
-Dns_SendAndRecvUdp
-Dns_SendEx
-Dns_SetRecordDatalength
-Dns_SkipPacketName
-Dns_SkipToRecord
-Dns_UpdateLib
-Dns_UpdateLibEx
-Dns_WriteDottedNameToPacket
-Dns_WriteQuestionToMessage
-Dns_WriteRecordStructureToPacketEx
-GetCurrentTimeInSeconds
-HostsFile_Close
-HostsFile_Open
-HostsFile_ReadLine
-Local_GetRecordsForLocalName
-NetInfo_Build
-NetInfo_Clean
-NetInfo_Copy
-NetInfo_Free
-NetInfo_IsForUpdate
-NetInfo_ResetServerPriorities
-QueryDirectEx
-Query_Main
-Reg_GetValueEx
-Reg_ReadGlobalsEx
-Send_AndRecvUdpWithParam
-Send_MessagePrivate
-Send_OpenTcpConnectionAndSend
-Socket_CacheCleanup
-Socket_CacheInit
-Socket_CleanupWinsock
-Socket_ClearMessageSockets
-Socket_CloseEx
-Socket_CloseMessageSockets
-Socket_Create
-Socket_CreateMulticast
-Socket_InitWinsock
-Util_IsIp6Running
+; 
+; Exports of file DNSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DNSAPI.dll
+EXPORTS
+BreakRecordsIntoBlob
+CombineRecordsInBlob
+DnsAcquireContextHandle_A
+DnsAcquireContextHandle_W
+DnsAllocateRecord
+DnsApiAlloc
+DnsApiAllocZero
+DnsApiFree
+DnsApiHeapReset
+DnsApiRealloc
+DnsApiSetDebugGlobals
+DnsAsyncRegisterHostAddrs
+DnsAsyncRegisterInit
+DnsAsyncRegisterTerm
+DnsCopyStringEx
+DnsCreateReverseNameStringForIpAddress
+DnsCreateStandardDnsNameCopy
+DnsCreateStringCopy
+DnsDhcpRegisterHostAddrs
+DnsDhcpRegisterInit
+DnsDhcpRegisterTerm
+DnsDhcpRemoveRegistrations
+DnsDhcpSrvRegisterHostName
+DnsDhcpSrvRegisterInit
+DnsDhcpSrvRegisterInitialize
+DnsDhcpSrvRegisterTerm
+DnsDowncaseDnsNameLabel
+DnsExtractRecordsFromMessage_UTF8
+DnsExtractRecordsFromMessage_W
+DnsFindAuthoritativeZone
+DnsFlushResolverCache
+DnsFlushResolverCacheEntry_A
+DnsFlushResolverCacheEntry_UTF8
+DnsFlushResolverCacheEntry_W
+DnsFree
+DnsFreeConfigStructure
+DnsGetBufferLengthForStringCopy
+DnsGetCacheDataTable
+DnsGetDnsServerList
+DnsGetDomainName
+DnsGetLastFailedUpdateInfo
+DnsGetPrimaryDomainName_A
+DnsGlobals DATA
+DnsIpv6AddressToString
+DnsIpv6StringToAddress
+DnsIsAMailboxType
+DnsIsStatusRcode
+DnsIsStringCountValidForTextType
+DnsMapRcodeToStatus
+DnsModifyRecordsInSet_A
+DnsModifyRecordsInSet_UTF8
+DnsModifyRecordsInSet_W
+DnsNameCompareEx_A
+DnsNameCompareEx_UTF8
+DnsNameCompareEx_W
+DnsNameCompare_A
+DnsNameCompare_UTF8
+DnsNameCompare_W
+DnsNameCopy
+DnsNameCopyAllocate
+DnsNetworkInfo_CreateFromFAZ
+DnsNetworkInformation_CreateFromFAZ
+DnsNotifyResolver
+DnsNotifyResolverClusterIp
+DnsNotifyResolverEx
+DnsQueryConfig
+DnsQueryConfigAllocEx
+DnsQueryConfigDword
+DnsQueryExA
+DnsQueryExUTF8
+DnsQueryExW
+DnsQuery_A
+DnsQuery_UTF8
+DnsQuery_W
+DnsRecordBuild_UTF8
+DnsRecordBuild_W
+DnsRecordCompare
+DnsRecordCopyEx
+DnsRecordListFree
+DnsRecordSetCompare
+DnsRecordSetCopyEx
+DnsRecordSetDetach
+DnsRecordStringForType
+DnsRecordStringForWritableType
+DnsRecordTypeForName
+DnsRegisterClusterAddress
+DnsReleaseContextHandle
+DnsRemoveRegistrations
+DnsReplaceRecordSetA
+DnsReplaceRecordSetUTF8
+DnsReplaceRecordSetW
+DnsScreenLocalAddrsForRegistration
+DnsSetConfigDword
+DnsStatusString
+DnsStringCopyAllocateEx
+DnsUnicodeToUtf8
+DnsUpdate
+DnsUpdateTest_A
+DnsUpdateTest_UTF8
+DnsUpdateTest_W
+DnsUtf8ToUnicode
+DnsValidateName_A
+DnsValidateName_UTF8
+DnsValidateName_W
+DnsValidateUtf8Byte
+DnsWriteQuestionToBuffer_UTF8
+DnsWriteQuestionToBuffer_W
+DnsWriteReverseNameStringForIpAddress
+Dns_AddRecordsToMessage
+Dns_AllocateMsgBuf
+Dns_BuildPacket
+Dns_CleanupWinsock
+Dns_CloseConnection
+Dns_CloseSocket
+Dns_CreateMulticastSocket
+Dns_CreateSocket
+Dns_CreateSocketEx
+Dns_FindAuthoritativeZoneLib
+Dns_GetRandomXid
+Dns_InitializeMsgRemoteSockaddr
+Dns_InitializeWinsock
+Dns_OpenTcpConnectionAndSend
+Dns_ParseMessage
+Dns_ParsePacketRecord
+Dns_PingAdapterServers
+Dns_ReadPacketName
+Dns_ReadPacketNameAllocate
+Dns_ReadRecordStructureFromPacket
+Dns_RecvTcp
+Dns_ResetNetworkInfo
+Dns_SendAndRecvUdp
+Dns_SendEx
+Dns_SetRecordDatalength
+Dns_SkipPacketName
+Dns_SkipToRecord
+Dns_UpdateLib
+Dns_UpdateLibEx
+Dns_WriteDottedNameToPacket
+Dns_WriteQuestionToMessage
+Dns_WriteRecordStructureToPacketEx
+GetCurrentTimeInSeconds
+HostsFile_Close
+HostsFile_Open
+HostsFile_ReadLine
+Local_GetRecordsForLocalName
+NetInfo_Build
+NetInfo_Clean
+NetInfo_Copy
+NetInfo_Free
+NetInfo_IsForUpdate
+NetInfo_ResetServerPriorities
+QueryDirectEx
+Query_Main
+Reg_GetValueEx
+Reg_ReadGlobalsEx
+Send_AndRecvUdpWithParam
+Send_MessagePrivate
+Send_OpenTcpConnectionAndSend
+Socket_CacheCleanup
+Socket_CacheInit
+Socket_CleanupWinsock
+Socket_ClearMessageSockets
+Socket_CloseEx
+Socket_CloseMessageSockets
+Socket_Create
+Socket_CreateMulticast
+Socket_InitWinsock
+Util_IsIp6Running
diff --git a/mingw-w64-crt/lib64/dnsrslvr.def b/mingw-w64-crt/lib64/dnsrslvr.def
index bd91d7c..1549a6d 100644
--- a/mingw-w64-crt/lib64/dnsrslvr.def
+++ b/mingw-w64-crt/lib64/dnsrslvr.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file dnsrslvr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dnsrslvr.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file dnsrslvr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dnsrslvr.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/docprop.def b/mingw-w64-crt/lib64/docprop.def
index d466a3c..417aee8 100644
--- a/mingw-w64-crt/lib64/docprop.def
+++ b/mingw-w64-crt/lib64/docprop.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file DOCPROP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DOCPROP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file DOCPROP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DOCPROP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/docprop2.def b/mingw-w64-crt/lib64/docprop2.def
index 56cd0aa..d1ca207 100644
--- a/mingw-w64-crt/lib64/docprop2.def
+++ b/mingw-w64-crt/lib64/docprop2.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DOCPROP2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DOCPROP2.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DOCPROP2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DOCPROP2.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dpnaddr.def b/mingw-w64-crt/lib64/dpnaddr.def
index 22c853d..f2d6d42 100644
--- a/mingw-w64-crt/lib64/dpnaddr.def
+++ b/mingw-w64-crt/lib64/dpnaddr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file dpnaddr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dpnaddr.dll
-EXPORTS
-DirectPlay8AddressCreate
+; 
+; Exports of file dpnaddr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dpnaddr.dll
+EXPORTS
+DirectPlay8AddressCreate
diff --git a/mingw-w64-crt/lib64/dpnet.def b/mingw-w64-crt/lib64/dpnet.def
index 634ea1c..cb35bff 100644
--- a/mingw-w64-crt/lib64/dpnet.def
+++ b/mingw-w64-crt/lib64/dpnet.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DPNet.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPNet.dll
-EXPORTS
-DirectPlay8Create
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DPNet.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPNet.dll
+EXPORTS
+DirectPlay8Create
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dpnhpast.def b/mingw-w64-crt/lib64/dpnhpast.def
index 1a09d85..294c0dc 100644
--- a/mingw-w64-crt/lib64/dpnhpast.def
+++ b/mingw-w64-crt/lib64/dpnhpast.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DPNHPAST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPNHPAST.dll
-EXPORTS
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPNHPAST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPNHPAST.dll
+EXPORTS
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dpnhupnp.def b/mingw-w64-crt/lib64/dpnhupnp.def
index ee7b47a..f3e7caa 100644
--- a/mingw-w64-crt/lib64/dpnhupnp.def
+++ b/mingw-w64-crt/lib64/dpnhupnp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DPNHUPNP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPNHUPNP.dll
-EXPORTS
-DirectPlayNATHelpCreate
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPNHUPNP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPNHUPNP.dll
+EXPORTS
+DirectPlayNATHelpCreate
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dpnlobby.def b/mingw-w64-crt/lib64/dpnlobby.def
index 1e7e05b..4497d92 100644
--- a/mingw-w64-crt/lib64/dpnlobby.def
+++ b/mingw-w64-crt/lib64/dpnlobby.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DPNLobby.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPNLobby.dll
-EXPORTS
-DirectPlay8LobbyCreate
+; 
+; Exports of file DPNLobby.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPNLobby.dll
+EXPORTS
+DirectPlay8LobbyCreate
diff --git a/mingw-w64-crt/lib64/dpvacm.def b/mingw-w64-crt/lib64/dpvacm.def
index 9f48ed2..408dada 100644
--- a/mingw-w64-crt/lib64/dpvacm.def
+++ b/mingw-w64-crt/lib64/dpvacm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DPVACM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPVACM.dll
-EXPORTS
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPVACM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPVACM.dll
+EXPORTS
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dpvoice.def b/mingw-w64-crt/lib64/dpvoice.def
index d0b83e0..aa024cc 100644
--- a/mingw-w64-crt/lib64/dpvoice.def
+++ b/mingw-w64-crt/lib64/dpvoice.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DPVOICE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPVOICE.dll
-EXPORTS
-DirectPlayVoiceCreate
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPVOICE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPVOICE.dll
+EXPORTS
+DirectPlayVoiceCreate
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dpvvox.def b/mingw-w64-crt/lib64/dpvvox.def
index e5f0dd4..6e97dee 100644
--- a/mingw-w64-crt/lib64/dpvvox.def
+++ b/mingw-w64-crt/lib64/dpvvox.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DPVVOX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPVVOX.dll
-EXPORTS
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPVVOX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPVVOX.dll
+EXPORTS
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/drprov.def b/mingw-w64-crt/lib64/drprov.def
index 482af22..8c91f8e 100644
--- a/mingw-w64-crt/lib64/drprov.def
+++ b/mingw-w64-crt/lib64/drprov.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file drprov.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY drprov.dll
-EXPORTS
-NPAddConnection
-NPAddConnection3
-NPCancelConnection
-NPCloseEnum
-NPEnumResource
-NPGetCaps
-NPGetConnection
-NPGetResourceInformation
-NPGetResourceParent
-NPGetUniversalName
-NPOpenEnum
+; 
+; Exports of file drprov.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY drprov.dll
+EXPORTS
+NPAddConnection
+NPAddConnection3
+NPCancelConnection
+NPCloseEnum
+NPEnumResource
+NPGetCaps
+NPGetConnection
+NPGetResourceInformation
+NPGetResourceParent
+NPGetUniversalName
+NPOpenEnum
diff --git a/mingw-w64-crt/lib64/ds32gt.def b/mingw-w64-crt/lib64/ds32gt.def
index fa0c70b..4a8c207 100644
--- a/mingw-w64-crt/lib64/ds32gt.def
+++ b/mingw-w64-crt/lib64/ds32gt.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DS32GT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DS32GT.dll
-EXPORTS
-Dispatch
+; 
+; Exports of file DS32GT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DS32GT.dll
+EXPORTS
+Dispatch
diff --git a/mingw-w64-crt/lib64/dsauth.def b/mingw-w64-crt/lib64/dsauth.def
index 14e559a..5b26a28 100644
--- a/mingw-w64-crt/lib64/dsauth.def
+++ b/mingw-w64-crt/lib64/dsauth.def
@@ -1,32 +1,32 @@
-; 
-; Exports of file DSAUTH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSAUTH.dll
-EXPORTS
-DhcpAddServerDS
-DhcpDeleteServerDS
-DhcpDsAddServer
-DhcpDsCleanupDS
-DhcpDsDelServer
-DhcpDsEnumServers
-DhcpDsGetAttribs
-DhcpDsGetLists
-DhcpDsGetRoot
-DhcpDsInitDS
-DhcpDsSetLists
-DhcpDsValidateService
-DhcpEnumServersDS
-StoreBeginSearch
-StoreCleanupHandle
-StoreCollectAttributes
-StoreCreateObjectVA
-StoreDeleteObject
-StoreEndSearch
-StoreGetHandle
-StoreInitHandle
-StoreSearchGetNext
-StoreSetSearchOneLevel
-StoreSetSearchSubTree
+; 
+; Exports of file DSAUTH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSAUTH.dll
+EXPORTS
+DhcpAddServerDS
+DhcpDeleteServerDS
+DhcpDsAddServer
+DhcpDsCleanupDS
+DhcpDsDelServer
+DhcpDsEnumServers
+DhcpDsGetAttribs
+DhcpDsGetLists
+DhcpDsGetRoot
+DhcpDsInitDS
+DhcpDsSetLists
+DhcpDsValidateService
+DhcpEnumServersDS
+StoreBeginSearch
+StoreCleanupHandle
+StoreCollectAttributes
+StoreCreateObjectVA
+StoreDeleteObject
+StoreEndSearch
+StoreGetHandle
+StoreInitHandle
+StoreSearchGetNext
+StoreSetSearchOneLevel
+StoreSetSearchSubTree
diff --git a/mingw-w64-crt/lib64/dsdmo.def b/mingw-w64-crt/lib64/dsdmo.def
index 7c21c92..89c986f 100644
--- a/mingw-w64-crt/lib64/dsdmo.def
+++ b/mingw-w64-crt/lib64/dsdmo.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dsdmo.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsdmo.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dsdmo.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsdmo.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dsdmoprp.def b/mingw-w64-crt/lib64/dsdmoprp.def
index a9461d0..bcf5d5b 100644
--- a/mingw-w64-crt/lib64/dsdmoprp.def
+++ b/mingw-w64-crt/lib64/dsdmoprp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dsdmoprp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsdmoprp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dsdmoprp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsdmoprp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dskquota.def b/mingw-w64-crt/lib64/dskquota.def
index fe532d9..7e1652e 100644
--- a/mingw-w64-crt/lib64/dskquota.def
+++ b/mingw-w64-crt/lib64/dskquota.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DSKQUOTA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSKQUOTA.dll
-EXPORTS
-ProcessGroupPolicy
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DSKQUOTA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSKQUOTA.dll
+EXPORTS
+ProcessGroupPolicy
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dskquoui.def b/mingw-w64-crt/lib64/dskquoui.def
index ff8beae..783b16a 100644
--- a/mingw-w64-crt/lib64/dskquoui.def
+++ b/mingw-w64-crt/lib64/dskquoui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DSKQUOUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSKQUOUI.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DSKQUOUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSKQUOUI.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dsound.def b/mingw-w64-crt/lib64/dsound.def
index cba041e..54997c7 100644
--- a/mingw-w64-crt/lib64/dsound.def
+++ b/mingw-w64-crt/lib64/dsound.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file DSOUND.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSOUND.dll
-EXPORTS
-DirectSoundCreate
-DirectSoundEnumerateA
-DirectSoundEnumerateW
-DllCanUnloadNow
-DllGetClassObject
-DirectSoundCaptureCreate
-DirectSoundCaptureEnumerateA
-DirectSoundCaptureEnumerateW
-GetDeviceID
-DirectSoundFullDuplexCreate
-DirectSoundCreate8
-DirectSoundCaptureCreate8
+; 
+; Exports of file DSOUND.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSOUND.dll
+EXPORTS
+DirectSoundCreate
+DirectSoundEnumerateA
+DirectSoundEnumerateW
+DllCanUnloadNow
+DllGetClassObject
+DirectSoundCaptureCreate
+DirectSoundCaptureEnumerateA
+DirectSoundCaptureEnumerateW
+GetDeviceID
+DirectSoundFullDuplexCreate
+DirectSoundCreate8
+DirectSoundCaptureCreate8
diff --git a/mingw-w64-crt/lib64/dsound3d.def b/mingw-w64-crt/lib64/dsound3d.def
index 22b509b..961031d 100644
--- a/mingw-w64-crt/lib64/dsound3d.def
+++ b/mingw-w64-crt/lib64/dsound3d.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DSOUND3D.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSOUND3D.dll
-EXPORTS
-CafBiquadCoeffs
+; 
+; Exports of file DSOUND3D.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSOUND3D.dll
+EXPORTS
+CafBiquadCoeffs
diff --git a/mingw-w64-crt/lib64/dsprop.def b/mingw-w64-crt/lib64/dsprop.def
index 12fdcc3..a0df5b3 100644
--- a/mingw-w64-crt/lib64/dsprop.def
+++ b/mingw-w64-crt/lib64/dsprop.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file dsprop.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsprop.dll
-EXPORTS
-CheckADsError
-CrackName
-DSPROP_GetGCSearchOnDomain
-ErrMsg
-ErrMsgParam
-FindSheet
-MsgBox
-ReportError
-Smart_PADS_ATTR_INFO__Empty
-ADsPropCheckIfWritable
-ADsPropCreateNotifyObj
-ADsPropGetInitInfo
-ADsPropSendErrorMessage
-ADsPropSetHwnd
-ADsPropSetHwndWithTitle
-ADsPropShowErrorDialog
-BringSheetToForeground
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IsSheetAlreadyUp
-PostADsPropSheet
+; 
+; Exports of file dsprop.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsprop.dll
+EXPORTS
+CheckADsError
+CrackName
+DSPROP_GetGCSearchOnDomain
+ErrMsg
+ErrMsgParam
+FindSheet
+MsgBox
+ReportError
+Smart_PADS_ATTR_INFO__Empty
+ADsPropCheckIfWritable
+ADsPropCreateNotifyObj
+ADsPropGetInitInfo
+ADsPropSendErrorMessage
+ADsPropSetHwnd
+ADsPropSetHwndWithTitle
+ADsPropShowErrorDialog
+BringSheetToForeground
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IsSheetAlreadyUp
+PostADsPropSheet
diff --git a/mingw-w64-crt/lib64/dsprov.def b/mingw-w64-crt/lib64/dsprov.def
index 6ddcd28..eb0f43e 100644
--- a/mingw-w64-crt/lib64/dsprov.def
+++ b/mingw-w64-crt/lib64/dsprov.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dsprov.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsprov.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dsprov.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsprov.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dsquery.def b/mingw-w64-crt/lib64/dsquery.def
index 796c07d..9ecf0c0 100644
--- a/mingw-w64-crt/lib64/dsquery.def
+++ b/mingw-w64-crt/lib64/dsquery.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file dsquery.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsquery.dll
-EXPORTS
-OpenSavedDsQuery
-OpenSavedDsQueryW
-OpenQueryWindow
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dsquery.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsquery.dll
+EXPORTS
+OpenSavedDsQuery
+OpenSavedDsQueryW
+OpenQueryWindow
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dssec.def b/mingw-w64-crt/lib64/dssec.def
index ad9381c..dd5bd92 100644
--- a/mingw-w64-crt/lib64/dssec.def
+++ b/mingw-w64-crt/lib64/dssec.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file DSSEC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSSEC.dll
-EXPORTS
-DSCreateISecurityInfoObject
-DSCreateSecurityPage
-DSEditSecurity
-DSCreateISecurityInfoObjectEx
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file DSSEC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSSEC.dll
+EXPORTS
+DSCreateISecurityInfoObject
+DSCreateSecurityPage
+DSEditSecurity
+DSCreateISecurityInfoObjectEx
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/dssenh.def b/mingw-w64-crt/lib64/dssenh.def
index be92f54..b9f03fd 100644
--- a/mingw-w64-crt/lib64/dssenh.def
+++ b/mingw-w64-crt/lib64/dssenh.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file DSSENH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSSENH.dll
-EXPORTS
-CPAcquireContext
-CPCreateHash
-CPDecrypt
-CPDeriveKey
-CPDestroyHash
-CPDestroyKey
-CPDuplicateHash
-CPDuplicateKey
-CPEncrypt
-CPExportKey
-CPGenKey
-CPGenRandom
-CPGetHashParam
-CPGetKeyParam
-CPGetProvParam
-CPGetUserKey
-CPHashData
-CPHashSessionKey
-CPImportKey
-CPReleaseContext
-CPSetHashParam
-CPSetKeyParam
-CPSetProvParam
-CPSignHash
-CPVerifySignature
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DSSENH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSSENH.dll
+EXPORTS
+CPAcquireContext
+CPCreateHash
+CPDecrypt
+CPDeriveKey
+CPDestroyHash
+CPDestroyKey
+CPDuplicateHash
+CPDuplicateKey
+CPEncrypt
+CPExportKey
+CPGenKey
+CPGenRandom
+CPGetHashParam
+CPGetKeyParam
+CPGetProvParam
+CPGetUserKey
+CPHashData
+CPHashSessionKey
+CPImportKey
+CPReleaseContext
+CPSetHashParam
+CPSetKeyParam
+CPSetProvParam
+CPSignHash
+CPVerifySignature
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dsuiext.def b/mingw-w64-crt/lib64/dsuiext.def
index 164def4..605789c 100644
--- a/mingw-w64-crt/lib64/dsuiext.def
+++ b/mingw-w64-crt/lib64/dsuiext.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file dsuiext.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsuiext.dll
-EXPORTS
-DsBrowseForContainerA
-DsBrowseForContainerW
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-DsGetIcon
-DsGetFriendlyClassName
+; 
+; Exports of file dsuiext.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsuiext.dll
+EXPORTS
+DsBrowseForContainerA
+DsBrowseForContainerW
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+DsGetIcon
+DsGetFriendlyClassName
diff --git a/mingw-w64-crt/lib64/duser.def b/mingw-w64-crt/lib64/duser.def
index 7bfd42e..e9d8776 100644
--- a/mingw-w64-crt/lib64/duser.def
+++ b/mingw-w64-crt/lib64/duser.def
@@ -1,120 +1,120 @@
-; 
-; Exports of file DUSER.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DUSER.dll
-EXPORTS
-DUserCastHandle
-DUserDeleteGadget
-GetStdColorBrushF
-GetStdColorF
-GetStdColorPenF
-UtilDrawOutlineRect
-AddGadgetMessageHandler
-AttachWndProcA
-AttachWndProcW
-AutoTrace
-BeginTransition
-BuildAnimation
-BuildDropTarget
-BuildInterpolation
-CreateAction
-CreateGadget
-CreateTransition
-DUserBuildGadget
-DUserCastClass
-DUserCastDirect
-DUserFindClass
-DUserGetAlphaPRID
-DUserGetGutsData
-DUserGetRectPRID
-DUserGetRotatePRID
-DUserGetScalePRID
-DUserInstanceOf
-DUserPostEvent
-DUserPostMethod
-DUserRegisterGuts
-DUserRegisterStub
-DUserRegisterSuper
-DUserSendEvent
-DUserSendMethod
-DUserStopAnimation
-DeleteHandle
-DetachWndProc
-DllMain
-DrawGadgetTree
-EndTransition
-EnumGadgets
-FindGadgetFromPoint
-FindGadgetMessages
-FindStdColor
-FireGadgetMessages
-ForwardGadgetMessage
-GetActionTimeslice
-GetDebug
-GetGadget
-GetGadgetAnimation
-GetGadgetBufferInfo
-GetGadgetCenterPoint
-GetGadgetFocus
-GetGadgetMessageFilter
-GetGadgetProperty
-GetGadgetRect
-GetGadgetRgn
-GetGadgetRootInfo
-GetGadgetRotation
-GetGadgetScale
-GetGadgetSize
-GetGadgetStyle
-GetGadgetTicket
-GetMessageExA
-GetMessageExW
-GetStdColorBrushI
-GetStdColorI
-GetStdColorName
-GetStdColorPenI
-GetStdPalette
-GetTransitionInterface
-InitGadgetComponent
-InitGadgets
-InvalidateGadget
-IsGadgetParentChainStyle
-IsInsideContext
-IsStartDelete
-LookupGadgetTicket
-MapGadgetPoints
-PeekMessageExA
-PeekMessageExW
-PlayTransition
-PrintTransition
-RegisterGadgetMessage
-RegisterGadgetMessageString
-RegisterGadgetProperty
-RemoveGadgetMessageHandler
-RemoveGadgetProperty
-SetActionTimeslice
-SetGadgetBufferInfo
-SetGadgetCenterPoint
-SetGadgetFillF
-SetGadgetFillI
-SetGadgetFocus
-SetGadgetMessageFilter
-SetGadgetOrder
-SetGadgetParent
-SetGadgetProperty
-SetGadgetRect
-SetGadgetRootInfo
-SetGadgetRotation
-SetGadgetScale
-SetGadgetStyle
-UninitGadgetComponent
-UnregisterGadgetMessage
-UnregisterGadgetMessageString
-UnregisterGadgetProperty
-UtilBuildFont
-UtilDrawBlendRect
-UtilGetColor
-UtilSetBackground
-WaitMessageEx
+; 
+; Exports of file DUSER.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DUSER.dll
+EXPORTS
+DUserCastHandle
+DUserDeleteGadget
+GetStdColorBrushF
+GetStdColorF
+GetStdColorPenF
+UtilDrawOutlineRect
+AddGadgetMessageHandler
+AttachWndProcA
+AttachWndProcW
+AutoTrace
+BeginTransition
+BuildAnimation
+BuildDropTarget
+BuildInterpolation
+CreateAction
+CreateGadget
+CreateTransition
+DUserBuildGadget
+DUserCastClass
+DUserCastDirect
+DUserFindClass
+DUserGetAlphaPRID
+DUserGetGutsData
+DUserGetRectPRID
+DUserGetRotatePRID
+DUserGetScalePRID
+DUserInstanceOf
+DUserPostEvent
+DUserPostMethod
+DUserRegisterGuts
+DUserRegisterStub
+DUserRegisterSuper
+DUserSendEvent
+DUserSendMethod
+DUserStopAnimation
+DeleteHandle
+DetachWndProc
+DllMain
+DrawGadgetTree
+EndTransition
+EnumGadgets
+FindGadgetFromPoint
+FindGadgetMessages
+FindStdColor
+FireGadgetMessages
+ForwardGadgetMessage
+GetActionTimeslice
+GetDebug
+GetGadget
+GetGadgetAnimation
+GetGadgetBufferInfo
+GetGadgetCenterPoint
+GetGadgetFocus
+GetGadgetMessageFilter
+GetGadgetProperty
+GetGadgetRect
+GetGadgetRgn
+GetGadgetRootInfo
+GetGadgetRotation
+GetGadgetScale
+GetGadgetSize
+GetGadgetStyle
+GetGadgetTicket
+GetMessageExA
+GetMessageExW
+GetStdColorBrushI
+GetStdColorI
+GetStdColorName
+GetStdColorPenI
+GetStdPalette
+GetTransitionInterface
+InitGadgetComponent
+InitGadgets
+InvalidateGadget
+IsGadgetParentChainStyle
+IsInsideContext
+IsStartDelete
+LookupGadgetTicket
+MapGadgetPoints
+PeekMessageExA
+PeekMessageExW
+PlayTransition
+PrintTransition
+RegisterGadgetMessage
+RegisterGadgetMessageString
+RegisterGadgetProperty
+RemoveGadgetMessageHandler
+RemoveGadgetProperty
+SetActionTimeslice
+SetGadgetBufferInfo
+SetGadgetCenterPoint
+SetGadgetFillF
+SetGadgetFillI
+SetGadgetFocus
+SetGadgetMessageFilter
+SetGadgetOrder
+SetGadgetParent
+SetGadgetProperty
+SetGadgetRect
+SetGadgetRootInfo
+SetGadgetRotation
+SetGadgetScale
+SetGadgetStyle
+UninitGadgetComponent
+UnregisterGadgetMessage
+UnregisterGadgetMessageString
+UnregisterGadgetProperty
+UtilBuildFont
+UtilDrawBlendRect
+UtilGetColor
+UtilSetBackground
+WaitMessageEx
diff --git a/mingw-w64-crt/lib64/dxdiagn.def b/mingw-w64-crt/lib64/dxdiagn.def
index aa2a778..56f8143 100644
--- a/mingw-w64-crt/lib64/dxdiagn.def
+++ b/mingw-w64-crt/lib64/dxdiagn.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DxDiagn.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DxDiagn.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DxDiagn.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DxDiagn.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dxtmsft.def b/mingw-w64-crt/lib64/dxtmsft.def
index 2f1f002..eafa0e4 100644
--- a/mingw-w64-crt/lib64/dxtmsft.def
+++ b/mingw-w64-crt/lib64/dxtmsft.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file dxtmsft.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dxtmsft.dll
-EXPORTS
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dxtmsft.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dxtmsft.dll
+EXPORTS
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/dxtrans.def b/mingw-w64-crt/lib64/dxtrans.def
index 5754d26..ef33d1f 100644
--- a/mingw-w64-crt/lib64/dxtrans.def
+++ b/mingw-w64-crt/lib64/dxtrans.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file dxtrans.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dxtrans.dll
-EXPORTS
-; void __cdecl DXConstOverArray(class DXPMSAMPLE * __ptr64,class DXPMSAMPLE const & __ptr64,unsigned long)
-?DXConstOverArray@@YAXPEAVDXPMSAMPLE@@AEBV1@K@Z
-; void __cdecl DXConstUnderArray(class DXPMSAMPLE * __ptr64,class DXPMSAMPLE const & __ptr64,unsigned long)
-?DXConstUnderArray@@YAXPEAVDXPMSAMPLE@@AEBV1@K@Z
-; void __cdecl DXDitherArray(struct DXDITHERDESC const * __ptr64)
-?DXDitherArray@@YAXPEBUDXDITHERDESC@@@Z
-; void __cdecl DXLinearInterpolateArray(class DXBASESAMPLE const * __ptr64,struct DXLIMAPINFO * __ptr64,class DXBASESAMPLE * __ptr64,unsigned long)
-?DXLinearInterpolateArray@@YAXPEBVDXBASESAMPLE@@PEAUDXLIMAPINFO@@PEAV1@K@Z
-; void __cdecl DXOverArray(class DXPMSAMPLE * __ptr64,class DXPMSAMPLE const * __ptr64,unsigned long)
-?DXOverArray@@YAXPEAVDXPMSAMPLE@@PEBV1@K@Z
-; void __cdecl DXOverArrayMMX(class DXPMSAMPLE * __ptr64,class DXPMSAMPLE const * __ptr64,unsigned long)
-?DXOverArrayMMX@@YAXPEAVDXPMSAMPLE@@PEBV1@K@Z
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dxtrans.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dxtrans.dll
+EXPORTS
+; void __cdecl DXConstOverArray(class DXPMSAMPLE * __ptr64,class DXPMSAMPLE const & __ptr64,unsigned long)
+?DXConstOverArray@@YAXPEAVDXPMSAMPLE@@AEBV1@K@Z
+; void __cdecl DXConstUnderArray(class DXPMSAMPLE * __ptr64,class DXPMSAMPLE const & __ptr64,unsigned long)
+?DXConstUnderArray@@YAXPEAVDXPMSAMPLE@@AEBV1@K@Z
+; void __cdecl DXDitherArray(struct DXDITHERDESC const * __ptr64)
+?DXDitherArray@@YAXPEBUDXDITHERDESC@@@Z
+; void __cdecl DXLinearInterpolateArray(class DXBASESAMPLE const * __ptr64,struct DXLIMAPINFO * __ptr64,class DXBASESAMPLE * __ptr64,unsigned long)
+?DXLinearInterpolateArray@@YAXPEBVDXBASESAMPLE@@PEAUDXLIMAPINFO@@PEAV1@K@Z
+; void __cdecl DXOverArray(class DXPMSAMPLE * __ptr64,class DXPMSAMPLE const * __ptr64,unsigned long)
+?DXOverArray@@YAXPEAVDXPMSAMPLE@@PEBV1@K@Z
+; void __cdecl DXOverArrayMMX(class DXPMSAMPLE * __ptr64,class DXPMSAMPLE const * __ptr64,unsigned long)
+?DXOverArrayMMX@@YAXPEAVDXPMSAMPLE@@PEBV1@K@Z
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/efsadu.def b/mingw-w64-crt/lib64/efsadu.def
index dd0b05d..eeada71 100644
--- a/mingw-w64-crt/lib64/efsadu.def
+++ b/mingw-w64-crt/lib64/efsadu.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file EFSADU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY EFSADU.dll
-EXPORTS
-AddUserToObjectW
-BackCurrentEfsCert
-EfsDetail
+; 
+; Exports of file EFSADU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY EFSADU.dll
+EXPORTS
+AddUserToObjectW
+BackCurrentEfsCert
+EfsDetail
diff --git a/mingw-w64-crt/lib64/els.def b/mingw-w64-crt/lib64/els.def
index fdad893..590678b 100644
--- a/mingw-w64-crt/lib64/els.def
+++ b/mingw-w64-crt/lib64/els.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file els.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY els.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file els.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY els.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/encapi.def b/mingw-w64-crt/lib64/encapi.def
index 643b99c..201796a 100644
--- a/mingw-w64-crt/lib64/encapi.def
+++ b/mingw-w64-crt/lib64/encapi.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file encapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY encapi.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file encapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY encapi.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ersvc.def b/mingw-w64-crt/lib64/ersvc.def
index 458a58f..6511ea5 100644
--- a/mingw-w64-crt/lib64/ersvc.def
+++ b/mingw-w64-crt/lib64/ersvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file ersvc.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ersvc.DLL
-EXPORTS
-ServiceMain
+; 
+; Exports of file ersvc.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ersvc.DLL
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/es.def b/mingw-w64-crt/lib64/es.def
index 2a17d79..fc770ab 100644
--- a/mingw-w64-crt/lib64/es.def
+++ b/mingw-w64-crt/lib64/es.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file ES.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ES.dll
-EXPORTS
-NotifyLogoffUser
-NotifyLogonUser
-ServiceMain
-LCEControlServer
-RegisterTheEventServiceDuringSetup
-RegisterTheEventServiceAfterSetup
-DllRegisterServer
-DllUnregisterServer
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file ES.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ES.dll
+EXPORTS
+NotifyLogoffUser
+NotifyLogonUser
+ServiceMain
+LCEControlServer
+RegisterTheEventServiceDuringSetup
+RegisterTheEventServiceAfterSetup
+DllRegisterServer
+DllUnregisterServer
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/esent.def b/mingw-w64-crt/lib64/esent.def
index 510fcf3..2130052 100644
--- a/mingw-w64-crt/lib64/esent.def
+++ b/mingw-w64-crt/lib64/esent.def
@@ -1,156 +1,156 @@
-; 
-; Exports of file ESENT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ESENT.dll
-EXPORTS
-JetAddColumn
-JetAttachDatabase
-JetAttachDatabase2
-JetAttachDatabaseWithStreaming
-JetBackup
-JetBackupInstance
-JetBeginExternalBackup
-JetBeginExternalBackupInstance
-JetBeginSession
-JetBeginTransaction
-JetBeginTransaction2
-JetCloseDatabase
-JetCloseFile
-JetCloseFileInstance
-JetCloseTable
-JetCommitTransaction
-JetCompact
-JetComputeStats
-JetConvertDDL
-JetCreateDatabase
-JetCreateDatabase2
-JetCreateDatabaseWithStreaming
-JetCreateIndex
-JetCreateIndex2
-JetCreateInstance
-JetCreateInstance2
-JetCreateTable
-JetCreateTableColumnIndex
-JetCreateTableColumnIndex2
-JetDBUtilities
-JetDefragment
-JetDefragment2
-JetDelete
-JetDeleteColumn
-JetDeleteColumn2
-JetDeleteIndex
-JetDeleteTable
-JetDetachDatabase
-JetDetachDatabase2
-JetDupCursor
-JetDupSession
-JetEnableMultiInstance
-JetEndExternalBackup
-JetEndExternalBackupInstance
-JetEndExternalBackupInstance2
-JetEndSession
-JetEnumerateColumns
-JetEscrowUpdate
-JetExternalRestore
-JetExternalRestore2
-JetFreeBuffer
-JetGetAttachInfo
-JetGetAttachInfoInstance
-JetGetBookmark
-JetGetColumnInfo
-JetGetCounter
-JetGetCurrentIndex
-JetGetCursorInfo
-JetGetDatabaseFileInfo
-JetGetDatabaseInfo
-JetGetIndexInfo
-JetGetInstanceInfo
-JetGetLS
-JetGetLock
-JetGetLogInfo
-JetGetLogInfoInstance
-JetGetLogInfoInstance2
-JetGetObjectInfo
-JetGetRecordPosition
-JetGetSecondaryIndexBookmark
-JetGetSystemParameter
-JetGetTableColumnInfo
-JetGetTableIndexInfo
-JetGetTableInfo
-JetGetTruncateLogInfoInstance
-JetGetVersion
-JetGotoBookmark
-JetGotoPosition
-JetGotoSecondaryIndexBookmark
-JetGrowDatabase
-JetIdle
-JetIndexRecordCount
-JetInit
-JetInit2
-JetInit3
-JetIntersectIndexes
-JetMakeKey
-JetMove
-JetOSSnapshotAbort
-JetOSSnapshotFreeze
-JetOSSnapshotPrepare
-JetOSSnapshotThaw
-JetOpenDatabase
-JetOpenFile
-JetOpenFileInstance
-JetOpenFileSectionInstance
-JetOpenTable
-JetOpenTempTable
-JetOpenTempTable2
-JetOpenTempTable3
-JetPrepareToCommitTransaction
-JetPrepareUpdate
-JetReadFile
-JetReadFileInstance
-JetRegisterCallback
-JetRenameColumn
-JetRenameTable
-JetResetCounter
-JetResetSessionContext
-JetResetTableSequential
-JetRestore
-JetRestore2
-JetRestoreInstance
-JetRetrieveColumn
-JetRetrieveColumns
-JetRetrieveKey
-JetRetrieveTaggedColumnList
-JetRollback
-JetSeek
-JetSetColumn
-JetSetColumnDefaultValue
-JetSetColumns
-JetSetCurrentIndex
-JetSetCurrentIndex2
-JetSetCurrentIndex3
-JetSetCurrentIndex4
-JetSetDatabaseSize
-JetSetIndexRange
-JetSetLS
-JetSetSessionContext
-JetSetSystemParameter
-JetSetTableSequential
-JetSnapshotStart
-JetSnapshotStop
-JetStopBackup
-JetStopBackupInstance
-JetStopService
-JetStopServiceInstance
-JetTerm
-JetTerm2
-JetTruncateLog
-JetTruncateLogInstance
-JetUnregisterCallback
-JetUpdate
-JetUpdate2
-JetUpgradeDatabase
-ese
-esent
+; 
+; Exports of file ESENT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ESENT.dll
+EXPORTS
+JetAddColumn
+JetAttachDatabase
+JetAttachDatabase2
+JetAttachDatabaseWithStreaming
+JetBackup
+JetBackupInstance
+JetBeginExternalBackup
+JetBeginExternalBackupInstance
+JetBeginSession
+JetBeginTransaction
+JetBeginTransaction2
+JetCloseDatabase
+JetCloseFile
+JetCloseFileInstance
+JetCloseTable
+JetCommitTransaction
+JetCompact
+JetComputeStats
+JetConvertDDL
+JetCreateDatabase
+JetCreateDatabase2
+JetCreateDatabaseWithStreaming
+JetCreateIndex
+JetCreateIndex2
+JetCreateInstance
+JetCreateInstance2
+JetCreateTable
+JetCreateTableColumnIndex
+JetCreateTableColumnIndex2
+JetDBUtilities
+JetDefragment
+JetDefragment2
+JetDelete
+JetDeleteColumn
+JetDeleteColumn2
+JetDeleteIndex
+JetDeleteTable
+JetDetachDatabase
+JetDetachDatabase2
+JetDupCursor
+JetDupSession
+JetEnableMultiInstance
+JetEndExternalBackup
+JetEndExternalBackupInstance
+JetEndExternalBackupInstance2
+JetEndSession
+JetEnumerateColumns
+JetEscrowUpdate
+JetExternalRestore
+JetExternalRestore2
+JetFreeBuffer
+JetGetAttachInfo
+JetGetAttachInfoInstance
+JetGetBookmark
+JetGetColumnInfo
+JetGetCounter
+JetGetCurrentIndex
+JetGetCursorInfo
+JetGetDatabaseFileInfo
+JetGetDatabaseInfo
+JetGetIndexInfo
+JetGetInstanceInfo
+JetGetLS
+JetGetLock
+JetGetLogInfo
+JetGetLogInfoInstance
+JetGetLogInfoInstance2
+JetGetObjectInfo
+JetGetRecordPosition
+JetGetSecondaryIndexBookmark
+JetGetSystemParameter
+JetGetTableColumnInfo
+JetGetTableIndexInfo
+JetGetTableInfo
+JetGetTruncateLogInfoInstance
+JetGetVersion
+JetGotoBookmark
+JetGotoPosition
+JetGotoSecondaryIndexBookmark
+JetGrowDatabase
+JetIdle
+JetIndexRecordCount
+JetInit
+JetInit2
+JetInit3
+JetIntersectIndexes
+JetMakeKey
+JetMove
+JetOSSnapshotAbort
+JetOSSnapshotFreeze
+JetOSSnapshotPrepare
+JetOSSnapshotThaw
+JetOpenDatabase
+JetOpenFile
+JetOpenFileInstance
+JetOpenFileSectionInstance
+JetOpenTable
+JetOpenTempTable
+JetOpenTempTable2
+JetOpenTempTable3
+JetPrepareToCommitTransaction
+JetPrepareUpdate
+JetReadFile
+JetReadFileInstance
+JetRegisterCallback
+JetRenameColumn
+JetRenameTable
+JetResetCounter
+JetResetSessionContext
+JetResetTableSequential
+JetRestore
+JetRestore2
+JetRestoreInstance
+JetRetrieveColumn
+JetRetrieveColumns
+JetRetrieveKey
+JetRetrieveTaggedColumnList
+JetRollback
+JetSeek
+JetSetColumn
+JetSetColumnDefaultValue
+JetSetColumns
+JetSetCurrentIndex
+JetSetCurrentIndex2
+JetSetCurrentIndex3
+JetSetCurrentIndex4
+JetSetDatabaseSize
+JetSetIndexRange
+JetSetLS
+JetSetSessionContext
+JetSetSystemParameter
+JetSetTableSequential
+JetSnapshotStart
+JetSnapshotStop
+JetStopBackup
+JetStopBackupInstance
+JetStopService
+JetStopServiceInstance
+JetTerm
+JetTerm2
+JetTruncateLog
+JetTruncateLogInstance
+JetUnregisterCallback
+JetUpdate
+JetUpdate2
+JetUpgradeDatabase
+ese
+esent
diff --git a/mingw-w64-crt/lib64/esentprf.def b/mingw-w64-crt/lib64/esentprf.def
index ee273ae..28a8164 100644
--- a/mingw-w64-crt/lib64/esentprf.def
+++ b/mingw-w64-crt/lib64/esentprf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file ESENTPRF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ESENTPRF.dll
-EXPORTS
-ClosePerformanceData
-CollectPerformanceData
-OpenPerformanceData
+; 
+; Exports of file ESENTPRF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ESENTPRF.dll
+EXPORTS
+ClosePerformanceData
+CollectPerformanceData
+OpenPerformanceData
diff --git a/mingw-w64-crt/lib64/esscli.def b/mingw-w64-crt/lib64/esscli.def
index d516505..cd89d27 100644
--- a/mingw-w64-crt/lib64/esscli.def
+++ b/mingw-w64-crt/lib64/esscli.def
@@ -1,338 +1,338 @@
-; 
-; Exports of file esscli.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY esscli.dll
-EXPORTS
-; public: __cdecl CClassInfoArray::CClassInfoArray(void) __ptr64
-??0CClassInfoArray@@QEAA@XZ
-; public: __cdecl CClassInformation::CClassInformation(struct CClassInformation const & __ptr64) __ptr64
-??0CClassInformation@@QEAA@AEBU0@@Z
-; public: __cdecl CClassInformation::CClassInformation(void) __ptr64
-??0CClassInformation@@QEAA@XZ
-; public: __cdecl CContextMetaData::CContextMetaData(class CMetaData * __ptr64,struct IWbemContext * __ptr64) __ptr64
-??0CContextMetaData@@QEAA@PEAVCMetaData@@PEAUIWbemContext@@@Z
-; public: __cdecl CEvalNode::CEvalNode(class CEvalNode const & __ptr64) __ptr64
-??0CEvalNode@@QEAA@AEBV0@@Z
-; public: __cdecl CEvalNode::CEvalNode(void) __ptr64
-??0CEvalNode@@QEAA@XZ
-; public: __cdecl CEvalTree::CEvalTree(class CEvalTree const & __ptr64) __ptr64
-??0CEvalTree@@QEAA@AEBV0@@Z
-; public: __cdecl CEvalTree::CEvalTree(void) __ptr64
-??0CEvalTree@@QEAA@XZ
-; public: __cdecl CMetaData::CMetaData(class CMetaData const & __ptr64) __ptr64
-??0CMetaData@@QEAA@AEBV0@@Z
-; public: __cdecl CMetaData::CMetaData(void) __ptr64
-??0CMetaData@@QEAA@XZ
-; public: __cdecl CObjectInfo::CObjectInfo(void) __ptr64
-??0CObjectInfo@@QEAA@XZ
-; public: __cdecl CPropertyProjectionFilter::CPropertyProjectionFilter(class CPropertyProjectionFilter const & __ptr64) __ptr64
-??0CPropertyProjectionFilter@@QEAA@AEBV0@@Z
-; public: __cdecl CPropertyProjectionFilter::CPropertyProjectionFilter(void) __ptr64
-??0CPropertyProjectionFilter@@QEAA@XZ
-; public: __cdecl CReuseMemoryManager::CReuseMemoryManager(unsigned __int64,unsigned __int64) __ptr64
-??0CReuseMemoryManager@@QEAA@_K0@Z
-; public: __cdecl CSortedArray::CSortedArray(class CSortedArray & __ptr64) __ptr64
-??0CSortedArray@@QEAA@AEAV0@@Z
-; public: __cdecl CSortedArray::CSortedArray(int,int) __ptr64
-??0CSortedArray@@QEAA@HH@Z
-; public: __cdecl CSortedArray::CSortedArray(unsigned int,unsigned __int64 * __ptr64) __ptr64
-??0CSortedArray@@QEAA@IPEA_K@Z
-; public: __cdecl CStandardMetaData::CStandardMetaData(class CStandardMetaData const & __ptr64) __ptr64
-??0CStandardMetaData@@QEAA@AEBV0@@Z
-; public: __cdecl CStandardMetaData::CStandardMetaData(struct IWbemServices * __ptr64) __ptr64
-??0CStandardMetaData@@QEAA@PEAUIWbemServices@@@Z
-; public: __cdecl CTempMemoryManager::CTempMemoryManager(void) __ptr64
-??0CTempMemoryManager@@QEAA@XZ
-; public: __cdecl CTimeKeeper::CTimeKeeper(void) __ptr64
-??0CTimeKeeper@@QEAA@XZ
-; public: __cdecl CClassInfoArray::~CClassInfoArray(void) __ptr64
-??1CClassInfoArray@@QEAA@XZ
-; public: __cdecl CClassInformation::~CClassInformation(void) __ptr64
-??1CClassInformation@@QEAA@XZ
-; public: __cdecl CContextMetaData::~CContextMetaData(void) __ptr64
-??1CContextMetaData@@QEAA@XZ
-; public: virtual __cdecl CEvalNode::~CEvalNode(void) __ptr64
-??1CEvalNode@@UEAA@XZ
-; public: __cdecl CEvalTree::~CEvalTree(void) __ptr64
-??1CEvalTree@@QEAA@XZ
-; public: virtual __cdecl CMetaData::~CMetaData(void) __ptr64
-??1CMetaData@@UEAA@XZ
-; public: __cdecl CObjectInfo::~CObjectInfo(void) __ptr64
-??1CObjectInfo@@QEAA@XZ
-; public: __cdecl CPropertyProjectionFilter::~CPropertyProjectionFilter(void) __ptr64
-??1CPropertyProjectionFilter@@QEAA@XZ
-; public: __cdecl CReuseMemoryManager::~CReuseMemoryManager(void) __ptr64
-??1CReuseMemoryManager@@QEAA@XZ
-; public: __cdecl CSortedArray::~CSortedArray(void) __ptr64
-??1CSortedArray@@QEAA@XZ
-; public: virtual __cdecl CStandardMetaData::~CStandardMetaData(void) __ptr64
-??1CStandardMetaData@@UEAA@XZ
-; public: __cdecl CTempMemoryManager::~CTempMemoryManager(void) __ptr64
-??1CTempMemoryManager@@QEAA@XZ
-; public: __cdecl CTimeKeeper::~CTimeKeeper(void) __ptr64
-??1CTimeKeeper@@QEAA@XZ
-; public: bool __cdecl CClassInfoArray::operator=(class CClassInfoArray & __ptr64) __ptr64
-??4CClassInfoArray@@QEAA_NAEAV0@@Z
-; public: struct CClassInformation & __ptr64 __cdecl CClassInformation::operator=(struct CClassInformation const & __ptr64) __ptr64
-??4CClassInformation@@QEAAAEAU0@AEBU0@@Z
-; public: class CContextMetaData & __ptr64 __cdecl CContextMetaData::operator=(class CContextMetaData const & __ptr64) __ptr64
-??4CContextMetaData@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl CEvalTree::operator=(class CEvalTree const & __ptr64) __ptr64
-??4CEvalTree@@QEAAXAEBV0@@Z
-; public: class CMetaData & __ptr64 __cdecl CMetaData::operator=(class CMetaData const & __ptr64) __ptr64
-??4CMetaData@@QEAAAEAV0@AEBV0@@Z
-; public: class CObjectInfo & __ptr64 __cdecl CObjectInfo::operator=(class CObjectInfo const & __ptr64) __ptr64
-??4CObjectInfo@@QEAAAEAV0@AEBV0@@Z
-; public: class CPropertyProjectionFilter & __ptr64 __cdecl CPropertyProjectionFilter::operator=(class CPropertyProjectionFilter const & __ptr64) __ptr64
-??4CPropertyProjectionFilter@@QEAAAEAV0@AEBV0@@Z
-; public: class CQueryAnalyser & __ptr64 __cdecl CQueryAnalyser::operator=(class CQueryAnalyser const & __ptr64) __ptr64
-??4CQueryAnalyser@@QEAAAEAV0@AEBV0@@Z
-; public: class CReuseMemoryManager & __ptr64 __cdecl CReuseMemoryManager::operator=(class CReuseMemoryManager const & __ptr64) __ptr64
-??4CReuseMemoryManager@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl CSortedArray::operator=(class CSortedArray const & __ptr64) __ptr64
-??4CSortedArray@@QEAAXAEBV0@@Z
-; public: class CStandardMetaData & __ptr64 __cdecl CStandardMetaData::operator=(class CStandardMetaData const & __ptr64) __ptr64
-??4CStandardMetaData@@QEAAAEAV0@AEBV0@@Z
-; public: class CTempMemoryManager & __ptr64 __cdecl CTempMemoryManager::operator=(class CTempMemoryManager const & __ptr64) __ptr64
-??4CTempMemoryManager@@QEAAAEAV0@AEBV0@@Z
-; public: class CTimeKeeper & __ptr64 __cdecl CTimeKeeper::operator=(class CTimeKeeper const & __ptr64) __ptr64
-??4CTimeKeeper@@QEAAAEAV0@AEBV0@@Z
-; const  CEvalNode::`vftable'
-??_7CEvalNode@@6B@
-; const  CMetaData::`vftable'
-??_7CMetaData@@6B@
-; const  CPropertyProjectionFilter::`vftable'
-??_7CPropertyProjectionFilter@@6B@
-; const  CStandardMetaData::`vftable'
-??_7CStandardMetaData@@6B@
-; public: void __cdecl CSortedArray::`default constructor closure'(void) __ptr64
-??_FCSortedArray@@QEAAXXZ
-; public: int __cdecl CSortedArray::Add(unsigned __int64) __ptr64
-?Add@CSortedArray@@QEAAH_K@Z
-; public: bool __cdecl CClassInfoArray::AddClass(struct CClassInformation * __ptr64) __ptr64
-?AddClass@CClassInfoArray@@QEAA_NPEAUCClassInformation@@@Z
-; public: int __cdecl CSortedArray::AddDataFrom(class CSortedArray const & __ptr64) __ptr64
-?AddDataFrom@CSortedArray@@QEAAHAEBV1@@Z
-; public: int __cdecl CSortedArray::AddDataFrom(unsigned __int64 const * __ptr64,unsigned int) __ptr64
-?AddDataFrom@CSortedArray@@QEAAHPEB_KI@Z
-; public: bool __cdecl CPropertyProjectionFilter::AddProperty(class CPropertyName const & __ptr64) __ptr64
-?AddProperty@CPropertyProjectionFilter@@QEAA_NAEBVCPropertyName@@@Z
-; public: virtual unsigned long __cdecl CMetaData::AddRef(void) __ptr64
-?AddRef@CMetaData@@UEAAKXZ
-; public: void * __ptr64 __cdecl CReuseMemoryManager::Allocate(void) __ptr64
-?Allocate@CReuseMemoryManager@@QEAAPEAXXZ
-; public: void * __ptr64 __cdecl CTempMemoryManager::Allocate(unsigned __int64) __ptr64
-?Allocate@CTempMemoryManager@@QEAAPEAX_K@Z
-; protected: static long __cdecl CQueryAnalyser::AndDefiniteClassArrays(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
-?AndDefiniteClassArrays@CQueryAnalyser@@KAJPEAVCClassInfoArray@@00@Z
-; protected: static long __cdecl CQueryAnalyser::AndPossibleClassArrays(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
-?AndPossibleClassArrays@CQueryAnalyser@@KAJPEAVCClassInfoArray@@00@Z
-; protected: static long __cdecl CQueryAnalyser::AndQueryExpressions(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64)
-?AndQueryExpressions@CQueryAnalyser@@KAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@00@Z
-; protected: static void __cdecl CQueryAnalyser::AppendQueryExpression(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64)
-?AppendQueryExpression@CQueryAnalyser@@KAXPEAUQL_LEVEL_1_RPN_EXPRESSION@@0@Z
-; public: long __cdecl CEvalTree::ApplyPredicate(class CLeafPredicate * __ptr64) __ptr64
-?ApplyPredicate@CEvalTree@@QEAAJPEAVCLeafPredicate@@@Z
-; public: static long __cdecl CEvalTree::BuildFromToken(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,struct QL_LEVEL_1_TOKEN & __ptr64,class CEvalNode * __ptr64 * __ptr64)
-?BuildFromToken@CEvalTree@@SAJPEAVCContextMetaData@@AEAVCImplicationList@@AEAUQL_LEVEL_1_TOKEN@@PEAPEAVCEvalNode@@@Z
-; public: static long __cdecl CEvalTree::BuildTwoPropFromToken(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,struct QL_LEVEL_1_TOKEN & __ptr64,class CEvalNode * __ptr64 * __ptr64)
-?BuildTwoPropFromToken@CEvalTree@@SAJPEAVCContextMetaData@@AEAVCImplicationList@@AEAUQL_LEVEL_1_TOKEN@@PEAPEAVCEvalNode@@@Z
-; public: static long __cdecl CQueryAnalyser::CanPointToClass(struct IWbemClassObject * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class CContextMetaData * __ptr64)
-?CanPointToClass@CQueryAnalyser@@SAJPEAUIWbemClassObject@@PEBG1PEAVCContextMetaData@@@Z
-; public: void __cdecl CClassInfoArray::Clear(void) __ptr64
-?Clear@CClassInfoArray@@QEAAXXZ
-; public: bool __cdecl CEvalTree::Clear(void) __ptr64
-?Clear@CEvalTree@@QEAA_NXZ
-; public: void __cdecl CObjectInfo::Clear(void) __ptr64
-?Clear@CObjectInfo@@QEAAXXZ
-; public: void __cdecl CReuseMemoryManager::Clear(void) __ptr64
-?Clear@CReuseMemoryManager@@QEAAXXZ
-; public: void __cdecl CStandardMetaData::Clear(void) __ptr64
-?Clear@CStandardMetaData@@QEAAXXZ
-; public: void __cdecl CTempMemoryManager::Clear(void) __ptr64
-?Clear@CTempMemoryManager@@QEAAXXZ
-; public: static class CEvalNode * __ptr64 __cdecl CEvalNode::CloneNode(class CEvalNode const * __ptr64)
-?CloneNode@CEvalNode@@SAPEAV1@PEBV1@@Z
-; public: static long __cdecl CEvalTree::Combine(class CEvalNode * __ptr64,class CEvalNode * __ptr64,int,class CContextMetaData * __ptr64,class CImplicationList & __ptr64,bool,bool,class CEvalNode * __ptr64 * __ptr64)
-?Combine@CEvalTree@@SAJPEAVCEvalNode@@0HPEAVCContextMetaData@@AEAVCImplicationList@@_N3PEAPEAV2@@Z
-; protected: static long __cdecl CEvalTree::CombineLeafWithBranch(class CValueNode * __ptr64,class CBranchingNode * __ptr64,int,class CContextMetaData * __ptr64,class CImplicationList & __ptr64,bool,bool,class CEvalNode * __ptr64 * __ptr64)
-?CombineLeafWithBranch@CEvalTree@@KAJPEAVCValueNode@@PEAVCBranchingNode@@HPEAVCContextMetaData@@AEAVCImplicationList@@_N4PEAPEAVCEvalNode@@@Z
-; public: long __cdecl CEvalTree::CombineWith(class CEvalTree & __ptr64,class CContextMetaData * __ptr64,int,long) __ptr64
-?CombineWith@CEvalTree@@QEAAJAEAV1@PEAVCContextMetaData@@HJ@Z
-; public: static int __cdecl CEvalTree::Compare(class CEvalNode * __ptr64,class CEvalNode * __ptr64)
-?Compare@CEvalTree@@SAHPEAVCEvalNode@@0@Z
-; public: int __cdecl CSortedArray::Compare(class CSortedArray & __ptr64) __ptr64
-?Compare@CSortedArray@@QEAAHAEAV1@@Z
-; public: static int __cdecl CQueryAnalyser::CompareRequestedToProvided(class CClassInfoArray & __ptr64,class CClassInfoArray & __ptr64)
-?CompareRequestedToProvided@CQueryAnalyser@@SAHAEAVCClassInfoArray@@0@Z
-; public: int __cdecl CSortedArray::CopyDataFrom(class CSortedArray const & __ptr64) __ptr64
-?CopyDataFrom@CSortedArray@@QEAAHAEBV1@@Z
-; public: int __cdecl CSortedArray::CopyDataFrom(unsigned __int64 const * __ptr64,unsigned int) __ptr64
-?CopyDataFrom@CSortedArray@@QEAAHPEB_KI@Z
-; public: unsigned int __cdecl CSortedArray::CopyTo(unsigned __int64 * __ptr64,unsigned int) __ptr64
-?CopyTo@CSortedArray@@QEAAIPEA_KI@Z
-; public: static long __cdecl CEvalTree::CreateFromConjunction(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,class CConjunction * __ptr64,class CEvalNode * __ptr64 * __ptr64)
-?CreateFromConjunction@CEvalTree@@SAJPEAVCContextMetaData@@AEAVCImplicationList@@PEAVCConjunction@@PEAPEAVCEvalNode@@@Z
-; public: long __cdecl CEvalTree::CreateFromDNF(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,class CDNFExpression * __ptr64,class CEvalNode * __ptr64 * __ptr64) __ptr64
-?CreateFromDNF@CEvalTree@@QEAAJPEAVCContextMetaData@@AEAVCImplicationList@@PEAVCDNFExpression@@PEAPEAVCEvalNode@@@Z
-; public: long __cdecl CEvalTree::CreateFromQuery(class CContextMetaData * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,long,long) __ptr64
-?CreateFromQuery@CEvalTree@@QEAAJPEAVCContextMetaData@@PEAUQL_LEVEL_1_RPN_EXPRESSION@@JJ@Z
-; public: long __cdecl CEvalTree::CreateFromQuery(class CContextMetaData * __ptr64,unsigned short const * __ptr64,int,struct QL_LEVEL_1_TOKEN * __ptr64,long,long) __ptr64
-?CreateFromQuery@CEvalTree@@QEAAJPEAVCContextMetaData@@PEBGHPEAUQL_LEVEL_1_TOKEN@@JJ@Z
-; public: long __cdecl CEvalTree::CreateFromQuery(class CContextMetaData * __ptr64,unsigned short const * __ptr64,long,long) __ptr64
-?CreateFromQuery@CEvalTree@@QEAAJPEAVCContextMetaData@@PEBGJJ@Z
-; public: long __cdecl CEvalTree::CreateProjection(class CEvalTree & __ptr64,class CContextMetaData * __ptr64,class CProjectionFilter * __ptr64,enum EProjectionType,bool) __ptr64
-?CreateProjection@CEvalTree@@QEAAJAEAV1@PEAVCContextMetaData@@PEAVCProjectionFilter@@W4EProjectionType@@_N@Z
-; public: bool __cdecl CTimeKeeper::DecorateObject(struct _IWmiObject * __ptr64) __ptr64
-?DecorateObject@CTimeKeeper@@QEAA_NPEAU_IWmiObject@@@Z
-; public: void __cdecl CSortedArray::Empty(void) __ptr64
-?Empty@CSortedArray@@QEAAXXZ
-; public: long __cdecl CEvalTree::Evaluate(struct IWbemObjectAccess * __ptr64,class CSortedArray & __ptr64) __ptr64
-?Evaluate@CEvalTree@@QEAAJPEAUIWbemObjectAccess@@AEAVCSortedArray@@@Z
-; public: static long __cdecl CEvalTree::Evaluate(class CObjectInfo & __ptr64,class CEvalNode * __ptr64,class CSortedArray & __ptr64)
-?Evaluate@CEvalTree@@SAJAEAVCObjectInfo@@PEAVCEvalNode@@AEAVCSortedArray@@@Z
-; public: unsigned int __cdecl CSortedArray::Find(unsigned __int64) __ptr64
-?Find@CSortedArray@@QEAAI_K@Z
-; public: void __cdecl CReuseMemoryManager::Free(void * __ptr64) __ptr64
-?Free@CReuseMemoryManager@@QEAAXPEAX@Z
-; public: void __cdecl CTempMemoryManager::Free(void * __ptr64,unsigned __int64) __ptr64
-?Free@CTempMemoryManager@@QEAAXPEAX_K@Z
-; long __cdecl GetAccessMask(void * __ptr64,struct _ACL * __ptr64,unsigned long * __ptr64)
-?GetAccessMask@@YAJPEAXPEAU_ACL@@PEAK@Z
-; public: unsigned __int64 * __ptr64 __cdecl CSortedArray::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CSortedArray@@QEAAPEA_KXZ
-; public: unsigned __int64 __cdecl CSortedArray::GetAt(int) __ptr64
-?GetAt@CSortedArray@@QEAA_KH@Z
-; public: struct CClassInformation * __ptr64 __cdecl CClassInfoArray::GetClass(int) __ptr64
-?GetClass@CClassInfoArray@@QEAAPEAUCClassInformation@@H@Z
-; public: long __cdecl CContextMetaData::GetClass(unsigned short const * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?GetClass@CContextMetaData@@QEAAJPEBGPEAPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CMetaData::GetClass(unsigned short const * __ptr64,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?GetClass@CMetaData@@UEAAJPEBGPEAUIWbemContext@@PEAPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CStandardMetaData::GetClass(unsigned short const * __ptr64,struct IWbemContext * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?GetClass@CStandardMetaData@@UEAAJPEBGPEAUIWbemContext@@PEAPEAU_IWmiObject@@@Z
-; public: static long __cdecl CQueryAnalyser::GetDefiniteInstanceClasses(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,class CClassInfoArray * __ptr64 & __ptr64)
-?GetDefiniteInstanceClasses@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAPEAVCClassInfoArray@@@Z
-; protected: static long __cdecl CQueryAnalyser::GetInstanceClasses(struct QL_LEVEL_1_TOKEN & __ptr64,class CClassInfoArray & __ptr64)
-?GetInstanceClasses@CQueryAnalyser@@KAJAEAUQL_LEVEL_1_TOKEN@@AEAVCClassInfoArray@@@Z
-; public: long __cdecl CObjectInfo::GetLength(void) __ptr64
-?GetLength@CObjectInfo@@QEAAJXZ
-; public: static long __cdecl CQueryAnalyser::GetLimitingQueryForInstanceClass(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct CClassInformation & __ptr64,unsigned short * __ptr64 & __ptr64)
-?GetLimitingQueryForInstanceClass@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAUCClassInformation@@AEAPEAG@Z
-; public: static long __cdecl CQueryAnalyser::GetNecessaryQueryForClass(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct IWbemClassObject * __ptr64,class CWStringArray & __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64 & __ptr64)
-?GetNecessaryQueryForClass@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@PEAUIWbemClassObject@@AEAVCWStringArray@@AEAPEAU2@@Z
-; public: static long __cdecl CQueryAnalyser::GetNecessaryQueryForProperty(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,class CPropertyName & __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64 & __ptr64)
-?GetNecessaryQueryForProperty@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAVCPropertyName@@AEAPEAU2@@Z
-; public: int __cdecl CClassInfoArray::GetNumClasses(void) __ptr64
-?GetNumClasses@CClassInfoArray@@QEAAHXZ
-; public: struct _IWmiObject * __ptr64 __cdecl CObjectInfo::GetObjectAt(long) __ptr64
-?GetObjectAt@CObjectInfo@@QEAAPEAU_IWmiObject@@J@Z
-; public: static long __cdecl CQueryAnalyser::GetPossibleInstanceClasses(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,class CClassInfoArray * __ptr64 & __ptr64)
-?GetPossibleInstanceClasses@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAPEAVCClassInfoArray@@@Z
-; protected: static long __cdecl CQueryAnalyser::GetPropertiesThatMustDiffer(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct CClassInformation & __ptr64,class CWStringArray & __ptr64)
-?GetPropertiesThatMustDiffer@CQueryAnalyser@@KAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAUCClassInformation@@AEAVCWStringArray@@@Z
-; public: static int __cdecl CEvalNode::GetType(class CEvalNode * __ptr64)
-?GetType@CEvalNode@@SAHPEAV1@@Z
-; protected: static long __cdecl CEvalTree::InnerCombine(class CEvalNode * __ptr64,class CEvalNode * __ptr64,int,class CContextMetaData * __ptr64,class CImplicationList & __ptr64,bool,bool,class CEvalNode * __ptr64 * __ptr64)
-?InnerCombine@CEvalTree@@KAJPEAVCEvalNode@@0HPEAVCContextMetaData@@AEAVCImplicationList@@_N3PEAPEAV2@@Z
-; public: void __cdecl CSortedArray::Insert(unsigned __int64) __ptr64
-?Insert@CSortedArray@@QEAAX_K@Z
-; public: static bool __cdecl CEvalNode::IsAllFalse(class CEvalNode * __ptr64)
-?IsAllFalse@CEvalNode@@SA_NPEAV1@@Z
-; public: virtual bool __cdecl CEvalNode::IsAllFalse(void) __ptr64
-?IsAllFalse@CEvalNode@@UEAA_NXZ
-; public: bool __cdecl CEvalTree::IsFalse(void) __ptr64
-?IsFalse@CEvalTree@@QEAA_NXZ
-; public: virtual bool __cdecl CPropertyProjectionFilter::IsInSet(class CEvalNode * __ptr64) __ptr64
-?IsInSet@CPropertyProjectionFilter@@UEAA_NPEAVCEvalNode@@@Z
-; public: static bool __cdecl CEvalNode::IsInvalid(class CEvalNode * __ptr64)
-?IsInvalid@CEvalNode@@SA_NPEAV1@@Z
-; public: virtual bool __cdecl CEvalNode::IsInvalid(void) __ptr64
-?IsInvalid@CEvalNode@@UEAA_NXZ
-; public: int __cdecl CClassInfoArray::IsLimited(void) __ptr64
-?IsLimited@CClassInfoArray@@QEAAHXZ
-; public: static long __cdecl CEvalTree::IsMergeAdvisable(class CEvalNode * __ptr64,class CEvalNode * __ptr64,class CImplicationList & __ptr64)
-?IsMergeAdvisable@CEvalTree@@SAJPEAVCEvalNode@@0AEAVCImplicationList@@@Z
-; public: static bool __cdecl CEvalNode::IsNoop(class CEvalNode * __ptr64,int)
-?IsNoop@CEvalNode@@SA_NPEAV1@H@Z
-; public: virtual bool __cdecl CEvalNode::IsNoop(int) __ptr64
-?IsNoop@CEvalNode@@UEAA_NH@Z
-; protected: static int __cdecl CQueryAnalyser::IsPropertyInClass(class CPropertyName & __ptr64,struct IWbemClassObject * __ptr64,class CWStringArray & __ptr64)
-?IsPropertyInClass@CQueryAnalyser@@KAHAEAVCPropertyName@@PEAUIWbemClassObject@@AEAVCWStringArray@@@Z
-; protected: static int __cdecl CQueryAnalyser::IsTokenAboutClass(struct QL_LEVEL_1_TOKEN & __ptr64,struct IWbemClassObject * __ptr64,class CWStringArray & __ptr64)
-?IsTokenAboutClass@CQueryAnalyser@@KAHAEAUQL_LEVEL_1_TOKEN@@PEAUIWbemClassObject@@AEAVCWStringArray@@@Z
-; protected: static int __cdecl CQueryAnalyser::IsTokenAboutProperty(struct QL_LEVEL_1_TOKEN & __ptr64,class CPropertyName & __ptr64)
-?IsTokenAboutProperty@CQueryAnalyser@@KAHAEAUQL_LEVEL_1_TOKEN@@AEAVCPropertyName@@@Z
-; long __cdecl IsUserAdministrator(void * __ptr64)
-?IsUserAdministrator@@YAJPEAX@Z
-; long __cdecl IsUserInGroup(void * __ptr64,void * __ptr64)
-?IsUserInGroup@@YAJPEAX0@Z
-; public: bool __cdecl CEvalTree::IsValid(void) __ptr64
-?IsValid@CEvalTree@@QEAA_NXZ
-; protected: static long __cdecl CQueryAnalyser::NegateDefiniteClassArray(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
-?NegateDefiniteClassArray@CQueryAnalyser@@KAJPEAVCClassInfoArray@@0@Z
-; protected: static long __cdecl CQueryAnalyser::NegatePossibleClassArray(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
-?NegatePossibleClassArray@CQueryAnalyser@@KAJPEAVCClassInfoArray@@0@Z
-; protected: static long __cdecl CQueryAnalyser::NegateQueryExpression(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64)
-?NegateQueryExpression@CQueryAnalyser@@KAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@0@Z
-; public: virtual long __cdecl CEvalNode::Optimize(class CContextMetaData * __ptr64,class CEvalNode * __ptr64 * __ptr64) __ptr64
-?Optimize@CEvalNode@@UEAAJPEAVCContextMetaData@@PEAPEAV1@@Z
-; public: long __cdecl CEvalTree::Optimize(class CContextMetaData * __ptr64) __ptr64
-?Optimize@CEvalTree@@QEAAJPEAVCContextMetaData@@@Z
-; protected: static long __cdecl CQueryAnalyser::OrDefiniteClassArrays(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
-?OrDefiniteClassArrays@CQueryAnalyser@@KAJPEAVCClassInfoArray@@00@Z
-; protected: static long __cdecl CQueryAnalyser::OrPossibleClassArrays(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
-?OrPossibleClassArrays@CQueryAnalyser@@KAJPEAVCClassInfoArray@@00@Z
-; protected: static long __cdecl CQueryAnalyser::OrQueryExpressions(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64)
-?OrQueryExpressions@CQueryAnalyser@@KAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@00@Z
-; public: static void __cdecl CEvalNode::PrintOffset(struct _iobuf * __ptr64,int)
-?PrintOffset@CEvalNode@@SAXPEAU_iobuf@@H@Z
-; public: static long __cdecl CEvalTree::Project(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,class CEvalNode * __ptr64,class CProjectionFilter * __ptr64,enum EProjectionType,bool,class CEvalNode * __ptr64 * __ptr64)
-?Project@CEvalTree@@SAJPEAVCContextMetaData@@AEAVCImplicationList@@PEAVCEvalNode@@PEAVCProjectionFilter@@W4EProjectionType@@_NPEAPEAV4@@Z
-; public: virtual long __cdecl CMetaData::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CMetaData@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: void __cdecl CEvalTree::Rebase(unsigned __int64) __ptr64
-?Rebase@CEvalTree@@QEAAX_K@Z
-; public: void __cdecl CSortedArray::Rebase(unsigned __int64) __ptr64
-?Rebase@CSortedArray@@QEAAX_K@Z
-; public: virtual unsigned long __cdecl CMetaData::Release(void) __ptr64
-?Release@CMetaData@@UEAAKXZ
-; public: bool __cdecl CSortedArray::Remove(unsigned __int64) __ptr64
-?Remove@CSortedArray@@QEAA_N_K@Z
-; public: void __cdecl CClassInfoArray::RemoveClass(int) __ptr64
-?RemoveClass@CClassInfoArray@@QEAAXH@Z
-; public: long __cdecl CEvalTree::RemoveIndex(int) __ptr64
-?RemoveIndex@CEvalTree@@QEAAJH@Z
-; protected: unsigned __int64 __cdecl CTempMemoryManager::RoundUp(unsigned __int64) __ptr64
-?RoundUp@CTempMemoryManager@@IEAA_K_K@Z
-; public: bool __cdecl CEvalTree::SetBool(int) __ptr64
-?SetBool@CEvalTree@@QEAA_NH@Z
-; public: bool __cdecl CObjectInfo::SetLength(long) __ptr64
-?SetLength@CObjectInfo@@QEAA_NJ@Z
-; public: void __cdecl CClassInfoArray::SetLimited(int) __ptr64
-?SetLimited@CClassInfoArray@@QEAAXH@Z
-; public: void __cdecl CObjectInfo::SetObjectAt(long,struct _IWmiObject * __ptr64) __ptr64
-?SetObjectAt@CObjectInfo@@QEAAXJPEAU_IWmiObject@@@Z
-; public: bool __cdecl CClassInfoArray::SetOne(unsigned short const * __ptr64,int) __ptr64
-?SetOne@CClassInfoArray@@QEAA_NPEBGH@Z
-; public: void __cdecl CSortedArray::SetSize(int) __ptr64
-?SetSize@CSortedArray@@QEAAXH@Z
-; public: static long __cdecl CQueryAnalyser::SimplifyQueryForChild(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,unsigned short const * __ptr64,struct IWbemClassObject * __ptr64,class CContextMetaData * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64 & __ptr64)
-?SimplifyQueryForChild@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@PEBGPEAUIWbemClassObject@@PEAVCContextMetaData@@AEAPEAU2@@Z
-; protected: static int __cdecl CQueryAnalyser::SimplifyTokenForChild(struct QL_LEVEL_1_TOKEN & __ptr64,unsigned short const * __ptr64,struct IWbemClassObject * __ptr64,class CContextMetaData * __ptr64)
-?SimplifyTokenForChild@CQueryAnalyser@@KAHAEAUQL_LEVEL_1_TOKEN@@PEBGPEAUIWbemClassObject@@PEAVCContextMetaData@@@Z
-; public: int __cdecl CSortedArray::Size(void)const  __ptr64
-?Size@CSortedArray@@QEBAHXZ
-; public: unsigned __int64 * __ptr64 __cdecl CSortedArray::UnbindPtr(void) __ptr64
-?UnbindPtr@CSortedArray@@QEAAPEA_KXZ
-; public: long __cdecl CEvalTree::UtilizeGuarantee(class CEvalTree & __ptr64,class CContextMetaData * __ptr64) __ptr64
-?UtilizeGuarantee@CEvalTree@@QEAAJAEAV1@PEAVCContextMetaData@@@Z
-; protected: static int __cdecl CQueryAnalyser::ValidateSQLDateTime(unsigned short const * __ptr64)
-?ValidateSQLDateTime@CQueryAnalyser@@KAHPEBG@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file esscli.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY esscli.dll
+EXPORTS
+; public: __cdecl CClassInfoArray::CClassInfoArray(void) __ptr64
+??0CClassInfoArray@@QEAA@XZ
+; public: __cdecl CClassInformation::CClassInformation(struct CClassInformation const & __ptr64) __ptr64
+??0CClassInformation@@QEAA@AEBU0@@Z
+; public: __cdecl CClassInformation::CClassInformation(void) __ptr64
+??0CClassInformation@@QEAA@XZ
+; public: __cdecl CContextMetaData::CContextMetaData(class CMetaData * __ptr64,struct IWbemContext * __ptr64) __ptr64
+??0CContextMetaData@@QEAA@PEAVCMetaData@@PEAUIWbemContext@@@Z
+; public: __cdecl CEvalNode::CEvalNode(class CEvalNode const & __ptr64) __ptr64
+??0CEvalNode@@QEAA@AEBV0@@Z
+; public: __cdecl CEvalNode::CEvalNode(void) __ptr64
+??0CEvalNode@@QEAA@XZ
+; public: __cdecl CEvalTree::CEvalTree(class CEvalTree const & __ptr64) __ptr64
+??0CEvalTree@@QEAA@AEBV0@@Z
+; public: __cdecl CEvalTree::CEvalTree(void) __ptr64
+??0CEvalTree@@QEAA@XZ
+; public: __cdecl CMetaData::CMetaData(class CMetaData const & __ptr64) __ptr64
+??0CMetaData@@QEAA@AEBV0@@Z
+; public: __cdecl CMetaData::CMetaData(void) __ptr64
+??0CMetaData@@QEAA@XZ
+; public: __cdecl CObjectInfo::CObjectInfo(void) __ptr64
+??0CObjectInfo@@QEAA@XZ
+; public: __cdecl CPropertyProjectionFilter::CPropertyProjectionFilter(class CPropertyProjectionFilter const & __ptr64) __ptr64
+??0CPropertyProjectionFilter@@QEAA@AEBV0@@Z
+; public: __cdecl CPropertyProjectionFilter::CPropertyProjectionFilter(void) __ptr64
+??0CPropertyProjectionFilter@@QEAA@XZ
+; public: __cdecl CReuseMemoryManager::CReuseMemoryManager(unsigned __int64,unsigned __int64) __ptr64
+??0CReuseMemoryManager@@QEAA@_K0@Z
+; public: __cdecl CSortedArray::CSortedArray(class CSortedArray & __ptr64) __ptr64
+??0CSortedArray@@QEAA@AEAV0@@Z
+; public: __cdecl CSortedArray::CSortedArray(int,int) __ptr64
+??0CSortedArray@@QEAA@HH@Z
+; public: __cdecl CSortedArray::CSortedArray(unsigned int,unsigned __int64 * __ptr64) __ptr64
+??0CSortedArray@@QEAA@IPEA_K@Z
+; public: __cdecl CStandardMetaData::CStandardMetaData(class CStandardMetaData const & __ptr64) __ptr64
+??0CStandardMetaData@@QEAA@AEBV0@@Z
+; public: __cdecl CStandardMetaData::CStandardMetaData(struct IWbemServices * __ptr64) __ptr64
+??0CStandardMetaData@@QEAA@PEAUIWbemServices@@@Z
+; public: __cdecl CTempMemoryManager::CTempMemoryManager(void) __ptr64
+??0CTempMemoryManager@@QEAA@XZ
+; public: __cdecl CTimeKeeper::CTimeKeeper(void) __ptr64
+??0CTimeKeeper@@QEAA@XZ
+; public: __cdecl CClassInfoArray::~CClassInfoArray(void) __ptr64
+??1CClassInfoArray@@QEAA@XZ
+; public: __cdecl CClassInformation::~CClassInformation(void) __ptr64
+??1CClassInformation@@QEAA@XZ
+; public: __cdecl CContextMetaData::~CContextMetaData(void) __ptr64
+??1CContextMetaData@@QEAA@XZ
+; public: virtual __cdecl CEvalNode::~CEvalNode(void) __ptr64
+??1CEvalNode@@UEAA@XZ
+; public: __cdecl CEvalTree::~CEvalTree(void) __ptr64
+??1CEvalTree@@QEAA@XZ
+; public: virtual __cdecl CMetaData::~CMetaData(void) __ptr64
+??1CMetaData@@UEAA@XZ
+; public: __cdecl CObjectInfo::~CObjectInfo(void) __ptr64
+??1CObjectInfo@@QEAA@XZ
+; public: __cdecl CPropertyProjectionFilter::~CPropertyProjectionFilter(void) __ptr64
+??1CPropertyProjectionFilter@@QEAA@XZ
+; public: __cdecl CReuseMemoryManager::~CReuseMemoryManager(void) __ptr64
+??1CReuseMemoryManager@@QEAA@XZ
+; public: __cdecl CSortedArray::~CSortedArray(void) __ptr64
+??1CSortedArray@@QEAA@XZ
+; public: virtual __cdecl CStandardMetaData::~CStandardMetaData(void) __ptr64
+??1CStandardMetaData@@UEAA@XZ
+; public: __cdecl CTempMemoryManager::~CTempMemoryManager(void) __ptr64
+??1CTempMemoryManager@@QEAA@XZ
+; public: __cdecl CTimeKeeper::~CTimeKeeper(void) __ptr64
+??1CTimeKeeper@@QEAA@XZ
+; public: bool __cdecl CClassInfoArray::operator=(class CClassInfoArray & __ptr64) __ptr64
+??4CClassInfoArray@@QEAA_NAEAV0@@Z
+; public: struct CClassInformation & __ptr64 __cdecl CClassInformation::operator=(struct CClassInformation const & __ptr64) __ptr64
+??4CClassInformation@@QEAAAEAU0@AEBU0@@Z
+; public: class CContextMetaData & __ptr64 __cdecl CContextMetaData::operator=(class CContextMetaData const & __ptr64) __ptr64
+??4CContextMetaData@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl CEvalTree::operator=(class CEvalTree const & __ptr64) __ptr64
+??4CEvalTree@@QEAAXAEBV0@@Z
+; public: class CMetaData & __ptr64 __cdecl CMetaData::operator=(class CMetaData const & __ptr64) __ptr64
+??4CMetaData@@QEAAAEAV0@AEBV0@@Z
+; public: class CObjectInfo & __ptr64 __cdecl CObjectInfo::operator=(class CObjectInfo const & __ptr64) __ptr64
+??4CObjectInfo@@QEAAAEAV0@AEBV0@@Z
+; public: class CPropertyProjectionFilter & __ptr64 __cdecl CPropertyProjectionFilter::operator=(class CPropertyProjectionFilter const & __ptr64) __ptr64
+??4CPropertyProjectionFilter@@QEAAAEAV0@AEBV0@@Z
+; public: class CQueryAnalyser & __ptr64 __cdecl CQueryAnalyser::operator=(class CQueryAnalyser const & __ptr64) __ptr64
+??4CQueryAnalyser@@QEAAAEAV0@AEBV0@@Z
+; public: class CReuseMemoryManager & __ptr64 __cdecl CReuseMemoryManager::operator=(class CReuseMemoryManager const & __ptr64) __ptr64
+??4CReuseMemoryManager@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl CSortedArray::operator=(class CSortedArray const & __ptr64) __ptr64
+??4CSortedArray@@QEAAXAEBV0@@Z
+; public: class CStandardMetaData & __ptr64 __cdecl CStandardMetaData::operator=(class CStandardMetaData const & __ptr64) __ptr64
+??4CStandardMetaData@@QEAAAEAV0@AEBV0@@Z
+; public: class CTempMemoryManager & __ptr64 __cdecl CTempMemoryManager::operator=(class CTempMemoryManager const & __ptr64) __ptr64
+??4CTempMemoryManager@@QEAAAEAV0@AEBV0@@Z
+; public: class CTimeKeeper & __ptr64 __cdecl CTimeKeeper::operator=(class CTimeKeeper const & __ptr64) __ptr64
+??4CTimeKeeper@@QEAAAEAV0@AEBV0@@Z
+; const  CEvalNode::`vftable'
+??_7CEvalNode@@6B@
+; const  CMetaData::`vftable'
+??_7CMetaData@@6B@
+; const  CPropertyProjectionFilter::`vftable'
+??_7CPropertyProjectionFilter@@6B@
+; const  CStandardMetaData::`vftable'
+??_7CStandardMetaData@@6B@
+; public: void __cdecl CSortedArray::`default constructor closure'(void) __ptr64
+??_FCSortedArray@@QEAAXXZ
+; public: int __cdecl CSortedArray::Add(unsigned __int64) __ptr64
+?Add@CSortedArray@@QEAAH_K@Z
+; public: bool __cdecl CClassInfoArray::AddClass(struct CClassInformation * __ptr64) __ptr64
+?AddClass@CClassInfoArray@@QEAA_NPEAUCClassInformation@@@Z
+; public: int __cdecl CSortedArray::AddDataFrom(class CSortedArray const & __ptr64) __ptr64
+?AddDataFrom@CSortedArray@@QEAAHAEBV1@@Z
+; public: int __cdecl CSortedArray::AddDataFrom(unsigned __int64 const * __ptr64,unsigned int) __ptr64
+?AddDataFrom@CSortedArray@@QEAAHPEB_KI@Z
+; public: bool __cdecl CPropertyProjectionFilter::AddProperty(class CPropertyName const & __ptr64) __ptr64
+?AddProperty@CPropertyProjectionFilter@@QEAA_NAEBVCPropertyName@@@Z
+; public: virtual unsigned long __cdecl CMetaData::AddRef(void) __ptr64
+?AddRef@CMetaData@@UEAAKXZ
+; public: void * __ptr64 __cdecl CReuseMemoryManager::Allocate(void) __ptr64
+?Allocate@CReuseMemoryManager@@QEAAPEAXXZ
+; public: void * __ptr64 __cdecl CTempMemoryManager::Allocate(unsigned __int64) __ptr64
+?Allocate@CTempMemoryManager@@QEAAPEAX_K@Z
+; protected: static long __cdecl CQueryAnalyser::AndDefiniteClassArrays(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
+?AndDefiniteClassArrays@CQueryAnalyser@@KAJPEAVCClassInfoArray@@00@Z
+; protected: static long __cdecl CQueryAnalyser::AndPossibleClassArrays(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
+?AndPossibleClassArrays@CQueryAnalyser@@KAJPEAVCClassInfoArray@@00@Z
+; protected: static long __cdecl CQueryAnalyser::AndQueryExpressions(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64)
+?AndQueryExpressions@CQueryAnalyser@@KAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@00@Z
+; protected: static void __cdecl CQueryAnalyser::AppendQueryExpression(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64)
+?AppendQueryExpression@CQueryAnalyser@@KAXPEAUQL_LEVEL_1_RPN_EXPRESSION@@0@Z
+; public: long __cdecl CEvalTree::ApplyPredicate(class CLeafPredicate * __ptr64) __ptr64
+?ApplyPredicate@CEvalTree@@QEAAJPEAVCLeafPredicate@@@Z
+; public: static long __cdecl CEvalTree::BuildFromToken(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,struct QL_LEVEL_1_TOKEN & __ptr64,class CEvalNode * __ptr64 * __ptr64)
+?BuildFromToken@CEvalTree@@SAJPEAVCContextMetaData@@AEAVCImplicationList@@AEAUQL_LEVEL_1_TOKEN@@PEAPEAVCEvalNode@@@Z
+; public: static long __cdecl CEvalTree::BuildTwoPropFromToken(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,struct QL_LEVEL_1_TOKEN & __ptr64,class CEvalNode * __ptr64 * __ptr64)
+?BuildTwoPropFromToken@CEvalTree@@SAJPEAVCContextMetaData@@AEAVCImplicationList@@AEAUQL_LEVEL_1_TOKEN@@PEAPEAVCEvalNode@@@Z
+; public: static long __cdecl CQueryAnalyser::CanPointToClass(struct IWbemClassObject * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class CContextMetaData * __ptr64)
+?CanPointToClass@CQueryAnalyser@@SAJPEAUIWbemClassObject@@PEBG1PEAVCContextMetaData@@@Z
+; public: void __cdecl CClassInfoArray::Clear(void) __ptr64
+?Clear@CClassInfoArray@@QEAAXXZ
+; public: bool __cdecl CEvalTree::Clear(void) __ptr64
+?Clear@CEvalTree@@QEAA_NXZ
+; public: void __cdecl CObjectInfo::Clear(void) __ptr64
+?Clear@CObjectInfo@@QEAAXXZ
+; public: void __cdecl CReuseMemoryManager::Clear(void) __ptr64
+?Clear@CReuseMemoryManager@@QEAAXXZ
+; public: void __cdecl CStandardMetaData::Clear(void) __ptr64
+?Clear@CStandardMetaData@@QEAAXXZ
+; public: void __cdecl CTempMemoryManager::Clear(void) __ptr64
+?Clear@CTempMemoryManager@@QEAAXXZ
+; public: static class CEvalNode * __ptr64 __cdecl CEvalNode::CloneNode(class CEvalNode const * __ptr64)
+?CloneNode@CEvalNode@@SAPEAV1@PEBV1@@Z
+; public: static long __cdecl CEvalTree::Combine(class CEvalNode * __ptr64,class CEvalNode * __ptr64,int,class CContextMetaData * __ptr64,class CImplicationList & __ptr64,bool,bool,class CEvalNode * __ptr64 * __ptr64)
+?Combine@CEvalTree@@SAJPEAVCEvalNode@@0HPEAVCContextMetaData@@AEAVCImplicationList@@_N3PEAPEAV2@@Z
+; protected: static long __cdecl CEvalTree::CombineLeafWithBranch(class CValueNode * __ptr64,class CBranchingNode * __ptr64,int,class CContextMetaData * __ptr64,class CImplicationList & __ptr64,bool,bool,class CEvalNode * __ptr64 * __ptr64)
+?CombineLeafWithBranch@CEvalTree@@KAJPEAVCValueNode@@PEAVCBranchingNode@@HPEAVCContextMetaData@@AEAVCImplicationList@@_N4PEAPEAVCEvalNode@@@Z
+; public: long __cdecl CEvalTree::CombineWith(class CEvalTree & __ptr64,class CContextMetaData * __ptr64,int,long) __ptr64
+?CombineWith@CEvalTree@@QEAAJAEAV1@PEAVCContextMetaData@@HJ@Z
+; public: static int __cdecl CEvalTree::Compare(class CEvalNode * __ptr64,class CEvalNode * __ptr64)
+?Compare@CEvalTree@@SAHPEAVCEvalNode@@0@Z
+; public: int __cdecl CSortedArray::Compare(class CSortedArray & __ptr64) __ptr64
+?Compare@CSortedArray@@QEAAHAEAV1@@Z
+; public: static int __cdecl CQueryAnalyser::CompareRequestedToProvided(class CClassInfoArray & __ptr64,class CClassInfoArray & __ptr64)
+?CompareRequestedToProvided@CQueryAnalyser@@SAHAEAVCClassInfoArray@@0@Z
+; public: int __cdecl CSortedArray::CopyDataFrom(class CSortedArray const & __ptr64) __ptr64
+?CopyDataFrom@CSortedArray@@QEAAHAEBV1@@Z
+; public: int __cdecl CSortedArray::CopyDataFrom(unsigned __int64 const * __ptr64,unsigned int) __ptr64
+?CopyDataFrom@CSortedArray@@QEAAHPEB_KI@Z
+; public: unsigned int __cdecl CSortedArray::CopyTo(unsigned __int64 * __ptr64,unsigned int) __ptr64
+?CopyTo@CSortedArray@@QEAAIPEA_KI@Z
+; public: static long __cdecl CEvalTree::CreateFromConjunction(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,class CConjunction * __ptr64,class CEvalNode * __ptr64 * __ptr64)
+?CreateFromConjunction@CEvalTree@@SAJPEAVCContextMetaData@@AEAVCImplicationList@@PEAVCConjunction@@PEAPEAVCEvalNode@@@Z
+; public: long __cdecl CEvalTree::CreateFromDNF(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,class CDNFExpression * __ptr64,class CEvalNode * __ptr64 * __ptr64) __ptr64
+?CreateFromDNF@CEvalTree@@QEAAJPEAVCContextMetaData@@AEAVCImplicationList@@PEAVCDNFExpression@@PEAPEAVCEvalNode@@@Z
+; public: long __cdecl CEvalTree::CreateFromQuery(class CContextMetaData * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,long,long) __ptr64
+?CreateFromQuery@CEvalTree@@QEAAJPEAVCContextMetaData@@PEAUQL_LEVEL_1_RPN_EXPRESSION@@JJ@Z
+; public: long __cdecl CEvalTree::CreateFromQuery(class CContextMetaData * __ptr64,unsigned short const * __ptr64,int,struct QL_LEVEL_1_TOKEN * __ptr64,long,long) __ptr64
+?CreateFromQuery@CEvalTree@@QEAAJPEAVCContextMetaData@@PEBGHPEAUQL_LEVEL_1_TOKEN@@JJ@Z
+; public: long __cdecl CEvalTree::CreateFromQuery(class CContextMetaData * __ptr64,unsigned short const * __ptr64,long,long) __ptr64
+?CreateFromQuery@CEvalTree@@QEAAJPEAVCContextMetaData@@PEBGJJ@Z
+; public: long __cdecl CEvalTree::CreateProjection(class CEvalTree & __ptr64,class CContextMetaData * __ptr64,class CProjectionFilter * __ptr64,enum EProjectionType,bool) __ptr64
+?CreateProjection@CEvalTree@@QEAAJAEAV1@PEAVCContextMetaData@@PEAVCProjectionFilter@@W4EProjectionType@@_N@Z
+; public: bool __cdecl CTimeKeeper::DecorateObject(struct _IWmiObject * __ptr64) __ptr64
+?DecorateObject@CTimeKeeper@@QEAA_NPEAU_IWmiObject@@@Z
+; public: void __cdecl CSortedArray::Empty(void) __ptr64
+?Empty@CSortedArray@@QEAAXXZ
+; public: long __cdecl CEvalTree::Evaluate(struct IWbemObjectAccess * __ptr64,class CSortedArray & __ptr64) __ptr64
+?Evaluate@CEvalTree@@QEAAJPEAUIWbemObjectAccess@@AEAVCSortedArray@@@Z
+; public: static long __cdecl CEvalTree::Evaluate(class CObjectInfo & __ptr64,class CEvalNode * __ptr64,class CSortedArray & __ptr64)
+?Evaluate@CEvalTree@@SAJAEAVCObjectInfo@@PEAVCEvalNode@@AEAVCSortedArray@@@Z
+; public: unsigned int __cdecl CSortedArray::Find(unsigned __int64) __ptr64
+?Find@CSortedArray@@QEAAI_K@Z
+; public: void __cdecl CReuseMemoryManager::Free(void * __ptr64) __ptr64
+?Free@CReuseMemoryManager@@QEAAXPEAX@Z
+; public: void __cdecl CTempMemoryManager::Free(void * __ptr64,unsigned __int64) __ptr64
+?Free@CTempMemoryManager@@QEAAXPEAX_K@Z
+; long __cdecl GetAccessMask(void * __ptr64,struct _ACL * __ptr64,unsigned long * __ptr64)
+?GetAccessMask@@YAJPEAXPEAU_ACL@@PEAK@Z
+; public: unsigned __int64 * __ptr64 __cdecl CSortedArray::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CSortedArray@@QEAAPEA_KXZ
+; public: unsigned __int64 __cdecl CSortedArray::GetAt(int) __ptr64
+?GetAt@CSortedArray@@QEAA_KH@Z
+; public: struct CClassInformation * __ptr64 __cdecl CClassInfoArray::GetClass(int) __ptr64
+?GetClass@CClassInfoArray@@QEAAPEAUCClassInformation@@H@Z
+; public: long __cdecl CContextMetaData::GetClass(unsigned short const * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?GetClass@CContextMetaData@@QEAAJPEBGPEAPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CMetaData::GetClass(unsigned short const * __ptr64,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?GetClass@CMetaData@@UEAAJPEBGPEAUIWbemContext@@PEAPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CStandardMetaData::GetClass(unsigned short const * __ptr64,struct IWbemContext * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?GetClass@CStandardMetaData@@UEAAJPEBGPEAUIWbemContext@@PEAPEAU_IWmiObject@@@Z
+; public: static long __cdecl CQueryAnalyser::GetDefiniteInstanceClasses(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,class CClassInfoArray * __ptr64 & __ptr64)
+?GetDefiniteInstanceClasses@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAPEAVCClassInfoArray@@@Z
+; protected: static long __cdecl CQueryAnalyser::GetInstanceClasses(struct QL_LEVEL_1_TOKEN & __ptr64,class CClassInfoArray & __ptr64)
+?GetInstanceClasses@CQueryAnalyser@@KAJAEAUQL_LEVEL_1_TOKEN@@AEAVCClassInfoArray@@@Z
+; public: long __cdecl CObjectInfo::GetLength(void) __ptr64
+?GetLength@CObjectInfo@@QEAAJXZ
+; public: static long __cdecl CQueryAnalyser::GetLimitingQueryForInstanceClass(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct CClassInformation & __ptr64,unsigned short * __ptr64 & __ptr64)
+?GetLimitingQueryForInstanceClass@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAUCClassInformation@@AEAPEAG@Z
+; public: static long __cdecl CQueryAnalyser::GetNecessaryQueryForClass(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct IWbemClassObject * __ptr64,class CWStringArray & __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64 & __ptr64)
+?GetNecessaryQueryForClass@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@PEAUIWbemClassObject@@AEAVCWStringArray@@AEAPEAU2@@Z
+; public: static long __cdecl CQueryAnalyser::GetNecessaryQueryForProperty(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,class CPropertyName & __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64 & __ptr64)
+?GetNecessaryQueryForProperty@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAVCPropertyName@@AEAPEAU2@@Z
+; public: int __cdecl CClassInfoArray::GetNumClasses(void) __ptr64
+?GetNumClasses@CClassInfoArray@@QEAAHXZ
+; public: struct _IWmiObject * __ptr64 __cdecl CObjectInfo::GetObjectAt(long) __ptr64
+?GetObjectAt@CObjectInfo@@QEAAPEAU_IWmiObject@@J@Z
+; public: static long __cdecl CQueryAnalyser::GetPossibleInstanceClasses(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,class CClassInfoArray * __ptr64 & __ptr64)
+?GetPossibleInstanceClasses@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAPEAVCClassInfoArray@@@Z
+; protected: static long __cdecl CQueryAnalyser::GetPropertiesThatMustDiffer(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct CClassInformation & __ptr64,class CWStringArray & __ptr64)
+?GetPropertiesThatMustDiffer@CQueryAnalyser@@KAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@AEAUCClassInformation@@AEAVCWStringArray@@@Z
+; public: static int __cdecl CEvalNode::GetType(class CEvalNode * __ptr64)
+?GetType@CEvalNode@@SAHPEAV1@@Z
+; protected: static long __cdecl CEvalTree::InnerCombine(class CEvalNode * __ptr64,class CEvalNode * __ptr64,int,class CContextMetaData * __ptr64,class CImplicationList & __ptr64,bool,bool,class CEvalNode * __ptr64 * __ptr64)
+?InnerCombine@CEvalTree@@KAJPEAVCEvalNode@@0HPEAVCContextMetaData@@AEAVCImplicationList@@_N3PEAPEAV2@@Z
+; public: void __cdecl CSortedArray::Insert(unsigned __int64) __ptr64
+?Insert@CSortedArray@@QEAAX_K@Z
+; public: static bool __cdecl CEvalNode::IsAllFalse(class CEvalNode * __ptr64)
+?IsAllFalse@CEvalNode@@SA_NPEAV1@@Z
+; public: virtual bool __cdecl CEvalNode::IsAllFalse(void) __ptr64
+?IsAllFalse@CEvalNode@@UEAA_NXZ
+; public: bool __cdecl CEvalTree::IsFalse(void) __ptr64
+?IsFalse@CEvalTree@@QEAA_NXZ
+; public: virtual bool __cdecl CPropertyProjectionFilter::IsInSet(class CEvalNode * __ptr64) __ptr64
+?IsInSet@CPropertyProjectionFilter@@UEAA_NPEAVCEvalNode@@@Z
+; public: static bool __cdecl CEvalNode::IsInvalid(class CEvalNode * __ptr64)
+?IsInvalid@CEvalNode@@SA_NPEAV1@@Z
+; public: virtual bool __cdecl CEvalNode::IsInvalid(void) __ptr64
+?IsInvalid@CEvalNode@@UEAA_NXZ
+; public: int __cdecl CClassInfoArray::IsLimited(void) __ptr64
+?IsLimited@CClassInfoArray@@QEAAHXZ
+; public: static long __cdecl CEvalTree::IsMergeAdvisable(class CEvalNode * __ptr64,class CEvalNode * __ptr64,class CImplicationList & __ptr64)
+?IsMergeAdvisable@CEvalTree@@SAJPEAVCEvalNode@@0AEAVCImplicationList@@@Z
+; public: static bool __cdecl CEvalNode::IsNoop(class CEvalNode * __ptr64,int)
+?IsNoop@CEvalNode@@SA_NPEAV1@H@Z
+; public: virtual bool __cdecl CEvalNode::IsNoop(int) __ptr64
+?IsNoop@CEvalNode@@UEAA_NH@Z
+; protected: static int __cdecl CQueryAnalyser::IsPropertyInClass(class CPropertyName & __ptr64,struct IWbemClassObject * __ptr64,class CWStringArray & __ptr64)
+?IsPropertyInClass@CQueryAnalyser@@KAHAEAVCPropertyName@@PEAUIWbemClassObject@@AEAVCWStringArray@@@Z
+; protected: static int __cdecl CQueryAnalyser::IsTokenAboutClass(struct QL_LEVEL_1_TOKEN & __ptr64,struct IWbemClassObject * __ptr64,class CWStringArray & __ptr64)
+?IsTokenAboutClass@CQueryAnalyser@@KAHAEAUQL_LEVEL_1_TOKEN@@PEAUIWbemClassObject@@AEAVCWStringArray@@@Z
+; protected: static int __cdecl CQueryAnalyser::IsTokenAboutProperty(struct QL_LEVEL_1_TOKEN & __ptr64,class CPropertyName & __ptr64)
+?IsTokenAboutProperty@CQueryAnalyser@@KAHAEAUQL_LEVEL_1_TOKEN@@AEAVCPropertyName@@@Z
+; long __cdecl IsUserAdministrator(void * __ptr64)
+?IsUserAdministrator@@YAJPEAX@Z
+; long __cdecl IsUserInGroup(void * __ptr64,void * __ptr64)
+?IsUserInGroup@@YAJPEAX0@Z
+; public: bool __cdecl CEvalTree::IsValid(void) __ptr64
+?IsValid@CEvalTree@@QEAA_NXZ
+; protected: static long __cdecl CQueryAnalyser::NegateDefiniteClassArray(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
+?NegateDefiniteClassArray@CQueryAnalyser@@KAJPEAVCClassInfoArray@@0@Z
+; protected: static long __cdecl CQueryAnalyser::NegatePossibleClassArray(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
+?NegatePossibleClassArray@CQueryAnalyser@@KAJPEAVCClassInfoArray@@0@Z
+; protected: static long __cdecl CQueryAnalyser::NegateQueryExpression(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64)
+?NegateQueryExpression@CQueryAnalyser@@KAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@0@Z
+; public: virtual long __cdecl CEvalNode::Optimize(class CContextMetaData * __ptr64,class CEvalNode * __ptr64 * __ptr64) __ptr64
+?Optimize@CEvalNode@@UEAAJPEAVCContextMetaData@@PEAPEAV1@@Z
+; public: long __cdecl CEvalTree::Optimize(class CContextMetaData * __ptr64) __ptr64
+?Optimize@CEvalTree@@QEAAJPEAVCContextMetaData@@@Z
+; protected: static long __cdecl CQueryAnalyser::OrDefiniteClassArrays(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
+?OrDefiniteClassArrays@CQueryAnalyser@@KAJPEAVCClassInfoArray@@00@Z
+; protected: static long __cdecl CQueryAnalyser::OrPossibleClassArrays(class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64,class CClassInfoArray * __ptr64)
+?OrPossibleClassArrays@CQueryAnalyser@@KAJPEAVCClassInfoArray@@00@Z
+; protected: static long __cdecl CQueryAnalyser::OrQueryExpressions(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64)
+?OrQueryExpressions@CQueryAnalyser@@KAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@00@Z
+; public: static void __cdecl CEvalNode::PrintOffset(struct _iobuf * __ptr64,int)
+?PrintOffset@CEvalNode@@SAXPEAU_iobuf@@H@Z
+; public: static long __cdecl CEvalTree::Project(class CContextMetaData * __ptr64,class CImplicationList & __ptr64,class CEvalNode * __ptr64,class CProjectionFilter * __ptr64,enum EProjectionType,bool,class CEvalNode * __ptr64 * __ptr64)
+?Project@CEvalTree@@SAJPEAVCContextMetaData@@AEAVCImplicationList@@PEAVCEvalNode@@PEAVCProjectionFilter@@W4EProjectionType@@_NPEAPEAV4@@Z
+; public: virtual long __cdecl CMetaData::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CMetaData@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: void __cdecl CEvalTree::Rebase(unsigned __int64) __ptr64
+?Rebase@CEvalTree@@QEAAX_K@Z
+; public: void __cdecl CSortedArray::Rebase(unsigned __int64) __ptr64
+?Rebase@CSortedArray@@QEAAX_K@Z
+; public: virtual unsigned long __cdecl CMetaData::Release(void) __ptr64
+?Release@CMetaData@@UEAAKXZ
+; public: bool __cdecl CSortedArray::Remove(unsigned __int64) __ptr64
+?Remove@CSortedArray@@QEAA_N_K@Z
+; public: void __cdecl CClassInfoArray::RemoveClass(int) __ptr64
+?RemoveClass@CClassInfoArray@@QEAAXH@Z
+; public: long __cdecl CEvalTree::RemoveIndex(int) __ptr64
+?RemoveIndex@CEvalTree@@QEAAJH@Z
+; protected: unsigned __int64 __cdecl CTempMemoryManager::RoundUp(unsigned __int64) __ptr64
+?RoundUp@CTempMemoryManager@@IEAA_K_K@Z
+; public: bool __cdecl CEvalTree::SetBool(int) __ptr64
+?SetBool@CEvalTree@@QEAA_NH@Z
+; public: bool __cdecl CObjectInfo::SetLength(long) __ptr64
+?SetLength@CObjectInfo@@QEAA_NJ@Z
+; public: void __cdecl CClassInfoArray::SetLimited(int) __ptr64
+?SetLimited@CClassInfoArray@@QEAAXH@Z
+; public: void __cdecl CObjectInfo::SetObjectAt(long,struct _IWmiObject * __ptr64) __ptr64
+?SetObjectAt@CObjectInfo@@QEAAXJPEAU_IWmiObject@@@Z
+; public: bool __cdecl CClassInfoArray::SetOne(unsigned short const * __ptr64,int) __ptr64
+?SetOne@CClassInfoArray@@QEAA_NPEBGH@Z
+; public: void __cdecl CSortedArray::SetSize(int) __ptr64
+?SetSize@CSortedArray@@QEAAXH@Z
+; public: static long __cdecl CQueryAnalyser::SimplifyQueryForChild(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,unsigned short const * __ptr64,struct IWbemClassObject * __ptr64,class CContextMetaData * __ptr64,struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64 & __ptr64)
+?SimplifyQueryForChild@CQueryAnalyser@@SAJPEAUQL_LEVEL_1_RPN_EXPRESSION@@PEBGPEAUIWbemClassObject@@PEAVCContextMetaData@@AEAPEAU2@@Z
+; protected: static int __cdecl CQueryAnalyser::SimplifyTokenForChild(struct QL_LEVEL_1_TOKEN & __ptr64,unsigned short const * __ptr64,struct IWbemClassObject * __ptr64,class CContextMetaData * __ptr64)
+?SimplifyTokenForChild@CQueryAnalyser@@KAHAEAUQL_LEVEL_1_TOKEN@@PEBGPEAUIWbemClassObject@@PEAVCContextMetaData@@@Z
+; public: int __cdecl CSortedArray::Size(void)const  __ptr64
+?Size@CSortedArray@@QEBAHXZ
+; public: unsigned __int64 * __ptr64 __cdecl CSortedArray::UnbindPtr(void) __ptr64
+?UnbindPtr@CSortedArray@@QEAAPEA_KXZ
+; public: long __cdecl CEvalTree::UtilizeGuarantee(class CEvalTree & __ptr64,class CContextMetaData * __ptr64) __ptr64
+?UtilizeGuarantee@CEvalTree@@QEAAJAEAV1@PEAVCContextMetaData@@@Z
+; protected: static int __cdecl CQueryAnalyser::ValidateSQLDateTime(unsigned short const * __ptr64)
+?ValidateSQLDateTime@CQueryAnalyser@@KAHPEBG@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/eventcls.def b/mingw-w64-crt/lib64/eventcls.def
index 951d370..5894ec6 100644
--- a/mingw-w64-crt/lib64/eventcls.def
+++ b/mingw-w64-crt/lib64/eventcls.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file EventCls.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY EventCls.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file EventCls.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY EventCls.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/eventlog.def b/mingw-w64-crt/lib64/eventlog.def
index 2e9c457..5a9ed0b 100644
--- a/mingw-w64-crt/lib64/eventlog.def
+++ b/mingw-w64-crt/lib64/eventlog.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file eventlog.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY eventlog.dll
-EXPORTS
-SvcEntry_Eventlog
+; 
+; Exports of file eventlog.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY eventlog.dll
+EXPORTS
+SvcEntry_Eventlog
diff --git a/mingw-w64-crt/lib64/evntagnt.def b/mingw-w64-crt/lib64/evntagnt.def
index d6bdd71..70ab436 100644
--- a/mingw-w64-crt/lib64/evntagnt.def
+++ b/mingw-w64-crt/lib64/evntagnt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file snmpelea.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY snmpelea.dll
-EXPORTS
-SnmpExtensionClose
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file snmpelea.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY snmpelea.dll
+EXPORTS
+SnmpExtensionClose
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/evntrprv.def b/mingw-w64-crt/lib64/evntrprv.def
index 48d2ca6..582b741 100644
--- a/mingw-w64-crt/lib64/evntrprv.def
+++ b/mingw-w64-crt/lib64/evntrprv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file evntrprv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY evntrprv.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file evntrprv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY evntrprv.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/evtgprov.def b/mingw-w64-crt/lib64/evtgprov.def
index c7b1410..9b9d552 100644
--- a/mingw-w64-crt/lib64/evtgprov.def
+++ b/mingw-w64-crt/lib64/evtgprov.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file EvTgProv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY EvTgProv.dll
-EXPORTS
-; unsigned long  m_dwNextTriggerID
-?m_dwNextTriggerID@@3KA DATA
-; unsigned long  m_dwTotalTriggers
-?m_dwTotalTriggers@@3KA DATA
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file EvTgProv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY EvTgProv.dll
+EXPORTS
+; unsigned long  m_dwNextTriggerID
+?m_dwNextTriggerID@@3KA DATA
+; unsigned long  m_dwTotalTriggers
+?m_dwTotalTriggers@@3KA DATA
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/exstrace.def b/mingw-w64-crt/lib64/exstrace.def
index 84324b7..fddf39f 100644
--- a/mingw-w64-crt/lib64/exstrace.def
+++ b/mingw-w64-crt/lib64/exstrace.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file exstrace.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY exstrace.dll
-EXPORTS
-AsyncBinaryTrace
-AsyncStringTrace
-DebugAssert
-DllMain
-FlushAsyncTrace
-InitAsyncTrace
-SetAsyncTraceParams
-SetAsyncTraceParamsEx
-TermAsyncTrace
-__dwEnabledTraces DATA
-g_TestTrace
-g_TestTraceDisable
-g_TestTraceEnable
+; 
+; Exports of file exstrace.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY exstrace.dll
+EXPORTS
+AsyncBinaryTrace
+AsyncStringTrace
+DebugAssert
+DllMain
+FlushAsyncTrace
+InitAsyncTrace
+SetAsyncTraceParams
+SetAsyncTraceParamsEx
+TermAsyncTrace
+__dwEnabledTraces DATA
+g_TestTrace
+g_TestTraceDisable
+g_TestTraceEnable
diff --git a/mingw-w64-crt/lib64/extmgr.def b/mingw-w64-crt/lib64/extmgr.def
index c986b91..f2d0cf6 100644
--- a/mingw-w64-crt/lib64/extmgr.def
+++ b/mingw-w64-crt/lib64/extmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file extmgr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY extmgr.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file extmgr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY extmgr.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/f3ahvoas.def b/mingw-w64-crt/lib64/f3ahvoas.def
index 2ab6f55..e918df6 100644
--- a/mingw-w64-crt/lib64/f3ahvoas.def
+++ b/mingw-w64-crt/lib64/f3ahvoas.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file F3AHVOAS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY F3AHVOAS.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
-FujitsuOyayubiControl
+; 
+; Exports of file F3AHVOAS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY F3AHVOAS.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
+FujitsuOyayubiControl
diff --git a/mingw-w64-crt/lib64/fastprox.def b/mingw-w64-crt/lib64/fastprox.def
index 36fb6c4..75b7eb9 100644
--- a/mingw-w64-crt/lib64/fastprox.def
+++ b/mingw-w64-crt/lib64/fastprox.def
@@ -1,3113 +1,3113 @@
-; 
-; Exports of file FastProx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FastProx.dll
-EXPORTS
-; public: __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> const & __ptr64) __ptr64
-??0?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QEAA@AEBV0@@Z
-; public: __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(class CWmiObjectTextSrc * __ptr64) __ptr64
-??0?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QEAA@PEAVCWmiObjectTextSrc@@@Z
-; public: __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> const & __ptr64) __ptr64
-??0?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QEAA@AEBV0@@Z
-; public: __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(class CWbemRefreshingSvc * __ptr64) __ptr64
-??0?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QEAA@PEAVCWbemRefreshingSvc@@@Z
-; public: __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> const & __ptr64) __ptr64
-??0?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QEAA@AEBV0@@Z
-; public: __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(class CWbemRemoteRefresher * __ptr64) __ptr64
-??0?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QEAA@PEAVCWbemRemoteRefresher@@@Z
-; public: __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> const & __ptr64) __ptr64
-??0?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QEAA@AEBV0@@Z
-; public: __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(class CWbemRefreshingSvc * __ptr64) __ptr64
-??0?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QEAA@PEAVCWbemRefreshingSvc@@@Z
-; public: __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> const & __ptr64) __ptr64
-??0?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QEAA@AEBV0@@Z
-; public: __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(class CWbemEnumMarshaling * __ptr64) __ptr64
-??0?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QEAA@PEAVCWbemEnumMarshaling@@@Z
-; public: __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> const & __ptr64) __ptr64
-??0?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QEAA@AEBV0@@Z
-; public: __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(class CWbemFetchRefrMgr * __ptr64) __ptr64
-??0?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QEAA@PEAVCWbemFetchRefrMgr@@@Z
-; public: __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> const & __ptr64) __ptr64
-??0?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QEAA@AEBV0@@Z
-; public: __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(class CWmiObjectFactory * __ptr64) __ptr64
-??0?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QEAA@PEAVCWmiObjectFactory@@@Z
-; public: __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> & __ptr64) __ptr64
-??0?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA@AEAV0@@Z
-; public: __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(class CReferenceManager<class CFastPropertyBagItem> const & __ptr64) __ptr64
-??0?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA@AEBV?$CReferenceManager@VCFastPropertyBagItem@@@@@Z
-; public: __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> & __ptr64) __ptr64
-??0?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA@AEAV0@@Z
-; public: __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(class CReferenceManager<class CWmiTextSource> const & __ptr64) __ptr64
-??0?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA@AEBV?$CReferenceManager@VCWmiTextSource@@@@@Z
-; public: __cdecl CRefedPointerArray<class CFastPropertyBagItem>::CRefedPointerArray<class CFastPropertyBagItem>(class CRefedPointerArray<class CFastPropertyBagItem> & __ptr64) __ptr64
-??0?$CRefedPointerArray@VCFastPropertyBagItem@@@@QEAA@AEAV0@@Z
-; public: __cdecl CRefedPointerArray<class CFastPropertyBagItem>::CRefedPointerArray<class CFastPropertyBagItem>(void) __ptr64
-??0?$CRefedPointerArray@VCFastPropertyBagItem@@@@QEAA@XZ
-; public: __cdecl CRefedPointerArray<class CWmiTextSource>::CRefedPointerArray<class CWmiTextSource>(class CRefedPointerArray<class CWmiTextSource> & __ptr64) __ptr64
-??0?$CRefedPointerArray@VCWmiTextSource@@@@QEAA@AEAV0@@Z
-; public: __cdecl CRefedPointerArray<class CWmiTextSource>::CRefedPointerArray<class CWmiTextSource>(void) __ptr64
-??0?$CRefedPointerArray@VCWmiTextSource@@@@QEAA@XZ
-; public: __cdecl CBasicQualifierSet::CBasicQualifierSet(void) __ptr64
-??0CBasicQualifierSet@@QEAA@XZ
-; public: __cdecl CClassAndMethods::CClassAndMethods(class CClassAndMethods const & __ptr64) __ptr64
-??0CClassAndMethods@@QEAA@AEBV0@@Z
-; public: __cdecl CClassAndMethods::CClassAndMethods(void) __ptr64
-??0CClassAndMethods@@QEAA@XZ
-; public: __cdecl CClassPart::CClassPart(class CClassPart const & __ptr64) __ptr64
-??0CClassPart@@QEAA@AEBV0@@Z
-; public: __cdecl CClassPart::CClassPart(void) __ptr64
-??0CClassPart@@QEAA@XZ
-; public: __cdecl CClassPartContainer::CClassPartContainer(class CClassPartContainer const & __ptr64) __ptr64
-??0CClassPartContainer@@QEAA@AEBV0@@Z
-; public: __cdecl CClassPartContainer::CClassPartContainer(void) __ptr64
-??0CClassPartContainer@@QEAA@XZ
-; public: __cdecl CClassQualifierSet::CClassQualifierSet(class CClassQualifierSet const & __ptr64) __ptr64
-??0CClassQualifierSet@@QEAA@AEBV0@@Z
-; public: __cdecl CClassQualifierSet::CClassQualifierSet(int) __ptr64
-??0CClassQualifierSet@@QEAA@H@Z
-; public: __cdecl CDecorationPart::CDecorationPart(void) __ptr64
-??0CDecorationPart@@QEAA@XZ
-; public: __cdecl CFastPropertyBag::CFastPropertyBag(class CFastPropertyBag & __ptr64) __ptr64
-??0CFastPropertyBag@@QEAA@AEAV0@@Z
-; public: __cdecl CFastPropertyBag::CFastPropertyBag(void) __ptr64
-??0CFastPropertyBag@@QEAA@XZ
-; public: __cdecl CFixedBSTRArray::CFixedBSTRArray(void) __ptr64
-??0CFixedBSTRArray@@QEAA@XZ
-; public: __cdecl CHiPerfLock::CHiPerfLock(void) __ptr64
-??0CHiPerfLock@@QEAA@XZ
-; public: __cdecl CInstancePQSContainer::CInstancePQSContainer(class CInstancePQSContainer const & __ptr64) __ptr64
-??0CInstancePQSContainer@@QEAA@AEBV0@@Z
-; public: __cdecl CInstancePQSContainer::CInstancePQSContainer(void) __ptr64
-??0CInstancePQSContainer@@QEAA@XZ
-; public: __cdecl CInstancePart::CInstancePart(class CInstancePart const & __ptr64) __ptr64
-??0CInstancePart@@QEAA@AEBV0@@Z
-; public: __cdecl CInstancePart::CInstancePart(void) __ptr64
-??0CInstancePart@@QEAA@XZ
-; public: __cdecl CInstancePartContainer::CInstancePartContainer(class CInstancePartContainer const & __ptr64) __ptr64
-??0CInstancePartContainer@@QEAA@AEBV0@@Z
-; public: __cdecl CInstancePartContainer::CInstancePartContainer(void) __ptr64
-??0CInstancePartContainer@@QEAA@XZ
-; public: __cdecl CInstanceQualifierSet::CInstanceQualifierSet(class CInstanceQualifierSet const & __ptr64) __ptr64
-??0CInstanceQualifierSet@@QEAA@AEBV0@@Z
-; public: __cdecl CInstanceQualifierSet::CInstanceQualifierSet(int) __ptr64
-??0CInstanceQualifierSet@@QEAA@H@Z
-; public: __cdecl CInternalString::CInternalString(class CInternalString const & __ptr64) __ptr64
-??0CInternalString@@QEAA@AEBV0@@Z
-; public: __cdecl CInternalString::CInternalString(unsigned short const * __ptr64) __ptr64
-??0CInternalString@@QEAA@PEBG@Z
-; public: __cdecl CInternalString::CInternalString(void) __ptr64
-??0CInternalString@@QEAA@XZ
-; public: __cdecl CLimitationMapping::CLimitationMapping(class CLimitationMapping & __ptr64) __ptr64
-??0CLimitationMapping@@QEAA@AEAV0@@Z
-; public: __cdecl CLimitationMapping::CLimitationMapping(void) __ptr64
-??0CLimitationMapping@@QEAA@XZ
-; public: __cdecl CMethodPart::CMethodPart(class CMethodPart const & __ptr64) __ptr64
-??0CMethodPart@@QEAA@AEBV0@@Z
-; public: __cdecl CMethodPart::CMethodPart(void) __ptr64
-??0CMethodPart@@QEAA@XZ
-; public: __cdecl CMethodPartContainer::CMethodPartContainer(class CMethodPartContainer const & __ptr64) __ptr64
-??0CMethodPartContainer@@QEAA@AEBV0@@Z
-; public: __cdecl CMethodPartContainer::CMethodPartContainer(void) __ptr64
-??0CMethodPartContainer@@QEAA@XZ
-; public: __cdecl CMethodQualifierSet::CMethodQualifierSet(class CMethodQualifierSet const & __ptr64) __ptr64
-??0CMethodQualifierSet@@QEAA@AEBV0@@Z
-; public: __cdecl CMethodQualifierSet::CMethodQualifierSet(void) __ptr64
-??0CMethodQualifierSet@@QEAA@XZ
-; public: __cdecl CMethodQualifierSetContainer::CMethodQualifierSetContainer(class CMethodQualifierSetContainer const & __ptr64) __ptr64
-??0CMethodQualifierSetContainer@@QEAA@AEBV0@@Z
-; public: __cdecl CMethodQualifierSetContainer::CMethodQualifierSetContainer(void) __ptr64
-??0CMethodQualifierSetContainer@@QEAA@XZ
-; public: __cdecl CPropertyBagItemArray::CPropertyBagItemArray(class CPropertyBagItemArray & __ptr64) __ptr64
-??0CPropertyBagItemArray@@QEAA@AEAV0@@Z
-; public: __cdecl CPropertyBagItemArray::CPropertyBagItemArray(void) __ptr64
-??0CPropertyBagItemArray@@QEAA@XZ
-; public: __cdecl CQualifierSet::CQualifierSet(class CQualifierSet const & __ptr64) __ptr64
-??0CQualifierSet@@QEAA@AEBV0@@Z
-; public: __cdecl CQualifierSet::CQualifierSet(int,int) __ptr64
-??0CQualifierSet@@QEAA@HH@Z
-; public: __cdecl CQualifierSetListContainer::CQualifierSetListContainer(class CQualifierSetListContainer const & __ptr64) __ptr64
-??0CQualifierSetListContainer@@QEAA@AEBV0@@Z
-; public: __cdecl CQualifierSetListContainer::CQualifierSetListContainer(void) __ptr64
-??0CQualifierSetListContainer@@QEAA@XZ
-; public: __cdecl CType::CType(unsigned long) __ptr64
-??0CType@@QEAA@K@Z
-; public: __cdecl CType::CType(void) __ptr64
-??0CType@@QEAA@XZ
-; public: __cdecl CWbemCallSecurity::CWbemCallSecurity(class CWbemCallSecurity const & __ptr64) __ptr64
-??0CWbemCallSecurity@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemCallSecurity::CWbemCallSecurity(class CLifeControl * __ptr64) __ptr64
-??0CWbemCallSecurity@@QEAA@PEAVCLifeControl@@@Z
-; public: __cdecl CWbemClass::CWbemClass(class CWbemClass const & __ptr64) __ptr64
-??0CWbemClass@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemClass::CWbemClass(void) __ptr64
-??0CWbemClass@@QEAA@XZ
-; public: __cdecl CWbemClassCache::CWbemClassCache(class CWbemClassCache const & __ptr64) __ptr64
-??0CWbemClassCache@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemClassCache::CWbemClassCache(unsigned long) __ptr64
-??0CWbemClassCache@@QEAA@K@Z
-; protected: __cdecl CWbemDataPacket::CWbemDataPacket(void) __ptr64
-??0CWbemDataPacket@@IEAA@XZ
-; public: __cdecl CWbemDataPacket::CWbemDataPacket(unsigned char * __ptr64,unsigned long,bool) __ptr64
-??0CWbemDataPacket@@QEAA@PEAEK_N@Z
-; public: __cdecl CWbemEnumMarshaling::CWbemEnumMarshaling(class CWbemEnumMarshaling const & __ptr64) __ptr64
-??0CWbemEnumMarshaling@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemEnumMarshaling::CWbemEnumMarshaling(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
-??0CWbemEnumMarshaling@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
-; public: __cdecl CWbemFetchRefrMgr::CWbemFetchRefrMgr(class CWbemFetchRefrMgr const & __ptr64) __ptr64
-??0CWbemFetchRefrMgr@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemFetchRefrMgr::CWbemFetchRefrMgr(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
-??0CWbemFetchRefrMgr@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
-; public: __cdecl CWbemGuidToClassMap::CWbemGuidToClassMap(class CWbemGuidToClassMap const & __ptr64) __ptr64
-??0CWbemGuidToClassMap@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemGuidToClassMap::CWbemGuidToClassMap(void) __ptr64
-??0CWbemGuidToClassMap@@QEAA@XZ
-; public: __cdecl CWbemInstance::CWbemInstance(class CWbemInstance const & __ptr64) __ptr64
-??0CWbemInstance@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemInstance::CWbemInstance(void) __ptr64
-??0CWbemInstance@@QEAA@XZ
-; private: __cdecl CWbemMtgtDeliverEventPacket::CWbemMtgtDeliverEventPacket(void) __ptr64
-??0CWbemMtgtDeliverEventPacket@@AEAA@XZ
-; public: __cdecl CWbemMtgtDeliverEventPacket::CWbemMtgtDeliverEventPacket(unsigned char * __ptr64,unsigned long,bool) __ptr64
-??0CWbemMtgtDeliverEventPacket@@QEAA@PEAEK_N@Z
-; protected: __cdecl CWbemObject::CWbemObject(class CDataTable & __ptr64,class CFastHeap & __ptr64,class CDerivationList & __ptr64) __ptr64
-??0CWbemObject@@IEAA@AEAVCDataTable@@AEAVCFastHeap@@AEAVCDerivationList@@@Z
-; public: __cdecl CWbemObject::CWbemObject(class CWbemObject const & __ptr64) __ptr64
-??0CWbemObject@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemObjectArrayPacket::CWbemObjectArrayPacket(unsigned char * __ptr64,unsigned long,bool) __ptr64
-??0CWbemObjectArrayPacket@@QEAA@PEAEK_N@Z
-; public: __cdecl CWbemRefreshingSvc::CWbemRefreshingSvc(class CWbemRefreshingSvc const & __ptr64) __ptr64
-??0CWbemRefreshingSvc@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemRefreshingSvc::CWbemRefreshingSvc(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
-??0CWbemRefreshingSvc@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
-; private: __cdecl CWbemSmartEnumNextPacket::CWbemSmartEnumNextPacket(void) __ptr64
-??0CWbemSmartEnumNextPacket@@AEAA@XZ
-; public: __cdecl CWbemSmartEnumNextPacket::CWbemSmartEnumNextPacket(unsigned char * __ptr64,unsigned long,bool) __ptr64
-??0CWbemSmartEnumNextPacket@@QEAA@PEAEK_N@Z
-; public: __cdecl CWbemThreadSecurityHandle::CWbemThreadSecurityHandle(class CWbemThreadSecurityHandle const & __ptr64) __ptr64
-??0CWbemThreadSecurityHandle@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemThreadSecurityHandle::CWbemThreadSecurityHandle(class CLifeControl * __ptr64) __ptr64
-??0CWbemThreadSecurityHandle@@QEAA@PEAVCLifeControl@@@Z
-; public: __cdecl CWmiObjectFactory::CWmiObjectFactory(class CWmiObjectFactory const & __ptr64) __ptr64
-??0CWmiObjectFactory@@QEAA@AEBV0@@Z
-; public: __cdecl CWmiObjectFactory::CWmiObjectFactory(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
-??0CWmiObjectFactory@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
-; public: __cdecl CWmiTextSourceArray::CWmiTextSourceArray(class CWmiTextSourceArray & __ptr64) __ptr64
-??0CWmiTextSourceArray@@QEAA@AEAV0@@Z
-; public: __cdecl CWmiTextSourceArray::CWmiTextSourceArray(void) __ptr64
-??0CWmiTextSourceArray@@QEAA@XZ
-; public: __cdecl SHARED_LOCK_DATA::SHARED_LOCK_DATA(void) __ptr64
-??0SHARED_LOCK_DATA@@QEAA@XZ
-; public: __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::XCfgRefrSrvc(class XCfgRefrSrvc::XCfgRefrSrvc const & __ptr64) __ptr64
-??0XCfgRefrSrvc@CWbemRefreshingSvc@@QEAA@AEBV01@@Z
-; public: __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::XCfgRefrSrvc(class XCfgRefrSrvc * __ptr64) __ptr64
-??0XCfgRefrSrvc@CWbemRefreshingSvc@@QEAA@PEAV1@@Z
-; public: __cdecl CWbemEnumMarshaling::XEnumMarshaling::XEnumMarshaling(class XEnumMarshaling::XEnumMarshaling const & __ptr64) __ptr64
-??0XEnumMarshaling@CWbemEnumMarshaling@@QEAA@AEBV01@@Z
-; public: __cdecl CWbemEnumMarshaling::XEnumMarshaling::XEnumMarshaling(class XEnumMarshaling * __ptr64) __ptr64
-??0XEnumMarshaling@CWbemEnumMarshaling@@QEAA@PEAV1@@Z
-; public: __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::XFetchRefrMgr(class XFetchRefrMgr::XFetchRefrMgr const & __ptr64) __ptr64
-??0XFetchRefrMgr@CWbemFetchRefrMgr@@QEAA@AEBV01@@Z
-; public: __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::XFetchRefrMgr(class XFetchRefrMgr * __ptr64) __ptr64
-??0XFetchRefrMgr@CWbemFetchRefrMgr@@QEAA@PEAV1@@Z
-; public: __cdecl CWmiObjectFactory::XObjectFactory::XObjectFactory(class XObjectFactory::XObjectFactory const & __ptr64) __ptr64
-??0XObjectFactory@CWmiObjectFactory@@QEAA@AEBV01@@Z
-; public: __cdecl CWmiObjectFactory::XObjectFactory::XObjectFactory(class XObjectFactory * __ptr64) __ptr64
-??0XObjectFactory@CWmiObjectFactory@@QEAA@PEAV1@@Z
-; public: __cdecl CWmiObjectTextSrc::XObjectTextSrc::XObjectTextSrc(class XObjectTextSrc::XObjectTextSrc const & __ptr64) __ptr64
-??0XObjectTextSrc@CWmiObjectTextSrc@@QEAA@AEBV01@@Z
-; public: __cdecl CWmiObjectTextSrc::XObjectTextSrc::XObjectTextSrc(class XObjectTextSrc * __ptr64) __ptr64
-??0XObjectTextSrc@CWmiObjectTextSrc@@QEAA@PEAV1@@Z
-; public: __cdecl CWbemRefreshingSvc::XWbemRefrSvc::XWbemRefrSvc(class XWbemRefrSvc::XWbemRefrSvc const & __ptr64) __ptr64
-??0XWbemRefrSvc@CWbemRefreshingSvc@@QEAA@AEBV01@@Z
-; public: __cdecl CWbemRefreshingSvc::XWbemRefrSvc::XWbemRefrSvc(class XWbemRefrSvc * __ptr64) __ptr64
-??0XWbemRefrSvc@CWbemRefreshingSvc@@QEAA@PEAV1@@Z
-; public: __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::XWbemRemoteRefr(class XWbemRemoteRefr::XWbemRemoteRefr const & __ptr64) __ptr64
-??0XWbemRemoteRefr@CWbemRemoteRefresher@@QEAA@AEBV01@@Z
-; public: __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::XWbemRemoteRefr(class XWbemRemoteRefr * __ptr64) __ptr64
-??0XWbemRemoteRefr@CWbemRemoteRefresher@@QEAA@PEAV1@@Z
-; public: __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::~CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(void) __ptr64
-??1?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QEAA@XZ
-; public: __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::~CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(void) __ptr64
-??1?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QEAA@XZ
-; public: __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::~CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(void) __ptr64
-??1?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QEAA@XZ
-; public: __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::~CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(void) __ptr64
-??1?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QEAA@XZ
-; public: __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::~CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(void) __ptr64
-??1?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QEAA@XZ
-; public: __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::~CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(void) __ptr64
-??1?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QEAA@XZ
-; public: __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::~CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(void) __ptr64
-??1?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QEAA@XZ
-; public: __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::~CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(void) __ptr64
-??1?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA@XZ
-; public: __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::~CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(void) __ptr64
-??1?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA@XZ
-; public: __cdecl CRefedPointerArray<class CFastPropertyBagItem>::~CRefedPointerArray<class CFastPropertyBagItem>(void) __ptr64
-??1?$CRefedPointerArray@VCFastPropertyBagItem@@@@QEAA@XZ
-; public: __cdecl CRefedPointerArray<class CWmiTextSource>::~CRefedPointerArray<class CWmiTextSource>(void) __ptr64
-??1?$CRefedPointerArray@VCWmiTextSource@@@@QEAA@XZ
-; public: __cdecl CBasicQualifierSet::~CBasicQualifierSet(void) __ptr64
-??1CBasicQualifierSet@@QEAA@XZ
-; public: __cdecl CClassAndMethods::~CClassAndMethods(void) __ptr64
-??1CClassAndMethods@@QEAA@XZ
-; public: __cdecl CClassPart::~CClassPart(void) __ptr64
-??1CClassPart@@QEAA@XZ
-; public: virtual __cdecl CClassQualifierSet::~CClassQualifierSet(void) __ptr64
-??1CClassQualifierSet@@UEAA@XZ
-; public: virtual __cdecl CFastPropertyBag::~CFastPropertyBag(void) __ptr64
-??1CFastPropertyBag@@UEAA@XZ
-; public: __cdecl CFixedBSTRArray::~CFixedBSTRArray(void) __ptr64
-??1CFixedBSTRArray@@QEAA@XZ
-; public: __cdecl CInstancePQSContainer::~CInstancePQSContainer(void) __ptr64
-??1CInstancePQSContainer@@QEAA@XZ
-; public: __cdecl CInstancePart::~CInstancePart(void) __ptr64
-??1CInstancePart@@QEAA@XZ
-; public: virtual __cdecl CInstanceQualifierSet::~CInstanceQualifierSet(void) __ptr64
-??1CInstanceQualifierSet@@UEAA@XZ
-; public: __cdecl CInternalString::~CInternalString(void) __ptr64
-??1CInternalString@@QEAA@XZ
-; public: __cdecl CLimitationMapping::~CLimitationMapping(void) __ptr64
-??1CLimitationMapping@@QEAA@XZ
-; public: virtual __cdecl CMethodQualifierSet::~CMethodQualifierSet(void) __ptr64
-??1CMethodQualifierSet@@UEAA@XZ
-; public: __cdecl CMethodQualifierSetContainer::~CMethodQualifierSetContainer(void) __ptr64
-??1CMethodQualifierSetContainer@@QEAA@XZ
-; public: __cdecl CPropertyBagItemArray::~CPropertyBagItemArray(void) __ptr64
-??1CPropertyBagItemArray@@QEAA@XZ
-; public: virtual __cdecl CQualifierSet::~CQualifierSet(void) __ptr64
-??1CQualifierSet@@UEAA@XZ
-; public: __cdecl CWbemCallSecurity::~CWbemCallSecurity(void) __ptr64
-??1CWbemCallSecurity@@QEAA@XZ
-; public: virtual __cdecl CWbemClass::~CWbemClass(void) __ptr64
-??1CWbemClass@@UEAA@XZ
-; public: __cdecl CWbemClassCache::~CWbemClassCache(void) __ptr64
-??1CWbemClassCache@@QEAA@XZ
-; public: __cdecl CWbemDataPacket::~CWbemDataPacket(void) __ptr64
-??1CWbemDataPacket@@QEAA@XZ
-; public: virtual __cdecl CWbemEnumMarshaling::~CWbemEnumMarshaling(void) __ptr64
-??1CWbemEnumMarshaling@@UEAA@XZ
-; public: virtual __cdecl CWbemFetchRefrMgr::~CWbemFetchRefrMgr(void) __ptr64
-??1CWbemFetchRefrMgr@@UEAA@XZ
-; public: __cdecl CWbemGuidToClassMap::~CWbemGuidToClassMap(void) __ptr64
-??1CWbemGuidToClassMap@@QEAA@XZ
-; public: virtual __cdecl CWbemInstance::~CWbemInstance(void) __ptr64
-??1CWbemInstance@@UEAA@XZ
-; public: __cdecl CWbemMtgtDeliverEventPacket::~CWbemMtgtDeliverEventPacket(void) __ptr64
-??1CWbemMtgtDeliverEventPacket@@QEAA@XZ
-; public: virtual __cdecl CWbemObject::~CWbemObject(void) __ptr64
-??1CWbemObject@@UEAA@XZ
-; public: __cdecl CWbemObjectArrayPacket::~CWbemObjectArrayPacket(void) __ptr64
-??1CWbemObjectArrayPacket@@QEAA@XZ
-; public: virtual __cdecl CWbemRefreshingSvc::~CWbemRefreshingSvc(void) __ptr64
-??1CWbemRefreshingSvc@@UEAA@XZ
-; public: __cdecl CWbemSmartEnumNextPacket::~CWbemSmartEnumNextPacket(void) __ptr64
-??1CWbemSmartEnumNextPacket@@QEAA@XZ
-; public: __cdecl CWbemThreadSecurityHandle::~CWbemThreadSecurityHandle(void) __ptr64
-??1CWbemThreadSecurityHandle@@QEAA@XZ
-; public: virtual __cdecl CWmiObjectFactory::~CWmiObjectFactory(void) __ptr64
-??1CWmiObjectFactory@@UEAA@XZ
-; public: __cdecl CWmiTextSourceArray::~CWmiTextSourceArray(void) __ptr64
-??1CWmiTextSourceArray@@QEAA@XZ
-; public: __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::~XCfgRefrSrvc(void) __ptr64
-??1XCfgRefrSrvc@CWbemRefreshingSvc@@QEAA@XZ
-; public: __cdecl CWbemEnumMarshaling::XEnumMarshaling::~XEnumMarshaling(void) __ptr64
-??1XEnumMarshaling@CWbemEnumMarshaling@@QEAA@XZ
-; public: __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::~XFetchRefrMgr(void) __ptr64
-??1XFetchRefrMgr@CWbemFetchRefrMgr@@QEAA@XZ
-; public: __cdecl CWmiObjectFactory::XObjectFactory::~XObjectFactory(void) __ptr64
-??1XObjectFactory@CWmiObjectFactory@@QEAA@XZ
-; public: __cdecl CWmiObjectTextSrc::XObjectTextSrc::~XObjectTextSrc(void) __ptr64
-??1XObjectTextSrc@CWmiObjectTextSrc@@QEAA@XZ
-; public: __cdecl CWbemRefreshingSvc::XWbemRefrSvc::~XWbemRefrSvc(void) __ptr64
-??1XWbemRefrSvc@CWbemRefreshingSvc@@QEAA@XZ
-; public: __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::~XWbemRemoteRefr(void) __ptr64
-??1XWbemRemoteRefr@CWbemRemoteRefresher@@QEAA@XZ
-; public: class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> & __ptr64 __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::operator=(class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> const & __ptr64) __ptr64
-??4?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> & __ptr64 __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::operator=(class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> const & __ptr64) __ptr64
-??4?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> & __ptr64 __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::operator=(class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> const & __ptr64) __ptr64
-??4?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> & __ptr64 __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::operator=(class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> const & __ptr64) __ptr64
-??4?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> & __ptr64 __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::operator=(class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> const & __ptr64) __ptr64
-??4?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> & __ptr64 __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::operator=(class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> const & __ptr64) __ptr64
-??4?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> & __ptr64 __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::operator=(class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> const & __ptr64) __ptr64
-??4?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> & __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator=(class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> & __ptr64) __ptr64
-??4?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAAEAV0@AEAV0@@Z
-; public: class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> & __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator=(class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> & __ptr64) __ptr64
-??4?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAAEAV0@AEAV0@@Z
-; public: class CRefedPointerArray<class CFastPropertyBagItem> & __ptr64 __cdecl CRefedPointerArray<class CFastPropertyBagItem>::operator=(class CRefedPointerArray<class CFastPropertyBagItem> & __ptr64) __ptr64
-??4?$CRefedPointerArray@VCFastPropertyBagItem@@@@QEAAAEAV0@AEAV0@@Z
-; public: class CRefedPointerArray<class CWmiTextSource> & __ptr64 __cdecl CRefedPointerArray<class CWmiTextSource>::operator=(class CRefedPointerArray<class CWmiTextSource> & __ptr64) __ptr64
-??4?$CRefedPointerArray@VCWmiTextSource@@@@QEAAAEAV0@AEAV0@@Z
-; public: class CBasicQualifierSet & __ptr64 __cdecl CBasicQualifierSet::operator=(class CBasicQualifierSet const & __ptr64) __ptr64
-??4CBasicQualifierSet@@QEAAAEAV0@AEBV0@@Z
-; public: class CClassAndMethods & __ptr64 __cdecl CClassAndMethods::operator=(class CClassAndMethods const & __ptr64) __ptr64
-??4CClassAndMethods@@QEAAAEAV0@AEBV0@@Z
-; public: class CClassPart & __ptr64 __cdecl CClassPart::operator=(class CClassPart const & __ptr64) __ptr64
-??4CClassPart@@QEAAAEAV0@AEBV0@@Z
-; public: class CClassPartContainer & __ptr64 __cdecl CClassPartContainer::operator=(class CClassPartContainer const & __ptr64) __ptr64
-??4CClassPartContainer@@QEAAAEAV0@AEBV0@@Z
-; public: class CClassQualifierSet & __ptr64 __cdecl CClassQualifierSet::operator=(class CClassQualifierSet const & __ptr64) __ptr64
-??4CClassQualifierSet@@QEAAAEAV0@AEBV0@@Z
-; public: class CCompressedString & __ptr64 __cdecl CCompressedString::operator=(class CCompressedString const & __ptr64) __ptr64
-??4CCompressedString@@QEAAAEAV0@AEBV0@@Z
-; public: class CCompressedStringList & __ptr64 __cdecl CCompressedStringList::operator=(class CCompressedStringList const & __ptr64) __ptr64
-??4CCompressedStringList@@QEAAAEAV0@AEBV0@@Z
-; public: class CDataTable & __ptr64 __cdecl CDataTable::operator=(class CDataTable const & __ptr64) __ptr64
-??4CDataTable@@QEAAAEAV0@AEBV0@@Z
-; public: class CDecorationPart & __ptr64 __cdecl CDecorationPart::operator=(class CDecorationPart const & __ptr64) __ptr64
-??4CDecorationPart@@QEAAAEAV0@AEBV0@@Z
-; public: class CDerivationList & __ptr64 __cdecl CDerivationList::operator=(class CDerivationList const & __ptr64) __ptr64
-??4CDerivationList@@QEAAAEAV0@AEBV0@@Z
-; public: class CEmbeddedObject & __ptr64 __cdecl CEmbeddedObject::operator=(class CEmbeddedObject const & __ptr64) __ptr64
-??4CEmbeddedObject@@QEAAAEAV0@AEBV0@@Z
-; public: class CFastHeap & __ptr64 __cdecl CFastHeap::operator=(class CFastHeap const & __ptr64) __ptr64
-??4CFastHeap@@QEAAAEAV0@AEBV0@@Z
-; public: class CFastPropertyBag & __ptr64 __cdecl CFastPropertyBag::operator=(class CFastPropertyBag & __ptr64) __ptr64
-??4CFastPropertyBag@@QEAAAEAV0@AEAV0@@Z
-; public: class CFixedBSTRArray & __ptr64 __cdecl CFixedBSTRArray::operator=(class CFixedBSTRArray const & __ptr64) __ptr64
-??4CFixedBSTRArray@@QEAAAEAV0@AEBV0@@Z
-; public: class CHiPerfLock & __ptr64 __cdecl CHiPerfLock::operator=(class CHiPerfLock const & __ptr64) __ptr64
-??4CHiPerfLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CInstancePQSContainer & __ptr64 __cdecl CInstancePQSContainer::operator=(class CInstancePQSContainer const & __ptr64) __ptr64
-??4CInstancePQSContainer@@QEAAAEAV0@AEBV0@@Z
-; public: class CInstancePart & __ptr64 __cdecl CInstancePart::operator=(class CInstancePart const & __ptr64) __ptr64
-??4CInstancePart@@QEAAAEAV0@AEBV0@@Z
-; public: class CInstancePartContainer & __ptr64 __cdecl CInstancePartContainer::operator=(class CInstancePartContainer const & __ptr64) __ptr64
-??4CInstancePartContainer@@QEAAAEAV0@AEBV0@@Z
-; public: class CInstanceQualifierSet & __ptr64 __cdecl CInstanceQualifierSet::operator=(class CInstanceQualifierSet const & __ptr64) __ptr64
-??4CInstanceQualifierSet@@QEAAAEAV0@AEBV0@@Z
-; public: class CInternalString & __ptr64 __cdecl CInternalString::operator=(class CInternalString const & __ptr64) __ptr64
-??4CInternalString@@QEAAAEAV0@AEBV0@@Z
-; public: int __cdecl CInternalString::operator=(class CCompressedString * __ptr64) __ptr64
-??4CInternalString@@QEAAHPEAVCCompressedString@@@Z
-; public: int __cdecl CInternalString::operator=(unsigned short const * __ptr64) __ptr64
-??4CInternalString@@QEAAHPEBG@Z
-; public: class CKnownStringTable & __ptr64 __cdecl CKnownStringTable::operator=(class CKnownStringTable const & __ptr64) __ptr64
-??4CKnownStringTable@@QEAAAEAV0@AEBV0@@Z
-; public: class CLimitationMapping & __ptr64 __cdecl CLimitationMapping::operator=(class CLimitationMapping & __ptr64) __ptr64
-??4CLimitationMapping@@QEAAAEAV0@AEAV0@@Z
-; public: struct CMethodDescription & __ptr64 __cdecl CMethodDescription::operator=(struct CMethodDescription const & __ptr64) __ptr64
-??4CMethodDescription@@QEAAAEAU0@AEBU0@@Z
-; public: class CMethodPart & __ptr64 __cdecl CMethodPart::operator=(class CMethodPart const & __ptr64) __ptr64
-??4CMethodPart@@QEAAAEAV0@AEBV0@@Z
-; public: class CMethodPartContainer & __ptr64 __cdecl CMethodPartContainer::operator=(class CMethodPartContainer const & __ptr64) __ptr64
-??4CMethodPartContainer@@QEAAAEAV0@AEBV0@@Z
-; public: class CMethodQualifierSet & __ptr64 __cdecl CMethodQualifierSet::operator=(class CMethodQualifierSet const & __ptr64) __ptr64
-??4CMethodQualifierSet@@QEAAAEAV0@AEBV0@@Z
-; public: class CMethodQualifierSetContainer & __ptr64 __cdecl CMethodQualifierSetContainer::operator=(class CMethodQualifierSetContainer const & __ptr64) __ptr64
-??4CMethodQualifierSetContainer@@QEAAAEAV0@AEBV0@@Z
-; public: class CPropertyBagItemArray & __ptr64 __cdecl CPropertyBagItemArray::operator=(class CPropertyBagItemArray & __ptr64) __ptr64
-??4CPropertyBagItemArray@@QEAAAEAV0@AEAV0@@Z
-; public: class CPropertyLookupTable & __ptr64 __cdecl CPropertyLookupTable::operator=(class CPropertyLookupTable const & __ptr64) __ptr64
-??4CPropertyLookupTable@@QEAAAEAV0@AEBV0@@Z
-; public: class CQualifierSet & __ptr64 __cdecl CQualifierSet::operator=(class CQualifierSet const & __ptr64) __ptr64
-??4CQualifierSet@@QEAAAEAV0@AEBV0@@Z
-; public: class CQualifierSetList & __ptr64 __cdecl CQualifierSetList::operator=(class CQualifierSetList const & __ptr64) __ptr64
-??4CQualifierSetList@@QEAAAEAV0@AEBV0@@Z
-; public: class CQualifierSetListContainer & __ptr64 __cdecl CQualifierSetListContainer::operator=(class CQualifierSetListContainer const & __ptr64) __ptr64
-??4CQualifierSetListContainer@@QEAAAEAV0@AEBV0@@Z
-; public: class CReservedWordTable & __ptr64 __cdecl CReservedWordTable::operator=(class CReservedWordTable const & __ptr64) __ptr64
-??4CReservedWordTable@@QEAAAEAV0@AEBV0@@Z
-; public: class CSharedLock & __ptr64 __cdecl CSharedLock::operator=(class CSharedLock const & __ptr64) __ptr64
-??4CSharedLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CSystemProperties & __ptr64 __cdecl CSystemProperties::operator=(class CSystemProperties const & __ptr64) __ptr64
-??4CSystemProperties@@QEAAAEAV0@AEBV0@@Z
-; public: class CType & __ptr64 __cdecl CType::operator=(class CType const & __ptr64) __ptr64
-??4CType@@QEAAAEAV0@AEBV0@@Z
-; public: class CUntypedArray & __ptr64 __cdecl CUntypedArray::operator=(class CUntypedArray const & __ptr64) __ptr64
-??4CUntypedArray@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemCallSecurity & __ptr64 __cdecl CWbemCallSecurity::operator=(class CWbemCallSecurity const & __ptr64) __ptr64
-??4CWbemCallSecurity@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemClassCache & __ptr64 __cdecl CWbemClassCache::operator=(class CWbemClassCache const & __ptr64) __ptr64
-??4CWbemClassCache@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemDataPacket & __ptr64 __cdecl CWbemDataPacket::operator=(class CWbemDataPacket const & __ptr64) __ptr64
-??4CWbemDataPacket@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemEnumMarshaling & __ptr64 __cdecl CWbemEnumMarshaling::operator=(class CWbemEnumMarshaling const & __ptr64) __ptr64
-??4CWbemEnumMarshaling@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemFetchRefrMgr & __ptr64 __cdecl CWbemFetchRefrMgr::operator=(class CWbemFetchRefrMgr const & __ptr64) __ptr64
-??4CWbemFetchRefrMgr@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemGuidToClassMap & __ptr64 __cdecl CWbemGuidToClassMap::operator=(class CWbemGuidToClassMap const & __ptr64) __ptr64
-??4CWbemGuidToClassMap@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemMtgtDeliverEventPacket & __ptr64 __cdecl CWbemMtgtDeliverEventPacket::operator=(class CWbemMtgtDeliverEventPacket const & __ptr64) __ptr64
-??4CWbemMtgtDeliverEventPacket@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemObjectArrayPacket & __ptr64 __cdecl CWbemObjectArrayPacket::operator=(class CWbemObjectArrayPacket const & __ptr64) __ptr64
-??4CWbemObjectArrayPacket@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemRefreshingSvc & __ptr64 __cdecl CWbemRefreshingSvc::operator=(class CWbemRefreshingSvc const & __ptr64) __ptr64
-??4CWbemRefreshingSvc@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemSmartEnumNextPacket & __ptr64 __cdecl CWbemSmartEnumNextPacket::operator=(class CWbemSmartEnumNextPacket const & __ptr64) __ptr64
-??4CWbemSmartEnumNextPacket@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemThreadSecurityHandle & __ptr64 __cdecl CWbemThreadSecurityHandle::operator=(class CWbemThreadSecurityHandle const & __ptr64) __ptr64
-??4CWbemThreadSecurityHandle@@QEAAAEAV0@AEBV0@@Z
-; public: class CWmiObjectFactory & __ptr64 __cdecl CWmiObjectFactory::operator=(class CWmiObjectFactory const & __ptr64) __ptr64
-??4CWmiObjectFactory@@QEAAAEAV0@AEBV0@@Z
-; public: class CWmiTextSourceArray & __ptr64 __cdecl CWmiTextSourceArray::operator=(class CWmiTextSourceArray & __ptr64) __ptr64
-??4CWmiTextSourceArray@@QEAAAEAV0@AEAV0@@Z
-; public: struct SHARED_LOCK_DATA & __ptr64 __cdecl SHARED_LOCK_DATA::operator=(struct SHARED_LOCK_DATA const & __ptr64) __ptr64
-??4SHARED_LOCK_DATA@@QEAAAEAU0@AEBU0@@Z
-; public: struct SHMEM_HANDLE & __ptr64 __cdecl SHMEM_HANDLE::operator=(struct SHMEM_HANDLE const & __ptr64) __ptr64
-??4SHMEM_HANDLE@@QEAAAEAU0@AEBU0@@Z
-; public: class CWbemRefreshingSvc::XCfgRefrSrvc & __ptr64 __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::operator=(class CWbemRefreshingSvc::XCfgRefrSrvc const & __ptr64) __ptr64
-??4XCfgRefrSrvc@CWbemRefreshingSvc@@QEAAAEAV01@AEBV01@@Z
-; public: class CWbemEnumMarshaling::XEnumMarshaling & __ptr64 __cdecl CWbemEnumMarshaling::XEnumMarshaling::operator=(class CWbemEnumMarshaling::XEnumMarshaling const & __ptr64) __ptr64
-??4XEnumMarshaling@CWbemEnumMarshaling@@QEAAAEAV01@AEBV01@@Z
-; public: class CWbemFetchRefrMgr::XFetchRefrMgr & __ptr64 __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::operator=(class CWbemFetchRefrMgr::XFetchRefrMgr const & __ptr64) __ptr64
-??4XFetchRefrMgr@CWbemFetchRefrMgr@@QEAAAEAV01@AEBV01@@Z
-; public: class CWmiObjectFactory::XObjectFactory & __ptr64 __cdecl CWmiObjectFactory::XObjectFactory::operator=(class CWmiObjectFactory::XObjectFactory const & __ptr64) __ptr64
-??4XObjectFactory@CWmiObjectFactory@@QEAAAEAV01@AEBV01@@Z
-; public: class CWmiObjectTextSrc::XObjectTextSrc & __ptr64 __cdecl CWmiObjectTextSrc::XObjectTextSrc::operator=(class CWmiObjectTextSrc::XObjectTextSrc const & __ptr64) __ptr64
-??4XObjectTextSrc@CWmiObjectTextSrc@@QEAAAEAV01@AEBV01@@Z
-; public: class CWbemRefreshingSvc::XWbemRefrSvc & __ptr64 __cdecl CWbemRefreshingSvc::XWbemRefrSvc::operator=(class CWbemRefreshingSvc::XWbemRefrSvc const & __ptr64) __ptr64
-??4XWbemRefrSvc@CWbemRefreshingSvc@@QEAAAEAV01@AEBV01@@Z
-; public: class CWbemRemoteRefresher::XWbemRemoteRefr & __ptr64 __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::operator=(class CWbemRemoteRefresher::XWbemRemoteRefr const & __ptr64) __ptr64
-??4XWbemRemoteRefr@CWbemRemoteRefresher@@QEAAAEAV01@AEBV01@@Z
-; public: bool __cdecl CInternalString::operator==(class CInternalString const & __ptr64)const  __ptr64
-??8CInternalString@@QEBA_NAEBV0@@Z
-; public: bool __cdecl CInternalString::operator==(unsigned short const * __ptr64)const  __ptr64
-??8CInternalString@@QEBA_NPEBG@Z
-; public: int __cdecl CQualifierSet::operator==(class CQualifierSet & __ptr64) __ptr64
-??8CQualifierSet@@QEAAHAEAV0@@Z
-; public: bool __cdecl CInternalString::operator!=(class CInternalString const & __ptr64)const  __ptr64
-??9CInternalString@@QEBA_NAEBV0@@Z
-; public: class CFastPropertyBagItem * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator[](int) __ptr64
-??A?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAPEAVCFastPropertyBagItem@@H@Z
-; public: class CFastPropertyBagItem const * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator[](int)const  __ptr64
-??A?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEBAPEBVCFastPropertyBagItem@@H@Z
-; public: class CWmiTextSource * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator[](int) __ptr64
-??A?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAPEAVCWmiTextSource@@H@Z
-; public: class CWmiTextSource const * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator[](int)const  __ptr64
-??A?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEBAPEBVCWmiTextSource@@H@Z
-; public: unsigned short * __ptr64 & __ptr64 __cdecl CFixedBSTRArray::operator[](int) __ptr64
-??ACFixedBSTRArray@@QEAAAEAPEAGH@Z
-; private: __cdecl CInternalString::operator class CCompressedString * __ptr64(void) __ptr64
-??BCInternalString@@AEAAPEAVCCompressedString@@XZ
-; private: __cdecl CInternalString::operator class CCompressedString * __ptr64(void)const  __ptr64
-??BCInternalString@@AEBAPEAVCCompressedString@@XZ
-; public: __cdecl CInternalString::operator class WString(void)const  __ptr64
-??BCInternalString@@QEBA?AVWString@@XZ
-; public: __cdecl CType::operator unsigned long(void) __ptr64
-??BCType@@QEAAKXZ
-; public: bool __cdecl CInternalString::operator<(class CInternalString const & __ptr64)const  __ptr64
-??MCInternalString@@QEBA_NAEBV0@@Z
-; public: bool __cdecl CInternalString::operator>(class CInternalString const & __ptr64)const  __ptr64
-??OCInternalString@@QEBA_NAEBV0@@Z
-; const  CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::`vftable'
-??_7?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@6B@
-; const  CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::`vftable'
-??_7?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@6B@
-; const  CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::`vftable'
-??_7?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@6B@
-; const  CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::`vftable'
-??_7?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@6B@
-; const  CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::`vftable'
-??_7?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@6B@
-; const  CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::`vftable'
-??_7?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@6B@
-; const  CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::`vftable'
-??_7?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@6B@
-; const  CClassAndMethods::`vftable'{for `CClassPartContainer'}
-??_7CClassAndMethods@@6BCClassPartContainer@@@
-; const  CClassAndMethods::`vftable'{for `CMethodPartContainer'}
-??_7CClassAndMethods@@6BCMethodPartContainer@@@
-; const  CClassPart::`vftable'{for `CDataTableContainer'}
-??_7CClassPart@@6BCDataTableContainer@@@
-; const  CClassPart::`vftable'{for `CHeapContainer'}
-??_7CClassPart@@6BCHeapContainer@@@
-; const  CClassPart::`vftable'{for `CPropertyTableContainer'}
-??_7CClassPart@@6BCPropertyTableContainer@@@
-; const  CClassPart::`vftable'{for `CQualifierSetContainer'}
-??_7CClassPart@@6BCQualifierSetContainer@@@
-; const  CClassPartContainer::`vftable'
-??_7CClassPartContainer@@6B@
-; const  CClassQualifierSet::`vftable'
-??_7CClassQualifierSet@@6B@
-; const  CFastPropertyBag::`vftable'
-??_7CFastPropertyBag@@6B@
-; const  CInstancePQSContainer::`vftable'
-??_7CInstancePQSContainer@@6B@
-; const  CInstancePart::`vftable'{for `CDataTableContainer'}
-??_7CInstancePart@@6BCDataTableContainer@@@
-; const  CInstancePart::`vftable'{for `CHeapContainer'}
-??_7CInstancePart@@6BCHeapContainer@@@
-; const  CInstancePart::`vftable'{for `CQualifierSetContainer'}
-??_7CInstancePart@@6BCQualifierSetContainer@@@
-; const  CInstancePart::`vftable'{for `CQualifierSetListContainer'}
-??_7CInstancePart@@6BCQualifierSetListContainer@@@
-; const  CInstancePartContainer::`vftable'
-??_7CInstancePartContainer@@6B@
-; const  CInstanceQualifierSet::`vftable'
-??_7CInstanceQualifierSet@@6B@
-; const  CMethodPart::`vftable'
-??_7CMethodPart@@6B@
-; const  CMethodPartContainer::`vftable'
-??_7CMethodPartContainer@@6B@
-; const  CMethodQualifierSet::`vftable'
-??_7CMethodQualifierSet@@6B@
-; const  CMethodQualifierSetContainer::`vftable'
-??_7CMethodQualifierSetContainer@@6B@
-; const  CQualifierSet::`vftable'
-??_7CQualifierSet@@6B@
-; const  CQualifierSetListContainer::`vftable'
-??_7CQualifierSetListContainer@@6B@
-; const  CWbemCallSecurity::`vftable'{for `IServerSecurity'}
-??_7CWbemCallSecurity@@6BIServerSecurity@@@
-; const  CWbemCallSecurity::`vftable'{for `_IWmiCallSec'}
-??_7CWbemCallSecurity@@6B_IWmiCallSec@@@
-; const  CWbemClass::`vftable'{for `IErrorInfo'}
-??_7CWbemClass@@6BIErrorInfo@@@
-; const  CWbemClass::`vftable'{for `IMarshal'}
-??_7CWbemClass@@6BIMarshal@@@
-; const  CWbemClass::`vftable'{for `IWbemConstructClassObject'}
-??_7CWbemClass@@6BIWbemConstructClassObject@@@
-; const  CWbemClass::`vftable'{for `IWbemPropertySource'}
-??_7CWbemClass@@6BIWbemPropertySource@@@
-; const  CWbemClass::`vftable'{for `_IWmiObject'}
-??_7CWbemClass@@6B_IWmiObject@@@
-; const  CWbemEnumMarshaling::`vftable'
-??_7CWbemEnumMarshaling@@6B@
-; const  CWbemFetchRefrMgr::`vftable'
-??_7CWbemFetchRefrMgr@@6B@
-; const  CWbemInstance::`vftable'{for `CClassPartContainer'}
-??_7CWbemInstance@@6BCClassPartContainer@@@
-; const  CWbemInstance::`vftable'{for `CInstancePartContainer'}
-??_7CWbemInstance@@6BCInstancePartContainer@@@
-; const  CWbemInstance::`vftable'{for `IErrorInfo'}
-??_7CWbemInstance@@6BIErrorInfo@@@
-; const  CWbemInstance::`vftable'{for `IMarshal'}
-??_7CWbemInstance@@6BIMarshal@@@
-; const  CWbemInstance::`vftable'{for `IWbemConstructClassObject'}
-??_7CWbemInstance@@6BIWbemConstructClassObject@@@
-; const  CWbemInstance::`vftable'{for `IWbemPropertySource'}
-??_7CWbemInstance@@6BIWbemPropertySource@@@
-; const  CWbemInstance::`vftable'{for `_IWmiObject'}
-??_7CWbemInstance@@6B_IWmiObject@@@
-; const  CWbemObject::`vftable'{for `IErrorInfo'}
-??_7CWbemObject@@6BIErrorInfo@@@
-; const  CWbemObject::`vftable'{for `IMarshal'}
-??_7CWbemObject@@6BIMarshal@@@
-; const  CWbemObject::`vftable'{for `IWbemConstructClassObject'}
-??_7CWbemObject@@6BIWbemConstructClassObject@@@
-; const  CWbemObject::`vftable'{for `IWbemPropertySource'}
-??_7CWbemObject@@6BIWbemPropertySource@@@
-; const  CWbemObject::`vftable'{for `_IWmiObject'}
-??_7CWbemObject@@6B_IWmiObject@@@
-; const  CWbemRefreshingSvc::`vftable'
-??_7CWbemRefreshingSvc@@6B@
-; const  CWbemThreadSecurityHandle::`vftable'
-??_7CWbemThreadSecurityHandle@@6B@
-; const  CWmiObjectFactory::`vftable'
-??_7CWmiObjectFactory@@6B@
-; const  CWbemRefreshingSvc::XCfgRefrSrvc::`vftable'
-??_7XCfgRefrSrvc@CWbemRefreshingSvc@@6B@
-; const  CWbemEnumMarshaling::XEnumMarshaling::`vftable'
-??_7XEnumMarshaling@CWbemEnumMarshaling@@6B@
-; const  CWbemFetchRefrMgr::XFetchRefrMgr::`vftable'
-??_7XFetchRefrMgr@CWbemFetchRefrMgr@@6B@
-; const  CWmiObjectFactory::XObjectFactory::`vftable'
-??_7XObjectFactory@CWmiObjectFactory@@6B@
-; const  CWmiObjectTextSrc::XObjectTextSrc::`vftable'
-??_7XObjectTextSrc@CWmiObjectTextSrc@@6B@
-; const  CWbemRefreshingSvc::XWbemRefrSvc::`vftable'
-??_7XWbemRefrSvc@CWbemRefreshingSvc@@6B@
-; const  CWbemRemoteRefresher::XWbemRemoteRefr::`vftable'
-??_7XWbemRemoteRefr@CWbemRemoteRefresher@@6B@
-; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::`default constructor closure'(void) __ptr64
-??_F?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXXZ
-; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::`default constructor closure'(void) __ptr64
-??_F?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXXZ
-; public: void __cdecl CClassQualifierSet::`default constructor closure'(void) __ptr64
-??_FCClassQualifierSet@@QEAAXXZ
-; public: void __cdecl CInstanceQualifierSet::`default constructor closure'(void) __ptr64
-??_FCInstanceQualifierSet@@QEAAXXZ
-; public: void __cdecl CWbemClassCache::`default constructor closure'(void) __ptr64
-??_FCWbemClassCache@@QEAAXXZ
-; protected: unsigned long __cdecl CFastHeap::AbsoluteToHeap(unsigned char * __ptr64) __ptr64
-?AbsoluteToHeap@CFastHeap@@IEAAKPEAE@Z
-; public: void __cdecl CInternalString::AcquireCompressedString(class CCompressedString * __ptr64) __ptr64
-?AcquireCompressedString@CInternalString@@QEAAXPEAVCCompressedString@@@Z
-; public: int __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Add(class CFastPropertyBagItem * __ptr64) __ptr64
-?Add@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAHPEAVCFastPropertyBagItem@@@Z
-; public: int __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Add(class CWmiTextSource * __ptr64) __ptr64
-?Add@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAHPEAVCWmiTextSource@@@Z
-; public: long __cdecl CFastPropertyBag::Add(unsigned short const * __ptr64,long,unsigned long,unsigned long,void * __ptr64) __ptr64
-?Add@CFastPropertyBag@@QEAAJPEBGJKKPEAX@Z
-; protected: virtual long __cdecl CWbemRefreshingSvc::AddEnumToRefresher(struct _WBEM_REFRESHER_ID * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
-?AddEnumToRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@PEBGJPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
-; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::AddEnumToRefresher(struct _WBEM_REFRESHER_ID * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
-?AddEnumToRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@PEBGJPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
-; protected: long __cdecl CWbemRefreshingSvc::AddEnumToRefresher_(int,struct _WBEM_REFRESHER_ID * __ptr64,class CWbemObject * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,struct _WBEM_REFRESH_INFO * __ptr64) __ptr64
-?AddEnumToRefresher_@CWbemRefreshingSvc@@IEAAJHPEAU_WBEM_REFRESHER_ID@@PEAVCWbemObject@@PEBGJPEAUIWbemContext@@PEAU_WBEM_REFRESH_INFO@@@Z
-; public: long __cdecl CWbemGuidToClassMap::AddMap(class CGUID & __ptr64,class CWbemClassToIdMap * __ptr64 * __ptr64) __ptr64
-?AddMap@CWbemGuidToClassMap@@QEAAJAEAVCGUID@@PEAPEAVCWbemClassToIdMap@@@Z
-; public: long __cdecl CWbemClassCache::AddObject(struct _GUID & __ptr64,struct IWbemClassObject * __ptr64) __ptr64
-?AddObject@CWbemClassCache@@QEAAJAEAU_GUID@@PEAUIWbemClassObject@@@Z
-; protected: virtual long __cdecl CWbemRefreshingSvc::AddObjectToRefresher(struct _WBEM_REFRESHER_ID * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
-?AddObjectToRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@PEBGJPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
-; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::AddObjectToRefresher(struct _WBEM_REFRESHER_ID * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
-?AddObjectToRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@PEBGJPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
-; protected: virtual long __cdecl CWbemRefreshingSvc::AddObjectToRefresherByTemplate(struct _WBEM_REFRESHER_ID * __ptr64,struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
-?AddObjectToRefresherByTemplate@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@PEAUIWbemClassObject@@JPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
-; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::AddObjectToRefresherByTemplate(struct _WBEM_REFRESHER_ID * __ptr64,struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
-?AddObjectToRefresherByTemplate@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@PEAUIWbemClassObject@@JPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
-; protected: long __cdecl CWbemRefreshingSvc::AddObjectToRefresher_(int,struct _WBEM_REFRESHER_ID * __ptr64,class CWbemObject * __ptr64,long,struct IWbemContext * __ptr64,struct _WBEM_REFRESH_INFO * __ptr64) __ptr64
-?AddObjectToRefresher_@CWbemRefreshingSvc@@IEAAJHPEAU_WBEM_REFRESHER_ID@@PEAVCWbemObject@@JPEAUIWbemContext@@PEAU_WBEM_REFRESH_INFO@@@Z
-; public: long __cdecl CWbemClass::AddPropertyText(class WString & __ptr64,struct CPropertyLookup * __ptr64,class CPropertyInformation * __ptr64,long) __ptr64
-?AddPropertyText@CWbemClass@@QEAAJAEAVWString@@PEAUCPropertyLookup@@PEAVCPropertyInformation@@J@Z
-; public: static void __cdecl CType::AddPropertyType(class WString & __ptr64,unsigned short const * __ptr64)
-?AddPropertyType@CType@@SAXAEAVWString@@PEBG@Z
-; protected: long __cdecl CQualifierSet::AddQualifierConflicts(class CVarVector & __ptr64) __ptr64
-?AddQualifierConflicts@CQualifierSet@@IEAAJAEAVCVarVector@@@Z
-; public: virtual unsigned long __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::AddRef(void) __ptr64
-?AddRef@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::AddRef(void) __ptr64
-?AddRef@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::AddRef(void) __ptr64
-?AddRef@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::AddRef(void) __ptr64
-?AddRef@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::AddRef(void) __ptr64
-?AddRef@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::AddRef(void) __ptr64
-?AddRef@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::AddRef(void) __ptr64
-?AddRef@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CQualifierSet::AddRef(void) __ptr64
-?AddRef@CQualifierSet@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemCallSecurity::AddRef(void) __ptr64
-?AddRef@CWbemCallSecurity@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemObject::AddRef(void) __ptr64
-?AddRef@CWbemObject@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemThreadSecurityHandle::AddRef(void) __ptr64
-?AddRef@CWbemThreadSecurityHandle@@UEAAKXZ
-; protected: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::AddRefElement(class CFastPropertyBagItem * __ptr64) __ptr64
-?AddRefElement@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@IEAAXPEAVCFastPropertyBagItem@@@Z
-; protected: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::AddRefElement(class CWmiTextSource * __ptr64) __ptr64
-?AddRefElement@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@IEAAXPEAVCWmiTextSource@@@Z
-; public: void __cdecl CCompressedStringList::AddString(unsigned short const * __ptr64) __ptr64
-?AddString@CCompressedStringList@@QEAAXPEBG@Z
-; public: static long __cdecl CMethodDescription::AddText(struct CMethodDescription * __ptr64 __ptr64,class WString & __ptr64,class CFastHeap * __ptr64,long)
-?AddText@CMethodDescription@@SAJPEFAU1@AEAVWString@@PEAVCFastHeap@@J@Z
-; public: long __cdecl CMethodPart::AddText(class WString & __ptr64,long) __ptr64
-?AddText@CMethodPart@@QEAAJAEAVWString@@J@Z
-; public: int __cdecl CFastHeap::Allocate(unsigned long,unsigned long & __ptr64 __ptr64) __ptr64
-?Allocate@CFastHeap@@QEAAHKAEFAK@Z
-; public: int __cdecl CFastHeap::AllocateString(char const * __ptr64,unsigned long & __ptr64 __ptr64) __ptr64
-?AllocateString@CFastHeap@@QEAAHPEBDAEFAK@Z
-; public: int __cdecl CFastHeap::AllocateString(unsigned short const * __ptr64,unsigned long & __ptr64 __ptr64) __ptr64
-?AllocateString@CFastHeap@@QEAAHPEBGAEFAK@Z
-; public: virtual long __cdecl CWbemObject::AppendArrayPropRangeByHandle(long,long,unsigned long,unsigned long,void * __ptr64) __ptr64
-?AppendArrayPropRangeByHandle@CWbemObject@@UEAAJJJKKPEAX@Z
-; public: long __cdecl CWbemObject::AppendQualifierArrayRange(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,long,unsigned long,unsigned long,void * __ptr64) __ptr64
-?AppendQualifierArrayRange@CWbemObject@@QEAAJPEBG0HJJKKPEAX@Z
-; public: static long __cdecl CUntypedArray::AppendRange(class CPtrSource * __ptr64,unsigned long,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long,void * __ptr64)
-?AppendRange@CUntypedArray@@SAJPEAVCPtrSource@@KKPEAVCFastHeap@@KKPEAX@Z
-; public: static int __cdecl CWbemObject::AreEqual(class CWbemObject * __ptr64,class CWbemObject * __ptr64,long)
-?AreEqual@CWbemObject@@SAHPEAV1@0J@Z
-; public: int __cdecl CDecorationPart::AreKeysRemoved(void) __ptr64
-?AreKeysRemoved@CDecorationPart@@QEAAHXZ
-; public: int __cdecl CLimitationMapping::ArePropertiesLimited(void) __ptr64
-?ArePropertiesLimited@CLimitationMapping@@QEAAHXZ
-; public: static long __cdecl CWbemInstance::AsymmetricMerge(class CWbemInstance * __ptr64,class CWbemInstance * __ptr64)
-?AsymmetricMerge@CWbemInstance@@SAJPEAV1@0@Z
-; protected: unsigned long __cdecl CFastHeap::AugmentRequest(unsigned long,unsigned long) __ptr64
-?AugmentRequest@CFastHeap@@IEAAKKK@Z
-; public: virtual long __cdecl CQualifierSet::BeginEnumeration(long) __ptr64
-?BeginEnumeration@CQualifierSet@@UEAAJJ@Z
-; public: virtual long __cdecl CWbemObject::BeginEnumeration(long) __ptr64
-?BeginEnumeration@CWbemObject@@UEAAJJ@Z
-; public: virtual long __cdecl CWbemObject::BeginEnumerationEx(long,long) __ptr64
-?BeginEnumerationEx@CWbemObject@@UEAAJJJ@Z
-; public: virtual long __cdecl CWbemClass::BeginMethodEnumeration(long) __ptr64
-?BeginMethodEnumeration@CWbemClass@@UEAAJJ@Z
-; public: virtual long __cdecl CWbemInstance::BeginMethodEnumeration(long) __ptr64
-?BeginMethodEnumeration@CWbemInstance@@UEAAJJ@Z
-; public: void __cdecl CLimitationMapping::Build(int) __ptr64
-?Build@CLimitationMapping@@QEAAXH@Z
-; public: virtual long __cdecl CWbemObject::CIMTYPEToVARTYPE(long,unsigned short * __ptr64) __ptr64
-?CIMTYPEToVARTYPE@CWbemObject@@UEAAJJPEAG@Z
-; public: static class CType  __cdecl CType::CVarToType(class CVar & __ptr64)
-?CVarToType@CType@@SA?AV1@AEAVCVar@@@Z
-; public: class CVar * __ptr64 __cdecl CWbemInstance::CalculateCachedKey(void) __ptr64
-?CalculateCachedKey@CWbemInstance@@QEAAPEAVCVar@@XZ
-; public: long __cdecl CWbemMtgtDeliverEventPacket::CalculateLength(long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,class CWbemClassToIdMap & __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
-?CalculateLength@CWbemMtgtDeliverEventPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAKAEAVCWbemClassToIdMap@@PEAU_GUID@@PEAH@Z
-; public: long __cdecl CWbemObjectArrayPacket::CalculateLength(long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,class CWbemClassToIdMap & __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
-?CalculateLength@CWbemObjectArrayPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAKAEAVCWbemClassToIdMap@@PEAU_GUID@@PEAH@Z
-; public: long __cdecl CWbemSmartEnumNextPacket::CalculateLength(long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,class CWbemClassToIdMap & __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
-?CalculateLength@CWbemSmartEnumNextPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAKAEAVCWbemClassToIdMap@@PEAU_GUID@@PEAH@Z
-; public: static unsigned long __cdecl CUntypedArray::CalculateNecessarySpaceByLength(int,int)
-?CalculateNecessarySpaceByLength@CUntypedArray@@SAKHH@Z
-; public: static unsigned long __cdecl CUntypedArray::CalculateNecessarySpaceByType(class CType,int)
-?CalculateNecessarySpaceByType@CUntypedArray@@SAKVCType@@H@Z
-; public: static int __cdecl CType::CanBeKey(unsigned long)
-?CanBeKey@CType@@SAHK@Z
-; public: int __cdecl CBasicQualifierSet::CanBeReconciledWith(class CBasicQualifierSet & __ptr64) __ptr64
-?CanBeReconciledWith@CBasicQualifierSet@@QEAAHAEAV1@@Z
-; public: enum EReconciliation  __cdecl CClassAndMethods::CanBeReconciledWith(class CClassAndMethods & __ptr64) __ptr64
-?CanBeReconciledWith@CClassAndMethods@@QEAA?AW4EReconciliation@@AEAV1@@Z
-; public: enum EReconciliation  __cdecl CClassPart::CanBeReconciledWith(class CClassPart & __ptr64) __ptr64
-?CanBeReconciledWith@CClassPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
-; public: enum EReconciliation  __cdecl CMethodPart::CanBeReconciledWith(class CMethodPart & __ptr64) __ptr64
-?CanBeReconciledWith@CMethodPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
-; public: enum EReconciliation  __cdecl CWbemClass::CanBeReconciledWith(class CWbemClass * __ptr64) __ptr64
-?CanBeReconciledWith@CWbemClass@@QEAA?AW4EReconciliation@@PEAV1@@Z
-; public: virtual long __cdecl CClassPart::CanContainAbstract(int) __ptr64
-?CanContainAbstract@CClassPart@@UEAAJH@Z
-; public: virtual long __cdecl CInstancePQSContainer::CanContainAbstract(int) __ptr64
-?CanContainAbstract@CInstancePQSContainer@@UEAAJH@Z
-; public: virtual long __cdecl CInstancePart::CanContainAbstract(int) __ptr64
-?CanContainAbstract@CInstancePart@@UEAAJH@Z
-; public: virtual long __cdecl CMethodQualifierSetContainer::CanContainAbstract(int) __ptr64
-?CanContainAbstract@CMethodQualifierSetContainer@@UEAAJH@Z
-; public: virtual long __cdecl CClassPart::CanContainDynamic(void) __ptr64
-?CanContainDynamic@CClassPart@@UEAAJXZ
-; public: virtual long __cdecl CInstancePQSContainer::CanContainDynamic(void) __ptr64
-?CanContainDynamic@CInstancePQSContainer@@UEAAJXZ
-; public: virtual long __cdecl CInstancePart::CanContainDynamic(void) __ptr64
-?CanContainDynamic@CInstancePart@@UEAAJXZ
-; public: virtual long __cdecl CMethodQualifierSetContainer::CanContainDynamic(void) __ptr64
-?CanContainDynamic@CMethodQualifierSetContainer@@UEAAJXZ
-; public: virtual long __cdecl CClassPart::CanContainKey(void) __ptr64
-?CanContainKey@CClassPart@@UEAAJXZ
-; public: virtual long __cdecl CInstancePQSContainer::CanContainKey(void) __ptr64
-?CanContainKey@CInstancePQSContainer@@UEAAJXZ
-; public: virtual long __cdecl CInstancePart::CanContainKey(void) __ptr64
-?CanContainKey@CInstancePart@@UEAAJXZ
-; public: virtual long __cdecl CMethodQualifierSetContainer::CanContainKey(void) __ptr64
-?CanContainKey@CMethodQualifierSetContainer@@UEAAJXZ
-; public: int __cdecl CClassPart::CanContainKeyedProps(void) __ptr64
-?CanContainKeyedProps@CClassPart@@QEAAHXZ
-; public: virtual long __cdecl CClassPart::CanContainSingleton(void) __ptr64
-?CanContainSingleton@CClassPart@@UEAAJXZ
-; public: virtual long __cdecl CInstancePQSContainer::CanContainSingleton(void) __ptr64
-?CanContainSingleton@CInstancePQSContainer@@UEAAJXZ
-; public: virtual long __cdecl CInstancePart::CanContainSingleton(void) __ptr64
-?CanContainSingleton@CInstancePart@@UEAAJXZ
-; public: virtual long __cdecl CMethodQualifierSetContainer::CanContainSingleton(void) __ptr64
-?CanContainSingleton@CMethodQualifierSetContainer@@UEAAJXZ
-; public: virtual int __cdecl CClassPart::CanHaveCimtype(unsigned short const * __ptr64) __ptr64
-?CanHaveCimtype@CClassPart@@UEAAHPEBG@Z
-; public: virtual int __cdecl CInstancePQSContainer::CanHaveCimtype(unsigned short const * __ptr64) __ptr64
-?CanHaveCimtype@CInstancePQSContainer@@UEAAHPEBG@Z
-; public: virtual int __cdecl CInstancePart::CanHaveCimtype(unsigned short const * __ptr64) __ptr64
-?CanHaveCimtype@CInstancePart@@UEAAHPEBG@Z
-; public: virtual int __cdecl CMethodQualifierSetContainer::CanHaveCimtype(unsigned short const * __ptr64) __ptr64
-?CanHaveCimtype@CMethodQualifierSetContainer@@UEAAHPEBG@Z
-; public: int __cdecl CCompressedString::CheapCompare(class CCompressedString const & __ptr64)const  __ptr64
-?CheapCompare@CCompressedString@@QEBAHAEBV1@@Z
-; public: int __cdecl CClassPart::CheckBoolQualifier(unsigned short const * __ptr64) __ptr64
-?CheckBoolQualifier@CClassPart@@QEAAHPEBG@Z
-; public: int __cdecl CWbemObject::CheckBooleanPropQual(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?CheckBooleanPropQual@CWbemObject@@QEAAHPEBG0@Z
-; public: static int __cdecl CUntypedArray::CheckCVarVector(class CVarVector & __ptr64,unsigned long)
-?CheckCVarVector@CUntypedArray@@SAHAEAVCVarVector@@K@Z
-; protected: long __cdecl CMethodPart::CheckDuplicateParameters(class CWbemObject * __ptr64,class CWbemObject * __ptr64) __ptr64
-?CheckDuplicateParameters@CMethodPart@@IEAAJPEAVCWbemObject@@0@Z
-; protected: long __cdecl CMethodPart::CheckIds(class CWbemClass * __ptr64,class CWbemClass * __ptr64) __ptr64
-?CheckIds@CMethodPart@@IEAAJPEAVCWbemClass@@0@Z
-; public: static int __cdecl CUntypedArray::CheckIntervalDateTime(class CVarVector & __ptr64)
-?CheckIntervalDateTime@CUntypedArray@@SAHAEAVCVarVector@@@Z
-; public: int __cdecl CClassPart::CheckLocalBoolQualifier(unsigned short const * __ptr64) __ptr64
-?CheckLocalBoolQualifier@CClassPart@@QEAAHPEBG@Z
-; public: static long __cdecl CUntypedArray::CheckRangeSize(unsigned long,unsigned long,unsigned long,unsigned long,void * __ptr64)
-?CheckRangeSize@CUntypedArray@@SAJKKKKPEAX@Z
-; protected: static long __cdecl CUntypedArray::CheckRangeSizeForGet(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64)
-?CheckRangeSizeForGet@CUntypedArray@@KAJKKKKPEAK@Z
-; private: void __cdecl CWbemClassCache::Clear(void) __ptr64
-?Clear@CWbemClassCache@@AEAAXXZ
-; private: void __cdecl CWbemGuidToClassMap::Clear(void) __ptr64
-?Clear@CWbemGuidToClassMap@@AEAAXXZ
-; public: void __cdecl CWbemInstance::ClearCachedKey(void) __ptr64
-?ClearCachedKey@CWbemInstance@@QEAAXXZ
-; public: virtual void __cdecl CWbemInstance::ClearCachedKeyValue(void) __ptr64
-?ClearCachedKeyValue@CWbemInstance@@UEAAXXZ
-; public: virtual long __cdecl CWbemClass::ClearWriteOnlyProperties(void) __ptr64
-?ClearWriteOnlyProperties@CWbemClass@@UEAAJXZ
-; public: virtual long __cdecl CWbemInstance::ClearWriteOnlyProperties(void) __ptr64
-?ClearWriteOnlyProperties@CWbemInstance@@UEAAJXZ
-; public: virtual long __cdecl CWbemClass::Clone(struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?Clone@CWbemClass@@UEAAJPEAPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemInstance::Clone(struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?Clone@CWbemInstance@@UEAAJPEAPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemClass::CloneAndDecorate(long,unsigned short * __ptr64,unsigned short * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?CloneAndDecorate@CWbemClass@@UEAAJJPEAG0PEAPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemInstance::CloneAndDecorate(long,unsigned short * __ptr64,unsigned short * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?CloneAndDecorate@CWbemInstance@@UEAAJJPEAG0PEAPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemClass::CloneEx(long,struct _IWmiObject * __ptr64) __ptr64
-?CloneEx@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemInstance::CloneEx(long,struct _IWmiObject * __ptr64) __ptr64
-?CloneEx@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
-; public: long __cdecl CWbemThreadSecurityHandle::CloneProcessContext(void) __ptr64
-?CloneProcessContext@CWbemThreadSecurityHandle@@QEAAJXZ
-; public: long __cdecl CWbemThreadSecurityHandle::CloneRpcContext(struct IServerSecurity * __ptr64) __ptr64
-?CloneRpcContext@CWbemThreadSecurityHandle@@QEAAJPEAUIServerSecurity@@@Z
-; public: long __cdecl CWbemThreadSecurityHandle::CloneThreadContext(unsigned long) __ptr64
-?CloneThreadContext@CWbemThreadSecurityHandle@@QEAAJK@Z
-; public: void __cdecl CClassAndMethods::Compact(void) __ptr64
-?Compact@CClassAndMethods@@QEAAXXZ
-; public: void __cdecl CClassPart::Compact(void) __ptr64
-?Compact@CClassPart@@QEAAXXZ
-; public: void __cdecl CInstancePart::Compact(bool) __ptr64
-?Compact@CInstancePart@@QEAAX_N@Z
-; public: void __cdecl CMethodPart::Compact(void) __ptr64
-?Compact@CMethodPart@@QEAAXXZ
-; public: virtual void __cdecl CWbemClass::CompactAll(void) __ptr64
-?CompactAll@CWbemClass@@UEAAXXZ
-; public: virtual void __cdecl CWbemInstance::CompactAll(void) __ptr64
-?CompactAll@CWbemInstance@@UEAAXXZ
-; public: void __cdecl CWbemInstance::CompactClass(void) __ptr64
-?CompactClass@CWbemInstance@@QEAAXXZ
-; public: int __cdecl CBasicQualifierSet::Compare(class CBasicQualifierSet & __ptr64,unsigned char,unsigned short const * __ptr64 * __ptr64,unsigned long) __ptr64
-?Compare@CBasicQualifierSet@@QEAAHAEAV1@EPEAPEBGK@Z
-; public: int __cdecl CCompressedString::Compare(class CCompressedString const & __ptr64)const  __ptr64
-?Compare@CCompressedString@@QEBAHAEBV1@@Z
-; public: int __cdecl CCompressedString::Compare(char const * __ptr64)const  __ptr64
-?Compare@CCompressedString@@QEBAHPEBD@Z
-; public: int __cdecl CCompressedString::Compare(unsigned short const * __ptr64)const  __ptr64
-?Compare@CCompressedString@@QEBAHPEBG@Z
-; public: int __cdecl CInternalString::Compare(class CInternalString const & __ptr64)const  __ptr64
-?Compare@CInternalString@@QEBAHAEBV1@@Z
-; public: int __cdecl CInternalString::Compare(unsigned short const * __ptr64)const  __ptr64
-?Compare@CInternalString@@QEBAHPEBG@Z
-; public: int __cdecl CQualifierSet::Compare(class CQualifierSet & __ptr64,class CFixedBSTRArray * __ptr64,int) __ptr64
-?Compare@CQualifierSet@@QEAAHAEAV1@PEAVCFixedBSTRArray@@H@Z
-; public: virtual long __cdecl CWbemObject::CompareClassParts(struct IWbemClassObject * __ptr64,long) __ptr64
-?CompareClassParts@CWbemObject@@UEAAJPEAUIWbemClassObject@@J@Z
-; public: int __cdecl CClassPart::CompareDefs(class CClassPart & __ptr64) __ptr64
-?CompareDefs@CClassPart@@QEAAHAEAV1@@Z
-; public: virtual long __cdecl CWbemClass::CompareDerivedMostClass(long,struct _IWmiObject * __ptr64) __ptr64
-?CompareDerivedMostClass@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemInstance::CompareDerivedMostClass(long,struct _IWmiObject * __ptr64) __ptr64
-?CompareDerivedMostClass@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
-; public: enum EReconciliation  __cdecl CClassPart::CompareExactMatch(class CClassPart & __ptr64,int) __ptr64
-?CompareExactMatch@CClassPart@@QEAA?AW4EReconciliation@@AEAV1@H@Z
-; public: enum EReconciliation  __cdecl CMethodPart::CompareExactMatch(class CMethodPart & __ptr64) __ptr64
-?CompareExactMatch@CMethodPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
-; public: int __cdecl CBasicQualifierSet::CompareLocalizedSet(class CBasicQualifierSet & __ptr64) __ptr64
-?CompareLocalizedSet@CBasicQualifierSet@@QEAAHAEAV1@@Z
-; public: long __cdecl CWbemClass::CompareMostDerivedClass(class CWbemClass * __ptr64) __ptr64
-?CompareMostDerivedClass@CWbemClass@@QEAAJPEAV1@@Z
-; public: int __cdecl CCompressedString::CompareNoCase(class CCompressedString const & __ptr64)const  __ptr64
-?CompareNoCase@CCompressedString@@QEBAHAEBV1@@Z
-; public: int __cdecl CCompressedString::CompareNoCase(char const * __ptr64)const  __ptr64
-?CompareNoCase@CCompressedString@@QEBAHPEBD@Z
-; public: int __cdecl CCompressedString::CompareNoCase(unsigned short const * __ptr64)const  __ptr64
-?CompareNoCase@CCompressedString@@QEBAHPEBG@Z
-; public: enum EReconciliation  __cdecl CClassAndMethods::CompareTo(class CClassAndMethods & __ptr64) __ptr64
-?CompareTo@CClassAndMethods@@QEAA?AW4EReconciliation@@AEAV1@@Z
-; public: int __cdecl CDecorationPart::CompareTo(class CDecorationPart & __ptr64) __ptr64
-?CompareTo@CDecorationPart@@QEAAHAEAV1@@Z
-; public: long __cdecl CMethodPart::CompareTo(long,class CMethodPart & __ptr64) __ptr64
-?CompareTo@CMethodPart@@QEAAJJAEAV1@@Z
-; public: virtual long __cdecl CQualifierSet::CompareTo(long,struct IWbemQualifierSet * __ptr64) __ptr64
-?CompareTo@CQualifierSet@@UEAAJJPEAUIWbemQualifierSet@@@Z
-; public: virtual long __cdecl CWbemClass::CompareTo(long,struct IWbemClassObject * __ptr64) __ptr64
-?CompareTo@CWbemClass@@UEAAJJPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemObject::CompareTo(long,struct IWbemClassObject * __ptr64) __ptr64
-?CompareTo@CWbemObject@@UEAAJJPEAUIWbemClassObject@@@Z
-; protected: static int __cdecl CCompressedString::CompareUnicodeToAscii(unsigned short const * __ptr64 __ptr64,char const * __ptr64)
-?CompareUnicodeToAscii@CCompressedString@@KAHPEFBGPEBD@Z
-; protected: static int __cdecl CCompressedString::CompareUnicodeToAsciiNoCase(unsigned short const * __ptr64 __ptr64,char const * __ptr64,int)
-?CompareUnicodeToAsciiNoCase@CCompressedString@@KAHPEFBGPEBDH@Z
-; public: static unsigned long __cdecl CBasicQualifierSet::ComputeMergeSpace(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64,int)
-?ComputeMergeSpace@CBasicQualifierSet@@SAKPEAEPEAVCFastHeap@@01H@Z
-; public: static int __cdecl CCompressedString::ComputeNecessarySpace(char const * __ptr64)
-?ComputeNecessarySpace@CCompressedString@@SAHPEBD@Z
-; public: static int __cdecl CCompressedString::ComputeNecessarySpace(unsigned short const * __ptr64)
-?ComputeNecessarySpace@CCompressedString@@SAHPEBG@Z
-; public: static int __cdecl CCompressedString::ComputeNecessarySpace(unsigned short const * __ptr64,int & __ptr64)
-?ComputeNecessarySpace@CCompressedString@@SAHPEBGAEAH@Z
-; public: unsigned long __cdecl CCompressedStringList::ComputeNecessarySpace(class CCompressedString * __ptr64) __ptr64
-?ComputeNecessarySpace@CCompressedStringList@@QEAAKPEAVCCompressedString@@@Z
-; public: static unsigned long __cdecl CDataTable::ComputeNecessarySpace(int,int)
-?ComputeNecessarySpace@CDataTable@@SAKHH@Z
-; public: static unsigned long __cdecl CDecorationPart::ComputeNecessarySpace(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?ComputeNecessarySpace@CDecorationPart@@SAKPEBG0@Z
-; public: static unsigned long __cdecl CInstancePart::ComputeNecessarySpace(class CClassPart * __ptr64)
-?ComputeNecessarySpace@CInstancePart@@SAKPEAVCClassPart@@@Z
-; public: static unsigned long __cdecl CQualifierSetList::ComputeNecessarySpace(int)
-?ComputeNecessarySpace@CQualifierSetList@@SAKH@Z
-; public: static unsigned long __cdecl CBasicQualifierSet::ComputeNecessarySpaceForPropagation(unsigned char * __ptr64,unsigned char)
-?ComputeNecessarySpaceForPropagation@CBasicQualifierSet@@SAKPEAEE@Z
-; public: static unsigned long __cdecl CQualifierSetList::ComputeRealSpace(int)
-?ComputeRealSpace@CQualifierSetList@@SAKH@Z
-; public: static unsigned long __cdecl CBasicQualifierSet::ComputeUnmergedSpace(unsigned char * __ptr64)
-?ComputeUnmergedSpace@CBasicQualifierSet@@SAKPEAE@Z
-; public: unsigned char * __ptr64 __cdecl CInstancePart::ConvertToClass(class CClassPart & __ptr64,unsigned long,unsigned char * __ptr64) __ptr64
-?ConvertToClass@CInstancePart@@QEAAPEAEAEAVCClassPart@@KPEAE@Z
-; public: long __cdecl CWbemInstance::ConvertToClass(class CWbemClass * __ptr64,class CWbemInstance * __ptr64 * __ptr64) __ptr64
-?ConvertToClass@CWbemInstance@@QEAAJPEAVCWbemClass@@PEAPEAV1@@Z
-; public: long __cdecl CWbemInstance::ConvertToMergedInstance(void) __ptr64
-?ConvertToMergedInstance@CWbemInstance@@QEAAJXZ
-; public: void __cdecl CCompressedString::ConvertToUnicode(unsigned short * __ptr64)const  __ptr64
-?ConvertToUnicode@CCompressedString@@QEBAXPEAG@Z
-; public: void __cdecl CFastHeap::Copy(unsigned long,unsigned long,unsigned long) __ptr64
-?Copy@CFastHeap@@QEAAXKKK@Z
-; public: long __cdecl CFastPropertyBag::Copy(class CFastPropertyBag const & __ptr64) __ptr64
-?Copy@CFastPropertyBag@@QEAAJAEBV1@@Z
-; public: long __cdecl CWbemInstance::CopyActualTransferBlob(long,unsigned char * __ptr64) __ptr64
-?CopyActualTransferBlob@CWbemInstance@@QEAAJJPEAE@Z
-; public: long __cdecl CWbemInstance::CopyBlob(unsigned char * __ptr64,int) __ptr64
-?CopyBlob@CWbemInstance@@QEAAJPEAEH@Z
-; public: virtual long __cdecl CWbemClass::CopyBlobOf(class CWbemObject * __ptr64) __ptr64
-?CopyBlobOf@CWbemClass@@UEAAJPEAVCWbemObject@@@Z
-; public: virtual long __cdecl CWbemInstance::CopyBlobOf(class CWbemObject * __ptr64) __ptr64
-?CopyBlobOf@CWbemInstance@@UEAAJPEAVCWbemObject@@@Z
-; public: unsigned char * __ptr64 __cdecl CCompressedStringList::CopyData(unsigned char * __ptr64) __ptr64
-?CopyData@CCompressedStringList@@QEAAPEAEPEAE@Z
-; protected: void __cdecl CLimitationMapping::CopyInfo(class CPropertyInformation & __ptr64,class CPropertyInformation const & __ptr64) __ptr64
-?CopyInfo@CLimitationMapping@@IEAAXAEAVCPropertyInformation@@AEBV2@@Z
-; public: virtual long __cdecl CWbemClass::CopyInstanceData(long,struct _IWmiObject * __ptr64) __ptr64
-?CopyInstanceData@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemInstance::CopyInstanceData(long,struct _IWmiObject * __ptr64) __ptr64
-?CopyInstanceData@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
-; public: long __cdecl CQualifierSet::CopyLocalQualifiers(class CQualifierSet & __ptr64) __ptr64
-?CopyLocalQualifiers@CQualifierSet@@QEAAJAEAV1@@Z
-; public: void __cdecl CDataTable::CopyNullness(class CDataTable * __ptr64) __ptr64
-?CopyNullness@CDataTable@@QEAAXPEAV1@@Z
-; public: long __cdecl CClassPart::CopyParentProperty(class CClassPart & __ptr64,unsigned short const * __ptr64) __ptr64
-?CopyParentProperty@CClassPart@@QEAAJAEAV1@PEBG@Z
-; public: static int __cdecl CCompressedString::CopyToNewHeap(unsigned long,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned long & __ptr64 __ptr64)
-?CopyToNewHeap@CCompressedString@@SAHKPEAVCFastHeap@@0AEFAK@Z
-; public: static int __cdecl CEmbeddedObject::CopyToNewHeap(unsigned long,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned long & __ptr64 __ptr64)
-?CopyToNewHeap@CEmbeddedObject@@SAHKPEAVCFastHeap@@0AEFAK@Z
-; public: static int __cdecl CUntypedArray::CopyToNewHeap(unsigned long,class CType,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned long & __ptr64 __ptr64)
-?CopyToNewHeap@CUntypedArray@@SAHKVCType@@PEAVCFastHeap@@1AEFAK@Z
-; public: static long __cdecl CWbemInstance::CopyTransferArrayBlob(class CWbemInstance * __ptr64,long,long,unsigned char * __ptr64,class CFlexArray & __ptr64,long * __ptr64)
-?CopyTransferArrayBlob@CWbemInstance@@SAJPEAV1@JJPEAEAEAVCFlexArray@@PEAJ@Z
-; public: long __cdecl CWbemInstance::CopyTransferBlob(long,long,unsigned char * __ptr64) __ptr64
-?CopyTransferBlob@CWbemInstance@@QEAAJJJPEAE@Z
-; public: void __cdecl CDecorationPart::Create(unsigned char,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64) __ptr64
-?Create@CDecorationPart@@QEAAXEPEBG0PEAE@Z
-; public: void __cdecl CFixedBSTRArray::Create(int) __ptr64
-?Create@CFixedBSTRArray@@QEAAXH@Z
-; public: void __cdecl CInstancePQSContainer::Create(class CQualifierSetList * __ptr64,int,class CClassPart * __ptr64,unsigned long) __ptr64
-?Create@CInstancePQSContainer@@QEAAXPEAVCQualifierSetList@@HPEAVCClassPart@@K@Z
-; public: unsigned char * __ptr64 __cdecl CInstancePart::Create(unsigned char * __ptr64,class CClassPart * __ptr64,class CInstancePartContainer * __ptr64) __ptr64
-?Create@CInstancePart@@QEAAPEAEPEAEPEAVCClassPart@@PEAVCInstancePartContainer@@@Z
-; public: long __cdecl CWmiObjectFactory::Create(struct IUnknown * __ptr64,unsigned long,struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?Create@CWmiObjectFactory@@QEAAJPEAUIUnknown@@KAEBU_GUID@@1PEAPEAX@Z
-; public: virtual long __cdecl CWmiObjectFactory::XObjectFactory::Create(struct IUnknown * __ptr64,unsigned long,struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?Create@XObjectFactory@CWmiObjectFactory@@UEAAJPEAUIUnknown@@KAEBU_GUID@@1PEAPEAX@Z
-; public: unsigned short * __ptr64 __cdecl CCompressedString::CreateBSTRCopy(void)const  __ptr64
-?CreateBSTRCopy@CCompressedString@@QEBAPEAGXZ
-; public: class CVarVector * __ptr64 __cdecl CUntypedArray::CreateCVarVector(class CType,class CFastHeap * __ptr64) __ptr64
-?CreateCVarVector@CUntypedArray@@QEAAPEAVCVarVector@@VCType@@PEAVCFastHeap@@@Z
-; public: long __cdecl CWbemClass::CreateDerivedClass(class CWbemClass * __ptr64 * __ptr64) __ptr64
-?CreateDerivedClass@CWbemClass@@QEAAJPEAPEAV1@@Z
-; public: long __cdecl CWbemClass::CreateDerivedClass(class CWbemClass * __ptr64,int,class CDecorationPart * __ptr64) __ptr64
-?CreateDerivedClass@CWbemClass@@QEAAJPEAV1@HPEAVCDecorationPart@@@Z
-; public: unsigned char * __ptr64 __cdecl CClassAndMethods::CreateDerivedPart(unsigned char * __ptr64,unsigned long) __ptr64
-?CreateDerivedPart@CClassAndMethods@@QEAAPEAEPEAEK@Z
-; public: unsigned char * __ptr64 __cdecl CClassPart::CreateDerivedPart(unsigned char * __ptr64,int) __ptr64
-?CreateDerivedPart@CClassPart@@QEAAPEAEPEAEH@Z
-; public: unsigned char * __ptr64 __cdecl CMethodPart::CreateDerivedPart(unsigned char * __ptr64,unsigned long) __ptr64
-?CreateDerivedPart@CMethodPart@@QEAAPEAEPEAEK@Z
-; public: static int __cdecl CMethodDescription::CreateDerivedVersion(struct CMethodDescription * __ptr64 __ptr64,struct CMethodDescription * __ptr64 __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
-?CreateDerivedVersion@CMethodDescription@@SAHPEFAU1@0PEAVCFastHeap@@1@Z
-; public: static unsigned char * __ptr64 __cdecl CBasicQualifierSet::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CBasicQualifierSet@@SAPEAEPEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CClassAndMethods::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CClassAndMethods@@SAPEAEPEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CClassPart::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CClassPart@@SAPEAEPEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CCompressedString::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CCompressedString@@SAPEAEPEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CCompressedStringList::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CCompressedStringList@@SAPEAEPEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CDataTable::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CDataTable@@SAPEAEPEAE@Z
-; public: unsigned char * __ptr64 __cdecl CDecorationPart::CreateEmpty(unsigned char,unsigned char * __ptr64) __ptr64
-?CreateEmpty@CDecorationPart@@QEAAPEAEEPEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CFastHeap::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CFastHeap@@SAPEAEPEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CMethodPart::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CMethodPart@@SAPEAEPEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CPropertyLookupTable::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CPropertyLookupTable@@SAPEAEPEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CWbemClass::CreateEmpty(unsigned char * __ptr64)
-?CreateEmpty@CWbemClass@@SAPEAEPEAE@Z
-; public: static class CWbemClass * __ptr64 __cdecl CWbemClass::CreateFromBlob2(class CWbemClass * __ptr64,unsigned char * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
-?CreateFromBlob2@CWbemClass@@SAPEAV1@PEAV1@PEAEPEAG2@Z
-; public: static class CWbemInstance * __ptr64 __cdecl CWbemInstance::CreateFromBlob2(class CWbemClass * __ptr64,unsigned char * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
-?CreateFromBlob2@CWbemInstance@@SAPEAV1@PEAVCWbemClass@@PEAEPEAG2@Z
-; public: static class CWbemClass * __ptr64 __cdecl CWbemClass::CreateFromBlob(class CWbemClass * __ptr64,unsigned char * __ptr64,unsigned __int64)
-?CreateFromBlob@CWbemClass@@SAPEAV1@PEAV1@PEAE_K@Z
-; public: static class CWbemInstance * __ptr64 __cdecl CWbemInstance::CreateFromBlob(class CWbemClass * __ptr64,unsigned char * __ptr64,unsigned __int64)
-?CreateFromBlob@CWbemInstance@@SAPEAV1@PEAVCWbemClass@@PEAE_K@Z
-; public: static class CWbemObject * __ptr64 __cdecl CWbemObject::CreateFromMemory(unsigned char * __ptr64,int,int,class CBlobControl & __ptr64)
-?CreateFromMemory@CWbemObject@@SAPEAV1@PEAEHHAEAVCBlobControl@@@Z
-; public: static class CWbemObject * __ptr64 __cdecl CWbemObject::CreateFromStream(struct IStream * __ptr64)
-?CreateFromStream@CWbemObject@@SAPEAV1@PEAUIStream@@@Z
-; public: virtual long __cdecl CWmiObjectTextSrc::XObjectTextSrc::CreateFromText(long,unsigned short * __ptr64,unsigned long,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?CreateFromText@XObjectTextSrc@CWmiObjectTextSrc@@UEAAJJPEAGKPEAUIWbemContext@@PEAPEAUIWbemClassObject@@@Z
-; public: unsigned short * __ptr64 __cdecl CInternalString::CreateLPWSTRCopy(void)const  __ptr64
-?CreateLPWSTRCopy@CInternalString@@QEBAPEAGXZ
-; public: unsigned char * __ptr64 __cdecl CClassAndMethods::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,int,unsigned char * __ptr64,int & __ptr64) __ptr64
-?CreateLimitedRepresentation@CClassAndMethods@@QEAAPEAEPEAVCLimitationMapping@@HPEAEAEAH@Z
-; public: unsigned char * __ptr64 __cdecl CClassPart::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,int,unsigned char * __ptr64,int & __ptr64) __ptr64
-?CreateLimitedRepresentation@CClassPart@@QEAAPEAEPEAVCLimitationMapping@@HPEAEAEAH@Z
-; public: unsigned char * __ptr64 __cdecl CDataTable::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,int,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64) __ptr64
-?CreateLimitedRepresentation@CDataTable@@QEAAPEAEPEAVCLimitationMapping@@HPEAVCFastHeap@@1PEAE@Z
-; public: unsigned char * __ptr64 __cdecl CDecorationPart::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,unsigned char * __ptr64) __ptr64
-?CreateLimitedRepresentation@CDecorationPart@@QEAAPEAEPEAVCLimitationMapping@@PEAE@Z
-; public: unsigned char * __ptr64 __cdecl CDerivationList::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,unsigned char * __ptr64) __ptr64
-?CreateLimitedRepresentation@CDerivationList@@QEAAPEAEPEAVCLimitationMapping@@PEAE@Z
-; public: unsigned char * __ptr64 __cdecl CInstancePart::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,int,unsigned char * __ptr64) __ptr64
-?CreateLimitedRepresentation@CInstancePart@@QEAAPEAEPEAVCLimitationMapping@@HPEAE@Z
-; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,int & __ptr64) __ptr64
-?CreateLimitedRepresentation@CPropertyLookupTable@@QEAAPEAEPEAVCLimitationMapping@@PEAVCFastHeap@@PEAEAEAH@Z
-; public: unsigned char * __ptr64 __cdecl CQualifierSetList::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64) __ptr64
-?CreateLimitedRepresentation@CQualifierSetList@@QEAAPEAEPEAVCLimitationMapping@@PEAVCFastHeap@@1PEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CQualifierSetList::CreateListOfEmpties(unsigned char * __ptr64,int)
-?CreateListOfEmpties@CQualifierSetList@@SAPEAEPEAEH@Z
-; protected: long __cdecl CMethodPart::CreateMethod(unsigned short const * __ptr64,class CWbemObject * __ptr64,class CWbemObject * __ptr64) __ptr64
-?CreateMethod@CMethodPart@@IEAAJPEBGPEAVCWbemObject@@1@Z
-; public: int __cdecl CFastHeap::CreateNoCaseStringHeapPtr(unsigned short const * __ptr64,unsigned long & __ptr64 __ptr64) __ptr64
-?CreateNoCaseStringHeapPtr@CFastHeap@@QEAAHPEBGAEFAK@Z
-; public: unsigned char * __ptr64 __cdecl CFastHeap::CreateOutOfLine(unsigned char * __ptr64,unsigned long) __ptr64
-?CreateOutOfLine@CFastHeap@@QEAAPEAEPEAEK@Z
-; protected: long __cdecl CWbemRefreshingSvc::CreateRefreshableObjectTemplate(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?CreateRefreshableObjectTemplate@CWbemRefreshingSvc@@IEAAJPEBGJPEAPEAUIWbemClassObject@@@Z
-; public: static int __cdecl CMethodDescription::CreateUnmergedVersion(struct CMethodDescription * __ptr64 __ptr64,struct CMethodDescription * __ptr64 __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
-?CreateUnmergedVersion@CMethodDescription@@SAHPEFAU1@0PEAVCFastHeap@@1@Z
-; public: class WString  __cdecl CCompressedString::CreateWStringCopy(void)const  __ptr64
-?CreateWStringCopy@CCompressedString@@QEBA?AVWString@@XZ
-; public: unsigned char * __ptr64 __cdecl CCompressedStringList::CreateWithExtra(unsigned char * __ptr64,class CCompressedString * __ptr64) __ptr64
-?CreateWithExtra@CCompressedStringList@@QEAAPEAEPEAEPEAVCCompressedString@@@Z
-; public: virtual long __cdecl CWbemClass::Decorate(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?Decorate@CWbemClass@@UEAAJPEBG0@Z
-; public: virtual long __cdecl CWbemInstance::Decorate(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?Decorate@CWbemInstance@@UEAAJPEBG0@Z
-; public: static void __cdecl CBasicQualifierSet::Delete(unsigned char * __ptr64,class CFastHeap * __ptr64)
-?Delete@CBasicQualifierSet@@SAXPEAEPEAVCFastHeap@@@Z
-; public: virtual long __cdecl CQualifierSet::Delete(unsigned short const * __ptr64) __ptr64
-?Delete@CQualifierSet@@UEAAJPEBG@Z
-; public: void __cdecl CUntypedArray::Delete(class CType,class CFastHeap * __ptr64) __ptr64
-?Delete@CUntypedArray@@QEAAXVCType@@PEAVCFastHeap@@@Z
-; public: virtual long __cdecl CWbemClass::Delete(unsigned short const * __ptr64) __ptr64
-?Delete@CWbemClass@@UEAAJPEBG@Z
-; public: virtual long __cdecl CWbemInstance::Delete(unsigned short const * __ptr64) __ptr64
-?Delete@CWbemInstance@@UEAAJPEBG@Z
-; public: long __cdecl CMethodPart::DeleteMethod(unsigned short const * __ptr64) __ptr64
-?DeleteMethod@CMethodPart@@QEAAJPEBG@Z
-; public: virtual long __cdecl CWbemClass::DeleteMethod(unsigned short const * __ptr64) __ptr64
-?DeleteMethod@CWbemClass@@UEAAJPEBG@Z
-; public: virtual long __cdecl CWbemInstance::DeleteMethod(unsigned short const * __ptr64) __ptr64
-?DeleteMethod@CWbemInstance@@UEAAJPEBG@Z
-; public: long __cdecl CClassPart::DeleteProperty(unsigned short const * __ptr64) __ptr64
-?DeleteProperty@CClassPart@@QEAAJPEBG@Z
-; public: void __cdecl CClassPart::DeleteProperty(int) __ptr64
-?DeleteProperty@CClassPart@@QEAAXH@Z
-; public: void __cdecl CInstancePart::DeleteProperty(class CPropertyInformation * __ptr64) __ptr64
-?DeleteProperty@CInstancePart@@QEAAXPEAVCPropertyInformation@@@Z
-; public: void __cdecl CPropertyLookupTable::DeleteProperty(struct CPropertyLookup * __ptr64,int) __ptr64
-?DeleteProperty@CPropertyLookupTable@@QEAAXPEAUCPropertyLookup@@H@Z
-; public: long __cdecl CWbemInstance::DeleteProperty(int) __ptr64
-?DeleteProperty@CWbemInstance@@QEAAJH@Z
-; public: long __cdecl CQualifierSet::DeleteQualifier(unsigned short const * __ptr64,int) __ptr64
-?DeleteQualifier@CQualifierSet@@QEAAJPEBGH@Z
-; public: void __cdecl CQualifierSetList::DeleteQualifierSet(int) __ptr64
-?DeleteQualifierSet@CQualifierSetList@@QEAAXH@Z
-; protected: void __cdecl CMethodPart::DeleteSignature(int,int) __ptr64
-?DeleteSignature@CMethodPart@@IEAAXHH@Z
-; protected: static long __cdecl CWbemObject::DisabledValidateObject(class CWbemObject * __ptr64)
-?DisabledValidateObject@CWbemObject@@KAJPEAV1@@Z
-; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Discard(int) __ptr64
-?Discard@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXH@Z
-; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Discard(int) __ptr64
-?Discard@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXH@Z
-; public: virtual long __cdecl CWbemObject::DisconnectObject(unsigned long) __ptr64
-?DisconnectObject@CWbemObject@@UEAAJK@Z
-; protected: int __cdecl CMethodPart::DoSignaturesMatch(int,enum METHOD_SIGNATURE_TYPE,class CWbemObject * __ptr64) __ptr64
-?DoSignaturesMatch@CMethodPart@@IEAAHHW4METHOD_SIGNATURE_TYPE@@PEAVCWbemObject@@@Z
-; public: static int __cdecl CType::DoesCIMTYPEMatchVARTYPE(long,unsigned short)
-?DoesCIMTYPEMatchVARTYPE@CType@@SAHJG@Z
-; protected: int __cdecl CMethodPart::DoesSignatureMatchOther(class CMethodPart & __ptr64,int,enum METHOD_SIGNATURE_TYPE) __ptr64
-?DoesSignatureMatchOther@CMethodPart@@IEAAHAEAV1@HW4METHOD_SIGNATURE_TYPE@@@Z
-; public: int __cdecl CFastHeap::ElementMaxSize(unsigned long) __ptr64
-?ElementMaxSize@CFastHeap@@QEAAHK@Z
-; public: void __cdecl CFastHeap::Empty(void) __ptr64
-?Empty@CFastHeap@@QEAAXXZ
-; public: void __cdecl CInternalString::Empty(void) __ptr64
-?Empty@CInternalString@@QEAAXXZ
-; protected: static long __cdecl CWbemObject::EnabledValidateObject(class CWbemObject * __ptr64)
-?EnabledValidateObject@CWbemObject@@KAJPEAV1@@Z
-; public: virtual long __cdecl CQualifierSet::EndEnumeration(void) __ptr64
-?EndEnumeration@CQualifierSet@@UEAAJXZ
-; public: virtual long __cdecl CWbemObject::EndEnumeration(void) __ptr64
-?EndEnumeration@CWbemObject@@UEAAJXZ
-; public: virtual long __cdecl CWbemClass::EndMethodEnumeration(void) __ptr64
-?EndMethodEnumeration@CWbemClass@@UEAAJXZ
-; public: virtual long __cdecl CWbemInstance::EndMethodEnumeration(void) __ptr64
-?EndMethodEnumeration@CWbemInstance@@UEAAJXZ
-; public: long __cdecl CClassPart::EnsureProperty(unsigned short const * __ptr64,unsigned short,long,int) __ptr64
-?EnsureProperty@CClassPart@@QEAAJPEBGGJH@Z
-; public: long __cdecl CMethodPart::EnsureQualifier(class CWbemObject * __ptr64,unsigned short const * __ptr64,class CWbemObject * __ptr64 * __ptr64) __ptr64
-?EnsureQualifier@CMethodPart@@QEAAJPEAVCWbemObject@@PEBGPEAPEAV2@@Z
-; public: long __cdecl CWbemClass::EnsureQualifier(unsigned short const * __ptr64) __ptr64
-?EnsureQualifier@CWbemClass@@QEAAJPEBG@Z
-; public: int __cdecl CQualifierSetList::EnsureReal(void) __ptr64
-?EnsureReal@CQualifierSetList@@QEAAHXZ
-; public: long __cdecl CBasicQualifierSet::EnumPrimaryQualifiers(unsigned char,unsigned char,class CFixedBSTRArray & __ptr64,class CFixedBSTRArray & __ptr64) __ptr64
-?EnumPrimaryQualifiers@CBasicQualifierSet@@QEAAJEEAEAVCFixedBSTRArray@@0@Z
-; public: long __cdecl CQualifierSet::EnumQualifiers(unsigned char,unsigned char,class CFixedBSTRArray & __ptr64) __ptr64
-?EnumQualifiers@CQualifierSet@@QEAAJEEAEAVCFixedBSTRArray@@@Z
-; public: unsigned long __cdecl CWbemClass::EstimateDerivedClassSpace(class CDecorationPart * __ptr64) __ptr64
-?EstimateDerivedClassSpace@CWbemClass@@QEAAKPEAVCDecorationPart@@@Z
-; public: unsigned long __cdecl CClassAndMethods::EstimateDerivedPartSpace(void) __ptr64
-?EstimateDerivedPartSpace@CClassAndMethods@@QEAAKXZ
-; public: unsigned long __cdecl CClassPart::EstimateDerivedPartSpace(void) __ptr64
-?EstimateDerivedPartSpace@CClassPart@@QEAAKXZ
-; public: unsigned long __cdecl CMethodPart::EstimateDerivedPartSpace(void) __ptr64
-?EstimateDerivedPartSpace@CMethodPart@@QEAAKXZ
-; public: static unsigned long __cdecl CCompressedStringList::EstimateExtraSpace(class CCompressedString * __ptr64)
-?EstimateExtraSpace@CCompressedStringList@@SAKPEAVCCompressedString@@@Z
-; public: static unsigned long __cdecl CCompressedStringList::EstimateExtraSpace(unsigned short const * __ptr64)
-?EstimateExtraSpace@CCompressedStringList@@SAKPEBG@Z
-; public: static unsigned long __cdecl CWbemInstance::EstimateInstanceSpace(class CClassPart & __ptr64,class CDecorationPart * __ptr64)
-?EstimateInstanceSpace@CWbemInstance@@SAKAEAVCClassPart@@PEAVCDecorationPart@@@Z
-; public: unsigned long __cdecl CWbemObject::EstimateLimitedRepresentationSpace(long,class CWStringArray * __ptr64) __ptr64
-?EstimateLimitedRepresentationSpace@CWbemObject@@QEAAKJPEAVCWStringArray@@@Z
-; public: static unsigned long __cdecl CClassAndMethods::EstimateMergeSpace(class CClassAndMethods & __ptr64,class CClassAndMethods & __ptr64)
-?EstimateMergeSpace@CClassAndMethods@@SAKAEAV1@0@Z
-; public: static unsigned long __cdecl CClassPart::EstimateMergeSpace(class CClassPart & __ptr64,class CClassPart & __ptr64)
-?EstimateMergeSpace@CClassPart@@SAKAEAV1@0@Z
-; public: static unsigned long __cdecl CMethodPart::EstimateMergeSpace(class CMethodPart & __ptr64,class CMethodPart & __ptr64)
-?EstimateMergeSpace@CMethodPart@@SAKAEAV1@0@Z
-; public: unsigned long __cdecl CWbemClass::EstimateMergeSpace(unsigned char * __ptr64,long) __ptr64
-?EstimateMergeSpace@CWbemClass@@QEAAKPEAEJ@Z
-; public: static unsigned long __cdecl CEmbeddedObject::EstimateNecessarySpace(class CVar & __ptr64)
-?EstimateNecessarySpace@CEmbeddedObject@@SAKAEAVCVar@@@Z
-; public: static unsigned long __cdecl CEmbeddedObject::EstimateNecessarySpace(class CWbemObject * __ptr64)
-?EstimateNecessarySpace@CEmbeddedObject@@SAKPEAVCWbemObject@@@Z
-; public: unsigned long __cdecl CClassAndMethods::EstimateUnmergeSpace(void) __ptr64
-?EstimateUnmergeSpace@CClassAndMethods@@QEAAKXZ
-; public: unsigned long __cdecl CClassPart::EstimateUnmergeSpace(void) __ptr64
-?EstimateUnmergeSpace@CClassPart@@QEAAKXZ
-; public: unsigned long __cdecl CMethodPart::EstimateUnmergeSpace(void) __ptr64
-?EstimateUnmergeSpace@CMethodPart@@QEAAKXZ
-; public: virtual unsigned long __cdecl CWbemClass::EstimateUnmergeSpace(void) __ptr64
-?EstimateUnmergeSpace@CWbemClass@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemInstance::EstimateUnmergeSpace(void) __ptr64
-?EstimateUnmergeSpace@CWbemInstance@@UEAAKXZ
-; public: int __cdecl CFastHeap::Extend(unsigned long,unsigned long,unsigned long) __ptr64
-?Extend@CFastHeap@@QEAAHKKK@Z
-; public: int __cdecl CWbemClass::ExtendClassAndMethodsSpace(unsigned long) __ptr64
-?ExtendClassAndMethodsSpace@CWbemClass@@QEAAHK@Z
-; public: virtual int __cdecl CClassAndMethods::ExtendClassPartSpace(class CClassPart * __ptr64,unsigned long) __ptr64
-?ExtendClassPartSpace@CClassAndMethods@@UEAAHPEAVCClassPart@@K@Z
-; public: virtual int __cdecl CWbemInstance::ExtendClassPartSpace(class CClassPart * __ptr64,unsigned long) __ptr64
-?ExtendClassPartSpace@CWbemInstance@@UEAAHPEAVCClassPart@@K@Z
-; public: virtual int __cdecl CClassPart::ExtendDataTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ExtendDataTableSpace@CClassPart@@UEAAHPEAEKK@Z
-; public: virtual int __cdecl CInstancePart::ExtendDataTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ExtendDataTableSpace@CInstancePart@@UEAAHPEAEKK@Z
-; public: virtual int __cdecl CClassPart::ExtendHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ExtendHeapSize@CClassPart@@UEAAHPEAEKK@Z
-; public: virtual int __cdecl CInstancePart::ExtendHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ExtendHeapSize@CInstancePart@@UEAAHPEAEKK@Z
-; public: virtual int __cdecl CMethodPart::ExtendHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ExtendHeapSize@CMethodPart@@UEAAHPEAEKK@Z
-; public: virtual int __cdecl CWbemInstance::ExtendInstancePartSpace(class CInstancePart * __ptr64,unsigned long) __ptr64
-?ExtendInstancePartSpace@CWbemInstance@@UEAAHPEAVCInstancePart@@K@Z
-; public: virtual int __cdecl CClassAndMethods::ExtendMethodPartSpace(class CMethodPart * __ptr64,unsigned long) __ptr64
-?ExtendMethodPartSpace@CClassAndMethods@@UEAAHPEAVCMethodPart@@K@Z
-; public: virtual int __cdecl CClassPart::ExtendPropertyTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ExtendPropertyTableSpace@CClassPart@@UEAAHPEAEKK@Z
-; public: virtual int __cdecl CInstancePart::ExtendQualifierSetListSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ExtendQualifierSetListSpace@CInstancePart@@UEAAHPEAEKK@Z
-; public: virtual int __cdecl CClassPart::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ExtendQualifierSetSpace@CClassPart@@UEAAHPEAVCBasicQualifierSet@@K@Z
-; public: virtual int __cdecl CInstancePQSContainer::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ExtendQualifierSetSpace@CInstancePQSContainer@@UEAAHPEAVCBasicQualifierSet@@K@Z
-; public: virtual int __cdecl CInstancePart::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ExtendQualifierSetSpace@CInstancePart@@UEAAHPEAVCBasicQualifierSet@@K@Z
-; public: virtual int __cdecl CMethodQualifierSetContainer::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ExtendQualifierSetSpace@CMethodQualifierSetContainer@@UEAAHPEAVCBasicQualifierSet@@K@Z
-; public: int __cdecl CQualifierSetList::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ExtendQualifierSetSpace@CQualifierSetList@@QEAAHPEAVCBasicQualifierSet@@K@Z
-; public: int __cdecl CDataTable::ExtendTo(unsigned short,unsigned long) __ptr64
-?ExtendTo@CDataTable@@QEAAHGK@Z
-; public: long __cdecl CWbemInstance::FastClone(class CWbemInstance * __ptr64) __ptr64
-?FastClone@CWbemInstance@@QEAAJPEAV1@@Z
-; public: void __cdecl CFixedBSTRArray::Filter(unsigned short const * __ptr64,int) __ptr64
-?Filter@CFixedBSTRArray@@QEAAXPEBGH@Z
-; public: int __cdecl CCompressedStringList::Find(unsigned short const * __ptr64) __ptr64
-?Find@CCompressedStringList@@QEAAHPEBG@Z
-; public: class WString  __cdecl CWbemClass::FindLimitationError(long,class CWStringArray * __ptr64) __ptr64
-?FindLimitationError@CWbemClass@@QEAA?AVWString@@JPEAVCWStringArray@@@Z
-; protected: int __cdecl CMethodPart::FindMethod(unsigned short const * __ptr64) __ptr64
-?FindMethod@CMethodPart@@IEAAHPEBG@Z
-; public: virtual long __cdecl CWbemClass::FindMethod(unsigned short const * __ptr64) __ptr64
-?FindMethod@CWbemClass@@UEAAJPEBG@Z
-; public: virtual long __cdecl CWbemObject::FindMethod(unsigned short const * __ptr64) __ptr64
-?FindMethod@CWbemObject@@UEAAJPEBG@Z
-; public: static int __cdecl CSystemProperties::FindName(unsigned short const * __ptr64)
-?FindName@CSystemProperties@@SAHPEBG@Z
-; protected: class CFastPropertyBagItem * __ptr64 __cdecl CFastPropertyBag::FindProperty(unsigned short const * __ptr64) __ptr64
-?FindProperty@CFastPropertyBag@@IEAAPEAVCFastPropertyBagItem@@PEBG@Z
-; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::FindProperty(unsigned short const * __ptr64) __ptr64
-?FindProperty@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@PEBG@Z
-; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::FindPropertyByName(class CCompressedString * __ptr64) __ptr64
-?FindPropertyByName@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@PEAVCCompressedString@@@Z
-; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::FindPropertyByOffset(unsigned long) __ptr64
-?FindPropertyByOffset@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@K@Z
-; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::FindPropertyByPtr(unsigned long) __ptr64
-?FindPropertyByPtr@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@K@Z
-; protected: int __cdecl CFastPropertyBag::FindPropertyIndex(unsigned short const * __ptr64) __ptr64
-?FindPropertyIndex@CFastPropertyBag@@IEAAHPEBG@Z
-; public: class CPropertyInformation * __ptr64 __cdecl CClassPart::FindPropertyInfo(unsigned short const * __ptr64) __ptr64
-?FindPropertyInfo@CClassPart@@QEAAPEAVCPropertyInformation@@PEBG@Z
-; public: long __cdecl CWbemClass::ForcePropValue(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
-?ForcePropValue@CWbemClass@@QEAAJPEBGPEAVCVar@@J@Z
-; public: long __cdecl CWbemClass::ForcePut(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long) __ptr64
-?ForcePut@CWbemClass@@QEAAJPEBGJPEAUtagVARIANT@@J@Z
-; public: void __cdecl CFastHeap::Free(unsigned long,unsigned long) __ptr64
-?Free@CFastHeap@@QEAAXKK@Z
-; public: void __cdecl CFixedBSTRArray::Free(void) __ptr64
-?Free@CFixedBSTRArray@@QEAAXXZ
-; public: void __cdecl CFastHeap::FreeString(unsigned long) __ptr64
-?FreeString@CFastHeap@@QEAAXK@Z
-; public: long __cdecl CFastPropertyBag::Get(int,unsigned short const * __ptr64 * __ptr64,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
-?Get@CFastPropertyBag@@QEAAJHPEAPEBGPEAJPEAK2PEAPEAX@Z
-; public: long __cdecl CFastPropertyBag::Get(unsigned short const * __ptr64,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
-?Get@CFastPropertyBag@@QEAAJPEBGPEAJPEAK2PEAPEAX@Z
-; public: virtual long __cdecl CQualifierSet::Get(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long * __ptr64) __ptr64
-?Get@CQualifierSet@@UEAAJPEBGJPEAUtagVARIANT@@PEAJ@Z
-; public: long __cdecl CWbemFetchRefrMgr::Get(struct _IWbemRefresherMgr * __ptr64 * __ptr64) __ptr64
-?Get@CWbemFetchRefrMgr@@QEAAJPEAPEAU_IWbemRefresherMgr@@@Z
-; public: virtual long __cdecl CWbemObject::Get(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?Get@CWbemObject@@UEAAJPEBGJPEAUtagVARIANT@@PEAJ2@Z
-; public: virtual long __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::Get(struct _IWbemRefresherMgr * __ptr64 * __ptr64) __ptr64
-?Get@XFetchRefrMgr@CWbemFetchRefrMgr@@UEAAJPEAPEAU_IWbemRefresherMgr@@@Z
-; public: unsigned char __cdecl CClassPart::GetAbstractFlavor(void) __ptr64
-?GetAbstractFlavor@CClassPart@@QEAAEXZ
-; public: unsigned char __cdecl CWbemClass::GetAbstractFlavor(void) __ptr64
-?GetAbstractFlavor@CWbemClass@@QEAAEXZ
-; public: void __cdecl CWbemInstance::GetActualTransferBlob(unsigned char * __ptr64) __ptr64
-?GetActualTransferBlob@CWbemInstance@@QEAAXPEAE@Z
-; public: long __cdecl CWbemInstance::GetActualTransferBlobSize(void) __ptr64
-?GetActualTransferBlobSize@CWbemInstance@@QEAAJXZ
-; public: unsigned long __cdecl CType::GetActualType(void) __ptr64
-?GetActualType@CType@@QEAAKXZ
-; public: static unsigned long __cdecl CType::GetActualType(unsigned long)
-?GetActualType@CType@@SAKK@Z
-; public: long __cdecl CInstancePart::GetActualValue(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
-?GetActualValue@CInstancePart@@QEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
-; public: unsigned long __cdecl CFastHeap::GetAllocatedDataLength(void) __ptr64
-?GetAllocatedDataLength@CFastHeap@@QEAAKXZ
-; public: class CFlexArray & __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetArray(void) __ptr64
-?GetArray@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAAEAVCFlexArray@@XZ
-; public: class CFlexArray & __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetArray(void) __ptr64
-?GetArray@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAAEAVCFlexArray@@XZ
-; public: class CUntypedArray * __ptr64 __cdecl CWbemObject::GetArrayByHandle(long) __ptr64
-?GetArrayByHandle@CWbemObject@@QEAAPEAVCUntypedArray@@J@Z
-; public: virtual long __cdecl CWbemObject::GetArrayPropAddrByHandle(long,long,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
-?GetArrayPropAddrByHandle@CWbemObject@@UEAAJJJPEAKPEAPEAX@Z
-; public: virtual long __cdecl CWbemObject::GetArrayPropElementByHandle(long,long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
-?GetArrayPropElementByHandle@CWbemObject@@UEAAJJJKPEAK0PEAPEAX@Z
-; public: virtual long __cdecl CWbemObject::GetArrayPropInfoByHandle(long,long,unsigned short * __ptr64 * __ptr64,long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetArrayPropInfoByHandle@CWbemObject@@UEAAJJJPEAPEAGPEAJPEAK@Z
-; public: virtual long __cdecl CWbemObject::GetArrayPropRangeByHandle(long,long,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
-?GetArrayPropRangeByHandle@CWbemObject@@UEAAJJJKKKPEAK0PEAX@Z
-; public: long __cdecl CWbemObject::GetArrayPropertyHandle(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetArrayPropertyHandle@CWbemObject@@QEAAJPEBGPEAJ1@Z
-; public: class CFastPropertyBagItem * __ptr64 * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetArrayPtr(void) __ptr64
-?GetArrayPtr@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAPEAPEAVCFastPropertyBagItem@@XZ
-; public: class CWmiTextSource * __ptr64 * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetArrayPtr(void) __ptr64
-?GetArrayPtr@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAPEAPEAVCWmiTextSource@@XZ
-; public: class CFastPropertyBagItem * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetAt(int) __ptr64
-?GetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAPEAVCFastPropertyBagItem@@H@Z
-; public: class CFastPropertyBagItem const * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetAt(int)const  __ptr64
-?GetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEBAPEBVCFastPropertyBagItem@@H@Z
-; public: class CWmiTextSource * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetAt(int) __ptr64
-?GetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAPEAVCWmiTextSource@@H@Z
-; public: class CWmiTextSource const * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetAt(int)const  __ptr64
-?GetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEBAPEBVCWmiTextSource@@H@Z
-; public: unsigned short * __ptr64 & __ptr64 __cdecl CFixedBSTRArray::GetAt(int) __ptr64
-?GetAt@CFixedBSTRArray@@QEAAAEAPEAGH@Z
-; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::GetAt(int) __ptr64
-?GetAt@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@H@Z
-; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetAtFromLast(int) __ptr64
-?GetAtFromLast@CCompressedStringList@@QEAAPEAVCCompressedString@@H@Z
-; public: long __cdecl CWbemCallSecurity::GetAuthentication(unsigned long * __ptr64) __ptr64
-?GetAuthentication@CWbemCallSecurity@@QEAAJPEAK@Z
-; public: virtual long __cdecl CWbemThreadSecurityHandle::GetAuthentication(unsigned long * __ptr64) __ptr64
-?GetAuthentication@CWbemThreadSecurityHandle@@UEAAJPEAK@Z
-; public: unsigned long __cdecl CWbemThreadSecurityHandle::GetAuthenticationLevel(void) __ptr64
-?GetAuthenticationLevel@CWbemThreadSecurityHandle@@QEAAKXZ
-; public: virtual long __cdecl CWbemCallSecurity::GetAuthenticationLuid(void * __ptr64) __ptr64
-?GetAuthenticationLuid@CWbemCallSecurity@@UEAAJPEAX@Z
-; public: virtual long __cdecl CWbemThreadSecurityHandle::GetAuthenticationLuid(void * __ptr64) __ptr64
-?GetAuthenticationLuid@CWbemThreadSecurityHandle@@UEAAJPEAX@Z
-; public: unsigned long __cdecl CWbemThreadSecurityHandle::GetAuthenticationService(void) __ptr64
-?GetAuthenticationService@CWbemThreadSecurityHandle@@QEAAKXZ
-; public: unsigned long __cdecl CWbemThreadSecurityHandle::GetAuthorizationService(void) __ptr64
-?GetAuthorizationService@CWbemThreadSecurityHandle@@QEAAKXZ
-; public: unsigned long __cdecl CType::GetBasic(void) __ptr64
-?GetBasic@CType@@QEAAKXZ
-; public: static unsigned long __cdecl CType::GetBasic(unsigned long)
-?GetBasic@CType@@SAKK@Z
-; protected: virtual unsigned long __cdecl CWbemClass::GetBlockLength(void) __ptr64
-?GetBlockLength@CWbemClass@@MEAAKXZ
-; protected: virtual unsigned long __cdecl CWbemInstance::GetBlockLength(void) __ptr64
-?GetBlockLength@CWbemInstance@@MEAAKXZ
-; public: unsigned long __cdecl CClassPart::GetClassIndex(unsigned short const * __ptr64) __ptr64
-?GetClassIndex@CClassPart@@QEAAKPEBG@Z
-; public: unsigned long __cdecl CWbemObject::GetClassIndex(unsigned short const * __ptr64) __ptr64
-?GetClassIndex@CWbemObject@@QEAAKPEBG@Z
-; public: class CCompressedString * __ptr64 __cdecl CWbemObject::GetClassInternal(void) __ptr64
-?GetClassInternal@CWbemObject@@QEAAPEAVCCompressedString@@XZ
-; public: static long __cdecl CClassAndMethods::GetClassNameW(class WString & __ptr64,unsigned char * __ptr64)
-?GetClassNameW@CClassAndMethods@@SAJAEAVWString@@PEAE@Z
-; public: long __cdecl CClassPart::GetClassNameW(class CVar * __ptr64) __ptr64
-?GetClassNameW@CClassPart@@QEAAJPEAVCVar@@@Z
-; public: class CCompressedString * __ptr64 __cdecl CClassPart::GetClassNameW(void) __ptr64
-?GetClassNameW@CClassPart@@QEAAPEAVCCompressedString@@XZ
-; public: virtual long __cdecl CWbemClass::GetClassNameW(class CVar * __ptr64) __ptr64
-?GetClassNameW@CWbemClass@@UEAAJPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemInstance::GetClassNameW(class CVar * __ptr64) __ptr64
-?GetClassNameW@CWbemInstance@@UEAAJPEAVCVar@@@Z
-; private: long __cdecl CWbemObjectArrayPacket::GetClassObject(class CWbemObjectPacket & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?GetClassObject@CWbemObjectArrayPacket@@AEAAJAEAVCWbemObjectPacket@@PEAPEAUIWbemClassObject@@@Z
-; protected: virtual class CClassPart * __ptr64 __cdecl CWbemClass::GetClassPart(void) __ptr64
-?GetClassPart@CWbemClass@@MEAAPEAVCClassPart@@XZ
-; public: virtual long __cdecl CWbemClass::GetClassPart(void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?GetClassPart@CWbemClass@@UEAAJPEAXKPEAK@Z
-; protected: virtual class CClassPart * __ptr64 __cdecl CWbemInstance::GetClassPart(void) __ptr64
-?GetClassPart@CWbemInstance@@MEAAPEAVCClassPart@@XZ
-; public: virtual long __cdecl CWbemInstance::GetClassPart(void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?GetClassPart@CWbemInstance@@UEAAJPEAXKPEAK@Z
-; public: long __cdecl CClassPart::GetClassQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetClassQualifier@CClassPart@@QEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: long __cdecl CClassPart::GetClassQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetClassQualifier@CClassPart@@QEAAJPEBGPEAVCVar@@PEAJ2@Z
-; public: virtual long __cdecl CWbemClass::GetClassSubset(unsigned long,unsigned short const * __ptr64 * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?GetClassSubset@CWbemClass@@UEAAJKPEAPEBGPEAPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemInstance::GetClassSubset(unsigned long,unsigned short const * __ptr64 * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?GetClassSubset@CWbemInstance@@UEAAJKPEAPEBGPEAPEAU_IWmiObject@@@Z
-; private: long __cdecl CWbemObjectArrayPacket::GetClasslessInstanceObject(class CWbemObjectPacket & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,class CWbemClassCache & __ptr64) __ptr64
-?GetClasslessInstanceObject@CWbemObjectArrayPacket@@AEAAJAEAVCWbemObjectPacket@@PEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
-; public: virtual unsigned long __cdecl CClassAndMethods::GetCurrentOrigin(void) __ptr64
-?GetCurrentOrigin@CClassAndMethods@@UEAAKXZ
-; public: virtual unsigned long __cdecl CClassPart::GetCurrentOrigin(void) __ptr64
-?GetCurrentOrigin@CClassPart@@UEAAKXZ
-; public: unsigned long __cdecl CWbemClass::GetCurrentOrigin(void) __ptr64
-?GetCurrentOrigin@CWbemClass@@QEAAKXZ
-; public: unsigned long __cdecl CDataTable::GetDataLength(void) __ptr64
-?GetDataLength@CDataTable@@QEAAKXZ
-; public: virtual class CDataTable * __ptr64 __cdecl CClassPart::GetDataTable(void) __ptr64
-?GetDataTable@CClassPart@@UEAAPEAVCDataTable@@XZ
-; public: class CDataTable * __ptr64 __cdecl CInstancePart::GetDataTable(void) __ptr64
-?GetDataTable@CInstancePart@@QEAAPEAVCDataTable@@XZ
-; public: static unsigned char * __ptr64 __cdecl CInstancePart::GetDataTableData(unsigned char * __ptr64)
-?GetDataTableData@CInstancePart@@SAPEAEPEAE@Z
-; public: long __cdecl CClassPart::GetDefaultByHandle(long,long,long * __ptr64,unsigned char * __ptr64) __ptr64
-?GetDefaultByHandle@CClassPart@@QEAAJJJPEAJPEAE@Z
-; public: long __cdecl CClassPart::GetDefaultPtrByHandle(long,void * __ptr64 * __ptr64) __ptr64
-?GetDefaultPtrByHandle@CClassPart@@QEAAJJPEAPEAX@Z
-; public: long __cdecl CClassPart::GetDefaultValue(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
-?GetDefaultValue@CClassPart@@QEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
-; public: long __cdecl CClassPart::GetDefaultValue(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
-?GetDefaultValue@CClassPart@@QEAAJPEBGPEAVCVar@@@Z
-; public: long __cdecl CClassPart::GetDerivation(class CVar * __ptr64) __ptr64
-?GetDerivation@CClassPart@@QEAAJPEAVCVar@@@Z
-; public: long __cdecl CWbemObject::GetDerivation(class CVar * __ptr64) __ptr64
-?GetDerivation@CWbemObject@@QEAAJPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemObject::GetDerivation(long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64) __ptr64
-?GetDerivation@CWbemObject@@UEAAJJKPEAK0PEAG@Z
-; public: virtual long __cdecl CWbemObject::GetDescription(unsigned short * __ptr64 * __ptr64) __ptr64
-?GetDescription@CWbemObject@@UEAAJPEAPEAG@Z
-; public: long __cdecl CClassPart::GetDynasty(class CVar * __ptr64) __ptr64
-?GetDynasty@CClassPart@@QEAAJPEAVCVar@@@Z
-; public: class CCompressedString * __ptr64 __cdecl CClassPart::GetDynasty(void) __ptr64
-?GetDynasty@CClassPart@@QEAAPEAVCCompressedString@@XZ
-; public: virtual long __cdecl CWbemClass::GetDynasty(class CVar * __ptr64) __ptr64
-?GetDynasty@CWbemClass@@UEAAJPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemInstance::GetDynasty(class CVar * __ptr64) __ptr64
-?GetDynasty@CWbemInstance@@UEAAJPEAVCVar@@@Z
-; public: unsigned char * __ptr64 __cdecl CUntypedArray::GetElement(int,int) __ptr64
-?GetElement@CUntypedArray@@QEAAPEAEHH@Z
-; public: class CWbemObject * __ptr64 __cdecl CEmbeddedObject::GetEmbedded(void) __ptr64
-?GetEmbedded@CEmbeddedObject@@QEAAPEAVCWbemObject@@XZ
-; public: class CWbemObject * __ptr64 __cdecl CWbemObject::GetEmbeddedObj(long) __ptr64
-?GetEmbeddedObj@CWbemObject@@QEAAPEAV1@J@Z
-; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetFirst(void) __ptr64
-?GetFirst@CCompressedStringList@@QEAAPEAVCCompressedString@@XZ
-; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetFirstQualifier(void) __ptr64
-?GetFirstQualifier@CBasicQualifierSet@@QEAAPEAUCQualifier@@XZ
-; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetFirstQualifierFromData(unsigned char * __ptr64)
-?GetFirstQualifierFromData@CBasicQualifierSet@@SAPEAUCQualifier@@PEAE@Z
-; public: long __cdecl CLimitationMapping::GetFlags(void) __ptr64
-?GetFlags@CLimitationMapping@@QEAAJXZ
-; public: unsigned short * __ptr64 __cdecl CWbemObject::GetFullPath(void) __ptr64
-?GetFullPath@CWbemObject@@QEAAPEAGXZ
-; public: virtual long __cdecl CWbemObject::GetGUID(struct _GUID * __ptr64) __ptr64
-?GetGUID@CWbemObject@@UEAAJPEAU_GUID@@@Z
-; public: virtual long __cdecl CWbemClass::GetGenus(class CVar * __ptr64) __ptr64
-?GetGenus@CWbemClass@@UEAAJPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemInstance::GetGenus(class CVar * __ptr64) __ptr64
-?GetGenus@CWbemInstance@@UEAAJPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::GetGuid(long,struct _GUID * __ptr64) __ptr64
-?GetGuid@XWbemRemoteRefr@CWbemRemoteRefresher@@UEAAJJPEAU_GUID@@@Z
-; public: virtual long __cdecl CWbemThreadSecurityHandle::GetHandleType(unsigned long * __ptr64) __ptr64
-?GetHandleType@CWbemThreadSecurityHandle@@UEAAJPEAK@Z
-; public: static unsigned long __cdecl CCompressedStringList::GetHeaderLength(void)
-?GetHeaderLength@CCompressedStringList@@SAKXZ
-; protected: unsigned long __cdecl CFastHeap::GetHeaderLength(void) __ptr64
-?GetHeaderLength@CFastHeap@@IEAAKXZ
-; public: static int __cdecl CQualifierSetList::GetHeaderLength(void)
-?GetHeaderLength@CQualifierSetList@@SAHXZ
-; public: static unsigned long __cdecl CUntypedArray::GetHeaderLength(void)
-?GetHeaderLength@CUntypedArray@@SAKXZ
-; public: class CFastHeap * __ptr64 __cdecl CBasicQualifierSet::GetHeap(void) __ptr64
-?GetHeap@CBasicQualifierSet@@QEAAPEAVCFastHeap@@XZ
-; public: virtual class CFastHeap * __ptr64 __cdecl CClassPart::GetHeap(void) __ptr64
-?GetHeap@CClassPart@@UEAAPEAVCFastHeap@@XZ
-; public: virtual class CFastHeap * __ptr64 __cdecl CInstancePQSContainer::GetHeap(void) __ptr64
-?GetHeap@CInstancePQSContainer@@UEAAPEAVCFastHeap@@XZ
-; public: virtual class CFastHeap * __ptr64 __cdecl CInstancePart::GetHeap(void) __ptr64
-?GetHeap@CInstancePart@@UEAAPEAVCFastHeap@@XZ
-; public: class CFastHeap * __ptr64 __cdecl CMethodPart::GetHeap(void) __ptr64
-?GetHeap@CMethodPart@@QEAAPEAVCFastHeap@@XZ
-; public: virtual class CFastHeap * __ptr64 __cdecl CMethodQualifierSetContainer::GetHeap(void) __ptr64
-?GetHeap@CMethodQualifierSetContainer@@UEAAPEAVCFastHeap@@XZ
-; public: class CFastHeap * __ptr64 __cdecl CPropertyLookupTable::GetHeap(void) __ptr64
-?GetHeap@CPropertyLookupTable@@QEAAPEAVCFastHeap@@XZ
-; public: class CFastHeap * __ptr64 __cdecl CQualifierSetList::GetHeap(void) __ptr64
-?GetHeap@CQualifierSetList@@QEAAPEAVCFastHeap@@XZ
-; public: unsigned char * __ptr64 __cdecl CFastHeap::GetHeapData(void) __ptr64
-?GetHeapData@CFastHeap@@QEAAPEAEXZ
-; public: unsigned long __cdecl CClassPart::GetHeapPtrByHandle(long) __ptr64
-?GetHeapPtrByHandle@CClassPart@@QEAAKJ@Z
-; public: unsigned long __cdecl CWbemObject::GetHeapPtrByHandle(long) __ptr64
-?GetHeapPtrByHandle@CWbemObject@@QEAAKJ@Z
-; public: virtual long __cdecl CWbemObject::GetHelpContext(unsigned long * __ptr64) __ptr64
-?GetHelpContext@CWbemObject@@UEAAJPEAK@Z
-; public: virtual long __cdecl CWbemObject::GetHelpFile(unsigned short * __ptr64 * __ptr64) __ptr64
-?GetHelpFile@CWbemObject@@UEAAJPEAPEAG@Z
-; public: unsigned short * __ptr64 __cdecl CWbemThreadSecurityHandle::GetIdentity(void) __ptr64
-?GetIdentity@CWbemThreadSecurityHandle@@QEAAPEAGXZ
-; public: long __cdecl CWbemClass::GetIds(class CFlexArray & __ptr64,class CWbemClass * __ptr64) __ptr64
-?GetIds@CWbemClass@@QEAAJAEAVCFlexArray@@PEAV1@@Z
-; public: virtual long __cdecl CWbemCallSecurity::GetImpersonation(unsigned long * __ptr64) __ptr64
-?GetImpersonation@CWbemCallSecurity@@UEAAJPEAK@Z
-; public: virtual long __cdecl CWbemThreadSecurityHandle::GetImpersonation(unsigned long * __ptr64) __ptr64
-?GetImpersonation@CWbemThreadSecurityHandle@@UEAAJPEAK@Z
-; public: unsigned long __cdecl CWbemThreadSecurityHandle::GetImpersonationLevel(void) __ptr64
-?GetImpersonationLevel@CWbemThreadSecurityHandle@@QEAAKXZ
-; protected: unsigned long * __ptr64 __ptr64 __cdecl CFastHeap::GetInLineLength(void) __ptr64
-?GetInLineLength@CFastHeap@@IEAAPEFAKXZ
-; public: static int __cdecl CFastHeap::GetIndexFromFake(unsigned long)
-?GetIndexFromFake@CFastHeap@@SAHK@Z
-; public: static int __cdecl CKnownStringTable::GetIndexOfKey(void)
-?GetIndexOfKey@CKnownStringTable@@SAHXZ
-; public: static int __cdecl CClassAndMethods::GetIndexedProps(class CWStringArray & __ptr64,unsigned char * __ptr64)
-?GetIndexedProps@CClassAndMethods@@SAHAEAVCWStringArray@@PEAE@Z
-; public: int __cdecl CClassPart::GetIndexedProps(class CWStringArray & __ptr64) __ptr64
-?GetIndexedProps@CClassPart@@QEAAHAEAVCWStringArray@@@Z
-; public: virtual int __cdecl CWbemClass::GetIndexedProps(class CWStringArray & __ptr64) __ptr64
-?GetIndexedProps@CWbemClass@@UEAAHAEAVCWStringArray@@@Z
-; public: virtual int __cdecl CWbemInstance::GetIndexedProps(class CWStringArray & __ptr64) __ptr64
-?GetIndexedProps@CWbemInstance@@UEAAHAEAVCWStringArray@@@Z
-; private: long __cdecl CWbemObjectArrayPacket::GetInstanceObject(class CWbemObjectPacket & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,class CWbemClassCache & __ptr64) __ptr64
-?GetInstanceObject@CWbemObjectArrayPacket@@AEAAJAEAVCWbemObjectPacket@@PEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
-; public: virtual struct IUnknown * __ptr64 __cdecl CWbemInstance::GetInstanceObjectUnknown(void) __ptr64
-?GetInstanceObjectUnknown@CWbemInstance@@UEAAPEAUIUnknown@@XZ
-; protected: virtual void * __ptr64 __cdecl CWbemEnumMarshaling::GetInterface(struct _GUID const & __ptr64) __ptr64
-?GetInterface@CWbemEnumMarshaling@@MEAAPEAXAEBU_GUID@@@Z
-; protected: virtual void * __ptr64 __cdecl CWbemFetchRefrMgr::GetInterface(struct _GUID const & __ptr64) __ptr64
-?GetInterface@CWbemFetchRefrMgr@@MEAAPEAXAEBU_GUID@@@Z
-; protected: virtual void * __ptr64 __cdecl CWbemRefreshingSvc::GetInterface(struct _GUID const & __ptr64) __ptr64
-?GetInterface@CWbemRefreshingSvc@@MEAAPEAXAEBU_GUID@@@Z
-; protected: virtual void * __ptr64 __cdecl CWmiObjectFactory::GetInterface(struct _GUID const & __ptr64) __ptr64
-?GetInterface@CWmiObjectFactory@@MEAAPEAXAEBU_GUID@@@Z
-; public: class CVar * __ptr64 __cdecl CWbemInstance::GetKey(void) __ptr64
-?GetKey@CWbemInstance@@QEAAPEAVCVar@@XZ
-; public: long __cdecl CClassPart::GetKeyOrigin(class WString & __ptr64) __ptr64
-?GetKeyOrigin@CClassPart@@QEAAJAEAVWString@@@Z
-; public: virtual long __cdecl CWbemClass::GetKeyOrigin(class WString & __ptr64) __ptr64
-?GetKeyOrigin@CWbemClass@@UEAAJAEAVWString@@@Z
-; public: virtual long __cdecl CWbemInstance::GetKeyOrigin(class WString & __ptr64) __ptr64
-?GetKeyOrigin@CWbemInstance@@UEAAJAEAVWString@@@Z
-; public: virtual long __cdecl CWbemObject::GetKeyOrigin(long,unsigned long,unsigned long * __ptr64,unsigned short * __ptr64) __ptr64
-?GetKeyOrigin@CWbemObject@@UEAAJJKPEAKPEAG@Z
-; public: int __cdecl CClassPart::GetKeyProps(class CWStringArray & __ptr64) __ptr64
-?GetKeyProps@CClassPart@@QEAAHAEAVCWStringArray@@@Z
-; public: virtual int __cdecl CWbemClass::GetKeyProps(class CWStringArray & __ptr64) __ptr64
-?GetKeyProps@CWbemClass@@UEAAHAEAVCWStringArray@@@Z
-; public: virtual int __cdecl CWbemInstance::GetKeyProps(class CWStringArray & __ptr64) __ptr64
-?GetKeyProps@CWbemInstance@@UEAAHAEAVCWStringArray@@@Z
-; public: unsigned short * __ptr64 __cdecl CWbemInstance::GetKeyStr(void) __ptr64
-?GetKeyStr@CWbemInstance@@QEAAPEAGXZ
-; public: virtual long __cdecl CWbemObject::GetKeyString(long,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetKeyString@CWbemObject@@UEAAJJPEAPEAG@Z
-; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetKnownQualifierLocally(int) __ptr64
-?GetKnownQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@H@Z
-; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetKnownQualifierLocally(unsigned char * __ptr64,int)
-?GetKnownQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEH@Z
-; public: static class CCompressedString & __ptr64 __cdecl CKnownStringTable::GetKnownString(int)
-?GetKnownString@CKnownStringTable@@SAAEAVCCompressedString@@H@Z
-; public: static int __cdecl CKnownStringTable::GetKnownStringIndex(unsigned short const * __ptr64)
-?GetKnownStringIndex@CKnownStringTable@@SAHPEBG@Z
-; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetLast(void) __ptr64
-?GetLast@CCompressedStringList@@QEAAPEAVCCompressedString@@XZ
-; public: unsigned long __cdecl CBasicQualifierSet::GetLength(void) __ptr64
-?GetLength@CBasicQualifierSet@@QEAAKXZ
-; public: unsigned long __cdecl CClassAndMethods::GetLength(void) __ptr64
-?GetLength@CClassAndMethods@@QEAAKXZ
-; public: unsigned long __cdecl CClassPart::GetLength(void) __ptr64
-?GetLength@CClassPart@@QEAAKXZ
-; public: int __cdecl CCompressedString::GetLength(void)const  __ptr64
-?GetLength@CCompressedString@@QEBAHXZ
-; public: unsigned long __cdecl CCompressedStringList::GetLength(void) __ptr64
-?GetLength@CCompressedStringList@@QEAAKXZ
-; public: unsigned long __cdecl CDataTable::GetLength(void) __ptr64
-?GetLength@CDataTable@@QEAAKXZ
-; public: unsigned long __cdecl CDecorationPart::GetLength(void) __ptr64
-?GetLength@CDecorationPart@@QEAAKXZ
-; public: unsigned long __cdecl CEmbeddedObject::GetLength(void) __ptr64
-?GetLength@CEmbeddedObject@@QEAAKXZ
-; public: unsigned long __cdecl CFastHeap::GetLength(void) __ptr64
-?GetLength@CFastHeap@@QEAAKXZ
-; public: int __cdecl CFixedBSTRArray::GetLength(void) __ptr64
-?GetLength@CFixedBSTRArray@@QEAAHXZ
-; public: int __cdecl CInstancePart::GetLength(void) __ptr64
-?GetLength@CInstancePart@@QEAAHXZ
-; public: static int __cdecl CInstancePart::GetLength(unsigned char * __ptr64)
-?GetLength@CInstancePart@@SAHPEAE@Z
-; public: int __cdecl CInternalString::GetLength(void)const  __ptr64
-?GetLength@CInternalString@@QEBAHXZ
-; public: unsigned long __cdecl CMethodPart::GetLength(void) __ptr64
-?GetLength@CMethodPart@@QEAAKXZ
-; public: int __cdecl CPropertyLookupTable::GetLength(void) __ptr64
-?GetLength@CPropertyLookupTable@@QEAAHXZ
-; public: int __cdecl CQualifierSetList::GetLength(void) __ptr64
-?GetLength@CQualifierSetList@@QEAAHXZ
-; public: static int __cdecl CQualifierSetList::GetLength(unsigned char * __ptr64,int)
-?GetLength@CQualifierSetList@@SAHPEAEH@Z
-; public: unsigned long __cdecl CType::GetLength(void) __ptr64
-?GetLength@CType@@QEAAKXZ
-; public: static unsigned long __cdecl CType::GetLength(unsigned long)
-?GetLength@CType@@SAKK@Z
-; public: unsigned long __cdecl CWbemClass::GetLength(void) __ptr64
-?GetLength@CWbemClass@@QEAAKXZ
-; public: unsigned long __cdecl CWbemInstance::GetLength(void) __ptr64
-?GetLength@CWbemInstance@@QEAAKXZ
-; public: unsigned long __cdecl CUntypedArray::GetLengthByActualLength(int) __ptr64
-?GetLengthByActualLength@CUntypedArray@@QEAAKH@Z
-; public: unsigned long __cdecl CUntypedArray::GetLengthByType(class CType) __ptr64
-?GetLengthByType@CUntypedArray@@QEAAKVCType@@@Z
-; public: static unsigned long __cdecl CBasicQualifierSet::GetLengthFromData(unsigned char * __ptr64)
-?GetLengthFromData@CBasicQualifierSet@@SAKPEAE@Z
-; public: long __cdecl CWbemClass::GetLimitedVersion(class CLimitationMapping * __ptr64,class CWbemClass * __ptr64 * __ptr64) __ptr64
-?GetLimitedVersion@CWbemClass@@QEAAJPEAVCLimitationMapping@@PEAPEAV1@@Z
-; public: long __cdecl CWbemInstance::GetLimitedVersion(class CLimitationMapping * __ptr64,class CWbemInstance * __ptr64 * __ptr64) __ptr64
-?GetLimitedVersion@CWbemInstance@@QEAAJPEAVCLimitationMapping@@PEAPEAV1@@Z
-; public: long __cdecl CWbemGuidToClassMap::GetMap(class CGUID & __ptr64,class CWbemClassToIdMap * __ptr64 * __ptr64) __ptr64
-?GetMap@CWbemGuidToClassMap@@QEAAJAEAVCGUID@@PEAPEAVCWbemClassToIdMap@@@Z
-; public: unsigned short __cdecl CLimitationMapping::GetMapped(unsigned short) __ptr64
-?GetMapped@CLimitationMapping@@QEAAGG@Z
-; public: class CPropertyInformation * __ptr64 __cdecl CLimitationMapping::GetMapped(class CPropertyInformation * __ptr64) __ptr64
-?GetMapped@CLimitationMapping@@QEAAPEAVCPropertyInformation@@PEAV2@@Z
-; public: long __cdecl CWbemEnumMarshaling::GetMarshalPacket(struct _GUID const & __ptr64,unsigned long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64 * __ptr64) __ptr64
-?GetMarshalPacket@CWbemEnumMarshaling@@QEAAJAEBU_GUID@@KPEAPEAUIWbemClassObject@@PEAKPEAPEAE@Z
-; public: virtual long __cdecl CWbemEnumMarshaling::XEnumMarshaling::GetMarshalPacket(struct _GUID const & __ptr64,unsigned long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64 * __ptr64) __ptr64
-?GetMarshalPacket@XEnumMarshaling@CWbemEnumMarshaling@@UEAAJAEBU_GUID@@KPEAPEAUIWbemClassObject@@PEAKPEAPEAE@Z
-; public: virtual long __cdecl CWbemObject::GetMarshalSizeMax(struct _GUID const & __ptr64,void * __ptr64,unsigned long,void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?GetMarshalSizeMax@CWbemObject@@UEAAJAEBU_GUID@@PEAXK1KPEAK@Z
-; public: virtual long __cdecl CWbemInstance::GetMaxMarshalStreamSize(unsigned long * __ptr64) __ptr64
-?GetMaxMarshalStreamSize@CWbemInstance@@UEAAJPEAK@Z
-; public: virtual long __cdecl CWbemObject::GetMaxMarshalStreamSize(unsigned long * __ptr64) __ptr64
-?GetMaxMarshalStreamSize@CWbemObject@@UEAAJPEAK@Z
-; public: virtual unsigned char * __ptr64 __cdecl CClassPart::GetMemoryLimit(void) __ptr64
-?GetMemoryLimit@CClassPart@@UEAAPEAEXZ
-; public: virtual unsigned char * __ptr64 __cdecl CInstancePart::GetMemoryLimit(void) __ptr64
-?GetMemoryLimit@CInstancePart@@UEAAPEAEXZ
-; public: virtual unsigned char * __ptr64 __cdecl CMethodPart::GetMemoryLimit(void) __ptr64
-?GetMemoryLimit@CMethodPart@@UEAAPEAEXZ
-; public: long __cdecl CMethodPart::GetMethod(unsigned short const * __ptr64,long,class CWbemObject * __ptr64 * __ptr64,class CWbemObject * __ptr64 * __ptr64) __ptr64
-?GetMethod@CMethodPart@@QEAAJPEBGJPEAPEAVCWbemObject@@1@Z
-; public: virtual long __cdecl CWbemClass::GetMethod(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?GetMethod@CWbemClass@@UEAAJPEBGJPEAPEAUIWbemClassObject@@1@Z
-; public: virtual long __cdecl CWbemInstance::GetMethod(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?GetMethod@CWbemInstance@@UEAAJPEBGJPEAPEAUIWbemClassObject@@1@Z
-; public: long __cdecl CMethodPart::GetMethodAt(int,unsigned short * __ptr64 * __ptr64,class CWbemObject * __ptr64 * __ptr64,class CWbemObject * __ptr64 * __ptr64) __ptr64
-?GetMethodAt@CMethodPart@@QEAAJHPEAPEAGPEAPEAVCWbemObject@@1@Z
-; public: long __cdecl CMethodPart::GetMethodOrigin(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?GetMethodOrigin@CMethodPart@@QEAAJPEBGPEAK@Z
-; public: virtual long __cdecl CWbemClass::GetMethodOrigin(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetMethodOrigin@CWbemClass@@UEAAJPEBGPEAPEAG@Z
-; public: virtual long __cdecl CWbemInstance::GetMethodOrigin(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetMethodOrigin@CWbemInstance@@UEAAJPEBGPEAPEAG@Z
-; public: virtual long __cdecl CWbemObject::GetMethodQual(unsigned short const * __ptr64,unsigned short const * __ptr64,long,unsigned long,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
-?GetMethodQual@CWbemObject@@UEAAJPEBG0JKPEAJPEAK2PEAX@Z
-; public: virtual long __cdecl CWbemClass::GetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetMethodQualifier@CWbemClass@@UEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: virtual long __cdecl CWbemClass::GetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetMethodQualifier@CWbemClass@@UEAAJPEBG0PEAVCVar@@PEAJ2@Z
-; public: virtual long __cdecl CWbemInstance::GetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetMethodQualifier@CWbemInstance@@UEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: virtual long __cdecl CWbemInstance::GetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetMethodQualifier@CWbemInstance@@UEAAJPEBG0PEAVCVar@@PEAJ2@Z
-; public: long __cdecl CMethodPart::GetMethodQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
-?GetMethodQualifierSet@CMethodPart@@QEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
-; public: virtual long __cdecl CWbemClass::GetMethodQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
-?GetMethodQualifierSet@CWbemClass@@UEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
-; public: virtual long __cdecl CWbemInstance::GetMethodQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
-?GetMethodQualifierSet@CWbemInstance@@UEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
-; public: unsigned long __cdecl CWbemDataPacket::GetMinHeaderSize(void) __ptr64
-?GetMinHeaderSize@CWbemDataPacket@@QEAAKXZ
-; public: static unsigned long __cdecl CBasicQualifierSet::GetMinLength(void)
-?GetMinLength@CBasicQualifierSet@@SAKXZ
-; public: static unsigned long __cdecl CClassAndMethods::GetMinLength(void)
-?GetMinLength@CClassAndMethods@@SAKXZ
-; public: static int __cdecl CClassPart::GetMinLength(void)
-?GetMinLength@CClassPart@@SAHXZ
-; public: static unsigned long __cdecl CDataTable::GetMinLength(void)
-?GetMinLength@CDataTable@@SAKXZ
-; public: static unsigned long __cdecl CDecorationPart::GetMinLength(void)
-?GetMinLength@CDecorationPart@@SAKXZ
-; public: static unsigned long __cdecl CFastHeap::GetMinLength(void)
-?GetMinLength@CFastHeap@@SAKXZ
-; public: static unsigned long __cdecl CMethodPart::GetMinLength(void)
-?GetMinLength@CMethodPart@@SAKXZ
-; public: static unsigned long __cdecl CPropertyLookupTable::GetMinLength(void)
-?GetMinLength@CPropertyLookupTable@@SAKXZ
-; public: static unsigned long __cdecl CWbemClass::GetMinLength(void)
-?GetMinLength@CWbemClass@@SAKXZ
-; protected: class CCompressedString * __ptr64 __cdecl CMethodPart::GetName(int) __ptr64
-?GetName@CMethodPart@@IEAAPEAVCCompressedString@@H@Z
-; public: static unsigned short * __ptr64 __cdecl CSystemProperties::GetNameAsBSTR(int)
-?GetNameAsBSTR@CSystemProperties@@SAPEAGH@Z
-; public: virtual long __cdecl CQualifierSet::GetNames(long,struct tagSAFEARRAY * __ptr64 * __ptr64) __ptr64
-?GetNames@CQualifierSet@@UEAAJJPEAPEAUtagSAFEARRAY@@@Z
-; public: virtual long __cdecl CWbemObject::GetNames(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,struct tagSAFEARRAY * __ptr64 * __ptr64) __ptr64
-?GetNames@CWbemObject@@UEAAJPEBGJPEAUtagVARIANT@@PEAPEAUtagSAFEARRAY@@@Z
-; public: long __cdecl CWbemObject::GetNamespace(class CVar * __ptr64) __ptr64
-?GetNamespace@CWbemObject@@QEAAJPEAVCVar@@@Z
-; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetNext(class CCompressedString * __ptr64) __ptr64
-?GetNext@CCompressedStringList@@QEAAPEAVCCompressedString@@PEAV2@@Z
-; public: long __cdecl CWbemInstance::GetNonsystemPropertyValue(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
-?GetNonsystemPropertyValue@CWbemInstance@@QEAAJPEBGPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemObject::GetNormalizedPath(long,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetNormalizedPath@CWbemObject@@UEAAJJPEAPEAG@Z
-; public: unsigned long __cdecl CDataTable::GetNullnessLength(void) __ptr64
-?GetNullnessLength@CDataTable@@QEAAKXZ
-; public: static int __cdecl CSystemProperties::GetNumDecorationIndependentProperties(void)
-?GetNumDecorationIndependentProperties@CSystemProperties@@SAHXZ
-; public: int __cdecl CUntypedArray::GetNumElements(void) __ptr64
-?GetNumElements@CUntypedArray@@QEAAHXZ
-; public: int __cdecl CLimitationMapping::GetNumMappings(void) __ptr64
-?GetNumMappings@CLimitationMapping@@QEAAHXZ
-; protected: int __cdecl CMethodPart::GetNumMethods(void) __ptr64
-?GetNumMethods@CMethodPart@@IEAAHXZ
-; public: int __cdecl CWbemObject::GetNumParents(void) __ptr64
-?GetNumParents@CWbemObject@@QEAAHXZ
-; public: int __cdecl CPropertyLookupTable::GetNumProperties(void) __ptr64
-?GetNumProperties@CPropertyLookupTable@@QEAAHXZ
-; public: virtual int __cdecl CWbemClass::GetNumProperties(void) __ptr64
-?GetNumProperties@CWbemClass@@UEAAHXZ
-; public: virtual int __cdecl CWbemInstance::GetNumProperties(void) __ptr64
-?GetNumProperties@CWbemInstance@@UEAAHXZ
-; public: int __cdecl CQualifierSetList::GetNumSets(void) __ptr64
-?GetNumSets@CQualifierSetList@@QEAAHXZ
-; public: int __cdecl CCompressedStringList::GetNumStrings(void) __ptr64
-?GetNumStrings@CCompressedStringList@@QEAAHXZ
-; public: static int __cdecl CSystemProperties::GetNumSystemProperties(void)
-?GetNumSystemProperties@CSystemProperties@@SAHXZ
-; public: int __cdecl CBasicQualifierSet::GetNumUpperBound(void) __ptr64
-?GetNumUpperBound@CBasicQualifierSet@@QEAAHXZ
-; public: virtual long __cdecl CWbemObject::GetObjQual(unsigned short const * __ptr64,long,unsigned long,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
-?GetObjQual@CWbemObject@@UEAAJPEBGJKPEAJPEAK2PEAX@Z
-; public: virtual long __cdecl CWbemObject::GetObjectMemory(void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?GetObjectMemory@CWbemObject@@UEAAJPEAXKPEAK@Z
-; public: virtual long __cdecl CWbemClass::GetObjectParts(void * __ptr64,unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
-?GetObjectParts@CWbemClass@@UEAAJPEAXKKPEAK@Z
-; public: virtual long __cdecl CWbemInstance::GetObjectParts(void * __ptr64,unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
-?GetObjectParts@CWbemInstance@@UEAAJPEAXKKPEAK@Z
-; public: long __cdecl CInstancePart::GetObjectQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64) __ptr64
-?GetObjectQualifier@CInstancePart@@QEAAJPEBGPEAVCVar@@PEAJ@Z
-; public: virtual long __cdecl CWbemClass::GetObjectText(long,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetObjectText@CWbemClass@@UEAAJJPEAPEAG@Z
-; public: virtual long __cdecl CWbemInstance::GetObjectText(long,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetObjectText@CWbemInstance@@UEAAJJPEAPEAG@Z
-; public: long __cdecl CWbemClassCache::GetObjectW(struct _GUID & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?GetObjectW@CWbemClassCache@@QEAAJAEAU_GUID@@PEAPEAUIWbemClassObject@@@Z
-; public: class CUntypedValue * __ptr64 __cdecl CDataTable::GetOffset(unsigned long) __ptr64
-?GetOffset@CDataTable@@QEAAPEAVCUntypedValue@@K@Z
-; public: class CCompressedString * __ptr64 __cdecl CWbemObject::GetParentAtIndex(int) __ptr64
-?GetParentAtIndex@CWbemObject@@QEAAPEAVCCompressedString@@H@Z
-; public: virtual long __cdecl CWbemClass::GetParentClassFromBlob(long,unsigned long,void * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetParentClassFromBlob@CWbemClass@@UEAAJJKPEAXPEAPEAG@Z
-; public: virtual long __cdecl CWbemObject::GetParentClassFromBlob(long,unsigned long,void * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetParentClassFromBlob@CWbemObject@@UEAAJJKPEAXPEAPEAG@Z
-; public: long __cdecl CWbemObject::GetPath(class CVar * __ptr64) __ptr64
-?GetPath@CWbemObject@@QEAAJPEAVCVar@@@Z
-; public: static class CUntypedArray * __ptr64 __cdecl CUntypedArray::GetPointer(class CPtrSource * __ptr64)
-?GetPointer@CUntypedArray@@SAPEAV1@PEAVCPtrSource@@@Z
-; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetPrevious(class CCompressedString * __ptr64) __ptr64
-?GetPrevious@CCompressedStringList@@QEAAPEAVCCompressedString@@PEAV2@@Z
-; public: virtual long __cdecl CWbemObject::GetPropAddrByHandle(long,long,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
-?GetPropAddrByHandle@CWbemObject@@UEAAJJJPEAKPEAPEAX@Z
-; public: virtual long __cdecl CWbemClass::GetPropName(int,class CVar * __ptr64) __ptr64
-?GetPropName@CWbemClass@@UEAAJHPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemInstance::GetPropName(int,class CVar * __ptr64) __ptr64
-?GetPropName@CWbemInstance@@UEAAJHPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemObject::GetPropQual(unsigned short const * __ptr64,unsigned short const * __ptr64,long,unsigned long,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
-?GetPropQual@CWbemObject@@UEAAJPEBG0JKPEAJPEAK2PEAX@Z
-; public: long __cdecl CClassPart::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropQualifier@CClassPart@@QEAAJPEAVCPropertyInformation@@PEBGPEAVCVar@@PEAJ3@Z
-; public: long __cdecl CClassPart::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetPropQualifier@CClassPart@@QEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: virtual long __cdecl CWbemClass::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetPropQualifier@CWbemClass@@UEAAJPEAVCPropertyInformation@@PEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: virtual long __cdecl CWbemClass::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropQualifier@CWbemClass@@UEAAJPEAVCPropertyInformation@@PEBGPEAVCVar@@PEAJ3@Z
-; public: virtual long __cdecl CWbemClass::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetPropQualifier@CWbemClass@@UEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: virtual long __cdecl CWbemClass::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropQualifier@CWbemClass@@UEAAJPEBG0PEAVCVar@@PEAJ2@Z
-; public: virtual long __cdecl CWbemInstance::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetPropQualifier@CWbemInstance@@UEAAJPEAVCPropertyInformation@@PEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: virtual long __cdecl CWbemInstance::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropQualifier@CWbemInstance@@UEAAJPEAVCPropertyInformation@@PEBGPEAVCVar@@PEAJ3@Z
-; public: virtual long __cdecl CWbemInstance::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetPropQualifier@CWbemInstance@@UEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: virtual long __cdecl CWbemInstance::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropQualifier@CWbemInstance@@UEAAJPEBG0PEAVCVar@@PEAJ2@Z
-; protected: virtual long __cdecl CWbemClass::GetProperty(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
-?GetProperty@CWbemClass@@MEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
-; public: virtual long __cdecl CWbemClass::GetProperty(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
-?GetProperty@CWbemClass@@UEAAJPEBGPEAVCVar@@@Z
-; protected: virtual long __cdecl CWbemInstance::GetProperty(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
-?GetProperty@CWbemInstance@@MEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
-; public: virtual long __cdecl CWbemInstance::GetProperty(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
-?GetProperty@CWbemInstance@@UEAAJPEBGPEAVCVar@@@Z
-; public: long __cdecl CClassPart::GetPropertyCount(class CVar * __ptr64) __ptr64
-?GetPropertyCount@CClassPart@@QEAAJPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemClass::GetPropertyCount(class CVar * __ptr64) __ptr64
-?GetPropertyCount@CWbemClass@@UEAAJPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemInstance::GetPropertyCount(class CVar * __ptr64) __ptr64
-?GetPropertyCount@CWbemInstance@@UEAAJPEAVCVar@@@Z
-; public: long __cdecl CClassPart::GetPropertyHandle(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyHandle@CClassPart@@QEAAJPEBGPEAJ1@Z
-; public: virtual long __cdecl CWbemObject::GetPropertyHandle(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyHandle@CWbemObject@@UEAAJPEBGPEAJ1@Z
-; public: long __cdecl CClassPart::GetPropertyHandleEx(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyHandleEx@CClassPart@@QEAAJPEBGPEAJ1@Z
-; public: virtual long __cdecl CWbemObject::GetPropertyHandleEx(unsigned short const * __ptr64,long,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyHandleEx@CWbemObject@@UEAAJPEBGJPEAJ1@Z
-; public: long __cdecl CWbemObject::GetPropertyIndex(unsigned short const * __ptr64,int * __ptr64) __ptr64
-?GetPropertyIndex@CWbemObject@@QEAAJPEBGPEAH@Z
-; public: long __cdecl CClassPart::GetPropertyInfoByHandle(long,unsigned short * __ptr64 * __ptr64,long * __ptr64) __ptr64
-?GetPropertyInfoByHandle@CClassPart@@QEAAJJPEAPEAGPEAJ@Z
-; public: virtual long __cdecl CWbemObject::GetPropertyInfoByHandle(long,unsigned short * __ptr64 * __ptr64,long * __ptr64) __ptr64
-?GetPropertyInfoByHandle@CWbemObject@@UEAAJJPEAPEAGPEAJ@Z
-; public: struct CPropertyLookup * __ptr64 __cdecl CClassPart::GetPropertyLookup(int) __ptr64
-?GetPropertyLookup@CClassPart@@QEAAPEAUCPropertyLookup@@H@Z
-; public: long __cdecl CWbemObject::GetPropertyNameFromIndex(int,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetPropertyNameFromIndex@CWbemObject@@QEAAJHPEAPEAG@Z
-; public: long __cdecl CClassPart::GetPropertyOrigin(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetPropertyOrigin@CClassPart@@QEAAJPEBGPEAPEAG@Z
-; public: virtual long __cdecl CWbemObject::GetPropertyOrigin(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetPropertyOrigin@CWbemObject@@UEAAJPEBGPEAPEAG@Z
-; public: virtual long __cdecl CWbemClass::GetPropertyQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
-?GetPropertyQualifierSet@CWbemClass@@UEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
-; public: virtual long __cdecl CWbemInstance::GetPropertyQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
-?GetPropertyQualifierSet@CWbemInstance@@UEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
-; public: unsigned char * __ptr64 __cdecl CClassPart::GetPropertyQualifierSetData(unsigned short const * __ptr64) __ptr64
-?GetPropertyQualifierSetData@CClassPart@@QEAAPEAEPEBG@Z
-; public: class CCompressedString * __ptr64 __cdecl CWbemObject::GetPropertyString(long) __ptr64
-?GetPropertyString@CWbemObject@@QEAAPEAVCCompressedString@@J@Z
-; public: long __cdecl CClassPart::GetPropertyType(class CPropertyInformation * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyType@CClassPart@@QEAAJPEAVCPropertyInformation@@PEAJ1@Z
-; public: long __cdecl CClassPart::GetPropertyType(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyType@CClassPart@@QEAAJPEBGPEAJ1@Z
-; public: static long __cdecl CSystemProperties::GetPropertyType(unsigned short const * __ptr64,long * __ptr64,long * __ptr64)
-?GetPropertyType@CSystemProperties@@SAJPEBGPEAJ1@Z
-; public: virtual long __cdecl CWbemClass::GetPropertyType(class CPropertyInformation * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyType@CWbemClass@@UEAAJPEAVCPropertyInformation@@PEAJ1@Z
-; public: virtual long __cdecl CWbemClass::GetPropertyType(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyType@CWbemClass@@UEAAJPEBGPEAJ1@Z
-; public: virtual long __cdecl CWbemInstance::GetPropertyType(class CPropertyInformation * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyType@CWbemInstance@@UEAAJPEAVCPropertyInformation@@PEAJ1@Z
-; public: virtual long __cdecl CWbemInstance::GetPropertyType(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetPropertyType@CWbemInstance@@UEAAJPEBGPEAJ1@Z
-; public: virtual long __cdecl CWbemObject::GetPropertyValue(struct _tag_WbemPropertyName * __ptr64,long,unsigned short * __ptr64 * __ptr64,struct tagVARIANT * __ptr64) __ptr64
-?GetPropertyValue@CWbemObject@@UEAAJPEAU_tag_WbemPropertyName@@JPEAPEAGPEAUtagVARIANT@@@Z
-; public: long __cdecl CClassPart::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetQualifier@CClassPart@@QEAAJPEBGPEAVCVar@@PEAJ2@Z
-; public: long __cdecl CInstancePart::GetQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetQualifier@CInstancePart@@QEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: long __cdecl CInstancePart::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetQualifier@CInstancePart@@QEAAJPEBGPEAVCVar@@PEAJ2@Z
-; public: long __cdecl CQualifierSet::GetQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetQualifier@CQualifierSet@@QEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: long __cdecl CQualifierSet::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetQualifier@CQualifierSet@@QEAAJPEBGPEAVCVar@@PEAJ2@Z
-; public: struct CQualifier * __ptr64 __cdecl CQualifierSet::GetQualifier(unsigned short const * __ptr64) __ptr64
-?GetQualifier@CQualifierSet@@QEAAPEAUCQualifier@@PEBG@Z
-; public: struct CQualifier * __ptr64 __cdecl CQualifierSet::GetQualifier(unsigned short const * __ptr64,int & __ptr64) __ptr64
-?GetQualifier@CQualifierSet@@QEAAPEAUCQualifier@@PEBGAEAH@Z
-; public: virtual long __cdecl CWbemClass::GetQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetQualifier@CWbemClass@@UEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: virtual long __cdecl CWbemClass::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetQualifier@CWbemClass@@UEAAJPEBGPEAVCVar@@PEAJ2@Z
-; public: virtual long __cdecl CWbemInstance::GetQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
-?GetQualifier@CWbemInstance@@UEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
-; public: virtual long __cdecl CWbemInstance::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?GetQualifier@CWbemInstance@@UEAAJPEBGPEAVCVar@@PEAJ2@Z
-; public: long __cdecl CWbemObject::GetQualifierArrayInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetQualifierArrayInfo@CWbemObject@@QEAAJPEBG0HJPEAJPEAK@Z
-; public: long __cdecl CWbemObject::GetQualifierArrayRange(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
-?GetQualifierArrayRange@CWbemObject@@QEAAJPEBG0HJKKKPEAK1PEAX@Z
-; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(class CCompressedString * __ptr64) __ptr64
-?GetQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@PEAVCCompressedString@@@Z
-; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned short const * __ptr64) __ptr64
-?GetQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@PEBG@Z
-; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned short const * __ptr64,int & __ptr64) __ptr64
-?GetQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@PEBGAEAH@Z
-; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned char * __ptr64,class CFastHeap * __ptr64,class CCompressedString * __ptr64)
-?GetQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEPEAVCFastHeap@@PEAVCCompressedString@@@Z
-; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned short const * __ptr64)
-?GetQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEPEAVCFastHeap@@PEBG@Z
-; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned short const * __ptr64,int & __ptr64)
-?GetQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEPEAVCFastHeap@@PEBGAEAH@Z
-; public: virtual long __cdecl CWbemClass::GetQualifierSet(struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
-?GetQualifierSet@CWbemClass@@UEAAJPEAPEAUIWbemQualifierSet@@@Z
-; public: virtual long __cdecl CWbemInstance::GetQualifierSet(struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
-?GetQualifierSet@CWbemInstance@@UEAAJPEAPEAUIWbemQualifierSet@@@Z
-; public: unsigned char * __ptr64 __cdecl CQualifierSetList::GetQualifierSetData(int) __ptr64
-?GetQualifierSetData@CQualifierSetList@@QEAAPEAEH@Z
-; public: static unsigned char * __ptr64 __cdecl CQualifierSetList::GetQualifierSetData(unsigned char * __ptr64,int)
-?GetQualifierSetData@CQualifierSetList@@SAPEAEPEAEH@Z
-; public: virtual unsigned char * __ptr64 __cdecl CInstancePart::GetQualifierSetListStart(void) __ptr64
-?GetQualifierSetListStart@CInstancePart@@UEAAPEAEXZ
-; public: virtual unsigned char * __ptr64 __cdecl CClassPart::GetQualifierSetStart(void) __ptr64
-?GetQualifierSetStart@CClassPart@@UEAAPEAEXZ
-; public: virtual unsigned char * __ptr64 __cdecl CInstancePQSContainer::GetQualifierSetStart(void) __ptr64
-?GetQualifierSetStart@CInstancePQSContainer@@UEAAPEAEXZ
-; public: virtual unsigned char * __ptr64 __cdecl CInstancePart::GetQualifierSetStart(void) __ptr64
-?GetQualifierSetStart@CInstancePart@@UEAAPEAEXZ
-; public: virtual unsigned char * __ptr64 __cdecl CMethodQualifierSetContainer::GetQualifierSetStart(void) __ptr64
-?GetQualifierSetStart@CMethodQualifierSetContainer@@UEAAPEAEXZ
-; public: static long __cdecl CUntypedArray::GetRange(class CPtrSource * __ptr64,unsigned long,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,void * __ptr64)
-?GetRange@CUntypedArray@@SAJPEAVCPtrSource@@KKPEAVCFastHeap@@KKKPEAKPEAX@Z
-; public: unsigned char * __ptr64 __cdecl CCompressedString::GetRawData(void)const  __ptr64
-?GetRawData@CCompressedString@@QEBAPEAEXZ
-; public: unsigned long __cdecl CFastHeap::GetRealLength(void) __ptr64
-?GetRealLength@CFastHeap@@QEAAKXZ
-; protected: long __cdecl CWbemRefreshingSvc::GetRefrMgr(struct _IWbemRefresherMgr * __ptr64 * __ptr64) __ptr64
-?GetRefrMgr@CWbemRefreshingSvc@@IEAAJPEAPEAU_IWbemRefresherMgr@@@Z
-; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetRegularQualifierLocally(unsigned short const * __ptr64) __ptr64
-?GetRegularQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@PEBG@Z
-; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetRegularQualifierLocally(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned short const * __ptr64)
-?GetRegularQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEPEAVCFastHeap@@PEBG@Z
-; public: virtual unsigned short * __ptr64 __cdecl CWbemClass::GetRelPath(int) __ptr64
-?GetRelPath@CWbemClass@@UEAAPEAGH@Z
-; public: virtual unsigned short * __ptr64 __cdecl CWbemInstance::GetRelPath(int) __ptr64
-?GetRelPath@CWbemInstance@@UEAAPEAGH@Z
-; public: long __cdecl CWbemObject::GetRelPath(class CVar * __ptr64) __ptr64
-?GetRelPath@CWbemObject@@QEAAJPEAVCVar@@@Z
-; protected: virtual long __cdecl CWbemRefreshingSvc::GetRemoteRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,unsigned long,struct IWbemRemoteRefresher * __ptr64 * __ptr64,struct _GUID * __ptr64,unsigned long * __ptr64) __ptr64
-?GetRemoteRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@JKPEAPEAUIWbemRemoteRefresher@@PEAU_GUID@@PEAK@Z
-; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::GetRemoteRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,unsigned long,struct IWbemRemoteRefresher * __ptr64 * __ptr64,struct _GUID * __ptr64,unsigned long * __ptr64) __ptr64
-?GetRemoteRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@JKPEAPEAUIWbemRemoteRefresher@@PEAU_GUID@@PEAK@Z
-; public: class CBasicQualifierSet * __ptr64 __cdecl CMethodQualifierSetContainer::GetSecondarySet(void) __ptr64
-?GetSecondarySet@CMethodQualifierSetContainer@@QEAAPEAVCBasicQualifierSet@@XZ
-; protected: static unsigned long __cdecl CCompressedStringList::GetSeparatorLength(void)
-?GetSeparatorLength@CCompressedStringList@@KAKXZ
-; public: long __cdecl CWbemObject::GetServer(class CVar * __ptr64) __ptr64
-?GetServer@CWbemObject@@QEAAJPEAVCVar@@@Z
-; public: long __cdecl CWbemObject::GetServerAndNamespace(class CVar * __ptr64) __ptr64
-?GetServerAndNamespace@CWbemObject@@QEAAJPEAVCVar@@@Z
-; public: unsigned short * __ptr64 __cdecl CWbemThreadSecurityHandle::GetServerPrincipalName(void) __ptr64
-?GetServerPrincipalName@CWbemThreadSecurityHandle@@QEAAPEAGXZ
-; public: unsigned long __cdecl CMethodDescription::GetSig(int) __ptr64
-?GetSig@CMethodDescription@@QEAAKH@Z
-; protected: void __cdecl CMethodPart::GetSignature(int,int,class CWbemObject * __ptr64 * __ptr64) __ptr64
-?GetSignature@CMethodPart@@IEAAXHHPEAPEAVCWbemObject@@@Z
-; public: int __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetSize(void)const  __ptr64
-?GetSize@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEBAHXZ
-; public: int __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetSize(void)const  __ptr64
-?GetSize@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEBAHXZ
-; public: virtual long __cdecl CWbemObject::GetSource(unsigned short * __ptr64 * __ptr64) __ptr64
-?GetSource@CWbemObject@@UEAAJPEAPEAG@Z
-; public: unsigned char * __ptr64 __cdecl CBasicQualifierSet::GetStart(void) __ptr64
-?GetStart@CBasicQualifierSet@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CClassAndMethods::GetStart(void) __ptr64
-?GetStart@CClassAndMethods@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CClassPart::GetStart(void) __ptr64
-?GetStart@CClassPart@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CCompressedString::GetStart(void) __ptr64
-?GetStart@CCompressedString@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CCompressedStringList::GetStart(void) __ptr64
-?GetStart@CCompressedStringList@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CDataTable::GetStart(void) __ptr64
-?GetStart@CDataTable@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CDecorationPart::GetStart(void) __ptr64
-?GetStart@CDecorationPart@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CEmbeddedObject::GetStart(void) __ptr64
-?GetStart@CEmbeddedObject@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CFastHeap::GetStart(void) __ptr64
-?GetStart@CFastHeap@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CInstancePart::GetStart(void) __ptr64
-?GetStart@CInstancePart@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CMethodPart::GetStart(void) __ptr64
-?GetStart@CMethodPart@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::GetStart(void) __ptr64
-?GetStart@CPropertyLookupTable@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CQualifierSetList::GetStart(void) __ptr64
-?GetStart@CQualifierSetList@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CWbemInstance::GetStart(void) __ptr64
-?GetStart@CWbemInstance@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CWbemObject::GetStart(void) __ptr64
-?GetStart@CWbemObject@@QEAAPEAEXZ
-; public: int __cdecl CCompressedString::GetStringLength(void)const  __ptr64
-?GetStringLength@CCompressedString@@QEBAHXZ
-; public: static long __cdecl CClassAndMethods::GetSuperclassName(class WString & __ptr64,unsigned char * __ptr64)
-?GetSuperclassName@CClassAndMethods@@SAJAEAVWString@@PEAE@Z
-; public: long __cdecl CClassPart::GetSuperclassName(class CVar * __ptr64) __ptr64
-?GetSuperclassName@CClassPart@@QEAAJPEAVCVar@@@Z
-; public: class CCompressedString * __ptr64 __cdecl CClassPart::GetSuperclassName(void) __ptr64
-?GetSuperclassName@CClassPart@@QEAAPEAVCCompressedString@@XZ
-; public: virtual long __cdecl CWbemClass::GetSuperclassName(class CVar * __ptr64) __ptr64
-?GetSuperclassName@CWbemClass@@UEAAJPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemInstance::GetSuperclassName(class CVar * __ptr64) __ptr64
-?GetSuperclassName@CWbemInstance@@UEAAJPEAVCVar@@@Z
-; public: unsigned short * __ptr64 __cdecl CType::GetSyntax(void) __ptr64
-?GetSyntax@CType@@QEAAPEAGXZ
-; public: static unsigned short * __ptr64 __cdecl CType::GetSyntax(unsigned long)
-?GetSyntax@CType@@SAPEAGK@Z
-; public: long __cdecl CWbemObject::GetSystemProperty(int,class CVar * __ptr64) __ptr64
-?GetSystemProperty@CWbemObject@@QEAAJHPEAVCVar@@@Z
-; public: long __cdecl CWbemObject::GetSystemPropertyByName(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
-?GetSystemPropertyByName@CWbemObject@@QEAAJPEBGPEAVCVar@@@Z
-; public: long __cdecl CBasicQualifierSet::GetText(long,class WString & __ptr64) __ptr64
-?GetText@CBasicQualifierSet@@QEAAJJAEAVWString@@@Z
-; public: static long __cdecl CBasicQualifierSet::GetText(unsigned char * __ptr64,class CFastHeap * __ptr64,long,class WString & __ptr64)
-?GetText@CBasicQualifierSet@@SAJPEAEPEAVCFastHeap@@JAEAVWString@@@Z
-; public: char const * __ptr64 __cdecl CInternalString::GetText(void)const  __ptr64
-?GetText@CInternalString@@QEBAPEBDXZ
-; public: virtual long __cdecl CWmiObjectTextSrc::XObjectTextSrc::GetText(long,struct IWbemClassObject * __ptr64,unsigned long,struct IWbemContext * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetText@XObjectTextSrc@CWmiObjectTextSrc@@UEAAJJPEAUIWbemClassObject@@KPEAUIWbemContext@@PEAPEAG@Z
-; public: virtual long __cdecl CWbemCallSecurity::GetThreadSecurity(enum tag_WMI_THREAD_SECURITY_ORIGIN,struct _IWmiThreadSecHandle * __ptr64 * __ptr64) __ptr64
-?GetThreadSecurity@CWbemCallSecurity@@UEAAJW4tag_WMI_THREAD_SECURITY_ORIGIN@@PEAPEAU_IWmiThreadSecHandle@@@Z
-; public: class CWbemThreadSecurityHandle * __ptr64 __cdecl CWbemCallSecurity::GetThreadSecurityHandle(void) __ptr64
-?GetThreadSecurityHandle@CWbemCallSecurity@@QEAAPEAVCWbemThreadSecurityHandle@@XZ
-; public: void * __ptr64 __cdecl CWbemThreadSecurityHandle::GetThreadToken(void) __ptr64
-?GetThreadToken@CWbemThreadSecurityHandle@@QEAAPEAXXZ
-; public: virtual long __cdecl CWbemThreadSecurityHandle::GetToken(void * __ptr64 * __ptr64) __ptr64
-?GetToken@CWbemThreadSecurityHandle@@UEAAJPEAPEAX@Z
-; public: virtual long __cdecl CWbemThreadSecurityHandle::GetTokenOrigin(enum tag_WMI_THREAD_SECURITY_ORIGIN * __ptr64) __ptr64
-?GetTokenOrigin@CWbemThreadSecurityHandle@@UEAAJPEAW4tag_WMI_THREAD_SECURITY_ORIGIN@@@Z
-; public: unsigned long __cdecl CClassPart::GetTotalRealLength(void) __ptr64
-?GetTotalRealLength@CClassPart@@QEAAKXZ
-; public: unsigned long __cdecl CInstancePart::GetTotalRealLength(void) __ptr64
-?GetTotalRealLength@CInstancePart@@QEAAKXZ
-; public: long __cdecl CWbemInstance::GetTransferArrayBlob(long,unsigned char * __ptr64 * __ptr64,long * __ptr64) __ptr64
-?GetTransferArrayBlob@CWbemInstance@@QEAAJJPEAPEAEPEAJ@Z
-; public: long __cdecl CWbemInstance::GetTransferArrayBlobSize(void) __ptr64
-?GetTransferArrayBlobSize@CWbemInstance@@QEAAJXZ
-; public: static long __cdecl CWbemInstance::GetTransferArrayHeaderSize(void)
-?GetTransferArrayHeaderSize@CWbemInstance@@SAJXZ
-; public: long __cdecl CWbemInstance::GetTransferBlob(long * __ptr64,long * __ptr64,unsigned char * __ptr64 * __ptr64) __ptr64
-?GetTransferBlob@CWbemInstance@@QEAAJPEAJ0PEAPEAE@Z
-; public: long __cdecl CWbemInstance::GetTransferBlobSize(void) __ptr64
-?GetTransferBlobSize@CWbemInstance@@QEAAJXZ
-; public: virtual long __cdecl CWbemObject::GetUnmarshalClass(struct _GUID const & __ptr64,void * __ptr64,unsigned long,void * __ptr64,unsigned long,struct _GUID * __ptr64) __ptr64
-?GetUnmarshalClass@CWbemObject@@UEAAJAEBU_GUID@@PEAXK1KPEAU2@@Z
-; public: unsigned long __cdecl CFastHeap::GetUsedLength(void) __ptr64
-?GetUsedLength@CFastHeap@@QEAAKXZ
-; public: virtual long __cdecl CWbemCallSecurity::GetUser(unsigned long * __ptr64,unsigned short * __ptr64) __ptr64
-?GetUser@CWbemCallSecurity@@UEAAJPEAKPEAG@Z
-; public: virtual long __cdecl CWbemThreadSecurityHandle::GetUser(unsigned long * __ptr64,unsigned short * __ptr64) __ptr64
-?GetUser@CWbemThreadSecurityHandle@@UEAAJPEAKPEAG@Z
-; public: virtual long __cdecl CWbemCallSecurity::GetUserSid(unsigned long * __ptr64,void * __ptr64) __ptr64
-?GetUserSid@CWbemCallSecurity@@UEAAJPEAKPEAX@Z
-; public: virtual long __cdecl CWbemThreadSecurityHandle::GetUserSid(unsigned long * __ptr64,void * __ptr64) __ptr64
-?GetUserSid@CWbemThreadSecurityHandle@@UEAAJPEAKPEAX@Z
-; public: unsigned short __cdecl CType::GetVARTYPE(void) __ptr64
-?GetVARTYPE@CType@@QEAAGXZ
-; public: static unsigned short __cdecl CType::GetVARTYPE(unsigned long)
-?GetVARTYPE@CType@@SAGK@Z
-; public: static unsigned short * __ptr64 __cdecl CWbemObject::GetValueText(long,class CVar & __ptr64,unsigned long)
-?GetValueText@CWbemObject@@SAPEAGJAEAVCVar@@K@Z
-; public: unsigned long __cdecl CLimitationMapping::GetVtableLength(void) __ptr64
-?GetVtableLength@CLimitationMapping@@QEAAKXZ
-; public: virtual struct IUnknown * __ptr64 __cdecl CClassAndMethods::GetWbemObjectUnknown(void) __ptr64
-?GetWbemObjectUnknown@CClassAndMethods@@UEAAPEAUIUnknown@@XZ
-; public: virtual struct IUnknown * __ptr64 __cdecl CClassPart::GetWbemObjectUnknown(void) __ptr64
-?GetWbemObjectUnknown@CClassPart@@UEAAPEAUIUnknown@@XZ
-; public: virtual struct IUnknown * __ptr64 __cdecl CInstancePQSContainer::GetWbemObjectUnknown(void) __ptr64
-?GetWbemObjectUnknown@CInstancePQSContainer@@UEAAPEAUIUnknown@@XZ
-; public: virtual struct IUnknown * __ptr64 __cdecl CInstancePart::GetWbemObjectUnknown(void) __ptr64
-?GetWbemObjectUnknown@CInstancePart@@UEAAPEAUIUnknown@@XZ
-; public: struct IUnknown * __ptr64 __cdecl CMethodPart::GetWbemObjectUnknown(void) __ptr64
-?GetWbemObjectUnknown@CMethodPart@@QEAAPEAUIUnknown@@XZ
-; public: virtual struct IUnknown * __ptr64 __cdecl CMethodQualifierSetContainer::GetWbemObjectUnknown(void) __ptr64
-?GetWbemObjectUnknown@CMethodQualifierSetContainer@@UEAAPEAUIUnknown@@XZ
-; public: struct IUnknown * __ptr64 __cdecl CQualifierSetList::GetWbemObjectUnknown(void) __ptr64
-?GetWbemObjectUnknown@CQualifierSetList@@QEAAPEAUIUnknown@@XZ
-; public: struct IUnknown * __ptr64 __cdecl CWbemClass::GetWbemObjectUnknown(void) __ptr64
-?GetWbemObjectUnknown@CWbemClass@@QEAAPEAUIUnknown@@XZ
-; public: virtual struct IUnknown * __ptr64 __cdecl CWbemInstance::GetWbemObjectUnknown(void) __ptr64
-?GetWbemObjectUnknown@CWbemInstance@@UEAAPEAUIUnknown@@XZ
-; public: static int __cdecl CBasicQualifierSet::HasLocalQualifiers(unsigned char * __ptr64)
-?HasLocalQualifiers@CBasicQualifierSet@@SAHPEAE@Z
-; public: int __cdecl CWbemObject::HasRefs(void) __ptr64
-?HasRefs@CWbemObject@@QEAAHXZ
-; public: virtual long __cdecl CWbemCallSecurity::ImpersonateClient(void) __ptr64
-?ImpersonateClient@CWbemCallSecurity@@UEAAJXZ
-; public: void __cdecl CBasicQualifierSet::IncrementLength(unsigned long) __ptr64
-?IncrementLength@CBasicQualifierSet@@QEAAXK@Z
-; public: int __cdecl CClassPart::InheritsFrom(unsigned short const * __ptr64) __ptr64
-?InheritsFrom@CClassPart@@QEAAHPEBG@Z
-; public: virtual long __cdecl CWbemObject::InheritsFrom(unsigned short const * __ptr64) __ptr64
-?InheritsFrom@CWbemObject@@UEAAJPEBG@Z
-; public: long __cdecl CWbemFetchRefrMgr::Init(struct _IWmiProvSS * __ptr64,struct IWbemServices * __ptr64) __ptr64
-?Init@CWbemFetchRefrMgr@@QEAAJPEAU_IWmiProvSS@@PEAUIWbemServices@@@Z
-; public: virtual long __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::Init(struct _IWmiProvSS * __ptr64,struct IWbemServices * __ptr64) __ptr64
-?Init@XFetchRefrMgr@CWbemFetchRefrMgr@@UEAAJPEAU_IWmiProvSS@@PEAUIWbemServices@@@Z
-; public: long __cdecl CWbemClass::InitEmpty(int,int) __ptr64
-?InitEmpty@CWbemClass@@QEAAJHH@Z
-; public: long __cdecl CWbemInstance::InitEmptyInstance(class CClassPart & __ptr64,unsigned char * __ptr64,int,class CDecorationPart * __ptr64) __ptr64
-?InitEmptyInstance@CWbemInstance@@QEAAJAEAVCClassPart@@PEAEHPEAVCDecorationPart@@@Z
-; public: long __cdecl CWbemInstance::InitNew(class CWbemClass * __ptr64,int,class CDecorationPart * __ptr64) __ptr64
-?InitNew@CWbemInstance@@QEAAJPEAVCWbemClass@@HPEAVCDecorationPart@@@Z
-; public: long __cdecl CClassPart::InitPropertyQualifierSet(unsigned short const * __ptr64,class CClassPropertyQualifierSet * __ptr64) __ptr64
-?InitPropertyQualifierSet@CClassPart@@QEAAJPEBGPEAVCClassPropertyQualifierSet@@@Z
-; public: static void __cdecl CKnownStringTable::Initialize(void)
-?Initialize@CKnownStringTable@@SAXXZ
-; public: virtual int __cdecl CWbemRefreshingSvc::Initialize(void) __ptr64
-?Initialize@CWbemRefreshingSvc@@UEAAHXZ
-; protected: long __cdecl CWbemInstance::InitializePropQualifierSet(class CPropertyInformation * __ptr64,class CInstancePropertyQualifierSet & __ptr64) __ptr64
-?InitializePropQualifierSet@CWbemInstance@@IEAAJPEAVCPropertyInformation@@AEAVCInstancePropertyQualifierSet@@@Z
-; protected: long __cdecl CWbemInstance::InitializePropQualifierSet(unsigned short const * __ptr64,class CInstancePropertyQualifierSet & __ptr64) __ptr64
-?InitializePropQualifierSet@CWbemInstance@@IEAAJPEBGAEAVCInstancePropertyQualifierSet@@@Z
-; public: bool __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::InsertAt(int,class CFastPropertyBagItem * __ptr64) __ptr64
-?InsertAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA_NHPEAVCFastPropertyBagItem@@@Z
-; public: bool __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::InsertAt(int,class CWmiTextSource * __ptr64) __ptr64
-?InsertAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA_NHPEAVCWmiTextSource@@@Z
-; public: long __cdecl CPropertyLookupTable::InsertProperty(struct CPropertyLookup const & __ptr64,int & __ptr64) __ptr64
-?InsertProperty@CPropertyLookupTable@@QEAAJAEBUCPropertyLookup@@AEAH@Z
-; public: long __cdecl CPropertyLookupTable::InsertProperty(unsigned short const * __ptr64,unsigned long,int & __ptr64) __ptr64
-?InsertProperty@CPropertyLookupTable@@QEAAJPEBGKAEAH@Z
-; public: long __cdecl CQualifierSetList::InsertQualifierSet(int) __ptr64
-?InsertQualifierSet@CQualifierSetList@@QEAAJH@Z
-; public: int __cdecl CClassPart::IsAbstract(void) __ptr64
-?IsAbstract@CClassPart@@QEAAHXZ
-; public: int __cdecl CWbemClass::IsAbstract(void) __ptr64
-?IsAbstract@CWbemClass@@QEAAHXZ
-; public: int __cdecl CClassPart::IsAmendment(void) __ptr64
-?IsAmendment@CClassPart@@QEAAHXZ
-; public: int __cdecl CWbemClass::IsAmendment(void) __ptr64
-?IsAmendment@CWbemClass@@QEAAHXZ
-; public: int __cdecl CType::IsArray(void) __ptr64
-?IsArray@CType@@QEAAHXZ
-; public: static int __cdecl CType::IsArray(unsigned long)
-?IsArray@CType@@SAHK@Z
-; public: long __cdecl CWbemObject::IsArrayPropertyHandle(long,long * __ptr64,unsigned long * __ptr64) __ptr64
-?IsArrayPropertyHandle@CWbemObject@@QEAAJJPEAJPEAK@Z
-; public: long __cdecl CUntypedArray::IsArrayValid(class CType,class CFastHeap * __ptr64) __ptr64
-?IsArrayValid@CUntypedArray@@QEAAJVCType@@PEAVCFastHeap@@@Z
-; protected: static int __cdecl CCompressedString::IsAsciiable(unsigned short const * __ptr64)
-?IsAsciiable@CCompressedString@@KAHPEBG@Z
-; public: int __cdecl CClassPart::IsAssociation(void) __ptr64
-?IsAssociation@CClassPart@@QEAAHXZ
-; public: int __cdecl CClassPart::IsAutocook(void) __ptr64
-?IsAutocook@CClassPart@@QEAAHXZ
-; public: int __cdecl CWbemClass::IsChildOf(class CWbemClass * __ptr64) __ptr64
-?IsChildOf@CWbemClass@@QEAAHPEAV1@@Z
-; protected: int __cdecl CWbemInstance::IsClassPartAvailable(void) __ptr64
-?IsClassPartAvailable@CWbemInstance@@IEAAHXZ
-; protected: int __cdecl CWbemInstance::IsClassPartInternal(void) __ptr64
-?IsClassPartInternal@CWbemInstance@@IEAAHXZ
-; protected: int __cdecl CWbemInstance::IsClassPartShared(void) __ptr64
-?IsClassPartShared@CWbemInstance@@IEAAHXZ
-; public: int __cdecl CDecorationPart::IsClientOnly(void) __ptr64
-?IsClientOnly@CDecorationPart@@QEAAHXZ
-; public: int __cdecl CWbemObject::IsClientOnly(void) __ptr64
-?IsClientOnly@CWbemObject@@QEAAHXZ
-; public: int __cdecl CQualifierSet::IsComplete(void) __ptr64
-?IsComplete@CQualifierSet@@QEAAHXZ
-; public: int __cdecl CClassPart::IsCompressed(void) __ptr64
-?IsCompressed@CClassPart@@QEAAHXZ
-; public: int __cdecl CWbemClass::IsCompressed(void) __ptr64
-?IsCompressed@CWbemClass@@QEAAHXZ
-; public: int __cdecl CDecorationPart::IsDecorated(void) __ptr64
-?IsDecorated@CDecorationPart@@QEAAHXZ
-; protected: int __cdecl CWbemInstance::IsDecorationPartAvailable(void) __ptr64
-?IsDecorationPartAvailable@CWbemInstance@@IEAAHXZ
-; public: int __cdecl CDataTable::IsDefault(int) __ptr64
-?IsDefault@CDataTable@@QEAAHH@Z
-; public: int __cdecl CClassPart::IsDynamic(void) __ptr64
-?IsDynamic@CClassPart@@QEAAHXZ
-; public: int __cdecl CWbemClass::IsDynamic(void) __ptr64
-?IsDynamic@CWbemClass@@QEAAHXZ
-; public: int __cdecl CBasicQualifierSet::IsEmpty(void) __ptr64
-?IsEmpty@CBasicQualifierSet@@QEAAHXZ
-; public: static int __cdecl CBasicQualifierSet::IsEmpty(unsigned char * __ptr64)
-?IsEmpty@CBasicQualifierSet@@SAHPEAE@Z
-; public: int __cdecl CCompressedStringList::IsEmpty(void) __ptr64
-?IsEmpty@CCompressedStringList@@QEAAHXZ
-; public: bool __cdecl CInternalString::IsEmpty(void) __ptr64
-?IsEmpty@CInternalString@@QEAA_NXZ
-; public: int __cdecl CQualifierSetList::IsEmpty(void) __ptr64
-?IsEmpty@CQualifierSetList@@QEAAHXZ
-; public: static int __cdecl CFastHeap::IsFakeAddress(unsigned long)
-?IsFakeAddress@CFastHeap@@SAHK@Z
-; public: int __cdecl CClassPart::IsHiPerf(void) __ptr64
-?IsHiPerf@CClassPart@@QEAAHXZ
-; public: int __cdecl CClassPart::IsIdenticalWith(class CClassPart & __ptr64) __ptr64
-?IsIdenticalWith@CClassPart@@QEAAHAEAV1@@Z
-; public: static int __cdecl CSystemProperties::IsIllegalDerivedClass(unsigned short const * __ptr64)
-?IsIllegalDerivedClass@CSystemProperties@@SAHPEBG@Z
-; public: virtual int __cdecl CWbemCallSecurity::IsImpersonating(void) __ptr64
-?IsImpersonating@CWbemCallSecurity@@UEAAHXZ
-; public: int __cdecl CWbemClass::IsIndexLocal(unsigned short const * __ptr64) __ptr64
-?IsIndexLocal@CWbemClass@@QEAAHPEBG@Z
-; public: int __cdecl CDecorationPart::IsInstance(void) __ptr64
-?IsInstance@CDecorationPart@@QEAAHXZ
-; public: int __cdecl CWbemObject::IsInstance(void) __ptr64
-?IsInstance@CWbemObject@@QEAAHXZ
-; public: int __cdecl CWbemInstance::IsInstanceOf(class CWbemClass * __ptr64) __ptr64
-?IsInstanceOf@CWbemInstance@@QEAAHPEAVCWbemClass@@@Z
-; protected: int __cdecl CWbemInstance::IsInstancePartAvailable(void) __ptr64
-?IsInstancePartAvailable@CWbemInstance@@IEAAHXZ
-; public: int __cdecl CWbemClass::IsKeyLocal(unsigned short const * __ptr64) __ptr64
-?IsKeyLocal@CWbemClass@@QEAAHPEBG@Z
-; public: int __cdecl CClassPart::IsKeyed(void) __ptr64
-?IsKeyed@CClassPart@@QEAAHXZ
-; public: virtual int __cdecl CWbemClass::IsKeyed(void) __ptr64
-?IsKeyed@CWbemClass@@UEAAHXZ
-; public: virtual int __cdecl CWbemInstance::IsKeyed(void) __ptr64
-?IsKeyed@CWbemInstance@@UEAAHXZ
-; public: int __cdecl CDecorationPart::IsLimited(void) __ptr64
-?IsLimited@CDecorationPart@@QEAAHXZ
-; public: int __cdecl CWbemObject::IsLimited(void) __ptr64
-?IsLimited@CWbemObject@@QEAAHXZ
-; public: int __cdecl CClassPart::IsLocalized(void) __ptr64
-?IsLocalized@CClassPart@@QEAAHXZ
-; public: int __cdecl CInstancePart::IsLocalized(void) __ptr64
-?IsLocalized@CInstancePart@@QEAAHXZ
-; public: virtual int __cdecl CWbemClass::IsLocalized(void) __ptr64
-?IsLocalized@CWbemClass@@UEAAHXZ
-; public: virtual int __cdecl CWbemInstance::IsLocalized(void) __ptr64
-?IsLocalized@CWbemInstance@@UEAAHXZ
-; public: static int __cdecl CType::IsMemCopyAble(unsigned short,long)
-?IsMemCopyAble@CType@@SAHGJ@Z
-; public: int __cdecl CType::IsNonArrayPointerType(void) __ptr64
-?IsNonArrayPointerType@CType@@QEAAHXZ
-; public: static int __cdecl CType::IsNonArrayPointerType(unsigned long)
-?IsNonArrayPointerType@CType@@SAHK@Z
-; public: int __cdecl CDataTable::IsNull(int) __ptr64
-?IsNull@CDataTable@@QEAAHH@Z
-; public: virtual long __cdecl CWbemObject::IsObjectInstance(void) __ptr64
-?IsObjectInstance@CWbemObject@@UEAAJXZ
-; protected: int __cdecl CFastHeap::IsOutOfLine(void) __ptr64
-?IsOutOfLine@CFastHeap@@IEAAHXZ
-; public: virtual long __cdecl CWbemClass::IsParentClass(long,struct _IWmiObject * __ptr64) __ptr64
-?IsParentClass@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemInstance::IsParentClass(long,struct _IWmiObject * __ptr64) __ptr64
-?IsParentClass@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
-; public: int __cdecl CType::IsParents(void) __ptr64
-?IsParents@CType@@QEAAHXZ
-; public: static int __cdecl CType::IsParents(unsigned long)
-?IsParents@CType@@SAHK@Z
-; public: int __cdecl CType::IsPointerType(void) __ptr64
-?IsPointerType@CType@@QEAAHXZ
-; public: static int __cdecl CType::IsPointerType(unsigned long)
-?IsPointerType@CType@@SAHK@Z
-; public: static int __cdecl CSystemProperties::IsPossibleSystemPropertyName(unsigned short const * __ptr64)
-?IsPossibleSystemPropertyName@CSystemProperties@@SAHPEBG@Z
-; protected: int __cdecl CMethodPart::IsPropagated(int) __ptr64
-?IsPropagated@CMethodPart@@IEAAHH@Z
-; public: int __cdecl CClassPart::IsPropertyIndexed(unsigned short const * __ptr64) __ptr64
-?IsPropertyIndexed@CClassPart@@QEAAHPEBG@Z
-; public: int __cdecl CClassPart::IsPropertyKeyed(unsigned short const * __ptr64) __ptr64
-?IsPropertyKeyed@CClassPart@@QEAAHPEBG@Z
-; public: static int __cdecl CReservedWordTable::IsReservedWord(unsigned short const * __ptr64)
-?IsReservedWord@CReservedWordTable@@SAHPEBG@Z
-; public: int __cdecl CWbemObject::IsSameClass(class CWbemObject * __ptr64) __ptr64
-?IsSameClass@CWbemObject@@QEAAHPEAV1@@Z
-; public: int __cdecl CClassPart::IsSingleton(void) __ptr64
-?IsSingleton@CClassPart@@QEAAHXZ
-; public: int __cdecl CWbemClass::IsSingleton(void) __ptr64
-?IsSingleton@CWbemClass@@QEAAHXZ
-; public: int __cdecl CType::IsStringType(void) __ptr64
-?IsStringType@CType@@QEAAHXZ
-; public: static int __cdecl CType::IsStringType(unsigned long)
-?IsStringType@CType@@SAHK@Z
-; public: int __cdecl CClassPart::IsTopLevel(void) __ptr64
-?IsTopLevel@CClassPart@@QEAAHXZ
-; public: static int __cdecl CMethodDescription::IsTouched(struct CMethodDescription * __ptr64 __ptr64,class CFastHeap * __ptr64)
-?IsTouched@CMethodDescription@@SAHPEFAU1@PEAVCFastHeap@@@Z
-; public: int __cdecl CMethodPart::IsTouched(int,int * __ptr64) __ptr64
-?IsTouched@CMethodPart@@QEAAHHPEAH@Z
-; public: int __cdecl CMethodPart::IsTouched(unsigned short const * __ptr64,int * __ptr64) __ptr64
-?IsTouched@CMethodPart@@QEAAHPEBGPEAH@Z
-; public: int __cdecl CCompressedString::IsUnicode(void)const  __ptr64
-?IsUnicode@CCompressedString@@QEBAHXZ
-; public: long __cdecl CWbemDataPacket::IsValid(void) __ptr64
-?IsValid@CWbemDataPacket@@QEAAJXZ
-; public: bool __cdecl CWbemObjectArrayPacket::IsValid(class CWbemClassCache * __ptr64) __ptr64
-?IsValid@CWbemObjectArrayPacket@@QEAA_NPEAVCWbemClassCache@@@Z
-; public: long __cdecl CClassPart::IsValidClassPart(void) __ptr64
-?IsValidClassPart@CClassPart@@QEAAJXZ
-; public: long __cdecl CInstancePart::IsValidInstancePart(class CClassPart * __ptr64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64) __ptr64
-?IsValidInstancePart@CInstancePart@@QEAAJPEAVCClassPart@@AEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: int __cdecl CWbemInstance::IsValidKey(unsigned short const * __ptr64) __ptr64
-?IsValidKey@CWbemInstance@@QEAAHPEBG@Z
-; public: long __cdecl CMethodPart::IsValidMethodPart(void) __ptr64
-?IsValidMethodPart@CMethodPart@@QEAAJXZ
-; public: virtual long __cdecl CWbemClass::IsValidObj(void) __ptr64
-?IsValidObj@CWbemClass@@UEAAJXZ
-; public: virtual long __cdecl CWbemInstance::IsValidObj(void) __ptr64
-?IsValidObj@CWbemInstance@@UEAAJXZ
-; public: long __cdecl CClassPart::IsValidPropertyHandle(long) __ptr64
-?IsValidPropertyHandle@CClassPart@@QEAAJJ@Z
-; public: long __cdecl CWbemObject::IsValidPropertyHandle(long) __ptr64
-?IsValidPropertyHandle@CWbemObject@@QEAAJJ@Z
-; public: bool __cdecl CFastHeap::IsValidPtr(unsigned long) __ptr64
-?IsValidPtr@CFastHeap@@QEAA_NK@Z
-; public: long __cdecl CBasicQualifierSet::IsValidQualifierSet(void) __ptr64
-?IsValidQualifierSet@CBasicQualifierSet@@QEAAJXZ
-; public: static int __cdecl CBasicQualifierSet::IsValidQualifierType(unsigned short)
-?IsValidQualifierType@CBasicQualifierSet@@SAHG@Z
-; protected: int __cdecl CWbemRefreshingSvc::IsWinmgmt(struct _WBEM_REFRESHER_ID * __ptr64) __ptr64
-?IsWinmgmt@CWbemRefreshingSvc@@IEAAHPEAU_WBEM_REFRESHER_ID@@@Z
-; public: static long __cdecl CUntypedArray::LoadFromCVarVector(class CPtrSource * __ptr64,class CVarVector & __ptr64,unsigned long,class CFastHeap * __ptr64,unsigned long & __ptr64,int)
-?LoadFromCVarVector@CUntypedArray@@SAJPEAVCPtrSource@@AEAVCVarVector@@KPEAVCFastHeap@@AEAKH@Z
-; protected: long __cdecl CWbemObject::LocalizeProperties(int,bool,struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64,bool & __ptr64) __ptr64
-?LocalizeProperties@CWbemObject@@IEAAJH_NPEAUIWbemClassObject@@1AEA_N@Z
-; protected: long __cdecl CWbemObject::LocalizeQualifiers(int,bool,struct IWbemQualifierSet * __ptr64,struct IWbemQualifierSet * __ptr64,bool & __ptr64) __ptr64
-?LocalizeQualifiers@CWbemObject@@IEAAJH_NPEAUIWbemQualifierSet@@1AEA_N@Z
-; public: int __cdecl CHiPerfLock::Lock(unsigned long) __ptr64
-?Lock@CHiPerfLock@@QEAAHK@Z
-; public: int __cdecl CSharedLock::Lock(unsigned long) __ptr64
-?Lock@CSharedLock@@QEAAHK@Z
-; public: virtual long __cdecl CWbemObject::Lock(long) __ptr64
-?Lock@CWbemObject@@UEAAJJ@Z
-; protected: static char __cdecl CCompressedString::LowerByte(unsigned short)
-?LowerByte@CCompressedString@@KADG@Z
-; public: static unsigned long __cdecl CType::MakeArray(unsigned long)
-?MakeArray@CType@@SAKK@Z
-; public: static unsigned long __cdecl CFastHeap::MakeFakeFromIndex(int)
-?MakeFakeFromIndex@CFastHeap@@SAKH@Z
-; public: static unsigned long __cdecl CType::MakeLocal(unsigned long)
-?MakeLocal@CType@@SAKK@Z
-; public: void __cdecl CCompressedString::MakeLowercase(void) __ptr64
-?MakeLowercase@CCompressedString@@QEAAXXZ
-; public: static unsigned long __cdecl CType::MakeNotArray(unsigned long)
-?MakeNotArray@CType@@SAKK@Z
-; public: static unsigned long __cdecl CType::MakeParents(unsigned long)
-?MakeParents@CType@@SAKK@Z
-; public: virtual long __cdecl CWbemClass::MakeSubsetInst(struct _IWmiObject * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?MakeSubsetInst@CWbemClass@@UEAAJPEAU_IWmiObject@@PEAPEAU2@@Z
-; public: virtual long __cdecl CWbemInstance::MakeSubsetInst(struct _IWmiObject * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?MakeSubsetInst@CWbemInstance@@UEAAJPEAU_IWmiObject@@PEAPEAU2@@Z
-; public: void __cdecl CLimitationMapping::Map(class CPropertyInformation * __ptr64,class CPropertyInformation * __ptr64,int) __ptr64
-?Map@CLimitationMapping@@QEAAXPEAVCPropertyInformation@@0H@Z
-; public: int __cdecl CClassPart::MapLimitation(long,class CWStringArray * __ptr64,class CLimitationMapping * __ptr64) __ptr64
-?MapLimitation@CClassPart@@QEAAHJPEAVCWStringArray@@PEAVCLimitationMapping@@@Z
-; public: static int __cdecl CDecorationPart::MapLimitation(class CWStringArray * __ptr64,class CLimitationMapping * __ptr64)
-?MapLimitation@CDecorationPart@@SAHPEAVCWStringArray@@PEAVCLimitationMapping@@@Z
-; public: int __cdecl CPropertyLookupTable::MapLimitation(long,class CWStringArray * __ptr64,class CLimitationMapping * __ptr64) __ptr64
-?MapLimitation@CPropertyLookupTable@@QEAAHJPEAVCWStringArray@@PEAVCLimitationMapping@@@Z
-; public: int __cdecl CWbemClass::MapLimitation(long,class CWStringArray * __ptr64,class CLimitationMapping * __ptr64) __ptr64
-?MapLimitation@CWbemClass@@QEAAHJPEAVCWStringArray@@PEAVCLimitationMapping@@@Z
-; public: static void __cdecl CDecorationPart::MarkKeyRemoval(unsigned char * __ptr64)
-?MarkKeyRemoval@CDecorationPart@@SAXPEAE@Z
-; public: virtual long __cdecl CWbemObject::MarshalInterface(struct IStream * __ptr64,struct _GUID const & __ptr64,void * __ptr64,unsigned long,void * __ptr64,unsigned long) __ptr64
-?MarshalInterface@CWbemObject@@UEAAJPEAUIStream@@AEBU_GUID@@PEAXK2K@Z
-; public: long __cdecl CWbemMtgtDeliverEventPacket::MarshalPacket(long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
-?MarshalPacket@CWbemMtgtDeliverEventPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
-; public: long __cdecl CWbemMtgtDeliverEventPacket::MarshalPacket(unsigned char * __ptr64,unsigned long,long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
-?MarshalPacket@CWbemMtgtDeliverEventPacket@@QEAAJPEAEKJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
-; public: long __cdecl CWbemObjectArrayPacket::MarshalPacket(long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
-?MarshalPacket@CWbemObjectArrayPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
-; public: long __cdecl CWbemObjectArrayPacket::MarshalPacket(unsigned char * __ptr64,unsigned long,long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
-?MarshalPacket@CWbemObjectArrayPacket@@QEAAJPEAEKJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
-; public: long __cdecl CWbemSmartEnumNextPacket::MarshalPacket(long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
-?MarshalPacket@CWbemSmartEnumNextPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
-; public: long __cdecl CWbemSmartEnumNextPacket::MarshalPacket(unsigned char * __ptr64,unsigned long,long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
-?MarshalPacket@CWbemSmartEnumNextPacket@@QEAAJPEAEKJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
-; public: static int __cdecl CSystemProperties::MaxNumProperties(void)
-?MaxNumProperties@CSystemProperties@@SAHXZ
-; public: static unsigned char * __ptr64 __cdecl CBasicQualifierSet::Merge(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64,int)
-?Merge@CBasicQualifierSet@@SAPEAEPEAEPEAVCFastHeap@@0101H@Z
-; public: static unsigned char * __ptr64 __cdecl CClassAndMethods::Merge(class CClassAndMethods & __ptr64,class CClassAndMethods & __ptr64,unsigned char * __ptr64,int)
-?Merge@CClassAndMethods@@SAPEAEAEAV1@0PEAEH@Z
-; public: static unsigned char * __ptr64 __cdecl CClassPart::Merge(class CClassPart & __ptr64,class CClassPart & __ptr64,unsigned char * __ptr64,int)
-?Merge@CClassPart@@SAPEAEAEAV1@0PEAEH@Z
-; public: static unsigned char * __ptr64 __cdecl CDataTable::Merge(class CDataTable * __ptr64,class CFastHeap * __ptr64,class CDataTable * __ptr64,class CFastHeap * __ptr64,class CPropertyLookupTable * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64)
-?Merge@CDataTable@@SAPEAEPEAV1@PEAVCFastHeap@@01PEAVCPropertyLookupTable@@PEAE1@Z
-; public: static unsigned char * __ptr64 __cdecl CDerivationList::Merge(class CCompressedStringList & __ptr64,class CCompressedStringList & __ptr64,unsigned char * __ptr64)
-?Merge@CDerivationList@@SAPEAEAEAVCCompressedStringList@@0PEAE@Z
-; public: static unsigned char * __ptr64 __cdecl CMethodPart::Merge(class CMethodPart & __ptr64,class CMethodPart & __ptr64,unsigned char * __ptr64,unsigned long)
-?Merge@CMethodPart@@SAPEAEAEAV1@0PEAEK@Z
-; public: static unsigned char * __ptr64 __cdecl CPropertyLookupTable::Merge(class CPropertyLookupTable * __ptr64,class CFastHeap * __ptr64,class CPropertyLookupTable * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64,int)
-?Merge@CPropertyLookupTable@@SAPEAEPEAV1@PEAVCFastHeap@@01PEAE1H@Z
-; public: unsigned char * __ptr64 __cdecl CWbemClass::Merge(unsigned char * __ptr64,unsigned char * __ptr64,int,int) __ptr64
-?Merge@CWbemClass@@QEAAPEAEPEAE0HH@Z
-; public: virtual long __cdecl CWbemClass::Merge(long,unsigned long,void * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?Merge@CWbemClass@@UEAAJJKPEAXPEAPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemInstance::Merge(long,unsigned long,void * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?Merge@CWbemInstance@@UEAAJJKPEAXPEAPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemObject::MergeAmended(long,struct _IWmiObject * __ptr64) __ptr64
-?MergeAmended@CWbemObject@@UEAAJJPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemClass::MergeAndDecorate(long,unsigned long,void * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?MergeAndDecorate@CWbemClass@@UEAAJJKPEAXPEAG1PEAPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemInstance::MergeAndDecorate(long,unsigned long,void * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?MergeAndDecorate@CWbemInstance@@UEAAJJKPEAXPEAG1PEAPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemClass::MergeClassPart(struct IWbemClassObject * __ptr64) __ptr64
-?MergeClassPart@CWbemClass@@UEAAJPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemInstance::MergeClassPart(struct IWbemClassObject * __ptr64) __ptr64
-?MergeClassPart@CWbemInstance@@UEAAJPEAUIWbemClassObject@@@Z
-; public: bool __cdecl CCompressedString::NValidateSize(int)const  __ptr64
-?NValidateSize@CCompressedString@@QEBA_NH@Z
-; public: static class CWbemCallSecurity * __ptr64 __cdecl CWbemCallSecurity::New(void)
-?New@CWbemCallSecurity@@SAPEAV1@XZ
-; public: static class CWbemThreadSecurityHandle * __ptr64 __cdecl CWbemThreadSecurityHandle::New(void)
-?New@CWbemThreadSecurityHandle@@SAPEAV1@XZ
-; public: virtual long __cdecl CQualifierSet::Next(long,unsigned short * __ptr64 * __ptr64,struct tagVARIANT * __ptr64,long * __ptr64) __ptr64
-?Next@CQualifierSet@@UEAAJJPEAPEAGPEAUtagVARIANT@@PEAJ@Z
-; public: virtual long __cdecl CWbemObject::Next(long,unsigned short * __ptr64 * __ptr64,struct tagVARIANT * __ptr64,long * __ptr64,long * __ptr64) __ptr64
-?Next@CWbemObject@@UEAAJJPEAPEAGPEAUtagVARIANT@@PEAJ2@Z
-; public: int __cdecl CLimitationMapping::NextMapping(class CPropertyInformation * __ptr64,class CPropertyInformation * __ptr64) __ptr64
-?NextMapping@CLimitationMapping@@QEAAHPEAVCPropertyInformation@@0@Z
-; public: virtual long __cdecl CWbemClass::NextMethod(long,unsigned short * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?NextMethod@CWbemClass@@UEAAJJPEAPEAGPEAPEAUIWbemClassObject@@1@Z
-; public: virtual long __cdecl CWbemInstance::NextMethod(long,unsigned short * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?NextMethod@CWbemInstance@@UEAAJJPEAPEAGPEAPEAUIWbemClassObject@@1@Z
-; public: long __cdecl CWbemInstance::PlugKeyHoles(void) __ptr64
-?PlugKeyHoles@CWbemInstance@@QEAAJXZ
-; public: virtual long __cdecl CQualifierSet::Put(unsigned short const * __ptr64,struct tagVARIANT * __ptr64,long) __ptr64
-?Put@CQualifierSet@@UEAAJPEBGPEAUtagVARIANT@@J@Z
-; public: virtual long __cdecl CWbemClass::Put(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long) __ptr64
-?Put@CWbemClass@@UEAAJPEBGJPEAUtagVARIANT@@J@Z
-; public: virtual long __cdecl CWbemInstance::Put(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long) __ptr64
-?Put@CWbemInstance@@UEAAJPEBGJPEAUtagVARIANT@@J@Z
-; public: long __cdecl CMethodPart::PutMethod(unsigned short const * __ptr64,long,class CWbemObject * __ptr64,class CWbemObject * __ptr64) __ptr64
-?PutMethod@CMethodPart@@QEAAJPEBGJPEAVCWbemObject@@1@Z
-; public: virtual long __cdecl CWbemClass::PutMethod(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64) __ptr64
-?PutMethod@CWbemClass@@UEAAJPEBGJPEAUIWbemClassObject@@1@Z
-; public: virtual long __cdecl CWbemInstance::PutMethod(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64) __ptr64
-?PutMethod@CWbemInstance@@UEAAJPEBGJPEAUIWbemClassObject@@1@Z
-; public: virtual long __cdecl CWbemCallSecurity::QueryBlanket(unsigned long * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryBlanket@CWbemCallSecurity@@UEAAJPEAK0PEAPEAG00PEAPEAX0@Z
-; public: virtual long __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CQualifierSet::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CQualifierSet@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CWbemCallSecurity::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CWbemCallSecurity@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CWbemObject::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CWbemObject@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CWbemThreadSecurityHandle::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CWbemThreadSecurityHandle@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CWbemObject::QueryObjectFlags(long,unsigned __int64,unsigned __int64 * __ptr64) __ptr64
-?QueryObjectFlags@CWbemObject@@UEAAJJ_KPEA_K@Z
-; public: virtual long __cdecl CWbemObject::QueryPartInfo(unsigned long * __ptr64) __ptr64
-?QueryPartInfo@CWbemObject@@UEAAJPEAK@Z
-; public: virtual long __cdecl CWbemObject::QueryPropertyFlags(long,unsigned short const * __ptr64,unsigned __int64,unsigned __int64 * __ptr64) __ptr64
-?QueryPropertyFlags@CWbemObject@@UEAAJJPEBG_KPEA_K@Z
-; public: virtual long __cdecl CWbemObject::ReadDWORD(long,unsigned long * __ptr64) __ptr64
-?ReadDWORD@CWbemObject@@UEAAJJPEAK@Z
-; public: virtual long __cdecl CWbemObject::ReadProp(unsigned short const * __ptr64,long,unsigned long,long * __ptr64,long * __ptr64,int * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
-?ReadProp@CWbemObject@@UEAAJPEBGJKPEAJ1PEAHPEAKPEAX@Z
-; public: virtual long __cdecl CWbemObject::ReadPropertyValue(long,long,long * __ptr64,unsigned char * __ptr64) __ptr64
-?ReadPropertyValue@CWbemObject@@UEAAJJJPEAJPEAE@Z
-; public: virtual long __cdecl CWbemObject::ReadQWORD(long,unsigned __int64 * __ptr64) __ptr64
-?ReadQWORD@CWbemObject@@UEAAJJPEA_K@Z
-; public: int __cdecl CClassPart::ReallocAndCompact(unsigned long) __ptr64
-?ReallocAndCompact@CClassPart@@QEAAHK@Z
-; public: int __cdecl CInstancePart::ReallocAndCompact(unsigned long) __ptr64
-?ReallocAndCompact@CInstancePart@@QEAAHK@Z
-; protected: static long __cdecl CUntypedArray::ReallocArray(class CPtrSource * __ptr64,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
-?ReallocArray@CUntypedArray@@KAJPEAVCPtrSource@@KPEAVCFastHeap@@KPEAK22@Z
-; public: int __cdecl CFastHeap::Reallocate(unsigned long,unsigned long,unsigned long,unsigned long & __ptr64 __ptr64) __ptr64
-?Reallocate@CFastHeap@@QEAAHKKKAEFAK@Z
-; protected: unsigned char * __ptr64 __cdecl CWbemObject::Reallocate(unsigned long) __ptr64
-?Reallocate@CWbemObject@@IEAAPEAEK@Z
-; public: void __cdecl CBasicQualifierSet::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CBasicQualifierSet@@QEAAXPEAE@Z
-; public: void __cdecl CClassAndMethods::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CClassAndMethods@@QEAAXPEAE@Z
-; public: void __cdecl CClassPart::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CClassPart@@QEAAXPEAE@Z
-; public: void __cdecl CCompressedStringList::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CCompressedStringList@@QEAAXPEAE@Z
-; public: void __cdecl CDataTable::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CDataTable@@QEAAXPEAE@Z
-; public: void __cdecl CDecorationPart::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CDecorationPart@@QEAAXPEAE@Z
-; public: void __cdecl CFastHeap::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CFastHeap@@QEAAXPEAE@Z
-; public: void __cdecl CInstancePart::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CInstancePart@@QEAAXPEAE@Z
-; public: void __cdecl CMethodPart::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CMethodPart@@QEAAXPEAE@Z
-; public: void __cdecl CPropertyLookupTable::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CPropertyLookupTable@@QEAAXPEAE@Z
-; public: void __cdecl CQualifierSetList::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CQualifierSetList@@QEAAXPEAE@Z
-; public: void __cdecl CQualifierSetList::Rebase(void) __ptr64
-?Rebase@CQualifierSetList@@QEAAXXZ
-; public: void __cdecl CWbemClass::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CWbemClass@@QEAAXPEAE@Z
-; public: void __cdecl CWbemInstance::Rebase(unsigned char * __ptr64) __ptr64
-?Rebase@CWbemInstance@@QEAAXPEAE@Z
-; public: void __cdecl CInstancePQSContainer::RebaseSecondarySet(void) __ptr64
-?RebaseSecondarySet@CInstancePQSContainer@@QEAAXXZ
-; public: enum EReconciliation  __cdecl CClassAndMethods::ReconcileWith(class CClassAndMethods & __ptr64) __ptr64
-?ReconcileWith@CClassAndMethods@@QEAA?AW4EReconciliation@@AEAV1@@Z
-; public: enum EReconciliation  __cdecl CClassPart::ReconcileWith(class CClassPart & __ptr64) __ptr64
-?ReconcileWith@CClassPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
-; public: enum EReconciliation  __cdecl CMethodPart::ReconcileWith(class CMethodPart & __ptr64) __ptr64
-?ReconcileWith@CMethodPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
-; public: enum EReconciliation  __cdecl CWbemClass::ReconcileWith(class CWbemClass * __ptr64) __ptr64
-?ReconcileWith@CWbemClass@@QEAA?AW4EReconciliation@@PEAV1@@Z
-; public: virtual long __cdecl CWbemClass::ReconcileWith(long,struct _IWmiObject * __ptr64) __ptr64
-?ReconcileWith@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemInstance::ReconcileWith(long,struct _IWmiObject * __ptr64) __ptr64
-?ReconcileWith@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
-; protected: virtual long __cdecl CWbemRefreshingSvc::ReconnectRemoteRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,long,unsigned long,struct _WBEM_RECONNECT_INFO * __ptr64,struct _WBEM_RECONNECT_RESULTS * __ptr64,unsigned long * __ptr64) __ptr64
-?ReconnectRemoteRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@JJKPEAU_WBEM_RECONNECT_INFO@@PEAU_WBEM_RECONNECT_RESULTS@@PEAK@Z
-; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::ReconnectRemoteRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,long,unsigned long,struct _WBEM_RECONNECT_INFO * __ptr64,struct _WBEM_RECONNECT_RESULTS * __ptr64,unsigned long * __ptr64) __ptr64
-?ReconnectRemoteRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@JJKPEAU_WBEM_RECONNECT_INFO@@PEAU_WBEM_RECONNECT_RESULTS@@PEAK@Z
-; public: void __cdecl CFastHeap::Reduce(unsigned long,unsigned long,unsigned long) __ptr64
-?Reduce@CFastHeap@@QEAAXKKK@Z
-; public: void __cdecl CWbemClass::ReduceClassAndMethodsSpace(unsigned long) __ptr64
-?ReduceClassAndMethodsSpace@CWbemClass@@QEAAXK@Z
-; public: virtual void __cdecl CClassAndMethods::ReduceClassPartSpace(class CClassPart * __ptr64,unsigned long) __ptr64
-?ReduceClassPartSpace@CClassAndMethods@@UEAAXPEAVCClassPart@@K@Z
-; public: virtual void __cdecl CWbemInstance::ReduceClassPartSpace(class CClassPart * __ptr64,unsigned long) __ptr64
-?ReduceClassPartSpace@CWbemInstance@@UEAAXPEAVCClassPart@@K@Z
-; public: virtual void __cdecl CClassPart::ReduceDataTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ReduceDataTableSpace@CClassPart@@UEAAXPEAEKK@Z
-; public: virtual void __cdecl CInstancePart::ReduceDataTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ReduceDataTableSpace@CInstancePart@@UEAAXPEAEKK@Z
-; public: virtual void __cdecl CClassPart::ReduceHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ReduceHeapSize@CClassPart@@UEAAXPEAEKK@Z
-; public: virtual void __cdecl CInstancePart::ReduceHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ReduceHeapSize@CInstancePart@@UEAAXPEAEKK@Z
-; public: virtual void __cdecl CMethodPart::ReduceHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ReduceHeapSize@CMethodPart@@UEAAXPEAEKK@Z
-; public: virtual void __cdecl CWbemInstance::ReduceInstancePartSpace(class CInstancePart * __ptr64,unsigned long) __ptr64
-?ReduceInstancePartSpace@CWbemInstance@@UEAAXPEAVCInstancePart@@K@Z
-; public: virtual void __cdecl CClassAndMethods::ReduceMethodPartSpace(class CMethodPart * __ptr64,unsigned long) __ptr64
-?ReduceMethodPartSpace@CClassAndMethods@@UEAAXPEAVCMethodPart@@K@Z
-; public: virtual void __cdecl CClassPart::ReducePropertyTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ReducePropertyTableSpace@CClassPart@@UEAAXPEAEKK@Z
-; public: virtual void __cdecl CInstancePart::ReduceQualifierSetListSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?ReduceQualifierSetListSpace@CInstancePart@@UEAAXPEAEKK@Z
-; public: virtual void __cdecl CClassPart::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ReduceQualifierSetSpace@CClassPart@@UEAAXPEAVCBasicQualifierSet@@K@Z
-; public: virtual void __cdecl CInstancePQSContainer::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ReduceQualifierSetSpace@CInstancePQSContainer@@UEAAXPEAVCBasicQualifierSet@@K@Z
-; public: virtual void __cdecl CInstancePart::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ReduceQualifierSetSpace@CInstancePart@@UEAAXPEAVCBasicQualifierSet@@K@Z
-; public: virtual void __cdecl CMethodQualifierSetContainer::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ReduceQualifierSetSpace@CMethodQualifierSetContainer@@UEAAXPEAVCBasicQualifierSet@@K@Z
-; public: void __cdecl CQualifierSetList::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
-?ReduceQualifierSetSpace@CQualifierSetList@@QEAAXPEAVCBasicQualifierSet@@K@Z
-; public: virtual unsigned long __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::Release(void) __ptr64
-?Release@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::Release(void) __ptr64
-?Release@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::Release(void) __ptr64
-?Release@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::Release(void) __ptr64
-?Release@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::Release(void) __ptr64
-?Release@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::Release(void) __ptr64
-?Release@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::Release(void) __ptr64
-?Release@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UEAAKXZ
-; public: virtual unsigned long __cdecl CClassQualifierSet::Release(void) __ptr64
-?Release@CClassQualifierSet@@UEAAKXZ
-; public: virtual unsigned long __cdecl CInstanceQualifierSet::Release(void) __ptr64
-?Release@CInstanceQualifierSet@@UEAAKXZ
-; public: virtual unsigned long __cdecl CMethodQualifierSet::Release(void) __ptr64
-?Release@CMethodQualifierSet@@UEAAKXZ
-; public: virtual unsigned long __cdecl CQualifierSet::Release(void) __ptr64
-?Release@CQualifierSet@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemCallSecurity::Release(void) __ptr64
-?Release@CWbemCallSecurity@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemObject::Release(void) __ptr64
-?Release@CWbemObject@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemThreadSecurityHandle::Release(void) __ptr64
-?Release@CWbemThreadSecurityHandle@@UEAAKXZ
-; protected: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::ReleaseElement(class CFastPropertyBagItem * __ptr64) __ptr64
-?ReleaseElement@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@IEAAXPEAVCFastPropertyBagItem@@@Z
-; protected: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::ReleaseElement(class CWmiTextSource * __ptr64) __ptr64
-?ReleaseElement@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@IEAAXPEAVCWmiTextSource@@@Z
-; public: virtual long __cdecl CWbemObject::ReleaseMarshalData(struct IStream * __ptr64) __ptr64
-?ReleaseMarshalData@CWbemObject@@UEAAJPEAUIStream@@@Z
-; public: virtual long __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::RemoteRefresh(long,long * __ptr64,struct _WBEM_REFRESHED_OBJECT * __ptr64 * __ptr64) __ptr64
-?RemoteRefresh@XWbemRemoteRefr@CWbemRemoteRefresher@@UEAAJJPEAJPEAPEAU_WBEM_REFRESHED_OBJECT@@@Z
-; public: long __cdecl CFastPropertyBag::Remove(unsigned short const * __ptr64) __ptr64
-?Remove@CFastPropertyBag@@QEAAJPEBG@Z
-; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::RemoveAll(void) __ptr64
-?RemoveAll@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXXZ
-; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::RemoveAll(void) __ptr64
-?RemoveAll@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXXZ
-; public: long __cdecl CFastPropertyBag::RemoveAll(void) __ptr64
-?RemoveAll@CFastPropertyBag@@QEAAJXZ
-; public: virtual long __cdecl CWbemObject::RemoveArrayPropElementByHandle(long,long,unsigned long) __ptr64
-?RemoveArrayPropElementByHandle@CWbemObject@@UEAAJJJK@Z
-; public: virtual long __cdecl CWbemObject::RemoveArrayPropRangeByHandle(long,long,unsigned long,unsigned long) __ptr64
-?RemoveArrayPropRangeByHandle@CWbemObject@@UEAAJJJKK@Z
-; public: bool __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::RemoveAt(int,class CFastPropertyBagItem * __ptr64 * __ptr64) __ptr64
-?RemoveAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA_NHPEAPEAVCFastPropertyBagItem@@@Z
-; public: bool __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::RemoveAt(int,class CWmiTextSource * __ptr64 * __ptr64) __ptr64
-?RemoveAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA_NHPEAPEAVCWmiTextSource@@@Z
-; public: virtual long __cdecl CWbemObject::RemoveDecoration(void) __ptr64
-?RemoveDecoration@CWbemObject@@UEAAJXZ
-; protected: virtual long __cdecl CWbemRefreshingSvc::RemoveObjectFromRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,long,unsigned long,unsigned long * __ptr64) __ptr64
-?RemoveObjectFromRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@JJKPEAK@Z
-; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::RemoveObjectFromRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,long,unsigned long,unsigned long * __ptr64) __ptr64
-?RemoveObjectFromRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@JJKPEAK@Z
-; public: void __cdecl CDataTable::RemoveProperty(unsigned short,unsigned long,unsigned long) __ptr64
-?RemoveProperty@CDataTable@@QEAAXGKK@Z
-; public: long __cdecl CWbemObject::RemoveQualifierArrayRange(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,unsigned long,unsigned long) __ptr64
-?RemoveQualifierArrayRange@CWbemObject@@QEAAJPEBG0HJKK@Z
-; public: static long __cdecl CUntypedArray::RemoveRange(class CPtrSource * __ptr64,unsigned long,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long)
-?RemoveRange@CUntypedArray@@SAJPEAVCPtrSource@@KKPEAVCFastHeap@@KK@Z
-; public: void __cdecl CLimitationMapping::RemoveSpecific(void) __ptr64
-?RemoveSpecific@CLimitationMapping@@QEAAXXZ
-; public: long __cdecl CWbemInstance::Reparent(class CWbemClass * __ptr64,class CWbemInstance * __ptr64 * __ptr64) __ptr64
-?Reparent@CWbemInstance@@QEAAJPEAVCWbemClass@@PEAPEAV1@@Z
-; public: void __cdecl CCompressedStringList::Reset(void) __ptr64
-?Reset@CCompressedStringList@@QEAAXXZ
-; public: void __cdecl CLimitationMapping::Reset(void) __ptr64
-?Reset@CLimitationMapping@@QEAAXXZ
-; protected: long __cdecl CWbemRefreshingSvc::ResetRefreshInfo(struct _WBEM_REFRESH_INFO * __ptr64) __ptr64
-?ResetRefreshInfo@CWbemRefreshingSvc@@IEAAJPEAU_WBEM_REFRESH_INFO@@@Z
-; public: unsigned char * __ptr64 __cdecl CClassPart::ResolveHeapPointer(unsigned long) __ptr64
-?ResolveHeapPointer@CClassPart@@QEAAPEAEK@Z
-; public: unsigned char * __ptr64 __cdecl CFastHeap::ResolveHeapPointer(unsigned long) __ptr64
-?ResolveHeapPointer@CFastHeap@@QEAAPEAEK@Z
-; public: class CCompressedString * __ptr64 __cdecl CClassPart::ResolveHeapString(unsigned long) __ptr64
-?ResolveHeapString@CClassPart@@QEAAPEAVCCompressedString@@K@Z
-; public: class CCompressedString * __ptr64 __cdecl CFastHeap::ResolveString(unsigned long) __ptr64
-?ResolveString@CFastHeap@@QEAAPEAVCCompressedString@@K@Z
-; public: virtual long __cdecl CWbemCallSecurity::RevertToSelf(void) __ptr64
-?RevertToSelf@CWbemCallSecurity@@UEAAJXZ
-; public: int __cdecl CQualifierSet::SelfRebase(void) __ptr64
-?SelfRebase@CQualifierSet@@QEAAHXZ
-; public: long __cdecl CInstancePart::SetActualValue(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
-?SetActualValue@CInstancePart@@QEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
-; public: void __cdecl CLimitationMapping::SetAddChildKeys(int) __ptr64
-?SetAddChildKeys@CLimitationMapping@@QEAAXH@Z
-; public: void __cdecl CDataTable::SetAllToDefault(void) __ptr64
-?SetAllToDefault@CDataTable@@QEAAXXZ
-; public: void __cdecl CFastHeap::SetAllocatedDataLength(unsigned long) __ptr64
-?SetAllocatedDataLength@CFastHeap@@QEAAXK@Z
-; public: virtual long __cdecl CWbemObject::SetArrayPropElementByHandle(long,long,unsigned long,unsigned long,void * __ptr64) __ptr64
-?SetArrayPropElementByHandle@CWbemObject@@UEAAJJJKKPEAX@Z
-; public: virtual long __cdecl CWbemObject::SetArrayPropRangeByHandle(long,long,unsigned long,unsigned long,unsigned long,void * __ptr64) __ptr64
-?SetArrayPropRangeByHandle@CWbemObject@@UEAAJJJKKKPEAX@Z
-; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::SetAt(int,class CFastPropertyBagItem * __ptr64,class CFastPropertyBagItem * __ptr64 * __ptr64) __ptr64
-?SetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXHPEAVCFastPropertyBagItem@@PEAPEAV2@@Z
-; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::SetAt(int,class CWmiTextSource * __ptr64,class CWmiTextSource * __ptr64 * __ptr64) __ptr64
-?SetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXHPEAVCWmiTextSource@@PEAPEAV2@@Z
-; public: long __cdecl CClassPart::SetClassName(class CVar * __ptr64) __ptr64
-?SetClassName@CClassPart@@QEAAJPEAVCVar@@@Z
-; public: void __cdecl CLimitationMapping::SetClassObject(class CWbemClass * __ptr64) __ptr64
-?SetClassObject@CLimitationMapping@@QEAAXPEAVCWbemClass@@@Z
-; public: virtual long __cdecl CWbemClass::SetClassPart(void * __ptr64,unsigned long) __ptr64
-?SetClassPart@CWbemClass@@UEAAJPEAXK@Z
-; public: virtual long __cdecl CWbemInstance::SetClassPart(void * __ptr64,unsigned long) __ptr64
-?SetClassPart@CWbemInstance@@UEAAJPEAXK@Z
-; public: long __cdecl CClassPart::SetClassQualifier(unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
-?SetClassQualifier@CClassPart@@QEAAJPEBGJPEAVCTypedValue@@@Z
-; public: long __cdecl CClassPart::SetClassQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
-?SetClassQualifier@CClassPart@@QEAAJPEBGPEAVCVar@@J@Z
-; public: void __cdecl CDecorationPart::SetClientOnly(void) __ptr64
-?SetClientOnly@CDecorationPart@@QEAAXXZ
-; public: void __cdecl CWbemObject::SetClientOnly(void) __ptr64
-?SetClientOnly@CWbemObject@@QEAAXXZ
-; public: void __cdecl CFastHeap::SetContainer(class CHeapContainer * __ptr64) __ptr64
-?SetContainer@CFastHeap@@QEAAXPEAVCHeapContainer@@@Z
-; public: void __cdecl CBasicQualifierSet::SetData(unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
-?SetData@CBasicQualifierSet@@QEAAXPEAEPEAVCFastHeap@@@Z
-; public: void __cdecl CClassAndMethods::SetData(unsigned char * __ptr64,class CWbemClass * __ptr64,class CClassAndMethods * __ptr64) __ptr64
-?SetData@CClassAndMethods@@QEAAXPEAEPEAVCWbemClass@@PEAV1@@Z
-; public: void __cdecl CClassPart::SetData(unsigned char * __ptr64,class CClassPartContainer * __ptr64,class CClassPart * __ptr64) __ptr64
-?SetData@CClassPart@@QEAAXPEAEPEAVCClassPartContainer@@PEAV1@@Z
-; public: void __cdecl CCompressedStringList::SetData(unsigned char * __ptr64) __ptr64
-?SetData@CCompressedStringList@@QEAAXPEAE@Z
-; public: void __cdecl CDataTable::SetData(unsigned char * __ptr64,int,int,class CDataTableContainer * __ptr64) __ptr64
-?SetData@CDataTable@@QEAAXPEAEHHPEAVCDataTableContainer@@@Z
-; public: void __cdecl CDecorationPart::SetData(unsigned char * __ptr64) __ptr64
-?SetData@CDecorationPart@@QEAAXPEAE@Z
-; public: int __cdecl CFastHeap::SetData(unsigned char * __ptr64,class CHeapContainer * __ptr64) __ptr64
-?SetData@CFastHeap@@QEAAHPEAEPEAVCHeapContainer@@@Z
-; public: void __cdecl CInstancePart::SetData(unsigned char * __ptr64,class CInstancePartContainer * __ptr64,class CClassPart & __ptr64,unsigned __int64) __ptr64
-?SetData@CInstancePart@@QEAAXPEAEPEAVCInstancePartContainer@@AEAVCClassPart@@_K@Z
-; public: void __cdecl CMethodPart::SetData(unsigned char * __ptr64,class CMethodPartContainer * __ptr64,class CMethodPart * __ptr64) __ptr64
-?SetData@CMethodPart@@QEAAXPEAEPEAVCMethodPartContainer@@PEAV1@@Z
-; public: void __cdecl CMethodQualifierSet::SetData(class CMethodPart * __ptr64,class CMethodPart * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetData@CMethodQualifierSet@@QEAAXPEAVCMethodPart@@0PEBG@Z
-; public: void __cdecl CMethodQualifierSetContainer::SetData(class CMethodPart * __ptr64,class CMethodPart * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetData@CMethodQualifierSetContainer@@QEAAXPEAVCMethodPart@@0PEBG@Z
-; public: void __cdecl CPropertyLookupTable::SetData(unsigned char * __ptr64,class CPropertyTableContainer * __ptr64) __ptr64
-?SetData@CPropertyLookupTable@@QEAAXPEAEPEAVCPropertyTableContainer@@@Z
-; public: void __cdecl CQualifierSet::SetData(unsigned char * __ptr64,class CQualifierSetContainer * __ptr64,class CBasicQualifierSet * __ptr64) __ptr64
-?SetData@CQualifierSet@@QEAAXPEAEPEAVCQualifierSetContainer@@PEAVCBasicQualifierSet@@@Z
-; public: void __cdecl CQualifierSetList::SetData(unsigned char * __ptr64,int,class CQualifierSetListContainer * __ptr64) __ptr64
-?SetData@CQualifierSetList@@QEAAXPEAEHPEAVCQualifierSetListContainer@@@Z
-; public: void __cdecl CSharedLock::SetData(struct SHARED_LOCK_DATA * __ptr64) __ptr64
-?SetData@CSharedLock@@QEAAXPEAUSHARED_LOCK_DATA@@@Z
-; public: virtual void __cdecl CWbemClass::SetData(unsigned char * __ptr64,int) __ptr64
-?SetData@CWbemClass@@UEAAXPEAEH@Z
-; public: void __cdecl CWbemDataPacket::SetData(unsigned char * __ptr64,unsigned long,bool) __ptr64
-?SetData@CWbemDataPacket@@QEAAXPEAEK_N@Z
-; public: void __cdecl CWbemInstance::SetData(unsigned char * __ptr64,int,unsigned long) __ptr64
-?SetData@CWbemInstance@@QEAAXPEAEHK@Z
-; public: virtual void __cdecl CWbemInstance::SetData(unsigned char * __ptr64,int) __ptr64
-?SetData@CWbemInstance@@UEAAXPEAEH@Z
-; public: void __cdecl CWbemMtgtDeliverEventPacket::SetData(unsigned char * __ptr64,unsigned long,bool) __ptr64
-?SetData@CWbemMtgtDeliverEventPacket@@QEAAXPEAEK_N@Z
-; public: void __cdecl CWbemObjectArrayPacket::SetData(unsigned char * __ptr64,unsigned long,bool) __ptr64
-?SetData@CWbemObjectArrayPacket@@QEAAXPEAEK_N@Z
-; public: void __cdecl CWbemSmartEnumNextPacket::SetData(unsigned char * __ptr64,unsigned long,bool) __ptr64
-?SetData@CWbemSmartEnumNextPacket@@QEAAXPEAEK_N@Z
-; protected: static void __cdecl CBasicQualifierSet::SetDataLength(unsigned char * __ptr64,unsigned long)
-?SetDataLength@CBasicQualifierSet@@KAXPEAEK@Z
-; public: void __cdecl CClassPart::SetDataLength(unsigned long) __ptr64
-?SetDataLength@CClassPart@@QEAAXK@Z
-; public: void __cdecl CInstancePart::SetDataLength(unsigned long) __ptr64
-?SetDataLength@CInstancePart@@QEAAXK@Z
-; public: static void __cdecl CBasicQualifierSet::SetDataToNone(unsigned char * __ptr64)
-?SetDataToNone@CBasicQualifierSet@@SAXPEAE@Z
-; public: void __cdecl CClassAndMethods::SetDataWithNumProps(unsigned char * __ptr64,class CWbemClass * __ptr64,unsigned long,class CClassAndMethods * __ptr64) __ptr64
-?SetDataWithNumProps@CClassAndMethods@@QEAAXPEAEPEAVCWbemClass@@KPEAV1@@Z
-; public: void __cdecl CClassPart::SetDataWithNumProps(unsigned char * __ptr64,class CClassPartContainer * __ptr64,unsigned long,class CClassPart * __ptr64) __ptr64
-?SetDataWithNumProps@CClassPart@@QEAAXPEAEPEAVCClassPartContainer@@KPEAV1@@Z
-; public: virtual long __cdecl CWbemObject::SetDecoration(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetDecoration@CWbemObject@@UEAAJPEBG0@Z
-; protected: long __cdecl CClassPart::SetDefaultValue(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
-?SetDefaultValue@CClassPart@@IEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
-; public: long __cdecl CClassPart::SetDefaultValue(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
-?SetDefaultValue@CClassPart@@QEAAJPEBGPEAVCVar@@@Z
-; public: void __cdecl CDataTable::SetDefaultness(int,int) __ptr64
-?SetDefaultness@CDataTable@@QEAAXHH@Z
-; public: void __cdecl CLimitationMapping::SetFlags(long) __ptr64
-?SetFlags@CLimitationMapping@@QEAAXJ@Z
-; public: void __cdecl CCompressedString::SetFromAscii(char const * __ptr64,unsigned __int64) __ptr64
-?SetFromAscii@CCompressedString@@QEAAXPEBD_K@Z
-; public: void __cdecl CCompressedString::SetFromUnicode(int,unsigned short const * __ptr64) __ptr64
-?SetFromUnicode@CCompressedString@@QEAAXHPEBG@Z
-; public: void __cdecl CCompressedString::SetFromUnicode(unsigned short const * __ptr64) __ptr64
-?SetFromUnicode@CCompressedString@@QEAAXPEBG@Z
-; protected: void __cdecl CFastHeap::SetInLineLength(unsigned long) __ptr64
-?SetInLineLength@CFastHeap@@IEAAXK@Z
-; public: void __cdecl CLimitationMapping::SetIncludeDerivation(int) __ptr64
-?SetIncludeDerivation@CLimitationMapping@@QEAAXH@Z
-; public: void __cdecl CLimitationMapping::SetIncludeNamespace(int) __ptr64
-?SetIncludeNamespace@CLimitationMapping@@QEAAXH@Z
-; public: void __cdecl CLimitationMapping::SetIncludeServer(int) __ptr64
-?SetIncludeServer@CLimitationMapping@@QEAAXH@Z
-; public: long __cdecl CClassPart::SetInheritanceChain(long,unsigned short * __ptr64 * __ptr64) __ptr64
-?SetInheritanceChain@CClassPart@@QEAAJJPEAPEAG@Z
-; public: virtual long __cdecl CWbemClass::SetInheritanceChain(long,unsigned short * __ptr64 * __ptr64) __ptr64
-?SetInheritanceChain@CWbemClass@@UEAAJJPEAPEAG@Z
-; public: virtual long __cdecl CWbemInstance::SetInheritanceChain(long,unsigned short * __ptr64 * __ptr64) __ptr64
-?SetInheritanceChain@CWbemInstance@@UEAAJJPEAPEAG@Z
-; public: long __cdecl CInstancePart::SetInstanceQualifier(unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
-?SetInstanceQualifier@CInstancePart@@QEAAJPEBGJPEAVCTypedValue@@@Z
-; public: long __cdecl CInstancePart::SetInstanceQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
-?SetInstanceQualifier@CInstancePart@@QEAAJPEBGPEAVCVar@@J@Z
-; public: void __cdecl CFixedBSTRArray::SetLength(int) __ptr64
-?SetLength@CFixedBSTRArray@@QEAAXH@Z
-; public: void __cdecl CDecorationPart::SetLimited(void) __ptr64
-?SetLimited@CDecorationPart@@QEAAXXZ
-; public: void __cdecl CClassPart::SetLocalized(int) __ptr64
-?SetLocalized@CClassPart@@QEAAXH@Z
-; public: void __cdecl CInstancePart::SetLocalized(int) __ptr64
-?SetLocalized@CInstancePart@@QEAAXH@Z
-; public: virtual void __cdecl CWbemClass::SetLocalized(int) __ptr64
-?SetLocalized@CWbemClass@@UEAAXH@Z
-; public: virtual void __cdecl CWbemInstance::SetLocalized(int) __ptr64
-?SetLocalized@CWbemInstance@@UEAAXH@Z
-; public: long __cdecl CMethodPart::SetMethodOrigin(unsigned short const * __ptr64,long) __ptr64
-?SetMethodOrigin@CMethodPart@@QEAAJPEBGJ@Z
-; public: virtual long __cdecl CWbemClass::SetMethodOrigin(unsigned short const * __ptr64,long) __ptr64
-?SetMethodOrigin@CWbemClass@@UEAAJPEBGJ@Z
-; public: virtual long __cdecl CWbemInstance::SetMethodOrigin(unsigned short const * __ptr64,long) __ptr64
-?SetMethodOrigin@CWbemInstance@@UEAAJPEBGJ@Z
-; public: virtual long __cdecl CWbemObject::SetMethodQual(unsigned short const * __ptr64,unsigned short const * __ptr64,long,unsigned long,unsigned long,long,unsigned long,void * __ptr64) __ptr64
-?SetMethodQual@CWbemObject@@UEAAJPEBG0JKKJKPEAX@Z
-; public: virtual long __cdecl CWbemClass::SetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
-?SetMethodQualifier@CWbemClass@@UEAAJPEBG0JPEAVCTypedValue@@@Z
-; public: virtual long __cdecl CWbemClass::SetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
-?SetMethodQualifier@CWbemClass@@UEAAJPEBG0JPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemInstance::SetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
-?SetMethodQualifier@CWbemInstance@@UEAAJPEBG0JPEAVCTypedValue@@@Z
-; public: virtual long __cdecl CWbemInstance::SetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
-?SetMethodQualifier@CWbemInstance@@UEAAJPEBG0JPEAVCVar@@@Z
-; public: void __cdecl CDataTable::SetNullness(int,int) __ptr64
-?SetNullness@CDataTable@@QEAAXHH@Z
-; public: virtual long __cdecl CWbemObject::SetObjQual(unsigned short const * __ptr64,long,unsigned long,unsigned long,long,unsigned long,void * __ptr64) __ptr64
-?SetObjQual@CWbemObject@@UEAAJPEBGJKKJKPEAX@Z
-; public: virtual long __cdecl CWbemObject::SetObjectFlags(long,unsigned __int64,unsigned __int64) __ptr64
-?SetObjectFlags@CWbemObject@@UEAAJJ_K0@Z
-; public: virtual long __cdecl CWbemObject::SetObjectMemory(void * __ptr64,unsigned long) __ptr64
-?SetObjectMemory@CWbemObject@@UEAAJPEAXK@Z
-; public: virtual long __cdecl CWbemClass::SetObjectParts(void * __ptr64,unsigned long,unsigned long) __ptr64
-?SetObjectParts@CWbemClass@@UEAAJPEAXKK@Z
-; public: virtual long __cdecl CWbemInstance::SetObjectParts(void * __ptr64,unsigned long,unsigned long) __ptr64
-?SetObjectParts@CWbemInstance@@UEAAJPEAXKK@Z
-; public: void __cdecl CWbemThreadSecurityHandle::SetOrigin(enum tag_WMI_THREAD_SECURITY_ORIGIN) __ptr64
-?SetOrigin@CWbemThreadSecurityHandle@@QEAAXW4tag_WMI_THREAD_SECURITY_ORIGIN@@@Z
-; public: virtual long __cdecl CWbemObject::SetPropByHandle(long,long,unsigned long,void * __ptr64) __ptr64
-?SetPropByHandle@CWbemObject@@UEAAJJJKPEAX@Z
-; public: virtual long __cdecl CWbemObject::SetPropQual(unsigned short const * __ptr64,unsigned short const * __ptr64,long,unsigned long,unsigned long,long,unsigned long,void * __ptr64) __ptr64
-?SetPropQual@CWbemObject@@UEAAJPEBG0JKKJKPEAX@Z
-; public: long __cdecl CClassPart::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
-?SetPropQualifier@CClassPart@@QEAAJPEBG0JPEAVCTypedValue@@@Z
-; public: long __cdecl CClassPart::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
-?SetPropQualifier@CClassPart@@QEAAJPEBG0JPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemClass::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
-?SetPropQualifier@CWbemClass@@UEAAJPEBG0JPEAVCTypedValue@@@Z
-; public: virtual long __cdecl CWbemClass::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
-?SetPropQualifier@CWbemClass@@UEAAJPEBG0JPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemInstance::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
-?SetPropQualifier@CWbemInstance@@UEAAJPEBG0JPEAVCTypedValue@@@Z
-; public: virtual long __cdecl CWbemInstance::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
-?SetPropQualifier@CWbemInstance@@UEAAJPEBG0JPEAVCVar@@@Z
-; public: virtual long __cdecl CWbemClass::SetPropValue(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
-?SetPropValue@CWbemClass@@UEAAJPEBGPEAVCVar@@J@Z
-; public: virtual long __cdecl CWbemInstance::SetPropValue(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
-?SetPropValue@CWbemInstance@@UEAAJPEBGPEAVCVar@@J@Z
-; public: long __cdecl CClassPart::SetPropertyOrigin(unsigned short const * __ptr64,long) __ptr64
-?SetPropertyOrigin@CClassPart@@QEAAJPEBGJ@Z
-; public: virtual long __cdecl CWbemClass::SetPropertyOrigin(unsigned short const * __ptr64,long) __ptr64
-?SetPropertyOrigin@CWbemClass@@UEAAJPEBGJ@Z
-; public: virtual long __cdecl CWbemInstance::SetPropertyOrigin(unsigned short const * __ptr64,long) __ptr64
-?SetPropertyOrigin@CWbemInstance@@UEAAJPEBGJ@Z
-; public: virtual long __cdecl CWbemClass::SetQualifier(unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
-?SetQualifier@CWbemClass@@UEAAJPEBGJPEAVCTypedValue@@@Z
-; public: virtual long __cdecl CWbemClass::SetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
-?SetQualifier@CWbemClass@@UEAAJPEBGPEAVCVar@@J@Z
-; public: virtual long __cdecl CWbemInstance::SetQualifier(unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
-?SetQualifier@CWbemInstance@@UEAAJPEBGJPEAVCTypedValue@@@Z
-; public: virtual long __cdecl CWbemInstance::SetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
-?SetQualifier@CWbemInstance@@UEAAJPEBGPEAVCVar@@J@Z
-; public: long __cdecl CWbemObject::SetQualifierArrayRange(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,unsigned long,long,unsigned long,unsigned long,unsigned long,void * __ptr64) __ptr64
-?SetQualifierArrayRange@CWbemObject@@QEAAJPEBG0HJKJKKKPEAX@Z
-; public: long __cdecl CQualifierSet::SetQualifierValue(unsigned short const * __ptr64,unsigned char,class CTypedValue * __ptr64,int,int) __ptr64
-?SetQualifierValue@CQualifierSet@@QEAAJPEBGEPEAVCTypedValue@@HH@Z
-; public: static long __cdecl CUntypedArray::SetRange(class CPtrSource * __ptr64,long,unsigned long,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64)
-?SetRange@CUntypedArray@@SAJPEAVCPtrSource@@JKKPEAVCFastHeap@@KKKPEAX@Z
-; public: void __cdecl CInstancePQSContainer::SetSecondarySetData(void) __ptr64
-?SetSecondarySetData@CInstancePQSContainer@@QEAAXXZ
-; public: virtual long __cdecl CWbemObject::SetServerNamespace(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetServerNamespace@CWbemObject@@UEAAJPEBG0@Z
-; protected: virtual long __cdecl CWbemRefreshingSvc::SetServiceData(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?SetServiceData@CWbemRefreshingSvc@@MEAAJPEAG0@Z
-; public: virtual long __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::SetServiceData(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?SetServiceData@XCfgRefrSrvc@CWbemRefreshingSvc@@UEAAJPEAG0@Z
-; public: void __cdecl CMethodDescription::SetSig(int,unsigned long) __ptr64
-?SetSig@CMethodDescription@@QEAAXHK@Z
-; protected: long __cdecl CMethodPart::SetSignature(int,enum METHOD_SIGNATURE_TYPE,class CWbemObject * __ptr64) __ptr64
-?SetSignature@CMethodPart@@IEAAJHW4METHOD_SIGNATURE_TYPE@@PEAVCWbemObject@@@Z
-; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::SetSize(int) __ptr64
-?SetSize@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXH@Z
-; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::SetSize(int) __ptr64
-?SetSize@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXH@Z
-; public: virtual long __cdecl CWbemCallSecurity::SetThreadSecurity(struct _IWmiThreadSecHandle * __ptr64) __ptr64
-?SetThreadSecurity@CWbemCallSecurity@@UEAAJPEAU_IWmiThreadSecHandle@@@Z
-; public: void __cdecl CFastHeap::SetUsedLength(unsigned long) __ptr64
-?SetUsedLength@CFastHeap@@QEAAXK@Z
-; public: void __cdecl CLimitationMapping::SetVtableLength(unsigned long,int) __ptr64
-?SetVtableLength@CLimitationMapping@@QEAAXKH@Z
-; protected: long __cdecl CWbemDataPacket::SetupDataPacketHeader(unsigned long,unsigned char,unsigned long,unsigned long) __ptr64
-?SetupDataPacketHeader@CWbemDataPacket@@IEAAJKEKK@Z
-; public: int __cdecl CLimitationMapping::ShouldAddChildKeys(void) __ptr64
-?ShouldAddChildKeys@CLimitationMapping@@QEAAHXZ
-; public: int __cdecl CLimitationMapping::ShouldIncludeDerivation(void) __ptr64
-?ShouldIncludeDerivation@CLimitationMapping@@QEAAHXZ
-; public: int __cdecl CLimitationMapping::ShouldIncludeNamespace(void) __ptr64
-?ShouldIncludeNamespace@CLimitationMapping@@QEAAHXZ
-; public: int __cdecl CLimitationMapping::ShouldIncludeServer(void) __ptr64
-?ShouldIncludeServer@CLimitationMapping@@QEAAHXZ
-; public: int __cdecl CFastPropertyBag::Size(void) __ptr64
-?Size@CFastPropertyBag@@QEAAHXZ
-; public: unsigned char * __ptr64 __cdecl CBasicQualifierSet::Skip(void) __ptr64
-?Skip@CBasicQualifierSet@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CFastHeap::Skip(void) __ptr64
-?Skip@CFastHeap@@QEAAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::Skip(void) __ptr64
-?Skip@CPropertyLookupTable@@QEAAPEAEXZ
-; public: void __cdecl CFixedBSTRArray::SortInPlace(void) __ptr64
-?SortInPlace@CFixedBSTRArray@@QEAAXXZ
-; public: virtual long __cdecl CWbemClass::SpawnDerivedClass(long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?SpawnDerivedClass@CWbemClass@@UEAAJJPEAPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemInstance::SpawnDerivedClass(long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?SpawnDerivedClass@CWbemInstance@@UEAAJJPEAPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemClass::SpawnInstance(long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?SpawnInstance@CWbemClass@@UEAAJJPEAPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemInstance::SpawnInstance(long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
-?SpawnInstance@CWbemInstance@@UEAAJJPEAPEAUIWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemClass::SpawnKeyedInstance(long,unsigned short const * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?SpawnKeyedInstance@CWbemClass@@UEAAJJPEBGPEAPEAU_IWmiObject@@@Z
-; public: virtual long __cdecl CWbemInstance::SpawnKeyedInstance(long,unsigned short const * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?SpawnKeyedInstance@CWbemInstance@@UEAAJJPEBGPEAPEAU_IWmiObject@@@Z
-; public: int __cdecl CCompressedString::StartsWithNoCase(unsigned short const * __ptr64)const  __ptr64
-?StartsWithNoCase@CCompressedString@@QEBAHPEBG@Z
-; public: virtual long __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::StopRefreshing(long,long * __ptr64,long) __ptr64
-?StopRefreshing@XWbemRemoteRefr@CWbemRemoteRefresher@@UEAAJJPEAJJ@Z
-; public: void __cdecl CEmbeddedObject::StoreEmbedded(unsigned long,class CVar & __ptr64) __ptr64
-?StoreEmbedded@CEmbeddedObject@@QEAAXKAEAVCVar@@@Z
-; public: void __cdecl CEmbeddedObject::StoreEmbedded(unsigned long,class CWbemObject * __ptr64) __ptr64
-?StoreEmbedded@CEmbeddedObject@@QEAAXKPEAVCWbemObject@@@Z
-; protected: long __cdecl CQualifierSet::StoreQualifierConflicts(unsigned short const * __ptr64,class CVar & __ptr64,class CQualifierFlavor & __ptr64,class CVarVector & __ptr64) __ptr64
-?StoreQualifierConflicts@CQualifierSet@@IEAAJPEBGAEAVCVar@@AEAVCQualifierFlavor@@AEAVCVarVector@@@Z
-; public: int __cdecl CCompressedString::StoreToCVar(class CVar & __ptr64)const  __ptr64
-?StoreToCVar@CCompressedString@@QEBAHAEAVCVar@@@Z
-; public: void __cdecl CEmbeddedObject::StoreToCVar(class CVar & __ptr64) __ptr64
-?StoreToCVar@CEmbeddedObject@@QEAAXAEAVCVar@@@Z
-; public: virtual long __cdecl CWbemClass::StripClassPart(void) __ptr64
-?StripClassPart@CWbemClass@@UEAAJXZ
-; public: virtual long __cdecl CWbemInstance::StripClassPart(void) __ptr64
-?StripClassPart@CWbemInstance@@UEAAJXZ
-; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Swap(int,int) __ptr64
-?Swap@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXHH@Z
-; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Swap(int,int) __ptr64
-?Swap@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXHH@Z
-; public: long __cdecl CClassPart::TestCircularReference(unsigned short const * __ptr64) __ptr64
-?TestCircularReference@CClassPart@@QEAAJPEBG@Z
-; public: void __cdecl CFixedBSTRArray::ThreeWayMergeOrdered(class CFixedBSTRArray & __ptr64,class CFixedBSTRArray & __ptr64,class CFixedBSTRArray & __ptr64) __ptr64
-?ThreeWayMergeOrdered@CFixedBSTRArray@@QEAAXAEAV1@00@Z
-; public: static int __cdecl CBasicQualifierSet::TranslateToNewHeap(class CPtrSource * __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
-?TranslateToNewHeap@CBasicQualifierSet@@SAHPEAVCPtrSource@@PEAVCFastHeap@@1@Z
-; public: int __cdecl CCompressedString::TranslateToNewHeap(class CFastHeap * __ptr64,class CFastHeap * __ptr64) __ptr64
-?TranslateToNewHeap@CCompressedString@@QEAAHPEAVCFastHeap@@0@Z
-; public: int __cdecl CDataTable::TranslateToNewHeap(class CPropertyLookupTable * __ptr64,int,class CFastHeap * __ptr64,class CFastHeap * __ptr64) __ptr64
-?TranslateToNewHeap@CDataTable@@QEAAHPEAVCPropertyLookupTable@@HPEAVCFastHeap@@1@Z
-; public: int __cdecl CInstancePart::TranslateToNewHeap(class CClassPart & __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64) __ptr64
-?TranslateToNewHeap@CInstancePart@@QEAAHAEAVCClassPart@@PEAVCFastHeap@@1@Z
-; public: int __cdecl CQualifierSetList::TranslateToNewHeap(class CFastHeap * __ptr64,class CFastHeap * __ptr64) __ptr64
-?TranslateToNewHeap@CQualifierSetList@@QEAAHPEAVCFastHeap@@0@Z
-; public: static int __cdecl CUntypedArray::TranslateToNewHeap(class CPtrSource * __ptr64,class CType,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
-?TranslateToNewHeap@CUntypedArray@@SAHPEAVCPtrSource@@VCType@@PEAVCFastHeap@@2@Z
-; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Trim(void) __ptr64
-?Trim@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXXZ
-; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Trim(void) __ptr64
-?Trim@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXXZ
-; public: void __cdecl CFastHeap::Trim(void) __ptr64
-?Trim@CFastHeap@@QEAAXXZ
-; public: void __cdecl CInternalString::Unbind(void) __ptr64
-?Unbind@CInternalString@@QEAAXXZ
-; public: class CFastPropertyBagItem * __ptr64 * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::UnbindPtr(void) __ptr64
-?UnbindPtr@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAPEAPEAVCFastPropertyBagItem@@XZ
-; public: class CWmiTextSource * __ptr64 * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::UnbindPtr(void) __ptr64
-?UnbindPtr@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAPEAPEAVCWmiTextSource@@XZ
-; public: virtual void __cdecl CWbemClass::Undecorate(void) __ptr64
-?Undecorate@CWbemClass@@UEAAXXZ
-; public: virtual void __cdecl CWbemInstance::Undecorate(void) __ptr64
-?Undecorate@CWbemInstance@@UEAAXXZ
-; public: long __cdecl CWbemFetchRefrMgr::Uninit(void) __ptr64
-?Uninit@CWbemFetchRefrMgr@@QEAAJXZ
-; public: virtual long __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::Uninit(void) __ptr64
-?Uninit@XFetchRefrMgr@CWbemFetchRefrMgr@@UEAAJXZ
-; public: int __cdecl CHiPerfLock::Unlock(void) __ptr64
-?Unlock@CHiPerfLock@@QEAAHXZ
-; public: int __cdecl CSharedLock::Unlock(void) __ptr64
-?Unlock@CSharedLock@@QEAAHXZ
-; public: virtual long __cdecl CWbemObject::Unlock(long) __ptr64
-?Unlock@CWbemObject@@UEAAJJ@Z
-; public: virtual long __cdecl CWbemObject::UnmarshalInterface(struct IStream * __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?UnmarshalInterface@CWbemObject@@UEAAJPEAUIStream@@AEBU_GUID@@PEAPEAX@Z
-; public: long __cdecl CWbemMtgtDeliverEventPacket::UnmarshalPacket(long & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64 & __ptr64,class CWbemClassCache & __ptr64) __ptr64
-?UnmarshalPacket@CWbemMtgtDeliverEventPacket@@QEAAJAEAJAEAPEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
-; public: long __cdecl CWbemObjectArrayPacket::UnmarshalPacket(long & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64 & __ptr64,class CWbemClassCache & __ptr64) __ptr64
-?UnmarshalPacket@CWbemObjectArrayPacket@@QEAAJAEAJAEAPEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
-; public: long __cdecl CWbemSmartEnumNextPacket::UnmarshalPacket(long & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64 & __ptr64,class CWbemClassCache & __ptr64) __ptr64
-?UnmarshalPacket@CWbemSmartEnumNextPacket@@QEAAJAEAJAEAPEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
-; public: static unsigned char * __ptr64 __cdecl CBasicQualifierSet::Unmerge(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64)
-?Unmerge@CBasicQualifierSet@@SAPEAEPEAEPEAVCFastHeap@@01@Z
-; public: unsigned char * __ptr64 __cdecl CClassAndMethods::Unmerge(unsigned char * __ptr64,unsigned long) __ptr64
-?Unmerge@CClassAndMethods@@QEAAPEAEPEAEK@Z
-; public: unsigned char * __ptr64 __cdecl CClassPart::Unmerge(unsigned char * __ptr64,int) __ptr64
-?Unmerge@CClassPart@@QEAAPEAEPEAEH@Z
-; public: unsigned char * __ptr64 __cdecl CDataTable::Unmerge(class CPropertyLookupTable * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
-?Unmerge@CDataTable@@QEAAPEAEPEAVCPropertyLookupTable@@PEAVCFastHeap@@PEAE1@Z
-; public: unsigned char * __ptr64 __cdecl CDerivationList::Unmerge(unsigned char * __ptr64) __ptr64
-?Unmerge@CDerivationList@@QEAAPEAEPEAE@Z
-; public: unsigned char * __ptr64 __cdecl CMethodPart::Unmerge(unsigned char * __ptr64,unsigned long) __ptr64
-?Unmerge@CMethodPart@@QEAAPEAEPEAEK@Z
-; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::Unmerge(class CDataTable * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
-?Unmerge@CPropertyLookupTable@@QEAAPEAEPEAVCDataTable@@PEAVCFastHeap@@PEAE1@Z
-; public: virtual long __cdecl CWbemClass::Unmerge(unsigned char * __ptr64,int,unsigned long * __ptr64) __ptr64
-?Unmerge@CWbemClass@@UEAAJPEAEHPEAK@Z
-; public: virtual long __cdecl CWbemInstance::Unmerge(unsigned char * __ptr64,int,unsigned long * __ptr64) __ptr64
-?Unmerge@CWbemInstance@@UEAAJPEAEHPEAK@Z
-; public: unsigned long __cdecl CWbemObject::Unmerge(unsigned char * __ptr64 * __ptr64) __ptr64
-?Unmerge@CWbemObject@@QEAAKPEAPEAE@Z
-; public: virtual long __cdecl CWbemObject::Unmerge(long,unsigned long,unsigned long * __ptr64,void * __ptr64) __ptr64
-?Unmerge@CWbemObject@@UEAAJJKPEAKPEAX@Z
-; public: static long __cdecl CClassAndMethods::Update(class CClassAndMethods & __ptr64,class CClassAndMethods & __ptr64,long)
-?Update@CClassAndMethods@@SAJAEAV1@0J@Z
-; public: static long __cdecl CClassPart::Update(class CClassPart & __ptr64,class CClassPart & __ptr64,long)
-?Update@CClassPart@@SAJAEAV1@0J@Z
-; public: static long __cdecl CMethodPart::Update(class CMethodPart & __ptr64,class CMethodPart & __ptr64,long)
-?Update@CMethodPart@@SAJAEAV1@0J@Z
-; public: long __cdecl CQualifierSet::Update(class CBasicQualifierSet & __ptr64,long,class CFixedBSTRArray * __ptr64) __ptr64
-?Update@CQualifierSet@@QEAAJAEAVCBasicQualifierSet@@JPEAVCFixedBSTRArray@@@Z
-; public: long __cdecl CWbemClass::Update(class CWbemClass * __ptr64,long,class CWbemClass * __ptr64 * __ptr64) __ptr64
-?Update@CWbemClass@@QEAAJPEAV1@JPEAPEAV1@@Z
-; public: virtual long __cdecl CWbemClass::Update(struct _IWmiObject * __ptr64,long,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?Update@CWbemClass@@UEAAJPEAU_IWmiObject@@JPEAPEAU2@@Z
-; public: virtual long __cdecl CWbemInstance::Update(struct _IWmiObject * __ptr64,long,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?Update@CWbemInstance@@UEAAJPEAU_IWmiObject@@JPEAPEAU2@@Z
-; public: static long __cdecl CClassPart::UpdateProperties(class CClassPart & __ptr64,class CClassPart & __ptr64,long)
-?UpdateProperties@CClassPart@@SAJAEAV1@0J@Z
-; public: virtual long __cdecl CWbemClass::Upgrade(struct _IWmiObject * __ptr64,long,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?Upgrade@CWbemClass@@UEAAJPEAU_IWmiObject@@JPEAPEAU2@@Z
-; public: virtual long __cdecl CWbemInstance::Upgrade(struct _IWmiObject * __ptr64,long,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
-?Upgrade@CWbemInstance@@UEAAJPEAU_IWmiObject@@JPEAPEAU2@@Z
-; protected: static char __cdecl CCompressedString::UpperByte(unsigned short)
-?UpperByte@CCompressedString@@KADG@Z
-; public: static class CType  __cdecl CType::VARTYPEToType(unsigned short)
-?VARTYPEToType@CType@@SA?AV1@G@Z
-; public: long __cdecl CWbemInstance::Validate(void) __ptr64
-?Validate@CWbemInstance@@QEAAJXZ
-; public: static unsigned __int64 __cdecl CBasicQualifierSet::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
-?ValidateBuffer@CBasicQualifierSet@@SA_KPEAE_K@Z
-; public: static unsigned __int64 __cdecl CClassAndMethods::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
-?ValidateBuffer@CClassAndMethods@@SA_KPEAE_K@Z
-; public: static unsigned __int64 __cdecl CClassPart::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
-?ValidateBuffer@CClassPart@@SA_KPEAE_K@Z
-; public: static unsigned __int64 __cdecl CCompressedStringList::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
-?ValidateBuffer@CCompressedStringList@@SA_KPEAE_K@Z
-; public: static unsigned __int64 __cdecl CDataTable::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,int)
-?ValidateBuffer@CDataTable@@SA_KPEAE_KH@Z
-; public: static unsigned __int64 __cdecl CDecorationPart::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
-?ValidateBuffer@CDecorationPart@@SA_KPEAE_K@Z
-; public: static void __cdecl CEmbeddedObject::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
-?ValidateBuffer@CEmbeddedObject@@SAXPEAE_KAEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: static unsigned __int64 __cdecl CFastHeap::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
-?ValidateBuffer@CFastHeap@@SA_KPEAE_K@Z
-; public: static unsigned __int64 __cdecl CInstancePart::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,class CClassPart & __ptr64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
-?ValidateBuffer@CInstancePart@@SA_KPEAE_KAEAVCClassPart@@AEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: static unsigned __int64 __cdecl CMethodPart::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
-?ValidateBuffer@CMethodPart@@SA_KPEAE_K@Z
-; public: static unsigned __int64 __cdecl CPropertyLookupTable::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
-?ValidateBuffer@CPropertyLookupTable@@SA_KPEAE_K@Z
-; public: static unsigned __int64 __cdecl CQualifierSetList::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,int)
-?ValidateBuffer@CQualifierSetList@@SA_KPEAE_KH@Z
-; public: static unsigned __int64 __cdecl CWbemClass::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
-?ValidateBuffer@CWbemClass@@SA_KPEAE_K@Z
-; public: static unsigned __int64 __cdecl CWbemInstance::ValidateBuffer(unsigned char * __ptr64,int,unsigned long,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
-?ValidateBuffer@CWbemInstance@@SA_KPEAEHKAEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: static unsigned __int64 __cdecl CWbemInstance::ValidateBuffer(unsigned char * __ptr64,int,class CWbemInstance * __ptr64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
-?ValidateBuffer@CWbemInstance@@SA_KPEAEHPEAV1@AEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: static unsigned __int64 __cdecl CWbemInstance::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
-?ValidateBuffer@CWbemInstance@@SA_KPEAE_KAEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: long __cdecl CLimitationMapping::ValidateInstance(class CWbemInstance * __ptr64) __ptr64
-?ValidateInstance@CLimitationMapping@@QEAAJPEAVCWbemInstance@@@Z
-; public: virtual long __cdecl CWbemObject::ValidateObject(long) __ptr64
-?ValidateObject@CWbemObject@@UEAAJJ@Z
-; protected: long __cdecl CMethodPart::ValidateOutParams(class CWbemObject * __ptr64) __ptr64
-?ValidateOutParams@CMethodPart@@IEAAJPEAVCWbemObject@@@Z
-; public: long __cdecl CWbemObject::ValidatePath(struct ParsedObjectPath * __ptr64) __ptr64
-?ValidatePath@CWbemObject@@QEAAJPEAUParsedObjectPath@@@Z
-; public: long __cdecl CPropertyLookupTable::ValidateRange(unsigned short * __ptr64 * __ptr64,class CDataTable * __ptr64,class CFastHeap * __ptr64) __ptr64
-?ValidateRange@CPropertyLookupTable@@QEAAJPEAPEAGPEAVCDataTable@@PEAVCFastHeap@@@Z
-; public: int __cdecl CWbemObject::ValidateRange(unsigned short * __ptr64 * __ptr64) __ptr64
-?ValidateRange@CWbemObject@@QEAAHPEAPEAG@Z
-; public: long __cdecl CQualifierSet::ValidateSet(unsigned short const * __ptr64,unsigned char,class CTypedValue * __ptr64,int,int) __ptr64
-?ValidateSet@CQualifierSet@@QEAAJPEBGEPEAVCTypedValue@@HH@Z
-; public: int __cdecl CCompressedString::ValidateSize(int)const  __ptr64
-?ValidateSize@CCompressedString@@QEBAHH@Z
-; public: static long __cdecl CWbemObject::WbemObjectFromCOMPtr(struct IUnknown * __ptr64,class CWbemObject * __ptr64 * __ptr64)
-?WbemObjectFromCOMPtr@CWbemObject@@SAJPEAUIUnknown@@PEAPEAV1@@Z
-; unsigned short * __ptr64 __cdecl WbemStringCopy(unsigned short const * __ptr64)
-?WbemStringCopy@@YAPEAGPEBG@Z
-; void __cdecl WbemStringFree(unsigned short * __ptr64)
-?WbemStringFree@@YAXPEAG@Z
-; protected: long __cdecl CWbemRefreshingSvc::WrapRemoteRefresher(struct IWbemRemoteRefresher * __ptr64 * __ptr64) __ptr64
-?WrapRemoteRefresher@CWbemRefreshingSvc@@IEAAJPEAPEAUIWbemRemoteRefresher@@@Z
-; public: virtual long __cdecl CWbemObject::WriteDWORD(long,unsigned long) __ptr64
-?WriteDWORD@CWbemObject@@UEAAJJK@Z
-; public: long __cdecl CWbemClass::WriteDerivedClass(unsigned char * __ptr64,int,class CDecorationPart * __ptr64) __ptr64
-?WriteDerivedClass@CWbemClass@@QEAAJPEAEHPEAVCDecorationPart@@@Z
-; public: virtual long __cdecl CWbemObject::WriteProp(unsigned short const * __ptr64,long,unsigned long,unsigned long,long,void * __ptr64) __ptr64
-?WriteProp@CWbemObject@@UEAAJPEBGJKKJPEAX@Z
-; public: static unsigned char * __ptr64 __cdecl CBasicQualifierSet::WritePropagatedVersion(class CPtrSource * __ptr64,unsigned char,class CPtrSource * __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
-?WritePropagatedVersion@CBasicQualifierSet@@SAPEAEPEAVCPtrSource@@E0PEAVCFastHeap@@1@Z
-; public: unsigned char * __ptr64 __cdecl CDataTable::WritePropagatedVersion(class CPropertyLookupTable * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
-?WritePropagatedVersion@CDataTable@@QEAAPEAEPEAVCPropertyLookupTable@@PEAVCFastHeap@@PEAE1@Z
-; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::WritePropagatedVersion(class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
-?WritePropagatedVersion@CPropertyLookupTable@@QEAAPEAEPEAVCFastHeap@@PEAE0@Z
-; public: long __cdecl CWbemClass::WritePropertyAsMethodParam(class WString & __ptr64,int,long,class CWbemClass * __ptr64,int) __ptr64
-?WritePropertyAsMethodParam@CWbemClass@@QEAAJAEAVWString@@HJPEAV1@H@Z
-; public: virtual long __cdecl CWbemObject::WritePropertyValue(long,long,unsigned char const * __ptr64) __ptr64
-?WritePropertyValue@CWbemObject@@UEAAJJJPEBE@Z
-; public: virtual long __cdecl CWbemObject::WriteQWORD(long,unsigned __int64) __ptr64
-?WriteQWORD@CWbemObject@@UEAAJJ_K@Z
-; public: unsigned char * __ptr64 __cdecl CDataTable::WriteSmallerVersion(int,unsigned long,unsigned char * __ptr64) __ptr64
-?WriteSmallerVersion@CDataTable@@QEAAPEAEHKPEAE@Z
-; public: unsigned char * __ptr64 __cdecl CQualifierSetList::WriteSmallerVersion(int,unsigned char * __ptr64) __ptr64
-?WriteSmallerVersion@CQualifierSetList@@QEAAPEAEHPEAE@Z
-; public: virtual long __cdecl CWbemInstance::WriteToStream(struct IStream * __ptr64) __ptr64
-?WriteToStream@CWbemInstance@@UEAAJPEAUIStream@@@Z
-; public: virtual long __cdecl CWbemObject::WriteToStream(struct IStream * __ptr64) __ptr64
-?WriteToStream@CWbemObject@@UEAAJPEAUIStream@@@Z
-; public: static void __cdecl CWbemInstance::WriteTransferArrayHeader(long,unsigned char * __ptr64 * __ptr64)
-?WriteTransferArrayHeader@CWbemInstance@@SAXJPEAPEAE@Z
-; public: virtual long __cdecl CWbemObject::_GetCoreInfo(long,void * __ptr64 * __ptr64) __ptr64
-?_GetCoreInfo@CWbemObject@@UEAAJJPEAPEAX@Z
-; public: static unsigned short * __ptr64 __cdecl CCompressedString::fast_wcscpy(unsigned short * __ptr64,unsigned short const * __ptr64)
-?fast_wcscpy@CCompressedString@@SAPEAGPEAGPEBG@Z
-; public: static int __cdecl CCompressedString::fast_wcslen(unsigned short const * __ptr64)
-?fast_wcslen@CCompressedString@@SAHPEBG@Z
-; public: static unsigned short * __ptr64 __cdecl CCompressedString::fast_wcsncpy(unsigned short * __ptr64,unsigned short const * __ptr64,int)
-?fast_wcsncpy@CCompressedString@@SAPEAGPEAGPEBGH@Z
-; protected: static unsigned char *  CWbemDataPacket::s_abSignature
-?s_abSignature@CWbemDataPacket@@1PAEA DATA
-; private: static unsigned short const * __ptr64 *  CReservedWordTable::s_apwszReservedWords
-?s_apwszReservedWords@CReservedWordTable@@0PAPEBGA DATA
-; protected: static class CStaticCritSec  CWbemFetchRefrMgr::s_cs
-?s_cs@CWbemFetchRefrMgr@@1VCStaticCritSec@@A DATA
-; protected: static struct _IWbemRefresherMgr * __ptr64  __ptr64 CWbemFetchRefrMgr::s_pRefrMgr
-?s_pRefrMgr@CWbemFetchRefrMgr@@1PEAU_IWbemRefresherMgr@@EA DATA
-; private: static unsigned short const * __ptr64 const  __ptr64 CReservedWordTable::s_pszStartingCharsLCase
-?s_pszStartingCharsLCase@CReservedWordTable@@0PEBGEB DATA
-; private: static unsigned short const * __ptr64 const  __ptr64 CReservedWordTable::s_pszStartingCharsUCase
-?s_pszStartingCharsUCase@CReservedWordTable@@0PEBGEB DATA
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetObjectCount
+; 
+; Exports of file FastProx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FastProx.dll
+EXPORTS
+; public: __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> const & __ptr64) __ptr64
+??0?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QEAA@AEBV0@@Z
+; public: __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(class CWmiObjectTextSrc * __ptr64) __ptr64
+??0?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QEAA@PEAVCWmiObjectTextSrc@@@Z
+; public: __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> const & __ptr64) __ptr64
+??0?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QEAA@AEBV0@@Z
+; public: __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(class CWbemRefreshingSvc * __ptr64) __ptr64
+??0?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QEAA@PEAVCWbemRefreshingSvc@@@Z
+; public: __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> const & __ptr64) __ptr64
+??0?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QEAA@AEBV0@@Z
+; public: __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(class CWbemRemoteRefresher * __ptr64) __ptr64
+??0?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QEAA@PEAVCWbemRemoteRefresher@@@Z
+; public: __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> const & __ptr64) __ptr64
+??0?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QEAA@AEBV0@@Z
+; public: __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(class CWbemRefreshingSvc * __ptr64) __ptr64
+??0?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QEAA@PEAVCWbemRefreshingSvc@@@Z
+; public: __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> const & __ptr64) __ptr64
+??0?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QEAA@AEBV0@@Z
+; public: __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(class CWbemEnumMarshaling * __ptr64) __ptr64
+??0?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QEAA@PEAVCWbemEnumMarshaling@@@Z
+; public: __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> const & __ptr64) __ptr64
+??0?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QEAA@AEBV0@@Z
+; public: __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(class CWbemFetchRefrMgr * __ptr64) __ptr64
+??0?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QEAA@PEAVCWbemFetchRefrMgr@@@Z
+; public: __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> const & __ptr64) __ptr64
+??0?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QEAA@AEBV0@@Z
+; public: __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(class CWmiObjectFactory * __ptr64) __ptr64
+??0?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QEAA@PEAVCWmiObjectFactory@@@Z
+; public: __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> & __ptr64) __ptr64
+??0?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA@AEAV0@@Z
+; public: __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(class CReferenceManager<class CFastPropertyBagItem> const & __ptr64) __ptr64
+??0?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA@AEBV?$CReferenceManager@VCFastPropertyBagItem@@@@@Z
+; public: __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> & __ptr64) __ptr64
+??0?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA@AEAV0@@Z
+; public: __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(class CReferenceManager<class CWmiTextSource> const & __ptr64) __ptr64
+??0?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA@AEBV?$CReferenceManager@VCWmiTextSource@@@@@Z
+; public: __cdecl CRefedPointerArray<class CFastPropertyBagItem>::CRefedPointerArray<class CFastPropertyBagItem>(class CRefedPointerArray<class CFastPropertyBagItem> & __ptr64) __ptr64
+??0?$CRefedPointerArray@VCFastPropertyBagItem@@@@QEAA@AEAV0@@Z
+; public: __cdecl CRefedPointerArray<class CFastPropertyBagItem>::CRefedPointerArray<class CFastPropertyBagItem>(void) __ptr64
+??0?$CRefedPointerArray@VCFastPropertyBagItem@@@@QEAA@XZ
+; public: __cdecl CRefedPointerArray<class CWmiTextSource>::CRefedPointerArray<class CWmiTextSource>(class CRefedPointerArray<class CWmiTextSource> & __ptr64) __ptr64
+??0?$CRefedPointerArray@VCWmiTextSource@@@@QEAA@AEAV0@@Z
+; public: __cdecl CRefedPointerArray<class CWmiTextSource>::CRefedPointerArray<class CWmiTextSource>(void) __ptr64
+??0?$CRefedPointerArray@VCWmiTextSource@@@@QEAA@XZ
+; public: __cdecl CBasicQualifierSet::CBasicQualifierSet(void) __ptr64
+??0CBasicQualifierSet@@QEAA@XZ
+; public: __cdecl CClassAndMethods::CClassAndMethods(class CClassAndMethods const & __ptr64) __ptr64
+??0CClassAndMethods@@QEAA@AEBV0@@Z
+; public: __cdecl CClassAndMethods::CClassAndMethods(void) __ptr64
+??0CClassAndMethods@@QEAA@XZ
+; public: __cdecl CClassPart::CClassPart(class CClassPart const & __ptr64) __ptr64
+??0CClassPart@@QEAA@AEBV0@@Z
+; public: __cdecl CClassPart::CClassPart(void) __ptr64
+??0CClassPart@@QEAA@XZ
+; public: __cdecl CClassPartContainer::CClassPartContainer(class CClassPartContainer const & __ptr64) __ptr64
+??0CClassPartContainer@@QEAA@AEBV0@@Z
+; public: __cdecl CClassPartContainer::CClassPartContainer(void) __ptr64
+??0CClassPartContainer@@QEAA@XZ
+; public: __cdecl CClassQualifierSet::CClassQualifierSet(class CClassQualifierSet const & __ptr64) __ptr64
+??0CClassQualifierSet@@QEAA@AEBV0@@Z
+; public: __cdecl CClassQualifierSet::CClassQualifierSet(int) __ptr64
+??0CClassQualifierSet@@QEAA@H@Z
+; public: __cdecl CDecorationPart::CDecorationPart(void) __ptr64
+??0CDecorationPart@@QEAA@XZ
+; public: __cdecl CFastPropertyBag::CFastPropertyBag(class CFastPropertyBag & __ptr64) __ptr64
+??0CFastPropertyBag@@QEAA@AEAV0@@Z
+; public: __cdecl CFastPropertyBag::CFastPropertyBag(void) __ptr64
+??0CFastPropertyBag@@QEAA@XZ
+; public: __cdecl CFixedBSTRArray::CFixedBSTRArray(void) __ptr64
+??0CFixedBSTRArray@@QEAA@XZ
+; public: __cdecl CHiPerfLock::CHiPerfLock(void) __ptr64
+??0CHiPerfLock@@QEAA@XZ
+; public: __cdecl CInstancePQSContainer::CInstancePQSContainer(class CInstancePQSContainer const & __ptr64) __ptr64
+??0CInstancePQSContainer@@QEAA@AEBV0@@Z
+; public: __cdecl CInstancePQSContainer::CInstancePQSContainer(void) __ptr64
+??0CInstancePQSContainer@@QEAA@XZ
+; public: __cdecl CInstancePart::CInstancePart(class CInstancePart const & __ptr64) __ptr64
+??0CInstancePart@@QEAA@AEBV0@@Z
+; public: __cdecl CInstancePart::CInstancePart(void) __ptr64
+??0CInstancePart@@QEAA@XZ
+; public: __cdecl CInstancePartContainer::CInstancePartContainer(class CInstancePartContainer const & __ptr64) __ptr64
+??0CInstancePartContainer@@QEAA@AEBV0@@Z
+; public: __cdecl CInstancePartContainer::CInstancePartContainer(void) __ptr64
+??0CInstancePartContainer@@QEAA@XZ
+; public: __cdecl CInstanceQualifierSet::CInstanceQualifierSet(class CInstanceQualifierSet const & __ptr64) __ptr64
+??0CInstanceQualifierSet@@QEAA@AEBV0@@Z
+; public: __cdecl CInstanceQualifierSet::CInstanceQualifierSet(int) __ptr64
+??0CInstanceQualifierSet@@QEAA@H@Z
+; public: __cdecl CInternalString::CInternalString(class CInternalString const & __ptr64) __ptr64
+??0CInternalString@@QEAA@AEBV0@@Z
+; public: __cdecl CInternalString::CInternalString(unsigned short const * __ptr64) __ptr64
+??0CInternalString@@QEAA@PEBG@Z
+; public: __cdecl CInternalString::CInternalString(void) __ptr64
+??0CInternalString@@QEAA@XZ
+; public: __cdecl CLimitationMapping::CLimitationMapping(class CLimitationMapping & __ptr64) __ptr64
+??0CLimitationMapping@@QEAA@AEAV0@@Z
+; public: __cdecl CLimitationMapping::CLimitationMapping(void) __ptr64
+??0CLimitationMapping@@QEAA@XZ
+; public: __cdecl CMethodPart::CMethodPart(class CMethodPart const & __ptr64) __ptr64
+??0CMethodPart@@QEAA@AEBV0@@Z
+; public: __cdecl CMethodPart::CMethodPart(void) __ptr64
+??0CMethodPart@@QEAA@XZ
+; public: __cdecl CMethodPartContainer::CMethodPartContainer(class CMethodPartContainer const & __ptr64) __ptr64
+??0CMethodPartContainer@@QEAA@AEBV0@@Z
+; public: __cdecl CMethodPartContainer::CMethodPartContainer(void) __ptr64
+??0CMethodPartContainer@@QEAA@XZ
+; public: __cdecl CMethodQualifierSet::CMethodQualifierSet(class CMethodQualifierSet const & __ptr64) __ptr64
+??0CMethodQualifierSet@@QEAA@AEBV0@@Z
+; public: __cdecl CMethodQualifierSet::CMethodQualifierSet(void) __ptr64
+??0CMethodQualifierSet@@QEAA@XZ
+; public: __cdecl CMethodQualifierSetContainer::CMethodQualifierSetContainer(class CMethodQualifierSetContainer const & __ptr64) __ptr64
+??0CMethodQualifierSetContainer@@QEAA@AEBV0@@Z
+; public: __cdecl CMethodQualifierSetContainer::CMethodQualifierSetContainer(void) __ptr64
+??0CMethodQualifierSetContainer@@QEAA@XZ
+; public: __cdecl CPropertyBagItemArray::CPropertyBagItemArray(class CPropertyBagItemArray & __ptr64) __ptr64
+??0CPropertyBagItemArray@@QEAA@AEAV0@@Z
+; public: __cdecl CPropertyBagItemArray::CPropertyBagItemArray(void) __ptr64
+??0CPropertyBagItemArray@@QEAA@XZ
+; public: __cdecl CQualifierSet::CQualifierSet(class CQualifierSet const & __ptr64) __ptr64
+??0CQualifierSet@@QEAA@AEBV0@@Z
+; public: __cdecl CQualifierSet::CQualifierSet(int,int) __ptr64
+??0CQualifierSet@@QEAA@HH@Z
+; public: __cdecl CQualifierSetListContainer::CQualifierSetListContainer(class CQualifierSetListContainer const & __ptr64) __ptr64
+??0CQualifierSetListContainer@@QEAA@AEBV0@@Z
+; public: __cdecl CQualifierSetListContainer::CQualifierSetListContainer(void) __ptr64
+??0CQualifierSetListContainer@@QEAA@XZ
+; public: __cdecl CType::CType(unsigned long) __ptr64
+??0CType@@QEAA@K@Z
+; public: __cdecl CType::CType(void) __ptr64
+??0CType@@QEAA@XZ
+; public: __cdecl CWbemCallSecurity::CWbemCallSecurity(class CWbemCallSecurity const & __ptr64) __ptr64
+??0CWbemCallSecurity@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemCallSecurity::CWbemCallSecurity(class CLifeControl * __ptr64) __ptr64
+??0CWbemCallSecurity@@QEAA@PEAVCLifeControl@@@Z
+; public: __cdecl CWbemClass::CWbemClass(class CWbemClass const & __ptr64) __ptr64
+??0CWbemClass@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemClass::CWbemClass(void) __ptr64
+??0CWbemClass@@QEAA@XZ
+; public: __cdecl CWbemClassCache::CWbemClassCache(class CWbemClassCache const & __ptr64) __ptr64
+??0CWbemClassCache@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemClassCache::CWbemClassCache(unsigned long) __ptr64
+??0CWbemClassCache@@QEAA@K@Z
+; protected: __cdecl CWbemDataPacket::CWbemDataPacket(void) __ptr64
+??0CWbemDataPacket@@IEAA@XZ
+; public: __cdecl CWbemDataPacket::CWbemDataPacket(unsigned char * __ptr64,unsigned long,bool) __ptr64
+??0CWbemDataPacket@@QEAA@PEAEK_N@Z
+; public: __cdecl CWbemEnumMarshaling::CWbemEnumMarshaling(class CWbemEnumMarshaling const & __ptr64) __ptr64
+??0CWbemEnumMarshaling@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemEnumMarshaling::CWbemEnumMarshaling(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
+??0CWbemEnumMarshaling@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
+; public: __cdecl CWbemFetchRefrMgr::CWbemFetchRefrMgr(class CWbemFetchRefrMgr const & __ptr64) __ptr64
+??0CWbemFetchRefrMgr@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemFetchRefrMgr::CWbemFetchRefrMgr(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
+??0CWbemFetchRefrMgr@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
+; public: __cdecl CWbemGuidToClassMap::CWbemGuidToClassMap(class CWbemGuidToClassMap const & __ptr64) __ptr64
+??0CWbemGuidToClassMap@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemGuidToClassMap::CWbemGuidToClassMap(void) __ptr64
+??0CWbemGuidToClassMap@@QEAA@XZ
+; public: __cdecl CWbemInstance::CWbemInstance(class CWbemInstance const & __ptr64) __ptr64
+??0CWbemInstance@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemInstance::CWbemInstance(void) __ptr64
+??0CWbemInstance@@QEAA@XZ
+; private: __cdecl CWbemMtgtDeliverEventPacket::CWbemMtgtDeliverEventPacket(void) __ptr64
+??0CWbemMtgtDeliverEventPacket@@AEAA@XZ
+; public: __cdecl CWbemMtgtDeliverEventPacket::CWbemMtgtDeliverEventPacket(unsigned char * __ptr64,unsigned long,bool) __ptr64
+??0CWbemMtgtDeliverEventPacket@@QEAA@PEAEK_N@Z
+; protected: __cdecl CWbemObject::CWbemObject(class CDataTable & __ptr64,class CFastHeap & __ptr64,class CDerivationList & __ptr64) __ptr64
+??0CWbemObject@@IEAA@AEAVCDataTable@@AEAVCFastHeap@@AEAVCDerivationList@@@Z
+; public: __cdecl CWbemObject::CWbemObject(class CWbemObject const & __ptr64) __ptr64
+??0CWbemObject@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemObjectArrayPacket::CWbemObjectArrayPacket(unsigned char * __ptr64,unsigned long,bool) __ptr64
+??0CWbemObjectArrayPacket@@QEAA@PEAEK_N@Z
+; public: __cdecl CWbemRefreshingSvc::CWbemRefreshingSvc(class CWbemRefreshingSvc const & __ptr64) __ptr64
+??0CWbemRefreshingSvc@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemRefreshingSvc::CWbemRefreshingSvc(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
+??0CWbemRefreshingSvc@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
+; private: __cdecl CWbemSmartEnumNextPacket::CWbemSmartEnumNextPacket(void) __ptr64
+??0CWbemSmartEnumNextPacket@@AEAA@XZ
+; public: __cdecl CWbemSmartEnumNextPacket::CWbemSmartEnumNextPacket(unsigned char * __ptr64,unsigned long,bool) __ptr64
+??0CWbemSmartEnumNextPacket@@QEAA@PEAEK_N@Z
+; public: __cdecl CWbemThreadSecurityHandle::CWbemThreadSecurityHandle(class CWbemThreadSecurityHandle const & __ptr64) __ptr64
+??0CWbemThreadSecurityHandle@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemThreadSecurityHandle::CWbemThreadSecurityHandle(class CLifeControl * __ptr64) __ptr64
+??0CWbemThreadSecurityHandle@@QEAA@PEAVCLifeControl@@@Z
+; public: __cdecl CWmiObjectFactory::CWmiObjectFactory(class CWmiObjectFactory const & __ptr64) __ptr64
+??0CWmiObjectFactory@@QEAA@AEBV0@@Z
+; public: __cdecl CWmiObjectFactory::CWmiObjectFactory(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
+??0CWmiObjectFactory@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
+; public: __cdecl CWmiTextSourceArray::CWmiTextSourceArray(class CWmiTextSourceArray & __ptr64) __ptr64
+??0CWmiTextSourceArray@@QEAA@AEAV0@@Z
+; public: __cdecl CWmiTextSourceArray::CWmiTextSourceArray(void) __ptr64
+??0CWmiTextSourceArray@@QEAA@XZ
+; public: __cdecl SHARED_LOCK_DATA::SHARED_LOCK_DATA(void) __ptr64
+??0SHARED_LOCK_DATA@@QEAA@XZ
+; public: __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::XCfgRefrSrvc(class XCfgRefrSrvc::XCfgRefrSrvc const & __ptr64) __ptr64
+??0XCfgRefrSrvc@CWbemRefreshingSvc@@QEAA@AEBV01@@Z
+; public: __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::XCfgRefrSrvc(class XCfgRefrSrvc * __ptr64) __ptr64
+??0XCfgRefrSrvc@CWbemRefreshingSvc@@QEAA@PEAV1@@Z
+; public: __cdecl CWbemEnumMarshaling::XEnumMarshaling::XEnumMarshaling(class XEnumMarshaling::XEnumMarshaling const & __ptr64) __ptr64
+??0XEnumMarshaling@CWbemEnumMarshaling@@QEAA@AEBV01@@Z
+; public: __cdecl CWbemEnumMarshaling::XEnumMarshaling::XEnumMarshaling(class XEnumMarshaling * __ptr64) __ptr64
+??0XEnumMarshaling@CWbemEnumMarshaling@@QEAA@PEAV1@@Z
+; public: __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::XFetchRefrMgr(class XFetchRefrMgr::XFetchRefrMgr const & __ptr64) __ptr64
+??0XFetchRefrMgr@CWbemFetchRefrMgr@@QEAA@AEBV01@@Z
+; public: __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::XFetchRefrMgr(class XFetchRefrMgr * __ptr64) __ptr64
+??0XFetchRefrMgr@CWbemFetchRefrMgr@@QEAA@PEAV1@@Z
+; public: __cdecl CWmiObjectFactory::XObjectFactory::XObjectFactory(class XObjectFactory::XObjectFactory const & __ptr64) __ptr64
+??0XObjectFactory@CWmiObjectFactory@@QEAA@AEBV01@@Z
+; public: __cdecl CWmiObjectFactory::XObjectFactory::XObjectFactory(class XObjectFactory * __ptr64) __ptr64
+??0XObjectFactory@CWmiObjectFactory@@QEAA@PEAV1@@Z
+; public: __cdecl CWmiObjectTextSrc::XObjectTextSrc::XObjectTextSrc(class XObjectTextSrc::XObjectTextSrc const & __ptr64) __ptr64
+??0XObjectTextSrc@CWmiObjectTextSrc@@QEAA@AEBV01@@Z
+; public: __cdecl CWmiObjectTextSrc::XObjectTextSrc::XObjectTextSrc(class XObjectTextSrc * __ptr64) __ptr64
+??0XObjectTextSrc@CWmiObjectTextSrc@@QEAA@PEAV1@@Z
+; public: __cdecl CWbemRefreshingSvc::XWbemRefrSvc::XWbemRefrSvc(class XWbemRefrSvc::XWbemRefrSvc const & __ptr64) __ptr64
+??0XWbemRefrSvc@CWbemRefreshingSvc@@QEAA@AEBV01@@Z
+; public: __cdecl CWbemRefreshingSvc::XWbemRefrSvc::XWbemRefrSvc(class XWbemRefrSvc * __ptr64) __ptr64
+??0XWbemRefrSvc@CWbemRefreshingSvc@@QEAA@PEAV1@@Z
+; public: __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::XWbemRemoteRefr(class XWbemRemoteRefr::XWbemRemoteRefr const & __ptr64) __ptr64
+??0XWbemRemoteRefr@CWbemRemoteRefresher@@QEAA@AEBV01@@Z
+; public: __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::XWbemRemoteRefr(class XWbemRemoteRefr * __ptr64) __ptr64
+??0XWbemRemoteRefr@CWbemRemoteRefresher@@QEAA@PEAV1@@Z
+; public: __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::~CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(void) __ptr64
+??1?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QEAA@XZ
+; public: __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::~CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(void) __ptr64
+??1?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QEAA@XZ
+; public: __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::~CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(void) __ptr64
+??1?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QEAA@XZ
+; public: __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::~CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(void) __ptr64
+??1?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QEAA@XZ
+; public: __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::~CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(void) __ptr64
+??1?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QEAA@XZ
+; public: __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::~CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(void) __ptr64
+??1?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QEAA@XZ
+; public: __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::~CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(void) __ptr64
+??1?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QEAA@XZ
+; public: __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::~CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(void) __ptr64
+??1?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA@XZ
+; public: __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::~CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(void) __ptr64
+??1?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA@XZ
+; public: __cdecl CRefedPointerArray<class CFastPropertyBagItem>::~CRefedPointerArray<class CFastPropertyBagItem>(void) __ptr64
+??1?$CRefedPointerArray@VCFastPropertyBagItem@@@@QEAA@XZ
+; public: __cdecl CRefedPointerArray<class CWmiTextSource>::~CRefedPointerArray<class CWmiTextSource>(void) __ptr64
+??1?$CRefedPointerArray@VCWmiTextSource@@@@QEAA@XZ
+; public: __cdecl CBasicQualifierSet::~CBasicQualifierSet(void) __ptr64
+??1CBasicQualifierSet@@QEAA@XZ
+; public: __cdecl CClassAndMethods::~CClassAndMethods(void) __ptr64
+??1CClassAndMethods@@QEAA@XZ
+; public: __cdecl CClassPart::~CClassPart(void) __ptr64
+??1CClassPart@@QEAA@XZ
+; public: virtual __cdecl CClassQualifierSet::~CClassQualifierSet(void) __ptr64
+??1CClassQualifierSet@@UEAA@XZ
+; public: virtual __cdecl CFastPropertyBag::~CFastPropertyBag(void) __ptr64
+??1CFastPropertyBag@@UEAA@XZ
+; public: __cdecl CFixedBSTRArray::~CFixedBSTRArray(void) __ptr64
+??1CFixedBSTRArray@@QEAA@XZ
+; public: __cdecl CInstancePQSContainer::~CInstancePQSContainer(void) __ptr64
+??1CInstancePQSContainer@@QEAA@XZ
+; public: __cdecl CInstancePart::~CInstancePart(void) __ptr64
+??1CInstancePart@@QEAA@XZ
+; public: virtual __cdecl CInstanceQualifierSet::~CInstanceQualifierSet(void) __ptr64
+??1CInstanceQualifierSet@@UEAA@XZ
+; public: __cdecl CInternalString::~CInternalString(void) __ptr64
+??1CInternalString@@QEAA@XZ
+; public: __cdecl CLimitationMapping::~CLimitationMapping(void) __ptr64
+??1CLimitationMapping@@QEAA@XZ
+; public: virtual __cdecl CMethodQualifierSet::~CMethodQualifierSet(void) __ptr64
+??1CMethodQualifierSet@@UEAA@XZ
+; public: __cdecl CMethodQualifierSetContainer::~CMethodQualifierSetContainer(void) __ptr64
+??1CMethodQualifierSetContainer@@QEAA@XZ
+; public: __cdecl CPropertyBagItemArray::~CPropertyBagItemArray(void) __ptr64
+??1CPropertyBagItemArray@@QEAA@XZ
+; public: virtual __cdecl CQualifierSet::~CQualifierSet(void) __ptr64
+??1CQualifierSet@@UEAA@XZ
+; public: __cdecl CWbemCallSecurity::~CWbemCallSecurity(void) __ptr64
+??1CWbemCallSecurity@@QEAA@XZ
+; public: virtual __cdecl CWbemClass::~CWbemClass(void) __ptr64
+??1CWbemClass@@UEAA@XZ
+; public: __cdecl CWbemClassCache::~CWbemClassCache(void) __ptr64
+??1CWbemClassCache@@QEAA@XZ
+; public: __cdecl CWbemDataPacket::~CWbemDataPacket(void) __ptr64
+??1CWbemDataPacket@@QEAA@XZ
+; public: virtual __cdecl CWbemEnumMarshaling::~CWbemEnumMarshaling(void) __ptr64
+??1CWbemEnumMarshaling@@UEAA@XZ
+; public: virtual __cdecl CWbemFetchRefrMgr::~CWbemFetchRefrMgr(void) __ptr64
+??1CWbemFetchRefrMgr@@UEAA@XZ
+; public: __cdecl CWbemGuidToClassMap::~CWbemGuidToClassMap(void) __ptr64
+??1CWbemGuidToClassMap@@QEAA@XZ
+; public: virtual __cdecl CWbemInstance::~CWbemInstance(void) __ptr64
+??1CWbemInstance@@UEAA@XZ
+; public: __cdecl CWbemMtgtDeliverEventPacket::~CWbemMtgtDeliverEventPacket(void) __ptr64
+??1CWbemMtgtDeliverEventPacket@@QEAA@XZ
+; public: virtual __cdecl CWbemObject::~CWbemObject(void) __ptr64
+??1CWbemObject@@UEAA@XZ
+; public: __cdecl CWbemObjectArrayPacket::~CWbemObjectArrayPacket(void) __ptr64
+??1CWbemObjectArrayPacket@@QEAA@XZ
+; public: virtual __cdecl CWbemRefreshingSvc::~CWbemRefreshingSvc(void) __ptr64
+??1CWbemRefreshingSvc@@UEAA@XZ
+; public: __cdecl CWbemSmartEnumNextPacket::~CWbemSmartEnumNextPacket(void) __ptr64
+??1CWbemSmartEnumNextPacket@@QEAA@XZ
+; public: __cdecl CWbemThreadSecurityHandle::~CWbemThreadSecurityHandle(void) __ptr64
+??1CWbemThreadSecurityHandle@@QEAA@XZ
+; public: virtual __cdecl CWmiObjectFactory::~CWmiObjectFactory(void) __ptr64
+??1CWmiObjectFactory@@UEAA@XZ
+; public: __cdecl CWmiTextSourceArray::~CWmiTextSourceArray(void) __ptr64
+??1CWmiTextSourceArray@@QEAA@XZ
+; public: __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::~XCfgRefrSrvc(void) __ptr64
+??1XCfgRefrSrvc@CWbemRefreshingSvc@@QEAA@XZ
+; public: __cdecl CWbemEnumMarshaling::XEnumMarshaling::~XEnumMarshaling(void) __ptr64
+??1XEnumMarshaling@CWbemEnumMarshaling@@QEAA@XZ
+; public: __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::~XFetchRefrMgr(void) __ptr64
+??1XFetchRefrMgr@CWbemFetchRefrMgr@@QEAA@XZ
+; public: __cdecl CWmiObjectFactory::XObjectFactory::~XObjectFactory(void) __ptr64
+??1XObjectFactory@CWmiObjectFactory@@QEAA@XZ
+; public: __cdecl CWmiObjectTextSrc::XObjectTextSrc::~XObjectTextSrc(void) __ptr64
+??1XObjectTextSrc@CWmiObjectTextSrc@@QEAA@XZ
+; public: __cdecl CWbemRefreshingSvc::XWbemRefrSvc::~XWbemRefrSvc(void) __ptr64
+??1XWbemRefrSvc@CWbemRefreshingSvc@@QEAA@XZ
+; public: __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::~XWbemRemoteRefr(void) __ptr64
+??1XWbemRemoteRefr@CWbemRemoteRefresher@@QEAA@XZ
+; public: class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> & __ptr64 __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::operator=(class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> const & __ptr64) __ptr64
+??4?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> & __ptr64 __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::operator=(class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> const & __ptr64) __ptr64
+??4?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> & __ptr64 __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::operator=(class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> const & __ptr64) __ptr64
+??4?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> & __ptr64 __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::operator=(class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> const & __ptr64) __ptr64
+??4?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> & __ptr64 __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::operator=(class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> const & __ptr64) __ptr64
+??4?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> & __ptr64 __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::operator=(class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> const & __ptr64) __ptr64
+??4?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> & __ptr64 __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::operator=(class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> const & __ptr64) __ptr64
+??4?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> & __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator=(class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> & __ptr64) __ptr64
+??4?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAAEAV0@AEAV0@@Z
+; public: class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> & __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator=(class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> & __ptr64) __ptr64
+??4?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAAEAV0@AEAV0@@Z
+; public: class CRefedPointerArray<class CFastPropertyBagItem> & __ptr64 __cdecl CRefedPointerArray<class CFastPropertyBagItem>::operator=(class CRefedPointerArray<class CFastPropertyBagItem> & __ptr64) __ptr64
+??4?$CRefedPointerArray@VCFastPropertyBagItem@@@@QEAAAEAV0@AEAV0@@Z
+; public: class CRefedPointerArray<class CWmiTextSource> & __ptr64 __cdecl CRefedPointerArray<class CWmiTextSource>::operator=(class CRefedPointerArray<class CWmiTextSource> & __ptr64) __ptr64
+??4?$CRefedPointerArray@VCWmiTextSource@@@@QEAAAEAV0@AEAV0@@Z
+; public: class CBasicQualifierSet & __ptr64 __cdecl CBasicQualifierSet::operator=(class CBasicQualifierSet const & __ptr64) __ptr64
+??4CBasicQualifierSet@@QEAAAEAV0@AEBV0@@Z
+; public: class CClassAndMethods & __ptr64 __cdecl CClassAndMethods::operator=(class CClassAndMethods const & __ptr64) __ptr64
+??4CClassAndMethods@@QEAAAEAV0@AEBV0@@Z
+; public: class CClassPart & __ptr64 __cdecl CClassPart::operator=(class CClassPart const & __ptr64) __ptr64
+??4CClassPart@@QEAAAEAV0@AEBV0@@Z
+; public: class CClassPartContainer & __ptr64 __cdecl CClassPartContainer::operator=(class CClassPartContainer const & __ptr64) __ptr64
+??4CClassPartContainer@@QEAAAEAV0@AEBV0@@Z
+; public: class CClassQualifierSet & __ptr64 __cdecl CClassQualifierSet::operator=(class CClassQualifierSet const & __ptr64) __ptr64
+??4CClassQualifierSet@@QEAAAEAV0@AEBV0@@Z
+; public: class CCompressedString & __ptr64 __cdecl CCompressedString::operator=(class CCompressedString const & __ptr64) __ptr64
+??4CCompressedString@@QEAAAEAV0@AEBV0@@Z
+; public: class CCompressedStringList & __ptr64 __cdecl CCompressedStringList::operator=(class CCompressedStringList const & __ptr64) __ptr64
+??4CCompressedStringList@@QEAAAEAV0@AEBV0@@Z
+; public: class CDataTable & __ptr64 __cdecl CDataTable::operator=(class CDataTable const & __ptr64) __ptr64
+??4CDataTable@@QEAAAEAV0@AEBV0@@Z
+; public: class CDecorationPart & __ptr64 __cdecl CDecorationPart::operator=(class CDecorationPart const & __ptr64) __ptr64
+??4CDecorationPart@@QEAAAEAV0@AEBV0@@Z
+; public: class CDerivationList & __ptr64 __cdecl CDerivationList::operator=(class CDerivationList const & __ptr64) __ptr64
+??4CDerivationList@@QEAAAEAV0@AEBV0@@Z
+; public: class CEmbeddedObject & __ptr64 __cdecl CEmbeddedObject::operator=(class CEmbeddedObject const & __ptr64) __ptr64
+??4CEmbeddedObject@@QEAAAEAV0@AEBV0@@Z
+; public: class CFastHeap & __ptr64 __cdecl CFastHeap::operator=(class CFastHeap const & __ptr64) __ptr64
+??4CFastHeap@@QEAAAEAV0@AEBV0@@Z
+; public: class CFastPropertyBag & __ptr64 __cdecl CFastPropertyBag::operator=(class CFastPropertyBag & __ptr64) __ptr64
+??4CFastPropertyBag@@QEAAAEAV0@AEAV0@@Z
+; public: class CFixedBSTRArray & __ptr64 __cdecl CFixedBSTRArray::operator=(class CFixedBSTRArray const & __ptr64) __ptr64
+??4CFixedBSTRArray@@QEAAAEAV0@AEBV0@@Z
+; public: class CHiPerfLock & __ptr64 __cdecl CHiPerfLock::operator=(class CHiPerfLock const & __ptr64) __ptr64
+??4CHiPerfLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CInstancePQSContainer & __ptr64 __cdecl CInstancePQSContainer::operator=(class CInstancePQSContainer const & __ptr64) __ptr64
+??4CInstancePQSContainer@@QEAAAEAV0@AEBV0@@Z
+; public: class CInstancePart & __ptr64 __cdecl CInstancePart::operator=(class CInstancePart const & __ptr64) __ptr64
+??4CInstancePart@@QEAAAEAV0@AEBV0@@Z
+; public: class CInstancePartContainer & __ptr64 __cdecl CInstancePartContainer::operator=(class CInstancePartContainer const & __ptr64) __ptr64
+??4CInstancePartContainer@@QEAAAEAV0@AEBV0@@Z
+; public: class CInstanceQualifierSet & __ptr64 __cdecl CInstanceQualifierSet::operator=(class CInstanceQualifierSet const & __ptr64) __ptr64
+??4CInstanceQualifierSet@@QEAAAEAV0@AEBV0@@Z
+; public: class CInternalString & __ptr64 __cdecl CInternalString::operator=(class CInternalString const & __ptr64) __ptr64
+??4CInternalString@@QEAAAEAV0@AEBV0@@Z
+; public: int __cdecl CInternalString::operator=(class CCompressedString * __ptr64) __ptr64
+??4CInternalString@@QEAAHPEAVCCompressedString@@@Z
+; public: int __cdecl CInternalString::operator=(unsigned short const * __ptr64) __ptr64
+??4CInternalString@@QEAAHPEBG@Z
+; public: class CKnownStringTable & __ptr64 __cdecl CKnownStringTable::operator=(class CKnownStringTable const & __ptr64) __ptr64
+??4CKnownStringTable@@QEAAAEAV0@AEBV0@@Z
+; public: class CLimitationMapping & __ptr64 __cdecl CLimitationMapping::operator=(class CLimitationMapping & __ptr64) __ptr64
+??4CLimitationMapping@@QEAAAEAV0@AEAV0@@Z
+; public: struct CMethodDescription & __ptr64 __cdecl CMethodDescription::operator=(struct CMethodDescription const & __ptr64) __ptr64
+??4CMethodDescription@@QEAAAEAU0@AEBU0@@Z
+; public: class CMethodPart & __ptr64 __cdecl CMethodPart::operator=(class CMethodPart const & __ptr64) __ptr64
+??4CMethodPart@@QEAAAEAV0@AEBV0@@Z
+; public: class CMethodPartContainer & __ptr64 __cdecl CMethodPartContainer::operator=(class CMethodPartContainer const & __ptr64) __ptr64
+??4CMethodPartContainer@@QEAAAEAV0@AEBV0@@Z
+; public: class CMethodQualifierSet & __ptr64 __cdecl CMethodQualifierSet::operator=(class CMethodQualifierSet const & __ptr64) __ptr64
+??4CMethodQualifierSet@@QEAAAEAV0@AEBV0@@Z
+; public: class CMethodQualifierSetContainer & __ptr64 __cdecl CMethodQualifierSetContainer::operator=(class CMethodQualifierSetContainer const & __ptr64) __ptr64
+??4CMethodQualifierSetContainer@@QEAAAEAV0@AEBV0@@Z
+; public: class CPropertyBagItemArray & __ptr64 __cdecl CPropertyBagItemArray::operator=(class CPropertyBagItemArray & __ptr64) __ptr64
+??4CPropertyBagItemArray@@QEAAAEAV0@AEAV0@@Z
+; public: class CPropertyLookupTable & __ptr64 __cdecl CPropertyLookupTable::operator=(class CPropertyLookupTable const & __ptr64) __ptr64
+??4CPropertyLookupTable@@QEAAAEAV0@AEBV0@@Z
+; public: class CQualifierSet & __ptr64 __cdecl CQualifierSet::operator=(class CQualifierSet const & __ptr64) __ptr64
+??4CQualifierSet@@QEAAAEAV0@AEBV0@@Z
+; public: class CQualifierSetList & __ptr64 __cdecl CQualifierSetList::operator=(class CQualifierSetList const & __ptr64) __ptr64
+??4CQualifierSetList@@QEAAAEAV0@AEBV0@@Z
+; public: class CQualifierSetListContainer & __ptr64 __cdecl CQualifierSetListContainer::operator=(class CQualifierSetListContainer const & __ptr64) __ptr64
+??4CQualifierSetListContainer@@QEAAAEAV0@AEBV0@@Z
+; public: class CReservedWordTable & __ptr64 __cdecl CReservedWordTable::operator=(class CReservedWordTable const & __ptr64) __ptr64
+??4CReservedWordTable@@QEAAAEAV0@AEBV0@@Z
+; public: class CSharedLock & __ptr64 __cdecl CSharedLock::operator=(class CSharedLock const & __ptr64) __ptr64
+??4CSharedLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CSystemProperties & __ptr64 __cdecl CSystemProperties::operator=(class CSystemProperties const & __ptr64) __ptr64
+??4CSystemProperties@@QEAAAEAV0@AEBV0@@Z
+; public: class CType & __ptr64 __cdecl CType::operator=(class CType const & __ptr64) __ptr64
+??4CType@@QEAAAEAV0@AEBV0@@Z
+; public: class CUntypedArray & __ptr64 __cdecl CUntypedArray::operator=(class CUntypedArray const & __ptr64) __ptr64
+??4CUntypedArray@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemCallSecurity & __ptr64 __cdecl CWbemCallSecurity::operator=(class CWbemCallSecurity const & __ptr64) __ptr64
+??4CWbemCallSecurity@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemClassCache & __ptr64 __cdecl CWbemClassCache::operator=(class CWbemClassCache const & __ptr64) __ptr64
+??4CWbemClassCache@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemDataPacket & __ptr64 __cdecl CWbemDataPacket::operator=(class CWbemDataPacket const & __ptr64) __ptr64
+??4CWbemDataPacket@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemEnumMarshaling & __ptr64 __cdecl CWbemEnumMarshaling::operator=(class CWbemEnumMarshaling const & __ptr64) __ptr64
+??4CWbemEnumMarshaling@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemFetchRefrMgr & __ptr64 __cdecl CWbemFetchRefrMgr::operator=(class CWbemFetchRefrMgr const & __ptr64) __ptr64
+??4CWbemFetchRefrMgr@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemGuidToClassMap & __ptr64 __cdecl CWbemGuidToClassMap::operator=(class CWbemGuidToClassMap const & __ptr64) __ptr64
+??4CWbemGuidToClassMap@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemMtgtDeliverEventPacket & __ptr64 __cdecl CWbemMtgtDeliverEventPacket::operator=(class CWbemMtgtDeliverEventPacket const & __ptr64) __ptr64
+??4CWbemMtgtDeliverEventPacket@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemObjectArrayPacket & __ptr64 __cdecl CWbemObjectArrayPacket::operator=(class CWbemObjectArrayPacket const & __ptr64) __ptr64
+??4CWbemObjectArrayPacket@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemRefreshingSvc & __ptr64 __cdecl CWbemRefreshingSvc::operator=(class CWbemRefreshingSvc const & __ptr64) __ptr64
+??4CWbemRefreshingSvc@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemSmartEnumNextPacket & __ptr64 __cdecl CWbemSmartEnumNextPacket::operator=(class CWbemSmartEnumNextPacket const & __ptr64) __ptr64
+??4CWbemSmartEnumNextPacket@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemThreadSecurityHandle & __ptr64 __cdecl CWbemThreadSecurityHandle::operator=(class CWbemThreadSecurityHandle const & __ptr64) __ptr64
+??4CWbemThreadSecurityHandle@@QEAAAEAV0@AEBV0@@Z
+; public: class CWmiObjectFactory & __ptr64 __cdecl CWmiObjectFactory::operator=(class CWmiObjectFactory const & __ptr64) __ptr64
+??4CWmiObjectFactory@@QEAAAEAV0@AEBV0@@Z
+; public: class CWmiTextSourceArray & __ptr64 __cdecl CWmiTextSourceArray::operator=(class CWmiTextSourceArray & __ptr64) __ptr64
+??4CWmiTextSourceArray@@QEAAAEAV0@AEAV0@@Z
+; public: struct SHARED_LOCK_DATA & __ptr64 __cdecl SHARED_LOCK_DATA::operator=(struct SHARED_LOCK_DATA const & __ptr64) __ptr64
+??4SHARED_LOCK_DATA@@QEAAAEAU0@AEBU0@@Z
+; public: struct SHMEM_HANDLE & __ptr64 __cdecl SHMEM_HANDLE::operator=(struct SHMEM_HANDLE const & __ptr64) __ptr64
+??4SHMEM_HANDLE@@QEAAAEAU0@AEBU0@@Z
+; public: class CWbemRefreshingSvc::XCfgRefrSrvc & __ptr64 __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::operator=(class CWbemRefreshingSvc::XCfgRefrSrvc const & __ptr64) __ptr64
+??4XCfgRefrSrvc@CWbemRefreshingSvc@@QEAAAEAV01@AEBV01@@Z
+; public: class CWbemEnumMarshaling::XEnumMarshaling & __ptr64 __cdecl CWbemEnumMarshaling::XEnumMarshaling::operator=(class CWbemEnumMarshaling::XEnumMarshaling const & __ptr64) __ptr64
+??4XEnumMarshaling@CWbemEnumMarshaling@@QEAAAEAV01@AEBV01@@Z
+; public: class CWbemFetchRefrMgr::XFetchRefrMgr & __ptr64 __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::operator=(class CWbemFetchRefrMgr::XFetchRefrMgr const & __ptr64) __ptr64
+??4XFetchRefrMgr@CWbemFetchRefrMgr@@QEAAAEAV01@AEBV01@@Z
+; public: class CWmiObjectFactory::XObjectFactory & __ptr64 __cdecl CWmiObjectFactory::XObjectFactory::operator=(class CWmiObjectFactory::XObjectFactory const & __ptr64) __ptr64
+??4XObjectFactory@CWmiObjectFactory@@QEAAAEAV01@AEBV01@@Z
+; public: class CWmiObjectTextSrc::XObjectTextSrc & __ptr64 __cdecl CWmiObjectTextSrc::XObjectTextSrc::operator=(class CWmiObjectTextSrc::XObjectTextSrc const & __ptr64) __ptr64
+??4XObjectTextSrc@CWmiObjectTextSrc@@QEAAAEAV01@AEBV01@@Z
+; public: class CWbemRefreshingSvc::XWbemRefrSvc & __ptr64 __cdecl CWbemRefreshingSvc::XWbemRefrSvc::operator=(class CWbemRefreshingSvc::XWbemRefrSvc const & __ptr64) __ptr64
+??4XWbemRefrSvc@CWbemRefreshingSvc@@QEAAAEAV01@AEBV01@@Z
+; public: class CWbemRemoteRefresher::XWbemRemoteRefr & __ptr64 __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::operator=(class CWbemRemoteRefresher::XWbemRemoteRefr const & __ptr64) __ptr64
+??4XWbemRemoteRefr@CWbemRemoteRefresher@@QEAAAEAV01@AEBV01@@Z
+; public: bool __cdecl CInternalString::operator==(class CInternalString const & __ptr64)const  __ptr64
+??8CInternalString@@QEBA_NAEBV0@@Z
+; public: bool __cdecl CInternalString::operator==(unsigned short const * __ptr64)const  __ptr64
+??8CInternalString@@QEBA_NPEBG@Z
+; public: int __cdecl CQualifierSet::operator==(class CQualifierSet & __ptr64) __ptr64
+??8CQualifierSet@@QEAAHAEAV0@@Z
+; public: bool __cdecl CInternalString::operator!=(class CInternalString const & __ptr64)const  __ptr64
+??9CInternalString@@QEBA_NAEBV0@@Z
+; public: class CFastPropertyBagItem * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator[](int) __ptr64
+??A?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAPEAVCFastPropertyBagItem@@H@Z
+; public: class CFastPropertyBagItem const * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator[](int)const  __ptr64
+??A?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEBAPEBVCFastPropertyBagItem@@H@Z
+; public: class CWmiTextSource * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator[](int) __ptr64
+??A?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAPEAVCWmiTextSource@@H@Z
+; public: class CWmiTextSource const * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator[](int)const  __ptr64
+??A?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEBAPEBVCWmiTextSource@@H@Z
+; public: unsigned short * __ptr64 & __ptr64 __cdecl CFixedBSTRArray::operator[](int) __ptr64
+??ACFixedBSTRArray@@QEAAAEAPEAGH@Z
+; private: __cdecl CInternalString::operator class CCompressedString * __ptr64(void) __ptr64
+??BCInternalString@@AEAAPEAVCCompressedString@@XZ
+; private: __cdecl CInternalString::operator class CCompressedString * __ptr64(void)const  __ptr64
+??BCInternalString@@AEBAPEAVCCompressedString@@XZ
+; public: __cdecl CInternalString::operator class WString(void)const  __ptr64
+??BCInternalString@@QEBA?AVWString@@XZ
+; public: __cdecl CType::operator unsigned long(void) __ptr64
+??BCType@@QEAAKXZ
+; public: bool __cdecl CInternalString::operator<(class CInternalString const & __ptr64)const  __ptr64
+??MCInternalString@@QEBA_NAEBV0@@Z
+; public: bool __cdecl CInternalString::operator>(class CInternalString const & __ptr64)const  __ptr64
+??OCInternalString@@QEBA_NAEBV0@@Z
+; const  CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::`vftable'
+??_7?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@6B@
+; const  CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::`vftable'
+??_7?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@6B@
+; const  CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::`vftable'
+??_7?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@6B@
+; const  CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::`vftable'
+??_7?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@6B@
+; const  CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::`vftable'
+??_7?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@6B@
+; const  CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::`vftable'
+??_7?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@6B@
+; const  CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::`vftable'
+??_7?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@6B@
+; const  CClassAndMethods::`vftable'{for `CClassPartContainer'}
+??_7CClassAndMethods@@6BCClassPartContainer@@@
+; const  CClassAndMethods::`vftable'{for `CMethodPartContainer'}
+??_7CClassAndMethods@@6BCMethodPartContainer@@@
+; const  CClassPart::`vftable'{for `CDataTableContainer'}
+??_7CClassPart@@6BCDataTableContainer@@@
+; const  CClassPart::`vftable'{for `CHeapContainer'}
+??_7CClassPart@@6BCHeapContainer@@@
+; const  CClassPart::`vftable'{for `CPropertyTableContainer'}
+??_7CClassPart@@6BCPropertyTableContainer@@@
+; const  CClassPart::`vftable'{for `CQualifierSetContainer'}
+??_7CClassPart@@6BCQualifierSetContainer@@@
+; const  CClassPartContainer::`vftable'
+??_7CClassPartContainer@@6B@
+; const  CClassQualifierSet::`vftable'
+??_7CClassQualifierSet@@6B@
+; const  CFastPropertyBag::`vftable'
+??_7CFastPropertyBag@@6B@
+; const  CInstancePQSContainer::`vftable'
+??_7CInstancePQSContainer@@6B@
+; const  CInstancePart::`vftable'{for `CDataTableContainer'}
+??_7CInstancePart@@6BCDataTableContainer@@@
+; const  CInstancePart::`vftable'{for `CHeapContainer'}
+??_7CInstancePart@@6BCHeapContainer@@@
+; const  CInstancePart::`vftable'{for `CQualifierSetContainer'}
+??_7CInstancePart@@6BCQualifierSetContainer@@@
+; const  CInstancePart::`vftable'{for `CQualifierSetListContainer'}
+??_7CInstancePart@@6BCQualifierSetListContainer@@@
+; const  CInstancePartContainer::`vftable'
+??_7CInstancePartContainer@@6B@
+; const  CInstanceQualifierSet::`vftable'
+??_7CInstanceQualifierSet@@6B@
+; const  CMethodPart::`vftable'
+??_7CMethodPart@@6B@
+; const  CMethodPartContainer::`vftable'
+??_7CMethodPartContainer@@6B@
+; const  CMethodQualifierSet::`vftable'
+??_7CMethodQualifierSet@@6B@
+; const  CMethodQualifierSetContainer::`vftable'
+??_7CMethodQualifierSetContainer@@6B@
+; const  CQualifierSet::`vftable'
+??_7CQualifierSet@@6B@
+; const  CQualifierSetListContainer::`vftable'
+??_7CQualifierSetListContainer@@6B@
+; const  CWbemCallSecurity::`vftable'{for `IServerSecurity'}
+??_7CWbemCallSecurity@@6BIServerSecurity@@@
+; const  CWbemCallSecurity::`vftable'{for `_IWmiCallSec'}
+??_7CWbemCallSecurity@@6B_IWmiCallSec@@@
+; const  CWbemClass::`vftable'{for `IErrorInfo'}
+??_7CWbemClass@@6BIErrorInfo@@@
+; const  CWbemClass::`vftable'{for `IMarshal'}
+??_7CWbemClass@@6BIMarshal@@@
+; const  CWbemClass::`vftable'{for `IWbemConstructClassObject'}
+??_7CWbemClass@@6BIWbemConstructClassObject@@@
+; const  CWbemClass::`vftable'{for `IWbemPropertySource'}
+??_7CWbemClass@@6BIWbemPropertySource@@@
+; const  CWbemClass::`vftable'{for `_IWmiObject'}
+??_7CWbemClass@@6B_IWmiObject@@@
+; const  CWbemEnumMarshaling::`vftable'
+??_7CWbemEnumMarshaling@@6B@
+; const  CWbemFetchRefrMgr::`vftable'
+??_7CWbemFetchRefrMgr@@6B@
+; const  CWbemInstance::`vftable'{for `CClassPartContainer'}
+??_7CWbemInstance@@6BCClassPartContainer@@@
+; const  CWbemInstance::`vftable'{for `CInstancePartContainer'}
+??_7CWbemInstance@@6BCInstancePartContainer@@@
+; const  CWbemInstance::`vftable'{for `IErrorInfo'}
+??_7CWbemInstance@@6BIErrorInfo@@@
+; const  CWbemInstance::`vftable'{for `IMarshal'}
+??_7CWbemInstance@@6BIMarshal@@@
+; const  CWbemInstance::`vftable'{for `IWbemConstructClassObject'}
+??_7CWbemInstance@@6BIWbemConstructClassObject@@@
+; const  CWbemInstance::`vftable'{for `IWbemPropertySource'}
+??_7CWbemInstance@@6BIWbemPropertySource@@@
+; const  CWbemInstance::`vftable'{for `_IWmiObject'}
+??_7CWbemInstance@@6B_IWmiObject@@@
+; const  CWbemObject::`vftable'{for `IErrorInfo'}
+??_7CWbemObject@@6BIErrorInfo@@@
+; const  CWbemObject::`vftable'{for `IMarshal'}
+??_7CWbemObject@@6BIMarshal@@@
+; const  CWbemObject::`vftable'{for `IWbemConstructClassObject'}
+??_7CWbemObject@@6BIWbemConstructClassObject@@@
+; const  CWbemObject::`vftable'{for `IWbemPropertySource'}
+??_7CWbemObject@@6BIWbemPropertySource@@@
+; const  CWbemObject::`vftable'{for `_IWmiObject'}
+??_7CWbemObject@@6B_IWmiObject@@@
+; const  CWbemRefreshingSvc::`vftable'
+??_7CWbemRefreshingSvc@@6B@
+; const  CWbemThreadSecurityHandle::`vftable'
+??_7CWbemThreadSecurityHandle@@6B@
+; const  CWmiObjectFactory::`vftable'
+??_7CWmiObjectFactory@@6B@
+; const  CWbemRefreshingSvc::XCfgRefrSrvc::`vftable'
+??_7XCfgRefrSrvc@CWbemRefreshingSvc@@6B@
+; const  CWbemEnumMarshaling::XEnumMarshaling::`vftable'
+??_7XEnumMarshaling@CWbemEnumMarshaling@@6B@
+; const  CWbemFetchRefrMgr::XFetchRefrMgr::`vftable'
+??_7XFetchRefrMgr@CWbemFetchRefrMgr@@6B@
+; const  CWmiObjectFactory::XObjectFactory::`vftable'
+??_7XObjectFactory@CWmiObjectFactory@@6B@
+; const  CWmiObjectTextSrc::XObjectTextSrc::`vftable'
+??_7XObjectTextSrc@CWmiObjectTextSrc@@6B@
+; const  CWbemRefreshingSvc::XWbemRefrSvc::`vftable'
+??_7XWbemRefrSvc@CWbemRefreshingSvc@@6B@
+; const  CWbemRemoteRefresher::XWbemRemoteRefr::`vftable'
+??_7XWbemRemoteRefr@CWbemRemoteRefresher@@6B@
+; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::`default constructor closure'(void) __ptr64
+??_F?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXXZ
+; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::`default constructor closure'(void) __ptr64
+??_F?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXXZ
+; public: void __cdecl CClassQualifierSet::`default constructor closure'(void) __ptr64
+??_FCClassQualifierSet@@QEAAXXZ
+; public: void __cdecl CInstanceQualifierSet::`default constructor closure'(void) __ptr64
+??_FCInstanceQualifierSet@@QEAAXXZ
+; public: void __cdecl CWbemClassCache::`default constructor closure'(void) __ptr64
+??_FCWbemClassCache@@QEAAXXZ
+; protected: unsigned long __cdecl CFastHeap::AbsoluteToHeap(unsigned char * __ptr64) __ptr64
+?AbsoluteToHeap@CFastHeap@@IEAAKPEAE@Z
+; public: void __cdecl CInternalString::AcquireCompressedString(class CCompressedString * __ptr64) __ptr64
+?AcquireCompressedString@CInternalString@@QEAAXPEAVCCompressedString@@@Z
+; public: int __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Add(class CFastPropertyBagItem * __ptr64) __ptr64
+?Add@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAHPEAVCFastPropertyBagItem@@@Z
+; public: int __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Add(class CWmiTextSource * __ptr64) __ptr64
+?Add@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAHPEAVCWmiTextSource@@@Z
+; public: long __cdecl CFastPropertyBag::Add(unsigned short const * __ptr64,long,unsigned long,unsigned long,void * __ptr64) __ptr64
+?Add@CFastPropertyBag@@QEAAJPEBGJKKPEAX@Z
+; protected: virtual long __cdecl CWbemRefreshingSvc::AddEnumToRefresher(struct _WBEM_REFRESHER_ID * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
+?AddEnumToRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@PEBGJPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
+; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::AddEnumToRefresher(struct _WBEM_REFRESHER_ID * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
+?AddEnumToRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@PEBGJPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
+; protected: long __cdecl CWbemRefreshingSvc::AddEnumToRefresher_(int,struct _WBEM_REFRESHER_ID * __ptr64,class CWbemObject * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,struct _WBEM_REFRESH_INFO * __ptr64) __ptr64
+?AddEnumToRefresher_@CWbemRefreshingSvc@@IEAAJHPEAU_WBEM_REFRESHER_ID@@PEAVCWbemObject@@PEBGJPEAUIWbemContext@@PEAU_WBEM_REFRESH_INFO@@@Z
+; public: long __cdecl CWbemGuidToClassMap::AddMap(class CGUID & __ptr64,class CWbemClassToIdMap * __ptr64 * __ptr64) __ptr64
+?AddMap@CWbemGuidToClassMap@@QEAAJAEAVCGUID@@PEAPEAVCWbemClassToIdMap@@@Z
+; public: long __cdecl CWbemClassCache::AddObject(struct _GUID & __ptr64,struct IWbemClassObject * __ptr64) __ptr64
+?AddObject@CWbemClassCache@@QEAAJAEAU_GUID@@PEAUIWbemClassObject@@@Z
+; protected: virtual long __cdecl CWbemRefreshingSvc::AddObjectToRefresher(struct _WBEM_REFRESHER_ID * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
+?AddObjectToRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@PEBGJPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
+; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::AddObjectToRefresher(struct _WBEM_REFRESHER_ID * __ptr64,unsigned short const * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
+?AddObjectToRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@PEBGJPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
+; protected: virtual long __cdecl CWbemRefreshingSvc::AddObjectToRefresherByTemplate(struct _WBEM_REFRESHER_ID * __ptr64,struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
+?AddObjectToRefresherByTemplate@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@PEAUIWbemClassObject@@JPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
+; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::AddObjectToRefresherByTemplate(struct _WBEM_REFRESHER_ID * __ptr64,struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,unsigned long,struct _WBEM_REFRESH_INFO * __ptr64,unsigned long * __ptr64) __ptr64
+?AddObjectToRefresherByTemplate@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@PEAUIWbemClassObject@@JPEAUIWbemContext@@KPEAU_WBEM_REFRESH_INFO@@PEAK@Z
+; protected: long __cdecl CWbemRefreshingSvc::AddObjectToRefresher_(int,struct _WBEM_REFRESHER_ID * __ptr64,class CWbemObject * __ptr64,long,struct IWbemContext * __ptr64,struct _WBEM_REFRESH_INFO * __ptr64) __ptr64
+?AddObjectToRefresher_@CWbemRefreshingSvc@@IEAAJHPEAU_WBEM_REFRESHER_ID@@PEAVCWbemObject@@JPEAUIWbemContext@@PEAU_WBEM_REFRESH_INFO@@@Z
+; public: long __cdecl CWbemClass::AddPropertyText(class WString & __ptr64,struct CPropertyLookup * __ptr64,class CPropertyInformation * __ptr64,long) __ptr64
+?AddPropertyText@CWbemClass@@QEAAJAEAVWString@@PEAUCPropertyLookup@@PEAVCPropertyInformation@@J@Z
+; public: static void __cdecl CType::AddPropertyType(class WString & __ptr64,unsigned short const * __ptr64)
+?AddPropertyType@CType@@SAXAEAVWString@@PEBG@Z
+; protected: long __cdecl CQualifierSet::AddQualifierConflicts(class CVarVector & __ptr64) __ptr64
+?AddQualifierConflicts@CQualifierSet@@IEAAJAEAVCVarVector@@@Z
+; public: virtual unsigned long __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::AddRef(void) __ptr64
+?AddRef@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::AddRef(void) __ptr64
+?AddRef@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::AddRef(void) __ptr64
+?AddRef@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::AddRef(void) __ptr64
+?AddRef@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::AddRef(void) __ptr64
+?AddRef@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::AddRef(void) __ptr64
+?AddRef@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::AddRef(void) __ptr64
+?AddRef@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CQualifierSet::AddRef(void) __ptr64
+?AddRef@CQualifierSet@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemCallSecurity::AddRef(void) __ptr64
+?AddRef@CWbemCallSecurity@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemObject::AddRef(void) __ptr64
+?AddRef@CWbemObject@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemThreadSecurityHandle::AddRef(void) __ptr64
+?AddRef@CWbemThreadSecurityHandle@@UEAAKXZ
+; protected: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::AddRefElement(class CFastPropertyBagItem * __ptr64) __ptr64
+?AddRefElement@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@IEAAXPEAVCFastPropertyBagItem@@@Z
+; protected: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::AddRefElement(class CWmiTextSource * __ptr64) __ptr64
+?AddRefElement@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@IEAAXPEAVCWmiTextSource@@@Z
+; public: void __cdecl CCompressedStringList::AddString(unsigned short const * __ptr64) __ptr64
+?AddString@CCompressedStringList@@QEAAXPEBG@Z
+; public: static long __cdecl CMethodDescription::AddText(struct CMethodDescription * __ptr64 __ptr64,class WString & __ptr64,class CFastHeap * __ptr64,long)
+?AddText@CMethodDescription@@SAJPEFAU1@AEAVWString@@PEAVCFastHeap@@J@Z
+; public: long __cdecl CMethodPart::AddText(class WString & __ptr64,long) __ptr64
+?AddText@CMethodPart@@QEAAJAEAVWString@@J@Z
+; public: int __cdecl CFastHeap::Allocate(unsigned long,unsigned long & __ptr64 __ptr64) __ptr64
+?Allocate@CFastHeap@@QEAAHKAEFAK@Z
+; public: int __cdecl CFastHeap::AllocateString(char const * __ptr64,unsigned long & __ptr64 __ptr64) __ptr64
+?AllocateString@CFastHeap@@QEAAHPEBDAEFAK@Z
+; public: int __cdecl CFastHeap::AllocateString(unsigned short const * __ptr64,unsigned long & __ptr64 __ptr64) __ptr64
+?AllocateString@CFastHeap@@QEAAHPEBGAEFAK@Z
+; public: virtual long __cdecl CWbemObject::AppendArrayPropRangeByHandle(long,long,unsigned long,unsigned long,void * __ptr64) __ptr64
+?AppendArrayPropRangeByHandle@CWbemObject@@UEAAJJJKKPEAX@Z
+; public: long __cdecl CWbemObject::AppendQualifierArrayRange(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,long,unsigned long,unsigned long,void * __ptr64) __ptr64
+?AppendQualifierArrayRange@CWbemObject@@QEAAJPEBG0HJJKKPEAX@Z
+; public: static long __cdecl CUntypedArray::AppendRange(class CPtrSource * __ptr64,unsigned long,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long,void * __ptr64)
+?AppendRange@CUntypedArray@@SAJPEAVCPtrSource@@KKPEAVCFastHeap@@KKPEAX@Z
+; public: static int __cdecl CWbemObject::AreEqual(class CWbemObject * __ptr64,class CWbemObject * __ptr64,long)
+?AreEqual@CWbemObject@@SAHPEAV1@0J@Z
+; public: int __cdecl CDecorationPart::AreKeysRemoved(void) __ptr64
+?AreKeysRemoved@CDecorationPart@@QEAAHXZ
+; public: int __cdecl CLimitationMapping::ArePropertiesLimited(void) __ptr64
+?ArePropertiesLimited@CLimitationMapping@@QEAAHXZ
+; public: static long __cdecl CWbemInstance::AsymmetricMerge(class CWbemInstance * __ptr64,class CWbemInstance * __ptr64)
+?AsymmetricMerge@CWbemInstance@@SAJPEAV1@0@Z
+; protected: unsigned long __cdecl CFastHeap::AugmentRequest(unsigned long,unsigned long) __ptr64
+?AugmentRequest@CFastHeap@@IEAAKKK@Z
+; public: virtual long __cdecl CQualifierSet::BeginEnumeration(long) __ptr64
+?BeginEnumeration@CQualifierSet@@UEAAJJ@Z
+; public: virtual long __cdecl CWbemObject::BeginEnumeration(long) __ptr64
+?BeginEnumeration@CWbemObject@@UEAAJJ@Z
+; public: virtual long __cdecl CWbemObject::BeginEnumerationEx(long,long) __ptr64
+?BeginEnumerationEx@CWbemObject@@UEAAJJJ@Z
+; public: virtual long __cdecl CWbemClass::BeginMethodEnumeration(long) __ptr64
+?BeginMethodEnumeration@CWbemClass@@UEAAJJ@Z
+; public: virtual long __cdecl CWbemInstance::BeginMethodEnumeration(long) __ptr64
+?BeginMethodEnumeration@CWbemInstance@@UEAAJJ@Z
+; public: void __cdecl CLimitationMapping::Build(int) __ptr64
+?Build@CLimitationMapping@@QEAAXH@Z
+; public: virtual long __cdecl CWbemObject::CIMTYPEToVARTYPE(long,unsigned short * __ptr64) __ptr64
+?CIMTYPEToVARTYPE@CWbemObject@@UEAAJJPEAG@Z
+; public: static class CType  __cdecl CType::CVarToType(class CVar & __ptr64)
+?CVarToType@CType@@SA?AV1@AEAVCVar@@@Z
+; public: class CVar * __ptr64 __cdecl CWbemInstance::CalculateCachedKey(void) __ptr64
+?CalculateCachedKey@CWbemInstance@@QEAAPEAVCVar@@XZ
+; public: long __cdecl CWbemMtgtDeliverEventPacket::CalculateLength(long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,class CWbemClassToIdMap & __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
+?CalculateLength@CWbemMtgtDeliverEventPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAKAEAVCWbemClassToIdMap@@PEAU_GUID@@PEAH@Z
+; public: long __cdecl CWbemObjectArrayPacket::CalculateLength(long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,class CWbemClassToIdMap & __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
+?CalculateLength@CWbemObjectArrayPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAKAEAVCWbemClassToIdMap@@PEAU_GUID@@PEAH@Z
+; public: long __cdecl CWbemSmartEnumNextPacket::CalculateLength(long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,class CWbemClassToIdMap & __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
+?CalculateLength@CWbemSmartEnumNextPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAKAEAVCWbemClassToIdMap@@PEAU_GUID@@PEAH@Z
+; public: static unsigned long __cdecl CUntypedArray::CalculateNecessarySpaceByLength(int,int)
+?CalculateNecessarySpaceByLength@CUntypedArray@@SAKHH@Z
+; public: static unsigned long __cdecl CUntypedArray::CalculateNecessarySpaceByType(class CType,int)
+?CalculateNecessarySpaceByType@CUntypedArray@@SAKVCType@@H@Z
+; public: static int __cdecl CType::CanBeKey(unsigned long)
+?CanBeKey@CType@@SAHK@Z
+; public: int __cdecl CBasicQualifierSet::CanBeReconciledWith(class CBasicQualifierSet & __ptr64) __ptr64
+?CanBeReconciledWith@CBasicQualifierSet@@QEAAHAEAV1@@Z
+; public: enum EReconciliation  __cdecl CClassAndMethods::CanBeReconciledWith(class CClassAndMethods & __ptr64) __ptr64
+?CanBeReconciledWith@CClassAndMethods@@QEAA?AW4EReconciliation@@AEAV1@@Z
+; public: enum EReconciliation  __cdecl CClassPart::CanBeReconciledWith(class CClassPart & __ptr64) __ptr64
+?CanBeReconciledWith@CClassPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
+; public: enum EReconciliation  __cdecl CMethodPart::CanBeReconciledWith(class CMethodPart & __ptr64) __ptr64
+?CanBeReconciledWith@CMethodPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
+; public: enum EReconciliation  __cdecl CWbemClass::CanBeReconciledWith(class CWbemClass * __ptr64) __ptr64
+?CanBeReconciledWith@CWbemClass@@QEAA?AW4EReconciliation@@PEAV1@@Z
+; public: virtual long __cdecl CClassPart::CanContainAbstract(int) __ptr64
+?CanContainAbstract@CClassPart@@UEAAJH@Z
+; public: virtual long __cdecl CInstancePQSContainer::CanContainAbstract(int) __ptr64
+?CanContainAbstract@CInstancePQSContainer@@UEAAJH@Z
+; public: virtual long __cdecl CInstancePart::CanContainAbstract(int) __ptr64
+?CanContainAbstract@CInstancePart@@UEAAJH@Z
+; public: virtual long __cdecl CMethodQualifierSetContainer::CanContainAbstract(int) __ptr64
+?CanContainAbstract@CMethodQualifierSetContainer@@UEAAJH@Z
+; public: virtual long __cdecl CClassPart::CanContainDynamic(void) __ptr64
+?CanContainDynamic@CClassPart@@UEAAJXZ
+; public: virtual long __cdecl CInstancePQSContainer::CanContainDynamic(void) __ptr64
+?CanContainDynamic@CInstancePQSContainer@@UEAAJXZ
+; public: virtual long __cdecl CInstancePart::CanContainDynamic(void) __ptr64
+?CanContainDynamic@CInstancePart@@UEAAJXZ
+; public: virtual long __cdecl CMethodQualifierSetContainer::CanContainDynamic(void) __ptr64
+?CanContainDynamic@CMethodQualifierSetContainer@@UEAAJXZ
+; public: virtual long __cdecl CClassPart::CanContainKey(void) __ptr64
+?CanContainKey@CClassPart@@UEAAJXZ
+; public: virtual long __cdecl CInstancePQSContainer::CanContainKey(void) __ptr64
+?CanContainKey@CInstancePQSContainer@@UEAAJXZ
+; public: virtual long __cdecl CInstancePart::CanContainKey(void) __ptr64
+?CanContainKey@CInstancePart@@UEAAJXZ
+; public: virtual long __cdecl CMethodQualifierSetContainer::CanContainKey(void) __ptr64
+?CanContainKey@CMethodQualifierSetContainer@@UEAAJXZ
+; public: int __cdecl CClassPart::CanContainKeyedProps(void) __ptr64
+?CanContainKeyedProps@CClassPart@@QEAAHXZ
+; public: virtual long __cdecl CClassPart::CanContainSingleton(void) __ptr64
+?CanContainSingleton@CClassPart@@UEAAJXZ
+; public: virtual long __cdecl CInstancePQSContainer::CanContainSingleton(void) __ptr64
+?CanContainSingleton@CInstancePQSContainer@@UEAAJXZ
+; public: virtual long __cdecl CInstancePart::CanContainSingleton(void) __ptr64
+?CanContainSingleton@CInstancePart@@UEAAJXZ
+; public: virtual long __cdecl CMethodQualifierSetContainer::CanContainSingleton(void) __ptr64
+?CanContainSingleton@CMethodQualifierSetContainer@@UEAAJXZ
+; public: virtual int __cdecl CClassPart::CanHaveCimtype(unsigned short const * __ptr64) __ptr64
+?CanHaveCimtype@CClassPart@@UEAAHPEBG@Z
+; public: virtual int __cdecl CInstancePQSContainer::CanHaveCimtype(unsigned short const * __ptr64) __ptr64
+?CanHaveCimtype@CInstancePQSContainer@@UEAAHPEBG@Z
+; public: virtual int __cdecl CInstancePart::CanHaveCimtype(unsigned short const * __ptr64) __ptr64
+?CanHaveCimtype@CInstancePart@@UEAAHPEBG@Z
+; public: virtual int __cdecl CMethodQualifierSetContainer::CanHaveCimtype(unsigned short const * __ptr64) __ptr64
+?CanHaveCimtype@CMethodQualifierSetContainer@@UEAAHPEBG@Z
+; public: int __cdecl CCompressedString::CheapCompare(class CCompressedString const & __ptr64)const  __ptr64
+?CheapCompare@CCompressedString@@QEBAHAEBV1@@Z
+; public: int __cdecl CClassPart::CheckBoolQualifier(unsigned short const * __ptr64) __ptr64
+?CheckBoolQualifier@CClassPart@@QEAAHPEBG@Z
+; public: int __cdecl CWbemObject::CheckBooleanPropQual(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?CheckBooleanPropQual@CWbemObject@@QEAAHPEBG0@Z
+; public: static int __cdecl CUntypedArray::CheckCVarVector(class CVarVector & __ptr64,unsigned long)
+?CheckCVarVector@CUntypedArray@@SAHAEAVCVarVector@@K@Z
+; protected: long __cdecl CMethodPart::CheckDuplicateParameters(class CWbemObject * __ptr64,class CWbemObject * __ptr64) __ptr64
+?CheckDuplicateParameters@CMethodPart@@IEAAJPEAVCWbemObject@@0@Z
+; protected: long __cdecl CMethodPart::CheckIds(class CWbemClass * __ptr64,class CWbemClass * __ptr64) __ptr64
+?CheckIds@CMethodPart@@IEAAJPEAVCWbemClass@@0@Z
+; public: static int __cdecl CUntypedArray::CheckIntervalDateTime(class CVarVector & __ptr64)
+?CheckIntervalDateTime@CUntypedArray@@SAHAEAVCVarVector@@@Z
+; public: int __cdecl CClassPart::CheckLocalBoolQualifier(unsigned short const * __ptr64) __ptr64
+?CheckLocalBoolQualifier@CClassPart@@QEAAHPEBG@Z
+; public: static long __cdecl CUntypedArray::CheckRangeSize(unsigned long,unsigned long,unsigned long,unsigned long,void * __ptr64)
+?CheckRangeSize@CUntypedArray@@SAJKKKKPEAX@Z
+; protected: static long __cdecl CUntypedArray::CheckRangeSizeForGet(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64)
+?CheckRangeSizeForGet@CUntypedArray@@KAJKKKKPEAK@Z
+; private: void __cdecl CWbemClassCache::Clear(void) __ptr64
+?Clear@CWbemClassCache@@AEAAXXZ
+; private: void __cdecl CWbemGuidToClassMap::Clear(void) __ptr64
+?Clear@CWbemGuidToClassMap@@AEAAXXZ
+; public: void __cdecl CWbemInstance::ClearCachedKey(void) __ptr64
+?ClearCachedKey@CWbemInstance@@QEAAXXZ
+; public: virtual void __cdecl CWbemInstance::ClearCachedKeyValue(void) __ptr64
+?ClearCachedKeyValue@CWbemInstance@@UEAAXXZ
+; public: virtual long __cdecl CWbemClass::ClearWriteOnlyProperties(void) __ptr64
+?ClearWriteOnlyProperties@CWbemClass@@UEAAJXZ
+; public: virtual long __cdecl CWbemInstance::ClearWriteOnlyProperties(void) __ptr64
+?ClearWriteOnlyProperties@CWbemInstance@@UEAAJXZ
+; public: virtual long __cdecl CWbemClass::Clone(struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?Clone@CWbemClass@@UEAAJPEAPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemInstance::Clone(struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?Clone@CWbemInstance@@UEAAJPEAPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemClass::CloneAndDecorate(long,unsigned short * __ptr64,unsigned short * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?CloneAndDecorate@CWbemClass@@UEAAJJPEAG0PEAPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemInstance::CloneAndDecorate(long,unsigned short * __ptr64,unsigned short * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?CloneAndDecorate@CWbemInstance@@UEAAJJPEAG0PEAPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemClass::CloneEx(long,struct _IWmiObject * __ptr64) __ptr64
+?CloneEx@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemInstance::CloneEx(long,struct _IWmiObject * __ptr64) __ptr64
+?CloneEx@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
+; public: long __cdecl CWbemThreadSecurityHandle::CloneProcessContext(void) __ptr64
+?CloneProcessContext@CWbemThreadSecurityHandle@@QEAAJXZ
+; public: long __cdecl CWbemThreadSecurityHandle::CloneRpcContext(struct IServerSecurity * __ptr64) __ptr64
+?CloneRpcContext@CWbemThreadSecurityHandle@@QEAAJPEAUIServerSecurity@@@Z
+; public: long __cdecl CWbemThreadSecurityHandle::CloneThreadContext(unsigned long) __ptr64
+?CloneThreadContext@CWbemThreadSecurityHandle@@QEAAJK@Z
+; public: void __cdecl CClassAndMethods::Compact(void) __ptr64
+?Compact@CClassAndMethods@@QEAAXXZ
+; public: void __cdecl CClassPart::Compact(void) __ptr64
+?Compact@CClassPart@@QEAAXXZ
+; public: void __cdecl CInstancePart::Compact(bool) __ptr64
+?Compact@CInstancePart@@QEAAX_N@Z
+; public: void __cdecl CMethodPart::Compact(void) __ptr64
+?Compact@CMethodPart@@QEAAXXZ
+; public: virtual void __cdecl CWbemClass::CompactAll(void) __ptr64
+?CompactAll@CWbemClass@@UEAAXXZ
+; public: virtual void __cdecl CWbemInstance::CompactAll(void) __ptr64
+?CompactAll@CWbemInstance@@UEAAXXZ
+; public: void __cdecl CWbemInstance::CompactClass(void) __ptr64
+?CompactClass@CWbemInstance@@QEAAXXZ
+; public: int __cdecl CBasicQualifierSet::Compare(class CBasicQualifierSet & __ptr64,unsigned char,unsigned short const * __ptr64 * __ptr64,unsigned long) __ptr64
+?Compare@CBasicQualifierSet@@QEAAHAEAV1@EPEAPEBGK@Z
+; public: int __cdecl CCompressedString::Compare(class CCompressedString const & __ptr64)const  __ptr64
+?Compare@CCompressedString@@QEBAHAEBV1@@Z
+; public: int __cdecl CCompressedString::Compare(char const * __ptr64)const  __ptr64
+?Compare@CCompressedString@@QEBAHPEBD@Z
+; public: int __cdecl CCompressedString::Compare(unsigned short const * __ptr64)const  __ptr64
+?Compare@CCompressedString@@QEBAHPEBG@Z
+; public: int __cdecl CInternalString::Compare(class CInternalString const & __ptr64)const  __ptr64
+?Compare@CInternalString@@QEBAHAEBV1@@Z
+; public: int __cdecl CInternalString::Compare(unsigned short const * __ptr64)const  __ptr64
+?Compare@CInternalString@@QEBAHPEBG@Z
+; public: int __cdecl CQualifierSet::Compare(class CQualifierSet & __ptr64,class CFixedBSTRArray * __ptr64,int) __ptr64
+?Compare@CQualifierSet@@QEAAHAEAV1@PEAVCFixedBSTRArray@@H@Z
+; public: virtual long __cdecl CWbemObject::CompareClassParts(struct IWbemClassObject * __ptr64,long) __ptr64
+?CompareClassParts@CWbemObject@@UEAAJPEAUIWbemClassObject@@J@Z
+; public: int __cdecl CClassPart::CompareDefs(class CClassPart & __ptr64) __ptr64
+?CompareDefs@CClassPart@@QEAAHAEAV1@@Z
+; public: virtual long __cdecl CWbemClass::CompareDerivedMostClass(long,struct _IWmiObject * __ptr64) __ptr64
+?CompareDerivedMostClass@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemInstance::CompareDerivedMostClass(long,struct _IWmiObject * __ptr64) __ptr64
+?CompareDerivedMostClass@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
+; public: enum EReconciliation  __cdecl CClassPart::CompareExactMatch(class CClassPart & __ptr64,int) __ptr64
+?CompareExactMatch@CClassPart@@QEAA?AW4EReconciliation@@AEAV1@H@Z
+; public: enum EReconciliation  __cdecl CMethodPart::CompareExactMatch(class CMethodPart & __ptr64) __ptr64
+?CompareExactMatch@CMethodPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
+; public: int __cdecl CBasicQualifierSet::CompareLocalizedSet(class CBasicQualifierSet & __ptr64) __ptr64
+?CompareLocalizedSet@CBasicQualifierSet@@QEAAHAEAV1@@Z
+; public: long __cdecl CWbemClass::CompareMostDerivedClass(class CWbemClass * __ptr64) __ptr64
+?CompareMostDerivedClass@CWbemClass@@QEAAJPEAV1@@Z
+; public: int __cdecl CCompressedString::CompareNoCase(class CCompressedString const & __ptr64)const  __ptr64
+?CompareNoCase@CCompressedString@@QEBAHAEBV1@@Z
+; public: int __cdecl CCompressedString::CompareNoCase(char const * __ptr64)const  __ptr64
+?CompareNoCase@CCompressedString@@QEBAHPEBD@Z
+; public: int __cdecl CCompressedString::CompareNoCase(unsigned short const * __ptr64)const  __ptr64
+?CompareNoCase@CCompressedString@@QEBAHPEBG@Z
+; public: enum EReconciliation  __cdecl CClassAndMethods::CompareTo(class CClassAndMethods & __ptr64) __ptr64
+?CompareTo@CClassAndMethods@@QEAA?AW4EReconciliation@@AEAV1@@Z
+; public: int __cdecl CDecorationPart::CompareTo(class CDecorationPart & __ptr64) __ptr64
+?CompareTo@CDecorationPart@@QEAAHAEAV1@@Z
+; public: long __cdecl CMethodPart::CompareTo(long,class CMethodPart & __ptr64) __ptr64
+?CompareTo@CMethodPart@@QEAAJJAEAV1@@Z
+; public: virtual long __cdecl CQualifierSet::CompareTo(long,struct IWbemQualifierSet * __ptr64) __ptr64
+?CompareTo@CQualifierSet@@UEAAJJPEAUIWbemQualifierSet@@@Z
+; public: virtual long __cdecl CWbemClass::CompareTo(long,struct IWbemClassObject * __ptr64) __ptr64
+?CompareTo@CWbemClass@@UEAAJJPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemObject::CompareTo(long,struct IWbemClassObject * __ptr64) __ptr64
+?CompareTo@CWbemObject@@UEAAJJPEAUIWbemClassObject@@@Z
+; protected: static int __cdecl CCompressedString::CompareUnicodeToAscii(unsigned short const * __ptr64 __ptr64,char const * __ptr64)
+?CompareUnicodeToAscii@CCompressedString@@KAHPEFBGPEBD@Z
+; protected: static int __cdecl CCompressedString::CompareUnicodeToAsciiNoCase(unsigned short const * __ptr64 __ptr64,char const * __ptr64,int)
+?CompareUnicodeToAsciiNoCase@CCompressedString@@KAHPEFBGPEBDH@Z
+; public: static unsigned long __cdecl CBasicQualifierSet::ComputeMergeSpace(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64,int)
+?ComputeMergeSpace@CBasicQualifierSet@@SAKPEAEPEAVCFastHeap@@01H@Z
+; public: static int __cdecl CCompressedString::ComputeNecessarySpace(char const * __ptr64)
+?ComputeNecessarySpace@CCompressedString@@SAHPEBD@Z
+; public: static int __cdecl CCompressedString::ComputeNecessarySpace(unsigned short const * __ptr64)
+?ComputeNecessarySpace@CCompressedString@@SAHPEBG@Z
+; public: static int __cdecl CCompressedString::ComputeNecessarySpace(unsigned short const * __ptr64,int & __ptr64)
+?ComputeNecessarySpace@CCompressedString@@SAHPEBGAEAH@Z
+; public: unsigned long __cdecl CCompressedStringList::ComputeNecessarySpace(class CCompressedString * __ptr64) __ptr64
+?ComputeNecessarySpace@CCompressedStringList@@QEAAKPEAVCCompressedString@@@Z
+; public: static unsigned long __cdecl CDataTable::ComputeNecessarySpace(int,int)
+?ComputeNecessarySpace@CDataTable@@SAKHH@Z
+; public: static unsigned long __cdecl CDecorationPart::ComputeNecessarySpace(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?ComputeNecessarySpace@CDecorationPart@@SAKPEBG0@Z
+; public: static unsigned long __cdecl CInstancePart::ComputeNecessarySpace(class CClassPart * __ptr64)
+?ComputeNecessarySpace@CInstancePart@@SAKPEAVCClassPart@@@Z
+; public: static unsigned long __cdecl CQualifierSetList::ComputeNecessarySpace(int)
+?ComputeNecessarySpace@CQualifierSetList@@SAKH@Z
+; public: static unsigned long __cdecl CBasicQualifierSet::ComputeNecessarySpaceForPropagation(unsigned char * __ptr64,unsigned char)
+?ComputeNecessarySpaceForPropagation@CBasicQualifierSet@@SAKPEAEE@Z
+; public: static unsigned long __cdecl CQualifierSetList::ComputeRealSpace(int)
+?ComputeRealSpace@CQualifierSetList@@SAKH@Z
+; public: static unsigned long __cdecl CBasicQualifierSet::ComputeUnmergedSpace(unsigned char * __ptr64)
+?ComputeUnmergedSpace@CBasicQualifierSet@@SAKPEAE@Z
+; public: unsigned char * __ptr64 __cdecl CInstancePart::ConvertToClass(class CClassPart & __ptr64,unsigned long,unsigned char * __ptr64) __ptr64
+?ConvertToClass@CInstancePart@@QEAAPEAEAEAVCClassPart@@KPEAE@Z
+; public: long __cdecl CWbemInstance::ConvertToClass(class CWbemClass * __ptr64,class CWbemInstance * __ptr64 * __ptr64) __ptr64
+?ConvertToClass@CWbemInstance@@QEAAJPEAVCWbemClass@@PEAPEAV1@@Z
+; public: long __cdecl CWbemInstance::ConvertToMergedInstance(void) __ptr64
+?ConvertToMergedInstance@CWbemInstance@@QEAAJXZ
+; public: void __cdecl CCompressedString::ConvertToUnicode(unsigned short * __ptr64)const  __ptr64
+?ConvertToUnicode@CCompressedString@@QEBAXPEAG@Z
+; public: void __cdecl CFastHeap::Copy(unsigned long,unsigned long,unsigned long) __ptr64
+?Copy@CFastHeap@@QEAAXKKK@Z
+; public: long __cdecl CFastPropertyBag::Copy(class CFastPropertyBag const & __ptr64) __ptr64
+?Copy@CFastPropertyBag@@QEAAJAEBV1@@Z
+; public: long __cdecl CWbemInstance::CopyActualTransferBlob(long,unsigned char * __ptr64) __ptr64
+?CopyActualTransferBlob@CWbemInstance@@QEAAJJPEAE@Z
+; public: long __cdecl CWbemInstance::CopyBlob(unsigned char * __ptr64,int) __ptr64
+?CopyBlob@CWbemInstance@@QEAAJPEAEH@Z
+; public: virtual long __cdecl CWbemClass::CopyBlobOf(class CWbemObject * __ptr64) __ptr64
+?CopyBlobOf@CWbemClass@@UEAAJPEAVCWbemObject@@@Z
+; public: virtual long __cdecl CWbemInstance::CopyBlobOf(class CWbemObject * __ptr64) __ptr64
+?CopyBlobOf@CWbemInstance@@UEAAJPEAVCWbemObject@@@Z
+; public: unsigned char * __ptr64 __cdecl CCompressedStringList::CopyData(unsigned char * __ptr64) __ptr64
+?CopyData@CCompressedStringList@@QEAAPEAEPEAE@Z
+; protected: void __cdecl CLimitationMapping::CopyInfo(class CPropertyInformation & __ptr64,class CPropertyInformation const & __ptr64) __ptr64
+?CopyInfo@CLimitationMapping@@IEAAXAEAVCPropertyInformation@@AEBV2@@Z
+; public: virtual long __cdecl CWbemClass::CopyInstanceData(long,struct _IWmiObject * __ptr64) __ptr64
+?CopyInstanceData@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemInstance::CopyInstanceData(long,struct _IWmiObject * __ptr64) __ptr64
+?CopyInstanceData@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
+; public: long __cdecl CQualifierSet::CopyLocalQualifiers(class CQualifierSet & __ptr64) __ptr64
+?CopyLocalQualifiers@CQualifierSet@@QEAAJAEAV1@@Z
+; public: void __cdecl CDataTable::CopyNullness(class CDataTable * __ptr64) __ptr64
+?CopyNullness@CDataTable@@QEAAXPEAV1@@Z
+; public: long __cdecl CClassPart::CopyParentProperty(class CClassPart & __ptr64,unsigned short const * __ptr64) __ptr64
+?CopyParentProperty@CClassPart@@QEAAJAEAV1@PEBG@Z
+; public: static int __cdecl CCompressedString::CopyToNewHeap(unsigned long,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned long & __ptr64 __ptr64)
+?CopyToNewHeap@CCompressedString@@SAHKPEAVCFastHeap@@0AEFAK@Z
+; public: static int __cdecl CEmbeddedObject::CopyToNewHeap(unsigned long,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned long & __ptr64 __ptr64)
+?CopyToNewHeap@CEmbeddedObject@@SAHKPEAVCFastHeap@@0AEFAK@Z
+; public: static int __cdecl CUntypedArray::CopyToNewHeap(unsigned long,class CType,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned long & __ptr64 __ptr64)
+?CopyToNewHeap@CUntypedArray@@SAHKVCType@@PEAVCFastHeap@@1AEFAK@Z
+; public: static long __cdecl CWbemInstance::CopyTransferArrayBlob(class CWbemInstance * __ptr64,long,long,unsigned char * __ptr64,class CFlexArray & __ptr64,long * __ptr64)
+?CopyTransferArrayBlob@CWbemInstance@@SAJPEAV1@JJPEAEAEAVCFlexArray@@PEAJ@Z
+; public: long __cdecl CWbemInstance::CopyTransferBlob(long,long,unsigned char * __ptr64) __ptr64
+?CopyTransferBlob@CWbemInstance@@QEAAJJJPEAE@Z
+; public: void __cdecl CDecorationPart::Create(unsigned char,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64) __ptr64
+?Create@CDecorationPart@@QEAAXEPEBG0PEAE@Z
+; public: void __cdecl CFixedBSTRArray::Create(int) __ptr64
+?Create@CFixedBSTRArray@@QEAAXH@Z
+; public: void __cdecl CInstancePQSContainer::Create(class CQualifierSetList * __ptr64,int,class CClassPart * __ptr64,unsigned long) __ptr64
+?Create@CInstancePQSContainer@@QEAAXPEAVCQualifierSetList@@HPEAVCClassPart@@K@Z
+; public: unsigned char * __ptr64 __cdecl CInstancePart::Create(unsigned char * __ptr64,class CClassPart * __ptr64,class CInstancePartContainer * __ptr64) __ptr64
+?Create@CInstancePart@@QEAAPEAEPEAEPEAVCClassPart@@PEAVCInstancePartContainer@@@Z
+; public: long __cdecl CWmiObjectFactory::Create(struct IUnknown * __ptr64,unsigned long,struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?Create@CWmiObjectFactory@@QEAAJPEAUIUnknown@@KAEBU_GUID@@1PEAPEAX@Z
+; public: virtual long __cdecl CWmiObjectFactory::XObjectFactory::Create(struct IUnknown * __ptr64,unsigned long,struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?Create@XObjectFactory@CWmiObjectFactory@@UEAAJPEAUIUnknown@@KAEBU_GUID@@1PEAPEAX@Z
+; public: unsigned short * __ptr64 __cdecl CCompressedString::CreateBSTRCopy(void)const  __ptr64
+?CreateBSTRCopy@CCompressedString@@QEBAPEAGXZ
+; public: class CVarVector * __ptr64 __cdecl CUntypedArray::CreateCVarVector(class CType,class CFastHeap * __ptr64) __ptr64
+?CreateCVarVector@CUntypedArray@@QEAAPEAVCVarVector@@VCType@@PEAVCFastHeap@@@Z
+; public: long __cdecl CWbemClass::CreateDerivedClass(class CWbemClass * __ptr64 * __ptr64) __ptr64
+?CreateDerivedClass@CWbemClass@@QEAAJPEAPEAV1@@Z
+; public: long __cdecl CWbemClass::CreateDerivedClass(class CWbemClass * __ptr64,int,class CDecorationPart * __ptr64) __ptr64
+?CreateDerivedClass@CWbemClass@@QEAAJPEAV1@HPEAVCDecorationPart@@@Z
+; public: unsigned char * __ptr64 __cdecl CClassAndMethods::CreateDerivedPart(unsigned char * __ptr64,unsigned long) __ptr64
+?CreateDerivedPart@CClassAndMethods@@QEAAPEAEPEAEK@Z
+; public: unsigned char * __ptr64 __cdecl CClassPart::CreateDerivedPart(unsigned char * __ptr64,int) __ptr64
+?CreateDerivedPart@CClassPart@@QEAAPEAEPEAEH@Z
+; public: unsigned char * __ptr64 __cdecl CMethodPart::CreateDerivedPart(unsigned char * __ptr64,unsigned long) __ptr64
+?CreateDerivedPart@CMethodPart@@QEAAPEAEPEAEK@Z
+; public: static int __cdecl CMethodDescription::CreateDerivedVersion(struct CMethodDescription * __ptr64 __ptr64,struct CMethodDescription * __ptr64 __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
+?CreateDerivedVersion@CMethodDescription@@SAHPEFAU1@0PEAVCFastHeap@@1@Z
+; public: static unsigned char * __ptr64 __cdecl CBasicQualifierSet::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CBasicQualifierSet@@SAPEAEPEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CClassAndMethods::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CClassAndMethods@@SAPEAEPEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CClassPart::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CClassPart@@SAPEAEPEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CCompressedString::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CCompressedString@@SAPEAEPEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CCompressedStringList::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CCompressedStringList@@SAPEAEPEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CDataTable::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CDataTable@@SAPEAEPEAE@Z
+; public: unsigned char * __ptr64 __cdecl CDecorationPart::CreateEmpty(unsigned char,unsigned char * __ptr64) __ptr64
+?CreateEmpty@CDecorationPart@@QEAAPEAEEPEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CFastHeap::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CFastHeap@@SAPEAEPEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CMethodPart::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CMethodPart@@SAPEAEPEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CPropertyLookupTable::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CPropertyLookupTable@@SAPEAEPEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CWbemClass::CreateEmpty(unsigned char * __ptr64)
+?CreateEmpty@CWbemClass@@SAPEAEPEAE@Z
+; public: static class CWbemClass * __ptr64 __cdecl CWbemClass::CreateFromBlob2(class CWbemClass * __ptr64,unsigned char * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
+?CreateFromBlob2@CWbemClass@@SAPEAV1@PEAV1@PEAEPEAG2@Z
+; public: static class CWbemInstance * __ptr64 __cdecl CWbemInstance::CreateFromBlob2(class CWbemClass * __ptr64,unsigned char * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
+?CreateFromBlob2@CWbemInstance@@SAPEAV1@PEAVCWbemClass@@PEAEPEAG2@Z
+; public: static class CWbemClass * __ptr64 __cdecl CWbemClass::CreateFromBlob(class CWbemClass * __ptr64,unsigned char * __ptr64,unsigned __int64)
+?CreateFromBlob@CWbemClass@@SAPEAV1@PEAV1@PEAE_K@Z
+; public: static class CWbemInstance * __ptr64 __cdecl CWbemInstance::CreateFromBlob(class CWbemClass * __ptr64,unsigned char * __ptr64,unsigned __int64)
+?CreateFromBlob@CWbemInstance@@SAPEAV1@PEAVCWbemClass@@PEAE_K@Z
+; public: static class CWbemObject * __ptr64 __cdecl CWbemObject::CreateFromMemory(unsigned char * __ptr64,int,int,class CBlobControl & __ptr64)
+?CreateFromMemory@CWbemObject@@SAPEAV1@PEAEHHAEAVCBlobControl@@@Z
+; public: static class CWbemObject * __ptr64 __cdecl CWbemObject::CreateFromStream(struct IStream * __ptr64)
+?CreateFromStream@CWbemObject@@SAPEAV1@PEAUIStream@@@Z
+; public: virtual long __cdecl CWmiObjectTextSrc::XObjectTextSrc::CreateFromText(long,unsigned short * __ptr64,unsigned long,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?CreateFromText@XObjectTextSrc@CWmiObjectTextSrc@@UEAAJJPEAGKPEAUIWbemContext@@PEAPEAUIWbemClassObject@@@Z
+; public: unsigned short * __ptr64 __cdecl CInternalString::CreateLPWSTRCopy(void)const  __ptr64
+?CreateLPWSTRCopy@CInternalString@@QEBAPEAGXZ
+; public: unsigned char * __ptr64 __cdecl CClassAndMethods::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,int,unsigned char * __ptr64,int & __ptr64) __ptr64
+?CreateLimitedRepresentation@CClassAndMethods@@QEAAPEAEPEAVCLimitationMapping@@HPEAEAEAH@Z
+; public: unsigned char * __ptr64 __cdecl CClassPart::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,int,unsigned char * __ptr64,int & __ptr64) __ptr64
+?CreateLimitedRepresentation@CClassPart@@QEAAPEAEPEAVCLimitationMapping@@HPEAEAEAH@Z
+; public: unsigned char * __ptr64 __cdecl CDataTable::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,int,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64) __ptr64
+?CreateLimitedRepresentation@CDataTable@@QEAAPEAEPEAVCLimitationMapping@@HPEAVCFastHeap@@1PEAE@Z
+; public: unsigned char * __ptr64 __cdecl CDecorationPart::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,unsigned char * __ptr64) __ptr64
+?CreateLimitedRepresentation@CDecorationPart@@QEAAPEAEPEAVCLimitationMapping@@PEAE@Z
+; public: unsigned char * __ptr64 __cdecl CDerivationList::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,unsigned char * __ptr64) __ptr64
+?CreateLimitedRepresentation@CDerivationList@@QEAAPEAEPEAVCLimitationMapping@@PEAE@Z
+; public: unsigned char * __ptr64 __cdecl CInstancePart::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,int,unsigned char * __ptr64) __ptr64
+?CreateLimitedRepresentation@CInstancePart@@QEAAPEAEPEAVCLimitationMapping@@HPEAE@Z
+; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,int & __ptr64) __ptr64
+?CreateLimitedRepresentation@CPropertyLookupTable@@QEAAPEAEPEAVCLimitationMapping@@PEAVCFastHeap@@PEAEAEAH@Z
+; public: unsigned char * __ptr64 __cdecl CQualifierSetList::CreateLimitedRepresentation(class CLimitationMapping * __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64) __ptr64
+?CreateLimitedRepresentation@CQualifierSetList@@QEAAPEAEPEAVCLimitationMapping@@PEAVCFastHeap@@1PEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CQualifierSetList::CreateListOfEmpties(unsigned char * __ptr64,int)
+?CreateListOfEmpties@CQualifierSetList@@SAPEAEPEAEH@Z
+; protected: long __cdecl CMethodPart::CreateMethod(unsigned short const * __ptr64,class CWbemObject * __ptr64,class CWbemObject * __ptr64) __ptr64
+?CreateMethod@CMethodPart@@IEAAJPEBGPEAVCWbemObject@@1@Z
+; public: int __cdecl CFastHeap::CreateNoCaseStringHeapPtr(unsigned short const * __ptr64,unsigned long & __ptr64 __ptr64) __ptr64
+?CreateNoCaseStringHeapPtr@CFastHeap@@QEAAHPEBGAEFAK@Z
+; public: unsigned char * __ptr64 __cdecl CFastHeap::CreateOutOfLine(unsigned char * __ptr64,unsigned long) __ptr64
+?CreateOutOfLine@CFastHeap@@QEAAPEAEPEAEK@Z
+; protected: long __cdecl CWbemRefreshingSvc::CreateRefreshableObjectTemplate(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?CreateRefreshableObjectTemplate@CWbemRefreshingSvc@@IEAAJPEBGJPEAPEAUIWbemClassObject@@@Z
+; public: static int __cdecl CMethodDescription::CreateUnmergedVersion(struct CMethodDescription * __ptr64 __ptr64,struct CMethodDescription * __ptr64 __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
+?CreateUnmergedVersion@CMethodDescription@@SAHPEFAU1@0PEAVCFastHeap@@1@Z
+; public: class WString  __cdecl CCompressedString::CreateWStringCopy(void)const  __ptr64
+?CreateWStringCopy@CCompressedString@@QEBA?AVWString@@XZ
+; public: unsigned char * __ptr64 __cdecl CCompressedStringList::CreateWithExtra(unsigned char * __ptr64,class CCompressedString * __ptr64) __ptr64
+?CreateWithExtra@CCompressedStringList@@QEAAPEAEPEAEPEAVCCompressedString@@@Z
+; public: virtual long __cdecl CWbemClass::Decorate(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?Decorate@CWbemClass@@UEAAJPEBG0@Z
+; public: virtual long __cdecl CWbemInstance::Decorate(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?Decorate@CWbemInstance@@UEAAJPEBG0@Z
+; public: static void __cdecl CBasicQualifierSet::Delete(unsigned char * __ptr64,class CFastHeap * __ptr64)
+?Delete@CBasicQualifierSet@@SAXPEAEPEAVCFastHeap@@@Z
+; public: virtual long __cdecl CQualifierSet::Delete(unsigned short const * __ptr64) __ptr64
+?Delete@CQualifierSet@@UEAAJPEBG@Z
+; public: void __cdecl CUntypedArray::Delete(class CType,class CFastHeap * __ptr64) __ptr64
+?Delete@CUntypedArray@@QEAAXVCType@@PEAVCFastHeap@@@Z
+; public: virtual long __cdecl CWbemClass::Delete(unsigned short const * __ptr64) __ptr64
+?Delete@CWbemClass@@UEAAJPEBG@Z
+; public: virtual long __cdecl CWbemInstance::Delete(unsigned short const * __ptr64) __ptr64
+?Delete@CWbemInstance@@UEAAJPEBG@Z
+; public: long __cdecl CMethodPart::DeleteMethod(unsigned short const * __ptr64) __ptr64
+?DeleteMethod@CMethodPart@@QEAAJPEBG@Z
+; public: virtual long __cdecl CWbemClass::DeleteMethod(unsigned short const * __ptr64) __ptr64
+?DeleteMethod@CWbemClass@@UEAAJPEBG@Z
+; public: virtual long __cdecl CWbemInstance::DeleteMethod(unsigned short const * __ptr64) __ptr64
+?DeleteMethod@CWbemInstance@@UEAAJPEBG@Z
+; public: long __cdecl CClassPart::DeleteProperty(unsigned short const * __ptr64) __ptr64
+?DeleteProperty@CClassPart@@QEAAJPEBG@Z
+; public: void __cdecl CClassPart::DeleteProperty(int) __ptr64
+?DeleteProperty@CClassPart@@QEAAXH@Z
+; public: void __cdecl CInstancePart::DeleteProperty(class CPropertyInformation * __ptr64) __ptr64
+?DeleteProperty@CInstancePart@@QEAAXPEAVCPropertyInformation@@@Z
+; public: void __cdecl CPropertyLookupTable::DeleteProperty(struct CPropertyLookup * __ptr64,int) __ptr64
+?DeleteProperty@CPropertyLookupTable@@QEAAXPEAUCPropertyLookup@@H@Z
+; public: long __cdecl CWbemInstance::DeleteProperty(int) __ptr64
+?DeleteProperty@CWbemInstance@@QEAAJH@Z
+; public: long __cdecl CQualifierSet::DeleteQualifier(unsigned short const * __ptr64,int) __ptr64
+?DeleteQualifier@CQualifierSet@@QEAAJPEBGH@Z
+; public: void __cdecl CQualifierSetList::DeleteQualifierSet(int) __ptr64
+?DeleteQualifierSet@CQualifierSetList@@QEAAXH@Z
+; protected: void __cdecl CMethodPart::DeleteSignature(int,int) __ptr64
+?DeleteSignature@CMethodPart@@IEAAXHH@Z
+; protected: static long __cdecl CWbemObject::DisabledValidateObject(class CWbemObject * __ptr64)
+?DisabledValidateObject@CWbemObject@@KAJPEAV1@@Z
+; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Discard(int) __ptr64
+?Discard@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXH@Z
+; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Discard(int) __ptr64
+?Discard@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXH@Z
+; public: virtual long __cdecl CWbemObject::DisconnectObject(unsigned long) __ptr64
+?DisconnectObject@CWbemObject@@UEAAJK@Z
+; protected: int __cdecl CMethodPart::DoSignaturesMatch(int,enum METHOD_SIGNATURE_TYPE,class CWbemObject * __ptr64) __ptr64
+?DoSignaturesMatch@CMethodPart@@IEAAHHW4METHOD_SIGNATURE_TYPE@@PEAVCWbemObject@@@Z
+; public: static int __cdecl CType::DoesCIMTYPEMatchVARTYPE(long,unsigned short)
+?DoesCIMTYPEMatchVARTYPE@CType@@SAHJG@Z
+; protected: int __cdecl CMethodPart::DoesSignatureMatchOther(class CMethodPart & __ptr64,int,enum METHOD_SIGNATURE_TYPE) __ptr64
+?DoesSignatureMatchOther@CMethodPart@@IEAAHAEAV1@HW4METHOD_SIGNATURE_TYPE@@@Z
+; public: int __cdecl CFastHeap::ElementMaxSize(unsigned long) __ptr64
+?ElementMaxSize@CFastHeap@@QEAAHK@Z
+; public: void __cdecl CFastHeap::Empty(void) __ptr64
+?Empty@CFastHeap@@QEAAXXZ
+; public: void __cdecl CInternalString::Empty(void) __ptr64
+?Empty@CInternalString@@QEAAXXZ
+; protected: static long __cdecl CWbemObject::EnabledValidateObject(class CWbemObject * __ptr64)
+?EnabledValidateObject@CWbemObject@@KAJPEAV1@@Z
+; public: virtual long __cdecl CQualifierSet::EndEnumeration(void) __ptr64
+?EndEnumeration@CQualifierSet@@UEAAJXZ
+; public: virtual long __cdecl CWbemObject::EndEnumeration(void) __ptr64
+?EndEnumeration@CWbemObject@@UEAAJXZ
+; public: virtual long __cdecl CWbemClass::EndMethodEnumeration(void) __ptr64
+?EndMethodEnumeration@CWbemClass@@UEAAJXZ
+; public: virtual long __cdecl CWbemInstance::EndMethodEnumeration(void) __ptr64
+?EndMethodEnumeration@CWbemInstance@@UEAAJXZ
+; public: long __cdecl CClassPart::EnsureProperty(unsigned short const * __ptr64,unsigned short,long,int) __ptr64
+?EnsureProperty@CClassPart@@QEAAJPEBGGJH@Z
+; public: long __cdecl CMethodPart::EnsureQualifier(class CWbemObject * __ptr64,unsigned short const * __ptr64,class CWbemObject * __ptr64 * __ptr64) __ptr64
+?EnsureQualifier@CMethodPart@@QEAAJPEAVCWbemObject@@PEBGPEAPEAV2@@Z
+; public: long __cdecl CWbemClass::EnsureQualifier(unsigned short const * __ptr64) __ptr64
+?EnsureQualifier@CWbemClass@@QEAAJPEBG@Z
+; public: int __cdecl CQualifierSetList::EnsureReal(void) __ptr64
+?EnsureReal@CQualifierSetList@@QEAAHXZ
+; public: long __cdecl CBasicQualifierSet::EnumPrimaryQualifiers(unsigned char,unsigned char,class CFixedBSTRArray & __ptr64,class CFixedBSTRArray & __ptr64) __ptr64
+?EnumPrimaryQualifiers@CBasicQualifierSet@@QEAAJEEAEAVCFixedBSTRArray@@0@Z
+; public: long __cdecl CQualifierSet::EnumQualifiers(unsigned char,unsigned char,class CFixedBSTRArray & __ptr64) __ptr64
+?EnumQualifiers@CQualifierSet@@QEAAJEEAEAVCFixedBSTRArray@@@Z
+; public: unsigned long __cdecl CWbemClass::EstimateDerivedClassSpace(class CDecorationPart * __ptr64) __ptr64
+?EstimateDerivedClassSpace@CWbemClass@@QEAAKPEAVCDecorationPart@@@Z
+; public: unsigned long __cdecl CClassAndMethods::EstimateDerivedPartSpace(void) __ptr64
+?EstimateDerivedPartSpace@CClassAndMethods@@QEAAKXZ
+; public: unsigned long __cdecl CClassPart::EstimateDerivedPartSpace(void) __ptr64
+?EstimateDerivedPartSpace@CClassPart@@QEAAKXZ
+; public: unsigned long __cdecl CMethodPart::EstimateDerivedPartSpace(void) __ptr64
+?EstimateDerivedPartSpace@CMethodPart@@QEAAKXZ
+; public: static unsigned long __cdecl CCompressedStringList::EstimateExtraSpace(class CCompressedString * __ptr64)
+?EstimateExtraSpace@CCompressedStringList@@SAKPEAVCCompressedString@@@Z
+; public: static unsigned long __cdecl CCompressedStringList::EstimateExtraSpace(unsigned short const * __ptr64)
+?EstimateExtraSpace@CCompressedStringList@@SAKPEBG@Z
+; public: static unsigned long __cdecl CWbemInstance::EstimateInstanceSpace(class CClassPart & __ptr64,class CDecorationPart * __ptr64)
+?EstimateInstanceSpace@CWbemInstance@@SAKAEAVCClassPart@@PEAVCDecorationPart@@@Z
+; public: unsigned long __cdecl CWbemObject::EstimateLimitedRepresentationSpace(long,class CWStringArray * __ptr64) __ptr64
+?EstimateLimitedRepresentationSpace@CWbemObject@@QEAAKJPEAVCWStringArray@@@Z
+; public: static unsigned long __cdecl CClassAndMethods::EstimateMergeSpace(class CClassAndMethods & __ptr64,class CClassAndMethods & __ptr64)
+?EstimateMergeSpace@CClassAndMethods@@SAKAEAV1@0@Z
+; public: static unsigned long __cdecl CClassPart::EstimateMergeSpace(class CClassPart & __ptr64,class CClassPart & __ptr64)
+?EstimateMergeSpace@CClassPart@@SAKAEAV1@0@Z
+; public: static unsigned long __cdecl CMethodPart::EstimateMergeSpace(class CMethodPart & __ptr64,class CMethodPart & __ptr64)
+?EstimateMergeSpace@CMethodPart@@SAKAEAV1@0@Z
+; public: unsigned long __cdecl CWbemClass::EstimateMergeSpace(unsigned char * __ptr64,long) __ptr64
+?EstimateMergeSpace@CWbemClass@@QEAAKPEAEJ@Z
+; public: static unsigned long __cdecl CEmbeddedObject::EstimateNecessarySpace(class CVar & __ptr64)
+?EstimateNecessarySpace@CEmbeddedObject@@SAKAEAVCVar@@@Z
+; public: static unsigned long __cdecl CEmbeddedObject::EstimateNecessarySpace(class CWbemObject * __ptr64)
+?EstimateNecessarySpace@CEmbeddedObject@@SAKPEAVCWbemObject@@@Z
+; public: unsigned long __cdecl CClassAndMethods::EstimateUnmergeSpace(void) __ptr64
+?EstimateUnmergeSpace@CClassAndMethods@@QEAAKXZ
+; public: unsigned long __cdecl CClassPart::EstimateUnmergeSpace(void) __ptr64
+?EstimateUnmergeSpace@CClassPart@@QEAAKXZ
+; public: unsigned long __cdecl CMethodPart::EstimateUnmergeSpace(void) __ptr64
+?EstimateUnmergeSpace@CMethodPart@@QEAAKXZ
+; public: virtual unsigned long __cdecl CWbemClass::EstimateUnmergeSpace(void) __ptr64
+?EstimateUnmergeSpace@CWbemClass@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemInstance::EstimateUnmergeSpace(void) __ptr64
+?EstimateUnmergeSpace@CWbemInstance@@UEAAKXZ
+; public: int __cdecl CFastHeap::Extend(unsigned long,unsigned long,unsigned long) __ptr64
+?Extend@CFastHeap@@QEAAHKKK@Z
+; public: int __cdecl CWbemClass::ExtendClassAndMethodsSpace(unsigned long) __ptr64
+?ExtendClassAndMethodsSpace@CWbemClass@@QEAAHK@Z
+; public: virtual int __cdecl CClassAndMethods::ExtendClassPartSpace(class CClassPart * __ptr64,unsigned long) __ptr64
+?ExtendClassPartSpace@CClassAndMethods@@UEAAHPEAVCClassPart@@K@Z
+; public: virtual int __cdecl CWbemInstance::ExtendClassPartSpace(class CClassPart * __ptr64,unsigned long) __ptr64
+?ExtendClassPartSpace@CWbemInstance@@UEAAHPEAVCClassPart@@K@Z
+; public: virtual int __cdecl CClassPart::ExtendDataTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ExtendDataTableSpace@CClassPart@@UEAAHPEAEKK@Z
+; public: virtual int __cdecl CInstancePart::ExtendDataTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ExtendDataTableSpace@CInstancePart@@UEAAHPEAEKK@Z
+; public: virtual int __cdecl CClassPart::ExtendHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ExtendHeapSize@CClassPart@@UEAAHPEAEKK@Z
+; public: virtual int __cdecl CInstancePart::ExtendHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ExtendHeapSize@CInstancePart@@UEAAHPEAEKK@Z
+; public: virtual int __cdecl CMethodPart::ExtendHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ExtendHeapSize@CMethodPart@@UEAAHPEAEKK@Z
+; public: virtual int __cdecl CWbemInstance::ExtendInstancePartSpace(class CInstancePart * __ptr64,unsigned long) __ptr64
+?ExtendInstancePartSpace@CWbemInstance@@UEAAHPEAVCInstancePart@@K@Z
+; public: virtual int __cdecl CClassAndMethods::ExtendMethodPartSpace(class CMethodPart * __ptr64,unsigned long) __ptr64
+?ExtendMethodPartSpace@CClassAndMethods@@UEAAHPEAVCMethodPart@@K@Z
+; public: virtual int __cdecl CClassPart::ExtendPropertyTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ExtendPropertyTableSpace@CClassPart@@UEAAHPEAEKK@Z
+; public: virtual int __cdecl CInstancePart::ExtendQualifierSetListSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ExtendQualifierSetListSpace@CInstancePart@@UEAAHPEAEKK@Z
+; public: virtual int __cdecl CClassPart::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ExtendQualifierSetSpace@CClassPart@@UEAAHPEAVCBasicQualifierSet@@K@Z
+; public: virtual int __cdecl CInstancePQSContainer::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ExtendQualifierSetSpace@CInstancePQSContainer@@UEAAHPEAVCBasicQualifierSet@@K@Z
+; public: virtual int __cdecl CInstancePart::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ExtendQualifierSetSpace@CInstancePart@@UEAAHPEAVCBasicQualifierSet@@K@Z
+; public: virtual int __cdecl CMethodQualifierSetContainer::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ExtendQualifierSetSpace@CMethodQualifierSetContainer@@UEAAHPEAVCBasicQualifierSet@@K@Z
+; public: int __cdecl CQualifierSetList::ExtendQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ExtendQualifierSetSpace@CQualifierSetList@@QEAAHPEAVCBasicQualifierSet@@K@Z
+; public: int __cdecl CDataTable::ExtendTo(unsigned short,unsigned long) __ptr64
+?ExtendTo@CDataTable@@QEAAHGK@Z
+; public: long __cdecl CWbemInstance::FastClone(class CWbemInstance * __ptr64) __ptr64
+?FastClone@CWbemInstance@@QEAAJPEAV1@@Z
+; public: void __cdecl CFixedBSTRArray::Filter(unsigned short const * __ptr64,int) __ptr64
+?Filter@CFixedBSTRArray@@QEAAXPEBGH@Z
+; public: int __cdecl CCompressedStringList::Find(unsigned short const * __ptr64) __ptr64
+?Find@CCompressedStringList@@QEAAHPEBG@Z
+; public: class WString  __cdecl CWbemClass::FindLimitationError(long,class CWStringArray * __ptr64) __ptr64
+?FindLimitationError@CWbemClass@@QEAA?AVWString@@JPEAVCWStringArray@@@Z
+; protected: int __cdecl CMethodPart::FindMethod(unsigned short const * __ptr64) __ptr64
+?FindMethod@CMethodPart@@IEAAHPEBG@Z
+; public: virtual long __cdecl CWbemClass::FindMethod(unsigned short const * __ptr64) __ptr64
+?FindMethod@CWbemClass@@UEAAJPEBG@Z
+; public: virtual long __cdecl CWbemObject::FindMethod(unsigned short const * __ptr64) __ptr64
+?FindMethod@CWbemObject@@UEAAJPEBG@Z
+; public: static int __cdecl CSystemProperties::FindName(unsigned short const * __ptr64)
+?FindName@CSystemProperties@@SAHPEBG@Z
+; protected: class CFastPropertyBagItem * __ptr64 __cdecl CFastPropertyBag::FindProperty(unsigned short const * __ptr64) __ptr64
+?FindProperty@CFastPropertyBag@@IEAAPEAVCFastPropertyBagItem@@PEBG@Z
+; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::FindProperty(unsigned short const * __ptr64) __ptr64
+?FindProperty@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@PEBG@Z
+; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::FindPropertyByName(class CCompressedString * __ptr64) __ptr64
+?FindPropertyByName@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@PEAVCCompressedString@@@Z
+; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::FindPropertyByOffset(unsigned long) __ptr64
+?FindPropertyByOffset@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@K@Z
+; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::FindPropertyByPtr(unsigned long) __ptr64
+?FindPropertyByPtr@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@K@Z
+; protected: int __cdecl CFastPropertyBag::FindPropertyIndex(unsigned short const * __ptr64) __ptr64
+?FindPropertyIndex@CFastPropertyBag@@IEAAHPEBG@Z
+; public: class CPropertyInformation * __ptr64 __cdecl CClassPart::FindPropertyInfo(unsigned short const * __ptr64) __ptr64
+?FindPropertyInfo@CClassPart@@QEAAPEAVCPropertyInformation@@PEBG@Z
+; public: long __cdecl CWbemClass::ForcePropValue(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
+?ForcePropValue@CWbemClass@@QEAAJPEBGPEAVCVar@@J@Z
+; public: long __cdecl CWbemClass::ForcePut(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long) __ptr64
+?ForcePut@CWbemClass@@QEAAJPEBGJPEAUtagVARIANT@@J@Z
+; public: void __cdecl CFastHeap::Free(unsigned long,unsigned long) __ptr64
+?Free@CFastHeap@@QEAAXKK@Z
+; public: void __cdecl CFixedBSTRArray::Free(void) __ptr64
+?Free@CFixedBSTRArray@@QEAAXXZ
+; public: void __cdecl CFastHeap::FreeString(unsigned long) __ptr64
+?FreeString@CFastHeap@@QEAAXK@Z
+; public: long __cdecl CFastPropertyBag::Get(int,unsigned short const * __ptr64 * __ptr64,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
+?Get@CFastPropertyBag@@QEAAJHPEAPEBGPEAJPEAK2PEAPEAX@Z
+; public: long __cdecl CFastPropertyBag::Get(unsigned short const * __ptr64,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
+?Get@CFastPropertyBag@@QEAAJPEBGPEAJPEAK2PEAPEAX@Z
+; public: virtual long __cdecl CQualifierSet::Get(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long * __ptr64) __ptr64
+?Get@CQualifierSet@@UEAAJPEBGJPEAUtagVARIANT@@PEAJ@Z
+; public: long __cdecl CWbemFetchRefrMgr::Get(struct _IWbemRefresherMgr * __ptr64 * __ptr64) __ptr64
+?Get@CWbemFetchRefrMgr@@QEAAJPEAPEAU_IWbemRefresherMgr@@@Z
+; public: virtual long __cdecl CWbemObject::Get(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?Get@CWbemObject@@UEAAJPEBGJPEAUtagVARIANT@@PEAJ2@Z
+; public: virtual long __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::Get(struct _IWbemRefresherMgr * __ptr64 * __ptr64) __ptr64
+?Get@XFetchRefrMgr@CWbemFetchRefrMgr@@UEAAJPEAPEAU_IWbemRefresherMgr@@@Z
+; public: unsigned char __cdecl CClassPart::GetAbstractFlavor(void) __ptr64
+?GetAbstractFlavor@CClassPart@@QEAAEXZ
+; public: unsigned char __cdecl CWbemClass::GetAbstractFlavor(void) __ptr64
+?GetAbstractFlavor@CWbemClass@@QEAAEXZ
+; public: void __cdecl CWbemInstance::GetActualTransferBlob(unsigned char * __ptr64) __ptr64
+?GetActualTransferBlob@CWbemInstance@@QEAAXPEAE@Z
+; public: long __cdecl CWbemInstance::GetActualTransferBlobSize(void) __ptr64
+?GetActualTransferBlobSize@CWbemInstance@@QEAAJXZ
+; public: unsigned long __cdecl CType::GetActualType(void) __ptr64
+?GetActualType@CType@@QEAAKXZ
+; public: static unsigned long __cdecl CType::GetActualType(unsigned long)
+?GetActualType@CType@@SAKK@Z
+; public: long __cdecl CInstancePart::GetActualValue(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
+?GetActualValue@CInstancePart@@QEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
+; public: unsigned long __cdecl CFastHeap::GetAllocatedDataLength(void) __ptr64
+?GetAllocatedDataLength@CFastHeap@@QEAAKXZ
+; public: class CFlexArray & __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetArray(void) __ptr64
+?GetArray@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAAEAVCFlexArray@@XZ
+; public: class CFlexArray & __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetArray(void) __ptr64
+?GetArray@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAAEAVCFlexArray@@XZ
+; public: class CUntypedArray * __ptr64 __cdecl CWbemObject::GetArrayByHandle(long) __ptr64
+?GetArrayByHandle@CWbemObject@@QEAAPEAVCUntypedArray@@J@Z
+; public: virtual long __cdecl CWbemObject::GetArrayPropAddrByHandle(long,long,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
+?GetArrayPropAddrByHandle@CWbemObject@@UEAAJJJPEAKPEAPEAX@Z
+; public: virtual long __cdecl CWbemObject::GetArrayPropElementByHandle(long,long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
+?GetArrayPropElementByHandle@CWbemObject@@UEAAJJJKPEAK0PEAPEAX@Z
+; public: virtual long __cdecl CWbemObject::GetArrayPropInfoByHandle(long,long,unsigned short * __ptr64 * __ptr64,long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetArrayPropInfoByHandle@CWbemObject@@UEAAJJJPEAPEAGPEAJPEAK@Z
+; public: virtual long __cdecl CWbemObject::GetArrayPropRangeByHandle(long,long,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
+?GetArrayPropRangeByHandle@CWbemObject@@UEAAJJJKKKPEAK0PEAX@Z
+; public: long __cdecl CWbemObject::GetArrayPropertyHandle(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetArrayPropertyHandle@CWbemObject@@QEAAJPEBGPEAJ1@Z
+; public: class CFastPropertyBagItem * __ptr64 * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetArrayPtr(void) __ptr64
+?GetArrayPtr@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAPEAPEAVCFastPropertyBagItem@@XZ
+; public: class CWmiTextSource * __ptr64 * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetArrayPtr(void) __ptr64
+?GetArrayPtr@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAPEAPEAVCWmiTextSource@@XZ
+; public: class CFastPropertyBagItem * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetAt(int) __ptr64
+?GetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAPEAVCFastPropertyBagItem@@H@Z
+; public: class CFastPropertyBagItem const * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetAt(int)const  __ptr64
+?GetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEBAPEBVCFastPropertyBagItem@@H@Z
+; public: class CWmiTextSource * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetAt(int) __ptr64
+?GetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAPEAVCWmiTextSource@@H@Z
+; public: class CWmiTextSource const * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetAt(int)const  __ptr64
+?GetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEBAPEBVCWmiTextSource@@H@Z
+; public: unsigned short * __ptr64 & __ptr64 __cdecl CFixedBSTRArray::GetAt(int) __ptr64
+?GetAt@CFixedBSTRArray@@QEAAAEAPEAGH@Z
+; public: struct CPropertyLookup * __ptr64 __cdecl CPropertyLookupTable::GetAt(int) __ptr64
+?GetAt@CPropertyLookupTable@@QEAAPEAUCPropertyLookup@@H@Z
+; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetAtFromLast(int) __ptr64
+?GetAtFromLast@CCompressedStringList@@QEAAPEAVCCompressedString@@H@Z
+; public: long __cdecl CWbemCallSecurity::GetAuthentication(unsigned long * __ptr64) __ptr64
+?GetAuthentication@CWbemCallSecurity@@QEAAJPEAK@Z
+; public: virtual long __cdecl CWbemThreadSecurityHandle::GetAuthentication(unsigned long * __ptr64) __ptr64
+?GetAuthentication@CWbemThreadSecurityHandle@@UEAAJPEAK@Z
+; public: unsigned long __cdecl CWbemThreadSecurityHandle::GetAuthenticationLevel(void) __ptr64
+?GetAuthenticationLevel@CWbemThreadSecurityHandle@@QEAAKXZ
+; public: virtual long __cdecl CWbemCallSecurity::GetAuthenticationLuid(void * __ptr64) __ptr64
+?GetAuthenticationLuid@CWbemCallSecurity@@UEAAJPEAX@Z
+; public: virtual long __cdecl CWbemThreadSecurityHandle::GetAuthenticationLuid(void * __ptr64) __ptr64
+?GetAuthenticationLuid@CWbemThreadSecurityHandle@@UEAAJPEAX@Z
+; public: unsigned long __cdecl CWbemThreadSecurityHandle::GetAuthenticationService(void) __ptr64
+?GetAuthenticationService@CWbemThreadSecurityHandle@@QEAAKXZ
+; public: unsigned long __cdecl CWbemThreadSecurityHandle::GetAuthorizationService(void) __ptr64
+?GetAuthorizationService@CWbemThreadSecurityHandle@@QEAAKXZ
+; public: unsigned long __cdecl CType::GetBasic(void) __ptr64
+?GetBasic@CType@@QEAAKXZ
+; public: static unsigned long __cdecl CType::GetBasic(unsigned long)
+?GetBasic@CType@@SAKK@Z
+; protected: virtual unsigned long __cdecl CWbemClass::GetBlockLength(void) __ptr64
+?GetBlockLength@CWbemClass@@MEAAKXZ
+; protected: virtual unsigned long __cdecl CWbemInstance::GetBlockLength(void) __ptr64
+?GetBlockLength@CWbemInstance@@MEAAKXZ
+; public: unsigned long __cdecl CClassPart::GetClassIndex(unsigned short const * __ptr64) __ptr64
+?GetClassIndex@CClassPart@@QEAAKPEBG@Z
+; public: unsigned long __cdecl CWbemObject::GetClassIndex(unsigned short const * __ptr64) __ptr64
+?GetClassIndex@CWbemObject@@QEAAKPEBG@Z
+; public: class CCompressedString * __ptr64 __cdecl CWbemObject::GetClassInternal(void) __ptr64
+?GetClassInternal@CWbemObject@@QEAAPEAVCCompressedString@@XZ
+; public: static long __cdecl CClassAndMethods::GetClassNameW(class WString & __ptr64,unsigned char * __ptr64)
+?GetClassNameW@CClassAndMethods@@SAJAEAVWString@@PEAE@Z
+; public: long __cdecl CClassPart::GetClassNameW(class CVar * __ptr64) __ptr64
+?GetClassNameW@CClassPart@@QEAAJPEAVCVar@@@Z
+; public: class CCompressedString * __ptr64 __cdecl CClassPart::GetClassNameW(void) __ptr64
+?GetClassNameW@CClassPart@@QEAAPEAVCCompressedString@@XZ
+; public: virtual long __cdecl CWbemClass::GetClassNameW(class CVar * __ptr64) __ptr64
+?GetClassNameW@CWbemClass@@UEAAJPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemInstance::GetClassNameW(class CVar * __ptr64) __ptr64
+?GetClassNameW@CWbemInstance@@UEAAJPEAVCVar@@@Z
+; private: long __cdecl CWbemObjectArrayPacket::GetClassObject(class CWbemObjectPacket & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?GetClassObject@CWbemObjectArrayPacket@@AEAAJAEAVCWbemObjectPacket@@PEAPEAUIWbemClassObject@@@Z
+; protected: virtual class CClassPart * __ptr64 __cdecl CWbemClass::GetClassPart(void) __ptr64
+?GetClassPart@CWbemClass@@MEAAPEAVCClassPart@@XZ
+; public: virtual long __cdecl CWbemClass::GetClassPart(void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?GetClassPart@CWbemClass@@UEAAJPEAXKPEAK@Z
+; protected: virtual class CClassPart * __ptr64 __cdecl CWbemInstance::GetClassPart(void) __ptr64
+?GetClassPart@CWbemInstance@@MEAAPEAVCClassPart@@XZ
+; public: virtual long __cdecl CWbemInstance::GetClassPart(void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?GetClassPart@CWbemInstance@@UEAAJPEAXKPEAK@Z
+; public: long __cdecl CClassPart::GetClassQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetClassQualifier@CClassPart@@QEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: long __cdecl CClassPart::GetClassQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetClassQualifier@CClassPart@@QEAAJPEBGPEAVCVar@@PEAJ2@Z
+; public: virtual long __cdecl CWbemClass::GetClassSubset(unsigned long,unsigned short const * __ptr64 * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?GetClassSubset@CWbemClass@@UEAAJKPEAPEBGPEAPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemInstance::GetClassSubset(unsigned long,unsigned short const * __ptr64 * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?GetClassSubset@CWbemInstance@@UEAAJKPEAPEBGPEAPEAU_IWmiObject@@@Z
+; private: long __cdecl CWbemObjectArrayPacket::GetClasslessInstanceObject(class CWbemObjectPacket & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,class CWbemClassCache & __ptr64) __ptr64
+?GetClasslessInstanceObject@CWbemObjectArrayPacket@@AEAAJAEAVCWbemObjectPacket@@PEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
+; public: virtual unsigned long __cdecl CClassAndMethods::GetCurrentOrigin(void) __ptr64
+?GetCurrentOrigin@CClassAndMethods@@UEAAKXZ
+; public: virtual unsigned long __cdecl CClassPart::GetCurrentOrigin(void) __ptr64
+?GetCurrentOrigin@CClassPart@@UEAAKXZ
+; public: unsigned long __cdecl CWbemClass::GetCurrentOrigin(void) __ptr64
+?GetCurrentOrigin@CWbemClass@@QEAAKXZ
+; public: unsigned long __cdecl CDataTable::GetDataLength(void) __ptr64
+?GetDataLength@CDataTable@@QEAAKXZ
+; public: virtual class CDataTable * __ptr64 __cdecl CClassPart::GetDataTable(void) __ptr64
+?GetDataTable@CClassPart@@UEAAPEAVCDataTable@@XZ
+; public: class CDataTable * __ptr64 __cdecl CInstancePart::GetDataTable(void) __ptr64
+?GetDataTable@CInstancePart@@QEAAPEAVCDataTable@@XZ
+; public: static unsigned char * __ptr64 __cdecl CInstancePart::GetDataTableData(unsigned char * __ptr64)
+?GetDataTableData@CInstancePart@@SAPEAEPEAE@Z
+; public: long __cdecl CClassPart::GetDefaultByHandle(long,long,long * __ptr64,unsigned char * __ptr64) __ptr64
+?GetDefaultByHandle@CClassPart@@QEAAJJJPEAJPEAE@Z
+; public: long __cdecl CClassPart::GetDefaultPtrByHandle(long,void * __ptr64 * __ptr64) __ptr64
+?GetDefaultPtrByHandle@CClassPart@@QEAAJJPEAPEAX@Z
+; public: long __cdecl CClassPart::GetDefaultValue(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
+?GetDefaultValue@CClassPart@@QEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
+; public: long __cdecl CClassPart::GetDefaultValue(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
+?GetDefaultValue@CClassPart@@QEAAJPEBGPEAVCVar@@@Z
+; public: long __cdecl CClassPart::GetDerivation(class CVar * __ptr64) __ptr64
+?GetDerivation@CClassPart@@QEAAJPEAVCVar@@@Z
+; public: long __cdecl CWbemObject::GetDerivation(class CVar * __ptr64) __ptr64
+?GetDerivation@CWbemObject@@QEAAJPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemObject::GetDerivation(long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64) __ptr64
+?GetDerivation@CWbemObject@@UEAAJJKPEAK0PEAG@Z
+; public: virtual long __cdecl CWbemObject::GetDescription(unsigned short * __ptr64 * __ptr64) __ptr64
+?GetDescription@CWbemObject@@UEAAJPEAPEAG@Z
+; public: long __cdecl CClassPart::GetDynasty(class CVar * __ptr64) __ptr64
+?GetDynasty@CClassPart@@QEAAJPEAVCVar@@@Z
+; public: class CCompressedString * __ptr64 __cdecl CClassPart::GetDynasty(void) __ptr64
+?GetDynasty@CClassPart@@QEAAPEAVCCompressedString@@XZ
+; public: virtual long __cdecl CWbemClass::GetDynasty(class CVar * __ptr64) __ptr64
+?GetDynasty@CWbemClass@@UEAAJPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemInstance::GetDynasty(class CVar * __ptr64) __ptr64
+?GetDynasty@CWbemInstance@@UEAAJPEAVCVar@@@Z
+; public: unsigned char * __ptr64 __cdecl CUntypedArray::GetElement(int,int) __ptr64
+?GetElement@CUntypedArray@@QEAAPEAEHH@Z
+; public: class CWbemObject * __ptr64 __cdecl CEmbeddedObject::GetEmbedded(void) __ptr64
+?GetEmbedded@CEmbeddedObject@@QEAAPEAVCWbemObject@@XZ
+; public: class CWbemObject * __ptr64 __cdecl CWbemObject::GetEmbeddedObj(long) __ptr64
+?GetEmbeddedObj@CWbemObject@@QEAAPEAV1@J@Z
+; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetFirst(void) __ptr64
+?GetFirst@CCompressedStringList@@QEAAPEAVCCompressedString@@XZ
+; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetFirstQualifier(void) __ptr64
+?GetFirstQualifier@CBasicQualifierSet@@QEAAPEAUCQualifier@@XZ
+; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetFirstQualifierFromData(unsigned char * __ptr64)
+?GetFirstQualifierFromData@CBasicQualifierSet@@SAPEAUCQualifier@@PEAE@Z
+; public: long __cdecl CLimitationMapping::GetFlags(void) __ptr64
+?GetFlags@CLimitationMapping@@QEAAJXZ
+; public: unsigned short * __ptr64 __cdecl CWbemObject::GetFullPath(void) __ptr64
+?GetFullPath@CWbemObject@@QEAAPEAGXZ
+; public: virtual long __cdecl CWbemObject::GetGUID(struct _GUID * __ptr64) __ptr64
+?GetGUID@CWbemObject@@UEAAJPEAU_GUID@@@Z
+; public: virtual long __cdecl CWbemClass::GetGenus(class CVar * __ptr64) __ptr64
+?GetGenus@CWbemClass@@UEAAJPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemInstance::GetGenus(class CVar * __ptr64) __ptr64
+?GetGenus@CWbemInstance@@UEAAJPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::GetGuid(long,struct _GUID * __ptr64) __ptr64
+?GetGuid@XWbemRemoteRefr@CWbemRemoteRefresher@@UEAAJJPEAU_GUID@@@Z
+; public: virtual long __cdecl CWbemThreadSecurityHandle::GetHandleType(unsigned long * __ptr64) __ptr64
+?GetHandleType@CWbemThreadSecurityHandle@@UEAAJPEAK@Z
+; public: static unsigned long __cdecl CCompressedStringList::GetHeaderLength(void)
+?GetHeaderLength@CCompressedStringList@@SAKXZ
+; protected: unsigned long __cdecl CFastHeap::GetHeaderLength(void) __ptr64
+?GetHeaderLength@CFastHeap@@IEAAKXZ
+; public: static int __cdecl CQualifierSetList::GetHeaderLength(void)
+?GetHeaderLength@CQualifierSetList@@SAHXZ
+; public: static unsigned long __cdecl CUntypedArray::GetHeaderLength(void)
+?GetHeaderLength@CUntypedArray@@SAKXZ
+; public: class CFastHeap * __ptr64 __cdecl CBasicQualifierSet::GetHeap(void) __ptr64
+?GetHeap@CBasicQualifierSet@@QEAAPEAVCFastHeap@@XZ
+; public: virtual class CFastHeap * __ptr64 __cdecl CClassPart::GetHeap(void) __ptr64
+?GetHeap@CClassPart@@UEAAPEAVCFastHeap@@XZ
+; public: virtual class CFastHeap * __ptr64 __cdecl CInstancePQSContainer::GetHeap(void) __ptr64
+?GetHeap@CInstancePQSContainer@@UEAAPEAVCFastHeap@@XZ
+; public: virtual class CFastHeap * __ptr64 __cdecl CInstancePart::GetHeap(void) __ptr64
+?GetHeap@CInstancePart@@UEAAPEAVCFastHeap@@XZ
+; public: class CFastHeap * __ptr64 __cdecl CMethodPart::GetHeap(void) __ptr64
+?GetHeap@CMethodPart@@QEAAPEAVCFastHeap@@XZ
+; public: virtual class CFastHeap * __ptr64 __cdecl CMethodQualifierSetContainer::GetHeap(void) __ptr64
+?GetHeap@CMethodQualifierSetContainer@@UEAAPEAVCFastHeap@@XZ
+; public: class CFastHeap * __ptr64 __cdecl CPropertyLookupTable::GetHeap(void) __ptr64
+?GetHeap@CPropertyLookupTable@@QEAAPEAVCFastHeap@@XZ
+; public: class CFastHeap * __ptr64 __cdecl CQualifierSetList::GetHeap(void) __ptr64
+?GetHeap@CQualifierSetList@@QEAAPEAVCFastHeap@@XZ
+; public: unsigned char * __ptr64 __cdecl CFastHeap::GetHeapData(void) __ptr64
+?GetHeapData@CFastHeap@@QEAAPEAEXZ
+; public: unsigned long __cdecl CClassPart::GetHeapPtrByHandle(long) __ptr64
+?GetHeapPtrByHandle@CClassPart@@QEAAKJ@Z
+; public: unsigned long __cdecl CWbemObject::GetHeapPtrByHandle(long) __ptr64
+?GetHeapPtrByHandle@CWbemObject@@QEAAKJ@Z
+; public: virtual long __cdecl CWbemObject::GetHelpContext(unsigned long * __ptr64) __ptr64
+?GetHelpContext@CWbemObject@@UEAAJPEAK@Z
+; public: virtual long __cdecl CWbemObject::GetHelpFile(unsigned short * __ptr64 * __ptr64) __ptr64
+?GetHelpFile@CWbemObject@@UEAAJPEAPEAG@Z
+; public: unsigned short * __ptr64 __cdecl CWbemThreadSecurityHandle::GetIdentity(void) __ptr64
+?GetIdentity@CWbemThreadSecurityHandle@@QEAAPEAGXZ
+; public: long __cdecl CWbemClass::GetIds(class CFlexArray & __ptr64,class CWbemClass * __ptr64) __ptr64
+?GetIds@CWbemClass@@QEAAJAEAVCFlexArray@@PEAV1@@Z
+; public: virtual long __cdecl CWbemCallSecurity::GetImpersonation(unsigned long * __ptr64) __ptr64
+?GetImpersonation@CWbemCallSecurity@@UEAAJPEAK@Z
+; public: virtual long __cdecl CWbemThreadSecurityHandle::GetImpersonation(unsigned long * __ptr64) __ptr64
+?GetImpersonation@CWbemThreadSecurityHandle@@UEAAJPEAK@Z
+; public: unsigned long __cdecl CWbemThreadSecurityHandle::GetImpersonationLevel(void) __ptr64
+?GetImpersonationLevel@CWbemThreadSecurityHandle@@QEAAKXZ
+; protected: unsigned long * __ptr64 __ptr64 __cdecl CFastHeap::GetInLineLength(void) __ptr64
+?GetInLineLength@CFastHeap@@IEAAPEFAKXZ
+; public: static int __cdecl CFastHeap::GetIndexFromFake(unsigned long)
+?GetIndexFromFake@CFastHeap@@SAHK@Z
+; public: static int __cdecl CKnownStringTable::GetIndexOfKey(void)
+?GetIndexOfKey@CKnownStringTable@@SAHXZ
+; public: static int __cdecl CClassAndMethods::GetIndexedProps(class CWStringArray & __ptr64,unsigned char * __ptr64)
+?GetIndexedProps@CClassAndMethods@@SAHAEAVCWStringArray@@PEAE@Z
+; public: int __cdecl CClassPart::GetIndexedProps(class CWStringArray & __ptr64) __ptr64
+?GetIndexedProps@CClassPart@@QEAAHAEAVCWStringArray@@@Z
+; public: virtual int __cdecl CWbemClass::GetIndexedProps(class CWStringArray & __ptr64) __ptr64
+?GetIndexedProps@CWbemClass@@UEAAHAEAVCWStringArray@@@Z
+; public: virtual int __cdecl CWbemInstance::GetIndexedProps(class CWStringArray & __ptr64) __ptr64
+?GetIndexedProps@CWbemInstance@@UEAAHAEAVCWStringArray@@@Z
+; private: long __cdecl CWbemObjectArrayPacket::GetInstanceObject(class CWbemObjectPacket & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,class CWbemClassCache & __ptr64) __ptr64
+?GetInstanceObject@CWbemObjectArrayPacket@@AEAAJAEAVCWbemObjectPacket@@PEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
+; public: virtual struct IUnknown * __ptr64 __cdecl CWbemInstance::GetInstanceObjectUnknown(void) __ptr64
+?GetInstanceObjectUnknown@CWbemInstance@@UEAAPEAUIUnknown@@XZ
+; protected: virtual void * __ptr64 __cdecl CWbemEnumMarshaling::GetInterface(struct _GUID const & __ptr64) __ptr64
+?GetInterface@CWbemEnumMarshaling@@MEAAPEAXAEBU_GUID@@@Z
+; protected: virtual void * __ptr64 __cdecl CWbemFetchRefrMgr::GetInterface(struct _GUID const & __ptr64) __ptr64
+?GetInterface@CWbemFetchRefrMgr@@MEAAPEAXAEBU_GUID@@@Z
+; protected: virtual void * __ptr64 __cdecl CWbemRefreshingSvc::GetInterface(struct _GUID const & __ptr64) __ptr64
+?GetInterface@CWbemRefreshingSvc@@MEAAPEAXAEBU_GUID@@@Z
+; protected: virtual void * __ptr64 __cdecl CWmiObjectFactory::GetInterface(struct _GUID const & __ptr64) __ptr64
+?GetInterface@CWmiObjectFactory@@MEAAPEAXAEBU_GUID@@@Z
+; public: class CVar * __ptr64 __cdecl CWbemInstance::GetKey(void) __ptr64
+?GetKey@CWbemInstance@@QEAAPEAVCVar@@XZ
+; public: long __cdecl CClassPart::GetKeyOrigin(class WString & __ptr64) __ptr64
+?GetKeyOrigin@CClassPart@@QEAAJAEAVWString@@@Z
+; public: virtual long __cdecl CWbemClass::GetKeyOrigin(class WString & __ptr64) __ptr64
+?GetKeyOrigin@CWbemClass@@UEAAJAEAVWString@@@Z
+; public: virtual long __cdecl CWbemInstance::GetKeyOrigin(class WString & __ptr64) __ptr64
+?GetKeyOrigin@CWbemInstance@@UEAAJAEAVWString@@@Z
+; public: virtual long __cdecl CWbemObject::GetKeyOrigin(long,unsigned long,unsigned long * __ptr64,unsigned short * __ptr64) __ptr64
+?GetKeyOrigin@CWbemObject@@UEAAJJKPEAKPEAG@Z
+; public: int __cdecl CClassPart::GetKeyProps(class CWStringArray & __ptr64) __ptr64
+?GetKeyProps@CClassPart@@QEAAHAEAVCWStringArray@@@Z
+; public: virtual int __cdecl CWbemClass::GetKeyProps(class CWStringArray & __ptr64) __ptr64
+?GetKeyProps@CWbemClass@@UEAAHAEAVCWStringArray@@@Z
+; public: virtual int __cdecl CWbemInstance::GetKeyProps(class CWStringArray & __ptr64) __ptr64
+?GetKeyProps@CWbemInstance@@UEAAHAEAVCWStringArray@@@Z
+; public: unsigned short * __ptr64 __cdecl CWbemInstance::GetKeyStr(void) __ptr64
+?GetKeyStr@CWbemInstance@@QEAAPEAGXZ
+; public: virtual long __cdecl CWbemObject::GetKeyString(long,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetKeyString@CWbemObject@@UEAAJJPEAPEAG@Z
+; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetKnownQualifierLocally(int) __ptr64
+?GetKnownQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@H@Z
+; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetKnownQualifierLocally(unsigned char * __ptr64,int)
+?GetKnownQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEH@Z
+; public: static class CCompressedString & __ptr64 __cdecl CKnownStringTable::GetKnownString(int)
+?GetKnownString@CKnownStringTable@@SAAEAVCCompressedString@@H@Z
+; public: static int __cdecl CKnownStringTable::GetKnownStringIndex(unsigned short const * __ptr64)
+?GetKnownStringIndex@CKnownStringTable@@SAHPEBG@Z
+; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetLast(void) __ptr64
+?GetLast@CCompressedStringList@@QEAAPEAVCCompressedString@@XZ
+; public: unsigned long __cdecl CBasicQualifierSet::GetLength(void) __ptr64
+?GetLength@CBasicQualifierSet@@QEAAKXZ
+; public: unsigned long __cdecl CClassAndMethods::GetLength(void) __ptr64
+?GetLength@CClassAndMethods@@QEAAKXZ
+; public: unsigned long __cdecl CClassPart::GetLength(void) __ptr64
+?GetLength@CClassPart@@QEAAKXZ
+; public: int __cdecl CCompressedString::GetLength(void)const  __ptr64
+?GetLength@CCompressedString@@QEBAHXZ
+; public: unsigned long __cdecl CCompressedStringList::GetLength(void) __ptr64
+?GetLength@CCompressedStringList@@QEAAKXZ
+; public: unsigned long __cdecl CDataTable::GetLength(void) __ptr64
+?GetLength@CDataTable@@QEAAKXZ
+; public: unsigned long __cdecl CDecorationPart::GetLength(void) __ptr64
+?GetLength@CDecorationPart@@QEAAKXZ
+; public: unsigned long __cdecl CEmbeddedObject::GetLength(void) __ptr64
+?GetLength@CEmbeddedObject@@QEAAKXZ
+; public: unsigned long __cdecl CFastHeap::GetLength(void) __ptr64
+?GetLength@CFastHeap@@QEAAKXZ
+; public: int __cdecl CFixedBSTRArray::GetLength(void) __ptr64
+?GetLength@CFixedBSTRArray@@QEAAHXZ
+; public: int __cdecl CInstancePart::GetLength(void) __ptr64
+?GetLength@CInstancePart@@QEAAHXZ
+; public: static int __cdecl CInstancePart::GetLength(unsigned char * __ptr64)
+?GetLength@CInstancePart@@SAHPEAE@Z
+; public: int __cdecl CInternalString::GetLength(void)const  __ptr64
+?GetLength@CInternalString@@QEBAHXZ
+; public: unsigned long __cdecl CMethodPart::GetLength(void) __ptr64
+?GetLength@CMethodPart@@QEAAKXZ
+; public: int __cdecl CPropertyLookupTable::GetLength(void) __ptr64
+?GetLength@CPropertyLookupTable@@QEAAHXZ
+; public: int __cdecl CQualifierSetList::GetLength(void) __ptr64
+?GetLength@CQualifierSetList@@QEAAHXZ
+; public: static int __cdecl CQualifierSetList::GetLength(unsigned char * __ptr64,int)
+?GetLength@CQualifierSetList@@SAHPEAEH@Z
+; public: unsigned long __cdecl CType::GetLength(void) __ptr64
+?GetLength@CType@@QEAAKXZ
+; public: static unsigned long __cdecl CType::GetLength(unsigned long)
+?GetLength@CType@@SAKK@Z
+; public: unsigned long __cdecl CWbemClass::GetLength(void) __ptr64
+?GetLength@CWbemClass@@QEAAKXZ
+; public: unsigned long __cdecl CWbemInstance::GetLength(void) __ptr64
+?GetLength@CWbemInstance@@QEAAKXZ
+; public: unsigned long __cdecl CUntypedArray::GetLengthByActualLength(int) __ptr64
+?GetLengthByActualLength@CUntypedArray@@QEAAKH@Z
+; public: unsigned long __cdecl CUntypedArray::GetLengthByType(class CType) __ptr64
+?GetLengthByType@CUntypedArray@@QEAAKVCType@@@Z
+; public: static unsigned long __cdecl CBasicQualifierSet::GetLengthFromData(unsigned char * __ptr64)
+?GetLengthFromData@CBasicQualifierSet@@SAKPEAE@Z
+; public: long __cdecl CWbemClass::GetLimitedVersion(class CLimitationMapping * __ptr64,class CWbemClass * __ptr64 * __ptr64) __ptr64
+?GetLimitedVersion@CWbemClass@@QEAAJPEAVCLimitationMapping@@PEAPEAV1@@Z
+; public: long __cdecl CWbemInstance::GetLimitedVersion(class CLimitationMapping * __ptr64,class CWbemInstance * __ptr64 * __ptr64) __ptr64
+?GetLimitedVersion@CWbemInstance@@QEAAJPEAVCLimitationMapping@@PEAPEAV1@@Z
+; public: long __cdecl CWbemGuidToClassMap::GetMap(class CGUID & __ptr64,class CWbemClassToIdMap * __ptr64 * __ptr64) __ptr64
+?GetMap@CWbemGuidToClassMap@@QEAAJAEAVCGUID@@PEAPEAVCWbemClassToIdMap@@@Z
+; public: unsigned short __cdecl CLimitationMapping::GetMapped(unsigned short) __ptr64
+?GetMapped@CLimitationMapping@@QEAAGG@Z
+; public: class CPropertyInformation * __ptr64 __cdecl CLimitationMapping::GetMapped(class CPropertyInformation * __ptr64) __ptr64
+?GetMapped@CLimitationMapping@@QEAAPEAVCPropertyInformation@@PEAV2@@Z
+; public: long __cdecl CWbemEnumMarshaling::GetMarshalPacket(struct _GUID const & __ptr64,unsigned long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64 * __ptr64) __ptr64
+?GetMarshalPacket@CWbemEnumMarshaling@@QEAAJAEBU_GUID@@KPEAPEAUIWbemClassObject@@PEAKPEAPEAE@Z
+; public: virtual long __cdecl CWbemEnumMarshaling::XEnumMarshaling::GetMarshalPacket(struct _GUID const & __ptr64,unsigned long,struct IWbemClassObject * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64 * __ptr64) __ptr64
+?GetMarshalPacket@XEnumMarshaling@CWbemEnumMarshaling@@UEAAJAEBU_GUID@@KPEAPEAUIWbemClassObject@@PEAKPEAPEAE@Z
+; public: virtual long __cdecl CWbemObject::GetMarshalSizeMax(struct _GUID const & __ptr64,void * __ptr64,unsigned long,void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?GetMarshalSizeMax@CWbemObject@@UEAAJAEBU_GUID@@PEAXK1KPEAK@Z
+; public: virtual long __cdecl CWbemInstance::GetMaxMarshalStreamSize(unsigned long * __ptr64) __ptr64
+?GetMaxMarshalStreamSize@CWbemInstance@@UEAAJPEAK@Z
+; public: virtual long __cdecl CWbemObject::GetMaxMarshalStreamSize(unsigned long * __ptr64) __ptr64
+?GetMaxMarshalStreamSize@CWbemObject@@UEAAJPEAK@Z
+; public: virtual unsigned char * __ptr64 __cdecl CClassPart::GetMemoryLimit(void) __ptr64
+?GetMemoryLimit@CClassPart@@UEAAPEAEXZ
+; public: virtual unsigned char * __ptr64 __cdecl CInstancePart::GetMemoryLimit(void) __ptr64
+?GetMemoryLimit@CInstancePart@@UEAAPEAEXZ
+; public: virtual unsigned char * __ptr64 __cdecl CMethodPart::GetMemoryLimit(void) __ptr64
+?GetMemoryLimit@CMethodPart@@UEAAPEAEXZ
+; public: long __cdecl CMethodPart::GetMethod(unsigned short const * __ptr64,long,class CWbemObject * __ptr64 * __ptr64,class CWbemObject * __ptr64 * __ptr64) __ptr64
+?GetMethod@CMethodPart@@QEAAJPEBGJPEAPEAVCWbemObject@@1@Z
+; public: virtual long __cdecl CWbemClass::GetMethod(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?GetMethod@CWbemClass@@UEAAJPEBGJPEAPEAUIWbemClassObject@@1@Z
+; public: virtual long __cdecl CWbemInstance::GetMethod(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?GetMethod@CWbemInstance@@UEAAJPEBGJPEAPEAUIWbemClassObject@@1@Z
+; public: long __cdecl CMethodPart::GetMethodAt(int,unsigned short * __ptr64 * __ptr64,class CWbemObject * __ptr64 * __ptr64,class CWbemObject * __ptr64 * __ptr64) __ptr64
+?GetMethodAt@CMethodPart@@QEAAJHPEAPEAGPEAPEAVCWbemObject@@1@Z
+; public: long __cdecl CMethodPart::GetMethodOrigin(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?GetMethodOrigin@CMethodPart@@QEAAJPEBGPEAK@Z
+; public: virtual long __cdecl CWbemClass::GetMethodOrigin(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetMethodOrigin@CWbemClass@@UEAAJPEBGPEAPEAG@Z
+; public: virtual long __cdecl CWbemInstance::GetMethodOrigin(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetMethodOrigin@CWbemInstance@@UEAAJPEBGPEAPEAG@Z
+; public: virtual long __cdecl CWbemObject::GetMethodQual(unsigned short const * __ptr64,unsigned short const * __ptr64,long,unsigned long,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
+?GetMethodQual@CWbemObject@@UEAAJPEBG0JKPEAJPEAK2PEAX@Z
+; public: virtual long __cdecl CWbemClass::GetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetMethodQualifier@CWbemClass@@UEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: virtual long __cdecl CWbemClass::GetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetMethodQualifier@CWbemClass@@UEAAJPEBG0PEAVCVar@@PEAJ2@Z
+; public: virtual long __cdecl CWbemInstance::GetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetMethodQualifier@CWbemInstance@@UEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: virtual long __cdecl CWbemInstance::GetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetMethodQualifier@CWbemInstance@@UEAAJPEBG0PEAVCVar@@PEAJ2@Z
+; public: long __cdecl CMethodPart::GetMethodQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
+?GetMethodQualifierSet@CMethodPart@@QEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
+; public: virtual long __cdecl CWbemClass::GetMethodQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
+?GetMethodQualifierSet@CWbemClass@@UEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
+; public: virtual long __cdecl CWbemInstance::GetMethodQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
+?GetMethodQualifierSet@CWbemInstance@@UEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
+; public: unsigned long __cdecl CWbemDataPacket::GetMinHeaderSize(void) __ptr64
+?GetMinHeaderSize@CWbemDataPacket@@QEAAKXZ
+; public: static unsigned long __cdecl CBasicQualifierSet::GetMinLength(void)
+?GetMinLength@CBasicQualifierSet@@SAKXZ
+; public: static unsigned long __cdecl CClassAndMethods::GetMinLength(void)
+?GetMinLength@CClassAndMethods@@SAKXZ
+; public: static int __cdecl CClassPart::GetMinLength(void)
+?GetMinLength@CClassPart@@SAHXZ
+; public: static unsigned long __cdecl CDataTable::GetMinLength(void)
+?GetMinLength@CDataTable@@SAKXZ
+; public: static unsigned long __cdecl CDecorationPart::GetMinLength(void)
+?GetMinLength@CDecorationPart@@SAKXZ
+; public: static unsigned long __cdecl CFastHeap::GetMinLength(void)
+?GetMinLength@CFastHeap@@SAKXZ
+; public: static unsigned long __cdecl CMethodPart::GetMinLength(void)
+?GetMinLength@CMethodPart@@SAKXZ
+; public: static unsigned long __cdecl CPropertyLookupTable::GetMinLength(void)
+?GetMinLength@CPropertyLookupTable@@SAKXZ
+; public: static unsigned long __cdecl CWbemClass::GetMinLength(void)
+?GetMinLength@CWbemClass@@SAKXZ
+; protected: class CCompressedString * __ptr64 __cdecl CMethodPart::GetName(int) __ptr64
+?GetName@CMethodPart@@IEAAPEAVCCompressedString@@H@Z
+; public: static unsigned short * __ptr64 __cdecl CSystemProperties::GetNameAsBSTR(int)
+?GetNameAsBSTR@CSystemProperties@@SAPEAGH@Z
+; public: virtual long __cdecl CQualifierSet::GetNames(long,struct tagSAFEARRAY * __ptr64 * __ptr64) __ptr64
+?GetNames@CQualifierSet@@UEAAJJPEAPEAUtagSAFEARRAY@@@Z
+; public: virtual long __cdecl CWbemObject::GetNames(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,struct tagSAFEARRAY * __ptr64 * __ptr64) __ptr64
+?GetNames@CWbemObject@@UEAAJPEBGJPEAUtagVARIANT@@PEAPEAUtagSAFEARRAY@@@Z
+; public: long __cdecl CWbemObject::GetNamespace(class CVar * __ptr64) __ptr64
+?GetNamespace@CWbemObject@@QEAAJPEAVCVar@@@Z
+; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetNext(class CCompressedString * __ptr64) __ptr64
+?GetNext@CCompressedStringList@@QEAAPEAVCCompressedString@@PEAV2@@Z
+; public: long __cdecl CWbemInstance::GetNonsystemPropertyValue(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
+?GetNonsystemPropertyValue@CWbemInstance@@QEAAJPEBGPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemObject::GetNormalizedPath(long,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetNormalizedPath@CWbemObject@@UEAAJJPEAPEAG@Z
+; public: unsigned long __cdecl CDataTable::GetNullnessLength(void) __ptr64
+?GetNullnessLength@CDataTable@@QEAAKXZ
+; public: static int __cdecl CSystemProperties::GetNumDecorationIndependentProperties(void)
+?GetNumDecorationIndependentProperties@CSystemProperties@@SAHXZ
+; public: int __cdecl CUntypedArray::GetNumElements(void) __ptr64
+?GetNumElements@CUntypedArray@@QEAAHXZ
+; public: int __cdecl CLimitationMapping::GetNumMappings(void) __ptr64
+?GetNumMappings@CLimitationMapping@@QEAAHXZ
+; protected: int __cdecl CMethodPart::GetNumMethods(void) __ptr64
+?GetNumMethods@CMethodPart@@IEAAHXZ
+; public: int __cdecl CWbemObject::GetNumParents(void) __ptr64
+?GetNumParents@CWbemObject@@QEAAHXZ
+; public: int __cdecl CPropertyLookupTable::GetNumProperties(void) __ptr64
+?GetNumProperties@CPropertyLookupTable@@QEAAHXZ
+; public: virtual int __cdecl CWbemClass::GetNumProperties(void) __ptr64
+?GetNumProperties@CWbemClass@@UEAAHXZ
+; public: virtual int __cdecl CWbemInstance::GetNumProperties(void) __ptr64
+?GetNumProperties@CWbemInstance@@UEAAHXZ
+; public: int __cdecl CQualifierSetList::GetNumSets(void) __ptr64
+?GetNumSets@CQualifierSetList@@QEAAHXZ
+; public: int __cdecl CCompressedStringList::GetNumStrings(void) __ptr64
+?GetNumStrings@CCompressedStringList@@QEAAHXZ
+; public: static int __cdecl CSystemProperties::GetNumSystemProperties(void)
+?GetNumSystemProperties@CSystemProperties@@SAHXZ
+; public: int __cdecl CBasicQualifierSet::GetNumUpperBound(void) __ptr64
+?GetNumUpperBound@CBasicQualifierSet@@QEAAHXZ
+; public: virtual long __cdecl CWbemObject::GetObjQual(unsigned short const * __ptr64,long,unsigned long,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
+?GetObjQual@CWbemObject@@UEAAJPEBGJKPEAJPEAK2PEAX@Z
+; public: virtual long __cdecl CWbemObject::GetObjectMemory(void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?GetObjectMemory@CWbemObject@@UEAAJPEAXKPEAK@Z
+; public: virtual long __cdecl CWbemClass::GetObjectParts(void * __ptr64,unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
+?GetObjectParts@CWbemClass@@UEAAJPEAXKKPEAK@Z
+; public: virtual long __cdecl CWbemInstance::GetObjectParts(void * __ptr64,unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
+?GetObjectParts@CWbemInstance@@UEAAJPEAXKKPEAK@Z
+; public: long __cdecl CInstancePart::GetObjectQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64) __ptr64
+?GetObjectQualifier@CInstancePart@@QEAAJPEBGPEAVCVar@@PEAJ@Z
+; public: virtual long __cdecl CWbemClass::GetObjectText(long,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetObjectText@CWbemClass@@UEAAJJPEAPEAG@Z
+; public: virtual long __cdecl CWbemInstance::GetObjectText(long,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetObjectText@CWbemInstance@@UEAAJJPEAPEAG@Z
+; public: long __cdecl CWbemClassCache::GetObjectW(struct _GUID & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?GetObjectW@CWbemClassCache@@QEAAJAEAU_GUID@@PEAPEAUIWbemClassObject@@@Z
+; public: class CUntypedValue * __ptr64 __cdecl CDataTable::GetOffset(unsigned long) __ptr64
+?GetOffset@CDataTable@@QEAAPEAVCUntypedValue@@K@Z
+; public: class CCompressedString * __ptr64 __cdecl CWbemObject::GetParentAtIndex(int) __ptr64
+?GetParentAtIndex@CWbemObject@@QEAAPEAVCCompressedString@@H@Z
+; public: virtual long __cdecl CWbemClass::GetParentClassFromBlob(long,unsigned long,void * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetParentClassFromBlob@CWbemClass@@UEAAJJKPEAXPEAPEAG@Z
+; public: virtual long __cdecl CWbemObject::GetParentClassFromBlob(long,unsigned long,void * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetParentClassFromBlob@CWbemObject@@UEAAJJKPEAXPEAPEAG@Z
+; public: long __cdecl CWbemObject::GetPath(class CVar * __ptr64) __ptr64
+?GetPath@CWbemObject@@QEAAJPEAVCVar@@@Z
+; public: static class CUntypedArray * __ptr64 __cdecl CUntypedArray::GetPointer(class CPtrSource * __ptr64)
+?GetPointer@CUntypedArray@@SAPEAV1@PEAVCPtrSource@@@Z
+; public: class CCompressedString * __ptr64 __cdecl CCompressedStringList::GetPrevious(class CCompressedString * __ptr64) __ptr64
+?GetPrevious@CCompressedStringList@@QEAAPEAVCCompressedString@@PEAV2@@Z
+; public: virtual long __cdecl CWbemObject::GetPropAddrByHandle(long,long,unsigned long * __ptr64,void * __ptr64 * __ptr64) __ptr64
+?GetPropAddrByHandle@CWbemObject@@UEAAJJJPEAKPEAPEAX@Z
+; public: virtual long __cdecl CWbemClass::GetPropName(int,class CVar * __ptr64) __ptr64
+?GetPropName@CWbemClass@@UEAAJHPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemInstance::GetPropName(int,class CVar * __ptr64) __ptr64
+?GetPropName@CWbemInstance@@UEAAJHPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemObject::GetPropQual(unsigned short const * __ptr64,unsigned short const * __ptr64,long,unsigned long,long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
+?GetPropQual@CWbemObject@@UEAAJPEBG0JKPEAJPEAK2PEAX@Z
+; public: long __cdecl CClassPart::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropQualifier@CClassPart@@QEAAJPEAVCPropertyInformation@@PEBGPEAVCVar@@PEAJ3@Z
+; public: long __cdecl CClassPart::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetPropQualifier@CClassPart@@QEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: virtual long __cdecl CWbemClass::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetPropQualifier@CWbemClass@@UEAAJPEAVCPropertyInformation@@PEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: virtual long __cdecl CWbemClass::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropQualifier@CWbemClass@@UEAAJPEAVCPropertyInformation@@PEBGPEAVCVar@@PEAJ3@Z
+; public: virtual long __cdecl CWbemClass::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetPropQualifier@CWbemClass@@UEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: virtual long __cdecl CWbemClass::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropQualifier@CWbemClass@@UEAAJPEBG0PEAVCVar@@PEAJ2@Z
+; public: virtual long __cdecl CWbemInstance::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetPropQualifier@CWbemInstance@@UEAAJPEAVCPropertyInformation@@PEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: virtual long __cdecl CWbemInstance::GetPropQualifier(class CPropertyInformation * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropQualifier@CWbemInstance@@UEAAJPEAVCPropertyInformation@@PEBGPEAVCVar@@PEAJ3@Z
+; public: virtual long __cdecl CWbemInstance::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetPropQualifier@CWbemInstance@@UEAAJPEBG0PEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: virtual long __cdecl CWbemInstance::GetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropQualifier@CWbemInstance@@UEAAJPEBG0PEAVCVar@@PEAJ2@Z
+; protected: virtual long __cdecl CWbemClass::GetProperty(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
+?GetProperty@CWbemClass@@MEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
+; public: virtual long __cdecl CWbemClass::GetProperty(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
+?GetProperty@CWbemClass@@UEAAJPEBGPEAVCVar@@@Z
+; protected: virtual long __cdecl CWbemInstance::GetProperty(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
+?GetProperty@CWbemInstance@@MEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
+; public: virtual long __cdecl CWbemInstance::GetProperty(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
+?GetProperty@CWbemInstance@@UEAAJPEBGPEAVCVar@@@Z
+; public: long __cdecl CClassPart::GetPropertyCount(class CVar * __ptr64) __ptr64
+?GetPropertyCount@CClassPart@@QEAAJPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemClass::GetPropertyCount(class CVar * __ptr64) __ptr64
+?GetPropertyCount@CWbemClass@@UEAAJPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemInstance::GetPropertyCount(class CVar * __ptr64) __ptr64
+?GetPropertyCount@CWbemInstance@@UEAAJPEAVCVar@@@Z
+; public: long __cdecl CClassPart::GetPropertyHandle(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyHandle@CClassPart@@QEAAJPEBGPEAJ1@Z
+; public: virtual long __cdecl CWbemObject::GetPropertyHandle(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyHandle@CWbemObject@@UEAAJPEBGPEAJ1@Z
+; public: long __cdecl CClassPart::GetPropertyHandleEx(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyHandleEx@CClassPart@@QEAAJPEBGPEAJ1@Z
+; public: virtual long __cdecl CWbemObject::GetPropertyHandleEx(unsigned short const * __ptr64,long,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyHandleEx@CWbemObject@@UEAAJPEBGJPEAJ1@Z
+; public: long __cdecl CWbemObject::GetPropertyIndex(unsigned short const * __ptr64,int * __ptr64) __ptr64
+?GetPropertyIndex@CWbemObject@@QEAAJPEBGPEAH@Z
+; public: long __cdecl CClassPart::GetPropertyInfoByHandle(long,unsigned short * __ptr64 * __ptr64,long * __ptr64) __ptr64
+?GetPropertyInfoByHandle@CClassPart@@QEAAJJPEAPEAGPEAJ@Z
+; public: virtual long __cdecl CWbemObject::GetPropertyInfoByHandle(long,unsigned short * __ptr64 * __ptr64,long * __ptr64) __ptr64
+?GetPropertyInfoByHandle@CWbemObject@@UEAAJJPEAPEAGPEAJ@Z
+; public: struct CPropertyLookup * __ptr64 __cdecl CClassPart::GetPropertyLookup(int) __ptr64
+?GetPropertyLookup@CClassPart@@QEAAPEAUCPropertyLookup@@H@Z
+; public: long __cdecl CWbemObject::GetPropertyNameFromIndex(int,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetPropertyNameFromIndex@CWbemObject@@QEAAJHPEAPEAG@Z
+; public: long __cdecl CClassPart::GetPropertyOrigin(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetPropertyOrigin@CClassPart@@QEAAJPEBGPEAPEAG@Z
+; public: virtual long __cdecl CWbemObject::GetPropertyOrigin(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetPropertyOrigin@CWbemObject@@UEAAJPEBGPEAPEAG@Z
+; public: virtual long __cdecl CWbemClass::GetPropertyQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
+?GetPropertyQualifierSet@CWbemClass@@UEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
+; public: virtual long __cdecl CWbemInstance::GetPropertyQualifierSet(unsigned short const * __ptr64,struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
+?GetPropertyQualifierSet@CWbemInstance@@UEAAJPEBGPEAPEAUIWbemQualifierSet@@@Z
+; public: unsigned char * __ptr64 __cdecl CClassPart::GetPropertyQualifierSetData(unsigned short const * __ptr64) __ptr64
+?GetPropertyQualifierSetData@CClassPart@@QEAAPEAEPEBG@Z
+; public: class CCompressedString * __ptr64 __cdecl CWbemObject::GetPropertyString(long) __ptr64
+?GetPropertyString@CWbemObject@@QEAAPEAVCCompressedString@@J@Z
+; public: long __cdecl CClassPart::GetPropertyType(class CPropertyInformation * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyType@CClassPart@@QEAAJPEAVCPropertyInformation@@PEAJ1@Z
+; public: long __cdecl CClassPart::GetPropertyType(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyType@CClassPart@@QEAAJPEBGPEAJ1@Z
+; public: static long __cdecl CSystemProperties::GetPropertyType(unsigned short const * __ptr64,long * __ptr64,long * __ptr64)
+?GetPropertyType@CSystemProperties@@SAJPEBGPEAJ1@Z
+; public: virtual long __cdecl CWbemClass::GetPropertyType(class CPropertyInformation * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyType@CWbemClass@@UEAAJPEAVCPropertyInformation@@PEAJ1@Z
+; public: virtual long __cdecl CWbemClass::GetPropertyType(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyType@CWbemClass@@UEAAJPEBGPEAJ1@Z
+; public: virtual long __cdecl CWbemInstance::GetPropertyType(class CPropertyInformation * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyType@CWbemInstance@@UEAAJPEAVCPropertyInformation@@PEAJ1@Z
+; public: virtual long __cdecl CWbemInstance::GetPropertyType(unsigned short const * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetPropertyType@CWbemInstance@@UEAAJPEBGPEAJ1@Z
+; public: virtual long __cdecl CWbemObject::GetPropertyValue(struct _tag_WbemPropertyName * __ptr64,long,unsigned short * __ptr64 * __ptr64,struct tagVARIANT * __ptr64) __ptr64
+?GetPropertyValue@CWbemObject@@UEAAJPEAU_tag_WbemPropertyName@@JPEAPEAGPEAUtagVARIANT@@@Z
+; public: long __cdecl CClassPart::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetQualifier@CClassPart@@QEAAJPEBGPEAVCVar@@PEAJ2@Z
+; public: long __cdecl CInstancePart::GetQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetQualifier@CInstancePart@@QEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: long __cdecl CInstancePart::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetQualifier@CInstancePart@@QEAAJPEBGPEAVCVar@@PEAJ2@Z
+; public: long __cdecl CQualifierSet::GetQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetQualifier@CQualifierSet@@QEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: long __cdecl CQualifierSet::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetQualifier@CQualifierSet@@QEAAJPEBGPEAVCVar@@PEAJ2@Z
+; public: struct CQualifier * __ptr64 __cdecl CQualifierSet::GetQualifier(unsigned short const * __ptr64) __ptr64
+?GetQualifier@CQualifierSet@@QEAAPEAUCQualifier@@PEBG@Z
+; public: struct CQualifier * __ptr64 __cdecl CQualifierSet::GetQualifier(unsigned short const * __ptr64,int & __ptr64) __ptr64
+?GetQualifier@CQualifierSet@@QEAAPEAUCQualifier@@PEBGAEAH@Z
+; public: virtual long __cdecl CWbemClass::GetQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetQualifier@CWbemClass@@UEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: virtual long __cdecl CWbemClass::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetQualifier@CWbemClass@@UEAAJPEBGPEAVCVar@@PEAJ2@Z
+; public: virtual long __cdecl CWbemInstance::GetQualifier(unsigned short const * __ptr64,long * __ptr64,class CTypedValue * __ptr64,class CFastHeap * __ptr64 * __ptr64,int) __ptr64
+?GetQualifier@CWbemInstance@@UEAAJPEBGPEAJPEAVCTypedValue@@PEAPEAVCFastHeap@@H@Z
+; public: virtual long __cdecl CWbemInstance::GetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?GetQualifier@CWbemInstance@@UEAAJPEBGPEAVCVar@@PEAJ2@Z
+; public: long __cdecl CWbemObject::GetQualifierArrayInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetQualifierArrayInfo@CWbemObject@@QEAAJPEBG0HJPEAJPEAK@Z
+; public: long __cdecl CWbemObject::GetQualifierArrayRange(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
+?GetQualifierArrayRange@CWbemObject@@QEAAJPEBG0HJKKKPEAK1PEAX@Z
+; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(class CCompressedString * __ptr64) __ptr64
+?GetQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@PEAVCCompressedString@@@Z
+; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned short const * __ptr64) __ptr64
+?GetQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@PEBG@Z
+; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned short const * __ptr64,int & __ptr64) __ptr64
+?GetQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@PEBGAEAH@Z
+; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned char * __ptr64,class CFastHeap * __ptr64,class CCompressedString * __ptr64)
+?GetQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEPEAVCFastHeap@@PEAVCCompressedString@@@Z
+; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned short const * __ptr64)
+?GetQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEPEAVCFastHeap@@PEBG@Z
+; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetQualifierLocally(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned short const * __ptr64,int & __ptr64)
+?GetQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEPEAVCFastHeap@@PEBGAEAH@Z
+; public: virtual long __cdecl CWbemClass::GetQualifierSet(struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
+?GetQualifierSet@CWbemClass@@UEAAJPEAPEAUIWbemQualifierSet@@@Z
+; public: virtual long __cdecl CWbemInstance::GetQualifierSet(struct IWbemQualifierSet * __ptr64 * __ptr64) __ptr64
+?GetQualifierSet@CWbemInstance@@UEAAJPEAPEAUIWbemQualifierSet@@@Z
+; public: unsigned char * __ptr64 __cdecl CQualifierSetList::GetQualifierSetData(int) __ptr64
+?GetQualifierSetData@CQualifierSetList@@QEAAPEAEH@Z
+; public: static unsigned char * __ptr64 __cdecl CQualifierSetList::GetQualifierSetData(unsigned char * __ptr64,int)
+?GetQualifierSetData@CQualifierSetList@@SAPEAEPEAEH@Z
+; public: virtual unsigned char * __ptr64 __cdecl CInstancePart::GetQualifierSetListStart(void) __ptr64
+?GetQualifierSetListStart@CInstancePart@@UEAAPEAEXZ
+; public: virtual unsigned char * __ptr64 __cdecl CClassPart::GetQualifierSetStart(void) __ptr64
+?GetQualifierSetStart@CClassPart@@UEAAPEAEXZ
+; public: virtual unsigned char * __ptr64 __cdecl CInstancePQSContainer::GetQualifierSetStart(void) __ptr64
+?GetQualifierSetStart@CInstancePQSContainer@@UEAAPEAEXZ
+; public: virtual unsigned char * __ptr64 __cdecl CInstancePart::GetQualifierSetStart(void) __ptr64
+?GetQualifierSetStart@CInstancePart@@UEAAPEAEXZ
+; public: virtual unsigned char * __ptr64 __cdecl CMethodQualifierSetContainer::GetQualifierSetStart(void) __ptr64
+?GetQualifierSetStart@CMethodQualifierSetContainer@@UEAAPEAEXZ
+; public: static long __cdecl CUntypedArray::GetRange(class CPtrSource * __ptr64,unsigned long,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,void * __ptr64)
+?GetRange@CUntypedArray@@SAJPEAVCPtrSource@@KKPEAVCFastHeap@@KKKPEAKPEAX@Z
+; public: unsigned char * __ptr64 __cdecl CCompressedString::GetRawData(void)const  __ptr64
+?GetRawData@CCompressedString@@QEBAPEAEXZ
+; public: unsigned long __cdecl CFastHeap::GetRealLength(void) __ptr64
+?GetRealLength@CFastHeap@@QEAAKXZ
+; protected: long __cdecl CWbemRefreshingSvc::GetRefrMgr(struct _IWbemRefresherMgr * __ptr64 * __ptr64) __ptr64
+?GetRefrMgr@CWbemRefreshingSvc@@IEAAJPEAPEAU_IWbemRefresherMgr@@@Z
+; public: struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetRegularQualifierLocally(unsigned short const * __ptr64) __ptr64
+?GetRegularQualifierLocally@CBasicQualifierSet@@QEAAPEAUCQualifier@@PEBG@Z
+; public: static struct CQualifier * __ptr64 __cdecl CBasicQualifierSet::GetRegularQualifierLocally(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned short const * __ptr64)
+?GetRegularQualifierLocally@CBasicQualifierSet@@SAPEAUCQualifier@@PEAEPEAVCFastHeap@@PEBG@Z
+; public: virtual unsigned short * __ptr64 __cdecl CWbemClass::GetRelPath(int) __ptr64
+?GetRelPath@CWbemClass@@UEAAPEAGH@Z
+; public: virtual unsigned short * __ptr64 __cdecl CWbemInstance::GetRelPath(int) __ptr64
+?GetRelPath@CWbemInstance@@UEAAPEAGH@Z
+; public: long __cdecl CWbemObject::GetRelPath(class CVar * __ptr64) __ptr64
+?GetRelPath@CWbemObject@@QEAAJPEAVCVar@@@Z
+; protected: virtual long __cdecl CWbemRefreshingSvc::GetRemoteRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,unsigned long,struct IWbemRemoteRefresher * __ptr64 * __ptr64,struct _GUID * __ptr64,unsigned long * __ptr64) __ptr64
+?GetRemoteRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@JKPEAPEAUIWbemRemoteRefresher@@PEAU_GUID@@PEAK@Z
+; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::GetRemoteRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,unsigned long,struct IWbemRemoteRefresher * __ptr64 * __ptr64,struct _GUID * __ptr64,unsigned long * __ptr64) __ptr64
+?GetRemoteRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@JKPEAPEAUIWbemRemoteRefresher@@PEAU_GUID@@PEAK@Z
+; public: class CBasicQualifierSet * __ptr64 __cdecl CMethodQualifierSetContainer::GetSecondarySet(void) __ptr64
+?GetSecondarySet@CMethodQualifierSetContainer@@QEAAPEAVCBasicQualifierSet@@XZ
+; protected: static unsigned long __cdecl CCompressedStringList::GetSeparatorLength(void)
+?GetSeparatorLength@CCompressedStringList@@KAKXZ
+; public: long __cdecl CWbemObject::GetServer(class CVar * __ptr64) __ptr64
+?GetServer@CWbemObject@@QEAAJPEAVCVar@@@Z
+; public: long __cdecl CWbemObject::GetServerAndNamespace(class CVar * __ptr64) __ptr64
+?GetServerAndNamespace@CWbemObject@@QEAAJPEAVCVar@@@Z
+; public: unsigned short * __ptr64 __cdecl CWbemThreadSecurityHandle::GetServerPrincipalName(void) __ptr64
+?GetServerPrincipalName@CWbemThreadSecurityHandle@@QEAAPEAGXZ
+; public: unsigned long __cdecl CMethodDescription::GetSig(int) __ptr64
+?GetSig@CMethodDescription@@QEAAKH@Z
+; protected: void __cdecl CMethodPart::GetSignature(int,int,class CWbemObject * __ptr64 * __ptr64) __ptr64
+?GetSignature@CMethodPart@@IEAAXHHPEAPEAVCWbemObject@@@Z
+; public: int __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetSize(void)const  __ptr64
+?GetSize@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEBAHXZ
+; public: int __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetSize(void)const  __ptr64
+?GetSize@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEBAHXZ
+; public: virtual long __cdecl CWbemObject::GetSource(unsigned short * __ptr64 * __ptr64) __ptr64
+?GetSource@CWbemObject@@UEAAJPEAPEAG@Z
+; public: unsigned char * __ptr64 __cdecl CBasicQualifierSet::GetStart(void) __ptr64
+?GetStart@CBasicQualifierSet@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CClassAndMethods::GetStart(void) __ptr64
+?GetStart@CClassAndMethods@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CClassPart::GetStart(void) __ptr64
+?GetStart@CClassPart@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CCompressedString::GetStart(void) __ptr64
+?GetStart@CCompressedString@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CCompressedStringList::GetStart(void) __ptr64
+?GetStart@CCompressedStringList@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CDataTable::GetStart(void) __ptr64
+?GetStart@CDataTable@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CDecorationPart::GetStart(void) __ptr64
+?GetStart@CDecorationPart@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CEmbeddedObject::GetStart(void) __ptr64
+?GetStart@CEmbeddedObject@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CFastHeap::GetStart(void) __ptr64
+?GetStart@CFastHeap@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CInstancePart::GetStart(void) __ptr64
+?GetStart@CInstancePart@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CMethodPart::GetStart(void) __ptr64
+?GetStart@CMethodPart@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::GetStart(void) __ptr64
+?GetStart@CPropertyLookupTable@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CQualifierSetList::GetStart(void) __ptr64
+?GetStart@CQualifierSetList@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CWbemInstance::GetStart(void) __ptr64
+?GetStart@CWbemInstance@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CWbemObject::GetStart(void) __ptr64
+?GetStart@CWbemObject@@QEAAPEAEXZ
+; public: int __cdecl CCompressedString::GetStringLength(void)const  __ptr64
+?GetStringLength@CCompressedString@@QEBAHXZ
+; public: static long __cdecl CClassAndMethods::GetSuperclassName(class WString & __ptr64,unsigned char * __ptr64)
+?GetSuperclassName@CClassAndMethods@@SAJAEAVWString@@PEAE@Z
+; public: long __cdecl CClassPart::GetSuperclassName(class CVar * __ptr64) __ptr64
+?GetSuperclassName@CClassPart@@QEAAJPEAVCVar@@@Z
+; public: class CCompressedString * __ptr64 __cdecl CClassPart::GetSuperclassName(void) __ptr64
+?GetSuperclassName@CClassPart@@QEAAPEAVCCompressedString@@XZ
+; public: virtual long __cdecl CWbemClass::GetSuperclassName(class CVar * __ptr64) __ptr64
+?GetSuperclassName@CWbemClass@@UEAAJPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemInstance::GetSuperclassName(class CVar * __ptr64) __ptr64
+?GetSuperclassName@CWbemInstance@@UEAAJPEAVCVar@@@Z
+; public: unsigned short * __ptr64 __cdecl CType::GetSyntax(void) __ptr64
+?GetSyntax@CType@@QEAAPEAGXZ
+; public: static unsigned short * __ptr64 __cdecl CType::GetSyntax(unsigned long)
+?GetSyntax@CType@@SAPEAGK@Z
+; public: long __cdecl CWbemObject::GetSystemProperty(int,class CVar * __ptr64) __ptr64
+?GetSystemProperty@CWbemObject@@QEAAJHPEAVCVar@@@Z
+; public: long __cdecl CWbemObject::GetSystemPropertyByName(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
+?GetSystemPropertyByName@CWbemObject@@QEAAJPEBGPEAVCVar@@@Z
+; public: long __cdecl CBasicQualifierSet::GetText(long,class WString & __ptr64) __ptr64
+?GetText@CBasicQualifierSet@@QEAAJJAEAVWString@@@Z
+; public: static long __cdecl CBasicQualifierSet::GetText(unsigned char * __ptr64,class CFastHeap * __ptr64,long,class WString & __ptr64)
+?GetText@CBasicQualifierSet@@SAJPEAEPEAVCFastHeap@@JAEAVWString@@@Z
+; public: char const * __ptr64 __cdecl CInternalString::GetText(void)const  __ptr64
+?GetText@CInternalString@@QEBAPEBDXZ
+; public: virtual long __cdecl CWmiObjectTextSrc::XObjectTextSrc::GetText(long,struct IWbemClassObject * __ptr64,unsigned long,struct IWbemContext * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetText@XObjectTextSrc@CWmiObjectTextSrc@@UEAAJJPEAUIWbemClassObject@@KPEAUIWbemContext@@PEAPEAG@Z
+; public: virtual long __cdecl CWbemCallSecurity::GetThreadSecurity(enum tag_WMI_THREAD_SECURITY_ORIGIN,struct _IWmiThreadSecHandle * __ptr64 * __ptr64) __ptr64
+?GetThreadSecurity@CWbemCallSecurity@@UEAAJW4tag_WMI_THREAD_SECURITY_ORIGIN@@PEAPEAU_IWmiThreadSecHandle@@@Z
+; public: class CWbemThreadSecurityHandle * __ptr64 __cdecl CWbemCallSecurity::GetThreadSecurityHandle(void) __ptr64
+?GetThreadSecurityHandle@CWbemCallSecurity@@QEAAPEAVCWbemThreadSecurityHandle@@XZ
+; public: void * __ptr64 __cdecl CWbemThreadSecurityHandle::GetThreadToken(void) __ptr64
+?GetThreadToken@CWbemThreadSecurityHandle@@QEAAPEAXXZ
+; public: virtual long __cdecl CWbemThreadSecurityHandle::GetToken(void * __ptr64 * __ptr64) __ptr64
+?GetToken@CWbemThreadSecurityHandle@@UEAAJPEAPEAX@Z
+; public: virtual long __cdecl CWbemThreadSecurityHandle::GetTokenOrigin(enum tag_WMI_THREAD_SECURITY_ORIGIN * __ptr64) __ptr64
+?GetTokenOrigin@CWbemThreadSecurityHandle@@UEAAJPEAW4tag_WMI_THREAD_SECURITY_ORIGIN@@@Z
+; public: unsigned long __cdecl CClassPart::GetTotalRealLength(void) __ptr64
+?GetTotalRealLength@CClassPart@@QEAAKXZ
+; public: unsigned long __cdecl CInstancePart::GetTotalRealLength(void) __ptr64
+?GetTotalRealLength@CInstancePart@@QEAAKXZ
+; public: long __cdecl CWbemInstance::GetTransferArrayBlob(long,unsigned char * __ptr64 * __ptr64,long * __ptr64) __ptr64
+?GetTransferArrayBlob@CWbemInstance@@QEAAJJPEAPEAEPEAJ@Z
+; public: long __cdecl CWbemInstance::GetTransferArrayBlobSize(void) __ptr64
+?GetTransferArrayBlobSize@CWbemInstance@@QEAAJXZ
+; public: static long __cdecl CWbemInstance::GetTransferArrayHeaderSize(void)
+?GetTransferArrayHeaderSize@CWbemInstance@@SAJXZ
+; public: long __cdecl CWbemInstance::GetTransferBlob(long * __ptr64,long * __ptr64,unsigned char * __ptr64 * __ptr64) __ptr64
+?GetTransferBlob@CWbemInstance@@QEAAJPEAJ0PEAPEAE@Z
+; public: long __cdecl CWbemInstance::GetTransferBlobSize(void) __ptr64
+?GetTransferBlobSize@CWbemInstance@@QEAAJXZ
+; public: virtual long __cdecl CWbemObject::GetUnmarshalClass(struct _GUID const & __ptr64,void * __ptr64,unsigned long,void * __ptr64,unsigned long,struct _GUID * __ptr64) __ptr64
+?GetUnmarshalClass@CWbemObject@@UEAAJAEBU_GUID@@PEAXK1KPEAU2@@Z
+; public: unsigned long __cdecl CFastHeap::GetUsedLength(void) __ptr64
+?GetUsedLength@CFastHeap@@QEAAKXZ
+; public: virtual long __cdecl CWbemCallSecurity::GetUser(unsigned long * __ptr64,unsigned short * __ptr64) __ptr64
+?GetUser@CWbemCallSecurity@@UEAAJPEAKPEAG@Z
+; public: virtual long __cdecl CWbemThreadSecurityHandle::GetUser(unsigned long * __ptr64,unsigned short * __ptr64) __ptr64
+?GetUser@CWbemThreadSecurityHandle@@UEAAJPEAKPEAG@Z
+; public: virtual long __cdecl CWbemCallSecurity::GetUserSid(unsigned long * __ptr64,void * __ptr64) __ptr64
+?GetUserSid@CWbemCallSecurity@@UEAAJPEAKPEAX@Z
+; public: virtual long __cdecl CWbemThreadSecurityHandle::GetUserSid(unsigned long * __ptr64,void * __ptr64) __ptr64
+?GetUserSid@CWbemThreadSecurityHandle@@UEAAJPEAKPEAX@Z
+; public: unsigned short __cdecl CType::GetVARTYPE(void) __ptr64
+?GetVARTYPE@CType@@QEAAGXZ
+; public: static unsigned short __cdecl CType::GetVARTYPE(unsigned long)
+?GetVARTYPE@CType@@SAGK@Z
+; public: static unsigned short * __ptr64 __cdecl CWbemObject::GetValueText(long,class CVar & __ptr64,unsigned long)
+?GetValueText@CWbemObject@@SAPEAGJAEAVCVar@@K@Z
+; public: unsigned long __cdecl CLimitationMapping::GetVtableLength(void) __ptr64
+?GetVtableLength@CLimitationMapping@@QEAAKXZ
+; public: virtual struct IUnknown * __ptr64 __cdecl CClassAndMethods::GetWbemObjectUnknown(void) __ptr64
+?GetWbemObjectUnknown@CClassAndMethods@@UEAAPEAUIUnknown@@XZ
+; public: virtual struct IUnknown * __ptr64 __cdecl CClassPart::GetWbemObjectUnknown(void) __ptr64
+?GetWbemObjectUnknown@CClassPart@@UEAAPEAUIUnknown@@XZ
+; public: virtual struct IUnknown * __ptr64 __cdecl CInstancePQSContainer::GetWbemObjectUnknown(void) __ptr64
+?GetWbemObjectUnknown@CInstancePQSContainer@@UEAAPEAUIUnknown@@XZ
+; public: virtual struct IUnknown * __ptr64 __cdecl CInstancePart::GetWbemObjectUnknown(void) __ptr64
+?GetWbemObjectUnknown@CInstancePart@@UEAAPEAUIUnknown@@XZ
+; public: struct IUnknown * __ptr64 __cdecl CMethodPart::GetWbemObjectUnknown(void) __ptr64
+?GetWbemObjectUnknown@CMethodPart@@QEAAPEAUIUnknown@@XZ
+; public: virtual struct IUnknown * __ptr64 __cdecl CMethodQualifierSetContainer::GetWbemObjectUnknown(void) __ptr64
+?GetWbemObjectUnknown@CMethodQualifierSetContainer@@UEAAPEAUIUnknown@@XZ
+; public: struct IUnknown * __ptr64 __cdecl CQualifierSetList::GetWbemObjectUnknown(void) __ptr64
+?GetWbemObjectUnknown@CQualifierSetList@@QEAAPEAUIUnknown@@XZ
+; public: struct IUnknown * __ptr64 __cdecl CWbemClass::GetWbemObjectUnknown(void) __ptr64
+?GetWbemObjectUnknown@CWbemClass@@QEAAPEAUIUnknown@@XZ
+; public: virtual struct IUnknown * __ptr64 __cdecl CWbemInstance::GetWbemObjectUnknown(void) __ptr64
+?GetWbemObjectUnknown@CWbemInstance@@UEAAPEAUIUnknown@@XZ
+; public: static int __cdecl CBasicQualifierSet::HasLocalQualifiers(unsigned char * __ptr64)
+?HasLocalQualifiers@CBasicQualifierSet@@SAHPEAE@Z
+; public: int __cdecl CWbemObject::HasRefs(void) __ptr64
+?HasRefs@CWbemObject@@QEAAHXZ
+; public: virtual long __cdecl CWbemCallSecurity::ImpersonateClient(void) __ptr64
+?ImpersonateClient@CWbemCallSecurity@@UEAAJXZ
+; public: void __cdecl CBasicQualifierSet::IncrementLength(unsigned long) __ptr64
+?IncrementLength@CBasicQualifierSet@@QEAAXK@Z
+; public: int __cdecl CClassPart::InheritsFrom(unsigned short const * __ptr64) __ptr64
+?InheritsFrom@CClassPart@@QEAAHPEBG@Z
+; public: virtual long __cdecl CWbemObject::InheritsFrom(unsigned short const * __ptr64) __ptr64
+?InheritsFrom@CWbemObject@@UEAAJPEBG@Z
+; public: long __cdecl CWbemFetchRefrMgr::Init(struct _IWmiProvSS * __ptr64,struct IWbemServices * __ptr64) __ptr64
+?Init@CWbemFetchRefrMgr@@QEAAJPEAU_IWmiProvSS@@PEAUIWbemServices@@@Z
+; public: virtual long __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::Init(struct _IWmiProvSS * __ptr64,struct IWbemServices * __ptr64) __ptr64
+?Init@XFetchRefrMgr@CWbemFetchRefrMgr@@UEAAJPEAU_IWmiProvSS@@PEAUIWbemServices@@@Z
+; public: long __cdecl CWbemClass::InitEmpty(int,int) __ptr64
+?InitEmpty@CWbemClass@@QEAAJHH@Z
+; public: long __cdecl CWbemInstance::InitEmptyInstance(class CClassPart & __ptr64,unsigned char * __ptr64,int,class CDecorationPart * __ptr64) __ptr64
+?InitEmptyInstance@CWbemInstance@@QEAAJAEAVCClassPart@@PEAEHPEAVCDecorationPart@@@Z
+; public: long __cdecl CWbemInstance::InitNew(class CWbemClass * __ptr64,int,class CDecorationPart * __ptr64) __ptr64
+?InitNew@CWbemInstance@@QEAAJPEAVCWbemClass@@HPEAVCDecorationPart@@@Z
+; public: long __cdecl CClassPart::InitPropertyQualifierSet(unsigned short const * __ptr64,class CClassPropertyQualifierSet * __ptr64) __ptr64
+?InitPropertyQualifierSet@CClassPart@@QEAAJPEBGPEAVCClassPropertyQualifierSet@@@Z
+; public: static void __cdecl CKnownStringTable::Initialize(void)
+?Initialize@CKnownStringTable@@SAXXZ
+; public: virtual int __cdecl CWbemRefreshingSvc::Initialize(void) __ptr64
+?Initialize@CWbemRefreshingSvc@@UEAAHXZ
+; protected: long __cdecl CWbemInstance::InitializePropQualifierSet(class CPropertyInformation * __ptr64,class CInstancePropertyQualifierSet & __ptr64) __ptr64
+?InitializePropQualifierSet@CWbemInstance@@IEAAJPEAVCPropertyInformation@@AEAVCInstancePropertyQualifierSet@@@Z
+; protected: long __cdecl CWbemInstance::InitializePropQualifierSet(unsigned short const * __ptr64,class CInstancePropertyQualifierSet & __ptr64) __ptr64
+?InitializePropQualifierSet@CWbemInstance@@IEAAJPEBGAEAVCInstancePropertyQualifierSet@@@Z
+; public: bool __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::InsertAt(int,class CFastPropertyBagItem * __ptr64) __ptr64
+?InsertAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA_NHPEAVCFastPropertyBagItem@@@Z
+; public: bool __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::InsertAt(int,class CWmiTextSource * __ptr64) __ptr64
+?InsertAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA_NHPEAVCWmiTextSource@@@Z
+; public: long __cdecl CPropertyLookupTable::InsertProperty(struct CPropertyLookup const & __ptr64,int & __ptr64) __ptr64
+?InsertProperty@CPropertyLookupTable@@QEAAJAEBUCPropertyLookup@@AEAH@Z
+; public: long __cdecl CPropertyLookupTable::InsertProperty(unsigned short const * __ptr64,unsigned long,int & __ptr64) __ptr64
+?InsertProperty@CPropertyLookupTable@@QEAAJPEBGKAEAH@Z
+; public: long __cdecl CQualifierSetList::InsertQualifierSet(int) __ptr64
+?InsertQualifierSet@CQualifierSetList@@QEAAJH@Z
+; public: int __cdecl CClassPart::IsAbstract(void) __ptr64
+?IsAbstract@CClassPart@@QEAAHXZ
+; public: int __cdecl CWbemClass::IsAbstract(void) __ptr64
+?IsAbstract@CWbemClass@@QEAAHXZ
+; public: int __cdecl CClassPart::IsAmendment(void) __ptr64
+?IsAmendment@CClassPart@@QEAAHXZ
+; public: int __cdecl CWbemClass::IsAmendment(void) __ptr64
+?IsAmendment@CWbemClass@@QEAAHXZ
+; public: int __cdecl CType::IsArray(void) __ptr64
+?IsArray@CType@@QEAAHXZ
+; public: static int __cdecl CType::IsArray(unsigned long)
+?IsArray@CType@@SAHK@Z
+; public: long __cdecl CWbemObject::IsArrayPropertyHandle(long,long * __ptr64,unsigned long * __ptr64) __ptr64
+?IsArrayPropertyHandle@CWbemObject@@QEAAJJPEAJPEAK@Z
+; public: long __cdecl CUntypedArray::IsArrayValid(class CType,class CFastHeap * __ptr64) __ptr64
+?IsArrayValid@CUntypedArray@@QEAAJVCType@@PEAVCFastHeap@@@Z
+; protected: static int __cdecl CCompressedString::IsAsciiable(unsigned short const * __ptr64)
+?IsAsciiable@CCompressedString@@KAHPEBG@Z
+; public: int __cdecl CClassPart::IsAssociation(void) __ptr64
+?IsAssociation@CClassPart@@QEAAHXZ
+; public: int __cdecl CClassPart::IsAutocook(void) __ptr64
+?IsAutocook@CClassPart@@QEAAHXZ
+; public: int __cdecl CWbemClass::IsChildOf(class CWbemClass * __ptr64) __ptr64
+?IsChildOf@CWbemClass@@QEAAHPEAV1@@Z
+; protected: int __cdecl CWbemInstance::IsClassPartAvailable(void) __ptr64
+?IsClassPartAvailable@CWbemInstance@@IEAAHXZ
+; protected: int __cdecl CWbemInstance::IsClassPartInternal(void) __ptr64
+?IsClassPartInternal@CWbemInstance@@IEAAHXZ
+; protected: int __cdecl CWbemInstance::IsClassPartShared(void) __ptr64
+?IsClassPartShared@CWbemInstance@@IEAAHXZ
+; public: int __cdecl CDecorationPart::IsClientOnly(void) __ptr64
+?IsClientOnly@CDecorationPart@@QEAAHXZ
+; public: int __cdecl CWbemObject::IsClientOnly(void) __ptr64
+?IsClientOnly@CWbemObject@@QEAAHXZ
+; public: int __cdecl CQualifierSet::IsComplete(void) __ptr64
+?IsComplete@CQualifierSet@@QEAAHXZ
+; public: int __cdecl CClassPart::IsCompressed(void) __ptr64
+?IsCompressed@CClassPart@@QEAAHXZ
+; public: int __cdecl CWbemClass::IsCompressed(void) __ptr64
+?IsCompressed@CWbemClass@@QEAAHXZ
+; public: int __cdecl CDecorationPart::IsDecorated(void) __ptr64
+?IsDecorated@CDecorationPart@@QEAAHXZ
+; protected: int __cdecl CWbemInstance::IsDecorationPartAvailable(void) __ptr64
+?IsDecorationPartAvailable@CWbemInstance@@IEAAHXZ
+; public: int __cdecl CDataTable::IsDefault(int) __ptr64
+?IsDefault@CDataTable@@QEAAHH@Z
+; public: int __cdecl CClassPart::IsDynamic(void) __ptr64
+?IsDynamic@CClassPart@@QEAAHXZ
+; public: int __cdecl CWbemClass::IsDynamic(void) __ptr64
+?IsDynamic@CWbemClass@@QEAAHXZ
+; public: int __cdecl CBasicQualifierSet::IsEmpty(void) __ptr64
+?IsEmpty@CBasicQualifierSet@@QEAAHXZ
+; public: static int __cdecl CBasicQualifierSet::IsEmpty(unsigned char * __ptr64)
+?IsEmpty@CBasicQualifierSet@@SAHPEAE@Z
+; public: int __cdecl CCompressedStringList::IsEmpty(void) __ptr64
+?IsEmpty@CCompressedStringList@@QEAAHXZ
+; public: bool __cdecl CInternalString::IsEmpty(void) __ptr64
+?IsEmpty@CInternalString@@QEAA_NXZ
+; public: int __cdecl CQualifierSetList::IsEmpty(void) __ptr64
+?IsEmpty@CQualifierSetList@@QEAAHXZ
+; public: static int __cdecl CFastHeap::IsFakeAddress(unsigned long)
+?IsFakeAddress@CFastHeap@@SAHK@Z
+; public: int __cdecl CClassPart::IsHiPerf(void) __ptr64
+?IsHiPerf@CClassPart@@QEAAHXZ
+; public: int __cdecl CClassPart::IsIdenticalWith(class CClassPart & __ptr64) __ptr64
+?IsIdenticalWith@CClassPart@@QEAAHAEAV1@@Z
+; public: static int __cdecl CSystemProperties::IsIllegalDerivedClass(unsigned short const * __ptr64)
+?IsIllegalDerivedClass@CSystemProperties@@SAHPEBG@Z
+; public: virtual int __cdecl CWbemCallSecurity::IsImpersonating(void) __ptr64
+?IsImpersonating@CWbemCallSecurity@@UEAAHXZ
+; public: int __cdecl CWbemClass::IsIndexLocal(unsigned short const * __ptr64) __ptr64
+?IsIndexLocal@CWbemClass@@QEAAHPEBG@Z
+; public: int __cdecl CDecorationPart::IsInstance(void) __ptr64
+?IsInstance@CDecorationPart@@QEAAHXZ
+; public: int __cdecl CWbemObject::IsInstance(void) __ptr64
+?IsInstance@CWbemObject@@QEAAHXZ
+; public: int __cdecl CWbemInstance::IsInstanceOf(class CWbemClass * __ptr64) __ptr64
+?IsInstanceOf@CWbemInstance@@QEAAHPEAVCWbemClass@@@Z
+; protected: int __cdecl CWbemInstance::IsInstancePartAvailable(void) __ptr64
+?IsInstancePartAvailable@CWbemInstance@@IEAAHXZ
+; public: int __cdecl CWbemClass::IsKeyLocal(unsigned short const * __ptr64) __ptr64
+?IsKeyLocal@CWbemClass@@QEAAHPEBG@Z
+; public: int __cdecl CClassPart::IsKeyed(void) __ptr64
+?IsKeyed@CClassPart@@QEAAHXZ
+; public: virtual int __cdecl CWbemClass::IsKeyed(void) __ptr64
+?IsKeyed@CWbemClass@@UEAAHXZ
+; public: virtual int __cdecl CWbemInstance::IsKeyed(void) __ptr64
+?IsKeyed@CWbemInstance@@UEAAHXZ
+; public: int __cdecl CDecorationPart::IsLimited(void) __ptr64
+?IsLimited@CDecorationPart@@QEAAHXZ
+; public: int __cdecl CWbemObject::IsLimited(void) __ptr64
+?IsLimited@CWbemObject@@QEAAHXZ
+; public: int __cdecl CClassPart::IsLocalized(void) __ptr64
+?IsLocalized@CClassPart@@QEAAHXZ
+; public: int __cdecl CInstancePart::IsLocalized(void) __ptr64
+?IsLocalized@CInstancePart@@QEAAHXZ
+; public: virtual int __cdecl CWbemClass::IsLocalized(void) __ptr64
+?IsLocalized@CWbemClass@@UEAAHXZ
+; public: virtual int __cdecl CWbemInstance::IsLocalized(void) __ptr64
+?IsLocalized@CWbemInstance@@UEAAHXZ
+; public: static int __cdecl CType::IsMemCopyAble(unsigned short,long)
+?IsMemCopyAble@CType@@SAHGJ@Z
+; public: int __cdecl CType::IsNonArrayPointerType(void) __ptr64
+?IsNonArrayPointerType@CType@@QEAAHXZ
+; public: static int __cdecl CType::IsNonArrayPointerType(unsigned long)
+?IsNonArrayPointerType@CType@@SAHK@Z
+; public: int __cdecl CDataTable::IsNull(int) __ptr64
+?IsNull@CDataTable@@QEAAHH@Z
+; public: virtual long __cdecl CWbemObject::IsObjectInstance(void) __ptr64
+?IsObjectInstance@CWbemObject@@UEAAJXZ
+; protected: int __cdecl CFastHeap::IsOutOfLine(void) __ptr64
+?IsOutOfLine@CFastHeap@@IEAAHXZ
+; public: virtual long __cdecl CWbemClass::IsParentClass(long,struct _IWmiObject * __ptr64) __ptr64
+?IsParentClass@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemInstance::IsParentClass(long,struct _IWmiObject * __ptr64) __ptr64
+?IsParentClass@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
+; public: int __cdecl CType::IsParents(void) __ptr64
+?IsParents@CType@@QEAAHXZ
+; public: static int __cdecl CType::IsParents(unsigned long)
+?IsParents@CType@@SAHK@Z
+; public: int __cdecl CType::IsPointerType(void) __ptr64
+?IsPointerType@CType@@QEAAHXZ
+; public: static int __cdecl CType::IsPointerType(unsigned long)
+?IsPointerType@CType@@SAHK@Z
+; public: static int __cdecl CSystemProperties::IsPossibleSystemPropertyName(unsigned short const * __ptr64)
+?IsPossibleSystemPropertyName@CSystemProperties@@SAHPEBG@Z
+; protected: int __cdecl CMethodPart::IsPropagated(int) __ptr64
+?IsPropagated@CMethodPart@@IEAAHH@Z
+; public: int __cdecl CClassPart::IsPropertyIndexed(unsigned short const * __ptr64) __ptr64
+?IsPropertyIndexed@CClassPart@@QEAAHPEBG@Z
+; public: int __cdecl CClassPart::IsPropertyKeyed(unsigned short const * __ptr64) __ptr64
+?IsPropertyKeyed@CClassPart@@QEAAHPEBG@Z
+; public: static int __cdecl CReservedWordTable::IsReservedWord(unsigned short const * __ptr64)
+?IsReservedWord@CReservedWordTable@@SAHPEBG@Z
+; public: int __cdecl CWbemObject::IsSameClass(class CWbemObject * __ptr64) __ptr64
+?IsSameClass@CWbemObject@@QEAAHPEAV1@@Z
+; public: int __cdecl CClassPart::IsSingleton(void) __ptr64
+?IsSingleton@CClassPart@@QEAAHXZ
+; public: int __cdecl CWbemClass::IsSingleton(void) __ptr64
+?IsSingleton@CWbemClass@@QEAAHXZ
+; public: int __cdecl CType::IsStringType(void) __ptr64
+?IsStringType@CType@@QEAAHXZ
+; public: static int __cdecl CType::IsStringType(unsigned long)
+?IsStringType@CType@@SAHK@Z
+; public: int __cdecl CClassPart::IsTopLevel(void) __ptr64
+?IsTopLevel@CClassPart@@QEAAHXZ
+; public: static int __cdecl CMethodDescription::IsTouched(struct CMethodDescription * __ptr64 __ptr64,class CFastHeap * __ptr64)
+?IsTouched@CMethodDescription@@SAHPEFAU1@PEAVCFastHeap@@@Z
+; public: int __cdecl CMethodPart::IsTouched(int,int * __ptr64) __ptr64
+?IsTouched@CMethodPart@@QEAAHHPEAH@Z
+; public: int __cdecl CMethodPart::IsTouched(unsigned short const * __ptr64,int * __ptr64) __ptr64
+?IsTouched@CMethodPart@@QEAAHPEBGPEAH@Z
+; public: int __cdecl CCompressedString::IsUnicode(void)const  __ptr64
+?IsUnicode@CCompressedString@@QEBAHXZ
+; public: long __cdecl CWbemDataPacket::IsValid(void) __ptr64
+?IsValid@CWbemDataPacket@@QEAAJXZ
+; public: bool __cdecl CWbemObjectArrayPacket::IsValid(class CWbemClassCache * __ptr64) __ptr64
+?IsValid@CWbemObjectArrayPacket@@QEAA_NPEAVCWbemClassCache@@@Z
+; public: long __cdecl CClassPart::IsValidClassPart(void) __ptr64
+?IsValidClassPart@CClassPart@@QEAAJXZ
+; public: long __cdecl CInstancePart::IsValidInstancePart(class CClassPart * __ptr64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64) __ptr64
+?IsValidInstancePart@CInstancePart@@QEAAJPEAVCClassPart@@AEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: int __cdecl CWbemInstance::IsValidKey(unsigned short const * __ptr64) __ptr64
+?IsValidKey@CWbemInstance@@QEAAHPEBG@Z
+; public: long __cdecl CMethodPart::IsValidMethodPart(void) __ptr64
+?IsValidMethodPart@CMethodPart@@QEAAJXZ
+; public: virtual long __cdecl CWbemClass::IsValidObj(void) __ptr64
+?IsValidObj@CWbemClass@@UEAAJXZ
+; public: virtual long __cdecl CWbemInstance::IsValidObj(void) __ptr64
+?IsValidObj@CWbemInstance@@UEAAJXZ
+; public: long __cdecl CClassPart::IsValidPropertyHandle(long) __ptr64
+?IsValidPropertyHandle@CClassPart@@QEAAJJ@Z
+; public: long __cdecl CWbemObject::IsValidPropertyHandle(long) __ptr64
+?IsValidPropertyHandle@CWbemObject@@QEAAJJ@Z
+; public: bool __cdecl CFastHeap::IsValidPtr(unsigned long) __ptr64
+?IsValidPtr@CFastHeap@@QEAA_NK@Z
+; public: long __cdecl CBasicQualifierSet::IsValidQualifierSet(void) __ptr64
+?IsValidQualifierSet@CBasicQualifierSet@@QEAAJXZ
+; public: static int __cdecl CBasicQualifierSet::IsValidQualifierType(unsigned short)
+?IsValidQualifierType@CBasicQualifierSet@@SAHG@Z
+; protected: int __cdecl CWbemRefreshingSvc::IsWinmgmt(struct _WBEM_REFRESHER_ID * __ptr64) __ptr64
+?IsWinmgmt@CWbemRefreshingSvc@@IEAAHPEAU_WBEM_REFRESHER_ID@@@Z
+; public: static long __cdecl CUntypedArray::LoadFromCVarVector(class CPtrSource * __ptr64,class CVarVector & __ptr64,unsigned long,class CFastHeap * __ptr64,unsigned long & __ptr64,int)
+?LoadFromCVarVector@CUntypedArray@@SAJPEAVCPtrSource@@AEAVCVarVector@@KPEAVCFastHeap@@AEAKH@Z
+; protected: long __cdecl CWbemObject::LocalizeProperties(int,bool,struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64,bool & __ptr64) __ptr64
+?LocalizeProperties@CWbemObject@@IEAAJH_NPEAUIWbemClassObject@@1AEA_N@Z
+; protected: long __cdecl CWbemObject::LocalizeQualifiers(int,bool,struct IWbemQualifierSet * __ptr64,struct IWbemQualifierSet * __ptr64,bool & __ptr64) __ptr64
+?LocalizeQualifiers@CWbemObject@@IEAAJH_NPEAUIWbemQualifierSet@@1AEA_N@Z
+; public: int __cdecl CHiPerfLock::Lock(unsigned long) __ptr64
+?Lock@CHiPerfLock@@QEAAHK@Z
+; public: int __cdecl CSharedLock::Lock(unsigned long) __ptr64
+?Lock@CSharedLock@@QEAAHK@Z
+; public: virtual long __cdecl CWbemObject::Lock(long) __ptr64
+?Lock@CWbemObject@@UEAAJJ@Z
+; protected: static char __cdecl CCompressedString::LowerByte(unsigned short)
+?LowerByte@CCompressedString@@KADG@Z
+; public: static unsigned long __cdecl CType::MakeArray(unsigned long)
+?MakeArray@CType@@SAKK@Z
+; public: static unsigned long __cdecl CFastHeap::MakeFakeFromIndex(int)
+?MakeFakeFromIndex@CFastHeap@@SAKH@Z
+; public: static unsigned long __cdecl CType::MakeLocal(unsigned long)
+?MakeLocal@CType@@SAKK@Z
+; public: void __cdecl CCompressedString::MakeLowercase(void) __ptr64
+?MakeLowercase@CCompressedString@@QEAAXXZ
+; public: static unsigned long __cdecl CType::MakeNotArray(unsigned long)
+?MakeNotArray@CType@@SAKK@Z
+; public: static unsigned long __cdecl CType::MakeParents(unsigned long)
+?MakeParents@CType@@SAKK@Z
+; public: virtual long __cdecl CWbemClass::MakeSubsetInst(struct _IWmiObject * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?MakeSubsetInst@CWbemClass@@UEAAJPEAU_IWmiObject@@PEAPEAU2@@Z
+; public: virtual long __cdecl CWbemInstance::MakeSubsetInst(struct _IWmiObject * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?MakeSubsetInst@CWbemInstance@@UEAAJPEAU_IWmiObject@@PEAPEAU2@@Z
+; public: void __cdecl CLimitationMapping::Map(class CPropertyInformation * __ptr64,class CPropertyInformation * __ptr64,int) __ptr64
+?Map@CLimitationMapping@@QEAAXPEAVCPropertyInformation@@0H@Z
+; public: int __cdecl CClassPart::MapLimitation(long,class CWStringArray * __ptr64,class CLimitationMapping * __ptr64) __ptr64
+?MapLimitation@CClassPart@@QEAAHJPEAVCWStringArray@@PEAVCLimitationMapping@@@Z
+; public: static int __cdecl CDecorationPart::MapLimitation(class CWStringArray * __ptr64,class CLimitationMapping * __ptr64)
+?MapLimitation@CDecorationPart@@SAHPEAVCWStringArray@@PEAVCLimitationMapping@@@Z
+; public: int __cdecl CPropertyLookupTable::MapLimitation(long,class CWStringArray * __ptr64,class CLimitationMapping * __ptr64) __ptr64
+?MapLimitation@CPropertyLookupTable@@QEAAHJPEAVCWStringArray@@PEAVCLimitationMapping@@@Z
+; public: int __cdecl CWbemClass::MapLimitation(long,class CWStringArray * __ptr64,class CLimitationMapping * __ptr64) __ptr64
+?MapLimitation@CWbemClass@@QEAAHJPEAVCWStringArray@@PEAVCLimitationMapping@@@Z
+; public: static void __cdecl CDecorationPart::MarkKeyRemoval(unsigned char * __ptr64)
+?MarkKeyRemoval@CDecorationPart@@SAXPEAE@Z
+; public: virtual long __cdecl CWbemObject::MarshalInterface(struct IStream * __ptr64,struct _GUID const & __ptr64,void * __ptr64,unsigned long,void * __ptr64,unsigned long) __ptr64
+?MarshalInterface@CWbemObject@@UEAAJPEAUIStream@@AEBU_GUID@@PEAXK2K@Z
+; public: long __cdecl CWbemMtgtDeliverEventPacket::MarshalPacket(long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
+?MarshalPacket@CWbemMtgtDeliverEventPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
+; public: long __cdecl CWbemMtgtDeliverEventPacket::MarshalPacket(unsigned char * __ptr64,unsigned long,long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
+?MarshalPacket@CWbemMtgtDeliverEventPacket@@QEAAJPEAEKJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
+; public: long __cdecl CWbemObjectArrayPacket::MarshalPacket(long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
+?MarshalPacket@CWbemObjectArrayPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
+; public: long __cdecl CWbemObjectArrayPacket::MarshalPacket(unsigned char * __ptr64,unsigned long,long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
+?MarshalPacket@CWbemObjectArrayPacket@@QEAAJPEAEKJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
+; public: long __cdecl CWbemSmartEnumNextPacket::MarshalPacket(long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
+?MarshalPacket@CWbemSmartEnumNextPacket@@QEAAJJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
+; public: long __cdecl CWbemSmartEnumNextPacket::MarshalPacket(unsigned char * __ptr64,unsigned long,long,struct IWbemClassObject * __ptr64 * __ptr64,struct _GUID * __ptr64,int * __ptr64) __ptr64
+?MarshalPacket@CWbemSmartEnumNextPacket@@QEAAJPEAEKJPEAPEAUIWbemClassObject@@PEAU_GUID@@PEAH@Z
+; public: static int __cdecl CSystemProperties::MaxNumProperties(void)
+?MaxNumProperties@CSystemProperties@@SAHXZ
+; public: static unsigned char * __ptr64 __cdecl CBasicQualifierSet::Merge(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64,int)
+?Merge@CBasicQualifierSet@@SAPEAEPEAEPEAVCFastHeap@@0101H@Z
+; public: static unsigned char * __ptr64 __cdecl CClassAndMethods::Merge(class CClassAndMethods & __ptr64,class CClassAndMethods & __ptr64,unsigned char * __ptr64,int)
+?Merge@CClassAndMethods@@SAPEAEAEAV1@0PEAEH@Z
+; public: static unsigned char * __ptr64 __cdecl CClassPart::Merge(class CClassPart & __ptr64,class CClassPart & __ptr64,unsigned char * __ptr64,int)
+?Merge@CClassPart@@SAPEAEAEAV1@0PEAEH@Z
+; public: static unsigned char * __ptr64 __cdecl CDataTable::Merge(class CDataTable * __ptr64,class CFastHeap * __ptr64,class CDataTable * __ptr64,class CFastHeap * __ptr64,class CPropertyLookupTable * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64)
+?Merge@CDataTable@@SAPEAEPEAV1@PEAVCFastHeap@@01PEAVCPropertyLookupTable@@PEAE1@Z
+; public: static unsigned char * __ptr64 __cdecl CDerivationList::Merge(class CCompressedStringList & __ptr64,class CCompressedStringList & __ptr64,unsigned char * __ptr64)
+?Merge@CDerivationList@@SAPEAEAEAVCCompressedStringList@@0PEAE@Z
+; public: static unsigned char * __ptr64 __cdecl CMethodPart::Merge(class CMethodPart & __ptr64,class CMethodPart & __ptr64,unsigned char * __ptr64,unsigned long)
+?Merge@CMethodPart@@SAPEAEAEAV1@0PEAEK@Z
+; public: static unsigned char * __ptr64 __cdecl CPropertyLookupTable::Merge(class CPropertyLookupTable * __ptr64,class CFastHeap * __ptr64,class CPropertyLookupTable * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64,int)
+?Merge@CPropertyLookupTable@@SAPEAEPEAV1@PEAVCFastHeap@@01PEAE1H@Z
+; public: unsigned char * __ptr64 __cdecl CWbemClass::Merge(unsigned char * __ptr64,unsigned char * __ptr64,int,int) __ptr64
+?Merge@CWbemClass@@QEAAPEAEPEAE0HH@Z
+; public: virtual long __cdecl CWbemClass::Merge(long,unsigned long,void * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?Merge@CWbemClass@@UEAAJJKPEAXPEAPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemInstance::Merge(long,unsigned long,void * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?Merge@CWbemInstance@@UEAAJJKPEAXPEAPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemObject::MergeAmended(long,struct _IWmiObject * __ptr64) __ptr64
+?MergeAmended@CWbemObject@@UEAAJJPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemClass::MergeAndDecorate(long,unsigned long,void * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?MergeAndDecorate@CWbemClass@@UEAAJJKPEAXPEAG1PEAPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemInstance::MergeAndDecorate(long,unsigned long,void * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?MergeAndDecorate@CWbemInstance@@UEAAJJKPEAXPEAG1PEAPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemClass::MergeClassPart(struct IWbemClassObject * __ptr64) __ptr64
+?MergeClassPart@CWbemClass@@UEAAJPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemInstance::MergeClassPart(struct IWbemClassObject * __ptr64) __ptr64
+?MergeClassPart@CWbemInstance@@UEAAJPEAUIWbemClassObject@@@Z
+; public: bool __cdecl CCompressedString::NValidateSize(int)const  __ptr64
+?NValidateSize@CCompressedString@@QEBA_NH@Z
+; public: static class CWbemCallSecurity * __ptr64 __cdecl CWbemCallSecurity::New(void)
+?New@CWbemCallSecurity@@SAPEAV1@XZ
+; public: static class CWbemThreadSecurityHandle * __ptr64 __cdecl CWbemThreadSecurityHandle::New(void)
+?New@CWbemThreadSecurityHandle@@SAPEAV1@XZ
+; public: virtual long __cdecl CQualifierSet::Next(long,unsigned short * __ptr64 * __ptr64,struct tagVARIANT * __ptr64,long * __ptr64) __ptr64
+?Next@CQualifierSet@@UEAAJJPEAPEAGPEAUtagVARIANT@@PEAJ@Z
+; public: virtual long __cdecl CWbemObject::Next(long,unsigned short * __ptr64 * __ptr64,struct tagVARIANT * __ptr64,long * __ptr64,long * __ptr64) __ptr64
+?Next@CWbemObject@@UEAAJJPEAPEAGPEAUtagVARIANT@@PEAJ2@Z
+; public: int __cdecl CLimitationMapping::NextMapping(class CPropertyInformation * __ptr64,class CPropertyInformation * __ptr64) __ptr64
+?NextMapping@CLimitationMapping@@QEAAHPEAVCPropertyInformation@@0@Z
+; public: virtual long __cdecl CWbemClass::NextMethod(long,unsigned short * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?NextMethod@CWbemClass@@UEAAJJPEAPEAGPEAPEAUIWbemClassObject@@1@Z
+; public: virtual long __cdecl CWbemInstance::NextMethod(long,unsigned short * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?NextMethod@CWbemInstance@@UEAAJJPEAPEAGPEAPEAUIWbemClassObject@@1@Z
+; public: long __cdecl CWbemInstance::PlugKeyHoles(void) __ptr64
+?PlugKeyHoles@CWbemInstance@@QEAAJXZ
+; public: virtual long __cdecl CQualifierSet::Put(unsigned short const * __ptr64,struct tagVARIANT * __ptr64,long) __ptr64
+?Put@CQualifierSet@@UEAAJPEBGPEAUtagVARIANT@@J@Z
+; public: virtual long __cdecl CWbemClass::Put(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long) __ptr64
+?Put@CWbemClass@@UEAAJPEBGJPEAUtagVARIANT@@J@Z
+; public: virtual long __cdecl CWbemInstance::Put(unsigned short const * __ptr64,long,struct tagVARIANT * __ptr64,long) __ptr64
+?Put@CWbemInstance@@UEAAJPEBGJPEAUtagVARIANT@@J@Z
+; public: long __cdecl CMethodPart::PutMethod(unsigned short const * __ptr64,long,class CWbemObject * __ptr64,class CWbemObject * __ptr64) __ptr64
+?PutMethod@CMethodPart@@QEAAJPEBGJPEAVCWbemObject@@1@Z
+; public: virtual long __cdecl CWbemClass::PutMethod(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64) __ptr64
+?PutMethod@CWbemClass@@UEAAJPEBGJPEAUIWbemClassObject@@1@Z
+; public: virtual long __cdecl CWbemInstance::PutMethod(unsigned short const * __ptr64,long,struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64) __ptr64
+?PutMethod@CWbemInstance@@UEAAJPEBGJPEAUIWbemClassObject@@1@Z
+; public: virtual long __cdecl CWbemCallSecurity::QueryBlanket(unsigned long * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryBlanket@CWbemCallSecurity@@UEAAJPEAK0PEAPEAG00PEAPEAX0@Z
+; public: virtual long __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CQualifierSet::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CQualifierSet@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CWbemCallSecurity::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CWbemCallSecurity@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CWbemObject::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CWbemObject@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CWbemThreadSecurityHandle::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CWbemThreadSecurityHandle@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CWbemObject::QueryObjectFlags(long,unsigned __int64,unsigned __int64 * __ptr64) __ptr64
+?QueryObjectFlags@CWbemObject@@UEAAJJ_KPEA_K@Z
+; public: virtual long __cdecl CWbemObject::QueryPartInfo(unsigned long * __ptr64) __ptr64
+?QueryPartInfo@CWbemObject@@UEAAJPEAK@Z
+; public: virtual long __cdecl CWbemObject::QueryPropertyFlags(long,unsigned short const * __ptr64,unsigned __int64,unsigned __int64 * __ptr64) __ptr64
+?QueryPropertyFlags@CWbemObject@@UEAAJJPEBG_KPEA_K@Z
+; public: virtual long __cdecl CWbemObject::ReadDWORD(long,unsigned long * __ptr64) __ptr64
+?ReadDWORD@CWbemObject@@UEAAJJPEAK@Z
+; public: virtual long __cdecl CWbemObject::ReadProp(unsigned short const * __ptr64,long,unsigned long,long * __ptr64,long * __ptr64,int * __ptr64,unsigned long * __ptr64,void * __ptr64) __ptr64
+?ReadProp@CWbemObject@@UEAAJPEBGJKPEAJ1PEAHPEAKPEAX@Z
+; public: virtual long __cdecl CWbemObject::ReadPropertyValue(long,long,long * __ptr64,unsigned char * __ptr64) __ptr64
+?ReadPropertyValue@CWbemObject@@UEAAJJJPEAJPEAE@Z
+; public: virtual long __cdecl CWbemObject::ReadQWORD(long,unsigned __int64 * __ptr64) __ptr64
+?ReadQWORD@CWbemObject@@UEAAJJPEA_K@Z
+; public: int __cdecl CClassPart::ReallocAndCompact(unsigned long) __ptr64
+?ReallocAndCompact@CClassPart@@QEAAHK@Z
+; public: int __cdecl CInstancePart::ReallocAndCompact(unsigned long) __ptr64
+?ReallocAndCompact@CInstancePart@@QEAAHK@Z
+; protected: static long __cdecl CUntypedArray::ReallocArray(class CPtrSource * __ptr64,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
+?ReallocArray@CUntypedArray@@KAJPEAVCPtrSource@@KPEAVCFastHeap@@KPEAK22@Z
+; public: int __cdecl CFastHeap::Reallocate(unsigned long,unsigned long,unsigned long,unsigned long & __ptr64 __ptr64) __ptr64
+?Reallocate@CFastHeap@@QEAAHKKKAEFAK@Z
+; protected: unsigned char * __ptr64 __cdecl CWbemObject::Reallocate(unsigned long) __ptr64
+?Reallocate@CWbemObject@@IEAAPEAEK@Z
+; public: void __cdecl CBasicQualifierSet::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CBasicQualifierSet@@QEAAXPEAE@Z
+; public: void __cdecl CClassAndMethods::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CClassAndMethods@@QEAAXPEAE@Z
+; public: void __cdecl CClassPart::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CClassPart@@QEAAXPEAE@Z
+; public: void __cdecl CCompressedStringList::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CCompressedStringList@@QEAAXPEAE@Z
+; public: void __cdecl CDataTable::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CDataTable@@QEAAXPEAE@Z
+; public: void __cdecl CDecorationPart::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CDecorationPart@@QEAAXPEAE@Z
+; public: void __cdecl CFastHeap::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CFastHeap@@QEAAXPEAE@Z
+; public: void __cdecl CInstancePart::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CInstancePart@@QEAAXPEAE@Z
+; public: void __cdecl CMethodPart::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CMethodPart@@QEAAXPEAE@Z
+; public: void __cdecl CPropertyLookupTable::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CPropertyLookupTable@@QEAAXPEAE@Z
+; public: void __cdecl CQualifierSetList::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CQualifierSetList@@QEAAXPEAE@Z
+; public: void __cdecl CQualifierSetList::Rebase(void) __ptr64
+?Rebase@CQualifierSetList@@QEAAXXZ
+; public: void __cdecl CWbemClass::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CWbemClass@@QEAAXPEAE@Z
+; public: void __cdecl CWbemInstance::Rebase(unsigned char * __ptr64) __ptr64
+?Rebase@CWbemInstance@@QEAAXPEAE@Z
+; public: void __cdecl CInstancePQSContainer::RebaseSecondarySet(void) __ptr64
+?RebaseSecondarySet@CInstancePQSContainer@@QEAAXXZ
+; public: enum EReconciliation  __cdecl CClassAndMethods::ReconcileWith(class CClassAndMethods & __ptr64) __ptr64
+?ReconcileWith@CClassAndMethods@@QEAA?AW4EReconciliation@@AEAV1@@Z
+; public: enum EReconciliation  __cdecl CClassPart::ReconcileWith(class CClassPart & __ptr64) __ptr64
+?ReconcileWith@CClassPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
+; public: enum EReconciliation  __cdecl CMethodPart::ReconcileWith(class CMethodPart & __ptr64) __ptr64
+?ReconcileWith@CMethodPart@@QEAA?AW4EReconciliation@@AEAV1@@Z
+; public: enum EReconciliation  __cdecl CWbemClass::ReconcileWith(class CWbemClass * __ptr64) __ptr64
+?ReconcileWith@CWbemClass@@QEAA?AW4EReconciliation@@PEAV1@@Z
+; public: virtual long __cdecl CWbemClass::ReconcileWith(long,struct _IWmiObject * __ptr64) __ptr64
+?ReconcileWith@CWbemClass@@UEAAJJPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemInstance::ReconcileWith(long,struct _IWmiObject * __ptr64) __ptr64
+?ReconcileWith@CWbemInstance@@UEAAJJPEAU_IWmiObject@@@Z
+; protected: virtual long __cdecl CWbemRefreshingSvc::ReconnectRemoteRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,long,unsigned long,struct _WBEM_RECONNECT_INFO * __ptr64,struct _WBEM_RECONNECT_RESULTS * __ptr64,unsigned long * __ptr64) __ptr64
+?ReconnectRemoteRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@JJKPEAU_WBEM_RECONNECT_INFO@@PEAU_WBEM_RECONNECT_RESULTS@@PEAK@Z
+; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::ReconnectRemoteRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,long,unsigned long,struct _WBEM_RECONNECT_INFO * __ptr64,struct _WBEM_RECONNECT_RESULTS * __ptr64,unsigned long * __ptr64) __ptr64
+?ReconnectRemoteRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@JJKPEAU_WBEM_RECONNECT_INFO@@PEAU_WBEM_RECONNECT_RESULTS@@PEAK@Z
+; public: void __cdecl CFastHeap::Reduce(unsigned long,unsigned long,unsigned long) __ptr64
+?Reduce@CFastHeap@@QEAAXKKK@Z
+; public: void __cdecl CWbemClass::ReduceClassAndMethodsSpace(unsigned long) __ptr64
+?ReduceClassAndMethodsSpace@CWbemClass@@QEAAXK@Z
+; public: virtual void __cdecl CClassAndMethods::ReduceClassPartSpace(class CClassPart * __ptr64,unsigned long) __ptr64
+?ReduceClassPartSpace@CClassAndMethods@@UEAAXPEAVCClassPart@@K@Z
+; public: virtual void __cdecl CWbemInstance::ReduceClassPartSpace(class CClassPart * __ptr64,unsigned long) __ptr64
+?ReduceClassPartSpace@CWbemInstance@@UEAAXPEAVCClassPart@@K@Z
+; public: virtual void __cdecl CClassPart::ReduceDataTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ReduceDataTableSpace@CClassPart@@UEAAXPEAEKK@Z
+; public: virtual void __cdecl CInstancePart::ReduceDataTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ReduceDataTableSpace@CInstancePart@@UEAAXPEAEKK@Z
+; public: virtual void __cdecl CClassPart::ReduceHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ReduceHeapSize@CClassPart@@UEAAXPEAEKK@Z
+; public: virtual void __cdecl CInstancePart::ReduceHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ReduceHeapSize@CInstancePart@@UEAAXPEAEKK@Z
+; public: virtual void __cdecl CMethodPart::ReduceHeapSize(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ReduceHeapSize@CMethodPart@@UEAAXPEAEKK@Z
+; public: virtual void __cdecl CWbemInstance::ReduceInstancePartSpace(class CInstancePart * __ptr64,unsigned long) __ptr64
+?ReduceInstancePartSpace@CWbemInstance@@UEAAXPEAVCInstancePart@@K@Z
+; public: virtual void __cdecl CClassAndMethods::ReduceMethodPartSpace(class CMethodPart * __ptr64,unsigned long) __ptr64
+?ReduceMethodPartSpace@CClassAndMethods@@UEAAXPEAVCMethodPart@@K@Z
+; public: virtual void __cdecl CClassPart::ReducePropertyTableSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ReducePropertyTableSpace@CClassPart@@UEAAXPEAEKK@Z
+; public: virtual void __cdecl CInstancePart::ReduceQualifierSetListSpace(unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?ReduceQualifierSetListSpace@CInstancePart@@UEAAXPEAEKK@Z
+; public: virtual void __cdecl CClassPart::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ReduceQualifierSetSpace@CClassPart@@UEAAXPEAVCBasicQualifierSet@@K@Z
+; public: virtual void __cdecl CInstancePQSContainer::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ReduceQualifierSetSpace@CInstancePQSContainer@@UEAAXPEAVCBasicQualifierSet@@K@Z
+; public: virtual void __cdecl CInstancePart::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ReduceQualifierSetSpace@CInstancePart@@UEAAXPEAVCBasicQualifierSet@@K@Z
+; public: virtual void __cdecl CMethodQualifierSetContainer::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ReduceQualifierSetSpace@CMethodQualifierSetContainer@@UEAAXPEAVCBasicQualifierSet@@K@Z
+; public: void __cdecl CQualifierSetList::ReduceQualifierSetSpace(class CBasicQualifierSet * __ptr64,unsigned long) __ptr64
+?ReduceQualifierSetSpace@CQualifierSetList@@QEAAXPEAVCBasicQualifierSet@@K@Z
+; public: virtual unsigned long __cdecl CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::Release(void) __ptr64
+?Release@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::Release(void) __ptr64
+?Release@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::Release(void) __ptr64
+?Release@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::Release(void) __ptr64
+?Release@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::Release(void) __ptr64
+?Release@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::Release(void) __ptr64
+?Release@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::Release(void) __ptr64
+?Release@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UEAAKXZ
+; public: virtual unsigned long __cdecl CClassQualifierSet::Release(void) __ptr64
+?Release@CClassQualifierSet@@UEAAKXZ
+; public: virtual unsigned long __cdecl CInstanceQualifierSet::Release(void) __ptr64
+?Release@CInstanceQualifierSet@@UEAAKXZ
+; public: virtual unsigned long __cdecl CMethodQualifierSet::Release(void) __ptr64
+?Release@CMethodQualifierSet@@UEAAKXZ
+; public: virtual unsigned long __cdecl CQualifierSet::Release(void) __ptr64
+?Release@CQualifierSet@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemCallSecurity::Release(void) __ptr64
+?Release@CWbemCallSecurity@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemObject::Release(void) __ptr64
+?Release@CWbemObject@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemThreadSecurityHandle::Release(void) __ptr64
+?Release@CWbemThreadSecurityHandle@@UEAAKXZ
+; protected: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::ReleaseElement(class CFastPropertyBagItem * __ptr64) __ptr64
+?ReleaseElement@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@IEAAXPEAVCFastPropertyBagItem@@@Z
+; protected: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::ReleaseElement(class CWmiTextSource * __ptr64) __ptr64
+?ReleaseElement@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@IEAAXPEAVCWmiTextSource@@@Z
+; public: virtual long __cdecl CWbemObject::ReleaseMarshalData(struct IStream * __ptr64) __ptr64
+?ReleaseMarshalData@CWbemObject@@UEAAJPEAUIStream@@@Z
+; public: virtual long __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::RemoteRefresh(long,long * __ptr64,struct _WBEM_REFRESHED_OBJECT * __ptr64 * __ptr64) __ptr64
+?RemoteRefresh@XWbemRemoteRefr@CWbemRemoteRefresher@@UEAAJJPEAJPEAPEAU_WBEM_REFRESHED_OBJECT@@@Z
+; public: long __cdecl CFastPropertyBag::Remove(unsigned short const * __ptr64) __ptr64
+?Remove@CFastPropertyBag@@QEAAJPEBG@Z
+; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::RemoveAll(void) __ptr64
+?RemoveAll@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXXZ
+; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::RemoveAll(void) __ptr64
+?RemoveAll@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXXZ
+; public: long __cdecl CFastPropertyBag::RemoveAll(void) __ptr64
+?RemoveAll@CFastPropertyBag@@QEAAJXZ
+; public: virtual long __cdecl CWbemObject::RemoveArrayPropElementByHandle(long,long,unsigned long) __ptr64
+?RemoveArrayPropElementByHandle@CWbemObject@@UEAAJJJK@Z
+; public: virtual long __cdecl CWbemObject::RemoveArrayPropRangeByHandle(long,long,unsigned long,unsigned long) __ptr64
+?RemoveArrayPropRangeByHandle@CWbemObject@@UEAAJJJKK@Z
+; public: bool __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::RemoveAt(int,class CFastPropertyBagItem * __ptr64 * __ptr64) __ptr64
+?RemoveAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAA_NHPEAPEAVCFastPropertyBagItem@@@Z
+; public: bool __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::RemoveAt(int,class CWmiTextSource * __ptr64 * __ptr64) __ptr64
+?RemoveAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAA_NHPEAPEAVCWmiTextSource@@@Z
+; public: virtual long __cdecl CWbemObject::RemoveDecoration(void) __ptr64
+?RemoveDecoration@CWbemObject@@UEAAJXZ
+; protected: virtual long __cdecl CWbemRefreshingSvc::RemoveObjectFromRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,long,unsigned long,unsigned long * __ptr64) __ptr64
+?RemoveObjectFromRefresher@CWbemRefreshingSvc@@MEAAJPEAU_WBEM_REFRESHER_ID@@JJKPEAK@Z
+; public: virtual long __cdecl CWbemRefreshingSvc::XWbemRefrSvc::RemoveObjectFromRefresher(struct _WBEM_REFRESHER_ID * __ptr64,long,long,unsigned long,unsigned long * __ptr64) __ptr64
+?RemoveObjectFromRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UEAAJPEAU_WBEM_REFRESHER_ID@@JJKPEAK@Z
+; public: void __cdecl CDataTable::RemoveProperty(unsigned short,unsigned long,unsigned long) __ptr64
+?RemoveProperty@CDataTable@@QEAAXGKK@Z
+; public: long __cdecl CWbemObject::RemoveQualifierArrayRange(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,unsigned long,unsigned long) __ptr64
+?RemoveQualifierArrayRange@CWbemObject@@QEAAJPEBG0HJKK@Z
+; public: static long __cdecl CUntypedArray::RemoveRange(class CPtrSource * __ptr64,unsigned long,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long)
+?RemoveRange@CUntypedArray@@SAJPEAVCPtrSource@@KKPEAVCFastHeap@@KK@Z
+; public: void __cdecl CLimitationMapping::RemoveSpecific(void) __ptr64
+?RemoveSpecific@CLimitationMapping@@QEAAXXZ
+; public: long __cdecl CWbemInstance::Reparent(class CWbemClass * __ptr64,class CWbemInstance * __ptr64 * __ptr64) __ptr64
+?Reparent@CWbemInstance@@QEAAJPEAVCWbemClass@@PEAPEAV1@@Z
+; public: void __cdecl CCompressedStringList::Reset(void) __ptr64
+?Reset@CCompressedStringList@@QEAAXXZ
+; public: void __cdecl CLimitationMapping::Reset(void) __ptr64
+?Reset@CLimitationMapping@@QEAAXXZ
+; protected: long __cdecl CWbemRefreshingSvc::ResetRefreshInfo(struct _WBEM_REFRESH_INFO * __ptr64) __ptr64
+?ResetRefreshInfo@CWbemRefreshingSvc@@IEAAJPEAU_WBEM_REFRESH_INFO@@@Z
+; public: unsigned char * __ptr64 __cdecl CClassPart::ResolveHeapPointer(unsigned long) __ptr64
+?ResolveHeapPointer@CClassPart@@QEAAPEAEK@Z
+; public: unsigned char * __ptr64 __cdecl CFastHeap::ResolveHeapPointer(unsigned long) __ptr64
+?ResolveHeapPointer@CFastHeap@@QEAAPEAEK@Z
+; public: class CCompressedString * __ptr64 __cdecl CClassPart::ResolveHeapString(unsigned long) __ptr64
+?ResolveHeapString@CClassPart@@QEAAPEAVCCompressedString@@K@Z
+; public: class CCompressedString * __ptr64 __cdecl CFastHeap::ResolveString(unsigned long) __ptr64
+?ResolveString@CFastHeap@@QEAAPEAVCCompressedString@@K@Z
+; public: virtual long __cdecl CWbemCallSecurity::RevertToSelf(void) __ptr64
+?RevertToSelf@CWbemCallSecurity@@UEAAJXZ
+; public: int __cdecl CQualifierSet::SelfRebase(void) __ptr64
+?SelfRebase@CQualifierSet@@QEAAHXZ
+; public: long __cdecl CInstancePart::SetActualValue(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
+?SetActualValue@CInstancePart@@QEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
+; public: void __cdecl CLimitationMapping::SetAddChildKeys(int) __ptr64
+?SetAddChildKeys@CLimitationMapping@@QEAAXH@Z
+; public: void __cdecl CDataTable::SetAllToDefault(void) __ptr64
+?SetAllToDefault@CDataTable@@QEAAXXZ
+; public: void __cdecl CFastHeap::SetAllocatedDataLength(unsigned long) __ptr64
+?SetAllocatedDataLength@CFastHeap@@QEAAXK@Z
+; public: virtual long __cdecl CWbemObject::SetArrayPropElementByHandle(long,long,unsigned long,unsigned long,void * __ptr64) __ptr64
+?SetArrayPropElementByHandle@CWbemObject@@UEAAJJJKKPEAX@Z
+; public: virtual long __cdecl CWbemObject::SetArrayPropRangeByHandle(long,long,unsigned long,unsigned long,unsigned long,void * __ptr64) __ptr64
+?SetArrayPropRangeByHandle@CWbemObject@@UEAAJJJKKKPEAX@Z
+; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::SetAt(int,class CFastPropertyBagItem * __ptr64,class CFastPropertyBagItem * __ptr64 * __ptr64) __ptr64
+?SetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXHPEAVCFastPropertyBagItem@@PEAPEAV2@@Z
+; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::SetAt(int,class CWmiTextSource * __ptr64,class CWmiTextSource * __ptr64 * __ptr64) __ptr64
+?SetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXHPEAVCWmiTextSource@@PEAPEAV2@@Z
+; public: long __cdecl CClassPart::SetClassName(class CVar * __ptr64) __ptr64
+?SetClassName@CClassPart@@QEAAJPEAVCVar@@@Z
+; public: void __cdecl CLimitationMapping::SetClassObject(class CWbemClass * __ptr64) __ptr64
+?SetClassObject@CLimitationMapping@@QEAAXPEAVCWbemClass@@@Z
+; public: virtual long __cdecl CWbemClass::SetClassPart(void * __ptr64,unsigned long) __ptr64
+?SetClassPart@CWbemClass@@UEAAJPEAXK@Z
+; public: virtual long __cdecl CWbemInstance::SetClassPart(void * __ptr64,unsigned long) __ptr64
+?SetClassPart@CWbemInstance@@UEAAJPEAXK@Z
+; public: long __cdecl CClassPart::SetClassQualifier(unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
+?SetClassQualifier@CClassPart@@QEAAJPEBGJPEAVCTypedValue@@@Z
+; public: long __cdecl CClassPart::SetClassQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
+?SetClassQualifier@CClassPart@@QEAAJPEBGPEAVCVar@@J@Z
+; public: void __cdecl CDecorationPart::SetClientOnly(void) __ptr64
+?SetClientOnly@CDecorationPart@@QEAAXXZ
+; public: void __cdecl CWbemObject::SetClientOnly(void) __ptr64
+?SetClientOnly@CWbemObject@@QEAAXXZ
+; public: void __cdecl CFastHeap::SetContainer(class CHeapContainer * __ptr64) __ptr64
+?SetContainer@CFastHeap@@QEAAXPEAVCHeapContainer@@@Z
+; public: void __cdecl CBasicQualifierSet::SetData(unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
+?SetData@CBasicQualifierSet@@QEAAXPEAEPEAVCFastHeap@@@Z
+; public: void __cdecl CClassAndMethods::SetData(unsigned char * __ptr64,class CWbemClass * __ptr64,class CClassAndMethods * __ptr64) __ptr64
+?SetData@CClassAndMethods@@QEAAXPEAEPEAVCWbemClass@@PEAV1@@Z
+; public: void __cdecl CClassPart::SetData(unsigned char * __ptr64,class CClassPartContainer * __ptr64,class CClassPart * __ptr64) __ptr64
+?SetData@CClassPart@@QEAAXPEAEPEAVCClassPartContainer@@PEAV1@@Z
+; public: void __cdecl CCompressedStringList::SetData(unsigned char * __ptr64) __ptr64
+?SetData@CCompressedStringList@@QEAAXPEAE@Z
+; public: void __cdecl CDataTable::SetData(unsigned char * __ptr64,int,int,class CDataTableContainer * __ptr64) __ptr64
+?SetData@CDataTable@@QEAAXPEAEHHPEAVCDataTableContainer@@@Z
+; public: void __cdecl CDecorationPart::SetData(unsigned char * __ptr64) __ptr64
+?SetData@CDecorationPart@@QEAAXPEAE@Z
+; public: int __cdecl CFastHeap::SetData(unsigned char * __ptr64,class CHeapContainer * __ptr64) __ptr64
+?SetData@CFastHeap@@QEAAHPEAEPEAVCHeapContainer@@@Z
+; public: void __cdecl CInstancePart::SetData(unsigned char * __ptr64,class CInstancePartContainer * __ptr64,class CClassPart & __ptr64,unsigned __int64) __ptr64
+?SetData@CInstancePart@@QEAAXPEAEPEAVCInstancePartContainer@@AEAVCClassPart@@_K@Z
+; public: void __cdecl CMethodPart::SetData(unsigned char * __ptr64,class CMethodPartContainer * __ptr64,class CMethodPart * __ptr64) __ptr64
+?SetData@CMethodPart@@QEAAXPEAEPEAVCMethodPartContainer@@PEAV1@@Z
+; public: void __cdecl CMethodQualifierSet::SetData(class CMethodPart * __ptr64,class CMethodPart * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetData@CMethodQualifierSet@@QEAAXPEAVCMethodPart@@0PEBG@Z
+; public: void __cdecl CMethodQualifierSetContainer::SetData(class CMethodPart * __ptr64,class CMethodPart * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetData@CMethodQualifierSetContainer@@QEAAXPEAVCMethodPart@@0PEBG@Z
+; public: void __cdecl CPropertyLookupTable::SetData(unsigned char * __ptr64,class CPropertyTableContainer * __ptr64) __ptr64
+?SetData@CPropertyLookupTable@@QEAAXPEAEPEAVCPropertyTableContainer@@@Z
+; public: void __cdecl CQualifierSet::SetData(unsigned char * __ptr64,class CQualifierSetContainer * __ptr64,class CBasicQualifierSet * __ptr64) __ptr64
+?SetData@CQualifierSet@@QEAAXPEAEPEAVCQualifierSetContainer@@PEAVCBasicQualifierSet@@@Z
+; public: void __cdecl CQualifierSetList::SetData(unsigned char * __ptr64,int,class CQualifierSetListContainer * __ptr64) __ptr64
+?SetData@CQualifierSetList@@QEAAXPEAEHPEAVCQualifierSetListContainer@@@Z
+; public: void __cdecl CSharedLock::SetData(struct SHARED_LOCK_DATA * __ptr64) __ptr64
+?SetData@CSharedLock@@QEAAXPEAUSHARED_LOCK_DATA@@@Z
+; public: virtual void __cdecl CWbemClass::SetData(unsigned char * __ptr64,int) __ptr64
+?SetData@CWbemClass@@UEAAXPEAEH@Z
+; public: void __cdecl CWbemDataPacket::SetData(unsigned char * __ptr64,unsigned long,bool) __ptr64
+?SetData@CWbemDataPacket@@QEAAXPEAEK_N@Z
+; public: void __cdecl CWbemInstance::SetData(unsigned char * __ptr64,int,unsigned long) __ptr64
+?SetData@CWbemInstance@@QEAAXPEAEHK@Z
+; public: virtual void __cdecl CWbemInstance::SetData(unsigned char * __ptr64,int) __ptr64
+?SetData@CWbemInstance@@UEAAXPEAEH@Z
+; public: void __cdecl CWbemMtgtDeliverEventPacket::SetData(unsigned char * __ptr64,unsigned long,bool) __ptr64
+?SetData@CWbemMtgtDeliverEventPacket@@QEAAXPEAEK_N@Z
+; public: void __cdecl CWbemObjectArrayPacket::SetData(unsigned char * __ptr64,unsigned long,bool) __ptr64
+?SetData@CWbemObjectArrayPacket@@QEAAXPEAEK_N@Z
+; public: void __cdecl CWbemSmartEnumNextPacket::SetData(unsigned char * __ptr64,unsigned long,bool) __ptr64
+?SetData@CWbemSmartEnumNextPacket@@QEAAXPEAEK_N@Z
+; protected: static void __cdecl CBasicQualifierSet::SetDataLength(unsigned char * __ptr64,unsigned long)
+?SetDataLength@CBasicQualifierSet@@KAXPEAEK@Z
+; public: void __cdecl CClassPart::SetDataLength(unsigned long) __ptr64
+?SetDataLength@CClassPart@@QEAAXK@Z
+; public: void __cdecl CInstancePart::SetDataLength(unsigned long) __ptr64
+?SetDataLength@CInstancePart@@QEAAXK@Z
+; public: static void __cdecl CBasicQualifierSet::SetDataToNone(unsigned char * __ptr64)
+?SetDataToNone@CBasicQualifierSet@@SAXPEAE@Z
+; public: void __cdecl CClassAndMethods::SetDataWithNumProps(unsigned char * __ptr64,class CWbemClass * __ptr64,unsigned long,class CClassAndMethods * __ptr64) __ptr64
+?SetDataWithNumProps@CClassAndMethods@@QEAAXPEAEPEAVCWbemClass@@KPEAV1@@Z
+; public: void __cdecl CClassPart::SetDataWithNumProps(unsigned char * __ptr64,class CClassPartContainer * __ptr64,unsigned long,class CClassPart * __ptr64) __ptr64
+?SetDataWithNumProps@CClassPart@@QEAAXPEAEPEAVCClassPartContainer@@KPEAV1@@Z
+; public: virtual long __cdecl CWbemObject::SetDecoration(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetDecoration@CWbemObject@@UEAAJPEBG0@Z
+; protected: long __cdecl CClassPart::SetDefaultValue(class CPropertyInformation * __ptr64,class CVar * __ptr64) __ptr64
+?SetDefaultValue@CClassPart@@IEAAJPEAVCPropertyInformation@@PEAVCVar@@@Z
+; public: long __cdecl CClassPart::SetDefaultValue(unsigned short const * __ptr64,class CVar * __ptr64) __ptr64
+?SetDefaultValue@CClassPart@@QEAAJPEBGPEAVCVar@@@Z
+; public: void __cdecl CDataTable::SetDefaultness(int,int) __ptr64
+?SetDefaultness@CDataTable@@QEAAXHH@Z
+; public: void __cdecl CLimitationMapping::SetFlags(long) __ptr64
+?SetFlags@CLimitationMapping@@QEAAXJ@Z
+; public: void __cdecl CCompressedString::SetFromAscii(char const * __ptr64,unsigned __int64) __ptr64
+?SetFromAscii@CCompressedString@@QEAAXPEBD_K@Z
+; public: void __cdecl CCompressedString::SetFromUnicode(int,unsigned short const * __ptr64) __ptr64
+?SetFromUnicode@CCompressedString@@QEAAXHPEBG@Z
+; public: void __cdecl CCompressedString::SetFromUnicode(unsigned short const * __ptr64) __ptr64
+?SetFromUnicode@CCompressedString@@QEAAXPEBG@Z
+; protected: void __cdecl CFastHeap::SetInLineLength(unsigned long) __ptr64
+?SetInLineLength@CFastHeap@@IEAAXK@Z
+; public: void __cdecl CLimitationMapping::SetIncludeDerivation(int) __ptr64
+?SetIncludeDerivation@CLimitationMapping@@QEAAXH@Z
+; public: void __cdecl CLimitationMapping::SetIncludeNamespace(int) __ptr64
+?SetIncludeNamespace@CLimitationMapping@@QEAAXH@Z
+; public: void __cdecl CLimitationMapping::SetIncludeServer(int) __ptr64
+?SetIncludeServer@CLimitationMapping@@QEAAXH@Z
+; public: long __cdecl CClassPart::SetInheritanceChain(long,unsigned short * __ptr64 * __ptr64) __ptr64
+?SetInheritanceChain@CClassPart@@QEAAJJPEAPEAG@Z
+; public: virtual long __cdecl CWbemClass::SetInheritanceChain(long,unsigned short * __ptr64 * __ptr64) __ptr64
+?SetInheritanceChain@CWbemClass@@UEAAJJPEAPEAG@Z
+; public: virtual long __cdecl CWbemInstance::SetInheritanceChain(long,unsigned short * __ptr64 * __ptr64) __ptr64
+?SetInheritanceChain@CWbemInstance@@UEAAJJPEAPEAG@Z
+; public: long __cdecl CInstancePart::SetInstanceQualifier(unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
+?SetInstanceQualifier@CInstancePart@@QEAAJPEBGJPEAVCTypedValue@@@Z
+; public: long __cdecl CInstancePart::SetInstanceQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
+?SetInstanceQualifier@CInstancePart@@QEAAJPEBGPEAVCVar@@J@Z
+; public: void __cdecl CFixedBSTRArray::SetLength(int) __ptr64
+?SetLength@CFixedBSTRArray@@QEAAXH@Z
+; public: void __cdecl CDecorationPart::SetLimited(void) __ptr64
+?SetLimited@CDecorationPart@@QEAAXXZ
+; public: void __cdecl CClassPart::SetLocalized(int) __ptr64
+?SetLocalized@CClassPart@@QEAAXH@Z
+; public: void __cdecl CInstancePart::SetLocalized(int) __ptr64
+?SetLocalized@CInstancePart@@QEAAXH@Z
+; public: virtual void __cdecl CWbemClass::SetLocalized(int) __ptr64
+?SetLocalized@CWbemClass@@UEAAXH@Z
+; public: virtual void __cdecl CWbemInstance::SetLocalized(int) __ptr64
+?SetLocalized@CWbemInstance@@UEAAXH@Z
+; public: long __cdecl CMethodPart::SetMethodOrigin(unsigned short const * __ptr64,long) __ptr64
+?SetMethodOrigin@CMethodPart@@QEAAJPEBGJ@Z
+; public: virtual long __cdecl CWbemClass::SetMethodOrigin(unsigned short const * __ptr64,long) __ptr64
+?SetMethodOrigin@CWbemClass@@UEAAJPEBGJ@Z
+; public: virtual long __cdecl CWbemInstance::SetMethodOrigin(unsigned short const * __ptr64,long) __ptr64
+?SetMethodOrigin@CWbemInstance@@UEAAJPEBGJ@Z
+; public: virtual long __cdecl CWbemObject::SetMethodQual(unsigned short const * __ptr64,unsigned short const * __ptr64,long,unsigned long,unsigned long,long,unsigned long,void * __ptr64) __ptr64
+?SetMethodQual@CWbemObject@@UEAAJPEBG0JKKJKPEAX@Z
+; public: virtual long __cdecl CWbemClass::SetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
+?SetMethodQualifier@CWbemClass@@UEAAJPEBG0JPEAVCTypedValue@@@Z
+; public: virtual long __cdecl CWbemClass::SetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
+?SetMethodQualifier@CWbemClass@@UEAAJPEBG0JPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemInstance::SetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
+?SetMethodQualifier@CWbemInstance@@UEAAJPEBG0JPEAVCTypedValue@@@Z
+; public: virtual long __cdecl CWbemInstance::SetMethodQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
+?SetMethodQualifier@CWbemInstance@@UEAAJPEBG0JPEAVCVar@@@Z
+; public: void __cdecl CDataTable::SetNullness(int,int) __ptr64
+?SetNullness@CDataTable@@QEAAXHH@Z
+; public: virtual long __cdecl CWbemObject::SetObjQual(unsigned short const * __ptr64,long,unsigned long,unsigned long,long,unsigned long,void * __ptr64) __ptr64
+?SetObjQual@CWbemObject@@UEAAJPEBGJKKJKPEAX@Z
+; public: virtual long __cdecl CWbemObject::SetObjectFlags(long,unsigned __int64,unsigned __int64) __ptr64
+?SetObjectFlags@CWbemObject@@UEAAJJ_K0@Z
+; public: virtual long __cdecl CWbemObject::SetObjectMemory(void * __ptr64,unsigned long) __ptr64
+?SetObjectMemory@CWbemObject@@UEAAJPEAXK@Z
+; public: virtual long __cdecl CWbemClass::SetObjectParts(void * __ptr64,unsigned long,unsigned long) __ptr64
+?SetObjectParts@CWbemClass@@UEAAJPEAXKK@Z
+; public: virtual long __cdecl CWbemInstance::SetObjectParts(void * __ptr64,unsigned long,unsigned long) __ptr64
+?SetObjectParts@CWbemInstance@@UEAAJPEAXKK@Z
+; public: void __cdecl CWbemThreadSecurityHandle::SetOrigin(enum tag_WMI_THREAD_SECURITY_ORIGIN) __ptr64
+?SetOrigin@CWbemThreadSecurityHandle@@QEAAXW4tag_WMI_THREAD_SECURITY_ORIGIN@@@Z
+; public: virtual long __cdecl CWbemObject::SetPropByHandle(long,long,unsigned long,void * __ptr64) __ptr64
+?SetPropByHandle@CWbemObject@@UEAAJJJKPEAX@Z
+; public: virtual long __cdecl CWbemObject::SetPropQual(unsigned short const * __ptr64,unsigned short const * __ptr64,long,unsigned long,unsigned long,long,unsigned long,void * __ptr64) __ptr64
+?SetPropQual@CWbemObject@@UEAAJPEBG0JKKJKPEAX@Z
+; public: long __cdecl CClassPart::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
+?SetPropQualifier@CClassPart@@QEAAJPEBG0JPEAVCTypedValue@@@Z
+; public: long __cdecl CClassPart::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
+?SetPropQualifier@CClassPart@@QEAAJPEBG0JPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemClass::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
+?SetPropQualifier@CWbemClass@@UEAAJPEBG0JPEAVCTypedValue@@@Z
+; public: virtual long __cdecl CWbemClass::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
+?SetPropQualifier@CWbemClass@@UEAAJPEBG0JPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemInstance::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
+?SetPropQualifier@CWbemInstance@@UEAAJPEBG0JPEAVCTypedValue@@@Z
+; public: virtual long __cdecl CWbemInstance::SetPropQualifier(unsigned short const * __ptr64,unsigned short const * __ptr64,long,class CVar * __ptr64) __ptr64
+?SetPropQualifier@CWbemInstance@@UEAAJPEBG0JPEAVCVar@@@Z
+; public: virtual long __cdecl CWbemClass::SetPropValue(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
+?SetPropValue@CWbemClass@@UEAAJPEBGPEAVCVar@@J@Z
+; public: virtual long __cdecl CWbemInstance::SetPropValue(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
+?SetPropValue@CWbemInstance@@UEAAJPEBGPEAVCVar@@J@Z
+; public: long __cdecl CClassPart::SetPropertyOrigin(unsigned short const * __ptr64,long) __ptr64
+?SetPropertyOrigin@CClassPart@@QEAAJPEBGJ@Z
+; public: virtual long __cdecl CWbemClass::SetPropertyOrigin(unsigned short const * __ptr64,long) __ptr64
+?SetPropertyOrigin@CWbemClass@@UEAAJPEBGJ@Z
+; public: virtual long __cdecl CWbemInstance::SetPropertyOrigin(unsigned short const * __ptr64,long) __ptr64
+?SetPropertyOrigin@CWbemInstance@@UEAAJPEBGJ@Z
+; public: virtual long __cdecl CWbemClass::SetQualifier(unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
+?SetQualifier@CWbemClass@@UEAAJPEBGJPEAVCTypedValue@@@Z
+; public: virtual long __cdecl CWbemClass::SetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
+?SetQualifier@CWbemClass@@UEAAJPEBGPEAVCVar@@J@Z
+; public: virtual long __cdecl CWbemInstance::SetQualifier(unsigned short const * __ptr64,long,class CTypedValue * __ptr64) __ptr64
+?SetQualifier@CWbemInstance@@UEAAJPEBGJPEAVCTypedValue@@@Z
+; public: virtual long __cdecl CWbemInstance::SetQualifier(unsigned short const * __ptr64,class CVar * __ptr64,long) __ptr64
+?SetQualifier@CWbemInstance@@UEAAJPEBGPEAVCVar@@J@Z
+; public: long __cdecl CWbemObject::SetQualifierArrayRange(unsigned short const * __ptr64,unsigned short const * __ptr64,int,long,unsigned long,long,unsigned long,unsigned long,unsigned long,void * __ptr64) __ptr64
+?SetQualifierArrayRange@CWbemObject@@QEAAJPEBG0HJKJKKKPEAX@Z
+; public: long __cdecl CQualifierSet::SetQualifierValue(unsigned short const * __ptr64,unsigned char,class CTypedValue * __ptr64,int,int) __ptr64
+?SetQualifierValue@CQualifierSet@@QEAAJPEBGEPEAVCTypedValue@@HH@Z
+; public: static long __cdecl CUntypedArray::SetRange(class CPtrSource * __ptr64,long,unsigned long,unsigned long,class CFastHeap * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64)
+?SetRange@CUntypedArray@@SAJPEAVCPtrSource@@JKKPEAVCFastHeap@@KKKPEAX@Z
+; public: void __cdecl CInstancePQSContainer::SetSecondarySetData(void) __ptr64
+?SetSecondarySetData@CInstancePQSContainer@@QEAAXXZ
+; public: virtual long __cdecl CWbemObject::SetServerNamespace(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetServerNamespace@CWbemObject@@UEAAJPEBG0@Z
+; protected: virtual long __cdecl CWbemRefreshingSvc::SetServiceData(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?SetServiceData@CWbemRefreshingSvc@@MEAAJPEAG0@Z
+; public: virtual long __cdecl CWbemRefreshingSvc::XCfgRefrSrvc::SetServiceData(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?SetServiceData@XCfgRefrSrvc@CWbemRefreshingSvc@@UEAAJPEAG0@Z
+; public: void __cdecl CMethodDescription::SetSig(int,unsigned long) __ptr64
+?SetSig@CMethodDescription@@QEAAXHK@Z
+; protected: long __cdecl CMethodPart::SetSignature(int,enum METHOD_SIGNATURE_TYPE,class CWbemObject * __ptr64) __ptr64
+?SetSignature@CMethodPart@@IEAAJHW4METHOD_SIGNATURE_TYPE@@PEAVCWbemObject@@@Z
+; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::SetSize(int) __ptr64
+?SetSize@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXH@Z
+; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::SetSize(int) __ptr64
+?SetSize@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXH@Z
+; public: virtual long __cdecl CWbemCallSecurity::SetThreadSecurity(struct _IWmiThreadSecHandle * __ptr64) __ptr64
+?SetThreadSecurity@CWbemCallSecurity@@UEAAJPEAU_IWmiThreadSecHandle@@@Z
+; public: void __cdecl CFastHeap::SetUsedLength(unsigned long) __ptr64
+?SetUsedLength@CFastHeap@@QEAAXK@Z
+; public: void __cdecl CLimitationMapping::SetVtableLength(unsigned long,int) __ptr64
+?SetVtableLength@CLimitationMapping@@QEAAXKH@Z
+; protected: long __cdecl CWbemDataPacket::SetupDataPacketHeader(unsigned long,unsigned char,unsigned long,unsigned long) __ptr64
+?SetupDataPacketHeader@CWbemDataPacket@@IEAAJKEKK@Z
+; public: int __cdecl CLimitationMapping::ShouldAddChildKeys(void) __ptr64
+?ShouldAddChildKeys@CLimitationMapping@@QEAAHXZ
+; public: int __cdecl CLimitationMapping::ShouldIncludeDerivation(void) __ptr64
+?ShouldIncludeDerivation@CLimitationMapping@@QEAAHXZ
+; public: int __cdecl CLimitationMapping::ShouldIncludeNamespace(void) __ptr64
+?ShouldIncludeNamespace@CLimitationMapping@@QEAAHXZ
+; public: int __cdecl CLimitationMapping::ShouldIncludeServer(void) __ptr64
+?ShouldIncludeServer@CLimitationMapping@@QEAAHXZ
+; public: int __cdecl CFastPropertyBag::Size(void) __ptr64
+?Size@CFastPropertyBag@@QEAAHXZ
+; public: unsigned char * __ptr64 __cdecl CBasicQualifierSet::Skip(void) __ptr64
+?Skip@CBasicQualifierSet@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CFastHeap::Skip(void) __ptr64
+?Skip@CFastHeap@@QEAAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::Skip(void) __ptr64
+?Skip@CPropertyLookupTable@@QEAAPEAEXZ
+; public: void __cdecl CFixedBSTRArray::SortInPlace(void) __ptr64
+?SortInPlace@CFixedBSTRArray@@QEAAXXZ
+; public: virtual long __cdecl CWbemClass::SpawnDerivedClass(long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?SpawnDerivedClass@CWbemClass@@UEAAJJPEAPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemInstance::SpawnDerivedClass(long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?SpawnDerivedClass@CWbemInstance@@UEAAJJPEAPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemClass::SpawnInstance(long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?SpawnInstance@CWbemClass@@UEAAJJPEAPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemInstance::SpawnInstance(long,struct IWbemClassObject * __ptr64 * __ptr64) __ptr64
+?SpawnInstance@CWbemInstance@@UEAAJJPEAPEAUIWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemClass::SpawnKeyedInstance(long,unsigned short const * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?SpawnKeyedInstance@CWbemClass@@UEAAJJPEBGPEAPEAU_IWmiObject@@@Z
+; public: virtual long __cdecl CWbemInstance::SpawnKeyedInstance(long,unsigned short const * __ptr64,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?SpawnKeyedInstance@CWbemInstance@@UEAAJJPEBGPEAPEAU_IWmiObject@@@Z
+; public: int __cdecl CCompressedString::StartsWithNoCase(unsigned short const * __ptr64)const  __ptr64
+?StartsWithNoCase@CCompressedString@@QEBAHPEBG@Z
+; public: virtual long __cdecl CWbemRemoteRefresher::XWbemRemoteRefr::StopRefreshing(long,long * __ptr64,long) __ptr64
+?StopRefreshing@XWbemRemoteRefr@CWbemRemoteRefresher@@UEAAJJPEAJJ@Z
+; public: void __cdecl CEmbeddedObject::StoreEmbedded(unsigned long,class CVar & __ptr64) __ptr64
+?StoreEmbedded@CEmbeddedObject@@QEAAXKAEAVCVar@@@Z
+; public: void __cdecl CEmbeddedObject::StoreEmbedded(unsigned long,class CWbemObject * __ptr64) __ptr64
+?StoreEmbedded@CEmbeddedObject@@QEAAXKPEAVCWbemObject@@@Z
+; protected: long __cdecl CQualifierSet::StoreQualifierConflicts(unsigned short const * __ptr64,class CVar & __ptr64,class CQualifierFlavor & __ptr64,class CVarVector & __ptr64) __ptr64
+?StoreQualifierConflicts@CQualifierSet@@IEAAJPEBGAEAVCVar@@AEAVCQualifierFlavor@@AEAVCVarVector@@@Z
+; public: int __cdecl CCompressedString::StoreToCVar(class CVar & __ptr64)const  __ptr64
+?StoreToCVar@CCompressedString@@QEBAHAEAVCVar@@@Z
+; public: void __cdecl CEmbeddedObject::StoreToCVar(class CVar & __ptr64) __ptr64
+?StoreToCVar@CEmbeddedObject@@QEAAXAEAVCVar@@@Z
+; public: virtual long __cdecl CWbemClass::StripClassPart(void) __ptr64
+?StripClassPart@CWbemClass@@UEAAJXZ
+; public: virtual long __cdecl CWbemInstance::StripClassPart(void) __ptr64
+?StripClassPart@CWbemInstance@@UEAAJXZ
+; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Swap(int,int) __ptr64
+?Swap@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXHH@Z
+; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Swap(int,int) __ptr64
+?Swap@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXHH@Z
+; public: long __cdecl CClassPart::TestCircularReference(unsigned short const * __ptr64) __ptr64
+?TestCircularReference@CClassPart@@QEAAJPEBG@Z
+; public: void __cdecl CFixedBSTRArray::ThreeWayMergeOrdered(class CFixedBSTRArray & __ptr64,class CFixedBSTRArray & __ptr64,class CFixedBSTRArray & __ptr64) __ptr64
+?ThreeWayMergeOrdered@CFixedBSTRArray@@QEAAXAEAV1@00@Z
+; public: static int __cdecl CBasicQualifierSet::TranslateToNewHeap(class CPtrSource * __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
+?TranslateToNewHeap@CBasicQualifierSet@@SAHPEAVCPtrSource@@PEAVCFastHeap@@1@Z
+; public: int __cdecl CCompressedString::TranslateToNewHeap(class CFastHeap * __ptr64,class CFastHeap * __ptr64) __ptr64
+?TranslateToNewHeap@CCompressedString@@QEAAHPEAVCFastHeap@@0@Z
+; public: int __cdecl CDataTable::TranslateToNewHeap(class CPropertyLookupTable * __ptr64,int,class CFastHeap * __ptr64,class CFastHeap * __ptr64) __ptr64
+?TranslateToNewHeap@CDataTable@@QEAAHPEAVCPropertyLookupTable@@HPEAVCFastHeap@@1@Z
+; public: int __cdecl CInstancePart::TranslateToNewHeap(class CClassPart & __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64) __ptr64
+?TranslateToNewHeap@CInstancePart@@QEAAHAEAVCClassPart@@PEAVCFastHeap@@1@Z
+; public: int __cdecl CQualifierSetList::TranslateToNewHeap(class CFastHeap * __ptr64,class CFastHeap * __ptr64) __ptr64
+?TranslateToNewHeap@CQualifierSetList@@QEAAHPEAVCFastHeap@@0@Z
+; public: static int __cdecl CUntypedArray::TranslateToNewHeap(class CPtrSource * __ptr64,class CType,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
+?TranslateToNewHeap@CUntypedArray@@SAHPEAVCPtrSource@@VCType@@PEAVCFastHeap@@2@Z
+; public: void __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Trim(void) __ptr64
+?Trim@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAXXZ
+; public: void __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Trim(void) __ptr64
+?Trim@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAXXZ
+; public: void __cdecl CFastHeap::Trim(void) __ptr64
+?Trim@CFastHeap@@QEAAXXZ
+; public: void __cdecl CInternalString::Unbind(void) __ptr64
+?Unbind@CInternalString@@QEAAXXZ
+; public: class CFastPropertyBagItem * __ptr64 * __ptr64 __cdecl CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::UnbindPtr(void) __ptr64
+?UnbindPtr@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QEAAPEAPEAVCFastPropertyBagItem@@XZ
+; public: class CWmiTextSource * __ptr64 * __ptr64 __cdecl CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::UnbindPtr(void) __ptr64
+?UnbindPtr@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QEAAPEAPEAVCWmiTextSource@@XZ
+; public: virtual void __cdecl CWbemClass::Undecorate(void) __ptr64
+?Undecorate@CWbemClass@@UEAAXXZ
+; public: virtual void __cdecl CWbemInstance::Undecorate(void) __ptr64
+?Undecorate@CWbemInstance@@UEAAXXZ
+; public: long __cdecl CWbemFetchRefrMgr::Uninit(void) __ptr64
+?Uninit@CWbemFetchRefrMgr@@QEAAJXZ
+; public: virtual long __cdecl CWbemFetchRefrMgr::XFetchRefrMgr::Uninit(void) __ptr64
+?Uninit@XFetchRefrMgr@CWbemFetchRefrMgr@@UEAAJXZ
+; public: int __cdecl CHiPerfLock::Unlock(void) __ptr64
+?Unlock@CHiPerfLock@@QEAAHXZ
+; public: int __cdecl CSharedLock::Unlock(void) __ptr64
+?Unlock@CSharedLock@@QEAAHXZ
+; public: virtual long __cdecl CWbemObject::Unlock(long) __ptr64
+?Unlock@CWbemObject@@UEAAJJ@Z
+; public: virtual long __cdecl CWbemObject::UnmarshalInterface(struct IStream * __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?UnmarshalInterface@CWbemObject@@UEAAJPEAUIStream@@AEBU_GUID@@PEAPEAX@Z
+; public: long __cdecl CWbemMtgtDeliverEventPacket::UnmarshalPacket(long & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64 & __ptr64,class CWbemClassCache & __ptr64) __ptr64
+?UnmarshalPacket@CWbemMtgtDeliverEventPacket@@QEAAJAEAJAEAPEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
+; public: long __cdecl CWbemObjectArrayPacket::UnmarshalPacket(long & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64 & __ptr64,class CWbemClassCache & __ptr64) __ptr64
+?UnmarshalPacket@CWbemObjectArrayPacket@@QEAAJAEAJAEAPEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
+; public: long __cdecl CWbemSmartEnumNextPacket::UnmarshalPacket(long & __ptr64,struct IWbemClassObject * __ptr64 * __ptr64 & __ptr64,class CWbemClassCache & __ptr64) __ptr64
+?UnmarshalPacket@CWbemSmartEnumNextPacket@@QEAAJAEAJAEAPEAPEAUIWbemClassObject@@AEAVCWbemClassCache@@@Z
+; public: static unsigned char * __ptr64 __cdecl CBasicQualifierSet::Unmerge(unsigned char * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64)
+?Unmerge@CBasicQualifierSet@@SAPEAEPEAEPEAVCFastHeap@@01@Z
+; public: unsigned char * __ptr64 __cdecl CClassAndMethods::Unmerge(unsigned char * __ptr64,unsigned long) __ptr64
+?Unmerge@CClassAndMethods@@QEAAPEAEPEAEK@Z
+; public: unsigned char * __ptr64 __cdecl CClassPart::Unmerge(unsigned char * __ptr64,int) __ptr64
+?Unmerge@CClassPart@@QEAAPEAEPEAEH@Z
+; public: unsigned char * __ptr64 __cdecl CDataTable::Unmerge(class CPropertyLookupTable * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
+?Unmerge@CDataTable@@QEAAPEAEPEAVCPropertyLookupTable@@PEAVCFastHeap@@PEAE1@Z
+; public: unsigned char * __ptr64 __cdecl CDerivationList::Unmerge(unsigned char * __ptr64) __ptr64
+?Unmerge@CDerivationList@@QEAAPEAEPEAE@Z
+; public: unsigned char * __ptr64 __cdecl CMethodPart::Unmerge(unsigned char * __ptr64,unsigned long) __ptr64
+?Unmerge@CMethodPart@@QEAAPEAEPEAEK@Z
+; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::Unmerge(class CDataTable * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
+?Unmerge@CPropertyLookupTable@@QEAAPEAEPEAVCDataTable@@PEAVCFastHeap@@PEAE1@Z
+; public: virtual long __cdecl CWbemClass::Unmerge(unsigned char * __ptr64,int,unsigned long * __ptr64) __ptr64
+?Unmerge@CWbemClass@@UEAAJPEAEHPEAK@Z
+; public: virtual long __cdecl CWbemInstance::Unmerge(unsigned char * __ptr64,int,unsigned long * __ptr64) __ptr64
+?Unmerge@CWbemInstance@@UEAAJPEAEHPEAK@Z
+; public: unsigned long __cdecl CWbemObject::Unmerge(unsigned char * __ptr64 * __ptr64) __ptr64
+?Unmerge@CWbemObject@@QEAAKPEAPEAE@Z
+; public: virtual long __cdecl CWbemObject::Unmerge(long,unsigned long,unsigned long * __ptr64,void * __ptr64) __ptr64
+?Unmerge@CWbemObject@@UEAAJJKPEAKPEAX@Z
+; public: static long __cdecl CClassAndMethods::Update(class CClassAndMethods & __ptr64,class CClassAndMethods & __ptr64,long)
+?Update@CClassAndMethods@@SAJAEAV1@0J@Z
+; public: static long __cdecl CClassPart::Update(class CClassPart & __ptr64,class CClassPart & __ptr64,long)
+?Update@CClassPart@@SAJAEAV1@0J@Z
+; public: static long __cdecl CMethodPart::Update(class CMethodPart & __ptr64,class CMethodPart & __ptr64,long)
+?Update@CMethodPart@@SAJAEAV1@0J@Z
+; public: long __cdecl CQualifierSet::Update(class CBasicQualifierSet & __ptr64,long,class CFixedBSTRArray * __ptr64) __ptr64
+?Update@CQualifierSet@@QEAAJAEAVCBasicQualifierSet@@JPEAVCFixedBSTRArray@@@Z
+; public: long __cdecl CWbemClass::Update(class CWbemClass * __ptr64,long,class CWbemClass * __ptr64 * __ptr64) __ptr64
+?Update@CWbemClass@@QEAAJPEAV1@JPEAPEAV1@@Z
+; public: virtual long __cdecl CWbemClass::Update(struct _IWmiObject * __ptr64,long,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?Update@CWbemClass@@UEAAJPEAU_IWmiObject@@JPEAPEAU2@@Z
+; public: virtual long __cdecl CWbemInstance::Update(struct _IWmiObject * __ptr64,long,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?Update@CWbemInstance@@UEAAJPEAU_IWmiObject@@JPEAPEAU2@@Z
+; public: static long __cdecl CClassPart::UpdateProperties(class CClassPart & __ptr64,class CClassPart & __ptr64,long)
+?UpdateProperties@CClassPart@@SAJAEAV1@0J@Z
+; public: virtual long __cdecl CWbemClass::Upgrade(struct _IWmiObject * __ptr64,long,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?Upgrade@CWbemClass@@UEAAJPEAU_IWmiObject@@JPEAPEAU2@@Z
+; public: virtual long __cdecl CWbemInstance::Upgrade(struct _IWmiObject * __ptr64,long,struct _IWmiObject * __ptr64 * __ptr64) __ptr64
+?Upgrade@CWbemInstance@@UEAAJPEAU_IWmiObject@@JPEAPEAU2@@Z
+; protected: static char __cdecl CCompressedString::UpperByte(unsigned short)
+?UpperByte@CCompressedString@@KADG@Z
+; public: static class CType  __cdecl CType::VARTYPEToType(unsigned short)
+?VARTYPEToType@CType@@SA?AV1@G@Z
+; public: long __cdecl CWbemInstance::Validate(void) __ptr64
+?Validate@CWbemInstance@@QEAAJXZ
+; public: static unsigned __int64 __cdecl CBasicQualifierSet::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
+?ValidateBuffer@CBasicQualifierSet@@SA_KPEAE_K@Z
+; public: static unsigned __int64 __cdecl CClassAndMethods::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
+?ValidateBuffer@CClassAndMethods@@SA_KPEAE_K@Z
+; public: static unsigned __int64 __cdecl CClassPart::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
+?ValidateBuffer@CClassPart@@SA_KPEAE_K@Z
+; public: static unsigned __int64 __cdecl CCompressedStringList::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
+?ValidateBuffer@CCompressedStringList@@SA_KPEAE_K@Z
+; public: static unsigned __int64 __cdecl CDataTable::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,int)
+?ValidateBuffer@CDataTable@@SA_KPEAE_KH@Z
+; public: static unsigned __int64 __cdecl CDecorationPart::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
+?ValidateBuffer@CDecorationPart@@SA_KPEAE_K@Z
+; public: static void __cdecl CEmbeddedObject::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
+?ValidateBuffer@CEmbeddedObject@@SAXPEAE_KAEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: static unsigned __int64 __cdecl CFastHeap::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
+?ValidateBuffer@CFastHeap@@SA_KPEAE_K@Z
+; public: static unsigned __int64 __cdecl CInstancePart::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,class CClassPart & __ptr64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
+?ValidateBuffer@CInstancePart@@SA_KPEAE_KAEAVCClassPart@@AEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: static unsigned __int64 __cdecl CMethodPart::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
+?ValidateBuffer@CMethodPart@@SA_KPEAE_K@Z
+; public: static unsigned __int64 __cdecl CPropertyLookupTable::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
+?ValidateBuffer@CPropertyLookupTable@@SA_KPEAE_K@Z
+; public: static unsigned __int64 __cdecl CQualifierSetList::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,int)
+?ValidateBuffer@CQualifierSetList@@SA_KPEAE_KH@Z
+; public: static unsigned __int64 __cdecl CWbemClass::ValidateBuffer(unsigned char * __ptr64,unsigned __int64)
+?ValidateBuffer@CWbemClass@@SA_KPEAE_K@Z
+; public: static unsigned __int64 __cdecl CWbemInstance::ValidateBuffer(unsigned char * __ptr64,int,unsigned long,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
+?ValidateBuffer@CWbemInstance@@SA_KPEAEHKAEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: static unsigned __int64 __cdecl CWbemInstance::ValidateBuffer(unsigned char * __ptr64,int,class CWbemInstance * __ptr64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
+?ValidateBuffer@CWbemInstance@@SA_KPEAEHPEAV1@AEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: static unsigned __int64 __cdecl CWbemInstance::ValidateBuffer(unsigned char * __ptr64,unsigned __int64,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > & __ptr64)
+?ValidateBuffer@CWbemInstance@@SA_KPEAE_KAEAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: long __cdecl CLimitationMapping::ValidateInstance(class CWbemInstance * __ptr64) __ptr64
+?ValidateInstance@CLimitationMapping@@QEAAJPEAVCWbemInstance@@@Z
+; public: virtual long __cdecl CWbemObject::ValidateObject(long) __ptr64
+?ValidateObject@CWbemObject@@UEAAJJ@Z
+; protected: long __cdecl CMethodPart::ValidateOutParams(class CWbemObject * __ptr64) __ptr64
+?ValidateOutParams@CMethodPart@@IEAAJPEAVCWbemObject@@@Z
+; public: long __cdecl CWbemObject::ValidatePath(struct ParsedObjectPath * __ptr64) __ptr64
+?ValidatePath@CWbemObject@@QEAAJPEAUParsedObjectPath@@@Z
+; public: long __cdecl CPropertyLookupTable::ValidateRange(unsigned short * __ptr64 * __ptr64,class CDataTable * __ptr64,class CFastHeap * __ptr64) __ptr64
+?ValidateRange@CPropertyLookupTable@@QEAAJPEAPEAGPEAVCDataTable@@PEAVCFastHeap@@@Z
+; public: int __cdecl CWbemObject::ValidateRange(unsigned short * __ptr64 * __ptr64) __ptr64
+?ValidateRange@CWbemObject@@QEAAHPEAPEAG@Z
+; public: long __cdecl CQualifierSet::ValidateSet(unsigned short const * __ptr64,unsigned char,class CTypedValue * __ptr64,int,int) __ptr64
+?ValidateSet@CQualifierSet@@QEAAJPEBGEPEAVCTypedValue@@HH@Z
+; public: int __cdecl CCompressedString::ValidateSize(int)const  __ptr64
+?ValidateSize@CCompressedString@@QEBAHH@Z
+; public: static long __cdecl CWbemObject::WbemObjectFromCOMPtr(struct IUnknown * __ptr64,class CWbemObject * __ptr64 * __ptr64)
+?WbemObjectFromCOMPtr@CWbemObject@@SAJPEAUIUnknown@@PEAPEAV1@@Z
+; unsigned short * __ptr64 __cdecl WbemStringCopy(unsigned short const * __ptr64)
+?WbemStringCopy@@YAPEAGPEBG@Z
+; void __cdecl WbemStringFree(unsigned short * __ptr64)
+?WbemStringFree@@YAXPEAG@Z
+; protected: long __cdecl CWbemRefreshingSvc::WrapRemoteRefresher(struct IWbemRemoteRefresher * __ptr64 * __ptr64) __ptr64
+?WrapRemoteRefresher@CWbemRefreshingSvc@@IEAAJPEAPEAUIWbemRemoteRefresher@@@Z
+; public: virtual long __cdecl CWbemObject::WriteDWORD(long,unsigned long) __ptr64
+?WriteDWORD@CWbemObject@@UEAAJJK@Z
+; public: long __cdecl CWbemClass::WriteDerivedClass(unsigned char * __ptr64,int,class CDecorationPart * __ptr64) __ptr64
+?WriteDerivedClass@CWbemClass@@QEAAJPEAEHPEAVCDecorationPart@@@Z
+; public: virtual long __cdecl CWbemObject::WriteProp(unsigned short const * __ptr64,long,unsigned long,unsigned long,long,void * __ptr64) __ptr64
+?WriteProp@CWbemObject@@UEAAJPEBGJKKJPEAX@Z
+; public: static unsigned char * __ptr64 __cdecl CBasicQualifierSet::WritePropagatedVersion(class CPtrSource * __ptr64,unsigned char,class CPtrSource * __ptr64,class CFastHeap * __ptr64,class CFastHeap * __ptr64)
+?WritePropagatedVersion@CBasicQualifierSet@@SAPEAEPEAVCPtrSource@@E0PEAVCFastHeap@@1@Z
+; public: unsigned char * __ptr64 __cdecl CDataTable::WritePropagatedVersion(class CPropertyLookupTable * __ptr64,class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
+?WritePropagatedVersion@CDataTable@@QEAAPEAEPEAVCPropertyLookupTable@@PEAVCFastHeap@@PEAE1@Z
+; public: unsigned char * __ptr64 __cdecl CPropertyLookupTable::WritePropagatedVersion(class CFastHeap * __ptr64,unsigned char * __ptr64,class CFastHeap * __ptr64) __ptr64
+?WritePropagatedVersion@CPropertyLookupTable@@QEAAPEAEPEAVCFastHeap@@PEAE0@Z
+; public: long __cdecl CWbemClass::WritePropertyAsMethodParam(class WString & __ptr64,int,long,class CWbemClass * __ptr64,int) __ptr64
+?WritePropertyAsMethodParam@CWbemClass@@QEAAJAEAVWString@@HJPEAV1@H@Z
+; public: virtual long __cdecl CWbemObject::WritePropertyValue(long,long,unsigned char const * __ptr64) __ptr64
+?WritePropertyValue@CWbemObject@@UEAAJJJPEBE@Z
+; public: virtual long __cdecl CWbemObject::WriteQWORD(long,unsigned __int64) __ptr64
+?WriteQWORD@CWbemObject@@UEAAJJ_K@Z
+; public: unsigned char * __ptr64 __cdecl CDataTable::WriteSmallerVersion(int,unsigned long,unsigned char * __ptr64) __ptr64
+?WriteSmallerVersion@CDataTable@@QEAAPEAEHKPEAE@Z
+; public: unsigned char * __ptr64 __cdecl CQualifierSetList::WriteSmallerVersion(int,unsigned char * __ptr64) __ptr64
+?WriteSmallerVersion@CQualifierSetList@@QEAAPEAEHPEAE@Z
+; public: virtual long __cdecl CWbemInstance::WriteToStream(struct IStream * __ptr64) __ptr64
+?WriteToStream@CWbemInstance@@UEAAJPEAUIStream@@@Z
+; public: virtual long __cdecl CWbemObject::WriteToStream(struct IStream * __ptr64) __ptr64
+?WriteToStream@CWbemObject@@UEAAJPEAUIStream@@@Z
+; public: static void __cdecl CWbemInstance::WriteTransferArrayHeader(long,unsigned char * __ptr64 * __ptr64)
+?WriteTransferArrayHeader@CWbemInstance@@SAXJPEAPEAE@Z
+; public: virtual long __cdecl CWbemObject::_GetCoreInfo(long,void * __ptr64 * __ptr64) __ptr64
+?_GetCoreInfo@CWbemObject@@UEAAJJPEAPEAX@Z
+; public: static unsigned short * __ptr64 __cdecl CCompressedString::fast_wcscpy(unsigned short * __ptr64,unsigned short const * __ptr64)
+?fast_wcscpy@CCompressedString@@SAPEAGPEAGPEBG@Z
+; public: static int __cdecl CCompressedString::fast_wcslen(unsigned short const * __ptr64)
+?fast_wcslen@CCompressedString@@SAHPEBG@Z
+; public: static unsigned short * __ptr64 __cdecl CCompressedString::fast_wcsncpy(unsigned short * __ptr64,unsigned short const * __ptr64,int)
+?fast_wcsncpy@CCompressedString@@SAPEAGPEAGPEBGH@Z
+; protected: static unsigned char *  CWbemDataPacket::s_abSignature
+?s_abSignature@CWbemDataPacket@@1PAEA DATA
+; private: static unsigned short const * __ptr64 *  CReservedWordTable::s_apwszReservedWords
+?s_apwszReservedWords@CReservedWordTable@@0PAPEBGA DATA
+; protected: static class CStaticCritSec  CWbemFetchRefrMgr::s_cs
+?s_cs@CWbemFetchRefrMgr@@1VCStaticCritSec@@A DATA
+; protected: static struct _IWbemRefresherMgr * __ptr64  __ptr64 CWbemFetchRefrMgr::s_pRefrMgr
+?s_pRefrMgr@CWbemFetchRefrMgr@@1PEAU_IWbemRefresherMgr@@EA DATA
+; private: static unsigned short const * __ptr64 const  __ptr64 CReservedWordTable::s_pszStartingCharsLCase
+?s_pszStartingCharsLCase@CReservedWordTable@@0PEBGEB DATA
+; private: static unsigned short const * __ptr64 const  __ptr64 CReservedWordTable::s_pszStartingCharsUCase
+?s_pszStartingCharsUCase@CReservedWordTable@@0PEBGEB DATA
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetObjectCount
diff --git a/mingw-w64-crt/lib64/faultrep.def b/mingw-w64-crt/lib64/faultrep.def
index 934e74c..dd0e6eb 100644
--- a/mingw-w64-crt/lib64/faultrep.def
+++ b/mingw-w64-crt/lib64/faultrep.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file faultrep.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY faultrep.DLL
-EXPORTS
-AddERExcludedApplicationA
-AddERExcludedApplicationW
-CreateMinidumpW
-ReportEREvent
-ReportEREventDW
-ReportFault
-ReportFaultDWM
-ReportFaultFromQueue
-ReportFaultToQueue
-ReportHang
-ReportKernelFaultDWW
+; 
+; Exports of file faultrep.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY faultrep.DLL
+EXPORTS
+AddERExcludedApplicationA
+AddERExcludedApplicationW
+CreateMinidumpW
+ReportEREvent
+ReportEREventDW
+ReportFault
+ReportFaultDWM
+ReportFaultFromQueue
+ReportFaultToQueue
+ReportHang
+ReportKernelFaultDWW
diff --git a/mingw-w64-crt/lib64/fcachdll.def b/mingw-w64-crt/lib64/fcachdll.def
index 95208bf..5815ed6 100644
--- a/mingw-w64-crt/lib64/fcachdll.def
+++ b/mingw-w64-crt/lib64/fcachdll.def
@@ -1,43 +1,43 @@
-; 
-; Exports of file FCACHDLL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FCACHDLL.dll
-EXPORTS
-AddRefContext
-AssociateContextWithName
-AssociateFile
-AssociateFileEx
-CacheCreateFile
-CacheRemoveFiles
-CacheRichCreateFile
-CloseNonCachedFile
-CompleteDotStuffingOnWrites
-FIOInitialize
-FIOReadFile
-FIOReadFileEx
-FIOTerminate
-FIOWriteFile
-FIOWriteFileEx
-FindContextFromName
-FindOrCreateNameCache
-FindSyncContextFromName
-GetDotStuffState
-GetFileSizeFromContext
-GetIsFileDotTerminated
-InitializeCache
-InsertFile
-InvalidateName
-ProduceDotStuffedContext
-ProduceDotStuffedContextInContext
-ReleaseContext
-ReleaseNameCache
-SetDotScanningOnReads
-SetDotScanningOnWrites
-SetDotStuffState
-SetDotStuffingOnWrites
-SetIsFileDotTerminated
-SetNameCacheSecurityFunction
-TerminateCache
+; 
+; Exports of file FCACHDLL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FCACHDLL.dll
+EXPORTS
+AddRefContext
+AssociateContextWithName
+AssociateFile
+AssociateFileEx
+CacheCreateFile
+CacheRemoveFiles
+CacheRichCreateFile
+CloseNonCachedFile
+CompleteDotStuffingOnWrites
+FIOInitialize
+FIOReadFile
+FIOReadFileEx
+FIOTerminate
+FIOWriteFile
+FIOWriteFileEx
+FindContextFromName
+FindOrCreateNameCache
+FindSyncContextFromName
+GetDotStuffState
+GetFileSizeFromContext
+GetIsFileDotTerminated
+InitializeCache
+InsertFile
+InvalidateName
+ProduceDotStuffedContext
+ProduceDotStuffedContextInContext
+ReleaseContext
+ReleaseNameCache
+SetDotScanningOnReads
+SetDotScanningOnWrites
+SetDotStuffState
+SetDotStuffingOnWrites
+SetIsFileDotTerminated
+SetNameCacheSecurityFunction
+TerminateCache
diff --git a/mingw-w64-crt/lib64/fde.def b/mingw-w64-crt/lib64/fde.def
index 8e9aea7..e2fdf04 100644
--- a/mingw-w64-crt/lib64/fde.def
+++ b/mingw-w64-crt/lib64/fde.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FDE.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FDE.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file FDE.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FDE.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/fdeploy.def b/mingw-w64-crt/lib64/fdeploy.def
index 7cd26f2..32d4ce6 100644
--- a/mingw-w64-crt/lib64/fdeploy.def
+++ b/mingw-w64-crt/lib64/fdeploy.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FDEPLOY.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FDEPLOY.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-GenerateGroupPolicy
-ProcessGroupPolicyEx
+; 
+; Exports of file FDEPLOY.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FDEPLOY.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+GenerateGroupPolicy
+ProcessGroupPolicyEx
diff --git a/mingw-w64-crt/lib64/feclient.def b/mingw-w64-crt/lib64/feclient.def
index 3c12826..56692d4 100644
--- a/mingw-w64-crt/lib64/feclient.def
+++ b/mingw-w64-crt/lib64/feclient.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file FeClient.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FeClient.dll
-EXPORTS
-FeClientInitialize
+; 
+; Exports of file FeClient.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FeClient.dll
+EXPORTS
+FeClientInitialize
diff --git a/mingw-w64-crt/lib64/filemgmt.def b/mingw-w64-crt/lib64/filemgmt.def
index d9703f9..c2e47e3 100644
--- a/mingw-w64-crt/lib64/filemgmt.def
+++ b/mingw-w64-crt/lib64/filemgmt.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file FILEMGMT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FILEMGMT.DLL
-EXPORTS
-CacheSettingsDlg
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file FILEMGMT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FILEMGMT.DLL
+EXPORTS
+CacheSettingsDlg
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/fldrclnr.def b/mingw-w64-crt/lib64/fldrclnr.def
index 79d8f4e..697eb73 100644
--- a/mingw-w64-crt/lib64/fldrclnr.def
+++ b/mingw-w64-crt/lib64/fldrclnr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FldrClnr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FldrClnr.dll
-EXPORTS
-DllInstall
-DllMain
-DllRegisterServer
-Wizard_RunDLL
+; 
+; Exports of file FldrClnr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FldrClnr.dll
+EXPORTS
+DllInstall
+DllMain
+DllRegisterServer
+Wizard_RunDLL
diff --git a/mingw-w64-crt/lib64/fltlib.def b/mingw-w64-crt/lib64/fltlib.def
index 17bc8d4..a1cb0b6 100644
--- a/mingw-w64-crt/lib64/fltlib.def
+++ b/mingw-w64-crt/lib64/fltlib.def
@@ -1,37 +1,37 @@
-; 
-; Exports of file FLTLIB.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FLTLIB.DLL
-EXPORTS
-FilterAttach
-FilterAttachAtAltitude
-FilterClose
-FilterConnectCommunicationPort
-FilterCreate
-FilterDetach
-FilterFindClose
-FilterFindFirst
-FilterFindNext
-FilterGetDosName
-FilterGetInformation
-FilterGetMessage
-FilterInstanceClose
-FilterInstanceCreate
-FilterInstanceFindClose
-FilterInstanceFindFirst
-FilterInstanceFindNext
-FilterInstanceGetInformation
-FilterLoad
-FilterReplyMessage
-FilterSendMessage
-FilterUnload
-FilterVolumeClose
-FilterVolumeFindClose
-FilterVolumeFindFirst
-FilterVolumeFindNext
-FilterVolumeInstanceFindClose
-FilterVolumeInstanceFindFirst
-FilterVolumeInstanceFindNext
+; 
+; Exports of file FLTLIB.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FLTLIB.DLL
+EXPORTS
+FilterAttach
+FilterAttachAtAltitude
+FilterClose
+FilterConnectCommunicationPort
+FilterCreate
+FilterDetach
+FilterFindClose
+FilterFindFirst
+FilterFindNext
+FilterGetDosName
+FilterGetInformation
+FilterGetMessage
+FilterInstanceClose
+FilterInstanceCreate
+FilterInstanceFindClose
+FilterInstanceFindFirst
+FilterInstanceFindNext
+FilterInstanceGetInformation
+FilterLoad
+FilterReplyMessage
+FilterSendMessage
+FilterUnload
+FilterVolumeClose
+FilterVolumeFindClose
+FilterVolumeFindFirst
+FilterVolumeFindNext
+FilterVolumeInstanceFindClose
+FilterVolumeInstanceFindFirst
+FilterVolumeInstanceFindNext
diff --git a/mingw-w64-crt/lib64/fmifs.def b/mingw-w64-crt/lib64/fmifs.def
index ecac74c..e33dac3 100644
--- a/mingw-w64-crt/lib64/fmifs.def
+++ b/mingw-w64-crt/lib64/fmifs.def
@@ -1,24 +1,24 @@
-; 
-; Exports of file FMIFS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FMIFS.dll
-EXPORTS
-Chkdsk
-ChkdskEx
-ComputeFmMediaType
-DiskCopy
-EnableVolumeCompression
-Extend
-Format
-FormatEx
-FormatEx2
-QueryAvailableFileSystemFormat
-QueryDeviceInformation
-QueryDeviceInformationByHandle
-QueryFileSystemName
-QueryLatestFileSystemVersion
-QuerySupportedMedia
-SetLabel
+; 
+; Exports of file FMIFS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FMIFS.dll
+EXPORTS
+Chkdsk
+ChkdskEx
+ComputeFmMediaType
+DiskCopy
+EnableVolumeCompression
+Extend
+Format
+FormatEx
+FormatEx2
+QueryAvailableFileSystemFormat
+QueryDeviceInformation
+QueryDeviceInformationByHandle
+QueryFileSystemName
+QueryLatestFileSystemVersion
+QuerySupportedMedia
+SetLabel
diff --git a/mingw-w64-crt/lib64/fontext.def b/mingw-w64-crt/lib64/fontext.def
index 2484a09..86ec9f4 100644
--- a/mingw-w64-crt/lib64/fontext.def
+++ b/mingw-w64-crt/lib64/fontext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file fontext.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY fontext.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file fontext.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY fontext.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/fontsub.def b/mingw-w64-crt/lib64/fontsub.def
index 849011f..c6180cf 100644
--- a/mingw-w64-crt/lib64/fontsub.def
+++ b/mingw-w64-crt/lib64/fontsub.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file FONTSUB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FONTSUB.dll
-EXPORTS
-CreateFontPackage
-MergeFontPackage
+; 
+; Exports of file FONTSUB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FONTSUB.dll
+EXPORTS
+CreateFontPackage
+MergeFontPackage
diff --git a/mingw-w64-crt/lib64/framedyn.def b/mingw-w64-crt/lib64/framedyn.def
index a2b8ab1..feea2ad 100644
--- a/mingw-w64-crt/lib64/framedyn.def
+++ b/mingw-w64-crt/lib64/framedyn.def
@@ -1,1219 +1,1219 @@
-; 
-; Exports of file framedyn.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY framedyn.dll
-EXPORTS
-; public: __cdecl CAutoEvent::CAutoEvent(void) __ptr64
-??0CAutoEvent@@QEAA@XZ
-; public: __cdecl CFrameworkQuery::CFrameworkQuery(class CFrameworkQuery const & __ptr64) __ptr64
-??0CFrameworkQuery@@QEAA@AEBV0@@Z
-; public: __cdecl CFrameworkQuery::CFrameworkQuery(void) __ptr64
-??0CFrameworkQuery@@QEAA@XZ
-; public: __cdecl CFrameworkQueryEx::CFrameworkQueryEx(class CFrameworkQueryEx const & __ptr64) __ptr64
-??0CFrameworkQueryEx@@QEAA@AEBV0@@Z
-; public: __cdecl CFrameworkQueryEx::CFrameworkQueryEx(void) __ptr64
-??0CFrameworkQueryEx@@QEAA@XZ
-; public: __cdecl CHPtrArray::CHPtrArray(void) __ptr64
-??0CHPtrArray@@QEAA@XZ
-; public: __cdecl CHString::CHString(class CHString const & __ptr64) __ptr64
-??0CHString@@QEAA@AEBV0@@Z
-; public: __cdecl CHString::CHString(unsigned short,int) __ptr64
-??0CHString@@QEAA@GH@Z
-; public: __cdecl CHString::CHString(char const * __ptr64) __ptr64
-??0CHString@@QEAA@PEBD@Z
-; public: __cdecl CHString::CHString(unsigned char const * __ptr64) __ptr64
-??0CHString@@QEAA@PEBE@Z
-; public: __cdecl CHString::CHString(unsigned short const * __ptr64) __ptr64
-??0CHString@@QEAA@PEBG@Z
-; public: __cdecl CHString::CHString(unsigned short const * __ptr64,int) __ptr64
-??0CHString@@QEAA@PEBGH@Z
-; public: __cdecl CHString::CHString(void) __ptr64
-??0CHString@@QEAA@XZ
-; public: __cdecl CHStringArray::CHStringArray(void) __ptr64
-??0CHStringArray@@QEAA@XZ
-; public: __cdecl CInstance::CInstance(class CInstance const & __ptr64) __ptr64
-??0CInstance@@QEAA@AEBV0@@Z
-; public: __cdecl CInstance::CInstance(struct IWbemClassObject * __ptr64,class MethodContext * __ptr64) __ptr64
-??0CInstance@@QEAA@PEAUIWbemClassObject@@PEAVMethodContext@@@Z
-; public: __cdecl CObjectPathParser::CObjectPathParser(enum ObjectParserFlags) __ptr64
-??0CObjectPathParser@@QEAA@W4ObjectParserFlags@@@Z
-; public: __cdecl CRegistry::CRegistry(class CRegistry const & __ptr64) __ptr64
-??0CRegistry@@QEAA@AEBV0@@Z
-; public: __cdecl CRegistry::CRegistry(void) __ptr64
-??0CRegistry@@QEAA@XZ
-; public: __cdecl CRegistrySearch::CRegistrySearch(class CRegistrySearch const & __ptr64) __ptr64
-??0CRegistrySearch@@QEAA@AEBV0@@Z
-; public: __cdecl CRegistrySearch::CRegistrySearch(void) __ptr64
-??0CRegistrySearch@@QEAA@XZ
-; public: __cdecl CThreadBase::CThreadBase(class CThreadBase const & __ptr64) __ptr64
-??0CThreadBase@@QEAA@AEBV0@@Z
-; public: __cdecl CThreadBase::CThreadBase(enum CThreadBase::THREAD_SAFETY_MECHANISM) __ptr64
-??0CThreadBase@@QEAA@W4THREAD_SAFETY_MECHANISM@0@@Z
-; public: __cdecl CWbemGlueFactory::CWbemGlueFactory(class CWbemGlueFactory const & __ptr64) __ptr64
-??0CWbemGlueFactory@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemGlueFactory::CWbemGlueFactory(long * __ptr64) __ptr64
-??0CWbemGlueFactory@@QEAA@PEAJ@Z
-; public: __cdecl CWbemGlueFactory::CWbemGlueFactory(void) __ptr64
-??0CWbemGlueFactory@@QEAA@XZ
-; public: __cdecl CWbemProviderGlue::CWbemProviderGlue(class CWbemProviderGlue const & __ptr64) __ptr64
-??0CWbemProviderGlue@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemProviderGlue::CWbemProviderGlue(long * __ptr64) __ptr64
-??0CWbemProviderGlue@@QEAA@PEAJ@Z
-; public: __cdecl CWbemProviderGlue::CWbemProviderGlue(void) __ptr64
-??0CWbemProviderGlue@@QEAA@XZ
-; public: __cdecl CWinMsgEvent::CWinMsgEvent(class CWinMsgEvent const & __ptr64) __ptr64
-??0CWinMsgEvent@@QEAA@AEBV0@@Z
-; public: __cdecl CWinMsgEvent::CWinMsgEvent(void) __ptr64
-??0CWinMsgEvent@@QEAA@XZ
-; public: __cdecl CreateMutexAsProcess::CreateMutexAsProcess(unsigned short const * __ptr64) __ptr64
-??0CreateMutexAsProcess@@QEAA@PEBG@Z
-; public: __cdecl KeyRef::KeyRef(unsigned short const * __ptr64,struct tagVARIANT const * __ptr64) __ptr64
-??0KeyRef@@QEAA@PEBGPEBUtagVARIANT@@@Z
-; public: __cdecl KeyRef::KeyRef(void) __ptr64
-??0KeyRef@@QEAA@XZ
-; public: __cdecl MethodContext::MethodContext(class MethodContext const & __ptr64) __ptr64
-??0MethodContext@@QEAA@AEBV0@@Z
-; public: __cdecl MethodContext::MethodContext(struct IWbemContext * __ptr64,class CWbemProviderGlue * __ptr64) __ptr64
-??0MethodContext@@QEAA@PEAUIWbemContext@@PEAVCWbemProviderGlue@@@Z
-; public: __cdecl ParsedObjectPath::ParsedObjectPath(void) __ptr64
-??0ParsedObjectPath@@QEAA@XZ
-; public: __cdecl Provider::Provider(class Provider const & __ptr64) __ptr64
-??0Provider@@QEAA@AEBV0@@Z
-; public: __cdecl Provider::Provider(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0Provider@@QEAA@PEBG0@Z
-; public: __cdecl ProviderLog::ProviderLog(class ProviderLog const & __ptr64) __ptr64
-??0ProviderLog@@QEAA@AEBV0@@Z
-; public: __cdecl ProviderLog::ProviderLog(void) __ptr64
-??0ProviderLog@@QEAA@XZ
-; public: __cdecl WBEMTime::WBEMTime(struct _FILETIME const & __ptr64) __ptr64
-??0WBEMTime@@QEAA@AEBU_FILETIME@@@Z
-; public: __cdecl WBEMTime::WBEMTime(struct _SYSTEMTIME const & __ptr64) __ptr64
-??0WBEMTime@@QEAA@AEBU_SYSTEMTIME@@@Z
-; public: __cdecl WBEMTime::WBEMTime(struct tm const & __ptr64) __ptr64
-??0WBEMTime@@QEAA@AEBUtm@@@Z
-; public: __cdecl WBEMTime::WBEMTime(__int64 const & __ptr64) __ptr64
-??0WBEMTime@@QEAA@AEB_J@Z
-; public: __cdecl WBEMTime::WBEMTime(unsigned short * __ptr64 const) __ptr64
-??0WBEMTime@@QEAA@QEAG@Z
-; public: __cdecl WBEMTime::WBEMTime(void) __ptr64
-??0WBEMTime@@QEAA@XZ
-; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(struct _FILETIME const & __ptr64) __ptr64
-??0WBEMTimeSpan@@QEAA@AEBU_FILETIME@@@Z
-; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(__int64 const & __ptr64) __ptr64
-??0WBEMTimeSpan@@QEAA@AEB_J@Z
-; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(int,int,int,int,int,int,int) __ptr64
-??0WBEMTimeSpan@@QEAA@HHHHHHH@Z
-; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(unsigned short * __ptr64 const) __ptr64
-??0WBEMTimeSpan@@QEAA@QEAG@Z
-; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(void) __ptr64
-??0WBEMTimeSpan@@QEAA@XZ
-; public: __cdecl std::_Lockit::_Lockit(void) __ptr64
-??0_Lockit@std@@QEAA@XZ
-; public: __cdecl CAutoEvent::~CAutoEvent(void) __ptr64
-??1CAutoEvent@@QEAA@XZ
-; public: __cdecl CFrameworkQuery::~CFrameworkQuery(void) __ptr64
-??1CFrameworkQuery@@QEAA@XZ
-; public: __cdecl CFrameworkQueryEx::~CFrameworkQueryEx(void) __ptr64
-??1CFrameworkQueryEx@@QEAA@XZ
-; public: __cdecl CHPtrArray::~CHPtrArray(void) __ptr64
-??1CHPtrArray@@QEAA@XZ
-; public: __cdecl CHString::~CHString(void) __ptr64
-??1CHString@@QEAA@XZ
-; public: __cdecl CHStringArray::~CHStringArray(void) __ptr64
-??1CHStringArray@@QEAA@XZ
-; public: virtual __cdecl CInstance::~CInstance(void) __ptr64
-??1CInstance@@UEAA@XZ
-; public: __cdecl CObjectPathParser::~CObjectPathParser(void) __ptr64
-??1CObjectPathParser@@QEAA@XZ
-; public: __cdecl CRegistry::~CRegistry(void) __ptr64
-??1CRegistry@@QEAA@XZ
-; public: __cdecl CRegistrySearch::~CRegistrySearch(void) __ptr64
-??1CRegistrySearch@@QEAA@XZ
-; public: virtual __cdecl CThreadBase::~CThreadBase(void) __ptr64
-??1CThreadBase@@UEAA@XZ
-; public: __cdecl CWbemGlueFactory::~CWbemGlueFactory(void) __ptr64
-??1CWbemGlueFactory@@QEAA@XZ
-; public: __cdecl CWbemProviderGlue::~CWbemProviderGlue(void) __ptr64
-??1CWbemProviderGlue@@QEAA@XZ
-; public: __cdecl CWinMsgEvent::~CWinMsgEvent(void) __ptr64
-??1CWinMsgEvent@@QEAA@XZ
-; public: __cdecl CreateMutexAsProcess::~CreateMutexAsProcess(void) __ptr64
-??1CreateMutexAsProcess@@QEAA@XZ
-; public: __cdecl KeyRef::~KeyRef(void) __ptr64
-??1KeyRef@@QEAA@XZ
-; public: virtual __cdecl MethodContext::~MethodContext(void) __ptr64
-??1MethodContext@@UEAA@XZ
-; public: __cdecl ParsedObjectPath::~ParsedObjectPath(void) __ptr64
-??1ParsedObjectPath@@QEAA@XZ
-; public: virtual __cdecl Provider::~Provider(void) __ptr64
-??1Provider@@UEAA@XZ
-; public: virtual __cdecl ProviderLog::~ProviderLog(void) __ptr64
-??1ProviderLog@@UEAA@XZ
-; public: __cdecl std::_Lockit::~_Lockit(void) __ptr64
-??1_Lockit@std@@QEAA@XZ
-; public: class CAutoEvent & __ptr64 __cdecl CAutoEvent::operator=(class CAutoEvent const & __ptr64) __ptr64
-??4CAutoEvent@@QEAAAEAV0@AEBV0@@Z
-; public: class CFrameworkQuery & __ptr64 __cdecl CFrameworkQuery::operator=(class CFrameworkQuery const & __ptr64) __ptr64
-??4CFrameworkQuery@@QEAAAEAV0@AEBV0@@Z
-; public: class CFrameworkQueryEx & __ptr64 __cdecl CFrameworkQueryEx::operator=(class CFrameworkQueryEx const & __ptr64) __ptr64
-??4CFrameworkQueryEx@@QEAAAEAV0@AEBV0@@Z
-; public: class CHPtrArray & __ptr64 __cdecl CHPtrArray::operator=(class CHPtrArray const & __ptr64) __ptr64
-??4CHPtrArray@@QEAAAEAV0@AEBV0@@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator=(class CHString const & __ptr64) __ptr64
-??4CHString@@QEAAAEBV0@AEBV0@@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator=(char) __ptr64
-??4CHString@@QEAAAEBV0@D@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator=(unsigned short) __ptr64
-??4CHString@@QEAAAEBV0@G@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator=(class CHString * __ptr64) __ptr64
-??4CHString@@QEAAAEBV0@PEAV0@@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator=(char const * __ptr64) __ptr64
-??4CHString@@QEAAAEBV0@PEBD@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator=(unsigned char const * __ptr64) __ptr64
-??4CHString@@QEAAAEBV0@PEBE@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator=(unsigned short const * __ptr64) __ptr64
-??4CHString@@QEAAAEBV0@PEBG@Z
-; public: class CHStringArray & __ptr64 __cdecl CHStringArray::operator=(class CHStringArray const & __ptr64) __ptr64
-??4CHStringArray@@QEAAAEAV0@AEBV0@@Z
-; public: class CInstance & __ptr64 __cdecl CInstance::operator=(class CInstance const & __ptr64) __ptr64
-??4CInstance@@QEAAAEAV0@AEBV0@@Z
-; public: class CObjectPathParser & __ptr64 __cdecl CObjectPathParser::operator=(class CObjectPathParser const & __ptr64) __ptr64
-??4CObjectPathParser@@QEAAAEAV0@AEBV0@@Z
-; public: class CRegistry & __ptr64 __cdecl CRegistry::operator=(class CRegistry const & __ptr64) __ptr64
-??4CRegistry@@QEAAAEAV0@AEBV0@@Z
-; public: class CRegistrySearch & __ptr64 __cdecl CRegistrySearch::operator=(class CRegistrySearch const & __ptr64) __ptr64
-??4CRegistrySearch@@QEAAAEAV0@AEBV0@@Z
-; public: class CThreadBase & __ptr64 __cdecl CThreadBase::operator=(class CThreadBase const & __ptr64) __ptr64
-??4CThreadBase@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemGlueFactory & __ptr64 __cdecl CWbemGlueFactory::operator=(class CWbemGlueFactory const & __ptr64) __ptr64
-??4CWbemGlueFactory@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemProviderGlue & __ptr64 __cdecl CWbemProviderGlue::operator=(class CWbemProviderGlue const & __ptr64) __ptr64
-??4CWbemProviderGlue@@QEAAAEAV0@AEBV0@@Z
-; public: class CWinMsgEvent & __ptr64 __cdecl CWinMsgEvent::operator=(class CWinMsgEvent const & __ptr64) __ptr64
-??4CWinMsgEvent@@QEAAAEAV0@AEBV0@@Z
-; public: class CreateMutexAsProcess & __ptr64 __cdecl CreateMutexAsProcess::operator=(class CreateMutexAsProcess const & __ptr64) __ptr64
-??4CreateMutexAsProcess@@QEAAAEAV0@AEBV0@@Z
-; public: struct KeyRef & __ptr64 __cdecl KeyRef::operator=(struct KeyRef const & __ptr64) __ptr64
-??4KeyRef@@QEAAAEAU0@AEBU0@@Z
-; public: class MethodContext & __ptr64 __cdecl MethodContext::operator=(class MethodContext const & __ptr64) __ptr64
-??4MethodContext@@QEAAAEAV0@AEBV0@@Z
-; public: struct ParsedObjectPath & __ptr64 __cdecl ParsedObjectPath::operator=(struct ParsedObjectPath const & __ptr64) __ptr64
-??4ParsedObjectPath@@QEAAAEAU0@AEBU0@@Z
-; public: class Provider & __ptr64 __cdecl Provider::operator=(class Provider const & __ptr64) __ptr64
-??4Provider@@QEAAAEAV0@AEBV0@@Z
-; public: class ProviderLog & __ptr64 __cdecl ProviderLog::operator=(class ProviderLog const & __ptr64) __ptr64
-??4ProviderLog@@QEAAAEAV0@AEBV0@@Z
-; public: class WBEMTime & __ptr64 __cdecl WBEMTime::operator=(class WBEMTime const & __ptr64) __ptr64
-??4WBEMTime@@QEAAAEAV0@AEBV0@@Z
-; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(struct _FILETIME const & __ptr64) __ptr64
-??4WBEMTime@@QEAAAEBV0@AEBU_FILETIME@@@Z
-; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(struct _SYSTEMTIME const & __ptr64) __ptr64
-??4WBEMTime@@QEAAAEBV0@AEBU_SYSTEMTIME@@@Z
-; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(struct tm const & __ptr64) __ptr64
-??4WBEMTime@@QEAAAEBV0@AEBUtm@@@Z
-; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(__int64 const & __ptr64) __ptr64
-??4WBEMTime@@QEAAAEBV0@AEB_J@Z
-; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(unsigned short * __ptr64 const) __ptr64
-??4WBEMTime@@QEAAAEBV0@QEAG@Z
-; public: class WBEMTimeSpan & __ptr64 __cdecl WBEMTimeSpan::operator=(class WBEMTimeSpan const & __ptr64) __ptr64
-??4WBEMTimeSpan@@QEAAAEAV0@AEBV0@@Z
-; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator=(struct _FILETIME const & __ptr64) __ptr64
-??4WBEMTimeSpan@@QEAAAEBV0@AEBU_FILETIME@@@Z
-; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator=(__int64 const & __ptr64) __ptr64
-??4WBEMTimeSpan@@QEAAAEBV0@AEB_J@Z
-; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator=(unsigned short * __ptr64 const) __ptr64
-??4WBEMTimeSpan@@QEAAAEBV0@QEAG@Z
-; public: int __cdecl WBEMTime::operator==(class WBEMTime const & __ptr64)const  __ptr64
-??8WBEMTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTimeSpan::operator==(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??8WBEMTimeSpan@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTime::operator!=(class WBEMTime const & __ptr64)const  __ptr64
-??9WBEMTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTimeSpan::operator!=(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??9WBEMTimeSpan@@QEBAHAEBV0@@Z
-; public: void * __ptr64 & __ptr64 __cdecl CHPtrArray::operator[](int) __ptr64
-??ACHPtrArray@@QEAAAEAPEAXH@Z
-; public: void * __ptr64 __cdecl CHPtrArray::operator[](int)const  __ptr64
-??ACHPtrArray@@QEBAPEAXH@Z
-; public: unsigned short __cdecl CHString::operator[](int)const  __ptr64
-??ACHString@@QEBAGH@Z
-; public: class CHString & __ptr64 __cdecl CHStringArray::operator[](int) __ptr64
-??ACHStringArray@@QEAAAEAVCHString@@H@Z
-; public: class CHString  __cdecl CHStringArray::operator[](int)const  __ptr64
-??ACHStringArray@@QEBA?AVCHString@@H@Z
-; public: __cdecl CHString::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCHString@@QEBAPEBGXZ
-; public: class WBEMTimeSpan  __cdecl WBEMTime::operator-(class WBEMTime const & __ptr64) __ptr64
-??GWBEMTime@@QEAA?AVWBEMTimeSpan@@AEBV0@@Z
-; public: class WBEMTime  __cdecl WBEMTime::operator-(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??GWBEMTime@@QEBA?AV0@AEBVWBEMTimeSpan@@@Z
-; public: class WBEMTimeSpan  __cdecl WBEMTimeSpan::operator-(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??GWBEMTimeSpan@@QEBA?AV0@AEBV0@@Z
-; class CHString  __cdecl operator+(class CHString const & __ptr64,class CHString const & __ptr64)
-??H@YA?AVCHString@@AEBV0@0@Z
-; class CHString  __cdecl operator+(class CHString const & __ptr64,unsigned short)
-??H@YA?AVCHString@@AEBV0@G@Z
-; class CHString  __cdecl operator+(class CHString const & __ptr64,unsigned short const * __ptr64)
-??H@YA?AVCHString@@AEBV0@PEBG@Z
-; class CHString  __cdecl operator+(unsigned short,class CHString const & __ptr64)
-??H@YA?AVCHString@@GAEBV0@@Z
-; class CHString  __cdecl operator+(unsigned short const * __ptr64,class CHString const & __ptr64)
-??H@YA?AVCHString@@PEBGAEBV0@@Z
-; public: class WBEMTime  __cdecl WBEMTime::operator+(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??HWBEMTime@@QEBA?AV0@AEBVWBEMTimeSpan@@@Z
-; public: class WBEMTimeSpan  __cdecl WBEMTimeSpan::operator+(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??HWBEMTimeSpan@@QEBA?AV0@AEBV0@@Z
-; public: int __cdecl WBEMTime::operator<(class WBEMTime const & __ptr64)const  __ptr64
-??MWBEMTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTimeSpan::operator<(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??MWBEMTimeSpan@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTime::operator<=(class WBEMTime const & __ptr64)const  __ptr64
-??NWBEMTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTimeSpan::operator<=(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??NWBEMTimeSpan@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTime::operator>(class WBEMTime const & __ptr64)const  __ptr64
-??OWBEMTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTimeSpan::operator>(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??OWBEMTimeSpan@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTime::operator>=(class WBEMTime const & __ptr64)const  __ptr64
-??PWBEMTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WBEMTimeSpan::operator>=(class WBEMTimeSpan const & __ptr64)const  __ptr64
-??PWBEMTimeSpan@@QEBAHAEBV0@@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator+=(class CHString const & __ptr64) __ptr64
-??YCHString@@QEAAAEBV0@AEBV0@@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator+=(char) __ptr64
-??YCHString@@QEAAAEBV0@D@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator+=(unsigned short) __ptr64
-??YCHString@@QEAAAEBV0@G@Z
-; public: class CHString const & __ptr64 __cdecl CHString::operator+=(unsigned short const * __ptr64) __ptr64
-??YCHString@@QEAAAEBV0@PEBG@Z
-; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator+=(class WBEMTimeSpan const & __ptr64) __ptr64
-??YWBEMTime@@QEAAAEBV0@AEBVWBEMTimeSpan@@@Z
-; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator+=(class WBEMTimeSpan const & __ptr64) __ptr64
-??YWBEMTimeSpan@@QEAAAEBV0@AEBV0@@Z
-; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator-=(class WBEMTimeSpan const & __ptr64) __ptr64
-??ZWBEMTime@@QEAAAEBV0@AEBVWBEMTimeSpan@@@Z
-; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator-=(class WBEMTimeSpan const & __ptr64) __ptr64
-??ZWBEMTimeSpan@@QEAAAEBV0@AEBV0@@Z
-; const  CFrameworkQueryEx::`vftable'
-??_7CFrameworkQueryEx@@6B@
-; const  CInstance::`vftable'
-??_7CInstance@@6B@
-; const  CThreadBase::`vftable'
-??_7CThreadBase@@6B@
-; const  CWbemGlueFactory::`vftable'
-??_7CWbemGlueFactory@@6B@
-; const  CWbemProviderGlue::`vftable'{for `IWbemProviderInit'}
-??_7CWbemProviderGlue@@6BIWbemProviderInit@@@
-; const  CWbemProviderGlue::`vftable'{for `IWbemServices'}
-??_7CWbemProviderGlue@@6BIWbemServices@@@
-; const  CWinMsgEvent::`vftable'
-??_7CWinMsgEvent@@6B@
-; const  MethodContext::`vftable'
-??_7MethodContext@@6B@
-; const  Provider::`vftable'
-??_7Provider@@6B@
-; const  ProviderLog::`vftable'
-??_7ProviderLog@@6B@
-; public: void __cdecl CObjectPathParser::`default constructor closure'(void) __ptr64
-??_FCObjectPathParser@@QEAAXXZ
-; public: void __cdecl CThreadBase::`default constructor closure'(void) __ptr64
-??_FCThreadBase@@QEAAXXZ
-; public: int __cdecl CHPtrArray::Add(void * __ptr64) __ptr64
-?Add@CHPtrArray@@QEAAHPEAX@Z
-; public: int __cdecl CHStringArray::Add(unsigned short const * __ptr64) __ptr64
-?Add@CHStringArray@@QEAAHPEBG@Z
-; private: void __cdecl CWbemProviderGlue::AddFlushPtr(void * __ptr64) __ptr64
-?AddFlushPtr@CWbemProviderGlue@@AEAAXPEAX@Z
-; public: int __cdecl ParsedObjectPath::AddKeyRef(struct KeyRef * __ptr64) __ptr64
-?AddKeyRef@ParsedObjectPath@@QEAAHPEAUKeyRef@@@Z
-; public: int __cdecl ParsedObjectPath::AddKeyRef(unsigned short const * __ptr64,struct tagVARIANT const * __ptr64) __ptr64
-?AddKeyRef@ParsedObjectPath@@QEAAHPEBGPEBUtagVARIANT@@@Z
-; public: int __cdecl ParsedObjectPath::AddKeyRefEx(unsigned short const * __ptr64,struct tagVARIANT const * __ptr64) __ptr64
-?AddKeyRefEx@ParsedObjectPath@@QEAAHPEBGPEBUtagVARIANT@@@Z
-; public: int __cdecl ParsedObjectPath::AddNamespace(unsigned short const * __ptr64) __ptr64
-?AddNamespace@ParsedObjectPath@@QEAAHPEBG@Z
-; private: static class Provider * __ptr64 __cdecl CWbemProviderGlue::AddProviderToMap(unsigned short const * __ptr64,unsigned short const * __ptr64,class Provider * __ptr64)
-?AddProviderToMap@CWbemProviderGlue@@CAPEAVProvider@@PEBG0PEAV2@@Z
-; public: long __cdecl CInstance::AddRef(void) __ptr64
-?AddRef@CInstance@@QEAAJXZ
-; public: long __cdecl CThreadBase::AddRef(void) __ptr64
-?AddRef@CThreadBase@@QEAAJXZ
-; public: virtual unsigned long __cdecl CWbemGlueFactory::AddRef(void) __ptr64
-?AddRef@CWbemGlueFactory@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemProviderGlue::AddRef(void) __ptr64
-?AddRef@CWbemProviderGlue@@UEAAKXZ
-; public: long __cdecl MethodContext::AddRef(void) __ptr64
-?AddRef@MethodContext@@QEAAJXZ
-; protected: static void __cdecl CWbemProviderGlue::AddToFactoryMap(class CWbemGlueFactory const * __ptr64,long * __ptr64)
-?AddToFactoryMap@CWbemProviderGlue@@KAXPEBVCWbemGlueFactory@@PEAJ@Z
-; public: bool __cdecl CFrameworkQuery::AllPropertiesAreRequired(void) __ptr64
-?AllPropertiesAreRequired@CFrameworkQuery@@QEAA_NXZ
-; protected: void __cdecl CHString::AllocBeforeWrite(int) __ptr64
-?AllocBeforeWrite@CHString@@IEAAXH@Z
-; protected: void __cdecl CHString::AllocBuffer(int) __ptr64
-?AllocBuffer@CHString@@IEAAXH@Z
-; protected: void __cdecl CHString::AllocCopy(class CHString & __ptr64,int,int,int)const  __ptr64
-?AllocCopy@CHString@@IEBAXAEAV1@HHH@Z
-; public: unsigned short * __ptr64 __cdecl CHString::AllocSysString(void)const  __ptr64
-?AllocSysString@CHString@@QEBAPEAGXZ
-; public: int __cdecl CHPtrArray::Append(class CHPtrArray const & __ptr64) __ptr64
-?Append@CHPtrArray@@QEAAHAEBV1@@Z
-; public: int __cdecl CHStringArray::Append(class CHStringArray const & __ptr64) __ptr64
-?Append@CHStringArray@@QEAAHAEBV1@@Z
-; protected: void __cdecl CHString::AssignCopy(int,unsigned short const * __ptr64) __ptr64
-?AssignCopy@CHString@@IEAAXHPEBG@Z
-; public: int __cdecl CThreadBase::BeginRead(unsigned long) __ptr64
-?BeginRead@CThreadBase@@QEAAHK@Z
-; public: int __cdecl CThreadBase::BeginWrite(unsigned long) __ptr64
-?BeginWrite@CThreadBase@@QEAAHK@Z
-; public: virtual long __cdecl CWbemProviderGlue::CancelAsyncCall(struct IWbemObjectSink * __ptr64) __ptr64
-?CancelAsyncCall@CWbemProviderGlue@@UEAAJPEAUIWbemObjectSink@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::CancelAsyncRequest(long) __ptr64
-?CancelAsyncRequest@CWbemProviderGlue@@UEAAJJ@Z
-; private: void __cdecl CRegistrySearch::CheckAndAddToList(class CRegistry * __ptr64,class CHString,class CHString,class CHPtrArray & __ptr64,class CHString,class CHString,int) __ptr64
-?CheckAndAddToList@CRegistrySearch@@AEAAXPEAVCRegistry@@VCHString@@1AEAVCHPtrArray@@11H@Z
-; private: void __cdecl ProviderLog::CheckFileSize(union _LARGE_INTEGER & __ptr64,class CHString const & __ptr64) __ptr64
-?CheckFileSize@ProviderLog@@AEAAXAEAT_LARGE_INTEGER@@AEBVCHString@@@Z
-; private: static long __cdecl CWbemProviderGlue::CheckImpersonationLevel(void)
-?CheckImpersonationLevel@CWbemProviderGlue@@CAJXZ
-; public: void __cdecl WBEMTime::Clear(void) __ptr64
-?Clear@WBEMTime@@QEAAXXZ
-; public: void __cdecl WBEMTimeSpan::Clear(void) __ptr64
-?Clear@WBEMTimeSpan@@QEAAXXZ
-; public: void __cdecl ParsedObjectPath::ClearKeys(void) __ptr64
-?ClearKeys@ParsedObjectPath@@QEAAXXZ
-; public: void __cdecl CRegistry::Close(void) __ptr64
-?Close@CRegistry@@QEAAXXZ
-; private: void __cdecl CRegistry::CloseSubKey(void) __ptr64
-?CloseSubKey@CRegistry@@AEAAXXZ
-; public: int __cdecl CHString::Collate(unsigned short const * __ptr64)const  __ptr64
-?Collate@CHString@@QEBAHPEBG@Z
-; public: long __cdecl CInstance::Commit(void) __ptr64
-?Commit@CInstance@@QEAAJXZ
-; protected: long __cdecl Provider::Commit(class CInstance * __ptr64,bool) __ptr64
-?Commit@Provider@@IEAAJPEAVCInstance@@_N@Z
-; public: int __cdecl CHString::Compare(unsigned short const * __ptr64)const  __ptr64
-?Compare@CHString@@QEBAHPEBG@Z
-; public: int __cdecl CHString::CompareNoCase(unsigned short const * __ptr64)const  __ptr64
-?CompareNoCase@CHString@@QEBAHPEBG@Z
-; protected: void __cdecl CHString::ConcatCopy(int,unsigned short const * __ptr64,int,unsigned short const * __ptr64) __ptr64
-?ConcatCopy@CHString@@IEAAXHPEBGH0@Z
-; protected: void __cdecl CHString::ConcatInPlace(int,unsigned short const * __ptr64) __ptr64
-?ConcatInPlace@CHString@@IEAAXHPEBG@Z
-; public: void __cdecl CHPtrArray::Copy(class CHPtrArray const & __ptr64) __ptr64
-?Copy@CHPtrArray@@QEAAXAEBV1@@Z
-; public: void __cdecl CHStringArray::Copy(class CHStringArray const & __ptr64) __ptr64
-?Copy@CHStringArray@@QEAAXAEBV1@@Z
-; protected: void __cdecl CHString::CopyBeforeWrite(void) __ptr64
-?CopyBeforeWrite@CHString@@IEAAXXZ
-; public: virtual long __cdecl CWbemProviderGlue::CreateClassEnum(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IEnumWbemClassObject * __ptr64 * __ptr64) __ptr64
-?CreateClassEnum@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIEnumWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::CreateClassEnumAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?CreateClassEnumAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
-; public: virtual long __cdecl CWbemGlueFactory::CreateInstance(struct IUnknown * __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?CreateInstance@CWbemGlueFactory@@UEAAJPEAUIUnknown@@AEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CWbemProviderGlue::CreateInstanceEnum(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IEnumWbemClassObject * __ptr64 * __ptr64) __ptr64
-?CreateInstanceEnum@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIEnumWbemClassObject@@@Z
-; private: long __cdecl Provider::CreateInstanceEnum(class MethodContext * __ptr64,long) __ptr64
-?CreateInstanceEnum@Provider@@AEAAJPEAVMethodContext@@J@Z
-; public: virtual long __cdecl CWbemProviderGlue::CreateInstanceEnumAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?CreateInstanceEnumAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
-; private: static void __cdecl CWinMsgEvent::CreateMsgProvider(void)
-?CreateMsgProvider@CWinMsgEvent@@CAXXZ
-; private: static struct HWND__ * __ptr64 __cdecl CWinMsgEvent::CreateMsgWindow(void)
-?CreateMsgWindow@CWinMsgEvent@@CAPEAUHWND__@@XZ
-; protected: class CInstance * __ptr64 __cdecl Provider::CreateNewInstance(class MethodContext * __ptr64) __ptr64
-?CreateNewInstance@Provider@@IEAAPEAVCInstance@@PEAVMethodContext@@@Z
-; public: long __cdecl CRegistry::CreateOpen(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * __ptr64,unsigned long * __ptr64) __ptr64
-?CreateOpen@CRegistry@@QEAAJPEAUHKEY__@@PEBGPEAGKKPEAU_SECURITY_ATTRIBUTES@@PEAK@Z
-; private: static int __cdecl CWinMsgEvent::CtrlHandlerRoutine(unsigned long)
-?CtrlHandlerRoutine@CWinMsgEvent@@CAHK@Z
-; protected: static long __cdecl CWbemProviderGlue::DecrementMapCount(long * __ptr64)
-?DecrementMapCount@CWbemProviderGlue@@KAJPEAJ@Z
-; protected: static long __cdecl CWbemProviderGlue::DecrementMapCount(class CWbemGlueFactory const * __ptr64)
-?DecrementMapCount@CWbemProviderGlue@@KAJPEBVCWbemGlueFactory@@@Z
-; public: static long __cdecl CWbemProviderGlue::DecrementObjectCount(void)
-?DecrementObjectCount@CWbemProviderGlue@@SAJXZ
-; public: virtual long __cdecl CWbemProviderGlue::DeleteClass(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
-?DeleteClass@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIWbemCallResult@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::DeleteClassAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?DeleteClassAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
-; public: unsigned long __cdecl CRegistry::DeleteCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
-?DeleteCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBG@Z
-; public: unsigned long __cdecl CRegistry::DeleteCurrentKeyValue(unsigned short const * __ptr64) __ptr64
-?DeleteCurrentKeyValue@CRegistry@@QEAAKPEBG@Z
-; public: virtual long __cdecl CWbemProviderGlue::DeleteInstance(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
-?DeleteInstance@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIWbemCallResult@@@Z
-; private: long __cdecl Provider::DeleteInstance(struct ParsedObjectPath * __ptr64,long,class MethodContext * __ptr64) __ptr64
-?DeleteInstance@Provider@@AEAAJPEAUParsedObjectPath@@JPEAVMethodContext@@@Z
-; protected: virtual long __cdecl Provider::DeleteInstance(class CInstance const & __ptr64,long) __ptr64
-?DeleteInstance@Provider@@MEAAJAEBVCInstance@@J@Z
-; public: virtual long __cdecl CWbemProviderGlue::DeleteInstanceAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?DeleteInstanceAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
-; public: long __cdecl CRegistry::DeleteKey(class CHString * __ptr64) __ptr64
-?DeleteKey@CRegistry@@QEAAJPEAVCHString@@@Z
-; public: long __cdecl CRegistry::DeleteValue(unsigned short const * __ptr64) __ptr64
-?DeleteValue@CRegistry@@QEAAJPEBG@Z
-; private: static void __cdecl CWinMsgEvent::DestroyMsgWindow(void)
-?DestroyMsgWindow@CWinMsgEvent@@CAXXZ
-; public: void * __ptr64 & __ptr64 __cdecl CHPtrArray::ElementAt(int) __ptr64
-?ElementAt@CHPtrArray@@QEAAAEAPEAXH@Z
-; public: class CHString & __ptr64 __cdecl CHStringArray::ElementAt(int) __ptr64
-?ElementAt@CHStringArray@@QEAAAEAVCHString@@H@Z
-; public: void __cdecl CHString::Empty(void) __ptr64
-?Empty@CHString@@QEAAXXZ
-; private: void __cdecl CObjectPathParser::Empty(void) __ptr64
-?Empty@CObjectPathParser@@AEAAXXZ
-; public: void __cdecl CThreadBase::EndRead(void) __ptr64
-?EndRead@CThreadBase@@QEAAXXZ
-; public: void __cdecl CThreadBase::EndWrite(void) __ptr64
-?EndWrite@CThreadBase@@QEAAXXZ
-; public: long __cdecl CRegistry::EnumerateAndGetValues(unsigned long & __ptr64,unsigned short * __ptr64 & __ptr64,unsigned char * __ptr64 & __ptr64) __ptr64
-?EnumerateAndGetValues@CRegistry@@QEAAJAEAKAEAPEAGAEAPEAE@Z
-; protected: virtual long __cdecl Provider::EnumerateInstances(class MethodContext * __ptr64,long) __ptr64
-?EnumerateInstances@Provider@@MEAAJPEAVMethodContext@@J@Z
-; public: virtual long __cdecl CWbemProviderGlue::ExecMethod(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
-?ExecMethod@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAUIWbemClassObject@@PEAPEAU3@PEAPEAUIWbemCallResult@@@Z
-; private: long __cdecl Provider::ExecMethod(struct ParsedObjectPath * __ptr64,unsigned short * __ptr64,long,class CInstance * __ptr64,class CInstance * __ptr64,class MethodContext * __ptr64) __ptr64
-?ExecMethod@Provider@@AEAAJPEAUParsedObjectPath@@PEAGJPEAVCInstance@@2PEAVMethodContext@@@Z
-; protected: virtual long __cdecl Provider::ExecMethod(class CInstance const & __ptr64,unsigned short * __ptr64 const,class CInstance * __ptr64,class CInstance * __ptr64,long) __ptr64
-?ExecMethod@Provider@@MEAAJAEBVCInstance@@QEAGPEAV2@2J@Z
-; public: virtual long __cdecl CWbemProviderGlue::ExecMethodAsync(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?ExecMethodAsync@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAUIWbemClassObject@@PEAUIWbemObjectSink@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::ExecNotificationQuery(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IEnumWbemClassObject * __ptr64 * __ptr64) __ptr64
-?ExecNotificationQuery@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAPEAUIEnumWbemClassObject@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::ExecNotificationQueryAsync(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?ExecNotificationQueryAsync@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::ExecQuery(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IEnumWbemClassObject * __ptr64 * __ptr64) __ptr64
-?ExecQuery@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAPEAUIEnumWbemClassObject@@@Z
-; protected: virtual long __cdecl Provider::ExecQuery(class MethodContext * __ptr64,class CFrameworkQuery & __ptr64,long) __ptr64
-?ExecQuery@Provider@@MEAAJPEAVMethodContext@@AEAVCFrameworkQuery@@J@Z
-; public: virtual long __cdecl CWbemProviderGlue::ExecQueryAsync(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?ExecQueryAsync@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
-; private: long __cdecl Provider::ExecuteQuery(class MethodContext * __ptr64,class CFrameworkQuery & __ptr64,long) __ptr64
-?ExecuteQuery@Provider@@AEAAJPEAVMethodContext@@AEAVCFrameworkQuery@@J@Z
-; public: static long __cdecl CWbemProviderGlue::FillInstance(class CInstance * __ptr64,unsigned short const * __ptr64)
-?FillInstance@CWbemProviderGlue@@SAJPEAVCInstance@@PEBG@Z
-; public: static long __cdecl CWbemProviderGlue::FillInstance(class MethodContext * __ptr64,class CInstance * __ptr64)
-?FillInstance@CWbemProviderGlue@@SAJPEAVMethodContext@@PEAVCInstance@@@Z
-; public: int __cdecl CHString::Find(unsigned short)const  __ptr64
-?Find@CHString@@QEBAHG@Z
-; public: int __cdecl CHString::Find(unsigned short const * __ptr64)const  __ptr64
-?Find@CHString@@QEBAHPEBG@Z
-; public: int __cdecl CHString::FindOneOf(unsigned short const * __ptr64)const  __ptr64
-?FindOneOf@CHString@@QEBAHPEBG@Z
-; protected: virtual void __cdecl Provider::Flush(void) __ptr64
-?Flush@Provider@@MEAAXXZ
-; private: void __cdecl CWbemProviderGlue::FlushAll(void) __ptr64
-?FlushAll@CWbemProviderGlue@@AEAAXXZ
-; public: void __cdecl CHString::Format(unsigned int,...) __ptr64
-?Format@CHString@@QEAAXIZZ
-; public: void __cdecl CHString::Format(unsigned short const * __ptr64,...) __ptr64
-?Format@CHString@@QEAAXPEBGZZ
-; public: void __cdecl CHString::FormatMessageW(unsigned int,...) __ptr64
-?FormatMessageW@CHString@@QEAAXIZZ
-; public: void __cdecl CHString::FormatMessageW(unsigned short const * __ptr64,...) __ptr64
-?FormatMessageW@CHString@@QEAAXPEBGZZ
-; public: void __cdecl CHString::FormatV(unsigned short const * __ptr64,char * __ptr64) __ptr64
-?FormatV@CHString@@QEAAXPEBGPEAD@Z
-; public: static void __cdecl CWbemProviderGlue::FrameworkLogin(unsigned short const * __ptr64,class Provider * __ptr64,unsigned short const * __ptr64)
-?FrameworkLogin@CWbemProviderGlue@@SAXPEBGPEAVProvider@@0@Z
-; public: static int __cdecl CWbemProviderGlue::FrameworkLoginDLL(unsigned short const * __ptr64)
-?FrameworkLoginDLL@CWbemProviderGlue@@SAHPEBG@Z
-; public: static int __cdecl CWbemProviderGlue::FrameworkLoginDLL(unsigned short const * __ptr64,long * __ptr64)
-?FrameworkLoginDLL@CWbemProviderGlue@@SAHPEBGPEAJ@Z
-; public: static void __cdecl CWbemProviderGlue::FrameworkLogoff(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?FrameworkLogoff@CWbemProviderGlue@@SAXPEBG0@Z
-; public: static int __cdecl CWbemProviderGlue::FrameworkLogoffDLL(unsigned short const * __ptr64)
-?FrameworkLogoffDLL@CWbemProviderGlue@@SAHPEBG@Z
-; public: static int __cdecl CWbemProviderGlue::FrameworkLogoffDLL(unsigned short const * __ptr64,long * __ptr64)
-?FrameworkLogoffDLL@CWbemProviderGlue@@SAHPEBGPEAJ@Z
-; public: void __cdecl CObjectPathParser::Free(struct ParsedObjectPath * __ptr64) __ptr64
-?Free@CObjectPathParser@@QEAAXPEAUParsedObjectPath@@@Z
-; public: void __cdecl CHPtrArray::FreeExtra(void) __ptr64
-?FreeExtra@CHPtrArray@@QEAAXXZ
-; public: void __cdecl CHString::FreeExtra(void) __ptr64
-?FreeExtra@CHString@@QEAAXXZ
-; public: void __cdecl CHStringArray::FreeExtra(void) __ptr64
-?FreeExtra@CHStringArray@@QEAAXXZ
-; public: int __cdecl CRegistrySearch::FreeSearchList(int,class CHPtrArray & __ptr64) __ptr64
-?FreeSearchList@CRegistrySearch@@QEAAHHAEAVCHPtrArray@@@Z
-; public: static long __cdecl CWbemProviderGlue::GetAllDerivedInstances(unsigned short const * __ptr64,class TRefPointerCollection<class CInstance> * __ptr64,class MethodContext * __ptr64,unsigned short const * __ptr64)
-?GetAllDerivedInstances@CWbemProviderGlue@@SAJPEBGPEAV?$TRefPointerCollection@VCInstance@@@@PEAVMethodContext@@0@Z
-; public: static long __cdecl CWbemProviderGlue::GetAllDerivedInstancesAsynch(unsigned short const * __ptr64,class Provider * __ptr64,long (__cdecl*)(class Provider * __ptr64,class CInstance * __ptr64,class MethodContext * __ptr64,void * __ptr64),unsigned short const * __ptr64,class MethodContext * __ptr64,void * __ptr64)
-?GetAllDerivedInstancesAsynch@CWbemProviderGlue@@SAJPEBGPEAVProvider@@P6AJ1PEAVCInstance@@PEAVMethodContext@@PEAX@Z034@Z
-; public: static long __cdecl CWbemProviderGlue::GetAllInstances(unsigned short const * __ptr64,class TRefPointerCollection<class CInstance> * __ptr64,unsigned short const * __ptr64,class MethodContext * __ptr64)
-?GetAllInstances@CWbemProviderGlue@@SAJPEBGPEAV?$TRefPointerCollection@VCInstance@@@@0PEAVMethodContext@@@Z
-; public: static long __cdecl CWbemProviderGlue::GetAllInstancesAsynch(unsigned short const * __ptr64,class Provider * __ptr64,long (__cdecl*)(class Provider * __ptr64,class CInstance * __ptr64,class MethodContext * __ptr64,void * __ptr64),unsigned short const * __ptr64,class MethodContext * __ptr64,void * __ptr64)
-?GetAllInstancesAsynch@CWbemProviderGlue@@SAJPEBGPEAVProvider@@P6AJ1PEAVCInstance@@PEAVMethodContext@@PEAX@Z034@Z
-; public: int __cdecl CHString::GetAllocLength(void)const  __ptr64
-?GetAllocLength@CHString@@QEBAHXZ
-; public: void * __ptr64 __cdecl CHPtrArray::GetAt(int)const  __ptr64
-?GetAt@CHPtrArray@@QEBAPEAXH@Z
-; public: unsigned short __cdecl CHString::GetAt(int)const  __ptr64
-?GetAt@CHString@@QEBAGH@Z
-; public: class CHString  __cdecl CHStringArray::GetAt(int)const  __ptr64
-?GetAt@CHStringArray@@QEBA?AVCHString@@H@Z
-; public: unsigned short * __ptr64 __cdecl WBEMTime::GetBSTR(void)const  __ptr64
-?GetBSTR@WBEMTime@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl WBEMTimeSpan::GetBSTR(void)const  __ptr64
-?GetBSTR@WBEMTimeSpan@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl CHString::GetBuffer(int) __ptr64
-?GetBuffer@CHString@@QEAAPEAGH@Z
-; public: unsigned short * __ptr64 __cdecl CHString::GetBufferSetLength(int) __ptr64
-?GetBufferSetLength@CHString@@QEAAPEAGH@Z
-; public: bool __cdecl CInstance::GetByte(unsigned short const * __ptr64,unsigned char & __ptr64)const  __ptr64
-?GetByte@CInstance@@QEBA_NPEBGAEAE@Z
-; public: bool __cdecl CInstance::GetCHString(unsigned short const * __ptr64,class CHString & __ptr64)const  __ptr64
-?GetCHString@CInstance@@QEBA_NPEBGAEAVCHString@@@Z
-; public: static unsigned short const * __ptr64 __cdecl CWbemProviderGlue::GetCSDVersion(void)
-?GetCSDVersion@CWbemProviderGlue@@SAPEBGXZ
-; public: unsigned short * __ptr64 __cdecl CRegistry::GetClassNameW(void) __ptr64
-?GetClassNameW@CRegistry@@QEAAPEAGXZ
-; public: struct IWbemClassObject * __ptr64 __cdecl CInstance::GetClassObjectInterface(void) __ptr64
-?GetClassObjectInterface@CInstance@@QEAAPEAUIWbemClassObject@@XZ
-; private: struct IWbemClassObject * __ptr64 __cdecl Provider::GetClassObjectInterface(class MethodContext * __ptr64) __ptr64
-?GetClassObjectInterface@Provider@@AEAAPEAUIWbemClassObject@@PEAVMethodContext@@@Z
-; private: static void __cdecl CWbemProviderGlue::GetComputerNameW(class CHString & __ptr64)
-?GetComputerNameW@CWbemProviderGlue@@CAXAEAVCHString@@@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentBinaryKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
-?GetCurrentBinaryKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGPEAEPEAK@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentBinaryKeyValue(unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
-?GetCurrentBinaryKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentBinaryKeyValue(unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
-?GetCurrentBinaryKeyValue@CRegistry@@QEAAKPEBGPEAEPEAK@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
-?GetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAK@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
-?GetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHString@@@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
-?GetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHStringArray@@@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
-?GetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAK@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
-?GetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
-?GetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHStringArray@@@Z
-; private: unsigned long __cdecl CRegistry::GetCurrentRawKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,void * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetCurrentRawKeyValue@CRegistry@@AEAAKPEAUHKEY__@@PEBGPEAXPEAK3@Z
-; private: unsigned long __cdecl CRegistry::GetCurrentRawSubKeyValue(unsigned short const * __ptr64,void * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetCurrentRawSubKeyValue@CRegistry@@AEAAKPEBGPEAXPEAK2@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyCount(void) __ptr64
-?GetCurrentSubKeyCount@CRegistry@@QEAAKXZ
-; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyName(class CHString & __ptr64) __ptr64
-?GetCurrentSubKeyName@CRegistry@@QEAAKAEAVCHString@@@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyPath(class CHString & __ptr64) __ptr64
-?GetCurrentSubKeyPath@CRegistry@@QEAAKAEAVCHString@@@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyValue(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
-?GetCurrentSubKeyValue@CRegistry@@QEAAKPEBGAEAK@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyValue(unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
-?GetCurrentSubKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
-; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyValue(unsigned short const * __ptr64,void * __ptr64,unsigned long * __ptr64) __ptr64
-?GetCurrentSubKeyValue@CRegistry@@QEAAKPEBGPEAXPEAK@Z
-; public: unsigned short * __ptr64 __cdecl WBEMTime::GetDMTF(int)const  __ptr64
-?GetDMTF@WBEMTime@@QEBAPEAGH@Z
-; public: unsigned short * __ptr64 __cdecl WBEMTime::GetDMTFNonNtfs(void)const  __ptr64
-?GetDMTFNonNtfs@WBEMTime@@QEBAPEAGXZ
-; public: bool __cdecl CInstance::GetDOUBLE(unsigned short const * __ptr64,double & __ptr64)const  __ptr64
-?GetDOUBLE@CInstance@@QEBA_NPEBGAEAN@Z
-; public: bool __cdecl CInstance::GetDWORD(unsigned short const * __ptr64,unsigned long & __ptr64)const  __ptr64
-?GetDWORD@CInstance@@QEBA_NPEBGAEAK@Z
-; public: void * __ptr64 * __ptr64 __cdecl CHPtrArray::GetData(void) __ptr64
-?GetData@CHPtrArray@@QEAAPEAPEAXXZ
-; public: void const * __ptr64 * __ptr64 __cdecl CHPtrArray::GetData(void)const  __ptr64
-?GetData@CHPtrArray@@QEBAPEAPEBXXZ
-; protected: struct CHStringData * __ptr64 __cdecl CHString::GetData(void)const  __ptr64
-?GetData@CHString@@IEBAPEAUCHStringData@@XZ
-; public: class CHString * __ptr64 __cdecl CHStringArray::GetData(void) __ptr64
-?GetData@CHStringArray@@QEAAPEAVCHString@@XZ
-; public: class CHString const * __ptr64 __cdecl CHStringArray::GetData(void)const  __ptr64
-?GetData@CHStringArray@@QEBAPEBVCHString@@XZ
-; public: bool __cdecl CInstance::GetDateTime(unsigned short const * __ptr64,class WBEMTime & __ptr64)const  __ptr64
-?GetDateTime@CInstance@@QEBA_NPEBGAEAVWBEMTime@@@Z
-; public: bool __cdecl CInstance::GetEmbeddedObject(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,class MethodContext * __ptr64)const  __ptr64
-?GetEmbeddedObject@CInstance@@QEBA_NPEBGPEAPEAV1@PEAVMethodContext@@@Z
-; public: static long __cdecl CWbemProviderGlue::GetEmptyInstance(class MethodContext * __ptr64,unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,unsigned short const * __ptr64)
-?GetEmptyInstance@CWbemProviderGlue@@SAJPEAVMethodContext@@PEBGPEAPEAVCInstance@@1@Z
-; public: static long __cdecl CWbemProviderGlue::GetEmptyInstance(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,unsigned short const * __ptr64)
-?GetEmptyInstance@CWbemProviderGlue@@SAJPEBGPEAPEAVCInstance@@0@Z
-; public: int __cdecl WBEMTime::GetFILETIME(struct _FILETIME * __ptr64)const  __ptr64
-?GetFILETIME@WBEMTime@@QEBAHPEAU_FILETIME@@@Z
-; public: int __cdecl WBEMTimeSpan::GetFILETIME(struct _FILETIME * __ptr64)const  __ptr64
-?GetFILETIME@WBEMTimeSpan@@QEBAHPEAU_FILETIME@@@Z
-; public: virtual struct IWbemContext * __ptr64 __cdecl MethodContext::GetIWBEMContext(void) __ptr64
-?GetIWBEMContext@MethodContext@@UEAAPEAUIWbemContext@@XZ
-; public: static long __cdecl CWbemProviderGlue::GetInstanceByPath(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,class MethodContext * __ptr64)
-?GetInstanceByPath@CWbemProviderGlue@@SAJPEBGPEAPEAVCInstance@@PEAVMethodContext@@@Z
-; private: static long __cdecl CWbemProviderGlue::GetInstanceFromCIMOM(unsigned short const * __ptr64,unsigned short const * __ptr64,class MethodContext * __ptr64,class CInstance * __ptr64 * __ptr64)
-?GetInstanceFromCIMOM@CWbemProviderGlue@@CAJPEBG0PEAVMethodContext@@PEAPEAVCInstance@@@Z
-; public: static long __cdecl CWbemProviderGlue::GetInstanceKeysByPath(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,class MethodContext * __ptr64)
-?GetInstanceKeysByPath@CWbemProviderGlue@@SAJPEBGPEAPEAVCInstance@@PEAVMethodContext@@@Z
-; public: static long __cdecl CWbemProviderGlue::GetInstancePropertiesByPath(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,class MethodContext * __ptr64,class CHStringArray & __ptr64)
-?GetInstancePropertiesByPath@CWbemProviderGlue@@SAJPEBGPEAPEAVCInstance@@PEAVMethodContext@@AEAVCHStringArray@@@Z
-; public: static long __cdecl CWbemProviderGlue::GetInstancesByQuery(unsigned short const * __ptr64,class TRefPointerCollection<class CInstance> * __ptr64,class MethodContext * __ptr64,unsigned short const * __ptr64)
-?GetInstancesByQuery@CWbemProviderGlue@@SAJPEBGPEAV?$TRefPointerCollection@VCInstance@@@@PEAVMethodContext@@0@Z
-; public: static long __cdecl CWbemProviderGlue::GetInstancesByQueryAsynch(unsigned short const * __ptr64,class Provider * __ptr64,long (__cdecl*)(class Provider * __ptr64,class CInstance * __ptr64,class MethodContext * __ptr64,void * __ptr64),unsigned short const * __ptr64,class MethodContext * __ptr64,void * __ptr64)
-?GetInstancesByQueryAsynch@CWbemProviderGlue@@SAJPEBGPEAVProvider@@P6AJ1PEAVCInstance@@PEAVMethodContext@@PEAX@Z034@Z
-; public: unsigned short * __ptr64 __cdecl ParsedObjectPath::GetKeyString(void) __ptr64
-?GetKeyString@ParsedObjectPath@@QEAAPEAGXZ
-; public: int __cdecl CHString::GetLength(void)const  __ptr64
-?GetLength@CHString@@QEBAHXZ
-; protected: class CHString const & __ptr64 __cdecl Provider::GetLocalComputerName(void) __ptr64
-?GetLocalComputerName@Provider@@IEAAAEBVCHString@@XZ
-; protected: bool __cdecl Provider::GetLocalInstancePath(class CInstance const * __ptr64,class CHString & __ptr64) __ptr64
-?GetLocalInstancePath@Provider@@IEAA_NPEBVCInstance@@AEAVCHString@@@Z
-; public: static long __cdecl WBEMTime::GetLocalOffsetForDate(__int64 const & __ptr64)
-?GetLocalOffsetForDate@WBEMTime@@SAJAEB_J@Z
-; public: static long __cdecl WBEMTime::GetLocalOffsetForDate(struct _FILETIME const * __ptr64)
-?GetLocalOffsetForDate@WBEMTime@@SAJPEBU_FILETIME@@@Z
-; public: static long __cdecl WBEMTime::GetLocalOffsetForDate(struct _SYSTEMTIME const * __ptr64)
-?GetLocalOffsetForDate@WBEMTime@@SAJPEBU_SYSTEMTIME@@@Z
-; public: static long __cdecl WBEMTime::GetLocalOffsetForDate(struct tm const * __ptr64)
-?GetLocalOffsetForDate@WBEMTime@@SAJPEBUtm@@@Z
-; public: unsigned long __cdecl CRegistry::GetLongestClassStringSize(void) __ptr64
-?GetLongestClassStringSize@CRegistry@@QEAAKXZ
-; public: unsigned long __cdecl CRegistry::GetLongestSubKeySize(void) __ptr64
-?GetLongestSubKeySize@CRegistry@@QEAAKXZ
-; public: unsigned long __cdecl CRegistry::GetLongestValueData(void) __ptr64
-?GetLongestValueData@CRegistry@@QEAAKXZ
-; public: unsigned long __cdecl CRegistry::GetLongestValueName(void) __ptr64
-?GetLongestValueName@CRegistry@@QEAAKXZ
-; protected: static long * __ptr64 __cdecl CWbemProviderGlue::GetMapCountPtr(class CWbemGlueFactory const * __ptr64)
-?GetMapCountPtr@CWbemProviderGlue@@KAPEAJPEBVCWbemGlueFactory@@@Z
-; public: class MethodContext * __ptr64 __cdecl CInstance::GetMethodContext(void)const  __ptr64
-?GetMethodContext@CInstance@@QEBAPEAVMethodContext@@XZ
-; protected: class CHString const & __ptr64 __cdecl CFrameworkQuery::GetNamespace(void) __ptr64
-?GetNamespace@CFrameworkQuery@@IEAAAEBVCHString@@XZ
-; protected: class CHString const & __ptr64 __cdecl Provider::GetNamespace(void) __ptr64
-?GetNamespace@Provider@@IEAAAEBVCHString@@XZ
-; public: static struct IWbemServices * __ptr64 __cdecl CWbemProviderGlue::GetNamespaceConnection(unsigned short const * __ptr64)
-?GetNamespaceConnection@CWbemProviderGlue@@SAPEAUIWbemServices@@PEBG@Z
-; public: static struct IWbemServices * __ptr64 __cdecl CWbemProviderGlue::GetNamespaceConnection(unsigned short const * __ptr64,class MethodContext * __ptr64)
-?GetNamespaceConnection@CWbemProviderGlue@@SAPEAUIWbemServices@@PEBGPEAVMethodContext@@@Z
-; public: unsigned short * __ptr64 __cdecl ParsedObjectPath::GetNamespacePart(void) __ptr64
-?GetNamespacePart@ParsedObjectPath@@QEAAPEAGXZ
-; public: static unsigned long __cdecl CWbemProviderGlue::GetOSMajorVersion(void)
-?GetOSMajorVersion@CWbemProviderGlue@@SAKXZ
-; public: virtual long __cdecl CWbemProviderGlue::GetObject(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
-?GetObject@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIWbemClassObject@@PEAPEAUIWbemCallResult@@@Z
-; private: long __cdecl Provider::GetObject(struct ParsedObjectPath * __ptr64,class MethodContext * __ptr64,long) __ptr64
-?GetObject@Provider@@AEAAJPEAUParsedObjectPath@@PEAVMethodContext@@J@Z
-; protected: virtual long __cdecl Provider::GetObject(class CInstance * __ptr64,long) __ptr64
-?GetObject@Provider@@MEAAJPEAVCInstance@@J@Z
-; protected: virtual long __cdecl Provider::GetObject(class CInstance * __ptr64,long,class CFrameworkQuery & __ptr64) __ptr64
-?GetObject@Provider@@MEAAJPEAVCInstance@@JAEAVCFrameworkQuery@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::GetObjectAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?GetObjectAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
-; public: unsigned short * __ptr64 __cdecl ParsedObjectPath::GetParentNamespacePart(void) __ptr64
-?GetParentNamespacePart@ParsedObjectPath@@QEAAPEAGXZ
-; public: static unsigned long __cdecl CWbemProviderGlue::GetPlatform(void)
-?GetPlatform@CWbemProviderGlue@@SAKXZ
-; public: void __cdecl CFrameworkQueryEx::GetPropertyBitMask(class CHPtrArray const & __ptr64,void * __ptr64) __ptr64
-?GetPropertyBitMask@CFrameworkQueryEx@@QEAAXAEBVCHPtrArray@@PEAX@Z
-; private: class CWbemProviderGlue * __ptr64 __cdecl MethodContext::GetProviderGlue(void) __ptr64
-?GetProviderGlue@MethodContext@@AEAAPEAVCWbemProviderGlue@@XZ
-; protected: class CHString const & __ptr64 __cdecl Provider::GetProviderName(void) __ptr64
-?GetProviderName@Provider@@IEAAAEBVCHString@@XZ
-; public: class CHString const & __ptr64 __cdecl CFrameworkQuery::GetQuery(void) __ptr64
-?GetQuery@CFrameworkQuery@@QEAAAEBVCHString@@XZ
-; public: unsigned short * __ptr64 __cdecl CFrameworkQuery::GetQueryClassName(void) __ptr64
-?GetQueryClassName@CFrameworkQuery@@QEAAPEAGXZ
-; public: static unsigned short * __ptr64 __cdecl CObjectPathParser::GetRelativePath(unsigned short * __ptr64)
-?GetRelativePath@CObjectPathParser@@SAPEAGPEAG@Z
-; public: void __cdecl CFrameworkQuery::GetRequiredProperties(class CHStringArray & __ptr64) __ptr64
-?GetRequiredProperties@CFrameworkQuery@@QEAAXAEAVCHStringArray@@@Z
-; public: int __cdecl WBEMTime::GetSYSTEMTIME(struct _SYSTEMTIME * __ptr64)const  __ptr64
-?GetSYSTEMTIME@WBEMTime@@QEBAHPEAU_SYSTEMTIME@@@Z
-; public: int __cdecl CHPtrArray::GetSize(void)const  __ptr64
-?GetSize@CHPtrArray@@QEBAHXZ
-; public: int __cdecl CHStringArray::GetSize(void)const  __ptr64
-?GetSize@CHStringArray@@QEBAHXZ
-; public: bool __cdecl CInstance::GetStatus(unsigned short const * __ptr64,bool & __ptr64,unsigned short & __ptr64)const  __ptr64
-?GetStatus@CInstance@@QEBA_NPEBGAEA_NAEAG@Z
-; private: static struct IWbemClassObject * __ptr64 __cdecl CWbemProviderGlue::GetStatusObject(class MethodContext * __ptr64,unsigned short const * __ptr64)
-?GetStatusObject@CWbemProviderGlue@@CAPEAUIWbemClassObject@@PEAVMethodContext@@PEBG@Z
-; public: struct IWbemClassObject * __ptr64 __cdecl MethodContext::GetStatusObject(void) __ptr64
-?GetStatusObject@MethodContext@@QEAAPEAUIWbemClassObject@@XZ
-; public: bool __cdecl CInstance::GetStringArray(unsigned short const * __ptr64,struct tagSAFEARRAY * __ptr64 & __ptr64)const  __ptr64
-?GetStringArray@CInstance@@QEBA_NPEBGAEAPEAUtagSAFEARRAY@@@Z
-; public: int __cdecl WBEMTime::GetStructtm(struct tm * __ptr64)const  __ptr64
-?GetStructtm@WBEMTime@@QEBAHPEAUtm@@@Z
-; public: unsigned __int64 __cdecl WBEMTime::GetTime(void)const  __ptr64
-?GetTime@WBEMTime@@QEBA_KXZ
-; public: unsigned __int64 __cdecl WBEMTimeSpan::GetTime(void)const  __ptr64
-?GetTime@WBEMTimeSpan@@QEBA_KXZ
-; public: bool __cdecl CInstance::GetTimeSpan(unsigned short const * __ptr64,class WBEMTimeSpan & __ptr64)const  __ptr64
-?GetTimeSpan@CInstance@@QEBA_NPEBGAEAVWBEMTimeSpan@@@Z
-; public: int __cdecl CHPtrArray::GetUpperBound(void)const  __ptr64
-?GetUpperBound@CHPtrArray@@QEBAHXZ
-; public: int __cdecl CHStringArray::GetUpperBound(void)const  __ptr64
-?GetUpperBound@CHStringArray@@QEBAHXZ
-; public: unsigned long __cdecl CRegistry::GetValueCount(void) __ptr64
-?GetValueCount@CRegistry@@QEAAKXZ
-; public: long __cdecl CFrameworkQuery::GetValuesForProp(unsigned short const * __ptr64,class std::vector<class _bstr_t,class std::allocator<class _bstr_t> > & __ptr64) __ptr64
-?GetValuesForProp@CFrameworkQuery@@QEAAJPEBGAEAV?$vector@V_bstr_t@@V?$allocator@V_bstr_t@@@std@@@std@@@Z
-; public: long __cdecl CFrameworkQuery::GetValuesForProp(unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
-?GetValuesForProp@CFrameworkQuery@@QEAAJPEBGAEAVCHStringArray@@@Z
-; public: long __cdecl CFrameworkQueryEx::GetValuesForProp(unsigned short const * __ptr64,class std::vector<int,class std::allocator<int> > & __ptr64) __ptr64
-?GetValuesForProp@CFrameworkQueryEx@@QEAAJPEBGAEAV?$vector@HV?$allocator@H@std@@@std@@@Z
-; public: long __cdecl CFrameworkQueryEx::GetValuesForProp(unsigned short const * __ptr64,class std::vector<class _variant_t,class std::allocator<class _variant_t> > & __ptr64) __ptr64
-?GetValuesForProp@CFrameworkQueryEx@@QEAAJPEBGAEAV?$vector@V_variant_t@@V?$allocator@V_variant_t@@@std@@@std@@@Z
-; public: bool __cdecl CInstance::GetVariant(unsigned short const * __ptr64,struct tagVARIANT & __ptr64)const  __ptr64
-?GetVariant@CInstance@@QEBA_NPEBGAEAUtagVARIANT@@@Z
-; public: bool __cdecl CInstance::GetWBEMINT16(unsigned short const * __ptr64,short & __ptr64)const  __ptr64
-?GetWBEMINT16@CInstance@@QEBA_NPEBGAEAF@Z
-; public: bool __cdecl CInstance::GetWBEMINT64(unsigned short const * __ptr64,class CHString & __ptr64)const  __ptr64
-?GetWBEMINT64@CInstance@@QEBA_NPEBGAEAVCHString@@@Z
-; public: bool __cdecl CInstance::GetWBEMINT64(unsigned short const * __ptr64,__int64 & __ptr64)const  __ptr64
-?GetWBEMINT64@CInstance@@QEBA_NPEBGAEA_J@Z
-; public: bool __cdecl CInstance::GetWBEMINT64(unsigned short const * __ptr64,unsigned __int64 & __ptr64)const  __ptr64
-?GetWBEMINT64@CInstance@@QEBA_NPEBGAEA_K@Z
-; public: bool __cdecl CInstance::GetWCHAR(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64)const  __ptr64
-?GetWCHAR@CInstance@@QEBA_NPEBGPEAPEAG@Z
-; public: bool __cdecl CInstance::GetWORD(unsigned short const * __ptr64,unsigned short & __ptr64)const  __ptr64
-?GetWORD@CInstance@@QEBA_NPEBGAEAG@Z
-; public: bool __cdecl CInstance::Getbool(unsigned short const * __ptr64,bool & __ptr64)const  __ptr64
-?Getbool@CInstance@@QEBA_NPEBGAEA_N@Z
-; public: struct HKEY__ * __ptr64 __cdecl CRegistry::GethKey(void) __ptr64
-?GethKey@CRegistry@@QEAAPEAUHKEY__@@XZ
-; public: int __cdecl WBEMTime::Gettime_t(__int64 * __ptr64)const  __ptr64
-?Gettime_t@WBEMTime@@QEBAHPEA_J@Z
-; public: int __cdecl WBEMTimeSpan::Gettime_t(__int64 * __ptr64)const  __ptr64
-?Gettime_t@WBEMTimeSpan@@QEBAHPEA_J@Z
-; protected: static long __cdecl CWbemProviderGlue::IncrementMapCount(long * __ptr64)
-?IncrementMapCount@CWbemProviderGlue@@KAJPEAJ@Z
-; protected: static long __cdecl CWbemProviderGlue::IncrementMapCount(class CWbemGlueFactory const * __ptr64)
-?IncrementMapCount@CWbemProviderGlue@@KAJPEBVCWbemGlueFactory@@@Z
-; public: static void __cdecl CWbemProviderGlue::IncrementObjectCount(void)
-?IncrementObjectCount@CWbemProviderGlue@@SAXXZ
-; public: void __cdecl CFrameworkQuery::Init2(struct IWbemClassObject * __ptr64) __ptr64
-?Init2@CFrameworkQuery@@QEAAXPEAUIWbemClassObject@@@Z
-; public: long __cdecl CFrameworkQuery::Init(struct ParsedObjectPath * __ptr64,struct IWbemContext * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
-?Init@CFrameworkQuery@@QEAAJPEAUParsedObjectPath@@PEAUIWbemContext@@PEBGAEAVCHString@@@Z
-; public: long __cdecl CFrameworkQuery::Init(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,class CHString & __ptr64) __ptr64
-?Init@CFrameworkQuery@@QEAAJQEAG0JAEAVCHString@@@Z
-; protected: void __cdecl CHString::Init(void) __ptr64
-?Init@CHString@@IEAAXXZ
-; private: static void __cdecl CWbemProviderGlue::Init(void)
-?Init@CWbemProviderGlue@@CAXXZ
-; private: static void __cdecl Provider::InitComputerName(void)
-?InitComputerName@Provider@@CAXXZ
-; public: virtual long __cdecl CFrameworkQueryEx::InitEx(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,class CHString & __ptr64) __ptr64
-?InitEx@CFrameworkQueryEx@@UEAAJQEAG0JAEAVCHString@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::Initialize(unsigned short * __ptr64,long,unsigned short * __ptr64,unsigned short * __ptr64,struct IWbemServices * __ptr64,struct IWbemContext * __ptr64,struct IWbemProviderInitSink * __ptr64) __ptr64
-?Initialize@CWbemProviderGlue@@UEAAJPEAGJ00PEAUIWbemServices@@PEAUIWbemContext@@PEAUIWbemProviderInitSink@@@Z
-; public: void __cdecl CHPtrArray::InsertAt(int,class CHPtrArray * __ptr64) __ptr64
-?InsertAt@CHPtrArray@@QEAAXHPEAV1@@Z
-; public: void __cdecl CHPtrArray::InsertAt(int,void * __ptr64,int) __ptr64
-?InsertAt@CHPtrArray@@QEAAXHPEAXH@Z
-; public: void __cdecl CHStringArray::InsertAt(int,class CHStringArray * __ptr64) __ptr64
-?InsertAt@CHStringArray@@QEAAXHPEAV1@@Z
-; public: void __cdecl CHStringArray::InsertAt(int,unsigned short const * __ptr64,int) __ptr64
-?InsertAt@CHStringArray@@QEAAXHPEBGH@Z
-; private: struct IWbemServices * __ptr64 __cdecl CWbemProviderGlue::InternalGetNamespaceConnection(unsigned short const * __ptr64) __ptr64
-?InternalGetNamespaceConnection@CWbemProviderGlue@@AEAAPEAUIWbemServices@@PEBG@Z
-; public: int __cdecl CFrameworkQueryEx::Is3TokenOR(unsigned short const * __ptr64,unsigned short const * __ptr64,struct tagVARIANT & __ptr64,struct tagVARIANT & __ptr64) __ptr64
-?Is3TokenOR@CFrameworkQueryEx@@QEAAHPEBG0AEAUtagVARIANT@@1@Z
-; public: int __cdecl ParsedObjectPath::IsClass(void) __ptr64
-?IsClass@ParsedObjectPath@@QEAAHXZ
-; public: static bool __cdecl CWbemProviderGlue::IsDerivedFrom(unsigned short const * __ptr64,unsigned short const * __ptr64,class MethodContext * __ptr64,unsigned short const * __ptr64)
-?IsDerivedFrom@CWbemProviderGlue@@SA_NPEBG0PEAVMethodContext@@0@Z
-; public: int __cdecl CHString::IsEmpty(void)const  __ptr64
-?IsEmpty@CHString@@QEBAHXZ
-; public: virtual bool __cdecl CFrameworkQueryEx::IsExtended(void) __ptr64
-?IsExtended@CFrameworkQueryEx@@UEAA_NXZ
-; protected: unsigned long __cdecl CFrameworkQuery::IsInList(class CHStringArray const & __ptr64,unsigned short const * __ptr64) __ptr64
-?IsInList@CFrameworkQuery@@IEAAKAEBVCHStringArray@@PEBG@Z
-; public: int __cdecl ParsedObjectPath::IsInstance(void) __ptr64
-?IsInstance@ParsedObjectPath@@QEAAHXZ
-; public: int __cdecl ParsedObjectPath::IsLocal(unsigned short const * __ptr64) __ptr64
-?IsLocal@ParsedObjectPath@@QEAAHPEBG@Z
-; public: enum ProviderLog::LogLevel  __cdecl ProviderLog::IsLoggingOn(class CHString * __ptr64) __ptr64
-?IsLoggingOn@ProviderLog@@QEAA?AW4LogLevel@1@PEAVCHString@@@Z
-; public: int __cdecl CFrameworkQueryEx::IsNTokenAnd(class CHStringArray & __ptr64,class CHPtrArray & __ptr64) __ptr64
-?IsNTokenAnd@CFrameworkQueryEx@@QEAAHAEAVCHStringArray@@AEAVCHPtrArray@@@Z
-; public: bool __cdecl CInstance::IsNull(unsigned short const * __ptr64)const  __ptr64
-?IsNull@CInstance@@QEBA_NPEBG@Z
-; public: int __cdecl ParsedObjectPath::IsObject(void) __ptr64
-?IsObject@ParsedObjectPath@@QEAAHXZ
-; public: bool __cdecl WBEMTime::IsOk(void)const  __ptr64
-?IsOk@WBEMTime@@QEBA_NXZ
-; public: bool __cdecl WBEMTimeSpan::IsOk(void)const  __ptr64
-?IsOk@WBEMTimeSpan@@QEBA_NXZ
-; public: bool __cdecl CFrameworkQuery::IsPropertyRequired(unsigned short const * __ptr64) __ptr64
-?IsPropertyRequired@CFrameworkQuery@@QEAA_NPEBG@Z
-; protected: int __cdecl CFrameworkQuery::IsReference(unsigned short const * __ptr64) __ptr64
-?IsReference@CFrameworkQuery@@IEAAHPEBG@Z
-; public: int __cdecl ParsedObjectPath::IsRelative(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?IsRelative@ParsedObjectPath@@QEAAHPEBG0@Z
-; public: bool __cdecl CFrameworkQuery::KeysOnly(void) __ptr64
-?KeysOnly@CFrameworkQuery@@QEAA_NXZ
-; public: class CHString  __cdecl CHString::Left(int)const  __ptr64
-?Left@CHString@@QEBA?AV1@H@Z
-; protected: int __cdecl CHString::LoadStringW(unsigned int,unsigned short * __ptr64,unsigned int) __ptr64
-?LoadStringW@CHString@@IEAAHIPEAGI@Z
-; public: int __cdecl CHString::LoadStringW(unsigned int) __ptr64
-?LoadStringW@CHString@@QEAAHI@Z
-; public: void __cdecl ProviderLog::LocalLogMessage(unsigned short const * __ptr64,unsigned short const * __ptr64,int,enum ProviderLog::LogLevel) __ptr64
-?LocalLogMessage@ProviderLog@@QEAAXPEBG0HW4LogLevel@1@@Z
-; public: void __cdecl ProviderLog::LocalLogMessage(unsigned short const * __ptr64,int,enum ProviderLog::LogLevel,unsigned short const * __ptr64,...) __ptr64
-?LocalLogMessage@ProviderLog@@QEAAXPEBGHW4LogLevel@1@0ZZ
-; public: int __cdecl CRegistrySearch::LocateKeyByNameOrValueName(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned long,class CHString & __ptr64,class CHString & __ptr64) __ptr64
-?LocateKeyByNameOrValueName@CRegistrySearch@@QEAAHPEAUHKEY__@@PEBG1PEAPEBGKAEAVCHString@@3@Z
-; private: void __cdecl CThreadBase::Lock(void) __ptr64
-?Lock@CThreadBase@@AEAAXXZ
-; public: unsigned short * __ptr64 __cdecl CHString::LockBuffer(void) __ptr64
-?LockBuffer@CHString@@QEAAPEAGXZ
-; private: static void __cdecl CWbemProviderGlue::LockFactoryMap(void)
-?LockFactoryMap@CWbemProviderGlue@@CAXXZ
-; private: static void __cdecl CWbemProviderGlue::LockProviderMap(void)
-?LockProviderMap@CWbemProviderGlue@@CAXXZ
-; public: virtual long __cdecl CWbemGlueFactory::LockServer(int) __ptr64
-?LockServer@CWbemGlueFactory@@UEAAJH@Z
-; protected: void __cdecl CInstance::LogError(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,long)const  __ptr64
-?LogError@CInstance@@IEBAXPEBG00J@Z
-; protected: class CHString  __cdecl Provider::MakeLocalPath(class CHString const & __ptr64) __ptr64
-?MakeLocalPath@Provider@@IEAA?AVCHString@@AEBV2@@Z
-; public: void __cdecl CHString::MakeLower(void) __ptr64
-?MakeLower@CHString@@QEAAXXZ
-; public: void __cdecl CHString::MakeReverse(void) __ptr64
-?MakeReverse@CHString@@QEAAXXZ
-; public: void __cdecl CHString::MakeUpper(void) __ptr64
-?MakeUpper@CHString@@QEAAXXZ
-; public: class CHString  __cdecl CHString::Mid(int)const  __ptr64
-?Mid@CHString@@QEBA?AV1@H@Z
-; public: class CHString  __cdecl CHString::Mid(int,int)const  __ptr64
-?Mid@CHString@@QEBA?AV1@HH@Z
-; private: static __int64 __cdecl CWinMsgEvent::MsgWndProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?MsgWndProc@CWinMsgEvent@@CA_JPEAUHWND__@@I_K_J@Z
-; public: unsigned long __cdecl CRegistry::NextSubKey(void) __ptr64
-?NextSubKey@CRegistry@@QEAAKXZ
-; private: int __cdecl CObjectPathParser::NextToken(void) __ptr64
-?NextToken@CObjectPathParser@@AEAAHXZ
-; unsigned long __cdecl NormalizePath(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,class CHString & __ptr64)
-?NormalizePath@@YAKPEBG00KAEAVCHString@@@Z
-; private: long __cdecl CWbemProviderGlue::NullOutUnsetProperties(struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct tagVARIANT const & __ptr64) __ptr64
-?NullOutUnsetProperties@CWbemProviderGlue@@AEAAJPEAUIWbemClassObject@@PEAPEAU2@AEBUtagVARIANT@@@Z
-; protected: virtual void __cdecl CThreadBase::OnFinalRelease(void) __ptr64
-?OnFinalRelease@CThreadBase@@MEAAXXZ
-; public: long __cdecl CRegistry::Open(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-?Open@CRegistry@@QEAAJPEAUHKEY__@@PEBGK@Z
-; public: long __cdecl CRegistry::OpenAndEnumerateSubKeys(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-?OpenAndEnumerateSubKeys@CRegistry@@QEAAJPEAUHKEY__@@PEBGK@Z
-; public: unsigned long __cdecl CRegistry::OpenCurrentUser(unsigned short const * __ptr64,unsigned long) __ptr64
-?OpenCurrentUser@CRegistry@@QEAAKPEBGK@Z
-; public: long __cdecl CRegistry::OpenLocalMachineKeyAndReadValue(unsigned short const * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
-?OpenLocalMachineKeyAndReadValue@CRegistry@@QEAAJPEBG0AEAVCHString@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::OpenNamespace(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemServices * __ptr64 * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
-?OpenNamespace@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIWbemServices@@PEAPEAUIWbemCallResult@@@Z
-; private: unsigned long __cdecl CRegistry::OpenSubKey(void) __ptr64
-?OpenSubKey@CRegistry@@AEAAKXZ
-; public: int __cdecl CObjectPathParser::Parse(unsigned short const * __ptr64,struct ParsedObjectPath * __ptr64 * __ptr64) __ptr64
-?Parse@CObjectPathParser@@QEAAHPEBGPEAPEAUParsedObjectPath@@@Z
-; private: long __cdecl CWbemProviderGlue::PreProcessPutInstanceParms(struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemContext * __ptr64) __ptr64
-?PreProcessPutInstanceParms@CWbemProviderGlue@@AEAAJPEAUIWbemClassObject@@PEAPEAU2@PEAUIWbemContext@@@Z
-; private: void __cdecl CRegistry::PrepareToReOpen(void) __ptr64
-?PrepareToReOpen@CRegistry@@AEAAXXZ
-; public: virtual long __cdecl CWbemProviderGlue::PutClass(struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
-?PutClass@CWbemProviderGlue@@UEAAJPEAUIWbemClassObject@@JPEAUIWbemContext@@PEAPEAUIWbemCallResult@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::PutClassAsync(struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?PutClassAsync@CWbemProviderGlue@@UEAAJPEAUIWbemClassObject@@JPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
-; public: virtual long __cdecl CWbemProviderGlue::PutInstance(struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
-?PutInstance@CWbemProviderGlue@@UEAAJPEAUIWbemClassObject@@JPEAUIWbemContext@@PEAPEAUIWbemCallResult@@@Z
-; private: long __cdecl Provider::PutInstance(struct IWbemClassObject * __ptr64,long,class MethodContext * __ptr64) __ptr64
-?PutInstance@Provider@@AEAAJPEAUIWbemClassObject@@JPEAVMethodContext@@@Z
-; protected: virtual long __cdecl Provider::PutInstance(class CInstance const & __ptr64,long) __ptr64
-?PutInstance@Provider@@MEAAJAEBVCInstance@@J@Z
-; public: virtual long __cdecl CWbemProviderGlue::PutInstanceAsync(struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
-?PutInstanceAsync@CWbemProviderGlue@@UEAAJPEAUIWbemClassObject@@JPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
-; public: virtual long __cdecl CWbemGlueFactory::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CWbemGlueFactory@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CWbemProviderGlue::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CWbemProviderGlue@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CWbemProviderGlue::QueryObjectSink(long,struct IWbemObjectSink * __ptr64 * __ptr64) __ptr64
-?QueryObjectSink@CWbemProviderGlue@@UEAAJJPEAPEAUIWbemObjectSink@@@Z
-; public: virtual void __cdecl MethodContext::QueryPostProcess(void) __ptr64
-?QueryPostProcess@MethodContext@@UEAAXXZ
-; protected: void __cdecl CWinMsgEvent::RegisterForMessage(unsigned int) __ptr64
-?RegisterForMessage@CWinMsgEvent@@IEAAXI@Z
-; protected: void __cdecl CHString::Release(void) __ptr64
-?Release@CHString@@IEAAXXZ
-; protected: static void __cdecl CHString::Release(struct CHStringData * __ptr64)
-?Release@CHString@@KAXPEAUCHStringData@@@Z
-; public: long __cdecl CInstance::Release(void) __ptr64
-?Release@CInstance@@QEAAJXZ
-; public: long __cdecl CThreadBase::Release(void) __ptr64
-?Release@CThreadBase@@QEAAJXZ
-; public: virtual unsigned long __cdecl CWbemGlueFactory::Release(void) __ptr64
-?Release@CWbemGlueFactory@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemProviderGlue::Release(void) __ptr64
-?Release@CWbemProviderGlue@@UEAAKXZ
-; public: long __cdecl MethodContext::Release(void) __ptr64
-?Release@MethodContext@@QEAAJXZ
-; public: void __cdecl CHString::ReleaseBuffer(int) __ptr64
-?ReleaseBuffer@CHString@@QEAAXH@Z
-; public: void __cdecl CHPtrArray::RemoveAll(void) __ptr64
-?RemoveAll@CHPtrArray@@QEAAXXZ
-; public: void __cdecl CHStringArray::RemoveAll(void) __ptr64
-?RemoveAll@CHStringArray@@QEAAXXZ
-; public: void __cdecl CHPtrArray::RemoveAt(int,int) __ptr64
-?RemoveAt@CHPtrArray@@QEAAXHH@Z
-; public: void __cdecl CHStringArray::RemoveAt(int,int) __ptr64
-?RemoveAt@CHStringArray@@QEAAXHH@Z
-; protected: static void __cdecl CWbemProviderGlue::RemoveFromFactoryMap(class CWbemGlueFactory const * __ptr64)
-?RemoveFromFactoryMap@CWbemProviderGlue@@KAXPEBVCWbemGlueFactory@@@Z
-; private: void __cdecl CFrameworkQuery::Reset(void) __ptr64
-?Reset@CFrameworkQuery@@AEAAXXZ
-; public: int __cdecl CHString::ReverseFind(unsigned short)const  __ptr64
-?ReverseFind@CHString@@QEBAHG@Z
-; public: void __cdecl CRegistry::RewindSubKeys(void) __ptr64
-?RewindSubKeys@CRegistry@@QEAAXXZ
-; public: class CHString  __cdecl CHString::Right(int)const  __ptr64
-?Right@CHString@@QEBA?AV1@H@Z
-; protected: static int __cdecl CHString::SafeStrlen(unsigned short const * __ptr64)
-?SafeStrlen@CHString@@KAHPEBG@Z
-; public: int __cdecl CRegistrySearch::SearchAndBuildList(class CHString,class CHPtrArray & __ptr64,class CHString,class CHString,int,struct HKEY__ * __ptr64) __ptr64
-?SearchAndBuildList@CRegistrySearch@@QEAAHVCHString@@AEAVCHPtrArray@@00HPEAUHKEY__@@@Z
-; private: static class Provider * __ptr64 __cdecl CWbemProviderGlue::SearchMapForProvider(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?SearchMapForProvider@CWbemProviderGlue@@CAPEAVProvider@@PEBG0@Z
-; public: void __cdecl CHPtrArray::SetAt(int,void * __ptr64) __ptr64
-?SetAt@CHPtrArray@@QEAAXHPEAX@Z
-; public: void __cdecl CHString::SetAt(int,unsigned short) __ptr64
-?SetAt@CHString@@QEAAXHG@Z
-; public: void __cdecl CHStringArray::SetAt(int,unsigned short const * __ptr64) __ptr64
-?SetAt@CHStringArray@@QEAAXHPEBG@Z
-; public: void __cdecl CHPtrArray::SetAtGrow(int,void * __ptr64) __ptr64
-?SetAtGrow@CHPtrArray@@QEAAXHPEAX@Z
-; public: void __cdecl CHStringArray::SetAtGrow(int,unsigned short const * __ptr64) __ptr64
-?SetAtGrow@CHStringArray@@QEAAXHPEBG@Z
-; public: bool __cdecl CInstance::SetByte(unsigned short const * __ptr64,unsigned char) __ptr64
-?SetByte@CInstance@@QEAA_NPEBGE@Z
-; public: bool __cdecl CInstance::SetCHString(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetCHString@CInstance@@QEAA_NPEBG0@Z
-; public: bool __cdecl CInstance::SetCHString(unsigned short const * __ptr64,class CHString const & __ptr64) __ptr64
-?SetCHString@CInstance@@QEAA_NPEBGAEBVCHString@@@Z
-; public: bool __cdecl CInstance::SetCHString(unsigned short const * __ptr64,char const * __ptr64) __ptr64
-?SetCHString@CInstance@@QEAA_NPEBGPEBD@Z
-; void __cdecl SetCHStringResourceHandle(struct HINSTANCE__ * __ptr64)
-?SetCHStringResourceHandle@@YAXPEAUHINSTANCE__@@@Z
-; public: bool __cdecl CInstance::SetCharSplat(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetCharSplat@CInstance@@QEAA_NPEBG0@Z
-; public: bool __cdecl CInstance::SetCharSplat(unsigned short const * __ptr64,unsigned long) __ptr64
-?SetCharSplat@CInstance@@QEAA_NPEBGK@Z
-; public: bool __cdecl CInstance::SetCharSplat(unsigned short const * __ptr64,char const * __ptr64) __ptr64
-?SetCharSplat@CInstance@@QEAA_NPEBGPEBD@Z
-; public: int __cdecl ParsedObjectPath::SetClassName(unsigned short const * __ptr64) __ptr64
-?SetClassName@ParsedObjectPath@@QEAAHPEBG@Z
-; protected: bool __cdecl Provider::SetCreationClassName(class CInstance * __ptr64) __ptr64
-?SetCreationClassName@Provider@@IEAA_NPEAVCInstance@@@Z
-; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
-?SetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAK@Z
-; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
-?SetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHString@@@Z
-; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
-?SetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHStringArray@@@Z
-; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
-?SetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAK@Z
-; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
-?SetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
-; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
-?SetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHStringArray@@@Z
-; public: unsigned long __cdecl CRegistry::SetCurrentKeyValueExpand(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
-?SetCurrentKeyValueExpand@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHString@@@Z
-; public: int __cdecl WBEMTime::SetDMTF(unsigned short * __ptr64 const) __ptr64
-?SetDMTF@WBEMTime@@QEAAHQEAG@Z
-; public: bool __cdecl CInstance::SetDOUBLE(unsigned short const * __ptr64,double) __ptr64
-?SetDOUBLE@CInstance@@QEAA_NPEBGN@Z
-; public: bool __cdecl CInstance::SetDWORD(unsigned short const * __ptr64,unsigned long) __ptr64
-?SetDWORD@CInstance@@QEAA_NPEBGK@Z
-; public: bool __cdecl CInstance::SetDateTime(unsigned short const * __ptr64,class WBEMTime const & __ptr64) __ptr64
-?SetDateTime@CInstance@@QEAA_NPEBGAEBVWBEMTime@@@Z
-; private: void __cdecl CRegistry::SetDefaultValues(void) __ptr64
-?SetDefaultValues@CRegistry@@AEAAXXZ
-; public: bool __cdecl CInstance::SetEmbeddedObject(unsigned short const * __ptr64,class CInstance & __ptr64) __ptr64
-?SetEmbeddedObject@CInstance@@QEAA_NPEBGAEAV1@@Z
-; private: int __cdecl Provider::SetKeyFromParsedObjectPath(class CInstance * __ptr64,struct ParsedObjectPath * __ptr64) __ptr64
-?SetKeyFromParsedObjectPath@Provider@@AEAAHPEAVCInstance@@PEAUParsedObjectPath@@@Z
-; public: bool __cdecl CInstance::SetNull(unsigned short const * __ptr64) __ptr64
-?SetNull@CInstance@@QEAA_NPEBG@Z
-; private: static int __cdecl CRegistry::SetPlatformID(void)
-?SetPlatformID@CRegistry@@CAHXZ
-; public: void __cdecl CHPtrArray::SetSize(int,int) __ptr64
-?SetSize@CHPtrArray@@QEAAXHH@Z
-; public: void __cdecl CHStringArray::SetSize(int,int) __ptr64
-?SetSize@CHStringArray@@QEAAXHH@Z
-; public: static bool __cdecl CWbemProviderGlue::SetStatusObject(class MethodContext * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,long,struct tagSAFEARRAY const * __ptr64,struct tagSAFEARRAY const * __ptr64)
-?SetStatusObject@CWbemProviderGlue@@SA_NPEAVMethodContext@@PEBG1JPEBUtagSAFEARRAY@@2@Z
-; public: bool __cdecl MethodContext::SetStatusObject(struct IWbemClassObject * __ptr64) __ptr64
-?SetStatusObject@MethodContext@@QEAA_NPEAUIWbemClassObject@@@Z
-; public: bool __cdecl CInstance::SetStringArray(unsigned short const * __ptr64,struct tagSAFEARRAY const & __ptr64) __ptr64
-?SetStringArray@CInstance@@QEAA_NPEBGAEBUtagSAFEARRAY@@@Z
-; public: bool __cdecl CInstance::SetTimeSpan(unsigned short const * __ptr64,class WBEMTimeSpan const & __ptr64) __ptr64
-?SetTimeSpan@CInstance@@QEAA_NPEBGAEBVWBEMTimeSpan@@@Z
-; public: bool __cdecl CInstance::SetVariant(unsigned short const * __ptr64,struct tagVARIANT const & __ptr64) __ptr64
-?SetVariant@CInstance@@QEAA_NPEBGAEBUtagVARIANT@@@Z
-; public: bool __cdecl CInstance::SetWBEMINT16(unsigned short const * __ptr64,short const & __ptr64) __ptr64
-?SetWBEMINT16@CInstance@@QEAA_NPEBGAEBF@Z
-; public: bool __cdecl CInstance::SetWBEMINT64(unsigned short const * __ptr64,class CHString const & __ptr64) __ptr64
-?SetWBEMINT64@CInstance@@QEAA_NPEBGAEBVCHString@@@Z
-; public: bool __cdecl CInstance::SetWBEMINT64(unsigned short const * __ptr64,__int64) __ptr64
-?SetWBEMINT64@CInstance@@QEAA_NPEBG_J@Z
-; public: bool __cdecl CInstance::SetWBEMINT64(unsigned short const * __ptr64,unsigned __int64) __ptr64
-?SetWBEMINT64@CInstance@@QEAA_NPEBG_K@Z
-; public: bool __cdecl CInstance::SetWCHARSplat(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetWCHARSplat@CInstance@@QEAA_NPEBG0@Z
-; public: bool __cdecl CInstance::SetWORD(unsigned short const * __ptr64,unsigned short) __ptr64
-?SetWORD@CInstance@@QEAA_NPEBGG@Z
-; public: bool __cdecl CInstance::Setbool(unsigned short const * __ptr64,bool) __ptr64
-?Setbool@CInstance@@QEAA_NPEBG_N@Z
-; public: int __cdecl CAutoEvent::Signal(void) __ptr64
-?Signal@CAutoEvent@@QEAAHXZ
-; public: class CHString  __cdecl CHString::SpanExcluding(unsigned short const * __ptr64)const  __ptr64
-?SpanExcluding@CHString@@QEBA?AV1@PEBG@Z
-; public: class CHString  __cdecl CHString::SpanIncluding(unsigned short const * __ptr64)const  __ptr64
-?SpanIncluding@CHString@@QEBA?AV1@PEBG@Z
-; public: void __cdecl CHString::TrimLeft(void) __ptr64
-?TrimLeft@CHString@@QEAAXXZ
-; public: void __cdecl CHString::TrimRight(void) __ptr64
-?TrimRight@CHString@@QEAAXXZ
-; private: static void __cdecl CWbemProviderGlue::UnInit(void)
-?UnInit@CWbemProviderGlue@@CAXXZ
-; protected: void __cdecl CWinMsgEvent::UnRegisterAllMessages(void) __ptr64
-?UnRegisterAllMessages@CWinMsgEvent@@IEAAXXZ
-; protected: bool __cdecl CWinMsgEvent::UnRegisterMessage(unsigned int) __ptr64
-?UnRegisterMessage@CWinMsgEvent@@IEAA_NI@Z
-; private: void __cdecl CThreadBase::Unlock(void) __ptr64
-?Unlock@CThreadBase@@AEAAXXZ
-; public: void __cdecl CHString::UnlockBuffer(void) __ptr64
-?UnlockBuffer@CHString@@QEAAXXZ
-; private: static void __cdecl CWbemProviderGlue::UnlockFactoryMap(void)
-?UnlockFactoryMap@CWbemProviderGlue@@CAXXZ
-; private: static void __cdecl CWbemProviderGlue::UnlockProviderMap(void)
-?UnlockProviderMap@CWbemProviderGlue@@CAXXZ
-; public: static int __cdecl CObjectPathParser::Unparse(struct ParsedObjectPath * __ptr64,unsigned short * __ptr64 * __ptr64)
-?Unparse@CObjectPathParser@@SAHPEAUParsedObjectPath@@PEAPEAG@Z
-; protected: virtual long __cdecl Provider::ValidateDeletionFlags(long) __ptr64
-?ValidateDeletionFlags@Provider@@MEAAJJ@Z
-; protected: virtual long __cdecl Provider::ValidateEnumerationFlags(long) __ptr64
-?ValidateEnumerationFlags@Provider@@MEAAJJ@Z
-; protected: long __cdecl Provider::ValidateFlags(long,enum Provider::FlagDefs) __ptr64
-?ValidateFlags@Provider@@IEAAJJW4FlagDefs@1@@Z
-; protected: virtual long __cdecl Provider::ValidateGetObjFlags(long) __ptr64
-?ValidateGetObjFlags@Provider@@MEAAJJ@Z
-; private: int __cdecl Provider::ValidateIMOSPointer(void) __ptr64
-?ValidateIMOSPointer@Provider@@AEAAHXZ
-; protected: virtual long __cdecl Provider::ValidateMethodFlags(long) __ptr64
-?ValidateMethodFlags@Provider@@MEAAJJ@Z
-; protected: virtual long __cdecl Provider::ValidatePutInstanceFlags(long) __ptr64
-?ValidatePutInstanceFlags@Provider@@MEAAJJ@Z
-; protected: virtual long __cdecl Provider::ValidateQueryFlags(long) __ptr64
-?ValidateQueryFlags@Provider@@MEAAJJ@Z
-; public: unsigned long __cdecl CAutoEvent::Wait(unsigned long) __ptr64
-?Wait@CAutoEvent@@QEAAKK@Z
-; private: static void __cdecl CWinMsgEvent::WindowsDispatch(void)
-?WindowsDispatch@CWinMsgEvent@@CAXXZ
-; private: void __cdecl CObjectPathParser::Zero(void) __ptr64
-?Zero@CObjectPathParser@@AEAAXXZ
-; private: int __cdecl CObjectPathParser::begin_parse(void) __ptr64
-?begin_parse@CObjectPathParser@@AEAAHXZ
-; class ProviderLog  captainsLog
-?captainsLog@@3VProviderLog@@A DATA
-; private: static unsigned long __cdecl CWinMsgEvent::dwThreadProc(void * __ptr64)
-?dwThreadProc@CWinMsgEvent@@CAKPEAX@Z
-; class CCritSec  g_cs
-?g_cs@@3VCCritSec@@A DATA
-; private: int __cdecl CObjectPathParser::ident_becomes_class(void) __ptr64
-?ident_becomes_class@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::ident_becomes_ns(void) __ptr64
-?ident_becomes_ns@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::key_const(void) __ptr64
-?key_const@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::keyref(void) __ptr64
-?keyref@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::keyref_list(void) __ptr64
-?keyref_list@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::keyref_term(void) __ptr64
-?keyref_term@CObjectPathParser@@AEAAHXZ
-; private: static class std::set<void * __ptr64,struct std::less<void * __ptr64>,class std::allocator<void * __ptr64> >  CWbemProviderGlue::m_FlushPtrs
-?m_FlushPtrs@CWbemProviderGlue@@0V?$set@PEAXU?$less@PEAX@std@@V?$allocator@PEAX@2@@std@@A DATA
-; private: static class CCritSec  CWbemProviderGlue::m_csFlushPtrs
-?m_csFlushPtrs@CWbemProviderGlue@@0VCCritSec@@A DATA
-; private: static class CCritSec  CWbemProviderGlue::m_csStatusObject
-?m_csStatusObject@CWbemProviderGlue@@0VCCritSec@@A DATA
-; private: static struct IWbemClassObject * __ptr64  __ptr64 CWbemProviderGlue::m_pStatusObject
-?m_pStatusObject@CWbemProviderGlue@@0PEAUIWbemClassObject@@EA DATA
-; private: static class CAutoEvent  CWinMsgEvent::mg_aeCreateWindow
-?mg_aeCreateWindow@CWinMsgEvent@@0VCAutoEvent@@A DATA
-; private: static class CCritSec  CWinMsgEvent::mg_csMapLock
-?mg_csMapLock@CWinMsgEvent@@0VCCritSec@@A DATA
-; private: static class CCritSec  CWinMsgEvent::mg_csWindowLock
-?mg_csWindowLock@CWinMsgEvent@@0VCCritSec@@A DATA
-; private: static void * __ptr64  __ptr64 CWinMsgEvent::mg_hThreadPumpHandle
-?mg_hThreadPumpHandle@CWinMsgEvent@@0PEAXEA DATA
-; private: static struct HWND__ * __ptr64  __ptr64 CWinMsgEvent::mg_hWnd
-?mg_hWnd@CWinMsgEvent@@0PEAUHWND__@@EA DATA
-; private: static class std::multimap<unsigned int,class CWinMsgEvent * __ptr64,struct std::less<unsigned int>,class std::allocator<class CWinMsgEvent * __ptr64> >  CWinMsgEvent::mg_oSinkMap
-?mg_oSinkMap@CWinMsgEvent@@0V?$multimap@IPEAVCWinMsgEvent@@U?$less@I@std@@V?$allocator@PEAVCWinMsgEvent@@@3@@std@@A DATA
-; private: long __cdecl CRegistry::myRegCreateKeyEx(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * __ptr64,struct HKEY__ * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?myRegCreateKeyEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGKPEAGKKPEAU_SECURITY_ATTRIBUTES@@PEAPEAU2@PEAK@Z
-; private: long __cdecl CRegistry::myRegDeleteKey(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
-?myRegDeleteKey@CRegistry@@AEAAJPEAUHKEY__@@PEBG@Z
-; private: long __cdecl CRegistry::myRegDeleteValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
-?myRegDeleteValue@CRegistry@@AEAAJPEAUHKEY__@@PEBG@Z
-; private: long __cdecl CRegistry::myRegEnumKey(struct HKEY__ * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long) __ptr64
-?myRegEnumKey@CRegistry@@AEAAJPEAUHKEY__@@KPEAGK@Z
-; private: long __cdecl CRegistry::myRegEnumValue(struct HKEY__ * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
-?myRegEnumValue@CRegistry@@AEAAJPEAUHKEY__@@KPEAGPEAK22PEAE2@Z
-; private: long __cdecl CRegistry::myRegOpenKeyEx(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,struct HKEY__ * __ptr64 * __ptr64) __ptr64
-?myRegOpenKeyEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGKKPEAPEAU2@@Z
-; private: long __cdecl CRegistry::myRegQueryInfoKey(struct HKEY__ * __ptr64,unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64) __ptr64
-?myRegQueryInfoKey@CRegistry@@AEAAJPEAUHKEY__@@PEAGPEAK22222222PEAU_FILETIME@@@Z
-; private: long __cdecl CRegistry::myRegQueryValueEx(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
-?myRegQueryValueEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGPEAK2PEAE2@Z
-; private: long __cdecl CRegistry::myRegSetValueEx(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned char const * __ptr64,unsigned long) __ptr64
-?myRegSetValueEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGKKPEBEK@Z
-; private: int __cdecl CObjectPathParser::ns_list(void) __ptr64
-?ns_list@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::ns_list_rest(void) __ptr64
-?ns_list_rest@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::ns_or_class(void) __ptr64
-?ns_or_class@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::ns_or_server(void) __ptr64
-?ns_or_server@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::objref(void) __ptr64
-?objref@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::objref_rest(void) __ptr64
-?objref_rest@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::optional_objref(void) __ptr64
-?optional_objref@CObjectPathParser@@AEAAHXZ
-; private: int __cdecl CObjectPathParser::propname(void) __ptr64
-?propname@CObjectPathParser@@AEAAHXZ
-; private: static int  CWbemProviderGlue::s_bInitted
-?s_bInitted@CWbemProviderGlue@@0HA DATA
-; private: static class CCritSec  CWbemProviderGlue::s_csFactoryMap
-?s_csFactoryMap@CWbemProviderGlue@@0VCCritSec@@A DATA
-; private: static class CCritSec  CWbemProviderGlue::s_csProviderMap
-?s_csProviderMap@CWbemProviderGlue@@0VCCritSec@@A DATA
-; private: static unsigned long  CWbemProviderGlue::s_dwMajorVersion
-?s_dwMajorVersion@CWbemProviderGlue@@0KA DATA
-; private: static unsigned long  CRegistry::s_dwPlatform
-?s_dwPlatform@CRegistry@@0KA DATA
-; private: static unsigned long  CWbemProviderGlue::s_dwPlatform
-?s_dwPlatform@CWbemProviderGlue@@0KA DATA
-; private: static int  CRegistry::s_fPlatformSet
-?s_fPlatformSet@CRegistry@@0HA DATA
-; private: static class std::map<void const * __ptr64,long * __ptr64,struct std::less<void const * __ptr64>,class std::allocator<long * __ptr64> >  CWbemProviderGlue::s_factorymap
-?s_factorymap@CWbemProviderGlue@@0V?$map@PEBXPEAJU?$less@PEBX@std@@V?$allocator@PEAJ@2@@std@@A DATA
-; private: static long  CWbemProviderGlue::s_lObjects
-?s_lObjects@CWbemProviderGlue@@0JA DATA
-; private: static class std::map<class CHString,void * __ptr64,struct std::less<class CHString>,class std::allocator<void * __ptr64> >  CWbemProviderGlue::s_providersmap
-?s_providersmap@CWbemProviderGlue@@0V?$map@VCHString@@PEAXU?$less@VCHString@@@std@@V?$allocator@PEAX@3@@std@@A DATA
-; private: static class CHString  Provider::s_strComputerName
-?s_strComputerName@Provider@@0VCHString@@A DATA
-; private: static unsigned short *  CWbemProviderGlue::s_wstrCSDVersion
-?s_wstrCSDVersion@CWbemProviderGlue@@0PAGA DATA
-DoCmd
+; 
+; Exports of file framedyn.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY framedyn.dll
+EXPORTS
+; public: __cdecl CAutoEvent::CAutoEvent(void) __ptr64
+??0CAutoEvent@@QEAA@XZ
+; public: __cdecl CFrameworkQuery::CFrameworkQuery(class CFrameworkQuery const & __ptr64) __ptr64
+??0CFrameworkQuery@@QEAA@AEBV0@@Z
+; public: __cdecl CFrameworkQuery::CFrameworkQuery(void) __ptr64
+??0CFrameworkQuery@@QEAA@XZ
+; public: __cdecl CFrameworkQueryEx::CFrameworkQueryEx(class CFrameworkQueryEx const & __ptr64) __ptr64
+??0CFrameworkQueryEx@@QEAA@AEBV0@@Z
+; public: __cdecl CFrameworkQueryEx::CFrameworkQueryEx(void) __ptr64
+??0CFrameworkQueryEx@@QEAA@XZ
+; public: __cdecl CHPtrArray::CHPtrArray(void) __ptr64
+??0CHPtrArray@@QEAA@XZ
+; public: __cdecl CHString::CHString(class CHString const & __ptr64) __ptr64
+??0CHString@@QEAA@AEBV0@@Z
+; public: __cdecl CHString::CHString(unsigned short,int) __ptr64
+??0CHString@@QEAA@GH@Z
+; public: __cdecl CHString::CHString(char const * __ptr64) __ptr64
+??0CHString@@QEAA@PEBD@Z
+; public: __cdecl CHString::CHString(unsigned char const * __ptr64) __ptr64
+??0CHString@@QEAA@PEBE@Z
+; public: __cdecl CHString::CHString(unsigned short const * __ptr64) __ptr64
+??0CHString@@QEAA@PEBG@Z
+; public: __cdecl CHString::CHString(unsigned short const * __ptr64,int) __ptr64
+??0CHString@@QEAA@PEBGH@Z
+; public: __cdecl CHString::CHString(void) __ptr64
+??0CHString@@QEAA@XZ
+; public: __cdecl CHStringArray::CHStringArray(void) __ptr64
+??0CHStringArray@@QEAA@XZ
+; public: __cdecl CInstance::CInstance(class CInstance const & __ptr64) __ptr64
+??0CInstance@@QEAA@AEBV0@@Z
+; public: __cdecl CInstance::CInstance(struct IWbemClassObject * __ptr64,class MethodContext * __ptr64) __ptr64
+??0CInstance@@QEAA@PEAUIWbemClassObject@@PEAVMethodContext@@@Z
+; public: __cdecl CObjectPathParser::CObjectPathParser(enum ObjectParserFlags) __ptr64
+??0CObjectPathParser@@QEAA@W4ObjectParserFlags@@@Z
+; public: __cdecl CRegistry::CRegistry(class CRegistry const & __ptr64) __ptr64
+??0CRegistry@@QEAA@AEBV0@@Z
+; public: __cdecl CRegistry::CRegistry(void) __ptr64
+??0CRegistry@@QEAA@XZ
+; public: __cdecl CRegistrySearch::CRegistrySearch(class CRegistrySearch const & __ptr64) __ptr64
+??0CRegistrySearch@@QEAA@AEBV0@@Z
+; public: __cdecl CRegistrySearch::CRegistrySearch(void) __ptr64
+??0CRegistrySearch@@QEAA@XZ
+; public: __cdecl CThreadBase::CThreadBase(class CThreadBase const & __ptr64) __ptr64
+??0CThreadBase@@QEAA@AEBV0@@Z
+; public: __cdecl CThreadBase::CThreadBase(enum CThreadBase::THREAD_SAFETY_MECHANISM) __ptr64
+??0CThreadBase@@QEAA@W4THREAD_SAFETY_MECHANISM@0@@Z
+; public: __cdecl CWbemGlueFactory::CWbemGlueFactory(class CWbemGlueFactory const & __ptr64) __ptr64
+??0CWbemGlueFactory@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemGlueFactory::CWbemGlueFactory(long * __ptr64) __ptr64
+??0CWbemGlueFactory@@QEAA@PEAJ@Z
+; public: __cdecl CWbemGlueFactory::CWbemGlueFactory(void) __ptr64
+??0CWbemGlueFactory@@QEAA@XZ
+; public: __cdecl CWbemProviderGlue::CWbemProviderGlue(class CWbemProviderGlue const & __ptr64) __ptr64
+??0CWbemProviderGlue@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemProviderGlue::CWbemProviderGlue(long * __ptr64) __ptr64
+??0CWbemProviderGlue@@QEAA@PEAJ@Z
+; public: __cdecl CWbemProviderGlue::CWbemProviderGlue(void) __ptr64
+??0CWbemProviderGlue@@QEAA@XZ
+; public: __cdecl CWinMsgEvent::CWinMsgEvent(class CWinMsgEvent const & __ptr64) __ptr64
+??0CWinMsgEvent@@QEAA@AEBV0@@Z
+; public: __cdecl CWinMsgEvent::CWinMsgEvent(void) __ptr64
+??0CWinMsgEvent@@QEAA@XZ
+; public: __cdecl CreateMutexAsProcess::CreateMutexAsProcess(unsigned short const * __ptr64) __ptr64
+??0CreateMutexAsProcess@@QEAA@PEBG@Z
+; public: __cdecl KeyRef::KeyRef(unsigned short const * __ptr64,struct tagVARIANT const * __ptr64) __ptr64
+??0KeyRef@@QEAA@PEBGPEBUtagVARIANT@@@Z
+; public: __cdecl KeyRef::KeyRef(void) __ptr64
+??0KeyRef@@QEAA@XZ
+; public: __cdecl MethodContext::MethodContext(class MethodContext const & __ptr64) __ptr64
+??0MethodContext@@QEAA@AEBV0@@Z
+; public: __cdecl MethodContext::MethodContext(struct IWbemContext * __ptr64,class CWbemProviderGlue * __ptr64) __ptr64
+??0MethodContext@@QEAA@PEAUIWbemContext@@PEAVCWbemProviderGlue@@@Z
+; public: __cdecl ParsedObjectPath::ParsedObjectPath(void) __ptr64
+??0ParsedObjectPath@@QEAA@XZ
+; public: __cdecl Provider::Provider(class Provider const & __ptr64) __ptr64
+??0Provider@@QEAA@AEBV0@@Z
+; public: __cdecl Provider::Provider(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0Provider@@QEAA@PEBG0@Z
+; public: __cdecl ProviderLog::ProviderLog(class ProviderLog const & __ptr64) __ptr64
+??0ProviderLog@@QEAA@AEBV0@@Z
+; public: __cdecl ProviderLog::ProviderLog(void) __ptr64
+??0ProviderLog@@QEAA@XZ
+; public: __cdecl WBEMTime::WBEMTime(struct _FILETIME const & __ptr64) __ptr64
+??0WBEMTime@@QEAA@AEBU_FILETIME@@@Z
+; public: __cdecl WBEMTime::WBEMTime(struct _SYSTEMTIME const & __ptr64) __ptr64
+??0WBEMTime@@QEAA@AEBU_SYSTEMTIME@@@Z
+; public: __cdecl WBEMTime::WBEMTime(struct tm const & __ptr64) __ptr64
+??0WBEMTime@@QEAA@AEBUtm@@@Z
+; public: __cdecl WBEMTime::WBEMTime(__int64 const & __ptr64) __ptr64
+??0WBEMTime@@QEAA@AEB_J@Z
+; public: __cdecl WBEMTime::WBEMTime(unsigned short * __ptr64 const) __ptr64
+??0WBEMTime@@QEAA@QEAG@Z
+; public: __cdecl WBEMTime::WBEMTime(void) __ptr64
+??0WBEMTime@@QEAA@XZ
+; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(struct _FILETIME const & __ptr64) __ptr64
+??0WBEMTimeSpan@@QEAA@AEBU_FILETIME@@@Z
+; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(__int64 const & __ptr64) __ptr64
+??0WBEMTimeSpan@@QEAA@AEB_J@Z
+; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(int,int,int,int,int,int,int) __ptr64
+??0WBEMTimeSpan@@QEAA@HHHHHHH@Z
+; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(unsigned short * __ptr64 const) __ptr64
+??0WBEMTimeSpan@@QEAA@QEAG@Z
+; public: __cdecl WBEMTimeSpan::WBEMTimeSpan(void) __ptr64
+??0WBEMTimeSpan@@QEAA@XZ
+; public: __cdecl std::_Lockit::_Lockit(void) __ptr64
+??0_Lockit@std@@QEAA@XZ
+; public: __cdecl CAutoEvent::~CAutoEvent(void) __ptr64
+??1CAutoEvent@@QEAA@XZ
+; public: __cdecl CFrameworkQuery::~CFrameworkQuery(void) __ptr64
+??1CFrameworkQuery@@QEAA@XZ
+; public: __cdecl CFrameworkQueryEx::~CFrameworkQueryEx(void) __ptr64
+??1CFrameworkQueryEx@@QEAA@XZ
+; public: __cdecl CHPtrArray::~CHPtrArray(void) __ptr64
+??1CHPtrArray@@QEAA@XZ
+; public: __cdecl CHString::~CHString(void) __ptr64
+??1CHString@@QEAA@XZ
+; public: __cdecl CHStringArray::~CHStringArray(void) __ptr64
+??1CHStringArray@@QEAA@XZ
+; public: virtual __cdecl CInstance::~CInstance(void) __ptr64
+??1CInstance@@UEAA@XZ
+; public: __cdecl CObjectPathParser::~CObjectPathParser(void) __ptr64
+??1CObjectPathParser@@QEAA@XZ
+; public: __cdecl CRegistry::~CRegistry(void) __ptr64
+??1CRegistry@@QEAA@XZ
+; public: __cdecl CRegistrySearch::~CRegistrySearch(void) __ptr64
+??1CRegistrySearch@@QEAA@XZ
+; public: virtual __cdecl CThreadBase::~CThreadBase(void) __ptr64
+??1CThreadBase@@UEAA@XZ
+; public: __cdecl CWbemGlueFactory::~CWbemGlueFactory(void) __ptr64
+??1CWbemGlueFactory@@QEAA@XZ
+; public: __cdecl CWbemProviderGlue::~CWbemProviderGlue(void) __ptr64
+??1CWbemProviderGlue@@QEAA@XZ
+; public: __cdecl CWinMsgEvent::~CWinMsgEvent(void) __ptr64
+??1CWinMsgEvent@@QEAA@XZ
+; public: __cdecl CreateMutexAsProcess::~CreateMutexAsProcess(void) __ptr64
+??1CreateMutexAsProcess@@QEAA@XZ
+; public: __cdecl KeyRef::~KeyRef(void) __ptr64
+??1KeyRef@@QEAA@XZ
+; public: virtual __cdecl MethodContext::~MethodContext(void) __ptr64
+??1MethodContext@@UEAA@XZ
+; public: __cdecl ParsedObjectPath::~ParsedObjectPath(void) __ptr64
+??1ParsedObjectPath@@QEAA@XZ
+; public: virtual __cdecl Provider::~Provider(void) __ptr64
+??1Provider@@UEAA@XZ
+; public: virtual __cdecl ProviderLog::~ProviderLog(void) __ptr64
+??1ProviderLog@@UEAA@XZ
+; public: __cdecl std::_Lockit::~_Lockit(void) __ptr64
+??1_Lockit@std@@QEAA@XZ
+; public: class CAutoEvent & __ptr64 __cdecl CAutoEvent::operator=(class CAutoEvent const & __ptr64) __ptr64
+??4CAutoEvent@@QEAAAEAV0@AEBV0@@Z
+; public: class CFrameworkQuery & __ptr64 __cdecl CFrameworkQuery::operator=(class CFrameworkQuery const & __ptr64) __ptr64
+??4CFrameworkQuery@@QEAAAEAV0@AEBV0@@Z
+; public: class CFrameworkQueryEx & __ptr64 __cdecl CFrameworkQueryEx::operator=(class CFrameworkQueryEx const & __ptr64) __ptr64
+??4CFrameworkQueryEx@@QEAAAEAV0@AEBV0@@Z
+; public: class CHPtrArray & __ptr64 __cdecl CHPtrArray::operator=(class CHPtrArray const & __ptr64) __ptr64
+??4CHPtrArray@@QEAAAEAV0@AEBV0@@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator=(class CHString const & __ptr64) __ptr64
+??4CHString@@QEAAAEBV0@AEBV0@@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator=(char) __ptr64
+??4CHString@@QEAAAEBV0@D@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator=(unsigned short) __ptr64
+??4CHString@@QEAAAEBV0@G@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator=(class CHString * __ptr64) __ptr64
+??4CHString@@QEAAAEBV0@PEAV0@@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator=(char const * __ptr64) __ptr64
+??4CHString@@QEAAAEBV0@PEBD@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator=(unsigned char const * __ptr64) __ptr64
+??4CHString@@QEAAAEBV0@PEBE@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator=(unsigned short const * __ptr64) __ptr64
+??4CHString@@QEAAAEBV0@PEBG@Z
+; public: class CHStringArray & __ptr64 __cdecl CHStringArray::operator=(class CHStringArray const & __ptr64) __ptr64
+??4CHStringArray@@QEAAAEAV0@AEBV0@@Z
+; public: class CInstance & __ptr64 __cdecl CInstance::operator=(class CInstance const & __ptr64) __ptr64
+??4CInstance@@QEAAAEAV0@AEBV0@@Z
+; public: class CObjectPathParser & __ptr64 __cdecl CObjectPathParser::operator=(class CObjectPathParser const & __ptr64) __ptr64
+??4CObjectPathParser@@QEAAAEAV0@AEBV0@@Z
+; public: class CRegistry & __ptr64 __cdecl CRegistry::operator=(class CRegistry const & __ptr64) __ptr64
+??4CRegistry@@QEAAAEAV0@AEBV0@@Z
+; public: class CRegistrySearch & __ptr64 __cdecl CRegistrySearch::operator=(class CRegistrySearch const & __ptr64) __ptr64
+??4CRegistrySearch@@QEAAAEAV0@AEBV0@@Z
+; public: class CThreadBase & __ptr64 __cdecl CThreadBase::operator=(class CThreadBase const & __ptr64) __ptr64
+??4CThreadBase@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemGlueFactory & __ptr64 __cdecl CWbemGlueFactory::operator=(class CWbemGlueFactory const & __ptr64) __ptr64
+??4CWbemGlueFactory@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemProviderGlue & __ptr64 __cdecl CWbemProviderGlue::operator=(class CWbemProviderGlue const & __ptr64) __ptr64
+??4CWbemProviderGlue@@QEAAAEAV0@AEBV0@@Z
+; public: class CWinMsgEvent & __ptr64 __cdecl CWinMsgEvent::operator=(class CWinMsgEvent const & __ptr64) __ptr64
+??4CWinMsgEvent@@QEAAAEAV0@AEBV0@@Z
+; public: class CreateMutexAsProcess & __ptr64 __cdecl CreateMutexAsProcess::operator=(class CreateMutexAsProcess const & __ptr64) __ptr64
+??4CreateMutexAsProcess@@QEAAAEAV0@AEBV0@@Z
+; public: struct KeyRef & __ptr64 __cdecl KeyRef::operator=(struct KeyRef const & __ptr64) __ptr64
+??4KeyRef@@QEAAAEAU0@AEBU0@@Z
+; public: class MethodContext & __ptr64 __cdecl MethodContext::operator=(class MethodContext const & __ptr64) __ptr64
+??4MethodContext@@QEAAAEAV0@AEBV0@@Z
+; public: struct ParsedObjectPath & __ptr64 __cdecl ParsedObjectPath::operator=(struct ParsedObjectPath const & __ptr64) __ptr64
+??4ParsedObjectPath@@QEAAAEAU0@AEBU0@@Z
+; public: class Provider & __ptr64 __cdecl Provider::operator=(class Provider const & __ptr64) __ptr64
+??4Provider@@QEAAAEAV0@AEBV0@@Z
+; public: class ProviderLog & __ptr64 __cdecl ProviderLog::operator=(class ProviderLog const & __ptr64) __ptr64
+??4ProviderLog@@QEAAAEAV0@AEBV0@@Z
+; public: class WBEMTime & __ptr64 __cdecl WBEMTime::operator=(class WBEMTime const & __ptr64) __ptr64
+??4WBEMTime@@QEAAAEAV0@AEBV0@@Z
+; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(struct _FILETIME const & __ptr64) __ptr64
+??4WBEMTime@@QEAAAEBV0@AEBU_FILETIME@@@Z
+; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(struct _SYSTEMTIME const & __ptr64) __ptr64
+??4WBEMTime@@QEAAAEBV0@AEBU_SYSTEMTIME@@@Z
+; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(struct tm const & __ptr64) __ptr64
+??4WBEMTime@@QEAAAEBV0@AEBUtm@@@Z
+; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(__int64 const & __ptr64) __ptr64
+??4WBEMTime@@QEAAAEBV0@AEB_J@Z
+; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator=(unsigned short * __ptr64 const) __ptr64
+??4WBEMTime@@QEAAAEBV0@QEAG@Z
+; public: class WBEMTimeSpan & __ptr64 __cdecl WBEMTimeSpan::operator=(class WBEMTimeSpan const & __ptr64) __ptr64
+??4WBEMTimeSpan@@QEAAAEAV0@AEBV0@@Z
+; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator=(struct _FILETIME const & __ptr64) __ptr64
+??4WBEMTimeSpan@@QEAAAEBV0@AEBU_FILETIME@@@Z
+; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator=(__int64 const & __ptr64) __ptr64
+??4WBEMTimeSpan@@QEAAAEBV0@AEB_J@Z
+; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator=(unsigned short * __ptr64 const) __ptr64
+??4WBEMTimeSpan@@QEAAAEBV0@QEAG@Z
+; public: int __cdecl WBEMTime::operator==(class WBEMTime const & __ptr64)const  __ptr64
+??8WBEMTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTimeSpan::operator==(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??8WBEMTimeSpan@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTime::operator!=(class WBEMTime const & __ptr64)const  __ptr64
+??9WBEMTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTimeSpan::operator!=(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??9WBEMTimeSpan@@QEBAHAEBV0@@Z
+; public: void * __ptr64 & __ptr64 __cdecl CHPtrArray::operator[](int) __ptr64
+??ACHPtrArray@@QEAAAEAPEAXH@Z
+; public: void * __ptr64 __cdecl CHPtrArray::operator[](int)const  __ptr64
+??ACHPtrArray@@QEBAPEAXH@Z
+; public: unsigned short __cdecl CHString::operator[](int)const  __ptr64
+??ACHString@@QEBAGH@Z
+; public: class CHString & __ptr64 __cdecl CHStringArray::operator[](int) __ptr64
+??ACHStringArray@@QEAAAEAVCHString@@H@Z
+; public: class CHString  __cdecl CHStringArray::operator[](int)const  __ptr64
+??ACHStringArray@@QEBA?AVCHString@@H@Z
+; public: __cdecl CHString::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCHString@@QEBAPEBGXZ
+; public: class WBEMTimeSpan  __cdecl WBEMTime::operator-(class WBEMTime const & __ptr64) __ptr64
+??GWBEMTime@@QEAA?AVWBEMTimeSpan@@AEBV0@@Z
+; public: class WBEMTime  __cdecl WBEMTime::operator-(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??GWBEMTime@@QEBA?AV0@AEBVWBEMTimeSpan@@@Z
+; public: class WBEMTimeSpan  __cdecl WBEMTimeSpan::operator-(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??GWBEMTimeSpan@@QEBA?AV0@AEBV0@@Z
+; class CHString  __cdecl operator+(class CHString const & __ptr64,class CHString const & __ptr64)
+??H@YA?AVCHString@@AEBV0@0@Z
+; class CHString  __cdecl operator+(class CHString const & __ptr64,unsigned short)
+??H@YA?AVCHString@@AEBV0@G@Z
+; class CHString  __cdecl operator+(class CHString const & __ptr64,unsigned short const * __ptr64)
+??H@YA?AVCHString@@AEBV0@PEBG@Z
+; class CHString  __cdecl operator+(unsigned short,class CHString const & __ptr64)
+??H@YA?AVCHString@@GAEBV0@@Z
+; class CHString  __cdecl operator+(unsigned short const * __ptr64,class CHString const & __ptr64)
+??H@YA?AVCHString@@PEBGAEBV0@@Z
+; public: class WBEMTime  __cdecl WBEMTime::operator+(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??HWBEMTime@@QEBA?AV0@AEBVWBEMTimeSpan@@@Z
+; public: class WBEMTimeSpan  __cdecl WBEMTimeSpan::operator+(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??HWBEMTimeSpan@@QEBA?AV0@AEBV0@@Z
+; public: int __cdecl WBEMTime::operator<(class WBEMTime const & __ptr64)const  __ptr64
+??MWBEMTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTimeSpan::operator<(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??MWBEMTimeSpan@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTime::operator<=(class WBEMTime const & __ptr64)const  __ptr64
+??NWBEMTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTimeSpan::operator<=(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??NWBEMTimeSpan@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTime::operator>(class WBEMTime const & __ptr64)const  __ptr64
+??OWBEMTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTimeSpan::operator>(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??OWBEMTimeSpan@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTime::operator>=(class WBEMTime const & __ptr64)const  __ptr64
+??PWBEMTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WBEMTimeSpan::operator>=(class WBEMTimeSpan const & __ptr64)const  __ptr64
+??PWBEMTimeSpan@@QEBAHAEBV0@@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator+=(class CHString const & __ptr64) __ptr64
+??YCHString@@QEAAAEBV0@AEBV0@@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator+=(char) __ptr64
+??YCHString@@QEAAAEBV0@D@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator+=(unsigned short) __ptr64
+??YCHString@@QEAAAEBV0@G@Z
+; public: class CHString const & __ptr64 __cdecl CHString::operator+=(unsigned short const * __ptr64) __ptr64
+??YCHString@@QEAAAEBV0@PEBG@Z
+; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator+=(class WBEMTimeSpan const & __ptr64) __ptr64
+??YWBEMTime@@QEAAAEBV0@AEBVWBEMTimeSpan@@@Z
+; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator+=(class WBEMTimeSpan const & __ptr64) __ptr64
+??YWBEMTimeSpan@@QEAAAEBV0@AEBV0@@Z
+; public: class WBEMTime const & __ptr64 __cdecl WBEMTime::operator-=(class WBEMTimeSpan const & __ptr64) __ptr64
+??ZWBEMTime@@QEAAAEBV0@AEBVWBEMTimeSpan@@@Z
+; public: class WBEMTimeSpan const & __ptr64 __cdecl WBEMTimeSpan::operator-=(class WBEMTimeSpan const & __ptr64) __ptr64
+??ZWBEMTimeSpan@@QEAAAEBV0@AEBV0@@Z
+; const  CFrameworkQueryEx::`vftable'
+??_7CFrameworkQueryEx@@6B@
+; const  CInstance::`vftable'
+??_7CInstance@@6B@
+; const  CThreadBase::`vftable'
+??_7CThreadBase@@6B@
+; const  CWbemGlueFactory::`vftable'
+??_7CWbemGlueFactory@@6B@
+; const  CWbemProviderGlue::`vftable'{for `IWbemProviderInit'}
+??_7CWbemProviderGlue@@6BIWbemProviderInit@@@
+; const  CWbemProviderGlue::`vftable'{for `IWbemServices'}
+??_7CWbemProviderGlue@@6BIWbemServices@@@
+; const  CWinMsgEvent::`vftable'
+??_7CWinMsgEvent@@6B@
+; const  MethodContext::`vftable'
+??_7MethodContext@@6B@
+; const  Provider::`vftable'
+??_7Provider@@6B@
+; const  ProviderLog::`vftable'
+??_7ProviderLog@@6B@
+; public: void __cdecl CObjectPathParser::`default constructor closure'(void) __ptr64
+??_FCObjectPathParser@@QEAAXXZ
+; public: void __cdecl CThreadBase::`default constructor closure'(void) __ptr64
+??_FCThreadBase@@QEAAXXZ
+; public: int __cdecl CHPtrArray::Add(void * __ptr64) __ptr64
+?Add@CHPtrArray@@QEAAHPEAX@Z
+; public: int __cdecl CHStringArray::Add(unsigned short const * __ptr64) __ptr64
+?Add@CHStringArray@@QEAAHPEBG@Z
+; private: void __cdecl CWbemProviderGlue::AddFlushPtr(void * __ptr64) __ptr64
+?AddFlushPtr@CWbemProviderGlue@@AEAAXPEAX@Z
+; public: int __cdecl ParsedObjectPath::AddKeyRef(struct KeyRef * __ptr64) __ptr64
+?AddKeyRef@ParsedObjectPath@@QEAAHPEAUKeyRef@@@Z
+; public: int __cdecl ParsedObjectPath::AddKeyRef(unsigned short const * __ptr64,struct tagVARIANT const * __ptr64) __ptr64
+?AddKeyRef@ParsedObjectPath@@QEAAHPEBGPEBUtagVARIANT@@@Z
+; public: int __cdecl ParsedObjectPath::AddKeyRefEx(unsigned short const * __ptr64,struct tagVARIANT const * __ptr64) __ptr64
+?AddKeyRefEx@ParsedObjectPath@@QEAAHPEBGPEBUtagVARIANT@@@Z
+; public: int __cdecl ParsedObjectPath::AddNamespace(unsigned short const * __ptr64) __ptr64
+?AddNamespace@ParsedObjectPath@@QEAAHPEBG@Z
+; private: static class Provider * __ptr64 __cdecl CWbemProviderGlue::AddProviderToMap(unsigned short const * __ptr64,unsigned short const * __ptr64,class Provider * __ptr64)
+?AddProviderToMap@CWbemProviderGlue@@CAPEAVProvider@@PEBG0PEAV2@@Z
+; public: long __cdecl CInstance::AddRef(void) __ptr64
+?AddRef@CInstance@@QEAAJXZ
+; public: long __cdecl CThreadBase::AddRef(void) __ptr64
+?AddRef@CThreadBase@@QEAAJXZ
+; public: virtual unsigned long __cdecl CWbemGlueFactory::AddRef(void) __ptr64
+?AddRef@CWbemGlueFactory@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemProviderGlue::AddRef(void) __ptr64
+?AddRef@CWbemProviderGlue@@UEAAKXZ
+; public: long __cdecl MethodContext::AddRef(void) __ptr64
+?AddRef@MethodContext@@QEAAJXZ
+; protected: static void __cdecl CWbemProviderGlue::AddToFactoryMap(class CWbemGlueFactory const * __ptr64,long * __ptr64)
+?AddToFactoryMap@CWbemProviderGlue@@KAXPEBVCWbemGlueFactory@@PEAJ@Z
+; public: bool __cdecl CFrameworkQuery::AllPropertiesAreRequired(void) __ptr64
+?AllPropertiesAreRequired@CFrameworkQuery@@QEAA_NXZ
+; protected: void __cdecl CHString::AllocBeforeWrite(int) __ptr64
+?AllocBeforeWrite@CHString@@IEAAXH@Z
+; protected: void __cdecl CHString::AllocBuffer(int) __ptr64
+?AllocBuffer@CHString@@IEAAXH@Z
+; protected: void __cdecl CHString::AllocCopy(class CHString & __ptr64,int,int,int)const  __ptr64
+?AllocCopy@CHString@@IEBAXAEAV1@HHH@Z
+; public: unsigned short * __ptr64 __cdecl CHString::AllocSysString(void)const  __ptr64
+?AllocSysString@CHString@@QEBAPEAGXZ
+; public: int __cdecl CHPtrArray::Append(class CHPtrArray const & __ptr64) __ptr64
+?Append@CHPtrArray@@QEAAHAEBV1@@Z
+; public: int __cdecl CHStringArray::Append(class CHStringArray const & __ptr64) __ptr64
+?Append@CHStringArray@@QEAAHAEBV1@@Z
+; protected: void __cdecl CHString::AssignCopy(int,unsigned short const * __ptr64) __ptr64
+?AssignCopy@CHString@@IEAAXHPEBG@Z
+; public: int __cdecl CThreadBase::BeginRead(unsigned long) __ptr64
+?BeginRead@CThreadBase@@QEAAHK@Z
+; public: int __cdecl CThreadBase::BeginWrite(unsigned long) __ptr64
+?BeginWrite@CThreadBase@@QEAAHK@Z
+; public: virtual long __cdecl CWbemProviderGlue::CancelAsyncCall(struct IWbemObjectSink * __ptr64) __ptr64
+?CancelAsyncCall@CWbemProviderGlue@@UEAAJPEAUIWbemObjectSink@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::CancelAsyncRequest(long) __ptr64
+?CancelAsyncRequest@CWbemProviderGlue@@UEAAJJ@Z
+; private: void __cdecl CRegistrySearch::CheckAndAddToList(class CRegistry * __ptr64,class CHString,class CHString,class CHPtrArray & __ptr64,class CHString,class CHString,int) __ptr64
+?CheckAndAddToList@CRegistrySearch@@AEAAXPEAVCRegistry@@VCHString@@1AEAVCHPtrArray@@11H@Z
+; private: void __cdecl ProviderLog::CheckFileSize(union _LARGE_INTEGER & __ptr64,class CHString const & __ptr64) __ptr64
+?CheckFileSize@ProviderLog@@AEAAXAEAT_LARGE_INTEGER@@AEBVCHString@@@Z
+; private: static long __cdecl CWbemProviderGlue::CheckImpersonationLevel(void)
+?CheckImpersonationLevel@CWbemProviderGlue@@CAJXZ
+; public: void __cdecl WBEMTime::Clear(void) __ptr64
+?Clear@WBEMTime@@QEAAXXZ
+; public: void __cdecl WBEMTimeSpan::Clear(void) __ptr64
+?Clear@WBEMTimeSpan@@QEAAXXZ
+; public: void __cdecl ParsedObjectPath::ClearKeys(void) __ptr64
+?ClearKeys@ParsedObjectPath@@QEAAXXZ
+; public: void __cdecl CRegistry::Close(void) __ptr64
+?Close@CRegistry@@QEAAXXZ
+; private: void __cdecl CRegistry::CloseSubKey(void) __ptr64
+?CloseSubKey@CRegistry@@AEAAXXZ
+; public: int __cdecl CHString::Collate(unsigned short const * __ptr64)const  __ptr64
+?Collate@CHString@@QEBAHPEBG@Z
+; public: long __cdecl CInstance::Commit(void) __ptr64
+?Commit@CInstance@@QEAAJXZ
+; protected: long __cdecl Provider::Commit(class CInstance * __ptr64,bool) __ptr64
+?Commit@Provider@@IEAAJPEAVCInstance@@_N@Z
+; public: int __cdecl CHString::Compare(unsigned short const * __ptr64)const  __ptr64
+?Compare@CHString@@QEBAHPEBG@Z
+; public: int __cdecl CHString::CompareNoCase(unsigned short const * __ptr64)const  __ptr64
+?CompareNoCase@CHString@@QEBAHPEBG@Z
+; protected: void __cdecl CHString::ConcatCopy(int,unsigned short const * __ptr64,int,unsigned short const * __ptr64) __ptr64
+?ConcatCopy@CHString@@IEAAXHPEBGH0@Z
+; protected: void __cdecl CHString::ConcatInPlace(int,unsigned short const * __ptr64) __ptr64
+?ConcatInPlace@CHString@@IEAAXHPEBG@Z
+; public: void __cdecl CHPtrArray::Copy(class CHPtrArray const & __ptr64) __ptr64
+?Copy@CHPtrArray@@QEAAXAEBV1@@Z
+; public: void __cdecl CHStringArray::Copy(class CHStringArray const & __ptr64) __ptr64
+?Copy@CHStringArray@@QEAAXAEBV1@@Z
+; protected: void __cdecl CHString::CopyBeforeWrite(void) __ptr64
+?CopyBeforeWrite@CHString@@IEAAXXZ
+; public: virtual long __cdecl CWbemProviderGlue::CreateClassEnum(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IEnumWbemClassObject * __ptr64 * __ptr64) __ptr64
+?CreateClassEnum@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIEnumWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::CreateClassEnumAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?CreateClassEnumAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
+; public: virtual long __cdecl CWbemGlueFactory::CreateInstance(struct IUnknown * __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?CreateInstance@CWbemGlueFactory@@UEAAJPEAUIUnknown@@AEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CWbemProviderGlue::CreateInstanceEnum(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IEnumWbemClassObject * __ptr64 * __ptr64) __ptr64
+?CreateInstanceEnum@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIEnumWbemClassObject@@@Z
+; private: long __cdecl Provider::CreateInstanceEnum(class MethodContext * __ptr64,long) __ptr64
+?CreateInstanceEnum@Provider@@AEAAJPEAVMethodContext@@J@Z
+; public: virtual long __cdecl CWbemProviderGlue::CreateInstanceEnumAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?CreateInstanceEnumAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
+; private: static void __cdecl CWinMsgEvent::CreateMsgProvider(void)
+?CreateMsgProvider@CWinMsgEvent@@CAXXZ
+; private: static struct HWND__ * __ptr64 __cdecl CWinMsgEvent::CreateMsgWindow(void)
+?CreateMsgWindow@CWinMsgEvent@@CAPEAUHWND__@@XZ
+; protected: class CInstance * __ptr64 __cdecl Provider::CreateNewInstance(class MethodContext * __ptr64) __ptr64
+?CreateNewInstance@Provider@@IEAAPEAVCInstance@@PEAVMethodContext@@@Z
+; public: long __cdecl CRegistry::CreateOpen(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * __ptr64,unsigned long * __ptr64) __ptr64
+?CreateOpen@CRegistry@@QEAAJPEAUHKEY__@@PEBGPEAGKKPEAU_SECURITY_ATTRIBUTES@@PEAK@Z
+; private: static int __cdecl CWinMsgEvent::CtrlHandlerRoutine(unsigned long)
+?CtrlHandlerRoutine@CWinMsgEvent@@CAHK@Z
+; protected: static long __cdecl CWbemProviderGlue::DecrementMapCount(long * __ptr64)
+?DecrementMapCount@CWbemProviderGlue@@KAJPEAJ@Z
+; protected: static long __cdecl CWbemProviderGlue::DecrementMapCount(class CWbemGlueFactory const * __ptr64)
+?DecrementMapCount@CWbemProviderGlue@@KAJPEBVCWbemGlueFactory@@@Z
+; public: static long __cdecl CWbemProviderGlue::DecrementObjectCount(void)
+?DecrementObjectCount@CWbemProviderGlue@@SAJXZ
+; public: virtual long __cdecl CWbemProviderGlue::DeleteClass(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
+?DeleteClass@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIWbemCallResult@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::DeleteClassAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?DeleteClassAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
+; public: unsigned long __cdecl CRegistry::DeleteCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
+?DeleteCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBG@Z
+; public: unsigned long __cdecl CRegistry::DeleteCurrentKeyValue(unsigned short const * __ptr64) __ptr64
+?DeleteCurrentKeyValue@CRegistry@@QEAAKPEBG@Z
+; public: virtual long __cdecl CWbemProviderGlue::DeleteInstance(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
+?DeleteInstance@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIWbemCallResult@@@Z
+; private: long __cdecl Provider::DeleteInstance(struct ParsedObjectPath * __ptr64,long,class MethodContext * __ptr64) __ptr64
+?DeleteInstance@Provider@@AEAAJPEAUParsedObjectPath@@JPEAVMethodContext@@@Z
+; protected: virtual long __cdecl Provider::DeleteInstance(class CInstance const & __ptr64,long) __ptr64
+?DeleteInstance@Provider@@MEAAJAEBVCInstance@@J@Z
+; public: virtual long __cdecl CWbemProviderGlue::DeleteInstanceAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?DeleteInstanceAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
+; public: long __cdecl CRegistry::DeleteKey(class CHString * __ptr64) __ptr64
+?DeleteKey@CRegistry@@QEAAJPEAVCHString@@@Z
+; public: long __cdecl CRegistry::DeleteValue(unsigned short const * __ptr64) __ptr64
+?DeleteValue@CRegistry@@QEAAJPEBG@Z
+; private: static void __cdecl CWinMsgEvent::DestroyMsgWindow(void)
+?DestroyMsgWindow@CWinMsgEvent@@CAXXZ
+; public: void * __ptr64 & __ptr64 __cdecl CHPtrArray::ElementAt(int) __ptr64
+?ElementAt@CHPtrArray@@QEAAAEAPEAXH@Z
+; public: class CHString & __ptr64 __cdecl CHStringArray::ElementAt(int) __ptr64
+?ElementAt@CHStringArray@@QEAAAEAVCHString@@H@Z
+; public: void __cdecl CHString::Empty(void) __ptr64
+?Empty@CHString@@QEAAXXZ
+; private: void __cdecl CObjectPathParser::Empty(void) __ptr64
+?Empty@CObjectPathParser@@AEAAXXZ
+; public: void __cdecl CThreadBase::EndRead(void) __ptr64
+?EndRead@CThreadBase@@QEAAXXZ
+; public: void __cdecl CThreadBase::EndWrite(void) __ptr64
+?EndWrite@CThreadBase@@QEAAXXZ
+; public: long __cdecl CRegistry::EnumerateAndGetValues(unsigned long & __ptr64,unsigned short * __ptr64 & __ptr64,unsigned char * __ptr64 & __ptr64) __ptr64
+?EnumerateAndGetValues@CRegistry@@QEAAJAEAKAEAPEAGAEAPEAE@Z
+; protected: virtual long __cdecl Provider::EnumerateInstances(class MethodContext * __ptr64,long) __ptr64
+?EnumerateInstances@Provider@@MEAAJPEAVMethodContext@@J@Z
+; public: virtual long __cdecl CWbemProviderGlue::ExecMethod(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
+?ExecMethod@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAUIWbemClassObject@@PEAPEAU3@PEAPEAUIWbemCallResult@@@Z
+; private: long __cdecl Provider::ExecMethod(struct ParsedObjectPath * __ptr64,unsigned short * __ptr64,long,class CInstance * __ptr64,class CInstance * __ptr64,class MethodContext * __ptr64) __ptr64
+?ExecMethod@Provider@@AEAAJPEAUParsedObjectPath@@PEAGJPEAVCInstance@@2PEAVMethodContext@@@Z
+; protected: virtual long __cdecl Provider::ExecMethod(class CInstance const & __ptr64,unsigned short * __ptr64 const,class CInstance * __ptr64,class CInstance * __ptr64,long) __ptr64
+?ExecMethod@Provider@@MEAAJAEBVCInstance@@QEAGPEAV2@2J@Z
+; public: virtual long __cdecl CWbemProviderGlue::ExecMethodAsync(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?ExecMethodAsync@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAUIWbemClassObject@@PEAUIWbemObjectSink@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::ExecNotificationQuery(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IEnumWbemClassObject * __ptr64 * __ptr64) __ptr64
+?ExecNotificationQuery@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAPEAUIEnumWbemClassObject@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::ExecNotificationQueryAsync(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?ExecNotificationQueryAsync@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::ExecQuery(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IEnumWbemClassObject * __ptr64 * __ptr64) __ptr64
+?ExecQuery@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAPEAUIEnumWbemClassObject@@@Z
+; protected: virtual long __cdecl Provider::ExecQuery(class MethodContext * __ptr64,class CFrameworkQuery & __ptr64,long) __ptr64
+?ExecQuery@Provider@@MEAAJPEAVMethodContext@@AEAVCFrameworkQuery@@J@Z
+; public: virtual long __cdecl CWbemProviderGlue::ExecQueryAsync(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?ExecQueryAsync@CWbemProviderGlue@@UEAAJQEAG0JPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
+; private: long __cdecl Provider::ExecuteQuery(class MethodContext * __ptr64,class CFrameworkQuery & __ptr64,long) __ptr64
+?ExecuteQuery@Provider@@AEAAJPEAVMethodContext@@AEAVCFrameworkQuery@@J@Z
+; public: static long __cdecl CWbemProviderGlue::FillInstance(class CInstance * __ptr64,unsigned short const * __ptr64)
+?FillInstance@CWbemProviderGlue@@SAJPEAVCInstance@@PEBG@Z
+; public: static long __cdecl CWbemProviderGlue::FillInstance(class MethodContext * __ptr64,class CInstance * __ptr64)
+?FillInstance@CWbemProviderGlue@@SAJPEAVMethodContext@@PEAVCInstance@@@Z
+; public: int __cdecl CHString::Find(unsigned short)const  __ptr64
+?Find@CHString@@QEBAHG@Z
+; public: int __cdecl CHString::Find(unsigned short const * __ptr64)const  __ptr64
+?Find@CHString@@QEBAHPEBG@Z
+; public: int __cdecl CHString::FindOneOf(unsigned short const * __ptr64)const  __ptr64
+?FindOneOf@CHString@@QEBAHPEBG@Z
+; protected: virtual void __cdecl Provider::Flush(void) __ptr64
+?Flush@Provider@@MEAAXXZ
+; private: void __cdecl CWbemProviderGlue::FlushAll(void) __ptr64
+?FlushAll@CWbemProviderGlue@@AEAAXXZ
+; public: void __cdecl CHString::Format(unsigned int,...) __ptr64
+?Format@CHString@@QEAAXIZZ
+; public: void __cdecl CHString::Format(unsigned short const * __ptr64,...) __ptr64
+?Format@CHString@@QEAAXPEBGZZ
+; public: void __cdecl CHString::FormatMessageW(unsigned int,...) __ptr64
+?FormatMessageW@CHString@@QEAAXIZZ
+; public: void __cdecl CHString::FormatMessageW(unsigned short const * __ptr64,...) __ptr64
+?FormatMessageW@CHString@@QEAAXPEBGZZ
+; public: void __cdecl CHString::FormatV(unsigned short const * __ptr64,char * __ptr64) __ptr64
+?FormatV@CHString@@QEAAXPEBGPEAD@Z
+; public: static void __cdecl CWbemProviderGlue::FrameworkLogin(unsigned short const * __ptr64,class Provider * __ptr64,unsigned short const * __ptr64)
+?FrameworkLogin@CWbemProviderGlue@@SAXPEBGPEAVProvider@@0@Z
+; public: static int __cdecl CWbemProviderGlue::FrameworkLoginDLL(unsigned short const * __ptr64)
+?FrameworkLoginDLL@CWbemProviderGlue@@SAHPEBG@Z
+; public: static int __cdecl CWbemProviderGlue::FrameworkLoginDLL(unsigned short const * __ptr64,long * __ptr64)
+?FrameworkLoginDLL@CWbemProviderGlue@@SAHPEBGPEAJ@Z
+; public: static void __cdecl CWbemProviderGlue::FrameworkLogoff(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?FrameworkLogoff@CWbemProviderGlue@@SAXPEBG0@Z
+; public: static int __cdecl CWbemProviderGlue::FrameworkLogoffDLL(unsigned short const * __ptr64)
+?FrameworkLogoffDLL@CWbemProviderGlue@@SAHPEBG@Z
+; public: static int __cdecl CWbemProviderGlue::FrameworkLogoffDLL(unsigned short const * __ptr64,long * __ptr64)
+?FrameworkLogoffDLL@CWbemProviderGlue@@SAHPEBGPEAJ@Z
+; public: void __cdecl CObjectPathParser::Free(struct ParsedObjectPath * __ptr64) __ptr64
+?Free@CObjectPathParser@@QEAAXPEAUParsedObjectPath@@@Z
+; public: void __cdecl CHPtrArray::FreeExtra(void) __ptr64
+?FreeExtra@CHPtrArray@@QEAAXXZ
+; public: void __cdecl CHString::FreeExtra(void) __ptr64
+?FreeExtra@CHString@@QEAAXXZ
+; public: void __cdecl CHStringArray::FreeExtra(void) __ptr64
+?FreeExtra@CHStringArray@@QEAAXXZ
+; public: int __cdecl CRegistrySearch::FreeSearchList(int,class CHPtrArray & __ptr64) __ptr64
+?FreeSearchList@CRegistrySearch@@QEAAHHAEAVCHPtrArray@@@Z
+; public: static long __cdecl CWbemProviderGlue::GetAllDerivedInstances(unsigned short const * __ptr64,class TRefPointerCollection<class CInstance> * __ptr64,class MethodContext * __ptr64,unsigned short const * __ptr64)
+?GetAllDerivedInstances@CWbemProviderGlue@@SAJPEBGPEAV?$TRefPointerCollection@VCInstance@@@@PEAVMethodContext@@0@Z
+; public: static long __cdecl CWbemProviderGlue::GetAllDerivedInstancesAsynch(unsigned short const * __ptr64,class Provider * __ptr64,long (__cdecl*)(class Provider * __ptr64,class CInstance * __ptr64,class MethodContext * __ptr64,void * __ptr64),unsigned short const * __ptr64,class MethodContext * __ptr64,void * __ptr64)
+?GetAllDerivedInstancesAsynch@CWbemProviderGlue@@SAJPEBGPEAVProvider@@P6AJ1PEAVCInstance@@PEAVMethodContext@@PEAX@Z034@Z
+; public: static long __cdecl CWbemProviderGlue::GetAllInstances(unsigned short const * __ptr64,class TRefPointerCollection<class CInstance> * __ptr64,unsigned short const * __ptr64,class MethodContext * __ptr64)
+?GetAllInstances@CWbemProviderGlue@@SAJPEBGPEAV?$TRefPointerCollection@VCInstance@@@@0PEAVMethodContext@@@Z
+; public: static long __cdecl CWbemProviderGlue::GetAllInstancesAsynch(unsigned short const * __ptr64,class Provider * __ptr64,long (__cdecl*)(class Provider * __ptr64,class CInstance * __ptr64,class MethodContext * __ptr64,void * __ptr64),unsigned short const * __ptr64,class MethodContext * __ptr64,void * __ptr64)
+?GetAllInstancesAsynch@CWbemProviderGlue@@SAJPEBGPEAVProvider@@P6AJ1PEAVCInstance@@PEAVMethodContext@@PEAX@Z034@Z
+; public: int __cdecl CHString::GetAllocLength(void)const  __ptr64
+?GetAllocLength@CHString@@QEBAHXZ
+; public: void * __ptr64 __cdecl CHPtrArray::GetAt(int)const  __ptr64
+?GetAt@CHPtrArray@@QEBAPEAXH@Z
+; public: unsigned short __cdecl CHString::GetAt(int)const  __ptr64
+?GetAt@CHString@@QEBAGH@Z
+; public: class CHString  __cdecl CHStringArray::GetAt(int)const  __ptr64
+?GetAt@CHStringArray@@QEBA?AVCHString@@H@Z
+; public: unsigned short * __ptr64 __cdecl WBEMTime::GetBSTR(void)const  __ptr64
+?GetBSTR@WBEMTime@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl WBEMTimeSpan::GetBSTR(void)const  __ptr64
+?GetBSTR@WBEMTimeSpan@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl CHString::GetBuffer(int) __ptr64
+?GetBuffer@CHString@@QEAAPEAGH@Z
+; public: unsigned short * __ptr64 __cdecl CHString::GetBufferSetLength(int) __ptr64
+?GetBufferSetLength@CHString@@QEAAPEAGH@Z
+; public: bool __cdecl CInstance::GetByte(unsigned short const * __ptr64,unsigned char & __ptr64)const  __ptr64
+?GetByte@CInstance@@QEBA_NPEBGAEAE@Z
+; public: bool __cdecl CInstance::GetCHString(unsigned short const * __ptr64,class CHString & __ptr64)const  __ptr64
+?GetCHString@CInstance@@QEBA_NPEBGAEAVCHString@@@Z
+; public: static unsigned short const * __ptr64 __cdecl CWbemProviderGlue::GetCSDVersion(void)
+?GetCSDVersion@CWbemProviderGlue@@SAPEBGXZ
+; public: unsigned short * __ptr64 __cdecl CRegistry::GetClassNameW(void) __ptr64
+?GetClassNameW@CRegistry@@QEAAPEAGXZ
+; public: struct IWbemClassObject * __ptr64 __cdecl CInstance::GetClassObjectInterface(void) __ptr64
+?GetClassObjectInterface@CInstance@@QEAAPEAUIWbemClassObject@@XZ
+; private: struct IWbemClassObject * __ptr64 __cdecl Provider::GetClassObjectInterface(class MethodContext * __ptr64) __ptr64
+?GetClassObjectInterface@Provider@@AEAAPEAUIWbemClassObject@@PEAVMethodContext@@@Z
+; private: static void __cdecl CWbemProviderGlue::GetComputerNameW(class CHString & __ptr64)
+?GetComputerNameW@CWbemProviderGlue@@CAXAEAVCHString@@@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentBinaryKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
+?GetCurrentBinaryKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGPEAEPEAK@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentBinaryKeyValue(unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
+?GetCurrentBinaryKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentBinaryKeyValue(unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
+?GetCurrentBinaryKeyValue@CRegistry@@QEAAKPEBGPEAEPEAK@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
+?GetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAK@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
+?GetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHString@@@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
+?GetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHStringArray@@@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
+?GetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAK@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
+?GetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentKeyValue(unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
+?GetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHStringArray@@@Z
+; private: unsigned long __cdecl CRegistry::GetCurrentRawKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,void * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetCurrentRawKeyValue@CRegistry@@AEAAKPEAUHKEY__@@PEBGPEAXPEAK3@Z
+; private: unsigned long __cdecl CRegistry::GetCurrentRawSubKeyValue(unsigned short const * __ptr64,void * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetCurrentRawSubKeyValue@CRegistry@@AEAAKPEBGPEAXPEAK2@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyCount(void) __ptr64
+?GetCurrentSubKeyCount@CRegistry@@QEAAKXZ
+; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyName(class CHString & __ptr64) __ptr64
+?GetCurrentSubKeyName@CRegistry@@QEAAKAEAVCHString@@@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyPath(class CHString & __ptr64) __ptr64
+?GetCurrentSubKeyPath@CRegistry@@QEAAKAEAVCHString@@@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyValue(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
+?GetCurrentSubKeyValue@CRegistry@@QEAAKPEBGAEAK@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyValue(unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
+?GetCurrentSubKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
+; public: unsigned long __cdecl CRegistry::GetCurrentSubKeyValue(unsigned short const * __ptr64,void * __ptr64,unsigned long * __ptr64) __ptr64
+?GetCurrentSubKeyValue@CRegistry@@QEAAKPEBGPEAXPEAK@Z
+; public: unsigned short * __ptr64 __cdecl WBEMTime::GetDMTF(int)const  __ptr64
+?GetDMTF@WBEMTime@@QEBAPEAGH@Z
+; public: unsigned short * __ptr64 __cdecl WBEMTime::GetDMTFNonNtfs(void)const  __ptr64
+?GetDMTFNonNtfs@WBEMTime@@QEBAPEAGXZ
+; public: bool __cdecl CInstance::GetDOUBLE(unsigned short const * __ptr64,double & __ptr64)const  __ptr64
+?GetDOUBLE@CInstance@@QEBA_NPEBGAEAN@Z
+; public: bool __cdecl CInstance::GetDWORD(unsigned short const * __ptr64,unsigned long & __ptr64)const  __ptr64
+?GetDWORD@CInstance@@QEBA_NPEBGAEAK@Z
+; public: void * __ptr64 * __ptr64 __cdecl CHPtrArray::GetData(void) __ptr64
+?GetData@CHPtrArray@@QEAAPEAPEAXXZ
+; public: void const * __ptr64 * __ptr64 __cdecl CHPtrArray::GetData(void)const  __ptr64
+?GetData@CHPtrArray@@QEBAPEAPEBXXZ
+; protected: struct CHStringData * __ptr64 __cdecl CHString::GetData(void)const  __ptr64
+?GetData@CHString@@IEBAPEAUCHStringData@@XZ
+; public: class CHString * __ptr64 __cdecl CHStringArray::GetData(void) __ptr64
+?GetData@CHStringArray@@QEAAPEAVCHString@@XZ
+; public: class CHString const * __ptr64 __cdecl CHStringArray::GetData(void)const  __ptr64
+?GetData@CHStringArray@@QEBAPEBVCHString@@XZ
+; public: bool __cdecl CInstance::GetDateTime(unsigned short const * __ptr64,class WBEMTime & __ptr64)const  __ptr64
+?GetDateTime@CInstance@@QEBA_NPEBGAEAVWBEMTime@@@Z
+; public: bool __cdecl CInstance::GetEmbeddedObject(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,class MethodContext * __ptr64)const  __ptr64
+?GetEmbeddedObject@CInstance@@QEBA_NPEBGPEAPEAV1@PEAVMethodContext@@@Z
+; public: static long __cdecl CWbemProviderGlue::GetEmptyInstance(class MethodContext * __ptr64,unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,unsigned short const * __ptr64)
+?GetEmptyInstance@CWbemProviderGlue@@SAJPEAVMethodContext@@PEBGPEAPEAVCInstance@@1@Z
+; public: static long __cdecl CWbemProviderGlue::GetEmptyInstance(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,unsigned short const * __ptr64)
+?GetEmptyInstance@CWbemProviderGlue@@SAJPEBGPEAPEAVCInstance@@0@Z
+; public: int __cdecl WBEMTime::GetFILETIME(struct _FILETIME * __ptr64)const  __ptr64
+?GetFILETIME@WBEMTime@@QEBAHPEAU_FILETIME@@@Z
+; public: int __cdecl WBEMTimeSpan::GetFILETIME(struct _FILETIME * __ptr64)const  __ptr64
+?GetFILETIME@WBEMTimeSpan@@QEBAHPEAU_FILETIME@@@Z
+; public: virtual struct IWbemContext * __ptr64 __cdecl MethodContext::GetIWBEMContext(void) __ptr64
+?GetIWBEMContext@MethodContext@@UEAAPEAUIWbemContext@@XZ
+; public: static long __cdecl CWbemProviderGlue::GetInstanceByPath(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,class MethodContext * __ptr64)
+?GetInstanceByPath@CWbemProviderGlue@@SAJPEBGPEAPEAVCInstance@@PEAVMethodContext@@@Z
+; private: static long __cdecl CWbemProviderGlue::GetInstanceFromCIMOM(unsigned short const * __ptr64,unsigned short const * __ptr64,class MethodContext * __ptr64,class CInstance * __ptr64 * __ptr64)
+?GetInstanceFromCIMOM@CWbemProviderGlue@@CAJPEBG0PEAVMethodContext@@PEAPEAVCInstance@@@Z
+; public: static long __cdecl CWbemProviderGlue::GetInstanceKeysByPath(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,class MethodContext * __ptr64)
+?GetInstanceKeysByPath@CWbemProviderGlue@@SAJPEBGPEAPEAVCInstance@@PEAVMethodContext@@@Z
+; public: static long __cdecl CWbemProviderGlue::GetInstancePropertiesByPath(unsigned short const * __ptr64,class CInstance * __ptr64 * __ptr64,class MethodContext * __ptr64,class CHStringArray & __ptr64)
+?GetInstancePropertiesByPath@CWbemProviderGlue@@SAJPEBGPEAPEAVCInstance@@PEAVMethodContext@@AEAVCHStringArray@@@Z
+; public: static long __cdecl CWbemProviderGlue::GetInstancesByQuery(unsigned short const * __ptr64,class TRefPointerCollection<class CInstance> * __ptr64,class MethodContext * __ptr64,unsigned short const * __ptr64)
+?GetInstancesByQuery@CWbemProviderGlue@@SAJPEBGPEAV?$TRefPointerCollection@VCInstance@@@@PEAVMethodContext@@0@Z
+; public: static long __cdecl CWbemProviderGlue::GetInstancesByQueryAsynch(unsigned short const * __ptr64,class Provider * __ptr64,long (__cdecl*)(class Provider * __ptr64,class CInstance * __ptr64,class MethodContext * __ptr64,void * __ptr64),unsigned short const * __ptr64,class MethodContext * __ptr64,void * __ptr64)
+?GetInstancesByQueryAsynch@CWbemProviderGlue@@SAJPEBGPEAVProvider@@P6AJ1PEAVCInstance@@PEAVMethodContext@@PEAX@Z034@Z
+; public: unsigned short * __ptr64 __cdecl ParsedObjectPath::GetKeyString(void) __ptr64
+?GetKeyString@ParsedObjectPath@@QEAAPEAGXZ
+; public: int __cdecl CHString::GetLength(void)const  __ptr64
+?GetLength@CHString@@QEBAHXZ
+; protected: class CHString const & __ptr64 __cdecl Provider::GetLocalComputerName(void) __ptr64
+?GetLocalComputerName@Provider@@IEAAAEBVCHString@@XZ
+; protected: bool __cdecl Provider::GetLocalInstancePath(class CInstance const * __ptr64,class CHString & __ptr64) __ptr64
+?GetLocalInstancePath@Provider@@IEAA_NPEBVCInstance@@AEAVCHString@@@Z
+; public: static long __cdecl WBEMTime::GetLocalOffsetForDate(__int64 const & __ptr64)
+?GetLocalOffsetForDate@WBEMTime@@SAJAEB_J@Z
+; public: static long __cdecl WBEMTime::GetLocalOffsetForDate(struct _FILETIME const * __ptr64)
+?GetLocalOffsetForDate@WBEMTime@@SAJPEBU_FILETIME@@@Z
+; public: static long __cdecl WBEMTime::GetLocalOffsetForDate(struct _SYSTEMTIME const * __ptr64)
+?GetLocalOffsetForDate@WBEMTime@@SAJPEBU_SYSTEMTIME@@@Z
+; public: static long __cdecl WBEMTime::GetLocalOffsetForDate(struct tm const * __ptr64)
+?GetLocalOffsetForDate@WBEMTime@@SAJPEBUtm@@@Z
+; public: unsigned long __cdecl CRegistry::GetLongestClassStringSize(void) __ptr64
+?GetLongestClassStringSize@CRegistry@@QEAAKXZ
+; public: unsigned long __cdecl CRegistry::GetLongestSubKeySize(void) __ptr64
+?GetLongestSubKeySize@CRegistry@@QEAAKXZ
+; public: unsigned long __cdecl CRegistry::GetLongestValueData(void) __ptr64
+?GetLongestValueData@CRegistry@@QEAAKXZ
+; public: unsigned long __cdecl CRegistry::GetLongestValueName(void) __ptr64
+?GetLongestValueName@CRegistry@@QEAAKXZ
+; protected: static long * __ptr64 __cdecl CWbemProviderGlue::GetMapCountPtr(class CWbemGlueFactory const * __ptr64)
+?GetMapCountPtr@CWbemProviderGlue@@KAPEAJPEBVCWbemGlueFactory@@@Z
+; public: class MethodContext * __ptr64 __cdecl CInstance::GetMethodContext(void)const  __ptr64
+?GetMethodContext@CInstance@@QEBAPEAVMethodContext@@XZ
+; protected: class CHString const & __ptr64 __cdecl CFrameworkQuery::GetNamespace(void) __ptr64
+?GetNamespace@CFrameworkQuery@@IEAAAEBVCHString@@XZ
+; protected: class CHString const & __ptr64 __cdecl Provider::GetNamespace(void) __ptr64
+?GetNamespace@Provider@@IEAAAEBVCHString@@XZ
+; public: static struct IWbemServices * __ptr64 __cdecl CWbemProviderGlue::GetNamespaceConnection(unsigned short const * __ptr64)
+?GetNamespaceConnection@CWbemProviderGlue@@SAPEAUIWbemServices@@PEBG@Z
+; public: static struct IWbemServices * __ptr64 __cdecl CWbemProviderGlue::GetNamespaceConnection(unsigned short const * __ptr64,class MethodContext * __ptr64)
+?GetNamespaceConnection@CWbemProviderGlue@@SAPEAUIWbemServices@@PEBGPEAVMethodContext@@@Z
+; public: unsigned short * __ptr64 __cdecl ParsedObjectPath::GetNamespacePart(void) __ptr64
+?GetNamespacePart@ParsedObjectPath@@QEAAPEAGXZ
+; public: static unsigned long __cdecl CWbemProviderGlue::GetOSMajorVersion(void)
+?GetOSMajorVersion@CWbemProviderGlue@@SAKXZ
+; public: virtual long __cdecl CWbemProviderGlue::GetObject(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
+?GetObject@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIWbemClassObject@@PEAPEAUIWbemCallResult@@@Z
+; private: long __cdecl Provider::GetObject(struct ParsedObjectPath * __ptr64,class MethodContext * __ptr64,long) __ptr64
+?GetObject@Provider@@AEAAJPEAUParsedObjectPath@@PEAVMethodContext@@J@Z
+; protected: virtual long __cdecl Provider::GetObject(class CInstance * __ptr64,long) __ptr64
+?GetObject@Provider@@MEAAJPEAVCInstance@@J@Z
+; protected: virtual long __cdecl Provider::GetObject(class CInstance * __ptr64,long,class CFrameworkQuery & __ptr64) __ptr64
+?GetObject@Provider@@MEAAJPEAVCInstance@@JAEAVCFrameworkQuery@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::GetObjectAsync(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?GetObjectAsync@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
+; public: unsigned short * __ptr64 __cdecl ParsedObjectPath::GetParentNamespacePart(void) __ptr64
+?GetParentNamespacePart@ParsedObjectPath@@QEAAPEAGXZ
+; public: static unsigned long __cdecl CWbemProviderGlue::GetPlatform(void)
+?GetPlatform@CWbemProviderGlue@@SAKXZ
+; public: void __cdecl CFrameworkQueryEx::GetPropertyBitMask(class CHPtrArray const & __ptr64,void * __ptr64) __ptr64
+?GetPropertyBitMask@CFrameworkQueryEx@@QEAAXAEBVCHPtrArray@@PEAX@Z
+; private: class CWbemProviderGlue * __ptr64 __cdecl MethodContext::GetProviderGlue(void) __ptr64
+?GetProviderGlue@MethodContext@@AEAAPEAVCWbemProviderGlue@@XZ
+; protected: class CHString const & __ptr64 __cdecl Provider::GetProviderName(void) __ptr64
+?GetProviderName@Provider@@IEAAAEBVCHString@@XZ
+; public: class CHString const & __ptr64 __cdecl CFrameworkQuery::GetQuery(void) __ptr64
+?GetQuery@CFrameworkQuery@@QEAAAEBVCHString@@XZ
+; public: unsigned short * __ptr64 __cdecl CFrameworkQuery::GetQueryClassName(void) __ptr64
+?GetQueryClassName@CFrameworkQuery@@QEAAPEAGXZ
+; public: static unsigned short * __ptr64 __cdecl CObjectPathParser::GetRelativePath(unsigned short * __ptr64)
+?GetRelativePath@CObjectPathParser@@SAPEAGPEAG@Z
+; public: void __cdecl CFrameworkQuery::GetRequiredProperties(class CHStringArray & __ptr64) __ptr64
+?GetRequiredProperties@CFrameworkQuery@@QEAAXAEAVCHStringArray@@@Z
+; public: int __cdecl WBEMTime::GetSYSTEMTIME(struct _SYSTEMTIME * __ptr64)const  __ptr64
+?GetSYSTEMTIME@WBEMTime@@QEBAHPEAU_SYSTEMTIME@@@Z
+; public: int __cdecl CHPtrArray::GetSize(void)const  __ptr64
+?GetSize@CHPtrArray@@QEBAHXZ
+; public: int __cdecl CHStringArray::GetSize(void)const  __ptr64
+?GetSize@CHStringArray@@QEBAHXZ
+; public: bool __cdecl CInstance::GetStatus(unsigned short const * __ptr64,bool & __ptr64,unsigned short & __ptr64)const  __ptr64
+?GetStatus@CInstance@@QEBA_NPEBGAEA_NAEAG@Z
+; private: static struct IWbemClassObject * __ptr64 __cdecl CWbemProviderGlue::GetStatusObject(class MethodContext * __ptr64,unsigned short const * __ptr64)
+?GetStatusObject@CWbemProviderGlue@@CAPEAUIWbemClassObject@@PEAVMethodContext@@PEBG@Z
+; public: struct IWbemClassObject * __ptr64 __cdecl MethodContext::GetStatusObject(void) __ptr64
+?GetStatusObject@MethodContext@@QEAAPEAUIWbemClassObject@@XZ
+; public: bool __cdecl CInstance::GetStringArray(unsigned short const * __ptr64,struct tagSAFEARRAY * __ptr64 & __ptr64)const  __ptr64
+?GetStringArray@CInstance@@QEBA_NPEBGAEAPEAUtagSAFEARRAY@@@Z
+; public: int __cdecl WBEMTime::GetStructtm(struct tm * __ptr64)const  __ptr64
+?GetStructtm@WBEMTime@@QEBAHPEAUtm@@@Z
+; public: unsigned __int64 __cdecl WBEMTime::GetTime(void)const  __ptr64
+?GetTime@WBEMTime@@QEBA_KXZ
+; public: unsigned __int64 __cdecl WBEMTimeSpan::GetTime(void)const  __ptr64
+?GetTime@WBEMTimeSpan@@QEBA_KXZ
+; public: bool __cdecl CInstance::GetTimeSpan(unsigned short const * __ptr64,class WBEMTimeSpan & __ptr64)const  __ptr64
+?GetTimeSpan@CInstance@@QEBA_NPEBGAEAVWBEMTimeSpan@@@Z
+; public: int __cdecl CHPtrArray::GetUpperBound(void)const  __ptr64
+?GetUpperBound@CHPtrArray@@QEBAHXZ
+; public: int __cdecl CHStringArray::GetUpperBound(void)const  __ptr64
+?GetUpperBound@CHStringArray@@QEBAHXZ
+; public: unsigned long __cdecl CRegistry::GetValueCount(void) __ptr64
+?GetValueCount@CRegistry@@QEAAKXZ
+; public: long __cdecl CFrameworkQuery::GetValuesForProp(unsigned short const * __ptr64,class std::vector<class _bstr_t,class std::allocator<class _bstr_t> > & __ptr64) __ptr64
+?GetValuesForProp@CFrameworkQuery@@QEAAJPEBGAEAV?$vector@V_bstr_t@@V?$allocator@V_bstr_t@@@std@@@std@@@Z
+; public: long __cdecl CFrameworkQuery::GetValuesForProp(unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
+?GetValuesForProp@CFrameworkQuery@@QEAAJPEBGAEAVCHStringArray@@@Z
+; public: long __cdecl CFrameworkQueryEx::GetValuesForProp(unsigned short const * __ptr64,class std::vector<int,class std::allocator<int> > & __ptr64) __ptr64
+?GetValuesForProp@CFrameworkQueryEx@@QEAAJPEBGAEAV?$vector@HV?$allocator@H@std@@@std@@@Z
+; public: long __cdecl CFrameworkQueryEx::GetValuesForProp(unsigned short const * __ptr64,class std::vector<class _variant_t,class std::allocator<class _variant_t> > & __ptr64) __ptr64
+?GetValuesForProp@CFrameworkQueryEx@@QEAAJPEBGAEAV?$vector@V_variant_t@@V?$allocator@V_variant_t@@@std@@@std@@@Z
+; public: bool __cdecl CInstance::GetVariant(unsigned short const * __ptr64,struct tagVARIANT & __ptr64)const  __ptr64
+?GetVariant@CInstance@@QEBA_NPEBGAEAUtagVARIANT@@@Z
+; public: bool __cdecl CInstance::GetWBEMINT16(unsigned short const * __ptr64,short & __ptr64)const  __ptr64
+?GetWBEMINT16@CInstance@@QEBA_NPEBGAEAF@Z
+; public: bool __cdecl CInstance::GetWBEMINT64(unsigned short const * __ptr64,class CHString & __ptr64)const  __ptr64
+?GetWBEMINT64@CInstance@@QEBA_NPEBGAEAVCHString@@@Z
+; public: bool __cdecl CInstance::GetWBEMINT64(unsigned short const * __ptr64,__int64 & __ptr64)const  __ptr64
+?GetWBEMINT64@CInstance@@QEBA_NPEBGAEA_J@Z
+; public: bool __cdecl CInstance::GetWBEMINT64(unsigned short const * __ptr64,unsigned __int64 & __ptr64)const  __ptr64
+?GetWBEMINT64@CInstance@@QEBA_NPEBGAEA_K@Z
+; public: bool __cdecl CInstance::GetWCHAR(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64)const  __ptr64
+?GetWCHAR@CInstance@@QEBA_NPEBGPEAPEAG@Z
+; public: bool __cdecl CInstance::GetWORD(unsigned short const * __ptr64,unsigned short & __ptr64)const  __ptr64
+?GetWORD@CInstance@@QEBA_NPEBGAEAG@Z
+; public: bool __cdecl CInstance::Getbool(unsigned short const * __ptr64,bool & __ptr64)const  __ptr64
+?Getbool@CInstance@@QEBA_NPEBGAEA_N@Z
+; public: struct HKEY__ * __ptr64 __cdecl CRegistry::GethKey(void) __ptr64
+?GethKey@CRegistry@@QEAAPEAUHKEY__@@XZ
+; public: int __cdecl WBEMTime::Gettime_t(__int64 * __ptr64)const  __ptr64
+?Gettime_t@WBEMTime@@QEBAHPEA_J@Z
+; public: int __cdecl WBEMTimeSpan::Gettime_t(__int64 * __ptr64)const  __ptr64
+?Gettime_t@WBEMTimeSpan@@QEBAHPEA_J@Z
+; protected: static long __cdecl CWbemProviderGlue::IncrementMapCount(long * __ptr64)
+?IncrementMapCount@CWbemProviderGlue@@KAJPEAJ@Z
+; protected: static long __cdecl CWbemProviderGlue::IncrementMapCount(class CWbemGlueFactory const * __ptr64)
+?IncrementMapCount@CWbemProviderGlue@@KAJPEBVCWbemGlueFactory@@@Z
+; public: static void __cdecl CWbemProviderGlue::IncrementObjectCount(void)
+?IncrementObjectCount@CWbemProviderGlue@@SAXXZ
+; public: void __cdecl CFrameworkQuery::Init2(struct IWbemClassObject * __ptr64) __ptr64
+?Init2@CFrameworkQuery@@QEAAXPEAUIWbemClassObject@@@Z
+; public: long __cdecl CFrameworkQuery::Init(struct ParsedObjectPath * __ptr64,struct IWbemContext * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
+?Init@CFrameworkQuery@@QEAAJPEAUParsedObjectPath@@PEAUIWbemContext@@PEBGAEAVCHString@@@Z
+; public: long __cdecl CFrameworkQuery::Init(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,class CHString & __ptr64) __ptr64
+?Init@CFrameworkQuery@@QEAAJQEAG0JAEAVCHString@@@Z
+; protected: void __cdecl CHString::Init(void) __ptr64
+?Init@CHString@@IEAAXXZ
+; private: static void __cdecl CWbemProviderGlue::Init(void)
+?Init@CWbemProviderGlue@@CAXXZ
+; private: static void __cdecl Provider::InitComputerName(void)
+?InitComputerName@Provider@@CAXXZ
+; public: virtual long __cdecl CFrameworkQueryEx::InitEx(unsigned short * __ptr64 const,unsigned short * __ptr64 const,long,class CHString & __ptr64) __ptr64
+?InitEx@CFrameworkQueryEx@@UEAAJQEAG0JAEAVCHString@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::Initialize(unsigned short * __ptr64,long,unsigned short * __ptr64,unsigned short * __ptr64,struct IWbemServices * __ptr64,struct IWbemContext * __ptr64,struct IWbemProviderInitSink * __ptr64) __ptr64
+?Initialize@CWbemProviderGlue@@UEAAJPEAGJ00PEAUIWbemServices@@PEAUIWbemContext@@PEAUIWbemProviderInitSink@@@Z
+; public: void __cdecl CHPtrArray::InsertAt(int,class CHPtrArray * __ptr64) __ptr64
+?InsertAt@CHPtrArray@@QEAAXHPEAV1@@Z
+; public: void __cdecl CHPtrArray::InsertAt(int,void * __ptr64,int) __ptr64
+?InsertAt@CHPtrArray@@QEAAXHPEAXH@Z
+; public: void __cdecl CHStringArray::InsertAt(int,class CHStringArray * __ptr64) __ptr64
+?InsertAt@CHStringArray@@QEAAXHPEAV1@@Z
+; public: void __cdecl CHStringArray::InsertAt(int,unsigned short const * __ptr64,int) __ptr64
+?InsertAt@CHStringArray@@QEAAXHPEBGH@Z
+; private: struct IWbemServices * __ptr64 __cdecl CWbemProviderGlue::InternalGetNamespaceConnection(unsigned short const * __ptr64) __ptr64
+?InternalGetNamespaceConnection@CWbemProviderGlue@@AEAAPEAUIWbemServices@@PEBG@Z
+; public: int __cdecl CFrameworkQueryEx::Is3TokenOR(unsigned short const * __ptr64,unsigned short const * __ptr64,struct tagVARIANT & __ptr64,struct tagVARIANT & __ptr64) __ptr64
+?Is3TokenOR@CFrameworkQueryEx@@QEAAHPEBG0AEAUtagVARIANT@@1@Z
+; public: int __cdecl ParsedObjectPath::IsClass(void) __ptr64
+?IsClass@ParsedObjectPath@@QEAAHXZ
+; public: static bool __cdecl CWbemProviderGlue::IsDerivedFrom(unsigned short const * __ptr64,unsigned short const * __ptr64,class MethodContext * __ptr64,unsigned short const * __ptr64)
+?IsDerivedFrom@CWbemProviderGlue@@SA_NPEBG0PEAVMethodContext@@0@Z
+; public: int __cdecl CHString::IsEmpty(void)const  __ptr64
+?IsEmpty@CHString@@QEBAHXZ
+; public: virtual bool __cdecl CFrameworkQueryEx::IsExtended(void) __ptr64
+?IsExtended@CFrameworkQueryEx@@UEAA_NXZ
+; protected: unsigned long __cdecl CFrameworkQuery::IsInList(class CHStringArray const & __ptr64,unsigned short const * __ptr64) __ptr64
+?IsInList@CFrameworkQuery@@IEAAKAEBVCHStringArray@@PEBG@Z
+; public: int __cdecl ParsedObjectPath::IsInstance(void) __ptr64
+?IsInstance@ParsedObjectPath@@QEAAHXZ
+; public: int __cdecl ParsedObjectPath::IsLocal(unsigned short const * __ptr64) __ptr64
+?IsLocal@ParsedObjectPath@@QEAAHPEBG@Z
+; public: enum ProviderLog::LogLevel  __cdecl ProviderLog::IsLoggingOn(class CHString * __ptr64) __ptr64
+?IsLoggingOn@ProviderLog@@QEAA?AW4LogLevel@1@PEAVCHString@@@Z
+; public: int __cdecl CFrameworkQueryEx::IsNTokenAnd(class CHStringArray & __ptr64,class CHPtrArray & __ptr64) __ptr64
+?IsNTokenAnd@CFrameworkQueryEx@@QEAAHAEAVCHStringArray@@AEAVCHPtrArray@@@Z
+; public: bool __cdecl CInstance::IsNull(unsigned short const * __ptr64)const  __ptr64
+?IsNull@CInstance@@QEBA_NPEBG@Z
+; public: int __cdecl ParsedObjectPath::IsObject(void) __ptr64
+?IsObject@ParsedObjectPath@@QEAAHXZ
+; public: bool __cdecl WBEMTime::IsOk(void)const  __ptr64
+?IsOk@WBEMTime@@QEBA_NXZ
+; public: bool __cdecl WBEMTimeSpan::IsOk(void)const  __ptr64
+?IsOk@WBEMTimeSpan@@QEBA_NXZ
+; public: bool __cdecl CFrameworkQuery::IsPropertyRequired(unsigned short const * __ptr64) __ptr64
+?IsPropertyRequired@CFrameworkQuery@@QEAA_NPEBG@Z
+; protected: int __cdecl CFrameworkQuery::IsReference(unsigned short const * __ptr64) __ptr64
+?IsReference@CFrameworkQuery@@IEAAHPEBG@Z
+; public: int __cdecl ParsedObjectPath::IsRelative(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?IsRelative@ParsedObjectPath@@QEAAHPEBG0@Z
+; public: bool __cdecl CFrameworkQuery::KeysOnly(void) __ptr64
+?KeysOnly@CFrameworkQuery@@QEAA_NXZ
+; public: class CHString  __cdecl CHString::Left(int)const  __ptr64
+?Left@CHString@@QEBA?AV1@H@Z
+; protected: int __cdecl CHString::LoadStringW(unsigned int,unsigned short * __ptr64,unsigned int) __ptr64
+?LoadStringW@CHString@@IEAAHIPEAGI@Z
+; public: int __cdecl CHString::LoadStringW(unsigned int) __ptr64
+?LoadStringW@CHString@@QEAAHI@Z
+; public: void __cdecl ProviderLog::LocalLogMessage(unsigned short const * __ptr64,unsigned short const * __ptr64,int,enum ProviderLog::LogLevel) __ptr64
+?LocalLogMessage@ProviderLog@@QEAAXPEBG0HW4LogLevel@1@@Z
+; public: void __cdecl ProviderLog::LocalLogMessage(unsigned short const * __ptr64,int,enum ProviderLog::LogLevel,unsigned short const * __ptr64,...) __ptr64
+?LocalLogMessage@ProviderLog@@QEAAXPEBGHW4LogLevel@1@0ZZ
+; public: int __cdecl CRegistrySearch::LocateKeyByNameOrValueName(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned long,class CHString & __ptr64,class CHString & __ptr64) __ptr64
+?LocateKeyByNameOrValueName@CRegistrySearch@@QEAAHPEAUHKEY__@@PEBG1PEAPEBGKAEAVCHString@@3@Z
+; private: void __cdecl CThreadBase::Lock(void) __ptr64
+?Lock@CThreadBase@@AEAAXXZ
+; public: unsigned short * __ptr64 __cdecl CHString::LockBuffer(void) __ptr64
+?LockBuffer@CHString@@QEAAPEAGXZ
+; private: static void __cdecl CWbemProviderGlue::LockFactoryMap(void)
+?LockFactoryMap@CWbemProviderGlue@@CAXXZ
+; private: static void __cdecl CWbemProviderGlue::LockProviderMap(void)
+?LockProviderMap@CWbemProviderGlue@@CAXXZ
+; public: virtual long __cdecl CWbemGlueFactory::LockServer(int) __ptr64
+?LockServer@CWbemGlueFactory@@UEAAJH@Z
+; protected: void __cdecl CInstance::LogError(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,long)const  __ptr64
+?LogError@CInstance@@IEBAXPEBG00J@Z
+; protected: class CHString  __cdecl Provider::MakeLocalPath(class CHString const & __ptr64) __ptr64
+?MakeLocalPath@Provider@@IEAA?AVCHString@@AEBV2@@Z
+; public: void __cdecl CHString::MakeLower(void) __ptr64
+?MakeLower@CHString@@QEAAXXZ
+; public: void __cdecl CHString::MakeReverse(void) __ptr64
+?MakeReverse@CHString@@QEAAXXZ
+; public: void __cdecl CHString::MakeUpper(void) __ptr64
+?MakeUpper@CHString@@QEAAXXZ
+; public: class CHString  __cdecl CHString::Mid(int)const  __ptr64
+?Mid@CHString@@QEBA?AV1@H@Z
+; public: class CHString  __cdecl CHString::Mid(int,int)const  __ptr64
+?Mid@CHString@@QEBA?AV1@HH@Z
+; private: static __int64 __cdecl CWinMsgEvent::MsgWndProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?MsgWndProc@CWinMsgEvent@@CA_JPEAUHWND__@@I_K_J@Z
+; public: unsigned long __cdecl CRegistry::NextSubKey(void) __ptr64
+?NextSubKey@CRegistry@@QEAAKXZ
+; private: int __cdecl CObjectPathParser::NextToken(void) __ptr64
+?NextToken@CObjectPathParser@@AEAAHXZ
+; unsigned long __cdecl NormalizePath(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,class CHString & __ptr64)
+?NormalizePath@@YAKPEBG00KAEAVCHString@@@Z
+; private: long __cdecl CWbemProviderGlue::NullOutUnsetProperties(struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct tagVARIANT const & __ptr64) __ptr64
+?NullOutUnsetProperties@CWbemProviderGlue@@AEAAJPEAUIWbemClassObject@@PEAPEAU2@AEBUtagVARIANT@@@Z
+; protected: virtual void __cdecl CThreadBase::OnFinalRelease(void) __ptr64
+?OnFinalRelease@CThreadBase@@MEAAXXZ
+; public: long __cdecl CRegistry::Open(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+?Open@CRegistry@@QEAAJPEAUHKEY__@@PEBGK@Z
+; public: long __cdecl CRegistry::OpenAndEnumerateSubKeys(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+?OpenAndEnumerateSubKeys@CRegistry@@QEAAJPEAUHKEY__@@PEBGK@Z
+; public: unsigned long __cdecl CRegistry::OpenCurrentUser(unsigned short const * __ptr64,unsigned long) __ptr64
+?OpenCurrentUser@CRegistry@@QEAAKPEBGK@Z
+; public: long __cdecl CRegistry::OpenLocalMachineKeyAndReadValue(unsigned short const * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
+?OpenLocalMachineKeyAndReadValue@CRegistry@@QEAAJPEBG0AEAVCHString@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::OpenNamespace(unsigned short * __ptr64 const,long,struct IWbemContext * __ptr64,struct IWbemServices * __ptr64 * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
+?OpenNamespace@CWbemProviderGlue@@UEAAJQEAGJPEAUIWbemContext@@PEAPEAUIWbemServices@@PEAPEAUIWbemCallResult@@@Z
+; private: unsigned long __cdecl CRegistry::OpenSubKey(void) __ptr64
+?OpenSubKey@CRegistry@@AEAAKXZ
+; public: int __cdecl CObjectPathParser::Parse(unsigned short const * __ptr64,struct ParsedObjectPath * __ptr64 * __ptr64) __ptr64
+?Parse@CObjectPathParser@@QEAAHPEBGPEAPEAUParsedObjectPath@@@Z
+; private: long __cdecl CWbemProviderGlue::PreProcessPutInstanceParms(struct IWbemClassObject * __ptr64,struct IWbemClassObject * __ptr64 * __ptr64,struct IWbemContext * __ptr64) __ptr64
+?PreProcessPutInstanceParms@CWbemProviderGlue@@AEAAJPEAUIWbemClassObject@@PEAPEAU2@PEAUIWbemContext@@@Z
+; private: void __cdecl CRegistry::PrepareToReOpen(void) __ptr64
+?PrepareToReOpen@CRegistry@@AEAAXXZ
+; public: virtual long __cdecl CWbemProviderGlue::PutClass(struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
+?PutClass@CWbemProviderGlue@@UEAAJPEAUIWbemClassObject@@JPEAUIWbemContext@@PEAPEAUIWbemCallResult@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::PutClassAsync(struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?PutClassAsync@CWbemProviderGlue@@UEAAJPEAUIWbemClassObject@@JPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
+; public: virtual long __cdecl CWbemProviderGlue::PutInstance(struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,struct IWbemCallResult * __ptr64 * __ptr64) __ptr64
+?PutInstance@CWbemProviderGlue@@UEAAJPEAUIWbemClassObject@@JPEAUIWbemContext@@PEAPEAUIWbemCallResult@@@Z
+; private: long __cdecl Provider::PutInstance(struct IWbemClassObject * __ptr64,long,class MethodContext * __ptr64) __ptr64
+?PutInstance@Provider@@AEAAJPEAUIWbemClassObject@@JPEAVMethodContext@@@Z
+; protected: virtual long __cdecl Provider::PutInstance(class CInstance const & __ptr64,long) __ptr64
+?PutInstance@Provider@@MEAAJAEBVCInstance@@J@Z
+; public: virtual long __cdecl CWbemProviderGlue::PutInstanceAsync(struct IWbemClassObject * __ptr64,long,struct IWbemContext * __ptr64,struct IWbemObjectSink * __ptr64) __ptr64
+?PutInstanceAsync@CWbemProviderGlue@@UEAAJPEAUIWbemClassObject@@JPEAUIWbemContext@@PEAUIWbemObjectSink@@@Z
+; public: virtual long __cdecl CWbemGlueFactory::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CWbemGlueFactory@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CWbemProviderGlue::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CWbemProviderGlue@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CWbemProviderGlue::QueryObjectSink(long,struct IWbemObjectSink * __ptr64 * __ptr64) __ptr64
+?QueryObjectSink@CWbemProviderGlue@@UEAAJJPEAPEAUIWbemObjectSink@@@Z
+; public: virtual void __cdecl MethodContext::QueryPostProcess(void) __ptr64
+?QueryPostProcess@MethodContext@@UEAAXXZ
+; protected: void __cdecl CWinMsgEvent::RegisterForMessage(unsigned int) __ptr64
+?RegisterForMessage@CWinMsgEvent@@IEAAXI@Z
+; protected: void __cdecl CHString::Release(void) __ptr64
+?Release@CHString@@IEAAXXZ
+; protected: static void __cdecl CHString::Release(struct CHStringData * __ptr64)
+?Release@CHString@@KAXPEAUCHStringData@@@Z
+; public: long __cdecl CInstance::Release(void) __ptr64
+?Release@CInstance@@QEAAJXZ
+; public: long __cdecl CThreadBase::Release(void) __ptr64
+?Release@CThreadBase@@QEAAJXZ
+; public: virtual unsigned long __cdecl CWbemGlueFactory::Release(void) __ptr64
+?Release@CWbemGlueFactory@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemProviderGlue::Release(void) __ptr64
+?Release@CWbemProviderGlue@@UEAAKXZ
+; public: long __cdecl MethodContext::Release(void) __ptr64
+?Release@MethodContext@@QEAAJXZ
+; public: void __cdecl CHString::ReleaseBuffer(int) __ptr64
+?ReleaseBuffer@CHString@@QEAAXH@Z
+; public: void __cdecl CHPtrArray::RemoveAll(void) __ptr64
+?RemoveAll@CHPtrArray@@QEAAXXZ
+; public: void __cdecl CHStringArray::RemoveAll(void) __ptr64
+?RemoveAll@CHStringArray@@QEAAXXZ
+; public: void __cdecl CHPtrArray::RemoveAt(int,int) __ptr64
+?RemoveAt@CHPtrArray@@QEAAXHH@Z
+; public: void __cdecl CHStringArray::RemoveAt(int,int) __ptr64
+?RemoveAt@CHStringArray@@QEAAXHH@Z
+; protected: static void __cdecl CWbemProviderGlue::RemoveFromFactoryMap(class CWbemGlueFactory const * __ptr64)
+?RemoveFromFactoryMap@CWbemProviderGlue@@KAXPEBVCWbemGlueFactory@@@Z
+; private: void __cdecl CFrameworkQuery::Reset(void) __ptr64
+?Reset@CFrameworkQuery@@AEAAXXZ
+; public: int __cdecl CHString::ReverseFind(unsigned short)const  __ptr64
+?ReverseFind@CHString@@QEBAHG@Z
+; public: void __cdecl CRegistry::RewindSubKeys(void) __ptr64
+?RewindSubKeys@CRegistry@@QEAAXXZ
+; public: class CHString  __cdecl CHString::Right(int)const  __ptr64
+?Right@CHString@@QEBA?AV1@H@Z
+; protected: static int __cdecl CHString::SafeStrlen(unsigned short const * __ptr64)
+?SafeStrlen@CHString@@KAHPEBG@Z
+; public: int __cdecl CRegistrySearch::SearchAndBuildList(class CHString,class CHPtrArray & __ptr64,class CHString,class CHString,int,struct HKEY__ * __ptr64) __ptr64
+?SearchAndBuildList@CRegistrySearch@@QEAAHVCHString@@AEAVCHPtrArray@@00HPEAUHKEY__@@@Z
+; private: static class Provider * __ptr64 __cdecl CWbemProviderGlue::SearchMapForProvider(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?SearchMapForProvider@CWbemProviderGlue@@CAPEAVProvider@@PEBG0@Z
+; public: void __cdecl CHPtrArray::SetAt(int,void * __ptr64) __ptr64
+?SetAt@CHPtrArray@@QEAAXHPEAX@Z
+; public: void __cdecl CHString::SetAt(int,unsigned short) __ptr64
+?SetAt@CHString@@QEAAXHG@Z
+; public: void __cdecl CHStringArray::SetAt(int,unsigned short const * __ptr64) __ptr64
+?SetAt@CHStringArray@@QEAAXHPEBG@Z
+; public: void __cdecl CHPtrArray::SetAtGrow(int,void * __ptr64) __ptr64
+?SetAtGrow@CHPtrArray@@QEAAXHPEAX@Z
+; public: void __cdecl CHStringArray::SetAtGrow(int,unsigned short const * __ptr64) __ptr64
+?SetAtGrow@CHStringArray@@QEAAXHPEBG@Z
+; public: bool __cdecl CInstance::SetByte(unsigned short const * __ptr64,unsigned char) __ptr64
+?SetByte@CInstance@@QEAA_NPEBGE@Z
+; public: bool __cdecl CInstance::SetCHString(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetCHString@CInstance@@QEAA_NPEBG0@Z
+; public: bool __cdecl CInstance::SetCHString(unsigned short const * __ptr64,class CHString const & __ptr64) __ptr64
+?SetCHString@CInstance@@QEAA_NPEBGAEBVCHString@@@Z
+; public: bool __cdecl CInstance::SetCHString(unsigned short const * __ptr64,char const * __ptr64) __ptr64
+?SetCHString@CInstance@@QEAA_NPEBGPEBD@Z
+; void __cdecl SetCHStringResourceHandle(struct HINSTANCE__ * __ptr64)
+?SetCHStringResourceHandle@@YAXPEAUHINSTANCE__@@@Z
+; public: bool __cdecl CInstance::SetCharSplat(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetCharSplat@CInstance@@QEAA_NPEBG0@Z
+; public: bool __cdecl CInstance::SetCharSplat(unsigned short const * __ptr64,unsigned long) __ptr64
+?SetCharSplat@CInstance@@QEAA_NPEBGK@Z
+; public: bool __cdecl CInstance::SetCharSplat(unsigned short const * __ptr64,char const * __ptr64) __ptr64
+?SetCharSplat@CInstance@@QEAA_NPEBGPEBD@Z
+; public: int __cdecl ParsedObjectPath::SetClassName(unsigned short const * __ptr64) __ptr64
+?SetClassName@ParsedObjectPath@@QEAAHPEBG@Z
+; protected: bool __cdecl Provider::SetCreationClassName(class CInstance * __ptr64) __ptr64
+?SetCreationClassName@Provider@@IEAA_NPEAVCInstance@@@Z
+; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
+?SetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAK@Z
+; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
+?SetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHString@@@Z
+; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
+?SetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHStringArray@@@Z
+; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
+?SetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAK@Z
+; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
+?SetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
+; public: unsigned long __cdecl CRegistry::SetCurrentKeyValue(unsigned short const * __ptr64,class CHStringArray & __ptr64) __ptr64
+?SetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHStringArray@@@Z
+; public: unsigned long __cdecl CRegistry::SetCurrentKeyValueExpand(struct HKEY__ * __ptr64,unsigned short const * __ptr64,class CHString & __ptr64) __ptr64
+?SetCurrentKeyValueExpand@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHString@@@Z
+; public: int __cdecl WBEMTime::SetDMTF(unsigned short * __ptr64 const) __ptr64
+?SetDMTF@WBEMTime@@QEAAHQEAG@Z
+; public: bool __cdecl CInstance::SetDOUBLE(unsigned short const * __ptr64,double) __ptr64
+?SetDOUBLE@CInstance@@QEAA_NPEBGN@Z
+; public: bool __cdecl CInstance::SetDWORD(unsigned short const * __ptr64,unsigned long) __ptr64
+?SetDWORD@CInstance@@QEAA_NPEBGK@Z
+; public: bool __cdecl CInstance::SetDateTime(unsigned short const * __ptr64,class WBEMTime const & __ptr64) __ptr64
+?SetDateTime@CInstance@@QEAA_NPEBGAEBVWBEMTime@@@Z
+; private: void __cdecl CRegistry::SetDefaultValues(void) __ptr64
+?SetDefaultValues@CRegistry@@AEAAXXZ
+; public: bool __cdecl CInstance::SetEmbeddedObject(unsigned short const * __ptr64,class CInstance & __ptr64) __ptr64
+?SetEmbeddedObject@CInstance@@QEAA_NPEBGAEAV1@@Z
+; private: int __cdecl Provider::SetKeyFromParsedObjectPath(class CInstance * __ptr64,struct ParsedObjectPath * __ptr64) __ptr64
+?SetKeyFromParsedObjectPath@Provider@@AEAAHPEAVCInstance@@PEAUParsedObjectPath@@@Z
+; public: bool __cdecl CInstance::SetNull(unsigned short const * __ptr64) __ptr64
+?SetNull@CInstance@@QEAA_NPEBG@Z
+; private: static int __cdecl CRegistry::SetPlatformID(void)
+?SetPlatformID@CRegistry@@CAHXZ
+; public: void __cdecl CHPtrArray::SetSize(int,int) __ptr64
+?SetSize@CHPtrArray@@QEAAXHH@Z
+; public: void __cdecl CHStringArray::SetSize(int,int) __ptr64
+?SetSize@CHStringArray@@QEAAXHH@Z
+; public: static bool __cdecl CWbemProviderGlue::SetStatusObject(class MethodContext * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,long,struct tagSAFEARRAY const * __ptr64,struct tagSAFEARRAY const * __ptr64)
+?SetStatusObject@CWbemProviderGlue@@SA_NPEAVMethodContext@@PEBG1JPEBUtagSAFEARRAY@@2@Z
+; public: bool __cdecl MethodContext::SetStatusObject(struct IWbemClassObject * __ptr64) __ptr64
+?SetStatusObject@MethodContext@@QEAA_NPEAUIWbemClassObject@@@Z
+; public: bool __cdecl CInstance::SetStringArray(unsigned short const * __ptr64,struct tagSAFEARRAY const & __ptr64) __ptr64
+?SetStringArray@CInstance@@QEAA_NPEBGAEBUtagSAFEARRAY@@@Z
+; public: bool __cdecl CInstance::SetTimeSpan(unsigned short const * __ptr64,class WBEMTimeSpan const & __ptr64) __ptr64
+?SetTimeSpan@CInstance@@QEAA_NPEBGAEBVWBEMTimeSpan@@@Z
+; public: bool __cdecl CInstance::SetVariant(unsigned short const * __ptr64,struct tagVARIANT const & __ptr64) __ptr64
+?SetVariant@CInstance@@QEAA_NPEBGAEBUtagVARIANT@@@Z
+; public: bool __cdecl CInstance::SetWBEMINT16(unsigned short const * __ptr64,short const & __ptr64) __ptr64
+?SetWBEMINT16@CInstance@@QEAA_NPEBGAEBF@Z
+; public: bool __cdecl CInstance::SetWBEMINT64(unsigned short const * __ptr64,class CHString const & __ptr64) __ptr64
+?SetWBEMINT64@CInstance@@QEAA_NPEBGAEBVCHString@@@Z
+; public: bool __cdecl CInstance::SetWBEMINT64(unsigned short const * __ptr64,__int64) __ptr64
+?SetWBEMINT64@CInstance@@QEAA_NPEBG_J@Z
+; public: bool __cdecl CInstance::SetWBEMINT64(unsigned short const * __ptr64,unsigned __int64) __ptr64
+?SetWBEMINT64@CInstance@@QEAA_NPEBG_K@Z
+; public: bool __cdecl CInstance::SetWCHARSplat(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetWCHARSplat@CInstance@@QEAA_NPEBG0@Z
+; public: bool __cdecl CInstance::SetWORD(unsigned short const * __ptr64,unsigned short) __ptr64
+?SetWORD@CInstance@@QEAA_NPEBGG@Z
+; public: bool __cdecl CInstance::Setbool(unsigned short const * __ptr64,bool) __ptr64
+?Setbool@CInstance@@QEAA_NPEBG_N@Z
+; public: int __cdecl CAutoEvent::Signal(void) __ptr64
+?Signal@CAutoEvent@@QEAAHXZ
+; public: class CHString  __cdecl CHString::SpanExcluding(unsigned short const * __ptr64)const  __ptr64
+?SpanExcluding@CHString@@QEBA?AV1@PEBG@Z
+; public: class CHString  __cdecl CHString::SpanIncluding(unsigned short const * __ptr64)const  __ptr64
+?SpanIncluding@CHString@@QEBA?AV1@PEBG@Z
+; public: void __cdecl CHString::TrimLeft(void) __ptr64
+?TrimLeft@CHString@@QEAAXXZ
+; public: void __cdecl CHString::TrimRight(void) __ptr64
+?TrimRight@CHString@@QEAAXXZ
+; private: static void __cdecl CWbemProviderGlue::UnInit(void)
+?UnInit@CWbemProviderGlue@@CAXXZ
+; protected: void __cdecl CWinMsgEvent::UnRegisterAllMessages(void) __ptr64
+?UnRegisterAllMessages@CWinMsgEvent@@IEAAXXZ
+; protected: bool __cdecl CWinMsgEvent::UnRegisterMessage(unsigned int) __ptr64
+?UnRegisterMessage@CWinMsgEvent@@IEAA_NI@Z
+; private: void __cdecl CThreadBase::Unlock(void) __ptr64
+?Unlock@CThreadBase@@AEAAXXZ
+; public: void __cdecl CHString::UnlockBuffer(void) __ptr64
+?UnlockBuffer@CHString@@QEAAXXZ
+; private: static void __cdecl CWbemProviderGlue::UnlockFactoryMap(void)
+?UnlockFactoryMap@CWbemProviderGlue@@CAXXZ
+; private: static void __cdecl CWbemProviderGlue::UnlockProviderMap(void)
+?UnlockProviderMap@CWbemProviderGlue@@CAXXZ
+; public: static int __cdecl CObjectPathParser::Unparse(struct ParsedObjectPath * __ptr64,unsigned short * __ptr64 * __ptr64)
+?Unparse@CObjectPathParser@@SAHPEAUParsedObjectPath@@PEAPEAG@Z
+; protected: virtual long __cdecl Provider::ValidateDeletionFlags(long) __ptr64
+?ValidateDeletionFlags@Provider@@MEAAJJ@Z
+; protected: virtual long __cdecl Provider::ValidateEnumerationFlags(long) __ptr64
+?ValidateEnumerationFlags@Provider@@MEAAJJ@Z
+; protected: long __cdecl Provider::ValidateFlags(long,enum Provider::FlagDefs) __ptr64
+?ValidateFlags@Provider@@IEAAJJW4FlagDefs@1@@Z
+; protected: virtual long __cdecl Provider::ValidateGetObjFlags(long) __ptr64
+?ValidateGetObjFlags@Provider@@MEAAJJ@Z
+; private: int __cdecl Provider::ValidateIMOSPointer(void) __ptr64
+?ValidateIMOSPointer@Provider@@AEAAHXZ
+; protected: virtual long __cdecl Provider::ValidateMethodFlags(long) __ptr64
+?ValidateMethodFlags@Provider@@MEAAJJ@Z
+; protected: virtual long __cdecl Provider::ValidatePutInstanceFlags(long) __ptr64
+?ValidatePutInstanceFlags@Provider@@MEAAJJ@Z
+; protected: virtual long __cdecl Provider::ValidateQueryFlags(long) __ptr64
+?ValidateQueryFlags@Provider@@MEAAJJ@Z
+; public: unsigned long __cdecl CAutoEvent::Wait(unsigned long) __ptr64
+?Wait@CAutoEvent@@QEAAKK@Z
+; private: static void __cdecl CWinMsgEvent::WindowsDispatch(void)
+?WindowsDispatch@CWinMsgEvent@@CAXXZ
+; private: void __cdecl CObjectPathParser::Zero(void) __ptr64
+?Zero@CObjectPathParser@@AEAAXXZ
+; private: int __cdecl CObjectPathParser::begin_parse(void) __ptr64
+?begin_parse@CObjectPathParser@@AEAAHXZ
+; class ProviderLog  captainsLog
+?captainsLog@@3VProviderLog@@A DATA
+; private: static unsigned long __cdecl CWinMsgEvent::dwThreadProc(void * __ptr64)
+?dwThreadProc@CWinMsgEvent@@CAKPEAX@Z
+; class CCritSec  g_cs
+?g_cs@@3VCCritSec@@A DATA
+; private: int __cdecl CObjectPathParser::ident_becomes_class(void) __ptr64
+?ident_becomes_class@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::ident_becomes_ns(void) __ptr64
+?ident_becomes_ns@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::key_const(void) __ptr64
+?key_const@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::keyref(void) __ptr64
+?keyref@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::keyref_list(void) __ptr64
+?keyref_list@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::keyref_term(void) __ptr64
+?keyref_term@CObjectPathParser@@AEAAHXZ
+; private: static class std::set<void * __ptr64,struct std::less<void * __ptr64>,class std::allocator<void * __ptr64> >  CWbemProviderGlue::m_FlushPtrs
+?m_FlushPtrs@CWbemProviderGlue@@0V?$set@PEAXU?$less@PEAX@std@@V?$allocator@PEAX@2@@std@@A DATA
+; private: static class CCritSec  CWbemProviderGlue::m_csFlushPtrs
+?m_csFlushPtrs@CWbemProviderGlue@@0VCCritSec@@A DATA
+; private: static class CCritSec  CWbemProviderGlue::m_csStatusObject
+?m_csStatusObject@CWbemProviderGlue@@0VCCritSec@@A DATA
+; private: static struct IWbemClassObject * __ptr64  __ptr64 CWbemProviderGlue::m_pStatusObject
+?m_pStatusObject@CWbemProviderGlue@@0PEAUIWbemClassObject@@EA DATA
+; private: static class CAutoEvent  CWinMsgEvent::mg_aeCreateWindow
+?mg_aeCreateWindow@CWinMsgEvent@@0VCAutoEvent@@A DATA
+; private: static class CCritSec  CWinMsgEvent::mg_csMapLock
+?mg_csMapLock@CWinMsgEvent@@0VCCritSec@@A DATA
+; private: static class CCritSec  CWinMsgEvent::mg_csWindowLock
+?mg_csWindowLock@CWinMsgEvent@@0VCCritSec@@A DATA
+; private: static void * __ptr64  __ptr64 CWinMsgEvent::mg_hThreadPumpHandle
+?mg_hThreadPumpHandle@CWinMsgEvent@@0PEAXEA DATA
+; private: static struct HWND__ * __ptr64  __ptr64 CWinMsgEvent::mg_hWnd
+?mg_hWnd@CWinMsgEvent@@0PEAUHWND__@@EA DATA
+; private: static class std::multimap<unsigned int,class CWinMsgEvent * __ptr64,struct std::less<unsigned int>,class std::allocator<class CWinMsgEvent * __ptr64> >  CWinMsgEvent::mg_oSinkMap
+?mg_oSinkMap@CWinMsgEvent@@0V?$multimap@IPEAVCWinMsgEvent@@U?$less@I@std@@V?$allocator@PEAVCWinMsgEvent@@@3@@std@@A DATA
+; private: long __cdecl CRegistry::myRegCreateKeyEx(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * __ptr64,struct HKEY__ * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?myRegCreateKeyEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGKPEAGKKPEAU_SECURITY_ATTRIBUTES@@PEAPEAU2@PEAK@Z
+; private: long __cdecl CRegistry::myRegDeleteKey(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
+?myRegDeleteKey@CRegistry@@AEAAJPEAUHKEY__@@PEBG@Z
+; private: long __cdecl CRegistry::myRegDeleteValue(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
+?myRegDeleteValue@CRegistry@@AEAAJPEAUHKEY__@@PEBG@Z
+; private: long __cdecl CRegistry::myRegEnumKey(struct HKEY__ * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long) __ptr64
+?myRegEnumKey@CRegistry@@AEAAJPEAUHKEY__@@KPEAGK@Z
+; private: long __cdecl CRegistry::myRegEnumValue(struct HKEY__ * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
+?myRegEnumValue@CRegistry@@AEAAJPEAUHKEY__@@KPEAGPEAK22PEAE2@Z
+; private: long __cdecl CRegistry::myRegOpenKeyEx(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,struct HKEY__ * __ptr64 * __ptr64) __ptr64
+?myRegOpenKeyEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGKKPEAPEAU2@@Z
+; private: long __cdecl CRegistry::myRegQueryInfoKey(struct HKEY__ * __ptr64,unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64) __ptr64
+?myRegQueryInfoKey@CRegistry@@AEAAJPEAUHKEY__@@PEAGPEAK22222222PEAU_FILETIME@@@Z
+; private: long __cdecl CRegistry::myRegQueryValueEx(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
+?myRegQueryValueEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGPEAK2PEAE2@Z
+; private: long __cdecl CRegistry::myRegSetValueEx(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned char const * __ptr64,unsigned long) __ptr64
+?myRegSetValueEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGKKPEBEK@Z
+; private: int __cdecl CObjectPathParser::ns_list(void) __ptr64
+?ns_list@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::ns_list_rest(void) __ptr64
+?ns_list_rest@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::ns_or_class(void) __ptr64
+?ns_or_class@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::ns_or_server(void) __ptr64
+?ns_or_server@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::objref(void) __ptr64
+?objref@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::objref_rest(void) __ptr64
+?objref_rest@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::optional_objref(void) __ptr64
+?optional_objref@CObjectPathParser@@AEAAHXZ
+; private: int __cdecl CObjectPathParser::propname(void) __ptr64
+?propname@CObjectPathParser@@AEAAHXZ
+; private: static int  CWbemProviderGlue::s_bInitted
+?s_bInitted@CWbemProviderGlue@@0HA DATA
+; private: static class CCritSec  CWbemProviderGlue::s_csFactoryMap
+?s_csFactoryMap@CWbemProviderGlue@@0VCCritSec@@A DATA
+; private: static class CCritSec  CWbemProviderGlue::s_csProviderMap
+?s_csProviderMap@CWbemProviderGlue@@0VCCritSec@@A DATA
+; private: static unsigned long  CWbemProviderGlue::s_dwMajorVersion
+?s_dwMajorVersion@CWbemProviderGlue@@0KA DATA
+; private: static unsigned long  CRegistry::s_dwPlatform
+?s_dwPlatform@CRegistry@@0KA DATA
+; private: static unsigned long  CWbemProviderGlue::s_dwPlatform
+?s_dwPlatform@CWbemProviderGlue@@0KA DATA
+; private: static int  CRegistry::s_fPlatformSet
+?s_fPlatformSet@CRegistry@@0HA DATA
+; private: static class std::map<void const * __ptr64,long * __ptr64,struct std::less<void const * __ptr64>,class std::allocator<long * __ptr64> >  CWbemProviderGlue::s_factorymap
+?s_factorymap@CWbemProviderGlue@@0V?$map@PEBXPEAJU?$less@PEBX@std@@V?$allocator@PEAJ@2@@std@@A DATA
+; private: static long  CWbemProviderGlue::s_lObjects
+?s_lObjects@CWbemProviderGlue@@0JA DATA
+; private: static class std::map<class CHString,void * __ptr64,struct std::less<class CHString>,class std::allocator<void * __ptr64> >  CWbemProviderGlue::s_providersmap
+?s_providersmap@CWbemProviderGlue@@0V?$map@VCHString@@PEAXU?$less@VCHString@@@std@@V?$allocator@PEAX@3@@std@@A DATA
+; private: static class CHString  Provider::s_strComputerName
+?s_strComputerName@Provider@@0VCHString@@A DATA
+; private: static unsigned short *  CWbemProviderGlue::s_wstrCSDVersion
+?s_wstrCSDVersion@CWbemProviderGlue@@0PAGA DATA
+DoCmd
diff --git a/mingw-w64-crt/lib64/fsusd.def b/mingw-w64-crt/lib64/fsusd.def
index 8fc42cc..ce69072 100644
--- a/mingw-w64-crt/lib64/fsusd.def
+++ b/mingw-w64-crt/lib64/fsusd.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file FSUSD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FSUSD.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
+; 
+; Exports of file FSUSD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FSUSD.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
diff --git a/mingw-w64-crt/lib64/ftpctrs2.def b/mingw-w64-crt/lib64/ftpctrs2.def
index a50fd14..63a5750 100644
--- a/mingw-w64-crt/lib64/ftpctrs2.def
+++ b/mingw-w64-crt/lib64/ftpctrs2.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file FTPCTRS2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FTPCTRS2.dll
-EXPORTS
-OpenFtpPerformanceData
-CollectFtpPerformanceData
-CloseFtpPerformanceData
+; 
+; Exports of file FTPCTRS2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FTPCTRS2.dll
+EXPORTS
+OpenFtpPerformanceData
+CollectFtpPerformanceData
+CloseFtpPerformanceData
diff --git a/mingw-w64-crt/lib64/ftpmib.def b/mingw-w64-crt/lib64/ftpmib.def
index 9a6afd2..218fe00 100644
--- a/mingw-w64-crt/lib64/ftpmib.def
+++ b/mingw-w64-crt/lib64/ftpmib.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file FTPMIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FTPMIB.dll
-EXPORTS
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file FTPMIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FTPMIB.dll
+EXPORTS
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/ftpsvc2.def b/mingw-w64-crt/lib64/ftpsvc2.def
index 234067c..27edca2 100644
--- a/mingw-w64-crt/lib64/ftpsvc2.def
+++ b/mingw-w64-crt/lib64/ftpsvc2.def
@@ -1,265 +1,265 @@
-; 
-; Exports of file FTPSVC2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FTPSVC2.dll
-EXPORTS
-; public: __cdecl HASH_TABLE::HASH_TABLE(class HASH_TABLE const & __ptr64) __ptr64
-??0HASH_TABLE@@QEAA@AEBV0@@Z
-; public: __cdecl HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const & __ptr64) __ptr64
-??0HT_ELEMENT@@QEAA@AEBV0@@Z
-; public: __cdecl HT_ELEMENT::HT_ELEMENT(void) __ptr64
-??0HT_ELEMENT@@QEAA@XZ
-; public: __cdecl IIS_SERVICE::IIS_SERVICE(class IIS_SERVICE const & __ptr64) __ptr64
-??0IIS_SERVICE@@QEAA@AEBV0@@Z
-; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
-??0LOGGING@@QEAA@AEBV0@@Z
-; public: virtual __cdecl HASH_TABLE::~HASH_TABLE(void) __ptr64
-??1HASH_TABLE@@UEAA@XZ
-; public: virtual __cdecl HT_ELEMENT::~HT_ELEMENT(void) __ptr64
-??1HT_ELEMENT@@UEAA@XZ
-; public: class HASH_TABLE & __ptr64 __cdecl HASH_TABLE::operator=(class HASH_TABLE const & __ptr64) __ptr64
-??4HASH_TABLE@@QEAAAEAV0@AEBV0@@Z
-; public: class HT_ELEMENT & __ptr64 __cdecl HT_ELEMENT::operator=(class HT_ELEMENT const & __ptr64) __ptr64
-??4HT_ELEMENT@@QEAAAEAV0@AEBV0@@Z
-; public: class IIS_SERVICE & __ptr64 __cdecl IIS_SERVICE::operator=(class IIS_SERVICE const & __ptr64) __ptr64
-??4IIS_SERVICE@@QEAAAEAV0@AEBV0@@Z
-; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
-??4LOGGING@@QEAAAEAV0@AEBV0@@Z
-; public: class TSVC_CACHE & __ptr64 __cdecl TSVC_CACHE::operator=(class TSVC_CACHE const & __ptr64) __ptr64
-??4TSVC_CACHE@@QEAAAEAV0@AEBV0@@Z
-; const  HASH_TABLE::`vftable'
-??_7HASH_TABLE@@6B@
-; const  HT_ELEMENT::`vftable'
-??_7HT_ELEMENT@@6B@
-; const  IIS_SERVICE::`vftable'
-??_7IIS_SERVICE@@6B@
-; public: void __cdecl IIS_SERVER_INSTANCE::AcquireFastLock(void) __ptr64
-?AcquireFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVICE::AcquireServiceLock(int) __ptr64
-?AcquireServiceLock@IIS_SERVICE@@QEAAXH@Z
-; private: static void __cdecl IIS_VROOT_TABLE::AddRefRecord(void const * __ptr64,int)
-?AddRefRecord@IIS_VROOT_TABLE@@CAXPEBXH@Z
-; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64)const  __ptr64
-?CalculateHash@HASH_TABLE@@UEBAKPEBD@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::CleanupAfterConstructorFailure(void) __ptr64
-?CleanupAfterConstructorFailure@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::DecrementCurrentConnections(void) __ptr64
-?DecrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: unsigned long __cdecl IIS_SERVICE::DelayCurrentServiceCtrlOperation(unsigned long) __ptr64
-?DelayCurrentServiceCtrlOperation@IIS_SERVICE@@QEAAKK@Z
-; public: virtual long __cdecl MIME_MAP_ENTRY::Dereference(void) __ptr64
-?Dereference@MIME_MAP_ENTRY@@UEAAJXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::DoServerNameCheck(void)const  __ptr64
-?DoServerNameCheck@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: virtual int __cdecl COMMON_METADATA::FinishPrivateProperties(class BUFFER * __ptr64,unsigned long,int) __ptr64
-?FinishPrivateProperties@COMMON_METADATA@@UEAAHPEAVBUFFER@@KH@Z
-; public: unsigned long __cdecl HASH_TABLE::FlushElements(void) __ptr64
-?FlushElements@HASH_TABLE@@QEAAKXZ
-; public: unsigned long __cdecl TSVC_CACHE::GetInstanceId(void)const  __ptr64
-?GetInstanceId@TSVC_CACHE@@QEBAKXZ
-; public: void __cdecl IIS_SERVICE::GetMDInstancePath(unsigned long,char * __ptr64) __ptr64
-?GetMDInstancePath@IIS_SERVICE@@QEAAXKPEAD@Z
-; public: void * __ptr64 __cdecl TSVC_CACHE::GetServerInstance(void)const  __ptr64
-?GetServerInstance@TSVC_CACHE@@QEBAPEAXXZ
-; private: virtual unsigned long __cdecl IIS_SERVICE::GetServiceConfigInfoSize(unsigned long) __ptr64
-?GetServiceConfigInfoSize@IIS_SERVICE@@EEAAKK@Z
-; public: unsigned long __cdecl TSVC_CACHE::GetServiceId(void)const  __ptr64
-?GetServiceId@TSVC_CACHE@@QEBAKXZ
-; public: class CACHED_TOKEN * __ptr64 __cdecl TCP_AUTHENT::GetToken(void)const  __ptr64
-?GetToken@TCP_AUTHENT@@QEBAPEAVCACHED_TOKEN@@XZ
-; public: class TSVC_CACHE & __ptr64 __cdecl IIS_SERVER_INSTANCE::GetTsvcCache(void) __ptr64
-?GetTsvcCache@IIS_SERVER_INSTANCE@@QEAAAEAVTSVC_CACHE@@XZ
-; public: void * __ptr64 __cdecl TCP_AUTHENT::GetUserHandle(void) __ptr64
-?GetUserHandle@TCP_AUTHENT@@QEAAPEAXXZ
-; public: virtual int __cdecl COMMON_METADATA::HandlePrivateProperty(char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,struct _METADATA_GETALL_INTERNAL_RECORD * __ptr64,void * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,struct _METADATA_ERROR_INFO * __ptr64) __ptr64
-?HandlePrivateProperty@COMMON_METADATA@@UEAAHPEADPEAVIIS_SERVER_INSTANCE@@PEAU_METADATA_GETALL_INTERNAL_RECORD@@PEAXPEAVBUFFER@@PEAKPEAU_METADATA_ERROR_INFO@@@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::HasNormalBindings(void)const  __ptr64
-?HasNormalBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::HasSecureBindings(void)const  __ptr64
-?HasSecureBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::IncrementCurrentConnections(void) __ptr64
-?IncrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: int __cdecl IIS_SERVICE::IsActive(void)const  __ptr64
-?IsActive@IIS_SERVICE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsAutoStart(void)const  __ptr64
-?IsAutoStart@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsClusterEnabled(void)const  __ptr64
-?IsClusterEnabled@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsDownLevelInstance(void)const  __ptr64
-?IsDownLevelInstance@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsLoggingEnabledA(void)const  __ptr64
-?IsLoggingEnabledA@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: virtual int __cdecl MIME_MAP_ENTRY::IsMatch(char const * __ptr64,unsigned long)const  __ptr64
-?IsMatch@MIME_MAP_ENTRY@@UEBAHPEBDK@Z
-; public: int __cdecl IIS_SERVICE::IsMultiInstance(void)const  __ptr64
-?IsMultiInstance@IIS_SERVICE@@QEBAHXZ
-; public: int __cdecl IIS_SERVICE::IsSystemDBCS(void)const  __ptr64
-?IsSystemDBCS@IIS_SERVICE@@QEBAHXZ
-; public: int __cdecl HASH_TABLE::IsValid(void)const  __ptr64
-?IsValid@HASH_TABLE@@QEBAHXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::IsValid(void)const  __ptr64
-?IsValid@TS_OPEN_FILE_INFO@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::LoadStr(class STR & __ptr64,unsigned long,int)const  __ptr64
-?LoadStr@IIS_SERVER_INSTANCE@@QEBAHAEAVSTR@@KH@Z
-; public: void __cdecl IIS_VROOT_TABLE::LockConvertExclusive(void) __ptr64
-?LockConvertExclusive@IIS_VROOT_TABLE@@QEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::LockExclusive(void) __ptr64
-?LockExclusive@IIS_VROOT_TABLE@@QEAAXXZ
-; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
-?LockExclusive@LOGGING@@AEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::LockShared(void) __ptr64
-?LockShared@IIS_VROOT_TABLE@@QEAAXXZ
-; private: void __cdecl LOGGING::LockShared(void) __ptr64
-?LockShared@LOGGING@@AEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForRead(void) __ptr64
-?LockThisForRead@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForWrite(void) __ptr64
-?LockThisForWrite@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVICE::LogEvent(unsigned long,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
-?LogEvent@IIS_SERVICE@@QEAAXKGQEAPEBDK@Z
-; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64) __ptr64
-?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBD@Z
-; public: void __cdecl MIME_MAP::Print(void) __ptr64
-?Print@MIME_MAP@@QEAAXXZ
-; public: virtual void __cdecl MIME_MAP_ENTRY::Print(void)const  __ptr64
-?Print@MIME_MAP_ENTRY@@UEBAXXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExOutstanding(void)const  __ptr64
-?QueryAcceptExOutstanding@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExTimeout(void)const  __ptr64
-?QueryAcceptExTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: virtual class IIS_SSL_INFO * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryAndReferenceSSLInfoObj(void) __ptr64
-?QueryAndReferenceSSLInfoObj@IIS_SERVER_INSTANCE@@UEAAPEAVIIS_SSL_INFO@@XZ
-; public: unsigned long __cdecl TS_OPEN_FILE_INFO::QueryAttributes(void)const  __ptr64
-?QueryAttributes@TS_OPEN_FILE_INFO@@QEBAKXZ
-; public: void * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryBandwidthInfo(void)const  __ptr64
-?QueryBandwidthInfo@IIS_SERVER_INSTANCE@@QEBAPEAXXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryConnectionTimeout(void)const  __ptr64
-?QueryConnectionTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCredHandle(void) __ptr64
-?QueryCredHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
-; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCtxtHandle(void) __ptr64
-?QueryCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryCurrentConnections(void)const  __ptr64
-?QueryCurrentConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceError(void)const  __ptr64
-?QueryCurrentServiceError@IIS_SERVICE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceState(void)const  __ptr64
-?QueryCurrentServiceState@IIS_SERVICE@@QEBAKXZ
-; public: unsigned short __cdecl IIS_SERVER_INSTANCE::QueryDefaultPort(void)const  __ptr64
-?QueryDefaultPort@IIS_SERVER_INSTANCE@@QEBAGXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryDownLevelInstance(void)const  __ptr64
-?QueryDownLevelInstance@IIS_SERVICE@@QEBAKXZ
-; public: char * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryETag(void)const  __ptr64
-?QueryETag@TS_OPEN_FILE_INFO@@QEBAPEADXZ
-; public: class EVENT_LOG * __ptr64 __cdecl IIS_SERVICE::QueryEventLog(void) __ptr64
-?QueryEventLog@IIS_SERVICE@@QEAAPEAVEVENT_LOG@@XZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryInstanceCount(void)const  __ptr64
-?QueryInstanceCount@IIS_SERVICE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryInstanceId(void)const  __ptr64
-?QueryInstanceId@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: virtual char const * __ptr64 __cdecl MIME_MAP_ENTRY::QueryKey(void)const  __ptr64
-?QueryKey@MIME_MAP_ENTRY@@UEBAPEBDXZ
-; public: virtual unsigned long __cdecl MIME_MAP_ENTRY::QueryKeyLen(void)const  __ptr64
-?QueryKeyLen@MIME_MAP_ENTRY@@UEBAKXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::QueryLastWriteTime(struct _FILETIME * __ptr64)const  __ptr64
-?QueryLastWriteTime@TS_OPEN_FILE_INFO@@QEBAHPEAU_FILETIME@@@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogAnonymous(void)const  __ptr64
-?QueryLogAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogNonAnonymous(void)const  __ptr64
-?QueryLogNonAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDPath(void)const  __ptr64
-?QueryMDPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryMDPath(void)const  __ptr64
-?QueryMDPath@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDPathLen(void)const  __ptr64
-?QueryMDPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDVRPath(void)const  __ptr64
-?QueryMDVRPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDVRPathLen(void)const  __ptr64
-?QueryMDVRPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxConnections(void)const  __ptr64
-?QueryMaxConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxEndpointConnections(void)const  __ptr64
-?QueryMaxEndpointConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: class MIME_MAP * __ptr64 __cdecl IIS_SERVICE::QueryMimeMap(void)const  __ptr64
-?QueryMimeMap@IIS_SERVICE@@QEBAPEAVMIME_MAP@@XZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryModuleName(void)const  __ptr64
-?QueryModuleName@IIS_SERVICE@@QEBAPEBDXZ
-; public: long * __ptr64 __cdecl RefBlob::QueryRefCount(void) __ptr64
-?QueryRefCount@RefBlob@@QEAAPEAJXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRegParamKey(void)const  __ptr64
-?QueryRegParamKey@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryRegParamKey(void)const  __ptr64
-?QueryRegParamKey@IIS_SERVICE@@QEBAPEBDXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRoot(void)const  __ptr64
-?QueryRoot@IIS_SERVER_INSTANCE@@QEBAPEADXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QuerySavedState(void)const  __ptr64
-?QuerySavedState@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerSize(void)const  __ptr64
-?QueryServerSize@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerState(void)const  __ptr64
-?QueryServerState@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceComment(void)const  __ptr64
-?QueryServiceComment@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryServiceId(void)const  __ptr64
-?QueryServiceId@IIS_SERVICE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceName(void)const  __ptr64
-?QueryServiceName@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryServiceSpecificExitCode(void)const  __ptr64
-?QueryServiceSpecificExitCode@IIS_SERVICE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryShutdownScheduleId(void)const  __ptr64
-?QueryShutdownScheduleId@IIS_SERVICE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QuerySiteName(void)const  __ptr64
-?QuerySiteName@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(union _LARGE_INTEGER & __ptr64)const  __ptr64
-?QuerySize@TS_OPEN_FILE_INFO@@QEBAHAEAT_LARGE_INTEGER@@@Z
-; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(unsigned long * __ptr64,unsigned long * __ptr64)const  __ptr64
-?QuerySize@TS_OPEN_FILE_INFO@@QEBAHPEAK0@Z
-; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QuerySslCtxtHandle(void) __ptr64
-?QuerySslCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
-; public: unsigned long __cdecl IIS_VROOT_TABLE::QueryVrootCount(void) __ptr64
-?QueryVrootCount@IIS_VROOT_TABLE@@QEAAKXZ
-; public: class IIS_VROOT_TABLE * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryVrootTable(void) __ptr64
-?QueryVrootTable@IIS_SERVER_INSTANCE@@QEAAPEAVIIS_VROOT_TABLE@@XZ
-; public: virtual long __cdecl MIME_MAP_ENTRY::Reference(void) __ptr64
-?Reference@MIME_MAP_ENTRY@@UEAAJXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::ReleaseFastLock(void) __ptr64
-?ReleaseFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVICE::ReleaseServiceLock(int) __ptr64
-?ReleaseServiceLock@IIS_SERVICE@@QEAAXH@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveNormalBindings(void) __ptr64
-?RemoveNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveSecureBindings(void) __ptr64
-?RemoveSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::RetrieveHttpInfo(char * __ptr64,int * __ptr64) __ptr64
-?RetrieveHttpInfo@TS_OPEN_FILE_INFO@@QEAAHPEADPEAH@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::SaveServerState(void) __ptr64
-?SaveServerState@IIS_SERVER_INSTANCE@@QEAAXXZ
-ServiceEntry
-; public: void __cdecl COMMON_METADATA::SetAccessPerms(unsigned long) __ptr64
-?SetAccessPerms@COMMON_METADATA@@QEAAXK@Z
-; public: void __cdecl TSVC_CACHE::SetParameters(unsigned long,unsigned long,void * __ptr64) __ptr64
-?SetParameters@TSVC_CACHE@@QEAAXKKPEAX@Z
-; public: void __cdecl IIS_SERVICE::SetServiceComment(char * __ptr64) __ptr64
-?SetServiceComment@IIS_SERVICE@@QEAAXPEAD@Z
-; public: void __cdecl IIS_SERVICE::SetServiceSpecificExitCode(unsigned long) __ptr64
-?SetServiceSpecificExitCode@IIS_SERVICE@@QEAAXK@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::SetZapRegKey(void) __ptr64
-?SetZapRegKey@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: virtual void __cdecl IIS_SERVICE::StopInstanceProcs(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?StopInstanceProcs@IIS_SERVICE@@UEAAXPEAVIIS_SERVER_INSTANCE@@@Z
-; public: void __cdecl IIS_VROOT_TABLE::Unlock(void) __ptr64
-?Unlock@IIS_VROOT_TABLE@@QEAAXXZ
-; private: void __cdecl LOGGING::Unlock(void) __ptr64
-?Unlock@LOGGING@@AEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::UnlockThis(void) __ptr64
-?UnlockThis@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateNormalBindings(void) __ptr64
-?UpdateNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateSecureBindings(void) __ptr64
-?UpdateSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::WeakETag(void)const  __ptr64
-?WeakETag@TS_OPEN_FILE_INFO@@QEBAHXZ
+; 
+; Exports of file FTPSVC2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FTPSVC2.dll
+EXPORTS
+; public: __cdecl HASH_TABLE::HASH_TABLE(class HASH_TABLE const & __ptr64) __ptr64
+??0HASH_TABLE@@QEAA@AEBV0@@Z
+; public: __cdecl HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const & __ptr64) __ptr64
+??0HT_ELEMENT@@QEAA@AEBV0@@Z
+; public: __cdecl HT_ELEMENT::HT_ELEMENT(void) __ptr64
+??0HT_ELEMENT@@QEAA@XZ
+; public: __cdecl IIS_SERVICE::IIS_SERVICE(class IIS_SERVICE const & __ptr64) __ptr64
+??0IIS_SERVICE@@QEAA@AEBV0@@Z
+; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
+??0LOGGING@@QEAA@AEBV0@@Z
+; public: virtual __cdecl HASH_TABLE::~HASH_TABLE(void) __ptr64
+??1HASH_TABLE@@UEAA@XZ
+; public: virtual __cdecl HT_ELEMENT::~HT_ELEMENT(void) __ptr64
+??1HT_ELEMENT@@UEAA@XZ
+; public: class HASH_TABLE & __ptr64 __cdecl HASH_TABLE::operator=(class HASH_TABLE const & __ptr64) __ptr64
+??4HASH_TABLE@@QEAAAEAV0@AEBV0@@Z
+; public: class HT_ELEMENT & __ptr64 __cdecl HT_ELEMENT::operator=(class HT_ELEMENT const & __ptr64) __ptr64
+??4HT_ELEMENT@@QEAAAEAV0@AEBV0@@Z
+; public: class IIS_SERVICE & __ptr64 __cdecl IIS_SERVICE::operator=(class IIS_SERVICE const & __ptr64) __ptr64
+??4IIS_SERVICE@@QEAAAEAV0@AEBV0@@Z
+; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
+??4LOGGING@@QEAAAEAV0@AEBV0@@Z
+; public: class TSVC_CACHE & __ptr64 __cdecl TSVC_CACHE::operator=(class TSVC_CACHE const & __ptr64) __ptr64
+??4TSVC_CACHE@@QEAAAEAV0@AEBV0@@Z
+; const  HASH_TABLE::`vftable'
+??_7HASH_TABLE@@6B@
+; const  HT_ELEMENT::`vftable'
+??_7HT_ELEMENT@@6B@
+; const  IIS_SERVICE::`vftable'
+??_7IIS_SERVICE@@6B@
+; public: void __cdecl IIS_SERVER_INSTANCE::AcquireFastLock(void) __ptr64
+?AcquireFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVICE::AcquireServiceLock(int) __ptr64
+?AcquireServiceLock@IIS_SERVICE@@QEAAXH@Z
+; private: static void __cdecl IIS_VROOT_TABLE::AddRefRecord(void const * __ptr64,int)
+?AddRefRecord@IIS_VROOT_TABLE@@CAXPEBXH@Z
+; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64)const  __ptr64
+?CalculateHash@HASH_TABLE@@UEBAKPEBD@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::CleanupAfterConstructorFailure(void) __ptr64
+?CleanupAfterConstructorFailure@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::DecrementCurrentConnections(void) __ptr64
+?DecrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: unsigned long __cdecl IIS_SERVICE::DelayCurrentServiceCtrlOperation(unsigned long) __ptr64
+?DelayCurrentServiceCtrlOperation@IIS_SERVICE@@QEAAKK@Z
+; public: virtual long __cdecl MIME_MAP_ENTRY::Dereference(void) __ptr64
+?Dereference@MIME_MAP_ENTRY@@UEAAJXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::DoServerNameCheck(void)const  __ptr64
+?DoServerNameCheck@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: virtual int __cdecl COMMON_METADATA::FinishPrivateProperties(class BUFFER * __ptr64,unsigned long,int) __ptr64
+?FinishPrivateProperties@COMMON_METADATA@@UEAAHPEAVBUFFER@@KH@Z
+; public: unsigned long __cdecl HASH_TABLE::FlushElements(void) __ptr64
+?FlushElements@HASH_TABLE@@QEAAKXZ
+; public: unsigned long __cdecl TSVC_CACHE::GetInstanceId(void)const  __ptr64
+?GetInstanceId@TSVC_CACHE@@QEBAKXZ
+; public: void __cdecl IIS_SERVICE::GetMDInstancePath(unsigned long,char * __ptr64) __ptr64
+?GetMDInstancePath@IIS_SERVICE@@QEAAXKPEAD@Z
+; public: void * __ptr64 __cdecl TSVC_CACHE::GetServerInstance(void)const  __ptr64
+?GetServerInstance@TSVC_CACHE@@QEBAPEAXXZ
+; private: virtual unsigned long __cdecl IIS_SERVICE::GetServiceConfigInfoSize(unsigned long) __ptr64
+?GetServiceConfigInfoSize@IIS_SERVICE@@EEAAKK@Z
+; public: unsigned long __cdecl TSVC_CACHE::GetServiceId(void)const  __ptr64
+?GetServiceId@TSVC_CACHE@@QEBAKXZ
+; public: class CACHED_TOKEN * __ptr64 __cdecl TCP_AUTHENT::GetToken(void)const  __ptr64
+?GetToken@TCP_AUTHENT@@QEBAPEAVCACHED_TOKEN@@XZ
+; public: class TSVC_CACHE & __ptr64 __cdecl IIS_SERVER_INSTANCE::GetTsvcCache(void) __ptr64
+?GetTsvcCache@IIS_SERVER_INSTANCE@@QEAAAEAVTSVC_CACHE@@XZ
+; public: void * __ptr64 __cdecl TCP_AUTHENT::GetUserHandle(void) __ptr64
+?GetUserHandle@TCP_AUTHENT@@QEAAPEAXXZ
+; public: virtual int __cdecl COMMON_METADATA::HandlePrivateProperty(char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,struct _METADATA_GETALL_INTERNAL_RECORD * __ptr64,void * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,struct _METADATA_ERROR_INFO * __ptr64) __ptr64
+?HandlePrivateProperty@COMMON_METADATA@@UEAAHPEADPEAVIIS_SERVER_INSTANCE@@PEAU_METADATA_GETALL_INTERNAL_RECORD@@PEAXPEAVBUFFER@@PEAKPEAU_METADATA_ERROR_INFO@@@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::HasNormalBindings(void)const  __ptr64
+?HasNormalBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::HasSecureBindings(void)const  __ptr64
+?HasSecureBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::IncrementCurrentConnections(void) __ptr64
+?IncrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: int __cdecl IIS_SERVICE::IsActive(void)const  __ptr64
+?IsActive@IIS_SERVICE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsAutoStart(void)const  __ptr64
+?IsAutoStart@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsClusterEnabled(void)const  __ptr64
+?IsClusterEnabled@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsDownLevelInstance(void)const  __ptr64
+?IsDownLevelInstance@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsLoggingEnabledA(void)const  __ptr64
+?IsLoggingEnabledA@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: virtual int __cdecl MIME_MAP_ENTRY::IsMatch(char const * __ptr64,unsigned long)const  __ptr64
+?IsMatch@MIME_MAP_ENTRY@@UEBAHPEBDK@Z
+; public: int __cdecl IIS_SERVICE::IsMultiInstance(void)const  __ptr64
+?IsMultiInstance@IIS_SERVICE@@QEBAHXZ
+; public: int __cdecl IIS_SERVICE::IsSystemDBCS(void)const  __ptr64
+?IsSystemDBCS@IIS_SERVICE@@QEBAHXZ
+; public: int __cdecl HASH_TABLE::IsValid(void)const  __ptr64
+?IsValid@HASH_TABLE@@QEBAHXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::IsValid(void)const  __ptr64
+?IsValid@TS_OPEN_FILE_INFO@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::LoadStr(class STR & __ptr64,unsigned long,int)const  __ptr64
+?LoadStr@IIS_SERVER_INSTANCE@@QEBAHAEAVSTR@@KH@Z
+; public: void __cdecl IIS_VROOT_TABLE::LockConvertExclusive(void) __ptr64
+?LockConvertExclusive@IIS_VROOT_TABLE@@QEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::LockExclusive(void) __ptr64
+?LockExclusive@IIS_VROOT_TABLE@@QEAAXXZ
+; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
+?LockExclusive@LOGGING@@AEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::LockShared(void) __ptr64
+?LockShared@IIS_VROOT_TABLE@@QEAAXXZ
+; private: void __cdecl LOGGING::LockShared(void) __ptr64
+?LockShared@LOGGING@@AEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForRead(void) __ptr64
+?LockThisForRead@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForWrite(void) __ptr64
+?LockThisForWrite@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVICE::LogEvent(unsigned long,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
+?LogEvent@IIS_SERVICE@@QEAAXKGQEAPEBDK@Z
+; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64) __ptr64
+?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBD@Z
+; public: void __cdecl MIME_MAP::Print(void) __ptr64
+?Print@MIME_MAP@@QEAAXXZ
+; public: virtual void __cdecl MIME_MAP_ENTRY::Print(void)const  __ptr64
+?Print@MIME_MAP_ENTRY@@UEBAXXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExOutstanding(void)const  __ptr64
+?QueryAcceptExOutstanding@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExTimeout(void)const  __ptr64
+?QueryAcceptExTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: virtual class IIS_SSL_INFO * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryAndReferenceSSLInfoObj(void) __ptr64
+?QueryAndReferenceSSLInfoObj@IIS_SERVER_INSTANCE@@UEAAPEAVIIS_SSL_INFO@@XZ
+; public: unsigned long __cdecl TS_OPEN_FILE_INFO::QueryAttributes(void)const  __ptr64
+?QueryAttributes@TS_OPEN_FILE_INFO@@QEBAKXZ
+; public: void * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryBandwidthInfo(void)const  __ptr64
+?QueryBandwidthInfo@IIS_SERVER_INSTANCE@@QEBAPEAXXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryConnectionTimeout(void)const  __ptr64
+?QueryConnectionTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCredHandle(void) __ptr64
+?QueryCredHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
+; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCtxtHandle(void) __ptr64
+?QueryCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryCurrentConnections(void)const  __ptr64
+?QueryCurrentConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceError(void)const  __ptr64
+?QueryCurrentServiceError@IIS_SERVICE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceState(void)const  __ptr64
+?QueryCurrentServiceState@IIS_SERVICE@@QEBAKXZ
+; public: unsigned short __cdecl IIS_SERVER_INSTANCE::QueryDefaultPort(void)const  __ptr64
+?QueryDefaultPort@IIS_SERVER_INSTANCE@@QEBAGXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryDownLevelInstance(void)const  __ptr64
+?QueryDownLevelInstance@IIS_SERVICE@@QEBAKXZ
+; public: char * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryETag(void)const  __ptr64
+?QueryETag@TS_OPEN_FILE_INFO@@QEBAPEADXZ
+; public: class EVENT_LOG * __ptr64 __cdecl IIS_SERVICE::QueryEventLog(void) __ptr64
+?QueryEventLog@IIS_SERVICE@@QEAAPEAVEVENT_LOG@@XZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryInstanceCount(void)const  __ptr64
+?QueryInstanceCount@IIS_SERVICE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryInstanceId(void)const  __ptr64
+?QueryInstanceId@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: virtual char const * __ptr64 __cdecl MIME_MAP_ENTRY::QueryKey(void)const  __ptr64
+?QueryKey@MIME_MAP_ENTRY@@UEBAPEBDXZ
+; public: virtual unsigned long __cdecl MIME_MAP_ENTRY::QueryKeyLen(void)const  __ptr64
+?QueryKeyLen@MIME_MAP_ENTRY@@UEBAKXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::QueryLastWriteTime(struct _FILETIME * __ptr64)const  __ptr64
+?QueryLastWriteTime@TS_OPEN_FILE_INFO@@QEBAHPEAU_FILETIME@@@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogAnonymous(void)const  __ptr64
+?QueryLogAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogNonAnonymous(void)const  __ptr64
+?QueryLogNonAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDPath(void)const  __ptr64
+?QueryMDPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryMDPath(void)const  __ptr64
+?QueryMDPath@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDPathLen(void)const  __ptr64
+?QueryMDPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDVRPath(void)const  __ptr64
+?QueryMDVRPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDVRPathLen(void)const  __ptr64
+?QueryMDVRPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxConnections(void)const  __ptr64
+?QueryMaxConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxEndpointConnections(void)const  __ptr64
+?QueryMaxEndpointConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: class MIME_MAP * __ptr64 __cdecl IIS_SERVICE::QueryMimeMap(void)const  __ptr64
+?QueryMimeMap@IIS_SERVICE@@QEBAPEAVMIME_MAP@@XZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryModuleName(void)const  __ptr64
+?QueryModuleName@IIS_SERVICE@@QEBAPEBDXZ
+; public: long * __ptr64 __cdecl RefBlob::QueryRefCount(void) __ptr64
+?QueryRefCount@RefBlob@@QEAAPEAJXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRegParamKey(void)const  __ptr64
+?QueryRegParamKey@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryRegParamKey(void)const  __ptr64
+?QueryRegParamKey@IIS_SERVICE@@QEBAPEBDXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRoot(void)const  __ptr64
+?QueryRoot@IIS_SERVER_INSTANCE@@QEBAPEADXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QuerySavedState(void)const  __ptr64
+?QuerySavedState@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerSize(void)const  __ptr64
+?QueryServerSize@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerState(void)const  __ptr64
+?QueryServerState@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceComment(void)const  __ptr64
+?QueryServiceComment@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryServiceId(void)const  __ptr64
+?QueryServiceId@IIS_SERVICE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceName(void)const  __ptr64
+?QueryServiceName@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryServiceSpecificExitCode(void)const  __ptr64
+?QueryServiceSpecificExitCode@IIS_SERVICE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryShutdownScheduleId(void)const  __ptr64
+?QueryShutdownScheduleId@IIS_SERVICE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QuerySiteName(void)const  __ptr64
+?QuerySiteName@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(union _LARGE_INTEGER & __ptr64)const  __ptr64
+?QuerySize@TS_OPEN_FILE_INFO@@QEBAHAEAT_LARGE_INTEGER@@@Z
+; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(unsigned long * __ptr64,unsigned long * __ptr64)const  __ptr64
+?QuerySize@TS_OPEN_FILE_INFO@@QEBAHPEAK0@Z
+; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QuerySslCtxtHandle(void) __ptr64
+?QuerySslCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
+; public: unsigned long __cdecl IIS_VROOT_TABLE::QueryVrootCount(void) __ptr64
+?QueryVrootCount@IIS_VROOT_TABLE@@QEAAKXZ
+; public: class IIS_VROOT_TABLE * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryVrootTable(void) __ptr64
+?QueryVrootTable@IIS_SERVER_INSTANCE@@QEAAPEAVIIS_VROOT_TABLE@@XZ
+; public: virtual long __cdecl MIME_MAP_ENTRY::Reference(void) __ptr64
+?Reference@MIME_MAP_ENTRY@@UEAAJXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::ReleaseFastLock(void) __ptr64
+?ReleaseFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVICE::ReleaseServiceLock(int) __ptr64
+?ReleaseServiceLock@IIS_SERVICE@@QEAAXH@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveNormalBindings(void) __ptr64
+?RemoveNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveSecureBindings(void) __ptr64
+?RemoveSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::RetrieveHttpInfo(char * __ptr64,int * __ptr64) __ptr64
+?RetrieveHttpInfo@TS_OPEN_FILE_INFO@@QEAAHPEADPEAH@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::SaveServerState(void) __ptr64
+?SaveServerState@IIS_SERVER_INSTANCE@@QEAAXXZ
+ServiceEntry
+; public: void __cdecl COMMON_METADATA::SetAccessPerms(unsigned long) __ptr64
+?SetAccessPerms@COMMON_METADATA@@QEAAXK@Z
+; public: void __cdecl TSVC_CACHE::SetParameters(unsigned long,unsigned long,void * __ptr64) __ptr64
+?SetParameters@TSVC_CACHE@@QEAAXKKPEAX@Z
+; public: void __cdecl IIS_SERVICE::SetServiceComment(char * __ptr64) __ptr64
+?SetServiceComment@IIS_SERVICE@@QEAAXPEAD@Z
+; public: void __cdecl IIS_SERVICE::SetServiceSpecificExitCode(unsigned long) __ptr64
+?SetServiceSpecificExitCode@IIS_SERVICE@@QEAAXK@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::SetZapRegKey(void) __ptr64
+?SetZapRegKey@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: virtual void __cdecl IIS_SERVICE::StopInstanceProcs(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?StopInstanceProcs@IIS_SERVICE@@UEAAXPEAVIIS_SERVER_INSTANCE@@@Z
+; public: void __cdecl IIS_VROOT_TABLE::Unlock(void) __ptr64
+?Unlock@IIS_VROOT_TABLE@@QEAAXXZ
+; private: void __cdecl LOGGING::Unlock(void) __ptr64
+?Unlock@LOGGING@@AEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::UnlockThis(void) __ptr64
+?UnlockThis@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateNormalBindings(void) __ptr64
+?UpdateNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateSecureBindings(void) __ptr64
+?UpdateSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::WeakETag(void)const  __ptr64
+?WeakETag@TS_OPEN_FILE_INFO@@QEBAHXZ
diff --git a/mingw-w64-crt/lib64/fwcfg.def b/mingw-w64-crt/lib64/fwcfg.def
index a423805..2cfe90a 100644
--- a/mingw-w64-crt/lib64/fwcfg.def
+++ b/mingw-w64-crt/lib64/fwcfg.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file FWCFG.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FWCFG.DLL
-EXPORTS
-GetResourceString
-InitHelperDll
+; 
+; Exports of file FWCFG.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FWCFG.DLL
+EXPORTS
+GetResourceString
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/fxsapi.def b/mingw-w64-crt/lib64/fxsapi.def
index bca71aa..28c566b 100644
--- a/mingw-w64-crt/lib64/fxsapi.def
+++ b/mingw-w64-crt/lib64/fxsapi.def
@@ -1,164 +1,164 @@
-; 
-; Exports of file FXSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSAPI.dll
-EXPORTS
-FXSAPIFree
-FXSAPIInitialize
-FaxAbort
-FaxAccessCheck
-FaxAccessCheckEx
-FaxAddOutboundGroupA
-FaxAddOutboundGroupW
-FaxAddOutboundRuleA
-FaxAddOutboundRuleW
-FaxAnswerCall
-FaxCheckValidFaxFolder
-FaxClose
-FaxCompleteJobParamsA
-FaxCompleteJobParamsW
-FaxConnectFaxServerA
-FaxConnectFaxServerW
-FaxEnableRoutingMethodA
-FaxEnableRoutingMethodW
-FaxEndMessagesEnum
-FaxEnumGlobalRoutingInfoA
-FaxEnumGlobalRoutingInfoW
-FaxEnumJobsA
-FaxEnumJobsExA
-FaxEnumJobsExW
-FaxEnumJobsW
-FaxEnumMessagesA
-FaxEnumMessagesW
-FaxEnumOutboundGroupsA
-FaxEnumOutboundGroupsW
-FaxEnumOutboundRulesA
-FaxEnumOutboundRulesW
-FaxEnumPortsA
-FaxEnumPortsExA
-FaxEnumPortsExW
-FaxEnumPortsW
-FaxEnumRoutingExtensionsA
-FaxEnumRoutingExtensionsW
-FaxEnumRoutingMethodsA
-FaxEnumRoutingMethodsW
-FaxEnumerateProvidersA
-FaxEnumerateProvidersW
-FaxFreeBuffer
-FaxFreeSenderInformation
-FaxGetActivityLoggingConfigurationA
-FaxGetActivityLoggingConfigurationW
-FaxGetArchiveConfigurationA
-FaxGetArchiveConfigurationW
-FaxGetConfigWizardUsed
-FaxGetConfigurationA
-FaxGetConfigurationW
-FaxGetCountryListA
-FaxGetCountryListW
-FaxGetDeviceStatusA
-FaxGetDeviceStatusW
-FaxGetExtensionDataA
-FaxGetExtensionDataW
-FaxGetJobA
-FaxGetJobExA
-FaxGetJobExW
-FaxGetJobW
-FaxGetLoggingCategoriesA
-FaxGetLoggingCategoriesW
-FaxGetMessageA
-FaxGetMessageTiffA
-FaxGetMessageTiffW
-FaxGetMessageW
-FaxGetOutboxConfiguration
-FaxGetPageData
-FaxGetPersonalCoverPagesOption
-FaxGetPortA
-FaxGetPortExA
-FaxGetPortExW
-FaxGetPortW
-FaxGetQueueStates
-FaxGetReceiptsConfigurationA
-FaxGetReceiptsConfigurationW
-FaxGetReceiptsOptions
-FaxGetRecipientInfoA
-FaxGetRecipientInfoW
-FaxGetRecipientsLimit
-FaxGetReportedServerAPIVersion
-FaxGetRoutingInfoA
-FaxGetRoutingInfoW
-FaxGetSecurity
-FaxGetSecurityEx
-FaxGetSenderInfoA
-FaxGetSenderInfoW
-FaxGetSenderInformation
-FaxGetServerActivity
-FaxGetServerSKU
-FaxGetServicePrintersA
-FaxGetServicePrintersW
-FaxGetVersion
-FaxInitializeEventQueue
-FaxOpenPort
-FaxPrintCoverPageA
-FaxPrintCoverPageW
-FaxRefreshArchive
-FaxRegisterForServerEvents
-FaxRegisterRoutingExtensionW
-FaxRegisterServiceProviderExA
-FaxRegisterServiceProviderExW
-FaxRelease
-FaxRemoveMessage
-FaxRemoveOutboundGroupA
-FaxRemoveOutboundGroupW
-FaxRemoveOutboundRule
-FaxSendDocumentA
-FaxSendDocumentExA
-FaxSendDocumentExW
-FaxSendDocumentForBroadcastA
-FaxSendDocumentForBroadcastW
-FaxSendDocumentW
-FaxSetActivityLoggingConfigurationA
-FaxSetActivityLoggingConfigurationW
-FaxSetArchiveConfigurationA
-FaxSetArchiveConfigurationW
-FaxSetConfigWizardUsed
-FaxSetConfigurationA
-FaxSetConfigurationW
-FaxSetDeviceOrderInGroupA
-FaxSetDeviceOrderInGroupW
-FaxSetExtensionDataA
-FaxSetExtensionDataW
-FaxSetGlobalRoutingInfoA
-FaxSetGlobalRoutingInfoW
-FaxSetJobA
-FaxSetJobW
-FaxSetLoggingCategoriesA
-FaxSetLoggingCategoriesW
-FaxSetOutboundGroupA
-FaxSetOutboundGroupW
-FaxSetOutboundRuleA
-FaxSetOutboundRuleW
-FaxSetOutboxConfiguration
-FaxSetPortA
-FaxSetPortExA
-FaxSetPortExW
-FaxSetPortW
-FaxSetQueue
-FaxSetReceiptsConfigurationA
-FaxSetReceiptsConfigurationW
-FaxSetRoutingInfoA
-FaxSetRoutingInfoW
-FaxSetSecurity
-FaxSetSenderInformation
-FaxStartMessagesEnum
-FaxStartPrintJob2W
-FaxStartPrintJobA
-FaxStartPrintJobW
-FaxUnregisterForServerEvents
-FaxUnregisterRoutingExtensionA
-FaxUnregisterRoutingExtensionW
-FaxUnregisterServiceProviderExA
-FaxUnregisterServiceProviderExW
-IsDeviceVirtual
+; 
+; Exports of file FXSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSAPI.dll
+EXPORTS
+FXSAPIFree
+FXSAPIInitialize
+FaxAbort
+FaxAccessCheck
+FaxAccessCheckEx
+FaxAddOutboundGroupA
+FaxAddOutboundGroupW
+FaxAddOutboundRuleA
+FaxAddOutboundRuleW
+FaxAnswerCall
+FaxCheckValidFaxFolder
+FaxClose
+FaxCompleteJobParamsA
+FaxCompleteJobParamsW
+FaxConnectFaxServerA
+FaxConnectFaxServerW
+FaxEnableRoutingMethodA
+FaxEnableRoutingMethodW
+FaxEndMessagesEnum
+FaxEnumGlobalRoutingInfoA
+FaxEnumGlobalRoutingInfoW
+FaxEnumJobsA
+FaxEnumJobsExA
+FaxEnumJobsExW
+FaxEnumJobsW
+FaxEnumMessagesA
+FaxEnumMessagesW
+FaxEnumOutboundGroupsA
+FaxEnumOutboundGroupsW
+FaxEnumOutboundRulesA
+FaxEnumOutboundRulesW
+FaxEnumPortsA
+FaxEnumPortsExA
+FaxEnumPortsExW
+FaxEnumPortsW
+FaxEnumRoutingExtensionsA
+FaxEnumRoutingExtensionsW
+FaxEnumRoutingMethodsA
+FaxEnumRoutingMethodsW
+FaxEnumerateProvidersA
+FaxEnumerateProvidersW
+FaxFreeBuffer
+FaxFreeSenderInformation
+FaxGetActivityLoggingConfigurationA
+FaxGetActivityLoggingConfigurationW
+FaxGetArchiveConfigurationA
+FaxGetArchiveConfigurationW
+FaxGetConfigWizardUsed
+FaxGetConfigurationA
+FaxGetConfigurationW
+FaxGetCountryListA
+FaxGetCountryListW
+FaxGetDeviceStatusA
+FaxGetDeviceStatusW
+FaxGetExtensionDataA
+FaxGetExtensionDataW
+FaxGetJobA
+FaxGetJobExA
+FaxGetJobExW
+FaxGetJobW
+FaxGetLoggingCategoriesA
+FaxGetLoggingCategoriesW
+FaxGetMessageA
+FaxGetMessageTiffA
+FaxGetMessageTiffW
+FaxGetMessageW
+FaxGetOutboxConfiguration
+FaxGetPageData
+FaxGetPersonalCoverPagesOption
+FaxGetPortA
+FaxGetPortExA
+FaxGetPortExW
+FaxGetPortW
+FaxGetQueueStates
+FaxGetReceiptsConfigurationA
+FaxGetReceiptsConfigurationW
+FaxGetReceiptsOptions
+FaxGetRecipientInfoA
+FaxGetRecipientInfoW
+FaxGetRecipientsLimit
+FaxGetReportedServerAPIVersion
+FaxGetRoutingInfoA
+FaxGetRoutingInfoW
+FaxGetSecurity
+FaxGetSecurityEx
+FaxGetSenderInfoA
+FaxGetSenderInfoW
+FaxGetSenderInformation
+FaxGetServerActivity
+FaxGetServerSKU
+FaxGetServicePrintersA
+FaxGetServicePrintersW
+FaxGetVersion
+FaxInitializeEventQueue
+FaxOpenPort
+FaxPrintCoverPageA
+FaxPrintCoverPageW
+FaxRefreshArchive
+FaxRegisterForServerEvents
+FaxRegisterRoutingExtensionW
+FaxRegisterServiceProviderExA
+FaxRegisterServiceProviderExW
+FaxRelease
+FaxRemoveMessage
+FaxRemoveOutboundGroupA
+FaxRemoveOutboundGroupW
+FaxRemoveOutboundRule
+FaxSendDocumentA
+FaxSendDocumentExA
+FaxSendDocumentExW
+FaxSendDocumentForBroadcastA
+FaxSendDocumentForBroadcastW
+FaxSendDocumentW
+FaxSetActivityLoggingConfigurationA
+FaxSetActivityLoggingConfigurationW
+FaxSetArchiveConfigurationA
+FaxSetArchiveConfigurationW
+FaxSetConfigWizardUsed
+FaxSetConfigurationA
+FaxSetConfigurationW
+FaxSetDeviceOrderInGroupA
+FaxSetDeviceOrderInGroupW
+FaxSetExtensionDataA
+FaxSetExtensionDataW
+FaxSetGlobalRoutingInfoA
+FaxSetGlobalRoutingInfoW
+FaxSetJobA
+FaxSetJobW
+FaxSetLoggingCategoriesA
+FaxSetLoggingCategoriesW
+FaxSetOutboundGroupA
+FaxSetOutboundGroupW
+FaxSetOutboundRuleA
+FaxSetOutboundRuleW
+FaxSetOutboxConfiguration
+FaxSetPortA
+FaxSetPortExA
+FaxSetPortExW
+FaxSetPortW
+FaxSetQueue
+FaxSetReceiptsConfigurationA
+FaxSetReceiptsConfigurationW
+FaxSetRoutingInfoA
+FaxSetRoutingInfoW
+FaxSetSecurity
+FaxSetSenderInformation
+FaxStartMessagesEnum
+FaxStartPrintJob2W
+FaxStartPrintJobA
+FaxStartPrintJobW
+FaxUnregisterForServerEvents
+FaxUnregisterRoutingExtensionA
+FaxUnregisterRoutingExtensionW
+FaxUnregisterServiceProviderExA
+FaxUnregisterServiceProviderExW
+IsDeviceVirtual
diff --git a/mingw-w64-crt/lib64/fxscfgwz.def b/mingw-w64-crt/lib64/fxscfgwz.def
index cdc3e81..de70406 100644
--- a/mingw-w64-crt/lib64/fxscfgwz.def
+++ b/mingw-w64-crt/lib64/fxscfgwz.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file FXSCFGWZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSCFGWZ.dll
-EXPORTS
-FaxCfgWzrdDllW
-FaxConfigWizard
+; 
+; Exports of file FXSCFGWZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSCFGWZ.dll
+EXPORTS
+FaxCfgWzrdDllW
+FaxConfigWizard
diff --git a/mingw-w64-crt/lib64/fxscom.def b/mingw-w64-crt/lib64/fxscom.def
index 3e4b579..83f35ee 100644
--- a/mingw-w64-crt/lib64/fxscom.def
+++ b/mingw-w64-crt/lib64/fxscom.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FxsCom.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FxsCom.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file FxsCom.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FxsCom.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/fxscomex.def b/mingw-w64-crt/lib64/fxscomex.def
index fcbfdf4..58139e9 100644
--- a/mingw-w64-crt/lib64/fxscomex.def
+++ b/mingw-w64-crt/lib64/fxscomex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FxsComEx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FxsComEx.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file FxsComEx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FxsComEx.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/fxsdrv.def b/mingw-w64-crt/lib64/fxsdrv.def
index 6acb460..23a1e6d 100644
--- a/mingw-w64-crt/lib64/fxsdrv.def
+++ b/mingw-w64-crt/lib64/fxsdrv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FxsDrv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FxsDrv.dll
-EXPORTS
-DllEntryPoint
-DrvDisableDriver
-DrvEnableDriver
-DrvQueryDriverInfo
+; 
+; Exports of file FxsDrv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FxsDrv.dll
+EXPORTS
+DllEntryPoint
+DrvDisableDriver
+DrvEnableDriver
+DrvQueryDriverInfo
diff --git a/mingw-w64-crt/lib64/fxsmon.def b/mingw-w64-crt/lib64/fxsmon.def
index ac0c080..27dc9a0 100644
--- a/mingw-w64-crt/lib64/fxsmon.def
+++ b/mingw-w64-crt/lib64/fxsmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file fxsmon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY fxsmon.dll
-EXPORTS
-InitializePrintMonitor
+; 
+; Exports of file fxsmon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY fxsmon.dll
+EXPORTS
+InitializePrintMonitor
diff --git a/mingw-w64-crt/lib64/fxsocm.def b/mingw-w64-crt/lib64/fxsocm.def
index fd6f3a1..39f6b19 100644
--- a/mingw-w64-crt/lib64/fxsocm.def
+++ b/mingw-w64-crt/lib64/fxsocm.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file FXSOCM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSOCM.dll
-EXPORTS
-FaxModemCoClassInstaller
-FaxOcmSetupProc
-SecureFaxServiceDirectories
-WhereDidMyFaxGo
-XP_UninstallProvider
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file FXSOCM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSOCM.dll
+EXPORTS
+FaxModemCoClassInstaller
+FaxOcmSetupProc
+SecureFaxServiceDirectories
+WhereDidMyFaxGo
+XP_UninstallProvider
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/fxsperf.def b/mingw-w64-crt/lib64/fxsperf.def
index 5bc2f32..a099e47 100644
--- a/mingw-w64-crt/lib64/fxsperf.def
+++ b/mingw-w64-crt/lib64/fxsperf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file FXSPERF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSPERF.dll
-EXPORTS
-OpenFaxPerformanceData
-CollectFaxPerformanceData
-CloseFaxPerformanceData
+; 
+; Exports of file FXSPERF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSPERF.dll
+EXPORTS
+OpenFaxPerformanceData
+CollectFaxPerformanceData
+CloseFaxPerformanceData
diff --git a/mingw-w64-crt/lib64/fxsroute.def b/mingw-w64-crt/lib64/fxsroute.def
index 8a13df8..e0cf3e2 100644
--- a/mingw-w64-crt/lib64/fxsroute.def
+++ b/mingw-w64-crt/lib64/fxsroute.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file FxsRoute.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FxsRoute.dll
-EXPORTS
-FaxRouteConfigure
-FaxRouteEmail
-FaxRoutePrint
-FaxRouteStore
-FaxExtInitializeConfig
-FaxRouteDeviceChangeNotification
-FaxRouteDeviceEnable
-FaxRouteGetRoutingInfo
-FaxRouteInitialize
-FaxRouteSetRoutingInfo
+; 
+; Exports of file FxsRoute.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FxsRoute.dll
+EXPORTS
+FaxRouteConfigure
+FaxRouteEmail
+FaxRoutePrint
+FaxRouteStore
+FaxExtInitializeConfig
+FaxRouteDeviceChangeNotification
+FaxRouteDeviceEnable
+FaxRouteGetRoutingInfo
+FaxRouteInitialize
+FaxRouteSetRoutingInfo
diff --git a/mingw-w64-crt/lib64/fxsst.def b/mingw-w64-crt/lib64/fxsst.def
index 3d6d70f..326e236 100644
--- a/mingw-w64-crt/lib64/fxsst.def
+++ b/mingw-w64-crt/lib64/fxsst.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file FXSST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSST.dll
-EXPORTS
-DllMain
-FaxMonitorShutdown
-IsFaxMessage
+; 
+; Exports of file FXSST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSST.dll
+EXPORTS
+DllMain
+FaxMonitorShutdown
+IsFaxMessage
diff --git a/mingw-w64-crt/lib64/fxst30.def b/mingw-w64-crt/lib64/fxst30.def
index 869532e..2ca81a9 100644
--- a/mingw-w64-crt/lib64/fxst30.def
+++ b/mingw-w64-crt/lib64/fxst30.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file FXST30.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXST30.dll
-EXPORTS
-FaxDevAbortOperation
-FaxDevEndJob
-FaxDevInitialize
-FaxDevReceive
-FaxDevReportStatus
-FaxDevSend
-FaxDevShutdown
-FaxDevStartJob
-FaxExtInitializeConfig
+; 
+; Exports of file FXST30.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXST30.dll
+EXPORTS
+FaxDevAbortOperation
+FaxDevEndJob
+FaxDevInitialize
+FaxDevReceive
+FaxDevReportStatus
+FaxDevSend
+FaxDevShutdown
+FaxDevStartJob
+FaxExtInitializeConfig
diff --git a/mingw-w64-crt/lib64/fxstiff.def b/mingw-w64-crt/lib64/fxstiff.def
index bb5315f..13202f1 100644
--- a/mingw-w64-crt/lib64/fxstiff.def
+++ b/mingw-w64-crt/lib64/fxstiff.def
@@ -1,44 +1,44 @@
-; 
-; Exports of file FXSTIFF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSTIFF.dll
-EXPORTS
-ConvMmrPageHiResToMrLoRes
-ConvMmrPageToMh
-ConvMmrPageToMrSameRes
-ConvertTiffFileToValidFaxFormat
-FXSTIFFInitialize
-FindNextEol
-FreeMsTagInfo
-GetMsTagDwordLong
-GetMsTagFileTime
-GetMsTagString
-GetW2kMsTiffTags
-MemoryMapTiffFile
-MergeTiffFiles
-MmrAddBranding
-PrintTiffFile
-ScanMhSegment
-ScanMrSegment
-TiffAddMsTags
-TiffClose
-TiffCreate
-TiffEndPage
-TiffExtractFirstPage
-TiffGetCurrentPageData
-TiffLimitTagNumber
-TiffOpen
-TiffPostProcessFast
-TiffPrint
-TiffPrintDC
-TiffRead
-TiffRecoverGoodPages
-TiffSeekToPage
-TiffSetCurrentPageParams
-TiffStartPage
-TiffUncompressMmrPage
-TiffUncompressMmrPageRaw
-TiffWriteRaw
+; 
+; Exports of file FXSTIFF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSTIFF.dll
+EXPORTS
+ConvMmrPageHiResToMrLoRes
+ConvMmrPageToMh
+ConvMmrPageToMrSameRes
+ConvertTiffFileToValidFaxFormat
+FXSTIFFInitialize
+FindNextEol
+FreeMsTagInfo
+GetMsTagDwordLong
+GetMsTagFileTime
+GetMsTagString
+GetW2kMsTiffTags
+MemoryMapTiffFile
+MergeTiffFiles
+MmrAddBranding
+PrintTiffFile
+ScanMhSegment
+ScanMrSegment
+TiffAddMsTags
+TiffClose
+TiffCreate
+TiffEndPage
+TiffExtractFirstPage
+TiffGetCurrentPageData
+TiffLimitTagNumber
+TiffOpen
+TiffPostProcessFast
+TiffPrint
+TiffPrintDC
+TiffRead
+TiffRecoverGoodPages
+TiffSeekToPage
+TiffSetCurrentPageParams
+TiffStartPage
+TiffUncompressMmrPage
+TiffUncompressMmrPageRaw
+TiffWriteRaw
diff --git a/mingw-w64-crt/lib64/fxsui.def b/mingw-w64-crt/lib64/fxsui.def
index 202b610..8cee3a0 100644
--- a/mingw-w64-crt/lib64/fxsui.def
+++ b/mingw-w64-crt/lib64/fxsui.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file fxsui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY fxsui.dll
-EXPORTS
-DevQueryPrintEx
-DrvAdvancedDocumentProperties
-DrvConvertDevMode
-DrvDeviceCapabilities
-DrvDevicePropertySheets
-DrvDocumentEvent
-DrvDocumentProperties
-DrvDocumentPropertySheets
-DrvPrinterEvent
-PrinterProperties
+; 
+; Exports of file fxsui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY fxsui.dll
+EXPORTS
+DevQueryPrintEx
+DrvAdvancedDocumentProperties
+DrvConvertDevMode
+DrvDeviceCapabilities
+DrvDevicePropertySheets
+DrvDocumentEvent
+DrvDocumentProperties
+DrvDocumentPropertySheets
+DrvPrinterEvent
+PrinterProperties
diff --git a/mingw-w64-crt/lib64/fxswzrd.def b/mingw-w64-crt/lib64/fxswzrd.def
index fb6f9d6..326d0f6 100644
--- a/mingw-w64-crt/lib64/fxswzrd.def
+++ b/mingw-w64-crt/lib64/fxswzrd.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file FXSWZRD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSWZRD.dll
-EXPORTS
-FaxFreeSendWizardData
-FaxSendWizard
+; 
+; Exports of file FXSWZRD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSWZRD.dll
+EXPORTS
+FaxFreeSendWizardData
+FaxSendWizard
diff --git a/mingw-w64-crt/lib64/gcdef.def b/mingw-w64-crt/lib64/gcdef.def
index 2d17d6f..902ecd4 100644
--- a/mingw-w64-crt/lib64/gcdef.def
+++ b/mingw-w64-crt/lib64/gcdef.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file GCDEF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GCDEF.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file GCDEF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GCDEF.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/gdi32.def b/mingw-w64-crt/lib64/gdi32.def
index 78421bf..9ba297d 100644
--- a/mingw-w64-crt/lib64/gdi32.def
+++ b/mingw-w64-crt/lib64/gdi32.def
@@ -1,617 +1,617 @@
-; 
-; Exports of file GDI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GDI32.dll
-EXPORTS
-AbortDoc
-AbortPath
-AddFontMemResourceEx
-AddFontResourceA
-AddFontResourceExA
-AddFontResourceExW
-AddFontResourceTracking
-AddFontResourceW
-AngleArc
-AnimatePalette
-AnyLinkedFonts
-Arc
-ArcTo
-BRUSHOBJ_hGetColorTransform
-BRUSHOBJ_pvAllocRbrush
-BRUSHOBJ_pvGetRbrush
-BRUSHOBJ_ulGetBrushColor
-BeginPath
-BitBlt
-CLIPOBJ_bEnum
-CLIPOBJ_cEnumStart
-CLIPOBJ_ppoGetPath
-CancelDC
-CheckColorsInGamut
-ChoosePixelFormat
-Chord
-ClearBitmapAttributes
-ClearBrushAttributes
-CloseEnhMetaFile
-CloseFigure
-CloseMetaFile
-ColorCorrectPalette
-ColorMatchToTarget
-CombineRgn
-CombineTransform
-CopyEnhMetaFileA
-CopyEnhMetaFileW
-CopyMetaFileA
-CopyMetaFileW
-CreateBitmap
-CreateBitmapIndirect
-CreateBrushIndirect
-CreateColorSpaceA
-CreateColorSpaceW
-CreateCompatibleBitmap
-CreateCompatibleDC
-CreateDCA
-CreateDCW
-CreateDIBPatternBrush
-CreateDIBPatternBrushPt
-CreateDIBSection
-CreateDIBitmap
-CreateDiscardableBitmap
-CreateEllipticRgn
-CreateEllipticRgnIndirect
-CreateEnhMetaFileA
-CreateEnhMetaFileW
-CreateFontA
-CreateFontIndirectA
-CreateFontIndirectExA
-CreateFontIndirectExW
-CreateFontIndirectW
-CreateFontW
-CreateHalftonePalette
-CreateHatchBrush
-CreateICA
-CreateICW
-CreateMetaFileA
-CreateMetaFileW
-CreatePalette
-CreatePatternBrush
-CreatePen
-CreatePenIndirect
-CreatePolyPolygonRgn
-CreatePolygonRgn
-CreateRectRgn
-CreateRectRgnIndirect
-CreateRoundRectRgn
-CreateScalableFontResourceA
-CreateScalableFontResourceW
-CreateSolidBrush
-DPtoLP
-DdEntry0
-DdEntry1
-DdEntry10
-DdEntry11
-DdEntry12
-DdEntry13
-DdEntry14
-DdEntry15
-DdEntry16
-DdEntry17
-DdEntry18
-DdEntry19
-DdEntry2
-DdEntry20
-DdEntry21
-DdEntry22
-DdEntry23
-DdEntry24
-DdEntry25
-DdEntry26
-DdEntry27
-DdEntry28
-DdEntry29
-DdEntry3
-DdEntry30
-DdEntry31
-DdEntry32
-DdEntry33
-DdEntry34
-DdEntry35
-DdEntry36
-DdEntry37
-DdEntry38
-DdEntry39
-DdEntry4
-DdEntry40
-DdEntry41
-DdEntry42
-DdEntry43
-DdEntry44
-DdEntry45
-DdEntry46
-DdEntry47
-DdEntry48
-DdEntry49
-DdEntry5
-DdEntry50
-DdEntry51
-DdEntry52
-DdEntry53
-DdEntry54
-DdEntry55
-DdEntry56
-DdEntry6
-DdEntry7
-DdEntry8
-DdEntry9
-DeleteColorSpace
-DeleteDC
-DeleteEnhMetaFile
-DeleteMetaFile
-DeleteObject
-DescribePixelFormat
-DeviceCapabilitiesExA
-DeviceCapabilitiesExW
-DrawEscape
-Ellipse
-EnableEUDC
-EndDoc
-EndFormPage
-EndPage
-EndPath
-EngAcquireSemaphore
-EngAlphaBlend
-EngAssociateSurface
-EngBitBlt
-EngCheckAbort
-EngComputeGlyphSet
-EngCopyBits
-EngCreateBitmap
-EngCreateClip
-EngCreateDeviceBitmap
-EngCreateDeviceSurface
-EngCreatePalette
-EngCreateSemaphore
-EngDeleteClip
-EngDeletePalette
-EngDeletePath
-EngDeleteSemaphore
-EngDeleteSurface
-EngEraseSurface
-EngFillPath
-EngFindResource
-EngFreeModule
-EngGetCurrentCodePage
-EngGetDriverName
-EngGetPrinterDataFileName
-EngGradientFill
-EngLineTo
-EngLoadModule
-EngLockSurface
-EngMarkBandingSurface
-EngMultiByteToUnicodeN
-EngMultiByteToWideChar
-EngPaint
-EngPlgBlt
-EngQueryEMFInfo
-EngQueryLocalTime
-EngReleaseSemaphore
-EngStretchBlt
-EngStretchBltROP
-EngStrokeAndFillPath
-EngStrokePath
-EngTextOut
-EngTransparentBlt
-EngUnicodeToMultiByteN
-EngUnlockSurface
-EngWideCharToMultiByte
-EnumEnhMetaFile
-EnumFontFamiliesA
-EnumFontFamiliesExA
-EnumFontFamiliesExW
-EnumFontFamiliesW
-EnumFontsA
-EnumFontsW
-EnumICMProfilesA
-EnumICMProfilesW
-EnumMetaFile
-EnumObjects
-EqualRgn
-Escape
-EudcLoadLinkW
-EudcUnloadLinkW
-ExcludeClipRect
-ExtCreatePen
-ExtCreateRegion
-ExtEscape
-ExtFloodFill
-ExtSelectClipRgn
-ExtTextOutA
-ExtTextOutW
-FONTOBJ_cGetAllGlyphHandles
-FONTOBJ_cGetGlyphs
-FONTOBJ_pQueryGlyphAttrs
-FONTOBJ_pfdg
-FONTOBJ_pifi
-FONTOBJ_pvTrueTypeFontFile
-FONTOBJ_pxoGetXform
-FONTOBJ_vGetInfo
-FillPath
-FillRgn
-FixBrushOrgEx
-FlattenPath
-FloodFill
-FontIsLinked
-FrameRgn
-GdiAddFontResourceW
-GdiAddGlsBounds
-GdiAddGlsRecord
-GdiAlphaBlend
-GdiArtificialDecrementDriver
-GdiCleanCacheDC
-GdiComment
-GdiConsoleTextOut
-GdiConvertAndCheckDC
-GdiConvertBitmap
-GdiConvertBitmapV5
-GdiConvertBrush
-GdiConvertDC
-GdiConvertEnhMetaFile
-GdiConvertFont
-GdiConvertMetaFilePict
-GdiConvertPalette
-GdiConvertRegion
-GdiConvertToDevmodeW
-GdiCreateLocalEnhMetaFile
-GdiCreateLocalMetaFilePict
-GdiDeleteLocalDC
-GdiDeleteSpoolFileHandle
-GdiDescribePixelFormat
-GdiDllInitialize
-GdiDrawStream
-GdiEndDocEMF
-GdiEndPageEMF
-GdiEntry1
-GdiEntry10
-GdiEntry11
-GdiEntry12
-GdiEntry13
-GdiEntry14
-GdiEntry15
-GdiEntry16
-GdiEntry2
-GdiEntry3
-GdiEntry4
-GdiEntry5
-GdiEntry6
-GdiEntry7
-GdiEntry8
-GdiEntry9
-GdiFixUpHandle
-GdiFlush
-GdiFullscreenControl
-GdiGetBatchLimit
-GdiGetCharDimensions
-GdiGetCodePage
-GdiGetDC
-GdiGetDevmodeForPage
-GdiGetLocalBrush
-GdiGetLocalDC
-GdiGetLocalFont
-GdiGetPageCount
-GdiGetPageHandle
-GdiGetSpoolFileHandle
-GdiGetSpoolMessage
-GdiGradientFill
-GdiInitSpool
-GdiInitializeLanguagePack
-GdiIsMetaFileDC
-GdiIsMetaPrintDC
-GdiIsPlayMetafileDC
-GdiPlayDCScript
-GdiPlayEMF
-GdiPlayJournal
-GdiPlayPageEMF
-GdiPlayPrivatePageEMF
-GdiPlayScript
-GdiPrinterThunk
-GdiProcessSetup
-GdiQueryFonts
-GdiQueryTable
-GdiRealizationInfo
-GdiReleaseDC
-GdiReleaseLocalDC
-GdiResetDCEMF
-GdiSetAttrs
-GdiSetBatchLimit
-GdiSetLastError
-GdiSetPixelFormat
-GdiSetServerAttr
-GdiStartDocEMF
-GdiStartPageEMF
-GdiSwapBuffers
-GdiTransparentBlt
-GdiValidateHandle
-GetArcDirection
-GetAspectRatioFilterEx
-GetBitmapAttributes
-GetBitmapBits
-GetBitmapDimensionEx
-GetBkColor
-GetBkMode
-GetBoundsRect
-GetBrushAttributes
-GetBrushOrgEx
-GetCharABCWidthsA
-GetCharABCWidthsFloatA
-GetCharABCWidthsFloatW
-GetCharABCWidthsI
-GetCharABCWidthsW
-GetCharWidth32A
-GetCharWidth32W
-GetCharWidthA
-GetCharWidthFloatA
-GetCharWidthFloatW
-GetCharWidthI
-GetCharWidthInfo
-GetCharWidthW
-GetCharacterPlacementA
-GetCharacterPlacementW
-GetClipBox
-GetClipRgn
-GetColorAdjustment
-GetColorSpace
-GetCurrentObject
-GetCurrentPositionEx
-GetDCBrushColor
-GetDCOrgEx
-GetDCPenColor
-GetDIBColorTable
-GetDIBits
-GetDeviceCaps
-GetDeviceGammaRamp
-GetETM
-GetEUDCTimeStamp
-GetEUDCTimeStampExW
-GetEnhMetaFileA
-GetEnhMetaFileBits
-GetEnhMetaFileDescriptionA
-GetEnhMetaFileDescriptionW
-GetEnhMetaFileHeader
-GetEnhMetaFilePaletteEntries
-GetEnhMetaFilePixelFormat
-GetEnhMetaFileW
-GetFontAssocStatus
-GetFontData
-GetFontLanguageInfo
-GetFontResourceInfoW
-GetFontUnicodeRanges
-GetGlyphIndicesA
-GetGlyphIndicesW
-GetGlyphOutline
-GetGlyphOutlineA
-GetGlyphOutlineW
-GetGlyphOutlineWow
-GetGraphicsMode
-GetHFONT
-GetICMProfileA
-GetICMProfileW
-GetKerningPairs
-GetKerningPairsA
-GetKerningPairsW
-GetLayout
-GetLogColorSpaceA
-GetLogColorSpaceW
-GetMapMode
-GetMetaFileA
-GetMetaFileBitsEx
-GetMetaFileW
-GetMetaRgn
-GetMiterLimit
-GetNearestColor
-GetNearestPaletteIndex
-GetObjectA
-GetObjectType
-GetObjectW
-GetOutlineTextMetricsA
-GetOutlineTextMetricsW
-GetPaletteEntries
-GetPath
-GetPixel
-GetPixelFormat
-GetPolyFillMode
-GetROP2
-GetRandomRgn
-GetRasterizerCaps
-GetRegionData
-GetRelAbs
-GetRgnBox
-GetStockObject
-GetStretchBltMode
-GetStringBitmapA
-GetStringBitmapW
-GetSystemPaletteEntries
-GetSystemPaletteUse
-GetTextAlign
-GetTextCharacterExtra
-GetTextCharset
-GetTextCharsetInfo
-GetTextColor
-GetTextExtentExPointA
-GetTextExtentExPointI
-GetTextExtentExPointW
-GetTextExtentExPointWPri
-GetTextExtentPoint32A
-GetTextExtentPoint32W
-GetTextExtentPointA
-GetTextExtentPointI
-GetTextExtentPointW
-GetTextFaceA
-GetTextFaceAliasW
-GetTextFaceW
-GetTextMetricsA
-GetTextMetricsW
-GetTransform
-GetViewportExtEx
-GetViewportOrgEx
-GetWinMetaFileBits
-GetWindowExtEx
-GetWindowOrgEx
-GetWorldTransform
-HT_Get8BPPFormatPalette
-HT_Get8BPPMaskPalette
-IntersectClipRect
-InvertRgn
-IsValidEnhMetaRecord
-IsValidEnhMetaRecordOffExt
-LPtoDP
-LineDDA
-LineTo
-MaskBlt
-MirrorRgn
-ModifyWorldTransform
-MoveToEx
-NamedEscape
-OffsetClipRgn
-OffsetRgn
-OffsetViewportOrgEx
-OffsetWindowOrgEx
-PATHOBJ_bEnum
-PATHOBJ_bEnumClipLines
-PATHOBJ_vEnumStart
-PATHOBJ_vEnumStartClipLines
-PATHOBJ_vGetBounds
-PaintRgn
-PatBlt
-PathToRegion
-Pie
-PlayEnhMetaFile
-PlayEnhMetaFileRecord
-PlayMetaFile
-PlayMetaFileRecord
-PlgBlt
-PolyBezier
-PolyBezierTo
-PolyDraw
-PolyPatBlt
-PolyPolygon
-PolyPolyline
-PolyTextOutA
-PolyTextOutW
-Polygon
-Polyline
-PolylineTo
-PtInRegion
-PtVisible
-QueryFontAssocStatus
-RealizePalette
-RectInRegion
-RectVisible
-Rectangle
-RemoveFontMemResourceEx
-RemoveFontResourceA
-RemoveFontResourceExA
-RemoveFontResourceExW
-RemoveFontResourceTracking
-RemoveFontResourceW
-ResetDCA
-ResetDCW
-ResizePalette
-RestoreDC
-RoundRect
-STROBJ_bEnum
-STROBJ_bEnumPositionsOnly
-STROBJ_bGetAdvanceWidths
-STROBJ_dwGetCodePage
-STROBJ_vEnumStart
-SaveDC
-ScaleViewportExtEx
-ScaleWindowExtEx
-SelectBrushLocal
-SelectClipPath
-SelectClipRgn
-SelectFontLocal
-SelectObject
-SelectPalette
-SetAbortProc
-SetArcDirection
-SetBitmapAttributes
-SetBitmapBits
-SetBitmapDimensionEx
-SetBkColor
-SetBkMode
-SetBoundsRect
-SetBrushAttributes
-SetBrushOrgEx
-SetColorAdjustment
-SetColorSpace
-SetDCBrushColor
-SetDCPenColor
-SetDIBColorTable
-SetDIBits
-SetDIBitsToDevice
-SetDeviceGammaRamp
-SetEnhMetaFileBits
-SetFontEnumeration
-SetGraphicsMode
-SetICMMode
-SetICMProfileA
-SetICMProfileW
-SetLayout
-SetLayoutWidth
-SetMagicColors
-SetMapMode
-SetMapperFlags
-SetMetaFileBitsEx
-SetMetaRgn
-SetMiterLimit
-SetPaletteEntries
-SetPixel
-SetPixelFormat
-SetPixelV
-SetPolyFillMode
-SetROP2
-SetRectRgn
-SetRelAbs
-SetStretchBltMode
-SetSystemPaletteUse
-SetTextAlign
-SetTextCharacterExtra
-SetTextColor
-SetTextJustification
-SetViewportExtEx
-SetViewportOrgEx
-SetVirtualResolution
-SetWinMetaFileBits
-SetWindowExtEx
-SetWindowOrgEx
-SetWorldTransform
-StartDocA
-StartDocW
-StartFormPage
-StartPage
-StretchBlt
-StretchDIBits
-StrokeAndFillPath
-StrokePath
-SwapBuffers
-TextOutA
-TextOutW
-TranslateCharsetInfo
-UnloadNetworkFonts
-UnrealizeObject
-UpdateColors
-UpdateICMRegKeyA
-UpdateICMRegKeyW
-WidenPath
-XFORMOBJ_bApplyXform
-XFORMOBJ_iGetXform
-XLATEOBJ_cGetPalette
-XLATEOBJ_hGetColorTransform
-XLATEOBJ_iXlate
-XLATEOBJ_piVector
-bInitSystemAndFontsDirectoriesW
-bMakePathNameW
-cGetTTFFromFOT
-gdiPlaySpoolStream
+; 
+; Exports of file GDI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GDI32.dll
+EXPORTS
+AbortDoc
+AbortPath
+AddFontMemResourceEx
+AddFontResourceA
+AddFontResourceExA
+AddFontResourceExW
+AddFontResourceTracking
+AddFontResourceW
+AngleArc
+AnimatePalette
+AnyLinkedFonts
+Arc
+ArcTo
+BRUSHOBJ_hGetColorTransform
+BRUSHOBJ_pvAllocRbrush
+BRUSHOBJ_pvGetRbrush
+BRUSHOBJ_ulGetBrushColor
+BeginPath
+BitBlt
+CLIPOBJ_bEnum
+CLIPOBJ_cEnumStart
+CLIPOBJ_ppoGetPath
+CancelDC
+CheckColorsInGamut
+ChoosePixelFormat
+Chord
+ClearBitmapAttributes
+ClearBrushAttributes
+CloseEnhMetaFile
+CloseFigure
+CloseMetaFile
+ColorCorrectPalette
+ColorMatchToTarget
+CombineRgn
+CombineTransform
+CopyEnhMetaFileA
+CopyEnhMetaFileW
+CopyMetaFileA
+CopyMetaFileW
+CreateBitmap
+CreateBitmapIndirect
+CreateBrushIndirect
+CreateColorSpaceA
+CreateColorSpaceW
+CreateCompatibleBitmap
+CreateCompatibleDC
+CreateDCA
+CreateDCW
+CreateDIBPatternBrush
+CreateDIBPatternBrushPt
+CreateDIBSection
+CreateDIBitmap
+CreateDiscardableBitmap
+CreateEllipticRgn
+CreateEllipticRgnIndirect
+CreateEnhMetaFileA
+CreateEnhMetaFileW
+CreateFontA
+CreateFontIndirectA
+CreateFontIndirectExA
+CreateFontIndirectExW
+CreateFontIndirectW
+CreateFontW
+CreateHalftonePalette
+CreateHatchBrush
+CreateICA
+CreateICW
+CreateMetaFileA
+CreateMetaFileW
+CreatePalette
+CreatePatternBrush
+CreatePen
+CreatePenIndirect
+CreatePolyPolygonRgn
+CreatePolygonRgn
+CreateRectRgn
+CreateRectRgnIndirect
+CreateRoundRectRgn
+CreateScalableFontResourceA
+CreateScalableFontResourceW
+CreateSolidBrush
+DPtoLP
+DdEntry0
+DdEntry1
+DdEntry10
+DdEntry11
+DdEntry12
+DdEntry13
+DdEntry14
+DdEntry15
+DdEntry16
+DdEntry17
+DdEntry18
+DdEntry19
+DdEntry2
+DdEntry20
+DdEntry21
+DdEntry22
+DdEntry23
+DdEntry24
+DdEntry25
+DdEntry26
+DdEntry27
+DdEntry28
+DdEntry29
+DdEntry3
+DdEntry30
+DdEntry31
+DdEntry32
+DdEntry33
+DdEntry34
+DdEntry35
+DdEntry36
+DdEntry37
+DdEntry38
+DdEntry39
+DdEntry4
+DdEntry40
+DdEntry41
+DdEntry42
+DdEntry43
+DdEntry44
+DdEntry45
+DdEntry46
+DdEntry47
+DdEntry48
+DdEntry49
+DdEntry5
+DdEntry50
+DdEntry51
+DdEntry52
+DdEntry53
+DdEntry54
+DdEntry55
+DdEntry56
+DdEntry6
+DdEntry7
+DdEntry8
+DdEntry9
+DeleteColorSpace
+DeleteDC
+DeleteEnhMetaFile
+DeleteMetaFile
+DeleteObject
+DescribePixelFormat
+DeviceCapabilitiesExA
+DeviceCapabilitiesExW
+DrawEscape
+Ellipse
+EnableEUDC
+EndDoc
+EndFormPage
+EndPage
+EndPath
+EngAcquireSemaphore
+EngAlphaBlend
+EngAssociateSurface
+EngBitBlt
+EngCheckAbort
+EngComputeGlyphSet
+EngCopyBits
+EngCreateBitmap
+EngCreateClip
+EngCreateDeviceBitmap
+EngCreateDeviceSurface
+EngCreatePalette
+EngCreateSemaphore
+EngDeleteClip
+EngDeletePalette
+EngDeletePath
+EngDeleteSemaphore
+EngDeleteSurface
+EngEraseSurface
+EngFillPath
+EngFindResource
+EngFreeModule
+EngGetCurrentCodePage
+EngGetDriverName
+EngGetPrinterDataFileName
+EngGradientFill
+EngLineTo
+EngLoadModule
+EngLockSurface
+EngMarkBandingSurface
+EngMultiByteToUnicodeN
+EngMultiByteToWideChar
+EngPaint
+EngPlgBlt
+EngQueryEMFInfo
+EngQueryLocalTime
+EngReleaseSemaphore
+EngStretchBlt
+EngStretchBltROP
+EngStrokeAndFillPath
+EngStrokePath
+EngTextOut
+EngTransparentBlt
+EngUnicodeToMultiByteN
+EngUnlockSurface
+EngWideCharToMultiByte
+EnumEnhMetaFile
+EnumFontFamiliesA
+EnumFontFamiliesExA
+EnumFontFamiliesExW
+EnumFontFamiliesW
+EnumFontsA
+EnumFontsW
+EnumICMProfilesA
+EnumICMProfilesW
+EnumMetaFile
+EnumObjects
+EqualRgn
+Escape
+EudcLoadLinkW
+EudcUnloadLinkW
+ExcludeClipRect
+ExtCreatePen
+ExtCreateRegion
+ExtEscape
+ExtFloodFill
+ExtSelectClipRgn
+ExtTextOutA
+ExtTextOutW
+FONTOBJ_cGetAllGlyphHandles
+FONTOBJ_cGetGlyphs
+FONTOBJ_pQueryGlyphAttrs
+FONTOBJ_pfdg
+FONTOBJ_pifi
+FONTOBJ_pvTrueTypeFontFile
+FONTOBJ_pxoGetXform
+FONTOBJ_vGetInfo
+FillPath
+FillRgn
+FixBrushOrgEx
+FlattenPath
+FloodFill
+FontIsLinked
+FrameRgn
+GdiAddFontResourceW
+GdiAddGlsBounds
+GdiAddGlsRecord
+GdiAlphaBlend
+GdiArtificialDecrementDriver
+GdiCleanCacheDC
+GdiComment
+GdiConsoleTextOut
+GdiConvertAndCheckDC
+GdiConvertBitmap
+GdiConvertBitmapV5
+GdiConvertBrush
+GdiConvertDC
+GdiConvertEnhMetaFile
+GdiConvertFont
+GdiConvertMetaFilePict
+GdiConvertPalette
+GdiConvertRegion
+GdiConvertToDevmodeW
+GdiCreateLocalEnhMetaFile
+GdiCreateLocalMetaFilePict
+GdiDeleteLocalDC
+GdiDeleteSpoolFileHandle
+GdiDescribePixelFormat
+GdiDllInitialize
+GdiDrawStream
+GdiEndDocEMF
+GdiEndPageEMF
+GdiEntry1
+GdiEntry10
+GdiEntry11
+GdiEntry12
+GdiEntry13
+GdiEntry14
+GdiEntry15
+GdiEntry16
+GdiEntry2
+GdiEntry3
+GdiEntry4
+GdiEntry5
+GdiEntry6
+GdiEntry7
+GdiEntry8
+GdiEntry9
+GdiFixUpHandle
+GdiFlush
+GdiFullscreenControl
+GdiGetBatchLimit
+GdiGetCharDimensions
+GdiGetCodePage
+GdiGetDC
+GdiGetDevmodeForPage
+GdiGetLocalBrush
+GdiGetLocalDC
+GdiGetLocalFont
+GdiGetPageCount
+GdiGetPageHandle
+GdiGetSpoolFileHandle
+GdiGetSpoolMessage
+GdiGradientFill
+GdiInitSpool
+GdiInitializeLanguagePack
+GdiIsMetaFileDC
+GdiIsMetaPrintDC
+GdiIsPlayMetafileDC
+GdiPlayDCScript
+GdiPlayEMF
+GdiPlayJournal
+GdiPlayPageEMF
+GdiPlayPrivatePageEMF
+GdiPlayScript
+GdiPrinterThunk
+GdiProcessSetup
+GdiQueryFonts
+GdiQueryTable
+GdiRealizationInfo
+GdiReleaseDC
+GdiReleaseLocalDC
+GdiResetDCEMF
+GdiSetAttrs
+GdiSetBatchLimit
+GdiSetLastError
+GdiSetPixelFormat
+GdiSetServerAttr
+GdiStartDocEMF
+GdiStartPageEMF
+GdiSwapBuffers
+GdiTransparentBlt
+GdiValidateHandle
+GetArcDirection
+GetAspectRatioFilterEx
+GetBitmapAttributes
+GetBitmapBits
+GetBitmapDimensionEx
+GetBkColor
+GetBkMode
+GetBoundsRect
+GetBrushAttributes
+GetBrushOrgEx
+GetCharABCWidthsA
+GetCharABCWidthsFloatA
+GetCharABCWidthsFloatW
+GetCharABCWidthsI
+GetCharABCWidthsW
+GetCharWidth32A
+GetCharWidth32W
+GetCharWidthA
+GetCharWidthFloatA
+GetCharWidthFloatW
+GetCharWidthI
+GetCharWidthInfo
+GetCharWidthW
+GetCharacterPlacementA
+GetCharacterPlacementW
+GetClipBox
+GetClipRgn
+GetColorAdjustment
+GetColorSpace
+GetCurrentObject
+GetCurrentPositionEx
+GetDCBrushColor
+GetDCOrgEx
+GetDCPenColor
+GetDIBColorTable
+GetDIBits
+GetDeviceCaps
+GetDeviceGammaRamp
+GetETM
+GetEUDCTimeStamp
+GetEUDCTimeStampExW
+GetEnhMetaFileA
+GetEnhMetaFileBits
+GetEnhMetaFileDescriptionA
+GetEnhMetaFileDescriptionW
+GetEnhMetaFileHeader
+GetEnhMetaFilePaletteEntries
+GetEnhMetaFilePixelFormat
+GetEnhMetaFileW
+GetFontAssocStatus
+GetFontData
+GetFontLanguageInfo
+GetFontResourceInfoW
+GetFontUnicodeRanges
+GetGlyphIndicesA
+GetGlyphIndicesW
+GetGlyphOutline
+GetGlyphOutlineA
+GetGlyphOutlineW
+GetGlyphOutlineWow
+GetGraphicsMode
+GetHFONT
+GetICMProfileA
+GetICMProfileW
+GetKerningPairs
+GetKerningPairsA
+GetKerningPairsW
+GetLayout
+GetLogColorSpaceA
+GetLogColorSpaceW
+GetMapMode
+GetMetaFileA
+GetMetaFileBitsEx
+GetMetaFileW
+GetMetaRgn
+GetMiterLimit
+GetNearestColor
+GetNearestPaletteIndex
+GetObjectA
+GetObjectType
+GetObjectW
+GetOutlineTextMetricsA
+GetOutlineTextMetricsW
+GetPaletteEntries
+GetPath
+GetPixel
+GetPixelFormat
+GetPolyFillMode
+GetROP2
+GetRandomRgn
+GetRasterizerCaps
+GetRegionData
+GetRelAbs
+GetRgnBox
+GetStockObject
+GetStretchBltMode
+GetStringBitmapA
+GetStringBitmapW
+GetSystemPaletteEntries
+GetSystemPaletteUse
+GetTextAlign
+GetTextCharacterExtra
+GetTextCharset
+GetTextCharsetInfo
+GetTextColor
+GetTextExtentExPointA
+GetTextExtentExPointI
+GetTextExtentExPointW
+GetTextExtentExPointWPri
+GetTextExtentPoint32A
+GetTextExtentPoint32W
+GetTextExtentPointA
+GetTextExtentPointI
+GetTextExtentPointW
+GetTextFaceA
+GetTextFaceAliasW
+GetTextFaceW
+GetTextMetricsA
+GetTextMetricsW
+GetTransform
+GetViewportExtEx
+GetViewportOrgEx
+GetWinMetaFileBits
+GetWindowExtEx
+GetWindowOrgEx
+GetWorldTransform
+HT_Get8BPPFormatPalette
+HT_Get8BPPMaskPalette
+IntersectClipRect
+InvertRgn
+IsValidEnhMetaRecord
+IsValidEnhMetaRecordOffExt
+LPtoDP
+LineDDA
+LineTo
+MaskBlt
+MirrorRgn
+ModifyWorldTransform
+MoveToEx
+NamedEscape
+OffsetClipRgn
+OffsetRgn
+OffsetViewportOrgEx
+OffsetWindowOrgEx
+PATHOBJ_bEnum
+PATHOBJ_bEnumClipLines
+PATHOBJ_vEnumStart
+PATHOBJ_vEnumStartClipLines
+PATHOBJ_vGetBounds
+PaintRgn
+PatBlt
+PathToRegion
+Pie
+PlayEnhMetaFile
+PlayEnhMetaFileRecord
+PlayMetaFile
+PlayMetaFileRecord
+PlgBlt
+PolyBezier
+PolyBezierTo
+PolyDraw
+PolyPatBlt
+PolyPolygon
+PolyPolyline
+PolyTextOutA
+PolyTextOutW
+Polygon
+Polyline
+PolylineTo
+PtInRegion
+PtVisible
+QueryFontAssocStatus
+RealizePalette
+RectInRegion
+RectVisible
+Rectangle
+RemoveFontMemResourceEx
+RemoveFontResourceA
+RemoveFontResourceExA
+RemoveFontResourceExW
+RemoveFontResourceTracking
+RemoveFontResourceW
+ResetDCA
+ResetDCW
+ResizePalette
+RestoreDC
+RoundRect
+STROBJ_bEnum
+STROBJ_bEnumPositionsOnly
+STROBJ_bGetAdvanceWidths
+STROBJ_dwGetCodePage
+STROBJ_vEnumStart
+SaveDC
+ScaleViewportExtEx
+ScaleWindowExtEx
+SelectBrushLocal
+SelectClipPath
+SelectClipRgn
+SelectFontLocal
+SelectObject
+SelectPalette
+SetAbortProc
+SetArcDirection
+SetBitmapAttributes
+SetBitmapBits
+SetBitmapDimensionEx
+SetBkColor
+SetBkMode
+SetBoundsRect
+SetBrushAttributes
+SetBrushOrgEx
+SetColorAdjustment
+SetColorSpace
+SetDCBrushColor
+SetDCPenColor
+SetDIBColorTable
+SetDIBits
+SetDIBitsToDevice
+SetDeviceGammaRamp
+SetEnhMetaFileBits
+SetFontEnumeration
+SetGraphicsMode
+SetICMMode
+SetICMProfileA
+SetICMProfileW
+SetLayout
+SetLayoutWidth
+SetMagicColors
+SetMapMode
+SetMapperFlags
+SetMetaFileBitsEx
+SetMetaRgn
+SetMiterLimit
+SetPaletteEntries
+SetPixel
+SetPixelFormat
+SetPixelV
+SetPolyFillMode
+SetROP2
+SetRectRgn
+SetRelAbs
+SetStretchBltMode
+SetSystemPaletteUse
+SetTextAlign
+SetTextCharacterExtra
+SetTextColor
+SetTextJustification
+SetViewportExtEx
+SetViewportOrgEx
+SetVirtualResolution
+SetWinMetaFileBits
+SetWindowExtEx
+SetWindowOrgEx
+SetWorldTransform
+StartDocA
+StartDocW
+StartFormPage
+StartPage
+StretchBlt
+StretchDIBits
+StrokeAndFillPath
+StrokePath
+SwapBuffers
+TextOutA
+TextOutW
+TranslateCharsetInfo
+UnloadNetworkFonts
+UnrealizeObject
+UpdateColors
+UpdateICMRegKeyA
+UpdateICMRegKeyW
+WidenPath
+XFORMOBJ_bApplyXform
+XFORMOBJ_iGetXform
+XLATEOBJ_cGetPalette
+XLATEOBJ_hGetColorTransform
+XLATEOBJ_iXlate
+XLATEOBJ_piVector
+bInitSystemAndFontsDirectoriesW
+bMakePathNameW
+cGetTTFFromFOT
+gdiPlaySpoolStream
diff --git a/mingw-w64-crt/lib64/getuname.def b/mingw-w64-crt/lib64/getuname.def
index f7419ba..070617e 100644
--- a/mingw-w64-crt/lib64/getuname.def
+++ b/mingw-w64-crt/lib64/getuname.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file GetUName.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GetUName.dll
-EXPORTS
-GetUName
+; 
+; Exports of file GetUName.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GetUName.dll
+EXPORTS
+GetUName
diff --git a/mingw-w64-crt/lib64/glmf32.def b/mingw-w64-crt/lib64/glmf32.def
index 8810cf0..7a3f9d1 100644
--- a/mingw-w64-crt/lib64/glmf32.def
+++ b/mingw-w64-crt/lib64/glmf32.def
@@ -1,142 +1,142 @@
-; 
-; Exports of file GLMF32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GLMF32.dll
-EXPORTS
-__glsParser_create
-__glsParser_print
-__glsString_appendChar
-__glsString_assign
-__glsString_init
-glsAbortCall
-glsAppRef
-glsBeginCapture
-glsBeginGLS
-glsBeginObj
-glsBinary
-glsBlock
-glsCallArray
-glsCallArrayInContext
-glsCallStream
-glsCaptureFlags
-glsCaptureFunc
-glsChannel
-glsCharubz
-glsCommandAPI
-glsCommandFunc
-glsCommandString
-glsComment
-glsContext
-glsCopyStream
-glsDataPointer
-glsDeleteContext
-glsDeleteReadPrefix
-glsDeleteStream
-glsDisplayMapfv
-glsEndCapture
-glsEndGLS
-glsEndObj
-glsEnumString
-glsError
-glsFlush
-glsGLRC
-glsGLRCLayer
-glsGenContext
-glsGetAllContexts
-glsGetCaptureDispatchTable
-glsGetCaptureExecTable
-glsGetCaptureFlags
-glsGetCommandAlignment
-glsGetCommandAttrib
-glsGetCommandFunc
-glsGetConsti
-glsGetConstiv
-glsGetConstubz
-glsGetContextFunc
-glsGetContextListl
-glsGetContextListubz
-glsGetContextPointer
-glsGetContexti
-glsGetContextubz
-glsGetCurrentContext
-glsGetCurrentTime
-glsGetError
-glsGetGLRCi
-glsGetHeaderf
-glsGetHeaderfv
-glsGetHeaderi
-glsGetHeaderiv
-glsGetHeaderubz
-glsGetLayerf
-glsGetLayeri
-glsGetOpcodeCount
-glsGetOpcodes
-glsGetStreamAttrib
-glsGetStreamCRC32
-glsGetStreamReadName
-glsGetStreamSize
-glsGetStreamType
-glsHeaderGLRCi
-glsHeaderLayerf
-glsHeaderLayeri
-glsHeaderf
-glsHeaderfv
-glsHeaderi
-glsHeaderiv
-glsHeaderubz
-glsIsContext
-glsIsContextStream
-glsIsExtensionSupported
-glsIsUTF8String
-glsLong
-glsLongHigh
-glsLongLow
-glsNullCommandFunc
-glsNumb
-glsNumbv
-glsNumd
-glsNumdv
-glsNumf
-glsNumfv
-glsNumi
-glsNumiv
-glsNuml
-glsNumlv
-glsNums
-glsNumsv
-glsNumub
-glsNumubv
-glsNumui
-glsNumuiv
-glsNumul
-glsNumulv
-glsNumus
-glsNumusv
-glsPad
-glsPixelSetup
-glsPixelSetupGen
-glsReadFunc
-glsReadPrefix
-glsRequireExtension
-glsSwapBuffers
-glsUCS1toUTF8z
-glsUCS2toUTF8z
-glsUCS4toUTF8
-glsUCS4toUTF8z
-glsUCStoUTF8z
-glsULong
-glsULongHigh
-glsULongLow
-glsUTF8toUCS1z
-glsUTF8toUCS2z
-glsUTF8toUCS4
-glsUTF8toUCS4z
-glsUTF8toUCSz
-glsUnreadFunc
-glsUnsupportedCommand
-glsUpdateCaptureExecTable
-glsWriteFunc
-glsWritePrefix
+; 
+; Exports of file GLMF32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GLMF32.dll
+EXPORTS
+__glsParser_create
+__glsParser_print
+__glsString_appendChar
+__glsString_assign
+__glsString_init
+glsAbortCall
+glsAppRef
+glsBeginCapture
+glsBeginGLS
+glsBeginObj
+glsBinary
+glsBlock
+glsCallArray
+glsCallArrayInContext
+glsCallStream
+glsCaptureFlags
+glsCaptureFunc
+glsChannel
+glsCharubz
+glsCommandAPI
+glsCommandFunc
+glsCommandString
+glsComment
+glsContext
+glsCopyStream
+glsDataPointer
+glsDeleteContext
+glsDeleteReadPrefix
+glsDeleteStream
+glsDisplayMapfv
+glsEndCapture
+glsEndGLS
+glsEndObj
+glsEnumString
+glsError
+glsFlush
+glsGLRC
+glsGLRCLayer
+glsGenContext
+glsGetAllContexts
+glsGetCaptureDispatchTable
+glsGetCaptureExecTable
+glsGetCaptureFlags
+glsGetCommandAlignment
+glsGetCommandAttrib
+glsGetCommandFunc
+glsGetConsti
+glsGetConstiv
+glsGetConstubz
+glsGetContextFunc
+glsGetContextListl
+glsGetContextListubz
+glsGetContextPointer
+glsGetContexti
+glsGetContextubz
+glsGetCurrentContext
+glsGetCurrentTime
+glsGetError
+glsGetGLRCi
+glsGetHeaderf
+glsGetHeaderfv
+glsGetHeaderi
+glsGetHeaderiv
+glsGetHeaderubz
+glsGetLayerf
+glsGetLayeri
+glsGetOpcodeCount
+glsGetOpcodes
+glsGetStreamAttrib
+glsGetStreamCRC32
+glsGetStreamReadName
+glsGetStreamSize
+glsGetStreamType
+glsHeaderGLRCi
+glsHeaderLayerf
+glsHeaderLayeri
+glsHeaderf
+glsHeaderfv
+glsHeaderi
+glsHeaderiv
+glsHeaderubz
+glsIsContext
+glsIsContextStream
+glsIsExtensionSupported
+glsIsUTF8String
+glsLong
+glsLongHigh
+glsLongLow
+glsNullCommandFunc
+glsNumb
+glsNumbv
+glsNumd
+glsNumdv
+glsNumf
+glsNumfv
+glsNumi
+glsNumiv
+glsNuml
+glsNumlv
+glsNums
+glsNumsv
+glsNumub
+glsNumubv
+glsNumui
+glsNumuiv
+glsNumul
+glsNumulv
+glsNumus
+glsNumusv
+glsPad
+glsPixelSetup
+glsPixelSetupGen
+glsReadFunc
+glsReadPrefix
+glsRequireExtension
+glsSwapBuffers
+glsUCS1toUTF8z
+glsUCS2toUTF8z
+glsUCS4toUTF8
+glsUCS4toUTF8z
+glsUCStoUTF8z
+glsULong
+glsULongHigh
+glsULongLow
+glsUTF8toUCS1z
+glsUTF8toUCS2z
+glsUTF8toUCS4
+glsUTF8toUCS4z
+glsUTF8toUCSz
+glsUnreadFunc
+glsUnsupportedCommand
+glsUpdateCaptureExecTable
+glsWriteFunc
+glsWritePrefix
diff --git a/mingw-w64-crt/lib64/glu32.def b/mingw-w64-crt/lib64/glu32.def
index 47f589c..690469d 100644
--- a/mingw-w64-crt/lib64/glu32.def
+++ b/mingw-w64-crt/lib64/glu32.def
@@ -1,60 +1,60 @@
-; 
-; Exports of file GLU32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GLU32.dll
-EXPORTS
-gluBeginCurve
-gluBeginPolygon
-gluBeginSurface
-gluBeginTrim
-gluBuild1DMipmaps
-gluBuild2DMipmaps
-gluCylinder
-gluDeleteNurbsRenderer
-gluDeleteQuadric
-gluDeleteTess
-gluDisk
-gluEndCurve
-gluEndPolygon
-gluEndSurface
-gluEndTrim
-gluErrorString
-gluErrorUnicodeStringEXT
-gluGetNurbsProperty
-gluGetString
-gluGetTessProperty
-gluLoadSamplingMatrices
-gluLookAt
-gluNewNurbsRenderer
-gluNewQuadric
-gluNewTess
-gluNextContour
-gluNurbsCallback
-gluNurbsCurve
-gluNurbsProperty
-gluNurbsSurface
-gluOrtho2D
-gluPartialDisk
-gluPerspective
-gluPickMatrix
-gluProject
-gluPwlCurve
-gluQuadricCallback
-gluQuadricDrawStyle
-gluQuadricNormals
-gluQuadricOrientation
-gluQuadricTexture
-gluScaleImage
-gluSphere
-gluTessBeginContour
-gluTessBeginPolygon
-gluTessCallback
-gluTessEndContour
-gluTessEndPolygon
-gluTessNormal
-gluTessProperty
-gluTessVertex
-gluUnProject
+; 
+; Exports of file GLU32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GLU32.dll
+EXPORTS
+gluBeginCurve
+gluBeginPolygon
+gluBeginSurface
+gluBeginTrim
+gluBuild1DMipmaps
+gluBuild2DMipmaps
+gluCylinder
+gluDeleteNurbsRenderer
+gluDeleteQuadric
+gluDeleteTess
+gluDisk
+gluEndCurve
+gluEndPolygon
+gluEndSurface
+gluEndTrim
+gluErrorString
+gluErrorUnicodeStringEXT
+gluGetNurbsProperty
+gluGetString
+gluGetTessProperty
+gluLoadSamplingMatrices
+gluLookAt
+gluNewNurbsRenderer
+gluNewQuadric
+gluNewTess
+gluNextContour
+gluNurbsCallback
+gluNurbsCurve
+gluNurbsProperty
+gluNurbsSurface
+gluOrtho2D
+gluPartialDisk
+gluPerspective
+gluPickMatrix
+gluProject
+gluPwlCurve
+gluQuadricCallback
+gluQuadricDrawStyle
+gluQuadricNormals
+gluQuadricOrientation
+gluQuadricTexture
+gluScaleImage
+gluSphere
+gluTessBeginContour
+gluTessBeginPolygon
+gluTessCallback
+gluTessEndContour
+gluTessEndPolygon
+gluTessNormal
+gluTessProperty
+gluTessVertex
+gluUnProject
diff --git a/mingw-w64-crt/lib64/gpedit.def b/mingw-w64-crt/lib64/gpedit.def
index 31053a3..8b4c674 100644
--- a/mingw-w64-crt/lib64/gpedit.def
+++ b/mingw-w64-crt/lib64/gpedit.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file GPEDIT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GPEDIT.DLL
-EXPORTS
-BrowseForGPO
-CreateGPOLink
-DeleteAllGPOLinks
-DeleteGPOLink
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-ExportRSoPData
-ImportRSoPData
+; 
+; Exports of file GPEDIT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GPEDIT.DLL
+EXPORTS
+BrowseForGPO
+CreateGPOLink
+DeleteAllGPOLinks
+DeleteGPOLink
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+ExportRSoPData
+ImportRSoPData
diff --git a/mingw-w64-crt/lib64/gpkcsp.def b/mingw-w64-crt/lib64/gpkcsp.def
index ae7ea42..a88245a 100644
--- a/mingw-w64-crt/lib64/gpkcsp.def
+++ b/mingw-w64-crt/lib64/gpkcsp.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file GPKCSP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GPKCSP.dll
-EXPORTS
-CPAcquireContext
-CPCreateHash
-CPDecrypt
-CPDeriveKey
-CPDestroyHash
-CPDestroyKey
-CPEncrypt
-CPExportKey
-CPGenKey
-CPGenRandom
-CPGetHashParam
-CPGetKeyParam
-CPGetProvParam
-CPGetUserKey
-CPHashData
-CPHashSessionKey
-CPImportKey
-CPReleaseContext
-CPSetHashParam
-CPSetKeyParam
-CPSetProvParam
-CPSignHash
-CPVerifySignature
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file GPKCSP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GPKCSP.dll
+EXPORTS
+CPAcquireContext
+CPCreateHash
+CPDecrypt
+CPDeriveKey
+CPDestroyHash
+CPDestroyKey
+CPEncrypt
+CPExportKey
+CPGenKey
+CPGenRandom
+CPGetHashParam
+CPGetKeyParam
+CPGetProvParam
+CPGetUserKey
+CPHashData
+CPHashSessionKey
+CPImportKey
+CPReleaseContext
+CPSetHashParam
+CPSetKeyParam
+CPSetProvParam
+CPSignHash
+CPVerifySignature
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/gptext.def b/mingw-w64-crt/lib64/gptext.def
index 50a31e0..4a5bc20 100644
--- a/mingw-w64-crt/lib64/gptext.def
+++ b/mingw-w64-crt/lib64/gptext.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file GPTEXT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GPTEXT.DLL
-EXPORTS
-GenerateIPSECPolicy
-GenerateScriptsGroupPolicy
-GenerateWIRELESSPolicy
-ProcessIPSECPolicyEx
-ProcessPSCHEDPolicy
-ProcessScriptsGroupPolicy
-ProcessScriptsGroupPolicyEx
-ProcessWIRELESSPolicyEx
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-ScrRegGPOListToWbem
+; 
+; Exports of file GPTEXT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GPTEXT.DLL
+EXPORTS
+GenerateIPSECPolicy
+GenerateScriptsGroupPolicy
+GenerateWIRELESSPolicy
+ProcessIPSECPolicyEx
+ProcessPSCHEDPolicy
+ProcessScriptsGroupPolicy
+ProcessScriptsGroupPolicyEx
+ProcessWIRELESSPolicyEx
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+ScrRegGPOListToWbem
diff --git a/mingw-w64-crt/lib64/guitrn.def b/mingw-w64-crt/lib64/guitrn.def
index 08a5532..5c8a805 100644
--- a/mingw-w64-crt/lib64/guitrn.def
+++ b/mingw-w64-crt/lib64/guitrn.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file GUITRN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GUITRN.dll
-EXPORTS
-DllMain
-ModuleInitialize
-ModuleTerminate
-TransportModule
+; 
+; Exports of file GUITRN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GUITRN.dll
+EXPORTS
+DllMain
+ModuleInitialize
+ModuleTerminate
+TransportModule
diff --git a/mingw-w64-crt/lib64/gzip.def b/mingw-w64-crt/lib64/gzip.def
index 95aaa57..3e6f80d 100644
--- a/mingw-w64-crt/lib64/gzip.def
+++ b/mingw-w64-crt/lib64/gzip.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file gzip.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY gzip.dll
-EXPORTS
-Compress
-CreateCompression
-DeInitCompression
-DestroyCompression
-InitCompression
-ResetCompression
+; 
+; Exports of file gzip.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY gzip.dll
+EXPORTS
+Compress
+CreateCompression
+DeInitCompression
+DestroyCompression
+InitCompression
+ResetCompression
diff --git a/mingw-w64-crt/lib64/h323msp.def b/mingw-w64-crt/lib64/h323msp.def
index 92117f0..79ca79e 100644
--- a/mingw-w64-crt/lib64/h323msp.def
+++ b/mingw-w64-crt/lib64/h323msp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file h323msp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY h323msp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file h323msp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY h323msp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/hal.def b/mingw-w64-crt/lib64/hal.def
index ed08c49..7409fef 100644
--- a/mingw-w64-crt/lib64/hal.def
+++ b/mingw-w64-crt/lib64/hal.def
@@ -1,70 +1,70 @@
-;
-; Definition file of HAL.dll
-; Automatic generated by gendef
-; written by Kai Tietz 2008
-;
-LIBRARY "HAL.dll"
-EXPORTS
-HalAcquireDisplayOwnership
-HalAdjustResourceList
-HalAllProcessorsStarted
-HalAllocateAdapterChannel
-HalAllocateCommonBuffer
-HalAllocateCrashDumpRegisters
-HalAssignSlotResources
-HalCalibratePerformanceCounter
-HalCallBios
-HalClearSoftwareInterrupt
-HalDisableSystemInterrupt
-HalDisplayString
-HalEnableSystemInterrupt
-HalFlushCommonBuffer
-HalFreeCommonBuffer
-HalGetAdapter
-HalGetBusData
-HalGetBusDataByOffset
-HalGetEnvironmentVariable
-HalGetInterruptVector
-HalHandleMcheck
-HalHandleNMI
-HalInitSystem
-HalInitializeProcessor
-HalIsHyperThreadingEnabled
-HalMakeBeep
-HalProcessorIdle
-HalQueryDisplayParameters
-HalQueryRealTimeClock
-HalReadDmaCounter
-HalReportResourceUsage
-HalRequestIpi
-HalRequestSoftwareInterrupt
-HalReturnToFirmware
-HalSendNMI
-HalSendSoftwareInterrupt
-HalSetBusData
-HalSetBusDataByOffset
-HalSetDisplayParameters
-HalSetEnvironmentVariable
-HalSetProfileInterval
-HalSetRealTimeClock
-HalSetTimeIncrement
-HalStartNextProcessor
-HalStartProfileInterrupt
-HalStopProfileInterrupt
-HalSystemVectorDispatchEntry
-HalTranslateBusAddress
-IoAssignDriveLetters
-IoFlushAdapterBuffers
-IoFreeAdapterChannel
-IoFreeMapRegisters
-IoMapTransfer
-IoReadPartitionTable
-IoSetPartitionInformation
-IoWritePartitionTable
-KdComPortInUse DATA
-KeFlushWriteBuffer
-KeQueryPerformanceCounter
-KeStallExecutionProcessor
-x86BiosExecuteInterrupt
-x86BiosInitializeBiosEx
-x86BiosTranslateAddress
+;
+; Definition file of HAL.dll
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "HAL.dll"
+EXPORTS
+HalAcquireDisplayOwnership
+HalAdjustResourceList
+HalAllProcessorsStarted
+HalAllocateAdapterChannel
+HalAllocateCommonBuffer
+HalAllocateCrashDumpRegisters
+HalAssignSlotResources
+HalCalibratePerformanceCounter
+HalCallBios
+HalClearSoftwareInterrupt
+HalDisableSystemInterrupt
+HalDisplayString
+HalEnableSystemInterrupt
+HalFlushCommonBuffer
+HalFreeCommonBuffer
+HalGetAdapter
+HalGetBusData
+HalGetBusDataByOffset
+HalGetEnvironmentVariable
+HalGetInterruptVector
+HalHandleMcheck
+HalHandleNMI
+HalInitSystem
+HalInitializeProcessor
+HalIsHyperThreadingEnabled
+HalMakeBeep
+HalProcessorIdle
+HalQueryDisplayParameters
+HalQueryRealTimeClock
+HalReadDmaCounter
+HalReportResourceUsage
+HalRequestIpi
+HalRequestSoftwareInterrupt
+HalReturnToFirmware
+HalSendNMI
+HalSendSoftwareInterrupt
+HalSetBusData
+HalSetBusDataByOffset
+HalSetDisplayParameters
+HalSetEnvironmentVariable
+HalSetProfileInterval
+HalSetRealTimeClock
+HalSetTimeIncrement
+HalStartNextProcessor
+HalStartProfileInterrupt
+HalStopProfileInterrupt
+HalSystemVectorDispatchEntry
+HalTranslateBusAddress
+IoAssignDriveLetters
+IoFlushAdapterBuffers
+IoFreeAdapterChannel
+IoFreeMapRegisters
+IoMapTransfer
+IoReadPartitionTable
+IoSetPartitionInformation
+IoWritePartitionTable
+KdComPortInUse DATA
+KeFlushWriteBuffer
+KeQueryPerformanceCounter
+KeStallExecutionProcessor
+x86BiosExecuteInterrupt
+x86BiosInitializeBiosEx
+x86BiosTranslateAddress
diff --git a/mingw-w64-crt/lib64/hbaapi.def b/mingw-w64-crt/lib64/hbaapi.def
index 193ed61..85a9db5 100644
--- a/mingw-w64-crt/lib64/hbaapi.def
+++ b/mingw-w64-crt/lib64/hbaapi.def
@@ -1,65 +1,65 @@
-; 
-; Exports of file HBAAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HBAAPI.dll
-EXPORTS
-HBA_CloseAdapter
-HBA_FreeLibrary
-HBA_GetAdapterAttributes
-HBA_GetAdapterName
-HBA_GetAdapterPortAttributes
-HBA_GetBindingCapability
-HBA_GetBindingSupport
-HBA_GetDiscoveredPortAttributes
-HBA_GetEventBuffer
-HBA_GetFC4Statistics
-HBA_GetFCPStatistics
-HBA_GetFcpPersistentBinding
-HBA_GetFcpTargetMapping
-HBA_GetFcpTargetMappingV2
-HBA_GetNumberOfAdapters
-HBA_GetPersistentBindingV2
-HBA_GetPortAttributesByWWN
-HBA_GetPortStatistics
-HBA_GetRNIDMgmtInfo
-HBA_GetVendorLibraryAttributes
-HBA_GetVersion
-HBA_GetWrapperLibraryAttributes
-HBA_LoadLibrary
-HBA_OpenAdapter
-HBA_OpenAdapterByWWN
-HBA_RefreshAdapterConfiguration
-HBA_RefreshInformation
-HBA_RegisterForAdapterAddEvents
-HBA_RegisterForAdapterEvents
-HBA_RegisterForAdapterPortEvents
-HBA_RegisterForAdapterPortStatEvents
-HBA_RegisterForLinkEvents
-HBA_RegisterForTargetEvents
-HBA_RegisterLibrary
-HBA_RegisterLibraryV2
-HBA_RemoveAllPersistentBindings
-HBA_RemoveCallback
-HBA_RemovePersistentBinding
-HBA_ResetStatistics
-HBA_ScsiInquiryV2
-HBA_ScsiReadCapacityV2
-HBA_ScsiReportLUNsV2
-HBA_SendCTPassThru
-HBA_SendCTPassThruV2
-HBA_SendLIRR
-HBA_SendRLS
-HBA_SendRNID
-HBA_SendRNIDV2
-HBA_SendRPL
-HBA_SendRPS
-HBA_SendReadCapacity
-HBA_SendReportLUNs
-HBA_SendSRL
-HBA_SendScsiInquiry
-HBA_SetBindingSupport
-HBA_SetPersistentBindingV2
-HBA_SetRNIDMgmtInfo
+; 
+; Exports of file HBAAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HBAAPI.dll
+EXPORTS
+HBA_CloseAdapter
+HBA_FreeLibrary
+HBA_GetAdapterAttributes
+HBA_GetAdapterName
+HBA_GetAdapterPortAttributes
+HBA_GetBindingCapability
+HBA_GetBindingSupport
+HBA_GetDiscoveredPortAttributes
+HBA_GetEventBuffer
+HBA_GetFC4Statistics
+HBA_GetFCPStatistics
+HBA_GetFcpPersistentBinding
+HBA_GetFcpTargetMapping
+HBA_GetFcpTargetMappingV2
+HBA_GetNumberOfAdapters
+HBA_GetPersistentBindingV2
+HBA_GetPortAttributesByWWN
+HBA_GetPortStatistics
+HBA_GetRNIDMgmtInfo
+HBA_GetVendorLibraryAttributes
+HBA_GetVersion
+HBA_GetWrapperLibraryAttributes
+HBA_LoadLibrary
+HBA_OpenAdapter
+HBA_OpenAdapterByWWN
+HBA_RefreshAdapterConfiguration
+HBA_RefreshInformation
+HBA_RegisterForAdapterAddEvents
+HBA_RegisterForAdapterEvents
+HBA_RegisterForAdapterPortEvents
+HBA_RegisterForAdapterPortStatEvents
+HBA_RegisterForLinkEvents
+HBA_RegisterForTargetEvents
+HBA_RegisterLibrary
+HBA_RegisterLibraryV2
+HBA_RemoveAllPersistentBindings
+HBA_RemoveCallback
+HBA_RemovePersistentBinding
+HBA_ResetStatistics
+HBA_ScsiInquiryV2
+HBA_ScsiReadCapacityV2
+HBA_ScsiReportLUNsV2
+HBA_SendCTPassThru
+HBA_SendCTPassThruV2
+HBA_SendLIRR
+HBA_SendRLS
+HBA_SendRNID
+HBA_SendRNIDV2
+HBA_SendRPL
+HBA_SendRPS
+HBA_SendReadCapacity
+HBA_SendReportLUNs
+HBA_SendSRL
+HBA_SendScsiInquiry
+HBA_SetBindingSupport
+HBA_SetPersistentBindingV2
+HBA_SetRNIDMgmtInfo
diff --git a/mingw-w64-crt/lib64/hgfs.def b/mingw-w64-crt/lib64/hgfs.def
index 6874846..59b2d0c 100644
--- a/mingw-w64-crt/lib64/hgfs.def
+++ b/mingw-w64-crt/lib64/hgfs.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file hgfs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY hgfs.dll
-EXPORTS
-NPGetConnection
-NPGetCaps
-NPAddConnection
-NPCancelConnection
-NPOpenEnum
-NPEnumResource
-NPCloseEnum
-NPAddConnection3
-NPGetResourceParent
-NPGetResourceInformation
+; 
+; Exports of file hgfs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY hgfs.dll
+EXPORTS
+NPGetConnection
+NPGetCaps
+NPAddConnection
+NPCancelConnection
+NPOpenEnum
+NPEnumResource
+NPCloseEnum
+NPAddConnection3
+NPGetResourceParent
+NPGetResourceInformation
diff --git a/mingw-w64-crt/lib64/hhsetup.def b/mingw-w64-crt/lib64/hhsetup.def
index 4f65661..ea8b2de 100644
--- a/mingw-w64-crt/lib64/hhsetup.def
+++ b/mingw-w64-crt/lib64/hhsetup.def
@@ -1,298 +1,298 @@
-; 
-; Exports of file hhsetup.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY hhsetup.dll
-EXPORTS
-; public: __cdecl CCollection::CCollection(void) __ptr64
-??0CCollection@@QEAA@XZ
-; public: __cdecl CFIFOString::CFIFOString(void) __ptr64
-??0CFIFOString@@QEAA@XZ
-; public: __cdecl CFolder::CFolder(void) __ptr64
-??0CFolder@@QEAA@XZ
-; public: __cdecl CLocation::CLocation(void) __ptr64
-??0CLocation@@QEAA@XZ
-; public: __cdecl CPointerList::CPointerList(void) __ptr64
-??0CPointerList@@QEAA@XZ
-; public: __cdecl CTitle::CTitle(void) __ptr64
-??0CTitle@@QEAA@XZ
-; public: __cdecl CCollection::~CCollection(void) __ptr64
-??1CCollection@@QEAA@XZ
-; public: __cdecl CFIFOString::~CFIFOString(void) __ptr64
-??1CFIFOString@@QEAA@XZ
-; public: __cdecl CFolder::~CFolder(void) __ptr64
-??1CFolder@@QEAA@XZ
-; public: __cdecl CLocation::~CLocation(void) __ptr64
-??1CLocation@@QEAA@XZ
-; public: __cdecl CPointerList::~CPointerList(void) __ptr64
-??1CPointerList@@QEAA@XZ
-; public: __cdecl CTitle::~CTitle(void) __ptr64
-??1CTitle@@QEAA@XZ
-; public: class CCollection & __ptr64 __cdecl CCollection::operator=(class CCollection const & __ptr64) __ptr64
-??4CCollection@@QEAAAEAV0@AEBV0@@Z
-; public: class CFIFOString & __ptr64 __cdecl CFIFOString::operator=(class CFIFOString const & __ptr64) __ptr64
-??4CFIFOString@@QEAAAEAV0@AEBV0@@Z
-; public: class CFolder & __ptr64 __cdecl CFolder::operator=(class CFolder const & __ptr64) __ptr64
-??4CFolder@@QEAAAEAV0@AEBV0@@Z
-; public: class CLocation & __ptr64 __cdecl CLocation::operator=(class CLocation const & __ptr64) __ptr64
-??4CLocation@@QEAAAEAV0@AEBV0@@Z
-; public: class CPointerList & __ptr64 __cdecl CPointerList::operator=(class CPointerList const & __ptr64) __ptr64
-??4CPointerList@@QEAAAEAV0@AEBV0@@Z
-; public: class CTitle & __ptr64 __cdecl CTitle::operator=(class CTitle const & __ptr64) __ptr64
-??4CTitle@@QEAAAEAV0@AEBV0@@Z
-; public: struct ListItem * __ptr64 __cdecl CPointerList::Add(void * __ptr64) __ptr64
-?Add@CPointerList@@QEAAPEAUListItem@@PEAX@Z
-; public: unsigned long __cdecl CFolder::AddChildFolder(class CFolder * __ptr64) __ptr64
-?AddChildFolder@CFolder@@QEAAKPEAV1@@Z
-; public: class CFolder * __ptr64 __cdecl CFolder::AddChildFolder(char const * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short) __ptr64
-?AddChildFolder@CFolder@@QEAAPEAV1@PEBDKPEAKG@Z
-; public: class CFolder * __ptr64 __cdecl CFolder::AddChildFolder(unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short) __ptr64
-?AddChildFolder@CFolder@@QEAAPEAV1@PEBGKPEAKG@Z
-; public: class CColList * __ptr64 __cdecl CCollection::AddCollection(void) __ptr64
-?AddCollection@CCollection@@QEAAPEAVCColList@@XZ
-; public: class CFolder * __ptr64 __cdecl CCollection::AddFolder(char const * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short) __ptr64
-?AddFolder@CCollection@@QEAAPEAVCFolder@@PEBDKPEAKG@Z
-; public: class CFolder * __ptr64 __cdecl CCollection::AddFolder(unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short) __ptr64
-?AddFolder@CCollection@@QEAAPEAVCFolder@@PEBGKPEAKG@Z
-; public: class CLocation * __ptr64 __cdecl CCollection::AddLocation(char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64,unsigned long * __ptr64) __ptr64
-?AddLocation@CCollection@@QEAAPEAVCLocation@@PEBD000PEAK@Z
-; public: class CLocation * __ptr64 __cdecl CCollection::AddLocation(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?AddLocation@CCollection@@QEAAPEAVCLocation@@PEBG000PEAK@Z
-; public: unsigned long __cdecl CTitle::AddLocationHistory(unsigned long,char const * __ptr64,char const * __ptr64,char const * __ptr64,class CLocation const * __ptr64,char const * __ptr64,char const * __ptr64,int) __ptr64
-?AddLocationHistory@CTitle@@QEAAKKPEBD00PEBVCLocation@@00H@Z
-; public: unsigned long __cdecl CTitle::AddLocationHistory(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class CLocation const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?AddLocationHistory@CTitle@@QEAAKKPEBG00PEBVCLocation@@00H@Z
-; public: void __cdecl CCollection::AddRef(void) __ptr64
-?AddRef@CCollection@@QEAAXXZ
-; private: unsigned long __cdecl CCollection::AddRefedTitle(class CFolder * __ptr64) __ptr64
-?AddRefedTitle@CCollection@@AEAAKPEAVCFolder@@@Z
-; public: unsigned long __cdecl CFIFOString::AddTail(char * __ptr64) __ptr64
-?AddTail@CFIFOString@@QEAAKPEAD@Z
-; public: class CTitle * __ptr64 __cdecl CCollection::AddTitle(char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64,unsigned short,unsigned int,class CLocation * __ptr64,unsigned long * __ptr64,int,char const * __ptr64) __ptr64
-?AddTitle@CCollection@@QEAAPEAVCTitle@@PEBD0000GIPEAVCLocation@@PEAKH0@Z
-; public: class CTitle * __ptr64 __cdecl CCollection::AddTitle(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short,unsigned int,class CLocation * __ptr64,unsigned long * __ptr64,int,unsigned short const * __ptr64) __ptr64
-?AddTitle@CCollection@@QEAAPEAVCTitle@@PEBG0000GIPEAVCLocation@@PEAKH0@Z
-; private: unsigned long __cdecl CCollection::AllocCopyValue(class CParseXML * __ptr64,char * __ptr64,char * __ptr64 * __ptr64) __ptr64
-?AllocCopyValue@CCollection@@AEAAKPEAVCParseXML@@PEADPEAPEAD@Z
-; unsigned long __cdecl AllocSetValue(char const * __ptr64,char * __ptr64 * __ptr64)
-?AllocSetValue@@YAKPEBDPEAPEAD@Z
-; private: unsigned long __cdecl CCollection::CheckTitleRef(char const * __ptr64,unsigned short) __ptr64
-?CheckTitleRef@CCollection@@AEAAKPEBDG@Z
-; private: unsigned long __cdecl CCollection::CheckTitleRef(unsigned short const * __ptr64,unsigned short) __ptr64
-?CheckTitleRef@CCollection@@AEAAKPEBGG@Z
-; public: unsigned long __cdecl CCollection::Close(void) __ptr64
-?Close@CCollection@@QEAAKXZ
-; public: void __cdecl CCollection::ConfirmTitles(void) __ptr64
-?ConfirmTitles@CCollection@@QEAAXXZ
-; public: void __cdecl CCollection::DecrementRefTitleCount(void) __ptr64
-?DecrementRefTitleCount@CCollection@@QEAAXXZ
-; private: void __cdecl CCollection::DeleteChildren(class CFolder * __ptr64 * __ptr64) __ptr64
-?DeleteChildren@CCollection@@AEAAXPEAPEAVCFolder@@@Z
-; public: unsigned long __cdecl CCollection::DeleteFolder(class CFolder * __ptr64) __ptr64
-?DeleteFolder@CCollection@@QEAAKPEAVCFolder@@@Z
-; private: void __cdecl CCollection::DeleteFolders(class CFolder * __ptr64 * __ptr64) __ptr64
-?DeleteFolders@CCollection@@AEAAXPEAPEAVCFolder@@@Z
-; private: void __cdecl CCollection::DeleteLocalFiles(struct LocationHistory * __ptr64,class CTitle * __ptr64) __ptr64
-?DeleteLocalFiles@CCollection@@AEAAXPEAULocationHistory@@PEAVCTitle@@@Z
-; private: unsigned long __cdecl CCollection::DeleteLocation(class CLocation * __ptr64) __ptr64
-?DeleteLocation@CCollection@@AEAAKPEAVCLocation@@@Z
-; private: unsigned long __cdecl CCollection::DeleteTitle(class CTitle * __ptr64) __ptr64
-?DeleteTitle@CCollection@@AEAAKPEAVCTitle@@@Z
-; public: void __cdecl CCollection::Dirty(void) __ptr64
-?Dirty@CCollection@@QEAAXXZ
-; public: class CColList * __ptr64 __cdecl CCollection::FindCollection(char * __ptr64) __ptr64
-?FindCollection@CCollection@@QEAAPEAVCColList@@PEAD@Z
-; public: class CLocation * __ptr64 __cdecl CCollection::FindLocation(char const * __ptr64,unsigned int * __ptr64) __ptr64
-?FindLocation@CCollection@@QEAAPEAVCLocation@@PEBDPEAI@Z
-; public: class CLocation * __ptr64 __cdecl CCollection::FindLocation(unsigned short const * __ptr64,unsigned int * __ptr64) __ptr64
-?FindLocation@CCollection@@QEAAPEAVCLocation@@PEBGPEAI@Z
-; public: class CTitle * __ptr64 __cdecl CCollection::FindTitle(char const * __ptr64,unsigned short) __ptr64
-?FindTitle@CCollection@@QEAAPEAVCTitle@@PEBDG@Z
-; public: class CTitle * __ptr64 __cdecl CCollection::FindTitle(unsigned short const * __ptr64,unsigned short) __ptr64
-?FindTitle@CCollection@@QEAAPEAVCTitle@@PEBGG@Z
-; public: struct ListItem * __ptr64 __cdecl CPointerList::First(void) __ptr64
-?First@CPointerList@@QEAAPEAUListItem@@XZ
-; public: class CLocation * __ptr64 __cdecl CCollection::FirstLocation(void) __ptr64
-?FirstLocation@CCollection@@QEAAPEAVCLocation@@XZ
-; public: unsigned long __cdecl CCollection::GetColNo(void) __ptr64
-?GetColNo@CCollection@@QEAAKXZ
-; public: char const * __ptr64 __cdecl CCollection::GetCollectionFileName(void) __ptr64
-?GetCollectionFileName@CCollection@@QEAAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl CCollection::GetCollectionFileNameW(void) __ptr64
-?GetCollectionFileNameW@CCollection@@QEAAPEBGXZ
-; public: int __cdecl CCollection::GetFindMergedCHMS(void) __ptr64
-?GetFindMergedCHMS@CCollection@@QEAAHXZ
-; public: class CFolder * __ptr64 __cdecl CFolder::GetFirstChildFolder(void) __ptr64
-?GetFirstChildFolder@CFolder@@QEAAPEAV1@XZ
-; public: class CTitle * __ptr64 __cdecl CCollection::GetFirstTitle(void) __ptr64
-?GetFirstTitle@CCollection@@QEAAPEAVCTitle@@XZ
-; public: char * __ptr64 __cdecl CLocation::GetId(void)const  __ptr64
-?GetId@CLocation@@QEBAPEADXZ
-; public: char * __ptr64 __cdecl CTitle::GetId(void) __ptr64
-?GetId@CTitle@@QEAAPEADXZ
-; public: unsigned short const * __ptr64 __cdecl CLocation::GetIdW(void) __ptr64
-?GetIdW@CLocation@@QEAAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CTitle::GetIdW(void) __ptr64
-?GetIdW@CTitle@@QEAAPEBGXZ
-; public: unsigned short __cdecl CCollection::GetLangId(char const * __ptr64) __ptr64
-?GetLangId@CCollection@@QEAAGPEBD@Z
-; public: unsigned short __cdecl CCollection::GetLangId(unsigned short const * __ptr64) __ptr64
-?GetLangId@CCollection@@QEAAGPEBG@Z
-; public: unsigned short __cdecl CFolder::GetLanguage(void) __ptr64
-?GetLanguage@CFolder@@QEAAGXZ
-; public: unsigned short __cdecl CTitle::GetLanguage(void) __ptr64
-?GetLanguage@CTitle@@QEAAGXZ
-; public: struct LocationHistory * __ptr64 __cdecl CTitle::GetLocation(unsigned long) __ptr64
-?GetLocation@CTitle@@QEAAPEAULocationHistory@@K@Z
-; public: int __cdecl CCollection::GetMasterCHM(char * __ptr64 * __ptr64,unsigned short * __ptr64) __ptr64
-?GetMasterCHM@CCollection@@QEAAHPEAPEADPEAG@Z
-; public: int __cdecl CCollection::GetMasterCHM(unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64) __ptr64
-?GetMasterCHM@CCollection@@QEAAHPEAPEAGPEAG@Z
-; public: class CFolder * __ptr64 __cdecl CFolder::GetNextFolder(void) __ptr64
-?GetNextFolder@CFolder@@QEAAPEAV1@XZ
-; public: class CLocation * __ptr64 __cdecl CLocation::GetNextLocation(void) __ptr64
-?GetNextLocation@CLocation@@QEAAPEAV1@XZ
-; public: class CTitle * __ptr64 __cdecl CTitle::GetNextTitle(void) __ptr64
-?GetNextTitle@CTitle@@QEAAPEAV1@XZ
-; public: unsigned long __cdecl CFolder::GetOrder(void) __ptr64
-?GetOrder@CFolder@@QEAAKXZ
-; public: class CFolder * __ptr64 __cdecl CFolder::GetParent(void) __ptr64
-?GetParent@CFolder@@QEAAPEAV1@XZ
-; public: char * __ptr64 __cdecl CLocation::GetPath(void) __ptr64
-?GetPath@CLocation@@QEAAPEADXZ
-; public: unsigned short const * __ptr64 __cdecl CLocation::GetPathW(void) __ptr64
-?GetPathW@CLocation@@QEAAPEBGXZ
-; public: unsigned long __cdecl CCollection::GetRefTitleCount(void) __ptr64
-?GetRefTitleCount@CCollection@@QEAAKXZ
-; public: class CFolder * __ptr64 __cdecl CCollection::GetRootFolder(void) __ptr64
-?GetRootFolder@CCollection@@QEAAPEAVCFolder@@XZ
-; public: char * __ptr64 __cdecl CCollection::GetSampleLocation(void) __ptr64
-?GetSampleLocation@CCollection@@QEAAPEADXZ
-; public: unsigned short const * __ptr64 __cdecl CCollection::GetSampleLocationW(void) __ptr64
-?GetSampleLocationW@CCollection@@QEAAPEBGXZ
-; public: unsigned long __cdecl CFIFOString::GetTail(char * __ptr64 * __ptr64) __ptr64
-?GetTail@CFIFOString@@QEAAKPEAPEAD@Z
-; public: char * __ptr64 __cdecl CFolder::GetTitle(void) __ptr64
-?GetTitle@CFolder@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl CLocation::GetTitle(void) __ptr64
-?GetTitle@CLocation@@QEAAPEADXZ
-; public: unsigned short const * __ptr64 __cdecl CFolder::GetTitleW(void) __ptr64
-?GetTitleW@CFolder@@QEAAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CLocation::GetTitleW(void) __ptr64
-?GetTitleW@CLocation@@QEAAPEBGXZ
-; public: unsigned long __cdecl CCollection::GetVersion(void) __ptr64
-?GetVersion@CCollection@@QEAAKXZ
-; public: class CFolder * __ptr64 __cdecl CCollection::GetVisableRootFolder(void) __ptr64
-?GetVisableRootFolder@CCollection@@QEAAPEAVCFolder@@XZ
-; public: char * __ptr64 __cdecl CLocation::GetVolume(void) __ptr64
-?GetVolume@CLocation@@QEAAPEADXZ
-; public: unsigned short const * __ptr64 __cdecl CLocation::GetVolumeW(void) __ptr64
-?GetVolumeW@CLocation@@QEAAPEBGXZ
-; private: unsigned long __cdecl CCollection::HandleCollection(class CParseXML * __ptr64,char * __ptr64) __ptr64
-?HandleCollection@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
-; private: unsigned long __cdecl CCollection::HandleCollectionEntry(class CParseXML * __ptr64,char * __ptr64) __ptr64
-?HandleCollectionEntry@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
-; private: unsigned long __cdecl CCollection::HandleFolder(class CParseXML * __ptr64,char * __ptr64) __ptr64
-?HandleFolder@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
-; private: unsigned long __cdecl CCollection::HandleLocation(class CParseXML * __ptr64,char * __ptr64) __ptr64
-?HandleLocation@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
-; private: unsigned long __cdecl CCollection::HandleTitle(class CParseXML * __ptr64,char * __ptr64) __ptr64
-?HandleTitle@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
-; public: void __cdecl CCollection::IncrementRefTitleCount(void) __ptr64
-?IncrementRefTitleCount@CCollection@@QEAAXXZ
-; public: int __cdecl CCollection::IsDirty(void) __ptr64
-?IsDirty@CCollection@@QEAAHXZ
-; public: int __cdecl CCollection::MergeKeywords(char * __ptr64) __ptr64
-?MergeKeywords@CCollection@@QEAAHPEAD@Z
-; public: int __cdecl CCollection::MergeKeywords(unsigned short * __ptr64) __ptr64
-?MergeKeywords@CCollection@@QEAAHPEAG@Z
-; private: class CLocation * __ptr64 __cdecl CCollection::NewLocation(void) __ptr64
-?NewLocation@CCollection@@AEAAPEAVCLocation@@XZ
-; public: struct LocationHistory * __ptr64 __cdecl CTitle::NewLocationHistory(void) __ptr64
-?NewLocationHistory@CTitle@@QEAAPEAULocationHistory@@XZ
-; private: class CTitle * __ptr64 __cdecl CCollection::NewTitle(void) __ptr64
-?NewTitle@CCollection@@AEAAPEAVCTitle@@XZ
-; public: struct ListItem * __ptr64 __cdecl CPointerList::Next(struct ListItem * __ptr64) __ptr64
-?Next@CPointerList@@QEAAPEAUListItem@@PEAU2@@Z
-; public: unsigned long __cdecl CCollection::Open(char const * __ptr64) __ptr64
-?Open@CCollection@@QEAAKPEBD@Z
-; public: unsigned long __cdecl CCollection::Open(unsigned short const * __ptr64) __ptr64
-?Open@CCollection@@QEAAKPEBG@Z
-; private: unsigned long __cdecl CCollection::ParseFile(char const * __ptr64) __ptr64
-?ParseFile@CCollection@@AEAAKPEBD@Z
-; private: unsigned long __cdecl CCollection::Release(void) __ptr64
-?Release@CCollection@@AEAAKXZ
-; public: void __cdecl CFIFOString::RemoveAll(void) __ptr64
-?RemoveAll@CFIFOString@@QEAAXXZ
-; public: void __cdecl CPointerList::RemoveAll(void) __ptr64
-?RemoveAll@CPointerList@@QEAAXXZ
-; public: unsigned long __cdecl CCollection::RemoveCollection(int) __ptr64
-?RemoveCollection@CCollection@@QEAAKH@Z
-; public: void __cdecl CCollection::RemoveCollectionEntry(char * __ptr64) __ptr64
-?RemoveCollectionEntry@CCollection@@QEAAXPEAD@Z
-; public: unsigned long __cdecl CCollection::Save(void) __ptr64
-?Save@CCollection@@QEAAKXZ
-; public: void __cdecl CFolder::SetExTitlePtr(class CExTitle * __ptr64) __ptr64
-?SetExTitlePtr@CFolder@@QEAAXPEAVCExTitle@@@Z
-; public: void __cdecl CCollection::SetFindMergedCHMS(int) __ptr64
-?SetFindMergedCHMS@CCollection@@QEAAXH@Z
-; public: void __cdecl CFolder::SetFirstChildFolder(class CFolder * __ptr64) __ptr64
-?SetFirstChildFolder@CFolder@@QEAAXPEAV1@@Z
-; public: void __cdecl CLocation::SetId(char const * __ptr64) __ptr64
-?SetId@CLocation@@QEAAXPEBD@Z
-; public: void __cdecl CLocation::SetId(unsigned short const * __ptr64) __ptr64
-?SetId@CLocation@@QEAAXPEBG@Z
-; public: void __cdecl CTitle::SetId(char const * __ptr64) __ptr64
-?SetId@CTitle@@QEAAXPEBD@Z
-; public: void __cdecl CTitle::SetId(unsigned short const * __ptr64) __ptr64
-?SetId@CTitle@@QEAAXPEBG@Z
-; public: void __cdecl CFolder::SetLanguage(unsigned short) __ptr64
-?SetLanguage@CFolder@@QEAAXG@Z
-; public: void __cdecl CTitle::SetLanguage(unsigned short) __ptr64
-?SetLanguage@CTitle@@QEAAXG@Z
-; public: void __cdecl CCollection::SetMasterCHM(char const * __ptr64,unsigned short) __ptr64
-?SetMasterCHM@CCollection@@QEAAXPEBDG@Z
-; public: void __cdecl CCollection::SetMasterCHM(unsigned short const * __ptr64,unsigned short) __ptr64
-?SetMasterCHM@CCollection@@QEAAXPEBGG@Z
-; public: void __cdecl CFolder::SetNextFolder(class CFolder * __ptr64) __ptr64
-?SetNextFolder@CFolder@@QEAAXPEAV1@@Z
-; public: void __cdecl CLocation::SetNextLocation(class CLocation * __ptr64) __ptr64
-?SetNextLocation@CLocation@@QEAAXPEAV1@@Z
-; public: void __cdecl CTitle::SetNextTitle(class CTitle * __ptr64) __ptr64
-?SetNextTitle@CTitle@@QEAAXPEAV1@@Z
-; public: void __cdecl CFolder::SetOrder(unsigned long) __ptr64
-?SetOrder@CFolder@@QEAAXK@Z
-; public: void __cdecl CFolder::SetParent(class CFolder * __ptr64) __ptr64
-?SetParent@CFolder@@QEAAXPEAV1@@Z
-; public: void __cdecl CLocation::SetPath(char const * __ptr64) __ptr64
-?SetPath@CLocation@@QEAAXPEBD@Z
-; public: void __cdecl CLocation::SetPath(unsigned short const * __ptr64) __ptr64
-?SetPath@CLocation@@QEAAXPEBG@Z
-; public: void __cdecl CCollection::SetSampleLocation(char const * __ptr64) __ptr64
-?SetSampleLocation@CCollection@@QEAAXPEBD@Z
-; public: void __cdecl CCollection::SetSampleLocation(unsigned short const * __ptr64) __ptr64
-?SetSampleLocation@CCollection@@QEAAXPEBG@Z
-; public: void __cdecl CFolder::SetTitle(char const * __ptr64) __ptr64
-?SetTitle@CFolder@@QEAAXPEBD@Z
-; public: void __cdecl CFolder::SetTitle(unsigned short const * __ptr64) __ptr64
-?SetTitle@CFolder@@QEAAXPEBG@Z
-; public: void __cdecl CLocation::SetTitle(char const * __ptr64) __ptr64
-?SetTitle@CLocation@@QEAAXPEBD@Z
-; public: void __cdecl CLocation::SetTitle(unsigned short const * __ptr64) __ptr64
-?SetTitle@CLocation@@QEAAXPEBG@Z
-; public: void __cdecl CCollection::SetVersion(unsigned long) __ptr64
-?SetVersion@CCollection@@QEAAXK@Z
-; public: void __cdecl CLocation::SetVolume(char const * __ptr64) __ptr64
-?SetVolume@CLocation@@QEAAXPEBD@Z
-; public: void __cdecl CLocation::SetVolume(unsigned short const * __ptr64) __ptr64
-?SetVolume@CLocation@@QEAAXPEBG@Z
-; private: int __cdecl CCollection::WriteFolder(class CFolder * __ptr64 * __ptr64) __ptr64
-?WriteFolder@CCollection@@AEAAHPEAPEAVCFolder@@@Z
-; private: int __cdecl CCollection::WriteFolders(class CFolder * __ptr64 * __ptr64) __ptr64
-?WriteFolders@CCollection@@AEAAHPEAPEAVCFolder@@@Z
-; public: int __cdecl CFolder::bIsVisable(void) __ptr64
-?bIsVisable@CFolder@@QEAAHXZ
-; private: void __cdecl CCollection::wssResetNextColNum(void) __ptr64
-?wssResetNextColNum@CCollection@@AEAAXXZ
+; 
+; Exports of file hhsetup.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY hhsetup.dll
+EXPORTS
+; public: __cdecl CCollection::CCollection(void) __ptr64
+??0CCollection@@QEAA@XZ
+; public: __cdecl CFIFOString::CFIFOString(void) __ptr64
+??0CFIFOString@@QEAA@XZ
+; public: __cdecl CFolder::CFolder(void) __ptr64
+??0CFolder@@QEAA@XZ
+; public: __cdecl CLocation::CLocation(void) __ptr64
+??0CLocation@@QEAA@XZ
+; public: __cdecl CPointerList::CPointerList(void) __ptr64
+??0CPointerList@@QEAA@XZ
+; public: __cdecl CTitle::CTitle(void) __ptr64
+??0CTitle@@QEAA@XZ
+; public: __cdecl CCollection::~CCollection(void) __ptr64
+??1CCollection@@QEAA@XZ
+; public: __cdecl CFIFOString::~CFIFOString(void) __ptr64
+??1CFIFOString@@QEAA@XZ
+; public: __cdecl CFolder::~CFolder(void) __ptr64
+??1CFolder@@QEAA@XZ
+; public: __cdecl CLocation::~CLocation(void) __ptr64
+??1CLocation@@QEAA@XZ
+; public: __cdecl CPointerList::~CPointerList(void) __ptr64
+??1CPointerList@@QEAA@XZ
+; public: __cdecl CTitle::~CTitle(void) __ptr64
+??1CTitle@@QEAA@XZ
+; public: class CCollection & __ptr64 __cdecl CCollection::operator=(class CCollection const & __ptr64) __ptr64
+??4CCollection@@QEAAAEAV0@AEBV0@@Z
+; public: class CFIFOString & __ptr64 __cdecl CFIFOString::operator=(class CFIFOString const & __ptr64) __ptr64
+??4CFIFOString@@QEAAAEAV0@AEBV0@@Z
+; public: class CFolder & __ptr64 __cdecl CFolder::operator=(class CFolder const & __ptr64) __ptr64
+??4CFolder@@QEAAAEAV0@AEBV0@@Z
+; public: class CLocation & __ptr64 __cdecl CLocation::operator=(class CLocation const & __ptr64) __ptr64
+??4CLocation@@QEAAAEAV0@AEBV0@@Z
+; public: class CPointerList & __ptr64 __cdecl CPointerList::operator=(class CPointerList const & __ptr64) __ptr64
+??4CPointerList@@QEAAAEAV0@AEBV0@@Z
+; public: class CTitle & __ptr64 __cdecl CTitle::operator=(class CTitle const & __ptr64) __ptr64
+??4CTitle@@QEAAAEAV0@AEBV0@@Z
+; public: struct ListItem * __ptr64 __cdecl CPointerList::Add(void * __ptr64) __ptr64
+?Add@CPointerList@@QEAAPEAUListItem@@PEAX@Z
+; public: unsigned long __cdecl CFolder::AddChildFolder(class CFolder * __ptr64) __ptr64
+?AddChildFolder@CFolder@@QEAAKPEAV1@@Z
+; public: class CFolder * __ptr64 __cdecl CFolder::AddChildFolder(char const * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short) __ptr64
+?AddChildFolder@CFolder@@QEAAPEAV1@PEBDKPEAKG@Z
+; public: class CFolder * __ptr64 __cdecl CFolder::AddChildFolder(unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short) __ptr64
+?AddChildFolder@CFolder@@QEAAPEAV1@PEBGKPEAKG@Z
+; public: class CColList * __ptr64 __cdecl CCollection::AddCollection(void) __ptr64
+?AddCollection@CCollection@@QEAAPEAVCColList@@XZ
+; public: class CFolder * __ptr64 __cdecl CCollection::AddFolder(char const * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short) __ptr64
+?AddFolder@CCollection@@QEAAPEAVCFolder@@PEBDKPEAKG@Z
+; public: class CFolder * __ptr64 __cdecl CCollection::AddFolder(unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short) __ptr64
+?AddFolder@CCollection@@QEAAPEAVCFolder@@PEBGKPEAKG@Z
+; public: class CLocation * __ptr64 __cdecl CCollection::AddLocation(char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64,unsigned long * __ptr64) __ptr64
+?AddLocation@CCollection@@QEAAPEAVCLocation@@PEBD000PEAK@Z
+; public: class CLocation * __ptr64 __cdecl CCollection::AddLocation(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?AddLocation@CCollection@@QEAAPEAVCLocation@@PEBG000PEAK@Z
+; public: unsigned long __cdecl CTitle::AddLocationHistory(unsigned long,char const * __ptr64,char const * __ptr64,char const * __ptr64,class CLocation const * __ptr64,char const * __ptr64,char const * __ptr64,int) __ptr64
+?AddLocationHistory@CTitle@@QEAAKKPEBD00PEBVCLocation@@00H@Z
+; public: unsigned long __cdecl CTitle::AddLocationHistory(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class CLocation const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?AddLocationHistory@CTitle@@QEAAKKPEBG00PEBVCLocation@@00H@Z
+; public: void __cdecl CCollection::AddRef(void) __ptr64
+?AddRef@CCollection@@QEAAXXZ
+; private: unsigned long __cdecl CCollection::AddRefedTitle(class CFolder * __ptr64) __ptr64
+?AddRefedTitle@CCollection@@AEAAKPEAVCFolder@@@Z
+; public: unsigned long __cdecl CFIFOString::AddTail(char * __ptr64) __ptr64
+?AddTail@CFIFOString@@QEAAKPEAD@Z
+; public: class CTitle * __ptr64 __cdecl CCollection::AddTitle(char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64,unsigned short,unsigned int,class CLocation * __ptr64,unsigned long * __ptr64,int,char const * __ptr64) __ptr64
+?AddTitle@CCollection@@QEAAPEAVCTitle@@PEBD0000GIPEAVCLocation@@PEAKH0@Z
+; public: class CTitle * __ptr64 __cdecl CCollection::AddTitle(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short,unsigned int,class CLocation * __ptr64,unsigned long * __ptr64,int,unsigned short const * __ptr64) __ptr64
+?AddTitle@CCollection@@QEAAPEAVCTitle@@PEBG0000GIPEAVCLocation@@PEAKH0@Z
+; private: unsigned long __cdecl CCollection::AllocCopyValue(class CParseXML * __ptr64,char * __ptr64,char * __ptr64 * __ptr64) __ptr64
+?AllocCopyValue@CCollection@@AEAAKPEAVCParseXML@@PEADPEAPEAD@Z
+; unsigned long __cdecl AllocSetValue(char const * __ptr64,char * __ptr64 * __ptr64)
+?AllocSetValue@@YAKPEBDPEAPEAD@Z
+; private: unsigned long __cdecl CCollection::CheckTitleRef(char const * __ptr64,unsigned short) __ptr64
+?CheckTitleRef@CCollection@@AEAAKPEBDG@Z
+; private: unsigned long __cdecl CCollection::CheckTitleRef(unsigned short const * __ptr64,unsigned short) __ptr64
+?CheckTitleRef@CCollection@@AEAAKPEBGG@Z
+; public: unsigned long __cdecl CCollection::Close(void) __ptr64
+?Close@CCollection@@QEAAKXZ
+; public: void __cdecl CCollection::ConfirmTitles(void) __ptr64
+?ConfirmTitles@CCollection@@QEAAXXZ
+; public: void __cdecl CCollection::DecrementRefTitleCount(void) __ptr64
+?DecrementRefTitleCount@CCollection@@QEAAXXZ
+; private: void __cdecl CCollection::DeleteChildren(class CFolder * __ptr64 * __ptr64) __ptr64
+?DeleteChildren@CCollection@@AEAAXPEAPEAVCFolder@@@Z
+; public: unsigned long __cdecl CCollection::DeleteFolder(class CFolder * __ptr64) __ptr64
+?DeleteFolder@CCollection@@QEAAKPEAVCFolder@@@Z
+; private: void __cdecl CCollection::DeleteFolders(class CFolder * __ptr64 * __ptr64) __ptr64
+?DeleteFolders@CCollection@@AEAAXPEAPEAVCFolder@@@Z
+; private: void __cdecl CCollection::DeleteLocalFiles(struct LocationHistory * __ptr64,class CTitle * __ptr64) __ptr64
+?DeleteLocalFiles@CCollection@@AEAAXPEAULocationHistory@@PEAVCTitle@@@Z
+; private: unsigned long __cdecl CCollection::DeleteLocation(class CLocation * __ptr64) __ptr64
+?DeleteLocation@CCollection@@AEAAKPEAVCLocation@@@Z
+; private: unsigned long __cdecl CCollection::DeleteTitle(class CTitle * __ptr64) __ptr64
+?DeleteTitle@CCollection@@AEAAKPEAVCTitle@@@Z
+; public: void __cdecl CCollection::Dirty(void) __ptr64
+?Dirty@CCollection@@QEAAXXZ
+; public: class CColList * __ptr64 __cdecl CCollection::FindCollection(char * __ptr64) __ptr64
+?FindCollection@CCollection@@QEAAPEAVCColList@@PEAD@Z
+; public: class CLocation * __ptr64 __cdecl CCollection::FindLocation(char const * __ptr64,unsigned int * __ptr64) __ptr64
+?FindLocation@CCollection@@QEAAPEAVCLocation@@PEBDPEAI@Z
+; public: class CLocation * __ptr64 __cdecl CCollection::FindLocation(unsigned short const * __ptr64,unsigned int * __ptr64) __ptr64
+?FindLocation@CCollection@@QEAAPEAVCLocation@@PEBGPEAI@Z
+; public: class CTitle * __ptr64 __cdecl CCollection::FindTitle(char const * __ptr64,unsigned short) __ptr64
+?FindTitle@CCollection@@QEAAPEAVCTitle@@PEBDG@Z
+; public: class CTitle * __ptr64 __cdecl CCollection::FindTitle(unsigned short const * __ptr64,unsigned short) __ptr64
+?FindTitle@CCollection@@QEAAPEAVCTitle@@PEBGG@Z
+; public: struct ListItem * __ptr64 __cdecl CPointerList::First(void) __ptr64
+?First@CPointerList@@QEAAPEAUListItem@@XZ
+; public: class CLocation * __ptr64 __cdecl CCollection::FirstLocation(void) __ptr64
+?FirstLocation@CCollection@@QEAAPEAVCLocation@@XZ
+; public: unsigned long __cdecl CCollection::GetColNo(void) __ptr64
+?GetColNo@CCollection@@QEAAKXZ
+; public: char const * __ptr64 __cdecl CCollection::GetCollectionFileName(void) __ptr64
+?GetCollectionFileName@CCollection@@QEAAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl CCollection::GetCollectionFileNameW(void) __ptr64
+?GetCollectionFileNameW@CCollection@@QEAAPEBGXZ
+; public: int __cdecl CCollection::GetFindMergedCHMS(void) __ptr64
+?GetFindMergedCHMS@CCollection@@QEAAHXZ
+; public: class CFolder * __ptr64 __cdecl CFolder::GetFirstChildFolder(void) __ptr64
+?GetFirstChildFolder@CFolder@@QEAAPEAV1@XZ
+; public: class CTitle * __ptr64 __cdecl CCollection::GetFirstTitle(void) __ptr64
+?GetFirstTitle@CCollection@@QEAAPEAVCTitle@@XZ
+; public: char * __ptr64 __cdecl CLocation::GetId(void)const  __ptr64
+?GetId@CLocation@@QEBAPEADXZ
+; public: char * __ptr64 __cdecl CTitle::GetId(void) __ptr64
+?GetId@CTitle@@QEAAPEADXZ
+; public: unsigned short const * __ptr64 __cdecl CLocation::GetIdW(void) __ptr64
+?GetIdW@CLocation@@QEAAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CTitle::GetIdW(void) __ptr64
+?GetIdW@CTitle@@QEAAPEBGXZ
+; public: unsigned short __cdecl CCollection::GetLangId(char const * __ptr64) __ptr64
+?GetLangId@CCollection@@QEAAGPEBD@Z
+; public: unsigned short __cdecl CCollection::GetLangId(unsigned short const * __ptr64) __ptr64
+?GetLangId@CCollection@@QEAAGPEBG@Z
+; public: unsigned short __cdecl CFolder::GetLanguage(void) __ptr64
+?GetLanguage@CFolder@@QEAAGXZ
+; public: unsigned short __cdecl CTitle::GetLanguage(void) __ptr64
+?GetLanguage@CTitle@@QEAAGXZ
+; public: struct LocationHistory * __ptr64 __cdecl CTitle::GetLocation(unsigned long) __ptr64
+?GetLocation@CTitle@@QEAAPEAULocationHistory@@K@Z
+; public: int __cdecl CCollection::GetMasterCHM(char * __ptr64 * __ptr64,unsigned short * __ptr64) __ptr64
+?GetMasterCHM@CCollection@@QEAAHPEAPEADPEAG@Z
+; public: int __cdecl CCollection::GetMasterCHM(unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64) __ptr64
+?GetMasterCHM@CCollection@@QEAAHPEAPEAGPEAG@Z
+; public: class CFolder * __ptr64 __cdecl CFolder::GetNextFolder(void) __ptr64
+?GetNextFolder@CFolder@@QEAAPEAV1@XZ
+; public: class CLocation * __ptr64 __cdecl CLocation::GetNextLocation(void) __ptr64
+?GetNextLocation@CLocation@@QEAAPEAV1@XZ
+; public: class CTitle * __ptr64 __cdecl CTitle::GetNextTitle(void) __ptr64
+?GetNextTitle@CTitle@@QEAAPEAV1@XZ
+; public: unsigned long __cdecl CFolder::GetOrder(void) __ptr64
+?GetOrder@CFolder@@QEAAKXZ
+; public: class CFolder * __ptr64 __cdecl CFolder::GetParent(void) __ptr64
+?GetParent@CFolder@@QEAAPEAV1@XZ
+; public: char * __ptr64 __cdecl CLocation::GetPath(void) __ptr64
+?GetPath@CLocation@@QEAAPEADXZ
+; public: unsigned short const * __ptr64 __cdecl CLocation::GetPathW(void) __ptr64
+?GetPathW@CLocation@@QEAAPEBGXZ
+; public: unsigned long __cdecl CCollection::GetRefTitleCount(void) __ptr64
+?GetRefTitleCount@CCollection@@QEAAKXZ
+; public: class CFolder * __ptr64 __cdecl CCollection::GetRootFolder(void) __ptr64
+?GetRootFolder@CCollection@@QEAAPEAVCFolder@@XZ
+; public: char * __ptr64 __cdecl CCollection::GetSampleLocation(void) __ptr64
+?GetSampleLocation@CCollection@@QEAAPEADXZ
+; public: unsigned short const * __ptr64 __cdecl CCollection::GetSampleLocationW(void) __ptr64
+?GetSampleLocationW@CCollection@@QEAAPEBGXZ
+; public: unsigned long __cdecl CFIFOString::GetTail(char * __ptr64 * __ptr64) __ptr64
+?GetTail@CFIFOString@@QEAAKPEAPEAD@Z
+; public: char * __ptr64 __cdecl CFolder::GetTitle(void) __ptr64
+?GetTitle@CFolder@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl CLocation::GetTitle(void) __ptr64
+?GetTitle@CLocation@@QEAAPEADXZ
+; public: unsigned short const * __ptr64 __cdecl CFolder::GetTitleW(void) __ptr64
+?GetTitleW@CFolder@@QEAAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CLocation::GetTitleW(void) __ptr64
+?GetTitleW@CLocation@@QEAAPEBGXZ
+; public: unsigned long __cdecl CCollection::GetVersion(void) __ptr64
+?GetVersion@CCollection@@QEAAKXZ
+; public: class CFolder * __ptr64 __cdecl CCollection::GetVisableRootFolder(void) __ptr64
+?GetVisableRootFolder@CCollection@@QEAAPEAVCFolder@@XZ
+; public: char * __ptr64 __cdecl CLocation::GetVolume(void) __ptr64
+?GetVolume@CLocation@@QEAAPEADXZ
+; public: unsigned short const * __ptr64 __cdecl CLocation::GetVolumeW(void) __ptr64
+?GetVolumeW@CLocation@@QEAAPEBGXZ
+; private: unsigned long __cdecl CCollection::HandleCollection(class CParseXML * __ptr64,char * __ptr64) __ptr64
+?HandleCollection@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
+; private: unsigned long __cdecl CCollection::HandleCollectionEntry(class CParseXML * __ptr64,char * __ptr64) __ptr64
+?HandleCollectionEntry@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
+; private: unsigned long __cdecl CCollection::HandleFolder(class CParseXML * __ptr64,char * __ptr64) __ptr64
+?HandleFolder@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
+; private: unsigned long __cdecl CCollection::HandleLocation(class CParseXML * __ptr64,char * __ptr64) __ptr64
+?HandleLocation@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
+; private: unsigned long __cdecl CCollection::HandleTitle(class CParseXML * __ptr64,char * __ptr64) __ptr64
+?HandleTitle@CCollection@@AEAAKPEAVCParseXML@@PEAD@Z
+; public: void __cdecl CCollection::IncrementRefTitleCount(void) __ptr64
+?IncrementRefTitleCount@CCollection@@QEAAXXZ
+; public: int __cdecl CCollection::IsDirty(void) __ptr64
+?IsDirty@CCollection@@QEAAHXZ
+; public: int __cdecl CCollection::MergeKeywords(char * __ptr64) __ptr64
+?MergeKeywords@CCollection@@QEAAHPEAD@Z
+; public: int __cdecl CCollection::MergeKeywords(unsigned short * __ptr64) __ptr64
+?MergeKeywords@CCollection@@QEAAHPEAG@Z
+; private: class CLocation * __ptr64 __cdecl CCollection::NewLocation(void) __ptr64
+?NewLocation@CCollection@@AEAAPEAVCLocation@@XZ
+; public: struct LocationHistory * __ptr64 __cdecl CTitle::NewLocationHistory(void) __ptr64
+?NewLocationHistory@CTitle@@QEAAPEAULocationHistory@@XZ
+; private: class CTitle * __ptr64 __cdecl CCollection::NewTitle(void) __ptr64
+?NewTitle@CCollection@@AEAAPEAVCTitle@@XZ
+; public: struct ListItem * __ptr64 __cdecl CPointerList::Next(struct ListItem * __ptr64) __ptr64
+?Next@CPointerList@@QEAAPEAUListItem@@PEAU2@@Z
+; public: unsigned long __cdecl CCollection::Open(char const * __ptr64) __ptr64
+?Open@CCollection@@QEAAKPEBD@Z
+; public: unsigned long __cdecl CCollection::Open(unsigned short const * __ptr64) __ptr64
+?Open@CCollection@@QEAAKPEBG@Z
+; private: unsigned long __cdecl CCollection::ParseFile(char const * __ptr64) __ptr64
+?ParseFile@CCollection@@AEAAKPEBD@Z
+; private: unsigned long __cdecl CCollection::Release(void) __ptr64
+?Release@CCollection@@AEAAKXZ
+; public: void __cdecl CFIFOString::RemoveAll(void) __ptr64
+?RemoveAll@CFIFOString@@QEAAXXZ
+; public: void __cdecl CPointerList::RemoveAll(void) __ptr64
+?RemoveAll@CPointerList@@QEAAXXZ
+; public: unsigned long __cdecl CCollection::RemoveCollection(int) __ptr64
+?RemoveCollection@CCollection@@QEAAKH@Z
+; public: void __cdecl CCollection::RemoveCollectionEntry(char * __ptr64) __ptr64
+?RemoveCollectionEntry@CCollection@@QEAAXPEAD@Z
+; public: unsigned long __cdecl CCollection::Save(void) __ptr64
+?Save@CCollection@@QEAAKXZ
+; public: void __cdecl CFolder::SetExTitlePtr(class CExTitle * __ptr64) __ptr64
+?SetExTitlePtr@CFolder@@QEAAXPEAVCExTitle@@@Z
+; public: void __cdecl CCollection::SetFindMergedCHMS(int) __ptr64
+?SetFindMergedCHMS@CCollection@@QEAAXH@Z
+; public: void __cdecl CFolder::SetFirstChildFolder(class CFolder * __ptr64) __ptr64
+?SetFirstChildFolder@CFolder@@QEAAXPEAV1@@Z
+; public: void __cdecl CLocation::SetId(char const * __ptr64) __ptr64
+?SetId@CLocation@@QEAAXPEBD@Z
+; public: void __cdecl CLocation::SetId(unsigned short const * __ptr64) __ptr64
+?SetId@CLocation@@QEAAXPEBG@Z
+; public: void __cdecl CTitle::SetId(char const * __ptr64) __ptr64
+?SetId@CTitle@@QEAAXPEBD@Z
+; public: void __cdecl CTitle::SetId(unsigned short const * __ptr64) __ptr64
+?SetId@CTitle@@QEAAXPEBG@Z
+; public: void __cdecl CFolder::SetLanguage(unsigned short) __ptr64
+?SetLanguage@CFolder@@QEAAXG@Z
+; public: void __cdecl CTitle::SetLanguage(unsigned short) __ptr64
+?SetLanguage@CTitle@@QEAAXG@Z
+; public: void __cdecl CCollection::SetMasterCHM(char const * __ptr64,unsigned short) __ptr64
+?SetMasterCHM@CCollection@@QEAAXPEBDG@Z
+; public: void __cdecl CCollection::SetMasterCHM(unsigned short const * __ptr64,unsigned short) __ptr64
+?SetMasterCHM@CCollection@@QEAAXPEBGG@Z
+; public: void __cdecl CFolder::SetNextFolder(class CFolder * __ptr64) __ptr64
+?SetNextFolder@CFolder@@QEAAXPEAV1@@Z
+; public: void __cdecl CLocation::SetNextLocation(class CLocation * __ptr64) __ptr64
+?SetNextLocation@CLocation@@QEAAXPEAV1@@Z
+; public: void __cdecl CTitle::SetNextTitle(class CTitle * __ptr64) __ptr64
+?SetNextTitle@CTitle@@QEAAXPEAV1@@Z
+; public: void __cdecl CFolder::SetOrder(unsigned long) __ptr64
+?SetOrder@CFolder@@QEAAXK@Z
+; public: void __cdecl CFolder::SetParent(class CFolder * __ptr64) __ptr64
+?SetParent@CFolder@@QEAAXPEAV1@@Z
+; public: void __cdecl CLocation::SetPath(char const * __ptr64) __ptr64
+?SetPath@CLocation@@QEAAXPEBD@Z
+; public: void __cdecl CLocation::SetPath(unsigned short const * __ptr64) __ptr64
+?SetPath@CLocation@@QEAAXPEBG@Z
+; public: void __cdecl CCollection::SetSampleLocation(char const * __ptr64) __ptr64
+?SetSampleLocation@CCollection@@QEAAXPEBD@Z
+; public: void __cdecl CCollection::SetSampleLocation(unsigned short const * __ptr64) __ptr64
+?SetSampleLocation@CCollection@@QEAAXPEBG@Z
+; public: void __cdecl CFolder::SetTitle(char const * __ptr64) __ptr64
+?SetTitle@CFolder@@QEAAXPEBD@Z
+; public: void __cdecl CFolder::SetTitle(unsigned short const * __ptr64) __ptr64
+?SetTitle@CFolder@@QEAAXPEBG@Z
+; public: void __cdecl CLocation::SetTitle(char const * __ptr64) __ptr64
+?SetTitle@CLocation@@QEAAXPEBD@Z
+; public: void __cdecl CLocation::SetTitle(unsigned short const * __ptr64) __ptr64
+?SetTitle@CLocation@@QEAAXPEBG@Z
+; public: void __cdecl CCollection::SetVersion(unsigned long) __ptr64
+?SetVersion@CCollection@@QEAAXK@Z
+; public: void __cdecl CLocation::SetVolume(char const * __ptr64) __ptr64
+?SetVolume@CLocation@@QEAAXPEBD@Z
+; public: void __cdecl CLocation::SetVolume(unsigned short const * __ptr64) __ptr64
+?SetVolume@CLocation@@QEAAXPEBG@Z
+; private: int __cdecl CCollection::WriteFolder(class CFolder * __ptr64 * __ptr64) __ptr64
+?WriteFolder@CCollection@@AEAAHPEAPEAVCFolder@@@Z
+; private: int __cdecl CCollection::WriteFolders(class CFolder * __ptr64 * __ptr64) __ptr64
+?WriteFolders@CCollection@@AEAAHPEAPEAVCFolder@@@Z
+; public: int __cdecl CFolder::bIsVisable(void) __ptr64
+?bIsVisable@CFolder@@QEAAHXZ
+; private: void __cdecl CCollection::wssResetNextColNum(void) __ptr64
+?wssResetNextColNum@CCollection@@AEAAXXZ
diff --git a/mingw-w64-crt/lib64/hid.def b/mingw-w64-crt/lib64/hid.def
index 12fdb4c..1be39fc 100644
--- a/mingw-w64-crt/lib64/hid.def
+++ b/mingw-w64-crt/lib64/hid.def
@@ -1,52 +1,52 @@
-; 
-; Exports of file HID.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HID.DLL
-EXPORTS
-HidD_FlushQueue
-HidD_FreePreparsedData
-HidD_GetAttributes
-HidD_GetConfiguration
-HidD_GetFeature
-HidD_GetHidGuid
-HidD_GetIndexedString
-HidD_GetInputReport
-HidD_GetManufacturerString
-HidD_GetMsGenreDescriptor
-HidD_GetNumInputBuffers
-HidD_GetPhysicalDescriptor
-HidD_GetPreparsedData
-HidD_GetProductString
-HidD_GetSerialNumberString
-HidD_Hello
-HidD_SetConfiguration
-HidD_SetFeature
-HidD_SetNumInputBuffers
-HidD_SetOutputReport
-HidP_GetButtonCaps
-HidP_GetCaps
-HidP_GetData
-HidP_GetExtendedAttributes
-HidP_GetLinkCollectionNodes
-HidP_GetScaledUsageValue
-HidP_GetSpecificButtonCaps
-HidP_GetSpecificValueCaps
-HidP_GetUsageValue
-HidP_GetUsageValueArray
-HidP_GetUsages
-HidP_GetUsagesEx
-HidP_GetValueCaps
-HidP_InitializeReportForID
-HidP_MaxDataListLength
-HidP_MaxUsageListLength
-HidP_SetData
-HidP_SetScaledUsageValue
-HidP_SetUsageValue
-HidP_SetUsageValueArray
-HidP_SetUsages
-HidP_TranslateUsagesToI8042ScanCodes
-HidP_UnsetUsages
-HidP_UsageListDifference
+; 
+; Exports of file HID.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HID.DLL
+EXPORTS
+HidD_FlushQueue
+HidD_FreePreparsedData
+HidD_GetAttributes
+HidD_GetConfiguration
+HidD_GetFeature
+HidD_GetHidGuid
+HidD_GetIndexedString
+HidD_GetInputReport
+HidD_GetManufacturerString
+HidD_GetMsGenreDescriptor
+HidD_GetNumInputBuffers
+HidD_GetPhysicalDescriptor
+HidD_GetPreparsedData
+HidD_GetProductString
+HidD_GetSerialNumberString
+HidD_Hello
+HidD_SetConfiguration
+HidD_SetFeature
+HidD_SetNumInputBuffers
+HidD_SetOutputReport
+HidP_GetButtonCaps
+HidP_GetCaps
+HidP_GetData
+HidP_GetExtendedAttributes
+HidP_GetLinkCollectionNodes
+HidP_GetScaledUsageValue
+HidP_GetSpecificButtonCaps
+HidP_GetSpecificValueCaps
+HidP_GetUsageValue
+HidP_GetUsageValueArray
+HidP_GetUsages
+HidP_GetUsagesEx
+HidP_GetValueCaps
+HidP_InitializeReportForID
+HidP_MaxDataListLength
+HidP_MaxUsageListLength
+HidP_SetData
+HidP_SetScaledUsageValue
+HidP_SetUsageValue
+HidP_SetUsageValueArray
+HidP_SetUsages
+HidP_TranslateUsagesToI8042ScanCodes
+HidP_UnsetUsages
+HidP_UsageListDifference
diff --git a/mingw-w64-crt/lib64/hlink.def b/mingw-w64-crt/lib64/hlink.def
index 7f30130..445c670 100644
--- a/mingw-w64-crt/lib64/hlink.def
+++ b/mingw-w64-crt/lib64/hlink.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file hlink.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY hlink.dll
-EXPORTS
-HlinkCreateFromMoniker
-HlinkCreateFromString
-HlinkCreateFromData
-HlinkCreateBrowseContext
-HlinkClone
-HlinkNavigateToStringReference
-HlinkOnNavigate
-HlinkNavigate
-HlinkUpdateStackItem
-HlinkOnRenameDocument
-DllCanUnloadNow
-HlinkResolveMonikerForData
-HlinkResolveStringForData
-OleSaveToStreamEx
-DllGetClassObject
-HlinkParseDisplayName
-DllRegisterServer
-HlinkQueryCreateFromData
-HlinkSetSpecialReference
-HlinkGetSpecialReference
-HlinkCreateShortcut
-HlinkResolveShortcut
-HlinkIsShortcut
-HlinkResolveShortcutToString
-HlinkCreateShortcutFromString
-HlinkGetValueFromParams
-HlinkCreateShortcutFromMoniker
-HlinkResolveShortcutToMoniker
-HlinkTranslateURL
-HlinkCreateExtensionServices
-HlinkPreprocessMoniker
-DllUnregisterServer
+; 
+; Exports of file hlink.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY hlink.dll
+EXPORTS
+HlinkCreateFromMoniker
+HlinkCreateFromString
+HlinkCreateFromData
+HlinkCreateBrowseContext
+HlinkClone
+HlinkNavigateToStringReference
+HlinkOnNavigate
+HlinkNavigate
+HlinkUpdateStackItem
+HlinkOnRenameDocument
+DllCanUnloadNow
+HlinkResolveMonikerForData
+HlinkResolveStringForData
+OleSaveToStreamEx
+DllGetClassObject
+HlinkParseDisplayName
+DllRegisterServer
+HlinkQueryCreateFromData
+HlinkSetSpecialReference
+HlinkGetSpecialReference
+HlinkCreateShortcut
+HlinkResolveShortcut
+HlinkIsShortcut
+HlinkResolveShortcutToString
+HlinkCreateShortcutFromString
+HlinkGetValueFromParams
+HlinkCreateShortcutFromMoniker
+HlinkResolveShortcutToMoniker
+HlinkTranslateURL
+HlinkCreateExtensionServices
+HlinkPreprocessMoniker
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/hmmapi.def b/mingw-w64-crt/lib64/hmmapi.def
index ed5a1f5..dd84d8c 100644
--- a/mingw-w64-crt/lib64/hmmapi.def
+++ b/mingw-w64-crt/lib64/hmmapi.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file HMMAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HMMAPI.dll
-EXPORTS
-MAPIFreeBuffer
-DllRegisterServer
-DllUnregisterServer
-MAPISendDocuments
-MAPILogon
-MAPILogoff
-MAPISendMail
-MAPISaveMail
-MAPIReadMail
-MAPIFindNext
-MAPIDeleteMail
-MAPIAddress
-MAPIDetails
-MAPIResolveName
-BMAPISendMail
-BMAPISaveMail
-BMAPIReadMail
-BMAPIGetReadMail
-BMAPIFindNext
-BMAPIAddress
-BMAPIGetAddress
-BMAPIDetails
-BMAPIResolveName
-MailToProtocolHandler
-OpenInboxHandler
-AddService
-RemoveService
+; 
+; Exports of file HMMAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HMMAPI.dll
+EXPORTS
+MAPIFreeBuffer
+DllRegisterServer
+DllUnregisterServer
+MAPISendDocuments
+MAPILogon
+MAPILogoff
+MAPISendMail
+MAPISaveMail
+MAPIReadMail
+MAPIFindNext
+MAPIDeleteMail
+MAPIAddress
+MAPIDetails
+MAPIResolveName
+BMAPISendMail
+BMAPISaveMail
+BMAPIReadMail
+BMAPIGetReadMail
+BMAPIFindNext
+BMAPIAddress
+BMAPIGetAddress
+BMAPIDetails
+BMAPIResolveName
+MailToProtocolHandler
+OpenInboxHandler
+AddService
+RemoveService
diff --git a/mingw-w64-crt/lib64/hnetcfg.def b/mingw-w64-crt/lib64/hnetcfg.def
index 6b82407..a7e0ce3 100644
--- a/mingw-w64-crt/lib64/hnetcfg.def
+++ b/mingw-w64-crt/lib64/hnetcfg.def
@@ -1,51 +1,51 @@
-; 
-; Exports of file HNetCfg.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HNetCfg.dll
-EXPORTS
-HNetDeleteRasConnection
-HNetFreeSharingServicesPage
-HNetGetSharingServicesPage
-WinBomConfigureWindowsFirewall
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-HNetFreeFirewallLoggingSettings
-HNetGetFirewallSettingsPage
-HNetGetShareAndBridgeSettings
-HNetSetShareAndBridgeSettings
-HNetSharedAccessSettingsDlg
-HNetSharingAndFirewallSettingsDlg
-IcfChangeNotificationCreate
-IcfChangeNotificationDestroy
-IcfCheckAppAuthorization
-IcfCloseDynamicFwPort
-IcfConnect
-IcfDisconnect
-IcfFreeAdapters
-IcfFreeDynamicFwPorts
-IcfFreeProfile
-IcfFreeString
-IcfFreeTickets
-IcfGetAdapters
-IcfGetCurrentProfileType
-IcfGetDynamicFwPorts
-IcfGetOperationalMode
-IcfGetProfile
-IcfGetTickets
-IcfIsIcmpTypeAllowed
-IcfIsPortAllowed
-IcfOpenDynamicFwPort
-IcfOpenDynamicFwPortWithoutSocket
-IcfOpenFileSharingPorts
-IcfRefreshPolicy
-IcfRemoveDisabledAuthorizedApp
-IcfSetProfile
-IcfSetServicePermission
-IcfSubNetsGetScope
-IcfSubNetsIsStringValid
-IcfSubNetsToString
+; 
+; Exports of file HNetCfg.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HNetCfg.dll
+EXPORTS
+HNetDeleteRasConnection
+HNetFreeSharingServicesPage
+HNetGetSharingServicesPage
+WinBomConfigureWindowsFirewall
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+HNetFreeFirewallLoggingSettings
+HNetGetFirewallSettingsPage
+HNetGetShareAndBridgeSettings
+HNetSetShareAndBridgeSettings
+HNetSharedAccessSettingsDlg
+HNetSharingAndFirewallSettingsDlg
+IcfChangeNotificationCreate
+IcfChangeNotificationDestroy
+IcfCheckAppAuthorization
+IcfCloseDynamicFwPort
+IcfConnect
+IcfDisconnect
+IcfFreeAdapters
+IcfFreeDynamicFwPorts
+IcfFreeProfile
+IcfFreeString
+IcfFreeTickets
+IcfGetAdapters
+IcfGetCurrentProfileType
+IcfGetDynamicFwPorts
+IcfGetOperationalMode
+IcfGetProfile
+IcfGetTickets
+IcfIsIcmpTypeAllowed
+IcfIsPortAllowed
+IcfOpenDynamicFwPort
+IcfOpenDynamicFwPortWithoutSocket
+IcfOpenFileSharingPorts
+IcfRefreshPolicy
+IcfRemoveDisabledAuthorizedApp
+IcfSetProfile
+IcfSetServicePermission
+IcfSubNetsGetScope
+IcfSubNetsIsStringValid
+IcfSubNetsToString
diff --git a/mingw-w64-crt/lib64/hnetmon.def b/mingw-w64-crt/lib64/hnetmon.def
index 321fd76..d40ae71 100644
--- a/mingw-w64-crt/lib64/hnetmon.def
+++ b/mingw-w64-crt/lib64/hnetmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file hnetmon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY hnetmon.dll
-EXPORTS
-InitHelperDll
+; 
+; Exports of file hnetmon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY hnetmon.dll
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/hnetwiz.def b/mingw-w64-crt/lib64/hnetwiz.def
index 7ceb6da..2af41ec 100644
--- a/mingw-w64-crt/lib64/hnetwiz.def
+++ b/mingw-w64-crt/lib64/hnetwiz.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file HNETWIZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HNETWIZ.dll
-EXPORTS
-HomeNetWizardRunDll
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file HNETWIZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HNETWIZ.dll
+EXPORTS
+HomeNetWizardRunDll
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/hostmib.def b/mingw-w64-crt/lib64/hostmib.def
index d69ad98..74d245d 100644
--- a/mingw-w64-crt/lib64/hostmib.def
+++ b/mingw-w64-crt/lib64/hostmib.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file hostmib.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY hostmib.dll
-EXPORTS
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file hostmib.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY hostmib.dll
+EXPORTS
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/hotplug.def b/mingw-w64-crt/lib64/hotplug.def
index e5b2ab1..8bedf30 100644
--- a/mingw-w64-crt/lib64/hotplug.def
+++ b/mingw-w64-crt/lib64/hotplug.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file hotplug.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY hotplug.DLL
-EXPORTS
-CPlApplet
-HotPlugChildWithInvalidIdW
-HotPlugDriverBlockedW
-HotPlugEjectVetoedW
-HotPlugHibernateVetoedW
-HotPlugRemovalVetoedW
-HotPlugSafeRemovalNotificationW
-HotPlugStandbyVetoedW
-HotPlugWarmEjectVetoedW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file hotplug.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY hotplug.DLL
+EXPORTS
+CPlApplet
+HotPlugChildWithInvalidIdW
+HotPlugDriverBlockedW
+HotPlugEjectVetoedW
+HotPlugHibernateVetoedW
+HotPlugRemovalVetoedW
+HotPlugSafeRemovalNotificationW
+HotPlugStandbyVetoedW
+HotPlugWarmEjectVetoedW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/hticons.def b/mingw-w64-crt/lib64/hticons.def
index 38a56a5..e116857 100644
--- a/mingw-w64-crt/lib64/hticons.def
+++ b/mingw-w64-crt/lib64/hticons.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file HTICONS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTICONS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file HTICONS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTICONS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/htrn_jis.def b/mingw-w64-crt/lib64/htrn_jis.def
index df469d3..5a6cd16 100644
--- a/mingw-w64-crt/lib64/htrn_jis.def
+++ b/mingw-w64-crt/lib64/htrn_jis.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file HTRN_JIS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTRN_JIS.dll
-EXPORTS
-transCharIn
-transCharOut
-transCreateHandle
-transDestroyHandle
-transDoDialog
-transInitHandle
-transLoadHandle
-transSaveHandle
+; 
+; Exports of file HTRN_JIS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTRN_JIS.dll
+EXPORTS
+transCharIn
+transCharOut
+transCreateHandle
+transDestroyHandle
+transDoDialog
+transInitHandle
+transLoadHandle
+transSaveHandle
diff --git a/mingw-w64-crt/lib64/httpapi.def b/mingw-w64-crt/lib64/httpapi.def
index b6e397c..2187be2 100644
--- a/mingw-w64-crt/lib64/httpapi.def
+++ b/mingw-w64-crt/lib64/httpapi.def
@@ -1,53 +1,53 @@
-; 
-; Exports of file HTTPAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTTPAPI.dll
-EXPORTS
-HttpAddFragmentToCache
-HttpAddUrl
-HttpAddUrlToConfigGroup
-HttpCreateAppPool
-HttpCreateConfigGroup
-HttpCreateFilter
-HttpCreateHttpHandle
-HttpDeleteConfigGroup
-HttpDeleteServiceConfiguration
-HttpFilterAccept
-HttpFilterAppRead
-HttpFilterAppWrite
-HttpFilterAppWriteAndRawRead
-HttpFilterClose
-HttpFilterRawRead
-HttpFilterRawWrite
-HttpFilterRawWriteAndAppRead
-HttpFlushResponseCache
-HttpGetCounters
-HttpInitialize
-HttpOpenAppPool
-HttpOpenControlChannel
-HttpOpenFilter
-HttpQueryAppPoolInformation
-HttpQueryConfigGroupInformation
-HttpQueryControlChannelInformation
-HttpQueryServiceConfiguration
-HttpReadFragmentFromCache
-HttpReceiveClientCertificate
-HttpReceiveHttpRequest
-HttpReceiveRequestEntityBody
-HttpRemoveAllUrlsFromConfigGroup
-HttpRemoveUrl
-HttpRemoveUrlFromConfigGroup
-HttpSendHttpResponse
-HttpSendResponseEntityBody
-HttpSetAppPoolInformation
-HttpSetConfigGroupInformation
-HttpSetControlChannelInformation
-HttpSetServiceConfiguration
-HttpShutdownAppPool
-HttpShutdownFilter
-HttpTerminate
-HttpWaitForDemandStart
-HttpWaitForDisconnect
+; 
+; Exports of file HTTPAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTTPAPI.dll
+EXPORTS
+HttpAddFragmentToCache
+HttpAddUrl
+HttpAddUrlToConfigGroup
+HttpCreateAppPool
+HttpCreateConfigGroup
+HttpCreateFilter
+HttpCreateHttpHandle
+HttpDeleteConfigGroup
+HttpDeleteServiceConfiguration
+HttpFilterAccept
+HttpFilterAppRead
+HttpFilterAppWrite
+HttpFilterAppWriteAndRawRead
+HttpFilterClose
+HttpFilterRawRead
+HttpFilterRawWrite
+HttpFilterRawWriteAndAppRead
+HttpFlushResponseCache
+HttpGetCounters
+HttpInitialize
+HttpOpenAppPool
+HttpOpenControlChannel
+HttpOpenFilter
+HttpQueryAppPoolInformation
+HttpQueryConfigGroupInformation
+HttpQueryControlChannelInformation
+HttpQueryServiceConfiguration
+HttpReadFragmentFromCache
+HttpReceiveClientCertificate
+HttpReceiveHttpRequest
+HttpReceiveRequestEntityBody
+HttpRemoveAllUrlsFromConfigGroup
+HttpRemoveUrl
+HttpRemoveUrlFromConfigGroup
+HttpSendHttpResponse
+HttpSendResponseEntityBody
+HttpSetAppPoolInformation
+HttpSetConfigGroupInformation
+HttpSetControlChannelInformation
+HttpSetServiceConfiguration
+HttpShutdownAppPool
+HttpShutdownFilter
+HttpTerminate
+HttpWaitForDemandStart
+HttpWaitForDisconnect
diff --git a/mingw-w64-crt/lib64/httpext.def b/mingw-w64-crt/lib64/httpext.def
index 7cf2d96..63d38df 100644
--- a/mingw-w64-crt/lib64/httpext.def
+++ b/mingw-w64-crt/lib64/httpext.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file HTTPEXT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTTPEXT.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file HTTPEXT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTTPEXT.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/httpmib.def b/mingw-w64-crt/lib64/httpmib.def
index 08c0873..1729b48 100644
--- a/mingw-w64-crt/lib64/httpmib.def
+++ b/mingw-w64-crt/lib64/httpmib.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file HTTPMIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTTPMIB.dll
-EXPORTS
-DllLibMain
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file HTTPMIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTTPMIB.dll
+EXPORTS
+DllLibMain
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/httpodbc.def b/mingw-w64-crt/lib64/httpodbc.def
index 018d6f1..496a14b 100644
--- a/mingw-w64-crt/lib64/httpodbc.def
+++ b/mingw-w64-crt/lib64/httpodbc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file HTTPODBC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTTPODBC.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file HTTPODBC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTTPODBC.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/htui.def b/mingw-w64-crt/lib64/htui.def
index d0527e9..a778a27 100644
--- a/mingw-w64-crt/lib64/htui.def
+++ b/mingw-w64-crt/lib64/htui.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file htUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY htUI.dll
-EXPORTS
-DllMain
-HTUI_ColorAdjustment
-HTUI_ColorAdjustmentA
-HTUI_ColorAdjustmentW
-HTUI_DeviceColorAdjustment
-HTUI_DeviceColorAdjustmentA
-HTUI_DeviceColorAdjustmentW
+; 
+; Exports of file htUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY htUI.dll
+EXPORTS
+DllMain
+HTUI_ColorAdjustment
+HTUI_ColorAdjustmentA
+HTUI_ColorAdjustmentW
+HTUI_DeviceColorAdjustment
+HTUI_DeviceColorAdjustmentA
+HTUI_DeviceColorAdjustmentW
diff --git a/mingw-w64-crt/lib64/hypertrm.def b/mingw-w64-crt/lib64/hypertrm.def
index eaf82c4..9c7ddff 100644
--- a/mingw-w64-crt/lib64/hypertrm.def
+++ b/mingw-w64-crt/lib64/hypertrm.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file HYPERTRM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HYPERTRM.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-InitInstance
-MessageLoop
-sessQuerySysFileHdl
-sessQueryTranslateHdl
-sfGetSessionItem
-sfPutSessionItem
+; 
+; Exports of file HYPERTRM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HYPERTRM.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+InitInstance
+MessageLoop
+sessQuerySysFileHdl
+sessQueryTranslateHdl
+sfGetSessionItem
+sfPutSessionItem
diff --git a/mingw-w64-crt/lib64/iasacct.def b/mingw-w64-crt/lib64/iasacct.def
index 8dde722..a09f1c3 100644
--- a/mingw-w64-crt/lib64/iasacct.def
+++ b/mingw-w64-crt/lib64/iasacct.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iasacct.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iasacct.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iasacct.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iasacct.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iasads.def b/mingw-w64-crt/lib64/iasads.def
index 0149d15..11acdc9 100644
--- a/mingw-w64-crt/lib64/iasads.def
+++ b/mingw-w64-crt/lib64/iasads.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iasads.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iasads.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iasads.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iasads.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iashlpr.def b/mingw-w64-crt/lib64/iashlpr.def
index 82f6e02..5d29de7 100644
--- a/mingw-w64-crt/lib64/iashlpr.def
+++ b/mingw-w64-crt/lib64/iashlpr.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file iashlpr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iashlpr.dll
-EXPORTS
-AllocateAttributes
-ConfigureIas
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-DoRequest
-FreeAttributes
-InitializeIas
-MemAllocIas
-MemFreeIas
-MemReallocIas
-ShutdownIas
+; 
+; Exports of file iashlpr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iashlpr.dll
+EXPORTS
+AllocateAttributes
+ConfigureIas
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+DoRequest
+FreeAttributes
+InitializeIas
+MemAllocIas
+MemFreeIas
+MemReallocIas
+ShutdownIas
diff --git a/mingw-w64-crt/lib64/iasnap.def b/mingw-w64-crt/lib64/iasnap.def
index 711489b..207062a 100644
--- a/mingw-w64-crt/lib64/iasnap.def
+++ b/mingw-w64-crt/lib64/iasnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iasnap.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iasnap.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iasnap.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iasnap.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iaspolcy.def b/mingw-w64-crt/lib64/iaspolcy.def
index 6ec9bf4..657db6c 100644
--- a/mingw-w64-crt/lib64/iaspolcy.def
+++ b/mingw-w64-crt/lib64/iaspolcy.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file iaspolcy.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iaspolcy.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IASAttributeAddRef
-IASAttributeAlloc
-IASAttributeAnsiAlloc
-IASAttributeRelease
-IASAttributeUnicodeAlloc
+; 
+; Exports of file iaspolcy.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iaspolcy.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IASAttributeAddRef
+IASAttributeAlloc
+IASAttributeAnsiAlloc
+IASAttributeRelease
+IASAttributeUnicodeAlloc
diff --git a/mingw-w64-crt/lib64/iasrad.def b/mingw-w64-crt/lib64/iasrad.def
index 6d9987f..1418f80 100644
--- a/mingw-w64-crt/lib64/iasrad.def
+++ b/mingw-w64-crt/lib64/iasrad.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file iasrad.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iasrad.dll
-EXPORTS
-; public: long __cdecl VSAFilter::initialize(void) __ptr64
-?initialize@VSAFilter@@QEAAJXZ
-; public: long __cdecl VSAFilter::radiusFromIAS(struct IAttributesRaw * __ptr64)const  __ptr64
-?radiusFromIAS@VSAFilter@@QEBAJPEAUIAttributesRaw@@@Z
-; public: long __cdecl VSAFilter::radiusToIAS(unsigned char * __ptr64,unsigned long,class IASTL::IASAttributeVector & __ptr64)const  __ptr64
-?radiusToIAS@VSAFilter@@QEBAJPEAEKAEAVIASAttributeVector@IASTL@@@Z
-; public: long __cdecl VSAFilter::radiusToIAS(struct IAttributesRaw * __ptr64)const  __ptr64
-?radiusToIAS@VSAFilter@@QEBAJPEAUIAttributesRaw@@@Z
-; public: long __cdecl VSAFilter::shutdown(void) __ptr64
-?shutdown@VSAFilter@@QEAAJXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iasrad.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iasrad.dll
+EXPORTS
+; public: long __cdecl VSAFilter::initialize(void) __ptr64
+?initialize@VSAFilter@@QEAAJXZ
+; public: long __cdecl VSAFilter::radiusFromIAS(struct IAttributesRaw * __ptr64)const  __ptr64
+?radiusFromIAS@VSAFilter@@QEBAJPEAUIAttributesRaw@@@Z
+; public: long __cdecl VSAFilter::radiusToIAS(unsigned char * __ptr64,unsigned long,class IASTL::IASAttributeVector & __ptr64)const  __ptr64
+?radiusToIAS@VSAFilter@@QEBAJPEAEKAEAVIASAttributeVector@IASTL@@@Z
+; public: long __cdecl VSAFilter::radiusToIAS(struct IAttributesRaw * __ptr64)const  __ptr64
+?radiusToIAS@VSAFilter@@QEBAJPEAUIAttributesRaw@@@Z
+; public: long __cdecl VSAFilter::shutdown(void) __ptr64
+?shutdown@VSAFilter@@QEAAJXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iassam.def b/mingw-w64-crt/lib64/iassam.def
index 53f14d3..373a51d 100644
--- a/mingw-w64-crt/lib64/iassam.def
+++ b/mingw-w64-crt/lib64/iassam.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file iassam.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iassam.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IASParmsFreeUserParms
-IASParmsQueryRasUser0
-IASParmsQueryUserProperty
-IASParmsSetRasUser0
-IASParmsSetUserProperty
+; 
+; Exports of file iassam.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iassam.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IASParmsFreeUserParms
+IASParmsQueryRasUser0
+IASParmsQueryUserProperty
+IASParmsSetRasUser0
+IASParmsSetUserProperty
diff --git a/mingw-w64-crt/lib64/iassdo.def b/mingw-w64-crt/lib64/iassdo.def
index 9bf7082..62dca31 100644
--- a/mingw-w64-crt/lib64/iassdo.def
+++ b/mingw-w64-crt/lib64/iassdo.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iassdo.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iassdo.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iassdo.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iassdo.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iassvcs.def b/mingw-w64-crt/lib64/iassvcs.def
index 50606f0..bda331c 100644
--- a/mingw-w64-crt/lib64/iassvcs.def
+++ b/mingw-w64-crt/lib64/iassvcs.def
@@ -1,30 +1,30 @@
-; 
-; Exports of file iassvcs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iassvcs.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IASAdler32
-IASAllocateUniqueID
-IASGetDictionary
-IASGetHostByName
-IASGetLocalDictionary
-IASGetProductLimits
-IASGlobalLock
-IASGlobalUnlock
-IASInitialize
-IASRadiusCrypt
-IASRegisterComponent
-IASReportEvent
-IASReportLicenseViolation
-IASRequestThread
-IASSetMaxNumberOfThreads
-IASSetMaxThreadIdle
-IASUninitialize
-IASVariantChangeType
+; 
+; Exports of file iassvcs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iassvcs.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IASAdler32
+IASAllocateUniqueID
+IASGetDictionary
+IASGetHostByName
+IASGetLocalDictionary
+IASGetProductLimits
+IASGlobalLock
+IASGlobalUnlock
+IASInitialize
+IASRadiusCrypt
+IASRegisterComponent
+IASReportEvent
+IASReportLicenseViolation
+IASRequestThread
+IASSetMaxNumberOfThreads
+IASSetMaxThreadIdle
+IASUninitialize
+IASVariantChangeType
diff --git a/mingw-w64-crt/lib64/icaapi.def b/mingw-w64-crt/lib64/icaapi.def
index 17a436d..c88c479 100644
--- a/mingw-w64-crt/lib64/icaapi.def
+++ b/mingw-w64-crt/lib64/icaapi.def
@@ -1,42 +1,42 @@
-; 
-; Exports of file ICAAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICAAPI.dll
-EXPORTS
-IcaCdCreateThread
-IcaCdIoControl
-IcaCdWaitForMultipleObjects
-IcaCdWaitForSingleObject
-IcaChannelClose
-IcaChannelIoControl
-IcaChannelOpen
-IcaChannelTrace
-IcaClose
-IcaIoControl
-IcaMemoryAllocate
-IcaMemoryFree
-IcaOpen
-IcaPushConsoleStack
-IcaStackCallback
-IcaStackClose
-IcaStackConnectionAccept
-IcaStackConnectionClose
-IcaStackConnectionRequest
-IcaStackConnectionWait
-IcaStackCreateShadowEndpoint
-IcaStackDisconnect
-IcaStackIoControl
-IcaStackIoControlNoConnLock
-IcaStackOpen
-IcaStackQueryLocalAddress
-IcaStackQueryState
-IcaStackReconnect
-IcaStackTerminate
-IcaStackTrace
-IcaStackUnlock
-IcaSystemTrace
-IcaTrace
-_IcaStackIoControl
+; 
+; Exports of file ICAAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICAAPI.dll
+EXPORTS
+IcaCdCreateThread
+IcaCdIoControl
+IcaCdWaitForMultipleObjects
+IcaCdWaitForSingleObject
+IcaChannelClose
+IcaChannelIoControl
+IcaChannelOpen
+IcaChannelTrace
+IcaClose
+IcaIoControl
+IcaMemoryAllocate
+IcaMemoryFree
+IcaOpen
+IcaPushConsoleStack
+IcaStackCallback
+IcaStackClose
+IcaStackConnectionAccept
+IcaStackConnectionClose
+IcaStackConnectionRequest
+IcaStackConnectionWait
+IcaStackCreateShadowEndpoint
+IcaStackDisconnect
+IcaStackIoControl
+IcaStackIoControlNoConnLock
+IcaStackOpen
+IcaStackQueryLocalAddress
+IcaStackQueryState
+IcaStackReconnect
+IcaStackTerminate
+IcaStackTrace
+IcaStackUnlock
+IcaSystemTrace
+IcaTrace
+_IcaStackIoControl
diff --git a/mingw-w64-crt/lib64/icfgnt5.def b/mingw-w64-crt/lib64/icfgnt5.def
index 5eb9dbf..59db645 100644
--- a/mingw-w64-crt/lib64/icfgnt5.def
+++ b/mingw-w64-crt/lib64/icfgnt5.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file ICFGNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICFGNT.dll
-EXPORTS
-IcfgInstallModem
-IcfgNeedModem
-IcfgSetInstallSourcePath
-InetSetAutodial
-InetSetAutodialAddress
-IcfgGetLastInstallErrorText
-IcfgInstallInetComponents
-IcfgIsFileSharingTurnedOn
-IcfgIsGlobalDNS
-IcfgNeedInetComponents
-IcfgRemoveGlobalDNS
-IcfgStartServices
-IcfgTurnOffFileSharing
-InetGetAutodial
-InetGetSupportedPlatform
+; 
+; Exports of file ICFGNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICFGNT.dll
+EXPORTS
+IcfgInstallModem
+IcfgNeedModem
+IcfgSetInstallSourcePath
+InetSetAutodial
+InetSetAutodialAddress
+IcfgGetLastInstallErrorText
+IcfgInstallInetComponents
+IcfgIsFileSharingTurnedOn
+IcfgIsGlobalDNS
+IcfgNeedInetComponents
+IcfgRemoveGlobalDNS
+IcfgStartServices
+IcfgTurnOffFileSharing
+InetGetAutodial
+InetGetSupportedPlatform
diff --git a/mingw-w64-crt/lib64/icm32.def b/mingw-w64-crt/lib64/icm32.def
index 69dab06..1b2873a 100644
--- a/mingw-w64-crt/lib64/icm32.def
+++ b/mingw-w64-crt/lib64/icm32.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file ICM32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICM32.dll
-EXPORTS
-CMCheckColors
-CMCheckColorsInGamut
-CMCheckRGBs
-CMCreateDeviceLinkProfile
-CMCreateMultiProfileTransform
-CMCreateProfile
-CMCreateProfileW
-CMCreateTransform
-CMCreateTransformExt
-CMCreateTransformExtW
-CMCreateTransformW
-CMDeleteTransform
-CMGetInfo
-CMIsProfileValid
-CMTranslateColors
-CMTranslateRGB
-CMTranslateRGBs
-CMTranslateRGBsExt
-CMConvertColorNameToIndex
-CMConvertIndexToColorName
-CMGetNamedProfileInfo
+; 
+; Exports of file ICM32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICM32.dll
+EXPORTS
+CMCheckColors
+CMCheckColorsInGamut
+CMCheckRGBs
+CMCreateDeviceLinkProfile
+CMCreateMultiProfileTransform
+CMCreateProfile
+CMCreateProfileW
+CMCreateTransform
+CMCreateTransformExt
+CMCreateTransformExtW
+CMCreateTransformW
+CMDeleteTransform
+CMGetInfo
+CMIsProfileValid
+CMTranslateColors
+CMTranslateRGB
+CMTranslateRGBs
+CMTranslateRGBsExt
+CMConvertColorNameToIndex
+CMConvertIndexToColorName
+CMGetNamedProfileInfo
diff --git a/mingw-w64-crt/lib64/icmp.def b/mingw-w64-crt/lib64/icmp.def
index b3a33ee..5e981ed 100644
--- a/mingw-w64-crt/lib64/icmp.def
+++ b/mingw-w64-crt/lib64/icmp.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file icmp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY icmp.dll
-EXPORTS
-IcmpCloseHandle
-IcmpCreateFile
-IcmpParseReplies
-IcmpSendEcho
-IcmpSendEcho2
-do_echo_rep
-do_echo_req
-register_icmp
+; 
+; Exports of file icmp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY icmp.dll
+EXPORTS
+IcmpCloseHandle
+IcmpCreateFile
+IcmpParseReplies
+IcmpSendEcho
+IcmpSendEcho2
+do_echo_rep
+do_echo_req
+register_icmp
diff --git a/mingw-w64-crt/lib64/icmui.def b/mingw-w64-crt/lib64/icmui.def
index 1c3eabb..6c1bc82 100644
--- a/mingw-w64-crt/lib64/icmui.def
+++ b/mingw-w64-crt/lib64/icmui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ICMUI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICMUI.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-SetupColorMatchingA
-SetupColorMatchingW
+; 
+; Exports of file ICMUI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICMUI.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+SetupColorMatchingA
+SetupColorMatchingW
diff --git a/mingw-w64-crt/lib64/icwconn.def b/mingw-w64-crt/lib64/icwconn.def
index ca1eb6c..cd9121e 100644
--- a/mingw-w64-crt/lib64/icwconn.def
+++ b/mingw-w64-crt/lib64/icwconn.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ICWCONN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICWCONN.dll
-EXPORTS
-GetICWCONNVersion
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ICWCONN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICWCONN.dll
+EXPORTS
+GetICWCONNVersion
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/icwdial.def b/mingw-w64-crt/lib64/icwdial.def
index 9bd8850..cce3920 100644
--- a/mingw-w64-crt/lib64/icwdial.def
+++ b/mingw-w64-crt/lib64/icwdial.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file AUTODIAL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AUTODIAL.dll
-EXPORTS
-AutoDialHandler
-AutoDialInit
-RasSetEntryPropertiesScriptPatch
-DialingDownloadDialog
-DialingErrorDialog
-ICWGetRasEntry
+; 
+; Exports of file AUTODIAL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AUTODIAL.dll
+EXPORTS
+AutoDialHandler
+AutoDialInit
+RasSetEntryPropertiesScriptPatch
+DialingDownloadDialog
+DialingErrorDialog
+ICWGetRasEntry
diff --git a/mingw-w64-crt/lib64/icwdl.def b/mingw-w64-crt/lib64/icwdl.def
index 9874cc6..7070b51 100644
--- a/mingw-w64-crt/lib64/icwdl.def
+++ b/mingw-w64-crt/lib64/icwdl.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file icwdl.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY icwdl.dll
-EXPORTS
-DownLoadCancel
-DownLoadClose
-DownLoadExecute
-DownLoadInit
-DownLoadProcess
-DownLoadSetStatusCallback
+; 
+; Exports of file icwdl.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY icwdl.dll
+EXPORTS
+DownLoadCancel
+DownLoadClose
+DownLoadExecute
+DownLoadInit
+DownLoadProcess
+DownLoadSetStatusCallback
diff --git a/mingw-w64-crt/lib64/icwhelp.def b/mingw-w64-crt/lib64/icwhelp.def
index 289dec3..e9e693f 100644
--- a/mingw-w64-crt/lib64/icwhelp.def
+++ b/mingw-w64-crt/lib64/icwhelp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file icwhelp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY icwhelp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file icwhelp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY icwhelp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/icwphbk.def b/mingw-w64-crt/lib64/icwphbk.def
index bb21ab7..395f81a 100644
--- a/mingw-w64-crt/lib64/icwphbk.def
+++ b/mingw-w64-crt/lib64/icwphbk.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file icwphbk.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY icwphbk.dll
-EXPORTS
-GetSupportNumbers
-PhbkGenericDlgProc
-PhoneBookDisplaySignUpNumbers
-PhoneBookGetCanonical
-PhoneBookLoad
-PhoneBookMergeChanges
-PhoneBookSuggestNumbers
-PhoneBookUnload
+; 
+; Exports of file icwphbk.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY icwphbk.dll
+EXPORTS
+GetSupportNumbers
+PhbkGenericDlgProc
+PhoneBookDisplaySignUpNumbers
+PhoneBookGetCanonical
+PhoneBookLoad
+PhoneBookMergeChanges
+PhoneBookSuggestNumbers
+PhoneBookUnload
diff --git a/mingw-w64-crt/lib64/icwutil.def b/mingw-w64-crt/lib64/icwutil.def
index 60c3c0c..81be97c 100644
--- a/mingw-w64-crt/lib64/icwutil.def
+++ b/mingw-w64-crt/lib64/icwutil.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file ICWUTIL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICWUTIL.dll
-EXPORTS
-RegisterServer
-URLAppendQueryPair
-URLEncode
-UnregisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ICWUTIL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICWUTIL.dll
+EXPORTS
+RegisterServer
+URLAppendQueryPair
+URLEncode
+UnregisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/idq.def b/mingw-w64-crt/lib64/idq.def
index 90e7daa..fc7135c 100644
--- a/mingw-w64-crt/lib64/idq.def
+++ b/mingw-w64-crt/lib64/idq.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file IDQ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IDQ.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file IDQ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IDQ.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/ieakeng.def b/mingw-w64-crt/lib64/ieakeng.def
index 6b1f695..6c43d09 100644
--- a/mingw-w64-crt/lib64/ieakeng.def
+++ b/mingw-w64-crt/lib64/ieakeng.def
@@ -1,152 +1,152 @@
-; 
-; Exports of file IEAKENG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IEAKENG.dll
-EXPORTS
-AddADMItemA
-AddADMItemW
-BToolbar_Edit
-BToolbar_InitA
-BToolbar_InitW
-BToolbar_Remove
-BToolbar_SaveA
-BToolbar_SaveW
-BrowseForFileA
-BrowseForFileW
-BrowseForFolderA
-BrowseForFolderW
-BuildPalette
-CanDeleteADM
-CheckField
-CheckForDupKeys
-CheckVerA
-CheckVerW
-CopyAnimBmpA
-CopyAnimBmpW
-CopyHttFileA
-CopyHttFileW
-CopyLogoBmpA
-CopyLogoBmpW
-CopyWallPaperA
-CopyWallPaperW
-CreateADMWindow
-DeleteADMItemA
-DeleteADMItemW
-DeleteADMItemsA
-DeleteADMItemsW
-DeleteFavoriteA
-DeleteFavoriteW
-DestroyADMWindow
-DisplayADMItem
-DoReboot
-EncodeSignatureA
-EncodeSignatureW
-ErrorMessageBox
-ExportFavoritesA
-ExportFavoritesW
-ExportQuickLinksA
-ExportQuickLinksW
-ExportRegKey2InfA
-ExportRegKey2InfW
-ExportRegTree2InfA
-ExportRegTree2InfW
-ExportRegValue2InfA
-ExportRegValue2InfW
-GenerateNewVersionStrA
-GenerateNewVersionStrW
-GetAdmFileListA
-GetAdmFileListW
-GetAdmWindowHandle
-GetBaseFileNameA
-GetBaseFileNameW
-GetFavoriteUrlA
-GetFavoriteUrlW
-GetFavoritesInfoTipA
-GetFavoritesInfoTipW
-GetFavoritesMaxNumber
-GetFavoritesNumber
-GetProxyDlgA
-GetProxyDlgW
-ImportADMFileA
-ImportADMFileW
-ImportADTInfoA
-ImportADTInfoW
-ImportAuthCodeA
-ImportAuthCodeW
-ImportConnectSetA
-ImportConnectSetW
-ImportFavoritesA
-ImportFavoritesCmdA
-ImportFavoritesCmdW
-ImportFavoritesW
-ImportLDAPBitmapA
-ImportLDAPBitmapW
-ImportOEInfoA
-ImportOEInfoW
-ImportProgramsA
-ImportProgramsW
-ImportQuickLinksA
-ImportQuickLinksW
-ImportRatingsA
-ImportRatingsW
-ImportSiteCertA
-ImportSiteCertW
-ImportToolbarInfoA
-ImportToolbarInfoW
-ImportZonesA
-ImportZonesW
-InitializeStartSearchA
-InitializeStartSearchW
-IsADMFileVisibleA
-IsADMFileVisibleW
-IsAnimBitmapFileValidA
-IsAnimBitmapFileValidW
-IsBitmapFileValidA
-IsBitmapFileValidW
-IsFavoriteItem
-LoadADMFilesA
-LoadADMFilesW
-MigrateFavoritesA
-MigrateFavoritesW
-MigrateToOldFavoritesA
-MigrateToOldFavoritesW
-ModifyAuthCode
-ModifyFavoriteA
-ModifyFavoriteW
-ModifyRatings
-ModifySiteCert
-ModifyZones
-MoveADMWindow
-MoveDownFavorite
-MoveUpFavorite
-NewFolder
-NewUrlA
-NewUrlW
-ProcessFavSelChange
-ResetAdmFilesA
-ResetAdmFilesW
-SaveADMItem
-SaveAdmFilesA
-SaveAdmFilesW
-SaveStartSearchA
-SaveStartSearchW
-SelectADMItem
-SetADMWindowTextA
-SetADMWindowTextW
-SetLBWidth
-SetOrClearVersionInfoA
-SetOrClearVersionInfoW
-SetProxyDlgA
-SetProxyDlgW
-ShowADMWindow
-ShowBitmapA
-ShowBitmapW
-ShowDeskCpl
-ShowInetcpl
-SignFileA
-SignFileW
-TestURLA
-TestURLW
+; 
+; Exports of file IEAKENG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IEAKENG.dll
+EXPORTS
+AddADMItemA
+AddADMItemW
+BToolbar_Edit
+BToolbar_InitA
+BToolbar_InitW
+BToolbar_Remove
+BToolbar_SaveA
+BToolbar_SaveW
+BrowseForFileA
+BrowseForFileW
+BrowseForFolderA
+BrowseForFolderW
+BuildPalette
+CanDeleteADM
+CheckField
+CheckForDupKeys
+CheckVerA
+CheckVerW
+CopyAnimBmpA
+CopyAnimBmpW
+CopyHttFileA
+CopyHttFileW
+CopyLogoBmpA
+CopyLogoBmpW
+CopyWallPaperA
+CopyWallPaperW
+CreateADMWindow
+DeleteADMItemA
+DeleteADMItemW
+DeleteADMItemsA
+DeleteADMItemsW
+DeleteFavoriteA
+DeleteFavoriteW
+DestroyADMWindow
+DisplayADMItem
+DoReboot
+EncodeSignatureA
+EncodeSignatureW
+ErrorMessageBox
+ExportFavoritesA
+ExportFavoritesW
+ExportQuickLinksA
+ExportQuickLinksW
+ExportRegKey2InfA
+ExportRegKey2InfW
+ExportRegTree2InfA
+ExportRegTree2InfW
+ExportRegValue2InfA
+ExportRegValue2InfW
+GenerateNewVersionStrA
+GenerateNewVersionStrW
+GetAdmFileListA
+GetAdmFileListW
+GetAdmWindowHandle
+GetBaseFileNameA
+GetBaseFileNameW
+GetFavoriteUrlA
+GetFavoriteUrlW
+GetFavoritesInfoTipA
+GetFavoritesInfoTipW
+GetFavoritesMaxNumber
+GetFavoritesNumber
+GetProxyDlgA
+GetProxyDlgW
+ImportADMFileA
+ImportADMFileW
+ImportADTInfoA
+ImportADTInfoW
+ImportAuthCodeA
+ImportAuthCodeW
+ImportConnectSetA
+ImportConnectSetW
+ImportFavoritesA
+ImportFavoritesCmdA
+ImportFavoritesCmdW
+ImportFavoritesW
+ImportLDAPBitmapA
+ImportLDAPBitmapW
+ImportOEInfoA
+ImportOEInfoW
+ImportProgramsA
+ImportProgramsW
+ImportQuickLinksA
+ImportQuickLinksW
+ImportRatingsA
+ImportRatingsW
+ImportSiteCertA
+ImportSiteCertW
+ImportToolbarInfoA
+ImportToolbarInfoW
+ImportZonesA
+ImportZonesW
+InitializeStartSearchA
+InitializeStartSearchW
+IsADMFileVisibleA
+IsADMFileVisibleW
+IsAnimBitmapFileValidA
+IsAnimBitmapFileValidW
+IsBitmapFileValidA
+IsBitmapFileValidW
+IsFavoriteItem
+LoadADMFilesA
+LoadADMFilesW
+MigrateFavoritesA
+MigrateFavoritesW
+MigrateToOldFavoritesA
+MigrateToOldFavoritesW
+ModifyAuthCode
+ModifyFavoriteA
+ModifyFavoriteW
+ModifyRatings
+ModifySiteCert
+ModifyZones
+MoveADMWindow
+MoveDownFavorite
+MoveUpFavorite
+NewFolder
+NewUrlA
+NewUrlW
+ProcessFavSelChange
+ResetAdmFilesA
+ResetAdmFilesW
+SaveADMItem
+SaveAdmFilesA
+SaveAdmFilesW
+SaveStartSearchA
+SaveStartSearchW
+SelectADMItem
+SetADMWindowTextA
+SetADMWindowTextW
+SetLBWidth
+SetOrClearVersionInfoA
+SetOrClearVersionInfoW
+SetProxyDlgA
+SetProxyDlgW
+ShowADMWindow
+ShowBitmapA
+ShowBitmapW
+ShowDeskCpl
+ShowInetcpl
+SignFileA
+SignFileW
+TestURLA
+TestURLW
diff --git a/mingw-w64-crt/lib64/ieaksie.def b/mingw-w64-crt/lib64/ieaksie.def
index 26abddf..f1708b8 100644
--- a/mingw-w64-crt/lib64/ieaksie.def
+++ b/mingw-w64-crt/lib64/ieaksie.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IEAKSIE.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IEAKSIE.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IEAKSIE.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IEAKSIE.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iedkcs32.def b/mingw-w64-crt/lib64/iedkcs32.def
index fe1dd2f..a70127d 100644
--- a/mingw-w64-crt/lib64/iedkcs32.def
+++ b/mingw-w64-crt/lib64/iedkcs32.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file iedkcs32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iedkcs32.dll
-EXPORTS
-BrandExternal
-CloseRASConnections
-GenerateGroupPolicy
-ProcessGroupPolicy
-ProcessGroupPolicyEx
-ProcessGroupPolicyForZoneMap
-BrandCleanInstallStubs
-BrandICW
-BrandICW2
-BrandIE4
-BrandInfAndOutlookExpress
-BrandInternetExplorer
-BrandIntra
-BrandMe
-Clear
-DllRegisterServer
-DllUnregisterServer
-InternetInitializeAutoProxyDll
+; 
+; Exports of file iedkcs32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iedkcs32.dll
+EXPORTS
+BrandExternal
+CloseRASConnections
+GenerateGroupPolicy
+ProcessGroupPolicy
+ProcessGroupPolicyEx
+ProcessGroupPolicyForZoneMap
+BrandCleanInstallStubs
+BrandICW
+BrandICW2
+BrandIE4
+BrandInfAndOutlookExpress
+BrandInternetExplorer
+BrandIntra
+BrandMe
+Clear
+DllRegisterServer
+DllUnregisterServer
+InternetInitializeAutoProxyDll
diff --git a/mingw-w64-crt/lib64/ieencode.def b/mingw-w64-crt/lib64/ieencode.def
index cbc24a0..1b2d77d 100644
--- a/mingw-w64-crt/lib64/ieencode.def
+++ b/mingw-w64-crt/lib64/ieencode.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file exports.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY exports.dll
-EXPORTS
-CceDetectInputCode
-CceGetAvailableEncodings
-CceIsAvailableEncoding
-CceStreamMultiByteToUnicode
-CceStreamUnicodeToMultiByte
-CceStringMultiByteToUnicode
-CceStringUnicodeToMultiByte
-DllMain
-FetchMsEncodeDllVersion
+; 
+; Exports of file exports.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY exports.dll
+EXPORTS
+CceDetectInputCode
+CceGetAvailableEncodings
+CceIsAvailableEncoding
+CceStreamMultiByteToUnicode
+CceStreamUnicodeToMultiByte
+CceStringMultiByteToUnicode
+CceStringUnicodeToMultiByte
+DllMain
+FetchMsEncodeDllVersion
diff --git a/mingw-w64-crt/lib64/iepeers.def b/mingw-w64-crt/lib64/iepeers.def
index 828d58e..8229f88 100644
--- a/mingw-w64-crt/lib64/iepeers.def
+++ b/mingw-w64-crt/lib64/iepeers.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file iepeers.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iepeers.DLL
-EXPORTS
-DllEnumClassObjects
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iepeers.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iepeers.DLL
+EXPORTS
+DllEnumClassObjects
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iernonce.def b/mingw-w64-crt/lib64/iernonce.def
index 2c2170a..bccda6f 100644
--- a/mingw-w64-crt/lib64/iernonce.def
+++ b/mingw-w64-crt/lib64/iernonce.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file IERNONCE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IERNONCE.dll
-EXPORTS
-InitCallback
-RunOnceExProcess
+; 
+; Exports of file IERNONCE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IERNONCE.dll
+EXPORTS
+InitCallback
+RunOnceExProcess
diff --git a/mingw-w64-crt/lib64/iesetup.def b/mingw-w64-crt/lib64/iesetup.def
index 1c74e0d..21a19fb 100644
--- a/mingw-w64-crt/lib64/iesetup.def
+++ b/mingw-w64-crt/lib64/iesetup.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file iesetup.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iesetup.dll
-EXPORTS
-IEHardenAdmin
-IEHardenAdminNow
-IEHardenMachineNow
-IEHardenUser
-SetFirstHomepage
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-FixIE
+; 
+; Exports of file iesetup.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iesetup.dll
+EXPORTS
+IEHardenAdmin
+IEHardenAdminNow
+IEHardenMachineNow
+IEHardenUser
+SetFirstHomepage
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+FixIE
diff --git a/mingw-w64-crt/lib64/ifmon.def b/mingw-w64-crt/lib64/ifmon.def
index 8dd11d4..bf36d97 100644
--- a/mingw-w64-crt/lib64/ifmon.def
+++ b/mingw-w64-crt/lib64/ifmon.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file IFMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IFMON.dll
-EXPORTS
-GetResourceString
-InitHelperDll
+; 
+; Exports of file IFMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IFMON.dll
+EXPORTS
+GetResourceString
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/ifsutil.def b/mingw-w64-crt/lib64/ifsutil.def
index 967ad47..a935e43 100644
--- a/mingw-w64-crt/lib64/ifsutil.def
+++ b/mingw-w64-crt/lib64/ifsutil.def
@@ -1,352 +1,352 @@
-; 
-; Exports of file ifsutil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ifsutil.dll
-EXPORTS
-; public: __cdecl CANNED_SECURITY::CANNED_SECURITY(void) __ptr64
-??0CANNED_SECURITY@@QEAA@XZ
-; public: __cdecl DIGRAPH::DIGRAPH(void) __ptr64
-??0DIGRAPH@@QEAA@XZ
-; public: __cdecl DIGRAPH_EDGE::DIGRAPH_EDGE(void) __ptr64
-??0DIGRAPH_EDGE@@QEAA@XZ
-; public: __cdecl DP_DRIVE::DP_DRIVE(void) __ptr64
-??0DP_DRIVE@@QEAA@XZ
-; public: __cdecl INTSTACK::INTSTACK(void) __ptr64
-??0INTSTACK@@QEAA@XZ
-; public: __cdecl LOG_IO_DP_DRIVE::LOG_IO_DP_DRIVE(void) __ptr64
-??0LOG_IO_DP_DRIVE@@QEAA@XZ
-; public: __cdecl MOUNT_POINT_MAP::MOUNT_POINT_MAP(void) __ptr64
-??0MOUNT_POINT_MAP@@QEAA@XZ
-; public: __cdecl MOUNT_POINT_TUPLE::MOUNT_POINT_TUPLE(void) __ptr64
-??0MOUNT_POINT_TUPLE@@QEAA@XZ
-; public: __cdecl NUMBER_SET::NUMBER_SET(void) __ptr64
-??0NUMBER_SET@@QEAA@XZ
-; public: __cdecl READ_CACHE::READ_CACHE(void) __ptr64
-??0READ_CACHE@@QEAA@XZ
-; public: __cdecl READ_WRITE_CACHE::READ_WRITE_CACHE(void) __ptr64
-??0READ_WRITE_CACHE@@QEAA@XZ
-; public: __cdecl SECRUN::SECRUN(void) __ptr64
-??0SECRUN@@QEAA@XZ
-; private: __cdecl SNAPSHOT::SNAPSHOT(void) __ptr64
-??0SNAPSHOT@@AEAA@XZ
-; public: __cdecl SPARSE_SET::SPARSE_SET(void) __ptr64
-??0SPARSE_SET@@QEAA@XZ
-; protected: __cdecl SUPERAREA::SUPERAREA(void) __ptr64
-??0SUPERAREA@@IEAA@XZ
-; public: __cdecl TLINK::TLINK(void) __ptr64
-??0TLINK@@QEAA@XZ
-; protected: __cdecl VOL_LIODPDRV::VOL_LIODPDRV(void) __ptr64
-??0VOL_LIODPDRV@@IEAA@XZ
-; public: virtual __cdecl CANNED_SECURITY::~CANNED_SECURITY(void) __ptr64
-??1CANNED_SECURITY@@UEAA@XZ
-; public: virtual __cdecl DIGRAPH::~DIGRAPH(void) __ptr64
-??1DIGRAPH@@UEAA@XZ
-; public: virtual __cdecl DP_DRIVE::~DP_DRIVE(void) __ptr64
-??1DP_DRIVE@@UEAA@XZ
-; public: virtual __cdecl INTSTACK::~INTSTACK(void) __ptr64
-??1INTSTACK@@UEAA@XZ
-; public: virtual __cdecl LOG_IO_DP_DRIVE::~LOG_IO_DP_DRIVE(void) __ptr64
-??1LOG_IO_DP_DRIVE@@UEAA@XZ
-; public: virtual __cdecl MOUNT_POINT_MAP::~MOUNT_POINT_MAP(void) __ptr64
-??1MOUNT_POINT_MAP@@UEAA@XZ
-; public: virtual __cdecl NUMBER_SET::~NUMBER_SET(void) __ptr64
-??1NUMBER_SET@@UEAA@XZ
-; public: virtual __cdecl SECRUN::~SECRUN(void) __ptr64
-??1SECRUN@@UEAA@XZ
-; private: virtual __cdecl SNAPSHOT::~SNAPSHOT(void) __ptr64
-??1SNAPSHOT@@EEAA@XZ
-; public: virtual __cdecl SPARSE_SET::~SPARSE_SET(void) __ptr64
-??1SPARSE_SET@@UEAA@XZ
-; public: virtual __cdecl SUPERAREA::~SUPERAREA(void) __ptr64
-??1SUPERAREA@@UEAA@XZ
-; public: virtual __cdecl TLINK::~TLINK(void) __ptr64
-??1TLINK@@UEAA@XZ
-; public: virtual __cdecl VOL_LIODPDRV::~VOL_LIODPDRV(void) __ptr64
-??1VOL_LIODPDRV@@UEAA@XZ
-; public: unsigned char __cdecl NUMBER_SET::Add(class NUMBER_SET const * __ptr64) __ptr64
-?Add@NUMBER_SET@@QEAAEPEBV1@@Z
-; public: unsigned char __cdecl NUMBER_SET::Add(class BIG_INT,class BIG_INT) __ptr64
-?Add@NUMBER_SET@@QEAAEVBIG_INT@@0@Z
-; public: unsigned char __cdecl NUMBER_SET::Add(class BIG_INT) __ptr64
-?Add@NUMBER_SET@@QEAAEVBIG_INT@@@Z
-; public: unsigned char __cdecl MOUNT_POINT_MAP::AddDriveName(class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
-?AddDriveName@MOUNT_POINT_MAP@@QEAAEPEAVWSTRING@@0@Z
-; public: unsigned char __cdecl DIGRAPH::AddEdge(unsigned long,unsigned long) __ptr64
-?AddEdge@DIGRAPH@@QEAAEKK@Z
-; public: static unsigned char __cdecl AUTOREG::AddEntry(class WSTRING const * __ptr64)
-?AddEntry@AUTOREG@@SAEPEBVWSTRING@@@Z
-; public: unsigned char __cdecl NUMBER_SET::AddNext(class BIG_INT) __ptr64
-?AddNext@NUMBER_SET@@QEAAEVBIG_INT@@@Z
-; public: unsigned char __cdecl NUMBER_SET::AddStart(class BIG_INT) __ptr64
-?AddStart@NUMBER_SET@@QEAAEVBIG_INT@@@Z
-; public: unsigned char __cdecl MOUNT_POINT_MAP::AddVolumeName(class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
-?AddVolumeName@MOUNT_POINT_MAP@@QEAAEPEAVWSTRING@@0@Z
-; public: unsigned char __cdecl NUMBER_SET::CheckAndAdd(class BIG_INT,unsigned char * __ptr64) __ptr64
-?CheckAndAdd@NUMBER_SET@@QEAAEVBIG_INT@@PEAE@Z
-; public: unsigned char __cdecl SPARSE_SET::CheckAndAdd(class BIG_INT,unsigned char * __ptr64) __ptr64
-?CheckAndAdd@SPARSE_SET@@QEAAEVBIG_INT@@PEAE@Z
-; public: unsigned char __cdecl NUMBER_SET::CheckAndRemove(class BIG_INT,unsigned char * __ptr64) __ptr64
-?CheckAndRemove@NUMBER_SET@@QEAAEVBIG_INT@@PEAE@Z
-; public: unsigned char __cdecl SPARSE_SET::CheckAndRemove(class BIG_INT,unsigned char * __ptr64) __ptr64
-?CheckAndRemove@SPARSE_SET@@QEAAEVBIG_INT@@PEAE@Z
-; public: unsigned char __cdecl SNAPSHOT::CheckSnapshotPresence(void) __ptr64
-?CheckSnapshotPresence@SNAPSHOT@@QEAAEXZ
-; public: static unsigned char __cdecl IFS_SYSTEM::CheckValidSecurityDescriptor(unsigned long,struct _SECURITY_DESCRIPTOR * __ptr64)
-?CheckValidSecurityDescriptor@IFS_SYSTEM@@SAEKPEAU_SECURITY_DESCRIPTOR@@@Z
-; public: unsigned char __cdecl VOL_LIODPDRV::ChkDsk(enum FIX_LEVEL,class MESSAGE * __ptr64,unsigned long,unsigned long,unsigned short,unsigned long * __ptr64,class WSTRING const * __ptr64) __ptr64
-?ChkDsk@VOL_LIODPDRV@@QEAAEW4FIX_LEVEL@@PEAVMESSAGE@@KKGPEAKPEBVWSTRING@@@Z
-; public: void __cdecl DP_DRIVE::CloseDriveHandle(void) __ptr64
-?CloseDriveHandle@DP_DRIVE@@QEAAXXZ
-; public: static unsigned long __cdecl SUPERAREA::ComputeVolId(unsigned long)
-?ComputeVolId@SUPERAREA@@SAKK@Z
-; public: static unsigned char __cdecl AUTOREG::DeleteEntry(class WSTRING const * __ptr64,class WSTRING const * __ptr64)
-?DeleteEntry@AUTOREG@@SAEPEBVWSTRING@@0@Z
-; public: static unsigned char __cdecl AUTOREG::DeleteEntry(class WSTRING const * __ptr64,unsigned char)
-?DeleteEntry@AUTOREG@@SAEPEBVWSTRING@@E@Z
-; int __cdecl DiskCopyMainLoop(class WSTRING const * __ptr64,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned char,class MESSAGE * __ptr64,class MESSAGE * __ptr64)
-?DiskCopyMainLoop@@YAHPEBVWSTRING@@000EPEAVMESSAGE@@1@Z
-; public: unsigned char __cdecl IO_DP_DRIVE::DismountAndLock(void) __ptr64
-?DismountAndLock@IO_DP_DRIVE@@QEAAEXZ
-; public: static unsigned char __cdecl IFS_SYSTEM::DismountVolume(class WSTRING const * __ptr64)
-?DismountVolume@IFS_SYSTEM@@SAEPEBVWSTRING@@@Z
-; public: unsigned char __cdecl NUMBER_SET::DoesIntersectSet(class BIG_INT,class BIG_INT)const  __ptr64
-?DoesIntersectSet@NUMBER_SET@@QEBAEVBIG_INT@@0@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::DosDriveNameToNtDriveName(class WSTRING const * __ptr64,class WSTRING * __ptr64)
-?DosDriveNameToNtDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
-; public: void __cdecl SPARSE_SET::DumpHashTable(void) __ptr64
-?DumpHashTable@SPARSE_SET@@QEAAXXZ
-; public: unsigned char __cdecl DIGRAPH::EliminateCycles(class CONTAINER * __ptr64,unsigned char * __ptr64) __ptr64
-?EliminateCycles@DIGRAPH@@QEAAEPEAVCONTAINER@@PEAE@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::EnableFileSystem(class WSTRING const * __ptr64)
-?EnableFileSystem@IFS_SYSTEM@@SAEPEBVWSTRING@@@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::EnableVolumeCompression(class WSTRING const * __ptr64)
-?EnableVolumeCompression@IFS_SYSTEM@@SAEPEBVWSTRING@@@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::EnableVolumeUpgrade(class WSTRING const * __ptr64)
-?EnableVolumeUpgrade@IFS_SYSTEM@@SAEPEBVWSTRING@@@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::FileSetAttributes(class WSTRING const * __ptr64,unsigned long,unsigned long * __ptr64)
-?FileSetAttributes@IFS_SYSTEM@@SAEPEBVWSTRING@@KPEAK@Z
-; public: unsigned char __cdecl IO_DP_DRIVE::FlushCache(void) __ptr64
-?FlushCache@IO_DP_DRIVE@@QEAAEXZ
-; public: unsigned char __cdecl VOL_LIODPDRV::ForceAutochk(unsigned char,unsigned long,unsigned long,unsigned short,class WSTRING const * __ptr64) __ptr64
-?ForceAutochk@VOL_LIODPDRV@@QEAAEEKKGPEBVWSTRING@@@Z
-; public: enum FORMAT_ERROR_CODE  __cdecl VOL_LIODPDRV::Format(class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
-?Format@VOL_LIODPDRV@@QEAA?AW4FORMAT_ERROR_CODE@@PEBVWSTRING@@PEAVMESSAGE@@KKK@Z
-; public: static long __cdecl SUPERAREA::GenerateLabelNotification(class WSTRING const * __ptr64,class WSTRING * __ptr64,struct _FILE_FS_SIZE_INFORMATION * __ptr64,struct _FILE_FS_VOLUME_INFORMATION * __ptr64)
-?GenerateLabelNotification@SUPERAREA@@SAJPEBVWSTRING@@PEAV2@PEAU_FILE_FS_SIZE_INFORMATION@@PEAU_FILE_FS_VOLUME_INFORMATION@@@Z
-; public: unsigned char __cdecl MOUNT_POINT_MAP::GetAt(unsigned long,class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
-?GetAt@MOUNT_POINT_MAP@@QEAAEKPEAVWSTRING@@0@Z
-; public: void * __ptr64 __cdecl TLINK::GetBuffer(void * __ptr64) __ptr64
-?GetBuffer@TLINK@@QEAAPEAXPEAX@Z
-; public: static class CANNED_SECURITY * __ptr64 __cdecl IFS_SYSTEM::GetCannedSecurity(void)
-?GetCannedSecurity@IFS_SYSTEM@@SAPEAVCANNED_SECURITY@@XZ
-; public: void * __ptr64 __cdecl CANNED_SECURITY::GetCannedSecurityDescriptor(enum _CANNED_SECURITY_TYPE,unsigned long * __ptr64) __ptr64
-?GetCannedSecurityDescriptor@CANNED_SECURITY@@QEAAPEAXW4_CANNED_SECURITY_TYPE@@PEAK@Z
-; public: class BIG_INT & __ptr64 __cdecl TLINK::GetData(unsigned short) __ptr64
-?GetData@TLINK@@QEAAAEAVBIG_INT@@G@Z
-; public: class BIG_INT & __ptr64 __cdecl TLINK::GetData(void * __ptr64) __ptr64
-?GetData@TLINK@@QEAAAEAVBIG_INT@@PEAX@Z
-; public: class IO_DP_DRIVE * __ptr64 __cdecl SECRUN::GetDrive(void) __ptr64
-?GetDrive@SECRUN@@QEAAPEAVIO_DP_DRIVE@@XZ
-; public: class IO_DP_DRIVE * __ptr64 __cdecl SUPERAREA::GetDrive(void) __ptr64
-?GetDrive@SUPERAREA@@QEAAPEAVIO_DP_DRIVE@@XZ
-; public: void * __ptr64 __cdecl TLINK::GetFirst(void) __ptr64
-?GetFirst@TLINK@@QEAAPEAXXZ
-; public: class MESSAGE * __ptr64 __cdecl IO_DP_DRIVE::GetMessageW(void) __ptr64
-?GetMessageW@IO_DP_DRIVE@@QEAAPEAVMESSAGE@@XZ
-; public: class MESSAGE * __ptr64 __cdecl SUPERAREA::GetMessageW(void) __ptr64
-?GetMessageW@SUPERAREA@@QEAAPEAVMESSAGE@@XZ
-; public: void * __ptr64 __cdecl TLINK::GetNext(void * __ptr64) __ptr64
-?GetNext@TLINK@@QEAAPEAXPEAX@Z
-; public: class BIG_INT & __ptr64 __cdecl TLINK::GetNextDataSlot(void) __ptr64
-?GetNextDataSlot@TLINK@@QEAAAEAVBIG_INT@@XZ
-; public: unsigned short * __ptr64 __cdecl SNAPSHOT::GetSnapshotGlobalDeviceName(void) __ptr64
-?GetSnapshotGlobalDeviceName@SNAPSHOT@@QEAAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl SNAPSHOT::GetSnapshotNtDeviceName(void) __ptr64
-?GetSnapshotNtDeviceName@SNAPSHOT@@QEAAPEAGXZ
-; public: void * __ptr64 __cdecl TLINK::GetSortedFirst(void) __ptr64
-?GetSortedFirst@TLINK@@QEAAPEAXXZ
-; public: void * __ptr64 __cdecl TLINK::GetSortedNext(void * __ptr64) __ptr64
-?GetSortedNext@TLINK@@QEAAPEAXPEAX@Z
-; public: static unsigned char __cdecl SNAPSHOT::GetVolumeSnapshot(class WSTRING * __ptr64,class SNAPSHOT * __ptr64 * __ptr64)
-?GetVolumeSnapshot@SNAPSHOT@@SAEPEAVWSTRING@@PEAPEAV1@@Z
-; public: unsigned char __cdecl CANNED_SECURITY::Initialize(void) __ptr64
-?Initialize@CANNED_SECURITY@@QEAAEXZ
-; public: unsigned char __cdecl DIGRAPH::Initialize(unsigned long) __ptr64
-?Initialize@DIGRAPH@@QEAAEK@Z
-; public: unsigned char __cdecl DP_DRIVE::Initialize(class WSTRING const * __ptr64,class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned char,unsigned char) __ptr64
-?Initialize@DP_DRIVE@@QEAAEPEBVWSTRING@@0PEAVMESSAGE@@EE@Z
-; public: unsigned char __cdecl DP_DRIVE::Initialize(class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned char,unsigned char,unsigned short) __ptr64
-?Initialize@DP_DRIVE@@QEAAEPEBVWSTRING@@PEAVMESSAGE@@EEG@Z
-; public: unsigned char __cdecl INTSTACK::Initialize(void) __ptr64
-?Initialize@INTSTACK@@QEAAEXZ
-; public: unsigned char __cdecl LOG_IO_DP_DRIVE::Initialize(class WSTRING const * __ptr64,class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned char) __ptr64
-?Initialize@LOG_IO_DP_DRIVE@@QEAAEPEBVWSTRING@@0PEAVMESSAGE@@E@Z
-; public: unsigned char __cdecl LOG_IO_DP_DRIVE::Initialize(class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned char,unsigned short) __ptr64
-?Initialize@LOG_IO_DP_DRIVE@@QEAAEPEBVWSTRING@@PEAVMESSAGE@@EG@Z
-; public: unsigned char __cdecl MOUNT_POINT_MAP::Initialize(void) __ptr64
-?Initialize@MOUNT_POINT_MAP@@QEAAEXZ
-; public: unsigned char __cdecl NUMBER_SET::Initialize(void) __ptr64
-?Initialize@NUMBER_SET@@QEAAEXZ
-; public: unsigned char __cdecl READ_CACHE::Initialize(class IO_DP_DRIVE * __ptr64,unsigned long) __ptr64
-?Initialize@READ_CACHE@@QEAAEPEAVIO_DP_DRIVE@@K@Z
-; public: unsigned char __cdecl READ_WRITE_CACHE::Initialize(class IO_DP_DRIVE * __ptr64,unsigned long) __ptr64
-?Initialize@READ_WRITE_CACHE@@QEAAEPEAVIO_DP_DRIVE@@K@Z
-; public: unsigned char __cdecl SECRUN::Initialize(class MEM * __ptr64,class IO_DP_DRIVE * __ptr64,class BIG_INT,unsigned long) __ptr64
-?Initialize@SECRUN@@QEAAEPEAVMEM@@PEAVIO_DP_DRIVE@@VBIG_INT@@K@Z
-; private: long __cdecl SNAPSHOT::Initialize(unsigned short * __ptr64) __ptr64
-?Initialize@SNAPSHOT@@AEAAJPEAG@Z
-; public: unsigned char __cdecl SPARSE_SET::Initialize(void) __ptr64
-?Initialize@SPARSE_SET@@QEAAEXZ
-; protected: unsigned char __cdecl SUPERAREA::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,unsigned long,class MESSAGE * __ptr64) __ptr64
-?Initialize@SUPERAREA@@IEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@KPEAVMESSAGE@@@Z
-; public: unsigned char __cdecl TLINK::Initialize(unsigned short) __ptr64
-?Initialize@TLINK@@QEAAEG@Z
-; protected: enum FORMAT_ERROR_CODE  __cdecl VOL_LIODPDRV::Initialize(class WSTRING const * __ptr64,class SUPERAREA * __ptr64,class MESSAGE * __ptr64,unsigned char,unsigned char,enum _MEDIA_TYPE,unsigned short,unsigned char) __ptr64
-?Initialize@VOL_LIODPDRV@@IEAA?AW4FORMAT_ERROR_CODE@@PEBVWSTRING@@PEAVSUPERAREA@@PEAVMESSAGE@@EEW4_MEDIA_TYPE@@GE@Z
-; protected: unsigned char __cdecl VOL_LIODPDRV::Initialize(class WSTRING const * __ptr64,class WSTRING const * __ptr64,class SUPERAREA * __ptr64,class MESSAGE * __ptr64,unsigned char) __ptr64
-?Initialize@VOL_LIODPDRV@@IEAAEPEBVWSTRING@@0PEAVSUPERAREA@@PEAVMESSAGE@@E@Z
-; public: unsigned char __cdecl IO_DP_DRIVE::InvalidateVolume(void) __ptr64
-?InvalidateVolume@IO_DP_DRIVE@@QEAAEXZ
-; public: static unsigned char __cdecl IFS_SYSTEM::IsArcSystemPartition(class WSTRING const * __ptr64,unsigned char * __ptr64)
-?IsArcSystemPartition@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAE@Z
-; public: static unsigned char __cdecl AUTOREG::IsEntryPresent(class WSTRING const * __ptr64,class WSTRING const * __ptr64)
-?IsEntryPresent@AUTOREG@@SAEPEBVWSTRING@@0@Z
-; public: static unsigned char __cdecl AUTOREG::IsEntryPresent(class WSTRING const * __ptr64)
-?IsEntryPresent@AUTOREG@@SAEPEBVWSTRING@@@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::IsFileSystemEnabled(class WSTRING const * __ptr64,unsigned char * __ptr64)
-?IsFileSystemEnabled@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAE@Z
-; public: static unsigned char __cdecl AUTOREG::IsFrontEndPresent(class WSTRING const * __ptr64,class WSTRING const * __ptr64)
-?IsFrontEndPresent@AUTOREG@@SAEPEBVWSTRING@@0@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::IsThisNtfs(class BIG_INT,unsigned long,void * __ptr64)
-?IsThisNtfs@IFS_SYSTEM@@SAEVBIG_INT@@KPEAX@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::IsVolumeDirty(class WSTRING * __ptr64,unsigned char * __ptr64)
-?IsVolumeDirty@IFS_SYSTEM@@SAEPEAVWSTRING@@PEAE@Z
-; public: unsigned char __cdecl IO_DP_DRIVE::Lock(void) __ptr64
-?Lock@IO_DP_DRIVE@@QEAAEXZ
-; public: class BIG_INT  __cdecl INTSTACK::Look(unsigned long)const  __ptr64
-?Look@INTSTACK@@QEBA?AVBIG_INT@@K@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::NtDriveNameToDosDriveName(class WSTRING const * __ptr64,class WSTRING * __ptr64)
-?NtDriveNameToDosDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
-; public: void __cdecl INTSTACK::Pop(unsigned long) __ptr64
-?Pop@INTSTACK@@QEAAXK@Z
-; public: unsigned char __cdecl INTSTACK::Push(class BIG_INT) __ptr64
-?Push@INTSTACK@@QEAAEVBIG_INT@@@Z
-; public: static unsigned char __cdecl AUTOREG::PushEntry(class WSTRING const * __ptr64)
-?PushEntry@AUTOREG@@SAEPEBVWSTRING@@@Z
-; public: static unsigned char __cdecl VOL_LIODPDRV::QueryAutochkTimeOut(unsigned long * __ptr64)
-?QueryAutochkTimeOut@VOL_LIODPDRV@@SAEPEAK@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::QueryCanonicalNtDriveName(class WSTRING const * __ptr64,class WSTRING * __ptr64)
-?QueryCanonicalNtDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
-; public: unsigned char __cdecl DIGRAPH::QueryChildren(unsigned long,class NUMBER_SET * __ptr64)const  __ptr64
-?QueryChildren@DIGRAPH@@QEBAEKPEAVNUMBER_SET@@@Z
-; public: void __cdecl BIG_INT::QueryCompressedInteger(unsigned char * __ptr64,unsigned char * __ptr64)const  __ptr64
-?QueryCompressedInteger@BIG_INT@@QEBAXPEAE0@Z
-; public: unsigned char __cdecl NUMBER_SET::QueryContainingRange(class BIG_INT,class BIG_INT * __ptr64,class BIG_INT * __ptr64)const  __ptr64
-?QueryContainingRange@NUMBER_SET@@QEBAEVBIG_INT@@PEAV2@1@Z
-; public: void __cdecl NUMBER_SET::QueryDisjointRange(unsigned long,class BIG_INT * __ptr64,class BIG_INT * __ptr64)const  __ptr64
-?QueryDisjointRange@NUMBER_SET@@QEBAXKPEAVBIG_INT@@0@Z
-; public: void * __ptr64 __cdecl TLINK::QueryDisjointRangeAndAssignBuffer(class BIG_INT * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,void * __ptr64,unsigned long,void * __ptr64) __ptr64
-?QueryDisjointRangeAndAssignBuffer@TLINK@@QEAAPEAXPEAVBIG_INT@@PEAG1PEAXK2@Z
-; public: void * __ptr64 __cdecl DP_DRIVE::QueryDriveHandle(void)const  __ptr64
-?QueryDriveHandle@DP_DRIVE@@QEBAPEAXXZ
-; public: unsigned char __cdecl MOUNT_POINT_MAP::QueryDriveName(class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
-?QueryDriveName@MOUNT_POINT_MAP@@QEAAEPEAVWSTRING@@0@Z
-; public: enum DRIVE_TYPE  __cdecl DP_DRIVE::QueryDriveType(void)const  __ptr64
-?QueryDriveType@DP_DRIVE@@QEBA?AW4DRIVE_TYPE@@XZ
-; public: static unsigned char __cdecl IFS_SYSTEM::QueryFileSystemName(class WSTRING const * __ptr64,class WSTRING * __ptr64,long * __ptr64,class WSTRING * __ptr64)
-?QueryFileSystemName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@PEAJ1@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::QueryFreeDiskSpace(class WSTRING const * __ptr64,class BIG_INT * __ptr64)
-?QueryFreeDiskSpace@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAVBIG_INT@@@Z
-; unsigned long __cdecl QueryMachineUniqueToken(void)
-?QueryMachineUniqueToken@@YAKXZ
-; public: unsigned char __cdecl DP_DRIVE::QueryMediaByte(void)const  __ptr64
-?QueryMediaByte@DP_DRIVE@@QEBAEXZ
-; public: unsigned short __cdecl TLINK::QueryMemberCount(void)const  __ptr64
-?QueryMemberCount@TLINK@@QEBAGXZ
-; public: static unsigned char __cdecl DP_DRIVE::QueryMrwSupport(void * __ptr64)
-?QueryMrwSupport@DP_DRIVE@@SAEPEAX@Z
-; public: static long __cdecl DP_DRIVE::QueryNtfsSupportInfo(void * __ptr64,unsigned char * __ptr64)
-?QueryNtfsSupportInfo@DP_DRIVE@@SAJPEAXPEAE@Z
-; public: static void __cdecl IFS_SYSTEM::QueryNtfsTime(union _LARGE_INTEGER * __ptr64)
-?QueryNtfsTime@IFS_SYSTEM@@SAXPEAT_LARGE_INTEGER@@@Z
-; public: static unsigned char __cdecl IFS_SYSTEM::QueryNtfsVersion(unsigned char * __ptr64,unsigned char * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,void * __ptr64)
-?QueryNtfsVersion@IFS_SYSTEM@@SAEPEAE0PEAVLOG_IO_DP_DRIVE@@PEAX@Z
-; public: class BIG_INT  __cdecl NUMBER_SET::QueryNumber(class BIG_INT)const  __ptr64
-?QueryNumber@NUMBER_SET@@QEBA?AVBIG_INT@@V2@@Z
-; public: static unsigned long __cdecl IFS_SYSTEM::QueryPageSize(void)
-?QueryPageSize@IFS_SYSTEM@@SAKXZ
-; public: unsigned char __cdecl DIGRAPH::QueryParents(unsigned long,class NUMBER_SET * __ptr64)const  __ptr64
-?QueryParents@DIGRAPH@@QEBAEKPEAVNUMBER_SET@@@Z
-; public: unsigned char __cdecl DIGRAPH::QueryParentsWithChildren(class NUMBER_SET * __ptr64,unsigned long)const  __ptr64
-?QueryParentsWithChildren@DIGRAPH@@QEBAEPEAVNUMBER_SET@@K@Z
-; public: enum _MEDIA_TYPE  __cdecl DP_DRIVE::QueryRecommendedMediaType(void)const  __ptr64
-?QueryRecommendedMediaType@DP_DRIVE@@QEBA?AW4_MEDIA_TYPE@@XZ
-; public: virtual unsigned long __cdecl DP_DRIVE::QuerySectorSize(void)const  __ptr64
-?QuerySectorSize@DP_DRIVE@@UEBAKXZ
-; public: virtual class BIG_INT  __cdecl DP_DRIVE::QuerySectors(void)const  __ptr64
-?QuerySectors@DP_DRIVE@@UEBA?AVBIG_INT@@XZ
-; public: unsigned short __cdecl TLINK::QuerySize(void)const  __ptr64
-?QuerySize@TLINK@@QEBAGXZ
-; public: unsigned char __cdecl MOUNT_POINT_MAP::QueryVolumeName(class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
-?QueryVolumeName@MOUNT_POINT_MAP@@QEAAEPEAVWSTRING@@0@Z
-; public: unsigned char __cdecl IO_DP_DRIVE::Read(class BIG_INT,unsigned long,void * __ptr64) __ptr64
-?Read@IO_DP_DRIVE@@QEAAEVBIG_INT@@KPEAX@Z
-; public: virtual unsigned char __cdecl SECRUN::Read(void) __ptr64
-?Read@SECRUN@@UEAAEXZ
-; public: unsigned char __cdecl VOL_LIODPDRV::Recover(class WSTRING const * __ptr64,class MESSAGE * __ptr64) __ptr64
-?Recover@VOL_LIODPDRV@@QEAAEPEBVWSTRING@@PEAVMESSAGE@@@Z
-; public: static unsigned char __cdecl SNAPSHOT::ReleaseVolumeSnapshot(class SNAPSHOT * __ptr64)
-?ReleaseVolumeSnapshot@SNAPSHOT@@SAEPEAV1@@Z
-; public: unsigned char __cdecl NUMBER_SET::Remove(class NUMBER_SET const * __ptr64) __ptr64
-?Remove@NUMBER_SET@@QEAAEPEBV1@@Z
-; public: unsigned char __cdecl NUMBER_SET::Remove(class BIG_INT,class BIG_INT) __ptr64
-?Remove@NUMBER_SET@@QEAAEVBIG_INT@@0@Z
-; public: unsigned char __cdecl NUMBER_SET::Remove(class BIG_INT) __ptr64
-?Remove@NUMBER_SET@@QEAAEVBIG_INT@@@Z
-; public: unsigned char __cdecl NUMBER_SET::RemoveAll(void) __ptr64
-?RemoveAll@NUMBER_SET@@QEAAEXZ
-; public: unsigned char __cdecl SPARSE_SET::RemoveAll(void) __ptr64
-?RemoveAll@SPARSE_SET@@QEAAEXZ
-; public: unsigned char __cdecl DIGRAPH::RemoveEdge(unsigned long,unsigned long) __ptr64
-?RemoveEdge@DIGRAPH@@QEAAEKK@Z
-; void __cdecl RestoreThreadExecutionState(long,unsigned long)
-?RestoreThreadExecutionState@@YAXJK@Z
-; public: unsigned char __cdecl INTSTACK::ReverseCopy(class INTSTACK * __ptr64) __ptr64
-?ReverseCopy@INTSTACK@@QEAAEPEAV1@@Z
-; public: unsigned char __cdecl DP_DRIVE::SendSonyMSFormatCmd(void) __ptr64
-?SendSonyMSFormatCmd@DP_DRIVE@@QEAAEXZ
-; public: unsigned char __cdecl DP_DRIVE::SendSonyMSInquiryCmd(struct SONY_MS_INQUIRY_DATA * __ptr64) __ptr64
-?SendSonyMSInquiryCmd@DP_DRIVE@@QEAAEPEAUSONY_MS_INQUIRY_DATA@@@Z
-; public: unsigned char __cdecl DP_DRIVE::SendSonyMSModeSenseCmd(struct SONY_MS_MODE_SENSE_DATA * __ptr64) __ptr64
-?SendSonyMSModeSenseCmd@DP_DRIVE@@QEAAEPEAUSONY_MS_MODE_SENSE_DATA@@@Z
-; public: unsigned char __cdecl DP_DRIVE::SendSonyMSRequestSenseCmd(struct _SENSE_DATA * __ptr64) __ptr64
-?SendSonyMSRequestSenseCmd@DP_DRIVE@@QEAAEPEAU_SENSE_DATA@@@Z
-; public: unsigned char __cdecl DP_DRIVE::SendSonyMSTestUnitReadyCmd(struct _SENSE_DATA * __ptr64) __ptr64
-?SendSonyMSTestUnitReadyCmd@DP_DRIVE@@QEAAEPEAU_SENSE_DATA@@@Z
-; public: void __cdecl BIG_INT::Set(unsigned char,unsigned char const * __ptr64) __ptr64
-?Set@BIG_INT@@QEAAXEPEBE@Z
-; public: static unsigned char __cdecl VOL_LIODPDRV::SetAutochkTimeOut(unsigned long)
-?SetAutochkTimeOut@VOL_LIODPDRV@@SAEK@Z
-; public: void __cdecl IO_DP_DRIVE::SetCache(class DRIVE_CACHE * __ptr64) __ptr64
-?SetCache@IO_DP_DRIVE@@QEAAXPEAVDRIVE_CACHE@@@Z
-; public: unsigned char __cdecl LOG_IO_DP_DRIVE::SetSystemId(unsigned char) __ptr64
-?SetSystemId@LOG_IO_DP_DRIVE@@QEAAEE@Z
-; public: unsigned char __cdecl VOL_LIODPDRV::SetVolumeLabelAndPrintFormatReport(class WSTRING const * __ptr64,class MESSAGE * __ptr64) __ptr64
-?SetVolumeLabelAndPrintFormatReport@VOL_LIODPDRV@@QEAAEPEBVWSTRING@@PEAVMESSAGE@@@Z
-; public: void __cdecl TLINK::ShellSort(void) __ptr64
-?ShellSort@TLINK@@QEAAXXZ
-; public: void __cdecl TLINK::Sort(void) __ptr64
-?Sort@TLINK@@QEAAXXZ
-; public: unsigned char __cdecl IO_DP_DRIVE::Verify(class BIG_INT,class BIG_INT) __ptr64
-?Verify@IO_DP_DRIVE@@QEAAEVBIG_INT@@0@Z
-; public: unsigned char __cdecl IO_DP_DRIVE::Verify(class BIG_INT,class BIG_INT,class NUMBER_SET * __ptr64) __ptr64
-?Verify@IO_DP_DRIVE@@QEAAEVBIG_INT@@0PEAVNUMBER_SET@@@Z
-; public: unsigned char __cdecl IO_DP_DRIVE::Write(class BIG_INT,unsigned long,void * __ptr64) __ptr64
-?Write@IO_DP_DRIVE@@QEAAEVBIG_INT@@KPEAX@Z
-; public: virtual unsigned char __cdecl SECRUN::Write(void) __ptr64
-?Write@SECRUN@@UEAAEXZ
-; public: static unsigned char __cdecl IFS_SYSTEM::WriteToFile(class WSTRING const * __ptr64,void * __ptr64,unsigned long,unsigned char)
-?WriteToFile@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAXKE@Z
+; 
+; Exports of file ifsutil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ifsutil.dll
+EXPORTS
+; public: __cdecl CANNED_SECURITY::CANNED_SECURITY(void) __ptr64
+??0CANNED_SECURITY@@QEAA@XZ
+; public: __cdecl DIGRAPH::DIGRAPH(void) __ptr64
+??0DIGRAPH@@QEAA@XZ
+; public: __cdecl DIGRAPH_EDGE::DIGRAPH_EDGE(void) __ptr64
+??0DIGRAPH_EDGE@@QEAA@XZ
+; public: __cdecl DP_DRIVE::DP_DRIVE(void) __ptr64
+??0DP_DRIVE@@QEAA@XZ
+; public: __cdecl INTSTACK::INTSTACK(void) __ptr64
+??0INTSTACK@@QEAA@XZ
+; public: __cdecl LOG_IO_DP_DRIVE::LOG_IO_DP_DRIVE(void) __ptr64
+??0LOG_IO_DP_DRIVE@@QEAA@XZ
+; public: __cdecl MOUNT_POINT_MAP::MOUNT_POINT_MAP(void) __ptr64
+??0MOUNT_POINT_MAP@@QEAA@XZ
+; public: __cdecl MOUNT_POINT_TUPLE::MOUNT_POINT_TUPLE(void) __ptr64
+??0MOUNT_POINT_TUPLE@@QEAA@XZ
+; public: __cdecl NUMBER_SET::NUMBER_SET(void) __ptr64
+??0NUMBER_SET@@QEAA@XZ
+; public: __cdecl READ_CACHE::READ_CACHE(void) __ptr64
+??0READ_CACHE@@QEAA@XZ
+; public: __cdecl READ_WRITE_CACHE::READ_WRITE_CACHE(void) __ptr64
+??0READ_WRITE_CACHE@@QEAA@XZ
+; public: __cdecl SECRUN::SECRUN(void) __ptr64
+??0SECRUN@@QEAA@XZ
+; private: __cdecl SNAPSHOT::SNAPSHOT(void) __ptr64
+??0SNAPSHOT@@AEAA@XZ
+; public: __cdecl SPARSE_SET::SPARSE_SET(void) __ptr64
+??0SPARSE_SET@@QEAA@XZ
+; protected: __cdecl SUPERAREA::SUPERAREA(void) __ptr64
+??0SUPERAREA@@IEAA@XZ
+; public: __cdecl TLINK::TLINK(void) __ptr64
+??0TLINK@@QEAA@XZ
+; protected: __cdecl VOL_LIODPDRV::VOL_LIODPDRV(void) __ptr64
+??0VOL_LIODPDRV@@IEAA@XZ
+; public: virtual __cdecl CANNED_SECURITY::~CANNED_SECURITY(void) __ptr64
+??1CANNED_SECURITY@@UEAA@XZ
+; public: virtual __cdecl DIGRAPH::~DIGRAPH(void) __ptr64
+??1DIGRAPH@@UEAA@XZ
+; public: virtual __cdecl DP_DRIVE::~DP_DRIVE(void) __ptr64
+??1DP_DRIVE@@UEAA@XZ
+; public: virtual __cdecl INTSTACK::~INTSTACK(void) __ptr64
+??1INTSTACK@@UEAA@XZ
+; public: virtual __cdecl LOG_IO_DP_DRIVE::~LOG_IO_DP_DRIVE(void) __ptr64
+??1LOG_IO_DP_DRIVE@@UEAA@XZ
+; public: virtual __cdecl MOUNT_POINT_MAP::~MOUNT_POINT_MAP(void) __ptr64
+??1MOUNT_POINT_MAP@@UEAA@XZ
+; public: virtual __cdecl NUMBER_SET::~NUMBER_SET(void) __ptr64
+??1NUMBER_SET@@UEAA@XZ
+; public: virtual __cdecl SECRUN::~SECRUN(void) __ptr64
+??1SECRUN@@UEAA@XZ
+; private: virtual __cdecl SNAPSHOT::~SNAPSHOT(void) __ptr64
+??1SNAPSHOT@@EEAA@XZ
+; public: virtual __cdecl SPARSE_SET::~SPARSE_SET(void) __ptr64
+??1SPARSE_SET@@UEAA@XZ
+; public: virtual __cdecl SUPERAREA::~SUPERAREA(void) __ptr64
+??1SUPERAREA@@UEAA@XZ
+; public: virtual __cdecl TLINK::~TLINK(void) __ptr64
+??1TLINK@@UEAA@XZ
+; public: virtual __cdecl VOL_LIODPDRV::~VOL_LIODPDRV(void) __ptr64
+??1VOL_LIODPDRV@@UEAA@XZ
+; public: unsigned char __cdecl NUMBER_SET::Add(class NUMBER_SET const * __ptr64) __ptr64
+?Add@NUMBER_SET@@QEAAEPEBV1@@Z
+; public: unsigned char __cdecl NUMBER_SET::Add(class BIG_INT,class BIG_INT) __ptr64
+?Add@NUMBER_SET@@QEAAEVBIG_INT@@0@Z
+; public: unsigned char __cdecl NUMBER_SET::Add(class BIG_INT) __ptr64
+?Add@NUMBER_SET@@QEAAEVBIG_INT@@@Z
+; public: unsigned char __cdecl MOUNT_POINT_MAP::AddDriveName(class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
+?AddDriveName@MOUNT_POINT_MAP@@QEAAEPEAVWSTRING@@0@Z
+; public: unsigned char __cdecl DIGRAPH::AddEdge(unsigned long,unsigned long) __ptr64
+?AddEdge@DIGRAPH@@QEAAEKK@Z
+; public: static unsigned char __cdecl AUTOREG::AddEntry(class WSTRING const * __ptr64)
+?AddEntry@AUTOREG@@SAEPEBVWSTRING@@@Z
+; public: unsigned char __cdecl NUMBER_SET::AddNext(class BIG_INT) __ptr64
+?AddNext@NUMBER_SET@@QEAAEVBIG_INT@@@Z
+; public: unsigned char __cdecl NUMBER_SET::AddStart(class BIG_INT) __ptr64
+?AddStart@NUMBER_SET@@QEAAEVBIG_INT@@@Z
+; public: unsigned char __cdecl MOUNT_POINT_MAP::AddVolumeName(class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
+?AddVolumeName@MOUNT_POINT_MAP@@QEAAEPEAVWSTRING@@0@Z
+; public: unsigned char __cdecl NUMBER_SET::CheckAndAdd(class BIG_INT,unsigned char * __ptr64) __ptr64
+?CheckAndAdd@NUMBER_SET@@QEAAEVBIG_INT@@PEAE@Z
+; public: unsigned char __cdecl SPARSE_SET::CheckAndAdd(class BIG_INT,unsigned char * __ptr64) __ptr64
+?CheckAndAdd@SPARSE_SET@@QEAAEVBIG_INT@@PEAE@Z
+; public: unsigned char __cdecl NUMBER_SET::CheckAndRemove(class BIG_INT,unsigned char * __ptr64) __ptr64
+?CheckAndRemove@NUMBER_SET@@QEAAEVBIG_INT@@PEAE@Z
+; public: unsigned char __cdecl SPARSE_SET::CheckAndRemove(class BIG_INT,unsigned char * __ptr64) __ptr64
+?CheckAndRemove@SPARSE_SET@@QEAAEVBIG_INT@@PEAE@Z
+; public: unsigned char __cdecl SNAPSHOT::CheckSnapshotPresence(void) __ptr64
+?CheckSnapshotPresence@SNAPSHOT@@QEAAEXZ
+; public: static unsigned char __cdecl IFS_SYSTEM::CheckValidSecurityDescriptor(unsigned long,struct _SECURITY_DESCRIPTOR * __ptr64)
+?CheckValidSecurityDescriptor@IFS_SYSTEM@@SAEKPEAU_SECURITY_DESCRIPTOR@@@Z
+; public: unsigned char __cdecl VOL_LIODPDRV::ChkDsk(enum FIX_LEVEL,class MESSAGE * __ptr64,unsigned long,unsigned long,unsigned short,unsigned long * __ptr64,class WSTRING const * __ptr64) __ptr64
+?ChkDsk@VOL_LIODPDRV@@QEAAEW4FIX_LEVEL@@PEAVMESSAGE@@KKGPEAKPEBVWSTRING@@@Z
+; public: void __cdecl DP_DRIVE::CloseDriveHandle(void) __ptr64
+?CloseDriveHandle@DP_DRIVE@@QEAAXXZ
+; public: static unsigned long __cdecl SUPERAREA::ComputeVolId(unsigned long)
+?ComputeVolId@SUPERAREA@@SAKK@Z
+; public: static unsigned char __cdecl AUTOREG::DeleteEntry(class WSTRING const * __ptr64,class WSTRING const * __ptr64)
+?DeleteEntry@AUTOREG@@SAEPEBVWSTRING@@0@Z
+; public: static unsigned char __cdecl AUTOREG::DeleteEntry(class WSTRING const * __ptr64,unsigned char)
+?DeleteEntry@AUTOREG@@SAEPEBVWSTRING@@E@Z
+; int __cdecl DiskCopyMainLoop(class WSTRING const * __ptr64,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned char,class MESSAGE * __ptr64,class MESSAGE * __ptr64)
+?DiskCopyMainLoop@@YAHPEBVWSTRING@@000EPEAVMESSAGE@@1@Z
+; public: unsigned char __cdecl IO_DP_DRIVE::DismountAndLock(void) __ptr64
+?DismountAndLock@IO_DP_DRIVE@@QEAAEXZ
+; public: static unsigned char __cdecl IFS_SYSTEM::DismountVolume(class WSTRING const * __ptr64)
+?DismountVolume@IFS_SYSTEM@@SAEPEBVWSTRING@@@Z
+; public: unsigned char __cdecl NUMBER_SET::DoesIntersectSet(class BIG_INT,class BIG_INT)const  __ptr64
+?DoesIntersectSet@NUMBER_SET@@QEBAEVBIG_INT@@0@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::DosDriveNameToNtDriveName(class WSTRING const * __ptr64,class WSTRING * __ptr64)
+?DosDriveNameToNtDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
+; public: void __cdecl SPARSE_SET::DumpHashTable(void) __ptr64
+?DumpHashTable@SPARSE_SET@@QEAAXXZ
+; public: unsigned char __cdecl DIGRAPH::EliminateCycles(class CONTAINER * __ptr64,unsigned char * __ptr64) __ptr64
+?EliminateCycles@DIGRAPH@@QEAAEPEAVCONTAINER@@PEAE@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::EnableFileSystem(class WSTRING const * __ptr64)
+?EnableFileSystem@IFS_SYSTEM@@SAEPEBVWSTRING@@@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::EnableVolumeCompression(class WSTRING const * __ptr64)
+?EnableVolumeCompression@IFS_SYSTEM@@SAEPEBVWSTRING@@@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::EnableVolumeUpgrade(class WSTRING const * __ptr64)
+?EnableVolumeUpgrade@IFS_SYSTEM@@SAEPEBVWSTRING@@@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::FileSetAttributes(class WSTRING const * __ptr64,unsigned long,unsigned long * __ptr64)
+?FileSetAttributes@IFS_SYSTEM@@SAEPEBVWSTRING@@KPEAK@Z
+; public: unsigned char __cdecl IO_DP_DRIVE::FlushCache(void) __ptr64
+?FlushCache@IO_DP_DRIVE@@QEAAEXZ
+; public: unsigned char __cdecl VOL_LIODPDRV::ForceAutochk(unsigned char,unsigned long,unsigned long,unsigned short,class WSTRING const * __ptr64) __ptr64
+?ForceAutochk@VOL_LIODPDRV@@QEAAEEKKGPEBVWSTRING@@@Z
+; public: enum FORMAT_ERROR_CODE  __cdecl VOL_LIODPDRV::Format(class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
+?Format@VOL_LIODPDRV@@QEAA?AW4FORMAT_ERROR_CODE@@PEBVWSTRING@@PEAVMESSAGE@@KKK@Z
+; public: static long __cdecl SUPERAREA::GenerateLabelNotification(class WSTRING const * __ptr64,class WSTRING * __ptr64,struct _FILE_FS_SIZE_INFORMATION * __ptr64,struct _FILE_FS_VOLUME_INFORMATION * __ptr64)
+?GenerateLabelNotification@SUPERAREA@@SAJPEBVWSTRING@@PEAV2@PEAU_FILE_FS_SIZE_INFORMATION@@PEAU_FILE_FS_VOLUME_INFORMATION@@@Z
+; public: unsigned char __cdecl MOUNT_POINT_MAP::GetAt(unsigned long,class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
+?GetAt@MOUNT_POINT_MAP@@QEAAEKPEAVWSTRING@@0@Z
+; public: void * __ptr64 __cdecl TLINK::GetBuffer(void * __ptr64) __ptr64
+?GetBuffer@TLINK@@QEAAPEAXPEAX@Z
+; public: static class CANNED_SECURITY * __ptr64 __cdecl IFS_SYSTEM::GetCannedSecurity(void)
+?GetCannedSecurity@IFS_SYSTEM@@SAPEAVCANNED_SECURITY@@XZ
+; public: void * __ptr64 __cdecl CANNED_SECURITY::GetCannedSecurityDescriptor(enum _CANNED_SECURITY_TYPE,unsigned long * __ptr64) __ptr64
+?GetCannedSecurityDescriptor@CANNED_SECURITY@@QEAAPEAXW4_CANNED_SECURITY_TYPE@@PEAK@Z
+; public: class BIG_INT & __ptr64 __cdecl TLINK::GetData(unsigned short) __ptr64
+?GetData@TLINK@@QEAAAEAVBIG_INT@@G@Z
+; public: class BIG_INT & __ptr64 __cdecl TLINK::GetData(void * __ptr64) __ptr64
+?GetData@TLINK@@QEAAAEAVBIG_INT@@PEAX@Z
+; public: class IO_DP_DRIVE * __ptr64 __cdecl SECRUN::GetDrive(void) __ptr64
+?GetDrive@SECRUN@@QEAAPEAVIO_DP_DRIVE@@XZ
+; public: class IO_DP_DRIVE * __ptr64 __cdecl SUPERAREA::GetDrive(void) __ptr64
+?GetDrive@SUPERAREA@@QEAAPEAVIO_DP_DRIVE@@XZ
+; public: void * __ptr64 __cdecl TLINK::GetFirst(void) __ptr64
+?GetFirst@TLINK@@QEAAPEAXXZ
+; public: class MESSAGE * __ptr64 __cdecl IO_DP_DRIVE::GetMessageW(void) __ptr64
+?GetMessageW@IO_DP_DRIVE@@QEAAPEAVMESSAGE@@XZ
+; public: class MESSAGE * __ptr64 __cdecl SUPERAREA::GetMessageW(void) __ptr64
+?GetMessageW@SUPERAREA@@QEAAPEAVMESSAGE@@XZ
+; public: void * __ptr64 __cdecl TLINK::GetNext(void * __ptr64) __ptr64
+?GetNext@TLINK@@QEAAPEAXPEAX@Z
+; public: class BIG_INT & __ptr64 __cdecl TLINK::GetNextDataSlot(void) __ptr64
+?GetNextDataSlot@TLINK@@QEAAAEAVBIG_INT@@XZ
+; public: unsigned short * __ptr64 __cdecl SNAPSHOT::GetSnapshotGlobalDeviceName(void) __ptr64
+?GetSnapshotGlobalDeviceName@SNAPSHOT@@QEAAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl SNAPSHOT::GetSnapshotNtDeviceName(void) __ptr64
+?GetSnapshotNtDeviceName@SNAPSHOT@@QEAAPEAGXZ
+; public: void * __ptr64 __cdecl TLINK::GetSortedFirst(void) __ptr64
+?GetSortedFirst@TLINK@@QEAAPEAXXZ
+; public: void * __ptr64 __cdecl TLINK::GetSortedNext(void * __ptr64) __ptr64
+?GetSortedNext@TLINK@@QEAAPEAXPEAX@Z
+; public: static unsigned char __cdecl SNAPSHOT::GetVolumeSnapshot(class WSTRING * __ptr64,class SNAPSHOT * __ptr64 * __ptr64)
+?GetVolumeSnapshot@SNAPSHOT@@SAEPEAVWSTRING@@PEAPEAV1@@Z
+; public: unsigned char __cdecl CANNED_SECURITY::Initialize(void) __ptr64
+?Initialize@CANNED_SECURITY@@QEAAEXZ
+; public: unsigned char __cdecl DIGRAPH::Initialize(unsigned long) __ptr64
+?Initialize@DIGRAPH@@QEAAEK@Z
+; public: unsigned char __cdecl DP_DRIVE::Initialize(class WSTRING const * __ptr64,class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned char,unsigned char) __ptr64
+?Initialize@DP_DRIVE@@QEAAEPEBVWSTRING@@0PEAVMESSAGE@@EE@Z
+; public: unsigned char __cdecl DP_DRIVE::Initialize(class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned char,unsigned char,unsigned short) __ptr64
+?Initialize@DP_DRIVE@@QEAAEPEBVWSTRING@@PEAVMESSAGE@@EEG@Z
+; public: unsigned char __cdecl INTSTACK::Initialize(void) __ptr64
+?Initialize@INTSTACK@@QEAAEXZ
+; public: unsigned char __cdecl LOG_IO_DP_DRIVE::Initialize(class WSTRING const * __ptr64,class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned char) __ptr64
+?Initialize@LOG_IO_DP_DRIVE@@QEAAEPEBVWSTRING@@0PEAVMESSAGE@@E@Z
+; public: unsigned char __cdecl LOG_IO_DP_DRIVE::Initialize(class WSTRING const * __ptr64,class MESSAGE * __ptr64,unsigned char,unsigned short) __ptr64
+?Initialize@LOG_IO_DP_DRIVE@@QEAAEPEBVWSTRING@@PEAVMESSAGE@@EG@Z
+; public: unsigned char __cdecl MOUNT_POINT_MAP::Initialize(void) __ptr64
+?Initialize@MOUNT_POINT_MAP@@QEAAEXZ
+; public: unsigned char __cdecl NUMBER_SET::Initialize(void) __ptr64
+?Initialize@NUMBER_SET@@QEAAEXZ
+; public: unsigned char __cdecl READ_CACHE::Initialize(class IO_DP_DRIVE * __ptr64,unsigned long) __ptr64
+?Initialize@READ_CACHE@@QEAAEPEAVIO_DP_DRIVE@@K@Z
+; public: unsigned char __cdecl READ_WRITE_CACHE::Initialize(class IO_DP_DRIVE * __ptr64,unsigned long) __ptr64
+?Initialize@READ_WRITE_CACHE@@QEAAEPEAVIO_DP_DRIVE@@K@Z
+; public: unsigned char __cdecl SECRUN::Initialize(class MEM * __ptr64,class IO_DP_DRIVE * __ptr64,class BIG_INT,unsigned long) __ptr64
+?Initialize@SECRUN@@QEAAEPEAVMEM@@PEAVIO_DP_DRIVE@@VBIG_INT@@K@Z
+; private: long __cdecl SNAPSHOT::Initialize(unsigned short * __ptr64) __ptr64
+?Initialize@SNAPSHOT@@AEAAJPEAG@Z
+; public: unsigned char __cdecl SPARSE_SET::Initialize(void) __ptr64
+?Initialize@SPARSE_SET@@QEAAEXZ
+; protected: unsigned char __cdecl SUPERAREA::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,unsigned long,class MESSAGE * __ptr64) __ptr64
+?Initialize@SUPERAREA@@IEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@KPEAVMESSAGE@@@Z
+; public: unsigned char __cdecl TLINK::Initialize(unsigned short) __ptr64
+?Initialize@TLINK@@QEAAEG@Z
+; protected: enum FORMAT_ERROR_CODE  __cdecl VOL_LIODPDRV::Initialize(class WSTRING const * __ptr64,class SUPERAREA * __ptr64,class MESSAGE * __ptr64,unsigned char,unsigned char,enum _MEDIA_TYPE,unsigned short,unsigned char) __ptr64
+?Initialize@VOL_LIODPDRV@@IEAA?AW4FORMAT_ERROR_CODE@@PEBVWSTRING@@PEAVSUPERAREA@@PEAVMESSAGE@@EEW4_MEDIA_TYPE@@GE@Z
+; protected: unsigned char __cdecl VOL_LIODPDRV::Initialize(class WSTRING const * __ptr64,class WSTRING const * __ptr64,class SUPERAREA * __ptr64,class MESSAGE * __ptr64,unsigned char) __ptr64
+?Initialize@VOL_LIODPDRV@@IEAAEPEBVWSTRING@@0PEAVSUPERAREA@@PEAVMESSAGE@@E@Z
+; public: unsigned char __cdecl IO_DP_DRIVE::InvalidateVolume(void) __ptr64
+?InvalidateVolume@IO_DP_DRIVE@@QEAAEXZ
+; public: static unsigned char __cdecl IFS_SYSTEM::IsArcSystemPartition(class WSTRING const * __ptr64,unsigned char * __ptr64)
+?IsArcSystemPartition@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAE@Z
+; public: static unsigned char __cdecl AUTOREG::IsEntryPresent(class WSTRING const * __ptr64,class WSTRING const * __ptr64)
+?IsEntryPresent@AUTOREG@@SAEPEBVWSTRING@@0@Z
+; public: static unsigned char __cdecl AUTOREG::IsEntryPresent(class WSTRING const * __ptr64)
+?IsEntryPresent@AUTOREG@@SAEPEBVWSTRING@@@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::IsFileSystemEnabled(class WSTRING const * __ptr64,unsigned char * __ptr64)
+?IsFileSystemEnabled@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAE@Z
+; public: static unsigned char __cdecl AUTOREG::IsFrontEndPresent(class WSTRING const * __ptr64,class WSTRING const * __ptr64)
+?IsFrontEndPresent@AUTOREG@@SAEPEBVWSTRING@@0@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::IsThisNtfs(class BIG_INT,unsigned long,void * __ptr64)
+?IsThisNtfs@IFS_SYSTEM@@SAEVBIG_INT@@KPEAX@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::IsVolumeDirty(class WSTRING * __ptr64,unsigned char * __ptr64)
+?IsVolumeDirty@IFS_SYSTEM@@SAEPEAVWSTRING@@PEAE@Z
+; public: unsigned char __cdecl IO_DP_DRIVE::Lock(void) __ptr64
+?Lock@IO_DP_DRIVE@@QEAAEXZ
+; public: class BIG_INT  __cdecl INTSTACK::Look(unsigned long)const  __ptr64
+?Look@INTSTACK@@QEBA?AVBIG_INT@@K@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::NtDriveNameToDosDriveName(class WSTRING const * __ptr64,class WSTRING * __ptr64)
+?NtDriveNameToDosDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
+; public: void __cdecl INTSTACK::Pop(unsigned long) __ptr64
+?Pop@INTSTACK@@QEAAXK@Z
+; public: unsigned char __cdecl INTSTACK::Push(class BIG_INT) __ptr64
+?Push@INTSTACK@@QEAAEVBIG_INT@@@Z
+; public: static unsigned char __cdecl AUTOREG::PushEntry(class WSTRING const * __ptr64)
+?PushEntry@AUTOREG@@SAEPEBVWSTRING@@@Z
+; public: static unsigned char __cdecl VOL_LIODPDRV::QueryAutochkTimeOut(unsigned long * __ptr64)
+?QueryAutochkTimeOut@VOL_LIODPDRV@@SAEPEAK@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::QueryCanonicalNtDriveName(class WSTRING const * __ptr64,class WSTRING * __ptr64)
+?QueryCanonicalNtDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
+; public: unsigned char __cdecl DIGRAPH::QueryChildren(unsigned long,class NUMBER_SET * __ptr64)const  __ptr64
+?QueryChildren@DIGRAPH@@QEBAEKPEAVNUMBER_SET@@@Z
+; public: void __cdecl BIG_INT::QueryCompressedInteger(unsigned char * __ptr64,unsigned char * __ptr64)const  __ptr64
+?QueryCompressedInteger@BIG_INT@@QEBAXPEAE0@Z
+; public: unsigned char __cdecl NUMBER_SET::QueryContainingRange(class BIG_INT,class BIG_INT * __ptr64,class BIG_INT * __ptr64)const  __ptr64
+?QueryContainingRange@NUMBER_SET@@QEBAEVBIG_INT@@PEAV2@1@Z
+; public: void __cdecl NUMBER_SET::QueryDisjointRange(unsigned long,class BIG_INT * __ptr64,class BIG_INT * __ptr64)const  __ptr64
+?QueryDisjointRange@NUMBER_SET@@QEBAXKPEAVBIG_INT@@0@Z
+; public: void * __ptr64 __cdecl TLINK::QueryDisjointRangeAndAssignBuffer(class BIG_INT * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,void * __ptr64,unsigned long,void * __ptr64) __ptr64
+?QueryDisjointRangeAndAssignBuffer@TLINK@@QEAAPEAXPEAVBIG_INT@@PEAG1PEAXK2@Z
+; public: void * __ptr64 __cdecl DP_DRIVE::QueryDriveHandle(void)const  __ptr64
+?QueryDriveHandle@DP_DRIVE@@QEBAPEAXXZ
+; public: unsigned char __cdecl MOUNT_POINT_MAP::QueryDriveName(class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
+?QueryDriveName@MOUNT_POINT_MAP@@QEAAEPEAVWSTRING@@0@Z
+; public: enum DRIVE_TYPE  __cdecl DP_DRIVE::QueryDriveType(void)const  __ptr64
+?QueryDriveType@DP_DRIVE@@QEBA?AW4DRIVE_TYPE@@XZ
+; public: static unsigned char __cdecl IFS_SYSTEM::QueryFileSystemName(class WSTRING const * __ptr64,class WSTRING * __ptr64,long * __ptr64,class WSTRING * __ptr64)
+?QueryFileSystemName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@PEAJ1@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::QueryFreeDiskSpace(class WSTRING const * __ptr64,class BIG_INT * __ptr64)
+?QueryFreeDiskSpace@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAVBIG_INT@@@Z
+; unsigned long __cdecl QueryMachineUniqueToken(void)
+?QueryMachineUniqueToken@@YAKXZ
+; public: unsigned char __cdecl DP_DRIVE::QueryMediaByte(void)const  __ptr64
+?QueryMediaByte@DP_DRIVE@@QEBAEXZ
+; public: unsigned short __cdecl TLINK::QueryMemberCount(void)const  __ptr64
+?QueryMemberCount@TLINK@@QEBAGXZ
+; public: static unsigned char __cdecl DP_DRIVE::QueryMrwSupport(void * __ptr64)
+?QueryMrwSupport@DP_DRIVE@@SAEPEAX@Z
+; public: static long __cdecl DP_DRIVE::QueryNtfsSupportInfo(void * __ptr64,unsigned char * __ptr64)
+?QueryNtfsSupportInfo@DP_DRIVE@@SAJPEAXPEAE@Z
+; public: static void __cdecl IFS_SYSTEM::QueryNtfsTime(union _LARGE_INTEGER * __ptr64)
+?QueryNtfsTime@IFS_SYSTEM@@SAXPEAT_LARGE_INTEGER@@@Z
+; public: static unsigned char __cdecl IFS_SYSTEM::QueryNtfsVersion(unsigned char * __ptr64,unsigned char * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,void * __ptr64)
+?QueryNtfsVersion@IFS_SYSTEM@@SAEPEAE0PEAVLOG_IO_DP_DRIVE@@PEAX@Z
+; public: class BIG_INT  __cdecl NUMBER_SET::QueryNumber(class BIG_INT)const  __ptr64
+?QueryNumber@NUMBER_SET@@QEBA?AVBIG_INT@@V2@@Z
+; public: static unsigned long __cdecl IFS_SYSTEM::QueryPageSize(void)
+?QueryPageSize@IFS_SYSTEM@@SAKXZ
+; public: unsigned char __cdecl DIGRAPH::QueryParents(unsigned long,class NUMBER_SET * __ptr64)const  __ptr64
+?QueryParents@DIGRAPH@@QEBAEKPEAVNUMBER_SET@@@Z
+; public: unsigned char __cdecl DIGRAPH::QueryParentsWithChildren(class NUMBER_SET * __ptr64,unsigned long)const  __ptr64
+?QueryParentsWithChildren@DIGRAPH@@QEBAEPEAVNUMBER_SET@@K@Z
+; public: enum _MEDIA_TYPE  __cdecl DP_DRIVE::QueryRecommendedMediaType(void)const  __ptr64
+?QueryRecommendedMediaType@DP_DRIVE@@QEBA?AW4_MEDIA_TYPE@@XZ
+; public: virtual unsigned long __cdecl DP_DRIVE::QuerySectorSize(void)const  __ptr64
+?QuerySectorSize@DP_DRIVE@@UEBAKXZ
+; public: virtual class BIG_INT  __cdecl DP_DRIVE::QuerySectors(void)const  __ptr64
+?QuerySectors@DP_DRIVE@@UEBA?AVBIG_INT@@XZ
+; public: unsigned short __cdecl TLINK::QuerySize(void)const  __ptr64
+?QuerySize@TLINK@@QEBAGXZ
+; public: unsigned char __cdecl MOUNT_POINT_MAP::QueryVolumeName(class WSTRING * __ptr64,class WSTRING * __ptr64) __ptr64
+?QueryVolumeName@MOUNT_POINT_MAP@@QEAAEPEAVWSTRING@@0@Z
+; public: unsigned char __cdecl IO_DP_DRIVE::Read(class BIG_INT,unsigned long,void * __ptr64) __ptr64
+?Read@IO_DP_DRIVE@@QEAAEVBIG_INT@@KPEAX@Z
+; public: virtual unsigned char __cdecl SECRUN::Read(void) __ptr64
+?Read@SECRUN@@UEAAEXZ
+; public: unsigned char __cdecl VOL_LIODPDRV::Recover(class WSTRING const * __ptr64,class MESSAGE * __ptr64) __ptr64
+?Recover@VOL_LIODPDRV@@QEAAEPEBVWSTRING@@PEAVMESSAGE@@@Z
+; public: static unsigned char __cdecl SNAPSHOT::ReleaseVolumeSnapshot(class SNAPSHOT * __ptr64)
+?ReleaseVolumeSnapshot@SNAPSHOT@@SAEPEAV1@@Z
+; public: unsigned char __cdecl NUMBER_SET::Remove(class NUMBER_SET const * __ptr64) __ptr64
+?Remove@NUMBER_SET@@QEAAEPEBV1@@Z
+; public: unsigned char __cdecl NUMBER_SET::Remove(class BIG_INT,class BIG_INT) __ptr64
+?Remove@NUMBER_SET@@QEAAEVBIG_INT@@0@Z
+; public: unsigned char __cdecl NUMBER_SET::Remove(class BIG_INT) __ptr64
+?Remove@NUMBER_SET@@QEAAEVBIG_INT@@@Z
+; public: unsigned char __cdecl NUMBER_SET::RemoveAll(void) __ptr64
+?RemoveAll@NUMBER_SET@@QEAAEXZ
+; public: unsigned char __cdecl SPARSE_SET::RemoveAll(void) __ptr64
+?RemoveAll@SPARSE_SET@@QEAAEXZ
+; public: unsigned char __cdecl DIGRAPH::RemoveEdge(unsigned long,unsigned long) __ptr64
+?RemoveEdge@DIGRAPH@@QEAAEKK@Z
+; void __cdecl RestoreThreadExecutionState(long,unsigned long)
+?RestoreThreadExecutionState@@YAXJK@Z
+; public: unsigned char __cdecl INTSTACK::ReverseCopy(class INTSTACK * __ptr64) __ptr64
+?ReverseCopy@INTSTACK@@QEAAEPEAV1@@Z
+; public: unsigned char __cdecl DP_DRIVE::SendSonyMSFormatCmd(void) __ptr64
+?SendSonyMSFormatCmd@DP_DRIVE@@QEAAEXZ
+; public: unsigned char __cdecl DP_DRIVE::SendSonyMSInquiryCmd(struct SONY_MS_INQUIRY_DATA * __ptr64) __ptr64
+?SendSonyMSInquiryCmd@DP_DRIVE@@QEAAEPEAUSONY_MS_INQUIRY_DATA@@@Z
+; public: unsigned char __cdecl DP_DRIVE::SendSonyMSModeSenseCmd(struct SONY_MS_MODE_SENSE_DATA * __ptr64) __ptr64
+?SendSonyMSModeSenseCmd@DP_DRIVE@@QEAAEPEAUSONY_MS_MODE_SENSE_DATA@@@Z
+; public: unsigned char __cdecl DP_DRIVE::SendSonyMSRequestSenseCmd(struct _SENSE_DATA * __ptr64) __ptr64
+?SendSonyMSRequestSenseCmd@DP_DRIVE@@QEAAEPEAU_SENSE_DATA@@@Z
+; public: unsigned char __cdecl DP_DRIVE::SendSonyMSTestUnitReadyCmd(struct _SENSE_DATA * __ptr64) __ptr64
+?SendSonyMSTestUnitReadyCmd@DP_DRIVE@@QEAAEPEAU_SENSE_DATA@@@Z
+; public: void __cdecl BIG_INT::Set(unsigned char,unsigned char const * __ptr64) __ptr64
+?Set@BIG_INT@@QEAAXEPEBE@Z
+; public: static unsigned char __cdecl VOL_LIODPDRV::SetAutochkTimeOut(unsigned long)
+?SetAutochkTimeOut@VOL_LIODPDRV@@SAEK@Z
+; public: void __cdecl IO_DP_DRIVE::SetCache(class DRIVE_CACHE * __ptr64) __ptr64
+?SetCache@IO_DP_DRIVE@@QEAAXPEAVDRIVE_CACHE@@@Z
+; public: unsigned char __cdecl LOG_IO_DP_DRIVE::SetSystemId(unsigned char) __ptr64
+?SetSystemId@LOG_IO_DP_DRIVE@@QEAAEE@Z
+; public: unsigned char __cdecl VOL_LIODPDRV::SetVolumeLabelAndPrintFormatReport(class WSTRING const * __ptr64,class MESSAGE * __ptr64) __ptr64
+?SetVolumeLabelAndPrintFormatReport@VOL_LIODPDRV@@QEAAEPEBVWSTRING@@PEAVMESSAGE@@@Z
+; public: void __cdecl TLINK::ShellSort(void) __ptr64
+?ShellSort@TLINK@@QEAAXXZ
+; public: void __cdecl TLINK::Sort(void) __ptr64
+?Sort@TLINK@@QEAAXXZ
+; public: unsigned char __cdecl IO_DP_DRIVE::Verify(class BIG_INT,class BIG_INT) __ptr64
+?Verify@IO_DP_DRIVE@@QEAAEVBIG_INT@@0@Z
+; public: unsigned char __cdecl IO_DP_DRIVE::Verify(class BIG_INT,class BIG_INT,class NUMBER_SET * __ptr64) __ptr64
+?Verify@IO_DP_DRIVE@@QEAAEVBIG_INT@@0PEAVNUMBER_SET@@@Z
+; public: unsigned char __cdecl IO_DP_DRIVE::Write(class BIG_INT,unsigned long,void * __ptr64) __ptr64
+?Write@IO_DP_DRIVE@@QEAAEVBIG_INT@@KPEAX@Z
+; public: virtual unsigned char __cdecl SECRUN::Write(void) __ptr64
+?Write@SECRUN@@UEAAEXZ
+; public: static unsigned char __cdecl IFS_SYSTEM::WriteToFile(class WSTRING const * __ptr64,void * __ptr64,unsigned long,unsigned char)
+?WriteToFile@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAXKE@Z
diff --git a/mingw-w64-crt/lib64/igmpagnt.def b/mingw-w64-crt/lib64/igmpagnt.def
index 0398bdb..816072d 100644
--- a/mingw-w64-crt/lib64/igmpagnt.def
+++ b/mingw-w64-crt/lib64/igmpagnt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IGMPAGNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IGMPAGNT.dll
-EXPORTS
-SnmpExtensionClose
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file IGMPAGNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IGMPAGNT.dll
+EXPORTS
+SnmpExtensionClose
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/iis.def b/mingw-w64-crt/lib64/iis.def
index 6bf0bd4..74b6974 100644
--- a/mingw-w64-crt/lib64/iis.def
+++ b/mingw-w64-crt/lib64/iis.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file IIS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IIS.dll
-EXPORTS
-OcEntry
-IIS5Log
-IIS5LogParmString
-IIS5LogParmDword
-ProcessInfSection
-SysPrepBackup
-SysPrepRestore
-ApplyIISAcl
+; 
+; Exports of file IIS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IIS.dll
+EXPORTS
+OcEntry
+IIS5Log
+IIS5LogParmString
+IIS5LogParmDword
+ProcessInfSection
+SysPrepBackup
+SysPrepRestore
+ApplyIISAcl
diff --git a/mingw-w64-crt/lib64/iisadmin.def b/mingw-w64-crt/lib64/iisadmin.def
index 8440945..0d48b9d 100644
--- a/mingw-w64-crt/lib64/iisadmin.def
+++ b/mingw-w64-crt/lib64/iisadmin.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file IISADMIN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISADMIN.dll
-EXPORTS
-RetrieveTracingHandle
-ServiceEntry
+; 
+; Exports of file IISADMIN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISADMIN.dll
+EXPORTS
+RetrieveTracingHandle
+ServiceEntry
diff --git a/mingw-w64-crt/lib64/iiscfg.def b/mingw-w64-crt/lib64/iiscfg.def
index 8453d6f..eb32624 100644
--- a/mingw-w64-crt/lib64/iiscfg.def
+++ b/mingw-w64-crt/lib64/iiscfg.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file IISCFG.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISCFG.DLL
-EXPORTS
-DllGetSimpleObject
-DllGetSimpleObjectByID
-DllGetSimpleObjectByIDEx
+; 
+; Exports of file IISCFG.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISCFG.DLL
+EXPORTS
+DllGetSimpleObject
+DllGetSimpleObjectByID
+DllGetSimpleObjectByIDEx
diff --git a/mingw-w64-crt/lib64/iisclex4.def b/mingw-w64-crt/lib64/iisclex4.def
index 12dfffa..2aafc52 100644
--- a/mingw-w64-crt/lib64/iisclex4.def
+++ b/mingw-w64-crt/lib64/iisclex4.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file IISCLEX4.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISCLEX4.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterCluAdminExtension
-DllRegisterServer
-DllUnregisterCluAdminExtension
-DllUnregisterServer
+; 
+; Exports of file IISCLEX4.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISCLEX4.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterCluAdminExtension
+DllRegisterServer
+DllUnregisterCluAdminExtension
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iisext.def b/mingw-w64-crt/lib64/iisext.def
index 3e417b1..6216c9b 100644
--- a/mingw-w64-crt/lib64/iisext.def
+++ b/mingw-w64-crt/lib64/iisext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IISEXT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISEXT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IISEXT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISEXT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iislog.def b/mingw-w64-crt/lib64/iislog.def
index 32c7bfe..1e7441c 100644
--- a/mingw-w64-crt/lib64/iislog.def
+++ b/mingw-w64-crt/lib64/iislog.def
@@ -1,110 +1,110 @@
-; 
-; Exports of file IISLOG.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISLOG.DLL
-EXPORTS
-; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
-??0LOGGING@@QEAA@AEBV0@@Z
-; public: __cdecl ODBC_CONNECTION::ODBC_CONNECTION(void) __ptr64
-??0ODBC_CONNECTION@@QEAA@XZ
-; public: __cdecl ODBC_PARAMETER::ODBC_PARAMETER(unsigned short,short,short,short,unsigned long) __ptr64
-??0ODBC_PARAMETER@@QEAA@GFFFK@Z
-; public: __cdecl ODBC_CONNECTION::~ODBC_CONNECTION(void) __ptr64
-??1ODBC_CONNECTION@@QEAA@XZ
-; public: __cdecl ODBC_PARAMETER::~ODBC_PARAMETER(void) __ptr64
-??1ODBC_PARAMETER@@QEAA@XZ
-; public: __cdecl ODBC_STATEMENT::~ODBC_STATEMENT(void) __ptr64
-??1ODBC_STATEMENT@@QEAA@XZ
-; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
-??4LOGGING@@QEAAAEAV0@AEBV0@@Z
-; public: class ODBC_STATEMENT * __ptr64 __cdecl ODBC_CONNECTION::AllocStatement(void) __ptr64
-?AllocStatement@ODBC_CONNECTION@@QEAAPEAVODBC_STATEMENT@@XZ
-; public: short __cdecl ODBC_PARAMETER::Bind(void * __ptr64) __ptr64
-?Bind@ODBC_PARAMETER@@QEAAFPEAX@Z
-; public: int __cdecl ODBC_STATEMENT::BindParameter(class ODBC_PARAMETER * __ptr64) __ptr64
-?BindParameter@ODBC_STATEMENT@@QEAAHPEAVODBC_PARAMETER@@@Z
-; public: int __cdecl ODBC_CONNECTION::Close(void) __ptr64
-?Close@ODBC_CONNECTION@@QEAAHXZ
-; public: int __cdecl ODBC_PARAMETER::CopyValue(unsigned long) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHK@Z
-; public: int __cdecl ODBC_PARAMETER::CopyValue(struct _SYSTEMTIME * __ptr64) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHPEAU_SYSTEMTIME@@@Z
-; public: int __cdecl ODBC_PARAMETER::CopyValue(void * __ptr64,long) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHPEAXJ@Z
-; public: int __cdecl ODBC_PARAMETER::CopyValue(char const * __ptr64) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHPEBD@Z
-; public: int __cdecl ODBC_PARAMETER::CopyValue(unsigned short const * __ptr64) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHPEBG@Z
-; public: static unsigned __int64 __cdecl ODBC_CONNECTION::DisplaySize(short,unsigned __int64)
-?DisplaySize@ODBC_CONNECTION@@SA_KF_K@Z
-; public: int __cdecl ODBC_STATEMENT::ExecDirect(char const * __ptr64,unsigned long) __ptr64
-?ExecDirect@ODBC_STATEMENT@@QEAAHPEBDK@Z
-; public: int __cdecl ODBC_STATEMENT::ExecuteStatement(void) __ptr64
-?ExecuteStatement@ODBC_STATEMENT@@QEAAHXZ
-; public: void __cdecl ODBC_STATEMENT::FreeColumnMemory(void) __ptr64
-?FreeColumnMemory@ODBC_STATEMENT@@QEAAXXZ
-; public: int __cdecl ODBC_CONNECTION::GetInfo(unsigned long,void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?GetInfo@ODBC_CONNECTION@@QEAAHKPEAXKPEAK@Z
-; public: int __cdecl ODBC_CONNECTION::GetLastErrorText(class STR * __ptr64,void * __ptr64,short)const  __ptr64
-?GetLastErrorText@ODBC_CONNECTION@@QEBAHPEAVSTR@@PEAXF@Z
-; public: int __cdecl ODBC_CONNECTION::GetLastErrorTextAsHtml(class STR * __ptr64,void * __ptr64,short)const  __ptr64
-?GetLastErrorTextAsHtml@ODBC_CONNECTION@@QEBAHPEAVSTR@@PEAXF@Z
-; public: int __cdecl ODBC_CONNECTION::IsValid(void)const  __ptr64
-?IsValid@ODBC_CONNECTION@@QEBAHXZ
-; public: int __cdecl ODBC_STATEMENT::IsValid(void)const  __ptr64
-?IsValid@ODBC_STATEMENT@@QEBAHXZ
-; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
-?LockExclusive@LOGGING@@AEAAXXZ
-; private: void __cdecl LOGGING::LockShared(void) __ptr64
-?LockShared@LOGGING@@AEAAXXZ
-; public: int __cdecl ODBC_STATEMENT::MoreResults(int * __ptr64) __ptr64
-?MoreResults@ODBC_STATEMENT@@QEAAHPEAH@Z
-; public: int __cdecl ODBC_CONNECTION::Open(char const * __ptr64,char const * __ptr64,char const * __ptr64,int) __ptr64
-?Open@ODBC_CONNECTION@@QEAAHPEBD00H@Z
-; public: int __cdecl ODBC_STATEMENT::PrepareStatement(char const * __ptr64) __ptr64
-?PrepareStatement@ODBC_STATEMENT@@QEAAHPEBD@Z
-; public: short __cdecl ODBC_PARAMETER::QueryCType(void)const  __ptr64
-?QueryCType@ODBC_PARAMETER@@QEBAFXZ
-; public: __int64 __cdecl ODBC_PARAMETER::QueryCbValue(void)const  __ptr64
-?QueryCbValue@ODBC_PARAMETER@@QEBA_JXZ
-; public: __int64 & __ptr64 __cdecl ODBC_PARAMETER::QueryCbValueRef(void) __ptr64
-?QueryCbValueRef@ODBC_PARAMETER@@QEAAAEA_JXZ
-; public: int __cdecl ODBC_STATEMENT::QueryColNames(class STR * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long,int * __ptr64) __ptr64
-?QueryColNames@ODBC_STATEMENT@@QEAAHPEAPEAVSTR@@PEAKKPEAH@Z
-; public: short __cdecl ODBC_CONNECTION::QueryErrorCode(void)const  __ptr64
-?QueryErrorCode@ODBC_CONNECTION@@QEBAFXZ
-; public: short __cdecl ODBC_STATEMENT::QueryErrorCode(void)const  __ptr64
-?QueryErrorCode@ODBC_STATEMENT@@QEBAFXZ
-; public: __int64 __cdecl ODBC_PARAMETER::QueryMaxCbValue(void)const  __ptr64
-?QueryMaxCbValue@ODBC_PARAMETER@@QEBA_JXZ
-; public: unsigned short __cdecl ODBC_PARAMETER::QueryParamNumber(void)const  __ptr64
-?QueryParamNumber@ODBC_PARAMETER@@QEBAGXZ
-; public: short __cdecl ODBC_PARAMETER::QueryParamType(void)const  __ptr64
-?QueryParamType@ODBC_PARAMETER@@QEBAFXZ
-; public: unsigned long __cdecl ODBC_PARAMETER::QueryPrecision(void)const  __ptr64
-?QueryPrecision@ODBC_PARAMETER@@QEBAKXZ
-; public: int __cdecl ODBC_STATEMENT::QueryRowCount(__int64 * __ptr64) __ptr64
-?QueryRowCount@ODBC_STATEMENT@@QEAAHPEA_J@Z
-; public: short __cdecl ODBC_PARAMETER::QueryScale(void)const  __ptr64
-?QueryScale@ODBC_PARAMETER@@QEBAFXZ
-; public: short __cdecl ODBC_PARAMETER::QuerySqlType(void)const  __ptr64
-?QuerySqlType@ODBC_PARAMETER@@QEBAFXZ
-; public: void * __ptr64 __cdecl ODBC_PARAMETER::QueryValue(void)const  __ptr64
-?QueryValue@ODBC_PARAMETER@@QEBAPEAXXZ
-; public: int __cdecl ODBC_STATEMENT::QueryValuesAsStr(class STR * __ptr64 * __ptr64,int * __ptr64) __ptr64
-?QueryValuesAsStr@ODBC_STATEMENT@@QEAAHPEAPEAVSTR@@PEAH@Z
-; public: int __cdecl ODBC_CONNECTION::SetConnectOption(unsigned short,unsigned __int64) __ptr64
-?SetConnectOption@ODBC_CONNECTION@@QEAAHG_K@Z
-; public: int __cdecl ODBC_PARAMETER::SetValueBuffer(long,long) __ptr64
-?SetValueBuffer@ODBC_PARAMETER@@QEAAHJJ@Z
-; public: static int __cdecl ODBC_CONNECTION::Success(short)
-?Success@ODBC_CONNECTION@@SAHF@Z
-; private: void __cdecl LOGGING::Unlock(void) __ptr64
-?Unlock@LOGGING@@AEAAXXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IISLOG.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISLOG.DLL
+EXPORTS
+; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
+??0LOGGING@@QEAA@AEBV0@@Z
+; public: __cdecl ODBC_CONNECTION::ODBC_CONNECTION(void) __ptr64
+??0ODBC_CONNECTION@@QEAA@XZ
+; public: __cdecl ODBC_PARAMETER::ODBC_PARAMETER(unsigned short,short,short,short,unsigned long) __ptr64
+??0ODBC_PARAMETER@@QEAA@GFFFK@Z
+; public: __cdecl ODBC_CONNECTION::~ODBC_CONNECTION(void) __ptr64
+??1ODBC_CONNECTION@@QEAA@XZ
+; public: __cdecl ODBC_PARAMETER::~ODBC_PARAMETER(void) __ptr64
+??1ODBC_PARAMETER@@QEAA@XZ
+; public: __cdecl ODBC_STATEMENT::~ODBC_STATEMENT(void) __ptr64
+??1ODBC_STATEMENT@@QEAA@XZ
+; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
+??4LOGGING@@QEAAAEAV0@AEBV0@@Z
+; public: class ODBC_STATEMENT * __ptr64 __cdecl ODBC_CONNECTION::AllocStatement(void) __ptr64
+?AllocStatement@ODBC_CONNECTION@@QEAAPEAVODBC_STATEMENT@@XZ
+; public: short __cdecl ODBC_PARAMETER::Bind(void * __ptr64) __ptr64
+?Bind@ODBC_PARAMETER@@QEAAFPEAX@Z
+; public: int __cdecl ODBC_STATEMENT::BindParameter(class ODBC_PARAMETER * __ptr64) __ptr64
+?BindParameter@ODBC_STATEMENT@@QEAAHPEAVODBC_PARAMETER@@@Z
+; public: int __cdecl ODBC_CONNECTION::Close(void) __ptr64
+?Close@ODBC_CONNECTION@@QEAAHXZ
+; public: int __cdecl ODBC_PARAMETER::CopyValue(unsigned long) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHK@Z
+; public: int __cdecl ODBC_PARAMETER::CopyValue(struct _SYSTEMTIME * __ptr64) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHPEAU_SYSTEMTIME@@@Z
+; public: int __cdecl ODBC_PARAMETER::CopyValue(void * __ptr64,long) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHPEAXJ@Z
+; public: int __cdecl ODBC_PARAMETER::CopyValue(char const * __ptr64) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHPEBD@Z
+; public: int __cdecl ODBC_PARAMETER::CopyValue(unsigned short const * __ptr64) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHPEBG@Z
+; public: static unsigned __int64 __cdecl ODBC_CONNECTION::DisplaySize(short,unsigned __int64)
+?DisplaySize@ODBC_CONNECTION@@SA_KF_K@Z
+; public: int __cdecl ODBC_STATEMENT::ExecDirect(char const * __ptr64,unsigned long) __ptr64
+?ExecDirect@ODBC_STATEMENT@@QEAAHPEBDK@Z
+; public: int __cdecl ODBC_STATEMENT::ExecuteStatement(void) __ptr64
+?ExecuteStatement@ODBC_STATEMENT@@QEAAHXZ
+; public: void __cdecl ODBC_STATEMENT::FreeColumnMemory(void) __ptr64
+?FreeColumnMemory@ODBC_STATEMENT@@QEAAXXZ
+; public: int __cdecl ODBC_CONNECTION::GetInfo(unsigned long,void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?GetInfo@ODBC_CONNECTION@@QEAAHKPEAXKPEAK@Z
+; public: int __cdecl ODBC_CONNECTION::GetLastErrorText(class STR * __ptr64,void * __ptr64,short)const  __ptr64
+?GetLastErrorText@ODBC_CONNECTION@@QEBAHPEAVSTR@@PEAXF@Z
+; public: int __cdecl ODBC_CONNECTION::GetLastErrorTextAsHtml(class STR * __ptr64,void * __ptr64,short)const  __ptr64
+?GetLastErrorTextAsHtml@ODBC_CONNECTION@@QEBAHPEAVSTR@@PEAXF@Z
+; public: int __cdecl ODBC_CONNECTION::IsValid(void)const  __ptr64
+?IsValid@ODBC_CONNECTION@@QEBAHXZ
+; public: int __cdecl ODBC_STATEMENT::IsValid(void)const  __ptr64
+?IsValid@ODBC_STATEMENT@@QEBAHXZ
+; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
+?LockExclusive@LOGGING@@AEAAXXZ
+; private: void __cdecl LOGGING::LockShared(void) __ptr64
+?LockShared@LOGGING@@AEAAXXZ
+; public: int __cdecl ODBC_STATEMENT::MoreResults(int * __ptr64) __ptr64
+?MoreResults@ODBC_STATEMENT@@QEAAHPEAH@Z
+; public: int __cdecl ODBC_CONNECTION::Open(char const * __ptr64,char const * __ptr64,char const * __ptr64,int) __ptr64
+?Open@ODBC_CONNECTION@@QEAAHPEBD00H@Z
+; public: int __cdecl ODBC_STATEMENT::PrepareStatement(char const * __ptr64) __ptr64
+?PrepareStatement@ODBC_STATEMENT@@QEAAHPEBD@Z
+; public: short __cdecl ODBC_PARAMETER::QueryCType(void)const  __ptr64
+?QueryCType@ODBC_PARAMETER@@QEBAFXZ
+; public: __int64 __cdecl ODBC_PARAMETER::QueryCbValue(void)const  __ptr64
+?QueryCbValue@ODBC_PARAMETER@@QEBA_JXZ
+; public: __int64 & __ptr64 __cdecl ODBC_PARAMETER::QueryCbValueRef(void) __ptr64
+?QueryCbValueRef@ODBC_PARAMETER@@QEAAAEA_JXZ
+; public: int __cdecl ODBC_STATEMENT::QueryColNames(class STR * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long,int * __ptr64) __ptr64
+?QueryColNames@ODBC_STATEMENT@@QEAAHPEAPEAVSTR@@PEAKKPEAH@Z
+; public: short __cdecl ODBC_CONNECTION::QueryErrorCode(void)const  __ptr64
+?QueryErrorCode@ODBC_CONNECTION@@QEBAFXZ
+; public: short __cdecl ODBC_STATEMENT::QueryErrorCode(void)const  __ptr64
+?QueryErrorCode@ODBC_STATEMENT@@QEBAFXZ
+; public: __int64 __cdecl ODBC_PARAMETER::QueryMaxCbValue(void)const  __ptr64
+?QueryMaxCbValue@ODBC_PARAMETER@@QEBA_JXZ
+; public: unsigned short __cdecl ODBC_PARAMETER::QueryParamNumber(void)const  __ptr64
+?QueryParamNumber@ODBC_PARAMETER@@QEBAGXZ
+; public: short __cdecl ODBC_PARAMETER::QueryParamType(void)const  __ptr64
+?QueryParamType@ODBC_PARAMETER@@QEBAFXZ
+; public: unsigned long __cdecl ODBC_PARAMETER::QueryPrecision(void)const  __ptr64
+?QueryPrecision@ODBC_PARAMETER@@QEBAKXZ
+; public: int __cdecl ODBC_STATEMENT::QueryRowCount(__int64 * __ptr64) __ptr64
+?QueryRowCount@ODBC_STATEMENT@@QEAAHPEA_J@Z
+; public: short __cdecl ODBC_PARAMETER::QueryScale(void)const  __ptr64
+?QueryScale@ODBC_PARAMETER@@QEBAFXZ
+; public: short __cdecl ODBC_PARAMETER::QuerySqlType(void)const  __ptr64
+?QuerySqlType@ODBC_PARAMETER@@QEBAFXZ
+; public: void * __ptr64 __cdecl ODBC_PARAMETER::QueryValue(void)const  __ptr64
+?QueryValue@ODBC_PARAMETER@@QEBAPEAXXZ
+; public: int __cdecl ODBC_STATEMENT::QueryValuesAsStr(class STR * __ptr64 * __ptr64,int * __ptr64) __ptr64
+?QueryValuesAsStr@ODBC_STATEMENT@@QEAAHPEAPEAVSTR@@PEAH@Z
+; public: int __cdecl ODBC_CONNECTION::SetConnectOption(unsigned short,unsigned __int64) __ptr64
+?SetConnectOption@ODBC_CONNECTION@@QEAAHG_K@Z
+; public: int __cdecl ODBC_PARAMETER::SetValueBuffer(long,long) __ptr64
+?SetValueBuffer@ODBC_PARAMETER@@QEAAHJJ@Z
+; public: static int __cdecl ODBC_CONNECTION::Success(short)
+?Success@ODBC_CONNECTION@@SAHF@Z
+; private: void __cdecl LOGGING::Unlock(void) __ptr64
+?Unlock@LOGGING@@AEAAXXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iismap.def b/mingw-w64-crt/lib64/iismap.def
index 5f08c9e..db5c091 100644
--- a/mingw-w64-crt/lib64/iismap.def
+++ b/mingw-w64-crt/lib64/iismap.def
@@ -1,418 +1,418 @@
-; 
-; Exports of file IISMAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISMAP.dll
-EXPORTS
-; public: __cdecl CAllocString::CAllocString(void) __ptr64
-??0CAllocString@@QEAA@XZ
-; public: __cdecl CBlob::CBlob(void) __ptr64
-??0CBlob@@QEAA@XZ
-; public: __cdecl CBlobXBF::CBlobXBF(void) __ptr64
-??0CBlobXBF@@QEAA@XZ
-; public: __cdecl CCert11Mapping::CCert11Mapping(class CIisAcctMapper * __ptr64) __ptr64
-??0CCert11Mapping@@QEAA@PEAVCIisAcctMapper@@@Z
-; public: __cdecl CCertGlobalRuleInfo::CCertGlobalRuleInfo(void) __ptr64
-??0CCertGlobalRuleInfo@@QEAA@XZ
-; public: __cdecl CCertMapRule::CCertMapRule(void) __ptr64
-??0CCertMapRule@@QEAA@XZ
-; public: __cdecl CDecodedCert::CDecodedCert(struct _CERT_CONTEXT * __ptr64) __ptr64
-??0CDecodedCert@@QEAA@PEAU_CERT_CONTEXT@@@Z
-; public: __cdecl CIisAcctMapper::CIisAcctMapper(void) __ptr64
-??0CIisAcctMapper@@QEAA@XZ
-; public: __cdecl CIisCert11Mapper::CIisCert11Mapper(void) __ptr64
-??0CIisCert11Mapper@@QEAA@XZ
-; public: __cdecl CIisRuleMapper::CIisRuleMapper(void) __ptr64
-??0CIisRuleMapper@@QEAA@XZ
-; public: __cdecl CIssuerStore::CIssuerStore(void) __ptr64
-??0CIssuerStore@@QEAA@XZ
-; public: __cdecl CPtrDwordXBF::CPtrDwordXBF(void) __ptr64
-??0CPtrDwordXBF@@QEAA@XZ
-; public: __cdecl CPtrXBF::CPtrXBF(void) __ptr64
-??0CPtrXBF@@QEAA@XZ
-; public: __cdecl CStoreXBF::CStoreXBF(unsigned int) __ptr64
-??0CStoreXBF@@QEAA@I@Z
-; public: __cdecl CAllocString::~CAllocString(void) __ptr64
-??1CAllocString@@QEAA@XZ
-; public: __cdecl CBlob::~CBlob(void) __ptr64
-??1CBlob@@QEAA@XZ
-; public: __cdecl CBlobXBF::~CBlobXBF(void) __ptr64
-??1CBlobXBF@@QEAA@XZ
-; public: __cdecl CCert11Mapping::~CCert11Mapping(void) __ptr64
-??1CCert11Mapping@@QEAA@XZ
-; public: __cdecl CCertGlobalRuleInfo::~CCertGlobalRuleInfo(void) __ptr64
-??1CCertGlobalRuleInfo@@QEAA@XZ
-; public: __cdecl CCertMapRule::~CCertMapRule(void) __ptr64
-??1CCertMapRule@@QEAA@XZ
-; public: __cdecl CDecodedCert::~CDecodedCert(void) __ptr64
-??1CDecodedCert@@QEAA@XZ
-; public: __cdecl CIisAcctMapper::~CIisAcctMapper(void) __ptr64
-??1CIisAcctMapper@@QEAA@XZ
-; public: __cdecl CIisCert11Mapper::~CIisCert11Mapper(void) __ptr64
-??1CIisCert11Mapper@@QEAA@XZ
-; public: __cdecl CIisRuleMapper::~CIisRuleMapper(void) __ptr64
-??1CIisRuleMapper@@QEAA@XZ
-; public: __cdecl CIssuerStore::~CIssuerStore(void) __ptr64
-??1CIssuerStore@@QEAA@XZ
-; public: __cdecl CStoreXBF::~CStoreXBF(void) __ptr64
-??1CStoreXBF@@QEAA@XZ
-; public: __cdecl CStrPtrXBF::~CStrPtrXBF(void) __ptr64
-??1CStrPtrXBF@@QEAA@XZ
-; public: void __cdecl CStoreXBF::`default constructor closure'(void) __ptr64
-??_FCStoreXBF@@QEAAXXZ
-; public: virtual int __cdecl CIisAcctMapper::Add(class CIisMapping * __ptr64,int) __ptr64
-?Add@CIisAcctMapper@@UEAAHPEAVCIisMapping@@H@Z
-; public: unsigned long __cdecl CBlobXBF::AddEntry(unsigned char * __ptr64,unsigned long) __ptr64
-?AddEntry@CBlobXBF@@QEAAKPEAEK@Z
-; public: unsigned long __cdecl CStrPtrXBF::AddEntry(char * __ptr64) __ptr64
-?AddEntry@CStrPtrXBF@@QEAAKPEAD@Z
-; public: virtual unsigned long __cdecl CIisAcctMapper::AddEx(class CIisMapping * __ptr64) __ptr64
-?AddEx@CIisAcctMapper@@UEAAKPEAVCIisMapping@@@Z
-; public: int __cdecl CCertMapRule::AddIssuerEntry(char * __ptr64,int) __ptr64
-?AddIssuerEntry@CCertMapRule@@QEAAHPEADH@Z
-; public: unsigned long __cdecl CPtrDwordXBF::AddPtr(unsigned long) __ptr64
-?AddPtr@CPtrDwordXBF@@QEAAKK@Z
-; public: unsigned long __cdecl CPtrXBF::AddPtr(void * __ptr64) __ptr64
-?AddPtr@CPtrXBF@@QEAAKPEAX@Z
-; public: unsigned long __cdecl CIisRuleMapper::AddRule(class CCertMapRule * __ptr64) __ptr64
-?AddRule@CIisRuleMapper@@QEAAKPEAVCCertMapRule@@@Z
-; public: unsigned long __cdecl CIisRuleMapper::AddRule(void) __ptr64
-?AddRule@CIisRuleMapper@@QEAAKXZ
-; public: unsigned long __cdecl CCertMapRule::AddRuleElem(unsigned long,enum CERT_FIELD_ID,char * __ptr64,unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?AddRuleElem@CCertMapRule@@QEAAKKW4CERT_FIELD_ID@@PEADPEAEKK@Z
-; public: int __cdecl CCertGlobalRuleInfo::AddRuleOrder(void) __ptr64
-?AddRuleOrder@CCertGlobalRuleInfo@@QEAAHXZ
-; public: int __cdecl CAllocString::Append(char * __ptr64) __ptr64
-?Append@CAllocString@@QEAAHPEAD@Z
-; public: int __cdecl CStoreXBF::Append(unsigned long) __ptr64
-?Append@CStoreXBF@@QEAAHK@Z
-; public: int __cdecl CStoreXBF::Append(char * __ptr64) __ptr64
-?Append@CStoreXBF@@QEAAHPEAD@Z
-; public: int __cdecl CStoreXBF::Append(unsigned char * __ptr64,unsigned long) __ptr64
-?Append@CStoreXBF@@QEAAHPEAEK@Z
-; public: int __cdecl CStoreXBF::AppendZ(char * __ptr64) __ptr64
-?AppendZ@CStoreXBF@@QEAAHPEAD@Z
-; int __cdecl BinaryToMatchRequest(unsigned char * __ptr64,unsigned long,char * __ptr64 * __ptr64)
-?BinaryToMatchRequest@@YAHPEAEKPEAPEAD@Z
-; public: void __cdecl CStoreXBF::Clear(void) __ptr64
-?Clear@CStoreXBF@@QEAAXXZ
-; public: virtual int __cdecl CIisMapping::Clone(class CIisMapping * __ptr64 * __ptr64) __ptr64
-?Clone@CIisMapping@@UEAAHPEAPEAV1@@Z
-; public: int __cdecl CIisMapping::CloneEx(class CIisMapping * __ptr64 * __ptr64,char * __ptr64 * __ptr64,char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned int) __ptr64
-?CloneEx@CIisMapping@@QEAAHPEAPEAV1@PEAPEAD1PEAK2I@Z
-; public: int __cdecl CIisMapping::Copy(class CIisMapping * __ptr64) __ptr64
-?Copy@CIisMapping@@QEAAHPEAV1@@Z
-; public: int __cdecl CIisAcctMapper::Create(void) __ptr64
-?Create@CIisAcctMapper@@QEAAHXZ
-; public: virtual class CIisMapping * __ptr64 __cdecl CIisAcctMapper::CreateNewMapping(void) __ptr64
-?CreateNewMapping@CIisAcctMapper@@UEAAPEAVCIisMapping@@XZ
-; public: class CIisMapping * __ptr64 __cdecl CIisCert11Mapper::CreateNewMapping(unsigned char * __ptr64,unsigned long) __ptr64
-?CreateNewMapping@CIisCert11Mapper@@QEAAPEAVCIisMapping@@PEAEK@Z
-; public: virtual class CIisMapping * __ptr64 __cdecl CIisCert11Mapper::CreateNewMapping(void) __ptr64
-?CreateNewMapping@CIisCert11Mapper@@UEAAPEAVCIisMapping@@XZ
-; public: int __cdecl CStoreXBF::DecreaseUse(unsigned long) __ptr64
-?DecreaseUse@CStoreXBF@@QEAAHK@Z
-; public: int __cdecl CIisAcctMapper::Delete(unsigned long,int) __ptr64
-?Delete@CIisAcctMapper@@QEAAHKH@Z
-; public: int __cdecl CIisAcctMapper::Delete(void) __ptr64
-?Delete@CIisAcctMapper@@QEAAHXZ
-; public: int __cdecl CBlobXBF::DeleteEntry(unsigned long) __ptr64
-?DeleteEntry@CBlobXBF@@QEAAHK@Z
-; public: int __cdecl CStrPtrXBF::DeleteEntry(unsigned long) __ptr64
-?DeleteEntry@CStrPtrXBF@@QEAAHK@Z
-; public: int __cdecl CCertMapRule::DeleteIssuerEntry(unsigned long) __ptr64
-?DeleteIssuerEntry@CCertMapRule@@QEAAHK@Z
-; public: int __cdecl CPtrDwordXBF::DeletePtr(unsigned long) __ptr64
-?DeletePtr@CPtrDwordXBF@@QEAAHK@Z
-; public: int __cdecl CPtrXBF::DeletePtr(unsigned long) __ptr64
-?DeletePtr@CPtrXBF@@QEAAHK@Z
-; public: int __cdecl CIisRuleMapper::DeleteRule(unsigned long) __ptr64
-?DeleteRule@CIisRuleMapper@@QEAAHK@Z
-; public: int __cdecl CCertGlobalRuleInfo::DeleteRuleById(unsigned long,int) __ptr64
-?DeleteRuleById@CCertGlobalRuleInfo@@QEAAHKH@Z
-; public: int __cdecl CCertMapRule::DeleteRuleElem(unsigned long) __ptr64
-?DeleteRuleElem@CCertMapRule@@QEAAHK@Z
-; public: int __cdecl CCertMapRule::DeleteRuleElemsByField(enum CERT_FIELD_ID) __ptr64
-?DeleteRuleElemsByField@CCertMapRule@@QEAAHW4CERT_FIELD_ID@@@Z
-; public: virtual int __cdecl CIisMapping::Deserialize(struct _iobuf * __ptr64,void * __ptr64,void * __ptr64) __ptr64
-?Deserialize@CIisMapping@@UEAAHPEAU_iobuf@@PEAX1@Z
-; char * __ptr64 __cdecl EnumerateKnownSubFields(unsigned long)
-?EnumerateKnownSubFields@@YAPEADK@Z
-; public: int __cdecl CIisAcctMapper::FindMatch(class CIisMapping * __ptr64,class CIisMapping * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?FindMatch@CIisAcctMapper@@QEAAHPEAVCIisMapping@@PEAPEAV2@PEAK@Z
-; public: int __cdecl CIisAcctMapper::FlushAlternate(int) __ptr64
-?FlushAlternate@CIisAcctMapper@@QEAAHH@Z
-; void __cdecl FreeMatchConversion(void * __ptr64)
-?FreeMatchConversion@@YAXPEAX@Z
-; public: char * __ptr64 __cdecl CAllocString::Get(void) __ptr64
-?Get@CAllocString@@QEAAPEADXZ
-; public: unsigned char * __ptr64 __cdecl CBlob::Get(unsigned long * __ptr64) __ptr64
-?Get@CBlob@@QEAAPEAEPEAK@Z
-; public: class CBlob * __ptr64 __cdecl CBlobXBF::GetBlob(unsigned long) __ptr64
-?GetBlob@CBlobXBF@@QEAAPEAVCBlob@@K@Z
-; public: unsigned char * __ptr64 __cdecl CStoreXBF::GetBuff(void) __ptr64
-?GetBuff@CStoreXBF@@QEAAPEAEXZ
-; public: int __cdecl CBlobXBF::GetEntry(unsigned long,unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?GetEntry@CBlobXBF@@QEAAHKPEAPEAEPEAK@Z
-; public: char * __ptr64 __cdecl CStrPtrXBF::GetEntry(unsigned long) __ptr64
-?GetEntry@CStrPtrXBF@@QEAAPEADK@Z
-; public: class CCertGlobalRuleInfo * __ptr64 __cdecl CIisRuleMapper::GetGlobalRulesInfo(void) __ptr64
-?GetGlobalRulesInfo@CIisRuleMapper@@QEAAPEAVCCertGlobalRuleInfo@@XZ
-; public: struct _IISMDB_HEntry * __ptr64 __cdecl CIisAcctMapper::GetHierarchy(unsigned long * __ptr64) __ptr64
-?GetHierarchy@CIisAcctMapper@@QEAAPEAU_IISMDB_HEntry@@PEAK@Z
-; unsigned long __cdecl GetIdFlags(enum CERT_FIELD_ID)
-?GetIdFlags@@YAKW4CERT_FIELD_ID@@@Z
-; public: int __cdecl CDecodedCert::GetIssuer(void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?GetIssuer@CDecodedCert@@QEAAHPEAPEAXPEAK@Z
-; public: unsigned long __cdecl CCertMapRule::GetIssuerCount(void) __ptr64
-?GetIssuerCount@CCertMapRule@@QEAAKXZ
-; public: int __cdecl CCertMapRule::GetIssuerEntry(unsigned long,int * __ptr64,char * __ptr64 * __ptr64) __ptr64
-?GetIssuerEntry@CCertMapRule@@QEAAHKPEAHPEAPEAD@Z
-; public: int __cdecl CCertMapRule::GetIssuerEntryByName(char * __ptr64,int * __ptr64) __ptr64
-?GetIssuerEntryByName@CCertMapRule@@QEAAHPEADPEAH@Z
-; public: int __cdecl CIisAcctMapper::GetMapping(unsigned long,class CIisMapping * __ptr64 * __ptr64,int,int) __ptr64
-?GetMapping@CIisAcctMapper@@QEAAHKPEAPEAVCIisMapping@@HH@Z
-; public: unsigned long __cdecl CIisAcctMapper::GetMappingCount(void) __ptr64
-?GetMappingCount@CIisAcctMapper@@QEAAKXZ
-; public: int __cdecl CCertMapRule::GetMatchAllIssuer(void) __ptr64
-?GetMatchAllIssuer@CCertMapRule@@QEAAHXZ
-; public: unsigned long __cdecl CBlobXBF::GetNbEntry(void) __ptr64
-?GetNbEntry@CBlobXBF@@QEAAKXZ
-; public: unsigned long __cdecl CStrPtrXBF::GetNbEntry(void) __ptr64
-?GetNbEntry@CStrPtrXBF@@QEAAKXZ
-; public: virtual unsigned int __cdecl CIisMapping::GetNbField(char * __ptr64 * __ptr64 * __ptr64) __ptr64
-?GetNbField@CIisMapping@@UEAAIPEAPEAPEAD@Z
-; public: virtual unsigned int __cdecl CIisMapping::GetNbField(char * __ptr64 * __ptr64 * __ptr64,unsigned long * __ptr64 * __ptr64) __ptr64
-?GetNbField@CIisMapping@@UEAAIPEAPEAPEADPEAPEAK@Z
-; public: unsigned long __cdecl CIssuerStore::GetNbIssuers(void) __ptr64
-?GetNbIssuers@CIssuerStore@@QEAAKXZ
-; public: unsigned long __cdecl CIisAcctMapper::GetNbMapping(int) __ptr64
-?GetNbMapping@CIisAcctMapper@@QEAAKH@Z
-; public: unsigned long __cdecl CPtrDwordXBF::GetNbPtr(void) __ptr64
-?GetNbPtr@CPtrDwordXBF@@QEAAKXZ
-; public: unsigned long __cdecl CPtrXBF::GetNbPtr(void) __ptr64
-?GetNbPtr@CPtrXBF@@QEAAKXZ
-; public: unsigned long __cdecl CIisAcctMapper::GetOptions(void) __ptr64
-?GetOptions@CIisAcctMapper@@QEAAKXZ
-; public: unsigned long * __ptr64 __cdecl CPtrDwordXBF::GetPtr(unsigned long) __ptr64
-?GetPtr@CPtrDwordXBF@@QEAAPEAKK@Z
-; public: void * __ptr64 __cdecl CPtrXBF::GetPtr(unsigned long) __ptr64
-?GetPtr@CPtrXBF@@QEAAPEAXK@Z
-; public: void * __ptr64 __cdecl CPtrXBF::GetPtrAddr(unsigned long) __ptr64
-?GetPtrAddr@CPtrXBF@@QEAAPEAXK@Z
-; public: class CCertMapRule * __ptr64 __cdecl CIisRuleMapper::GetRule(unsigned long) __ptr64
-?GetRule@CIisRuleMapper@@QEAAPEAVCCertMapRule@@K@Z
-; public: char * __ptr64 __cdecl CCertMapRule::GetRuleAccount(void) __ptr64
-?GetRuleAccount@CCertMapRule@@QEAAPEADXZ
-; public: unsigned long __cdecl CIisRuleMapper::GetRuleCount(void) __ptr64
-?GetRuleCount@CIisRuleMapper@@QEAAKXZ
-; public: int __cdecl CCertMapRule::GetRuleDenyAccess(void) __ptr64
-?GetRuleDenyAccess@CCertMapRule@@QEAAHXZ
-; public: int __cdecl CCertMapRule::GetRuleElem(unsigned long,enum CERT_FIELD_ID * __ptr64,char * __ptr64 * __ptr64,unsigned long * __ptr64,char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?GetRuleElem@CCertMapRule@@QEAAHKPEAW4CERT_FIELD_ID@@PEAPEADPEAK12@Z
-; public: unsigned long __cdecl CCertMapRule::GetRuleElemCount(void) __ptr64
-?GetRuleElemCount@CCertMapRule@@QEAAKXZ
-; public: int __cdecl CCertMapRule::GetRuleEnabled(void) __ptr64
-?GetRuleEnabled@CCertMapRule@@QEAAHXZ
-; public: char * __ptr64 __cdecl CCertMapRule::GetRuleName(void) __ptr64
-?GetRuleName@CCertMapRule@@QEAAPEADXZ
-; public: unsigned long * __ptr64 __cdecl CCertGlobalRuleInfo::GetRuleOrderArray(void) __ptr64
-?GetRuleOrderArray@CCertGlobalRuleInfo@@QEAAPEAKXZ
-; public: unsigned long __cdecl CCertGlobalRuleInfo::GetRuleOrderCount(void) __ptr64
-?GetRuleOrderCount@CCertGlobalRuleInfo@@QEAAKXZ
-; public: char * __ptr64 __cdecl CCertMapRule::GetRulePassword(void) __ptr64
-?GetRulePassword@CCertMapRule@@QEAAPEADXZ
-; public: int __cdecl CCertGlobalRuleInfo::GetRulesEnabled(void) __ptr64
-?GetRulesEnabled@CCertGlobalRuleInfo@@QEAAHXZ
-; public: struct _CERT_RDN_ATTR * __ptr64 * __ptr64 __cdecl CDecodedCert::GetSubField(enum CERT_FIELD_ID,char * __ptr64,unsigned long * __ptr64) __ptr64
-?GetSubField@CDecodedCert@@QEAAPEAPEAU_CERT_RDN_ATTR@@W4CERT_FIELD_ID@@PEADPEAK@Z
-; public: unsigned long __cdecl CStoreXBF::GetUsed(void) __ptr64
-?GetUsed@CStoreXBF@@QEAAKXZ
-; int __cdecl IISuudecode(char * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64,int)
-?IISuudecode@@YAHPEADPEAEPEAKH@Z
-; int __cdecl IISuuencode(unsigned char * __ptr64,unsigned long,unsigned char * __ptr64,int)
-?IISuuencode@@YAHPEAEK0H@Z
-; void __cdecl ImportIISCertMappingsToIIS6(void)
-?ImportIISCertMappingsToIIS6@@YAXXZ
-; public: int __cdecl CBlob::InitSet(unsigned char * __ptr64,unsigned long) __ptr64
-?InitSet@CBlob@@QEAAHPEAEK@Z
-; public: unsigned long __cdecl CBlobXBF::InsertEntry(unsigned long,char * __ptr64,unsigned long) __ptr64
-?InsertEntry@CBlobXBF@@QEAAKKPEADK@Z
-; public: unsigned long __cdecl CStrPtrXBF::InsertEntry(unsigned long,char * __ptr64) __ptr64
-?InsertEntry@CStrPtrXBF@@QEAAKKPEAD@Z
-; public: unsigned long __cdecl CPtrDwordXBF::InsertPtr(unsigned long,unsigned long) __ptr64
-?InsertPtr@CPtrDwordXBF@@QEAAKKK@Z
-; public: unsigned long __cdecl CPtrXBF::InsertPtr(unsigned long,void * __ptr64) __ptr64
-?InsertPtr@CPtrXBF@@QEAAKKPEAX@Z
-; public: int __cdecl CCertGlobalRuleInfo::IsValid(void) __ptr64
-?IsValid@CCertGlobalRuleInfo@@QEAAHXZ
-; public: int __cdecl CCertMapRule::IsValid(void) __ptr64
-?IsValid@CCertMapRule@@QEAAHXZ
-; public: int __cdecl CIisRuleMapper::IsValid(void) __ptr64
-?IsValid@CIisRuleMapper@@QEAAHXZ
-; public: int __cdecl CIisAcctMapper::Load(void) __ptr64
-?Load@CIisAcctMapper@@QEAAHXZ
-; public: int __cdecl CStoreXBF::Load(void * __ptr64) __ptr64
-?Load@CStoreXBF@@QEAAHPEAX@Z
-; public: void __cdecl CIisAcctMapper::Lock(void) __ptr64
-?Lock@CIisAcctMapper@@QEAAXXZ
-; char * __ptr64 __cdecl MapAsn1ToSubField(char * __ptr64)
-?MapAsn1ToSubField@@YAPEADPEAD@Z
-; enum CERT_FIELD_ID  __cdecl MapFieldToId(char * __ptr64)
-?MapFieldToId@@YA?AW4CERT_FIELD_ID@@PEAD@Z
-; char * __ptr64 __cdecl MapIdToField(enum CERT_FIELD_ID)
-?MapIdToField@@YAPEADW4CERT_FIELD_ID@@@Z
-; char * __ptr64 __cdecl MapSubFieldToAsn1(char * __ptr64)
-?MapSubFieldToAsn1@@YAPEADPEAD@Z
-; public: virtual int __cdecl CIisMapping::MappingGetField(unsigned long,char * __ptr64 * __ptr64) __ptr64
-?MappingGetField@CIisMapping@@UEAAHKPEAPEAD@Z
-; public: virtual int __cdecl CIisMapping::MappingGetField(unsigned long,unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,int) __ptr64
-?MappingGetField@CIisMapping@@UEAAHKPEAPEAEPEAKH@Z
-; public: int __cdecl CIisAcctMapper::MappingGetFieldList(struct _IISMDB_Fields * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?MappingGetFieldList@CIisAcctMapper@@QEAAHPEAPEAU_IISMDB_Fields@@PEAK@Z
-; public: virtual int __cdecl CIisMapping::MappingSetField(unsigned long,char * __ptr64) __ptr64
-?MappingSetField@CIisMapping@@UEAAHKPEAD@Z
-; public: virtual int __cdecl CIisMapping::MappingSetField(unsigned long,unsigned char * __ptr64,unsigned long,int) __ptr64
-?MappingSetField@CIisMapping@@UEAAHKPEAEKH@Z
-; public: int __cdecl CCertMapRule::Match(class CDecodedCert * __ptr64,class CDecodedCert * __ptr64,char * __ptr64,char * __ptr64,int * __ptr64) __ptr64
-?Match@CCertMapRule@@QEAAHPEAVCDecodedCert@@0PEAD1PEAH@Z
-; public: int __cdecl CIisRuleMapper::Match(struct _CERT_CONTEXT * __ptr64,struct _CERT_CONTEXT * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?Match@CIisRuleMapper@@QEAAHPEAU_CERT_CONTEXT@@0PEAG1@Z
-; int __cdecl MatchRequestToBinary(char * __ptr64,unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64)
-?MatchRequestToBinary@@YAHPEADPEAPEAEPEAK@Z
-; public: int __cdecl CStoreXBF::Need(unsigned long) __ptr64
-?Need@CStoreXBF@@QEAAHK@Z
-; public: void __cdecl CIisRuleMapper::ReadLockRules(void) __ptr64
-?ReadLockRules@CIisRuleMapper@@QEAAXXZ
-; public: void __cdecl CIisRuleMapper::ReadUnlockRules(void) __ptr64
-?ReadUnlockRules@CIisRuleMapper@@QEAAXXZ
-; int __cdecl ReportIisMapEvent(unsigned short,unsigned long,unsigned short,char const * __ptr64 * __ptr64)
-?ReportIisMapEvent@@YAHGKGPEAPEBD@Z
-; int __cdecl ReportIisMapEventW(unsigned short,unsigned long,unsigned short,unsigned short const * __ptr64 * __ptr64)
-?ReportIisMapEventW@@YAHGKGPEAPEBG@Z
-; public: void __cdecl CAllocString::Reset(void) __ptr64
-?Reset@CAllocString@@QEAAXXZ
-; public: void __cdecl CBlob::Reset(void) __ptr64
-?Reset@CBlob@@QEAAXXZ
-; public: void __cdecl CBlobXBF::Reset(void) __ptr64
-?Reset@CBlobXBF@@QEAAXXZ
-; public: int __cdecl CCertGlobalRuleInfo::Reset(void) __ptr64
-?Reset@CCertGlobalRuleInfo@@QEAAHXZ
-; public: void __cdecl CCertMapRule::Reset(void) __ptr64
-?Reset@CCertMapRule@@QEAAXXZ
-; public: int __cdecl CIisAcctMapper::Reset(void) __ptr64
-?Reset@CIisAcctMapper@@QEAAHXZ
-; public: int __cdecl CIisRuleMapper::Reset(void) __ptr64
-?Reset@CIisRuleMapper@@QEAAHXZ
-; public: void __cdecl CIssuerStore::Reset(void) __ptr64
-?Reset@CIssuerStore@@QEAAXXZ
-; public: void __cdecl CStoreXBF::Reset(void) __ptr64
-?Reset@CStoreXBF@@QEAAXXZ
-; public: int __cdecl CIisAcctMapper::Save(void) __ptr64
-?Save@CIisAcctMapper@@QEAAHXZ
-; public: int __cdecl CStoreXBF::Save(void * __ptr64) __ptr64
-?Save@CStoreXBF@@QEAAHPEAX@Z
-; public: int __cdecl CAllocString::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CAllocString@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CBlob::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CBlob@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CBlobXBF::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CBlobXBF@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CCertMapRule::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CCertMapRule@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CIisAcctMapper::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CIisAcctMapper@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CIisAcctMapper::Serialize(void) __ptr64
-?Serialize@CIisAcctMapper@@QEAAHXZ
-; public: virtual int __cdecl CIisMapping::Serialize(struct _iobuf * __ptr64,void * __ptr64,void * __ptr64) __ptr64
-?Serialize@CIisMapping@@UEAAHPEAU_iobuf@@PEAX1@Z
-; public: int __cdecl CIisRuleMapper::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CIisRuleMapper@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CIssuerStore::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CIssuerStore@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CPtrDwordXBF::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CPtrDwordXBF@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CPtrXBF::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CPtrXBF@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CStrPtrXBF::Serialize(class CStoreXBF * __ptr64) __ptr64
-?Serialize@CStrPtrXBF@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CCertGlobalRuleInfo::SerializeGlobalRuleInfo(class CStoreXBF * __ptr64) __ptr64
-?SerializeGlobalRuleInfo@CCertGlobalRuleInfo@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CAllocString::Set(char * __ptr64) __ptr64
-?Set@CAllocString@@QEAAHPEAD@Z
-; public: int __cdecl CBlob::Set(unsigned char * __ptr64,unsigned long) __ptr64
-?Set@CBlob@@QEAAHPEAEK@Z
-; public: int __cdecl CBlobXBF::SetEntry(unsigned long,unsigned char * __ptr64,unsigned long) __ptr64
-?SetEntry@CBlobXBF@@QEAAHKPEAEK@Z
-; public: int __cdecl CStrPtrXBF::SetEntry(unsigned long,char * __ptr64) __ptr64
-?SetEntry@CStrPtrXBF@@QEAAHKPEAD@Z
-; public: int __cdecl CCertMapRule::SetIssuerEntryAcceptStatus(unsigned long,int) __ptr64
-?SetIssuerEntryAcceptStatus@CCertMapRule@@QEAAHKH@Z
-; public: void __cdecl CCertMapRule::SetMatchAllIssuer(int) __ptr64
-?SetMatchAllIssuer@CCertMapRule@@QEAAXH@Z
-; public: int __cdecl CPtrDwordXBF::SetPtr(unsigned long,unsigned long) __ptr64
-?SetPtr@CPtrDwordXBF@@QEAAHKK@Z
-; public: int __cdecl CPtrXBF::SetPtr(unsigned long,void * __ptr64) __ptr64
-?SetPtr@CPtrXBF@@QEAAHKPEAX@Z
-; public: int __cdecl CCertMapRule::SetRuleAccount(char * __ptr64) __ptr64
-?SetRuleAccount@CCertMapRule@@QEAAHPEAD@Z
-; public: void __cdecl CCertMapRule::SetRuleDenyAccess(int) __ptr64
-?SetRuleDenyAccess@CCertMapRule@@QEAAXH@Z
-; public: void __cdecl CCertMapRule::SetRuleEnabled(int) __ptr64
-?SetRuleEnabled@CCertMapRule@@QEAAXH@Z
-; public: int __cdecl CCertMapRule::SetRuleName(char * __ptr64) __ptr64
-?SetRuleName@CCertMapRule@@QEAAHPEAD@Z
-; public: int __cdecl CCertMapRule::SetRulePassword(char * __ptr64) __ptr64
-?SetRulePassword@CCertMapRule@@QEAAHPEAD@Z
-; public: void __cdecl CCertGlobalRuleInfo::SetRulesEnabled(int) __ptr64
-?SetRulesEnabled@CCertGlobalRuleInfo@@QEAAXH@Z
-; public: void __cdecl CIisAcctMapper::Unlock(void) __ptr64
-?Unlock@CIisAcctMapper@@QEAAXXZ
-; public: int __cdecl CAllocString::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Unserialize@CAllocString@@QEAAHPEAPEAEPEAK@Z
-; public: int __cdecl CBlob::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Unserialize@CBlob@@QEAAHPEAPEAEPEAK@Z
-; public: int __cdecl CBlobXBF::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?Unserialize@CBlobXBF@@QEAAHPEAPEAEPEAKK@Z
-; public: int __cdecl CCertMapRule::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Unserialize@CCertMapRule@@QEAAHPEAPEAEPEAK@Z
-; public: int __cdecl CCertMapRule::Unserialize(class CStoreXBF * __ptr64) __ptr64
-?Unserialize@CCertMapRule@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CIisAcctMapper::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Unserialize@CIisAcctMapper@@QEAAHPEAPEAEPEAK@Z
-; public: int __cdecl CIisAcctMapper::Unserialize(class CStoreXBF * __ptr64) __ptr64
-?Unserialize@CIisAcctMapper@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CIisAcctMapper::Unserialize(void) __ptr64
-?Unserialize@CIisAcctMapper@@QEAAHXZ
-; public: int __cdecl CIisRuleMapper::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Unserialize@CIisRuleMapper@@QEAAHPEAPEAEPEAK@Z
-; public: int __cdecl CIisRuleMapper::Unserialize(class CStoreXBF * __ptr64) __ptr64
-?Unserialize@CIisRuleMapper@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CIssuerStore::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Unserialize@CIssuerStore@@QEAAHPEAPEAEPEAK@Z
-; public: int __cdecl CIssuerStore::Unserialize(class CStoreXBF * __ptr64) __ptr64
-?Unserialize@CIssuerStore@@QEAAHPEAVCStoreXBF@@@Z
-; public: int __cdecl CPtrDwordXBF::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?Unserialize@CPtrDwordXBF@@QEAAHPEAPEAEPEAKK@Z
-; public: int __cdecl CPtrXBF::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?Unserialize@CPtrXBF@@QEAAHPEAPEAEPEAKK@Z
-; public: int __cdecl CStrPtrXBF::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?Unserialize@CStrPtrXBF@@QEAAHPEAPEAEPEAKK@Z
-; public: int __cdecl CCertGlobalRuleInfo::UnserializeGlobalRuleInfo(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?UnserializeGlobalRuleInfo@CCertGlobalRuleInfo@@QEAAHPEAPEAEPEAK@Z
-; public: int __cdecl CIisAcctMapper::Update(unsigned long) __ptr64
-?Update@CIisAcctMapper@@QEAAHK@Z
-; public: int __cdecl CIisAcctMapper::Update(unsigned long,class CIisMapping * __ptr64) __ptr64
-?Update@CIisAcctMapper@@QEAAHKPEAVCIisMapping@@@Z
-; public: int __cdecl CIisAcctMapper::UpdateClasses(int) __ptr64
-?UpdateClasses@CIisAcctMapper@@QEAAHH@Z
-; public: int __cdecl CIisAcctMapper::UpdateHierarchy(void) __ptr64
-?UpdateHierarchy@CIisAcctMapper@@QEAAHXZ
-; public: int __cdecl CIisMapping::UpdateMask(struct _IISMDB_HEntry * __ptr64,unsigned long) __ptr64
-?UpdateMask@CIisMapping@@QEAAHPEAU_IISMDB_HEntry@@K@Z
-; public: void __cdecl CIisRuleMapper::WriteLockRules(void) __ptr64
-?WriteLockRules@CIisRuleMapper@@QEAAXXZ
-; public: void __cdecl CIisRuleMapper::WriteUnlockRules(void) __ptr64
-?WriteUnlockRules@CIisRuleMapper@@QEAAXXZ
+; 
+; Exports of file IISMAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISMAP.dll
+EXPORTS
+; public: __cdecl CAllocString::CAllocString(void) __ptr64
+??0CAllocString@@QEAA@XZ
+; public: __cdecl CBlob::CBlob(void) __ptr64
+??0CBlob@@QEAA@XZ
+; public: __cdecl CBlobXBF::CBlobXBF(void) __ptr64
+??0CBlobXBF@@QEAA@XZ
+; public: __cdecl CCert11Mapping::CCert11Mapping(class CIisAcctMapper * __ptr64) __ptr64
+??0CCert11Mapping@@QEAA@PEAVCIisAcctMapper@@@Z
+; public: __cdecl CCertGlobalRuleInfo::CCertGlobalRuleInfo(void) __ptr64
+??0CCertGlobalRuleInfo@@QEAA@XZ
+; public: __cdecl CCertMapRule::CCertMapRule(void) __ptr64
+??0CCertMapRule@@QEAA@XZ
+; public: __cdecl CDecodedCert::CDecodedCert(struct _CERT_CONTEXT * __ptr64) __ptr64
+??0CDecodedCert@@QEAA@PEAU_CERT_CONTEXT@@@Z
+; public: __cdecl CIisAcctMapper::CIisAcctMapper(void) __ptr64
+??0CIisAcctMapper@@QEAA@XZ
+; public: __cdecl CIisCert11Mapper::CIisCert11Mapper(void) __ptr64
+??0CIisCert11Mapper@@QEAA@XZ
+; public: __cdecl CIisRuleMapper::CIisRuleMapper(void) __ptr64
+??0CIisRuleMapper@@QEAA@XZ
+; public: __cdecl CIssuerStore::CIssuerStore(void) __ptr64
+??0CIssuerStore@@QEAA@XZ
+; public: __cdecl CPtrDwordXBF::CPtrDwordXBF(void) __ptr64
+??0CPtrDwordXBF@@QEAA@XZ
+; public: __cdecl CPtrXBF::CPtrXBF(void) __ptr64
+??0CPtrXBF@@QEAA@XZ
+; public: __cdecl CStoreXBF::CStoreXBF(unsigned int) __ptr64
+??0CStoreXBF@@QEAA@I@Z
+; public: __cdecl CAllocString::~CAllocString(void) __ptr64
+??1CAllocString@@QEAA@XZ
+; public: __cdecl CBlob::~CBlob(void) __ptr64
+??1CBlob@@QEAA@XZ
+; public: __cdecl CBlobXBF::~CBlobXBF(void) __ptr64
+??1CBlobXBF@@QEAA@XZ
+; public: __cdecl CCert11Mapping::~CCert11Mapping(void) __ptr64
+??1CCert11Mapping@@QEAA@XZ
+; public: __cdecl CCertGlobalRuleInfo::~CCertGlobalRuleInfo(void) __ptr64
+??1CCertGlobalRuleInfo@@QEAA@XZ
+; public: __cdecl CCertMapRule::~CCertMapRule(void) __ptr64
+??1CCertMapRule@@QEAA@XZ
+; public: __cdecl CDecodedCert::~CDecodedCert(void) __ptr64
+??1CDecodedCert@@QEAA@XZ
+; public: __cdecl CIisAcctMapper::~CIisAcctMapper(void) __ptr64
+??1CIisAcctMapper@@QEAA@XZ
+; public: __cdecl CIisCert11Mapper::~CIisCert11Mapper(void) __ptr64
+??1CIisCert11Mapper@@QEAA@XZ
+; public: __cdecl CIisRuleMapper::~CIisRuleMapper(void) __ptr64
+??1CIisRuleMapper@@QEAA@XZ
+; public: __cdecl CIssuerStore::~CIssuerStore(void) __ptr64
+??1CIssuerStore@@QEAA@XZ
+; public: __cdecl CStoreXBF::~CStoreXBF(void) __ptr64
+??1CStoreXBF@@QEAA@XZ
+; public: __cdecl CStrPtrXBF::~CStrPtrXBF(void) __ptr64
+??1CStrPtrXBF@@QEAA@XZ
+; public: void __cdecl CStoreXBF::`default constructor closure'(void) __ptr64
+??_FCStoreXBF@@QEAAXXZ
+; public: virtual int __cdecl CIisAcctMapper::Add(class CIisMapping * __ptr64,int) __ptr64
+?Add@CIisAcctMapper@@UEAAHPEAVCIisMapping@@H@Z
+; public: unsigned long __cdecl CBlobXBF::AddEntry(unsigned char * __ptr64,unsigned long) __ptr64
+?AddEntry@CBlobXBF@@QEAAKPEAEK@Z
+; public: unsigned long __cdecl CStrPtrXBF::AddEntry(char * __ptr64) __ptr64
+?AddEntry@CStrPtrXBF@@QEAAKPEAD@Z
+; public: virtual unsigned long __cdecl CIisAcctMapper::AddEx(class CIisMapping * __ptr64) __ptr64
+?AddEx@CIisAcctMapper@@UEAAKPEAVCIisMapping@@@Z
+; public: int __cdecl CCertMapRule::AddIssuerEntry(char * __ptr64,int) __ptr64
+?AddIssuerEntry@CCertMapRule@@QEAAHPEADH@Z
+; public: unsigned long __cdecl CPtrDwordXBF::AddPtr(unsigned long) __ptr64
+?AddPtr@CPtrDwordXBF@@QEAAKK@Z
+; public: unsigned long __cdecl CPtrXBF::AddPtr(void * __ptr64) __ptr64
+?AddPtr@CPtrXBF@@QEAAKPEAX@Z
+; public: unsigned long __cdecl CIisRuleMapper::AddRule(class CCertMapRule * __ptr64) __ptr64
+?AddRule@CIisRuleMapper@@QEAAKPEAVCCertMapRule@@@Z
+; public: unsigned long __cdecl CIisRuleMapper::AddRule(void) __ptr64
+?AddRule@CIisRuleMapper@@QEAAKXZ
+; public: unsigned long __cdecl CCertMapRule::AddRuleElem(unsigned long,enum CERT_FIELD_ID,char * __ptr64,unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?AddRuleElem@CCertMapRule@@QEAAKKW4CERT_FIELD_ID@@PEADPEAEKK@Z
+; public: int __cdecl CCertGlobalRuleInfo::AddRuleOrder(void) __ptr64
+?AddRuleOrder@CCertGlobalRuleInfo@@QEAAHXZ
+; public: int __cdecl CAllocString::Append(char * __ptr64) __ptr64
+?Append@CAllocString@@QEAAHPEAD@Z
+; public: int __cdecl CStoreXBF::Append(unsigned long) __ptr64
+?Append@CStoreXBF@@QEAAHK@Z
+; public: int __cdecl CStoreXBF::Append(char * __ptr64) __ptr64
+?Append@CStoreXBF@@QEAAHPEAD@Z
+; public: int __cdecl CStoreXBF::Append(unsigned char * __ptr64,unsigned long) __ptr64
+?Append@CStoreXBF@@QEAAHPEAEK@Z
+; public: int __cdecl CStoreXBF::AppendZ(char * __ptr64) __ptr64
+?AppendZ@CStoreXBF@@QEAAHPEAD@Z
+; int __cdecl BinaryToMatchRequest(unsigned char * __ptr64,unsigned long,char * __ptr64 * __ptr64)
+?BinaryToMatchRequest@@YAHPEAEKPEAPEAD@Z
+; public: void __cdecl CStoreXBF::Clear(void) __ptr64
+?Clear@CStoreXBF@@QEAAXXZ
+; public: virtual int __cdecl CIisMapping::Clone(class CIisMapping * __ptr64 * __ptr64) __ptr64
+?Clone@CIisMapping@@UEAAHPEAPEAV1@@Z
+; public: int __cdecl CIisMapping::CloneEx(class CIisMapping * __ptr64 * __ptr64,char * __ptr64 * __ptr64,char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned int) __ptr64
+?CloneEx@CIisMapping@@QEAAHPEAPEAV1@PEAPEAD1PEAK2I@Z
+; public: int __cdecl CIisMapping::Copy(class CIisMapping * __ptr64) __ptr64
+?Copy@CIisMapping@@QEAAHPEAV1@@Z
+; public: int __cdecl CIisAcctMapper::Create(void) __ptr64
+?Create@CIisAcctMapper@@QEAAHXZ
+; public: virtual class CIisMapping * __ptr64 __cdecl CIisAcctMapper::CreateNewMapping(void) __ptr64
+?CreateNewMapping@CIisAcctMapper@@UEAAPEAVCIisMapping@@XZ
+; public: class CIisMapping * __ptr64 __cdecl CIisCert11Mapper::CreateNewMapping(unsigned char * __ptr64,unsigned long) __ptr64
+?CreateNewMapping@CIisCert11Mapper@@QEAAPEAVCIisMapping@@PEAEK@Z
+; public: virtual class CIisMapping * __ptr64 __cdecl CIisCert11Mapper::CreateNewMapping(void) __ptr64
+?CreateNewMapping@CIisCert11Mapper@@UEAAPEAVCIisMapping@@XZ
+; public: int __cdecl CStoreXBF::DecreaseUse(unsigned long) __ptr64
+?DecreaseUse@CStoreXBF@@QEAAHK@Z
+; public: int __cdecl CIisAcctMapper::Delete(unsigned long,int) __ptr64
+?Delete@CIisAcctMapper@@QEAAHKH@Z
+; public: int __cdecl CIisAcctMapper::Delete(void) __ptr64
+?Delete@CIisAcctMapper@@QEAAHXZ
+; public: int __cdecl CBlobXBF::DeleteEntry(unsigned long) __ptr64
+?DeleteEntry@CBlobXBF@@QEAAHK@Z
+; public: int __cdecl CStrPtrXBF::DeleteEntry(unsigned long) __ptr64
+?DeleteEntry@CStrPtrXBF@@QEAAHK@Z
+; public: int __cdecl CCertMapRule::DeleteIssuerEntry(unsigned long) __ptr64
+?DeleteIssuerEntry@CCertMapRule@@QEAAHK@Z
+; public: int __cdecl CPtrDwordXBF::DeletePtr(unsigned long) __ptr64
+?DeletePtr@CPtrDwordXBF@@QEAAHK@Z
+; public: int __cdecl CPtrXBF::DeletePtr(unsigned long) __ptr64
+?DeletePtr@CPtrXBF@@QEAAHK@Z
+; public: int __cdecl CIisRuleMapper::DeleteRule(unsigned long) __ptr64
+?DeleteRule@CIisRuleMapper@@QEAAHK@Z
+; public: int __cdecl CCertGlobalRuleInfo::DeleteRuleById(unsigned long,int) __ptr64
+?DeleteRuleById@CCertGlobalRuleInfo@@QEAAHKH@Z
+; public: int __cdecl CCertMapRule::DeleteRuleElem(unsigned long) __ptr64
+?DeleteRuleElem@CCertMapRule@@QEAAHK@Z
+; public: int __cdecl CCertMapRule::DeleteRuleElemsByField(enum CERT_FIELD_ID) __ptr64
+?DeleteRuleElemsByField@CCertMapRule@@QEAAHW4CERT_FIELD_ID@@@Z
+; public: virtual int __cdecl CIisMapping::Deserialize(struct _iobuf * __ptr64,void * __ptr64,void * __ptr64) __ptr64
+?Deserialize@CIisMapping@@UEAAHPEAU_iobuf@@PEAX1@Z
+; char * __ptr64 __cdecl EnumerateKnownSubFields(unsigned long)
+?EnumerateKnownSubFields@@YAPEADK@Z
+; public: int __cdecl CIisAcctMapper::FindMatch(class CIisMapping * __ptr64,class CIisMapping * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?FindMatch@CIisAcctMapper@@QEAAHPEAVCIisMapping@@PEAPEAV2@PEAK@Z
+; public: int __cdecl CIisAcctMapper::FlushAlternate(int) __ptr64
+?FlushAlternate@CIisAcctMapper@@QEAAHH@Z
+; void __cdecl FreeMatchConversion(void * __ptr64)
+?FreeMatchConversion@@YAXPEAX@Z
+; public: char * __ptr64 __cdecl CAllocString::Get(void) __ptr64
+?Get@CAllocString@@QEAAPEADXZ
+; public: unsigned char * __ptr64 __cdecl CBlob::Get(unsigned long * __ptr64) __ptr64
+?Get@CBlob@@QEAAPEAEPEAK@Z
+; public: class CBlob * __ptr64 __cdecl CBlobXBF::GetBlob(unsigned long) __ptr64
+?GetBlob@CBlobXBF@@QEAAPEAVCBlob@@K@Z
+; public: unsigned char * __ptr64 __cdecl CStoreXBF::GetBuff(void) __ptr64
+?GetBuff@CStoreXBF@@QEAAPEAEXZ
+; public: int __cdecl CBlobXBF::GetEntry(unsigned long,unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?GetEntry@CBlobXBF@@QEAAHKPEAPEAEPEAK@Z
+; public: char * __ptr64 __cdecl CStrPtrXBF::GetEntry(unsigned long) __ptr64
+?GetEntry@CStrPtrXBF@@QEAAPEADK@Z
+; public: class CCertGlobalRuleInfo * __ptr64 __cdecl CIisRuleMapper::GetGlobalRulesInfo(void) __ptr64
+?GetGlobalRulesInfo@CIisRuleMapper@@QEAAPEAVCCertGlobalRuleInfo@@XZ
+; public: struct _IISMDB_HEntry * __ptr64 __cdecl CIisAcctMapper::GetHierarchy(unsigned long * __ptr64) __ptr64
+?GetHierarchy@CIisAcctMapper@@QEAAPEAU_IISMDB_HEntry@@PEAK@Z
+; unsigned long __cdecl GetIdFlags(enum CERT_FIELD_ID)
+?GetIdFlags@@YAKW4CERT_FIELD_ID@@@Z
+; public: int __cdecl CDecodedCert::GetIssuer(void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?GetIssuer@CDecodedCert@@QEAAHPEAPEAXPEAK@Z
+; public: unsigned long __cdecl CCertMapRule::GetIssuerCount(void) __ptr64
+?GetIssuerCount@CCertMapRule@@QEAAKXZ
+; public: int __cdecl CCertMapRule::GetIssuerEntry(unsigned long,int * __ptr64,char * __ptr64 * __ptr64) __ptr64
+?GetIssuerEntry@CCertMapRule@@QEAAHKPEAHPEAPEAD@Z
+; public: int __cdecl CCertMapRule::GetIssuerEntryByName(char * __ptr64,int * __ptr64) __ptr64
+?GetIssuerEntryByName@CCertMapRule@@QEAAHPEADPEAH@Z
+; public: int __cdecl CIisAcctMapper::GetMapping(unsigned long,class CIisMapping * __ptr64 * __ptr64,int,int) __ptr64
+?GetMapping@CIisAcctMapper@@QEAAHKPEAPEAVCIisMapping@@HH@Z
+; public: unsigned long __cdecl CIisAcctMapper::GetMappingCount(void) __ptr64
+?GetMappingCount@CIisAcctMapper@@QEAAKXZ
+; public: int __cdecl CCertMapRule::GetMatchAllIssuer(void) __ptr64
+?GetMatchAllIssuer@CCertMapRule@@QEAAHXZ
+; public: unsigned long __cdecl CBlobXBF::GetNbEntry(void) __ptr64
+?GetNbEntry@CBlobXBF@@QEAAKXZ
+; public: unsigned long __cdecl CStrPtrXBF::GetNbEntry(void) __ptr64
+?GetNbEntry@CStrPtrXBF@@QEAAKXZ
+; public: virtual unsigned int __cdecl CIisMapping::GetNbField(char * __ptr64 * __ptr64 * __ptr64) __ptr64
+?GetNbField@CIisMapping@@UEAAIPEAPEAPEAD@Z
+; public: virtual unsigned int __cdecl CIisMapping::GetNbField(char * __ptr64 * __ptr64 * __ptr64,unsigned long * __ptr64 * __ptr64) __ptr64
+?GetNbField@CIisMapping@@UEAAIPEAPEAPEADPEAPEAK@Z
+; public: unsigned long __cdecl CIssuerStore::GetNbIssuers(void) __ptr64
+?GetNbIssuers@CIssuerStore@@QEAAKXZ
+; public: unsigned long __cdecl CIisAcctMapper::GetNbMapping(int) __ptr64
+?GetNbMapping@CIisAcctMapper@@QEAAKH@Z
+; public: unsigned long __cdecl CPtrDwordXBF::GetNbPtr(void) __ptr64
+?GetNbPtr@CPtrDwordXBF@@QEAAKXZ
+; public: unsigned long __cdecl CPtrXBF::GetNbPtr(void) __ptr64
+?GetNbPtr@CPtrXBF@@QEAAKXZ
+; public: unsigned long __cdecl CIisAcctMapper::GetOptions(void) __ptr64
+?GetOptions@CIisAcctMapper@@QEAAKXZ
+; public: unsigned long * __ptr64 __cdecl CPtrDwordXBF::GetPtr(unsigned long) __ptr64
+?GetPtr@CPtrDwordXBF@@QEAAPEAKK@Z
+; public: void * __ptr64 __cdecl CPtrXBF::GetPtr(unsigned long) __ptr64
+?GetPtr@CPtrXBF@@QEAAPEAXK@Z
+; public: void * __ptr64 __cdecl CPtrXBF::GetPtrAddr(unsigned long) __ptr64
+?GetPtrAddr@CPtrXBF@@QEAAPEAXK@Z
+; public: class CCertMapRule * __ptr64 __cdecl CIisRuleMapper::GetRule(unsigned long) __ptr64
+?GetRule@CIisRuleMapper@@QEAAPEAVCCertMapRule@@K@Z
+; public: char * __ptr64 __cdecl CCertMapRule::GetRuleAccount(void) __ptr64
+?GetRuleAccount@CCertMapRule@@QEAAPEADXZ
+; public: unsigned long __cdecl CIisRuleMapper::GetRuleCount(void) __ptr64
+?GetRuleCount@CIisRuleMapper@@QEAAKXZ
+; public: int __cdecl CCertMapRule::GetRuleDenyAccess(void) __ptr64
+?GetRuleDenyAccess@CCertMapRule@@QEAAHXZ
+; public: int __cdecl CCertMapRule::GetRuleElem(unsigned long,enum CERT_FIELD_ID * __ptr64,char * __ptr64 * __ptr64,unsigned long * __ptr64,char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?GetRuleElem@CCertMapRule@@QEAAHKPEAW4CERT_FIELD_ID@@PEAPEADPEAK12@Z
+; public: unsigned long __cdecl CCertMapRule::GetRuleElemCount(void) __ptr64
+?GetRuleElemCount@CCertMapRule@@QEAAKXZ
+; public: int __cdecl CCertMapRule::GetRuleEnabled(void) __ptr64
+?GetRuleEnabled@CCertMapRule@@QEAAHXZ
+; public: char * __ptr64 __cdecl CCertMapRule::GetRuleName(void) __ptr64
+?GetRuleName@CCertMapRule@@QEAAPEADXZ
+; public: unsigned long * __ptr64 __cdecl CCertGlobalRuleInfo::GetRuleOrderArray(void) __ptr64
+?GetRuleOrderArray@CCertGlobalRuleInfo@@QEAAPEAKXZ
+; public: unsigned long __cdecl CCertGlobalRuleInfo::GetRuleOrderCount(void) __ptr64
+?GetRuleOrderCount@CCertGlobalRuleInfo@@QEAAKXZ
+; public: char * __ptr64 __cdecl CCertMapRule::GetRulePassword(void) __ptr64
+?GetRulePassword@CCertMapRule@@QEAAPEADXZ
+; public: int __cdecl CCertGlobalRuleInfo::GetRulesEnabled(void) __ptr64
+?GetRulesEnabled@CCertGlobalRuleInfo@@QEAAHXZ
+; public: struct _CERT_RDN_ATTR * __ptr64 * __ptr64 __cdecl CDecodedCert::GetSubField(enum CERT_FIELD_ID,char * __ptr64,unsigned long * __ptr64) __ptr64
+?GetSubField@CDecodedCert@@QEAAPEAPEAU_CERT_RDN_ATTR@@W4CERT_FIELD_ID@@PEADPEAK@Z
+; public: unsigned long __cdecl CStoreXBF::GetUsed(void) __ptr64
+?GetUsed@CStoreXBF@@QEAAKXZ
+; int __cdecl IISuudecode(char * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64,int)
+?IISuudecode@@YAHPEADPEAEPEAKH@Z
+; int __cdecl IISuuencode(unsigned char * __ptr64,unsigned long,unsigned char * __ptr64,int)
+?IISuuencode@@YAHPEAEK0H@Z
+; void __cdecl ImportIISCertMappingsToIIS6(void)
+?ImportIISCertMappingsToIIS6@@YAXXZ
+; public: int __cdecl CBlob::InitSet(unsigned char * __ptr64,unsigned long) __ptr64
+?InitSet@CBlob@@QEAAHPEAEK@Z
+; public: unsigned long __cdecl CBlobXBF::InsertEntry(unsigned long,char * __ptr64,unsigned long) __ptr64
+?InsertEntry@CBlobXBF@@QEAAKKPEADK@Z
+; public: unsigned long __cdecl CStrPtrXBF::InsertEntry(unsigned long,char * __ptr64) __ptr64
+?InsertEntry@CStrPtrXBF@@QEAAKKPEAD@Z
+; public: unsigned long __cdecl CPtrDwordXBF::InsertPtr(unsigned long,unsigned long) __ptr64
+?InsertPtr@CPtrDwordXBF@@QEAAKKK@Z
+; public: unsigned long __cdecl CPtrXBF::InsertPtr(unsigned long,void * __ptr64) __ptr64
+?InsertPtr@CPtrXBF@@QEAAKKPEAX@Z
+; public: int __cdecl CCertGlobalRuleInfo::IsValid(void) __ptr64
+?IsValid@CCertGlobalRuleInfo@@QEAAHXZ
+; public: int __cdecl CCertMapRule::IsValid(void) __ptr64
+?IsValid@CCertMapRule@@QEAAHXZ
+; public: int __cdecl CIisRuleMapper::IsValid(void) __ptr64
+?IsValid@CIisRuleMapper@@QEAAHXZ
+; public: int __cdecl CIisAcctMapper::Load(void) __ptr64
+?Load@CIisAcctMapper@@QEAAHXZ
+; public: int __cdecl CStoreXBF::Load(void * __ptr64) __ptr64
+?Load@CStoreXBF@@QEAAHPEAX@Z
+; public: void __cdecl CIisAcctMapper::Lock(void) __ptr64
+?Lock@CIisAcctMapper@@QEAAXXZ
+; char * __ptr64 __cdecl MapAsn1ToSubField(char * __ptr64)
+?MapAsn1ToSubField@@YAPEADPEAD@Z
+; enum CERT_FIELD_ID  __cdecl MapFieldToId(char * __ptr64)
+?MapFieldToId@@YA?AW4CERT_FIELD_ID@@PEAD@Z
+; char * __ptr64 __cdecl MapIdToField(enum CERT_FIELD_ID)
+?MapIdToField@@YAPEADW4CERT_FIELD_ID@@@Z
+; char * __ptr64 __cdecl MapSubFieldToAsn1(char * __ptr64)
+?MapSubFieldToAsn1@@YAPEADPEAD@Z
+; public: virtual int __cdecl CIisMapping::MappingGetField(unsigned long,char * __ptr64 * __ptr64) __ptr64
+?MappingGetField@CIisMapping@@UEAAHKPEAPEAD@Z
+; public: virtual int __cdecl CIisMapping::MappingGetField(unsigned long,unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,int) __ptr64
+?MappingGetField@CIisMapping@@UEAAHKPEAPEAEPEAKH@Z
+; public: int __cdecl CIisAcctMapper::MappingGetFieldList(struct _IISMDB_Fields * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?MappingGetFieldList@CIisAcctMapper@@QEAAHPEAPEAU_IISMDB_Fields@@PEAK@Z
+; public: virtual int __cdecl CIisMapping::MappingSetField(unsigned long,char * __ptr64) __ptr64
+?MappingSetField@CIisMapping@@UEAAHKPEAD@Z
+; public: virtual int __cdecl CIisMapping::MappingSetField(unsigned long,unsigned char * __ptr64,unsigned long,int) __ptr64
+?MappingSetField@CIisMapping@@UEAAHKPEAEKH@Z
+; public: int __cdecl CCertMapRule::Match(class CDecodedCert * __ptr64,class CDecodedCert * __ptr64,char * __ptr64,char * __ptr64,int * __ptr64) __ptr64
+?Match@CCertMapRule@@QEAAHPEAVCDecodedCert@@0PEAD1PEAH@Z
+; public: int __cdecl CIisRuleMapper::Match(struct _CERT_CONTEXT * __ptr64,struct _CERT_CONTEXT * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?Match@CIisRuleMapper@@QEAAHPEAU_CERT_CONTEXT@@0PEAG1@Z
+; int __cdecl MatchRequestToBinary(char * __ptr64,unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64)
+?MatchRequestToBinary@@YAHPEADPEAPEAEPEAK@Z
+; public: int __cdecl CStoreXBF::Need(unsigned long) __ptr64
+?Need@CStoreXBF@@QEAAHK@Z
+; public: void __cdecl CIisRuleMapper::ReadLockRules(void) __ptr64
+?ReadLockRules@CIisRuleMapper@@QEAAXXZ
+; public: void __cdecl CIisRuleMapper::ReadUnlockRules(void) __ptr64
+?ReadUnlockRules@CIisRuleMapper@@QEAAXXZ
+; int __cdecl ReportIisMapEvent(unsigned short,unsigned long,unsigned short,char const * __ptr64 * __ptr64)
+?ReportIisMapEvent@@YAHGKGPEAPEBD@Z
+; int __cdecl ReportIisMapEventW(unsigned short,unsigned long,unsigned short,unsigned short const * __ptr64 * __ptr64)
+?ReportIisMapEventW@@YAHGKGPEAPEBG@Z
+; public: void __cdecl CAllocString::Reset(void) __ptr64
+?Reset@CAllocString@@QEAAXXZ
+; public: void __cdecl CBlob::Reset(void) __ptr64
+?Reset@CBlob@@QEAAXXZ
+; public: void __cdecl CBlobXBF::Reset(void) __ptr64
+?Reset@CBlobXBF@@QEAAXXZ
+; public: int __cdecl CCertGlobalRuleInfo::Reset(void) __ptr64
+?Reset@CCertGlobalRuleInfo@@QEAAHXZ
+; public: void __cdecl CCertMapRule::Reset(void) __ptr64
+?Reset@CCertMapRule@@QEAAXXZ
+; public: int __cdecl CIisAcctMapper::Reset(void) __ptr64
+?Reset@CIisAcctMapper@@QEAAHXZ
+; public: int __cdecl CIisRuleMapper::Reset(void) __ptr64
+?Reset@CIisRuleMapper@@QEAAHXZ
+; public: void __cdecl CIssuerStore::Reset(void) __ptr64
+?Reset@CIssuerStore@@QEAAXXZ
+; public: void __cdecl CStoreXBF::Reset(void) __ptr64
+?Reset@CStoreXBF@@QEAAXXZ
+; public: int __cdecl CIisAcctMapper::Save(void) __ptr64
+?Save@CIisAcctMapper@@QEAAHXZ
+; public: int __cdecl CStoreXBF::Save(void * __ptr64) __ptr64
+?Save@CStoreXBF@@QEAAHPEAX@Z
+; public: int __cdecl CAllocString::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CAllocString@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CBlob::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CBlob@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CBlobXBF::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CBlobXBF@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CCertMapRule::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CCertMapRule@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CIisAcctMapper::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CIisAcctMapper@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CIisAcctMapper::Serialize(void) __ptr64
+?Serialize@CIisAcctMapper@@QEAAHXZ
+; public: virtual int __cdecl CIisMapping::Serialize(struct _iobuf * __ptr64,void * __ptr64,void * __ptr64) __ptr64
+?Serialize@CIisMapping@@UEAAHPEAU_iobuf@@PEAX1@Z
+; public: int __cdecl CIisRuleMapper::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CIisRuleMapper@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CIssuerStore::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CIssuerStore@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CPtrDwordXBF::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CPtrDwordXBF@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CPtrXBF::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CPtrXBF@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CStrPtrXBF::Serialize(class CStoreXBF * __ptr64) __ptr64
+?Serialize@CStrPtrXBF@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CCertGlobalRuleInfo::SerializeGlobalRuleInfo(class CStoreXBF * __ptr64) __ptr64
+?SerializeGlobalRuleInfo@CCertGlobalRuleInfo@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CAllocString::Set(char * __ptr64) __ptr64
+?Set@CAllocString@@QEAAHPEAD@Z
+; public: int __cdecl CBlob::Set(unsigned char * __ptr64,unsigned long) __ptr64
+?Set@CBlob@@QEAAHPEAEK@Z
+; public: int __cdecl CBlobXBF::SetEntry(unsigned long,unsigned char * __ptr64,unsigned long) __ptr64
+?SetEntry@CBlobXBF@@QEAAHKPEAEK@Z
+; public: int __cdecl CStrPtrXBF::SetEntry(unsigned long,char * __ptr64) __ptr64
+?SetEntry@CStrPtrXBF@@QEAAHKPEAD@Z
+; public: int __cdecl CCertMapRule::SetIssuerEntryAcceptStatus(unsigned long,int) __ptr64
+?SetIssuerEntryAcceptStatus@CCertMapRule@@QEAAHKH@Z
+; public: void __cdecl CCertMapRule::SetMatchAllIssuer(int) __ptr64
+?SetMatchAllIssuer@CCertMapRule@@QEAAXH@Z
+; public: int __cdecl CPtrDwordXBF::SetPtr(unsigned long,unsigned long) __ptr64
+?SetPtr@CPtrDwordXBF@@QEAAHKK@Z
+; public: int __cdecl CPtrXBF::SetPtr(unsigned long,void * __ptr64) __ptr64
+?SetPtr@CPtrXBF@@QEAAHKPEAX@Z
+; public: int __cdecl CCertMapRule::SetRuleAccount(char * __ptr64) __ptr64
+?SetRuleAccount@CCertMapRule@@QEAAHPEAD@Z
+; public: void __cdecl CCertMapRule::SetRuleDenyAccess(int) __ptr64
+?SetRuleDenyAccess@CCertMapRule@@QEAAXH@Z
+; public: void __cdecl CCertMapRule::SetRuleEnabled(int) __ptr64
+?SetRuleEnabled@CCertMapRule@@QEAAXH@Z
+; public: int __cdecl CCertMapRule::SetRuleName(char * __ptr64) __ptr64
+?SetRuleName@CCertMapRule@@QEAAHPEAD@Z
+; public: int __cdecl CCertMapRule::SetRulePassword(char * __ptr64) __ptr64
+?SetRulePassword@CCertMapRule@@QEAAHPEAD@Z
+; public: void __cdecl CCertGlobalRuleInfo::SetRulesEnabled(int) __ptr64
+?SetRulesEnabled@CCertGlobalRuleInfo@@QEAAXH@Z
+; public: void __cdecl CIisAcctMapper::Unlock(void) __ptr64
+?Unlock@CIisAcctMapper@@QEAAXXZ
+; public: int __cdecl CAllocString::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Unserialize@CAllocString@@QEAAHPEAPEAEPEAK@Z
+; public: int __cdecl CBlob::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Unserialize@CBlob@@QEAAHPEAPEAEPEAK@Z
+; public: int __cdecl CBlobXBF::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?Unserialize@CBlobXBF@@QEAAHPEAPEAEPEAKK@Z
+; public: int __cdecl CCertMapRule::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Unserialize@CCertMapRule@@QEAAHPEAPEAEPEAK@Z
+; public: int __cdecl CCertMapRule::Unserialize(class CStoreXBF * __ptr64) __ptr64
+?Unserialize@CCertMapRule@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CIisAcctMapper::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Unserialize@CIisAcctMapper@@QEAAHPEAPEAEPEAK@Z
+; public: int __cdecl CIisAcctMapper::Unserialize(class CStoreXBF * __ptr64) __ptr64
+?Unserialize@CIisAcctMapper@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CIisAcctMapper::Unserialize(void) __ptr64
+?Unserialize@CIisAcctMapper@@QEAAHXZ
+; public: int __cdecl CIisRuleMapper::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Unserialize@CIisRuleMapper@@QEAAHPEAPEAEPEAK@Z
+; public: int __cdecl CIisRuleMapper::Unserialize(class CStoreXBF * __ptr64) __ptr64
+?Unserialize@CIisRuleMapper@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CIssuerStore::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Unserialize@CIssuerStore@@QEAAHPEAPEAEPEAK@Z
+; public: int __cdecl CIssuerStore::Unserialize(class CStoreXBF * __ptr64) __ptr64
+?Unserialize@CIssuerStore@@QEAAHPEAVCStoreXBF@@@Z
+; public: int __cdecl CPtrDwordXBF::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?Unserialize@CPtrDwordXBF@@QEAAHPEAPEAEPEAKK@Z
+; public: int __cdecl CPtrXBF::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?Unserialize@CPtrXBF@@QEAAHPEAPEAEPEAKK@Z
+; public: int __cdecl CStrPtrXBF::Unserialize(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?Unserialize@CStrPtrXBF@@QEAAHPEAPEAEPEAKK@Z
+; public: int __cdecl CCertGlobalRuleInfo::UnserializeGlobalRuleInfo(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?UnserializeGlobalRuleInfo@CCertGlobalRuleInfo@@QEAAHPEAPEAEPEAK@Z
+; public: int __cdecl CIisAcctMapper::Update(unsigned long) __ptr64
+?Update@CIisAcctMapper@@QEAAHK@Z
+; public: int __cdecl CIisAcctMapper::Update(unsigned long,class CIisMapping * __ptr64) __ptr64
+?Update@CIisAcctMapper@@QEAAHKPEAVCIisMapping@@@Z
+; public: int __cdecl CIisAcctMapper::UpdateClasses(int) __ptr64
+?UpdateClasses@CIisAcctMapper@@QEAAHH@Z
+; public: int __cdecl CIisAcctMapper::UpdateHierarchy(void) __ptr64
+?UpdateHierarchy@CIisAcctMapper@@QEAAHXZ
+; public: int __cdecl CIisMapping::UpdateMask(struct _IISMDB_HEntry * __ptr64,unsigned long) __ptr64
+?UpdateMask@CIisMapping@@QEAAHPEAU_IISMDB_HEntry@@K@Z
+; public: void __cdecl CIisRuleMapper::WriteLockRules(void) __ptr64
+?WriteLockRules@CIisRuleMapper@@QEAAXXZ
+; public: void __cdecl CIisRuleMapper::WriteUnlockRules(void) __ptr64
+?WriteUnlockRules@CIisRuleMapper@@QEAAXXZ
diff --git a/mingw-w64-crt/lib64/iisrstap.def b/mingw-w64-crt/lib64/iisrstap.def
index 7dc1ff9..dc7478d 100644
--- a/mingw-w64-crt/lib64/iisrstap.def
+++ b/mingw-w64-crt/lib64/iisrstap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IISRSTAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISRSTAP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IISRSTAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISRSTAP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iisrtl.def b/mingw-w64-crt/lib64/iisrtl.def
index 3754c5a..e1fc2f5 100644
--- a/mingw-w64-crt/lib64/iisrtl.def
+++ b/mingw-w64-crt/lib64/iisrtl.def
@@ -1,2044 +1,2044 @@
-; 
-; Exports of file IisRTL.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IisRTL.DLL
-EXPORTS
-; public: __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::CDataCache<struct DATETIME_FORMAT_ENTRY>(void) __ptr64
-??0?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA@XZ
-; public: __cdecl CDataCache<class CDateTime>::CDataCache<class CDateTime>(void) __ptr64
-??0?$CDataCache@VCDateTime@@@@QEAA@XZ
-; public: __cdecl ALLOC_CACHE_HANDLER::ALLOC_CACHE_HANDLER(char const * __ptr64,struct _ALLOC_CACHE_CONFIGURATION const * __ptr64,int) __ptr64
-??0ALLOC_CACHE_HANDLER@@QEAA@PEBDPEBU_ALLOC_CACHE_CONFIGURATION@@H@Z
-; public: __cdecl ASCLOG_DATETIME_CACHE::ASCLOG_DATETIME_CACHE(void) __ptr64
-??0ASCLOG_DATETIME_CACHE@@QEAA@XZ
-; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
-??0BUFFER@@QEAA@I@Z
-; public: __cdecl BUFFER::BUFFER(unsigned char * __ptr64,unsigned int) __ptr64
-??0BUFFER@@QEAA@PEAEI@Z
-; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
-??0BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
-??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
-; public: __cdecl CACHED_DATETIME_FORMATS::CACHED_DATETIME_FORMATS(void) __ptr64
-??0CACHED_DATETIME_FORMATS@@QEAA@XZ
-; public: __cdecl CCritSec::CCritSec(void) __ptr64
-??0CCritSec@@QEAA@XZ
-; public: __cdecl CDFTCache::CDFTCache(void) __ptr64
-??0CDFTCache@@QEAA@XZ
-; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64) __ptr64
-??0CDateTime@@QEAA@AEBU_FILETIME@@@Z
-; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64,struct _SYSTEMTIME const & __ptr64) __ptr64
-??0CDateTime@@QEAA@AEBU_FILETIME@@AEBU_SYSTEMTIME@@@Z
-; public: __cdecl CDateTime::CDateTime(struct _SYSTEMTIME const & __ptr64) __ptr64
-??0CDateTime@@QEAA@AEBU_SYSTEMTIME@@@Z
-; public: __cdecl CDateTime::CDateTime(void) __ptr64
-??0CDateTime@@QEAA@XZ
-; public: __cdecl CDoubleList::CDoubleList(void) __ptr64
-??0CDoubleList@@QEAA@XZ
-; public: __cdecl CEtwTracer::CEtwTracer(void) __ptr64
-??0CEtwTracer@@QEAA@XZ
-; public: __cdecl CFakeLock::CFakeLock(void) __ptr64
-??0CFakeLock@@QEAA@XZ
-; public: __cdecl CLKRHashTable::CLKRHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
-??0CLKRHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
-; public: __cdecl CLKRHashTableStats::CLKRHashTableStats(void) __ptr64
-??0CLKRHashTableStats@@QEAA@XZ
-; protected: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable * __ptr64,short) __ptr64
-??0CLKRHashTable_Iterator@@IEAA@PEAVCLKRHashTable@@F@Z
-; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable_Iterator const & __ptr64) __ptr64
-??0CLKRHashTable_Iterator@@QEAA@AEBV0@@Z
-; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(void) __ptr64
-??0CLKRHashTable_Iterator@@QEAA@XZ
-; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool) __ptr64
-??0CLKRLinearHashTable@@AEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAVCLKRHashTable@@_N@Z
-; public: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
-??0CLKRLinearHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
-; protected: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable * __ptr64,class CNodeClump * __ptr64,unsigned long,short) __ptr64
-??0CLKRLinearHashTable_Iterator@@IEAA@PEAVCLKRLinearHashTable@@PEAVCNodeClump@@KF@Z
-; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
-??0CLKRLinearHashTable_Iterator@@QEAA@AEBV0@@Z
-; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(void) __ptr64
-??0CLKRLinearHashTable_Iterator@@QEAA@XZ
-; public: __cdecl CLockedDoubleList::CLockedDoubleList(void) __ptr64
-??0CLockedDoubleList@@QEAA@XZ
-; public: __cdecl CLockedSingleList::CLockedSingleList(void) __ptr64
-??0CLockedSingleList@@QEAA@XZ
-; public: __cdecl CReaderWriterLock2::CReaderWriterLock2(void) __ptr64
-??0CReaderWriterLock2@@QEAA@XZ
-; public: __cdecl CReaderWriterLock3::CReaderWriterLock3(void) __ptr64
-??0CReaderWriterLock3@@QEAA@XZ
-; public: __cdecl CReaderWriterLock::CReaderWriterLock(void) __ptr64
-??0CReaderWriterLock@@QEAA@XZ
-; public: __cdecl CRtlResource::CRtlResource(void) __ptr64
-??0CRtlResource@@QEAA@XZ
-; public: __cdecl CShareLock::CShareLock(void) __ptr64
-??0CShareLock@@QEAA@XZ
-; public: __cdecl CSharelock::CSharelock(int,int) __ptr64
-??0CSharelock@@QEAA@HH@Z
-; public: __cdecl CSingleList::CSingleList(void) __ptr64
-??0CSingleList@@QEAA@XZ
-; public: __cdecl CSmallSpinLock::CSmallSpinLock(void) __ptr64
-??0CSmallSpinLock@@QEAA@XZ
-; public: __cdecl CSpinLock::CSpinLock(void) __ptr64
-??0CSpinLock@@QEAA@XZ
-; public: __cdecl EVENT_LOG::EVENT_LOG(char const * __ptr64) __ptr64
-??0EVENT_LOG@@QEAA@PEBD@Z
-; public: __cdecl EXTLOG_DATETIME_CACHE::EXTLOG_DATETIME_CACHE(void) __ptr64
-??0EXTLOG_DATETIME_CACHE@@QEAA@XZ
-; public: __cdecl HASH_TABLE::HASH_TABLE(class HASH_TABLE const & __ptr64) __ptr64
-??0HASH_TABLE@@QEAA@AEBV0@@Z
-; public: __cdecl HASH_TABLE::HASH_TABLE(unsigned long,char const * __ptr64,unsigned long) __ptr64
-??0HASH_TABLE@@QEAA@KPEBDK@Z
-; public: __cdecl HASH_TABLE_BUCKET::HASH_TABLE_BUCKET(void) __ptr64
-??0HASH_TABLE_BUCKET@@QEAA@XZ
-; public: __cdecl HTB_ELEMENT::HTB_ELEMENT(void) __ptr64
-??0HTB_ELEMENT@@QEAA@XZ
-; public: __cdecl HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const & __ptr64) __ptr64
-??0HT_ELEMENT@@QEAA@AEBV0@@Z
-; public: __cdecl HT_ELEMENT::HT_ELEMENT(void) __ptr64
-??0HT_ELEMENT@@QEAA@XZ
-; public: __cdecl MLSZAU::MLSZAU(class MLSZAU & __ptr64) __ptr64
-??0MLSZAU@@QEAA@AEAV0@@Z
-; public: __cdecl MLSZAU::MLSZAU(char * __ptr64 const,int,unsigned long) __ptr64
-??0MLSZAU@@QEAA@QEADHK@Z
-; public: __cdecl MLSZAU::MLSZAU(char * __ptr64 const,unsigned long) __ptr64
-??0MLSZAU@@QEAA@QEADK@Z
-; public: __cdecl MLSZAU::MLSZAU(unsigned short * __ptr64 const,unsigned long) __ptr64
-??0MLSZAU@@QEAA@QEAGK@Z
-; public: __cdecl MLSZAU::MLSZAU(void) __ptr64
-??0MLSZAU@@QEAA@XZ
-; public: __cdecl MULTISZ::MULTISZ(class MULTISZ const & __ptr64) __ptr64
-??0MULTISZ@@QEAA@AEBV0@@Z
-; public: __cdecl MULTISZ::MULTISZ(char * __ptr64,unsigned long) __ptr64
-??0MULTISZ@@QEAA@PEADK@Z
-; public: __cdecl MULTISZ::MULTISZ(char const * __ptr64) __ptr64
-??0MULTISZ@@QEAA@PEBD@Z
-; public: __cdecl MULTISZ::MULTISZ(void) __ptr64
-??0MULTISZ@@QEAA@XZ
-; public: __cdecl STR::STR(class STR const & __ptr64) __ptr64
-??0STR@@QEAA@AEBV0@@Z
-; public: __cdecl STR::STR(unsigned long) __ptr64
-??0STR@@QEAA@K@Z
-; public: __cdecl STR::STR(char * __ptr64,unsigned long,int) __ptr64
-??0STR@@QEAA@PEADKH@Z
-; public: __cdecl STR::STR(char const * __ptr64) __ptr64
-??0STR@@QEAA@PEBD@Z
-; public: __cdecl STR::STR(void) __ptr64
-??0STR@@QEAA@XZ
-; private: __cdecl STRA::STRA(class STRA const & __ptr64) __ptr64
-??0STRA@@AEAA@AEBV0@@Z
-; private: __cdecl STRA::STRA(char * __ptr64) __ptr64
-??0STRA@@AEAA@PEAD@Z
-; private: __cdecl STRA::STRA(char const * __ptr64) __ptr64
-??0STRA@@AEAA@PEBD@Z
-; public: __cdecl STRA::STRA(char * __ptr64,unsigned long) __ptr64
-??0STRA@@QEAA@PEADK@Z
-; public: __cdecl STRA::STRA(void) __ptr64
-??0STRA@@QEAA@XZ
-; public: __cdecl STRAU::STRAU(class STRAU & __ptr64) __ptr64
-??0STRAU@@QEAA@AEAV0@@Z
-; public: __cdecl STRAU::STRAU(char const * __ptr64) __ptr64
-??0STRAU@@QEAA@PEBD@Z
-; public: __cdecl STRAU::STRAU(char const * __ptr64,int) __ptr64
-??0STRAU@@QEAA@PEBDH@Z
-; public: __cdecl STRAU::STRAU(unsigned short const * __ptr64) __ptr64
-??0STRAU@@QEAA@PEBG@Z
-; public: __cdecl STRAU::STRAU(void) __ptr64
-??0STRAU@@QEAA@XZ
-; private: __cdecl STRU::STRU(class STRU const & __ptr64) __ptr64
-??0STRU@@AEAA@AEBV0@@Z
-; private: __cdecl STRU::STRU(unsigned short * __ptr64) __ptr64
-??0STRU@@AEAA@PEAG@Z
-; private: __cdecl STRU::STRU(unsigned short const * __ptr64) __ptr64
-??0STRU@@AEAA@PEBG@Z
-; public: __cdecl STRU::STRU(unsigned short * __ptr64,unsigned long) __ptr64
-??0STRU@@QEAA@PEAGK@Z
-; public: __cdecl STRU::STRU(void) __ptr64
-??0STRU@@QEAA@XZ
-; public: __cdecl TS_RESOURCE::TS_RESOURCE(void) __ptr64
-??0TS_RESOURCE@@QEAA@XZ
-; public: __cdecl W3_DATETIME_CACHE::W3_DATETIME_CACHE(void) __ptr64
-??0W3_DATETIME_CACHE@@QEAA@XZ
-; public: __cdecl ALLOC_CACHE_HANDLER::~ALLOC_CACHE_HANDLER(void) __ptr64
-??1ALLOC_CACHE_HANDLER@@QEAA@XZ
-; public: virtual __cdecl ASCLOG_DATETIME_CACHE::~ASCLOG_DATETIME_CACHE(void) __ptr64
-??1ASCLOG_DATETIME_CACHE@@UEAA@XZ
-; public: __cdecl BUFFER::~BUFFER(void) __ptr64
-??1BUFFER@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
-??1BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
-??1BUFFER_CHAIN_ITEM@@QEAA@XZ
-; public: virtual __cdecl CACHED_DATETIME_FORMATS::~CACHED_DATETIME_FORMATS(void) __ptr64
-??1CACHED_DATETIME_FORMATS@@UEAA@XZ
-; public: __cdecl CCritSec::~CCritSec(void) __ptr64
-??1CCritSec@@QEAA@XZ
-; public: __cdecl CDoubleList::~CDoubleList(void) __ptr64
-??1CDoubleList@@QEAA@XZ
-; public: __cdecl CEtwTracer::~CEtwTracer(void) __ptr64
-??1CEtwTracer@@QEAA@XZ
-; public: __cdecl CFakeLock::~CFakeLock(void) __ptr64
-??1CFakeLock@@QEAA@XZ
-; public: __cdecl CLKRHashTable::~CLKRHashTable(void) __ptr64
-??1CLKRHashTable@@QEAA@XZ
-; public: __cdecl CLKRHashTable_Iterator::~CLKRHashTable_Iterator(void) __ptr64
-??1CLKRHashTable_Iterator@@QEAA@XZ
-; public: __cdecl CLKRLinearHashTable::~CLKRLinearHashTable(void) __ptr64
-??1CLKRLinearHashTable@@QEAA@XZ
-; public: __cdecl CLKRLinearHashTable_Iterator::~CLKRLinearHashTable_Iterator(void) __ptr64
-??1CLKRLinearHashTable_Iterator@@QEAA@XZ
-; public: __cdecl CLockedDoubleList::~CLockedDoubleList(void) __ptr64
-??1CLockedDoubleList@@QEAA@XZ
-; public: __cdecl CLockedSingleList::~CLockedSingleList(void) __ptr64
-??1CLockedSingleList@@QEAA@XZ
-; public: __cdecl CRtlResource::~CRtlResource(void) __ptr64
-??1CRtlResource@@QEAA@XZ
-; public: __cdecl CShareLock::~CShareLock(void) __ptr64
-??1CShareLock@@QEAA@XZ
-; public: __cdecl CSharelock::~CSharelock(void) __ptr64
-??1CSharelock@@QEAA@XZ
-; public: __cdecl CSingleList::~CSingleList(void) __ptr64
-??1CSingleList@@QEAA@XZ
-; public: __cdecl EVENT_LOG::~EVENT_LOG(void) __ptr64
-??1EVENT_LOG@@QEAA@XZ
-; public: virtual __cdecl EXTLOG_DATETIME_CACHE::~EXTLOG_DATETIME_CACHE(void) __ptr64
-??1EXTLOG_DATETIME_CACHE@@UEAA@XZ
-; public: virtual __cdecl HASH_TABLE::~HASH_TABLE(void) __ptr64
-??1HASH_TABLE@@UEAA@XZ
-; public: __cdecl HASH_TABLE_BUCKET::~HASH_TABLE_BUCKET(void) __ptr64
-??1HASH_TABLE_BUCKET@@QEAA@XZ
-; public: __cdecl HTB_ELEMENT::~HTB_ELEMENT(void) __ptr64
-??1HTB_ELEMENT@@QEAA@XZ
-; public: virtual __cdecl HT_ELEMENT::~HT_ELEMENT(void) __ptr64
-??1HT_ELEMENT@@UEAA@XZ
-; public: __cdecl MLSZAU::~MLSZAU(void) __ptr64
-??1MLSZAU@@QEAA@XZ
-; public: __cdecl MULTISZ::~MULTISZ(void) __ptr64
-??1MULTISZ@@QEAA@XZ
-; public: __cdecl STR::~STR(void) __ptr64
-??1STR@@QEAA@XZ
-; public: __cdecl STRA::~STRA(void) __ptr64
-??1STRA@@QEAA@XZ
-; public: __cdecl STRAU::~STRAU(void) __ptr64
-??1STRAU@@QEAA@XZ
-; public: __cdecl STRU::~STRU(void) __ptr64
-??1STRU@@QEAA@XZ
-; public: __cdecl TS_RESOURCE::~TS_RESOURCE(void) __ptr64
-??1TS_RESOURCE@@QEAA@XZ
-; public: virtual __cdecl W3_DATETIME_CACHE::~W3_DATETIME_CACHE(void) __ptr64
-??1W3_DATETIME_CACHE@@UEAA@XZ
-; public: static void * __ptr64 __cdecl CLKRLinearHashTable::operator new(unsigned __int64)
-??2CLKRLinearHashTable@@SAPEAX_K@Z
-; public: static void __cdecl CLKRLinearHashTable::operator delete(void * __ptr64)
-??3CLKRLinearHashTable@@SAXPEAX@Z
-; public: class CDataCache<struct DATETIME_FORMAT_ENTRY> & __ptr64 __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::operator=(class CDataCache<struct DATETIME_FORMAT_ENTRY> const & __ptr64) __ptr64
-??4?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CDataCache<class CDateTime> & __ptr64 __cdecl CDataCache<class CDateTime>::operator=(class CDataCache<class CDateTime> const & __ptr64) __ptr64
-??4?$CDataCache@VCDateTime@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<1,1,3,1,3,2> & __ptr64 __cdecl CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$00$00$02$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<2,1,1,1,3,2> & __ptr64 __cdecl CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$01$00$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<3,1,1,1,1,1> & __ptr64 __cdecl CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const & __ptr64) __ptr64
-??4?$CLockBase@$02$00$00$00$00$00@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<4,1,1,2,3,3> & __ptr64 __cdecl CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const & __ptr64) __ptr64
-??4?$CLockBase@$03$00$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<5,2,1,2,3,3> & __ptr64 __cdecl CLockBase<5,2,1,2,3,3>::operator=(class CLockBase<5,2,1,2,3,3> const & __ptr64) __ptr64
-??4?$CLockBase@$04$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<6,2,1,2,3,3> & __ptr64 __cdecl CLockBase<6,2,1,2,3,3>::operator=(class CLockBase<6,2,1,2,3,3> const & __ptr64) __ptr64
-??4?$CLockBase@$05$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<7,2,2,1,3,2> & __ptr64 __cdecl CLockBase<7,2,2,1,3,2>::operator=(class CLockBase<7,2,2,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$06$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<8,2,2,1,3,2> & __ptr64 __cdecl CLockBase<8,2,2,1,3,2>::operator=(class CLockBase<8,2,2,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$07$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<9,2,1,1,3,2> & __ptr64 __cdecl CLockBase<9,2,1,1,3,2>::operator=(class CLockBase<9,2,1,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$08$01$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class ALLOC_CACHE_HANDLER & __ptr64 __cdecl ALLOC_CACHE_HANDLER::operator=(class ALLOC_CACHE_HANDLER const & __ptr64) __ptr64
-??4ALLOC_CACHE_HANDLER@@QEAAAEAV0@AEBV0@@Z
-; public: class BUFFER & __ptr64 __cdecl BUFFER::operator=(class BUFFER const & __ptr64) __ptr64
-??4BUFFER@@QEAAAEAV0@AEBV0@@Z
-; public: class BUFFER_CHAIN & __ptr64 __cdecl BUFFER_CHAIN::operator=(class BUFFER_CHAIN const & __ptr64) __ptr64
-??4BUFFER_CHAIN@@QEAAAEAV0@AEBV0@@Z
-; public: class BUFFER_CHAIN_ITEM & __ptr64 __cdecl BUFFER_CHAIN_ITEM::operator=(class BUFFER_CHAIN_ITEM const & __ptr64) __ptr64
-??4BUFFER_CHAIN_ITEM@@QEAAAEAV0@AEBV0@@Z
-; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
-??4CCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CDFTCache & __ptr64 __cdecl CDFTCache::operator=(class CDFTCache const & __ptr64) __ptr64
-??4CDFTCache@@QEAAAEAV0@AEBV0@@Z
-; public: class CDateTime & __ptr64 __cdecl CDateTime::operator=(class CDateTime const & __ptr64) __ptr64
-??4CDateTime@@QEAAAEAV0@AEBV0@@Z
-; public: class CDoubleList & __ptr64 __cdecl CDoubleList::operator=(class CDoubleList const & __ptr64) __ptr64
-??4CDoubleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CFakeLock & __ptr64 __cdecl CFakeLock::operator=(class CFakeLock const & __ptr64) __ptr64
-??4CFakeLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CLKRHashTableStats & __ptr64 __cdecl CLKRHashTableStats::operator=(class CLKRHashTableStats const & __ptr64) __ptr64
-??4CLKRHashTableStats@@QEAAAEAV0@AEBV0@@Z
-; public: class CLKRHashTable_Iterator & __ptr64 __cdecl CLKRHashTable_Iterator::operator=(class CLKRHashTable_Iterator const & __ptr64) __ptr64
-??4CLKRHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
-; public: class CLKRLinearHashTable_Iterator & __ptr64 __cdecl CLKRLinearHashTable_Iterator::operator=(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
-??4CLKRLinearHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockedDoubleList & __ptr64 __cdecl CLockedDoubleList::operator=(class CLockedDoubleList const & __ptr64) __ptr64
-??4CLockedDoubleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockedSingleList & __ptr64 __cdecl CLockedSingleList::operator=(class CLockedSingleList const & __ptr64) __ptr64
-??4CLockedSingleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CReaderWriterLock2 & __ptr64 __cdecl CReaderWriterLock2::operator=(class CReaderWriterLock2 const & __ptr64) __ptr64
-??4CReaderWriterLock2@@QEAAAEAV0@AEBV0@@Z
-; public: class CReaderWriterLock3 & __ptr64 __cdecl CReaderWriterLock3::operator=(class CReaderWriterLock3 const & __ptr64) __ptr64
-??4CReaderWriterLock3@@QEAAAEAV0@AEBV0@@Z
-; public: class CReaderWriterLock & __ptr64 __cdecl CReaderWriterLock::operator=(class CReaderWriterLock const & __ptr64) __ptr64
-??4CReaderWriterLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CRtlResource & __ptr64 __cdecl CRtlResource::operator=(class CRtlResource const & __ptr64) __ptr64
-??4CRtlResource@@QEAAAEAV0@AEBV0@@Z
-; public: class CSingleList & __ptr64 __cdecl CSingleList::operator=(class CSingleList const & __ptr64) __ptr64
-??4CSingleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CSmallSpinLock & __ptr64 __cdecl CSmallSpinLock::operator=(class CSmallSpinLock const & __ptr64) __ptr64
-??4CSmallSpinLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CSpinLock & __ptr64 __cdecl CSpinLock::operator=(class CSpinLock const & __ptr64) __ptr64
-??4CSpinLock@@QEAAAEAV0@AEBV0@@Z
-; public: struct DATETIME_FORMAT_ENTRY & __ptr64 __cdecl DATETIME_FORMAT_ENTRY::operator=(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
-??4DATETIME_FORMAT_ENTRY@@QEAAAEAU0@AEBU0@@Z
-; public: class EVENT_LOG & __ptr64 __cdecl EVENT_LOG::operator=(class EVENT_LOG const & __ptr64) __ptr64
-??4EVENT_LOG@@QEAAAEAV0@AEBV0@@Z
-; public: class HASH_TABLE & __ptr64 __cdecl HASH_TABLE::operator=(class HASH_TABLE const & __ptr64) __ptr64
-??4HASH_TABLE@@QEAAAEAV0@AEBV0@@Z
-; public: class HASH_TABLE_BUCKET & __ptr64 __cdecl HASH_TABLE_BUCKET::operator=(class HASH_TABLE_BUCKET const & __ptr64) __ptr64
-??4HASH_TABLE_BUCKET@@QEAAAEAV0@AEBV0@@Z
-; public: struct HTB_ELEMENT & __ptr64 __cdecl HTB_ELEMENT::operator=(struct HTB_ELEMENT const & __ptr64) __ptr64
-??4HTB_ELEMENT@@QEAAAEAU0@AEBU0@@Z
-; public: class HT_ELEMENT & __ptr64 __cdecl HT_ELEMENT::operator=(class HT_ELEMENT const & __ptr64) __ptr64
-??4HT_ELEMENT@@QEAAAEAV0@AEBV0@@Z
-; public: class MLSZAU & __ptr64 __cdecl MLSZAU::operator=(class MLSZAU const & __ptr64) __ptr64
-??4MLSZAU@@QEAAAEAV0@AEBV0@@Z
-; public: class MULTISZ & __ptr64 __cdecl MULTISZ::operator=(class MULTISZ const & __ptr64) __ptr64
-??4MULTISZ@@QEAAAEAV0@AEBV0@@Z
-; public: class STR & __ptr64 __cdecl STR::operator=(class STR const & __ptr64) __ptr64
-??4STR@@QEAAAEAV0@AEBV0@@Z
-; private: class STRA & __ptr64 __cdecl STRA::operator=(class STRA const & __ptr64) __ptr64
-??4STRA@@AEAAAEAV0@AEBV0@@Z
-; public: class STRAU & __ptr64 __cdecl STRAU::operator=(class STRAU const & __ptr64) __ptr64
-??4STRAU@@QEAAAEAV0@AEBV0@@Z
-; private: class STRU & __ptr64 __cdecl STRU::operator=(class STRU const & __ptr64) __ptr64
-??4STRU@@AEAAAEAV0@AEBV0@@Z
-; public: class TS_RESOURCE & __ptr64 __cdecl TS_RESOURCE::operator=(class TS_RESOURCE const & __ptr64) __ptr64
-??4TS_RESOURCE@@QEAAAEAV0@AEBV0@@Z
-; public: bool __cdecl CLKRHashTable_Iterator::operator==(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
-??8CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
-; public: bool __cdecl CLKRLinearHashTable_Iterator::operator==(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
-??8CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
-; public: bool __cdecl CLKRHashTable_Iterator::operator!=(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
-??9CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
-; public: bool __cdecl CLKRLinearHashTable_Iterator::operator!=(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
-??9CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
-; const  ASCLOG_DATETIME_CACHE::`vftable'
-??_7ASCLOG_DATETIME_CACHE@@6B@
-; const  CACHED_DATETIME_FORMATS::`vftable'
-??_7CACHED_DATETIME_FORMATS@@6B@
-; const  EXTLOG_DATETIME_CACHE::`vftable'
-??_7EXTLOG_DATETIME_CACHE@@6B@
-; const  HASH_TABLE::`vftable'
-??_7HASH_TABLE@@6B@
-; const  HT_ELEMENT::`vftable'
-??_7HT_ELEMENT@@6B@
-; const  W3_DATETIME_CACHE::`vftable'
-??_7W3_DATETIME_CACHE@@6B@
-; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
-??_FBUFFER@@QEAAXXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
-??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
-; public: void __cdecl CSharelock::`default constructor closure'(void) __ptr64
-??_FCSharelock@@QEAAXXZ
-; public: int __cdecl CSharelock::ActiveUsers(void) __ptr64
-?ActiveUsers@CSharelock@@QEAAHXZ
-; public: void * __ptr64 __cdecl ALLOC_CACHE_HANDLER::Alloc(void) __ptr64
-?Alloc@ALLOC_CACHE_HANDLER@@QEAAPEAXXZ
-; public: int __cdecl MULTISZ::Append(class STR const & __ptr64) __ptr64
-?Append@MULTISZ@@QEAAHAEBVSTR@@@Z
-; public: int __cdecl MULTISZ::Append(char const * __ptr64) __ptr64
-?Append@MULTISZ@@QEAAHPEBD@Z
-; public: int __cdecl MULTISZ::Append(char const * __ptr64,unsigned long) __ptr64
-?Append@MULTISZ@@QEAAHPEBDK@Z
-; public: int __cdecl STR::Append(class STR const & __ptr64) __ptr64
-?Append@STR@@QEAAHAEBV1@@Z
-; public: int __cdecl STR::Append(char const * __ptr64) __ptr64
-?Append@STR@@QEAAHPEBD@Z
-; public: int __cdecl STR::Append(char const * __ptr64,unsigned long) __ptr64
-?Append@STR@@QEAAHPEBDK@Z
-; public: void __cdecl STR::Append(char) __ptr64
-?Append@STR@@QEAAXD@Z
-; public: void __cdecl STR::Append(char,char) __ptr64
-?Append@STR@@QEAAXDD@Z
-; public: long __cdecl STRA::Append(class STRA const & __ptr64) __ptr64
-?Append@STRA@@QEAAJAEBV1@@Z
-; public: long __cdecl STRA::Append(char const * __ptr64) __ptr64
-?Append@STRA@@QEAAJPEBD@Z
-; public: long __cdecl STRA::Append(char const * __ptr64,unsigned long) __ptr64
-?Append@STRA@@QEAAJPEBDK@Z
-; public: int __cdecl STRAU::Append(class STRAU & __ptr64) __ptr64
-?Append@STRAU@@QEAAHAEAV1@@Z
-; public: int __cdecl STRAU::Append(char const * __ptr64) __ptr64
-?Append@STRAU@@QEAAHPEBD@Z
-; public: int __cdecl STRAU::Append(char const * __ptr64,unsigned long) __ptr64
-?Append@STRAU@@QEAAHPEBDK@Z
-; public: int __cdecl STRAU::Append(unsigned short const * __ptr64) __ptr64
-?Append@STRAU@@QEAAHPEBG@Z
-; public: int __cdecl STRAU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
-?Append@STRAU@@QEAAHPEBGK@Z
-; public: long __cdecl STRU::Append(class STRU const & __ptr64) __ptr64
-?Append@STRU@@QEAAJAEBV1@@Z
-; public: long __cdecl STRU::Append(unsigned short const * __ptr64) __ptr64
-?Append@STRU@@QEAAJPEBG@Z
-; public: long __cdecl STRU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
-?Append@STRU@@QEAAJPEBGK@Z
-; public: long __cdecl STRU::AppendA(char const * __ptr64) __ptr64
-?AppendA@STRU@@QEAAJPEBD@Z
-; public: int __cdecl BUFFER_CHAIN::AppendBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
-?AppendBuffer@BUFFER_CHAIN@@QEAAHPEAVBUFFER_CHAIN_ITEM@@@Z
-; public: void __cdecl STR::AppendCRLF(void) __ptr64
-?AppendCRLF@STR@@QEAAXXZ
-; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64) __ptr64
-?AppendW@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64,unsigned long) __ptr64
-?AppendW@STRA@@QEAAJPEBGK@Z
-; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64) __ptr64
-?AppendWTruncate@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
-?AppendWTruncate@STRA@@QEAAJPEBGK@Z
-; public: unsigned long __cdecl CLKRHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?Apply@CLKRHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CLKRLinearHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?Apply@CLKRLinearHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?ApplyIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?ApplyIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
-; private: int __cdecl MULTISZ::AuxAppend(unsigned char const * __ptr64,unsigned int,int) __ptr64
-?AuxAppend@MULTISZ@@AEAAHPEBEIH@Z
-; private: int __cdecl STR::AuxAppend(unsigned char const * __ptr64,unsigned int,int) __ptr64
-?AuxAppend@STR@@AEAAHPEBEIH@Z
-; private: long __cdecl STRA::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppend@STRA@@AEAAJPEBEKKH@Z
-; private: int __cdecl STRAU::AuxAppend(char const * __ptr64,unsigned int,int) __ptr64
-?AuxAppend@STRAU@@AEAAHPEBDIH@Z
-; private: int __cdecl STRAU::AuxAppend(unsigned short const * __ptr64,unsigned int,int) __ptr64
-?AuxAppend@STRAU@@AEAAHPEBGIH@Z
-; private: long __cdecl STRU::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppend@STRU@@AEAAJPEBEKKH@Z
-; private: long __cdecl STRU::AuxAppendA(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppendA@STRU@@AEAAJPEBEKKH@Z
-; private: long __cdecl STRA::AuxAppendW(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppendW@STRA@@AEAAJPEBGKKH@Z
-; private: long __cdecl STRA::AuxAppendWTruncate(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppendWTruncate@STRA@@AEAAJPEBGKKH@Z
-; private: void __cdecl MLSZAU::AuxInit(char * __ptr64 const,unsigned long) __ptr64
-?AuxInit@MLSZAU@@AEAAXQEADK@Z
-; private: void __cdecl MLSZAU::AuxInit(unsigned short * __ptr64 const,unsigned long) __ptr64
-?AuxInit@MLSZAU@@AEAAXQEAGK@Z
-; private: void __cdecl MULTISZ::AuxInit(unsigned char const * __ptr64) __ptr64
-?AuxInit@MULTISZ@@AEAAXPEBE@Z
-; private: void __cdecl STR::AuxInit(unsigned char const * __ptr64) __ptr64
-?AuxInit@STR@@AEAAXPEBE@Z
-; private: void __cdecl STRAU::AuxInit(char const * __ptr64) __ptr64
-?AuxInit@STRAU@@AEAAXPEBD@Z
-; private: void __cdecl STRAU::AuxInit(unsigned short const * __ptr64) __ptr64
-?AuxInit@STRAU@@AEAAXPEBG@Z
-; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::Begin(void) __ptr64
-?Begin@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
-; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::Begin(void) __ptr64
-?Begin@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
-; public: static long __cdecl CLKRHashTableStats::BucketIndex(long)
-?BucketIndex@CLKRHashTableStats@@SAJJ@Z
-; public: static long __cdecl CLKRHashTableStats::BucketSize(long)
-?BucketSize@CLKRHashTableStats@@SAJJ@Z
-; public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)
-?BucketSizes@CLKRHashTableStats@@SAPEBJXZ
-; public: static unsigned long __cdecl MULTISZ::CalcLength(char const * __ptr64,unsigned long * __ptr64)
-?CalcLength@MULTISZ@@SAKPEBDPEAK@Z
-; public: unsigned long __cdecl BUFFER_CHAIN::CalcTotalSize(int)const  __ptr64
-?CalcTotalSize@BUFFER_CHAIN@@QEBAKH@Z
-; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64)const  __ptr64
-?CalculateHash@HASH_TABLE@@UEBAKPEBD@Z
-; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64,unsigned long)const  __ptr64
-?CalculateHash@HASH_TABLE@@UEBAKPEBDK@Z
-CanonURL
-; public: void __cdecl CSharelock::ChangeExclusiveLockToSharedLock(void) __ptr64
-?ChangeExclusiveLockToSharedLock@CSharelock@@QEAAXXZ
-; public: unsigned char __cdecl CSharelock::ChangeSharedLockToExclusiveLock(int) __ptr64
-?ChangeSharedLockToExclusiveLock@CSharelock@@QEAAEH@Z
-; public: int __cdecl CLKRHashTable::CheckTable(void)const  __ptr64
-?CheckTable@CLKRHashTable@@QEBAHXZ
-; public: int __cdecl CLKRLinearHashTable::CheckTable(void)const  __ptr64
-?CheckTable@CLKRLinearHashTable@@QEBAHXZ
-; public: unsigned char __cdecl CSharelock::ClaimExclusiveLock(int) __ptr64
-?ClaimExclusiveLock@CSharelock@@QEAAEH@Z
-; public: unsigned char __cdecl CSharelock::ClaimShareLock(int) __ptr64
-?ClaimShareLock@CSharelock@@QEAAEH@Z
-; public: static char const * __ptr64 __cdecl CCritSec::ClassName(void)
-?ClassName@CCritSec@@SAPEBDXZ
-; public: static unsigned short const * __ptr64 __cdecl CCritSec::ClassName(void)
-?ClassName@CCritSec@@SAPEBGXZ
-; public: static char const * __ptr64 __cdecl CFakeLock::ClassName(void)
-?ClassName@CFakeLock@@SAPEBDXZ
-; public: static unsigned short const * __ptr64 __cdecl CFakeLock::ClassName(void)
-?ClassName@CFakeLock@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CLKRHashTable::ClassName(void)
-?ClassName@CLKRHashTable@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CLKRLinearHashTable::ClassName(void)
-?ClassName@CLKRLinearHashTable@@SAPEBGXZ
-; public: static char const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
-?ClassName@CReaderWriterLock2@@SAPEBDXZ
-; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
-?ClassName@CReaderWriterLock2@@SAPEBGXZ
-; public: static char const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
-?ClassName@CReaderWriterLock3@@SAPEBDXZ
-; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
-?ClassName@CReaderWriterLock3@@SAPEBGXZ
-; public: static char const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
-?ClassName@CReaderWriterLock@@SAPEBDXZ
-; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
-?ClassName@CReaderWriterLock@@SAPEBGXZ
-; public: static char const * __ptr64 __cdecl CRtlResource::ClassName(void)
-?ClassName@CRtlResource@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CShareLock::ClassName(void)
-?ClassName@CShareLock@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
-?ClassName@CSmallSpinLock@@SAPEBDXZ
-; public: static unsigned short const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
-?ClassName@CSmallSpinLock@@SAPEBGXZ
-; public: static char const * __ptr64 __cdecl CSpinLock::ClassName(void)
-?ClassName@CSpinLock@@SAPEBDXZ
-; public: static unsigned short const * __ptr64 __cdecl CSpinLock::ClassName(void)
-?ClassName@CSpinLock@@SAPEBGXZ
-; public: static int __cdecl ALLOC_CACHE_HANDLER::Cleanup(void)
-?Cleanup@ALLOC_CACHE_HANDLER@@SAHXZ
-; public: void __cdecl HASH_TABLE::Cleanup(void) __ptr64
-?Cleanup@HASH_TABLE@@QEAAXXZ
-; public: void __cdecl HTB_ELEMENT::Cleanup(void) __ptr64
-?Cleanup@HTB_ELEMENT@@QEAAXXZ
-; public: static void __cdecl ALLOC_CACHE_HANDLER::CleanupAllLookasides(void * __ptr64,unsigned char)
-?CleanupAllLookasides@ALLOC_CACHE_HANDLER@@SAXPEAXE@Z
-; public: void __cdecl ALLOC_CACHE_HANDLER::CleanupLookaside(int) __ptr64
-?CleanupLookaside@ALLOC_CACHE_HANDLER@@QEAAXH@Z
-; public: void __cdecl CLKRHashTable::Clear(void) __ptr64
-?Clear@CLKRHashTable@@QEAAXXZ
-; public: void __cdecl CLKRLinearHashTable::Clear(void) __ptr64
-?Clear@CLKRLinearHashTable@@QEAAXXZ
-; public: void __cdecl STR::Clear(void) __ptr64
-?Clear@STR@@QEAAXXZ
-; public: int __cdecl MULTISZ::Clone(class MULTISZ * __ptr64)const  __ptr64
-?Clone@MULTISZ@@QEBAHPEAV1@@Z
-; public: int __cdecl STR::Clone(class STR * __ptr64)const  __ptr64
-?Clone@STR@@QEBAHPEAV1@@Z
-; public: long __cdecl STRA::Clone(class STRA * __ptr64)const  __ptr64
-?Clone@STRA@@QEBAJPEAV1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
-?CloseIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
-?CloseIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?CloseIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
-?CloseIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: unsigned long __cdecl HASH_TABLE::CloseIterator(struct HT_ITERATOR * __ptr64) __ptr64
-?CloseIterator@HASH_TABLE@@QEAAKPEAUHT_ITERATOR@@@Z
-; public: unsigned long __cdecl HASH_TABLE_BUCKET::CloseIterator(struct HT_ITERATOR * __ptr64) __ptr64
-?CloseIterator@HASH_TABLE_BUCKET@@QEAAKPEAUHT_ITERATOR@@@Z
-; public: void __cdecl TS_RESOURCE::Convert(enum TSRES_CONV_TYPE) __ptr64
-?Convert@TS_RESOURCE@@QEAAXW4TSRES_CONV_TYPE@@@Z
-; public: void __cdecl CCritSec::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ConvertExclusiveToShared(void)const  __ptr64
-?ConvertExclusiveToShared@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ConvertExclusiveToShared(void)const  __ptr64
-?ConvertExclusiveToShared@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CSpinLock@@QEAAXXZ
-; public: void __cdecl CCritSec::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ConvertSharedToExclusive(void)const  __ptr64
-?ConvertSharedToExclusive@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ConvertSharedToExclusive(void)const  __ptr64
-?ConvertSharedToExclusive@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CSpinLock@@QEAAXXZ
-; public: int __cdecl MULTISZ::Copy(class MULTISZ const & __ptr64) __ptr64
-?Copy@MULTISZ@@QEAAHAEBV1@@Z
-; public: int __cdecl MULTISZ::Copy(char const * __ptr64,unsigned long) __ptr64
-?Copy@MULTISZ@@QEAAHPEBDK@Z
-; public: int __cdecl STR::Copy(class STR const & __ptr64) __ptr64
-?Copy@STR@@QEAAHAEBV1@@Z
-; public: int __cdecl STR::Copy(char const * __ptr64) __ptr64
-?Copy@STR@@QEAAHPEBD@Z
-; public: int __cdecl STR::Copy(char const * __ptr64,unsigned long) __ptr64
-?Copy@STR@@QEAAHPEBDK@Z
-; public: long __cdecl STRA::Copy(class STRA const & __ptr64) __ptr64
-?Copy@STRA@@QEAAJAEBV1@@Z
-; public: long __cdecl STRA::Copy(char const * __ptr64) __ptr64
-?Copy@STRA@@QEAAJPEBD@Z
-; public: long __cdecl STRA::Copy(char const * __ptr64,unsigned long) __ptr64
-?Copy@STRA@@QEAAJPEBDK@Z
-; public: int __cdecl STRAU::Copy(class STRAU & __ptr64) __ptr64
-?Copy@STRAU@@QEAAHAEAV1@@Z
-; public: int __cdecl STRAU::Copy(char const * __ptr64) __ptr64
-?Copy@STRAU@@QEAAHPEBD@Z
-; public: int __cdecl STRAU::Copy(char const * __ptr64,unsigned long) __ptr64
-?Copy@STRAU@@QEAAHPEBDK@Z
-; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64) __ptr64
-?Copy@STRAU@@QEAAHPEBG@Z
-; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
-?Copy@STRAU@@QEAAHPEBGK@Z
-; public: long __cdecl STRU::Copy(class STRU const & __ptr64) __ptr64
-?Copy@STRU@@QEAAJAEBV1@@Z
-; public: long __cdecl STRU::Copy(unsigned short const * __ptr64) __ptr64
-?Copy@STRU@@QEAAJPEBG@Z
-; public: long __cdecl STRU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
-?Copy@STRU@@QEAAJPEBGK@Z
-; public: long __cdecl STRU::CopyA(char const * __ptr64) __ptr64
-?CopyA@STRU@@QEAAJPEBD@Z
-; public: long __cdecl STRU::CopyA(char const * __ptr64,unsigned long) __ptr64
-?CopyA@STRU@@QEAAJPEBDK@Z
-; public: long __cdecl STRA::CopyBinary(void * __ptr64,unsigned long) __ptr64
-?CopyBinary@STRA@@QEAAJPEAXK@Z
-; public: int __cdecl CDFTCache::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
-?CopyFormattedData@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@PEAD@Z
-; public: void __cdecl DATETIME_FORMAT_ENTRY::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
-?CopyFormattedData@DATETIME_FORMAT_ENTRY@@QEBAXPEBU_SYSTEMTIME@@PEAD@Z
-; public: int __cdecl MULTISZ::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
-?CopyToBuffer@MULTISZ@@QEBAHPEADPEAK@Z
-; public: int __cdecl STR::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
-?CopyToBuffer@STR@@QEBAHPEADPEAK@Z
-; public: int __cdecl STR::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
-?CopyToBuffer@STR@@QEBAHPEAGPEAK@Z
-; public: long __cdecl STRA::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
-?CopyToBuffer@STRA@@QEBAJPEADPEAK@Z
-; public: long __cdecl STRU::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
-?CopyToBuffer@STRU@@QEBAJPEAGPEAK@Z
-; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64) __ptr64
-?CopyW@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64,unsigned long) __ptr64
-?CopyW@STRA@@QEAAJPEBGK@Z
-; public: long __cdecl STRA::CopyWToUTF8(class STRU const & __ptr64) __ptr64
-?CopyWToUTF8@STRA@@QEAAJAEBVSTRU@@@Z
-; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64) __ptr64
-?CopyWToUTF8@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64,unsigned long) __ptr64
-?CopyWToUTF8@STRA@@QEAAJPEBGK@Z
-; public: long __cdecl STRA::CopyWToUTF8Unescaped(class STRU const & __ptr64) __ptr64
-?CopyWToUTF8Unescaped@STRA@@QEAAJAEBVSTRU@@@Z
-; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64) __ptr64
-?CopyWToUTF8Unescaped@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64,unsigned long) __ptr64
-?CopyWToUTF8Unescaped@STRA@@QEAAJPEBGK@Z
-; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64) __ptr64
-?CopyWTruncate@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
-?CopyWTruncate@STRA@@QEAAJPEBGK@Z
-CreateKey
-; public: unsigned long __cdecl CDFTCache::DateTimeChars(void)const  __ptr64
-?DateTimeChars@CDFTCache@@QEBAKXZ
-; char const * __ptr64 __cdecl DayOfWeek3CharNames(unsigned long)
-?DayOfWeek3CharNames@@YAPEBDK@Z
-; public: void __cdecl HTB_ELEMENT::DecrementElements(void) __ptr64
-?DecrementElements@HTB_ELEMENT@@QEAAXXZ
-; public: int __cdecl HASH_TABLE::Delete(class HT_ELEMENT * __ptr64) __ptr64
-?Delete@HASH_TABLE@@QEAAHPEAVHT_ELEMENT@@@Z
-; public: int __cdecl HASH_TABLE_BUCKET::Delete(class HT_ELEMENT * __ptr64) __ptr64
-?Delete@HASH_TABLE_BUCKET@@QEAAHPEAVHT_ELEMENT@@@Z
-; public: int __cdecl HTB_ELEMENT::Delete(class HT_ELEMENT * __ptr64) __ptr64
-?Delete@HTB_ELEMENT@@QEAAHPEAVHT_ELEMENT@@@Z
-; public: unsigned long __cdecl BUFFER_CHAIN::DeleteChain(void) __ptr64
-?DeleteChain@BUFFER_CHAIN@@QEAAKXZ
-; public: unsigned long __cdecl CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
-?DeleteIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
-; public: unsigned long __cdecl CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
-?DeleteIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteKey(unsigned __int64) __ptr64
-?DeleteKey@CLKRHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteKey(unsigned __int64) __ptr64
-?DeleteKey@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteRecord(void const * __ptr64) __ptr64
-?DeleteRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteRecord(void const * __ptr64) __ptr64
-?DeleteRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
-; public: virtual unsigned long __cdecl CEtwTracer::DisableEventsCallbackCustomHandler(void) __ptr64
-?DisableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
-; public: static int __cdecl ALLOC_CACHE_HANDLER::DumpStatsToHtml(char * __ptr64,unsigned long * __ptr64)
-?DumpStatsToHtml@ALLOC_CACHE_HANDLER@@SAHPEADPEAK@Z
-; public: virtual unsigned long __cdecl CEtwTracer::EnableEventsCallbackCustomHandler(void) __ptr64
-?EnableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
-; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::End(void) __ptr64
-?End@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
-; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::End(void) __ptr64
-?End@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
-; public: int __cdecl STR::Equ(class STR const & __ptr64)const  __ptr64
-?Equ@STR@@QEBAHAEBV1@@Z
-; public: int __cdecl STR::Equ(char * __ptr64)const  __ptr64
-?Equ@STR@@QEBAHPEAD@Z
-; public: bool __cdecl CLKRHashTable::EqualRange(unsigned __int64,class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
-?EqualRange@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@1@Z
-; public: bool __cdecl CLKRLinearHashTable::EqualRange(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
-?EqualRange@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@1@Z
-; public: int __cdecl STRA::Equals(class STRA const & __ptr64)const  __ptr64
-?Equals@STRA@@QEBAHAEBV1@@Z
-; public: int __cdecl STRA::Equals(char * __ptr64 const)const  __ptr64
-?Equals@STRA@@QEBAHQEAD@Z
-; public: int __cdecl STRU::Equals(class STRU const & __ptr64)const  __ptr64
-?Equals@STRU@@QEBAHAEBV1@@Z
-; public: int __cdecl STRU::Equals(unsigned short const * __ptr64)const  __ptr64
-?Equals@STRU@@QEBAHPEBG@Z
-; public: int __cdecl STRA::EqualsNoCase(class STRA const & __ptr64)const  __ptr64
-?EqualsNoCase@STRA@@QEBAHAEBV1@@Z
-; public: int __cdecl STRA::EqualsNoCase(char * __ptr64 const)const  __ptr64
-?EqualsNoCase@STRA@@QEBAHQEAD@Z
-; public: int __cdecl STRU::EqualsNoCase(class STRU const & __ptr64)const  __ptr64
-?EqualsNoCase@STRU@@QEBAHAEBV1@@Z
-; public: int __cdecl STRU::EqualsNoCase(unsigned short const * __ptr64)const  __ptr64
-?EqualsNoCase@STRU@@QEBAHPEBG@Z
-; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
-?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@0@Z
-; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64) __ptr64
-?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@@Z
-; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
-?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@0@Z
-; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
-?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@@Z
-; public: int __cdecl STR::Escape(void) __ptr64
-?Escape@STR@@QEAAHXZ
-; public: long __cdecl STRA::Escape(int,int) __ptr64
-?Escape@STRA@@QEAAJHH@Z
-; public: long __cdecl STRU::Escape(void) __ptr64
-?Escape@STRU@@QEAAJXZ
-; public: int __cdecl STR::EscapeSpaces(void) __ptr64
-?EscapeSpaces@STR@@QEAAHXZ
-; public: unsigned long __cdecl CEtwTracer::EtwTraceEvent(struct _GUID const * __ptr64,unsigned long,...) __ptr64
-?EtwTraceEvent@CEtwTracer@@QEAAKPEBU_GUID@@KZZ
-; int __cdecl FileTimeToGMT(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long)
-?FileTimeToGMT@@YAHAEBU_FILETIME@@PEADK@Z
-; int __cdecl FileTimeToGMTEx(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long,unsigned long)
-?FileTimeToGMTEx@@YAHAEBU_FILETIME@@PEADKK@Z
-; public: bool __cdecl CLKRHashTable::Find(unsigned __int64,class CLKRHashTable_Iterator & __ptr64) __ptr64
-?Find@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@@Z
-; public: bool __cdecl CLKRLinearHashTable::Find(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
-?Find@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
-?FindKey@CLKRHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
-?FindKey@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
-; public: unsigned long __cdecl HASH_TABLE::FindNextElement(struct HT_ITERATOR * __ptr64,class HT_ELEMENT * __ptr64 * __ptr64) __ptr64
-?FindNextElement@HASH_TABLE@@QEAAKPEAUHT_ITERATOR@@PEAPEAVHT_ELEMENT@@@Z
-; public: unsigned long __cdecl HASH_TABLE_BUCKET::FindNextElement(struct HT_ITERATOR * __ptr64,class HT_ELEMENT * __ptr64 * __ptr64) __ptr64
-?FindNextElement@HASH_TABLE_BUCKET@@QEAAKPEAUHT_ITERATOR@@PEAPEAVHT_ELEMENT@@@Z
-; public: unsigned long __cdecl HTB_ELEMENT::FindNextElement(unsigned long * __ptr64,class HT_ELEMENT * __ptr64 * __ptr64) __ptr64
-?FindNextElement@HTB_ELEMENT@@QEAAKPEAKPEAPEAVHT_ELEMENT@@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindRecord(void const * __ptr64)const  __ptr64
-?FindRecord@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindRecord(void const * __ptr64)const  __ptr64
-?FindRecord@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
-; public: int __cdecl MULTISZ::FindString(class STR const & __ptr64) __ptr64
-?FindString@MULTISZ@@QEAAHAEBVSTR@@@Z
-; public: int __cdecl MULTISZ::FindString(char const * __ptr64) __ptr64
-?FindString@MULTISZ@@QEAAHPEBD@Z
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::First(void)const  __ptr64
-?First@CDoubleList@@QEBAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::First(void) __ptr64
-?First@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: char const * __ptr64 __cdecl MULTISZ::First(void)const  __ptr64
-?First@MULTISZ@@QEBAPEBDXZ
-; public: struct HTBE_ENTRY * __ptr64 __cdecl HTB_ELEMENT::FirstElement(void) __ptr64
-?FirstElement@HTB_ELEMENT@@QEAAPEAUHTBE_ENTRY@@XZ
-; public: unsigned long __cdecl HASH_TABLE::FlushElements(void) __ptr64
-?FlushElements@HASH_TABLE@@QEAAKXZ
-; public: int __cdecl STR::FormatString(unsigned long,char const * __ptr64 * __ptr64 const,char const * __ptr64,unsigned long) __ptr64
-?FormatString@STR@@QEAAHKQEAPEBDPEBDK@Z
-; public: long __cdecl STRA::FormatString(unsigned long,char const * __ptr64 * __ptr64 const,char const * __ptr64,unsigned long) __ptr64
-?FormatString@STRA@@QEAAJKQEAPEBDPEBDK@Z
-; public: char const * __ptr64 __cdecl CDFTCache::FormattedBuffer(void)const  __ptr64
-?FormattedBuffer@CDFTCache@@QEBAPEBDXZ
-; public: int __cdecl ALLOC_CACHE_HANDLER::Free(void * __ptr64) __ptr64
-?Free@ALLOC_CACHE_HANDLER@@QEAAHPEAX@Z
-; public: void __cdecl BUFFER::FreeMemory(void) __ptr64
-?FreeMemory@BUFFER@@QEAAXXZ
-; public: virtual void __cdecl ASCLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
-?GenerateDateTimeString@ASCLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
-; public: virtual void __cdecl EXTLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
-?GenerateDateTimeString@EXTLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
-; public: virtual void __cdecl W3_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
-?GenerateDateTimeString@W3_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
-; public: unsigned short __cdecl CLKRHashTable::GetBucketLockSpinCount(void)const  __ptr64
-?GetBucketLockSpinCount@CLKRHashTable@@QEBAGXZ
-; public: unsigned short __cdecl CLKRLinearHashTable::GetBucketLockSpinCount(void)const  __ptr64
-?GetBucketLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
-; public: static double __cdecl CCritSec::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CCritSec@@SANXZ
-; public: static double __cdecl CFakeLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CFakeLock@@SANXZ
-; public: static double __cdecl CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SANXZ
-; public: static double __cdecl CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SANXZ
-; public: static double __cdecl CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SANXZ
-; public: static double __cdecl CRtlResource::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CRtlResource@@SANXZ
-; public: static double __cdecl CShareLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CShareLock@@SANXZ
-; public: static double __cdecl CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SANXZ
-; public: static double __cdecl CSpinLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CSpinLock@@SANXZ
-; public: static unsigned short __cdecl CCritSec::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CCritSec@@SAGXZ
-; public: static unsigned short __cdecl CFakeLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CFakeLock@@SAGXZ
-; public: static unsigned short __cdecl CReaderWriterLock2::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock2@@SAGXZ
-; public: static unsigned short __cdecl CReaderWriterLock3::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock3@@SAGXZ
-; public: static unsigned short __cdecl CReaderWriterLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock@@SAGXZ
-; public: static unsigned short __cdecl CRtlResource::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CRtlResource@@SAGXZ
-; public: static unsigned short __cdecl CShareLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CShareLock@@SAGXZ
-; public: static unsigned short __cdecl CSmallSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSmallSpinLock@@SAGXZ
-; public: static unsigned short __cdecl CSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSpinLock@@SAGXZ
-; public: unsigned long __cdecl EVENT_LOG::GetErrorCode(void)const  __ptr64
-?GetErrorCode@EVENT_LOG@@QEBAKXZ
-; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedCurrentDateTime(char * __ptr64) __ptr64
-?GetFormattedCurrentDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEAD@Z
-; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedDateTime(struct _SYSTEMTIME const * __ptr64,char * __ptr64) __ptr64
-?GetFormattedDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEBU_SYSTEMTIME@@PEAD@Z
-; private: int __cdecl BUFFER::GetNewStorage(unsigned int) __ptr64
-?GetNewStorage@BUFFER@@AEAAHI@Z
-; public: unsigned short __cdecl CCritSec::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CCritSec@@QEBAGXZ
-; public: unsigned short __cdecl CFakeLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CFakeLock@@QEBAGXZ
-; public: unsigned short __cdecl CReaderWriterLock2::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CReaderWriterLock2@@QEBAGXZ
-; public: unsigned short __cdecl CReaderWriterLock3::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CReaderWriterLock3@@QEBAGXZ
-; public: unsigned short __cdecl CReaderWriterLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CReaderWriterLock@@QEBAGXZ
-; public: unsigned short __cdecl CRtlResource::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CRtlResource@@QEBAGXZ
-; public: unsigned short __cdecl CShareLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CShareLock@@QEBAGXZ
-; public: unsigned short __cdecl CSmallSpinLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CSmallSpinLock@@QEBAGXZ
-; public: unsigned short __cdecl CSpinLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CSpinLock@@QEBAGXZ
-; public: class CLKRHashTableStats  __cdecl CLKRHashTable::GetStatistics(void)const  __ptr64
-?GetStatistics@CLKRHashTable@@QEBA?AVCLKRHashTableStats@@XZ
-; public: class CLKRHashTableStats  __cdecl CLKRLinearHashTable::GetStatistics(void)const  __ptr64
-?GetStatistics@CLKRLinearHashTable@@QEBA?AVCLKRHashTableStats@@XZ
-; public: unsigned short __cdecl CLKRHashTable::GetTableLockSpinCount(void)const  __ptr64
-?GetTableLockSpinCount@CLKRHashTable@@QEBAGXZ
-; public: unsigned short __cdecl CLKRLinearHashTable::GetTableLockSpinCount(void)const  __ptr64
-?GetTableLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
-; public: int __cdecl CDateTime::GetTickCount(void) __ptr64
-?GetTickCount@CDateTime@@QEAAHXZ
-; public: long __cdecl STRA::HTMLEncode(void) __ptr64
-?HTMLEncode@STRA@@QEAAJXZ
-; public: void __cdecl STR::Hash(void) __ptr64
-?Hash@STR@@QEAAXXZ
-; public: class CListEntry const * __ptr64 __cdecl CDoubleList::HeadNode(void)const  __ptr64
-?HeadNode@CDoubleList@@QEBAQEBVCListEntry@@XZ
-; public: class CListEntry const * __ptr64 __cdecl CLockedDoubleList::HeadNode(void)const  __ptr64
-?HeadNode@CLockedDoubleList@@QEBAQEBVCListEntry@@XZ
-IISCreateDirectory
-IISstricmp
-IISstrlen
-IISstrlwr
-IISstrncpy
-IISstrnicmp
-IISstrrchr
-IISstrupr
-; public: bool __cdecl CLKRHashTable_Iterator::Increment(void) __ptr64
-?Increment@CLKRHashTable_Iterator@@QEAA_NXZ
-; public: bool __cdecl CLKRLinearHashTable_Iterator::Increment(void) __ptr64
-?Increment@CLKRLinearHashTable_Iterator@@QEAA_NXZ
-; public: void __cdecl HTB_ELEMENT::IncrementElements(void) __ptr64
-?IncrementElements@HTB_ELEMENT@@QEAAXXZ
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
-?IncrementIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
-?IncrementIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?IncrementIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
-?IncrementIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: static int __cdecl ALLOC_CACHE_HANDLER::Initialize(void)
-?Initialize@ALLOC_CACHE_HANDLER@@SAHXZ
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
-?InitializeIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
-?InitializeIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?InitializeIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
-?InitializeIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: unsigned long __cdecl HASH_TABLE::InitializeIterator(struct HT_ITERATOR * __ptr64) __ptr64
-?InitializeIterator@HASH_TABLE@@QEAAKPEAUHT_ITERATOR@@@Z
-; public: unsigned long __cdecl HASH_TABLE_BUCKET::InitializeIterator(struct HT_ITERATOR * __ptr64) __ptr64
-?InitializeIterator@HASH_TABLE_BUCKET@@QEAAKPEAUHT_ITERATOR@@@Z
-; public: bool __cdecl CLKRHashTable::Insert(void const * __ptr64,class CLKRHashTable_Iterator & __ptr64,bool) __ptr64
-?Insert@CLKRHashTable@@QEAA_NPEBXAEAVCLKRHashTable_Iterator@@_N@Z
-; public: bool __cdecl CLKRLinearHashTable::Insert(void const * __ptr64,class CLKRLinearHashTable_Iterator & __ptr64,bool) __ptr64
-?Insert@CLKRLinearHashTable@@QEAA_NPEBXAEAVCLKRLinearHashTable_Iterator@@_N@Z
-; public: int __cdecl HASH_TABLE::Insert(class HT_ELEMENT * __ptr64,int) __ptr64
-?Insert@HASH_TABLE@@QEAAHPEAVHT_ELEMENT@@H@Z
-; public: int __cdecl HASH_TABLE_BUCKET::Insert(unsigned long,class HT_ELEMENT * __ptr64,int) __ptr64
-?Insert@HASH_TABLE_BUCKET@@QEAAHKPEAVHT_ELEMENT@@H@Z
-; public: int __cdecl HTB_ELEMENT::Insert(unsigned long,class HT_ELEMENT * __ptr64) __ptr64
-?Insert@HTB_ELEMENT@@QEAAHKPEAVHT_ELEMENT@@@Z
-; public: void __cdecl CDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
-?InsertHead@CDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: void __cdecl CLockedDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
-?InsertHead@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: static void __cdecl ALLOC_CACHE_HANDLER::InsertNewItem(class ALLOC_CACHE_HANDLER * __ptr64)
-?InsertNewItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
-?InsertRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
-?InsertRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
-; public: void __cdecl CDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
-?InsertTail@CDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: void __cdecl CLockedDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
-?InsertTail@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: int __cdecl ALLOC_CACHE_HANDLER::IpPrint(char * __ptr64,unsigned long * __ptr64) __ptr64
-?IpPrint@ALLOC_CACHE_HANDLER@@QEAAHPEADPEAK@Z
-; public: int __cdecl MLSZAU::IsCurrentUnicode(void) __ptr64
-?IsCurrentUnicode@MLSZAU@@QEAAHXZ
-; public: int __cdecl STRAU::IsCurrentUnicode(void) __ptr64
-?IsCurrentUnicode@STRAU@@QEAAHXZ
-; private: int __cdecl BUFFER::IsDynAlloced(void)const  __ptr64
-?IsDynAlloced@BUFFER@@AEBAHXZ
-; public: bool __cdecl CDoubleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedDoubleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CLockedDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedSingleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CLockedSingleList@@QEBA_NXZ
-; public: bool __cdecl CSingleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CSingleList@@QEBA_NXZ
-; public: int __cdecl MULTISZ::IsEmpty(void)const  __ptr64
-?IsEmpty@MULTISZ@@QEBAHXZ
-; public: int __cdecl STR::IsEmpty(void)const  __ptr64
-?IsEmpty@STR@@QEBAHXZ
-; public: int __cdecl STRA::IsEmpty(void)const  __ptr64
-?IsEmpty@STRA@@QEBAHXZ
-; public: int __cdecl STRAU::IsEmpty(void) __ptr64
-?IsEmpty@STRAU@@QEAAHXZ
-; public: int __cdecl STRU::IsEmpty(void)const  __ptr64
-?IsEmpty@STRU@@QEBAHXZ
-; public: int __cdecl CDFTCache::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
-?IsHit@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@@Z
-; public: int __cdecl DATETIME_FORMAT_ENTRY::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
-?IsHit@DATETIME_FORMAT_ENTRY@@QEBAHPEBU_SYSTEMTIME@@@Z
-IsIPAddressLocal
-IsLargeIntegerToDecimalChar
-; public: bool __cdecl CLockedDoubleList::IsLocked(void)const  __ptr64
-?IsLocked@CLockedDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedSingleList::IsLocked(void)const  __ptr64
-?IsLocked@CLockedSingleList@@QEBA_NXZ
-; public: bool __cdecl CCritSec::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CRtlResource::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CRtlResource@@QEBA_NXZ
-; public: bool __cdecl CShareLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CShareLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CSpinLock@@QEBA_NXZ
-; public: bool __cdecl CCritSec::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CRtlResource::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CRtlResource@@QEBA_NXZ
-; public: bool __cdecl CShareLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CShareLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CSpinLock@@QEBA_NXZ
-; public: int __cdecl HTB_ELEMENT::IsSpaceAvailable(void)const  __ptr64
-?IsSpaceAvailable@HTB_ELEMENT@@QEBAHXZ
-; public: bool __cdecl CLockedDoubleList::IsUnlocked(void)const  __ptr64
-?IsUnlocked@CLockedDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedSingleList::IsUnlocked(void)const  __ptr64
-?IsUnlocked@CLockedSingleList@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsUsable(void)const  __ptr64
-?IsUsable@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsUsable(void)const  __ptr64
-?IsUsable@CLKRLinearHashTable@@QEBA_NXZ
-; public: int __cdecl ALLOC_CACHE_HANDLER::IsValid(void)const  __ptr64
-?IsValid@ALLOC_CACHE_HANDLER@@QEBAHXZ
-; public: int __cdecl BUFFER::IsValid(void)const  __ptr64
-?IsValid@BUFFER@@QEBAHXZ
-; public: bool __cdecl CLKRHashTable::IsValid(void)const  __ptr64
-?IsValid@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable_Iterator::IsValid(void)const  __ptr64
-?IsValid@CLKRHashTable_Iterator@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsValid(void)const  __ptr64
-?IsValid@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable_Iterator::IsValid(void)const  __ptr64
-?IsValid@CLKRLinearHashTable_Iterator@@QEBA_NXZ
-; public: int __cdecl HASH_TABLE::IsValid(void)const  __ptr64
-?IsValid@HASH_TABLE@@QEBAHXZ
-; public: int __cdecl MLSZAU::IsValid(void) __ptr64
-?IsValid@MLSZAU@@QEAAHXZ
-; public: int __cdecl MULTISZ::IsValid(void)const  __ptr64
-?IsValid@MULTISZ@@QEBAHXZ
-; public: int __cdecl STR::IsValid(void)const  __ptr64
-?IsValid@STR@@QEBAHXZ
-; public: int __cdecl STRA::IsValid(void)const  __ptr64
-?IsValid@STRA@@QEBAHXZ
-; public: int __cdecl STRAU::IsValid(void) __ptr64
-?IsValid@STRAU@@QEAAHXZ
-; public: bool __cdecl CCritSec::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CRtlResource::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CRtlResource@@QEBA_NXZ
-; public: bool __cdecl CShareLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CShareLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CSpinLock@@QEBA_NXZ
-; public: bool __cdecl CCritSec::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CRtlResource::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CRtlResource@@QEBA_NXZ
-; public: bool __cdecl CShareLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CShareLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CSpinLock@@QEBA_NXZ
-; public: unsigned __int64 const  __cdecl CLKRHashTable_Iterator::Key(void)const  __ptr64
-?Key@CLKRHashTable_Iterator@@QEBA?B_KXZ
-; public: unsigned __int64 const  __cdecl CLKRLinearHashTable_Iterator::Key(void)const  __ptr64
-?Key@CLKRLinearHashTable_Iterator@@QEBA?B_KXZ
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::Last(void)const  __ptr64
-?Last@CDoubleList@@QEBAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::Last(void) __ptr64
-?Last@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: struct HTBE_ENTRY * __ptr64 __cdecl HTB_ELEMENT::LastElement(void) __ptr64
-?LastElement@HTB_ELEMENT@@QEAAPEAUHTBE_ENTRY@@XZ
-; public: int __cdecl STR::LoadStringA(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
-?LoadStringA@STR@@QEAAHKPEAUHINSTANCE__@@@Z
-; public: int __cdecl STR::LoadStringA(unsigned long,char const * __ptr64,unsigned long) __ptr64
-?LoadStringA@STR@@QEAAHKPEBDK@Z
-; public: long __cdecl STRA::LoadStringW(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
-?LoadStringW@STRA@@QEAAJKPEAUHINSTANCE__@@@Z
-; public: long __cdecl STRA::LoadStringW(unsigned long,char const * __ptr64,unsigned long) __ptr64
-?LoadStringW@STRA@@QEAAJKPEBDK@Z
-; private: void __cdecl ALLOC_CACHE_HANDLER::Lock(void) __ptr64
-?Lock@ALLOC_CACHE_HANDLER@@AEAAXXZ
-; public: void __cdecl CLockedDoubleList::Lock(void) __ptr64
-?Lock@CLockedDoubleList@@QEAAXXZ
-; public: void __cdecl CLockedSingleList::Lock(void) __ptr64
-?Lock@CLockedSingleList@@QEAAXXZ
-; private: void __cdecl HASH_TABLE_BUCKET::Lock(void) __ptr64
-?Lock@HASH_TABLE_BUCKET@@AEAAXXZ
-; public: void __cdecl TS_RESOURCE::Lock(enum TSRES_LOCK_TYPE) __ptr64
-?Lock@TS_RESOURCE@@QEAAXW4TSRES_LOCK_TYPE@@@Z
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<1,1,3,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<2,1,1,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<3,1,1,1,1,1>::LockType(void)
-?LockType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<4,1,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<5,2,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<6,2,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<7,2,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<8,2,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<9,2,1,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: void __cdecl EVENT_LOG::LogEvent(unsigned long,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
-?LogEvent@EVENT_LOG@@QEAAXKGQEAPEBDK@Z
-; private: void __cdecl EVENT_LOG::LogEventPrivate(unsigned long,unsigned short,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
-?LogEventPrivate@EVENT_LOG@@AEAAXKGGQEAPEBDK@Z
-; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64) __ptr64
-?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBD@Z
-; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64,unsigned long) __ptr64
-?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBDK@Z
-; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE_BUCKET::Lookup(unsigned long,char const * __ptr64,unsigned long) __ptr64
-?Lookup@HASH_TABLE_BUCKET@@QEAAPEAVHT_ELEMENT@@KPEBDK@Z
-; public: class HT_ELEMENT * __ptr64 __cdecl HTB_ELEMENT::Lookup(unsigned long,char const * __ptr64,unsigned long) __ptr64
-?Lookup@HTB_ELEMENT@@QEAAPEAVHT_ELEMENT@@KPEBDK@Z
-; public: unsigned long __cdecl CLKRHashTable::MaxSize(void)const  __ptr64
-?MaxSize@CLKRHashTable@@QEBAKXZ
-; public: unsigned long __cdecl CLKRLinearHashTable::MaxSize(void)const  __ptr64
-?MaxSize@CLKRLinearHashTable@@QEBAKXZ
-; char const * __ptr64 __cdecl Month3CharNames(unsigned long)
-?Month3CharNames@@YAPEBDK@Z
-; public: bool __cdecl CLKRHashTable::MultiKeys(void)const  __ptr64
-?MultiKeys@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::MultiKeys(void)const  __ptr64
-?MultiKeys@CLKRLinearHashTable@@QEBA_NXZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<1,1,3,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<2,1,1,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<3,1,1,1,1,1>::MutexType(void)
-?MutexType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<4,1,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<5,2,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<6,2,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<7,2,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<8,2,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<9,2,1,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: char const * __ptr64 __cdecl MULTISZ::Next(char const * __ptr64)const  __ptr64
-?Next@MULTISZ@@QEBAPEBDPEBD@Z
-; public: class BUFFER_CHAIN_ITEM * __ptr64 __cdecl BUFFER_CHAIN::NextBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
-?NextBuffer@BUFFER_CHAIN@@QEAAPEAVBUFFER_CHAIN_ITEM@@PEAV2@@Z
-; public: void __cdecl HTB_ELEMENT::NextElement(struct HTBE_ENTRY * __ptr64 & __ptr64) __ptr64
-?NextElement@HTB_ELEMENT@@QEAAXAEAPEAUHTBE_ENTRY@@@Z
-; long __cdecl NormalizeUrl(char * __ptr64)
-?NormalizeUrl@@YAJPEAD@Z
-; long __cdecl NormalizeUrlW(unsigned short * __ptr64)
-?NormalizeUrlW@@YAJPEAG@Z
-NtLargeIntegerTimeToLocalSystemTime
-NtLargeIntegerTimeToSystemTime
-NtSystemTimeToLargeInteger
-; public: unsigned long __cdecl HTB_ELEMENT::NumElements(void)const  __ptr64
-?NumElements@HTB_ELEMENT@@QEBAKXZ
-; public: unsigned long __cdecl HASH_TABLE_BUCKET::NumEntries(void) __ptr64
-?NumEntries@HASH_TABLE_BUCKET@@QEAAKXZ
-; public: int __cdecl CLKRHashTable::NumSubTables(void)const  __ptr64
-?NumSubTables@CLKRHashTable@@QEBAHXZ
-; public: static enum LK_TABLESIZE  __cdecl CLKRHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
-?NumSubTables@CLKRHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
-; public: int __cdecl CLKRLinearHashTable::NumSubTables(void)const  __ptr64
-?NumSubTables@CLKRLinearHashTable@@QEBAHXZ
-; public: static enum LK_TABLESIZE  __cdecl CLKRLinearHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
-?NumSubTables@CLKRLinearHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
-; public: int __cdecl CDFTCache::OffsetSeconds(void)const  __ptr64
-?OffsetSeconds@CDFTCache@@QEBAHXZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<5,2,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<6,2,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<7,2,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<8,2,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<9,2,1,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: class CSingleListEntry * __ptr64 __cdecl CLockedSingleList::Pop(void) __ptr64
-?Pop@CLockedSingleList@@QEAAQEAVCSingleListEntry@@XZ
-; public: class CSingleListEntry * __ptr64 __cdecl CSingleList::Pop(void) __ptr64
-?Pop@CSingleList@@QEAAQEAVCSingleListEntry@@XZ
-; public: void __cdecl ALLOC_CACHE_HANDLER::Print(void) __ptr64
-?Print@ALLOC_CACHE_HANDLER@@QEAAXXZ
-; public: void __cdecl HASH_TABLE::Print(unsigned long) __ptr64
-?Print@HASH_TABLE@@QEAAXK@Z
-; public: void __cdecl HASH_TABLE_BUCKET::Print(unsigned long) __ptr64
-?Print@HASH_TABLE_BUCKET@@QEAAXK@Z
-; public: void __cdecl HTB_ELEMENT::Print(unsigned long)const  __ptr64
-?Print@HTB_ELEMENT@@QEBAXK@Z
-; private: unsigned short * __ptr64 __cdecl STRAU::PrivateQueryStr(int) __ptr64
-?PrivateQueryStr@STRAU@@AEAAPEAGH@Z
-; public: void __cdecl CLockedSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
-?Push@CLockedSingleList@@QEAAXQEAVCSingleListEntry@@@Z
-; public: void __cdecl CSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
-?Push@CSingleList@@QEAAXQEAVCSingleListEntry@@@Z
-; public: class BUFFER * __ptr64 __cdecl STRU::QueryBuffer(void) __ptr64
-?QueryBuffer@STRU@@QEAAPEAVBUFFER@@XZ
-; public: unsigned int __cdecl MLSZAU::QueryCB(int) __ptr64
-?QueryCB@MLSZAU@@QEAAIH@Z
-; public: unsigned int __cdecl MULTISZ::QueryCB(void)const  __ptr64
-?QueryCB@MULTISZ@@QEBAIXZ
-; public: unsigned int __cdecl STR::QueryCB(void)const  __ptr64
-?QueryCB@STR@@QEBAIXZ
-; public: unsigned int __cdecl STRA::QueryCB(void)const  __ptr64
-?QueryCB@STRA@@QEBAIXZ
-; public: unsigned int __cdecl STRAU::QueryCB(int) __ptr64
-?QueryCB@STRAU@@QEAAIH@Z
-; public: unsigned int __cdecl STRU::QueryCB(void)const  __ptr64
-?QueryCB@STRU@@QEBAIXZ
-; public: unsigned int __cdecl MLSZAU::QueryCBA(void) __ptr64
-?QueryCBA@MLSZAU@@QEAAIXZ
-; public: unsigned int __cdecl STRAU::QueryCBA(void) __ptr64
-?QueryCBA@STRAU@@QEAAIXZ
-; public: unsigned int __cdecl MLSZAU::QueryCBW(void) __ptr64
-?QueryCBW@MLSZAU@@QEAAIXZ
-; public: unsigned int __cdecl STRAU::QueryCBW(void) __ptr64
-?QueryCBW@STRAU@@QEAAIXZ
-; public: unsigned int __cdecl MLSZAU::QueryCCH(void) __ptr64
-?QueryCCH@MLSZAU@@QEAAIXZ
-; public: unsigned int __cdecl MULTISZ::QueryCCH(void)const  __ptr64
-?QueryCCH@MULTISZ@@QEBAIXZ
-; public: unsigned int __cdecl STR::QueryCCH(void)const  __ptr64
-?QueryCCH@STR@@QEBAIXZ
-; public: unsigned int __cdecl STRA::QueryCCH(void)const  __ptr64
-?QueryCCH@STRA@@QEBAIXZ
-; public: unsigned int __cdecl STRAU::QueryCCH(void) __ptr64
-?QueryCCH@STRAU@@QEAAIXZ
-; public: unsigned int __cdecl STRU::QueryCCH(void)const  __ptr64
-?QueryCCH@STRU@@QEBAIXZ
-; public: unsigned long __cdecl CEtwTracer::QueryEnableLevel(void) __ptr64
-?QueryEnableLevel@CEtwTracer@@QEAAKXZ
-; public: char __cdecl STR::QueryFirstChar(void)const  __ptr64
-?QueryFirstChar@STR@@QEBADXZ
-; public: char __cdecl STR::QueryLastChar(void)const  __ptr64
-?QueryLastChar@STR@@QEBADXZ
-; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
-?QueryPtr@BUFFER@@QEBAPEAXXZ
-; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
-?QuerySize@BUFFER@@QEBAIXZ
-; public: unsigned int __cdecl STRA::QuerySize(void)const  __ptr64
-?QuerySize@STRA@@QEBAIXZ
-; public: void __cdecl ALLOC_CACHE_HANDLER::QueryStats(struct _ALLOC_CACHE_STATISTICS * __ptr64) __ptr64
-?QueryStats@ALLOC_CACHE_HANDLER@@QEAAXPEAU_ALLOC_CACHE_STATISTICS@@@Z
-; public: char * __ptr64 __cdecl MLSZAU::QueryStr(int) __ptr64
-?QueryStr@MLSZAU@@QEAAPEADH@Z
-; public: char * __ptr64 __cdecl MULTISZ::QueryStr(void)const  __ptr64
-?QueryStr@MULTISZ@@QEBAPEADXZ
-; public: char * __ptr64 __cdecl STR::QueryStr(void)const  __ptr64
-?QueryStr@STR@@QEBAPEADXZ
-; public: char * __ptr64 __cdecl STRA::QueryStr(void) __ptr64
-?QueryStr@STRA@@QEAAPEADXZ
-; public: char const * __ptr64 __cdecl STRA::QueryStr(void)const  __ptr64
-?QueryStr@STRA@@QEBAPEBDXZ
-; public: char * __ptr64 __cdecl STRAU::QueryStr(int) __ptr64
-?QueryStr@STRAU@@QEAAPEADH@Z
-; public: unsigned short * __ptr64 __cdecl STRAU::QueryStr(int) __ptr64
-?QueryStr@STRAU@@QEAAPEAGH@Z
-; public: unsigned short * __ptr64 __cdecl STRU::QueryStr(void) __ptr64
-?QueryStr@STRU@@QEAAPEAGXZ
-; public: unsigned short const * __ptr64 __cdecl STRU::QueryStr(void)const  __ptr64
-?QueryStr@STRU@@QEBAPEBGXZ
-; public: char * __ptr64 __cdecl MLSZAU::QueryStrA(void) __ptr64
-?QueryStrA@MLSZAU@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl MULTISZ::QueryStrA(void)const  __ptr64
-?QueryStrA@MULTISZ@@QEBAPEADXZ
-; public: char * __ptr64 __cdecl STR::QueryStrA(void)const  __ptr64
-?QueryStrA@STR@@QEBAPEADXZ
-; public: char * __ptr64 __cdecl STRAU::QueryStrA(void) __ptr64
-?QueryStrA@STRAU@@QEAAPEADXZ
-; public: unsigned short * __ptr64 __cdecl MLSZAU::QueryStrW(void) __ptr64
-?QueryStrW@MLSZAU@@QEAAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl STRAU::QueryStrW(void) __ptr64
-?QueryStrW@STRAU@@QEAAPEAGXZ
-; public: unsigned long __cdecl MULTISZ::QueryStringCount(void)const  __ptr64
-?QueryStringCount@MULTISZ@@QEBAKXZ
-; public: unsigned __int64 __cdecl CEtwTracer::QueryTraceHandle(void) __ptr64
-?QueryTraceHandle@CEtwTracer@@QEAA_KXZ
-; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
-?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::QueueType(void)
-?QueueType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: bool __cdecl CDataCache<class CDateTime>::Read(class CDateTime & __ptr64)const  __ptr64
-?Read@?$CDataCache@VCDateTime@@@@QEBA_NAEAVCDateTime@@@Z
-; public: void __cdecl CCritSec::ReadLock(void) __ptr64
-?ReadLock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ReadLock(void) __ptr64
-?ReadLock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ReadLock(void)const  __ptr64
-?ReadLock@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ReadLock(void)const  __ptr64
-?ReadLock@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ReadLock(void) __ptr64
-?ReadLock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ReadLock(void) __ptr64
-?ReadLock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ReadLock(void) __ptr64
-?ReadLock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::ReadLock(void) __ptr64
-?ReadLock@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::ReadLock(void) __ptr64
-?ReadLock@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ReadLock(void) __ptr64
-?ReadLock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ReadLock(void) __ptr64
-?ReadLock@CSpinLock@@QEAAXXZ
-; public: bool __cdecl CCritSec::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CCritSec@@QEAA_NXZ
-; public: bool __cdecl CFakeLock::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CFakeLock@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock3::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CSpinLock::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CSpinLock@@QEAA_NXZ
-; public: void __cdecl CCritSec::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CCritSec@@QEAAX_N@Z
-; public: void __cdecl CFakeLock::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CFakeLock@@QEAAX_N@Z
-; public: void __cdecl CReaderWriterLock3::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CReaderWriterLock3@@QEAAX_N@Z
-; public: void __cdecl CSpinLock::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CSpinLock@@QEAAX_N@Z
-; public: void __cdecl CCritSec::ReadUnlock(void) __ptr64
-?ReadUnlock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ReadUnlock(void)const  __ptr64
-?ReadUnlock@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ReadUnlock(void)const  __ptr64
-?ReadUnlock@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ReadUnlock(void) __ptr64
-?ReadUnlock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ReadUnlock(void) __ptr64
-?ReadUnlock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::ReadUnlock(void) __ptr64
-?ReadUnlock@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CSpinLock@@QEAAXXZ
-; private: int __cdecl BUFFER::ReallocStorage(unsigned int) __ptr64
-?ReallocStorage@BUFFER@@AEAAHI@Z
-; public: void __cdecl MULTISZ::RecalcLen(void) __ptr64
-?RecalcLen@MULTISZ@@QEAAXXZ
-; public: void const * __ptr64 __cdecl CLKRHashTable_Iterator::Record(void)const  __ptr64
-?Record@CLKRHashTable_Iterator@@QEBAPEBXXZ
-; public: void const * __ptr64 __cdecl CLKRLinearHashTable_Iterator::Record(void)const  __ptr64
-?Record@CLKRLinearHashTable_Iterator@@QEBAPEBXXZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<1,1,3,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<2,1,1,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<3,1,1,1,1,1>::Recursion(void)
-?Recursion@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<4,1,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<5,2,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<6,2,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<7,2,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<8,2,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<9,2,1,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: unsigned long __cdecl CEtwTracer::Register(struct _GUID const * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?Register@CEtwTracer@@QEAAKPEBU_GUID@@PEAG1@Z
-; public: void __cdecl CSharelock::ReleaseExclusiveLock(void) __ptr64
-?ReleaseExclusiveLock@CSharelock@@QEAAXXZ
-; public: void __cdecl CSharelock::ReleaseShareLock(void) __ptr64
-?ReleaseShareLock@CSharelock@@QEAAXXZ
-; public: static void __cdecl CDoubleList::RemoveEntry(class CListEntry * __ptr64 const)
-?RemoveEntry@CDoubleList@@SAXQEAVCListEntry@@@Z
-; public: void __cdecl CLockedDoubleList::RemoveEntry(class CListEntry * __ptr64 const) __ptr64
-?RemoveEntry@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveHead(void) __ptr64
-?RemoveHead@CDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveHead(void) __ptr64
-?RemoveHead@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: static void __cdecl ALLOC_CACHE_HANDLER::RemoveItem(class ALLOC_CACHE_HANDLER * __ptr64)
-?RemoveItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveTail(void) __ptr64
-?RemoveTail@CDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveTail(void) __ptr64
-?RemoveTail@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-RemoveWorkItem
-; public: void __cdecl MLSZAU::Reset(void) __ptr64
-?Reset@MLSZAU@@QEAAXXZ
-; public: void __cdecl MULTISZ::Reset(void) __ptr64
-?Reset@MULTISZ@@QEAAXXZ
-; public: void __cdecl STR::Reset(void) __ptr64
-?Reset@STR@@QEAAXXZ
-; public: void __cdecl STRA::Reset(void) __ptr64
-?Reset@STRA@@QEAAXXZ
-; public: void __cdecl STRAU::Reset(void) __ptr64
-?Reset@STRAU@@QEAAXXZ
-; public: void __cdecl STRU::Reset(void) __ptr64
-?Reset@STRU@@QEAAXXZ
-; public: static int __cdecl ALLOC_CACHE_HANDLER::ResetLookasideCleanupInterval(void)
-?ResetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
-; public: int __cdecl BUFFER::Resize(unsigned int) __ptr64
-?Resize@BUFFER@@QEAAHI@Z
-; public: int __cdecl BUFFER::Resize(unsigned int,unsigned int) __ptr64
-?Resize@BUFFER@@QEAAHII@Z
-; public: long __cdecl STRA::Resize(unsigned long) __ptr64
-?Resize@STRA@@QEAAJK@Z
-; public: long __cdecl STRU::Resize(unsigned long) __ptr64
-?Resize@STRU@@QEAAJK@Z
-; public: int __cdecl STRAU::ResizeW(unsigned long) __ptr64
-?ResizeW@STRAU@@QEAAHK@Z
-; public: int __cdecl STR::SafeCopy(char const * __ptr64) __ptr64
-?SafeCopy@STR@@QEAAHPEBD@Z
-; public: int __cdecl STRAU::SafeCopy(char const * __ptr64) __ptr64
-?SafeCopy@STRAU@@QEAAHPEBD@Z
-; public: int __cdecl STRAU::SafeCopy(unsigned short const * __ptr64) __ptr64
-?SafeCopy@STRAU@@QEAAHPEBG@Z
-ScheduleAdjustTime
-ScheduleWorkItem
-SchedulerInitialize
-SchedulerTerminate
-; public: unsigned short __cdecl CDFTCache::Seconds(void)const  __ptr64
-?Seconds@CDFTCache@@QEBAGXZ
-; public: void __cdecl CLKRHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
-?SetBucketLockSpinCount@CLKRHashTable@@QEAAXG@Z
-; public: void __cdecl CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
-?SetBucketLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
-; public: static void __cdecl CCritSec::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CCritSec@@SAXN@Z
-; public: static void __cdecl CFakeLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CFakeLock@@SAXN@Z
-; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SAXN@Z
-; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SAXN@Z
-; public: static void __cdecl CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SAXN@Z
-; public: static void __cdecl CRtlResource::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CRtlResource@@SAXN@Z
-; public: static void __cdecl CShareLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CShareLock@@SAXN@Z
-; public: static void __cdecl CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SAXN@Z
-; public: static void __cdecl CSpinLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CSpinLock@@SAXN@Z
-; public: static void __cdecl CCritSec::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CCritSec@@SAXG@Z
-; public: static void __cdecl CFakeLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CFakeLock@@SAXG@Z
-; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock2@@SAXG@Z
-; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock3@@SAXG@Z
-; public: static void __cdecl CReaderWriterLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock@@SAXG@Z
-; public: static void __cdecl CRtlResource::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CRtlResource@@SAXG@Z
-; public: static void __cdecl CShareLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CShareLock@@SAXG@Z
-; public: static void __cdecl CSmallSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSmallSpinLock@@SAXG@Z
-; public: static void __cdecl CSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSpinLock@@SAXG@Z
-; public: int __cdecl STR::SetLen(unsigned long) __ptr64
-?SetLen@STR@@QEAAHK@Z
-; public: int __cdecl STRA::SetLen(unsigned long) __ptr64
-?SetLen@STRA@@QEAAHK@Z
-; public: int __cdecl STRAU::SetLen(unsigned long) __ptr64
-?SetLen@STRAU@@QEAAHK@Z
-; public: int __cdecl STRU::SetLen(unsigned long) __ptr64
-?SetLen@STRU@@QEAAHK@Z
-; public: void __cdecl ASCLOG_DATETIME_CACHE::SetLocalTime(struct _SYSTEMTIME * __ptr64) __ptr64
-?SetLocalTime@ASCLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
-; public: static int __cdecl ALLOC_CACHE_HANDLER::SetLookasideCleanupInterval(void)
-?SetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
-; public: bool __cdecl CCritSec::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CCritSec@@QEAA_NG@Z
-; public: static unsigned long __cdecl CCritSec::SetSpinCount(struct _RTL_CRITICAL_SECTION * __ptr64,unsigned long)
-?SetSpinCount@CCritSec@@SAKPEAU_RTL_CRITICAL_SECTION@@K@Z
-; public: bool __cdecl CFakeLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CFakeLock@@QEAA_NG@Z
-; public: bool __cdecl CReaderWriterLock2::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CReaderWriterLock2@@QEAA_NG@Z
-; public: bool __cdecl CReaderWriterLock3::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CReaderWriterLock3@@QEAA_NG@Z
-; public: bool __cdecl CReaderWriterLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CReaderWriterLock@@QEAA_NG@Z
-; public: bool __cdecl CRtlResource::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CRtlResource@@QEAA_NG@Z
-; public: bool __cdecl CShareLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CShareLock@@QEAA_NG@Z
-; public: bool __cdecl CSmallSpinLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CSmallSpinLock@@QEAA_NG@Z
-; public: bool __cdecl CSpinLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CSpinLock@@QEAA_NG@Z
-; public: void __cdecl EXTLOG_DATETIME_CACHE::SetSystemTime(struct _SYSTEMTIME * __ptr64) __ptr64
-?SetSystemTime@EXTLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
-; public: void __cdecl CLKRHashTable::SetTableLockSpinCount(unsigned short) __ptr64
-?SetTableLockSpinCount@CLKRHashTable@@QEAAXG@Z
-; public: void __cdecl CLKRLinearHashTable::SetTableLockSpinCount(unsigned short) __ptr64
-?SetTableLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
-; public: int __cdecl CDateTime::SetTime(struct _FILETIME const & __ptr64) __ptr64
-?SetTime@CDateTime@@QEAAHAEBU_FILETIME@@@Z
-; public: int __cdecl CDateTime::SetTime(struct _SYSTEMTIME const & __ptr64) __ptr64
-?SetTime@CDateTime@@QEAAHAEBU_SYSTEMTIME@@@Z
-; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
-?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
-; public: void __cdecl BUFFER::SetValid(int) __ptr64
-?SetValid@BUFFER@@QEAAXH@Z
-; public: unsigned long __cdecl CLKRHashTable::Size(void)const  __ptr64
-?Size@CLKRHashTable@@QEBAKXZ
-; public: unsigned long __cdecl CLKRLinearHashTable::Size(void)const  __ptr64
-?Size@CLKRLinearHashTable@@QEBAKXZ
-; private: unsigned char __cdecl CSharelock::SleepWaitingForLock(int) __ptr64
-?SleepWaitingForLock@CSharelock@@AEAAEH@Z
-StringTimeToFileTime
-; public: int __cdecl EVENT_LOG::Success(void)const  __ptr64
-?Success@EVENT_LOG@@QEBAHXZ
-; public: void __cdecl STRA::SyncWithBuffer(void) __ptr64
-?SyncWithBuffer@STRA@@QEAAXXZ
-; public: void __cdecl STRU::SyncWithBuffer(void) __ptr64
-?SyncWithBuffer@STRU@@QEAAXXZ
-SystemTimeToGMT
-SystemTimeToGMTEx
-; public: int __cdecl CEtwTracer::TracePerUrlEnabled(void) __ptr64
-?TracePerUrlEnabled@CEtwTracer@@QEAAHXZ
-; public: bool __cdecl CReaderWriterLock3::TryConvertSharedToExclusive(void) __ptr64
-?TryConvertSharedToExclusive@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CCritSec::TryReadLock(void) __ptr64
-?TryReadLock@CCritSec@@QEAA_NXZ
-; public: bool __cdecl CFakeLock::TryReadLock(void) __ptr64
-?TryReadLock@CFakeLock@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock2::TryReadLock(void) __ptr64
-?TryReadLock@CReaderWriterLock2@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock3::TryReadLock(void) __ptr64
-?TryReadLock@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock::TryReadLock(void) __ptr64
-?TryReadLock@CReaderWriterLock@@QEAA_NXZ
-; public: bool __cdecl CRtlResource::TryReadLock(void) __ptr64
-?TryReadLock@CRtlResource@@QEAA_NXZ
-; public: bool __cdecl CShareLock::TryReadLock(void) __ptr64
-?TryReadLock@CShareLock@@QEAA_NXZ
-; public: bool __cdecl CSmallSpinLock::TryReadLock(void) __ptr64
-?TryReadLock@CSmallSpinLock@@QEAA_NXZ
-; public: bool __cdecl CSpinLock::TryReadLock(void) __ptr64
-?TryReadLock@CSpinLock@@QEAA_NXZ
-; public: bool __cdecl CCritSec::TryWriteLock(void) __ptr64
-?TryWriteLock@CCritSec@@QEAA_NXZ
-; public: bool __cdecl CFakeLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CFakeLock@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock2::TryWriteLock(void) __ptr64
-?TryWriteLock@CReaderWriterLock2@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock3::TryWriteLock(void) __ptr64
-?TryWriteLock@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CReaderWriterLock@@QEAA_NXZ
-; public: bool __cdecl CRtlResource::TryWriteLock(void) __ptr64
-?TryWriteLock@CRtlResource@@QEAA_NXZ
-; public: bool __cdecl CShareLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CShareLock@@QEAA_NXZ
-; public: bool __cdecl CSmallSpinLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CSmallSpinLock@@QEAA_NXZ
-; public: bool __cdecl CSpinLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CSpinLock@@QEAA_NXZ
-; long __cdecl UlCleanAndCopyUrl(unsigned char * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64)
-?UlCleanAndCopyUrl@@YAJPEAEKPEAKPEAGPEAPEAG@Z
-; public: unsigned long __cdecl CEtwTracer::UnRegister(void) __ptr64
-?UnRegister@CEtwTracer@@QEAAKXZ
-; public: int __cdecl STR::Unescape(void) __ptr64
-?Unescape@STR@@QEAAHXZ
-; public: long __cdecl STRA::Unescape(void) __ptr64
-?Unescape@STRA@@QEAAJXZ
-; public: long __cdecl STRU::Unescape(void) __ptr64
-?Unescape@STRU@@QEAAJXZ
-; public: void __cdecl STR::Unhash(void) __ptr64
-?Unhash@STR@@QEAAXXZ
-; private: void __cdecl ALLOC_CACHE_HANDLER::Unlock(void) __ptr64
-?Unlock@ALLOC_CACHE_HANDLER@@AEAAXXZ
-; public: void __cdecl CLockedDoubleList::Unlock(void) __ptr64
-?Unlock@CLockedDoubleList@@QEAAXXZ
-; public: void __cdecl CLockedSingleList::Unlock(void) __ptr64
-?Unlock@CLockedSingleList@@QEAAXXZ
-; private: void __cdecl HASH_TABLE_BUCKET::Unlock(void) __ptr64
-?Unlock@HASH_TABLE_BUCKET@@AEAAXXZ
-; public: void __cdecl TS_RESOURCE::Unlock(void) __ptr64
-?Unlock@TS_RESOURCE@@QEAAXXZ
-; public: unsigned char __cdecl CSharelock::UpdateMaxSpins(int) __ptr64
-?UpdateMaxSpins@CSharelock@@QEAAEH@Z
-; public: unsigned char __cdecl CSharelock::UpdateMaxUsers(int) __ptr64
-?UpdateMaxUsers@CSharelock@@QEAAEH@Z
-; public: bool __cdecl CLKRHashTable::ValidSignature(void)const  __ptr64
-?ValidSignature@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::ValidSignature(void)const  __ptr64
-?ValidSignature@CLKRLinearHashTable@@QEBA_NXZ
-; private: void __cdecl BUFFER::VerifyState(void)const  __ptr64
-?VerifyState@BUFFER@@AEBAXXZ
-; private: unsigned char __cdecl CSharelock::WaitForExclusiveLock(int) __ptr64
-?WaitForExclusiveLock@CSharelock@@AEAAEH@Z
-; private: unsigned char __cdecl CSharelock::WaitForShareLock(int) __ptr64
-?WaitForShareLock@CSharelock@@AEAAEH@Z
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::WaitType(void)
-?WaitType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; private: void __cdecl CSharelock::WakeAllSleepers(void) __ptr64
-?WakeAllSleepers@CSharelock@@AEAAXXZ
-; public: bool __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::Write(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
-?Write@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA_NAEBUDATETIME_FORMAT_ENTRY@@@Z
-; public: bool __cdecl CDataCache<class CDateTime>::Write(class CDateTime const & __ptr64) __ptr64
-?Write@?$CDataCache@VCDateTime@@@@QEAA_NAEBVCDateTime@@@Z
-; public: void __cdecl CCritSec::WriteLock(void) __ptr64
-?WriteLock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::WriteLock(void) __ptr64
-?WriteLock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::WriteLock(void) __ptr64
-?WriteLock@CLKRHashTable@@QEAAXXZ
-; public: void __cdecl CLKRLinearHashTable::WriteLock(void) __ptr64
-?WriteLock@CLKRLinearHashTable@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock2::WriteLock(void) __ptr64
-?WriteLock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::WriteLock(void) __ptr64
-?WriteLock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::WriteLock(void) __ptr64
-?WriteLock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::WriteLock(void) __ptr64
-?WriteLock@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::WriteLock(void) __ptr64
-?WriteLock@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::WriteLock(void) __ptr64
-?WriteLock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::WriteLock(void) __ptr64
-?WriteLock@CSpinLock@@QEAAXXZ
-; public: void __cdecl CCritSec::WriteUnlock(void) __ptr64
-?WriteUnlock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::WriteUnlock(void)const  __ptr64
-?WriteUnlock@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::WriteUnlock(void)const  __ptr64
-?WriteUnlock@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::WriteUnlock(void) __ptr64
-?WriteUnlock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::WriteUnlock(void) __ptr64
-?WriteUnlock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::WriteUnlock(void) __ptr64
-?WriteUnlock@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CSpinLock@@QEAAXXZ
-ZapRegistryKey
-; protected: void __cdecl CLKRLinearHashTable_Iterator::_AddRef(int)const  __ptr64
-?_AddRef@CLKRLinearHashTable_Iterator@@IEBAXH@Z
-; private: void __cdecl CLKRLinearHashTable::_AddRefRecord(void const * __ptr64,int)const  __ptr64
-?_AddRefRecord@CLKRLinearHashTable@@AEBAXPEBXH@Z
-; private: static class CNodeClump * __ptr64 __cdecl CLKRLinearHashTable::_AllocateNodeClump(void)
-?_AllocateNodeClump@CLKRLinearHashTable@@CAQEAVCNodeClump@@XZ
-; private: class CSegment * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegment(void)const  __ptr64
-?_AllocateSegment@CLKRLinearHashTable@@AEBAQEAVCSegment@@XZ
-; private: static class CDirEntry * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned __int64)
-?_AllocateSegmentDirectory@CLKRLinearHashTable@@CAQEAVCDirEntry@@_K@Z
-; private: static class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_AllocateSubTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool)
-?_AllocateSubTable@CLKRHashTable@@CAQEAVCLKRLinearHashTable@@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAV1@_N@Z
-; private: static class CLKRLinearHashTable * __ptr64 * __ptr64 __cdecl CLKRHashTable::_AllocateSubTableArray(unsigned __int64)
-?_AllocateSubTableArray@CLKRHashTable@@CAQEAPEAVCLKRLinearHashTable@@_K@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
-?_Apply@CLKRLinearHashTable@@AEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@AEAW4LK_PREDICATE@@@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
-?_ApplyIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AEAW42@@Z
-; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_Bucket(unsigned long)const  __ptr64
-?_Bucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_BucketAddress(unsigned long)const  __ptr64
-?_BucketAddress@CLKRLinearHashTable@@AEBAKK@Z
-; private: unsigned long __cdecl CLKRHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
-?_CalcKeyHash@CLKRHashTable@@AEBAK_K@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
-?_CalcKeyHash@CLKRLinearHashTable@@AEBAK_K@Z
-; private: void __cdecl CLKRLinearHashTable::_Clear(bool) __ptr64
-?_Clear@CLKRLinearHashTable@@AEAAX_N@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?_CloseIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; private: bool __cdecl CReaderWriterLock2::_CmpExch(long,long) __ptr64
-?_CmpExch@CReaderWriterLock2@@AEAA_NJJ@Z
-; private: bool __cdecl CReaderWriterLock3::_CmpExch(long,long) __ptr64
-?_CmpExch@CReaderWriterLock3@@AEAA_NJJ@Z
-; private: bool __cdecl CReaderWriterLock::_CmpExch(long,long) __ptr64
-?_CmpExch@CReaderWriterLock@@AEAA_NJJ@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Contract(void) __ptr64
-?_Contract@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
-; private: static long __cdecl CReaderWriterLock3::_CurrentThreadId(void)
-?_CurrentThreadId@CReaderWriterLock3@@CAJXZ
-; private: static long __cdecl CSmallSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSmallSpinLock@@CAJXZ
-; private: static long __cdecl CSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSpinLock@@CAJXZ
-; private: unsigned long __cdecl CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_PREDICATE & __ptr64) __ptr64
-?_DeleteIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1AEAW42@@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteKey(unsigned __int64,unsigned long) __ptr64
-?_DeleteKey@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@_KK@Z
-; private: bool __cdecl CLKRLinearHashTable::_DeleteNode(class CBucket * __ptr64,class CNodeClump * __ptr64 & __ptr64,class CNodeClump * __ptr64 & __ptr64,int & __ptr64) __ptr64
-?_DeleteNode@CLKRLinearHashTable@@AEAA_NPEAVCBucket@@AEAPEAVCNodeClump@@1AEAH@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteRecord(void const * __ptr64,unsigned long) __ptr64
-?_DeleteRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK@Z
-; private: bool __cdecl CLKRLinearHashTable::_EqualKeys(unsigned __int64,unsigned __int64)const  __ptr64
-?_EqualKeys@CLKRLinearHashTable@@AEBA_N_K0@Z
-; private: bool __cdecl CLKRLinearHashTable::_Erase(class CLKRLinearHashTable_Iterator & __ptr64,unsigned long) __ptr64
-?_Erase@CLKRLinearHashTable@@AEAA_NAEAVCLKRLinearHashTable_Iterator@@K@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Expand(void) __ptr64
-?_Expand@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
-; private: unsigned __int64 const  __cdecl CLKRHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
-?_ExtractKey@CLKRHashTable@@AEBA?B_KPEBX@Z
-; private: unsigned __int64 const  __cdecl CLKRLinearHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
-?_ExtractKey@CLKRLinearHashTable@@AEBA?B_KPEBX@Z
-; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_FindBucket(unsigned long,bool)const  __ptr64
-?_FindBucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K_N@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindKey(unsigned __int64,unsigned long,void const * __ptr64 * __ptr64,class CLKRLinearHashTable_Iterator * __ptr64)const  __ptr64
-?_FindKey@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@_KKPEAPEBXPEAVCLKRLinearHashTable_Iterator@@@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindRecord(void const * __ptr64,unsigned long)const  __ptr64
-?_FindRecord@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@PEBXK@Z
-; private: static bool __cdecl CLKRLinearHashTable::_FreeNodeClump(class CNodeClump * __ptr64)
-?_FreeNodeClump@CLKRLinearHashTable@@CA_NPEAVCNodeClump@@@Z
-; private: bool __cdecl CLKRLinearHashTable::_FreeSegment(class CSegment * __ptr64)const  __ptr64
-?_FreeSegment@CLKRLinearHashTable@@AEBA_NPEAVCSegment@@@Z
-; private: bool __cdecl CLKRLinearHashTable::_FreeSegmentDirectory(void) __ptr64
-?_FreeSegmentDirectory@CLKRLinearHashTable@@AEAA_NXZ
-; private: static bool __cdecl CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable * __ptr64)
-?_FreeSubTable@CLKRHashTable@@CA_NPEAVCLKRLinearHashTable@@@Z
-; private: static bool __cdecl CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * __ptr64 * __ptr64)
-?_FreeSubTableArray@CLKRHashTable@@CA_NPEAPEAVCLKRLinearHashTable@@@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long)const  __ptr64
-?_H0@CLKRLinearHashTable@@AEBAKK@Z
-; private: static unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long,unsigned long)
-?_H0@CLKRLinearHashTable@@CAKKK@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long)const  __ptr64
-?_H1@CLKRLinearHashTable@@AEBAKK@Z
-; private: static unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long,unsigned long)
-?_H1@CLKRLinearHashTable@@CAKKK@Z
-; protected: bool __cdecl CLKRHashTable_Iterator::_Increment(bool) __ptr64
-?_Increment@CLKRHashTable_Iterator@@IEAA_N_N@Z
-; protected: bool __cdecl CLKRLinearHashTable_Iterator::_Increment(bool) __ptr64
-?_Increment@CLKRLinearHashTable_Iterator@@IEAA_N_N@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Initialize(unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),char const * __ptr64,double,unsigned long) __ptr64
-?_Initialize@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@P6A?B_KPEBX@ZP6AK_K@ZP6A_N22@ZP6AX0H@ZPEBDNK@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?_InitializeIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InsertRecord(void const * __ptr64,unsigned long,bool,class CLKRLinearHashTable_Iterator * __ptr64) __ptr64
-?_InsertRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK_NPEAVCLKRLinearHashTable_Iterator@@@Z
-; private: void __cdecl CLKRHashTable::_InsertThisIntoGlobalList(void) __ptr64
-?_InsertThisIntoGlobalList@CLKRHashTable@@AEAAXXZ
-; private: void __cdecl CLKRLinearHashTable::_InsertThisIntoGlobalList(void) __ptr64
-?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AEAAXXZ
-; private: bool __cdecl CSpinLock::_IsLocked(void)const  __ptr64
-?_IsLocked@CSpinLock@@AEBA_NXZ
-; private: int __cdecl CLKRLinearHashTable::_IsNodeCompact(class CBucket * __ptr64 const)const  __ptr64
-?_IsNodeCompact@CLKRLinearHashTable@@AEBAHQEAVCBucket@@@Z
-; private: bool __cdecl CLKRHashTable::_IsValidIterator(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
-?_IsValidIterator@CLKRHashTable@@AEBA_NAEBVCLKRHashTable_Iterator@@@Z
-; private: bool __cdecl CLKRLinearHashTable::_IsValidIterator(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
-?_IsValidIterator@CLKRLinearHashTable@@AEBA_NAEBVCLKRLinearHashTable_Iterator@@@Z
-; private: void __cdecl CSpinLock::_Lock(void) __ptr64
-?_Lock@CSpinLock@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock2::_LockSpin(bool) __ptr64
-?_LockSpin@CReaderWriterLock2@@AEAAX_N@Z
-; private: void __cdecl CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
-?_LockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
-; private: void __cdecl CReaderWriterLock::_LockSpin(bool) __ptr64
-?_LockSpin@CReaderWriterLock@@AEAAX_N@Z
-; private: void __cdecl CSmallSpinLock::_LockSpin(void) __ptr64
-?_LockSpin@CSmallSpinLock@@AEAAXXZ
-; private: void __cdecl CSpinLock::_LockSpin(void) __ptr64
-?_LockSpin@CSpinLock@@AEAAXXZ
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_MergeRecordSets(class CBucket * __ptr64,class CNodeClump * __ptr64,class CNodeClump * __ptr64) __ptr64
-?_MergeRecordSets@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCBucket@@PEAVCNodeClump@@1@Z
-; private: static enum LK_PREDICATE  __cdecl CLKRLinearHashTable::_PredTrue(void const * __ptr64,void * __ptr64)
-?_PredTrue@CLKRLinearHashTable@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
-; private: void __cdecl CReaderWriterLock2::_ReadLockSpin(void) __ptr64
-?_ReadLockSpin@CReaderWriterLock2@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
-?_ReadLockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
-; private: void __cdecl CReaderWriterLock::_ReadLockSpin(void) __ptr64
-?_ReadLockSpin@CReaderWriterLock@@AEAAXXZ
-; protected: static void __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadMemoryBarrier(void)
-?_ReadMemoryBarrier@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@KAXXZ
-; protected: static void __cdecl CDataCache<class CDateTime>::_ReadMemoryBarrier(void)
-?_ReadMemoryBarrier@?$CDataCache@VCDateTime@@@@KAXXZ
-; private: bool __cdecl CLKRLinearHashTable::_ReadOrWriteLock(void)const  __ptr64
-?_ReadOrWriteLock@CLKRLinearHashTable@@AEBA_NXZ
-; private: void __cdecl CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const  __ptr64
-?_ReadOrWriteUnlock@CLKRLinearHashTable@@AEBAX_N@Z
-; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadSequence(void)const  __ptr64
-?_ReadSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEBAJXZ
-; protected: long __cdecl CDataCache<class CDateTime>::_ReadSequence(void)const  __ptr64
-?_ReadSequence@?$CDataCache@VCDateTime@@@@IEBAJXZ
-; private: void __cdecl CLKRHashTable::_RemoveThisFromGlobalList(void) __ptr64
-?_RemoveThisFromGlobalList@CLKRHashTable@@AEAAXXZ
-; private: void __cdecl CLKRLinearHashTable::_RemoveThisFromGlobalList(void) __ptr64
-?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AEAAXXZ
-; private: unsigned long __cdecl CLKRLinearHashTable::_SegIndex(unsigned long)const  __ptr64
-?_SegIndex@CLKRLinearHashTable@@AEBAKK@Z
-; private: class CSegment * __ptr64 & __ptr64 __cdecl CLKRLinearHashTable::_Segment(unsigned long)const  __ptr64
-?_Segment@CLKRLinearHashTable@@AEBAAEAPEAVCSegment@@K@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE,unsigned long) __ptr64
-?_SetSegVars@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@W4LK_TABLESIZE@@K@Z
-; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_SetSequence(long) __ptr64
-?_SetSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEAAJJ@Z
-; protected: long __cdecl CDataCache<class CDateTime>::_SetSequence(long) __ptr64
-?_SetSequence@?$CDataCache@VCDateTime@@@@IEAAJJ@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SplitRecordSet(class CNodeClump * __ptr64,class CNodeClump * __ptr64,unsigned long,unsigned long,unsigned long,class CNodeClump * __ptr64) __ptr64
-?_SplitRecordSet@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCNodeClump@@0KKK0@Z
-; private: class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_SubTable(unsigned long)const  __ptr64
-?_SubTable@CLKRHashTable@@AEBAPEAVCLKRLinearHashTable@@K@Z
-; private: int __cdecl CLKRHashTable::_SubTableIndex(class CLKRLinearHashTable * __ptr64)const  __ptr64
-?_SubTableIndex@CLKRHashTable@@AEBAHPEAVCLKRLinearHashTable@@@Z
-; private: bool __cdecl CSmallSpinLock::_TryLock(void) __ptr64
-?_TryLock@CSmallSpinLock@@AEAA_NXZ
-; private: bool __cdecl CSpinLock::_TryLock(void) __ptr64
-?_TryLock@CSpinLock@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock2::_TryReadLock(void) __ptr64
-?_TryReadLock@CReaderWriterLock2@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock3::_TryReadLock(void) __ptr64
-?_TryReadLock@CReaderWriterLock3@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock::_TryReadLock(void) __ptr64
-?_TryReadLock@CReaderWriterLock@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock3::_TryReadLockRecursive(void) __ptr64
-?_TryReadLockRecursive@CReaderWriterLock3@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock3::_TryWriteLock2(void) __ptr64
-?_TryWriteLock2@CReaderWriterLock3@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock2::_TryWriteLock(long) __ptr64
-?_TryWriteLock@CReaderWriterLock2@@AEAA_NJ@Z
-; private: bool __cdecl CReaderWriterLock3::_TryWriteLock(long) __ptr64
-?_TryWriteLock@CReaderWriterLock3@@AEAA_NJ@Z
-; private: bool __cdecl CReaderWriterLock::_TryWriteLock(void) __ptr64
-?_TryWriteLock@CReaderWriterLock@@AEAA_NXZ
-; private: void __cdecl CSpinLock::_Unlock(void) __ptr64
-?_Unlock@CSpinLock@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock2::_WriteLockSpin(void) __ptr64
-?_WriteLockSpin@CReaderWriterLock2@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock3::_WriteLockSpin(void) __ptr64
-?_WriteLockSpin@CReaderWriterLock3@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock::_WriteLockSpin(void) __ptr64
-?_WriteLockSpin@CReaderWriterLock@@AEAAXXZ
-; long const * const  `public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
-?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SAPEBJXZ@4QBJB
-; private: static struct _RTL_CRITICAL_SECTION  ALLOC_CACHE_HANDLER::sm_csItems
-?sm_csItems@ALLOC_CACHE_HANDLER@@0U_RTL_CRITICAL_SECTION@@A DATA
-; protected: static double  CCritSec::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CCritSec@@1NA DATA
-; protected: static double  CFakeLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CFakeLock@@1NA DATA
-; protected: static double  CReaderWriterLock2::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CReaderWriterLock2@@1NA DATA
-; protected: static double  CReaderWriterLock3::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CReaderWriterLock3@@1NA DATA
-; protected: static double  CReaderWriterLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CReaderWriterLock@@1NA DATA
-; protected: static double  CRtlResource::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CRtlResource@@1NA DATA
-; protected: static double  CShareLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CShareLock@@1NA DATA
-; protected: static double  CSmallSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
-; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA DATA
-; private: static int  ALLOC_CACHE_HANDLER::sm_fInitCsItems
-?sm_fInitCsItems@ALLOC_CACHE_HANDLER@@0HA DATA
-; private: static void * __ptr64  __ptr64 ALLOC_CACHE_HANDLER::sm_hTimer
-?sm_hTimer@ALLOC_CACHE_HANDLER@@0PEAXEA DATA
-; private: static struct _LIST_ENTRY  ALLOC_CACHE_HANDLER::sm_lItemsHead
-?sm_lItemsHead@ALLOC_CACHE_HANDLER@@0U_LIST_ENTRY@@A DATA
-; private: static class CLockedDoubleList  CLKRHashTable::sm_llGlobalList
-?sm_llGlobalList@CLKRHashTable@@0VCLockedDoubleList@@A DATA
-; private: static class CLockedDoubleList  CLKRLinearHashTable::sm_llGlobalList
-?sm_llGlobalList@CLKRLinearHashTable@@0VCLockedDoubleList@@A DATA
-; private: static long  ALLOC_CACHE_HANDLER::sm_nFillPattern
-?sm_nFillPattern@ALLOC_CACHE_HANDLER@@0JA DATA
-; protected: static class ALLOC_CACHE_HANDLER * __ptr64  __ptr64 CLKRLinearHashTable::sm_palloc
-?sm_palloc@CLKRLinearHashTable@@1PEAVALLOC_CACHE_HANDLER@@EA DATA
-; protected: static unsigned short  CCritSec::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CCritSec@@1GA DATA
-; protected: static unsigned short  CFakeLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CFakeLock@@1GA DATA
-; protected: static unsigned short  CReaderWriterLock2::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CReaderWriterLock2@@1GA DATA
-; protected: static unsigned short  CReaderWriterLock3::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CReaderWriterLock3@@1GA DATA
-; protected: static unsigned short  CReaderWriterLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CReaderWriterLock@@1GA DATA
-; protected: static unsigned short  CRtlResource::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CRtlResource@@1GA DATA
-; protected: static unsigned short  CShareLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CShareLock@@1GA DATA
-; protected: static unsigned short  CSmallSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
-; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
-CreateRefTraceLog
-CreateTraceLog
-DestroyRefTraceLog
-DestroyTraceLog
-DllMain
-GetAllocCounters
-GetCurrentTimeInMilliseconds
-GetCurrentTimeInSeconds
-GetQueryType
-IISCaptureStackBackTrace
-IISGetCurrentTime
-IISGetPlatformType
-IISInitializeCriticalSection
-IISSetCriticalSectionSpinCount
-IisCalloc
-IisFree
-IisHeap
-IisMalloc
-IisReAlloc
-InetAcquireResourceExclusive
-InetAcquireResourceShared
-InetConvertExclusiveToShared
-InetConvertSharedToExclusive
-InetDeleteResource
-InetInitializeResource
-InetReleaseResource
-InitializeIISRTL
-InitializeSecondsTimer
-IsNumberInUnicodeList
-LKRHashTableInit
-LKRHashTableUninit
-MIDL_user_allocate
-MIDL_user_free
-MonBuildInstanceDefinition
-PuCloseDbgPrintFile
-PuCreateDebugPrintsObject
-PuDbgAssertFailed
-PuDbgCaptureContext
-PuDbgCreateEvent
-PuDbgCreateMutex
-PuDbgCreateSemaphore
-PuDbgDump
-PuDbgPrint
-PuDbgPrintW
-PuDeleteDebugPrintsObject
-PuLoadDebugFlagsFromReg
-PuLoadDebugFlagsFromRegStr
-ResetTraceLog
-RpcBindHandleForServer
-RpcBindHandleFree
-RpcBindHandleOverLpc
-RpcBindHandleOverNamedPipe
-RpcBindHandleOverTcpIp
-RpcuFindProtocolToUse
-TerminateIISRTL
-TerminateSecondsTimer
-WriteRefTraceLog
-WriteRefTraceLogEx
-WriteTraceLog
-stristr
+; 
+; Exports of file IisRTL.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IisRTL.DLL
+EXPORTS
+; public: __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::CDataCache<struct DATETIME_FORMAT_ENTRY>(void) __ptr64
+??0?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA@XZ
+; public: __cdecl CDataCache<class CDateTime>::CDataCache<class CDateTime>(void) __ptr64
+??0?$CDataCache@VCDateTime@@@@QEAA@XZ
+; public: __cdecl ALLOC_CACHE_HANDLER::ALLOC_CACHE_HANDLER(char const * __ptr64,struct _ALLOC_CACHE_CONFIGURATION const * __ptr64,int) __ptr64
+??0ALLOC_CACHE_HANDLER@@QEAA@PEBDPEBU_ALLOC_CACHE_CONFIGURATION@@H@Z
+; public: __cdecl ASCLOG_DATETIME_CACHE::ASCLOG_DATETIME_CACHE(void) __ptr64
+??0ASCLOG_DATETIME_CACHE@@QEAA@XZ
+; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
+??0BUFFER@@QEAA@I@Z
+; public: __cdecl BUFFER::BUFFER(unsigned char * __ptr64,unsigned int) __ptr64
+??0BUFFER@@QEAA@PEAEI@Z
+; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
+??0BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
+??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
+; public: __cdecl CACHED_DATETIME_FORMATS::CACHED_DATETIME_FORMATS(void) __ptr64
+??0CACHED_DATETIME_FORMATS@@QEAA@XZ
+; public: __cdecl CCritSec::CCritSec(void) __ptr64
+??0CCritSec@@QEAA@XZ
+; public: __cdecl CDFTCache::CDFTCache(void) __ptr64
+??0CDFTCache@@QEAA@XZ
+; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64) __ptr64
+??0CDateTime@@QEAA@AEBU_FILETIME@@@Z
+; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64,struct _SYSTEMTIME const & __ptr64) __ptr64
+??0CDateTime@@QEAA@AEBU_FILETIME@@AEBU_SYSTEMTIME@@@Z
+; public: __cdecl CDateTime::CDateTime(struct _SYSTEMTIME const & __ptr64) __ptr64
+??0CDateTime@@QEAA@AEBU_SYSTEMTIME@@@Z
+; public: __cdecl CDateTime::CDateTime(void) __ptr64
+??0CDateTime@@QEAA@XZ
+; public: __cdecl CDoubleList::CDoubleList(void) __ptr64
+??0CDoubleList@@QEAA@XZ
+; public: __cdecl CEtwTracer::CEtwTracer(void) __ptr64
+??0CEtwTracer@@QEAA@XZ
+; public: __cdecl CFakeLock::CFakeLock(void) __ptr64
+??0CFakeLock@@QEAA@XZ
+; public: __cdecl CLKRHashTable::CLKRHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
+??0CLKRHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
+; public: __cdecl CLKRHashTableStats::CLKRHashTableStats(void) __ptr64
+??0CLKRHashTableStats@@QEAA@XZ
+; protected: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable * __ptr64,short) __ptr64
+??0CLKRHashTable_Iterator@@IEAA@PEAVCLKRHashTable@@F@Z
+; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable_Iterator const & __ptr64) __ptr64
+??0CLKRHashTable_Iterator@@QEAA@AEBV0@@Z
+; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(void) __ptr64
+??0CLKRHashTable_Iterator@@QEAA@XZ
+; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool) __ptr64
+??0CLKRLinearHashTable@@AEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAVCLKRHashTable@@_N@Z
+; public: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
+??0CLKRLinearHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
+; protected: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable * __ptr64,class CNodeClump * __ptr64,unsigned long,short) __ptr64
+??0CLKRLinearHashTable_Iterator@@IEAA@PEAVCLKRLinearHashTable@@PEAVCNodeClump@@KF@Z
+; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
+??0CLKRLinearHashTable_Iterator@@QEAA@AEBV0@@Z
+; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(void) __ptr64
+??0CLKRLinearHashTable_Iterator@@QEAA@XZ
+; public: __cdecl CLockedDoubleList::CLockedDoubleList(void) __ptr64
+??0CLockedDoubleList@@QEAA@XZ
+; public: __cdecl CLockedSingleList::CLockedSingleList(void) __ptr64
+??0CLockedSingleList@@QEAA@XZ
+; public: __cdecl CReaderWriterLock2::CReaderWriterLock2(void) __ptr64
+??0CReaderWriterLock2@@QEAA@XZ
+; public: __cdecl CReaderWriterLock3::CReaderWriterLock3(void) __ptr64
+??0CReaderWriterLock3@@QEAA@XZ
+; public: __cdecl CReaderWriterLock::CReaderWriterLock(void) __ptr64
+??0CReaderWriterLock@@QEAA@XZ
+; public: __cdecl CRtlResource::CRtlResource(void) __ptr64
+??0CRtlResource@@QEAA@XZ
+; public: __cdecl CShareLock::CShareLock(void) __ptr64
+??0CShareLock@@QEAA@XZ
+; public: __cdecl CSharelock::CSharelock(int,int) __ptr64
+??0CSharelock@@QEAA@HH@Z
+; public: __cdecl CSingleList::CSingleList(void) __ptr64
+??0CSingleList@@QEAA@XZ
+; public: __cdecl CSmallSpinLock::CSmallSpinLock(void) __ptr64
+??0CSmallSpinLock@@QEAA@XZ
+; public: __cdecl CSpinLock::CSpinLock(void) __ptr64
+??0CSpinLock@@QEAA@XZ
+; public: __cdecl EVENT_LOG::EVENT_LOG(char const * __ptr64) __ptr64
+??0EVENT_LOG@@QEAA@PEBD@Z
+; public: __cdecl EXTLOG_DATETIME_CACHE::EXTLOG_DATETIME_CACHE(void) __ptr64
+??0EXTLOG_DATETIME_CACHE@@QEAA@XZ
+; public: __cdecl HASH_TABLE::HASH_TABLE(class HASH_TABLE const & __ptr64) __ptr64
+??0HASH_TABLE@@QEAA@AEBV0@@Z
+; public: __cdecl HASH_TABLE::HASH_TABLE(unsigned long,char const * __ptr64,unsigned long) __ptr64
+??0HASH_TABLE@@QEAA@KPEBDK@Z
+; public: __cdecl HASH_TABLE_BUCKET::HASH_TABLE_BUCKET(void) __ptr64
+??0HASH_TABLE_BUCKET@@QEAA@XZ
+; public: __cdecl HTB_ELEMENT::HTB_ELEMENT(void) __ptr64
+??0HTB_ELEMENT@@QEAA@XZ
+; public: __cdecl HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const & __ptr64) __ptr64
+??0HT_ELEMENT@@QEAA@AEBV0@@Z
+; public: __cdecl HT_ELEMENT::HT_ELEMENT(void) __ptr64
+??0HT_ELEMENT@@QEAA@XZ
+; public: __cdecl MLSZAU::MLSZAU(class MLSZAU & __ptr64) __ptr64
+??0MLSZAU@@QEAA@AEAV0@@Z
+; public: __cdecl MLSZAU::MLSZAU(char * __ptr64 const,int,unsigned long) __ptr64
+??0MLSZAU@@QEAA@QEADHK@Z
+; public: __cdecl MLSZAU::MLSZAU(char * __ptr64 const,unsigned long) __ptr64
+??0MLSZAU@@QEAA@QEADK@Z
+; public: __cdecl MLSZAU::MLSZAU(unsigned short * __ptr64 const,unsigned long) __ptr64
+??0MLSZAU@@QEAA@QEAGK@Z
+; public: __cdecl MLSZAU::MLSZAU(void) __ptr64
+??0MLSZAU@@QEAA@XZ
+; public: __cdecl MULTISZ::MULTISZ(class MULTISZ const & __ptr64) __ptr64
+??0MULTISZ@@QEAA@AEBV0@@Z
+; public: __cdecl MULTISZ::MULTISZ(char * __ptr64,unsigned long) __ptr64
+??0MULTISZ@@QEAA@PEADK@Z
+; public: __cdecl MULTISZ::MULTISZ(char const * __ptr64) __ptr64
+??0MULTISZ@@QEAA@PEBD@Z
+; public: __cdecl MULTISZ::MULTISZ(void) __ptr64
+??0MULTISZ@@QEAA@XZ
+; public: __cdecl STR::STR(class STR const & __ptr64) __ptr64
+??0STR@@QEAA@AEBV0@@Z
+; public: __cdecl STR::STR(unsigned long) __ptr64
+??0STR@@QEAA@K@Z
+; public: __cdecl STR::STR(char * __ptr64,unsigned long,int) __ptr64
+??0STR@@QEAA@PEADKH@Z
+; public: __cdecl STR::STR(char const * __ptr64) __ptr64
+??0STR@@QEAA@PEBD@Z
+; public: __cdecl STR::STR(void) __ptr64
+??0STR@@QEAA@XZ
+; private: __cdecl STRA::STRA(class STRA const & __ptr64) __ptr64
+??0STRA@@AEAA@AEBV0@@Z
+; private: __cdecl STRA::STRA(char * __ptr64) __ptr64
+??0STRA@@AEAA@PEAD@Z
+; private: __cdecl STRA::STRA(char const * __ptr64) __ptr64
+??0STRA@@AEAA@PEBD@Z
+; public: __cdecl STRA::STRA(char * __ptr64,unsigned long) __ptr64
+??0STRA@@QEAA@PEADK@Z
+; public: __cdecl STRA::STRA(void) __ptr64
+??0STRA@@QEAA@XZ
+; public: __cdecl STRAU::STRAU(class STRAU & __ptr64) __ptr64
+??0STRAU@@QEAA@AEAV0@@Z
+; public: __cdecl STRAU::STRAU(char const * __ptr64) __ptr64
+??0STRAU@@QEAA@PEBD@Z
+; public: __cdecl STRAU::STRAU(char const * __ptr64,int) __ptr64
+??0STRAU@@QEAA@PEBDH@Z
+; public: __cdecl STRAU::STRAU(unsigned short const * __ptr64) __ptr64
+??0STRAU@@QEAA@PEBG@Z
+; public: __cdecl STRAU::STRAU(void) __ptr64
+??0STRAU@@QEAA@XZ
+; private: __cdecl STRU::STRU(class STRU const & __ptr64) __ptr64
+??0STRU@@AEAA@AEBV0@@Z
+; private: __cdecl STRU::STRU(unsigned short * __ptr64) __ptr64
+??0STRU@@AEAA@PEAG@Z
+; private: __cdecl STRU::STRU(unsigned short const * __ptr64) __ptr64
+??0STRU@@AEAA@PEBG@Z
+; public: __cdecl STRU::STRU(unsigned short * __ptr64,unsigned long) __ptr64
+??0STRU@@QEAA@PEAGK@Z
+; public: __cdecl STRU::STRU(void) __ptr64
+??0STRU@@QEAA@XZ
+; public: __cdecl TS_RESOURCE::TS_RESOURCE(void) __ptr64
+??0TS_RESOURCE@@QEAA@XZ
+; public: __cdecl W3_DATETIME_CACHE::W3_DATETIME_CACHE(void) __ptr64
+??0W3_DATETIME_CACHE@@QEAA@XZ
+; public: __cdecl ALLOC_CACHE_HANDLER::~ALLOC_CACHE_HANDLER(void) __ptr64
+??1ALLOC_CACHE_HANDLER@@QEAA@XZ
+; public: virtual __cdecl ASCLOG_DATETIME_CACHE::~ASCLOG_DATETIME_CACHE(void) __ptr64
+??1ASCLOG_DATETIME_CACHE@@UEAA@XZ
+; public: __cdecl BUFFER::~BUFFER(void) __ptr64
+??1BUFFER@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
+??1BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
+??1BUFFER_CHAIN_ITEM@@QEAA@XZ
+; public: virtual __cdecl CACHED_DATETIME_FORMATS::~CACHED_DATETIME_FORMATS(void) __ptr64
+??1CACHED_DATETIME_FORMATS@@UEAA@XZ
+; public: __cdecl CCritSec::~CCritSec(void) __ptr64
+??1CCritSec@@QEAA@XZ
+; public: __cdecl CDoubleList::~CDoubleList(void) __ptr64
+??1CDoubleList@@QEAA@XZ
+; public: __cdecl CEtwTracer::~CEtwTracer(void) __ptr64
+??1CEtwTracer@@QEAA@XZ
+; public: __cdecl CFakeLock::~CFakeLock(void) __ptr64
+??1CFakeLock@@QEAA@XZ
+; public: __cdecl CLKRHashTable::~CLKRHashTable(void) __ptr64
+??1CLKRHashTable@@QEAA@XZ
+; public: __cdecl CLKRHashTable_Iterator::~CLKRHashTable_Iterator(void) __ptr64
+??1CLKRHashTable_Iterator@@QEAA@XZ
+; public: __cdecl CLKRLinearHashTable::~CLKRLinearHashTable(void) __ptr64
+??1CLKRLinearHashTable@@QEAA@XZ
+; public: __cdecl CLKRLinearHashTable_Iterator::~CLKRLinearHashTable_Iterator(void) __ptr64
+??1CLKRLinearHashTable_Iterator@@QEAA@XZ
+; public: __cdecl CLockedDoubleList::~CLockedDoubleList(void) __ptr64
+??1CLockedDoubleList@@QEAA@XZ
+; public: __cdecl CLockedSingleList::~CLockedSingleList(void) __ptr64
+??1CLockedSingleList@@QEAA@XZ
+; public: __cdecl CRtlResource::~CRtlResource(void) __ptr64
+??1CRtlResource@@QEAA@XZ
+; public: __cdecl CShareLock::~CShareLock(void) __ptr64
+??1CShareLock@@QEAA@XZ
+; public: __cdecl CSharelock::~CSharelock(void) __ptr64
+??1CSharelock@@QEAA@XZ
+; public: __cdecl CSingleList::~CSingleList(void) __ptr64
+??1CSingleList@@QEAA@XZ
+; public: __cdecl EVENT_LOG::~EVENT_LOG(void) __ptr64
+??1EVENT_LOG@@QEAA@XZ
+; public: virtual __cdecl EXTLOG_DATETIME_CACHE::~EXTLOG_DATETIME_CACHE(void) __ptr64
+??1EXTLOG_DATETIME_CACHE@@UEAA@XZ
+; public: virtual __cdecl HASH_TABLE::~HASH_TABLE(void) __ptr64
+??1HASH_TABLE@@UEAA@XZ
+; public: __cdecl HASH_TABLE_BUCKET::~HASH_TABLE_BUCKET(void) __ptr64
+??1HASH_TABLE_BUCKET@@QEAA@XZ
+; public: __cdecl HTB_ELEMENT::~HTB_ELEMENT(void) __ptr64
+??1HTB_ELEMENT@@QEAA@XZ
+; public: virtual __cdecl HT_ELEMENT::~HT_ELEMENT(void) __ptr64
+??1HT_ELEMENT@@UEAA@XZ
+; public: __cdecl MLSZAU::~MLSZAU(void) __ptr64
+??1MLSZAU@@QEAA@XZ
+; public: __cdecl MULTISZ::~MULTISZ(void) __ptr64
+??1MULTISZ@@QEAA@XZ
+; public: __cdecl STR::~STR(void) __ptr64
+??1STR@@QEAA@XZ
+; public: __cdecl STRA::~STRA(void) __ptr64
+??1STRA@@QEAA@XZ
+; public: __cdecl STRAU::~STRAU(void) __ptr64
+??1STRAU@@QEAA@XZ
+; public: __cdecl STRU::~STRU(void) __ptr64
+??1STRU@@QEAA@XZ
+; public: __cdecl TS_RESOURCE::~TS_RESOURCE(void) __ptr64
+??1TS_RESOURCE@@QEAA@XZ
+; public: virtual __cdecl W3_DATETIME_CACHE::~W3_DATETIME_CACHE(void) __ptr64
+??1W3_DATETIME_CACHE@@UEAA@XZ
+; public: static void * __ptr64 __cdecl CLKRLinearHashTable::operator new(unsigned __int64)
+??2CLKRLinearHashTable@@SAPEAX_K@Z
+; public: static void __cdecl CLKRLinearHashTable::operator delete(void * __ptr64)
+??3CLKRLinearHashTable@@SAXPEAX@Z
+; public: class CDataCache<struct DATETIME_FORMAT_ENTRY> & __ptr64 __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::operator=(class CDataCache<struct DATETIME_FORMAT_ENTRY> const & __ptr64) __ptr64
+??4?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CDataCache<class CDateTime> & __ptr64 __cdecl CDataCache<class CDateTime>::operator=(class CDataCache<class CDateTime> const & __ptr64) __ptr64
+??4?$CDataCache@VCDateTime@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<1,1,3,1,3,2> & __ptr64 __cdecl CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$00$00$02$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<2,1,1,1,3,2> & __ptr64 __cdecl CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$01$00$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<3,1,1,1,1,1> & __ptr64 __cdecl CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const & __ptr64) __ptr64
+??4?$CLockBase@$02$00$00$00$00$00@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<4,1,1,2,3,3> & __ptr64 __cdecl CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const & __ptr64) __ptr64
+??4?$CLockBase@$03$00$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<5,2,1,2,3,3> & __ptr64 __cdecl CLockBase<5,2,1,2,3,3>::operator=(class CLockBase<5,2,1,2,3,3> const & __ptr64) __ptr64
+??4?$CLockBase@$04$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<6,2,1,2,3,3> & __ptr64 __cdecl CLockBase<6,2,1,2,3,3>::operator=(class CLockBase<6,2,1,2,3,3> const & __ptr64) __ptr64
+??4?$CLockBase@$05$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<7,2,2,1,3,2> & __ptr64 __cdecl CLockBase<7,2,2,1,3,2>::operator=(class CLockBase<7,2,2,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$06$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<8,2,2,1,3,2> & __ptr64 __cdecl CLockBase<8,2,2,1,3,2>::operator=(class CLockBase<8,2,2,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$07$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<9,2,1,1,3,2> & __ptr64 __cdecl CLockBase<9,2,1,1,3,2>::operator=(class CLockBase<9,2,1,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$08$01$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class ALLOC_CACHE_HANDLER & __ptr64 __cdecl ALLOC_CACHE_HANDLER::operator=(class ALLOC_CACHE_HANDLER const & __ptr64) __ptr64
+??4ALLOC_CACHE_HANDLER@@QEAAAEAV0@AEBV0@@Z
+; public: class BUFFER & __ptr64 __cdecl BUFFER::operator=(class BUFFER const & __ptr64) __ptr64
+??4BUFFER@@QEAAAEAV0@AEBV0@@Z
+; public: class BUFFER_CHAIN & __ptr64 __cdecl BUFFER_CHAIN::operator=(class BUFFER_CHAIN const & __ptr64) __ptr64
+??4BUFFER_CHAIN@@QEAAAEAV0@AEBV0@@Z
+; public: class BUFFER_CHAIN_ITEM & __ptr64 __cdecl BUFFER_CHAIN_ITEM::operator=(class BUFFER_CHAIN_ITEM const & __ptr64) __ptr64
+??4BUFFER_CHAIN_ITEM@@QEAAAEAV0@AEBV0@@Z
+; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
+??4CCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CDFTCache & __ptr64 __cdecl CDFTCache::operator=(class CDFTCache const & __ptr64) __ptr64
+??4CDFTCache@@QEAAAEAV0@AEBV0@@Z
+; public: class CDateTime & __ptr64 __cdecl CDateTime::operator=(class CDateTime const & __ptr64) __ptr64
+??4CDateTime@@QEAAAEAV0@AEBV0@@Z
+; public: class CDoubleList & __ptr64 __cdecl CDoubleList::operator=(class CDoubleList const & __ptr64) __ptr64
+??4CDoubleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CFakeLock & __ptr64 __cdecl CFakeLock::operator=(class CFakeLock const & __ptr64) __ptr64
+??4CFakeLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CLKRHashTableStats & __ptr64 __cdecl CLKRHashTableStats::operator=(class CLKRHashTableStats const & __ptr64) __ptr64
+??4CLKRHashTableStats@@QEAAAEAV0@AEBV0@@Z
+; public: class CLKRHashTable_Iterator & __ptr64 __cdecl CLKRHashTable_Iterator::operator=(class CLKRHashTable_Iterator const & __ptr64) __ptr64
+??4CLKRHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
+; public: class CLKRLinearHashTable_Iterator & __ptr64 __cdecl CLKRLinearHashTable_Iterator::operator=(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
+??4CLKRLinearHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockedDoubleList & __ptr64 __cdecl CLockedDoubleList::operator=(class CLockedDoubleList const & __ptr64) __ptr64
+??4CLockedDoubleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockedSingleList & __ptr64 __cdecl CLockedSingleList::operator=(class CLockedSingleList const & __ptr64) __ptr64
+??4CLockedSingleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CReaderWriterLock2 & __ptr64 __cdecl CReaderWriterLock2::operator=(class CReaderWriterLock2 const & __ptr64) __ptr64
+??4CReaderWriterLock2@@QEAAAEAV0@AEBV0@@Z
+; public: class CReaderWriterLock3 & __ptr64 __cdecl CReaderWriterLock3::operator=(class CReaderWriterLock3 const & __ptr64) __ptr64
+??4CReaderWriterLock3@@QEAAAEAV0@AEBV0@@Z
+; public: class CReaderWriterLock & __ptr64 __cdecl CReaderWriterLock::operator=(class CReaderWriterLock const & __ptr64) __ptr64
+??4CReaderWriterLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CRtlResource & __ptr64 __cdecl CRtlResource::operator=(class CRtlResource const & __ptr64) __ptr64
+??4CRtlResource@@QEAAAEAV0@AEBV0@@Z
+; public: class CSingleList & __ptr64 __cdecl CSingleList::operator=(class CSingleList const & __ptr64) __ptr64
+??4CSingleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CSmallSpinLock & __ptr64 __cdecl CSmallSpinLock::operator=(class CSmallSpinLock const & __ptr64) __ptr64
+??4CSmallSpinLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CSpinLock & __ptr64 __cdecl CSpinLock::operator=(class CSpinLock const & __ptr64) __ptr64
+??4CSpinLock@@QEAAAEAV0@AEBV0@@Z
+; public: struct DATETIME_FORMAT_ENTRY & __ptr64 __cdecl DATETIME_FORMAT_ENTRY::operator=(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
+??4DATETIME_FORMAT_ENTRY@@QEAAAEAU0@AEBU0@@Z
+; public: class EVENT_LOG & __ptr64 __cdecl EVENT_LOG::operator=(class EVENT_LOG const & __ptr64) __ptr64
+??4EVENT_LOG@@QEAAAEAV0@AEBV0@@Z
+; public: class HASH_TABLE & __ptr64 __cdecl HASH_TABLE::operator=(class HASH_TABLE const & __ptr64) __ptr64
+??4HASH_TABLE@@QEAAAEAV0@AEBV0@@Z
+; public: class HASH_TABLE_BUCKET & __ptr64 __cdecl HASH_TABLE_BUCKET::operator=(class HASH_TABLE_BUCKET const & __ptr64) __ptr64
+??4HASH_TABLE_BUCKET@@QEAAAEAV0@AEBV0@@Z
+; public: struct HTB_ELEMENT & __ptr64 __cdecl HTB_ELEMENT::operator=(struct HTB_ELEMENT const & __ptr64) __ptr64
+??4HTB_ELEMENT@@QEAAAEAU0@AEBU0@@Z
+; public: class HT_ELEMENT & __ptr64 __cdecl HT_ELEMENT::operator=(class HT_ELEMENT const & __ptr64) __ptr64
+??4HT_ELEMENT@@QEAAAEAV0@AEBV0@@Z
+; public: class MLSZAU & __ptr64 __cdecl MLSZAU::operator=(class MLSZAU const & __ptr64) __ptr64
+??4MLSZAU@@QEAAAEAV0@AEBV0@@Z
+; public: class MULTISZ & __ptr64 __cdecl MULTISZ::operator=(class MULTISZ const & __ptr64) __ptr64
+??4MULTISZ@@QEAAAEAV0@AEBV0@@Z
+; public: class STR & __ptr64 __cdecl STR::operator=(class STR const & __ptr64) __ptr64
+??4STR@@QEAAAEAV0@AEBV0@@Z
+; private: class STRA & __ptr64 __cdecl STRA::operator=(class STRA const & __ptr64) __ptr64
+??4STRA@@AEAAAEAV0@AEBV0@@Z
+; public: class STRAU & __ptr64 __cdecl STRAU::operator=(class STRAU const & __ptr64) __ptr64
+??4STRAU@@QEAAAEAV0@AEBV0@@Z
+; private: class STRU & __ptr64 __cdecl STRU::operator=(class STRU const & __ptr64) __ptr64
+??4STRU@@AEAAAEAV0@AEBV0@@Z
+; public: class TS_RESOURCE & __ptr64 __cdecl TS_RESOURCE::operator=(class TS_RESOURCE const & __ptr64) __ptr64
+??4TS_RESOURCE@@QEAAAEAV0@AEBV0@@Z
+; public: bool __cdecl CLKRHashTable_Iterator::operator==(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
+??8CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
+; public: bool __cdecl CLKRLinearHashTable_Iterator::operator==(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
+??8CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
+; public: bool __cdecl CLKRHashTable_Iterator::operator!=(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
+??9CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
+; public: bool __cdecl CLKRLinearHashTable_Iterator::operator!=(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
+??9CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
+; const  ASCLOG_DATETIME_CACHE::`vftable'
+??_7ASCLOG_DATETIME_CACHE@@6B@
+; const  CACHED_DATETIME_FORMATS::`vftable'
+??_7CACHED_DATETIME_FORMATS@@6B@
+; const  EXTLOG_DATETIME_CACHE::`vftable'
+??_7EXTLOG_DATETIME_CACHE@@6B@
+; const  HASH_TABLE::`vftable'
+??_7HASH_TABLE@@6B@
+; const  HT_ELEMENT::`vftable'
+??_7HT_ELEMENT@@6B@
+; const  W3_DATETIME_CACHE::`vftable'
+??_7W3_DATETIME_CACHE@@6B@
+; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
+??_FBUFFER@@QEAAXXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
+??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
+; public: void __cdecl CSharelock::`default constructor closure'(void) __ptr64
+??_FCSharelock@@QEAAXXZ
+; public: int __cdecl CSharelock::ActiveUsers(void) __ptr64
+?ActiveUsers@CSharelock@@QEAAHXZ
+; public: void * __ptr64 __cdecl ALLOC_CACHE_HANDLER::Alloc(void) __ptr64
+?Alloc@ALLOC_CACHE_HANDLER@@QEAAPEAXXZ
+; public: int __cdecl MULTISZ::Append(class STR const & __ptr64) __ptr64
+?Append@MULTISZ@@QEAAHAEBVSTR@@@Z
+; public: int __cdecl MULTISZ::Append(char const * __ptr64) __ptr64
+?Append@MULTISZ@@QEAAHPEBD@Z
+; public: int __cdecl MULTISZ::Append(char const * __ptr64,unsigned long) __ptr64
+?Append@MULTISZ@@QEAAHPEBDK@Z
+; public: int __cdecl STR::Append(class STR const & __ptr64) __ptr64
+?Append@STR@@QEAAHAEBV1@@Z
+; public: int __cdecl STR::Append(char const * __ptr64) __ptr64
+?Append@STR@@QEAAHPEBD@Z
+; public: int __cdecl STR::Append(char const * __ptr64,unsigned long) __ptr64
+?Append@STR@@QEAAHPEBDK@Z
+; public: void __cdecl STR::Append(char) __ptr64
+?Append@STR@@QEAAXD@Z
+; public: void __cdecl STR::Append(char,char) __ptr64
+?Append@STR@@QEAAXDD@Z
+; public: long __cdecl STRA::Append(class STRA const & __ptr64) __ptr64
+?Append@STRA@@QEAAJAEBV1@@Z
+; public: long __cdecl STRA::Append(char const * __ptr64) __ptr64
+?Append@STRA@@QEAAJPEBD@Z
+; public: long __cdecl STRA::Append(char const * __ptr64,unsigned long) __ptr64
+?Append@STRA@@QEAAJPEBDK@Z
+; public: int __cdecl STRAU::Append(class STRAU & __ptr64) __ptr64
+?Append@STRAU@@QEAAHAEAV1@@Z
+; public: int __cdecl STRAU::Append(char const * __ptr64) __ptr64
+?Append@STRAU@@QEAAHPEBD@Z
+; public: int __cdecl STRAU::Append(char const * __ptr64,unsigned long) __ptr64
+?Append@STRAU@@QEAAHPEBDK@Z
+; public: int __cdecl STRAU::Append(unsigned short const * __ptr64) __ptr64
+?Append@STRAU@@QEAAHPEBG@Z
+; public: int __cdecl STRAU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
+?Append@STRAU@@QEAAHPEBGK@Z
+; public: long __cdecl STRU::Append(class STRU const & __ptr64) __ptr64
+?Append@STRU@@QEAAJAEBV1@@Z
+; public: long __cdecl STRU::Append(unsigned short const * __ptr64) __ptr64
+?Append@STRU@@QEAAJPEBG@Z
+; public: long __cdecl STRU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
+?Append@STRU@@QEAAJPEBGK@Z
+; public: long __cdecl STRU::AppendA(char const * __ptr64) __ptr64
+?AppendA@STRU@@QEAAJPEBD@Z
+; public: int __cdecl BUFFER_CHAIN::AppendBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
+?AppendBuffer@BUFFER_CHAIN@@QEAAHPEAVBUFFER_CHAIN_ITEM@@@Z
+; public: void __cdecl STR::AppendCRLF(void) __ptr64
+?AppendCRLF@STR@@QEAAXXZ
+; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64) __ptr64
+?AppendW@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64,unsigned long) __ptr64
+?AppendW@STRA@@QEAAJPEBGK@Z
+; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64) __ptr64
+?AppendWTruncate@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
+?AppendWTruncate@STRA@@QEAAJPEBGK@Z
+; public: unsigned long __cdecl CLKRHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?Apply@CLKRHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CLKRLinearHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?Apply@CLKRLinearHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?ApplyIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?ApplyIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
+; private: int __cdecl MULTISZ::AuxAppend(unsigned char const * __ptr64,unsigned int,int) __ptr64
+?AuxAppend@MULTISZ@@AEAAHPEBEIH@Z
+; private: int __cdecl STR::AuxAppend(unsigned char const * __ptr64,unsigned int,int) __ptr64
+?AuxAppend@STR@@AEAAHPEBEIH@Z
+; private: long __cdecl STRA::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppend@STRA@@AEAAJPEBEKKH@Z
+; private: int __cdecl STRAU::AuxAppend(char const * __ptr64,unsigned int,int) __ptr64
+?AuxAppend@STRAU@@AEAAHPEBDIH@Z
+; private: int __cdecl STRAU::AuxAppend(unsigned short const * __ptr64,unsigned int,int) __ptr64
+?AuxAppend@STRAU@@AEAAHPEBGIH@Z
+; private: long __cdecl STRU::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppend@STRU@@AEAAJPEBEKKH@Z
+; private: long __cdecl STRU::AuxAppendA(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppendA@STRU@@AEAAJPEBEKKH@Z
+; private: long __cdecl STRA::AuxAppendW(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppendW@STRA@@AEAAJPEBGKKH@Z
+; private: long __cdecl STRA::AuxAppendWTruncate(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppendWTruncate@STRA@@AEAAJPEBGKKH@Z
+; private: void __cdecl MLSZAU::AuxInit(char * __ptr64 const,unsigned long) __ptr64
+?AuxInit@MLSZAU@@AEAAXQEADK@Z
+; private: void __cdecl MLSZAU::AuxInit(unsigned short * __ptr64 const,unsigned long) __ptr64
+?AuxInit@MLSZAU@@AEAAXQEAGK@Z
+; private: void __cdecl MULTISZ::AuxInit(unsigned char const * __ptr64) __ptr64
+?AuxInit@MULTISZ@@AEAAXPEBE@Z
+; private: void __cdecl STR::AuxInit(unsigned char const * __ptr64) __ptr64
+?AuxInit@STR@@AEAAXPEBE@Z
+; private: void __cdecl STRAU::AuxInit(char const * __ptr64) __ptr64
+?AuxInit@STRAU@@AEAAXPEBD@Z
+; private: void __cdecl STRAU::AuxInit(unsigned short const * __ptr64) __ptr64
+?AuxInit@STRAU@@AEAAXPEBG@Z
+; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::Begin(void) __ptr64
+?Begin@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
+; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::Begin(void) __ptr64
+?Begin@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
+; public: static long __cdecl CLKRHashTableStats::BucketIndex(long)
+?BucketIndex@CLKRHashTableStats@@SAJJ@Z
+; public: static long __cdecl CLKRHashTableStats::BucketSize(long)
+?BucketSize@CLKRHashTableStats@@SAJJ@Z
+; public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)
+?BucketSizes@CLKRHashTableStats@@SAPEBJXZ
+; public: static unsigned long __cdecl MULTISZ::CalcLength(char const * __ptr64,unsigned long * __ptr64)
+?CalcLength@MULTISZ@@SAKPEBDPEAK@Z
+; public: unsigned long __cdecl BUFFER_CHAIN::CalcTotalSize(int)const  __ptr64
+?CalcTotalSize@BUFFER_CHAIN@@QEBAKH@Z
+; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64)const  __ptr64
+?CalculateHash@HASH_TABLE@@UEBAKPEBD@Z
+; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64,unsigned long)const  __ptr64
+?CalculateHash@HASH_TABLE@@UEBAKPEBDK@Z
+CanonURL
+; public: void __cdecl CSharelock::ChangeExclusiveLockToSharedLock(void) __ptr64
+?ChangeExclusiveLockToSharedLock@CSharelock@@QEAAXXZ
+; public: unsigned char __cdecl CSharelock::ChangeSharedLockToExclusiveLock(int) __ptr64
+?ChangeSharedLockToExclusiveLock@CSharelock@@QEAAEH@Z
+; public: int __cdecl CLKRHashTable::CheckTable(void)const  __ptr64
+?CheckTable@CLKRHashTable@@QEBAHXZ
+; public: int __cdecl CLKRLinearHashTable::CheckTable(void)const  __ptr64
+?CheckTable@CLKRLinearHashTable@@QEBAHXZ
+; public: unsigned char __cdecl CSharelock::ClaimExclusiveLock(int) __ptr64
+?ClaimExclusiveLock@CSharelock@@QEAAEH@Z
+; public: unsigned char __cdecl CSharelock::ClaimShareLock(int) __ptr64
+?ClaimShareLock@CSharelock@@QEAAEH@Z
+; public: static char const * __ptr64 __cdecl CCritSec::ClassName(void)
+?ClassName@CCritSec@@SAPEBDXZ
+; public: static unsigned short const * __ptr64 __cdecl CCritSec::ClassName(void)
+?ClassName@CCritSec@@SAPEBGXZ
+; public: static char const * __ptr64 __cdecl CFakeLock::ClassName(void)
+?ClassName@CFakeLock@@SAPEBDXZ
+; public: static unsigned short const * __ptr64 __cdecl CFakeLock::ClassName(void)
+?ClassName@CFakeLock@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CLKRHashTable::ClassName(void)
+?ClassName@CLKRHashTable@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CLKRLinearHashTable::ClassName(void)
+?ClassName@CLKRLinearHashTable@@SAPEBGXZ
+; public: static char const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
+?ClassName@CReaderWriterLock2@@SAPEBDXZ
+; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
+?ClassName@CReaderWriterLock2@@SAPEBGXZ
+; public: static char const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
+?ClassName@CReaderWriterLock3@@SAPEBDXZ
+; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
+?ClassName@CReaderWriterLock3@@SAPEBGXZ
+; public: static char const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
+?ClassName@CReaderWriterLock@@SAPEBDXZ
+; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
+?ClassName@CReaderWriterLock@@SAPEBGXZ
+; public: static char const * __ptr64 __cdecl CRtlResource::ClassName(void)
+?ClassName@CRtlResource@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CShareLock::ClassName(void)
+?ClassName@CShareLock@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
+?ClassName@CSmallSpinLock@@SAPEBDXZ
+; public: static unsigned short const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
+?ClassName@CSmallSpinLock@@SAPEBGXZ
+; public: static char const * __ptr64 __cdecl CSpinLock::ClassName(void)
+?ClassName@CSpinLock@@SAPEBDXZ
+; public: static unsigned short const * __ptr64 __cdecl CSpinLock::ClassName(void)
+?ClassName@CSpinLock@@SAPEBGXZ
+; public: static int __cdecl ALLOC_CACHE_HANDLER::Cleanup(void)
+?Cleanup@ALLOC_CACHE_HANDLER@@SAHXZ
+; public: void __cdecl HASH_TABLE::Cleanup(void) __ptr64
+?Cleanup@HASH_TABLE@@QEAAXXZ
+; public: void __cdecl HTB_ELEMENT::Cleanup(void) __ptr64
+?Cleanup@HTB_ELEMENT@@QEAAXXZ
+; public: static void __cdecl ALLOC_CACHE_HANDLER::CleanupAllLookasides(void * __ptr64,unsigned char)
+?CleanupAllLookasides@ALLOC_CACHE_HANDLER@@SAXPEAXE@Z
+; public: void __cdecl ALLOC_CACHE_HANDLER::CleanupLookaside(int) __ptr64
+?CleanupLookaside@ALLOC_CACHE_HANDLER@@QEAAXH@Z
+; public: void __cdecl CLKRHashTable::Clear(void) __ptr64
+?Clear@CLKRHashTable@@QEAAXXZ
+; public: void __cdecl CLKRLinearHashTable::Clear(void) __ptr64
+?Clear@CLKRLinearHashTable@@QEAAXXZ
+; public: void __cdecl STR::Clear(void) __ptr64
+?Clear@STR@@QEAAXXZ
+; public: int __cdecl MULTISZ::Clone(class MULTISZ * __ptr64)const  __ptr64
+?Clone@MULTISZ@@QEBAHPEAV1@@Z
+; public: int __cdecl STR::Clone(class STR * __ptr64)const  __ptr64
+?Clone@STR@@QEBAHPEAV1@@Z
+; public: long __cdecl STRA::Clone(class STRA * __ptr64)const  __ptr64
+?Clone@STRA@@QEBAJPEAV1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
+?CloseIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
+?CloseIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?CloseIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
+?CloseIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: unsigned long __cdecl HASH_TABLE::CloseIterator(struct HT_ITERATOR * __ptr64) __ptr64
+?CloseIterator@HASH_TABLE@@QEAAKPEAUHT_ITERATOR@@@Z
+; public: unsigned long __cdecl HASH_TABLE_BUCKET::CloseIterator(struct HT_ITERATOR * __ptr64) __ptr64
+?CloseIterator@HASH_TABLE_BUCKET@@QEAAKPEAUHT_ITERATOR@@@Z
+; public: void __cdecl TS_RESOURCE::Convert(enum TSRES_CONV_TYPE) __ptr64
+?Convert@TS_RESOURCE@@QEAAXW4TSRES_CONV_TYPE@@@Z
+; public: void __cdecl CCritSec::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ConvertExclusiveToShared(void)const  __ptr64
+?ConvertExclusiveToShared@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ConvertExclusiveToShared(void)const  __ptr64
+?ConvertExclusiveToShared@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CSpinLock@@QEAAXXZ
+; public: void __cdecl CCritSec::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ConvertSharedToExclusive(void)const  __ptr64
+?ConvertSharedToExclusive@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ConvertSharedToExclusive(void)const  __ptr64
+?ConvertSharedToExclusive@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CSpinLock@@QEAAXXZ
+; public: int __cdecl MULTISZ::Copy(class MULTISZ const & __ptr64) __ptr64
+?Copy@MULTISZ@@QEAAHAEBV1@@Z
+; public: int __cdecl MULTISZ::Copy(char const * __ptr64,unsigned long) __ptr64
+?Copy@MULTISZ@@QEAAHPEBDK@Z
+; public: int __cdecl STR::Copy(class STR const & __ptr64) __ptr64
+?Copy@STR@@QEAAHAEBV1@@Z
+; public: int __cdecl STR::Copy(char const * __ptr64) __ptr64
+?Copy@STR@@QEAAHPEBD@Z
+; public: int __cdecl STR::Copy(char const * __ptr64,unsigned long) __ptr64
+?Copy@STR@@QEAAHPEBDK@Z
+; public: long __cdecl STRA::Copy(class STRA const & __ptr64) __ptr64
+?Copy@STRA@@QEAAJAEBV1@@Z
+; public: long __cdecl STRA::Copy(char const * __ptr64) __ptr64
+?Copy@STRA@@QEAAJPEBD@Z
+; public: long __cdecl STRA::Copy(char const * __ptr64,unsigned long) __ptr64
+?Copy@STRA@@QEAAJPEBDK@Z
+; public: int __cdecl STRAU::Copy(class STRAU & __ptr64) __ptr64
+?Copy@STRAU@@QEAAHAEAV1@@Z
+; public: int __cdecl STRAU::Copy(char const * __ptr64) __ptr64
+?Copy@STRAU@@QEAAHPEBD@Z
+; public: int __cdecl STRAU::Copy(char const * __ptr64,unsigned long) __ptr64
+?Copy@STRAU@@QEAAHPEBDK@Z
+; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64) __ptr64
+?Copy@STRAU@@QEAAHPEBG@Z
+; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
+?Copy@STRAU@@QEAAHPEBGK@Z
+; public: long __cdecl STRU::Copy(class STRU const & __ptr64) __ptr64
+?Copy@STRU@@QEAAJAEBV1@@Z
+; public: long __cdecl STRU::Copy(unsigned short const * __ptr64) __ptr64
+?Copy@STRU@@QEAAJPEBG@Z
+; public: long __cdecl STRU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
+?Copy@STRU@@QEAAJPEBGK@Z
+; public: long __cdecl STRU::CopyA(char const * __ptr64) __ptr64
+?CopyA@STRU@@QEAAJPEBD@Z
+; public: long __cdecl STRU::CopyA(char const * __ptr64,unsigned long) __ptr64
+?CopyA@STRU@@QEAAJPEBDK@Z
+; public: long __cdecl STRA::CopyBinary(void * __ptr64,unsigned long) __ptr64
+?CopyBinary@STRA@@QEAAJPEAXK@Z
+; public: int __cdecl CDFTCache::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
+?CopyFormattedData@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@PEAD@Z
+; public: void __cdecl DATETIME_FORMAT_ENTRY::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
+?CopyFormattedData@DATETIME_FORMAT_ENTRY@@QEBAXPEBU_SYSTEMTIME@@PEAD@Z
+; public: int __cdecl MULTISZ::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
+?CopyToBuffer@MULTISZ@@QEBAHPEADPEAK@Z
+; public: int __cdecl STR::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
+?CopyToBuffer@STR@@QEBAHPEADPEAK@Z
+; public: int __cdecl STR::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
+?CopyToBuffer@STR@@QEBAHPEAGPEAK@Z
+; public: long __cdecl STRA::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
+?CopyToBuffer@STRA@@QEBAJPEADPEAK@Z
+; public: long __cdecl STRU::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
+?CopyToBuffer@STRU@@QEBAJPEAGPEAK@Z
+; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64) __ptr64
+?CopyW@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64,unsigned long) __ptr64
+?CopyW@STRA@@QEAAJPEBGK@Z
+; public: long __cdecl STRA::CopyWToUTF8(class STRU const & __ptr64) __ptr64
+?CopyWToUTF8@STRA@@QEAAJAEBVSTRU@@@Z
+; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64) __ptr64
+?CopyWToUTF8@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64,unsigned long) __ptr64
+?CopyWToUTF8@STRA@@QEAAJPEBGK@Z
+; public: long __cdecl STRA::CopyWToUTF8Unescaped(class STRU const & __ptr64) __ptr64
+?CopyWToUTF8Unescaped@STRA@@QEAAJAEBVSTRU@@@Z
+; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64) __ptr64
+?CopyWToUTF8Unescaped@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64,unsigned long) __ptr64
+?CopyWToUTF8Unescaped@STRA@@QEAAJPEBGK@Z
+; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64) __ptr64
+?CopyWTruncate@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
+?CopyWTruncate@STRA@@QEAAJPEBGK@Z
+CreateKey
+; public: unsigned long __cdecl CDFTCache::DateTimeChars(void)const  __ptr64
+?DateTimeChars@CDFTCache@@QEBAKXZ
+; char const * __ptr64 __cdecl DayOfWeek3CharNames(unsigned long)
+?DayOfWeek3CharNames@@YAPEBDK@Z
+; public: void __cdecl HTB_ELEMENT::DecrementElements(void) __ptr64
+?DecrementElements@HTB_ELEMENT@@QEAAXXZ
+; public: int __cdecl HASH_TABLE::Delete(class HT_ELEMENT * __ptr64) __ptr64
+?Delete@HASH_TABLE@@QEAAHPEAVHT_ELEMENT@@@Z
+; public: int __cdecl HASH_TABLE_BUCKET::Delete(class HT_ELEMENT * __ptr64) __ptr64
+?Delete@HASH_TABLE_BUCKET@@QEAAHPEAVHT_ELEMENT@@@Z
+; public: int __cdecl HTB_ELEMENT::Delete(class HT_ELEMENT * __ptr64) __ptr64
+?Delete@HTB_ELEMENT@@QEAAHPEAVHT_ELEMENT@@@Z
+; public: unsigned long __cdecl BUFFER_CHAIN::DeleteChain(void) __ptr64
+?DeleteChain@BUFFER_CHAIN@@QEAAKXZ
+; public: unsigned long __cdecl CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
+?DeleteIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
+; public: unsigned long __cdecl CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
+?DeleteIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteKey(unsigned __int64) __ptr64
+?DeleteKey@CLKRHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteKey(unsigned __int64) __ptr64
+?DeleteKey@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteRecord(void const * __ptr64) __ptr64
+?DeleteRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteRecord(void const * __ptr64) __ptr64
+?DeleteRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
+; public: virtual unsigned long __cdecl CEtwTracer::DisableEventsCallbackCustomHandler(void) __ptr64
+?DisableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
+; public: static int __cdecl ALLOC_CACHE_HANDLER::DumpStatsToHtml(char * __ptr64,unsigned long * __ptr64)
+?DumpStatsToHtml@ALLOC_CACHE_HANDLER@@SAHPEADPEAK@Z
+; public: virtual unsigned long __cdecl CEtwTracer::EnableEventsCallbackCustomHandler(void) __ptr64
+?EnableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
+; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::End(void) __ptr64
+?End@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
+; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::End(void) __ptr64
+?End@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
+; public: int __cdecl STR::Equ(class STR const & __ptr64)const  __ptr64
+?Equ@STR@@QEBAHAEBV1@@Z
+; public: int __cdecl STR::Equ(char * __ptr64)const  __ptr64
+?Equ@STR@@QEBAHPEAD@Z
+; public: bool __cdecl CLKRHashTable::EqualRange(unsigned __int64,class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
+?EqualRange@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@1@Z
+; public: bool __cdecl CLKRLinearHashTable::EqualRange(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
+?EqualRange@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@1@Z
+; public: int __cdecl STRA::Equals(class STRA const & __ptr64)const  __ptr64
+?Equals@STRA@@QEBAHAEBV1@@Z
+; public: int __cdecl STRA::Equals(char * __ptr64 const)const  __ptr64
+?Equals@STRA@@QEBAHQEAD@Z
+; public: int __cdecl STRU::Equals(class STRU const & __ptr64)const  __ptr64
+?Equals@STRU@@QEBAHAEBV1@@Z
+; public: int __cdecl STRU::Equals(unsigned short const * __ptr64)const  __ptr64
+?Equals@STRU@@QEBAHPEBG@Z
+; public: int __cdecl STRA::EqualsNoCase(class STRA const & __ptr64)const  __ptr64
+?EqualsNoCase@STRA@@QEBAHAEBV1@@Z
+; public: int __cdecl STRA::EqualsNoCase(char * __ptr64 const)const  __ptr64
+?EqualsNoCase@STRA@@QEBAHQEAD@Z
+; public: int __cdecl STRU::EqualsNoCase(class STRU const & __ptr64)const  __ptr64
+?EqualsNoCase@STRU@@QEBAHAEBV1@@Z
+; public: int __cdecl STRU::EqualsNoCase(unsigned short const * __ptr64)const  __ptr64
+?EqualsNoCase@STRU@@QEBAHPEBG@Z
+; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
+?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@0@Z
+; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64) __ptr64
+?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@@Z
+; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
+?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@0@Z
+; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
+?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@@Z
+; public: int __cdecl STR::Escape(void) __ptr64
+?Escape@STR@@QEAAHXZ
+; public: long __cdecl STRA::Escape(int,int) __ptr64
+?Escape@STRA@@QEAAJHH@Z
+; public: long __cdecl STRU::Escape(void) __ptr64
+?Escape@STRU@@QEAAJXZ
+; public: int __cdecl STR::EscapeSpaces(void) __ptr64
+?EscapeSpaces@STR@@QEAAHXZ
+; public: unsigned long __cdecl CEtwTracer::EtwTraceEvent(struct _GUID const * __ptr64,unsigned long,...) __ptr64
+?EtwTraceEvent@CEtwTracer@@QEAAKPEBU_GUID@@KZZ
+; int __cdecl FileTimeToGMT(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long)
+?FileTimeToGMT@@YAHAEBU_FILETIME@@PEADK@Z
+; int __cdecl FileTimeToGMTEx(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long,unsigned long)
+?FileTimeToGMTEx@@YAHAEBU_FILETIME@@PEADKK@Z
+; public: bool __cdecl CLKRHashTable::Find(unsigned __int64,class CLKRHashTable_Iterator & __ptr64) __ptr64
+?Find@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@@Z
+; public: bool __cdecl CLKRLinearHashTable::Find(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
+?Find@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
+?FindKey@CLKRHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
+?FindKey@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
+; public: unsigned long __cdecl HASH_TABLE::FindNextElement(struct HT_ITERATOR * __ptr64,class HT_ELEMENT * __ptr64 * __ptr64) __ptr64
+?FindNextElement@HASH_TABLE@@QEAAKPEAUHT_ITERATOR@@PEAPEAVHT_ELEMENT@@@Z
+; public: unsigned long __cdecl HASH_TABLE_BUCKET::FindNextElement(struct HT_ITERATOR * __ptr64,class HT_ELEMENT * __ptr64 * __ptr64) __ptr64
+?FindNextElement@HASH_TABLE_BUCKET@@QEAAKPEAUHT_ITERATOR@@PEAPEAVHT_ELEMENT@@@Z
+; public: unsigned long __cdecl HTB_ELEMENT::FindNextElement(unsigned long * __ptr64,class HT_ELEMENT * __ptr64 * __ptr64) __ptr64
+?FindNextElement@HTB_ELEMENT@@QEAAKPEAKPEAPEAVHT_ELEMENT@@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindRecord(void const * __ptr64)const  __ptr64
+?FindRecord@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindRecord(void const * __ptr64)const  __ptr64
+?FindRecord@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
+; public: int __cdecl MULTISZ::FindString(class STR const & __ptr64) __ptr64
+?FindString@MULTISZ@@QEAAHAEBVSTR@@@Z
+; public: int __cdecl MULTISZ::FindString(char const * __ptr64) __ptr64
+?FindString@MULTISZ@@QEAAHPEBD@Z
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::First(void)const  __ptr64
+?First@CDoubleList@@QEBAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::First(void) __ptr64
+?First@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: char const * __ptr64 __cdecl MULTISZ::First(void)const  __ptr64
+?First@MULTISZ@@QEBAPEBDXZ
+; public: struct HTBE_ENTRY * __ptr64 __cdecl HTB_ELEMENT::FirstElement(void) __ptr64
+?FirstElement@HTB_ELEMENT@@QEAAPEAUHTBE_ENTRY@@XZ
+; public: unsigned long __cdecl HASH_TABLE::FlushElements(void) __ptr64
+?FlushElements@HASH_TABLE@@QEAAKXZ
+; public: int __cdecl STR::FormatString(unsigned long,char const * __ptr64 * __ptr64 const,char const * __ptr64,unsigned long) __ptr64
+?FormatString@STR@@QEAAHKQEAPEBDPEBDK@Z
+; public: long __cdecl STRA::FormatString(unsigned long,char const * __ptr64 * __ptr64 const,char const * __ptr64,unsigned long) __ptr64
+?FormatString@STRA@@QEAAJKQEAPEBDPEBDK@Z
+; public: char const * __ptr64 __cdecl CDFTCache::FormattedBuffer(void)const  __ptr64
+?FormattedBuffer@CDFTCache@@QEBAPEBDXZ
+; public: int __cdecl ALLOC_CACHE_HANDLER::Free(void * __ptr64) __ptr64
+?Free@ALLOC_CACHE_HANDLER@@QEAAHPEAX@Z
+; public: void __cdecl BUFFER::FreeMemory(void) __ptr64
+?FreeMemory@BUFFER@@QEAAXXZ
+; public: virtual void __cdecl ASCLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
+?GenerateDateTimeString@ASCLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
+; public: virtual void __cdecl EXTLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
+?GenerateDateTimeString@EXTLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
+; public: virtual void __cdecl W3_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
+?GenerateDateTimeString@W3_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
+; public: unsigned short __cdecl CLKRHashTable::GetBucketLockSpinCount(void)const  __ptr64
+?GetBucketLockSpinCount@CLKRHashTable@@QEBAGXZ
+; public: unsigned short __cdecl CLKRLinearHashTable::GetBucketLockSpinCount(void)const  __ptr64
+?GetBucketLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
+; public: static double __cdecl CCritSec::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CCritSec@@SANXZ
+; public: static double __cdecl CFakeLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CFakeLock@@SANXZ
+; public: static double __cdecl CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SANXZ
+; public: static double __cdecl CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SANXZ
+; public: static double __cdecl CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SANXZ
+; public: static double __cdecl CRtlResource::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CRtlResource@@SANXZ
+; public: static double __cdecl CShareLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CShareLock@@SANXZ
+; public: static double __cdecl CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SANXZ
+; public: static double __cdecl CSpinLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CSpinLock@@SANXZ
+; public: static unsigned short __cdecl CCritSec::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CCritSec@@SAGXZ
+; public: static unsigned short __cdecl CFakeLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CFakeLock@@SAGXZ
+; public: static unsigned short __cdecl CReaderWriterLock2::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock2@@SAGXZ
+; public: static unsigned short __cdecl CReaderWriterLock3::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock3@@SAGXZ
+; public: static unsigned short __cdecl CReaderWriterLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock@@SAGXZ
+; public: static unsigned short __cdecl CRtlResource::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CRtlResource@@SAGXZ
+; public: static unsigned short __cdecl CShareLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CShareLock@@SAGXZ
+; public: static unsigned short __cdecl CSmallSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSmallSpinLock@@SAGXZ
+; public: static unsigned short __cdecl CSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSpinLock@@SAGXZ
+; public: unsigned long __cdecl EVENT_LOG::GetErrorCode(void)const  __ptr64
+?GetErrorCode@EVENT_LOG@@QEBAKXZ
+; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedCurrentDateTime(char * __ptr64) __ptr64
+?GetFormattedCurrentDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEAD@Z
+; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedDateTime(struct _SYSTEMTIME const * __ptr64,char * __ptr64) __ptr64
+?GetFormattedDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEBU_SYSTEMTIME@@PEAD@Z
+; private: int __cdecl BUFFER::GetNewStorage(unsigned int) __ptr64
+?GetNewStorage@BUFFER@@AEAAHI@Z
+; public: unsigned short __cdecl CCritSec::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CCritSec@@QEBAGXZ
+; public: unsigned short __cdecl CFakeLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CFakeLock@@QEBAGXZ
+; public: unsigned short __cdecl CReaderWriterLock2::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CReaderWriterLock2@@QEBAGXZ
+; public: unsigned short __cdecl CReaderWriterLock3::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CReaderWriterLock3@@QEBAGXZ
+; public: unsigned short __cdecl CReaderWriterLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CReaderWriterLock@@QEBAGXZ
+; public: unsigned short __cdecl CRtlResource::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CRtlResource@@QEBAGXZ
+; public: unsigned short __cdecl CShareLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CShareLock@@QEBAGXZ
+; public: unsigned short __cdecl CSmallSpinLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CSmallSpinLock@@QEBAGXZ
+; public: unsigned short __cdecl CSpinLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CSpinLock@@QEBAGXZ
+; public: class CLKRHashTableStats  __cdecl CLKRHashTable::GetStatistics(void)const  __ptr64
+?GetStatistics@CLKRHashTable@@QEBA?AVCLKRHashTableStats@@XZ
+; public: class CLKRHashTableStats  __cdecl CLKRLinearHashTable::GetStatistics(void)const  __ptr64
+?GetStatistics@CLKRLinearHashTable@@QEBA?AVCLKRHashTableStats@@XZ
+; public: unsigned short __cdecl CLKRHashTable::GetTableLockSpinCount(void)const  __ptr64
+?GetTableLockSpinCount@CLKRHashTable@@QEBAGXZ
+; public: unsigned short __cdecl CLKRLinearHashTable::GetTableLockSpinCount(void)const  __ptr64
+?GetTableLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
+; public: int __cdecl CDateTime::GetTickCount(void) __ptr64
+?GetTickCount@CDateTime@@QEAAHXZ
+; public: long __cdecl STRA::HTMLEncode(void) __ptr64
+?HTMLEncode@STRA@@QEAAJXZ
+; public: void __cdecl STR::Hash(void) __ptr64
+?Hash@STR@@QEAAXXZ
+; public: class CListEntry const * __ptr64 __cdecl CDoubleList::HeadNode(void)const  __ptr64
+?HeadNode@CDoubleList@@QEBAQEBVCListEntry@@XZ
+; public: class CListEntry const * __ptr64 __cdecl CLockedDoubleList::HeadNode(void)const  __ptr64
+?HeadNode@CLockedDoubleList@@QEBAQEBVCListEntry@@XZ
+IISCreateDirectory
+IISstricmp
+IISstrlen
+IISstrlwr
+IISstrncpy
+IISstrnicmp
+IISstrrchr
+IISstrupr
+; public: bool __cdecl CLKRHashTable_Iterator::Increment(void) __ptr64
+?Increment@CLKRHashTable_Iterator@@QEAA_NXZ
+; public: bool __cdecl CLKRLinearHashTable_Iterator::Increment(void) __ptr64
+?Increment@CLKRLinearHashTable_Iterator@@QEAA_NXZ
+; public: void __cdecl HTB_ELEMENT::IncrementElements(void) __ptr64
+?IncrementElements@HTB_ELEMENT@@QEAAXXZ
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
+?IncrementIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
+?IncrementIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?IncrementIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
+?IncrementIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: static int __cdecl ALLOC_CACHE_HANDLER::Initialize(void)
+?Initialize@ALLOC_CACHE_HANDLER@@SAHXZ
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
+?InitializeIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
+?InitializeIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?InitializeIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
+?InitializeIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: unsigned long __cdecl HASH_TABLE::InitializeIterator(struct HT_ITERATOR * __ptr64) __ptr64
+?InitializeIterator@HASH_TABLE@@QEAAKPEAUHT_ITERATOR@@@Z
+; public: unsigned long __cdecl HASH_TABLE_BUCKET::InitializeIterator(struct HT_ITERATOR * __ptr64) __ptr64
+?InitializeIterator@HASH_TABLE_BUCKET@@QEAAKPEAUHT_ITERATOR@@@Z
+; public: bool __cdecl CLKRHashTable::Insert(void const * __ptr64,class CLKRHashTable_Iterator & __ptr64,bool) __ptr64
+?Insert@CLKRHashTable@@QEAA_NPEBXAEAVCLKRHashTable_Iterator@@_N@Z
+; public: bool __cdecl CLKRLinearHashTable::Insert(void const * __ptr64,class CLKRLinearHashTable_Iterator & __ptr64,bool) __ptr64
+?Insert@CLKRLinearHashTable@@QEAA_NPEBXAEAVCLKRLinearHashTable_Iterator@@_N@Z
+; public: int __cdecl HASH_TABLE::Insert(class HT_ELEMENT * __ptr64,int) __ptr64
+?Insert@HASH_TABLE@@QEAAHPEAVHT_ELEMENT@@H@Z
+; public: int __cdecl HASH_TABLE_BUCKET::Insert(unsigned long,class HT_ELEMENT * __ptr64,int) __ptr64
+?Insert@HASH_TABLE_BUCKET@@QEAAHKPEAVHT_ELEMENT@@H@Z
+; public: int __cdecl HTB_ELEMENT::Insert(unsigned long,class HT_ELEMENT * __ptr64) __ptr64
+?Insert@HTB_ELEMENT@@QEAAHKPEAVHT_ELEMENT@@@Z
+; public: void __cdecl CDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
+?InsertHead@CDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: void __cdecl CLockedDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
+?InsertHead@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: static void __cdecl ALLOC_CACHE_HANDLER::InsertNewItem(class ALLOC_CACHE_HANDLER * __ptr64)
+?InsertNewItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
+?InsertRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
+?InsertRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
+; public: void __cdecl CDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
+?InsertTail@CDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: void __cdecl CLockedDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
+?InsertTail@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: int __cdecl ALLOC_CACHE_HANDLER::IpPrint(char * __ptr64,unsigned long * __ptr64) __ptr64
+?IpPrint@ALLOC_CACHE_HANDLER@@QEAAHPEADPEAK@Z
+; public: int __cdecl MLSZAU::IsCurrentUnicode(void) __ptr64
+?IsCurrentUnicode@MLSZAU@@QEAAHXZ
+; public: int __cdecl STRAU::IsCurrentUnicode(void) __ptr64
+?IsCurrentUnicode@STRAU@@QEAAHXZ
+; private: int __cdecl BUFFER::IsDynAlloced(void)const  __ptr64
+?IsDynAlloced@BUFFER@@AEBAHXZ
+; public: bool __cdecl CDoubleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedDoubleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CLockedDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedSingleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CLockedSingleList@@QEBA_NXZ
+; public: bool __cdecl CSingleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CSingleList@@QEBA_NXZ
+; public: int __cdecl MULTISZ::IsEmpty(void)const  __ptr64
+?IsEmpty@MULTISZ@@QEBAHXZ
+; public: int __cdecl STR::IsEmpty(void)const  __ptr64
+?IsEmpty@STR@@QEBAHXZ
+; public: int __cdecl STRA::IsEmpty(void)const  __ptr64
+?IsEmpty@STRA@@QEBAHXZ
+; public: int __cdecl STRAU::IsEmpty(void) __ptr64
+?IsEmpty@STRAU@@QEAAHXZ
+; public: int __cdecl STRU::IsEmpty(void)const  __ptr64
+?IsEmpty@STRU@@QEBAHXZ
+; public: int __cdecl CDFTCache::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
+?IsHit@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@@Z
+; public: int __cdecl DATETIME_FORMAT_ENTRY::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
+?IsHit@DATETIME_FORMAT_ENTRY@@QEBAHPEBU_SYSTEMTIME@@@Z
+IsIPAddressLocal
+IsLargeIntegerToDecimalChar
+; public: bool __cdecl CLockedDoubleList::IsLocked(void)const  __ptr64
+?IsLocked@CLockedDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedSingleList::IsLocked(void)const  __ptr64
+?IsLocked@CLockedSingleList@@QEBA_NXZ
+; public: bool __cdecl CCritSec::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CRtlResource::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CRtlResource@@QEBA_NXZ
+; public: bool __cdecl CShareLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CShareLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CSpinLock@@QEBA_NXZ
+; public: bool __cdecl CCritSec::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CRtlResource::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CRtlResource@@QEBA_NXZ
+; public: bool __cdecl CShareLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CShareLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CSpinLock@@QEBA_NXZ
+; public: int __cdecl HTB_ELEMENT::IsSpaceAvailable(void)const  __ptr64
+?IsSpaceAvailable@HTB_ELEMENT@@QEBAHXZ
+; public: bool __cdecl CLockedDoubleList::IsUnlocked(void)const  __ptr64
+?IsUnlocked@CLockedDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedSingleList::IsUnlocked(void)const  __ptr64
+?IsUnlocked@CLockedSingleList@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsUsable(void)const  __ptr64
+?IsUsable@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsUsable(void)const  __ptr64
+?IsUsable@CLKRLinearHashTable@@QEBA_NXZ
+; public: int __cdecl ALLOC_CACHE_HANDLER::IsValid(void)const  __ptr64
+?IsValid@ALLOC_CACHE_HANDLER@@QEBAHXZ
+; public: int __cdecl BUFFER::IsValid(void)const  __ptr64
+?IsValid@BUFFER@@QEBAHXZ
+; public: bool __cdecl CLKRHashTable::IsValid(void)const  __ptr64
+?IsValid@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable_Iterator::IsValid(void)const  __ptr64
+?IsValid@CLKRHashTable_Iterator@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsValid(void)const  __ptr64
+?IsValid@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable_Iterator::IsValid(void)const  __ptr64
+?IsValid@CLKRLinearHashTable_Iterator@@QEBA_NXZ
+; public: int __cdecl HASH_TABLE::IsValid(void)const  __ptr64
+?IsValid@HASH_TABLE@@QEBAHXZ
+; public: int __cdecl MLSZAU::IsValid(void) __ptr64
+?IsValid@MLSZAU@@QEAAHXZ
+; public: int __cdecl MULTISZ::IsValid(void)const  __ptr64
+?IsValid@MULTISZ@@QEBAHXZ
+; public: int __cdecl STR::IsValid(void)const  __ptr64
+?IsValid@STR@@QEBAHXZ
+; public: int __cdecl STRA::IsValid(void)const  __ptr64
+?IsValid@STRA@@QEBAHXZ
+; public: int __cdecl STRAU::IsValid(void) __ptr64
+?IsValid@STRAU@@QEAAHXZ
+; public: bool __cdecl CCritSec::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CRtlResource::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CRtlResource@@QEBA_NXZ
+; public: bool __cdecl CShareLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CShareLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CSpinLock@@QEBA_NXZ
+; public: bool __cdecl CCritSec::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CRtlResource::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CRtlResource@@QEBA_NXZ
+; public: bool __cdecl CShareLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CShareLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CSpinLock@@QEBA_NXZ
+; public: unsigned __int64 const  __cdecl CLKRHashTable_Iterator::Key(void)const  __ptr64
+?Key@CLKRHashTable_Iterator@@QEBA?B_KXZ
+; public: unsigned __int64 const  __cdecl CLKRLinearHashTable_Iterator::Key(void)const  __ptr64
+?Key@CLKRLinearHashTable_Iterator@@QEBA?B_KXZ
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::Last(void)const  __ptr64
+?Last@CDoubleList@@QEBAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::Last(void) __ptr64
+?Last@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: struct HTBE_ENTRY * __ptr64 __cdecl HTB_ELEMENT::LastElement(void) __ptr64
+?LastElement@HTB_ELEMENT@@QEAAPEAUHTBE_ENTRY@@XZ
+; public: int __cdecl STR::LoadStringA(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
+?LoadStringA@STR@@QEAAHKPEAUHINSTANCE__@@@Z
+; public: int __cdecl STR::LoadStringA(unsigned long,char const * __ptr64,unsigned long) __ptr64
+?LoadStringA@STR@@QEAAHKPEBDK@Z
+; public: long __cdecl STRA::LoadStringW(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
+?LoadStringW@STRA@@QEAAJKPEAUHINSTANCE__@@@Z
+; public: long __cdecl STRA::LoadStringW(unsigned long,char const * __ptr64,unsigned long) __ptr64
+?LoadStringW@STRA@@QEAAJKPEBDK@Z
+; private: void __cdecl ALLOC_CACHE_HANDLER::Lock(void) __ptr64
+?Lock@ALLOC_CACHE_HANDLER@@AEAAXXZ
+; public: void __cdecl CLockedDoubleList::Lock(void) __ptr64
+?Lock@CLockedDoubleList@@QEAAXXZ
+; public: void __cdecl CLockedSingleList::Lock(void) __ptr64
+?Lock@CLockedSingleList@@QEAAXXZ
+; private: void __cdecl HASH_TABLE_BUCKET::Lock(void) __ptr64
+?Lock@HASH_TABLE_BUCKET@@AEAAXXZ
+; public: void __cdecl TS_RESOURCE::Lock(enum TSRES_LOCK_TYPE) __ptr64
+?Lock@TS_RESOURCE@@QEAAXW4TSRES_LOCK_TYPE@@@Z
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<1,1,3,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<2,1,1,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<3,1,1,1,1,1>::LockType(void)
+?LockType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<4,1,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<5,2,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<6,2,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<7,2,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<8,2,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<9,2,1,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: void __cdecl EVENT_LOG::LogEvent(unsigned long,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
+?LogEvent@EVENT_LOG@@QEAAXKGQEAPEBDK@Z
+; private: void __cdecl EVENT_LOG::LogEventPrivate(unsigned long,unsigned short,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
+?LogEventPrivate@EVENT_LOG@@AEAAXKGGQEAPEBDK@Z
+; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64) __ptr64
+?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBD@Z
+; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64,unsigned long) __ptr64
+?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBDK@Z
+; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE_BUCKET::Lookup(unsigned long,char const * __ptr64,unsigned long) __ptr64
+?Lookup@HASH_TABLE_BUCKET@@QEAAPEAVHT_ELEMENT@@KPEBDK@Z
+; public: class HT_ELEMENT * __ptr64 __cdecl HTB_ELEMENT::Lookup(unsigned long,char const * __ptr64,unsigned long) __ptr64
+?Lookup@HTB_ELEMENT@@QEAAPEAVHT_ELEMENT@@KPEBDK@Z
+; public: unsigned long __cdecl CLKRHashTable::MaxSize(void)const  __ptr64
+?MaxSize@CLKRHashTable@@QEBAKXZ
+; public: unsigned long __cdecl CLKRLinearHashTable::MaxSize(void)const  __ptr64
+?MaxSize@CLKRLinearHashTable@@QEBAKXZ
+; char const * __ptr64 __cdecl Month3CharNames(unsigned long)
+?Month3CharNames@@YAPEBDK@Z
+; public: bool __cdecl CLKRHashTable::MultiKeys(void)const  __ptr64
+?MultiKeys@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::MultiKeys(void)const  __ptr64
+?MultiKeys@CLKRLinearHashTable@@QEBA_NXZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<1,1,3,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<2,1,1,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<3,1,1,1,1,1>::MutexType(void)
+?MutexType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<4,1,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<5,2,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<6,2,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<7,2,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<8,2,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<9,2,1,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: char const * __ptr64 __cdecl MULTISZ::Next(char const * __ptr64)const  __ptr64
+?Next@MULTISZ@@QEBAPEBDPEBD@Z
+; public: class BUFFER_CHAIN_ITEM * __ptr64 __cdecl BUFFER_CHAIN::NextBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
+?NextBuffer@BUFFER_CHAIN@@QEAAPEAVBUFFER_CHAIN_ITEM@@PEAV2@@Z
+; public: void __cdecl HTB_ELEMENT::NextElement(struct HTBE_ENTRY * __ptr64 & __ptr64) __ptr64
+?NextElement@HTB_ELEMENT@@QEAAXAEAPEAUHTBE_ENTRY@@@Z
+; long __cdecl NormalizeUrl(char * __ptr64)
+?NormalizeUrl@@YAJPEAD@Z
+; long __cdecl NormalizeUrlW(unsigned short * __ptr64)
+?NormalizeUrlW@@YAJPEAG@Z
+NtLargeIntegerTimeToLocalSystemTime
+NtLargeIntegerTimeToSystemTime
+NtSystemTimeToLargeInteger
+; public: unsigned long __cdecl HTB_ELEMENT::NumElements(void)const  __ptr64
+?NumElements@HTB_ELEMENT@@QEBAKXZ
+; public: unsigned long __cdecl HASH_TABLE_BUCKET::NumEntries(void) __ptr64
+?NumEntries@HASH_TABLE_BUCKET@@QEAAKXZ
+; public: int __cdecl CLKRHashTable::NumSubTables(void)const  __ptr64
+?NumSubTables@CLKRHashTable@@QEBAHXZ
+; public: static enum LK_TABLESIZE  __cdecl CLKRHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
+?NumSubTables@CLKRHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
+; public: int __cdecl CLKRLinearHashTable::NumSubTables(void)const  __ptr64
+?NumSubTables@CLKRLinearHashTable@@QEBAHXZ
+; public: static enum LK_TABLESIZE  __cdecl CLKRLinearHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
+?NumSubTables@CLKRLinearHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
+; public: int __cdecl CDFTCache::OffsetSeconds(void)const  __ptr64
+?OffsetSeconds@CDFTCache@@QEBAHXZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<5,2,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<6,2,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<7,2,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<8,2,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<9,2,1,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: class CSingleListEntry * __ptr64 __cdecl CLockedSingleList::Pop(void) __ptr64
+?Pop@CLockedSingleList@@QEAAQEAVCSingleListEntry@@XZ
+; public: class CSingleListEntry * __ptr64 __cdecl CSingleList::Pop(void) __ptr64
+?Pop@CSingleList@@QEAAQEAVCSingleListEntry@@XZ
+; public: void __cdecl ALLOC_CACHE_HANDLER::Print(void) __ptr64
+?Print@ALLOC_CACHE_HANDLER@@QEAAXXZ
+; public: void __cdecl HASH_TABLE::Print(unsigned long) __ptr64
+?Print@HASH_TABLE@@QEAAXK@Z
+; public: void __cdecl HASH_TABLE_BUCKET::Print(unsigned long) __ptr64
+?Print@HASH_TABLE_BUCKET@@QEAAXK@Z
+; public: void __cdecl HTB_ELEMENT::Print(unsigned long)const  __ptr64
+?Print@HTB_ELEMENT@@QEBAXK@Z
+; private: unsigned short * __ptr64 __cdecl STRAU::PrivateQueryStr(int) __ptr64
+?PrivateQueryStr@STRAU@@AEAAPEAGH@Z
+; public: void __cdecl CLockedSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
+?Push@CLockedSingleList@@QEAAXQEAVCSingleListEntry@@@Z
+; public: void __cdecl CSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
+?Push@CSingleList@@QEAAXQEAVCSingleListEntry@@@Z
+; public: class BUFFER * __ptr64 __cdecl STRU::QueryBuffer(void) __ptr64
+?QueryBuffer@STRU@@QEAAPEAVBUFFER@@XZ
+; public: unsigned int __cdecl MLSZAU::QueryCB(int) __ptr64
+?QueryCB@MLSZAU@@QEAAIH@Z
+; public: unsigned int __cdecl MULTISZ::QueryCB(void)const  __ptr64
+?QueryCB@MULTISZ@@QEBAIXZ
+; public: unsigned int __cdecl STR::QueryCB(void)const  __ptr64
+?QueryCB@STR@@QEBAIXZ
+; public: unsigned int __cdecl STRA::QueryCB(void)const  __ptr64
+?QueryCB@STRA@@QEBAIXZ
+; public: unsigned int __cdecl STRAU::QueryCB(int) __ptr64
+?QueryCB@STRAU@@QEAAIH@Z
+; public: unsigned int __cdecl STRU::QueryCB(void)const  __ptr64
+?QueryCB@STRU@@QEBAIXZ
+; public: unsigned int __cdecl MLSZAU::QueryCBA(void) __ptr64
+?QueryCBA@MLSZAU@@QEAAIXZ
+; public: unsigned int __cdecl STRAU::QueryCBA(void) __ptr64
+?QueryCBA@STRAU@@QEAAIXZ
+; public: unsigned int __cdecl MLSZAU::QueryCBW(void) __ptr64
+?QueryCBW@MLSZAU@@QEAAIXZ
+; public: unsigned int __cdecl STRAU::QueryCBW(void) __ptr64
+?QueryCBW@STRAU@@QEAAIXZ
+; public: unsigned int __cdecl MLSZAU::QueryCCH(void) __ptr64
+?QueryCCH@MLSZAU@@QEAAIXZ
+; public: unsigned int __cdecl MULTISZ::QueryCCH(void)const  __ptr64
+?QueryCCH@MULTISZ@@QEBAIXZ
+; public: unsigned int __cdecl STR::QueryCCH(void)const  __ptr64
+?QueryCCH@STR@@QEBAIXZ
+; public: unsigned int __cdecl STRA::QueryCCH(void)const  __ptr64
+?QueryCCH@STRA@@QEBAIXZ
+; public: unsigned int __cdecl STRAU::QueryCCH(void) __ptr64
+?QueryCCH@STRAU@@QEAAIXZ
+; public: unsigned int __cdecl STRU::QueryCCH(void)const  __ptr64
+?QueryCCH@STRU@@QEBAIXZ
+; public: unsigned long __cdecl CEtwTracer::QueryEnableLevel(void) __ptr64
+?QueryEnableLevel@CEtwTracer@@QEAAKXZ
+; public: char __cdecl STR::QueryFirstChar(void)const  __ptr64
+?QueryFirstChar@STR@@QEBADXZ
+; public: char __cdecl STR::QueryLastChar(void)const  __ptr64
+?QueryLastChar@STR@@QEBADXZ
+; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
+?QueryPtr@BUFFER@@QEBAPEAXXZ
+; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
+?QuerySize@BUFFER@@QEBAIXZ
+; public: unsigned int __cdecl STRA::QuerySize(void)const  __ptr64
+?QuerySize@STRA@@QEBAIXZ
+; public: void __cdecl ALLOC_CACHE_HANDLER::QueryStats(struct _ALLOC_CACHE_STATISTICS * __ptr64) __ptr64
+?QueryStats@ALLOC_CACHE_HANDLER@@QEAAXPEAU_ALLOC_CACHE_STATISTICS@@@Z
+; public: char * __ptr64 __cdecl MLSZAU::QueryStr(int) __ptr64
+?QueryStr@MLSZAU@@QEAAPEADH@Z
+; public: char * __ptr64 __cdecl MULTISZ::QueryStr(void)const  __ptr64
+?QueryStr@MULTISZ@@QEBAPEADXZ
+; public: char * __ptr64 __cdecl STR::QueryStr(void)const  __ptr64
+?QueryStr@STR@@QEBAPEADXZ
+; public: char * __ptr64 __cdecl STRA::QueryStr(void) __ptr64
+?QueryStr@STRA@@QEAAPEADXZ
+; public: char const * __ptr64 __cdecl STRA::QueryStr(void)const  __ptr64
+?QueryStr@STRA@@QEBAPEBDXZ
+; public: char * __ptr64 __cdecl STRAU::QueryStr(int) __ptr64
+?QueryStr@STRAU@@QEAAPEADH@Z
+; public: unsigned short * __ptr64 __cdecl STRAU::QueryStr(int) __ptr64
+?QueryStr@STRAU@@QEAAPEAGH@Z
+; public: unsigned short * __ptr64 __cdecl STRU::QueryStr(void) __ptr64
+?QueryStr@STRU@@QEAAPEAGXZ
+; public: unsigned short const * __ptr64 __cdecl STRU::QueryStr(void)const  __ptr64
+?QueryStr@STRU@@QEBAPEBGXZ
+; public: char * __ptr64 __cdecl MLSZAU::QueryStrA(void) __ptr64
+?QueryStrA@MLSZAU@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl MULTISZ::QueryStrA(void)const  __ptr64
+?QueryStrA@MULTISZ@@QEBAPEADXZ
+; public: char * __ptr64 __cdecl STR::QueryStrA(void)const  __ptr64
+?QueryStrA@STR@@QEBAPEADXZ
+; public: char * __ptr64 __cdecl STRAU::QueryStrA(void) __ptr64
+?QueryStrA@STRAU@@QEAAPEADXZ
+; public: unsigned short * __ptr64 __cdecl MLSZAU::QueryStrW(void) __ptr64
+?QueryStrW@MLSZAU@@QEAAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl STRAU::QueryStrW(void) __ptr64
+?QueryStrW@STRAU@@QEAAPEAGXZ
+; public: unsigned long __cdecl MULTISZ::QueryStringCount(void)const  __ptr64
+?QueryStringCount@MULTISZ@@QEBAKXZ
+; public: unsigned __int64 __cdecl CEtwTracer::QueryTraceHandle(void) __ptr64
+?QueryTraceHandle@CEtwTracer@@QEAA_KXZ
+; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
+?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::QueueType(void)
+?QueueType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: bool __cdecl CDataCache<class CDateTime>::Read(class CDateTime & __ptr64)const  __ptr64
+?Read@?$CDataCache@VCDateTime@@@@QEBA_NAEAVCDateTime@@@Z
+; public: void __cdecl CCritSec::ReadLock(void) __ptr64
+?ReadLock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ReadLock(void) __ptr64
+?ReadLock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ReadLock(void)const  __ptr64
+?ReadLock@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ReadLock(void)const  __ptr64
+?ReadLock@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ReadLock(void) __ptr64
+?ReadLock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ReadLock(void) __ptr64
+?ReadLock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ReadLock(void) __ptr64
+?ReadLock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::ReadLock(void) __ptr64
+?ReadLock@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::ReadLock(void) __ptr64
+?ReadLock@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ReadLock(void) __ptr64
+?ReadLock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ReadLock(void) __ptr64
+?ReadLock@CSpinLock@@QEAAXXZ
+; public: bool __cdecl CCritSec::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CCritSec@@QEAA_NXZ
+; public: bool __cdecl CFakeLock::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CFakeLock@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock3::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CSpinLock::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CSpinLock@@QEAA_NXZ
+; public: void __cdecl CCritSec::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CCritSec@@QEAAX_N@Z
+; public: void __cdecl CFakeLock::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CFakeLock@@QEAAX_N@Z
+; public: void __cdecl CReaderWriterLock3::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CReaderWriterLock3@@QEAAX_N@Z
+; public: void __cdecl CSpinLock::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CSpinLock@@QEAAX_N@Z
+; public: void __cdecl CCritSec::ReadUnlock(void) __ptr64
+?ReadUnlock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ReadUnlock(void)const  __ptr64
+?ReadUnlock@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ReadUnlock(void)const  __ptr64
+?ReadUnlock@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ReadUnlock(void) __ptr64
+?ReadUnlock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ReadUnlock(void) __ptr64
+?ReadUnlock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::ReadUnlock(void) __ptr64
+?ReadUnlock@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CSpinLock@@QEAAXXZ
+; private: int __cdecl BUFFER::ReallocStorage(unsigned int) __ptr64
+?ReallocStorage@BUFFER@@AEAAHI@Z
+; public: void __cdecl MULTISZ::RecalcLen(void) __ptr64
+?RecalcLen@MULTISZ@@QEAAXXZ
+; public: void const * __ptr64 __cdecl CLKRHashTable_Iterator::Record(void)const  __ptr64
+?Record@CLKRHashTable_Iterator@@QEBAPEBXXZ
+; public: void const * __ptr64 __cdecl CLKRLinearHashTable_Iterator::Record(void)const  __ptr64
+?Record@CLKRLinearHashTable_Iterator@@QEBAPEBXXZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<1,1,3,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<2,1,1,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<3,1,1,1,1,1>::Recursion(void)
+?Recursion@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<4,1,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<5,2,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<6,2,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<7,2,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<8,2,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<9,2,1,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: unsigned long __cdecl CEtwTracer::Register(struct _GUID const * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?Register@CEtwTracer@@QEAAKPEBU_GUID@@PEAG1@Z
+; public: void __cdecl CSharelock::ReleaseExclusiveLock(void) __ptr64
+?ReleaseExclusiveLock@CSharelock@@QEAAXXZ
+; public: void __cdecl CSharelock::ReleaseShareLock(void) __ptr64
+?ReleaseShareLock@CSharelock@@QEAAXXZ
+; public: static void __cdecl CDoubleList::RemoveEntry(class CListEntry * __ptr64 const)
+?RemoveEntry@CDoubleList@@SAXQEAVCListEntry@@@Z
+; public: void __cdecl CLockedDoubleList::RemoveEntry(class CListEntry * __ptr64 const) __ptr64
+?RemoveEntry@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveHead(void) __ptr64
+?RemoveHead@CDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveHead(void) __ptr64
+?RemoveHead@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: static void __cdecl ALLOC_CACHE_HANDLER::RemoveItem(class ALLOC_CACHE_HANDLER * __ptr64)
+?RemoveItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveTail(void) __ptr64
+?RemoveTail@CDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveTail(void) __ptr64
+?RemoveTail@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+RemoveWorkItem
+; public: void __cdecl MLSZAU::Reset(void) __ptr64
+?Reset@MLSZAU@@QEAAXXZ
+; public: void __cdecl MULTISZ::Reset(void) __ptr64
+?Reset@MULTISZ@@QEAAXXZ
+; public: void __cdecl STR::Reset(void) __ptr64
+?Reset@STR@@QEAAXXZ
+; public: void __cdecl STRA::Reset(void) __ptr64
+?Reset@STRA@@QEAAXXZ
+; public: void __cdecl STRAU::Reset(void) __ptr64
+?Reset@STRAU@@QEAAXXZ
+; public: void __cdecl STRU::Reset(void) __ptr64
+?Reset@STRU@@QEAAXXZ
+; public: static int __cdecl ALLOC_CACHE_HANDLER::ResetLookasideCleanupInterval(void)
+?ResetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
+; public: int __cdecl BUFFER::Resize(unsigned int) __ptr64
+?Resize@BUFFER@@QEAAHI@Z
+; public: int __cdecl BUFFER::Resize(unsigned int,unsigned int) __ptr64
+?Resize@BUFFER@@QEAAHII@Z
+; public: long __cdecl STRA::Resize(unsigned long) __ptr64
+?Resize@STRA@@QEAAJK@Z
+; public: long __cdecl STRU::Resize(unsigned long) __ptr64
+?Resize@STRU@@QEAAJK@Z
+; public: int __cdecl STRAU::ResizeW(unsigned long) __ptr64
+?ResizeW@STRAU@@QEAAHK@Z
+; public: int __cdecl STR::SafeCopy(char const * __ptr64) __ptr64
+?SafeCopy@STR@@QEAAHPEBD@Z
+; public: int __cdecl STRAU::SafeCopy(char const * __ptr64) __ptr64
+?SafeCopy@STRAU@@QEAAHPEBD@Z
+; public: int __cdecl STRAU::SafeCopy(unsigned short const * __ptr64) __ptr64
+?SafeCopy@STRAU@@QEAAHPEBG@Z
+ScheduleAdjustTime
+ScheduleWorkItem
+SchedulerInitialize
+SchedulerTerminate
+; public: unsigned short __cdecl CDFTCache::Seconds(void)const  __ptr64
+?Seconds@CDFTCache@@QEBAGXZ
+; public: void __cdecl CLKRHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
+?SetBucketLockSpinCount@CLKRHashTable@@QEAAXG@Z
+; public: void __cdecl CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
+?SetBucketLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
+; public: static void __cdecl CCritSec::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CCritSec@@SAXN@Z
+; public: static void __cdecl CFakeLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CFakeLock@@SAXN@Z
+; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SAXN@Z
+; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SAXN@Z
+; public: static void __cdecl CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SAXN@Z
+; public: static void __cdecl CRtlResource::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CRtlResource@@SAXN@Z
+; public: static void __cdecl CShareLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CShareLock@@SAXN@Z
+; public: static void __cdecl CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SAXN@Z
+; public: static void __cdecl CSpinLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CSpinLock@@SAXN@Z
+; public: static void __cdecl CCritSec::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CCritSec@@SAXG@Z
+; public: static void __cdecl CFakeLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CFakeLock@@SAXG@Z
+; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock2@@SAXG@Z
+; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock3@@SAXG@Z
+; public: static void __cdecl CReaderWriterLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock@@SAXG@Z
+; public: static void __cdecl CRtlResource::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CRtlResource@@SAXG@Z
+; public: static void __cdecl CShareLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CShareLock@@SAXG@Z
+; public: static void __cdecl CSmallSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSmallSpinLock@@SAXG@Z
+; public: static void __cdecl CSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSpinLock@@SAXG@Z
+; public: int __cdecl STR::SetLen(unsigned long) __ptr64
+?SetLen@STR@@QEAAHK@Z
+; public: int __cdecl STRA::SetLen(unsigned long) __ptr64
+?SetLen@STRA@@QEAAHK@Z
+; public: int __cdecl STRAU::SetLen(unsigned long) __ptr64
+?SetLen@STRAU@@QEAAHK@Z
+; public: int __cdecl STRU::SetLen(unsigned long) __ptr64
+?SetLen@STRU@@QEAAHK@Z
+; public: void __cdecl ASCLOG_DATETIME_CACHE::SetLocalTime(struct _SYSTEMTIME * __ptr64) __ptr64
+?SetLocalTime@ASCLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
+; public: static int __cdecl ALLOC_CACHE_HANDLER::SetLookasideCleanupInterval(void)
+?SetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
+; public: bool __cdecl CCritSec::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CCritSec@@QEAA_NG@Z
+; public: static unsigned long __cdecl CCritSec::SetSpinCount(struct _RTL_CRITICAL_SECTION * __ptr64,unsigned long)
+?SetSpinCount@CCritSec@@SAKPEAU_RTL_CRITICAL_SECTION@@K@Z
+; public: bool __cdecl CFakeLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CFakeLock@@QEAA_NG@Z
+; public: bool __cdecl CReaderWriterLock2::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CReaderWriterLock2@@QEAA_NG@Z
+; public: bool __cdecl CReaderWriterLock3::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CReaderWriterLock3@@QEAA_NG@Z
+; public: bool __cdecl CReaderWriterLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CReaderWriterLock@@QEAA_NG@Z
+; public: bool __cdecl CRtlResource::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CRtlResource@@QEAA_NG@Z
+; public: bool __cdecl CShareLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CShareLock@@QEAA_NG@Z
+; public: bool __cdecl CSmallSpinLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CSmallSpinLock@@QEAA_NG@Z
+; public: bool __cdecl CSpinLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CSpinLock@@QEAA_NG@Z
+; public: void __cdecl EXTLOG_DATETIME_CACHE::SetSystemTime(struct _SYSTEMTIME * __ptr64) __ptr64
+?SetSystemTime@EXTLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
+; public: void __cdecl CLKRHashTable::SetTableLockSpinCount(unsigned short) __ptr64
+?SetTableLockSpinCount@CLKRHashTable@@QEAAXG@Z
+; public: void __cdecl CLKRLinearHashTable::SetTableLockSpinCount(unsigned short) __ptr64
+?SetTableLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
+; public: int __cdecl CDateTime::SetTime(struct _FILETIME const & __ptr64) __ptr64
+?SetTime@CDateTime@@QEAAHAEBU_FILETIME@@@Z
+; public: int __cdecl CDateTime::SetTime(struct _SYSTEMTIME const & __ptr64) __ptr64
+?SetTime@CDateTime@@QEAAHAEBU_SYSTEMTIME@@@Z
+; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
+?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
+; public: void __cdecl BUFFER::SetValid(int) __ptr64
+?SetValid@BUFFER@@QEAAXH@Z
+; public: unsigned long __cdecl CLKRHashTable::Size(void)const  __ptr64
+?Size@CLKRHashTable@@QEBAKXZ
+; public: unsigned long __cdecl CLKRLinearHashTable::Size(void)const  __ptr64
+?Size@CLKRLinearHashTable@@QEBAKXZ
+; private: unsigned char __cdecl CSharelock::SleepWaitingForLock(int) __ptr64
+?SleepWaitingForLock@CSharelock@@AEAAEH@Z
+StringTimeToFileTime
+; public: int __cdecl EVENT_LOG::Success(void)const  __ptr64
+?Success@EVENT_LOG@@QEBAHXZ
+; public: void __cdecl STRA::SyncWithBuffer(void) __ptr64
+?SyncWithBuffer@STRA@@QEAAXXZ
+; public: void __cdecl STRU::SyncWithBuffer(void) __ptr64
+?SyncWithBuffer@STRU@@QEAAXXZ
+SystemTimeToGMT
+SystemTimeToGMTEx
+; public: int __cdecl CEtwTracer::TracePerUrlEnabled(void) __ptr64
+?TracePerUrlEnabled@CEtwTracer@@QEAAHXZ
+; public: bool __cdecl CReaderWriterLock3::TryConvertSharedToExclusive(void) __ptr64
+?TryConvertSharedToExclusive@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CCritSec::TryReadLock(void) __ptr64
+?TryReadLock@CCritSec@@QEAA_NXZ
+; public: bool __cdecl CFakeLock::TryReadLock(void) __ptr64
+?TryReadLock@CFakeLock@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock2::TryReadLock(void) __ptr64
+?TryReadLock@CReaderWriterLock2@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock3::TryReadLock(void) __ptr64
+?TryReadLock@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock::TryReadLock(void) __ptr64
+?TryReadLock@CReaderWriterLock@@QEAA_NXZ
+; public: bool __cdecl CRtlResource::TryReadLock(void) __ptr64
+?TryReadLock@CRtlResource@@QEAA_NXZ
+; public: bool __cdecl CShareLock::TryReadLock(void) __ptr64
+?TryReadLock@CShareLock@@QEAA_NXZ
+; public: bool __cdecl CSmallSpinLock::TryReadLock(void) __ptr64
+?TryReadLock@CSmallSpinLock@@QEAA_NXZ
+; public: bool __cdecl CSpinLock::TryReadLock(void) __ptr64
+?TryReadLock@CSpinLock@@QEAA_NXZ
+; public: bool __cdecl CCritSec::TryWriteLock(void) __ptr64
+?TryWriteLock@CCritSec@@QEAA_NXZ
+; public: bool __cdecl CFakeLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CFakeLock@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock2::TryWriteLock(void) __ptr64
+?TryWriteLock@CReaderWriterLock2@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock3::TryWriteLock(void) __ptr64
+?TryWriteLock@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CReaderWriterLock@@QEAA_NXZ
+; public: bool __cdecl CRtlResource::TryWriteLock(void) __ptr64
+?TryWriteLock@CRtlResource@@QEAA_NXZ
+; public: bool __cdecl CShareLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CShareLock@@QEAA_NXZ
+; public: bool __cdecl CSmallSpinLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CSmallSpinLock@@QEAA_NXZ
+; public: bool __cdecl CSpinLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CSpinLock@@QEAA_NXZ
+; long __cdecl UlCleanAndCopyUrl(unsigned char * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64)
+?UlCleanAndCopyUrl@@YAJPEAEKPEAKPEAGPEAPEAG@Z
+; public: unsigned long __cdecl CEtwTracer::UnRegister(void) __ptr64
+?UnRegister@CEtwTracer@@QEAAKXZ
+; public: int __cdecl STR::Unescape(void) __ptr64
+?Unescape@STR@@QEAAHXZ
+; public: long __cdecl STRA::Unescape(void) __ptr64
+?Unescape@STRA@@QEAAJXZ
+; public: long __cdecl STRU::Unescape(void) __ptr64
+?Unescape@STRU@@QEAAJXZ
+; public: void __cdecl STR::Unhash(void) __ptr64
+?Unhash@STR@@QEAAXXZ
+; private: void __cdecl ALLOC_CACHE_HANDLER::Unlock(void) __ptr64
+?Unlock@ALLOC_CACHE_HANDLER@@AEAAXXZ
+; public: void __cdecl CLockedDoubleList::Unlock(void) __ptr64
+?Unlock@CLockedDoubleList@@QEAAXXZ
+; public: void __cdecl CLockedSingleList::Unlock(void) __ptr64
+?Unlock@CLockedSingleList@@QEAAXXZ
+; private: void __cdecl HASH_TABLE_BUCKET::Unlock(void) __ptr64
+?Unlock@HASH_TABLE_BUCKET@@AEAAXXZ
+; public: void __cdecl TS_RESOURCE::Unlock(void) __ptr64
+?Unlock@TS_RESOURCE@@QEAAXXZ
+; public: unsigned char __cdecl CSharelock::UpdateMaxSpins(int) __ptr64
+?UpdateMaxSpins@CSharelock@@QEAAEH@Z
+; public: unsigned char __cdecl CSharelock::UpdateMaxUsers(int) __ptr64
+?UpdateMaxUsers@CSharelock@@QEAAEH@Z
+; public: bool __cdecl CLKRHashTable::ValidSignature(void)const  __ptr64
+?ValidSignature@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::ValidSignature(void)const  __ptr64
+?ValidSignature@CLKRLinearHashTable@@QEBA_NXZ
+; private: void __cdecl BUFFER::VerifyState(void)const  __ptr64
+?VerifyState@BUFFER@@AEBAXXZ
+; private: unsigned char __cdecl CSharelock::WaitForExclusiveLock(int) __ptr64
+?WaitForExclusiveLock@CSharelock@@AEAAEH@Z
+; private: unsigned char __cdecl CSharelock::WaitForShareLock(int) __ptr64
+?WaitForShareLock@CSharelock@@AEAAEH@Z
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::WaitType(void)
+?WaitType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; private: void __cdecl CSharelock::WakeAllSleepers(void) __ptr64
+?WakeAllSleepers@CSharelock@@AEAAXXZ
+; public: bool __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::Write(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
+?Write@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA_NAEBUDATETIME_FORMAT_ENTRY@@@Z
+; public: bool __cdecl CDataCache<class CDateTime>::Write(class CDateTime const & __ptr64) __ptr64
+?Write@?$CDataCache@VCDateTime@@@@QEAA_NAEBVCDateTime@@@Z
+; public: void __cdecl CCritSec::WriteLock(void) __ptr64
+?WriteLock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::WriteLock(void) __ptr64
+?WriteLock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::WriteLock(void) __ptr64
+?WriteLock@CLKRHashTable@@QEAAXXZ
+; public: void __cdecl CLKRLinearHashTable::WriteLock(void) __ptr64
+?WriteLock@CLKRLinearHashTable@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock2::WriteLock(void) __ptr64
+?WriteLock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::WriteLock(void) __ptr64
+?WriteLock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::WriteLock(void) __ptr64
+?WriteLock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::WriteLock(void) __ptr64
+?WriteLock@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::WriteLock(void) __ptr64
+?WriteLock@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::WriteLock(void) __ptr64
+?WriteLock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::WriteLock(void) __ptr64
+?WriteLock@CSpinLock@@QEAAXXZ
+; public: void __cdecl CCritSec::WriteUnlock(void) __ptr64
+?WriteUnlock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::WriteUnlock(void)const  __ptr64
+?WriteUnlock@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::WriteUnlock(void)const  __ptr64
+?WriteUnlock@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::WriteUnlock(void) __ptr64
+?WriteUnlock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::WriteUnlock(void) __ptr64
+?WriteUnlock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::WriteUnlock(void) __ptr64
+?WriteUnlock@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CSpinLock@@QEAAXXZ
+ZapRegistryKey
+; protected: void __cdecl CLKRLinearHashTable_Iterator::_AddRef(int)const  __ptr64
+?_AddRef@CLKRLinearHashTable_Iterator@@IEBAXH@Z
+; private: void __cdecl CLKRLinearHashTable::_AddRefRecord(void const * __ptr64,int)const  __ptr64
+?_AddRefRecord@CLKRLinearHashTable@@AEBAXPEBXH@Z
+; private: static class CNodeClump * __ptr64 __cdecl CLKRLinearHashTable::_AllocateNodeClump(void)
+?_AllocateNodeClump@CLKRLinearHashTable@@CAQEAVCNodeClump@@XZ
+; private: class CSegment * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegment(void)const  __ptr64
+?_AllocateSegment@CLKRLinearHashTable@@AEBAQEAVCSegment@@XZ
+; private: static class CDirEntry * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned __int64)
+?_AllocateSegmentDirectory@CLKRLinearHashTable@@CAQEAVCDirEntry@@_K@Z
+; private: static class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_AllocateSubTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool)
+?_AllocateSubTable@CLKRHashTable@@CAQEAVCLKRLinearHashTable@@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAV1@_N@Z
+; private: static class CLKRLinearHashTable * __ptr64 * __ptr64 __cdecl CLKRHashTable::_AllocateSubTableArray(unsigned __int64)
+?_AllocateSubTableArray@CLKRHashTable@@CAQEAPEAVCLKRLinearHashTable@@_K@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
+?_Apply@CLKRLinearHashTable@@AEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@AEAW4LK_PREDICATE@@@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
+?_ApplyIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AEAW42@@Z
+; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_Bucket(unsigned long)const  __ptr64
+?_Bucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_BucketAddress(unsigned long)const  __ptr64
+?_BucketAddress@CLKRLinearHashTable@@AEBAKK@Z
+; private: unsigned long __cdecl CLKRHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
+?_CalcKeyHash@CLKRHashTable@@AEBAK_K@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
+?_CalcKeyHash@CLKRLinearHashTable@@AEBAK_K@Z
+; private: void __cdecl CLKRLinearHashTable::_Clear(bool) __ptr64
+?_Clear@CLKRLinearHashTable@@AEAAX_N@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?_CloseIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; private: bool __cdecl CReaderWriterLock2::_CmpExch(long,long) __ptr64
+?_CmpExch@CReaderWriterLock2@@AEAA_NJJ@Z
+; private: bool __cdecl CReaderWriterLock3::_CmpExch(long,long) __ptr64
+?_CmpExch@CReaderWriterLock3@@AEAA_NJJ@Z
+; private: bool __cdecl CReaderWriterLock::_CmpExch(long,long) __ptr64
+?_CmpExch@CReaderWriterLock@@AEAA_NJJ@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Contract(void) __ptr64
+?_Contract@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
+; private: static long __cdecl CReaderWriterLock3::_CurrentThreadId(void)
+?_CurrentThreadId@CReaderWriterLock3@@CAJXZ
+; private: static long __cdecl CSmallSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSmallSpinLock@@CAJXZ
+; private: static long __cdecl CSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSpinLock@@CAJXZ
+; private: unsigned long __cdecl CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_PREDICATE & __ptr64) __ptr64
+?_DeleteIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1AEAW42@@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteKey(unsigned __int64,unsigned long) __ptr64
+?_DeleteKey@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@_KK@Z
+; private: bool __cdecl CLKRLinearHashTable::_DeleteNode(class CBucket * __ptr64,class CNodeClump * __ptr64 & __ptr64,class CNodeClump * __ptr64 & __ptr64,int & __ptr64) __ptr64
+?_DeleteNode@CLKRLinearHashTable@@AEAA_NPEAVCBucket@@AEAPEAVCNodeClump@@1AEAH@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteRecord(void const * __ptr64,unsigned long) __ptr64
+?_DeleteRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK@Z
+; private: bool __cdecl CLKRLinearHashTable::_EqualKeys(unsigned __int64,unsigned __int64)const  __ptr64
+?_EqualKeys@CLKRLinearHashTable@@AEBA_N_K0@Z
+; private: bool __cdecl CLKRLinearHashTable::_Erase(class CLKRLinearHashTable_Iterator & __ptr64,unsigned long) __ptr64
+?_Erase@CLKRLinearHashTable@@AEAA_NAEAVCLKRLinearHashTable_Iterator@@K@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Expand(void) __ptr64
+?_Expand@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
+; private: unsigned __int64 const  __cdecl CLKRHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
+?_ExtractKey@CLKRHashTable@@AEBA?B_KPEBX@Z
+; private: unsigned __int64 const  __cdecl CLKRLinearHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
+?_ExtractKey@CLKRLinearHashTable@@AEBA?B_KPEBX@Z
+; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_FindBucket(unsigned long,bool)const  __ptr64
+?_FindBucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K_N@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindKey(unsigned __int64,unsigned long,void const * __ptr64 * __ptr64,class CLKRLinearHashTable_Iterator * __ptr64)const  __ptr64
+?_FindKey@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@_KKPEAPEBXPEAVCLKRLinearHashTable_Iterator@@@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindRecord(void const * __ptr64,unsigned long)const  __ptr64
+?_FindRecord@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@PEBXK@Z
+; private: static bool __cdecl CLKRLinearHashTable::_FreeNodeClump(class CNodeClump * __ptr64)
+?_FreeNodeClump@CLKRLinearHashTable@@CA_NPEAVCNodeClump@@@Z
+; private: bool __cdecl CLKRLinearHashTable::_FreeSegment(class CSegment * __ptr64)const  __ptr64
+?_FreeSegment@CLKRLinearHashTable@@AEBA_NPEAVCSegment@@@Z
+; private: bool __cdecl CLKRLinearHashTable::_FreeSegmentDirectory(void) __ptr64
+?_FreeSegmentDirectory@CLKRLinearHashTable@@AEAA_NXZ
+; private: static bool __cdecl CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable * __ptr64)
+?_FreeSubTable@CLKRHashTable@@CA_NPEAVCLKRLinearHashTable@@@Z
+; private: static bool __cdecl CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * __ptr64 * __ptr64)
+?_FreeSubTableArray@CLKRHashTable@@CA_NPEAPEAVCLKRLinearHashTable@@@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long)const  __ptr64
+?_H0@CLKRLinearHashTable@@AEBAKK@Z
+; private: static unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long,unsigned long)
+?_H0@CLKRLinearHashTable@@CAKKK@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long)const  __ptr64
+?_H1@CLKRLinearHashTable@@AEBAKK@Z
+; private: static unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long,unsigned long)
+?_H1@CLKRLinearHashTable@@CAKKK@Z
+; protected: bool __cdecl CLKRHashTable_Iterator::_Increment(bool) __ptr64
+?_Increment@CLKRHashTable_Iterator@@IEAA_N_N@Z
+; protected: bool __cdecl CLKRLinearHashTable_Iterator::_Increment(bool) __ptr64
+?_Increment@CLKRLinearHashTable_Iterator@@IEAA_N_N@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Initialize(unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),char const * __ptr64,double,unsigned long) __ptr64
+?_Initialize@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@P6A?B_KPEBX@ZP6AK_K@ZP6A_N22@ZP6AX0H@ZPEBDNK@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?_InitializeIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InsertRecord(void const * __ptr64,unsigned long,bool,class CLKRLinearHashTable_Iterator * __ptr64) __ptr64
+?_InsertRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK_NPEAVCLKRLinearHashTable_Iterator@@@Z
+; private: void __cdecl CLKRHashTable::_InsertThisIntoGlobalList(void) __ptr64
+?_InsertThisIntoGlobalList@CLKRHashTable@@AEAAXXZ
+; private: void __cdecl CLKRLinearHashTable::_InsertThisIntoGlobalList(void) __ptr64
+?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AEAAXXZ
+; private: bool __cdecl CSpinLock::_IsLocked(void)const  __ptr64
+?_IsLocked@CSpinLock@@AEBA_NXZ
+; private: int __cdecl CLKRLinearHashTable::_IsNodeCompact(class CBucket * __ptr64 const)const  __ptr64
+?_IsNodeCompact@CLKRLinearHashTable@@AEBAHQEAVCBucket@@@Z
+; private: bool __cdecl CLKRHashTable::_IsValidIterator(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
+?_IsValidIterator@CLKRHashTable@@AEBA_NAEBVCLKRHashTable_Iterator@@@Z
+; private: bool __cdecl CLKRLinearHashTable::_IsValidIterator(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
+?_IsValidIterator@CLKRLinearHashTable@@AEBA_NAEBVCLKRLinearHashTable_Iterator@@@Z
+; private: void __cdecl CSpinLock::_Lock(void) __ptr64
+?_Lock@CSpinLock@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock2::_LockSpin(bool) __ptr64
+?_LockSpin@CReaderWriterLock2@@AEAAX_N@Z
+; private: void __cdecl CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
+?_LockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
+; private: void __cdecl CReaderWriterLock::_LockSpin(bool) __ptr64
+?_LockSpin@CReaderWriterLock@@AEAAX_N@Z
+; private: void __cdecl CSmallSpinLock::_LockSpin(void) __ptr64
+?_LockSpin@CSmallSpinLock@@AEAAXXZ
+; private: void __cdecl CSpinLock::_LockSpin(void) __ptr64
+?_LockSpin@CSpinLock@@AEAAXXZ
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_MergeRecordSets(class CBucket * __ptr64,class CNodeClump * __ptr64,class CNodeClump * __ptr64) __ptr64
+?_MergeRecordSets@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCBucket@@PEAVCNodeClump@@1@Z
+; private: static enum LK_PREDICATE  __cdecl CLKRLinearHashTable::_PredTrue(void const * __ptr64,void * __ptr64)
+?_PredTrue@CLKRLinearHashTable@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
+; private: void __cdecl CReaderWriterLock2::_ReadLockSpin(void) __ptr64
+?_ReadLockSpin@CReaderWriterLock2@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
+?_ReadLockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
+; private: void __cdecl CReaderWriterLock::_ReadLockSpin(void) __ptr64
+?_ReadLockSpin@CReaderWriterLock@@AEAAXXZ
+; protected: static void __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadMemoryBarrier(void)
+?_ReadMemoryBarrier@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@KAXXZ
+; protected: static void __cdecl CDataCache<class CDateTime>::_ReadMemoryBarrier(void)
+?_ReadMemoryBarrier@?$CDataCache@VCDateTime@@@@KAXXZ
+; private: bool __cdecl CLKRLinearHashTable::_ReadOrWriteLock(void)const  __ptr64
+?_ReadOrWriteLock@CLKRLinearHashTable@@AEBA_NXZ
+; private: void __cdecl CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const  __ptr64
+?_ReadOrWriteUnlock@CLKRLinearHashTable@@AEBAX_N@Z
+; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadSequence(void)const  __ptr64
+?_ReadSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEBAJXZ
+; protected: long __cdecl CDataCache<class CDateTime>::_ReadSequence(void)const  __ptr64
+?_ReadSequence@?$CDataCache@VCDateTime@@@@IEBAJXZ
+; private: void __cdecl CLKRHashTable::_RemoveThisFromGlobalList(void) __ptr64
+?_RemoveThisFromGlobalList@CLKRHashTable@@AEAAXXZ
+; private: void __cdecl CLKRLinearHashTable::_RemoveThisFromGlobalList(void) __ptr64
+?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AEAAXXZ
+; private: unsigned long __cdecl CLKRLinearHashTable::_SegIndex(unsigned long)const  __ptr64
+?_SegIndex@CLKRLinearHashTable@@AEBAKK@Z
+; private: class CSegment * __ptr64 & __ptr64 __cdecl CLKRLinearHashTable::_Segment(unsigned long)const  __ptr64
+?_Segment@CLKRLinearHashTable@@AEBAAEAPEAVCSegment@@K@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE,unsigned long) __ptr64
+?_SetSegVars@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@W4LK_TABLESIZE@@K@Z
+; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_SetSequence(long) __ptr64
+?_SetSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEAAJJ@Z
+; protected: long __cdecl CDataCache<class CDateTime>::_SetSequence(long) __ptr64
+?_SetSequence@?$CDataCache@VCDateTime@@@@IEAAJJ@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SplitRecordSet(class CNodeClump * __ptr64,class CNodeClump * __ptr64,unsigned long,unsigned long,unsigned long,class CNodeClump * __ptr64) __ptr64
+?_SplitRecordSet@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCNodeClump@@0KKK0@Z
+; private: class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_SubTable(unsigned long)const  __ptr64
+?_SubTable@CLKRHashTable@@AEBAPEAVCLKRLinearHashTable@@K@Z
+; private: int __cdecl CLKRHashTable::_SubTableIndex(class CLKRLinearHashTable * __ptr64)const  __ptr64
+?_SubTableIndex@CLKRHashTable@@AEBAHPEAVCLKRLinearHashTable@@@Z
+; private: bool __cdecl CSmallSpinLock::_TryLock(void) __ptr64
+?_TryLock@CSmallSpinLock@@AEAA_NXZ
+; private: bool __cdecl CSpinLock::_TryLock(void) __ptr64
+?_TryLock@CSpinLock@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock2::_TryReadLock(void) __ptr64
+?_TryReadLock@CReaderWriterLock2@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock3::_TryReadLock(void) __ptr64
+?_TryReadLock@CReaderWriterLock3@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock::_TryReadLock(void) __ptr64
+?_TryReadLock@CReaderWriterLock@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock3::_TryReadLockRecursive(void) __ptr64
+?_TryReadLockRecursive@CReaderWriterLock3@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock3::_TryWriteLock2(void) __ptr64
+?_TryWriteLock2@CReaderWriterLock3@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock2::_TryWriteLock(long) __ptr64
+?_TryWriteLock@CReaderWriterLock2@@AEAA_NJ@Z
+; private: bool __cdecl CReaderWriterLock3::_TryWriteLock(long) __ptr64
+?_TryWriteLock@CReaderWriterLock3@@AEAA_NJ@Z
+; private: bool __cdecl CReaderWriterLock::_TryWriteLock(void) __ptr64
+?_TryWriteLock@CReaderWriterLock@@AEAA_NXZ
+; private: void __cdecl CSpinLock::_Unlock(void) __ptr64
+?_Unlock@CSpinLock@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock2::_WriteLockSpin(void) __ptr64
+?_WriteLockSpin@CReaderWriterLock2@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock3::_WriteLockSpin(void) __ptr64
+?_WriteLockSpin@CReaderWriterLock3@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock::_WriteLockSpin(void) __ptr64
+?_WriteLockSpin@CReaderWriterLock@@AEAAXXZ
+; long const * const  `public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
+?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SAPEBJXZ@4QBJB
+; private: static struct _RTL_CRITICAL_SECTION  ALLOC_CACHE_HANDLER::sm_csItems
+?sm_csItems@ALLOC_CACHE_HANDLER@@0U_RTL_CRITICAL_SECTION@@A DATA
+; protected: static double  CCritSec::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CCritSec@@1NA DATA
+; protected: static double  CFakeLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CFakeLock@@1NA DATA
+; protected: static double  CReaderWriterLock2::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CReaderWriterLock2@@1NA DATA
+; protected: static double  CReaderWriterLock3::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CReaderWriterLock3@@1NA DATA
+; protected: static double  CReaderWriterLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CReaderWriterLock@@1NA DATA
+; protected: static double  CRtlResource::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CRtlResource@@1NA DATA
+; protected: static double  CShareLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CShareLock@@1NA DATA
+; protected: static double  CSmallSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
+; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA DATA
+; private: static int  ALLOC_CACHE_HANDLER::sm_fInitCsItems
+?sm_fInitCsItems@ALLOC_CACHE_HANDLER@@0HA DATA
+; private: static void * __ptr64  __ptr64 ALLOC_CACHE_HANDLER::sm_hTimer
+?sm_hTimer@ALLOC_CACHE_HANDLER@@0PEAXEA DATA
+; private: static struct _LIST_ENTRY  ALLOC_CACHE_HANDLER::sm_lItemsHead
+?sm_lItemsHead@ALLOC_CACHE_HANDLER@@0U_LIST_ENTRY@@A DATA
+; private: static class CLockedDoubleList  CLKRHashTable::sm_llGlobalList
+?sm_llGlobalList@CLKRHashTable@@0VCLockedDoubleList@@A DATA
+; private: static class CLockedDoubleList  CLKRLinearHashTable::sm_llGlobalList
+?sm_llGlobalList@CLKRLinearHashTable@@0VCLockedDoubleList@@A DATA
+; private: static long  ALLOC_CACHE_HANDLER::sm_nFillPattern
+?sm_nFillPattern@ALLOC_CACHE_HANDLER@@0JA DATA
+; protected: static class ALLOC_CACHE_HANDLER * __ptr64  __ptr64 CLKRLinearHashTable::sm_palloc
+?sm_palloc@CLKRLinearHashTable@@1PEAVALLOC_CACHE_HANDLER@@EA DATA
+; protected: static unsigned short  CCritSec::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CCritSec@@1GA DATA
+; protected: static unsigned short  CFakeLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CFakeLock@@1GA DATA
+; protected: static unsigned short  CReaderWriterLock2::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CReaderWriterLock2@@1GA DATA
+; protected: static unsigned short  CReaderWriterLock3::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CReaderWriterLock3@@1GA DATA
+; protected: static unsigned short  CReaderWriterLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CReaderWriterLock@@1GA DATA
+; protected: static unsigned short  CRtlResource::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CRtlResource@@1GA DATA
+; protected: static unsigned short  CShareLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CShareLock@@1GA DATA
+; protected: static unsigned short  CSmallSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
+; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
+CreateRefTraceLog
+CreateTraceLog
+DestroyRefTraceLog
+DestroyTraceLog
+DllMain
+GetAllocCounters
+GetCurrentTimeInMilliseconds
+GetCurrentTimeInSeconds
+GetQueryType
+IISCaptureStackBackTrace
+IISGetCurrentTime
+IISGetPlatformType
+IISInitializeCriticalSection
+IISSetCriticalSectionSpinCount
+IisCalloc
+IisFree
+IisHeap
+IisMalloc
+IisReAlloc
+InetAcquireResourceExclusive
+InetAcquireResourceShared
+InetConvertExclusiveToShared
+InetConvertSharedToExclusive
+InetDeleteResource
+InetInitializeResource
+InetReleaseResource
+InitializeIISRTL
+InitializeSecondsTimer
+IsNumberInUnicodeList
+LKRHashTableInit
+LKRHashTableUninit
+MIDL_user_allocate
+MIDL_user_free
+MonBuildInstanceDefinition
+PuCloseDbgPrintFile
+PuCreateDebugPrintsObject
+PuDbgAssertFailed
+PuDbgCaptureContext
+PuDbgCreateEvent
+PuDbgCreateMutex
+PuDbgCreateSemaphore
+PuDbgDump
+PuDbgPrint
+PuDbgPrintW
+PuDeleteDebugPrintsObject
+PuLoadDebugFlagsFromReg
+PuLoadDebugFlagsFromRegStr
+ResetTraceLog
+RpcBindHandleForServer
+RpcBindHandleFree
+RpcBindHandleOverLpc
+RpcBindHandleOverNamedPipe
+RpcBindHandleOverTcpIp
+RpcuFindProtocolToUse
+TerminateIISRTL
+TerminateSecondsTimer
+WriteRefTraceLog
+WriteRefTraceLogEx
+WriteTraceLog
+stristr
diff --git a/mingw-w64-crt/lib64/iissuba.def b/mingw-w64-crt/lib64/iissuba.def
index 870dde9..d0349d5 100644
--- a/mingw-w64-crt/lib64/iissuba.def
+++ b/mingw-w64-crt/lib64/iissuba.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file SUBAUTH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SUBAUTH.dll
-EXPORTS
-Msv1_0SubAuthenticationRoutineEx
-RegisterIISSUBA
-UnregisterIISSUBA
+; 
+; Exports of file SUBAUTH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SUBAUTH.dll
+EXPORTS
+Msv1_0SubAuthenticationRoutineEx
+RegisterIISSUBA
+UnregisterIISSUBA
diff --git a/mingw-w64-crt/lib64/iisui.def b/mingw-w64-crt/lib64/iisui.def
index 50e47e4..6aae85e 100644
--- a/mingw-w64-crt/lib64/iisui.def
+++ b/mingw-w64-crt/lib64/iisui.def
@@ -1,1901 +1,1901 @@
-; 
-; Exports of file iisui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iisui.dll
-EXPORTS
-InitCommonDll
-; public: __cdecl CAccessEntry::CAccessEntry(class CAccessEntry & __ptr64) __ptr64
-??0CAccessEntry@@QEAA@AEAV0@@Z
-; public: __cdecl CAccessEntry::CAccessEntry(unsigned long,void * __ptr64,unsigned short const * __ptr64,int) __ptr64
-??0CAccessEntry@@QEAA@KPEAXPEBGH@Z
-; public: __cdecl CAccessEntry::CAccessEntry(void * __ptr64,int) __ptr64
-??0CAccessEntry@@QEAA@PEAXH@Z
-; public: __cdecl CAccessEntry::CAccessEntry(void * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CAccessEntry@@QEAA@PEAXPEBG1@Z
-; public: __cdecl CBlob::CBlob(class CBlob const & __ptr64) __ptr64
-??0CBlob@@QEAA@AEBV0@@Z
-; public: __cdecl CBlob::CBlob(unsigned long,unsigned char * __ptr64,int) __ptr64
-??0CBlob@@QEAA@KPEAEH@Z
-; public: __cdecl CBlob::CBlob(void) __ptr64
-??0CBlob@@QEAA@XZ
-; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo & __ptr64) __ptr64
-??0CComAuthInfo@@QEAA@AEAV0@@Z
-; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo * __ptr64) __ptr64
-??0CComAuthInfo@@QEAA@PEAV0@@Z
-; public: __cdecl CComAuthInfo::CComAuthInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CComAuthInfo@@QEAA@PEBG00@Z
-; public: __cdecl CConfirmDlg::CConfirmDlg(class CWnd * __ptr64) __ptr64
-??0CConfirmDlg@@QEAA@PEAVCWnd@@@Z
-; public: __cdecl CDirBrowseDlg::CDirBrowseDlg(class CDirBrowseDlg const & __ptr64) __ptr64
-??0CDirBrowseDlg@@QEAA@AEBV0@@Z
-; public: __cdecl CDirBrowseDlg::CDirBrowseDlg(class CWnd * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CDirBrowseDlg@@QEAA@PEAVCWnd@@PEBG@Z
-; public: __cdecl CDownButton::CDownButton(void) __ptr64
-??0CDownButton@@QEAA@XZ
-; public: __cdecl CEmphasizedDialog::CEmphasizedDialog(unsigned int,class CWnd * __ptr64) __ptr64
-??0CEmphasizedDialog@@QEAA@IPEAVCWnd@@@Z
-; public: __cdecl CEmphasizedDialog::CEmphasizedDialog(unsigned short const * __ptr64,class CWnd * __ptr64) __ptr64
-??0CEmphasizedDialog@@QEAA@PEBGPEAVCWnd@@@Z
-; public: __cdecl CEmphasizedDialog::CEmphasizedDialog(void) __ptr64
-??0CEmphasizedDialog@@QEAA@XZ
-; public: __cdecl CError::CError(long) __ptr64
-??0CError@@QEAA@J@Z
-; public: __cdecl CError::CError(unsigned long) __ptr64
-??0CError@@QEAA@K@Z
-; public: __cdecl CError::CError(void) __ptr64
-??0CError@@QEAA@XZ
-; public: __cdecl CGetComputer::CGetComputer(class CGetComputer const & __ptr64) __ptr64
-??0CGetComputer@@QEAA@AEBV0@@Z
-; public: __cdecl CGetComputer::CGetComputer(void) __ptr64
-??0CGetComputer@@QEAA@XZ
-; public: __cdecl CGetUsers::CGetUsers(unsigned short const * __ptr64,int) __ptr64
-??0CGetUsers@@QEAA@PEBGH@Z
-; public: __cdecl CHeaderListBox::CHeaderListBox(unsigned long,unsigned short const * __ptr64) __ptr64
-??0CHeaderListBox@@QEAA@KPEBG@Z
-; public: __cdecl CIISAppPool::CIISAppPool(class CIISAppPool & __ptr64) __ptr64
-??0CIISAppPool@@QEAA@AEAV0@@Z
-; public: __cdecl CIISAppPool::CIISAppPool(class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CIISAppPool@@QEAA@PEAVCComAuthInfo@@PEBG@Z
-; public: __cdecl CIISApplication::CIISApplication(class CIISApplication & __ptr64) __ptr64
-??0CIISApplication@@QEAA@AEAV0@@Z
-; public: __cdecl CIISApplication::CIISApplication(class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CIISApplication@@QEAA@PEAVCComAuthInfo@@PEBG@Z
-; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
-??0CIISInterface@@QEAA@AEAV0@@Z
-; public: __cdecl CIISInterface::CIISInterface(class CComAuthInfo * __ptr64,long) __ptr64
-??0CIISInterface@@QEAA@PEAVCComAuthInfo@@J@Z
-; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
-??0CIISSvcControl@@QEAA@AEAV0@@Z
-; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl * __ptr64) __ptr64
-??0CIISSvcControl@@QEAA@PEAV0@@Z
-; public: __cdecl CIISSvcControl::CIISSvcControl(class CComAuthInfo * __ptr64) __ptr64
-??0CIISSvcControl@@QEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CIISWizardBookEnd::CIISWizardBookEnd(unsigned int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
-??0CIISWizardBookEnd@@QEAA@IIIII@Z
-; public: __cdecl CIISWizardBookEnd::CIISWizardBookEnd(long * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
-??0CIISWizardBookEnd@@QEAA@PEAJIIIIIII@Z
-; public: __cdecl CIISWizardPage::CIISWizardPage(unsigned int,unsigned int,int,unsigned int,unsigned int) __ptr64
-??0CIISWizardPage@@QEAA@IIHII@Z
-; public: __cdecl CIISWizardSheet::CIISWizardSheet(unsigned int,unsigned int,unsigned long,unsigned long) __ptr64
-??0CIISWizardSheet@@QEAA@IIKK@Z
-; public: __cdecl CILong::CILong(long) __ptr64
-??0CILong@@QEAA@J@Z
-; public: __cdecl CILong::CILong(unsigned short const * __ptr64) __ptr64
-??0CILong@@QEAA@PEBG@Z
-; public: __cdecl CILong::CILong(void) __ptr64
-??0CILong@@QEAA@XZ
-; protected: __cdecl CINumber::CINumber(void) __ptr64
-??0CINumber@@IEAA@XZ
-; public: __cdecl CIPAccessDescriptor::CIPAccessDescriptor(class CIPAccessDescriptor const & __ptr64) __ptr64
-??0CIPAccessDescriptor@@QEAA@AEBV0@@Z
-; public: __cdecl CIPAccessDescriptor::CIPAccessDescriptor(int) __ptr64
-??0CIPAccessDescriptor@@QEAA@H@Z
-; public: __cdecl CIPAccessDescriptor::CIPAccessDescriptor(int,unsigned long,unsigned long,int) __ptr64
-??0CIPAccessDescriptor@@QEAA@HKKH@Z
-; public: __cdecl CIPAccessDescriptor::CIPAccessDescriptor(int,unsigned short const * __ptr64) __ptr64
-??0CIPAccessDescriptor@@QEAA@HPEBG@Z
-; public: __cdecl CIPAddress::CIPAddress(class CIPAddress const & __ptr64) __ptr64
-??0CIPAddress@@QEAA@AEBV0@@Z
-; public: __cdecl CIPAddress::CIPAddress(class CString const & __ptr64) __ptr64
-??0CIPAddress@@QEAA@AEBVCString@@@Z
-; public: __cdecl CIPAddress::CIPAddress(unsigned char,unsigned char,unsigned char,unsigned char) __ptr64
-??0CIPAddress@@QEAA@EEEE@Z
-; public: __cdecl CIPAddress::CIPAddress(unsigned long,int) __ptr64
-??0CIPAddress@@QEAA@KH@Z
-; public: __cdecl CIPAddress::CIPAddress(unsigned char * __ptr64,int) __ptr64
-??0CIPAddress@@QEAA@PEAEH@Z
-; public: __cdecl CIPAddress::CIPAddress(unsigned short const * __ptr64,int) __ptr64
-??0CIPAddress@@QEAA@PEBGH@Z
-; public: __cdecl CIPAddress::CIPAddress(void) __ptr64
-??0CIPAddress@@QEAA@XZ
-; public: __cdecl CInheritanceDlg::CInheritanceDlg(int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned short const * __ptr64,int,class CComAuthInfo * __ptr64,unsigned short const * __ptr64,class CWnd * __ptr64) __ptr64
-??0CInheritanceDlg@@QEAA@HKKKKPEBGHPEAVCComAuthInfo@@0PEAVCWnd@@@Z
-; public: __cdecl CInheritanceDlg::CInheritanceDlg(unsigned long,int,class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class CWnd * __ptr64) __ptr64
-??0CInheritanceDlg@@QEAA@KHPEAVCComAuthInfo@@PEBG1PEAVCWnd@@@Z
-; public: __cdecl CInheritanceDlg::CInheritanceDlg(unsigned long,int,class CComAuthInfo * __ptr64,unsigned short const * __ptr64,class CStringList & __ptr64,unsigned short const * __ptr64,class CWnd * __ptr64) __ptr64
-??0CInheritanceDlg@@QEAA@KHPEAVCComAuthInfo@@PEBGAEAVCStringList@@1PEAVCWnd@@@Z
-; public: __cdecl CMappedBitmapButton::CMappedBitmapButton(void) __ptr64
-??0CMappedBitmapButton@@QEAA@XZ
-; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
-??0CMetaBack@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaBack::CMetaBack(class CComAuthInfo * __ptr64) __ptr64
-??0CMetaBack@@QEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
-??0CMetaEnumerator@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(int,class CMetaKey * __ptr64) __ptr64
-??0CMetaEnumerator@@QEAA@HPEAVCMetaKey@@@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0CMetaEnumerator@@QEAA@PEAVCComAuthInfo@@PEBGK@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0CMetaEnumerator@@QEAA@PEAVCMetaInterface@@PEBGK@Z
-; protected: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface * __ptr64) __ptr64
-??0CMetaInterface@@IEAA@PEAV0@@Z
-; protected: __cdecl CMetaInterface::CMetaInterface(class CComAuthInfo * __ptr64) __ptr64
-??0CMetaInterface@@IEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface & __ptr64) __ptr64
-??0CMetaInterface@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CMetaKey & __ptr64) __ptr64
-??0CMetaKey@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaKey::CMetaKey(int,class CMetaKey * __ptr64) __ptr64
-??0CMetaKey@@QEAA@HPEAV0@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64) __ptr64
-??0CMetaKey@@QEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-??0CMetaKey@@QEAA@PEAVCComAuthInfo@@PEBGKK@Z
-; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64) __ptr64
-??0CMetaKey@@QEAA@PEAVCMetaInterface@@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-??0CMetaKey@@QEAA@PEAVCMetaInterface@@PEBGKK@Z
-; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
-??0CMetabasePath@@QEAA@AEBV0@@Z
-; public: __cdecl CMetabasePath::CMetabasePath(int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CMetabasePath@@QEAA@HPEBG000@Z
-; public: __cdecl CMetabasePath::CMetabasePath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CMetabasePath@@QEAA@PEBGK00@Z
-; protected: __cdecl CODLBox::CODLBox(void) __ptr64
-??0CODLBox@@IEAA@XZ
-; public: __cdecl CObListIter::CObListIter(class CObListPlus const & __ptr64) __ptr64
-??0CObListIter@@QEAA@AEBVCObListPlus@@@Z
-; public: __cdecl CObListPlus::CObListPlus(int) __ptr64
-??0CObListPlus@@QEAA@H@Z
-; protected: __cdecl CObjHelper::CObjHelper(void) __ptr64
-??0CObjHelper@@IEAA@XZ
-; public: __cdecl CObjHelper::CObjHelper(class CObjHelper const & __ptr64) __ptr64
-??0CObjHelper@@QEAA@AEBV0@@Z
-; public: __cdecl CObjectPlus::CObjectPlus(void) __ptr64
-??0CObjectPlus@@QEAA@XZ
-; public: __cdecl CRMCComboBox::CRMCComboBox(void) __ptr64
-??0CRMCComboBox@@QEAA@XZ
-; public: __cdecl CRMCListBox::CRMCListBox(void) __ptr64
-??0CRMCListBox@@QEAA@XZ
-; public: __cdecl CRMCListBoxDrawStruct::CRMCListBoxDrawStruct(class CDC * __ptr64,struct tagRECT * __ptr64,int,unsigned __int64,int,class CRMCListBoxResources const * __ptr64) __ptr64
-??0CRMCListBoxDrawStruct@@QEAA@PEAVCDC@@PEAUtagRECT@@H_KHPEBVCRMCListBoxResources@@@Z
-; public: __cdecl CRMCListBoxHeader::CRMCListBoxHeader(unsigned long) __ptr64
-??0CRMCListBoxHeader@@QEAA@K@Z
-; public: __cdecl CRMCListBoxResources::CRMCListBoxResources(int,int,unsigned long) __ptr64
-??0CRMCListBoxResources@@QEAA@HHK@Z
-; public: __cdecl CStrPassword::CStrPassword(class CStrPassword & __ptr64) __ptr64
-??0CStrPassword@@QEAA@AEAV0@@Z
-; public: __cdecl CStrPassword::CStrPassword(unsigned short * __ptr64) __ptr64
-??0CStrPassword@@QEAA@PEAG@Z
-; public: __cdecl CStrPassword::CStrPassword(unsigned short const * __ptr64) __ptr64
-??0CStrPassword@@QEAA@PEBG@Z
-; public: __cdecl CStrPassword::CStrPassword(void) __ptr64
-??0CStrPassword@@QEAA@XZ
-; public: __cdecl CStringListEx::CStringListEx(int) __ptr64
-??0CStringListEx@@QEAA@H@Z
-; public: __cdecl CUpButton::CUpButton(void) __ptr64
-??0CUpButton@@QEAA@XZ
-; protected: __cdecl CWamInterface::CWamInterface(class CWamInterface * __ptr64) __ptr64
-??0CWamInterface@@IEAA@PEAV0@@Z
-; protected: __cdecl CWamInterface::CWamInterface(class CComAuthInfo * __ptr64) __ptr64
-??0CWamInterface@@IEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CWamInterface::CWamInterface(class CWamInterface & __ptr64) __ptr64
-??0CWamInterface@@QEAA@AEAV0@@Z
-; public: virtual __cdecl CAccessEntry::~CAccessEntry(void) __ptr64
-??1CAccessEntry@@UEAA@XZ
-; public: __cdecl CBlob::~CBlob(void) __ptr64
-??1CBlob@@QEAA@XZ
-; public: __cdecl CComAuthInfo::~CComAuthInfo(void) __ptr64
-??1CComAuthInfo@@QEAA@XZ
-; public: virtual __cdecl CConfirmDlg::~CConfirmDlg(void) __ptr64
-??1CConfirmDlg@@UEAA@XZ
-; public: __cdecl CDirBrowseDlg::~CDirBrowseDlg(void) __ptr64
-??1CDirBrowseDlg@@QEAA@XZ
-; public: virtual __cdecl CDownButton::~CDownButton(void) __ptr64
-??1CDownButton@@UEAA@XZ
-; public: virtual __cdecl CEmphasizedDialog::~CEmphasizedDialog(void) __ptr64
-??1CEmphasizedDialog@@UEAA@XZ
-; public: __cdecl CError::~CError(void) __ptr64
-??1CError@@QEAA@XZ
-; public: __cdecl CGetComputer::~CGetComputer(void) __ptr64
-??1CGetComputer@@QEAA@XZ
-; public: virtual __cdecl CGetUsers::~CGetUsers(void) __ptr64
-??1CGetUsers@@UEAA@XZ
-; public: virtual __cdecl CHeaderListBox::~CHeaderListBox(void) __ptr64
-??1CHeaderListBox@@UEAA@XZ
-; public: virtual __cdecl CIISAppPool::~CIISAppPool(void) __ptr64
-??1CIISAppPool@@UEAA@XZ
-; public: virtual __cdecl CIISApplication::~CIISApplication(void) __ptr64
-??1CIISApplication@@UEAA@XZ
-; public: __cdecl CIISInterface::~CIISInterface(void) __ptr64
-??1CIISInterface@@QEAA@XZ
-; public: virtual __cdecl CIISSvcControl::~CIISSvcControl(void) __ptr64
-??1CIISSvcControl@@UEAA@XZ
-; public: virtual __cdecl CIISWizardBookEnd::~CIISWizardBookEnd(void) __ptr64
-??1CIISWizardBookEnd@@UEAA@XZ
-; public: virtual __cdecl CIISWizardPage::~CIISWizardPage(void) __ptr64
-??1CIISWizardPage@@UEAA@XZ
-; public: virtual __cdecl CIISWizardSheet::~CIISWizardSheet(void) __ptr64
-??1CIISWizardSheet@@UEAA@XZ
-; public: __cdecl CILong::~CILong(void) __ptr64
-??1CILong@@QEAA@XZ
-; protected: __cdecl CINumber::~CINumber(void) __ptr64
-??1CINumber@@IEAA@XZ
-; public: virtual __cdecl CIPAccessDescriptor::~CIPAccessDescriptor(void) __ptr64
-??1CIPAccessDescriptor@@UEAA@XZ
-; public: virtual __cdecl CIPAddress::~CIPAddress(void) __ptr64
-??1CIPAddress@@UEAA@XZ
-; public: virtual __cdecl CInheritanceDlg::~CInheritanceDlg(void) __ptr64
-??1CInheritanceDlg@@UEAA@XZ
-; public: virtual __cdecl CMappedBitmapButton::~CMappedBitmapButton(void) __ptr64
-??1CMappedBitmapButton@@UEAA@XZ
-; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
-??1CMetaBack@@UEAA@XZ
-; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
-??1CMetaEnumerator@@UEAA@XZ
-; public: virtual __cdecl CMetaInterface::~CMetaInterface(void) __ptr64
-??1CMetaInterface@@UEAA@XZ
-; public: virtual __cdecl CMetaKey::~CMetaKey(void) __ptr64
-??1CMetaKey@@UEAA@XZ
-; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
-??1CMetabasePath@@QEAA@XZ
-; protected: __cdecl CODLBox::~CODLBox(void) __ptr64
-??1CODLBox@@IEAA@XZ
-; public: virtual __cdecl CObListIter::~CObListIter(void) __ptr64
-??1CObListIter@@UEAA@XZ
-; public: virtual __cdecl CObListPlus::~CObListPlus(void) __ptr64
-??1CObListPlus@@UEAA@XZ
-; public: virtual __cdecl CObjectPlus::~CObjectPlus(void) __ptr64
-??1CObjectPlus@@UEAA@XZ
-; public: virtual __cdecl CRMCComboBox::~CRMCComboBox(void) __ptr64
-??1CRMCComboBox@@UEAA@XZ
-; public: virtual __cdecl CRMCListBox::~CRMCListBox(void) __ptr64
-??1CRMCListBox@@UEAA@XZ
-; public: virtual __cdecl CRMCListBoxHeader::~CRMCListBoxHeader(void) __ptr64
-??1CRMCListBoxHeader@@UEAA@XZ
-; public: __cdecl CRMCListBoxResources::~CRMCListBoxResources(void) __ptr64
-??1CRMCListBoxResources@@QEAA@XZ
-; public: __cdecl CStrPassword::~CStrPassword(void) __ptr64
-??1CStrPassword@@QEAA@XZ
-; public: virtual __cdecl CStringListEx::~CStringListEx(void) __ptr64
-??1CStringListEx@@UEAA@XZ
-; public: virtual __cdecl CUpButton::~CUpButton(void) __ptr64
-??1CUpButton@@UEAA@XZ
-; public: virtual __cdecl CWamInterface::~CWamInterface(void) __ptr64
-??1CWamInterface@@UEAA@XZ
-; public: class CBlob & __ptr64 __cdecl CBlob::operator=(class CBlob const & __ptr64) __ptr64
-??4CBlob@@QEAAAEAV0@AEBV0@@Z
-; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo & __ptr64) __ptr64
-??4CComAuthInfo@@QEAAAEAV0@AEAV0@@Z
-; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo * __ptr64) __ptr64
-??4CComAuthInfo@@QEAAAEAV0@PEAV0@@Z
-; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(unsigned short const * __ptr64) __ptr64
-??4CComAuthInfo@@QEAAAEAV0@PEBG@Z
-; public: class CDirBrowseDlg & __ptr64 __cdecl CDirBrowseDlg::operator=(class CDirBrowseDlg const & __ptr64) __ptr64
-??4CDirBrowseDlg@@QEAAAEAV0@AEBV0@@Z
-; public: class CError const & __ptr64 __cdecl CError::operator=(class CError const & __ptr64) __ptr64
-??4CError@@QEAAAEBV0@AEBV0@@Z
-; public: class CError const & __ptr64 __cdecl CError::operator=(long) __ptr64
-??4CError@@QEAAAEBV0@J@Z
-; public: class CGetComputer & __ptr64 __cdecl CGetComputer::operator=(class CGetComputer const & __ptr64) __ptr64
-??4CGetComputer@@QEAAAEAV0@AEBV0@@Z
-; public: class CIISAppPool & __ptr64 __cdecl CIISAppPool::operator=(class CIISAppPool & __ptr64) __ptr64
-??4CIISAppPool@@QEAAAEAV0@AEAV0@@Z
-; public: class CIISApplication & __ptr64 __cdecl CIISApplication::operator=(class CIISApplication & __ptr64) __ptr64
-??4CIISApplication@@QEAAAEAV0@AEAV0@@Z
-; public: class CIISInterface & __ptr64 __cdecl CIISInterface::operator=(class CIISInterface & __ptr64) __ptr64
-??4CIISInterface@@QEAAAEAV0@AEAV0@@Z
-; public: class CIISSvcControl & __ptr64 __cdecl CIISSvcControl::operator=(class CIISSvcControl & __ptr64) __ptr64
-??4CIISSvcControl@@QEAAAEAV0@AEAV0@@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator=(class CILong const & __ptr64) __ptr64
-??4CILong@@QEAAAEAV0@AEBV0@@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator=(long) __ptr64
-??4CILong@@QEAAAEAV0@J@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator=(unsigned short const * __ptr64) __ptr64
-??4CILong@@QEAAAEAV0@PEBG@Z
-; public: class CINumber & __ptr64 __cdecl CINumber::operator=(class CINumber const & __ptr64) __ptr64
-??4CINumber@@QEAAAEAV0@AEBV0@@Z
-; public: class CIPAddress const & __ptr64 __cdecl CIPAddress::operator=(class CIPAddress const & __ptr64) __ptr64
-??4CIPAddress@@QEAAAEBV0@AEBV0@@Z
-; public: class CIPAddress const & __ptr64 __cdecl CIPAddress::operator=(class CString const & __ptr64) __ptr64
-??4CIPAddress@@QEAAAEBV0@AEBVCString@@@Z
-; public: class CIPAddress const & __ptr64 __cdecl CIPAddress::operator=(unsigned long) __ptr64
-??4CIPAddress@@QEAAAEBV0@K@Z
-; public: class CIPAddress const & __ptr64 __cdecl CIPAddress::operator=(unsigned short const * __ptr64) __ptr64
-??4CIPAddress@@QEAAAEBV0@PEBG@Z
-; public: class CMetaBack & __ptr64 __cdecl CMetaBack::operator=(class CMetaBack & __ptr64) __ptr64
-??4CMetaBack@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaEnumerator & __ptr64 __cdecl CMetaEnumerator::operator=(class CMetaEnumerator & __ptr64) __ptr64
-??4CMetaEnumerator@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaInterface & __ptr64 __cdecl CMetaInterface::operator=(class CMetaInterface & __ptr64) __ptr64
-??4CMetaInterface@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaKey & __ptr64 __cdecl CMetaKey::operator=(class CMetaKey & __ptr64) __ptr64
-??4CMetaKey@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetabasePath & __ptr64 __cdecl CMetabasePath::operator=(class CMetabasePath const & __ptr64) __ptr64
-??4CMetabasePath@@QEAAAEAV0@AEBV0@@Z
-; public: class CObjHelper & __ptr64 __cdecl CObjHelper::operator=(class CObjHelper const & __ptr64) __ptr64
-??4CObjHelper@@QEAAAEAV0@AEBV0@@Z
-; public: class CRMCListBoxDrawStruct & __ptr64 __cdecl CRMCListBoxDrawStruct::operator=(class CRMCListBoxDrawStruct const & __ptr64) __ptr64
-??4CRMCListBoxDrawStruct@@QEAAAEAV0@AEBV0@@Z
-; public: class CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(class CStrPassword & __ptr64) __ptr64
-??4CStrPassword@@QEAAAEBV0@AEAV0@@Z
-; public: class CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(unsigned short const * __ptr64) __ptr64
-??4CStrPassword@@QEAAAEBV0@PEBG@Z
-; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringListEx const & __ptr64) __ptr64
-??4CStringListEx@@QEAAAEAV0@AEBV0@@Z
-; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringList const & __ptr64) __ptr64
-??4CStringListEx@@QEAAAEAV0@AEBVCStringList@@@Z
-; public: class CWamInterface & __ptr64 __cdecl CWamInterface::operator=(class CWamInterface & __ptr64) __ptr64
-??4CWamInterface@@QEAAAEAV0@AEAV0@@Z
-; public: int __cdecl CAccessEntry::operator==(class CAccessEntry const & __ptr64)const  __ptr64
-??8CAccessEntry@@QEBAHAEBV0@@Z
-; public: int __cdecl CAccessEntry::operator==(void * __ptr64 const)const  __ptr64
-??8CAccessEntry@@QEBAHQEAX@Z
-; public: int __cdecl CBlob::operator==(class CBlob const & __ptr64)const  __ptr64
-??8CBlob@@QEBAHAEBV0@@Z
-; public: int const  __cdecl CError::operator==(class CError & __ptr64) __ptr64
-??8CError@@QEAA?BHAEAV0@@Z
-; public: int const  __cdecl CError::operator==(long) __ptr64
-??8CError@@QEAA?BHJ@Z
-; public: int __cdecl CILong::operator==(long) __ptr64
-??8CILong@@QEAAHJ@Z
-; public: int __cdecl CIPAccessDescriptor::operator==(class CIPAccessDescriptor const & __ptr64)const  __ptr64
-??8CIPAccessDescriptor@@QEBAHAEBV0@@Z
-; public: int __cdecl CIPAddress::operator==(class CIPAddress const & __ptr64)const  __ptr64
-??8CIPAddress@@QEBAHAEBV0@@Z
-; public: int __cdecl CIPAddress::operator==(unsigned long)const  __ptr64
-??8CIPAddress@@QEBAHK@Z
-; public: bool __cdecl CStrPassword::operator==(class CStrPassword & __ptr64) __ptr64
-??8CStrPassword@@QEAA_NAEAV0@@Z
-; public: int __cdecl CStringListEx::operator==(class CStringList const & __ptr64) __ptr64
-??8CStringListEx@@QEAAHAEBVCStringList@@@Z
-; public: int __cdecl CBlob::operator!=(class CBlob const & __ptr64)const  __ptr64
-??9CBlob@@QEBAHAEBV0@@Z
-; public: int const  __cdecl CError::operator!=(class CError & __ptr64) __ptr64
-??9CError@@QEAA?BHAEAV0@@Z
-; public: int const  __cdecl CError::operator!=(long) __ptr64
-??9CError@@QEAA?BHJ@Z
-; public: int __cdecl CILong::operator!=(class CILong & __ptr64) __ptr64
-??9CILong@@QEAAHAEAV0@@Z
-; public: int __cdecl CIPAddress::operator!=(class CIPAddress const & __ptr64)const  __ptr64
-??9CIPAddress@@QEBAHAEBV0@@Z
-; public: int __cdecl CIPAddress::operator!=(unsigned long)const  __ptr64
-??9CIPAddress@@QEBAHK@Z
-; public: bool __cdecl CStrPassword::operator!=(class CStrPassword & __ptr64) __ptr64
-??9CStrPassword@@QEAA_NAEAV0@@Z
-; public: int __cdecl CStringListEx::operator!=(class CStringList const & __ptr64) __ptr64
-??9CStringListEx@@QEAAHAEBVCStringList@@@Z
-; public: __cdecl CComAuthInfo::operator unsigned short * __ptr64(void) __ptr64
-??BCComAuthInfo@@QEAAPEAGXZ
-; public: __cdecl CComAuthInfo::operator class CComAuthInfo * __ptr64(void) __ptr64
-??BCComAuthInfo@@QEAAPEAV0@XZ
-; public: __cdecl CError::operator unsigned short * __ptr64(void) __ptr64
-??BCError@@QEAAPEAGXZ
-; public: __cdecl CError::operator unsigned short const * __ptr64(void) __ptr64
-??BCError@@QEAAPEBGXZ
-; public: __cdecl CError::operator int const (void)const  __ptr64
-??BCError@@QEBA?BHXZ
-; public: __cdecl CError::operator long const (void)const  __ptr64
-??BCError@@QEBA?BJXZ
-; public: __cdecl CError::operator unsigned long const (void)const  __ptr64
-??BCError@@QEBA?BKXZ
-; public: __cdecl CIISInterface::operator int(void)const  __ptr64
-??BCIISInterface@@QEBAHXZ
-; public: __cdecl CIISInterface::operator long(void)const  __ptr64
-??BCIISInterface@@QEBAJXZ
-; public: __cdecl CILong::operator long const (void)const  __ptr64
-??BCILong@@QEBA?BJXZ
-; public: __cdecl CILong::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCILong@@QEBAPEBGXZ
-; public: __cdecl CIPAddress::operator class CString(void)const  __ptr64
-??BCIPAddress@@QEBA?AVCString@@XZ
-; public: __cdecl CIPAddress::operator unsigned long const (void)const  __ptr64
-??BCIPAddress@@QEBA?BKXZ
-; public: __cdecl CIPAddress::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCIPAddress@@QEBAPEBGXZ
-; public: __cdecl CMetaKey::operator int(void)const  __ptr64
-??BCMetaKey@@QEBAHXZ
-; public: __cdecl CMetaKey::operator unsigned long(void)const  __ptr64
-??BCMetaKey@@QEBAKXZ
-; public: __cdecl CMetaKey::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCMetaKey@@QEBAPEBGXZ
-; public: __cdecl CMetabasePath::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCMetabasePath@@QEBAPEBGXZ
-; public: __cdecl CObjHelper::operator int(void) __ptr64
-??BCObjHelper@@QEAAHXZ
-; public: __cdecl CStrPassword::operator class CString(void) __ptr64
-??BCStrPassword@@QEAA?AVCString@@XZ
-; public: class CILong & __ptr64 __cdecl CILong::operator*=(class CILong const & __ptr64) __ptr64
-??XCILong@@QEAAAEAV0@AEBV0@@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator*=(long) __ptr64
-??XCILong@@QEAAAEAV0@J@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator*=(unsigned short const * __ptr64 const) __ptr64
-??XCILong@@QEAAAEAV0@QEBG@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator+=(class CILong const & __ptr64) __ptr64
-??YCILong@@QEAAAEAV0@AEBV0@@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator+=(long) __ptr64
-??YCILong@@QEAAAEAV0@J@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator+=(unsigned short const * __ptr64 const) __ptr64
-??YCILong@@QEAAAEAV0@QEBG@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator-=(class CILong const & __ptr64) __ptr64
-??ZCILong@@QEAAAEAV0@AEBV0@@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator-=(long) __ptr64
-??ZCILong@@QEAAAEAV0@J@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator-=(unsigned short const * __ptr64 const) __ptr64
-??ZCILong@@QEAAAEAV0@QEBG@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator/=(class CILong const & __ptr64) __ptr64
-??_0CILong@@QEAAAEAV0@AEBV0@@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator/=(long) __ptr64
-??_0CILong@@QEAAAEAV0@J@Z
-; public: class CILong & __ptr64 __cdecl CILong::operator/=(unsigned short const * __ptr64 const) __ptr64
-??_0CILong@@QEAAAEAV0@QEBG@Z
-; const  CAccessEntry::`vftable'{for `CObjHelper'}
-??_7CAccessEntry@@6BCObjHelper@@@
-; const  CAccessEntry::`vftable'{for `CObject'}
-??_7CAccessEntry@@6BCObject@@@
-; const  CConfirmDlg::`vftable'
-??_7CConfirmDlg@@6B@
-; const  CDirBrowseDlg::`vftable'
-??_7CDirBrowseDlg@@6B@
-; const  CDownButton::`vftable'
-??_7CDownButton@@6B@
-; const  CEmphasizedDialog::`vftable'
-??_7CEmphasizedDialog@@6B@
-; const  CGetUsers::`vftable'
-??_7CGetUsers@@6B@
-; const  CHeaderListBox::`vftable'{for `CListBox'}
-??_7CHeaderListBox@@6BCListBox@@@
-; const  CHeaderListBox::`vftable'{for `CODLBox'}
-??_7CHeaderListBox@@6BCODLBox@@@
-; const  CIISAppPool::`vftable'{for `CMetaKey'}
-??_7CIISAppPool@@6BCMetaKey@@@
-; const  CIISAppPool::`vftable'{for `CWamInterface'}
-??_7CIISAppPool@@6BCWamInterface@@@
-; const  CIISApplication::`vftable'{for `CMetaKey'}
-??_7CIISApplication@@6BCMetaKey@@@
-; const  CIISApplication::`vftable'{for `CWamInterface'}
-??_7CIISApplication@@6BCWamInterface@@@
-; const  CIISInterface::`vftable'
-??_7CIISInterface@@6B@
-; const  CIISSvcControl::`vftable'
-??_7CIISSvcControl@@6B@
-; const  CIISWizardBookEnd::`vftable'
-??_7CIISWizardBookEnd@@6B@
-; const  CIISWizardPage::`vftable'
-??_7CIISWizardPage@@6B@
-; const  CIISWizardSheet::`vftable'
-??_7CIISWizardSheet@@6B@
-; const  CIPAccessDescriptor::`vftable'{for `CObjHelper'}
-??_7CIPAccessDescriptor@@6BCObjHelper@@@
-; const  CIPAccessDescriptor::`vftable'{for `CObject'}
-??_7CIPAccessDescriptor@@6BCObject@@@
-; const  CIPAddress::`vftable'{for `CObjHelper'}
-??_7CIPAddress@@6BCObjHelper@@@
-; const  CIPAddress::`vftable'{for `CObject'}
-??_7CIPAddress@@6BCObject@@@
-; const  CInheritanceDlg::`vftable'
-??_7CInheritanceDlg@@6B@
-; const  CMappedBitmapButton::`vftable'
-??_7CMappedBitmapButton@@6B@
-; const  CMetaBack::`vftable'{for `CMetaInterface'}
-??_7CMetaBack@@6BCMetaInterface@@@
-; const  CMetaBack::`vftable'{for `CWamInterface'}
-??_7CMetaBack@@6BCWamInterface@@@
-; const  CMetaEnumerator::`vftable'
-??_7CMetaEnumerator@@6B@
-; const  CMetaInterface::`vftable'
-??_7CMetaInterface@@6B@
-; const  CMetaKey::`vftable'
-??_7CMetaKey@@6B@
-; const  CODLBox::`vftable'
-??_7CODLBox@@6B@
-; const  CObListIter::`vftable'{for `CObjHelper'}
-??_7CObListIter@@6BCObjHelper@@@
-; const  CObListIter::`vftable'{for `CObject'}
-??_7CObListIter@@6BCObject@@@
-; const  CObListPlus::`vftable'{for `CObList'}
-??_7CObListPlus@@6BCObList@@@
-; const  CObListPlus::`vftable'{for `CObjHelper'}
-??_7CObListPlus@@6BCObjHelper@@@
-; const  CObjHelper::`vftable'
-??_7CObjHelper@@6B@
-; const  CObjectPlus::`vftable'{for `CObjHelper'}
-??_7CObjectPlus@@6BCObjHelper@@@
-; const  CObjectPlus::`vftable'{for `CObject'}
-??_7CObjectPlus@@6BCObject@@@
-; const  CRMCComboBox::`vftable'{for `CComboBox'}
-??_7CRMCComboBox@@6BCComboBox@@@
-; const  CRMCComboBox::`vftable'{for `CODLBox'}
-??_7CRMCComboBox@@6BCODLBox@@@
-; const  CRMCListBox::`vftable'{for `CListBox'}
-??_7CRMCListBox@@6BCListBox@@@
-; const  CRMCListBox::`vftable'{for `CODLBox'}
-??_7CRMCListBox@@6BCODLBox@@@
-; const  CRMCListBoxHeader::`vftable'
-??_7CRMCListBoxHeader@@6B@
-; const  CStringListEx::`vftable'
-??_7CStringListEx@@6B@
-; const  CUpButton::`vftable'
-??_7CUpButton@@6B@
-; const  CWamInterface::`vftable'
-??_7CWamInterface@@6B@
-; public: void __cdecl CComAuthInfo::`default constructor closure'(void) __ptr64
-??_FCComAuthInfo@@QEAAXXZ
-; public: void __cdecl CConfirmDlg::`default constructor closure'(void) __ptr64
-??_FCConfirmDlg@@QEAAXXZ
-; public: void __cdecl CDirBrowseDlg::`default constructor closure'(void) __ptr64
-??_FCDirBrowseDlg@@QEAAXXZ
-; public: void __cdecl CHeaderListBox::`default constructor closure'(void) __ptr64
-??_FCHeaderListBox@@QEAAXXZ
-; public: void __cdecl CIISWizardBookEnd::`default constructor closure'(void) __ptr64
-??_FCIISWizardBookEnd@@QEAAXXZ
-; public: void __cdecl CIISWizardPage::`default constructor closure'(void) __ptr64
-??_FCIISWizardPage@@QEAAXXZ
-; public: void __cdecl CIISWizardSheet::`default constructor closure'(void) __ptr64
-??_FCIISWizardSheet@@QEAAXXZ
-; public: void __cdecl CIPAccessDescriptor::`default constructor closure'(void) __ptr64
-??_FCIPAccessDescriptor@@QEAAXXZ
-; public: void __cdecl CMetabasePath::`default constructor closure'(void) __ptr64
-??_FCMetabasePath@@QEAAXXZ
-; public: void __cdecl CObListPlus::`default constructor closure'(void) __ptr64
-??_FCObListPlus@@QEAAXXZ
-; public: void __cdecl CRMCListBoxHeader::`default constructor closure'(void) __ptr64
-??_FCRMCListBoxHeader@@QEAAXXZ
-; public: void __cdecl CStringListEx::`default constructor closure'(void) __ptr64
-??_FCStringListEx@@QEAAXXZ
-; void __cdecl ActivateControl(class CWnd & __ptr64,int)
-?ActivateControl@@YAXAEAVCWnd@@H@Z
-; protected: long __cdecl CMetaInterface::AddKey(unsigned long,unsigned short const * __ptr64) __ptr64
-?AddKey@CMetaInterface@@IEAAJKPEBG@Z
-; public: long __cdecl CMetaKey::AddKey(unsigned short const * __ptr64) __ptr64
-?AddKey@CMetaKey@@QEAAJPEBG@Z
-; public: unsigned int __cdecl CError::AddOverride(long,unsigned int) __ptr64
-?AddOverride@CError@@QEAAIJI@Z
-; public: void __cdecl CAccessEntry::AddPermissions(unsigned long) __ptr64
-?AddPermissions@CAccessEntry@@QEAAXK@Z
-; public: int __cdecl CODLBox::AddTab(unsigned int) __ptr64
-?AddTab@CODLBox@@QEAAHI@Z
-; public: int __cdecl CODLBox::AddTabFromHeaders(class CWnd & __ptr64,class CWnd & __ptr64) __ptr64
-?AddTabFromHeaders@CODLBox@@QEAAHAEAVCWnd@@0@Z
-; public: int __cdecl CODLBox::AddTabFromHeaders(unsigned int,unsigned int) __ptr64
-?AddTabFromHeaders@CODLBox@@QEAAHII@Z
-; char * __ptr64 __cdecl AllocAnsiString(unsigned short const * __ptr64)
-?AllocAnsiString@@YAPEADPEBG@Z
-; unsigned short * __ptr64 __cdecl AllocString(unsigned short const * __ptr64,int)
-?AllocString@@YAPEAGPEBGH@Z
-; protected: static int __cdecl CINumber::Allocate(void)
-?Allocate@CINumber@@KAHXZ
-; protected: static int __cdecl CError::AllocateStatics(void)
-?AllocateStatics@CError@@KAHXZ
-; protected: long __cdecl CWamInterface::AppCreate(unsigned short const * __ptr64,unsigned long) __ptr64
-?AppCreate@CWamInterface@@IEAAJPEBGK@Z
-; protected: long __cdecl CWamInterface::AppDelete(unsigned short const * __ptr64,int) __ptr64
-?AppDelete@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppDeleteRecoverable(unsigned short const * __ptr64,int) __ptr64
-?AppDeleteRecoverable@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppGetStatus(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?AppGetStatus@CWamInterface@@IEAAJPEBGPEAK@Z
-; protected: long __cdecl CWamInterface::AppRecover(unsigned short const * __ptr64,int) __ptr64
-?AppRecover@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppUnLoad(unsigned short const * __ptr64,int) __ptr64
-?AppUnLoad@CWamInterface@@IEAAJPEBGH@Z
-; protected: void __cdecl CMetabasePath::AppendPath(unsigned long) __ptr64
-?AppendPath@CMetabasePath@@IEAAXK@Z
-; protected: void __cdecl CMetabasePath::AppendPath(unsigned short const * __ptr64) __ptr64
-?AppendPath@CMetabasePath@@IEAAXPEBG@Z
-; class CString  __cdecl AppendToDevicePath(class CString,unsigned short const * __ptr64)
-?AppendToDevicePath@@YA?AVCString@@V1@PEBG@Z
-; void __cdecl ApplyFontToControls(class CWnd * __ptr64,class CFont * __ptr64,unsigned int,unsigned int)
-?ApplyFontToControls@@YAXPEAVCWnd@@PEAVCFont@@II@Z
-; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64) __ptr64
-?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@@Z
-; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64,unsigned long) __ptr64
-?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@K@Z
-; protected: virtual long __cdecl CIISSvcControl::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CIISSvcControl@@MEAAJXZ
-; protected: virtual long __cdecl CMetaBack::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CMetaBack@@MEAAJXZ
-; protected: virtual long __cdecl CMetaInterface::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CMetaInterface@@MEAAJXZ
-; protected: virtual long __cdecl CWamInterface::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CWamInterface@@MEAAJXZ
-; protected: static int __cdecl CError::AreStaticsAllocated(void)
-?AreStaticsAllocated@CError@@KAHXZ
-; public: void __cdecl CODLBox::AttachResources(class CRMCListBoxResources const * __ptr64) __ptr64
-?AttachResources@CODLBox@@QEAAXPEBVCRMCListBoxResources@@@Z
-; protected: void __cdecl CODLBox::AttachWindow(class CWnd * __ptr64) __ptr64
-?AttachWindow@CODLBox@@IEAAXPEAVCWnd@@@Z
-; public: long __cdecl CMetaBack::Backup(unsigned short const * __ptr64) __ptr64
-?Backup@CMetaBack@@QEAAJPEBG@Z
-; protected: long __cdecl CMetaInterface::Backup(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?Backup@CMetaInterface@@IEAAJPEBGKK@Z
-; public: long __cdecl CMetaBack::BackupWithPassword(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?BackupWithPassword@CMetaBack@@QEAAJPEBG0@Z
-; protected: long __cdecl CMetaInterface::BackupWithPassword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
-?BackupWithPassword@CMetaInterface@@IEAAJPEBGKK0@Z
-; public: int __cdecl CRMCListBoxResources::BitmapHeight(void)const  __ptr64
-?BitmapHeight@CRMCListBoxResources@@QEBAHXZ
-; public: int __cdecl CRMCListBoxResources::BitmapWidth(void)const  __ptr64
-?BitmapWidth@CRMCListBoxResources@@QEBAHXZ
-; int __cdecl BuildAclBlob(class CObListPlus & __ptr64,class CBlob & __ptr64)
-?BuildAclBlob@@YAHAEAVCObListPlus@@AEAVCBlob@@@Z
-; unsigned long __cdecl BuildAclOblistFromBlob(class CBlob & __ptr64,class CObListPlus & __ptr64)
-?BuildAclOblistFromBlob@@YAKAEAVCBlob@@AEAVCObListPlus@@@Z
-; public: static double __cdecl CINumber::BuildFloat(long,long)
-?BuildFloat@CINumber@@SANJJ@Z
-; void __cdecl BuildIplBlob(class CObListPlus & __ptr64,int,class CBlob & __ptr64)
-?BuildIplBlob@@YAXAEAVCObListPlus@@HAEAVCBlob@@@Z
-; unsigned long __cdecl BuildIplOblistFromBlob(class CBlob & __ptr64,class CObListPlus & __ptr64,int & __ptr64)
-?BuildIplOblistFromBlob@@YAKAEAVCBlob@@AEAVCObListPlus@@AEAH@Z
-; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?BuildMetaPath@CMetabasePath@@IEAAXPEBG000@Z
-; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?BuildMetaPath@CMetabasePath@@IEAAXPEBGK00@Z
-; int __cdecl CStringFindNoCase(class CString const & __ptr64,unsigned short const * __ptr64)
-?CStringFindNoCase@@YAHAEBVCString@@PEBG@Z
-; protected: void __cdecl CODLBox::CalculateTextHeight(class CFont * __ptr64) __ptr64
-?CalculateTextHeight@CODLBox@@IEAAXPEAVCFont@@@Z
-; public: int __cdecl CODLBox::ChangeFont(class CFont * __ptr64) __ptr64
-?ChangeFont@CODLBox@@QEAAHPEAVCFont@@@Z
-; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
-; public: long __cdecl CMetaKey::CheckDescendants(unsigned long,class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
-?CheckDescendants@CMetaKey@@QEAAJKPEAVCComAuthInfo@@PEBG@Z
-; protected: class CString & __ptr64 __cdecl CInheritanceDlg::CleanDescendantPath(class CString & __ptr64) __ptr64
-?CleanDescendantPath@CInheritanceDlg@@IEAAAEAVCString@@AEAV2@@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::CleanMetaPath(class CString & __ptr64)
-?CleanMetaPath@CMetabasePath@@SAPEBGAEAVCString@@@Z
-; public: void __cdecl CBlob::CleanUp(void) __ptr64
-?CleanUp@CBlob@@QEAAXXZ
-; private: void __cdecl CStrPassword::ClearPasswordBuffers(void) __ptr64
-?ClearPasswordBuffers@CStrPassword@@AEAAXXZ
-; public: long __cdecl CMetaKey::Close(void) __ptr64
-?Close@CMetaKey@@QEAAJXZ
-; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
-?CloseKey@CMetaInterface@@IEAAJK@Z
-; public: unsigned long __cdecl CRMCListBoxResources::ColorHighlight(void)const  __ptr64
-?ColorHighlight@CRMCListBoxResources@@QEBAKXZ
-; public: unsigned long __cdecl CRMCListBoxResources::ColorHighlightText(void)const  __ptr64
-?ColorHighlightText@CRMCListBoxResources@@QEBAKXZ
-; public: unsigned long __cdecl CRMCListBoxResources::ColorWindow(void)const  __ptr64
-?ColorWindow@CRMCListBoxResources@@QEBAKXZ
-; public: unsigned long __cdecl CRMCListBoxResources::ColorWindowText(void)const  __ptr64
-?ColorWindowText@CRMCListBoxResources@@QEBAKXZ
-; protected: int __cdecl CODLBox::ColumnText(class CRMCListBoxDrawStruct & __ptr64,int,int,unsigned short const * __ptr64) __ptr64
-?ColumnText@CODLBox@@IEAAHAEAVCRMCListBoxDrawStruct@@HHPEBG@Z
-; protected: static int __cdecl CODLBox::ColumnText(class CDC * __ptr64,int,int,int,int,unsigned short const * __ptr64)
-?ColumnText@CODLBox@@KAHPEAVCDC@@HHHHPEBG@Z
-; protected: void __cdecl CIISApplication::CommonConstruct(void) __ptr64
-?CommonConstruct@CIISApplication@@IEAAXXZ
-; public: virtual int __cdecl CObjectPlus::Compare(class CObjectPlus const * __ptr64)const  __ptr64
-?Compare@CObjectPlus@@UEBAHPEBV1@@Z
-; public: int __cdecl CStrPassword::Compare(class CStrPassword & __ptr64)const  __ptr64
-?Compare@CStrPassword@@QEBAHAEAV1@@Z
-; public: int __cdecl CStrPassword::Compare(class CString & __ptr64)const  __ptr64
-?Compare@CStrPassword@@QEBAHAEAVCString@@@Z
-; public: int __cdecl CStrPassword::Compare(unsigned short const * __ptr64)const  __ptr64
-?Compare@CStrPassword@@QEBAHPEBG@Z
-; public: int __cdecl CIPAddress::CompareItem(class CIPAddress const & __ptr64)const  __ptr64
-?CompareItem@CIPAddress@@QEBAHAEBV1@@Z
-; protected: void __cdecl CODLBox::ComputeMargins(class CRMCListBoxDrawStruct & __ptr64,int,int & __ptr64,int & __ptr64) __ptr64
-?ComputeMargins@CODLBox@@IEAAXAEAVCRMCListBoxDrawStruct@@HAEAH1@Z
-; protected: class CError const & __ptr64 __cdecl CError::Construct(class CError const & __ptr64) __ptr64
-?Construct@CError@@IEAAAEBV1@AEBV1@@Z
-; protected: class CError const & __ptr64 __cdecl CError::Construct(long) __ptr64
-?Construct@CError@@IEAAAEBV1@J@Z
-; unsigned long __cdecl ConvertDoubleNullListToStringList(unsigned short const * __ptr64,class CStringList & __ptr64,int)
-?ConvertDoubleNullListToStringList@@YAKPEBGAEAVCStringList@@H@Z
-; public: static unsigned short const * __ptr64 __cdecl CINumber::ConvertFloatToString(double,int,class CString & __ptr64)
-?ConvertFloatToString@CINumber@@SAPEBGNHAEAVCString@@@Z
-; public: static unsigned short const * __ptr64 __cdecl CINumber::ConvertLongToString(long,class CString & __ptr64)
-?ConvertLongToString@CINumber@@SAPEBGJAEAVCString@@@Z
-; int __cdecl ConvertSepLineToStringList(unsigned short const * __ptr64,class CStringList & __ptr64,unsigned short const * __ptr64)
-?ConvertSepLineToStringList@@YAHPEBGAEAVCStringList@@0@Z
-; unsigned long __cdecl ConvertStringListToDoubleNullList(class CStringList & __ptr64,unsigned long & __ptr64,unsigned short * __ptr64 & __ptr64)
-?ConvertStringListToDoubleNullList@@YAKAEAVCStringList@@AEAKAEAPEAG@Z
-; unsigned short const * __ptr64 __cdecl ConvertStringListToSepLine(class CStringList & __ptr64,class CString & __ptr64,unsigned short const * __ptr64)
-?ConvertStringListToSepLine@@YAPEBGAEAVCStringList@@AEAVCString@@PEBG@Z
-; public: static int __cdecl CINumber::ConvertStringToFloat(unsigned short const * __ptr64,double & __ptr64)
-?ConvertStringToFloat@CINumber@@SAHPEBGAEAN@Z
-; public: static int __cdecl CINumber::ConvertStringToLong(unsigned short const * __ptr64,long & __ptr64)
-?ConvertStringToLong@CINumber@@SAHPEBGAEAJ@Z
-; public: long __cdecl CMetaKey::ConvertToParentPath(int) __ptr64
-?ConvertToParentPath@CMetaKey@@QEAAJH@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::ConvertToParentPath(class CString & __ptr64)
-?ConvertToParentPath@CMetabasePath@@SAPEBGAEAVCString@@@Z
-; protected: long __cdecl CMetaInterface::CopyData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
-?CopyData@CMetaInterface@@IEAAJKPEBGK0KKKH@Z
-; protected: long __cdecl CMetaInterface::CopyKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int,int) __ptr64
-?CopyKey@CMetaInterface@@IEAAJKPEBGK0HH@Z
-; public: void __cdecl CStrPassword::CopyTo(class CStrPassword & __ptr64) __ptr64
-?CopyTo@CStrPassword@@QEAAXAEAV1@@Z
-; public: void __cdecl CStrPassword::CopyTo(class CString & __ptr64) __ptr64
-?CopyTo@CStrPassword@@QEAAXAEAVCString@@@Z
-; public: long __cdecl CIISAppPool::Create(unsigned short const * __ptr64) __ptr64
-?Create@CIISAppPool@@QEAAJPEBG@Z
-; public: long __cdecl CIISApplication::Create(unsigned short const * __ptr64,unsigned long) __ptr64
-?Create@CIISApplication@@QEAAJPEBGK@Z
-; protected: long __cdecl CIISInterface::Create(int,struct _GUID const * __ptr64 const,struct _GUID const * __ptr64 const,int * __ptr64,struct IUnknown * __ptr64 * __ptr64) __ptr64
-?Create@CIISInterface@@IEAAJHQEBU_GUID@@0PEAHPEAPEAUIUnknown@@@Z
-; protected: long __cdecl CIISSvcControl::Create(void) __ptr64
-?Create@CIISSvcControl@@IEAAJXZ
-; protected: long __cdecl CMetaInterface::Create(void) __ptr64
-?Create@CMetaInterface@@IEAAJXZ
-; public: int __cdecl CRMCListBoxHeader::Create(unsigned long,struct tagRECT const & __ptr64,class CWnd * __ptr64,class CHeaderListBox * __ptr64,unsigned int) __ptr64
-?Create@CRMCListBoxHeader@@QEAAHKAEBUtagRECT@@PEAVCWnd@@PEAVCHeaderListBox@@I@Z
-; protected: long __cdecl CWamInterface::Create(void) __ptr64
-?Create@CWamInterface@@IEAAJXZ
-; protected: long __cdecl CWamInterface::CreateApplication(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int) __ptr64
-?CreateApplication@CWamInterface@@IEAAJPEBGK0H@Z
-; protected: long __cdecl CWamInterface::CreateApplicationPool(unsigned short const * __ptr64) __ptr64
-?CreateApplicationPool@CWamInterface@@IEAAJPEBG@Z
-; public: static class CObject * __ptr64 __cdecl CEmphasizedDialog::CreateObject(void)
-?CreateObject@CEmphasizedDialog@@SAPEAVCObject@@XZ
-; public: static class CObject * __ptr64 __cdecl CIISWizardBookEnd::CreateObject(void)
-?CreateObject@CIISWizardBookEnd@@SAPEAVCObject@@XZ
-; public: static class CObject * __ptr64 __cdecl CIISWizardPage::CreateObject(void)
-?CreateObject@CIISWizardPage@@SAPEAVCObject@@XZ
-; public: static class CObject * __ptr64 __cdecl CIISWizardSheet::CreateObject(void)
-?CreateObject@CIISWizardSheet@@SAPEAVCObject@@XZ
-; public: long __cdecl CMetaKey::CreatePathFromFailedOpen(void) __ptr64
-?CreatePathFromFailedOpen@CMetaKey@@QEAAJXZ
-; public: long __cdecl CIISApplication::CreatePooled(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int) __ptr64
-?CreatePooled@CIISApplication@@QEAAJPEBGK0H@Z
-; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(unsigned long)const  __ptr64
-?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@K@Z
-; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(void)const  __ptr64
-?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@XZ
-; public: long __cdecl CMetaInterface::CreateSite(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?CreateSite@CMetaInterface@@QEAAJPEBG000PEAK1@Z
-; int __cdecl CreateSpecialDialogFont(class CWnd * __ptr64,class CFont * __ptr64,long,long,long,int,int)
-?CreateSpecialDialogFont@@YAHPEAVCWnd@@PEAVCFont@@JJJHH@Z
-; int __cdecl CvtGMTStringToInternal(unsigned short const * __ptr64,__int64 * __ptr64)
-?CvtGMTStringToInternal@@YAHPEBGPEA_J@Z
-; void __cdecl CvtInternalToGMTString(__int64,class CString & __ptr64)
-?CvtInternalToGMTString@@YAX_JAEAVCString@@@Z
-; int __cdecl CvtStringToLong(unsigned short const * __ptr64,unsigned long * __ptr64)
-?CvtStringToLong@@YAHPEBGPEAK@Z
-; protected: static long __cdecl CError::CvtToInternalFormat(long)
-?CvtToInternalFormat@CError@@KAJJ@Z
-; void __cdecl DDV_FilePath(class CDataExchange * __ptr64,class CString & __ptr64,int)
-?DDV_FilePath@@YAXPEAVCDataExchange@@AEAVCString@@H@Z
-; void __cdecl DDV_FolderPath(class CDataExchange * __ptr64,class CString & __ptr64,int)
-?DDV_FolderPath@@YAXPEAVCDataExchange@@AEAVCString@@H@Z
-; void __cdecl DDV_MaxCharsBalloon(class CDataExchange * __ptr64,class CString const & __ptr64,int)
-?DDV_MaxCharsBalloon@@YAXPEAVCDataExchange@@AEBVCString@@H@Z
-; void __cdecl DDV_MaxCharsBalloon_SecuredString(class CDataExchange * __ptr64,class CStrPassword const & __ptr64,int)
-?DDV_MaxCharsBalloon_SecuredString@@YAXPEAVCDataExchange@@AEBVCStrPassword@@H@Z
-; void __cdecl DDV_MaxChars_SecuredString(class CDataExchange * __ptr64,class CStrPassword const & __ptr64,int)
-?DDV_MaxChars_SecuredString@@YAXPEAVCDataExchange@@AEBVCStrPassword@@H@Z
-; void __cdecl DDV_MinChars(class CDataExchange * __ptr64,class CString const & __ptr64,int)
-?DDV_MinChars@@YAXPEAVCDataExchange@@AEBVCString@@H@Z
-; void __cdecl DDV_MinChars_SecuredString(class CDataExchange * __ptr64,class CStrPassword const & __ptr64,int)
-?DDV_MinChars_SecuredString@@YAXPEAVCDataExchange@@AEBVCStrPassword@@H@Z
-; void __cdecl DDV_MinMaxBalloon(class CDataExchange * __ptr64,int,unsigned long,unsigned long)
-?DDV_MinMaxBalloon@@YAXPEAVCDataExchange@@HKK@Z
-; void __cdecl DDV_MinMaxChars(class CDataExchange * __ptr64,class CString const & __ptr64,int,int)
-?DDV_MinMaxChars@@YAXPEAVCDataExchange@@AEBVCString@@HH@Z
-; void __cdecl DDV_MinMaxChars_SecuredString(class CDataExchange * __ptr64,class CStrPassword const & __ptr64,int,int)
-?DDV_MinMaxChars_SecuredString@@YAXPEAVCDataExchange@@AEBVCStrPassword@@HH@Z
-; void __cdecl DDV_MinMaxSpin(class CDataExchange * __ptr64,struct HWND__ * __ptr64,int,int)
-?DDV_MinMaxSpin@@YAXPEAVCDataExchange@@PEAUHWND__@@HH@Z
-; void __cdecl DDV_ShowBalloonAndFail(class CDataExchange * __ptr64,unsigned int)
-?DDV_ShowBalloonAndFail@@YAXPEAVCDataExchange@@I@Z
-; void __cdecl DDV_ShowBalloonAndFail(class CDataExchange * __ptr64,class CString)
-?DDV_ShowBalloonAndFail@@YAXPEAVCDataExchange@@VCString@@@Z
-; void __cdecl DDV_UNCFolderPath(class CDataExchange * __ptr64,class CString & __ptr64,int)
-?DDV_UNCFolderPath@@YAXPEAVCDataExchange@@AEAVCString@@H@Z
-; void __cdecl DDV_Url(class CDataExchange * __ptr64,class CString & __ptr64)
-?DDV_Url@@YAXPEAVCDataExchange@@AEAVCString@@@Z
-; void __cdecl DDX_Password(class CDataExchange * __ptr64,int,class CString & __ptr64,unsigned short const * __ptr64)
-?DDX_Password@@YAXPEAVCDataExchange@@HAEAVCString@@PEBG@Z
-; void __cdecl DDX_Password_SecuredString(class CDataExchange * __ptr64,int,class CStrPassword & __ptr64,unsigned short const * __ptr64)
-?DDX_Password_SecuredString@@YAXPEAVCDataExchange@@HAEAVCStrPassword@@PEBG@Z
-; void __cdecl DDX_Spin(class CDataExchange * __ptr64,int,int & __ptr64)
-?DDX_Spin@@YAXPEAVCDataExchange@@HAEAH@Z
-; void __cdecl DDX_Text(class CDataExchange * __ptr64,int,class CILong & __ptr64)
-?DDX_Text@@YAXPEAVCDataExchange@@HAEAVCILong@@@Z
-; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,unsigned char & __ptr64)
-?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAE@Z
-; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,short & __ptr64)
-?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAF@Z
-; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,int & __ptr64)
-?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAH@Z
-; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,unsigned int & __ptr64)
-?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAI@Z
-; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,long & __ptr64)
-?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAJ@Z
-; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,unsigned long & __ptr64)
-?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAK@Z
-; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,__int64 & __ptr64)
-?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEA_J@Z
-; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,unsigned __int64 & __ptr64)
-?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEA_K@Z
-; void __cdecl DDX_Text_SecuredString(class CDataExchange * __ptr64,int,class CStrPassword & __ptr64)
-?DDX_Text_SecuredString@@YAXPEAVCDataExchange@@HAEAVCStrPassword@@@Z
-; public: static unsigned char * __ptr64 __cdecl CIPAddress::DWORDtoLPBYTE(unsigned long,unsigned char * __ptr64)
-?DWORDtoLPBYTE@CIPAddress@@SAPEAEKPEAE@Z
-; protected: static void __cdecl CINumber::DeAllocate(void)
-?DeAllocate@CINumber@@KAXXZ
-; protected: static void __cdecl CError::DeAllocateStatics(void)
-?DeAllocateStatics@CError@@KAXXZ
-; unsigned long __cdecl DeflateEnvironmentVariablePath(unsigned short const * __ptr64,class CString & __ptr64)
-?DeflateEnvironmentVariablePath@@YAKPEBGAEAVCString@@@Z
-; public: long __cdecl CIISAppPool::Delete(unsigned short const * __ptr64) __ptr64
-?Delete@CIISAppPool@@QEAAJPEBG@Z
-; public: long __cdecl CIISApplication::Delete(int) __ptr64
-?Delete@CIISApplication@@QEAAJH@Z
-; public: long __cdecl CMetaBack::Delete(unsigned short const * __ptr64,unsigned long) __ptr64
-?Delete@CMetaBack@@QEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::DeleteAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?DeleteAllData@CMetaInterface@@IEAAJKPEBGKK@Z
-; protected: long __cdecl CWamInterface::DeleteApplication(unsigned short const * __ptr64,int) __ptr64
-?DeleteApplication@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::DeleteApplicationPool(unsigned short const * __ptr64) __ptr64
-?DeleteApplicationPool@CWamInterface@@IEAAJPEBG@Z
-; protected: long __cdecl CMetaInterface::DeleteBackup(unsigned short const * __ptr64,unsigned long) __ptr64
-?DeleteBackup@CMetaInterface@@IEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteChildKeys@CMetaInterface@@IEAAJKPEBG@Z
-; protected: long __cdecl CMetaInterface::DeleteData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?DeleteData@CMetaInterface@@IEAAJKPEBGKK@Z
-; protected: int __cdecl CHeaderListBox::DeleteHeaderItem(int) __ptr64
-?DeleteHeaderItem@CHeaderListBox@@IEAAHH@Z
-; public: int __cdecl CRMCListBoxHeader::DeleteItem(int) __ptr64
-?DeleteItem@CRMCListBoxHeader@@QEAAHH@Z
-; protected: long __cdecl CMetaInterface::DeleteKey(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteKey@CMetaInterface@@IEAAJKPEBG@Z
-; public: long __cdecl CMetaKey::DeleteKey(unsigned short const * __ptr64) __ptr64
-?DeleteKey@CMetaKey@@QEAAJPEBG@Z
-; public: long __cdecl CIISApplication::DeleteRecoverable(int) __ptr64
-?DeleteRecoverable@CIISApplication@@QEAAJH@Z
-; public: long __cdecl CMetaKey::DeleteValue(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteValue@CMetaKey@@QEAAJKPEBG@Z
-; public: void __cdecl CStrPassword::DestroyClearTextPassword(unsigned short * __ptr64)const  __ptr64
-?DestroyClearTextPassword@CStrPassword@@QEBAXPEAG@Z
-; protected: void __cdecl CHeaderListBox::DistributeColumns(void) __ptr64
-?DistributeColumns@CHeaderListBox@@IEAAXXZ
-; protected: virtual void __cdecl CConfirmDlg::DoDataExchange(class CDataExchange * __ptr64) __ptr64
-?DoDataExchange@CConfirmDlg@@MEAAXPEAVCDataExchange@@@Z
-; protected: virtual void __cdecl CInheritanceDlg::DoDataExchange(class CDataExchange * __ptr64) __ptr64
-?DoDataExchange@CInheritanceDlg@@MEAAXPEAVCDataExchange@@@Z
-; public: virtual int __cdecl CDirBrowseDlg::DoModal(void) __ptr64
-?DoModal@CDirBrowseDlg@@UEAAHXZ
-; public: virtual __int64 __cdecl CInheritanceDlg::DoModal(void) __ptr64
-?DoModal@CInheritanceDlg@@UEAA_JXZ
-; public: long __cdecl CMetaKey::DoesPathExist(unsigned short const * __ptr64) __ptr64
-?DoesPathExist@CMetaKey@@QEAAJPEBG@Z
-; public: int __cdecl CRMCListBoxHeader::DoesRespondToColumnWidthChanges(void)const  __ptr64
-?DoesRespondToColumnWidthChanges@CRMCListBoxHeader@@QEBAHXZ
-; int __cdecl DoesUNCShareExist(class CString & __ptr64)
-?DoesUNCShareExist@@YAHAEAVCString@@@Z
-; protected: int __cdecl CODLBox::DrawBitmap(class CRMCListBoxDrawStruct & __ptr64,int,int) __ptr64
-?DrawBitmap@CODLBox@@IEAAHAEAVCRMCListBoxDrawStruct@@HH@Z
-; protected: virtual void __cdecl CRMCComboBox::DrawItem(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
-?DrawItem@CRMCComboBox@@MEAAXPEAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual void __cdecl CRMCListBox::DrawItem(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
-?DrawItem@CRMCListBox@@MEAAXPEAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual void __cdecl CRMCComboBox::DrawItemEx(class CRMCListBoxDrawStruct & __ptr64) __ptr64
-?DrawItemEx@CRMCComboBox@@MEAAXAEAVCRMCListBoxDrawStruct@@@Z
-; protected: virtual void __cdecl CRMCListBox::DrawItemEx(class CRMCListBoxDrawStruct & __ptr64) __ptr64
-?DrawItemEx@CRMCListBox@@MEAAXAEAVCRMCListBoxDrawStruct@@@Z
-; public: int __cdecl CIPAccessDescriptor::DuplicateInList(class CObListPlus & __ptr64) __ptr64
-?DuplicateInList@CIPAccessDescriptor@@QEAAHAEAVCObListPlus@@@Z
-; void __cdecl EditHideBalloon(void)
-?EditHideBalloon@@YAXXZ
-; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,unsigned int)
-?EditShowBalloon@@YAXPEAUHWND__@@I@Z
-; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,class CString)
-?EditShowBalloon@@YAXPEAUHWND__@@VCString@@@Z
-; public: void __cdecl CStrPassword::Empty(void) __ptr64
-?Empty@CStrPassword@@QEAAXXZ
-; public: void __cdecl CIISWizardSheet::EnableButton(int,int) __ptr64
-?EnableButton@CIISWizardSheet@@QEAAXHH@Z
-; protected: void __cdecl CIISWizardPage::EnableSheetButton(int,int) __ptr64
-?EnableSheetButton@CIISWizardPage@@IEAAXHH@Z
-; public: int __cdecl CHeaderListBox::EnableWindow(int) __ptr64
-?EnableWindow@CHeaderListBox@@QEAAHH@Z
-; protected: long __cdecl CMetaInterface::EnumBackups(unsigned short * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
-?EnumBackups@CMetaInterface@@IEAAJPEAGPEAKPEAU_FILETIME@@K@Z
-; protected: long __cdecl CMetaInterface::EnumData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?EnumData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@KPEAK@Z
-; protected: long __cdecl CMetaInterface::EnumHistory(unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
-?EnumHistory@CMetaInterface@@IEAAJPEAGPEAK1PEAU_FILETIME@@K@Z
-; protected: long __cdecl CMetaInterface::EnumKeys(unsigned long,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
-?EnumKeys@CMetaInterface@@IEAAJKPEBGPEAGK@Z
-; public: long __cdecl CIISAppPool::EnumerateApplications(class CStringListEx & __ptr64) __ptr64
-?EnumerateApplications@CIISAppPool@@QEAAJAEAVCStringListEx@@@Z
-; protected: long __cdecl CWamInterface::EnumerateApplicationsInPool(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?EnumerateApplicationsInPool@CWamInterface@@IEAAJPEBGPEAPEAG@Z
-; protected: int __cdecl CError::ExpandEscapeCode(unsigned short * __ptr64,unsigned long,unsigned short * __ptr64 & __ptr64,class CString & __ptr64,long & __ptr64)const  __ptr64
-?ExpandEscapeCode@CError@@IEBAHPEAGKAEAPEAGAEAVCString@@AEAJ@Z
-; public: int __cdecl CError::Failed(void)const  __ptr64
-?Failed@CError@@QEBAHXZ
-; public: static int __cdecl CError::Failed(long)
-?Failed@CError@@SAHJ@Z
-; int __cdecl FetchIpAddressFromCombo(class CComboBox & __ptr64,class CObListPlus & __ptr64,class CIPAddress & __ptr64)
-?FetchIpAddressFromCombo@@YAHAEAVCComboBox@@AEAVCObListPlus@@AEAVCIPAddress@@@Z
-; public: int __cdecl CObListPlus::FindElement(class CObject * __ptr64)const  __ptr64
-?FindElement@CObListPlus@@QEBAHPEAVCObject@@@Z
-; protected: static unsigned short const * __ptr64 __cdecl CError::FindFacility(unsigned long)
-?FindFacility@CError@@KAPEBGK@Z
-; void __cdecl FitPathToControl(class CWnd & __ptr64,unsigned short const * __ptr64,int)
-?FitPathToControl@@YAXAEAVCWnd@@PEBGH@Z
-; public: void __cdecl CAccessEntry::FlagForDeletion(int) __ptr64
-?FlagForDeletion@CAccessEntry@@QEAAXH@Z
-; public: void __cdecl CComAuthInfo::FreeServerInfoStruct(struct _COSERVERINFO * __ptr64)const  __ptr64
-?FreeServerInfoStruct@CComAuthInfo@@QEBAXPEAU_COSERVERINFO@@@Z
-; protected: int __cdecl CInheritanceDlg::FriendlyInstance(class CString & __ptr64,class CString & __ptr64) __ptr64
-?FriendlyInstance@CInheritanceDlg@@IEAAHAEAVCString@@0@Z
-; unsigned short const * __ptr64 __cdecl GUIDToCString(struct _GUID const & __ptr64,class CString & __ptr64)
-?GUIDToCString@@YAPEBGAEBU_GUID@@AEAVCString@@@Z
-; unsigned short const * __ptr64 __cdecl GenerateRegistryKey(class CString & __ptr64,unsigned short const * __ptr64)
-?GenerateRegistryKey@@YAPEBGAEAVCString@@PEBG@Z
-; public: long __cdecl CMetaInterface::GetAdminInterface2(struct IMSAdminBase2W * __ptr64 * __ptr64) __ptr64
-?GetAdminInterface2@CMetaInterface@@QEAAJPEAPEAUIMSAdminBase2W@@@Z
-; public: long __cdecl CMetaInterface::GetAdminInterface3(struct IMSAdminBase3W * __ptr64 * __ptr64) __ptr64
-?GetAdminInterface3@CMetaInterface@@QEAAJPEAPEAUIMSAdminBase3W@@@Z
-; protected: long __cdecl CMetaInterface::GetAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
-?GetAllData@CMetaInterface@@IEAAJKPEBGKKKPEAK1KPEAE1@Z
-; protected: long __cdecl CMetaKey::GetAllData(unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64 * __ptr64,unsigned short const * __ptr64) __ptr64
-?GetAllData@CMetaKey@@IEAAJKKKPEAK0PEAPEAEPEBG@Z
-; public: long __cdecl CWamInterface::GetAppAdminInterface(struct IIISApplicationAdmin * __ptr64 * __ptr64) __ptr64
-?GetAppAdminInterface@CWamInterface@@QEAAJPEAPEAUIIISApplicationAdmin@@@Z
-; protected: struct HBRUSH__ * __ptr64 __cdecl CIISWizardPage::GetBackgroundBrush(void)const  __ptr64
-?GetBackgroundBrush@CIISWizardPage@@IEBAPEAUHBRUSH__@@XZ
-; public: struct HBRUSH__ * __ptr64 __cdecl CIISWizardSheet::GetBackgroundBrush(void)const  __ptr64
-?GetBackgroundBrush@CIISWizardSheet@@QEBAPEAUHBRUSH__@@XZ
-; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
-?GetBase@CMetaKey@@QEBAKXZ
-; protected: class CFont * __ptr64 __cdecl CIISWizardPage::GetBigFont(void) __ptr64
-?GetBigFont@CIISWizardPage@@IEAAPEAVCFont@@XZ
-; public: class CFont * __ptr64 __cdecl CIISWizardSheet::GetBigFont(void) __ptr64
-?GetBigFont@CIISWizardSheet@@QEAAPEAVCFont@@XZ
-; protected: class CDC * __ptr64 __cdecl CIISWizardPage::GetBitmapMemDC(void) __ptr64
-?GetBitmapMemDC@CIISWizardPage@@IEAAPEAVCDC@@XZ
-; public: class CDC * __ptr64 __cdecl CIISWizardSheet::GetBitmapMemDC(int) __ptr64
-?GetBitmapMemDC@CIISWizardSheet@@QEAAPEAVCDC@@H@Z
-; protected: class CFont * __ptr64 __cdecl CIISWizardPage::GetBoldFont(void) __ptr64
-?GetBoldFont@CIISWizardPage@@IEAAPEAVCFont@@XZ
-; public: class CFont * __ptr64 __cdecl CIISWizardSheet::GetBoldFont(void) __ptr64
-?GetBoldFont@CIISWizardSheet@@QEAAPEAVCFont@@XZ
-; public: int __cdecl CStrPassword::GetByteLength(void)const  __ptr64
-?GetByteLength@CStrPassword@@QEBAHXZ
-; protected: long __cdecl CMetaInterface::GetChildPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetChildPaths@CMetaInterface@@IEAAJKPEBGKPEAGPEAK@Z
-; public: long __cdecl CMetaKey::GetChildPaths(class CStringListEx & __ptr64,unsigned short const * __ptr64) __ptr64
-?GetChildPaths@CMetaKey@@QEAAJAEAVCStringListEx@@PEBG@Z
-; public: unsigned short * __ptr64 __cdecl CStrPassword::GetClearTextPassword(void) __ptr64
-?GetClearTextPassword@CStrPassword@@QEAAPEAGXZ
-; public: int __cdecl CRMCListBoxHeader::GetColumnWidth(int)const  __ptr64
-?GetColumnWidth@CRMCListBoxHeader@@QEBAHH@Z
-; public: int __cdecl CGetComputer::GetComputer(struct HWND__ * __ptr64) __ptr64
-?GetComputer@CGetComputer@@QEAAHPEAUHWND__@@@Z
-; public: int __cdecl CRMCListBox::GetCurSel(void)const  __ptr64
-?GetCurSel@CRMCListBox@@QEBAHXZ
-; public: unsigned char * __ptr64 __cdecl CBlob::GetData(void) __ptr64
-?GetData@CBlob@@QEAAPEAEXZ
-; protected: long __cdecl CMetaInterface::GetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long * __ptr64) __ptr64
-?GetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@PEAK@Z
-; protected: long __cdecl CInheritanceDlg::GetDataPaths(void) __ptr64
-?GetDataPaths@CInheritanceDlg@@IEAAJXZ
-; protected: long __cdecl CMetaInterface::GetDataPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetDataPaths@CMetaInterface@@IEAAJKPEBGKKKPEAGPEAK@Z
-; public: long __cdecl CMetaKey::GetDataPaths(class CStringListEx & __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
-?GetDataPaths@CMetaKey@@QEAAJAEAVCStringListEx@@KKPEBG@Z
-; void __cdecl GetDlgCtlRect(struct HWND__ * __ptr64,struct HWND__ * __ptr64,struct tagRECT * __ptr64)
-?GetDlgCtlRect@@YAXPEAUHWND__@@0PEAUtagRECT@@@Z
-; public: unsigned short const * __ptr64 __cdecl CDirBrowseDlg::GetFullPath(class CString & __ptr64,int)const  __ptr64
-?GetFullPath@CDirBrowseDlg@@QEBAPEBGAEAVCString@@H@Z
-; void __cdecl GetFullPathLocalOrRemote(unsigned short const * __ptr64,unsigned short const * __ptr64,class CString & __ptr64)
-?GetFullPathLocalOrRemote@@YAXPEBG0AEAVCString@@@Z
-; public: unsigned long __cdecl CMetaKey::GetHandle(void)const  __ptr64
-?GetHandle@CMetaKey@@QEBAKXZ
-; protected: class CRMCListBoxHeader * __ptr64 __cdecl CHeaderListBox::GetHeader(void) __ptr64
-?GetHeader@CHeaderListBox@@IEAAPEAVCRMCListBoxHeader@@XZ
-; protected: int __cdecl CHeaderListBox::GetHeaderItem(int,struct _HD_ITEMW * __ptr64)const  __ptr64
-?GetHeaderItem@CHeaderListBox@@IEBAHHPEAU_HD_ITEMW@@@Z
-; protected: int __cdecl CHeaderListBox::GetHeaderItemCount(void)const  __ptr64
-?GetHeaderItemCount@CHeaderListBox@@IEBAHXZ
-; int __cdecl GetIUsrAccount(unsigned short const * __ptr64,class CWnd * __ptr64,class CString & __ptr64)
-?GetIUsrAccount@@YAHPEBGPEAVCWnd@@AEAVCString@@@Z
-; int __cdecl GetIUsrAccount(unsigned short const * __ptr64,class CWnd * __ptr64,unsigned short * __ptr64,int)
-?GetIUsrAccount@@YAHPEBGPEAVCWnd@@PEAGH@Z
-; public: static unsigned long __cdecl CMetabasePath::GetInstanceNumber(unsigned short const * __ptr64)
-?GetInstanceNumber@CMetabasePath@@SAKPEBG@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetInstancePath(unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
-?GetInstancePath@CMetabasePath@@SAPEBGPEBGAEAVCString@@PEAV2@@Z
-; public: struct IMSAdminBaseW * __ptr64 __cdecl CMetaInterface::GetInterface(void) __ptr64
-?GetInterface@CMetaInterface@@QEAAPEAUIMSAdminBaseW@@XZ
-; public: int __cdecl CRMCListBoxHeader::GetItem(int,struct _HD_ITEMW * __ptr64)const  __ptr64
-?GetItem@CRMCListBoxHeader@@QEBAHHPEAU_HD_ITEMW@@@Z
-; public: int __cdecl CRMCListBoxHeader::GetItemCount(void)const  __ptr64
-?GetItemCount@CRMCListBoxHeader@@QEBAHXZ
-; protected: long __cdecl CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
-?GetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetLastNodeName(unsigned short const * __ptr64,class CString & __ptr64)
-?GetLastNodeName@CMetabasePath@@SAPEBGPEBGAEAVCString@@@Z
-; public: void __cdecl CError::GetLastWinError(void) __ptr64
-?GetLastWinError@CError@@QEAAXXZ
-; public: int __cdecl CStrPassword::GetLength(void)const  __ptr64
-?GetLength@CStrPassword@@QEBAHXZ
-; public: static int __cdecl CMetaKey::GetMDFieldDef(unsigned long,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64)
-?GetMDFieldDef@CMetaKey@@SAHKAEAK000@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetMachinePath(unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
-?GetMachinePath@CMetabasePath@@SAPEBGPEBGAEAVCString@@PEAV2@@Z
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CConfirmDlg::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CConfirmDlg@@MEBAPEBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CEmphasizedDialog::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CEmphasizedDialog@@MEBAPEBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CHeaderListBox::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CHeaderListBox@@MEBAPEBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardBookEnd::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CIISWizardBookEnd@@MEBAPEBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardPage::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CIISWizardPage@@MEBAPEBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardSheet::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CIISWizardSheet@@MEBAPEBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CInheritanceDlg::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CInheritanceDlg@@MEBAPEBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CRMCComboBox::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CRMCComboBox@@MEBAPEBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CRMCListBox::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CRMCListBox@@MEBAPEBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CRMCListBoxHeader::GetMessageMap(void)const  __ptr64
-?GetMessageMap@CRMCListBoxHeader@@MEBAPEBUAFX_MSGMAP@@XZ
-; public: static struct CMetaKey::tagMDFIELDDEF const * __ptr64 __cdecl CMetaKey::GetMetaProp(unsigned long)
-?GetMetaProp@CMetaKey@@SAPEBUtagMDFIELDDEF@1@K@Z
-; public: void * __ptr64 __cdecl CRMCListBox::GetNextSelectedItem(int * __ptr64) __ptr64
-?GetNextSelectedItem@CRMCListBox@@QEAAPEAXPEAH@Z
-; public: class CString & __ptr64 __cdecl CConfirmDlg::GetPassword(void) __ptr64
-?GetPassword@CConfirmDlg@@QEAAAEAVCString@@XZ
-; public: long __cdecl CIISAppPool::GetProcessMode(unsigned long * __ptr64) __ptr64
-?GetProcessMode@CIISAppPool@@QEAAJPEAK@Z
-; protected: long __cdecl CWamInterface::GetProcessMode(unsigned long * __ptr64) __ptr64
-?GetProcessMode@CWamInterface@@IEAAJPEAK@Z
-; public: static int __cdecl CMetaKey::GetPropertyDescription(unsigned long,class CString & __ptr64)
-?GetPropertyDescription@CMetaKey@@SAHKAEAVCString@@@Z
-; protected: long __cdecl CMetaKey::GetPropertyValue(unsigned long,unsigned long & __ptr64,void * __ptr64 & __ptr64,unsigned long * __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?GetPropertyValue@CMetaKey@@IEAAJKAEAKAEAPEAXPEAKPEAHPEBG2@Z
-; protected: static int __cdecl CODLBox::GetRequiredWidth(class CDC * __ptr64,class CRect const & __ptr64,unsigned short const * __ptr64,int)
-?GetRequiredWidth@CODLBox@@KAHPEAVCDC@@AEBVCRect@@PEBGH@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetRootPath(unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
-?GetRootPath@CMetabasePath@@SAPEBGPEBGAEAVCString@@PEAV2@@Z
-; public: virtual struct CRuntimeClass * __ptr64 __cdecl CEmphasizedDialog::GetRuntimeClass(void)const  __ptr64
-?GetRuntimeClass@CEmphasizedDialog@@UEBAPEAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __ptr64 __cdecl CHeaderListBox::GetRuntimeClass(void)const  __ptr64
-?GetRuntimeClass@CHeaderListBox@@UEBAPEAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __ptr64 __cdecl CIISWizardBookEnd::GetRuntimeClass(void)const  __ptr64
-?GetRuntimeClass@CIISWizardBookEnd@@UEBAPEAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __ptr64 __cdecl CIISWizardPage::GetRuntimeClass(void)const  __ptr64
-?GetRuntimeClass@CIISWizardPage@@UEBAPEAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __ptr64 __cdecl CIISWizardSheet::GetRuntimeClass(void)const  __ptr64
-?GetRuntimeClass@CIISWizardSheet@@UEBAPEAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __ptr64 __cdecl CRMCComboBox::GetRuntimeClass(void)const  __ptr64
-?GetRuntimeClass@CRMCComboBox@@UEBAPEAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __ptr64 __cdecl CRMCListBox::GetRuntimeClass(void)const  __ptr64
-?GetRuntimeClass@CRMCListBox@@UEBAPEAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __ptr64 __cdecl CRMCListBoxHeader::GetRuntimeClass(void)const  __ptr64
-?GetRuntimeClass@CRMCListBoxHeader@@UEBAPEAUCRuntimeClass@@XZ
-; public: int __cdecl CRMCListBox::GetSel(int)const  __ptr64
-?GetSel@CRMCListBox@@QEBAHH@Z
-; public: int __cdecl CRMCListBox::GetSelCount(void)const  __ptr64
-?GetSelCount@CRMCListBox@@QEBAHXZ
-; public: void * __ptr64 __cdecl CRMCListBox::GetSelectedListItem(int * __ptr64) __ptr64
-?GetSelectedListItem@CRMCListBox@@QEAAPEAXPEAH@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServiceInfoPath(unsigned short const * __ptr64,class CString & __ptr64,unsigned short const * __ptr64)
-?GetServiceInfoPath@CMetabasePath@@SAPEBGPEBGAEAVCString@@0@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServicePath(unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
-?GetServicePath@CMetabasePath@@SAPEBGPEBGAEAVCString@@PEAV2@@Z
-; protected: class CIISWizardSheet * __ptr64 __cdecl CIISWizardPage::GetSheet(void)const  __ptr64
-?GetSheet@CIISWizardPage@@IEBAPEAVCIISWizardSheet@@XZ
-; public: void * __ptr64 __cdecl CAccessEntry::GetSid(void) __ptr64
-?GetSid@CAccessEntry@@QEAAPEAXXZ
-; public: unsigned long __cdecl CBlob::GetSize(void)const  __ptr64
-?GetSize@CBlob@@QEBAKXZ
-; protected: class CFont * __ptr64 __cdecl CIISWizardPage::GetSpecialFont(void) __ptr64
-?GetSpecialFont@CIISWizardPage@@IEAAPEAVCFont@@XZ
-; public: class CFont * __ptr64 __cdecl CIISWizardSheet::GetSpecialFont(int) __ptr64
-?GetSpecialFont@CIISWizardSheet@@QEAAPEAVCFont@@H@Z
-; int __cdecl GetSpecialPathRealPath(int,class CString const & __ptr64,class CString & __ptr64)
-?GetSpecialPathRealPath@@YAHHAEBVCString@@AEAV1@@Z
-; protected: void __cdecl CRMCListBoxResources::GetSysColors(void) __ptr64
-?GetSysColors@CRMCListBoxResources@@IEAAXXZ
-; public: long __cdecl CMetaInterface::GetSystemChangeNumber(unsigned long * __ptr64) __ptr64
-?GetSystemChangeNumber@CMetaInterface@@QEAAJPEAK@Z
-; public: unsigned int __cdecl CODLBox::GetTab(int)const  __ptr64
-?GetTab@CODLBox@@QEBAIH@Z
-; public: int __cdecl CGetUsers::GetUsers(struct HWND__ * __ptr64,int) __ptr64
-?GetUsers@CGetUsers@@QEAAHPEAUHWND__@@H@Z
-; int __cdecl GetVolumeInformationSystemFlags(unsigned short const * __ptr64,unsigned long * __ptr64)
-?GetVolumeInformationSystemFlags@@YAHPEBGPEAK@Z
-; protected: class CBrush * __ptr64 __cdecl CIISWizardPage::GetWindowBrush(void) __ptr64
-?GetWindowBrush@CIISWizardPage@@IEAAPEAVCBrush@@XZ
-; public: class CBrush * __ptr64 __cdecl CIISWizardSheet::GetWindowBrush(void) __ptr64
-?GetWindowBrush@CIISWizardSheet@@QEAAPEAVCBrush@@XZ
-; public: void __cdecl CIPAccessDescriptor::GrantAccess(int) __ptr64
-?GrantAccess@CIPAccessDescriptor@@QEAAXH@Z
-; public: long __cdecl CError::HResult(void)const  __ptr64
-?HResult@CError@@QEBAJXZ
-; public: static long __cdecl CError::HResult(long)
-?HResult@CError@@SAJJ@Z
-; public: int __cdecl CIPAccessDescriptor::HasAccess(void)const  __ptr64
-?HasAccess@CIPAccessDescriptor@@QEBAHXZ
-; public: int __cdecl CAccessEntry::HasAppropriateAccess(unsigned long)const  __ptr64
-?HasAppropriateAccess@CAccessEntry@@QEBAHK@Z
-; protected: int __cdecl CIISSvcControl::HasInterface(void)const  __ptr64
-?HasInterface@CIISSvcControl@@IEBAHXZ
-; protected: int __cdecl CMetaInterface::HasInterface(void)const  __ptr64
-?HasInterface@CMetaInterface@@IEBAHXZ
-; protected: int __cdecl CWamInterface::HasInterface(void)const  __ptr64
-?HasInterface@CWamInterface@@IEBAHXZ
-; protected: int __cdecl CError::HasOverride(unsigned int * __ptr64)const  __ptr64
-?HasOverride@CError@@IEBAHPEAI@Z
-; public: int __cdecl CAccessEntry::HasSomeAccess(void)const  __ptr64
-?HasSomeAccess@CAccessEntry@@QEBAHXZ
-; public: class CObject * __ptr64 __cdecl CObListPlus::Index(int) __ptr64
-?Index@CObListPlus@@QEAAPEAVCObject@@H@Z
-; public: virtual int __cdecl CHeaderListBox::Initialize(void) __ptr64
-?Initialize@CHeaderListBox@@UEAAHXZ
-; public: static int __cdecl CINumber::Initialize(int)
-?Initialize@CINumber@@SAHH@Z
-; protected: void __cdecl CInheritanceDlg::Initialize(void) __ptr64
-?Initialize@CInheritanceDlg@@IEAAXXZ
-; protected: virtual int __cdecl CODLBox::Initialize(void) __ptr64
-?Initialize@CODLBox@@MEAAHXZ
-; public: virtual int __cdecl CRMCComboBox::Initialize(void) __ptr64
-?Initialize@CRMCComboBox@@UEAAHXZ
-; public: virtual int __cdecl CRMCListBox::Initialize(void) __ptr64
-?Initialize@CRMCListBox@@UEAAHXZ
-; protected: int __cdecl CHeaderListBox::InsertColumn(int,int,unsigned int,struct HINSTANCE__ * __ptr64) __ptr64
-?InsertColumn@CHeaderListBox@@IEAAHHHIPEAUHINSTANCE__@@@Z
-; protected: int __cdecl CHeaderListBox::InsertHeaderItem(int,struct _HD_ITEMW * __ptr64) __ptr64
-?InsertHeaderItem@CHeaderListBox@@IEAAHHPEAU_HD_ITEMW@@@Z
-; public: int __cdecl CRMCListBoxHeader::InsertItem(int,struct _HD_ITEMW * __ptr64) __ptr64
-?InsertItem@CRMCListBoxHeader@@QEAAHHPEAU_HD_ITEMW@@@Z
-; public: void __cdecl CODLBox::InsertTab(int,unsigned int) __ptr64
-?InsertTab@CODLBox@@QEAAXHI@Z
-; public: void __cdecl CRMCListBox::InvalidateSelection(int) __ptr64
-?InvalidateSelection@CRMCListBox@@QEAAXH@Z
-; long __cdecl IsAllNumHostHeader(unsigned short const * __ptr64)
-?IsAllNumHostHeader@@YAJPEBG@Z
-; protected: static int __cdecl CINumber::IsAllocated(void)
-?IsAllocated@CINumber@@KAHXZ
-; public: int __cdecl CIPAddress::IsBadValue(void)const  __ptr64
-?IsBadValue@CIPAddress@@QEBAHXZ
-; int __cdecl IsBiDiLocalizedSystem(void)
-?IsBiDiLocalizedSystem@@YAHXZ
-; public: int __cdecl CAccessEntry::IsDeletable(void)const  __ptr64
-?IsDeletable@CAccessEntry@@QEBAHXZ
-; public: int __cdecl CAccessEntry::IsDeleted(void)const  __ptr64
-?IsDeleted@CAccessEntry@@QEBAHXZ
-; int __cdecl IsDevicePath(class CString const & __ptr64)
-?IsDevicePath@@YAHAEBVCString@@@Z
-; public: int __cdecl CAccessEntry::IsDirty(void)const  __ptr64
-?IsDirty@CAccessEntry@@QEBAHXZ
-; public: int __cdecl CObjHelper::IsDirty(void)const  __ptr64
-?IsDirty@CObjHelper@@QEBAHXZ
-; public: int __cdecl CIPAccessDescriptor::IsDomainName(void)const  __ptr64
-?IsDomainName@CIPAccessDescriptor@@QEBAHXZ
-; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
-?IsEmpty@CBlob@@QEBAHXZ
-; public: int __cdecl CInheritanceDlg::IsEmpty(void)const  __ptr64
-?IsEmpty@CInheritanceDlg@@QEBAHXZ
-; public: int __cdecl CStrPassword::IsEmpty(void)const  __ptr64
-?IsEmpty@CStrPassword@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsEnabledApplication(void)const  __ptr64
-?IsEnabledApplication@CIISApplication@@QEBAHXZ
-; int __cdecl IsFullyQualifiedPath(class CString const & __ptr64)
-?IsFullyQualifiedPath@@YAHAEBVCString@@@Z
-; protected: int __cdecl CIISWizardPage::IsHeaderPage(void)const  __ptr64
-?IsHeaderPage@CIISWizardPage@@IEBAHXZ
-; public: int __cdecl CMetaKey::IsHomeDirectoryPath(void)const  __ptr64
-?IsHomeDirectoryPath@CMetaKey@@QEBAHXZ
-; public: int __cdecl CMetabasePath::IsHomeDirectoryPath(void)const  __ptr64
-?IsHomeDirectoryPath@CMetabasePath@@QEBAHXZ
-; public: static int __cdecl CMetabasePath::IsHomeDirectoryPath(unsigned short const * __ptr64)
-?IsHomeDirectoryPath@CMetabasePath@@SAHPEBG@Z
-; public: static int __cdecl CINumber::IsInitialized(void)
-?IsInitialized@CINumber@@SAHXZ
-; public: int __cdecl CIISApplication::IsInproc(void)const  __ptr64
-?IsInproc@CIISApplication@@QEBAHXZ
-; public: int __cdecl CComAuthInfo::IsLocal(void)const  __ptr64
-?IsLocal@CComAuthInfo@@QEBAHXZ
-; public: int __cdecl CIISInterface::IsLocal(void)const  __ptr64
-?IsLocal@CIISInterface@@QEBAHXZ
-; int __cdecl IsLocalComputer(unsigned short const * __ptr64)
-?IsLocalComputer@@YAHPEBG@Z
-; public: static int __cdecl CMetabasePath::IsMasterInstance(unsigned short const * __ptr64)
-?IsMasterInstance@CMetabasePath@@SAHPEBG@Z
-; protected: int __cdecl CRMCListBox::IsMultiSelect(void)const  __ptr64
-?IsMultiSelect@CRMCListBox@@IEBAHXZ
-; public: int __cdecl CIPAccessDescriptor::IsMultiple(void)const  __ptr64
-?IsMultiple@CIPAccessDescriptor@@QEBAHXZ
-; int __cdecl IsNetworkPath(class CString const & __ptr64,class CString * __ptr64,class CString * __ptr64)
-?IsNetworkPath@@YAHAEBVCString@@PEAV1@1@Z
-; public: int __cdecl CMetaKey::IsOpen(void)const  __ptr64
-?IsOpen@CMetaKey@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsOutOfProc(void)const  __ptr64
-?IsOutOfProc@CIISApplication@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsPooledProc(void)const  __ptr64
-?IsPooledProc@CIISApplication@@QEBAHXZ
-; public: static int __cdecl CMetaKey::IsPropertyInheritable(unsigned long)
-?IsPropertyInheritable@CMetaKey@@SAHK@Z
-; int __cdecl IsRestrictedFilename(class CString const & __ptr64)
-?IsRestrictedFilename@@YAHAEBVCString@@@Z
-; public: int __cdecl CAccessEntry::IsSIDResolved(void)const  __ptr64
-?IsSIDResolved@CAccessEntry@@QEBAHXZ
-; int __cdecl IsServerLocal(unsigned short const * __ptr64)
-?IsServerLocal@@YAHPEBG@Z
-; public: int __cdecl CIPAccessDescriptor::IsSingle(void)const  __ptr64
-?IsSingle@CIPAccessDescriptor@@QEBAHXZ
-; int __cdecl IsSpecialPath(class CString const & __ptr64,int,int)
-?IsSpecialPath@@YAHAEBVCString@@HH@Z
-; int __cdecl IsUNCName(class CString const & __ptr64)
-?IsUNCName@@YAHAEBVCString@@@Z
-; int __cdecl IsURLName(class CString const & __ptr64)
-?IsURLName@@YAHAEBVCString@@@Z
-; public: virtual int __cdecl CObjHelper::IsValid(void)const  __ptr64
-?IsValid@CObjHelper@@UEBAHXZ
-; long __cdecl IsValidHostHeader(unsigned short const * __ptr64)
-?IsValidHostHeader@@YAJPEBG@Z
-; public: int __cdecl CAccessEntry::IsVisible(void)const  __ptr64
-?IsVisible@CAccessEntry@@QEBAHXZ
-; protected: int __cdecl CIISWizardBookEnd::IsWelcomePage(void)const  __ptr64
-?IsWelcomePage@CIISWizardBookEnd@@IEBAHXZ
-; protected: int __cdecl CIISWizardPage::IsWizard97(void)const  __ptr64
-?IsWizard97@CIISWizardPage@@IEBAHXZ
-; public: int __cdecl CIISWizardSheet::IsWizard97(void)const  __ptr64
-?IsWizard97@CIISWizardSheet@@QEBAHXZ
-; public: int __cdecl CIPAddress::IsZeroValue(void)const  __ptr64
-?IsZeroValue@CIPAddress@@QEBAHXZ
-; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
-?Kill@CIISSvcControl@@QEAAJXZ
-; long __cdecl LimitInputDomainName(struct HWND__ * __ptr64)
-?LimitInputDomainName@@YAJPEAUHWND__@@@Z
-; long __cdecl LimitInputPath(struct HWND__ * __ptr64,int)
-?LimitInputPath@@YAJPEAUHWND__@@H@Z
-; protected: int __cdecl CMappedBitmapButton::LoadMappedBitmaps(unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
-?LoadMappedBitmaps@CMappedBitmapButton@@IEAAHIIII@Z
-; public: static unsigned short * __ptr64 __cdecl CIPAddress::LongToString(unsigned long,unsigned short * __ptr64,int)
-?LongToString@CIPAddress@@SAPEAGKPEAGH@Z
-; public: static unsigned short const * __ptr64 __cdecl CIPAddress::LongToString(unsigned long,class ATL::CComBSTR & __ptr64)
-?LongToString@CIPAddress@@SAPEBGKAEAVCComBSTR@ATL@@@Z
-; public: static unsigned short const * __ptr64 __cdecl CIPAddress::LongToString(unsigned long,class CString & __ptr64)
-?LongToString@CIPAddress@@SAPEBGKAEAVCString@@@Z
-; int __cdecl LooksLikeIPAddress(unsigned short const * __ptr64)
-?LooksLikeIPAddress@@YAHPEBG@Z
-; public: static int __cdecl CAccessEntry::LookupAccountSidW(class CString & __ptr64,int & __ptr64,void * __ptr64,unsigned short const * __ptr64)
-?LookupAccountSidW@CAccessEntry@@SAHAEAVCString@@AEAHPEAXPEBG@Z
-; unsigned short const * __ptr64 __cdecl MakeUNCPath(class CString & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)
-?MakeUNCPath@@YAPEBGAEAVCString@@PEBG1@Z
-; public: static int __cdecl CMetaKey::MapMDIDToTableIndex(unsigned long)
-?MapMDIDToTableIndex@CMetaKey@@SAHK@Z
-; public: void __cdecl CAccessEntry::MarkEntryAsChanged(void) __ptr64
-?MarkEntryAsChanged@CAccessEntry@@QEAAXXZ
-; public: void __cdecl CAccessEntry::MarkEntryAsClean(void) __ptr64
-?MarkEntryAsClean@CAccessEntry@@QEAAXXZ
-; public: void __cdecl CAccessEntry::MarkEntryAsNew(void) __ptr64
-?MarkEntryAsNew@CAccessEntry@@QEAAXXZ
-; protected: virtual void __cdecl CRMCComboBox::MeasureItem(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
-?MeasureItem@CRMCComboBox@@MEAAXPEAUtagMEASUREITEMSTRUCT@@@Z
-; protected: virtual void __cdecl CRMCListBox::MeasureItem(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
-?MeasureItem@CRMCListBox@@MEAAXPEAUtagMEASUREITEMSTRUCT@@@Z
-; public: int __cdecl CError::MessageBoxFormat(struct HWND__ * __ptr64,unsigned int,unsigned int,unsigned int,...)const  __ptr64
-?MessageBoxFormat@CError@@QEBAHPEAUHWND__@@IIIZZ
-; public: int __cdecl CError::MessageBoxOnFailure(struct HWND__ * __ptr64,unsigned int,unsigned int)const  __ptr64
-?MessageBoxOnFailure@CError@@QEBAHPEAUHWND__@@II@Z
-; public: int __cdecl CError::MessageBoxW(struct HWND__ * __ptr64,unsigned int,unsigned int)const  __ptr64
-?MessageBoxW@CError@@QEBAHPEAUHWND__@@II@Z
-; unsigned long __cdecl MyGetHostName(unsigned long,class CString & __ptr64)
-?MyGetHostName@@YAKKAEAVCString@@@Z
-; long __cdecl MyValidatePath(unsigned short const * __ptr64,int,int,unsigned long,unsigned long)
-?MyValidatePath@@YAJPEBGHHKK@Z
-; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
-?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
-; public: long __cdecl CMetaEnumerator::Next(unsigned long & __ptr64,class CString & __ptr64,unsigned short const * __ptr64) __ptr64
-?Next@CMetaEnumerator@@QEAAJAEAKAEAVCString@@PEBG@Z
-; public: long __cdecl CMetaEnumerator::Next(class CString & __ptr64,unsigned short const * __ptr64) __ptr64
-?Next@CMetaEnumerator@@QEAAJAEAVCString@@PEBG@Z
-; public: class CObject * __ptr64 __cdecl CObListIter::Next(void) __ptr64
-?Next@CObListIter@@QEAAPEAVCObject@@XZ
-; public: long __cdecl CMetaBack::NextHistory(unsigned long * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
-?NextHistory@CMetaBack@@QEAAJPEAK0PEAGPEAU_FILETIME@@@Z
-; public: int __cdecl CODLBox::NumTabs(void)const  __ptr64
-?NumTabs@CODLBox@@QEBAHXZ
-; protected: void __cdecl CInheritanceDlg::OnButtonSelectAll(void) __ptr64
-?OnButtonSelectAll@CInheritanceDlg@@IEAAXXZ
-; protected: int __cdecl CHeaderListBox::OnCreate(struct tagCREATESTRUCTW * __ptr64) __ptr64
-?OnCreate@CHeaderListBox@@IEAAHPEAUtagCREATESTRUCTW@@@Z
-; protected: int __cdecl CRMCComboBox::OnCreate(struct tagCREATESTRUCTW * __ptr64) __ptr64
-?OnCreate@CRMCComboBox@@IEAAHPEAUtagCREATESTRUCTW@@@Z
-; protected: int __cdecl CRMCListBox::OnCreate(struct tagCREATESTRUCTW * __ptr64) __ptr64
-?OnCreate@CRMCListBox@@IEAAHPEAUtagCREATESTRUCTW@@@Z
-; protected: struct HBRUSH__ * __ptr64 __cdecl CIISWizardPage::OnCtlColor(class CDC * __ptr64,class CWnd * __ptr64,unsigned int) __ptr64
-?OnCtlColor@CIISWizardPage@@IEAAPEAUHBRUSH__@@PEAVCDC@@PEAVCWnd@@I@Z
-; protected: void __cdecl CEmphasizedDialog::OnDestroy(void) __ptr64
-?OnDestroy@CEmphasizedDialog@@IEAAXXZ
-; protected: void __cdecl CHeaderListBox::OnDestroy(void) __ptr64
-?OnDestroy@CHeaderListBox@@IEAAXXZ
-; protected: void __cdecl CIISWizardSheet::OnDestroy(void) __ptr64
-?OnDestroy@CIISWizardSheet@@IEAAXXZ
-; protected: void __cdecl CRMCListBoxHeader::OnDestroy(void) __ptr64
-?OnDestroy@CRMCListBoxHeader@@IEAAXXZ
-; protected: int __cdecl CIISWizardPage::OnEraseBkgnd(class CDC * __ptr64) __ptr64
-?OnEraseBkgnd@CIISWizardPage@@IEAAHPEAVCDC@@@Z
-; protected: void __cdecl CRMCListBoxHeader::OnHeaderEndTrack(unsigned int,struct tagNMHDR * __ptr64,__int64 * __ptr64) __ptr64
-?OnHeaderEndTrack@CRMCListBoxHeader@@IEAAXIPEAUtagNMHDR@@PEA_J@Z
-; protected: void __cdecl CRMCListBoxHeader::OnHeaderItemChanged(unsigned int,struct tagNMHDR * __ptr64,__int64 * __ptr64) __ptr64
-?OnHeaderItemChanged@CRMCListBoxHeader@@IEAAXIPEAUtagNMHDR@@PEA_J@Z
-; protected: void __cdecl CRMCListBoxHeader::OnHeaderItemClick(unsigned int,struct tagNMHDR * __ptr64,__int64 * __ptr64) __ptr64
-?OnHeaderItemClick@CRMCListBoxHeader@@IEAAXIPEAUtagNMHDR@@PEA_J@Z
-; protected: void __cdecl CInheritanceDlg::OnHelp(void) __ptr64
-?OnHelp@CInheritanceDlg@@IEAAXXZ
-; protected: virtual int __cdecl CEmphasizedDialog::OnInitDialog(void) __ptr64
-?OnInitDialog@CEmphasizedDialog@@MEAAHXZ
-; protected: virtual int __cdecl CIISWizardBookEnd::OnInitDialog(void) __ptr64
-?OnInitDialog@CIISWizardBookEnd@@MEAAHXZ
-; protected: virtual int __cdecl CIISWizardPage::OnInitDialog(void) __ptr64
-?OnInitDialog@CIISWizardPage@@MEAAHXZ
-; protected: virtual int __cdecl CIISWizardSheet::OnInitDialog(void) __ptr64
-?OnInitDialog@CIISWizardSheet@@MEAAHXZ
-; protected: virtual int __cdecl CInheritanceDlg::OnInitDialog(void) __ptr64
-?OnInitDialog@CInheritanceDlg@@MEAAHXZ
-; protected: virtual void __cdecl CInheritanceDlg::OnOK(void) __ptr64
-?OnOK@CInheritanceDlg@@MEAAXXZ
-; public: virtual int __cdecl CIISWizardBookEnd::OnSetActive(void) __ptr64
-?OnSetActive@CIISWizardBookEnd@@UEAAHXZ
-; protected: void __cdecl CRMCListBoxHeader::OnSetFocus(class CWnd * __ptr64) __ptr64
-?OnSetFocus@CRMCListBoxHeader@@IEAAXPEAVCWnd@@@Z
-; public: long __cdecl CMetaKey::Open(unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
-?Open@CMetaKey@@QEAAJKPEBGK@Z
-; protected: long __cdecl CMetaInterface::OpenKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?OpenKey@CMetaInterface@@IEAAJKPEBGKPEAK@Z
-; public: int __cdecl CIPAccessDescriptor::OrderByAddress(class CObjectPlus const * __ptr64)const  __ptr64
-?OrderByAddress@CIPAccessDescriptor@@QEBAHPEBVCObjectPlus@@@Z
-; int __cdecl PCToUnixText(unsigned short * __ptr64 & __ptr64,class CString)
-?PCToUnixText@@YAHAEAPEAGVCString@@@Z
-; int __cdecl PathIsValid(unsigned short const * __ptr64,int)
-?PathIsValid@@YAHPEBGH@Z
-; unsigned long __cdecl PopulateComboWithKnownIpAddresses(unsigned short const * __ptr64,class CComboBox & __ptr64,class CIPAddress & __ptr64,class CObListPlus & __ptr64,int & __ptr64)
-?PopulateComboWithKnownIpAddresses@@YAKPEBGAEAVCComboBox@@AEAVCIPAddress@@AEAVCObListPlus@@AEAH@Z
-; protected: void __cdecl CRMCListBoxResources::PrepareBitmaps(void) __ptr64
-?PrepareBitmaps@CRMCListBoxResources@@IEAAXXZ
-; protected: void __cdecl CGetComputer::ProcessSelectedObjects(struct IDataObject * __ptr64) __ptr64
-?ProcessSelectedObjects@CGetComputer@@IEAAXPEAUIDataObject@@@Z
-; protected: void __cdecl CGetUsers::ProcessSelectedObjects(struct IDataObject * __ptr64) __ptr64
-?ProcessSelectedObjects@CGetUsers@@IEAAXPEAUIDataObject@@@Z
-; public: unsigned long __cdecl CAccessEntry::QueryAccessMask(void)const  __ptr64
-?QueryAccessMask@CAccessEntry@@QEBAKXZ
-; public: unsigned long __cdecl CObjHelper::QueryAge(void)const  __ptr64
-?QueryAge@CObjHelper@@QEBAKXZ
-; public: long __cdecl CObjHelper::QueryApiErr(void)const  __ptr64
-?QueryApiErr@CObjHelper@@QEBAJXZ
-; public: unsigned long __cdecl CIISApplication::QueryAppState(void)const  __ptr64
-?QueryAppState@CIISApplication@@QEBAKXZ
-; public: class CComAuthInfo * __ptr64 __cdecl CIISInterface::QueryAuthInfo(void) __ptr64
-?QueryAuthInfo@CIISInterface@@QEAAPEAVCComAuthInfo@@XZ
-; protected: long __cdecl CIISWizardPage::QueryBitmapHeight(void)const  __ptr64
-?QueryBitmapHeight@CIISWizardPage@@IEBAJXZ
-; public: long __cdecl CIISWizardSheet::QueryBitmapHeight(int)const  __ptr64
-?QueryBitmapHeight@CIISWizardSheet@@QEBAJH@Z
-; protected: long __cdecl CIISWizardPage::QueryBitmapWidth(void)const  __ptr64
-?QueryBitmapWidth@CIISWizardPage@@IEBAJXZ
-; public: long __cdecl CIISWizardSheet::QueryBitmapWidth(int)const  __ptr64
-?QueryBitmapWidth@CIISWizardSheet@@QEBAJH@Z
-; public: int __cdecl CHeaderListBox::QueryColumnWidth(int)const  __ptr64
-?QueryColumnWidth@CHeaderListBox@@QEBAHH@Z
-; public: unsigned long __cdecl CObjHelper::QueryCreationTime(void)const  __ptr64
-?QueryCreationTime@CObjHelper@@QEBAKXZ
-; public: static unsigned short const * __ptr64 __cdecl CINumber::QueryCurrency(void)
-?QueryCurrency@CINumber@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CINumber::QueryDecimalPoint(void)
-?QueryDecimalPoint@CINumber@@SAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CIPAccessDescriptor::QueryDomainName(void)const  __ptr64
-?QueryDomainName@CIPAccessDescriptor@@QEBAPEBGXZ
-; public: long __cdecl CObjHelper::QueryError(void)const  __ptr64
-?QueryError@CObjHelper@@QEBAJXZ
-; public: unsigned long __cdecl CMetaKey::QueryFlags(void)const  __ptr64
-?QueryFlags@CMetaKey@@QEBAKXZ
-; public: unsigned long __cdecl CIPAddress::QueryHostOrderIPAddress(void)const  __ptr64
-?QueryHostOrderIPAddress@CIPAddress@@QEBAKXZ
-; public: class CIPAddress  __cdecl CIPAccessDescriptor::QueryIPAddress(void)const  __ptr64
-?QueryIPAddress@CIPAccessDescriptor@@QEBA?AVCIPAddress@@XZ
-; public: unsigned long __cdecl CIPAccessDescriptor::QueryIPAddress(int)const  __ptr64
-?QueryIPAddress@CIPAccessDescriptor@@QEBAKH@Z
-; public: unsigned long __cdecl CIPAddress::QueryIPAddress(int)const  __ptr64
-?QueryIPAddress@CIPAddress@@QEBAKH@Z
-; public: unsigned short const * __ptr64 __cdecl CIPAddress::QueryIPAddress(class ATL::CComBSTR & __ptr64)const  __ptr64
-?QueryIPAddress@CIPAddress@@QEBAPEBGAEAVCComBSTR@ATL@@@Z
-; public: unsigned short const * __ptr64 __cdecl CIPAddress::QueryIPAddress(class CString & __ptr64)const  __ptr64
-?QueryIPAddress@CIPAddress@@QEBAPEBGAEAVCString@@@Z
-; public: unsigned short const * __ptr64 __cdecl CMetaKey::QueryMetaPath(void)const  __ptr64
-?QueryMetaPath@CMetaKey@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CMetabasePath::QueryMetaPath(void)const  __ptr64
-?QueryMetaPath@CMetabasePath@@QEBAPEBGXZ
-; public: unsigned long __cdecl CIPAddress::QueryNetworkOrderIPAddress(void)const  __ptr64
-?QueryNetworkOrderIPAddress@CIPAddress@@QEBAKXZ
-; public: int __cdecl CHeaderListBox::QueryNumColumns(void)const  __ptr64
-?QueryNumColumns@CHeaderListBox@@QEBAHXZ
-; public: int __cdecl CRMCListBoxHeader::QueryNumColumns(void)const  __ptr64
-?QueryNumColumns@CRMCListBoxHeader@@QEBAHXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryPassword(void)const  __ptr64
-?QueryPassword@CComAuthInfo@@QEBAPEAGXZ
-; public: int __cdecl CAccessEntry::QueryPictureID(void)const  __ptr64
-?QueryPictureID@CAccessEntry@@QEBAHXZ
-; public: unsigned long __cdecl CIISAppPool::QueryPoolState(void)const  __ptr64
-?QueryPoolState@CIISAppPool@@QEBAKXZ
-; public: struct __POSITION * __ptr64 __cdecl CObListIter::QueryPosition(void)const  __ptr64
-?QueryPosition@CObListIter@@QEBAPEAU__POSITION@@XZ
-; public: virtual long __cdecl CIISAppPool::QueryResult(void)const  __ptr64
-?QueryResult@CIISAppPool@@UEBAJXZ
-; public: virtual long __cdecl CIISApplication::QueryResult(void)const  __ptr64
-?QueryResult@CIISApplication@@UEBAJXZ
-; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
-?QueryResult@CIISInterface@@UEBAJXZ
-; public: virtual long __cdecl CMetaBack::QueryResult(void)const  __ptr64
-?QueryResult@CMetaBack@@UEBAJXZ
-; public: virtual long __cdecl CMetaKey::QueryResult(void)const  __ptr64
-?QueryResult@CMetaKey@@UEBAJXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryServerName(void)const  __ptr64
-?QueryServerName@CComAuthInfo@@QEBAPEAGXZ
-; public: unsigned short const * __ptr64 __cdecl CIISInterface::QueryServerName(void)const  __ptr64
-?QueryServerName@CIISInterface@@QEBAPEBGXZ
-; public: class CIPAddress  __cdecl CIPAccessDescriptor::QuerySubnetMask(void)const  __ptr64
-?QuerySubnetMask@CIPAccessDescriptor@@QEBA?AVCIPAddress@@XZ
-; public: unsigned long __cdecl CIPAccessDescriptor::QuerySubnetMask(int)const  __ptr64
-?QuerySubnetMask@CIPAccessDescriptor@@QEBAKH@Z
-; public: static unsigned short const * __ptr64 __cdecl CINumber::QueryThousandSeparator(void)
-?QueryThousandSeparator@CINumber@@SAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CAccessEntry::QueryUserName(void)const  __ptr64
-?QueryUserName@CAccessEntry@@QEBAPEBGXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryUserName(void)const  __ptr64
-?QueryUserName@CComAuthInfo@@QEBAPEAGXZ
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,int & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAHPEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,unsigned long & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAKPEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class ATL::CComBSTR & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCComBSTR@ATL@@PEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CString & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCString@@PEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCStringListEx@@PEAHPEBGPEAK@Z
-; public: unsigned short const * __ptr64 __cdecl CIISAppPool::QueryWamPath(void)const  __ptr64
-?QueryWamPath@CIISAppPool@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CIISApplication::QueryWamPath(void)const  __ptr64
-?QueryWamPath@CIISApplication@@QEBAPEBGXZ
-; protected: unsigned long __cdecl CIISWizardPage::QueryWindowColor(void)const  __ptr64
-?QueryWindowColor@CIISWizardPage@@IEBAKXZ
-; public: unsigned long __cdecl CIISWizardSheet::QueryWindowColor(void)const  __ptr64
-?QueryWindowColor@CIISWizardSheet@@QEBAKXZ
-; protected: unsigned long __cdecl CIISWizardPage::QueryWindowTextColor(void)const  __ptr64
-?QueryWindowTextColor@CIISWizardPage@@IEBAKXZ
-; public: unsigned long __cdecl CIISWizardSheet::QueryWindowTextColor(void)const  __ptr64
-?QueryWindowTextColor@CIISWizardSheet@@QEBAKXZ
-; public: long __cdecl CMetaKey::ReOpen(unsigned long) __ptr64
-?ReOpen@CMetaKey@@QEAAJK@Z
-; public: long __cdecl CMetaKey::ReOpen(void) __ptr64
-?ReOpen@CMetaKey@@QEAAJXZ
-; public: long __cdecl CIISSvcControl::Reboot(unsigned long,int) __ptr64
-?Reboot@CIISSvcControl@@QEAAJKH@Z
-; public: long __cdecl CIISApplication::Recover(int) __ptr64
-?Recover@CIISApplication@@QEAAJH@Z
-; public: long __cdecl CIISAppPool::Recycle(unsigned short const * __ptr64) __ptr64
-?Recycle@CIISAppPool@@QEAAJPEBG@Z
-; protected: long __cdecl CWamInterface::RecycleApplicationPool(unsigned short const * __ptr64) __ptr64
-?RecycleApplicationPool@CWamInterface@@IEAAJPEBG@Z
-; public: long __cdecl CIISApplication::RefreshAppState(void) __ptr64
-?RefreshAppState@CIISApplication@@QEAAJXZ
-; public: long __cdecl CIISAppPool::RefreshState(void) __ptr64
-?RefreshState@CIISAppPool@@QEAAJXZ
-; public: long __cdecl CMetaInterface::Regenerate(void) __ptr64
-?Regenerate@CMetaInterface@@QEAAJXZ
-; public: static void __cdecl CError::RegisterFacility(unsigned long,char const * __ptr64)
-?RegisterFacility@CError@@SAXKPEBD@Z
-; public: int __cdecl CObListPlus::Remove(class CObject * __ptr64) __ptr64
-?Remove@CObListPlus@@QEAAHPEAVCObject@@@Z
-; public: void __cdecl CObListPlus::RemoveAll(void) __ptr64
-?RemoveAll@CObListPlus@@QEAAXXZ
-; public: void __cdecl CError::RemoveAllOverrides(void) __ptr64
-?RemoveAllOverrides@CError@@QEAAXXZ
-; public: void __cdecl CODLBox::RemoveAllTabs(void) __ptr64
-?RemoveAllTabs@CODLBox@@QEAAXXZ
-; public: void __cdecl CObListPlus::RemoveAt(struct __POSITION * __ptr64 & __ptr64) __ptr64
-?RemoveAt@CObListPlus@@QEAAXAEAPEAU__POSITION@@@Z
-; public: void __cdecl CComAuthInfo::RemoveImpersonation(void) __ptr64
-?RemoveImpersonation@CComAuthInfo@@QEAAXXZ
-; public: int __cdecl CObListPlus::RemoveIndex(int) __ptr64
-?RemoveIndex@CObListPlus@@QEAAHH@Z
-; public: void __cdecl CError::RemoveOverride(long) __ptr64
-?RemoveOverride@CError@@QEAAXJ@Z
-; public: void __cdecl CAccessEntry::RemovePermissions(unsigned long) __ptr64
-?RemovePermissions@CAccessEntry@@QEAAXK@Z
-; public: void __cdecl CODLBox::RemoveTab(int,int) __ptr64
-?RemoveTab@CODLBox@@QEAAXHH@Z
-; protected: long __cdecl CMetaInterface::RenameKey(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?RenameKey@CMetaInterface@@IEAAJKPEBG0@Z
-; public: long __cdecl CMetaKey::RenameKey(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?RenameKey@CMetaKey@@QEAAJPEBG0@Z
-; unsigned long __cdecl ReplaceStringInString(class CString & __ptr64,class CString & __ptr64,class CString & __ptr64,int)
-?ReplaceStringInString@@YAKAEAVCString@@00H@Z
-; public: void __cdecl CObjHelper::ReportError(long) __ptr64
-?ReportError@CObjHelper@@QEAAXJ@Z
-; public: void __cdecl CError::Reset(void) __ptr64
-?Reset@CError@@QEAAXXZ
-; public: void __cdecl CMetaBack::Reset(void) __ptr64
-?Reset@CMetaBack@@QEAAXXZ
-; public: void __cdecl CMetaEnumerator::Reset(void) __ptr64
-?Reset@CMetaEnumerator@@QEAAXXZ
-; public: void __cdecl CObListIter::Reset(void) __ptr64
-?Reset@CObListIter@@QEAAXXZ
-; public: void __cdecl CObjHelper::ResetErrors(void) __ptr64
-?ResetErrors@CObjHelper@@QEAAXXZ
-; public: int __cdecl CAccessEntry::ResolveSID(void) __ptr64
-?ResolveSID@CAccessEntry@@QEAAHXZ
-; public: void __cdecl CRMCListBoxHeader::RespondToColumnWidthChanges(int) __ptr64
-?RespondToColumnWidthChanges@CRMCListBoxHeader@@QEAAXH@Z
-; public: long __cdecl CMetaBack::Restore(unsigned short const * __ptr64,unsigned long) __ptr64
-?Restore@CMetaBack@@QEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?Restore@CMetaInterface@@IEAAJPEBGKK@Z
-; protected: long __cdecl CMetaInterface::RestoreHistory(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
-?RestoreHistory@CMetaInterface@@IEAAJPEBGKKK@Z
-; public: long __cdecl CMetaBack::RestoreHistoryBackup(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
-?RestoreHistoryBackup@CMetaBack@@QEAAJPEBGKKK@Z
-; public: long __cdecl CMetaBack::RestoreWithPassword(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
-?RestoreWithPassword@CMetaBack@@QEAAJPEBGK0@Z
-; protected: long __cdecl CMetaInterface::RestoreWithPassword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
-?RestoreWithPassword@CMetaInterface@@IEAAJPEBGKK0@Z
-; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
-?SaveData@CMetaInterface@@QEAAJXZ
-; public: int __cdecl CRMCListBox::SelectItem(void * __ptr64) __ptr64
-?SelectItem@CRMCListBox@@QEAAHPEAX@Z
-; public: int __cdecl CObListPlus::SetAll(int) __ptr64
-?SetAll@CObListPlus@@QEAAHH@Z
-; public: long __cdecl CObjHelper::SetApiErr(long) __ptr64
-?SetApiErr@CObjHelper@@QEAAJJ@Z
-; public: int __cdecl CHeaderListBox::SetColumnWidth(int,int) __ptr64
-?SetColumnWidth@CHeaderListBox@@QEAAHHH@Z
-; public: void __cdecl CRMCListBoxHeader::SetColumnWidth(int,int) __ptr64
-?SetColumnWidth@CRMCListBoxHeader@@QEAAXHH@Z
-; protected: void __cdecl CComAuthInfo::SetComputerNameW(unsigned short const * __ptr64) __ptr64
-?SetComputerNameW@CComAuthInfo@@IEAAXPEBG@Z
-; public: int __cdecl CRMCListBox::SetCurSel(int) __ptr64
-?SetCurSel@CRMCListBox@@QEAAHH@Z
-; protected: long __cdecl CMetaInterface::SetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64) __ptr64
-?SetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@@Z
-; public: void __cdecl CObjHelper::SetDirty(int) __ptr64
-?SetDirty@CObjHelper@@QEAAXH@Z
-; protected: int __cdecl CHeaderListBox::SetHeaderItem(int,struct _HD_ITEMW * __ptr64) __ptr64
-?SetHeaderItem@CHeaderListBox@@IEAAHHPEAU_HD_ITEMW@@@Z
-; public: void __cdecl CComAuthInfo::SetImpersonation(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetImpersonation@CComAuthInfo@@QEAAXPEBG0@Z
-; public: int __cdecl CRMCListBoxHeader::SetItem(int,struct _HD_ITEMW * __ptr64) __ptr64
-?SetItem@CRMCListBoxHeader@@QEAAHHPEAU_HD_ITEMW@@@Z
-; protected: long __cdecl CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
-?SetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
-; public: void __cdecl CError::SetLastWinError(void)const  __ptr64
-?SetLastWinError@CError@@QEBAXXZ
-; public: int __cdecl CObListPlus::SetOwnership(int) __ptr64
-?SetOwnership@CObListPlus@@QEAAHH@Z
-; public: void __cdecl CObListIter::SetPosition(struct __POSITION * __ptr64) __ptr64
-?SetPosition@CObListIter@@QEAAXPEAU__POSITION@@@Z
-; protected: long __cdecl CMetaKey::SetPropertyValue(unsigned long,unsigned long,void * __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetPropertyValue@CMetaKey@@IEAAJKKPEAXPEAHPEBG@Z
-; public: void __cdecl CConfirmDlg::SetReference(class CString & __ptr64) __ptr64
-?SetReference@CConfirmDlg@@QEAAXAEAVCString@@@Z
-; public: void __cdecl CODLBox::SetTab(int,unsigned int) __ptr64
-?SetTab@CODLBox@@QEAAXHI@Z
-; protected: void __cdecl CRMCListBoxHeader::SetTabsFromHeader(void) __ptr64
-?SetTabsFromHeader@CRMCListBoxHeader@@IEAAXXZ
-; public: void __cdecl CBlob::SetValue(unsigned long,unsigned char * __ptr64,int) __ptr64
-?SetValue@CBlob@@QEAAXKPEAEH@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class CString & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCString@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCStringListEx@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,int,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKHPEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,unsigned long,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKKPEAHPEBG@Z
-; public: void __cdecl CIPAccessDescriptor::SetValues(int,unsigned long,unsigned long,int) __ptr64
-?SetValues@CIPAccessDescriptor@@QEAAXHKKH@Z
-; public: void __cdecl CIPAccessDescriptor::SetValues(int,unsigned short const * __ptr64) __ptr64
-?SetValues@CIPAccessDescriptor@@QEAAXHPEBG@Z
-; protected: int __cdecl CHeaderListBox::SetWidthsFromReg(void) __ptr64
-?SetWidthsFromReg@CHeaderListBox@@IEAAHXZ
-; protected: void __cdecl CIISWizardPage::SetWizardButtons(unsigned long) __ptr64
-?SetWizardButtons@CIISWizardPage@@IEAAXK@Z
-; public: void __cdecl CIPAddress::SetZeroValue(void) __ptr64
-?SetZeroValue@CIPAddress@@QEAAXXZ
-; public: int __cdecl CHeaderListBox::ShowWindow(int) __ptr64
-?ShowWindow@CHeaderListBox@@QEAAHH@Z
-; public: unsigned long __cdecl CObListPlus::Sort(int (__cdecl CObjectPlus::*)(class CObjectPlus const * __ptr64)const  __ptr64) __ptr64
-?Sort@CObListPlus@@QEAAKP8CObjectPlus@@EBAHPEBV2@@Z@Z
-; protected: static int __cdecl CObListPlus::SortHelper(void const * __ptr64,void const * __ptr64)
-?SortHelper@CObListPlus@@KAHPEBX0@Z
-; public: static void __cdecl CMetabasePath::SplitMetaPathAtInstance(unsigned short const * __ptr64,class CString & __ptr64,class CString & __ptr64)
-?SplitMetaPathAtInstance@CMetabasePath@@SAXPEBGAEAVCString@@1@Z
-; public: static int __cdecl CComAuthInfo::SplitUserNameAndDomain(class CString & __ptr64,class CString & __ptr64)
-?SplitUserNameAndDomain@CComAuthInfo@@SAHAEAVCString@@0@Z
-; public: long __cdecl CIISSvcControl::Start(unsigned long) __ptr64
-?Start@CIISSvcControl@@QEAAJK@Z
-; public: long __cdecl CIISSvcControl::Status(unsigned long,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?Status@CIISSvcControl@@QEAAJKPEAEPEAK1@Z
-; public: long __cdecl CIISSvcControl::Stop(unsigned long,int) __ptr64
-?Stop@CIISSvcControl@@QEAAJKH@Z
-; public: void __cdecl CComAuthInfo::StorePassword(unsigned short const * __ptr64) __ptr64
-?StorePassword@CComAuthInfo@@QEAAXPEBG@Z
-; public: static unsigned long __cdecl CIPAddress::StringToLong(class ATL::CComBSTR const & __ptr64)
-?StringToLong@CIPAddress@@SAKAEBVCComBSTR@ATL@@@Z
-; public: static unsigned long __cdecl CIPAddress::StringToLong(class CString const & __ptr64)
-?StringToLong@CIPAddress@@SAKAEBVCString@@@Z
-; public: static unsigned long __cdecl CIPAddress::StringToLong(unsigned short const * __ptr64,int)
-?StringToLong@CIPAddress@@SAKPEBGH@Z
-; public: int __cdecl CError::Succeeded(void)const  __ptr64
-?Succeeded@CError@@QEBAHXZ
-; public: static int __cdecl CError::Succeeded(long)
-?Succeeded@CError@@SAHJ@Z
-; public: virtual int __cdecl CIISAppPool::Succeeded(void)const  __ptr64
-?Succeeded@CIISAppPool@@UEBAHXZ
-; public: virtual int __cdecl CIISApplication::Succeeded(void)const  __ptr64
-?Succeeded@CIISApplication@@UEBAHXZ
-; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
-?Succeeded@CIISInterface@@UEBAHXZ
-; public: virtual int __cdecl CMetaBack::Succeeded(void)const  __ptr64
-?Succeeded@CMetaBack@@UEBAHXZ
-; public: virtual int __cdecl CMetaKey::Succeeded(void)const  __ptr64
-?Succeeded@CMetaKey@@UEBAHXZ
-; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
-?SupportsPooledProc@CWamInterface@@QEBAHXZ
-; int __cdecl SupportsSecurityACLs(unsigned short const * __ptr64)
-?SupportsSecurityACLs@@YAHPEBG@Z
-; public: void __cdecl CRMCListBoxResources::SysColorChanged(void) __ptr64
-?SysColorChanged@CRMCListBoxResources@@QEAAXXZ
-; public: long __cdecl CError::TextFromHRESULT(class CString & __ptr64)const  __ptr64
-?TextFromHRESULT@CError@@QEBAJAEAVCString@@@Z
-; public: long __cdecl CError::TextFromHRESULT(unsigned short * __ptr64,unsigned long)const  __ptr64
-?TextFromHRESULT@CError@@QEBAJPEAGK@Z
-; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(class CString & __ptr64)const  __ptr64
-?TextFromHRESULTExpand@CError@@QEBAPEBGAEAVCString@@@Z
-; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(unsigned short * __ptr64,unsigned long,long * __ptr64)const  __ptr64
-?TextFromHRESULTExpand@CError@@QEBAPEBGPEAGKPEAJ@Z
-; public: int __cdecl CODLBox::TextHeight(void)const  __ptr64
-?TextHeight@CODLBox@@QEBAHXZ
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::TruncatePath(int,unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
-?TruncatePath@CMetabasePath@@SAPEBGHPEBGAEAVCString@@PEAV2@@Z
-; int __cdecl UnixToPCText(class CString & __ptr64,unsigned short const * __ptr64)
-?UnixToPCText@@YAHAEAVCString@@PEBG@Z
-; public: long __cdecl CIISApplication::Unload(int) __ptr64
-?Unload@CIISApplication@@QEAAJH@Z
-; protected: void __cdecl CRMCListBoxResources::UnprepareBitmaps(void) __ptr64
-?UnprepareBitmaps@CRMCListBoxResources@@IEAAXXZ
-; public: static void __cdecl CError::UnregisterFacility(unsigned long)
-?UnregisterFacility@CError@@SAXK@Z
-; protected: int __cdecl CRMCListBoxHeader::UseButtons(void)const  __ptr64
-?UseButtons@CRMCListBoxHeader@@IEBAHXZ
-; protected: int __cdecl CRMCListBoxHeader::UseStretch(void)const  __ptr64
-?UseStretch@CRMCListBoxHeader@@IEBAHXZ
-; public: static int __cdecl CINumber::UseSystemDefault(void)
-?UseSystemDefault@CINumber@@SAHXZ
-; public: static int __cdecl CINumber::UseUserDefault(void)
-?UseUserDefault@CINumber@@SAHXZ
-; public: int __cdecl CComAuthInfo::UsesImpersonation(void)const  __ptr64
-?UsesImpersonation@CComAuthInfo@@QEBAHXZ
-; public: int __cdecl CIISWizardPage::ValidateString(class CEdit & __ptr64,class CString & __ptr64,int,int) __ptr64
-?ValidateString@CIISWizardPage@@QEAAHAEAVCEdit@@AEAVCString@@HH@Z
-; int __cdecl VerifyState(void)
-?VerifyState@@YAHXZ
-; public: static unsigned long __cdecl CComAuthInfo::VerifyUserPassword(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?VerifyUserPassword@CComAuthInfo@@SAKPEBG0@Z
-; public: unsigned long __cdecl CError::Win32Error(void)const  __ptr64
-?Win32Error@CError@@QEBAKXZ
-; public: static unsigned long __cdecl CError::Win32Error(long)
-?Win32Error@CError@@SAKJ@Z
-; protected: virtual void __cdecl CIISWizardSheet::WinHelpW(unsigned long,unsigned int) __ptr64
-?WinHelpW@CIISWizardSheet@@MEAAXKI@Z
-; public: long __cdecl CIISApplication::WriteFriendlyName(unsigned short const * __ptr64) __ptr64
-?WriteFriendlyName@CIISApplication@@QEAAJPEBG@Z
-; public: long __cdecl CIISApplication::WritePoolId(unsigned short const * __ptr64) __ptr64
-?WritePoolId@CIISApplication@@QEAAJPEBG@Z
-; protected: static struct CRuntimeClass * __ptr64 __cdecl CEmphasizedDialog::_GetBaseClass(void)
-?_GetBaseClass@CEmphasizedDialog@@KAPEAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __ptr64 __cdecl CHeaderListBox::_GetBaseClass(void)
-?_GetBaseClass@CHeaderListBox@@KAPEAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __ptr64 __cdecl CIISWizardBookEnd::_GetBaseClass(void)
-?_GetBaseClass@CIISWizardBookEnd@@KAPEAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __ptr64 __cdecl CIISWizardPage::_GetBaseClass(void)
-?_GetBaseClass@CIISWizardPage@@KAPEAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __ptr64 __cdecl CIISWizardSheet::_GetBaseClass(void)
-?_GetBaseClass@CIISWizardSheet@@KAPEAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __ptr64 __cdecl CRMCComboBox::_GetBaseClass(void)
-?_GetBaseClass@CRMCComboBox@@KAPEAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __ptr64 __cdecl CRMCListBox::_GetBaseClass(void)
-?_GetBaseClass@CRMCListBox@@KAPEAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __ptr64 __cdecl CRMCListBoxHeader::_GetBaseClass(void)
-?_GetBaseClass@CRMCListBoxHeader@@KAPEAUCRuntimeClass@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CConfirmDlg::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CConfirmDlg@@KAPEBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CEmphasizedDialog::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CEmphasizedDialog@@KAPEBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CHeaderListBox::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CHeaderListBox@@KAPEBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardBookEnd::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CIISWizardBookEnd@@KAPEBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardPage::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CIISWizardPage@@KAPEBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardSheet::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CIISWizardSheet@@KAPEBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CInheritanceDlg::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CInheritanceDlg@@KAPEBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CRMCComboBox::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CRMCComboBox@@KAPEBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CRMCListBox::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CRMCListBox@@KAPEBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CRMCListBoxHeader::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CRMCListBoxHeader@@KAPEBUAFX_MSGMAP@@XZ
-; protected: void __cdecl CODLBox::__DrawItem(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
-?__DrawItem@CODLBox@@IEAAXPEAUtagDRAWITEMSTRUCT@@@Z
-; public: virtual int __cdecl CRMCComboBox::__GetCount(void)const  __ptr64
-?__GetCount@CRMCComboBox@@UEBAHXZ
-; public: virtual int __cdecl CRMCListBox::__GetCount(void)const  __ptr64
-?__GetCount@CRMCListBox@@UEBAHXZ
-; protected: void __cdecl CODLBox::__MeasureItem(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
-?__MeasureItem@CODLBox@@IEAAXPEAUtagMEASUREITEMSTRUCT@@@Z
-; public: virtual int __cdecl CRMCComboBox::__SetItemHeight(int,unsigned int) __ptr64
-?__SetItemHeight@CRMCComboBox@@UEAAHHI@Z
-; public: virtual int __cdecl CRMCListBox::__SetItemHeight(int,unsigned int) __ptr64
-?__SetItemHeight@CRMCListBox@@UEAAHHI@Z
-; protected: static unsigned short const  CMetabasePath::_chSep
-?_chSep@CMetabasePath@@1GB
-; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszMachine
-?_cszMachine@CMetabasePath@@1QEBGEB
-; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszRoot
-?_cszRoot@CMetabasePath@@1QEBGEB
-; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszSep
-?_cszSep@CMetabasePath@@1QEBGEB
-; private: static int  CINumber::_fAllocated
-?_fAllocated@CINumber@@0HA DATA
-; private: static int  CINumber::_fCurrencyPrefix
-?_fCurrencyPrefix@CINumber@@0HA DATA
-; private: static int  CINumber::_fInitialized
-?_fInitialized@CINumber@@0HA DATA
-; private: static struct AFX_MSGMAP_ENTRY const * const  CConfirmDlg::_messageEntries
-?_messageEntries@CConfirmDlg@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CEmphasizedDialog::_messageEntries
-?_messageEntries@CEmphasizedDialog@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CHeaderListBox::_messageEntries
-?_messageEntries@CHeaderListBox@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardBookEnd::_messageEntries
-?_messageEntries@CIISWizardBookEnd@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardPage::_messageEntries
-?_messageEntries@CIISWizardPage@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardSheet::_messageEntries
-?_messageEntries@CIISWizardSheet@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CInheritanceDlg::_messageEntries
-?_messageEntries@CInheritanceDlg@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCComboBox::_messageEntries
-?_messageEntries@CRMCComboBox@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCListBox::_messageEntries
-?_messageEntries@CRMCListBox@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCListBoxHeader::_messageEntries
-?_messageEntries@CRMCListBoxHeader@@0QBUAFX_MSGMAP_ENTRY@@B
-; protected: static class CString * __ptr64  __ptr64 CINumber::_pstr
-?_pstr@CINumber@@1PEAVCString@@EA DATA
-; public: static class CString * __ptr64  __ptr64 CINumber::_pstrBadNumber
-?_pstrBadNumber@CINumber@@2PEAVCString@@EA DATA
-; private: static class CString * __ptr64  __ptr64 CINumber::_pstrCurrency
-?_pstrCurrency@CINumber@@0PEAVCString@@EA DATA
-; private: static class CString * __ptr64  __ptr64 CINumber::_pstrDecimalPoint
-?_pstrDecimalPoint@CINumber@@0PEAVCString@@EA DATA
-; private: static class CString * __ptr64  __ptr64 CINumber::_pstrThousandSeparator
-?_pstrThousandSeparator@CINumber@@0PEAVCString@@EA DATA
-; public: static struct CRuntimeClass const  CEmphasizedDialog::classCEmphasizedDialog
-?classCEmphasizedDialog@CEmphasizedDialog@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CHeaderListBox::classCHeaderListBox
-?classCHeaderListBox@CHeaderListBox@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CIISWizardBookEnd::classCIISWizardBookEnd
-?classCIISWizardBookEnd@CIISWizardBookEnd@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CIISWizardPage::classCIISWizardPage
-?classCIISWizardPage@CIISWizardPage@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CIISWizardSheet::classCIISWizardSheet
-?classCIISWizardSheet@CIISWizardSheet@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CRMCComboBox::classCRMCComboBox
-?classCRMCComboBox@CRMCComboBox@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CRMCListBox::classCRMCListBox
-?classCRMCListBox@CRMCListBox@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CRMCListBoxHeader::classCRMCListBoxHeader
-?classCRMCListBoxHeader@CRMCListBoxHeader@@2UCRuntimeClass@@B
-; public: class CDC const & __ptr64 __cdecl CRMCListBoxResources::dcBitMap(void)const  __ptr64
-?dcBitMap@CRMCListBoxResources@@QEBAAEBVCDC@@XZ
-; unsigned short const * __ptr64 const  __ptr64 g_lpszDummyPassword
-?g_lpszDummyPassword@@3PEBGEB DATA
-; protected: static struct AFX_MSGMAP const  CConfirmDlg::messageMap
-?messageMap@CConfirmDlg@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CEmphasizedDialog::messageMap
-?messageMap@CEmphasizedDialog@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CHeaderListBox::messageMap
-?messageMap@CHeaderListBox@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CIISWizardBookEnd::messageMap
-?messageMap@CIISWizardBookEnd@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CIISWizardPage::messageMap
-?messageMap@CIISWizardPage@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CIISWizardSheet::messageMap
-?messageMap@CIISWizardSheet@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CInheritanceDlg::messageMap
-?messageMap@CInheritanceDlg@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CRMCComboBox::messageMap
-?messageMap@CRMCComboBox@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CRMCListBox::messageMap
-?messageMap@CRMCListBox@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CRMCListBoxHeader::messageMap
-?messageMap@CRMCListBoxHeader@@1UAFX_MSGMAP@@B
-; protected: static int const  CMetaKey::s_MetaTableSize
-?s_MetaTableSize@CMetaKey@@1HB
-; protected: static unsigned long  CError::s_cdwFacilities
-?s_cdwFacilities@CError@@1KA DATA
-; protected: static long  CError::s_cdwMaxLMErr
-?s_cdwMaxLMErr@CError@@1JA DATA
-; protected: static long  CError::s_cdwMaxWSErr
-?s_cdwMaxWSErr@CError@@1JA DATA
-; protected: static long  CError::s_cdwMinLMErr
-?s_cdwMinLMErr@CError@@1JA DATA
-; protected: static long  CError::s_cdwMinWSErr
-?s_cdwMinWSErr@CError@@1JA DATA
-; protected: static unsigned short const  CError::s_chEscNumber
-?s_chEscNumber@CError@@1GB
-; protected: static unsigned short const  CError::s_chEscText
-?s_chEscText@CError@@1GB
-; protected: static unsigned short const  CError::s_chEscape
-?s_chEscape@CError@@1GB
-; protected: static int const  CIISWizardSheet::s_cnBoldDeltaFont
-?s_cnBoldDeltaFont@CIISWizardSheet@@1HB
-; protected: static int const  CIISWizardSheet::s_cnBoldDeltaHeight
-?s_cnBoldDeltaHeight@CIISWizardSheet@@1HB
-; protected: static int const  CIISWizardSheet::s_cnBoldDeltaWidth
-?s_cnBoldDeltaWidth@CIISWizardSheet@@1HB
-; protected: static int const  CIISWizardPage::s_cnHeaderOffset
-?s_cnHeaderOffset@CIISWizardPage@@1HB
-; protected: static unsigned short const * __ptr64 *  CError::s_cszFacility
-?s_cszFacility@CError@@1PAPEBGA DATA
-; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszLMDLL
-?s_cszLMDLL@CError@@1PEBGEB DATA
-; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszWSDLL
-?s_cszWSDLL@CError@@1PEBGEB DATA
-; protected: static int  CError::s_fAllocated
-?s_fAllocated@CError@@1HA DATA
-; protected: static class CMap<unsigned long,unsigned long & __ptr64,class CString,class CString & __ptr64> * __ptr64  __ptr64 CError::s_pmapFacilities
-?s_pmapFacilities@CError@@1PEAV?$CMap@KAEAKVCString@@AEAV1@@@EA DATA
-; protected: static class CString * __ptr64  __ptr64 CError::s_pstrDefError
-?s_pstrDefError@CError@@1PEAVCString@@EA DATA
-; protected: static class CString * __ptr64  __ptr64 CError::s_pstrDefSuccs
-?s_pstrDefSuccs@CError@@1PEAVCString@@EA DATA
-; protected: static struct CMetaKey::tagMDFIELDDEF const * const  CMetaKey::s_rgMetaTable
-?s_rgMetaTable@CMetaKey@@1QBUtagMDFIELDDEF@1@B
-; protected: static unsigned short const * __ptr64 const  __ptr64 CMetaBack::s_szMasterAppRoot
-?s_szMasterAppRoot@CMetaBack@@1QEBGEB
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iisui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iisui.dll
+EXPORTS
+InitCommonDll
+; public: __cdecl CAccessEntry::CAccessEntry(class CAccessEntry & __ptr64) __ptr64
+??0CAccessEntry@@QEAA@AEAV0@@Z
+; public: __cdecl CAccessEntry::CAccessEntry(unsigned long,void * __ptr64,unsigned short const * __ptr64,int) __ptr64
+??0CAccessEntry@@QEAA@KPEAXPEBGH@Z
+; public: __cdecl CAccessEntry::CAccessEntry(void * __ptr64,int) __ptr64
+??0CAccessEntry@@QEAA@PEAXH@Z
+; public: __cdecl CAccessEntry::CAccessEntry(void * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CAccessEntry@@QEAA@PEAXPEBG1@Z
+; public: __cdecl CBlob::CBlob(class CBlob const & __ptr64) __ptr64
+??0CBlob@@QEAA@AEBV0@@Z
+; public: __cdecl CBlob::CBlob(unsigned long,unsigned char * __ptr64,int) __ptr64
+??0CBlob@@QEAA@KPEAEH@Z
+; public: __cdecl CBlob::CBlob(void) __ptr64
+??0CBlob@@QEAA@XZ
+; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo & __ptr64) __ptr64
+??0CComAuthInfo@@QEAA@AEAV0@@Z
+; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo * __ptr64) __ptr64
+??0CComAuthInfo@@QEAA@PEAV0@@Z
+; public: __cdecl CComAuthInfo::CComAuthInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CComAuthInfo@@QEAA@PEBG00@Z
+; public: __cdecl CConfirmDlg::CConfirmDlg(class CWnd * __ptr64) __ptr64
+??0CConfirmDlg@@QEAA@PEAVCWnd@@@Z
+; public: __cdecl CDirBrowseDlg::CDirBrowseDlg(class CDirBrowseDlg const & __ptr64) __ptr64
+??0CDirBrowseDlg@@QEAA@AEBV0@@Z
+; public: __cdecl CDirBrowseDlg::CDirBrowseDlg(class CWnd * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CDirBrowseDlg@@QEAA@PEAVCWnd@@PEBG@Z
+; public: __cdecl CDownButton::CDownButton(void) __ptr64
+??0CDownButton@@QEAA@XZ
+; public: __cdecl CEmphasizedDialog::CEmphasizedDialog(unsigned int,class CWnd * __ptr64) __ptr64
+??0CEmphasizedDialog@@QEAA@IPEAVCWnd@@@Z
+; public: __cdecl CEmphasizedDialog::CEmphasizedDialog(unsigned short const * __ptr64,class CWnd * __ptr64) __ptr64
+??0CEmphasizedDialog@@QEAA@PEBGPEAVCWnd@@@Z
+; public: __cdecl CEmphasizedDialog::CEmphasizedDialog(void) __ptr64
+??0CEmphasizedDialog@@QEAA@XZ
+; public: __cdecl CError::CError(long) __ptr64
+??0CError@@QEAA@J@Z
+; public: __cdecl CError::CError(unsigned long) __ptr64
+??0CError@@QEAA@K@Z
+; public: __cdecl CError::CError(void) __ptr64
+??0CError@@QEAA@XZ
+; public: __cdecl CGetComputer::CGetComputer(class CGetComputer const & __ptr64) __ptr64
+??0CGetComputer@@QEAA@AEBV0@@Z
+; public: __cdecl CGetComputer::CGetComputer(void) __ptr64
+??0CGetComputer@@QEAA@XZ
+; public: __cdecl CGetUsers::CGetUsers(unsigned short const * __ptr64,int) __ptr64
+??0CGetUsers@@QEAA@PEBGH@Z
+; public: __cdecl CHeaderListBox::CHeaderListBox(unsigned long,unsigned short const * __ptr64) __ptr64
+??0CHeaderListBox@@QEAA@KPEBG@Z
+; public: __cdecl CIISAppPool::CIISAppPool(class CIISAppPool & __ptr64) __ptr64
+??0CIISAppPool@@QEAA@AEAV0@@Z
+; public: __cdecl CIISAppPool::CIISAppPool(class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CIISAppPool@@QEAA@PEAVCComAuthInfo@@PEBG@Z
+; public: __cdecl CIISApplication::CIISApplication(class CIISApplication & __ptr64) __ptr64
+??0CIISApplication@@QEAA@AEAV0@@Z
+; public: __cdecl CIISApplication::CIISApplication(class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CIISApplication@@QEAA@PEAVCComAuthInfo@@PEBG@Z
+; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
+??0CIISInterface@@QEAA@AEAV0@@Z
+; public: __cdecl CIISInterface::CIISInterface(class CComAuthInfo * __ptr64,long) __ptr64
+??0CIISInterface@@QEAA@PEAVCComAuthInfo@@J@Z
+; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
+??0CIISSvcControl@@QEAA@AEAV0@@Z
+; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl * __ptr64) __ptr64
+??0CIISSvcControl@@QEAA@PEAV0@@Z
+; public: __cdecl CIISSvcControl::CIISSvcControl(class CComAuthInfo * __ptr64) __ptr64
+??0CIISSvcControl@@QEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CIISWizardBookEnd::CIISWizardBookEnd(unsigned int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
+??0CIISWizardBookEnd@@QEAA@IIIII@Z
+; public: __cdecl CIISWizardBookEnd::CIISWizardBookEnd(long * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
+??0CIISWizardBookEnd@@QEAA@PEAJIIIIIII@Z
+; public: __cdecl CIISWizardPage::CIISWizardPage(unsigned int,unsigned int,int,unsigned int,unsigned int) __ptr64
+??0CIISWizardPage@@QEAA@IIHII@Z
+; public: __cdecl CIISWizardSheet::CIISWizardSheet(unsigned int,unsigned int,unsigned long,unsigned long) __ptr64
+??0CIISWizardSheet@@QEAA@IIKK@Z
+; public: __cdecl CILong::CILong(long) __ptr64
+??0CILong@@QEAA@J@Z
+; public: __cdecl CILong::CILong(unsigned short const * __ptr64) __ptr64
+??0CILong@@QEAA@PEBG@Z
+; public: __cdecl CILong::CILong(void) __ptr64
+??0CILong@@QEAA@XZ
+; protected: __cdecl CINumber::CINumber(void) __ptr64
+??0CINumber@@IEAA@XZ
+; public: __cdecl CIPAccessDescriptor::CIPAccessDescriptor(class CIPAccessDescriptor const & __ptr64) __ptr64
+??0CIPAccessDescriptor@@QEAA@AEBV0@@Z
+; public: __cdecl CIPAccessDescriptor::CIPAccessDescriptor(int) __ptr64
+??0CIPAccessDescriptor@@QEAA@H@Z
+; public: __cdecl CIPAccessDescriptor::CIPAccessDescriptor(int,unsigned long,unsigned long,int) __ptr64
+??0CIPAccessDescriptor@@QEAA@HKKH@Z
+; public: __cdecl CIPAccessDescriptor::CIPAccessDescriptor(int,unsigned short const * __ptr64) __ptr64
+??0CIPAccessDescriptor@@QEAA@HPEBG@Z
+; public: __cdecl CIPAddress::CIPAddress(class CIPAddress const & __ptr64) __ptr64
+??0CIPAddress@@QEAA@AEBV0@@Z
+; public: __cdecl CIPAddress::CIPAddress(class CString const & __ptr64) __ptr64
+??0CIPAddress@@QEAA@AEBVCString@@@Z
+; public: __cdecl CIPAddress::CIPAddress(unsigned char,unsigned char,unsigned char,unsigned char) __ptr64
+??0CIPAddress@@QEAA@EEEE@Z
+; public: __cdecl CIPAddress::CIPAddress(unsigned long,int) __ptr64
+??0CIPAddress@@QEAA@KH@Z
+; public: __cdecl CIPAddress::CIPAddress(unsigned char * __ptr64,int) __ptr64
+??0CIPAddress@@QEAA@PEAEH@Z
+; public: __cdecl CIPAddress::CIPAddress(unsigned short const * __ptr64,int) __ptr64
+??0CIPAddress@@QEAA@PEBGH@Z
+; public: __cdecl CIPAddress::CIPAddress(void) __ptr64
+??0CIPAddress@@QEAA@XZ
+; public: __cdecl CInheritanceDlg::CInheritanceDlg(int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned short const * __ptr64,int,class CComAuthInfo * __ptr64,unsigned short const * __ptr64,class CWnd * __ptr64) __ptr64
+??0CInheritanceDlg@@QEAA@HKKKKPEBGHPEAVCComAuthInfo@@0PEAVCWnd@@@Z
+; public: __cdecl CInheritanceDlg::CInheritanceDlg(unsigned long,int,class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class CWnd * __ptr64) __ptr64
+??0CInheritanceDlg@@QEAA@KHPEAVCComAuthInfo@@PEBG1PEAVCWnd@@@Z
+; public: __cdecl CInheritanceDlg::CInheritanceDlg(unsigned long,int,class CComAuthInfo * __ptr64,unsigned short const * __ptr64,class CStringList & __ptr64,unsigned short const * __ptr64,class CWnd * __ptr64) __ptr64
+??0CInheritanceDlg@@QEAA@KHPEAVCComAuthInfo@@PEBGAEAVCStringList@@1PEAVCWnd@@@Z
+; public: __cdecl CMappedBitmapButton::CMappedBitmapButton(void) __ptr64
+??0CMappedBitmapButton@@QEAA@XZ
+; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
+??0CMetaBack@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaBack::CMetaBack(class CComAuthInfo * __ptr64) __ptr64
+??0CMetaBack@@QEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
+??0CMetaEnumerator@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(int,class CMetaKey * __ptr64) __ptr64
+??0CMetaEnumerator@@QEAA@HPEAVCMetaKey@@@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0CMetaEnumerator@@QEAA@PEAVCComAuthInfo@@PEBGK@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0CMetaEnumerator@@QEAA@PEAVCMetaInterface@@PEBGK@Z
+; protected: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface * __ptr64) __ptr64
+??0CMetaInterface@@IEAA@PEAV0@@Z
+; protected: __cdecl CMetaInterface::CMetaInterface(class CComAuthInfo * __ptr64) __ptr64
+??0CMetaInterface@@IEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface & __ptr64) __ptr64
+??0CMetaInterface@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CMetaKey & __ptr64) __ptr64
+??0CMetaKey@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaKey::CMetaKey(int,class CMetaKey * __ptr64) __ptr64
+??0CMetaKey@@QEAA@HPEAV0@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64) __ptr64
+??0CMetaKey@@QEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+??0CMetaKey@@QEAA@PEAVCComAuthInfo@@PEBGKK@Z
+; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64) __ptr64
+??0CMetaKey@@QEAA@PEAVCMetaInterface@@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+??0CMetaKey@@QEAA@PEAVCMetaInterface@@PEBGKK@Z
+; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
+??0CMetabasePath@@QEAA@AEBV0@@Z
+; public: __cdecl CMetabasePath::CMetabasePath(int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CMetabasePath@@QEAA@HPEBG000@Z
+; public: __cdecl CMetabasePath::CMetabasePath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CMetabasePath@@QEAA@PEBGK00@Z
+; protected: __cdecl CODLBox::CODLBox(void) __ptr64
+??0CODLBox@@IEAA@XZ
+; public: __cdecl CObListIter::CObListIter(class CObListPlus const & __ptr64) __ptr64
+??0CObListIter@@QEAA@AEBVCObListPlus@@@Z
+; public: __cdecl CObListPlus::CObListPlus(int) __ptr64
+??0CObListPlus@@QEAA@H@Z
+; protected: __cdecl CObjHelper::CObjHelper(void) __ptr64
+??0CObjHelper@@IEAA@XZ
+; public: __cdecl CObjHelper::CObjHelper(class CObjHelper const & __ptr64) __ptr64
+??0CObjHelper@@QEAA@AEBV0@@Z
+; public: __cdecl CObjectPlus::CObjectPlus(void) __ptr64
+??0CObjectPlus@@QEAA@XZ
+; public: __cdecl CRMCComboBox::CRMCComboBox(void) __ptr64
+??0CRMCComboBox@@QEAA@XZ
+; public: __cdecl CRMCListBox::CRMCListBox(void) __ptr64
+??0CRMCListBox@@QEAA@XZ
+; public: __cdecl CRMCListBoxDrawStruct::CRMCListBoxDrawStruct(class CDC * __ptr64,struct tagRECT * __ptr64,int,unsigned __int64,int,class CRMCListBoxResources const * __ptr64) __ptr64
+??0CRMCListBoxDrawStruct@@QEAA@PEAVCDC@@PEAUtagRECT@@H_KHPEBVCRMCListBoxResources@@@Z
+; public: __cdecl CRMCListBoxHeader::CRMCListBoxHeader(unsigned long) __ptr64
+??0CRMCListBoxHeader@@QEAA@K@Z
+; public: __cdecl CRMCListBoxResources::CRMCListBoxResources(int,int,unsigned long) __ptr64
+??0CRMCListBoxResources@@QEAA@HHK@Z
+; public: __cdecl CStrPassword::CStrPassword(class CStrPassword & __ptr64) __ptr64
+??0CStrPassword@@QEAA@AEAV0@@Z
+; public: __cdecl CStrPassword::CStrPassword(unsigned short * __ptr64) __ptr64
+??0CStrPassword@@QEAA@PEAG@Z
+; public: __cdecl CStrPassword::CStrPassword(unsigned short const * __ptr64) __ptr64
+??0CStrPassword@@QEAA@PEBG@Z
+; public: __cdecl CStrPassword::CStrPassword(void) __ptr64
+??0CStrPassword@@QEAA@XZ
+; public: __cdecl CStringListEx::CStringListEx(int) __ptr64
+??0CStringListEx@@QEAA@H@Z
+; public: __cdecl CUpButton::CUpButton(void) __ptr64
+??0CUpButton@@QEAA@XZ
+; protected: __cdecl CWamInterface::CWamInterface(class CWamInterface * __ptr64) __ptr64
+??0CWamInterface@@IEAA@PEAV0@@Z
+; protected: __cdecl CWamInterface::CWamInterface(class CComAuthInfo * __ptr64) __ptr64
+??0CWamInterface@@IEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CWamInterface::CWamInterface(class CWamInterface & __ptr64) __ptr64
+??0CWamInterface@@QEAA@AEAV0@@Z
+; public: virtual __cdecl CAccessEntry::~CAccessEntry(void) __ptr64
+??1CAccessEntry@@UEAA@XZ
+; public: __cdecl CBlob::~CBlob(void) __ptr64
+??1CBlob@@QEAA@XZ
+; public: __cdecl CComAuthInfo::~CComAuthInfo(void) __ptr64
+??1CComAuthInfo@@QEAA@XZ
+; public: virtual __cdecl CConfirmDlg::~CConfirmDlg(void) __ptr64
+??1CConfirmDlg@@UEAA@XZ
+; public: __cdecl CDirBrowseDlg::~CDirBrowseDlg(void) __ptr64
+??1CDirBrowseDlg@@QEAA@XZ
+; public: virtual __cdecl CDownButton::~CDownButton(void) __ptr64
+??1CDownButton@@UEAA@XZ
+; public: virtual __cdecl CEmphasizedDialog::~CEmphasizedDialog(void) __ptr64
+??1CEmphasizedDialog@@UEAA@XZ
+; public: __cdecl CError::~CError(void) __ptr64
+??1CError@@QEAA@XZ
+; public: __cdecl CGetComputer::~CGetComputer(void) __ptr64
+??1CGetComputer@@QEAA@XZ
+; public: virtual __cdecl CGetUsers::~CGetUsers(void) __ptr64
+??1CGetUsers@@UEAA@XZ
+; public: virtual __cdecl CHeaderListBox::~CHeaderListBox(void) __ptr64
+??1CHeaderListBox@@UEAA@XZ
+; public: virtual __cdecl CIISAppPool::~CIISAppPool(void) __ptr64
+??1CIISAppPool@@UEAA@XZ
+; public: virtual __cdecl CIISApplication::~CIISApplication(void) __ptr64
+??1CIISApplication@@UEAA@XZ
+; public: __cdecl CIISInterface::~CIISInterface(void) __ptr64
+??1CIISInterface@@QEAA@XZ
+; public: virtual __cdecl CIISSvcControl::~CIISSvcControl(void) __ptr64
+??1CIISSvcControl@@UEAA@XZ
+; public: virtual __cdecl CIISWizardBookEnd::~CIISWizardBookEnd(void) __ptr64
+??1CIISWizardBookEnd@@UEAA@XZ
+; public: virtual __cdecl CIISWizardPage::~CIISWizardPage(void) __ptr64
+??1CIISWizardPage@@UEAA@XZ
+; public: virtual __cdecl CIISWizardSheet::~CIISWizardSheet(void) __ptr64
+??1CIISWizardSheet@@UEAA@XZ
+; public: __cdecl CILong::~CILong(void) __ptr64
+??1CILong@@QEAA@XZ
+; protected: __cdecl CINumber::~CINumber(void) __ptr64
+??1CINumber@@IEAA@XZ
+; public: virtual __cdecl CIPAccessDescriptor::~CIPAccessDescriptor(void) __ptr64
+??1CIPAccessDescriptor@@UEAA@XZ
+; public: virtual __cdecl CIPAddress::~CIPAddress(void) __ptr64
+??1CIPAddress@@UEAA@XZ
+; public: virtual __cdecl CInheritanceDlg::~CInheritanceDlg(void) __ptr64
+??1CInheritanceDlg@@UEAA@XZ
+; public: virtual __cdecl CMappedBitmapButton::~CMappedBitmapButton(void) __ptr64
+??1CMappedBitmapButton@@UEAA@XZ
+; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
+??1CMetaBack@@UEAA@XZ
+; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
+??1CMetaEnumerator@@UEAA@XZ
+; public: virtual __cdecl CMetaInterface::~CMetaInterface(void) __ptr64
+??1CMetaInterface@@UEAA@XZ
+; public: virtual __cdecl CMetaKey::~CMetaKey(void) __ptr64
+??1CMetaKey@@UEAA@XZ
+; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
+??1CMetabasePath@@QEAA@XZ
+; protected: __cdecl CODLBox::~CODLBox(void) __ptr64
+??1CODLBox@@IEAA@XZ
+; public: virtual __cdecl CObListIter::~CObListIter(void) __ptr64
+??1CObListIter@@UEAA@XZ
+; public: virtual __cdecl CObListPlus::~CObListPlus(void) __ptr64
+??1CObListPlus@@UEAA@XZ
+; public: virtual __cdecl CObjectPlus::~CObjectPlus(void) __ptr64
+??1CObjectPlus@@UEAA@XZ
+; public: virtual __cdecl CRMCComboBox::~CRMCComboBox(void) __ptr64
+??1CRMCComboBox@@UEAA@XZ
+; public: virtual __cdecl CRMCListBox::~CRMCListBox(void) __ptr64
+??1CRMCListBox@@UEAA@XZ
+; public: virtual __cdecl CRMCListBoxHeader::~CRMCListBoxHeader(void) __ptr64
+??1CRMCListBoxHeader@@UEAA@XZ
+; public: __cdecl CRMCListBoxResources::~CRMCListBoxResources(void) __ptr64
+??1CRMCListBoxResources@@QEAA@XZ
+; public: __cdecl CStrPassword::~CStrPassword(void) __ptr64
+??1CStrPassword@@QEAA@XZ
+; public: virtual __cdecl CStringListEx::~CStringListEx(void) __ptr64
+??1CStringListEx@@UEAA@XZ
+; public: virtual __cdecl CUpButton::~CUpButton(void) __ptr64
+??1CUpButton@@UEAA@XZ
+; public: virtual __cdecl CWamInterface::~CWamInterface(void) __ptr64
+??1CWamInterface@@UEAA@XZ
+; public: class CBlob & __ptr64 __cdecl CBlob::operator=(class CBlob const & __ptr64) __ptr64
+??4CBlob@@QEAAAEAV0@AEBV0@@Z
+; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo & __ptr64) __ptr64
+??4CComAuthInfo@@QEAAAEAV0@AEAV0@@Z
+; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo * __ptr64) __ptr64
+??4CComAuthInfo@@QEAAAEAV0@PEAV0@@Z
+; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(unsigned short const * __ptr64) __ptr64
+??4CComAuthInfo@@QEAAAEAV0@PEBG@Z
+; public: class CDirBrowseDlg & __ptr64 __cdecl CDirBrowseDlg::operator=(class CDirBrowseDlg const & __ptr64) __ptr64
+??4CDirBrowseDlg@@QEAAAEAV0@AEBV0@@Z
+; public: class CError const & __ptr64 __cdecl CError::operator=(class CError const & __ptr64) __ptr64
+??4CError@@QEAAAEBV0@AEBV0@@Z
+; public: class CError const & __ptr64 __cdecl CError::operator=(long) __ptr64
+??4CError@@QEAAAEBV0@J@Z
+; public: class CGetComputer & __ptr64 __cdecl CGetComputer::operator=(class CGetComputer const & __ptr64) __ptr64
+??4CGetComputer@@QEAAAEAV0@AEBV0@@Z
+; public: class CIISAppPool & __ptr64 __cdecl CIISAppPool::operator=(class CIISAppPool & __ptr64) __ptr64
+??4CIISAppPool@@QEAAAEAV0@AEAV0@@Z
+; public: class CIISApplication & __ptr64 __cdecl CIISApplication::operator=(class CIISApplication & __ptr64) __ptr64
+??4CIISApplication@@QEAAAEAV0@AEAV0@@Z
+; public: class CIISInterface & __ptr64 __cdecl CIISInterface::operator=(class CIISInterface & __ptr64) __ptr64
+??4CIISInterface@@QEAAAEAV0@AEAV0@@Z
+; public: class CIISSvcControl & __ptr64 __cdecl CIISSvcControl::operator=(class CIISSvcControl & __ptr64) __ptr64
+??4CIISSvcControl@@QEAAAEAV0@AEAV0@@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator=(class CILong const & __ptr64) __ptr64
+??4CILong@@QEAAAEAV0@AEBV0@@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator=(long) __ptr64
+??4CILong@@QEAAAEAV0@J@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator=(unsigned short const * __ptr64) __ptr64
+??4CILong@@QEAAAEAV0@PEBG@Z
+; public: class CINumber & __ptr64 __cdecl CINumber::operator=(class CINumber const & __ptr64) __ptr64
+??4CINumber@@QEAAAEAV0@AEBV0@@Z
+; public: class CIPAddress const & __ptr64 __cdecl CIPAddress::operator=(class CIPAddress const & __ptr64) __ptr64
+??4CIPAddress@@QEAAAEBV0@AEBV0@@Z
+; public: class CIPAddress const & __ptr64 __cdecl CIPAddress::operator=(class CString const & __ptr64) __ptr64
+??4CIPAddress@@QEAAAEBV0@AEBVCString@@@Z
+; public: class CIPAddress const & __ptr64 __cdecl CIPAddress::operator=(unsigned long) __ptr64
+??4CIPAddress@@QEAAAEBV0@K@Z
+; public: class CIPAddress const & __ptr64 __cdecl CIPAddress::operator=(unsigned short const * __ptr64) __ptr64
+??4CIPAddress@@QEAAAEBV0@PEBG@Z
+; public: class CMetaBack & __ptr64 __cdecl CMetaBack::operator=(class CMetaBack & __ptr64) __ptr64
+??4CMetaBack@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaEnumerator & __ptr64 __cdecl CMetaEnumerator::operator=(class CMetaEnumerator & __ptr64) __ptr64
+??4CMetaEnumerator@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaInterface & __ptr64 __cdecl CMetaInterface::operator=(class CMetaInterface & __ptr64) __ptr64
+??4CMetaInterface@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaKey & __ptr64 __cdecl CMetaKey::operator=(class CMetaKey & __ptr64) __ptr64
+??4CMetaKey@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetabasePath & __ptr64 __cdecl CMetabasePath::operator=(class CMetabasePath const & __ptr64) __ptr64
+??4CMetabasePath@@QEAAAEAV0@AEBV0@@Z
+; public: class CObjHelper & __ptr64 __cdecl CObjHelper::operator=(class CObjHelper const & __ptr64) __ptr64
+??4CObjHelper@@QEAAAEAV0@AEBV0@@Z
+; public: class CRMCListBoxDrawStruct & __ptr64 __cdecl CRMCListBoxDrawStruct::operator=(class CRMCListBoxDrawStruct const & __ptr64) __ptr64
+??4CRMCListBoxDrawStruct@@QEAAAEAV0@AEBV0@@Z
+; public: class CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(class CStrPassword & __ptr64) __ptr64
+??4CStrPassword@@QEAAAEBV0@AEAV0@@Z
+; public: class CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(unsigned short const * __ptr64) __ptr64
+??4CStrPassword@@QEAAAEBV0@PEBG@Z
+; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringListEx const & __ptr64) __ptr64
+??4CStringListEx@@QEAAAEAV0@AEBV0@@Z
+; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringList const & __ptr64) __ptr64
+??4CStringListEx@@QEAAAEAV0@AEBVCStringList@@@Z
+; public: class CWamInterface & __ptr64 __cdecl CWamInterface::operator=(class CWamInterface & __ptr64) __ptr64
+??4CWamInterface@@QEAAAEAV0@AEAV0@@Z
+; public: int __cdecl CAccessEntry::operator==(class CAccessEntry const & __ptr64)const  __ptr64
+??8CAccessEntry@@QEBAHAEBV0@@Z
+; public: int __cdecl CAccessEntry::operator==(void * __ptr64 const)const  __ptr64
+??8CAccessEntry@@QEBAHQEAX@Z
+; public: int __cdecl CBlob::operator==(class CBlob const & __ptr64)const  __ptr64
+??8CBlob@@QEBAHAEBV0@@Z
+; public: int const  __cdecl CError::operator==(class CError & __ptr64) __ptr64
+??8CError@@QEAA?BHAEAV0@@Z
+; public: int const  __cdecl CError::operator==(long) __ptr64
+??8CError@@QEAA?BHJ@Z
+; public: int __cdecl CILong::operator==(long) __ptr64
+??8CILong@@QEAAHJ@Z
+; public: int __cdecl CIPAccessDescriptor::operator==(class CIPAccessDescriptor const & __ptr64)const  __ptr64
+??8CIPAccessDescriptor@@QEBAHAEBV0@@Z
+; public: int __cdecl CIPAddress::operator==(class CIPAddress const & __ptr64)const  __ptr64
+??8CIPAddress@@QEBAHAEBV0@@Z
+; public: int __cdecl CIPAddress::operator==(unsigned long)const  __ptr64
+??8CIPAddress@@QEBAHK@Z
+; public: bool __cdecl CStrPassword::operator==(class CStrPassword & __ptr64) __ptr64
+??8CStrPassword@@QEAA_NAEAV0@@Z
+; public: int __cdecl CStringListEx::operator==(class CStringList const & __ptr64) __ptr64
+??8CStringListEx@@QEAAHAEBVCStringList@@@Z
+; public: int __cdecl CBlob::operator!=(class CBlob const & __ptr64)const  __ptr64
+??9CBlob@@QEBAHAEBV0@@Z
+; public: int const  __cdecl CError::operator!=(class CError & __ptr64) __ptr64
+??9CError@@QEAA?BHAEAV0@@Z
+; public: int const  __cdecl CError::operator!=(long) __ptr64
+??9CError@@QEAA?BHJ@Z
+; public: int __cdecl CILong::operator!=(class CILong & __ptr64) __ptr64
+??9CILong@@QEAAHAEAV0@@Z
+; public: int __cdecl CIPAddress::operator!=(class CIPAddress const & __ptr64)const  __ptr64
+??9CIPAddress@@QEBAHAEBV0@@Z
+; public: int __cdecl CIPAddress::operator!=(unsigned long)const  __ptr64
+??9CIPAddress@@QEBAHK@Z
+; public: bool __cdecl CStrPassword::operator!=(class CStrPassword & __ptr64) __ptr64
+??9CStrPassword@@QEAA_NAEAV0@@Z
+; public: int __cdecl CStringListEx::operator!=(class CStringList const & __ptr64) __ptr64
+??9CStringListEx@@QEAAHAEBVCStringList@@@Z
+; public: __cdecl CComAuthInfo::operator unsigned short * __ptr64(void) __ptr64
+??BCComAuthInfo@@QEAAPEAGXZ
+; public: __cdecl CComAuthInfo::operator class CComAuthInfo * __ptr64(void) __ptr64
+??BCComAuthInfo@@QEAAPEAV0@XZ
+; public: __cdecl CError::operator unsigned short * __ptr64(void) __ptr64
+??BCError@@QEAAPEAGXZ
+; public: __cdecl CError::operator unsigned short const * __ptr64(void) __ptr64
+??BCError@@QEAAPEBGXZ
+; public: __cdecl CError::operator int const (void)const  __ptr64
+??BCError@@QEBA?BHXZ
+; public: __cdecl CError::operator long const (void)const  __ptr64
+??BCError@@QEBA?BJXZ
+; public: __cdecl CError::operator unsigned long const (void)const  __ptr64
+??BCError@@QEBA?BKXZ
+; public: __cdecl CIISInterface::operator int(void)const  __ptr64
+??BCIISInterface@@QEBAHXZ
+; public: __cdecl CIISInterface::operator long(void)const  __ptr64
+??BCIISInterface@@QEBAJXZ
+; public: __cdecl CILong::operator long const (void)const  __ptr64
+??BCILong@@QEBA?BJXZ
+; public: __cdecl CILong::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCILong@@QEBAPEBGXZ
+; public: __cdecl CIPAddress::operator class CString(void)const  __ptr64
+??BCIPAddress@@QEBA?AVCString@@XZ
+; public: __cdecl CIPAddress::operator unsigned long const (void)const  __ptr64
+??BCIPAddress@@QEBA?BKXZ
+; public: __cdecl CIPAddress::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCIPAddress@@QEBAPEBGXZ
+; public: __cdecl CMetaKey::operator int(void)const  __ptr64
+??BCMetaKey@@QEBAHXZ
+; public: __cdecl CMetaKey::operator unsigned long(void)const  __ptr64
+??BCMetaKey@@QEBAKXZ
+; public: __cdecl CMetaKey::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCMetaKey@@QEBAPEBGXZ
+; public: __cdecl CMetabasePath::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCMetabasePath@@QEBAPEBGXZ
+; public: __cdecl CObjHelper::operator int(void) __ptr64
+??BCObjHelper@@QEAAHXZ
+; public: __cdecl CStrPassword::operator class CString(void) __ptr64
+??BCStrPassword@@QEAA?AVCString@@XZ
+; public: class CILong & __ptr64 __cdecl CILong::operator*=(class CILong const & __ptr64) __ptr64
+??XCILong@@QEAAAEAV0@AEBV0@@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator*=(long) __ptr64
+??XCILong@@QEAAAEAV0@J@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator*=(unsigned short const * __ptr64 const) __ptr64
+??XCILong@@QEAAAEAV0@QEBG@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator+=(class CILong const & __ptr64) __ptr64
+??YCILong@@QEAAAEAV0@AEBV0@@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator+=(long) __ptr64
+??YCILong@@QEAAAEAV0@J@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator+=(unsigned short const * __ptr64 const) __ptr64
+??YCILong@@QEAAAEAV0@QEBG@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator-=(class CILong const & __ptr64) __ptr64
+??ZCILong@@QEAAAEAV0@AEBV0@@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator-=(long) __ptr64
+??ZCILong@@QEAAAEAV0@J@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator-=(unsigned short const * __ptr64 const) __ptr64
+??ZCILong@@QEAAAEAV0@QEBG@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator/=(class CILong const & __ptr64) __ptr64
+??_0CILong@@QEAAAEAV0@AEBV0@@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator/=(long) __ptr64
+??_0CILong@@QEAAAEAV0@J@Z
+; public: class CILong & __ptr64 __cdecl CILong::operator/=(unsigned short const * __ptr64 const) __ptr64
+??_0CILong@@QEAAAEAV0@QEBG@Z
+; const  CAccessEntry::`vftable'{for `CObjHelper'}
+??_7CAccessEntry@@6BCObjHelper@@@
+; const  CAccessEntry::`vftable'{for `CObject'}
+??_7CAccessEntry@@6BCObject@@@
+; const  CConfirmDlg::`vftable'
+??_7CConfirmDlg@@6B@
+; const  CDirBrowseDlg::`vftable'
+??_7CDirBrowseDlg@@6B@
+; const  CDownButton::`vftable'
+??_7CDownButton@@6B@
+; const  CEmphasizedDialog::`vftable'
+??_7CEmphasizedDialog@@6B@
+; const  CGetUsers::`vftable'
+??_7CGetUsers@@6B@
+; const  CHeaderListBox::`vftable'{for `CListBox'}
+??_7CHeaderListBox@@6BCListBox@@@
+; const  CHeaderListBox::`vftable'{for `CODLBox'}
+??_7CHeaderListBox@@6BCODLBox@@@
+; const  CIISAppPool::`vftable'{for `CMetaKey'}
+??_7CIISAppPool@@6BCMetaKey@@@
+; const  CIISAppPool::`vftable'{for `CWamInterface'}
+??_7CIISAppPool@@6BCWamInterface@@@
+; const  CIISApplication::`vftable'{for `CMetaKey'}
+??_7CIISApplication@@6BCMetaKey@@@
+; const  CIISApplication::`vftable'{for `CWamInterface'}
+??_7CIISApplication@@6BCWamInterface@@@
+; const  CIISInterface::`vftable'
+??_7CIISInterface@@6B@
+; const  CIISSvcControl::`vftable'
+??_7CIISSvcControl@@6B@
+; const  CIISWizardBookEnd::`vftable'
+??_7CIISWizardBookEnd@@6B@
+; const  CIISWizardPage::`vftable'
+??_7CIISWizardPage@@6B@
+; const  CIISWizardSheet::`vftable'
+??_7CIISWizardSheet@@6B@
+; const  CIPAccessDescriptor::`vftable'{for `CObjHelper'}
+??_7CIPAccessDescriptor@@6BCObjHelper@@@
+; const  CIPAccessDescriptor::`vftable'{for `CObject'}
+??_7CIPAccessDescriptor@@6BCObject@@@
+; const  CIPAddress::`vftable'{for `CObjHelper'}
+??_7CIPAddress@@6BCObjHelper@@@
+; const  CIPAddress::`vftable'{for `CObject'}
+??_7CIPAddress@@6BCObject@@@
+; const  CInheritanceDlg::`vftable'
+??_7CInheritanceDlg@@6B@
+; const  CMappedBitmapButton::`vftable'
+??_7CMappedBitmapButton@@6B@
+; const  CMetaBack::`vftable'{for `CMetaInterface'}
+??_7CMetaBack@@6BCMetaInterface@@@
+; const  CMetaBack::`vftable'{for `CWamInterface'}
+??_7CMetaBack@@6BCWamInterface@@@
+; const  CMetaEnumerator::`vftable'
+??_7CMetaEnumerator@@6B@
+; const  CMetaInterface::`vftable'
+??_7CMetaInterface@@6B@
+; const  CMetaKey::`vftable'
+??_7CMetaKey@@6B@
+; const  CODLBox::`vftable'
+??_7CODLBox@@6B@
+; const  CObListIter::`vftable'{for `CObjHelper'}
+??_7CObListIter@@6BCObjHelper@@@
+; const  CObListIter::`vftable'{for `CObject'}
+??_7CObListIter@@6BCObject@@@
+; const  CObListPlus::`vftable'{for `CObList'}
+??_7CObListPlus@@6BCObList@@@
+; const  CObListPlus::`vftable'{for `CObjHelper'}
+??_7CObListPlus@@6BCObjHelper@@@
+; const  CObjHelper::`vftable'
+??_7CObjHelper@@6B@
+; const  CObjectPlus::`vftable'{for `CObjHelper'}
+??_7CObjectPlus@@6BCObjHelper@@@
+; const  CObjectPlus::`vftable'{for `CObject'}
+??_7CObjectPlus@@6BCObject@@@
+; const  CRMCComboBox::`vftable'{for `CComboBox'}
+??_7CRMCComboBox@@6BCComboBox@@@
+; const  CRMCComboBox::`vftable'{for `CODLBox'}
+??_7CRMCComboBox@@6BCODLBox@@@
+; const  CRMCListBox::`vftable'{for `CListBox'}
+??_7CRMCListBox@@6BCListBox@@@
+; const  CRMCListBox::`vftable'{for `CODLBox'}
+??_7CRMCListBox@@6BCODLBox@@@
+; const  CRMCListBoxHeader::`vftable'
+??_7CRMCListBoxHeader@@6B@
+; const  CStringListEx::`vftable'
+??_7CStringListEx@@6B@
+; const  CUpButton::`vftable'
+??_7CUpButton@@6B@
+; const  CWamInterface::`vftable'
+??_7CWamInterface@@6B@
+; public: void __cdecl CComAuthInfo::`default constructor closure'(void) __ptr64
+??_FCComAuthInfo@@QEAAXXZ
+; public: void __cdecl CConfirmDlg::`default constructor closure'(void) __ptr64
+??_FCConfirmDlg@@QEAAXXZ
+; public: void __cdecl CDirBrowseDlg::`default constructor closure'(void) __ptr64
+??_FCDirBrowseDlg@@QEAAXXZ
+; public: void __cdecl CHeaderListBox::`default constructor closure'(void) __ptr64
+??_FCHeaderListBox@@QEAAXXZ
+; public: void __cdecl CIISWizardBookEnd::`default constructor closure'(void) __ptr64
+??_FCIISWizardBookEnd@@QEAAXXZ
+; public: void __cdecl CIISWizardPage::`default constructor closure'(void) __ptr64
+??_FCIISWizardPage@@QEAAXXZ
+; public: void __cdecl CIISWizardSheet::`default constructor closure'(void) __ptr64
+??_FCIISWizardSheet@@QEAAXXZ
+; public: void __cdecl CIPAccessDescriptor::`default constructor closure'(void) __ptr64
+??_FCIPAccessDescriptor@@QEAAXXZ
+; public: void __cdecl CMetabasePath::`default constructor closure'(void) __ptr64
+??_FCMetabasePath@@QEAAXXZ
+; public: void __cdecl CObListPlus::`default constructor closure'(void) __ptr64
+??_FCObListPlus@@QEAAXXZ
+; public: void __cdecl CRMCListBoxHeader::`default constructor closure'(void) __ptr64
+??_FCRMCListBoxHeader@@QEAAXXZ
+; public: void __cdecl CStringListEx::`default constructor closure'(void) __ptr64
+??_FCStringListEx@@QEAAXXZ
+; void __cdecl ActivateControl(class CWnd & __ptr64,int)
+?ActivateControl@@YAXAEAVCWnd@@H@Z
+; protected: long __cdecl CMetaInterface::AddKey(unsigned long,unsigned short const * __ptr64) __ptr64
+?AddKey@CMetaInterface@@IEAAJKPEBG@Z
+; public: long __cdecl CMetaKey::AddKey(unsigned short const * __ptr64) __ptr64
+?AddKey@CMetaKey@@QEAAJPEBG@Z
+; public: unsigned int __cdecl CError::AddOverride(long,unsigned int) __ptr64
+?AddOverride@CError@@QEAAIJI@Z
+; public: void __cdecl CAccessEntry::AddPermissions(unsigned long) __ptr64
+?AddPermissions@CAccessEntry@@QEAAXK@Z
+; public: int __cdecl CODLBox::AddTab(unsigned int) __ptr64
+?AddTab@CODLBox@@QEAAHI@Z
+; public: int __cdecl CODLBox::AddTabFromHeaders(class CWnd & __ptr64,class CWnd & __ptr64) __ptr64
+?AddTabFromHeaders@CODLBox@@QEAAHAEAVCWnd@@0@Z
+; public: int __cdecl CODLBox::AddTabFromHeaders(unsigned int,unsigned int) __ptr64
+?AddTabFromHeaders@CODLBox@@QEAAHII@Z
+; char * __ptr64 __cdecl AllocAnsiString(unsigned short const * __ptr64)
+?AllocAnsiString@@YAPEADPEBG@Z
+; unsigned short * __ptr64 __cdecl AllocString(unsigned short const * __ptr64,int)
+?AllocString@@YAPEAGPEBGH@Z
+; protected: static int __cdecl CINumber::Allocate(void)
+?Allocate@CINumber@@KAHXZ
+; protected: static int __cdecl CError::AllocateStatics(void)
+?AllocateStatics@CError@@KAHXZ
+; protected: long __cdecl CWamInterface::AppCreate(unsigned short const * __ptr64,unsigned long) __ptr64
+?AppCreate@CWamInterface@@IEAAJPEBGK@Z
+; protected: long __cdecl CWamInterface::AppDelete(unsigned short const * __ptr64,int) __ptr64
+?AppDelete@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppDeleteRecoverable(unsigned short const * __ptr64,int) __ptr64
+?AppDeleteRecoverable@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppGetStatus(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?AppGetStatus@CWamInterface@@IEAAJPEBGPEAK@Z
+; protected: long __cdecl CWamInterface::AppRecover(unsigned short const * __ptr64,int) __ptr64
+?AppRecover@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppUnLoad(unsigned short const * __ptr64,int) __ptr64
+?AppUnLoad@CWamInterface@@IEAAJPEBGH@Z
+; protected: void __cdecl CMetabasePath::AppendPath(unsigned long) __ptr64
+?AppendPath@CMetabasePath@@IEAAXK@Z
+; protected: void __cdecl CMetabasePath::AppendPath(unsigned short const * __ptr64) __ptr64
+?AppendPath@CMetabasePath@@IEAAXPEBG@Z
+; class CString  __cdecl AppendToDevicePath(class CString,unsigned short const * __ptr64)
+?AppendToDevicePath@@YA?AVCString@@V1@PEBG@Z
+; void __cdecl ApplyFontToControls(class CWnd * __ptr64,class CFont * __ptr64,unsigned int,unsigned int)
+?ApplyFontToControls@@YAXPEAVCWnd@@PEAVCFont@@II@Z
+; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64) __ptr64
+?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@@Z
+; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64,unsigned long) __ptr64
+?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@K@Z
+; protected: virtual long __cdecl CIISSvcControl::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CIISSvcControl@@MEAAJXZ
+; protected: virtual long __cdecl CMetaBack::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CMetaBack@@MEAAJXZ
+; protected: virtual long __cdecl CMetaInterface::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CMetaInterface@@MEAAJXZ
+; protected: virtual long __cdecl CWamInterface::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CWamInterface@@MEAAJXZ
+; protected: static int __cdecl CError::AreStaticsAllocated(void)
+?AreStaticsAllocated@CError@@KAHXZ
+; public: void __cdecl CODLBox::AttachResources(class CRMCListBoxResources const * __ptr64) __ptr64
+?AttachResources@CODLBox@@QEAAXPEBVCRMCListBoxResources@@@Z
+; protected: void __cdecl CODLBox::AttachWindow(class CWnd * __ptr64) __ptr64
+?AttachWindow@CODLBox@@IEAAXPEAVCWnd@@@Z
+; public: long __cdecl CMetaBack::Backup(unsigned short const * __ptr64) __ptr64
+?Backup@CMetaBack@@QEAAJPEBG@Z
+; protected: long __cdecl CMetaInterface::Backup(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?Backup@CMetaInterface@@IEAAJPEBGKK@Z
+; public: long __cdecl CMetaBack::BackupWithPassword(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?BackupWithPassword@CMetaBack@@QEAAJPEBG0@Z
+; protected: long __cdecl CMetaInterface::BackupWithPassword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
+?BackupWithPassword@CMetaInterface@@IEAAJPEBGKK0@Z
+; public: int __cdecl CRMCListBoxResources::BitmapHeight(void)const  __ptr64
+?BitmapHeight@CRMCListBoxResources@@QEBAHXZ
+; public: int __cdecl CRMCListBoxResources::BitmapWidth(void)const  __ptr64
+?BitmapWidth@CRMCListBoxResources@@QEBAHXZ
+; int __cdecl BuildAclBlob(class CObListPlus & __ptr64,class CBlob & __ptr64)
+?BuildAclBlob@@YAHAEAVCObListPlus@@AEAVCBlob@@@Z
+; unsigned long __cdecl BuildAclOblistFromBlob(class CBlob & __ptr64,class CObListPlus & __ptr64)
+?BuildAclOblistFromBlob@@YAKAEAVCBlob@@AEAVCObListPlus@@@Z
+; public: static double __cdecl CINumber::BuildFloat(long,long)
+?BuildFloat@CINumber@@SANJJ@Z
+; void __cdecl BuildIplBlob(class CObListPlus & __ptr64,int,class CBlob & __ptr64)
+?BuildIplBlob@@YAXAEAVCObListPlus@@HAEAVCBlob@@@Z
+; unsigned long __cdecl BuildIplOblistFromBlob(class CBlob & __ptr64,class CObListPlus & __ptr64,int & __ptr64)
+?BuildIplOblistFromBlob@@YAKAEAVCBlob@@AEAVCObListPlus@@AEAH@Z
+; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?BuildMetaPath@CMetabasePath@@IEAAXPEBG000@Z
+; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?BuildMetaPath@CMetabasePath@@IEAAXPEBGK00@Z
+; int __cdecl CStringFindNoCase(class CString const & __ptr64,unsigned short const * __ptr64)
+?CStringFindNoCase@@YAHAEBVCString@@PEBG@Z
+; protected: void __cdecl CODLBox::CalculateTextHeight(class CFont * __ptr64) __ptr64
+?CalculateTextHeight@CODLBox@@IEAAXPEAVCFont@@@Z
+; public: int __cdecl CODLBox::ChangeFont(class CFont * __ptr64) __ptr64
+?ChangeFont@CODLBox@@QEAAHPEAVCFont@@@Z
+; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
+; public: long __cdecl CMetaKey::CheckDescendants(unsigned long,class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
+?CheckDescendants@CMetaKey@@QEAAJKPEAVCComAuthInfo@@PEBG@Z
+; protected: class CString & __ptr64 __cdecl CInheritanceDlg::CleanDescendantPath(class CString & __ptr64) __ptr64
+?CleanDescendantPath@CInheritanceDlg@@IEAAAEAVCString@@AEAV2@@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::CleanMetaPath(class CString & __ptr64)
+?CleanMetaPath@CMetabasePath@@SAPEBGAEAVCString@@@Z
+; public: void __cdecl CBlob::CleanUp(void) __ptr64
+?CleanUp@CBlob@@QEAAXXZ
+; private: void __cdecl CStrPassword::ClearPasswordBuffers(void) __ptr64
+?ClearPasswordBuffers@CStrPassword@@AEAAXXZ
+; public: long __cdecl CMetaKey::Close(void) __ptr64
+?Close@CMetaKey@@QEAAJXZ
+; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
+?CloseKey@CMetaInterface@@IEAAJK@Z
+; public: unsigned long __cdecl CRMCListBoxResources::ColorHighlight(void)const  __ptr64
+?ColorHighlight@CRMCListBoxResources@@QEBAKXZ
+; public: unsigned long __cdecl CRMCListBoxResources::ColorHighlightText(void)const  __ptr64
+?ColorHighlightText@CRMCListBoxResources@@QEBAKXZ
+; public: unsigned long __cdecl CRMCListBoxResources::ColorWindow(void)const  __ptr64
+?ColorWindow@CRMCListBoxResources@@QEBAKXZ
+; public: unsigned long __cdecl CRMCListBoxResources::ColorWindowText(void)const  __ptr64
+?ColorWindowText@CRMCListBoxResources@@QEBAKXZ
+; protected: int __cdecl CODLBox::ColumnText(class CRMCListBoxDrawStruct & __ptr64,int,int,unsigned short const * __ptr64) __ptr64
+?ColumnText@CODLBox@@IEAAHAEAVCRMCListBoxDrawStruct@@HHPEBG@Z
+; protected: static int __cdecl CODLBox::ColumnText(class CDC * __ptr64,int,int,int,int,unsigned short const * __ptr64)
+?ColumnText@CODLBox@@KAHPEAVCDC@@HHHHPEBG@Z
+; protected: void __cdecl CIISApplication::CommonConstruct(void) __ptr64
+?CommonConstruct@CIISApplication@@IEAAXXZ
+; public: virtual int __cdecl CObjectPlus::Compare(class CObjectPlus const * __ptr64)const  __ptr64
+?Compare@CObjectPlus@@UEBAHPEBV1@@Z
+; public: int __cdecl CStrPassword::Compare(class CStrPassword & __ptr64)const  __ptr64
+?Compare@CStrPassword@@QEBAHAEAV1@@Z
+; public: int __cdecl CStrPassword::Compare(class CString & __ptr64)const  __ptr64
+?Compare@CStrPassword@@QEBAHAEAVCString@@@Z
+; public: int __cdecl CStrPassword::Compare(unsigned short const * __ptr64)const  __ptr64
+?Compare@CStrPassword@@QEBAHPEBG@Z
+; public: int __cdecl CIPAddress::CompareItem(class CIPAddress const & __ptr64)const  __ptr64
+?CompareItem@CIPAddress@@QEBAHAEBV1@@Z
+; protected: void __cdecl CODLBox::ComputeMargins(class CRMCListBoxDrawStruct & __ptr64,int,int & __ptr64,int & __ptr64) __ptr64
+?ComputeMargins@CODLBox@@IEAAXAEAVCRMCListBoxDrawStruct@@HAEAH1@Z
+; protected: class CError const & __ptr64 __cdecl CError::Construct(class CError const & __ptr64) __ptr64
+?Construct@CError@@IEAAAEBV1@AEBV1@@Z
+; protected: class CError const & __ptr64 __cdecl CError::Construct(long) __ptr64
+?Construct@CError@@IEAAAEBV1@J@Z
+; unsigned long __cdecl ConvertDoubleNullListToStringList(unsigned short const * __ptr64,class CStringList & __ptr64,int)
+?ConvertDoubleNullListToStringList@@YAKPEBGAEAVCStringList@@H@Z
+; public: static unsigned short const * __ptr64 __cdecl CINumber::ConvertFloatToString(double,int,class CString & __ptr64)
+?ConvertFloatToString@CINumber@@SAPEBGNHAEAVCString@@@Z
+; public: static unsigned short const * __ptr64 __cdecl CINumber::ConvertLongToString(long,class CString & __ptr64)
+?ConvertLongToString@CINumber@@SAPEBGJAEAVCString@@@Z
+; int __cdecl ConvertSepLineToStringList(unsigned short const * __ptr64,class CStringList & __ptr64,unsigned short const * __ptr64)
+?ConvertSepLineToStringList@@YAHPEBGAEAVCStringList@@0@Z
+; unsigned long __cdecl ConvertStringListToDoubleNullList(class CStringList & __ptr64,unsigned long & __ptr64,unsigned short * __ptr64 & __ptr64)
+?ConvertStringListToDoubleNullList@@YAKAEAVCStringList@@AEAKAEAPEAG@Z
+; unsigned short const * __ptr64 __cdecl ConvertStringListToSepLine(class CStringList & __ptr64,class CString & __ptr64,unsigned short const * __ptr64)
+?ConvertStringListToSepLine@@YAPEBGAEAVCStringList@@AEAVCString@@PEBG@Z
+; public: static int __cdecl CINumber::ConvertStringToFloat(unsigned short const * __ptr64,double & __ptr64)
+?ConvertStringToFloat@CINumber@@SAHPEBGAEAN@Z
+; public: static int __cdecl CINumber::ConvertStringToLong(unsigned short const * __ptr64,long & __ptr64)
+?ConvertStringToLong@CINumber@@SAHPEBGAEAJ@Z
+; public: long __cdecl CMetaKey::ConvertToParentPath(int) __ptr64
+?ConvertToParentPath@CMetaKey@@QEAAJH@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::ConvertToParentPath(class CString & __ptr64)
+?ConvertToParentPath@CMetabasePath@@SAPEBGAEAVCString@@@Z
+; protected: long __cdecl CMetaInterface::CopyData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
+?CopyData@CMetaInterface@@IEAAJKPEBGK0KKKH@Z
+; protected: long __cdecl CMetaInterface::CopyKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int,int) __ptr64
+?CopyKey@CMetaInterface@@IEAAJKPEBGK0HH@Z
+; public: void __cdecl CStrPassword::CopyTo(class CStrPassword & __ptr64) __ptr64
+?CopyTo@CStrPassword@@QEAAXAEAV1@@Z
+; public: void __cdecl CStrPassword::CopyTo(class CString & __ptr64) __ptr64
+?CopyTo@CStrPassword@@QEAAXAEAVCString@@@Z
+; public: long __cdecl CIISAppPool::Create(unsigned short const * __ptr64) __ptr64
+?Create@CIISAppPool@@QEAAJPEBG@Z
+; public: long __cdecl CIISApplication::Create(unsigned short const * __ptr64,unsigned long) __ptr64
+?Create@CIISApplication@@QEAAJPEBGK@Z
+; protected: long __cdecl CIISInterface::Create(int,struct _GUID const * __ptr64 const,struct _GUID const * __ptr64 const,int * __ptr64,struct IUnknown * __ptr64 * __ptr64) __ptr64
+?Create@CIISInterface@@IEAAJHQEBU_GUID@@0PEAHPEAPEAUIUnknown@@@Z
+; protected: long __cdecl CIISSvcControl::Create(void) __ptr64
+?Create@CIISSvcControl@@IEAAJXZ
+; protected: long __cdecl CMetaInterface::Create(void) __ptr64
+?Create@CMetaInterface@@IEAAJXZ
+; public: int __cdecl CRMCListBoxHeader::Create(unsigned long,struct tagRECT const & __ptr64,class CWnd * __ptr64,class CHeaderListBox * __ptr64,unsigned int) __ptr64
+?Create@CRMCListBoxHeader@@QEAAHKAEBUtagRECT@@PEAVCWnd@@PEAVCHeaderListBox@@I@Z
+; protected: long __cdecl CWamInterface::Create(void) __ptr64
+?Create@CWamInterface@@IEAAJXZ
+; protected: long __cdecl CWamInterface::CreateApplication(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int) __ptr64
+?CreateApplication@CWamInterface@@IEAAJPEBGK0H@Z
+; protected: long __cdecl CWamInterface::CreateApplicationPool(unsigned short const * __ptr64) __ptr64
+?CreateApplicationPool@CWamInterface@@IEAAJPEBG@Z
+; public: static class CObject * __ptr64 __cdecl CEmphasizedDialog::CreateObject(void)
+?CreateObject@CEmphasizedDialog@@SAPEAVCObject@@XZ
+; public: static class CObject * __ptr64 __cdecl CIISWizardBookEnd::CreateObject(void)
+?CreateObject@CIISWizardBookEnd@@SAPEAVCObject@@XZ
+; public: static class CObject * __ptr64 __cdecl CIISWizardPage::CreateObject(void)
+?CreateObject@CIISWizardPage@@SAPEAVCObject@@XZ
+; public: static class CObject * __ptr64 __cdecl CIISWizardSheet::CreateObject(void)
+?CreateObject@CIISWizardSheet@@SAPEAVCObject@@XZ
+; public: long __cdecl CMetaKey::CreatePathFromFailedOpen(void) __ptr64
+?CreatePathFromFailedOpen@CMetaKey@@QEAAJXZ
+; public: long __cdecl CIISApplication::CreatePooled(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int) __ptr64
+?CreatePooled@CIISApplication@@QEAAJPEBGK0H@Z
+; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(unsigned long)const  __ptr64
+?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@K@Z
+; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(void)const  __ptr64
+?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@XZ
+; public: long __cdecl CMetaInterface::CreateSite(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?CreateSite@CMetaInterface@@QEAAJPEBG000PEAK1@Z
+; int __cdecl CreateSpecialDialogFont(class CWnd * __ptr64,class CFont * __ptr64,long,long,long,int,int)
+?CreateSpecialDialogFont@@YAHPEAVCWnd@@PEAVCFont@@JJJHH@Z
+; int __cdecl CvtGMTStringToInternal(unsigned short const * __ptr64,__int64 * __ptr64)
+?CvtGMTStringToInternal@@YAHPEBGPEA_J@Z
+; void __cdecl CvtInternalToGMTString(__int64,class CString & __ptr64)
+?CvtInternalToGMTString@@YAX_JAEAVCString@@@Z
+; int __cdecl CvtStringToLong(unsigned short const * __ptr64,unsigned long * __ptr64)
+?CvtStringToLong@@YAHPEBGPEAK@Z
+; protected: static long __cdecl CError::CvtToInternalFormat(long)
+?CvtToInternalFormat@CError@@KAJJ@Z
+; void __cdecl DDV_FilePath(class CDataExchange * __ptr64,class CString & __ptr64,int)
+?DDV_FilePath@@YAXPEAVCDataExchange@@AEAVCString@@H@Z
+; void __cdecl DDV_FolderPath(class CDataExchange * __ptr64,class CString & __ptr64,int)
+?DDV_FolderPath@@YAXPEAVCDataExchange@@AEAVCString@@H@Z
+; void __cdecl DDV_MaxCharsBalloon(class CDataExchange * __ptr64,class CString const & __ptr64,int)
+?DDV_MaxCharsBalloon@@YAXPEAVCDataExchange@@AEBVCString@@H@Z
+; void __cdecl DDV_MaxCharsBalloon_SecuredString(class CDataExchange * __ptr64,class CStrPassword const & __ptr64,int)
+?DDV_MaxCharsBalloon_SecuredString@@YAXPEAVCDataExchange@@AEBVCStrPassword@@H@Z
+; void __cdecl DDV_MaxChars_SecuredString(class CDataExchange * __ptr64,class CStrPassword const & __ptr64,int)
+?DDV_MaxChars_SecuredString@@YAXPEAVCDataExchange@@AEBVCStrPassword@@H@Z
+; void __cdecl DDV_MinChars(class CDataExchange * __ptr64,class CString const & __ptr64,int)
+?DDV_MinChars@@YAXPEAVCDataExchange@@AEBVCString@@H@Z
+; void __cdecl DDV_MinChars_SecuredString(class CDataExchange * __ptr64,class CStrPassword const & __ptr64,int)
+?DDV_MinChars_SecuredString@@YAXPEAVCDataExchange@@AEBVCStrPassword@@H@Z
+; void __cdecl DDV_MinMaxBalloon(class CDataExchange * __ptr64,int,unsigned long,unsigned long)
+?DDV_MinMaxBalloon@@YAXPEAVCDataExchange@@HKK@Z
+; void __cdecl DDV_MinMaxChars(class CDataExchange * __ptr64,class CString const & __ptr64,int,int)
+?DDV_MinMaxChars@@YAXPEAVCDataExchange@@AEBVCString@@HH@Z
+; void __cdecl DDV_MinMaxChars_SecuredString(class CDataExchange * __ptr64,class CStrPassword const & __ptr64,int,int)
+?DDV_MinMaxChars_SecuredString@@YAXPEAVCDataExchange@@AEBVCStrPassword@@HH@Z
+; void __cdecl DDV_MinMaxSpin(class CDataExchange * __ptr64,struct HWND__ * __ptr64,int,int)
+?DDV_MinMaxSpin@@YAXPEAVCDataExchange@@PEAUHWND__@@HH@Z
+; void __cdecl DDV_ShowBalloonAndFail(class CDataExchange * __ptr64,unsigned int)
+?DDV_ShowBalloonAndFail@@YAXPEAVCDataExchange@@I@Z
+; void __cdecl DDV_ShowBalloonAndFail(class CDataExchange * __ptr64,class CString)
+?DDV_ShowBalloonAndFail@@YAXPEAVCDataExchange@@VCString@@@Z
+; void __cdecl DDV_UNCFolderPath(class CDataExchange * __ptr64,class CString & __ptr64,int)
+?DDV_UNCFolderPath@@YAXPEAVCDataExchange@@AEAVCString@@H@Z
+; void __cdecl DDV_Url(class CDataExchange * __ptr64,class CString & __ptr64)
+?DDV_Url@@YAXPEAVCDataExchange@@AEAVCString@@@Z
+; void __cdecl DDX_Password(class CDataExchange * __ptr64,int,class CString & __ptr64,unsigned short const * __ptr64)
+?DDX_Password@@YAXPEAVCDataExchange@@HAEAVCString@@PEBG@Z
+; void __cdecl DDX_Password_SecuredString(class CDataExchange * __ptr64,int,class CStrPassword & __ptr64,unsigned short const * __ptr64)
+?DDX_Password_SecuredString@@YAXPEAVCDataExchange@@HAEAVCStrPassword@@PEBG@Z
+; void __cdecl DDX_Spin(class CDataExchange * __ptr64,int,int & __ptr64)
+?DDX_Spin@@YAXPEAVCDataExchange@@HAEAH@Z
+; void __cdecl DDX_Text(class CDataExchange * __ptr64,int,class CILong & __ptr64)
+?DDX_Text@@YAXPEAVCDataExchange@@HAEAVCILong@@@Z
+; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,unsigned char & __ptr64)
+?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAE@Z
+; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,short & __ptr64)
+?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAF@Z
+; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,int & __ptr64)
+?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAH@Z
+; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,unsigned int & __ptr64)
+?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAI@Z
+; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,long & __ptr64)
+?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAJ@Z
+; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,unsigned long & __ptr64)
+?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEAK@Z
+; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,__int64 & __ptr64)
+?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEA_J@Z
+; void __cdecl DDX_TextBalloon(class CDataExchange * __ptr64,int,unsigned __int64 & __ptr64)
+?DDX_TextBalloon@@YAXPEAVCDataExchange@@HAEA_K@Z
+; void __cdecl DDX_Text_SecuredString(class CDataExchange * __ptr64,int,class CStrPassword & __ptr64)
+?DDX_Text_SecuredString@@YAXPEAVCDataExchange@@HAEAVCStrPassword@@@Z
+; public: static unsigned char * __ptr64 __cdecl CIPAddress::DWORDtoLPBYTE(unsigned long,unsigned char * __ptr64)
+?DWORDtoLPBYTE@CIPAddress@@SAPEAEKPEAE@Z
+; protected: static void __cdecl CINumber::DeAllocate(void)
+?DeAllocate@CINumber@@KAXXZ
+; protected: static void __cdecl CError::DeAllocateStatics(void)
+?DeAllocateStatics@CError@@KAXXZ
+; unsigned long __cdecl DeflateEnvironmentVariablePath(unsigned short const * __ptr64,class CString & __ptr64)
+?DeflateEnvironmentVariablePath@@YAKPEBGAEAVCString@@@Z
+; public: long __cdecl CIISAppPool::Delete(unsigned short const * __ptr64) __ptr64
+?Delete@CIISAppPool@@QEAAJPEBG@Z
+; public: long __cdecl CIISApplication::Delete(int) __ptr64
+?Delete@CIISApplication@@QEAAJH@Z
+; public: long __cdecl CMetaBack::Delete(unsigned short const * __ptr64,unsigned long) __ptr64
+?Delete@CMetaBack@@QEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::DeleteAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?DeleteAllData@CMetaInterface@@IEAAJKPEBGKK@Z
+; protected: long __cdecl CWamInterface::DeleteApplication(unsigned short const * __ptr64,int) __ptr64
+?DeleteApplication@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::DeleteApplicationPool(unsigned short const * __ptr64) __ptr64
+?DeleteApplicationPool@CWamInterface@@IEAAJPEBG@Z
+; protected: long __cdecl CMetaInterface::DeleteBackup(unsigned short const * __ptr64,unsigned long) __ptr64
+?DeleteBackup@CMetaInterface@@IEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteChildKeys@CMetaInterface@@IEAAJKPEBG@Z
+; protected: long __cdecl CMetaInterface::DeleteData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?DeleteData@CMetaInterface@@IEAAJKPEBGKK@Z
+; protected: int __cdecl CHeaderListBox::DeleteHeaderItem(int) __ptr64
+?DeleteHeaderItem@CHeaderListBox@@IEAAHH@Z
+; public: int __cdecl CRMCListBoxHeader::DeleteItem(int) __ptr64
+?DeleteItem@CRMCListBoxHeader@@QEAAHH@Z
+; protected: long __cdecl CMetaInterface::DeleteKey(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteKey@CMetaInterface@@IEAAJKPEBG@Z
+; public: long __cdecl CMetaKey::DeleteKey(unsigned short const * __ptr64) __ptr64
+?DeleteKey@CMetaKey@@QEAAJPEBG@Z
+; public: long __cdecl CIISApplication::DeleteRecoverable(int) __ptr64
+?DeleteRecoverable@CIISApplication@@QEAAJH@Z
+; public: long __cdecl CMetaKey::DeleteValue(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteValue@CMetaKey@@QEAAJKPEBG@Z
+; public: void __cdecl CStrPassword::DestroyClearTextPassword(unsigned short * __ptr64)const  __ptr64
+?DestroyClearTextPassword@CStrPassword@@QEBAXPEAG@Z
+; protected: void __cdecl CHeaderListBox::DistributeColumns(void) __ptr64
+?DistributeColumns@CHeaderListBox@@IEAAXXZ
+; protected: virtual void __cdecl CConfirmDlg::DoDataExchange(class CDataExchange * __ptr64) __ptr64
+?DoDataExchange@CConfirmDlg@@MEAAXPEAVCDataExchange@@@Z
+; protected: virtual void __cdecl CInheritanceDlg::DoDataExchange(class CDataExchange * __ptr64) __ptr64
+?DoDataExchange@CInheritanceDlg@@MEAAXPEAVCDataExchange@@@Z
+; public: virtual int __cdecl CDirBrowseDlg::DoModal(void) __ptr64
+?DoModal@CDirBrowseDlg@@UEAAHXZ
+; public: virtual __int64 __cdecl CInheritanceDlg::DoModal(void) __ptr64
+?DoModal@CInheritanceDlg@@UEAA_JXZ
+; public: long __cdecl CMetaKey::DoesPathExist(unsigned short const * __ptr64) __ptr64
+?DoesPathExist@CMetaKey@@QEAAJPEBG@Z
+; public: int __cdecl CRMCListBoxHeader::DoesRespondToColumnWidthChanges(void)const  __ptr64
+?DoesRespondToColumnWidthChanges@CRMCListBoxHeader@@QEBAHXZ
+; int __cdecl DoesUNCShareExist(class CString & __ptr64)
+?DoesUNCShareExist@@YAHAEAVCString@@@Z
+; protected: int __cdecl CODLBox::DrawBitmap(class CRMCListBoxDrawStruct & __ptr64,int,int) __ptr64
+?DrawBitmap@CODLBox@@IEAAHAEAVCRMCListBoxDrawStruct@@HH@Z
+; protected: virtual void __cdecl CRMCComboBox::DrawItem(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
+?DrawItem@CRMCComboBox@@MEAAXPEAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual void __cdecl CRMCListBox::DrawItem(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
+?DrawItem@CRMCListBox@@MEAAXPEAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual void __cdecl CRMCComboBox::DrawItemEx(class CRMCListBoxDrawStruct & __ptr64) __ptr64
+?DrawItemEx@CRMCComboBox@@MEAAXAEAVCRMCListBoxDrawStruct@@@Z
+; protected: virtual void __cdecl CRMCListBox::DrawItemEx(class CRMCListBoxDrawStruct & __ptr64) __ptr64
+?DrawItemEx@CRMCListBox@@MEAAXAEAVCRMCListBoxDrawStruct@@@Z
+; public: int __cdecl CIPAccessDescriptor::DuplicateInList(class CObListPlus & __ptr64) __ptr64
+?DuplicateInList@CIPAccessDescriptor@@QEAAHAEAVCObListPlus@@@Z
+; void __cdecl EditHideBalloon(void)
+?EditHideBalloon@@YAXXZ
+; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,unsigned int)
+?EditShowBalloon@@YAXPEAUHWND__@@I@Z
+; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,class CString)
+?EditShowBalloon@@YAXPEAUHWND__@@VCString@@@Z
+; public: void __cdecl CStrPassword::Empty(void) __ptr64
+?Empty@CStrPassword@@QEAAXXZ
+; public: void __cdecl CIISWizardSheet::EnableButton(int,int) __ptr64
+?EnableButton@CIISWizardSheet@@QEAAXHH@Z
+; protected: void __cdecl CIISWizardPage::EnableSheetButton(int,int) __ptr64
+?EnableSheetButton@CIISWizardPage@@IEAAXHH@Z
+; public: int __cdecl CHeaderListBox::EnableWindow(int) __ptr64
+?EnableWindow@CHeaderListBox@@QEAAHH@Z
+; protected: long __cdecl CMetaInterface::EnumBackups(unsigned short * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
+?EnumBackups@CMetaInterface@@IEAAJPEAGPEAKPEAU_FILETIME@@K@Z
+; protected: long __cdecl CMetaInterface::EnumData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?EnumData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@KPEAK@Z
+; protected: long __cdecl CMetaInterface::EnumHistory(unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
+?EnumHistory@CMetaInterface@@IEAAJPEAGPEAK1PEAU_FILETIME@@K@Z
+; protected: long __cdecl CMetaInterface::EnumKeys(unsigned long,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
+?EnumKeys@CMetaInterface@@IEAAJKPEBGPEAGK@Z
+; public: long __cdecl CIISAppPool::EnumerateApplications(class CStringListEx & __ptr64) __ptr64
+?EnumerateApplications@CIISAppPool@@QEAAJAEAVCStringListEx@@@Z
+; protected: long __cdecl CWamInterface::EnumerateApplicationsInPool(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?EnumerateApplicationsInPool@CWamInterface@@IEAAJPEBGPEAPEAG@Z
+; protected: int __cdecl CError::ExpandEscapeCode(unsigned short * __ptr64,unsigned long,unsigned short * __ptr64 & __ptr64,class CString & __ptr64,long & __ptr64)const  __ptr64
+?ExpandEscapeCode@CError@@IEBAHPEAGKAEAPEAGAEAVCString@@AEAJ@Z
+; public: int __cdecl CError::Failed(void)const  __ptr64
+?Failed@CError@@QEBAHXZ
+; public: static int __cdecl CError::Failed(long)
+?Failed@CError@@SAHJ@Z
+; int __cdecl FetchIpAddressFromCombo(class CComboBox & __ptr64,class CObListPlus & __ptr64,class CIPAddress & __ptr64)
+?FetchIpAddressFromCombo@@YAHAEAVCComboBox@@AEAVCObListPlus@@AEAVCIPAddress@@@Z
+; public: int __cdecl CObListPlus::FindElement(class CObject * __ptr64)const  __ptr64
+?FindElement@CObListPlus@@QEBAHPEAVCObject@@@Z
+; protected: static unsigned short const * __ptr64 __cdecl CError::FindFacility(unsigned long)
+?FindFacility@CError@@KAPEBGK@Z
+; void __cdecl FitPathToControl(class CWnd & __ptr64,unsigned short const * __ptr64,int)
+?FitPathToControl@@YAXAEAVCWnd@@PEBGH@Z
+; public: void __cdecl CAccessEntry::FlagForDeletion(int) __ptr64
+?FlagForDeletion@CAccessEntry@@QEAAXH@Z
+; public: void __cdecl CComAuthInfo::FreeServerInfoStruct(struct _COSERVERINFO * __ptr64)const  __ptr64
+?FreeServerInfoStruct@CComAuthInfo@@QEBAXPEAU_COSERVERINFO@@@Z
+; protected: int __cdecl CInheritanceDlg::FriendlyInstance(class CString & __ptr64,class CString & __ptr64) __ptr64
+?FriendlyInstance@CInheritanceDlg@@IEAAHAEAVCString@@0@Z
+; unsigned short const * __ptr64 __cdecl GUIDToCString(struct _GUID const & __ptr64,class CString & __ptr64)
+?GUIDToCString@@YAPEBGAEBU_GUID@@AEAVCString@@@Z
+; unsigned short const * __ptr64 __cdecl GenerateRegistryKey(class CString & __ptr64,unsigned short const * __ptr64)
+?GenerateRegistryKey@@YAPEBGAEAVCString@@PEBG@Z
+; public: long __cdecl CMetaInterface::GetAdminInterface2(struct IMSAdminBase2W * __ptr64 * __ptr64) __ptr64
+?GetAdminInterface2@CMetaInterface@@QEAAJPEAPEAUIMSAdminBase2W@@@Z
+; public: long __cdecl CMetaInterface::GetAdminInterface3(struct IMSAdminBase3W * __ptr64 * __ptr64) __ptr64
+?GetAdminInterface3@CMetaInterface@@QEAAJPEAPEAUIMSAdminBase3W@@@Z
+; protected: long __cdecl CMetaInterface::GetAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
+?GetAllData@CMetaInterface@@IEAAJKPEBGKKKPEAK1KPEAE1@Z
+; protected: long __cdecl CMetaKey::GetAllData(unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64 * __ptr64,unsigned short const * __ptr64) __ptr64
+?GetAllData@CMetaKey@@IEAAJKKKPEAK0PEAPEAEPEBG@Z
+; public: long __cdecl CWamInterface::GetAppAdminInterface(struct IIISApplicationAdmin * __ptr64 * __ptr64) __ptr64
+?GetAppAdminInterface@CWamInterface@@QEAAJPEAPEAUIIISApplicationAdmin@@@Z
+; protected: struct HBRUSH__ * __ptr64 __cdecl CIISWizardPage::GetBackgroundBrush(void)const  __ptr64
+?GetBackgroundBrush@CIISWizardPage@@IEBAPEAUHBRUSH__@@XZ
+; public: struct HBRUSH__ * __ptr64 __cdecl CIISWizardSheet::GetBackgroundBrush(void)const  __ptr64
+?GetBackgroundBrush@CIISWizardSheet@@QEBAPEAUHBRUSH__@@XZ
+; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
+?GetBase@CMetaKey@@QEBAKXZ
+; protected: class CFont * __ptr64 __cdecl CIISWizardPage::GetBigFont(void) __ptr64
+?GetBigFont@CIISWizardPage@@IEAAPEAVCFont@@XZ
+; public: class CFont * __ptr64 __cdecl CIISWizardSheet::GetBigFont(void) __ptr64
+?GetBigFont@CIISWizardSheet@@QEAAPEAVCFont@@XZ
+; protected: class CDC * __ptr64 __cdecl CIISWizardPage::GetBitmapMemDC(void) __ptr64
+?GetBitmapMemDC@CIISWizardPage@@IEAAPEAVCDC@@XZ
+; public: class CDC * __ptr64 __cdecl CIISWizardSheet::GetBitmapMemDC(int) __ptr64
+?GetBitmapMemDC@CIISWizardSheet@@QEAAPEAVCDC@@H@Z
+; protected: class CFont * __ptr64 __cdecl CIISWizardPage::GetBoldFont(void) __ptr64
+?GetBoldFont@CIISWizardPage@@IEAAPEAVCFont@@XZ
+; public: class CFont * __ptr64 __cdecl CIISWizardSheet::GetBoldFont(void) __ptr64
+?GetBoldFont@CIISWizardSheet@@QEAAPEAVCFont@@XZ
+; public: int __cdecl CStrPassword::GetByteLength(void)const  __ptr64
+?GetByteLength@CStrPassword@@QEBAHXZ
+; protected: long __cdecl CMetaInterface::GetChildPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetChildPaths@CMetaInterface@@IEAAJKPEBGKPEAGPEAK@Z
+; public: long __cdecl CMetaKey::GetChildPaths(class CStringListEx & __ptr64,unsigned short const * __ptr64) __ptr64
+?GetChildPaths@CMetaKey@@QEAAJAEAVCStringListEx@@PEBG@Z
+; public: unsigned short * __ptr64 __cdecl CStrPassword::GetClearTextPassword(void) __ptr64
+?GetClearTextPassword@CStrPassword@@QEAAPEAGXZ
+; public: int __cdecl CRMCListBoxHeader::GetColumnWidth(int)const  __ptr64
+?GetColumnWidth@CRMCListBoxHeader@@QEBAHH@Z
+; public: int __cdecl CGetComputer::GetComputer(struct HWND__ * __ptr64) __ptr64
+?GetComputer@CGetComputer@@QEAAHPEAUHWND__@@@Z
+; public: int __cdecl CRMCListBox::GetCurSel(void)const  __ptr64
+?GetCurSel@CRMCListBox@@QEBAHXZ
+; public: unsigned char * __ptr64 __cdecl CBlob::GetData(void) __ptr64
+?GetData@CBlob@@QEAAPEAEXZ
+; protected: long __cdecl CMetaInterface::GetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long * __ptr64) __ptr64
+?GetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@PEAK@Z
+; protected: long __cdecl CInheritanceDlg::GetDataPaths(void) __ptr64
+?GetDataPaths@CInheritanceDlg@@IEAAJXZ
+; protected: long __cdecl CMetaInterface::GetDataPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetDataPaths@CMetaInterface@@IEAAJKPEBGKKKPEAGPEAK@Z
+; public: long __cdecl CMetaKey::GetDataPaths(class CStringListEx & __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
+?GetDataPaths@CMetaKey@@QEAAJAEAVCStringListEx@@KKPEBG@Z
+; void __cdecl GetDlgCtlRect(struct HWND__ * __ptr64,struct HWND__ * __ptr64,struct tagRECT * __ptr64)
+?GetDlgCtlRect@@YAXPEAUHWND__@@0PEAUtagRECT@@@Z
+; public: unsigned short const * __ptr64 __cdecl CDirBrowseDlg::GetFullPath(class CString & __ptr64,int)const  __ptr64
+?GetFullPath@CDirBrowseDlg@@QEBAPEBGAEAVCString@@H@Z
+; void __cdecl GetFullPathLocalOrRemote(unsigned short const * __ptr64,unsigned short const * __ptr64,class CString & __ptr64)
+?GetFullPathLocalOrRemote@@YAXPEBG0AEAVCString@@@Z
+; public: unsigned long __cdecl CMetaKey::GetHandle(void)const  __ptr64
+?GetHandle@CMetaKey@@QEBAKXZ
+; protected: class CRMCListBoxHeader * __ptr64 __cdecl CHeaderListBox::GetHeader(void) __ptr64
+?GetHeader@CHeaderListBox@@IEAAPEAVCRMCListBoxHeader@@XZ
+; protected: int __cdecl CHeaderListBox::GetHeaderItem(int,struct _HD_ITEMW * __ptr64)const  __ptr64
+?GetHeaderItem@CHeaderListBox@@IEBAHHPEAU_HD_ITEMW@@@Z
+; protected: int __cdecl CHeaderListBox::GetHeaderItemCount(void)const  __ptr64
+?GetHeaderItemCount@CHeaderListBox@@IEBAHXZ
+; int __cdecl GetIUsrAccount(unsigned short const * __ptr64,class CWnd * __ptr64,class CString & __ptr64)
+?GetIUsrAccount@@YAHPEBGPEAVCWnd@@AEAVCString@@@Z
+; int __cdecl GetIUsrAccount(unsigned short const * __ptr64,class CWnd * __ptr64,unsigned short * __ptr64,int)
+?GetIUsrAccount@@YAHPEBGPEAVCWnd@@PEAGH@Z
+; public: static unsigned long __cdecl CMetabasePath::GetInstanceNumber(unsigned short const * __ptr64)
+?GetInstanceNumber@CMetabasePath@@SAKPEBG@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetInstancePath(unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
+?GetInstancePath@CMetabasePath@@SAPEBGPEBGAEAVCString@@PEAV2@@Z
+; public: struct IMSAdminBaseW * __ptr64 __cdecl CMetaInterface::GetInterface(void) __ptr64
+?GetInterface@CMetaInterface@@QEAAPEAUIMSAdminBaseW@@XZ
+; public: int __cdecl CRMCListBoxHeader::GetItem(int,struct _HD_ITEMW * __ptr64)const  __ptr64
+?GetItem@CRMCListBoxHeader@@QEBAHHPEAU_HD_ITEMW@@@Z
+; public: int __cdecl CRMCListBoxHeader::GetItemCount(void)const  __ptr64
+?GetItemCount@CRMCListBoxHeader@@QEBAHXZ
+; protected: long __cdecl CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
+?GetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetLastNodeName(unsigned short const * __ptr64,class CString & __ptr64)
+?GetLastNodeName@CMetabasePath@@SAPEBGPEBGAEAVCString@@@Z
+; public: void __cdecl CError::GetLastWinError(void) __ptr64
+?GetLastWinError@CError@@QEAAXXZ
+; public: int __cdecl CStrPassword::GetLength(void)const  __ptr64
+?GetLength@CStrPassword@@QEBAHXZ
+; public: static int __cdecl CMetaKey::GetMDFieldDef(unsigned long,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64)
+?GetMDFieldDef@CMetaKey@@SAHKAEAK000@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetMachinePath(unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
+?GetMachinePath@CMetabasePath@@SAPEBGPEBGAEAVCString@@PEAV2@@Z
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CConfirmDlg::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CConfirmDlg@@MEBAPEBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CEmphasizedDialog::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CEmphasizedDialog@@MEBAPEBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CHeaderListBox::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CHeaderListBox@@MEBAPEBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardBookEnd::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CIISWizardBookEnd@@MEBAPEBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardPage::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CIISWizardPage@@MEBAPEBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardSheet::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CIISWizardSheet@@MEBAPEBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CInheritanceDlg::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CInheritanceDlg@@MEBAPEBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CRMCComboBox::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CRMCComboBox@@MEBAPEBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CRMCListBox::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CRMCListBox@@MEBAPEBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __ptr64 __cdecl CRMCListBoxHeader::GetMessageMap(void)const  __ptr64
+?GetMessageMap@CRMCListBoxHeader@@MEBAPEBUAFX_MSGMAP@@XZ
+; public: static struct CMetaKey::tagMDFIELDDEF const * __ptr64 __cdecl CMetaKey::GetMetaProp(unsigned long)
+?GetMetaProp@CMetaKey@@SAPEBUtagMDFIELDDEF@1@K@Z
+; public: void * __ptr64 __cdecl CRMCListBox::GetNextSelectedItem(int * __ptr64) __ptr64
+?GetNextSelectedItem@CRMCListBox@@QEAAPEAXPEAH@Z
+; public: class CString & __ptr64 __cdecl CConfirmDlg::GetPassword(void) __ptr64
+?GetPassword@CConfirmDlg@@QEAAAEAVCString@@XZ
+; public: long __cdecl CIISAppPool::GetProcessMode(unsigned long * __ptr64) __ptr64
+?GetProcessMode@CIISAppPool@@QEAAJPEAK@Z
+; protected: long __cdecl CWamInterface::GetProcessMode(unsigned long * __ptr64) __ptr64
+?GetProcessMode@CWamInterface@@IEAAJPEAK@Z
+; public: static int __cdecl CMetaKey::GetPropertyDescription(unsigned long,class CString & __ptr64)
+?GetPropertyDescription@CMetaKey@@SAHKAEAVCString@@@Z
+; protected: long __cdecl CMetaKey::GetPropertyValue(unsigned long,unsigned long & __ptr64,void * __ptr64 & __ptr64,unsigned long * __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?GetPropertyValue@CMetaKey@@IEAAJKAEAKAEAPEAXPEAKPEAHPEBG2@Z
+; protected: static int __cdecl CODLBox::GetRequiredWidth(class CDC * __ptr64,class CRect const & __ptr64,unsigned short const * __ptr64,int)
+?GetRequiredWidth@CODLBox@@KAHPEAVCDC@@AEBVCRect@@PEBGH@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetRootPath(unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
+?GetRootPath@CMetabasePath@@SAPEBGPEBGAEAVCString@@PEAV2@@Z
+; public: virtual struct CRuntimeClass * __ptr64 __cdecl CEmphasizedDialog::GetRuntimeClass(void)const  __ptr64
+?GetRuntimeClass@CEmphasizedDialog@@UEBAPEAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __ptr64 __cdecl CHeaderListBox::GetRuntimeClass(void)const  __ptr64
+?GetRuntimeClass@CHeaderListBox@@UEBAPEAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __ptr64 __cdecl CIISWizardBookEnd::GetRuntimeClass(void)const  __ptr64
+?GetRuntimeClass@CIISWizardBookEnd@@UEBAPEAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __ptr64 __cdecl CIISWizardPage::GetRuntimeClass(void)const  __ptr64
+?GetRuntimeClass@CIISWizardPage@@UEBAPEAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __ptr64 __cdecl CIISWizardSheet::GetRuntimeClass(void)const  __ptr64
+?GetRuntimeClass@CIISWizardSheet@@UEBAPEAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __ptr64 __cdecl CRMCComboBox::GetRuntimeClass(void)const  __ptr64
+?GetRuntimeClass@CRMCComboBox@@UEBAPEAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __ptr64 __cdecl CRMCListBox::GetRuntimeClass(void)const  __ptr64
+?GetRuntimeClass@CRMCListBox@@UEBAPEAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __ptr64 __cdecl CRMCListBoxHeader::GetRuntimeClass(void)const  __ptr64
+?GetRuntimeClass@CRMCListBoxHeader@@UEBAPEAUCRuntimeClass@@XZ
+; public: int __cdecl CRMCListBox::GetSel(int)const  __ptr64
+?GetSel@CRMCListBox@@QEBAHH@Z
+; public: int __cdecl CRMCListBox::GetSelCount(void)const  __ptr64
+?GetSelCount@CRMCListBox@@QEBAHXZ
+; public: void * __ptr64 __cdecl CRMCListBox::GetSelectedListItem(int * __ptr64) __ptr64
+?GetSelectedListItem@CRMCListBox@@QEAAPEAXPEAH@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServiceInfoPath(unsigned short const * __ptr64,class CString & __ptr64,unsigned short const * __ptr64)
+?GetServiceInfoPath@CMetabasePath@@SAPEBGPEBGAEAVCString@@0@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServicePath(unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
+?GetServicePath@CMetabasePath@@SAPEBGPEBGAEAVCString@@PEAV2@@Z
+; protected: class CIISWizardSheet * __ptr64 __cdecl CIISWizardPage::GetSheet(void)const  __ptr64
+?GetSheet@CIISWizardPage@@IEBAPEAVCIISWizardSheet@@XZ
+; public: void * __ptr64 __cdecl CAccessEntry::GetSid(void) __ptr64
+?GetSid@CAccessEntry@@QEAAPEAXXZ
+; public: unsigned long __cdecl CBlob::GetSize(void)const  __ptr64
+?GetSize@CBlob@@QEBAKXZ
+; protected: class CFont * __ptr64 __cdecl CIISWizardPage::GetSpecialFont(void) __ptr64
+?GetSpecialFont@CIISWizardPage@@IEAAPEAVCFont@@XZ
+; public: class CFont * __ptr64 __cdecl CIISWizardSheet::GetSpecialFont(int) __ptr64
+?GetSpecialFont@CIISWizardSheet@@QEAAPEAVCFont@@H@Z
+; int __cdecl GetSpecialPathRealPath(int,class CString const & __ptr64,class CString & __ptr64)
+?GetSpecialPathRealPath@@YAHHAEBVCString@@AEAV1@@Z
+; protected: void __cdecl CRMCListBoxResources::GetSysColors(void) __ptr64
+?GetSysColors@CRMCListBoxResources@@IEAAXXZ
+; public: long __cdecl CMetaInterface::GetSystemChangeNumber(unsigned long * __ptr64) __ptr64
+?GetSystemChangeNumber@CMetaInterface@@QEAAJPEAK@Z
+; public: unsigned int __cdecl CODLBox::GetTab(int)const  __ptr64
+?GetTab@CODLBox@@QEBAIH@Z
+; public: int __cdecl CGetUsers::GetUsers(struct HWND__ * __ptr64,int) __ptr64
+?GetUsers@CGetUsers@@QEAAHPEAUHWND__@@H@Z
+; int __cdecl GetVolumeInformationSystemFlags(unsigned short const * __ptr64,unsigned long * __ptr64)
+?GetVolumeInformationSystemFlags@@YAHPEBGPEAK@Z
+; protected: class CBrush * __ptr64 __cdecl CIISWizardPage::GetWindowBrush(void) __ptr64
+?GetWindowBrush@CIISWizardPage@@IEAAPEAVCBrush@@XZ
+; public: class CBrush * __ptr64 __cdecl CIISWizardSheet::GetWindowBrush(void) __ptr64
+?GetWindowBrush@CIISWizardSheet@@QEAAPEAVCBrush@@XZ
+; public: void __cdecl CIPAccessDescriptor::GrantAccess(int) __ptr64
+?GrantAccess@CIPAccessDescriptor@@QEAAXH@Z
+; public: long __cdecl CError::HResult(void)const  __ptr64
+?HResult@CError@@QEBAJXZ
+; public: static long __cdecl CError::HResult(long)
+?HResult@CError@@SAJJ@Z
+; public: int __cdecl CIPAccessDescriptor::HasAccess(void)const  __ptr64
+?HasAccess@CIPAccessDescriptor@@QEBAHXZ
+; public: int __cdecl CAccessEntry::HasAppropriateAccess(unsigned long)const  __ptr64
+?HasAppropriateAccess@CAccessEntry@@QEBAHK@Z
+; protected: int __cdecl CIISSvcControl::HasInterface(void)const  __ptr64
+?HasInterface@CIISSvcControl@@IEBAHXZ
+; protected: int __cdecl CMetaInterface::HasInterface(void)const  __ptr64
+?HasInterface@CMetaInterface@@IEBAHXZ
+; protected: int __cdecl CWamInterface::HasInterface(void)const  __ptr64
+?HasInterface@CWamInterface@@IEBAHXZ
+; protected: int __cdecl CError::HasOverride(unsigned int * __ptr64)const  __ptr64
+?HasOverride@CError@@IEBAHPEAI@Z
+; public: int __cdecl CAccessEntry::HasSomeAccess(void)const  __ptr64
+?HasSomeAccess@CAccessEntry@@QEBAHXZ
+; public: class CObject * __ptr64 __cdecl CObListPlus::Index(int) __ptr64
+?Index@CObListPlus@@QEAAPEAVCObject@@H@Z
+; public: virtual int __cdecl CHeaderListBox::Initialize(void) __ptr64
+?Initialize@CHeaderListBox@@UEAAHXZ
+; public: static int __cdecl CINumber::Initialize(int)
+?Initialize@CINumber@@SAHH@Z
+; protected: void __cdecl CInheritanceDlg::Initialize(void) __ptr64
+?Initialize@CInheritanceDlg@@IEAAXXZ
+; protected: virtual int __cdecl CODLBox::Initialize(void) __ptr64
+?Initialize@CODLBox@@MEAAHXZ
+; public: virtual int __cdecl CRMCComboBox::Initialize(void) __ptr64
+?Initialize@CRMCComboBox@@UEAAHXZ
+; public: virtual int __cdecl CRMCListBox::Initialize(void) __ptr64
+?Initialize@CRMCListBox@@UEAAHXZ
+; protected: int __cdecl CHeaderListBox::InsertColumn(int,int,unsigned int,struct HINSTANCE__ * __ptr64) __ptr64
+?InsertColumn@CHeaderListBox@@IEAAHHHIPEAUHINSTANCE__@@@Z
+; protected: int __cdecl CHeaderListBox::InsertHeaderItem(int,struct _HD_ITEMW * __ptr64) __ptr64
+?InsertHeaderItem@CHeaderListBox@@IEAAHHPEAU_HD_ITEMW@@@Z
+; public: int __cdecl CRMCListBoxHeader::InsertItem(int,struct _HD_ITEMW * __ptr64) __ptr64
+?InsertItem@CRMCListBoxHeader@@QEAAHHPEAU_HD_ITEMW@@@Z
+; public: void __cdecl CODLBox::InsertTab(int,unsigned int) __ptr64
+?InsertTab@CODLBox@@QEAAXHI@Z
+; public: void __cdecl CRMCListBox::InvalidateSelection(int) __ptr64
+?InvalidateSelection@CRMCListBox@@QEAAXH@Z
+; long __cdecl IsAllNumHostHeader(unsigned short const * __ptr64)
+?IsAllNumHostHeader@@YAJPEBG@Z
+; protected: static int __cdecl CINumber::IsAllocated(void)
+?IsAllocated@CINumber@@KAHXZ
+; public: int __cdecl CIPAddress::IsBadValue(void)const  __ptr64
+?IsBadValue@CIPAddress@@QEBAHXZ
+; int __cdecl IsBiDiLocalizedSystem(void)
+?IsBiDiLocalizedSystem@@YAHXZ
+; public: int __cdecl CAccessEntry::IsDeletable(void)const  __ptr64
+?IsDeletable@CAccessEntry@@QEBAHXZ
+; public: int __cdecl CAccessEntry::IsDeleted(void)const  __ptr64
+?IsDeleted@CAccessEntry@@QEBAHXZ
+; int __cdecl IsDevicePath(class CString const & __ptr64)
+?IsDevicePath@@YAHAEBVCString@@@Z
+; public: int __cdecl CAccessEntry::IsDirty(void)const  __ptr64
+?IsDirty@CAccessEntry@@QEBAHXZ
+; public: int __cdecl CObjHelper::IsDirty(void)const  __ptr64
+?IsDirty@CObjHelper@@QEBAHXZ
+; public: int __cdecl CIPAccessDescriptor::IsDomainName(void)const  __ptr64
+?IsDomainName@CIPAccessDescriptor@@QEBAHXZ
+; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
+?IsEmpty@CBlob@@QEBAHXZ
+; public: int __cdecl CInheritanceDlg::IsEmpty(void)const  __ptr64
+?IsEmpty@CInheritanceDlg@@QEBAHXZ
+; public: int __cdecl CStrPassword::IsEmpty(void)const  __ptr64
+?IsEmpty@CStrPassword@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsEnabledApplication(void)const  __ptr64
+?IsEnabledApplication@CIISApplication@@QEBAHXZ
+; int __cdecl IsFullyQualifiedPath(class CString const & __ptr64)
+?IsFullyQualifiedPath@@YAHAEBVCString@@@Z
+; protected: int __cdecl CIISWizardPage::IsHeaderPage(void)const  __ptr64
+?IsHeaderPage@CIISWizardPage@@IEBAHXZ
+; public: int __cdecl CMetaKey::IsHomeDirectoryPath(void)const  __ptr64
+?IsHomeDirectoryPath@CMetaKey@@QEBAHXZ
+; public: int __cdecl CMetabasePath::IsHomeDirectoryPath(void)const  __ptr64
+?IsHomeDirectoryPath@CMetabasePath@@QEBAHXZ
+; public: static int __cdecl CMetabasePath::IsHomeDirectoryPath(unsigned short const * __ptr64)
+?IsHomeDirectoryPath@CMetabasePath@@SAHPEBG@Z
+; public: static int __cdecl CINumber::IsInitialized(void)
+?IsInitialized@CINumber@@SAHXZ
+; public: int __cdecl CIISApplication::IsInproc(void)const  __ptr64
+?IsInproc@CIISApplication@@QEBAHXZ
+; public: int __cdecl CComAuthInfo::IsLocal(void)const  __ptr64
+?IsLocal@CComAuthInfo@@QEBAHXZ
+; public: int __cdecl CIISInterface::IsLocal(void)const  __ptr64
+?IsLocal@CIISInterface@@QEBAHXZ
+; int __cdecl IsLocalComputer(unsigned short const * __ptr64)
+?IsLocalComputer@@YAHPEBG@Z
+; public: static int __cdecl CMetabasePath::IsMasterInstance(unsigned short const * __ptr64)
+?IsMasterInstance@CMetabasePath@@SAHPEBG@Z
+; protected: int __cdecl CRMCListBox::IsMultiSelect(void)const  __ptr64
+?IsMultiSelect@CRMCListBox@@IEBAHXZ
+; public: int __cdecl CIPAccessDescriptor::IsMultiple(void)const  __ptr64
+?IsMultiple@CIPAccessDescriptor@@QEBAHXZ
+; int __cdecl IsNetworkPath(class CString const & __ptr64,class CString * __ptr64,class CString * __ptr64)
+?IsNetworkPath@@YAHAEBVCString@@PEAV1@1@Z
+; public: int __cdecl CMetaKey::IsOpen(void)const  __ptr64
+?IsOpen@CMetaKey@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsOutOfProc(void)const  __ptr64
+?IsOutOfProc@CIISApplication@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsPooledProc(void)const  __ptr64
+?IsPooledProc@CIISApplication@@QEBAHXZ
+; public: static int __cdecl CMetaKey::IsPropertyInheritable(unsigned long)
+?IsPropertyInheritable@CMetaKey@@SAHK@Z
+; int __cdecl IsRestrictedFilename(class CString const & __ptr64)
+?IsRestrictedFilename@@YAHAEBVCString@@@Z
+; public: int __cdecl CAccessEntry::IsSIDResolved(void)const  __ptr64
+?IsSIDResolved@CAccessEntry@@QEBAHXZ
+; int __cdecl IsServerLocal(unsigned short const * __ptr64)
+?IsServerLocal@@YAHPEBG@Z
+; public: int __cdecl CIPAccessDescriptor::IsSingle(void)const  __ptr64
+?IsSingle@CIPAccessDescriptor@@QEBAHXZ
+; int __cdecl IsSpecialPath(class CString const & __ptr64,int,int)
+?IsSpecialPath@@YAHAEBVCString@@HH@Z
+; int __cdecl IsUNCName(class CString const & __ptr64)
+?IsUNCName@@YAHAEBVCString@@@Z
+; int __cdecl IsURLName(class CString const & __ptr64)
+?IsURLName@@YAHAEBVCString@@@Z
+; public: virtual int __cdecl CObjHelper::IsValid(void)const  __ptr64
+?IsValid@CObjHelper@@UEBAHXZ
+; long __cdecl IsValidHostHeader(unsigned short const * __ptr64)
+?IsValidHostHeader@@YAJPEBG@Z
+; public: int __cdecl CAccessEntry::IsVisible(void)const  __ptr64
+?IsVisible@CAccessEntry@@QEBAHXZ
+; protected: int __cdecl CIISWizardBookEnd::IsWelcomePage(void)const  __ptr64
+?IsWelcomePage@CIISWizardBookEnd@@IEBAHXZ
+; protected: int __cdecl CIISWizardPage::IsWizard97(void)const  __ptr64
+?IsWizard97@CIISWizardPage@@IEBAHXZ
+; public: int __cdecl CIISWizardSheet::IsWizard97(void)const  __ptr64
+?IsWizard97@CIISWizardSheet@@QEBAHXZ
+; public: int __cdecl CIPAddress::IsZeroValue(void)const  __ptr64
+?IsZeroValue@CIPAddress@@QEBAHXZ
+; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
+?Kill@CIISSvcControl@@QEAAJXZ
+; long __cdecl LimitInputDomainName(struct HWND__ * __ptr64)
+?LimitInputDomainName@@YAJPEAUHWND__@@@Z
+; long __cdecl LimitInputPath(struct HWND__ * __ptr64,int)
+?LimitInputPath@@YAJPEAUHWND__@@H@Z
+; protected: int __cdecl CMappedBitmapButton::LoadMappedBitmaps(unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
+?LoadMappedBitmaps@CMappedBitmapButton@@IEAAHIIII@Z
+; public: static unsigned short * __ptr64 __cdecl CIPAddress::LongToString(unsigned long,unsigned short * __ptr64,int)
+?LongToString@CIPAddress@@SAPEAGKPEAGH@Z
+; public: static unsigned short const * __ptr64 __cdecl CIPAddress::LongToString(unsigned long,class ATL::CComBSTR & __ptr64)
+?LongToString@CIPAddress@@SAPEBGKAEAVCComBSTR@ATL@@@Z
+; public: static unsigned short const * __ptr64 __cdecl CIPAddress::LongToString(unsigned long,class CString & __ptr64)
+?LongToString@CIPAddress@@SAPEBGKAEAVCString@@@Z
+; int __cdecl LooksLikeIPAddress(unsigned short const * __ptr64)
+?LooksLikeIPAddress@@YAHPEBG@Z
+; public: static int __cdecl CAccessEntry::LookupAccountSidW(class CString & __ptr64,int & __ptr64,void * __ptr64,unsigned short const * __ptr64)
+?LookupAccountSidW@CAccessEntry@@SAHAEAVCString@@AEAHPEAXPEBG@Z
+; unsigned short const * __ptr64 __cdecl MakeUNCPath(class CString & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)
+?MakeUNCPath@@YAPEBGAEAVCString@@PEBG1@Z
+; public: static int __cdecl CMetaKey::MapMDIDToTableIndex(unsigned long)
+?MapMDIDToTableIndex@CMetaKey@@SAHK@Z
+; public: void __cdecl CAccessEntry::MarkEntryAsChanged(void) __ptr64
+?MarkEntryAsChanged@CAccessEntry@@QEAAXXZ
+; public: void __cdecl CAccessEntry::MarkEntryAsClean(void) __ptr64
+?MarkEntryAsClean@CAccessEntry@@QEAAXXZ
+; public: void __cdecl CAccessEntry::MarkEntryAsNew(void) __ptr64
+?MarkEntryAsNew@CAccessEntry@@QEAAXXZ
+; protected: virtual void __cdecl CRMCComboBox::MeasureItem(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
+?MeasureItem@CRMCComboBox@@MEAAXPEAUtagMEASUREITEMSTRUCT@@@Z
+; protected: virtual void __cdecl CRMCListBox::MeasureItem(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
+?MeasureItem@CRMCListBox@@MEAAXPEAUtagMEASUREITEMSTRUCT@@@Z
+; public: int __cdecl CError::MessageBoxFormat(struct HWND__ * __ptr64,unsigned int,unsigned int,unsigned int,...)const  __ptr64
+?MessageBoxFormat@CError@@QEBAHPEAUHWND__@@IIIZZ
+; public: int __cdecl CError::MessageBoxOnFailure(struct HWND__ * __ptr64,unsigned int,unsigned int)const  __ptr64
+?MessageBoxOnFailure@CError@@QEBAHPEAUHWND__@@II@Z
+; public: int __cdecl CError::MessageBoxW(struct HWND__ * __ptr64,unsigned int,unsigned int)const  __ptr64
+?MessageBoxW@CError@@QEBAHPEAUHWND__@@II@Z
+; unsigned long __cdecl MyGetHostName(unsigned long,class CString & __ptr64)
+?MyGetHostName@@YAKKAEAVCString@@@Z
+; long __cdecl MyValidatePath(unsigned short const * __ptr64,int,int,unsigned long,unsigned long)
+?MyValidatePath@@YAJPEBGHHKK@Z
+; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
+?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
+; public: long __cdecl CMetaEnumerator::Next(unsigned long & __ptr64,class CString & __ptr64,unsigned short const * __ptr64) __ptr64
+?Next@CMetaEnumerator@@QEAAJAEAKAEAVCString@@PEBG@Z
+; public: long __cdecl CMetaEnumerator::Next(class CString & __ptr64,unsigned short const * __ptr64) __ptr64
+?Next@CMetaEnumerator@@QEAAJAEAVCString@@PEBG@Z
+; public: class CObject * __ptr64 __cdecl CObListIter::Next(void) __ptr64
+?Next@CObListIter@@QEAAPEAVCObject@@XZ
+; public: long __cdecl CMetaBack::NextHistory(unsigned long * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
+?NextHistory@CMetaBack@@QEAAJPEAK0PEAGPEAU_FILETIME@@@Z
+; public: int __cdecl CODLBox::NumTabs(void)const  __ptr64
+?NumTabs@CODLBox@@QEBAHXZ
+; protected: void __cdecl CInheritanceDlg::OnButtonSelectAll(void) __ptr64
+?OnButtonSelectAll@CInheritanceDlg@@IEAAXXZ
+; protected: int __cdecl CHeaderListBox::OnCreate(struct tagCREATESTRUCTW * __ptr64) __ptr64
+?OnCreate@CHeaderListBox@@IEAAHPEAUtagCREATESTRUCTW@@@Z
+; protected: int __cdecl CRMCComboBox::OnCreate(struct tagCREATESTRUCTW * __ptr64) __ptr64
+?OnCreate@CRMCComboBox@@IEAAHPEAUtagCREATESTRUCTW@@@Z
+; protected: int __cdecl CRMCListBox::OnCreate(struct tagCREATESTRUCTW * __ptr64) __ptr64
+?OnCreate@CRMCListBox@@IEAAHPEAUtagCREATESTRUCTW@@@Z
+; protected: struct HBRUSH__ * __ptr64 __cdecl CIISWizardPage::OnCtlColor(class CDC * __ptr64,class CWnd * __ptr64,unsigned int) __ptr64
+?OnCtlColor@CIISWizardPage@@IEAAPEAUHBRUSH__@@PEAVCDC@@PEAVCWnd@@I@Z
+; protected: void __cdecl CEmphasizedDialog::OnDestroy(void) __ptr64
+?OnDestroy@CEmphasizedDialog@@IEAAXXZ
+; protected: void __cdecl CHeaderListBox::OnDestroy(void) __ptr64
+?OnDestroy@CHeaderListBox@@IEAAXXZ
+; protected: void __cdecl CIISWizardSheet::OnDestroy(void) __ptr64
+?OnDestroy@CIISWizardSheet@@IEAAXXZ
+; protected: void __cdecl CRMCListBoxHeader::OnDestroy(void) __ptr64
+?OnDestroy@CRMCListBoxHeader@@IEAAXXZ
+; protected: int __cdecl CIISWizardPage::OnEraseBkgnd(class CDC * __ptr64) __ptr64
+?OnEraseBkgnd@CIISWizardPage@@IEAAHPEAVCDC@@@Z
+; protected: void __cdecl CRMCListBoxHeader::OnHeaderEndTrack(unsigned int,struct tagNMHDR * __ptr64,__int64 * __ptr64) __ptr64
+?OnHeaderEndTrack@CRMCListBoxHeader@@IEAAXIPEAUtagNMHDR@@PEA_J@Z
+; protected: void __cdecl CRMCListBoxHeader::OnHeaderItemChanged(unsigned int,struct tagNMHDR * __ptr64,__int64 * __ptr64) __ptr64
+?OnHeaderItemChanged@CRMCListBoxHeader@@IEAAXIPEAUtagNMHDR@@PEA_J@Z
+; protected: void __cdecl CRMCListBoxHeader::OnHeaderItemClick(unsigned int,struct tagNMHDR * __ptr64,__int64 * __ptr64) __ptr64
+?OnHeaderItemClick@CRMCListBoxHeader@@IEAAXIPEAUtagNMHDR@@PEA_J@Z
+; protected: void __cdecl CInheritanceDlg::OnHelp(void) __ptr64
+?OnHelp@CInheritanceDlg@@IEAAXXZ
+; protected: virtual int __cdecl CEmphasizedDialog::OnInitDialog(void) __ptr64
+?OnInitDialog@CEmphasizedDialog@@MEAAHXZ
+; protected: virtual int __cdecl CIISWizardBookEnd::OnInitDialog(void) __ptr64
+?OnInitDialog@CIISWizardBookEnd@@MEAAHXZ
+; protected: virtual int __cdecl CIISWizardPage::OnInitDialog(void) __ptr64
+?OnInitDialog@CIISWizardPage@@MEAAHXZ
+; protected: virtual int __cdecl CIISWizardSheet::OnInitDialog(void) __ptr64
+?OnInitDialog@CIISWizardSheet@@MEAAHXZ
+; protected: virtual int __cdecl CInheritanceDlg::OnInitDialog(void) __ptr64
+?OnInitDialog@CInheritanceDlg@@MEAAHXZ
+; protected: virtual void __cdecl CInheritanceDlg::OnOK(void) __ptr64
+?OnOK@CInheritanceDlg@@MEAAXXZ
+; public: virtual int __cdecl CIISWizardBookEnd::OnSetActive(void) __ptr64
+?OnSetActive@CIISWizardBookEnd@@UEAAHXZ
+; protected: void __cdecl CRMCListBoxHeader::OnSetFocus(class CWnd * __ptr64) __ptr64
+?OnSetFocus@CRMCListBoxHeader@@IEAAXPEAVCWnd@@@Z
+; public: long __cdecl CMetaKey::Open(unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
+?Open@CMetaKey@@QEAAJKPEBGK@Z
+; protected: long __cdecl CMetaInterface::OpenKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?OpenKey@CMetaInterface@@IEAAJKPEBGKPEAK@Z
+; public: int __cdecl CIPAccessDescriptor::OrderByAddress(class CObjectPlus const * __ptr64)const  __ptr64
+?OrderByAddress@CIPAccessDescriptor@@QEBAHPEBVCObjectPlus@@@Z
+; int __cdecl PCToUnixText(unsigned short * __ptr64 & __ptr64,class CString)
+?PCToUnixText@@YAHAEAPEAGVCString@@@Z
+; int __cdecl PathIsValid(unsigned short const * __ptr64,int)
+?PathIsValid@@YAHPEBGH@Z
+; unsigned long __cdecl PopulateComboWithKnownIpAddresses(unsigned short const * __ptr64,class CComboBox & __ptr64,class CIPAddress & __ptr64,class CObListPlus & __ptr64,int & __ptr64)
+?PopulateComboWithKnownIpAddresses@@YAKPEBGAEAVCComboBox@@AEAVCIPAddress@@AEAVCObListPlus@@AEAH@Z
+; protected: void __cdecl CRMCListBoxResources::PrepareBitmaps(void) __ptr64
+?PrepareBitmaps@CRMCListBoxResources@@IEAAXXZ
+; protected: void __cdecl CGetComputer::ProcessSelectedObjects(struct IDataObject * __ptr64) __ptr64
+?ProcessSelectedObjects@CGetComputer@@IEAAXPEAUIDataObject@@@Z
+; protected: void __cdecl CGetUsers::ProcessSelectedObjects(struct IDataObject * __ptr64) __ptr64
+?ProcessSelectedObjects@CGetUsers@@IEAAXPEAUIDataObject@@@Z
+; public: unsigned long __cdecl CAccessEntry::QueryAccessMask(void)const  __ptr64
+?QueryAccessMask@CAccessEntry@@QEBAKXZ
+; public: unsigned long __cdecl CObjHelper::QueryAge(void)const  __ptr64
+?QueryAge@CObjHelper@@QEBAKXZ
+; public: long __cdecl CObjHelper::QueryApiErr(void)const  __ptr64
+?QueryApiErr@CObjHelper@@QEBAJXZ
+; public: unsigned long __cdecl CIISApplication::QueryAppState(void)const  __ptr64
+?QueryAppState@CIISApplication@@QEBAKXZ
+; public: class CComAuthInfo * __ptr64 __cdecl CIISInterface::QueryAuthInfo(void) __ptr64
+?QueryAuthInfo@CIISInterface@@QEAAPEAVCComAuthInfo@@XZ
+; protected: long __cdecl CIISWizardPage::QueryBitmapHeight(void)const  __ptr64
+?QueryBitmapHeight@CIISWizardPage@@IEBAJXZ
+; public: long __cdecl CIISWizardSheet::QueryBitmapHeight(int)const  __ptr64
+?QueryBitmapHeight@CIISWizardSheet@@QEBAJH@Z
+; protected: long __cdecl CIISWizardPage::QueryBitmapWidth(void)const  __ptr64
+?QueryBitmapWidth@CIISWizardPage@@IEBAJXZ
+; public: long __cdecl CIISWizardSheet::QueryBitmapWidth(int)const  __ptr64
+?QueryBitmapWidth@CIISWizardSheet@@QEBAJH@Z
+; public: int __cdecl CHeaderListBox::QueryColumnWidth(int)const  __ptr64
+?QueryColumnWidth@CHeaderListBox@@QEBAHH@Z
+; public: unsigned long __cdecl CObjHelper::QueryCreationTime(void)const  __ptr64
+?QueryCreationTime@CObjHelper@@QEBAKXZ
+; public: static unsigned short const * __ptr64 __cdecl CINumber::QueryCurrency(void)
+?QueryCurrency@CINumber@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CINumber::QueryDecimalPoint(void)
+?QueryDecimalPoint@CINumber@@SAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CIPAccessDescriptor::QueryDomainName(void)const  __ptr64
+?QueryDomainName@CIPAccessDescriptor@@QEBAPEBGXZ
+; public: long __cdecl CObjHelper::QueryError(void)const  __ptr64
+?QueryError@CObjHelper@@QEBAJXZ
+; public: unsigned long __cdecl CMetaKey::QueryFlags(void)const  __ptr64
+?QueryFlags@CMetaKey@@QEBAKXZ
+; public: unsigned long __cdecl CIPAddress::QueryHostOrderIPAddress(void)const  __ptr64
+?QueryHostOrderIPAddress@CIPAddress@@QEBAKXZ
+; public: class CIPAddress  __cdecl CIPAccessDescriptor::QueryIPAddress(void)const  __ptr64
+?QueryIPAddress@CIPAccessDescriptor@@QEBA?AVCIPAddress@@XZ
+; public: unsigned long __cdecl CIPAccessDescriptor::QueryIPAddress(int)const  __ptr64
+?QueryIPAddress@CIPAccessDescriptor@@QEBAKH@Z
+; public: unsigned long __cdecl CIPAddress::QueryIPAddress(int)const  __ptr64
+?QueryIPAddress@CIPAddress@@QEBAKH@Z
+; public: unsigned short const * __ptr64 __cdecl CIPAddress::QueryIPAddress(class ATL::CComBSTR & __ptr64)const  __ptr64
+?QueryIPAddress@CIPAddress@@QEBAPEBGAEAVCComBSTR@ATL@@@Z
+; public: unsigned short const * __ptr64 __cdecl CIPAddress::QueryIPAddress(class CString & __ptr64)const  __ptr64
+?QueryIPAddress@CIPAddress@@QEBAPEBGAEAVCString@@@Z
+; public: unsigned short const * __ptr64 __cdecl CMetaKey::QueryMetaPath(void)const  __ptr64
+?QueryMetaPath@CMetaKey@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CMetabasePath::QueryMetaPath(void)const  __ptr64
+?QueryMetaPath@CMetabasePath@@QEBAPEBGXZ
+; public: unsigned long __cdecl CIPAddress::QueryNetworkOrderIPAddress(void)const  __ptr64
+?QueryNetworkOrderIPAddress@CIPAddress@@QEBAKXZ
+; public: int __cdecl CHeaderListBox::QueryNumColumns(void)const  __ptr64
+?QueryNumColumns@CHeaderListBox@@QEBAHXZ
+; public: int __cdecl CRMCListBoxHeader::QueryNumColumns(void)const  __ptr64
+?QueryNumColumns@CRMCListBoxHeader@@QEBAHXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryPassword(void)const  __ptr64
+?QueryPassword@CComAuthInfo@@QEBAPEAGXZ
+; public: int __cdecl CAccessEntry::QueryPictureID(void)const  __ptr64
+?QueryPictureID@CAccessEntry@@QEBAHXZ
+; public: unsigned long __cdecl CIISAppPool::QueryPoolState(void)const  __ptr64
+?QueryPoolState@CIISAppPool@@QEBAKXZ
+; public: struct __POSITION * __ptr64 __cdecl CObListIter::QueryPosition(void)const  __ptr64
+?QueryPosition@CObListIter@@QEBAPEAU__POSITION@@XZ
+; public: virtual long __cdecl CIISAppPool::QueryResult(void)const  __ptr64
+?QueryResult@CIISAppPool@@UEBAJXZ
+; public: virtual long __cdecl CIISApplication::QueryResult(void)const  __ptr64
+?QueryResult@CIISApplication@@UEBAJXZ
+; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
+?QueryResult@CIISInterface@@UEBAJXZ
+; public: virtual long __cdecl CMetaBack::QueryResult(void)const  __ptr64
+?QueryResult@CMetaBack@@UEBAJXZ
+; public: virtual long __cdecl CMetaKey::QueryResult(void)const  __ptr64
+?QueryResult@CMetaKey@@UEBAJXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryServerName(void)const  __ptr64
+?QueryServerName@CComAuthInfo@@QEBAPEAGXZ
+; public: unsigned short const * __ptr64 __cdecl CIISInterface::QueryServerName(void)const  __ptr64
+?QueryServerName@CIISInterface@@QEBAPEBGXZ
+; public: class CIPAddress  __cdecl CIPAccessDescriptor::QuerySubnetMask(void)const  __ptr64
+?QuerySubnetMask@CIPAccessDescriptor@@QEBA?AVCIPAddress@@XZ
+; public: unsigned long __cdecl CIPAccessDescriptor::QuerySubnetMask(int)const  __ptr64
+?QuerySubnetMask@CIPAccessDescriptor@@QEBAKH@Z
+; public: static unsigned short const * __ptr64 __cdecl CINumber::QueryThousandSeparator(void)
+?QueryThousandSeparator@CINumber@@SAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CAccessEntry::QueryUserName(void)const  __ptr64
+?QueryUserName@CAccessEntry@@QEBAPEBGXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryUserName(void)const  __ptr64
+?QueryUserName@CComAuthInfo@@QEBAPEAGXZ
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,int & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAHPEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,unsigned long & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAKPEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class ATL::CComBSTR & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCComBSTR@ATL@@PEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CString & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCString@@PEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCStringListEx@@PEAHPEBGPEAK@Z
+; public: unsigned short const * __ptr64 __cdecl CIISAppPool::QueryWamPath(void)const  __ptr64
+?QueryWamPath@CIISAppPool@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CIISApplication::QueryWamPath(void)const  __ptr64
+?QueryWamPath@CIISApplication@@QEBAPEBGXZ
+; protected: unsigned long __cdecl CIISWizardPage::QueryWindowColor(void)const  __ptr64
+?QueryWindowColor@CIISWizardPage@@IEBAKXZ
+; public: unsigned long __cdecl CIISWizardSheet::QueryWindowColor(void)const  __ptr64
+?QueryWindowColor@CIISWizardSheet@@QEBAKXZ
+; protected: unsigned long __cdecl CIISWizardPage::QueryWindowTextColor(void)const  __ptr64
+?QueryWindowTextColor@CIISWizardPage@@IEBAKXZ
+; public: unsigned long __cdecl CIISWizardSheet::QueryWindowTextColor(void)const  __ptr64
+?QueryWindowTextColor@CIISWizardSheet@@QEBAKXZ
+; public: long __cdecl CMetaKey::ReOpen(unsigned long) __ptr64
+?ReOpen@CMetaKey@@QEAAJK@Z
+; public: long __cdecl CMetaKey::ReOpen(void) __ptr64
+?ReOpen@CMetaKey@@QEAAJXZ
+; public: long __cdecl CIISSvcControl::Reboot(unsigned long,int) __ptr64
+?Reboot@CIISSvcControl@@QEAAJKH@Z
+; public: long __cdecl CIISApplication::Recover(int) __ptr64
+?Recover@CIISApplication@@QEAAJH@Z
+; public: long __cdecl CIISAppPool::Recycle(unsigned short const * __ptr64) __ptr64
+?Recycle@CIISAppPool@@QEAAJPEBG@Z
+; protected: long __cdecl CWamInterface::RecycleApplicationPool(unsigned short const * __ptr64) __ptr64
+?RecycleApplicationPool@CWamInterface@@IEAAJPEBG@Z
+; public: long __cdecl CIISApplication::RefreshAppState(void) __ptr64
+?RefreshAppState@CIISApplication@@QEAAJXZ
+; public: long __cdecl CIISAppPool::RefreshState(void) __ptr64
+?RefreshState@CIISAppPool@@QEAAJXZ
+; public: long __cdecl CMetaInterface::Regenerate(void) __ptr64
+?Regenerate@CMetaInterface@@QEAAJXZ
+; public: static void __cdecl CError::RegisterFacility(unsigned long,char const * __ptr64)
+?RegisterFacility@CError@@SAXKPEBD@Z
+; public: int __cdecl CObListPlus::Remove(class CObject * __ptr64) __ptr64
+?Remove@CObListPlus@@QEAAHPEAVCObject@@@Z
+; public: void __cdecl CObListPlus::RemoveAll(void) __ptr64
+?RemoveAll@CObListPlus@@QEAAXXZ
+; public: void __cdecl CError::RemoveAllOverrides(void) __ptr64
+?RemoveAllOverrides@CError@@QEAAXXZ
+; public: void __cdecl CODLBox::RemoveAllTabs(void) __ptr64
+?RemoveAllTabs@CODLBox@@QEAAXXZ
+; public: void __cdecl CObListPlus::RemoveAt(struct __POSITION * __ptr64 & __ptr64) __ptr64
+?RemoveAt@CObListPlus@@QEAAXAEAPEAU__POSITION@@@Z
+; public: void __cdecl CComAuthInfo::RemoveImpersonation(void) __ptr64
+?RemoveImpersonation@CComAuthInfo@@QEAAXXZ
+; public: int __cdecl CObListPlus::RemoveIndex(int) __ptr64
+?RemoveIndex@CObListPlus@@QEAAHH@Z
+; public: void __cdecl CError::RemoveOverride(long) __ptr64
+?RemoveOverride@CError@@QEAAXJ@Z
+; public: void __cdecl CAccessEntry::RemovePermissions(unsigned long) __ptr64
+?RemovePermissions@CAccessEntry@@QEAAXK@Z
+; public: void __cdecl CODLBox::RemoveTab(int,int) __ptr64
+?RemoveTab@CODLBox@@QEAAXHH@Z
+; protected: long __cdecl CMetaInterface::RenameKey(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?RenameKey@CMetaInterface@@IEAAJKPEBG0@Z
+; public: long __cdecl CMetaKey::RenameKey(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?RenameKey@CMetaKey@@QEAAJPEBG0@Z
+; unsigned long __cdecl ReplaceStringInString(class CString & __ptr64,class CString & __ptr64,class CString & __ptr64,int)
+?ReplaceStringInString@@YAKAEAVCString@@00H@Z
+; public: void __cdecl CObjHelper::ReportError(long) __ptr64
+?ReportError@CObjHelper@@QEAAXJ@Z
+; public: void __cdecl CError::Reset(void) __ptr64
+?Reset@CError@@QEAAXXZ
+; public: void __cdecl CMetaBack::Reset(void) __ptr64
+?Reset@CMetaBack@@QEAAXXZ
+; public: void __cdecl CMetaEnumerator::Reset(void) __ptr64
+?Reset@CMetaEnumerator@@QEAAXXZ
+; public: void __cdecl CObListIter::Reset(void) __ptr64
+?Reset@CObListIter@@QEAAXXZ
+; public: void __cdecl CObjHelper::ResetErrors(void) __ptr64
+?ResetErrors@CObjHelper@@QEAAXXZ
+; public: int __cdecl CAccessEntry::ResolveSID(void) __ptr64
+?ResolveSID@CAccessEntry@@QEAAHXZ
+; public: void __cdecl CRMCListBoxHeader::RespondToColumnWidthChanges(int) __ptr64
+?RespondToColumnWidthChanges@CRMCListBoxHeader@@QEAAXH@Z
+; public: long __cdecl CMetaBack::Restore(unsigned short const * __ptr64,unsigned long) __ptr64
+?Restore@CMetaBack@@QEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?Restore@CMetaInterface@@IEAAJPEBGKK@Z
+; protected: long __cdecl CMetaInterface::RestoreHistory(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
+?RestoreHistory@CMetaInterface@@IEAAJPEBGKKK@Z
+; public: long __cdecl CMetaBack::RestoreHistoryBackup(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
+?RestoreHistoryBackup@CMetaBack@@QEAAJPEBGKKK@Z
+; public: long __cdecl CMetaBack::RestoreWithPassword(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
+?RestoreWithPassword@CMetaBack@@QEAAJPEBGK0@Z
+; protected: long __cdecl CMetaInterface::RestoreWithPassword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
+?RestoreWithPassword@CMetaInterface@@IEAAJPEBGKK0@Z
+; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
+?SaveData@CMetaInterface@@QEAAJXZ
+; public: int __cdecl CRMCListBox::SelectItem(void * __ptr64) __ptr64
+?SelectItem@CRMCListBox@@QEAAHPEAX@Z
+; public: int __cdecl CObListPlus::SetAll(int) __ptr64
+?SetAll@CObListPlus@@QEAAHH@Z
+; public: long __cdecl CObjHelper::SetApiErr(long) __ptr64
+?SetApiErr@CObjHelper@@QEAAJJ@Z
+; public: int __cdecl CHeaderListBox::SetColumnWidth(int,int) __ptr64
+?SetColumnWidth@CHeaderListBox@@QEAAHHH@Z
+; public: void __cdecl CRMCListBoxHeader::SetColumnWidth(int,int) __ptr64
+?SetColumnWidth@CRMCListBoxHeader@@QEAAXHH@Z
+; protected: void __cdecl CComAuthInfo::SetComputerNameW(unsigned short const * __ptr64) __ptr64
+?SetComputerNameW@CComAuthInfo@@IEAAXPEBG@Z
+; public: int __cdecl CRMCListBox::SetCurSel(int) __ptr64
+?SetCurSel@CRMCListBox@@QEAAHH@Z
+; protected: long __cdecl CMetaInterface::SetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64) __ptr64
+?SetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@@Z
+; public: void __cdecl CObjHelper::SetDirty(int) __ptr64
+?SetDirty@CObjHelper@@QEAAXH@Z
+; protected: int __cdecl CHeaderListBox::SetHeaderItem(int,struct _HD_ITEMW * __ptr64) __ptr64
+?SetHeaderItem@CHeaderListBox@@IEAAHHPEAU_HD_ITEMW@@@Z
+; public: void __cdecl CComAuthInfo::SetImpersonation(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetImpersonation@CComAuthInfo@@QEAAXPEBG0@Z
+; public: int __cdecl CRMCListBoxHeader::SetItem(int,struct _HD_ITEMW * __ptr64) __ptr64
+?SetItem@CRMCListBoxHeader@@QEAAHHPEAU_HD_ITEMW@@@Z
+; protected: long __cdecl CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
+?SetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
+; public: void __cdecl CError::SetLastWinError(void)const  __ptr64
+?SetLastWinError@CError@@QEBAXXZ
+; public: int __cdecl CObListPlus::SetOwnership(int) __ptr64
+?SetOwnership@CObListPlus@@QEAAHH@Z
+; public: void __cdecl CObListIter::SetPosition(struct __POSITION * __ptr64) __ptr64
+?SetPosition@CObListIter@@QEAAXPEAU__POSITION@@@Z
+; protected: long __cdecl CMetaKey::SetPropertyValue(unsigned long,unsigned long,void * __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetPropertyValue@CMetaKey@@IEAAJKKPEAXPEAHPEBG@Z
+; public: void __cdecl CConfirmDlg::SetReference(class CString & __ptr64) __ptr64
+?SetReference@CConfirmDlg@@QEAAXAEAVCString@@@Z
+; public: void __cdecl CODLBox::SetTab(int,unsigned int) __ptr64
+?SetTab@CODLBox@@QEAAXHI@Z
+; protected: void __cdecl CRMCListBoxHeader::SetTabsFromHeader(void) __ptr64
+?SetTabsFromHeader@CRMCListBoxHeader@@IEAAXXZ
+; public: void __cdecl CBlob::SetValue(unsigned long,unsigned char * __ptr64,int) __ptr64
+?SetValue@CBlob@@QEAAXKPEAEH@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class CString & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCString@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCStringListEx@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,int,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKHPEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,unsigned long,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKKPEAHPEBG@Z
+; public: void __cdecl CIPAccessDescriptor::SetValues(int,unsigned long,unsigned long,int) __ptr64
+?SetValues@CIPAccessDescriptor@@QEAAXHKKH@Z
+; public: void __cdecl CIPAccessDescriptor::SetValues(int,unsigned short const * __ptr64) __ptr64
+?SetValues@CIPAccessDescriptor@@QEAAXHPEBG@Z
+; protected: int __cdecl CHeaderListBox::SetWidthsFromReg(void) __ptr64
+?SetWidthsFromReg@CHeaderListBox@@IEAAHXZ
+; protected: void __cdecl CIISWizardPage::SetWizardButtons(unsigned long) __ptr64
+?SetWizardButtons@CIISWizardPage@@IEAAXK@Z
+; public: void __cdecl CIPAddress::SetZeroValue(void) __ptr64
+?SetZeroValue@CIPAddress@@QEAAXXZ
+; public: int __cdecl CHeaderListBox::ShowWindow(int) __ptr64
+?ShowWindow@CHeaderListBox@@QEAAHH@Z
+; public: unsigned long __cdecl CObListPlus::Sort(int (__cdecl CObjectPlus::*)(class CObjectPlus const * __ptr64)const  __ptr64) __ptr64
+?Sort@CObListPlus@@QEAAKP8CObjectPlus@@EBAHPEBV2@@Z@Z
+; protected: static int __cdecl CObListPlus::SortHelper(void const * __ptr64,void const * __ptr64)
+?SortHelper@CObListPlus@@KAHPEBX0@Z
+; public: static void __cdecl CMetabasePath::SplitMetaPathAtInstance(unsigned short const * __ptr64,class CString & __ptr64,class CString & __ptr64)
+?SplitMetaPathAtInstance@CMetabasePath@@SAXPEBGAEAVCString@@1@Z
+; public: static int __cdecl CComAuthInfo::SplitUserNameAndDomain(class CString & __ptr64,class CString & __ptr64)
+?SplitUserNameAndDomain@CComAuthInfo@@SAHAEAVCString@@0@Z
+; public: long __cdecl CIISSvcControl::Start(unsigned long) __ptr64
+?Start@CIISSvcControl@@QEAAJK@Z
+; public: long __cdecl CIISSvcControl::Status(unsigned long,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?Status@CIISSvcControl@@QEAAJKPEAEPEAK1@Z
+; public: long __cdecl CIISSvcControl::Stop(unsigned long,int) __ptr64
+?Stop@CIISSvcControl@@QEAAJKH@Z
+; public: void __cdecl CComAuthInfo::StorePassword(unsigned short const * __ptr64) __ptr64
+?StorePassword@CComAuthInfo@@QEAAXPEBG@Z
+; public: static unsigned long __cdecl CIPAddress::StringToLong(class ATL::CComBSTR const & __ptr64)
+?StringToLong@CIPAddress@@SAKAEBVCComBSTR@ATL@@@Z
+; public: static unsigned long __cdecl CIPAddress::StringToLong(class CString const & __ptr64)
+?StringToLong@CIPAddress@@SAKAEBVCString@@@Z
+; public: static unsigned long __cdecl CIPAddress::StringToLong(unsigned short const * __ptr64,int)
+?StringToLong@CIPAddress@@SAKPEBGH@Z
+; public: int __cdecl CError::Succeeded(void)const  __ptr64
+?Succeeded@CError@@QEBAHXZ
+; public: static int __cdecl CError::Succeeded(long)
+?Succeeded@CError@@SAHJ@Z
+; public: virtual int __cdecl CIISAppPool::Succeeded(void)const  __ptr64
+?Succeeded@CIISAppPool@@UEBAHXZ
+; public: virtual int __cdecl CIISApplication::Succeeded(void)const  __ptr64
+?Succeeded@CIISApplication@@UEBAHXZ
+; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
+?Succeeded@CIISInterface@@UEBAHXZ
+; public: virtual int __cdecl CMetaBack::Succeeded(void)const  __ptr64
+?Succeeded@CMetaBack@@UEBAHXZ
+; public: virtual int __cdecl CMetaKey::Succeeded(void)const  __ptr64
+?Succeeded@CMetaKey@@UEBAHXZ
+; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
+?SupportsPooledProc@CWamInterface@@QEBAHXZ
+; int __cdecl SupportsSecurityACLs(unsigned short const * __ptr64)
+?SupportsSecurityACLs@@YAHPEBG@Z
+; public: void __cdecl CRMCListBoxResources::SysColorChanged(void) __ptr64
+?SysColorChanged@CRMCListBoxResources@@QEAAXXZ
+; public: long __cdecl CError::TextFromHRESULT(class CString & __ptr64)const  __ptr64
+?TextFromHRESULT@CError@@QEBAJAEAVCString@@@Z
+; public: long __cdecl CError::TextFromHRESULT(unsigned short * __ptr64,unsigned long)const  __ptr64
+?TextFromHRESULT@CError@@QEBAJPEAGK@Z
+; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(class CString & __ptr64)const  __ptr64
+?TextFromHRESULTExpand@CError@@QEBAPEBGAEAVCString@@@Z
+; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(unsigned short * __ptr64,unsigned long,long * __ptr64)const  __ptr64
+?TextFromHRESULTExpand@CError@@QEBAPEBGPEAGKPEAJ@Z
+; public: int __cdecl CODLBox::TextHeight(void)const  __ptr64
+?TextHeight@CODLBox@@QEBAHXZ
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::TruncatePath(int,unsigned short const * __ptr64,class CString & __ptr64,class CString * __ptr64)
+?TruncatePath@CMetabasePath@@SAPEBGHPEBGAEAVCString@@PEAV2@@Z
+; int __cdecl UnixToPCText(class CString & __ptr64,unsigned short const * __ptr64)
+?UnixToPCText@@YAHAEAVCString@@PEBG@Z
+; public: long __cdecl CIISApplication::Unload(int) __ptr64
+?Unload@CIISApplication@@QEAAJH@Z
+; protected: void __cdecl CRMCListBoxResources::UnprepareBitmaps(void) __ptr64
+?UnprepareBitmaps@CRMCListBoxResources@@IEAAXXZ
+; public: static void __cdecl CError::UnregisterFacility(unsigned long)
+?UnregisterFacility@CError@@SAXK@Z
+; protected: int __cdecl CRMCListBoxHeader::UseButtons(void)const  __ptr64
+?UseButtons@CRMCListBoxHeader@@IEBAHXZ
+; protected: int __cdecl CRMCListBoxHeader::UseStretch(void)const  __ptr64
+?UseStretch@CRMCListBoxHeader@@IEBAHXZ
+; public: static int __cdecl CINumber::UseSystemDefault(void)
+?UseSystemDefault@CINumber@@SAHXZ
+; public: static int __cdecl CINumber::UseUserDefault(void)
+?UseUserDefault@CINumber@@SAHXZ
+; public: int __cdecl CComAuthInfo::UsesImpersonation(void)const  __ptr64
+?UsesImpersonation@CComAuthInfo@@QEBAHXZ
+; public: int __cdecl CIISWizardPage::ValidateString(class CEdit & __ptr64,class CString & __ptr64,int,int) __ptr64
+?ValidateString@CIISWizardPage@@QEAAHAEAVCEdit@@AEAVCString@@HH@Z
+; int __cdecl VerifyState(void)
+?VerifyState@@YAHXZ
+; public: static unsigned long __cdecl CComAuthInfo::VerifyUserPassword(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?VerifyUserPassword@CComAuthInfo@@SAKPEBG0@Z
+; public: unsigned long __cdecl CError::Win32Error(void)const  __ptr64
+?Win32Error@CError@@QEBAKXZ
+; public: static unsigned long __cdecl CError::Win32Error(long)
+?Win32Error@CError@@SAKJ@Z
+; protected: virtual void __cdecl CIISWizardSheet::WinHelpW(unsigned long,unsigned int) __ptr64
+?WinHelpW@CIISWizardSheet@@MEAAXKI@Z
+; public: long __cdecl CIISApplication::WriteFriendlyName(unsigned short const * __ptr64) __ptr64
+?WriteFriendlyName@CIISApplication@@QEAAJPEBG@Z
+; public: long __cdecl CIISApplication::WritePoolId(unsigned short const * __ptr64) __ptr64
+?WritePoolId@CIISApplication@@QEAAJPEBG@Z
+; protected: static struct CRuntimeClass * __ptr64 __cdecl CEmphasizedDialog::_GetBaseClass(void)
+?_GetBaseClass@CEmphasizedDialog@@KAPEAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __ptr64 __cdecl CHeaderListBox::_GetBaseClass(void)
+?_GetBaseClass@CHeaderListBox@@KAPEAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __ptr64 __cdecl CIISWizardBookEnd::_GetBaseClass(void)
+?_GetBaseClass@CIISWizardBookEnd@@KAPEAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __ptr64 __cdecl CIISWizardPage::_GetBaseClass(void)
+?_GetBaseClass@CIISWizardPage@@KAPEAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __ptr64 __cdecl CIISWizardSheet::_GetBaseClass(void)
+?_GetBaseClass@CIISWizardSheet@@KAPEAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __ptr64 __cdecl CRMCComboBox::_GetBaseClass(void)
+?_GetBaseClass@CRMCComboBox@@KAPEAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __ptr64 __cdecl CRMCListBox::_GetBaseClass(void)
+?_GetBaseClass@CRMCListBox@@KAPEAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __ptr64 __cdecl CRMCListBoxHeader::_GetBaseClass(void)
+?_GetBaseClass@CRMCListBoxHeader@@KAPEAUCRuntimeClass@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CConfirmDlg::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CConfirmDlg@@KAPEBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CEmphasizedDialog::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CEmphasizedDialog@@KAPEBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CHeaderListBox::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CHeaderListBox@@KAPEBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardBookEnd::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CIISWizardBookEnd@@KAPEBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardPage::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CIISWizardPage@@KAPEBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CIISWizardSheet::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CIISWizardSheet@@KAPEBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CInheritanceDlg::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CInheritanceDlg@@KAPEBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CRMCComboBox::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CRMCComboBox@@KAPEBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CRMCListBox::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CRMCListBox@@KAPEBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __ptr64 __cdecl CRMCListBoxHeader::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CRMCListBoxHeader@@KAPEBUAFX_MSGMAP@@XZ
+; protected: void __cdecl CODLBox::__DrawItem(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
+?__DrawItem@CODLBox@@IEAAXPEAUtagDRAWITEMSTRUCT@@@Z
+; public: virtual int __cdecl CRMCComboBox::__GetCount(void)const  __ptr64
+?__GetCount@CRMCComboBox@@UEBAHXZ
+; public: virtual int __cdecl CRMCListBox::__GetCount(void)const  __ptr64
+?__GetCount@CRMCListBox@@UEBAHXZ
+; protected: void __cdecl CODLBox::__MeasureItem(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
+?__MeasureItem@CODLBox@@IEAAXPEAUtagMEASUREITEMSTRUCT@@@Z
+; public: virtual int __cdecl CRMCComboBox::__SetItemHeight(int,unsigned int) __ptr64
+?__SetItemHeight@CRMCComboBox@@UEAAHHI@Z
+; public: virtual int __cdecl CRMCListBox::__SetItemHeight(int,unsigned int) __ptr64
+?__SetItemHeight@CRMCListBox@@UEAAHHI@Z
+; protected: static unsigned short const  CMetabasePath::_chSep
+?_chSep@CMetabasePath@@1GB
+; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszMachine
+?_cszMachine@CMetabasePath@@1QEBGEB
+; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszRoot
+?_cszRoot@CMetabasePath@@1QEBGEB
+; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszSep
+?_cszSep@CMetabasePath@@1QEBGEB
+; private: static int  CINumber::_fAllocated
+?_fAllocated@CINumber@@0HA DATA
+; private: static int  CINumber::_fCurrencyPrefix
+?_fCurrencyPrefix@CINumber@@0HA DATA
+; private: static int  CINumber::_fInitialized
+?_fInitialized@CINumber@@0HA DATA
+; private: static struct AFX_MSGMAP_ENTRY const * const  CConfirmDlg::_messageEntries
+?_messageEntries@CConfirmDlg@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CEmphasizedDialog::_messageEntries
+?_messageEntries@CEmphasizedDialog@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CHeaderListBox::_messageEntries
+?_messageEntries@CHeaderListBox@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardBookEnd::_messageEntries
+?_messageEntries@CIISWizardBookEnd@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardPage::_messageEntries
+?_messageEntries@CIISWizardPage@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardSheet::_messageEntries
+?_messageEntries@CIISWizardSheet@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CInheritanceDlg::_messageEntries
+?_messageEntries@CInheritanceDlg@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCComboBox::_messageEntries
+?_messageEntries@CRMCComboBox@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCListBox::_messageEntries
+?_messageEntries@CRMCListBox@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCListBoxHeader::_messageEntries
+?_messageEntries@CRMCListBoxHeader@@0QBUAFX_MSGMAP_ENTRY@@B
+; protected: static class CString * __ptr64  __ptr64 CINumber::_pstr
+?_pstr@CINumber@@1PEAVCString@@EA DATA
+; public: static class CString * __ptr64  __ptr64 CINumber::_pstrBadNumber
+?_pstrBadNumber@CINumber@@2PEAVCString@@EA DATA
+; private: static class CString * __ptr64  __ptr64 CINumber::_pstrCurrency
+?_pstrCurrency@CINumber@@0PEAVCString@@EA DATA
+; private: static class CString * __ptr64  __ptr64 CINumber::_pstrDecimalPoint
+?_pstrDecimalPoint@CINumber@@0PEAVCString@@EA DATA
+; private: static class CString * __ptr64  __ptr64 CINumber::_pstrThousandSeparator
+?_pstrThousandSeparator@CINumber@@0PEAVCString@@EA DATA
+; public: static struct CRuntimeClass const  CEmphasizedDialog::classCEmphasizedDialog
+?classCEmphasizedDialog@CEmphasizedDialog@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CHeaderListBox::classCHeaderListBox
+?classCHeaderListBox@CHeaderListBox@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CIISWizardBookEnd::classCIISWizardBookEnd
+?classCIISWizardBookEnd@CIISWizardBookEnd@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CIISWizardPage::classCIISWizardPage
+?classCIISWizardPage@CIISWizardPage@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CIISWizardSheet::classCIISWizardSheet
+?classCIISWizardSheet@CIISWizardSheet@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CRMCComboBox::classCRMCComboBox
+?classCRMCComboBox@CRMCComboBox@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CRMCListBox::classCRMCListBox
+?classCRMCListBox@CRMCListBox@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CRMCListBoxHeader::classCRMCListBoxHeader
+?classCRMCListBoxHeader@CRMCListBoxHeader@@2UCRuntimeClass@@B
+; public: class CDC const & __ptr64 __cdecl CRMCListBoxResources::dcBitMap(void)const  __ptr64
+?dcBitMap@CRMCListBoxResources@@QEBAAEBVCDC@@XZ
+; unsigned short const * __ptr64 const  __ptr64 g_lpszDummyPassword
+?g_lpszDummyPassword@@3PEBGEB DATA
+; protected: static struct AFX_MSGMAP const  CConfirmDlg::messageMap
+?messageMap@CConfirmDlg@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CEmphasizedDialog::messageMap
+?messageMap@CEmphasizedDialog@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CHeaderListBox::messageMap
+?messageMap@CHeaderListBox@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CIISWizardBookEnd::messageMap
+?messageMap@CIISWizardBookEnd@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CIISWizardPage::messageMap
+?messageMap@CIISWizardPage@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CIISWizardSheet::messageMap
+?messageMap@CIISWizardSheet@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CInheritanceDlg::messageMap
+?messageMap@CInheritanceDlg@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CRMCComboBox::messageMap
+?messageMap@CRMCComboBox@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CRMCListBox::messageMap
+?messageMap@CRMCListBox@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CRMCListBoxHeader::messageMap
+?messageMap@CRMCListBoxHeader@@1UAFX_MSGMAP@@B
+; protected: static int const  CMetaKey::s_MetaTableSize
+?s_MetaTableSize@CMetaKey@@1HB
+; protected: static unsigned long  CError::s_cdwFacilities
+?s_cdwFacilities@CError@@1KA DATA
+; protected: static long  CError::s_cdwMaxLMErr
+?s_cdwMaxLMErr@CError@@1JA DATA
+; protected: static long  CError::s_cdwMaxWSErr
+?s_cdwMaxWSErr@CError@@1JA DATA
+; protected: static long  CError::s_cdwMinLMErr
+?s_cdwMinLMErr@CError@@1JA DATA
+; protected: static long  CError::s_cdwMinWSErr
+?s_cdwMinWSErr@CError@@1JA DATA
+; protected: static unsigned short const  CError::s_chEscNumber
+?s_chEscNumber@CError@@1GB
+; protected: static unsigned short const  CError::s_chEscText
+?s_chEscText@CError@@1GB
+; protected: static unsigned short const  CError::s_chEscape
+?s_chEscape@CError@@1GB
+; protected: static int const  CIISWizardSheet::s_cnBoldDeltaFont
+?s_cnBoldDeltaFont@CIISWizardSheet@@1HB
+; protected: static int const  CIISWizardSheet::s_cnBoldDeltaHeight
+?s_cnBoldDeltaHeight@CIISWizardSheet@@1HB
+; protected: static int const  CIISWizardSheet::s_cnBoldDeltaWidth
+?s_cnBoldDeltaWidth@CIISWizardSheet@@1HB
+; protected: static int const  CIISWizardPage::s_cnHeaderOffset
+?s_cnHeaderOffset@CIISWizardPage@@1HB
+; protected: static unsigned short const * __ptr64 *  CError::s_cszFacility
+?s_cszFacility@CError@@1PAPEBGA DATA
+; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszLMDLL
+?s_cszLMDLL@CError@@1PEBGEB DATA
+; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszWSDLL
+?s_cszWSDLL@CError@@1PEBGEB DATA
+; protected: static int  CError::s_fAllocated
+?s_fAllocated@CError@@1HA DATA
+; protected: static class CMap<unsigned long,unsigned long & __ptr64,class CString,class CString & __ptr64> * __ptr64  __ptr64 CError::s_pmapFacilities
+?s_pmapFacilities@CError@@1PEAV?$CMap@KAEAKVCString@@AEAV1@@@EA DATA
+; protected: static class CString * __ptr64  __ptr64 CError::s_pstrDefError
+?s_pstrDefError@CError@@1PEAVCString@@EA DATA
+; protected: static class CString * __ptr64  __ptr64 CError::s_pstrDefSuccs
+?s_pstrDefSuccs@CError@@1PEAVCString@@EA DATA
+; protected: static struct CMetaKey::tagMDFIELDDEF const * const  CMetaKey::s_rgMetaTable
+?s_rgMetaTable@CMetaKey@@1QBUtagMDFIELDDEF@1@B
+; protected: static unsigned short const * __ptr64 const  __ptr64 CMetaBack::s_szMasterAppRoot
+?s_szMasterAppRoot@CMetaBack@@1QEBGEB
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iisuiobj.def b/mingw-w64-crt/lib64/iisuiobj.def
index b554f1e..312ac0a 100644
--- a/mingw-w64-crt/lib64/iisuiobj.def
+++ b/mingw-w64-crt/lib64/iisuiobj.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IISUIObj.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISUIObj.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IISUIObj.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISUIObj.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iisutil.def b/mingw-w64-crt/lib64/iisutil.def
index 4c4209f..d4c6487 100644
--- a/mingw-w64-crt/lib64/iisutil.def
+++ b/mingw-w64-crt/lib64/iisutil.def
@@ -1,2029 +1,2029 @@
-; 
-; Exports of file IISUTIL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISUTIL.dll
-EXPORTS
-; public: __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::CDataCache<struct DATETIME_FORMAT_ENTRY>(void) __ptr64
-??0?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA@XZ
-; public: __cdecl CDataCache<class CDateTime>::CDataCache<class CDateTime>(void) __ptr64
-??0?$CDataCache@VCDateTime@@@@QEAA@XZ
-; public: __cdecl ALLOC_CACHE_HANDLER::ALLOC_CACHE_HANDLER(char const * __ptr64,struct _ALLOC_CACHE_CONFIGURATION const * __ptr64,int) __ptr64
-??0ALLOC_CACHE_HANDLER@@QEAA@PEBDPEBU_ALLOC_CACHE_CONFIGURATION@@H@Z
-; public: __cdecl ASCLOG_DATETIME_CACHE::ASCLOG_DATETIME_CACHE(void) __ptr64
-??0ASCLOG_DATETIME_CACHE@@QEAA@XZ
-; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
-??0BUFFER@@QEAA@I@Z
-; public: __cdecl BUFFER::BUFFER(unsigned char * __ptr64,unsigned int) __ptr64
-??0BUFFER@@QEAA@PEAEI@Z
-; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
-??0BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
-??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
-; public: __cdecl CACHED_DATETIME_FORMATS::CACHED_DATETIME_FORMATS(void) __ptr64
-??0CACHED_DATETIME_FORMATS@@QEAA@XZ
-; public: __cdecl CCritSec::CCritSec(void) __ptr64
-??0CCritSec@@QEAA@XZ
-; public: __cdecl CDFTCache::CDFTCache(void) __ptr64
-??0CDFTCache@@QEAA@XZ
-; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64) __ptr64
-??0CDateTime@@QEAA@AEBU_FILETIME@@@Z
-; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64,struct _SYSTEMTIME const & __ptr64) __ptr64
-??0CDateTime@@QEAA@AEBU_FILETIME@@AEBU_SYSTEMTIME@@@Z
-; public: __cdecl CDateTime::CDateTime(struct _SYSTEMTIME const & __ptr64) __ptr64
-??0CDateTime@@QEAA@AEBU_SYSTEMTIME@@@Z
-; public: __cdecl CDateTime::CDateTime(void) __ptr64
-??0CDateTime@@QEAA@XZ
-; public: __cdecl CDoubleList::CDoubleList(void) __ptr64
-??0CDoubleList@@QEAA@XZ
-; public: __cdecl CEtwTracer::CEtwTracer(void) __ptr64
-??0CEtwTracer@@QEAA@XZ
-; public: __cdecl CFakeLock::CFakeLock(void) __ptr64
-??0CFakeLock@@QEAA@XZ
-; public: __cdecl CHUNK_BUFFER::CHUNK_BUFFER(void) __ptr64
-??0CHUNK_BUFFER@@QEAA@XZ
-; public: __cdecl CLKRHashTable::CLKRHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
-??0CLKRHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
-; public: __cdecl CLKRHashTableStats::CLKRHashTableStats(void) __ptr64
-??0CLKRHashTableStats@@QEAA@XZ
-; protected: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable * __ptr64,short) __ptr64
-??0CLKRHashTable_Iterator@@IEAA@PEAVCLKRHashTable@@F@Z
-; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable_Iterator const & __ptr64) __ptr64
-??0CLKRHashTable_Iterator@@QEAA@AEBV0@@Z
-; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(void) __ptr64
-??0CLKRHashTable_Iterator@@QEAA@XZ
-; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool) __ptr64
-??0CLKRLinearHashTable@@AEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAVCLKRHashTable@@_N@Z
-; public: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
-??0CLKRLinearHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
-; protected: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable * __ptr64,class CNodeClump * __ptr64,unsigned long,short) __ptr64
-??0CLKRLinearHashTable_Iterator@@IEAA@PEAVCLKRLinearHashTable@@PEAVCNodeClump@@KF@Z
-; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
-??0CLKRLinearHashTable_Iterator@@QEAA@AEBV0@@Z
-; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(void) __ptr64
-??0CLKRLinearHashTable_Iterator@@QEAA@XZ
-; public: __cdecl CLockedDoubleList::CLockedDoubleList(void) __ptr64
-??0CLockedDoubleList@@QEAA@XZ
-; public: __cdecl CLockedSingleList::CLockedSingleList(void) __ptr64
-??0CLockedSingleList@@QEAA@XZ
-; public: __cdecl CReaderWriterLock2::CReaderWriterLock2(void) __ptr64
-??0CReaderWriterLock2@@QEAA@XZ
-; public: __cdecl CReaderWriterLock3::CReaderWriterLock3(void) __ptr64
-??0CReaderWriterLock3@@QEAA@XZ
-; public: __cdecl CReaderWriterLock::CReaderWriterLock(void) __ptr64
-??0CReaderWriterLock@@QEAA@XZ
-; public: __cdecl CRtlResource::CRtlResource(void) __ptr64
-??0CRtlResource@@QEAA@XZ
-; public: __cdecl CSecurityDispenser::CSecurityDispenser(void) __ptr64
-??0CSecurityDispenser@@QEAA@XZ
-; public: __cdecl CShareLock::CShareLock(void) __ptr64
-??0CShareLock@@QEAA@XZ
-; public: __cdecl CSharelock::CSharelock(int,int) __ptr64
-??0CSharelock@@QEAA@HH@Z
-; public: __cdecl CSingleList::CSingleList(void) __ptr64
-??0CSingleList@@QEAA@XZ
-; public: __cdecl CSmallSpinLock::CSmallSpinLock(void) __ptr64
-??0CSmallSpinLock@@QEAA@XZ
-; public: __cdecl CSpinLock::CSpinLock(void) __ptr64
-??0CSpinLock@@QEAA@XZ
-; public: __cdecl EVENT_LOG::EVENT_LOG(unsigned short const * __ptr64) __ptr64
-??0EVENT_LOG@@QEAA@PEBG@Z
-; public: __cdecl EXTLOG_DATETIME_CACHE::EXTLOG_DATETIME_CACHE(void) __ptr64
-??0EXTLOG_DATETIME_CACHE@@QEAA@XZ
-; private: __cdecl IPM_MESSAGE_PIPE::IPM_MESSAGE_PIPE(void) __ptr64
-??0IPM_MESSAGE_PIPE@@AEAA@XZ
-; public: __cdecl MB::MB(struct IMSAdminBaseW * __ptr64) __ptr64
-??0MB@@QEAA@PEAUIMSAdminBaseW@@@Z
-; public: __cdecl MB_BASE_NOTIFICATION_SINK::MB_BASE_NOTIFICATION_SINK(void) __ptr64
-??0MB_BASE_NOTIFICATION_SINK@@QEAA@XZ
-; public: __cdecl MULTISZ::MULTISZ(class MULTISZ const & __ptr64) __ptr64
-??0MULTISZ@@QEAA@AEBV0@@Z
-; public: __cdecl MULTISZ::MULTISZ(unsigned short * __ptr64,unsigned long) __ptr64
-??0MULTISZ@@QEAA@PEAGK@Z
-; public: __cdecl MULTISZ::MULTISZ(unsigned short const * __ptr64) __ptr64
-??0MULTISZ@@QEAA@PEBG@Z
-; public: __cdecl MULTISZ::MULTISZ(void) __ptr64
-??0MULTISZ@@QEAA@XZ
-; public: __cdecl MULTISZA::MULTISZA(class MULTISZA const & __ptr64) __ptr64
-??0MULTISZA@@QEAA@AEBV0@@Z
-; public: __cdecl MULTISZA::MULTISZA(char * __ptr64,unsigned long) __ptr64
-??0MULTISZA@@QEAA@PEADK@Z
-; public: __cdecl MULTISZA::MULTISZA(char const * __ptr64) __ptr64
-??0MULTISZA@@QEAA@PEBD@Z
-; public: __cdecl MULTISZA::MULTISZA(void) __ptr64
-??0MULTISZA@@QEAA@XZ
-; private: __cdecl STRA::STRA(class STRA const & __ptr64) __ptr64
-??0STRA@@AEAA@AEBV0@@Z
-; private: __cdecl STRA::STRA(char * __ptr64) __ptr64
-??0STRA@@AEAA@PEAD@Z
-; private: __cdecl STRA::STRA(char const * __ptr64) __ptr64
-??0STRA@@AEAA@PEBD@Z
-; public: __cdecl STRA::STRA(char * __ptr64,unsigned long) __ptr64
-??0STRA@@QEAA@PEADK@Z
-; public: __cdecl STRA::STRA(void) __ptr64
-??0STRA@@QEAA@XZ
-; public: __cdecl STRAU::STRAU(class STRAU & __ptr64) __ptr64
-??0STRAU@@QEAA@AEAV0@@Z
-; public: __cdecl STRAU::STRAU(char const * __ptr64) __ptr64
-??0STRAU@@QEAA@PEBD@Z
-; public: __cdecl STRAU::STRAU(char const * __ptr64,int) __ptr64
-??0STRAU@@QEAA@PEBDH@Z
-; public: __cdecl STRAU::STRAU(unsigned short const * __ptr64) __ptr64
-??0STRAU@@QEAA@PEBG@Z
-; public: __cdecl STRAU::STRAU(void) __ptr64
-??0STRAU@@QEAA@XZ
-; private: __cdecl STRU::STRU(class STRU const & __ptr64) __ptr64
-??0STRU@@AEAA@AEBV0@@Z
-; private: __cdecl STRU::STRU(unsigned short * __ptr64) __ptr64
-??0STRU@@AEAA@PEAG@Z
-; private: __cdecl STRU::STRU(unsigned short const * __ptr64) __ptr64
-??0STRU@@AEAA@PEBG@Z
-; public: __cdecl STRU::STRU(unsigned short * __ptr64,unsigned long) __ptr64
-??0STRU@@QEAA@PEAGK@Z
-; public: __cdecl STRU::STRU(void) __ptr64
-??0STRU@@QEAA@XZ
-; public: __cdecl TS_RESOURCE::TS_RESOURCE(void) __ptr64
-??0TS_RESOURCE@@QEAA@XZ
-; public: __cdecl W3_DATETIME_CACHE::W3_DATETIME_CACHE(void) __ptr64
-??0W3_DATETIME_CACHE@@QEAA@XZ
-; public: __cdecl W3_TRACE_LOG::W3_TRACE_LOG(class W3_TRACE_LOG_FACTORY * __ptr64) __ptr64
-??0W3_TRACE_LOG@@QEAA@PEAVW3_TRACE_LOG_FACTORY@@@Z
-; private: __cdecl W3_TRACE_LOG_FACTORY::W3_TRACE_LOG_FACTORY(void) __ptr64
-??0W3_TRACE_LOG_FACTORY@@AEAA@XZ
-; public: __cdecl ALLOC_CACHE_HANDLER::~ALLOC_CACHE_HANDLER(void) __ptr64
-??1ALLOC_CACHE_HANDLER@@QEAA@XZ
-; public: virtual __cdecl ASCLOG_DATETIME_CACHE::~ASCLOG_DATETIME_CACHE(void) __ptr64
-??1ASCLOG_DATETIME_CACHE@@UEAA@XZ
-; public: __cdecl BUFFER::~BUFFER(void) __ptr64
-??1BUFFER@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
-??1BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
-??1BUFFER_CHAIN_ITEM@@QEAA@XZ
-; public: virtual __cdecl CACHED_DATETIME_FORMATS::~CACHED_DATETIME_FORMATS(void) __ptr64
-??1CACHED_DATETIME_FORMATS@@UEAA@XZ
-; public: __cdecl CCritSec::~CCritSec(void) __ptr64
-??1CCritSec@@QEAA@XZ
-; public: __cdecl CDoubleList::~CDoubleList(void) __ptr64
-??1CDoubleList@@QEAA@XZ
-; public: __cdecl CEtwTracer::~CEtwTracer(void) __ptr64
-??1CEtwTracer@@QEAA@XZ
-; public: __cdecl CFakeLock::~CFakeLock(void) __ptr64
-??1CFakeLock@@QEAA@XZ
-; public: __cdecl CHUNK_BUFFER::~CHUNK_BUFFER(void) __ptr64
-??1CHUNK_BUFFER@@QEAA@XZ
-; public: __cdecl CLKRHashTable::~CLKRHashTable(void) __ptr64
-??1CLKRHashTable@@QEAA@XZ
-; public: __cdecl CLKRHashTable_Iterator::~CLKRHashTable_Iterator(void) __ptr64
-??1CLKRHashTable_Iterator@@QEAA@XZ
-; public: __cdecl CLKRLinearHashTable::~CLKRLinearHashTable(void) __ptr64
-??1CLKRLinearHashTable@@QEAA@XZ
-; public: __cdecl CLKRLinearHashTable_Iterator::~CLKRLinearHashTable_Iterator(void) __ptr64
-??1CLKRLinearHashTable_Iterator@@QEAA@XZ
-; public: __cdecl CLockedDoubleList::~CLockedDoubleList(void) __ptr64
-??1CLockedDoubleList@@QEAA@XZ
-; public: __cdecl CLockedSingleList::~CLockedSingleList(void) __ptr64
-??1CLockedSingleList@@QEAA@XZ
-; public: __cdecl CRtlResource::~CRtlResource(void) __ptr64
-??1CRtlResource@@QEAA@XZ
-; public: __cdecl CSecurityDispenser::~CSecurityDispenser(void) __ptr64
-??1CSecurityDispenser@@QEAA@XZ
-; public: __cdecl CShareLock::~CShareLock(void) __ptr64
-??1CShareLock@@QEAA@XZ
-; public: __cdecl CSharelock::~CSharelock(void) __ptr64
-??1CSharelock@@QEAA@XZ
-; public: __cdecl CSingleList::~CSingleList(void) __ptr64
-??1CSingleList@@QEAA@XZ
-; public: __cdecl EVENT_LOG::~EVENT_LOG(void) __ptr64
-??1EVENT_LOG@@QEAA@XZ
-; public: virtual __cdecl EXTLOG_DATETIME_CACHE::~EXTLOG_DATETIME_CACHE(void) __ptr64
-??1EXTLOG_DATETIME_CACHE@@UEAA@XZ
-; private: __cdecl IPM_MESSAGE_PIPE::~IPM_MESSAGE_PIPE(void) __ptr64
-??1IPM_MESSAGE_PIPE@@AEAA@XZ
-; public: __cdecl MB::~MB(void) __ptr64
-??1MB@@QEAA@XZ
-; public: virtual __cdecl MB_BASE_NOTIFICATION_SINK::~MB_BASE_NOTIFICATION_SINK(void) __ptr64
-??1MB_BASE_NOTIFICATION_SINK@@UEAA@XZ
-; public: __cdecl MULTISZ::~MULTISZ(void) __ptr64
-??1MULTISZ@@QEAA@XZ
-; public: __cdecl MULTISZA::~MULTISZA(void) __ptr64
-??1MULTISZA@@QEAA@XZ
-; public: __cdecl STRA::~STRA(void) __ptr64
-??1STRA@@QEAA@XZ
-; public: __cdecl STRAU::~STRAU(void) __ptr64
-??1STRAU@@QEAA@XZ
-; public: __cdecl STRU::~STRU(void) __ptr64
-??1STRU@@QEAA@XZ
-; public: __cdecl TS_RESOURCE::~TS_RESOURCE(void) __ptr64
-??1TS_RESOURCE@@QEAA@XZ
-; public: virtual __cdecl W3_DATETIME_CACHE::~W3_DATETIME_CACHE(void) __ptr64
-??1W3_DATETIME_CACHE@@UEAA@XZ
-; private: __cdecl W3_TRACE_LOG::~W3_TRACE_LOG(void) __ptr64
-??1W3_TRACE_LOG@@AEAA@XZ
-; private: __cdecl W3_TRACE_LOG_FACTORY::~W3_TRACE_LOG_FACTORY(void) __ptr64
-??1W3_TRACE_LOG_FACTORY@@AEAA@XZ
-; public: static void * __ptr64 __cdecl CLKRLinearHashTable::operator new(unsigned __int64)
-??2CLKRLinearHashTable@@SAPEAX_K@Z
-; public: static void __cdecl CLKRLinearHashTable::operator delete(void * __ptr64)
-??3CLKRLinearHashTable@@SAXPEAX@Z
-; public: class CDataCache<struct DATETIME_FORMAT_ENTRY> & __ptr64 __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::operator=(class CDataCache<struct DATETIME_FORMAT_ENTRY> const & __ptr64) __ptr64
-??4?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CDataCache<class CDateTime> & __ptr64 __cdecl CDataCache<class CDateTime>::operator=(class CDataCache<class CDateTime> const & __ptr64) __ptr64
-??4?$CDataCache@VCDateTime@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<1,1,3,1,3,2> & __ptr64 __cdecl CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$00$00$02$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<2,1,1,1,3,2> & __ptr64 __cdecl CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$01$00$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<3,1,1,1,1,1> & __ptr64 __cdecl CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const & __ptr64) __ptr64
-??4?$CLockBase@$02$00$00$00$00$00@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<4,1,1,2,3,3> & __ptr64 __cdecl CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const & __ptr64) __ptr64
-??4?$CLockBase@$03$00$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<5,2,1,2,3,3> & __ptr64 __cdecl CLockBase<5,2,1,2,3,3>::operator=(class CLockBase<5,2,1,2,3,3> const & __ptr64) __ptr64
-??4?$CLockBase@$04$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<6,2,1,2,3,3> & __ptr64 __cdecl CLockBase<6,2,1,2,3,3>::operator=(class CLockBase<6,2,1,2,3,3> const & __ptr64) __ptr64
-??4?$CLockBase@$05$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<7,2,2,1,3,2> & __ptr64 __cdecl CLockBase<7,2,2,1,3,2>::operator=(class CLockBase<7,2,2,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$06$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<8,2,2,1,3,2> & __ptr64 __cdecl CLockBase<8,2,2,1,3,2>::operator=(class CLockBase<8,2,2,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$07$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<9,2,1,1,3,2> & __ptr64 __cdecl CLockBase<9,2,1,1,3,2>::operator=(class CLockBase<9,2,1,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$08$01$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class ALLOC_CACHE_HANDLER & __ptr64 __cdecl ALLOC_CACHE_HANDLER::operator=(class ALLOC_CACHE_HANDLER const & __ptr64) __ptr64
-??4ALLOC_CACHE_HANDLER@@QEAAAEAV0@AEBV0@@Z
-; public: class BUFFER & __ptr64 __cdecl BUFFER::operator=(class BUFFER const & __ptr64) __ptr64
-??4BUFFER@@QEAAAEAV0@AEBV0@@Z
-; public: class BUFFER_CHAIN & __ptr64 __cdecl BUFFER_CHAIN::operator=(class BUFFER_CHAIN const & __ptr64) __ptr64
-??4BUFFER_CHAIN@@QEAAAEAV0@AEBV0@@Z
-; public: class BUFFER_CHAIN_ITEM & __ptr64 __cdecl BUFFER_CHAIN_ITEM::operator=(class BUFFER_CHAIN_ITEM const & __ptr64) __ptr64
-??4BUFFER_CHAIN_ITEM@@QEAAAEAV0@AEBV0@@Z
-; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
-??4CCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CDFTCache & __ptr64 __cdecl CDFTCache::operator=(class CDFTCache const & __ptr64) __ptr64
-??4CDFTCache@@QEAAAEAV0@AEBV0@@Z
-; public: class CDateTime & __ptr64 __cdecl CDateTime::operator=(class CDateTime const & __ptr64) __ptr64
-??4CDateTime@@QEAAAEAV0@AEBV0@@Z
-; public: class CDoubleList & __ptr64 __cdecl CDoubleList::operator=(class CDoubleList const & __ptr64) __ptr64
-??4CDoubleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CFakeLock & __ptr64 __cdecl CFakeLock::operator=(class CFakeLock const & __ptr64) __ptr64
-??4CFakeLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CHUNK_BUFFER & __ptr64 __cdecl CHUNK_BUFFER::operator=(class CHUNK_BUFFER const & __ptr64) __ptr64
-??4CHUNK_BUFFER@@QEAAAEAV0@AEBV0@@Z
-; public: class CLKRHashTableStats & __ptr64 __cdecl CLKRHashTableStats::operator=(class CLKRHashTableStats const & __ptr64) __ptr64
-??4CLKRHashTableStats@@QEAAAEAV0@AEBV0@@Z
-; public: class CLKRHashTable_Iterator & __ptr64 __cdecl CLKRHashTable_Iterator::operator=(class CLKRHashTable_Iterator const & __ptr64) __ptr64
-??4CLKRHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
-; public: class CLKRLinearHashTable_Iterator & __ptr64 __cdecl CLKRLinearHashTable_Iterator::operator=(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
-??4CLKRLinearHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockedDoubleList & __ptr64 __cdecl CLockedDoubleList::operator=(class CLockedDoubleList const & __ptr64) __ptr64
-??4CLockedDoubleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockedSingleList & __ptr64 __cdecl CLockedSingleList::operator=(class CLockedSingleList const & __ptr64) __ptr64
-??4CLockedSingleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CReaderWriterLock2 & __ptr64 __cdecl CReaderWriterLock2::operator=(class CReaderWriterLock2 const & __ptr64) __ptr64
-??4CReaderWriterLock2@@QEAAAEAV0@AEBV0@@Z
-; public: class CReaderWriterLock3 & __ptr64 __cdecl CReaderWriterLock3::operator=(class CReaderWriterLock3 const & __ptr64) __ptr64
-??4CReaderWriterLock3@@QEAAAEAV0@AEBV0@@Z
-; public: class CReaderWriterLock & __ptr64 __cdecl CReaderWriterLock::operator=(class CReaderWriterLock const & __ptr64) __ptr64
-??4CReaderWriterLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CRtlResource & __ptr64 __cdecl CRtlResource::operator=(class CRtlResource const & __ptr64) __ptr64
-??4CRtlResource@@QEAAAEAV0@AEBV0@@Z
-; public: class CSecurityDispenser & __ptr64 __cdecl CSecurityDispenser::operator=(class CSecurityDispenser const & __ptr64) __ptr64
-??4CSecurityDispenser@@QEAAAEAV0@AEBV0@@Z
-; public: class CSingleList & __ptr64 __cdecl CSingleList::operator=(class CSingleList const & __ptr64) __ptr64
-??4CSingleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CSmallSpinLock & __ptr64 __cdecl CSmallSpinLock::operator=(class CSmallSpinLock const & __ptr64) __ptr64
-??4CSmallSpinLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CSpinLock & __ptr64 __cdecl CSpinLock::operator=(class CSpinLock const & __ptr64) __ptr64
-??4CSpinLock@@QEAAAEAV0@AEBV0@@Z
-; public: struct DATETIME_FORMAT_ENTRY & __ptr64 __cdecl DATETIME_FORMAT_ENTRY::operator=(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
-??4DATETIME_FORMAT_ENTRY@@QEAAAEAU0@AEBU0@@Z
-; public: class EVENT_LOG & __ptr64 __cdecl EVENT_LOG::operator=(class EVENT_LOG const & __ptr64) __ptr64
-??4EVENT_LOG@@QEAAAEAV0@AEBV0@@Z
-; public: class IPM_MESSAGE_PIPE & __ptr64 __cdecl IPM_MESSAGE_PIPE::operator=(class IPM_MESSAGE_PIPE const & __ptr64) __ptr64
-??4IPM_MESSAGE_PIPE@@QEAAAEAV0@AEBV0@@Z
-; public: class MB & __ptr64 __cdecl MB::operator=(class MB const & __ptr64) __ptr64
-??4MB@@QEAAAEAV0@AEBV0@@Z
-; public: class MULTISZ & __ptr64 __cdecl MULTISZ::operator=(class MULTISZ const & __ptr64) __ptr64
-??4MULTISZ@@QEAAAEAV0@AEBV0@@Z
-; public: class MULTISZA & __ptr64 __cdecl MULTISZA::operator=(class MULTISZA const & __ptr64) __ptr64
-??4MULTISZA@@QEAAAEAV0@AEBV0@@Z
-; private: class STRA & __ptr64 __cdecl STRA::operator=(class STRA const & __ptr64) __ptr64
-??4STRA@@AEAAAEAV0@AEBV0@@Z
-; public: class STRAU & __ptr64 __cdecl STRAU::operator=(class STRAU const & __ptr64) __ptr64
-??4STRAU@@QEAAAEAV0@AEBV0@@Z
-; private: class STRU & __ptr64 __cdecl STRU::operator=(class STRU const & __ptr64) __ptr64
-??4STRU@@AEAAAEAV0@AEBV0@@Z
-; public: class TS_RESOURCE & __ptr64 __cdecl TS_RESOURCE::operator=(class TS_RESOURCE const & __ptr64) __ptr64
-??4TS_RESOURCE@@QEAAAEAV0@AEBV0@@Z
-; public: class W3_TRACE_LOG & __ptr64 __cdecl W3_TRACE_LOG::operator=(class W3_TRACE_LOG const & __ptr64) __ptr64
-??4W3_TRACE_LOG@@QEAAAEAV0@AEBV0@@Z
-; public: class W3_TRACE_LOG_FACTORY & __ptr64 __cdecl W3_TRACE_LOG_FACTORY::operator=(class W3_TRACE_LOG_FACTORY const & __ptr64) __ptr64
-??4W3_TRACE_LOG_FACTORY@@QEAAAEAV0@AEBV0@@Z
-; public: bool __cdecl CLKRHashTable_Iterator::operator==(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
-??8CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
-; public: bool __cdecl CLKRLinearHashTable_Iterator::operator==(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
-??8CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
-; public: bool __cdecl CLKRHashTable_Iterator::operator!=(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
-??9CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
-; public: bool __cdecl CLKRLinearHashTable_Iterator::operator!=(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
-??9CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
-; const  ASCLOG_DATETIME_CACHE::`vftable'
-??_7ASCLOG_DATETIME_CACHE@@6B@
-; const  CACHED_DATETIME_FORMATS::`vftable'
-??_7CACHED_DATETIME_FORMATS@@6B@
-; const  EXTLOG_DATETIME_CACHE::`vftable'
-??_7EXTLOG_DATETIME_CACHE@@6B@
-; const  W3_DATETIME_CACHE::`vftable'
-??_7W3_DATETIME_CACHE@@6B@
-; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
-??_FBUFFER@@QEAAXXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
-??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
-; public: void __cdecl CSharelock::`default constructor closure'(void) __ptr64
-??_FCSharelock@@QEAAXXZ
-ACopyToW
-; public: int __cdecl CSharelock::ActiveUsers(void) __ptr64
-?ActiveUsers@CSharelock@@QEAAHXZ
-; private: long __cdecl CHUNK_BUFFER::AddNewBlock(unsigned long) __ptr64
-?AddNewBlock@CHUNK_BUFFER@@AEAAJK@Z
-; public: int __cdecl MB::AddObject(unsigned short const * __ptr64) __ptr64
-?AddObject@MB@@QEAAHPEBG@Z
-; public: virtual unsigned long __cdecl MB_BASE_NOTIFICATION_SINK::AddRef(void) __ptr64
-?AddRef@MB_BASE_NOTIFICATION_SINK@@UEAAKXZ
-AddWpgToTokenDefaultDacl
-; public: unsigned long __cdecl CSecurityDispenser::AdjustTokenForAdministrators(void * __ptr64) __ptr64
-?AdjustTokenForAdministrators@CSecurityDispenser@@QEAAKPEAX@Z
-; public: void * __ptr64 __cdecl ALLOC_CACHE_HANDLER::Alloc(void) __ptr64
-?Alloc@ALLOC_CACHE_HANDLER@@QEAAPEAXXZ
-AllocateAndCreateWellKnownAcl
-AllocateAndCreateWellKnownSid
-; public: long __cdecl CHUNK_BUFFER::AllocateSpace(unsigned long,char * __ptr64 * __ptr64) __ptr64
-?AllocateSpace@CHUNK_BUFFER@@QEAAJKPEAPEAD@Z
-; public: long __cdecl CHUNK_BUFFER::AllocateSpace(unsigned long,unsigned short * __ptr64 * __ptr64) __ptr64
-?AllocateSpace@CHUNK_BUFFER@@QEAAJKPEAPEAG@Z
-; public: long __cdecl CHUNK_BUFFER::AllocateSpace(unsigned long,void * __ptr64 * __ptr64) __ptr64
-?AllocateSpace@CHUNK_BUFFER@@QEAAJKPEAPEAX@Z
-; public: long __cdecl CHUNK_BUFFER::AllocateSpace(char * __ptr64,unsigned long,char * __ptr64 * __ptr64) __ptr64
-?AllocateSpace@CHUNK_BUFFER@@QEAAJPEADKPEAPEAD@Z
-; public: long __cdecl CHUNK_BUFFER::AllocateSpace(unsigned short * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64) __ptr64
-?AllocateSpace@CHUNK_BUFFER@@QEAAJPEAGKPEAPEAG@Z
-AlterDesktopForUser
-; public: int __cdecl MULTISZ::Append(class STRU & __ptr64) __ptr64
-?Append@MULTISZ@@QEAAHAEAVSTRU@@@Z
-; public: int __cdecl MULTISZ::Append(unsigned short const * __ptr64) __ptr64
-?Append@MULTISZ@@QEAAHPEBG@Z
-; public: int __cdecl MULTISZ::Append(unsigned short const * __ptr64,unsigned long) __ptr64
-?Append@MULTISZ@@QEAAHPEBGK@Z
-; public: int __cdecl MULTISZA::Append(class STRA & __ptr64) __ptr64
-?Append@MULTISZA@@QEAAHAEAVSTRA@@@Z
-; public: int __cdecl MULTISZA::Append(char const * __ptr64) __ptr64
-?Append@MULTISZA@@QEAAHPEBD@Z
-; public: int __cdecl MULTISZA::Append(char const * __ptr64,unsigned long) __ptr64
-?Append@MULTISZA@@QEAAHPEBDK@Z
-; public: long __cdecl STRA::Append(class STRA const & __ptr64) __ptr64
-?Append@STRA@@QEAAJAEBV1@@Z
-; public: long __cdecl STRA::Append(char const * __ptr64) __ptr64
-?Append@STRA@@QEAAJPEBD@Z
-; public: long __cdecl STRA::Append(char const * __ptr64,unsigned long) __ptr64
-?Append@STRA@@QEAAJPEBDK@Z
-; public: int __cdecl STRAU::Append(class STRAU & __ptr64) __ptr64
-?Append@STRAU@@QEAAHAEAV1@@Z
-; public: int __cdecl STRAU::Append(char const * __ptr64) __ptr64
-?Append@STRAU@@QEAAHPEBD@Z
-; public: int __cdecl STRAU::Append(char const * __ptr64,unsigned long) __ptr64
-?Append@STRAU@@QEAAHPEBDK@Z
-; public: int __cdecl STRAU::Append(unsigned short const * __ptr64) __ptr64
-?Append@STRAU@@QEAAHPEBG@Z
-; public: int __cdecl STRAU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
-?Append@STRAU@@QEAAHPEBGK@Z
-; public: long __cdecl STRU::Append(class STRU const & __ptr64) __ptr64
-?Append@STRU@@QEAAJAEBV1@@Z
-; public: long __cdecl STRU::Append(unsigned short const * __ptr64) __ptr64
-?Append@STRU@@QEAAJPEBG@Z
-; public: long __cdecl STRU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
-?Append@STRU@@QEAAJPEBGK@Z
-; public: long __cdecl STRU::AppendA(char const * __ptr64) __ptr64
-?AppendA@STRU@@QEAAJPEBD@Z
-; public: int __cdecl BUFFER_CHAIN::AppendBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
-?AppendBuffer@BUFFER_CHAIN@@QEAAHPEAVBUFFER_CHAIN_ITEM@@@Z
-; public: long __cdecl W3_TRACE_LOG_FACTORY::AppendData(void * __ptr64,unsigned long) __ptr64
-?AppendData@W3_TRACE_LOG_FACTORY@@QEAAJPEAXK@Z
-; public: int __cdecl MULTISZA::AppendW(unsigned short const * __ptr64) __ptr64
-?AppendW@MULTISZA@@QEAAHPEBG@Z
-; public: int __cdecl MULTISZA::AppendW(unsigned short const * __ptr64,unsigned long) __ptr64
-?AppendW@MULTISZA@@QEAAHPEBGK@Z
-; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64) __ptr64
-?AppendW@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64,unsigned long) __ptr64
-?AppendW@STRA@@QEAAJPEBGK@Z
-; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64) __ptr64
-?AppendWTruncate@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
-?AppendWTruncate@STRA@@QEAAJPEBGK@Z
-; public: unsigned long __cdecl CLKRHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?Apply@CLKRHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CLKRLinearHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?Apply@CLKRLinearHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?ApplyIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?ApplyIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
-; private: int __cdecl MULTISZ::AuxAppend(unsigned short const * __ptr64,unsigned int,int) __ptr64
-?AuxAppend@MULTISZ@@AEAAHPEBGIH@Z
-; private: int __cdecl MULTISZA::AuxAppend(unsigned char const * __ptr64,unsigned int,int) __ptr64
-?AuxAppend@MULTISZA@@AEAAHPEBEIH@Z
-; private: long __cdecl STRA::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppend@STRA@@AEAAJPEBEKKH@Z
-; private: int __cdecl STRAU::AuxAppend(char const * __ptr64,unsigned int,int) __ptr64
-?AuxAppend@STRAU@@AEAAHPEBDIH@Z
-; private: int __cdecl STRAU::AuxAppend(unsigned short const * __ptr64,unsigned int,int) __ptr64
-?AuxAppend@STRAU@@AEAAHPEBGIH@Z
-; private: long __cdecl STRU::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppend@STRU@@AEAAJPEBEKKH@Z
-; private: long __cdecl STRU::AuxAppendA(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppendA@STRU@@AEAAJPEBEKKH@Z
-; private: int __cdecl MULTISZA::AuxAppendW(unsigned short const * __ptr64,unsigned int,int) __ptr64
-?AuxAppendW@MULTISZA@@AEAAHPEBGIH@Z
-; private: long __cdecl STRA::AuxAppendW(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppendW@STRA@@AEAAJPEBGKKH@Z
-; private: long __cdecl STRA::AuxAppendWTruncate(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
-?AuxAppendWTruncate@STRA@@AEAAJPEBGKKH@Z
-; private: void __cdecl MULTISZ::AuxInit(unsigned short const * __ptr64) __ptr64
-?AuxInit@MULTISZ@@AEAAXPEBG@Z
-; private: void __cdecl MULTISZA::AuxInit(unsigned char const * __ptr64) __ptr64
-?AuxInit@MULTISZA@@AEAAXPEBE@Z
-; private: void __cdecl STRAU::AuxInit(char const * __ptr64) __ptr64
-?AuxInit@STRAU@@AEAAXPEBD@Z
-; private: void __cdecl STRAU::AuxInit(unsigned short const * __ptr64) __ptr64
-?AuxInit@STRAU@@AEAAXPEBG@Z
-; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::Begin(void) __ptr64
-?Begin@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
-; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::Begin(void) __ptr64
-?Begin@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
-; public: static long __cdecl CLKRHashTableStats::BucketIndex(long)
-?BucketIndex@CLKRHashTableStats@@SAJJ@Z
-; public: static long __cdecl CLKRHashTableStats::BucketSize(long)
-?BucketSize@CLKRHashTableStats@@SAJJ@Z
-; public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)
-?BucketSizes@CLKRHashTableStats@@SAPEBJXZ
-; public: static unsigned long __cdecl MULTISZ::CalcLength(unsigned short const * __ptr64,unsigned long * __ptr64)
-?CalcLength@MULTISZ@@SAKPEBGPEAK@Z
-; public: static unsigned long __cdecl MULTISZA::CalcLength(char const * __ptr64,unsigned long * __ptr64)
-?CalcLength@MULTISZA@@SAKPEBDPEAK@Z
-; public: unsigned long __cdecl BUFFER_CHAIN::CalcTotalSize(int)const  __ptr64
-?CalcTotalSize@BUFFER_CHAIN@@QEBAKH@Z
-; public: void __cdecl CSharelock::ChangeExclusiveLockToSharedLock(void) __ptr64
-?ChangeExclusiveLockToSharedLock@CSharelock@@QEAAXXZ
-; public: unsigned char __cdecl CSharelock::ChangeSharedLockToExclusiveLock(int) __ptr64
-?ChangeSharedLockToExclusiveLock@CSharelock@@QEAAEH@Z
-; public: int __cdecl CLKRHashTable::CheckTable(void)const  __ptr64
-?CheckTable@CLKRHashTable@@QEBAHXZ
-; public: int __cdecl CLKRLinearHashTable::CheckTable(void)const  __ptr64
-?CheckTable@CLKRLinearHashTable@@QEBAHXZ
-; public: unsigned char __cdecl CSharelock::ClaimExclusiveLock(int) __ptr64
-?ClaimExclusiveLock@CSharelock@@QEAAEH@Z
-; public: unsigned char __cdecl CSharelock::ClaimShareLock(int) __ptr64
-?ClaimShareLock@CSharelock@@QEAAEH@Z
-; public: static unsigned short const * __ptr64 __cdecl CCritSec::ClassName(void)
-?ClassName@CCritSec@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CFakeLock::ClassName(void)
-?ClassName@CFakeLock@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CLKRHashTable::ClassName(void)
-?ClassName@CLKRHashTable@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CLKRLinearHashTable::ClassName(void)
-?ClassName@CLKRLinearHashTable@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
-?ClassName@CReaderWriterLock2@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
-?ClassName@CReaderWriterLock3@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
-?ClassName@CReaderWriterLock@@SAPEBGXZ
-; public: static char const * __ptr64 __cdecl CRtlResource::ClassName(void)
-?ClassName@CRtlResource@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CShareLock::ClassName(void)
-?ClassName@CShareLock@@SAPEBDXZ
-; public: static unsigned short const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
-?ClassName@CSmallSpinLock@@SAPEBGXZ
-; public: static unsigned short const * __ptr64 __cdecl CSpinLock::ClassName(void)
-?ClassName@CSpinLock@@SAPEBGXZ
-; public: static int __cdecl ALLOC_CACHE_HANDLER::Cleanup(void)
-?Cleanup@ALLOC_CACHE_HANDLER@@SAHXZ
-; public: static void __cdecl ALLOC_CACHE_HANDLER::CleanupAllLookasides(void * __ptr64,unsigned char)
-?CleanupAllLookasides@ALLOC_CACHE_HANDLER@@SAXPEAXE@Z
-; public: void __cdecl ALLOC_CACHE_HANDLER::CleanupLookaside(int) __ptr64
-?CleanupLookaside@ALLOC_CACHE_HANDLER@@QEAAXH@Z
-; public: void __cdecl CLKRHashTable::Clear(void) __ptr64
-?Clear@CLKRHashTable@@QEAAXXZ
-; public: void __cdecl CLKRLinearHashTable::Clear(void) __ptr64
-?Clear@CLKRLinearHashTable@@QEAAXXZ
-; public: void __cdecl W3_TRACE_LOG::ClearBuffer(void) __ptr64
-?ClearBuffer@W3_TRACE_LOG@@QEAAXXZ
-; public: int __cdecl MULTISZ::Clone(class MULTISZ * __ptr64)const  __ptr64
-?Clone@MULTISZ@@QEBAHPEAV1@@Z
-; public: int __cdecl MULTISZA::Clone(class MULTISZA * __ptr64)const  __ptr64
-?Clone@MULTISZA@@QEBAHPEAV1@@Z
-; public: long __cdecl STRA::Clone(class STRA * __ptr64)const  __ptr64
-?Clone@STRA@@QEBAJPEAV1@@Z
-; public: int __cdecl MB::Close(void) __ptr64
-?Close@MB@@QEAAHXZ
-CompareStringNoCase
-; public: void __cdecl TS_RESOURCE::Convert(enum TSRES_CONV_TYPE) __ptr64
-?Convert@TS_RESOURCE@@QEAAXW4TSRES_CONV_TYPE@@@Z
-; public: void __cdecl CCritSec::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ConvertExclusiveToShared(void)const  __ptr64
-?ConvertExclusiveToShared@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ConvertExclusiveToShared(void)const  __ptr64
-?ConvertExclusiveToShared@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CSpinLock@@QEAAXXZ
-; public: void __cdecl CCritSec::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ConvertSharedToExclusive(void)const  __ptr64
-?ConvertSharedToExclusive@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ConvertSharedToExclusive(void)const  __ptr64
-?ConvertSharedToExclusive@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CSpinLock@@QEAAXXZ
-ConvertUnicodeToMultiByte
-; public: int __cdecl MULTISZ::Copy(class MULTISZ const & __ptr64) __ptr64
-?Copy@MULTISZ@@QEAAHAEBV1@@Z
-; public: int __cdecl MULTISZ::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
-?Copy@MULTISZ@@QEAAHPEBGK@Z
-; public: int __cdecl MULTISZA::Copy(class MULTISZA const & __ptr64) __ptr64
-?Copy@MULTISZA@@QEAAHAEBV1@@Z
-; public: int __cdecl MULTISZA::Copy(char const * __ptr64,unsigned long) __ptr64
-?Copy@MULTISZA@@QEAAHPEBDK@Z
-; public: long __cdecl STRA::Copy(class STRA const & __ptr64) __ptr64
-?Copy@STRA@@QEAAJAEBV1@@Z
-; public: long __cdecl STRA::Copy(char const * __ptr64) __ptr64
-?Copy@STRA@@QEAAJPEBD@Z
-; public: long __cdecl STRA::Copy(char const * __ptr64,unsigned long) __ptr64
-?Copy@STRA@@QEAAJPEBDK@Z
-; public: int __cdecl STRAU::Copy(class STRAU & __ptr64) __ptr64
-?Copy@STRAU@@QEAAHAEAV1@@Z
-; public: int __cdecl STRAU::Copy(char const * __ptr64) __ptr64
-?Copy@STRAU@@QEAAHPEBD@Z
-; public: int __cdecl STRAU::Copy(char const * __ptr64,unsigned long) __ptr64
-?Copy@STRAU@@QEAAHPEBDK@Z
-; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64) __ptr64
-?Copy@STRAU@@QEAAHPEBG@Z
-; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
-?Copy@STRAU@@QEAAHPEBGK@Z
-; public: long __cdecl STRU::Copy(class STRU const & __ptr64) __ptr64
-?Copy@STRU@@QEAAJAEBV1@@Z
-; public: long __cdecl STRU::Copy(unsigned short const * __ptr64) __ptr64
-?Copy@STRU@@QEAAJPEBG@Z
-; public: long __cdecl STRU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
-?Copy@STRU@@QEAAJPEBGK@Z
-; public: long __cdecl STRU::CopyA(char const * __ptr64) __ptr64
-?CopyA@STRU@@QEAAJPEBD@Z
-; public: long __cdecl STRU::CopyA(char const * __ptr64,unsigned long) __ptr64
-?CopyA@STRU@@QEAAJPEBDK@Z
-; public: long __cdecl STRA::CopyBinary(void * __ptr64,unsigned long) __ptr64
-?CopyBinary@STRA@@QEAAJPEAXK@Z
-; public: int __cdecl CDFTCache::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
-?CopyFormattedData@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@PEAD@Z
-; public: void __cdecl DATETIME_FORMAT_ENTRY::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
-?CopyFormattedData@DATETIME_FORMAT_ENTRY@@QEBAXPEBU_SYSTEMTIME@@PEAD@Z
-; public: int __cdecl MULTISZ::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
-?CopyToBuffer@MULTISZ@@QEBAHPEAGPEAK@Z
-; public: int __cdecl MULTISZA::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
-?CopyToBuffer@MULTISZA@@QEBAHPEADPEAK@Z
-; public: long __cdecl STRA::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
-?CopyToBuffer@STRA@@QEBAJPEADPEAK@Z
-; public: long __cdecl STRU::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
-?CopyToBuffer@STRU@@QEBAJPEAGPEAK@Z
-; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64) __ptr64
-?CopyW@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64,unsigned long) __ptr64
-?CopyW@STRA@@QEAAJPEBGK@Z
-; public: long __cdecl STRA::CopyWToUTF8(class STRU const & __ptr64) __ptr64
-?CopyWToUTF8@STRA@@QEAAJAEBVSTRU@@@Z
-; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64) __ptr64
-?CopyWToUTF8@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64,unsigned long) __ptr64
-?CopyWToUTF8@STRA@@QEAAJPEBGK@Z
-; public: long __cdecl STRA::CopyWToUTF8Unescaped(class STRU const & __ptr64) __ptr64
-?CopyWToUTF8Unescaped@STRA@@QEAAJAEBVSTRU@@@Z
-; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64) __ptr64
-?CopyWToUTF8Unescaped@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64,unsigned long) __ptr64
-?CopyWToUTF8Unescaped@STRA@@QEAAJPEBGK@Z
-; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64) __ptr64
-?CopyWTruncate@STRA@@QEAAJPEBG@Z
-; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
-?CopyWTruncate@STRA@@QEAAJPEBGK@Z
-; public: static long __cdecl IPM_MESSAGE_PIPE::CreateIpmMessagePipe(class IPM_MESSAGE_ACCEPTOR * __ptr64,unsigned short const * __ptr64,int,struct _SECURITY_ATTRIBUTES * __ptr64,class IPM_MESSAGE_PIPE * __ptr64 * __ptr64)
-?CreateIpmMessagePipe@IPM_MESSAGE_PIPE@@SAJPEAVIPM_MESSAGE_ACCEPTOR@@PEBGHPEAU_SECURITY_ATTRIBUTES@@PEAPEAV1@@Z
-; public: long __cdecl W3_TRACE_LOG_FACTORY::CreateTraceLog(class W3_TRACE_LOG * __ptr64 * __ptr64) __ptr64
-?CreateTraceLog@W3_TRACE_LOG_FACTORY@@QEAAJPEAPEAVW3_TRACE_LOG@@@Z
-; public: static long __cdecl W3_TRACE_LOG_FACTORY::CreateTraceLogFactory(class W3_TRACE_LOG_FACTORY * __ptr64 * __ptr64,void * __ptr64)
-?CreateTraceLogFactory@W3_TRACE_LOG_FACTORY@@SAJPEAPEAV1@PEAX@Z
-; public: unsigned long __cdecl CDFTCache::DateTimeChars(void)const  __ptr64
-?DateTimeChars@CDFTCache@@QEBAKXZ
-; char const * __ptr64 __cdecl DayOfWeek3CharNames(unsigned long)
-?DayOfWeek3CharNames@@YAPEBDK@Z
-; private: void __cdecl IPM_MESSAGE_PIPE::DecrementAcceptorInUse(void) __ptr64
-?DecrementAcceptorInUse@IPM_MESSAGE_PIPE@@AEAAXXZ
-DecryptMemoryPassword
-; public: unsigned long __cdecl BUFFER_CHAIN::DeleteChain(void) __ptr64
-?DeleteChain@BUFFER_CHAIN@@QEAAKXZ
-; public: int __cdecl MB::DeleteData(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
-?DeleteData@MB@@QEAAHPEBGKKK@Z
-; public: unsigned long __cdecl CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
-?DeleteIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
-; public: unsigned long __cdecl CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
-?DeleteIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteKey(unsigned __int64) __ptr64
-?DeleteKey@CLKRHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteKey(unsigned __int64) __ptr64
-?DeleteKey@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
-; public: int __cdecl MB::DeleteObject(unsigned short const * __ptr64) __ptr64
-?DeleteObject@MB@@QEAAHPEBG@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteRecord(void const * __ptr64) __ptr64
-?DeleteRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteRecord(void const * __ptr64) __ptr64
-?DeleteRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
-; public: void __cdecl IPM_MESSAGE_PIPE::DestroyIpmMessagePipe(void) __ptr64
-?DestroyIpmMessagePipe@IPM_MESSAGE_PIPE@@QEAAXXZ
-; public: void __cdecl W3_TRACE_LOG::DestroyTraceLog(void) __ptr64
-?DestroyTraceLog@W3_TRACE_LOG@@QEAAXXZ
-; public: void __cdecl W3_TRACE_LOG_FACTORY::DestroyTraceLogFactory(void) __ptr64
-?DestroyTraceLogFactory@W3_TRACE_LOG_FACTORY@@QEAAXXZ
-; public: virtual unsigned long __cdecl CEtwTracer::DisableEventsCallbackCustomHandler(void) __ptr64
-?DisableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
-DisableTokenBackupPrivilege
-; public: static int __cdecl ALLOC_CACHE_HANDLER::DumpStatsToHtml(char * __ptr64,unsigned long * __ptr64)
-?DumpStatsToHtml@ALLOC_CACHE_HANDLER@@SAHPEADPEAK@Z
-DupTokenWithSameImpersonationLevel
-; public: virtual unsigned long __cdecl CEtwTracer::EnableEventsCallbackCustomHandler(void) __ptr64
-?EnableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
-EncryptMemoryPassword
-; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::End(void) __ptr64
-?End@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
-; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::End(void) __ptr64
-?End@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
-; public: int __cdecl MB::EnumObjects(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
-?EnumObjects@MB@@QEAAHPEBGPEAGK@Z
-; public: bool __cdecl CLKRHashTable::EqualRange(unsigned __int64,class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
-?EqualRange@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@1@Z
-; public: bool __cdecl CLKRLinearHashTable::EqualRange(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
-?EqualRange@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@1@Z
-; public: int __cdecl STRA::Equals(class STRA const & __ptr64)const  __ptr64
-?Equals@STRA@@QEBAHAEBV1@@Z
-; public: int __cdecl STRA::Equals(char * __ptr64 const)const  __ptr64
-?Equals@STRA@@QEBAHQEAD@Z
-; public: int __cdecl STRU::Equals(class STRU const & __ptr64)const  __ptr64
-?Equals@STRU@@QEBAHAEBV1@@Z
-; public: int __cdecl STRU::Equals(unsigned short const * __ptr64)const  __ptr64
-?Equals@STRU@@QEBAHPEBG@Z
-; public: int __cdecl STRA::EqualsNoCase(class STRA const & __ptr64)const  __ptr64
-?EqualsNoCase@STRA@@QEBAHAEBV1@@Z
-; public: int __cdecl STRA::EqualsNoCase(char * __ptr64 const)const  __ptr64
-?EqualsNoCase@STRA@@QEBAHQEAD@Z
-; public: int __cdecl STRU::EqualsNoCase(class STRU const & __ptr64)const  __ptr64
-?EqualsNoCase@STRU@@QEBAHAEBV1@@Z
-; public: int __cdecl STRU::EqualsNoCase(unsigned short const * __ptr64)const  __ptr64
-?EqualsNoCase@STRU@@QEBAHPEBG@Z
-; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
-?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@0@Z
-; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64) __ptr64
-?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@@Z
-; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
-?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@0@Z
-; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
-?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@@Z
-; public: long __cdecl STRA::Escape(int,int) __ptr64
-?Escape@STRA@@QEAAJHH@Z
-; public: long __cdecl STRU::Escape(void) __ptr64
-?Escape@STRU@@QEAAJXZ
-; public: unsigned long __cdecl CEtwTracer::EtwTraceEvent(struct _GUID const * __ptr64,unsigned long,...) __ptr64
-?EtwTraceEvent@CEtwTracer@@QEAAKPEBU_GUID@@KZZ
-; int __cdecl FileTimeToGMT(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long)
-?FileTimeToGMT@@YAHAEBU_FILETIME@@PEADK@Z
-; int __cdecl FileTimeToGMTEx(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long,unsigned long)
-?FileTimeToGMTEx@@YAHAEBU_FILETIME@@PEADKK@Z
-; public: bool __cdecl CLKRHashTable::Find(unsigned __int64,class CLKRHashTable_Iterator & __ptr64) __ptr64
-?Find@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@@Z
-; public: bool __cdecl CLKRLinearHashTable::Find(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
-?Find@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
-?FindKey@CLKRHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
-?FindKey@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindRecord(void const * __ptr64)const  __ptr64
-?FindRecord@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindRecord(void const * __ptr64)const  __ptr64
-?FindRecord@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
-; public: int __cdecl MULTISZ::FindString(class STRU & __ptr64) __ptr64
-?FindString@MULTISZ@@QEAAHAEAVSTRU@@@Z
-; public: int __cdecl MULTISZ::FindString(unsigned short const * __ptr64) __ptr64
-?FindString@MULTISZ@@QEAAHPEBG@Z
-; public: int __cdecl MULTISZA::FindString(class STRA & __ptr64) __ptr64
-?FindString@MULTISZA@@QEAAHAEAVSTRA@@@Z
-; public: int __cdecl MULTISZA::FindString(char const * __ptr64) __ptr64
-?FindString@MULTISZA@@QEAAHPEBD@Z
-; public: int __cdecl MULTISZ::FindStringNoCase(class STRU & __ptr64) __ptr64
-?FindStringNoCase@MULTISZ@@QEAAHAEAVSTRU@@@Z
-; public: int __cdecl MULTISZ::FindStringNoCase(unsigned short const * __ptr64) __ptr64
-?FindStringNoCase@MULTISZ@@QEAAHPEBG@Z
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::First(void)const  __ptr64
-?First@CDoubleList@@QEBAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::First(void) __ptr64
-?First@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: unsigned short const * __ptr64 __cdecl MULTISZ::First(void)const  __ptr64
-?First@MULTISZ@@QEBAPEBGXZ
-; public: char const * __ptr64 __cdecl MULTISZA::First(void)const  __ptr64
-?First@MULTISZA@@QEBAPEBDXZ
-FlipSlashes
-; public: long __cdecl STRA::FormatString(unsigned long,char const * __ptr64 * __ptr64 const,char const * __ptr64,unsigned long) __ptr64
-?FormatString@STRA@@QEAAJKQEAPEBDPEBDK@Z
-; public: char const * __ptr64 __cdecl CDFTCache::FormattedBuffer(void)const  __ptr64
-?FormattedBuffer@CDFTCache@@QEBAPEBDXZ
-; public: int __cdecl ALLOC_CACHE_HANDLER::Free(void * __ptr64) __ptr64
-?Free@ALLOC_CACHE_HANDLER@@QEAAHPEAX@Z
-; public: void __cdecl CHUNK_BUFFER::FreeAllAllocatedSpace(void) __ptr64
-?FreeAllAllocatedSpace@CHUNK_BUFFER@@QEAAXXZ
-; public: void __cdecl BUFFER::FreeMemory(void) __ptr64
-?FreeMemory@BUFFER@@QEAAXXZ
-FreeSecurityAttributes
-FreeWellKnownAcl
-FreeWellKnownSid
-; public: virtual void __cdecl ASCLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
-?GenerateDateTimeString@ASCLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
-; public: virtual void __cdecl EXTLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
-?GenerateDateTimeString@EXTLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
-; public: virtual void __cdecl W3_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
-?GenerateDateTimeString@W3_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
-GenerateNameWithGUID
-; public: int __cdecl MB::GetAll(unsigned short const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetAll@MB@@QEAAHPEBGKKPEAVBUFFER@@PEAK2@Z
-; public: unsigned short __cdecl CLKRHashTable::GetBucketLockSpinCount(void)const  __ptr64
-?GetBucketLockSpinCount@CLKRHashTable@@QEBAGXZ
-; public: unsigned short __cdecl CLKRLinearHashTable::GetBucketLockSpinCount(void)const  __ptr64
-?GetBucketLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
-; public: int __cdecl MB::GetBuffer(unsigned short const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?GetBuffer@MB@@QEAAHPEBGKKPEAVBUFFER@@PEAKK@Z
-; public: int __cdecl MB::GetChildPaths(unsigned short const * __ptr64,class BUFFER * __ptr64) __ptr64
-?GetChildPaths@MB@@QEAAHPEBGPEAVBUFFER@@@Z
-; public: int __cdecl MB::GetData(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?GetData@MB@@QEAAHPEBGKKKPEAXPEAKK@Z
-; public: int __cdecl MB::GetDataPaths(unsigned short const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64) __ptr64
-?GetDataPaths@MB@@QEAAHPEBGKKPEAVBUFFER@@@Z
-; public: int __cdecl MB::GetDataSetNumber(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?GetDataSetNumber@MB@@QEAAHPEBGPEAK@Z
-; public: static double __cdecl CCritSec::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CCritSec@@SANXZ
-; public: static double __cdecl CFakeLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CFakeLock@@SANXZ
-; public: static double __cdecl CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SANXZ
-; public: static double __cdecl CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SANXZ
-; public: static double __cdecl CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SANXZ
-; public: static double __cdecl CRtlResource::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CRtlResource@@SANXZ
-; public: static double __cdecl CShareLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CShareLock@@SANXZ
-; public: static double __cdecl CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SANXZ
-; public: static double __cdecl CSpinLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CSpinLock@@SANXZ
-; public: static unsigned short __cdecl CCritSec::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CCritSec@@SAGXZ
-; public: static unsigned short __cdecl CFakeLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CFakeLock@@SAGXZ
-; public: static unsigned short __cdecl CReaderWriterLock2::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock2@@SAGXZ
-; public: static unsigned short __cdecl CReaderWriterLock3::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock3@@SAGXZ
-; public: static unsigned short __cdecl CReaderWriterLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock@@SAGXZ
-; public: static unsigned short __cdecl CRtlResource::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CRtlResource@@SAGXZ
-; public: static unsigned short __cdecl CShareLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CShareLock@@SAGXZ
-; public: static unsigned short __cdecl CSmallSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSmallSpinLock@@SAGXZ
-; public: static unsigned short __cdecl CSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSpinLock@@SAGXZ
-; public: int __cdecl MB::GetDword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long) __ptr64
-?GetDword@MB@@QEAAHPEBGKKPEAKK@Z
-; public: void __cdecl MB::GetDword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long) __ptr64
-?GetDword@MB@@QEAAXPEBGKKKPEAKK@Z
-; public: unsigned long __cdecl EVENT_LOG::GetErrorCode(void)const  __ptr64
-?GetErrorCode@EVENT_LOG@@QEBAKXZ
-; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedCurrentDateTime(char * __ptr64) __ptr64
-?GetFormattedCurrentDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEAD@Z
-; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedDateTime(struct _SYSTEMTIME const * __ptr64,char * __ptr64) __ptr64
-?GetFormattedDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEBU_SYSTEMTIME@@PEAD@Z
-; public: unsigned long __cdecl CSecurityDispenser::GetIisWpgSID(void * __ptr64 * __ptr64) __ptr64
-?GetIisWpgSID@CSecurityDispenser@@QEAAKPEAPEAX@Z
-; public: int __cdecl MB::GetMultisz(unsigned short const * __ptr64,unsigned long,unsigned long,class MULTISZ * __ptr64,unsigned long) __ptr64
-?GetMultisz@MB@@QEAAHPEBGKKPEAVMULTISZ@@K@Z
-; private: int __cdecl BUFFER::GetNewStorage(unsigned int) __ptr64
-?GetNewStorage@BUFFER@@AEAAHI@Z
-; public: unsigned long __cdecl CSecurityDispenser::GetSID(enum WELL_KNOWN_SID_TYPE,void * __ptr64 * __ptr64) __ptr64
-?GetSID@CSecurityDispenser@@QEAAKW4WELL_KNOWN_SID_TYPE@@PEAPEAX@Z
-GetSecurityAttributesForHandle
-; public: unsigned short __cdecl CCritSec::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CCritSec@@QEBAGXZ
-; public: unsigned short __cdecl CFakeLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CFakeLock@@QEBAGXZ
-; public: unsigned short __cdecl CReaderWriterLock2::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CReaderWriterLock2@@QEBAGXZ
-; public: unsigned short __cdecl CReaderWriterLock3::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CReaderWriterLock3@@QEBAGXZ
-; public: unsigned short __cdecl CReaderWriterLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CReaderWriterLock@@QEBAGXZ
-; public: unsigned short __cdecl CRtlResource::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CRtlResource@@QEBAGXZ
-; public: unsigned short __cdecl CShareLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CShareLock@@QEBAGXZ
-; public: unsigned short __cdecl CSmallSpinLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CSmallSpinLock@@QEBAGXZ
-; public: unsigned short __cdecl CSpinLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CSpinLock@@QEBAGXZ
-; public: class CLKRHashTableStats  __cdecl CLKRHashTable::GetStatistics(void)const  __ptr64
-?GetStatistics@CLKRHashTable@@QEBA?AVCLKRHashTableStats@@XZ
-; public: class CLKRHashTableStats  __cdecl CLKRLinearHashTable::GetStatistics(void)const  __ptr64
-?GetStatistics@CLKRLinearHashTable@@QEBA?AVCLKRHashTableStats@@XZ
-; public: int __cdecl MB::GetStr(unsigned short const * __ptr64,unsigned long,unsigned long,class STRU * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
-?GetStr@MB@@QEAAHPEBGKKPEAVSTRU@@K0@Z
-; public: int __cdecl MB::GetString(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?GetString@MB@@QEAAHPEBGKKPEAGPEAKK@Z
-; public: int __cdecl MB::GetSystemChangeNumber(unsigned long * __ptr64) __ptr64
-?GetSystemChangeNumber@MB@@QEAAHPEAK@Z
-; public: unsigned short __cdecl CLKRHashTable::GetTableLockSpinCount(void)const  __ptr64
-?GetTableLockSpinCount@CLKRHashTable@@QEBAGXZ
-; public: unsigned short __cdecl CLKRLinearHashTable::GetTableLockSpinCount(void)const  __ptr64
-?GetTableLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
-; public: int __cdecl CDateTime::GetTickCount(void) __ptr64
-?GetTickCount@CDateTime@@QEAAHXZ
-GrantWpgAccessToToken
-; public: long __cdecl STRA::HTMLEncode(void) __ptr64
-?HTMLEncode@STRA@@QEAAJXZ
-; public: class CListEntry const * __ptr64 __cdecl CDoubleList::HeadNode(void)const  __ptr64
-?HeadNode@CDoubleList@@QEBAQEBVCListEntry@@XZ
-; public: class CListEntry const * __ptr64 __cdecl CLockedDoubleList::HeadNode(void)const  __ptr64
-?HeadNode@CLockedDoubleList@@QEBAQEBVCListEntry@@XZ
-; public: bool __cdecl CLKRHashTable_Iterator::Increment(void) __ptr64
-?Increment@CLKRHashTable_Iterator@@QEAA_NXZ
-; public: bool __cdecl CLKRLinearHashTable_Iterator::Increment(void) __ptr64
-?Increment@CLKRLinearHashTable_Iterator@@QEAA_NXZ
-; private: void __cdecl IPM_MESSAGE_PIPE::IncrementAcceptorInUse(void) __ptr64
-?IncrementAcceptorInUse@IPM_MESSAGE_PIPE@@AEAAXXZ
-; public: void __cdecl W3_TRACE_LOG::Indent(void) __ptr64
-?Indent@W3_TRACE_LOG@@QEAAXXZ
-; public: static int __cdecl ALLOC_CACHE_HANDLER::Initialize(void)
-?Initialize@ALLOC_CACHE_HANDLER@@SAHXZ
-; private: void __cdecl CHUNK_BUFFER::Initialize(void) __ptr64
-?Initialize@CHUNK_BUFFER@@AEAAXXZ
-; public: bool __cdecl CLKRHashTable::Insert(void const * __ptr64,class CLKRHashTable_Iterator & __ptr64,bool) __ptr64
-?Insert@CLKRHashTable@@QEAA_NPEBXAEAVCLKRHashTable_Iterator@@_N@Z
-; public: bool __cdecl CLKRLinearHashTable::Insert(void const * __ptr64,class CLKRLinearHashTable_Iterator & __ptr64,bool) __ptr64
-?Insert@CLKRLinearHashTable@@QEAA_NPEBXAEAVCLKRLinearHashTable_Iterator@@_N@Z
-; public: void __cdecl CDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
-?InsertHead@CDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: void __cdecl CLockedDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
-?InsertHead@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: static void __cdecl ALLOC_CACHE_HANDLER::InsertNewItem(class ALLOC_CACHE_HANDLER * __ptr64)
-?InsertNewItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
-?InsertRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
-?InsertRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
-; public: void __cdecl CDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
-?InsertTail@CDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: void __cdecl CLockedDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
-?InsertTail@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: int __cdecl ALLOC_CACHE_HANDLER::IpPrint(char * __ptr64,unsigned long * __ptr64) __ptr64
-?IpPrint@ALLOC_CACHE_HANDLER@@QEAAHPEADPEAK@Z
-; public: void __cdecl IPM_MESSAGE_PIPE::IpmMessageCreated(class IPM_MESSAGE_IMP * __ptr64) __ptr64
-?IpmMessageCreated@IPM_MESSAGE_PIPE@@QEAAXPEAVIPM_MESSAGE_IMP@@@Z
-; public: void __cdecl IPM_MESSAGE_PIPE::IpmMessageDeleted(class IPM_MESSAGE_IMP * __ptr64) __ptr64
-?IpmMessageDeleted@IPM_MESSAGE_PIPE@@QEAAXPEAVIPM_MESSAGE_IMP@@@Z
-; public: int __cdecl STRAU::IsCurrentUnicode(void) __ptr64
-?IsCurrentUnicode@STRAU@@QEAAHXZ
-; private: int __cdecl BUFFER::IsDynAlloced(void)const  __ptr64
-?IsDynAlloced@BUFFER@@AEBAHXZ
-; public: bool __cdecl CDoubleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedDoubleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CLockedDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedSingleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CLockedSingleList@@QEBA_NXZ
-; public: bool __cdecl CSingleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CSingleList@@QEBA_NXZ
-; public: int __cdecl MULTISZ::IsEmpty(void)const  __ptr64
-?IsEmpty@MULTISZ@@QEBAHXZ
-; public: int __cdecl MULTISZA::IsEmpty(void)const  __ptr64
-?IsEmpty@MULTISZA@@QEBAHXZ
-; public: int __cdecl STRA::IsEmpty(void)const  __ptr64
-?IsEmpty@STRA@@QEBAHXZ
-; public: int __cdecl STRAU::IsEmpty(void) __ptr64
-?IsEmpty@STRAU@@QEAAHXZ
-; public: int __cdecl STRU::IsEmpty(void)const  __ptr64
-?IsEmpty@STRU@@QEBAHXZ
-; public: int __cdecl CDFTCache::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
-?IsHit@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@@Z
-; public: int __cdecl DATETIME_FORMAT_ENTRY::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
-?IsHit@DATETIME_FORMAT_ENTRY@@QEBAHPEBU_SYSTEMTIME@@@Z
-; public: bool __cdecl CLockedDoubleList::IsLocked(void)const  __ptr64
-?IsLocked@CLockedDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedSingleList::IsLocked(void)const  __ptr64
-?IsLocked@CLockedSingleList@@QEBA_NXZ
-; public: bool __cdecl CCritSec::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CRtlResource::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CRtlResource@@QEBA_NXZ
-; public: bool __cdecl CShareLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CShareLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CSpinLock@@QEBA_NXZ
-; public: bool __cdecl CCritSec::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CRtlResource::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CRtlResource@@QEBA_NXZ
-; public: bool __cdecl CShareLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CShareLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CSpinLock@@QEBA_NXZ
-IsSSLReportingBackwardCompatibilityMode
-; public: bool __cdecl CLockedDoubleList::IsUnlocked(void)const  __ptr64
-?IsUnlocked@CLockedDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedSingleList::IsUnlocked(void)const  __ptr64
-?IsUnlocked@CLockedSingleList@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsUsable(void)const  __ptr64
-?IsUsable@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsUsable(void)const  __ptr64
-?IsUsable@CLKRLinearHashTable@@QEBA_NXZ
-; public: int __cdecl ALLOC_CACHE_HANDLER::IsValid(void)const  __ptr64
-?IsValid@ALLOC_CACHE_HANDLER@@QEBAHXZ
-; public: int __cdecl BUFFER::IsValid(void)const  __ptr64
-?IsValid@BUFFER@@QEBAHXZ
-; public: bool __cdecl CLKRHashTable::IsValid(void)const  __ptr64
-?IsValid@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable_Iterator::IsValid(void)const  __ptr64
-?IsValid@CLKRHashTable_Iterator@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsValid(void)const  __ptr64
-?IsValid@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable_Iterator::IsValid(void)const  __ptr64
-?IsValid@CLKRLinearHashTable_Iterator@@QEBA_NXZ
-; public: int __cdecl IPM_MESSAGE_PIPE::IsValid(void) __ptr64
-?IsValid@IPM_MESSAGE_PIPE@@QEAAHXZ
-; public: int __cdecl MULTISZ::IsValid(void)const  __ptr64
-?IsValid@MULTISZ@@QEBAHXZ
-; public: int __cdecl MULTISZA::IsValid(void)const  __ptr64
-?IsValid@MULTISZA@@QEBAHXZ
-; public: int __cdecl STRA::IsValid(void)const  __ptr64
-?IsValid@STRA@@QEBAHXZ
-; public: int __cdecl STRAU::IsValid(void) __ptr64
-?IsValid@STRAU@@QEAAHXZ
-; public: bool __cdecl CCritSec::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CRtlResource::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CRtlResource@@QEBA_NXZ
-; public: bool __cdecl CShareLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CShareLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CSpinLock@@QEBA_NXZ
-; public: bool __cdecl CCritSec::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CRtlResource::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CRtlResource@@QEBA_NXZ
-; public: bool __cdecl CShareLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CShareLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CSpinLock@@QEBA_NXZ
-; public: unsigned __int64 const  __cdecl CLKRHashTable_Iterator::Key(void)const  __ptr64
-?Key@CLKRHashTable_Iterator@@QEBA?B_KXZ
-; public: unsigned __int64 const  __cdecl CLKRLinearHashTable_Iterator::Key(void)const  __ptr64
-?Key@CLKRLinearHashTable_Iterator@@QEBA?B_KXZ
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::Last(void)const  __ptr64
-?Last@CDoubleList@@QEBAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::Last(void) __ptr64
-?Last@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: long __cdecl STRA::LoadStringW(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
-?LoadStringW@STRA@@QEAAJKPEAUHINSTANCE__@@@Z
-; public: long __cdecl STRA::LoadStringW(unsigned long,char const * __ptr64,unsigned long) __ptr64
-?LoadStringW@STRA@@QEAAJKPEBDK@Z
-; private: void __cdecl ALLOC_CACHE_HANDLER::Lock(void) __ptr64
-?Lock@ALLOC_CACHE_HANDLER@@AEAAXXZ
-; public: void __cdecl CLockedDoubleList::Lock(void) __ptr64
-?Lock@CLockedDoubleList@@QEAAXXZ
-; public: void __cdecl CLockedSingleList::Lock(void) __ptr64
-?Lock@CLockedSingleList@@QEAAXXZ
-; public: void __cdecl TS_RESOURCE::Lock(enum TSRES_LOCK_TYPE) __ptr64
-?Lock@TS_RESOURCE@@QEAAXW4TSRES_LOCK_TYPE@@@Z
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<1,1,3,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<2,1,1,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<3,1,1,1,1,1>::LockType(void)
-?LockType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<4,1,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<5,2,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<6,2,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<7,2,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<8,2,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<9,2,1,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: void __cdecl EVENT_LOG::LogEvent(unsigned long,unsigned short,unsigned short const * __ptr64 * __ptr64 const,unsigned long) __ptr64
-?LogEvent@EVENT_LOG@@QEAAXKGQEAPEBGK@Z
-; private: void __cdecl EVENT_LOG::LogEventPrivate(unsigned long,unsigned short,unsigned short,unsigned short const * __ptr64 * __ptr64 const,unsigned long) __ptr64
-?LogEventPrivate@EVENT_LOG@@AEAAXKGGQEAPEBGK@Z
-LookupTokenAccountName
-MakeAllProcessHeapsLFH
-MakePathCanonicalizationProof
-; public: unsigned long __cdecl CLKRHashTable::MaxSize(void)const  __ptr64
-?MaxSize@CLKRHashTable@@QEBAKXZ
-; public: unsigned long __cdecl CLKRLinearHashTable::MaxSize(void)const  __ptr64
-?MaxSize@CLKRLinearHashTable@@QEBAKXZ
-; public: static void __cdecl IPM_MESSAGE_PIPE::MessagePipeCompletion(void * __ptr64,unsigned char)
-?MessagePipeCompletion@IPM_MESSAGE_PIPE@@SAXPEAXE@Z
-; char const * __ptr64 __cdecl Month3CharNames(unsigned long)
-?Month3CharNames@@YAPEBDK@Z
-; public: bool __cdecl CLKRHashTable::MultiKeys(void)const  __ptr64
-?MultiKeys@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::MultiKeys(void)const  __ptr64
-?MultiKeys@CLKRLinearHashTable@@QEBA_NXZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<1,1,3,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<2,1,1,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<3,1,1,1,1,1>::MutexType(void)
-?MutexType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<4,1,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<5,2,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<6,2,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<7,2,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<8,2,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<9,2,1,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: unsigned short const * __ptr64 __cdecl MULTISZ::Next(unsigned short const * __ptr64)const  __ptr64
-?Next@MULTISZ@@QEBAPEBGPEBG@Z
-; public: char const * __ptr64 __cdecl MULTISZA::Next(char const * __ptr64)const  __ptr64
-?Next@MULTISZA@@QEBAPEBDPEBD@Z
-; public: class BUFFER_CHAIN_ITEM * __ptr64 __cdecl BUFFER_CHAIN::NextBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
-?NextBuffer@BUFFER_CHAIN@@QEAAPEAVBUFFER_CHAIN_ITEM@@PEAV2@@Z
-; long __cdecl NormalizeUrl(char * __ptr64)
-?NormalizeUrl@@YAJPEAD@Z
-; long __cdecl NormalizeUrlW(unsigned short * __ptr64)
-?NormalizeUrlW@@YAJPEAG@Z
-; private: void __cdecl IPM_MESSAGE_PIPE::NotifyPipeDisconnected(long) __ptr64
-?NotifyPipeDisconnected@IPM_MESSAGE_PIPE@@AEAAXJ@Z
-; int __cdecl NtLargeIntegerTimeToLocalSystemTime(union _LARGE_INTEGER const * __ptr64,struct _SYSTEMTIME * __ptr64)
-?NtLargeIntegerTimeToLocalSystemTime@@YAHPEBT_LARGE_INTEGER@@PEAU_SYSTEMTIME@@@Z
-; int __cdecl NtLargeIntegerTimeToSystemTime(union _LARGE_INTEGER const & __ptr64,struct _SYSTEMTIME * __ptr64)
-?NtLargeIntegerTimeToSystemTime@@YAHAEBT_LARGE_INTEGER@@PEAU_SYSTEMTIME@@@Z
-; int __cdecl NtSystemTimeToLargeInteger(struct _SYSTEMTIME const * __ptr64,union _LARGE_INTEGER * __ptr64)
-?NtSystemTimeToLargeInteger@@YAHPEBU_SYSTEMTIME@@PEAT_LARGE_INTEGER@@@Z
-; public: int __cdecl CLKRHashTable::NumSubTables(void)const  __ptr64
-?NumSubTables@CLKRHashTable@@QEBAHXZ
-; public: static enum LK_TABLESIZE  __cdecl CLKRHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
-?NumSubTables@CLKRHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
-; public: int __cdecl CLKRLinearHashTable::NumSubTables(void)const  __ptr64
-?NumSubTables@CLKRLinearHashTable@@QEBAHXZ
-; public: static enum LK_TABLESIZE  __cdecl CLKRLinearHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
-?NumSubTables@CLKRLinearHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
-; public: int __cdecl CDFTCache::OffsetSeconds(void)const  __ptr64
-?OffsetSeconds@CDFTCache@@QEBAHXZ
-; public: int __cdecl MB::Open(unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
-?Open@MB@@QEAAHKPEBGK@Z
-; public: int __cdecl MB::Open(unsigned short const * __ptr64,unsigned long) __ptr64
-?Open@MB@@QEAAHPEBGK@Z
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<5,2,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<6,2,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<7,2,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<8,2,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<9,2,1,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: class CSingleListEntry * __ptr64 __cdecl CLockedSingleList::Pop(void) __ptr64
-?Pop@CLockedSingleList@@QEAAQEAVCSingleListEntry@@XZ
-; public: class CSingleListEntry * __ptr64 __cdecl CSingleList::Pop(void) __ptr64
-?Pop@CSingleList@@QEAAQEAVCSingleListEntry@@XZ
-; public: void __cdecl ALLOC_CACHE_HANDLER::Print(void) __ptr64
-?Print@ALLOC_CACHE_HANDLER@@QEAAXXZ
-; private: unsigned short * __ptr64 __cdecl STRAU::PrivateQueryStr(int) __ptr64
-?PrivateQueryStr@STRAU@@AEAAPEAGH@Z
-; public: void __cdecl CLockedSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
-?Push@CLockedSingleList@@QEAAXQEAVCSingleListEntry@@@Z
-; public: void __cdecl CSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
-?Push@CSingleList@@QEAAXQEAVCSingleListEntry@@@Z
-; public: struct IMSAdminBaseW * __ptr64 __cdecl MB::QueryAdminBase(void)const  __ptr64
-?QueryAdminBase@MB@@QEBAPEAUIMSAdminBaseW@@XZ
-; public: class BUFFER * __ptr64 __cdecl STRU::QueryBuffer(void) __ptr64
-?QueryBuffer@STRU@@QEAAPEAVBUFFER@@XZ
-; public: unsigned int __cdecl MULTISZ::QueryCB(void)const  __ptr64
-?QueryCB@MULTISZ@@QEBAIXZ
-; public: unsigned int __cdecl MULTISZA::QueryCB(void)const  __ptr64
-?QueryCB@MULTISZA@@QEBAIXZ
-; public: unsigned int __cdecl STRA::QueryCB(void)const  __ptr64
-?QueryCB@STRA@@QEBAIXZ
-; public: unsigned int __cdecl STRAU::QueryCB(int) __ptr64
-?QueryCB@STRAU@@QEAAIH@Z
-; public: unsigned int __cdecl STRU::QueryCB(void)const  __ptr64
-?QueryCB@STRU@@QEBAIXZ
-; public: unsigned int __cdecl STRAU::QueryCBA(void) __ptr64
-?QueryCBA@STRAU@@QEAAIXZ
-; public: unsigned int __cdecl STRAU::QueryCBW(void) __ptr64
-?QueryCBW@STRAU@@QEAAIXZ
-; public: unsigned int __cdecl MULTISZ::QueryCCH(void)const  __ptr64
-?QueryCCH@MULTISZ@@QEBAIXZ
-; public: unsigned int __cdecl MULTISZA::QueryCCH(void)const  __ptr64
-?QueryCCH@MULTISZA@@QEBAIXZ
-; public: unsigned int __cdecl STRA::QueryCCH(void)const  __ptr64
-?QueryCCH@STRA@@QEBAIXZ
-; public: unsigned int __cdecl STRAU::QueryCCH(void) __ptr64
-?QueryCCH@STRAU@@QEAAIXZ
-; public: unsigned int __cdecl STRU::QueryCCH(void)const  __ptr64
-?QueryCCH@STRU@@QEBAIXZ
-; public: unsigned long __cdecl CEtwTracer::QueryEnableLevel(void) __ptr64
-?QueryEnableLevel@CEtwTracer@@QEAAKXZ
-; public: unsigned long __cdecl MB::QueryHandle(void)const  __ptr64
-?QueryHandle@MB@@QEBAKXZ
-; public: unsigned long __cdecl CHUNK_BUFFER::QueryHeapAllocCount(void) __ptr64
-?QueryHeapAllocCount@CHUNK_BUFFER@@QEAAKXZ
-; public: virtual long __cdecl MB_BASE_NOTIFICATION_SINK::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@MB_BASE_NOTIFICATION_SINK@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
-?QueryPtr@BUFFER@@QEBAPEAXXZ
-; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
-?QuerySize@BUFFER@@QEBAIXZ
-; public: unsigned int __cdecl STRA::QuerySize(void)const  __ptr64
-?QuerySize@STRA@@QEBAIXZ
-; public: void __cdecl ALLOC_CACHE_HANDLER::QueryStats(struct _ALLOC_CACHE_STATISTICS * __ptr64) __ptr64
-?QueryStats@ALLOC_CACHE_HANDLER@@QEAAXPEAU_ALLOC_CACHE_STATISTICS@@@Z
-; public: unsigned short * __ptr64 __cdecl MULTISZ::QueryStr(void)const  __ptr64
-?QueryStr@MULTISZ@@QEBAPEAGXZ
-; public: char * __ptr64 __cdecl MULTISZA::QueryStr(void)const  __ptr64
-?QueryStr@MULTISZA@@QEBAPEADXZ
-; public: char * __ptr64 __cdecl STRA::QueryStr(void) __ptr64
-?QueryStr@STRA@@QEAAPEADXZ
-; public: char const * __ptr64 __cdecl STRA::QueryStr(void)const  __ptr64
-?QueryStr@STRA@@QEBAPEBDXZ
-; public: unsigned short * __ptr64 __cdecl STRAU::QueryStr(int) __ptr64
-?QueryStr@STRAU@@QEAAPEAGH@Z
-; public: unsigned short * __ptr64 __cdecl STRU::QueryStr(void) __ptr64
-?QueryStr@STRU@@QEAAPEAGXZ
-; public: unsigned short const * __ptr64 __cdecl STRU::QueryStr(void)const  __ptr64
-?QueryStr@STRU@@QEBAPEBGXZ
-; public: unsigned short * __ptr64 __cdecl MULTISZ::QueryStrA(void)const  __ptr64
-?QueryStrA@MULTISZ@@QEBAPEAGXZ
-; public: char * __ptr64 __cdecl STRAU::QueryStrA(void) __ptr64
-?QueryStrA@STRAU@@QEAAPEADXZ
-; public: unsigned short * __ptr64 __cdecl STRAU::QueryStrW(void) __ptr64
-?QueryStrW@STRAU@@QEAAPEAGXZ
-; public: unsigned long __cdecl MULTISZ::QueryStringCount(void)const  __ptr64
-?QueryStringCount@MULTISZ@@QEBAKXZ
-; public: unsigned long __cdecl MULTISZA::QueryStringCount(void)const  __ptr64
-?QueryStringCount@MULTISZA@@QEBAKXZ
-; public: unsigned __int64 __cdecl CEtwTracer::QueryTraceHandle(void) __ptr64
-?QueryTraceHandle@CEtwTracer@@QEAA_KXZ
-; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
-?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::QueueType(void)
-?QueueType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: bool __cdecl CDataCache<class CDateTime>::Read(class CDateTime & __ptr64)const  __ptr64
-?Read@?$CDataCache@VCDateTime@@@@QEBA_NAEAVCDateTime@@@Z
-ReadDwordParameterValueFromAnyService
-; public: void __cdecl CCritSec::ReadLock(void) __ptr64
-?ReadLock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ReadLock(void) __ptr64
-?ReadLock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ReadLock(void)const  __ptr64
-?ReadLock@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ReadLock(void)const  __ptr64
-?ReadLock@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ReadLock(void) __ptr64
-?ReadLock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ReadLock(void) __ptr64
-?ReadLock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ReadLock(void) __ptr64
-?ReadLock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::ReadLock(void) __ptr64
-?ReadLock@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::ReadLock(void) __ptr64
-?ReadLock@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ReadLock(void) __ptr64
-?ReadLock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ReadLock(void) __ptr64
-?ReadLock@CSpinLock@@QEAAXXZ
-; private: long __cdecl IPM_MESSAGE_PIPE::ReadMessage(unsigned long) __ptr64
-?ReadMessage@IPM_MESSAGE_PIPE@@AEAAJK@Z
-; public: bool __cdecl CCritSec::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CCritSec@@QEAA_NXZ
-; public: bool __cdecl CFakeLock::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CFakeLock@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock3::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CSpinLock::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CSpinLock@@QEAA_NXZ
-; public: void __cdecl CCritSec::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CCritSec@@QEAAX_N@Z
-; public: void __cdecl CFakeLock::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CFakeLock@@QEAAX_N@Z
-; public: void __cdecl CReaderWriterLock3::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CReaderWriterLock3@@QEAAX_N@Z
-; public: void __cdecl CSpinLock::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CSpinLock@@QEAAX_N@Z
-ReadRegDword
-ReadStringParameterValueFromAnyService
-; public: void __cdecl CCritSec::ReadUnlock(void) __ptr64
-?ReadUnlock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ReadUnlock(void)const  __ptr64
-?ReadUnlock@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ReadUnlock(void)const  __ptr64
-?ReadUnlock@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ReadUnlock(void) __ptr64
-?ReadUnlock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ReadUnlock(void) __ptr64
-?ReadUnlock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::ReadUnlock(void) __ptr64
-?ReadUnlock@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CSpinLock@@QEAAXXZ
-; private: int __cdecl BUFFER::ReallocStorage(unsigned int) __ptr64
-?ReallocStorage@BUFFER@@AEAAHI@Z
-; public: void __cdecl MULTISZ::RecalcLen(void) __ptr64
-?RecalcLen@MULTISZ@@QEAAXXZ
-; public: void __cdecl MULTISZA::RecalcLen(void) __ptr64
-?RecalcLen@MULTISZA@@QEAAXXZ
-; public: void const * __ptr64 __cdecl CLKRHashTable_Iterator::Record(void)const  __ptr64
-?Record@CLKRHashTable_Iterator@@QEBAPEBXXZ
-; public: void const * __ptr64 __cdecl CLKRLinearHashTable_Iterator::Record(void)const  __ptr64
-?Record@CLKRLinearHashTable_Iterator@@QEBAPEBXXZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<1,1,3,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<2,1,1,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<3,1,1,1,1,1>::Recursion(void)
-?Recursion@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<4,1,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<5,2,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<6,2,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<7,2,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<8,2,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<9,2,1,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: unsigned long __cdecl CEtwTracer::Register(struct _GUID const * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?Register@CEtwTracer@@QEAAKPEBU_GUID@@PEAG1@Z
-; public: virtual unsigned long __cdecl MB_BASE_NOTIFICATION_SINK::Release(void) __ptr64
-?Release@MB_BASE_NOTIFICATION_SINK@@UEAAKXZ
-; public: void __cdecl CSharelock::ReleaseExclusiveLock(void) __ptr64
-?ReleaseExclusiveLock@CSharelock@@QEAAXXZ
-; public: void __cdecl CSharelock::ReleaseShareLock(void) __ptr64
-?ReleaseShareLock@CSharelock@@QEAAXXZ
-; public: static void __cdecl CDoubleList::RemoveEntry(class CListEntry * __ptr64 const)
-?RemoveEntry@CDoubleList@@SAXQEAVCListEntry@@@Z
-; public: void __cdecl CLockedDoubleList::RemoveEntry(class CListEntry * __ptr64 const) __ptr64
-?RemoveEntry@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveHead(void) __ptr64
-?RemoveHead@CDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveHead(void) __ptr64
-?RemoveHead@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: static void __cdecl ALLOC_CACHE_HANDLER::RemoveItem(class ALLOC_CACHE_HANDLER * __ptr64)
-?RemoveItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveTail(void) __ptr64
-?RemoveTail@CDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveTail(void) __ptr64
-?RemoveTail@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-RemoveWorkItem
-; public: void __cdecl MULTISZ::Reset(void) __ptr64
-?Reset@MULTISZ@@QEAAXXZ
-; public: void __cdecl MULTISZA::Reset(void) __ptr64
-?Reset@MULTISZA@@QEAAXXZ
-; public: void __cdecl STRA::Reset(void) __ptr64
-?Reset@STRA@@QEAAXXZ
-; public: void __cdecl STRAU::Reset(void) __ptr64
-?Reset@STRAU@@QEAAXXZ
-; public: void __cdecl STRU::Reset(void) __ptr64
-?Reset@STRU@@QEAAXXZ
-; public: static int __cdecl ALLOC_CACHE_HANDLER::ResetLookasideCleanupInterval(void)
-?ResetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
-; public: int __cdecl BUFFER::Resize(unsigned int) __ptr64
-?Resize@BUFFER@@QEAAHI@Z
-; public: int __cdecl BUFFER::Resize(unsigned int,unsigned int) __ptr64
-?Resize@BUFFER@@QEAAHII@Z
-; public: long __cdecl STRA::Resize(unsigned long) __ptr64
-?Resize@STRA@@QEAAJK@Z
-; public: long __cdecl STRU::Resize(unsigned long) __ptr64
-?Resize@STRU@@QEAAJK@Z
-; public: int __cdecl STRAU::ResizeW(unsigned long) __ptr64
-?ResizeW@STRAU@@QEAAHK@Z
-SAFEIsSpace
-SAFEIsXDigit
-; public: int __cdecl STRAU::SafeCopy(char const * __ptr64) __ptr64
-?SafeCopy@STRAU@@QEAAHPEBD@Z
-; public: int __cdecl STRAU::SafeCopy(unsigned short const * __ptr64) __ptr64
-?SafeCopy@STRAU@@QEAAHPEBG@Z
-; public: int __cdecl MB::Save(void) __ptr64
-?Save@MB@@QEAAHXZ
-ScheduleAdjustTime
-ScheduleWorkItem
-SchedulerInitialize
-SchedulerTerminate
-; public: unsigned short __cdecl CDFTCache::Seconds(void)const  __ptr64
-?Seconds@CDFTCache@@QEBAGXZ
-; public: void __cdecl W3_TRACE_LOG::SetBlocking(int) __ptr64
-?SetBlocking@W3_TRACE_LOG@@QEAAXH@Z
-; public: void __cdecl CLKRHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
-?SetBucketLockSpinCount@CLKRHashTable@@QEAAXG@Z
-; public: void __cdecl CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
-?SetBucketLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
-; public: void __cdecl W3_TRACE_LOG::SetBuffering(int) __ptr64
-?SetBuffering@W3_TRACE_LOG@@QEAAXH@Z
-; public: int __cdecl MB::SetData(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned long) __ptr64
-?SetData@MB@@QEAAHPEBGKKKPEAXKK@Z
-; public: static void __cdecl CCritSec::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CCritSec@@SAXN@Z
-; public: static void __cdecl CFakeLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CFakeLock@@SAXN@Z
-; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SAXN@Z
-; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SAXN@Z
-; public: static void __cdecl CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SAXN@Z
-; public: static void __cdecl CRtlResource::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CRtlResource@@SAXN@Z
-; public: static void __cdecl CShareLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CShareLock@@SAXN@Z
-; public: static void __cdecl CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SAXN@Z
-; public: static void __cdecl CSpinLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CSpinLock@@SAXN@Z
-; public: static void __cdecl CCritSec::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CCritSec@@SAXG@Z
-; public: static void __cdecl CFakeLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CFakeLock@@SAXG@Z
-; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock2@@SAXG@Z
-; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock3@@SAXG@Z
-; public: static void __cdecl CReaderWriterLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock@@SAXG@Z
-; public: static void __cdecl CRtlResource::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CRtlResource@@SAXG@Z
-; public: static void __cdecl CShareLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CShareLock@@SAXG@Z
-; public: static void __cdecl CSmallSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSmallSpinLock@@SAXG@Z
-; public: static void __cdecl CSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSpinLock@@SAXG@Z
-; public: int __cdecl MB::SetDword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
-?SetDword@MB@@QEAAHPEBGKKKK@Z
-SetExplicitAccessSettings
-; public: int __cdecl STRA::SetLen(unsigned long) __ptr64
-?SetLen@STRA@@QEAAHK@Z
-; public: int __cdecl STRAU::SetLen(unsigned long) __ptr64
-?SetLen@STRAU@@QEAAHK@Z
-; public: int __cdecl STRU::SetLen(unsigned long) __ptr64
-?SetLen@STRU@@QEAAHK@Z
-; public: void __cdecl ASCLOG_DATETIME_CACHE::SetLocalTime(struct _SYSTEMTIME * __ptr64) __ptr64
-?SetLocalTime@ASCLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
-; public: static int __cdecl ALLOC_CACHE_HANDLER::SetLookasideCleanupInterval(void)
-?SetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
-; public: bool __cdecl CCritSec::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CCritSec@@QEAA_NG@Z
-; public: static unsigned long __cdecl CCritSec::SetSpinCount(struct _RTL_CRITICAL_SECTION * __ptr64,unsigned long)
-?SetSpinCount@CCritSec@@SAKPEAU_RTL_CRITICAL_SECTION@@K@Z
-; public: bool __cdecl CFakeLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CFakeLock@@QEAA_NG@Z
-; public: bool __cdecl CReaderWriterLock2::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CReaderWriterLock2@@QEAA_NG@Z
-; public: bool __cdecl CReaderWriterLock3::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CReaderWriterLock3@@QEAA_NG@Z
-; public: bool __cdecl CReaderWriterLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CReaderWriterLock@@QEAA_NG@Z
-; public: bool __cdecl CRtlResource::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CRtlResource@@QEAA_NG@Z
-; public: bool __cdecl CShareLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CShareLock@@QEAA_NG@Z
-; public: bool __cdecl CSmallSpinLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CSmallSpinLock@@QEAA_NG@Z
-; public: bool __cdecl CSpinLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CSpinLock@@QEAA_NG@Z
-; public: int __cdecl MB::SetString(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
-?SetString@MB@@QEAAHPEBGKK0K@Z
-SetStringParameterValueInAnyService
-; public: void __cdecl EXTLOG_DATETIME_CACHE::SetSystemTime(struct _SYSTEMTIME * __ptr64) __ptr64
-?SetSystemTime@EXTLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
-; public: void __cdecl CLKRHashTable::SetTableLockSpinCount(unsigned short) __ptr64
-?SetTableLockSpinCount@CLKRHashTable@@QEAAXG@Z
-; public: void __cdecl CLKRLinearHashTable::SetTableLockSpinCount(unsigned short) __ptr64
-?SetTableLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
-; public: int __cdecl CDateTime::SetTime(struct _FILETIME const & __ptr64) __ptr64
-?SetTime@CDateTime@@QEAAHAEBU_FILETIME@@@Z
-; public: int __cdecl CDateTime::SetTime(struct _SYSTEMTIME const & __ptr64) __ptr64
-?SetTime@CDateTime@@QEAAHAEBU_SYSTEMTIME@@@Z
-; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
-?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
-; public: void __cdecl BUFFER::SetValid(int) __ptr64
-?SetValid@BUFFER@@QEAAXH@Z
-; public: virtual long __cdecl MB_BASE_NOTIFICATION_SINK::ShutdownNotify(void) __ptr64
-?ShutdownNotify@MB_BASE_NOTIFICATION_SINK@@UEAAJXZ
-; public: virtual long __cdecl MB_BASE_NOTIFICATION_SINK::SinkNotify(unsigned long,struct _MD_CHANGE_OBJECT_W * __ptr64 const) __ptr64
-?SinkNotify@MB_BASE_NOTIFICATION_SINK@@UEAAJKQEAU_MD_CHANGE_OBJECT_W@@@Z
-; public: unsigned long __cdecl CLKRHashTable::Size(void)const  __ptr64
-?Size@CLKRHashTable@@QEBAKXZ
-; public: unsigned long __cdecl CLKRLinearHashTable::Size(void)const  __ptr64
-?Size@CLKRLinearHashTable@@QEBAKXZ
-SkipTo
-SkipWhite
-; private: unsigned char __cdecl CSharelock::SleepWaitingForLock(int) __ptr64
-?SleepWaitingForLock@CSharelock@@AEAAEH@Z
-StartIISAdminMonitor
-; public: long __cdecl MB_BASE_NOTIFICATION_SINK::StartListening(struct IUnknown * __ptr64) __ptr64
-?StartListening@MB_BASE_NOTIFICATION_SINK@@QEAAJPEAUIUnknown@@@Z
-StopIISAdminMonitor
-; public: long __cdecl MB_BASE_NOTIFICATION_SINK::StopListening(struct IUnknown * __ptr64) __ptr64
-?StopListening@MB_BASE_NOTIFICATION_SINK@@QEAAJPEAUIUnknown@@@Z
-; int __cdecl StringTimeToFileTime(char const * __ptr64,union _LARGE_INTEGER * __ptr64)
-?StringTimeToFileTime@@YAHPEBDPEAT_LARGE_INTEGER@@@Z
-; public: int __cdecl EVENT_LOG::Success(void)const  __ptr64
-?Success@EVENT_LOG@@QEBAHXZ
-; public: void __cdecl STRA::SyncWithBuffer(void) __ptr64
-?SyncWithBuffer@STRA@@QEAAXXZ
-; public: void __cdecl STRU::SyncWithBuffer(void) __ptr64
-?SyncWithBuffer@STRU@@QEAAXXZ
-; public: virtual long __cdecl MB_BASE_NOTIFICATION_SINK::SynchronizedShutdownNotify(void) __ptr64
-?SynchronizedShutdownNotify@MB_BASE_NOTIFICATION_SINK@@UEAAJXZ
-SystemTimeToGMT
-; int __cdecl SystemTimeToGMTEx(struct _SYSTEMTIME const & __ptr64,char * __ptr64,unsigned long,unsigned long)
-?SystemTimeToGMTEx@@YAHAEBU_SYSTEMTIME@@PEADKK@Z
-; private: static void __cdecl W3_TRACE_LOG_FACTORY::TimerCallback(void * __ptr64,unsigned char)
-?TimerCallback@W3_TRACE_LOG_FACTORY@@CAXPEAXE@Z
-; public: long __cdecl W3_TRACE_LOG::Trace(unsigned short const * __ptr64,...) __ptr64
-?Trace@W3_TRACE_LOG@@QEAAJPEBGZZ
-; public: int __cdecl CEtwTracer::TracePerUrlEnabled(void) __ptr64
-?TracePerUrlEnabled@CEtwTracer@@QEAAHXZ
-; public: bool __cdecl CReaderWriterLock3::TryConvertSharedToExclusive(void) __ptr64
-?TryConvertSharedToExclusive@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CCritSec::TryReadLock(void) __ptr64
-?TryReadLock@CCritSec@@QEAA_NXZ
-; public: bool __cdecl CFakeLock::TryReadLock(void) __ptr64
-?TryReadLock@CFakeLock@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock2::TryReadLock(void) __ptr64
-?TryReadLock@CReaderWriterLock2@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock3::TryReadLock(void) __ptr64
-?TryReadLock@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock::TryReadLock(void) __ptr64
-?TryReadLock@CReaderWriterLock@@QEAA_NXZ
-; public: bool __cdecl CRtlResource::TryReadLock(void) __ptr64
-?TryReadLock@CRtlResource@@QEAA_NXZ
-; public: bool __cdecl CShareLock::TryReadLock(void) __ptr64
-?TryReadLock@CShareLock@@QEAA_NXZ
-; public: bool __cdecl CSmallSpinLock::TryReadLock(void) __ptr64
-?TryReadLock@CSmallSpinLock@@QEAA_NXZ
-; public: bool __cdecl CSpinLock::TryReadLock(void) __ptr64
-?TryReadLock@CSpinLock@@QEAA_NXZ
-; public: bool __cdecl CCritSec::TryWriteLock(void) __ptr64
-?TryWriteLock@CCritSec@@QEAA_NXZ
-; public: bool __cdecl CFakeLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CFakeLock@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock2::TryWriteLock(void) __ptr64
-?TryWriteLock@CReaderWriterLock2@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock3::TryWriteLock(void) __ptr64
-?TryWriteLock@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CReaderWriterLock@@QEAA_NXZ
-; public: bool __cdecl CRtlResource::TryWriteLock(void) __ptr64
-?TryWriteLock@CRtlResource@@QEAA_NXZ
-; public: bool __cdecl CShareLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CShareLock@@QEAA_NXZ
-; public: bool __cdecl CSmallSpinLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CSmallSpinLock@@QEAA_NXZ
-; public: bool __cdecl CSpinLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CSpinLock@@QEAA_NXZ
-; long __cdecl UlCleanAndCopyUrl(unsigned char * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64)
-?UlCleanAndCopyUrl@@YAJPEAEKPEAKPEAGPEAPEAG@Z
-; public: unsigned long __cdecl CEtwTracer::UnRegister(void) __ptr64
-?UnRegister@CEtwTracer@@QEAAKXZ
-; public: void __cdecl W3_TRACE_LOG::Undent(void) __ptr64
-?Undent@W3_TRACE_LOG@@QEAAXXZ
-; public: long __cdecl STRA::Unescape(void) __ptr64
-?Unescape@STRA@@QEAAJXZ
-; public: long __cdecl STRU::Unescape(void) __ptr64
-?Unescape@STRU@@QEAAJXZ
-; private: void __cdecl ALLOC_CACHE_HANDLER::Unlock(void) __ptr64
-?Unlock@ALLOC_CACHE_HANDLER@@AEAAXXZ
-; public: void __cdecl CLockedDoubleList::Unlock(void) __ptr64
-?Unlock@CLockedDoubleList@@QEAAXXZ
-; public: void __cdecl CLockedSingleList::Unlock(void) __ptr64
-?Unlock@CLockedSingleList@@QEAAXXZ
-; public: void __cdecl TS_RESOURCE::Unlock(void) __ptr64
-?Unlock@TS_RESOURCE@@QEAAXXZ
-; public: unsigned char __cdecl CSharelock::UpdateMaxSpins(int) __ptr64
-?UpdateMaxSpins@CSharelock@@QEAAEH@Z
-; public: unsigned char __cdecl CSharelock::UpdateMaxUsers(int) __ptr64
-?UpdateMaxUsers@CSharelock@@QEAAEH@Z
-; public: bool __cdecl CLKRHashTable::ValidSignature(void)const  __ptr64
-?ValidSignature@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::ValidSignature(void)const  __ptr64
-?ValidSignature@CLKRLinearHashTable@@QEBA_NXZ
-; private: void __cdecl BUFFER::VerifyState(void)const  __ptr64
-?VerifyState@BUFFER@@AEBAXXZ
-WCopyToA
-; private: unsigned char __cdecl CSharelock::WaitForExclusiveLock(int) __ptr64
-?WaitForExclusiveLock@CSharelock@@AEAAEH@Z
-; private: unsigned char __cdecl CSharelock::WaitForShareLock(int) __ptr64
-?WaitForShareLock@CSharelock@@AEAAEH@Z
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::WaitType(void)
-?WaitType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; private: void __cdecl CSharelock::WakeAllSleepers(void) __ptr64
-?WakeAllSleepers@CSharelock@@AEAAXXZ
-; public: bool __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::Write(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
-?Write@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA_NAEBUDATETIME_FORMAT_ENTRY@@@Z
-; public: bool __cdecl CDataCache<class CDateTime>::Write(class CDateTime const & __ptr64) __ptr64
-?Write@?$CDataCache@VCDateTime@@@@QEAA_NAEBVCDateTime@@@Z
-; public: void __cdecl CCritSec::WriteLock(void) __ptr64
-?WriteLock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::WriteLock(void) __ptr64
-?WriteLock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::WriteLock(void) __ptr64
-?WriteLock@CLKRHashTable@@QEAAXXZ
-; public: void __cdecl CLKRLinearHashTable::WriteLock(void) __ptr64
-?WriteLock@CLKRLinearHashTable@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock2::WriteLock(void) __ptr64
-?WriteLock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::WriteLock(void) __ptr64
-?WriteLock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::WriteLock(void) __ptr64
-?WriteLock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::WriteLock(void) __ptr64
-?WriteLock@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::WriteLock(void) __ptr64
-?WriteLock@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::WriteLock(void) __ptr64
-?WriteLock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::WriteLock(void) __ptr64
-?WriteLock@CSpinLock@@QEAAXXZ
-; public: long __cdecl IPM_MESSAGE_PIPE::WriteMessage(enum IPM_OPCODE,unsigned long,void * __ptr64) __ptr64
-?WriteMessage@IPM_MESSAGE_PIPE@@QEAAJW4IPM_OPCODE@@KPEAX@Z
-; public: void __cdecl CCritSec::WriteUnlock(void) __ptr64
-?WriteUnlock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::WriteUnlock(void)const  __ptr64
-?WriteUnlock@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::WriteUnlock(void)const  __ptr64
-?WriteUnlock@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::WriteUnlock(void) __ptr64
-?WriteUnlock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::WriteUnlock(void) __ptr64
-?WriteUnlock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CRtlResource::WriteUnlock(void) __ptr64
-?WriteUnlock@CRtlResource@@QEAAXXZ
-; public: void __cdecl CShareLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CShareLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CSpinLock@@QEAAXXZ
-; protected: void __cdecl CLKRLinearHashTable_Iterator::_AddRef(int)const  __ptr64
-?_AddRef@CLKRLinearHashTable_Iterator@@IEBAXH@Z
-; private: void __cdecl CLKRLinearHashTable::_AddRefRecord(void const * __ptr64,int)const  __ptr64
-?_AddRefRecord@CLKRLinearHashTable@@AEBAXPEBXH@Z
-; private: static class CNodeClump * __ptr64 __cdecl CLKRLinearHashTable::_AllocateNodeClump(void)
-?_AllocateNodeClump@CLKRLinearHashTable@@CAQEAVCNodeClump@@XZ
-; private: class CSegment * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegment(void)const  __ptr64
-?_AllocateSegment@CLKRLinearHashTable@@AEBAQEAVCSegment@@XZ
-; private: static class CDirEntry * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned __int64)
-?_AllocateSegmentDirectory@CLKRLinearHashTable@@CAQEAVCDirEntry@@_K@Z
-; private: static class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_AllocateSubTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool)
-?_AllocateSubTable@CLKRHashTable@@CAQEAVCLKRLinearHashTable@@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAV1@_N@Z
-; private: static class CLKRLinearHashTable * __ptr64 * __ptr64 __cdecl CLKRHashTable::_AllocateSubTableArray(unsigned __int64)
-?_AllocateSubTableArray@CLKRHashTable@@CAQEAPEAVCLKRLinearHashTable@@_K@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
-?_Apply@CLKRLinearHashTable@@AEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@AEAW4LK_PREDICATE@@@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
-?_ApplyIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AEAW42@@Z
-; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_Bucket(unsigned long)const  __ptr64
-?_Bucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_BucketAddress(unsigned long)const  __ptr64
-?_BucketAddress@CLKRLinearHashTable@@AEBAKK@Z
-; private: unsigned long __cdecl CLKRHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
-?_CalcKeyHash@CLKRHashTable@@AEBAK_K@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
-?_CalcKeyHash@CLKRLinearHashTable@@AEBAK_K@Z
-; private: void __cdecl CLKRLinearHashTable::_Clear(bool) __ptr64
-?_Clear@CLKRLinearHashTable@@AEAAX_N@Z
-; private: bool __cdecl CReaderWriterLock2::_CmpExch(long,long) __ptr64
-?_CmpExch@CReaderWriterLock2@@AEAA_NJJ@Z
-; private: bool __cdecl CReaderWriterLock3::_CmpExch(long,long) __ptr64
-?_CmpExch@CReaderWriterLock3@@AEAA_NJJ@Z
-; private: bool __cdecl CReaderWriterLock::_CmpExch(long,long) __ptr64
-?_CmpExch@CReaderWriterLock@@AEAA_NJJ@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Contract(void) __ptr64
-?_Contract@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
-; private: static long __cdecl CReaderWriterLock3::_CurrentThreadId(void)
-?_CurrentThreadId@CReaderWriterLock3@@CAJXZ
-; private: static long __cdecl CSmallSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSmallSpinLock@@CAJXZ
-; private: static long __cdecl CSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSpinLock@@CAJXZ
-; private: unsigned long __cdecl CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_PREDICATE & __ptr64) __ptr64
-?_DeleteIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1AEAW42@@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteKey(unsigned __int64,unsigned long) __ptr64
-?_DeleteKey@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@_KK@Z
-; private: bool __cdecl CLKRLinearHashTable::_DeleteNode(class CBucket * __ptr64,class CNodeClump * __ptr64 & __ptr64,class CNodeClump * __ptr64 & __ptr64,int & __ptr64) __ptr64
-?_DeleteNode@CLKRLinearHashTable@@AEAA_NPEAVCBucket@@AEAPEAVCNodeClump@@1AEAH@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteRecord(void const * __ptr64,unsigned long) __ptr64
-?_DeleteRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK@Z
-; private: bool __cdecl CLKRLinearHashTable::_EqualKeys(unsigned __int64,unsigned __int64)const  __ptr64
-?_EqualKeys@CLKRLinearHashTable@@AEBA_N_K0@Z
-; private: bool __cdecl CLKRLinearHashTable::_Erase(class CLKRLinearHashTable_Iterator & __ptr64,unsigned long) __ptr64
-?_Erase@CLKRLinearHashTable@@AEAA_NAEAVCLKRLinearHashTable_Iterator@@K@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Expand(void) __ptr64
-?_Expand@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
-; private: unsigned __int64 const  __cdecl CLKRHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
-?_ExtractKey@CLKRHashTable@@AEBA?B_KPEBX@Z
-; private: unsigned __int64 const  __cdecl CLKRLinearHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
-?_ExtractKey@CLKRLinearHashTable@@AEBA?B_KPEBX@Z
-; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_FindBucket(unsigned long,bool)const  __ptr64
-?_FindBucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K_N@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindKey(unsigned __int64,unsigned long,void const * __ptr64 * __ptr64,class CLKRLinearHashTable_Iterator * __ptr64)const  __ptr64
-?_FindKey@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@_KKPEAPEBXPEAVCLKRLinearHashTable_Iterator@@@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindRecord(void const * __ptr64,unsigned long)const  __ptr64
-?_FindRecord@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@PEBXK@Z
-; private: static bool __cdecl CLKRLinearHashTable::_FreeNodeClump(class CNodeClump * __ptr64)
-?_FreeNodeClump@CLKRLinearHashTable@@CA_NPEAVCNodeClump@@@Z
-; private: bool __cdecl CLKRLinearHashTable::_FreeSegment(class CSegment * __ptr64)const  __ptr64
-?_FreeSegment@CLKRLinearHashTable@@AEBA_NPEAVCSegment@@@Z
-; private: bool __cdecl CLKRLinearHashTable::_FreeSegmentDirectory(void) __ptr64
-?_FreeSegmentDirectory@CLKRLinearHashTable@@AEAA_NXZ
-; private: static bool __cdecl CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable * __ptr64)
-?_FreeSubTable@CLKRHashTable@@CA_NPEAVCLKRLinearHashTable@@@Z
-; private: static bool __cdecl CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * __ptr64 * __ptr64)
-?_FreeSubTableArray@CLKRHashTable@@CA_NPEAPEAVCLKRLinearHashTable@@@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long)const  __ptr64
-?_H0@CLKRLinearHashTable@@AEBAKK@Z
-; private: static unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long,unsigned long)
-?_H0@CLKRLinearHashTable@@CAKKK@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long)const  __ptr64
-?_H1@CLKRLinearHashTable@@AEBAKK@Z
-; private: static unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long,unsigned long)
-?_H1@CLKRLinearHashTable@@CAKKK@Z
-; protected: bool __cdecl CLKRHashTable_Iterator::_Increment(bool) __ptr64
-?_Increment@CLKRHashTable_Iterator@@IEAA_N_N@Z
-; protected: bool __cdecl CLKRLinearHashTable_Iterator::_Increment(bool) __ptr64
-?_Increment@CLKRLinearHashTable_Iterator@@IEAA_N_N@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Initialize(unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),char const * __ptr64,double,unsigned long) __ptr64
-?_Initialize@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@P6A?B_KPEBX@ZP6AK_K@ZP6A_N22@ZP6AX0H@ZPEBDNK@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InsertRecord(void const * __ptr64,unsigned long,bool,class CLKRLinearHashTable_Iterator * __ptr64) __ptr64
-?_InsertRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK_NPEAVCLKRLinearHashTable_Iterator@@@Z
-; private: void __cdecl CLKRHashTable::_InsertThisIntoGlobalList(void) __ptr64
-?_InsertThisIntoGlobalList@CLKRHashTable@@AEAAXXZ
-; private: void __cdecl CLKRLinearHashTable::_InsertThisIntoGlobalList(void) __ptr64
-?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AEAAXXZ
-; private: bool __cdecl CSpinLock::_IsLocked(void)const  __ptr64
-?_IsLocked@CSpinLock@@AEBA_NXZ
-; private: int __cdecl CLKRLinearHashTable::_IsNodeCompact(class CBucket * __ptr64 const)const  __ptr64
-?_IsNodeCompact@CLKRLinearHashTable@@AEBAHQEAVCBucket@@@Z
-; private: bool __cdecl CLKRHashTable::_IsValidIterator(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
-?_IsValidIterator@CLKRHashTable@@AEBA_NAEBVCLKRHashTable_Iterator@@@Z
-; private: bool __cdecl CLKRLinearHashTable::_IsValidIterator(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
-?_IsValidIterator@CLKRLinearHashTable@@AEBA_NAEBVCLKRLinearHashTable_Iterator@@@Z
-; private: void __cdecl CSpinLock::_Lock(void) __ptr64
-?_Lock@CSpinLock@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock2::_LockSpin(bool) __ptr64
-?_LockSpin@CReaderWriterLock2@@AEAAX_N@Z
-; private: void __cdecl CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
-?_LockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
-; private: void __cdecl CReaderWriterLock::_LockSpin(bool) __ptr64
-?_LockSpin@CReaderWriterLock@@AEAAX_N@Z
-; private: void __cdecl CSmallSpinLock::_LockSpin(void) __ptr64
-?_LockSpin@CSmallSpinLock@@AEAAXXZ
-; private: void __cdecl CSpinLock::_LockSpin(void) __ptr64
-?_LockSpin@CSpinLock@@AEAAXXZ
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_MergeRecordSets(class CBucket * __ptr64,class CNodeClump * __ptr64,class CNodeClump * __ptr64) __ptr64
-?_MergeRecordSets@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCBucket@@PEAVCNodeClump@@1@Z
-; private: static enum LK_PREDICATE  __cdecl CLKRLinearHashTable::_PredTrue(void const * __ptr64,void * __ptr64)
-?_PredTrue@CLKRLinearHashTable@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
-; private: void __cdecl CReaderWriterLock2::_ReadLockSpin(void) __ptr64
-?_ReadLockSpin@CReaderWriterLock2@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
-?_ReadLockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
-; private: void __cdecl CReaderWriterLock::_ReadLockSpin(void) __ptr64
-?_ReadLockSpin@CReaderWriterLock@@AEAAXXZ
-; protected: static void __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadMemoryBarrier(void)
-?_ReadMemoryBarrier@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@KAXXZ
-; protected: static void __cdecl CDataCache<class CDateTime>::_ReadMemoryBarrier(void)
-?_ReadMemoryBarrier@?$CDataCache@VCDateTime@@@@KAXXZ
-; private: bool __cdecl CLKRLinearHashTable::_ReadOrWriteLock(void)const  __ptr64
-?_ReadOrWriteLock@CLKRLinearHashTable@@AEBA_NXZ
-; private: void __cdecl CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const  __ptr64
-?_ReadOrWriteUnlock@CLKRLinearHashTable@@AEBAX_N@Z
-; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadSequence(void)const  __ptr64
-?_ReadSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEBAJXZ
-; protected: long __cdecl CDataCache<class CDateTime>::_ReadSequence(void)const  __ptr64
-?_ReadSequence@?$CDataCache@VCDateTime@@@@IEBAJXZ
-; private: void __cdecl CLKRHashTable::_RemoveThisFromGlobalList(void) __ptr64
-?_RemoveThisFromGlobalList@CLKRHashTable@@AEAAXXZ
-; private: void __cdecl CLKRLinearHashTable::_RemoveThisFromGlobalList(void) __ptr64
-?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AEAAXXZ
-; private: unsigned long __cdecl CLKRLinearHashTable::_SegIndex(unsigned long)const  __ptr64
-?_SegIndex@CLKRLinearHashTable@@AEBAKK@Z
-; private: class CSegment * __ptr64 & __ptr64 __cdecl CLKRLinearHashTable::_Segment(unsigned long)const  __ptr64
-?_Segment@CLKRLinearHashTable@@AEBAAEAPEAVCSegment@@K@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE,unsigned long) __ptr64
-?_SetSegVars@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@W4LK_TABLESIZE@@K@Z
-; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_SetSequence(long) __ptr64
-?_SetSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEAAJJ@Z
-; protected: long __cdecl CDataCache<class CDateTime>::_SetSequence(long) __ptr64
-?_SetSequence@?$CDataCache@VCDateTime@@@@IEAAJJ@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SplitRecordSet(class CNodeClump * __ptr64,class CNodeClump * __ptr64,unsigned long,unsigned long,unsigned long,class CNodeClump * __ptr64) __ptr64
-?_SplitRecordSet@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCNodeClump@@0KKK0@Z
-; private: class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_SubTable(unsigned long)const  __ptr64
-?_SubTable@CLKRHashTable@@AEBAPEAVCLKRLinearHashTable@@K@Z
-; private: int __cdecl CLKRHashTable::_SubTableIndex(class CLKRLinearHashTable * __ptr64)const  __ptr64
-?_SubTableIndex@CLKRHashTable@@AEBAHPEAVCLKRLinearHashTable@@@Z
-; private: bool __cdecl CSmallSpinLock::_TryLock(void) __ptr64
-?_TryLock@CSmallSpinLock@@AEAA_NXZ
-; private: bool __cdecl CSpinLock::_TryLock(void) __ptr64
-?_TryLock@CSpinLock@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock2::_TryReadLock(void) __ptr64
-?_TryReadLock@CReaderWriterLock2@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock3::_TryReadLock(void) __ptr64
-?_TryReadLock@CReaderWriterLock3@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock::_TryReadLock(void) __ptr64
-?_TryReadLock@CReaderWriterLock@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock3::_TryReadLockRecursive(void) __ptr64
-?_TryReadLockRecursive@CReaderWriterLock3@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock3::_TryWriteLock2(void) __ptr64
-?_TryWriteLock2@CReaderWriterLock3@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock2::_TryWriteLock(long) __ptr64
-?_TryWriteLock@CReaderWriterLock2@@AEAA_NJ@Z
-; private: bool __cdecl CReaderWriterLock3::_TryWriteLock(long) __ptr64
-?_TryWriteLock@CReaderWriterLock3@@AEAA_NJ@Z
-; private: bool __cdecl CReaderWriterLock::_TryWriteLock(void) __ptr64
-?_TryWriteLock@CReaderWriterLock@@AEAA_NXZ
-; private: void __cdecl CSpinLock::_Unlock(void) __ptr64
-?_Unlock@CSpinLock@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock2::_WriteLockSpin(void) __ptr64
-?_WriteLockSpin@CReaderWriterLock2@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock3::_WriteLockSpin(void) __ptr64
-?_WriteLockSpin@CReaderWriterLock3@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock::_WriteLockSpin(void) __ptr64
-?_WriteLockSpin@CReaderWriterLock@@AEAAXXZ
-; long const * const  `public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
-?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SAPEBJXZ@4QBJB
-; private: static struct _RTL_CRITICAL_SECTION  ALLOC_CACHE_HANDLER::sm_csItems
-?sm_csItems@ALLOC_CACHE_HANDLER@@0U_RTL_CRITICAL_SECTION@@A DATA
-; protected: static double  CCritSec::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CCritSec@@1NA DATA
-; protected: static double  CFakeLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CFakeLock@@1NA DATA
-; protected: static double  CReaderWriterLock2::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CReaderWriterLock2@@1NA DATA
-; protected: static double  CReaderWriterLock3::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CReaderWriterLock3@@1NA DATA
-; protected: static double  CReaderWriterLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CReaderWriterLock@@1NA DATA
-; protected: static double  CRtlResource::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CRtlResource@@1NA DATA
-; protected: static double  CShareLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CShareLock@@1NA DATA
-; protected: static double  CSmallSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
-; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA DATA
-; private: static int  ALLOC_CACHE_HANDLER::sm_fInitCsItems
-?sm_fInitCsItems@ALLOC_CACHE_HANDLER@@0HA DATA
-; private: static void * __ptr64  __ptr64 ALLOC_CACHE_HANDLER::sm_hTimer
-?sm_hTimer@ALLOC_CACHE_HANDLER@@0PEAXEA DATA
-; private: static struct _LIST_ENTRY  ALLOC_CACHE_HANDLER::sm_lItemsHead
-?sm_lItemsHead@ALLOC_CACHE_HANDLER@@0U_LIST_ENTRY@@A DATA
-; private: static class CLockedDoubleList  CLKRHashTable::sm_llGlobalList
-?sm_llGlobalList@CLKRHashTable@@0VCLockedDoubleList@@A DATA
-; private: static class CLockedDoubleList  CLKRLinearHashTable::sm_llGlobalList
-?sm_llGlobalList@CLKRLinearHashTable@@0VCLockedDoubleList@@A DATA
-; private: static long  ALLOC_CACHE_HANDLER::sm_nFillPattern
-?sm_nFillPattern@ALLOC_CACHE_HANDLER@@0JA DATA
-; protected: static class ALLOC_CACHE_HANDLER * __ptr64  __ptr64 CLKRLinearHashTable::sm_palloc
-?sm_palloc@CLKRLinearHashTable@@1PEAVALLOC_CACHE_HANDLER@@EA DATA
-; protected: static unsigned short  CCritSec::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CCritSec@@1GA DATA
-; protected: static unsigned short  CFakeLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CFakeLock@@1GA DATA
-; protected: static unsigned short  CReaderWriterLock2::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CReaderWriterLock2@@1GA DATA
-; protected: static unsigned short  CReaderWriterLock3::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CReaderWriterLock3@@1GA DATA
-; protected: static unsigned short  CReaderWriterLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CReaderWriterLock@@1GA DATA
-; protected: static unsigned short  CRtlResource::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CRtlResource@@1GA DATA
-; protected: static unsigned short  CShareLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CShareLock@@1GA DATA
-; protected: static unsigned short  CSmallSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
-; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
-uudecode
-uuencode
-CreateRefTraceLog
-CreateTraceLog
-DestroyRefTraceLog
-DestroyTraceLog
-GetAllocCounters
-GetCurrentTimeInSeconds
-IISGetCurrentTime
-IISGetPlatformType
-IISInitializeCriticalSection
-IISSetCriticalSectionSpinCount
-InetAcquireResourceExclusive
-InetAcquireResourceShared
-InetConvertExclusiveToShared
-InetConvertSharedToExclusive
-InetDeleteResource
-InetInitializeResource
-InetReleaseResource
-InitializeIISUtil
-IrtlTrace
-IsValidAddress
-IsValidString
-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
+; 
+; Exports of file IISUTIL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISUTIL.dll
+EXPORTS
+; public: __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::CDataCache<struct DATETIME_FORMAT_ENTRY>(void) __ptr64
+??0?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA@XZ
+; public: __cdecl CDataCache<class CDateTime>::CDataCache<class CDateTime>(void) __ptr64
+??0?$CDataCache@VCDateTime@@@@QEAA@XZ
+; public: __cdecl ALLOC_CACHE_HANDLER::ALLOC_CACHE_HANDLER(char const * __ptr64,struct _ALLOC_CACHE_CONFIGURATION const * __ptr64,int) __ptr64
+??0ALLOC_CACHE_HANDLER@@QEAA@PEBDPEBU_ALLOC_CACHE_CONFIGURATION@@H@Z
+; public: __cdecl ASCLOG_DATETIME_CACHE::ASCLOG_DATETIME_CACHE(void) __ptr64
+??0ASCLOG_DATETIME_CACHE@@QEAA@XZ
+; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
+??0BUFFER@@QEAA@I@Z
+; public: __cdecl BUFFER::BUFFER(unsigned char * __ptr64,unsigned int) __ptr64
+??0BUFFER@@QEAA@PEAEI@Z
+; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
+??0BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
+??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
+; public: __cdecl CACHED_DATETIME_FORMATS::CACHED_DATETIME_FORMATS(void) __ptr64
+??0CACHED_DATETIME_FORMATS@@QEAA@XZ
+; public: __cdecl CCritSec::CCritSec(void) __ptr64
+??0CCritSec@@QEAA@XZ
+; public: __cdecl CDFTCache::CDFTCache(void) __ptr64
+??0CDFTCache@@QEAA@XZ
+; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64) __ptr64
+??0CDateTime@@QEAA@AEBU_FILETIME@@@Z
+; public: __cdecl CDateTime::CDateTime(struct _FILETIME const & __ptr64,struct _SYSTEMTIME const & __ptr64) __ptr64
+??0CDateTime@@QEAA@AEBU_FILETIME@@AEBU_SYSTEMTIME@@@Z
+; public: __cdecl CDateTime::CDateTime(struct _SYSTEMTIME const & __ptr64) __ptr64
+??0CDateTime@@QEAA@AEBU_SYSTEMTIME@@@Z
+; public: __cdecl CDateTime::CDateTime(void) __ptr64
+??0CDateTime@@QEAA@XZ
+; public: __cdecl CDoubleList::CDoubleList(void) __ptr64
+??0CDoubleList@@QEAA@XZ
+; public: __cdecl CEtwTracer::CEtwTracer(void) __ptr64
+??0CEtwTracer@@QEAA@XZ
+; public: __cdecl CFakeLock::CFakeLock(void) __ptr64
+??0CFakeLock@@QEAA@XZ
+; public: __cdecl CHUNK_BUFFER::CHUNK_BUFFER(void) __ptr64
+??0CHUNK_BUFFER@@QEAA@XZ
+; public: __cdecl CLKRHashTable::CLKRHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
+??0CLKRHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
+; public: __cdecl CLKRHashTableStats::CLKRHashTableStats(void) __ptr64
+??0CLKRHashTableStats@@QEAA@XZ
+; protected: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable * __ptr64,short) __ptr64
+??0CLKRHashTable_Iterator@@IEAA@PEAVCLKRHashTable@@F@Z
+; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable_Iterator const & __ptr64) __ptr64
+??0CLKRHashTable_Iterator@@QEAA@AEBV0@@Z
+; public: __cdecl CLKRHashTable_Iterator::CLKRHashTable_Iterator(void) __ptr64
+??0CLKRHashTable_Iterator@@QEAA@XZ
+; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool) __ptr64
+??0CLKRLinearHashTable@@AEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAVCLKRHashTable@@_N@Z
+; public: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long,bool) __ptr64
+??0CLKRLinearHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK_N@Z
+; protected: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable * __ptr64,class CNodeClump * __ptr64,unsigned long,short) __ptr64
+??0CLKRLinearHashTable_Iterator@@IEAA@PEAVCLKRLinearHashTable@@PEAVCNodeClump@@KF@Z
+; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
+??0CLKRLinearHashTable_Iterator@@QEAA@AEBV0@@Z
+; public: __cdecl CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(void) __ptr64
+??0CLKRLinearHashTable_Iterator@@QEAA@XZ
+; public: __cdecl CLockedDoubleList::CLockedDoubleList(void) __ptr64
+??0CLockedDoubleList@@QEAA@XZ
+; public: __cdecl CLockedSingleList::CLockedSingleList(void) __ptr64
+??0CLockedSingleList@@QEAA@XZ
+; public: __cdecl CReaderWriterLock2::CReaderWriterLock2(void) __ptr64
+??0CReaderWriterLock2@@QEAA@XZ
+; public: __cdecl CReaderWriterLock3::CReaderWriterLock3(void) __ptr64
+??0CReaderWriterLock3@@QEAA@XZ
+; public: __cdecl CReaderWriterLock::CReaderWriterLock(void) __ptr64
+??0CReaderWriterLock@@QEAA@XZ
+; public: __cdecl CRtlResource::CRtlResource(void) __ptr64
+??0CRtlResource@@QEAA@XZ
+; public: __cdecl CSecurityDispenser::CSecurityDispenser(void) __ptr64
+??0CSecurityDispenser@@QEAA@XZ
+; public: __cdecl CShareLock::CShareLock(void) __ptr64
+??0CShareLock@@QEAA@XZ
+; public: __cdecl CSharelock::CSharelock(int,int) __ptr64
+??0CSharelock@@QEAA@HH@Z
+; public: __cdecl CSingleList::CSingleList(void) __ptr64
+??0CSingleList@@QEAA@XZ
+; public: __cdecl CSmallSpinLock::CSmallSpinLock(void) __ptr64
+??0CSmallSpinLock@@QEAA@XZ
+; public: __cdecl CSpinLock::CSpinLock(void) __ptr64
+??0CSpinLock@@QEAA@XZ
+; public: __cdecl EVENT_LOG::EVENT_LOG(unsigned short const * __ptr64) __ptr64
+??0EVENT_LOG@@QEAA@PEBG@Z
+; public: __cdecl EXTLOG_DATETIME_CACHE::EXTLOG_DATETIME_CACHE(void) __ptr64
+??0EXTLOG_DATETIME_CACHE@@QEAA@XZ
+; private: __cdecl IPM_MESSAGE_PIPE::IPM_MESSAGE_PIPE(void) __ptr64
+??0IPM_MESSAGE_PIPE@@AEAA@XZ
+; public: __cdecl MB::MB(struct IMSAdminBaseW * __ptr64) __ptr64
+??0MB@@QEAA@PEAUIMSAdminBaseW@@@Z
+; public: __cdecl MB_BASE_NOTIFICATION_SINK::MB_BASE_NOTIFICATION_SINK(void) __ptr64
+??0MB_BASE_NOTIFICATION_SINK@@QEAA@XZ
+; public: __cdecl MULTISZ::MULTISZ(class MULTISZ const & __ptr64) __ptr64
+??0MULTISZ@@QEAA@AEBV0@@Z
+; public: __cdecl MULTISZ::MULTISZ(unsigned short * __ptr64,unsigned long) __ptr64
+??0MULTISZ@@QEAA@PEAGK@Z
+; public: __cdecl MULTISZ::MULTISZ(unsigned short const * __ptr64) __ptr64
+??0MULTISZ@@QEAA@PEBG@Z
+; public: __cdecl MULTISZ::MULTISZ(void) __ptr64
+??0MULTISZ@@QEAA@XZ
+; public: __cdecl MULTISZA::MULTISZA(class MULTISZA const & __ptr64) __ptr64
+??0MULTISZA@@QEAA@AEBV0@@Z
+; public: __cdecl MULTISZA::MULTISZA(char * __ptr64,unsigned long) __ptr64
+??0MULTISZA@@QEAA@PEADK@Z
+; public: __cdecl MULTISZA::MULTISZA(char const * __ptr64) __ptr64
+??0MULTISZA@@QEAA@PEBD@Z
+; public: __cdecl MULTISZA::MULTISZA(void) __ptr64
+??0MULTISZA@@QEAA@XZ
+; private: __cdecl STRA::STRA(class STRA const & __ptr64) __ptr64
+??0STRA@@AEAA@AEBV0@@Z
+; private: __cdecl STRA::STRA(char * __ptr64) __ptr64
+??0STRA@@AEAA@PEAD@Z
+; private: __cdecl STRA::STRA(char const * __ptr64) __ptr64
+??0STRA@@AEAA@PEBD@Z
+; public: __cdecl STRA::STRA(char * __ptr64,unsigned long) __ptr64
+??0STRA@@QEAA@PEADK@Z
+; public: __cdecl STRA::STRA(void) __ptr64
+??0STRA@@QEAA@XZ
+; public: __cdecl STRAU::STRAU(class STRAU & __ptr64) __ptr64
+??0STRAU@@QEAA@AEAV0@@Z
+; public: __cdecl STRAU::STRAU(char const * __ptr64) __ptr64
+??0STRAU@@QEAA@PEBD@Z
+; public: __cdecl STRAU::STRAU(char const * __ptr64,int) __ptr64
+??0STRAU@@QEAA@PEBDH@Z
+; public: __cdecl STRAU::STRAU(unsigned short const * __ptr64) __ptr64
+??0STRAU@@QEAA@PEBG@Z
+; public: __cdecl STRAU::STRAU(void) __ptr64
+??0STRAU@@QEAA@XZ
+; private: __cdecl STRU::STRU(class STRU const & __ptr64) __ptr64
+??0STRU@@AEAA@AEBV0@@Z
+; private: __cdecl STRU::STRU(unsigned short * __ptr64) __ptr64
+??0STRU@@AEAA@PEAG@Z
+; private: __cdecl STRU::STRU(unsigned short const * __ptr64) __ptr64
+??0STRU@@AEAA@PEBG@Z
+; public: __cdecl STRU::STRU(unsigned short * __ptr64,unsigned long) __ptr64
+??0STRU@@QEAA@PEAGK@Z
+; public: __cdecl STRU::STRU(void) __ptr64
+??0STRU@@QEAA@XZ
+; public: __cdecl TS_RESOURCE::TS_RESOURCE(void) __ptr64
+??0TS_RESOURCE@@QEAA@XZ
+; public: __cdecl W3_DATETIME_CACHE::W3_DATETIME_CACHE(void) __ptr64
+??0W3_DATETIME_CACHE@@QEAA@XZ
+; public: __cdecl W3_TRACE_LOG::W3_TRACE_LOG(class W3_TRACE_LOG_FACTORY * __ptr64) __ptr64
+??0W3_TRACE_LOG@@QEAA@PEAVW3_TRACE_LOG_FACTORY@@@Z
+; private: __cdecl W3_TRACE_LOG_FACTORY::W3_TRACE_LOG_FACTORY(void) __ptr64
+??0W3_TRACE_LOG_FACTORY@@AEAA@XZ
+; public: __cdecl ALLOC_CACHE_HANDLER::~ALLOC_CACHE_HANDLER(void) __ptr64
+??1ALLOC_CACHE_HANDLER@@QEAA@XZ
+; public: virtual __cdecl ASCLOG_DATETIME_CACHE::~ASCLOG_DATETIME_CACHE(void) __ptr64
+??1ASCLOG_DATETIME_CACHE@@UEAA@XZ
+; public: __cdecl BUFFER::~BUFFER(void) __ptr64
+??1BUFFER@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
+??1BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
+??1BUFFER_CHAIN_ITEM@@QEAA@XZ
+; public: virtual __cdecl CACHED_DATETIME_FORMATS::~CACHED_DATETIME_FORMATS(void) __ptr64
+??1CACHED_DATETIME_FORMATS@@UEAA@XZ
+; public: __cdecl CCritSec::~CCritSec(void) __ptr64
+??1CCritSec@@QEAA@XZ
+; public: __cdecl CDoubleList::~CDoubleList(void) __ptr64
+??1CDoubleList@@QEAA@XZ
+; public: __cdecl CEtwTracer::~CEtwTracer(void) __ptr64
+??1CEtwTracer@@QEAA@XZ
+; public: __cdecl CFakeLock::~CFakeLock(void) __ptr64
+??1CFakeLock@@QEAA@XZ
+; public: __cdecl CHUNK_BUFFER::~CHUNK_BUFFER(void) __ptr64
+??1CHUNK_BUFFER@@QEAA@XZ
+; public: __cdecl CLKRHashTable::~CLKRHashTable(void) __ptr64
+??1CLKRHashTable@@QEAA@XZ
+; public: __cdecl CLKRHashTable_Iterator::~CLKRHashTable_Iterator(void) __ptr64
+??1CLKRHashTable_Iterator@@QEAA@XZ
+; public: __cdecl CLKRLinearHashTable::~CLKRLinearHashTable(void) __ptr64
+??1CLKRLinearHashTable@@QEAA@XZ
+; public: __cdecl CLKRLinearHashTable_Iterator::~CLKRLinearHashTable_Iterator(void) __ptr64
+??1CLKRLinearHashTable_Iterator@@QEAA@XZ
+; public: __cdecl CLockedDoubleList::~CLockedDoubleList(void) __ptr64
+??1CLockedDoubleList@@QEAA@XZ
+; public: __cdecl CLockedSingleList::~CLockedSingleList(void) __ptr64
+??1CLockedSingleList@@QEAA@XZ
+; public: __cdecl CRtlResource::~CRtlResource(void) __ptr64
+??1CRtlResource@@QEAA@XZ
+; public: __cdecl CSecurityDispenser::~CSecurityDispenser(void) __ptr64
+??1CSecurityDispenser@@QEAA@XZ
+; public: __cdecl CShareLock::~CShareLock(void) __ptr64
+??1CShareLock@@QEAA@XZ
+; public: __cdecl CSharelock::~CSharelock(void) __ptr64
+??1CSharelock@@QEAA@XZ
+; public: __cdecl CSingleList::~CSingleList(void) __ptr64
+??1CSingleList@@QEAA@XZ
+; public: __cdecl EVENT_LOG::~EVENT_LOG(void) __ptr64
+??1EVENT_LOG@@QEAA@XZ
+; public: virtual __cdecl EXTLOG_DATETIME_CACHE::~EXTLOG_DATETIME_CACHE(void) __ptr64
+??1EXTLOG_DATETIME_CACHE@@UEAA@XZ
+; private: __cdecl IPM_MESSAGE_PIPE::~IPM_MESSAGE_PIPE(void) __ptr64
+??1IPM_MESSAGE_PIPE@@AEAA@XZ
+; public: __cdecl MB::~MB(void) __ptr64
+??1MB@@QEAA@XZ
+; public: virtual __cdecl MB_BASE_NOTIFICATION_SINK::~MB_BASE_NOTIFICATION_SINK(void) __ptr64
+??1MB_BASE_NOTIFICATION_SINK@@UEAA@XZ
+; public: __cdecl MULTISZ::~MULTISZ(void) __ptr64
+??1MULTISZ@@QEAA@XZ
+; public: __cdecl MULTISZA::~MULTISZA(void) __ptr64
+??1MULTISZA@@QEAA@XZ
+; public: __cdecl STRA::~STRA(void) __ptr64
+??1STRA@@QEAA@XZ
+; public: __cdecl STRAU::~STRAU(void) __ptr64
+??1STRAU@@QEAA@XZ
+; public: __cdecl STRU::~STRU(void) __ptr64
+??1STRU@@QEAA@XZ
+; public: __cdecl TS_RESOURCE::~TS_RESOURCE(void) __ptr64
+??1TS_RESOURCE@@QEAA@XZ
+; public: virtual __cdecl W3_DATETIME_CACHE::~W3_DATETIME_CACHE(void) __ptr64
+??1W3_DATETIME_CACHE@@UEAA@XZ
+; private: __cdecl W3_TRACE_LOG::~W3_TRACE_LOG(void) __ptr64
+??1W3_TRACE_LOG@@AEAA@XZ
+; private: __cdecl W3_TRACE_LOG_FACTORY::~W3_TRACE_LOG_FACTORY(void) __ptr64
+??1W3_TRACE_LOG_FACTORY@@AEAA@XZ
+; public: static void * __ptr64 __cdecl CLKRLinearHashTable::operator new(unsigned __int64)
+??2CLKRLinearHashTable@@SAPEAX_K@Z
+; public: static void __cdecl CLKRLinearHashTable::operator delete(void * __ptr64)
+??3CLKRLinearHashTable@@SAXPEAX@Z
+; public: class CDataCache<struct DATETIME_FORMAT_ENTRY> & __ptr64 __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::operator=(class CDataCache<struct DATETIME_FORMAT_ENTRY> const & __ptr64) __ptr64
+??4?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CDataCache<class CDateTime> & __ptr64 __cdecl CDataCache<class CDateTime>::operator=(class CDataCache<class CDateTime> const & __ptr64) __ptr64
+??4?$CDataCache@VCDateTime@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<1,1,3,1,3,2> & __ptr64 __cdecl CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$00$00$02$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<2,1,1,1,3,2> & __ptr64 __cdecl CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$01$00$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<3,1,1,1,1,1> & __ptr64 __cdecl CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const & __ptr64) __ptr64
+??4?$CLockBase@$02$00$00$00$00$00@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<4,1,1,2,3,3> & __ptr64 __cdecl CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const & __ptr64) __ptr64
+??4?$CLockBase@$03$00$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<5,2,1,2,3,3> & __ptr64 __cdecl CLockBase<5,2,1,2,3,3>::operator=(class CLockBase<5,2,1,2,3,3> const & __ptr64) __ptr64
+??4?$CLockBase@$04$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<6,2,1,2,3,3> & __ptr64 __cdecl CLockBase<6,2,1,2,3,3>::operator=(class CLockBase<6,2,1,2,3,3> const & __ptr64) __ptr64
+??4?$CLockBase@$05$01$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<7,2,2,1,3,2> & __ptr64 __cdecl CLockBase<7,2,2,1,3,2>::operator=(class CLockBase<7,2,2,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$06$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<8,2,2,1,3,2> & __ptr64 __cdecl CLockBase<8,2,2,1,3,2>::operator=(class CLockBase<8,2,2,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$07$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<9,2,1,1,3,2> & __ptr64 __cdecl CLockBase<9,2,1,1,3,2>::operator=(class CLockBase<9,2,1,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$08$01$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class ALLOC_CACHE_HANDLER & __ptr64 __cdecl ALLOC_CACHE_HANDLER::operator=(class ALLOC_CACHE_HANDLER const & __ptr64) __ptr64
+??4ALLOC_CACHE_HANDLER@@QEAAAEAV0@AEBV0@@Z
+; public: class BUFFER & __ptr64 __cdecl BUFFER::operator=(class BUFFER const & __ptr64) __ptr64
+??4BUFFER@@QEAAAEAV0@AEBV0@@Z
+; public: class BUFFER_CHAIN & __ptr64 __cdecl BUFFER_CHAIN::operator=(class BUFFER_CHAIN const & __ptr64) __ptr64
+??4BUFFER_CHAIN@@QEAAAEAV0@AEBV0@@Z
+; public: class BUFFER_CHAIN_ITEM & __ptr64 __cdecl BUFFER_CHAIN_ITEM::operator=(class BUFFER_CHAIN_ITEM const & __ptr64) __ptr64
+??4BUFFER_CHAIN_ITEM@@QEAAAEAV0@AEBV0@@Z
+; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
+??4CCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CDFTCache & __ptr64 __cdecl CDFTCache::operator=(class CDFTCache const & __ptr64) __ptr64
+??4CDFTCache@@QEAAAEAV0@AEBV0@@Z
+; public: class CDateTime & __ptr64 __cdecl CDateTime::operator=(class CDateTime const & __ptr64) __ptr64
+??4CDateTime@@QEAAAEAV0@AEBV0@@Z
+; public: class CDoubleList & __ptr64 __cdecl CDoubleList::operator=(class CDoubleList const & __ptr64) __ptr64
+??4CDoubleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CFakeLock & __ptr64 __cdecl CFakeLock::operator=(class CFakeLock const & __ptr64) __ptr64
+??4CFakeLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CHUNK_BUFFER & __ptr64 __cdecl CHUNK_BUFFER::operator=(class CHUNK_BUFFER const & __ptr64) __ptr64
+??4CHUNK_BUFFER@@QEAAAEAV0@AEBV0@@Z
+; public: class CLKRHashTableStats & __ptr64 __cdecl CLKRHashTableStats::operator=(class CLKRHashTableStats const & __ptr64) __ptr64
+??4CLKRHashTableStats@@QEAAAEAV0@AEBV0@@Z
+; public: class CLKRHashTable_Iterator & __ptr64 __cdecl CLKRHashTable_Iterator::operator=(class CLKRHashTable_Iterator const & __ptr64) __ptr64
+??4CLKRHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
+; public: class CLKRLinearHashTable_Iterator & __ptr64 __cdecl CLKRLinearHashTable_Iterator::operator=(class CLKRLinearHashTable_Iterator const & __ptr64) __ptr64
+??4CLKRLinearHashTable_Iterator@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockedDoubleList & __ptr64 __cdecl CLockedDoubleList::operator=(class CLockedDoubleList const & __ptr64) __ptr64
+??4CLockedDoubleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockedSingleList & __ptr64 __cdecl CLockedSingleList::operator=(class CLockedSingleList const & __ptr64) __ptr64
+??4CLockedSingleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CReaderWriterLock2 & __ptr64 __cdecl CReaderWriterLock2::operator=(class CReaderWriterLock2 const & __ptr64) __ptr64
+??4CReaderWriterLock2@@QEAAAEAV0@AEBV0@@Z
+; public: class CReaderWriterLock3 & __ptr64 __cdecl CReaderWriterLock3::operator=(class CReaderWriterLock3 const & __ptr64) __ptr64
+??4CReaderWriterLock3@@QEAAAEAV0@AEBV0@@Z
+; public: class CReaderWriterLock & __ptr64 __cdecl CReaderWriterLock::operator=(class CReaderWriterLock const & __ptr64) __ptr64
+??4CReaderWriterLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CRtlResource & __ptr64 __cdecl CRtlResource::operator=(class CRtlResource const & __ptr64) __ptr64
+??4CRtlResource@@QEAAAEAV0@AEBV0@@Z
+; public: class CSecurityDispenser & __ptr64 __cdecl CSecurityDispenser::operator=(class CSecurityDispenser const & __ptr64) __ptr64
+??4CSecurityDispenser@@QEAAAEAV0@AEBV0@@Z
+; public: class CSingleList & __ptr64 __cdecl CSingleList::operator=(class CSingleList const & __ptr64) __ptr64
+??4CSingleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CSmallSpinLock & __ptr64 __cdecl CSmallSpinLock::operator=(class CSmallSpinLock const & __ptr64) __ptr64
+??4CSmallSpinLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CSpinLock & __ptr64 __cdecl CSpinLock::operator=(class CSpinLock const & __ptr64) __ptr64
+??4CSpinLock@@QEAAAEAV0@AEBV0@@Z
+; public: struct DATETIME_FORMAT_ENTRY & __ptr64 __cdecl DATETIME_FORMAT_ENTRY::operator=(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
+??4DATETIME_FORMAT_ENTRY@@QEAAAEAU0@AEBU0@@Z
+; public: class EVENT_LOG & __ptr64 __cdecl EVENT_LOG::operator=(class EVENT_LOG const & __ptr64) __ptr64
+??4EVENT_LOG@@QEAAAEAV0@AEBV0@@Z
+; public: class IPM_MESSAGE_PIPE & __ptr64 __cdecl IPM_MESSAGE_PIPE::operator=(class IPM_MESSAGE_PIPE const & __ptr64) __ptr64
+??4IPM_MESSAGE_PIPE@@QEAAAEAV0@AEBV0@@Z
+; public: class MB & __ptr64 __cdecl MB::operator=(class MB const & __ptr64) __ptr64
+??4MB@@QEAAAEAV0@AEBV0@@Z
+; public: class MULTISZ & __ptr64 __cdecl MULTISZ::operator=(class MULTISZ const & __ptr64) __ptr64
+??4MULTISZ@@QEAAAEAV0@AEBV0@@Z
+; public: class MULTISZA & __ptr64 __cdecl MULTISZA::operator=(class MULTISZA const & __ptr64) __ptr64
+??4MULTISZA@@QEAAAEAV0@AEBV0@@Z
+; private: class STRA & __ptr64 __cdecl STRA::operator=(class STRA const & __ptr64) __ptr64
+??4STRA@@AEAAAEAV0@AEBV0@@Z
+; public: class STRAU & __ptr64 __cdecl STRAU::operator=(class STRAU const & __ptr64) __ptr64
+??4STRAU@@QEAAAEAV0@AEBV0@@Z
+; private: class STRU & __ptr64 __cdecl STRU::operator=(class STRU const & __ptr64) __ptr64
+??4STRU@@AEAAAEAV0@AEBV0@@Z
+; public: class TS_RESOURCE & __ptr64 __cdecl TS_RESOURCE::operator=(class TS_RESOURCE const & __ptr64) __ptr64
+??4TS_RESOURCE@@QEAAAEAV0@AEBV0@@Z
+; public: class W3_TRACE_LOG & __ptr64 __cdecl W3_TRACE_LOG::operator=(class W3_TRACE_LOG const & __ptr64) __ptr64
+??4W3_TRACE_LOG@@QEAAAEAV0@AEBV0@@Z
+; public: class W3_TRACE_LOG_FACTORY & __ptr64 __cdecl W3_TRACE_LOG_FACTORY::operator=(class W3_TRACE_LOG_FACTORY const & __ptr64) __ptr64
+??4W3_TRACE_LOG_FACTORY@@QEAAAEAV0@AEBV0@@Z
+; public: bool __cdecl CLKRHashTable_Iterator::operator==(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
+??8CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
+; public: bool __cdecl CLKRLinearHashTable_Iterator::operator==(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
+??8CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
+; public: bool __cdecl CLKRHashTable_Iterator::operator!=(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
+??9CLKRHashTable_Iterator@@QEBA_NAEBV0@@Z
+; public: bool __cdecl CLKRLinearHashTable_Iterator::operator!=(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
+??9CLKRLinearHashTable_Iterator@@QEBA_NAEBV0@@Z
+; const  ASCLOG_DATETIME_CACHE::`vftable'
+??_7ASCLOG_DATETIME_CACHE@@6B@
+; const  CACHED_DATETIME_FORMATS::`vftable'
+??_7CACHED_DATETIME_FORMATS@@6B@
+; const  EXTLOG_DATETIME_CACHE::`vftable'
+??_7EXTLOG_DATETIME_CACHE@@6B@
+; const  W3_DATETIME_CACHE::`vftable'
+??_7W3_DATETIME_CACHE@@6B@
+; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
+??_FBUFFER@@QEAAXXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
+??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
+; public: void __cdecl CSharelock::`default constructor closure'(void) __ptr64
+??_FCSharelock@@QEAAXXZ
+ACopyToW
+; public: int __cdecl CSharelock::ActiveUsers(void) __ptr64
+?ActiveUsers@CSharelock@@QEAAHXZ
+; private: long __cdecl CHUNK_BUFFER::AddNewBlock(unsigned long) __ptr64
+?AddNewBlock@CHUNK_BUFFER@@AEAAJK@Z
+; public: int __cdecl MB::AddObject(unsigned short const * __ptr64) __ptr64
+?AddObject@MB@@QEAAHPEBG@Z
+; public: virtual unsigned long __cdecl MB_BASE_NOTIFICATION_SINK::AddRef(void) __ptr64
+?AddRef@MB_BASE_NOTIFICATION_SINK@@UEAAKXZ
+AddWpgToTokenDefaultDacl
+; public: unsigned long __cdecl CSecurityDispenser::AdjustTokenForAdministrators(void * __ptr64) __ptr64
+?AdjustTokenForAdministrators@CSecurityDispenser@@QEAAKPEAX@Z
+; public: void * __ptr64 __cdecl ALLOC_CACHE_HANDLER::Alloc(void) __ptr64
+?Alloc@ALLOC_CACHE_HANDLER@@QEAAPEAXXZ
+AllocateAndCreateWellKnownAcl
+AllocateAndCreateWellKnownSid
+; public: long __cdecl CHUNK_BUFFER::AllocateSpace(unsigned long,char * __ptr64 * __ptr64) __ptr64
+?AllocateSpace@CHUNK_BUFFER@@QEAAJKPEAPEAD@Z
+; public: long __cdecl CHUNK_BUFFER::AllocateSpace(unsigned long,unsigned short * __ptr64 * __ptr64) __ptr64
+?AllocateSpace@CHUNK_BUFFER@@QEAAJKPEAPEAG@Z
+; public: long __cdecl CHUNK_BUFFER::AllocateSpace(unsigned long,void * __ptr64 * __ptr64) __ptr64
+?AllocateSpace@CHUNK_BUFFER@@QEAAJKPEAPEAX@Z
+; public: long __cdecl CHUNK_BUFFER::AllocateSpace(char * __ptr64,unsigned long,char * __ptr64 * __ptr64) __ptr64
+?AllocateSpace@CHUNK_BUFFER@@QEAAJPEADKPEAPEAD@Z
+; public: long __cdecl CHUNK_BUFFER::AllocateSpace(unsigned short * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64) __ptr64
+?AllocateSpace@CHUNK_BUFFER@@QEAAJPEAGKPEAPEAG@Z
+AlterDesktopForUser
+; public: int __cdecl MULTISZ::Append(class STRU & __ptr64) __ptr64
+?Append@MULTISZ@@QEAAHAEAVSTRU@@@Z
+; public: int __cdecl MULTISZ::Append(unsigned short const * __ptr64) __ptr64
+?Append@MULTISZ@@QEAAHPEBG@Z
+; public: int __cdecl MULTISZ::Append(unsigned short const * __ptr64,unsigned long) __ptr64
+?Append@MULTISZ@@QEAAHPEBGK@Z
+; public: int __cdecl MULTISZA::Append(class STRA & __ptr64) __ptr64
+?Append@MULTISZA@@QEAAHAEAVSTRA@@@Z
+; public: int __cdecl MULTISZA::Append(char const * __ptr64) __ptr64
+?Append@MULTISZA@@QEAAHPEBD@Z
+; public: int __cdecl MULTISZA::Append(char const * __ptr64,unsigned long) __ptr64
+?Append@MULTISZA@@QEAAHPEBDK@Z
+; public: long __cdecl STRA::Append(class STRA const & __ptr64) __ptr64
+?Append@STRA@@QEAAJAEBV1@@Z
+; public: long __cdecl STRA::Append(char const * __ptr64) __ptr64
+?Append@STRA@@QEAAJPEBD@Z
+; public: long __cdecl STRA::Append(char const * __ptr64,unsigned long) __ptr64
+?Append@STRA@@QEAAJPEBDK@Z
+; public: int __cdecl STRAU::Append(class STRAU & __ptr64) __ptr64
+?Append@STRAU@@QEAAHAEAV1@@Z
+; public: int __cdecl STRAU::Append(char const * __ptr64) __ptr64
+?Append@STRAU@@QEAAHPEBD@Z
+; public: int __cdecl STRAU::Append(char const * __ptr64,unsigned long) __ptr64
+?Append@STRAU@@QEAAHPEBDK@Z
+; public: int __cdecl STRAU::Append(unsigned short const * __ptr64) __ptr64
+?Append@STRAU@@QEAAHPEBG@Z
+; public: int __cdecl STRAU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
+?Append@STRAU@@QEAAHPEBGK@Z
+; public: long __cdecl STRU::Append(class STRU const & __ptr64) __ptr64
+?Append@STRU@@QEAAJAEBV1@@Z
+; public: long __cdecl STRU::Append(unsigned short const * __ptr64) __ptr64
+?Append@STRU@@QEAAJPEBG@Z
+; public: long __cdecl STRU::Append(unsigned short const * __ptr64,unsigned long) __ptr64
+?Append@STRU@@QEAAJPEBGK@Z
+; public: long __cdecl STRU::AppendA(char const * __ptr64) __ptr64
+?AppendA@STRU@@QEAAJPEBD@Z
+; public: int __cdecl BUFFER_CHAIN::AppendBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
+?AppendBuffer@BUFFER_CHAIN@@QEAAHPEAVBUFFER_CHAIN_ITEM@@@Z
+; public: long __cdecl W3_TRACE_LOG_FACTORY::AppendData(void * __ptr64,unsigned long) __ptr64
+?AppendData@W3_TRACE_LOG_FACTORY@@QEAAJPEAXK@Z
+; public: int __cdecl MULTISZA::AppendW(unsigned short const * __ptr64) __ptr64
+?AppendW@MULTISZA@@QEAAHPEBG@Z
+; public: int __cdecl MULTISZA::AppendW(unsigned short const * __ptr64,unsigned long) __ptr64
+?AppendW@MULTISZA@@QEAAHPEBGK@Z
+; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64) __ptr64
+?AppendW@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::AppendW(unsigned short const * __ptr64,unsigned long) __ptr64
+?AppendW@STRA@@QEAAJPEBGK@Z
+; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64) __ptr64
+?AppendWTruncate@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::AppendWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
+?AppendWTruncate@STRA@@QEAAJPEBGK@Z
+; public: unsigned long __cdecl CLKRHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?Apply@CLKRHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CLKRLinearHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?Apply@CLKRLinearHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?ApplyIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?ApplyIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
+; private: int __cdecl MULTISZ::AuxAppend(unsigned short const * __ptr64,unsigned int,int) __ptr64
+?AuxAppend@MULTISZ@@AEAAHPEBGIH@Z
+; private: int __cdecl MULTISZA::AuxAppend(unsigned char const * __ptr64,unsigned int,int) __ptr64
+?AuxAppend@MULTISZA@@AEAAHPEBEIH@Z
+; private: long __cdecl STRA::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppend@STRA@@AEAAJPEBEKKH@Z
+; private: int __cdecl STRAU::AuxAppend(char const * __ptr64,unsigned int,int) __ptr64
+?AuxAppend@STRAU@@AEAAHPEBDIH@Z
+; private: int __cdecl STRAU::AuxAppend(unsigned short const * __ptr64,unsigned int,int) __ptr64
+?AuxAppend@STRAU@@AEAAHPEBGIH@Z
+; private: long __cdecl STRU::AuxAppend(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppend@STRU@@AEAAJPEBEKKH@Z
+; private: long __cdecl STRU::AuxAppendA(unsigned char const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppendA@STRU@@AEAAJPEBEKKH@Z
+; private: int __cdecl MULTISZA::AuxAppendW(unsigned short const * __ptr64,unsigned int,int) __ptr64
+?AuxAppendW@MULTISZA@@AEAAHPEBGIH@Z
+; private: long __cdecl STRA::AuxAppendW(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppendW@STRA@@AEAAJPEBGKKH@Z
+; private: long __cdecl STRA::AuxAppendWTruncate(unsigned short const * __ptr64,unsigned long,unsigned long,int) __ptr64
+?AuxAppendWTruncate@STRA@@AEAAJPEBGKKH@Z
+; private: void __cdecl MULTISZ::AuxInit(unsigned short const * __ptr64) __ptr64
+?AuxInit@MULTISZ@@AEAAXPEBG@Z
+; private: void __cdecl MULTISZA::AuxInit(unsigned char const * __ptr64) __ptr64
+?AuxInit@MULTISZA@@AEAAXPEBE@Z
+; private: void __cdecl STRAU::AuxInit(char const * __ptr64) __ptr64
+?AuxInit@STRAU@@AEAAXPEBD@Z
+; private: void __cdecl STRAU::AuxInit(unsigned short const * __ptr64) __ptr64
+?AuxInit@STRAU@@AEAAXPEBG@Z
+; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::Begin(void) __ptr64
+?Begin@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
+; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::Begin(void) __ptr64
+?Begin@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
+; public: static long __cdecl CLKRHashTableStats::BucketIndex(long)
+?BucketIndex@CLKRHashTableStats@@SAJJ@Z
+; public: static long __cdecl CLKRHashTableStats::BucketSize(long)
+?BucketSize@CLKRHashTableStats@@SAJJ@Z
+; public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)
+?BucketSizes@CLKRHashTableStats@@SAPEBJXZ
+; public: static unsigned long __cdecl MULTISZ::CalcLength(unsigned short const * __ptr64,unsigned long * __ptr64)
+?CalcLength@MULTISZ@@SAKPEBGPEAK@Z
+; public: static unsigned long __cdecl MULTISZA::CalcLength(char const * __ptr64,unsigned long * __ptr64)
+?CalcLength@MULTISZA@@SAKPEBDPEAK@Z
+; public: unsigned long __cdecl BUFFER_CHAIN::CalcTotalSize(int)const  __ptr64
+?CalcTotalSize@BUFFER_CHAIN@@QEBAKH@Z
+; public: void __cdecl CSharelock::ChangeExclusiveLockToSharedLock(void) __ptr64
+?ChangeExclusiveLockToSharedLock@CSharelock@@QEAAXXZ
+; public: unsigned char __cdecl CSharelock::ChangeSharedLockToExclusiveLock(int) __ptr64
+?ChangeSharedLockToExclusiveLock@CSharelock@@QEAAEH@Z
+; public: int __cdecl CLKRHashTable::CheckTable(void)const  __ptr64
+?CheckTable@CLKRHashTable@@QEBAHXZ
+; public: int __cdecl CLKRLinearHashTable::CheckTable(void)const  __ptr64
+?CheckTable@CLKRLinearHashTable@@QEBAHXZ
+; public: unsigned char __cdecl CSharelock::ClaimExclusiveLock(int) __ptr64
+?ClaimExclusiveLock@CSharelock@@QEAAEH@Z
+; public: unsigned char __cdecl CSharelock::ClaimShareLock(int) __ptr64
+?ClaimShareLock@CSharelock@@QEAAEH@Z
+; public: static unsigned short const * __ptr64 __cdecl CCritSec::ClassName(void)
+?ClassName@CCritSec@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CFakeLock::ClassName(void)
+?ClassName@CFakeLock@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CLKRHashTable::ClassName(void)
+?ClassName@CLKRHashTable@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CLKRLinearHashTable::ClassName(void)
+?ClassName@CLKRLinearHashTable@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
+?ClassName@CReaderWriterLock2@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
+?ClassName@CReaderWriterLock3@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
+?ClassName@CReaderWriterLock@@SAPEBGXZ
+; public: static char const * __ptr64 __cdecl CRtlResource::ClassName(void)
+?ClassName@CRtlResource@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CShareLock::ClassName(void)
+?ClassName@CShareLock@@SAPEBDXZ
+; public: static unsigned short const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
+?ClassName@CSmallSpinLock@@SAPEBGXZ
+; public: static unsigned short const * __ptr64 __cdecl CSpinLock::ClassName(void)
+?ClassName@CSpinLock@@SAPEBGXZ
+; public: static int __cdecl ALLOC_CACHE_HANDLER::Cleanup(void)
+?Cleanup@ALLOC_CACHE_HANDLER@@SAHXZ
+; public: static void __cdecl ALLOC_CACHE_HANDLER::CleanupAllLookasides(void * __ptr64,unsigned char)
+?CleanupAllLookasides@ALLOC_CACHE_HANDLER@@SAXPEAXE@Z
+; public: void __cdecl ALLOC_CACHE_HANDLER::CleanupLookaside(int) __ptr64
+?CleanupLookaside@ALLOC_CACHE_HANDLER@@QEAAXH@Z
+; public: void __cdecl CLKRHashTable::Clear(void) __ptr64
+?Clear@CLKRHashTable@@QEAAXXZ
+; public: void __cdecl CLKRLinearHashTable::Clear(void) __ptr64
+?Clear@CLKRLinearHashTable@@QEAAXXZ
+; public: void __cdecl W3_TRACE_LOG::ClearBuffer(void) __ptr64
+?ClearBuffer@W3_TRACE_LOG@@QEAAXXZ
+; public: int __cdecl MULTISZ::Clone(class MULTISZ * __ptr64)const  __ptr64
+?Clone@MULTISZ@@QEBAHPEAV1@@Z
+; public: int __cdecl MULTISZA::Clone(class MULTISZA * __ptr64)const  __ptr64
+?Clone@MULTISZA@@QEBAHPEAV1@@Z
+; public: long __cdecl STRA::Clone(class STRA * __ptr64)const  __ptr64
+?Clone@STRA@@QEBAJPEAV1@@Z
+; public: int __cdecl MB::Close(void) __ptr64
+?Close@MB@@QEAAHXZ
+CompareStringNoCase
+; public: void __cdecl TS_RESOURCE::Convert(enum TSRES_CONV_TYPE) __ptr64
+?Convert@TS_RESOURCE@@QEAAXW4TSRES_CONV_TYPE@@@Z
+; public: void __cdecl CCritSec::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ConvertExclusiveToShared(void)const  __ptr64
+?ConvertExclusiveToShared@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ConvertExclusiveToShared(void)const  __ptr64
+?ConvertExclusiveToShared@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CSpinLock@@QEAAXXZ
+; public: void __cdecl CCritSec::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ConvertSharedToExclusive(void)const  __ptr64
+?ConvertSharedToExclusive@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ConvertSharedToExclusive(void)const  __ptr64
+?ConvertSharedToExclusive@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CSpinLock@@QEAAXXZ
+ConvertUnicodeToMultiByte
+; public: int __cdecl MULTISZ::Copy(class MULTISZ const & __ptr64) __ptr64
+?Copy@MULTISZ@@QEAAHAEBV1@@Z
+; public: int __cdecl MULTISZ::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
+?Copy@MULTISZ@@QEAAHPEBGK@Z
+; public: int __cdecl MULTISZA::Copy(class MULTISZA const & __ptr64) __ptr64
+?Copy@MULTISZA@@QEAAHAEBV1@@Z
+; public: int __cdecl MULTISZA::Copy(char const * __ptr64,unsigned long) __ptr64
+?Copy@MULTISZA@@QEAAHPEBDK@Z
+; public: long __cdecl STRA::Copy(class STRA const & __ptr64) __ptr64
+?Copy@STRA@@QEAAJAEBV1@@Z
+; public: long __cdecl STRA::Copy(char const * __ptr64) __ptr64
+?Copy@STRA@@QEAAJPEBD@Z
+; public: long __cdecl STRA::Copy(char const * __ptr64,unsigned long) __ptr64
+?Copy@STRA@@QEAAJPEBDK@Z
+; public: int __cdecl STRAU::Copy(class STRAU & __ptr64) __ptr64
+?Copy@STRAU@@QEAAHAEAV1@@Z
+; public: int __cdecl STRAU::Copy(char const * __ptr64) __ptr64
+?Copy@STRAU@@QEAAHPEBD@Z
+; public: int __cdecl STRAU::Copy(char const * __ptr64,unsigned long) __ptr64
+?Copy@STRAU@@QEAAHPEBDK@Z
+; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64) __ptr64
+?Copy@STRAU@@QEAAHPEBG@Z
+; public: int __cdecl STRAU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
+?Copy@STRAU@@QEAAHPEBGK@Z
+; public: long __cdecl STRU::Copy(class STRU const & __ptr64) __ptr64
+?Copy@STRU@@QEAAJAEBV1@@Z
+; public: long __cdecl STRU::Copy(unsigned short const * __ptr64) __ptr64
+?Copy@STRU@@QEAAJPEBG@Z
+; public: long __cdecl STRU::Copy(unsigned short const * __ptr64,unsigned long) __ptr64
+?Copy@STRU@@QEAAJPEBGK@Z
+; public: long __cdecl STRU::CopyA(char const * __ptr64) __ptr64
+?CopyA@STRU@@QEAAJPEBD@Z
+; public: long __cdecl STRU::CopyA(char const * __ptr64,unsigned long) __ptr64
+?CopyA@STRU@@QEAAJPEBDK@Z
+; public: long __cdecl STRA::CopyBinary(void * __ptr64,unsigned long) __ptr64
+?CopyBinary@STRA@@QEAAJPEAXK@Z
+; public: int __cdecl CDFTCache::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
+?CopyFormattedData@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@PEAD@Z
+; public: void __cdecl DATETIME_FORMAT_ENTRY::CopyFormattedData(struct _SYSTEMTIME const * __ptr64,char * __ptr64)const  __ptr64
+?CopyFormattedData@DATETIME_FORMAT_ENTRY@@QEBAXPEBU_SYSTEMTIME@@PEAD@Z
+; public: int __cdecl MULTISZ::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
+?CopyToBuffer@MULTISZ@@QEBAHPEAGPEAK@Z
+; public: int __cdecl MULTISZA::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
+?CopyToBuffer@MULTISZA@@QEBAHPEADPEAK@Z
+; public: long __cdecl STRA::CopyToBuffer(char * __ptr64,unsigned long * __ptr64)const  __ptr64
+?CopyToBuffer@STRA@@QEBAJPEADPEAK@Z
+; public: long __cdecl STRU::CopyToBuffer(unsigned short * __ptr64,unsigned long * __ptr64)const  __ptr64
+?CopyToBuffer@STRU@@QEBAJPEAGPEAK@Z
+; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64) __ptr64
+?CopyW@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::CopyW(unsigned short const * __ptr64,unsigned long) __ptr64
+?CopyW@STRA@@QEAAJPEBGK@Z
+; public: long __cdecl STRA::CopyWToUTF8(class STRU const & __ptr64) __ptr64
+?CopyWToUTF8@STRA@@QEAAJAEBVSTRU@@@Z
+; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64) __ptr64
+?CopyWToUTF8@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::CopyWToUTF8(unsigned short const * __ptr64,unsigned long) __ptr64
+?CopyWToUTF8@STRA@@QEAAJPEBGK@Z
+; public: long __cdecl STRA::CopyWToUTF8Unescaped(class STRU const & __ptr64) __ptr64
+?CopyWToUTF8Unescaped@STRA@@QEAAJAEBVSTRU@@@Z
+; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64) __ptr64
+?CopyWToUTF8Unescaped@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::CopyWToUTF8Unescaped(unsigned short const * __ptr64,unsigned long) __ptr64
+?CopyWToUTF8Unescaped@STRA@@QEAAJPEBGK@Z
+; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64) __ptr64
+?CopyWTruncate@STRA@@QEAAJPEBG@Z
+; public: long __cdecl STRA::CopyWTruncate(unsigned short const * __ptr64,unsigned long) __ptr64
+?CopyWTruncate@STRA@@QEAAJPEBGK@Z
+; public: static long __cdecl IPM_MESSAGE_PIPE::CreateIpmMessagePipe(class IPM_MESSAGE_ACCEPTOR * __ptr64,unsigned short const * __ptr64,int,struct _SECURITY_ATTRIBUTES * __ptr64,class IPM_MESSAGE_PIPE * __ptr64 * __ptr64)
+?CreateIpmMessagePipe@IPM_MESSAGE_PIPE@@SAJPEAVIPM_MESSAGE_ACCEPTOR@@PEBGHPEAU_SECURITY_ATTRIBUTES@@PEAPEAV1@@Z
+; public: long __cdecl W3_TRACE_LOG_FACTORY::CreateTraceLog(class W3_TRACE_LOG * __ptr64 * __ptr64) __ptr64
+?CreateTraceLog@W3_TRACE_LOG_FACTORY@@QEAAJPEAPEAVW3_TRACE_LOG@@@Z
+; public: static long __cdecl W3_TRACE_LOG_FACTORY::CreateTraceLogFactory(class W3_TRACE_LOG_FACTORY * __ptr64 * __ptr64,void * __ptr64)
+?CreateTraceLogFactory@W3_TRACE_LOG_FACTORY@@SAJPEAPEAV1@PEAX@Z
+; public: unsigned long __cdecl CDFTCache::DateTimeChars(void)const  __ptr64
+?DateTimeChars@CDFTCache@@QEBAKXZ
+; char const * __ptr64 __cdecl DayOfWeek3CharNames(unsigned long)
+?DayOfWeek3CharNames@@YAPEBDK@Z
+; private: void __cdecl IPM_MESSAGE_PIPE::DecrementAcceptorInUse(void) __ptr64
+?DecrementAcceptorInUse@IPM_MESSAGE_PIPE@@AEAAXXZ
+DecryptMemoryPassword
+; public: unsigned long __cdecl BUFFER_CHAIN::DeleteChain(void) __ptr64
+?DeleteChain@BUFFER_CHAIN@@QEAAKXZ
+; public: int __cdecl MB::DeleteData(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
+?DeleteData@MB@@QEAAHPEBGKKK@Z
+; public: unsigned long __cdecl CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
+?DeleteIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
+; public: unsigned long __cdecl CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
+?DeleteIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteKey(unsigned __int64) __ptr64
+?DeleteKey@CLKRHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteKey(unsigned __int64) __ptr64
+?DeleteKey@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
+; public: int __cdecl MB::DeleteObject(unsigned short const * __ptr64) __ptr64
+?DeleteObject@MB@@QEAAHPEBG@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteRecord(void const * __ptr64) __ptr64
+?DeleteRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteRecord(void const * __ptr64) __ptr64
+?DeleteRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
+; public: void __cdecl IPM_MESSAGE_PIPE::DestroyIpmMessagePipe(void) __ptr64
+?DestroyIpmMessagePipe@IPM_MESSAGE_PIPE@@QEAAXXZ
+; public: void __cdecl W3_TRACE_LOG::DestroyTraceLog(void) __ptr64
+?DestroyTraceLog@W3_TRACE_LOG@@QEAAXXZ
+; public: void __cdecl W3_TRACE_LOG_FACTORY::DestroyTraceLogFactory(void) __ptr64
+?DestroyTraceLogFactory@W3_TRACE_LOG_FACTORY@@QEAAXXZ
+; public: virtual unsigned long __cdecl CEtwTracer::DisableEventsCallbackCustomHandler(void) __ptr64
+?DisableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
+DisableTokenBackupPrivilege
+; public: static int __cdecl ALLOC_CACHE_HANDLER::DumpStatsToHtml(char * __ptr64,unsigned long * __ptr64)
+?DumpStatsToHtml@ALLOC_CACHE_HANDLER@@SAHPEADPEAK@Z
+DupTokenWithSameImpersonationLevel
+; public: virtual unsigned long __cdecl CEtwTracer::EnableEventsCallbackCustomHandler(void) __ptr64
+?EnableEventsCallbackCustomHandler@CEtwTracer@@UEAAKXZ
+EncryptMemoryPassword
+; public: class CLKRHashTable_Iterator  __cdecl CLKRHashTable::End(void) __ptr64
+?End@CLKRHashTable@@QEAA?AVCLKRHashTable_Iterator@@XZ
+; public: class CLKRLinearHashTable_Iterator  __cdecl CLKRLinearHashTable::End(void) __ptr64
+?End@CLKRLinearHashTable@@QEAA?AVCLKRLinearHashTable_Iterator@@XZ
+; public: int __cdecl MB::EnumObjects(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
+?EnumObjects@MB@@QEAAHPEBGPEAGK@Z
+; public: bool __cdecl CLKRHashTable::EqualRange(unsigned __int64,class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
+?EqualRange@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@1@Z
+; public: bool __cdecl CLKRLinearHashTable::EqualRange(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
+?EqualRange@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@1@Z
+; public: int __cdecl STRA::Equals(class STRA const & __ptr64)const  __ptr64
+?Equals@STRA@@QEBAHAEBV1@@Z
+; public: int __cdecl STRA::Equals(char * __ptr64 const)const  __ptr64
+?Equals@STRA@@QEBAHQEAD@Z
+; public: int __cdecl STRU::Equals(class STRU const & __ptr64)const  __ptr64
+?Equals@STRU@@QEBAHAEBV1@@Z
+; public: int __cdecl STRU::Equals(unsigned short const * __ptr64)const  __ptr64
+?Equals@STRU@@QEBAHPEBG@Z
+; public: int __cdecl STRA::EqualsNoCase(class STRA const & __ptr64)const  __ptr64
+?EqualsNoCase@STRA@@QEBAHAEBV1@@Z
+; public: int __cdecl STRA::EqualsNoCase(char * __ptr64 const)const  __ptr64
+?EqualsNoCase@STRA@@QEBAHQEAD@Z
+; public: int __cdecl STRU::EqualsNoCase(class STRU const & __ptr64)const  __ptr64
+?EqualsNoCase@STRU@@QEBAHAEBV1@@Z
+; public: int __cdecl STRU::EqualsNoCase(unsigned short const * __ptr64)const  __ptr64
+?EqualsNoCase@STRU@@QEBAHPEBG@Z
+; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64,class CLKRHashTable_Iterator & __ptr64) __ptr64
+?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@0@Z
+; public: bool __cdecl CLKRHashTable::Erase(class CLKRHashTable_Iterator & __ptr64) __ptr64
+?Erase@CLKRHashTable@@QEAA_NAEAVCLKRHashTable_Iterator@@@Z
+; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
+?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@0@Z
+; public: bool __cdecl CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
+?Erase@CLKRLinearHashTable@@QEAA_NAEAVCLKRLinearHashTable_Iterator@@@Z
+; public: long __cdecl STRA::Escape(int,int) __ptr64
+?Escape@STRA@@QEAAJHH@Z
+; public: long __cdecl STRU::Escape(void) __ptr64
+?Escape@STRU@@QEAAJXZ
+; public: unsigned long __cdecl CEtwTracer::EtwTraceEvent(struct _GUID const * __ptr64,unsigned long,...) __ptr64
+?EtwTraceEvent@CEtwTracer@@QEAAKPEBU_GUID@@KZZ
+; int __cdecl FileTimeToGMT(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long)
+?FileTimeToGMT@@YAHAEBU_FILETIME@@PEADK@Z
+; int __cdecl FileTimeToGMTEx(struct _FILETIME const & __ptr64,char * __ptr64,unsigned long,unsigned long)
+?FileTimeToGMTEx@@YAHAEBU_FILETIME@@PEADKK@Z
+; public: bool __cdecl CLKRHashTable::Find(unsigned __int64,class CLKRHashTable_Iterator & __ptr64) __ptr64
+?Find@CLKRHashTable@@QEAA_N_KAEAVCLKRHashTable_Iterator@@@Z
+; public: bool __cdecl CLKRLinearHashTable::Find(unsigned __int64,class CLKRLinearHashTable_Iterator & __ptr64) __ptr64
+?Find@CLKRLinearHashTable@@QEAA_N_KAEAVCLKRLinearHashTable_Iterator@@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
+?FindKey@CLKRHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
+?FindKey@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindRecord(void const * __ptr64)const  __ptr64
+?FindRecord@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindRecord(void const * __ptr64)const  __ptr64
+?FindRecord@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
+; public: int __cdecl MULTISZ::FindString(class STRU & __ptr64) __ptr64
+?FindString@MULTISZ@@QEAAHAEAVSTRU@@@Z
+; public: int __cdecl MULTISZ::FindString(unsigned short const * __ptr64) __ptr64
+?FindString@MULTISZ@@QEAAHPEBG@Z
+; public: int __cdecl MULTISZA::FindString(class STRA & __ptr64) __ptr64
+?FindString@MULTISZA@@QEAAHAEAVSTRA@@@Z
+; public: int __cdecl MULTISZA::FindString(char const * __ptr64) __ptr64
+?FindString@MULTISZA@@QEAAHPEBD@Z
+; public: int __cdecl MULTISZ::FindStringNoCase(class STRU & __ptr64) __ptr64
+?FindStringNoCase@MULTISZ@@QEAAHAEAVSTRU@@@Z
+; public: int __cdecl MULTISZ::FindStringNoCase(unsigned short const * __ptr64) __ptr64
+?FindStringNoCase@MULTISZ@@QEAAHPEBG@Z
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::First(void)const  __ptr64
+?First@CDoubleList@@QEBAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::First(void) __ptr64
+?First@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: unsigned short const * __ptr64 __cdecl MULTISZ::First(void)const  __ptr64
+?First@MULTISZ@@QEBAPEBGXZ
+; public: char const * __ptr64 __cdecl MULTISZA::First(void)const  __ptr64
+?First@MULTISZA@@QEBAPEBDXZ
+FlipSlashes
+; public: long __cdecl STRA::FormatString(unsigned long,char const * __ptr64 * __ptr64 const,char const * __ptr64,unsigned long) __ptr64
+?FormatString@STRA@@QEAAJKQEAPEBDPEBDK@Z
+; public: char const * __ptr64 __cdecl CDFTCache::FormattedBuffer(void)const  __ptr64
+?FormattedBuffer@CDFTCache@@QEBAPEBDXZ
+; public: int __cdecl ALLOC_CACHE_HANDLER::Free(void * __ptr64) __ptr64
+?Free@ALLOC_CACHE_HANDLER@@QEAAHPEAX@Z
+; public: void __cdecl CHUNK_BUFFER::FreeAllAllocatedSpace(void) __ptr64
+?FreeAllAllocatedSpace@CHUNK_BUFFER@@QEAAXXZ
+; public: void __cdecl BUFFER::FreeMemory(void) __ptr64
+?FreeMemory@BUFFER@@QEAAXXZ
+FreeSecurityAttributes
+FreeWellKnownAcl
+FreeWellKnownSid
+; public: virtual void __cdecl ASCLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
+?GenerateDateTimeString@ASCLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
+; public: virtual void __cdecl EXTLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
+?GenerateDateTimeString@EXTLOG_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
+; public: virtual void __cdecl W3_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY * __ptr64,struct _SYSTEMTIME const * __ptr64) __ptr64
+?GenerateDateTimeString@W3_DATETIME_CACHE@@UEAAXPEAUDATETIME_FORMAT_ENTRY@@PEBU_SYSTEMTIME@@@Z
+GenerateNameWithGUID
+; public: int __cdecl MB::GetAll(unsigned short const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetAll@MB@@QEAAHPEBGKKPEAVBUFFER@@PEAK2@Z
+; public: unsigned short __cdecl CLKRHashTable::GetBucketLockSpinCount(void)const  __ptr64
+?GetBucketLockSpinCount@CLKRHashTable@@QEBAGXZ
+; public: unsigned short __cdecl CLKRLinearHashTable::GetBucketLockSpinCount(void)const  __ptr64
+?GetBucketLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
+; public: int __cdecl MB::GetBuffer(unsigned short const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?GetBuffer@MB@@QEAAHPEBGKKPEAVBUFFER@@PEAKK@Z
+; public: int __cdecl MB::GetChildPaths(unsigned short const * __ptr64,class BUFFER * __ptr64) __ptr64
+?GetChildPaths@MB@@QEAAHPEBGPEAVBUFFER@@@Z
+; public: int __cdecl MB::GetData(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?GetData@MB@@QEAAHPEBGKKKPEAXPEAKK@Z
+; public: int __cdecl MB::GetDataPaths(unsigned short const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64) __ptr64
+?GetDataPaths@MB@@QEAAHPEBGKKPEAVBUFFER@@@Z
+; public: int __cdecl MB::GetDataSetNumber(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?GetDataSetNumber@MB@@QEAAHPEBGPEAK@Z
+; public: static double __cdecl CCritSec::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CCritSec@@SANXZ
+; public: static double __cdecl CFakeLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CFakeLock@@SANXZ
+; public: static double __cdecl CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SANXZ
+; public: static double __cdecl CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SANXZ
+; public: static double __cdecl CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SANXZ
+; public: static double __cdecl CRtlResource::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CRtlResource@@SANXZ
+; public: static double __cdecl CShareLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CShareLock@@SANXZ
+; public: static double __cdecl CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SANXZ
+; public: static double __cdecl CSpinLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CSpinLock@@SANXZ
+; public: static unsigned short __cdecl CCritSec::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CCritSec@@SAGXZ
+; public: static unsigned short __cdecl CFakeLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CFakeLock@@SAGXZ
+; public: static unsigned short __cdecl CReaderWriterLock2::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock2@@SAGXZ
+; public: static unsigned short __cdecl CReaderWriterLock3::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock3@@SAGXZ
+; public: static unsigned short __cdecl CReaderWriterLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock@@SAGXZ
+; public: static unsigned short __cdecl CRtlResource::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CRtlResource@@SAGXZ
+; public: static unsigned short __cdecl CShareLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CShareLock@@SAGXZ
+; public: static unsigned short __cdecl CSmallSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSmallSpinLock@@SAGXZ
+; public: static unsigned short __cdecl CSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSpinLock@@SAGXZ
+; public: int __cdecl MB::GetDword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long) __ptr64
+?GetDword@MB@@QEAAHPEBGKKPEAKK@Z
+; public: void __cdecl MB::GetDword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long) __ptr64
+?GetDword@MB@@QEAAXPEBGKKKPEAKK@Z
+; public: unsigned long __cdecl EVENT_LOG::GetErrorCode(void)const  __ptr64
+?GetErrorCode@EVENT_LOG@@QEBAKXZ
+; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedCurrentDateTime(char * __ptr64) __ptr64
+?GetFormattedCurrentDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEAD@Z
+; public: unsigned long __cdecl CACHED_DATETIME_FORMATS::GetFormattedDateTime(struct _SYSTEMTIME const * __ptr64,char * __ptr64) __ptr64
+?GetFormattedDateTime@CACHED_DATETIME_FORMATS@@QEAAKPEBU_SYSTEMTIME@@PEAD@Z
+; public: unsigned long __cdecl CSecurityDispenser::GetIisWpgSID(void * __ptr64 * __ptr64) __ptr64
+?GetIisWpgSID@CSecurityDispenser@@QEAAKPEAPEAX@Z
+; public: int __cdecl MB::GetMultisz(unsigned short const * __ptr64,unsigned long,unsigned long,class MULTISZ * __ptr64,unsigned long) __ptr64
+?GetMultisz@MB@@QEAAHPEBGKKPEAVMULTISZ@@K@Z
+; private: int __cdecl BUFFER::GetNewStorage(unsigned int) __ptr64
+?GetNewStorage@BUFFER@@AEAAHI@Z
+; public: unsigned long __cdecl CSecurityDispenser::GetSID(enum WELL_KNOWN_SID_TYPE,void * __ptr64 * __ptr64) __ptr64
+?GetSID@CSecurityDispenser@@QEAAKW4WELL_KNOWN_SID_TYPE@@PEAPEAX@Z
+GetSecurityAttributesForHandle
+; public: unsigned short __cdecl CCritSec::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CCritSec@@QEBAGXZ
+; public: unsigned short __cdecl CFakeLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CFakeLock@@QEBAGXZ
+; public: unsigned short __cdecl CReaderWriterLock2::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CReaderWriterLock2@@QEBAGXZ
+; public: unsigned short __cdecl CReaderWriterLock3::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CReaderWriterLock3@@QEBAGXZ
+; public: unsigned short __cdecl CReaderWriterLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CReaderWriterLock@@QEBAGXZ
+; public: unsigned short __cdecl CRtlResource::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CRtlResource@@QEBAGXZ
+; public: unsigned short __cdecl CShareLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CShareLock@@QEBAGXZ
+; public: unsigned short __cdecl CSmallSpinLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CSmallSpinLock@@QEBAGXZ
+; public: unsigned short __cdecl CSpinLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CSpinLock@@QEBAGXZ
+; public: class CLKRHashTableStats  __cdecl CLKRHashTable::GetStatistics(void)const  __ptr64
+?GetStatistics@CLKRHashTable@@QEBA?AVCLKRHashTableStats@@XZ
+; public: class CLKRHashTableStats  __cdecl CLKRLinearHashTable::GetStatistics(void)const  __ptr64
+?GetStatistics@CLKRLinearHashTable@@QEBA?AVCLKRHashTableStats@@XZ
+; public: int __cdecl MB::GetStr(unsigned short const * __ptr64,unsigned long,unsigned long,class STRU * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
+?GetStr@MB@@QEAAHPEBGKKPEAVSTRU@@K0@Z
+; public: int __cdecl MB::GetString(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?GetString@MB@@QEAAHPEBGKKPEAGPEAKK@Z
+; public: int __cdecl MB::GetSystemChangeNumber(unsigned long * __ptr64) __ptr64
+?GetSystemChangeNumber@MB@@QEAAHPEAK@Z
+; public: unsigned short __cdecl CLKRHashTable::GetTableLockSpinCount(void)const  __ptr64
+?GetTableLockSpinCount@CLKRHashTable@@QEBAGXZ
+; public: unsigned short __cdecl CLKRLinearHashTable::GetTableLockSpinCount(void)const  __ptr64
+?GetTableLockSpinCount@CLKRLinearHashTable@@QEBAGXZ
+; public: int __cdecl CDateTime::GetTickCount(void) __ptr64
+?GetTickCount@CDateTime@@QEAAHXZ
+GrantWpgAccessToToken
+; public: long __cdecl STRA::HTMLEncode(void) __ptr64
+?HTMLEncode@STRA@@QEAAJXZ
+; public: class CListEntry const * __ptr64 __cdecl CDoubleList::HeadNode(void)const  __ptr64
+?HeadNode@CDoubleList@@QEBAQEBVCListEntry@@XZ
+; public: class CListEntry const * __ptr64 __cdecl CLockedDoubleList::HeadNode(void)const  __ptr64
+?HeadNode@CLockedDoubleList@@QEBAQEBVCListEntry@@XZ
+; public: bool __cdecl CLKRHashTable_Iterator::Increment(void) __ptr64
+?Increment@CLKRHashTable_Iterator@@QEAA_NXZ
+; public: bool __cdecl CLKRLinearHashTable_Iterator::Increment(void) __ptr64
+?Increment@CLKRLinearHashTable_Iterator@@QEAA_NXZ
+; private: void __cdecl IPM_MESSAGE_PIPE::IncrementAcceptorInUse(void) __ptr64
+?IncrementAcceptorInUse@IPM_MESSAGE_PIPE@@AEAAXXZ
+; public: void __cdecl W3_TRACE_LOG::Indent(void) __ptr64
+?Indent@W3_TRACE_LOG@@QEAAXXZ
+; public: static int __cdecl ALLOC_CACHE_HANDLER::Initialize(void)
+?Initialize@ALLOC_CACHE_HANDLER@@SAHXZ
+; private: void __cdecl CHUNK_BUFFER::Initialize(void) __ptr64
+?Initialize@CHUNK_BUFFER@@AEAAXXZ
+; public: bool __cdecl CLKRHashTable::Insert(void const * __ptr64,class CLKRHashTable_Iterator & __ptr64,bool) __ptr64
+?Insert@CLKRHashTable@@QEAA_NPEBXAEAVCLKRHashTable_Iterator@@_N@Z
+; public: bool __cdecl CLKRLinearHashTable::Insert(void const * __ptr64,class CLKRLinearHashTable_Iterator & __ptr64,bool) __ptr64
+?Insert@CLKRLinearHashTable@@QEAA_NPEBXAEAVCLKRLinearHashTable_Iterator@@_N@Z
+; public: void __cdecl CDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
+?InsertHead@CDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: void __cdecl CLockedDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
+?InsertHead@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: static void __cdecl ALLOC_CACHE_HANDLER::InsertNewItem(class ALLOC_CACHE_HANDLER * __ptr64)
+?InsertNewItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
+?InsertRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
+?InsertRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
+; public: void __cdecl CDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
+?InsertTail@CDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: void __cdecl CLockedDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
+?InsertTail@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: int __cdecl ALLOC_CACHE_HANDLER::IpPrint(char * __ptr64,unsigned long * __ptr64) __ptr64
+?IpPrint@ALLOC_CACHE_HANDLER@@QEAAHPEADPEAK@Z
+; public: void __cdecl IPM_MESSAGE_PIPE::IpmMessageCreated(class IPM_MESSAGE_IMP * __ptr64) __ptr64
+?IpmMessageCreated@IPM_MESSAGE_PIPE@@QEAAXPEAVIPM_MESSAGE_IMP@@@Z
+; public: void __cdecl IPM_MESSAGE_PIPE::IpmMessageDeleted(class IPM_MESSAGE_IMP * __ptr64) __ptr64
+?IpmMessageDeleted@IPM_MESSAGE_PIPE@@QEAAXPEAVIPM_MESSAGE_IMP@@@Z
+; public: int __cdecl STRAU::IsCurrentUnicode(void) __ptr64
+?IsCurrentUnicode@STRAU@@QEAAHXZ
+; private: int __cdecl BUFFER::IsDynAlloced(void)const  __ptr64
+?IsDynAlloced@BUFFER@@AEBAHXZ
+; public: bool __cdecl CDoubleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedDoubleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CLockedDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedSingleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CLockedSingleList@@QEBA_NXZ
+; public: bool __cdecl CSingleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CSingleList@@QEBA_NXZ
+; public: int __cdecl MULTISZ::IsEmpty(void)const  __ptr64
+?IsEmpty@MULTISZ@@QEBAHXZ
+; public: int __cdecl MULTISZA::IsEmpty(void)const  __ptr64
+?IsEmpty@MULTISZA@@QEBAHXZ
+; public: int __cdecl STRA::IsEmpty(void)const  __ptr64
+?IsEmpty@STRA@@QEBAHXZ
+; public: int __cdecl STRAU::IsEmpty(void) __ptr64
+?IsEmpty@STRAU@@QEAAHXZ
+; public: int __cdecl STRU::IsEmpty(void)const  __ptr64
+?IsEmpty@STRU@@QEBAHXZ
+; public: int __cdecl CDFTCache::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
+?IsHit@CDFTCache@@QEBAHPEBU_SYSTEMTIME@@@Z
+; public: int __cdecl DATETIME_FORMAT_ENTRY::IsHit(struct _SYSTEMTIME const * __ptr64)const  __ptr64
+?IsHit@DATETIME_FORMAT_ENTRY@@QEBAHPEBU_SYSTEMTIME@@@Z
+; public: bool __cdecl CLockedDoubleList::IsLocked(void)const  __ptr64
+?IsLocked@CLockedDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedSingleList::IsLocked(void)const  __ptr64
+?IsLocked@CLockedSingleList@@QEBA_NXZ
+; public: bool __cdecl CCritSec::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CRtlResource::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CRtlResource@@QEBA_NXZ
+; public: bool __cdecl CShareLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CShareLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CSpinLock@@QEBA_NXZ
+; public: bool __cdecl CCritSec::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CRtlResource::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CRtlResource@@QEBA_NXZ
+; public: bool __cdecl CShareLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CShareLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CSpinLock@@QEBA_NXZ
+IsSSLReportingBackwardCompatibilityMode
+; public: bool __cdecl CLockedDoubleList::IsUnlocked(void)const  __ptr64
+?IsUnlocked@CLockedDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedSingleList::IsUnlocked(void)const  __ptr64
+?IsUnlocked@CLockedSingleList@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsUsable(void)const  __ptr64
+?IsUsable@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsUsable(void)const  __ptr64
+?IsUsable@CLKRLinearHashTable@@QEBA_NXZ
+; public: int __cdecl ALLOC_CACHE_HANDLER::IsValid(void)const  __ptr64
+?IsValid@ALLOC_CACHE_HANDLER@@QEBAHXZ
+; public: int __cdecl BUFFER::IsValid(void)const  __ptr64
+?IsValid@BUFFER@@QEBAHXZ
+; public: bool __cdecl CLKRHashTable::IsValid(void)const  __ptr64
+?IsValid@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable_Iterator::IsValid(void)const  __ptr64
+?IsValid@CLKRHashTable_Iterator@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsValid(void)const  __ptr64
+?IsValid@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable_Iterator::IsValid(void)const  __ptr64
+?IsValid@CLKRLinearHashTable_Iterator@@QEBA_NXZ
+; public: int __cdecl IPM_MESSAGE_PIPE::IsValid(void) __ptr64
+?IsValid@IPM_MESSAGE_PIPE@@QEAAHXZ
+; public: int __cdecl MULTISZ::IsValid(void)const  __ptr64
+?IsValid@MULTISZ@@QEBAHXZ
+; public: int __cdecl MULTISZA::IsValid(void)const  __ptr64
+?IsValid@MULTISZA@@QEBAHXZ
+; public: int __cdecl STRA::IsValid(void)const  __ptr64
+?IsValid@STRA@@QEBAHXZ
+; public: int __cdecl STRAU::IsValid(void) __ptr64
+?IsValid@STRAU@@QEAAHXZ
+; public: bool __cdecl CCritSec::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CRtlResource::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CRtlResource@@QEBA_NXZ
+; public: bool __cdecl CShareLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CShareLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CSpinLock@@QEBA_NXZ
+; public: bool __cdecl CCritSec::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CRtlResource::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CRtlResource@@QEBA_NXZ
+; public: bool __cdecl CShareLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CShareLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CSpinLock@@QEBA_NXZ
+; public: unsigned __int64 const  __cdecl CLKRHashTable_Iterator::Key(void)const  __ptr64
+?Key@CLKRHashTable_Iterator@@QEBA?B_KXZ
+; public: unsigned __int64 const  __cdecl CLKRLinearHashTable_Iterator::Key(void)const  __ptr64
+?Key@CLKRLinearHashTable_Iterator@@QEBA?B_KXZ
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::Last(void)const  __ptr64
+?Last@CDoubleList@@QEBAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::Last(void) __ptr64
+?Last@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: long __cdecl STRA::LoadStringW(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
+?LoadStringW@STRA@@QEAAJKPEAUHINSTANCE__@@@Z
+; public: long __cdecl STRA::LoadStringW(unsigned long,char const * __ptr64,unsigned long) __ptr64
+?LoadStringW@STRA@@QEAAJKPEBDK@Z
+; private: void __cdecl ALLOC_CACHE_HANDLER::Lock(void) __ptr64
+?Lock@ALLOC_CACHE_HANDLER@@AEAAXXZ
+; public: void __cdecl CLockedDoubleList::Lock(void) __ptr64
+?Lock@CLockedDoubleList@@QEAAXXZ
+; public: void __cdecl CLockedSingleList::Lock(void) __ptr64
+?Lock@CLockedSingleList@@QEAAXXZ
+; public: void __cdecl TS_RESOURCE::Lock(enum TSRES_LOCK_TYPE) __ptr64
+?Lock@TS_RESOURCE@@QEAAXW4TSRES_LOCK_TYPE@@@Z
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<1,1,3,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<2,1,1,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<3,1,1,1,1,1>::LockType(void)
+?LockType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<4,1,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<5,2,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<6,2,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<7,2,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<8,2,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<9,2,1,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: void __cdecl EVENT_LOG::LogEvent(unsigned long,unsigned short,unsigned short const * __ptr64 * __ptr64 const,unsigned long) __ptr64
+?LogEvent@EVENT_LOG@@QEAAXKGQEAPEBGK@Z
+; private: void __cdecl EVENT_LOG::LogEventPrivate(unsigned long,unsigned short,unsigned short,unsigned short const * __ptr64 * __ptr64 const,unsigned long) __ptr64
+?LogEventPrivate@EVENT_LOG@@AEAAXKGGQEAPEBGK@Z
+LookupTokenAccountName
+MakeAllProcessHeapsLFH
+MakePathCanonicalizationProof
+; public: unsigned long __cdecl CLKRHashTable::MaxSize(void)const  __ptr64
+?MaxSize@CLKRHashTable@@QEBAKXZ
+; public: unsigned long __cdecl CLKRLinearHashTable::MaxSize(void)const  __ptr64
+?MaxSize@CLKRLinearHashTable@@QEBAKXZ
+; public: static void __cdecl IPM_MESSAGE_PIPE::MessagePipeCompletion(void * __ptr64,unsigned char)
+?MessagePipeCompletion@IPM_MESSAGE_PIPE@@SAXPEAXE@Z
+; char const * __ptr64 __cdecl Month3CharNames(unsigned long)
+?Month3CharNames@@YAPEBDK@Z
+; public: bool __cdecl CLKRHashTable::MultiKeys(void)const  __ptr64
+?MultiKeys@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::MultiKeys(void)const  __ptr64
+?MultiKeys@CLKRLinearHashTable@@QEBA_NXZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<1,1,3,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<2,1,1,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<3,1,1,1,1,1>::MutexType(void)
+?MutexType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<4,1,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<5,2,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<6,2,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<7,2,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<8,2,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<9,2,1,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: unsigned short const * __ptr64 __cdecl MULTISZ::Next(unsigned short const * __ptr64)const  __ptr64
+?Next@MULTISZ@@QEBAPEBGPEBG@Z
+; public: char const * __ptr64 __cdecl MULTISZA::Next(char const * __ptr64)const  __ptr64
+?Next@MULTISZA@@QEBAPEBDPEBD@Z
+; public: class BUFFER_CHAIN_ITEM * __ptr64 __cdecl BUFFER_CHAIN::NextBuffer(class BUFFER_CHAIN_ITEM * __ptr64) __ptr64
+?NextBuffer@BUFFER_CHAIN@@QEAAPEAVBUFFER_CHAIN_ITEM@@PEAV2@@Z
+; long __cdecl NormalizeUrl(char * __ptr64)
+?NormalizeUrl@@YAJPEAD@Z
+; long __cdecl NormalizeUrlW(unsigned short * __ptr64)
+?NormalizeUrlW@@YAJPEAG@Z
+; private: void __cdecl IPM_MESSAGE_PIPE::NotifyPipeDisconnected(long) __ptr64
+?NotifyPipeDisconnected@IPM_MESSAGE_PIPE@@AEAAXJ@Z
+; int __cdecl NtLargeIntegerTimeToLocalSystemTime(union _LARGE_INTEGER const * __ptr64,struct _SYSTEMTIME * __ptr64)
+?NtLargeIntegerTimeToLocalSystemTime@@YAHPEBT_LARGE_INTEGER@@PEAU_SYSTEMTIME@@@Z
+; int __cdecl NtLargeIntegerTimeToSystemTime(union _LARGE_INTEGER const & __ptr64,struct _SYSTEMTIME * __ptr64)
+?NtLargeIntegerTimeToSystemTime@@YAHAEBT_LARGE_INTEGER@@PEAU_SYSTEMTIME@@@Z
+; int __cdecl NtSystemTimeToLargeInteger(struct _SYSTEMTIME const * __ptr64,union _LARGE_INTEGER * __ptr64)
+?NtSystemTimeToLargeInteger@@YAHPEBU_SYSTEMTIME@@PEAT_LARGE_INTEGER@@@Z
+; public: int __cdecl CLKRHashTable::NumSubTables(void)const  __ptr64
+?NumSubTables@CLKRHashTable@@QEBAHXZ
+; public: static enum LK_TABLESIZE  __cdecl CLKRHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
+?NumSubTables@CLKRHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
+; public: int __cdecl CLKRLinearHashTable::NumSubTables(void)const  __ptr64
+?NumSubTables@CLKRLinearHashTable@@QEBAHXZ
+; public: static enum LK_TABLESIZE  __cdecl CLKRLinearHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
+?NumSubTables@CLKRLinearHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
+; public: int __cdecl CDFTCache::OffsetSeconds(void)const  __ptr64
+?OffsetSeconds@CDFTCache@@QEBAHXZ
+; public: int __cdecl MB::Open(unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
+?Open@MB@@QEAAHKPEBGK@Z
+; public: int __cdecl MB::Open(unsigned short const * __ptr64,unsigned long) __ptr64
+?Open@MB@@QEAAHPEBGK@Z
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<5,2,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<6,2,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<7,2,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<8,2,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<9,2,1,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: class CSingleListEntry * __ptr64 __cdecl CLockedSingleList::Pop(void) __ptr64
+?Pop@CLockedSingleList@@QEAAQEAVCSingleListEntry@@XZ
+; public: class CSingleListEntry * __ptr64 __cdecl CSingleList::Pop(void) __ptr64
+?Pop@CSingleList@@QEAAQEAVCSingleListEntry@@XZ
+; public: void __cdecl ALLOC_CACHE_HANDLER::Print(void) __ptr64
+?Print@ALLOC_CACHE_HANDLER@@QEAAXXZ
+; private: unsigned short * __ptr64 __cdecl STRAU::PrivateQueryStr(int) __ptr64
+?PrivateQueryStr@STRAU@@AEAAPEAGH@Z
+; public: void __cdecl CLockedSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
+?Push@CLockedSingleList@@QEAAXQEAVCSingleListEntry@@@Z
+; public: void __cdecl CSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
+?Push@CSingleList@@QEAAXQEAVCSingleListEntry@@@Z
+; public: struct IMSAdminBaseW * __ptr64 __cdecl MB::QueryAdminBase(void)const  __ptr64
+?QueryAdminBase@MB@@QEBAPEAUIMSAdminBaseW@@XZ
+; public: class BUFFER * __ptr64 __cdecl STRU::QueryBuffer(void) __ptr64
+?QueryBuffer@STRU@@QEAAPEAVBUFFER@@XZ
+; public: unsigned int __cdecl MULTISZ::QueryCB(void)const  __ptr64
+?QueryCB@MULTISZ@@QEBAIXZ
+; public: unsigned int __cdecl MULTISZA::QueryCB(void)const  __ptr64
+?QueryCB@MULTISZA@@QEBAIXZ
+; public: unsigned int __cdecl STRA::QueryCB(void)const  __ptr64
+?QueryCB@STRA@@QEBAIXZ
+; public: unsigned int __cdecl STRAU::QueryCB(int) __ptr64
+?QueryCB@STRAU@@QEAAIH@Z
+; public: unsigned int __cdecl STRU::QueryCB(void)const  __ptr64
+?QueryCB@STRU@@QEBAIXZ
+; public: unsigned int __cdecl STRAU::QueryCBA(void) __ptr64
+?QueryCBA@STRAU@@QEAAIXZ
+; public: unsigned int __cdecl STRAU::QueryCBW(void) __ptr64
+?QueryCBW@STRAU@@QEAAIXZ
+; public: unsigned int __cdecl MULTISZ::QueryCCH(void)const  __ptr64
+?QueryCCH@MULTISZ@@QEBAIXZ
+; public: unsigned int __cdecl MULTISZA::QueryCCH(void)const  __ptr64
+?QueryCCH@MULTISZA@@QEBAIXZ
+; public: unsigned int __cdecl STRA::QueryCCH(void)const  __ptr64
+?QueryCCH@STRA@@QEBAIXZ
+; public: unsigned int __cdecl STRAU::QueryCCH(void) __ptr64
+?QueryCCH@STRAU@@QEAAIXZ
+; public: unsigned int __cdecl STRU::QueryCCH(void)const  __ptr64
+?QueryCCH@STRU@@QEBAIXZ
+; public: unsigned long __cdecl CEtwTracer::QueryEnableLevel(void) __ptr64
+?QueryEnableLevel@CEtwTracer@@QEAAKXZ
+; public: unsigned long __cdecl MB::QueryHandle(void)const  __ptr64
+?QueryHandle@MB@@QEBAKXZ
+; public: unsigned long __cdecl CHUNK_BUFFER::QueryHeapAllocCount(void) __ptr64
+?QueryHeapAllocCount@CHUNK_BUFFER@@QEAAKXZ
+; public: virtual long __cdecl MB_BASE_NOTIFICATION_SINK::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@MB_BASE_NOTIFICATION_SINK@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
+?QueryPtr@BUFFER@@QEBAPEAXXZ
+; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
+?QuerySize@BUFFER@@QEBAIXZ
+; public: unsigned int __cdecl STRA::QuerySize(void)const  __ptr64
+?QuerySize@STRA@@QEBAIXZ
+; public: void __cdecl ALLOC_CACHE_HANDLER::QueryStats(struct _ALLOC_CACHE_STATISTICS * __ptr64) __ptr64
+?QueryStats@ALLOC_CACHE_HANDLER@@QEAAXPEAU_ALLOC_CACHE_STATISTICS@@@Z
+; public: unsigned short * __ptr64 __cdecl MULTISZ::QueryStr(void)const  __ptr64
+?QueryStr@MULTISZ@@QEBAPEAGXZ
+; public: char * __ptr64 __cdecl MULTISZA::QueryStr(void)const  __ptr64
+?QueryStr@MULTISZA@@QEBAPEADXZ
+; public: char * __ptr64 __cdecl STRA::QueryStr(void) __ptr64
+?QueryStr@STRA@@QEAAPEADXZ
+; public: char const * __ptr64 __cdecl STRA::QueryStr(void)const  __ptr64
+?QueryStr@STRA@@QEBAPEBDXZ
+; public: unsigned short * __ptr64 __cdecl STRAU::QueryStr(int) __ptr64
+?QueryStr@STRAU@@QEAAPEAGH@Z
+; public: unsigned short * __ptr64 __cdecl STRU::QueryStr(void) __ptr64
+?QueryStr@STRU@@QEAAPEAGXZ
+; public: unsigned short const * __ptr64 __cdecl STRU::QueryStr(void)const  __ptr64
+?QueryStr@STRU@@QEBAPEBGXZ
+; public: unsigned short * __ptr64 __cdecl MULTISZ::QueryStrA(void)const  __ptr64
+?QueryStrA@MULTISZ@@QEBAPEAGXZ
+; public: char * __ptr64 __cdecl STRAU::QueryStrA(void) __ptr64
+?QueryStrA@STRAU@@QEAAPEADXZ
+; public: unsigned short * __ptr64 __cdecl STRAU::QueryStrW(void) __ptr64
+?QueryStrW@STRAU@@QEAAPEAGXZ
+; public: unsigned long __cdecl MULTISZ::QueryStringCount(void)const  __ptr64
+?QueryStringCount@MULTISZ@@QEBAKXZ
+; public: unsigned long __cdecl MULTISZA::QueryStringCount(void)const  __ptr64
+?QueryStringCount@MULTISZA@@QEBAKXZ
+; public: unsigned __int64 __cdecl CEtwTracer::QueryTraceHandle(void) __ptr64
+?QueryTraceHandle@CEtwTracer@@QEAA_KXZ
+; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
+?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::QueueType(void)
+?QueueType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: bool __cdecl CDataCache<class CDateTime>::Read(class CDateTime & __ptr64)const  __ptr64
+?Read@?$CDataCache@VCDateTime@@@@QEBA_NAEAVCDateTime@@@Z
+ReadDwordParameterValueFromAnyService
+; public: void __cdecl CCritSec::ReadLock(void) __ptr64
+?ReadLock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ReadLock(void) __ptr64
+?ReadLock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ReadLock(void)const  __ptr64
+?ReadLock@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ReadLock(void)const  __ptr64
+?ReadLock@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ReadLock(void) __ptr64
+?ReadLock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ReadLock(void) __ptr64
+?ReadLock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ReadLock(void) __ptr64
+?ReadLock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::ReadLock(void) __ptr64
+?ReadLock@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::ReadLock(void) __ptr64
+?ReadLock@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ReadLock(void) __ptr64
+?ReadLock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ReadLock(void) __ptr64
+?ReadLock@CSpinLock@@QEAAXXZ
+; private: long __cdecl IPM_MESSAGE_PIPE::ReadMessage(unsigned long) __ptr64
+?ReadMessage@IPM_MESSAGE_PIPE@@AEAAJK@Z
+; public: bool __cdecl CCritSec::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CCritSec@@QEAA_NXZ
+; public: bool __cdecl CFakeLock::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CFakeLock@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock3::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CSpinLock::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CSpinLock@@QEAA_NXZ
+; public: void __cdecl CCritSec::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CCritSec@@QEAAX_N@Z
+; public: void __cdecl CFakeLock::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CFakeLock@@QEAAX_N@Z
+; public: void __cdecl CReaderWriterLock3::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CReaderWriterLock3@@QEAAX_N@Z
+; public: void __cdecl CSpinLock::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CSpinLock@@QEAAX_N@Z
+ReadRegDword
+ReadStringParameterValueFromAnyService
+; public: void __cdecl CCritSec::ReadUnlock(void) __ptr64
+?ReadUnlock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ReadUnlock(void)const  __ptr64
+?ReadUnlock@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ReadUnlock(void)const  __ptr64
+?ReadUnlock@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ReadUnlock(void) __ptr64
+?ReadUnlock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ReadUnlock(void) __ptr64
+?ReadUnlock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::ReadUnlock(void) __ptr64
+?ReadUnlock@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CSpinLock@@QEAAXXZ
+; private: int __cdecl BUFFER::ReallocStorage(unsigned int) __ptr64
+?ReallocStorage@BUFFER@@AEAAHI@Z
+; public: void __cdecl MULTISZ::RecalcLen(void) __ptr64
+?RecalcLen@MULTISZ@@QEAAXXZ
+; public: void __cdecl MULTISZA::RecalcLen(void) __ptr64
+?RecalcLen@MULTISZA@@QEAAXXZ
+; public: void const * __ptr64 __cdecl CLKRHashTable_Iterator::Record(void)const  __ptr64
+?Record@CLKRHashTable_Iterator@@QEBAPEBXXZ
+; public: void const * __ptr64 __cdecl CLKRLinearHashTable_Iterator::Record(void)const  __ptr64
+?Record@CLKRLinearHashTable_Iterator@@QEBAPEBXXZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<1,1,3,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<2,1,1,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<3,1,1,1,1,1>::Recursion(void)
+?Recursion@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<4,1,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<5,2,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<6,2,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<7,2,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<8,2,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<9,2,1,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: unsigned long __cdecl CEtwTracer::Register(struct _GUID const * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?Register@CEtwTracer@@QEAAKPEBU_GUID@@PEAG1@Z
+; public: virtual unsigned long __cdecl MB_BASE_NOTIFICATION_SINK::Release(void) __ptr64
+?Release@MB_BASE_NOTIFICATION_SINK@@UEAAKXZ
+; public: void __cdecl CSharelock::ReleaseExclusiveLock(void) __ptr64
+?ReleaseExclusiveLock@CSharelock@@QEAAXXZ
+; public: void __cdecl CSharelock::ReleaseShareLock(void) __ptr64
+?ReleaseShareLock@CSharelock@@QEAAXXZ
+; public: static void __cdecl CDoubleList::RemoveEntry(class CListEntry * __ptr64 const)
+?RemoveEntry@CDoubleList@@SAXQEAVCListEntry@@@Z
+; public: void __cdecl CLockedDoubleList::RemoveEntry(class CListEntry * __ptr64 const) __ptr64
+?RemoveEntry@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveHead(void) __ptr64
+?RemoveHead@CDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveHead(void) __ptr64
+?RemoveHead@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: static void __cdecl ALLOC_CACHE_HANDLER::RemoveItem(class ALLOC_CACHE_HANDLER * __ptr64)
+?RemoveItem@ALLOC_CACHE_HANDLER@@SAXPEAV1@@Z
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveTail(void) __ptr64
+?RemoveTail@CDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveTail(void) __ptr64
+?RemoveTail@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+RemoveWorkItem
+; public: void __cdecl MULTISZ::Reset(void) __ptr64
+?Reset@MULTISZ@@QEAAXXZ
+; public: void __cdecl MULTISZA::Reset(void) __ptr64
+?Reset@MULTISZA@@QEAAXXZ
+; public: void __cdecl STRA::Reset(void) __ptr64
+?Reset@STRA@@QEAAXXZ
+; public: void __cdecl STRAU::Reset(void) __ptr64
+?Reset@STRAU@@QEAAXXZ
+; public: void __cdecl STRU::Reset(void) __ptr64
+?Reset@STRU@@QEAAXXZ
+; public: static int __cdecl ALLOC_CACHE_HANDLER::ResetLookasideCleanupInterval(void)
+?ResetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
+; public: int __cdecl BUFFER::Resize(unsigned int) __ptr64
+?Resize@BUFFER@@QEAAHI@Z
+; public: int __cdecl BUFFER::Resize(unsigned int,unsigned int) __ptr64
+?Resize@BUFFER@@QEAAHII@Z
+; public: long __cdecl STRA::Resize(unsigned long) __ptr64
+?Resize@STRA@@QEAAJK@Z
+; public: long __cdecl STRU::Resize(unsigned long) __ptr64
+?Resize@STRU@@QEAAJK@Z
+; public: int __cdecl STRAU::ResizeW(unsigned long) __ptr64
+?ResizeW@STRAU@@QEAAHK@Z
+SAFEIsSpace
+SAFEIsXDigit
+; public: int __cdecl STRAU::SafeCopy(char const * __ptr64) __ptr64
+?SafeCopy@STRAU@@QEAAHPEBD@Z
+; public: int __cdecl STRAU::SafeCopy(unsigned short const * __ptr64) __ptr64
+?SafeCopy@STRAU@@QEAAHPEBG@Z
+; public: int __cdecl MB::Save(void) __ptr64
+?Save@MB@@QEAAHXZ
+ScheduleAdjustTime
+ScheduleWorkItem
+SchedulerInitialize
+SchedulerTerminate
+; public: unsigned short __cdecl CDFTCache::Seconds(void)const  __ptr64
+?Seconds@CDFTCache@@QEBAGXZ
+; public: void __cdecl W3_TRACE_LOG::SetBlocking(int) __ptr64
+?SetBlocking@W3_TRACE_LOG@@QEAAXH@Z
+; public: void __cdecl CLKRHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
+?SetBucketLockSpinCount@CLKRHashTable@@QEAAXG@Z
+; public: void __cdecl CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
+?SetBucketLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
+; public: void __cdecl W3_TRACE_LOG::SetBuffering(int) __ptr64
+?SetBuffering@W3_TRACE_LOG@@QEAAXH@Z
+; public: int __cdecl MB::SetData(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned long) __ptr64
+?SetData@MB@@QEAAHPEBGKKKPEAXKK@Z
+; public: static void __cdecl CCritSec::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CCritSec@@SAXN@Z
+; public: static void __cdecl CFakeLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CFakeLock@@SAXN@Z
+; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SAXN@Z
+; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SAXN@Z
+; public: static void __cdecl CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SAXN@Z
+; public: static void __cdecl CRtlResource::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CRtlResource@@SAXN@Z
+; public: static void __cdecl CShareLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CShareLock@@SAXN@Z
+; public: static void __cdecl CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SAXN@Z
+; public: static void __cdecl CSpinLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CSpinLock@@SAXN@Z
+; public: static void __cdecl CCritSec::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CCritSec@@SAXG@Z
+; public: static void __cdecl CFakeLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CFakeLock@@SAXG@Z
+; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock2@@SAXG@Z
+; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock3@@SAXG@Z
+; public: static void __cdecl CReaderWriterLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock@@SAXG@Z
+; public: static void __cdecl CRtlResource::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CRtlResource@@SAXG@Z
+; public: static void __cdecl CShareLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CShareLock@@SAXG@Z
+; public: static void __cdecl CSmallSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSmallSpinLock@@SAXG@Z
+; public: static void __cdecl CSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSpinLock@@SAXG@Z
+; public: int __cdecl MB::SetDword(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
+?SetDword@MB@@QEAAHPEBGKKKK@Z
+SetExplicitAccessSettings
+; public: int __cdecl STRA::SetLen(unsigned long) __ptr64
+?SetLen@STRA@@QEAAHK@Z
+; public: int __cdecl STRAU::SetLen(unsigned long) __ptr64
+?SetLen@STRAU@@QEAAHK@Z
+; public: int __cdecl STRU::SetLen(unsigned long) __ptr64
+?SetLen@STRU@@QEAAHK@Z
+; public: void __cdecl ASCLOG_DATETIME_CACHE::SetLocalTime(struct _SYSTEMTIME * __ptr64) __ptr64
+?SetLocalTime@ASCLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
+; public: static int __cdecl ALLOC_CACHE_HANDLER::SetLookasideCleanupInterval(void)
+?SetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SAHXZ
+; public: bool __cdecl CCritSec::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CCritSec@@QEAA_NG@Z
+; public: static unsigned long __cdecl CCritSec::SetSpinCount(struct _RTL_CRITICAL_SECTION * __ptr64,unsigned long)
+?SetSpinCount@CCritSec@@SAKPEAU_RTL_CRITICAL_SECTION@@K@Z
+; public: bool __cdecl CFakeLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CFakeLock@@QEAA_NG@Z
+; public: bool __cdecl CReaderWriterLock2::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CReaderWriterLock2@@QEAA_NG@Z
+; public: bool __cdecl CReaderWriterLock3::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CReaderWriterLock3@@QEAA_NG@Z
+; public: bool __cdecl CReaderWriterLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CReaderWriterLock@@QEAA_NG@Z
+; public: bool __cdecl CRtlResource::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CRtlResource@@QEAA_NG@Z
+; public: bool __cdecl CShareLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CShareLock@@QEAA_NG@Z
+; public: bool __cdecl CSmallSpinLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CSmallSpinLock@@QEAA_NG@Z
+; public: bool __cdecl CSpinLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CSpinLock@@QEAA_NG@Z
+; public: int __cdecl MB::SetString(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
+?SetString@MB@@QEAAHPEBGKK0K@Z
+SetStringParameterValueInAnyService
+; public: void __cdecl EXTLOG_DATETIME_CACHE::SetSystemTime(struct _SYSTEMTIME * __ptr64) __ptr64
+?SetSystemTime@EXTLOG_DATETIME_CACHE@@QEAAXPEAU_SYSTEMTIME@@@Z
+; public: void __cdecl CLKRHashTable::SetTableLockSpinCount(unsigned short) __ptr64
+?SetTableLockSpinCount@CLKRHashTable@@QEAAXG@Z
+; public: void __cdecl CLKRLinearHashTable::SetTableLockSpinCount(unsigned short) __ptr64
+?SetTableLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
+; public: int __cdecl CDateTime::SetTime(struct _FILETIME const & __ptr64) __ptr64
+?SetTime@CDateTime@@QEAAHAEBU_FILETIME@@@Z
+; public: int __cdecl CDateTime::SetTime(struct _SYSTEMTIME const & __ptr64) __ptr64
+?SetTime@CDateTime@@QEAAHAEBU_SYSTEMTIME@@@Z
+; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
+?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
+; public: void __cdecl BUFFER::SetValid(int) __ptr64
+?SetValid@BUFFER@@QEAAXH@Z
+; public: virtual long __cdecl MB_BASE_NOTIFICATION_SINK::ShutdownNotify(void) __ptr64
+?ShutdownNotify@MB_BASE_NOTIFICATION_SINK@@UEAAJXZ
+; public: virtual long __cdecl MB_BASE_NOTIFICATION_SINK::SinkNotify(unsigned long,struct _MD_CHANGE_OBJECT_W * __ptr64 const) __ptr64
+?SinkNotify@MB_BASE_NOTIFICATION_SINK@@UEAAJKQEAU_MD_CHANGE_OBJECT_W@@@Z
+; public: unsigned long __cdecl CLKRHashTable::Size(void)const  __ptr64
+?Size@CLKRHashTable@@QEBAKXZ
+; public: unsigned long __cdecl CLKRLinearHashTable::Size(void)const  __ptr64
+?Size@CLKRLinearHashTable@@QEBAKXZ
+SkipTo
+SkipWhite
+; private: unsigned char __cdecl CSharelock::SleepWaitingForLock(int) __ptr64
+?SleepWaitingForLock@CSharelock@@AEAAEH@Z
+StartIISAdminMonitor
+; public: long __cdecl MB_BASE_NOTIFICATION_SINK::StartListening(struct IUnknown * __ptr64) __ptr64
+?StartListening@MB_BASE_NOTIFICATION_SINK@@QEAAJPEAUIUnknown@@@Z
+StopIISAdminMonitor
+; public: long __cdecl MB_BASE_NOTIFICATION_SINK::StopListening(struct IUnknown * __ptr64) __ptr64
+?StopListening@MB_BASE_NOTIFICATION_SINK@@QEAAJPEAUIUnknown@@@Z
+; int __cdecl StringTimeToFileTime(char const * __ptr64,union _LARGE_INTEGER * __ptr64)
+?StringTimeToFileTime@@YAHPEBDPEAT_LARGE_INTEGER@@@Z
+; public: int __cdecl EVENT_LOG::Success(void)const  __ptr64
+?Success@EVENT_LOG@@QEBAHXZ
+; public: void __cdecl STRA::SyncWithBuffer(void) __ptr64
+?SyncWithBuffer@STRA@@QEAAXXZ
+; public: void __cdecl STRU::SyncWithBuffer(void) __ptr64
+?SyncWithBuffer@STRU@@QEAAXXZ
+; public: virtual long __cdecl MB_BASE_NOTIFICATION_SINK::SynchronizedShutdownNotify(void) __ptr64
+?SynchronizedShutdownNotify@MB_BASE_NOTIFICATION_SINK@@UEAAJXZ
+SystemTimeToGMT
+; int __cdecl SystemTimeToGMTEx(struct _SYSTEMTIME const & __ptr64,char * __ptr64,unsigned long,unsigned long)
+?SystemTimeToGMTEx@@YAHAEBU_SYSTEMTIME@@PEADKK@Z
+; private: static void __cdecl W3_TRACE_LOG_FACTORY::TimerCallback(void * __ptr64,unsigned char)
+?TimerCallback@W3_TRACE_LOG_FACTORY@@CAXPEAXE@Z
+; public: long __cdecl W3_TRACE_LOG::Trace(unsigned short const * __ptr64,...) __ptr64
+?Trace@W3_TRACE_LOG@@QEAAJPEBGZZ
+; public: int __cdecl CEtwTracer::TracePerUrlEnabled(void) __ptr64
+?TracePerUrlEnabled@CEtwTracer@@QEAAHXZ
+; public: bool __cdecl CReaderWriterLock3::TryConvertSharedToExclusive(void) __ptr64
+?TryConvertSharedToExclusive@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CCritSec::TryReadLock(void) __ptr64
+?TryReadLock@CCritSec@@QEAA_NXZ
+; public: bool __cdecl CFakeLock::TryReadLock(void) __ptr64
+?TryReadLock@CFakeLock@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock2::TryReadLock(void) __ptr64
+?TryReadLock@CReaderWriterLock2@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock3::TryReadLock(void) __ptr64
+?TryReadLock@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock::TryReadLock(void) __ptr64
+?TryReadLock@CReaderWriterLock@@QEAA_NXZ
+; public: bool __cdecl CRtlResource::TryReadLock(void) __ptr64
+?TryReadLock@CRtlResource@@QEAA_NXZ
+; public: bool __cdecl CShareLock::TryReadLock(void) __ptr64
+?TryReadLock@CShareLock@@QEAA_NXZ
+; public: bool __cdecl CSmallSpinLock::TryReadLock(void) __ptr64
+?TryReadLock@CSmallSpinLock@@QEAA_NXZ
+; public: bool __cdecl CSpinLock::TryReadLock(void) __ptr64
+?TryReadLock@CSpinLock@@QEAA_NXZ
+; public: bool __cdecl CCritSec::TryWriteLock(void) __ptr64
+?TryWriteLock@CCritSec@@QEAA_NXZ
+; public: bool __cdecl CFakeLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CFakeLock@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock2::TryWriteLock(void) __ptr64
+?TryWriteLock@CReaderWriterLock2@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock3::TryWriteLock(void) __ptr64
+?TryWriteLock@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CReaderWriterLock@@QEAA_NXZ
+; public: bool __cdecl CRtlResource::TryWriteLock(void) __ptr64
+?TryWriteLock@CRtlResource@@QEAA_NXZ
+; public: bool __cdecl CShareLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CShareLock@@QEAA_NXZ
+; public: bool __cdecl CSmallSpinLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CSmallSpinLock@@QEAA_NXZ
+; public: bool __cdecl CSpinLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CSpinLock@@QEAA_NXZ
+; long __cdecl UlCleanAndCopyUrl(unsigned char * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64)
+?UlCleanAndCopyUrl@@YAJPEAEKPEAKPEAGPEAPEAG@Z
+; public: unsigned long __cdecl CEtwTracer::UnRegister(void) __ptr64
+?UnRegister@CEtwTracer@@QEAAKXZ
+; public: void __cdecl W3_TRACE_LOG::Undent(void) __ptr64
+?Undent@W3_TRACE_LOG@@QEAAXXZ
+; public: long __cdecl STRA::Unescape(void) __ptr64
+?Unescape@STRA@@QEAAJXZ
+; public: long __cdecl STRU::Unescape(void) __ptr64
+?Unescape@STRU@@QEAAJXZ
+; private: void __cdecl ALLOC_CACHE_HANDLER::Unlock(void) __ptr64
+?Unlock@ALLOC_CACHE_HANDLER@@AEAAXXZ
+; public: void __cdecl CLockedDoubleList::Unlock(void) __ptr64
+?Unlock@CLockedDoubleList@@QEAAXXZ
+; public: void __cdecl CLockedSingleList::Unlock(void) __ptr64
+?Unlock@CLockedSingleList@@QEAAXXZ
+; public: void __cdecl TS_RESOURCE::Unlock(void) __ptr64
+?Unlock@TS_RESOURCE@@QEAAXXZ
+; public: unsigned char __cdecl CSharelock::UpdateMaxSpins(int) __ptr64
+?UpdateMaxSpins@CSharelock@@QEAAEH@Z
+; public: unsigned char __cdecl CSharelock::UpdateMaxUsers(int) __ptr64
+?UpdateMaxUsers@CSharelock@@QEAAEH@Z
+; public: bool __cdecl CLKRHashTable::ValidSignature(void)const  __ptr64
+?ValidSignature@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::ValidSignature(void)const  __ptr64
+?ValidSignature@CLKRLinearHashTable@@QEBA_NXZ
+; private: void __cdecl BUFFER::VerifyState(void)const  __ptr64
+?VerifyState@BUFFER@@AEBAXXZ
+WCopyToA
+; private: unsigned char __cdecl CSharelock::WaitForExclusiveLock(int) __ptr64
+?WaitForExclusiveLock@CSharelock@@AEAAEH@Z
+; private: unsigned char __cdecl CSharelock::WaitForShareLock(int) __ptr64
+?WaitForShareLock@CSharelock@@AEAAEH@Z
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::WaitType(void)
+?WaitType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<5,2,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$04$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<6,2,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$05$01$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<7,2,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$06$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<8,2,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$07$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<9,2,1,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$08$01$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; private: void __cdecl CSharelock::WakeAllSleepers(void) __ptr64
+?WakeAllSleepers@CSharelock@@AEAAXXZ
+; public: bool __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::Write(struct DATETIME_FORMAT_ENTRY const & __ptr64) __ptr64
+?Write@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QEAA_NAEBUDATETIME_FORMAT_ENTRY@@@Z
+; public: bool __cdecl CDataCache<class CDateTime>::Write(class CDateTime const & __ptr64) __ptr64
+?Write@?$CDataCache@VCDateTime@@@@QEAA_NAEBVCDateTime@@@Z
+; public: void __cdecl CCritSec::WriteLock(void) __ptr64
+?WriteLock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::WriteLock(void) __ptr64
+?WriteLock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::WriteLock(void) __ptr64
+?WriteLock@CLKRHashTable@@QEAAXXZ
+; public: void __cdecl CLKRLinearHashTable::WriteLock(void) __ptr64
+?WriteLock@CLKRLinearHashTable@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock2::WriteLock(void) __ptr64
+?WriteLock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::WriteLock(void) __ptr64
+?WriteLock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::WriteLock(void) __ptr64
+?WriteLock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::WriteLock(void) __ptr64
+?WriteLock@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::WriteLock(void) __ptr64
+?WriteLock@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::WriteLock(void) __ptr64
+?WriteLock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::WriteLock(void) __ptr64
+?WriteLock@CSpinLock@@QEAAXXZ
+; public: long __cdecl IPM_MESSAGE_PIPE::WriteMessage(enum IPM_OPCODE,unsigned long,void * __ptr64) __ptr64
+?WriteMessage@IPM_MESSAGE_PIPE@@QEAAJW4IPM_OPCODE@@KPEAX@Z
+; public: void __cdecl CCritSec::WriteUnlock(void) __ptr64
+?WriteUnlock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::WriteUnlock(void)const  __ptr64
+?WriteUnlock@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::WriteUnlock(void)const  __ptr64
+?WriteUnlock@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::WriteUnlock(void) __ptr64
+?WriteUnlock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::WriteUnlock(void) __ptr64
+?WriteUnlock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CRtlResource::WriteUnlock(void) __ptr64
+?WriteUnlock@CRtlResource@@QEAAXXZ
+; public: void __cdecl CShareLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CShareLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CSpinLock@@QEAAXXZ
+; protected: void __cdecl CLKRLinearHashTable_Iterator::_AddRef(int)const  __ptr64
+?_AddRef@CLKRLinearHashTable_Iterator@@IEBAXH@Z
+; private: void __cdecl CLKRLinearHashTable::_AddRefRecord(void const * __ptr64,int)const  __ptr64
+?_AddRefRecord@CLKRLinearHashTable@@AEBAXPEBXH@Z
+; private: static class CNodeClump * __ptr64 __cdecl CLKRLinearHashTable::_AllocateNodeClump(void)
+?_AllocateNodeClump@CLKRLinearHashTable@@CAQEAVCNodeClump@@XZ
+; private: class CSegment * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegment(void)const  __ptr64
+?_AllocateSegment@CLKRLinearHashTable@@AEBAQEAVCSegment@@XZ
+; private: static class CDirEntry * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned __int64)
+?_AllocateSegmentDirectory@CLKRLinearHashTable@@CAQEAVCDirEntry@@_K@Z
+; private: static class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_AllocateSubTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64,bool)
+?_AllocateSubTable@CLKRHashTable@@CAQEAVCLKRLinearHashTable@@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAV1@_N@Z
+; private: static class CLKRLinearHashTable * __ptr64 * __ptr64 __cdecl CLKRHashTable::_AllocateSubTableArray(unsigned __int64)
+?_AllocateSubTableArray@CLKRHashTable@@CAQEAPEAVCLKRLinearHashTable@@_K@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
+?_Apply@CLKRLinearHashTable@@AEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@AEAW4LK_PREDICATE@@@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
+?_ApplyIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AEAW42@@Z
+; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_Bucket(unsigned long)const  __ptr64
+?_Bucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_BucketAddress(unsigned long)const  __ptr64
+?_BucketAddress@CLKRLinearHashTable@@AEBAKK@Z
+; private: unsigned long __cdecl CLKRHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
+?_CalcKeyHash@CLKRHashTable@@AEBAK_K@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
+?_CalcKeyHash@CLKRLinearHashTable@@AEBAK_K@Z
+; private: void __cdecl CLKRLinearHashTable::_Clear(bool) __ptr64
+?_Clear@CLKRLinearHashTable@@AEAAX_N@Z
+; private: bool __cdecl CReaderWriterLock2::_CmpExch(long,long) __ptr64
+?_CmpExch@CReaderWriterLock2@@AEAA_NJJ@Z
+; private: bool __cdecl CReaderWriterLock3::_CmpExch(long,long) __ptr64
+?_CmpExch@CReaderWriterLock3@@AEAA_NJJ@Z
+; private: bool __cdecl CReaderWriterLock::_CmpExch(long,long) __ptr64
+?_CmpExch@CReaderWriterLock@@AEAA_NJJ@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Contract(void) __ptr64
+?_Contract@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
+; private: static long __cdecl CReaderWriterLock3::_CurrentThreadId(void)
+?_CurrentThreadId@CReaderWriterLock3@@CAJXZ
+; private: static long __cdecl CSmallSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSmallSpinLock@@CAJXZ
+; private: static long __cdecl CSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSpinLock@@CAJXZ
+; private: unsigned long __cdecl CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_PREDICATE & __ptr64) __ptr64
+?_DeleteIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1AEAW42@@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteKey(unsigned __int64,unsigned long) __ptr64
+?_DeleteKey@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@_KK@Z
+; private: bool __cdecl CLKRLinearHashTable::_DeleteNode(class CBucket * __ptr64,class CNodeClump * __ptr64 & __ptr64,class CNodeClump * __ptr64 & __ptr64,int & __ptr64) __ptr64
+?_DeleteNode@CLKRLinearHashTable@@AEAA_NPEAVCBucket@@AEAPEAVCNodeClump@@1AEAH@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteRecord(void const * __ptr64,unsigned long) __ptr64
+?_DeleteRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK@Z
+; private: bool __cdecl CLKRLinearHashTable::_EqualKeys(unsigned __int64,unsigned __int64)const  __ptr64
+?_EqualKeys@CLKRLinearHashTable@@AEBA_N_K0@Z
+; private: bool __cdecl CLKRLinearHashTable::_Erase(class CLKRLinearHashTable_Iterator & __ptr64,unsigned long) __ptr64
+?_Erase@CLKRLinearHashTable@@AEAA_NAEAVCLKRLinearHashTable_Iterator@@K@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Expand(void) __ptr64
+?_Expand@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
+; private: unsigned __int64 const  __cdecl CLKRHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
+?_ExtractKey@CLKRHashTable@@AEBA?B_KPEBX@Z
+; private: unsigned __int64 const  __cdecl CLKRLinearHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
+?_ExtractKey@CLKRLinearHashTable@@AEBA?B_KPEBX@Z
+; private: class CBucket * __ptr64 __cdecl CLKRLinearHashTable::_FindBucket(unsigned long,bool)const  __ptr64
+?_FindBucket@CLKRLinearHashTable@@AEBAPEAVCBucket@@K_N@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindKey(unsigned __int64,unsigned long,void const * __ptr64 * __ptr64,class CLKRLinearHashTable_Iterator * __ptr64)const  __ptr64
+?_FindKey@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@_KKPEAPEBXPEAVCLKRLinearHashTable_Iterator@@@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindRecord(void const * __ptr64,unsigned long)const  __ptr64
+?_FindRecord@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@PEBXK@Z
+; private: static bool __cdecl CLKRLinearHashTable::_FreeNodeClump(class CNodeClump * __ptr64)
+?_FreeNodeClump@CLKRLinearHashTable@@CA_NPEAVCNodeClump@@@Z
+; private: bool __cdecl CLKRLinearHashTable::_FreeSegment(class CSegment * __ptr64)const  __ptr64
+?_FreeSegment@CLKRLinearHashTable@@AEBA_NPEAVCSegment@@@Z
+; private: bool __cdecl CLKRLinearHashTable::_FreeSegmentDirectory(void) __ptr64
+?_FreeSegmentDirectory@CLKRLinearHashTable@@AEAA_NXZ
+; private: static bool __cdecl CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable * __ptr64)
+?_FreeSubTable@CLKRHashTable@@CA_NPEAVCLKRLinearHashTable@@@Z
+; private: static bool __cdecl CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * __ptr64 * __ptr64)
+?_FreeSubTableArray@CLKRHashTable@@CA_NPEAPEAVCLKRLinearHashTable@@@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long)const  __ptr64
+?_H0@CLKRLinearHashTable@@AEBAKK@Z
+; private: static unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long,unsigned long)
+?_H0@CLKRLinearHashTable@@CAKKK@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long)const  __ptr64
+?_H1@CLKRLinearHashTable@@AEBAKK@Z
+; private: static unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long,unsigned long)
+?_H1@CLKRLinearHashTable@@CAKKK@Z
+; protected: bool __cdecl CLKRHashTable_Iterator::_Increment(bool) __ptr64
+?_Increment@CLKRHashTable_Iterator@@IEAA_N_N@Z
+; protected: bool __cdecl CLKRLinearHashTable_Iterator::_Increment(bool) __ptr64
+?_Increment@CLKRLinearHashTable_Iterator@@IEAA_N_N@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Initialize(unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),char const * __ptr64,double,unsigned long) __ptr64
+?_Initialize@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@P6A?B_KPEBX@ZP6AK_K@ZP6A_N22@ZP6AX0H@ZPEBDNK@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InsertRecord(void const * __ptr64,unsigned long,bool,class CLKRLinearHashTable_Iterator * __ptr64) __ptr64
+?_InsertRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK_NPEAVCLKRLinearHashTable_Iterator@@@Z
+; private: void __cdecl CLKRHashTable::_InsertThisIntoGlobalList(void) __ptr64
+?_InsertThisIntoGlobalList@CLKRHashTable@@AEAAXXZ
+; private: void __cdecl CLKRLinearHashTable::_InsertThisIntoGlobalList(void) __ptr64
+?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AEAAXXZ
+; private: bool __cdecl CSpinLock::_IsLocked(void)const  __ptr64
+?_IsLocked@CSpinLock@@AEBA_NXZ
+; private: int __cdecl CLKRLinearHashTable::_IsNodeCompact(class CBucket * __ptr64 const)const  __ptr64
+?_IsNodeCompact@CLKRLinearHashTable@@AEBAHQEAVCBucket@@@Z
+; private: bool __cdecl CLKRHashTable::_IsValidIterator(class CLKRHashTable_Iterator const & __ptr64)const  __ptr64
+?_IsValidIterator@CLKRHashTable@@AEBA_NAEBVCLKRHashTable_Iterator@@@Z
+; private: bool __cdecl CLKRLinearHashTable::_IsValidIterator(class CLKRLinearHashTable_Iterator const & __ptr64)const  __ptr64
+?_IsValidIterator@CLKRLinearHashTable@@AEBA_NAEBVCLKRLinearHashTable_Iterator@@@Z
+; private: void __cdecl CSpinLock::_Lock(void) __ptr64
+?_Lock@CSpinLock@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock2::_LockSpin(bool) __ptr64
+?_LockSpin@CReaderWriterLock2@@AEAAX_N@Z
+; private: void __cdecl CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
+?_LockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
+; private: void __cdecl CReaderWriterLock::_LockSpin(bool) __ptr64
+?_LockSpin@CReaderWriterLock@@AEAAX_N@Z
+; private: void __cdecl CSmallSpinLock::_LockSpin(void) __ptr64
+?_LockSpin@CSmallSpinLock@@AEAAXXZ
+; private: void __cdecl CSpinLock::_LockSpin(void) __ptr64
+?_LockSpin@CSpinLock@@AEAAXXZ
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_MergeRecordSets(class CBucket * __ptr64,class CNodeClump * __ptr64,class CNodeClump * __ptr64) __ptr64
+?_MergeRecordSets@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCBucket@@PEAVCNodeClump@@1@Z
+; private: static enum LK_PREDICATE  __cdecl CLKRLinearHashTable::_PredTrue(void const * __ptr64,void * __ptr64)
+?_PredTrue@CLKRLinearHashTable@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
+; private: void __cdecl CReaderWriterLock2::_ReadLockSpin(void) __ptr64
+?_ReadLockSpin@CReaderWriterLock2@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
+?_ReadLockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
+; private: void __cdecl CReaderWriterLock::_ReadLockSpin(void) __ptr64
+?_ReadLockSpin@CReaderWriterLock@@AEAAXXZ
+; protected: static void __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadMemoryBarrier(void)
+?_ReadMemoryBarrier@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@KAXXZ
+; protected: static void __cdecl CDataCache<class CDateTime>::_ReadMemoryBarrier(void)
+?_ReadMemoryBarrier@?$CDataCache@VCDateTime@@@@KAXXZ
+; private: bool __cdecl CLKRLinearHashTable::_ReadOrWriteLock(void)const  __ptr64
+?_ReadOrWriteLock@CLKRLinearHashTable@@AEBA_NXZ
+; private: void __cdecl CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const  __ptr64
+?_ReadOrWriteUnlock@CLKRLinearHashTable@@AEBAX_N@Z
+; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadSequence(void)const  __ptr64
+?_ReadSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEBAJXZ
+; protected: long __cdecl CDataCache<class CDateTime>::_ReadSequence(void)const  __ptr64
+?_ReadSequence@?$CDataCache@VCDateTime@@@@IEBAJXZ
+; private: void __cdecl CLKRHashTable::_RemoveThisFromGlobalList(void) __ptr64
+?_RemoveThisFromGlobalList@CLKRHashTable@@AEAAXXZ
+; private: void __cdecl CLKRLinearHashTable::_RemoveThisFromGlobalList(void) __ptr64
+?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AEAAXXZ
+; private: unsigned long __cdecl CLKRLinearHashTable::_SegIndex(unsigned long)const  __ptr64
+?_SegIndex@CLKRLinearHashTable@@AEBAKK@Z
+; private: class CSegment * __ptr64 & __ptr64 __cdecl CLKRLinearHashTable::_Segment(unsigned long)const  __ptr64
+?_Segment@CLKRLinearHashTable@@AEBAAEAPEAVCSegment@@K@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE,unsigned long) __ptr64
+?_SetSegVars@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@W4LK_TABLESIZE@@K@Z
+; protected: long __cdecl CDataCache<struct DATETIME_FORMAT_ENTRY>::_SetSequence(long) __ptr64
+?_SetSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IEAAJJ@Z
+; protected: long __cdecl CDataCache<class CDateTime>::_SetSequence(long) __ptr64
+?_SetSequence@?$CDataCache@VCDateTime@@@@IEAAJJ@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SplitRecordSet(class CNodeClump * __ptr64,class CNodeClump * __ptr64,unsigned long,unsigned long,unsigned long,class CNodeClump * __ptr64) __ptr64
+?_SplitRecordSet@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCNodeClump@@0KKK0@Z
+; private: class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_SubTable(unsigned long)const  __ptr64
+?_SubTable@CLKRHashTable@@AEBAPEAVCLKRLinearHashTable@@K@Z
+; private: int __cdecl CLKRHashTable::_SubTableIndex(class CLKRLinearHashTable * __ptr64)const  __ptr64
+?_SubTableIndex@CLKRHashTable@@AEBAHPEAVCLKRLinearHashTable@@@Z
+; private: bool __cdecl CSmallSpinLock::_TryLock(void) __ptr64
+?_TryLock@CSmallSpinLock@@AEAA_NXZ
+; private: bool __cdecl CSpinLock::_TryLock(void) __ptr64
+?_TryLock@CSpinLock@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock2::_TryReadLock(void) __ptr64
+?_TryReadLock@CReaderWriterLock2@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock3::_TryReadLock(void) __ptr64
+?_TryReadLock@CReaderWriterLock3@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock::_TryReadLock(void) __ptr64
+?_TryReadLock@CReaderWriterLock@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock3::_TryReadLockRecursive(void) __ptr64
+?_TryReadLockRecursive@CReaderWriterLock3@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock3::_TryWriteLock2(void) __ptr64
+?_TryWriteLock2@CReaderWriterLock3@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock2::_TryWriteLock(long) __ptr64
+?_TryWriteLock@CReaderWriterLock2@@AEAA_NJ@Z
+; private: bool __cdecl CReaderWriterLock3::_TryWriteLock(long) __ptr64
+?_TryWriteLock@CReaderWriterLock3@@AEAA_NJ@Z
+; private: bool __cdecl CReaderWriterLock::_TryWriteLock(void) __ptr64
+?_TryWriteLock@CReaderWriterLock@@AEAA_NXZ
+; private: void __cdecl CSpinLock::_Unlock(void) __ptr64
+?_Unlock@CSpinLock@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock2::_WriteLockSpin(void) __ptr64
+?_WriteLockSpin@CReaderWriterLock2@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock3::_WriteLockSpin(void) __ptr64
+?_WriteLockSpin@CReaderWriterLock3@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock::_WriteLockSpin(void) __ptr64
+?_WriteLockSpin@CReaderWriterLock@@AEAAXXZ
+; long const * const  `public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
+?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SAPEBJXZ@4QBJB
+; private: static struct _RTL_CRITICAL_SECTION  ALLOC_CACHE_HANDLER::sm_csItems
+?sm_csItems@ALLOC_CACHE_HANDLER@@0U_RTL_CRITICAL_SECTION@@A DATA
+; protected: static double  CCritSec::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CCritSec@@1NA DATA
+; protected: static double  CFakeLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CFakeLock@@1NA DATA
+; protected: static double  CReaderWriterLock2::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CReaderWriterLock2@@1NA DATA
+; protected: static double  CReaderWriterLock3::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CReaderWriterLock3@@1NA DATA
+; protected: static double  CReaderWriterLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CReaderWriterLock@@1NA DATA
+; protected: static double  CRtlResource::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CRtlResource@@1NA DATA
+; protected: static double  CShareLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CShareLock@@1NA DATA
+; protected: static double  CSmallSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
+; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA DATA
+; private: static int  ALLOC_CACHE_HANDLER::sm_fInitCsItems
+?sm_fInitCsItems@ALLOC_CACHE_HANDLER@@0HA DATA
+; private: static void * __ptr64  __ptr64 ALLOC_CACHE_HANDLER::sm_hTimer
+?sm_hTimer@ALLOC_CACHE_HANDLER@@0PEAXEA DATA
+; private: static struct _LIST_ENTRY  ALLOC_CACHE_HANDLER::sm_lItemsHead
+?sm_lItemsHead@ALLOC_CACHE_HANDLER@@0U_LIST_ENTRY@@A DATA
+; private: static class CLockedDoubleList  CLKRHashTable::sm_llGlobalList
+?sm_llGlobalList@CLKRHashTable@@0VCLockedDoubleList@@A DATA
+; private: static class CLockedDoubleList  CLKRLinearHashTable::sm_llGlobalList
+?sm_llGlobalList@CLKRLinearHashTable@@0VCLockedDoubleList@@A DATA
+; private: static long  ALLOC_CACHE_HANDLER::sm_nFillPattern
+?sm_nFillPattern@ALLOC_CACHE_HANDLER@@0JA DATA
+; protected: static class ALLOC_CACHE_HANDLER * __ptr64  __ptr64 CLKRLinearHashTable::sm_palloc
+?sm_palloc@CLKRLinearHashTable@@1PEAVALLOC_CACHE_HANDLER@@EA DATA
+; protected: static unsigned short  CCritSec::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CCritSec@@1GA DATA
+; protected: static unsigned short  CFakeLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CFakeLock@@1GA DATA
+; protected: static unsigned short  CReaderWriterLock2::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CReaderWriterLock2@@1GA DATA
+; protected: static unsigned short  CReaderWriterLock3::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CReaderWriterLock3@@1GA DATA
+; protected: static unsigned short  CReaderWriterLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CReaderWriterLock@@1GA DATA
+; protected: static unsigned short  CRtlResource::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CRtlResource@@1GA DATA
+; protected: static unsigned short  CShareLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CShareLock@@1GA DATA
+; protected: static unsigned short  CSmallSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
+; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
+uudecode
+uuencode
+CreateRefTraceLog
+CreateTraceLog
+DestroyRefTraceLog
+DestroyTraceLog
+GetAllocCounters
+GetCurrentTimeInSeconds
+IISGetCurrentTime
+IISGetPlatformType
+IISInitializeCriticalSection
+IISSetCriticalSectionSpinCount
+InetAcquireResourceExclusive
+InetAcquireResourceShared
+InetConvertExclusiveToShared
+InetConvertSharedToExclusive
+InetDeleteResource
+InetInitializeResource
+InetReleaseResource
+InitializeIISUtil
+IrtlTrace
+IsValidAddress
+IsValidString
+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
diff --git a/mingw-w64-crt/lib64/iisw3adm.def b/mingw-w64-crt/lib64/iisw3adm.def
index b19f6c7..0b6c618 100644
--- a/mingw-w64-crt/lib64/iisw3adm.def
+++ b/mingw-w64-crt/lib64/iisw3adm.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file iisw3adm.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iisw3adm.dll
-EXPORTS
-ServiceMain
-; public: class CSecurityDispenser & __ptr64 __cdecl CSecurityDispenser::operator=(class CSecurityDispenser const & __ptr64) __ptr64
-??4CSecurityDispenser@@QEAAAEAV0@AEBV0@@Z
-; public: class IPM_MESSAGE_PIPE & __ptr64 __cdecl IPM_MESSAGE_PIPE::operator=(class IPM_MESSAGE_PIPE const & __ptr64) __ptr64
-??4IPM_MESSAGE_PIPE@@QEAAAEAV0@AEBV0@@Z
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iisw3adm.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iisw3adm.dll
+EXPORTS
+ServiceMain
+; public: class CSecurityDispenser & __ptr64 __cdecl CSecurityDispenser::operator=(class CSecurityDispenser const & __ptr64) __ptr64
+??4CSecurityDispenser@@QEAAAEAV0@AEBV0@@Z
+; public: class IPM_MESSAGE_PIPE & __ptr64 __cdecl IPM_MESSAGE_PIPE::operator=(class IPM_MESSAGE_PIPE const & __ptr64) __ptr64
+??4IPM_MESSAGE_PIPE@@QEAAAEAV0@AEBV0@@Z
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iiswmi.def b/mingw-w64-crt/lib64/iiswmi.def
index 725757c..a1504ef 100644
--- a/mingw-w64-crt/lib64/iiswmi.def
+++ b/mingw-w64-crt/lib64/iiswmi.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file IISPROV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISPROV.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-DoMofComp
+; 
+; Exports of file IISPROV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISPROV.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+DoMofComp
diff --git a/mingw-w64-crt/lib64/imagehlp.def b/mingw-w64-crt/lib64/imagehlp.def
index abc600f..5b6b15f 100644
--- a/mingw-w64-crt/lib64/imagehlp.def
+++ b/mingw-w64-crt/lib64/imagehlp.def
@@ -1,114 +1,114 @@
-; 
-; Exports of file imagehlp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imagehlp.dll
-EXPORTS
-RemoveRelocations
-BindImage
-BindImageEx
-CheckSumMappedFile
-EnumerateLoadedModules
-EnumerateLoadedModules64
-FindDebugInfoFile
-FindDebugInfoFileEx
-FindExecutableImage
-FindExecutableImageEx
-FindFileInPath
-FindFileInSearchPath
-GetImageConfigInformation
-GetImageUnusedHeaderBytes
-GetTimestampForLoadedLibrary
-ImageAddCertificate
-ImageDirectoryEntryToData
-ImageDirectoryEntryToDataEx
-ImageEnumerateCertificates
-ImageGetCertificateData
-ImageGetCertificateHeader
-ImageGetDigestStream
-ImageLoad
-ImageNtHeader
-ImageRemoveCertificate
-ImageRvaToSection
-ImageRvaToVa
-ImageUnload
-ImagehlpApiVersion
-ImagehlpApiVersionEx
-MakeSureDirectoryPathExists
-MapAndLoad
-MapFileAndCheckSumA
-MapFileAndCheckSumW
-ReBaseImage
-ReBaseImage64
-RemovePrivateCvSymbolic
-RemovePrivateCvSymbolicEx
-SearchTreeForFile
-SetImageConfigInformation
-SplitSymbols
-StackWalk
-StackWalk64
-SymCleanup
-SymEnumSym
-SymEnumSymbols
-SymEnumSymbolsForAddr
-SymEnumTypes
-SymEnumerateModules
-SymEnumerateModules64
-SymEnumerateSymbols
-SymEnumerateSymbols64
-SymEnumerateSymbolsW
-SymEnumerateSymbolsW64
-SymFindFileInPath
-SymFromAddr
-SymFromName
-SymFunctionTableAccess
-SymFunctionTableAccess64
-SymGetLineFromAddr
-SymGetLineFromAddr64
-SymGetLineFromName
-SymGetLineFromName64
-SymGetLineNext
-SymGetLineNext64
-SymGetLinePrev
-SymGetLinePrev64
-SymGetModuleBase
-SymGetModuleBase64
-SymGetModuleInfo
-SymGetModuleInfo64
-SymGetModuleInfoW
-SymGetModuleInfoW64
-SymGetOptions
-SymGetSearchPath
-SymGetSymFromAddr
-SymGetSymFromAddr64
-SymGetSymFromName
-SymGetSymFromName64
-SymGetSymNext
-SymGetSymNext64
-SymGetSymPrev
-SymGetSymPrev64
-SymGetTypeFromName
-SymGetTypeInfo
-SymInitialize
-SymLoadModule
-SymLoadModule64
-SymMatchFileName
-SymMatchString
-SymRegisterCallback
-SymRegisterCallback64
-SymRegisterFunctionEntryCallback
-SymRegisterFunctionEntryCallback64
-SymSetContext
-SymSetOptions
-SymSetSearchPath
-SymUnDName
-SymUnDName64
-SymUnloadModule
-SymUnloadModule64
-TouchFileTimes
-UnDecorateSymbolName
-UnMapAndLoad
-UpdateDebugInfoFile
-UpdateDebugInfoFileEx
+; 
+; Exports of file imagehlp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imagehlp.dll
+EXPORTS
+RemoveRelocations
+BindImage
+BindImageEx
+CheckSumMappedFile
+EnumerateLoadedModules
+EnumerateLoadedModules64
+FindDebugInfoFile
+FindDebugInfoFileEx
+FindExecutableImage
+FindExecutableImageEx
+FindFileInPath
+FindFileInSearchPath
+GetImageConfigInformation
+GetImageUnusedHeaderBytes
+GetTimestampForLoadedLibrary
+ImageAddCertificate
+ImageDirectoryEntryToData
+ImageDirectoryEntryToDataEx
+ImageEnumerateCertificates
+ImageGetCertificateData
+ImageGetCertificateHeader
+ImageGetDigestStream
+ImageLoad
+ImageNtHeader
+ImageRemoveCertificate
+ImageRvaToSection
+ImageRvaToVa
+ImageUnload
+ImagehlpApiVersion
+ImagehlpApiVersionEx
+MakeSureDirectoryPathExists
+MapAndLoad
+MapFileAndCheckSumA
+MapFileAndCheckSumW
+ReBaseImage
+ReBaseImage64
+RemovePrivateCvSymbolic
+RemovePrivateCvSymbolicEx
+SearchTreeForFile
+SetImageConfigInformation
+SplitSymbols
+StackWalk
+StackWalk64
+SymCleanup
+SymEnumSym
+SymEnumSymbols
+SymEnumSymbolsForAddr
+SymEnumTypes
+SymEnumerateModules
+SymEnumerateModules64
+SymEnumerateSymbols
+SymEnumerateSymbols64
+SymEnumerateSymbolsW
+SymEnumerateSymbolsW64
+SymFindFileInPath
+SymFromAddr
+SymFromName
+SymFunctionTableAccess
+SymFunctionTableAccess64
+SymGetLineFromAddr
+SymGetLineFromAddr64
+SymGetLineFromName
+SymGetLineFromName64
+SymGetLineNext
+SymGetLineNext64
+SymGetLinePrev
+SymGetLinePrev64
+SymGetModuleBase
+SymGetModuleBase64
+SymGetModuleInfo
+SymGetModuleInfo64
+SymGetModuleInfoW
+SymGetModuleInfoW64
+SymGetOptions
+SymGetSearchPath
+SymGetSymFromAddr
+SymGetSymFromAddr64
+SymGetSymFromName
+SymGetSymFromName64
+SymGetSymNext
+SymGetSymNext64
+SymGetSymPrev
+SymGetSymPrev64
+SymGetTypeFromName
+SymGetTypeInfo
+SymInitialize
+SymLoadModule
+SymLoadModule64
+SymMatchFileName
+SymMatchString
+SymRegisterCallback
+SymRegisterCallback64
+SymRegisterFunctionEntryCallback
+SymRegisterFunctionEntryCallback64
+SymSetContext
+SymSetOptions
+SymSetSearchPath
+SymUnDName
+SymUnDName64
+SymUnloadModule
+SymUnloadModule64
+TouchFileTimes
+UnDecorateSymbolName
+UnMapAndLoad
+UpdateDebugInfoFile
+UpdateDebugInfoFileEx
diff --git a/mingw-w64-crt/lib64/imekrcic.def b/mingw-w64-crt/lib64/imekrcic.def
index a84c4b9..05b2f93 100644
--- a/mingw-w64-crt/lib64/imekrcic.def
+++ b/mingw-w64-crt/lib64/imekrcic.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IMEKRCIC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IMEKRCIC.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IMEKRCIC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IMEKRCIC.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/imepadsm.def b/mingw-w64-crt/lib64/imepadsm.def
index 16b8234..a7de3b3 100644
--- a/mingw-w64-crt/lib64/imepadsm.def
+++ b/mingw-w64-crt/lib64/imepadsm.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file main.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY main.dll
-EXPORTS
-CreateObject2
-CreateObject
-RegClass
-UnregClass
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file main.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY main.dll
+EXPORTS
+CreateObject2
+CreateObject
+RegClass
+UnregClass
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/imeshare.def b/mingw-w64-crt/lib64/imeshare.def
index 35e081a..a16b088 100644
--- a/mingw-w64-crt/lib64/imeshare.def
+++ b/mingw-w64-crt/lib64/imeshare.def
@@ -1,38 +1,38 @@
-; 
-; Exports of file imeshare.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imeshare.dll
-EXPORTS
-DllMain
-FInitIMEShare
-EndIMEShare
-FRefreshStyle
-FSupportSty
-PIMEStyleFromAttr
-PColorStyleTextFromIMEStyle
-PColorStyleBackFromIMEStyle
-FBoldIMEStyle
-FItalicIMEStyle
-FUlIMEStyle
-GrfStyIMEStyle
-IdUlIMEStyle
-FGetIMEStyleAttr
-FSetIMEStyleAttr
-FWinIMEColorStyle
-FFundamentalIMEColorStyle
-FRGBIMEColorStyle
-FSpecialIMEColorStyle
-IdSpecialFromIMEColorStyle
-IdWinFromIMEColorStyle
-IdFundamentalFromIMEColorStyle
-RGBFromIMEColorStyle
-FSetIMEColorStyle
-FSetIMEStyle
-FSpecialTextIMEColorStyle
-FSpecialWindowIMEColorStyle
-CustomizeIMEShare
-FSaveIMEShareSetting
-PIMEShareCreate
+; 
+; Exports of file imeshare.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imeshare.dll
+EXPORTS
+DllMain
+FInitIMEShare
+EndIMEShare
+FRefreshStyle
+FSupportSty
+PIMEStyleFromAttr
+PColorStyleTextFromIMEStyle
+PColorStyleBackFromIMEStyle
+FBoldIMEStyle
+FItalicIMEStyle
+FUlIMEStyle
+GrfStyIMEStyle
+IdUlIMEStyle
+FGetIMEStyleAttr
+FSetIMEStyleAttr
+FWinIMEColorStyle
+FFundamentalIMEColorStyle
+FRGBIMEColorStyle
+FSpecialIMEColorStyle
+IdSpecialFromIMEColorStyle
+IdWinFromIMEColorStyle
+IdFundamentalFromIMEColorStyle
+RGBFromIMEColorStyle
+FSetIMEColorStyle
+FSetIMEStyle
+FSpecialTextIMEColorStyle
+FSpecialWindowIMEColorStyle
+CustomizeIMEShare
+FSaveIMEShareSetting
+PIMEShareCreate
diff --git a/mingw-w64-crt/lib64/imgutil.def b/mingw-w64-crt/lib64/imgutil.def
index 2b90d10..03572bb 100644
--- a/mingw-w64-crt/lib64/imgutil.def
+++ b/mingw-w64-crt/lib64/imgutil.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file ImgUtil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ImgUtil.dll
-EXPORTS
-ComputeInvCMAP
-CreateDDrawSurfaceOnDIB
-CreateMIMEMap
-DecodeImage
-DitherTo8
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetMaxMIMEIDBytes
-IdentifyMIMEType
-SniffStream
+; 
+; Exports of file ImgUtil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ImgUtil.dll
+EXPORTS
+ComputeInvCMAP
+CreateDDrawSurfaceOnDIB
+CreateMIMEMap
+DecodeImage
+DitherTo8
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetMaxMIMEIDBytes
+IdentifyMIMEType
+SniffStream
diff --git a/mingw-w64-crt/lib64/imjp81k.def b/mingw-w64-crt/lib64/imjp81k.def
index 8e78acd..c6509dc 100644
--- a/mingw-w64-crt/lib64/imjp81k.def
+++ b/mingw-w64-crt/lib64/imjp81k.def
@@ -1,37 +1,37 @@
-; 
-; Exports of file imjp81k.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imjp81k.dll
-EXPORTS
-DllCanUnloadNowDone
-CheckFileType
-CleanDicThreadFunc
-CreateIFECommonInstance
-CreateIFEDictionary2Instance
-CreateIFEDictionaryInstance
-CreateIFELanguageInstance
-CreateIImeIPointInstance
-CreateIImeKbdInstance
-CreateIImeKnlDictInstance
-CreateIRegManInstance
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-KnlClose
-KnlInit
-KnlOpen
-KnlTerm
-LoadTipConfig
-OurCoCreateInstance
-OurCoTaskMemAlloc
-OurCoTaskMemFree
-OurCoTaskMemRealloc
-OurStringFromGUID2
-RgSetGakusyuu
-ShutdownKnlDll
-UnLoadOurOle32
-reload_config
+; 
+; Exports of file imjp81k.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imjp81k.dll
+EXPORTS
+DllCanUnloadNowDone
+CheckFileType
+CleanDicThreadFunc
+CreateIFECommonInstance
+CreateIFEDictionary2Instance
+CreateIFEDictionaryInstance
+CreateIFELanguageInstance
+CreateIImeIPointInstance
+CreateIImeKbdInstance
+CreateIImeKnlDictInstance
+CreateIRegManInstance
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+KnlClose
+KnlInit
+KnlOpen
+KnlTerm
+LoadTipConfig
+OurCoCreateInstance
+OurCoTaskMemAlloc
+OurCoTaskMemFree
+OurCoTaskMemRealloc
+OurStringFromGUID2
+RgSetGakusyuu
+ShutdownKnlDll
+UnLoadOurOle32
+reload_config
diff --git a/mingw-w64-crt/lib64/imjpcic.def b/mingw-w64-crt/lib64/imjpcic.def
index f8f8e93..e5a03c5 100644
--- a/mingw-w64-crt/lib64/imjpcic.def
+++ b/mingw-w64-crt/lib64/imjpcic.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file simx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY simx.dll
-EXPORTS
-; public: static __int64 __cdecl CHelp::AboutDlgProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?AboutDlgProc@CHelp@@SA_JPEAUHWND__@@I_K_J@Z
-; public: static __int64 __cdecl CPad::HWDlgProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?HWDlgProc@CPad@@SA_JPEAUHWND__@@I_K_J@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file simx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY simx.dll
+EXPORTS
+; public: static __int64 __cdecl CHelp::AboutDlgProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?AboutDlgProc@CHelp@@SA_JPEAUHWND__@@I_K_J@Z
+; public: static __int64 __cdecl CPad::HWDlgProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?HWDlgProc@CPad@@SA_JPEAUHWND__@@I_K_J@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/imjpcus.def b/mingw-w64-crt/lib64/imjpcus.def
index f231044..cf37f7d 100644
--- a/mingw-w64-crt/lib64/imjpcus.def
+++ b/mingw-w64-crt/lib64/imjpcus.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file imejpcus.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imejpcus.dll
-EXPORTS
-OpenDetailDialog
-DllMain
+; 
+; Exports of file imejpcus.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imejpcus.dll
+EXPORTS
+OpenDetailDialog
+DllMain
diff --git a/mingw-w64-crt/lib64/imjpdct.def b/mingw-w64-crt/lib64/imjpdct.def
index 0673b5d..2b2bde1 100644
--- a/mingw-w64-crt/lib64/imjpdct.def
+++ b/mingw-w64-crt/lib64/imjpdct.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file imedic.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imedic.dll
-EXPORTS
-OpenDicTool
-OpenRegisterWord
+; 
+; Exports of file imedic.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imedic.dll
+EXPORTS
+OpenDicTool
+OpenRegisterWord
diff --git a/mingw-w64-crt/lib64/imjputyc.def b/mingw-w64-crt/lib64/imjputyc.def
index 42e3aa6..4393770 100644
--- a/mingw-w64-crt/lib64/imjputyc.def
+++ b/mingw-w64-crt/lib64/imjputyc.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file imjputyc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imjputyc.dll
-EXPORTS
-AutoCorrLbSubWndProc
-DllMain
-OpenImeTool
-OpenUty
+; 
+; Exports of file imjputyc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imjputyc.dll
+EXPORTS
+AutoCorrLbSubWndProc
+DllMain
+OpenImeTool
+OpenUty
diff --git a/mingw-w64-crt/lib64/imlang.def b/mingw-w64-crt/lib64/imlang.def
index ff61143..1b55473 100644
--- a/mingw-w64-crt/lib64/imlang.def
+++ b/mingw-w64-crt/lib64/imlang.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file main.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY main.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file main.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY main.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/imm32.def b/mingw-w64-crt/lib64/imm32.def
index f5a5e8c..dbfed45 100644
--- a/mingw-w64-crt/lib64/imm32.def
+++ b/mingw-w64-crt/lib64/imm32.def
@@ -1,139 +1,139 @@
-; 
-; Exports of file IMM32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IMM32.dll
-EXPORTS
-CtfAImmActivate
-CtfAImmDeactivate
-CtfAImmIsIME
-CtfImmCoUninitialize
-CtfImmDispatchDefImeMessage
-CtfImmEnterCoInitCountSkipMode
-CtfImmGenerateMessage
-CtfImmGetGuidAtom
-CtfImmHideToolbarWnd
-CtfImmIsCiceroEnabled
-CtfImmIsCiceroStartedInThread
-CtfImmIsGuidMapEnable
-CtfImmIsTextFrameServiceDisabled
-CtfImmLastEnabledWndDestroy
-CtfImmLeaveCoInitCountSkipMode
-CtfImmRestoreToolbarWnd
-CtfImmSetAppCompatFlags
-CtfImmSetCiceroStartInThread
-CtfImmTIMActivate
-GetKeyboardLayoutCP
-ImmActivateLayout
-ImmAssociateContext
-ImmAssociateContextEx
-ImmCallImeConsoleIME
-ImmConfigureIMEA
-ImmConfigureIMEW
-ImmCreateContext
-ImmCreateIMCC
-ImmCreateSoftKeyboard
-ImmDestroyContext
-ImmDestroyIMCC
-ImmDestroySoftKeyboard
-ImmDisableIME
-ImmDisableIme
-ImmDisableTextFrameService
-ImmEnumInputContext
-ImmEnumRegisterWordA
-ImmEnumRegisterWordW
-ImmEscapeA
-ImmEscapeW
-ImmFreeLayout
-ImmGenerateMessage
-ImmGetAppCompatFlags
-ImmGetCandidateListA
-ImmGetCandidateListCountA
-ImmGetCandidateListCountW
-ImmGetCandidateListW
-ImmGetCandidateWindow
-ImmGetCompositionFontA
-ImmGetCompositionFontW
-ImmGetCompositionStringA
-ImmGetCompositionStringW
-ImmGetCompositionWindow
-ImmGetContext
-ImmGetConversionListA
-ImmGetConversionListW
-ImmGetConversionStatus
-ImmGetDefaultIMEWnd
-ImmGetDescriptionA
-ImmGetDescriptionW
-ImmGetGuideLineA
-ImmGetGuideLineW
-ImmGetHotKey
-ImmGetIMCCLockCount
-ImmGetIMCCSize
-ImmGetIMCLockCount
-ImmGetIMEFileNameA
-ImmGetIMEFileNameW
-ImmGetImeInfoEx
-ImmGetImeMenuItemsA
-ImmGetImeMenuItemsW
-ImmGetOpenStatus
-ImmGetProperty
-ImmGetRegisterWordStyleA
-ImmGetRegisterWordStyleW
-ImmGetStatusWindowPos
-ImmGetVirtualKey
-ImmIMPGetIMEA
-ImmIMPGetIMEW
-ImmIMPQueryIMEA
-ImmIMPQueryIMEW
-ImmIMPSetIMEA
-ImmIMPSetIMEW
-ImmInstallIMEA
-ImmInstallIMEW
-ImmIsIME
-ImmIsUIMessageA
-ImmIsUIMessageW
-ImmLoadIME
-ImmLoadLayout
-ImmLockClientImc
-ImmLockIMC
-ImmLockIMCC
-ImmLockImeDpi
-ImmNotifyIME
-ImmProcessKey
-ImmPutImeMenuItemsIntoMappedFile
-ImmReSizeIMCC
-ImmRegisterClient
-ImmRegisterWordA
-ImmRegisterWordW
-ImmReleaseContext
-ImmRequestMessageA
-ImmRequestMessageW
-ImmSendIMEMessageExA
-ImmSendIMEMessageExW
-ImmSetActiveContext
-ImmSetActiveContextConsoleIME
-ImmSetCandidateWindow
-ImmSetCompositionFontA
-ImmSetCompositionFontW
-ImmSetCompositionStringA
-ImmSetCompositionStringW
-ImmSetCompositionWindow
-ImmSetConversionStatus
-ImmSetHotKey
-ImmSetOpenStatus
-ImmSetStatusWindowPos
-ImmShowSoftKeyboard
-ImmSimulateHotKey
-ImmSystemHandler
-ImmTranslateMessage
-ImmUnlockClientImc
-ImmUnlockIMC
-ImmUnlockIMCC
-ImmUnlockImeDpi
-ImmUnregisterWordA
-ImmUnregisterWordW
-ImmWINNLSEnableIME
-ImmWINNLSGetEnableStatus
-ImmWINNLSGetIMEHotkey
+; 
+; Exports of file IMM32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IMM32.dll
+EXPORTS
+CtfAImmActivate
+CtfAImmDeactivate
+CtfAImmIsIME
+CtfImmCoUninitialize
+CtfImmDispatchDefImeMessage
+CtfImmEnterCoInitCountSkipMode
+CtfImmGenerateMessage
+CtfImmGetGuidAtom
+CtfImmHideToolbarWnd
+CtfImmIsCiceroEnabled
+CtfImmIsCiceroStartedInThread
+CtfImmIsGuidMapEnable
+CtfImmIsTextFrameServiceDisabled
+CtfImmLastEnabledWndDestroy
+CtfImmLeaveCoInitCountSkipMode
+CtfImmRestoreToolbarWnd
+CtfImmSetAppCompatFlags
+CtfImmSetCiceroStartInThread
+CtfImmTIMActivate
+GetKeyboardLayoutCP
+ImmActivateLayout
+ImmAssociateContext
+ImmAssociateContextEx
+ImmCallImeConsoleIME
+ImmConfigureIMEA
+ImmConfigureIMEW
+ImmCreateContext
+ImmCreateIMCC
+ImmCreateSoftKeyboard
+ImmDestroyContext
+ImmDestroyIMCC
+ImmDestroySoftKeyboard
+ImmDisableIME
+ImmDisableIme
+ImmDisableTextFrameService
+ImmEnumInputContext
+ImmEnumRegisterWordA
+ImmEnumRegisterWordW
+ImmEscapeA
+ImmEscapeW
+ImmFreeLayout
+ImmGenerateMessage
+ImmGetAppCompatFlags
+ImmGetCandidateListA
+ImmGetCandidateListCountA
+ImmGetCandidateListCountW
+ImmGetCandidateListW
+ImmGetCandidateWindow
+ImmGetCompositionFontA
+ImmGetCompositionFontW
+ImmGetCompositionStringA
+ImmGetCompositionStringW
+ImmGetCompositionWindow
+ImmGetContext
+ImmGetConversionListA
+ImmGetConversionListW
+ImmGetConversionStatus
+ImmGetDefaultIMEWnd
+ImmGetDescriptionA
+ImmGetDescriptionW
+ImmGetGuideLineA
+ImmGetGuideLineW
+ImmGetHotKey
+ImmGetIMCCLockCount
+ImmGetIMCCSize
+ImmGetIMCLockCount
+ImmGetIMEFileNameA
+ImmGetIMEFileNameW
+ImmGetImeInfoEx
+ImmGetImeMenuItemsA
+ImmGetImeMenuItemsW
+ImmGetOpenStatus
+ImmGetProperty
+ImmGetRegisterWordStyleA
+ImmGetRegisterWordStyleW
+ImmGetStatusWindowPos
+ImmGetVirtualKey
+ImmIMPGetIMEA
+ImmIMPGetIMEW
+ImmIMPQueryIMEA
+ImmIMPQueryIMEW
+ImmIMPSetIMEA
+ImmIMPSetIMEW
+ImmInstallIMEA
+ImmInstallIMEW
+ImmIsIME
+ImmIsUIMessageA
+ImmIsUIMessageW
+ImmLoadIME
+ImmLoadLayout
+ImmLockClientImc
+ImmLockIMC
+ImmLockIMCC
+ImmLockImeDpi
+ImmNotifyIME
+ImmProcessKey
+ImmPutImeMenuItemsIntoMappedFile
+ImmReSizeIMCC
+ImmRegisterClient
+ImmRegisterWordA
+ImmRegisterWordW
+ImmReleaseContext
+ImmRequestMessageA
+ImmRequestMessageW
+ImmSendIMEMessageExA
+ImmSendIMEMessageExW
+ImmSetActiveContext
+ImmSetActiveContextConsoleIME
+ImmSetCandidateWindow
+ImmSetCompositionFontA
+ImmSetCompositionFontW
+ImmSetCompositionStringA
+ImmSetCompositionStringW
+ImmSetCompositionWindow
+ImmSetConversionStatus
+ImmSetHotKey
+ImmSetOpenStatus
+ImmSetStatusWindowPos
+ImmShowSoftKeyboard
+ImmSimulateHotKey
+ImmSystemHandler
+ImmTranslateMessage
+ImmUnlockClientImc
+ImmUnlockIMC
+ImmUnlockIMCC
+ImmUnlockImeDpi
+ImmUnregisterWordA
+ImmUnregisterWordW
+ImmWINNLSEnableIME
+ImmWINNLSGetEnableStatus
+ImmWINNLSGetIMEHotkey
diff --git a/mingw-w64-crt/lib64/imsinsnt.def b/mingw-w64-crt/lib64/imsinsnt.def
index 5dac72c..428c477 100644
--- a/mingw-w64-crt/lib64/imsinsnt.def
+++ b/mingw-w64-crt/lib64/imsinsnt.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file IMSINSNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IMSINSNT.dll
-EXPORTS
-OcEntry
+; 
+; Exports of file IMSINSNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IMSINSNT.dll
+EXPORTS
+OcEntry
diff --git a/mingw-w64-crt/lib64/imskdic.def b/mingw-w64-crt/lib64/imskdic.def
index 06ab0c3..6ad133d 100644
--- a/mingw-w64-crt/lib64/imskdic.def
+++ b/mingw-w64-crt/lib64/imskdic.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file imeskdic.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imeskdic.dll
-EXPORTS
-CreateIImeSkdicInstance
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file imeskdic.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imeskdic.dll
+EXPORTS
+CreateIImeSkdicInstance
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/imskf.def b/mingw-w64-crt/lib64/imskf.def
index ff61143..1b55473 100644
--- a/mingw-w64-crt/lib64/imskf.def
+++ b/mingw-w64-crt/lib64/imskf.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file main.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY main.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file main.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY main.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/inetcfg.def b/mingw-w64-crt/lib64/inetcfg.def
index efb86a8..18af9c0 100644
--- a/mingw-w64-crt/lib64/inetcfg.def
+++ b/mingw-w64-crt/lib64/inetcfg.def
@@ -1,61 +1,61 @@
-; 
-; Exports of file INETCFG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INETCFG.dll
-EXPORTS
-CheckConnectionWizard
-ConfigureSystemForInternet
-ConfigureSystemForInternetA
-ConfigureSystemForInternetW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-FreeSignupWizard
-InetConfigClient
-InetConfigClientA
-InetConfigClientW
-InetConfigSystem
-InetConfigSystemFromPath
-InetConfigSystemFromPathA
-InetConfigSystemFromPathW
-InetGetAutodial
-InetGetAutodialA
-InetGetAutodialW
-InetGetClientInfo
-InetGetClientInfoA
-InetGetClientInfoW
-InetGetProxy
-InetGetProxyA
-InetGetProxyW
-InetNeedModem
-InetNeedSystemComponents
-InetPerformSecurityCheck
-InetSetAutodial
-InetSetAutodialA
-InetSetAutodialW
-InetSetClientInfo
-InetSetClientInfoA
-InetSetClientInfoW
-InetSetProxy
-InetSetProxyA
-InetSetProxyEx
-InetSetProxyExA
-InetSetProxyExW
-InetSetProxyW
-InetStartServices
-IsSmartStart
-IsSmartStartEx
-LaunchSignupWizard
-LaunchSignupWizardEx
-SetAutoProxyConnectoid
-SetInternetPhoneNumber
-SetInternetPhoneNumberA
-SetInternetPhoneNumberW
-SetShellNext
-SetShellNextA
-SetShellNextW
-_LaunchSignupWizardEx
+; 
+; Exports of file INETCFG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INETCFG.dll
+EXPORTS
+CheckConnectionWizard
+ConfigureSystemForInternet
+ConfigureSystemForInternetA
+ConfigureSystemForInternetW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+FreeSignupWizard
+InetConfigClient
+InetConfigClientA
+InetConfigClientW
+InetConfigSystem
+InetConfigSystemFromPath
+InetConfigSystemFromPathA
+InetConfigSystemFromPathW
+InetGetAutodial
+InetGetAutodialA
+InetGetAutodialW
+InetGetClientInfo
+InetGetClientInfoA
+InetGetClientInfoW
+InetGetProxy
+InetGetProxyA
+InetGetProxyW
+InetNeedModem
+InetNeedSystemComponents
+InetPerformSecurityCheck
+InetSetAutodial
+InetSetAutodialA
+InetSetAutodialW
+InetSetClientInfo
+InetSetClientInfoA
+InetSetClientInfoW
+InetSetProxy
+InetSetProxyA
+InetSetProxyEx
+InetSetProxyExA
+InetSetProxyExW
+InetSetProxyW
+InetStartServices
+IsSmartStart
+IsSmartStartEx
+LaunchSignupWizard
+LaunchSignupWizardEx
+SetAutoProxyConnectoid
+SetInternetPhoneNumber
+SetInternetPhoneNumberA
+SetInternetPhoneNumberW
+SetShellNext
+SetShellNextA
+SetShellNextW
+_LaunchSignupWizardEx
diff --git a/mingw-w64-crt/lib64/inetcomm.def b/mingw-w64-crt/lib64/inetcomm.def
index ccb99f7..39fab51 100644
--- a/mingw-w64-crt/lib64/inetcomm.def
+++ b/mingw-w64-crt/lib64/inetcomm.def
@@ -1,115 +1,115 @@
-; 
-; Exports of file INETCOMM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INETCOMM.dll
-EXPORTS
-RichMimeEdit_CreateInstance
-CreateIMAPTransport
-CreateIMAPTransport2
-CreateNNTPTransport
-CreatePOP3Transport
-CreateRASTransport
-CreateRangeList
-CreateSMTPTransport
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-EssContentHintDecodeEx
-EssContentHintEncodeEx
-EssKeyExchPreferenceDecodeEx
-EssKeyExchPreferenceEncodeEx
-EssMLHistoryDecodeEx
-EssMLHistoryEncodeEx
-EssReceiptDecodeEx
-EssReceiptEncodeEx
-EssReceiptRequestDecodeEx
-EssReceiptRequestEncodeEx
-EssSecurityLabelDecodeEx
-EssSecurityLabelEncodeEx
-EssSignCertificateDecodeEx
-EssSignCertificateEncodeEx
-GetDllMajorVersion
-HrAthGetFileName
-HrAthGetFileNameW
-HrAttachDataFromBodyPart
-HrAttachDataFromFile
-HrDoAttachmentVerb
-HrFreeAttachData
-HrGetAttachIcon
-HrGetAttachIconByFile
-HrGetDisplayNameWithSizeForFile
-HrGetLastOpenFileDirectory
-HrGetLastOpenFileDirectoryW
-HrSaveAttachToFile
-HrSaveAttachmentAs
-MimeEditCreateMimeDocument
-MimeEditDocumentFromStream
-MimeEditGetBackgroundImageUrl
-MimeEditIsSafeToRun
-MimeEditViewSource
-MimeGetAddressFormatW
-MimeOleAlgNameFromSMimeCap
-MimeOleAlgStrengthFromSMimeCap
-MimeOleClearDirtyTree
-MimeOleConvertEnrichedToHTML
-MimeOleCreateBody
-MimeOleCreateByteStream
-MimeOleCreateHashTable
-MimeOleCreateHeaderTable
-MimeOleCreateMessage
-MimeOleCreateMessageParts
-MimeOleCreatePropertySet
-MimeOleCreateSecurity
-MimeOleCreateVirtualStream
-MimeOleDecodeHeader
-MimeOleEncodeHeader
-MimeOleFileTimeToInetDate
-MimeOleFindCharset
-MimeOleGenerateCID
-MimeOleGenerateFileName
-MimeOleGenerateMID
-MimeOleGetAllocator
-MimeOleGetBodyPropA
-MimeOleGetBodyPropW
-MimeOleGetCertsFromThumbprints
-MimeOleGetCharsetInfo
-MimeOleGetCodePageCharset
-MimeOleGetCodePageInfo
-MimeOleGetContentTypeExt
-MimeOleGetDefaultCharset
-MimeOleGetExtContentType
-MimeOleGetFileExtension
-MimeOleGetFileInfo
-MimeOleGetFileInfoW
-MimeOleGetInternat
-MimeOleGetPropA
-MimeOleGetPropW
-MimeOleGetPropertySchema
-MimeOleGetRelatedSection
-MimeOleInetDateToFileTime
-MimeOleObjectFromMoniker
-MimeOleOpenFileStream
-MimeOleParseMhtmlUrl
-MimeOleParseRfc822Address
-MimeOleParseRfc822AddressW
-MimeOleSMimeCapAddCert
-MimeOleSMimeCapAddSMimeCap
-MimeOleSMimeCapGetEncAlg
-MimeOleSMimeCapGetHashAlg
-MimeOleSMimeCapInit
-MimeOleSMimeCapRelease
-MimeOleSMimeCapsFromDlg
-MimeOleSMimeCapsFull
-MimeOleSMimeCapsToDlg
-MimeOleSetBodyPropA
-MimeOleSetBodyPropW
-MimeOleSetCompatMode
-MimeOleSetDefaultCharset
-MimeOleSetPropA
-MimeOleSetPropW
-MimeOleStripHeaders
-MimeOleUnEscapeStringInPlace
+; 
+; Exports of file INETCOMM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INETCOMM.dll
+EXPORTS
+RichMimeEdit_CreateInstance
+CreateIMAPTransport
+CreateIMAPTransport2
+CreateNNTPTransport
+CreatePOP3Transport
+CreateRASTransport
+CreateRangeList
+CreateSMTPTransport
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+EssContentHintDecodeEx
+EssContentHintEncodeEx
+EssKeyExchPreferenceDecodeEx
+EssKeyExchPreferenceEncodeEx
+EssMLHistoryDecodeEx
+EssMLHistoryEncodeEx
+EssReceiptDecodeEx
+EssReceiptEncodeEx
+EssReceiptRequestDecodeEx
+EssReceiptRequestEncodeEx
+EssSecurityLabelDecodeEx
+EssSecurityLabelEncodeEx
+EssSignCertificateDecodeEx
+EssSignCertificateEncodeEx
+GetDllMajorVersion
+HrAthGetFileName
+HrAthGetFileNameW
+HrAttachDataFromBodyPart
+HrAttachDataFromFile
+HrDoAttachmentVerb
+HrFreeAttachData
+HrGetAttachIcon
+HrGetAttachIconByFile
+HrGetDisplayNameWithSizeForFile
+HrGetLastOpenFileDirectory
+HrGetLastOpenFileDirectoryW
+HrSaveAttachToFile
+HrSaveAttachmentAs
+MimeEditCreateMimeDocument
+MimeEditDocumentFromStream
+MimeEditGetBackgroundImageUrl
+MimeEditIsSafeToRun
+MimeEditViewSource
+MimeGetAddressFormatW
+MimeOleAlgNameFromSMimeCap
+MimeOleAlgStrengthFromSMimeCap
+MimeOleClearDirtyTree
+MimeOleConvertEnrichedToHTML
+MimeOleCreateBody
+MimeOleCreateByteStream
+MimeOleCreateHashTable
+MimeOleCreateHeaderTable
+MimeOleCreateMessage
+MimeOleCreateMessageParts
+MimeOleCreatePropertySet
+MimeOleCreateSecurity
+MimeOleCreateVirtualStream
+MimeOleDecodeHeader
+MimeOleEncodeHeader
+MimeOleFileTimeToInetDate
+MimeOleFindCharset
+MimeOleGenerateCID
+MimeOleGenerateFileName
+MimeOleGenerateMID
+MimeOleGetAllocator
+MimeOleGetBodyPropA
+MimeOleGetBodyPropW
+MimeOleGetCertsFromThumbprints
+MimeOleGetCharsetInfo
+MimeOleGetCodePageCharset
+MimeOleGetCodePageInfo
+MimeOleGetContentTypeExt
+MimeOleGetDefaultCharset
+MimeOleGetExtContentType
+MimeOleGetFileExtension
+MimeOleGetFileInfo
+MimeOleGetFileInfoW
+MimeOleGetInternat
+MimeOleGetPropA
+MimeOleGetPropW
+MimeOleGetPropertySchema
+MimeOleGetRelatedSection
+MimeOleInetDateToFileTime
+MimeOleObjectFromMoniker
+MimeOleOpenFileStream
+MimeOleParseMhtmlUrl
+MimeOleParseRfc822Address
+MimeOleParseRfc822AddressW
+MimeOleSMimeCapAddCert
+MimeOleSMimeCapAddSMimeCap
+MimeOleSMimeCapGetEncAlg
+MimeOleSMimeCapGetHashAlg
+MimeOleSMimeCapInit
+MimeOleSMimeCapRelease
+MimeOleSMimeCapsFromDlg
+MimeOleSMimeCapsFull
+MimeOleSMimeCapsToDlg
+MimeOleSetBodyPropA
+MimeOleSetBodyPropW
+MimeOleSetCompatMode
+MimeOleSetDefaultCharset
+MimeOleSetPropA
+MimeOleSetPropW
+MimeOleStripHeaders
+MimeOleUnEscapeStringInPlace
diff --git a/mingw-w64-crt/lib64/inetmgr.def b/mingw-w64-crt/lib64/inetmgr.def
index cbc3484..de659df 100644
--- a/mingw-w64-crt/lib64/inetmgr.def
+++ b/mingw-w64-crt/lib64/inetmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file inetmgr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY inetmgr.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file inetmgr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY inetmgr.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/inetmib1.def b/mingw-w64-crt/lib64/inetmib1.def
index 3e23f80..adf05ab 100644
--- a/mingw-w64-crt/lib64/inetmib1.def
+++ b/mingw-w64-crt/lib64/inetmib1.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file inetmib1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY inetmib1.dll
-EXPORTS
-SnmpExtensionInit
-SnmpExtensionInitEx
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file inetmib1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY inetmib1.dll
+EXPORTS
+SnmpExtensionInit
+SnmpExtensionInitEx
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/inetpp.def b/mingw-w64-crt/lib64/inetpp.def
index cbe6a50..4af4c95 100644
--- a/mingw-w64-crt/lib64/inetpp.def
+++ b/mingw-w64-crt/lib64/inetpp.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file INETPP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INETPP.dll
-EXPORTS
-InitializePrintProvidor
+; 
+; Exports of file INETPP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INETPP.dll
+EXPORTS
+InitializePrintProvidor
diff --git a/mingw-w64-crt/lib64/inetppui.def b/mingw-w64-crt/lib64/inetppui.def
index a08ffe3..6fccb6a 100644
--- a/mingw-w64-crt/lib64/inetppui.def
+++ b/mingw-w64-crt/lib64/inetppui.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file INETPPUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INETPPUI.dll
-EXPORTS
-InitializePrintMonitorUI
+; 
+; Exports of file INETPPUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INETPPUI.dll
+EXPORTS
+InitializePrintMonitorUI
diff --git a/mingw-w64-crt/lib64/infoadmn.def b/mingw-w64-crt/lib64/infoadmn.def
index 88ff92f..cf415dd 100644
--- a/mingw-w64-crt/lib64/infoadmn.def
+++ b/mingw-w64-crt/lib64/infoadmn.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file INFOADMN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INFOADMN.dll
-EXPORTS
-CollectW3PerfData
-FtpClearStatistics2
-FtpQueryStatistics2
-IISDisconnectUser
-IISEnumerateUsers
-InetInfoClearStatistics
-InetInfoFlushMemoryCache
-InetInfoGetAdminInformation
-InetInfoGetGlobalAdminInformation
-InetInfoGetServerCapabilities
-InetInfoGetSites
-InetInfoGetVersion
-InetInfoQueryStatistics
-InetInfoSetAdminInformation
-InetInfoSetGlobalAdminInformation
-InitW3CounterStructure
-W3ClearStatistics2
-W3QueryStatistics2
+; 
+; Exports of file INFOADMN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INFOADMN.dll
+EXPORTS
+CollectW3PerfData
+FtpClearStatistics2
+FtpQueryStatistics2
+IISDisconnectUser
+IISEnumerateUsers
+InetInfoClearStatistics
+InetInfoFlushMemoryCache
+InetInfoGetAdminInformation
+InetInfoGetGlobalAdminInformation
+InetInfoGetServerCapabilities
+InetInfoGetSites
+InetInfoGetVersion
+InetInfoQueryStatistics
+InetInfoSetAdminInformation
+InetInfoSetGlobalAdminInformation
+InitW3CounterStructure
+W3ClearStatistics2
+W3QueryStatistics2
diff --git a/mingw-w64-crt/lib64/infocomm.def b/mingw-w64-crt/lib64/infocomm.def
index 3c2806c..350704a 100644
--- a/mingw-w64-crt/lib64/infocomm.def
+++ b/mingw-w64-crt/lib64/infocomm.def
@@ -1,1173 +1,1173 @@
-; 
-; Exports of file INFOCOMM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INFOCOMM.dll
-EXPORTS
-; public: __cdecl COMMON_METADATA::COMMON_METADATA(void) __ptr64
-??0COMMON_METADATA@@QEAA@XZ
-; public: __cdecl HASH_TABLE::HASH_TABLE(class HASH_TABLE const & __ptr64) __ptr64
-??0HASH_TABLE@@QEAA@AEBV0@@Z
-; public: __cdecl HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const & __ptr64) __ptr64
-??0HT_ELEMENT@@QEAA@AEBV0@@Z
-; public: __cdecl HT_ELEMENT::HT_ELEMENT(void) __ptr64
-??0HT_ELEMENT@@QEAA@XZ
-; public: __cdecl IIS_CTL::IIS_CTL(class IIS_CTL const & __ptr64) __ptr64
-??0IIS_CTL@@QEAA@AEBV0@@Z
-; public: __cdecl IIS_CTL::IIS_CTL(struct IMDCOM * __ptr64,char * __ptr64) __ptr64
-??0IIS_CTL@@QEAA@PEAUIMDCOM@@PEAD@Z
-; public: __cdecl IIS_SERVER_BINDING::IIS_SERVER_BINDING(unsigned long,unsigned short,char const * __ptr64,class IIS_ENDPOINT * __ptr64) __ptr64
-??0IIS_SERVER_BINDING@@QEAA@KGPEBDPEAVIIS_ENDPOINT@@@Z
-; public: __cdecl IIS_SERVER_CERT::IIS_SERVER_CERT(class IIS_SERVER_CERT const & __ptr64) __ptr64
-??0IIS_SERVER_CERT@@QEAA@AEBV0@@Z
-; public: __cdecl IIS_SERVER_CERT::IIS_SERVER_CERT(struct IMDCOM * __ptr64,char * __ptr64) __ptr64
-??0IIS_SERVER_CERT@@QEAA@PEAUIMDCOM@@PEAD@Z
-; public: __cdecl IIS_SERVER_INSTANCE::IIS_SERVER_INSTANCE(class IIS_SERVICE * __ptr64,unsigned long,unsigned short,char const * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,int) __ptr64
-??0IIS_SERVER_INSTANCE@@QEAA@PEAVIIS_SERVICE@@KGPEBDPEAG2H@Z
-; public: __cdecl IIS_SERVICE::IIS_SERVICE(class IIS_SERVICE const & __ptr64) __ptr64
-??0IIS_SERVICE@@QEAA@AEBV0@@Z
-; public: __cdecl IIS_SERVICE::IIS_SERVICE(char const * __ptr64,char const * __ptr64,char const * __ptr64,unsigned long,unsigned __int64,int,unsigned long,void (__cdecl*)(unsigned __int64,struct sockaddr_in * __ptr64,void * __ptr64,void * __ptr64),void (__cdecl*)(void * __ptr64,unsigned long,unsigned long,struct _OVERLAPPED * __ptr64),void (__cdecl*)(void * __ptr64,unsigned long,unsigned long,struct _OVERLAPPED * __ptr64)) __ptr64
-??0IIS_SERVICE@@QEAA@PEBD00K_KHKP6AX1PEAUsockaddr_in@@PEAX3@ZP6AX3KKPEAU_OVERLAPPED@@@Z6@Z
-; public: __cdecl IIS_SSL_INFO::IIS_SSL_INFO(class IIS_SSL_INFO const & __ptr64) __ptr64
-??0IIS_SSL_INFO@@QEAA@AEBV0@@Z
-; public: __cdecl IIS_SSL_INFO::IIS_SSL_INFO(char * __ptr64,struct IMDCOM * __ptr64) __ptr64
-??0IIS_SSL_INFO@@QEAA@PEADPEAUIMDCOM@@@Z
-; public: __cdecl IIS_VROOT_TABLE::IIS_VROOT_TABLE(void) __ptr64
-??0IIS_VROOT_TABLE@@QEAA@XZ
-; public: __cdecl INET_PARSER::INET_PARSER(char * __ptr64) __ptr64
-??0INET_PARSER@@QEAA@PEAD@Z
-; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
-??0LOGGING@@QEAA@AEBV0@@Z
-; public: __cdecl LOGGING::LOGGING(void) __ptr64
-??0LOGGING@@QEAA@XZ
-; public: __cdecl MB::MB(struct IMDCOM * __ptr64) __ptr64
-??0MB@@QEAA@PEAUIMDCOM@@@Z
-; public: __cdecl MIME_MAP::MIME_MAP(void) __ptr64
-??0MIME_MAP@@QEAA@XZ
-; public: __cdecl ODBC_CONNECTION::ODBC_CONNECTION(void) __ptr64
-??0ODBC_CONNECTION@@QEAA@XZ
-; public: __cdecl ODBC_PARAMETER::ODBC_PARAMETER(unsigned short,short,short,short,unsigned long) __ptr64
-??0ODBC_PARAMETER@@QEAA@GFFFK@Z
-; public: __cdecl RefBlob::RefBlob(void) __ptr64
-??0RefBlob@@QEAA@XZ
-; public: __cdecl STORE_CHANGE_NOTIFIER::STORE_CHANGE_NOTIFIER(void) __ptr64
-??0STORE_CHANGE_NOTIFIER@@QEAA@XZ
-; public: __cdecl TCP_AUTHENT::TCP_AUTHENT(unsigned long) __ptr64
-??0TCP_AUTHENT@@QEAA@K@Z
-; public: virtual __cdecl COMMON_METADATA::~COMMON_METADATA(void) __ptr64
-??1COMMON_METADATA@@UEAA@XZ
-; public: virtual __cdecl HASH_TABLE::~HASH_TABLE(void) __ptr64
-??1HASH_TABLE@@UEAA@XZ
-; public: virtual __cdecl HT_ELEMENT::~HT_ELEMENT(void) __ptr64
-??1HT_ELEMENT@@UEAA@XZ
-; public: __cdecl IIS_CTL::~IIS_CTL(void) __ptr64
-??1IIS_CTL@@QEAA@XZ
-; public: __cdecl IIS_ENDPOINT::~IIS_ENDPOINT(void) __ptr64
-??1IIS_ENDPOINT@@QEAA@XZ
-; public: __cdecl IIS_SERVER_BINDING::~IIS_SERVER_BINDING(void) __ptr64
-??1IIS_SERVER_BINDING@@QEAA@XZ
-; public: __cdecl IIS_SERVER_CERT::~IIS_SERVER_CERT(void) __ptr64
-??1IIS_SERVER_CERT@@QEAA@XZ
-; public: virtual __cdecl IIS_SERVER_INSTANCE::~IIS_SERVER_INSTANCE(void) __ptr64
-??1IIS_SERVER_INSTANCE@@UEAA@XZ
-; protected: virtual __cdecl IIS_SERVICE::~IIS_SERVICE(void) __ptr64
-??1IIS_SERVICE@@MEAA@XZ
-; public: __cdecl IIS_SSL_INFO::~IIS_SSL_INFO(void) __ptr64
-??1IIS_SSL_INFO@@QEAA@XZ
-; public: __cdecl IIS_VROOT_TABLE::~IIS_VROOT_TABLE(void) __ptr64
-??1IIS_VROOT_TABLE@@QEAA@XZ
-; public: __cdecl INET_PARSER::~INET_PARSER(void) __ptr64
-??1INET_PARSER@@QEAA@XZ
-; public: __cdecl LOGGING::~LOGGING(void) __ptr64
-??1LOGGING@@QEAA@XZ
-; public: __cdecl MB::~MB(void) __ptr64
-??1MB@@QEAA@XZ
-; public: __cdecl ODBC_CONNECTION::~ODBC_CONNECTION(void) __ptr64
-??1ODBC_CONNECTION@@QEAA@XZ
-; public: __cdecl ODBC_PARAMETER::~ODBC_PARAMETER(void) __ptr64
-??1ODBC_PARAMETER@@QEAA@XZ
-; public: __cdecl ODBC_STATEMENT::~ODBC_STATEMENT(void) __ptr64
-??1ODBC_STATEMENT@@QEAA@XZ
-; public: __cdecl RefBlob::~RefBlob(void) __ptr64
-??1RefBlob@@QEAA@XZ
-; public: __cdecl STORE_CHANGE_NOTIFIER::~STORE_CHANGE_NOTIFIER(void) __ptr64
-??1STORE_CHANGE_NOTIFIER@@QEAA@XZ
-; public: __cdecl TCP_AUTHENT::~TCP_AUTHENT(void) __ptr64
-??1TCP_AUTHENT@@QEAA@XZ
-; public: class HASH_TABLE & __ptr64 __cdecl HASH_TABLE::operator=(class HASH_TABLE const & __ptr64) __ptr64
-??4HASH_TABLE@@QEAAAEAV0@AEBV0@@Z
-; public: class HT_ELEMENT & __ptr64 __cdecl HT_ELEMENT::operator=(class HT_ELEMENT const & __ptr64) __ptr64
-??4HT_ELEMENT@@QEAAAEAV0@AEBV0@@Z
-; public: class IIS_CTL & __ptr64 __cdecl IIS_CTL::operator=(class IIS_CTL const & __ptr64) __ptr64
-??4IIS_CTL@@QEAAAEAV0@AEBV0@@Z
-; public: class IIS_SERVER_CERT & __ptr64 __cdecl IIS_SERVER_CERT::operator=(class IIS_SERVER_CERT const & __ptr64) __ptr64
-??4IIS_SERVER_CERT@@QEAAAEAV0@AEBV0@@Z
-; public: class IIS_SERVICE & __ptr64 __cdecl IIS_SERVICE::operator=(class IIS_SERVICE const & __ptr64) __ptr64
-??4IIS_SERVICE@@QEAAAEAV0@AEBV0@@Z
-; public: class IIS_SSL_INFO & __ptr64 __cdecl IIS_SSL_INFO::operator=(class IIS_SSL_INFO const & __ptr64) __ptr64
-??4IIS_SSL_INFO@@QEAAAEAV0@AEBV0@@Z
-; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
-??4LOGGING@@QEAAAEAV0@AEBV0@@Z
-; public: class TSVC_CACHE & __ptr64 __cdecl TSVC_CACHE::operator=(class TSVC_CACHE const & __ptr64) __ptr64
-??4TSVC_CACHE@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl INET_PARSER::operator+=(int) __ptr64
-??YINET_PARSER@@QEAAXH@Z
-; const  HASH_TABLE::`vftable'
-??_7HASH_TABLE@@6B@
-; const  HT_ELEMENT::`vftable'
-??_7HT_ELEMENT@@6B@
-; const  IIS_SERVER_INSTANCE::`vftable'
-??_7IIS_SERVER_INSTANCE@@6B@
-; const  IIS_SERVICE::`vftable'
-??_7IIS_SERVICE@@6B@
-; public: int __cdecl TS_OPEN_FILE_INFO::AccessCheck(void * __ptr64,int) __ptr64
-?AccessCheck@TS_OPEN_FILE_INFO@@QEAAHPEAXH@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::AcquireFastLock(void) __ptr64
-?AcquireFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
-; private: static void __cdecl IIS_SERVICE::AcquireGlobalLock(void)
-?AcquireGlobalLock@IIS_SERVICE@@CAXXZ
-; public: void __cdecl IIS_SERVICE::AcquireServiceLock(int) __ptr64
-?AcquireServiceLock@IIS_SERVICE@@QEAAXH@Z
-; private: void __cdecl LOGGING::ActOnChange(void) __ptr64
-?ActOnChange@LOGGING@@AEAAXXZ
-; public: int __cdecl LOGGING::ActivateLogging(char const * __ptr64,unsigned long,char const * __ptr64,void * __ptr64) __ptr64
-?ActivateLogging@LOGGING@@QEAAHPEBDK0PEAX@Z
-; protected: int __cdecl IIS_SERVICE::AddInstanceInfoHelper(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?AddInstanceInfoHelper@IIS_SERVICE@@IEAAHPEAVIIS_SERVER_INSTANCE@@@Z
-; private: int __cdecl MIME_MAP::AddMimeMapEntry(class MIME_MAP_ENTRY * __ptr64) __ptr64
-?AddMimeMapEntry@MIME_MAP@@AEAAHPEAVMIME_MAP_ENTRY@@@Z
-; public: int __cdecl MB::AddObject(char const * __ptr64) __ptr64
-?AddObject@MB@@QEAAHPEBD@Z
-; public: void __cdecl RefBlob::AddRef(void) __ptr64
-?AddRef@RefBlob@@QEAAXXZ
-; private: static void __cdecl IIS_VROOT_TABLE::AddRefRecord(void const * __ptr64,int)
-?AddRefRecord@IIS_VROOT_TABLE@@CAXPEBXH@Z
-; public: int __cdecl IIS_SERVICE::AddServerInstance(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?AddServerInstance@IIS_SERVICE@@QEAAHPEAVIIS_SERVER_INSTANCE@@@Z
-; public: int __cdecl IIS_VROOT_TABLE::AddVirtualRoot(char * __ptr64,char * __ptr64,unsigned long,char * __ptr64,void * __ptr64,unsigned long,int) __ptr64
-?AddVirtualRoot@IIS_VROOT_TABLE@@QEAAHPEAD0K0PEAXKH@Z
-; public: void __cdecl IIS_SERVICE::AdvertiseServiceInformationInMB(void) __ptr64
-?AdvertiseServiceInformationInMB@IIS_SERVICE@@QEAAXXZ
-; public: class ODBC_STATEMENT * __ptr64 __cdecl ODBC_CONNECTION::AllocStatement(void) __ptr64
-?AllocStatement@ODBC_CONNECTION@@QEAAPEAVODBC_STATEMENT@@XZ
-; public: int __cdecl INET_PARSER::AppendToEOL(class STR * __ptr64,int) __ptr64
-?AppendToEOL@INET_PARSER@@QEAAHPEAVSTR@@H@Z
-; public: int __cdecl IIS_SERVICE::AssociateInstance(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?AssociateInstance@IIS_SERVICE@@QEAAHPEAVIIS_SERVER_INSTANCE@@@Z
-; protected: char * __ptr64 __cdecl INET_PARSER::AuxEatNonWhite(char) __ptr64
-?AuxEatNonWhite@INET_PARSER@@IEAAPEADD@Z
-; protected: char * __ptr64 __cdecl INET_PARSER::AuxEatWhite(void) __ptr64
-?AuxEatWhite@INET_PARSER@@IEAAPEADXZ
-; protected: char * __ptr64 __cdecl INET_PARSER::AuxSkipTo(char) __ptr64
-?AuxSkipTo@INET_PARSER@@IEAAPEADD@Z
-; public: short __cdecl ODBC_PARAMETER::Bind(void * __ptr64) __ptr64
-?Bind@ODBC_PARAMETER@@QEAAFPEAX@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::BindInstance(void) __ptr64
-?BindInstance@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: int __cdecl ODBC_STATEMENT::BindParameter(class ODBC_PARAMETER * __ptr64) __ptr64
-?BindParameter@ODBC_STATEMENT@@QEAAHPEAVODBC_PARAMETER@@@Z
-; int __cdecl BuildAnonymousAcctDesc(class TCP_AUTHENT_INFO * __ptr64)
-?BuildAnonymousAcctDesc@@YAHPEAVTCP_AUTHENT_INFO@@@Z
-; public: int __cdecl COMMON_METADATA::BuildApplPhysicalPath(class MB * __ptr64,class STR * __ptr64)const  __ptr64
-?BuildApplPhysicalPath@COMMON_METADATA@@QEBAHPEAVMB@@PEAVSTR@@@Z
-; public: int __cdecl COMMON_METADATA::BuildPhysicalPath(char * __ptr64,class STR * __ptr64) __ptr64
-?BuildPhysicalPath@COMMON_METADATA@@QEAAHPEADPEAVSTR@@@Z
-; public: int __cdecl COMMON_METADATA::BuildPhysicalPathWithAltRoot(char * __ptr64,class STR * __ptr64,char const * __ptr64) __ptr64
-?BuildPhysicalPathWithAltRoot@COMMON_METADATA@@QEAAHPEADPEAVSTR@@PEBD@Z
-; public: int __cdecl IIS_SSL_INFO::CTLContainsCert(struct _CERT_CONTEXT const * __ptr64,int * __ptr64) __ptr64
-?CTLContainsCert@IIS_SSL_INFO@@QEAAHPEBU_CERT_CONTEXT@@PEAH@Z
-; private: static unsigned long __cdecl IIS_VROOT_TABLE::CalcKeyHash(unsigned __int64)
-?CalcKeyHash@IIS_VROOT_TABLE@@CAK_K@Z
-; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64)const  __ptr64
-?CalculateHash@HASH_TABLE@@UEBAKPEBD@Z
-; public: int __cdecl IIS_SERVICE::CheckAndReference(void) __ptr64
-?CheckAndReference@IIS_SERVICE@@QEAAHXZ
-; private: int __cdecl IIS_SSL_INFO::CheckCAPIInfo(int * __ptr64,int * __ptr64,char * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?CheckCAPIInfo@IIS_SSL_INFO@@AEAAHPEAH0PEADPEAKK@Z
-; unsigned long __cdecl CheckIfShortFileName(unsigned char const * __ptr64,void * __ptr64,int * __ptr64)
-?CheckIfShortFileName@@YAKPEBEPEAXPEAH@Z
-; private: int __cdecl IIS_SSL_INFO::CheckSignature(void) __ptr64
-?CheckSignature@IIS_SSL_INFO@@AEAAHXZ
-; public: static void __cdecl IIS_SERVER_INSTANCE::Cleanup(void)
-?Cleanup@IIS_SERVER_INSTANCE@@SAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::CleanupAfterConstructorFailure(void) __ptr64
-?CleanupAfterConstructorFailure@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: static int __cdecl IIS_SERVICE::CleanupMetabaseComObject(void)
-?CleanupMetabaseComObject@IIS_SERVICE@@SAHXZ
-; public: static void __cdecl IIS_SERVICE::CleanupServiceInfo(void)
-?CleanupServiceInfo@IIS_SERVICE@@SAXXZ
-; public: static int __cdecl IIS_SERVICE::CleanupServiceRpc(void)
-?CleanupServiceRpc@IIS_SERVICE@@SAHXZ
-; public: unsigned long __cdecl IIS_SERVICE::CleanupSockets(void) __ptr64
-?CleanupSockets@IIS_SERVICE@@QEAAKXZ
-; public: void __cdecl MIME_MAP::CleanupThis(void) __ptr64
-?CleanupThis@MIME_MAP@@QEAAXXZ
-; public: void __cdecl TS_DIRECTORY_INFO::CleanupThis(void) __ptr64
-?CleanupThis@TS_DIRECTORY_INFO@@QEAAXXZ
-; public: int __cdecl IIS_SERVICE::ClearInstanceStatistics(unsigned long) __ptr64
-?ClearInstanceStatistics@IIS_SERVICE@@QEAAHK@Z
-; public: int __cdecl TCP_AUTHENT::ClearTextLogon(char * __ptr64,char * __ptr64,int * __ptr64,int * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,class TCP_AUTHENT_INFO * __ptr64,char * __ptr64) __ptr64
-?ClearTextLogon@TCP_AUTHENT@@QEAAHPEAD0PEAH1PEAVIIS_SERVER_INSTANCE@@PEAVTCP_AUTHENT_INFO@@0@Z
-; public: int __cdecl MB::Close(void) __ptr64
-?Close@MB@@QEAAHXZ
-; public: int __cdecl ODBC_CONNECTION::Close(void) __ptr64
-?Close@ODBC_CONNECTION@@QEAAHXZ
-; public: void __cdecl TS_OPEN_FILE_INFO::CloseHandle(void) __ptr64
-?CloseHandle@TS_OPEN_FILE_INFO@@QEAAXXZ
-; public: virtual int __cdecl IIS_SERVER_INSTANCE::CloseInstance(void) __ptr64
-?CloseInstance@IIS_SERVER_INSTANCE@@UEAAHXZ
-; public: void __cdecl IIS_SERVICE::CloseService(void) __ptr64
-?CloseService@IIS_SERVICE@@QEAAXXZ
-; public: int __cdecl IIS_SERVER_BINDING::Compare(unsigned long,unsigned short,char const * __ptr64) __ptr64
-?Compare@IIS_SERVER_BINDING@@QEAAHKGPEBD@Z
-; public: unsigned long __cdecl IIS_SERVER_BINDING::Compare(char const * __ptr64,int * __ptr64) __ptr64
-?Compare@IIS_SERVER_BINDING@@QEAAKPEBDPEAH@Z
-; public: virtual unsigned long __cdecl IIS_SERVER_INSTANCE::ContinueInstance(void) __ptr64
-?ContinueInstance@IIS_SERVER_INSTANCE@@UEAAKXZ
-; private: void __cdecl IIS_SERVICE::ContinueService(void) __ptr64
-?ContinueService@IIS_SERVICE@@AEAAXXZ
-; public: int __cdecl TCP_AUTHENT::Converse(void * __ptr64,unsigned long,class BUFFER * __ptr64,unsigned long * __ptr64,int * __ptr64,class TCP_AUTHENT_INFO * __ptr64,char * __ptr64,char * __ptr64,char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?Converse@TCP_AUTHENT@@QEAAHPEAXKPEAVBUFFER@@PEAKPEAHPEAVTCP_AUTHENT_INFO@@PEAD55PEAVIIS_SERVER_INSTANCE@@@Z
-; public: int __cdecl TCP_AUTHENT::ConverseEx(struct _SecBufferDesc * __ptr64,class BUFFER * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,int * __ptr64,class TCP_AUTHENT_INFO * __ptr64,char * __ptr64,char * __ptr64,char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?ConverseEx@TCP_AUTHENT@@QEAAHPEAU_SecBufferDesc@@PEAVBUFFER@@1PEAKPEAHPEAVTCP_AUTHENT_INFO@@PEAD55PEAVIIS_SERVER_INSTANCE@@@Z
-; public: int __cdecl INET_PARSER::CopyToEOL(class STR * __ptr64,int) __ptr64
-?CopyToEOL@INET_PARSER@@QEAAHPEAVSTR@@H@Z
-; public: int __cdecl INET_PARSER::CopyToken(class STR * __ptr64,int) __ptr64
-?CopyToken@INET_PARSER@@QEAAHPEAVSTR@@H@Z
-; public: int __cdecl ODBC_PARAMETER::CopyValue(unsigned long) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHK@Z
-; public: int __cdecl ODBC_PARAMETER::CopyValue(struct _SYSTEMTIME * __ptr64) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHPEAU_SYSTEMTIME@@@Z
-; public: int __cdecl ODBC_PARAMETER::CopyValue(void * __ptr64,long) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHPEAXJ@Z
-; public: int __cdecl ODBC_PARAMETER::CopyValue(char const * __ptr64) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHPEBD@Z
-; public: int __cdecl ODBC_PARAMETER::CopyValue(unsigned short const * __ptr64) __ptr64
-?CopyValue@ODBC_PARAMETER@@QEAAHPEBG@Z
-; private: int __cdecl MIME_MAP::CreateAndAddMimeMapEntry(char const * __ptr64,char const * __ptr64) __ptr64
-?CreateAndAddMimeMapEntry@MIME_MAP@@AEAAHPEBD0@Z
-; private: int __cdecl IIS_SSL_INFO::CreateEngineRootStore(void) __ptr64
-?CreateEngineRootStore@IIS_SSL_INFO@@AEAAHXZ
-; private: int __cdecl IIS_SSL_INFO::CreateEngineTrustStore(void) __ptr64
-?CreateEngineTrustStore@IIS_SSL_INFO@@AEAAHXZ
-; private: unsigned long __cdecl IIS_SERVER_INSTANCE::CreateNewBinding(unsigned long,unsigned short,char const * __ptr64,int,int,class IIS_SERVER_BINDING * __ptr64 * __ptr64) __ptr64
-?CreateNewBinding@IIS_SERVER_INSTANCE@@AEAAKKGPEBDHHPEAPEAVIIS_SERVER_BINDING@@@Z
-; public: static class IIS_SSL_INFO * __ptr64 __cdecl IIS_SSL_INFO::CreateSSLInfo(char * __ptr64,struct IMDCOM * __ptr64)
-?CreateSSLInfo@IIS_SSL_INFO@@SAPEAV1@PEADPEAUIMDCOM@@@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::DecrementCurrentConnections(void) __ptr64
-?DecrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: static void __cdecl IIS_SERVICE::DeferredGlobalConfig(unsigned long,struct _MD_CHANGE_OBJECT_A * __ptr64 const)
-?DeferredGlobalConfig@IIS_SERVICE@@SAXKQEAU_MD_CHANGE_OBJECT_A@@@Z
-; public: static void __cdecl IIS_SERVICE::DeferredMDChangeNotify(unsigned long,struct _MD_CHANGE_OBJECT_A * __ptr64 const)
-?DeferredMDChangeNotify@IIS_SERVICE@@SAXKQEAU_MD_CHANGE_OBJECT_A@@@Z
-; public: unsigned long __cdecl IIS_SERVICE::DelayCurrentServiceCtrlOperation(unsigned long) __ptr64
-?DelayCurrentServiceCtrlOperation@IIS_SERVICE@@QEAAKK@Z
-; public: int __cdecl TCP_AUTHENT::DeleteCachedTokenOnReset(void) __ptr64
-?DeleteCachedTokenOnReset@TCP_AUTHENT@@QEAAHXZ
-; public: int __cdecl MB::DeleteData(char const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
-?DeleteData@MB@@QEAAHPEBDKKK@Z
-; public: int __cdecl IIS_SERVICE::DeleteInstanceInfo(unsigned long) __ptr64
-?DeleteInstanceInfo@IIS_SERVICE@@QEAAHK@Z
-; public: int __cdecl MB::DeleteObject(char const * __ptr64) __ptr64
-?DeleteObject@MB@@QEAAHPEBD@Z
-; private: void __cdecl IIS_VROOT_TABLE::DeleteVRootEntry(void * __ptr64) __ptr64
-?DeleteVRootEntry@IIS_VROOT_TABLE@@AEAAXPEAX@Z
-; public: void __cdecl IIS_ENDPOINT::Dereference(void) __ptr64
-?Dereference@IIS_ENDPOINT@@QEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::Dereference(void) __ptr64
-?Dereference@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVICE::Dereference(void) __ptr64
-?Dereference@IIS_SERVICE@@QEAAXXZ
-; public: virtual long __cdecl MIME_MAP_ENTRY::Dereference(void) __ptr64
-?Dereference@MIME_MAP_ENTRY@@UEAAJXZ
-; public: void __cdecl IIS_SERVICE::DestroyAllServerInstances(void) __ptr64
-?DestroyAllServerInstances@IIS_SERVICE@@QEAAXXZ
-; public: int __cdecl IIS_SERVICE::DisassociateInstance(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?DisassociateInstance@IIS_SERVICE@@QEAAHPEAVIIS_SERVER_INSTANCE@@@Z
-; public: int __cdecl IIS_SERVICE::DisconnectInstanceUser(unsigned long,unsigned long) __ptr64
-?DisconnectInstanceUser@IIS_SERVICE@@QEAAHKK@Z
-; public: static unsigned long __cdecl ODBC_CONNECTION::DisplaySize(short,unsigned long)
-?DisplaySize@ODBC_CONNECTION@@SAKFK@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::DoServerNameCheck(void)const  __ptr64
-?DoServerNameCheck@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::DoStartInstance(void) __ptr64
-?DoStartInstance@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: char * __ptr64 __cdecl INET_PARSER::EatNonWhite(void) __ptr64
-?EatNonWhite@INET_PARSER@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl INET_PARSER::EatWhite(void) __ptr64
-?EatWhite@INET_PARSER@@QEAAPEADXZ
-; public: int __cdecl TCP_AUTHENT::EnumAuthPackages(class BUFFER * __ptr64) __ptr64
-?EnumAuthPackages@TCP_AUTHENT@@QEAAHPEAVBUFFER@@@Z
-; public: int __cdecl MB::EnumObjects(char const * __ptr64,char * __ptr64,unsigned long) __ptr64
-?EnumObjects@MB@@QEAAHPEBDPEADK@Z
-; public: int __cdecl IIS_SERVICE::EnumServiceInstances(void * __ptr64,void * __ptr64,int (__cdecl*)(void * __ptr64,void * __ptr64,class IIS_SERVER_INSTANCE * __ptr64)) __ptr64
-?EnumServiceInstances@IIS_SERVICE@@QEAAHPEAX0P6AH00PEAVIIS_SERVER_INSTANCE@@@Z@Z
-; public: int __cdecl IIS_SERVICE::EnumerateInstanceUsers(unsigned long,unsigned long * __ptr64,char * __ptr64 * __ptr64) __ptr64
-?EnumerateInstanceUsers@IIS_SERVICE@@QEAAHKPEAKPEAPEAD@Z
-; private: static bool __cdecl IIS_VROOT_TABLE::EqualKeys(unsigned __int64,unsigned __int64)
-?EqualKeys@IIS_VROOT_TABLE@@CA_N_K0@Z
-; public: int __cdecl ODBC_STATEMENT::ExecDirect(char const * __ptr64,unsigned long) __ptr64
-?ExecDirect@ODBC_STATEMENT@@QEAAHPEBDK@Z
-; public: int __cdecl ODBC_STATEMENT::ExecDirect(unsigned short const * __ptr64,unsigned long) __ptr64
-?ExecDirect@ODBC_STATEMENT@@QEAAHPEBGK@Z
-; public: int __cdecl ODBC_STATEMENT::ExecuteStatement(void) __ptr64
-?ExecuteStatement@ODBC_STATEMENT@@QEAAHXZ
-; private: static unsigned __int64 const  __cdecl IIS_VROOT_TABLE::ExtractKey(void const * __ptr64)
-?ExtractKey@IIS_VROOT_TABLE@@CA?B_KPEBX@Z
-; public: int __cdecl TS_DIRECTORY_INFO::FilterFiles(int (__cdecl*)(struct _WIN32_FIND_DATAA const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
-?FilterFiles@TS_DIRECTORY_INFO@@QEAAHP6AHPEBU_WIN32_FIND_DATAA@@PEAX@Z1@Z
-; public: class IIS_ENDPOINT * __ptr64 __cdecl IIS_SERVICE::FindAndReferenceEndpoint(unsigned short,unsigned long,int,int,int) __ptr64
-?FindAndReferenceEndpoint@IIS_SERVICE@@QEAAPEAVIIS_ENDPOINT@@GKHHH@Z
-; public: class IIS_SERVER_INSTANCE * __ptr64 __cdecl IIS_ENDPOINT::FindAndReferenceInstance(char const * __ptr64,unsigned long,int * __ptr64) __ptr64
-?FindAndReferenceInstance@IIS_ENDPOINT@@QEAAPEAVIIS_SERVER_INSTANCE@@PEBDKPEAH@Z
-; public: static class IIS_SERVICE * __ptr64 __cdecl IIS_SERVICE::FindFromServiceInfoList(unsigned long)
-?FindFromServiceInfoList@IIS_SERVICE@@SAPEAV1@K@Z
-; public: class IIS_SERVER_INSTANCE * __ptr64 __cdecl IIS_SERVICE::FindIISInstance(unsigned long) __ptr64
-?FindIISInstance@IIS_SERVICE@@QEAAPEAVIIS_SERVER_INSTANCE@@K@Z
-; private: int __cdecl IIS_SSL_INFO::FindTopOfChain(struct _CERT_CONTEXT const * __ptr64,struct _CERT_CONTEXT const * __ptr64 * __ptr64) __ptr64
-?FindTopOfChain@IIS_SSL_INFO@@AEAAHPEBU_CERT_CONTEXT@@PEAPEBU2@@Z
-; public: virtual int __cdecl COMMON_METADATA::FinishPrivateProperties(class BUFFER * __ptr64,unsigned long,int) __ptr64
-?FinishPrivateProperties@COMMON_METADATA@@UEAAHPEAVBUFFER@@KH@Z
-; public: unsigned long __cdecl HASH_TABLE::FlushElements(void) __ptr64
-?FlushElements@HASH_TABLE@@QEAAKXZ
-; public: void __cdecl ODBC_STATEMENT::FreeColumnMemory(void) __ptr64
-?FreeColumnMemory@ODBC_STATEMENT@@QEAAXXZ
-; public: void __cdecl COMMON_METADATA::FreeMdTag(unsigned long) __ptr64
-?FreeMdTag@COMMON_METADATA@@QEAAXK@Z
-; public: int __cdecl MB::GetAll(char const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetAll@MB@@QEAAHPEBDKKPEAVBUFFER@@PEAK2@Z
-; public: class IIS_CTL * __ptr64 __cdecl IIS_SSL_INFO::GetCTL(void) __ptr64
-?GetCTL@IIS_SSL_INFO@@QEAAPEAVIIS_CTL@@XZ
-; public: int __cdecl IIS_SSL_INFO::GetCertChainEngine(void * __ptr64 * __ptr64) __ptr64
-?GetCertChainEngine@IIS_SSL_INFO@@QEAAHPEAPEAX@Z
-; public: class IIS_SERVER_CERT * __ptr64 __cdecl IIS_SSL_INFO::GetCertificate(void) __ptr64
-?GetCertificate@IIS_SSL_INFO@@QEAAPEAVIIS_SERVER_CERT@@XZ
-; public: int __cdecl TCP_AUTHENT::GetClientCertBlob(unsigned long,unsigned long * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetClientCertBlob@TCP_AUTHENT@@QEAAHKPEAKPEAE00@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::GetCommonConfig(char * __ptr64,unsigned long) __ptr64
-?GetCommonConfig@IIS_SERVER_INSTANCE@@QEAAHPEADK@Z
-; public: unsigned long __cdecl LOGGING::GetConfig(struct _INETLOG_CONFIGURATIONA * __ptr64) __ptr64
-?GetConfig@LOGGING@@QEAAKPEAU_INETLOG_CONFIGURATIONA@@@Z
-; public: int __cdecl IIS_CTL::GetContainedCertificates(struct _CERT_CONTEXT const * __ptr64 * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetContainedCertificates@IIS_CTL@@QEAAHPEAPEAPEBU_CERT_CONTEXT@@PEAK1@Z
-; public: int __cdecl MB::GetData(char const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?GetData@MB@@QEAAHPEBDKKKPEAXPEAKK@Z
-; public: int __cdecl MB::GetDataPaths(char const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64) __ptr64
-?GetDataPaths@MB@@QEAAHPEBDKKPEAVBUFFER@@@Z
-; public: int __cdecl MB::GetDataSetNumber(char const * __ptr64,unsigned long * __ptr64) __ptr64
-?GetDataSetNumber@MB@@QEAAHPEBDPEAK@Z
-; public: int __cdecl TS_DIRECTORY_INFO::GetDirectoryListingA(char const * __ptr64,void * __ptr64) __ptr64
-?GetDirectoryListingA@TS_DIRECTORY_INFO@@QEAAHPEBDPEAX@Z
-; public: virtual int __cdecl IIS_SERVICE::GetGlobalStatistics(unsigned long,char * __ptr64 * __ptr64) __ptr64
-?GetGlobalStatistics@IIS_SERVICE@@UEAAHKPEAPEAD@Z
-; public: int __cdecl ODBC_CONNECTION::GetInfo(unsigned long,void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?GetInfo@ODBC_CONNECTION@@QEAAHKPEAXKPEAK@Z
-; private: int __cdecl IIS_SERVICE::GetInstanceConfiguration(unsigned long,unsigned long,int,unsigned long * __ptr64,struct _INET_INFO_CONFIG_INFO * __ptr64 * __ptr64) __ptr64
-?GetInstanceConfiguration@IIS_SERVICE@@AEAAHKKHPEAKPEAPEAU_INET_INFO_CONFIG_INFO@@@Z
-; public: unsigned long __cdecl TSVC_CACHE::GetInstanceId(void)const  __ptr64
-?GetInstanceId@TSVC_CACHE@@QEBAKXZ
-; public: int __cdecl IIS_SERVICE::GetInstanceStatistics(unsigned long,unsigned long,char * __ptr64 * __ptr64) __ptr64
-?GetInstanceStatistics@IIS_SERVICE@@QEAAHKKPEAPEAD@Z
-; public: int __cdecl ODBC_CONNECTION::GetLastErrorText(class STR * __ptr64,void * __ptr64,short)const  __ptr64
-?GetLastErrorText@ODBC_CONNECTION@@QEBAHPEAVSTR@@PEAXF@Z
-; public: int __cdecl ODBC_CONNECTION::GetLastErrorTextAsHtml(class STR * __ptr64,void * __ptr64,short)const  __ptr64
-?GetLastErrorTextAsHtml@ODBC_CONNECTION@@QEBAHPEAVSTR@@PEAXF@Z
-; public: void __cdecl IIS_SERVICE::GetMDInstancePath(unsigned long,char * __ptr64) __ptr64
-?GetMDInstancePath@IIS_SERVICE@@QEAAXKPEAD@Z
-; public: void * __ptr64 __cdecl IIS_CTL::GetMemoryStore(void) __ptr64
-?GetMemoryStore@IIS_CTL@@QEAAPEAXXZ
-; public: int __cdecl MB::GetMultisz(char const * __ptr64,unsigned long,unsigned long,class MULTISZ * __ptr64,unsigned long) __ptr64
-?GetMultisz@MB@@QEAAHPEBDKKPEAVMULTISZ@@K@Z
-; public: unsigned long __cdecl IIS_SERVICE::GetNewInstanceId(void) __ptr64
-?GetNewInstanceId@IIS_SERVICE@@QEAAKXZ
-; private: int __cdecl IIS_SSL_INFO::GetRootStoreCertificates(struct _CERT_CONTEXT const * __ptr64 * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?GetRootStoreCertificates@IIS_SSL_INFO@@AEAAHPEAPEAPEBU_CERT_CONTEXT@@PEAK@Z
-; public: void * __ptr64 __cdecl TSVC_CACHE::GetServerInstance(void)const  __ptr64
-?GetServerInstance@TSVC_CACHE@@QEBAPEAXXZ
-; public: static int __cdecl IIS_SERVICE::GetServiceAdminInfo(unsigned long,unsigned long,unsigned long,int,unsigned long * __ptr64,struct _INET_INFO_CONFIG_INFO * __ptr64 * __ptr64)
-?GetServiceAdminInfo@IIS_SERVICE@@SAHKKKHPEAKPEAPEAU_INET_INFO_CONFIG_INFO@@@Z
-; private: virtual unsigned long __cdecl IIS_SERVICE::GetServiceConfigInfoSize(unsigned long) __ptr64
-?GetServiceConfigInfoSize@IIS_SERVICE@@EEAAKK@Z
-; public: unsigned long __cdecl TSVC_CACHE::GetServiceId(void)const  __ptr64
-?GetServiceId@TSVC_CACHE@@QEBAKXZ
-; public: static int __cdecl IIS_SERVICE::GetServiceSiteInfo(unsigned long,struct _INET_INFO_SITE_LIST * __ptr64 * __ptr64)
-?GetServiceSiteInfo@IIS_SERVICE@@SAHKPEAPEAU_INET_INFO_SITE_LIST@@@Z
-; public: int __cdecl MB::GetStr(char const * __ptr64,unsigned long,unsigned long,class STR * __ptr64,unsigned long,char const * __ptr64) __ptr64
-?GetStr@MB@@QEAAHPEBDKKPEAVSTR@@K0@Z
-; public: int __cdecl MB::GetSystemChangeNumber(unsigned long * __ptr64) __ptr64
-?GetSystemChangeNumber@MB@@QEAAHPEAK@Z
-; public: class CACHED_TOKEN * __ptr64 __cdecl TCP_AUTHENT::GetToken(void)const  __ptr64
-?GetToken@TCP_AUTHENT@@QEBAPEAVCACHED_TOKEN@@XZ
-; public: int __cdecl IIS_SSL_INFO::GetTrustedIssuerCerts(struct _CERT_CONTEXT const * __ptr64 * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?GetTrustedIssuerCerts@IIS_SSL_INFO@@QEAAHPEAPEAPEBU_CERT_CONTEXT@@PEAK@Z
-; public: int __cdecl IIS_SSL_INFO::GetTrustedIssuerStore(void * __ptr64 * __ptr64) __ptr64
-?GetTrustedIssuerStore@IIS_SSL_INFO@@QEAAHPEAPEAX@Z
-; public: class TSVC_CACHE & __ptr64 __cdecl IIS_SERVER_INSTANCE::GetTsvcCache(void) __ptr64
-?GetTsvcCache@IIS_SERVER_INSTANCE@@QEAAAEAVTSVC_CACHE@@XZ
-; public: void * __ptr64 __cdecl TCP_AUTHENT::GetUserHandle(void) __ptr64
-?GetUserHandle@TCP_AUTHENT@@QEAAPEAXXZ
-; public: virtual int __cdecl COMMON_METADATA::HandlePrivateProperty(char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,struct _METADATA_GETALL_INTERNAL_RECORD * __ptr64,void * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,struct _METADATA_ERROR_INFO * __ptr64) __ptr64
-?HandlePrivateProperty@COMMON_METADATA@@UEAAHPEADPEAVIIS_SERVER_INSTANCE@@PEAU_METADATA_GETALL_INTERNAL_RECORD@@PEAXPEAVBUFFER@@PEAKPEAU_METADATA_ERROR_INFO@@@Z
-; private: int __cdecl IIS_SSL_INFO::HasCTL(int * __ptr64,int * __ptr64) __ptr64
-?HasCTL@IIS_SSL_INFO@@AEAAHPEAH0@Z
-; private: int __cdecl IIS_SSL_INFO::HasCertificate(int * __ptr64,int * __ptr64) __ptr64
-?HasCertificate@IIS_SSL_INFO@@AEAAHPEAH0@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::HasNormalBindings(void)const  __ptr64
-?HasNormalBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::HasSecureBindings(void)const  __ptr64
-?HasSecureBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
-; int __cdecl IISDuplicateTokenEx(void * __ptr64,unsigned long,struct _SECURITY_ATTRIBUTES * __ptr64,enum _SECURITY_IMPERSONATION_LEVEL,enum _TOKEN_TYPE,void * __ptr64 * __ptr64)
-?IISDuplicateTokenEx@@YAHPEAXKPEAU_SECURITY_ATTRIBUTES@@W4_SECURITY_IMPERSONATION_LEVEL@@W4_TOKEN_TYPE@@PEAPEAX@Z
-; public: int __cdecl TCP_AUTHENT::Impersonate(void) __ptr64
-?Impersonate@TCP_AUTHENT@@QEAAHXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::IncrementCurrentConnections(void) __ptr64
-?IncrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVICE::IndicateShutdownComplete(void) __ptr64
-?IndicateShutdownComplete@IIS_SERVICE@@QEAAXXZ
-; public: int __cdecl RefBlob::Init(void * __ptr64,unsigned long,void (__cdecl*)(void * __ptr64)) __ptr64
-?Init@RefBlob@@QEAAHPEAXKP6AX0@Z@Z
-; private: unsigned long __cdecl MIME_MAP::InitFromMetabase(void) __ptr64
-?InitFromMetabase@MIME_MAP@@AEAAKXZ
-; private: unsigned long __cdecl MIME_MAP::InitFromRegistryChicagoStyle(void) __ptr64
-?InitFromRegistryChicagoStyle@MIME_MAP@@AEAAKXZ
-; public: unsigned long __cdecl MIME_MAP::InitMimeMap(void) __ptr64
-?InitMimeMap@MIME_MAP@@QEAAKXZ
-; public: static int __cdecl IIS_SERVER_INSTANCE::Initialize(void)
-?Initialize@IIS_SERVER_INSTANCE@@SAHXZ
-; public: static unsigned long __cdecl LOGGING::Initialize(void)
-?Initialize@LOGGING@@SAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::InitializeDiscovery(void) __ptr64
-?InitializeDiscovery@IIS_SERVICE@@QEAAKXZ
-; public: static int __cdecl IIS_SERVICE::InitializeMetabaseComObject(void)
-?InitializeMetabaseComObject@IIS_SERVICE@@SAHXZ
-; public: static int __cdecl IIS_SERVICE::InitializeServiceInfo(void)
-?InitializeServiceInfo@IIS_SERVICE@@SAHXZ
-; public: static int __cdecl IIS_SERVICE::InitializeServiceRpc(char const * __ptr64,void * __ptr64)
-?InitializeServiceRpc@IIS_SERVICE@@SAHPEBDPEAX@Z
-; public: unsigned long __cdecl IIS_SERVICE::InitializeSockets(void) __ptr64
-?InitializeSockets@IIS_SERVICE@@QEAAKXZ
-; private: void __cdecl IIS_SERVICE::InterrogateService(void) __ptr64
-?InterrogateService@IIS_SERVICE@@AEAAXXZ
-; public: int __cdecl IIS_SERVICE::IsActive(void)const  __ptr64
-?IsActive@IIS_SERVICE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsAutoStart(void)const  __ptr64
-?IsAutoStart@IIS_SERVER_INSTANCE@@QEBAHXZ
-; private: int __cdecl IIS_SERVER_INSTANCE::IsBindingInMultiSz(class IIS_SERVER_BINDING * __ptr64,class MULTISZ const & __ptr64) __ptr64
-?IsBindingInMultiSz@IIS_SERVER_INSTANCE@@AEAAHPEAVIIS_SERVER_BINDING@@AEBVMULTISZ@@@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::IsClusterEnabled(void)const  __ptr64
-?IsClusterEnabled@IIS_SERVER_INSTANCE@@QEBAHXZ
-; private: int __cdecl IIS_SSL_INFO::IsDefaultCTL(void) __ptr64
-?IsDefaultCTL@IIS_SSL_INFO@@AEAAHXZ
-; public: int __cdecl IIS_SSL_INFO::IsDefaultCertificate(void) __ptr64
-?IsDefaultCertificate@IIS_SSL_INFO@@QEAAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsDownLevelInstance(void)const  __ptr64
-?IsDownLevelInstance@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_CERT::IsFortezzaCert(void) __ptr64
-?IsFortezzaCert@IIS_SERVER_CERT@@QEAAHXZ
-; public: int __cdecl TCP_AUTHENT::IsForwardable(void)const  __ptr64
-?IsForwardable@TCP_AUTHENT@@QEBAHXZ
-; public: int __cdecl TCP_AUTHENT::IsGuest(int) __ptr64
-?IsGuest@TCP_AUTHENT@@QEAAHH@Z
-; private: int __cdecl IIS_SERVER_INSTANCE::IsInCurrentBindingList(struct _LIST_ENTRY * __ptr64,unsigned long,unsigned short,char const * __ptr64) __ptr64
-?IsInCurrentBindingList@IIS_SERVER_INSTANCE@@AEAAHPEAU_LIST_ENTRY@@KGPEBD@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::IsLoggingEnabledA(void)const  __ptr64
-?IsLoggingEnabledA@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: virtual int __cdecl MIME_MAP_ENTRY::IsMatch(char const * __ptr64,unsigned long)const  __ptr64
-?IsMatch@MIME_MAP_ENTRY@@UEBAHPEBDK@Z
-; public: int __cdecl IIS_SERVICE::IsMultiInstance(void)const  __ptr64
-?IsMultiInstance@IIS_SERVICE@@QEBAHXZ
-IsNameInRegExpressionA
-; public: int __cdecl LOGGING::IsRequiredExtraLoggingFields(void) __ptr64
-?IsRequiredExtraLoggingFields@LOGGING@@QEAAHXZ
-; public: int __cdecl IIS_SERVICE::IsService(void) __ptr64
-?IsService@IIS_SERVICE@@QEAAHXZ
-; public: int __cdecl TCP_AUTHENT::IsSslCertPresent(void) __ptr64
-?IsSslCertPresent@TCP_AUTHENT@@QEAAHXZ
-; public: int __cdecl STORE_CHANGE_NOTIFIER::IsStoreRegisteredForChange(char * __ptr64,void (__cdecl*)(void * __ptr64),void * __ptr64) __ptr64
-?IsStoreRegisteredForChange@STORE_CHANGE_NOTIFIER@@QEAAHPEADP6AXPEAX@Z1@Z
-; public: int __cdecl IIS_SERVICE::IsSystemDBCS(void)const  __ptr64
-?IsSystemDBCS@IIS_SERVICE@@QEBAHXZ
-; private: int __cdecl IIS_SSL_INFO::IsTrustedRoot(struct _CERT_CONTEXT const * __ptr64,int * __ptr64) __ptr64
-?IsTrustedRoot@IIS_SSL_INFO@@AEAAHPEBU_CERT_CONTEXT@@PEAH@Z
-; public: int __cdecl HASH_TABLE::IsValid(void)const  __ptr64
-?IsValid@HASH_TABLE@@QEBAHXZ
-; public: int __cdecl IIS_CTL::IsValid(void) __ptr64
-?IsValid@IIS_CTL@@QEAAHXZ
-; public: int __cdecl IIS_SERVER_CERT::IsValid(void) __ptr64
-?IsValid@IIS_SERVER_CERT@@QEAAHXZ
-; public: int __cdecl ODBC_CONNECTION::IsValid(void)const  __ptr64
-?IsValid@ODBC_CONNECTION@@QEBAHXZ
-; public: int __cdecl ODBC_STATEMENT::IsValid(void)const  __ptr64
-?IsValid@ODBC_STATEMENT@@QEBAHXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::IsValid(void)const  __ptr64
-?IsValid@TS_OPEN_FILE_INFO@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::LoadStr(class STR & __ptr64,unsigned long,int)const  __ptr64
-?LoadStr@IIS_SERVER_INSTANCE@@QEBAHAEAVSTR@@KH@Z
-; public: int __cdecl IIS_SERVICE::LoadStr(class STR & __ptr64,unsigned long,int)const  __ptr64
-?LoadStr@IIS_SERVICE@@QEBAHAEAVSTR@@KH@Z
-; public: void __cdecl IIS_SSL_INFO::Lock(void) __ptr64
-?Lock@IIS_SSL_INFO@@QEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::LockConvertExclusive(void) __ptr64
-?LockConvertExclusive@IIS_VROOT_TABLE@@QEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::LockExclusive(void) __ptr64
-?LockExclusive@IIS_VROOT_TABLE@@QEAAXXZ
-; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
-?LockExclusive@LOGGING@@AEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::LockShared(void) __ptr64
-?LockShared@IIS_VROOT_TABLE@@QEAAXXZ
-; private: void __cdecl LOGGING::LockShared(void) __ptr64
-?LockShared@LOGGING@@AEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForRead(void) __ptr64
-?LockThisForRead@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForWrite(void) __ptr64
-?LockThisForWrite@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: unsigned long __cdecl LOGGING::LogCustomInformation(unsigned long,struct _CUSTOM_LOG_DATA * __ptr64,char * __ptr64) __ptr64
-?LogCustomInformation@LOGGING@@QEAAKKPEAU_CUSTOM_LOG_DATA@@PEAD@Z
-; public: void __cdecl IIS_SERVICE::LogEvent(unsigned long,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
-?LogEvent@IIS_SERVICE@@QEAAXKGQEAPEBDK@Z
-; public: unsigned long __cdecl LOGGING::LogInformation(struct _INETLOG_INFORMATION const * __ptr64) __ptr64
-?LogInformation@LOGGING@@QEAAKPEBU_INETLOG_INFORMATION@@@Z
-; int __cdecl LogonDigestUserA(void * __ptr64,unsigned long,void * __ptr64 * __ptr64)
-?LogonDigestUserA@@YAHPEAXKPEAPEAX@Z
-; int __cdecl LogonNetUserA(char * __ptr64,char * __ptr64,char * __ptr64,char * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64 * __ptr64,union _LARGE_INTEGER * __ptr64)
-?LogonNetUserA@@YAHPEAD000KKKPEAPEAXPEAT_LARGE_INTEGER@@@Z
-; int __cdecl LogonNetUserW(unsigned short * __ptr64,unsigned short * __ptr64,char * __ptr64,unsigned short * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64 * __ptr64,union _LARGE_INTEGER * __ptr64)
-?LogonNetUserW@@YAHPEAG0PEAD0KKKPEAPEAXPEAT_LARGE_INTEGER@@@Z
-; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64) __ptr64
-?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBD@Z
-; public: class MIME_MAP_ENTRY const * __ptr64 __cdecl MIME_MAP::LookupMimeEntryForFileExt(char const * __ptr64) __ptr64
-?LookupMimeEntryForFileExt@MIME_MAP@@QEAAPEBVMIME_MAP_ENTRY@@PEBD@Z
-; public: unsigned long __cdecl MIME_MAP::LookupMimeEntryForMimeType(class STR const & __ptr64,class MIME_MAP_ENTRY const * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?LookupMimeEntryForMimeType@MIME_MAP@@QEAAKAEBVSTR@@PEAPEBVMIME_MAP_ENTRY@@PEAK@Z
-; public: int __cdecl IIS_VROOT_TABLE::LookupVirtualRoot(char const * __ptr64,char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?LookupVirtualRoot@IIS_VROOT_TABLE@@QEAAHPEBDPEADPEAK222PEAPEAX2@Z
-; public: virtual void __cdecl IIS_SERVER_INSTANCE::MDChangeNotify(struct _MD_CHANGE_OBJECT_A * __ptr64) __ptr64
-?MDChangeNotify@IIS_SERVER_INSTANCE@@UEAAXPEAU_MD_CHANGE_OBJECT_A@@@Z
-; protected: virtual void __cdecl IIS_SERVICE::MDChangeNotify(struct _MD_CHANGE_OBJECT_A * __ptr64) __ptr64
-?MDChangeNotify@IIS_SERVICE@@MEAAXPEAU_MD_CHANGE_OBJECT_A@@@Z
-; public: static void __cdecl IIS_SERVICE::MDChangeNotify(unsigned long,struct _MD_CHANGE_OBJECT_A * __ptr64 const)
-?MDChangeNotify@IIS_SERVICE@@SAXKQEAU_MD_CHANGE_OBJECT_A@@@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::MDMirrorVirtualRoots(void) __ptr64
-?MDMirrorVirtualRoots@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl TS_OPEN_FILE_INFO::MakeStrongETag(void) __ptr64
-?MakeStrongETag@TS_OPEN_FILE_INFO@@QEAAXXZ
-; public: int __cdecl ODBC_STATEMENT::MoreResults(int * __ptr64) __ptr64
-?MoreResults@ODBC_STATEMENT@@QEAAHPEAH@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::MoveMDVroots2Registry(void) __ptr64
-?MoveMDVroots2Registry@IIS_SERVER_INSTANCE@@QEAAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::MoveVrootFromRegToMD(void) __ptr64
-?MoveVrootFromRegToMD@IIS_SERVER_INSTANCE@@QEAAHXZ
-; int __cdecl NetUserCookieA(char * __ptr64,unsigned long,char * __ptr64,unsigned long)
-?NetUserCookieA@@YAHPEADK0K@Z
-; public: char * __ptr64 __cdecl INET_PARSER::NextItem(void) __ptr64
-?NextItem@INET_PARSER@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl INET_PARSER::NextLine(void) __ptr64
-?NextLine@INET_PARSER@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl INET_PARSER::NextParam(void) __ptr64
-?NextParam@INET_PARSER@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl INET_PARSER::NextToken(char) __ptr64
-?NextToken@INET_PARSER@@QEAAPEADD@Z
-; public: char * __ptr64 __cdecl INET_PARSER::NextToken(void) __ptr64
-?NextToken@INET_PARSER@@QEAAPEADXZ
-; public: static void __cdecl STORE_CHANGE_NOTIFIER::NotifFncCaller(void * __ptr64,unsigned char)
-?NotifFncCaller@STORE_CHANGE_NOTIFIER@@SAXPEAXE@Z
-; public: int __cdecl LOGGING::NotifyChange(unsigned long) __ptr64
-?NotifyChange@LOGGING@@QEAAHK@Z
-; unsigned long __cdecl NullCloseLocator(struct _HMAPPER * __ptr64,unsigned __int64)
-?NullCloseLocator@@YAKPEAU_HMAPPER@@_K@Z
-; long __cdecl NullDeReferenceMapper(struct _HMAPPER * __ptr64)
-?NullDeReferenceMapper@@YAJPEAU_HMAPPER@@@Z
-; unsigned long __cdecl NullGetAccessToken(struct _HMAPPER * __ptr64,unsigned __int64,void * __ptr64 * __ptr64)
-?NullGetAccessToken@@YAKPEAU_HMAPPER@@_KPEAPEAX@Z
-; unsigned long __cdecl NullGetChallenge(struct _HMAPPER * __ptr64,unsigned char * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64)
-?NullGetChallenge@@YAKPEAU_HMAPPER@@PEAEK1PEAK@Z
-; unsigned long __cdecl NullGetIssuerList(struct _HMAPPER * __ptr64,void * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64)
-?NullGetIssuerList@@YAKPEAU_HMAPPER@@PEAXPEAEPEAK@Z
-; unsigned long __cdecl NullMapCredential(struct _HMAPPER * __ptr64,unsigned long,void const * __ptr64,void const * __ptr64,unsigned __int64 * __ptr64)
-?NullMapCredential@@YAKPEAU_HMAPPER@@KPEBX1PEA_K@Z
-; unsigned long __cdecl NullQueryMappedCredentialAttributes(struct _HMAPPER * __ptr64,unsigned __int64,unsigned long,void * __ptr64,unsigned long * __ptr64)
-?NullQueryMappedCredentialAttributes@@YAKPEAU_HMAPPER@@_KKPEAXPEAK@Z
-; long __cdecl NullReferenceMapper(struct _HMAPPER * __ptr64)
-?NullReferenceMapper@@YAJPEAU_HMAPPER@@@Z
-; public: int __cdecl MB::Open(unsigned long,char const * __ptr64,unsigned long) __ptr64
-?Open@MB@@QEAAHKPEBDK@Z
-; public: int __cdecl ODBC_CONNECTION::Open(char const * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
-?Open@ODBC_CONNECTION@@QEAAHPEBD00@Z
-; public: int __cdecl ODBC_CONNECTION::Open(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?Open@ODBC_CONNECTION@@QEAAHPEBG00@Z
-; public: int __cdecl TCP_AUTHENT::PackageSupportsEncoding(char * __ptr64) __ptr64
-?PackageSupportsEncoding@TCP_AUTHENT@@QEAAHPEAD@Z
-; public: static unsigned long __cdecl IIS_SERVER_BINDING::ParseDescriptor(char const * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64,char const * __ptr64 * __ptr64)
-?ParseDescriptor@IIS_SERVER_BINDING@@SAKPEBDPEAKPEAGPEAPEBD@Z
-; public: virtual unsigned long __cdecl IIS_SERVER_INSTANCE::PauseInstance(void) __ptr64
-?PauseInstance@IIS_SERVER_INSTANCE@@UEAAKXZ
-; private: void __cdecl IIS_SERVICE::PauseService(void) __ptr64
-?PauseService@IIS_SERVICE@@AEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::PdcHackVRReg2MD(void) __ptr64
-?PdcHackVRReg2MD@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::PerformClusterModeChange(void) __ptr64
-?PerformClusterModeChange@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::PerformStateChange(void) __ptr64
-?PerformStateChange@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: int __cdecl ODBC_STATEMENT::PrepareStatement(char const * __ptr64) __ptr64
-?PrepareStatement@ODBC_STATEMENT@@QEAAHPEBD@Z
-; public: int __cdecl ODBC_STATEMENT::PrepareStatement(unsigned short const * __ptr64) __ptr64
-?PrepareStatement@ODBC_STATEMENT@@QEAAHPEBG@Z
-; public: void __cdecl MIME_MAP::Print(void) __ptr64
-?Print@MIME_MAP@@QEAAXXZ
-; public: virtual void __cdecl MIME_MAP_ENTRY::Print(void)const  __ptr64
-?Print@MIME_MAP_ENTRY@@UEBAXXZ
-; public: void __cdecl TS_OPEN_FILE_INFO::Print(void)const  __ptr64
-?Print@TS_OPEN_FILE_INFO@@QEBAXXZ
-; void __cdecl PrintIGatewayRequest(struct _IGATEWAY_REQUEST const * __ptr64)
-?PrintIGatewayRequest@@YAXPEBU_IGATEWAY_REQUEST@@@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExOutstanding(void)const  __ptr64
-?QueryAcceptExOutstanding@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExTimeout(void)const  __ptr64
-?QueryAcceptExTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: virtual class IIS_SSL_INFO * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryAndReferenceSSLInfoObj(void) __ptr64
-?QueryAndReferenceSSLInfoObj@IIS_SERVER_INSTANCE@@UEAAPEAVIIS_SSL_INFO@@XZ
-; public: unsigned long __cdecl TS_OPEN_FILE_INFO::QueryAttributes(void)const  __ptr64
-?QueryAttributes@TS_OPEN_FILE_INFO@@QEBAKXZ
-; public: void * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryBandwidthInfo(void)const  __ptr64
-?QueryBandwidthInfo@IIS_SERVER_INSTANCE@@QEBAPEAXXZ
-; public: class IIS_CTL * __ptr64 __cdecl IIS_SSL_INFO::QueryCTL(void) __ptr64
-?QueryCTL@IIS_SSL_INFO@@QEAAPEAVIIS_CTL@@XZ
-; public: struct _CTL_CONTEXT const * __ptr64 __cdecl IIS_CTL::QueryCTLContext(void) __ptr64
-?QueryCTLContext@IIS_CTL@@QEAAPEBU_CTL_CONTEXT@@XZ
-; public: short __cdecl ODBC_PARAMETER::QueryCType(void)const  __ptr64
-?QueryCType@ODBC_PARAMETER@@QEBAFXZ
-; public: __int64 __cdecl ODBC_PARAMETER::QueryCbValue(void)const  __ptr64
-?QueryCbValue@ODBC_PARAMETER@@QEBA_JXZ
-; public: __int64 & __ptr64 __cdecl ODBC_PARAMETER::QueryCbValueRef(void) __ptr64
-?QueryCbValueRef@ODBC_PARAMETER@@QEAAAEA_JXZ
-; public: struct _CERT_CONTEXT const * __ptr64 __cdecl IIS_SERVER_CERT::QueryCertContext(void) __ptr64
-?QueryCertContext@IIS_SERVER_CERT@@QEAAPEBU_CERT_CONTEXT@@XZ
-; public: struct _CERT_CONTEXT const * __ptr64 * __ptr64 __cdecl IIS_SERVER_CERT::QueryCertContextAddr(void) __ptr64
-?QueryCertContextAddr@IIS_SERVER_CERT@@QEAAPEAPEBU_CERT_CONTEXT@@XZ
-; public: int __cdecl IIS_SSL_INFO::QueryCertValidity(unsigned long * __ptr64) __ptr64
-?QueryCertValidity@IIS_SSL_INFO@@QEAAHPEAK@Z
-; public: class IIS_SERVER_CERT * __ptr64 __cdecl IIS_SSL_INFO::QueryCertificate(void) __ptr64
-?QueryCertificate@IIS_SSL_INFO@@QEAAPEAVIIS_SERVER_CERT@@XZ
-; public: int __cdecl TCP_AUTHENT::QueryCertificateFlags(unsigned long * __ptr64,int * __ptr64) __ptr64
-?QueryCertificateFlags@TCP_AUTHENT@@QEAAHPEAKPEAH@Z
-; public: int __cdecl TCP_AUTHENT::QueryCertificateIssuer(char * __ptr64,unsigned long,int * __ptr64) __ptr64
-?QueryCertificateIssuer@TCP_AUTHENT@@QEAAHPEADKPEAH@Z
-; public: int __cdecl TCP_AUTHENT::QueryCertificateSerialNumber(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,int * __ptr64) __ptr64
-?QueryCertificateSerialNumber@TCP_AUTHENT@@QEAAHPEAPEAEPEAKPEAH@Z
-; public: int __cdecl TCP_AUTHENT::QueryCertificateSubject(char * __ptr64,unsigned long,int * __ptr64) __ptr64
-?QueryCertificateSubject@TCP_AUTHENT@@QEAAHPEADKPEAH@Z
-; public: int __cdecl ODBC_STATEMENT::QueryColNames(class STR * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long,int * __ptr64) __ptr64
-?QueryColNames@ODBC_STATEMENT@@QEAAHPEAPEAVSTR@@PEAKKPEAH@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryConnectionTimeout(void)const  __ptr64
-?QueryConnectionTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryContainer(void) __ptr64
-?QueryContainer@IIS_SERVER_CERT@@QEAAPEADXZ
-; public: void * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryContext(void)const  __ptr64
-?QueryContext@TS_OPEN_FILE_INFO@@QEBAPEAXXZ
-; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCredHandle(void) __ptr64
-?QueryCredHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
-; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCtxtHandle(void) __ptr64
-?QueryCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryCurrentConnections(void)const  __ptr64
-?QueryCurrentConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceError(void)const  __ptr64
-?QueryCurrentServiceError@IIS_SERVICE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceState(void)const  __ptr64
-?QueryCurrentServiceState@IIS_SERVICE@@QEBAKXZ
-; public: unsigned short __cdecl IIS_SERVER_INSTANCE::QueryDefaultPort(void)const  __ptr64
-?QueryDefaultPort@IIS_SERVER_INSTANCE@@QEBAGXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryDownLevelInstance(void)const  __ptr64
-?QueryDownLevelInstance@IIS_SERVICE@@QEBAKXZ
-; public: char * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryETag(void)const  __ptr64
-?QueryETag@TS_OPEN_FILE_INFO@@QEBAPEADXZ
-; public: int __cdecl TCP_AUTHENT::QueryEncryptionKeySize(unsigned long * __ptr64,int * __ptr64) __ptr64
-?QueryEncryptionKeySize@TCP_AUTHENT@@QEAAHPEAKPEAH@Z
-; public: int __cdecl TCP_AUTHENT::QueryEncryptionServerPrivateKeySize(unsigned long * __ptr64,int * __ptr64) __ptr64
-?QueryEncryptionServerPrivateKeySize@TCP_AUTHENT@@QEAAHPEAKPEAH@Z
-; public: class IIS_ENDPOINT * __ptr64 __cdecl IIS_SERVER_BINDING::QueryEndpoint(void) __ptr64
-?QueryEndpoint@IIS_SERVER_BINDING@@QEAAPEAVIIS_ENDPOINT@@XZ
-; public: short __cdecl ODBC_CONNECTION::QueryErrorCode(void)const  __ptr64
-?QueryErrorCode@ODBC_CONNECTION@@QEBAFXZ
-; public: short __cdecl ODBC_STATEMENT::QueryErrorCode(void)const  __ptr64
-?QueryErrorCode@ODBC_STATEMENT@@QEBAFXZ
-; public: class EVENT_LOG * __ptr64 __cdecl IIS_SERVICE::QueryEventLog(void) __ptr64
-?QueryEventLog@IIS_SERVICE@@QEAAPEAVEVENT_LOG@@XZ
-; public: int __cdecl TCP_AUTHENT::QueryExpiry(union _LARGE_INTEGER * __ptr64) __ptr64
-?QueryExpiry@TCP_AUTHENT@@QEAAHPEAT_LARGE_INTEGER@@@Z
-; public: char * __ptr64 __cdecl LOGGING::QueryExtraLoggingFields(void) __ptr64
-?QueryExtraLoggingFields@LOGGING@@QEAAPEADXZ
-; public: void * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryFileHandle(void) __ptr64
-?QueryFileHandle@TS_OPEN_FILE_INFO@@QEAAPEAXXZ
-; public: int __cdecl TCP_AUTHENT::QueryFullyQualifiedUserName(char * __ptr64,class STR * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,class TCP_AUTHENT_INFO * __ptr64) __ptr64
-?QueryFullyQualifiedUserName@TCP_AUTHENT@@QEAAHPEADPEAVSTR@@PEAVIIS_SERVER_INSTANCE@@PEAVTCP_AUTHENT_INFO@@@Z
-; public: char const * __ptr64 __cdecl IIS_SERVER_BINDING::QueryHostName(void) __ptr64
-?QueryHostName@IIS_SERVER_BINDING@@QEAAPEBDXZ
-; public: void * __ptr64 __cdecl TCP_AUTHENT::QueryImpersonationToken(void) __ptr64
-?QueryImpersonationToken@TCP_AUTHENT@@QEAAPEAXXZ
-; public: static class ISRPC * __ptr64 __cdecl IIS_SERVICE::QueryInetInfoRpc(void)
-?QueryInetInfoRpc@IIS_SERVICE@@SAPEAVISRPC@@XZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryInstanceCount(void)const  __ptr64
-?QueryInstanceCount@IIS_SERVICE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryInstanceId(void)const  __ptr64
-?QueryInstanceId@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_BINDING::QueryIpAddress(void) __ptr64
-?QueryIpAddress@IIS_SERVER_BINDING@@QEAAKXZ
-; public: unsigned short __cdecl IIS_SERVER_BINDING::QueryIpPort(void) __ptr64
-?QueryIpPort@IIS_SERVER_BINDING@@QEAAGXZ
-; public: virtual char const * __ptr64 __cdecl MIME_MAP_ENTRY::QueryKey(void)const  __ptr64
-?QueryKey@MIME_MAP_ENTRY@@UEBAPEBDXZ
-; public: virtual unsigned long __cdecl MIME_MAP_ENTRY::QueryKeyLen(void)const  __ptr64
-?QueryKeyLen@MIME_MAP_ENTRY@@UEBAKXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::QueryLastWriteTime(struct _FILETIME * __ptr64)const  __ptr64
-?QueryLastWriteTime@TS_OPEN_FILE_INFO@@QEBAHPEAU_FILETIME@@@Z
-; public: char * __ptr64 __cdecl INET_PARSER::QueryLine(void) __ptr64
-?QueryLine@INET_PARSER@@QEAAPEADXZ
-; public: unsigned short * __ptr64 __cdecl IIS_CTL::QueryListIdentifier(void) __ptr64
-?QueryListIdentifier@IIS_CTL@@QEAAPEAGXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogAnonymous(void)const  __ptr64
-?QueryLogAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogNonAnonymous(void)const  __ptr64
-?QueryLogNonAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: char * __ptr64 __cdecl IIS_CTL::QueryMBPath(void) __ptr64
-?QueryMBPath@IIS_CTL@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryMBPath(void) __ptr64
-?QueryMBPath@IIS_SERVER_CERT@@QEAAPEADXZ
-; public: struct IUnknown * __ptr64 __cdecl IIS_SERVICE::QueryMDNseObject(void) __ptr64
-?QueryMDNseObject@IIS_SERVICE@@QEAAPEAUIUnknown@@XZ
-; public: static struct IUnknown * __ptr64 __cdecl IIS_SERVICE::QueryMDObject(void)
-?QueryMDObject@IIS_SERVICE@@SAPEAUIUnknown@@XZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDPath(void)const  __ptr64
-?QueryMDPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryMDPath(void)const  __ptr64
-?QueryMDPath@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDPathLen(void)const  __ptr64
-?QueryMDPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDVRPath(void)const  __ptr64
-?QueryMDVRPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDVRPathLen(void)const  __ptr64
-?QueryMDVRPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: __int64 __cdecl ODBC_PARAMETER::QueryMaxCbValue(void)const  __ptr64
-?QueryMaxCbValue@ODBC_PARAMETER@@QEBA_JXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxConnections(void)const  __ptr64
-?QueryMaxConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxEndpointConnections(void)const  __ptr64
-?QueryMaxEndpointConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: class MIME_MAP * __ptr64 __cdecl IIS_SERVICE::QueryMimeMap(void)const  __ptr64
-?QueryMimeMap@IIS_SERVICE@@QEBAPEAVMIME_MAP@@XZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryModuleName(void)const  __ptr64
-?QueryModuleName@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVER_CERT::QueryOpenFlags(void) __ptr64
-?QueryOpenFlags@IIS_SERVER_CERT@@QEAAKXZ
-; public: void * __ptr64 __cdecl IIS_CTL::QueryOriginalStore(void) __ptr64
-?QueryOriginalStore@IIS_CTL@@QEAAPEAXXZ
-; public: unsigned short __cdecl ODBC_PARAMETER::QueryParamNumber(void)const  __ptr64
-?QueryParamNumber@ODBC_PARAMETER@@QEBAGXZ
-; public: short __cdecl ODBC_PARAMETER::QueryParamType(void)const  __ptr64
-?QueryParamType@ODBC_PARAMETER@@QEBAFXZ
-; public: char * __ptr64 __cdecl INET_PARSER::QueryPos(void) __ptr64
-?QueryPos@INET_PARSER@@QEAAPEADXZ
-; public: unsigned long __cdecl ODBC_PARAMETER::QueryPrecision(void)const  __ptr64
-?QueryPrecision@ODBC_PARAMETER@@QEBAKXZ
-; public: void * __ptr64 __cdecl TCP_AUTHENT::QueryPrimaryToken(void) __ptr64
-?QueryPrimaryToken@TCP_AUTHENT@@QEAAPEAXXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryProviderName(void) __ptr64
-?QueryProviderName@IIS_SERVER_CERT@@QEAAPEADXZ
-; public: unsigned long __cdecl IIS_SERVER_CERT::QueryProviderType(void) __ptr64
-?QueryProviderType@IIS_SERVER_CERT@@QEAAKXZ
-; public: void * __ptr64 __cdecl RefBlob::QueryPtr(void) __ptr64
-?QueryPtr@RefBlob@@QEAAPEAXXZ
-; public: long * __ptr64 __cdecl RefBlob::QueryRefCount(void) __ptr64
-?QueryRefCount@RefBlob@@QEAAPEAJXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRegParamKey(void)const  __ptr64
-?QueryRegParamKey@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryRegParamKey(void)const  __ptr64
-?QueryRegParamKey@IIS_SERVICE@@QEBAPEBDXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRoot(void)const  __ptr64
-?QueryRoot@IIS_SERVER_INSTANCE@@QEBAPEADXZ
-; public: int __cdecl ODBC_STATEMENT::QueryRowCount(__int64 * __ptr64) __ptr64
-?QueryRowCount@ODBC_STATEMENT@@QEAAHPEA_J@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QuerySavedState(void)const  __ptr64
-?QuerySavedState@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: short __cdecl ODBC_PARAMETER::QueryScale(void)const  __ptr64
-?QueryScale@ODBC_PARAMETER@@QEBAFXZ
-; public: int __cdecl TCP_AUTHENT::QueryServerCertificateIssuer(char * __ptr64 * __ptr64,int * __ptr64) __ptr64
-?QueryServerCertificateIssuer@TCP_AUTHENT@@QEAAHPEAPEADPEAH@Z
-; public: int __cdecl TCP_AUTHENT::QueryServerCertificateSubject(char * __ptr64 * __ptr64,int * __ptr64) __ptr64
-?QueryServerCertificateSubject@TCP_AUTHENT@@QEAAHPEAPEADPEAH@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerSize(void)const  __ptr64
-?QueryServerSize@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerState(void)const  __ptr64
-?QueryServerState@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceComment(void)const  __ptr64
-?QueryServiceComment@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryServiceId(void)const  __ptr64
-?QueryServiceId@IIS_SERVICE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceName(void)const  __ptr64
-?QueryServiceName@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryServiceSpecificExitCode(void)const  __ptr64
-?QueryServiceSpecificExitCode@IIS_SERVICE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryShutdownScheduleId(void)const  __ptr64
-?QueryShutdownScheduleId@IIS_SERVICE@@QEBAKXZ
-; public: int __cdecl IIS_CTL::QuerySignerCert(struct _CERT_CONTEXT const * __ptr64 * __ptr64) __ptr64
-?QuerySignerCert@IIS_CTL@@QEAAHPEAPEBU_CERT_CONTEXT@@@Z
-; int __cdecl QuerySingleAccessToken(void)
-?QuerySingleAccessToken@@YAHXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QuerySiteName(void)const  __ptr64
-?QuerySiteName@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: unsigned long __cdecl RefBlob::QuerySize(void) __ptr64
-?QuerySize@RefBlob@@QEAAKXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(union _LARGE_INTEGER & __ptr64)const  __ptr64
-?QuerySize@TS_OPEN_FILE_INFO@@QEBAHAEAT_LARGE_INTEGER@@@Z
-; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(unsigned long * __ptr64,unsigned long * __ptr64)const  __ptr64
-?QuerySize@TS_OPEN_FILE_INFO@@QEBAHPEAK0@Z
-; public: short __cdecl ODBC_PARAMETER::QuerySqlType(void)const  __ptr64
-?QuerySqlType@ODBC_PARAMETER@@QEBAFXZ
-; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QuerySslCtxtHandle(void) __ptr64
-?QuerySslCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
-; public: unsigned long __cdecl IIS_CTL::QueryStatus(void) __ptr64
-?QueryStatus@IIS_CTL@@QEAAKXZ
-; public: void * __ptr64 __cdecl IIS_SERVER_CERT::QueryStoreHandle(void) __ptr64
-?QueryStoreHandle@IIS_SERVER_CERT@@QEAAPEAXXZ
-; public: char * __ptr64 __cdecl IIS_CTL::QueryStoreName(void) __ptr64
-?QueryStoreName@IIS_CTL@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryStoreName(void) __ptr64
-?QueryStoreName@IIS_SERVER_CERT@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl INET_PARSER::QueryToken(void) __ptr64
-?QueryToken@INET_PARSER@@QEAAPEADXZ
-; public: int __cdecl TCP_AUTHENT::QueryUserName(class STR * __ptr64,int) __ptr64
-?QueryUserName@TCP_AUTHENT@@QEAAHPEAVSTR@@H@Z
-; public: void * __ptr64 __cdecl ODBC_PARAMETER::QueryValue(void)const  __ptr64
-?QueryValue@ODBC_PARAMETER@@QEBAPEAXXZ
-; public: int __cdecl ODBC_STATEMENT::QueryValuesAsStr(class STR * __ptr64 * __ptr64,unsigned long * __ptr64 * __ptr64,int * __ptr64) __ptr64
-?QueryValuesAsStr@ODBC_STATEMENT@@QEAAHPEAPEAVSTR@@PEAPEAKPEAH@Z
-; public: unsigned long __cdecl IIS_VROOT_TABLE::QueryVrootCount(void) __ptr64
-?QueryVrootCount@IIS_VROOT_TABLE@@QEAAKXZ
-; public: class IIS_VROOT_TABLE * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryVrootTable(void) __ptr64
-?QueryVrootTable@IIS_SERVER_INSTANCE@@QEAAPEAVIIS_VROOT_TABLE@@XZ
-; public: int __cdecl COMMON_METADATA::ReadMetaData(class IIS_SERVER_INSTANCE * __ptr64,class MB * __ptr64,char * __ptr64,struct _METADATA_ERROR_INFO * __ptr64) __ptr64
-?ReadMetaData@COMMON_METADATA@@QEAAHPEAVIIS_SERVER_INSTANCE@@PEAVMB@@PEADPEAU_METADATA_ERROR_INFO@@@Z
-; public: int __cdecl IIS_SERVICE::RecordInstanceStart(void) __ptr64
-?RecordInstanceStart@IIS_SERVICE@@QEAAHXZ
-; public: void __cdecl IIS_SERVICE::RecordInstanceStop(void) __ptr64
-?RecordInstanceStop@IIS_SERVICE@@QEAAXXZ
-; public: void __cdecl IIS_ENDPOINT::Reference(void) __ptr64
-?Reference@IIS_ENDPOINT@@QEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::Reference(void) __ptr64
-?Reference@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: unsigned long __cdecl IIS_SSL_INFO::Reference(void) __ptr64
-?Reference@IIS_SSL_INFO@@QEAAKXZ
-; public: virtual long __cdecl MIME_MAP_ENTRY::Reference(void) __ptr64
-?Reference@MIME_MAP_ENTRY@@UEAAJXZ
-; public: int __cdecl MB::ReferenceData(char const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?ReferenceData@MB@@QEAAHPEBDKKKPEAPEAXPEAK2K@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::RegReadCommonParams(int,int) __ptr64
-?RegReadCommonParams@IIS_SERVER_INSTANCE@@QEAAHHH@Z
-; public: int __cdecl STORE_CHANGE_NOTIFIER::RegisterStoreForChange(char * __ptr64,void * __ptr64,void (__cdecl*)(void * __ptr64),void * __ptr64) __ptr64
-?RegisterStoreForChange@STORE_CHANGE_NOTIFIER@@QEAAHPEADPEAXP6AX1@Z1@Z
-; public: static unsigned long __cdecl IIS_SSL_INFO::Release(void * __ptr64)
-?Release@IIS_SSL_INFO@@SAKPEAX@Z
-; public: void __cdecl RefBlob::Release(void) __ptr64
-?Release@RefBlob@@QEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::ReleaseFastLock(void) __ptr64
-?ReleaseFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SSL_INFO::ReleaseFortezzaHandlers(void) __ptr64
-?ReleaseFortezzaHandlers@IIS_SSL_INFO@@QEAAXXZ
-; private: static void __cdecl IIS_SERVICE::ReleaseGlobalLock(void)
-?ReleaseGlobalLock@IIS_SERVICE@@CAXXZ
-; public: int __cdecl MB::ReleaseReferenceData(unsigned long) __ptr64
-?ReleaseReferenceData@MB@@QEAAHK@Z
-; public: void __cdecl STORE_CHANGE_NOTIFIER::ReleaseRegisteredStores(void) __ptr64
-?ReleaseRegisteredStores@STORE_CHANGE_NOTIFIER@@QEAAXXZ
-; public: void __cdecl IIS_SERVICE::ReleaseServiceLock(int) __ptr64
-?ReleaseServiceLock@IIS_SERVICE@@QEAAXH@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveNormalBindings(void) __ptr64
-?RemoveNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveSecureBindings(void) __ptr64
-?RemoveSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: int __cdecl IIS_SERVICE::RemoveServerInstance(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?RemoveServerInstance@IIS_SERVICE@@QEAAHPEAVIIS_SERVER_INSTANCE@@@Z
-; public: int __cdecl IIS_VROOT_TABLE::RemoveVirtualRoot(char * __ptr64) __ptr64
-?RemoveVirtualRoot@IIS_VROOT_TABLE@@QEAAHPEAD@Z
-; public: int __cdecl IIS_VROOT_TABLE::RemoveVirtualRoots(void) __ptr64
-?RemoveVirtualRoots@IIS_VROOT_TABLE@@QEAAHXZ
-; private: unsigned long __cdecl IIS_SERVICE::ReportServiceStatus(void) __ptr64
-?ReportServiceStatus@IIS_SERVICE@@AEAAKXZ
-; public: int __cdecl TCP_AUTHENT::Reset(int) __ptr64
-?Reset@TCP_AUTHENT@@QEAAHH@Z
-; public: void __cdecl INET_PARSER::RestoreBuffer(void) __ptr64
-?RestoreBuffer@INET_PARSER@@QEAAXXZ
-; protected: void __cdecl INET_PARSER::RestoreLine(void) __ptr64
-?RestoreLine@INET_PARSER@@IEAAXXZ
-; protected: void __cdecl INET_PARSER::RestoreToken(void) __ptr64
-?RestoreToken@INET_PARSER@@IEAAXXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::RetrieveHttpInfo(char * __ptr64,int * __ptr64) __ptr64
-?RetrieveHttpInfo@TS_OPEN_FILE_INFO@@QEAAHPEADPEAH@Z
-; private: int __cdecl IIS_SERVER_CERT::RetrievePINInfo(class MB * __ptr64,char * __ptr64 * __ptr64,char * __ptr64 * __ptr64,char * __ptr64 * __ptr64) __ptr64
-?RetrievePINInfo@IIS_SERVER_CERT@@AEAAHPEAVMB@@PEAPEAD11@Z
-; public: int __cdecl TCP_AUTHENT::RevertToSelf(void) __ptr64
-?RevertToSelf@TCP_AUTHENT@@QEAAHXZ
-; public: int __cdecl MB::Save(void) __ptr64
-?Save@MB@@QEAAHXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::SaveServerState(void) __ptr64
-?SaveServerState@IIS_SERVER_INSTANCE@@QEAAXXZ
-; int __cdecl SelectMimeMappingForFileExt(class IIS_SERVICE * __ptr64 const,char const * __ptr64,class STR * __ptr64,class STR * __ptr64)
-?SelectMimeMappingForFileExt@@YAHQEAVIIS_SERVICE@@PEBDPEAVSTR@@2@Z
-; int __cdecl ServerAddressHasCAPIInfo(class MB * __ptr64,char * __ptr64,unsigned long * __ptr64,unsigned long)
-?ServerAddressHasCAPIInfo@@YAHPEAVMB@@PEADPEAKK@Z
-; public: void __cdecl IIS_SERVICE::ServiceCtrlHandler(unsigned long) __ptr64
-?ServiceCtrlHandler@IIS_SERVICE@@QEAAXK@Z
-; public: void __cdecl COMMON_METADATA::SetAccessPerms(unsigned long) __ptr64
-?SetAccessPerms@COMMON_METADATA@@QEAAXK@Z
-; public: int __cdecl TCP_AUTHENT::SetAccessToken(void * __ptr64,void * __ptr64) __ptr64
-?SetAccessToken@TCP_AUTHENT@@QEAAHPEAX0@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::SetBandwidthThrottle(class MB * __ptr64) __ptr64
-?SetBandwidthThrottle@IIS_SERVER_INSTANCE@@QEAAHPEAVMB@@@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::SetBandwidthThrottleMaxBlocked(class MB * __ptr64) __ptr64
-?SetBandwidthThrottleMaxBlocked@IIS_SERVER_INSTANCE@@QEAAHPEAVMB@@@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::SetCommonConfig(struct _INET_INFO_CONFIG_INFO * __ptr64,int) __ptr64
-?SetCommonConfig@IIS_SERVER_INSTANCE@@QEAAHPEAU_INET_INFO_CONFIG_INFO@@H@Z
-; public: unsigned long __cdecl LOGGING::SetConfig(struct _INETLOG_CONFIGURATIONA * __ptr64) __ptr64
-?SetConfig@LOGGING@@QEAAKPEAU_INETLOG_CONFIGURATIONA@@@Z
-; public: int __cdecl ODBC_CONNECTION::SetConnectOption(unsigned short,unsigned long) __ptr64
-?SetConnectOption@ODBC_CONNECTION@@QEAAHGK@Z
-; public: int __cdecl TS_OPEN_FILE_INFO::SetContext(void * __ptr64,int (__cdecl*)(void * __ptr64)) __ptr64
-?SetContext@TS_OPEN_FILE_INFO@@QEAAHPEAXP6AH0@Z@Z
-; public: int __cdecl MB::SetData(char const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned long) __ptr64
-?SetData@MB@@QEAAHPEBDKKKPEAXKK@Z
-; public: int __cdecl TS_OPEN_FILE_INFO::SetHttpInfo(char * __ptr64,int) __ptr64
-?SetHttpInfo@TS_OPEN_FILE_INFO@@QEAAHPEADH@Z
-; private: int __cdecl IIS_SERVICE::SetInstanceConfiguration(unsigned long,unsigned long,int,struct _INET_INFO_CONFIG_INFO * __ptr64) __ptr64
-?SetInstanceConfiguration@IIS_SERVICE@@AEAAHKKHPEAU_INET_INFO_CONFIG_INFO@@@Z
-; public: void __cdecl INET_PARSER::SetListMode(int) __ptr64
-?SetListMode@INET_PARSER@@QEAAXH@Z
-; public: void __cdecl TSVC_CACHE::SetParameters(unsigned long,unsigned long,void * __ptr64) __ptr64
-?SetParameters@TSVC_CACHE@@QEAAXKKPEAX@Z
-; public: void __cdecl INET_PARSER::SetPtr(char * __ptr64) __ptr64
-?SetPtr@INET_PARSER@@QEAAXPEAD@Z
-; public: int __cdecl TCP_AUTHENT::SetSecurityContextToken(struct _SecHandle * __ptr64,void * __ptr64,int (__cdecl*)(struct _SecHandle * __ptr64,void * __ptr64),void * __ptr64,class IIS_SSL_INFO * __ptr64) __ptr64
-?SetSecurityContextToken@TCP_AUTHENT@@QEAAHPEAU_SecHandle@@PEAXP6AH01@Z1PEAVIIS_SSL_INFO@@@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::SetServerState(unsigned long,unsigned long) __ptr64
-?SetServerState@IIS_SERVER_INSTANCE@@QEAAXKK@Z
-; public: static int __cdecl IIS_SERVICE::SetServiceAdminInfo(unsigned long,unsigned long,unsigned long,int,struct _INET_INFO_CONFIG_INFO * __ptr64)
-?SetServiceAdminInfo@IIS_SERVICE@@SAHKKKHPEAU_INET_INFO_CONFIG_INFO@@@Z
-; public: void __cdecl IIS_SERVICE::SetServiceComment(char * __ptr64) __ptr64
-?SetServiceComment@IIS_SERVICE@@QEAAXPEAD@Z
-; public: void __cdecl IIS_SERVICE::SetServiceSpecificExitCode(unsigned long) __ptr64
-?SetServiceSpecificExitCode@IIS_SERVICE@@QEAAXK@Z
-; public: int __cdecl TCP_AUTHENT::SetTargetName(char * __ptr64) __ptr64
-?SetTargetName@TCP_AUTHENT@@QEAAHPEAD@Z
-; public: int __cdecl ODBC_PARAMETER::SetValueBuffer(long,long) __ptr64
-?SetValueBuffer@ODBC_PARAMETER@@QEAAHJJ@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::SetWin32Error(unsigned long) __ptr64
-?SetWin32Error@IIS_SERVER_INSTANCE@@QEAAXK@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::SetZapRegKey(void) __ptr64
-?SetZapRegKey@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: int __cdecl LOGGING::ShutdownLogging(void) __ptr64
-?ShutdownLogging@LOGGING@@QEAAHXZ
-; public: unsigned long __cdecl IIS_SERVICE::ShutdownScheduleCallback(void) __ptr64
-?ShutdownScheduleCallback@IIS_SERVICE@@QEAAKXZ
-; public: int __cdecl IIS_SERVICE::ShutdownService(void) __ptr64
-?ShutdownService@IIS_SERVICE@@QEAAHXZ
-; public: char * __ptr64 __cdecl INET_PARSER::SkipTo(char) __ptr64
-?SkipTo@INET_PARSER@@QEAAPEADD@Z
-; public: int __cdecl TS_DIRECTORY_INFO::SortFileInfoPointers(int (__cdecl*)(void const * __ptr64,void const * __ptr64)) __ptr64
-?SortFileInfoPointers@TS_DIRECTORY_INFO@@QEAAHP6AHPEBX0@Z@Z
-; public: virtual unsigned long __cdecl IIS_SERVER_INSTANCE::StartInstance(void) __ptr64
-?StartInstance@IIS_SERVER_INSTANCE@@UEAAKXZ
-; public: int __cdecl TCP_AUTHENT::StartProcessAsUser(char const * __ptr64,char * __ptr64,int,unsigned long,void * __ptr64,char const * __ptr64,struct _STARTUPINFOA * __ptr64,struct _PROCESS_INFORMATION * __ptr64) __ptr64
-?StartProcessAsUser@TCP_AUTHENT@@QEAAHPEBDPEADHKPEAX0PEAU_STARTUPINFOA@@PEAU_PROCESS_INFORMATION@@@Z
-; public: unsigned long __cdecl IIS_SERVICE::StartServiceOperation(void (__cdecl*)(unsigned long),unsigned long (__cdecl*)(void * __ptr64),unsigned long (__cdecl*)(void * __ptr64)) __ptr64
-?StartServiceOperation@IIS_SERVICE@@QEAAKP6AXK@ZP6AKPEAX@Z2@Z
-; public: void __cdecl IIS_SERVICE::StartUpIndicateClientActivity(void) __ptr64
-?StartUpIndicateClientActivity@IIS_SERVICE@@QEAAXXZ
-; public: unsigned long __cdecl IIS_SERVER_CERT::Status(void) __ptr64
-?Status@IIS_SERVER_CERT@@QEAAKXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::StopEndpoints(void) __ptr64
-?StopEndpoints@IIS_SERVER_INSTANCE@@QEAAHXZ
-; private: int __cdecl IIS_SERVER_INSTANCE::StopEndpointsHelper(struct _LIST_ENTRY * __ptr64) __ptr64
-?StopEndpointsHelper@IIS_SERVER_INSTANCE@@AEAAHPEAU_LIST_ENTRY@@@Z
-; public: virtual unsigned long __cdecl IIS_SERVER_INSTANCE::StopInstance(void) __ptr64
-?StopInstance@IIS_SERVER_INSTANCE@@UEAAKXZ
-; public: virtual void __cdecl IIS_SERVICE::StopInstanceProcs(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?StopInstanceProcs@IIS_SERVICE@@UEAAXPEAVIIS_SERVER_INSTANCE@@@Z
-; private: void __cdecl IIS_SERVICE::StopService(void) __ptr64
-?StopService@IIS_SERVICE@@AEAAXXZ
-; public: static int __cdecl ODBC_CONNECTION::Success(short)
-?Success@ODBC_CONNECTION@@SAHF@Z
-; public: static unsigned long __cdecl LOGGING::Terminate(void)
-?Terminate@LOGGING@@SAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::TerminateDiscovery(void) __ptr64
-?TerminateDiscovery@IIS_SERVICE@@QEAAKXZ
-; protected: void __cdecl INET_PARSER::TerminateLine(void) __ptr64
-?TerminateLine@INET_PARSER@@IEAAXXZ
-; protected: void __cdecl INET_PARSER::TerminateToken(char) __ptr64
-?TerminateToken@INET_PARSER@@IEAAXD@Z
-TsAddMetaData
-; void __cdecl TsAddRefMetaData(void * __ptr64)
-?TsAddRefMetaData@@YAXPEAX@Z
-TsAllocate
-TsAllocateEx
-; unsigned long __cdecl TsApiAccessCheck(unsigned long)
-?TsApiAccessCheck@@YAKK@Z
-TsCacheDirectoryBlob
-TsCacheFlush
-TsCacheFlushDemux
-TsCheckInCachedBlob
-TsCheckInOrFree
-TsCheckOutCachedBlob
-TsCloseHandle
-TsCloseURIFile
-TsCreateETagFromHandle
-TsCreateFile
-TsCreateFileFromURI
-TsDeCacheCachedBlob
-TsDeleteOnClose
-; int __cdecl TsDeleteUserToken(class CACHED_TOKEN * __ptr64)
-?TsDeleteUserToken@@YAHPEAVCACHED_TOKEN@@@Z
-TsDerefURIFile
-TsDumpCacheToHtml
-; public: int __cdecl IIS_SERVER_INSTANCE::TsEnumVirtualRoots(int (__cdecl*)(void * __ptr64,class MB * __ptr64,struct _VIRTUAL_ROOT * __ptr64),void * __ptr64,class MB * __ptr64) __ptr64
-?TsEnumVirtualRoots@IIS_SERVER_INSTANCE@@QEAAHP6AHPEAXPEAVMB@@PEAU_VIRTUAL_ROOT@@@Z01@Z
-TsExpireCachedBlob
-TsFindMetaData
-TsFlushFilesWithContext
-TsFlushMetaCache
-TsFlushURL
-TsFree
-; int __cdecl TsFreeDirectoryListing(class TSVC_CACHE const & __ptr64,class TS_DIRECTORY_HEADER * __ptr64)
-?TsFreeDirectoryListing@@YAHAEBVTSVC_CACHE@@PEAVTS_DIRECTORY_HEADER@@@Z
-TsFreeMetaData
-; int __cdecl TsGetDirectoryListing(class TSVC_CACHE const & __ptr64,char const * __ptr64,void * __ptr64,class TS_DIRECTORY_HEADER * __ptr64 * __ptr64)
-?TsGetDirectoryListing@@YAHAEBVTSVC_CACHE@@PEBDPEAXPEAPEAVTS_DIRECTORY_HEADER@@@Z
-TsGetFileSecDesc
-; int __cdecl TsGetSecretW(unsigned short * __ptr64,class BUFFER * __ptr64)
-?TsGetSecretW@@YAHPEAGPEAVBUFFER@@@Z
-; int __cdecl TsImpersonateUser(class CACHED_TOKEN * __ptr64)
-?TsImpersonateUser@@YAHPEAVCACHED_TOKEN@@@Z
-TsLastWriteTimeFromHandle
-; class CACHED_TOKEN * __ptr64 __cdecl TsLogonUser(char * __ptr64,char * __ptr64,int * __ptr64,int * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,class TCP_AUTHENT_INFO * __ptr64,char * __ptr64,union _LARGE_INTEGER * __ptr64,int * __ptr64)
-?TsLogonUser@@YAPEAVCACHED_TOKEN@@PEAD0PEAH1PEAVIIS_SERVER_INSTANCE@@PEAVTCP_AUTHENT_INFO@@0PEAT_LARGE_INTEGER@@1@Z
-TsMakeWidePath
-; public: void __cdecl IIS_SERVER_INSTANCE::TsMirrorVirtualRoots(struct _INET_INFO_CONFIG_INFO * __ptr64) __ptr64
-?TsMirrorVirtualRoots@IIS_SERVER_INSTANCE@@QEAAXPEAU_INET_INFO_CONFIG_INFO@@@Z
-; int __cdecl TsProcessGatewayRequest(void * __ptr64,struct _IGATEWAY_REQUEST * __ptr64,int (__cdecl*)(void * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long))
-?TsProcessGatewayRequest@@YAHPEAXPEAU_IGATEWAY_REQUEST@@P6AH0KPEAEK@Z@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::TsReadVirtualRoots(struct _MD_CHANGE_OBJECT_A * __ptr64) __ptr64
-?TsReadVirtualRoots@IIS_SERVER_INSTANCE@@QEAAHPEAU_MD_CHANGE_OBJECT_A@@@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::TsRecursiveEnumVirtualRoots(int (__cdecl*)(void * __ptr64,class MB * __ptr64,struct _VIRTUAL_ROOT * __ptr64),void * __ptr64,char * __ptr64,unsigned long,void * __ptr64,int) __ptr64
-?TsRecursiveEnumVirtualRoots@IIS_SERVER_INSTANCE@@QEAAHP6AHPEAXPEAVMB@@PEAU_VIRTUAL_ROOT@@@Z0PEADK0H@Z
-TsReferenceMetaData
-; unsigned long __cdecl TsSetSecretW(unsigned short * __ptr64,unsigned short * __ptr64,unsigned long)
-?TsSetSecretW@@YAKPEAG0K@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::TsSetVirtualRoots(struct _INET_INFO_CONFIG_INFO * __ptr64) __ptr64
-?TsSetVirtualRoots@IIS_SERVER_INSTANCE@@QEAAHPEAU_INET_INFO_CONFIG_INFO@@@Z
-; void * __ptr64 __cdecl TsTokenToHandle(class CACHED_TOKEN * __ptr64)
-?TsTokenToHandle@@YAPEAXPEAVCACHED_TOKEN@@@Z
-; void * __ptr64 __cdecl TsTokenToImpHandle(class CACHED_TOKEN * __ptr64)
-?TsTokenToImpHandle@@YAPEAXPEAVCACHED_TOKEN@@@Z
-Tsunami_Initialize
-; private: unsigned long __cdecl IIS_SERVER_INSTANCE::UnbindHelper(struct _LIST_ENTRY * __ptr64) __ptr64
-?UnbindHelper@IIS_SERVER_INSTANCE@@AEAAKPEAU_LIST_ENTRY@@@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UnbindInstance(void) __ptr64
-?UnbindInstance@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: void __cdecl IIS_SSL_INFO::Unlock(void) __ptr64
-?Unlock@IIS_SSL_INFO@@QEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::Unlock(void) __ptr64
-?Unlock@IIS_VROOT_TABLE@@QEAAXXZ
-; private: void __cdecl LOGGING::Unlock(void) __ptr64
-?Unlock@LOGGING@@AEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::UnlockThis(void) __ptr64
-?UnlockThis@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl STORE_CHANGE_NOTIFIER::UnregisterStore(char * __ptr64,void (__cdecl*)(void * __ptr64),void * __ptr64) __ptr64
-?UnregisterStore@STORE_CHANGE_NOTIFIER@@QEAAXPEADP6AXPEAX@Z1@Z
-; private: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateBindingsHelper(int) __ptr64
-?UpdateBindingsHelper@IIS_SERVER_INSTANCE@@AEAAKH@Z
-; public: int __cdecl TCP_AUTHENT::UpdateClientCertFlags(unsigned long,int * __ptr64,unsigned char * __ptr64,unsigned long) __ptr64
-?UpdateClientCertFlags@TCP_AUTHENT@@QEAAHKPEAHPEAEK@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateNormalBindings(void) __ptr64
-?UpdateNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateSecureBindings(void) __ptr64
-?UpdateSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::UpdateServiceStatus(unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
-?UpdateServiceStatus@IIS_SERVICE@@QEAAKKKKK@Z
-; public: int __cdecl IIS_SSL_INFO::UseDSMapper(void) __ptr64
-?UseDSMapper@IIS_SSL_INFO@@QEAAHXZ
-; private: int __cdecl IIS_SERVER_CERT::UseProgrammaticPINEntry(class MB * __ptr64) __ptr64
-?UseProgrammaticPINEntry@IIS_SERVER_CERT@@AEAAHPEAVMB@@@Z
-; public: int __cdecl IIS_CTL::VerifySignature(void * __ptr64 * __ptr64,unsigned long,int * __ptr64) __ptr64
-?VerifySignature@IIS_CTL@@QEAAHPEAPEAXKPEAH@Z
-; public: int __cdecl TS_OPEN_FILE_INFO::WeakETag(void)const  __ptr64
-?WeakETag@TS_OPEN_FILE_INFO@@QEBAHXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::ZapInstanceMBTree(void) __ptr64
-?ZapInstanceMBTree@IIS_SERVER_INSTANCE@@QEAAXXZ
-; void __cdecl _TsValidateMetaCache(void)
-?_TsValidateMetaCache@@YAXXZ
-; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogCustomInformation)(void * __ptr64,unsigned long,struct _CUSTOM_LOG_DATA * __ptr64,char * __ptr64)
-?m_ComLogCustomInformation@LOGGING@@0P6AKPEAXKPEAU_CUSTOM_LOG_DATA@@PEAD@ZEA DATA
-; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogDllCleanUp)(void)
-?m_ComLogDllCleanUp@LOGGING@@0P6AKXZEA DATA
-; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogDllStartup)(void)
-?m_ComLogDllStartup@LOGGING@@0P6AKXZEA DATA
-; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogGetConfig)(void * __ptr64,struct _INETLOG_CONFIGURATIONA * __ptr64)
-?m_ComLogGetConfig@LOGGING@@0P6AKPEAXPEAU_INETLOG_CONFIGURATIONA@@@ZEA DATA
-; private: static void * __ptr64 (__cdecl* __ptr64 LOGGING::m_ComLogInitializeLog)(char const * __ptr64,char const * __ptr64,void * __ptr64)
-?m_ComLogInitializeLog@LOGGING@@0P6APEAXPEBD0PEAX@ZEA DATA
-; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogLogInformation)(void * __ptr64,struct _INETLOG_INFORMATION const * __ptr64)
-?m_ComLogLogInformation@LOGGING@@0P6AKPEAXPEBU_INETLOG_INFORMATION@@@ZEA DATA
-; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogNotifyChange)(void * __ptr64)
-?m_ComLogNotifyChange@LOGGING@@0P6AKPEAX@ZEA DATA
-; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogQueryExtraLogFields)(void * __ptr64,char * __ptr64,unsigned long * __ptr64)
-?m_ComLogQueryExtraLogFields@LOGGING@@0P6AKPEAXPEADPEAK@ZEA DATA
-; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogSetConfig)(void * __ptr64,struct _INETLOG_CONFIGURATIONA const * __ptr64)
-?m_ComLogSetConfig@LOGGING@@0P6AKPEAXPEBU_INETLOG_CONFIGURATIONA@@@ZEA DATA
-; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogTerminateLog)(void * __ptr64)
-?m_ComLogTerminateLog@LOGGING@@0P6AKPEAX@ZEA DATA
-; private: static struct HINSTANCE__ * __ptr64  __ptr64 LOGGING::m_hComLogDLL
-?m_hComLogDLL@LOGGING@@0PEAUHINSTANCE__@@EA DATA
-; public: static unsigned __int64  IIS_SERVER_CERT::m_hFortezzaCSP
-?m_hFortezzaCSP@IIS_SERVER_CERT@@2_KA DATA
-; public: static void * __ptr64  __ptr64 IIS_SERVER_CERT::m_hFortezzaCtxt
-?m_hFortezzaCtxt@IIS_SERVER_CERT@@2PEAXEA DATA
-; private: static struct IUnknown * __ptr64  __ptr64 IIS_SERVICE::sm_MDNseObject
-?sm_MDNseObject@IIS_SERVICE@@0PEAUIUnknown@@EA DATA
-; private: static struct IUnknown * __ptr64  __ptr64 IIS_SERVICE::sm_MDObject
-?sm_MDObject@IIS_SERVICE@@0PEAUIUnknown@@EA DATA
-; private: static struct _LIST_ENTRY  IIS_SERVICE::sm_ServiceInfoListHead
-?sm_ServiceInfoListHead@IIS_SERVICE@@0U_LIST_ENTRY@@A DATA
-; private: static struct _RTL_CRITICAL_SECTION  IIS_SERVICE::sm_csLock
-?sm_csLock@IIS_SERVICE@@0U_RTL_CRITICAL_SECTION@@A DATA
-; private: static int  IIS_SERVICE::sm_fInitialized
-?sm_fInitialized@IIS_SERVICE@@0HA DATA
-; private: static class ISRPC * __ptr64  __ptr64 IIS_SERVICE::sm_isrpc
-?sm_isrpc@IIS_SERVICE@@0PEAVISRPC@@EA DATA
-; public: static struct _TRACE_LOG * __ptr64  __ptr64 IIS_SERVER_INSTANCE::sm_pDbgRefTraceLog
-?sm_pDbgRefTraceLog@IIS_SERVER_INSTANCE@@2PEAU_TRACE_LOG@@EA DATA
-; public: static struct _TRACE_LOG * __ptr64  __ptr64 IIS_SERVICE::sm_pDbgRefTraceLog
-?sm_pDbgRefTraceLog@IIS_SERVICE@@2PEAU_TRACE_LOG@@EA DATA
-; int __cdecl uudecode(char * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,int)
-?uudecode@@YAHPEADPEAVBUFFER@@PEAKH@Z
-; int __cdecl uuencode(unsigned char * __ptr64,unsigned long,class BUFFER * __ptr64,int)
-?uuencode@@YAHPEAEKPEAVBUFFER@@H@Z
-ConvertStringToRpc
-ConvertUnicodeToAnsi
-DoSynchronousReadFile
-FreeRpcString
-InetNtoa
-InitCommonDlls
-KludgeMultiSz
-ReadRegString
-ReadRegistryDwordA
-ReadRegistryStr
-ReadRegistryString
-TcpSockRecv
-TcpSockSend
-TcpSockTest
-TerminateCommonDlls
-TsDumpCacheCounters
-WaitForSocketWorker
-WriteRegistryDwordA
-WriteRegistryStringA
-WriteRegistryStringW
+; 
+; Exports of file INFOCOMM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INFOCOMM.dll
+EXPORTS
+; public: __cdecl COMMON_METADATA::COMMON_METADATA(void) __ptr64
+??0COMMON_METADATA@@QEAA@XZ
+; public: __cdecl HASH_TABLE::HASH_TABLE(class HASH_TABLE const & __ptr64) __ptr64
+??0HASH_TABLE@@QEAA@AEBV0@@Z
+; public: __cdecl HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const & __ptr64) __ptr64
+??0HT_ELEMENT@@QEAA@AEBV0@@Z
+; public: __cdecl HT_ELEMENT::HT_ELEMENT(void) __ptr64
+??0HT_ELEMENT@@QEAA@XZ
+; public: __cdecl IIS_CTL::IIS_CTL(class IIS_CTL const & __ptr64) __ptr64
+??0IIS_CTL@@QEAA@AEBV0@@Z
+; public: __cdecl IIS_CTL::IIS_CTL(struct IMDCOM * __ptr64,char * __ptr64) __ptr64
+??0IIS_CTL@@QEAA@PEAUIMDCOM@@PEAD@Z
+; public: __cdecl IIS_SERVER_BINDING::IIS_SERVER_BINDING(unsigned long,unsigned short,char const * __ptr64,class IIS_ENDPOINT * __ptr64) __ptr64
+??0IIS_SERVER_BINDING@@QEAA@KGPEBDPEAVIIS_ENDPOINT@@@Z
+; public: __cdecl IIS_SERVER_CERT::IIS_SERVER_CERT(class IIS_SERVER_CERT const & __ptr64) __ptr64
+??0IIS_SERVER_CERT@@QEAA@AEBV0@@Z
+; public: __cdecl IIS_SERVER_CERT::IIS_SERVER_CERT(struct IMDCOM * __ptr64,char * __ptr64) __ptr64
+??0IIS_SERVER_CERT@@QEAA@PEAUIMDCOM@@PEAD@Z
+; public: __cdecl IIS_SERVER_INSTANCE::IIS_SERVER_INSTANCE(class IIS_SERVICE * __ptr64,unsigned long,unsigned short,char const * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,int) __ptr64
+??0IIS_SERVER_INSTANCE@@QEAA@PEAVIIS_SERVICE@@KGPEBDPEAG2H@Z
+; public: __cdecl IIS_SERVICE::IIS_SERVICE(class IIS_SERVICE const & __ptr64) __ptr64
+??0IIS_SERVICE@@QEAA@AEBV0@@Z
+; public: __cdecl IIS_SERVICE::IIS_SERVICE(char const * __ptr64,char const * __ptr64,char const * __ptr64,unsigned long,unsigned __int64,int,unsigned long,void (__cdecl*)(unsigned __int64,struct sockaddr_in * __ptr64,void * __ptr64,void * __ptr64),void (__cdecl*)(void * __ptr64,unsigned long,unsigned long,struct _OVERLAPPED * __ptr64),void (__cdecl*)(void * __ptr64,unsigned long,unsigned long,struct _OVERLAPPED * __ptr64)) __ptr64
+??0IIS_SERVICE@@QEAA@PEBD00K_KHKP6AX1PEAUsockaddr_in@@PEAX3@ZP6AX3KKPEAU_OVERLAPPED@@@Z6@Z
+; public: __cdecl IIS_SSL_INFO::IIS_SSL_INFO(class IIS_SSL_INFO const & __ptr64) __ptr64
+??0IIS_SSL_INFO@@QEAA@AEBV0@@Z
+; public: __cdecl IIS_SSL_INFO::IIS_SSL_INFO(char * __ptr64,struct IMDCOM * __ptr64) __ptr64
+??0IIS_SSL_INFO@@QEAA@PEADPEAUIMDCOM@@@Z
+; public: __cdecl IIS_VROOT_TABLE::IIS_VROOT_TABLE(void) __ptr64
+??0IIS_VROOT_TABLE@@QEAA@XZ
+; public: __cdecl INET_PARSER::INET_PARSER(char * __ptr64) __ptr64
+??0INET_PARSER@@QEAA@PEAD@Z
+; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
+??0LOGGING@@QEAA@AEBV0@@Z
+; public: __cdecl LOGGING::LOGGING(void) __ptr64
+??0LOGGING@@QEAA@XZ
+; public: __cdecl MB::MB(struct IMDCOM * __ptr64) __ptr64
+??0MB@@QEAA@PEAUIMDCOM@@@Z
+; public: __cdecl MIME_MAP::MIME_MAP(void) __ptr64
+??0MIME_MAP@@QEAA@XZ
+; public: __cdecl ODBC_CONNECTION::ODBC_CONNECTION(void) __ptr64
+??0ODBC_CONNECTION@@QEAA@XZ
+; public: __cdecl ODBC_PARAMETER::ODBC_PARAMETER(unsigned short,short,short,short,unsigned long) __ptr64
+??0ODBC_PARAMETER@@QEAA@GFFFK@Z
+; public: __cdecl RefBlob::RefBlob(void) __ptr64
+??0RefBlob@@QEAA@XZ
+; public: __cdecl STORE_CHANGE_NOTIFIER::STORE_CHANGE_NOTIFIER(void) __ptr64
+??0STORE_CHANGE_NOTIFIER@@QEAA@XZ
+; public: __cdecl TCP_AUTHENT::TCP_AUTHENT(unsigned long) __ptr64
+??0TCP_AUTHENT@@QEAA@K@Z
+; public: virtual __cdecl COMMON_METADATA::~COMMON_METADATA(void) __ptr64
+??1COMMON_METADATA@@UEAA@XZ
+; public: virtual __cdecl HASH_TABLE::~HASH_TABLE(void) __ptr64
+??1HASH_TABLE@@UEAA@XZ
+; public: virtual __cdecl HT_ELEMENT::~HT_ELEMENT(void) __ptr64
+??1HT_ELEMENT@@UEAA@XZ
+; public: __cdecl IIS_CTL::~IIS_CTL(void) __ptr64
+??1IIS_CTL@@QEAA@XZ
+; public: __cdecl IIS_ENDPOINT::~IIS_ENDPOINT(void) __ptr64
+??1IIS_ENDPOINT@@QEAA@XZ
+; public: __cdecl IIS_SERVER_BINDING::~IIS_SERVER_BINDING(void) __ptr64
+??1IIS_SERVER_BINDING@@QEAA@XZ
+; public: __cdecl IIS_SERVER_CERT::~IIS_SERVER_CERT(void) __ptr64
+??1IIS_SERVER_CERT@@QEAA@XZ
+; public: virtual __cdecl IIS_SERVER_INSTANCE::~IIS_SERVER_INSTANCE(void) __ptr64
+??1IIS_SERVER_INSTANCE@@UEAA@XZ
+; protected: virtual __cdecl IIS_SERVICE::~IIS_SERVICE(void) __ptr64
+??1IIS_SERVICE@@MEAA@XZ
+; public: __cdecl IIS_SSL_INFO::~IIS_SSL_INFO(void) __ptr64
+??1IIS_SSL_INFO@@QEAA@XZ
+; public: __cdecl IIS_VROOT_TABLE::~IIS_VROOT_TABLE(void) __ptr64
+??1IIS_VROOT_TABLE@@QEAA@XZ
+; public: __cdecl INET_PARSER::~INET_PARSER(void) __ptr64
+??1INET_PARSER@@QEAA@XZ
+; public: __cdecl LOGGING::~LOGGING(void) __ptr64
+??1LOGGING@@QEAA@XZ
+; public: __cdecl MB::~MB(void) __ptr64
+??1MB@@QEAA@XZ
+; public: __cdecl ODBC_CONNECTION::~ODBC_CONNECTION(void) __ptr64
+??1ODBC_CONNECTION@@QEAA@XZ
+; public: __cdecl ODBC_PARAMETER::~ODBC_PARAMETER(void) __ptr64
+??1ODBC_PARAMETER@@QEAA@XZ
+; public: __cdecl ODBC_STATEMENT::~ODBC_STATEMENT(void) __ptr64
+??1ODBC_STATEMENT@@QEAA@XZ
+; public: __cdecl RefBlob::~RefBlob(void) __ptr64
+??1RefBlob@@QEAA@XZ
+; public: __cdecl STORE_CHANGE_NOTIFIER::~STORE_CHANGE_NOTIFIER(void) __ptr64
+??1STORE_CHANGE_NOTIFIER@@QEAA@XZ
+; public: __cdecl TCP_AUTHENT::~TCP_AUTHENT(void) __ptr64
+??1TCP_AUTHENT@@QEAA@XZ
+; public: class HASH_TABLE & __ptr64 __cdecl HASH_TABLE::operator=(class HASH_TABLE const & __ptr64) __ptr64
+??4HASH_TABLE@@QEAAAEAV0@AEBV0@@Z
+; public: class HT_ELEMENT & __ptr64 __cdecl HT_ELEMENT::operator=(class HT_ELEMENT const & __ptr64) __ptr64
+??4HT_ELEMENT@@QEAAAEAV0@AEBV0@@Z
+; public: class IIS_CTL & __ptr64 __cdecl IIS_CTL::operator=(class IIS_CTL const & __ptr64) __ptr64
+??4IIS_CTL@@QEAAAEAV0@AEBV0@@Z
+; public: class IIS_SERVER_CERT & __ptr64 __cdecl IIS_SERVER_CERT::operator=(class IIS_SERVER_CERT const & __ptr64) __ptr64
+??4IIS_SERVER_CERT@@QEAAAEAV0@AEBV0@@Z
+; public: class IIS_SERVICE & __ptr64 __cdecl IIS_SERVICE::operator=(class IIS_SERVICE const & __ptr64) __ptr64
+??4IIS_SERVICE@@QEAAAEAV0@AEBV0@@Z
+; public: class IIS_SSL_INFO & __ptr64 __cdecl IIS_SSL_INFO::operator=(class IIS_SSL_INFO const & __ptr64) __ptr64
+??4IIS_SSL_INFO@@QEAAAEAV0@AEBV0@@Z
+; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
+??4LOGGING@@QEAAAEAV0@AEBV0@@Z
+; public: class TSVC_CACHE & __ptr64 __cdecl TSVC_CACHE::operator=(class TSVC_CACHE const & __ptr64) __ptr64
+??4TSVC_CACHE@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl INET_PARSER::operator+=(int) __ptr64
+??YINET_PARSER@@QEAAXH@Z
+; const  HASH_TABLE::`vftable'
+??_7HASH_TABLE@@6B@
+; const  HT_ELEMENT::`vftable'
+??_7HT_ELEMENT@@6B@
+; const  IIS_SERVER_INSTANCE::`vftable'
+??_7IIS_SERVER_INSTANCE@@6B@
+; const  IIS_SERVICE::`vftable'
+??_7IIS_SERVICE@@6B@
+; public: int __cdecl TS_OPEN_FILE_INFO::AccessCheck(void * __ptr64,int) __ptr64
+?AccessCheck@TS_OPEN_FILE_INFO@@QEAAHPEAXH@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::AcquireFastLock(void) __ptr64
+?AcquireFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
+; private: static void __cdecl IIS_SERVICE::AcquireGlobalLock(void)
+?AcquireGlobalLock@IIS_SERVICE@@CAXXZ
+; public: void __cdecl IIS_SERVICE::AcquireServiceLock(int) __ptr64
+?AcquireServiceLock@IIS_SERVICE@@QEAAXH@Z
+; private: void __cdecl LOGGING::ActOnChange(void) __ptr64
+?ActOnChange@LOGGING@@AEAAXXZ
+; public: int __cdecl LOGGING::ActivateLogging(char const * __ptr64,unsigned long,char const * __ptr64,void * __ptr64) __ptr64
+?ActivateLogging@LOGGING@@QEAAHPEBDK0PEAX@Z
+; protected: int __cdecl IIS_SERVICE::AddInstanceInfoHelper(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?AddInstanceInfoHelper@IIS_SERVICE@@IEAAHPEAVIIS_SERVER_INSTANCE@@@Z
+; private: int __cdecl MIME_MAP::AddMimeMapEntry(class MIME_MAP_ENTRY * __ptr64) __ptr64
+?AddMimeMapEntry@MIME_MAP@@AEAAHPEAVMIME_MAP_ENTRY@@@Z
+; public: int __cdecl MB::AddObject(char const * __ptr64) __ptr64
+?AddObject@MB@@QEAAHPEBD@Z
+; public: void __cdecl RefBlob::AddRef(void) __ptr64
+?AddRef@RefBlob@@QEAAXXZ
+; private: static void __cdecl IIS_VROOT_TABLE::AddRefRecord(void const * __ptr64,int)
+?AddRefRecord@IIS_VROOT_TABLE@@CAXPEBXH@Z
+; public: int __cdecl IIS_SERVICE::AddServerInstance(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?AddServerInstance@IIS_SERVICE@@QEAAHPEAVIIS_SERVER_INSTANCE@@@Z
+; public: int __cdecl IIS_VROOT_TABLE::AddVirtualRoot(char * __ptr64,char * __ptr64,unsigned long,char * __ptr64,void * __ptr64,unsigned long,int) __ptr64
+?AddVirtualRoot@IIS_VROOT_TABLE@@QEAAHPEAD0K0PEAXKH@Z
+; public: void __cdecl IIS_SERVICE::AdvertiseServiceInformationInMB(void) __ptr64
+?AdvertiseServiceInformationInMB@IIS_SERVICE@@QEAAXXZ
+; public: class ODBC_STATEMENT * __ptr64 __cdecl ODBC_CONNECTION::AllocStatement(void) __ptr64
+?AllocStatement@ODBC_CONNECTION@@QEAAPEAVODBC_STATEMENT@@XZ
+; public: int __cdecl INET_PARSER::AppendToEOL(class STR * __ptr64,int) __ptr64
+?AppendToEOL@INET_PARSER@@QEAAHPEAVSTR@@H@Z
+; public: int __cdecl IIS_SERVICE::AssociateInstance(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?AssociateInstance@IIS_SERVICE@@QEAAHPEAVIIS_SERVER_INSTANCE@@@Z
+; protected: char * __ptr64 __cdecl INET_PARSER::AuxEatNonWhite(char) __ptr64
+?AuxEatNonWhite@INET_PARSER@@IEAAPEADD@Z
+; protected: char * __ptr64 __cdecl INET_PARSER::AuxEatWhite(void) __ptr64
+?AuxEatWhite@INET_PARSER@@IEAAPEADXZ
+; protected: char * __ptr64 __cdecl INET_PARSER::AuxSkipTo(char) __ptr64
+?AuxSkipTo@INET_PARSER@@IEAAPEADD@Z
+; public: short __cdecl ODBC_PARAMETER::Bind(void * __ptr64) __ptr64
+?Bind@ODBC_PARAMETER@@QEAAFPEAX@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::BindInstance(void) __ptr64
+?BindInstance@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: int __cdecl ODBC_STATEMENT::BindParameter(class ODBC_PARAMETER * __ptr64) __ptr64
+?BindParameter@ODBC_STATEMENT@@QEAAHPEAVODBC_PARAMETER@@@Z
+; int __cdecl BuildAnonymousAcctDesc(class TCP_AUTHENT_INFO * __ptr64)
+?BuildAnonymousAcctDesc@@YAHPEAVTCP_AUTHENT_INFO@@@Z
+; public: int __cdecl COMMON_METADATA::BuildApplPhysicalPath(class MB * __ptr64,class STR * __ptr64)const  __ptr64
+?BuildApplPhysicalPath@COMMON_METADATA@@QEBAHPEAVMB@@PEAVSTR@@@Z
+; public: int __cdecl COMMON_METADATA::BuildPhysicalPath(char * __ptr64,class STR * __ptr64) __ptr64
+?BuildPhysicalPath@COMMON_METADATA@@QEAAHPEADPEAVSTR@@@Z
+; public: int __cdecl COMMON_METADATA::BuildPhysicalPathWithAltRoot(char * __ptr64,class STR * __ptr64,char const * __ptr64) __ptr64
+?BuildPhysicalPathWithAltRoot@COMMON_METADATA@@QEAAHPEADPEAVSTR@@PEBD@Z
+; public: int __cdecl IIS_SSL_INFO::CTLContainsCert(struct _CERT_CONTEXT const * __ptr64,int * __ptr64) __ptr64
+?CTLContainsCert@IIS_SSL_INFO@@QEAAHPEBU_CERT_CONTEXT@@PEAH@Z
+; private: static unsigned long __cdecl IIS_VROOT_TABLE::CalcKeyHash(unsigned __int64)
+?CalcKeyHash@IIS_VROOT_TABLE@@CAK_K@Z
+; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64)const  __ptr64
+?CalculateHash@HASH_TABLE@@UEBAKPEBD@Z
+; public: int __cdecl IIS_SERVICE::CheckAndReference(void) __ptr64
+?CheckAndReference@IIS_SERVICE@@QEAAHXZ
+; private: int __cdecl IIS_SSL_INFO::CheckCAPIInfo(int * __ptr64,int * __ptr64,char * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?CheckCAPIInfo@IIS_SSL_INFO@@AEAAHPEAH0PEADPEAKK@Z
+; unsigned long __cdecl CheckIfShortFileName(unsigned char const * __ptr64,void * __ptr64,int * __ptr64)
+?CheckIfShortFileName@@YAKPEBEPEAXPEAH@Z
+; private: int __cdecl IIS_SSL_INFO::CheckSignature(void) __ptr64
+?CheckSignature@IIS_SSL_INFO@@AEAAHXZ
+; public: static void __cdecl IIS_SERVER_INSTANCE::Cleanup(void)
+?Cleanup@IIS_SERVER_INSTANCE@@SAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::CleanupAfterConstructorFailure(void) __ptr64
+?CleanupAfterConstructorFailure@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: static int __cdecl IIS_SERVICE::CleanupMetabaseComObject(void)
+?CleanupMetabaseComObject@IIS_SERVICE@@SAHXZ
+; public: static void __cdecl IIS_SERVICE::CleanupServiceInfo(void)
+?CleanupServiceInfo@IIS_SERVICE@@SAXXZ
+; public: static int __cdecl IIS_SERVICE::CleanupServiceRpc(void)
+?CleanupServiceRpc@IIS_SERVICE@@SAHXZ
+; public: unsigned long __cdecl IIS_SERVICE::CleanupSockets(void) __ptr64
+?CleanupSockets@IIS_SERVICE@@QEAAKXZ
+; public: void __cdecl MIME_MAP::CleanupThis(void) __ptr64
+?CleanupThis@MIME_MAP@@QEAAXXZ
+; public: void __cdecl TS_DIRECTORY_INFO::CleanupThis(void) __ptr64
+?CleanupThis@TS_DIRECTORY_INFO@@QEAAXXZ
+; public: int __cdecl IIS_SERVICE::ClearInstanceStatistics(unsigned long) __ptr64
+?ClearInstanceStatistics@IIS_SERVICE@@QEAAHK@Z
+; public: int __cdecl TCP_AUTHENT::ClearTextLogon(char * __ptr64,char * __ptr64,int * __ptr64,int * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,class TCP_AUTHENT_INFO * __ptr64,char * __ptr64) __ptr64
+?ClearTextLogon@TCP_AUTHENT@@QEAAHPEAD0PEAH1PEAVIIS_SERVER_INSTANCE@@PEAVTCP_AUTHENT_INFO@@0@Z
+; public: int __cdecl MB::Close(void) __ptr64
+?Close@MB@@QEAAHXZ
+; public: int __cdecl ODBC_CONNECTION::Close(void) __ptr64
+?Close@ODBC_CONNECTION@@QEAAHXZ
+; public: void __cdecl TS_OPEN_FILE_INFO::CloseHandle(void) __ptr64
+?CloseHandle@TS_OPEN_FILE_INFO@@QEAAXXZ
+; public: virtual int __cdecl IIS_SERVER_INSTANCE::CloseInstance(void) __ptr64
+?CloseInstance@IIS_SERVER_INSTANCE@@UEAAHXZ
+; public: void __cdecl IIS_SERVICE::CloseService(void) __ptr64
+?CloseService@IIS_SERVICE@@QEAAXXZ
+; public: int __cdecl IIS_SERVER_BINDING::Compare(unsigned long,unsigned short,char const * __ptr64) __ptr64
+?Compare@IIS_SERVER_BINDING@@QEAAHKGPEBD@Z
+; public: unsigned long __cdecl IIS_SERVER_BINDING::Compare(char const * __ptr64,int * __ptr64) __ptr64
+?Compare@IIS_SERVER_BINDING@@QEAAKPEBDPEAH@Z
+; public: virtual unsigned long __cdecl IIS_SERVER_INSTANCE::ContinueInstance(void) __ptr64
+?ContinueInstance@IIS_SERVER_INSTANCE@@UEAAKXZ
+; private: void __cdecl IIS_SERVICE::ContinueService(void) __ptr64
+?ContinueService@IIS_SERVICE@@AEAAXXZ
+; public: int __cdecl TCP_AUTHENT::Converse(void * __ptr64,unsigned long,class BUFFER * __ptr64,unsigned long * __ptr64,int * __ptr64,class TCP_AUTHENT_INFO * __ptr64,char * __ptr64,char * __ptr64,char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?Converse@TCP_AUTHENT@@QEAAHPEAXKPEAVBUFFER@@PEAKPEAHPEAVTCP_AUTHENT_INFO@@PEAD55PEAVIIS_SERVER_INSTANCE@@@Z
+; public: int __cdecl TCP_AUTHENT::ConverseEx(struct _SecBufferDesc * __ptr64,class BUFFER * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,int * __ptr64,class TCP_AUTHENT_INFO * __ptr64,char * __ptr64,char * __ptr64,char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?ConverseEx@TCP_AUTHENT@@QEAAHPEAU_SecBufferDesc@@PEAVBUFFER@@1PEAKPEAHPEAVTCP_AUTHENT_INFO@@PEAD55PEAVIIS_SERVER_INSTANCE@@@Z
+; public: int __cdecl INET_PARSER::CopyToEOL(class STR * __ptr64,int) __ptr64
+?CopyToEOL@INET_PARSER@@QEAAHPEAVSTR@@H@Z
+; public: int __cdecl INET_PARSER::CopyToken(class STR * __ptr64,int) __ptr64
+?CopyToken@INET_PARSER@@QEAAHPEAVSTR@@H@Z
+; public: int __cdecl ODBC_PARAMETER::CopyValue(unsigned long) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHK@Z
+; public: int __cdecl ODBC_PARAMETER::CopyValue(struct _SYSTEMTIME * __ptr64) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHPEAU_SYSTEMTIME@@@Z
+; public: int __cdecl ODBC_PARAMETER::CopyValue(void * __ptr64,long) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHPEAXJ@Z
+; public: int __cdecl ODBC_PARAMETER::CopyValue(char const * __ptr64) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHPEBD@Z
+; public: int __cdecl ODBC_PARAMETER::CopyValue(unsigned short const * __ptr64) __ptr64
+?CopyValue@ODBC_PARAMETER@@QEAAHPEBG@Z
+; private: int __cdecl MIME_MAP::CreateAndAddMimeMapEntry(char const * __ptr64,char const * __ptr64) __ptr64
+?CreateAndAddMimeMapEntry@MIME_MAP@@AEAAHPEBD0@Z
+; private: int __cdecl IIS_SSL_INFO::CreateEngineRootStore(void) __ptr64
+?CreateEngineRootStore@IIS_SSL_INFO@@AEAAHXZ
+; private: int __cdecl IIS_SSL_INFO::CreateEngineTrustStore(void) __ptr64
+?CreateEngineTrustStore@IIS_SSL_INFO@@AEAAHXZ
+; private: unsigned long __cdecl IIS_SERVER_INSTANCE::CreateNewBinding(unsigned long,unsigned short,char const * __ptr64,int,int,class IIS_SERVER_BINDING * __ptr64 * __ptr64) __ptr64
+?CreateNewBinding@IIS_SERVER_INSTANCE@@AEAAKKGPEBDHHPEAPEAVIIS_SERVER_BINDING@@@Z
+; public: static class IIS_SSL_INFO * __ptr64 __cdecl IIS_SSL_INFO::CreateSSLInfo(char * __ptr64,struct IMDCOM * __ptr64)
+?CreateSSLInfo@IIS_SSL_INFO@@SAPEAV1@PEADPEAUIMDCOM@@@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::DecrementCurrentConnections(void) __ptr64
+?DecrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: static void __cdecl IIS_SERVICE::DeferredGlobalConfig(unsigned long,struct _MD_CHANGE_OBJECT_A * __ptr64 const)
+?DeferredGlobalConfig@IIS_SERVICE@@SAXKQEAU_MD_CHANGE_OBJECT_A@@@Z
+; public: static void __cdecl IIS_SERVICE::DeferredMDChangeNotify(unsigned long,struct _MD_CHANGE_OBJECT_A * __ptr64 const)
+?DeferredMDChangeNotify@IIS_SERVICE@@SAXKQEAU_MD_CHANGE_OBJECT_A@@@Z
+; public: unsigned long __cdecl IIS_SERVICE::DelayCurrentServiceCtrlOperation(unsigned long) __ptr64
+?DelayCurrentServiceCtrlOperation@IIS_SERVICE@@QEAAKK@Z
+; public: int __cdecl TCP_AUTHENT::DeleteCachedTokenOnReset(void) __ptr64
+?DeleteCachedTokenOnReset@TCP_AUTHENT@@QEAAHXZ
+; public: int __cdecl MB::DeleteData(char const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
+?DeleteData@MB@@QEAAHPEBDKKK@Z
+; public: int __cdecl IIS_SERVICE::DeleteInstanceInfo(unsigned long) __ptr64
+?DeleteInstanceInfo@IIS_SERVICE@@QEAAHK@Z
+; public: int __cdecl MB::DeleteObject(char const * __ptr64) __ptr64
+?DeleteObject@MB@@QEAAHPEBD@Z
+; private: void __cdecl IIS_VROOT_TABLE::DeleteVRootEntry(void * __ptr64) __ptr64
+?DeleteVRootEntry@IIS_VROOT_TABLE@@AEAAXPEAX@Z
+; public: void __cdecl IIS_ENDPOINT::Dereference(void) __ptr64
+?Dereference@IIS_ENDPOINT@@QEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::Dereference(void) __ptr64
+?Dereference@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVICE::Dereference(void) __ptr64
+?Dereference@IIS_SERVICE@@QEAAXXZ
+; public: virtual long __cdecl MIME_MAP_ENTRY::Dereference(void) __ptr64
+?Dereference@MIME_MAP_ENTRY@@UEAAJXZ
+; public: void __cdecl IIS_SERVICE::DestroyAllServerInstances(void) __ptr64
+?DestroyAllServerInstances@IIS_SERVICE@@QEAAXXZ
+; public: int __cdecl IIS_SERVICE::DisassociateInstance(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?DisassociateInstance@IIS_SERVICE@@QEAAHPEAVIIS_SERVER_INSTANCE@@@Z
+; public: int __cdecl IIS_SERVICE::DisconnectInstanceUser(unsigned long,unsigned long) __ptr64
+?DisconnectInstanceUser@IIS_SERVICE@@QEAAHKK@Z
+; public: static unsigned long __cdecl ODBC_CONNECTION::DisplaySize(short,unsigned long)
+?DisplaySize@ODBC_CONNECTION@@SAKFK@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::DoServerNameCheck(void)const  __ptr64
+?DoServerNameCheck@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::DoStartInstance(void) __ptr64
+?DoStartInstance@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: char * __ptr64 __cdecl INET_PARSER::EatNonWhite(void) __ptr64
+?EatNonWhite@INET_PARSER@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl INET_PARSER::EatWhite(void) __ptr64
+?EatWhite@INET_PARSER@@QEAAPEADXZ
+; public: int __cdecl TCP_AUTHENT::EnumAuthPackages(class BUFFER * __ptr64) __ptr64
+?EnumAuthPackages@TCP_AUTHENT@@QEAAHPEAVBUFFER@@@Z
+; public: int __cdecl MB::EnumObjects(char const * __ptr64,char * __ptr64,unsigned long) __ptr64
+?EnumObjects@MB@@QEAAHPEBDPEADK@Z
+; public: int __cdecl IIS_SERVICE::EnumServiceInstances(void * __ptr64,void * __ptr64,int (__cdecl*)(void * __ptr64,void * __ptr64,class IIS_SERVER_INSTANCE * __ptr64)) __ptr64
+?EnumServiceInstances@IIS_SERVICE@@QEAAHPEAX0P6AH00PEAVIIS_SERVER_INSTANCE@@@Z@Z
+; public: int __cdecl IIS_SERVICE::EnumerateInstanceUsers(unsigned long,unsigned long * __ptr64,char * __ptr64 * __ptr64) __ptr64
+?EnumerateInstanceUsers@IIS_SERVICE@@QEAAHKPEAKPEAPEAD@Z
+; private: static bool __cdecl IIS_VROOT_TABLE::EqualKeys(unsigned __int64,unsigned __int64)
+?EqualKeys@IIS_VROOT_TABLE@@CA_N_K0@Z
+; public: int __cdecl ODBC_STATEMENT::ExecDirect(char const * __ptr64,unsigned long) __ptr64
+?ExecDirect@ODBC_STATEMENT@@QEAAHPEBDK@Z
+; public: int __cdecl ODBC_STATEMENT::ExecDirect(unsigned short const * __ptr64,unsigned long) __ptr64
+?ExecDirect@ODBC_STATEMENT@@QEAAHPEBGK@Z
+; public: int __cdecl ODBC_STATEMENT::ExecuteStatement(void) __ptr64
+?ExecuteStatement@ODBC_STATEMENT@@QEAAHXZ
+; private: static unsigned __int64 const  __cdecl IIS_VROOT_TABLE::ExtractKey(void const * __ptr64)
+?ExtractKey@IIS_VROOT_TABLE@@CA?B_KPEBX@Z
+; public: int __cdecl TS_DIRECTORY_INFO::FilterFiles(int (__cdecl*)(struct _WIN32_FIND_DATAA const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
+?FilterFiles@TS_DIRECTORY_INFO@@QEAAHP6AHPEBU_WIN32_FIND_DATAA@@PEAX@Z1@Z
+; public: class IIS_ENDPOINT * __ptr64 __cdecl IIS_SERVICE::FindAndReferenceEndpoint(unsigned short,unsigned long,int,int,int) __ptr64
+?FindAndReferenceEndpoint@IIS_SERVICE@@QEAAPEAVIIS_ENDPOINT@@GKHHH@Z
+; public: class IIS_SERVER_INSTANCE * __ptr64 __cdecl IIS_ENDPOINT::FindAndReferenceInstance(char const * __ptr64,unsigned long,int * __ptr64) __ptr64
+?FindAndReferenceInstance@IIS_ENDPOINT@@QEAAPEAVIIS_SERVER_INSTANCE@@PEBDKPEAH@Z
+; public: static class IIS_SERVICE * __ptr64 __cdecl IIS_SERVICE::FindFromServiceInfoList(unsigned long)
+?FindFromServiceInfoList@IIS_SERVICE@@SAPEAV1@K@Z
+; public: class IIS_SERVER_INSTANCE * __ptr64 __cdecl IIS_SERVICE::FindIISInstance(unsigned long) __ptr64
+?FindIISInstance@IIS_SERVICE@@QEAAPEAVIIS_SERVER_INSTANCE@@K@Z
+; private: int __cdecl IIS_SSL_INFO::FindTopOfChain(struct _CERT_CONTEXT const * __ptr64,struct _CERT_CONTEXT const * __ptr64 * __ptr64) __ptr64
+?FindTopOfChain@IIS_SSL_INFO@@AEAAHPEBU_CERT_CONTEXT@@PEAPEBU2@@Z
+; public: virtual int __cdecl COMMON_METADATA::FinishPrivateProperties(class BUFFER * __ptr64,unsigned long,int) __ptr64
+?FinishPrivateProperties@COMMON_METADATA@@UEAAHPEAVBUFFER@@KH@Z
+; public: unsigned long __cdecl HASH_TABLE::FlushElements(void) __ptr64
+?FlushElements@HASH_TABLE@@QEAAKXZ
+; public: void __cdecl ODBC_STATEMENT::FreeColumnMemory(void) __ptr64
+?FreeColumnMemory@ODBC_STATEMENT@@QEAAXXZ
+; public: void __cdecl COMMON_METADATA::FreeMdTag(unsigned long) __ptr64
+?FreeMdTag@COMMON_METADATA@@QEAAXK@Z
+; public: int __cdecl MB::GetAll(char const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetAll@MB@@QEAAHPEBDKKPEAVBUFFER@@PEAK2@Z
+; public: class IIS_CTL * __ptr64 __cdecl IIS_SSL_INFO::GetCTL(void) __ptr64
+?GetCTL@IIS_SSL_INFO@@QEAAPEAVIIS_CTL@@XZ
+; public: int __cdecl IIS_SSL_INFO::GetCertChainEngine(void * __ptr64 * __ptr64) __ptr64
+?GetCertChainEngine@IIS_SSL_INFO@@QEAAHPEAPEAX@Z
+; public: class IIS_SERVER_CERT * __ptr64 __cdecl IIS_SSL_INFO::GetCertificate(void) __ptr64
+?GetCertificate@IIS_SSL_INFO@@QEAAPEAVIIS_SERVER_CERT@@XZ
+; public: int __cdecl TCP_AUTHENT::GetClientCertBlob(unsigned long,unsigned long * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetClientCertBlob@TCP_AUTHENT@@QEAAHKPEAKPEAE00@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::GetCommonConfig(char * __ptr64,unsigned long) __ptr64
+?GetCommonConfig@IIS_SERVER_INSTANCE@@QEAAHPEADK@Z
+; public: unsigned long __cdecl LOGGING::GetConfig(struct _INETLOG_CONFIGURATIONA * __ptr64) __ptr64
+?GetConfig@LOGGING@@QEAAKPEAU_INETLOG_CONFIGURATIONA@@@Z
+; public: int __cdecl IIS_CTL::GetContainedCertificates(struct _CERT_CONTEXT const * __ptr64 * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetContainedCertificates@IIS_CTL@@QEAAHPEAPEAPEBU_CERT_CONTEXT@@PEAK1@Z
+; public: int __cdecl MB::GetData(char const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?GetData@MB@@QEAAHPEBDKKKPEAXPEAKK@Z
+; public: int __cdecl MB::GetDataPaths(char const * __ptr64,unsigned long,unsigned long,class BUFFER * __ptr64) __ptr64
+?GetDataPaths@MB@@QEAAHPEBDKKPEAVBUFFER@@@Z
+; public: int __cdecl MB::GetDataSetNumber(char const * __ptr64,unsigned long * __ptr64) __ptr64
+?GetDataSetNumber@MB@@QEAAHPEBDPEAK@Z
+; public: int __cdecl TS_DIRECTORY_INFO::GetDirectoryListingA(char const * __ptr64,void * __ptr64) __ptr64
+?GetDirectoryListingA@TS_DIRECTORY_INFO@@QEAAHPEBDPEAX@Z
+; public: virtual int __cdecl IIS_SERVICE::GetGlobalStatistics(unsigned long,char * __ptr64 * __ptr64) __ptr64
+?GetGlobalStatistics@IIS_SERVICE@@UEAAHKPEAPEAD@Z
+; public: int __cdecl ODBC_CONNECTION::GetInfo(unsigned long,void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?GetInfo@ODBC_CONNECTION@@QEAAHKPEAXKPEAK@Z
+; private: int __cdecl IIS_SERVICE::GetInstanceConfiguration(unsigned long,unsigned long,int,unsigned long * __ptr64,struct _INET_INFO_CONFIG_INFO * __ptr64 * __ptr64) __ptr64
+?GetInstanceConfiguration@IIS_SERVICE@@AEAAHKKHPEAKPEAPEAU_INET_INFO_CONFIG_INFO@@@Z
+; public: unsigned long __cdecl TSVC_CACHE::GetInstanceId(void)const  __ptr64
+?GetInstanceId@TSVC_CACHE@@QEBAKXZ
+; public: int __cdecl IIS_SERVICE::GetInstanceStatistics(unsigned long,unsigned long,char * __ptr64 * __ptr64) __ptr64
+?GetInstanceStatistics@IIS_SERVICE@@QEAAHKKPEAPEAD@Z
+; public: int __cdecl ODBC_CONNECTION::GetLastErrorText(class STR * __ptr64,void * __ptr64,short)const  __ptr64
+?GetLastErrorText@ODBC_CONNECTION@@QEBAHPEAVSTR@@PEAXF@Z
+; public: int __cdecl ODBC_CONNECTION::GetLastErrorTextAsHtml(class STR * __ptr64,void * __ptr64,short)const  __ptr64
+?GetLastErrorTextAsHtml@ODBC_CONNECTION@@QEBAHPEAVSTR@@PEAXF@Z
+; public: void __cdecl IIS_SERVICE::GetMDInstancePath(unsigned long,char * __ptr64) __ptr64
+?GetMDInstancePath@IIS_SERVICE@@QEAAXKPEAD@Z
+; public: void * __ptr64 __cdecl IIS_CTL::GetMemoryStore(void) __ptr64
+?GetMemoryStore@IIS_CTL@@QEAAPEAXXZ
+; public: int __cdecl MB::GetMultisz(char const * __ptr64,unsigned long,unsigned long,class MULTISZ * __ptr64,unsigned long) __ptr64
+?GetMultisz@MB@@QEAAHPEBDKKPEAVMULTISZ@@K@Z
+; public: unsigned long __cdecl IIS_SERVICE::GetNewInstanceId(void) __ptr64
+?GetNewInstanceId@IIS_SERVICE@@QEAAKXZ
+; private: int __cdecl IIS_SSL_INFO::GetRootStoreCertificates(struct _CERT_CONTEXT const * __ptr64 * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?GetRootStoreCertificates@IIS_SSL_INFO@@AEAAHPEAPEAPEBU_CERT_CONTEXT@@PEAK@Z
+; public: void * __ptr64 __cdecl TSVC_CACHE::GetServerInstance(void)const  __ptr64
+?GetServerInstance@TSVC_CACHE@@QEBAPEAXXZ
+; public: static int __cdecl IIS_SERVICE::GetServiceAdminInfo(unsigned long,unsigned long,unsigned long,int,unsigned long * __ptr64,struct _INET_INFO_CONFIG_INFO * __ptr64 * __ptr64)
+?GetServiceAdminInfo@IIS_SERVICE@@SAHKKKHPEAKPEAPEAU_INET_INFO_CONFIG_INFO@@@Z
+; private: virtual unsigned long __cdecl IIS_SERVICE::GetServiceConfigInfoSize(unsigned long) __ptr64
+?GetServiceConfigInfoSize@IIS_SERVICE@@EEAAKK@Z
+; public: unsigned long __cdecl TSVC_CACHE::GetServiceId(void)const  __ptr64
+?GetServiceId@TSVC_CACHE@@QEBAKXZ
+; public: static int __cdecl IIS_SERVICE::GetServiceSiteInfo(unsigned long,struct _INET_INFO_SITE_LIST * __ptr64 * __ptr64)
+?GetServiceSiteInfo@IIS_SERVICE@@SAHKPEAPEAU_INET_INFO_SITE_LIST@@@Z
+; public: int __cdecl MB::GetStr(char const * __ptr64,unsigned long,unsigned long,class STR * __ptr64,unsigned long,char const * __ptr64) __ptr64
+?GetStr@MB@@QEAAHPEBDKKPEAVSTR@@K0@Z
+; public: int __cdecl MB::GetSystemChangeNumber(unsigned long * __ptr64) __ptr64
+?GetSystemChangeNumber@MB@@QEAAHPEAK@Z
+; public: class CACHED_TOKEN * __ptr64 __cdecl TCP_AUTHENT::GetToken(void)const  __ptr64
+?GetToken@TCP_AUTHENT@@QEBAPEAVCACHED_TOKEN@@XZ
+; public: int __cdecl IIS_SSL_INFO::GetTrustedIssuerCerts(struct _CERT_CONTEXT const * __ptr64 * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?GetTrustedIssuerCerts@IIS_SSL_INFO@@QEAAHPEAPEAPEBU_CERT_CONTEXT@@PEAK@Z
+; public: int __cdecl IIS_SSL_INFO::GetTrustedIssuerStore(void * __ptr64 * __ptr64) __ptr64
+?GetTrustedIssuerStore@IIS_SSL_INFO@@QEAAHPEAPEAX@Z
+; public: class TSVC_CACHE & __ptr64 __cdecl IIS_SERVER_INSTANCE::GetTsvcCache(void) __ptr64
+?GetTsvcCache@IIS_SERVER_INSTANCE@@QEAAAEAVTSVC_CACHE@@XZ
+; public: void * __ptr64 __cdecl TCP_AUTHENT::GetUserHandle(void) __ptr64
+?GetUserHandle@TCP_AUTHENT@@QEAAPEAXXZ
+; public: virtual int __cdecl COMMON_METADATA::HandlePrivateProperty(char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,struct _METADATA_GETALL_INTERNAL_RECORD * __ptr64,void * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,struct _METADATA_ERROR_INFO * __ptr64) __ptr64
+?HandlePrivateProperty@COMMON_METADATA@@UEAAHPEADPEAVIIS_SERVER_INSTANCE@@PEAU_METADATA_GETALL_INTERNAL_RECORD@@PEAXPEAVBUFFER@@PEAKPEAU_METADATA_ERROR_INFO@@@Z
+; private: int __cdecl IIS_SSL_INFO::HasCTL(int * __ptr64,int * __ptr64) __ptr64
+?HasCTL@IIS_SSL_INFO@@AEAAHPEAH0@Z
+; private: int __cdecl IIS_SSL_INFO::HasCertificate(int * __ptr64,int * __ptr64) __ptr64
+?HasCertificate@IIS_SSL_INFO@@AEAAHPEAH0@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::HasNormalBindings(void)const  __ptr64
+?HasNormalBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::HasSecureBindings(void)const  __ptr64
+?HasSecureBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
+; int __cdecl IISDuplicateTokenEx(void * __ptr64,unsigned long,struct _SECURITY_ATTRIBUTES * __ptr64,enum _SECURITY_IMPERSONATION_LEVEL,enum _TOKEN_TYPE,void * __ptr64 * __ptr64)
+?IISDuplicateTokenEx@@YAHPEAXKPEAU_SECURITY_ATTRIBUTES@@W4_SECURITY_IMPERSONATION_LEVEL@@W4_TOKEN_TYPE@@PEAPEAX@Z
+; public: int __cdecl TCP_AUTHENT::Impersonate(void) __ptr64
+?Impersonate@TCP_AUTHENT@@QEAAHXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::IncrementCurrentConnections(void) __ptr64
+?IncrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVICE::IndicateShutdownComplete(void) __ptr64
+?IndicateShutdownComplete@IIS_SERVICE@@QEAAXXZ
+; public: int __cdecl RefBlob::Init(void * __ptr64,unsigned long,void (__cdecl*)(void * __ptr64)) __ptr64
+?Init@RefBlob@@QEAAHPEAXKP6AX0@Z@Z
+; private: unsigned long __cdecl MIME_MAP::InitFromMetabase(void) __ptr64
+?InitFromMetabase@MIME_MAP@@AEAAKXZ
+; private: unsigned long __cdecl MIME_MAP::InitFromRegistryChicagoStyle(void) __ptr64
+?InitFromRegistryChicagoStyle@MIME_MAP@@AEAAKXZ
+; public: unsigned long __cdecl MIME_MAP::InitMimeMap(void) __ptr64
+?InitMimeMap@MIME_MAP@@QEAAKXZ
+; public: static int __cdecl IIS_SERVER_INSTANCE::Initialize(void)
+?Initialize@IIS_SERVER_INSTANCE@@SAHXZ
+; public: static unsigned long __cdecl LOGGING::Initialize(void)
+?Initialize@LOGGING@@SAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::InitializeDiscovery(void) __ptr64
+?InitializeDiscovery@IIS_SERVICE@@QEAAKXZ
+; public: static int __cdecl IIS_SERVICE::InitializeMetabaseComObject(void)
+?InitializeMetabaseComObject@IIS_SERVICE@@SAHXZ
+; public: static int __cdecl IIS_SERVICE::InitializeServiceInfo(void)
+?InitializeServiceInfo@IIS_SERVICE@@SAHXZ
+; public: static int __cdecl IIS_SERVICE::InitializeServiceRpc(char const * __ptr64,void * __ptr64)
+?InitializeServiceRpc@IIS_SERVICE@@SAHPEBDPEAX@Z
+; public: unsigned long __cdecl IIS_SERVICE::InitializeSockets(void) __ptr64
+?InitializeSockets@IIS_SERVICE@@QEAAKXZ
+; private: void __cdecl IIS_SERVICE::InterrogateService(void) __ptr64
+?InterrogateService@IIS_SERVICE@@AEAAXXZ
+; public: int __cdecl IIS_SERVICE::IsActive(void)const  __ptr64
+?IsActive@IIS_SERVICE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsAutoStart(void)const  __ptr64
+?IsAutoStart@IIS_SERVER_INSTANCE@@QEBAHXZ
+; private: int __cdecl IIS_SERVER_INSTANCE::IsBindingInMultiSz(class IIS_SERVER_BINDING * __ptr64,class MULTISZ const & __ptr64) __ptr64
+?IsBindingInMultiSz@IIS_SERVER_INSTANCE@@AEAAHPEAVIIS_SERVER_BINDING@@AEBVMULTISZ@@@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::IsClusterEnabled(void)const  __ptr64
+?IsClusterEnabled@IIS_SERVER_INSTANCE@@QEBAHXZ
+; private: int __cdecl IIS_SSL_INFO::IsDefaultCTL(void) __ptr64
+?IsDefaultCTL@IIS_SSL_INFO@@AEAAHXZ
+; public: int __cdecl IIS_SSL_INFO::IsDefaultCertificate(void) __ptr64
+?IsDefaultCertificate@IIS_SSL_INFO@@QEAAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsDownLevelInstance(void)const  __ptr64
+?IsDownLevelInstance@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_CERT::IsFortezzaCert(void) __ptr64
+?IsFortezzaCert@IIS_SERVER_CERT@@QEAAHXZ
+; public: int __cdecl TCP_AUTHENT::IsForwardable(void)const  __ptr64
+?IsForwardable@TCP_AUTHENT@@QEBAHXZ
+; public: int __cdecl TCP_AUTHENT::IsGuest(int) __ptr64
+?IsGuest@TCP_AUTHENT@@QEAAHH@Z
+; private: int __cdecl IIS_SERVER_INSTANCE::IsInCurrentBindingList(struct _LIST_ENTRY * __ptr64,unsigned long,unsigned short,char const * __ptr64) __ptr64
+?IsInCurrentBindingList@IIS_SERVER_INSTANCE@@AEAAHPEAU_LIST_ENTRY@@KGPEBD@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::IsLoggingEnabledA(void)const  __ptr64
+?IsLoggingEnabledA@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: virtual int __cdecl MIME_MAP_ENTRY::IsMatch(char const * __ptr64,unsigned long)const  __ptr64
+?IsMatch@MIME_MAP_ENTRY@@UEBAHPEBDK@Z
+; public: int __cdecl IIS_SERVICE::IsMultiInstance(void)const  __ptr64
+?IsMultiInstance@IIS_SERVICE@@QEBAHXZ
+IsNameInRegExpressionA
+; public: int __cdecl LOGGING::IsRequiredExtraLoggingFields(void) __ptr64
+?IsRequiredExtraLoggingFields@LOGGING@@QEAAHXZ
+; public: int __cdecl IIS_SERVICE::IsService(void) __ptr64
+?IsService@IIS_SERVICE@@QEAAHXZ
+; public: int __cdecl TCP_AUTHENT::IsSslCertPresent(void) __ptr64
+?IsSslCertPresent@TCP_AUTHENT@@QEAAHXZ
+; public: int __cdecl STORE_CHANGE_NOTIFIER::IsStoreRegisteredForChange(char * __ptr64,void (__cdecl*)(void * __ptr64),void * __ptr64) __ptr64
+?IsStoreRegisteredForChange@STORE_CHANGE_NOTIFIER@@QEAAHPEADP6AXPEAX@Z1@Z
+; public: int __cdecl IIS_SERVICE::IsSystemDBCS(void)const  __ptr64
+?IsSystemDBCS@IIS_SERVICE@@QEBAHXZ
+; private: int __cdecl IIS_SSL_INFO::IsTrustedRoot(struct _CERT_CONTEXT const * __ptr64,int * __ptr64) __ptr64
+?IsTrustedRoot@IIS_SSL_INFO@@AEAAHPEBU_CERT_CONTEXT@@PEAH@Z
+; public: int __cdecl HASH_TABLE::IsValid(void)const  __ptr64
+?IsValid@HASH_TABLE@@QEBAHXZ
+; public: int __cdecl IIS_CTL::IsValid(void) __ptr64
+?IsValid@IIS_CTL@@QEAAHXZ
+; public: int __cdecl IIS_SERVER_CERT::IsValid(void) __ptr64
+?IsValid@IIS_SERVER_CERT@@QEAAHXZ
+; public: int __cdecl ODBC_CONNECTION::IsValid(void)const  __ptr64
+?IsValid@ODBC_CONNECTION@@QEBAHXZ
+; public: int __cdecl ODBC_STATEMENT::IsValid(void)const  __ptr64
+?IsValid@ODBC_STATEMENT@@QEBAHXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::IsValid(void)const  __ptr64
+?IsValid@TS_OPEN_FILE_INFO@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::LoadStr(class STR & __ptr64,unsigned long,int)const  __ptr64
+?LoadStr@IIS_SERVER_INSTANCE@@QEBAHAEAVSTR@@KH@Z
+; public: int __cdecl IIS_SERVICE::LoadStr(class STR & __ptr64,unsigned long,int)const  __ptr64
+?LoadStr@IIS_SERVICE@@QEBAHAEAVSTR@@KH@Z
+; public: void __cdecl IIS_SSL_INFO::Lock(void) __ptr64
+?Lock@IIS_SSL_INFO@@QEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::LockConvertExclusive(void) __ptr64
+?LockConvertExclusive@IIS_VROOT_TABLE@@QEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::LockExclusive(void) __ptr64
+?LockExclusive@IIS_VROOT_TABLE@@QEAAXXZ
+; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
+?LockExclusive@LOGGING@@AEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::LockShared(void) __ptr64
+?LockShared@IIS_VROOT_TABLE@@QEAAXXZ
+; private: void __cdecl LOGGING::LockShared(void) __ptr64
+?LockShared@LOGGING@@AEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForRead(void) __ptr64
+?LockThisForRead@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForWrite(void) __ptr64
+?LockThisForWrite@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: unsigned long __cdecl LOGGING::LogCustomInformation(unsigned long,struct _CUSTOM_LOG_DATA * __ptr64,char * __ptr64) __ptr64
+?LogCustomInformation@LOGGING@@QEAAKKPEAU_CUSTOM_LOG_DATA@@PEAD@Z
+; public: void __cdecl IIS_SERVICE::LogEvent(unsigned long,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
+?LogEvent@IIS_SERVICE@@QEAAXKGQEAPEBDK@Z
+; public: unsigned long __cdecl LOGGING::LogInformation(struct _INETLOG_INFORMATION const * __ptr64) __ptr64
+?LogInformation@LOGGING@@QEAAKPEBU_INETLOG_INFORMATION@@@Z
+; int __cdecl LogonDigestUserA(void * __ptr64,unsigned long,void * __ptr64 * __ptr64)
+?LogonDigestUserA@@YAHPEAXKPEAPEAX@Z
+; int __cdecl LogonNetUserA(char * __ptr64,char * __ptr64,char * __ptr64,char * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64 * __ptr64,union _LARGE_INTEGER * __ptr64)
+?LogonNetUserA@@YAHPEAD000KKKPEAPEAXPEAT_LARGE_INTEGER@@@Z
+; int __cdecl LogonNetUserW(unsigned short * __ptr64,unsigned short * __ptr64,char * __ptr64,unsigned short * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64 * __ptr64,union _LARGE_INTEGER * __ptr64)
+?LogonNetUserW@@YAHPEAG0PEAD0KKKPEAPEAXPEAT_LARGE_INTEGER@@@Z
+; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64) __ptr64
+?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBD@Z
+; public: class MIME_MAP_ENTRY const * __ptr64 __cdecl MIME_MAP::LookupMimeEntryForFileExt(char const * __ptr64) __ptr64
+?LookupMimeEntryForFileExt@MIME_MAP@@QEAAPEBVMIME_MAP_ENTRY@@PEBD@Z
+; public: unsigned long __cdecl MIME_MAP::LookupMimeEntryForMimeType(class STR const & __ptr64,class MIME_MAP_ENTRY const * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?LookupMimeEntryForMimeType@MIME_MAP@@QEAAKAEBVSTR@@PEAPEBVMIME_MAP_ENTRY@@PEAK@Z
+; public: int __cdecl IIS_VROOT_TABLE::LookupVirtualRoot(char const * __ptr64,char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?LookupVirtualRoot@IIS_VROOT_TABLE@@QEAAHPEBDPEADPEAK222PEAPEAX2@Z
+; public: virtual void __cdecl IIS_SERVER_INSTANCE::MDChangeNotify(struct _MD_CHANGE_OBJECT_A * __ptr64) __ptr64
+?MDChangeNotify@IIS_SERVER_INSTANCE@@UEAAXPEAU_MD_CHANGE_OBJECT_A@@@Z
+; protected: virtual void __cdecl IIS_SERVICE::MDChangeNotify(struct _MD_CHANGE_OBJECT_A * __ptr64) __ptr64
+?MDChangeNotify@IIS_SERVICE@@MEAAXPEAU_MD_CHANGE_OBJECT_A@@@Z
+; public: static void __cdecl IIS_SERVICE::MDChangeNotify(unsigned long,struct _MD_CHANGE_OBJECT_A * __ptr64 const)
+?MDChangeNotify@IIS_SERVICE@@SAXKQEAU_MD_CHANGE_OBJECT_A@@@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::MDMirrorVirtualRoots(void) __ptr64
+?MDMirrorVirtualRoots@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl TS_OPEN_FILE_INFO::MakeStrongETag(void) __ptr64
+?MakeStrongETag@TS_OPEN_FILE_INFO@@QEAAXXZ
+; public: int __cdecl ODBC_STATEMENT::MoreResults(int * __ptr64) __ptr64
+?MoreResults@ODBC_STATEMENT@@QEAAHPEAH@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::MoveMDVroots2Registry(void) __ptr64
+?MoveMDVroots2Registry@IIS_SERVER_INSTANCE@@QEAAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::MoveVrootFromRegToMD(void) __ptr64
+?MoveVrootFromRegToMD@IIS_SERVER_INSTANCE@@QEAAHXZ
+; int __cdecl NetUserCookieA(char * __ptr64,unsigned long,char * __ptr64,unsigned long)
+?NetUserCookieA@@YAHPEADK0K@Z
+; public: char * __ptr64 __cdecl INET_PARSER::NextItem(void) __ptr64
+?NextItem@INET_PARSER@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl INET_PARSER::NextLine(void) __ptr64
+?NextLine@INET_PARSER@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl INET_PARSER::NextParam(void) __ptr64
+?NextParam@INET_PARSER@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl INET_PARSER::NextToken(char) __ptr64
+?NextToken@INET_PARSER@@QEAAPEADD@Z
+; public: char * __ptr64 __cdecl INET_PARSER::NextToken(void) __ptr64
+?NextToken@INET_PARSER@@QEAAPEADXZ
+; public: static void __cdecl STORE_CHANGE_NOTIFIER::NotifFncCaller(void * __ptr64,unsigned char)
+?NotifFncCaller@STORE_CHANGE_NOTIFIER@@SAXPEAXE@Z
+; public: int __cdecl LOGGING::NotifyChange(unsigned long) __ptr64
+?NotifyChange@LOGGING@@QEAAHK@Z
+; unsigned long __cdecl NullCloseLocator(struct _HMAPPER * __ptr64,unsigned __int64)
+?NullCloseLocator@@YAKPEAU_HMAPPER@@_K@Z
+; long __cdecl NullDeReferenceMapper(struct _HMAPPER * __ptr64)
+?NullDeReferenceMapper@@YAJPEAU_HMAPPER@@@Z
+; unsigned long __cdecl NullGetAccessToken(struct _HMAPPER * __ptr64,unsigned __int64,void * __ptr64 * __ptr64)
+?NullGetAccessToken@@YAKPEAU_HMAPPER@@_KPEAPEAX@Z
+; unsigned long __cdecl NullGetChallenge(struct _HMAPPER * __ptr64,unsigned char * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64)
+?NullGetChallenge@@YAKPEAU_HMAPPER@@PEAEK1PEAK@Z
+; unsigned long __cdecl NullGetIssuerList(struct _HMAPPER * __ptr64,void * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64)
+?NullGetIssuerList@@YAKPEAU_HMAPPER@@PEAXPEAEPEAK@Z
+; unsigned long __cdecl NullMapCredential(struct _HMAPPER * __ptr64,unsigned long,void const * __ptr64,void const * __ptr64,unsigned __int64 * __ptr64)
+?NullMapCredential@@YAKPEAU_HMAPPER@@KPEBX1PEA_K@Z
+; unsigned long __cdecl NullQueryMappedCredentialAttributes(struct _HMAPPER * __ptr64,unsigned __int64,unsigned long,void * __ptr64,unsigned long * __ptr64)
+?NullQueryMappedCredentialAttributes@@YAKPEAU_HMAPPER@@_KKPEAXPEAK@Z
+; long __cdecl NullReferenceMapper(struct _HMAPPER * __ptr64)
+?NullReferenceMapper@@YAJPEAU_HMAPPER@@@Z
+; public: int __cdecl MB::Open(unsigned long,char const * __ptr64,unsigned long) __ptr64
+?Open@MB@@QEAAHKPEBDK@Z
+; public: int __cdecl ODBC_CONNECTION::Open(char const * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
+?Open@ODBC_CONNECTION@@QEAAHPEBD00@Z
+; public: int __cdecl ODBC_CONNECTION::Open(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?Open@ODBC_CONNECTION@@QEAAHPEBG00@Z
+; public: int __cdecl TCP_AUTHENT::PackageSupportsEncoding(char * __ptr64) __ptr64
+?PackageSupportsEncoding@TCP_AUTHENT@@QEAAHPEAD@Z
+; public: static unsigned long __cdecl IIS_SERVER_BINDING::ParseDescriptor(char const * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64,char const * __ptr64 * __ptr64)
+?ParseDescriptor@IIS_SERVER_BINDING@@SAKPEBDPEAKPEAGPEAPEBD@Z
+; public: virtual unsigned long __cdecl IIS_SERVER_INSTANCE::PauseInstance(void) __ptr64
+?PauseInstance@IIS_SERVER_INSTANCE@@UEAAKXZ
+; private: void __cdecl IIS_SERVICE::PauseService(void) __ptr64
+?PauseService@IIS_SERVICE@@AEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::PdcHackVRReg2MD(void) __ptr64
+?PdcHackVRReg2MD@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::PerformClusterModeChange(void) __ptr64
+?PerformClusterModeChange@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::PerformStateChange(void) __ptr64
+?PerformStateChange@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: int __cdecl ODBC_STATEMENT::PrepareStatement(char const * __ptr64) __ptr64
+?PrepareStatement@ODBC_STATEMENT@@QEAAHPEBD@Z
+; public: int __cdecl ODBC_STATEMENT::PrepareStatement(unsigned short const * __ptr64) __ptr64
+?PrepareStatement@ODBC_STATEMENT@@QEAAHPEBG@Z
+; public: void __cdecl MIME_MAP::Print(void) __ptr64
+?Print@MIME_MAP@@QEAAXXZ
+; public: virtual void __cdecl MIME_MAP_ENTRY::Print(void)const  __ptr64
+?Print@MIME_MAP_ENTRY@@UEBAXXZ
+; public: void __cdecl TS_OPEN_FILE_INFO::Print(void)const  __ptr64
+?Print@TS_OPEN_FILE_INFO@@QEBAXXZ
+; void __cdecl PrintIGatewayRequest(struct _IGATEWAY_REQUEST const * __ptr64)
+?PrintIGatewayRequest@@YAXPEBU_IGATEWAY_REQUEST@@@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExOutstanding(void)const  __ptr64
+?QueryAcceptExOutstanding@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExTimeout(void)const  __ptr64
+?QueryAcceptExTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: virtual class IIS_SSL_INFO * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryAndReferenceSSLInfoObj(void) __ptr64
+?QueryAndReferenceSSLInfoObj@IIS_SERVER_INSTANCE@@UEAAPEAVIIS_SSL_INFO@@XZ
+; public: unsigned long __cdecl TS_OPEN_FILE_INFO::QueryAttributes(void)const  __ptr64
+?QueryAttributes@TS_OPEN_FILE_INFO@@QEBAKXZ
+; public: void * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryBandwidthInfo(void)const  __ptr64
+?QueryBandwidthInfo@IIS_SERVER_INSTANCE@@QEBAPEAXXZ
+; public: class IIS_CTL * __ptr64 __cdecl IIS_SSL_INFO::QueryCTL(void) __ptr64
+?QueryCTL@IIS_SSL_INFO@@QEAAPEAVIIS_CTL@@XZ
+; public: struct _CTL_CONTEXT const * __ptr64 __cdecl IIS_CTL::QueryCTLContext(void) __ptr64
+?QueryCTLContext@IIS_CTL@@QEAAPEBU_CTL_CONTEXT@@XZ
+; public: short __cdecl ODBC_PARAMETER::QueryCType(void)const  __ptr64
+?QueryCType@ODBC_PARAMETER@@QEBAFXZ
+; public: __int64 __cdecl ODBC_PARAMETER::QueryCbValue(void)const  __ptr64
+?QueryCbValue@ODBC_PARAMETER@@QEBA_JXZ
+; public: __int64 & __ptr64 __cdecl ODBC_PARAMETER::QueryCbValueRef(void) __ptr64
+?QueryCbValueRef@ODBC_PARAMETER@@QEAAAEA_JXZ
+; public: struct _CERT_CONTEXT const * __ptr64 __cdecl IIS_SERVER_CERT::QueryCertContext(void) __ptr64
+?QueryCertContext@IIS_SERVER_CERT@@QEAAPEBU_CERT_CONTEXT@@XZ
+; public: struct _CERT_CONTEXT const * __ptr64 * __ptr64 __cdecl IIS_SERVER_CERT::QueryCertContextAddr(void) __ptr64
+?QueryCertContextAddr@IIS_SERVER_CERT@@QEAAPEAPEBU_CERT_CONTEXT@@XZ
+; public: int __cdecl IIS_SSL_INFO::QueryCertValidity(unsigned long * __ptr64) __ptr64
+?QueryCertValidity@IIS_SSL_INFO@@QEAAHPEAK@Z
+; public: class IIS_SERVER_CERT * __ptr64 __cdecl IIS_SSL_INFO::QueryCertificate(void) __ptr64
+?QueryCertificate@IIS_SSL_INFO@@QEAAPEAVIIS_SERVER_CERT@@XZ
+; public: int __cdecl TCP_AUTHENT::QueryCertificateFlags(unsigned long * __ptr64,int * __ptr64) __ptr64
+?QueryCertificateFlags@TCP_AUTHENT@@QEAAHPEAKPEAH@Z
+; public: int __cdecl TCP_AUTHENT::QueryCertificateIssuer(char * __ptr64,unsigned long,int * __ptr64) __ptr64
+?QueryCertificateIssuer@TCP_AUTHENT@@QEAAHPEADKPEAH@Z
+; public: int __cdecl TCP_AUTHENT::QueryCertificateSerialNumber(unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64,int * __ptr64) __ptr64
+?QueryCertificateSerialNumber@TCP_AUTHENT@@QEAAHPEAPEAEPEAKPEAH@Z
+; public: int __cdecl TCP_AUTHENT::QueryCertificateSubject(char * __ptr64,unsigned long,int * __ptr64) __ptr64
+?QueryCertificateSubject@TCP_AUTHENT@@QEAAHPEADKPEAH@Z
+; public: int __cdecl ODBC_STATEMENT::QueryColNames(class STR * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long,int * __ptr64) __ptr64
+?QueryColNames@ODBC_STATEMENT@@QEAAHPEAPEAVSTR@@PEAKKPEAH@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryConnectionTimeout(void)const  __ptr64
+?QueryConnectionTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryContainer(void) __ptr64
+?QueryContainer@IIS_SERVER_CERT@@QEAAPEADXZ
+; public: void * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryContext(void)const  __ptr64
+?QueryContext@TS_OPEN_FILE_INFO@@QEBAPEAXXZ
+; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCredHandle(void) __ptr64
+?QueryCredHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
+; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCtxtHandle(void) __ptr64
+?QueryCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryCurrentConnections(void)const  __ptr64
+?QueryCurrentConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceError(void)const  __ptr64
+?QueryCurrentServiceError@IIS_SERVICE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceState(void)const  __ptr64
+?QueryCurrentServiceState@IIS_SERVICE@@QEBAKXZ
+; public: unsigned short __cdecl IIS_SERVER_INSTANCE::QueryDefaultPort(void)const  __ptr64
+?QueryDefaultPort@IIS_SERVER_INSTANCE@@QEBAGXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryDownLevelInstance(void)const  __ptr64
+?QueryDownLevelInstance@IIS_SERVICE@@QEBAKXZ
+; public: char * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryETag(void)const  __ptr64
+?QueryETag@TS_OPEN_FILE_INFO@@QEBAPEADXZ
+; public: int __cdecl TCP_AUTHENT::QueryEncryptionKeySize(unsigned long * __ptr64,int * __ptr64) __ptr64
+?QueryEncryptionKeySize@TCP_AUTHENT@@QEAAHPEAKPEAH@Z
+; public: int __cdecl TCP_AUTHENT::QueryEncryptionServerPrivateKeySize(unsigned long * __ptr64,int * __ptr64) __ptr64
+?QueryEncryptionServerPrivateKeySize@TCP_AUTHENT@@QEAAHPEAKPEAH@Z
+; public: class IIS_ENDPOINT * __ptr64 __cdecl IIS_SERVER_BINDING::QueryEndpoint(void) __ptr64
+?QueryEndpoint@IIS_SERVER_BINDING@@QEAAPEAVIIS_ENDPOINT@@XZ
+; public: short __cdecl ODBC_CONNECTION::QueryErrorCode(void)const  __ptr64
+?QueryErrorCode@ODBC_CONNECTION@@QEBAFXZ
+; public: short __cdecl ODBC_STATEMENT::QueryErrorCode(void)const  __ptr64
+?QueryErrorCode@ODBC_STATEMENT@@QEBAFXZ
+; public: class EVENT_LOG * __ptr64 __cdecl IIS_SERVICE::QueryEventLog(void) __ptr64
+?QueryEventLog@IIS_SERVICE@@QEAAPEAVEVENT_LOG@@XZ
+; public: int __cdecl TCP_AUTHENT::QueryExpiry(union _LARGE_INTEGER * __ptr64) __ptr64
+?QueryExpiry@TCP_AUTHENT@@QEAAHPEAT_LARGE_INTEGER@@@Z
+; public: char * __ptr64 __cdecl LOGGING::QueryExtraLoggingFields(void) __ptr64
+?QueryExtraLoggingFields@LOGGING@@QEAAPEADXZ
+; public: void * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryFileHandle(void) __ptr64
+?QueryFileHandle@TS_OPEN_FILE_INFO@@QEAAPEAXXZ
+; public: int __cdecl TCP_AUTHENT::QueryFullyQualifiedUserName(char * __ptr64,class STR * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,class TCP_AUTHENT_INFO * __ptr64) __ptr64
+?QueryFullyQualifiedUserName@TCP_AUTHENT@@QEAAHPEADPEAVSTR@@PEAVIIS_SERVER_INSTANCE@@PEAVTCP_AUTHENT_INFO@@@Z
+; public: char const * __ptr64 __cdecl IIS_SERVER_BINDING::QueryHostName(void) __ptr64
+?QueryHostName@IIS_SERVER_BINDING@@QEAAPEBDXZ
+; public: void * __ptr64 __cdecl TCP_AUTHENT::QueryImpersonationToken(void) __ptr64
+?QueryImpersonationToken@TCP_AUTHENT@@QEAAPEAXXZ
+; public: static class ISRPC * __ptr64 __cdecl IIS_SERVICE::QueryInetInfoRpc(void)
+?QueryInetInfoRpc@IIS_SERVICE@@SAPEAVISRPC@@XZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryInstanceCount(void)const  __ptr64
+?QueryInstanceCount@IIS_SERVICE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryInstanceId(void)const  __ptr64
+?QueryInstanceId@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_BINDING::QueryIpAddress(void) __ptr64
+?QueryIpAddress@IIS_SERVER_BINDING@@QEAAKXZ
+; public: unsigned short __cdecl IIS_SERVER_BINDING::QueryIpPort(void) __ptr64
+?QueryIpPort@IIS_SERVER_BINDING@@QEAAGXZ
+; public: virtual char const * __ptr64 __cdecl MIME_MAP_ENTRY::QueryKey(void)const  __ptr64
+?QueryKey@MIME_MAP_ENTRY@@UEBAPEBDXZ
+; public: virtual unsigned long __cdecl MIME_MAP_ENTRY::QueryKeyLen(void)const  __ptr64
+?QueryKeyLen@MIME_MAP_ENTRY@@UEBAKXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::QueryLastWriteTime(struct _FILETIME * __ptr64)const  __ptr64
+?QueryLastWriteTime@TS_OPEN_FILE_INFO@@QEBAHPEAU_FILETIME@@@Z
+; public: char * __ptr64 __cdecl INET_PARSER::QueryLine(void) __ptr64
+?QueryLine@INET_PARSER@@QEAAPEADXZ
+; public: unsigned short * __ptr64 __cdecl IIS_CTL::QueryListIdentifier(void) __ptr64
+?QueryListIdentifier@IIS_CTL@@QEAAPEAGXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogAnonymous(void)const  __ptr64
+?QueryLogAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogNonAnonymous(void)const  __ptr64
+?QueryLogNonAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: char * __ptr64 __cdecl IIS_CTL::QueryMBPath(void) __ptr64
+?QueryMBPath@IIS_CTL@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryMBPath(void) __ptr64
+?QueryMBPath@IIS_SERVER_CERT@@QEAAPEADXZ
+; public: struct IUnknown * __ptr64 __cdecl IIS_SERVICE::QueryMDNseObject(void) __ptr64
+?QueryMDNseObject@IIS_SERVICE@@QEAAPEAUIUnknown@@XZ
+; public: static struct IUnknown * __ptr64 __cdecl IIS_SERVICE::QueryMDObject(void)
+?QueryMDObject@IIS_SERVICE@@SAPEAUIUnknown@@XZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDPath(void)const  __ptr64
+?QueryMDPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryMDPath(void)const  __ptr64
+?QueryMDPath@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDPathLen(void)const  __ptr64
+?QueryMDPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDVRPath(void)const  __ptr64
+?QueryMDVRPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDVRPathLen(void)const  __ptr64
+?QueryMDVRPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: __int64 __cdecl ODBC_PARAMETER::QueryMaxCbValue(void)const  __ptr64
+?QueryMaxCbValue@ODBC_PARAMETER@@QEBA_JXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxConnections(void)const  __ptr64
+?QueryMaxConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxEndpointConnections(void)const  __ptr64
+?QueryMaxEndpointConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: class MIME_MAP * __ptr64 __cdecl IIS_SERVICE::QueryMimeMap(void)const  __ptr64
+?QueryMimeMap@IIS_SERVICE@@QEBAPEAVMIME_MAP@@XZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryModuleName(void)const  __ptr64
+?QueryModuleName@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVER_CERT::QueryOpenFlags(void) __ptr64
+?QueryOpenFlags@IIS_SERVER_CERT@@QEAAKXZ
+; public: void * __ptr64 __cdecl IIS_CTL::QueryOriginalStore(void) __ptr64
+?QueryOriginalStore@IIS_CTL@@QEAAPEAXXZ
+; public: unsigned short __cdecl ODBC_PARAMETER::QueryParamNumber(void)const  __ptr64
+?QueryParamNumber@ODBC_PARAMETER@@QEBAGXZ
+; public: short __cdecl ODBC_PARAMETER::QueryParamType(void)const  __ptr64
+?QueryParamType@ODBC_PARAMETER@@QEBAFXZ
+; public: char * __ptr64 __cdecl INET_PARSER::QueryPos(void) __ptr64
+?QueryPos@INET_PARSER@@QEAAPEADXZ
+; public: unsigned long __cdecl ODBC_PARAMETER::QueryPrecision(void)const  __ptr64
+?QueryPrecision@ODBC_PARAMETER@@QEBAKXZ
+; public: void * __ptr64 __cdecl TCP_AUTHENT::QueryPrimaryToken(void) __ptr64
+?QueryPrimaryToken@TCP_AUTHENT@@QEAAPEAXXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryProviderName(void) __ptr64
+?QueryProviderName@IIS_SERVER_CERT@@QEAAPEADXZ
+; public: unsigned long __cdecl IIS_SERVER_CERT::QueryProviderType(void) __ptr64
+?QueryProviderType@IIS_SERVER_CERT@@QEAAKXZ
+; public: void * __ptr64 __cdecl RefBlob::QueryPtr(void) __ptr64
+?QueryPtr@RefBlob@@QEAAPEAXXZ
+; public: long * __ptr64 __cdecl RefBlob::QueryRefCount(void) __ptr64
+?QueryRefCount@RefBlob@@QEAAPEAJXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRegParamKey(void)const  __ptr64
+?QueryRegParamKey@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryRegParamKey(void)const  __ptr64
+?QueryRegParamKey@IIS_SERVICE@@QEBAPEBDXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRoot(void)const  __ptr64
+?QueryRoot@IIS_SERVER_INSTANCE@@QEBAPEADXZ
+; public: int __cdecl ODBC_STATEMENT::QueryRowCount(__int64 * __ptr64) __ptr64
+?QueryRowCount@ODBC_STATEMENT@@QEAAHPEA_J@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QuerySavedState(void)const  __ptr64
+?QuerySavedState@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: short __cdecl ODBC_PARAMETER::QueryScale(void)const  __ptr64
+?QueryScale@ODBC_PARAMETER@@QEBAFXZ
+; public: int __cdecl TCP_AUTHENT::QueryServerCertificateIssuer(char * __ptr64 * __ptr64,int * __ptr64) __ptr64
+?QueryServerCertificateIssuer@TCP_AUTHENT@@QEAAHPEAPEADPEAH@Z
+; public: int __cdecl TCP_AUTHENT::QueryServerCertificateSubject(char * __ptr64 * __ptr64,int * __ptr64) __ptr64
+?QueryServerCertificateSubject@TCP_AUTHENT@@QEAAHPEAPEADPEAH@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerSize(void)const  __ptr64
+?QueryServerSize@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerState(void)const  __ptr64
+?QueryServerState@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceComment(void)const  __ptr64
+?QueryServiceComment@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryServiceId(void)const  __ptr64
+?QueryServiceId@IIS_SERVICE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceName(void)const  __ptr64
+?QueryServiceName@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryServiceSpecificExitCode(void)const  __ptr64
+?QueryServiceSpecificExitCode@IIS_SERVICE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryShutdownScheduleId(void)const  __ptr64
+?QueryShutdownScheduleId@IIS_SERVICE@@QEBAKXZ
+; public: int __cdecl IIS_CTL::QuerySignerCert(struct _CERT_CONTEXT const * __ptr64 * __ptr64) __ptr64
+?QuerySignerCert@IIS_CTL@@QEAAHPEAPEBU_CERT_CONTEXT@@@Z
+; int __cdecl QuerySingleAccessToken(void)
+?QuerySingleAccessToken@@YAHXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QuerySiteName(void)const  __ptr64
+?QuerySiteName@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: unsigned long __cdecl RefBlob::QuerySize(void) __ptr64
+?QuerySize@RefBlob@@QEAAKXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(union _LARGE_INTEGER & __ptr64)const  __ptr64
+?QuerySize@TS_OPEN_FILE_INFO@@QEBAHAEAT_LARGE_INTEGER@@@Z
+; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(unsigned long * __ptr64,unsigned long * __ptr64)const  __ptr64
+?QuerySize@TS_OPEN_FILE_INFO@@QEBAHPEAK0@Z
+; public: short __cdecl ODBC_PARAMETER::QuerySqlType(void)const  __ptr64
+?QuerySqlType@ODBC_PARAMETER@@QEBAFXZ
+; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QuerySslCtxtHandle(void) __ptr64
+?QuerySslCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
+; public: unsigned long __cdecl IIS_CTL::QueryStatus(void) __ptr64
+?QueryStatus@IIS_CTL@@QEAAKXZ
+; public: void * __ptr64 __cdecl IIS_SERVER_CERT::QueryStoreHandle(void) __ptr64
+?QueryStoreHandle@IIS_SERVER_CERT@@QEAAPEAXXZ
+; public: char * __ptr64 __cdecl IIS_CTL::QueryStoreName(void) __ptr64
+?QueryStoreName@IIS_CTL@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryStoreName(void) __ptr64
+?QueryStoreName@IIS_SERVER_CERT@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl INET_PARSER::QueryToken(void) __ptr64
+?QueryToken@INET_PARSER@@QEAAPEADXZ
+; public: int __cdecl TCP_AUTHENT::QueryUserName(class STR * __ptr64,int) __ptr64
+?QueryUserName@TCP_AUTHENT@@QEAAHPEAVSTR@@H@Z
+; public: void * __ptr64 __cdecl ODBC_PARAMETER::QueryValue(void)const  __ptr64
+?QueryValue@ODBC_PARAMETER@@QEBAPEAXXZ
+; public: int __cdecl ODBC_STATEMENT::QueryValuesAsStr(class STR * __ptr64 * __ptr64,unsigned long * __ptr64 * __ptr64,int * __ptr64) __ptr64
+?QueryValuesAsStr@ODBC_STATEMENT@@QEAAHPEAPEAVSTR@@PEAPEAKPEAH@Z
+; public: unsigned long __cdecl IIS_VROOT_TABLE::QueryVrootCount(void) __ptr64
+?QueryVrootCount@IIS_VROOT_TABLE@@QEAAKXZ
+; public: class IIS_VROOT_TABLE * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryVrootTable(void) __ptr64
+?QueryVrootTable@IIS_SERVER_INSTANCE@@QEAAPEAVIIS_VROOT_TABLE@@XZ
+; public: int __cdecl COMMON_METADATA::ReadMetaData(class IIS_SERVER_INSTANCE * __ptr64,class MB * __ptr64,char * __ptr64,struct _METADATA_ERROR_INFO * __ptr64) __ptr64
+?ReadMetaData@COMMON_METADATA@@QEAAHPEAVIIS_SERVER_INSTANCE@@PEAVMB@@PEADPEAU_METADATA_ERROR_INFO@@@Z
+; public: int __cdecl IIS_SERVICE::RecordInstanceStart(void) __ptr64
+?RecordInstanceStart@IIS_SERVICE@@QEAAHXZ
+; public: void __cdecl IIS_SERVICE::RecordInstanceStop(void) __ptr64
+?RecordInstanceStop@IIS_SERVICE@@QEAAXXZ
+; public: void __cdecl IIS_ENDPOINT::Reference(void) __ptr64
+?Reference@IIS_ENDPOINT@@QEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::Reference(void) __ptr64
+?Reference@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: unsigned long __cdecl IIS_SSL_INFO::Reference(void) __ptr64
+?Reference@IIS_SSL_INFO@@QEAAKXZ
+; public: virtual long __cdecl MIME_MAP_ENTRY::Reference(void) __ptr64
+?Reference@MIME_MAP_ENTRY@@UEAAJXZ
+; public: int __cdecl MB::ReferenceData(char const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?ReferenceData@MB@@QEAAHPEBDKKKPEAPEAXPEAK2K@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::RegReadCommonParams(int,int) __ptr64
+?RegReadCommonParams@IIS_SERVER_INSTANCE@@QEAAHHH@Z
+; public: int __cdecl STORE_CHANGE_NOTIFIER::RegisterStoreForChange(char * __ptr64,void * __ptr64,void (__cdecl*)(void * __ptr64),void * __ptr64) __ptr64
+?RegisterStoreForChange@STORE_CHANGE_NOTIFIER@@QEAAHPEADPEAXP6AX1@Z1@Z
+; public: static unsigned long __cdecl IIS_SSL_INFO::Release(void * __ptr64)
+?Release@IIS_SSL_INFO@@SAKPEAX@Z
+; public: void __cdecl RefBlob::Release(void) __ptr64
+?Release@RefBlob@@QEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::ReleaseFastLock(void) __ptr64
+?ReleaseFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SSL_INFO::ReleaseFortezzaHandlers(void) __ptr64
+?ReleaseFortezzaHandlers@IIS_SSL_INFO@@QEAAXXZ
+; private: static void __cdecl IIS_SERVICE::ReleaseGlobalLock(void)
+?ReleaseGlobalLock@IIS_SERVICE@@CAXXZ
+; public: int __cdecl MB::ReleaseReferenceData(unsigned long) __ptr64
+?ReleaseReferenceData@MB@@QEAAHK@Z
+; public: void __cdecl STORE_CHANGE_NOTIFIER::ReleaseRegisteredStores(void) __ptr64
+?ReleaseRegisteredStores@STORE_CHANGE_NOTIFIER@@QEAAXXZ
+; public: void __cdecl IIS_SERVICE::ReleaseServiceLock(int) __ptr64
+?ReleaseServiceLock@IIS_SERVICE@@QEAAXH@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveNormalBindings(void) __ptr64
+?RemoveNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveSecureBindings(void) __ptr64
+?RemoveSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: int __cdecl IIS_SERVICE::RemoveServerInstance(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?RemoveServerInstance@IIS_SERVICE@@QEAAHPEAVIIS_SERVER_INSTANCE@@@Z
+; public: int __cdecl IIS_VROOT_TABLE::RemoveVirtualRoot(char * __ptr64) __ptr64
+?RemoveVirtualRoot@IIS_VROOT_TABLE@@QEAAHPEAD@Z
+; public: int __cdecl IIS_VROOT_TABLE::RemoveVirtualRoots(void) __ptr64
+?RemoveVirtualRoots@IIS_VROOT_TABLE@@QEAAHXZ
+; private: unsigned long __cdecl IIS_SERVICE::ReportServiceStatus(void) __ptr64
+?ReportServiceStatus@IIS_SERVICE@@AEAAKXZ
+; public: int __cdecl TCP_AUTHENT::Reset(int) __ptr64
+?Reset@TCP_AUTHENT@@QEAAHH@Z
+; public: void __cdecl INET_PARSER::RestoreBuffer(void) __ptr64
+?RestoreBuffer@INET_PARSER@@QEAAXXZ
+; protected: void __cdecl INET_PARSER::RestoreLine(void) __ptr64
+?RestoreLine@INET_PARSER@@IEAAXXZ
+; protected: void __cdecl INET_PARSER::RestoreToken(void) __ptr64
+?RestoreToken@INET_PARSER@@IEAAXXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::RetrieveHttpInfo(char * __ptr64,int * __ptr64) __ptr64
+?RetrieveHttpInfo@TS_OPEN_FILE_INFO@@QEAAHPEADPEAH@Z
+; private: int __cdecl IIS_SERVER_CERT::RetrievePINInfo(class MB * __ptr64,char * __ptr64 * __ptr64,char * __ptr64 * __ptr64,char * __ptr64 * __ptr64) __ptr64
+?RetrievePINInfo@IIS_SERVER_CERT@@AEAAHPEAVMB@@PEAPEAD11@Z
+; public: int __cdecl TCP_AUTHENT::RevertToSelf(void) __ptr64
+?RevertToSelf@TCP_AUTHENT@@QEAAHXZ
+; public: int __cdecl MB::Save(void) __ptr64
+?Save@MB@@QEAAHXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::SaveServerState(void) __ptr64
+?SaveServerState@IIS_SERVER_INSTANCE@@QEAAXXZ
+; int __cdecl SelectMimeMappingForFileExt(class IIS_SERVICE * __ptr64 const,char const * __ptr64,class STR * __ptr64,class STR * __ptr64)
+?SelectMimeMappingForFileExt@@YAHQEAVIIS_SERVICE@@PEBDPEAVSTR@@2@Z
+; int __cdecl ServerAddressHasCAPIInfo(class MB * __ptr64,char * __ptr64,unsigned long * __ptr64,unsigned long)
+?ServerAddressHasCAPIInfo@@YAHPEAVMB@@PEADPEAKK@Z
+; public: void __cdecl IIS_SERVICE::ServiceCtrlHandler(unsigned long) __ptr64
+?ServiceCtrlHandler@IIS_SERVICE@@QEAAXK@Z
+; public: void __cdecl COMMON_METADATA::SetAccessPerms(unsigned long) __ptr64
+?SetAccessPerms@COMMON_METADATA@@QEAAXK@Z
+; public: int __cdecl TCP_AUTHENT::SetAccessToken(void * __ptr64,void * __ptr64) __ptr64
+?SetAccessToken@TCP_AUTHENT@@QEAAHPEAX0@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::SetBandwidthThrottle(class MB * __ptr64) __ptr64
+?SetBandwidthThrottle@IIS_SERVER_INSTANCE@@QEAAHPEAVMB@@@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::SetBandwidthThrottleMaxBlocked(class MB * __ptr64) __ptr64
+?SetBandwidthThrottleMaxBlocked@IIS_SERVER_INSTANCE@@QEAAHPEAVMB@@@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::SetCommonConfig(struct _INET_INFO_CONFIG_INFO * __ptr64,int) __ptr64
+?SetCommonConfig@IIS_SERVER_INSTANCE@@QEAAHPEAU_INET_INFO_CONFIG_INFO@@H@Z
+; public: unsigned long __cdecl LOGGING::SetConfig(struct _INETLOG_CONFIGURATIONA * __ptr64) __ptr64
+?SetConfig@LOGGING@@QEAAKPEAU_INETLOG_CONFIGURATIONA@@@Z
+; public: int __cdecl ODBC_CONNECTION::SetConnectOption(unsigned short,unsigned long) __ptr64
+?SetConnectOption@ODBC_CONNECTION@@QEAAHGK@Z
+; public: int __cdecl TS_OPEN_FILE_INFO::SetContext(void * __ptr64,int (__cdecl*)(void * __ptr64)) __ptr64
+?SetContext@TS_OPEN_FILE_INFO@@QEAAHPEAXP6AH0@Z@Z
+; public: int __cdecl MB::SetData(char const * __ptr64,unsigned long,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned long) __ptr64
+?SetData@MB@@QEAAHPEBDKKKPEAXKK@Z
+; public: int __cdecl TS_OPEN_FILE_INFO::SetHttpInfo(char * __ptr64,int) __ptr64
+?SetHttpInfo@TS_OPEN_FILE_INFO@@QEAAHPEADH@Z
+; private: int __cdecl IIS_SERVICE::SetInstanceConfiguration(unsigned long,unsigned long,int,struct _INET_INFO_CONFIG_INFO * __ptr64) __ptr64
+?SetInstanceConfiguration@IIS_SERVICE@@AEAAHKKHPEAU_INET_INFO_CONFIG_INFO@@@Z
+; public: void __cdecl INET_PARSER::SetListMode(int) __ptr64
+?SetListMode@INET_PARSER@@QEAAXH@Z
+; public: void __cdecl TSVC_CACHE::SetParameters(unsigned long,unsigned long,void * __ptr64) __ptr64
+?SetParameters@TSVC_CACHE@@QEAAXKKPEAX@Z
+; public: void __cdecl INET_PARSER::SetPtr(char * __ptr64) __ptr64
+?SetPtr@INET_PARSER@@QEAAXPEAD@Z
+; public: int __cdecl TCP_AUTHENT::SetSecurityContextToken(struct _SecHandle * __ptr64,void * __ptr64,int (__cdecl*)(struct _SecHandle * __ptr64,void * __ptr64),void * __ptr64,class IIS_SSL_INFO * __ptr64) __ptr64
+?SetSecurityContextToken@TCP_AUTHENT@@QEAAHPEAU_SecHandle@@PEAXP6AH01@Z1PEAVIIS_SSL_INFO@@@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::SetServerState(unsigned long,unsigned long) __ptr64
+?SetServerState@IIS_SERVER_INSTANCE@@QEAAXKK@Z
+; public: static int __cdecl IIS_SERVICE::SetServiceAdminInfo(unsigned long,unsigned long,unsigned long,int,struct _INET_INFO_CONFIG_INFO * __ptr64)
+?SetServiceAdminInfo@IIS_SERVICE@@SAHKKKHPEAU_INET_INFO_CONFIG_INFO@@@Z
+; public: void __cdecl IIS_SERVICE::SetServiceComment(char * __ptr64) __ptr64
+?SetServiceComment@IIS_SERVICE@@QEAAXPEAD@Z
+; public: void __cdecl IIS_SERVICE::SetServiceSpecificExitCode(unsigned long) __ptr64
+?SetServiceSpecificExitCode@IIS_SERVICE@@QEAAXK@Z
+; public: int __cdecl TCP_AUTHENT::SetTargetName(char * __ptr64) __ptr64
+?SetTargetName@TCP_AUTHENT@@QEAAHPEAD@Z
+; public: int __cdecl ODBC_PARAMETER::SetValueBuffer(long,long) __ptr64
+?SetValueBuffer@ODBC_PARAMETER@@QEAAHJJ@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::SetWin32Error(unsigned long) __ptr64
+?SetWin32Error@IIS_SERVER_INSTANCE@@QEAAXK@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::SetZapRegKey(void) __ptr64
+?SetZapRegKey@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: int __cdecl LOGGING::ShutdownLogging(void) __ptr64
+?ShutdownLogging@LOGGING@@QEAAHXZ
+; public: unsigned long __cdecl IIS_SERVICE::ShutdownScheduleCallback(void) __ptr64
+?ShutdownScheduleCallback@IIS_SERVICE@@QEAAKXZ
+; public: int __cdecl IIS_SERVICE::ShutdownService(void) __ptr64
+?ShutdownService@IIS_SERVICE@@QEAAHXZ
+; public: char * __ptr64 __cdecl INET_PARSER::SkipTo(char) __ptr64
+?SkipTo@INET_PARSER@@QEAAPEADD@Z
+; public: int __cdecl TS_DIRECTORY_INFO::SortFileInfoPointers(int (__cdecl*)(void const * __ptr64,void const * __ptr64)) __ptr64
+?SortFileInfoPointers@TS_DIRECTORY_INFO@@QEAAHP6AHPEBX0@Z@Z
+; public: virtual unsigned long __cdecl IIS_SERVER_INSTANCE::StartInstance(void) __ptr64
+?StartInstance@IIS_SERVER_INSTANCE@@UEAAKXZ
+; public: int __cdecl TCP_AUTHENT::StartProcessAsUser(char const * __ptr64,char * __ptr64,int,unsigned long,void * __ptr64,char const * __ptr64,struct _STARTUPINFOA * __ptr64,struct _PROCESS_INFORMATION * __ptr64) __ptr64
+?StartProcessAsUser@TCP_AUTHENT@@QEAAHPEBDPEADHKPEAX0PEAU_STARTUPINFOA@@PEAU_PROCESS_INFORMATION@@@Z
+; public: unsigned long __cdecl IIS_SERVICE::StartServiceOperation(void (__cdecl*)(unsigned long),unsigned long (__cdecl*)(void * __ptr64),unsigned long (__cdecl*)(void * __ptr64)) __ptr64
+?StartServiceOperation@IIS_SERVICE@@QEAAKP6AXK@ZP6AKPEAX@Z2@Z
+; public: void __cdecl IIS_SERVICE::StartUpIndicateClientActivity(void) __ptr64
+?StartUpIndicateClientActivity@IIS_SERVICE@@QEAAXXZ
+; public: unsigned long __cdecl IIS_SERVER_CERT::Status(void) __ptr64
+?Status@IIS_SERVER_CERT@@QEAAKXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::StopEndpoints(void) __ptr64
+?StopEndpoints@IIS_SERVER_INSTANCE@@QEAAHXZ
+; private: int __cdecl IIS_SERVER_INSTANCE::StopEndpointsHelper(struct _LIST_ENTRY * __ptr64) __ptr64
+?StopEndpointsHelper@IIS_SERVER_INSTANCE@@AEAAHPEAU_LIST_ENTRY@@@Z
+; public: virtual unsigned long __cdecl IIS_SERVER_INSTANCE::StopInstance(void) __ptr64
+?StopInstance@IIS_SERVER_INSTANCE@@UEAAKXZ
+; public: virtual void __cdecl IIS_SERVICE::StopInstanceProcs(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?StopInstanceProcs@IIS_SERVICE@@UEAAXPEAVIIS_SERVER_INSTANCE@@@Z
+; private: void __cdecl IIS_SERVICE::StopService(void) __ptr64
+?StopService@IIS_SERVICE@@AEAAXXZ
+; public: static int __cdecl ODBC_CONNECTION::Success(short)
+?Success@ODBC_CONNECTION@@SAHF@Z
+; public: static unsigned long __cdecl LOGGING::Terminate(void)
+?Terminate@LOGGING@@SAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::TerminateDiscovery(void) __ptr64
+?TerminateDiscovery@IIS_SERVICE@@QEAAKXZ
+; protected: void __cdecl INET_PARSER::TerminateLine(void) __ptr64
+?TerminateLine@INET_PARSER@@IEAAXXZ
+; protected: void __cdecl INET_PARSER::TerminateToken(char) __ptr64
+?TerminateToken@INET_PARSER@@IEAAXD@Z
+TsAddMetaData
+; void __cdecl TsAddRefMetaData(void * __ptr64)
+?TsAddRefMetaData@@YAXPEAX@Z
+TsAllocate
+TsAllocateEx
+; unsigned long __cdecl TsApiAccessCheck(unsigned long)
+?TsApiAccessCheck@@YAKK@Z
+TsCacheDirectoryBlob
+TsCacheFlush
+TsCacheFlushDemux
+TsCheckInCachedBlob
+TsCheckInOrFree
+TsCheckOutCachedBlob
+TsCloseHandle
+TsCloseURIFile
+TsCreateETagFromHandle
+TsCreateFile
+TsCreateFileFromURI
+TsDeCacheCachedBlob
+TsDeleteOnClose
+; int __cdecl TsDeleteUserToken(class CACHED_TOKEN * __ptr64)
+?TsDeleteUserToken@@YAHPEAVCACHED_TOKEN@@@Z
+TsDerefURIFile
+TsDumpCacheToHtml
+; public: int __cdecl IIS_SERVER_INSTANCE::TsEnumVirtualRoots(int (__cdecl*)(void * __ptr64,class MB * __ptr64,struct _VIRTUAL_ROOT * __ptr64),void * __ptr64,class MB * __ptr64) __ptr64
+?TsEnumVirtualRoots@IIS_SERVER_INSTANCE@@QEAAHP6AHPEAXPEAVMB@@PEAU_VIRTUAL_ROOT@@@Z01@Z
+TsExpireCachedBlob
+TsFindMetaData
+TsFlushFilesWithContext
+TsFlushMetaCache
+TsFlushURL
+TsFree
+; int __cdecl TsFreeDirectoryListing(class TSVC_CACHE const & __ptr64,class TS_DIRECTORY_HEADER * __ptr64)
+?TsFreeDirectoryListing@@YAHAEBVTSVC_CACHE@@PEAVTS_DIRECTORY_HEADER@@@Z
+TsFreeMetaData
+; int __cdecl TsGetDirectoryListing(class TSVC_CACHE const & __ptr64,char const * __ptr64,void * __ptr64,class TS_DIRECTORY_HEADER * __ptr64 * __ptr64)
+?TsGetDirectoryListing@@YAHAEBVTSVC_CACHE@@PEBDPEAXPEAPEAVTS_DIRECTORY_HEADER@@@Z
+TsGetFileSecDesc
+; int __cdecl TsGetSecretW(unsigned short * __ptr64,class BUFFER * __ptr64)
+?TsGetSecretW@@YAHPEAGPEAVBUFFER@@@Z
+; int __cdecl TsImpersonateUser(class CACHED_TOKEN * __ptr64)
+?TsImpersonateUser@@YAHPEAVCACHED_TOKEN@@@Z
+TsLastWriteTimeFromHandle
+; class CACHED_TOKEN * __ptr64 __cdecl TsLogonUser(char * __ptr64,char * __ptr64,int * __ptr64,int * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,class TCP_AUTHENT_INFO * __ptr64,char * __ptr64,union _LARGE_INTEGER * __ptr64,int * __ptr64)
+?TsLogonUser@@YAPEAVCACHED_TOKEN@@PEAD0PEAH1PEAVIIS_SERVER_INSTANCE@@PEAVTCP_AUTHENT_INFO@@0PEAT_LARGE_INTEGER@@1@Z
+TsMakeWidePath
+; public: void __cdecl IIS_SERVER_INSTANCE::TsMirrorVirtualRoots(struct _INET_INFO_CONFIG_INFO * __ptr64) __ptr64
+?TsMirrorVirtualRoots@IIS_SERVER_INSTANCE@@QEAAXPEAU_INET_INFO_CONFIG_INFO@@@Z
+; int __cdecl TsProcessGatewayRequest(void * __ptr64,struct _IGATEWAY_REQUEST * __ptr64,int (__cdecl*)(void * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long))
+?TsProcessGatewayRequest@@YAHPEAXPEAU_IGATEWAY_REQUEST@@P6AH0KPEAEK@Z@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::TsReadVirtualRoots(struct _MD_CHANGE_OBJECT_A * __ptr64) __ptr64
+?TsReadVirtualRoots@IIS_SERVER_INSTANCE@@QEAAHPEAU_MD_CHANGE_OBJECT_A@@@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::TsRecursiveEnumVirtualRoots(int (__cdecl*)(void * __ptr64,class MB * __ptr64,struct _VIRTUAL_ROOT * __ptr64),void * __ptr64,char * __ptr64,unsigned long,void * __ptr64,int) __ptr64
+?TsRecursiveEnumVirtualRoots@IIS_SERVER_INSTANCE@@QEAAHP6AHPEAXPEAVMB@@PEAU_VIRTUAL_ROOT@@@Z0PEADK0H@Z
+TsReferenceMetaData
+; unsigned long __cdecl TsSetSecretW(unsigned short * __ptr64,unsigned short * __ptr64,unsigned long)
+?TsSetSecretW@@YAKPEAG0K@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::TsSetVirtualRoots(struct _INET_INFO_CONFIG_INFO * __ptr64) __ptr64
+?TsSetVirtualRoots@IIS_SERVER_INSTANCE@@QEAAHPEAU_INET_INFO_CONFIG_INFO@@@Z
+; void * __ptr64 __cdecl TsTokenToHandle(class CACHED_TOKEN * __ptr64)
+?TsTokenToHandle@@YAPEAXPEAVCACHED_TOKEN@@@Z
+; void * __ptr64 __cdecl TsTokenToImpHandle(class CACHED_TOKEN * __ptr64)
+?TsTokenToImpHandle@@YAPEAXPEAVCACHED_TOKEN@@@Z
+Tsunami_Initialize
+; private: unsigned long __cdecl IIS_SERVER_INSTANCE::UnbindHelper(struct _LIST_ENTRY * __ptr64) __ptr64
+?UnbindHelper@IIS_SERVER_INSTANCE@@AEAAKPEAU_LIST_ENTRY@@@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UnbindInstance(void) __ptr64
+?UnbindInstance@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: void __cdecl IIS_SSL_INFO::Unlock(void) __ptr64
+?Unlock@IIS_SSL_INFO@@QEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::Unlock(void) __ptr64
+?Unlock@IIS_VROOT_TABLE@@QEAAXXZ
+; private: void __cdecl LOGGING::Unlock(void) __ptr64
+?Unlock@LOGGING@@AEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::UnlockThis(void) __ptr64
+?UnlockThis@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl STORE_CHANGE_NOTIFIER::UnregisterStore(char * __ptr64,void (__cdecl*)(void * __ptr64),void * __ptr64) __ptr64
+?UnregisterStore@STORE_CHANGE_NOTIFIER@@QEAAXPEADP6AXPEAX@Z1@Z
+; private: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateBindingsHelper(int) __ptr64
+?UpdateBindingsHelper@IIS_SERVER_INSTANCE@@AEAAKH@Z
+; public: int __cdecl TCP_AUTHENT::UpdateClientCertFlags(unsigned long,int * __ptr64,unsigned char * __ptr64,unsigned long) __ptr64
+?UpdateClientCertFlags@TCP_AUTHENT@@QEAAHKPEAHPEAEK@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateNormalBindings(void) __ptr64
+?UpdateNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateSecureBindings(void) __ptr64
+?UpdateSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::UpdateServiceStatus(unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
+?UpdateServiceStatus@IIS_SERVICE@@QEAAKKKKK@Z
+; public: int __cdecl IIS_SSL_INFO::UseDSMapper(void) __ptr64
+?UseDSMapper@IIS_SSL_INFO@@QEAAHXZ
+; private: int __cdecl IIS_SERVER_CERT::UseProgrammaticPINEntry(class MB * __ptr64) __ptr64
+?UseProgrammaticPINEntry@IIS_SERVER_CERT@@AEAAHPEAVMB@@@Z
+; public: int __cdecl IIS_CTL::VerifySignature(void * __ptr64 * __ptr64,unsigned long,int * __ptr64) __ptr64
+?VerifySignature@IIS_CTL@@QEAAHPEAPEAXKPEAH@Z
+; public: int __cdecl TS_OPEN_FILE_INFO::WeakETag(void)const  __ptr64
+?WeakETag@TS_OPEN_FILE_INFO@@QEBAHXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::ZapInstanceMBTree(void) __ptr64
+?ZapInstanceMBTree@IIS_SERVER_INSTANCE@@QEAAXXZ
+; void __cdecl _TsValidateMetaCache(void)
+?_TsValidateMetaCache@@YAXXZ
+; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogCustomInformation)(void * __ptr64,unsigned long,struct _CUSTOM_LOG_DATA * __ptr64,char * __ptr64)
+?m_ComLogCustomInformation@LOGGING@@0P6AKPEAXKPEAU_CUSTOM_LOG_DATA@@PEAD@ZEA DATA
+; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogDllCleanUp)(void)
+?m_ComLogDllCleanUp@LOGGING@@0P6AKXZEA DATA
+; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogDllStartup)(void)
+?m_ComLogDllStartup@LOGGING@@0P6AKXZEA DATA
+; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogGetConfig)(void * __ptr64,struct _INETLOG_CONFIGURATIONA * __ptr64)
+?m_ComLogGetConfig@LOGGING@@0P6AKPEAXPEAU_INETLOG_CONFIGURATIONA@@@ZEA DATA
+; private: static void * __ptr64 (__cdecl* __ptr64 LOGGING::m_ComLogInitializeLog)(char const * __ptr64,char const * __ptr64,void * __ptr64)
+?m_ComLogInitializeLog@LOGGING@@0P6APEAXPEBD0PEAX@ZEA DATA
+; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogLogInformation)(void * __ptr64,struct _INETLOG_INFORMATION const * __ptr64)
+?m_ComLogLogInformation@LOGGING@@0P6AKPEAXPEBU_INETLOG_INFORMATION@@@ZEA DATA
+; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogNotifyChange)(void * __ptr64)
+?m_ComLogNotifyChange@LOGGING@@0P6AKPEAX@ZEA DATA
+; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogQueryExtraLogFields)(void * __ptr64,char * __ptr64,unsigned long * __ptr64)
+?m_ComLogQueryExtraLogFields@LOGGING@@0P6AKPEAXPEADPEAK@ZEA DATA
+; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogSetConfig)(void * __ptr64,struct _INETLOG_CONFIGURATIONA const * __ptr64)
+?m_ComLogSetConfig@LOGGING@@0P6AKPEAXPEBU_INETLOG_CONFIGURATIONA@@@ZEA DATA
+; private: static unsigned long (__cdecl* __ptr64 LOGGING::m_ComLogTerminateLog)(void * __ptr64)
+?m_ComLogTerminateLog@LOGGING@@0P6AKPEAX@ZEA DATA
+; private: static struct HINSTANCE__ * __ptr64  __ptr64 LOGGING::m_hComLogDLL
+?m_hComLogDLL@LOGGING@@0PEAUHINSTANCE__@@EA DATA
+; public: static unsigned __int64  IIS_SERVER_CERT::m_hFortezzaCSP
+?m_hFortezzaCSP@IIS_SERVER_CERT@@2_KA DATA
+; public: static void * __ptr64  __ptr64 IIS_SERVER_CERT::m_hFortezzaCtxt
+?m_hFortezzaCtxt@IIS_SERVER_CERT@@2PEAXEA DATA
+; private: static struct IUnknown * __ptr64  __ptr64 IIS_SERVICE::sm_MDNseObject
+?sm_MDNseObject@IIS_SERVICE@@0PEAUIUnknown@@EA DATA
+; private: static struct IUnknown * __ptr64  __ptr64 IIS_SERVICE::sm_MDObject
+?sm_MDObject@IIS_SERVICE@@0PEAUIUnknown@@EA DATA
+; private: static struct _LIST_ENTRY  IIS_SERVICE::sm_ServiceInfoListHead
+?sm_ServiceInfoListHead@IIS_SERVICE@@0U_LIST_ENTRY@@A DATA
+; private: static struct _RTL_CRITICAL_SECTION  IIS_SERVICE::sm_csLock
+?sm_csLock@IIS_SERVICE@@0U_RTL_CRITICAL_SECTION@@A DATA
+; private: static int  IIS_SERVICE::sm_fInitialized
+?sm_fInitialized@IIS_SERVICE@@0HA DATA
+; private: static class ISRPC * __ptr64  __ptr64 IIS_SERVICE::sm_isrpc
+?sm_isrpc@IIS_SERVICE@@0PEAVISRPC@@EA DATA
+; public: static struct _TRACE_LOG * __ptr64  __ptr64 IIS_SERVER_INSTANCE::sm_pDbgRefTraceLog
+?sm_pDbgRefTraceLog@IIS_SERVER_INSTANCE@@2PEAU_TRACE_LOG@@EA DATA
+; public: static struct _TRACE_LOG * __ptr64  __ptr64 IIS_SERVICE::sm_pDbgRefTraceLog
+?sm_pDbgRefTraceLog@IIS_SERVICE@@2PEAU_TRACE_LOG@@EA DATA
+; int __cdecl uudecode(char * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,int)
+?uudecode@@YAHPEADPEAVBUFFER@@PEAKH@Z
+; int __cdecl uuencode(unsigned char * __ptr64,unsigned long,class BUFFER * __ptr64,int)
+?uuencode@@YAHPEAEKPEAVBUFFER@@H@Z
+ConvertStringToRpc
+ConvertUnicodeToAnsi
+DoSynchronousReadFile
+FreeRpcString
+InetNtoa
+InitCommonDlls
+KludgeMultiSz
+ReadRegString
+ReadRegistryDwordA
+ReadRegistryStr
+ReadRegistryString
+TcpSockRecv
+TcpSockSend
+TcpSockTest
+TerminateCommonDlls
+TsDumpCacheCounters
+WaitForSocketWorker
+WriteRegistryDwordA
+WriteRegistryStringA
+WriteRegistryStringW
diff --git a/mingw-w64-crt/lib64/infoctrs.def b/mingw-w64-crt/lib64/infoctrs.def
index 3b88aee..b97e023 100644
--- a/mingw-w64-crt/lib64/infoctrs.def
+++ b/mingw-w64-crt/lib64/infoctrs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file INFOCTRS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INFOCTRS.dll
-EXPORTS
-OpenINFOPerformanceData
-CollectINFOPerformanceData
-CloseINFOPerformanceData
+; 
+; Exports of file INFOCTRS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INFOCTRS.dll
+EXPORTS
+OpenINFOPerformanceData
+CollectINFOPerformanceData
+CloseINFOPerformanceData
diff --git a/mingw-w64-crt/lib64/infosoft.def b/mingw-w64-crt/lib64/infosoft.def
index 52548af..3e6df83 100644
--- a/mingw-w64-crt/lib64/infosoft.def
+++ b/mingw-w64-crt/lib64/infosoft.def
@@ -1,49 +1,49 @@
-; 
-; Exports of file infosoft.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY infosoft.dll
-EXPORTS
-IIapp
-IIapp_mem
-IIbuf
-IIbuf_mem
-IIdb
-IIdb_mem
-DllCanUnloadNow
-DllGetClassObject
-IIword
-DllRegisterServer
-DllUnregisterServer
-IIGetAppElem
-IIdiagoff
-IIGetFM
-IIdiagon
-NTFMClose
-NTFMCompare
-NTFMCopy
-NTFMCreate
-NTFMDelete
-NTFMDestruct
-NTFMFlushMapping
-NTFMGetDirtyBit
-NTFMGetLength
-NTFMGetMapHandle
-NTFMGetMapping
-NTFMGetName
-NTFMGetPosition
-NTFMGetStatus
-NTFMLockMapping
-NTFMOpen
-NTFMRead
-NTFMReleaseMapHandle
-NTFMSeek
-NTFMSetDirtyBit
-NTFMSetLength
-NTFMSetMapping
-NTFMSetMutexProc
-NTFMSetName
-NTFMUnlockMapping
-NTFMWrite
+; 
+; Exports of file infosoft.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY infosoft.dll
+EXPORTS
+IIapp
+IIapp_mem
+IIbuf
+IIbuf_mem
+IIdb
+IIdb_mem
+DllCanUnloadNow
+DllGetClassObject
+IIword
+DllRegisterServer
+DllUnregisterServer
+IIGetAppElem
+IIdiagoff
+IIGetFM
+IIdiagon
+NTFMClose
+NTFMCompare
+NTFMCopy
+NTFMCreate
+NTFMDelete
+NTFMDestruct
+NTFMFlushMapping
+NTFMGetDirtyBit
+NTFMGetLength
+NTFMGetMapHandle
+NTFMGetMapping
+NTFMGetName
+NTFMGetPosition
+NTFMGetStatus
+NTFMLockMapping
+NTFMOpen
+NTFMRead
+NTFMReleaseMapHandle
+NTFMSeek
+NTFMSetDirtyBit
+NTFMSetLength
+NTFMSetMapping
+NTFMSetMutexProc
+NTFMSetName
+NTFMUnlockMapping
+NTFMWrite
diff --git a/mingw-w64-crt/lib64/initpki.def b/mingw-w64-crt/lib64/initpki.def
index 53e395b..58e2ab1 100644
--- a/mingw-w64-crt/lib64/initpki.def
+++ b/mingw-w64-crt/lib64/initpki.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file INITPKI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INITPKI.dll
-EXPORTS
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-InitializePKI
+; 
+; Exports of file INITPKI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INITPKI.dll
+EXPORTS
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+InitializePKI
diff --git a/mingw-w64-crt/lib64/input.def b/mingw-w64-crt/lib64/input.def
index 65d0b4c..d2e9ec6 100644
--- a/mingw-w64-crt/lib64/input.def
+++ b/mingw-w64-crt/lib64/input.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file INPUT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INPUT.dll
-EXPORTS
-CPlApplet
+; 
+; Exports of file INPUT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INPUT.dll
+EXPORTS
+CPlApplet
diff --git a/mingw-w64-crt/lib64/inseng.def b/mingw-w64-crt/lib64/inseng.def
index a9a7a8b..89b2fe0 100644
--- a/mingw-w64-crt/lib64/inseng.def
+++ b/mingw-w64-crt/lib64/inseng.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file inseng.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY inseng.dll
-EXPORTS
-CheckForVersionConflict
-CheckTrust
-CheckTrustEx
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-DownloadFile
-GetICifFileFromFile
-GetICifRWFileFromFile
-PurgeDownloadDirectory
+; 
+; Exports of file inseng.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY inseng.dll
+EXPORTS
+CheckForVersionConflict
+CheckTrust
+CheckTrustEx
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+DownloadFile
+GetICifFileFromFile
+GetICifRWFileFromFile
+PurgeDownloadDirectory
diff --git a/mingw-w64-crt/lib64/iphlpapi.def b/mingw-w64-crt/lib64/iphlpapi.def
index 802523e..17d11a5 100644
--- a/mingw-w64-crt/lib64/iphlpapi.def
+++ b/mingw-w64-crt/lib64/iphlpapi.def
@@ -1,165 +1,165 @@
-; 
-; Exports of file iphlpapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iphlpapi.dll
-EXPORTS
-AddIPAddress
-AllocateAndGetArpEntTableFromStack
-AllocateAndGetIfTableFromStack
-AllocateAndGetIpAddrTableFromStack
-AllocateAndGetIpForwardTableFromStack
-AllocateAndGetIpNetTableFromStack
-AllocateAndGetTcpExTable2FromStack
-AllocateAndGetTcpExTableFromStack
-AllocateAndGetTcpTableFromStack
-AllocateAndGetUdpExTable2FromStack
-AllocateAndGetUdpExTableFromStack
-AllocateAndGetUdpTableFromStack
-CancelIPChangeNotify
-CancelSecurityHealthChangeNotify
-CreateIpForwardEntry
-CreateIpNetEntry
-CreateProxyArpEntry
-DeleteIPAddress
-DeleteIpForwardEntry
-DeleteIpNetEntry
-DeleteProxyArpEntry
-DisableMediaSense
-EnableRouter
-FlushIpNetTable
-FlushIpNetTableFromStack
-GetAdapterIndex
-GetAdapterOrderMap
-GetAdaptersAddresses
-GetAdaptersInfo
-GetBestInterface
-GetBestInterfaceEx
-GetBestInterfaceFromStack
-GetBestRoute
-GetBestRouteFromStack
-GetExtendedTcpTable
-GetExtendedUdpTable
-GetFriendlyIfIndex
-GetIcmpStatistics
-GetIcmpStatisticsEx
-GetIcmpStatsFromStack
-GetIcmpStatsFromStackEx
-GetIfEntry
-GetIfEntryFromStack
-GetIfTable
-GetIfTableFromStack
-GetIgmpList
-GetInterfaceInfo
-GetIpAddrTable
-GetIpAddrTableFromStack
-GetIpErrorString
-GetIpForwardTable
-GetIpForwardTableFromStack
-GetIpNetTable
-GetIpNetTableFromStack
-GetIpStatistics
-GetIpStatisticsEx
-GetIpStatsFromStack
-GetIpStatsFromStackEx
-GetNetworkParams
-GetNumberOfInterfaces
-GetOwnerModuleFromTcp6Entry
-GetOwnerModuleFromTcpEntry
-GetOwnerModuleFromUdp6Entry
-GetOwnerModuleFromUdpEntry
-GetPerAdapterInfo
-GetRTTAndHopCount
-GetTcpExTable2FromStack
-GetTcpStatistics
-GetTcpStatisticsEx
-GetTcpStatsFromStack
-GetTcpStatsFromStackEx
-GetTcpTable
-GetTcpTableFromStack
-GetUdpExTable2FromStack
-GetUdpStatistics
-GetUdpStatisticsEx
-GetUdpStatsFromStack
-GetUdpStatsFromStackEx
-GetUdpTable
-GetUdpTableFromStack
-GetUniDirectionalAdapterInfo
-Icmp6CreateFile
-Icmp6ParseReplies
-Icmp6SendEcho2
-IcmpCloseHandle
-IcmpCreateFile
-IcmpParseReplies
-IcmpSendEcho
-IcmpSendEcho2
-InternalCreateIpForwardEntry
-InternalCreateIpNetEntry
-InternalDeleteIpForwardEntry
-InternalDeleteIpNetEntry
-InternalGetIfTable
-InternalGetIpAddrTable
-InternalGetIpForwardTable
-InternalGetIpNetTable
-InternalGetTcpTable
-InternalGetUdpTable
-InternalSetIfEntry
-InternalSetIpForwardEntry
-InternalSetIpNetEntry
-InternalSetIpStats
-InternalSetTcpEntry
-IpReleaseAddress
-IpRenewAddress
-IsLocalAddress
-NTPTimeToNTFileTime
-NTTimeToNTPTime
-NhGetGuidFromInterfaceName
-NhGetInterfaceNameFromDeviceGuid
-NhGetInterfaceNameFromGuid
-NhpAllocateAndGetInterfaceInfoFromStack
-NhpGetInterfaceIndexFromStack
-NotifyAddrChange
-NotifyRouteChange
-NotifyRouteChangeEx
-NotifySecurityHealthChange
-PfAddFiltersToInterface
-PfAddGlobalFilterToInterface
-PfBindInterfaceToIPAddress
-PfBindInterfaceToIndex
-PfCreateInterface
-PfDeleteInterface
-PfDeleteLog
-PfGetInterfaceStatistics
-PfMakeLog
-PfRebindFilters
-PfRemoveFilterHandles
-PfRemoveFiltersFromInterface
-PfRemoveGlobalFilterFromInterface
-PfSetLogBuffer
-PfTestPacket
-PfUnBindInterface
-RestoreMediaSense
-SendARP
-SetAdapterIpAddress
-SetBlockRoutes
-SetIfEntry
-SetIfEntryToStack
-SetIpForwardEntry
-SetIpForwardEntryToStack
-SetIpMultihopRouteEntryToStack
-SetIpNetEntry
-SetIpNetEntryToStack
-SetIpRouteEntryToStack
-SetIpStatistics
-SetIpStatsToStack
-SetIpTTL
-SetProxyArpEntryToStack
-SetRouteWithRef
-SetTcpEntry
-SetTcpEntryToStack
-UnenableRouter
-do_echo_rep
-do_echo_req
-register_icmp
+; 
+; Exports of file iphlpapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iphlpapi.dll
+EXPORTS
+AddIPAddress
+AllocateAndGetArpEntTableFromStack
+AllocateAndGetIfTableFromStack
+AllocateAndGetIpAddrTableFromStack
+AllocateAndGetIpForwardTableFromStack
+AllocateAndGetIpNetTableFromStack
+AllocateAndGetTcpExTable2FromStack
+AllocateAndGetTcpExTableFromStack
+AllocateAndGetTcpTableFromStack
+AllocateAndGetUdpExTable2FromStack
+AllocateAndGetUdpExTableFromStack
+AllocateAndGetUdpTableFromStack
+CancelIPChangeNotify
+CancelSecurityHealthChangeNotify
+CreateIpForwardEntry
+CreateIpNetEntry
+CreateProxyArpEntry
+DeleteIPAddress
+DeleteIpForwardEntry
+DeleteIpNetEntry
+DeleteProxyArpEntry
+DisableMediaSense
+EnableRouter
+FlushIpNetTable
+FlushIpNetTableFromStack
+GetAdapterIndex
+GetAdapterOrderMap
+GetAdaptersAddresses
+GetAdaptersInfo
+GetBestInterface
+GetBestInterfaceEx
+GetBestInterfaceFromStack
+GetBestRoute
+GetBestRouteFromStack
+GetExtendedTcpTable
+GetExtendedUdpTable
+GetFriendlyIfIndex
+GetIcmpStatistics
+GetIcmpStatisticsEx
+GetIcmpStatsFromStack
+GetIcmpStatsFromStackEx
+GetIfEntry
+GetIfEntryFromStack
+GetIfTable
+GetIfTableFromStack
+GetIgmpList
+GetInterfaceInfo
+GetIpAddrTable
+GetIpAddrTableFromStack
+GetIpErrorString
+GetIpForwardTable
+GetIpForwardTableFromStack
+GetIpNetTable
+GetIpNetTableFromStack
+GetIpStatistics
+GetIpStatisticsEx
+GetIpStatsFromStack
+GetIpStatsFromStackEx
+GetNetworkParams
+GetNumberOfInterfaces
+GetOwnerModuleFromTcp6Entry
+GetOwnerModuleFromTcpEntry
+GetOwnerModuleFromUdp6Entry
+GetOwnerModuleFromUdpEntry
+GetPerAdapterInfo
+GetRTTAndHopCount
+GetTcpExTable2FromStack
+GetTcpStatistics
+GetTcpStatisticsEx
+GetTcpStatsFromStack
+GetTcpStatsFromStackEx
+GetTcpTable
+GetTcpTableFromStack
+GetUdpExTable2FromStack
+GetUdpStatistics
+GetUdpStatisticsEx
+GetUdpStatsFromStack
+GetUdpStatsFromStackEx
+GetUdpTable
+GetUdpTableFromStack
+GetUniDirectionalAdapterInfo
+Icmp6CreateFile
+Icmp6ParseReplies
+Icmp6SendEcho2
+IcmpCloseHandle
+IcmpCreateFile
+IcmpParseReplies
+IcmpSendEcho
+IcmpSendEcho2
+InternalCreateIpForwardEntry
+InternalCreateIpNetEntry
+InternalDeleteIpForwardEntry
+InternalDeleteIpNetEntry
+InternalGetIfTable
+InternalGetIpAddrTable
+InternalGetIpForwardTable
+InternalGetIpNetTable
+InternalGetTcpTable
+InternalGetUdpTable
+InternalSetIfEntry
+InternalSetIpForwardEntry
+InternalSetIpNetEntry
+InternalSetIpStats
+InternalSetTcpEntry
+IpReleaseAddress
+IpRenewAddress
+IsLocalAddress
+NTPTimeToNTFileTime
+NTTimeToNTPTime
+NhGetGuidFromInterfaceName
+NhGetInterfaceNameFromDeviceGuid
+NhGetInterfaceNameFromGuid
+NhpAllocateAndGetInterfaceInfoFromStack
+NhpGetInterfaceIndexFromStack
+NotifyAddrChange
+NotifyRouteChange
+NotifyRouteChangeEx
+NotifySecurityHealthChange
+PfAddFiltersToInterface
+PfAddGlobalFilterToInterface
+PfBindInterfaceToIPAddress
+PfBindInterfaceToIndex
+PfCreateInterface
+PfDeleteInterface
+PfDeleteLog
+PfGetInterfaceStatistics
+PfMakeLog
+PfRebindFilters
+PfRemoveFilterHandles
+PfRemoveFiltersFromInterface
+PfRemoveGlobalFilterFromInterface
+PfSetLogBuffer
+PfTestPacket
+PfUnBindInterface
+RestoreMediaSense
+SendARP
+SetAdapterIpAddress
+SetBlockRoutes
+SetIfEntry
+SetIfEntryToStack
+SetIpForwardEntry
+SetIpForwardEntryToStack
+SetIpMultihopRouteEntryToStack
+SetIpNetEntry
+SetIpNetEntryToStack
+SetIpRouteEntryToStack
+SetIpStatistics
+SetIpStatsToStack
+SetIpTTL
+SetProxyArpEntryToStack
+SetRouteWithRef
+SetTcpEntry
+SetTcpEntryToStack
+UnenableRouter
+do_echo_rep
+do_echo_req
+register_icmp
diff --git a/mingw-w64-crt/lib64/ipmontr.def b/mingw-w64-crt/lib64/ipmontr.def
index 54e4bdd..e103c99 100644
--- a/mingw-w64-crt/lib64/ipmontr.def
+++ b/mingw-w64-crt/lib64/ipmontr.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file IPMONTR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPMONTR.dll
-EXPORTS
-InitHelperDll
-IpmontrDeleteInfoBlockFromInterfaceInfo
-IpmontrDeleteProtocol
-IpmontrGetFriendlyNameFromIfIndex
-IpmontrGetFriendlyNameFromIfName
-IpmontrGetIfIndexFromFriendlyName
-IpmontrGetIfNameFromFriendlyName
-IpmontrGetInfoBlockFromGlobalInfo
-IpmontrGetInfoBlockFromInterfaceInfo
-IpmontrGetInterfaceType
-IpmontrInterfaceEnum
-IpmontrSetInfoBlockInGlobalInfo
-IpmontrSetInfoBlockInInterfaceInfo
+; 
+; Exports of file IPMONTR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPMONTR.dll
+EXPORTS
+InitHelperDll
+IpmontrDeleteInfoBlockFromInterfaceInfo
+IpmontrDeleteProtocol
+IpmontrGetFriendlyNameFromIfIndex
+IpmontrGetFriendlyNameFromIfName
+IpmontrGetIfIndexFromFriendlyName
+IpmontrGetIfNameFromFriendlyName
+IpmontrGetInfoBlockFromGlobalInfo
+IpmontrGetInfoBlockFromInterfaceInfo
+IpmontrGetInterfaceType
+IpmontrInterfaceEnum
+IpmontrSetInfoBlockInGlobalInfo
+IpmontrSetInfoBlockInInterfaceInfo
diff --git a/mingw-w64-crt/lib64/ipnathlp.def b/mingw-w64-crt/lib64/ipnathlp.def
index 8377b1a..f6f4245 100644
--- a/mingw-w64-crt/lib64/ipnathlp.def
+++ b/mingw-w64-crt/lib64/ipnathlp.def
@@ -1,39 +1,39 @@
-; 
-; Exports of file IPNATHLP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPNATHLP.dll
-EXPORTS
-NhAcceptStreamSocket
-NhAcquireFixedLengthBuffer
-NhAcquireVariableLengthBuffer
-NhCreateDatagramSocket
-NhCreateStreamSocket
-NhDeleteSocket
-NhInitializeBufferManagement
-NhReadDatagramSocket
-NhReadStreamSocket
-NhReleaseBuffer
-NhWriteDatagramSocket
-NhWriteStreamSocket
-RegisterProtocol
-NatAcquirePortReservation
-NatCancelDynamicRedirect
-NatCancelRedirect
-NatCreateDynamicFullRedirect
-NatCreateDynamicRedirect
-NatCreateDynamicRedirectEx
-NatCreateRedirect
-NatCreateRedirectEx
-NatInitializePortReservation
-NatInitializeTranslator
-NatLookupAndQueryInformationSessionMapping
-NatQueryInformationRedirect
-NatQueryInformationRedirectHandle
-NatReleasePortReservation
-NatShutdownPortReservation
-NatShutdownTranslator
-NhInitializeTraceManagement
-ServiceMain
+; 
+; Exports of file IPNATHLP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPNATHLP.dll
+EXPORTS
+NhAcceptStreamSocket
+NhAcquireFixedLengthBuffer
+NhAcquireVariableLengthBuffer
+NhCreateDatagramSocket
+NhCreateStreamSocket
+NhDeleteSocket
+NhInitializeBufferManagement
+NhReadDatagramSocket
+NhReadStreamSocket
+NhReleaseBuffer
+NhWriteDatagramSocket
+NhWriteStreamSocket
+RegisterProtocol
+NatAcquirePortReservation
+NatCancelDynamicRedirect
+NatCancelRedirect
+NatCreateDynamicFullRedirect
+NatCreateDynamicRedirect
+NatCreateDynamicRedirectEx
+NatCreateRedirect
+NatCreateRedirectEx
+NatInitializePortReservation
+NatInitializeTranslator
+NatLookupAndQueryInformationSessionMapping
+NatQueryInformationRedirect
+NatQueryInformationRedirectHandle
+NatReleasePortReservation
+NatShutdownPortReservation
+NatShutdownTranslator
+NhInitializeTraceManagement
+ServiceMain
diff --git a/mingw-w64-crt/lib64/ippromon.def b/mingw-w64-crt/lib64/ippromon.def
index 692870b..bc2d77e 100644
--- a/mingw-w64-crt/lib64/ippromon.def
+++ b/mingw-w64-crt/lib64/ippromon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file IPPROMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPPROMON.dll
-EXPORTS
-InitHelperDll
+; 
+; Exports of file IPPROMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPPROMON.dll
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/iprip.def b/mingw-w64-crt/lib64/iprip.def
index 890d019..092a30e 100644
--- a/mingw-w64-crt/lib64/iprip.def
+++ b/mingw-w64-crt/lib64/iprip.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file IPRIP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPRIP.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file IPRIP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPRIP.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/iprop.def b/mingw-w64-crt/lib64/iprop.def
index 225c9ab..9f8b482 100644
--- a/mingw-w64-crt/lib64/iprop.def
+++ b/mingw-w64-crt/lib64/iprop.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file IPROP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPROP.dll
-EXPORTS
-FmtIdToPropStgName
-FreePropVariantArray
-PropStgNameToFmtId
-PropVariantClear
-PropVariantCopy
-StgCreatePropSetStg
-StgCreatePropStg
-StgOpenPropStg
+; 
+; Exports of file IPROP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPROP.dll
+EXPORTS
+FmtIdToPropStgName
+FreePropVariantArray
+PropStgNameToFmtId
+PropVariantClear
+PropVariantCopy
+StgCreatePropSetStg
+StgCreatePropStg
+StgOpenPropStg
diff --git a/mingw-w64-crt/lib64/iprtprio.def b/mingw-w64-crt/lib64/iprtprio.def
index 2bcc85d..b0d7a8f 100644
--- a/mingw-w64-crt/lib64/iprtprio.def
+++ b/mingw-w64-crt/lib64/iprtprio.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file iprtprio.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iprtprio.dll
-EXPORTS
-ComputeRouteMetric
-GetPriorityInfo
-SetPriorityInfo
+; 
+; Exports of file iprtprio.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iprtprio.dll
+EXPORTS
+ComputeRouteMetric
+GetPriorityInfo
+SetPriorityInfo
diff --git a/mingw-w64-crt/lib64/iprtrmgr.def b/mingw-w64-crt/lib64/iprtrmgr.def
index b557cb3..3542120 100644
--- a/mingw-w64-crt/lib64/iprtrmgr.def
+++ b/mingw-w64-crt/lib64/iprtrmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iprtrmgr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iprtrmgr.dll
-EXPORTS
-MapAddressToAdapter
-MapInterfaceToAdapter
-MapInterfaceToRouterIfType
-StartRouter
+; 
+; Exports of file iprtrmgr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iprtrmgr.dll
+EXPORTS
+MapAddressToAdapter
+MapInterfaceToAdapter
+MapInterfaceToRouterIfType
+StartRouter
diff --git a/mingw-w64-crt/lib64/ipsecsnp.def b/mingw-w64-crt/lib64/ipsecsnp.def
index 517da6f..deaaa63 100644
--- a/mingw-w64-crt/lib64/ipsecsnp.def
+++ b/mingw-w64-crt/lib64/ipsecsnp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IPSECSNP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPSECSNP.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IPSECSNP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPSECSNP.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ipsecsvc.def b/mingw-w64-crt/lib64/ipsecsvc.def
index a388712..153d6e5 100644
--- a/mingw-w64-crt/lib64/ipsecsvc.def
+++ b/mingw-w64-crt/lib64/ipsecsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file IPSECSPD.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPSECSPD.DLL
-EXPORTS
-SPDServiceMain
+; 
+; Exports of file IPSECSPD.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPSECSPD.DLL
+EXPORTS
+SPDServiceMain
diff --git a/mingw-w64-crt/lib64/ipsmsnap.def b/mingw-w64-crt/lib64/ipsmsnap.def
index 51b0ca8..6c62d6a 100644
--- a/mingw-w64-crt/lib64/ipsmsnap.def
+++ b/mingw-w64-crt/lib64/ipsmsnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IPSMSNAP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPSMSNAP.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IPSMSNAP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPSMSNAP.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ipv6mon.def b/mingw-w64-crt/lib64/ipv6mon.def
index e45b7b1..de1a968 100644
--- a/mingw-w64-crt/lib64/ipv6mon.def
+++ b/mingw-w64-crt/lib64/ipv6mon.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file IPV6MON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPV6MON.dll
-EXPORTS
-GetResourceString
-InitHelperDll
+; 
+; Exports of file IPV6MON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPV6MON.dll
+EXPORTS
+GetResourceString
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/ipxsap.def b/mingw-w64-crt/lib64/ipxsap.def
index c326088..388f6eb 100644
--- a/mingw-w64-crt/lib64/ipxsap.def
+++ b/mingw-w64-crt/lib64/ipxsap.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ipxsap.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ipxsap.dll
-EXPORTS
-RegisterProtocol
-ServiceMain
+; 
+; Exports of file ipxsap.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ipxsap.dll
+EXPORTS
+RegisterProtocol
+ServiceMain
diff --git a/mingw-w64-crt/lib64/irclass.def b/mingw-w64-crt/lib64/irclass.def
index fa9629a..98f6069 100644
--- a/mingw-w64-crt/lib64/irclass.def
+++ b/mingw-w64-crt/lib64/irclass.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file IRCLASS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IRCLASS.DLL
-EXPORTS
-IrSIRClassCoInstaller
-IrSIRPortPropPageProvider
+; 
+; Exports of file IRCLASS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IRCLASS.DLL
+EXPORTS
+IrSIRClassCoInstaller
+IrSIRPortPropPageProvider
diff --git a/mingw-w64-crt/lib64/isapips.def b/mingw-w64-crt/lib64/isapips.def
index f3184b4..80f5e91 100644
--- a/mingw-w64-crt/lib64/isapips.def
+++ b/mingw-w64-crt/lib64/isapips.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file isapips.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY isapips.dll
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file isapips.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY isapips.dll
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/isatq.def b/mingw-w64-crt/lib64/isatq.def
index 6c3172c..c1abd89 100644
--- a/mingw-w64-crt/lib64/isatq.def
+++ b/mingw-w64-crt/lib64/isatq.def
@@ -1,159 +1,159 @@
-; 
-; Exports of file ISATQ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ISATQ.dll
-EXPORTS
-; public: __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>(char const * __ptr64,double,unsigned long,unsigned long,bool) __ptr64
-??0?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA@PEBDNKK_N@Z
-; public: __cdecl CDirMonitor::CDirMonitor(void) __ptr64
-??0CDirMonitor@@QEAA@XZ
-; public: __cdecl CDirMonitorEntry::CDirMonitorEntry(class CDirMonitorEntry const & __ptr64) __ptr64
-??0CDirMonitorEntry@@QEAA@AEBV0@@Z
-; public: __cdecl CDirMonitorEntry::CDirMonitorEntry(void) __ptr64
-??0CDirMonitorEntry@@QEAA@XZ
-; public: __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::~CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>(void) __ptr64
-??1?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA@XZ
-; public: __cdecl CDirMonitor::~CDirMonitor(void) __ptr64
-??1CDirMonitor@@QEAA@XZ
-; public: virtual __cdecl CDirMonitorEntry::~CDirMonitorEntry(void) __ptr64
-??1CDirMonitorEntry@@UEAA@XZ
-; public: class CDirMonitorEntry & __ptr64 __cdecl CDirMonitorEntry::operator=(class CDirMonitorEntry const & __ptr64) __ptr64
-??4CDirMonitorEntry@@QEAAAEAV0@AEBV0@@Z
-; const  CDirMonitorEntry::`vftable'
-??_7CDirMonitorEntry@@6B@
-; public: long __cdecl CDirMonitor::AddRef(void) __ptr64
-?AddRef@CDirMonitor@@QEAAJXZ
-; public: virtual void __cdecl CDirMonitorEntry::AddRef(void) __ptr64
-?AddRef@CDirMonitorEntry@@UEAAXXZ
-; public: static void __cdecl CDirMonitor::AddRefRecord(class CDirMonitorEntry * __ptr64,int)
-?AddRefRecord@CDirMonitor@@SAXPEAVCDirMonitorEntry@@H@Z
-; public: unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Apply(enum LK_ACTION  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?Apply@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAAKP6A?AW4LK_ACTION@@PEAVCDirMonitorEntry@@PEAX@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::ApplyIf(enum LK_PREDICATE  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?ApplyIf@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAAKP6A?AW4LK_PREDICATE@@PEAVCDirMonitorEntry@@PEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
-; public: static unsigned long __cdecl CDirMonitor::CalcKeyHash(char const * __ptr64)
-?CalcKeyHash@CDirMonitor@@SAKPEBD@Z
-; public: int __cdecl CDirMonitor::Cleanup(void) __ptr64
-?Cleanup@CDirMonitor@@QEAAHXZ
-; protected: int __cdecl CDirMonitorEntry::Cleanup(void) __ptr64
-?Cleanup@CDirMonitorEntry@@IEAAHXZ
-; public: unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::DeleteIf(enum LK_PREDICATE  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),void * __ptr64) __ptr64
-?DeleteIf@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAAKP6A?AW4LK_PREDICATE@@PEAVCDirMonitorEntry@@PEAX@Z1@Z
-; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::DeleteKey(char const * __ptr64 const) __ptr64
-?DeleteKey@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AW4LK_RETCODE@@QEBD@Z
-; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::DeleteRecord(class CDirMonitorEntry const * __ptr64) __ptr64
-?DeleteRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AW4LK_RETCODE@@PEBVCDirMonitorEntry@@@Z
-; public: static void __cdecl CDirMonitor::DirMonitorCompletionFunction(void * __ptr64,unsigned long,unsigned long,struct _OVERLAPPED * __ptr64)
-?DirMonitorCompletionFunction@CDirMonitor@@SAXPEAXKKPEAU_OVERLAPPED@@@Z
-; public: static bool __cdecl CDirMonitor::EqualKeys(char const * __ptr64,char const * __ptr64)
-?EqualKeys@CDirMonitor@@SA_NPEBD0@Z
-; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::EqualRange(char const * __ptr64 const,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
-?EqualRange@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NQEBDAEAViterator@1@1@Z
-; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Erase(class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
-?Erase@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NAEAViterator@1@0@Z
-; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Erase(class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
-?Erase@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NAEAViterator@1@@Z
-; public: static char const * __ptr64 __cdecl CDirMonitor::ExtractKey(class CDirMonitorEntry const * __ptr64)
-?ExtractKey@CDirMonitor@@SAPEBDPEBVCDirMonitorEntry@@@Z
-; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Find(char const * __ptr64 const,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
-?Find@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NQEBDAEAViterator@1@@Z
-; public: class CDirMonitorEntry * __ptr64 __cdecl CDirMonitor::FindEntry(char const * __ptr64) __ptr64
-?FindEntry@CDirMonitor@@QEAAPEAVCDirMonitorEntry@@PEBD@Z
-; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::FindKey(char const * __ptr64 const,class CDirMonitorEntry * __ptr64 * __ptr64)const  __ptr64
-?FindKey@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEBA?AW4LK_RETCODE@@QEBDPEAPEAVCDirMonitorEntry@@@Z
-; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::FindRecord(class CDirMonitorEntry const * __ptr64)const  __ptr64
-?FindRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEBA?AW4LK_RETCODE@@PEBVCDirMonitorEntry@@@Z
-; protected: unsigned long __cdecl CDirMonitorEntry::GetBufferSize(void) __ptr64
-?GetBufferSize@CDirMonitorEntry@@IEAAKXZ
-; protected: void __cdecl CDirMonitorEntry::IOAddRef(void) __ptr64
-?IOAddRef@CDirMonitorEntry@@IEAAXXZ
-; protected: int __cdecl CDirMonitorEntry::IORelease(void) __ptr64
-?IORelease@CDirMonitorEntry@@IEAAHXZ
-; public: virtual int __cdecl CDirMonitorEntry::Init(unsigned long) __ptr64
-?Init@CDirMonitorEntry@@UEAAHK@Z
-; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Insert(class CDirMonitorEntry const * __ptr64,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64,bool) __ptr64
-?Insert@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NPEBVCDirMonitorEntry@@AEAViterator@1@_N@Z
-; public: enum LK_RETCODE  __cdecl CDirMonitor::InsertEntry(class CDirMonitorEntry * __ptr64) __ptr64
-?InsertEntry@CDirMonitor@@QEAA?AW4LK_RETCODE@@PEAVCDirMonitorEntry@@@Z
-; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::InsertRecord(class CDirMonitorEntry const * __ptr64,bool) __ptr64
-?InsertRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AW4LK_RETCODE@@PEBVCDirMonitorEntry@@_N@Z
-; public: void __cdecl CDirMonitor::Lock(void) __ptr64
-?Lock@CDirMonitor@@QEAAXXZ
-; public: int __cdecl CDirMonitor::Monitor(class CDirMonitorEntry * __ptr64,char const * __ptr64,int,unsigned long) __ptr64
-?Monitor@CDirMonitor@@QEAAHPEAVCDirMonitorEntry@@PEBDHK@Z
-; public: long __cdecl CDirMonitor::Release(void) __ptr64
-?Release@CDirMonitor@@QEAAJXZ
-; public: virtual int __cdecl CDirMonitorEntry::Release(void) __ptr64
-?Release@CDirMonitorEntry@@UEAAHXZ
-; public: enum LK_RETCODE  __cdecl CDirMonitor::RemoveEntry(class CDirMonitorEntry * __ptr64) __ptr64
-?RemoveEntry@CDirMonitor@@QEAA?AW4LK_RETCODE@@PEAVCDirMonitorEntry@@@Z
-; protected: int __cdecl CDirMonitorEntry::RequestNotification(void) __ptr64
-?RequestNotification@CDirMonitorEntry@@IEAAHXZ
-; protected: int __cdecl CDirMonitorEntry::ResetDirectoryHandle(void) __ptr64
-?ResetDirectoryHandle@CDirMonitorEntry@@IEAAHXZ
-; private: void __cdecl CDirMonitor::SerialComplLock(void) __ptr64
-?SerialComplLock@CDirMonitor@@AEAAXXZ
-; private: void __cdecl CDirMonitor::SerialComplUnlock(void) __ptr64
-?SerialComplUnlock@CDirMonitor@@AEAAXXZ
-; protected: int __cdecl CDirMonitorEntry::SetBufferSize(unsigned long) __ptr64
-?SetBufferSize@CDirMonitorEntry@@IEAAHK@Z
-; public: void __cdecl CDirMonitor::Unlock(void) __ptr64
-?Unlock@CDirMonitor@@QEAAXXZ
-; private: static enum LK_ACTION  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_Action(void const * __ptr64,void * __ptr64)
-?_Action@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA?AW4LK_ACTION@@PEBXPEAX@Z
-; private: static void __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_AddRefRecord(void const * __ptr64,int)
-?_AddRefRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CAXPEBXH@Z
-; private: static unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_CalcKeyHash(unsigned __int64)
-?_CalcKeyHash@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CAK_K@Z
-; private: static bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_EqualKeys(unsigned __int64,unsigned __int64)
-?_EqualKeys@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA_N_K0@Z
-; private: static unsigned __int64 const  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_ExtractKey(void const * __ptr64)
-?_ExtractKey@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA?B_KPEBX@Z
-; private: static enum LK_PREDICATE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_Pred(void const * __ptr64,void * __ptr64)
-?_Pred@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
-; public: class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::begin(void) __ptr64
-?begin@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AViterator@1@XZ
-; public: class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::end(void) __ptr64
-?end@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AViterator@1@XZ
-AtqAddAsyncHandle
-AtqBandwidthGetInfo
-AtqBandwidthSetInfo
-AtqClearStatistics
-AtqCloseEndpoint
-AtqCloseFileHandle
-AtqCloseSocket
-AtqContextSetInfo
-AtqCreateBandwidthInfo
-AtqCreateEndpoint
-AtqEndpointGetInfo
-AtqEndpointSetInfo
-AtqFreeBandwidthInfo
-AtqFreeContext
-AtqGetAcceptExAddrs
-AtqGetCapTraceInfo
-AtqGetCompletionPort
-AtqGetInfo
-AtqGetStatistics
-AtqInitialize
-AtqPostCompletionStatus
-AtqReadDirChanges
-AtqReadFile
-AtqReadSocket
-AtqSetInfo
-AtqSetSocketOption
-AtqStartEndpoint
-AtqStopAndCloseEndpoint
-AtqStopEndpoint
-AtqSyncWsaSend
-AtqTerminate
-AtqTransmitFile
-AtqTransmitFileEx
-AtqWriteFile
-AtqWriteSocket
-GetIISCapTraceFlag
-GetIISCapTraceLoggerHandle
-IISInitializeCapTrace
-SetIISCapTraceFlag
+; 
+; Exports of file ISATQ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ISATQ.dll
+EXPORTS
+; public: __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>(char const * __ptr64,double,unsigned long,unsigned long,bool) __ptr64
+??0?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA@PEBDNKK_N@Z
+; public: __cdecl CDirMonitor::CDirMonitor(void) __ptr64
+??0CDirMonitor@@QEAA@XZ
+; public: __cdecl CDirMonitorEntry::CDirMonitorEntry(class CDirMonitorEntry const & __ptr64) __ptr64
+??0CDirMonitorEntry@@QEAA@AEBV0@@Z
+; public: __cdecl CDirMonitorEntry::CDirMonitorEntry(void) __ptr64
+??0CDirMonitorEntry@@QEAA@XZ
+; public: __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::~CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>(void) __ptr64
+??1?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA@XZ
+; public: __cdecl CDirMonitor::~CDirMonitor(void) __ptr64
+??1CDirMonitor@@QEAA@XZ
+; public: virtual __cdecl CDirMonitorEntry::~CDirMonitorEntry(void) __ptr64
+??1CDirMonitorEntry@@UEAA@XZ
+; public: class CDirMonitorEntry & __ptr64 __cdecl CDirMonitorEntry::operator=(class CDirMonitorEntry const & __ptr64) __ptr64
+??4CDirMonitorEntry@@QEAAAEAV0@AEBV0@@Z
+; const  CDirMonitorEntry::`vftable'
+??_7CDirMonitorEntry@@6B@
+; public: long __cdecl CDirMonitor::AddRef(void) __ptr64
+?AddRef@CDirMonitor@@QEAAJXZ
+; public: virtual void __cdecl CDirMonitorEntry::AddRef(void) __ptr64
+?AddRef@CDirMonitorEntry@@UEAAXXZ
+; public: static void __cdecl CDirMonitor::AddRefRecord(class CDirMonitorEntry * __ptr64,int)
+?AddRefRecord@CDirMonitor@@SAXPEAVCDirMonitorEntry@@H@Z
+; public: unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Apply(enum LK_ACTION  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?Apply@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAAKP6A?AW4LK_ACTION@@PEAVCDirMonitorEntry@@PEAX@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::ApplyIf(enum LK_PREDICATE  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?ApplyIf@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAAKP6A?AW4LK_PREDICATE@@PEAVCDirMonitorEntry@@PEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
+; public: static unsigned long __cdecl CDirMonitor::CalcKeyHash(char const * __ptr64)
+?CalcKeyHash@CDirMonitor@@SAKPEBD@Z
+; public: int __cdecl CDirMonitor::Cleanup(void) __ptr64
+?Cleanup@CDirMonitor@@QEAAHXZ
+; protected: int __cdecl CDirMonitorEntry::Cleanup(void) __ptr64
+?Cleanup@CDirMonitorEntry@@IEAAHXZ
+; public: unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::DeleteIf(enum LK_PREDICATE  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),void * __ptr64) __ptr64
+?DeleteIf@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAAKP6A?AW4LK_PREDICATE@@PEAVCDirMonitorEntry@@PEAX@Z1@Z
+; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::DeleteKey(char const * __ptr64 const) __ptr64
+?DeleteKey@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AW4LK_RETCODE@@QEBD@Z
+; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::DeleteRecord(class CDirMonitorEntry const * __ptr64) __ptr64
+?DeleteRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AW4LK_RETCODE@@PEBVCDirMonitorEntry@@@Z
+; public: static void __cdecl CDirMonitor::DirMonitorCompletionFunction(void * __ptr64,unsigned long,unsigned long,struct _OVERLAPPED * __ptr64)
+?DirMonitorCompletionFunction@CDirMonitor@@SAXPEAXKKPEAU_OVERLAPPED@@@Z
+; public: static bool __cdecl CDirMonitor::EqualKeys(char const * __ptr64,char const * __ptr64)
+?EqualKeys@CDirMonitor@@SA_NPEBD0@Z
+; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::EqualRange(char const * __ptr64 const,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
+?EqualRange@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NQEBDAEAViterator@1@1@Z
+; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Erase(class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
+?Erase@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NAEAViterator@1@0@Z
+; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Erase(class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
+?Erase@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NAEAViterator@1@@Z
+; public: static char const * __ptr64 __cdecl CDirMonitor::ExtractKey(class CDirMonitorEntry const * __ptr64)
+?ExtractKey@CDirMonitor@@SAPEBDPEBVCDirMonitorEntry@@@Z
+; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Find(char const * __ptr64 const,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
+?Find@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NQEBDAEAViterator@1@@Z
+; public: class CDirMonitorEntry * __ptr64 __cdecl CDirMonitor::FindEntry(char const * __ptr64) __ptr64
+?FindEntry@CDirMonitor@@QEAAPEAVCDirMonitorEntry@@PEBD@Z
+; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::FindKey(char const * __ptr64 const,class CDirMonitorEntry * __ptr64 * __ptr64)const  __ptr64
+?FindKey@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEBA?AW4LK_RETCODE@@QEBDPEAPEAVCDirMonitorEntry@@@Z
+; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::FindRecord(class CDirMonitorEntry const * __ptr64)const  __ptr64
+?FindRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEBA?AW4LK_RETCODE@@PEBVCDirMonitorEntry@@@Z
+; protected: unsigned long __cdecl CDirMonitorEntry::GetBufferSize(void) __ptr64
+?GetBufferSize@CDirMonitorEntry@@IEAAKXZ
+; protected: void __cdecl CDirMonitorEntry::IOAddRef(void) __ptr64
+?IOAddRef@CDirMonitorEntry@@IEAAXXZ
+; protected: int __cdecl CDirMonitorEntry::IORelease(void) __ptr64
+?IORelease@CDirMonitorEntry@@IEAAHXZ
+; public: virtual int __cdecl CDirMonitorEntry::Init(unsigned long) __ptr64
+?Init@CDirMonitorEntry@@UEAAHK@Z
+; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Insert(class CDirMonitorEntry const * __ptr64,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64,bool) __ptr64
+?Insert@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NPEBVCDirMonitorEntry@@AEAViterator@1@_N@Z
+; public: enum LK_RETCODE  __cdecl CDirMonitor::InsertEntry(class CDirMonitorEntry * __ptr64) __ptr64
+?InsertEntry@CDirMonitor@@QEAA?AW4LK_RETCODE@@PEAVCDirMonitorEntry@@@Z
+; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::InsertRecord(class CDirMonitorEntry const * __ptr64,bool) __ptr64
+?InsertRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AW4LK_RETCODE@@PEBVCDirMonitorEntry@@_N@Z
+; public: void __cdecl CDirMonitor::Lock(void) __ptr64
+?Lock@CDirMonitor@@QEAAXXZ
+; public: int __cdecl CDirMonitor::Monitor(class CDirMonitorEntry * __ptr64,char const * __ptr64,int,unsigned long) __ptr64
+?Monitor@CDirMonitor@@QEAAHPEAVCDirMonitorEntry@@PEBDHK@Z
+; public: long __cdecl CDirMonitor::Release(void) __ptr64
+?Release@CDirMonitor@@QEAAJXZ
+; public: virtual int __cdecl CDirMonitorEntry::Release(void) __ptr64
+?Release@CDirMonitorEntry@@UEAAHXZ
+; public: enum LK_RETCODE  __cdecl CDirMonitor::RemoveEntry(class CDirMonitorEntry * __ptr64) __ptr64
+?RemoveEntry@CDirMonitor@@QEAA?AW4LK_RETCODE@@PEAVCDirMonitorEntry@@@Z
+; protected: int __cdecl CDirMonitorEntry::RequestNotification(void) __ptr64
+?RequestNotification@CDirMonitorEntry@@IEAAHXZ
+; protected: int __cdecl CDirMonitorEntry::ResetDirectoryHandle(void) __ptr64
+?ResetDirectoryHandle@CDirMonitorEntry@@IEAAHXZ
+; private: void __cdecl CDirMonitor::SerialComplLock(void) __ptr64
+?SerialComplLock@CDirMonitor@@AEAAXXZ
+; private: void __cdecl CDirMonitor::SerialComplUnlock(void) __ptr64
+?SerialComplUnlock@CDirMonitor@@AEAAXXZ
+; protected: int __cdecl CDirMonitorEntry::SetBufferSize(unsigned long) __ptr64
+?SetBufferSize@CDirMonitorEntry@@IEAAHK@Z
+; public: void __cdecl CDirMonitor::Unlock(void) __ptr64
+?Unlock@CDirMonitor@@QEAAXXZ
+; private: static enum LK_ACTION  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_Action(void const * __ptr64,void * __ptr64)
+?_Action@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA?AW4LK_ACTION@@PEBXPEAX@Z
+; private: static void __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_AddRefRecord(void const * __ptr64,int)
+?_AddRefRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CAXPEBXH@Z
+; private: static unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_CalcKeyHash(unsigned __int64)
+?_CalcKeyHash@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CAK_K@Z
+; private: static bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_EqualKeys(unsigned __int64,unsigned __int64)
+?_EqualKeys@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA_N_K0@Z
+; private: static unsigned __int64 const  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_ExtractKey(void const * __ptr64)
+?_ExtractKey@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA?B_KPEBX@Z
+; private: static enum LK_PREDICATE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_Pred(void const * __ptr64,void * __ptr64)
+?_Pred@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
+; public: class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::begin(void) __ptr64
+?begin@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AViterator@1@XZ
+; public: class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::end(void) __ptr64
+?end@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AViterator@1@XZ
+AtqAddAsyncHandle
+AtqBandwidthGetInfo
+AtqBandwidthSetInfo
+AtqClearStatistics
+AtqCloseEndpoint
+AtqCloseFileHandle
+AtqCloseSocket
+AtqContextSetInfo
+AtqCreateBandwidthInfo
+AtqCreateEndpoint
+AtqEndpointGetInfo
+AtqEndpointSetInfo
+AtqFreeBandwidthInfo
+AtqFreeContext
+AtqGetAcceptExAddrs
+AtqGetCapTraceInfo
+AtqGetCompletionPort
+AtqGetInfo
+AtqGetStatistics
+AtqInitialize
+AtqPostCompletionStatus
+AtqReadDirChanges
+AtqReadFile
+AtqReadSocket
+AtqSetInfo
+AtqSetSocketOption
+AtqStartEndpoint
+AtqStopAndCloseEndpoint
+AtqStopEndpoint
+AtqSyncWsaSend
+AtqTerminate
+AtqTransmitFile
+AtqTransmitFileEx
+AtqWriteFile
+AtqWriteSocket
+GetIISCapTraceFlag
+GetIISCapTraceLoggerHandle
+IISInitializeCapTrace
+SetIISCapTraceFlag
diff --git a/mingw-w64-crt/lib64/iscomlog.def b/mingw-w64-crt/lib64/iscomlog.def
index a6deb35..fecc80c 100644
--- a/mingw-w64-crt/lib64/iscomlog.def
+++ b/mingw-w64-crt/lib64/iscomlog.def
@@ -1,32 +1,32 @@
-; 
-; Exports of file ISCOMLOG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ISCOMLOG.dll
-EXPORTS
-; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
-??0LOGGING@@QEAA@AEBV0@@Z
-; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
-??4LOGGING@@QEAAAEAV0@AEBV0@@Z
-ComLogCustomInformation
-ComLogDllCleanUp
-ComLogDllStartup
-ComLogGetConfig
-ComLogInitializeLog
-ComLogLogInformation
-ComLogNotifyChange
-ComLogQueryExtraLogFields
-ComLogSetConfig
-ComLogTerminateLog
-; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
-?LockExclusive@LOGGING@@AEAAXXZ
-; private: void __cdecl LOGGING::LockShared(void) __ptr64
-?LockShared@LOGGING@@AEAAXXZ
-; private: void __cdecl LOGGING::Unlock(void) __ptr64
-?Unlock@LOGGING@@AEAAXXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ISCOMLOG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ISCOMLOG.dll
+EXPORTS
+; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
+??0LOGGING@@QEAA@AEBV0@@Z
+; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
+??4LOGGING@@QEAAAEAV0@AEBV0@@Z
+ComLogCustomInformation
+ComLogDllCleanUp
+ComLogDllStartup
+ComLogGetConfig
+ComLogInitializeLog
+ComLogLogInformation
+ComLogNotifyChange
+ComLogQueryExtraLogFields
+ComLogSetConfig
+ComLogTerminateLog
+; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
+?LockExclusive@LOGGING@@AEAAXXZ
+; private: void __cdecl LOGGING::LockShared(void) __ptr64
+?LockShared@LOGGING@@AEAAXXZ
+; private: void __cdecl LOGGING::Unlock(void) __ptr64
+?Unlock@LOGGING@@AEAAXXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/isign32.def b/mingw-w64-crt/lib64/isign32.def
index 5b6a614..2694199 100644
--- a/mingw-w64-crt/lib64/isign32.def
+++ b/mingw-w64-crt/lib64/isign32.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file isignup2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY isignup2.dll
-EXPORTS
-AutoDialLogon
-AutoDialLogonA
-AutoDialLogonW
-AutoDialSignup
-AutoDialSignupA
-AutoDialSignupW
-IEAKProcessISP
-IEAKProcessISPA
-IEAKProcessISPW
-Signup
+; 
+; Exports of file isignup2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY isignup2.dll
+EXPORTS
+AutoDialLogon
+AutoDialLogonA
+AutoDialLogonW
+AutoDialSignup
+AutoDialSignupA
+AutoDialSignupW
+IEAKProcessISP
+IEAKProcessISPA
+IEAKProcessISPW
+Signup
diff --git a/mingw-w64-crt/lib64/itircl.def b/mingw-w64-crt/lib64/itircl.def
index f43053e..8658ce8 100644
--- a/mingw-w64-crt/lib64/itircl.def
+++ b/mingw-w64-crt/lib64/itircl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ITLocal.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ITLocal.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ITLocal.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ITLocal.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/itss.def b/mingw-w64-crt/lib64/itss.def
index 86ef541..1413999 100644
--- a/mingw-w64-crt/lib64/itss.def
+++ b/mingw-w64-crt/lib64/itss.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ITSS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ITSS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ITSS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ITSS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ixsso.def b/mingw-w64-crt/lib64/ixsso.def
index d72d10d..2156291 100644
--- a/mingw-w64-crt/lib64/ixsso.def
+++ b/mingw-w64-crt/lib64/ixsso.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IXSSO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IXSSO.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IXSSO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IXSSO.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/iyuv_32.def b/mingw-w64-crt/lib64/iyuv_32.def
index 5182366..276e0f4 100644
--- a/mingw-w64-crt/lib64/iyuv_32.def
+++ b/mingw-w64-crt/lib64/iyuv_32.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IYUV_32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IYUV_32.dll
-EXPORTS
-AboutDialogProc
-DllMain
-DriverDialogProc
-DriverProc
+; 
+; Exports of file IYUV_32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IYUV_32.dll
+EXPORTS
+AboutDialogProc
+DllMain
+DriverDialogProc
+DriverProc
diff --git a/mingw-w64-crt/lib64/jet500.def b/mingw-w64-crt/lib64/jet500.def
index 8593080..5dbd7b1 100644
--- a/mingw-w64-crt/lib64/jet500.def
+++ b/mingw-w64-crt/lib64/jet500.def
@@ -1,93 +1,93 @@
-; 
-; Exports of file JET500.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY JET500.dll
-EXPORTS
-JetAddColumn
-JetAttachDatabase
-JetBackup
-JetBeginExternalBackup
-JetBeginSession
-JetBeginTransaction
-JetCloseDatabase
-JetCloseFile
-JetCloseTable
-JetCommitTransaction
-JetCompact
-JetComputeStats
-JetCreateDatabase
-JetCreateIndex
-JetCreateLink
-JetCreateQuery
-JetCreateTable
-JetCreateTableColumnIndex
-JetDBUtilities
-JetDelete
-JetDeleteColumn
-JetDeleteIndex
-JetDeleteTable
-JetDetachDatabase
-JetDupCursor
-JetDupSession
-JetEndExternalBackup
-JetEndSession
-JetExecuteSql
-JetExternalRestore
-JetGetAttachInfo
-JetGetBookmark
-JetGetChecksum
-JetGetColumnInfo
-JetGetCounter
-JetGetCurrentIndex
-JetGetCursorInfo
-JetGetDatabaseInfo
-JetGetIndexInfo
-JetGetLogInfo
-JetGetObjectInfo
-JetGetObjidFromName
-JetGetQueryParameterInfo
-JetGetRecordPosition
-JetGetSystemParameter
-JetGetTableColumnInfo
-JetGetTableIndexInfo
-JetGetTableInfo
-JetGetVersion
-JetGotoBookmark
-JetGotoPosition
-JetIdle
-JetIndexRecordCount
-JetInit
-JetMakeKey
-JetMove
-JetOpenDatabase
-JetOpenFile
-JetOpenQueryDef
-JetOpenTable
-JetOpenTempTable
-JetOpenTempTable2
-JetPrepareUpdate
-JetReadFile
-JetResetCounter
-JetRestore
-JetRestore2
-JetRetrieveColumn
-JetRetrieveColumns
-JetRetrieveKey
-JetRetrieveQoSql
-JetRollback
-JetSeek
-JetSetAccess
-JetSetColumn
-JetSetColumns
-JetSetCurrentIndex
-JetSetCurrentIndex2
-JetSetIndexRange
-JetSetQoSql
-JetSetSystemParameter
-JetTerm
-JetTerm2
-JetTruncateLog
-JetUpdate
+; 
+; Exports of file JET500.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY JET500.dll
+EXPORTS
+JetAddColumn
+JetAttachDatabase
+JetBackup
+JetBeginExternalBackup
+JetBeginSession
+JetBeginTransaction
+JetCloseDatabase
+JetCloseFile
+JetCloseTable
+JetCommitTransaction
+JetCompact
+JetComputeStats
+JetCreateDatabase
+JetCreateIndex
+JetCreateLink
+JetCreateQuery
+JetCreateTable
+JetCreateTableColumnIndex
+JetDBUtilities
+JetDelete
+JetDeleteColumn
+JetDeleteIndex
+JetDeleteTable
+JetDetachDatabase
+JetDupCursor
+JetDupSession
+JetEndExternalBackup
+JetEndSession
+JetExecuteSql
+JetExternalRestore
+JetGetAttachInfo
+JetGetBookmark
+JetGetChecksum
+JetGetColumnInfo
+JetGetCounter
+JetGetCurrentIndex
+JetGetCursorInfo
+JetGetDatabaseInfo
+JetGetIndexInfo
+JetGetLogInfo
+JetGetObjectInfo
+JetGetObjidFromName
+JetGetQueryParameterInfo
+JetGetRecordPosition
+JetGetSystemParameter
+JetGetTableColumnInfo
+JetGetTableIndexInfo
+JetGetTableInfo
+JetGetVersion
+JetGotoBookmark
+JetGotoPosition
+JetIdle
+JetIndexRecordCount
+JetInit
+JetMakeKey
+JetMove
+JetOpenDatabase
+JetOpenFile
+JetOpenQueryDef
+JetOpenTable
+JetOpenTempTable
+JetOpenTempTable2
+JetPrepareUpdate
+JetReadFile
+JetResetCounter
+JetRestore
+JetRestore2
+JetRetrieveColumn
+JetRetrieveColumns
+JetRetrieveKey
+JetRetrieveQoSql
+JetRollback
+JetSeek
+JetSetAccess
+JetSetColumn
+JetSetColumns
+JetSetCurrentIndex
+JetSetCurrentIndex2
+JetSetIndexRange
+JetSetQoSql
+JetSetSystemParameter
+JetTerm
+JetTerm2
+JetTruncateLog
+JetUpdate
diff --git a/mingw-w64-crt/lib64/jscript.def b/mingw-w64-crt/lib64/jscript.def
index 0057f37..7726a13 100644
--- a/mingw-w64-crt/lib64/jscript.def
+++ b/mingw-w64-crt/lib64/jscript.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file JSCRIPT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY JSCRIPT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file JSCRIPT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY JSCRIPT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/jsproxy.def b/mingw-w64-crt/lib64/jsproxy.def
index 15ae127..1600baf 100644
--- a/mingw-w64-crt/lib64/jsproxy.def
+++ b/mingw-w64-crt/lib64/jsproxy.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file JSProxy.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY JSProxy.dll
-EXPORTS
-InternetInitializeAutoProxyDll
-InternetDeInitializeAutoProxyDll
-InternetGetProxyInfo
+; 
+; Exports of file JSProxy.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY JSProxy.dll
+EXPORTS
+InternetInitializeAutoProxyDll
+InternetDeInitializeAutoProxyDll
+InternetGetProxyInfo
diff --git a/mingw-w64-crt/lib64/kbd101.def b/mingw-w64-crt/lib64/kbd101.def
index c773f4f..7351504 100644
--- a/mingw-w64-crt/lib64/kbd101.def
+++ b/mingw-w64-crt/lib64/kbd101.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD101.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD101.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbd101a.def b/mingw-w64-crt/lib64/kbd101a.def
index a9a58a6..fcd9ffc 100644
--- a/mingw-w64-crt/lib64/kbd101a.def
+++ b/mingw-w64-crt/lib64/kbd101a.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD101A.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101A.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD101A.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101A.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbd101b.def b/mingw-w64-crt/lib64/kbd101b.def
index dbe1ccd..8f1fbd2 100644
--- a/mingw-w64-crt/lib64/kbd101b.def
+++ b/mingw-w64-crt/lib64/kbd101b.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD101B.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101B.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD101B.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101B.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbd101c.def b/mingw-w64-crt/lib64/kbd101c.def
index 38e5e8b..c7624e6 100644
--- a/mingw-w64-crt/lib64/kbd101c.def
+++ b/mingw-w64-crt/lib64/kbd101c.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD101C.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101C.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD101C.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101C.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbd103.def b/mingw-w64-crt/lib64/kbd103.def
index 74daf31..0f25ddd 100644
--- a/mingw-w64-crt/lib64/kbd103.def
+++ b/mingw-w64-crt/lib64/kbd103.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD103.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD103.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD103.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD103.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbd106.def b/mingw-w64-crt/lib64/kbd106.def
index 754bbb2..fb71842 100644
--- a/mingw-w64-crt/lib64/kbd106.def
+++ b/mingw-w64-crt/lib64/kbd106.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD106.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD106.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD106.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD106.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbd106n.def b/mingw-w64-crt/lib64/kbd106n.def
index 7ec3b4c..c27a1b1 100644
--- a/mingw-w64-crt/lib64/kbd106n.def
+++ b/mingw-w64-crt/lib64/kbd106n.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD106N.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD106N.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD106N.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD106N.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbda1.def b/mingw-w64-crt/lib64/kbda1.def
index 7f9e14c..12bc19c 100644
--- a/mingw-w64-crt/lib64/kbda1.def
+++ b/mingw-w64-crt/lib64/kbda1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDA1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDA1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDA1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDA1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbda2.def b/mingw-w64-crt/lib64/kbda2.def
index d1c7e7b..96ba5bd 100644
--- a/mingw-w64-crt/lib64/kbda2.def
+++ b/mingw-w64-crt/lib64/kbda2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDA2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDA2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDA2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDA2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbda3.def b/mingw-w64-crt/lib64/kbda3.def
index dcca462..3e690f4 100644
--- a/mingw-w64-crt/lib64/kbda3.def
+++ b/mingw-w64-crt/lib64/kbda3.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDA3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDA3.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDA3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDA3.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdal.def b/mingw-w64-crt/lib64/kbdal.def
index ccae5bc..e12fbb0 100644
--- a/mingw-w64-crt/lib64/kbdal.def
+++ b/mingw-w64-crt/lib64/kbdal.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDAL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDAL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDAL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDAL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdarme.def b/mingw-w64-crt/lib64/kbdarme.def
index cb404e4..e2859f1 100644
--- a/mingw-w64-crt/lib64/kbdarme.def
+++ b/mingw-w64-crt/lib64/kbdarme.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDARME.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDARME.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDARME.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDARME.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdarmw.def b/mingw-w64-crt/lib64/kbdarmw.def
index 1ded87f..1ab006c 100644
--- a/mingw-w64-crt/lib64/kbdarmw.def
+++ b/mingw-w64-crt/lib64/kbdarmw.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDARMW.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDARMW.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDARMW.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDARMW.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdax2.def b/mingw-w64-crt/lib64/kbdax2.def
index 09e3a83..e5bf21b 100644
--- a/mingw-w64-crt/lib64/kbdax2.def
+++ b/mingw-w64-crt/lib64/kbdax2.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDAX2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDAX2.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDAX2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDAX2.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdaze.def b/mingw-w64-crt/lib64/kbdaze.def
index 3a6f8fa..8da2ef1 100644
--- a/mingw-w64-crt/lib64/kbdaze.def
+++ b/mingw-w64-crt/lib64/kbdaze.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDAZE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDAZE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDAZE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDAZE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdazel.def b/mingw-w64-crt/lib64/kbdazel.def
index c941112..7790475 100644
--- a/mingw-w64-crt/lib64/kbdazel.def
+++ b/mingw-w64-crt/lib64/kbdazel.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDAZEL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDAZEL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDAZEL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDAZEL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdbe.def b/mingw-w64-crt/lib64/kbdbe.def
index 8233f05..4f85f6d 100644
--- a/mingw-w64-crt/lib64/kbdbe.def
+++ b/mingw-w64-crt/lib64/kbdbe.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdbene.def b/mingw-w64-crt/lib64/kbdbene.def
index 12610d8..899304d 100644
--- a/mingw-w64-crt/lib64/kbdbene.def
+++ b/mingw-w64-crt/lib64/kbdbene.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBENE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBENE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBENE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBENE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdblr.def b/mingw-w64-crt/lib64/kbdblr.def
index fe5b4dc..03d4f7b 100644
--- a/mingw-w64-crt/lib64/kbdblr.def
+++ b/mingw-w64-crt/lib64/kbdblr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBLR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBLR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBLR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBLR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdbr.def b/mingw-w64-crt/lib64/kbdbr.def
index 4920515..ea392b3 100644
--- a/mingw-w64-crt/lib64/kbdbr.def
+++ b/mingw-w64-crt/lib64/kbdbr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdbu.def b/mingw-w64-crt/lib64/kbdbu.def
index a851421..741587b 100644
--- a/mingw-w64-crt/lib64/kbdbu.def
+++ b/mingw-w64-crt/lib64/kbdbu.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBU.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBU.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdca.def b/mingw-w64-crt/lib64/kbdca.def
index 48b00b7..5fc7707 100644
--- a/mingw-w64-crt/lib64/kbdca.def
+++ b/mingw-w64-crt/lib64/kbdca.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdcan.def b/mingw-w64-crt/lib64/kbdcan.def
index a5d6aa7..4c35200 100644
--- a/mingw-w64-crt/lib64/kbdcan.def
+++ b/mingw-w64-crt/lib64/kbdcan.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCAN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCAN.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCAN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCAN.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdcr.def b/mingw-w64-crt/lib64/kbdcr.def
index a3edc76..7679e80 100644
--- a/mingw-w64-crt/lib64/kbdcr.def
+++ b/mingw-w64-crt/lib64/kbdcr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdcz.def b/mingw-w64-crt/lib64/kbdcz.def
index 6b1c8b6..618ee73 100644
--- a/mingw-w64-crt/lib64/kbdcz.def
+++ b/mingw-w64-crt/lib64/kbdcz.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCZ.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCZ.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdcz1.def b/mingw-w64-crt/lib64/kbdcz1.def
index ba1bf7f..4014b96 100644
--- a/mingw-w64-crt/lib64/kbdcz1.def
+++ b/mingw-w64-crt/lib64/kbdcz1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCZ1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCZ1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCZ1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCZ1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdcz2.def b/mingw-w64-crt/lib64/kbdcz2.def
index 57c007e..e37c32c 100644
--- a/mingw-w64-crt/lib64/kbdcz2.def
+++ b/mingw-w64-crt/lib64/kbdcz2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCZ2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCZ2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCZ2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCZ2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdda.def b/mingw-w64-crt/lib64/kbdda.def
index 31f13fe..8a7269b 100644
--- a/mingw-w64-crt/lib64/kbdda.def
+++ b/mingw-w64-crt/lib64/kbdda.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDDA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDDA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDDA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDDA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbddiv1.def b/mingw-w64-crt/lib64/kbddiv1.def
index 4baa6ea..376187a 100644
--- a/mingw-w64-crt/lib64/kbddiv1.def
+++ b/mingw-w64-crt/lib64/kbddiv1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDDIV1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDDIV1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDDIV1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDDIV1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbddiv2.def b/mingw-w64-crt/lib64/kbddiv2.def
index 9943059..540f254 100644
--- a/mingw-w64-crt/lib64/kbddiv2.def
+++ b/mingw-w64-crt/lib64/kbddiv2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDDIV2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDDIV2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDDIV2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDDIV2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbddv.def b/mingw-w64-crt/lib64/kbddv.def
index 72f3ad3..d84d16e 100644
--- a/mingw-w64-crt/lib64/kbddv.def
+++ b/mingw-w64-crt/lib64/kbddv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDDV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDDV.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDDV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDDV.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdes.def b/mingw-w64-crt/lib64/kbdes.def
index 8b4698e..3daea3d 100644
--- a/mingw-w64-crt/lib64/kbdes.def
+++ b/mingw-w64-crt/lib64/kbdes.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDES.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDES.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDES.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDES.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdest.def b/mingw-w64-crt/lib64/kbdest.def
index 81ca14e..954d822 100644
--- a/mingw-w64-crt/lib64/kbdest.def
+++ b/mingw-w64-crt/lib64/kbdest.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDEST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDEST.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDEST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDEST.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdfa.def b/mingw-w64-crt/lib64/kbdfa.def
index 95b7f84..05ab79c 100644
--- a/mingw-w64-crt/lib64/kbdfa.def
+++ b/mingw-w64-crt/lib64/kbdfa.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdfc.def b/mingw-w64-crt/lib64/kbdfc.def
index 3cec8df..1970a39 100644
--- a/mingw-w64-crt/lib64/kbdfc.def
+++ b/mingw-w64-crt/lib64/kbdfc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdfi.def b/mingw-w64-crt/lib64/kbdfi.def
index af84a45..49b5c1e 100644
--- a/mingw-w64-crt/lib64/kbdfi.def
+++ b/mingw-w64-crt/lib64/kbdfi.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFI.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFI.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdfo.def b/mingw-w64-crt/lib64/kbdfo.def
index 7067684..db2e4bd 100644
--- a/mingw-w64-crt/lib64/kbdfo.def
+++ b/mingw-w64-crt/lib64/kbdfo.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFO.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFO.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdfr.def b/mingw-w64-crt/lib64/kbdfr.def
index 82dd2f2..523ed66 100644
--- a/mingw-w64-crt/lib64/kbdfr.def
+++ b/mingw-w64-crt/lib64/kbdfr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdgae.def b/mingw-w64-crt/lib64/kbdgae.def
index 630db6f..d3a1d7e 100644
--- a/mingw-w64-crt/lib64/kbdgae.def
+++ b/mingw-w64-crt/lib64/kbdgae.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGAE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGAE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGAE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGAE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdgeo.def b/mingw-w64-crt/lib64/kbdgeo.def
index a962383..80cde30 100644
--- a/mingw-w64-crt/lib64/kbdgeo.def
+++ b/mingw-w64-crt/lib64/kbdgeo.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGeo.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGeo.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGeo.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGeo.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdgkl.def b/mingw-w64-crt/lib64/kbdgkl.def
index 49cf091..d1bee9d 100644
--- a/mingw-w64-crt/lib64/kbdgkl.def
+++ b/mingw-w64-crt/lib64/kbdgkl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGKL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGKL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGKL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGKL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdgr.def b/mingw-w64-crt/lib64/kbdgr.def
index f87f293..6dba5cf 100644
--- a/mingw-w64-crt/lib64/kbdgr.def
+++ b/mingw-w64-crt/lib64/kbdgr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdgr1.def b/mingw-w64-crt/lib64/kbdgr1.def
index f90c0fe..9c03b1d 100644
--- a/mingw-w64-crt/lib64/kbdgr1.def
+++ b/mingw-w64-crt/lib64/kbdgr1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGR1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGR1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGR1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGR1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdhe.def b/mingw-w64-crt/lib64/kbdhe.def
index c809729..ebef868 100644
--- a/mingw-w64-crt/lib64/kbdhe.def
+++ b/mingw-w64-crt/lib64/kbdhe.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdhe220.def b/mingw-w64-crt/lib64/kbdhe220.def
index bc7cdde..9b11d0e 100644
--- a/mingw-w64-crt/lib64/kbdhe220.def
+++ b/mingw-w64-crt/lib64/kbdhe220.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHE220.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHE220.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHE220.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHE220.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdhe319.def b/mingw-w64-crt/lib64/kbdhe319.def
index cfa96e1..1cddde2 100644
--- a/mingw-w64-crt/lib64/kbdhe319.def
+++ b/mingw-w64-crt/lib64/kbdhe319.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHE319.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHE319.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHE319.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHE319.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdheb.def b/mingw-w64-crt/lib64/kbdheb.def
index e3548a9..739df68 100644
--- a/mingw-w64-crt/lib64/kbdheb.def
+++ b/mingw-w64-crt/lib64/kbdheb.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHEB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHEB.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHEB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHEB.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdhela2.def b/mingw-w64-crt/lib64/kbdhela2.def
index a9d6263..6f61aa2 100644
--- a/mingw-w64-crt/lib64/kbdhela2.def
+++ b/mingw-w64-crt/lib64/kbdhela2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHELA2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHELA2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHELA2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHELA2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdhela3.def b/mingw-w64-crt/lib64/kbdhela3.def
index 6593f4b..5d16645 100644
--- a/mingw-w64-crt/lib64/kbdhela3.def
+++ b/mingw-w64-crt/lib64/kbdhela3.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHELA3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHELA3.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHELA3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHELA3.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdhept.def b/mingw-w64-crt/lib64/kbdhept.def
index d8b1d58..3c661c8 100644
--- a/mingw-w64-crt/lib64/kbdhept.def
+++ b/mingw-w64-crt/lib64/kbdhept.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHEPT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHEPT.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHEPT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHEPT.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdhu.def b/mingw-w64-crt/lib64/kbdhu.def
index 44c1a48..ab1024d 100644
--- a/mingw-w64-crt/lib64/kbdhu.def
+++ b/mingw-w64-crt/lib64/kbdhu.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHU.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHU.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdhu1.def b/mingw-w64-crt/lib64/kbdhu1.def
index 1b9ea38..0b20ef4 100644
--- a/mingw-w64-crt/lib64/kbdhu1.def
+++ b/mingw-w64-crt/lib64/kbdhu1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHU1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHU1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHU1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHU1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdibm02.def b/mingw-w64-crt/lib64/kbdibm02.def
index d19c82a..8018e44 100644
--- a/mingw-w64-crt/lib64/kbdibm02.def
+++ b/mingw-w64-crt/lib64/kbdibm02.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDIBM02.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIBM02.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDIBM02.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIBM02.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdic.def b/mingw-w64-crt/lib64/kbdic.def
index 6692297..c599202 100644
--- a/mingw-w64-crt/lib64/kbdic.def
+++ b/mingw-w64-crt/lib64/kbdic.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDIC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDIC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdindev.def b/mingw-w64-crt/lib64/kbdindev.def
index 7de3a9e..1ed832d 100644
--- a/mingw-w64-crt/lib64/kbdindev.def
+++ b/mingw-w64-crt/lib64/kbdindev.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINDEV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINDEV.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINDEV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINDEV.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdinguj.def b/mingw-w64-crt/lib64/kbdinguj.def
index 7d06164..308ea89 100644
--- a/mingw-w64-crt/lib64/kbdinguj.def
+++ b/mingw-w64-crt/lib64/kbdinguj.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINGUJ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINGUJ.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINGUJ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINGUJ.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdinhin.def b/mingw-w64-crt/lib64/kbdinhin.def
index 29cb9e6..c9a2268 100644
--- a/mingw-w64-crt/lib64/kbdinhin.def
+++ b/mingw-w64-crt/lib64/kbdinhin.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINHIN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINHIN.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINHIN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINHIN.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdinkan.def b/mingw-w64-crt/lib64/kbdinkan.def
index 4a434ea..a16318d 100644
--- a/mingw-w64-crt/lib64/kbdinkan.def
+++ b/mingw-w64-crt/lib64/kbdinkan.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINKAN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINKAN.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINKAN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINKAN.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdinmar.def b/mingw-w64-crt/lib64/kbdinmar.def
index 4d7f086..cbe34f6 100644
--- a/mingw-w64-crt/lib64/kbdinmar.def
+++ b/mingw-w64-crt/lib64/kbdinmar.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINMAR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINMAR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINMAR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINMAR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdinpun.def b/mingw-w64-crt/lib64/kbdinpun.def
index 7bcf10a..632004c 100644
--- a/mingw-w64-crt/lib64/kbdinpun.def
+++ b/mingw-w64-crt/lib64/kbdinpun.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINPUN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINPUN.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINPUN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINPUN.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdintam.def b/mingw-w64-crt/lib64/kbdintam.def
index 743d25b..d03b845 100644
--- a/mingw-w64-crt/lib64/kbdintam.def
+++ b/mingw-w64-crt/lib64/kbdintam.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINTAM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINTAM.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINTAM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINTAM.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdintel.def b/mingw-w64-crt/lib64/kbdintel.def
index 73cd141..808c3b8 100644
--- a/mingw-w64-crt/lib64/kbdintel.def
+++ b/mingw-w64-crt/lib64/kbdintel.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINTEL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINTEL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINTEL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINTEL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdir.def b/mingw-w64-crt/lib64/kbdir.def
index 64f8e06..c631229 100644
--- a/mingw-w64-crt/lib64/kbdir.def
+++ b/mingw-w64-crt/lib64/kbdir.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDIR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDIR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdit.def b/mingw-w64-crt/lib64/kbdit.def
index d40fb7c..5774ed8 100644
--- a/mingw-w64-crt/lib64/kbdit.def
+++ b/mingw-w64-crt/lib64/kbdit.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDIT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIT.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDIT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIT.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdit142.def b/mingw-w64-crt/lib64/kbdit142.def
index 904f6b1..0e9181c 100644
--- a/mingw-w64-crt/lib64/kbdit142.def
+++ b/mingw-w64-crt/lib64/kbdit142.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDIT142.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIT142.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDIT142.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIT142.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdjpn.def b/mingw-w64-crt/lib64/kbdjpn.def
index efc4162..a4b514a 100644
--- a/mingw-w64-crt/lib64/kbdjpn.def
+++ b/mingw-w64-crt/lib64/kbdjpn.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file KBD101.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
-KbdLayerRealDllFileNT4
-KbdLayerRealDllFile
-KbdLayerMultiDescriptor
+; 
+; Exports of file KBD101.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
+KbdLayerRealDllFileNT4
+KbdLayerRealDllFile
+KbdLayerMultiDescriptor
diff --git a/mingw-w64-crt/lib64/kbdkaz.def b/mingw-w64-crt/lib64/kbdkaz.def
index 88e8e85..8e7f79f 100644
--- a/mingw-w64-crt/lib64/kbdkaz.def
+++ b/mingw-w64-crt/lib64/kbdkaz.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDKAZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDKAZ.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDKAZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDKAZ.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdkor.def b/mingw-w64-crt/lib64/kbdkor.def
index a74f0da..3c56ee6 100644
--- a/mingw-w64-crt/lib64/kbdkor.def
+++ b/mingw-w64-crt/lib64/kbdkor.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file KBDKOR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDKOR.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
-KbdLayerRealDllFileNT4
-KbdLayerRealDllFile
-KbdLayerMultiDescriptor
+; 
+; Exports of file KBDKOR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDKOR.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
+KbdLayerRealDllFileNT4
+KbdLayerRealDllFile
+KbdLayerMultiDescriptor
diff --git a/mingw-w64-crt/lib64/kbdkyr.def b/mingw-w64-crt/lib64/kbdkyr.def
index f314ef2..504bac7 100644
--- a/mingw-w64-crt/lib64/kbdkyr.def
+++ b/mingw-w64-crt/lib64/kbdkyr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDKYR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDKYR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDKYR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDKYR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdla.def b/mingw-w64-crt/lib64/kbdla.def
index 43f38d7..b6e846a 100644
--- a/mingw-w64-crt/lib64/kbdla.def
+++ b/mingw-w64-crt/lib64/kbdla.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdlk41a.def b/mingw-w64-crt/lib64/kbdlk41a.def
index 9a61b05..7775e33 100644
--- a/mingw-w64-crt/lib64/kbdlk41a.def
+++ b/mingw-w64-crt/lib64/kbdlk41a.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDLK41A.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLK41A.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDLK41A.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLK41A.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdlk41j.def b/mingw-w64-crt/lib64/kbdlk41j.def
index 43122a9..f735091 100644
--- a/mingw-w64-crt/lib64/kbdlk41j.def
+++ b/mingw-w64-crt/lib64/kbdlk41j.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDLK41J.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLK41J.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDLK41J.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLK41J.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdlt.def b/mingw-w64-crt/lib64/kbdlt.def
index 434168c..9f5e9f6 100644
--- a/mingw-w64-crt/lib64/kbdlt.def
+++ b/mingw-w64-crt/lib64/kbdlt.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLT.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLT.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdlt1.def b/mingw-w64-crt/lib64/kbdlt1.def
index ad7ed0b..0430e22 100644
--- a/mingw-w64-crt/lib64/kbdlt1.def
+++ b/mingw-w64-crt/lib64/kbdlt1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLT1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLT1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLT1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLT1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdlv.def b/mingw-w64-crt/lib64/kbdlv.def
index a7a5b3e..c98b461 100644
--- a/mingw-w64-crt/lib64/kbdlv.def
+++ b/mingw-w64-crt/lib64/kbdlv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLV.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLV.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdlv1.def b/mingw-w64-crt/lib64/kbdlv1.def
index c57ca17..d29bb75 100644
--- a/mingw-w64-crt/lib64/kbdlv1.def
+++ b/mingw-w64-crt/lib64/kbdlv1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLV1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLV1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLV1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLV1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdmac.def b/mingw-w64-crt/lib64/kbdmac.def
index 07a9935..ed75126 100644
--- a/mingw-w64-crt/lib64/kbdmac.def
+++ b/mingw-w64-crt/lib64/kbdmac.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDMAC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDMAC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDMAC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDMAC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdmon.def b/mingw-w64-crt/lib64/kbdmon.def
index 31e23d2..a214804 100644
--- a/mingw-w64-crt/lib64/kbdmon.def
+++ b/mingw-w64-crt/lib64/kbdmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDMON.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDMON.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdne.def b/mingw-w64-crt/lib64/kbdne.def
index 42cdbfc..3edbace 100644
--- a/mingw-w64-crt/lib64/kbdne.def
+++ b/mingw-w64-crt/lib64/kbdne.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDNE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDNE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdnec.def b/mingw-w64-crt/lib64/kbdnec.def
index 4add648..339fd18 100644
--- a/mingw-w64-crt/lib64/kbdnec.def
+++ b/mingw-w64-crt/lib64/kbdnec.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDNEC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNEC.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDNEC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNEC.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdnec95.def b/mingw-w64-crt/lib64/kbdnec95.def
index 854035f..89cceb4 100644
--- a/mingw-w64-crt/lib64/kbdnec95.def
+++ b/mingw-w64-crt/lib64/kbdnec95.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDNEC95.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNEC95.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDNEC95.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNEC95.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdnecat.def b/mingw-w64-crt/lib64/kbdnecat.def
index 202a8b1..bc0b5d5 100644
--- a/mingw-w64-crt/lib64/kbdnecat.def
+++ b/mingw-w64-crt/lib64/kbdnecat.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDNECAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNECAT.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDNECAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNECAT.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdnecnt.def b/mingw-w64-crt/lib64/kbdnecnt.def
index 566f6db..185ef8f 100644
--- a/mingw-w64-crt/lib64/kbdnecnt.def
+++ b/mingw-w64-crt/lib64/kbdnecnt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDNECNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNECNT.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDNECNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNECNT.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdno.def b/mingw-w64-crt/lib64/kbdno.def
index 45dba67..d9c6078 100644
--- a/mingw-w64-crt/lib64/kbdno.def
+++ b/mingw-w64-crt/lib64/kbdno.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDNO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNO.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDNO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNO.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdpl.def b/mingw-w64-crt/lib64/kbdpl.def
index 6e8c567..513d3da 100644
--- a/mingw-w64-crt/lib64/kbdpl.def
+++ b/mingw-w64-crt/lib64/kbdpl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDPL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDPL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDPL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDPL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdpl1.def b/mingw-w64-crt/lib64/kbdpl1.def
index 0e21ead..9885f2d 100644
--- a/mingw-w64-crt/lib64/kbdpl1.def
+++ b/mingw-w64-crt/lib64/kbdpl1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDPL1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDPL1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDPL1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDPL1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdpo.def b/mingw-w64-crt/lib64/kbdpo.def
index 2a876aa..87a169c 100644
--- a/mingw-w64-crt/lib64/kbdpo.def
+++ b/mingw-w64-crt/lib64/kbdpo.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDPO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDPO.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDPO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDPO.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdro.def b/mingw-w64-crt/lib64/kbdro.def
index 908f730..7e3ff01 100644
--- a/mingw-w64-crt/lib64/kbdro.def
+++ b/mingw-w64-crt/lib64/kbdro.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDRO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDRO.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDRO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDRO.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdru.def b/mingw-w64-crt/lib64/kbdru.def
index 811012a..f139f58 100644
--- a/mingw-w64-crt/lib64/kbdru.def
+++ b/mingw-w64-crt/lib64/kbdru.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDRU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDRU.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDRU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDRU.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdru1.def b/mingw-w64-crt/lib64/kbdru1.def
index dcb267c..43fb3ee 100644
--- a/mingw-w64-crt/lib64/kbdru1.def
+++ b/mingw-w64-crt/lib64/kbdru1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDRU1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDRU1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDRU1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDRU1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdsf.def b/mingw-w64-crt/lib64/kbdsf.def
index fef8d4f..81d5d18 100644
--- a/mingw-w64-crt/lib64/kbdsf.def
+++ b/mingw-w64-crt/lib64/kbdsf.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSF.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSF.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdsg.def b/mingw-w64-crt/lib64/kbdsg.def
index 966f091..49dfe8a 100644
--- a/mingw-w64-crt/lib64/kbdsg.def
+++ b/mingw-w64-crt/lib64/kbdsg.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSG.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSG.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdsl.def b/mingw-w64-crt/lib64/kbdsl.def
index 26ba56f..9cc826c 100644
--- a/mingw-w64-crt/lib64/kbdsl.def
+++ b/mingw-w64-crt/lib64/kbdsl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdsl1.def b/mingw-w64-crt/lib64/kbdsl1.def
index 30ce728..1b26781 100644
--- a/mingw-w64-crt/lib64/kbdsl1.def
+++ b/mingw-w64-crt/lib64/kbdsl1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSL1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSL1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSL1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSL1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdsp.def b/mingw-w64-crt/lib64/kbdsp.def
index 25a1197..4ae1c59 100644
--- a/mingw-w64-crt/lib64/kbdsp.def
+++ b/mingw-w64-crt/lib64/kbdsp.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSP.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSP.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdsw.def b/mingw-w64-crt/lib64/kbdsw.def
index 04f49f6..778650c 100644
--- a/mingw-w64-crt/lib64/kbdsw.def
+++ b/mingw-w64-crt/lib64/kbdsw.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSW.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSW.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSW.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSW.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdsyr1.def b/mingw-w64-crt/lib64/kbdsyr1.def
index e7dfa2c..a711135 100644
--- a/mingw-w64-crt/lib64/kbdsyr1.def
+++ b/mingw-w64-crt/lib64/kbdsyr1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSYR1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSYR1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSYR1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSYR1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdsyr2.def b/mingw-w64-crt/lib64/kbdsyr2.def
index b619f69..930c151 100644
--- a/mingw-w64-crt/lib64/kbdsyr2.def
+++ b/mingw-w64-crt/lib64/kbdsyr2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSYR2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSYR2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSYR2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSYR2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdtat.def b/mingw-w64-crt/lib64/kbdtat.def
index abadc31..91b2b91 100644
--- a/mingw-w64-crt/lib64/kbdtat.def
+++ b/mingw-w64-crt/lib64/kbdtat.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTAT.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTAT.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdth0.def b/mingw-w64-crt/lib64/kbdth0.def
index ce49753..ce48db2 100644
--- a/mingw-w64-crt/lib64/kbdth0.def
+++ b/mingw-w64-crt/lib64/kbdth0.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTH0.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTH0.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTH0.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTH0.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdth1.def b/mingw-w64-crt/lib64/kbdth1.def
index a8a8282..63759ce 100644
--- a/mingw-w64-crt/lib64/kbdth1.def
+++ b/mingw-w64-crt/lib64/kbdth1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTH1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTH1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTH1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTH1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdth2.def b/mingw-w64-crt/lib64/kbdth2.def
index c59b04a..730e39a 100644
--- a/mingw-w64-crt/lib64/kbdth2.def
+++ b/mingw-w64-crt/lib64/kbdth2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTH2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTH2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTH2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTH2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdth3.def b/mingw-w64-crt/lib64/kbdth3.def
index ecb5e53..478d4fb 100644
--- a/mingw-w64-crt/lib64/kbdth3.def
+++ b/mingw-w64-crt/lib64/kbdth3.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTH3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTH3.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTH3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTH3.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdtuf.def b/mingw-w64-crt/lib64/kbdtuf.def
index 1bd7dfb..cf74d7f 100644
--- a/mingw-w64-crt/lib64/kbdtuf.def
+++ b/mingw-w64-crt/lib64/kbdtuf.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTUF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTUF.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTUF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTUF.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdtuq.def b/mingw-w64-crt/lib64/kbdtuq.def
index 0e515ca..2e68fb5 100644
--- a/mingw-w64-crt/lib64/kbdtuq.def
+++ b/mingw-w64-crt/lib64/kbdtuq.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTUQ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTUQ.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTUQ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTUQ.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbduk.def b/mingw-w64-crt/lib64/kbduk.def
index 1f76bde..4f97f08 100644
--- a/mingw-w64-crt/lib64/kbduk.def
+++ b/mingw-w64-crt/lib64/kbduk.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUK.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUK.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdur.def b/mingw-w64-crt/lib64/kbdur.def
index ed26fdf..e23f15f 100644
--- a/mingw-w64-crt/lib64/kbdur.def
+++ b/mingw-w64-crt/lib64/kbdur.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdurdu.def b/mingw-w64-crt/lib64/kbdurdu.def
index d22879f..11e0567 100644
--- a/mingw-w64-crt/lib64/kbdurdu.def
+++ b/mingw-w64-crt/lib64/kbdurdu.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDURDU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDURDU.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDURDU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDURDU.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdus.def b/mingw-w64-crt/lib64/kbdus.def
index 5b5c182..cfc6633 100644
--- a/mingw-w64-crt/lib64/kbdus.def
+++ b/mingw-w64-crt/lib64/kbdus.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUS.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUS.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdusa.def b/mingw-w64-crt/lib64/kbdusa.def
index c2ecb12..812339c 100644
--- a/mingw-w64-crt/lib64/kbdusa.def
+++ b/mingw-w64-crt/lib64/kbdusa.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUSA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUSA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUSA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUSA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdusl.def b/mingw-w64-crt/lib64/kbdusl.def
index 01a7485..62cfe7f 100644
--- a/mingw-w64-crt/lib64/kbdusl.def
+++ b/mingw-w64-crt/lib64/kbdusl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUSL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUSL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUSL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUSL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdusr.def b/mingw-w64-crt/lib64/kbdusr.def
index 7b240c5..af28b4e 100644
--- a/mingw-w64-crt/lib64/kbdusr.def
+++ b/mingw-w64-crt/lib64/kbdusr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUSR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUSR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUSR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUSR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdusx.def b/mingw-w64-crt/lib64/kbdusx.def
index 645d212..faf81c3 100644
--- a/mingw-w64-crt/lib64/kbdusx.def
+++ b/mingw-w64-crt/lib64/kbdusx.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUSX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUSX.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUSX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUSX.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbduzb.def b/mingw-w64-crt/lib64/kbduzb.def
index ba31068..829673d 100644
--- a/mingw-w64-crt/lib64/kbduzb.def
+++ b/mingw-w64-crt/lib64/kbduzb.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUZB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUZB.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUZB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUZB.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdvntc.def b/mingw-w64-crt/lib64/kbdvntc.def
index 26d8d76..3a65a6d 100644
--- a/mingw-w64-crt/lib64/kbdvntc.def
+++ b/mingw-w64-crt/lib64/kbdvntc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDVNTC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDVNTC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDVNTC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDVNTC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdycc.def b/mingw-w64-crt/lib64/kbdycc.def
index e8790ba..13eb1b6 100644
--- a/mingw-w64-crt/lib64/kbdycc.def
+++ b/mingw-w64-crt/lib64/kbdycc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDYCC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDYCC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDYCC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDYCC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kbdycl.def b/mingw-w64-crt/lib64/kbdycl.def
index 69cec91..ec170c3 100644
--- a/mingw-w64-crt/lib64/kbdycl.def
+++ b/mingw-w64-crt/lib64/kbdycl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDYCL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDYCL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDYCL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDYCL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/kd1394.def b/mingw-w64-crt/lib64/kd1394.def
index dfa85b7..e5fd13b 100644
--- a/mingw-w64-crt/lib64/kd1394.def
+++ b/mingw-w64-crt/lib64/kd1394.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file KD1394.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KD1394.dll
-EXPORTS
-KdD0Transition
-KdD3Transition
-KdDebuggerInitialize0
-KdDebuggerInitialize1
-KdReceivePacket
-KdRestore
-KdSave
-KdSendPacket
+; 
+; Exports of file KD1394.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KD1394.dll
+EXPORTS
+KdD0Transition
+KdD3Transition
+KdDebuggerInitialize0
+KdDebuggerInitialize1
+KdReceivePacket
+KdRestore
+KdSave
+KdSendPacket
diff --git a/mingw-w64-crt/lib64/kdcom.def b/mingw-w64-crt/lib64/kdcom.def
index 535e355..889ceae 100644
--- a/mingw-w64-crt/lib64/kdcom.def
+++ b/mingw-w64-crt/lib64/kdcom.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file KDCOM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KDCOM.dll
-EXPORTS
-KdD0Transition
-KdD3Transition
-KdDebuggerInitialize0
-KdDebuggerInitialize1
-KdReceivePacket
-KdRestore
-KdSave
-KdSendPacket
+; 
+; Exports of file KDCOM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KDCOM.dll
+EXPORTS
+KdD0Transition
+KdD3Transition
+KdDebuggerInitialize0
+KdDebuggerInitialize1
+KdReceivePacket
+KdRestore
+KdSave
+KdSendPacket
diff --git a/mingw-w64-crt/lib64/kerberos.def b/mingw-w64-crt/lib64/kerberos.def
index 8625473..972f6d7 100644
--- a/mingw-w64-crt/lib64/kerberos.def
+++ b/mingw-w64-crt/lib64/kerberos.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file Kerberos.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Kerberos.dll
-EXPORTS
-SpInitialize
-KerbDomainChangeCallback
-SpLsaModeInitialize
-SpUserModeInitialize
-KerbCreateTokenFromTicket
-KerbFree
-KerbIsInitialized
-KerbKdcCallBack
-KerbMakeKdcCall
-SpInstanceInit
+; 
+; Exports of file Kerberos.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Kerberos.dll
+EXPORTS
+SpInitialize
+KerbDomainChangeCallback
+SpLsaModeInitialize
+SpUserModeInitialize
+KerbCreateTokenFromTicket
+KerbFree
+KerbIsInitialized
+KerbKdcCallBack
+KerbMakeKdcCall
+SpInstanceInit
diff --git a/mingw-w64-crt/lib64/kernel32.def b/mingw-w64-crt/lib64/kernel32.def
index ed98bcd..e751e42 100644
--- a/mingw-w64-crt/lib64/kernel32.def
+++ b/mingw-w64-crt/lib64/kernel32.def
@@ -1,1016 +1,1016 @@
-; 
-; Exports of file KERNEL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KERNEL32.dll
-EXPORTS
-ActivateActCtx
-AcquireSRWLockExclusive
-AcquireSRWLockShared
-AddAtomA
-AddAtomW
-AddConsoleAliasA
-AddConsoleAliasW
-AddLocalAlternateComputerNameA
-AddLocalAlternateComputerNameW
-AddRefActCtx
-AddVectoredContinueHandler
-AddVectoredExceptionHandler
-AllocConsole
-AllocateUserPhysicalPages
-AreFileApisANSI
-AssignProcessToJobObject
-AttachConsole
-BackupRead
-BackupSeek
-BackupWrite
-BaseCheckAppcompatCache
-BaseCheckRunApp
-BaseCleanupAppcompatCacheSupport
-BaseDumpAppcompatCache
-BaseFlushAppcompatCache
-BaseInitAppcompatCacheSupport
-BaseIsAppcompatInfrastructureDisabled
-BaseProcessInitPostImport
-BaseProcessStart
-BaseQueryModuleData
-BaseThreadStart
-BaseUpdateAppcompatCache
-BasepCheckBadapp
-BasepCheckWinSaferRestrictions
-BasepFreeAppCompatData
-Beep
-BeginUpdateResourceA
-BeginUpdateResourceW
-BindIoCompletionCallback
-BuildCommDCBA
-BuildCommDCBAndTimeoutsA
-BuildCommDCBAndTimeoutsW
-BuildCommDCBW
-CallNamedPipeA
-CallNamedPipeW
-CancelDeviceWakeupRequest
-CancelIo
-CancelTimerQueueTimer
-CancelWaitableTimer
-ChangeTimerQueueTimer
-CheckNameLegalDOS8Dot3A
-CheckNameLegalDOS8Dot3W
-CheckRemoteDebuggerPresent
-ClearCommBreak
-ClearCommError
-CloseConsoleHandle
-CloseHandle
-CloseProfileUserMapping
-CmdBatNotification
-CommConfigDialogA
-CommConfigDialogW
-CompareFileTime
-CompareStringA
-CompareStringW
-ConnectNamedPipe
-ConsoleIMERoutine
-ConsoleMenuControl
-ContinueDebugEvent
-ConvertDefaultLocale
-ConvertFiberToThread
-ConvertThreadToFiber
-ConvertThreadToFiberEx
-CopyFileA
-CopyFileExA
-CopyFileExW
-CopyFileW
-CopyLZFile
-CreateActCtxA
-CreateActCtxW
-CreateConsoleScreenBuffer
-CreateDirectoryA
-CreateDirectoryExA
-CreateDirectoryExW
-CreateDirectoryW
-CreateEventA
-CreateEventW
-CreateFiber
-CreateFiberEx
-CreateFileA
-CreateFileMappingA
-CreateFileMappingW
-CreateFileW
-CreateHardLinkA
-CreateHardLinkW
-CreateIoCompletionPort
-CreateJobObjectA
-CreateJobObjectW
-CreateJobSet
-CreateMailslotA
-CreateMailslotW
-CreateMemoryResourceNotification
-CreateMutexA
-CreateMutexW
-CreateNamedPipeA
-CreateNamedPipeW
-CreateNlsSecurityDescriptor
-CreatePipe
-CreateProcessA
-CreateProcessInternalA
-CreateProcessInternalW
-CreateProcessW
-CreateRemoteThread
-CreateSemaphoreA
-CreateSemaphoreW
-CreateSymbolicLinkA
-CreateSymbolicLinkW
-CreateTapePartition
-CreateThread
-CreateTimerQueue
-CreateTimerQueueTimer
-CreateToolhelp32Snapshot
-CreateWaitableTimerA
-CreateWaitableTimerW
-CtrlRoutine
-DeactivateActCtx
-DebugActiveProcess
-DebugActiveProcessStop
-DebugBreak
-DebugBreakProcess
-DebugSetProcessKillOnExit
-DecodePointer
-DecodeSystemPointer
-DefineDosDeviceA
-DefineDosDeviceW
-DelayLoadFailureHook
-DeleteAtom
-DeleteCriticalSection
-DeleteFiber
-DeleteFileA
-DeleteFileW
-DeleteTimerQueue
-DeleteTimerQueueEx
-DeleteTimerQueueTimer
-DeleteVolumeMountPointA
-DeleteVolumeMountPointW
-DeviceIoControl
-DisableThreadLibraryCalls
-DisconnectNamedPipe
-DnsHostnameToComputerNameA
-DnsHostnameToComputerNameW
-DosDateTimeToFileTime
-DosPathToSessionPathA
-DosPathToSessionPathW
-DuplicateConsoleHandle
-DuplicateHandle
-EncodePointer
-EncodeSystemPointer
-EndUpdateResourceA
-EndUpdateResourceW
-EnterCriticalSection
-EnumCalendarInfoA
-EnumCalendarInfoExA
-EnumCalendarInfoExW
-EnumCalendarInfoW
-EnumDateFormatsA
-EnumDateFormatsExA
-EnumDateFormatsExW
-EnumDateFormatsW
-EnumLanguageGroupLocalesA
-EnumLanguageGroupLocalesW
-EnumResourceLanguagesA
-EnumResourceLanguagesW
-EnumResourceNamesA
-EnumResourceNamesW
-EnumResourceTypesA
-EnumResourceTypesW
-EnumSystemCodePagesA
-EnumSystemCodePagesW
-EnumSystemFirmwareTables
-EnumSystemGeoID
-EnumSystemLanguageGroupsA
-EnumSystemLanguageGroupsW
-EnumSystemLocalesA
-EnumSystemLocalesW
-EnumTimeFormatsA
-EnumTimeFormatsW
-EnumUILanguagesA
-EnumUILanguagesW
-EnumerateLocalComputerNamesA
-EnumerateLocalComputerNamesW
-EraseTape
-EscapeCommFunction
-ExitProcess
-ExitThread
-ExitVDM
-ExpandEnvironmentStringsA
-ExpandEnvironmentStringsW
-ExpungeConsoleCommandHistoryA
-ExpungeConsoleCommandHistoryW
-FatalAppExitA
-FatalAppExitW
-FatalExit
-FileTimeToDosDateTime
-FileTimeToLocalFileTime
-FileTimeToSystemTime
-FillConsoleOutputAttribute
-FillConsoleOutputCharacterA
-FillConsoleOutputCharacterW
-FindActCtxSectionGuid
-FindActCtxSectionStringA
-FindActCtxSectionStringW
-FindAtomA
-FindAtomW
-FindClose
-FindCloseChangeNotification
-FindFirstChangeNotificationA
-FindFirstChangeNotificationW
-FindFirstFileA
-FindFirstFileExA
-FindFirstFileExW
-FindFirstFileW
-FindFirstStreamW
-FindFirstVolumeA
-FindFirstVolumeMountPointA
-FindFirstVolumeMountPointW
-FindFirstVolumeW
-FindNextChangeNotification
-FindNextFileA
-FindNextFileW
-FindNextStreamW
-FindNextVolumeA
-FindNextVolumeMountPointA
-FindNextVolumeMountPointW
-FindNextVolumeW
-FindResourceA
-FindResourceExA
-FindResourceExW
-FindResourceW
-FindVolumeClose
-FindVolumeMountPointClose
-FlsAlloc
-FlsFree
-FlsGetValue
-FlsSetValue
-FlushConsoleInputBuffer
-FlushFileBuffers
-FlushInstructionCache
-FlushViewOfFile
-FoldStringA
-FoldStringW
-FormatMessageA
-FormatMessageW
-FreeConsole
-FreeEnvironmentStringsA
-FreeEnvironmentStringsW
-FreeLibrary
-FreeLibraryAndExitThread
-FreeResource
-FreeUserPhysicalPages
-GenerateConsoleCtrlEvent
-GetACP
-GetAtomNameA
-GetAtomNameW
-GetBinaryType
-GetBinaryTypeA
-GetBinaryTypeW
-GetCPFileNameFromRegistry
-GetCPInfo
-GetCPInfoExA
-GetCPInfoExW
-GetCalendarInfoA
-GetCalendarInfoW
-GetComPlusPackageInstallStatus
-GetCommConfig
-GetCommMask
-GetCommModemStatus
-GetCommProperties
-GetCommState
-GetCommTimeouts
-GetCommandLineA
-GetCommandLineW
-GetCompressedFileSizeA
-GetCompressedFileSizeW
-GetComputerNameA
-GetComputerNameExA
-GetComputerNameExW
-GetComputerNameW
-GetConsoleAliasA
-GetConsoleAliasExesA
-GetConsoleAliasExesLengthA
-GetConsoleAliasExesLengthW
-GetConsoleAliasExesW
-GetConsoleAliasW
-GetConsoleAliasesA
-GetConsoleAliasesLengthA
-GetConsoleAliasesLengthW
-GetConsoleAliasesW
-GetConsoleCP
-GetConsoleCharType
-GetConsoleCommandHistoryA
-GetConsoleCommandHistoryLengthA
-GetConsoleCommandHistoryLengthW
-GetConsoleCommandHistoryW
-GetConsoleCursorInfo
-GetConsoleCursorMode
-GetConsoleDisplayMode
-GetConsoleFontInfo
-GetConsoleFontSize
-GetConsoleHardwareState
-GetConsoleInputExeNameA
-GetConsoleInputExeNameW
-GetConsoleInputWaitHandle
-GetConsoleKeyboardLayoutNameA
-GetConsoleKeyboardLayoutNameW
-GetConsoleMode
-GetConsoleNlsMode
-GetConsoleOutputCP
-GetConsoleProcessList
-GetConsoleScreenBufferInfo
-GetConsoleSelectionInfo
-GetConsoleTitleA
-GetConsoleTitleW
-GetConsoleWindow
-GetCurrencyFormatA
-GetCurrencyFormatW
-GetCurrentActCtx
-GetCurrentConsoleFont
-GetCurrentDirectoryA
-GetCurrentDirectoryW
-GetCurrentProcess
-GetCurrentProcessId
-GetCurrentProcessorNumber
-GetCurrentThread
-GetCurrentThreadId
-GetDateFormatA
-GetDateFormatW
-GetDefaultCommConfigA
-GetDefaultCommConfigW
-GetDefaultSortkeySize
-GetDevicePowerState
-GetDiskFreeSpaceA
-GetDiskFreeSpaceExA
-GetDiskFreeSpaceExW
-GetDiskFreeSpaceW
-GetDllDirectoryA
-GetDllDirectoryW
-GetDriveTypeA
-GetDriveTypeW
-GetEnvironmentStrings
-GetEnvironmentStringsA
-GetEnvironmentStringsW
-GetEnvironmentVariableA
-GetEnvironmentVariableW
-GetExitCodeProcess
-GetExitCodeThread
-GetExpandedNameA
-GetExpandedNameW
-GetFileAttributesA
-GetFileAttributesExA
-GetFileAttributesExW
-GetFileAttributesW
-GetFileInformationByHandle
-GetFileSize
-GetFileSizeEx
-GetFileTime
-GetFileType
-GetFirmwareEnvironmentVariableA
-GetFirmwareEnvironmentVariableW
-GetFullPathNameA
-GetFullPathNameW
-GetGeoInfoA
-GetGeoInfoW
-GetHandleInformation
-GetLargePageMinimum
-GetLargestConsoleWindowSize
-GetLastError
-GetLinguistLangSize
-GetLocalTime
-GetLocaleInfoA
-GetLocaleInfoW
-GetLogicalDriveStringsA
-GetLogicalDriveStringsW
-GetLogicalDrives
-GetLogicalProcessorInformation
-GetLongPathNameA
-GetLongPathNameW
-GetMailslotInfo
-GetModuleFileNameA
-GetModuleFileNameW
-GetModuleHandleA
-GetModuleHandleExA
-GetModuleHandleExW
-GetModuleHandleW
-GetNLSVersion
-GetNamedPipeHandleStateA
-GetNamedPipeHandleStateW
-GetNamedPipeInfo
-GetNativeSystemInfo
-GetNextVDMCommand
-GetNlsSectionName
-GetNumaAvailableMemoryNode
-GetNumaHighestNodeNumber
-GetNumaNodeProcessorMask
-GetNumaProcessorNode
-GetNumberFormatA
-GetNumberFormatW
-GetNumberOfConsoleFonts
-GetNumberOfConsoleInputEvents
-GetNumberOfConsoleMouseButtons
-GetOEMCP
-GetOverlappedResult
-GetPriorityClass
-GetPrivateProfileIntA
-GetPrivateProfileIntW
-GetPrivateProfileSectionA
-GetPrivateProfileSectionNamesA
-GetPrivateProfileSectionNamesW
-GetPrivateProfileSectionW
-GetPrivateProfileStringA
-GetPrivateProfileStringW
-GetPrivateProfileStructA
-GetPrivateProfileStructW
-GetProcAddress
-GetProcessAffinityMask
-GetProcessHandleCount
-GetProcessHeap
-GetProcessHeaps
-GetProcessId
-GetProcessIdOfThread
-GetProcessIoCounters
-GetProcessPriorityBoost
-GetProcessShutdownParameters
-GetProcessTimes
-GetProcessVersion
-GetProcessWorkingSetSize
-GetProcessWorkingSetSizeEx
-GetProfileIntA
-GetProfileIntW
-GetProfileSectionA
-GetProfileSectionW
-GetProfileStringA
-GetProfileStringW
-GetQueuedCompletionStatus
-GetShortPathNameA
-GetShortPathNameW
-GetStartupInfoA
-GetStartupInfoW
-GetStdHandle
-GetStringTypeA
-GetStringTypeExA
-GetStringTypeExW
-GetStringTypeW
-GetSystemDefaultLCID
-GetSystemDefaultLangID
-GetSystemDefaultUILanguage
-GetSystemDirectoryA
-GetSystemDirectoryW
-GetSystemFileCacheSize
-GetSystemFirmwareTable
-GetSystemInfo
-GetSystemPowerStatus
-GetSystemRegistryQuota
-GetSystemTime
-GetSystemTimeAdjustment
-GetSystemTimeAsFileTime
-GetSystemTimes
-GetSystemWindowsDirectoryA
-GetSystemWindowsDirectoryW
-GetSystemWow64DirectoryA
-GetSystemWow64DirectoryW
-GetTapeParameters
-GetTapePosition
-GetTapeStatus
-GetTempFileNameA
-GetTempFileNameW
-GetTempPathA
-GetTempPathW
-GetThreadContext
-GetThreadIOPendingFlag
-GetThreadId
-GetThreadLocale
-GetThreadPriority
-GetThreadPriorityBoost
-GetThreadSelectorEntry
-GetThreadTimes
-GetTickCount
-GetTimeFormatA
-GetTimeFormatW
-GetTimeZoneInformation
-GetUserDefaultLCID
-GetUserDefaultLangID
-GetUserDefaultUILanguage
-GetUserGeoID
-GetVDMCurrentDirectories
-GetVersion
-GetVersionExA
-GetVersionExW
-GetVolumeInformationA
-GetVolumeInformationW
-GetVolumeNameForVolumeMountPointA
-GetVolumeNameForVolumeMountPointW
-GetVolumePathNameA
-GetVolumePathNameW
-GetVolumePathNamesForVolumeNameA
-GetVolumePathNamesForVolumeNameW
-GetWindowsDirectoryA
-GetWindowsDirectoryW
-GetWriteWatch
-GlobalAddAtomA
-GlobalAddAtomW
-GlobalAlloc
-GlobalCompact
-GlobalDeleteAtom
-GlobalFindAtomA
-GlobalFindAtomW
-GlobalFix
-GlobalFlags
-GlobalFree
-GlobalGetAtomNameA
-GlobalGetAtomNameW
-GlobalHandle
-GlobalLock
-GlobalMemoryStatus
-GlobalMemoryStatusEx
-GlobalReAlloc
-GlobalSize
-GlobalUnWire
-GlobalUnfix
-GlobalUnlock
-GlobalWire
-Heap32First
-Heap32ListFirst
-Heap32ListNext
-Heap32Next
-HeapAlloc
-HeapCompact
-HeapCreate
-HeapCreateTagsW
-HeapDestroy
-HeapExtend
-HeapFree
-HeapLock
-HeapQueryInformation
-HeapQueryTagW
-HeapReAlloc
-HeapSetInformation
-HeapSize
-HeapSummary
-HeapUnlock
-HeapUsage
-HeapValidate
-HeapWalk
-InitAtomTable
-InitializeConditionVariable
-InitializeCriticalSection
-InitOnceBeginInitialize
-InitOnceComplete
-InitOnceExecuteOnce
-InitializeCriticalSectionAndSpinCount
-InitializeSListHead
-InitializeSRWLock
-InterlockedFlushSList
-InterlockedPopEntrySList
-InterlockedPushEntrySList
-InvalidateConsoleDIBits
-IsBadCodePtr
-IsBadHugeReadPtr
-IsBadHugeWritePtr
-IsBadReadPtr
-IsBadStringPtrA
-IsBadStringPtrW
-IsBadWritePtr
-IsDBCSLeadByte
-IsDBCSLeadByteEx
-IsDebuggerPresent
-IsNLSDefinedString
-IsProcessInJob
-IsProcessorFeaturePresent
-IsSystemResumeAutomatic
-IsTimeZoneRedirectionEnabled
-IsValidCodePage
-IsValidLanguageGroup
-IsValidLocale
-IsValidUILanguage
-IsWow64Process
-LCMapStringA
-LCMapStringW
-LZClose
-LZCloseFile
-LZCopy
-LZCreateFileW
-LZDone
-LZInit
-LZOpenFileA
-LZOpenFileW
-LZRead
-LZSeek
-LZStart
-LeaveCriticalSection
-LoadLibraryA
-LoadLibraryExA
-LoadLibraryExW
-LoadLibraryW
-LoadModule
-LoadResource
-LocalAlloc
-LocalCompact
-LocalFileTimeToFileTime
-LocalFlags
-LocalFree
-LocalHandle
-LocalLock
-LocalReAlloc
-LocalShrink
-LocalSize
-LocalUnlock
-LockFile
-LockFileEx
-LockResource
-MapUserPhysicalPages
-MapUserPhysicalPagesScatter
-MapViewOfFile
-MapViewOfFileEx
-Module32First
-Module32FirstW
-Module32Next
-Module32NextW
-MoveFileA
-MoveFileExA
-MoveFileExW
-MoveFileW
-MoveFileWithProgressA
-MoveFileWithProgressW
-MulDiv
-MultiByteToWideChar
-NeedCurrentDirectoryForExePathA
-NeedCurrentDirectoryForExePathW
-NlsConvertIntegerToString
-NlsGetCacheUpdateCount
-NlsResetProcessLocale
-OpenConsoleW
-OpenDataFile
-OpenEventA
-OpenEventW
-OpenFile
-OpenFileMappingA
-OpenFileMappingW
-OpenJobObjectA
-OpenJobObjectW
-OpenMutexA
-OpenMutexW
-OpenProcess
-OpenProfileUserMapping
-OpenSemaphoreA
-OpenSemaphoreW
-OpenThread
-OpenWaitableTimerA
-OpenWaitableTimerW
-OutputDebugStringA
-OutputDebugStringW
-PeekConsoleInputA
-PeekConsoleInputW
-PeekNamedPipe
-PostQueuedCompletionStatus
-PrepareTape
-PrivCopyFileExW
-PrivMoveFileIdentityW
-Process32First
-Process32FirstW
-Process32Next
-Process32NextW
-ProcessIdToSessionId
-PulseEvent
-PurgeComm
-QueryActCtxW
-QueryDepthSList
-QueryDosDeviceA
-QueryDosDeviceW
-QueryInformationJobObject
-QueryMemoryResourceNotification
-QueryPerformanceCounter
-QueryPerformanceFrequency
-QueueUserAPC
-QueueUserWorkItem
-RaiseException
-ReOpenFile
-ReadConsoleA
-ReadConsoleInputA
-ReadConsoleInputExA
-ReadConsoleInputExW
-ReadConsoleInputW
-ReadConsoleOutputA
-ReadConsoleOutputAttribute
-ReadConsoleOutputCharacterA
-ReadConsoleOutputCharacterW
-ReadConsoleOutputW
-ReadConsoleW
-ReadDirectoryChangesW
-ReadFile
-ReadFileEx
-ReadFileScatter
-ReadProcessMemory
-RegisterConsoleIME
-RegisterConsoleOS2
-RegisterConsoleVDM
-RegisterWaitForInputIdle
-RegisterWaitForSingleObject
-RegisterWaitForSingleObjectEx
-RegisterWowBaseHandlers
-RegisterWowExec
-ReleaseActCtx
-ReleaseMutex
-ReleaseSRWLockExclusive
-ReleaseSRWLockShared
-ReleaseSemaphore
-RemoveDirectoryA
-RemoveDirectoryW
-RemoveLocalAlternateComputerNameA
-RemoveLocalAlternateComputerNameW
-RemoveVectoredContinueHandler
-RemoveVectoredExceptionHandler
-ReplaceFile
-ReplaceFileA
-ReplaceFileW
-RequestDeviceWakeup
-RequestWakeupLatency
-ResetEvent
-ResetWriteWatch
-RestoreLastError
-ResumeThread
-RtlAddFunctionTable
-RtlCaptureContext
-RtlCaptureStackBackTrace
-RtlCompareMemory
-RtlCopyMemory
-RtlDeleteFunctionTable
-RtlFillMemory
-RtlInstallFunctionTableCallback
-RtlLookupFunctionEntry
-RtlMoveMemory
-RtlPcToFileHeader
-RtlRaiseException
-RtlRestoreContext
-RtlUnwind
-RtlUnwindEx
-RtlVirtualUnwind
-RtlZeroMemory
-ScrollConsoleScreenBufferA
-ScrollConsoleScreenBufferW
-SearchPathA
-SearchPathW
-SetCPGlobal
-SetCalendarInfoA
-SetCalendarInfoW
-SetClientTimeZoneInformation
-SetComPlusPackageInstallStatus
-SetCommBreak
-SetCommConfig
-SetCommMask
-SetCommState
-SetCommTimeouts
-SetComputerNameA
-SetComputerNameExA
-SetComputerNameExW
-SetComputerNameW
-SetConsoleActiveScreenBuffer
-SetConsoleCP
-SetConsoleCommandHistoryMode
-SetConsoleCtrlHandler
-SetConsoleCursor
-SetConsoleCursorInfo
-SetConsoleCursorMode
-SetConsoleCursorPosition
-SetConsoleDisplayMode
-SetConsoleFont
-SetConsoleHardwareState
-SetConsoleIcon
-SetConsoleInputExeNameA
-SetConsoleInputExeNameW
-SetConsoleKeyShortcuts
-SetConsoleLocalEUDC
-SetConsoleMaximumWindowSize
-SetConsoleMenuClose
-SetConsoleMode
-SetConsoleNlsMode
-SetConsoleNumberOfCommandsA
-SetConsoleNumberOfCommandsW
-SetConsoleOS2OemFormat
-SetConsoleOutputCP
-SetConsolePalette
-SetConsoleScreenBufferSize
-SetConsoleTextAttribute
-SetConsoleTitleA
-SetConsoleTitleW
-SetConsoleWindowInfo
-SetCriticalSectionSpinCount
-SetCurrentDirectoryA
-SetCurrentDirectoryW
-SetDefaultCommConfigA
-SetDefaultCommConfigW
-SetDllDirectoryA
-SetDllDirectoryW
-SetEndOfFile
-SetEnvironmentStringsA
-SetEnvironmentStringsW
-SetEnvironmentVariableA
-SetEnvironmentVariableW
-SetErrorMode
-SetEvent
-SetFileApisToANSI
-SetFileApisToOEM
-SetFileAttributesA
-SetFileAttributesW
-SetFilePointer
-SetFilePointerEx
-SetFileShortNameA
-SetFileShortNameW
-SetFileTime
-SetFileValidData
-SetFirmwareEnvironmentVariableA
-SetFirmwareEnvironmentVariableW
-SetHandleCount
-SetHandleInformation
-SetInformationJobObject
-SetLastConsoleEventActive
-SetLastError
-SetLocalPrimaryComputerNameA
-SetLocalPrimaryComputerNameW
-SetLocalTime
-SetLocaleInfoA
-SetLocaleInfoW
-SetMailslotInfo
-SetMessageWaitingIndicator
-SetNamedPipeHandleState
-SetPriorityClass
-SetProcessAffinityMask
-SetProcessPriorityBoost
-SetProcessShutdownParameters
-SetProcessWorkingSetSize
-SetProcessWorkingSetSizeEx
-SetStdHandle
-SetSystemFileCacheSize
-SetSystemPowerState
-SetSystemTime
-SetSystemTimeAdjustment
-SetTapeParameters
-SetTapePosition
-SetTermsrvAppInstallMode
-SetThreadAffinityMask
-SetThreadContext
-SetThreadExecutionState
-SetThreadIdealProcessor
-SetThreadLocale
-SetThreadPriority
-SetThreadPriorityBoost
-SetThreadStackGuarantee
-SetThreadUILanguage
-SetTimeZoneInformation
-SetTimerQueueTimer
-SetUnhandledExceptionFilter
-SetUserGeoID
-SetVDMCurrentDirectories
-SetVolumeLabelA
-SetVolumeLabelW
-SetVolumeMountPointA
-SetVolumeMountPointW
-SetWaitableTimer
-SetupComm
-ShowConsoleCursor
-SignalObjectAndWait
-SizeofResource
-Sleep
-SleepConditionVariableCS
-SleepEx
-SuspendThread
-SwitchToFiber
-SwitchToThread
-SystemTimeToFileTime
-SystemTimeToTzSpecificLocalTime
-TerminateJobObject
-TerminateProcess
-TerminateThread
-TermsrvAppInstallMode
-Thread32First
-Thread32Next
-TlsAlloc
-TlsFree
-TlsGetValue
-TlsSetValue
-Toolhelp32ReadProcessMemory
-TransactNamedPipe
-TransmitCommChar
-TryAcquireSRWLockExclusive
-TryAcquireSRWLockShared
-TryEnterCriticalSection
-TzSpecificLocalTimeToSystemTime
-UTRegister
-UTUnRegister
-UnhandledExceptionFilter
-UnlockFile
-UnlockFileEx
-UnmapViewOfFile
-UnregisterConsoleIME
-UnregisterWait
-UnregisterWaitEx
-UpdateResourceA
-UpdateResourceW
-VDMConsoleOperation
-VDMOperationStarted
-ValidateLCType
-ValidateLocale
-VerLanguageNameA
-VerLanguageNameW
-VerSetConditionMask
-VerifyConsoleIoHandle
-VerifyVersionInfoA
-VerifyVersionInfoW
-VirtualAlloc
-VirtualAllocEx
-VirtualFree
-VirtualFreeEx
-VirtualLock
-VirtualProtect
-VirtualProtectEx
-VirtualQuery
-VirtualQueryEx
-VirtualUnlock
-WTSGetActiveConsoleSessionId
-WaitCommEvent
-WaitForDebugEvent
-WaitForMultipleObjects
-WaitForMultipleObjectsEx
-WaitForSingleObject
-WaitForSingleObjectEx
-WaitNamedPipeA
-WaitNamedPipeW
-WakeAllConditionVariable
-WakeConditionVariable
-WideCharToMultiByte
-WinExec
-Wow64DisableWow64FsRedirection
-Wow64EnableWow64FsRedirection
-Wow64RevertWow64FsRedirection
-WriteConsoleA
-WriteConsoleInputA
-WriteConsoleInputVDMA
-WriteConsoleInputVDMW
-WriteConsoleInputW
-WriteConsoleOutputA
-WriteConsoleOutputAttribute
-WriteConsoleOutputCharacterA
-WriteConsoleOutputCharacterW
-WriteConsoleOutputW
-WriteConsoleW
-WriteFile
-WriteFileEx
-WriteFileGather
-WritePrivateProfileSectionA
-WritePrivateProfileSectionW
-WritePrivateProfileStringA
-WritePrivateProfileStringW
-WritePrivateProfileStructA
-WritePrivateProfileStructW
-WriteProcessMemory
-WriteProfileSectionA
-WriteProfileSectionW
-WriteProfileStringA
-WriteProfileStringW
-WriteTapemark
-ZombifyActCtx
-__C_specific_handler
-;__chkstk
-__misaligned_access
-_hread
-_hwrite
-_lclose
-_lcreat
-_llseek
-_local_unwind
-_lopen
-_lread
-_lwrite
-lstrcat
-lstrcatA
-lstrcatW
-lstrcmp
-lstrcmpA
-lstrcmpW
-lstrcmpi
-lstrcmpiA
-lstrcmpiW
-lstrcpy
-lstrcpyA
-lstrcpyW
-lstrcpyn
-lstrcpynA
-lstrcpynW
-lstrlen
-lstrlenA
-lstrlenW
-uaw_lstrcmpW
-uaw_lstrcmpiW
-uaw_lstrlenW
-uaw_wcschr
-uaw_wcscpy
-uaw_wcsicmp
-uaw_wcslen
-uaw_wcsrchr
+; 
+; Exports of file KERNEL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KERNEL32.dll
+EXPORTS
+ActivateActCtx
+AcquireSRWLockExclusive
+AcquireSRWLockShared
+AddAtomA
+AddAtomW
+AddConsoleAliasA
+AddConsoleAliasW
+AddLocalAlternateComputerNameA
+AddLocalAlternateComputerNameW
+AddRefActCtx
+AddVectoredContinueHandler
+AddVectoredExceptionHandler
+AllocConsole
+AllocateUserPhysicalPages
+AreFileApisANSI
+AssignProcessToJobObject
+AttachConsole
+BackupRead
+BackupSeek
+BackupWrite
+BaseCheckAppcompatCache
+BaseCheckRunApp
+BaseCleanupAppcompatCacheSupport
+BaseDumpAppcompatCache
+BaseFlushAppcompatCache
+BaseInitAppcompatCacheSupport
+BaseIsAppcompatInfrastructureDisabled
+BaseProcessInitPostImport
+BaseProcessStart
+BaseQueryModuleData
+BaseThreadStart
+BaseUpdateAppcompatCache
+BasepCheckBadapp
+BasepCheckWinSaferRestrictions
+BasepFreeAppCompatData
+Beep
+BeginUpdateResourceA
+BeginUpdateResourceW
+BindIoCompletionCallback
+BuildCommDCBA
+BuildCommDCBAndTimeoutsA
+BuildCommDCBAndTimeoutsW
+BuildCommDCBW
+CallNamedPipeA
+CallNamedPipeW
+CancelDeviceWakeupRequest
+CancelIo
+CancelTimerQueueTimer
+CancelWaitableTimer
+ChangeTimerQueueTimer
+CheckNameLegalDOS8Dot3A
+CheckNameLegalDOS8Dot3W
+CheckRemoteDebuggerPresent
+ClearCommBreak
+ClearCommError
+CloseConsoleHandle
+CloseHandle
+CloseProfileUserMapping
+CmdBatNotification
+CommConfigDialogA
+CommConfigDialogW
+CompareFileTime
+CompareStringA
+CompareStringW
+ConnectNamedPipe
+ConsoleIMERoutine
+ConsoleMenuControl
+ContinueDebugEvent
+ConvertDefaultLocale
+ConvertFiberToThread
+ConvertThreadToFiber
+ConvertThreadToFiberEx
+CopyFileA
+CopyFileExA
+CopyFileExW
+CopyFileW
+CopyLZFile
+CreateActCtxA
+CreateActCtxW
+CreateConsoleScreenBuffer
+CreateDirectoryA
+CreateDirectoryExA
+CreateDirectoryExW
+CreateDirectoryW
+CreateEventA
+CreateEventW
+CreateFiber
+CreateFiberEx
+CreateFileA
+CreateFileMappingA
+CreateFileMappingW
+CreateFileW
+CreateHardLinkA
+CreateHardLinkW
+CreateIoCompletionPort
+CreateJobObjectA
+CreateJobObjectW
+CreateJobSet
+CreateMailslotA
+CreateMailslotW
+CreateMemoryResourceNotification
+CreateMutexA
+CreateMutexW
+CreateNamedPipeA
+CreateNamedPipeW
+CreateNlsSecurityDescriptor
+CreatePipe
+CreateProcessA
+CreateProcessInternalA
+CreateProcessInternalW
+CreateProcessW
+CreateRemoteThread
+CreateSemaphoreA
+CreateSemaphoreW
+CreateSymbolicLinkA
+CreateSymbolicLinkW
+CreateTapePartition
+CreateThread
+CreateTimerQueue
+CreateTimerQueueTimer
+CreateToolhelp32Snapshot
+CreateWaitableTimerA
+CreateWaitableTimerW
+CtrlRoutine
+DeactivateActCtx
+DebugActiveProcess
+DebugActiveProcessStop
+DebugBreak
+DebugBreakProcess
+DebugSetProcessKillOnExit
+DecodePointer
+DecodeSystemPointer
+DefineDosDeviceA
+DefineDosDeviceW
+DelayLoadFailureHook
+DeleteAtom
+DeleteCriticalSection
+DeleteFiber
+DeleteFileA
+DeleteFileW
+DeleteTimerQueue
+DeleteTimerQueueEx
+DeleteTimerQueueTimer
+DeleteVolumeMountPointA
+DeleteVolumeMountPointW
+DeviceIoControl
+DisableThreadLibraryCalls
+DisconnectNamedPipe
+DnsHostnameToComputerNameA
+DnsHostnameToComputerNameW
+DosDateTimeToFileTime
+DosPathToSessionPathA
+DosPathToSessionPathW
+DuplicateConsoleHandle
+DuplicateHandle
+EncodePointer
+EncodeSystemPointer
+EndUpdateResourceA
+EndUpdateResourceW
+EnterCriticalSection
+EnumCalendarInfoA
+EnumCalendarInfoExA
+EnumCalendarInfoExW
+EnumCalendarInfoW
+EnumDateFormatsA
+EnumDateFormatsExA
+EnumDateFormatsExW
+EnumDateFormatsW
+EnumLanguageGroupLocalesA
+EnumLanguageGroupLocalesW
+EnumResourceLanguagesA
+EnumResourceLanguagesW
+EnumResourceNamesA
+EnumResourceNamesW
+EnumResourceTypesA
+EnumResourceTypesW
+EnumSystemCodePagesA
+EnumSystemCodePagesW
+EnumSystemFirmwareTables
+EnumSystemGeoID
+EnumSystemLanguageGroupsA
+EnumSystemLanguageGroupsW
+EnumSystemLocalesA
+EnumSystemLocalesW
+EnumTimeFormatsA
+EnumTimeFormatsW
+EnumUILanguagesA
+EnumUILanguagesW
+EnumerateLocalComputerNamesA
+EnumerateLocalComputerNamesW
+EraseTape
+EscapeCommFunction
+ExitProcess
+ExitThread
+ExitVDM
+ExpandEnvironmentStringsA
+ExpandEnvironmentStringsW
+ExpungeConsoleCommandHistoryA
+ExpungeConsoleCommandHistoryW
+FatalAppExitA
+FatalAppExitW
+FatalExit
+FileTimeToDosDateTime
+FileTimeToLocalFileTime
+FileTimeToSystemTime
+FillConsoleOutputAttribute
+FillConsoleOutputCharacterA
+FillConsoleOutputCharacterW
+FindActCtxSectionGuid
+FindActCtxSectionStringA
+FindActCtxSectionStringW
+FindAtomA
+FindAtomW
+FindClose
+FindCloseChangeNotification
+FindFirstChangeNotificationA
+FindFirstChangeNotificationW
+FindFirstFileA
+FindFirstFileExA
+FindFirstFileExW
+FindFirstFileW
+FindFirstStreamW
+FindFirstVolumeA
+FindFirstVolumeMountPointA
+FindFirstVolumeMountPointW
+FindFirstVolumeW
+FindNextChangeNotification
+FindNextFileA
+FindNextFileW
+FindNextStreamW
+FindNextVolumeA
+FindNextVolumeMountPointA
+FindNextVolumeMountPointW
+FindNextVolumeW
+FindResourceA
+FindResourceExA
+FindResourceExW
+FindResourceW
+FindVolumeClose
+FindVolumeMountPointClose
+FlsAlloc
+FlsFree
+FlsGetValue
+FlsSetValue
+FlushConsoleInputBuffer
+FlushFileBuffers
+FlushInstructionCache
+FlushViewOfFile
+FoldStringA
+FoldStringW
+FormatMessageA
+FormatMessageW
+FreeConsole
+FreeEnvironmentStringsA
+FreeEnvironmentStringsW
+FreeLibrary
+FreeLibraryAndExitThread
+FreeResource
+FreeUserPhysicalPages
+GenerateConsoleCtrlEvent
+GetACP
+GetAtomNameA
+GetAtomNameW
+GetBinaryType
+GetBinaryTypeA
+GetBinaryTypeW
+GetCPFileNameFromRegistry
+GetCPInfo
+GetCPInfoExA
+GetCPInfoExW
+GetCalendarInfoA
+GetCalendarInfoW
+GetComPlusPackageInstallStatus
+GetCommConfig
+GetCommMask
+GetCommModemStatus
+GetCommProperties
+GetCommState
+GetCommTimeouts
+GetCommandLineA
+GetCommandLineW
+GetCompressedFileSizeA
+GetCompressedFileSizeW
+GetComputerNameA
+GetComputerNameExA
+GetComputerNameExW
+GetComputerNameW
+GetConsoleAliasA
+GetConsoleAliasExesA
+GetConsoleAliasExesLengthA
+GetConsoleAliasExesLengthW
+GetConsoleAliasExesW
+GetConsoleAliasW
+GetConsoleAliasesA
+GetConsoleAliasesLengthA
+GetConsoleAliasesLengthW
+GetConsoleAliasesW
+GetConsoleCP
+GetConsoleCharType
+GetConsoleCommandHistoryA
+GetConsoleCommandHistoryLengthA
+GetConsoleCommandHistoryLengthW
+GetConsoleCommandHistoryW
+GetConsoleCursorInfo
+GetConsoleCursorMode
+GetConsoleDisplayMode
+GetConsoleFontInfo
+GetConsoleFontSize
+GetConsoleHardwareState
+GetConsoleInputExeNameA
+GetConsoleInputExeNameW
+GetConsoleInputWaitHandle
+GetConsoleKeyboardLayoutNameA
+GetConsoleKeyboardLayoutNameW
+GetConsoleMode
+GetConsoleNlsMode
+GetConsoleOutputCP
+GetConsoleProcessList
+GetConsoleScreenBufferInfo
+GetConsoleSelectionInfo
+GetConsoleTitleA
+GetConsoleTitleW
+GetConsoleWindow
+GetCurrencyFormatA
+GetCurrencyFormatW
+GetCurrentActCtx
+GetCurrentConsoleFont
+GetCurrentDirectoryA
+GetCurrentDirectoryW
+GetCurrentProcess
+GetCurrentProcessId
+GetCurrentProcessorNumber
+GetCurrentThread
+GetCurrentThreadId
+GetDateFormatA
+GetDateFormatW
+GetDefaultCommConfigA
+GetDefaultCommConfigW
+GetDefaultSortkeySize
+GetDevicePowerState
+GetDiskFreeSpaceA
+GetDiskFreeSpaceExA
+GetDiskFreeSpaceExW
+GetDiskFreeSpaceW
+GetDllDirectoryA
+GetDllDirectoryW
+GetDriveTypeA
+GetDriveTypeW
+GetEnvironmentStrings
+GetEnvironmentStringsA
+GetEnvironmentStringsW
+GetEnvironmentVariableA
+GetEnvironmentVariableW
+GetExitCodeProcess
+GetExitCodeThread
+GetExpandedNameA
+GetExpandedNameW
+GetFileAttributesA
+GetFileAttributesExA
+GetFileAttributesExW
+GetFileAttributesW
+GetFileInformationByHandle
+GetFileSize
+GetFileSizeEx
+GetFileTime
+GetFileType
+GetFirmwareEnvironmentVariableA
+GetFirmwareEnvironmentVariableW
+GetFullPathNameA
+GetFullPathNameW
+GetGeoInfoA
+GetGeoInfoW
+GetHandleInformation
+GetLargePageMinimum
+GetLargestConsoleWindowSize
+GetLastError
+GetLinguistLangSize
+GetLocalTime
+GetLocaleInfoA
+GetLocaleInfoW
+GetLogicalDriveStringsA
+GetLogicalDriveStringsW
+GetLogicalDrives
+GetLogicalProcessorInformation
+GetLongPathNameA
+GetLongPathNameW
+GetMailslotInfo
+GetModuleFileNameA
+GetModuleFileNameW
+GetModuleHandleA
+GetModuleHandleExA
+GetModuleHandleExW
+GetModuleHandleW
+GetNLSVersion
+GetNamedPipeHandleStateA
+GetNamedPipeHandleStateW
+GetNamedPipeInfo
+GetNativeSystemInfo
+GetNextVDMCommand
+GetNlsSectionName
+GetNumaAvailableMemoryNode
+GetNumaHighestNodeNumber
+GetNumaNodeProcessorMask
+GetNumaProcessorNode
+GetNumberFormatA
+GetNumberFormatW
+GetNumberOfConsoleFonts
+GetNumberOfConsoleInputEvents
+GetNumberOfConsoleMouseButtons
+GetOEMCP
+GetOverlappedResult
+GetPriorityClass
+GetPrivateProfileIntA
+GetPrivateProfileIntW
+GetPrivateProfileSectionA
+GetPrivateProfileSectionNamesA
+GetPrivateProfileSectionNamesW
+GetPrivateProfileSectionW
+GetPrivateProfileStringA
+GetPrivateProfileStringW
+GetPrivateProfileStructA
+GetPrivateProfileStructW
+GetProcAddress
+GetProcessAffinityMask
+GetProcessHandleCount
+GetProcessHeap
+GetProcessHeaps
+GetProcessId
+GetProcessIdOfThread
+GetProcessIoCounters
+GetProcessPriorityBoost
+GetProcessShutdownParameters
+GetProcessTimes
+GetProcessVersion
+GetProcessWorkingSetSize
+GetProcessWorkingSetSizeEx
+GetProfileIntA
+GetProfileIntW
+GetProfileSectionA
+GetProfileSectionW
+GetProfileStringA
+GetProfileStringW
+GetQueuedCompletionStatus
+GetShortPathNameA
+GetShortPathNameW
+GetStartupInfoA
+GetStartupInfoW
+GetStdHandle
+GetStringTypeA
+GetStringTypeExA
+GetStringTypeExW
+GetStringTypeW
+GetSystemDefaultLCID
+GetSystemDefaultLangID
+GetSystemDefaultUILanguage
+GetSystemDirectoryA
+GetSystemDirectoryW
+GetSystemFileCacheSize
+GetSystemFirmwareTable
+GetSystemInfo
+GetSystemPowerStatus
+GetSystemRegistryQuota
+GetSystemTime
+GetSystemTimeAdjustment
+GetSystemTimeAsFileTime
+GetSystemTimes
+GetSystemWindowsDirectoryA
+GetSystemWindowsDirectoryW
+GetSystemWow64DirectoryA
+GetSystemWow64DirectoryW
+GetTapeParameters
+GetTapePosition
+GetTapeStatus
+GetTempFileNameA
+GetTempFileNameW
+GetTempPathA
+GetTempPathW
+GetThreadContext
+GetThreadIOPendingFlag
+GetThreadId
+GetThreadLocale
+GetThreadPriority
+GetThreadPriorityBoost
+GetThreadSelectorEntry
+GetThreadTimes
+GetTickCount
+GetTimeFormatA
+GetTimeFormatW
+GetTimeZoneInformation
+GetUserDefaultLCID
+GetUserDefaultLangID
+GetUserDefaultUILanguage
+GetUserGeoID
+GetVDMCurrentDirectories
+GetVersion
+GetVersionExA
+GetVersionExW
+GetVolumeInformationA
+GetVolumeInformationW
+GetVolumeNameForVolumeMountPointA
+GetVolumeNameForVolumeMountPointW
+GetVolumePathNameA
+GetVolumePathNameW
+GetVolumePathNamesForVolumeNameA
+GetVolumePathNamesForVolumeNameW
+GetWindowsDirectoryA
+GetWindowsDirectoryW
+GetWriteWatch
+GlobalAddAtomA
+GlobalAddAtomW
+GlobalAlloc
+GlobalCompact
+GlobalDeleteAtom
+GlobalFindAtomA
+GlobalFindAtomW
+GlobalFix
+GlobalFlags
+GlobalFree
+GlobalGetAtomNameA
+GlobalGetAtomNameW
+GlobalHandle
+GlobalLock
+GlobalMemoryStatus
+GlobalMemoryStatusEx
+GlobalReAlloc
+GlobalSize
+GlobalUnWire
+GlobalUnfix
+GlobalUnlock
+GlobalWire
+Heap32First
+Heap32ListFirst
+Heap32ListNext
+Heap32Next
+HeapAlloc
+HeapCompact
+HeapCreate
+HeapCreateTagsW
+HeapDestroy
+HeapExtend
+HeapFree
+HeapLock
+HeapQueryInformation
+HeapQueryTagW
+HeapReAlloc
+HeapSetInformation
+HeapSize
+HeapSummary
+HeapUnlock
+HeapUsage
+HeapValidate
+HeapWalk
+InitAtomTable
+InitializeConditionVariable
+InitializeCriticalSection
+InitOnceBeginInitialize
+InitOnceComplete
+InitOnceExecuteOnce
+InitializeCriticalSectionAndSpinCount
+InitializeSListHead
+InitializeSRWLock
+InterlockedFlushSList
+InterlockedPopEntrySList
+InterlockedPushEntrySList
+InvalidateConsoleDIBits
+IsBadCodePtr
+IsBadHugeReadPtr
+IsBadHugeWritePtr
+IsBadReadPtr
+IsBadStringPtrA
+IsBadStringPtrW
+IsBadWritePtr
+IsDBCSLeadByte
+IsDBCSLeadByteEx
+IsDebuggerPresent
+IsNLSDefinedString
+IsProcessInJob
+IsProcessorFeaturePresent
+IsSystemResumeAutomatic
+IsTimeZoneRedirectionEnabled
+IsValidCodePage
+IsValidLanguageGroup
+IsValidLocale
+IsValidUILanguage
+IsWow64Process
+LCMapStringA
+LCMapStringW
+LZClose
+LZCloseFile
+LZCopy
+LZCreateFileW
+LZDone
+LZInit
+LZOpenFileA
+LZOpenFileW
+LZRead
+LZSeek
+LZStart
+LeaveCriticalSection
+LoadLibraryA
+LoadLibraryExA
+LoadLibraryExW
+LoadLibraryW
+LoadModule
+LoadResource
+LocalAlloc
+LocalCompact
+LocalFileTimeToFileTime
+LocalFlags
+LocalFree
+LocalHandle
+LocalLock
+LocalReAlloc
+LocalShrink
+LocalSize
+LocalUnlock
+LockFile
+LockFileEx
+LockResource
+MapUserPhysicalPages
+MapUserPhysicalPagesScatter
+MapViewOfFile
+MapViewOfFileEx
+Module32First
+Module32FirstW
+Module32Next
+Module32NextW
+MoveFileA
+MoveFileExA
+MoveFileExW
+MoveFileW
+MoveFileWithProgressA
+MoveFileWithProgressW
+MulDiv
+MultiByteToWideChar
+NeedCurrentDirectoryForExePathA
+NeedCurrentDirectoryForExePathW
+NlsConvertIntegerToString
+NlsGetCacheUpdateCount
+NlsResetProcessLocale
+OpenConsoleW
+OpenDataFile
+OpenEventA
+OpenEventW
+OpenFile
+OpenFileMappingA
+OpenFileMappingW
+OpenJobObjectA
+OpenJobObjectW
+OpenMutexA
+OpenMutexW
+OpenProcess
+OpenProfileUserMapping
+OpenSemaphoreA
+OpenSemaphoreW
+OpenThread
+OpenWaitableTimerA
+OpenWaitableTimerW
+OutputDebugStringA
+OutputDebugStringW
+PeekConsoleInputA
+PeekConsoleInputW
+PeekNamedPipe
+PostQueuedCompletionStatus
+PrepareTape
+PrivCopyFileExW
+PrivMoveFileIdentityW
+Process32First
+Process32FirstW
+Process32Next
+Process32NextW
+ProcessIdToSessionId
+PulseEvent
+PurgeComm
+QueryActCtxW
+QueryDepthSList
+QueryDosDeviceA
+QueryDosDeviceW
+QueryInformationJobObject
+QueryMemoryResourceNotification
+QueryPerformanceCounter
+QueryPerformanceFrequency
+QueueUserAPC
+QueueUserWorkItem
+RaiseException
+ReOpenFile
+ReadConsoleA
+ReadConsoleInputA
+ReadConsoleInputExA
+ReadConsoleInputExW
+ReadConsoleInputW
+ReadConsoleOutputA
+ReadConsoleOutputAttribute
+ReadConsoleOutputCharacterA
+ReadConsoleOutputCharacterW
+ReadConsoleOutputW
+ReadConsoleW
+ReadDirectoryChangesW
+ReadFile
+ReadFileEx
+ReadFileScatter
+ReadProcessMemory
+RegisterConsoleIME
+RegisterConsoleOS2
+RegisterConsoleVDM
+RegisterWaitForInputIdle
+RegisterWaitForSingleObject
+RegisterWaitForSingleObjectEx
+RegisterWowBaseHandlers
+RegisterWowExec
+ReleaseActCtx
+ReleaseMutex
+ReleaseSRWLockExclusive
+ReleaseSRWLockShared
+ReleaseSemaphore
+RemoveDirectoryA
+RemoveDirectoryW
+RemoveLocalAlternateComputerNameA
+RemoveLocalAlternateComputerNameW
+RemoveVectoredContinueHandler
+RemoveVectoredExceptionHandler
+ReplaceFile
+ReplaceFileA
+ReplaceFileW
+RequestDeviceWakeup
+RequestWakeupLatency
+ResetEvent
+ResetWriteWatch
+RestoreLastError
+ResumeThread
+RtlAddFunctionTable
+RtlCaptureContext
+RtlCaptureStackBackTrace
+RtlCompareMemory
+RtlCopyMemory
+RtlDeleteFunctionTable
+RtlFillMemory
+RtlInstallFunctionTableCallback
+RtlLookupFunctionEntry
+RtlMoveMemory
+RtlPcToFileHeader
+RtlRaiseException
+RtlRestoreContext
+RtlUnwind
+RtlUnwindEx
+RtlVirtualUnwind
+RtlZeroMemory
+ScrollConsoleScreenBufferA
+ScrollConsoleScreenBufferW
+SearchPathA
+SearchPathW
+SetCPGlobal
+SetCalendarInfoA
+SetCalendarInfoW
+SetClientTimeZoneInformation
+SetComPlusPackageInstallStatus
+SetCommBreak
+SetCommConfig
+SetCommMask
+SetCommState
+SetCommTimeouts
+SetComputerNameA
+SetComputerNameExA
+SetComputerNameExW
+SetComputerNameW
+SetConsoleActiveScreenBuffer
+SetConsoleCP
+SetConsoleCommandHistoryMode
+SetConsoleCtrlHandler
+SetConsoleCursor
+SetConsoleCursorInfo
+SetConsoleCursorMode
+SetConsoleCursorPosition
+SetConsoleDisplayMode
+SetConsoleFont
+SetConsoleHardwareState
+SetConsoleIcon
+SetConsoleInputExeNameA
+SetConsoleInputExeNameW
+SetConsoleKeyShortcuts
+SetConsoleLocalEUDC
+SetConsoleMaximumWindowSize
+SetConsoleMenuClose
+SetConsoleMode
+SetConsoleNlsMode
+SetConsoleNumberOfCommandsA
+SetConsoleNumberOfCommandsW
+SetConsoleOS2OemFormat
+SetConsoleOutputCP
+SetConsolePalette
+SetConsoleScreenBufferSize
+SetConsoleTextAttribute
+SetConsoleTitleA
+SetConsoleTitleW
+SetConsoleWindowInfo
+SetCriticalSectionSpinCount
+SetCurrentDirectoryA
+SetCurrentDirectoryW
+SetDefaultCommConfigA
+SetDefaultCommConfigW
+SetDllDirectoryA
+SetDllDirectoryW
+SetEndOfFile
+SetEnvironmentStringsA
+SetEnvironmentStringsW
+SetEnvironmentVariableA
+SetEnvironmentVariableW
+SetErrorMode
+SetEvent
+SetFileApisToANSI
+SetFileApisToOEM
+SetFileAttributesA
+SetFileAttributesW
+SetFilePointer
+SetFilePointerEx
+SetFileShortNameA
+SetFileShortNameW
+SetFileTime
+SetFileValidData
+SetFirmwareEnvironmentVariableA
+SetFirmwareEnvironmentVariableW
+SetHandleCount
+SetHandleInformation
+SetInformationJobObject
+SetLastConsoleEventActive
+SetLastError
+SetLocalPrimaryComputerNameA
+SetLocalPrimaryComputerNameW
+SetLocalTime
+SetLocaleInfoA
+SetLocaleInfoW
+SetMailslotInfo
+SetMessageWaitingIndicator
+SetNamedPipeHandleState
+SetPriorityClass
+SetProcessAffinityMask
+SetProcessPriorityBoost
+SetProcessShutdownParameters
+SetProcessWorkingSetSize
+SetProcessWorkingSetSizeEx
+SetStdHandle
+SetSystemFileCacheSize
+SetSystemPowerState
+SetSystemTime
+SetSystemTimeAdjustment
+SetTapeParameters
+SetTapePosition
+SetTermsrvAppInstallMode
+SetThreadAffinityMask
+SetThreadContext
+SetThreadExecutionState
+SetThreadIdealProcessor
+SetThreadLocale
+SetThreadPriority
+SetThreadPriorityBoost
+SetThreadStackGuarantee
+SetThreadUILanguage
+SetTimeZoneInformation
+SetTimerQueueTimer
+SetUnhandledExceptionFilter
+SetUserGeoID
+SetVDMCurrentDirectories
+SetVolumeLabelA
+SetVolumeLabelW
+SetVolumeMountPointA
+SetVolumeMountPointW
+SetWaitableTimer
+SetupComm
+ShowConsoleCursor
+SignalObjectAndWait
+SizeofResource
+Sleep
+SleepConditionVariableCS
+SleepEx
+SuspendThread
+SwitchToFiber
+SwitchToThread
+SystemTimeToFileTime
+SystemTimeToTzSpecificLocalTime
+TerminateJobObject
+TerminateProcess
+TerminateThread
+TermsrvAppInstallMode
+Thread32First
+Thread32Next
+TlsAlloc
+TlsFree
+TlsGetValue
+TlsSetValue
+Toolhelp32ReadProcessMemory
+TransactNamedPipe
+TransmitCommChar
+TryAcquireSRWLockExclusive
+TryAcquireSRWLockShared
+TryEnterCriticalSection
+TzSpecificLocalTimeToSystemTime
+UTRegister
+UTUnRegister
+UnhandledExceptionFilter
+UnlockFile
+UnlockFileEx
+UnmapViewOfFile
+UnregisterConsoleIME
+UnregisterWait
+UnregisterWaitEx
+UpdateResourceA
+UpdateResourceW
+VDMConsoleOperation
+VDMOperationStarted
+ValidateLCType
+ValidateLocale
+VerLanguageNameA
+VerLanguageNameW
+VerSetConditionMask
+VerifyConsoleIoHandle
+VerifyVersionInfoA
+VerifyVersionInfoW
+VirtualAlloc
+VirtualAllocEx
+VirtualFree
+VirtualFreeEx
+VirtualLock
+VirtualProtect
+VirtualProtectEx
+VirtualQuery
+VirtualQueryEx
+VirtualUnlock
+WTSGetActiveConsoleSessionId
+WaitCommEvent
+WaitForDebugEvent
+WaitForMultipleObjects
+WaitForMultipleObjectsEx
+WaitForSingleObject
+WaitForSingleObjectEx
+WaitNamedPipeA
+WaitNamedPipeW
+WakeAllConditionVariable
+WakeConditionVariable
+WideCharToMultiByte
+WinExec
+Wow64DisableWow64FsRedirection
+Wow64EnableWow64FsRedirection
+Wow64RevertWow64FsRedirection
+WriteConsoleA
+WriteConsoleInputA
+WriteConsoleInputVDMA
+WriteConsoleInputVDMW
+WriteConsoleInputW
+WriteConsoleOutputA
+WriteConsoleOutputAttribute
+WriteConsoleOutputCharacterA
+WriteConsoleOutputCharacterW
+WriteConsoleOutputW
+WriteConsoleW
+WriteFile
+WriteFileEx
+WriteFileGather
+WritePrivateProfileSectionA
+WritePrivateProfileSectionW
+WritePrivateProfileStringA
+WritePrivateProfileStringW
+WritePrivateProfileStructA
+WritePrivateProfileStructW
+WriteProcessMemory
+WriteProfileSectionA
+WriteProfileSectionW
+WriteProfileStringA
+WriteProfileStringW
+WriteTapemark
+ZombifyActCtx
+__C_specific_handler
+;__chkstk
+__misaligned_access
+_hread
+_hwrite
+_lclose
+_lcreat
+_llseek
+_local_unwind
+_lopen
+_lread
+_lwrite
+lstrcat
+lstrcatA
+lstrcatW
+lstrcmp
+lstrcmpA
+lstrcmpW
+lstrcmpi
+lstrcmpiA
+lstrcmpiW
+lstrcpy
+lstrcpyA
+lstrcpyW
+lstrcpyn
+lstrcpynA
+lstrcpynW
+lstrlen
+lstrlenA
+lstrlenW
+uaw_lstrcmpW
+uaw_lstrcmpiW
+uaw_lstrlenW
+uaw_wcschr
+uaw_wcscpy
+uaw_wcsicmp
+uaw_wcslen
+uaw_wcsrchr
diff --git a/mingw-w64-crt/lib64/keymgr.def b/mingw-w64-crt/lib64/keymgr.def
index 1ed6e9f..db865ef 100644
--- a/mingw-w64-crt/lib64/keymgr.def
+++ b/mingw-w64-crt/lib64/keymgr.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file KEYMGR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KEYMGR.dll
-EXPORTS
-CPlApplet
-DllMain
-KRShowKeyMgr
-PRShowRestoreFromMsginaW
-PRShowRestoreWizardExW
-PRShowRestoreWizardW
-PRShowSaveFromMsginaW
-PRShowSaveWizardExW
+; 
+; Exports of file KEYMGR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KEYMGR.dll
+EXPORTS
+CPlApplet
+DllMain
+KRShowKeyMgr
+PRShowRestoreFromMsginaW
+PRShowRestoreWizardExW
+PRShowRestoreWizardW
+PRShowSaveFromMsginaW
+PRShowSaveWizardExW
diff --git a/mingw-w64-crt/lib64/korwbrkr.def b/mingw-w64-crt/lib64/korwbrkr.def
index e5b1fb9..e874ac9 100644
--- a/mingw-w64-crt/lib64/korwbrkr.def
+++ b/mingw-w64-crt/lib64/korwbrkr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file KorWbrkr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KorWbrkr.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file KorWbrkr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KorWbrkr.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/krnlprov.def b/mingw-w64-crt/lib64/krnlprov.def
index 54dc8b8..11375f8 100644
--- a/mingw-w64-crt/lib64/krnlprov.def
+++ b/mingw-w64-crt/lib64/krnlprov.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file krnlprov.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY krnlprov.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file krnlprov.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY krnlprov.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ksuser.def b/mingw-w64-crt/lib64/ksuser.def
index b6e939e..e908b3f 100644
--- a/mingw-w64-crt/lib64/ksuser.def
+++ b/mingw-w64-crt/lib64/ksuser.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ksuser.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ksuser.dll
-EXPORTS
-KsCreateAllocator
-KsCreateClock
-KsCreatePin
-KsCreateTopologyNode
+; 
+; Exports of file ksuser.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ksuser.dll
+EXPORTS
+KsCreateAllocator
+KsCreateClock
+KsCreatePin
+KsCreateTopologyNode
diff --git a/mingw-w64-crt/lib64/langwrbk.def b/mingw-w64-crt/lib64/langwrbk.def
index f2f83af..982e56c 100644
--- a/mingw-w64-crt/lib64/langwrbk.def
+++ b/mingw-w64-crt/lib64/langwrbk.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file LangWrbk.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LangWrbk.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file LangWrbk.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LangWrbk.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/licdll.def b/mingw-w64-crt/lib64/licdll.def
index 707975b..8e3a216 100644
--- a/mingw-w64-crt/lib64/licdll.def
+++ b/mingw-w64-crt/lib64/licdll.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file licdll.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY licdll.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file licdll.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY licdll.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/licmgr10.def b/mingw-w64-crt/lib64/licmgr10.def
index 0697f40..1ea14e8 100644
--- a/mingw-w64-crt/lib64/licmgr10.def
+++ b/mingw-w64-crt/lib64/licmgr10.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file LICMGR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LICMGR.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file LICMGR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LICMGR.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/licwmi.def b/mingw-w64-crt/lib64/licwmi.def
index 57af946..84ccd1c 100644
--- a/mingw-w64-crt/lib64/licwmi.def
+++ b/mingw-w64-crt/lib64/licwmi.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file LicWmi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LicWmi.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file LicWmi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LicWmi.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/linkinfo.def b/mingw-w64-crt/lib64/linkinfo.def
index 219ab73..484af1d 100644
--- a/mingw-w64-crt/lib64/linkinfo.def
+++ b/mingw-w64-crt/lib64/linkinfo.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file LINKINFO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LINKINFO.dll
-EXPORTS
-CompareLinkInfoReferents
-CompareLinkInfoVolumes
-CreateLinkInfo
-CreateLinkInfoA
-CreateLinkInfoW
-DestroyLinkInfo
-DisconnectLinkInfo
-GetCanonicalPathInfo
-GetCanonicalPathInfoA
-GetCanonicalPathInfoW
-GetLinkInfoData
-IsValidLinkInfo
-ResolveLinkInfo
-ResolveLinkInfoA
-ResolveLinkInfoW
+; 
+; Exports of file LINKINFO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LINKINFO.dll
+EXPORTS
+CompareLinkInfoReferents
+CompareLinkInfoVolumes
+CreateLinkInfo
+CreateLinkInfoA
+CreateLinkInfoW
+DestroyLinkInfo
+DisconnectLinkInfo
+GetCanonicalPathInfo
+GetCanonicalPathInfoA
+GetCanonicalPathInfoW
+GetLinkInfoData
+IsValidLinkInfo
+ResolveLinkInfo
+ResolveLinkInfoA
+ResolveLinkInfoW
diff --git a/mingw-w64-crt/lib64/lmhsvc.def b/mingw-w64-crt/lib64/lmhsvc.def
index 22d8db5..5dcc3b2 100644
--- a/mingw-w64-crt/lib64/lmhsvc.def
+++ b/mingw-w64-crt/lib64/lmhsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file lmhsvc.exe
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY lmhsvc.exe
-EXPORTS
-ServiceMain
+; 
+; Exports of file lmhsvc.exe
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY lmhsvc.exe
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/lmmib2.def b/mingw-w64-crt/lib64/lmmib2.def
index 3a772a1..90e82ef 100644
--- a/mingw-w64-crt/lib64/lmmib2.def
+++ b/mingw-w64-crt/lib64/lmmib2.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file lmmib2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY lmmib2.dll
-EXPORTS
-SnmpExtensionClose
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file lmmib2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY lmmib2.dll
+EXPORTS
+SnmpExtensionClose
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/lmrt.def b/mingw-w64-crt/lib64/lmrt.def
index fc68910..3610e7c 100644
--- a/mingw-w64-crt/lib64/lmrt.def
+++ b/mingw-w64-crt/lib64/lmrt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file LMRT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LMRT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file LMRT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LMRT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/loadperf.def b/mingw-w64-crt/lib64/loadperf.def
index d28fd66..a6a340a 100644
--- a/mingw-w64-crt/lib64/loadperf.def
+++ b/mingw-w64-crt/lib64/loadperf.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file loadperf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY loadperf.dll
-EXPORTS
-BackupPerfRegistryToFileW
-InstallPerfDllA
-InstallPerfDllW
-LoadPerfCounterTextStringsA
-LoadPerfCounterTextStringsW
-RestorePerfRegistryFromFileW
-SetServiceAsTrustedA
-SetServiceAsTrustedW
-UnloadPerfCounterTextStringsA
-UnloadPerfCounterTextStringsW
-UpdatePerfNameFilesA
-UpdatePerfNameFilesW
+; 
+; Exports of file loadperf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY loadperf.dll
+EXPORTS
+BackupPerfRegistryToFileW
+InstallPerfDllA
+InstallPerfDllW
+LoadPerfCounterTextStringsA
+LoadPerfCounterTextStringsW
+RestorePerfRegistryFromFileW
+SetServiceAsTrustedA
+SetServiceAsTrustedW
+UnloadPerfCounterTextStringsA
+UnloadPerfCounterTextStringsW
+UpdatePerfNameFilesA
+UpdatePerfNameFilesW
diff --git a/mingw-w64-crt/lib64/localsec.def b/mingw-w64-crt/lib64/localsec.def
index 7991266..3755bb6 100644
--- a/mingw-w64-crt/lib64/localsec.def
+++ b/mingw-w64-crt/lib64/localsec.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file localsec.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY localsec.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
+; 
+; Exports of file localsec.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY localsec.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
diff --git a/mingw-w64-crt/lib64/localspl.def b/mingw-w64-crt/lib64/localspl.def
index 157f260..9fb52e6 100644
--- a/mingw-w64-crt/lib64/localspl.def
+++ b/mingw-w64-crt/lib64/localspl.def
@@ -1,81 +1,81 @@
-; 
-; Exports of file LocalSpl.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LocalSpl.dll
-EXPORTS
-ClosePrintProcessor
-ControlPrintProcessor
-DllMain
-EnumPrintProcessorDatatypesW
-GetPrintProcessorCapabilities
-InitializePrintMonitor
-InitializePrintProvidor
-LclIsSessionZero
-LclPromptUIPerSessionUser
-OpenPrintProcessor
-PrintDocumentOnPrintProcessor
-PrintProcLogEvent
-SplAddForm
-SplAddMonitor
-SplAddPort
-SplAddPortEx
-SplAddPrintProcessor
-SplAddPrinter
-SplAddPrinterDriverEx
-SplBroadcastChange
-SplClosePrinter
-SplCloseSpooler
-SplConfigChange
-SplCopyFileEvent
-SplCopyNumberOfFiles
-SplCreateSpooler
-SplDeleteForm
-SplDeleteMonitor
-SplDeletePort
-SplDeletePrintProcCacheData
-SplDeletePrintProcessor
-SplDeletePrinter
-SplDeletePrinterDriverEx
-SplDeletePrinterKey
-SplDeleteSpooler
-SplDriverEvent
-SplEnumForms
-SplEnumMonitors
-SplEnumPorts
-SplEnumPrintProcCacheData
-SplEnumPrintProcessorDatatypes
-SplEnumPrintProcessors
-SplEnumPrinterDataEx
-SplEnumPrinterKey
-SplEnumPrinters
-SplGetDriverDir
-SplGetForm
-SplGetPrintProcCacheData
-SplGetPrintProcessorDirectory
-SplGetPrinter
-SplGetPrinterData
-SplGetPrinterDataEx
-SplGetPrinterDriver
-SplGetPrinterDriverDirectory
-SplGetPrinterDriverEx
-SplGetPrinterExtra
-SplGetPrinterExtraEx
-SplLoadLibraryTheCopyFileModule
-SplLogEventExternal
-SplLogWmiTraceEventExternal
-SplMonitorIsInstalled
-SplOpenPrinter
-SplPowerEvent
-SplReenumeratePorts
-SplResetPrinter
-SplSetForm
-SplSetPrintProcCacheData
-SplSetPrinter
-SplSetPrinterData
-SplSetPrinterDataEx
-SplSetPrinterExtra
-SplSetPrinterExtraEx
-SplXcvData
+; 
+; Exports of file LocalSpl.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LocalSpl.dll
+EXPORTS
+ClosePrintProcessor
+ControlPrintProcessor
+DllMain
+EnumPrintProcessorDatatypesW
+GetPrintProcessorCapabilities
+InitializePrintMonitor
+InitializePrintProvidor
+LclIsSessionZero
+LclPromptUIPerSessionUser
+OpenPrintProcessor
+PrintDocumentOnPrintProcessor
+PrintProcLogEvent
+SplAddForm
+SplAddMonitor
+SplAddPort
+SplAddPortEx
+SplAddPrintProcessor
+SplAddPrinter
+SplAddPrinterDriverEx
+SplBroadcastChange
+SplClosePrinter
+SplCloseSpooler
+SplConfigChange
+SplCopyFileEvent
+SplCopyNumberOfFiles
+SplCreateSpooler
+SplDeleteForm
+SplDeleteMonitor
+SplDeletePort
+SplDeletePrintProcCacheData
+SplDeletePrintProcessor
+SplDeletePrinter
+SplDeletePrinterDriverEx
+SplDeletePrinterKey
+SplDeleteSpooler
+SplDriverEvent
+SplEnumForms
+SplEnumMonitors
+SplEnumPorts
+SplEnumPrintProcCacheData
+SplEnumPrintProcessorDatatypes
+SplEnumPrintProcessors
+SplEnumPrinterDataEx
+SplEnumPrinterKey
+SplEnumPrinters
+SplGetDriverDir
+SplGetForm
+SplGetPrintProcCacheData
+SplGetPrintProcessorDirectory
+SplGetPrinter
+SplGetPrinterData
+SplGetPrinterDataEx
+SplGetPrinterDriver
+SplGetPrinterDriverDirectory
+SplGetPrinterDriverEx
+SplGetPrinterExtra
+SplGetPrinterExtraEx
+SplLoadLibraryTheCopyFileModule
+SplLogEventExternal
+SplLogWmiTraceEventExternal
+SplMonitorIsInstalled
+SplOpenPrinter
+SplPowerEvent
+SplReenumeratePorts
+SplResetPrinter
+SplSetForm
+SplSetPrintProcCacheData
+SplSetPrinter
+SplSetPrinterData
+SplSetPrinterDataEx
+SplSetPrinterExtra
+SplSetPrinterExtraEx
+SplXcvData
diff --git a/mingw-w64-crt/lib64/localui.def b/mingw-w64-crt/lib64/localui.def
index 269ce71..5642d33 100644
--- a/mingw-w64-crt/lib64/localui.def
+++ b/mingw-w64-crt/lib64/localui.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file LOCALUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LOCALUI.dll
-EXPORTS
-InitializePrintMonitorUI
+; 
+; Exports of file LOCALUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LOCALUI.dll
+EXPORTS
+InitializePrintMonitorUI
diff --git a/mingw-w64-crt/lib64/log.def b/mingw-w64-crt/lib64/log.def
index e36d3ea..320579e 100644
--- a/mingw-w64-crt/lib64/log.def
+++ b/mingw-w64-crt/lib64/log.def
@@ -1,28 +1,28 @@
-; 
-; Exports of file LOG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LOG.dll
-EXPORTS
-DllMain
-LogA
-LogBegin
-LogDeleteOnNextInit
-LogDirectA
-LogDirectW
-LogEnd
-LogIfA
-LogIfW
-LogLineA
-LogLineW
-LogReInitA
-LogReInitW
-LogSetErrorDest
-LogSetVerboseBitmap
-LogSetVerboseLevel
-LogTitleA
-LogTitleW
-LogW
-SuppressAllLogPopups
+; 
+; Exports of file LOG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LOG.dll
+EXPORTS
+DllMain
+LogA
+LogBegin
+LogDeleteOnNextInit
+LogDirectA
+LogDirectW
+LogEnd
+LogIfA
+LogIfW
+LogLineA
+LogLineW
+LogReInitA
+LogReInitW
+LogSetErrorDest
+LogSetVerboseBitmap
+LogSetVerboseLevel
+LogTitleA
+LogTitleW
+LogW
+SuppressAllLogPopups
diff --git a/mingw-w64-crt/lib64/loghours.def b/mingw-w64-crt/lib64/loghours.def
index 5904dde..0c2c8e8 100644
--- a/mingw-w64-crt/lib64/loghours.def
+++ b/mingw-w64-crt/lib64/loghours.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file LogHours.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LogHours.dll
-EXPORTS
-LogonScheduleDialog
-ConnectionScheduleDialog
-DialinHoursDialog
-DirSyncScheduleDialog
-LogonScheduleDialogEx
-DialinHoursDialogEx
-ReplicationScheduleDialog
-ReplicationScheduleDialogEx
-ConnectionScheduleDialogEx
-DirSyncScheduleDialogEx
+; 
+; Exports of file LogHours.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LogHours.dll
+EXPORTS
+LogonScheduleDialog
+ConnectionScheduleDialog
+DialinHoursDialog
+DirSyncScheduleDialog
+LogonScheduleDialogEx
+DialinHoursDialogEx
+ReplicationScheduleDialog
+ReplicationScheduleDialogEx
+ConnectionScheduleDialogEx
+DirSyncScheduleDialogEx
diff --git a/mingw-w64-crt/lib64/logscrpt.def b/mingw-w64-crt/lib64/logscrpt.def
index 6efeafc..2033e38 100644
--- a/mingw-w64-crt/lib64/logscrpt.def
+++ b/mingw-w64-crt/lib64/logscrpt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file logscript.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY logscript.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file logscript.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY logscript.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/lonsint.def b/mingw-w64-crt/lib64/lonsint.def
index 2a65155..4916f65 100644
--- a/mingw-w64-crt/lib64/lonsint.def
+++ b/mingw-w64-crt/lib64/lonsint.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file LONSINT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LONSINT.dll
-EXPORTS
-IISGetDefaultDomainName
-IISLogon32Initialize
-IISLogonDigestUserA
-IISLogonNetUserA
-IISLogonNetUserW
-IISLogonPassportUserW
-IISNetUserCookieA
+; 
+; Exports of file LONSINT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LONSINT.dll
+EXPORTS
+IISGetDefaultDomainName
+IISLogon32Initialize
+IISLogonDigestUserA
+IISLogonNetUserA
+IISLogonNetUserW
+IISLogonPassportUserW
+IISNetUserCookieA
diff --git a/mingw-w64-crt/lib64/lpdsvc.def b/mingw-w64-crt/lib64/lpdsvc.def
index 533469a..a192dd7 100644
--- a/mingw-w64-crt/lib64/lpdsvc.def
+++ b/mingw-w64-crt/lib64/lpdsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file LPDSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPDSVC.dll
-EXPORTS
-ServiceEntry
+; 
+; Exports of file LPDSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPDSVC.dll
+EXPORTS
+ServiceEntry
diff --git a/mingw-w64-crt/lib64/lpk.def b/mingw-w64-crt/lib64/lpk.def
index 0299a02..865e26b 100644
--- a/mingw-w64-crt/lib64/lpk.def
+++ b/mingw-w64-crt/lib64/lpk.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file LPK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPK.dll
-EXPORTS
-LpkInitialize
-LpkTabbedTextOut
-LpkDllInitialize
-LpkDrawTextEx
-LpkEditControl DATA
-LpkExtTextOut
-LpkGetCharacterPlacement
-LpkGetTextExtentExPoint
-LpkPSMTextOut
-LpkUseGDIWidthCache
-ftsWordBreak
+; 
+; Exports of file LPK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPK.dll
+EXPORTS
+LpkInitialize
+LpkTabbedTextOut
+LpkDllInitialize
+LpkDrawTextEx
+LpkEditControl DATA
+LpkExtTextOut
+LpkGetCharacterPlacement
+LpkGetTextExtentExPoint
+LpkPSMTextOut
+LpkUseGDIWidthCache
+ftsWordBreak
diff --git a/mingw-w64-crt/lib64/lprhelp.def b/mingw-w64-crt/lib64/lprhelp.def
index 47042e3..9071328 100644
--- a/mingw-w64-crt/lib64/lprhelp.def
+++ b/mingw-w64-crt/lib64/lprhelp.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file LPRHELP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPRHELP.dll
-EXPORTS
-CancelJob
-CloseLPR
-EndJob
-GetLongQueue
-GetShortQueue
-InitiateConnection
-OpenLPR
-PrintWaitingJobs
-SetLPRTimeouts
-StartJob
-WriteJobData
+; 
+; Exports of file LPRHELP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPRHELP.dll
+EXPORTS
+CancelJob
+CloseLPR
+EndJob
+GetLongQueue
+GetShortQueue
+InitiateConnection
+OpenLPR
+PrintWaitingJobs
+SetLPRTimeouts
+StartJob
+WriteJobData
diff --git a/mingw-w64-crt/lib64/lprmon.def b/mingw-w64-crt/lib64/lprmon.def
index daffbf0..af2980f 100644
--- a/mingw-w64-crt/lib64/lprmon.def
+++ b/mingw-w64-crt/lib64/lprmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file LPRMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPRMON.dll
-EXPORTS
-InitializePrintMonitor2
+; 
+; Exports of file LPRMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPRMON.dll
+EXPORTS
+InitializePrintMonitor2
diff --git a/mingw-w64-crt/lib64/lprmonui.def b/mingw-w64-crt/lib64/lprmonui.def
index e522b08..14b6408 100644
--- a/mingw-w64-crt/lib64/lprmonui.def
+++ b/mingw-w64-crt/lib64/lprmonui.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file LPRUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPRUI.dll
-EXPORTS
-InitializePrintMonitorUI
+; 
+; Exports of file LPRUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPRUI.dll
+EXPORTS
+InitializePrintMonitorUI
diff --git a/mingw-w64-crt/lib64/lsasrv.def b/mingw-w64-crt/lib64/lsasrv.def
index 0f41a84..0f3dd15 100644
--- a/mingw-w64-crt/lib64/lsasrv.def
+++ b/mingw-w64-crt/lib64/lsasrv.def
@@ -1,141 +1,141 @@
-; 
-; Exports of file LSASRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LSASRV.dll
-EXPORTS
-LsaIAddNameToLogonSession
-LsaIGetNameFromLuid
-LsaISetPackageAttrInLogonSession
-DsRolerDcAsDc
-DsRolerDcAsReplica
-DsRolerDemoteDc
-DsRolerGetDcOperationProgress
-DsRolerGetDcOperationResults
-LsaIAdtAuditingEnabledByCategory
-LsaIAllocateHeap
-LsaIAllocateHeapZero
-LsaIAuditAccountLogon
-LsaIAuditAccountLogonEx
-LsaIAuditKdcEvent
-LsaIAuditKerberosLogon
-LsaIAuditLogonUsingExplicitCreds
-LsaIAuditNotifyPackageLoad
-LsaIAuditPasswordAccessEvent
-LsaIAuditReplay
-LsaIAuditSamEvent
-LsaICallPackage
-LsaICallPackageEx
-LsaICallPackagePassthrough
-LsaICancelNotification
-LsaIChangeSecretCipherKey
-LsaICryptProtectData
-LsaICryptUnprotectData
-LsaIDereferenceCredHandle
-LsaIDsNotifiedObjectChange
-LsaIEnumerateSecrets
-LsaIEqualLogonProcessName
-LsaIFilterNamespace
-LsaIFilterSids
-LsaIForestTrustFindMatch
-LsaIFreeForestTrustInfo
-LsaIFreeHeap
-LsaIFreeReturnBuffer
-LsaIFree_LSAI_PRIVATE_DATA
-LsaIFree_LSAI_SECRET_ENUM_BUFFER
-LsaIFree_LSAPR_ACCOUNT_ENUM_BUFFER
-LsaIFree_LSAPR_CR_CIPHER_VALUE
-LsaIFree_LSAPR_POLICY_DOMAIN_INFORMATION
-LsaIFree_LSAPR_POLICY_INFORMATION
-LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER
-LsaIFree_LSAPR_PRIVILEGE_SET
-LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST
-LsaIFree_LSAPR_SR_SECURITY_DESCRIPTOR
-LsaIFree_LSAPR_TRANSLATED_NAMES
-LsaIFree_LSAPR_TRANSLATED_SIDS
-LsaIFree_LSAPR_TRUSTED_DOMAIN_INFO
-LsaIFree_LSAPR_TRUSTED_ENUM_BUFFER
-LsaIFree_LSAPR_TRUSTED_ENUM_BUFFER_EX
-LsaIFree_LSAPR_TRUST_INFORMATION
-LsaIFree_LSAPR_UNICODE_STRING
-LsaIFree_LSAPR_UNICODE_STRING_BUFFER
-LsaIFree_LSAP_SITENAME_INFO
-LsaIFree_LSAP_SITE_INFO
-LsaIFree_LSAP_SUBNET_INFO
-LsaIFree_LSAP_UPN_SUFFIXES
-LsaIFree_LSA_FOREST_TRUST_COLLISION_INFORMATION
-LsaIFree_LSA_FOREST_TRUST_INFORMATION
-LsaIGetBootOption
-LsaIGetCallInfo
-LsaIGetForestTrustInformation
-LsaIGetLogonGuid
-LsaIGetNbAndDnsDomainNames
-LsaIGetSerialNumberPolicy
-LsaIGetSiteName
-LsaIHealthCheck
-LsaIImpersonateClient
-LsaIIsDomainWithinForest
-LsaIIsDsPaused
-LsaIKerberosRegisterTrustNotification
-LsaILookupWellKnownName
-LsaINoMoreWin2KDomain
-LsaINotifyChangeNotification
-LsaINotifyGCStatusChange
-LsaINotifyNetlogonParametersChangeW
-LsaINotifyPasswordChanged
-LsaIOpenPolicyTrusted
-LsaIQueryForestTrustInfo
-LsaIQueryInformationPolicyTrusted
-LsaIQuerySiteInfo
-LsaIQuerySubnetInfo
-LsaIQueryUpnSuffixes
-LsaIReferenceCredHandle
-LsaIRegisterNotification
-LsaIRegisterPolicyChangeNotificationCallback
-LsaISafeMode
-LsaISamIndicatedDsStarted
-LsaISetBootOption
-LsaISetClientDnsHostName
-LsaISetLogonGuidInLogonSession
-LsaISetSerialNumberPolicy
-LsaISetTimesSecret
-LsaISetTokenDacl
-LsaISetupWasRun
-LsaIUnregisterAllPolicyChangeNotificationCallback
-LsaIUnregisterPolicyChangeNotificationCallback
-LsaIUpdateForestTrustInformation
-LsaIWriteAuditEvent
-LsapAuOpenSam
-LsapCheckBootMode
-LsapDsDebugInitialize
-LsapDsInitializeDsStateInfo
-LsapDsInitializePromoteInterface
-LsapInitLsa
-LsarClose
-LsarCreateSecret
-LsarDelete
-LsarEnumerateAccounts
-LsarEnumeratePrivilegesAccount
-LsarEnumerateTrustedDomains
-LsarEnumerateTrustedDomainsEx
-LsarGetSystemAccessAccount
-LsarLookupPrivilegeName
-LsarLookupSids
-LsarLookupSids2
-LsarOpenAccount
-LsarOpenPolicy
-LsarOpenSecret
-LsarOpenTrustedDomain
-LsarQueryDomainInformationPolicy
-LsarQueryInfoTrustedDomain
-LsarQueryInformationPolicy
-LsarQuerySecret
-LsarQuerySecurityObject
-LsarQueryTrustedDomainInfoByName
-LsarSetInformationPolicy
-LsarSetSecret
-LsarSetSecurityObject
-LsarSetTrustedDomainInfoByName
-ServiceInit
+; 
+; Exports of file LSASRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LSASRV.dll
+EXPORTS
+LsaIAddNameToLogonSession
+LsaIGetNameFromLuid
+LsaISetPackageAttrInLogonSession
+DsRolerDcAsDc
+DsRolerDcAsReplica
+DsRolerDemoteDc
+DsRolerGetDcOperationProgress
+DsRolerGetDcOperationResults
+LsaIAdtAuditingEnabledByCategory
+LsaIAllocateHeap
+LsaIAllocateHeapZero
+LsaIAuditAccountLogon
+LsaIAuditAccountLogonEx
+LsaIAuditKdcEvent
+LsaIAuditKerberosLogon
+LsaIAuditLogonUsingExplicitCreds
+LsaIAuditNotifyPackageLoad
+LsaIAuditPasswordAccessEvent
+LsaIAuditReplay
+LsaIAuditSamEvent
+LsaICallPackage
+LsaICallPackageEx
+LsaICallPackagePassthrough
+LsaICancelNotification
+LsaIChangeSecretCipherKey
+LsaICryptProtectData
+LsaICryptUnprotectData
+LsaIDereferenceCredHandle
+LsaIDsNotifiedObjectChange
+LsaIEnumerateSecrets
+LsaIEqualLogonProcessName
+LsaIFilterNamespace
+LsaIFilterSids
+LsaIForestTrustFindMatch
+LsaIFreeForestTrustInfo
+LsaIFreeHeap
+LsaIFreeReturnBuffer
+LsaIFree_LSAI_PRIVATE_DATA
+LsaIFree_LSAI_SECRET_ENUM_BUFFER
+LsaIFree_LSAPR_ACCOUNT_ENUM_BUFFER
+LsaIFree_LSAPR_CR_CIPHER_VALUE
+LsaIFree_LSAPR_POLICY_DOMAIN_INFORMATION
+LsaIFree_LSAPR_POLICY_INFORMATION
+LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER
+LsaIFree_LSAPR_PRIVILEGE_SET
+LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST
+LsaIFree_LSAPR_SR_SECURITY_DESCRIPTOR
+LsaIFree_LSAPR_TRANSLATED_NAMES
+LsaIFree_LSAPR_TRANSLATED_SIDS
+LsaIFree_LSAPR_TRUSTED_DOMAIN_INFO
+LsaIFree_LSAPR_TRUSTED_ENUM_BUFFER
+LsaIFree_LSAPR_TRUSTED_ENUM_BUFFER_EX
+LsaIFree_LSAPR_TRUST_INFORMATION
+LsaIFree_LSAPR_UNICODE_STRING
+LsaIFree_LSAPR_UNICODE_STRING_BUFFER
+LsaIFree_LSAP_SITENAME_INFO
+LsaIFree_LSAP_SITE_INFO
+LsaIFree_LSAP_SUBNET_INFO
+LsaIFree_LSAP_UPN_SUFFIXES
+LsaIFree_LSA_FOREST_TRUST_COLLISION_INFORMATION
+LsaIFree_LSA_FOREST_TRUST_INFORMATION
+LsaIGetBootOption
+LsaIGetCallInfo
+LsaIGetForestTrustInformation
+LsaIGetLogonGuid
+LsaIGetNbAndDnsDomainNames
+LsaIGetSerialNumberPolicy
+LsaIGetSiteName
+LsaIHealthCheck
+LsaIImpersonateClient
+LsaIIsDomainWithinForest
+LsaIIsDsPaused
+LsaIKerberosRegisterTrustNotification
+LsaILookupWellKnownName
+LsaINoMoreWin2KDomain
+LsaINotifyChangeNotification
+LsaINotifyGCStatusChange
+LsaINotifyNetlogonParametersChangeW
+LsaINotifyPasswordChanged
+LsaIOpenPolicyTrusted
+LsaIQueryForestTrustInfo
+LsaIQueryInformationPolicyTrusted
+LsaIQuerySiteInfo
+LsaIQuerySubnetInfo
+LsaIQueryUpnSuffixes
+LsaIReferenceCredHandle
+LsaIRegisterNotification
+LsaIRegisterPolicyChangeNotificationCallback
+LsaISafeMode
+LsaISamIndicatedDsStarted
+LsaISetBootOption
+LsaISetClientDnsHostName
+LsaISetLogonGuidInLogonSession
+LsaISetSerialNumberPolicy
+LsaISetTimesSecret
+LsaISetTokenDacl
+LsaISetupWasRun
+LsaIUnregisterAllPolicyChangeNotificationCallback
+LsaIUnregisterPolicyChangeNotificationCallback
+LsaIUpdateForestTrustInformation
+LsaIWriteAuditEvent
+LsapAuOpenSam
+LsapCheckBootMode
+LsapDsDebugInitialize
+LsapDsInitializeDsStateInfo
+LsapDsInitializePromoteInterface
+LsapInitLsa
+LsarClose
+LsarCreateSecret
+LsarDelete
+LsarEnumerateAccounts
+LsarEnumeratePrivilegesAccount
+LsarEnumerateTrustedDomains
+LsarEnumerateTrustedDomainsEx
+LsarGetSystemAccessAccount
+LsarLookupPrivilegeName
+LsarLookupSids
+LsarLookupSids2
+LsarOpenAccount
+LsarOpenPolicy
+LsarOpenSecret
+LsarOpenTrustedDomain
+LsarQueryDomainInformationPolicy
+LsarQueryInfoTrustedDomain
+LsarQueryInformationPolicy
+LsarQuerySecret
+LsarQuerySecurityObject
+LsarQueryTrustedDomainInfoByName
+LsarSetInformationPolicy
+LsarSetSecret
+LsarSetSecurityObject
+LsarSetTrustedDomainInfoByName
+ServiceInit
diff --git a/mingw-w64-crt/lib64/lz32.def b/mingw-w64-crt/lib64/lz32.def
index b5f2beb..8b37530 100644
--- a/mingw-w64-crt/lib64/lz32.def
+++ b/mingw-w64-crt/lib64/lz32.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file LZ32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LZ32.dll
-EXPORTS
-CopyLZFile
-GetExpandedNameA
-GetExpandedNameW
-LZClose
-LZCloseFile
-LZCopy
-LZCreateFileW
-LZDone
-LZInit
-LZOpenFileA
-LZOpenFileW
-LZRead
-LZSeek
-LZStart
+; 
+; Exports of file LZ32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LZ32.dll
+EXPORTS
+CopyLZFile
+GetExpandedNameA
+GetExpandedNameW
+LZClose
+LZCloseFile
+LZCopy
+LZCreateFileW
+LZDone
+LZInit
+LZOpenFileA
+LZOpenFileW
+LZRead
+LZSeek
+LZStart
diff --git a/mingw-w64-crt/lib64/mag_hook.def b/mingw-w64-crt/lib64/mag_hook.def
index 040cf6f..9bed4d7 100644
--- a/mingw-w64-crt/lib64/mag_hook.def
+++ b/mingw-w64-crt/lib64/mag_hook.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file Mag_Hook.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Mag_Hook.dll
-EXPORTS
-FakeCursorMove
-GetCursorHack
-GetPopupInfo
-InstallEventHook
-SetZoomRect
+; 
+; Exports of file Mag_Hook.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Mag_Hook.dll
+EXPORTS
+FakeCursorMove
+GetCursorHack
+GetPopupInfo
+InstallEventHook
+SetZoomRect
diff --git a/mingw-w64-crt/lib64/mailmsg.def b/mingw-w64-crt/lib64/mailmsg.def
index 40df0b8..d50bc32 100644
--- a/mingw-w64-crt/lib64/mailmsg.def
+++ b/mingw-w64-crt/lib64/mailmsg.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file mailmsg.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mailmsg.DLL
-EXPORTS
-; unsigned long  g_fFillPropertyPages
-?g_fFillPropertyPages@@3KA DATA
-; unsigned long  g_fValidateSignatures
-?g_fValidateSignatures@@3KA DATA
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mailmsg.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mailmsg.DLL
+EXPORTS
+; unsigned long  g_fFillPropertyPages
+?g_fFillPropertyPages@@3KA DATA
+; unsigned long  g_fValidateSignatures
+?g_fValidateSignatures@@3KA DATA
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mapi32.def b/mingw-w64-crt/lib64/mapi32.def
index aa5ce6e..9f0ffe7 100644
--- a/mingw-w64-crt/lib64/mapi32.def
+++ b/mingw-w64-crt/lib64/mapi32.def
@@ -1,178 +1,178 @@
-; 
-; Exports of file MAPI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MAPI32.dll
-EXPORTS
-MAPILogonEx
-MAPIAllocateBuffer
-MAPIAllocateMore
-MAPIFreeBuffer
-MAPIAdminProfiles
-MAPIInitialize
-MAPIUninitialize
-PRProviderInit
-LAUNCHWIZARD
-LaunchWizard
-DllGetClassObject
-DllCanUnloadNow
-MAPIOpenFormMgr
-MAPIOpenLocalFormContainer
-ScInitMapiUtil
-DeinitMapiUtil
-ScGenerateMuid
-HrAllocAdviseSink
-WrapProgress
-HrThisThreadAdviseSink
-ScBinFromHexBounded
-FBinFromHex
-HexFromBin
-BuildDisplayTable
-SwapPlong
-SwapPword
-MAPIInitIdle
-MAPIDeinitIdle
-InstallFilterHook
-FtgRegisterIdleRoutine
-EnableIdleRoutine
-DeregisterIdleRoutine
-ChangeIdleRoutine
-MAPIGetDefaultMalloc
-CreateIProp
-CreateTable
-MNLS_lstrlenW
-MNLS_lstrcmpW
-MNLS_lstrcpyW
-MNLS_CompareStringW
-MNLS_MultiByteToWideChar
-MNLS_WideCharToMultiByte
-MNLS_IsBadStringPtrW
-FEqualNames
-WrapStoreEntryID
-IsBadBoundedStringPtr
-HrQueryAllRows
-PropCopyMore
-UlPropSize
-FPropContainsProp
-FPropCompareProp
-LPropCompareProp
-HrAddColumns
-HrAddColumnsEx
-FtAddFt
-FtAdcFt
-FtSubFt
-FtMulDw
-FtMulDwDw
-FtNegFt
-FtDivFtBogus
-UlAddRef
-UlRelease
-SzFindCh
-SzFindLastCh
-SzFindSz
-UFromSz
-HrGetOneProp
-HrSetOneProp
-FPropExists
-PpropFindProp
-FreePadrlist
-FreeProws
-HrSzFromEntryID
-HrEntryIDFromSz
-HrComposeEID
-HrDecomposeEID
-HrComposeMsgID
-HrDecomposeMsgID
-OpenStreamOnFile
-OpenTnefStream
-OpenTnefStreamEx
-GetTnefStreamCodepage
-UlFromSzHex
-UNKOBJ_ScAllocate
-UNKOBJ_ScAllocateMore
-UNKOBJ_Free
-UNKOBJ_FreeRows
-UNKOBJ_ScCOAllocate
-UNKOBJ_ScCOReallocate
-UNKOBJ_COFree
-UNKOBJ_ScSzFromIdsAlloc
-ScCountNotifications
-ScCopyNotifications
-ScRelocNotifications
-ScCountProps
-ScCopyProps
-ScRelocProps
-LpValFindProp
-ScDupPropset
-FBadRglpszA
-FBadRglpszW
-FBadRowSet
-FBadRglpNameID
-FBadPropTag
-FBadRow
-FBadProp
-FBadColumnSet
-RTFSync
-WrapCompressedRTFStream
-__ValidateParameters
-__CPPValidateParameters
-FBadSortOrderSet
-FBadEntryList
-FBadRestriction
-ScUNCFromLocalPath
-ScLocalPathFromUNC
-HrIStorageFromStream
-HrValidateIPMSubtree
-OpenIMsgSession
-CloseIMsgSession
-OpenIMsgOnIStg
-SetAttribIMsgOnIStg
-GetAttribIMsgOnIStg
-MapStorageSCode
-ScMAPIXFromCMC
-ScMAPIXFromSMAPI
-EncodeID
-FDecodeID
-CchOfEncoding
-CbOfEncoded
-MAPISendDocuments
-MAPILogon
-MAPILogoff
-MAPISendMail
-MAPISaveMail
-MAPIReadMail
-MAPIFindNext
-MAPIDeleteMail
-MAPIAddress
-MAPIDetails
-MAPIResolveName
-BMAPISendMail
-BMAPISaveMail
-BMAPIReadMail
-BMAPIGetReadMail
-BMAPIFindNext
-BMAPIAddress
-BMAPIGetAddress
-BMAPIDetails
-BMAPIResolveName
-cmc_act_on
-cmc_free
-cmc_list
-cmc_logoff
-cmc_logon
-cmc_look_up
-cmc_query_configuration
-cmc_read
-cmc_send
-cmc_send_documents
-HrDispatchNotifications
-HrValidateParametersV
-HrValidateParametersValist
-ScCreateConversationIndex
-HrGetOmiProvidersFlags
-HrSetOmiProvidersFlagsInvalid
-GetOutlookVersion
-FixMAPI
-FGetComponentPath
+; 
+; Exports of file MAPI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MAPI32.dll
+EXPORTS
+MAPILogonEx
+MAPIAllocateBuffer
+MAPIAllocateMore
+MAPIFreeBuffer
+MAPIAdminProfiles
+MAPIInitialize
+MAPIUninitialize
+PRProviderInit
+LAUNCHWIZARD
+LaunchWizard
+DllGetClassObject
+DllCanUnloadNow
+MAPIOpenFormMgr
+MAPIOpenLocalFormContainer
+ScInitMapiUtil
+DeinitMapiUtil
+ScGenerateMuid
+HrAllocAdviseSink
+WrapProgress
+HrThisThreadAdviseSink
+ScBinFromHexBounded
+FBinFromHex
+HexFromBin
+BuildDisplayTable
+SwapPlong
+SwapPword
+MAPIInitIdle
+MAPIDeinitIdle
+InstallFilterHook
+FtgRegisterIdleRoutine
+EnableIdleRoutine
+DeregisterIdleRoutine
+ChangeIdleRoutine
+MAPIGetDefaultMalloc
+CreateIProp
+CreateTable
+MNLS_lstrlenW
+MNLS_lstrcmpW
+MNLS_lstrcpyW
+MNLS_CompareStringW
+MNLS_MultiByteToWideChar
+MNLS_WideCharToMultiByte
+MNLS_IsBadStringPtrW
+FEqualNames
+WrapStoreEntryID
+IsBadBoundedStringPtr
+HrQueryAllRows
+PropCopyMore
+UlPropSize
+FPropContainsProp
+FPropCompareProp
+LPropCompareProp
+HrAddColumns
+HrAddColumnsEx
+FtAddFt
+FtAdcFt
+FtSubFt
+FtMulDw
+FtMulDwDw
+FtNegFt
+FtDivFtBogus
+UlAddRef
+UlRelease
+SzFindCh
+SzFindLastCh
+SzFindSz
+UFromSz
+HrGetOneProp
+HrSetOneProp
+FPropExists
+PpropFindProp
+FreePadrlist
+FreeProws
+HrSzFromEntryID
+HrEntryIDFromSz
+HrComposeEID
+HrDecomposeEID
+HrComposeMsgID
+HrDecomposeMsgID
+OpenStreamOnFile
+OpenTnefStream
+OpenTnefStreamEx
+GetTnefStreamCodepage
+UlFromSzHex
+UNKOBJ_ScAllocate
+UNKOBJ_ScAllocateMore
+UNKOBJ_Free
+UNKOBJ_FreeRows
+UNKOBJ_ScCOAllocate
+UNKOBJ_ScCOReallocate
+UNKOBJ_COFree
+UNKOBJ_ScSzFromIdsAlloc
+ScCountNotifications
+ScCopyNotifications
+ScRelocNotifications
+ScCountProps
+ScCopyProps
+ScRelocProps
+LpValFindProp
+ScDupPropset
+FBadRglpszA
+FBadRglpszW
+FBadRowSet
+FBadRglpNameID
+FBadPropTag
+FBadRow
+FBadProp
+FBadColumnSet
+RTFSync
+WrapCompressedRTFStream
+__ValidateParameters
+__CPPValidateParameters
+FBadSortOrderSet
+FBadEntryList
+FBadRestriction
+ScUNCFromLocalPath
+ScLocalPathFromUNC
+HrIStorageFromStream
+HrValidateIPMSubtree
+OpenIMsgSession
+CloseIMsgSession
+OpenIMsgOnIStg
+SetAttribIMsgOnIStg
+GetAttribIMsgOnIStg
+MapStorageSCode
+ScMAPIXFromCMC
+ScMAPIXFromSMAPI
+EncodeID
+FDecodeID
+CchOfEncoding
+CbOfEncoded
+MAPISendDocuments
+MAPILogon
+MAPILogoff
+MAPISendMail
+MAPISaveMail
+MAPIReadMail
+MAPIFindNext
+MAPIDeleteMail
+MAPIAddress
+MAPIDetails
+MAPIResolveName
+BMAPISendMail
+BMAPISaveMail
+BMAPIReadMail
+BMAPIGetReadMail
+BMAPIFindNext
+BMAPIAddress
+BMAPIGetAddress
+BMAPIDetails
+BMAPIResolveName
+cmc_act_on
+cmc_free
+cmc_list
+cmc_logoff
+cmc_logon
+cmc_look_up
+cmc_query_configuration
+cmc_read
+cmc_send
+cmc_send_documents
+HrDispatchNotifications
+HrValidateParametersV
+HrValidateParametersValist
+ScCreateConversationIndex
+HrGetOmiProvidersFlags
+HrSetOmiProvidersFlagsInvalid
+GetOutlookVersion
+FixMAPI
+FGetComponentPath
diff --git a/mingw-w64-crt/lib64/mapistub.def b/mingw-w64-crt/lib64/mapistub.def
index aa5ce6e..9f0ffe7 100644
--- a/mingw-w64-crt/lib64/mapistub.def
+++ b/mingw-w64-crt/lib64/mapistub.def
@@ -1,178 +1,178 @@
-; 
-; Exports of file MAPI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MAPI32.dll
-EXPORTS
-MAPILogonEx
-MAPIAllocateBuffer
-MAPIAllocateMore
-MAPIFreeBuffer
-MAPIAdminProfiles
-MAPIInitialize
-MAPIUninitialize
-PRProviderInit
-LAUNCHWIZARD
-LaunchWizard
-DllGetClassObject
-DllCanUnloadNow
-MAPIOpenFormMgr
-MAPIOpenLocalFormContainer
-ScInitMapiUtil
-DeinitMapiUtil
-ScGenerateMuid
-HrAllocAdviseSink
-WrapProgress
-HrThisThreadAdviseSink
-ScBinFromHexBounded
-FBinFromHex
-HexFromBin
-BuildDisplayTable
-SwapPlong
-SwapPword
-MAPIInitIdle
-MAPIDeinitIdle
-InstallFilterHook
-FtgRegisterIdleRoutine
-EnableIdleRoutine
-DeregisterIdleRoutine
-ChangeIdleRoutine
-MAPIGetDefaultMalloc
-CreateIProp
-CreateTable
-MNLS_lstrlenW
-MNLS_lstrcmpW
-MNLS_lstrcpyW
-MNLS_CompareStringW
-MNLS_MultiByteToWideChar
-MNLS_WideCharToMultiByte
-MNLS_IsBadStringPtrW
-FEqualNames
-WrapStoreEntryID
-IsBadBoundedStringPtr
-HrQueryAllRows
-PropCopyMore
-UlPropSize
-FPropContainsProp
-FPropCompareProp
-LPropCompareProp
-HrAddColumns
-HrAddColumnsEx
-FtAddFt
-FtAdcFt
-FtSubFt
-FtMulDw
-FtMulDwDw
-FtNegFt
-FtDivFtBogus
-UlAddRef
-UlRelease
-SzFindCh
-SzFindLastCh
-SzFindSz
-UFromSz
-HrGetOneProp
-HrSetOneProp
-FPropExists
-PpropFindProp
-FreePadrlist
-FreeProws
-HrSzFromEntryID
-HrEntryIDFromSz
-HrComposeEID
-HrDecomposeEID
-HrComposeMsgID
-HrDecomposeMsgID
-OpenStreamOnFile
-OpenTnefStream
-OpenTnefStreamEx
-GetTnefStreamCodepage
-UlFromSzHex
-UNKOBJ_ScAllocate
-UNKOBJ_ScAllocateMore
-UNKOBJ_Free
-UNKOBJ_FreeRows
-UNKOBJ_ScCOAllocate
-UNKOBJ_ScCOReallocate
-UNKOBJ_COFree
-UNKOBJ_ScSzFromIdsAlloc
-ScCountNotifications
-ScCopyNotifications
-ScRelocNotifications
-ScCountProps
-ScCopyProps
-ScRelocProps
-LpValFindProp
-ScDupPropset
-FBadRglpszA
-FBadRglpszW
-FBadRowSet
-FBadRglpNameID
-FBadPropTag
-FBadRow
-FBadProp
-FBadColumnSet
-RTFSync
-WrapCompressedRTFStream
-__ValidateParameters
-__CPPValidateParameters
-FBadSortOrderSet
-FBadEntryList
-FBadRestriction
-ScUNCFromLocalPath
-ScLocalPathFromUNC
-HrIStorageFromStream
-HrValidateIPMSubtree
-OpenIMsgSession
-CloseIMsgSession
-OpenIMsgOnIStg
-SetAttribIMsgOnIStg
-GetAttribIMsgOnIStg
-MapStorageSCode
-ScMAPIXFromCMC
-ScMAPIXFromSMAPI
-EncodeID
-FDecodeID
-CchOfEncoding
-CbOfEncoded
-MAPISendDocuments
-MAPILogon
-MAPILogoff
-MAPISendMail
-MAPISaveMail
-MAPIReadMail
-MAPIFindNext
-MAPIDeleteMail
-MAPIAddress
-MAPIDetails
-MAPIResolveName
-BMAPISendMail
-BMAPISaveMail
-BMAPIReadMail
-BMAPIGetReadMail
-BMAPIFindNext
-BMAPIAddress
-BMAPIGetAddress
-BMAPIDetails
-BMAPIResolveName
-cmc_act_on
-cmc_free
-cmc_list
-cmc_logoff
-cmc_logon
-cmc_look_up
-cmc_query_configuration
-cmc_read
-cmc_send
-cmc_send_documents
-HrDispatchNotifications
-HrValidateParametersV
-HrValidateParametersValist
-ScCreateConversationIndex
-HrGetOmiProvidersFlags
-HrSetOmiProvidersFlagsInvalid
-GetOutlookVersion
-FixMAPI
-FGetComponentPath
+; 
+; Exports of file MAPI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MAPI32.dll
+EXPORTS
+MAPILogonEx
+MAPIAllocateBuffer
+MAPIAllocateMore
+MAPIFreeBuffer
+MAPIAdminProfiles
+MAPIInitialize
+MAPIUninitialize
+PRProviderInit
+LAUNCHWIZARD
+LaunchWizard
+DllGetClassObject
+DllCanUnloadNow
+MAPIOpenFormMgr
+MAPIOpenLocalFormContainer
+ScInitMapiUtil
+DeinitMapiUtil
+ScGenerateMuid
+HrAllocAdviseSink
+WrapProgress
+HrThisThreadAdviseSink
+ScBinFromHexBounded
+FBinFromHex
+HexFromBin
+BuildDisplayTable
+SwapPlong
+SwapPword
+MAPIInitIdle
+MAPIDeinitIdle
+InstallFilterHook
+FtgRegisterIdleRoutine
+EnableIdleRoutine
+DeregisterIdleRoutine
+ChangeIdleRoutine
+MAPIGetDefaultMalloc
+CreateIProp
+CreateTable
+MNLS_lstrlenW
+MNLS_lstrcmpW
+MNLS_lstrcpyW
+MNLS_CompareStringW
+MNLS_MultiByteToWideChar
+MNLS_WideCharToMultiByte
+MNLS_IsBadStringPtrW
+FEqualNames
+WrapStoreEntryID
+IsBadBoundedStringPtr
+HrQueryAllRows
+PropCopyMore
+UlPropSize
+FPropContainsProp
+FPropCompareProp
+LPropCompareProp
+HrAddColumns
+HrAddColumnsEx
+FtAddFt
+FtAdcFt
+FtSubFt
+FtMulDw
+FtMulDwDw
+FtNegFt
+FtDivFtBogus
+UlAddRef
+UlRelease
+SzFindCh
+SzFindLastCh
+SzFindSz
+UFromSz
+HrGetOneProp
+HrSetOneProp
+FPropExists
+PpropFindProp
+FreePadrlist
+FreeProws
+HrSzFromEntryID
+HrEntryIDFromSz
+HrComposeEID
+HrDecomposeEID
+HrComposeMsgID
+HrDecomposeMsgID
+OpenStreamOnFile
+OpenTnefStream
+OpenTnefStreamEx
+GetTnefStreamCodepage
+UlFromSzHex
+UNKOBJ_ScAllocate
+UNKOBJ_ScAllocateMore
+UNKOBJ_Free
+UNKOBJ_FreeRows
+UNKOBJ_ScCOAllocate
+UNKOBJ_ScCOReallocate
+UNKOBJ_COFree
+UNKOBJ_ScSzFromIdsAlloc
+ScCountNotifications
+ScCopyNotifications
+ScRelocNotifications
+ScCountProps
+ScCopyProps
+ScRelocProps
+LpValFindProp
+ScDupPropset
+FBadRglpszA
+FBadRglpszW
+FBadRowSet
+FBadRglpNameID
+FBadPropTag
+FBadRow
+FBadProp
+FBadColumnSet
+RTFSync
+WrapCompressedRTFStream
+__ValidateParameters
+__CPPValidateParameters
+FBadSortOrderSet
+FBadEntryList
+FBadRestriction
+ScUNCFromLocalPath
+ScLocalPathFromUNC
+HrIStorageFromStream
+HrValidateIPMSubtree
+OpenIMsgSession
+CloseIMsgSession
+OpenIMsgOnIStg
+SetAttribIMsgOnIStg
+GetAttribIMsgOnIStg
+MapStorageSCode
+ScMAPIXFromCMC
+ScMAPIXFromSMAPI
+EncodeID
+FDecodeID
+CchOfEncoding
+CbOfEncoded
+MAPISendDocuments
+MAPILogon
+MAPILogoff
+MAPISendMail
+MAPISaveMail
+MAPIReadMail
+MAPIFindNext
+MAPIDeleteMail
+MAPIAddress
+MAPIDetails
+MAPIResolveName
+BMAPISendMail
+BMAPISaveMail
+BMAPIReadMail
+BMAPIGetReadMail
+BMAPIFindNext
+BMAPIAddress
+BMAPIGetAddress
+BMAPIDetails
+BMAPIResolveName
+cmc_act_on
+cmc_free
+cmc_list
+cmc_logoff
+cmc_logon
+cmc_look_up
+cmc_query_configuration
+cmc_read
+cmc_send
+cmc_send_documents
+HrDispatchNotifications
+HrValidateParametersV
+HrValidateParametersValist
+ScCreateConversationIndex
+HrGetOmiProvidersFlags
+HrSetOmiProvidersFlagsInvalid
+GetOutlookVersion
+FixMAPI
+FGetComponentPath
diff --git a/mingw-w64-crt/lib64/mcastmib.def b/mingw-w64-crt/lib64/mcastmib.def
index fd33538..4d8975d 100644
--- a/mingw-w64-crt/lib64/mcastmib.def
+++ b/mingw-w64-crt/lib64/mcastmib.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MCASTMIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCASTMIB.dll
-EXPORTS
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file MCASTMIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCASTMIB.dll
+EXPORTS
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/mcd32.def b/mingw-w64-crt/lib64/mcd32.def
index 92f2afe..4212c81 100644
--- a/mingw-w64-crt/lib64/mcd32.def
+++ b/mingw-w64-crt/lib64/mcd32.def
@@ -1,52 +1,52 @@
-; 
-; Exports of file MCD32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCD32.dll
-EXPORTS
-MCDAddState
-MCDAddStateStruct
-MCDAlloc
-MCDAllocBuffers
-MCDBeginState
-MCDBindContext
-MCDClear
-MCDCopyPixels
-MCDCreateContext
-MCDCreateTexture
-MCDDeleteContext
-MCDDeleteTexture
-MCDDescribeLayerPlane
-MCDDescribeMcdLayerPlane
-MCDDescribeMcdPixelFormat
-MCDDescribePixelFormat
-MCDDestroyWindow
-MCDDrawPixels
-MCDFlushState
-MCDFree
-MCDGetBuffers
-MCDGetDriverInfo
-MCDGetTextureFormats
-MCDLock
-MCDPixelMap
-MCDProcessBatch
-MCDProcessBatch2
-MCDQueryMemStatus
-MCDReadPixels
-MCDReadSpan
-MCDSetLayerPalette
-MCDSetScissorRect
-MCDSetViewport
-MCDSwap
-MCDSwapMultiple
-MCDSync
-MCDTextureKey
-MCDTextureStatus
-MCDUnlock
-MCDUpdateSubTexture
-MCDUpdateTexturePalette
-MCDUpdateTexturePriority
-MCDUpdateTextureState
-MCDWriteSpan
+; 
+; Exports of file MCD32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCD32.dll
+EXPORTS
+MCDAddState
+MCDAddStateStruct
+MCDAlloc
+MCDAllocBuffers
+MCDBeginState
+MCDBindContext
+MCDClear
+MCDCopyPixels
+MCDCreateContext
+MCDCreateTexture
+MCDDeleteContext
+MCDDeleteTexture
+MCDDescribeLayerPlane
+MCDDescribeMcdLayerPlane
+MCDDescribeMcdPixelFormat
+MCDDescribePixelFormat
+MCDDestroyWindow
+MCDDrawPixels
+MCDFlushState
+MCDFree
+MCDGetBuffers
+MCDGetDriverInfo
+MCDGetTextureFormats
+MCDLock
+MCDPixelMap
+MCDProcessBatch
+MCDProcessBatch2
+MCDQueryMemStatus
+MCDReadPixels
+MCDReadSpan
+MCDSetLayerPalette
+MCDSetScissorRect
+MCDSetViewport
+MCDSwap
+MCDSwapMultiple
+MCDSync
+MCDTextureKey
+MCDTextureStatus
+MCDUnlock
+MCDUpdateSubTexture
+MCDUpdateTexturePalette
+MCDUpdateTexturePriority
+MCDUpdateTextureState
+MCDWriteSpan
diff --git a/mingw-w64-crt/lib64/mcdsrv32.def b/mingw-w64-crt/lib64/mcdsrv32.def
index 1e157aa..37b407e 100644
--- a/mingw-w64-crt/lib64/mcdsrv32.def
+++ b/mingw-w64-crt/lib64/mcdsrv32.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MCDSRV32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCDSRV32.dll
-EXPORTS
-MCDEngEscFilter
-MCDEngInit
-MCDEngInitEx
-MCDEngSetMemStatus
-MCDEngUninit
+; 
+; Exports of file MCDSRV32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCDSRV32.dll
+EXPORTS
+MCDEngEscFilter
+MCDEngInit
+MCDEngInitEx
+MCDEngSetMemStatus
+MCDEngUninit
diff --git a/mingw-w64-crt/lib64/mchgrcoi.def b/mingw-w64-crt/lib64/mchgrcoi.def
index 730508e..8563a72 100644
--- a/mingw-w64-crt/lib64/mchgrcoi.def
+++ b/mingw-w64-crt/lib64/mchgrcoi.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file mchgrcoi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mchgrcoi.dll
-EXPORTS
-MchgrClassCoInstaller
+; 
+; Exports of file mchgrcoi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mchgrcoi.dll
+EXPORTS
+MchgrClassCoInstaller
diff --git a/mingw-w64-crt/lib64/mciavi32.def b/mingw-w64-crt/lib64/mciavi32.def
index 31f9a0e..48199e2 100644
--- a/mingw-w64-crt/lib64/mciavi32.def
+++ b/mingw-w64-crt/lib64/mciavi32.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MCIAVI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCIAVI32.dll
-EXPORTS
-DriverProc
-KeyboardHookProc
+; 
+; Exports of file MCIAVI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCIAVI32.dll
+EXPORTS
+DriverProc
+KeyboardHookProc
diff --git a/mingw-w64-crt/lib64/mcicda.def b/mingw-w64-crt/lib64/mcicda.def
index d2f20b1..86ff33e 100644
--- a/mingw-w64-crt/lib64/mcicda.def
+++ b/mingw-w64-crt/lib64/mcicda.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MCICDA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCICDA.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MCICDA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCICDA.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/mciole32.def b/mingw-w64-crt/lib64/mciole32.def
index 20e35db..06cce2a 100644
--- a/mingw-w64-crt/lib64/mciole32.def
+++ b/mingw-w64-crt/lib64/mciole32.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file MCIOLE32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCIOLE32.dll
-EXPORTS
-DllLoadFromStream
-DllCreateFromClip
-DllCreateLinkFromClip
-DllCreateFromTemplate
-DllCreate
-DllCreateFromFile
-DllCreateLinkFromFile
-GetMessageHook
-OleQueryObjPos
-InstallHook
-RemoveHook
+; 
+; Exports of file MCIOLE32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCIOLE32.dll
+EXPORTS
+DllLoadFromStream
+DllCreateFromClip
+DllCreateLinkFromClip
+DllCreateFromTemplate
+DllCreate
+DllCreateFromFile
+DllCreateLinkFromFile
+GetMessageHook
+OleQueryObjPos
+InstallHook
+RemoveHook
diff --git a/mingw-w64-crt/lib64/mciqtz32.def b/mingw-w64-crt/lib64/mciqtz32.def
index 5006fbe..175e066 100644
--- a/mingw-w64-crt/lib64/mciqtz32.def
+++ b/mingw-w64-crt/lib64/mciqtz32.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MCIQTZ32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCIQTZ32.dll
-EXPORTS
-DriverProc
-MCIEntry32
+; 
+; Exports of file MCIQTZ32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCIQTZ32.dll
+EXPORTS
+DriverProc
+MCIEntry32
diff --git a/mingw-w64-crt/lib64/mciseq.def b/mingw-w64-crt/lib64/mciseq.def
index 06554c0..fa17d34 100644
--- a/mingw-w64-crt/lib64/mciseq.def
+++ b/mingw-w64-crt/lib64/mciseq.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MCISEQ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCISEQ.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MCISEQ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCISEQ.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/mciwave.def b/mingw-w64-crt/lib64/mciwave.def
index 23e2ab0..7c02ea7 100644
--- a/mingw-w64-crt/lib64/mciwave.def
+++ b/mingw-w64-crt/lib64/mciwave.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MCIWAVE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCIWAVE.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MCIWAVE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCIWAVE.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/mdhcp.def b/mingw-w64-crt/lib64/mdhcp.def
index b5a2da2..ad3da3f 100644
--- a/mingw-w64-crt/lib64/mdhcp.def
+++ b/mingw-w64-crt/lib64/mdhcp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mdhcp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mdhcp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mdhcp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mdhcp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mdminst.def b/mingw-w64-crt/lib64/mdminst.def
index cafe348..480efbb 100644
--- a/mingw-w64-crt/lib64/mdminst.def
+++ b/mingw-w64-crt/lib64/mdminst.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MDMINST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MDMINST.dll
-EXPORTS
-ClassInstall32
+; 
+; Exports of file MDMINST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MDMINST.dll
+EXPORTS
+ClassInstall32
diff --git a/mingw-w64-crt/lib64/metadata.def b/mingw-w64-crt/lib64/metadata.def
index d49b60e..08d1c1c 100644
--- a/mingw-w64-crt/lib64/metadata.def
+++ b/mingw-w64-crt/lib64/metadata.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file METADATA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY METADATA.dll
-EXPORTS
-; public: __cdecl CBIN::CBIN(class CBIN const & __ptr64) __ptr64
-??0CBIN@@QEAA@AEBV0@@Z
-; public: __cdecl CBIN::CBIN(unsigned long,void * __ptr64 const) __ptr64
-??0CBIN@@QEAA@KQEAX@Z
-; public: __cdecl CBIN::CBIN(void) __ptr64
-??0CBIN@@QEAA@XZ
-; public: int __cdecl CBIN::Append(class CBIN const & __ptr64) __ptr64
-?Append@CBIN@@QEAAHAEBV1@@Z
-; public: int __cdecl CBIN::Append(unsigned long,void * __ptr64 const) __ptr64
-?Append@CBIN@@QEAAHKQEAX@Z
-; public: int __cdecl CBIN::Clone(class CBIN * __ptr64)const  __ptr64
-?Clone@CBIN@@QEBAHPEAV1@@Z
-; public: int __cdecl CBIN::Copy(class CBIN const & __ptr64) __ptr64
-?Copy@CBIN@@QEAAHAEBV1@@Z
-; public: int __cdecl CBIN::Copy(unsigned long,void * __ptr64 const) __ptr64
-?Copy@CBIN@@QEAAHKQEAX@Z
-; public: int __cdecl CBIN::IsEmpty(void)const  __ptr64
-?IsEmpty@CBIN@@QEBAHXZ
-; public: int __cdecl CBIN::IsValid(void)const  __ptr64
-?IsValid@CBIN@@QEBAHXZ
-; public: void * __ptr64 __cdecl CBIN::QueryBuf(void)const  __ptr64
-?QueryBuf@CBIN@@QEBAPEAXXZ
-; public: unsigned int __cdecl CBIN::QueryCB(void)const  __ptr64
-?QueryCB@CBIN@@QEBAIXZ
-; public: int __cdecl CBIN::Resize(unsigned int) __ptr64
-?Resize@CBIN@@QEAAHI@Z
-; public: void __cdecl CBIN::SetCB(unsigned int) __ptr64
-?SetCB@CBIN@@QEAAXI@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file METADATA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY METADATA.dll
+EXPORTS
+; public: __cdecl CBIN::CBIN(class CBIN const & __ptr64) __ptr64
+??0CBIN@@QEAA@AEBV0@@Z
+; public: __cdecl CBIN::CBIN(unsigned long,void * __ptr64 const) __ptr64
+??0CBIN@@QEAA@KQEAX@Z
+; public: __cdecl CBIN::CBIN(void) __ptr64
+??0CBIN@@QEAA@XZ
+; public: int __cdecl CBIN::Append(class CBIN const & __ptr64) __ptr64
+?Append@CBIN@@QEAAHAEBV1@@Z
+; public: int __cdecl CBIN::Append(unsigned long,void * __ptr64 const) __ptr64
+?Append@CBIN@@QEAAHKQEAX@Z
+; public: int __cdecl CBIN::Clone(class CBIN * __ptr64)const  __ptr64
+?Clone@CBIN@@QEBAHPEAV1@@Z
+; public: int __cdecl CBIN::Copy(class CBIN const & __ptr64) __ptr64
+?Copy@CBIN@@QEAAHAEBV1@@Z
+; public: int __cdecl CBIN::Copy(unsigned long,void * __ptr64 const) __ptr64
+?Copy@CBIN@@QEAAHKQEAX@Z
+; public: int __cdecl CBIN::IsEmpty(void)const  __ptr64
+?IsEmpty@CBIN@@QEBAHXZ
+; public: int __cdecl CBIN::IsValid(void)const  __ptr64
+?IsValid@CBIN@@QEBAHXZ
+; public: void * __ptr64 __cdecl CBIN::QueryBuf(void)const  __ptr64
+?QueryBuf@CBIN@@QEBAPEAXXZ
+; public: unsigned int __cdecl CBIN::QueryCB(void)const  __ptr64
+?QueryCB@CBIN@@QEBAIXZ
+; public: int __cdecl CBIN::Resize(unsigned int) __ptr64
+?Resize@CBIN@@QEAAHI@Z
+; public: void __cdecl CBIN::SetCB(unsigned int) __ptr64
+?SetCB@CBIN@@QEAAXI@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mf3216.def b/mingw-w64-crt/lib64/mf3216.def
index e9362b1..5d0143b 100644
--- a/mingw-w64-crt/lib64/mf3216.def
+++ b/mingw-w64-crt/lib64/mf3216.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file mf3216.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mf3216.dll
-EXPORTS
-ConvertEmfToWmf
-Mf3216DllInitialize
+; 
+; Exports of file mf3216.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mf3216.dll
+EXPORTS
+ConvertEmfToWmf
+Mf3216DllInitialize
diff --git a/mingw-w64-crt/lib64/mfc42.def b/mingw-w64-crt/lib64/mfc42.def
index b750ef1..f975b7b 100644
--- a/mingw-w64-crt/lib64/mfc42.def
+++ b/mingw-w64-crt/lib64/mfc42.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file MFC42.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MFC42.dll
-EXPORTS
-DllGetClassObject
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
-; public: static struct CRuntimeClass const  CCachedDataPathProperty::classCCachedDataPathProperty
-?classCCachedDataPathProperty@CCachedDataPathProperty@@2UCRuntimeClass@@B DATA
-; public: static struct CRuntimeClass const  CDataPathProperty::classCDataPathProperty
-?classCDataPathProperty@CDataPathProperty@@2UCRuntimeClass@@B DATA
-AfxFreeLibrary
-AfxLoadLibrary
-AfxLockGlobals
-AfxUnlockGlobals
+; 
+; Exports of file MFC42.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MFC42.dll
+EXPORTS
+DllGetClassObject
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
+; public: static struct CRuntimeClass const  CCachedDataPathProperty::classCCachedDataPathProperty
+?classCCachedDataPathProperty@CCachedDataPathProperty@@2UCRuntimeClass@@B DATA
+; public: static struct CRuntimeClass const  CDataPathProperty::classCDataPathProperty
+?classCDataPathProperty@CDataPathProperty@@2UCRuntimeClass@@B DATA
+AfxFreeLibrary
+AfxLoadLibrary
+AfxLockGlobals
+AfxUnlockGlobals
diff --git a/mingw-w64-crt/lib64/mfc42u.def b/mingw-w64-crt/lib64/mfc42u.def
index b4cc235..e95784d 100644
--- a/mingw-w64-crt/lib64/mfc42u.def
+++ b/mingw-w64-crt/lib64/mfc42u.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file MFC42u.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MFC42u.dll
-EXPORTS
-DllGetClassObject
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
-; public: static struct CRuntimeClass const  CCachedDataPathProperty::classCCachedDataPathProperty
-?classCCachedDataPathProperty@CCachedDataPathProperty@@2UCRuntimeClass@@B DATA
-; public: static struct CRuntimeClass const  CDataPathProperty::classCDataPathProperty
-?classCDataPathProperty@CDataPathProperty@@2UCRuntimeClass@@B DATA
-AfxFreeLibrary
-AfxLoadLibrary
-AfxLockGlobals
-AfxUnlockGlobals
+; 
+; Exports of file MFC42u.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MFC42u.dll
+EXPORTS
+DllGetClassObject
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
+; public: static struct CRuntimeClass const  CCachedDataPathProperty::classCCachedDataPathProperty
+?classCCachedDataPathProperty@CCachedDataPathProperty@@2UCRuntimeClass@@B DATA
+; public: static struct CRuntimeClass const  CDataPathProperty::classCDataPathProperty
+?classCDataPathProperty@CDataPathProperty@@2UCRuntimeClass@@B DATA
+AfxFreeLibrary
+AfxLoadLibrary
+AfxLockGlobals
+AfxUnlockGlobals
diff --git a/mingw-w64-crt/lib64/mfcsubs.def b/mingw-w64-crt/lib64/mfcsubs.def
index 9c2bd1e..658b3b8 100644
--- a/mingw-w64-crt/lib64/mfcsubs.def
+++ b/mingw-w64-crt/lib64/mfcsubs.def
@@ -1,340 +1,340 @@
-; 
-; Exports of file MfcSubs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MfcSubs.dll
-EXPORTS
-; VCString::?$ConstructElements(@@YAXPEAVCString@@H@Z)
-??$ConstructElements@VCString@@@@YAXPEAVCString@@H@Z
-; VCString::?$CopyElements(@@YAXPEAVCString@@PEBV0@H@Z)
-??$CopyElements@VCString@@@@YAXPEAVCString@@PEBV0@H@Z
-; VCString::?$DestructElements(@@YAXPEAVCString@@H@Z)
-??$DestructElements@VCString@@@@YAXPEAVCString@@H@Z
-; AEBU_GUID::?$HashKey(@@YAIAEBU_GUID@@@Z)
-??$HashKey@AEBU_GUID@@@@YAIAEBU_GUID@@@Z
-; PEBD::?$HashKey(YAIPEBD@Z)
-??$HashKey@PEBD@@YAIPEBD@Z
-; PEBG::?$HashKey(YAIPEBG@Z)
-??$HashKey@PEBG@@YAIPEBG@Z
-; public: __cdecl CCriticalSection::CCriticalSection(void) __ptr64
-??0CCriticalSection@@QEAA@XZ
-; public: __cdecl CMapStringToPtr::CMapStringToPtr(int) __ptr64
-??0CMapStringToPtr@@QEAA@H@Z
-; protected: __cdecl CObject::CObject(void) __ptr64
-??0CObject@@IEAA@XZ
-; public: __cdecl CString::CString(class CString const & __ptr64) __ptr64
-??0CString@@QEAA@AEBV0@@Z
-; public: __cdecl CString::CString(unsigned short,int) __ptr64
-??0CString@@QEAA@GH@Z
-; public: __cdecl CString::CString(char const * __ptr64) __ptr64
-??0CString@@QEAA@PEBD@Z
-; public: __cdecl CString::CString(unsigned char const * __ptr64) __ptr64
-??0CString@@QEAA@PEBE@Z
-; public: __cdecl CString::CString(unsigned short const * __ptr64) __ptr64
-??0CString@@QEAA@PEBG@Z
-; public: __cdecl CString::CString(unsigned short const * __ptr64,int) __ptr64
-??0CString@@QEAA@PEBGH@Z
-; public: __cdecl CString::CString(void) __ptr64
-??0CString@@QEAA@XZ
-; public: __cdecl CStringArray::CStringArray(void) __ptr64
-??0CStringArray@@QEAA@XZ
-; public: __cdecl CSyncObject::CSyncObject(unsigned short const * __ptr64) __ptr64
-??0CSyncObject@@QEAA@PEBG@Z
-; public: virtual __cdecl CCriticalSection::~CCriticalSection(void) __ptr64
-??1CCriticalSection@@UEAA@XZ
-; public: virtual __cdecl CMapStringToPtr::~CMapStringToPtr(void) __ptr64
-??1CMapStringToPtr@@UEAA@XZ
-; public: virtual __cdecl CObject::~CObject(void) __ptr64
-??1CObject@@UEAA@XZ
-; public: __cdecl CString::~CString(void) __ptr64
-??1CString@@QEAA@XZ
-; public: virtual __cdecl CStringArray::~CStringArray(void) __ptr64
-??1CStringArray@@UEAA@XZ
-; public: virtual __cdecl CSyncObject::~CSyncObject(void) __ptr64
-??1CSyncObject@@UEAA@XZ
-; public: struct CPlex & __ptr64 __cdecl CPlex::operator=(struct CPlex const & __ptr64) __ptr64
-??4CPlex@@QEAAAEAU0@AEBU0@@Z
-; public: class CString const & __ptr64 __cdecl CString::operator=(class CString const & __ptr64) __ptr64
-??4CString@@QEAAAEBV0@AEBV0@@Z
-; public: class CString const & __ptr64 __cdecl CString::operator=(char) __ptr64
-??4CString@@QEAAAEBV0@D@Z
-; public: class CString const & __ptr64 __cdecl CString::operator=(unsigned short) __ptr64
-??4CString@@QEAAAEBV0@G@Z
-; public: class CString const & __ptr64 __cdecl CString::operator=(char const * __ptr64) __ptr64
-??4CString@@QEAAAEBV0@PEBD@Z
-; public: class CString const & __ptr64 __cdecl CString::operator=(unsigned char const * __ptr64) __ptr64
-??4CString@@QEAAAEBV0@PEBE@Z
-; public: class CString const & __ptr64 __cdecl CString::operator=(unsigned short const * __ptr64) __ptr64
-??4CString@@QEAAAEBV0@PEBG@Z
-; bool __cdecl operator==(class CString const & __ptr64,class CString const & __ptr64)
-??8@YA_NAEBVCString@@0@Z
-; bool __cdecl operator==(class CString const & __ptr64,unsigned short const * __ptr64)
-??8@YA_NAEBVCString@@PEBG@Z
-; bool __cdecl operator==(unsigned short const * __ptr64,class CString const & __ptr64)
-??8@YA_NPEBGAEBVCString@@@Z
-; bool __cdecl operator!=(class CString const & __ptr64,class CString const & __ptr64)
-??9@YA_NAEBVCString@@0@Z
-; bool __cdecl operator!=(class CString const & __ptr64,unsigned short const * __ptr64)
-??9@YA_NAEBVCString@@PEBG@Z
-; bool __cdecl operator!=(unsigned short const * __ptr64,class CString const & __ptr64)
-??9@YA_NPEBGAEBVCString@@@Z
-; public: void * __ptr64 & __ptr64 __cdecl CMapStringToPtr::operator[](unsigned short const * __ptr64) __ptr64
-??ACMapStringToPtr@@QEAAAEAPEAXPEBG@Z
-; public: unsigned short __cdecl CString::operator[](int)const  __ptr64
-??ACString@@QEBAGH@Z
-; public: class CString & __ptr64 __cdecl CStringArray::operator[](int) __ptr64
-??ACStringArray@@QEAAAEAVCString@@H@Z
-; public: class CString  __cdecl CStringArray::operator[](int)const  __ptr64
-??ACStringArray@@QEBA?AVCString@@H@Z
-; public: __cdecl CCriticalSection::operator struct _RTL_CRITICAL_SECTION * __ptr64(void) __ptr64
-??BCCriticalSection@@QEAAPEAU_RTL_CRITICAL_SECTION@@XZ
-; public: __cdecl CString::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCString@@QEBAPEBGXZ
-; public: __cdecl CSyncObject::operator void * __ptr64(void)const  __ptr64
-??BCSyncObject@@QEBAPEAXXZ
-; class CString  __cdecl operator+(class CString const & __ptr64,class CString const & __ptr64)
-??H@YA?AVCString@@AEBV0@0@Z
-; class CString  __cdecl operator+(class CString const & __ptr64,char)
-??H@YA?AVCString@@AEBV0@D@Z
-; class CString  __cdecl operator+(class CString const & __ptr64,unsigned short)
-??H@YA?AVCString@@AEBV0@G@Z
-; class CString  __cdecl operator+(class CString const & __ptr64,unsigned short const * __ptr64)
-??H@YA?AVCString@@AEBV0@PEBG@Z
-; class CString  __cdecl operator+(char,class CString const & __ptr64)
-??H@YA?AVCString@@DAEBV0@@Z
-; class CString  __cdecl operator+(unsigned short,class CString const & __ptr64)
-??H@YA?AVCString@@GAEBV0@@Z
-; class CString  __cdecl operator+(unsigned short const * __ptr64,class CString const & __ptr64)
-??H@YA?AVCString@@PEBGAEBV0@@Z
-; bool __cdecl operator<(class CString const & __ptr64,class CString const & __ptr64)
-??M@YA_NAEBVCString@@0@Z
-; bool __cdecl operator<(class CString const & __ptr64,unsigned short const * __ptr64)
-??M@YA_NAEBVCString@@PEBG@Z
-; bool __cdecl operator<(unsigned short const * __ptr64,class CString const & __ptr64)
-??M@YA_NPEBGAEBVCString@@@Z
-; bool __cdecl operator<=(class CString const & __ptr64,class CString const & __ptr64)
-??N@YA_NAEBVCString@@0@Z
-; bool __cdecl operator<=(class CString const & __ptr64,unsigned short const * __ptr64)
-??N@YA_NAEBVCString@@PEBG@Z
-; bool __cdecl operator<=(unsigned short const * __ptr64,class CString const & __ptr64)
-??N@YA_NPEBGAEBVCString@@@Z
-; bool __cdecl operator>(class CString const & __ptr64,class CString const & __ptr64)
-??O@YA_NAEBVCString@@0@Z
-; bool __cdecl operator>(class CString const & __ptr64,unsigned short const * __ptr64)
-??O@YA_NAEBVCString@@PEBG@Z
-; bool __cdecl operator>(unsigned short const * __ptr64,class CString const & __ptr64)
-??O@YA_NPEBGAEBVCString@@@Z
-; bool __cdecl operator>=(class CString const & __ptr64,class CString const & __ptr64)
-??P@YA_NAEBVCString@@0@Z
-; bool __cdecl operator>=(class CString const & __ptr64,unsigned short const * __ptr64)
-??P@YA_NAEBVCString@@PEBG@Z
-; bool __cdecl operator>=(unsigned short const * __ptr64,class CString const & __ptr64)
-??P@YA_NPEBGAEBVCString@@@Z
-; public: class CString const & __ptr64 __cdecl CString::operator+=(class CString const & __ptr64) __ptr64
-??YCString@@QEAAAEBV0@AEBV0@@Z
-; public: class CString const & __ptr64 __cdecl CString::operator+=(char) __ptr64
-??YCString@@QEAAAEBV0@D@Z
-; public: class CString const & __ptr64 __cdecl CString::operator+=(unsigned short) __ptr64
-??YCString@@QEAAAEBV0@G@Z
-; public: class CString const & __ptr64 __cdecl CString::operator+=(unsigned short const * __ptr64) __ptr64
-??YCString@@QEAAAEBV0@PEBG@Z
-; const  CCriticalSection::`vftable'
-??_7CCriticalSection@@6B@
-; const  CMapStringToPtr::`vftable'
-??_7CMapStringToPtr@@6B@
-; const  CObject::`vftable'
-??_7CObject@@6B@
-; const  CStringArray::`vftable'
-??_7CStringArray@@6B@
-; const  CSyncObject::`vftable'
-??_7CSyncObject@@6B@
-; public: void __cdecl CMapStringToPtr::`default constructor closure'(void) __ptr64
-??_FCMapStringToPtr@@QEAAXXZ
-; public: int __cdecl CStringArray::Add(unsigned short const * __ptr64) __ptr64
-?Add@CStringArray@@QEAAHPEBG@Z
-; unsigned short * __ptr64 __cdecl AfxA2WHelper(unsigned short * __ptr64,char const * __ptr64,int)
-?AfxA2WHelper@@YAPEAGPEAGPEBDH@Z
-; int __cdecl AfxExtractSubString(class CString & __ptr64,unsigned short const * __ptr64,int,unsigned short)
-?AfxExtractSubString@@YAHAEAVCString@@PEBGHG@Z
-; class CString const & __ptr64 __cdecl AfxGetEmptyString(void)
-?AfxGetEmptyString@@YAAEBVCString@@XZ
-; int __cdecl AfxLoadString(unsigned int,unsigned short * __ptr64,unsigned int)
-?AfxLoadString@@YAHIPEAGI@Z
-; char * __ptr64 __cdecl AfxW2AHelper(char * __ptr64,unsigned short const * __ptr64,int)
-?AfxW2AHelper@@YAPEADPEADPEBGH@Z
-; protected: void __cdecl CString::AllocBeforeWrite(int) __ptr64
-?AllocBeforeWrite@CString@@IEAAXH@Z
-; protected: void __cdecl CString::AllocBuffer(int) __ptr64
-?AllocBuffer@CString@@IEAAXH@Z
-; protected: void __cdecl CString::AllocCopy(class CString & __ptr64,int,int,int)const  __ptr64
-?AllocCopy@CString@@IEBAXAEAV1@HHH@Z
-; public: int __cdecl CStringArray::Append(class CStringArray const & __ptr64) __ptr64
-?Append@CStringArray@@QEAAHAEBV1@@Z
-; protected: void __cdecl CString::AssignCopy(int,unsigned short const * __ptr64) __ptr64
-?AssignCopy@CString@@IEAAXHPEBG@Z
-; public: int __cdecl CString::Collate(unsigned short const * __ptr64)const  __ptr64
-?Collate@CString@@QEBAHPEBG@Z
-; public: int __cdecl CString::Compare(unsigned short const * __ptr64)const  __ptr64
-?Compare@CString@@QEBAHPEBG@Z
-; public: int __cdecl CString::CompareNoCase(unsigned short const * __ptr64)const  __ptr64
-?CompareNoCase@CString@@QEBAHPEBG@Z
-; protected: void __cdecl CString::ConcatCopy(int,unsigned short const * __ptr64,int,unsigned short const * __ptr64) __ptr64
-?ConcatCopy@CString@@IEAAXHPEBGH0@Z
-; protected: void __cdecl CString::ConcatInPlace(int,unsigned short const * __ptr64) __ptr64
-?ConcatInPlace@CString@@IEAAXHPEBG@Z
-; public: void __cdecl CStringArray::Copy(class CStringArray const & __ptr64) __ptr64
-?Copy@CStringArray@@QEAAXAEBV1@@Z
-; protected: void __cdecl CString::CopyBeforeWrite(void) __ptr64
-?CopyBeforeWrite@CString@@IEAAXXZ
-; public: static struct CPlex * __ptr64 __cdecl CPlex::Create(struct CPlex * __ptr64 & __ptr64,unsigned int,unsigned int)
-?Create@CPlex@@SAPEAU1@AEAPEAU1@II@Z
-; public: class CString & __ptr64 __cdecl CStringArray::ElementAt(int) __ptr64
-?ElementAt@CStringArray@@QEAAAEAVCString@@H@Z
-; public: void __cdecl CString::Empty(void) __ptr64
-?Empty@CString@@QEAAXXZ
-; public: int __cdecl CString::Find(unsigned short)const  __ptr64
-?Find@CString@@QEBAHG@Z
-; public: int __cdecl CString::Find(unsigned short const * __ptr64)const  __ptr64
-?Find@CString@@QEBAHPEBG@Z
-; public: int __cdecl CString::FindOneOf(unsigned short const * __ptr64)const  __ptr64
-?FindOneOf@CString@@QEBAHPEBG@Z
-; public: void __cdecl CString::Format(unsigned int,...) __ptr64
-?Format@CString@@QEAAXIZZ
-; public: void __cdecl CString::Format(unsigned short const * __ptr64,...) __ptr64
-?Format@CString@@QEAAXPEBGZZ
-; public: void __cdecl CString::FormatMessageW(unsigned int,...) __ptr64
-?FormatMessageW@CString@@QEAAXIZZ
-; public: void __cdecl CString::FormatMessageW(unsigned short const * __ptr64,...) __ptr64
-?FormatMessageW@CString@@QEAAXPEBGZZ
-; protected: void __cdecl CString::FormatV(unsigned short const * __ptr64,char * __ptr64) __ptr64
-?FormatV@CString@@IEAAXPEBGPEAD@Z
-; protected: void __cdecl CMapStringToPtr::FreeAssoc(struct CMapStringToPtr::CAssoc * __ptr64) __ptr64
-?FreeAssoc@CMapStringToPtr@@IEAAXPEAUCAssoc@1@@Z
-; public: void __cdecl CPlex::FreeDataChain(void) __ptr64
-?FreeDataChain@CPlex@@QEAAXXZ
-; public: void __cdecl CString::FreeExtra(void) __ptr64
-?FreeExtra@CString@@QEAAXXZ
-; public: void __cdecl CStringArray::FreeExtra(void) __ptr64
-?FreeExtra@CStringArray@@QEAAXXZ
-; public: int __cdecl CString::GetAllocLength(void)const  __ptr64
-?GetAllocLength@CString@@QEBAHXZ
-; protected: struct CMapStringToPtr::CAssoc * __ptr64 __cdecl CMapStringToPtr::GetAssocAt(unsigned short const * __ptr64,unsigned int & __ptr64)const  __ptr64
-?GetAssocAt@CMapStringToPtr@@IEBAPEAUCAssoc@1@PEBGAEAI@Z
-; public: unsigned short __cdecl CString::GetAt(int)const  __ptr64
-?GetAt@CString@@QEBAGH@Z
-; public: class CString  __cdecl CStringArray::GetAt(int)const  __ptr64
-?GetAt@CStringArray@@QEBA?AVCString@@H@Z
-; public: unsigned short * __ptr64 __cdecl CString::GetBuffer(int) __ptr64
-?GetBuffer@CString@@QEAAPEAGH@Z
-; public: unsigned short * __ptr64 __cdecl CString::GetBufferSetLength(int) __ptr64
-?GetBufferSetLength@CString@@QEAAPEAGH@Z
-; public: int __cdecl CMapStringToPtr::GetCount(void)const  __ptr64
-?GetCount@CMapStringToPtr@@QEBAHXZ
-; protected: struct CStringData * __ptr64 __cdecl CString::GetData(void)const  __ptr64
-?GetData@CString@@IEBAPEAUCStringData@@XZ
-; public: class CString * __ptr64 __cdecl CStringArray::GetData(void) __ptr64
-?GetData@CStringArray@@QEAAPEAVCString@@XZ
-; public: class CString const * __ptr64 __cdecl CStringArray::GetData(void)const  __ptr64
-?GetData@CStringArray@@QEBAPEBVCString@@XZ
-; public: unsigned int __cdecl CMapStringToPtr::GetHashTableSize(void)const  __ptr64
-?GetHashTableSize@CMapStringToPtr@@QEBAIXZ
-; public: int __cdecl CString::GetLength(void)const  __ptr64
-?GetLength@CString@@QEBAHXZ
-; public: void __cdecl CMapStringToPtr::GetNextAssoc(struct __POSITION * __ptr64 & __ptr64,class CString & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
-?GetNextAssoc@CMapStringToPtr@@QEBAXAEAPEAU__POSITION@@AEAVCString@@AEAPEAX@Z
-; public: int __cdecl CStringArray::GetSize(void)const  __ptr64
-?GetSize@CStringArray@@QEBAHXZ
-; public: struct __POSITION * __ptr64 __cdecl CMapStringToPtr::GetStartPosition(void)const  __ptr64
-?GetStartPosition@CMapStringToPtr@@QEBAPEAU__POSITION@@XZ
-; public: int __cdecl CStringArray::GetUpperBound(void)const  __ptr64
-?GetUpperBound@CStringArray@@QEBAHXZ
-; public: unsigned int __cdecl CMapStringToPtr::HashKey(unsigned short const * __ptr64)const  __ptr64
-?HashKey@CMapStringToPtr@@QEBAIPEBG@Z
-; protected: void __cdecl CString::Init(void) __ptr64
-?Init@CString@@IEAAXXZ
-; public: void __cdecl CMapStringToPtr::InitHashTable(unsigned int,int) __ptr64
-?InitHashTable@CMapStringToPtr@@QEAAXIH@Z
-; public: void __cdecl CStringArray::InsertAt(int,class CStringArray * __ptr64) __ptr64
-?InsertAt@CStringArray@@QEAAXHPEAV1@@Z
-; public: void __cdecl CStringArray::InsertAt(int,unsigned short const * __ptr64,int) __ptr64
-?InsertAt@CStringArray@@QEAAXHPEBGH@Z
-; public: int __cdecl CMapStringToPtr::IsEmpty(void)const  __ptr64
-?IsEmpty@CMapStringToPtr@@QEBAHXZ
-; public: int __cdecl CString::IsEmpty(void)const  __ptr64
-?IsEmpty@CString@@QEBAHXZ
-; public: class CString  __cdecl CString::Left(int)const  __ptr64
-?Left@CString@@QEBA?AV1@H@Z
-; public: int __cdecl CString::LoadStringW(unsigned int) __ptr64
-?LoadStringW@CString@@QEAAHI@Z
-; public: int __cdecl CCriticalSection::Lock(void) __ptr64
-?Lock@CCriticalSection@@QEAAHXZ
-; public: virtual int __cdecl CCriticalSection::Lock(unsigned long) __ptr64
-?Lock@CCriticalSection@@UEAAHK@Z
-; public: virtual int __cdecl CSyncObject::Lock(unsigned long) __ptr64
-?Lock@CSyncObject@@UEAAHK@Z
-; public: unsigned short * __ptr64 __cdecl CString::LockBuffer(void) __ptr64
-?LockBuffer@CString@@QEAAPEAGXZ
-; public: int __cdecl CMapStringToPtr::Lookup(unsigned short const * __ptr64,void * __ptr64 & __ptr64)const  __ptr64
-?Lookup@CMapStringToPtr@@QEBAHPEBGAEAPEAX@Z
-; public: int __cdecl CMapStringToPtr::LookupKey(unsigned short const * __ptr64,unsigned short const * __ptr64 & __ptr64)const  __ptr64
-?LookupKey@CMapStringToPtr@@QEBAHPEBGAEAPEBG@Z
-; public: void __cdecl CString::MakeLower(void) __ptr64
-?MakeLower@CString@@QEAAXXZ
-; public: void __cdecl CString::MakeReverse(void) __ptr64
-?MakeReverse@CString@@QEAAXXZ
-; public: void __cdecl CString::MakeUpper(void) __ptr64
-?MakeUpper@CString@@QEAAXXZ
-; public: class CString  __cdecl CString::Mid(int)const  __ptr64
-?Mid@CString@@QEBA?AV1@H@Z
-; public: class CString  __cdecl CString::Mid(int,int)const  __ptr64
-?Mid@CString@@QEBA?AV1@HH@Z
-; protected: struct CMapStringToPtr::CAssoc * __ptr64 __cdecl CMapStringToPtr::NewAssoc(void) __ptr64
-?NewAssoc@CMapStringToPtr@@IEAAPEAUCAssoc@1@XZ
-; protected: void __cdecl CString::Release(void) __ptr64
-?Release@CString@@IEAAXXZ
-; protected: static void __cdecl CString::Release(struct CStringData * __ptr64)
-?Release@CString@@KAXPEAUCStringData@@@Z
-; public: void __cdecl CString::ReleaseBuffer(int) __ptr64
-?ReleaseBuffer@CString@@QEAAXH@Z
-; public: void __cdecl CMapStringToPtr::RemoveAll(void) __ptr64
-?RemoveAll@CMapStringToPtr@@QEAAXXZ
-; public: void __cdecl CStringArray::RemoveAll(void) __ptr64
-?RemoveAll@CStringArray@@QEAAXXZ
-; public: void __cdecl CStringArray::RemoveAt(int,int) __ptr64
-?RemoveAt@CStringArray@@QEAAXHH@Z
-; public: int __cdecl CMapStringToPtr::RemoveKey(unsigned short const * __ptr64) __ptr64
-?RemoveKey@CMapStringToPtr@@QEAAHPEBG@Z
-; public: int __cdecl CString::ReverseFind(unsigned short)const  __ptr64
-?ReverseFind@CString@@QEBAHG@Z
-; public: class CString  __cdecl CString::Right(int)const  __ptr64
-?Right@CString@@QEBA?AV1@H@Z
-; protected: static int __cdecl CString::SafeStrlen(unsigned short const * __ptr64)
-?SafeStrlen@CString@@KAHPEBG@Z
-; public: void __cdecl CMapStringToPtr::SetAt(unsigned short const * __ptr64,void * __ptr64) __ptr64
-?SetAt@CMapStringToPtr@@QEAAXPEBGPEAX@Z
-; public: void __cdecl CString::SetAt(int,unsigned short) __ptr64
-?SetAt@CString@@QEAAXHG@Z
-; public: void __cdecl CStringArray::SetAt(int,unsigned short const * __ptr64) __ptr64
-?SetAt@CStringArray@@QEAAXHPEBG@Z
-; public: void __cdecl CStringArray::SetAtGrow(int,unsigned short const * __ptr64) __ptr64
-?SetAtGrow@CStringArray@@QEAAXHPEBG@Z
-; public: void __cdecl CStringArray::SetSize(int,int) __ptr64
-?SetSize@CStringArray@@QEAAXHH@Z
-; public: class CString  __cdecl CString::SpanExcluding(unsigned short const * __ptr64)const  __ptr64
-?SpanExcluding@CString@@QEBA?AV1@PEBG@Z
-; public: class CString  __cdecl CString::SpanIncluding(unsigned short const * __ptr64)const  __ptr64
-?SpanIncluding@CString@@QEBA?AV1@PEBG@Z
-; public: void __cdecl CString::TrimLeft(void) __ptr64
-?TrimLeft@CString@@QEAAXXZ
-; public: void __cdecl CString::TrimRight(void) __ptr64
-?TrimRight@CString@@QEAAXXZ
-; public: virtual int __cdecl CCriticalSection::Unlock(void) __ptr64
-?Unlock@CCriticalSection@@UEAAHXZ
-; public: virtual int __cdecl CSyncObject::Unlock(long,long * __ptr64) __ptr64
-?Unlock@CSyncObject@@UEAAHJPEAJ@Z
-; public: void __cdecl CString::UnlockBuffer(void) __ptr64
-?UnlockBuffer@CString@@QEAAXXZ
-; public: void * __ptr64 __cdecl CPlex::data(void) __ptr64
-?data@CPlex@@QEAAPEAXXZ
+; 
+; Exports of file MfcSubs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MfcSubs.dll
+EXPORTS
+; VCString::?$ConstructElements(@@YAXPEAVCString@@H@Z)
+??$ConstructElements@VCString@@@@YAXPEAVCString@@H@Z
+; VCString::?$CopyElements(@@YAXPEAVCString@@PEBV0@H@Z)
+??$CopyElements@VCString@@@@YAXPEAVCString@@PEBV0@H@Z
+; VCString::?$DestructElements(@@YAXPEAVCString@@H@Z)
+??$DestructElements@VCString@@@@YAXPEAVCString@@H@Z
+; AEBU_GUID::?$HashKey(@@YAIAEBU_GUID@@@Z)
+??$HashKey@AEBU_GUID@@@@YAIAEBU_GUID@@@Z
+; PEBD::?$HashKey(YAIPEBD@Z)
+??$HashKey@PEBD@@YAIPEBD@Z
+; PEBG::?$HashKey(YAIPEBG@Z)
+??$HashKey@PEBG@@YAIPEBG@Z
+; public: __cdecl CCriticalSection::CCriticalSection(void) __ptr64
+??0CCriticalSection@@QEAA@XZ
+; public: __cdecl CMapStringToPtr::CMapStringToPtr(int) __ptr64
+??0CMapStringToPtr@@QEAA@H@Z
+; protected: __cdecl CObject::CObject(void) __ptr64
+??0CObject@@IEAA@XZ
+; public: __cdecl CString::CString(class CString const & __ptr64) __ptr64
+??0CString@@QEAA@AEBV0@@Z
+; public: __cdecl CString::CString(unsigned short,int) __ptr64
+??0CString@@QEAA@GH@Z
+; public: __cdecl CString::CString(char const * __ptr64) __ptr64
+??0CString@@QEAA@PEBD@Z
+; public: __cdecl CString::CString(unsigned char const * __ptr64) __ptr64
+??0CString@@QEAA@PEBE@Z
+; public: __cdecl CString::CString(unsigned short const * __ptr64) __ptr64
+??0CString@@QEAA@PEBG@Z
+; public: __cdecl CString::CString(unsigned short const * __ptr64,int) __ptr64
+??0CString@@QEAA@PEBGH@Z
+; public: __cdecl CString::CString(void) __ptr64
+??0CString@@QEAA@XZ
+; public: __cdecl CStringArray::CStringArray(void) __ptr64
+??0CStringArray@@QEAA@XZ
+; public: __cdecl CSyncObject::CSyncObject(unsigned short const * __ptr64) __ptr64
+??0CSyncObject@@QEAA@PEBG@Z
+; public: virtual __cdecl CCriticalSection::~CCriticalSection(void) __ptr64
+??1CCriticalSection@@UEAA@XZ
+; public: virtual __cdecl CMapStringToPtr::~CMapStringToPtr(void) __ptr64
+??1CMapStringToPtr@@UEAA@XZ
+; public: virtual __cdecl CObject::~CObject(void) __ptr64
+??1CObject@@UEAA@XZ
+; public: __cdecl CString::~CString(void) __ptr64
+??1CString@@QEAA@XZ
+; public: virtual __cdecl CStringArray::~CStringArray(void) __ptr64
+??1CStringArray@@UEAA@XZ
+; public: virtual __cdecl CSyncObject::~CSyncObject(void) __ptr64
+??1CSyncObject@@UEAA@XZ
+; public: struct CPlex & __ptr64 __cdecl CPlex::operator=(struct CPlex const & __ptr64) __ptr64
+??4CPlex@@QEAAAEAU0@AEBU0@@Z
+; public: class CString const & __ptr64 __cdecl CString::operator=(class CString const & __ptr64) __ptr64
+??4CString@@QEAAAEBV0@AEBV0@@Z
+; public: class CString const & __ptr64 __cdecl CString::operator=(char) __ptr64
+??4CString@@QEAAAEBV0@D@Z
+; public: class CString const & __ptr64 __cdecl CString::operator=(unsigned short) __ptr64
+??4CString@@QEAAAEBV0@G@Z
+; public: class CString const & __ptr64 __cdecl CString::operator=(char const * __ptr64) __ptr64
+??4CString@@QEAAAEBV0@PEBD@Z
+; public: class CString const & __ptr64 __cdecl CString::operator=(unsigned char const * __ptr64) __ptr64
+??4CString@@QEAAAEBV0@PEBE@Z
+; public: class CString const & __ptr64 __cdecl CString::operator=(unsigned short const * __ptr64) __ptr64
+??4CString@@QEAAAEBV0@PEBG@Z
+; bool __cdecl operator==(class CString const & __ptr64,class CString const & __ptr64)
+??8@YA_NAEBVCString@@0@Z
+; bool __cdecl operator==(class CString const & __ptr64,unsigned short const * __ptr64)
+??8@YA_NAEBVCString@@PEBG@Z
+; bool __cdecl operator==(unsigned short const * __ptr64,class CString const & __ptr64)
+??8@YA_NPEBGAEBVCString@@@Z
+; bool __cdecl operator!=(class CString const & __ptr64,class CString const & __ptr64)
+??9@YA_NAEBVCString@@0@Z
+; bool __cdecl operator!=(class CString const & __ptr64,unsigned short const * __ptr64)
+??9@YA_NAEBVCString@@PEBG@Z
+; bool __cdecl operator!=(unsigned short const * __ptr64,class CString const & __ptr64)
+??9@YA_NPEBGAEBVCString@@@Z
+; public: void * __ptr64 & __ptr64 __cdecl CMapStringToPtr::operator[](unsigned short const * __ptr64) __ptr64
+??ACMapStringToPtr@@QEAAAEAPEAXPEBG@Z
+; public: unsigned short __cdecl CString::operator[](int)const  __ptr64
+??ACString@@QEBAGH@Z
+; public: class CString & __ptr64 __cdecl CStringArray::operator[](int) __ptr64
+??ACStringArray@@QEAAAEAVCString@@H@Z
+; public: class CString  __cdecl CStringArray::operator[](int)const  __ptr64
+??ACStringArray@@QEBA?AVCString@@H@Z
+; public: __cdecl CCriticalSection::operator struct _RTL_CRITICAL_SECTION * __ptr64(void) __ptr64
+??BCCriticalSection@@QEAAPEAU_RTL_CRITICAL_SECTION@@XZ
+; public: __cdecl CString::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCString@@QEBAPEBGXZ
+; public: __cdecl CSyncObject::operator void * __ptr64(void)const  __ptr64
+??BCSyncObject@@QEBAPEAXXZ
+; class CString  __cdecl operator+(class CString const & __ptr64,class CString const & __ptr64)
+??H@YA?AVCString@@AEBV0@0@Z
+; class CString  __cdecl operator+(class CString const & __ptr64,char)
+??H@YA?AVCString@@AEBV0@D@Z
+; class CString  __cdecl operator+(class CString const & __ptr64,unsigned short)
+??H@YA?AVCString@@AEBV0@G@Z
+; class CString  __cdecl operator+(class CString const & __ptr64,unsigned short const * __ptr64)
+??H@YA?AVCString@@AEBV0@PEBG@Z
+; class CString  __cdecl operator+(char,class CString const & __ptr64)
+??H@YA?AVCString@@DAEBV0@@Z
+; class CString  __cdecl operator+(unsigned short,class CString const & __ptr64)
+??H@YA?AVCString@@GAEBV0@@Z
+; class CString  __cdecl operator+(unsigned short const * __ptr64,class CString const & __ptr64)
+??H@YA?AVCString@@PEBGAEBV0@@Z
+; bool __cdecl operator<(class CString const & __ptr64,class CString const & __ptr64)
+??M@YA_NAEBVCString@@0@Z
+; bool __cdecl operator<(class CString const & __ptr64,unsigned short const * __ptr64)
+??M@YA_NAEBVCString@@PEBG@Z
+; bool __cdecl operator<(unsigned short const * __ptr64,class CString const & __ptr64)
+??M@YA_NPEBGAEBVCString@@@Z
+; bool __cdecl operator<=(class CString const & __ptr64,class CString const & __ptr64)
+??N@YA_NAEBVCString@@0@Z
+; bool __cdecl operator<=(class CString const & __ptr64,unsigned short const * __ptr64)
+??N@YA_NAEBVCString@@PEBG@Z
+; bool __cdecl operator<=(unsigned short const * __ptr64,class CString const & __ptr64)
+??N@YA_NPEBGAEBVCString@@@Z
+; bool __cdecl operator>(class CString const & __ptr64,class CString const & __ptr64)
+??O@YA_NAEBVCString@@0@Z
+; bool __cdecl operator>(class CString const & __ptr64,unsigned short const * __ptr64)
+??O@YA_NAEBVCString@@PEBG@Z
+; bool __cdecl operator>(unsigned short const * __ptr64,class CString const & __ptr64)
+??O@YA_NPEBGAEBVCString@@@Z
+; bool __cdecl operator>=(class CString const & __ptr64,class CString const & __ptr64)
+??P@YA_NAEBVCString@@0@Z
+; bool __cdecl operator>=(class CString const & __ptr64,unsigned short const * __ptr64)
+??P@YA_NAEBVCString@@PEBG@Z
+; bool __cdecl operator>=(unsigned short const * __ptr64,class CString const & __ptr64)
+??P@YA_NPEBGAEBVCString@@@Z
+; public: class CString const & __ptr64 __cdecl CString::operator+=(class CString const & __ptr64) __ptr64
+??YCString@@QEAAAEBV0@AEBV0@@Z
+; public: class CString const & __ptr64 __cdecl CString::operator+=(char) __ptr64
+??YCString@@QEAAAEBV0@D@Z
+; public: class CString const & __ptr64 __cdecl CString::operator+=(unsigned short) __ptr64
+??YCString@@QEAAAEBV0@G@Z
+; public: class CString const & __ptr64 __cdecl CString::operator+=(unsigned short const * __ptr64) __ptr64
+??YCString@@QEAAAEBV0@PEBG@Z
+; const  CCriticalSection::`vftable'
+??_7CCriticalSection@@6B@
+; const  CMapStringToPtr::`vftable'
+??_7CMapStringToPtr@@6B@
+; const  CObject::`vftable'
+??_7CObject@@6B@
+; const  CStringArray::`vftable'
+??_7CStringArray@@6B@
+; const  CSyncObject::`vftable'
+??_7CSyncObject@@6B@
+; public: void __cdecl CMapStringToPtr::`default constructor closure'(void) __ptr64
+??_FCMapStringToPtr@@QEAAXXZ
+; public: int __cdecl CStringArray::Add(unsigned short const * __ptr64) __ptr64
+?Add@CStringArray@@QEAAHPEBG@Z
+; unsigned short * __ptr64 __cdecl AfxA2WHelper(unsigned short * __ptr64,char const * __ptr64,int)
+?AfxA2WHelper@@YAPEAGPEAGPEBDH@Z
+; int __cdecl AfxExtractSubString(class CString & __ptr64,unsigned short const * __ptr64,int,unsigned short)
+?AfxExtractSubString@@YAHAEAVCString@@PEBGHG@Z
+; class CString const & __ptr64 __cdecl AfxGetEmptyString(void)
+?AfxGetEmptyString@@YAAEBVCString@@XZ
+; int __cdecl AfxLoadString(unsigned int,unsigned short * __ptr64,unsigned int)
+?AfxLoadString@@YAHIPEAGI@Z
+; char * __ptr64 __cdecl AfxW2AHelper(char * __ptr64,unsigned short const * __ptr64,int)
+?AfxW2AHelper@@YAPEADPEADPEBGH@Z
+; protected: void __cdecl CString::AllocBeforeWrite(int) __ptr64
+?AllocBeforeWrite@CString@@IEAAXH@Z
+; protected: void __cdecl CString::AllocBuffer(int) __ptr64
+?AllocBuffer@CString@@IEAAXH@Z
+; protected: void __cdecl CString::AllocCopy(class CString & __ptr64,int,int,int)const  __ptr64
+?AllocCopy@CString@@IEBAXAEAV1@HHH@Z
+; public: int __cdecl CStringArray::Append(class CStringArray const & __ptr64) __ptr64
+?Append@CStringArray@@QEAAHAEBV1@@Z
+; protected: void __cdecl CString::AssignCopy(int,unsigned short const * __ptr64) __ptr64
+?AssignCopy@CString@@IEAAXHPEBG@Z
+; public: int __cdecl CString::Collate(unsigned short const * __ptr64)const  __ptr64
+?Collate@CString@@QEBAHPEBG@Z
+; public: int __cdecl CString::Compare(unsigned short const * __ptr64)const  __ptr64
+?Compare@CString@@QEBAHPEBG@Z
+; public: int __cdecl CString::CompareNoCase(unsigned short const * __ptr64)const  __ptr64
+?CompareNoCase@CString@@QEBAHPEBG@Z
+; protected: void __cdecl CString::ConcatCopy(int,unsigned short const * __ptr64,int,unsigned short const * __ptr64) __ptr64
+?ConcatCopy@CString@@IEAAXHPEBGH0@Z
+; protected: void __cdecl CString::ConcatInPlace(int,unsigned short const * __ptr64) __ptr64
+?ConcatInPlace@CString@@IEAAXHPEBG@Z
+; public: void __cdecl CStringArray::Copy(class CStringArray const & __ptr64) __ptr64
+?Copy@CStringArray@@QEAAXAEBV1@@Z
+; protected: void __cdecl CString::CopyBeforeWrite(void) __ptr64
+?CopyBeforeWrite@CString@@IEAAXXZ
+; public: static struct CPlex * __ptr64 __cdecl CPlex::Create(struct CPlex * __ptr64 & __ptr64,unsigned int,unsigned int)
+?Create@CPlex@@SAPEAU1@AEAPEAU1@II@Z
+; public: class CString & __ptr64 __cdecl CStringArray::ElementAt(int) __ptr64
+?ElementAt@CStringArray@@QEAAAEAVCString@@H@Z
+; public: void __cdecl CString::Empty(void) __ptr64
+?Empty@CString@@QEAAXXZ
+; public: int __cdecl CString::Find(unsigned short)const  __ptr64
+?Find@CString@@QEBAHG@Z
+; public: int __cdecl CString::Find(unsigned short const * __ptr64)const  __ptr64
+?Find@CString@@QEBAHPEBG@Z
+; public: int __cdecl CString::FindOneOf(unsigned short const * __ptr64)const  __ptr64
+?FindOneOf@CString@@QEBAHPEBG@Z
+; public: void __cdecl CString::Format(unsigned int,...) __ptr64
+?Format@CString@@QEAAXIZZ
+; public: void __cdecl CString::Format(unsigned short const * __ptr64,...) __ptr64
+?Format@CString@@QEAAXPEBGZZ
+; public: void __cdecl CString::FormatMessageW(unsigned int,...) __ptr64
+?FormatMessageW@CString@@QEAAXIZZ
+; public: void __cdecl CString::FormatMessageW(unsigned short const * __ptr64,...) __ptr64
+?FormatMessageW@CString@@QEAAXPEBGZZ
+; protected: void __cdecl CString::FormatV(unsigned short const * __ptr64,char * __ptr64) __ptr64
+?FormatV@CString@@IEAAXPEBGPEAD@Z
+; protected: void __cdecl CMapStringToPtr::FreeAssoc(struct CMapStringToPtr::CAssoc * __ptr64) __ptr64
+?FreeAssoc@CMapStringToPtr@@IEAAXPEAUCAssoc@1@@Z
+; public: void __cdecl CPlex::FreeDataChain(void) __ptr64
+?FreeDataChain@CPlex@@QEAAXXZ
+; public: void __cdecl CString::FreeExtra(void) __ptr64
+?FreeExtra@CString@@QEAAXXZ
+; public: void __cdecl CStringArray::FreeExtra(void) __ptr64
+?FreeExtra@CStringArray@@QEAAXXZ
+; public: int __cdecl CString::GetAllocLength(void)const  __ptr64
+?GetAllocLength@CString@@QEBAHXZ
+; protected: struct CMapStringToPtr::CAssoc * __ptr64 __cdecl CMapStringToPtr::GetAssocAt(unsigned short const * __ptr64,unsigned int & __ptr64)const  __ptr64
+?GetAssocAt@CMapStringToPtr@@IEBAPEAUCAssoc@1@PEBGAEAI@Z
+; public: unsigned short __cdecl CString::GetAt(int)const  __ptr64
+?GetAt@CString@@QEBAGH@Z
+; public: class CString  __cdecl CStringArray::GetAt(int)const  __ptr64
+?GetAt@CStringArray@@QEBA?AVCString@@H@Z
+; public: unsigned short * __ptr64 __cdecl CString::GetBuffer(int) __ptr64
+?GetBuffer@CString@@QEAAPEAGH@Z
+; public: unsigned short * __ptr64 __cdecl CString::GetBufferSetLength(int) __ptr64
+?GetBufferSetLength@CString@@QEAAPEAGH@Z
+; public: int __cdecl CMapStringToPtr::GetCount(void)const  __ptr64
+?GetCount@CMapStringToPtr@@QEBAHXZ
+; protected: struct CStringData * __ptr64 __cdecl CString::GetData(void)const  __ptr64
+?GetData@CString@@IEBAPEAUCStringData@@XZ
+; public: class CString * __ptr64 __cdecl CStringArray::GetData(void) __ptr64
+?GetData@CStringArray@@QEAAPEAVCString@@XZ
+; public: class CString const * __ptr64 __cdecl CStringArray::GetData(void)const  __ptr64
+?GetData@CStringArray@@QEBAPEBVCString@@XZ
+; public: unsigned int __cdecl CMapStringToPtr::GetHashTableSize(void)const  __ptr64
+?GetHashTableSize@CMapStringToPtr@@QEBAIXZ
+; public: int __cdecl CString::GetLength(void)const  __ptr64
+?GetLength@CString@@QEBAHXZ
+; public: void __cdecl CMapStringToPtr::GetNextAssoc(struct __POSITION * __ptr64 & __ptr64,class CString & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
+?GetNextAssoc@CMapStringToPtr@@QEBAXAEAPEAU__POSITION@@AEAVCString@@AEAPEAX@Z
+; public: int __cdecl CStringArray::GetSize(void)const  __ptr64
+?GetSize@CStringArray@@QEBAHXZ
+; public: struct __POSITION * __ptr64 __cdecl CMapStringToPtr::GetStartPosition(void)const  __ptr64
+?GetStartPosition@CMapStringToPtr@@QEBAPEAU__POSITION@@XZ
+; public: int __cdecl CStringArray::GetUpperBound(void)const  __ptr64
+?GetUpperBound@CStringArray@@QEBAHXZ
+; public: unsigned int __cdecl CMapStringToPtr::HashKey(unsigned short const * __ptr64)const  __ptr64
+?HashKey@CMapStringToPtr@@QEBAIPEBG@Z
+; protected: void __cdecl CString::Init(void) __ptr64
+?Init@CString@@IEAAXXZ
+; public: void __cdecl CMapStringToPtr::InitHashTable(unsigned int,int) __ptr64
+?InitHashTable@CMapStringToPtr@@QEAAXIH@Z
+; public: void __cdecl CStringArray::InsertAt(int,class CStringArray * __ptr64) __ptr64
+?InsertAt@CStringArray@@QEAAXHPEAV1@@Z
+; public: void __cdecl CStringArray::InsertAt(int,unsigned short const * __ptr64,int) __ptr64
+?InsertAt@CStringArray@@QEAAXHPEBGH@Z
+; public: int __cdecl CMapStringToPtr::IsEmpty(void)const  __ptr64
+?IsEmpty@CMapStringToPtr@@QEBAHXZ
+; public: int __cdecl CString::IsEmpty(void)const  __ptr64
+?IsEmpty@CString@@QEBAHXZ
+; public: class CString  __cdecl CString::Left(int)const  __ptr64
+?Left@CString@@QEBA?AV1@H@Z
+; public: int __cdecl CString::LoadStringW(unsigned int) __ptr64
+?LoadStringW@CString@@QEAAHI@Z
+; public: int __cdecl CCriticalSection::Lock(void) __ptr64
+?Lock@CCriticalSection@@QEAAHXZ
+; public: virtual int __cdecl CCriticalSection::Lock(unsigned long) __ptr64
+?Lock@CCriticalSection@@UEAAHK@Z
+; public: virtual int __cdecl CSyncObject::Lock(unsigned long) __ptr64
+?Lock@CSyncObject@@UEAAHK@Z
+; public: unsigned short * __ptr64 __cdecl CString::LockBuffer(void) __ptr64
+?LockBuffer@CString@@QEAAPEAGXZ
+; public: int __cdecl CMapStringToPtr::Lookup(unsigned short const * __ptr64,void * __ptr64 & __ptr64)const  __ptr64
+?Lookup@CMapStringToPtr@@QEBAHPEBGAEAPEAX@Z
+; public: int __cdecl CMapStringToPtr::LookupKey(unsigned short const * __ptr64,unsigned short const * __ptr64 & __ptr64)const  __ptr64
+?LookupKey@CMapStringToPtr@@QEBAHPEBGAEAPEBG@Z
+; public: void __cdecl CString::MakeLower(void) __ptr64
+?MakeLower@CString@@QEAAXXZ
+; public: void __cdecl CString::MakeReverse(void) __ptr64
+?MakeReverse@CString@@QEAAXXZ
+; public: void __cdecl CString::MakeUpper(void) __ptr64
+?MakeUpper@CString@@QEAAXXZ
+; public: class CString  __cdecl CString::Mid(int)const  __ptr64
+?Mid@CString@@QEBA?AV1@H@Z
+; public: class CString  __cdecl CString::Mid(int,int)const  __ptr64
+?Mid@CString@@QEBA?AV1@HH@Z
+; protected: struct CMapStringToPtr::CAssoc * __ptr64 __cdecl CMapStringToPtr::NewAssoc(void) __ptr64
+?NewAssoc@CMapStringToPtr@@IEAAPEAUCAssoc@1@XZ
+; protected: void __cdecl CString::Release(void) __ptr64
+?Release@CString@@IEAAXXZ
+; protected: static void __cdecl CString::Release(struct CStringData * __ptr64)
+?Release@CString@@KAXPEAUCStringData@@@Z
+; public: void __cdecl CString::ReleaseBuffer(int) __ptr64
+?ReleaseBuffer@CString@@QEAAXH@Z
+; public: void __cdecl CMapStringToPtr::RemoveAll(void) __ptr64
+?RemoveAll@CMapStringToPtr@@QEAAXXZ
+; public: void __cdecl CStringArray::RemoveAll(void) __ptr64
+?RemoveAll@CStringArray@@QEAAXXZ
+; public: void __cdecl CStringArray::RemoveAt(int,int) __ptr64
+?RemoveAt@CStringArray@@QEAAXHH@Z
+; public: int __cdecl CMapStringToPtr::RemoveKey(unsigned short const * __ptr64) __ptr64
+?RemoveKey@CMapStringToPtr@@QEAAHPEBG@Z
+; public: int __cdecl CString::ReverseFind(unsigned short)const  __ptr64
+?ReverseFind@CString@@QEBAHG@Z
+; public: class CString  __cdecl CString::Right(int)const  __ptr64
+?Right@CString@@QEBA?AV1@H@Z
+; protected: static int __cdecl CString::SafeStrlen(unsigned short const * __ptr64)
+?SafeStrlen@CString@@KAHPEBG@Z
+; public: void __cdecl CMapStringToPtr::SetAt(unsigned short const * __ptr64,void * __ptr64) __ptr64
+?SetAt@CMapStringToPtr@@QEAAXPEBGPEAX@Z
+; public: void __cdecl CString::SetAt(int,unsigned short) __ptr64
+?SetAt@CString@@QEAAXHG@Z
+; public: void __cdecl CStringArray::SetAt(int,unsigned short const * __ptr64) __ptr64
+?SetAt@CStringArray@@QEAAXHPEBG@Z
+; public: void __cdecl CStringArray::SetAtGrow(int,unsigned short const * __ptr64) __ptr64
+?SetAtGrow@CStringArray@@QEAAXHPEBG@Z
+; public: void __cdecl CStringArray::SetSize(int,int) __ptr64
+?SetSize@CStringArray@@QEAAXHH@Z
+; public: class CString  __cdecl CString::SpanExcluding(unsigned short const * __ptr64)const  __ptr64
+?SpanExcluding@CString@@QEBA?AV1@PEBG@Z
+; public: class CString  __cdecl CString::SpanIncluding(unsigned short const * __ptr64)const  __ptr64
+?SpanIncluding@CString@@QEBA?AV1@PEBG@Z
+; public: void __cdecl CString::TrimLeft(void) __ptr64
+?TrimLeft@CString@@QEAAXXZ
+; public: void __cdecl CString::TrimRight(void) __ptr64
+?TrimRight@CString@@QEAAXXZ
+; public: virtual int __cdecl CCriticalSection::Unlock(void) __ptr64
+?Unlock@CCriticalSection@@UEAAHXZ
+; public: virtual int __cdecl CSyncObject::Unlock(long,long * __ptr64) __ptr64
+?Unlock@CSyncObject@@UEAAHJPEAJ@Z
+; public: void __cdecl CString::UnlockBuffer(void) __ptr64
+?UnlockBuffer@CString@@QEAAXXZ
+; public: void * __ptr64 __cdecl CPlex::data(void) __ptr64
+?data@CPlex@@QEAAPEAXXZ
diff --git a/mingw-w64-crt/lib64/mgmtapi.def b/mingw-w64-crt/lib64/mgmtapi.def
index 5a17c09..2c4a67f 100644
--- a/mingw-w64-crt/lib64/mgmtapi.def
+++ b/mingw-w64-crt/lib64/mgmtapi.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file mgmtapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mgmtapi.dll
-EXPORTS
-SnmpMgrClose
-SnmpMgrCtl
-SnmpMgrGetTrap
-SnmpMgrGetTrapEx
-SnmpMgrOidToStr
-SnmpMgrOpen
-SnmpMgrRequest
-SnmpMgrStrToOid
-SnmpMgrTrapListen
+; 
+; Exports of file mgmtapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mgmtapi.dll
+EXPORTS
+SnmpMgrClose
+SnmpMgrCtl
+SnmpMgrGetTrap
+SnmpMgrGetTrapEx
+SnmpMgrOidToStr
+SnmpMgrOpen
+SnmpMgrRequest
+SnmpMgrStrToOid
+SnmpMgrTrapListen
diff --git a/mingw-w64-crt/lib64/midimap.def b/mingw-w64-crt/lib64/midimap.def
index 352d24e..7c5727d 100644
--- a/mingw-w64-crt/lib64/midimap.def
+++ b/mingw-w64-crt/lib64/midimap.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MIDIMAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MIDIMAP.dll
-EXPORTS
-DriverProc
-modMessage
-modmCallback
+; 
+; Exports of file MIDIMAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MIDIMAP.dll
+EXPORTS
+DriverProc
+modMessage
+modmCallback
diff --git a/mingw-w64-crt/lib64/migism.def b/mingw-w64-crt/lib64/migism.def
index 587b159..1a08b76 100644
--- a/mingw-w64-crt/lib64/migism.def
+++ b/mingw-w64-crt/lib64/migism.def
@@ -1,257 +1,257 @@
-; 
-; Exports of file MIGISM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MIGISM.dll
-EXPORTS
-DllMain
-IsmAbandonObjectIdOnCollision
-IsmAbandonObjectOnCollision
-IsmAbortApplyObjectEnum
-IsmAbortComponentEnum
-IsmAbortObjectAttributeEnum
-IsmAbortObjectEnum
-IsmAbortObjectOperationEnum
-IsmAbortObjectPropertyEnum
-IsmAbortObjectTypeIdEnum
-IsmAbortObjectWithAttributeEnum
-IsmAbortObjectWithOperationEnum
-IsmAbortObjectWithPropertyEnum
-IsmAbortPersistentObjectEnum
-IsmAbortScopeEnum
-IsmAbortTransportEnum
-IsmAcquireObjectEx
-IsmAddComponentAlias
-IsmAddControlFile
-IsmAddPropertyDataToObject
-IsmAddPropertyDataToObjectId
-IsmAddPropertyToObject
-IsmAddPropertyToObjectId
-IsmAddToPhysicalEnum
-IsmAllocEnvironmentVariableList
-IsmAppendEnvironmentMultiSz
-IsmAppendEnvironmentString
-IsmAreObjectsIdentical
-IsmCanWriteRollbackJournal
-IsmClearAbandonObjectIdOnCollision
-IsmClearAbandonObjectOnCollision
-IsmClearApplyOnObject
-IsmClearApplyOnObjectId
-IsmClearAttributeOnObject
-IsmClearAttributeOnObjectId
-IsmClearNonCriticalFlagOnObject
-IsmClearNonCriticalFlagOnObjectId
-IsmClearOperationOnObject
-IsmClearOperationOnObjectId
-IsmClearPersistenceOnObject
-IsmClearPersistenceOnObjectId
-IsmConvertObjectContentToAnsi
-IsmConvertObjectContentToUnicode
-IsmConvertObjectToMultiSz
-IsmCreateParsedPattern
-IsmCreateScope
-IsmCurrentlyExecuting
-IsmDeleteEnvironmentVariable
-IsmDeleteScope
-IsmDeselectScope
-IsmDestroyGlobalVariable
-IsmDestroyObjectHandle
-IsmDestroyObjectString
-IsmDestroyParsedPattern
-IsmDoesObjectExist
-IsmDoesRollbackDataExist
-IsmEnumFirstApplyObject
-IsmEnumFirstComponent
-IsmEnumFirstDestinationObjectEx
-IsmEnumFirstObjectAttribute
-IsmEnumFirstObjectAttributeById
-IsmEnumFirstObjectOperation
-IsmEnumFirstObjectOperationById
-IsmEnumFirstObjectProperty
-IsmEnumFirstObjectPropertyById
-IsmEnumFirstObjectTypeId
-IsmEnumFirstObjectWithAttribute
-IsmEnumFirstObjectWithOperation
-IsmEnumFirstObjectWithProperty
-IsmEnumFirstPersistentObject
-IsmEnumFirstScope
-IsmEnumFirstSourceObjectEx
-IsmEnumFirstTransport
-IsmEnumNextApplyObject
-IsmEnumNextComponent
-IsmEnumNextObject
-IsmEnumNextObjectAttribute
-IsmEnumNextObjectOperation
-IsmEnumNextObjectProperty
-IsmEnumNextObjectTypeId
-IsmEnumNextObjectWithAttribute
-IsmEnumNextObjectWithOperation
-IsmEnumNextObjectWithProperty
-IsmEnumNextPersistentObject
-IsmEnumNextScope
-IsmEnumNextTransport
-IsmExecute
-IsmExecuteFunction
-IsmExecuteHooks
-IsmFilterObject
-IsmFreeConvertedObjectContent
-IsmFreeCurrentUserData
-IsmFreeEnvironmentVariableList
-IsmGetActiveScopeId
-IsmGetActiveScopeName
-IsmGetActiveScopeNameRenamed
-IsmGetAttributeGroup
-IsmGetAttributeName
-IsmGetControlFile
-IsmGetCurrentSidString
-IsmGetEnvironmentCallback
-IsmGetEnvironmentData
-IsmGetEnvironmentMultiSz
-IsmGetEnvironmentString
-IsmGetEnvironmentValue
-IsmGetGlobalVariable
-IsmGetMappedUserData
-IsmGetObjectIdFromName
-IsmGetObjectOperationData
-IsmGetObjectOperationDataById
-IsmGetObjectTypeId
-IsmGetObjectTypeName
-IsmGetObjectTypePriority
-IsmGetObjectsStatistics
-IsmGetOnlineUserData
-IsmGetOperationGroup
-IsmGetOperationName
-IsmGetOsVersionInfo
-IsmGetPropertyData
-IsmGetPropertyFromObject
-IsmGetPropertyFromObjectId
-IsmGetPropertyGroup
-IsmGetPropertyName
-IsmGetRealPlatform
-IsmGetScopeObjectTypeName
-IsmGetScopeProperty
-IsmGetTempDirectory
-IsmGetTempFile
-IsmGetTempStorage
-IsmGetTransportVariable
-IsmGetVirtualPlatform
-IsmHookEnumeration
-IsmInitialize
-IsmIsApplyObject
-IsmIsApplyObjectId
-IsmIsAttributeSetOnObject
-IsmIsAttributeSetOnObjectId
-IsmIsComponentSelected
-IsmIsEnvironmentFlagSet
-IsmIsNonCriticalObject
-IsmIsNonCriticalObjectId
-IsmIsObjectAbandonedOnCollision
-IsmIsObjectHandleLeafOnly
-IsmIsObjectHandleNodeOnly
-IsmIsObjectIdAbandonedOnCollision
-IsmIsOperationSetOnObject
-IsmIsOperationSetOnObjectId
-IsmIsPersistentObject
-IsmIsPersistentObjectId
-IsmIsPropertySetOnObject
-IsmIsPropertySetOnObjectId
-IsmIsScopeOnline
-IsmIsScopeSelected
-IsmIsSystemScopeSelected
-IsmLoad
-IsmLockAttribute
-IsmLockObject
-IsmLockObjectId
-IsmLockOperation
-IsmLockProperty
-IsmMakeApplyObject
-IsmMakeApplyObjectId
-IsmMakeNonCriticalObject
-IsmMakeNonCriticalObjectId
-IsmMakePersistentObject
-IsmMakePersistentObjectId
-IsmParsedPatternMatch
-IsmParsedPatternMatchEx
-IsmPreserveJournal
-IsmProhibitPhysicalEnum
-IsmQueueEnumeration
-IsmRecordDelayedOperation
-IsmRecordOperation
-IsmRecoverEfsFile
-IsmRegisterAttribute
-IsmRegisterCompareCallback
-IsmRegisterDynamicExclusion
-IsmRegisterGlobalApplyCallback
-IsmRegisterGlobalFilterCallback
-IsmRegisterObjectType
-IsmRegisterOperation
-IsmRegisterOperationApplyCallback
-IsmRegisterOperationData
-IsmRegisterOperationFilterCallback
-IsmRegisterPhysicalAcquireHook
-IsmRegisterPostEnumerationCallback
-IsmRegisterPreEnumerationCallback
-IsmRegisterProgressBarCallback
-IsmRegisterProgressSlice
-IsmRegisterProperty
-IsmRegisterPropertyData
-IsmRegisterRestoreCallback
-IsmRegisterScopeChangeCallback
-IsmRegisterStaticExclusion
-IsmRegisterTransport
-IsmRegisterTypePostEnumerationCallback
-IsmRegisterTypePreEnumerationCallback
-IsmReleaseMemory
-IsmReleaseObject
-IsmRemoveAllUserSuppliedComponents
-IsmRemovePhysicalObject
-IsmRemovePropertyData
-IsmRemovePropertyFromObject
-IsmRemovePropertyFromObjectId
-IsmReplacePhysicalObject
-IsmResumeLoad
-IsmResumeSave
-IsmRollback
-IsmSave
-IsmSelectComponent
-IsmSelectMasterGroup
-IsmSelectPreferredAlias
-IsmSelectScope
-IsmSelectTransport
-IsmSendMessageToApp
-IsmSetAttributeOnObject
-IsmSetAttributeOnObjectId
-IsmSetCancel
-IsmSetDelayedOperationsCommand
-IsmSetEnvironmentCallback
-IsmSetEnvironmentData
-IsmSetEnvironmentFlag
-IsmSetEnvironmentMultiSz
-IsmSetEnvironmentString
-IsmSetEnvironmentValue
-IsmSetOperationOnObject
-IsmSetOperationOnObject2
-IsmSetOperationOnObjectId
-IsmSetOperationOnObjectId2
-IsmSetPlatform
-IsmSetRollbackJournalType
-IsmSetTransportStorage
-IsmSetTransportVariable
-IsmStartEtmModules
-IsmStartTransport
-IsmTerminate
-IsmTickProgressBar
-IsmUnregisterScopeChangeCallback
-TrackedIsmCompressEnvironmentString
-TrackedIsmConvertMultiSzToObject
-TrackedIsmCreateObjectHandle
-TrackedIsmCreateObjectPattern
-TrackedIsmCreateObjectStringsFromHandleEx
-TrackedIsmCreateSimpleObjectPattern
-TrackedIsmDuplicateString
-TrackedIsmExpandEnvironmentString
-TrackedIsmGetLongName
-TrackedIsmGetMemory
-TrackedIsmGetNativeObjectName
+; 
+; Exports of file MIGISM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MIGISM.dll
+EXPORTS
+DllMain
+IsmAbandonObjectIdOnCollision
+IsmAbandonObjectOnCollision
+IsmAbortApplyObjectEnum
+IsmAbortComponentEnum
+IsmAbortObjectAttributeEnum
+IsmAbortObjectEnum
+IsmAbortObjectOperationEnum
+IsmAbortObjectPropertyEnum
+IsmAbortObjectTypeIdEnum
+IsmAbortObjectWithAttributeEnum
+IsmAbortObjectWithOperationEnum
+IsmAbortObjectWithPropertyEnum
+IsmAbortPersistentObjectEnum
+IsmAbortScopeEnum
+IsmAbortTransportEnum
+IsmAcquireObjectEx
+IsmAddComponentAlias
+IsmAddControlFile
+IsmAddPropertyDataToObject
+IsmAddPropertyDataToObjectId
+IsmAddPropertyToObject
+IsmAddPropertyToObjectId
+IsmAddToPhysicalEnum
+IsmAllocEnvironmentVariableList
+IsmAppendEnvironmentMultiSz
+IsmAppendEnvironmentString
+IsmAreObjectsIdentical
+IsmCanWriteRollbackJournal
+IsmClearAbandonObjectIdOnCollision
+IsmClearAbandonObjectOnCollision
+IsmClearApplyOnObject
+IsmClearApplyOnObjectId
+IsmClearAttributeOnObject
+IsmClearAttributeOnObjectId
+IsmClearNonCriticalFlagOnObject
+IsmClearNonCriticalFlagOnObjectId
+IsmClearOperationOnObject
+IsmClearOperationOnObjectId
+IsmClearPersistenceOnObject
+IsmClearPersistenceOnObjectId
+IsmConvertObjectContentToAnsi
+IsmConvertObjectContentToUnicode
+IsmConvertObjectToMultiSz
+IsmCreateParsedPattern
+IsmCreateScope
+IsmCurrentlyExecuting
+IsmDeleteEnvironmentVariable
+IsmDeleteScope
+IsmDeselectScope
+IsmDestroyGlobalVariable
+IsmDestroyObjectHandle
+IsmDestroyObjectString
+IsmDestroyParsedPattern
+IsmDoesObjectExist
+IsmDoesRollbackDataExist
+IsmEnumFirstApplyObject
+IsmEnumFirstComponent
+IsmEnumFirstDestinationObjectEx
+IsmEnumFirstObjectAttribute
+IsmEnumFirstObjectAttributeById
+IsmEnumFirstObjectOperation
+IsmEnumFirstObjectOperationById
+IsmEnumFirstObjectProperty
+IsmEnumFirstObjectPropertyById
+IsmEnumFirstObjectTypeId
+IsmEnumFirstObjectWithAttribute
+IsmEnumFirstObjectWithOperation
+IsmEnumFirstObjectWithProperty
+IsmEnumFirstPersistentObject
+IsmEnumFirstScope
+IsmEnumFirstSourceObjectEx
+IsmEnumFirstTransport
+IsmEnumNextApplyObject
+IsmEnumNextComponent
+IsmEnumNextObject
+IsmEnumNextObjectAttribute
+IsmEnumNextObjectOperation
+IsmEnumNextObjectProperty
+IsmEnumNextObjectTypeId
+IsmEnumNextObjectWithAttribute
+IsmEnumNextObjectWithOperation
+IsmEnumNextObjectWithProperty
+IsmEnumNextPersistentObject
+IsmEnumNextScope
+IsmEnumNextTransport
+IsmExecute
+IsmExecuteFunction
+IsmExecuteHooks
+IsmFilterObject
+IsmFreeConvertedObjectContent
+IsmFreeCurrentUserData
+IsmFreeEnvironmentVariableList
+IsmGetActiveScopeId
+IsmGetActiveScopeName
+IsmGetActiveScopeNameRenamed
+IsmGetAttributeGroup
+IsmGetAttributeName
+IsmGetControlFile
+IsmGetCurrentSidString
+IsmGetEnvironmentCallback
+IsmGetEnvironmentData
+IsmGetEnvironmentMultiSz
+IsmGetEnvironmentString
+IsmGetEnvironmentValue
+IsmGetGlobalVariable
+IsmGetMappedUserData
+IsmGetObjectIdFromName
+IsmGetObjectOperationData
+IsmGetObjectOperationDataById
+IsmGetObjectTypeId
+IsmGetObjectTypeName
+IsmGetObjectTypePriority
+IsmGetObjectsStatistics
+IsmGetOnlineUserData
+IsmGetOperationGroup
+IsmGetOperationName
+IsmGetOsVersionInfo
+IsmGetPropertyData
+IsmGetPropertyFromObject
+IsmGetPropertyFromObjectId
+IsmGetPropertyGroup
+IsmGetPropertyName
+IsmGetRealPlatform
+IsmGetScopeObjectTypeName
+IsmGetScopeProperty
+IsmGetTempDirectory
+IsmGetTempFile
+IsmGetTempStorage
+IsmGetTransportVariable
+IsmGetVirtualPlatform
+IsmHookEnumeration
+IsmInitialize
+IsmIsApplyObject
+IsmIsApplyObjectId
+IsmIsAttributeSetOnObject
+IsmIsAttributeSetOnObjectId
+IsmIsComponentSelected
+IsmIsEnvironmentFlagSet
+IsmIsNonCriticalObject
+IsmIsNonCriticalObjectId
+IsmIsObjectAbandonedOnCollision
+IsmIsObjectHandleLeafOnly
+IsmIsObjectHandleNodeOnly
+IsmIsObjectIdAbandonedOnCollision
+IsmIsOperationSetOnObject
+IsmIsOperationSetOnObjectId
+IsmIsPersistentObject
+IsmIsPersistentObjectId
+IsmIsPropertySetOnObject
+IsmIsPropertySetOnObjectId
+IsmIsScopeOnline
+IsmIsScopeSelected
+IsmIsSystemScopeSelected
+IsmLoad
+IsmLockAttribute
+IsmLockObject
+IsmLockObjectId
+IsmLockOperation
+IsmLockProperty
+IsmMakeApplyObject
+IsmMakeApplyObjectId
+IsmMakeNonCriticalObject
+IsmMakeNonCriticalObjectId
+IsmMakePersistentObject
+IsmMakePersistentObjectId
+IsmParsedPatternMatch
+IsmParsedPatternMatchEx
+IsmPreserveJournal
+IsmProhibitPhysicalEnum
+IsmQueueEnumeration
+IsmRecordDelayedOperation
+IsmRecordOperation
+IsmRecoverEfsFile
+IsmRegisterAttribute
+IsmRegisterCompareCallback
+IsmRegisterDynamicExclusion
+IsmRegisterGlobalApplyCallback
+IsmRegisterGlobalFilterCallback
+IsmRegisterObjectType
+IsmRegisterOperation
+IsmRegisterOperationApplyCallback
+IsmRegisterOperationData
+IsmRegisterOperationFilterCallback
+IsmRegisterPhysicalAcquireHook
+IsmRegisterPostEnumerationCallback
+IsmRegisterPreEnumerationCallback
+IsmRegisterProgressBarCallback
+IsmRegisterProgressSlice
+IsmRegisterProperty
+IsmRegisterPropertyData
+IsmRegisterRestoreCallback
+IsmRegisterScopeChangeCallback
+IsmRegisterStaticExclusion
+IsmRegisterTransport
+IsmRegisterTypePostEnumerationCallback
+IsmRegisterTypePreEnumerationCallback
+IsmReleaseMemory
+IsmReleaseObject
+IsmRemoveAllUserSuppliedComponents
+IsmRemovePhysicalObject
+IsmRemovePropertyData
+IsmRemovePropertyFromObject
+IsmRemovePropertyFromObjectId
+IsmReplacePhysicalObject
+IsmResumeLoad
+IsmResumeSave
+IsmRollback
+IsmSave
+IsmSelectComponent
+IsmSelectMasterGroup
+IsmSelectPreferredAlias
+IsmSelectScope
+IsmSelectTransport
+IsmSendMessageToApp
+IsmSetAttributeOnObject
+IsmSetAttributeOnObjectId
+IsmSetCancel
+IsmSetDelayedOperationsCommand
+IsmSetEnvironmentCallback
+IsmSetEnvironmentData
+IsmSetEnvironmentFlag
+IsmSetEnvironmentMultiSz
+IsmSetEnvironmentString
+IsmSetEnvironmentValue
+IsmSetOperationOnObject
+IsmSetOperationOnObject2
+IsmSetOperationOnObjectId
+IsmSetOperationOnObjectId2
+IsmSetPlatform
+IsmSetRollbackJournalType
+IsmSetTransportStorage
+IsmSetTransportVariable
+IsmStartEtmModules
+IsmStartTransport
+IsmTerminate
+IsmTickProgressBar
+IsmUnregisterScopeChangeCallback
+TrackedIsmCompressEnvironmentString
+TrackedIsmConvertMultiSzToObject
+TrackedIsmCreateObjectHandle
+TrackedIsmCreateObjectPattern
+TrackedIsmCreateObjectStringsFromHandleEx
+TrackedIsmCreateSimpleObjectPattern
+TrackedIsmDuplicateString
+TrackedIsmExpandEnvironmentString
+TrackedIsmGetLongName
+TrackedIsmGetMemory
+TrackedIsmGetNativeObjectName
diff --git a/mingw-w64-crt/lib64/miglibnt.def b/mingw-w64-crt/lib64/miglibnt.def
index 59a2d67..ac8ac9e 100644
--- a/mingw-w64-crt/lib64/miglibnt.def
+++ b/mingw-w64-crt/lib64/miglibnt.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file MIGLIBNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MIGLIBNT.dll
-EXPORTS
-MigDllAddDllToListW
-MigDllApplySystemSettingsW
-MigDllCloseW
-MigDllCreateList
-MigDllEnumFirstW
-MigDllEnumNextW
-MigDllFreeList
-MigDllInit
-MigDllInitializeDstW
-MigDllOpenW
-MigDllShutdown
+; 
+; Exports of file MIGLIBNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MIGLIBNT.dll
+EXPORTS
+MigDllAddDllToListW
+MigDllApplySystemSettingsW
+MigDllCloseW
+MigDllCreateList
+MigDllEnumFirstW
+MigDllEnumNextW
+MigDllFreeList
+MigDllInit
+MigDllInitializeDstW
+MigDllOpenW
+MigDllShutdown
diff --git a/mingw-w64-crt/lib64/mimefilt.def b/mingw-w64-crt/lib64/mimefilt.def
index bde7dd4..521ecd1 100644
--- a/mingw-w64-crt/lib64/mimefilt.def
+++ b/mingw-w64-crt/lib64/mimefilt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MIMEFILT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MIMEFILT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MIMEFILT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MIMEFILT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mlang.def b/mingw-w64-crt/lib64/mlang.def
index 3581265..3a62e93 100644
--- a/mingw-w64-crt/lib64/mlang.def
+++ b/mingw-w64-crt/lib64/mlang.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file MLANG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MLANG.dll
-EXPORTS
-IsConvertINetStringAvailable
-ConvertINetString
-ConvertINetUnicodeToMultiByte
-ConvertINetMultiByteToUnicode
-ConvertINetReset
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetGlobalFontLinkObject
-LcidToRfc1766A
-LcidToRfc1766W
-Rfc1766ToLcidA
-Rfc1766ToLcidW
+; 
+; Exports of file MLANG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MLANG.dll
+EXPORTS
+IsConvertINetStringAvailable
+ConvertINetString
+ConvertINetUnicodeToMultiByte
+ConvertINetMultiByteToUnicode
+ConvertINetReset
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetGlobalFontLinkObject
+LcidToRfc1766A
+LcidToRfc1766W
+Rfc1766ToLcidA
+Rfc1766ToLcidW
diff --git a/mingw-w64-crt/lib64/mll_hp.def b/mingw-w64-crt/lib64/mll_hp.def
index 556dd48..383ab6a 100644
--- a/mingw-w64-crt/lib64/mll_hp.def
+++ b/mingw-w64-crt/lib64/mll_hp.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MLL_HP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MLL_HP.dll
-EXPORTS
-ClaimMediaLabel
-MaxMediaLabel
+; 
+; Exports of file MLL_HP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MLL_HP.dll
+EXPORTS
+ClaimMediaLabel
+MaxMediaLabel
diff --git a/mingw-w64-crt/lib64/mll_mtf.def b/mingw-w64-crt/lib64/mll_mtf.def
index 54eddc1..7716654 100644
--- a/mingw-w64-crt/lib64/mll_mtf.def
+++ b/mingw-w64-crt/lib64/mll_mtf.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MLL_MTF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MLL_MTF.dll
-EXPORTS
-ClaimMediaLabel
-MaxMediaLabel
+; 
+; Exports of file MLL_MTF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MLL_MTF.dll
+EXPORTS
+ClaimMediaLabel
+MaxMediaLabel
diff --git a/mingw-w64-crt/lib64/mll_qic.def b/mingw-w64-crt/lib64/mll_qic.def
index 425f870..7cd8aa9 100644
--- a/mingw-w64-crt/lib64/mll_qic.def
+++ b/mingw-w64-crt/lib64/mll_qic.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MLL_QIC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MLL_QIC.dll
-EXPORTS
-ClaimMediaLabel
-MaxMediaLabel
+; 
+; Exports of file MLL_QIC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MLL_QIC.dll
+EXPORTS
+ClaimMediaLabel
+MaxMediaLabel
diff --git a/mingw-w64-crt/lib64/mmcbase.def b/mingw-w64-crt/lib64/mmcbase.def
index ac62840..9942acf 100644
--- a/mingw-w64-crt/lib64/mmcbase.def
+++ b/mingw-w64-crt/lib64/mmcbase.def
@@ -1,160 +1,160 @@
-; 
-; Exports of file mmcbase.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mmcbase.DLL
-EXPORTS
-; public: __cdecl CEventLock<struct AppEvents>::CEventLock<struct AppEvents>(void) __ptr64
-??0?$CEventLock@UAppEvents@@@@QEAA@XZ
-; public: __cdecl CEventBuffer::CEventBuffer(class CEventBuffer const & __ptr64) __ptr64
-??0CEventBuffer@@QEAA@AEBV0@@Z
-; public: __cdecl CEventBuffer::CEventBuffer(void) __ptr64
-??0CEventBuffer@@QEAA@XZ
-; private: __cdecl CMMCStrongReferences::CMMCStrongReferences(void) __ptr64
-??0CMMCStrongReferences@@AEAA@XZ
-; public: __cdecl mmcerror::SC::SC(long) __ptr64
-??0SC@mmcerror@@QEAA@J@Z
-; public: __cdecl CEventLock<struct AppEvents>::~CEventLock<struct AppEvents>(void) __ptr64
-??1?$CEventLock@UAppEvents@@@@QEAA@XZ
-; public: __cdecl CEventBuffer::~CEventBuffer(void) __ptr64
-??1CEventBuffer@@QEAA@XZ
-; public: class CEventLock<struct AppEvents> & __ptr64 __cdecl CEventLock<struct AppEvents>::operator=(class CEventLock<struct AppEvents> const & __ptr64) __ptr64
-??4?$CEventLock@UAppEvents@@@@QEAAAEAV0@AEBV0@@Z
-; public: class CEventBuffer & __ptr64 __cdecl CEventBuffer::operator=(class CEventBuffer const & __ptr64) __ptr64
-??4CEventBuffer@@QEAAAEAV0@AEBV0@@Z
-; public: class CMMCStrongReferences & __ptr64 __cdecl CMMCStrongReferences::operator=(class CMMCStrongReferences const & __ptr64) __ptr64
-??4CMMCStrongReferences@@QEAAAEAV0@AEBV0@@Z
-; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::operator=(class mmcerror::SC const & __ptr64) __ptr64
-??4SC@mmcerror@@QEAAAEAV01@AEBV01@@Z
-; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::operator=(long) __ptr64
-??4SC@mmcerror@@QEAAAEAV01@J@Z
-; public: int __cdecl mmcerror::SC::operator!(void)const  __ptr64
-??7SC@mmcerror@@QEBAHXZ
-; public: bool __cdecl mmcerror::SC::operator==(class mmcerror::SC const & __ptr64)const  __ptr64
-??8SC@mmcerror@@QEBA_NAEBV01@@Z
-; public: bool __cdecl mmcerror::SC::operator==(long)const  __ptr64
-??8SC@mmcerror@@QEBA_NJ@Z
-; public: bool __cdecl mmcerror::SC::operator!=(class mmcerror::SC const & __ptr64)const  __ptr64
-??9SC@mmcerror@@QEBA_NAEBV01@@Z
-; public: bool __cdecl mmcerror::SC::operator!=(long)const  __ptr64
-??9SC@mmcerror@@QEBA_NJ@Z
-; public: __cdecl mmcerror::SC::operator bool(void)const  __ptr64
-??BSC@mmcerror@@QEBA_NXZ
-; public: void __cdecl mmcerror::SC::`default constructor closure'(void) __ptr64
-??_FSC@mmcerror@@QEAAXXZ
-; public: static unsigned long __cdecl CMMCStrongReferences::AddRef(void)
-?AddRef@CMMCStrongReferences@@SAKXZ
-; public: void __cdecl mmcerror::SC::Clear(void) __ptr64
-?Clear@SC@mmcerror@@QEAAXXZ
-; public: void __cdecl mmcerror::SC::FatalError(void)const  __ptr64
-?FatalError@SC@mmcerror@@QEBAXXZ
-; void __cdecl FormatErrorIds(unsigned int,class mmcerror::SC,unsigned int,unsigned short * __ptr64)
-?FormatErrorIds@@YAXIVSC@mmcerror@@IPEAG@Z
-; void __cdecl FormatErrorShort(class mmcerror::SC,unsigned int,unsigned short * __ptr64)
-?FormatErrorShort@@YAXVSC@mmcerror@@IPEAG@Z
-; void __cdecl FormatErrorString(unsigned short const * __ptr64,class mmcerror::SC,unsigned int,unsigned short * __ptr64,int)
-?FormatErrorString@@YAXPEBGVSC@mmcerror@@IPEAGH@Z
-; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::FromLastError(void) __ptr64
-?FromLastError@SC@mmcerror@@QEAAAEAV12@XZ
-; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::FromMMC(long) __ptr64
-?FromMMC@SC@mmcerror@@QEAAAEAV12@J@Z
-; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::FromWin32(long) __ptr64
-?FromWin32@SC@mmcerror@@QEAAAEAV12@J@Z
-; public: long __cdecl mmcerror::SC::GetCode(void)const  __ptr64
-?GetCode@SC@mmcerror@@QEBAJXZ
-; class CEventSource<class CComObjectObserver,class CVoid,class CVoid,class CVoid,class CVoid> & __ptr64 __cdecl GetComObjectEventSource(void)
-?GetComObjectEventSource@@YAAEAV?$CEventSource@VCComObjectObserver@@VCVoid@@V2@V2@V2@@@XZ
-; public: void __cdecl mmcerror::SC::GetErrorMessage(unsigned int,unsigned short * __ptr64)const  __ptr64
-?GetErrorMessage@SC@mmcerror@@QEBAXIPEAG@Z
-; class CEventBuffer & __ptr64 __cdecl GetEventBuffer(void)
-?GetEventBuffer@@YAAEAVCEventBuffer@@XZ
-; private: enum mmcerror::SC::facility_type  __cdecl mmcerror::SC::GetFacility(void)const  __ptr64
-?GetFacility@SC@mmcerror@@AEBA?AW4facility_type@12@XZ
-; public: static struct HWND__ * __ptr64 __cdecl mmcerror::SC::GetHWnd(void)
-?GetHWnd@SC@mmcerror@@SAPEAUHWND__@@XZ
-; public: static unsigned short const * __ptr64 __cdecl mmcerror::SC::GetHelpFile(void)
-?GetHelpFile@SC@mmcerror@@SAPEBGXZ
-; public: unsigned long __cdecl mmcerror::SC::GetHelpID(void) __ptr64
-?GetHelpID@SC@mmcerror@@QEAAKXZ
-; public: static struct HINSTANCE__ * __ptr64 __cdecl mmcerror::SC::GetHinst(void)
-?GetHinst@SC@mmcerror@@SAPEAUHINSTANCE__@@XZ
-; public: static unsigned long __cdecl mmcerror::SC::GetMainThreadID(void)
-?GetMainThreadID@SC@mmcerror@@SAKXZ
-; private: static class CMMCStrongReferences & __ptr64 __cdecl CMMCStrongReferences::GetSingletonObject(void)
-?GetSingletonObject@CMMCStrongReferences@@CAAEAV1@XZ
-; struct HINSTANCE__ * __ptr64 __cdecl GetStringModule(void)
-?GetStringModule@@YAPEAUHINSTANCE__@@XZ
-; long __cdecl HrFromSc(class mmcerror::SC const & __ptr64)
-?HrFromSc@@YAJAEBVSC@mmcerror@@@Z
-; private: unsigned long __cdecl CMMCStrongReferences::InternalAddRef(void) __ptr64
-?InternalAddRef@CMMCStrongReferences@@AEAAKXZ
-; private: bool __cdecl CMMCStrongReferences::InternalLastRefReleased(void) __ptr64
-?InternalLastRefReleased@CMMCStrongReferences@@AEAA_NXZ
-; private: unsigned long __cdecl CMMCStrongReferences::InternalRelease(void) __ptr64
-?InternalRelease@CMMCStrongReferences@@AEAAKXZ
-; public: bool __cdecl mmcerror::SC::IsError(void)const  __ptr64
-?IsError@SC@mmcerror@@QEBA_NXZ
-; public: bool __cdecl CEventBuffer::IsLocked(void) __ptr64
-?IsLocked@CEventBuffer@@QEAA_NXZ
-; public: static bool __cdecl CMMCStrongReferences::LastRefReleased(void)
-?LastRefReleased@CMMCStrongReferences@@SA_NXZ
-; public: void __cdecl CEventBuffer::Lock(void) __ptr64
-?Lock@CEventBuffer@@QEAAXXZ
-; int __cdecl MMCErrorBox(unsigned int,unsigned int)
-?MMCErrorBox@@YAHII@Z
-; int __cdecl MMCErrorBox(unsigned int,class mmcerror::SC,unsigned int)
-?MMCErrorBox@@YAHIVSC@mmcerror@@I@Z
-; int __cdecl MMCErrorBox(unsigned short const * __ptr64,unsigned int)
-?MMCErrorBox@@YAHPEBGI@Z
-; int __cdecl MMCErrorBox(unsigned short const * __ptr64,class mmcerror::SC,unsigned int)
-?MMCErrorBox@@YAHPEBGVSC@mmcerror@@I@Z
-; int __cdecl MMCErrorBox(class mmcerror::SC,unsigned int)
-?MMCErrorBox@@YAHVSC@mmcerror@@I@Z
-; long __cdecl MMCUpdateRegistry(int,class CObjectRegParams const * __ptr64,class CControlRegParams const * __ptr64)
-?MMCUpdateRegistry@@YAJHPEBVCObjectRegParams@@PEBVCControlRegParams@@@Z
-; __int64 __cdecl MMC_PickIconDlg(struct HWND__ * __ptr64,unsigned short * __ptr64,unsigned int,int * __ptr64)
-?MMC_PickIconDlg@@YA_JPEAUHWND__@@PEAGIPEAH@Z
-; private: void __cdecl mmcerror::SC::MakeSc(enum mmcerror::SC::facility_type,long) __ptr64
-?MakeSc@SC@mmcerror@@AEAAXW4facility_type@12@J@Z
-; public: static unsigned long __cdecl CMMCStrongReferences::Release(void)
-?Release@CMMCStrongReferences@@SAKXZ
-; long __cdecl SCODEFromSc(class mmcerror::SC const & __ptr64)
-?SCODEFromSc@@YAJAEBVSC@mmcerror@@@Z
-; public: class mmcerror::SC  __cdecl CEventBuffer::ScEmitOrPostpone(struct IDispatch * __ptr64,long,class ATL::CComVariant * __ptr64,int) __ptr64
-?ScEmitOrPostpone@CEventBuffer@@QEAA?AVSC@mmcerror@@PEAUIDispatch@@JPEAVCComVariant@ATL@@H@Z
-; private: class mmcerror::SC  __cdecl CEventBuffer::ScFlushPostponed(void) __ptr64
-?ScFlushPostponed@CEventBuffer@@AEAA?AVSC@mmcerror@@XZ
-; class mmcerror::SC  __cdecl ScFromMMC(long)
-?ScFromMMC@@YA?AVSC@mmcerror@@J@Z
-; public: static class mmcerror::SC  __cdecl CConsoleEventDispatcherProvider::ScGetConsoleEventDispatcher(class CConsoleEventDispatcher * __ptr64 & __ptr64)
-?ScGetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SA?AVSC@mmcerror@@AEAPEAVCConsoleEventDispatcher@@@Z
-; public: static class mmcerror::SC  __cdecl CConsoleEventDispatcherProvider::ScSetConsoleEventDispatcher(class CConsoleEventDispatcher * __ptr64)
-?ScSetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SA?AVSC@mmcerror@@PEAVCConsoleEventDispatcher@@@Z
-; public: static void __cdecl mmcerror::SC::SetHWnd(struct HWND__ * __ptr64)
-?SetHWnd@SC@mmcerror@@SAXPEAUHWND__@@@Z
-; public: static void __cdecl mmcerror::SC::SetHinst(struct HINSTANCE__ * __ptr64)
-?SetHinst@SC@mmcerror@@SAXPEAUHINSTANCE__@@@Z
-; public: static void __cdecl mmcerror::SC::SetMainThreadID(unsigned long)
-?SetMainThreadID@SC@mmcerror@@SAXK@Z
-; public: void __cdecl mmcerror::SC::Throw(long) __ptr64
-?Throw@SC@mmcerror@@QEAAXJ@Z
-; public: void __cdecl mmcerror::SC::Throw(void) __ptr64
-?Throw@SC@mmcerror@@QEAAXXZ
-; public: long __cdecl mmcerror::SC::ToHr(void)const  __ptr64
-?ToHr@SC@mmcerror@@QEBAJXZ
-; public: void __cdecl mmcerror::SC::TraceAndClear(void) __ptr64
-?TraceAndClear@SC@mmcerror@@QEAAXXZ
-; public: void __cdecl mmcerror::SC::Trace_(void)const  __ptr64
-?Trace_@SC@mmcerror@@QEBAXXZ
-; public: void __cdecl CEventBuffer::Unlock(void) __ptr64
-?Unlock@CEventBuffer@@QEAAXXZ
-; private: static unsigned long  mmcerror::SC::s_dwMainThreadID
-?s_dwMainThreadID@SC@mmcerror@@0KA DATA
-; private: static struct HINSTANCE__ * __ptr64  __ptr64 mmcerror::SC::s_hInst
-?s_hInst@SC@mmcerror@@0PEAUHINSTANCE__@@EA DATA
-; private: static struct HWND__ * __ptr64  __ptr64 mmcerror::SC::s_hWnd
-?s_hWnd@SC@mmcerror@@0PEAUHWND__@@EA DATA
-; private: static class CConsoleEventDispatcher * __ptr64  __ptr64 CConsoleEventDispatcherProvider::s_pDispatcher
-?s_pDispatcher@CConsoleEventDispatcherProvider@@0PEAVCConsoleEventDispatcher@@EA DATA
+; 
+; Exports of file mmcbase.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mmcbase.DLL
+EXPORTS
+; public: __cdecl CEventLock<struct AppEvents>::CEventLock<struct AppEvents>(void) __ptr64
+??0?$CEventLock@UAppEvents@@@@QEAA@XZ
+; public: __cdecl CEventBuffer::CEventBuffer(class CEventBuffer const & __ptr64) __ptr64
+??0CEventBuffer@@QEAA@AEBV0@@Z
+; public: __cdecl CEventBuffer::CEventBuffer(void) __ptr64
+??0CEventBuffer@@QEAA@XZ
+; private: __cdecl CMMCStrongReferences::CMMCStrongReferences(void) __ptr64
+??0CMMCStrongReferences@@AEAA@XZ
+; public: __cdecl mmcerror::SC::SC(long) __ptr64
+??0SC@mmcerror@@QEAA@J@Z
+; public: __cdecl CEventLock<struct AppEvents>::~CEventLock<struct AppEvents>(void) __ptr64
+??1?$CEventLock@UAppEvents@@@@QEAA@XZ
+; public: __cdecl CEventBuffer::~CEventBuffer(void) __ptr64
+??1CEventBuffer@@QEAA@XZ
+; public: class CEventLock<struct AppEvents> & __ptr64 __cdecl CEventLock<struct AppEvents>::operator=(class CEventLock<struct AppEvents> const & __ptr64) __ptr64
+??4?$CEventLock@UAppEvents@@@@QEAAAEAV0@AEBV0@@Z
+; public: class CEventBuffer & __ptr64 __cdecl CEventBuffer::operator=(class CEventBuffer const & __ptr64) __ptr64
+??4CEventBuffer@@QEAAAEAV0@AEBV0@@Z
+; public: class CMMCStrongReferences & __ptr64 __cdecl CMMCStrongReferences::operator=(class CMMCStrongReferences const & __ptr64) __ptr64
+??4CMMCStrongReferences@@QEAAAEAV0@AEBV0@@Z
+; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::operator=(class mmcerror::SC const & __ptr64) __ptr64
+??4SC@mmcerror@@QEAAAEAV01@AEBV01@@Z
+; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::operator=(long) __ptr64
+??4SC@mmcerror@@QEAAAEAV01@J@Z
+; public: int __cdecl mmcerror::SC::operator!(void)const  __ptr64
+??7SC@mmcerror@@QEBAHXZ
+; public: bool __cdecl mmcerror::SC::operator==(class mmcerror::SC const & __ptr64)const  __ptr64
+??8SC@mmcerror@@QEBA_NAEBV01@@Z
+; public: bool __cdecl mmcerror::SC::operator==(long)const  __ptr64
+??8SC@mmcerror@@QEBA_NJ@Z
+; public: bool __cdecl mmcerror::SC::operator!=(class mmcerror::SC const & __ptr64)const  __ptr64
+??9SC@mmcerror@@QEBA_NAEBV01@@Z
+; public: bool __cdecl mmcerror::SC::operator!=(long)const  __ptr64
+??9SC@mmcerror@@QEBA_NJ@Z
+; public: __cdecl mmcerror::SC::operator bool(void)const  __ptr64
+??BSC@mmcerror@@QEBA_NXZ
+; public: void __cdecl mmcerror::SC::`default constructor closure'(void) __ptr64
+??_FSC@mmcerror@@QEAAXXZ
+; public: static unsigned long __cdecl CMMCStrongReferences::AddRef(void)
+?AddRef@CMMCStrongReferences@@SAKXZ
+; public: void __cdecl mmcerror::SC::Clear(void) __ptr64
+?Clear@SC@mmcerror@@QEAAXXZ
+; public: void __cdecl mmcerror::SC::FatalError(void)const  __ptr64
+?FatalError@SC@mmcerror@@QEBAXXZ
+; void __cdecl FormatErrorIds(unsigned int,class mmcerror::SC,unsigned int,unsigned short * __ptr64)
+?FormatErrorIds@@YAXIVSC@mmcerror@@IPEAG@Z
+; void __cdecl FormatErrorShort(class mmcerror::SC,unsigned int,unsigned short * __ptr64)
+?FormatErrorShort@@YAXVSC@mmcerror@@IPEAG@Z
+; void __cdecl FormatErrorString(unsigned short const * __ptr64,class mmcerror::SC,unsigned int,unsigned short * __ptr64,int)
+?FormatErrorString@@YAXPEBGVSC@mmcerror@@IPEAGH@Z
+; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::FromLastError(void) __ptr64
+?FromLastError@SC@mmcerror@@QEAAAEAV12@XZ
+; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::FromMMC(long) __ptr64
+?FromMMC@SC@mmcerror@@QEAAAEAV12@J@Z
+; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::FromWin32(long) __ptr64
+?FromWin32@SC@mmcerror@@QEAAAEAV12@J@Z
+; public: long __cdecl mmcerror::SC::GetCode(void)const  __ptr64
+?GetCode@SC@mmcerror@@QEBAJXZ
+; class CEventSource<class CComObjectObserver,class CVoid,class CVoid,class CVoid,class CVoid> & __ptr64 __cdecl GetComObjectEventSource(void)
+?GetComObjectEventSource@@YAAEAV?$CEventSource@VCComObjectObserver@@VCVoid@@V2@V2@V2@@@XZ
+; public: void __cdecl mmcerror::SC::GetErrorMessage(unsigned int,unsigned short * __ptr64)const  __ptr64
+?GetErrorMessage@SC@mmcerror@@QEBAXIPEAG@Z
+; class CEventBuffer & __ptr64 __cdecl GetEventBuffer(void)
+?GetEventBuffer@@YAAEAVCEventBuffer@@XZ
+; private: enum mmcerror::SC::facility_type  __cdecl mmcerror::SC::GetFacility(void)const  __ptr64
+?GetFacility@SC@mmcerror@@AEBA?AW4facility_type@12@XZ
+; public: static struct HWND__ * __ptr64 __cdecl mmcerror::SC::GetHWnd(void)
+?GetHWnd@SC@mmcerror@@SAPEAUHWND__@@XZ
+; public: static unsigned short const * __ptr64 __cdecl mmcerror::SC::GetHelpFile(void)
+?GetHelpFile@SC@mmcerror@@SAPEBGXZ
+; public: unsigned long __cdecl mmcerror::SC::GetHelpID(void) __ptr64
+?GetHelpID@SC@mmcerror@@QEAAKXZ
+; public: static struct HINSTANCE__ * __ptr64 __cdecl mmcerror::SC::GetHinst(void)
+?GetHinst@SC@mmcerror@@SAPEAUHINSTANCE__@@XZ
+; public: static unsigned long __cdecl mmcerror::SC::GetMainThreadID(void)
+?GetMainThreadID@SC@mmcerror@@SAKXZ
+; private: static class CMMCStrongReferences & __ptr64 __cdecl CMMCStrongReferences::GetSingletonObject(void)
+?GetSingletonObject@CMMCStrongReferences@@CAAEAV1@XZ
+; struct HINSTANCE__ * __ptr64 __cdecl GetStringModule(void)
+?GetStringModule@@YAPEAUHINSTANCE__@@XZ
+; long __cdecl HrFromSc(class mmcerror::SC const & __ptr64)
+?HrFromSc@@YAJAEBVSC@mmcerror@@@Z
+; private: unsigned long __cdecl CMMCStrongReferences::InternalAddRef(void) __ptr64
+?InternalAddRef@CMMCStrongReferences@@AEAAKXZ
+; private: bool __cdecl CMMCStrongReferences::InternalLastRefReleased(void) __ptr64
+?InternalLastRefReleased@CMMCStrongReferences@@AEAA_NXZ
+; private: unsigned long __cdecl CMMCStrongReferences::InternalRelease(void) __ptr64
+?InternalRelease@CMMCStrongReferences@@AEAAKXZ
+; public: bool __cdecl mmcerror::SC::IsError(void)const  __ptr64
+?IsError@SC@mmcerror@@QEBA_NXZ
+; public: bool __cdecl CEventBuffer::IsLocked(void) __ptr64
+?IsLocked@CEventBuffer@@QEAA_NXZ
+; public: static bool __cdecl CMMCStrongReferences::LastRefReleased(void)
+?LastRefReleased@CMMCStrongReferences@@SA_NXZ
+; public: void __cdecl CEventBuffer::Lock(void) __ptr64
+?Lock@CEventBuffer@@QEAAXXZ
+; int __cdecl MMCErrorBox(unsigned int,unsigned int)
+?MMCErrorBox@@YAHII@Z
+; int __cdecl MMCErrorBox(unsigned int,class mmcerror::SC,unsigned int)
+?MMCErrorBox@@YAHIVSC@mmcerror@@I@Z
+; int __cdecl MMCErrorBox(unsigned short const * __ptr64,unsigned int)
+?MMCErrorBox@@YAHPEBGI@Z
+; int __cdecl MMCErrorBox(unsigned short const * __ptr64,class mmcerror::SC,unsigned int)
+?MMCErrorBox@@YAHPEBGVSC@mmcerror@@I@Z
+; int __cdecl MMCErrorBox(class mmcerror::SC,unsigned int)
+?MMCErrorBox@@YAHVSC@mmcerror@@I@Z
+; long __cdecl MMCUpdateRegistry(int,class CObjectRegParams const * __ptr64,class CControlRegParams const * __ptr64)
+?MMCUpdateRegistry@@YAJHPEBVCObjectRegParams@@PEBVCControlRegParams@@@Z
+; __int64 __cdecl MMC_PickIconDlg(struct HWND__ * __ptr64,unsigned short * __ptr64,unsigned int,int * __ptr64)
+?MMC_PickIconDlg@@YA_JPEAUHWND__@@PEAGIPEAH@Z
+; private: void __cdecl mmcerror::SC::MakeSc(enum mmcerror::SC::facility_type,long) __ptr64
+?MakeSc@SC@mmcerror@@AEAAXW4facility_type@12@J@Z
+; public: static unsigned long __cdecl CMMCStrongReferences::Release(void)
+?Release@CMMCStrongReferences@@SAKXZ
+; long __cdecl SCODEFromSc(class mmcerror::SC const & __ptr64)
+?SCODEFromSc@@YAJAEBVSC@mmcerror@@@Z
+; public: class mmcerror::SC  __cdecl CEventBuffer::ScEmitOrPostpone(struct IDispatch * __ptr64,long,class ATL::CComVariant * __ptr64,int) __ptr64
+?ScEmitOrPostpone@CEventBuffer@@QEAA?AVSC@mmcerror@@PEAUIDispatch@@JPEAVCComVariant@ATL@@H@Z
+; private: class mmcerror::SC  __cdecl CEventBuffer::ScFlushPostponed(void) __ptr64
+?ScFlushPostponed@CEventBuffer@@AEAA?AVSC@mmcerror@@XZ
+; class mmcerror::SC  __cdecl ScFromMMC(long)
+?ScFromMMC@@YA?AVSC@mmcerror@@J@Z
+; public: static class mmcerror::SC  __cdecl CConsoleEventDispatcherProvider::ScGetConsoleEventDispatcher(class CConsoleEventDispatcher * __ptr64 & __ptr64)
+?ScGetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SA?AVSC@mmcerror@@AEAPEAVCConsoleEventDispatcher@@@Z
+; public: static class mmcerror::SC  __cdecl CConsoleEventDispatcherProvider::ScSetConsoleEventDispatcher(class CConsoleEventDispatcher * __ptr64)
+?ScSetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SA?AVSC@mmcerror@@PEAVCConsoleEventDispatcher@@@Z
+; public: static void __cdecl mmcerror::SC::SetHWnd(struct HWND__ * __ptr64)
+?SetHWnd@SC@mmcerror@@SAXPEAUHWND__@@@Z
+; public: static void __cdecl mmcerror::SC::SetHinst(struct HINSTANCE__ * __ptr64)
+?SetHinst@SC@mmcerror@@SAXPEAUHINSTANCE__@@@Z
+; public: static void __cdecl mmcerror::SC::SetMainThreadID(unsigned long)
+?SetMainThreadID@SC@mmcerror@@SAXK@Z
+; public: void __cdecl mmcerror::SC::Throw(long) __ptr64
+?Throw@SC@mmcerror@@QEAAXJ@Z
+; public: void __cdecl mmcerror::SC::Throw(void) __ptr64
+?Throw@SC@mmcerror@@QEAAXXZ
+; public: long __cdecl mmcerror::SC::ToHr(void)const  __ptr64
+?ToHr@SC@mmcerror@@QEBAJXZ
+; public: void __cdecl mmcerror::SC::TraceAndClear(void) __ptr64
+?TraceAndClear@SC@mmcerror@@QEAAXXZ
+; public: void __cdecl mmcerror::SC::Trace_(void)const  __ptr64
+?Trace_@SC@mmcerror@@QEBAXXZ
+; public: void __cdecl CEventBuffer::Unlock(void) __ptr64
+?Unlock@CEventBuffer@@QEAAXXZ
+; private: static unsigned long  mmcerror::SC::s_dwMainThreadID
+?s_dwMainThreadID@SC@mmcerror@@0KA DATA
+; private: static struct HINSTANCE__ * __ptr64  __ptr64 mmcerror::SC::s_hInst
+?s_hInst@SC@mmcerror@@0PEAUHINSTANCE__@@EA DATA
+; private: static struct HWND__ * __ptr64  __ptr64 mmcerror::SC::s_hWnd
+?s_hWnd@SC@mmcerror@@0PEAUHWND__@@EA DATA
+; private: static class CConsoleEventDispatcher * __ptr64  __ptr64 CConsoleEventDispatcherProvider::s_pDispatcher
+?s_pDispatcher@CConsoleEventDispatcherProvider@@0PEAVCConsoleEventDispatcher@@EA DATA
diff --git a/mingw-w64-crt/lib64/mmcndmgr.def b/mingw-w64-crt/lib64/mmcndmgr.def
index 73b8753..76434be 100644
--- a/mingw-w64-crt/lib64/mmcndmgr.def
+++ b/mingw-w64-crt/lib64/mmcndmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MMCNDMGR.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MMCNDMGR.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MMCNDMGR.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MMCNDMGR.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mmcshext.def b/mingw-w64-crt/lib64/mmcshext.def
index bccdfe5..839e154 100644
--- a/mingw-w64-crt/lib64/mmcshext.def
+++ b/mingw-w64-crt/lib64/mmcshext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mmcshext.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mmcshext.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mmcshext.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mmcshext.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mmfutil.def b/mingw-w64-crt/lib64/mmfutil.def
index 4820bcf..a5e2e64 100644
--- a/mingw-w64-crt/lib64/mmfutil.def
+++ b/mingw-w64-crt/lib64/mmfutil.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file MMFUtil.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MMFUtil.DLL
-EXPORTS
-; __int64 __cdecl DisplayAVIBox(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,struct HWND__ * __ptr64 * __ptr64)
-?DisplayAVIBox@@YA_JPEAUHWND__@@PEBG1PEAPEAU1@@Z
-; int __cdecl DisplayUserMessage(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,unsigned int,unsigned int,enum ERROR_SRC,long,unsigned int)
-?DisplayUserMessage@@YAHPEAUHWND__@@PEAUHINSTANCE__@@IIW4ERROR_SRC@@JI@Z
-; int __cdecl DisplayUserMessage(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,enum ERROR_SRC,long,unsigned int)
-?DisplayUserMessage@@YAHPEAUHWND__@@PEBG1W4ERROR_SRC@@JI@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-ErrorStringEx
+; 
+; Exports of file MMFUtil.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MMFUtil.DLL
+EXPORTS
+; __int64 __cdecl DisplayAVIBox(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,struct HWND__ * __ptr64 * __ptr64)
+?DisplayAVIBox@@YA_JPEAUHWND__@@PEBG1PEAPEAU1@@Z
+; int __cdecl DisplayUserMessage(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,unsigned int,unsigned int,enum ERROR_SRC,long,unsigned int)
+?DisplayUserMessage@@YAHPEAUHWND__@@PEAUHINSTANCE__@@IIW4ERROR_SRC@@JI@Z
+; int __cdecl DisplayUserMessage(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,enum ERROR_SRC,long,unsigned int)
+?DisplayUserMessage@@YAHPEAUHWND__@@PEBG1W4ERROR_SRC@@JI@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+ErrorStringEx
diff --git a/mingw-w64-crt/lib64/mmutilse.def b/mingw-w64-crt/lib64/mmutilse.def
index d62963a..f1eaad3 100644
--- a/mingw-w64-crt/lib64/mmutilse.def
+++ b/mingw-w64-crt/lib64/mmutilse.def
@@ -1,295 +1,295 @@
-; 
-; Exports of file mmutilse.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mmutilse.dll
-EXPORTS
-; public: __cdecl IHammer::CDirectDrawSurface::CDirectDrawSurface(struct HPALETTE__ * __ptr64,unsigned long,struct tagSIZE const * __ptr64,long * __ptr64) __ptr64
-??0CDirectDrawSurface@IHammer@@QEAA@PEAUHPALETTE__@@KPEBUtagSIZE@@PEAJ@Z
-; public: __cdecl CHalftone::CHalftone(struct HPALETTE__ * __ptr64) __ptr64
-??0CHalftone@@QEAA@PEAUHPALETTE__@@@Z
-; public: __cdecl CHalftonePalette::CHalftonePalette(struct HPALETTE__ * __ptr64) __ptr64
-??0CHalftonePalette@@QEAA@PEAUHPALETTE__@@@Z
-; public: __cdecl CHalftonePalette::CHalftonePalette(void) __ptr64
-??0CHalftonePalette@@QEAA@XZ
-; public: __cdecl CMemManager::CMemManager(void) __ptr64
-??0CMemManager@@QEAA@XZ
-; public: __cdecl CMemUser::CMemUser(void) __ptr64
-??0CMemUser@@QEAA@XZ
-; public: __cdecl CTStr::CTStr(class CTStr & __ptr64) __ptr64
-??0CTStr@@QEAA@AEAV0@@Z
-; public: __cdecl CTStr::CTStr(int) __ptr64
-??0CTStr@@QEAA@H@Z
-; public: __cdecl CTStr::CTStr(char * __ptr64) __ptr64
-??0CTStr@@QEAA@PEAD@Z
-; public: __cdecl CTStr::CTStr(unsigned short * __ptr64) __ptr64
-??0CTStr@@QEAA@PEAG@Z
-; public: __cdecl CURLArchive::CURLArchive(struct IUnknown * __ptr64) __ptr64
-??0CURLArchive@@QEAA@PEAUIUnknown@@@Z
-; public: __cdecl OTrig::OTrig(void) __ptr64
-??0OTrig@@QEAA@XZ
-; public: virtual __cdecl CMemManager::~CMemManager(void) __ptr64
-??1CMemManager@@UEAA@XZ
-; public: virtual __cdecl CMemUser::~CMemUser(void) __ptr64
-??1CMemUser@@UEAA@XZ
-; public: __cdecl CTStr::~CTStr(void) __ptr64
-??1CTStr@@QEAA@XZ
-; public: virtual __cdecl CURLArchive::~CURLArchive(void) __ptr64
-??1CURLArchive@@UEAA@XZ
-; public: void __cdecl CTStr::`default constructor closure'(void) __ptr64
-??_FCTStr@@QEAAXXZ
-; public: void __cdecl CURLArchive::`default constructor closure'(void) __ptr64
-??_FCURLArchive@@QEAAXXZ
-; public: void * __ptr64 __cdecl CMemManager::AllocBuffer(unsigned long,unsigned short) __ptr64
-?AllocBuffer@CMemManager@@QEAAPEAXKG@Z
-; public: struct MEMBLOCK_tag * __ptr64 __cdecl CMemUser::AllocBuffer(unsigned long,unsigned short) __ptr64
-?AllocBuffer@CMemUser@@QEAAPEAUMEMBLOCK_tag@@KG@Z
-; public: int __cdecl CTStr::AllocBuffer(int,int) __ptr64
-?AllocBuffer@CTStr@@QEAAHHH@Z
-; public: static void * __ptr64 __cdecl CMemManager::AllocBufferGlb(unsigned long,unsigned short)
-?AllocBufferGlb@CMemManager@@SAPEAXKG@Z
-; public: static int __cdecl CStringWrapper::Atoi(char const * __ptr64)
-?Atoi@CStringWrapper@@SAHPEBD@Z
-; public: static long __cdecl CStringWrapper::Atol(char const * __ptr64)
-?Atol@CStringWrapper@@SAJPEBD@Z
-; long __cdecl BitCountFromDDPIXELFORMAT(struct _DDPIXELFORMAT const & __ptr64)
-?BitCountFromDDPIXELFORMAT@@YAJAEBU_DDPIXELFORMAT@@@Z
-; public: virtual long __cdecl CURLArchive::Close(void) __ptr64
-?Close@CURLArchive@@UEAAJXZ
-; public: virtual int __cdecl CNonCollapsingDrg::CopyFrom(class CDrg * __ptr64) __ptr64
-?CopyFrom@CNonCollapsingDrg@@UEAAHPEAVCDrg@@@Z
-; public: virtual long __cdecl CURLArchive::CopyLocal(char * __ptr64,int) __ptr64
-?CopyLocal@CURLArchive@@UEAAJPEADH@Z
-; public: virtual long __cdecl CURLArchive::CopyLocal(unsigned short * __ptr64,int) __ptr64
-?CopyLocal@CURLArchive@@UEAAJPEAGH@Z
-; public: float __cdecl OTrig::Cos(long) __ptr64
-?Cos@OTrig@@QEAAMJ@Z
-; public: float __cdecl OTrig::Cos(float) __ptr64
-?Cos@OTrig@@QEAAMM@Z
-; public: static float __cdecl CMathWrapper::CosDeg(long)
-?CosDeg@CMathWrapper@@SAMJ@Z
-; public: static float __cdecl CMathWrapper::CosDeg(float)
-?CosDeg@CMathWrapper@@SAMM@Z
-; public: static float __cdecl CMathWrapper::CosDegWrap(long)
-?CosDegWrap@CMathWrapper@@SAMJ@Z
-; public: static float __cdecl CMathWrapper::CosDegWrap(float)
-?CosDegWrap@CMathWrapper@@SAMM@Z
-; public: static double __cdecl CMathWrapper::CosRad(double)
-?CosRad@CMathWrapper@@SANN@Z
-; public: float __cdecl OTrig::CosWrap(long) __ptr64
-?CosWrap@OTrig@@QEAAMJ@Z
-; public: float __cdecl OTrig::CosWrap(float) __ptr64
-?CosWrap@OTrig@@QEAAMM@Z
-; public: virtual long __cdecl CURLArchive::Create(char const * __ptr64) __ptr64
-?Create@CURLArchive@@UEAAJPEBD@Z
-; public: virtual long __cdecl CURLArchive::Create(unsigned short const * __ptr64) __ptr64
-?Create@CURLArchive@@UEAAJPEBG@Z
-; int __cdecl CreateIDispatchCollection(struct IUnknown * __ptr64 * __ptr64)
-?CreateIDispatchCollection@@YAHPEAPEAUIUnknown@@@Z
-; public: void __cdecl CMemManager::DumpAllocations(char * __ptr64) __ptr64
-?DumpAllocations@CMemManager@@QEAAXPEAD@Z
-; public: static void __cdecl CMemManager::DumpAllocationsGlb(char * __ptr64)
-?DumpAllocationsGlb@CMemManager@@SAXPEAD@Z
-; private: void __cdecl CMemManager::DumpHeapHeader(struct HEAPHEADER_tag * __ptr64,struct _iobuf * __ptr64) __ptr64
-?DumpHeapHeader@CMemManager@@AEAAXPEAUHEAPHEADER_tag@@PEAU_iobuf@@@Z
-; private: void __cdecl CMemManager::DumpMemBlock(struct MEMBLOCK_tag * __ptr64,struct _iobuf * __ptr64) __ptr64
-?DumpMemBlock@CMemManager@@AEAAXPEAUMEMBLOCK_tag@@PEAU_iobuf@@@Z
-; private: void __cdecl CMemManager::DumpMemUserInfo(struct MEMUSERINFO_tag * __ptr64,struct _iobuf * __ptr64) __ptr64
-?DumpMemUserInfo@CMemManager@@AEAAXPEAUMEMUSERINFO_tag@@PEAU_iobuf@@@Z
-; void __cdecl ExternalDumpAllocations(char * __ptr64)
-?ExternalDumpAllocations@@YAXPEAD@Z
-; public: void __cdecl CMemManager::FreeBuffer(void * __ptr64) __ptr64
-?FreeBuffer@CMemManager@@QEAAXPEAX@Z
-; public: void __cdecl CMemUser::FreeBuffer(struct MEMBLOCK_tag * __ptr64) __ptr64
-?FreeBuffer@CMemUser@@QEAAXPEAUMEMBLOCK_tag@@@Z
-; public: void __cdecl CTStr::FreeBuffer(void) __ptr64
-?FreeBuffer@CTStr@@QEAAXXZ
-; public: static void __cdecl CMemManager::FreeBufferGlb(void * __ptr64)
-?FreeBufferGlb@CMemManager@@SAXPEAX@Z
-; public: void __cdecl CMemManager::FreeBufferMemBlock(struct MEMBLOCK_tag * __ptr64) __ptr64
-?FreeBufferMemBlock@CMemManager@@QEAAXPEAUMEMBLOCK_tag@@@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Gcvt(double,int,char * __ptr64)
-?Gcvt@CStringWrapper@@SAPEADNHPEAD@Z
-; public: virtual void * __ptr64 __cdecl CNonCollapsingDrg::GetAt(long) __ptr64
-?GetAt@CNonCollapsingDrg@@UEAAPEAXJ@Z
-; public: virtual long __cdecl CURLArchive::GetFileSize(long & __ptr64) __ptr64
-?GetFileSize@CURLArchive@@UEAAJAEAJ@Z
-; public: virtual void * __ptr64 __cdecl CNonCollapsingDrg::GetFirst(void) __ptr64
-?GetFirst@CNonCollapsingDrg@@UEAAPEAXXZ
-; public: virtual void * __ptr64 __cdecl CNonCollapsingDrg::GetNext(void) __ptr64
-?GetNext@CNonCollapsingDrg@@UEAAPEAXXZ
-; unsigned long __cdecl GetSigBitsFrom16BPP(struct HDC__ * __ptr64)
-?GetSigBitsFrom16BPP@@YAKPEAUHDC__@@@Z
-; public: virtual struct IStream * __ptr64 __cdecl CURLArchive::GetStreamInterface(void)const  __ptr64
-?GetStreamInterface@CURLArchive@@UEBAPEAUIStream@@XZ
-; public: virtual int __cdecl CDrg::Insert(void * __ptr64,long) __ptr64
-?Insert@CDrg@@UEAAHPEAXJ@Z
-; int __cdecl IsMMXCpu(void)
-?IsMMXCpu@@YAHXZ
-; public: static int __cdecl CStringWrapper::Iswspace(unsigned short)
-?Iswspace@CStringWrapper@@SAHG@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Itoa(int,char * __ptr64,int)
-?Itoa@CStringWrapper@@SAPEADHPEADH@Z
-; public: int __cdecl CTStr::Len(void) __ptr64
-?Len@CTStr@@QEAAHXZ
-; public: static int __cdecl CStringWrapper::LoadStringW(struct HINSTANCE__ * __ptr64,unsigned int,unsigned short * __ptr64,int)
-?LoadStringW@CStringWrapper@@SAHPEAUHINSTANCE__@@IPEAGH@Z
-; public: void * __ptr64 __cdecl CMemUser::LockBuffer(struct MEMBLOCK_tag * __ptr64) __ptr64
-?LockBuffer@CMemUser@@QEAAPEAXPEAUMEMBLOCK_tag@@@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Ltoa(long,char * __ptr64,int)
-?Ltoa@CStringWrapper@@SAPEADJPEADH@Z
-; public: static unsigned __int64 __cdecl CStringWrapper::Mbstowcs(unsigned short * __ptr64,char const * __ptr64,unsigned __int64)
-?Mbstowcs@CStringWrapper@@SA_KPEAGPEBD_K@Z
-; public: static int __cdecl CStringWrapper::Memcmp(void const * __ptr64,void const * __ptr64,unsigned __int64)
-?Memcmp@CStringWrapper@@SAHPEBX0_K@Z
-; public: static void * __ptr64 __cdecl CStringWrapper::Memcpy(void * __ptr64,void const * __ptr64,unsigned __int64)
-?Memcpy@CStringWrapper@@SAPEAXPEAXPEBX_K@Z
-; public: static void * __ptr64 __cdecl CStringWrapper::Memset(void * __ptr64,int,unsigned __int64)
-?Memset@CStringWrapper@@SAPEAXPEAXH_K@Z
-; public: virtual int __cdecl CMemUser::NotifyMemUser(struct MEMNOTIFY_tag * __ptr64) __ptr64
-?NotifyMemUser@CMemUser@@UEAAHPEAUMEMNOTIFY_tag@@@Z
-; unsigned long __cdecl OverheadOfSavePtrDrg(void)
-?OverheadOfSavePtrDrg@@YAKXZ
-; public: static float __cdecl CMathWrapper::Pow(double,double)
-?Pow@CMathWrapper@@SAMNN@Z
-; public: void * __ptr64 __cdecl CMemManager::ReAllocBuffer(void * __ptr64,unsigned long,unsigned short) __ptr64
-?ReAllocBuffer@CMemManager@@QEAAPEAXPEAXKG@Z
-; public: static void * __ptr64 __cdecl CMemManager::ReAllocBufferGlb(void * __ptr64,unsigned long,unsigned short)
-?ReAllocBufferGlb@CMemManager@@SAPEAXPEAXKG@Z
-; public: virtual unsigned long __cdecl CURLArchive::Read(unsigned char * __ptr64,unsigned long) __ptr64
-?Read@CURLArchive@@UEAAKPEAEK@Z
-; long __cdecl ReadBstrFromPropBag(struct IPropertyBag * __ptr64,struct IErrorLog * __ptr64,char * __ptr64,unsigned short * __ptr64 * __ptr64)
-?ReadBstrFromPropBag@@YAJPEAUIPropertyBag@@PEAUIErrorLog@@PEADPEAPEAG@Z
-; public: virtual unsigned long __cdecl CURLArchive::ReadLine(char * __ptr64,unsigned long) __ptr64
-?ReadLine@CURLArchive@@UEAAKPEADK@Z
-; public: virtual unsigned long __cdecl CURLArchive::ReadLine(unsigned short * __ptr64,unsigned long) __ptr64
-?ReadLine@CURLArchive@@UEAAKPEAGK@Z
-; long __cdecl ReadLongFromPropBag(struct IPropertyBag * __ptr64,struct IErrorLog * __ptr64,char * __ptr64,long * __ptr64)
-?ReadLongFromPropBag@@YAJPEAUIPropertyBag@@PEAUIErrorLog@@PEADPEAJ@Z
-; public: int __cdecl CMemManager::RegisterMemUser(class CMemUser * __ptr64) __ptr64
-?RegisterMemUser@CMemManager@@QEAAHPEAVCMemUser@@@Z
-; public: static int __cdecl CMemManager::RegisterMemUserGlb(class CMemUser * __ptr64)
-?RegisterMemUserGlb@CMemManager@@SAHPEAVCMemUser@@@Z
-; public: virtual int __cdecl CDrg::Remove(void * __ptr64,long) __ptr64
-?Remove@CDrg@@UEAAHPEAXJ@Z
-; public: virtual int __cdecl CNonCollapsingDrg::Remove(void * __ptr64,long) __ptr64
-?Remove@CNonCollapsingDrg@@UEAAHPEAXJ@Z
-; public: void __cdecl CTStr::ResetLength(void) __ptr64
-?ResetLength@CTStr@@QEAAXXZ
-; void __cdecl RetailEcho(char * __ptr64,...)
-?RetailEcho@@YAXPEADZZ
-; public: virtual long __cdecl CURLArchive::Seek(long,enum CURLArchive::origin) __ptr64
-?Seek@CURLArchive@@UEAAJJW4origin@1@@Z
-; public: virtual void __cdecl CNonCollapsingDrg::SetArray(unsigned char * __ptr64,long,unsigned int) __ptr64
-?SetArray@CNonCollapsingDrg@@UEAAXPEAEJI@Z
-; public: virtual int __cdecl CNonCollapsingDrg::SetAt(void * __ptr64,long) __ptr64
-?SetAt@CNonCollapsingDrg@@UEAAHPEAXJ@Z
-; public: virtual void __cdecl CDrg::SetNonDefaultSizes(unsigned int,unsigned int) __ptr64
-?SetNonDefaultSizes@CDrg@@UEAAXII@Z
-; public: int __cdecl CTStr::SetString(char * __ptr64) __ptr64
-?SetString@CTStr@@QEAAHPEAD@Z
-; public: int __cdecl CTStr::SetString(unsigned short * __ptr64) __ptr64
-?SetString@CTStr@@QEAAHPEAG@Z
-; public: int __cdecl CTStr::SetStringPointer(char * __ptr64,int) __ptr64
-?SetStringPointer@CTStr@@QEAAHPEADH@Z
-; public: float __cdecl OTrig::Sin(long) __ptr64
-?Sin@OTrig@@QEAAMJ@Z
-; public: float __cdecl OTrig::Sin(float) __ptr64
-?Sin@OTrig@@QEAAMM@Z
-; public: static float __cdecl CMathWrapper::SinDeg(long)
-?SinDeg@CMathWrapper@@SAMJ@Z
-; public: static float __cdecl CMathWrapper::SinDeg(float)
-?SinDeg@CMathWrapper@@SAMM@Z
-; public: static float __cdecl CMathWrapper::SinDegWrap(long)
-?SinDegWrap@CMathWrapper@@SAMJ@Z
-; public: static float __cdecl CMathWrapper::SinDegWrap(float)
-?SinDegWrap@CMathWrapper@@SAMM@Z
-; public: static double __cdecl CMathWrapper::SinRad(double)
-?SinRad@CMathWrapper@@SANN@Z
-; public: float __cdecl OTrig::SinWrap(long) __ptr64
-?SinWrap@OTrig@@QEAAMJ@Z
-; public: float __cdecl OTrig::SinWrap(float) __ptr64
-?SinWrap@OTrig@@QEAAMM@Z
-; public: unsigned long __cdecl CMemManager::SizeBuffer(void * __ptr64) __ptr64
-?SizeBuffer@CMemManager@@QEAAKPEAX@Z
-; public: static unsigned long __cdecl CMemManager::SizeBufferGlb(void * __ptr64)
-?SizeBufferGlb@CMemManager@@SAKPEAX@Z
-; public: static int __cdecl CStringWrapper::Sprintf(char * __ptr64,char const * __ptr64,...)
-?Sprintf@CStringWrapper@@SAHPEADPEBDZZ
-; public: static float __cdecl CMathWrapper::Sqrt(float)
-?Sqrt@CMathWrapper@@SAMM@Z
-; public: static int __cdecl CStringWrapper::Sscanf1(char const * __ptr64,char const * __ptr64,void * __ptr64)
-?Sscanf1@CStringWrapper@@SAHPEBD0PEAX@Z
-; public: static int __cdecl CStringWrapper::Sscanf2(char const * __ptr64,char const * __ptr64,void * __ptr64,void * __ptr64)
-?Sscanf2@CStringWrapper@@SAHPEBD0PEAX1@Z
-; public: static int __cdecl CStringWrapper::Sscanf3(char const * __ptr64,char const * __ptr64,void * __ptr64,void * __ptr64,void * __ptr64)
-?Sscanf3@CStringWrapper@@SAHPEBD0PEAX11@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Strcat(char * __ptr64,char const * __ptr64)
-?Strcat@CStringWrapper@@SAPEADPEADPEBD@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Strchr(char const * __ptr64,char)
-?Strchr@CStringWrapper@@SAPEADPEBDD@Z
-; public: static int __cdecl CStringWrapper::Strcmp(char const * __ptr64,char const * __ptr64)
-?Strcmp@CStringWrapper@@SAHPEBD0@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Strcpy(char * __ptr64,char const * __ptr64)
-?Strcpy@CStringWrapper@@SAPEADPEADPEBD@Z
-; public: static int __cdecl CStringWrapper::Stricmp(char const * __ptr64,char const * __ptr64)
-?Stricmp@CStringWrapper@@SAHPEBD0@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Strinc(char const * __ptr64)
-?Strinc@CStringWrapper@@SAPEADPEBD@Z
-; public: static int __cdecl CStringWrapper::Strlen(char const * __ptr64)
-?Strlen@CStringWrapper@@SAHPEBD@Z
-; public: static int __cdecl CStringWrapper::Strncmp(char const * __ptr64,char const * __ptr64,unsigned __int64)
-?Strncmp@CStringWrapper@@SAHPEBD0_K@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Strncpy(char * __ptr64,char const * __ptr64,unsigned __int64)
-?Strncpy@CStringWrapper@@SAPEADPEADPEBD_K@Z
-; public: static int __cdecl CStringWrapper::Strnicmp(char const * __ptr64,char const * __ptr64,unsigned __int64)
-?Strnicmp@CStringWrapper@@SAHPEBD0_K@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Strrchr(char const * __ptr64,char)
-?Strrchr@CStringWrapper@@SAPEADPEBDD@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Strstr(char const * __ptr64,char const * __ptr64)
-?Strstr@CStringWrapper@@SAPEADPEBD0@Z
-; public: static char * __ptr64 __cdecl CStringWrapper::Strtok(char * __ptr64,char const * __ptr64)
-?Strtok@CStringWrapper@@SAPEADPEADPEBD@Z
-; public: unsigned short * __ptr64 __cdecl CTStr::SysAllocString(void) __ptr64
-?SysAllocString@CTStr@@QEAAPEAGXZ
-; public: void __cdecl CMemUser::UnLockBuffer(struct MEMBLOCK_tag * __ptr64) __ptr64
-?UnLockBuffer@CMemUser@@QEAAXPEAUMEMBLOCK_tag@@@Z
-; public: int __cdecl CMemManager::UnRegisterMemUser(class CMemUser * __ptr64) __ptr64
-?UnRegisterMemUser@CMemManager@@QEAAHPEAVCMemUser@@@Z
-; public: static int __cdecl CMemManager::UnRegisterMemUserGlb(class CMemUser * __ptr64)
-?UnRegisterMemUserGlb@CMemManager@@SAHPEAVCMemUser@@@Z
-; public: static int __cdecl CStringWrapper::WStrCmpin(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned __int64)
-?WStrCmpin@CStringWrapper@@SAHPEBG0_K@Z
-; public: static unsigned short * __ptr64 __cdecl CStringWrapper::WStrcat(unsigned short * __ptr64,unsigned short const * __ptr64)
-?WStrcat@CStringWrapper@@SAPEAGPEAGPEBG@Z
-; public: static unsigned short * __ptr64 __cdecl CStringWrapper::WStrcpy(unsigned short * __ptr64,unsigned short const * __ptr64)
-?WStrcpy@CStringWrapper@@SAPEAGPEAGPEBG@Z
-; public: static int __cdecl CStringWrapper::WStrlen(unsigned short const * __ptr64)
-?WStrlen@CStringWrapper@@SAHPEBG@Z
-; public: static unsigned short * __ptr64 __cdecl CStringWrapper::WStrncpy(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned __int64)
-?WStrncpy@CStringWrapper@@SAPEAGPEAGPEBG_K@Z
-; public: static unsigned __int64 __cdecl CStringWrapper::Wcstombs(char * __ptr64,unsigned short const * __ptr64,unsigned __int64)
-?Wcstombs@CStringWrapper@@SA_KPEADPEBG_K@Z
-; public: virtual unsigned long __cdecl CURLArchive::Write(unsigned char * __ptr64,unsigned long) __ptr64
-?Write@CURLArchive@@UEAAKPEAEK@Z
-; long __cdecl WriteBstrToPropBag(struct IPropertyBag * __ptr64,char * __ptr64,unsigned short * __ptr64)
-?WriteBstrToPropBag@@YAJPEAUIPropertyBag@@PEADPEAG@Z
-; long __cdecl WriteLongToPropBag(struct IPropertyBag * __ptr64,char * __ptr64,long)
-?WriteLongToPropBag@@YAJPEAUIPropertyBag@@PEADJ@Z
-; public: char * __ptr64 __cdecl CTStr::psz(void) __ptr64
-?psz@CTStr@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl CTStr::pszA(void) __ptr64
-?pszA@CTStr@@QEAAPEADXZ
-; public: unsigned short * __ptr64 __cdecl CTStr::pszW(void) __ptr64
-?pszW@CTStr@@QEAAPEAGXZ
-_wcsicmp
-_wtoi
-fmod
-memcmp
-memset
-setlocale
-strcpy
-strlen
-swprintf
+; 
+; Exports of file mmutilse.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mmutilse.dll
+EXPORTS
+; public: __cdecl IHammer::CDirectDrawSurface::CDirectDrawSurface(struct HPALETTE__ * __ptr64,unsigned long,struct tagSIZE const * __ptr64,long * __ptr64) __ptr64
+??0CDirectDrawSurface@IHammer@@QEAA@PEAUHPALETTE__@@KPEBUtagSIZE@@PEAJ@Z
+; public: __cdecl CHalftone::CHalftone(struct HPALETTE__ * __ptr64) __ptr64
+??0CHalftone@@QEAA@PEAUHPALETTE__@@@Z
+; public: __cdecl CHalftonePalette::CHalftonePalette(struct HPALETTE__ * __ptr64) __ptr64
+??0CHalftonePalette@@QEAA@PEAUHPALETTE__@@@Z
+; public: __cdecl CHalftonePalette::CHalftonePalette(void) __ptr64
+??0CHalftonePalette@@QEAA@XZ
+; public: __cdecl CMemManager::CMemManager(void) __ptr64
+??0CMemManager@@QEAA@XZ
+; public: __cdecl CMemUser::CMemUser(void) __ptr64
+??0CMemUser@@QEAA@XZ
+; public: __cdecl CTStr::CTStr(class CTStr & __ptr64) __ptr64
+??0CTStr@@QEAA@AEAV0@@Z
+; public: __cdecl CTStr::CTStr(int) __ptr64
+??0CTStr@@QEAA@H@Z
+; public: __cdecl CTStr::CTStr(char * __ptr64) __ptr64
+??0CTStr@@QEAA@PEAD@Z
+; public: __cdecl CTStr::CTStr(unsigned short * __ptr64) __ptr64
+??0CTStr@@QEAA@PEAG@Z
+; public: __cdecl CURLArchive::CURLArchive(struct IUnknown * __ptr64) __ptr64
+??0CURLArchive@@QEAA@PEAUIUnknown@@@Z
+; public: __cdecl OTrig::OTrig(void) __ptr64
+??0OTrig@@QEAA@XZ
+; public: virtual __cdecl CMemManager::~CMemManager(void) __ptr64
+??1CMemManager@@UEAA@XZ
+; public: virtual __cdecl CMemUser::~CMemUser(void) __ptr64
+??1CMemUser@@UEAA@XZ
+; public: __cdecl CTStr::~CTStr(void) __ptr64
+??1CTStr@@QEAA@XZ
+; public: virtual __cdecl CURLArchive::~CURLArchive(void) __ptr64
+??1CURLArchive@@UEAA@XZ
+; public: void __cdecl CTStr::`default constructor closure'(void) __ptr64
+??_FCTStr@@QEAAXXZ
+; public: void __cdecl CURLArchive::`default constructor closure'(void) __ptr64
+??_FCURLArchive@@QEAAXXZ
+; public: void * __ptr64 __cdecl CMemManager::AllocBuffer(unsigned long,unsigned short) __ptr64
+?AllocBuffer@CMemManager@@QEAAPEAXKG@Z
+; public: struct MEMBLOCK_tag * __ptr64 __cdecl CMemUser::AllocBuffer(unsigned long,unsigned short) __ptr64
+?AllocBuffer@CMemUser@@QEAAPEAUMEMBLOCK_tag@@KG@Z
+; public: int __cdecl CTStr::AllocBuffer(int,int) __ptr64
+?AllocBuffer@CTStr@@QEAAHHH@Z
+; public: static void * __ptr64 __cdecl CMemManager::AllocBufferGlb(unsigned long,unsigned short)
+?AllocBufferGlb@CMemManager@@SAPEAXKG@Z
+; public: static int __cdecl CStringWrapper::Atoi(char const * __ptr64)
+?Atoi@CStringWrapper@@SAHPEBD@Z
+; public: static long __cdecl CStringWrapper::Atol(char const * __ptr64)
+?Atol@CStringWrapper@@SAJPEBD@Z
+; long __cdecl BitCountFromDDPIXELFORMAT(struct _DDPIXELFORMAT const & __ptr64)
+?BitCountFromDDPIXELFORMAT@@YAJAEBU_DDPIXELFORMAT@@@Z
+; public: virtual long __cdecl CURLArchive::Close(void) __ptr64
+?Close@CURLArchive@@UEAAJXZ
+; public: virtual int __cdecl CNonCollapsingDrg::CopyFrom(class CDrg * __ptr64) __ptr64
+?CopyFrom@CNonCollapsingDrg@@UEAAHPEAVCDrg@@@Z
+; public: virtual long __cdecl CURLArchive::CopyLocal(char * __ptr64,int) __ptr64
+?CopyLocal@CURLArchive@@UEAAJPEADH@Z
+; public: virtual long __cdecl CURLArchive::CopyLocal(unsigned short * __ptr64,int) __ptr64
+?CopyLocal@CURLArchive@@UEAAJPEAGH@Z
+; public: float __cdecl OTrig::Cos(long) __ptr64
+?Cos@OTrig@@QEAAMJ@Z
+; public: float __cdecl OTrig::Cos(float) __ptr64
+?Cos@OTrig@@QEAAMM@Z
+; public: static float __cdecl CMathWrapper::CosDeg(long)
+?CosDeg@CMathWrapper@@SAMJ@Z
+; public: static float __cdecl CMathWrapper::CosDeg(float)
+?CosDeg@CMathWrapper@@SAMM@Z
+; public: static float __cdecl CMathWrapper::CosDegWrap(long)
+?CosDegWrap@CMathWrapper@@SAMJ@Z
+; public: static float __cdecl CMathWrapper::CosDegWrap(float)
+?CosDegWrap@CMathWrapper@@SAMM@Z
+; public: static double __cdecl CMathWrapper::CosRad(double)
+?CosRad@CMathWrapper@@SANN@Z
+; public: float __cdecl OTrig::CosWrap(long) __ptr64
+?CosWrap@OTrig@@QEAAMJ@Z
+; public: float __cdecl OTrig::CosWrap(float) __ptr64
+?CosWrap@OTrig@@QEAAMM@Z
+; public: virtual long __cdecl CURLArchive::Create(char const * __ptr64) __ptr64
+?Create@CURLArchive@@UEAAJPEBD@Z
+; public: virtual long __cdecl CURLArchive::Create(unsigned short const * __ptr64) __ptr64
+?Create@CURLArchive@@UEAAJPEBG@Z
+; int __cdecl CreateIDispatchCollection(struct IUnknown * __ptr64 * __ptr64)
+?CreateIDispatchCollection@@YAHPEAPEAUIUnknown@@@Z
+; public: void __cdecl CMemManager::DumpAllocations(char * __ptr64) __ptr64
+?DumpAllocations@CMemManager@@QEAAXPEAD@Z
+; public: static void __cdecl CMemManager::DumpAllocationsGlb(char * __ptr64)
+?DumpAllocationsGlb@CMemManager@@SAXPEAD@Z
+; private: void __cdecl CMemManager::DumpHeapHeader(struct HEAPHEADER_tag * __ptr64,struct _iobuf * __ptr64) __ptr64
+?DumpHeapHeader@CMemManager@@AEAAXPEAUHEAPHEADER_tag@@PEAU_iobuf@@@Z
+; private: void __cdecl CMemManager::DumpMemBlock(struct MEMBLOCK_tag * __ptr64,struct _iobuf * __ptr64) __ptr64
+?DumpMemBlock@CMemManager@@AEAAXPEAUMEMBLOCK_tag@@PEAU_iobuf@@@Z
+; private: void __cdecl CMemManager::DumpMemUserInfo(struct MEMUSERINFO_tag * __ptr64,struct _iobuf * __ptr64) __ptr64
+?DumpMemUserInfo@CMemManager@@AEAAXPEAUMEMUSERINFO_tag@@PEAU_iobuf@@@Z
+; void __cdecl ExternalDumpAllocations(char * __ptr64)
+?ExternalDumpAllocations@@YAXPEAD@Z
+; public: void __cdecl CMemManager::FreeBuffer(void * __ptr64) __ptr64
+?FreeBuffer@CMemManager@@QEAAXPEAX@Z
+; public: void __cdecl CMemUser::FreeBuffer(struct MEMBLOCK_tag * __ptr64) __ptr64
+?FreeBuffer@CMemUser@@QEAAXPEAUMEMBLOCK_tag@@@Z
+; public: void __cdecl CTStr::FreeBuffer(void) __ptr64
+?FreeBuffer@CTStr@@QEAAXXZ
+; public: static void __cdecl CMemManager::FreeBufferGlb(void * __ptr64)
+?FreeBufferGlb@CMemManager@@SAXPEAX@Z
+; public: void __cdecl CMemManager::FreeBufferMemBlock(struct MEMBLOCK_tag * __ptr64) __ptr64
+?FreeBufferMemBlock@CMemManager@@QEAAXPEAUMEMBLOCK_tag@@@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Gcvt(double,int,char * __ptr64)
+?Gcvt@CStringWrapper@@SAPEADNHPEAD@Z
+; public: virtual void * __ptr64 __cdecl CNonCollapsingDrg::GetAt(long) __ptr64
+?GetAt@CNonCollapsingDrg@@UEAAPEAXJ@Z
+; public: virtual long __cdecl CURLArchive::GetFileSize(long & __ptr64) __ptr64
+?GetFileSize@CURLArchive@@UEAAJAEAJ@Z
+; public: virtual void * __ptr64 __cdecl CNonCollapsingDrg::GetFirst(void) __ptr64
+?GetFirst@CNonCollapsingDrg@@UEAAPEAXXZ
+; public: virtual void * __ptr64 __cdecl CNonCollapsingDrg::GetNext(void) __ptr64
+?GetNext@CNonCollapsingDrg@@UEAAPEAXXZ
+; unsigned long __cdecl GetSigBitsFrom16BPP(struct HDC__ * __ptr64)
+?GetSigBitsFrom16BPP@@YAKPEAUHDC__@@@Z
+; public: virtual struct IStream * __ptr64 __cdecl CURLArchive::GetStreamInterface(void)const  __ptr64
+?GetStreamInterface@CURLArchive@@UEBAPEAUIStream@@XZ
+; public: virtual int __cdecl CDrg::Insert(void * __ptr64,long) __ptr64
+?Insert@CDrg@@UEAAHPEAXJ@Z
+; int __cdecl IsMMXCpu(void)
+?IsMMXCpu@@YAHXZ
+; public: static int __cdecl CStringWrapper::Iswspace(unsigned short)
+?Iswspace@CStringWrapper@@SAHG@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Itoa(int,char * __ptr64,int)
+?Itoa@CStringWrapper@@SAPEADHPEADH@Z
+; public: int __cdecl CTStr::Len(void) __ptr64
+?Len@CTStr@@QEAAHXZ
+; public: static int __cdecl CStringWrapper::LoadStringW(struct HINSTANCE__ * __ptr64,unsigned int,unsigned short * __ptr64,int)
+?LoadStringW@CStringWrapper@@SAHPEAUHINSTANCE__@@IPEAGH@Z
+; public: void * __ptr64 __cdecl CMemUser::LockBuffer(struct MEMBLOCK_tag * __ptr64) __ptr64
+?LockBuffer@CMemUser@@QEAAPEAXPEAUMEMBLOCK_tag@@@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Ltoa(long,char * __ptr64,int)
+?Ltoa@CStringWrapper@@SAPEADJPEADH@Z
+; public: static unsigned __int64 __cdecl CStringWrapper::Mbstowcs(unsigned short * __ptr64,char const * __ptr64,unsigned __int64)
+?Mbstowcs@CStringWrapper@@SA_KPEAGPEBD_K@Z
+; public: static int __cdecl CStringWrapper::Memcmp(void const * __ptr64,void const * __ptr64,unsigned __int64)
+?Memcmp@CStringWrapper@@SAHPEBX0_K@Z
+; public: static void * __ptr64 __cdecl CStringWrapper::Memcpy(void * __ptr64,void const * __ptr64,unsigned __int64)
+?Memcpy@CStringWrapper@@SAPEAXPEAXPEBX_K@Z
+; public: static void * __ptr64 __cdecl CStringWrapper::Memset(void * __ptr64,int,unsigned __int64)
+?Memset@CStringWrapper@@SAPEAXPEAXH_K@Z
+; public: virtual int __cdecl CMemUser::NotifyMemUser(struct MEMNOTIFY_tag * __ptr64) __ptr64
+?NotifyMemUser@CMemUser@@UEAAHPEAUMEMNOTIFY_tag@@@Z
+; unsigned long __cdecl OverheadOfSavePtrDrg(void)
+?OverheadOfSavePtrDrg@@YAKXZ
+; public: static float __cdecl CMathWrapper::Pow(double,double)
+?Pow@CMathWrapper@@SAMNN@Z
+; public: void * __ptr64 __cdecl CMemManager::ReAllocBuffer(void * __ptr64,unsigned long,unsigned short) __ptr64
+?ReAllocBuffer@CMemManager@@QEAAPEAXPEAXKG@Z
+; public: static void * __ptr64 __cdecl CMemManager::ReAllocBufferGlb(void * __ptr64,unsigned long,unsigned short)
+?ReAllocBufferGlb@CMemManager@@SAPEAXPEAXKG@Z
+; public: virtual unsigned long __cdecl CURLArchive::Read(unsigned char * __ptr64,unsigned long) __ptr64
+?Read@CURLArchive@@UEAAKPEAEK@Z
+; long __cdecl ReadBstrFromPropBag(struct IPropertyBag * __ptr64,struct IErrorLog * __ptr64,char * __ptr64,unsigned short * __ptr64 * __ptr64)
+?ReadBstrFromPropBag@@YAJPEAUIPropertyBag@@PEAUIErrorLog@@PEADPEAPEAG@Z
+; public: virtual unsigned long __cdecl CURLArchive::ReadLine(char * __ptr64,unsigned long) __ptr64
+?ReadLine@CURLArchive@@UEAAKPEADK@Z
+; public: virtual unsigned long __cdecl CURLArchive::ReadLine(unsigned short * __ptr64,unsigned long) __ptr64
+?ReadLine@CURLArchive@@UEAAKPEAGK@Z
+; long __cdecl ReadLongFromPropBag(struct IPropertyBag * __ptr64,struct IErrorLog * __ptr64,char * __ptr64,long * __ptr64)
+?ReadLongFromPropBag@@YAJPEAUIPropertyBag@@PEAUIErrorLog@@PEADPEAJ@Z
+; public: int __cdecl CMemManager::RegisterMemUser(class CMemUser * __ptr64) __ptr64
+?RegisterMemUser@CMemManager@@QEAAHPEAVCMemUser@@@Z
+; public: static int __cdecl CMemManager::RegisterMemUserGlb(class CMemUser * __ptr64)
+?RegisterMemUserGlb@CMemManager@@SAHPEAVCMemUser@@@Z
+; public: virtual int __cdecl CDrg::Remove(void * __ptr64,long) __ptr64
+?Remove@CDrg@@UEAAHPEAXJ@Z
+; public: virtual int __cdecl CNonCollapsingDrg::Remove(void * __ptr64,long) __ptr64
+?Remove@CNonCollapsingDrg@@UEAAHPEAXJ@Z
+; public: void __cdecl CTStr::ResetLength(void) __ptr64
+?ResetLength@CTStr@@QEAAXXZ
+; void __cdecl RetailEcho(char * __ptr64,...)
+?RetailEcho@@YAXPEADZZ
+; public: virtual long __cdecl CURLArchive::Seek(long,enum CURLArchive::origin) __ptr64
+?Seek@CURLArchive@@UEAAJJW4origin@1@@Z
+; public: virtual void __cdecl CNonCollapsingDrg::SetArray(unsigned char * __ptr64,long,unsigned int) __ptr64
+?SetArray@CNonCollapsingDrg@@UEAAXPEAEJI@Z
+; public: virtual int __cdecl CNonCollapsingDrg::SetAt(void * __ptr64,long) __ptr64
+?SetAt@CNonCollapsingDrg@@UEAAHPEAXJ@Z
+; public: virtual void __cdecl CDrg::SetNonDefaultSizes(unsigned int,unsigned int) __ptr64
+?SetNonDefaultSizes@CDrg@@UEAAXII@Z
+; public: int __cdecl CTStr::SetString(char * __ptr64) __ptr64
+?SetString@CTStr@@QEAAHPEAD@Z
+; public: int __cdecl CTStr::SetString(unsigned short * __ptr64) __ptr64
+?SetString@CTStr@@QEAAHPEAG@Z
+; public: int __cdecl CTStr::SetStringPointer(char * __ptr64,int) __ptr64
+?SetStringPointer@CTStr@@QEAAHPEADH@Z
+; public: float __cdecl OTrig::Sin(long) __ptr64
+?Sin@OTrig@@QEAAMJ@Z
+; public: float __cdecl OTrig::Sin(float) __ptr64
+?Sin@OTrig@@QEAAMM@Z
+; public: static float __cdecl CMathWrapper::SinDeg(long)
+?SinDeg@CMathWrapper@@SAMJ@Z
+; public: static float __cdecl CMathWrapper::SinDeg(float)
+?SinDeg@CMathWrapper@@SAMM@Z
+; public: static float __cdecl CMathWrapper::SinDegWrap(long)
+?SinDegWrap@CMathWrapper@@SAMJ@Z
+; public: static float __cdecl CMathWrapper::SinDegWrap(float)
+?SinDegWrap@CMathWrapper@@SAMM@Z
+; public: static double __cdecl CMathWrapper::SinRad(double)
+?SinRad@CMathWrapper@@SANN@Z
+; public: float __cdecl OTrig::SinWrap(long) __ptr64
+?SinWrap@OTrig@@QEAAMJ@Z
+; public: float __cdecl OTrig::SinWrap(float) __ptr64
+?SinWrap@OTrig@@QEAAMM@Z
+; public: unsigned long __cdecl CMemManager::SizeBuffer(void * __ptr64) __ptr64
+?SizeBuffer@CMemManager@@QEAAKPEAX@Z
+; public: static unsigned long __cdecl CMemManager::SizeBufferGlb(void * __ptr64)
+?SizeBufferGlb@CMemManager@@SAKPEAX@Z
+; public: static int __cdecl CStringWrapper::Sprintf(char * __ptr64,char const * __ptr64,...)
+?Sprintf@CStringWrapper@@SAHPEADPEBDZZ
+; public: static float __cdecl CMathWrapper::Sqrt(float)
+?Sqrt@CMathWrapper@@SAMM@Z
+; public: static int __cdecl CStringWrapper::Sscanf1(char const * __ptr64,char const * __ptr64,void * __ptr64)
+?Sscanf1@CStringWrapper@@SAHPEBD0PEAX@Z
+; public: static int __cdecl CStringWrapper::Sscanf2(char const * __ptr64,char const * __ptr64,void * __ptr64,void * __ptr64)
+?Sscanf2@CStringWrapper@@SAHPEBD0PEAX1@Z
+; public: static int __cdecl CStringWrapper::Sscanf3(char const * __ptr64,char const * __ptr64,void * __ptr64,void * __ptr64,void * __ptr64)
+?Sscanf3@CStringWrapper@@SAHPEBD0PEAX11@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Strcat(char * __ptr64,char const * __ptr64)
+?Strcat@CStringWrapper@@SAPEADPEADPEBD@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Strchr(char const * __ptr64,char)
+?Strchr@CStringWrapper@@SAPEADPEBDD@Z
+; public: static int __cdecl CStringWrapper::Strcmp(char const * __ptr64,char const * __ptr64)
+?Strcmp@CStringWrapper@@SAHPEBD0@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Strcpy(char * __ptr64,char const * __ptr64)
+?Strcpy@CStringWrapper@@SAPEADPEADPEBD@Z
+; public: static int __cdecl CStringWrapper::Stricmp(char const * __ptr64,char const * __ptr64)
+?Stricmp@CStringWrapper@@SAHPEBD0@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Strinc(char const * __ptr64)
+?Strinc@CStringWrapper@@SAPEADPEBD@Z
+; public: static int __cdecl CStringWrapper::Strlen(char const * __ptr64)
+?Strlen@CStringWrapper@@SAHPEBD@Z
+; public: static int __cdecl CStringWrapper::Strncmp(char const * __ptr64,char const * __ptr64,unsigned __int64)
+?Strncmp@CStringWrapper@@SAHPEBD0_K@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Strncpy(char * __ptr64,char const * __ptr64,unsigned __int64)
+?Strncpy@CStringWrapper@@SAPEADPEADPEBD_K@Z
+; public: static int __cdecl CStringWrapper::Strnicmp(char const * __ptr64,char const * __ptr64,unsigned __int64)
+?Strnicmp@CStringWrapper@@SAHPEBD0_K@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Strrchr(char const * __ptr64,char)
+?Strrchr@CStringWrapper@@SAPEADPEBDD@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Strstr(char const * __ptr64,char const * __ptr64)
+?Strstr@CStringWrapper@@SAPEADPEBD0@Z
+; public: static char * __ptr64 __cdecl CStringWrapper::Strtok(char * __ptr64,char const * __ptr64)
+?Strtok@CStringWrapper@@SAPEADPEADPEBD@Z
+; public: unsigned short * __ptr64 __cdecl CTStr::SysAllocString(void) __ptr64
+?SysAllocString@CTStr@@QEAAPEAGXZ
+; public: void __cdecl CMemUser::UnLockBuffer(struct MEMBLOCK_tag * __ptr64) __ptr64
+?UnLockBuffer@CMemUser@@QEAAXPEAUMEMBLOCK_tag@@@Z
+; public: int __cdecl CMemManager::UnRegisterMemUser(class CMemUser * __ptr64) __ptr64
+?UnRegisterMemUser@CMemManager@@QEAAHPEAVCMemUser@@@Z
+; public: static int __cdecl CMemManager::UnRegisterMemUserGlb(class CMemUser * __ptr64)
+?UnRegisterMemUserGlb@CMemManager@@SAHPEAVCMemUser@@@Z
+; public: static int __cdecl CStringWrapper::WStrCmpin(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned __int64)
+?WStrCmpin@CStringWrapper@@SAHPEBG0_K@Z
+; public: static unsigned short * __ptr64 __cdecl CStringWrapper::WStrcat(unsigned short * __ptr64,unsigned short const * __ptr64)
+?WStrcat@CStringWrapper@@SAPEAGPEAGPEBG@Z
+; public: static unsigned short * __ptr64 __cdecl CStringWrapper::WStrcpy(unsigned short * __ptr64,unsigned short const * __ptr64)
+?WStrcpy@CStringWrapper@@SAPEAGPEAGPEBG@Z
+; public: static int __cdecl CStringWrapper::WStrlen(unsigned short const * __ptr64)
+?WStrlen@CStringWrapper@@SAHPEBG@Z
+; public: static unsigned short * __ptr64 __cdecl CStringWrapper::WStrncpy(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned __int64)
+?WStrncpy@CStringWrapper@@SAPEAGPEAGPEBG_K@Z
+; public: static unsigned __int64 __cdecl CStringWrapper::Wcstombs(char * __ptr64,unsigned short const * __ptr64,unsigned __int64)
+?Wcstombs@CStringWrapper@@SA_KPEADPEBG_K@Z
+; public: virtual unsigned long __cdecl CURLArchive::Write(unsigned char * __ptr64,unsigned long) __ptr64
+?Write@CURLArchive@@UEAAKPEAEK@Z
+; long __cdecl WriteBstrToPropBag(struct IPropertyBag * __ptr64,char * __ptr64,unsigned short * __ptr64)
+?WriteBstrToPropBag@@YAJPEAUIPropertyBag@@PEADPEAG@Z
+; long __cdecl WriteLongToPropBag(struct IPropertyBag * __ptr64,char * __ptr64,long)
+?WriteLongToPropBag@@YAJPEAUIPropertyBag@@PEADJ@Z
+; public: char * __ptr64 __cdecl CTStr::psz(void) __ptr64
+?psz@CTStr@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl CTStr::pszA(void) __ptr64
+?pszA@CTStr@@QEAAPEADXZ
+; public: unsigned short * __ptr64 __cdecl CTStr::pszW(void) __ptr64
+?pszW@CTStr@@QEAAPEAGXZ
+_wcsicmp
+_wtoi
+fmod
+memcmp
+memset
+setlocale
+strcpy
+strlen
+swprintf
diff --git a/mingw-w64-crt/lib64/mobsync.def b/mingw-w64-crt/lib64/mobsync.def
index 009a7df..6ff74df 100644
--- a/mingw-w64-crt/lib64/mobsync.def
+++ b/mingw-w64-crt/lib64/mobsync.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file mobsync.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mobsync.dll
-EXPORTS
-RunDllRegister
-SyncMgrRasProc
-DisplayOptions
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-MobsyncGetClassObject
-RegGetHandlerRegistrationInfo
-RegGetHandlerTopLevelKey
-RegGetProgressDetailsState
-RegGetSchedConnectionName
-RegGetSchedSyncSettings
-RegGetSyncItemSettings
-RegGetSyncSettings
-RegQueryLoadHandlerOnEvent
-RegRemoveManualSyncSettings
-RegSchedHandlerItemsChecked
-RegSetProgressDetailsState
-RegSetSyncItemSettings
-RegSetUserDefaults
-SyncMgrResolveConflictA
-SyncMgrResolveConflictW
+; 
+; Exports of file mobsync.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mobsync.dll
+EXPORTS
+RunDllRegister
+SyncMgrRasProc
+DisplayOptions
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+MobsyncGetClassObject
+RegGetHandlerRegistrationInfo
+RegGetHandlerTopLevelKey
+RegGetProgressDetailsState
+RegGetSchedConnectionName
+RegGetSchedSyncSettings
+RegGetSyncItemSettings
+RegGetSyncSettings
+RegQueryLoadHandlerOnEvent
+RegRemoveManualSyncSettings
+RegSchedHandlerItemsChecked
+RegSetProgressDetailsState
+RegSetSyncItemSettings
+RegSetUserDefaults
+SyncMgrResolveConflictA
+SyncMgrResolveConflictW
diff --git a/mingw-w64-crt/lib64/modemui.def b/mingw-w64-crt/lib64/modemui.def
index ca418f8..b4d6e5c 100644
--- a/mingw-w64-crt/lib64/modemui.def
+++ b/mingw-w64-crt/lib64/modemui.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file modemui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY modemui.dll
-EXPORTS
-drvCommConfigDialogW
-drvCommConfigDialogA
-drvSetDefaultCommConfigW
-drvSetDefaultCommConfigA
-drvGetDefaultCommConfigW
-drvGetDefaultCommConfigA
-UnimodemDevConfigDialog
-CountryRunOnce
-UnimodemGetDefaultCommConfig
-UnimodemGetExtendedCaps
-InvokeControlPanel
-ModemCplDlgProc
-ModemPropPagesProvider
-QueryModemForCountrySettings
+; 
+; Exports of file modemui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY modemui.dll
+EXPORTS
+drvCommConfigDialogW
+drvCommConfigDialogA
+drvSetDefaultCommConfigW
+drvSetDefaultCommConfigA
+drvGetDefaultCommConfigW
+drvGetDefaultCommConfigA
+UnimodemDevConfigDialog
+CountryRunOnce
+UnimodemGetDefaultCommConfig
+UnimodemGetExtendedCaps
+InvokeControlPanel
+ModemCplDlgProc
+ModemPropPagesProvider
+QueryModemForCountrySettings
diff --git a/mingw-w64-crt/lib64/mofd.def b/mingw-w64-crt/lib64/mofd.def
index 159edb1..1a486bb 100644
--- a/mingw-w64-crt/lib64/mofd.def
+++ b/mingw-w64-crt/lib64/mofd.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file mofd.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mofd.dll
-EXPORTS
-CompileFileViaDLL
-CreateBMOFViaDLL
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mofd.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mofd.dll
+EXPORTS
+CompileFileViaDLL
+CreateBMOFViaDLL
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mpr.def b/mingw-w64-crt/lib64/mpr.def
index 2eeabfd..4d02bc4 100644
--- a/mingw-w64-crt/lib64/mpr.def
+++ b/mingw-w64-crt/lib64/mpr.def
@@ -1,86 +1,86 @@
-; 
-; Exports of file MPR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MPR.dll
-EXPORTS
-WNetConnectionDialog2
-WNetDisconnectDialog2
-I_MprSaveConn
-MultinetGetConnectionPerformanceA
-MultinetGetConnectionPerformanceW
-MultinetGetErrorTextA
-MultinetGetErrorTextW
-RestoreConnectionA0
-WNetAddConnection2A
-WNetAddConnection2W
-WNetAddConnection3A
-WNetAddConnection3W
-WNetAddConnectionA
-WNetAddConnectionW
-WNetCancelConnection2A
-WNetCancelConnection2W
-WNetCancelConnectionA
-WNetCancelConnectionW
-WNetClearConnections
-WNetCloseEnum
-WNetConnectionDialog
-WNetConnectionDialog1A
-WNetConnectionDialog1W
-WNetDirectoryNotifyA
-WNetDirectoryNotifyW
-WNetDisconnectDialog
-WNetDisconnectDialog1A
-WNetDisconnectDialog1W
-WNetEnumResourceA
-WNetEnumResourceW
-WNetFMXEditPerm
-WNetFMXGetPermCaps
-WNetFMXGetPermHelp
-WNetFormatNetworkNameA
-WNetFormatNetworkNameW
-WNetGetConnection2A
-WNetGetConnection2W
-WNetGetConnection3A
-WNetGetConnection3W
-WNetGetConnectionA
-WNetGetConnectionW
-WNetGetDirectoryTypeA
-WNetGetDirectoryTypeW
-WNetGetHomeDirectoryW
-WNetGetLastErrorA
-WNetGetLastErrorW
-WNetGetNetworkInformationA
-WNetGetNetworkInformationW
-WNetGetPropertyTextA
-WNetGetPropertyTextW
-WNetGetProviderNameA
-WNetGetProviderNameW
-WNetGetProviderTypeA
-WNetGetProviderTypeW
-WNetGetResourceInformationA
-WNetGetResourceInformationW
-WNetGetResourceParentA
-WNetGetResourceParentW
-WNetGetSearchDialog
-WNetGetUniversalNameA
-WNetGetUniversalNameW
-WNetGetUserA
-WNetGetUserW
-WNetLogonNotify
-WNetOpenEnumA
-WNetOpenEnumW
-WNetPasswordChangeNotify
-WNetPropertyDialogA
-WNetPropertyDialogW
-WNetRestoreConnection2W
-WNetRestoreConnectionW
-WNetSetConnectionA
-WNetSetConnectionW
-WNetSetLastErrorA
-WNetSetLastErrorW
-WNetSupportGlobalEnum
-WNetUseConnectionA
-WNetUseConnectionW
+; 
+; Exports of file MPR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MPR.dll
+EXPORTS
+WNetConnectionDialog2
+WNetDisconnectDialog2
+I_MprSaveConn
+MultinetGetConnectionPerformanceA
+MultinetGetConnectionPerformanceW
+MultinetGetErrorTextA
+MultinetGetErrorTextW
+RestoreConnectionA0
+WNetAddConnection2A
+WNetAddConnection2W
+WNetAddConnection3A
+WNetAddConnection3W
+WNetAddConnectionA
+WNetAddConnectionW
+WNetCancelConnection2A
+WNetCancelConnection2W
+WNetCancelConnectionA
+WNetCancelConnectionW
+WNetClearConnections
+WNetCloseEnum
+WNetConnectionDialog
+WNetConnectionDialog1A
+WNetConnectionDialog1W
+WNetDirectoryNotifyA
+WNetDirectoryNotifyW
+WNetDisconnectDialog
+WNetDisconnectDialog1A
+WNetDisconnectDialog1W
+WNetEnumResourceA
+WNetEnumResourceW
+WNetFMXEditPerm
+WNetFMXGetPermCaps
+WNetFMXGetPermHelp
+WNetFormatNetworkNameA
+WNetFormatNetworkNameW
+WNetGetConnection2A
+WNetGetConnection2W
+WNetGetConnection3A
+WNetGetConnection3W
+WNetGetConnectionA
+WNetGetConnectionW
+WNetGetDirectoryTypeA
+WNetGetDirectoryTypeW
+WNetGetHomeDirectoryW
+WNetGetLastErrorA
+WNetGetLastErrorW
+WNetGetNetworkInformationA
+WNetGetNetworkInformationW
+WNetGetPropertyTextA
+WNetGetPropertyTextW
+WNetGetProviderNameA
+WNetGetProviderNameW
+WNetGetProviderTypeA
+WNetGetProviderTypeW
+WNetGetResourceInformationA
+WNetGetResourceInformationW
+WNetGetResourceParentA
+WNetGetResourceParentW
+WNetGetSearchDialog
+WNetGetUniversalNameA
+WNetGetUniversalNameW
+WNetGetUserA
+WNetGetUserW
+WNetLogonNotify
+WNetOpenEnumA
+WNetOpenEnumW
+WNetPasswordChangeNotify
+WNetPropertyDialogA
+WNetPropertyDialogW
+WNetRestoreConnection2W
+WNetRestoreConnectionW
+WNetSetConnectionA
+WNetSetConnectionW
+WNetSetLastErrorA
+WNetSetLastErrorW
+WNetSupportGlobalEnum
+WNetUseConnectionA
+WNetUseConnectionW
diff --git a/mingw-w64-crt/lib64/mprapi.def b/mingw-w64-crt/lib64/mprapi.def
index 9ee244f..a6f4030 100644
--- a/mingw-w64-crt/lib64/mprapi.def
+++ b/mingw-w64-crt/lib64/mprapi.def
@@ -1,139 +1,139 @@
-; 
-; Exports of file MPRAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MPRAPI.dll
-EXPORTS
-CompressPhoneNumber
-MprAdminBufferFree
-MprAdminConnectionClearStats
-MprAdminConnectionEnum
-MprAdminConnectionGetInfo
-MprAdminConnectionRemoveQuarantine
-MprAdminDeregisterConnectionNotification
-MprAdminDeviceEnum
-MprAdminEstablishDomainRasServer
-MprAdminGetErrorString
-MprAdminGetPDCServer
-MprAdminInterfaceConnect
-MprAdminInterfaceCreate
-MprAdminInterfaceDelete
-MprAdminInterfaceDeviceGetInfo
-MprAdminInterfaceDeviceSetInfo
-MprAdminInterfaceDisconnect
-MprAdminInterfaceEnum
-MprAdminInterfaceGetCredentials
-MprAdminInterfaceGetCredentialsEx
-MprAdminInterfaceGetHandle
-MprAdminInterfaceGetInfo
-MprAdminInterfaceQueryUpdateResult
-MprAdminInterfaceSetCredentials
-MprAdminInterfaceSetCredentialsEx
-MprAdminInterfaceSetInfo
-MprAdminInterfaceTransportAdd
-MprAdminInterfaceTransportGetInfo
-MprAdminInterfaceTransportRemove
-MprAdminInterfaceTransportSetInfo
-MprAdminInterfaceUpdatePhonebookInfo
-MprAdminInterfaceUpdateRoutes
-MprAdminIsDomainRasServer
-MprAdminIsServiceRunning
-MprAdminMIBBufferFree
-MprAdminMIBEntryCreate
-MprAdminMIBEntryDelete
-MprAdminMIBEntryGet
-MprAdminMIBEntryGetFirst
-MprAdminMIBEntryGetNext
-MprAdminMIBEntrySet
-MprAdminMIBServerConnect
-MprAdminMIBServerDisconnect
-MprAdminPortClearStats
-MprAdminPortDisconnect
-MprAdminPortEnum
-MprAdminPortGetInfo
-MprAdminPortReset
-MprAdminRegisterConnectionNotification
-MprAdminSendUserMessage
-MprAdminServerConnect
-MprAdminServerDisconnect
-MprAdminServerGetCredentials
-MprAdminServerGetInfo
-MprAdminServerSetCredentials
-MprAdminServerSetInfo
-MprAdminTransportCreate
-MprAdminTransportGetInfo
-MprAdminTransportSetInfo
-MprAdminUpgradeUsers
-MprAdminUserClose
-MprAdminUserGetInfo
-MprAdminUserOpen
-MprAdminUserRead
-MprAdminUserReadProfFlags
-MprAdminUserServerConnect
-MprAdminUserServerDisconnect
-MprAdminUserSetInfo
-MprAdminUserWrite
-MprAdminUserWriteProfFlags
-MprConfigBufferFree
-MprConfigGetFriendlyName
-MprConfigGetGuidName
-MprConfigInterfaceCreate
-MprConfigInterfaceDelete
-MprConfigInterfaceEnum
-MprConfigInterfaceGetHandle
-MprConfigInterfaceGetInfo
-MprConfigInterfaceSetInfo
-MprConfigInterfaceTransportAdd
-MprConfigInterfaceTransportEnum
-MprConfigInterfaceTransportGetHandle
-MprConfigInterfaceTransportGetInfo
-MprConfigInterfaceTransportRemove
-MprConfigInterfaceTransportSetInfo
-MprConfigServerBackup
-MprConfigServerConnect
-MprConfigServerDisconnect
-MprConfigServerGetInfo
-MprConfigServerInstall
-MprConfigServerRefresh
-MprConfigServerRestore
-MprConfigServerSetInfo
-MprConfigTransportCreate
-MprConfigTransportDelete
-MprConfigTransportEnum
-MprConfigTransportGetHandle
-MprConfigTransportGetInfo
-MprConfigTransportSetInfo
-MprDomainQueryAccess
-MprDomainQueryRasServer
-MprDomainRegisterRasServer
-MprDomainSetAccess
-MprGetUsrParams
-MprInfoBlockAdd
-MprInfoBlockFind
-MprInfoBlockQuerySize
-MprInfoBlockRemove
-MprInfoBlockSet
-MprInfoCreate
-MprInfoDelete
-MprInfoDuplicate
-MprInfoRemoveAll
-MprPortSetUsage
-RasAdminBufferFree
-RasAdminConnectionClearStats
-RasAdminConnectionEnum
-RasAdminConnectionGetInfo
-RasAdminGetErrorString
-RasAdminGetPDCServer
-RasAdminIsServiceRunning
-RasAdminPortClearStats
-RasAdminPortDisconnect
-RasAdminPortEnum
-RasAdminPortGetInfo
-RasAdminPortReset
-RasAdminServerConnect
-RasAdminServerDisconnect
-RasAdminUserGetInfo
-RasAdminUserSetInfo
-RasPrivilegeAndCallBackNumber
+; 
+; Exports of file MPRAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MPRAPI.dll
+EXPORTS
+CompressPhoneNumber
+MprAdminBufferFree
+MprAdminConnectionClearStats
+MprAdminConnectionEnum
+MprAdminConnectionGetInfo
+MprAdminConnectionRemoveQuarantine
+MprAdminDeregisterConnectionNotification
+MprAdminDeviceEnum
+MprAdminEstablishDomainRasServer
+MprAdminGetErrorString
+MprAdminGetPDCServer
+MprAdminInterfaceConnect
+MprAdminInterfaceCreate
+MprAdminInterfaceDelete
+MprAdminInterfaceDeviceGetInfo
+MprAdminInterfaceDeviceSetInfo
+MprAdminInterfaceDisconnect
+MprAdminInterfaceEnum
+MprAdminInterfaceGetCredentials
+MprAdminInterfaceGetCredentialsEx
+MprAdminInterfaceGetHandle
+MprAdminInterfaceGetInfo
+MprAdminInterfaceQueryUpdateResult
+MprAdminInterfaceSetCredentials
+MprAdminInterfaceSetCredentialsEx
+MprAdminInterfaceSetInfo
+MprAdminInterfaceTransportAdd
+MprAdminInterfaceTransportGetInfo
+MprAdminInterfaceTransportRemove
+MprAdminInterfaceTransportSetInfo
+MprAdminInterfaceUpdatePhonebookInfo
+MprAdminInterfaceUpdateRoutes
+MprAdminIsDomainRasServer
+MprAdminIsServiceRunning
+MprAdminMIBBufferFree
+MprAdminMIBEntryCreate
+MprAdminMIBEntryDelete
+MprAdminMIBEntryGet
+MprAdminMIBEntryGetFirst
+MprAdminMIBEntryGetNext
+MprAdminMIBEntrySet
+MprAdminMIBServerConnect
+MprAdminMIBServerDisconnect
+MprAdminPortClearStats
+MprAdminPortDisconnect
+MprAdminPortEnum
+MprAdminPortGetInfo
+MprAdminPortReset
+MprAdminRegisterConnectionNotification
+MprAdminSendUserMessage
+MprAdminServerConnect
+MprAdminServerDisconnect
+MprAdminServerGetCredentials
+MprAdminServerGetInfo
+MprAdminServerSetCredentials
+MprAdminServerSetInfo
+MprAdminTransportCreate
+MprAdminTransportGetInfo
+MprAdminTransportSetInfo
+MprAdminUpgradeUsers
+MprAdminUserClose
+MprAdminUserGetInfo
+MprAdminUserOpen
+MprAdminUserRead
+MprAdminUserReadProfFlags
+MprAdminUserServerConnect
+MprAdminUserServerDisconnect
+MprAdminUserSetInfo
+MprAdminUserWrite
+MprAdminUserWriteProfFlags
+MprConfigBufferFree
+MprConfigGetFriendlyName
+MprConfigGetGuidName
+MprConfigInterfaceCreate
+MprConfigInterfaceDelete
+MprConfigInterfaceEnum
+MprConfigInterfaceGetHandle
+MprConfigInterfaceGetInfo
+MprConfigInterfaceSetInfo
+MprConfigInterfaceTransportAdd
+MprConfigInterfaceTransportEnum
+MprConfigInterfaceTransportGetHandle
+MprConfigInterfaceTransportGetInfo
+MprConfigInterfaceTransportRemove
+MprConfigInterfaceTransportSetInfo
+MprConfigServerBackup
+MprConfigServerConnect
+MprConfigServerDisconnect
+MprConfigServerGetInfo
+MprConfigServerInstall
+MprConfigServerRefresh
+MprConfigServerRestore
+MprConfigServerSetInfo
+MprConfigTransportCreate
+MprConfigTransportDelete
+MprConfigTransportEnum
+MprConfigTransportGetHandle
+MprConfigTransportGetInfo
+MprConfigTransportSetInfo
+MprDomainQueryAccess
+MprDomainQueryRasServer
+MprDomainRegisterRasServer
+MprDomainSetAccess
+MprGetUsrParams
+MprInfoBlockAdd
+MprInfoBlockFind
+MprInfoBlockQuerySize
+MprInfoBlockRemove
+MprInfoBlockSet
+MprInfoCreate
+MprInfoDelete
+MprInfoDuplicate
+MprInfoRemoveAll
+MprPortSetUsage
+RasAdminBufferFree
+RasAdminConnectionClearStats
+RasAdminConnectionEnum
+RasAdminConnectionGetInfo
+RasAdminGetErrorString
+RasAdminGetPDCServer
+RasAdminIsServiceRunning
+RasAdminPortClearStats
+RasAdminPortDisconnect
+RasAdminPortEnum
+RasAdminPortGetInfo
+RasAdminPortReset
+RasAdminServerConnect
+RasAdminServerDisconnect
+RasAdminUserGetInfo
+RasAdminUserSetInfo
+RasPrivilegeAndCallBackNumber
diff --git a/mingw-w64-crt/lib64/mprddm.def b/mingw-w64-crt/lib64/mprddm.def
index 3f7023a..544b544 100644
--- a/mingw-w64-crt/lib64/mprddm.def
+++ b/mingw-w64-crt/lib64/mprddm.def
@@ -1,47 +1,47 @@
-; 
-; Exports of file MPRDDM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MPRDDM.dll
-EXPORTS
-DDMAdminConnectionClearStats
-DDMAdminConnectionEnum
-DDMAdminConnectionGetInfo
-DDMAdminInterfaceConnect
-DDMAdminInterfaceDisconnect
-DDMAdminPortClearStats
-DDMAdminPortDisconnect
-DDMAdminPortEnum
-DDMAdminPortGetInfo
-DDMAdminPortReset
-DDMAdminRemoveQuarantine
-DDMAdminServerGetInfo
-DDMAdminServerSetInfo
-DDMConnectInterface
-DDMDisconnectInterface
-DDMGetIdentityAttributes
-DDMPostCleanup
-DDMRegisterConnectionNotification
-DDMSendUserMessage
-DDMServiceInitialize
-DDMServicePostListens
-DDMTransportCreate
-IfObjectFreePhonebookContext
-IfObjectInitiatePersistentConnections
-IfObjectLoadPhonebookInfo
-IfObjectNotifyOfReachabilityChange
-IfObjectSetDialoutHoursRestriction
-RasAcctConfigChangeNotification
-RasAcctProviderFreeAttributes
-RasAcctProviderInitialize
-RasAcctProviderInterimAccounting
-RasAcctProviderStartAccounting
-RasAcctProviderStopAccounting
-RasAcctProviderTerminate
-RasAuthConfigChangeNotification
-RasAuthProviderAuthenticateUser
-RasAuthProviderFreeAttributes
-RasAuthProviderInitialize
-RasAuthProviderTerminate
+; 
+; Exports of file MPRDDM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MPRDDM.dll
+EXPORTS
+DDMAdminConnectionClearStats
+DDMAdminConnectionEnum
+DDMAdminConnectionGetInfo
+DDMAdminInterfaceConnect
+DDMAdminInterfaceDisconnect
+DDMAdminPortClearStats
+DDMAdminPortDisconnect
+DDMAdminPortEnum
+DDMAdminPortGetInfo
+DDMAdminPortReset
+DDMAdminRemoveQuarantine
+DDMAdminServerGetInfo
+DDMAdminServerSetInfo
+DDMConnectInterface
+DDMDisconnectInterface
+DDMGetIdentityAttributes
+DDMPostCleanup
+DDMRegisterConnectionNotification
+DDMSendUserMessage
+DDMServiceInitialize
+DDMServicePostListens
+DDMTransportCreate
+IfObjectFreePhonebookContext
+IfObjectInitiatePersistentConnections
+IfObjectLoadPhonebookInfo
+IfObjectNotifyOfReachabilityChange
+IfObjectSetDialoutHoursRestriction
+RasAcctConfigChangeNotification
+RasAcctProviderFreeAttributes
+RasAcctProviderInitialize
+RasAcctProviderInterimAccounting
+RasAcctProviderStartAccounting
+RasAcctProviderStopAccounting
+RasAcctProviderTerminate
+RasAuthConfigChangeNotification
+RasAuthProviderAuthenticateUser
+RasAuthProviderFreeAttributes
+RasAuthProviderInitialize
+RasAuthProviderTerminate
diff --git a/mingw-w64-crt/lib64/mprdim.def b/mingw-w64-crt/lib64/mprdim.def
index b926509..604762a 100644
--- a/mingw-w64-crt/lib64/mprdim.def
+++ b/mingw-w64-crt/lib64/mprdim.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file mprdim.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mprdim.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file mprdim.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mprdim.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/mprmsg.def b/mingw-w64-crt/lib64/mprmsg.def
index 0612183..16722df 100644
--- a/mingw-w64-crt/lib64/mprmsg.def
+++ b/mingw-w64-crt/lib64/mprmsg.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file ROUTEMSG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ROUTEMSG.dll
-EXPORTS
-GetEventIds
+; 
+; Exports of file ROUTEMSG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ROUTEMSG.dll
+EXPORTS
+GetEventIds
diff --git a/mingw-w64-crt/lib64/mprui.def b/mingw-w64-crt/lib64/mprui.def
index f490739..ed8a698 100644
--- a/mingw-w64-crt/lib64/mprui.def
+++ b/mingw-w64-crt/lib64/mprui.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file MPRUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MPRUI.dll
-EXPORTS
-BrowseDialogA0
-MPRUI_DoPasswordDialog
-MPRUI_DoProfileErrorDialog
-MPRUI_ShowReconnectDialog
-MPRUI_WNetClearConnections
-MPRUI_WNetConnectionDialog
-MPRUI_WNetConnectionDialog1A
-MPRUI_WNetConnectionDialog1W
-MPRUI_WNetDisconnectDialog
-MPRUI_WNetDisconnectDialog1A
-MPRUI_WNetDisconnectDialog1W
-WNetBrowseDialog
-WNetBrowsePrinterDialog
+; 
+; Exports of file MPRUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MPRUI.dll
+EXPORTS
+BrowseDialogA0
+MPRUI_DoPasswordDialog
+MPRUI_DoProfileErrorDialog
+MPRUI_ShowReconnectDialog
+MPRUI_WNetClearConnections
+MPRUI_WNetConnectionDialog
+MPRUI_WNetConnectionDialog1A
+MPRUI_WNetConnectionDialog1W
+MPRUI_WNetDisconnectDialog
+MPRUI_WNetDisconnectDialog1A
+MPRUI_WNetDisconnectDialog1W
+WNetBrowseDialog
+WNetBrowsePrinterDialog
diff --git a/mingw-w64-crt/lib64/mqad.def b/mingw-w64-crt/lib64/mqad.def
index 033ca50..11bfb84 100644
--- a/mingw-w64-crt/lib64/mqad.def
+++ b/mingw-w64-crt/lib64/mqad.def
@@ -1,42 +1,42 @@
-; 
-; Exports of file mqad.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqad.dll
-EXPORTS
-MQADBeginDeleteNotification
-MQADCreateObject
-MQADDeleteObject
-MQADDeleteObjectGuid
-MQADDeleteObjectGuidSid
-MQADEndDeleteNotification
-MQADEndQuery
-MQADFreeMemory
-MQADGetADsPathInfo
-MQADGetComputerSites
-MQADGetComputerVersion
-MQADGetGenObjectProperties
-MQADGetObjectProperties
-MQADGetObjectPropertiesGuid
-MQADGetObjectSecurity
-MQADGetObjectSecurityGuid
-MQADInit
-MQADNotifyDelete
-MQADQMGetObjectSecurity
-MQADQueryAllLinks
-MQADQueryAllSites
-MQADQueryConnectors
-MQADQueryForeignSites
-MQADQueryLinks
-MQADQueryMachineQueues
-MQADQueryNT4MQISServers
-MQADQueryQueues
-MQADQueryResults
-MQADQuerySiteServers
-MQADQueryUserCert
-MQADSetObjectProperties
-MQADSetObjectPropertiesGuid
-MQADSetObjectSecurity
-MQADSetObjectSecurityGuid
+; 
+; Exports of file mqad.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqad.dll
+EXPORTS
+MQADBeginDeleteNotification
+MQADCreateObject
+MQADDeleteObject
+MQADDeleteObjectGuid
+MQADDeleteObjectGuidSid
+MQADEndDeleteNotification
+MQADEndQuery
+MQADFreeMemory
+MQADGetADsPathInfo
+MQADGetComputerSites
+MQADGetComputerVersion
+MQADGetGenObjectProperties
+MQADGetObjectProperties
+MQADGetObjectPropertiesGuid
+MQADGetObjectSecurity
+MQADGetObjectSecurityGuid
+MQADInit
+MQADNotifyDelete
+MQADQMGetObjectSecurity
+MQADQueryAllLinks
+MQADQueryAllSites
+MQADQueryConnectors
+MQADQueryForeignSites
+MQADQueryLinks
+MQADQueryMachineQueues
+MQADQueryNT4MQISServers
+MQADQueryQueues
+MQADQueryResults
+MQADQuerySiteServers
+MQADQueryUserCert
+MQADSetObjectProperties
+MQADSetObjectPropertiesGuid
+MQADSetObjectSecurity
+MQADSetObjectSecurityGuid
diff --git a/mingw-w64-crt/lib64/mqcertui.def b/mingw-w64-crt/lib64/mqcertui.def
index 371a670..8a2ae09 100644
--- a/mingw-w64-crt/lib64/mqcertui.def
+++ b/mingw-w64-crt/lib64/mqcertui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MQCERTUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MQCERTUI.dll
-EXPORTS
-SelectPersonalCertificateForRegister
-SelectPersonalCertificateForRemoval
-ShowCertificate
-ShowPersonalCertificates
+; 
+; Exports of file MQCERTUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MQCERTUI.dll
+EXPORTS
+SelectPersonalCertificateForRegister
+SelectPersonalCertificateForRemoval
+ShowCertificate
+ShowPersonalCertificates
diff --git a/mingw-w64-crt/lib64/mqdscli.def b/mingw-w64-crt/lib64/mqdscli.def
index ed7151e..ba9af18 100644
--- a/mingw-w64-crt/lib64/mqdscli.def
+++ b/mingw-w64-crt/lib64/mqdscli.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file mqdscli.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqdscli.dll
-EXPORTS
-DSBeginDeleteNotification
-DSClientInit
-DSCreateObject
-DSCreateServersCache
-DSDeleteObject
-DSDeleteObjectGuid
-DSEndDeleteNotification
-DSFreeMemory
-DSGetComputerSites
-DSGetObjectProperties
-DSGetObjectPropertiesEx
-DSGetObjectPropertiesGuid
-DSGetObjectPropertiesGuidEx
-DSGetObjectSecurity
-DSGetObjectSecurityGuid
-DSGetUserParams
-DSLookupBegin
-DSLookupEnd
-DSLookupNext
-DSNotifyDelete
-DSQMGetObjectSecurity
-DSSetObjectProperties
-DSSetObjectPropertiesGuid
-DSSetObjectSecurity
-DSSetObjectSecurityGuid
-DSTerminate
+; 
+; Exports of file mqdscli.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqdscli.dll
+EXPORTS
+DSBeginDeleteNotification
+DSClientInit
+DSCreateObject
+DSCreateServersCache
+DSDeleteObject
+DSDeleteObjectGuid
+DSEndDeleteNotification
+DSFreeMemory
+DSGetComputerSites
+DSGetObjectProperties
+DSGetObjectPropertiesEx
+DSGetObjectPropertiesGuid
+DSGetObjectPropertiesGuidEx
+DSGetObjectSecurity
+DSGetObjectSecurityGuid
+DSGetUserParams
+DSLookupBegin
+DSLookupEnd
+DSLookupNext
+DSNotifyDelete
+DSQMGetObjectSecurity
+DSSetObjectProperties
+DSSetObjectPropertiesGuid
+DSSetObjectSecurity
+DSSetObjectSecurityGuid
+DSTerminate
diff --git a/mingw-w64-crt/lib64/mqgentr.def b/mingw-w64-crt/lib64/mqgentr.def
index 96b5900..4ce0943 100644
--- a/mingw-w64-crt/lib64/mqgentr.def
+++ b/mingw-w64-crt/lib64/mqgentr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mqgentr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqgentr.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mqgentr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqgentr.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mqise.def b/mingw-w64-crt/lib64/mqise.def
index 1daf38b..e3728e3 100644
--- a/mingw-w64-crt/lib64/mqise.def
+++ b/mingw-w64-crt/lib64/mqise.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file mqise.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqise.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file mqise.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqise.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/mqlogmgr.def b/mingw-w64-crt/lib64/mqlogmgr.def
index f0b63fe..208b55a 100644
--- a/mingw-w64-crt/lib64/mqlogmgr.def
+++ b/mingw-w64-crt/lib64/mqlogmgr.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file MSDTCLOG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDTCLOG.dll
-EXPORTS
-; public: static long __cdecl CLogMgr::CreateInstance(class CLogMgr * __ptr64 * __ptr64,struct IUnknown * __ptr64)
-?CreateInstance@CLogMgr@@SAJPEAPEAV1@PEAUIUnknown@@@Z
-DllGetDTCLOG2
-; int __cdecl DllGetDTCLOG(struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
-?DllGetDTCLOG@@YAHAEBU_GUID@@0PEAPEAX@Z
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDTCLOG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDTCLOG.dll
+EXPORTS
+; public: static long __cdecl CLogMgr::CreateInstance(class CLogMgr * __ptr64 * __ptr64,struct IUnknown * __ptr64)
+?CreateInstance@CLogMgr@@SAJPEAPEAV1@PEAUIUnknown@@@Z
+DllGetDTCLOG2
+; int __cdecl DllGetDTCLOG(struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
+?DllGetDTCLOG@@YAHAEBU_GUID@@0PEAPEAX@Z
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mqoa.def b/mingw-w64-crt/lib64/mqoa.def
index f973537..7283e05 100644
--- a/mingw-w64-crt/lib64/mqoa.def
+++ b/mingw-w64-crt/lib64/mqoa.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file mqoa.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqoa.dll
-EXPORTS
-DLLGetDocumentation
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mqoa.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqoa.dll
+EXPORTS
+DLLGetDocumentation
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mqperf.def b/mingw-w64-crt/lib64/mqperf.def
index 8434f89..115d6a5 100644
--- a/mingw-w64-crt/lib64/mqperf.def
+++ b/mingw-w64-crt/lib64/mqperf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MQPERF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MQPERF.dll
-EXPORTS
-PerfClose
-PerfCollect
-PerfOpen
+; 
+; Exports of file MQPERF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MQPERF.dll
+EXPORTS
+PerfClose
+PerfCollect
+PerfOpen
diff --git a/mingw-w64-crt/lib64/mqqm.def b/mingw-w64-crt/lib64/mqqm.def
index aece6d7..3852f02 100644
--- a/mingw-w64-crt/lib64/mqqm.def
+++ b/mingw-w64-crt/lib64/mqqm.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MQQM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MQQM.dll
-EXPORTS
-; int __cdecl QMMain(int,unsigned short const * __ptr64 * __ptr64 const)
-?QMMain@@YAHHQEAPEBG@Z
+; 
+; Exports of file MQQM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MQQM.dll
+EXPORTS
+; int __cdecl QMMain(int,unsigned short const * __ptr64 * __ptr64 const)
+?QMMain@@YAHHQEAPEBG@Z
diff --git a/mingw-w64-crt/lib64/mqrt.def b/mingw-w64-crt/lib64/mqrt.def
index 1ecb435..42dbc8b 100644
--- a/mingw-w64-crt/lib64/mqrt.def
+++ b/mingw-w64-crt/lib64/mqrt.def
@@ -1,54 +1,54 @@
-; 
-; Exports of file mqrt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqrt.dll
-EXPORTS
-MQLogHR
-DllRegisterServer
-MQADsPathToFormatName
-MQAllocateMemory
-MQBeginTransaction
-MQCloseCursor
-MQCloseQueue
-MQCreateCursor
-MQCreateQueue
-MQDeleteQueue
-MQFreeMemory
-MQFreeSecurityContext
-MQGetMachineProperties
-MQGetOverlappedResult
-MQGetPrivateComputerInformation
-MQGetQueueProperties
-MQGetQueueSecurity
-MQGetSecurityContext
-MQGetSecurityContextEx
-MQHandleToFormatName
-MQInstanceToFormatName
-MQLocateBegin
-MQLocateEnd
-MQLocateNext
-MQMgmtAction
-MQMgmtGetInfo
-MQOpenQueue
-MQPathNameToFormatName
-MQPurgeQueue
-MQReceiveMessage
-MQReceiveMessageByLookupId
-MQRegisterCertificate
-MQSendMessage
-MQSetQueueProperties
-MQSetQueueSecurity
-RTCreateInternalCertificate
-RTDeleteInternalCert
-RTGetInternalCert
-RTGetUserCerts
-RTIsDependentClient
-RTLogOnRegisterCert
-RTOpenInternalCertStore
-RTRegisterUserCert
-RTRemoveUserCert
-RTRemoveUserCertSid
-RTXactGetDTC
+; 
+; Exports of file mqrt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqrt.dll
+EXPORTS
+MQLogHR
+DllRegisterServer
+MQADsPathToFormatName
+MQAllocateMemory
+MQBeginTransaction
+MQCloseCursor
+MQCloseQueue
+MQCreateCursor
+MQCreateQueue
+MQDeleteQueue
+MQFreeMemory
+MQFreeSecurityContext
+MQGetMachineProperties
+MQGetOverlappedResult
+MQGetPrivateComputerInformation
+MQGetQueueProperties
+MQGetQueueSecurity
+MQGetSecurityContext
+MQGetSecurityContextEx
+MQHandleToFormatName
+MQInstanceToFormatName
+MQLocateBegin
+MQLocateEnd
+MQLocateNext
+MQMgmtAction
+MQMgmtGetInfo
+MQOpenQueue
+MQPathNameToFormatName
+MQPurgeQueue
+MQReceiveMessage
+MQReceiveMessageByLookupId
+MQRegisterCertificate
+MQSendMessage
+MQSetQueueProperties
+MQSetQueueSecurity
+RTCreateInternalCertificate
+RTDeleteInternalCert
+RTGetInternalCert
+RTGetUserCerts
+RTIsDependentClient
+RTLogOnRegisterCert
+RTOpenInternalCertStore
+RTRegisterUserCert
+RTRemoveUserCert
+RTRemoveUserCertSid
+RTXactGetDTC
diff --git a/mingw-w64-crt/lib64/mqrtdep.def b/mingw-w64-crt/lib64/mqrtdep.def
index f67f216..e0979da 100644
--- a/mingw-w64-crt/lib64/mqrtdep.def
+++ b/mingw-w64-crt/lib64/mqrtdep.def
@@ -1,47 +1,47 @@
-; 
-; Exports of file MQRTDEP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MQRTDEP.dll
-EXPORTS
-DepBeginTransaction
-DepCloseCursor
-DepCloseQueue
-DepCreateCursor
-DepCreateInternalCertificate
-DepCreateQueue
-DepDeleteInternalCert
-DepDeleteQueue
-DepFreeMemory
-DepFreeSecurityContext
-DepGetInternalCert
-DepGetMachineProperties
-DepGetOverlappedResult
-DepGetPrivateComputerInformation
-DepGetQueueProperties
-DepGetQueueSecurity
-DepGetSecurityContext
-DepGetSecurityContextEx
-DepGetUserCerts
-DepHandleToFormatName
-DepInstanceToFormatName
-DepLocateBegin
-DepLocateEnd
-DepLocateNext
-DepMgmtAction
-DepMgmtGetInfo
-DepOpenInternalCertStore
-DepOpenQueue
-DepPathNameToFormatName
-DepPurgeQueue
-DepReceiveMessage
-DepRegisterCertificate
-DepRegisterServer
-DepRegisterUserCert
-DepRemoveUserCert
-DepSendMessage
-DepSetQueueProperties
-DepSetQueueSecurity
-DepXactGetDTC
+; 
+; Exports of file MQRTDEP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MQRTDEP.dll
+EXPORTS
+DepBeginTransaction
+DepCloseCursor
+DepCloseQueue
+DepCreateCursor
+DepCreateInternalCertificate
+DepCreateQueue
+DepDeleteInternalCert
+DepDeleteQueue
+DepFreeMemory
+DepFreeSecurityContext
+DepGetInternalCert
+DepGetMachineProperties
+DepGetOverlappedResult
+DepGetPrivateComputerInformation
+DepGetQueueProperties
+DepGetQueueSecurity
+DepGetSecurityContext
+DepGetSecurityContextEx
+DepGetUserCerts
+DepHandleToFormatName
+DepInstanceToFormatName
+DepLocateBegin
+DepLocateEnd
+DepLocateNext
+DepMgmtAction
+DepMgmtGetInfo
+DepOpenInternalCertStore
+DepOpenQueue
+DepPathNameToFormatName
+DepPurgeQueue
+DepReceiveMessage
+DepRegisterCertificate
+DepRegisterServer
+DepRegisterUserCert
+DepRemoveUserCert
+DepSendMessage
+DepSetQueueProperties
+DepSetQueueSecurity
+DepXactGetDTC
diff --git a/mingw-w64-crt/lib64/mqsec.def b/mingw-w64-crt/lib64/mqsec.def
index ee48cb1..03261f3 100644
--- a/mingw-w64-crt/lib64/mqsec.def
+++ b/mingw-w64-crt/lib64/mqsec.def
@@ -1,329 +1,329 @@
-; 
-; Exports of file mqsec.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqsec.dll
-EXPORTS
-; public: __cdecl CCancelRpc::CCancelRpc(class CCancelRpc const & __ptr64) __ptr64
-??0CCancelRpc@@QEAA@AEBV0@@Z
-; public: __cdecl CCancelRpc::CCancelRpc(void) __ptr64
-??0CCancelRpc@@QEAA@XZ
-; public: __cdecl CColumns::CColumns(class CColumns const & __ptr64) __ptr64
-??0CColumns@@QEAA@AEBV0@@Z
-; public: __cdecl CColumns::CColumns(unsigned int) __ptr64
-??0CColumns@@QEAA@I@Z
-; public: __cdecl CDSBaseUpdate::CDSBaseUpdate(class CDSBaseUpdate const & __ptr64) __ptr64
-??0CDSBaseUpdate@@QEAA@AEBV0@@Z
-; public: __cdecl CDSBaseUpdate::CDSBaseUpdate(void) __ptr64
-??0CDSBaseUpdate@@QEAA@XZ
-; public: __cdecl COutputReport::COutputReport(void) __ptr64
-??0COutputReport@@QEAA@XZ
-; public: __cdecl CPropertyRestriction::CPropertyRestriction(class CPropertyRestriction const & __ptr64) __ptr64
-??0CPropertyRestriction@@QEAA@AEBV0@@Z
-; public: __cdecl CPropertyRestriction::CPropertyRestriction(unsigned long,unsigned long const & __ptr64,class CMQVariant const & __ptr64) __ptr64
-??0CPropertyRestriction@@QEAA@KAEBKAEBVCMQVariant@@@Z
-; public: __cdecl CPropertyRestriction::CPropertyRestriction(void) __ptr64
-??0CPropertyRestriction@@QEAA@XZ
-; public: __cdecl CRestriction::CRestriction(class CRestriction const & __ptr64) __ptr64
-??0CRestriction@@QEAA@AEBV0@@Z
-; public: __cdecl CRestriction::CRestriction(unsigned int) __ptr64
-??0CRestriction@@QEAA@I@Z
-; public: __cdecl CSort::CSort(class CSort const & __ptr64) __ptr64
-??0CSort@@QEAA@AEBV0@@Z
-; public: __cdecl CSort::CSort(unsigned int) __ptr64
-??0CSort@@QEAA@I@Z
-; public: __cdecl CSortKey::CSortKey(unsigned long const & __ptr64,unsigned long) __ptr64
-??0CSortKey@@QEAA@AEBKK@Z
-; public: __cdecl CSortKey::CSortKey(void) __ptr64
-??0CSortKey@@QEAA@XZ
-; public: __cdecl CCancelRpc::~CCancelRpc(void) __ptr64
-??1CCancelRpc@@QEAA@XZ
-; public: __cdecl CColumns::~CColumns(void) __ptr64
-??1CColumns@@QEAA@XZ
-; public: __cdecl CDSBaseUpdate::~CDSBaseUpdate(void) __ptr64
-??1CDSBaseUpdate@@QEAA@XZ
-; public: __cdecl COutputReport::~COutputReport(void) __ptr64
-??1COutputReport@@QEAA@XZ
-; public: __cdecl CPropertyRestriction::~CPropertyRestriction(void) __ptr64
-??1CPropertyRestriction@@QEAA@XZ
-; public: __cdecl CRestriction::~CRestriction(void) __ptr64
-??1CRestriction@@QEAA@XZ
-; public: __cdecl CSort::~CSort(void) __ptr64
-??1CSort@@QEAA@XZ
-; public: __cdecl CSortKey::~CSortKey(void) __ptr64
-??1CSortKey@@QEAA@XZ
-; public: class CCancelRpc & __ptr64 __cdecl CCancelRpc::operator=(class CCancelRpc const & __ptr64) __ptr64
-??4CCancelRpc@@QEAAAEAV0@AEBV0@@Z
-; public: class CDSBaseUpdate & __ptr64 __cdecl CDSBaseUpdate::operator=(class CDSBaseUpdate const & __ptr64) __ptr64
-??4CDSBaseUpdate@@QEAAAEAV0@AEBV0@@Z
-; public: class COutputReport & __ptr64 __cdecl COutputReport::operator=(class COutputReport const & __ptr64) __ptr64
-??4COutputReport@@QEAAAEAV0@AEBV0@@Z
-; public: class CPropertyRestriction & __ptr64 __cdecl CPropertyRestriction::operator=(class CPropertyRestriction const & __ptr64) __ptr64
-??4CPropertyRestriction@@QEAAAEAV0@AEBV0@@Z
-; public: class CRestriction & __ptr64 __cdecl CRestriction::operator=(class CRestriction const & __ptr64) __ptr64
-??4CRestriction@@QEAAAEAV0@AEBV0@@Z
-; public: class CSortKey & __ptr64 __cdecl CSortKey::operator=(class CSortKey const & __ptr64) __ptr64
-??4CSortKey@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl CColumns::`default constructor closure'(void) __ptr64
-??_FCColumns@@QEAAXXZ
-; public: void __cdecl CRestriction::`default constructor closure'(void) __ptr64
-??_FCRestriction@@QEAAXXZ
-; public: void __cdecl CSort::`default constructor closure'(void) __ptr64
-??_FCSort@@QEAAXXZ
-; public: void __cdecl CCancelRpc::Add(void * __ptr64,__int64) __ptr64
-?Add@CCancelRpc@@QEAAXPEAX_J@Z
-; public: void __cdecl CColumns::Add(unsigned long const & __ptr64) __ptr64
-?Add@CColumns@@QEAAXAEBK@Z
-; public: void __cdecl CSort::Add(unsigned long const & __ptr64,unsigned long) __ptr64
-?Add@CSort@@QEAAXAEBKK@Z
-; public: void __cdecl CSort::Add(class CSortKey const & __ptr64) __ptr64
-?Add@CSort@@QEAAXAEBVCSortKey@@@Z
-; public: void __cdecl CRestriction::AddChild(class CPropertyRestriction const & __ptr64) __ptr64
-?AddChild@CRestriction@@QEAAXAEBVCPropertyRestriction@@@Z
-; public: void __cdecl CRestriction::AddRestriction(struct tagBLOB & __ptr64,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXAEAUtagBLOB@@KK@Z
-; public: void __cdecl CRestriction::AddRestriction(class CMQVariant const & __ptr64,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXAEBVCMQVariant@@KK@Z
-; public: void __cdecl CRestriction::AddRestriction(unsigned char,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXEKK@Z
-; public: void __cdecl CRestriction::AddRestriction(short,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXFKK@Z
-; public: void __cdecl CRestriction::AddRestriction(long,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXJKK@Z
-; public: void __cdecl CRestriction::AddRestriction(unsigned long,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXKKK@Z
-; public: void __cdecl CRestriction::AddRestriction(unsigned short * __ptr64,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXPEAGKK@Z
-; public: void __cdecl CRestriction::AddRestriction(struct _GUID * __ptr64,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXPEAU_GUID@@KK@Z
-; public: void __cdecl CRestriction::AddRestriction(struct tagCACLSID * __ptr64,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXPEAUtagCACLSID@@KK@Z
-; public: void __cdecl CRestriction::AddRestriction(struct tagCALPWSTR * __ptr64,unsigned long,unsigned long) __ptr64
-?AddRestriction@CRestriction@@QEAAXPEAUtagCALPWSTR@@KK@Z
-; public: void __cdecl CCancelRpc::CancelRequests(__int64) __ptr64
-?CancelRequests@CCancelRpc@@QEAAX_J@Z
-; private: static unsigned long __cdecl CCancelRpc::CancelThread(void * __ptr64)
-?CancelThread@CCancelRpc@@CAKPEAX@Z
-; public: struct tagMQCOLUMNSET * __ptr64 __cdecl CColumns::CastToStruct(void) __ptr64
-?CastToStruct@CColumns@@QEAAPEAUtagMQCOLUMNSET@@XZ
-; public: struct tagMQRESTRICTION * __ptr64 __cdecl CRestriction::CastToStruct(void) __ptr64
-?CastToStruct@CRestriction@@QEAAPEAUtagMQRESTRICTION@@XZ
-; public: struct tagMQSORTSET * __ptr64 __cdecl CSort::CastToStruct(void) __ptr64
-?CastToStruct@CSort@@QEAAPEAUtagMQSORTSET@@XZ
-; void __cdecl ComposeRPCEndPointName(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64)
-?ComposeRPCEndPointName@@YAXPEBG0PEAPEAG@Z
-; private: long __cdecl CDSBaseUpdate::CopyProperty(struct tagPROPVARIANT & __ptr64,struct tagPROPVARIANT * __ptr64) __ptr64
-?CopyProperty@CDSBaseUpdate@@AEAAJAEAUtagPROPVARIANT@@PEAU2@@Z
-; public: unsigned int __cdecl CColumns::Count(void)const  __ptr64
-?Count@CColumns@@QEBAIXZ
-; public: unsigned int __cdecl CRestriction::Count(void)const  __ptr64
-?Count@CRestriction@@QEBAIXZ
-; public: unsigned int __cdecl CSort::Count(void)const  __ptr64
-?Count@CSort@@QEBAIXZ
-; long __cdecl DeleteFalconKeyValue(unsigned short const * __ptr64)
-?DeleteFalconKeyValue@@YAJPEBG@Z
-; private: void __cdecl CDSBaseUpdate::DeleteProperty(struct tagPROPVARIANT & __ptr64) __ptr64
-?DeleteProperty@CDSBaseUpdate@@AEAAXAEAUtagPROPVARIANT@@@Z
-FreeContextHandle
-; public: unsigned long const & __ptr64 __cdecl CColumns::Get(unsigned int)const  __ptr64
-?Get@CColumns@@QEBAAEBKI@Z
-; public: class CSortKey const & __ptr64 __cdecl CSort::Get(unsigned int)const  __ptr64
-?Get@CSort@@QEBAAEBVCSortKey@@I@Z
-; public: class CPropertyRestriction const & __ptr64 __cdecl CRestriction::GetChild(unsigned int)const  __ptr64
-?GetChild@CRestriction@@QEBAAEBVCPropertyRestriction@@I@Z
-; public: unsigned char __cdecl CDSBaseUpdate::GetCommand(void) __ptr64
-?GetCommand@CDSBaseUpdate@@QEAAEXZ
-; long __cdecl GetComputerDnsNameInternal(unsigned short * __ptr64,unsigned long * __ptr64)
-?GetComputerDnsNameInternal@@YAJPEAGPEAK@Z
-; long __cdecl GetComputerNameInternal(unsigned short * __ptr64,unsigned long * __ptr64)
-?GetComputerNameInternal@@YAJPEAGPEAK@Z
-GetDomainFQDNName
-; long __cdecl GetFalconKey(unsigned short const * __ptr64,struct HKEY__ * __ptr64 * __ptr64)
-?GetFalconKey@@YAJPEBGPEAPEAUHKEY__@@@Z
-GetFalconKeyValue
-; unsigned short const * __ptr64 __cdecl GetFalconSectionName(void)
-?GetFalconSectionName@@YAPEBGXZ
-; unsigned long __cdecl GetFalconServiceName(unsigned short * __ptr64,unsigned long)
-?GetFalconServiceName@@YAKPEAGK@Z
-; public: struct _GUID * __ptr64 __cdecl CDSBaseUpdate::GetGuidIdentifier(void) __ptr64
-?GetGuidIdentifier@CDSBaseUpdate@@QEAAPEAU_GUID@@XZ
-; public: struct _GUID const * __ptr64 __cdecl CDSBaseUpdate::GetMasterId(void) __ptr64
-?GetMasterId@CDSBaseUpdate@@QEAAPEBU_GUID@@XZ
-; public: unsigned long __cdecl CDSBaseUpdate::GetObjectType(void) __ptr64
-?GetObjectType@CDSBaseUpdate@@QEAAKXZ
-; public: unsigned long __cdecl CSortKey::GetOrder(void)const  __ptr64
-?GetOrder@CSortKey@@QEBAKXZ
-; public: unsigned short * __ptr64 __cdecl CDSBaseUpdate::GetPathName(void) __ptr64
-?GetPathName@CDSBaseUpdate@@QEAAPEAGXZ
-; public: class CSeqNum const & __ptr64 __cdecl CDSBaseUpdate::GetPrevSeqNum(void)const  __ptr64
-?GetPrevSeqNum@CDSBaseUpdate@@QEBAAEBVCSeqNum@@XZ
-; public: unsigned long const & __ptr64 __cdecl CSortKey::GetProperty(void)const  __ptr64
-?GetProperty@CSortKey@@QEBAAEBKXZ
-; public: unsigned long * __ptr64 __cdecl CDSBaseUpdate::GetProps(void) __ptr64
-?GetProps@CDSBaseUpdate@@QEAAPEAKXZ
-; public: class CSeqNum const & __ptr64 __cdecl CDSBaseUpdate::GetPurgeSeqNum(void)const  __ptr64
-?GetPurgeSeqNum@CDSBaseUpdate@@QEBAAEBVCSeqNum@@XZ
-; public: class CSeqNum const & __ptr64 __cdecl CDSBaseUpdate::GetSeqNum(void)const  __ptr64
-?GetSeqNum@CDSBaseUpdate@@QEBAAEBVCSeqNum@@XZ
-; public: long __cdecl CDSBaseUpdate::GetSerializeSize(unsigned long * __ptr64) __ptr64
-?GetSerializeSize@CDSBaseUpdate@@QEAAJPEAK@Z
-GetSizes
-; long __cdecl GetThisServerIpPort(unsigned short * __ptr64,unsigned long)
-?GetThisServerIpPort@@YAJPEAGK@Z
-; public: struct tagPROPVARIANT * __ptr64 __cdecl CDSBaseUpdate::GetVars(void) __ptr64
-?GetVars@CDSBaseUpdate@@QEAAPEAUtagPROPVARIANT@@XZ
-; private: void __cdecl CRestriction::Grow(void) __ptr64
-?Grow@CRestriction@@AEAAXXZ
-; long __cdecl HashMessageProperties(unsigned __int64,unsigned char const * __ptr64,unsigned long,unsigned long,unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,struct QUEUE_FORMAT const * __ptr64,struct QUEUE_FORMAT const * __ptr64)
-?HashMessageProperties@@YAJ_KPEBEKK1KPEBGKPEBUQUEUE_FORMAT@@3@Z
-; long __cdecl HashProperties(unsigned __int64,unsigned long,unsigned long * __ptr64,struct tagPROPVARIANT * __ptr64)
-?HashProperties@@YAJ_KKPEAKPEAUtagPROPVARIANT@@@Z
-; public: void __cdecl CCancelRpc::Init(void) __ptr64
-?Init@CCancelRpc@@QEAAXXZ
-; public: long __cdecl CDSBaseUpdate::Init(unsigned char const * __ptr64,unsigned long * __ptr64,int) __ptr64
-?Init@CDSBaseUpdate@@QEAAJPEBEPEAKH@Z
-; public: long __cdecl CDSBaseUpdate::Init(struct _GUID const * __ptr64,class CSeqNum const & __ptr64,class CSeqNum const & __ptr64,class CSeqNum const & __ptr64,int,unsigned char,unsigned long,struct _GUID const * __ptr64,unsigned long,unsigned long * __ptr64,struct tagPROPVARIANT * __ptr64) __ptr64
-?Init@CDSBaseUpdate@@QEAAJPEBU_GUID@@AEBVCSeqNum@@11HEK0KPEAKPEAUtagPROPVARIANT@@@Z
-; public: long __cdecl CDSBaseUpdate::Init(struct _GUID const * __ptr64,class CSeqNum const & __ptr64,class CSeqNum const & __ptr64,class CSeqNum const & __ptr64,int,unsigned char,unsigned long,unsigned short * __ptr64,unsigned long,unsigned long * __ptr64,struct tagPROPVARIANT * __ptr64) __ptr64
-?Init@CDSBaseUpdate@@QEAAJPEBU_GUID@@AEBVCSeqNum@@11HEKPEAGKPEAKPEAUtagPROPVARIANT@@@Z
-; private: long __cdecl CDSBaseUpdate::InitProperty(unsigned char const * __ptr64,unsigned long * __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
-?InitProperty@CDSBaseUpdate@@AEAAJPEBEPEAKKAEAUtagPROPVARIANT@@@Z
-; bool __cdecl IsLocalSystemCluster(void)
-?IsLocalSystemCluster@@YA_NXZ
-; public: void __cdecl COutputReport::KeepErrorHistory(unsigned short const * __ptr64,unsigned short,long) __ptr64
-?KeepErrorHistory@COutputReport@@QEAAXPEBGGJ@Z
-MQSealBuffer
-MQSec_AccessCheck
-MQSec_AccessCheckForSelf
-MQSec_AcquireCryptoProvider
-MQSec_CanGenerateAudit
-MQSec_ConvertSDToNT4Format
-MQSec_ConvertSDToNT5Format
-MQSec_CopySecurityDescriptor
-MQSec_GetAdminSid
-MQSec_GetAnonymousSid
-MQSec_GetCryptoProvProperty
-MQSec_GetDefaultSecDescriptor
-MQSec_GetImpersonationObject
-MQSec_GetLocalMachineSid
-MQSec_GetLocalSystemSid
-MQSec_GetNetworkServiceSid
-MQSec_GetProcessSid
-MQSec_GetProcessUserSid
-MQSec_GetPubKeysFromDS
-MQSec_GetThreadUserSid
-MQSec_GetUserType
-MQSec_GetWorldSid
-MQSec_IsAnonymusSid
-MQSec_IsDC
-MQSec_IsGuestSid
-MQSec_IsNetworkServiceSid
-MQSec_IsSystemSid
-MQSec_IsUnAuthenticatedUser
-MQSec_MakeAbsoluteSD
-MQSec_MakeSelfRelative
-MQSec_MergeSecurityDescriptors
-MQSec_PackPublicKey
-MQSec_RpcAuthnLevel
-MQSec_SetLocalRpcMutualAuth
-MQSec_SetPrivilegeInThread
-MQSec_SetSecurityDescriptorDacl
-MQSec_StorePubKeys
-MQSec_StorePubKeysInDS
-MQSec_TraceThreadTokenInfo
-MQSec_UnpackPublicKey
-MQSec_UpdateLocalMachineSid
-; long __cdecl MQSetCaConfig(unsigned long,class MQ_CA_CONFIG * __ptr64)
-?MQSetCaConfig@@YAJKPEAVMQ_CA_CONFIG@@@Z
-MQSigHashMessageProperties
-MQUInitGlobalScurityVars
-MQsspi_InitServerAuthntication
-; private: void __cdecl CCancelRpc::ProcessEvents(void) __ptr64
-?ProcessEvents@CCancelRpc@@AEAAXXZ
-; void __cdecl ProduceRPCErrorTracing(unsigned short * __ptr64,unsigned long)
-?ProduceRPCErrorTracing@@YAXPEAGK@Z
-; public: unsigned long __cdecl CPropertyRestriction::Relation(void) __ptr64
-?Relation@CPropertyRestriction@@QEAAKXZ
-; public: void __cdecl CCancelRpc::Remove(void * __ptr64) __ptr64
-?Remove@CCancelRpc@@QEAAXPEAX@Z
-; public: void __cdecl CColumns::Remove(unsigned int) __ptr64
-?Remove@CColumns@@QEAAXI@Z
-; public: void __cdecl CSort::Remove(unsigned int) __ptr64
-?Remove@CSort@@QEAAXI@Z
-; class COutputReport  Report
-?Report@@3VCOutputReport@@A DATA
-; public: unsigned long __cdecl CCancelRpc::RpcCancelTimeout(void) __ptr64
-?RpcCancelTimeout@CCancelRpc@@QEAAKXZ
-; public: long __cdecl CDSBaseUpdate::Serialize(unsigned char * __ptr64,unsigned long * __ptr64,int) __ptr64
-?Serialize@CDSBaseUpdate@@QEAAJPEAEPEAKH@Z
-; private: long __cdecl CDSBaseUpdate::SerializeProperty(struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
-?SerializeProperty@CDSBaseUpdate@@AEAAJAEAUtagPROPVARIANT@@PEAEPEAK@Z
-ServerAcceptSecCtx
-; public: void __cdecl CRestriction::SetChild(class CPropertyRestriction const & __ptr64,unsigned int) __ptr64
-?SetChild@CRestriction@@QEAAXAEBVCPropertyRestriction@@I@Z
-SetFalconKeyValue
-SetFalconServiceName
-; public: void __cdecl CSortKey::SetOrder(unsigned long const & __ptr64) __ptr64
-?SetOrder@CSortKey@@QEAAXAEBK@Z
-; public: void __cdecl CDSBaseUpdate::SetPrevSeqNum(class CSeqNum & __ptr64) __ptr64
-?SetPrevSeqNum@CDSBaseUpdate@@QEAAXAEAVCSeqNum@@@Z
-; public: void __cdecl CPropertyRestriction::SetProperty(unsigned long const & __ptr64) __ptr64
-?SetProperty@CPropertyRestriction@@QEAAXAEBK@Z
-; public: void __cdecl CSortKey::SetProperty(unsigned long const & __ptr64) __ptr64
-?SetProperty@CSortKey@@QEAAXAEBK@Z
-; public: void __cdecl CPropertyRestriction::SetRelation(unsigned long) __ptr64
-?SetRelation@CPropertyRestriction@@QEAAXK@Z
-; public: void __cdecl CPropertyRestriction::SetValue(struct tagBLOB & __ptr64) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXAEAUtagBLOB@@@Z
-; public: void __cdecl CPropertyRestriction::SetValue(class CMQVariant const & __ptr64) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXAEBVCMQVariant@@@Z
-; public: void __cdecl CPropertyRestriction::SetValue(unsigned char) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXE@Z
-; public: void __cdecl CPropertyRestriction::SetValue(short) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXF@Z
-; public: void __cdecl CPropertyRestriction::SetValue(long) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXJ@Z
-; public: void __cdecl CPropertyRestriction::SetValue(unsigned long) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXK@Z
-; public: void __cdecl CPropertyRestriction::SetValue(unsigned short * __ptr64) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXPEAG@Z
-; public: void __cdecl CPropertyRestriction::SetValue(struct _GUID * __ptr64) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXPEAU_GUID@@@Z
-; public: void __cdecl CPropertyRestriction::SetValue(struct tagCACLSID * __ptr64) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXPEAUtagCACLSID@@@Z
-; public: void __cdecl CPropertyRestriction::SetValue(struct tagCALPWSTR * __ptr64) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXPEAUtagCALPWSTR@@@Z
-; public: void __cdecl CCancelRpc::ShutDownCancelThread(void) __ptr64
-?ShutDownCancelThread@CCancelRpc@@QEAAXXZ
-ShutDownDebugWindow
-; unsigned __int64 __cdecl UnalignedWcslen(unsigned short const * __ptr64 __ptr64)
-?UnalignedWcslen@@YA_KPEFBG@Z
-; public: class CMQVariant const & __ptr64 __cdecl CPropertyRestriction::Value(void) __ptr64
-?Value@CPropertyRestriction@@QEAAAEBVCMQVariant@@XZ
-; long __cdecl XactGetDTC(struct IUnknown * __ptr64 * __ptr64)
-?XactGetDTC@@YAJPEAPEAUIUnknown@@@Z
-; long __cdecl XactGetWhereabouts(unsigned long * __ptr64,unsigned char * __ptr64)
-?XactGetWhereabouts@@YAJPEAKPEAE@Z
-; class CCancelRpc  g_CancelRpc
-?g_CancelRpc@@3VCCancelRpc@@A DATA
-; class CHCryptProv  g_hProvVer
-?g_hProvVer@@3VCHCryptProv@@A DATA
-; public: unsigned char __cdecl CDSBaseUpdate::getNumOfProps(void) __ptr64
-?getNumOfProps@CDSBaseUpdate@@QEAAEXZ
-; long __cdecl mqrpcBindQMService(unsigned short * __ptr64,unsigned short * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64,enum PORTTYPE,unsigned long (__cdecl*)(void * __ptr64,unsigned long),unsigned long)
-?mqrpcBindQMService@@YAJPEAG0PEAKPEAPEAXW4PORTTYPE@@P6AKPEAXK@ZK@Z
-; unsigned long __cdecl mqrpcGetLocalCallPID(void * __ptr64)
-?mqrpcGetLocalCallPID@@YAKPEAX@Z
-; int __cdecl mqrpcIsLocalCall(void * __ptr64)
-?mqrpcIsLocalCall@@YAHPEAX@Z
-; int __cdecl mqrpcIsTcpipTransport(void * __ptr64)
-?mqrpcIsTcpipTransport@@YAHPEAX@Z
-; long __cdecl mqrpcUnbindQMService(void * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64)
-?mqrpcUnbindQMService@@YAJPEAPEAXPEAPEAG@Z
-MQSigCloneCertFromReg
-MQSigCloneCertFromSysStore
-MQSigCreateCertificate
-MQSigOpenUserCertStore
-MSMQGetOperatingSystem
+; 
+; Exports of file mqsec.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqsec.dll
+EXPORTS
+; public: __cdecl CCancelRpc::CCancelRpc(class CCancelRpc const & __ptr64) __ptr64
+??0CCancelRpc@@QEAA@AEBV0@@Z
+; public: __cdecl CCancelRpc::CCancelRpc(void) __ptr64
+??0CCancelRpc@@QEAA@XZ
+; public: __cdecl CColumns::CColumns(class CColumns const & __ptr64) __ptr64
+??0CColumns@@QEAA@AEBV0@@Z
+; public: __cdecl CColumns::CColumns(unsigned int) __ptr64
+??0CColumns@@QEAA@I@Z
+; public: __cdecl CDSBaseUpdate::CDSBaseUpdate(class CDSBaseUpdate const & __ptr64) __ptr64
+??0CDSBaseUpdate@@QEAA@AEBV0@@Z
+; public: __cdecl CDSBaseUpdate::CDSBaseUpdate(void) __ptr64
+??0CDSBaseUpdate@@QEAA@XZ
+; public: __cdecl COutputReport::COutputReport(void) __ptr64
+??0COutputReport@@QEAA@XZ
+; public: __cdecl CPropertyRestriction::CPropertyRestriction(class CPropertyRestriction const & __ptr64) __ptr64
+??0CPropertyRestriction@@QEAA@AEBV0@@Z
+; public: __cdecl CPropertyRestriction::CPropertyRestriction(unsigned long,unsigned long const & __ptr64,class CMQVariant const & __ptr64) __ptr64
+??0CPropertyRestriction@@QEAA@KAEBKAEBVCMQVariant@@@Z
+; public: __cdecl CPropertyRestriction::CPropertyRestriction(void) __ptr64
+??0CPropertyRestriction@@QEAA@XZ
+; public: __cdecl CRestriction::CRestriction(class CRestriction const & __ptr64) __ptr64
+??0CRestriction@@QEAA@AEBV0@@Z
+; public: __cdecl CRestriction::CRestriction(unsigned int) __ptr64
+??0CRestriction@@QEAA@I@Z
+; public: __cdecl CSort::CSort(class CSort const & __ptr64) __ptr64
+??0CSort@@QEAA@AEBV0@@Z
+; public: __cdecl CSort::CSort(unsigned int) __ptr64
+??0CSort@@QEAA@I@Z
+; public: __cdecl CSortKey::CSortKey(unsigned long const & __ptr64,unsigned long) __ptr64
+??0CSortKey@@QEAA@AEBKK@Z
+; public: __cdecl CSortKey::CSortKey(void) __ptr64
+??0CSortKey@@QEAA@XZ
+; public: __cdecl CCancelRpc::~CCancelRpc(void) __ptr64
+??1CCancelRpc@@QEAA@XZ
+; public: __cdecl CColumns::~CColumns(void) __ptr64
+??1CColumns@@QEAA@XZ
+; public: __cdecl CDSBaseUpdate::~CDSBaseUpdate(void) __ptr64
+??1CDSBaseUpdate@@QEAA@XZ
+; public: __cdecl COutputReport::~COutputReport(void) __ptr64
+??1COutputReport@@QEAA@XZ
+; public: __cdecl CPropertyRestriction::~CPropertyRestriction(void) __ptr64
+??1CPropertyRestriction@@QEAA@XZ
+; public: __cdecl CRestriction::~CRestriction(void) __ptr64
+??1CRestriction@@QEAA@XZ
+; public: __cdecl CSort::~CSort(void) __ptr64
+??1CSort@@QEAA@XZ
+; public: __cdecl CSortKey::~CSortKey(void) __ptr64
+??1CSortKey@@QEAA@XZ
+; public: class CCancelRpc & __ptr64 __cdecl CCancelRpc::operator=(class CCancelRpc const & __ptr64) __ptr64
+??4CCancelRpc@@QEAAAEAV0@AEBV0@@Z
+; public: class CDSBaseUpdate & __ptr64 __cdecl CDSBaseUpdate::operator=(class CDSBaseUpdate const & __ptr64) __ptr64
+??4CDSBaseUpdate@@QEAAAEAV0@AEBV0@@Z
+; public: class COutputReport & __ptr64 __cdecl COutputReport::operator=(class COutputReport const & __ptr64) __ptr64
+??4COutputReport@@QEAAAEAV0@AEBV0@@Z
+; public: class CPropertyRestriction & __ptr64 __cdecl CPropertyRestriction::operator=(class CPropertyRestriction const & __ptr64) __ptr64
+??4CPropertyRestriction@@QEAAAEAV0@AEBV0@@Z
+; public: class CRestriction & __ptr64 __cdecl CRestriction::operator=(class CRestriction const & __ptr64) __ptr64
+??4CRestriction@@QEAAAEAV0@AEBV0@@Z
+; public: class CSortKey & __ptr64 __cdecl CSortKey::operator=(class CSortKey const & __ptr64) __ptr64
+??4CSortKey@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl CColumns::`default constructor closure'(void) __ptr64
+??_FCColumns@@QEAAXXZ
+; public: void __cdecl CRestriction::`default constructor closure'(void) __ptr64
+??_FCRestriction@@QEAAXXZ
+; public: void __cdecl CSort::`default constructor closure'(void) __ptr64
+??_FCSort@@QEAAXXZ
+; public: void __cdecl CCancelRpc::Add(void * __ptr64,__int64) __ptr64
+?Add@CCancelRpc@@QEAAXPEAX_J@Z
+; public: void __cdecl CColumns::Add(unsigned long const & __ptr64) __ptr64
+?Add@CColumns@@QEAAXAEBK@Z
+; public: void __cdecl CSort::Add(unsigned long const & __ptr64,unsigned long) __ptr64
+?Add@CSort@@QEAAXAEBKK@Z
+; public: void __cdecl CSort::Add(class CSortKey const & __ptr64) __ptr64
+?Add@CSort@@QEAAXAEBVCSortKey@@@Z
+; public: void __cdecl CRestriction::AddChild(class CPropertyRestriction const & __ptr64) __ptr64
+?AddChild@CRestriction@@QEAAXAEBVCPropertyRestriction@@@Z
+; public: void __cdecl CRestriction::AddRestriction(struct tagBLOB & __ptr64,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXAEAUtagBLOB@@KK@Z
+; public: void __cdecl CRestriction::AddRestriction(class CMQVariant const & __ptr64,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXAEBVCMQVariant@@KK@Z
+; public: void __cdecl CRestriction::AddRestriction(unsigned char,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXEKK@Z
+; public: void __cdecl CRestriction::AddRestriction(short,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXFKK@Z
+; public: void __cdecl CRestriction::AddRestriction(long,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXJKK@Z
+; public: void __cdecl CRestriction::AddRestriction(unsigned long,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXKKK@Z
+; public: void __cdecl CRestriction::AddRestriction(unsigned short * __ptr64,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXPEAGKK@Z
+; public: void __cdecl CRestriction::AddRestriction(struct _GUID * __ptr64,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXPEAU_GUID@@KK@Z
+; public: void __cdecl CRestriction::AddRestriction(struct tagCACLSID * __ptr64,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXPEAUtagCACLSID@@KK@Z
+; public: void __cdecl CRestriction::AddRestriction(struct tagCALPWSTR * __ptr64,unsigned long,unsigned long) __ptr64
+?AddRestriction@CRestriction@@QEAAXPEAUtagCALPWSTR@@KK@Z
+; public: void __cdecl CCancelRpc::CancelRequests(__int64) __ptr64
+?CancelRequests@CCancelRpc@@QEAAX_J@Z
+; private: static unsigned long __cdecl CCancelRpc::CancelThread(void * __ptr64)
+?CancelThread@CCancelRpc@@CAKPEAX@Z
+; public: struct tagMQCOLUMNSET * __ptr64 __cdecl CColumns::CastToStruct(void) __ptr64
+?CastToStruct@CColumns@@QEAAPEAUtagMQCOLUMNSET@@XZ
+; public: struct tagMQRESTRICTION * __ptr64 __cdecl CRestriction::CastToStruct(void) __ptr64
+?CastToStruct@CRestriction@@QEAAPEAUtagMQRESTRICTION@@XZ
+; public: struct tagMQSORTSET * __ptr64 __cdecl CSort::CastToStruct(void) __ptr64
+?CastToStruct@CSort@@QEAAPEAUtagMQSORTSET@@XZ
+; void __cdecl ComposeRPCEndPointName(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64)
+?ComposeRPCEndPointName@@YAXPEBG0PEAPEAG@Z
+; private: long __cdecl CDSBaseUpdate::CopyProperty(struct tagPROPVARIANT & __ptr64,struct tagPROPVARIANT * __ptr64) __ptr64
+?CopyProperty@CDSBaseUpdate@@AEAAJAEAUtagPROPVARIANT@@PEAU2@@Z
+; public: unsigned int __cdecl CColumns::Count(void)const  __ptr64
+?Count@CColumns@@QEBAIXZ
+; public: unsigned int __cdecl CRestriction::Count(void)const  __ptr64
+?Count@CRestriction@@QEBAIXZ
+; public: unsigned int __cdecl CSort::Count(void)const  __ptr64
+?Count@CSort@@QEBAIXZ
+; long __cdecl DeleteFalconKeyValue(unsigned short const * __ptr64)
+?DeleteFalconKeyValue@@YAJPEBG@Z
+; private: void __cdecl CDSBaseUpdate::DeleteProperty(struct tagPROPVARIANT & __ptr64) __ptr64
+?DeleteProperty@CDSBaseUpdate@@AEAAXAEAUtagPROPVARIANT@@@Z
+FreeContextHandle
+; public: unsigned long const & __ptr64 __cdecl CColumns::Get(unsigned int)const  __ptr64
+?Get@CColumns@@QEBAAEBKI@Z
+; public: class CSortKey const & __ptr64 __cdecl CSort::Get(unsigned int)const  __ptr64
+?Get@CSort@@QEBAAEBVCSortKey@@I@Z
+; public: class CPropertyRestriction const & __ptr64 __cdecl CRestriction::GetChild(unsigned int)const  __ptr64
+?GetChild@CRestriction@@QEBAAEBVCPropertyRestriction@@I@Z
+; public: unsigned char __cdecl CDSBaseUpdate::GetCommand(void) __ptr64
+?GetCommand@CDSBaseUpdate@@QEAAEXZ
+; long __cdecl GetComputerDnsNameInternal(unsigned short * __ptr64,unsigned long * __ptr64)
+?GetComputerDnsNameInternal@@YAJPEAGPEAK@Z
+; long __cdecl GetComputerNameInternal(unsigned short * __ptr64,unsigned long * __ptr64)
+?GetComputerNameInternal@@YAJPEAGPEAK@Z
+GetDomainFQDNName
+; long __cdecl GetFalconKey(unsigned short const * __ptr64,struct HKEY__ * __ptr64 * __ptr64)
+?GetFalconKey@@YAJPEBGPEAPEAUHKEY__@@@Z
+GetFalconKeyValue
+; unsigned short const * __ptr64 __cdecl GetFalconSectionName(void)
+?GetFalconSectionName@@YAPEBGXZ
+; unsigned long __cdecl GetFalconServiceName(unsigned short * __ptr64,unsigned long)
+?GetFalconServiceName@@YAKPEAGK@Z
+; public: struct _GUID * __ptr64 __cdecl CDSBaseUpdate::GetGuidIdentifier(void) __ptr64
+?GetGuidIdentifier@CDSBaseUpdate@@QEAAPEAU_GUID@@XZ
+; public: struct _GUID const * __ptr64 __cdecl CDSBaseUpdate::GetMasterId(void) __ptr64
+?GetMasterId@CDSBaseUpdate@@QEAAPEBU_GUID@@XZ
+; public: unsigned long __cdecl CDSBaseUpdate::GetObjectType(void) __ptr64
+?GetObjectType@CDSBaseUpdate@@QEAAKXZ
+; public: unsigned long __cdecl CSortKey::GetOrder(void)const  __ptr64
+?GetOrder@CSortKey@@QEBAKXZ
+; public: unsigned short * __ptr64 __cdecl CDSBaseUpdate::GetPathName(void) __ptr64
+?GetPathName@CDSBaseUpdate@@QEAAPEAGXZ
+; public: class CSeqNum const & __ptr64 __cdecl CDSBaseUpdate::GetPrevSeqNum(void)const  __ptr64
+?GetPrevSeqNum@CDSBaseUpdate@@QEBAAEBVCSeqNum@@XZ
+; public: unsigned long const & __ptr64 __cdecl CSortKey::GetProperty(void)const  __ptr64
+?GetProperty@CSortKey@@QEBAAEBKXZ
+; public: unsigned long * __ptr64 __cdecl CDSBaseUpdate::GetProps(void) __ptr64
+?GetProps@CDSBaseUpdate@@QEAAPEAKXZ
+; public: class CSeqNum const & __ptr64 __cdecl CDSBaseUpdate::GetPurgeSeqNum(void)const  __ptr64
+?GetPurgeSeqNum@CDSBaseUpdate@@QEBAAEBVCSeqNum@@XZ
+; public: class CSeqNum const & __ptr64 __cdecl CDSBaseUpdate::GetSeqNum(void)const  __ptr64
+?GetSeqNum@CDSBaseUpdate@@QEBAAEBVCSeqNum@@XZ
+; public: long __cdecl CDSBaseUpdate::GetSerializeSize(unsigned long * __ptr64) __ptr64
+?GetSerializeSize@CDSBaseUpdate@@QEAAJPEAK@Z
+GetSizes
+; long __cdecl GetThisServerIpPort(unsigned short * __ptr64,unsigned long)
+?GetThisServerIpPort@@YAJPEAGK@Z
+; public: struct tagPROPVARIANT * __ptr64 __cdecl CDSBaseUpdate::GetVars(void) __ptr64
+?GetVars@CDSBaseUpdate@@QEAAPEAUtagPROPVARIANT@@XZ
+; private: void __cdecl CRestriction::Grow(void) __ptr64
+?Grow@CRestriction@@AEAAXXZ
+; long __cdecl HashMessageProperties(unsigned __int64,unsigned char const * __ptr64,unsigned long,unsigned long,unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,struct QUEUE_FORMAT const * __ptr64,struct QUEUE_FORMAT const * __ptr64)
+?HashMessageProperties@@YAJ_KPEBEKK1KPEBGKPEBUQUEUE_FORMAT@@3@Z
+; long __cdecl HashProperties(unsigned __int64,unsigned long,unsigned long * __ptr64,struct tagPROPVARIANT * __ptr64)
+?HashProperties@@YAJ_KKPEAKPEAUtagPROPVARIANT@@@Z
+; public: void __cdecl CCancelRpc::Init(void) __ptr64
+?Init@CCancelRpc@@QEAAXXZ
+; public: long __cdecl CDSBaseUpdate::Init(unsigned char const * __ptr64,unsigned long * __ptr64,int) __ptr64
+?Init@CDSBaseUpdate@@QEAAJPEBEPEAKH@Z
+; public: long __cdecl CDSBaseUpdate::Init(struct _GUID const * __ptr64,class CSeqNum const & __ptr64,class CSeqNum const & __ptr64,class CSeqNum const & __ptr64,int,unsigned char,unsigned long,struct _GUID const * __ptr64,unsigned long,unsigned long * __ptr64,struct tagPROPVARIANT * __ptr64) __ptr64
+?Init@CDSBaseUpdate@@QEAAJPEBU_GUID@@AEBVCSeqNum@@11HEK0KPEAKPEAUtagPROPVARIANT@@@Z
+; public: long __cdecl CDSBaseUpdate::Init(struct _GUID const * __ptr64,class CSeqNum const & __ptr64,class CSeqNum const & __ptr64,class CSeqNum const & __ptr64,int,unsigned char,unsigned long,unsigned short * __ptr64,unsigned long,unsigned long * __ptr64,struct tagPROPVARIANT * __ptr64) __ptr64
+?Init@CDSBaseUpdate@@QEAAJPEBU_GUID@@AEBVCSeqNum@@11HEKPEAGKPEAKPEAUtagPROPVARIANT@@@Z
+; private: long __cdecl CDSBaseUpdate::InitProperty(unsigned char const * __ptr64,unsigned long * __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
+?InitProperty@CDSBaseUpdate@@AEAAJPEBEPEAKKAEAUtagPROPVARIANT@@@Z
+; bool __cdecl IsLocalSystemCluster(void)
+?IsLocalSystemCluster@@YA_NXZ
+; public: void __cdecl COutputReport::KeepErrorHistory(unsigned short const * __ptr64,unsigned short,long) __ptr64
+?KeepErrorHistory@COutputReport@@QEAAXPEBGGJ@Z
+MQSealBuffer
+MQSec_AccessCheck
+MQSec_AccessCheckForSelf
+MQSec_AcquireCryptoProvider
+MQSec_CanGenerateAudit
+MQSec_ConvertSDToNT4Format
+MQSec_ConvertSDToNT5Format
+MQSec_CopySecurityDescriptor
+MQSec_GetAdminSid
+MQSec_GetAnonymousSid
+MQSec_GetCryptoProvProperty
+MQSec_GetDefaultSecDescriptor
+MQSec_GetImpersonationObject
+MQSec_GetLocalMachineSid
+MQSec_GetLocalSystemSid
+MQSec_GetNetworkServiceSid
+MQSec_GetProcessSid
+MQSec_GetProcessUserSid
+MQSec_GetPubKeysFromDS
+MQSec_GetThreadUserSid
+MQSec_GetUserType
+MQSec_GetWorldSid
+MQSec_IsAnonymusSid
+MQSec_IsDC
+MQSec_IsGuestSid
+MQSec_IsNetworkServiceSid
+MQSec_IsSystemSid
+MQSec_IsUnAuthenticatedUser
+MQSec_MakeAbsoluteSD
+MQSec_MakeSelfRelative
+MQSec_MergeSecurityDescriptors
+MQSec_PackPublicKey
+MQSec_RpcAuthnLevel
+MQSec_SetLocalRpcMutualAuth
+MQSec_SetPrivilegeInThread
+MQSec_SetSecurityDescriptorDacl
+MQSec_StorePubKeys
+MQSec_StorePubKeysInDS
+MQSec_TraceThreadTokenInfo
+MQSec_UnpackPublicKey
+MQSec_UpdateLocalMachineSid
+; long __cdecl MQSetCaConfig(unsigned long,class MQ_CA_CONFIG * __ptr64)
+?MQSetCaConfig@@YAJKPEAVMQ_CA_CONFIG@@@Z
+MQSigHashMessageProperties
+MQUInitGlobalScurityVars
+MQsspi_InitServerAuthntication
+; private: void __cdecl CCancelRpc::ProcessEvents(void) __ptr64
+?ProcessEvents@CCancelRpc@@AEAAXXZ
+; void __cdecl ProduceRPCErrorTracing(unsigned short * __ptr64,unsigned long)
+?ProduceRPCErrorTracing@@YAXPEAGK@Z
+; public: unsigned long __cdecl CPropertyRestriction::Relation(void) __ptr64
+?Relation@CPropertyRestriction@@QEAAKXZ
+; public: void __cdecl CCancelRpc::Remove(void * __ptr64) __ptr64
+?Remove@CCancelRpc@@QEAAXPEAX@Z
+; public: void __cdecl CColumns::Remove(unsigned int) __ptr64
+?Remove@CColumns@@QEAAXI@Z
+; public: void __cdecl CSort::Remove(unsigned int) __ptr64
+?Remove@CSort@@QEAAXI@Z
+; class COutputReport  Report
+?Report@@3VCOutputReport@@A DATA
+; public: unsigned long __cdecl CCancelRpc::RpcCancelTimeout(void) __ptr64
+?RpcCancelTimeout@CCancelRpc@@QEAAKXZ
+; public: long __cdecl CDSBaseUpdate::Serialize(unsigned char * __ptr64,unsigned long * __ptr64,int) __ptr64
+?Serialize@CDSBaseUpdate@@QEAAJPEAEPEAKH@Z
+; private: long __cdecl CDSBaseUpdate::SerializeProperty(struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
+?SerializeProperty@CDSBaseUpdate@@AEAAJAEAUtagPROPVARIANT@@PEAEPEAK@Z
+ServerAcceptSecCtx
+; public: void __cdecl CRestriction::SetChild(class CPropertyRestriction const & __ptr64,unsigned int) __ptr64
+?SetChild@CRestriction@@QEAAXAEBVCPropertyRestriction@@I@Z
+SetFalconKeyValue
+SetFalconServiceName
+; public: void __cdecl CSortKey::SetOrder(unsigned long const & __ptr64) __ptr64
+?SetOrder@CSortKey@@QEAAXAEBK@Z
+; public: void __cdecl CDSBaseUpdate::SetPrevSeqNum(class CSeqNum & __ptr64) __ptr64
+?SetPrevSeqNum@CDSBaseUpdate@@QEAAXAEAVCSeqNum@@@Z
+; public: void __cdecl CPropertyRestriction::SetProperty(unsigned long const & __ptr64) __ptr64
+?SetProperty@CPropertyRestriction@@QEAAXAEBK@Z
+; public: void __cdecl CSortKey::SetProperty(unsigned long const & __ptr64) __ptr64
+?SetProperty@CSortKey@@QEAAXAEBK@Z
+; public: void __cdecl CPropertyRestriction::SetRelation(unsigned long) __ptr64
+?SetRelation@CPropertyRestriction@@QEAAXK@Z
+; public: void __cdecl CPropertyRestriction::SetValue(struct tagBLOB & __ptr64) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXAEAUtagBLOB@@@Z
+; public: void __cdecl CPropertyRestriction::SetValue(class CMQVariant const & __ptr64) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXAEBVCMQVariant@@@Z
+; public: void __cdecl CPropertyRestriction::SetValue(unsigned char) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXE@Z
+; public: void __cdecl CPropertyRestriction::SetValue(short) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXF@Z
+; public: void __cdecl CPropertyRestriction::SetValue(long) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXJ@Z
+; public: void __cdecl CPropertyRestriction::SetValue(unsigned long) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXK@Z
+; public: void __cdecl CPropertyRestriction::SetValue(unsigned short * __ptr64) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXPEAG@Z
+; public: void __cdecl CPropertyRestriction::SetValue(struct _GUID * __ptr64) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXPEAU_GUID@@@Z
+; public: void __cdecl CPropertyRestriction::SetValue(struct tagCACLSID * __ptr64) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXPEAUtagCACLSID@@@Z
+; public: void __cdecl CPropertyRestriction::SetValue(struct tagCALPWSTR * __ptr64) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXPEAUtagCALPWSTR@@@Z
+; public: void __cdecl CCancelRpc::ShutDownCancelThread(void) __ptr64
+?ShutDownCancelThread@CCancelRpc@@QEAAXXZ
+ShutDownDebugWindow
+; unsigned __int64 __cdecl UnalignedWcslen(unsigned short const * __ptr64 __ptr64)
+?UnalignedWcslen@@YA_KPEFBG@Z
+; public: class CMQVariant const & __ptr64 __cdecl CPropertyRestriction::Value(void) __ptr64
+?Value@CPropertyRestriction@@QEAAAEBVCMQVariant@@XZ
+; long __cdecl XactGetDTC(struct IUnknown * __ptr64 * __ptr64)
+?XactGetDTC@@YAJPEAPEAUIUnknown@@@Z
+; long __cdecl XactGetWhereabouts(unsigned long * __ptr64,unsigned char * __ptr64)
+?XactGetWhereabouts@@YAJPEAKPEAE@Z
+; class CCancelRpc  g_CancelRpc
+?g_CancelRpc@@3VCCancelRpc@@A DATA
+; class CHCryptProv  g_hProvVer
+?g_hProvVer@@3VCHCryptProv@@A DATA
+; public: unsigned char __cdecl CDSBaseUpdate::getNumOfProps(void) __ptr64
+?getNumOfProps@CDSBaseUpdate@@QEAAEXZ
+; long __cdecl mqrpcBindQMService(unsigned short * __ptr64,unsigned short * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64,enum PORTTYPE,unsigned long (__cdecl*)(void * __ptr64,unsigned long),unsigned long)
+?mqrpcBindQMService@@YAJPEAG0PEAKPEAPEAXW4PORTTYPE@@P6AKPEAXK@ZK@Z
+; unsigned long __cdecl mqrpcGetLocalCallPID(void * __ptr64)
+?mqrpcGetLocalCallPID@@YAKPEAX@Z
+; int __cdecl mqrpcIsLocalCall(void * __ptr64)
+?mqrpcIsLocalCall@@YAHPEAX@Z
+; int __cdecl mqrpcIsTcpipTransport(void * __ptr64)
+?mqrpcIsTcpipTransport@@YAHPEAX@Z
+; long __cdecl mqrpcUnbindQMService(void * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64)
+?mqrpcUnbindQMService@@YAJPEAPEAXPEAPEAG@Z
+MQSigCloneCertFromReg
+MQSigCloneCertFromSysStore
+MQSigCreateCertificate
+MQSigOpenUserCertStore
+MSMQGetOperatingSystem
diff --git a/mingw-w64-crt/lib64/mqsnap.def b/mingw-w64-crt/lib64/mqsnap.def
index 55c7618..68dc1ba 100644
--- a/mingw-w64-crt/lib64/mqsnap.def
+++ b/mingw-w64-crt/lib64/mqsnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mqsnap.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqsnap.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mqsnap.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqsnap.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mqtrig.def b/mingw-w64-crt/lib64/mqtrig.def
index e28a66b..e6b78c0 100644
--- a/mingw-w64-crt/lib64/mqtrig.def
+++ b/mingw-w64-crt/lib64/mqtrig.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file trigobjs.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY trigobjs.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file trigobjs.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY trigobjs.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mqupgrd.def b/mingw-w64-crt/lib64/mqupgrd.def
index 42009f3..17c3fdb 100644
--- a/mingw-w64-crt/lib64/mqupgrd.def
+++ b/mingw-w64-crt/lib64/mqupgrd.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MQUPGRD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MQUPGRD.dll
-EXPORTS
-CleanupOnCluster
-MqCreateMsmqObj
+; 
+; Exports of file MQUPGRD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MQUPGRD.dll
+EXPORTS
+CleanupOnCluster
+MqCreateMsmqObj
diff --git a/mingw-w64-crt/lib64/mqutil.def b/mingw-w64-crt/lib64/mqutil.def
index c332456..4685d6d 100644
--- a/mingw-w64-crt/lib64/mqutil.def
+++ b/mingw-w64-crt/lib64/mqutil.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file mqutil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqutil.dll
-EXPORTS
-MQGetResourceHandle
+; 
+; Exports of file mqutil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqutil.dll
+EXPORTS
+MQGetResourceHandle
diff --git a/mingw-w64-crt/lib64/msaatext.def b/mingw-w64-crt/lib64/msaatext.def
index 89e8809..a3a2a99 100644
--- a/mingw-w64-crt/lib64/msaatext.def
+++ b/mingw-w64-crt/lib64/msaatext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSAAText.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSAAText.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSAAText.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSAAText.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msacm32.def b/mingw-w64-crt/lib64/msacm32.def
index f4b3dde..d88a15a 100644
--- a/mingw-w64-crt/lib64/msacm32.def
+++ b/mingw-w64-crt/lib64/msacm32.def
@@ -1,50 +1,50 @@
-; 
-; Exports of file MSACM32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSACM32.dll
-EXPORTS
-acmDriverAddA
-acmDriverAddW
-acmDriverClose
-acmDriverDetailsA
-acmDriverDetailsW
-acmDriverEnum
-acmDriverID
-acmDriverMessage
-acmDriverOpen
-acmDriverPriority
-acmDriverRemove
-acmFilterChooseA
-acmFilterChooseW
-acmFilterDetailsA
-acmFilterDetailsW
-acmFilterEnumA
-acmFilterEnumW
-acmFilterTagDetailsA
-acmFilterTagDetailsW
-acmFilterTagEnumA
-acmFilterTagEnumW
-acmFormatChooseA
-acmFormatChooseW
-acmFormatDetailsA
-acmFormatDetailsW
-acmFormatEnumA
-acmFormatEnumW
-acmFormatSuggest
-acmFormatTagDetailsA
-acmFormatTagDetailsW
-acmFormatTagEnumA
-acmFormatTagEnumW
-acmGetVersion
-acmMetrics
-acmStreamClose
-acmStreamConvert
-acmStreamMessage
-acmStreamOpen
-acmStreamPrepareHeader
-acmStreamReset
-acmStreamSize
-acmStreamUnprepareHeader
+; 
+; Exports of file MSACM32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSACM32.dll
+EXPORTS
+acmDriverAddA
+acmDriverAddW
+acmDriverClose
+acmDriverDetailsA
+acmDriverDetailsW
+acmDriverEnum
+acmDriverID
+acmDriverMessage
+acmDriverOpen
+acmDriverPriority
+acmDriverRemove
+acmFilterChooseA
+acmFilterChooseW
+acmFilterDetailsA
+acmFilterDetailsW
+acmFilterEnumA
+acmFilterEnumW
+acmFilterTagDetailsA
+acmFilterTagDetailsW
+acmFilterTagEnumA
+acmFilterTagEnumW
+acmFormatChooseA
+acmFormatChooseW
+acmFormatDetailsA
+acmFormatDetailsW
+acmFormatEnumA
+acmFormatEnumW
+acmFormatSuggest
+acmFormatTagDetailsA
+acmFormatTagDetailsW
+acmFormatTagEnumA
+acmFormatTagEnumW
+acmGetVersion
+acmMetrics
+acmStreamClose
+acmStreamConvert
+acmStreamMessage
+acmStreamOpen
+acmStreamPrepareHeader
+acmStreamReset
+acmStreamSize
+acmStreamUnprepareHeader
diff --git a/mingw-w64-crt/lib64/msadce.def b/mingw-w64-crt/lib64/msadce.def
index fb150c6..d118a76 100644
--- a/mingw-w64-crt/lib64/msadce.def
+++ b/mingw-w64-crt/lib64/msadce.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file fx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY fx.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file fx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY fx.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msadcf.def b/mingw-w64-crt/lib64/msadcf.def
index fa2c3ee..eb63bb8 100644
--- a/mingw-w64-crt/lib64/msadcf.def
+++ b/mingw-w64-crt/lib64/msadcf.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file navdgf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY navdgf.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file navdgf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY navdgf.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msadco.def b/mingw-w64-crt/lib64/msadco.def
index 5586d49..2dfb58e 100644
--- a/mingw-w64-crt/lib64/msadco.def
+++ b/mingw-w64-crt/lib64/msadco.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file active.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY active.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file active.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY active.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msadcs.def b/mingw-w64-crt/lib64/msadcs.def
index 766252c..992f8c6 100644
--- a/mingw-w64-crt/lib64/msadcs.def
+++ b/mingw-w64-crt/lib64/msadcs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MSADCS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADCS.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file MSADCS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADCS.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/msadds.def b/mingw-w64-crt/lib64/msadds.def
index 45011f6..a9d2188 100644
--- a/mingw-w64-crt/lib64/msadds.def
+++ b/mingw-w64-crt/lib64/msadds.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msadds.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msadds.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msadds.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msadds.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msado15.def b/mingw-w64-crt/lib64/msado15.def
index c6f4653..c1cf497 100644
--- a/mingw-w64-crt/lib64/msado15.def
+++ b/mingw-w64-crt/lib64/msado15.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file MSADO15.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADO15.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-RNIGetCompatibleVersion
-com_ms_wfc_data_Field_getBoolean
-com_ms_wfc_data_Field_getByte
-com_ms_wfc_data_Field_getBytes
-com_ms_wfc_data_Field_getDataTimestamp
-com_ms_wfc_data_Field_getDouble
-com_ms_wfc_data_Field_getFloat
-com_ms_wfc_data_Field_getInt
-com_ms_wfc_data_Field_getLong
-com_ms_wfc_data_Field_getShort
-com_ms_wfc_data_Field_getString
-com_ms_wfc_data_Field_isNull
-com_ms_wfc_data_Field_loadMsjava
-com_ms_wfc_data_Field_setDataDate
+; 
+; Exports of file MSADO15.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADO15.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+RNIGetCompatibleVersion
+com_ms_wfc_data_Field_getBoolean
+com_ms_wfc_data_Field_getByte
+com_ms_wfc_data_Field_getBytes
+com_ms_wfc_data_Field_getDataTimestamp
+com_ms_wfc_data_Field_getDouble
+com_ms_wfc_data_Field_getFloat
+com_ms_wfc_data_Field_getInt
+com_ms_wfc_data_Field_getLong
+com_ms_wfc_data_Field_getShort
+com_ms_wfc_data_Field_getString
+com_ms_wfc_data_Field_isNull
+com_ms_wfc_data_Field_loadMsjava
+com_ms_wfc_data_Field_setDataDate
diff --git a/mingw-w64-crt/lib64/msadomd.def b/mingw-w64-crt/lib64/msadomd.def
index 8cbb837..cdb4ad4 100644
--- a/mingw-w64-crt/lib64/msadomd.def
+++ b/mingw-w64-crt/lib64/msadomd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSADOMD.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADOMD.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSADOMD.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADOMD.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msador15.def b/mingw-w64-crt/lib64/msador15.def
index aba0add..9e7918f 100644
--- a/mingw-w64-crt/lib64/msador15.def
+++ b/mingw-w64-crt/lib64/msador15.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSADOR15.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADOR15.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSADOR15.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADOR15.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msadox.def b/mingw-w64-crt/lib64/msadox.def
index 25fb08d..4457a31 100644
--- a/mingw-w64-crt/lib64/msadox.def
+++ b/mingw-w64-crt/lib64/msadox.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msADOX.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msADOX.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msADOX.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msADOX.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msadrh15.def b/mingw-w64-crt/lib64/msadrh15.def
index bf37eb3..b27eff6 100644
--- a/mingw-w64-crt/lib64/msadrh15.def
+++ b/mingw-w64-crt/lib64/msadrh15.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSADRH15.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADRH15.dll
-EXPORTS
-DllMain
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSADRH15.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADRH15.dll
+EXPORTS
+DllMain
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msafd.def b/mingw-w64-crt/lib64/msafd.def
index ee8c652..4868a51 100644
--- a/mingw-w64-crt/lib64/msafd.def
+++ b/mingw-w64-crt/lib64/msafd.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSAFD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSAFD.dll
-EXPORTS
-WSPStartup
+; 
+; Exports of file MSAFD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSAFD.dll
+EXPORTS
+WSPStartup
diff --git a/mingw-w64-crt/lib64/msasn1.def b/mingw-w64-crt/lib64/msasn1.def
index ebeb11a..4946b66 100644
--- a/mingw-w64-crt/lib64/msasn1.def
+++ b/mingw-w64-crt/lib64/msasn1.def
@@ -1,274 +1,274 @@
-; 
-; Exports of file MSASN1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSASN1.dll
-EXPORTS
-ASN1BERDecBitString
-ASN1BERDecBitString2
-ASN1BERDecBool
-ASN1BERDecChar16String
-ASN1BERDecChar32String
-ASN1BERDecCharString
-ASN1BERDecCheck
-ASN1BERDecDouble
-ASN1BERDecEndOfContents
-ASN1BERDecEoid
-ASN1BERDecExplicitTag
-ASN1BERDecFlush
-ASN1BERDecGeneralizedTime
-ASN1BERDecLength
-ASN1BERDecMultibyteString
-ASN1BERDecNotEndOfContents
-ASN1BERDecNull
-ASN1BERDecObjectIdentifier
-ASN1BERDecObjectIdentifier2
-ASN1BERDecOctetString
-ASN1BERDecOctetString2
-ASN1BERDecOpenType
-ASN1BERDecOpenType2
-ASN1BERDecPeekTag
-ASN1BERDecS16Val
-ASN1BERDecS32Val
-ASN1BERDecS8Val
-ASN1BERDecSXVal
-ASN1BERDecSkip
-ASN1BERDecTag
-ASN1BERDecU16Val
-ASN1BERDecU32Val
-ASN1BERDecU8Val
-ASN1BERDecUTCTime
-ASN1BERDecUTF8String
-ASN1BERDecZeroChar16String
-ASN1BERDecZeroChar32String
-ASN1BERDecZeroCharString
-ASN1BERDecZeroMultibyteString
-ASN1BERDotVal2Eoid
-ASN1BEREncBitString
-ASN1BEREncBool
-ASN1BEREncChar16String
-ASN1BEREncChar32String
-ASN1BEREncCharString
-ASN1BEREncCheck
-ASN1BEREncDouble
-ASN1BEREncEndOfContents
-ASN1BEREncEoid
-ASN1BEREncExplicitTag
-ASN1BEREncFlush
-ASN1BEREncGeneralizedTime
-ASN1BEREncLength
-ASN1BEREncMultibyteString
-ASN1BEREncNull
-ASN1BEREncObjectIdentifier
-ASN1BEREncObjectIdentifier2
-ASN1BEREncOctetString
-ASN1BEREncOpenType
-ASN1BEREncRemoveZeroBits
-ASN1BEREncS32
-ASN1BEREncSX
-ASN1BEREncTag
-ASN1BEREncU32
-ASN1BEREncUTCTime
-ASN1BEREncUTF8String
-ASN1BEREncZeroMultibyteString
-ASN1BEREoid2DotVal
-ASN1BEREoid_free
-ASN1CEREncBeginBlk
-ASN1CEREncBitString
-ASN1CEREncChar16String
-ASN1CEREncChar32String
-ASN1CEREncCharString
-ASN1CEREncEndBlk
-ASN1CEREncFlushBlkElement
-ASN1CEREncGeneralizedTime
-ASN1CEREncMultibyteString
-ASN1CEREncNewBlkElement
-ASN1CEREncOctetString
-ASN1CEREncUTCTime
-ASN1CEREncZeroMultibyteString
-ASN1DecAbort
-ASN1DecAlloc
-ASN1DecDone
-ASN1DecRealloc
-ASN1DecSetError
-ASN1EncAbort
-ASN1EncDone
-ASN1EncSetError
-ASN1Free
-ASN1PERDecAlignment
-ASN1PERDecBit
-ASN1PERDecBits
-ASN1PERDecBoolean
-ASN1PERDecChar16String
-ASN1PERDecChar32String
-ASN1PERDecCharString
-ASN1PERDecCharStringNoAlloc
-ASN1PERDecComplexChoice
-ASN1PERDecDouble
-ASN1PERDecExtension
-ASN1PERDecFlush
-ASN1PERDecFragmented
-ASN1PERDecFragmentedChar16String
-ASN1PERDecFragmentedChar32String
-ASN1PERDecFragmentedCharString
-ASN1PERDecFragmentedExtension
-ASN1PERDecFragmentedIntx
-ASN1PERDecFragmentedLength
-ASN1PERDecFragmentedTableChar16String
-ASN1PERDecFragmentedTableChar32String
-ASN1PERDecFragmentedTableCharString
-ASN1PERDecFragmentedUIntx
-ASN1PERDecFragmentedZeroChar16String
-ASN1PERDecFragmentedZeroChar32String
-ASN1PERDecFragmentedZeroCharString
-ASN1PERDecFragmentedZeroTableChar16String
-ASN1PERDecFragmentedZeroTableChar32String
-ASN1PERDecFragmentedZeroTableCharString
-ASN1PERDecGeneralizedTime
-ASN1PERDecInteger
-ASN1PERDecMultibyteString
-ASN1PERDecN16Val
-ASN1PERDecN32Val
-ASN1PERDecN8Val
-ASN1PERDecNormallySmallExtension
-ASN1PERDecObjectIdentifier
-ASN1PERDecObjectIdentifier2
-ASN1PERDecOctetString_FixedSize
-ASN1PERDecOctetString_FixedSizeEx
-ASN1PERDecOctetString_NoSize
-ASN1PERDecOctetString_VarSize
-ASN1PERDecOctetString_VarSizeEx
-ASN1PERDecS16Val
-ASN1PERDecS32Val
-ASN1PERDecS8Val
-ASN1PERDecSXVal
-ASN1PERDecSeqOf_NoSize
-ASN1PERDecSeqOf_VarSize
-ASN1PERDecSimpleChoice
-ASN1PERDecSimpleChoiceEx
-ASN1PERDecSkipBits
-ASN1PERDecSkipFragmented
-ASN1PERDecSkipNormallySmall
-ASN1PERDecSkipNormallySmallExtension
-ASN1PERDecSkipNormallySmallExtensionFragmented
-ASN1PERDecTableChar16String
-ASN1PERDecTableChar32String
-ASN1PERDecTableCharString
-ASN1PERDecTableCharStringNoAlloc
-ASN1PERDecU16Val
-ASN1PERDecU32Val
-ASN1PERDecU8Val
-ASN1PERDecUTCTime
-ASN1PERDecUXVal
-ASN1PERDecUnsignedInteger
-ASN1PERDecUnsignedShort
-ASN1PERDecZeroChar16String
-ASN1PERDecZeroChar32String
-ASN1PERDecZeroCharString
-ASN1PERDecZeroCharStringNoAlloc
-ASN1PERDecZeroTableChar16String
-ASN1PERDecZeroTableChar32String
-ASN1PERDecZeroTableCharString
-ASN1PERDecZeroTableCharStringNoAlloc
-ASN1PEREncAlignment
-ASN1PEREncBit
-ASN1PEREncBitIntx
-ASN1PEREncBitVal
-ASN1PEREncBits
-ASN1PEREncBoolean
-ASN1PEREncChar16String
-ASN1PEREncChar32String
-ASN1PEREncCharString
-ASN1PEREncCheckExtensions
-ASN1PEREncComplexChoice
-ASN1PEREncDouble
-ASN1PEREncExtensionBitClear
-ASN1PEREncExtensionBitSet
-ASN1PEREncFlush
-ASN1PEREncFlushFragmentedToParent
-ASN1PEREncFragmented
-ASN1PEREncFragmentedChar16String
-ASN1PEREncFragmentedChar32String
-ASN1PEREncFragmentedCharString
-ASN1PEREncFragmentedIntx
-ASN1PEREncFragmentedLength
-ASN1PEREncFragmentedTableChar16String
-ASN1PEREncFragmentedTableChar32String
-ASN1PEREncFragmentedTableCharString
-ASN1PEREncFragmentedUIntx
-ASN1PEREncGeneralizedTime
-ASN1PEREncInteger
-ASN1PEREncMultibyteString
-ASN1PEREncNormallySmall
-ASN1PEREncNormallySmallBits
-ASN1PEREncObjectIdentifier
-ASN1PEREncObjectIdentifier2
-ASN1PEREncOctetString_FixedSize
-ASN1PEREncOctetString_FixedSizeEx
-ASN1PEREncOctetString_NoSize
-ASN1PEREncOctetString_VarSize
-ASN1PEREncOctetString_VarSizeEx
-ASN1PEREncOctets
-ASN1PEREncRemoveZeroBits
-ASN1PEREncSeqOf_NoSize
-ASN1PEREncSeqOf_VarSize
-ASN1PEREncSimpleChoice
-ASN1PEREncSimpleChoiceEx
-ASN1PEREncTableChar16String
-ASN1PEREncTableChar32String
-ASN1PEREncTableCharString
-ASN1PEREncUTCTime
-ASN1PEREncUnsignedInteger
-ASN1PEREncUnsignedShort
-ASN1PEREncZero
-ASN1PERFreeSeqOf
-ASN1_CloseDecoder
-ASN1_CloseEncoder
-ASN1_CloseEncoder2
-ASN1_CloseModule
-ASN1_CreateDecoder
-ASN1_CreateDecoderEx
-ASN1_CreateEncoder
-ASN1_CreateModule
-ASN1_Decode
-ASN1_Encode
-ASN1_FreeDecoded
-ASN1_FreeEncoded
-ASN1_GetDecoderOption
-ASN1_GetEncoderOption
-ASN1_SetDecoderOption
-ASN1_SetEncoderOption
-ASN1bitstring_cmp
-ASN1bitstring_free
-ASN1char16string_cmp
-ASN1char16string_free
-ASN1char32string_cmp
-ASN1char32string_free
-ASN1charstring_cmp
-ASN1charstring_free
-ASN1generalizedtime_cmp
-ASN1intx2int32
-ASN1intx2uint32
-ASN1intx_add
-ASN1intx_free
-ASN1intx_setuint32
-ASN1intx_sub
-ASN1intx_uoctets
-ASN1intxisuint32
-ASN1objectidentifier2_cmp
-ASN1objectidentifier_cmp
-ASN1objectidentifier_free
-ASN1octetstring_cmp
-ASN1octetstring_free
-ASN1open_cmp
-ASN1open_free
-ASN1uint32_uoctets
-ASN1utctime_cmp
-ASN1utf8string_free
-ASN1ztchar16string_cmp
-ASN1ztchar16string_free
-ASN1ztchar32string_free
-ASN1ztcharstring_cmp
-ASN1ztcharstring_free
+; 
+; Exports of file MSASN1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSASN1.dll
+EXPORTS
+ASN1BERDecBitString
+ASN1BERDecBitString2
+ASN1BERDecBool
+ASN1BERDecChar16String
+ASN1BERDecChar32String
+ASN1BERDecCharString
+ASN1BERDecCheck
+ASN1BERDecDouble
+ASN1BERDecEndOfContents
+ASN1BERDecEoid
+ASN1BERDecExplicitTag
+ASN1BERDecFlush
+ASN1BERDecGeneralizedTime
+ASN1BERDecLength
+ASN1BERDecMultibyteString
+ASN1BERDecNotEndOfContents
+ASN1BERDecNull
+ASN1BERDecObjectIdentifier
+ASN1BERDecObjectIdentifier2
+ASN1BERDecOctetString
+ASN1BERDecOctetString2
+ASN1BERDecOpenType
+ASN1BERDecOpenType2
+ASN1BERDecPeekTag
+ASN1BERDecS16Val
+ASN1BERDecS32Val
+ASN1BERDecS8Val
+ASN1BERDecSXVal
+ASN1BERDecSkip
+ASN1BERDecTag
+ASN1BERDecU16Val
+ASN1BERDecU32Val
+ASN1BERDecU8Val
+ASN1BERDecUTCTime
+ASN1BERDecUTF8String
+ASN1BERDecZeroChar16String
+ASN1BERDecZeroChar32String
+ASN1BERDecZeroCharString
+ASN1BERDecZeroMultibyteString
+ASN1BERDotVal2Eoid
+ASN1BEREncBitString
+ASN1BEREncBool
+ASN1BEREncChar16String
+ASN1BEREncChar32String
+ASN1BEREncCharString
+ASN1BEREncCheck
+ASN1BEREncDouble
+ASN1BEREncEndOfContents
+ASN1BEREncEoid
+ASN1BEREncExplicitTag
+ASN1BEREncFlush
+ASN1BEREncGeneralizedTime
+ASN1BEREncLength
+ASN1BEREncMultibyteString
+ASN1BEREncNull
+ASN1BEREncObjectIdentifier
+ASN1BEREncObjectIdentifier2
+ASN1BEREncOctetString
+ASN1BEREncOpenType
+ASN1BEREncRemoveZeroBits
+ASN1BEREncS32
+ASN1BEREncSX
+ASN1BEREncTag
+ASN1BEREncU32
+ASN1BEREncUTCTime
+ASN1BEREncUTF8String
+ASN1BEREncZeroMultibyteString
+ASN1BEREoid2DotVal
+ASN1BEREoid_free
+ASN1CEREncBeginBlk
+ASN1CEREncBitString
+ASN1CEREncChar16String
+ASN1CEREncChar32String
+ASN1CEREncCharString
+ASN1CEREncEndBlk
+ASN1CEREncFlushBlkElement
+ASN1CEREncGeneralizedTime
+ASN1CEREncMultibyteString
+ASN1CEREncNewBlkElement
+ASN1CEREncOctetString
+ASN1CEREncUTCTime
+ASN1CEREncZeroMultibyteString
+ASN1DecAbort
+ASN1DecAlloc
+ASN1DecDone
+ASN1DecRealloc
+ASN1DecSetError
+ASN1EncAbort
+ASN1EncDone
+ASN1EncSetError
+ASN1Free
+ASN1PERDecAlignment
+ASN1PERDecBit
+ASN1PERDecBits
+ASN1PERDecBoolean
+ASN1PERDecChar16String
+ASN1PERDecChar32String
+ASN1PERDecCharString
+ASN1PERDecCharStringNoAlloc
+ASN1PERDecComplexChoice
+ASN1PERDecDouble
+ASN1PERDecExtension
+ASN1PERDecFlush
+ASN1PERDecFragmented
+ASN1PERDecFragmentedChar16String
+ASN1PERDecFragmentedChar32String
+ASN1PERDecFragmentedCharString
+ASN1PERDecFragmentedExtension
+ASN1PERDecFragmentedIntx
+ASN1PERDecFragmentedLength
+ASN1PERDecFragmentedTableChar16String
+ASN1PERDecFragmentedTableChar32String
+ASN1PERDecFragmentedTableCharString
+ASN1PERDecFragmentedUIntx
+ASN1PERDecFragmentedZeroChar16String
+ASN1PERDecFragmentedZeroChar32String
+ASN1PERDecFragmentedZeroCharString
+ASN1PERDecFragmentedZeroTableChar16String
+ASN1PERDecFragmentedZeroTableChar32String
+ASN1PERDecFragmentedZeroTableCharString
+ASN1PERDecGeneralizedTime
+ASN1PERDecInteger
+ASN1PERDecMultibyteString
+ASN1PERDecN16Val
+ASN1PERDecN32Val
+ASN1PERDecN8Val
+ASN1PERDecNormallySmallExtension
+ASN1PERDecObjectIdentifier
+ASN1PERDecObjectIdentifier2
+ASN1PERDecOctetString_FixedSize
+ASN1PERDecOctetString_FixedSizeEx
+ASN1PERDecOctetString_NoSize
+ASN1PERDecOctetString_VarSize
+ASN1PERDecOctetString_VarSizeEx
+ASN1PERDecS16Val
+ASN1PERDecS32Val
+ASN1PERDecS8Val
+ASN1PERDecSXVal
+ASN1PERDecSeqOf_NoSize
+ASN1PERDecSeqOf_VarSize
+ASN1PERDecSimpleChoice
+ASN1PERDecSimpleChoiceEx
+ASN1PERDecSkipBits
+ASN1PERDecSkipFragmented
+ASN1PERDecSkipNormallySmall
+ASN1PERDecSkipNormallySmallExtension
+ASN1PERDecSkipNormallySmallExtensionFragmented
+ASN1PERDecTableChar16String
+ASN1PERDecTableChar32String
+ASN1PERDecTableCharString
+ASN1PERDecTableCharStringNoAlloc
+ASN1PERDecU16Val
+ASN1PERDecU32Val
+ASN1PERDecU8Val
+ASN1PERDecUTCTime
+ASN1PERDecUXVal
+ASN1PERDecUnsignedInteger
+ASN1PERDecUnsignedShort
+ASN1PERDecZeroChar16String
+ASN1PERDecZeroChar32String
+ASN1PERDecZeroCharString
+ASN1PERDecZeroCharStringNoAlloc
+ASN1PERDecZeroTableChar16String
+ASN1PERDecZeroTableChar32String
+ASN1PERDecZeroTableCharString
+ASN1PERDecZeroTableCharStringNoAlloc
+ASN1PEREncAlignment
+ASN1PEREncBit
+ASN1PEREncBitIntx
+ASN1PEREncBitVal
+ASN1PEREncBits
+ASN1PEREncBoolean
+ASN1PEREncChar16String
+ASN1PEREncChar32String
+ASN1PEREncCharString
+ASN1PEREncCheckExtensions
+ASN1PEREncComplexChoice
+ASN1PEREncDouble
+ASN1PEREncExtensionBitClear
+ASN1PEREncExtensionBitSet
+ASN1PEREncFlush
+ASN1PEREncFlushFragmentedToParent
+ASN1PEREncFragmented
+ASN1PEREncFragmentedChar16String
+ASN1PEREncFragmentedChar32String
+ASN1PEREncFragmentedCharString
+ASN1PEREncFragmentedIntx
+ASN1PEREncFragmentedLength
+ASN1PEREncFragmentedTableChar16String
+ASN1PEREncFragmentedTableChar32String
+ASN1PEREncFragmentedTableCharString
+ASN1PEREncFragmentedUIntx
+ASN1PEREncGeneralizedTime
+ASN1PEREncInteger
+ASN1PEREncMultibyteString
+ASN1PEREncNormallySmall
+ASN1PEREncNormallySmallBits
+ASN1PEREncObjectIdentifier
+ASN1PEREncObjectIdentifier2
+ASN1PEREncOctetString_FixedSize
+ASN1PEREncOctetString_FixedSizeEx
+ASN1PEREncOctetString_NoSize
+ASN1PEREncOctetString_VarSize
+ASN1PEREncOctetString_VarSizeEx
+ASN1PEREncOctets
+ASN1PEREncRemoveZeroBits
+ASN1PEREncSeqOf_NoSize
+ASN1PEREncSeqOf_VarSize
+ASN1PEREncSimpleChoice
+ASN1PEREncSimpleChoiceEx
+ASN1PEREncTableChar16String
+ASN1PEREncTableChar32String
+ASN1PEREncTableCharString
+ASN1PEREncUTCTime
+ASN1PEREncUnsignedInteger
+ASN1PEREncUnsignedShort
+ASN1PEREncZero
+ASN1PERFreeSeqOf
+ASN1_CloseDecoder
+ASN1_CloseEncoder
+ASN1_CloseEncoder2
+ASN1_CloseModule
+ASN1_CreateDecoder
+ASN1_CreateDecoderEx
+ASN1_CreateEncoder
+ASN1_CreateModule
+ASN1_Decode
+ASN1_Encode
+ASN1_FreeDecoded
+ASN1_FreeEncoded
+ASN1_GetDecoderOption
+ASN1_GetEncoderOption
+ASN1_SetDecoderOption
+ASN1_SetEncoderOption
+ASN1bitstring_cmp
+ASN1bitstring_free
+ASN1char16string_cmp
+ASN1char16string_free
+ASN1char32string_cmp
+ASN1char32string_free
+ASN1charstring_cmp
+ASN1charstring_free
+ASN1generalizedtime_cmp
+ASN1intx2int32
+ASN1intx2uint32
+ASN1intx_add
+ASN1intx_free
+ASN1intx_setuint32
+ASN1intx_sub
+ASN1intx_uoctets
+ASN1intxisuint32
+ASN1objectidentifier2_cmp
+ASN1objectidentifier_cmp
+ASN1objectidentifier_free
+ASN1octetstring_cmp
+ASN1octetstring_free
+ASN1open_cmp
+ASN1open_free
+ASN1uint32_uoctets
+ASN1utctime_cmp
+ASN1utf8string_free
+ASN1ztchar16string_cmp
+ASN1ztchar16string_free
+ASN1ztchar32string_free
+ASN1ztcharstring_cmp
+ASN1ztcharstring_free
diff --git a/mingw-w64-crt/lib64/mscandui.def b/mingw-w64-crt/lib64/mscandui.def
index 9d9ede5..cf37ef8 100644
--- a/mingw-w64-crt/lib64/mscandui.def
+++ b/mingw-w64-crt/lib64/mscandui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSCANDUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSCANDUI.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSCANDUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSCANDUI.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mscat32.def b/mingw-w64-crt/lib64/mscat32.def
index d7b6a0a..9754bd4 100644
--- a/mingw-w64-crt/lib64/mscat32.def
+++ b/mingw-w64-crt/lib64/mscat32.def
@@ -1,44 +1,44 @@
-; 
-; Exports of file MSCAT32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSCAT32.dll
-EXPORTS
-CryptCATVerifyMember
-CatalogCompactHashDatabase
-CryptCATAdminAcquireContext
-CryptCATAdminAddCatalog
-CryptCATAdminCalcHashFromFileHandle
-CryptCATAdminEnumCatalogFromHash
-CryptCATAdminReleaseCatalogContext
-CryptCATAdminReleaseContext
-CryptCATCDFClose
-CryptCATCDFEnumAttributes
-CryptCATCDFEnumAttributesWithCDFTag
-CryptCATCDFEnumCatAttributes
-CryptCATCDFEnumMembers
-CryptCATCDFEnumMembersByCDFTag
-CryptCATCDFEnumMembersByCDFTagEx
-CryptCATCDFOpen
-CryptCATCatalogInfoFromContext
-CryptCATClose
-CryptCATEnumerateAttr
-CryptCATEnumerateCatAttr
-CryptCATEnumerateMember
-CryptCATGetAttrInfo
-CryptCATGetCatAttrInfo
-CryptCATGetMemberInfo
-CryptCATHandleFromStore
-CryptCATOpen
-CryptCATPersistStore
-CryptCATPutAttrInfo
-CryptCATPutCatAttrInfo
-CryptCATPutMemberInfo
-CryptCATStoreFromHandle
-DllRegisterServer
-DllUnregisterServer
-IsCatalogFile
-MsCatConstructHashTag
-MsCatFreeHashTag
+; 
+; Exports of file MSCAT32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSCAT32.dll
+EXPORTS
+CryptCATVerifyMember
+CatalogCompactHashDatabase
+CryptCATAdminAcquireContext
+CryptCATAdminAddCatalog
+CryptCATAdminCalcHashFromFileHandle
+CryptCATAdminEnumCatalogFromHash
+CryptCATAdminReleaseCatalogContext
+CryptCATAdminReleaseContext
+CryptCATCDFClose
+CryptCATCDFEnumAttributes
+CryptCATCDFEnumAttributesWithCDFTag
+CryptCATCDFEnumCatAttributes
+CryptCATCDFEnumMembers
+CryptCATCDFEnumMembersByCDFTag
+CryptCATCDFEnumMembersByCDFTagEx
+CryptCATCDFOpen
+CryptCATCatalogInfoFromContext
+CryptCATClose
+CryptCATEnumerateAttr
+CryptCATEnumerateCatAttr
+CryptCATEnumerateMember
+CryptCATGetAttrInfo
+CryptCATGetCatAttrInfo
+CryptCATGetMemberInfo
+CryptCATHandleFromStore
+CryptCATOpen
+CryptCATPersistStore
+CryptCATPutAttrInfo
+CryptCATPutCatAttrInfo
+CryptCATPutMemberInfo
+CryptCATStoreFromHandle
+DllRegisterServer
+DllUnregisterServer
+IsCatalogFile
+MsCatConstructHashTag
+MsCatFreeHashTag
diff --git a/mingw-w64-crt/lib64/mscms.def b/mingw-w64-crt/lib64/mscms.def
index 73a74cc..e317724 100644
--- a/mingw-w64-crt/lib64/mscms.def
+++ b/mingw-w64-crt/lib64/mscms.def
@@ -1,69 +1,69 @@
-; 
-; Exports of file mscms.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mscms.dll
-EXPORTS
-AssociateColorProfileWithDeviceA
-AssociateColorProfileWithDeviceW
-CheckBitmapBits
-CheckColors
-CloseColorProfile
-ConvertColorNameToIndex
-ConvertIndexToColorName
-CreateColorTransformA
-CreateColorTransformW
-CreateDeviceLinkProfile
-CreateMultiProfileTransform
-CreateProfileFromLogColorSpaceA
-CreateProfileFromLogColorSpaceW
-DeleteColorTransform
-DisassociateColorProfileFromDeviceA
-DisassociateColorProfileFromDeviceW
-EnumColorProfilesA
-EnumColorProfilesW
-GenerateCopyFilePaths
-GetCMMInfo
-GetColorDirectoryA
-GetColorDirectoryW
-GetColorProfileElement
-GetColorProfileElementTag
-GetColorProfileFromHandle
-GetColorProfileHeader
-GetCountColorProfileElements
-GetNamedProfileInfo
-GetPS2ColorRenderingDictionary
-GetPS2ColorRenderingIntent
-GetPS2ColorSpaceArray
-GetStandardColorSpaceProfileA
-GetStandardColorSpaceProfileW
-InstallColorProfileA
-InstallColorProfileW
-InternalGetDeviceConfig
-InternalGetPS2CSAFromLCS
-InternalGetPS2ColorRenderingDictionary
-InternalGetPS2ColorSpaceArray
-InternalGetPS2PreviewCRD
-InternalSetDeviceConfig
-IsColorProfileTagPresent
-IsColorProfileValid
-OpenColorProfileA
-OpenColorProfileW
-RegisterCMMA
-RegisterCMMW
-SelectCMM
-SetColorProfileElement
-SetColorProfileElementReference
-SetColorProfileElementSize
-SetColorProfileHeader
-SetStandardColorSpaceProfileA
-SetStandardColorSpaceProfileW
-SpoolerCopyFileEvent
-TranslateBitmapBits
-TranslateColors
-UninstallColorProfileA
-UninstallColorProfileW
-UnregisterCMMA
-UnregisterCMMW
+; 
+; Exports of file mscms.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mscms.dll
+EXPORTS
+AssociateColorProfileWithDeviceA
+AssociateColorProfileWithDeviceW
+CheckBitmapBits
+CheckColors
+CloseColorProfile
+ConvertColorNameToIndex
+ConvertIndexToColorName
+CreateColorTransformA
+CreateColorTransformW
+CreateDeviceLinkProfile
+CreateMultiProfileTransform
+CreateProfileFromLogColorSpaceA
+CreateProfileFromLogColorSpaceW
+DeleteColorTransform
+DisassociateColorProfileFromDeviceA
+DisassociateColorProfileFromDeviceW
+EnumColorProfilesA
+EnumColorProfilesW
+GenerateCopyFilePaths
+GetCMMInfo
+GetColorDirectoryA
+GetColorDirectoryW
+GetColorProfileElement
+GetColorProfileElementTag
+GetColorProfileFromHandle
+GetColorProfileHeader
+GetCountColorProfileElements
+GetNamedProfileInfo
+GetPS2ColorRenderingDictionary
+GetPS2ColorRenderingIntent
+GetPS2ColorSpaceArray
+GetStandardColorSpaceProfileA
+GetStandardColorSpaceProfileW
+InstallColorProfileA
+InstallColorProfileW
+InternalGetDeviceConfig
+InternalGetPS2CSAFromLCS
+InternalGetPS2ColorRenderingDictionary
+InternalGetPS2ColorSpaceArray
+InternalGetPS2PreviewCRD
+InternalSetDeviceConfig
+IsColorProfileTagPresent
+IsColorProfileValid
+OpenColorProfileA
+OpenColorProfileW
+RegisterCMMA
+RegisterCMMW
+SelectCMM
+SetColorProfileElement
+SetColorProfileElementReference
+SetColorProfileElementSize
+SetColorProfileHeader
+SetStandardColorSpaceProfileA
+SetStandardColorSpaceProfileW
+SpoolerCopyFileEvent
+TranslateBitmapBits
+TranslateColors
+UninstallColorProfileA
+UninstallColorProfileW
+UnregisterCMMA
+UnregisterCMMW
diff --git a/mingw-w64-crt/lib64/msctf.def b/mingw-w64-crt/lib64/msctf.def
index 71783dd..7f5ce6b 100644
--- a/mingw-w64-crt/lib64/msctf.def
+++ b/mingw-w64-crt/lib64/msctf.def
@@ -1,47 +1,47 @@
-; 
-; Exports of file MSCTF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSCTF.dll
-EXPORTS
-TF_GetLangIcon
-TF_GetMlngHKL
-TF_GetMlngIconIndex
-TF_GetThreadFlags
-TF_InatExtractIcon
-TF_InitMlngInfo
-TF_IsInMarshaling
-TF_MlngInfoCount
-TF_RunInputCPL
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-SetInputScope
-SetInputScopeXML
-SetInputScopes
-TF_CUASAppFix
-TF_CheckThreadInputIdle
-TF_ClearLangBarAddIns
-TF_CreateCategoryMgr
-TF_CreateCicLoadMutex
-TF_CreateDisplayAttributeMgr
-TF_CreateInputProcessorProfiles
-TF_CreateLangBarItemMgr
-TF_CreateLangBarMgr
-TF_CreateThreadMgr
-TF_DllDetachInOther
-TF_GetGlobalCompartment
-TF_GetInputScope
-TF_GetThreadMgr
-TF_InitSystem
-TF_InvalidAssemblyListCache
-TF_InvalidAssemblyListCacheIfExist
-TF_IsCtfmonRunning
-TF_IsFullScreenWindowAcitvated
-TF_PostAllThreadMsg
-TF_RegisterLangBarAddIn
-TF_UninitSystem
-TF_UnregisterLangBarAddIn
+; 
+; Exports of file MSCTF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSCTF.dll
+EXPORTS
+TF_GetLangIcon
+TF_GetMlngHKL
+TF_GetMlngIconIndex
+TF_GetThreadFlags
+TF_InatExtractIcon
+TF_InitMlngInfo
+TF_IsInMarshaling
+TF_MlngInfoCount
+TF_RunInputCPL
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+SetInputScope
+SetInputScopeXML
+SetInputScopes
+TF_CUASAppFix
+TF_CheckThreadInputIdle
+TF_ClearLangBarAddIns
+TF_CreateCategoryMgr
+TF_CreateCicLoadMutex
+TF_CreateDisplayAttributeMgr
+TF_CreateInputProcessorProfiles
+TF_CreateLangBarItemMgr
+TF_CreateLangBarMgr
+TF_CreateThreadMgr
+TF_DllDetachInOther
+TF_GetGlobalCompartment
+TF_GetInputScope
+TF_GetThreadMgr
+TF_InitSystem
+TF_InvalidAssemblyListCache
+TF_InvalidAssemblyListCacheIfExist
+TF_IsCtfmonRunning
+TF_IsFullScreenWindowAcitvated
+TF_PostAllThreadMsg
+TF_RegisterLangBarAddIn
+TF_UninitSystem
+TF_UnregisterLangBarAddIn
diff --git a/mingw-w64-crt/lib64/msctfp.def b/mingw-w64-crt/lib64/msctfp.def
index 01ec734..a37750e 100644
--- a/mingw-w64-crt/lib64/msctfp.def
+++ b/mingw-w64-crt/lib64/msctfp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSCTFP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSCTFP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file MSCTFP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSCTFP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/msdadiag.def b/mingw-w64-crt/lib64/msdadiag.def
index 23152cf..0d9344e 100644
--- a/mingw-w64-crt/lib64/msdadiag.def
+++ b/mingw-w64-crt/lib64/msdadiag.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file msdadiag.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msdadiag.dll
-EXPORTS
-DllBidEntryPoint
+; 
+; Exports of file msdadiag.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msdadiag.dll
+EXPORTS
+DllBidEntryPoint
diff --git a/mingw-w64-crt/lib64/msdaosp.def b/mingw-w64-crt/lib64/msdaosp.def
index cd18aab..0cf52e0 100644
--- a/mingw-w64-crt/lib64/msdaosp.def
+++ b/mingw-w64-crt/lib64/msdaosp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSDAOSP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDAOSP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDAOSP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDAOSP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msdaprst.def b/mingw-w64-crt/lib64/msdaprst.def
index c23f0c0..a1e49b0 100644
--- a/mingw-w64-crt/lib64/msdaprst.def
+++ b/mingw-w64-crt/lib64/msdaprst.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file persist.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY persist.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file persist.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY persist.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msdaps.def b/mingw-w64-crt/lib64/msdaps.def
index d2dd009..056c82d 100644
--- a/mingw-w64-crt/lib64/msdaps.def
+++ b/mingw-w64-crt/lib64/msdaps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSDAPS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDAPS.dll
-EXPORTS
-DllMain
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDAPS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDAPS.dll
+EXPORTS
+DllMain
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msdarem.def b/mingw-w64-crt/lib64/msdarem.def
index 5400f19..9ec24df 100644
--- a/mingw-w64-crt/lib64/msdarem.def
+++ b/mingw-w64-crt/lib64/msdarem.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msremote.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msremote.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msremote.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msremote.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msdart.def b/mingw-w64-crt/lib64/msdart.def
index 2fb6410..9292e52 100644
--- a/mingw-w64-crt/lib64/msdart.def
+++ b/mingw-w64-crt/lib64/msdart.def
@@ -1,1013 +1,1013 @@
-; 
-; Exports of file MSDART.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDART.DLL
-EXPORTS
-; public: __cdecl CCritSec::CCritSec(void) __ptr64
-??0CCritSec@@QEAA@XZ
-; public: __cdecl CDoubleList::CDoubleList(void) __ptr64
-??0CDoubleList@@QEAA@XZ
-; public: __cdecl CEXAutoBackupFile::CEXAutoBackupFile(unsigned short const * __ptr64) __ptr64
-??0CEXAutoBackupFile@@QEAA@PEBG@Z
-; public: __cdecl CEXAutoBackupFile::CEXAutoBackupFile(void) __ptr64
-??0CEXAutoBackupFile@@QEAA@XZ
-; public: __cdecl CExFileOperation::CExFileOperation(void) __ptr64
-??0CExFileOperation@@QEAA@XZ
-; public: __cdecl CFakeLock::CFakeLock(void) __ptr64
-??0CFakeLock@@QEAA@XZ
-; private: __cdecl CLKRHashTable::CLKRHashTable(class CLKRHashTable const & __ptr64) __ptr64
-??0CLKRHashTable@@AEAA@AEBV0@@Z
-; public: __cdecl CLKRHashTable::CLKRHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long) __ptr64
-??0CLKRHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK@Z
-; public: __cdecl CLKRHashTableStats::CLKRHashTableStats(void) __ptr64
-??0CLKRHashTableStats@@QEAA@XZ
-; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(class CLKRLinearHashTable const & __ptr64) __ptr64
-??0CLKRLinearHashTable@@AEAA@AEBV0@@Z
-; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64) __ptr64
-??0CLKRLinearHashTable@@AEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAVCLKRHashTable@@@Z
-; public: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long) __ptr64
-??0CLKRLinearHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK@Z
-; public: __cdecl CLockedDoubleList::CLockedDoubleList(void) __ptr64
-??0CLockedDoubleList@@QEAA@XZ
-; public: __cdecl CLockedSingleList::CLockedSingleList(void) __ptr64
-??0CLockedSingleList@@QEAA@XZ
-; public: __cdecl CReaderWriterLock2::CReaderWriterLock2(void) __ptr64
-??0CReaderWriterLock2@@QEAA@XZ
-; public: __cdecl CReaderWriterLock3::CReaderWriterLock3(void) __ptr64
-??0CReaderWriterLock3@@QEAA@XZ
-; public: __cdecl CReaderWriterLock::CReaderWriterLock(void) __ptr64
-??0CReaderWriterLock@@QEAA@XZ
-; public: __cdecl CSingleList::CSingleList(void) __ptr64
-??0CSingleList@@QEAA@XZ
-; public: __cdecl CSmallSpinLock::CSmallSpinLock(void) __ptr64
-??0CSmallSpinLock@@QEAA@XZ
-; public: __cdecl CSpinLock::CSpinLock(void) __ptr64
-??0CSpinLock@@QEAA@XZ
-; public: __cdecl CCritSec::~CCritSec(void) __ptr64
-??1CCritSec@@QEAA@XZ
-; public: __cdecl CDoubleList::~CDoubleList(void) __ptr64
-??1CDoubleList@@QEAA@XZ
-; public: __cdecl CEXAutoBackupFile::~CEXAutoBackupFile(void) __ptr64
-??1CEXAutoBackupFile@@QEAA@XZ
-; public: __cdecl CExFileOperation::~CExFileOperation(void) __ptr64
-??1CExFileOperation@@QEAA@XZ
-; public: __cdecl CFakeLock::~CFakeLock(void) __ptr64
-??1CFakeLock@@QEAA@XZ
-; public: __cdecl CLKRHashTable::~CLKRHashTable(void) __ptr64
-??1CLKRHashTable@@QEAA@XZ
-; public: __cdecl CLKRLinearHashTable::~CLKRLinearHashTable(void) __ptr64
-??1CLKRLinearHashTable@@QEAA@XZ
-; public: __cdecl CLockedDoubleList::~CLockedDoubleList(void) __ptr64
-??1CLockedDoubleList@@QEAA@XZ
-; public: __cdecl CLockedSingleList::~CLockedSingleList(void) __ptr64
-??1CLockedSingleList@@QEAA@XZ
-; public: __cdecl CReaderWriterLock2::~CReaderWriterLock2(void) __ptr64
-??1CReaderWriterLock2@@QEAA@XZ
-; public: __cdecl CReaderWriterLock3::~CReaderWriterLock3(void) __ptr64
-??1CReaderWriterLock3@@QEAA@XZ
-; public: __cdecl CReaderWriterLock::~CReaderWriterLock(void) __ptr64
-??1CReaderWriterLock@@QEAA@XZ
-; public: __cdecl CSingleList::~CSingleList(void) __ptr64
-??1CSingleList@@QEAA@XZ
-; public: __cdecl CSmallSpinLock::~CSmallSpinLock(void) __ptr64
-??1CSmallSpinLock@@QEAA@XZ
-; public: __cdecl CSpinLock::~CSpinLock(void) __ptr64
-??1CSpinLock@@QEAA@XZ
-; public: class CLockBase<1,1,3,1,3,2> & __ptr64 __cdecl CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$00$00$02$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<2,1,1,1,3,2> & __ptr64 __cdecl CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$01$00$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<3,1,1,1,1,1> & __ptr64 __cdecl CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const & __ptr64) __ptr64
-??4?$CLockBase@$02$00$00$00$00$00@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<4,1,1,2,3,3> & __ptr64 __cdecl CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const & __ptr64) __ptr64
-??4?$CLockBase@$03$00$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<5,2,2,1,3,2> & __ptr64 __cdecl CLockBase<5,2,2,1,3,2>::operator=(class CLockBase<5,2,2,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$04$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<6,2,2,1,3,2> & __ptr64 __cdecl CLockBase<6,2,2,1,3,2>::operator=(class CLockBase<6,2,2,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$05$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockBase<7,2,1,1,3,2> & __ptr64 __cdecl CLockBase<7,2,1,1,3,2>::operator=(class CLockBase<7,2,1,1,3,2> const & __ptr64) __ptr64
-??4?$CLockBase@$06$01$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
-; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
-??4CCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CDoubleList & __ptr64 __cdecl CDoubleList::operator=(class CDoubleList const & __ptr64) __ptr64
-??4CDoubleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CEXAutoBackupFile & __ptr64 __cdecl CEXAutoBackupFile::operator=(class CEXAutoBackupFile const & __ptr64) __ptr64
-??4CEXAutoBackupFile@@QEAAAEAV0@AEBV0@@Z
-; public: class CExFileOperation & __ptr64 __cdecl CExFileOperation::operator=(class CExFileOperation const & __ptr64) __ptr64
-??4CExFileOperation@@QEAAAEAV0@AEBV0@@Z
-; public: class CFakeLock & __ptr64 __cdecl CFakeLock::operator=(class CFakeLock const & __ptr64) __ptr64
-??4CFakeLock@@QEAAAEAV0@AEBV0@@Z
-; private: class CLKRHashTable & __ptr64 __cdecl CLKRHashTable::operator=(class CLKRHashTable const & __ptr64) __ptr64
-??4CLKRHashTable@@AEAAAEAV0@AEBV0@@Z
-; public: class CLKRHashTableStats & __ptr64 __cdecl CLKRHashTableStats::operator=(class CLKRHashTableStats const & __ptr64) __ptr64
-??4CLKRHashTableStats@@QEAAAEAV0@AEBV0@@Z
-; private: class CLKRLinearHashTable & __ptr64 __cdecl CLKRLinearHashTable::operator=(class CLKRLinearHashTable const & __ptr64) __ptr64
-??4CLKRLinearHashTable@@AEAAAEAV0@AEBV0@@Z
-; public: class CLockedDoubleList & __ptr64 __cdecl CLockedDoubleList::operator=(class CLockedDoubleList const & __ptr64) __ptr64
-??4CLockedDoubleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CLockedSingleList & __ptr64 __cdecl CLockedSingleList::operator=(class CLockedSingleList const & __ptr64) __ptr64
-??4CLockedSingleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CMdVersionInfo & __ptr64 __cdecl CMdVersionInfo::operator=(class CMdVersionInfo const & __ptr64) __ptr64
-??4CMdVersionInfo@@QEAAAEAV0@AEBV0@@Z
-; public: class CReaderWriterLock2 & __ptr64 __cdecl CReaderWriterLock2::operator=(class CReaderWriterLock2 const & __ptr64) __ptr64
-??4CReaderWriterLock2@@QEAAAEAV0@AEBV0@@Z
-; public: class CReaderWriterLock3 & __ptr64 __cdecl CReaderWriterLock3::operator=(class CReaderWriterLock3 const & __ptr64) __ptr64
-??4CReaderWriterLock3@@QEAAAEAV0@AEBV0@@Z
-; public: class CReaderWriterLock & __ptr64 __cdecl CReaderWriterLock::operator=(class CReaderWriterLock const & __ptr64) __ptr64
-??4CReaderWriterLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CSingleList & __ptr64 __cdecl CSingleList::operator=(class CSingleList const & __ptr64) __ptr64
-??4CSingleList@@QEAAAEAV0@AEBV0@@Z
-; public: class CSmallSpinLock & __ptr64 __cdecl CSmallSpinLock::operator=(class CSmallSpinLock const & __ptr64) __ptr64
-??4CSmallSpinLock@@QEAAAEAV0@AEBV0@@Z
-; public: class CSpinLock & __ptr64 __cdecl CSpinLock::operator=(class CSpinLock const & __ptr64) __ptr64
-??4CSpinLock@@QEAAAEAV0@AEBV0@@Z
-; public: unsigned long __cdecl CLKRHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?Apply@CLKRHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CLKRLinearHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?Apply@CLKRLinearHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?ApplyIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __cdecl CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
-?ApplyIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
-; public: long __cdecl CEXAutoBackupFile::BackupFile(unsigned short const * __ptr64) __ptr64
-?BackupFile@CEXAutoBackupFile@@QEAAJPEBG@Z
-; public: static long __cdecl CLKRHashTableStats::BucketIndex(long)
-?BucketIndex@CLKRHashTableStats@@SAJJ@Z
-; public: static long __cdecl CLKRHashTableStats::BucketSize(long)
-?BucketSize@CLKRHashTableStats@@SAJJ@Z
-; public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)
-?BucketSizes@CLKRHashTableStats@@SAPEBJXZ
-; public: int __cdecl CLKRHashTable::CheckTable(void)const  __ptr64
-?CheckTable@CLKRHashTable@@QEBAHXZ
-; public: int __cdecl CLKRLinearHashTable::CheckTable(void)const  __ptr64
-?CheckTable@CLKRLinearHashTable@@QEBAHXZ
-; public: static char const * __ptr64 __cdecl CCritSec::ClassName(void)
-?ClassName@CCritSec@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CFakeLock::ClassName(void)
-?ClassName@CFakeLock@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CLKRHashTable::ClassName(void)
-?ClassName@CLKRHashTable@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CLKRLinearHashTable::ClassName(void)
-?ClassName@CLKRLinearHashTable@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
-?ClassName@CReaderWriterLock2@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
-?ClassName@CReaderWriterLock3@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
-?ClassName@CReaderWriterLock@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
-?ClassName@CSmallSpinLock@@SAPEBDXZ
-; public: static char const * __ptr64 __cdecl CSpinLock::ClassName(void)
-?ClassName@CSpinLock@@SAPEBDXZ
-; public: void __cdecl CLKRHashTable::Clear(void) __ptr64
-?Clear@CLKRHashTable@@QEAAXXZ
-; public: void __cdecl CLKRLinearHashTable::Clear(void) __ptr64
-?Clear@CLKRLinearHashTable@@QEAAXXZ
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
-?CloseIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
-?CloseIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?CloseIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
-?CloseIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: void __cdecl CCritSec::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ConvertExclusiveToShared(void)const  __ptr64
-?ConvertExclusiveToShared@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ConvertExclusiveToShared(void)const  __ptr64
-?ConvertExclusiveToShared@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ConvertExclusiveToShared(void) __ptr64
-?ConvertExclusiveToShared@CSpinLock@@QEAAXXZ
-; public: void __cdecl CCritSec::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ConvertSharedToExclusive(void)const  __ptr64
-?ConvertSharedToExclusive@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ConvertSharedToExclusive(void)const  __ptr64
-?ConvertSharedToExclusive@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ConvertSharedToExclusive(void) __ptr64
-?ConvertSharedToExclusive@CSpinLock@@QEAAXXZ
-; long __cdecl CreateHolder(struct IGPDispenser * __ptr64,int,unsigned int,struct IGPHolder * __ptr64 * __ptr64)
-?CreateHolder@@YAJPEAUIGPDispenser@@HIPEAPEAUIGPHolder@@@Z
-; public: unsigned long __cdecl CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
-?DeleteIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
-; public: unsigned long __cdecl CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
-?DeleteIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteKey(unsigned __int64) __ptr64
-?DeleteKey@CLKRHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteKey(unsigned __int64) __ptr64
-?DeleteKey@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteRecord(void const * __ptr64) __ptr64
-?DeleteRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteRecord(void const * __ptr64) __ptr64
-?DeleteRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
-; public: long __cdecl CExFileOperation::FOCopyFile(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?FOCopyFile@CExFileOperation@@QEAAJPEBG0H@Z
-; public: long __cdecl CExFileOperation::FOCopyFileDACLS(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?FOCopyFileDACLS@CExFileOperation@@QEAAJPEBG0@Z
-; public: long __cdecl CExFileOperation::FODeleteFile(unsigned short const * __ptr64) __ptr64
-?FODeleteFile@CExFileOperation@@QEAAJPEBG@Z
-; public: long __cdecl CExFileOperation::FOMoveFile(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?FOMoveFile@CExFileOperation@@QEAAJPEBG0@Z
-; public: long __cdecl CExFileOperation::FOReplaceFile(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?FOReplaceFile@CExFileOperation@@QEAAJPEBG0@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
-?FindKey@CLKRHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
-?FindKey@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindRecord(void const * __ptr64)const  __ptr64
-?FindRecord@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindRecord(void const * __ptr64)const  __ptr64
-?FindRecord@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::First(void)const  __ptr64
-?First@CDoubleList@@QEBAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::First(void) __ptr64
-?First@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: int __cdecl CEXAutoBackupFile::GetBackupFile(unsigned short * __ptr64 * __ptr64) __ptr64
-?GetBackupFile@CEXAutoBackupFile@@QEAAHPEAPEAG@Z
-; public: unsigned short __cdecl CLKRHashTable::GetBucketLockSpinCount(void) __ptr64
-?GetBucketLockSpinCount@CLKRHashTable@@QEAAGXZ
-; public: unsigned short __cdecl CLKRLinearHashTable::GetBucketLockSpinCount(void) __ptr64
-?GetBucketLockSpinCount@CLKRLinearHashTable@@QEAAGXZ
-; public: static double __cdecl CCritSec::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CCritSec@@SANXZ
-; public: static double __cdecl CFakeLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CFakeLock@@SANXZ
-; public: static double __cdecl CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SANXZ
-; public: static double __cdecl CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SANXZ
-; public: static double __cdecl CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SANXZ
-; public: static double __cdecl CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SANXZ
-; public: static double __cdecl CSpinLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CSpinLock@@SANXZ
-; public: static unsigned short __cdecl CCritSec::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CCritSec@@SAGXZ
-; public: static unsigned short __cdecl CFakeLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CFakeLock@@SAGXZ
-; public: static unsigned short __cdecl CReaderWriterLock2::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock2@@SAGXZ
-; public: static unsigned short __cdecl CReaderWriterLock3::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock3@@SAGXZ
-; public: static unsigned short __cdecl CReaderWriterLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock@@SAGXZ
-; public: static unsigned short __cdecl CSmallSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSmallSpinLock@@SAGXZ
-; public: static unsigned short __cdecl CSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSpinLock@@SAGXZ
-; public: unsigned short __cdecl CCritSec::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CCritSec@@QEBAGXZ
-; public: unsigned short __cdecl CFakeLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CFakeLock@@QEBAGXZ
-; public: unsigned short __cdecl CReaderWriterLock2::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CReaderWriterLock2@@QEBAGXZ
-; public: unsigned short __cdecl CReaderWriterLock3::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CReaderWriterLock3@@QEBAGXZ
-; public: unsigned short __cdecl CReaderWriterLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CReaderWriterLock@@QEBAGXZ
-; public: unsigned short __cdecl CSmallSpinLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CSmallSpinLock@@QEBAGXZ
-; public: unsigned short __cdecl CSpinLock::GetSpinCount(void)const  __ptr64
-?GetSpinCount@CSpinLock@@QEBAGXZ
-; public: class CLKRHashTableStats  __cdecl CLKRHashTable::GetStatistics(void)const  __ptr64
-?GetStatistics@CLKRHashTable@@QEBA?AVCLKRHashTableStats@@XZ
-; public: class CLKRHashTableStats  __cdecl CLKRLinearHashTable::GetStatistics(void)const  __ptr64
-?GetStatistics@CLKRLinearHashTable@@QEBA?AVCLKRHashTableStats@@XZ
-; public: unsigned short __cdecl CLKRHashTable::GetTableLockSpinCount(void) __ptr64
-?GetTableLockSpinCount@CLKRHashTable@@QEAAGXZ
-; public: unsigned short __cdecl CLKRLinearHashTable::GetTableLockSpinCount(void) __ptr64
-?GetTableLockSpinCount@CLKRLinearHashTable@@QEAAGXZ
-; public: static int __cdecl CMdVersionInfo::GetVersionExW(struct _OSVERSIONINFOW * __ptr64)
-?GetVersionExW@CMdVersionInfo@@SAHPEAU_OSVERSIONINFOW@@@Z
-; public: class CListEntry const * __ptr64 __cdecl CDoubleList::HeadNode(void)const  __ptr64
-?HeadNode@CDoubleList@@QEBAQEBVCListEntry@@XZ
-; public: class CListEntry const * __ptr64 __cdecl CLockedDoubleList::HeadNode(void)const  __ptr64
-?HeadNode@CLockedDoubleList@@QEBAQEBVCListEntry@@XZ
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
-?IncrementIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
-?IncrementIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?IncrementIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
-?IncrementIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
-?InitializeIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
-?InitializeIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?InitializeIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
-?InitializeIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
-; private: static int __cdecl CMdVersionInfo::InitializeVersionInfo(void)
-?InitializeVersionInfo@CMdVersionInfo@@CAHXZ
-; public: void __cdecl CDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
-?InsertHead@CDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: void __cdecl CLockedDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
-?InsertHead@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: enum LK_RETCODE  __cdecl CLKRHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
-?InsertRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
-; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
-?InsertRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
-; public: void __cdecl CDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
-?InsertTail@CDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: void __cdecl CLockedDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
-?InsertTail@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: bool __cdecl CDoubleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedDoubleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CLockedDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedSingleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CLockedSingleList@@QEBA_NXZ
-; public: bool __cdecl CSingleList::IsEmpty(void)const  __ptr64
-?IsEmpty@CSingleList@@QEBA_NXZ
-; public: bool __cdecl CLockedDoubleList::IsLocked(void)const  __ptr64
-?IsLocked@CLockedDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedSingleList::IsLocked(void)const  __ptr64
-?IsLocked@CLockedSingleList@@QEBA_NXZ
-; public: static int __cdecl CMdVersionInfo::IsMillnm(void)
-?IsMillnm@CMdVersionInfo@@SAHXZ
-; public: bool __cdecl CCritSec::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsReadLocked(void)const  __ptr64
-?IsReadLocked@CSpinLock@@QEBA_NXZ
-; public: bool __cdecl CCritSec::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsReadUnlocked(void)const  __ptr64
-?IsReadUnlocked@CSpinLock@@QEBA_NXZ
-; public: bool __cdecl CLockedDoubleList::IsUnlocked(void)const  __ptr64
-?IsUnlocked@CLockedDoubleList@@QEBA_NXZ
-; public: bool __cdecl CLockedSingleList::IsUnlocked(void)const  __ptr64
-?IsUnlocked@CLockedSingleList@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsUsable(void)const  __ptr64
-?IsUsable@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsUsable(void)const  __ptr64
-?IsUsable@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsValid(void)const  __ptr64
-?IsValid@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsValid(void)const  __ptr64
-?IsValid@CLKRLinearHashTable@@QEBA_NXZ
-; public: static int __cdecl CMdVersionInfo::IsWin2k(void)
-?IsWin2k@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin2korLater(void)
-?IsWin2korLater@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin95(void)
-?IsWin95@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin98(void)
-?IsWin98@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin98orLater(void)
-?IsWin98orLater@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin9x(void)
-?IsWin9x@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWinNT4(void)
-?IsWinNT4@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWinNT(void)
-?IsWinNT@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWinNt4orLater(void)
-?IsWinNt4orLater@CMdVersionInfo@@SAHXZ
-; public: bool __cdecl CCritSec::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsWriteLocked(void)const  __ptr64
-?IsWriteLocked@CSpinLock@@QEBA_NXZ
-; public: bool __cdecl CCritSec::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CCritSec@@QEBA_NXZ
-; public: bool __cdecl CFakeLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CFakeLock@@QEBA_NXZ
-; public: bool __cdecl CLKRHashTable::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CLKRLinearHashTable@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock2::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CReaderWriterLock2@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock3::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CReaderWriterLock3@@QEBA_NXZ
-; public: bool __cdecl CReaderWriterLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CReaderWriterLock@@QEBA_NXZ
-; public: bool __cdecl CSmallSpinLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CSmallSpinLock@@QEBA_NXZ
-; public: bool __cdecl CSpinLock::IsWriteUnlocked(void)const  __ptr64
-?IsWriteUnlocked@CSpinLock@@QEBA_NXZ
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::Last(void)const  __ptr64
-?Last@CDoubleList@@QEBAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::Last(void) __ptr64
-?Last@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: void __cdecl CLockedDoubleList::Lock(void) __ptr64
-?Lock@CLockedDoubleList@@QEAAXXZ
-; public: void __cdecl CLockedSingleList::Lock(void) __ptr64
-?Lock@CLockedSingleList@@QEAAXXZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<1,1,3,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<2,1,1,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<3,1,1,1,1,1>::LockType(void)
-?LockType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<4,1,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<5,2,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<6,2,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<7,2,1,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
-; public: unsigned long __cdecl CLKRHashTable::MaxSize(void)const  __ptr64
-?MaxSize@CLKRHashTable@@QEBAKXZ
-; public: unsigned long __cdecl CLKRLinearHashTable::MaxSize(void)const  __ptr64
-?MaxSize@CLKRLinearHashTable@@QEBAKXZ
-; unsigned __int64 __cdecl MpHeapCompact(void * __ptr64)
-?MpHeapCompact@@YA_KPEAX@Z
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<1,1,3,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<2,1,1,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<3,1,1,1,1,1>::MutexType(void)
-?MutexType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<4,1,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<5,2,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<6,2,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<7,2,1,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
-; public: int __cdecl CLKRHashTable::NumSubTables(void)const  __ptr64
-?NumSubTables@CLKRHashTable@@QEBAHXZ
-; public: static enum LK_TABLESIZE  __cdecl CLKRHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
-?NumSubTables@CLKRHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
-; public: int __cdecl CLKRLinearHashTable::NumSubTables(void)const  __ptr64
-?NumSubTables@CLKRLinearHashTable@@QEBAHXZ
-; public: static enum LK_TABLESIZE  __cdecl CLKRLinearHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
-?NumSubTables@CLKRLinearHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
-; int __cdecl OnUnicodeSystem(void)
-?OnUnicodeSystem@@YAHXZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<5,2,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<6,2,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<7,2,1,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: class CSingleListEntry * __ptr64 __cdecl CLockedSingleList::Pop(void) __ptr64
-?Pop@CLockedSingleList@@QEAAQEAVCSingleListEntry@@XZ
-; public: class CSingleListEntry * __ptr64 __cdecl CSingleList::Pop(void) __ptr64
-?Pop@CSingleList@@QEAAQEAVCSingleListEntry@@XZ
-; public: void __cdecl CLKRHashTable::Print(void)const  __ptr64
-?Print@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::Print(void)const  __ptr64
-?Print@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CLockedSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
-?Push@CLockedSingleList@@QEAAXQEAVCSingleListEntry@@@Z
-; public: void __cdecl CSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
-?Push@CSingleList@@QEAAXQEAVCSingleListEntry@@@Z
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::QueueType(void)
-?QueueType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<5,2,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<6,2,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<7,2,1,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
-; public: void __cdecl CCritSec::ReadLock(void) __ptr64
-?ReadLock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ReadLock(void) __ptr64
-?ReadLock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ReadLock(void)const  __ptr64
-?ReadLock@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ReadLock(void)const  __ptr64
-?ReadLock@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ReadLock(void) __ptr64
-?ReadLock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ReadLock(void) __ptr64
-?ReadLock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ReadLock(void) __ptr64
-?ReadLock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ReadLock(void) __ptr64
-?ReadLock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ReadLock(void) __ptr64
-?ReadLock@CSpinLock@@QEAAXXZ
-; public: bool __cdecl CCritSec::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CCritSec@@QEAA_NXZ
-; public: bool __cdecl CFakeLock::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CFakeLock@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock3::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CSpinLock::ReadOrWriteLock(void) __ptr64
-?ReadOrWriteLock@CSpinLock@@QEAA_NXZ
-; public: void __cdecl CCritSec::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CCritSec@@QEAAX_N@Z
-; public: void __cdecl CFakeLock::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CFakeLock@@QEAAX_N@Z
-; public: void __cdecl CReaderWriterLock3::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CReaderWriterLock3@@QEAAX_N@Z
-; public: void __cdecl CSpinLock::ReadOrWriteUnlock(bool) __ptr64
-?ReadOrWriteUnlock@CSpinLock@@QEAAX_N@Z
-; public: void __cdecl CCritSec::ReadUnlock(void) __ptr64
-?ReadUnlock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::ReadUnlock(void)const  __ptr64
-?ReadUnlock@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::ReadUnlock(void)const  __ptr64
-?ReadUnlock@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::ReadUnlock(void) __ptr64
-?ReadUnlock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::ReadUnlock(void) __ptr64
-?ReadUnlock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::ReadUnlock(void) __ptr64
-?ReadUnlock@CSpinLock@@QEAAXXZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<1,1,3,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<2,1,1,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<3,1,1,1,1,1>::Recursion(void)
-?Recursion@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<4,1,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<5,2,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<6,2,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __cdecl CLockBase<7,2,1,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
-; public: static void __cdecl CMdVersionInfo::ReleaseVersionInfo(void)
-?ReleaseVersionInfo@CMdVersionInfo@@SAXXZ
-; public: static void __cdecl CDoubleList::RemoveEntry(class CListEntry * __ptr64 const)
-?RemoveEntry@CDoubleList@@SAXQEAVCListEntry@@@Z
-; public: void __cdecl CLockedDoubleList::RemoveEntry(class CListEntry * __ptr64 const) __ptr64
-?RemoveEntry@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveHead(void) __ptr64
-?RemoveHead@CDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveHead(void) __ptr64
-?RemoveHead@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveTail(void) __ptr64
-?RemoveTail@CDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveTail(void) __ptr64
-?RemoveTail@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
-; public: long __cdecl CEXAutoBackupFile::RestoreFile(void) __ptr64
-?RestoreFile@CEXAutoBackupFile@@QEAAJXZ
-; public: void __cdecl CLKRHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
-?SetBucketLockSpinCount@CLKRHashTable@@QEAAXG@Z
-; public: void __cdecl CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
-?SetBucketLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
-; public: static void __cdecl CCritSec::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CCritSec@@SAXN@Z
-; public: static void __cdecl CFakeLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CFakeLock@@SAXN@Z
-; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SAXN@Z
-; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SAXN@Z
-; public: static void __cdecl CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SAXN@Z
-; public: static void __cdecl CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SAXN@Z
-; public: static void __cdecl CSpinLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CSpinLock@@SAXN@Z
-; public: static void __cdecl CCritSec::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CCritSec@@SAXG@Z
-; public: static void __cdecl CFakeLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CFakeLock@@SAXG@Z
-; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock2@@SAXG@Z
-; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock3@@SAXG@Z
-; public: static void __cdecl CReaderWriterLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock@@SAXG@Z
-; public: static void __cdecl CSmallSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSmallSpinLock@@SAXG@Z
-; public: static void __cdecl CSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSpinLock@@SAXG@Z
-; public: bool __cdecl CCritSec::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CCritSec@@QEAA_NG@Z
-; public: static unsigned long __cdecl CCritSec::SetSpinCount(class CCriticalSection * __ptr64 * __ptr64,unsigned long)
-?SetSpinCount@CCritSec@@SAKPEAPEAVCCriticalSection@@K@Z
-; public: bool __cdecl CFakeLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CFakeLock@@QEAA_NG@Z
-; public: bool __cdecl CReaderWriterLock2::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CReaderWriterLock2@@QEAA_NG@Z
-; public: bool __cdecl CReaderWriterLock3::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CReaderWriterLock3@@QEAA_NG@Z
-; public: bool __cdecl CReaderWriterLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CReaderWriterLock@@QEAA_NG@Z
-; public: bool __cdecl CSmallSpinLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CSmallSpinLock@@QEAA_NG@Z
-; public: bool __cdecl CSpinLock::SetSpinCount(unsigned short) __ptr64
-?SetSpinCount@CSpinLock@@QEAA_NG@Z
-; public: void __cdecl CLKRHashTable::SetTableLockSpinCount(unsigned short) __ptr64
-?SetTableLockSpinCount@CLKRHashTable@@QEAAXG@Z
-; public: void __cdecl CLKRLinearHashTable::SetTableLockSpinCount(unsigned short) __ptr64
-?SetTableLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
-; public: unsigned long __cdecl CLKRHashTable::Size(void)const  __ptr64
-?Size@CLKRHashTable@@QEBAKXZ
-; public: unsigned long __cdecl CLKRLinearHashTable::Size(void)const  __ptr64
-?Size@CLKRLinearHashTable@@QEBAKXZ
-; public: bool __cdecl CCritSec::TryReadLock(void) __ptr64
-?TryReadLock@CCritSec@@QEAA_NXZ
-; public: bool __cdecl CFakeLock::TryReadLock(void) __ptr64
-?TryReadLock@CFakeLock@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock2::TryReadLock(void) __ptr64
-?TryReadLock@CReaderWriterLock2@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock3::TryReadLock(void) __ptr64
-?TryReadLock@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock::TryReadLock(void) __ptr64
-?TryReadLock@CReaderWriterLock@@QEAA_NXZ
-; public: bool __cdecl CSmallSpinLock::TryReadLock(void) __ptr64
-?TryReadLock@CSmallSpinLock@@QEAA_NXZ
-; public: bool __cdecl CSpinLock::TryReadLock(void) __ptr64
-?TryReadLock@CSpinLock@@QEAA_NXZ
-; public: bool __cdecl CCritSec::TryWriteLock(void) __ptr64
-?TryWriteLock@CCritSec@@QEAA_NXZ
-; public: bool __cdecl CFakeLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CFakeLock@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock2::TryWriteLock(void) __ptr64
-?TryWriteLock@CReaderWriterLock2@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock3::TryWriteLock(void) __ptr64
-?TryWriteLock@CReaderWriterLock3@@QEAA_NXZ
-; public: bool __cdecl CReaderWriterLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CReaderWriterLock@@QEAA_NXZ
-; public: bool __cdecl CSmallSpinLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CSmallSpinLock@@QEAA_NXZ
-; public: bool __cdecl CSpinLock::TryWriteLock(void) __ptr64
-?TryWriteLock@CSpinLock@@QEAA_NXZ
-; public: long __cdecl CEXAutoBackupFile::UndoBackup(void) __ptr64
-?UndoBackup@CEXAutoBackupFile@@QEAAJXZ
-; public: void __cdecl CLockedDoubleList::Unlock(void) __ptr64
-?Unlock@CLockedDoubleList@@QEAAXXZ
-; public: void __cdecl CLockedSingleList::Unlock(void) __ptr64
-?Unlock@CLockedSingleList@@QEAAXXZ
-; public: bool __cdecl CLKRHashTable::ValidSignature(void)const  __ptr64
-?ValidSignature@CLKRHashTable@@QEBA_NXZ
-; public: bool __cdecl CLKRLinearHashTable::ValidSignature(void)const  __ptr64
-?ValidSignature@CLKRLinearHashTable@@QEBA_NXZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::WaitType(void)
-?WaitType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<5,2,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<6,2,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<7,2,1,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
-; public: void __cdecl CCritSec::WriteLock(void) __ptr64
-?WriteLock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::WriteLock(void) __ptr64
-?WriteLock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::WriteLock(void) __ptr64
-?WriteLock@CLKRHashTable@@QEAAXXZ
-; public: void __cdecl CLKRLinearHashTable::WriteLock(void) __ptr64
-?WriteLock@CLKRLinearHashTable@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock2::WriteLock(void) __ptr64
-?WriteLock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::WriteLock(void) __ptr64
-?WriteLock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::WriteLock(void) __ptr64
-?WriteLock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::WriteLock(void) __ptr64
-?WriteLock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::WriteLock(void) __ptr64
-?WriteLock@CSpinLock@@QEAAXXZ
-; public: void __cdecl CCritSec::WriteUnlock(void) __ptr64
-?WriteUnlock@CCritSec@@QEAAXXZ
-; public: void __cdecl CFakeLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CFakeLock@@QEAAXXZ
-; public: void __cdecl CLKRHashTable::WriteUnlock(void)const  __ptr64
-?WriteUnlock@CLKRHashTable@@QEBAXXZ
-; public: void __cdecl CLKRLinearHashTable::WriteUnlock(void)const  __ptr64
-?WriteUnlock@CLKRLinearHashTable@@QEBAXXZ
-; public: void __cdecl CReaderWriterLock2::WriteUnlock(void) __ptr64
-?WriteUnlock@CReaderWriterLock2@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock3::WriteUnlock(void) __ptr64
-?WriteUnlock@CReaderWriterLock3@@QEAAXXZ
-; public: void __cdecl CReaderWriterLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CReaderWriterLock@@QEAAXXZ
-; public: void __cdecl CSmallSpinLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CSmallSpinLock@@QEAAXXZ
-; public: void __cdecl CSpinLock::WriteUnlock(void) __ptr64
-?WriteUnlock@CSpinLock@@QEAAXXZ
-; private: void __cdecl CLKRLinearHashTable::_AddRefRecord(void const * __ptr64,int)const  __ptr64
-?_AddRefRecord@CLKRLinearHashTable@@AEBAXPEBXH@Z
-; private: static class CLKRLinearHashTable::CNodeClump * __ptr64 __cdecl CLKRLinearHashTable::_AllocateNodeClump(void)
-?_AllocateNodeClump@CLKRLinearHashTable@@CAQEAVCNodeClump@1@XZ
-; private: class CLKRLinearHashTable::CSegment * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegment(void)const  __ptr64
-?_AllocateSegment@CLKRLinearHashTable@@AEBAQEAVCSegment@1@XZ
-; private: static class CLKRLinearHashTable::CDirEntry * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned __int64)
-?_AllocateSegmentDirectory@CLKRLinearHashTable@@CAQEAVCDirEntry@1@_K@Z
-; private: static class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_AllocateSubTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64)
-?_AllocateSubTable@CLKRHashTable@@CAQEAVCLKRLinearHashTable@@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAV1@@Z
-; private: static class CLKRLinearHashTable * __ptr64 * __ptr64 __cdecl CLKRHashTable::_AllocateSubTableArray(unsigned __int64)
-?_AllocateSubTableArray@CLKRHashTable@@CAQEAPEAVCLKRLinearHashTable@@_K@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
-?_Apply@CLKRLinearHashTable@@AEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@AEAW4LK_PREDICATE@@@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
-?_ApplyIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AEAW42@@Z
-; private: class CLKRLinearHashTable::CBucket * __ptr64 __cdecl CLKRLinearHashTable::_Bucket(unsigned long)const  __ptr64
-?_Bucket@CLKRLinearHashTable@@AEBAPEAVCBucket@1@K@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_BucketAddress(unsigned long)const  __ptr64
-?_BucketAddress@CLKRLinearHashTable@@AEBAKK@Z
-; private: unsigned long __cdecl CLKRHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
-?_CalcKeyHash@CLKRHashTable@@AEBAK_K@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
-?_CalcKeyHash@CLKRLinearHashTable@@AEBAK_K@Z
-; private: void __cdecl CLKRLinearHashTable::_Clear(bool) __ptr64
-?_Clear@CLKRLinearHashTable@@AEAAX_N@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?_CloseIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; private: bool __cdecl CReaderWriterLock2::_CmpExch(long,long) __ptr64
-?_CmpExch@CReaderWriterLock2@@AEAA_NJJ@Z
-; private: bool __cdecl CReaderWriterLock3::_CmpExch(long,long) __ptr64
-?_CmpExch@CReaderWriterLock3@@AEAA_NJJ@Z
-; private: bool __cdecl CReaderWriterLock::_CmpExch(long,long) __ptr64
-?_CmpExch@CReaderWriterLock@@AEAA_NJJ@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Contract(void) __ptr64
-?_Contract@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
-; private: static long __cdecl CReaderWriterLock3::_CurrentThreadId(void)
-?_CurrentThreadId@CReaderWriterLock3@@CAJXZ
-; private: static long __cdecl CSmallSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSmallSpinLock@@CAJXZ
-; private: static long __cdecl CSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSpinLock@@CAJXZ
-; private: unsigned long __cdecl CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_PREDICATE & __ptr64) __ptr64
-?_DeleteIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1AEAW42@@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteKey(unsigned __int64,unsigned long) __ptr64
-?_DeleteKey@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@_KK@Z
-; private: bool __cdecl CLKRLinearHashTable::_DeleteNode(class CLKRLinearHashTable::CBucket * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64 & __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64 & __ptr64,int & __ptr64) __ptr64
-?_DeleteNode@CLKRLinearHashTable@@AEAA_NPEAVCBucket@1@AEAPEAVCNodeClump@1@1AEAH@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteRecord(void const * __ptr64,unsigned long) __ptr64
-?_DeleteRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK@Z
-; private: bool __cdecl CLKRLinearHashTable::_EqualKeys(unsigned __int64,unsigned __int64)const  __ptr64
-?_EqualKeys@CLKRLinearHashTable@@AEBA_N_K0@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Expand(void) __ptr64
-?_Expand@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
-; private: unsigned __int64 const  __cdecl CLKRHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
-?_ExtractKey@CLKRHashTable@@AEBA?B_KPEBX@Z
-; private: unsigned __int64 const  __cdecl CLKRLinearHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
-?_ExtractKey@CLKRLinearHashTable@@AEBA?B_KPEBX@Z
-; private: class CLKRLinearHashTable::CBucket * __ptr64 __cdecl CLKRLinearHashTable::_FindBucket(unsigned long,bool)const  __ptr64
-?_FindBucket@CLKRLinearHashTable@@AEBAPEAVCBucket@1@K_N@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindKey(unsigned __int64,unsigned long,void const * __ptr64 * __ptr64)const  __ptr64
-?_FindKey@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@_KKPEAPEBX@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindRecord(void const * __ptr64,unsigned long)const  __ptr64
-?_FindRecord@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@PEBXK@Z
-; private: static bool __cdecl CLKRLinearHashTable::_FreeNodeClump(class CLKRLinearHashTable::CNodeClump * __ptr64)
-?_FreeNodeClump@CLKRLinearHashTable@@CA_NPEAVCNodeClump@1@@Z
-; private: bool __cdecl CLKRLinearHashTable::_FreeSegment(class CLKRLinearHashTable::CSegment * __ptr64)const  __ptr64
-?_FreeSegment@CLKRLinearHashTable@@AEBA_NPEAVCSegment@1@@Z
-; private: static bool __cdecl CLKRLinearHashTable::_FreeSegmentDirectory(class CLKRLinearHashTable::CDirEntry * __ptr64)
-?_FreeSegmentDirectory@CLKRLinearHashTable@@CA_NPEAVCDirEntry@1@@Z
-; private: static bool __cdecl CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable * __ptr64)
-?_FreeSubTable@CLKRHashTable@@CA_NPEAVCLKRLinearHashTable@@@Z
-; private: static bool __cdecl CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * __ptr64 * __ptr64)
-?_FreeSubTableArray@CLKRHashTable@@CA_NPEAPEAVCLKRLinearHashTable@@@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long)const  __ptr64
-?_H0@CLKRLinearHashTable@@AEBAKK@Z
-; private: static unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long,unsigned long)
-?_H0@CLKRLinearHashTable@@CAKKK@Z
-; private: unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long)const  __ptr64
-?_H1@CLKRLinearHashTable@@AEBAKK@Z
-; private: static unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long,unsigned long)
-?_H1@CLKRLinearHashTable@@CAKKK@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Initialize(unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),char const * __ptr64,double,unsigned long) __ptr64
-?_Initialize@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@P6A?B_KPEBX@ZP6AK_K@ZP6A_N22@ZP6AX0H@ZPEBDNK@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
-?_InitializeIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InsertRecord(void const * __ptr64,unsigned long,bool) __ptr64
-?_InsertRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK_N@Z
-; private: void __cdecl CLKRHashTable::_InsertThisIntoGlobalList(void) __ptr64
-?_InsertThisIntoGlobalList@CLKRHashTable@@AEAAXXZ
-; private: void __cdecl CLKRLinearHashTable::_InsertThisIntoGlobalList(void) __ptr64
-?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AEAAXXZ
-; private: bool __cdecl CSpinLock::_IsLocked(void)const  __ptr64
-?_IsLocked@CSpinLock@@AEBA_NXZ
-; private: int __cdecl CLKRLinearHashTable::_IsNodeCompact(class CLKRLinearHashTable::CBucket * __ptr64 const)const  __ptr64
-?_IsNodeCompact@CLKRLinearHashTable@@AEBAHQEAVCBucket@1@@Z
-; private: void __cdecl CSpinLock::_Lock(void) __ptr64
-?_Lock@CSpinLock@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock2::_LockSpin(bool) __ptr64
-?_LockSpin@CReaderWriterLock2@@AEAAX_N@Z
-; private: void __cdecl CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
-?_LockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
-; private: void __cdecl CReaderWriterLock::_LockSpin(bool) __ptr64
-?_LockSpin@CReaderWriterLock@@AEAAX_N@Z
-; private: void __cdecl CSmallSpinLock::_LockSpin(void) __ptr64
-?_LockSpin@CSmallSpinLock@@AEAAXXZ
-; private: void __cdecl CSpinLock::_LockSpin(void) __ptr64
-?_LockSpin@CSpinLock@@AEAAXXZ
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_MergeRecordSets(class CLKRLinearHashTable::CBucket * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64) __ptr64
-?_MergeRecordSets@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCBucket@1@PEAVCNodeClump@1@1@Z
-; private: static enum LK_PREDICATE  __cdecl CLKRLinearHashTable::_PredTrue(void const * __ptr64,void * __ptr64)
-?_PredTrue@CLKRLinearHashTable@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
-; private: void __cdecl CReaderWriterLock2::_ReadLockSpin(void) __ptr64
-?_ReadLockSpin@CReaderWriterLock2@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
-?_ReadLockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
-; private: void __cdecl CReaderWriterLock::_ReadLockSpin(void) __ptr64
-?_ReadLockSpin@CReaderWriterLock@@AEAAXXZ
-; private: bool __cdecl CLKRLinearHashTable::_ReadOrWriteLock(void)const  __ptr64
-?_ReadOrWriteLock@CLKRLinearHashTable@@AEBA_NXZ
-; private: void __cdecl CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const  __ptr64
-?_ReadOrWriteUnlock@CLKRLinearHashTable@@AEBAX_N@Z
-; private: void __cdecl CLKRHashTable::_RemoveThisFromGlobalList(void) __ptr64
-?_RemoveThisFromGlobalList@CLKRHashTable@@AEAAXXZ
-; private: void __cdecl CLKRLinearHashTable::_RemoveThisFromGlobalList(void) __ptr64
-?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AEAAXXZ
-; private: unsigned long __cdecl CLKRLinearHashTable::_SegIndex(unsigned long)const  __ptr64
-?_SegIndex@CLKRLinearHashTable@@AEBAKK@Z
-; private: class CLKRLinearHashTable::CSegment * __ptr64 & __ptr64 __cdecl CLKRLinearHashTable::_Segment(unsigned long)const  __ptr64
-?_Segment@CLKRLinearHashTable@@AEBAAEAPEAVCSegment@1@K@Z
-; private: void __cdecl CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE) __ptr64
-?_SetSegVars@CLKRLinearHashTable@@AEAAXW4LK_TABLESIZE@@@Z
-; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SplitRecordSet(class CLKRLinearHashTable::CNodeClump * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64,unsigned long,unsigned long,unsigned long,class CLKRLinearHashTable::CNodeClump * __ptr64) __ptr64
-?_SplitRecordSet@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCNodeClump@1@0KKK0@Z
-; private: class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_SubTable(unsigned long)const  __ptr64
-?_SubTable@CLKRHashTable@@AEBAPEAVCLKRLinearHashTable@@K@Z
-; private: bool __cdecl CSmallSpinLock::_TryLock(void) __ptr64
-?_TryLock@CSmallSpinLock@@AEAA_NXZ
-; private: bool __cdecl CSpinLock::_TryLock(void) __ptr64
-?_TryLock@CSpinLock@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock2::_TryReadLock(void) __ptr64
-?_TryReadLock@CReaderWriterLock2@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock3::_TryReadLock(void) __ptr64
-?_TryReadLock@CReaderWriterLock3@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock::_TryReadLock(void) __ptr64
-?_TryReadLock@CReaderWriterLock@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock3::_TryReadLockRecursive(void) __ptr64
-?_TryReadLockRecursive@CReaderWriterLock3@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock3::_TryWriteLock2(void) __ptr64
-?_TryWriteLock2@CReaderWriterLock3@@AEAA_NXZ
-; private: bool __cdecl CReaderWriterLock2::_TryWriteLock(long) __ptr64
-?_TryWriteLock@CReaderWriterLock2@@AEAA_NJ@Z
-; private: bool __cdecl CReaderWriterLock3::_TryWriteLock(long) __ptr64
-?_TryWriteLock@CReaderWriterLock3@@AEAA_NJ@Z
-; private: bool __cdecl CReaderWriterLock::_TryWriteLock(void) __ptr64
-?_TryWriteLock@CReaderWriterLock@@AEAA_NXZ
-; private: void __cdecl CSpinLock::_Unlock(void) __ptr64
-?_Unlock@CSpinLock@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock2::_WriteLockSpin(void) __ptr64
-?_WriteLockSpin@CReaderWriterLock2@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock3::_WriteLockSpin(void) __ptr64
-?_WriteLockSpin@CReaderWriterLock3@@AEAAXXZ
-; private: void __cdecl CReaderWriterLock::_WriteLockSpin(void) __ptr64
-?_WriteLockSpin@CReaderWriterLock@@AEAAXXZ
-; private: long __cdecl CExFileOperation::_getFileSecurity(unsigned short const * __ptr64) __ptr64
-?_getFileSecurity@CExFileOperation@@AEAAJPEBG@Z
-; private: long __cdecl CExFileOperation::_setFileSecurity(unsigned short const * __ptr64) __ptr64
-?_setFileSecurity@CExFileOperation@@AEAAJPEBG@Z
-; public: int __cdecl CEXAutoBackupFile::fHaveBackup(void) __ptr64
-?fHaveBackup@CEXAutoBackupFile@@QEAAHXZ
-; long const * const  `public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
-?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SAPEBJXZ@4QBJB
-; 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  CSmallSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
-; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA 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 struct _OSVERSIONINFOW * __ptr64  __ptr64 CMdVersionInfo::sm_lpOSVERSIONINFO
-?sm_lpOSVERSIONINFO@CMdVersionInfo@@0PEAU_OSVERSIONINFOW@@EA DATA
-; private: static unsigned long (__cdecl* __ptr64 CCriticalSection::sm_pfnSetCriticalSectionSpinCount)(struct _RTL_CRITICAL_SECTION * __ptr64,unsigned long)
-?sm_pfnSetCriticalSectionSpinCount@CCriticalSection@@0P6AKPEAU_RTL_CRITICAL_SECTION@@K@ZEA DATA
-; private: static int (__cdecl* __ptr64 CCriticalSection::sm_pfnTryEnterCriticalSection)(struct _RTL_CRITICAL_SECTION * __ptr64)
-?sm_pfnTryEnterCriticalSection@CCriticalSection@@0P6AHPEAU_RTL_CRITICAL_SECTION@@@ZEA 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  CSmallSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
-; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
-DllBidEntryPoint
-DllMain
-FXMemAttach
-FXMemDetach
-GetIUMS
-IrtlTrace
-IsValidAddress
-IsValidString
-LoadVersionedResourceEx
-MPCSInitialize
-MPCSUninitialize
-MPDeleteCriticalSection
-MPInitializeCriticalSection
-MPInitializeCriticalSectionAndSpinCount
-MpGetHeapHandle
-MpHeapAlloc
-MpHeapCreate
-MpHeapDestroy
-MpHeapFree
-MpHeapReAlloc
-MpHeapSize
-MpHeapValidate
-SetIUMS
-SetMemHook
-UMSEnterCSWraper
-mpCalloc
-mpFree
-mpMalloc
-mpRealloc
+; 
+; Exports of file MSDART.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDART.DLL
+EXPORTS
+; public: __cdecl CCritSec::CCritSec(void) __ptr64
+??0CCritSec@@QEAA@XZ
+; public: __cdecl CDoubleList::CDoubleList(void) __ptr64
+??0CDoubleList@@QEAA@XZ
+; public: __cdecl CEXAutoBackupFile::CEXAutoBackupFile(unsigned short const * __ptr64) __ptr64
+??0CEXAutoBackupFile@@QEAA@PEBG@Z
+; public: __cdecl CEXAutoBackupFile::CEXAutoBackupFile(void) __ptr64
+??0CEXAutoBackupFile@@QEAA@XZ
+; public: __cdecl CExFileOperation::CExFileOperation(void) __ptr64
+??0CExFileOperation@@QEAA@XZ
+; public: __cdecl CFakeLock::CFakeLock(void) __ptr64
+??0CFakeLock@@QEAA@XZ
+; private: __cdecl CLKRHashTable::CLKRHashTable(class CLKRHashTable const & __ptr64) __ptr64
+??0CLKRHashTable@@AEAA@AEBV0@@Z
+; public: __cdecl CLKRHashTable::CLKRHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long) __ptr64
+??0CLKRHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK@Z
+; public: __cdecl CLKRHashTableStats::CLKRHashTableStats(void) __ptr64
+??0CLKRHashTableStats@@QEAA@XZ
+; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(class CLKRLinearHashTable const & __ptr64) __ptr64
+??0CLKRLinearHashTable@@AEAA@AEBV0@@Z
+; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64) __ptr64
+??0CLKRLinearHashTable@@AEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAVCLKRHashTable@@@Z
+; public: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long) __ptr64
+??0CLKRLinearHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK@Z
+; public: __cdecl CLockedDoubleList::CLockedDoubleList(void) __ptr64
+??0CLockedDoubleList@@QEAA@XZ
+; public: __cdecl CLockedSingleList::CLockedSingleList(void) __ptr64
+??0CLockedSingleList@@QEAA@XZ
+; public: __cdecl CReaderWriterLock2::CReaderWriterLock2(void) __ptr64
+??0CReaderWriterLock2@@QEAA@XZ
+; public: __cdecl CReaderWriterLock3::CReaderWriterLock3(void) __ptr64
+??0CReaderWriterLock3@@QEAA@XZ
+; public: __cdecl CReaderWriterLock::CReaderWriterLock(void) __ptr64
+??0CReaderWriterLock@@QEAA@XZ
+; public: __cdecl CSingleList::CSingleList(void) __ptr64
+??0CSingleList@@QEAA@XZ
+; public: __cdecl CSmallSpinLock::CSmallSpinLock(void) __ptr64
+??0CSmallSpinLock@@QEAA@XZ
+; public: __cdecl CSpinLock::CSpinLock(void) __ptr64
+??0CSpinLock@@QEAA@XZ
+; public: __cdecl CCritSec::~CCritSec(void) __ptr64
+??1CCritSec@@QEAA@XZ
+; public: __cdecl CDoubleList::~CDoubleList(void) __ptr64
+??1CDoubleList@@QEAA@XZ
+; public: __cdecl CEXAutoBackupFile::~CEXAutoBackupFile(void) __ptr64
+??1CEXAutoBackupFile@@QEAA@XZ
+; public: __cdecl CExFileOperation::~CExFileOperation(void) __ptr64
+??1CExFileOperation@@QEAA@XZ
+; public: __cdecl CFakeLock::~CFakeLock(void) __ptr64
+??1CFakeLock@@QEAA@XZ
+; public: __cdecl CLKRHashTable::~CLKRHashTable(void) __ptr64
+??1CLKRHashTable@@QEAA@XZ
+; public: __cdecl CLKRLinearHashTable::~CLKRLinearHashTable(void) __ptr64
+??1CLKRLinearHashTable@@QEAA@XZ
+; public: __cdecl CLockedDoubleList::~CLockedDoubleList(void) __ptr64
+??1CLockedDoubleList@@QEAA@XZ
+; public: __cdecl CLockedSingleList::~CLockedSingleList(void) __ptr64
+??1CLockedSingleList@@QEAA@XZ
+; public: __cdecl CReaderWriterLock2::~CReaderWriterLock2(void) __ptr64
+??1CReaderWriterLock2@@QEAA@XZ
+; public: __cdecl CReaderWriterLock3::~CReaderWriterLock3(void) __ptr64
+??1CReaderWriterLock3@@QEAA@XZ
+; public: __cdecl CReaderWriterLock::~CReaderWriterLock(void) __ptr64
+??1CReaderWriterLock@@QEAA@XZ
+; public: __cdecl CSingleList::~CSingleList(void) __ptr64
+??1CSingleList@@QEAA@XZ
+; public: __cdecl CSmallSpinLock::~CSmallSpinLock(void) __ptr64
+??1CSmallSpinLock@@QEAA@XZ
+; public: __cdecl CSpinLock::~CSpinLock(void) __ptr64
+??1CSpinLock@@QEAA@XZ
+; public: class CLockBase<1,1,3,1,3,2> & __ptr64 __cdecl CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$00$00$02$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<2,1,1,1,3,2> & __ptr64 __cdecl CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$01$00$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<3,1,1,1,1,1> & __ptr64 __cdecl CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const & __ptr64) __ptr64
+??4?$CLockBase@$02$00$00$00$00$00@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<4,1,1,2,3,3> & __ptr64 __cdecl CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const & __ptr64) __ptr64
+??4?$CLockBase@$03$00$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<5,2,2,1,3,2> & __ptr64 __cdecl CLockBase<5,2,2,1,3,2>::operator=(class CLockBase<5,2,2,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$04$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<6,2,2,1,3,2> & __ptr64 __cdecl CLockBase<6,2,2,1,3,2>::operator=(class CLockBase<6,2,2,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$05$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockBase<7,2,1,1,3,2> & __ptr64 __cdecl CLockBase<7,2,1,1,3,2>::operator=(class CLockBase<7,2,1,1,3,2> const & __ptr64) __ptr64
+??4?$CLockBase@$06$01$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
+; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
+??4CCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CDoubleList & __ptr64 __cdecl CDoubleList::operator=(class CDoubleList const & __ptr64) __ptr64
+??4CDoubleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CEXAutoBackupFile & __ptr64 __cdecl CEXAutoBackupFile::operator=(class CEXAutoBackupFile const & __ptr64) __ptr64
+??4CEXAutoBackupFile@@QEAAAEAV0@AEBV0@@Z
+; public: class CExFileOperation & __ptr64 __cdecl CExFileOperation::operator=(class CExFileOperation const & __ptr64) __ptr64
+??4CExFileOperation@@QEAAAEAV0@AEBV0@@Z
+; public: class CFakeLock & __ptr64 __cdecl CFakeLock::operator=(class CFakeLock const & __ptr64) __ptr64
+??4CFakeLock@@QEAAAEAV0@AEBV0@@Z
+; private: class CLKRHashTable & __ptr64 __cdecl CLKRHashTable::operator=(class CLKRHashTable const & __ptr64) __ptr64
+??4CLKRHashTable@@AEAAAEAV0@AEBV0@@Z
+; public: class CLKRHashTableStats & __ptr64 __cdecl CLKRHashTableStats::operator=(class CLKRHashTableStats const & __ptr64) __ptr64
+??4CLKRHashTableStats@@QEAAAEAV0@AEBV0@@Z
+; private: class CLKRLinearHashTable & __ptr64 __cdecl CLKRLinearHashTable::operator=(class CLKRLinearHashTable const & __ptr64) __ptr64
+??4CLKRLinearHashTable@@AEAAAEAV0@AEBV0@@Z
+; public: class CLockedDoubleList & __ptr64 __cdecl CLockedDoubleList::operator=(class CLockedDoubleList const & __ptr64) __ptr64
+??4CLockedDoubleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CLockedSingleList & __ptr64 __cdecl CLockedSingleList::operator=(class CLockedSingleList const & __ptr64) __ptr64
+??4CLockedSingleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CMdVersionInfo & __ptr64 __cdecl CMdVersionInfo::operator=(class CMdVersionInfo const & __ptr64) __ptr64
+??4CMdVersionInfo@@QEAAAEAV0@AEBV0@@Z
+; public: class CReaderWriterLock2 & __ptr64 __cdecl CReaderWriterLock2::operator=(class CReaderWriterLock2 const & __ptr64) __ptr64
+??4CReaderWriterLock2@@QEAAAEAV0@AEBV0@@Z
+; public: class CReaderWriterLock3 & __ptr64 __cdecl CReaderWriterLock3::operator=(class CReaderWriterLock3 const & __ptr64) __ptr64
+??4CReaderWriterLock3@@QEAAAEAV0@AEBV0@@Z
+; public: class CReaderWriterLock & __ptr64 __cdecl CReaderWriterLock::operator=(class CReaderWriterLock const & __ptr64) __ptr64
+??4CReaderWriterLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CSingleList & __ptr64 __cdecl CSingleList::operator=(class CSingleList const & __ptr64) __ptr64
+??4CSingleList@@QEAAAEAV0@AEBV0@@Z
+; public: class CSmallSpinLock & __ptr64 __cdecl CSmallSpinLock::operator=(class CSmallSpinLock const & __ptr64) __ptr64
+??4CSmallSpinLock@@QEAAAEAV0@AEBV0@@Z
+; public: class CSpinLock & __ptr64 __cdecl CSpinLock::operator=(class CSpinLock const & __ptr64) __ptr64
+??4CSpinLock@@QEAAAEAV0@AEBV0@@Z
+; public: unsigned long __cdecl CLKRHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?Apply@CLKRHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CLKRLinearHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?Apply@CLKRLinearHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?ApplyIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __cdecl CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
+?ApplyIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
+; public: long __cdecl CEXAutoBackupFile::BackupFile(unsigned short const * __ptr64) __ptr64
+?BackupFile@CEXAutoBackupFile@@QEAAJPEBG@Z
+; public: static long __cdecl CLKRHashTableStats::BucketIndex(long)
+?BucketIndex@CLKRHashTableStats@@SAJJ@Z
+; public: static long __cdecl CLKRHashTableStats::BucketSize(long)
+?BucketSize@CLKRHashTableStats@@SAJJ@Z
+; public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)
+?BucketSizes@CLKRHashTableStats@@SAPEBJXZ
+; public: int __cdecl CLKRHashTable::CheckTable(void)const  __ptr64
+?CheckTable@CLKRHashTable@@QEBAHXZ
+; public: int __cdecl CLKRLinearHashTable::CheckTable(void)const  __ptr64
+?CheckTable@CLKRLinearHashTable@@QEBAHXZ
+; public: static char const * __ptr64 __cdecl CCritSec::ClassName(void)
+?ClassName@CCritSec@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CFakeLock::ClassName(void)
+?ClassName@CFakeLock@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CLKRHashTable::ClassName(void)
+?ClassName@CLKRHashTable@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CLKRLinearHashTable::ClassName(void)
+?ClassName@CLKRLinearHashTable@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
+?ClassName@CReaderWriterLock2@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
+?ClassName@CReaderWriterLock3@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
+?ClassName@CReaderWriterLock@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
+?ClassName@CSmallSpinLock@@SAPEBDXZ
+; public: static char const * __ptr64 __cdecl CSpinLock::ClassName(void)
+?ClassName@CSpinLock@@SAPEBDXZ
+; public: void __cdecl CLKRHashTable::Clear(void) __ptr64
+?Clear@CLKRHashTable@@QEAAXXZ
+; public: void __cdecl CLKRLinearHashTable::Clear(void) __ptr64
+?Clear@CLKRLinearHashTable@@QEAAXXZ
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
+?CloseIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
+?CloseIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?CloseIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
+?CloseIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: void __cdecl CCritSec::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ConvertExclusiveToShared(void)const  __ptr64
+?ConvertExclusiveToShared@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ConvertExclusiveToShared(void)const  __ptr64
+?ConvertExclusiveToShared@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ConvertExclusiveToShared(void) __ptr64
+?ConvertExclusiveToShared@CSpinLock@@QEAAXXZ
+; public: void __cdecl CCritSec::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ConvertSharedToExclusive(void)const  __ptr64
+?ConvertSharedToExclusive@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ConvertSharedToExclusive(void)const  __ptr64
+?ConvertSharedToExclusive@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ConvertSharedToExclusive(void) __ptr64
+?ConvertSharedToExclusive@CSpinLock@@QEAAXXZ
+; long __cdecl CreateHolder(struct IGPDispenser * __ptr64,int,unsigned int,struct IGPHolder * __ptr64 * __ptr64)
+?CreateHolder@@YAJPEAUIGPDispenser@@HIPEAPEAUIGPHolder@@@Z
+; public: unsigned long __cdecl CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
+?DeleteIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
+; public: unsigned long __cdecl CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
+?DeleteIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteKey(unsigned __int64) __ptr64
+?DeleteKey@CLKRHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteKey(unsigned __int64) __ptr64
+?DeleteKey@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteRecord(void const * __ptr64) __ptr64
+?DeleteRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteRecord(void const * __ptr64) __ptr64
+?DeleteRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
+; public: long __cdecl CExFileOperation::FOCopyFile(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?FOCopyFile@CExFileOperation@@QEAAJPEBG0H@Z
+; public: long __cdecl CExFileOperation::FOCopyFileDACLS(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?FOCopyFileDACLS@CExFileOperation@@QEAAJPEBG0@Z
+; public: long __cdecl CExFileOperation::FODeleteFile(unsigned short const * __ptr64) __ptr64
+?FODeleteFile@CExFileOperation@@QEAAJPEBG@Z
+; public: long __cdecl CExFileOperation::FOMoveFile(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?FOMoveFile@CExFileOperation@@QEAAJPEBG0@Z
+; public: long __cdecl CExFileOperation::FOReplaceFile(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?FOReplaceFile@CExFileOperation@@QEAAJPEBG0@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
+?FindKey@CLKRHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
+?FindKey@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindRecord(void const * __ptr64)const  __ptr64
+?FindRecord@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindRecord(void const * __ptr64)const  __ptr64
+?FindRecord@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::First(void)const  __ptr64
+?First@CDoubleList@@QEBAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::First(void) __ptr64
+?First@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: int __cdecl CEXAutoBackupFile::GetBackupFile(unsigned short * __ptr64 * __ptr64) __ptr64
+?GetBackupFile@CEXAutoBackupFile@@QEAAHPEAPEAG@Z
+; public: unsigned short __cdecl CLKRHashTable::GetBucketLockSpinCount(void) __ptr64
+?GetBucketLockSpinCount@CLKRHashTable@@QEAAGXZ
+; public: unsigned short __cdecl CLKRLinearHashTable::GetBucketLockSpinCount(void) __ptr64
+?GetBucketLockSpinCount@CLKRLinearHashTable@@QEAAGXZ
+; public: static double __cdecl CCritSec::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CCritSec@@SANXZ
+; public: static double __cdecl CFakeLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CFakeLock@@SANXZ
+; public: static double __cdecl CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SANXZ
+; public: static double __cdecl CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SANXZ
+; public: static double __cdecl CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SANXZ
+; public: static double __cdecl CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SANXZ
+; public: static double __cdecl CSpinLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CSpinLock@@SANXZ
+; public: static unsigned short __cdecl CCritSec::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CCritSec@@SAGXZ
+; public: static unsigned short __cdecl CFakeLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CFakeLock@@SAGXZ
+; public: static unsigned short __cdecl CReaderWriterLock2::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock2@@SAGXZ
+; public: static unsigned short __cdecl CReaderWriterLock3::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock3@@SAGXZ
+; public: static unsigned short __cdecl CReaderWriterLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock@@SAGXZ
+; public: static unsigned short __cdecl CSmallSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSmallSpinLock@@SAGXZ
+; public: static unsigned short __cdecl CSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSpinLock@@SAGXZ
+; public: unsigned short __cdecl CCritSec::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CCritSec@@QEBAGXZ
+; public: unsigned short __cdecl CFakeLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CFakeLock@@QEBAGXZ
+; public: unsigned short __cdecl CReaderWriterLock2::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CReaderWriterLock2@@QEBAGXZ
+; public: unsigned short __cdecl CReaderWriterLock3::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CReaderWriterLock3@@QEBAGXZ
+; public: unsigned short __cdecl CReaderWriterLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CReaderWriterLock@@QEBAGXZ
+; public: unsigned short __cdecl CSmallSpinLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CSmallSpinLock@@QEBAGXZ
+; public: unsigned short __cdecl CSpinLock::GetSpinCount(void)const  __ptr64
+?GetSpinCount@CSpinLock@@QEBAGXZ
+; public: class CLKRHashTableStats  __cdecl CLKRHashTable::GetStatistics(void)const  __ptr64
+?GetStatistics@CLKRHashTable@@QEBA?AVCLKRHashTableStats@@XZ
+; public: class CLKRHashTableStats  __cdecl CLKRLinearHashTable::GetStatistics(void)const  __ptr64
+?GetStatistics@CLKRLinearHashTable@@QEBA?AVCLKRHashTableStats@@XZ
+; public: unsigned short __cdecl CLKRHashTable::GetTableLockSpinCount(void) __ptr64
+?GetTableLockSpinCount@CLKRHashTable@@QEAAGXZ
+; public: unsigned short __cdecl CLKRLinearHashTable::GetTableLockSpinCount(void) __ptr64
+?GetTableLockSpinCount@CLKRLinearHashTable@@QEAAGXZ
+; public: static int __cdecl CMdVersionInfo::GetVersionExW(struct _OSVERSIONINFOW * __ptr64)
+?GetVersionExW@CMdVersionInfo@@SAHPEAU_OSVERSIONINFOW@@@Z
+; public: class CListEntry const * __ptr64 __cdecl CDoubleList::HeadNode(void)const  __ptr64
+?HeadNode@CDoubleList@@QEBAQEBVCListEntry@@XZ
+; public: class CListEntry const * __ptr64 __cdecl CLockedDoubleList::HeadNode(void)const  __ptr64
+?HeadNode@CLockedDoubleList@@QEBAQEBVCListEntry@@XZ
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
+?IncrementIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
+?IncrementIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?IncrementIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
+?IncrementIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
+?InitializeIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
+?InitializeIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?InitializeIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
+?InitializeIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
+; private: static int __cdecl CMdVersionInfo::InitializeVersionInfo(void)
+?InitializeVersionInfo@CMdVersionInfo@@CAHXZ
+; public: void __cdecl CDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
+?InsertHead@CDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: void __cdecl CLockedDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
+?InsertHead@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: enum LK_RETCODE  __cdecl CLKRHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
+?InsertRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
+; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
+?InsertRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
+; public: void __cdecl CDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
+?InsertTail@CDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: void __cdecl CLockedDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
+?InsertTail@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: bool __cdecl CDoubleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedDoubleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CLockedDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedSingleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CLockedSingleList@@QEBA_NXZ
+; public: bool __cdecl CSingleList::IsEmpty(void)const  __ptr64
+?IsEmpty@CSingleList@@QEBA_NXZ
+; public: bool __cdecl CLockedDoubleList::IsLocked(void)const  __ptr64
+?IsLocked@CLockedDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedSingleList::IsLocked(void)const  __ptr64
+?IsLocked@CLockedSingleList@@QEBA_NXZ
+; public: static int __cdecl CMdVersionInfo::IsMillnm(void)
+?IsMillnm@CMdVersionInfo@@SAHXZ
+; public: bool __cdecl CCritSec::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsReadLocked(void)const  __ptr64
+?IsReadLocked@CSpinLock@@QEBA_NXZ
+; public: bool __cdecl CCritSec::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsReadUnlocked(void)const  __ptr64
+?IsReadUnlocked@CSpinLock@@QEBA_NXZ
+; public: bool __cdecl CLockedDoubleList::IsUnlocked(void)const  __ptr64
+?IsUnlocked@CLockedDoubleList@@QEBA_NXZ
+; public: bool __cdecl CLockedSingleList::IsUnlocked(void)const  __ptr64
+?IsUnlocked@CLockedSingleList@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsUsable(void)const  __ptr64
+?IsUsable@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsUsable(void)const  __ptr64
+?IsUsable@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsValid(void)const  __ptr64
+?IsValid@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsValid(void)const  __ptr64
+?IsValid@CLKRLinearHashTable@@QEBA_NXZ
+; public: static int __cdecl CMdVersionInfo::IsWin2k(void)
+?IsWin2k@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin2korLater(void)
+?IsWin2korLater@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin95(void)
+?IsWin95@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin98(void)
+?IsWin98@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin98orLater(void)
+?IsWin98orLater@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin9x(void)
+?IsWin9x@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWinNT4(void)
+?IsWinNT4@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWinNT(void)
+?IsWinNT@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWinNt4orLater(void)
+?IsWinNt4orLater@CMdVersionInfo@@SAHXZ
+; public: bool __cdecl CCritSec::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsWriteLocked(void)const  __ptr64
+?IsWriteLocked@CSpinLock@@QEBA_NXZ
+; public: bool __cdecl CCritSec::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CCritSec@@QEBA_NXZ
+; public: bool __cdecl CFakeLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CFakeLock@@QEBA_NXZ
+; public: bool __cdecl CLKRHashTable::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CLKRLinearHashTable@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock2::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CReaderWriterLock2@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock3::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CReaderWriterLock3@@QEBA_NXZ
+; public: bool __cdecl CReaderWriterLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CReaderWriterLock@@QEBA_NXZ
+; public: bool __cdecl CSmallSpinLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CSmallSpinLock@@QEBA_NXZ
+; public: bool __cdecl CSpinLock::IsWriteUnlocked(void)const  __ptr64
+?IsWriteUnlocked@CSpinLock@@QEBA_NXZ
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::Last(void)const  __ptr64
+?Last@CDoubleList@@QEBAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::Last(void) __ptr64
+?Last@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: void __cdecl CLockedDoubleList::Lock(void) __ptr64
+?Lock@CLockedDoubleList@@QEAAXXZ
+; public: void __cdecl CLockedSingleList::Lock(void) __ptr64
+?Lock@CLockedSingleList@@QEAAXXZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<1,1,3,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<2,1,1,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<3,1,1,1,1,1>::LockType(void)
+?LockType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<4,1,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<5,2,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<6,2,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<7,2,1,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
+; public: unsigned long __cdecl CLKRHashTable::MaxSize(void)const  __ptr64
+?MaxSize@CLKRHashTable@@QEBAKXZ
+; public: unsigned long __cdecl CLKRLinearHashTable::MaxSize(void)const  __ptr64
+?MaxSize@CLKRLinearHashTable@@QEBAKXZ
+; unsigned __int64 __cdecl MpHeapCompact(void * __ptr64)
+?MpHeapCompact@@YA_KPEAX@Z
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<1,1,3,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<2,1,1,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<3,1,1,1,1,1>::MutexType(void)
+?MutexType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<4,1,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<5,2,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<6,2,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<7,2,1,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
+; public: int __cdecl CLKRHashTable::NumSubTables(void)const  __ptr64
+?NumSubTables@CLKRHashTable@@QEBAHXZ
+; public: static enum LK_TABLESIZE  __cdecl CLKRHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
+?NumSubTables@CLKRHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
+; public: int __cdecl CLKRLinearHashTable::NumSubTables(void)const  __ptr64
+?NumSubTables@CLKRLinearHashTable@@QEBAHXZ
+; public: static enum LK_TABLESIZE  __cdecl CLKRLinearHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
+?NumSubTables@CLKRLinearHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
+; int __cdecl OnUnicodeSystem(void)
+?OnUnicodeSystem@@YAHXZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<5,2,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<6,2,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<7,2,1,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: class CSingleListEntry * __ptr64 __cdecl CLockedSingleList::Pop(void) __ptr64
+?Pop@CLockedSingleList@@QEAAQEAVCSingleListEntry@@XZ
+; public: class CSingleListEntry * __ptr64 __cdecl CSingleList::Pop(void) __ptr64
+?Pop@CSingleList@@QEAAQEAVCSingleListEntry@@XZ
+; public: void __cdecl CLKRHashTable::Print(void)const  __ptr64
+?Print@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::Print(void)const  __ptr64
+?Print@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CLockedSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
+?Push@CLockedSingleList@@QEAAXQEAVCSingleListEntry@@@Z
+; public: void __cdecl CSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
+?Push@CSingleList@@QEAAXQEAVCSingleListEntry@@@Z
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::QueueType(void)
+?QueueType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<5,2,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<6,2,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<7,2,1,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
+; public: void __cdecl CCritSec::ReadLock(void) __ptr64
+?ReadLock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ReadLock(void) __ptr64
+?ReadLock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ReadLock(void)const  __ptr64
+?ReadLock@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ReadLock(void)const  __ptr64
+?ReadLock@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ReadLock(void) __ptr64
+?ReadLock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ReadLock(void) __ptr64
+?ReadLock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ReadLock(void) __ptr64
+?ReadLock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ReadLock(void) __ptr64
+?ReadLock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ReadLock(void) __ptr64
+?ReadLock@CSpinLock@@QEAAXXZ
+; public: bool __cdecl CCritSec::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CCritSec@@QEAA_NXZ
+; public: bool __cdecl CFakeLock::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CFakeLock@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock3::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CSpinLock::ReadOrWriteLock(void) __ptr64
+?ReadOrWriteLock@CSpinLock@@QEAA_NXZ
+; public: void __cdecl CCritSec::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CCritSec@@QEAAX_N@Z
+; public: void __cdecl CFakeLock::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CFakeLock@@QEAAX_N@Z
+; public: void __cdecl CReaderWriterLock3::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CReaderWriterLock3@@QEAAX_N@Z
+; public: void __cdecl CSpinLock::ReadOrWriteUnlock(bool) __ptr64
+?ReadOrWriteUnlock@CSpinLock@@QEAAX_N@Z
+; public: void __cdecl CCritSec::ReadUnlock(void) __ptr64
+?ReadUnlock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::ReadUnlock(void)const  __ptr64
+?ReadUnlock@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::ReadUnlock(void)const  __ptr64
+?ReadUnlock@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::ReadUnlock(void) __ptr64
+?ReadUnlock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::ReadUnlock(void) __ptr64
+?ReadUnlock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::ReadUnlock(void) __ptr64
+?ReadUnlock@CSpinLock@@QEAAXXZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<1,1,3,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<2,1,1,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<3,1,1,1,1,1>::Recursion(void)
+?Recursion@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<4,1,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<5,2,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<6,2,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __cdecl CLockBase<7,2,1,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
+; public: static void __cdecl CMdVersionInfo::ReleaseVersionInfo(void)
+?ReleaseVersionInfo@CMdVersionInfo@@SAXXZ
+; public: static void __cdecl CDoubleList::RemoveEntry(class CListEntry * __ptr64 const)
+?RemoveEntry@CDoubleList@@SAXQEAVCListEntry@@@Z
+; public: void __cdecl CLockedDoubleList::RemoveEntry(class CListEntry * __ptr64 const) __ptr64
+?RemoveEntry@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveHead(void) __ptr64
+?RemoveHead@CDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveHead(void) __ptr64
+?RemoveHead@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveTail(void) __ptr64
+?RemoveTail@CDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveTail(void) __ptr64
+?RemoveTail@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
+; public: long __cdecl CEXAutoBackupFile::RestoreFile(void) __ptr64
+?RestoreFile@CEXAutoBackupFile@@QEAAJXZ
+; public: void __cdecl CLKRHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
+?SetBucketLockSpinCount@CLKRHashTable@@QEAAXG@Z
+; public: void __cdecl CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
+?SetBucketLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
+; public: static void __cdecl CCritSec::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CCritSec@@SAXN@Z
+; public: static void __cdecl CFakeLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CFakeLock@@SAXN@Z
+; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SAXN@Z
+; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SAXN@Z
+; public: static void __cdecl CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SAXN@Z
+; public: static void __cdecl CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SAXN@Z
+; public: static void __cdecl CSpinLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CSpinLock@@SAXN@Z
+; public: static void __cdecl CCritSec::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CCritSec@@SAXG@Z
+; public: static void __cdecl CFakeLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CFakeLock@@SAXG@Z
+; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock2@@SAXG@Z
+; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock3@@SAXG@Z
+; public: static void __cdecl CReaderWriterLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock@@SAXG@Z
+; public: static void __cdecl CSmallSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSmallSpinLock@@SAXG@Z
+; public: static void __cdecl CSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSpinLock@@SAXG@Z
+; public: bool __cdecl CCritSec::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CCritSec@@QEAA_NG@Z
+; public: static unsigned long __cdecl CCritSec::SetSpinCount(class CCriticalSection * __ptr64 * __ptr64,unsigned long)
+?SetSpinCount@CCritSec@@SAKPEAPEAVCCriticalSection@@K@Z
+; public: bool __cdecl CFakeLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CFakeLock@@QEAA_NG@Z
+; public: bool __cdecl CReaderWriterLock2::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CReaderWriterLock2@@QEAA_NG@Z
+; public: bool __cdecl CReaderWriterLock3::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CReaderWriterLock3@@QEAA_NG@Z
+; public: bool __cdecl CReaderWriterLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CReaderWriterLock@@QEAA_NG@Z
+; public: bool __cdecl CSmallSpinLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CSmallSpinLock@@QEAA_NG@Z
+; public: bool __cdecl CSpinLock::SetSpinCount(unsigned short) __ptr64
+?SetSpinCount@CSpinLock@@QEAA_NG@Z
+; public: void __cdecl CLKRHashTable::SetTableLockSpinCount(unsigned short) __ptr64
+?SetTableLockSpinCount@CLKRHashTable@@QEAAXG@Z
+; public: void __cdecl CLKRLinearHashTable::SetTableLockSpinCount(unsigned short) __ptr64
+?SetTableLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
+; public: unsigned long __cdecl CLKRHashTable::Size(void)const  __ptr64
+?Size@CLKRHashTable@@QEBAKXZ
+; public: unsigned long __cdecl CLKRLinearHashTable::Size(void)const  __ptr64
+?Size@CLKRLinearHashTable@@QEBAKXZ
+; public: bool __cdecl CCritSec::TryReadLock(void) __ptr64
+?TryReadLock@CCritSec@@QEAA_NXZ
+; public: bool __cdecl CFakeLock::TryReadLock(void) __ptr64
+?TryReadLock@CFakeLock@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock2::TryReadLock(void) __ptr64
+?TryReadLock@CReaderWriterLock2@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock3::TryReadLock(void) __ptr64
+?TryReadLock@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock::TryReadLock(void) __ptr64
+?TryReadLock@CReaderWriterLock@@QEAA_NXZ
+; public: bool __cdecl CSmallSpinLock::TryReadLock(void) __ptr64
+?TryReadLock@CSmallSpinLock@@QEAA_NXZ
+; public: bool __cdecl CSpinLock::TryReadLock(void) __ptr64
+?TryReadLock@CSpinLock@@QEAA_NXZ
+; public: bool __cdecl CCritSec::TryWriteLock(void) __ptr64
+?TryWriteLock@CCritSec@@QEAA_NXZ
+; public: bool __cdecl CFakeLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CFakeLock@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock2::TryWriteLock(void) __ptr64
+?TryWriteLock@CReaderWriterLock2@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock3::TryWriteLock(void) __ptr64
+?TryWriteLock@CReaderWriterLock3@@QEAA_NXZ
+; public: bool __cdecl CReaderWriterLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CReaderWriterLock@@QEAA_NXZ
+; public: bool __cdecl CSmallSpinLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CSmallSpinLock@@QEAA_NXZ
+; public: bool __cdecl CSpinLock::TryWriteLock(void) __ptr64
+?TryWriteLock@CSpinLock@@QEAA_NXZ
+; public: long __cdecl CEXAutoBackupFile::UndoBackup(void) __ptr64
+?UndoBackup@CEXAutoBackupFile@@QEAAJXZ
+; public: void __cdecl CLockedDoubleList::Unlock(void) __ptr64
+?Unlock@CLockedDoubleList@@QEAAXXZ
+; public: void __cdecl CLockedSingleList::Unlock(void) __ptr64
+?Unlock@CLockedSingleList@@QEAAXXZ
+; public: bool __cdecl CLKRHashTable::ValidSignature(void)const  __ptr64
+?ValidSignature@CLKRHashTable@@QEBA_NXZ
+; public: bool __cdecl CLKRLinearHashTable::ValidSignature(void)const  __ptr64
+?ValidSignature@CLKRLinearHashTable@@QEBA_NXZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::WaitType(void)
+?WaitType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<5,2,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<6,2,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<7,2,1,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
+; public: void __cdecl CCritSec::WriteLock(void) __ptr64
+?WriteLock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::WriteLock(void) __ptr64
+?WriteLock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::WriteLock(void) __ptr64
+?WriteLock@CLKRHashTable@@QEAAXXZ
+; public: void __cdecl CLKRLinearHashTable::WriteLock(void) __ptr64
+?WriteLock@CLKRLinearHashTable@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock2::WriteLock(void) __ptr64
+?WriteLock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::WriteLock(void) __ptr64
+?WriteLock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::WriteLock(void) __ptr64
+?WriteLock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::WriteLock(void) __ptr64
+?WriteLock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::WriteLock(void) __ptr64
+?WriteLock@CSpinLock@@QEAAXXZ
+; public: void __cdecl CCritSec::WriteUnlock(void) __ptr64
+?WriteUnlock@CCritSec@@QEAAXXZ
+; public: void __cdecl CFakeLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CFakeLock@@QEAAXXZ
+; public: void __cdecl CLKRHashTable::WriteUnlock(void)const  __ptr64
+?WriteUnlock@CLKRHashTable@@QEBAXXZ
+; public: void __cdecl CLKRLinearHashTable::WriteUnlock(void)const  __ptr64
+?WriteUnlock@CLKRLinearHashTable@@QEBAXXZ
+; public: void __cdecl CReaderWriterLock2::WriteUnlock(void) __ptr64
+?WriteUnlock@CReaderWriterLock2@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock3::WriteUnlock(void) __ptr64
+?WriteUnlock@CReaderWriterLock3@@QEAAXXZ
+; public: void __cdecl CReaderWriterLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CReaderWriterLock@@QEAAXXZ
+; public: void __cdecl CSmallSpinLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CSmallSpinLock@@QEAAXXZ
+; public: void __cdecl CSpinLock::WriteUnlock(void) __ptr64
+?WriteUnlock@CSpinLock@@QEAAXXZ
+; private: void __cdecl CLKRLinearHashTable::_AddRefRecord(void const * __ptr64,int)const  __ptr64
+?_AddRefRecord@CLKRLinearHashTable@@AEBAXPEBXH@Z
+; private: static class CLKRLinearHashTable::CNodeClump * __ptr64 __cdecl CLKRLinearHashTable::_AllocateNodeClump(void)
+?_AllocateNodeClump@CLKRLinearHashTable@@CAQEAVCNodeClump@1@XZ
+; private: class CLKRLinearHashTable::CSegment * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegment(void)const  __ptr64
+?_AllocateSegment@CLKRLinearHashTable@@AEBAQEAVCSegment@1@XZ
+; private: static class CLKRLinearHashTable::CDirEntry * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned __int64)
+?_AllocateSegmentDirectory@CLKRLinearHashTable@@CAQEAVCDirEntry@1@_K@Z
+; private: static class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_AllocateSubTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64)
+?_AllocateSubTable@CLKRHashTable@@CAQEAVCLKRLinearHashTable@@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAV1@@Z
+; private: static class CLKRLinearHashTable * __ptr64 * __ptr64 __cdecl CLKRHashTable::_AllocateSubTableArray(unsigned __int64)
+?_AllocateSubTableArray@CLKRHashTable@@CAQEAPEAVCLKRLinearHashTable@@_K@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
+?_Apply@CLKRLinearHashTable@@AEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@AEAW4LK_PREDICATE@@@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
+?_ApplyIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AEAW42@@Z
+; private: class CLKRLinearHashTable::CBucket * __ptr64 __cdecl CLKRLinearHashTable::_Bucket(unsigned long)const  __ptr64
+?_Bucket@CLKRLinearHashTable@@AEBAPEAVCBucket@1@K@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_BucketAddress(unsigned long)const  __ptr64
+?_BucketAddress@CLKRLinearHashTable@@AEBAKK@Z
+; private: unsigned long __cdecl CLKRHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
+?_CalcKeyHash@CLKRHashTable@@AEBAK_K@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
+?_CalcKeyHash@CLKRLinearHashTable@@AEBAK_K@Z
+; private: void __cdecl CLKRLinearHashTable::_Clear(bool) __ptr64
+?_Clear@CLKRLinearHashTable@@AEAAX_N@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?_CloseIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; private: bool __cdecl CReaderWriterLock2::_CmpExch(long,long) __ptr64
+?_CmpExch@CReaderWriterLock2@@AEAA_NJJ@Z
+; private: bool __cdecl CReaderWriterLock3::_CmpExch(long,long) __ptr64
+?_CmpExch@CReaderWriterLock3@@AEAA_NJJ@Z
+; private: bool __cdecl CReaderWriterLock::_CmpExch(long,long) __ptr64
+?_CmpExch@CReaderWriterLock@@AEAA_NJJ@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Contract(void) __ptr64
+?_Contract@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
+; private: static long __cdecl CReaderWriterLock3::_CurrentThreadId(void)
+?_CurrentThreadId@CReaderWriterLock3@@CAJXZ
+; private: static long __cdecl CSmallSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSmallSpinLock@@CAJXZ
+; private: static long __cdecl CSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSpinLock@@CAJXZ
+; private: unsigned long __cdecl CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_PREDICATE & __ptr64) __ptr64
+?_DeleteIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1AEAW42@@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteKey(unsigned __int64,unsigned long) __ptr64
+?_DeleteKey@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@_KK@Z
+; private: bool __cdecl CLKRLinearHashTable::_DeleteNode(class CLKRLinearHashTable::CBucket * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64 & __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64 & __ptr64,int & __ptr64) __ptr64
+?_DeleteNode@CLKRLinearHashTable@@AEAA_NPEAVCBucket@1@AEAPEAVCNodeClump@1@1AEAH@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteRecord(void const * __ptr64,unsigned long) __ptr64
+?_DeleteRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK@Z
+; private: bool __cdecl CLKRLinearHashTable::_EqualKeys(unsigned __int64,unsigned __int64)const  __ptr64
+?_EqualKeys@CLKRLinearHashTable@@AEBA_N_K0@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Expand(void) __ptr64
+?_Expand@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
+; private: unsigned __int64 const  __cdecl CLKRHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
+?_ExtractKey@CLKRHashTable@@AEBA?B_KPEBX@Z
+; private: unsigned __int64 const  __cdecl CLKRLinearHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
+?_ExtractKey@CLKRLinearHashTable@@AEBA?B_KPEBX@Z
+; private: class CLKRLinearHashTable::CBucket * __ptr64 __cdecl CLKRLinearHashTable::_FindBucket(unsigned long,bool)const  __ptr64
+?_FindBucket@CLKRLinearHashTable@@AEBAPEAVCBucket@1@K_N@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindKey(unsigned __int64,unsigned long,void const * __ptr64 * __ptr64)const  __ptr64
+?_FindKey@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@_KKPEAPEBX@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindRecord(void const * __ptr64,unsigned long)const  __ptr64
+?_FindRecord@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@PEBXK@Z
+; private: static bool __cdecl CLKRLinearHashTable::_FreeNodeClump(class CLKRLinearHashTable::CNodeClump * __ptr64)
+?_FreeNodeClump@CLKRLinearHashTable@@CA_NPEAVCNodeClump@1@@Z
+; private: bool __cdecl CLKRLinearHashTable::_FreeSegment(class CLKRLinearHashTable::CSegment * __ptr64)const  __ptr64
+?_FreeSegment@CLKRLinearHashTable@@AEBA_NPEAVCSegment@1@@Z
+; private: static bool __cdecl CLKRLinearHashTable::_FreeSegmentDirectory(class CLKRLinearHashTable::CDirEntry * __ptr64)
+?_FreeSegmentDirectory@CLKRLinearHashTable@@CA_NPEAVCDirEntry@1@@Z
+; private: static bool __cdecl CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable * __ptr64)
+?_FreeSubTable@CLKRHashTable@@CA_NPEAVCLKRLinearHashTable@@@Z
+; private: static bool __cdecl CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * __ptr64 * __ptr64)
+?_FreeSubTableArray@CLKRHashTable@@CA_NPEAPEAVCLKRLinearHashTable@@@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long)const  __ptr64
+?_H0@CLKRLinearHashTable@@AEBAKK@Z
+; private: static unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long,unsigned long)
+?_H0@CLKRLinearHashTable@@CAKKK@Z
+; private: unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long)const  __ptr64
+?_H1@CLKRLinearHashTable@@AEBAKK@Z
+; private: static unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long,unsigned long)
+?_H1@CLKRLinearHashTable@@CAKKK@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Initialize(unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),char const * __ptr64,double,unsigned long) __ptr64
+?_Initialize@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@P6A?B_KPEBX@ZP6AK_K@ZP6A_N22@ZP6AX0H@ZPEBDNK@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
+?_InitializeIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InsertRecord(void const * __ptr64,unsigned long,bool) __ptr64
+?_InsertRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK_N@Z
+; private: void __cdecl CLKRHashTable::_InsertThisIntoGlobalList(void) __ptr64
+?_InsertThisIntoGlobalList@CLKRHashTable@@AEAAXXZ
+; private: void __cdecl CLKRLinearHashTable::_InsertThisIntoGlobalList(void) __ptr64
+?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AEAAXXZ
+; private: bool __cdecl CSpinLock::_IsLocked(void)const  __ptr64
+?_IsLocked@CSpinLock@@AEBA_NXZ
+; private: int __cdecl CLKRLinearHashTable::_IsNodeCompact(class CLKRLinearHashTable::CBucket * __ptr64 const)const  __ptr64
+?_IsNodeCompact@CLKRLinearHashTable@@AEBAHQEAVCBucket@1@@Z
+; private: void __cdecl CSpinLock::_Lock(void) __ptr64
+?_Lock@CSpinLock@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock2::_LockSpin(bool) __ptr64
+?_LockSpin@CReaderWriterLock2@@AEAAX_N@Z
+; private: void __cdecl CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
+?_LockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
+; private: void __cdecl CReaderWriterLock::_LockSpin(bool) __ptr64
+?_LockSpin@CReaderWriterLock@@AEAAX_N@Z
+; private: void __cdecl CSmallSpinLock::_LockSpin(void) __ptr64
+?_LockSpin@CSmallSpinLock@@AEAAXXZ
+; private: void __cdecl CSpinLock::_LockSpin(void) __ptr64
+?_LockSpin@CSpinLock@@AEAAXXZ
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_MergeRecordSets(class CLKRLinearHashTable::CBucket * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64) __ptr64
+?_MergeRecordSets@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCBucket@1@PEAVCNodeClump@1@1@Z
+; private: static enum LK_PREDICATE  __cdecl CLKRLinearHashTable::_PredTrue(void const * __ptr64,void * __ptr64)
+?_PredTrue@CLKRLinearHashTable@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
+; private: void __cdecl CReaderWriterLock2::_ReadLockSpin(void) __ptr64
+?_ReadLockSpin@CReaderWriterLock2@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
+?_ReadLockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
+; private: void __cdecl CReaderWriterLock::_ReadLockSpin(void) __ptr64
+?_ReadLockSpin@CReaderWriterLock@@AEAAXXZ
+; private: bool __cdecl CLKRLinearHashTable::_ReadOrWriteLock(void)const  __ptr64
+?_ReadOrWriteLock@CLKRLinearHashTable@@AEBA_NXZ
+; private: void __cdecl CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const  __ptr64
+?_ReadOrWriteUnlock@CLKRLinearHashTable@@AEBAX_N@Z
+; private: void __cdecl CLKRHashTable::_RemoveThisFromGlobalList(void) __ptr64
+?_RemoveThisFromGlobalList@CLKRHashTable@@AEAAXXZ
+; private: void __cdecl CLKRLinearHashTable::_RemoveThisFromGlobalList(void) __ptr64
+?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AEAAXXZ
+; private: unsigned long __cdecl CLKRLinearHashTable::_SegIndex(unsigned long)const  __ptr64
+?_SegIndex@CLKRLinearHashTable@@AEBAKK@Z
+; private: class CLKRLinearHashTable::CSegment * __ptr64 & __ptr64 __cdecl CLKRLinearHashTable::_Segment(unsigned long)const  __ptr64
+?_Segment@CLKRLinearHashTable@@AEBAAEAPEAVCSegment@1@K@Z
+; private: void __cdecl CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE) __ptr64
+?_SetSegVars@CLKRLinearHashTable@@AEAAXW4LK_TABLESIZE@@@Z
+; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SplitRecordSet(class CLKRLinearHashTable::CNodeClump * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64,unsigned long,unsigned long,unsigned long,class CLKRLinearHashTable::CNodeClump * __ptr64) __ptr64
+?_SplitRecordSet@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCNodeClump@1@0KKK0@Z
+; private: class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_SubTable(unsigned long)const  __ptr64
+?_SubTable@CLKRHashTable@@AEBAPEAVCLKRLinearHashTable@@K@Z
+; private: bool __cdecl CSmallSpinLock::_TryLock(void) __ptr64
+?_TryLock@CSmallSpinLock@@AEAA_NXZ
+; private: bool __cdecl CSpinLock::_TryLock(void) __ptr64
+?_TryLock@CSpinLock@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock2::_TryReadLock(void) __ptr64
+?_TryReadLock@CReaderWriterLock2@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock3::_TryReadLock(void) __ptr64
+?_TryReadLock@CReaderWriterLock3@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock::_TryReadLock(void) __ptr64
+?_TryReadLock@CReaderWriterLock@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock3::_TryReadLockRecursive(void) __ptr64
+?_TryReadLockRecursive@CReaderWriterLock3@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock3::_TryWriteLock2(void) __ptr64
+?_TryWriteLock2@CReaderWriterLock3@@AEAA_NXZ
+; private: bool __cdecl CReaderWriterLock2::_TryWriteLock(long) __ptr64
+?_TryWriteLock@CReaderWriterLock2@@AEAA_NJ@Z
+; private: bool __cdecl CReaderWriterLock3::_TryWriteLock(long) __ptr64
+?_TryWriteLock@CReaderWriterLock3@@AEAA_NJ@Z
+; private: bool __cdecl CReaderWriterLock::_TryWriteLock(void) __ptr64
+?_TryWriteLock@CReaderWriterLock@@AEAA_NXZ
+; private: void __cdecl CSpinLock::_Unlock(void) __ptr64
+?_Unlock@CSpinLock@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock2::_WriteLockSpin(void) __ptr64
+?_WriteLockSpin@CReaderWriterLock2@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock3::_WriteLockSpin(void) __ptr64
+?_WriteLockSpin@CReaderWriterLock3@@AEAAXXZ
+; private: void __cdecl CReaderWriterLock::_WriteLockSpin(void) __ptr64
+?_WriteLockSpin@CReaderWriterLock@@AEAAXXZ
+; private: long __cdecl CExFileOperation::_getFileSecurity(unsigned short const * __ptr64) __ptr64
+?_getFileSecurity@CExFileOperation@@AEAAJPEBG@Z
+; private: long __cdecl CExFileOperation::_setFileSecurity(unsigned short const * __ptr64) __ptr64
+?_setFileSecurity@CExFileOperation@@AEAAJPEBG@Z
+; public: int __cdecl CEXAutoBackupFile::fHaveBackup(void) __ptr64
+?fHaveBackup@CEXAutoBackupFile@@QEAAHXZ
+; long const * const  `public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
+?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SAPEBJXZ@4QBJB
+; 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  CSmallSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
+; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA 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 struct _OSVERSIONINFOW * __ptr64  __ptr64 CMdVersionInfo::sm_lpOSVERSIONINFO
+?sm_lpOSVERSIONINFO@CMdVersionInfo@@0PEAU_OSVERSIONINFOW@@EA DATA
+; private: static unsigned long (__cdecl* __ptr64 CCriticalSection::sm_pfnSetCriticalSectionSpinCount)(struct _RTL_CRITICAL_SECTION * __ptr64,unsigned long)
+?sm_pfnSetCriticalSectionSpinCount@CCriticalSection@@0P6AKPEAU_RTL_CRITICAL_SECTION@@K@ZEA DATA
+; private: static int (__cdecl* __ptr64 CCriticalSection::sm_pfnTryEnterCriticalSection)(struct _RTL_CRITICAL_SECTION * __ptr64)
+?sm_pfnTryEnterCriticalSection@CCriticalSection@@0P6AHPEAU_RTL_CRITICAL_SECTION@@@ZEA 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  CSmallSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
+; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
+DllBidEntryPoint
+DllMain
+FXMemAttach
+FXMemDetach
+GetIUMS
+IrtlTrace
+IsValidAddress
+IsValidString
+LoadVersionedResourceEx
+MPCSInitialize
+MPCSUninitialize
+MPDeleteCriticalSection
+MPInitializeCriticalSection
+MPInitializeCriticalSectionAndSpinCount
+MpGetHeapHandle
+MpHeapAlloc
+MpHeapCreate
+MpHeapDestroy
+MpHeapFree
+MpHeapReAlloc
+MpHeapSize
+MpHeapValidate
+SetIUMS
+SetMemHook
+UMSEnterCSWraper
+mpCalloc
+mpFree
+mpMalloc
+mpRealloc
diff --git a/mingw-w64-crt/lib64/msdatl3.def b/mingw-w64-crt/lib64/msdatl3.def
index dfcff14..0ecb7f9 100644
--- a/mingw-w64-crt/lib64/msdatl3.def
+++ b/mingw-w64-crt/lib64/msdatl3.def
@@ -1,853 +1,853 @@
-; 
-; Exports of file MSDATL3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDATL3.dll
-EXPORTS
-DllMain
-; protected: __cdecl CBaseObj::CBaseObj(enum EBaseObjectType,long * __ptr64) __ptr64
-??0CBaseObj@@IEAA@W4EBaseObjectType@@PEAJ@Z
-; protected: __cdecl CBaseObj::CBaseObj(enum EBaseObjectType,struct IUnknown * __ptr64,long * __ptr64) __ptr64
-??0CBaseObj@@IEAA@W4EBaseObjectType@@PEAUIUnknown@@PEAJ@Z
-; public: __cdecl CBaseObj::CBaseObj(class CBaseObj const & __ptr64) __ptr64
-??0CBaseObj@@QEAA@AEBV0@@Z
-; public: __cdecl CBaseObjBoko::CBaseObjBoko(class CBaseObjBoko const & __ptr64) __ptr64
-??0CBaseObjBoko@@QEAA@AEBV0@@Z
-; public: __cdecl CBaseObjBoko::CBaseObjBoko(enum EBaseObjectType,long * __ptr64) __ptr64
-??0CBaseObjBoko@@QEAA@W4EBaseObjectType@@PEAJ@Z
-; public: __cdecl CBaseObjZombie::CBaseObjZombie(class CBaseObjZombie const & __ptr64) __ptr64
-??0CBaseObjZombie@@QEAA@AEBV0@@Z
-; public: __cdecl CBaseObjZombie::CBaseObjZombie(enum EBaseObjectType,long * __ptr64) __ptr64
-??0CBaseObjZombie@@QEAA@W4EBaseObjectType@@PEAJ@Z
-; public: __cdecl CBitArray::CBitArray(void) __ptr64
-??0CBitArray@@QEAA@XZ
-; private: __cdecl CClassFactory::CClassFactory(void) __ptr64
-??0CClassFactory@@AEAA@XZ
-; public: __cdecl CClassFactory::CClassFactory(class CClassFactory const & __ptr64) __ptr64
-??0CClassFactory@@QEAA@AEBV0@@Z
-; public: __cdecl CClassFactory::CClassFactory(long * __ptr64,long * __ptr64) __ptr64
-??0CClassFactory@@QEAA@PEAJ0@Z
-; public: __cdecl CConnectData::CConnectData(void) __ptr64
-??0CConnectData@@QEAA@XZ
-; public: __cdecl CEnum::CEnum(struct IUnknown * __ptr64,unsigned long,void * __ptr64 * __ptr64,struct _GUID,unsigned __int64,unsigned long,enum CENUMTYPE) __ptr64
-??0CEnum@@QEAA@PEAUIUnknown@@KPEAPEAXU_GUID@@_KKW4CENUMTYPE@@@Z
-; public: __cdecl CEnumConnectionPoints::CEnumConnectionPoints(class CEnumConnectionPoints const & __ptr64) __ptr64
-??0CEnumConnectionPoints@@QEAA@AEBV0@@Z
-; public: __cdecl CEnumConnectionPoints::CEnumConnectionPoints(struct IUnknown * __ptr64,unsigned long,struct IConnectionPoint * __ptr64 * __ptr64) __ptr64
-??0CEnumConnectionPoints@@QEAA@PEAUIUnknown@@KPEAPEAUIConnectionPoint@@@Z
-; public: __cdecl CEnumConnections::CEnumConnections(class CEnumConnections const & __ptr64) __ptr64
-??0CEnumConnections@@QEAA@AEBV0@@Z
-; public: __cdecl CEnumConnections::CEnumConnections(struct IUnknown * __ptr64,struct tagCONNECTDATA * __ptr64,unsigned long) __ptr64
-??0CEnumConnections@@QEAA@PEAUIUnknown@@PEAUtagCONNECTDATA@@K@Z
-; public: __cdecl CExtBuffer::CExtBuffer(void) __ptr64
-??0CExtBuffer@@QEAA@XZ
-; public: __cdecl CGenericPooler::CGenericPooler(class CGenericPooler const & __ptr64) __ptr64
-??0CGenericPooler@@QEAA@AEBV0@@Z
-; public: __cdecl CGenericPooler::CGenericPooler(void) __ptr64
-??0CGenericPooler@@QEAA@XZ
-; public: __cdecl CHashTbl::CHashTbl(class CHashTbl const & __ptr64) __ptr64
-??0CHashTbl@@QEAA@AEBV0@@Z
-; public: __cdecl CHashTbl::CHashTbl(void) __ptr64
-??0CHashTbl@@QEAA@XZ
-; public: __cdecl CHashTblAggr::CHashTblAggr(class CHashTblAggr const & __ptr64) __ptr64
-??0CHashTblAggr@@QEAA@AEBV0@@Z
-; public: __cdecl CHashTblAggr::CHashTblAggr(void) __ptr64
-??0CHashTblAggr@@QEAA@XZ
-; public: __cdecl CHeapDispenser::CHeapDispenser(class CHeapDispenser const & __ptr64) __ptr64
-??0CHeapDispenser@@QEAA@AEBV0@@Z
-; public: __cdecl CHeapDispenser::CHeapDispenser(void) __ptr64
-??0CHeapDispenser@@QEAA@XZ
-; public: __cdecl CRowsetConnectionPoint::CRowsetConnectionPoint(class CRowsetConnectionPoint const & __ptr64) __ptr64
-??0CRowsetConnectionPoint@@QEAA@AEBV0@@Z
-; public: __cdecl CRowsetConnectionPoint::CRowsetConnectionPoint(struct IUnknown * __ptr64,struct _GUID const * __ptr64,unsigned long) __ptr64
-??0CRowsetConnectionPoint@@QEAA@PEAUIUnknown@@PEBU_GUID@@K@Z
-; public: __cdecl CRowsetConnectionPointContainer::CRowsetConnectionPointContainer(class CRowsetConnectionPointContainer const & __ptr64) __ptr64
-??0CRowsetConnectionPointContainer@@QEAA@AEBV0@@Z
-; public: __cdecl CRowsetConnectionPointContainer::CRowsetConnectionPointContainer(struct IUnknown * __ptr64) __ptr64
-??0CRowsetConnectionPointContainer@@QEAA@PEAUIUnknown@@@Z
-; public: __cdecl CSlotListLong::CSlotListLong(class CSlotListLong const & __ptr64) __ptr64
-??0CSlotListLong@@QEAA@AEBV0@@Z
-; public: __cdecl CSlotListLong::CSlotListLong(void) __ptr64
-??0CSlotListLong@@QEAA@XZ
-; public: __cdecl CSlotListShort::CSlotListShort(class CSlotListShort const & __ptr64) __ptr64
-??0CSlotListShort@@QEAA@AEBV0@@Z
-; public: __cdecl CSlotListShort::CSlotListShort(void) __ptr64
-??0CSlotListShort@@QEAA@XZ
-; public: __cdecl CUtlPropInfo::CUtlPropInfo(class CUtlPropInfo const & __ptr64) __ptr64
-??0CUtlPropInfo@@QEAA@AEBV0@@Z
-; public: __cdecl CUtlPropInfo::CUtlPropInfo(void) __ptr64
-??0CUtlPropInfo@@QEAA@XZ
-; public: __cdecl CUtlProps2::CUtlProps2(class CUtlProps2 const & __ptr64) __ptr64
-??0CUtlProps2@@QEAA@AEBV0@@Z
-; public: __cdecl CUtlProps2::CUtlProps2(unsigned long) __ptr64
-??0CUtlProps2@@QEAA@K@Z
-; public: __cdecl CUtlPropsFastLookup2::CUtlPropsFastLookup2(class CUtlPropsFastLookup2 const & __ptr64) __ptr64
-??0CUtlPropsFastLookup2@@QEAA@AEBV0@@Z
-; public: __cdecl CUtlPropsFastLookup2::CUtlPropsFastLookup2(unsigned long) __ptr64
-??0CUtlPropsFastLookup2@@QEAA@K@Z
-; public: __cdecl CVLHeap::CVLHeap(void) __ptr64
-??0CVLHeap@@QEAA@XZ
-; public: __cdecl CWString::CWString(class CWString const & __ptr64) __ptr64
-??0CWString@@QEAA@AEBV0@@Z
-; public: __cdecl CWString::CWString(unsigned short,int) __ptr64
-??0CWString@@QEAA@GH@Z
-; public: __cdecl CWString::CWString(char const * __ptr64) __ptr64
-??0CWString@@QEAA@PEBD@Z
-; public: __cdecl CWString::CWString(unsigned char const * __ptr64) __ptr64
-??0CWString@@QEAA@PEBE@Z
-; public: __cdecl CWString::CWString(unsigned short const * __ptr64) __ptr64
-??0CWString@@QEAA@PEBG@Z
-; public: __cdecl CWString::CWString(unsigned short const * __ptr64,int) __ptr64
-??0CWString@@QEAA@PEBGH@Z
-; public: __cdecl CWString::CWString(void) __ptr64
-??0CWString@@QEAA@XZ
-; public: __cdecl IBookmarkObj::IBookmarkObj(class IBookmarkObj const & __ptr64) __ptr64
-??0IBookmarkObj@@QEAA@AEBV0@@Z
-; public: __cdecl IBookmarkObj::IBookmarkObj(void) __ptr64
-??0IBookmarkObj@@QEAA@XZ
-; public: __cdecl IHashTbl::IHashTbl(class IHashTbl const & __ptr64) __ptr64
-??0IHashTbl@@QEAA@AEBV0@@Z
-; public: __cdecl IHashTbl::IHashTbl(void) __ptr64
-??0IHashTbl@@QEAA@XZ
-; public: __cdecl ISlotList::ISlotList(class ISlotList const & __ptr64) __ptr64
-??0ISlotList@@QEAA@AEBV0@@Z
-; public: __cdecl ISlotList::ISlotList(void) __ptr64
-??0ISlotList@@QEAA@XZ
-; public: virtual __cdecl CBaseObj::~CBaseObj(void) __ptr64
-??1CBaseObj@@UEAA@XZ
-; public: virtual __cdecl CBaseObjBoko::~CBaseObjBoko(void) __ptr64
-??1CBaseObjBoko@@UEAA@XZ
-; public: virtual __cdecl CBaseObjZombie::~CBaseObjZombie(void) __ptr64
-??1CBaseObjZombie@@UEAA@XZ
-; public: __cdecl CBitArray::~CBitArray(void) __ptr64
-??1CBitArray@@QEAA@XZ
-; public: __cdecl CClassFactory::~CClassFactory(void) __ptr64
-??1CClassFactory@@QEAA@XZ
-; public: __cdecl CConnectData::~CConnectData(void) __ptr64
-??1CConnectData@@QEAA@XZ
-; public: __cdecl CEnum::~CEnum(void) __ptr64
-??1CEnum@@QEAA@XZ
-; public: __cdecl CEnumConnectionPoints::~CEnumConnectionPoints(void) __ptr64
-??1CEnumConnectionPoints@@QEAA@XZ
-; public: __cdecl CEnumConnections::~CEnumConnections(void) __ptr64
-??1CEnumConnections@@QEAA@XZ
-; public: __cdecl CExtBuffer::~CExtBuffer(void) __ptr64
-??1CExtBuffer@@QEAA@XZ
-; public: virtual __cdecl CHashTbl::~CHashTbl(void) __ptr64
-??1CHashTbl@@UEAA@XZ
-; public: virtual __cdecl CHashTblAggr::~CHashTblAggr(void) __ptr64
-??1CHashTblAggr@@UEAA@XZ
-; public: __cdecl CRowsetConnectionPoint::~CRowsetConnectionPoint(void) __ptr64
-??1CRowsetConnectionPoint@@QEAA@XZ
-; public: __cdecl CRowsetConnectionPointContainer::~CRowsetConnectionPointContainer(void) __ptr64
-??1CRowsetConnectionPointContainer@@QEAA@XZ
-; public: virtual __cdecl CSlotListLong::~CSlotListLong(void) __ptr64
-??1CSlotListLong@@UEAA@XZ
-; public: virtual __cdecl CSlotListShort::~CSlotListShort(void) __ptr64
-??1CSlotListShort@@UEAA@XZ
-; public: virtual __cdecl CUtlPropInfo::~CUtlPropInfo(void) __ptr64
-??1CUtlPropInfo@@UEAA@XZ
-; public: virtual __cdecl CUtlProps2::~CUtlProps2(void) __ptr64
-??1CUtlProps2@@UEAA@XZ
-; public: virtual __cdecl CUtlPropsFastLookup2::~CUtlPropsFastLookup2(void) __ptr64
-??1CUtlPropsFastLookup2@@UEAA@XZ
-; public: __cdecl CVLHeap::~CVLHeap(void) __ptr64
-??1CVLHeap@@QEAA@XZ
-; public: __cdecl CWString::~CWString(void) __ptr64
-??1CWString@@QEAA@XZ
-; public: virtual __cdecl IBookmarkObj::~IBookmarkObj(void) __ptr64
-??1IBookmarkObj@@UEAA@XZ
-; public: virtual __cdecl IHashTbl::~IHashTbl(void) __ptr64
-??1IHashTbl@@UEAA@XZ
-; public: virtual __cdecl ISlotList::~ISlotList(void) __ptr64
-??1ISlotList@@UEAA@XZ
-; public: class CBaseObj & __ptr64 __cdecl CBaseObj::operator=(class CBaseObj const & __ptr64) __ptr64
-??4CBaseObj@@QEAAAEAV0@AEBV0@@Z
-; public: class CBaseObjBoko & __ptr64 __cdecl CBaseObjBoko::operator=(class CBaseObjBoko const & __ptr64) __ptr64
-??4CBaseObjBoko@@QEAAAEAV0@AEBV0@@Z
-; public: class CBaseObjZombie & __ptr64 __cdecl CBaseObjZombie::operator=(class CBaseObjZombie const & __ptr64) __ptr64
-??4CBaseObjZombie@@QEAAAEAV0@AEBV0@@Z
-; public: class CBitArray & __ptr64 __cdecl CBitArray::operator=(class CBitArray const & __ptr64) __ptr64
-??4CBitArray@@QEAAAEAV0@AEBV0@@Z
-; public: class CClassFactory & __ptr64 __cdecl CClassFactory::operator=(class CClassFactory const & __ptr64) __ptr64
-??4CClassFactory@@QEAAAEAV0@AEBV0@@Z
-; public: class CConnectData & __ptr64 __cdecl CConnectData::operator=(class CConnectData const & __ptr64) __ptr64
-??4CConnectData@@QEAAAEAV0@AEBV0@@Z
-; public: class CEnum & __ptr64 __cdecl CEnum::operator=(class CEnum const & __ptr64) __ptr64
-??4CEnum@@QEAAAEAV0@AEBV0@@Z
-; public: class CEnumConnectionPoints & __ptr64 __cdecl CEnumConnectionPoints::operator=(class CEnumConnectionPoints const & __ptr64) __ptr64
-??4CEnumConnectionPoints@@QEAAAEAV0@AEBV0@@Z
-; public: class CEnumConnections & __ptr64 __cdecl CEnumConnections::operator=(class CEnumConnections const & __ptr64) __ptr64
-??4CEnumConnections@@QEAAAEAV0@AEBV0@@Z
-; public: class CExtBuffer & __ptr64 __cdecl CExtBuffer::operator=(class CExtBuffer const & __ptr64) __ptr64
-??4CExtBuffer@@QEAAAEAV0@AEBV0@@Z
-; public: class CGenericPooler & __ptr64 __cdecl CGenericPooler::operator=(class CGenericPooler const & __ptr64) __ptr64
-??4CGenericPooler@@QEAAAEAV0@AEBV0@@Z
-; public: class CHashTbl & __ptr64 __cdecl CHashTbl::operator=(class CHashTbl const & __ptr64) __ptr64
-??4CHashTbl@@QEAAAEAV0@AEBV0@@Z
-; public: class CHashTblAggr & __ptr64 __cdecl CHashTblAggr::operator=(class CHashTblAggr const & __ptr64) __ptr64
-??4CHashTblAggr@@QEAAAEAV0@AEBV0@@Z
-; public: class CHeapDispenser & __ptr64 __cdecl CHeapDispenser::operator=(class CHeapDispenser const & __ptr64) __ptr64
-??4CHeapDispenser@@QEAAAEAV0@AEBV0@@Z
-; public: class CRowsetConnectionPoint & __ptr64 __cdecl CRowsetConnectionPoint::operator=(class CRowsetConnectionPoint const & __ptr64) __ptr64
-??4CRowsetConnectionPoint@@QEAAAEAV0@AEBV0@@Z
-; public: class CRowsetConnectionPointContainer & __ptr64 __cdecl CRowsetConnectionPointContainer::operator=(class CRowsetConnectionPointContainer const & __ptr64) __ptr64
-??4CRowsetConnectionPointContainer@@QEAAAEAV0@AEBV0@@Z
-; public: class CSlotListLong & __ptr64 __cdecl CSlotListLong::operator=(class CSlotListLong const & __ptr64) __ptr64
-??4CSlotListLong@@QEAAAEAV0@AEBV0@@Z
-; public: class CSlotListShort & __ptr64 __cdecl CSlotListShort::operator=(class CSlotListShort const & __ptr64) __ptr64
-??4CSlotListShort@@QEAAAEAV0@AEBV0@@Z
-; public: class CUtlPropInfo & __ptr64 __cdecl CUtlPropInfo::operator=(class CUtlPropInfo const & __ptr64) __ptr64
-??4CUtlPropInfo@@QEAAAEAV0@AEBV0@@Z
-; public: class CUtlProps2 & __ptr64 __cdecl CUtlProps2::operator=(class CUtlProps2 const & __ptr64) __ptr64
-??4CUtlProps2@@QEAAAEAV0@AEBV0@@Z
-; public: class CUtlPropsFastLookup2 & __ptr64 __cdecl CUtlPropsFastLookup2::operator=(class CUtlPropsFastLookup2 const & __ptr64) __ptr64
-??4CUtlPropsFastLookup2@@QEAAAEAV0@AEBV0@@Z
-; public: class CVLHeap & __ptr64 __cdecl CVLHeap::operator=(class CVLHeap const & __ptr64) __ptr64
-??4CVLHeap@@QEAAAEAV0@AEBV0@@Z
-; public: class CWString const & __ptr64 __cdecl CWString::operator=(class CWString const & __ptr64) __ptr64
-??4CWString@@QEAAAEBV0@AEBV0@@Z
-; public: class CWString const & __ptr64 __cdecl CWString::operator=(char) __ptr64
-??4CWString@@QEAAAEBV0@D@Z
-; public: class CWString const & __ptr64 __cdecl CWString::operator=(unsigned short) __ptr64
-??4CWString@@QEAAAEBV0@G@Z
-; public: class CWString const & __ptr64 __cdecl CWString::operator=(char const * __ptr64) __ptr64
-??4CWString@@QEAAAEBV0@PEBD@Z
-; public: class CWString const & __ptr64 __cdecl CWString::operator=(unsigned char const * __ptr64) __ptr64
-??4CWString@@QEAAAEBV0@PEBE@Z
-; public: class CWString const & __ptr64 __cdecl CWString::operator=(unsigned short const * __ptr64) __ptr64
-??4CWString@@QEAAAEBV0@PEBG@Z
-; public: class IBookmarkObj & __ptr64 __cdecl IBookmarkObj::operator=(class IBookmarkObj const & __ptr64) __ptr64
-??4IBookmarkObj@@QEAAAEAV0@AEBV0@@Z
-; public: class IHashTbl & __ptr64 __cdecl IHashTbl::operator=(class IHashTbl const & __ptr64) __ptr64
-??4IHashTbl@@QEAAAEAV0@AEBV0@@Z
-; public: class ISlotList & __ptr64 __cdecl ISlotList::operator=(class ISlotList const & __ptr64) __ptr64
-??4ISlotList@@QEAAAEAV0@AEBV0@@Z
-; public: unsigned short __cdecl CWString::operator[](int)const  __ptr64
-??ACWString@@QEBAGH@Z
-; public: __cdecl CWString::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCWString@@QEBAPEBGXZ
-; public: class CWString const & __ptr64 __cdecl CWString::operator+=(class CWString const & __ptr64) __ptr64
-??YCWString@@QEAAAEBV0@AEBV0@@Z
-; public: class CWString const & __ptr64 __cdecl CWString::operator+=(char) __ptr64
-??YCWString@@QEAAAEBV0@D@Z
-; public: class CWString const & __ptr64 __cdecl CWString::operator+=(unsigned short) __ptr64
-??YCWString@@QEAAAEBV0@G@Z
-; public: class CWString const & __ptr64 __cdecl CWString::operator+=(unsigned short const * __ptr64) __ptr64
-??YCWString@@QEAAAEBV0@PEBG@Z
-; const  CBaseObj::`vftable'
-??_7CBaseObj@@6B@
-; const  CBaseObjBoko::`vftable'
-??_7CBaseObjBoko@@6B@
-; const  CBaseObjZombie::`vftable'
-??_7CBaseObjZombie@@6B@
-; const  CClassFactory::`vftable'
-??_7CClassFactory@@6B@
-; const  CEnumConnectionPoints::`vftable'
-??_7CEnumConnectionPoints@@6B@
-; const  CEnumConnections::`vftable'
-??_7CEnumConnections@@6B@
-; const  CHashTbl::`vftable'
-??_7CHashTbl@@6B@
-; const  CHashTblAggr::`vftable'
-??_7CHashTblAggr@@6B@
-; const  CHeapDispenser::`vftable'
-??_7CHeapDispenser@@6B@
-; const  CRowsetConnectionPoint::`vftable'
-??_7CRowsetConnectionPoint@@6B@
-; const  CRowsetConnectionPointContainer::`vftable'
-??_7CRowsetConnectionPointContainer@@6B@
-; const  CSlotListLong::`vftable'
-??_7CSlotListLong@@6B@
-; const  CSlotListShort::`vftable'
-??_7CSlotListShort@@6B@
-; const  CUtlPropInfo::`vftable'
-??_7CUtlPropInfo@@6B@
-; const  CUtlProps2::`vftable'
-??_7CUtlProps2@@6B@
-; const  CUtlPropsFastLookup2::`vftable'
-??_7CUtlPropsFastLookup2@@6B@
-; const  IBookmarkObj::`vftable'
-??_7IBookmarkObj@@6B@
-; const  IHashTbl::`vftable'
-??_7IHashTbl@@6B@
-; const  ISlotList::`vftable'
-??_7ISlotList@@6B@
-; public: void __cdecl CUtlProps2::`default constructor closure'(void) __ptr64
-??_FCUtlProps2@@QEAAXXZ
-; public: void __cdecl CUtlPropsFastLookup2::`default constructor closure'(void) __ptr64
-??_FCUtlPropsFastLookup2@@QEAAXXZ
-; public: int __cdecl CHashTblAggr::AddHashTbl(class CSlotListShort * __ptr64) __ptr64
-?AddHashTbl@CHashTblAggr@@QEAAHPEAVCSlotListShort@@@Z
-; public: void __cdecl CUtlProps2::AddInternalFlags(unsigned long,unsigned long,unsigned long) __ptr64
-?AddInternalFlags@CUtlProps2@@QEAAXKKK@Z
-; public: virtual unsigned long __cdecl CClassFactory::AddRef(void) __ptr64
-?AddRef@CClassFactory@@UEAAKXZ
-; public: unsigned long __cdecl CEnum::AddRef(void) __ptr64
-?AddRef@CEnum@@QEAAKXZ
-; public: virtual unsigned long __cdecl CEnumConnectionPoints::AddRef(void) __ptr64
-?AddRef@CEnumConnectionPoints@@UEAAKXZ
-; public: virtual unsigned long __cdecl CEnumConnections::AddRef(void) __ptr64
-?AddRef@CEnumConnections@@UEAAKXZ
-; public: virtual unsigned long __cdecl CHeapDispenser::AddRef(void) __ptr64
-?AddRef@CHeapDispenser@@UEAAKXZ
-; public: virtual unsigned long __cdecl CRowsetConnectionPoint::AddRef(void) __ptr64
-?AddRef@CRowsetConnectionPoint@@UEAAKXZ
-; public: virtual unsigned long __cdecl CRowsetConnectionPointContainer::AddRef(void) __ptr64
-?AddRef@CRowsetConnectionPointContainer@@UEAAKXZ
-; private: void __cdecl CSlotListShort::AddSlotToList(struct tagSLOT * __ptr64) __ptr64
-?AddSlotToList@CSlotListShort@@AEAAXPEAUtagSLOT@@@Z
-; private: static unsigned long __cdecl CHashTbl::AdjustRange(unsigned long)
-?AdjustRange@CHashTbl@@CAKK@Z
-; public: virtual long __cdecl CRowsetConnectionPoint::Advise(struct IUnknown * __ptr64,unsigned long * __ptr64) __ptr64
-?Advise@CRowsetConnectionPoint@@UEAAJPEAUIUnknown@@PEAK@Z
-; protected: void __cdecl CWString::AllocBuffer(int) __ptr64
-?AllocBuffer@CWString@@IEAAXH@Z
-; protected: void __cdecl CWString::AllocCopy(class CWString & __ptr64,int,int,int)const  __ptr64
-?AllocCopy@CWString@@IEBAXAEAV1@HHH@Z
-; public: unsigned char * __ptr64 __cdecl CExtBuffer::AllocItems(unsigned __int64) __ptr64
-?AllocItems@CExtBuffer@@QEAAPEAE_K@Z
-; public: long __cdecl CBitArray::ArrayEmpty(void) __ptr64
-?ArrayEmpty@CBitArray@@QEAAJXZ
-; protected: void __cdecl CWString::AssignCopy(int,unsigned short const * __ptr64) __ptr64
-?AssignCopy@CWString@@IEAAXHPEBG@Z
-; private: unsigned long __cdecl CUtlPropInfo::CalcDescripBuffers(unsigned long,struct tagDBPROPINFOSET * __ptr64) __ptr64
-?CalcDescripBuffers@CUtlPropInfo@@AEAAKKPEAUtagDBPROPINFOSET@@@Z
-; public: static unsigned long __cdecl CHashTbl::CbHashTblSize(unsigned long)
-?CbHashTblSize@CHashTbl@@SAKK@Z
-; public: void __cdecl CWString::ClearError(void) __ptr64
-?ClearError@CWString@@QEAAXXZ
-; private: void __cdecl CUtlProps2::ClearMemberVars(void) __ptr64
-?ClearMemberVars@CUtlProps2@@AEAAXXZ
-; public: void __cdecl CUtlProps2::ClearPropSupported(unsigned long,unsigned long) __ptr64
-?ClearPropSupported@CUtlProps2@@QEAAXKK@Z
-; public: void __cdecl CUtlProps2::ClearPropertyInError(void) __ptr64
-?ClearPropertyInError@CUtlProps2@@QEAAXXZ
-; public: void __cdecl CUtlProps2::ClearPropsSupported(void) __ptr64
-?ClearPropsSupported@CUtlProps2@@QEAAXXZ
-; public: virtual long __cdecl CEnumConnectionPoints::Clone(struct IEnumConnectionPoints * __ptr64 * __ptr64) __ptr64
-?Clone@CEnumConnectionPoints@@UEAAJPEAPEAUIEnumConnectionPoints@@@Z
-; public: virtual long __cdecl CEnumConnections::Clone(struct IEnumConnections * __ptr64 * __ptr64) __ptr64
-?Clone@CEnumConnections@@UEAAJPEAPEAUIEnumConnections@@@Z
-; public: void __cdecl CExtBuffer::CompactExtBuffer(void) __ptr64
-?CompactExtBuffer@CExtBuffer@@QEAAXXZ
-; public: int __cdecl CWString::Compare(unsigned short const * __ptr64)const  __ptr64
-?Compare@CWString@@QEBAHPEBG@Z
-; long __cdecl CompareDBIDs(struct tagDBID const * __ptr64,struct tagDBID const * __ptr64)
-?CompareDBIDs@@YAJPEBUtagDBID@@0@Z
-; public: virtual int __cdecl CHeapDispenser::CompareResource(void * __ptr64,void * __ptr64) __ptr64
-?CompareResource@CHeapDispenser@@UEAAHPEAX0@Z
-; protected: void __cdecl CWString::ConcatCopy(int,unsigned short const * __ptr64,int,unsigned short const * __ptr64) __ptr64
-?ConcatCopy@CWString@@IEAAXHPEBGH0@Z
-; public: void __cdecl CWString::ConcatInPlace(int,unsigned short const * __ptr64) __ptr64
-?ConcatInPlace@CWString@@QEAAXHPEBG@Z
-; public: virtual int __cdecl CUtlProps2::ConflictsWithCurrent(unsigned long,unsigned long,struct tagVARIANT const & __ptr64) __ptr64
-?ConflictsWithCurrent@CUtlProps2@@UEAAHKKAEBUtagVARIANT@@@Z
-; public: long __cdecl CUtlProps2::ConvertRowsetIIDtoDBPROPSET(struct _GUID const * __ptr64,struct tagDBPROPSET * __ptr64) __ptr64
-?ConvertRowsetIIDtoDBPROPSET@CUtlProps2@@QEAAJPEBU_GUID@@PEAUtagDBPROPSET@@@Z
-; public: void __cdecl CUtlProps2::CopyAvailUPropSets(unsigned long * __ptr64,struct tagUPROPSET const * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?CopyAvailUPropSets@CUtlProps2@@QEAAXPEAKPEAPEBUtagUPROPSET@@0@Z
-; long __cdecl CopyDBIDs(struct tagDBID * __ptr64,struct tagDBID const * __ptr64)
-?CopyDBIDs@@YAJPEAUtagDBID@@PEBU1@@Z
-; public: void __cdecl CUtlProps2::CopyPropsInError(unsigned long * __ptr64) __ptr64
-?CopyPropsInError@CUtlProps2@@QEAAXPEAK@Z
-; public: void __cdecl CUtlProps2::CopyPropsInError(class CUtlProps2 * __ptr64) __ptr64
-?CopyPropsInError@CUtlProps2@@QEAAXPEAV1@@Z
-; public: void __cdecl CUtlProps2::CopyUPropInfo(unsigned long,struct tagUPROPINFO * __ptr64 * __ptr64) __ptr64
-?CopyUPropInfo@CUtlProps2@@QEAAXKPEAPEAUtagUPROPINFO@@@Z
-; public: void __cdecl CUtlProps2::CopyUPropSetsSupported(unsigned long * __ptr64) __ptr64
-?CopyUPropSetsSupported@CUtlProps2@@QEAAXPEAK@Z
-; public: long __cdecl CUtlProps2::CopyUPropVal(unsigned long,struct tagUPROPVAL * __ptr64,class CColumnIds * __ptr64) __ptr64
-?CopyUPropVal@CUtlProps2@@QEAAJKPEAUtagUPROPVAL@@PEAVCColumnIds@@@Z
-; public: virtual unsigned __int64 __cdecl CSlotListLong::CountOfBusySlots(void) __ptr64
-?CountOfBusySlots@CSlotListLong@@UEAA_KXZ
-; public: virtual unsigned __int64 __cdecl CSlotListShort::CountOfBusySlots(void) __ptr64
-?CountOfBusySlots@CSlotListShort@@UEAA_KXZ
-; public: virtual long __cdecl CHeapDispenser::CreateResource(void * __ptr64,unsigned long,void * __ptr64,void * __ptr64 * __ptr64,int * __ptr64) __ptr64
-?CreateResource@CHeapDispenser@@UEAAJPEAXK0PEAPEAXPEAH@Z
-; public: long __cdecl CExtBuffer::DWORDIntoExtBuffer(unsigned __int64) __ptr64
-?DWORDIntoExtBuffer@CExtBuffer@@QEAAJ_K@Z
-; private: void __cdecl CSlotListShort::DecoupleSlot(struct tagSLOT * __ptr64) __ptr64
-?DecoupleSlot@CSlotListShort@@AEAAXPEAUtagSLOT@@@Z
-; public: virtual long __cdecl CHashTbl::DeleteBmk(unsigned __int64) __ptr64
-?DeleteBmk@CHashTbl@@UEAAJ_K@Z
-; public: virtual long __cdecl CHashTblAggr::DeleteBmk(unsigned __int64) __ptr64
-?DeleteBmk@CHashTblAggr@@UEAAJ_K@Z
-; public: void __cdecl CExtBuffer::DeleteFromExtBuffer(unsigned __int64) __ptr64
-?DeleteFromExtBuffer@CExtBuffer@@QEAAX_K@Z
-; public: void __cdecl CExtBuffer::DeleteWithCompactFromExtBuffer(unsigned __int64) __ptr64
-?DeleteWithCompactFromExtBuffer@CExtBuffer@@QEAAX_K@Z
-; public: virtual long __cdecl CHeapDispenser::DestroyResource(void * __ptr64) __ptr64
-?DestroyResource@CHeapDispenser@@UEAAJPEAX@Z
-; public: long __cdecl CRowsetConnectionPointContainer::DoFcNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset * __ptr64,unsigned __int64,unsigned __int64,unsigned __int64 * __ptr64 const) __ptr64
-?DoFcNotify@CRowsetConnectionPointContainer@@QEAAJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PEAUIRowset@@_K3QEA_K@Z
-; public: long __cdecl CRowsetConnectionPoint::DoNotify(enum DBREASONENUM,enum DBEVENTPHASEENUM,enum ENOTIFICATIONTYPE,struct IRowset * __ptr64,union tagNOTIFYARGS * __ptr64) __ptr64
-?DoNotify@CRowsetConnectionPoint@@QEAAJW4DBREASONENUM@@W4DBEVENTPHASEENUM@@W4ENOTIFICATIONTYPE@@PEAUIRowset@@PEATtagNOTIFYARGS@@@Z
-; public: long __cdecl CRowsetConnectionPointContainer::DoRcNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset * __ptr64,unsigned __int64,unsigned __int64 * __ptr64 const) __ptr64
-?DoRcNotify@CRowsetConnectionPointContainer@@QEAAJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PEAUIRowset@@_KQEA_K@Z
-; public: long __cdecl CRowsetConnectionPointContainer::DoRscNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset * __ptr64) __ptr64
-?DoRscNotify@CRowsetConnectionPointContainer@@QEAAJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PEAUIRowset@@@Z
-; unsigned long __cdecl DwGetPlatformId(void)
-?DwGetPlatformId@@YAKXZ
-; public: class CWString  __cdecl CWString::ElementAt(unsigned short * __ptr64 const,int)const  __ptr64
-?ElementAt@CWString@@QEBA?AV1@QEAGH@Z
-; public: void __cdecl CWString::Empty(void) __ptr64
-?Empty@CWString@@QEAAXXZ
-; public: virtual long __cdecl CRowsetConnectionPointContainer::EnumConnectionPoints(struct IEnumConnectionPoints * __ptr64 * __ptr64) __ptr64
-?EnumConnectionPoints@CRowsetConnectionPointContainer@@UEAAJPEAPEAUIEnumConnectionPoints@@@Z
-; public: virtual long __cdecl CRowsetConnectionPoint::EnumConnections(struct IEnumConnections * __ptr64 * __ptr64) __ptr64
-?EnumConnections@CRowsetConnectionPoint@@UEAAJPEAPEAUIEnumConnections@@@Z
-; protected: long __cdecl CBaseObj::FInit(void) __ptr64
-?FInit@CBaseObj@@IEAAJXZ
-; public: long __cdecl CBitArray::FInit(unsigned __int64) __ptr64
-?FInit@CBitArray@@QEAAJ_K@Z
-; public: int __cdecl CExtBuffer::FInit(class CExtBuffer * __ptr64) __ptr64
-?FInit@CExtBuffer@@QEAAHPEAV1@@Z
-; public: int __cdecl CExtBuffer::FInit(unsigned __int64,unsigned __int64) __ptr64
-?FInit@CExtBuffer@@QEAAH_K0@Z
-; public: int __cdecl CExtBuffer::FInit(unsigned __int64,void * __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?FInit@CExtBuffer@@QEAAH_KPEAX00@Z
-; public: int __cdecl CHashTbl::FInit(unsigned short,class CSlotListShort * __ptr64,class IBookmarkObj * __ptr64) __ptr64
-?FInit@CHashTbl@@QEAAHGPEAVCSlotListShort@@PEAVIBookmarkObj@@@Z
-; public: int __cdecl CHashTblAggr::FInit(class CHashTbl * __ptr64) __ptr64
-?FInit@CHashTblAggr@@QEAAHPEAVCHashTbl@@@Z
-; public: virtual int __cdecl CSlotListLong::FInit(unsigned __int64,class ISlotList * __ptr64 * __ptr64,class IHashTbl * __ptr64 * __ptr64,unsigned __int64) __ptr64
-?FInit@CSlotListLong@@UEAAH_KPEAPEAVISlotList@@PEAPEAVIHashTbl@@0@Z
-; public: virtual int __cdecl CSlotListShort::FInit(unsigned __int64,class ISlotList * __ptr64 * __ptr64,class IHashTbl * __ptr64 * __ptr64,unsigned __int64) __ptr64
-?FInit@CSlotListShort@@UEAAH_KPEAPEAVISlotList@@PEAPEAVIHashTbl@@0@Z
-; public: long __cdecl CUtlPropInfo::FInit(void) __ptr64
-?FInit@CUtlPropInfo@@QEAAJXZ
-; public: virtual long __cdecl CUtlProps2::FInit(class CUtlProps2 * __ptr64) __ptr64
-?FInit@CUtlProps2@@UEAAJPEAV1@@Z
-; public: virtual long __cdecl CUtlPropsFastLookup2::FInit(class CUtlPropsFastLookup2 * __ptr64) __ptr64
-?FInit@CUtlPropsFastLookup2@@UEAAJPEAV1@@Z
-; public: int __cdecl CVLHeap::FInit(unsigned __int64) __ptr64
-?FInit@CVLHeap@@QEAAH_K@Z
-; public: void __cdecl CGenericPooler::FInitializeGPStructures(void) __ptr64
-?FInitializeGPStructures@CGenericPooler@@QEAAXXZ
-; public: int __cdecl CUtlProps2::FIsDefaultValue(unsigned long,unsigned long,struct tagVARIANT * __ptr64) __ptr64
-?FIsDefaultValue@CUtlProps2@@QEAAHKKPEAUtagVARIANT@@@Z
-; public: virtual int __cdecl CUtlProps2::FIsValidColId(struct tagDBPROP * __ptr64) __ptr64
-?FIsValidColId@CUtlProps2@@UEAAHPEAUtagDBPROP@@@Z
-; public: long __cdecl CUtlProps2::FillDefaultValues(unsigned long) __ptr64
-?FillDefaultValues@CUtlProps2@@QEAAJK@Z
-; public: virtual long __cdecl CRowsetConnectionPointContainer::FindConnectionPoint(struct _GUID const & __ptr64,struct IConnectionPoint * __ptr64 * __ptr64) __ptr64
-?FindConnectionPoint@CRowsetConnectionPointContainer@@UEAAJAEBU_GUID@@PEAPEAUIConnectionPoint@@@Z
-; public: void __cdecl CConnectData::ForgetEvent(enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
-?ForgetEvent@CConnectData@@QEAAXW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; private: void __cdecl CRowsetConnectionPoint::ForgetEvent(enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
-?ForgetEvent@CRowsetConnectionPoint@@AEAAXW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; public: void __cdecl CConnectData::ForgetReason(enum DBREASONENUM) __ptr64
-?ForgetReason@CConnectData@@QEAAXW4DBREASONENUM@@@Z
-; public: int __cdecl CWString::FoundError(void)const  __ptr64
-?FoundError@CWString@@QEBAHXZ
-; public: void __cdecl CExtBuffer::Free(void) __ptr64
-?Free@CExtBuffer@@QEAAXXZ
-; void __cdecl FreeDBIDs(struct tagDBID * __ptr64)
-?FreeDBIDs@@YAXPEAUtagDBID@@@Z
-; public: void __cdecl CWString::FreeExtra(void) __ptr64
-?FreeExtra@CWString@@QEAAXXZ
-; private: void __cdecl CUtlProps2::FreeMemory(void) __ptr64
-?FreeMemory@CUtlProps2@@AEAAXXZ
-; public: int __cdecl CWString::GetAllocLength(void)const  __ptr64
-?GetAllocLength@CWString@@QEBAHXZ
-; public: enum EBaseObjectType  __cdecl CBaseObj::GetBaseObjectType(void) __ptr64
-?GetBaseObjectType@CBaseObj@@QEAA?AW4EBaseObjectType@@XZ
-; public: unsigned short * __ptr64 __cdecl CBaseObj::GetBaseObjectTypeName(void) __ptr64
-?GetBaseObjectTypeName@CBaseObj@@QEAAPEAGXZ
-; public: void __cdecl CBaseObjZombie::GetBokoTimestamp(void) __ptr64
-?GetBokoTimestamp@CBaseObjZombie@@QEAAXXZ
-; public: unsigned short * __ptr64 __cdecl CWString::GetBuffer(int) __ptr64
-?GetBuffer@CWString@@QEAAPEAGH@Z
-; public: unsigned short * __ptr64 __cdecl CWString::GetBufferSetLength(int) __ptr64
-?GetBufferSetLength@CWString@@QEAAPEAGH@Z
-; public: struct tagCONNECTDATA * __ptr64 __cdecl CConnectData::GetCd(void) __ptr64
-?GetCd@CConnectData@@QEAAPEAUtagCONNECTDATA@@XZ
-; public: virtual long __cdecl CRowsetConnectionPoint::GetConnectionInterface(struct _GUID * __ptr64) __ptr64
-?GetConnectionInterface@CRowsetConnectionPoint@@UEAAJPEAU_GUID@@@Z
-; public: virtual long __cdecl CRowsetConnectionPoint::GetConnectionPointContainer(struct IConnectionPointContainer * __ptr64 * __ptr64) __ptr64
-?GetConnectionPointContainer@CRowsetConnectionPoint@@UEAAJPEAPEAUIConnectionPointContainer@@@Z
-; private: unsigned long __cdecl CUtlProps2::GetCountofColids(struct tagUPROP * __ptr64) __ptr64
-?GetCountofColids@CUtlProps2@@AEAAKPEAUtagUPROP@@@Z
-; private: unsigned long __cdecl CUtlProps2::GetCountofWritablePropsInPropSet(unsigned long) __ptr64
-?GetCountofWritablePropsInPropSet@CUtlProps2@@AEAAKK@Z
-; public: class CCriticalSection * __ptr64 * __ptr64 __cdecl CBaseObj::GetCriticalSection(void) __ptr64
-?GetCriticalSection@CBaseObj@@QEAAPEAPEAVCCriticalSection@@XZ
-; public: unsigned __int64 __cdecl CExtBuffer::GetDWORDOfExtBuffer(unsigned __int64) __ptr64
-?GetDWORDOfExtBuffer@CExtBuffer@@QEAA_K_K@Z
-; public: unsigned short __cdecl CUtlProps2::GetExpectedVarType(unsigned long,unsigned long) __ptr64
-?GetExpectedVarType@CUtlProps2@@QEAAGKK@Z
-; public: struct _GUID const * __ptr64 __cdecl CUtlProps2::GetGuid(unsigned long) __ptr64
-?GetGuid@CUtlProps2@@QEAAPEBU_GUID@@K@Z
-; public: class CHeapDispenser * __ptr64 __cdecl CGenericPooler::GetHeapDispenser(void) __ptr64
-?GetHeapDispenser@CGenericPooler@@QEAAPEAVCHeapDispenser@@XZ
-; public: struct IGPHolder * __ptr64 __cdecl CGenericPooler::GetHeapHolder(void) __ptr64
-?GetHeapHolder@CGenericPooler@@QEAAPEAUIGPHolder@@XZ
-; public: virtual long __cdecl CUtlProps2::GetIndexofPropIdinPropSet(unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
-?GetIndexofPropIdinPropSet@CUtlProps2@@UEAAJKKPEAK@Z
-; protected: virtual long __cdecl CUtlPropsFastLookup2::GetIndexofPropIdinPropSet(unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
-?GetIndexofPropIdinPropSet@CUtlPropsFastLookup2@@MEAAJKKPEAK@Z
-; public: virtual long __cdecl CUtlProps2::GetIndexofPropSet(struct _GUID const * __ptr64,unsigned long * __ptr64) __ptr64
-?GetIndexofPropSet@CUtlProps2@@UEAAJPEBU_GUID@@PEAK@Z
-; public: unsigned long __cdecl CUtlProps2::GetInternalFlags(unsigned long,unsigned long) __ptr64
-?GetInternalFlags@CUtlProps2@@QEAAKKK@Z
-; public: unsigned long __cdecl CUtlProps2::GetInternalStatus(unsigned long,unsigned long) __ptr64
-?GetInternalStatus@CUtlProps2@@QEAAKKK@Z
-; public: unsigned __int64 __cdecl CExtBuffer::GetItemCount(void)const  __ptr64
-?GetItemCount@CExtBuffer@@QEBA_KXZ
-; public: unsigned __int64 __cdecl CExtBuffer::GetItemMax(void)const  __ptr64
-?GetItemMax@CExtBuffer@@QEBA_KXZ
-; public: void __cdecl CExtBuffer::GetItemOfExtBuffer(unsigned __int64,void * __ptr64) __ptr64
-?GetItemOfExtBuffer@CExtBuffer@@QEAAX_KPEAX@Z
-; public: unsigned __int64 __cdecl CExtBuffer::GetItemSize(void)const  __ptr64
-?GetItemSize@CExtBuffer@@QEBA_KXZ
-; public: void __cdecl CExtBuffer::GetLastItemHandle(unsigned __int64 & __ptr64) __ptr64
-?GetLastItemHandle@CExtBuffer@@QEAAXAEA_K@Z
-; public: int __cdecl CWString::GetLength(void)const  __ptr64
-?GetLength@CWString@@QEBAHXZ
-; public: unsigned short * __ptr64 __cdecl CExtBuffer::GetNameFromOffset(unsigned __int64) __ptr64
-?GetNameFromOffset@CExtBuffer@@QEAAPEAG_K@Z
-; public: virtual long __cdecl CSlotListLong::GetNextSlots(unsigned __int64,unsigned __int64,unsigned __int64 * __ptr64) __ptr64
-?GetNextSlots@CSlotListLong@@UEAAJ_K0PEA_K@Z
-; public: virtual long __cdecl CSlotListShort::GetNextSlots(unsigned __int64,unsigned __int64,unsigned __int64 * __ptr64) __ptr64
-?GetNextSlots@CSlotListShort@@UEAAJ_K0PEA_K@Z
-; private: void * __ptr64 __cdecl CEnum::GetNthElement(unsigned long) __ptr64
-?GetNthElement@CEnum@@AEAAPEAXK@Z
-; private: struct IUnknown * __ptr64 __cdecl CEnum::GetNthUnknown(unsigned long) __ptr64
-?GetNthUnknown@CEnum@@AEAAPEAUIUnknown@@K@Z
-; public: struct IUnknown * __ptr64 __cdecl CBaseObj::GetOuterUnknown(void) __ptr64
-?GetOuterUnknown@CBaseObj@@QEAAPEAUIUnknown@@XZ
-; public: unsigned long __cdecl CUtlProps2::GetPropID(unsigned long,unsigned long) __ptr64
-?GetPropID@CUtlProps2@@QEAAKKK@Z
-; public: unsigned long __cdecl CUtlProps2::GetPropOption(unsigned long,unsigned long) __ptr64
-?GetPropOption@CUtlProps2@@QEAAKKK@Z
-; public: unsigned long __cdecl CUtlProps2::GetPropStatus(struct tagUPROPVAL * __ptr64) __ptr64
-?GetPropStatus@CUtlProps2@@QEAAKPEAUtagUPROPVAL@@@Z
-; public: long __cdecl CUtlProps2::GetPropValue(struct _GUID const * __ptr64,unsigned long,struct tagVARIANT * __ptr64) __ptr64
-?GetPropValue@CUtlProps2@@QEAAJPEBU_GUID@@KPEAUtagVARIANT@@@Z
-; public: long __cdecl CUtlProps2::GetProperties(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64) __ptr64
-?GetProperties@CUtlProps2@@QEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@@Z
-; public: long __cdecl CUtlProps2::GetProperties(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64,struct _GUID const * __ptr64) __ptr64
-?GetProperties@CUtlProps2@@QEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@PEBU_GUID@@@Z
-; public: long __cdecl CUtlProps2::GetPropertiesArgChk(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64) __ptr64
-?GetPropertiesArgChk@CUtlProps2@@QEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@@Z
-; public: long __cdecl CUtlPropInfo::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPINFOSET * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetPropertyInfo@CUtlPropInfo@@QEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPINFOSET@@PEAPEAG@Z
-; private: long __cdecl CUtlPropInfo::GetPropertySetIndex(struct _GUID const * __ptr64) __ptr64
-?GetPropertySetIndex@CUtlPropInfo@@AEAAJPEBU_GUID@@@Z
-; public: unsigned long * __ptr64 __cdecl CUtlProps2::GetPropsInErrorPtr(void) __ptr64
-?GetPropsInErrorPtr@CUtlProps2@@QEAAPEAKXZ
-; public: void * __ptr64 __cdecl CExtBuffer::GetPtrOfExtBuffer(void) __ptr64
-?GetPtrOfExtBuffer@CExtBuffer@@QEAAPEAXXZ
-; public: void * __ptr64 __cdecl CExtBuffer::GetPtrOfExtBuffer(unsigned __int64) __ptr64
-?GetPtrOfExtBuffer@CExtBuffer@@QEAAPEAX_K@Z
-; public: long __cdecl CGenericPooler::GetResource(void * __ptr64 * __ptr64,struct IGPHolder * __ptr64,struct IGPDispenser * __ptr64,void * __ptr64 * __ptr64,void * __ptr64) __ptr64
-?GetResource@CGenericPooler@@QEAAJPEAPEAXPEAUIGPHolder@@PEAUIGPDispenser@@0PEAX@Z
-; public: virtual struct tagRowBuff * __ptr64 __cdecl CSlotListLong::GetRowBuff(unsigned __int64) __ptr64
-?GetRowBuff@CSlotListLong@@UEAAPEAUtagRowBuff@@_K@Z
-; public: virtual struct tagRowBuff * __ptr64 __cdecl CSlotListShort::GetRowBuff(unsigned __int64) __ptr64
-?GetRowBuff@CSlotListShort@@UEAAPEAUtagRowBuff@@_K@Z
-; public: unsigned long __cdecl CUtlProps2::GetStatus(unsigned long,unsigned long) __ptr64
-?GetStatus@CUtlProps2@@QEAAKKK@Z
-; public: void __cdecl CBaseObjBoko::GetTimestamp(unsigned long * __ptr64) __ptr64
-?GetTimestamp@CBaseObjBoko@@QEAAXPEAK@Z
-; private: long __cdecl CUtlPropInfo::GetUPropInfoPtr(unsigned long,unsigned long,struct tagUPROPINFO * __ptr64 * __ptr64) __ptr64
-?GetUPropInfoPtr@CUtlPropInfo@@AEAAJKKPEAPEAUtagUPROPINFO@@@Z
-; protected: unsigned long __cdecl CUtlPropInfo::GetUPropSetCount(void) __ptr64
-?GetUPropSetCount@CUtlPropInfo@@IEAAKXZ
-; public: unsigned long __cdecl CUtlProps2::GetUPropSetCount(void) __ptr64
-?GetUPropSetCount@CUtlProps2@@QEAAKXZ
-; protected: virtual unsigned long __cdecl CUtlProps2::GetUPropValIndex(unsigned long,unsigned long) __ptr64
-?GetUPropValIndex@CUtlProps2@@MEAAKKK@Z
-; protected: virtual unsigned long __cdecl CUtlPropsFastLookup2::GetUPropValIndex(unsigned long,unsigned long) __ptr64
-?GetUPropValIndex@CUtlPropsFastLookup2@@MEAAKKK@Z
-; public: short __cdecl CUtlProps2::GetValBool(unsigned long,unsigned long)const  __ptr64
-?GetValBool@CUtlProps2@@QEBAFKK@Z
-; public: void * __ptr64 __cdecl CUtlProps2::GetValByRef(unsigned long,unsigned long)const  __ptr64
-?GetValByRef@CUtlProps2@@QEBAPEAXKK@Z
-; public: long __cdecl CUtlProps2::GetValLong(unsigned long,unsigned long)const  __ptr64
-?GetValLong@CUtlProps2@@QEBAJKK@Z
-; public: __int64 __cdecl CUtlProps2::GetValLongLong(unsigned long,unsigned long)const  __ptr64
-?GetValLongLong@CUtlProps2@@QEBA_JKK@Z
-; public: short __cdecl CUtlProps2::GetValShort(unsigned long,unsigned long)const  __ptr64
-?GetValShort@CUtlProps2@@QEBAFKK@Z
-; public: unsigned short const * __ptr64 __cdecl CUtlProps2::GetValString(unsigned long,unsigned long) __ptr64
-?GetValString@CUtlProps2@@QEAAPEBGKK@Z
-; public: struct tagVARIANT * __ptr64 __cdecl CUtlProps2::GetVariant(unsigned long,unsigned long) __ptr64
-?GetVariant@CUtlProps2@@QEAAPEAUtagVARIANT@@KK@Z
-; public: virtual int __cdecl CHeapDispenser::HashKey(void * __ptr64,unsigned long,int * __ptr64) __ptr64
-?HashKey@CHeapDispenser@@UEAAHPEAXKPEAH@Z
-; public: long __cdecl CRowsetConnectionPointContainer::Init(void) __ptr64
-?Init@CRowsetConnectionPointContainer@@QEAAJXZ
-; protected: void __cdecl CWString::Init(void) __ptr64
-?Init@CWString@@IEAAXXZ
-; public: virtual long __cdecl CHashTbl::InsertFindBmk(int,unsigned __int64,unsigned __int64,unsigned char * __ptr64,unsigned __int64 * __ptr64) __ptr64
-?InsertFindBmk@CHashTbl@@UEAAJH_K0PEAEPEA_K@Z
-; public: virtual long __cdecl CHashTblAggr::InsertFindBmk(int,unsigned __int64,unsigned __int64,unsigned char * __ptr64,unsigned __int64 * __ptr64) __ptr64
-?InsertFindBmk@CHashTblAggr@@UEAAJH_K0PEAEPEA_K@Z
-; public: long __cdecl CExtBuffer::InsertIntoExtBuffer(void * __ptr64,unsigned __int64 & __ptr64) __ptr64
-?InsertIntoExtBuffer@CExtBuffer@@QEAAJPEAXAEA_K@Z
-; public: int __cdecl CUtlProps2::IsEmpty(unsigned long,unsigned long) __ptr64
-?IsEmpty@CUtlProps2@@QEAAHKK@Z
-; public: int __cdecl CWString::IsEmpty(void)const  __ptr64
-?IsEmpty@CWString@@QEBAHXZ
-; public: int __cdecl CUtlProps2::IsPropSet(struct _GUID const * __ptr64,unsigned long) __ptr64
-?IsPropSet@CUtlProps2@@QEAAHPEBU_GUID@@K@Z
-; public: int __cdecl CUtlProps2::IsRequiredFalse(unsigned long,unsigned long) __ptr64
-?IsRequiredFalse@CUtlProps2@@QEAAHKK@Z
-; public: int __cdecl CUtlProps2::IsRequiredTrue(unsigned long,unsigned long) __ptr64
-?IsRequiredTrue@CUtlProps2@@QEAAHKK@Z
-; public: int __cdecl CUtlProps2::IsSetIfCan(unsigned long,unsigned long) __ptr64
-?IsSetIfCan@CUtlProps2@@QEAAHKK@Z
-; public: long __cdecl CBitArray::IsSlotSet(unsigned __int64) __ptr64
-?IsSlotSet@CBitArray@@QEAAJ_K@Z
-; public: int __cdecl CUtlProps2::IsTrue(unsigned long,unsigned long) __ptr64
-?IsTrue@CUtlProps2@@QEAAHKK@Z
-; public: int __cdecl CVLHeap::IsVLAlloc(void * __ptr64) __ptr64
-?IsVLAlloc@CVLHeap@@QEAAHPEAX@Z
-; public: virtual long __cdecl CSlotListLong::IsValidSlot(unsigned __int64) __ptr64
-?IsValidSlot@CSlotListLong@@UEAAJ_K@Z
-; public: virtual long __cdecl CSlotListShort::IsValidSlot(unsigned __int64) __ptr64
-?IsValidSlot@CSlotListShort@@UEAAJ_K@Z
-; public: int __cdecl CBaseObjBoko::IsZombie(unsigned long) __ptr64
-?IsZombie@CBaseObjBoko@@QEAAHK@Z
-; public: int __cdecl CBaseObjZombie::IsZombie(void) __ptr64
-?IsZombie@CBaseObjZombie@@QEAAHXZ
-; unsigned long __cdecl LoadRCData(void * __ptr64,unsigned int,unsigned short * __ptr64,unsigned long)
-?LoadRCData@@YAKPEAXIPEAGK@Z
-; long __cdecl LoadResourceDLL(unsigned short * __ptr64,unsigned short * __ptr64,void * __ptr64,void * __ptr64 * __ptr64)
-?LoadResourceDLL@@YAJPEAG0PEAXPEAPEAX@Z
-; public: int __cdecl CWString::LoadStringW(void * __ptr64,unsigned int) __ptr64
-?LoadStringW@CWString@@QEAAHPEAXI@Z
-; public: virtual long __cdecl CClassFactory::LockServer(int) __ptr64
-?LockServer@CClassFactory@@UEAAJH@Z
-; public: void __cdecl CBaseObjBoko::MakeZombies(void) __ptr64
-?MakeZombies@CBaseObjBoko@@QEAAXXZ
-; public: class CWString  __cdecl CWString::Mid(int)const  __ptr64
-?Mid@CWString@@QEBA?AV1@H@Z
-; public: class CWString  __cdecl CWString::Mid(int,int)const  __ptr64
-?Mid@CWString@@QEBA?AV1@HH@Z
-; public: long __cdecl CEnum::Next(unsigned long,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Next@CEnum@@QEAAJKPEAPEAXPEAK@Z
-; public: virtual long __cdecl CEnumConnectionPoints::Next(unsigned long,struct IConnectionPoint * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Next@CEnumConnectionPoints@@UEAAJKPEAPEAUIConnectionPoint@@PEAK@Z
-; public: virtual long __cdecl CEnumConnections::Next(unsigned long,struct tagCONNECTDATA * __ptr64,unsigned long * __ptr64) __ptr64
-?Next@CEnumConnections@@UEAAJKPEAUtagCONNECTDATA@@PEAK@Z
-; public: virtual long __cdecl CSlotListLong::NextBusySlot(unsigned __int64 * __ptr64) __ptr64
-?NextBusySlot@CSlotListLong@@UEAAJPEA_K@Z
-; public: virtual long __cdecl CSlotListShort::NextBusySlot(unsigned __int64 * __ptr64) __ptr64
-?NextBusySlot@CSlotListShort@@UEAAJPEA_K@Z
-; public: virtual long __cdecl CSlotListLong::NoBusySlots(void) __ptr64
-?NoBusySlots@CSlotListLong@@UEAAJXZ
-; public: virtual long __cdecl CSlotListShort::NoBusySlots(void) __ptr64
-?NoBusySlots@CSlotListShort@@UEAAJXZ
-; public: unsigned long __cdecl CWString::NumElements(unsigned short * __ptr64 const)const  __ptr64
-?NumElements@CWString@@QEBAKQEAG@Z
-; int __cdecl OLEDBGetCharTypeW(unsigned long,unsigned short,unsigned short * __ptr64)
-?OLEDBGetCharTypeW@@YAHKGPEAG@Z
-; public: short __cdecl CUtlProps2::OkToPersistSensitiveAuthInfo(void) __ptr64
-?OkToPersistSensitiveAuthInfo@CUtlProps2@@QEAAFXZ
-; int __cdecl OnUnicodeSystem(void)
-?OnUnicodeSystem@@YAHXZ
-; public: virtual long __cdecl CClassFactory::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CClassFactory@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: long __cdecl CEnum::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64,struct IUnknown * __ptr64) __ptr64
-?QueryInterface@CEnum@@QEAAJAEBU_GUID@@PEAPEAXPEAUIUnknown@@@Z
-; public: virtual long __cdecl CEnumConnectionPoints::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CEnumConnectionPoints@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CEnumConnections::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CEnumConnections@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CHeapDispenser::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CHeapDispenser@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CRowsetConnectionPoint::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CRowsetConnectionPoint@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CRowsetConnectionPointContainer::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CRowsetConnectionPointContainer@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CHeapDispenser::RateRes(void * __ptr64,unsigned long,void * __ptr64,int * __ptr64) __ptr64
-?RateRes@CHeapDispenser@@UEAAJPEAXK0PEAH@Z
-; public: virtual void __cdecl CSlotListLong::RecordInternalUse(void) __ptr64
-?RecordInternalUse@CSlotListLong@@UEAAXXZ
-; public: virtual void __cdecl CSlotListShort::RecordInternalUse(void) __ptr64
-?RecordInternalUse@CSlotListShort@@UEAAXXZ
-; long __cdecl RegisterServer(void * __ptr64 const,void * __ptr64 const,unsigned long,struct tagREGENTRIES const * __ptr64 const)
-?RegisterServer@@YAJQEAX0KQEBUtagREGENTRIES@@@Z
-; public: virtual unsigned long __cdecl CClassFactory::Release(void) __ptr64
-?Release@CClassFactory@@UEAAKXZ
-; public: unsigned long __cdecl CEnum::Release(void) __ptr64
-?Release@CEnum@@QEAAKXZ
-; public: virtual unsigned long __cdecl CEnumConnectionPoints::Release(void) __ptr64
-?Release@CEnumConnectionPoints@@UEAAKXZ
-; public: virtual unsigned long __cdecl CEnumConnections::Release(void) __ptr64
-?Release@CEnumConnections@@UEAAKXZ
-; public: virtual unsigned long __cdecl CHeapDispenser::Release(void) __ptr64
-?Release@CHeapDispenser@@UEAAKXZ
-; public: virtual unsigned long __cdecl CRowsetConnectionPoint::Release(void) __ptr64
-?Release@CRowsetConnectionPoint@@UEAAKXZ
-; public: virtual unsigned long __cdecl CRowsetConnectionPointContainer::Release(void) __ptr64
-?Release@CRowsetConnectionPointContainer@@UEAAKXZ
-; public: void __cdecl CWString::ReleaseBuffer(int) __ptr64
-?ReleaseBuffer@CWString@@QEAAXH@Z
-; public: void __cdecl CGenericPooler::ReleaseHolders(void) __ptr64
-?ReleaseHolders@CGenericPooler@@QEAAXXZ
-; public: void __cdecl CGenericPooler::ReleaseResource(void * __ptr64,struct IGPHolder * __ptr64,struct IGPDispenser * __ptr64,void * __ptr64) __ptr64
-?ReleaseResource@CGenericPooler@@QEAAXPEAXPEAUIGPHolder@@PEAUIGPDispenser@@0@Z
-; public: virtual unsigned __int64 __cdecl CSlotListLong::ReleaseSlots(unsigned __int64,unsigned __int64) __ptr64
-?ReleaseSlots@CSlotListLong@@UEAA_K_K0@Z
-; public: virtual unsigned __int64 __cdecl CSlotListShort::ReleaseSlots(unsigned __int64,unsigned __int64) __ptr64
-?ReleaseSlots@CSlotListShort@@UEAA_K_K0@Z
-; public: void __cdecl CUtlProps2::RemoveInternalFlags(unsigned long,unsigned long,unsigned long) __ptr64
-?RemoveInternalFlags@CUtlProps2@@QEAAXKKK@Z
-; public: void __cdecl CWString::ReplaceAt(int,int,unsigned short const * __ptr64,int) __ptr64
-?ReplaceAt@CWString@@QEAAXHHPEBGH@Z
-; public: long __cdecl CExtBuffer::ReplaceInExtBuffer(unsigned __int64,unsigned __int64,void const * __ptr64,unsigned __int64) __ptr64
-?ReplaceInExtBuffer@CExtBuffer@@QEAAJ_K0PEBX0@Z
-; public: int __cdecl CConnectData::Reset(void) __ptr64
-?Reset@CConnectData@@QEAAHXZ
-; public: long __cdecl CEnum::Reset(void) __ptr64
-?Reset@CEnum@@QEAAJXZ
-; public: virtual long __cdecl CEnumConnectionPoints::Reset(void) __ptr64
-?Reset@CEnumConnectionPoints@@UEAAJXZ
-; public: virtual long __cdecl CEnumConnections::Reset(void) __ptr64
-?Reset@CEnumConnections@@UEAAJXZ
-; public: void __cdecl CBitArray::ResetAllSlots(void) __ptr64
-?ResetAllSlots@CBitArray@@QEAAXXZ
-; public: virtual void __cdecl CSlotListLong::ResetBusySlotIteration(void) __ptr64
-?ResetBusySlotIteration@CSlotListLong@@UEAAXXZ
-; public: virtual void __cdecl CSlotListShort::ResetBusySlotIteration(void) __ptr64
-?ResetBusySlotIteration@CSlotListShort@@UEAAXXZ
-; public: virtual long __cdecl CHeapDispenser::ResetResource(void * __ptr64) __ptr64
-?ResetResource@CHeapDispenser@@UEAAJPEAX@Z
-; public: void __cdecl CBitArray::ResetSlot(unsigned __int64) __ptr64
-?ResetSlot@CBitArray@@QEAAX_K@Z
-; public: void __cdecl CBitArray::ResetSlots(unsigned __int64,unsigned __int64) __ptr64
-?ResetSlots@CBitArray@@QEAAX_K0@Z
-; public: void __cdecl CUtlProps2::RestoreInternalFlags(unsigned long,unsigned long) __ptr64
-?RestoreInternalFlags@CUtlProps2@@QEAAXKK@Z
-; public: void __cdecl CUtlProps2::RestoreInternalStatus(unsigned long,unsigned long) __ptr64
-?RestoreInternalStatus@CUtlProps2@@QEAAXKK@Z
-; private: void __cdecl CUtlProps2::RetrieveColumnIdProps(struct tagDBPROP * __ptr64,struct tagUPROPVAL * __ptr64,unsigned long * __ptr64) __ptr64
-?RetrieveColumnIdProps@CUtlProps2@@AEAAXPEAUtagDBPROP@@PEAUtagUPROPVAL@@PEAK@Z
-; public: virtual unsigned __int64 __cdecl CSlotListLong::SLSlotCapacity(void) __ptr64
-?SLSlotCapacity@CSlotListLong@@UEAA_KXZ
-; public: virtual unsigned __int64 __cdecl CSlotListShort::SLSlotCapacity(void) __ptr64
-?SLSlotCapacity@CSlotListShort@@UEAA_KXZ
-; protected: static void __cdecl CWString::SafeDelete(unsigned short * __ptr64)
-?SafeDelete@CWString@@KAXPEAG@Z
-; protected: static int __cdecl CWString::SafeStrlen(unsigned short const * __ptr64)
-?SafeStrlen@CWString@@KAHPEBG@Z
-; public: void __cdecl CUtlProps2::SaveInternalFlags(unsigned long,unsigned long) __ptr64
-?SaveInternalFlags@CUtlProps2@@QEAAXKK@Z
-; public: void __cdecl CUtlProps2::SaveInternalStatus(unsigned long,unsigned long) __ptr64
-?SaveInternalStatus@CUtlProps2@@QEAAXKK@Z
-; public: void __cdecl CWString::SetAt(int,unsigned short) __ptr64
-?SetAt@CWString@@QEAAXHG@Z
-; public: void __cdecl CBaseObjZombie::SetBoko(class CBaseObjBoko * __ptr64) __ptr64
-?SetBoko@CBaseObjZombie@@QEAAXPEAVCBaseObjBoko@@@Z
-; public: virtual long __cdecl CUtlProps2::SetCombinedPassThrough(struct tagDBPROPSET const * __ptr64,unsigned long) __ptr64
-?SetCombinedPassThrough@CUtlProps2@@UEAAJPEBUtagDBPROPSET@@K@Z
-; public: void __cdecl CWString::SetError(void) __ptr64
-?SetError@CWString@@QEAAXXZ
-; public: void __cdecl CUtlProps2::SetInternalStatus(unsigned long,unsigned long,unsigned long) __ptr64
-?SetInternalStatus@CUtlProps2@@QEAAXKKK@Z
-; public: void __cdecl CExtBuffer::SetItemCount(unsigned __int64) __ptr64
-?SetItemCount@CExtBuffer@@QEAAX_K@Z
-; public: virtual long __cdecl CUtlProps2::SetPassThrough(struct tagDBPROPSET const * __ptr64) __ptr64
-?SetPassThrough@CUtlProps2@@UEAAJPEBUtagDBPROPSET@@@Z
-; public: long __cdecl CEnum::SetPos(unsigned long) __ptr64
-?SetPos@CEnum@@QEAAJK@Z
-; public: long __cdecl CEnumConnectionPoints::SetPos(unsigned long) __ptr64
-?SetPos@CEnumConnectionPoints@@QEAAJK@Z
-; public: long __cdecl CEnumConnections::SetPos(unsigned long) __ptr64
-?SetPos@CEnumConnections@@QEAAJK@Z
-; public: void __cdecl CUtlProps2::SetPropOption(unsigned long,unsigned long,unsigned long) __ptr64
-?SetPropOption@CUtlProps2@@QEAAXKKK@Z
-; public: void __cdecl CUtlProps2::SetPropRequired(unsigned long,unsigned long,short) __ptr64
-?SetPropRequired@CUtlProps2@@QEAAXKKF@Z
-; public: void __cdecl CUtlProps2::SetPropSupported(unsigned long,unsigned long) __ptr64
-?SetPropSupported@CUtlProps2@@QEAAXKK@Z
-; public: long __cdecl CUtlProps2::SetPropValue(struct _GUID const * __ptr64,unsigned long,struct tagVARIANT * __ptr64) __ptr64
-?SetPropValue@CUtlProps2@@QEAAJPEBU_GUID@@KPEAUtagVARIANT@@@Z
-; public: long __cdecl CUtlProps2::SetProperties(unsigned long,struct tagDBPROPSET const * __ptr64 const,int) __ptr64
-?SetProperties@CUtlProps2@@QEAAJKQEBUtagDBPROPSET@@H@Z
-; public: static long __cdecl CUtlProps2::SetPropertiesArgChk(unsigned long,struct tagDBPROPSET const * __ptr64 const)
-?SetPropertiesArgChk@CUtlProps2@@SAJKQEBUtagDBPROPSET@@@Z
-; private: long __cdecl CUtlProps2::SetProperty(unsigned long,unsigned long,struct tagDBPROP * __ptr64) __ptr64
-?SetProperty@CUtlProps2@@AEAAJKKPEAUtagDBPROP@@@Z
-; public: void __cdecl CUtlProps2::SetPropertyInError(unsigned long,unsigned long) __ptr64
-?SetPropertyInError@CUtlProps2@@QEAAXKK@Z
-; public: void __cdecl CUtlProps2::SetPropertyStatus(unsigned long,struct tagDBPROPSET const * __ptr64 const) __ptr64
-?SetPropertyStatus@CUtlProps2@@QEAAXKQEBUtagDBPROPSET@@@Z
-; private: void __cdecl CRowsetConnectionPoint::SetReasons(void) __ptr64
-?SetReasons@CRowsetConnectionPoint@@AEAAXXZ
-; public: long __cdecl CBitArray::SetSlot(unsigned __int64) __ptr64
-?SetSlot@CBitArray@@QEAAJ_K@Z
-; public: long __cdecl CBitArray::SetSlots(unsigned __int64,unsigned __int64) __ptr64
-?SetSlots@CBitArray@@QEAAJ_K0@Z
-; public: void __cdecl CUtlProps2::SetStatus(unsigned long,unsigned long,unsigned long) __ptr64
-?SetStatus@CUtlProps2@@QEAAXKKK@Z
-; protected: void __cdecl CUtlPropInfo::SetUPropSetCount(unsigned long) __ptr64
-?SetUPropSetCount@CUtlPropInfo@@IEAAXK@Z
-; public: void __cdecl CUtlProps2::SetUPropSetCount(unsigned long) __ptr64
-?SetUPropSetCount@CUtlProps2@@QEAAXK@Z
-; public: void __cdecl CUtlProps2::SetValBool(unsigned long,unsigned long,short) __ptr64
-?SetValBool@CUtlProps2@@QEAAXKKF@Z
-; public: void __cdecl CUtlProps2::SetValByRef(unsigned long,unsigned long,void * __ptr64) __ptr64
-?SetValByRef@CUtlProps2@@QEAAXKKPEAX@Z
-; public: void __cdecl CUtlProps2::SetValEmpty(unsigned long,unsigned long) __ptr64
-?SetValEmpty@CUtlProps2@@QEAAXKK@Z
-; public: void __cdecl CUtlProps2::SetValLong(unsigned long,unsigned long,long) __ptr64
-?SetValLong@CUtlProps2@@QEAAXKKJ@Z
-; public: void __cdecl CUtlProps2::SetValLongLong(unsigned long,unsigned long,__int64) __ptr64
-?SetValLongLong@CUtlProps2@@QEAAXKK_J@Z
-; public: void __cdecl CUtlProps2::SetValShort(unsigned long,unsigned long,short) __ptr64
-?SetValShort@CUtlProps2@@QEAAXKKF@Z
-; public: long __cdecl CUtlProps2::SetValString(unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
-?SetValString@CUtlProps2@@QEAAJKKPEBG@Z
-; public: long __cdecl CUtlProps2::SetVariant(unsigned long,unsigned long,struct tagVARIANT * __ptr64) __ptr64
-?SetVariant@CUtlProps2@@QEAAJKKPEAUtagVARIANT@@@Z
-; public: long __cdecl CEnum::Skip(unsigned long) __ptr64
-?Skip@CEnum@@QEAAJK@Z
-; public: virtual long __cdecl CEnumConnectionPoints::Skip(unsigned long) __ptr64
-?Skip@CEnumConnectionPoints@@UEAAJK@Z
-; public: virtual long __cdecl CEnumConnections::Skip(unsigned long) __ptr64
-?Skip@CEnumConnections@@UEAAJK@Z
-; public: void __cdecl CExtBuffer::Transfer(class CExtBuffer * __ptr64) __ptr64
-?Transfer@CExtBuffer@@QEAAXPEAV1@@Z
-; long __cdecl UnRegisterServer(void * __ptr64 const,unsigned long,struct tagREGENTRIES const * __ptr64 const)
-?UnRegisterServer@@YAJQEAXKQEBUtagREGENTRIES@@@Z
-; public: virtual long __cdecl CRowsetConnectionPoint::Unadvise(unsigned long) __ptr64
-?Unadvise@CRowsetConnectionPoint@@UEAAJK@Z
-; public: void * __ptr64 __cdecl CVLHeap::VLAlloc(unsigned __int64) __ptr64
-?VLAlloc@CVLHeap@@QEAAPEAX_K@Z
-; public: void __cdecl CVLHeap::VLFree(void * __ptr64) __ptr64
-?VLFree@CVLHeap@@QEAAXPEAX@Z
-; public: void * __ptr64 __cdecl CVLHeap::VLGrow(void * __ptr64,unsigned __int64) __ptr64
-?VLGrow@CVLHeap@@QEAAPEAXPEAX_K@Z
-; public: void * __ptr64 __cdecl CVLHeap::VLTrueRealloc(void * __ptr64,unsigned __int64) __ptr64
-?VLTrueRealloc@CVLHeap@@QEAAPEAXPEAX_K@Z
-; long __cdecl W95ConvertToAnsiOrOem(unsigned short const * __ptr64,char * __ptr64 * __ptr64,unsigned long,unsigned long * __ptr64,int,int)
-?W95ConvertToAnsiOrOem@@YAJPEBGPEAPEADKPEAKHH@Z
-; long __cdecl W95ConvertToUnicode(char const * __ptr64,long,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64,int,int)
-?W95ConvertToUnicode@@YAJPEBDJPEAPEAGPEAKHH@Z
-; public: long __cdecl CExtBuffer::WriteIntoExtBuffer(void const * __ptr64,unsigned __int64) __ptr64
-?WriteIntoExtBuffer@CExtBuffer@@QEAAJPEBX_K@Z
-; public: long __cdecl CExtBuffer::WriteWCharToExtBuffer(unsigned short,unsigned __int64) __ptr64
-?WriteWCharToExtBuffer@CExtBuffer@@QEAAJG_K@Z
-; public: int __cdecl CBaseObjBoko::ZombieMustUnprepare(void) __ptr64
-?ZombieMustUnprepare@CBaseObjBoko@@QEAAHXZ
-; public: int __cdecl CBaseObjZombie::ZombieMustUnprepare(void) __ptr64
-?ZombieMustUnprepare@CBaseObjZombie@@QEAAHXZ
-; public: int __cdecl CBitArray::fGetCopyOf(class CBitArray * __ptr64) __ptr64
-?fGetCopyOf@CBitArray@@QEAAHPEAV1@@Z
-; public: int __cdecl CRowsetConnectionPoint::fInit(void) __ptr64
-?fInit@CRowsetConnectionPoint@@QEAAHXZ
-; public: int __cdecl CConnectData::fOkToFire(enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
-?fOkToFire@CConnectData@@QEAAHW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; public: int __cdecl CRowsetConnectionPoint::fReasonNeeded(enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
-?fReasonNeeded@CRowsetConnectionPoint@@QEAAHW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; public: int __cdecl CRowsetConnectionPointContainer::fReasonNeeded(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
-?fReasonNeeded@CRowsetConnectionPointContainer@@QEAAHKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; private: static unsigned long const * const  CUtlProps2::sm_rgPropStatusFromInternStatus
-?sm_rgPropStatusFromInternStatus@CUtlProps2@@0QBKB
+; 
+; Exports of file MSDATL3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDATL3.dll
+EXPORTS
+DllMain
+; protected: __cdecl CBaseObj::CBaseObj(enum EBaseObjectType,long * __ptr64) __ptr64
+??0CBaseObj@@IEAA@W4EBaseObjectType@@PEAJ@Z
+; protected: __cdecl CBaseObj::CBaseObj(enum EBaseObjectType,struct IUnknown * __ptr64,long * __ptr64) __ptr64
+??0CBaseObj@@IEAA@W4EBaseObjectType@@PEAUIUnknown@@PEAJ@Z
+; public: __cdecl CBaseObj::CBaseObj(class CBaseObj const & __ptr64) __ptr64
+??0CBaseObj@@QEAA@AEBV0@@Z
+; public: __cdecl CBaseObjBoko::CBaseObjBoko(class CBaseObjBoko const & __ptr64) __ptr64
+??0CBaseObjBoko@@QEAA@AEBV0@@Z
+; public: __cdecl CBaseObjBoko::CBaseObjBoko(enum EBaseObjectType,long * __ptr64) __ptr64
+??0CBaseObjBoko@@QEAA@W4EBaseObjectType@@PEAJ@Z
+; public: __cdecl CBaseObjZombie::CBaseObjZombie(class CBaseObjZombie const & __ptr64) __ptr64
+??0CBaseObjZombie@@QEAA@AEBV0@@Z
+; public: __cdecl CBaseObjZombie::CBaseObjZombie(enum EBaseObjectType,long * __ptr64) __ptr64
+??0CBaseObjZombie@@QEAA@W4EBaseObjectType@@PEAJ@Z
+; public: __cdecl CBitArray::CBitArray(void) __ptr64
+??0CBitArray@@QEAA@XZ
+; private: __cdecl CClassFactory::CClassFactory(void) __ptr64
+??0CClassFactory@@AEAA@XZ
+; public: __cdecl CClassFactory::CClassFactory(class CClassFactory const & __ptr64) __ptr64
+??0CClassFactory@@QEAA@AEBV0@@Z
+; public: __cdecl CClassFactory::CClassFactory(long * __ptr64,long * __ptr64) __ptr64
+??0CClassFactory@@QEAA@PEAJ0@Z
+; public: __cdecl CConnectData::CConnectData(void) __ptr64
+??0CConnectData@@QEAA@XZ
+; public: __cdecl CEnum::CEnum(struct IUnknown * __ptr64,unsigned long,void * __ptr64 * __ptr64,struct _GUID,unsigned __int64,unsigned long,enum CENUMTYPE) __ptr64
+??0CEnum@@QEAA@PEAUIUnknown@@KPEAPEAXU_GUID@@_KKW4CENUMTYPE@@@Z
+; public: __cdecl CEnumConnectionPoints::CEnumConnectionPoints(class CEnumConnectionPoints const & __ptr64) __ptr64
+??0CEnumConnectionPoints@@QEAA@AEBV0@@Z
+; public: __cdecl CEnumConnectionPoints::CEnumConnectionPoints(struct IUnknown * __ptr64,unsigned long,struct IConnectionPoint * __ptr64 * __ptr64) __ptr64
+??0CEnumConnectionPoints@@QEAA@PEAUIUnknown@@KPEAPEAUIConnectionPoint@@@Z
+; public: __cdecl CEnumConnections::CEnumConnections(class CEnumConnections const & __ptr64) __ptr64
+??0CEnumConnections@@QEAA@AEBV0@@Z
+; public: __cdecl CEnumConnections::CEnumConnections(struct IUnknown * __ptr64,struct tagCONNECTDATA * __ptr64,unsigned long) __ptr64
+??0CEnumConnections@@QEAA@PEAUIUnknown@@PEAUtagCONNECTDATA@@K@Z
+; public: __cdecl CExtBuffer::CExtBuffer(void) __ptr64
+??0CExtBuffer@@QEAA@XZ
+; public: __cdecl CGenericPooler::CGenericPooler(class CGenericPooler const & __ptr64) __ptr64
+??0CGenericPooler@@QEAA@AEBV0@@Z
+; public: __cdecl CGenericPooler::CGenericPooler(void) __ptr64
+??0CGenericPooler@@QEAA@XZ
+; public: __cdecl CHashTbl::CHashTbl(class CHashTbl const & __ptr64) __ptr64
+??0CHashTbl@@QEAA@AEBV0@@Z
+; public: __cdecl CHashTbl::CHashTbl(void) __ptr64
+??0CHashTbl@@QEAA@XZ
+; public: __cdecl CHashTblAggr::CHashTblAggr(class CHashTblAggr const & __ptr64) __ptr64
+??0CHashTblAggr@@QEAA@AEBV0@@Z
+; public: __cdecl CHashTblAggr::CHashTblAggr(void) __ptr64
+??0CHashTblAggr@@QEAA@XZ
+; public: __cdecl CHeapDispenser::CHeapDispenser(class CHeapDispenser const & __ptr64) __ptr64
+??0CHeapDispenser@@QEAA@AEBV0@@Z
+; public: __cdecl CHeapDispenser::CHeapDispenser(void) __ptr64
+??0CHeapDispenser@@QEAA@XZ
+; public: __cdecl CRowsetConnectionPoint::CRowsetConnectionPoint(class CRowsetConnectionPoint const & __ptr64) __ptr64
+??0CRowsetConnectionPoint@@QEAA@AEBV0@@Z
+; public: __cdecl CRowsetConnectionPoint::CRowsetConnectionPoint(struct IUnknown * __ptr64,struct _GUID const * __ptr64,unsigned long) __ptr64
+??0CRowsetConnectionPoint@@QEAA@PEAUIUnknown@@PEBU_GUID@@K@Z
+; public: __cdecl CRowsetConnectionPointContainer::CRowsetConnectionPointContainer(class CRowsetConnectionPointContainer const & __ptr64) __ptr64
+??0CRowsetConnectionPointContainer@@QEAA@AEBV0@@Z
+; public: __cdecl CRowsetConnectionPointContainer::CRowsetConnectionPointContainer(struct IUnknown * __ptr64) __ptr64
+??0CRowsetConnectionPointContainer@@QEAA@PEAUIUnknown@@@Z
+; public: __cdecl CSlotListLong::CSlotListLong(class CSlotListLong const & __ptr64) __ptr64
+??0CSlotListLong@@QEAA@AEBV0@@Z
+; public: __cdecl CSlotListLong::CSlotListLong(void) __ptr64
+??0CSlotListLong@@QEAA@XZ
+; public: __cdecl CSlotListShort::CSlotListShort(class CSlotListShort const & __ptr64) __ptr64
+??0CSlotListShort@@QEAA@AEBV0@@Z
+; public: __cdecl CSlotListShort::CSlotListShort(void) __ptr64
+??0CSlotListShort@@QEAA@XZ
+; public: __cdecl CUtlPropInfo::CUtlPropInfo(class CUtlPropInfo const & __ptr64) __ptr64
+??0CUtlPropInfo@@QEAA@AEBV0@@Z
+; public: __cdecl CUtlPropInfo::CUtlPropInfo(void) __ptr64
+??0CUtlPropInfo@@QEAA@XZ
+; public: __cdecl CUtlProps2::CUtlProps2(class CUtlProps2 const & __ptr64) __ptr64
+??0CUtlProps2@@QEAA@AEBV0@@Z
+; public: __cdecl CUtlProps2::CUtlProps2(unsigned long) __ptr64
+??0CUtlProps2@@QEAA@K@Z
+; public: __cdecl CUtlPropsFastLookup2::CUtlPropsFastLookup2(class CUtlPropsFastLookup2 const & __ptr64) __ptr64
+??0CUtlPropsFastLookup2@@QEAA@AEBV0@@Z
+; public: __cdecl CUtlPropsFastLookup2::CUtlPropsFastLookup2(unsigned long) __ptr64
+??0CUtlPropsFastLookup2@@QEAA@K@Z
+; public: __cdecl CVLHeap::CVLHeap(void) __ptr64
+??0CVLHeap@@QEAA@XZ
+; public: __cdecl CWString::CWString(class CWString const & __ptr64) __ptr64
+??0CWString@@QEAA@AEBV0@@Z
+; public: __cdecl CWString::CWString(unsigned short,int) __ptr64
+??0CWString@@QEAA@GH@Z
+; public: __cdecl CWString::CWString(char const * __ptr64) __ptr64
+??0CWString@@QEAA@PEBD@Z
+; public: __cdecl CWString::CWString(unsigned char const * __ptr64) __ptr64
+??0CWString@@QEAA@PEBE@Z
+; public: __cdecl CWString::CWString(unsigned short const * __ptr64) __ptr64
+??0CWString@@QEAA@PEBG@Z
+; public: __cdecl CWString::CWString(unsigned short const * __ptr64,int) __ptr64
+??0CWString@@QEAA@PEBGH@Z
+; public: __cdecl CWString::CWString(void) __ptr64
+??0CWString@@QEAA@XZ
+; public: __cdecl IBookmarkObj::IBookmarkObj(class IBookmarkObj const & __ptr64) __ptr64
+??0IBookmarkObj@@QEAA@AEBV0@@Z
+; public: __cdecl IBookmarkObj::IBookmarkObj(void) __ptr64
+??0IBookmarkObj@@QEAA@XZ
+; public: __cdecl IHashTbl::IHashTbl(class IHashTbl const & __ptr64) __ptr64
+??0IHashTbl@@QEAA@AEBV0@@Z
+; public: __cdecl IHashTbl::IHashTbl(void) __ptr64
+??0IHashTbl@@QEAA@XZ
+; public: __cdecl ISlotList::ISlotList(class ISlotList const & __ptr64) __ptr64
+??0ISlotList@@QEAA@AEBV0@@Z
+; public: __cdecl ISlotList::ISlotList(void) __ptr64
+??0ISlotList@@QEAA@XZ
+; public: virtual __cdecl CBaseObj::~CBaseObj(void) __ptr64
+??1CBaseObj@@UEAA@XZ
+; public: virtual __cdecl CBaseObjBoko::~CBaseObjBoko(void) __ptr64
+??1CBaseObjBoko@@UEAA@XZ
+; public: virtual __cdecl CBaseObjZombie::~CBaseObjZombie(void) __ptr64
+??1CBaseObjZombie@@UEAA@XZ
+; public: __cdecl CBitArray::~CBitArray(void) __ptr64
+??1CBitArray@@QEAA@XZ
+; public: __cdecl CClassFactory::~CClassFactory(void) __ptr64
+??1CClassFactory@@QEAA@XZ
+; public: __cdecl CConnectData::~CConnectData(void) __ptr64
+??1CConnectData@@QEAA@XZ
+; public: __cdecl CEnum::~CEnum(void) __ptr64
+??1CEnum@@QEAA@XZ
+; public: __cdecl CEnumConnectionPoints::~CEnumConnectionPoints(void) __ptr64
+??1CEnumConnectionPoints@@QEAA@XZ
+; public: __cdecl CEnumConnections::~CEnumConnections(void) __ptr64
+??1CEnumConnections@@QEAA@XZ
+; public: __cdecl CExtBuffer::~CExtBuffer(void) __ptr64
+??1CExtBuffer@@QEAA@XZ
+; public: virtual __cdecl CHashTbl::~CHashTbl(void) __ptr64
+??1CHashTbl@@UEAA@XZ
+; public: virtual __cdecl CHashTblAggr::~CHashTblAggr(void) __ptr64
+??1CHashTblAggr@@UEAA@XZ
+; public: __cdecl CRowsetConnectionPoint::~CRowsetConnectionPoint(void) __ptr64
+??1CRowsetConnectionPoint@@QEAA@XZ
+; public: __cdecl CRowsetConnectionPointContainer::~CRowsetConnectionPointContainer(void) __ptr64
+??1CRowsetConnectionPointContainer@@QEAA@XZ
+; public: virtual __cdecl CSlotListLong::~CSlotListLong(void) __ptr64
+??1CSlotListLong@@UEAA@XZ
+; public: virtual __cdecl CSlotListShort::~CSlotListShort(void) __ptr64
+??1CSlotListShort@@UEAA@XZ
+; public: virtual __cdecl CUtlPropInfo::~CUtlPropInfo(void) __ptr64
+??1CUtlPropInfo@@UEAA@XZ
+; public: virtual __cdecl CUtlProps2::~CUtlProps2(void) __ptr64
+??1CUtlProps2@@UEAA@XZ
+; public: virtual __cdecl CUtlPropsFastLookup2::~CUtlPropsFastLookup2(void) __ptr64
+??1CUtlPropsFastLookup2@@UEAA@XZ
+; public: __cdecl CVLHeap::~CVLHeap(void) __ptr64
+??1CVLHeap@@QEAA@XZ
+; public: __cdecl CWString::~CWString(void) __ptr64
+??1CWString@@QEAA@XZ
+; public: virtual __cdecl IBookmarkObj::~IBookmarkObj(void) __ptr64
+??1IBookmarkObj@@UEAA@XZ
+; public: virtual __cdecl IHashTbl::~IHashTbl(void) __ptr64
+??1IHashTbl@@UEAA@XZ
+; public: virtual __cdecl ISlotList::~ISlotList(void) __ptr64
+??1ISlotList@@UEAA@XZ
+; public: class CBaseObj & __ptr64 __cdecl CBaseObj::operator=(class CBaseObj const & __ptr64) __ptr64
+??4CBaseObj@@QEAAAEAV0@AEBV0@@Z
+; public: class CBaseObjBoko & __ptr64 __cdecl CBaseObjBoko::operator=(class CBaseObjBoko const & __ptr64) __ptr64
+??4CBaseObjBoko@@QEAAAEAV0@AEBV0@@Z
+; public: class CBaseObjZombie & __ptr64 __cdecl CBaseObjZombie::operator=(class CBaseObjZombie const & __ptr64) __ptr64
+??4CBaseObjZombie@@QEAAAEAV0@AEBV0@@Z
+; public: class CBitArray & __ptr64 __cdecl CBitArray::operator=(class CBitArray const & __ptr64) __ptr64
+??4CBitArray@@QEAAAEAV0@AEBV0@@Z
+; public: class CClassFactory & __ptr64 __cdecl CClassFactory::operator=(class CClassFactory const & __ptr64) __ptr64
+??4CClassFactory@@QEAAAEAV0@AEBV0@@Z
+; public: class CConnectData & __ptr64 __cdecl CConnectData::operator=(class CConnectData const & __ptr64) __ptr64
+??4CConnectData@@QEAAAEAV0@AEBV0@@Z
+; public: class CEnum & __ptr64 __cdecl CEnum::operator=(class CEnum const & __ptr64) __ptr64
+??4CEnum@@QEAAAEAV0@AEBV0@@Z
+; public: class CEnumConnectionPoints & __ptr64 __cdecl CEnumConnectionPoints::operator=(class CEnumConnectionPoints const & __ptr64) __ptr64
+??4CEnumConnectionPoints@@QEAAAEAV0@AEBV0@@Z
+; public: class CEnumConnections & __ptr64 __cdecl CEnumConnections::operator=(class CEnumConnections const & __ptr64) __ptr64
+??4CEnumConnections@@QEAAAEAV0@AEBV0@@Z
+; public: class CExtBuffer & __ptr64 __cdecl CExtBuffer::operator=(class CExtBuffer const & __ptr64) __ptr64
+??4CExtBuffer@@QEAAAEAV0@AEBV0@@Z
+; public: class CGenericPooler & __ptr64 __cdecl CGenericPooler::operator=(class CGenericPooler const & __ptr64) __ptr64
+??4CGenericPooler@@QEAAAEAV0@AEBV0@@Z
+; public: class CHashTbl & __ptr64 __cdecl CHashTbl::operator=(class CHashTbl const & __ptr64) __ptr64
+??4CHashTbl@@QEAAAEAV0@AEBV0@@Z
+; public: class CHashTblAggr & __ptr64 __cdecl CHashTblAggr::operator=(class CHashTblAggr const & __ptr64) __ptr64
+??4CHashTblAggr@@QEAAAEAV0@AEBV0@@Z
+; public: class CHeapDispenser & __ptr64 __cdecl CHeapDispenser::operator=(class CHeapDispenser const & __ptr64) __ptr64
+??4CHeapDispenser@@QEAAAEAV0@AEBV0@@Z
+; public: class CRowsetConnectionPoint & __ptr64 __cdecl CRowsetConnectionPoint::operator=(class CRowsetConnectionPoint const & __ptr64) __ptr64
+??4CRowsetConnectionPoint@@QEAAAEAV0@AEBV0@@Z
+; public: class CRowsetConnectionPointContainer & __ptr64 __cdecl CRowsetConnectionPointContainer::operator=(class CRowsetConnectionPointContainer const & __ptr64) __ptr64
+??4CRowsetConnectionPointContainer@@QEAAAEAV0@AEBV0@@Z
+; public: class CSlotListLong & __ptr64 __cdecl CSlotListLong::operator=(class CSlotListLong const & __ptr64) __ptr64
+??4CSlotListLong@@QEAAAEAV0@AEBV0@@Z
+; public: class CSlotListShort & __ptr64 __cdecl CSlotListShort::operator=(class CSlotListShort const & __ptr64) __ptr64
+??4CSlotListShort@@QEAAAEAV0@AEBV0@@Z
+; public: class CUtlPropInfo & __ptr64 __cdecl CUtlPropInfo::operator=(class CUtlPropInfo const & __ptr64) __ptr64
+??4CUtlPropInfo@@QEAAAEAV0@AEBV0@@Z
+; public: class CUtlProps2 & __ptr64 __cdecl CUtlProps2::operator=(class CUtlProps2 const & __ptr64) __ptr64
+??4CUtlProps2@@QEAAAEAV0@AEBV0@@Z
+; public: class CUtlPropsFastLookup2 & __ptr64 __cdecl CUtlPropsFastLookup2::operator=(class CUtlPropsFastLookup2 const & __ptr64) __ptr64
+??4CUtlPropsFastLookup2@@QEAAAEAV0@AEBV0@@Z
+; public: class CVLHeap & __ptr64 __cdecl CVLHeap::operator=(class CVLHeap const & __ptr64) __ptr64
+??4CVLHeap@@QEAAAEAV0@AEBV0@@Z
+; public: class CWString const & __ptr64 __cdecl CWString::operator=(class CWString const & __ptr64) __ptr64
+??4CWString@@QEAAAEBV0@AEBV0@@Z
+; public: class CWString const & __ptr64 __cdecl CWString::operator=(char) __ptr64
+??4CWString@@QEAAAEBV0@D@Z
+; public: class CWString const & __ptr64 __cdecl CWString::operator=(unsigned short) __ptr64
+??4CWString@@QEAAAEBV0@G@Z
+; public: class CWString const & __ptr64 __cdecl CWString::operator=(char const * __ptr64) __ptr64
+??4CWString@@QEAAAEBV0@PEBD@Z
+; public: class CWString const & __ptr64 __cdecl CWString::operator=(unsigned char const * __ptr64) __ptr64
+??4CWString@@QEAAAEBV0@PEBE@Z
+; public: class CWString const & __ptr64 __cdecl CWString::operator=(unsigned short const * __ptr64) __ptr64
+??4CWString@@QEAAAEBV0@PEBG@Z
+; public: class IBookmarkObj & __ptr64 __cdecl IBookmarkObj::operator=(class IBookmarkObj const & __ptr64) __ptr64
+??4IBookmarkObj@@QEAAAEAV0@AEBV0@@Z
+; public: class IHashTbl & __ptr64 __cdecl IHashTbl::operator=(class IHashTbl const & __ptr64) __ptr64
+??4IHashTbl@@QEAAAEAV0@AEBV0@@Z
+; public: class ISlotList & __ptr64 __cdecl ISlotList::operator=(class ISlotList const & __ptr64) __ptr64
+??4ISlotList@@QEAAAEAV0@AEBV0@@Z
+; public: unsigned short __cdecl CWString::operator[](int)const  __ptr64
+??ACWString@@QEBAGH@Z
+; public: __cdecl CWString::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCWString@@QEBAPEBGXZ
+; public: class CWString const & __ptr64 __cdecl CWString::operator+=(class CWString const & __ptr64) __ptr64
+??YCWString@@QEAAAEBV0@AEBV0@@Z
+; public: class CWString const & __ptr64 __cdecl CWString::operator+=(char) __ptr64
+??YCWString@@QEAAAEBV0@D@Z
+; public: class CWString const & __ptr64 __cdecl CWString::operator+=(unsigned short) __ptr64
+??YCWString@@QEAAAEBV0@G@Z
+; public: class CWString const & __ptr64 __cdecl CWString::operator+=(unsigned short const * __ptr64) __ptr64
+??YCWString@@QEAAAEBV0@PEBG@Z
+; const  CBaseObj::`vftable'
+??_7CBaseObj@@6B@
+; const  CBaseObjBoko::`vftable'
+??_7CBaseObjBoko@@6B@
+; const  CBaseObjZombie::`vftable'
+??_7CBaseObjZombie@@6B@
+; const  CClassFactory::`vftable'
+??_7CClassFactory@@6B@
+; const  CEnumConnectionPoints::`vftable'
+??_7CEnumConnectionPoints@@6B@
+; const  CEnumConnections::`vftable'
+??_7CEnumConnections@@6B@
+; const  CHashTbl::`vftable'
+??_7CHashTbl@@6B@
+; const  CHashTblAggr::`vftable'
+??_7CHashTblAggr@@6B@
+; const  CHeapDispenser::`vftable'
+??_7CHeapDispenser@@6B@
+; const  CRowsetConnectionPoint::`vftable'
+??_7CRowsetConnectionPoint@@6B@
+; const  CRowsetConnectionPointContainer::`vftable'
+??_7CRowsetConnectionPointContainer@@6B@
+; const  CSlotListLong::`vftable'
+??_7CSlotListLong@@6B@
+; const  CSlotListShort::`vftable'
+??_7CSlotListShort@@6B@
+; const  CUtlPropInfo::`vftable'
+??_7CUtlPropInfo@@6B@
+; const  CUtlProps2::`vftable'
+??_7CUtlProps2@@6B@
+; const  CUtlPropsFastLookup2::`vftable'
+??_7CUtlPropsFastLookup2@@6B@
+; const  IBookmarkObj::`vftable'
+??_7IBookmarkObj@@6B@
+; const  IHashTbl::`vftable'
+??_7IHashTbl@@6B@
+; const  ISlotList::`vftable'
+??_7ISlotList@@6B@
+; public: void __cdecl CUtlProps2::`default constructor closure'(void) __ptr64
+??_FCUtlProps2@@QEAAXXZ
+; public: void __cdecl CUtlPropsFastLookup2::`default constructor closure'(void) __ptr64
+??_FCUtlPropsFastLookup2@@QEAAXXZ
+; public: int __cdecl CHashTblAggr::AddHashTbl(class CSlotListShort * __ptr64) __ptr64
+?AddHashTbl@CHashTblAggr@@QEAAHPEAVCSlotListShort@@@Z
+; public: void __cdecl CUtlProps2::AddInternalFlags(unsigned long,unsigned long,unsigned long) __ptr64
+?AddInternalFlags@CUtlProps2@@QEAAXKKK@Z
+; public: virtual unsigned long __cdecl CClassFactory::AddRef(void) __ptr64
+?AddRef@CClassFactory@@UEAAKXZ
+; public: unsigned long __cdecl CEnum::AddRef(void) __ptr64
+?AddRef@CEnum@@QEAAKXZ
+; public: virtual unsigned long __cdecl CEnumConnectionPoints::AddRef(void) __ptr64
+?AddRef@CEnumConnectionPoints@@UEAAKXZ
+; public: virtual unsigned long __cdecl CEnumConnections::AddRef(void) __ptr64
+?AddRef@CEnumConnections@@UEAAKXZ
+; public: virtual unsigned long __cdecl CHeapDispenser::AddRef(void) __ptr64
+?AddRef@CHeapDispenser@@UEAAKXZ
+; public: virtual unsigned long __cdecl CRowsetConnectionPoint::AddRef(void) __ptr64
+?AddRef@CRowsetConnectionPoint@@UEAAKXZ
+; public: virtual unsigned long __cdecl CRowsetConnectionPointContainer::AddRef(void) __ptr64
+?AddRef@CRowsetConnectionPointContainer@@UEAAKXZ
+; private: void __cdecl CSlotListShort::AddSlotToList(struct tagSLOT * __ptr64) __ptr64
+?AddSlotToList@CSlotListShort@@AEAAXPEAUtagSLOT@@@Z
+; private: static unsigned long __cdecl CHashTbl::AdjustRange(unsigned long)
+?AdjustRange@CHashTbl@@CAKK@Z
+; public: virtual long __cdecl CRowsetConnectionPoint::Advise(struct IUnknown * __ptr64,unsigned long * __ptr64) __ptr64
+?Advise@CRowsetConnectionPoint@@UEAAJPEAUIUnknown@@PEAK@Z
+; protected: void __cdecl CWString::AllocBuffer(int) __ptr64
+?AllocBuffer@CWString@@IEAAXH@Z
+; protected: void __cdecl CWString::AllocCopy(class CWString & __ptr64,int,int,int)const  __ptr64
+?AllocCopy@CWString@@IEBAXAEAV1@HHH@Z
+; public: unsigned char * __ptr64 __cdecl CExtBuffer::AllocItems(unsigned __int64) __ptr64
+?AllocItems@CExtBuffer@@QEAAPEAE_K@Z
+; public: long __cdecl CBitArray::ArrayEmpty(void) __ptr64
+?ArrayEmpty@CBitArray@@QEAAJXZ
+; protected: void __cdecl CWString::AssignCopy(int,unsigned short const * __ptr64) __ptr64
+?AssignCopy@CWString@@IEAAXHPEBG@Z
+; private: unsigned long __cdecl CUtlPropInfo::CalcDescripBuffers(unsigned long,struct tagDBPROPINFOSET * __ptr64) __ptr64
+?CalcDescripBuffers@CUtlPropInfo@@AEAAKKPEAUtagDBPROPINFOSET@@@Z
+; public: static unsigned long __cdecl CHashTbl::CbHashTblSize(unsigned long)
+?CbHashTblSize@CHashTbl@@SAKK@Z
+; public: void __cdecl CWString::ClearError(void) __ptr64
+?ClearError@CWString@@QEAAXXZ
+; private: void __cdecl CUtlProps2::ClearMemberVars(void) __ptr64
+?ClearMemberVars@CUtlProps2@@AEAAXXZ
+; public: void __cdecl CUtlProps2::ClearPropSupported(unsigned long,unsigned long) __ptr64
+?ClearPropSupported@CUtlProps2@@QEAAXKK@Z
+; public: void __cdecl CUtlProps2::ClearPropertyInError(void) __ptr64
+?ClearPropertyInError@CUtlProps2@@QEAAXXZ
+; public: void __cdecl CUtlProps2::ClearPropsSupported(void) __ptr64
+?ClearPropsSupported@CUtlProps2@@QEAAXXZ
+; public: virtual long __cdecl CEnumConnectionPoints::Clone(struct IEnumConnectionPoints * __ptr64 * __ptr64) __ptr64
+?Clone@CEnumConnectionPoints@@UEAAJPEAPEAUIEnumConnectionPoints@@@Z
+; public: virtual long __cdecl CEnumConnections::Clone(struct IEnumConnections * __ptr64 * __ptr64) __ptr64
+?Clone@CEnumConnections@@UEAAJPEAPEAUIEnumConnections@@@Z
+; public: void __cdecl CExtBuffer::CompactExtBuffer(void) __ptr64
+?CompactExtBuffer@CExtBuffer@@QEAAXXZ
+; public: int __cdecl CWString::Compare(unsigned short const * __ptr64)const  __ptr64
+?Compare@CWString@@QEBAHPEBG@Z
+; long __cdecl CompareDBIDs(struct tagDBID const * __ptr64,struct tagDBID const * __ptr64)
+?CompareDBIDs@@YAJPEBUtagDBID@@0@Z
+; public: virtual int __cdecl CHeapDispenser::CompareResource(void * __ptr64,void * __ptr64) __ptr64
+?CompareResource@CHeapDispenser@@UEAAHPEAX0@Z
+; protected: void __cdecl CWString::ConcatCopy(int,unsigned short const * __ptr64,int,unsigned short const * __ptr64) __ptr64
+?ConcatCopy@CWString@@IEAAXHPEBGH0@Z
+; public: void __cdecl CWString::ConcatInPlace(int,unsigned short const * __ptr64) __ptr64
+?ConcatInPlace@CWString@@QEAAXHPEBG@Z
+; public: virtual int __cdecl CUtlProps2::ConflictsWithCurrent(unsigned long,unsigned long,struct tagVARIANT const & __ptr64) __ptr64
+?ConflictsWithCurrent@CUtlProps2@@UEAAHKKAEBUtagVARIANT@@@Z
+; public: long __cdecl CUtlProps2::ConvertRowsetIIDtoDBPROPSET(struct _GUID const * __ptr64,struct tagDBPROPSET * __ptr64) __ptr64
+?ConvertRowsetIIDtoDBPROPSET@CUtlProps2@@QEAAJPEBU_GUID@@PEAUtagDBPROPSET@@@Z
+; public: void __cdecl CUtlProps2::CopyAvailUPropSets(unsigned long * __ptr64,struct tagUPROPSET const * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?CopyAvailUPropSets@CUtlProps2@@QEAAXPEAKPEAPEBUtagUPROPSET@@0@Z
+; long __cdecl CopyDBIDs(struct tagDBID * __ptr64,struct tagDBID const * __ptr64)
+?CopyDBIDs@@YAJPEAUtagDBID@@PEBU1@@Z
+; public: void __cdecl CUtlProps2::CopyPropsInError(unsigned long * __ptr64) __ptr64
+?CopyPropsInError@CUtlProps2@@QEAAXPEAK@Z
+; public: void __cdecl CUtlProps2::CopyPropsInError(class CUtlProps2 * __ptr64) __ptr64
+?CopyPropsInError@CUtlProps2@@QEAAXPEAV1@@Z
+; public: void __cdecl CUtlProps2::CopyUPropInfo(unsigned long,struct tagUPROPINFO * __ptr64 * __ptr64) __ptr64
+?CopyUPropInfo@CUtlProps2@@QEAAXKPEAPEAUtagUPROPINFO@@@Z
+; public: void __cdecl CUtlProps2::CopyUPropSetsSupported(unsigned long * __ptr64) __ptr64
+?CopyUPropSetsSupported@CUtlProps2@@QEAAXPEAK@Z
+; public: long __cdecl CUtlProps2::CopyUPropVal(unsigned long,struct tagUPROPVAL * __ptr64,class CColumnIds * __ptr64) __ptr64
+?CopyUPropVal@CUtlProps2@@QEAAJKPEAUtagUPROPVAL@@PEAVCColumnIds@@@Z
+; public: virtual unsigned __int64 __cdecl CSlotListLong::CountOfBusySlots(void) __ptr64
+?CountOfBusySlots@CSlotListLong@@UEAA_KXZ
+; public: virtual unsigned __int64 __cdecl CSlotListShort::CountOfBusySlots(void) __ptr64
+?CountOfBusySlots@CSlotListShort@@UEAA_KXZ
+; public: virtual long __cdecl CHeapDispenser::CreateResource(void * __ptr64,unsigned long,void * __ptr64,void * __ptr64 * __ptr64,int * __ptr64) __ptr64
+?CreateResource@CHeapDispenser@@UEAAJPEAXK0PEAPEAXPEAH@Z
+; public: long __cdecl CExtBuffer::DWORDIntoExtBuffer(unsigned __int64) __ptr64
+?DWORDIntoExtBuffer@CExtBuffer@@QEAAJ_K@Z
+; private: void __cdecl CSlotListShort::DecoupleSlot(struct tagSLOT * __ptr64) __ptr64
+?DecoupleSlot@CSlotListShort@@AEAAXPEAUtagSLOT@@@Z
+; public: virtual long __cdecl CHashTbl::DeleteBmk(unsigned __int64) __ptr64
+?DeleteBmk@CHashTbl@@UEAAJ_K@Z
+; public: virtual long __cdecl CHashTblAggr::DeleteBmk(unsigned __int64) __ptr64
+?DeleteBmk@CHashTblAggr@@UEAAJ_K@Z
+; public: void __cdecl CExtBuffer::DeleteFromExtBuffer(unsigned __int64) __ptr64
+?DeleteFromExtBuffer@CExtBuffer@@QEAAX_K@Z
+; public: void __cdecl CExtBuffer::DeleteWithCompactFromExtBuffer(unsigned __int64) __ptr64
+?DeleteWithCompactFromExtBuffer@CExtBuffer@@QEAAX_K@Z
+; public: virtual long __cdecl CHeapDispenser::DestroyResource(void * __ptr64) __ptr64
+?DestroyResource@CHeapDispenser@@UEAAJPEAX@Z
+; public: long __cdecl CRowsetConnectionPointContainer::DoFcNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset * __ptr64,unsigned __int64,unsigned __int64,unsigned __int64 * __ptr64 const) __ptr64
+?DoFcNotify@CRowsetConnectionPointContainer@@QEAAJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PEAUIRowset@@_K3QEA_K@Z
+; public: long __cdecl CRowsetConnectionPoint::DoNotify(enum DBREASONENUM,enum DBEVENTPHASEENUM,enum ENOTIFICATIONTYPE,struct IRowset * __ptr64,union tagNOTIFYARGS * __ptr64) __ptr64
+?DoNotify@CRowsetConnectionPoint@@QEAAJW4DBREASONENUM@@W4DBEVENTPHASEENUM@@W4ENOTIFICATIONTYPE@@PEAUIRowset@@PEATtagNOTIFYARGS@@@Z
+; public: long __cdecl CRowsetConnectionPointContainer::DoRcNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset * __ptr64,unsigned __int64,unsigned __int64 * __ptr64 const) __ptr64
+?DoRcNotify@CRowsetConnectionPointContainer@@QEAAJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PEAUIRowset@@_KQEA_K@Z
+; public: long __cdecl CRowsetConnectionPointContainer::DoRscNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset * __ptr64) __ptr64
+?DoRscNotify@CRowsetConnectionPointContainer@@QEAAJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PEAUIRowset@@@Z
+; unsigned long __cdecl DwGetPlatformId(void)
+?DwGetPlatformId@@YAKXZ
+; public: class CWString  __cdecl CWString::ElementAt(unsigned short * __ptr64 const,int)const  __ptr64
+?ElementAt@CWString@@QEBA?AV1@QEAGH@Z
+; public: void __cdecl CWString::Empty(void) __ptr64
+?Empty@CWString@@QEAAXXZ
+; public: virtual long __cdecl CRowsetConnectionPointContainer::EnumConnectionPoints(struct IEnumConnectionPoints * __ptr64 * __ptr64) __ptr64
+?EnumConnectionPoints@CRowsetConnectionPointContainer@@UEAAJPEAPEAUIEnumConnectionPoints@@@Z
+; public: virtual long __cdecl CRowsetConnectionPoint::EnumConnections(struct IEnumConnections * __ptr64 * __ptr64) __ptr64
+?EnumConnections@CRowsetConnectionPoint@@UEAAJPEAPEAUIEnumConnections@@@Z
+; protected: long __cdecl CBaseObj::FInit(void) __ptr64
+?FInit@CBaseObj@@IEAAJXZ
+; public: long __cdecl CBitArray::FInit(unsigned __int64) __ptr64
+?FInit@CBitArray@@QEAAJ_K@Z
+; public: int __cdecl CExtBuffer::FInit(class CExtBuffer * __ptr64) __ptr64
+?FInit@CExtBuffer@@QEAAHPEAV1@@Z
+; public: int __cdecl CExtBuffer::FInit(unsigned __int64,unsigned __int64) __ptr64
+?FInit@CExtBuffer@@QEAAH_K0@Z
+; public: int __cdecl CExtBuffer::FInit(unsigned __int64,void * __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?FInit@CExtBuffer@@QEAAH_KPEAX00@Z
+; public: int __cdecl CHashTbl::FInit(unsigned short,class CSlotListShort * __ptr64,class IBookmarkObj * __ptr64) __ptr64
+?FInit@CHashTbl@@QEAAHGPEAVCSlotListShort@@PEAVIBookmarkObj@@@Z
+; public: int __cdecl CHashTblAggr::FInit(class CHashTbl * __ptr64) __ptr64
+?FInit@CHashTblAggr@@QEAAHPEAVCHashTbl@@@Z
+; public: virtual int __cdecl CSlotListLong::FInit(unsigned __int64,class ISlotList * __ptr64 * __ptr64,class IHashTbl * __ptr64 * __ptr64,unsigned __int64) __ptr64
+?FInit@CSlotListLong@@UEAAH_KPEAPEAVISlotList@@PEAPEAVIHashTbl@@0@Z
+; public: virtual int __cdecl CSlotListShort::FInit(unsigned __int64,class ISlotList * __ptr64 * __ptr64,class IHashTbl * __ptr64 * __ptr64,unsigned __int64) __ptr64
+?FInit@CSlotListShort@@UEAAH_KPEAPEAVISlotList@@PEAPEAVIHashTbl@@0@Z
+; public: long __cdecl CUtlPropInfo::FInit(void) __ptr64
+?FInit@CUtlPropInfo@@QEAAJXZ
+; public: virtual long __cdecl CUtlProps2::FInit(class CUtlProps2 * __ptr64) __ptr64
+?FInit@CUtlProps2@@UEAAJPEAV1@@Z
+; public: virtual long __cdecl CUtlPropsFastLookup2::FInit(class CUtlPropsFastLookup2 * __ptr64) __ptr64
+?FInit@CUtlPropsFastLookup2@@UEAAJPEAV1@@Z
+; public: int __cdecl CVLHeap::FInit(unsigned __int64) __ptr64
+?FInit@CVLHeap@@QEAAH_K@Z
+; public: void __cdecl CGenericPooler::FInitializeGPStructures(void) __ptr64
+?FInitializeGPStructures@CGenericPooler@@QEAAXXZ
+; public: int __cdecl CUtlProps2::FIsDefaultValue(unsigned long,unsigned long,struct tagVARIANT * __ptr64) __ptr64
+?FIsDefaultValue@CUtlProps2@@QEAAHKKPEAUtagVARIANT@@@Z
+; public: virtual int __cdecl CUtlProps2::FIsValidColId(struct tagDBPROP * __ptr64) __ptr64
+?FIsValidColId@CUtlProps2@@UEAAHPEAUtagDBPROP@@@Z
+; public: long __cdecl CUtlProps2::FillDefaultValues(unsigned long) __ptr64
+?FillDefaultValues@CUtlProps2@@QEAAJK@Z
+; public: virtual long __cdecl CRowsetConnectionPointContainer::FindConnectionPoint(struct _GUID const & __ptr64,struct IConnectionPoint * __ptr64 * __ptr64) __ptr64
+?FindConnectionPoint@CRowsetConnectionPointContainer@@UEAAJAEBU_GUID@@PEAPEAUIConnectionPoint@@@Z
+; public: void __cdecl CConnectData::ForgetEvent(enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
+?ForgetEvent@CConnectData@@QEAAXW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; private: void __cdecl CRowsetConnectionPoint::ForgetEvent(enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
+?ForgetEvent@CRowsetConnectionPoint@@AEAAXW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; public: void __cdecl CConnectData::ForgetReason(enum DBREASONENUM) __ptr64
+?ForgetReason@CConnectData@@QEAAXW4DBREASONENUM@@@Z
+; public: int __cdecl CWString::FoundError(void)const  __ptr64
+?FoundError@CWString@@QEBAHXZ
+; public: void __cdecl CExtBuffer::Free(void) __ptr64
+?Free@CExtBuffer@@QEAAXXZ
+; void __cdecl FreeDBIDs(struct tagDBID * __ptr64)
+?FreeDBIDs@@YAXPEAUtagDBID@@@Z
+; public: void __cdecl CWString::FreeExtra(void) __ptr64
+?FreeExtra@CWString@@QEAAXXZ
+; private: void __cdecl CUtlProps2::FreeMemory(void) __ptr64
+?FreeMemory@CUtlProps2@@AEAAXXZ
+; public: int __cdecl CWString::GetAllocLength(void)const  __ptr64
+?GetAllocLength@CWString@@QEBAHXZ
+; public: enum EBaseObjectType  __cdecl CBaseObj::GetBaseObjectType(void) __ptr64
+?GetBaseObjectType@CBaseObj@@QEAA?AW4EBaseObjectType@@XZ
+; public: unsigned short * __ptr64 __cdecl CBaseObj::GetBaseObjectTypeName(void) __ptr64
+?GetBaseObjectTypeName@CBaseObj@@QEAAPEAGXZ
+; public: void __cdecl CBaseObjZombie::GetBokoTimestamp(void) __ptr64
+?GetBokoTimestamp@CBaseObjZombie@@QEAAXXZ
+; public: unsigned short * __ptr64 __cdecl CWString::GetBuffer(int) __ptr64
+?GetBuffer@CWString@@QEAAPEAGH@Z
+; public: unsigned short * __ptr64 __cdecl CWString::GetBufferSetLength(int) __ptr64
+?GetBufferSetLength@CWString@@QEAAPEAGH@Z
+; public: struct tagCONNECTDATA * __ptr64 __cdecl CConnectData::GetCd(void) __ptr64
+?GetCd@CConnectData@@QEAAPEAUtagCONNECTDATA@@XZ
+; public: virtual long __cdecl CRowsetConnectionPoint::GetConnectionInterface(struct _GUID * __ptr64) __ptr64
+?GetConnectionInterface@CRowsetConnectionPoint@@UEAAJPEAU_GUID@@@Z
+; public: virtual long __cdecl CRowsetConnectionPoint::GetConnectionPointContainer(struct IConnectionPointContainer * __ptr64 * __ptr64) __ptr64
+?GetConnectionPointContainer@CRowsetConnectionPoint@@UEAAJPEAPEAUIConnectionPointContainer@@@Z
+; private: unsigned long __cdecl CUtlProps2::GetCountofColids(struct tagUPROP * __ptr64) __ptr64
+?GetCountofColids@CUtlProps2@@AEAAKPEAUtagUPROP@@@Z
+; private: unsigned long __cdecl CUtlProps2::GetCountofWritablePropsInPropSet(unsigned long) __ptr64
+?GetCountofWritablePropsInPropSet@CUtlProps2@@AEAAKK@Z
+; public: class CCriticalSection * __ptr64 * __ptr64 __cdecl CBaseObj::GetCriticalSection(void) __ptr64
+?GetCriticalSection@CBaseObj@@QEAAPEAPEAVCCriticalSection@@XZ
+; public: unsigned __int64 __cdecl CExtBuffer::GetDWORDOfExtBuffer(unsigned __int64) __ptr64
+?GetDWORDOfExtBuffer@CExtBuffer@@QEAA_K_K@Z
+; public: unsigned short __cdecl CUtlProps2::GetExpectedVarType(unsigned long,unsigned long) __ptr64
+?GetExpectedVarType@CUtlProps2@@QEAAGKK@Z
+; public: struct _GUID const * __ptr64 __cdecl CUtlProps2::GetGuid(unsigned long) __ptr64
+?GetGuid@CUtlProps2@@QEAAPEBU_GUID@@K@Z
+; public: class CHeapDispenser * __ptr64 __cdecl CGenericPooler::GetHeapDispenser(void) __ptr64
+?GetHeapDispenser@CGenericPooler@@QEAAPEAVCHeapDispenser@@XZ
+; public: struct IGPHolder * __ptr64 __cdecl CGenericPooler::GetHeapHolder(void) __ptr64
+?GetHeapHolder@CGenericPooler@@QEAAPEAUIGPHolder@@XZ
+; public: virtual long __cdecl CUtlProps2::GetIndexofPropIdinPropSet(unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
+?GetIndexofPropIdinPropSet@CUtlProps2@@UEAAJKKPEAK@Z
+; protected: virtual long __cdecl CUtlPropsFastLookup2::GetIndexofPropIdinPropSet(unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
+?GetIndexofPropIdinPropSet@CUtlPropsFastLookup2@@MEAAJKKPEAK@Z
+; public: virtual long __cdecl CUtlProps2::GetIndexofPropSet(struct _GUID const * __ptr64,unsigned long * __ptr64) __ptr64
+?GetIndexofPropSet@CUtlProps2@@UEAAJPEBU_GUID@@PEAK@Z
+; public: unsigned long __cdecl CUtlProps2::GetInternalFlags(unsigned long,unsigned long) __ptr64
+?GetInternalFlags@CUtlProps2@@QEAAKKK@Z
+; public: unsigned long __cdecl CUtlProps2::GetInternalStatus(unsigned long,unsigned long) __ptr64
+?GetInternalStatus@CUtlProps2@@QEAAKKK@Z
+; public: unsigned __int64 __cdecl CExtBuffer::GetItemCount(void)const  __ptr64
+?GetItemCount@CExtBuffer@@QEBA_KXZ
+; public: unsigned __int64 __cdecl CExtBuffer::GetItemMax(void)const  __ptr64
+?GetItemMax@CExtBuffer@@QEBA_KXZ
+; public: void __cdecl CExtBuffer::GetItemOfExtBuffer(unsigned __int64,void * __ptr64) __ptr64
+?GetItemOfExtBuffer@CExtBuffer@@QEAAX_KPEAX@Z
+; public: unsigned __int64 __cdecl CExtBuffer::GetItemSize(void)const  __ptr64
+?GetItemSize@CExtBuffer@@QEBA_KXZ
+; public: void __cdecl CExtBuffer::GetLastItemHandle(unsigned __int64 & __ptr64) __ptr64
+?GetLastItemHandle@CExtBuffer@@QEAAXAEA_K@Z
+; public: int __cdecl CWString::GetLength(void)const  __ptr64
+?GetLength@CWString@@QEBAHXZ
+; public: unsigned short * __ptr64 __cdecl CExtBuffer::GetNameFromOffset(unsigned __int64) __ptr64
+?GetNameFromOffset@CExtBuffer@@QEAAPEAG_K@Z
+; public: virtual long __cdecl CSlotListLong::GetNextSlots(unsigned __int64,unsigned __int64,unsigned __int64 * __ptr64) __ptr64
+?GetNextSlots@CSlotListLong@@UEAAJ_K0PEA_K@Z
+; public: virtual long __cdecl CSlotListShort::GetNextSlots(unsigned __int64,unsigned __int64,unsigned __int64 * __ptr64) __ptr64
+?GetNextSlots@CSlotListShort@@UEAAJ_K0PEA_K@Z
+; private: void * __ptr64 __cdecl CEnum::GetNthElement(unsigned long) __ptr64
+?GetNthElement@CEnum@@AEAAPEAXK@Z
+; private: struct IUnknown * __ptr64 __cdecl CEnum::GetNthUnknown(unsigned long) __ptr64
+?GetNthUnknown@CEnum@@AEAAPEAUIUnknown@@K@Z
+; public: struct IUnknown * __ptr64 __cdecl CBaseObj::GetOuterUnknown(void) __ptr64
+?GetOuterUnknown@CBaseObj@@QEAAPEAUIUnknown@@XZ
+; public: unsigned long __cdecl CUtlProps2::GetPropID(unsigned long,unsigned long) __ptr64
+?GetPropID@CUtlProps2@@QEAAKKK@Z
+; public: unsigned long __cdecl CUtlProps2::GetPropOption(unsigned long,unsigned long) __ptr64
+?GetPropOption@CUtlProps2@@QEAAKKK@Z
+; public: unsigned long __cdecl CUtlProps2::GetPropStatus(struct tagUPROPVAL * __ptr64) __ptr64
+?GetPropStatus@CUtlProps2@@QEAAKPEAUtagUPROPVAL@@@Z
+; public: long __cdecl CUtlProps2::GetPropValue(struct _GUID const * __ptr64,unsigned long,struct tagVARIANT * __ptr64) __ptr64
+?GetPropValue@CUtlProps2@@QEAAJPEBU_GUID@@KPEAUtagVARIANT@@@Z
+; public: long __cdecl CUtlProps2::GetProperties(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64) __ptr64
+?GetProperties@CUtlProps2@@QEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@@Z
+; public: long __cdecl CUtlProps2::GetProperties(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64,struct _GUID const * __ptr64) __ptr64
+?GetProperties@CUtlProps2@@QEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@PEBU_GUID@@@Z
+; public: long __cdecl CUtlProps2::GetPropertiesArgChk(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64) __ptr64
+?GetPropertiesArgChk@CUtlProps2@@QEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@@Z
+; public: long __cdecl CUtlPropInfo::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPINFOSET * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetPropertyInfo@CUtlPropInfo@@QEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPINFOSET@@PEAPEAG@Z
+; private: long __cdecl CUtlPropInfo::GetPropertySetIndex(struct _GUID const * __ptr64) __ptr64
+?GetPropertySetIndex@CUtlPropInfo@@AEAAJPEBU_GUID@@@Z
+; public: unsigned long * __ptr64 __cdecl CUtlProps2::GetPropsInErrorPtr(void) __ptr64
+?GetPropsInErrorPtr@CUtlProps2@@QEAAPEAKXZ
+; public: void * __ptr64 __cdecl CExtBuffer::GetPtrOfExtBuffer(void) __ptr64
+?GetPtrOfExtBuffer@CExtBuffer@@QEAAPEAXXZ
+; public: void * __ptr64 __cdecl CExtBuffer::GetPtrOfExtBuffer(unsigned __int64) __ptr64
+?GetPtrOfExtBuffer@CExtBuffer@@QEAAPEAX_K@Z
+; public: long __cdecl CGenericPooler::GetResource(void * __ptr64 * __ptr64,struct IGPHolder * __ptr64,struct IGPDispenser * __ptr64,void * __ptr64 * __ptr64,void * __ptr64) __ptr64
+?GetResource@CGenericPooler@@QEAAJPEAPEAXPEAUIGPHolder@@PEAUIGPDispenser@@0PEAX@Z
+; public: virtual struct tagRowBuff * __ptr64 __cdecl CSlotListLong::GetRowBuff(unsigned __int64) __ptr64
+?GetRowBuff@CSlotListLong@@UEAAPEAUtagRowBuff@@_K@Z
+; public: virtual struct tagRowBuff * __ptr64 __cdecl CSlotListShort::GetRowBuff(unsigned __int64) __ptr64
+?GetRowBuff@CSlotListShort@@UEAAPEAUtagRowBuff@@_K@Z
+; public: unsigned long __cdecl CUtlProps2::GetStatus(unsigned long,unsigned long) __ptr64
+?GetStatus@CUtlProps2@@QEAAKKK@Z
+; public: void __cdecl CBaseObjBoko::GetTimestamp(unsigned long * __ptr64) __ptr64
+?GetTimestamp@CBaseObjBoko@@QEAAXPEAK@Z
+; private: long __cdecl CUtlPropInfo::GetUPropInfoPtr(unsigned long,unsigned long,struct tagUPROPINFO * __ptr64 * __ptr64) __ptr64
+?GetUPropInfoPtr@CUtlPropInfo@@AEAAJKKPEAPEAUtagUPROPINFO@@@Z
+; protected: unsigned long __cdecl CUtlPropInfo::GetUPropSetCount(void) __ptr64
+?GetUPropSetCount@CUtlPropInfo@@IEAAKXZ
+; public: unsigned long __cdecl CUtlProps2::GetUPropSetCount(void) __ptr64
+?GetUPropSetCount@CUtlProps2@@QEAAKXZ
+; protected: virtual unsigned long __cdecl CUtlProps2::GetUPropValIndex(unsigned long,unsigned long) __ptr64
+?GetUPropValIndex@CUtlProps2@@MEAAKKK@Z
+; protected: virtual unsigned long __cdecl CUtlPropsFastLookup2::GetUPropValIndex(unsigned long,unsigned long) __ptr64
+?GetUPropValIndex@CUtlPropsFastLookup2@@MEAAKKK@Z
+; public: short __cdecl CUtlProps2::GetValBool(unsigned long,unsigned long)const  __ptr64
+?GetValBool@CUtlProps2@@QEBAFKK@Z
+; public: void * __ptr64 __cdecl CUtlProps2::GetValByRef(unsigned long,unsigned long)const  __ptr64
+?GetValByRef@CUtlProps2@@QEBAPEAXKK@Z
+; public: long __cdecl CUtlProps2::GetValLong(unsigned long,unsigned long)const  __ptr64
+?GetValLong@CUtlProps2@@QEBAJKK@Z
+; public: __int64 __cdecl CUtlProps2::GetValLongLong(unsigned long,unsigned long)const  __ptr64
+?GetValLongLong@CUtlProps2@@QEBA_JKK@Z
+; public: short __cdecl CUtlProps2::GetValShort(unsigned long,unsigned long)const  __ptr64
+?GetValShort@CUtlProps2@@QEBAFKK@Z
+; public: unsigned short const * __ptr64 __cdecl CUtlProps2::GetValString(unsigned long,unsigned long) __ptr64
+?GetValString@CUtlProps2@@QEAAPEBGKK@Z
+; public: struct tagVARIANT * __ptr64 __cdecl CUtlProps2::GetVariant(unsigned long,unsigned long) __ptr64
+?GetVariant@CUtlProps2@@QEAAPEAUtagVARIANT@@KK@Z
+; public: virtual int __cdecl CHeapDispenser::HashKey(void * __ptr64,unsigned long,int * __ptr64) __ptr64
+?HashKey@CHeapDispenser@@UEAAHPEAXKPEAH@Z
+; public: long __cdecl CRowsetConnectionPointContainer::Init(void) __ptr64
+?Init@CRowsetConnectionPointContainer@@QEAAJXZ
+; protected: void __cdecl CWString::Init(void) __ptr64
+?Init@CWString@@IEAAXXZ
+; public: virtual long __cdecl CHashTbl::InsertFindBmk(int,unsigned __int64,unsigned __int64,unsigned char * __ptr64,unsigned __int64 * __ptr64) __ptr64
+?InsertFindBmk@CHashTbl@@UEAAJH_K0PEAEPEA_K@Z
+; public: virtual long __cdecl CHashTblAggr::InsertFindBmk(int,unsigned __int64,unsigned __int64,unsigned char * __ptr64,unsigned __int64 * __ptr64) __ptr64
+?InsertFindBmk@CHashTblAggr@@UEAAJH_K0PEAEPEA_K@Z
+; public: long __cdecl CExtBuffer::InsertIntoExtBuffer(void * __ptr64,unsigned __int64 & __ptr64) __ptr64
+?InsertIntoExtBuffer@CExtBuffer@@QEAAJPEAXAEA_K@Z
+; public: int __cdecl CUtlProps2::IsEmpty(unsigned long,unsigned long) __ptr64
+?IsEmpty@CUtlProps2@@QEAAHKK@Z
+; public: int __cdecl CWString::IsEmpty(void)const  __ptr64
+?IsEmpty@CWString@@QEBAHXZ
+; public: int __cdecl CUtlProps2::IsPropSet(struct _GUID const * __ptr64,unsigned long) __ptr64
+?IsPropSet@CUtlProps2@@QEAAHPEBU_GUID@@K@Z
+; public: int __cdecl CUtlProps2::IsRequiredFalse(unsigned long,unsigned long) __ptr64
+?IsRequiredFalse@CUtlProps2@@QEAAHKK@Z
+; public: int __cdecl CUtlProps2::IsRequiredTrue(unsigned long,unsigned long) __ptr64
+?IsRequiredTrue@CUtlProps2@@QEAAHKK@Z
+; public: int __cdecl CUtlProps2::IsSetIfCan(unsigned long,unsigned long) __ptr64
+?IsSetIfCan@CUtlProps2@@QEAAHKK@Z
+; public: long __cdecl CBitArray::IsSlotSet(unsigned __int64) __ptr64
+?IsSlotSet@CBitArray@@QEAAJ_K@Z
+; public: int __cdecl CUtlProps2::IsTrue(unsigned long,unsigned long) __ptr64
+?IsTrue@CUtlProps2@@QEAAHKK@Z
+; public: int __cdecl CVLHeap::IsVLAlloc(void * __ptr64) __ptr64
+?IsVLAlloc@CVLHeap@@QEAAHPEAX@Z
+; public: virtual long __cdecl CSlotListLong::IsValidSlot(unsigned __int64) __ptr64
+?IsValidSlot@CSlotListLong@@UEAAJ_K@Z
+; public: virtual long __cdecl CSlotListShort::IsValidSlot(unsigned __int64) __ptr64
+?IsValidSlot@CSlotListShort@@UEAAJ_K@Z
+; public: int __cdecl CBaseObjBoko::IsZombie(unsigned long) __ptr64
+?IsZombie@CBaseObjBoko@@QEAAHK@Z
+; public: int __cdecl CBaseObjZombie::IsZombie(void) __ptr64
+?IsZombie@CBaseObjZombie@@QEAAHXZ
+; unsigned long __cdecl LoadRCData(void * __ptr64,unsigned int,unsigned short * __ptr64,unsigned long)
+?LoadRCData@@YAKPEAXIPEAGK@Z
+; long __cdecl LoadResourceDLL(unsigned short * __ptr64,unsigned short * __ptr64,void * __ptr64,void * __ptr64 * __ptr64)
+?LoadResourceDLL@@YAJPEAG0PEAXPEAPEAX@Z
+; public: int __cdecl CWString::LoadStringW(void * __ptr64,unsigned int) __ptr64
+?LoadStringW@CWString@@QEAAHPEAXI@Z
+; public: virtual long __cdecl CClassFactory::LockServer(int) __ptr64
+?LockServer@CClassFactory@@UEAAJH@Z
+; public: void __cdecl CBaseObjBoko::MakeZombies(void) __ptr64
+?MakeZombies@CBaseObjBoko@@QEAAXXZ
+; public: class CWString  __cdecl CWString::Mid(int)const  __ptr64
+?Mid@CWString@@QEBA?AV1@H@Z
+; public: class CWString  __cdecl CWString::Mid(int,int)const  __ptr64
+?Mid@CWString@@QEBA?AV1@HH@Z
+; public: long __cdecl CEnum::Next(unsigned long,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Next@CEnum@@QEAAJKPEAPEAXPEAK@Z
+; public: virtual long __cdecl CEnumConnectionPoints::Next(unsigned long,struct IConnectionPoint * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Next@CEnumConnectionPoints@@UEAAJKPEAPEAUIConnectionPoint@@PEAK@Z
+; public: virtual long __cdecl CEnumConnections::Next(unsigned long,struct tagCONNECTDATA * __ptr64,unsigned long * __ptr64) __ptr64
+?Next@CEnumConnections@@UEAAJKPEAUtagCONNECTDATA@@PEAK@Z
+; public: virtual long __cdecl CSlotListLong::NextBusySlot(unsigned __int64 * __ptr64) __ptr64
+?NextBusySlot@CSlotListLong@@UEAAJPEA_K@Z
+; public: virtual long __cdecl CSlotListShort::NextBusySlot(unsigned __int64 * __ptr64) __ptr64
+?NextBusySlot@CSlotListShort@@UEAAJPEA_K@Z
+; public: virtual long __cdecl CSlotListLong::NoBusySlots(void) __ptr64
+?NoBusySlots@CSlotListLong@@UEAAJXZ
+; public: virtual long __cdecl CSlotListShort::NoBusySlots(void) __ptr64
+?NoBusySlots@CSlotListShort@@UEAAJXZ
+; public: unsigned long __cdecl CWString::NumElements(unsigned short * __ptr64 const)const  __ptr64
+?NumElements@CWString@@QEBAKQEAG@Z
+; int __cdecl OLEDBGetCharTypeW(unsigned long,unsigned short,unsigned short * __ptr64)
+?OLEDBGetCharTypeW@@YAHKGPEAG@Z
+; public: short __cdecl CUtlProps2::OkToPersistSensitiveAuthInfo(void) __ptr64
+?OkToPersistSensitiveAuthInfo@CUtlProps2@@QEAAFXZ
+; int __cdecl OnUnicodeSystem(void)
+?OnUnicodeSystem@@YAHXZ
+; public: virtual long __cdecl CClassFactory::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CClassFactory@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: long __cdecl CEnum::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64,struct IUnknown * __ptr64) __ptr64
+?QueryInterface@CEnum@@QEAAJAEBU_GUID@@PEAPEAXPEAUIUnknown@@@Z
+; public: virtual long __cdecl CEnumConnectionPoints::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CEnumConnectionPoints@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CEnumConnections::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CEnumConnections@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CHeapDispenser::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CHeapDispenser@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CRowsetConnectionPoint::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CRowsetConnectionPoint@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CRowsetConnectionPointContainer::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CRowsetConnectionPointContainer@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CHeapDispenser::RateRes(void * __ptr64,unsigned long,void * __ptr64,int * __ptr64) __ptr64
+?RateRes@CHeapDispenser@@UEAAJPEAXK0PEAH@Z
+; public: virtual void __cdecl CSlotListLong::RecordInternalUse(void) __ptr64
+?RecordInternalUse@CSlotListLong@@UEAAXXZ
+; public: virtual void __cdecl CSlotListShort::RecordInternalUse(void) __ptr64
+?RecordInternalUse@CSlotListShort@@UEAAXXZ
+; long __cdecl RegisterServer(void * __ptr64 const,void * __ptr64 const,unsigned long,struct tagREGENTRIES const * __ptr64 const)
+?RegisterServer@@YAJQEAX0KQEBUtagREGENTRIES@@@Z
+; public: virtual unsigned long __cdecl CClassFactory::Release(void) __ptr64
+?Release@CClassFactory@@UEAAKXZ
+; public: unsigned long __cdecl CEnum::Release(void) __ptr64
+?Release@CEnum@@QEAAKXZ
+; public: virtual unsigned long __cdecl CEnumConnectionPoints::Release(void) __ptr64
+?Release@CEnumConnectionPoints@@UEAAKXZ
+; public: virtual unsigned long __cdecl CEnumConnections::Release(void) __ptr64
+?Release@CEnumConnections@@UEAAKXZ
+; public: virtual unsigned long __cdecl CHeapDispenser::Release(void) __ptr64
+?Release@CHeapDispenser@@UEAAKXZ
+; public: virtual unsigned long __cdecl CRowsetConnectionPoint::Release(void) __ptr64
+?Release@CRowsetConnectionPoint@@UEAAKXZ
+; public: virtual unsigned long __cdecl CRowsetConnectionPointContainer::Release(void) __ptr64
+?Release@CRowsetConnectionPointContainer@@UEAAKXZ
+; public: void __cdecl CWString::ReleaseBuffer(int) __ptr64
+?ReleaseBuffer@CWString@@QEAAXH@Z
+; public: void __cdecl CGenericPooler::ReleaseHolders(void) __ptr64
+?ReleaseHolders@CGenericPooler@@QEAAXXZ
+; public: void __cdecl CGenericPooler::ReleaseResource(void * __ptr64,struct IGPHolder * __ptr64,struct IGPDispenser * __ptr64,void * __ptr64) __ptr64
+?ReleaseResource@CGenericPooler@@QEAAXPEAXPEAUIGPHolder@@PEAUIGPDispenser@@0@Z
+; public: virtual unsigned __int64 __cdecl CSlotListLong::ReleaseSlots(unsigned __int64,unsigned __int64) __ptr64
+?ReleaseSlots@CSlotListLong@@UEAA_K_K0@Z
+; public: virtual unsigned __int64 __cdecl CSlotListShort::ReleaseSlots(unsigned __int64,unsigned __int64) __ptr64
+?ReleaseSlots@CSlotListShort@@UEAA_K_K0@Z
+; public: void __cdecl CUtlProps2::RemoveInternalFlags(unsigned long,unsigned long,unsigned long) __ptr64
+?RemoveInternalFlags@CUtlProps2@@QEAAXKKK@Z
+; public: void __cdecl CWString::ReplaceAt(int,int,unsigned short const * __ptr64,int) __ptr64
+?ReplaceAt@CWString@@QEAAXHHPEBGH@Z
+; public: long __cdecl CExtBuffer::ReplaceInExtBuffer(unsigned __int64,unsigned __int64,void const * __ptr64,unsigned __int64) __ptr64
+?ReplaceInExtBuffer@CExtBuffer@@QEAAJ_K0PEBX0@Z
+; public: int __cdecl CConnectData::Reset(void) __ptr64
+?Reset@CConnectData@@QEAAHXZ
+; public: long __cdecl CEnum::Reset(void) __ptr64
+?Reset@CEnum@@QEAAJXZ
+; public: virtual long __cdecl CEnumConnectionPoints::Reset(void) __ptr64
+?Reset@CEnumConnectionPoints@@UEAAJXZ
+; public: virtual long __cdecl CEnumConnections::Reset(void) __ptr64
+?Reset@CEnumConnections@@UEAAJXZ
+; public: void __cdecl CBitArray::ResetAllSlots(void) __ptr64
+?ResetAllSlots@CBitArray@@QEAAXXZ
+; public: virtual void __cdecl CSlotListLong::ResetBusySlotIteration(void) __ptr64
+?ResetBusySlotIteration@CSlotListLong@@UEAAXXZ
+; public: virtual void __cdecl CSlotListShort::ResetBusySlotIteration(void) __ptr64
+?ResetBusySlotIteration@CSlotListShort@@UEAAXXZ
+; public: virtual long __cdecl CHeapDispenser::ResetResource(void * __ptr64) __ptr64
+?ResetResource@CHeapDispenser@@UEAAJPEAX@Z
+; public: void __cdecl CBitArray::ResetSlot(unsigned __int64) __ptr64
+?ResetSlot@CBitArray@@QEAAX_K@Z
+; public: void __cdecl CBitArray::ResetSlots(unsigned __int64,unsigned __int64) __ptr64
+?ResetSlots@CBitArray@@QEAAX_K0@Z
+; public: void __cdecl CUtlProps2::RestoreInternalFlags(unsigned long,unsigned long) __ptr64
+?RestoreInternalFlags@CUtlProps2@@QEAAXKK@Z
+; public: void __cdecl CUtlProps2::RestoreInternalStatus(unsigned long,unsigned long) __ptr64
+?RestoreInternalStatus@CUtlProps2@@QEAAXKK@Z
+; private: void __cdecl CUtlProps2::RetrieveColumnIdProps(struct tagDBPROP * __ptr64,struct tagUPROPVAL * __ptr64,unsigned long * __ptr64) __ptr64
+?RetrieveColumnIdProps@CUtlProps2@@AEAAXPEAUtagDBPROP@@PEAUtagUPROPVAL@@PEAK@Z
+; public: virtual unsigned __int64 __cdecl CSlotListLong::SLSlotCapacity(void) __ptr64
+?SLSlotCapacity@CSlotListLong@@UEAA_KXZ
+; public: virtual unsigned __int64 __cdecl CSlotListShort::SLSlotCapacity(void) __ptr64
+?SLSlotCapacity@CSlotListShort@@UEAA_KXZ
+; protected: static void __cdecl CWString::SafeDelete(unsigned short * __ptr64)
+?SafeDelete@CWString@@KAXPEAG@Z
+; protected: static int __cdecl CWString::SafeStrlen(unsigned short const * __ptr64)
+?SafeStrlen@CWString@@KAHPEBG@Z
+; public: void __cdecl CUtlProps2::SaveInternalFlags(unsigned long,unsigned long) __ptr64
+?SaveInternalFlags@CUtlProps2@@QEAAXKK@Z
+; public: void __cdecl CUtlProps2::SaveInternalStatus(unsigned long,unsigned long) __ptr64
+?SaveInternalStatus@CUtlProps2@@QEAAXKK@Z
+; public: void __cdecl CWString::SetAt(int,unsigned short) __ptr64
+?SetAt@CWString@@QEAAXHG@Z
+; public: void __cdecl CBaseObjZombie::SetBoko(class CBaseObjBoko * __ptr64) __ptr64
+?SetBoko@CBaseObjZombie@@QEAAXPEAVCBaseObjBoko@@@Z
+; public: virtual long __cdecl CUtlProps2::SetCombinedPassThrough(struct tagDBPROPSET const * __ptr64,unsigned long) __ptr64
+?SetCombinedPassThrough@CUtlProps2@@UEAAJPEBUtagDBPROPSET@@K@Z
+; public: void __cdecl CWString::SetError(void) __ptr64
+?SetError@CWString@@QEAAXXZ
+; public: void __cdecl CUtlProps2::SetInternalStatus(unsigned long,unsigned long,unsigned long) __ptr64
+?SetInternalStatus@CUtlProps2@@QEAAXKKK@Z
+; public: void __cdecl CExtBuffer::SetItemCount(unsigned __int64) __ptr64
+?SetItemCount@CExtBuffer@@QEAAX_K@Z
+; public: virtual long __cdecl CUtlProps2::SetPassThrough(struct tagDBPROPSET const * __ptr64) __ptr64
+?SetPassThrough@CUtlProps2@@UEAAJPEBUtagDBPROPSET@@@Z
+; public: long __cdecl CEnum::SetPos(unsigned long) __ptr64
+?SetPos@CEnum@@QEAAJK@Z
+; public: long __cdecl CEnumConnectionPoints::SetPos(unsigned long) __ptr64
+?SetPos@CEnumConnectionPoints@@QEAAJK@Z
+; public: long __cdecl CEnumConnections::SetPos(unsigned long) __ptr64
+?SetPos@CEnumConnections@@QEAAJK@Z
+; public: void __cdecl CUtlProps2::SetPropOption(unsigned long,unsigned long,unsigned long) __ptr64
+?SetPropOption@CUtlProps2@@QEAAXKKK@Z
+; public: void __cdecl CUtlProps2::SetPropRequired(unsigned long,unsigned long,short) __ptr64
+?SetPropRequired@CUtlProps2@@QEAAXKKF@Z
+; public: void __cdecl CUtlProps2::SetPropSupported(unsigned long,unsigned long) __ptr64
+?SetPropSupported@CUtlProps2@@QEAAXKK@Z
+; public: long __cdecl CUtlProps2::SetPropValue(struct _GUID const * __ptr64,unsigned long,struct tagVARIANT * __ptr64) __ptr64
+?SetPropValue@CUtlProps2@@QEAAJPEBU_GUID@@KPEAUtagVARIANT@@@Z
+; public: long __cdecl CUtlProps2::SetProperties(unsigned long,struct tagDBPROPSET const * __ptr64 const,int) __ptr64
+?SetProperties@CUtlProps2@@QEAAJKQEBUtagDBPROPSET@@H@Z
+; public: static long __cdecl CUtlProps2::SetPropertiesArgChk(unsigned long,struct tagDBPROPSET const * __ptr64 const)
+?SetPropertiesArgChk@CUtlProps2@@SAJKQEBUtagDBPROPSET@@@Z
+; private: long __cdecl CUtlProps2::SetProperty(unsigned long,unsigned long,struct tagDBPROP * __ptr64) __ptr64
+?SetProperty@CUtlProps2@@AEAAJKKPEAUtagDBPROP@@@Z
+; public: void __cdecl CUtlProps2::SetPropertyInError(unsigned long,unsigned long) __ptr64
+?SetPropertyInError@CUtlProps2@@QEAAXKK@Z
+; public: void __cdecl CUtlProps2::SetPropertyStatus(unsigned long,struct tagDBPROPSET const * __ptr64 const) __ptr64
+?SetPropertyStatus@CUtlProps2@@QEAAXKQEBUtagDBPROPSET@@@Z
+; private: void __cdecl CRowsetConnectionPoint::SetReasons(void) __ptr64
+?SetReasons@CRowsetConnectionPoint@@AEAAXXZ
+; public: long __cdecl CBitArray::SetSlot(unsigned __int64) __ptr64
+?SetSlot@CBitArray@@QEAAJ_K@Z
+; public: long __cdecl CBitArray::SetSlots(unsigned __int64,unsigned __int64) __ptr64
+?SetSlots@CBitArray@@QEAAJ_K0@Z
+; public: void __cdecl CUtlProps2::SetStatus(unsigned long,unsigned long,unsigned long) __ptr64
+?SetStatus@CUtlProps2@@QEAAXKKK@Z
+; protected: void __cdecl CUtlPropInfo::SetUPropSetCount(unsigned long) __ptr64
+?SetUPropSetCount@CUtlPropInfo@@IEAAXK@Z
+; public: void __cdecl CUtlProps2::SetUPropSetCount(unsigned long) __ptr64
+?SetUPropSetCount@CUtlProps2@@QEAAXK@Z
+; public: void __cdecl CUtlProps2::SetValBool(unsigned long,unsigned long,short) __ptr64
+?SetValBool@CUtlProps2@@QEAAXKKF@Z
+; public: void __cdecl CUtlProps2::SetValByRef(unsigned long,unsigned long,void * __ptr64) __ptr64
+?SetValByRef@CUtlProps2@@QEAAXKKPEAX@Z
+; public: void __cdecl CUtlProps2::SetValEmpty(unsigned long,unsigned long) __ptr64
+?SetValEmpty@CUtlProps2@@QEAAXKK@Z
+; public: void __cdecl CUtlProps2::SetValLong(unsigned long,unsigned long,long) __ptr64
+?SetValLong@CUtlProps2@@QEAAXKKJ@Z
+; public: void __cdecl CUtlProps2::SetValLongLong(unsigned long,unsigned long,__int64) __ptr64
+?SetValLongLong@CUtlProps2@@QEAAXKK_J@Z
+; public: void __cdecl CUtlProps2::SetValShort(unsigned long,unsigned long,short) __ptr64
+?SetValShort@CUtlProps2@@QEAAXKKF@Z
+; public: long __cdecl CUtlProps2::SetValString(unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
+?SetValString@CUtlProps2@@QEAAJKKPEBG@Z
+; public: long __cdecl CUtlProps2::SetVariant(unsigned long,unsigned long,struct tagVARIANT * __ptr64) __ptr64
+?SetVariant@CUtlProps2@@QEAAJKKPEAUtagVARIANT@@@Z
+; public: long __cdecl CEnum::Skip(unsigned long) __ptr64
+?Skip@CEnum@@QEAAJK@Z
+; public: virtual long __cdecl CEnumConnectionPoints::Skip(unsigned long) __ptr64
+?Skip@CEnumConnectionPoints@@UEAAJK@Z
+; public: virtual long __cdecl CEnumConnections::Skip(unsigned long) __ptr64
+?Skip@CEnumConnections@@UEAAJK@Z
+; public: void __cdecl CExtBuffer::Transfer(class CExtBuffer * __ptr64) __ptr64
+?Transfer@CExtBuffer@@QEAAXPEAV1@@Z
+; long __cdecl UnRegisterServer(void * __ptr64 const,unsigned long,struct tagREGENTRIES const * __ptr64 const)
+?UnRegisterServer@@YAJQEAXKQEBUtagREGENTRIES@@@Z
+; public: virtual long __cdecl CRowsetConnectionPoint::Unadvise(unsigned long) __ptr64
+?Unadvise@CRowsetConnectionPoint@@UEAAJK@Z
+; public: void * __ptr64 __cdecl CVLHeap::VLAlloc(unsigned __int64) __ptr64
+?VLAlloc@CVLHeap@@QEAAPEAX_K@Z
+; public: void __cdecl CVLHeap::VLFree(void * __ptr64) __ptr64
+?VLFree@CVLHeap@@QEAAXPEAX@Z
+; public: void * __ptr64 __cdecl CVLHeap::VLGrow(void * __ptr64,unsigned __int64) __ptr64
+?VLGrow@CVLHeap@@QEAAPEAXPEAX_K@Z
+; public: void * __ptr64 __cdecl CVLHeap::VLTrueRealloc(void * __ptr64,unsigned __int64) __ptr64
+?VLTrueRealloc@CVLHeap@@QEAAPEAXPEAX_K@Z
+; long __cdecl W95ConvertToAnsiOrOem(unsigned short const * __ptr64,char * __ptr64 * __ptr64,unsigned long,unsigned long * __ptr64,int,int)
+?W95ConvertToAnsiOrOem@@YAJPEBGPEAPEADKPEAKHH@Z
+; long __cdecl W95ConvertToUnicode(char const * __ptr64,long,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64,int,int)
+?W95ConvertToUnicode@@YAJPEBDJPEAPEAGPEAKHH@Z
+; public: long __cdecl CExtBuffer::WriteIntoExtBuffer(void const * __ptr64,unsigned __int64) __ptr64
+?WriteIntoExtBuffer@CExtBuffer@@QEAAJPEBX_K@Z
+; public: long __cdecl CExtBuffer::WriteWCharToExtBuffer(unsigned short,unsigned __int64) __ptr64
+?WriteWCharToExtBuffer@CExtBuffer@@QEAAJG_K@Z
+; public: int __cdecl CBaseObjBoko::ZombieMustUnprepare(void) __ptr64
+?ZombieMustUnprepare@CBaseObjBoko@@QEAAHXZ
+; public: int __cdecl CBaseObjZombie::ZombieMustUnprepare(void) __ptr64
+?ZombieMustUnprepare@CBaseObjZombie@@QEAAHXZ
+; public: int __cdecl CBitArray::fGetCopyOf(class CBitArray * __ptr64) __ptr64
+?fGetCopyOf@CBitArray@@QEAAHPEAV1@@Z
+; public: int __cdecl CRowsetConnectionPoint::fInit(void) __ptr64
+?fInit@CRowsetConnectionPoint@@QEAAHXZ
+; public: int __cdecl CConnectData::fOkToFire(enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
+?fOkToFire@CConnectData@@QEAAHW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; public: int __cdecl CRowsetConnectionPoint::fReasonNeeded(enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
+?fReasonNeeded@CRowsetConnectionPoint@@QEAAHW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; public: int __cdecl CRowsetConnectionPointContainer::fReasonNeeded(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM) __ptr64
+?fReasonNeeded@CRowsetConnectionPointContainer@@QEAAHKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; private: static unsigned long const * const  CUtlProps2::sm_rgPropStatusFromInternStatus
+?sm_rgPropStatusFromInternStatus@CUtlProps2@@0QBKB
diff --git a/mingw-w64-crt/lib64/msdfmap.def b/mingw-w64-crt/lib64/msdfmap.def
index 6fd1445..5930000 100644
--- a/mingw-w64-crt/lib64/msdfmap.def
+++ b/mingw-w64-crt/lib64/msdfmap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msdfmap.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msdfmap.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msdfmap.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msdfmap.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msdmo.def b/mingw-w64-crt/lib64/msdmo.def
index cd11ae9..958b3c1 100644
--- a/mingw-w64-crt/lib64/msdmo.def
+++ b/mingw-w64-crt/lib64/msdmo.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file msdmo.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msdmo.dll
-EXPORTS
-DMOEnum
-DMOGetName
-DMOGetTypes
-DMOGuidToStrA
-DMOGuidToStrW
-DMORegister
-DMOStrToGuidA
-DMOStrToGuidW
-DMOUnregister
-MoCopyMediaType
-MoCreateMediaType
-MoDeleteMediaType
-MoDuplicateMediaType
-MoFreeMediaType
-MoInitMediaType
+; 
+; Exports of file msdmo.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msdmo.dll
+EXPORTS
+DMOEnum
+DMOGetName
+DMOGetTypes
+DMOGuidToStrA
+DMOGuidToStrW
+DMORegister
+DMOStrToGuidA
+DMOStrToGuidW
+DMOUnregister
+MoCopyMediaType
+MoCreateMediaType
+MoDeleteMediaType
+MoDuplicateMediaType
+MoFreeMediaType
+MoInitMediaType
diff --git a/mingw-w64-crt/lib64/msdtclog.def b/mingw-w64-crt/lib64/msdtclog.def
index f0b63fe..208b55a 100644
--- a/mingw-w64-crt/lib64/msdtclog.def
+++ b/mingw-w64-crt/lib64/msdtclog.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file MSDTCLOG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDTCLOG.dll
-EXPORTS
-; public: static long __cdecl CLogMgr::CreateInstance(class CLogMgr * __ptr64 * __ptr64,struct IUnknown * __ptr64)
-?CreateInstance@CLogMgr@@SAJPEAPEAV1@PEAUIUnknown@@@Z
-DllGetDTCLOG2
-; int __cdecl DllGetDTCLOG(struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
-?DllGetDTCLOG@@YAHAEBU_GUID@@0PEAPEAX@Z
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDTCLOG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDTCLOG.dll
+EXPORTS
+; public: static long __cdecl CLogMgr::CreateInstance(class CLogMgr * __ptr64 * __ptr64,struct IUnknown * __ptr64)
+?CreateInstance@CLogMgr@@SAJPEAPEAV1@PEAUIUnknown@@@Z
+DllGetDTCLOG2
+; int __cdecl DllGetDTCLOG(struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
+?DllGetDTCLOG@@YAHAEBU_GUID@@0PEAPEAX@Z
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msdtcprx.def b/mingw-w64-crt/lib64/msdtcprx.def
index 95073df..6eadd89 100644
--- a/mingw-w64-crt/lib64/msdtcprx.def
+++ b/mingw-w64-crt/lib64/msdtcprx.def
@@ -1,269 +1,269 @@
-; 
-; Exports of file MSDTCPRX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDTCPRX.dll
-EXPORTS
-DllGetDTCProxy
-; public: __cdecl CSecurityDescriptor::CSecurityDescriptor(void) __ptr64
-??0CSecurityDescriptor@@QEAA@XZ
-; protected: __cdecl CService::CService(void) __ptr64
-??0CService@@IEAA@XZ
-; protected: __cdecl CServiceControlManager::CServiceControlManager(void) __ptr64
-??0CServiceControlManager@@IEAA@XZ
-; public: __cdecl CSecurityDescriptor::~CSecurityDescriptor(void) __ptr64
-??1CSecurityDescriptor@@QEAA@XZ
-; protected: __cdecl CService::~CService(void) __ptr64
-??1CService@@IEAA@XZ
-DTC_XaOpen
-DTC_XaStart
-DTC_XaEnd
-DTC_XaPrepare
-DTC_XaCommit
-DTC_XaRollback
-DTC_XaRecover
-DTC_XaForget
-DTC_XaComplete
-DTC_XaClose
-DTC_AxReg
-DTC_AxUnReg
-ax_reg
-ax_unreg
-ShutDownCM
-DllGetDTCConnectionManager
-DllGetDTCUtilObject
-ContactToNameObject
-SysPrepDtcReinstall
-; protected: __cdecl CServiceControlManager::~CServiceControlManager(void) __ptr64
-??1CServiceControlManager@@IEAA@XZ
-; public: class CSecurityDescriptor & __ptr64 __cdecl CSecurityDescriptor::operator=(class CSecurityDescriptor const & __ptr64) __ptr64
-??4CSecurityDescriptor@@QEAAAEAV0@AEBV0@@Z
-; public: class CService & __ptr64 __cdecl CService::operator=(class CService const & __ptr64) __ptr64
-??4CService@@QEAAAEAV0@AEBV0@@Z
-; public: class CServiceControlManager & __ptr64 __cdecl CServiceControlManager::operator=(class CServiceControlManager const & __ptr64) __ptr64
-??4CServiceControlManager@@QEAAAEAV0@AEBV0@@Z
-; public: unsigned long __cdecl CService::AddRef(void) __ptr64
-?AddRef@CService@@QEAAKXZ
-; public: unsigned long __cdecl CServiceControlManager::AddRef(void) __ptr64
-?AddRef@CServiceControlManager@@QEAAKXZ
-; public: long __cdecl CSecurityDescriptor::AddSid(unsigned short * __ptr64,unsigned long,unsigned long) __ptr64
-?AddSid@CSecurityDescriptor@@QEAAJPEAGKK@Z
-; public: long __cdecl CSecurityDescriptor::AddSid(void * __ptr64,unsigned long,unsigned long) __ptr64
-?AddSid@CSecurityDescriptor@@QEAAJPEAXKK@Z
-; protected: long __cdecl CSecurityDescriptor::Alloc(unsigned long) __ptr64
-?Alloc@CSecurityDescriptor@@IEAAJK@Z
-; long __cdecl ApplyAccountSettings(int,unsigned short * __ptr64,unsigned long,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,int)
-?ApplyAccountSettings@@YAJHPEAGK000H@Z
-; long __cdecl ApplyNamedSecurityChange(unsigned short * __ptr64,enum _SE_OBJECT_TYPE,void * __ptr64,void * __ptr64,unsigned long)
-?ApplyNamedSecurityChange@@YAJPEAGW4_SE_OBJECT_TYPE@@PEAX2K@Z
-; long __cdecl CheckForDCPromotionDemotion(unsigned short * __ptr64)
-?CheckForDCPromotionDemotion@@YAJPEAG@Z
-; public: long __cdecl CSecurityDescriptor::ClearAcl(void) __ptr64
-?ClearAcl@CSecurityDescriptor@@QEAAJXZ
-; public: long __cdecl CSecurityDescriptor::ClearInMemoryAcl(void) __ptr64
-?ClearInMemoryAcl@CSecurityDescriptor@@QEAAJXZ
-; void __cdecl CloseNetpEventLogHandle(void)
-?CloseNetpEventLogHandle@@YAXXZ
-; public: static long __cdecl CConnectionManager::Create(class CConnectionManager * __ptr64 * __ptr64)
-?Create@CConnectionManager@@SAJPEAPEAV1@@Z
-; public: static long __cdecl CNameService::Create(class CNameService * __ptr64 * __ptr64)
-?Create@CNameService@@SAJPEAPEAV1@@Z
-; public: static long __cdecl CService::Create(class CService * __ptr64 * __ptr64,unsigned short * __ptr64,class CServiceControlManager * __ptr64,unsigned long,unsigned short * __ptr64)
-?Create@CService@@SAJPEAPEAV1@PEAGPEAVCServiceControlManager@@K1@Z
-; public: static long __cdecl CServiceControlManager::Create(class CServiceControlManager * __ptr64 * __ptr64,unsigned long,unsigned short * __ptr64,unsigned short * __ptr64)
-?Create@CServiceControlManager@@SAJPEAPEAV1@KPEAG1@Z
-; void __cdecl CreateASRKey(void)
-?CreateASRKey@@YAXXZ
-; public: static long __cdecl CTmProxyCore::CreateInstance(class CTmProxyCore * __ptr64 * __ptr64,struct IUnknown * __ptr64)
-?CreateInstance@CTmProxyCore@@SAJPEAPEAV1@PEAUIUnknown@@@Z
-; long __cdecl CreateNewContact(struct IProperties * __ptr64 * __ptr64)
-?CreateNewContact@@YAJPEAPEAUIProperties@@@Z
-; long __cdecl CreateOrOpenMutexW(void * __ptr64 * __ptr64,unsigned short const * __ptr64,int)
-?CreateOrOpenMutexW@@YAJPEAPEAXPEBGH@Z
-; void __cdecl DeleteExistingContacts(unsigned short * __ptr64,struct IContactPool * __ptr64,unsigned short * __ptr64)
-?DeleteExistingContacts@@YAXPEAGPEAUIContactPool@@0@Z
-; int __cdecl DllGetDTCAdmin(struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
-?DllGetDTCAdmin@@YAHAEBU_GUID@@0PEAPEAX@Z
-; long __cdecl DtcWriteToEventLogger(unsigned long,unsigned long,unsigned long,unsigned long,void * __ptr64,char * __ptr64)
-?DtcWriteToEventLogger@@YAJKKKKPEAXPEAD@Z
-; long __cdecl DtcWriteToEventLoggerEx(unsigned short,unsigned short,unsigned long,void * __ptr64,unsigned short,unsigned long,char const * __ptr64 * __ptr64,void * __ptr64)
-?DtcWriteToEventLoggerEx@@YAJGGKPEAXGKPEAPEBD0@Z
-; long __cdecl DtcWriteToEventLoggerExUnFiltered(unsigned short,unsigned short,unsigned long,void * __ptr64,unsigned short,unsigned long,char const * __ptr64 * __ptr64,void * __ptr64)
-?DtcWriteToEventLoggerExUnFiltered@@YAJGGKPEAXGKPEAPEBD0@Z
-; long __cdecl DtcWriteToEventLoggerExUnFilteredA(unsigned short,unsigned short,unsigned long,void * __ptr64,unsigned short,unsigned long,char const * __ptr64 * __ptr64,void * __ptr64)
-?DtcWriteToEventLoggerExUnFilteredA@@YAJGGKPEAXGKPEAPEBD0@Z
-; long __cdecl EraseDtcClient(unsigned short * __ptr64)
-?EraseDtcClient@@YAJPEAG@Z
-; public: long __cdecl CService::GetAccount(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetAccount@CService@@QEAAJPEAGPEAK@Z
-; long __cdecl GetAccountSid(unsigned short * __ptr64,unsigned short * __ptr64,void * __ptr64 * __ptr64)
-?GetAccountSid@@YAJPEAG0PEAPEAX@Z
-; public: long __cdecl CSecurityDescriptor::GetControl(unsigned short * __ptr64) __ptr64
-?GetControl@CSecurityDescriptor@@QEAAJPEAG@Z
-; unsigned short * __ptr64 __cdecl GetDefaultLogPath(void)
-?GetDefaultLogPath@@YAPEAGXZ
-; unsigned long __cdecl GetDefaultLogSize(void)
-?GetDefaultLogSize@@YAKXZ
-; long __cdecl GetDefaultSecurityConfigurationOptions(unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
-?GetDefaultSecurityConfigurationOptions@@YAJPEAGPEAK1@Z
-; char * __ptr64 __cdecl GetDefaultServiceNameA(void)
-?GetDefaultServiceNameA@@YAPEADXZ
-; unsigned short * __ptr64 __cdecl GetDefaultServiceNameW(void)
-?GetDefaultServiceNameW@@YAPEAGXZ
-; unsigned short * __ptr64 __cdecl GetDefaultServicePath(void)
-?GetDefaultServicePath@@YAPEAGXZ
-; int __cdecl GetDtcCIDProps(struct _LOG_PROPERTIES & __ptr64,struct _DAC_PROPERTIES & __ptr64)
-?GetDtcCIDProps@@YAHAEAU_LOG_PROPERTIES@@AEAU_DAC_PROPERTIES@@@Z
-; int __cdecl GetDtcLogPath(unsigned long,unsigned short * __ptr64)
-?GetDtcLogPath@@YAHKPEAG@Z
-; int __cdecl GetDtcPath(unsigned long,unsigned short * __ptr64)
-?GetDtcPath@@YAHKPEAG@Z
-; long __cdecl GetDtcRpcSecurityLevel(unsigned short * __ptr64,enum _DTC_SECURITY_LEVEL * __ptr64,int)
-?GetDtcRpcSecurityLevel@@YAJPEAGPEAW4_DTC_SECURITY_LEVEL@@H@Z
-; unsigned short * __ptr64 __cdecl GetEventLogSource(void)
-?GetEventLogSource@@YAPEAGXZ
-; public: long __cdecl CService::GetHandle(struct SC_HANDLE__ * __ptr64 & __ptr64) __ptr64
-?GetHandle@CService@@QEAAJAEAPEAUSC_HANDLE__@@@Z
-; public: long __cdecl CServiceControlManager::GetHandle(struct SC_HANDLE__ * __ptr64 & __ptr64) __ptr64
-?GetHandle@CServiceControlManager@@QEAAJAEAPEAUSC_HANDLE__@@@Z
-; long __cdecl GetLastKnownDomainControllerState(unsigned short * __ptr64,unsigned long * __ptr64)
-?GetLastKnownDomainControllerState@@YAJPEAGPEAK@Z
-; long __cdecl GetLocalDtcClusteringVersion(unsigned long * __ptr64)
-?GetLocalDtcClusteringVersion@@YAJPEAK@Z
-; long __cdecl GetMsDtcSPN(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64)
-?GetMsDtcSPN@@YAJPEAGPEAPEAG@Z
-; public: long __cdecl CSecurityDescriptor::GetNamedInfo(unsigned short * __ptr64,enum _SE_OBJECT_TYPE) __ptr64
-?GetNamedInfo@CSecurityDescriptor@@QEAAJPEAGW4_SE_OBJECT_TYPE@@@Z
-; unsigned short * __ptr64 __cdecl GetOldDefaultLogPath(void)
-?GetOldDefaultLogPath@@YAPEAGXZ
-; long __cdecl GetSecurityConfigurationOptions(unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,int)
-?GetSecurityConfigurationOptions@@YAJPEAGPEAK1H@Z
-; public: long __cdecl CSecurityDescriptor::GetSecurityDescriptor(void * __ptr64 * __ptr64) __ptr64
-?GetSecurityDescriptor@CSecurityDescriptor@@QEAAJPEAPEAX@Z
-; long __cdecl GetSecurityRegValueNonClusterW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64)
-?GetSecurityRegValueNonClusterW@@YAJPEAGPEBGPEAEPEAK@Z
-; long __cdecl GetSecurityRegValueW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64,int)
-?GetSecurityRegValueW@@YAJPEAGPEBGPEAEPEAKH@Z
-; long __cdecl GetSharedDtcClusteringVersion(unsigned long * __ptr64)
-?GetSharedDtcClusteringVersion@@YAJPEAK@Z
-; long __cdecl GetTmContactA(char * __ptr64,char * __ptr64,struct IProperties * __ptr64 * __ptr64)
-?GetTmContactA@@YAJPEAD0PEAPEAUIProperties@@@Z
-; long __cdecl GetTmContactW(unsigned short * __ptr64,unsigned short * __ptr64,struct IProperties * __ptr64 * __ptr64)
-?GetTmContactW@@YAJPEAG0PEAPEAUIProperties@@@Z
-; long __cdecl GetTmUIContactA(char * __ptr64,char * __ptr64,struct IProperties * __ptr64 * __ptr64)
-?GetTmUIContactA@@YAJPEAD0PEAPEAUIProperties@@@Z
-; long __cdecl GetTmUIContactW(unsigned short * __ptr64,unsigned short * __ptr64,struct IProperties * __ptr64 * __ptr64)
-?GetTmUIContactW@@YAJPEAG0PEAPEAUIProperties@@@Z
-; long __cdecl GetXATmSecurityKey(unsigned short * __ptr64,unsigned short * __ptr64,unsigned long * __ptr64)
-?GetXATmSecurityKey@@YAJPEAG0PEAK@Z
-; long __cdecl InstallDtc(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned long,unsigned short * __ptr64,int)
-?InstallDtc@@YAJPEAG0000K0H@Z
-; long __cdecl InstallDtcClient(unsigned short * __ptr64,unsigned long,unsigned long)
-?InstallDtcClient@@YAJPEAGKK@Z
-; long __cdecl InstallTipGw(unsigned short * __ptr64)
-?InstallTipGw@@YAJPEAG@Z
-; long __cdecl InstallXaTm(unsigned short * __ptr64)
-?InstallXaTm@@YAJPEAG@Z
-; protected: long __cdecl CService::InternalInit(unsigned short * __ptr64,class CServiceControlManager * __ptr64,unsigned long,unsigned short * __ptr64) __ptr64
-?InternalInit@CService@@IEAAJPEAGPEAVCServiceControlManager@@K0@Z
-; protected: long __cdecl CServiceControlManager::InternalInit(unsigned long,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?InternalInit@CServiceControlManager@@IEAAJKPEAG0@Z
-; int __cdecl IsNtVersion5OrMore(void)
-?IsNtVersion5OrMore@@YAHXZ
-; long __cdecl JoinDtc(void)
-?JoinDtc@@YAJXZ
-; long __cdecl JoinDtcEx(unsigned short * __ptr64)
-?JoinDtcEx@@YAJPEAG@Z
-; long __cdecl LookupSpecialAccount(unsigned short * __ptr64,struct _SPECIAL_ACCOUNT_ * __ptr64 * __ptr64)
-?LookupSpecialAccount@@YAJPEAGPEAPEAU_SPECIAL_ACCOUNT_@@@Z
-; protected: long __cdecl CSecurityDescriptor::MakeAbsolute(void) __ptr64
-?MakeAbsolute@CSecurityDescriptor@@IEAAJXZ
-; long __cdecl MirrorXaTmSecurityKey(unsigned short * __ptr64)
-?MirrorXaTmSecurityKey@@YAJPEAG@Z
-; long __cdecl MsDtcSPNFree(unsigned short * __ptr64 * __ptr64)
-?MsDtcSPNFree@@YAJPEAPEAG@Z
-; public: long __cdecl CServiceControlManager::OpenServiceA(class CService * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
-?OpenServiceA@CServiceControlManager@@QEAAJPEAPEAVCService@@PEAGK@Z
-; long __cdecl PopulateLocalRegistry(void)
-?PopulateLocalRegistry@@YAJXZ
-; long __cdecl PopulateSharedClusterRegistryWithContacts(void)
-?PopulateSharedClusterRegistryWithContacts@@YAJXZ
-; long __cdecl PopulateSharedClusterRegistryWithLogInfo(void)
-?PopulateSharedClusterRegistryWithLogInfo@@YAJXZ
-; public: long __cdecl CSecurityDescriptor::QueryServiceObjectSecurity(struct SC_HANDLE__ * __ptr64,unsigned long) __ptr64
-?QueryServiceObjectSecurity@CSecurityDescriptor@@QEAAJPEAUSC_HANDLE__@@K@Z
-; public: unsigned long __cdecl CService::Release(void) __ptr64
-?Release@CService@@QEAAKXZ
-; public: unsigned long __cdecl CServiceControlManager::Release(void) __ptr64
-?Release@CServiceControlManager@@QEAAKXZ
-; long __cdecl RemoveDtc(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
-?RemoveDtc@@YAJPEAG00@Z
-; public: long __cdecl CSecurityDescriptor::RemoveSid(unsigned short * __ptr64) __ptr64
-?RemoveSid@CSecurityDescriptor@@QEAAJPEAG@Z
-; public: long __cdecl CSecurityDescriptor::RemoveSid(void * __ptr64) __ptr64
-?RemoveSid@CSecurityDescriptor@@QEAAJPEAX@Z
-; protected: void __cdecl CSecurityDescriptor::Reset(void) __ptr64
-?Reset@CSecurityDescriptor@@IEAAXXZ
-; long __cdecl RidToSid(unsigned long,void * __ptr64 * __ptr64)
-?RidToSid@@YAJKPEAPEAX@Z
-; public: long __cdecl CService::SetAccount(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?SetAccount@CService@@QEAAJPEAG0@Z
-; long __cdecl SetAccountInfoInRegistryW(unsigned short * __ptr64)
-?SetAccountInfoInRegistryW@@YAJPEAG@Z
-; public: long __cdecl CSecurityDescriptor::SetControl(unsigned short,unsigned short) __ptr64
-?SetControl@CSecurityDescriptor@@QEAAJGG@Z
-; long __cdecl SetDomainControllerState(unsigned short * __ptr64)
-?SetDomainControllerState@@YAJPEAG@Z
-; int __cdecl SetDtcCIDProps(struct _LOG_PROPERTIES & __ptr64,struct _DAC_PROPERTIES & __ptr64)
-?SetDtcCIDProps@@YAHAEAU_LOG_PROPERTIES@@AEAU_DAC_PROPERTIES@@@Z
-; long __cdecl SetDtcClient(unsigned short * __ptr64,char * __ptr64,unsigned short * __ptr64)
-?SetDtcClient@@YAJPEAGPEAD0@Z
-; long __cdecl SetDtcRpcSecurityLevel(unsigned short * __ptr64,enum _DTC_SECURITY_LEVEL,int)
-?SetDtcRpcSecurityLevel@@YAJPEAGW4_DTC_SECURITY_LEVEL@@H@Z
-; long __cdecl SetDtcServerProtocol(char * __ptr64,char * __ptr64)
-?SetDtcServerProtocol@@YAJPEAD0@Z
-; void __cdecl SetEventLogSourceToMsdtcCore(void)
-?SetEventLogSourceToMsdtcCore@@YAXXZ
-; public: long __cdecl CSecurityDescriptor::SetNamedInfo(unsigned short * __ptr64,enum _SE_OBJECT_TYPE,unsigned long) __ptr64
-?SetNamedInfo@CSecurityDescriptor@@QEAAJPEAGW4_SE_OBJECT_TYPE@@K@Z
-; protected: long __cdecl CSecurityDescriptor::SetNewAcl(struct _ACL * __ptr64,unsigned long,int,int) __ptr64
-?SetNewAcl@CSecurityDescriptor@@IEAAJPEAU_ACL@@KHH@Z
-; public: long __cdecl CSecurityDescriptor::SetOwner(unsigned short * __ptr64,int) __ptr64
-?SetOwner@CSecurityDescriptor@@QEAAJPEAGH@Z
-; public: long __cdecl CSecurityDescriptor::SetOwner(void * __ptr64,int) __ptr64
-?SetOwner@CSecurityDescriptor@@QEAAJPEAXH@Z
-; long __cdecl SetSecurityConfigurationOptions(unsigned short * __ptr64,unsigned long,unsigned long)
-?SetSecurityConfigurationOptions@@YAJPEAGKK@Z
-; long __cdecl SetSecurityRegValueNonClusterW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long)
-?SetSecurityRegValueNonClusterW@@YAJPEAGPEBGKPEAEK@Z
-; long __cdecl SetSecurityRegValueW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long)
-?SetSecurityRegValueW@@YAJPEAGPEBGKPEAEK@Z
-; public: long __cdecl CSecurityDescriptor::SetServiceObjectSecurity(struct SC_HANDLE__ * __ptr64,unsigned long) __ptr64
-?SetServiceObjectSecurity@CSecurityDescriptor@@QEAAJPEAUSC_HANDLE__@@K@Z
-; public: long __cdecl CSecurityDescriptor::SetSpecialAccounts(unsigned long) __ptr64
-?SetSpecialAccounts@CSecurityDescriptor@@QEAAJK@Z
-; long __cdecl StringToSid(unsigned short * __ptr64,void * __ptr64 * __ptr64)
-?StringToSid@@YAJPEAGPEAPEAX@Z
-; long __cdecl UpdateTmNameObject(struct INameObject * __ptr64,struct INameObject * __ptr64 * __ptr64)
-?UpdateTmNameObject@@YAJPEAUINameObject@@PEAPEAU1@@Z
-; long __cdecl UpgradeDtc(int)
-?UpgradeDtc@@YAJH@Z
-; long __cdecl VerifyAccountInfo(void)
-?VerifyAccountInfo@@YAJXZ
-; int __cdecl Win95Present(void)
-?Win95Present@@YAHXZ
-; struct _SPECIAL_ACCOUNT_ *  g_aSpecialAccounts
-?g_aSpecialAccounts@@3PAU_SPECIAL_ACCOUNT_@@A DATA
-ClusterChangeDtcUserAccount
-ClusterCryptoContainerCreate
-ClusterCryptoContainerDelete
-ClusterDaclCryptoContainer
-ClusterUpdateAccountInformation
-DecryptAccountInformation
-DllGetClassObject
-DllGetTransactionManagerCore
-DllRegisterServer
-DllUnregisterServer
-EncryptAccountInformation
+; 
+; Exports of file MSDTCPRX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDTCPRX.dll
+EXPORTS
+DllGetDTCProxy
+; public: __cdecl CSecurityDescriptor::CSecurityDescriptor(void) __ptr64
+??0CSecurityDescriptor@@QEAA@XZ
+; protected: __cdecl CService::CService(void) __ptr64
+??0CService@@IEAA@XZ
+; protected: __cdecl CServiceControlManager::CServiceControlManager(void) __ptr64
+??0CServiceControlManager@@IEAA@XZ
+; public: __cdecl CSecurityDescriptor::~CSecurityDescriptor(void) __ptr64
+??1CSecurityDescriptor@@QEAA@XZ
+; protected: __cdecl CService::~CService(void) __ptr64
+??1CService@@IEAA@XZ
+DTC_XaOpen
+DTC_XaStart
+DTC_XaEnd
+DTC_XaPrepare
+DTC_XaCommit
+DTC_XaRollback
+DTC_XaRecover
+DTC_XaForget
+DTC_XaComplete
+DTC_XaClose
+DTC_AxReg
+DTC_AxUnReg
+ax_reg
+ax_unreg
+ShutDownCM
+DllGetDTCConnectionManager
+DllGetDTCUtilObject
+ContactToNameObject
+SysPrepDtcReinstall
+; protected: __cdecl CServiceControlManager::~CServiceControlManager(void) __ptr64
+??1CServiceControlManager@@IEAA@XZ
+; public: class CSecurityDescriptor & __ptr64 __cdecl CSecurityDescriptor::operator=(class CSecurityDescriptor const & __ptr64) __ptr64
+??4CSecurityDescriptor@@QEAAAEAV0@AEBV0@@Z
+; public: class CService & __ptr64 __cdecl CService::operator=(class CService const & __ptr64) __ptr64
+??4CService@@QEAAAEAV0@AEBV0@@Z
+; public: class CServiceControlManager & __ptr64 __cdecl CServiceControlManager::operator=(class CServiceControlManager const & __ptr64) __ptr64
+??4CServiceControlManager@@QEAAAEAV0@AEBV0@@Z
+; public: unsigned long __cdecl CService::AddRef(void) __ptr64
+?AddRef@CService@@QEAAKXZ
+; public: unsigned long __cdecl CServiceControlManager::AddRef(void) __ptr64
+?AddRef@CServiceControlManager@@QEAAKXZ
+; public: long __cdecl CSecurityDescriptor::AddSid(unsigned short * __ptr64,unsigned long,unsigned long) __ptr64
+?AddSid@CSecurityDescriptor@@QEAAJPEAGKK@Z
+; public: long __cdecl CSecurityDescriptor::AddSid(void * __ptr64,unsigned long,unsigned long) __ptr64
+?AddSid@CSecurityDescriptor@@QEAAJPEAXKK@Z
+; protected: long __cdecl CSecurityDescriptor::Alloc(unsigned long) __ptr64
+?Alloc@CSecurityDescriptor@@IEAAJK@Z
+; long __cdecl ApplyAccountSettings(int,unsigned short * __ptr64,unsigned long,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,int)
+?ApplyAccountSettings@@YAJHPEAGK000H@Z
+; long __cdecl ApplyNamedSecurityChange(unsigned short * __ptr64,enum _SE_OBJECT_TYPE,void * __ptr64,void * __ptr64,unsigned long)
+?ApplyNamedSecurityChange@@YAJPEAGW4_SE_OBJECT_TYPE@@PEAX2K@Z
+; long __cdecl CheckForDCPromotionDemotion(unsigned short * __ptr64)
+?CheckForDCPromotionDemotion@@YAJPEAG@Z
+; public: long __cdecl CSecurityDescriptor::ClearAcl(void) __ptr64
+?ClearAcl@CSecurityDescriptor@@QEAAJXZ
+; public: long __cdecl CSecurityDescriptor::ClearInMemoryAcl(void) __ptr64
+?ClearInMemoryAcl@CSecurityDescriptor@@QEAAJXZ
+; void __cdecl CloseNetpEventLogHandle(void)
+?CloseNetpEventLogHandle@@YAXXZ
+; public: static long __cdecl CConnectionManager::Create(class CConnectionManager * __ptr64 * __ptr64)
+?Create@CConnectionManager@@SAJPEAPEAV1@@Z
+; public: static long __cdecl CNameService::Create(class CNameService * __ptr64 * __ptr64)
+?Create@CNameService@@SAJPEAPEAV1@@Z
+; public: static long __cdecl CService::Create(class CService * __ptr64 * __ptr64,unsigned short * __ptr64,class CServiceControlManager * __ptr64,unsigned long,unsigned short * __ptr64)
+?Create@CService@@SAJPEAPEAV1@PEAGPEAVCServiceControlManager@@K1@Z
+; public: static long __cdecl CServiceControlManager::Create(class CServiceControlManager * __ptr64 * __ptr64,unsigned long,unsigned short * __ptr64,unsigned short * __ptr64)
+?Create@CServiceControlManager@@SAJPEAPEAV1@KPEAG1@Z
+; void __cdecl CreateASRKey(void)
+?CreateASRKey@@YAXXZ
+; public: static long __cdecl CTmProxyCore::CreateInstance(class CTmProxyCore * __ptr64 * __ptr64,struct IUnknown * __ptr64)
+?CreateInstance@CTmProxyCore@@SAJPEAPEAV1@PEAUIUnknown@@@Z
+; long __cdecl CreateNewContact(struct IProperties * __ptr64 * __ptr64)
+?CreateNewContact@@YAJPEAPEAUIProperties@@@Z
+; long __cdecl CreateOrOpenMutexW(void * __ptr64 * __ptr64,unsigned short const * __ptr64,int)
+?CreateOrOpenMutexW@@YAJPEAPEAXPEBGH@Z
+; void __cdecl DeleteExistingContacts(unsigned short * __ptr64,struct IContactPool * __ptr64,unsigned short * __ptr64)
+?DeleteExistingContacts@@YAXPEAGPEAUIContactPool@@0@Z
+; int __cdecl DllGetDTCAdmin(struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
+?DllGetDTCAdmin@@YAHAEBU_GUID@@0PEAPEAX@Z
+; long __cdecl DtcWriteToEventLogger(unsigned long,unsigned long,unsigned long,unsigned long,void * __ptr64,char * __ptr64)
+?DtcWriteToEventLogger@@YAJKKKKPEAXPEAD@Z
+; long __cdecl DtcWriteToEventLoggerEx(unsigned short,unsigned short,unsigned long,void * __ptr64,unsigned short,unsigned long,char const * __ptr64 * __ptr64,void * __ptr64)
+?DtcWriteToEventLoggerEx@@YAJGGKPEAXGKPEAPEBD0@Z
+; long __cdecl DtcWriteToEventLoggerExUnFiltered(unsigned short,unsigned short,unsigned long,void * __ptr64,unsigned short,unsigned long,char const * __ptr64 * __ptr64,void * __ptr64)
+?DtcWriteToEventLoggerExUnFiltered@@YAJGGKPEAXGKPEAPEBD0@Z
+; long __cdecl DtcWriteToEventLoggerExUnFilteredA(unsigned short,unsigned short,unsigned long,void * __ptr64,unsigned short,unsigned long,char const * __ptr64 * __ptr64,void * __ptr64)
+?DtcWriteToEventLoggerExUnFilteredA@@YAJGGKPEAXGKPEAPEBD0@Z
+; long __cdecl EraseDtcClient(unsigned short * __ptr64)
+?EraseDtcClient@@YAJPEAG@Z
+; public: long __cdecl CService::GetAccount(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetAccount@CService@@QEAAJPEAGPEAK@Z
+; long __cdecl GetAccountSid(unsigned short * __ptr64,unsigned short * __ptr64,void * __ptr64 * __ptr64)
+?GetAccountSid@@YAJPEAG0PEAPEAX@Z
+; public: long __cdecl CSecurityDescriptor::GetControl(unsigned short * __ptr64) __ptr64
+?GetControl@CSecurityDescriptor@@QEAAJPEAG@Z
+; unsigned short * __ptr64 __cdecl GetDefaultLogPath(void)
+?GetDefaultLogPath@@YAPEAGXZ
+; unsigned long __cdecl GetDefaultLogSize(void)
+?GetDefaultLogSize@@YAKXZ
+; long __cdecl GetDefaultSecurityConfigurationOptions(unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
+?GetDefaultSecurityConfigurationOptions@@YAJPEAGPEAK1@Z
+; char * __ptr64 __cdecl GetDefaultServiceNameA(void)
+?GetDefaultServiceNameA@@YAPEADXZ
+; unsigned short * __ptr64 __cdecl GetDefaultServiceNameW(void)
+?GetDefaultServiceNameW@@YAPEAGXZ
+; unsigned short * __ptr64 __cdecl GetDefaultServicePath(void)
+?GetDefaultServicePath@@YAPEAGXZ
+; int __cdecl GetDtcCIDProps(struct _LOG_PROPERTIES & __ptr64,struct _DAC_PROPERTIES & __ptr64)
+?GetDtcCIDProps@@YAHAEAU_LOG_PROPERTIES@@AEAU_DAC_PROPERTIES@@@Z
+; int __cdecl GetDtcLogPath(unsigned long,unsigned short * __ptr64)
+?GetDtcLogPath@@YAHKPEAG@Z
+; int __cdecl GetDtcPath(unsigned long,unsigned short * __ptr64)
+?GetDtcPath@@YAHKPEAG@Z
+; long __cdecl GetDtcRpcSecurityLevel(unsigned short * __ptr64,enum _DTC_SECURITY_LEVEL * __ptr64,int)
+?GetDtcRpcSecurityLevel@@YAJPEAGPEAW4_DTC_SECURITY_LEVEL@@H@Z
+; unsigned short * __ptr64 __cdecl GetEventLogSource(void)
+?GetEventLogSource@@YAPEAGXZ
+; public: long __cdecl CService::GetHandle(struct SC_HANDLE__ * __ptr64 & __ptr64) __ptr64
+?GetHandle@CService@@QEAAJAEAPEAUSC_HANDLE__@@@Z
+; public: long __cdecl CServiceControlManager::GetHandle(struct SC_HANDLE__ * __ptr64 & __ptr64) __ptr64
+?GetHandle@CServiceControlManager@@QEAAJAEAPEAUSC_HANDLE__@@@Z
+; long __cdecl GetLastKnownDomainControllerState(unsigned short * __ptr64,unsigned long * __ptr64)
+?GetLastKnownDomainControllerState@@YAJPEAGPEAK@Z
+; long __cdecl GetLocalDtcClusteringVersion(unsigned long * __ptr64)
+?GetLocalDtcClusteringVersion@@YAJPEAK@Z
+; long __cdecl GetMsDtcSPN(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64)
+?GetMsDtcSPN@@YAJPEAGPEAPEAG@Z
+; public: long __cdecl CSecurityDescriptor::GetNamedInfo(unsigned short * __ptr64,enum _SE_OBJECT_TYPE) __ptr64
+?GetNamedInfo@CSecurityDescriptor@@QEAAJPEAGW4_SE_OBJECT_TYPE@@@Z
+; unsigned short * __ptr64 __cdecl GetOldDefaultLogPath(void)
+?GetOldDefaultLogPath@@YAPEAGXZ
+; long __cdecl GetSecurityConfigurationOptions(unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,int)
+?GetSecurityConfigurationOptions@@YAJPEAGPEAK1H@Z
+; public: long __cdecl CSecurityDescriptor::GetSecurityDescriptor(void * __ptr64 * __ptr64) __ptr64
+?GetSecurityDescriptor@CSecurityDescriptor@@QEAAJPEAPEAX@Z
+; long __cdecl GetSecurityRegValueNonClusterW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64)
+?GetSecurityRegValueNonClusterW@@YAJPEAGPEBGPEAEPEAK@Z
+; long __cdecl GetSecurityRegValueW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64,int)
+?GetSecurityRegValueW@@YAJPEAGPEBGPEAEPEAKH@Z
+; long __cdecl GetSharedDtcClusteringVersion(unsigned long * __ptr64)
+?GetSharedDtcClusteringVersion@@YAJPEAK@Z
+; long __cdecl GetTmContactA(char * __ptr64,char * __ptr64,struct IProperties * __ptr64 * __ptr64)
+?GetTmContactA@@YAJPEAD0PEAPEAUIProperties@@@Z
+; long __cdecl GetTmContactW(unsigned short * __ptr64,unsigned short * __ptr64,struct IProperties * __ptr64 * __ptr64)
+?GetTmContactW@@YAJPEAG0PEAPEAUIProperties@@@Z
+; long __cdecl GetTmUIContactA(char * __ptr64,char * __ptr64,struct IProperties * __ptr64 * __ptr64)
+?GetTmUIContactA@@YAJPEAD0PEAPEAUIProperties@@@Z
+; long __cdecl GetTmUIContactW(unsigned short * __ptr64,unsigned short * __ptr64,struct IProperties * __ptr64 * __ptr64)
+?GetTmUIContactW@@YAJPEAG0PEAPEAUIProperties@@@Z
+; long __cdecl GetXATmSecurityKey(unsigned short * __ptr64,unsigned short * __ptr64,unsigned long * __ptr64)
+?GetXATmSecurityKey@@YAJPEAG0PEAK@Z
+; long __cdecl InstallDtc(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned long,unsigned short * __ptr64,int)
+?InstallDtc@@YAJPEAG0000K0H@Z
+; long __cdecl InstallDtcClient(unsigned short * __ptr64,unsigned long,unsigned long)
+?InstallDtcClient@@YAJPEAGKK@Z
+; long __cdecl InstallTipGw(unsigned short * __ptr64)
+?InstallTipGw@@YAJPEAG@Z
+; long __cdecl InstallXaTm(unsigned short * __ptr64)
+?InstallXaTm@@YAJPEAG@Z
+; protected: long __cdecl CService::InternalInit(unsigned short * __ptr64,class CServiceControlManager * __ptr64,unsigned long,unsigned short * __ptr64) __ptr64
+?InternalInit@CService@@IEAAJPEAGPEAVCServiceControlManager@@K0@Z
+; protected: long __cdecl CServiceControlManager::InternalInit(unsigned long,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?InternalInit@CServiceControlManager@@IEAAJKPEAG0@Z
+; int __cdecl IsNtVersion5OrMore(void)
+?IsNtVersion5OrMore@@YAHXZ
+; long __cdecl JoinDtc(void)
+?JoinDtc@@YAJXZ
+; long __cdecl JoinDtcEx(unsigned short * __ptr64)
+?JoinDtcEx@@YAJPEAG@Z
+; long __cdecl LookupSpecialAccount(unsigned short * __ptr64,struct _SPECIAL_ACCOUNT_ * __ptr64 * __ptr64)
+?LookupSpecialAccount@@YAJPEAGPEAPEAU_SPECIAL_ACCOUNT_@@@Z
+; protected: long __cdecl CSecurityDescriptor::MakeAbsolute(void) __ptr64
+?MakeAbsolute@CSecurityDescriptor@@IEAAJXZ
+; long __cdecl MirrorXaTmSecurityKey(unsigned short * __ptr64)
+?MirrorXaTmSecurityKey@@YAJPEAG@Z
+; long __cdecl MsDtcSPNFree(unsigned short * __ptr64 * __ptr64)
+?MsDtcSPNFree@@YAJPEAPEAG@Z
+; public: long __cdecl CServiceControlManager::OpenServiceA(class CService * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
+?OpenServiceA@CServiceControlManager@@QEAAJPEAPEAVCService@@PEAGK@Z
+; long __cdecl PopulateLocalRegistry(void)
+?PopulateLocalRegistry@@YAJXZ
+; long __cdecl PopulateSharedClusterRegistryWithContacts(void)
+?PopulateSharedClusterRegistryWithContacts@@YAJXZ
+; long __cdecl PopulateSharedClusterRegistryWithLogInfo(void)
+?PopulateSharedClusterRegistryWithLogInfo@@YAJXZ
+; public: long __cdecl CSecurityDescriptor::QueryServiceObjectSecurity(struct SC_HANDLE__ * __ptr64,unsigned long) __ptr64
+?QueryServiceObjectSecurity@CSecurityDescriptor@@QEAAJPEAUSC_HANDLE__@@K@Z
+; public: unsigned long __cdecl CService::Release(void) __ptr64
+?Release@CService@@QEAAKXZ
+; public: unsigned long __cdecl CServiceControlManager::Release(void) __ptr64
+?Release@CServiceControlManager@@QEAAKXZ
+; long __cdecl RemoveDtc(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
+?RemoveDtc@@YAJPEAG00@Z
+; public: long __cdecl CSecurityDescriptor::RemoveSid(unsigned short * __ptr64) __ptr64
+?RemoveSid@CSecurityDescriptor@@QEAAJPEAG@Z
+; public: long __cdecl CSecurityDescriptor::RemoveSid(void * __ptr64) __ptr64
+?RemoveSid@CSecurityDescriptor@@QEAAJPEAX@Z
+; protected: void __cdecl CSecurityDescriptor::Reset(void) __ptr64
+?Reset@CSecurityDescriptor@@IEAAXXZ
+; long __cdecl RidToSid(unsigned long,void * __ptr64 * __ptr64)
+?RidToSid@@YAJKPEAPEAX@Z
+; public: long __cdecl CService::SetAccount(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?SetAccount@CService@@QEAAJPEAG0@Z
+; long __cdecl SetAccountInfoInRegistryW(unsigned short * __ptr64)
+?SetAccountInfoInRegistryW@@YAJPEAG@Z
+; public: long __cdecl CSecurityDescriptor::SetControl(unsigned short,unsigned short) __ptr64
+?SetControl@CSecurityDescriptor@@QEAAJGG@Z
+; long __cdecl SetDomainControllerState(unsigned short * __ptr64)
+?SetDomainControllerState@@YAJPEAG@Z
+; int __cdecl SetDtcCIDProps(struct _LOG_PROPERTIES & __ptr64,struct _DAC_PROPERTIES & __ptr64)
+?SetDtcCIDProps@@YAHAEAU_LOG_PROPERTIES@@AEAU_DAC_PROPERTIES@@@Z
+; long __cdecl SetDtcClient(unsigned short * __ptr64,char * __ptr64,unsigned short * __ptr64)
+?SetDtcClient@@YAJPEAGPEAD0@Z
+; long __cdecl SetDtcRpcSecurityLevel(unsigned short * __ptr64,enum _DTC_SECURITY_LEVEL,int)
+?SetDtcRpcSecurityLevel@@YAJPEAGW4_DTC_SECURITY_LEVEL@@H@Z
+; long __cdecl SetDtcServerProtocol(char * __ptr64,char * __ptr64)
+?SetDtcServerProtocol@@YAJPEAD0@Z
+; void __cdecl SetEventLogSourceToMsdtcCore(void)
+?SetEventLogSourceToMsdtcCore@@YAXXZ
+; public: long __cdecl CSecurityDescriptor::SetNamedInfo(unsigned short * __ptr64,enum _SE_OBJECT_TYPE,unsigned long) __ptr64
+?SetNamedInfo@CSecurityDescriptor@@QEAAJPEAGW4_SE_OBJECT_TYPE@@K@Z
+; protected: long __cdecl CSecurityDescriptor::SetNewAcl(struct _ACL * __ptr64,unsigned long,int,int) __ptr64
+?SetNewAcl@CSecurityDescriptor@@IEAAJPEAU_ACL@@KHH@Z
+; public: long __cdecl CSecurityDescriptor::SetOwner(unsigned short * __ptr64,int) __ptr64
+?SetOwner@CSecurityDescriptor@@QEAAJPEAGH@Z
+; public: long __cdecl CSecurityDescriptor::SetOwner(void * __ptr64,int) __ptr64
+?SetOwner@CSecurityDescriptor@@QEAAJPEAXH@Z
+; long __cdecl SetSecurityConfigurationOptions(unsigned short * __ptr64,unsigned long,unsigned long)
+?SetSecurityConfigurationOptions@@YAJPEAGKK@Z
+; long __cdecl SetSecurityRegValueNonClusterW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long)
+?SetSecurityRegValueNonClusterW@@YAJPEAGPEBGKPEAEK@Z
+; long __cdecl SetSecurityRegValueW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long)
+?SetSecurityRegValueW@@YAJPEAGPEBGKPEAEK@Z
+; public: long __cdecl CSecurityDescriptor::SetServiceObjectSecurity(struct SC_HANDLE__ * __ptr64,unsigned long) __ptr64
+?SetServiceObjectSecurity@CSecurityDescriptor@@QEAAJPEAUSC_HANDLE__@@K@Z
+; public: long __cdecl CSecurityDescriptor::SetSpecialAccounts(unsigned long) __ptr64
+?SetSpecialAccounts@CSecurityDescriptor@@QEAAJK@Z
+; long __cdecl StringToSid(unsigned short * __ptr64,void * __ptr64 * __ptr64)
+?StringToSid@@YAJPEAGPEAPEAX@Z
+; long __cdecl UpdateTmNameObject(struct INameObject * __ptr64,struct INameObject * __ptr64 * __ptr64)
+?UpdateTmNameObject@@YAJPEAUINameObject@@PEAPEAU1@@Z
+; long __cdecl UpgradeDtc(int)
+?UpgradeDtc@@YAJH@Z
+; long __cdecl VerifyAccountInfo(void)
+?VerifyAccountInfo@@YAJXZ
+; int __cdecl Win95Present(void)
+?Win95Present@@YAHXZ
+; struct _SPECIAL_ACCOUNT_ *  g_aSpecialAccounts
+?g_aSpecialAccounts@@3PAU_SPECIAL_ACCOUNT_@@A DATA
+ClusterChangeDtcUserAccount
+ClusterCryptoContainerCreate
+ClusterCryptoContainerDelete
+ClusterDaclCryptoContainer
+ClusterUpdateAccountInformation
+DecryptAccountInformation
+DllGetClassObject
+DllGetTransactionManagerCore
+DllRegisterServer
+DllUnregisterServer
+EncryptAccountInformation
diff --git a/mingw-w64-crt/lib64/msdtcstp.def b/mingw-w64-crt/lib64/msdtcstp.def
index 7916b26..7b00aff 100644
--- a/mingw-w64-crt/lib64/msdtcstp.def
+++ b/mingw-w64-crt/lib64/msdtcstp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ntdtcsetup.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntdtcsetup.dll
-EXPORTS
-OcEntry
-RunDtcSetWebApplicationServerRoleW
-SetupPrintLog
-DtcGetWebApplicationServerRole
-DtcSetWebApplicationServerRole
+; 
+; Exports of file ntdtcsetup.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntdtcsetup.dll
+EXPORTS
+OcEntry
+RunDtcSetWebApplicationServerRoleW
+SetupPrintLog
+DtcGetWebApplicationServerRole
+DtcSetWebApplicationServerRole
diff --git a/mingw-w64-crt/lib64/msdtctm.def b/mingw-w64-crt/lib64/msdtctm.def
index a86fa9c..844a2d4 100644
--- a/mingw-w64-crt/lib64/msdtctm.def
+++ b/mingw-w64-crt/lib64/msdtctm.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file MSDTCTM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDTCTM.dll
-EXPORTS
-DtcMainExt
-ASCWrapObject
-ASCDeliverDeferred
-ASCDefer
-ASCGetSafeReference
-; public: static long __cdecl CUISCore::Create(class CUISCore * __ptr64 * __ptr64,struct IUnknown * __ptr64)
-?Create@CUISCore@@SAJPEAPEAV1@PEAUIUnknown@@@Z
-; public: static long __cdecl CTm::CreateInstance(class CTm * __ptr64 * __ptr64,struct IUnknown * __ptr64)
-?CreateInstance@CTm@@SAJPEAPEAV1@PEAUIUnknown@@@Z
-; public: static long __cdecl CXaTmCore::CreateInstance(class CXaTmCore * __ptr64 * __ptr64,struct IUnknown * __ptr64)
-?CreateInstance@CXaTmCore@@SAJPEAPEAV1@PEAUIUnknown@@@Z
-; long __cdecl CreateThreadPool(void)
-?CreateThreadPool@@YAJXZ
-ASCWrapClassFactory
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetTipFunctionalityWorking
-SetTipFunctionalityWorking
+; 
+; Exports of file MSDTCTM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDTCTM.dll
+EXPORTS
+DtcMainExt
+ASCWrapObject
+ASCDeliverDeferred
+ASCDefer
+ASCGetSafeReference
+; public: static long __cdecl CUISCore::Create(class CUISCore * __ptr64 * __ptr64,struct IUnknown * __ptr64)
+?Create@CUISCore@@SAJPEAPEAV1@PEAUIUnknown@@@Z
+; public: static long __cdecl CTm::CreateInstance(class CTm * __ptr64 * __ptr64,struct IUnknown * __ptr64)
+?CreateInstance@CTm@@SAJPEAPEAV1@PEAUIUnknown@@@Z
+; public: static long __cdecl CXaTmCore::CreateInstance(class CXaTmCore * __ptr64 * __ptr64,struct IUnknown * __ptr64)
+?CreateInstance@CXaTmCore@@SAJPEAPEAV1@PEAUIUnknown@@@Z
+; long __cdecl CreateThreadPool(void)
+?CreateThreadPool@@YAJXZ
+ASCWrapClassFactory
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetTipFunctionalityWorking
+SetTipFunctionalityWorking
diff --git a/mingw-w64-crt/lib64/msdtcuiu.def b/mingw-w64-crt/lib64/msdtcuiu.def
index 97ec406..ed5a97a 100644
--- a/mingw-w64-crt/lib64/msdtcuiu.def
+++ b/mingw-w64-crt/lib64/msdtcuiu.def
@@ -1,68 +1,68 @@
-; 
-; Exports of file MSDTCUIU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDTCUIU.dll
-EXPORTS
-InitDACDLL
-TermDACDLL
-TermDACInstance
-DoDACPropSheet
-DoDACAdvanced
-GetDACStatsMinMaxInfo
-; public: __cdecl CDac::CDac(class CDac const & __ptr64) __ptr64
-??0CDac@@QEAA@AEBV0@@Z
-; public: __cdecl CDac::CDac(unsigned long) __ptr64
-??0CDac@@QEAA@K@Z
-; public: __cdecl CDac::~CDac(void) __ptr64
-??1CDac@@QEAA@XZ
-; public: class CDac & __ptr64 __cdecl CDac::operator=(class CDac const & __ptr64) __ptr64
-??4CDac@@QEAAAEAV0@AEBV0@@Z
-; public: int __cdecl CDac::Connect(struct HWND__ * __ptr64,struct INTServiceControl * __ptr64) __ptr64
-?Connect@CDac@@QEAAHPEAUHWND__@@PEAUINTServiceControl@@@Z
-; public: static long __cdecl CUicCore::Create(class CUicCore * __ptr64 * __ptr64)
-?Create@CUicCore@@SAJPEAPEAV1@@Z
-; public: class CDialog * __ptr64 __cdecl CDac::CreateAdvancedPropertySheet(class CWnd * __ptr64) __ptr64
-?CreateAdvancedPropertySheet@CDac@@QEAAPEAVCDialog@@PEAVCWnd@@@Z
-; public: int __cdecl CDac::ErrorMessage(unsigned long,unsigned int) __ptr64
-?ErrorMessage@CDac@@QEAAHKI@Z
-; public: unsigned long __cdecl CDac::GetAdminAccess(void) __ptr64
-?GetAdminAccess@CDac@@QEAAKXZ
-; public: char * __ptr64 __cdecl CDac::GetHostNameA(void) __ptr64
-?GetHostNameA@CDac@@QEAAPEADXZ
-; public: unsigned short * __ptr64 __cdecl CDac::GetHostNameW(void) __ptr64
-?GetHostNameW@CDac@@QEAAPEAGXZ
-; public: struct HWND__ * __ptr64 __cdecl CDac::GetOwnerHwnd(void) __ptr64
-?GetOwnerHwnd@CDac@@QEAAPEAUHWND__@@XZ
-; public: unsigned short * __ptr64 __cdecl CDac::GetVirtualHostName(void) __ptr64
-?GetVirtualHostName@CDac@@QEAAPEAGXZ
-; public: long __cdecl CDac::Init(unsigned short * __ptr64) __ptr64
-?Init@CDac@@QEAAJPEAG@Z
-; public: int __cdecl CDac::IsConnected(void) __ptr64
-?IsConnected@CDac@@QEAAHXZ
-; public: int __cdecl CDac::ProcessCommand(unsigned __int64,__int64) __ptr64
-?ProcessCommand@CDac@@QEAAH_K_J@Z
-; void __cdecl RegisterErrorSink(struct IDacErrorSink * __ptr64)
-?RegisterErrorSink@@YAXPEAUIDacErrorSink@@@Z
-RunDACExe
-; public: long __cdecl CDac::ServiceRequest(unsigned long,void * __ptr64,unsigned long,bool) __ptr64
-?ServiceRequest@CDac@@QEAAJKPEAXK_N@Z
-; public: void __cdecl CDac::SetHostNameA(char * __ptr64) __ptr64
-?SetHostNameA@CDac@@QEAAXPEAD@Z
-; public: void __cdecl CDac::SetHostNameW(unsigned short * __ptr64) __ptr64
-?SetHostNameW@CDac@@QEAAXPEAG@Z
-; public: void __cdecl CDac::SetOwnerWnd(class CWnd * __ptr64) __ptr64
-?SetOwnerWnd@CDac@@QEAAXPEAVCWnd@@@Z
-; class CDac * __ptr64 __cdecl ValidateDACInstance(void * __ptr64 * __ptr64,unsigned short * __ptr64)
-?ValidateDACInstance@@YAPEAVCDac@@PEAPEAXPEAG@Z
-DllGetClassObject
-DllGetDTCUIC
-DllRegisterServer
-DllUnregisterServer
-DtcPerfClose
-DtcPerfCollect
-DtcPerfOpen
-PerfDllRegisterServer
-ShutDownUIC
+; 
+; Exports of file MSDTCUIU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDTCUIU.dll
+EXPORTS
+InitDACDLL
+TermDACDLL
+TermDACInstance
+DoDACPropSheet
+DoDACAdvanced
+GetDACStatsMinMaxInfo
+; public: __cdecl CDac::CDac(class CDac const & __ptr64) __ptr64
+??0CDac@@QEAA@AEBV0@@Z
+; public: __cdecl CDac::CDac(unsigned long) __ptr64
+??0CDac@@QEAA@K@Z
+; public: __cdecl CDac::~CDac(void) __ptr64
+??1CDac@@QEAA@XZ
+; public: class CDac & __ptr64 __cdecl CDac::operator=(class CDac const & __ptr64) __ptr64
+??4CDac@@QEAAAEAV0@AEBV0@@Z
+; public: int __cdecl CDac::Connect(struct HWND__ * __ptr64,struct INTServiceControl * __ptr64) __ptr64
+?Connect@CDac@@QEAAHPEAUHWND__@@PEAUINTServiceControl@@@Z
+; public: static long __cdecl CUicCore::Create(class CUicCore * __ptr64 * __ptr64)
+?Create@CUicCore@@SAJPEAPEAV1@@Z
+; public: class CDialog * __ptr64 __cdecl CDac::CreateAdvancedPropertySheet(class CWnd * __ptr64) __ptr64
+?CreateAdvancedPropertySheet@CDac@@QEAAPEAVCDialog@@PEAVCWnd@@@Z
+; public: int __cdecl CDac::ErrorMessage(unsigned long,unsigned int) __ptr64
+?ErrorMessage@CDac@@QEAAHKI@Z
+; public: unsigned long __cdecl CDac::GetAdminAccess(void) __ptr64
+?GetAdminAccess@CDac@@QEAAKXZ
+; public: char * __ptr64 __cdecl CDac::GetHostNameA(void) __ptr64
+?GetHostNameA@CDac@@QEAAPEADXZ
+; public: unsigned short * __ptr64 __cdecl CDac::GetHostNameW(void) __ptr64
+?GetHostNameW@CDac@@QEAAPEAGXZ
+; public: struct HWND__ * __ptr64 __cdecl CDac::GetOwnerHwnd(void) __ptr64
+?GetOwnerHwnd@CDac@@QEAAPEAUHWND__@@XZ
+; public: unsigned short * __ptr64 __cdecl CDac::GetVirtualHostName(void) __ptr64
+?GetVirtualHostName@CDac@@QEAAPEAGXZ
+; public: long __cdecl CDac::Init(unsigned short * __ptr64) __ptr64
+?Init@CDac@@QEAAJPEAG@Z
+; public: int __cdecl CDac::IsConnected(void) __ptr64
+?IsConnected@CDac@@QEAAHXZ
+; public: int __cdecl CDac::ProcessCommand(unsigned __int64,__int64) __ptr64
+?ProcessCommand@CDac@@QEAAH_K_J@Z
+; void __cdecl RegisterErrorSink(struct IDacErrorSink * __ptr64)
+?RegisterErrorSink@@YAXPEAUIDacErrorSink@@@Z
+RunDACExe
+; public: long __cdecl CDac::ServiceRequest(unsigned long,void * __ptr64,unsigned long,bool) __ptr64
+?ServiceRequest@CDac@@QEAAJKPEAXK_N@Z
+; public: void __cdecl CDac::SetHostNameA(char * __ptr64) __ptr64
+?SetHostNameA@CDac@@QEAAXPEAD@Z
+; public: void __cdecl CDac::SetHostNameW(unsigned short * __ptr64) __ptr64
+?SetHostNameW@CDac@@QEAAXPEAG@Z
+; public: void __cdecl CDac::SetOwnerWnd(class CWnd * __ptr64) __ptr64
+?SetOwnerWnd@CDac@@QEAAXPEAVCWnd@@@Z
+; class CDac * __ptr64 __cdecl ValidateDACInstance(void * __ptr64 * __ptr64,unsigned short * __ptr64)
+?ValidateDACInstance@@YAPEAVCDac@@PEAPEAXPEAG@Z
+DllGetClassObject
+DllGetDTCUIC
+DllRegisterServer
+DllUnregisterServer
+DtcPerfClose
+DtcPerfCollect
+DtcPerfOpen
+PerfDllRegisterServer
+ShutDownUIC
diff --git a/mingw-w64-crt/lib64/msftedit.def b/mingw-w64-crt/lib64/msftedit.def
index bf69ad1..98afce0 100644
--- a/mingw-w64-crt/lib64/msftedit.def
+++ b/mingw-w64-crt/lib64/msftedit.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file MSFTEDIT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSFTEDIT.dll
-EXPORTS
-IID_IRichEditOle
-IID_IRichEditOleCallback
-CreateTextServices
-IID_ITextServices
-IID_ITextHost
-IID_ITextHost2
-REExtendedRegisterClass
-RichEditANSIWndProc
-RichEdit10ANSIWndProc
-SetCustomTextOutHandlerEx
-DllGetVersion
-RichEditWndProc
-RichListBoxWndProc
-RichComboBoxWndProc
+; 
+; Exports of file MSFTEDIT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSFTEDIT.dll
+EXPORTS
+IID_IRichEditOle
+IID_IRichEditOleCallback
+CreateTextServices
+IID_ITextServices
+IID_ITextHost
+IID_ITextHost2
+REExtendedRegisterClass
+RichEditANSIWndProc
+RichEdit10ANSIWndProc
+SetCustomTextOutHandlerEx
+DllGetVersion
+RichEditWndProc
+RichListBoxWndProc
+RichComboBoxWndProc
diff --git a/mingw-w64-crt/lib64/msgina.def b/mingw-w64-crt/lib64/msgina.def
index 31097db..0645daf 100644
--- a/mingw-w64-crt/lib64/msgina.def
+++ b/mingw-w64-crt/lib64/msgina.def
@@ -1,30 +1,30 @@
-; 
-; Exports of file MSGINA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSGINA.dll
-EXPORTS
-ShellShutdownDialog
-WlxActivateUserShell
-WlxDisconnectNotify
-WlxDisplayLockedNotice
-WlxDisplaySASNotice
-WlxDisplayStatusMessage
-WlxGetConsoleSwitchCredentials
-WlxGetStatusMessage
-WlxInitialize
-WlxIsLockOk
-WlxIsLogoffOk
-WlxLoggedOnSAS
-WlxLoggedOutSAS
-WlxLogoff
-WlxNegotiate
-WlxNetworkProviderLoad
-WlxReconnectNotify
-WlxRemoveStatusMessage
-WlxScreenSaverNotify
-WlxShutdown
-WlxStartApplication
-WlxWkstaLockedSAS
+; 
+; Exports of file MSGINA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSGINA.dll
+EXPORTS
+ShellShutdownDialog
+WlxActivateUserShell
+WlxDisconnectNotify
+WlxDisplayLockedNotice
+WlxDisplaySASNotice
+WlxDisplayStatusMessage
+WlxGetConsoleSwitchCredentials
+WlxGetStatusMessage
+WlxInitialize
+WlxIsLockOk
+WlxIsLogoffOk
+WlxLoggedOnSAS
+WlxLoggedOutSAS
+WlxLogoff
+WlxNegotiate
+WlxNetworkProviderLoad
+WlxReconnectNotify
+WlxRemoveStatusMessage
+WlxScreenSaverNotify
+WlxShutdown
+WlxStartApplication
+WlxWkstaLockedSAS
diff --git a/mingw-w64-crt/lib64/msgr3en.def b/mingw-w64-crt/lib64/msgr3en.def
index bef4cf3..fa468fe 100644
--- a/mingw-w64-crt/lib64/msgr3en.def
+++ b/mingw-w64-crt/lib64/msgr3en.def
@@ -1,43 +1,43 @@
-; 
-; Exports of file msgr3en.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msgr3en.dll
-EXPORTS
-CheckVersion
-CheckInit
-CheckTerminate
-CheckText
-CheckGetError
-CheckGetErrorInformation
-CheckIgnoreError
-CheckResetError
-CheckFreeHandle
-CheckEnumHandles
-CheckUnloadDoc
-CheckOpenMdt
-CheckCloseMdt
-CheckAddStats
-CheckGetStats
-CheckInitStats
-CheckStats
-CheckIgnoreRule
-CheckResetRule
-CheckIsRuleIgnored
-CheckUseOptions
-CheckOptionSettings
-CheckResetOptions
-CheckWriteOptions
-CheckLoadPersistData
-CheckSavePersistData
-DllCanUnloadNow
-CheckSubtractStats
-CheckBatchUpdate
-CheckAddUdr
-CheckGetNamedEntity
-CheckGetNormalizedData
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msgr3en.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msgr3en.dll
+EXPORTS
+CheckVersion
+CheckInit
+CheckTerminate
+CheckText
+CheckGetError
+CheckGetErrorInformation
+CheckIgnoreError
+CheckResetError
+CheckFreeHandle
+CheckEnumHandles
+CheckUnloadDoc
+CheckOpenMdt
+CheckCloseMdt
+CheckAddStats
+CheckGetStats
+CheckInitStats
+CheckStats
+CheckIgnoreRule
+CheckResetRule
+CheckIsRuleIgnored
+CheckUseOptions
+CheckOptionSettings
+CheckResetOptions
+CheckWriteOptions
+CheckLoadPersistData
+CheckSavePersistData
+DllCanUnloadNow
+CheckSubtractStats
+CheckBatchUpdate
+CheckAddUdr
+CheckGetNamedEntity
+CheckGetNormalizedData
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msgrocm.def b/mingw-w64-crt/lib64/msgrocm.def
index c1b16ff..1f49422 100644
--- a/mingw-w64-crt/lib64/msgrocm.def
+++ b/mingw-w64-crt/lib64/msgrocm.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file OCMSN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OCMSN.dll
-EXPORTS
-OcEntry
+; 
+; Exports of file OCMSN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OCMSN.dll
+EXPORTS
+OcEntry
diff --git a/mingw-w64-crt/lib64/msgsvc.def b/mingw-w64-crt/lib64/msgsvc.def
index 48effc9..9194e50 100644
--- a/mingw-w64-crt/lib64/msgsvc.def
+++ b/mingw-w64-crt/lib64/msgsvc.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file msgsvc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msgsvc.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file msgsvc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msgsvc.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/mshtml.def b/mingw-w64-crt/lib64/mshtml.def
index e6fbba9..a534148 100644
--- a/mingw-w64-crt/lib64/mshtml.def
+++ b/mingw-w64-crt/lib64/mshtml.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file MSHTML.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSHTML.dll
-EXPORTS
-CreateHTMLPropertyPage
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-MatchExactGetIDsOfNames
-PrintHTML
-RNIGetCompatibleVersion
-RunHTMLApplication
-ShowHTMLDialog
-ShowHTMLDialogEx
-ShowModalDialog
-ShowModelessHTMLDialog
-com_ms_osp_ospmrshl_classInit
-com_ms_osp_ospmrshl_copyToExternal64
-com_ms_osp_ospmrshl_releaseByValExternal64
-com_ms_osp_ospmrshl_toJava64
+; 
+; Exports of file MSHTML.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSHTML.dll
+EXPORTS
+CreateHTMLPropertyPage
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+MatchExactGetIDsOfNames
+PrintHTML
+RNIGetCompatibleVersion
+RunHTMLApplication
+ShowHTMLDialog
+ShowHTMLDialogEx
+ShowModalDialog
+ShowModelessHTMLDialog
+com_ms_osp_ospmrshl_classInit
+com_ms_osp_ospmrshl_copyToExternal64
+com_ms_osp_ospmrshl_releaseByValExternal64
+com_ms_osp_ospmrshl_toJava64
diff --git a/mingw-w64-crt/lib64/mshtmled.def b/mingw-w64-crt/lib64/mshtmled.def
index 70a799c..3639046 100644
--- a/mingw-w64-crt/lib64/mshtmled.def
+++ b/mingw-w64-crt/lib64/mshtmled.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file mshtmled.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mshtmled.dll
-EXPORTS
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mshtmled.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mshtmled.dll
+EXPORTS
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msi.def b/mingw-w64-crt/lib64/msi.def
index b77be2a..8f7cb69 100644
--- a/mingw-w64-crt/lib64/msi.def
+++ b/mingw-w64-crt/lib64/msi.def
@@ -1,289 +1,289 @@
-; 
-; Exports of file msi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msi.dll
-EXPORTS
-MsiAdvertiseProductA
-MsiAdvertiseProductW
-MsiCloseAllHandles
-MsiCloseHandle
-MsiCollectUserInfoA
-MsiCollectUserInfoW
-MsiConfigureFeatureA
-MsiConfigureFeatureFromDescriptorA
-MsiConfigureFeatureFromDescriptorW
-MsiConfigureFeatureW
-MsiConfigureProductA
-MsiConfigureProductW
-MsiCreateRecord
-MsiDatabaseApplyTransformA
-MsiDatabaseApplyTransformW
-MsiDatabaseCommit
-MsiDatabaseExportA
-MsiDatabaseExportW
-MsiDatabaseGenerateTransformA
-MsiDatabaseGenerateTransformW
-MsiDatabaseGetPrimaryKeysA
-MsiDatabaseGetPrimaryKeysW
-MsiDatabaseImportA
-MsiDatabaseImportW
-MsiDatabaseMergeA
-MsiDatabaseMergeW
-MsiDatabaseOpenViewA
-MsiDatabaseOpenViewW
-MsiDoActionA
-MsiDoActionW
-MsiEnableUIPreview
-MsiEnumClientsA
-MsiEnumClientsW
-MsiEnumComponentQualifiersA
-MsiEnumComponentQualifiersW
-MsiEnumComponentsA
-MsiEnumComponentsW
-MsiEnumFeaturesA
-MsiEnumFeaturesW
-MsiEnumProductsA
-MsiEnumProductsW
-MsiEvaluateConditionA
-MsiEvaluateConditionW
-MsiGetLastErrorRecord
-MsiGetActiveDatabase
-MsiGetComponentStateA
-MsiGetComponentStateW
-MsiGetDatabaseState
-MsiGetFeatureCostA
-MsiGetFeatureCostW
-MsiGetFeatureInfoA
-MsiGetFeatureInfoW
-MsiGetFeatureStateA
-MsiGetFeatureStateW
-MsiGetFeatureUsageA
-MsiGetFeatureUsageW
-MsiGetFeatureValidStatesA
-MsiGetFeatureValidStatesW
-MsiGetLanguage
-MsiGetMode
-MsiGetProductCodeA
-MsiGetProductCodeW
-MsiGetProductInfoA
-MsiGetProductInfoFromScriptA
-MsiGetProductInfoFromScriptW
-MsiGetProductInfoW
-MsiGetProductPropertyA
-MsiGetProductPropertyW
-MsiGetPropertyA
-MsiGetPropertyW
-MsiGetSourcePathA
-MsiGetSourcePathW
-MsiGetSummaryInformationA
-MsiGetSummaryInformationW
-MsiGetTargetPathA
-MsiGetTargetPathW
-MsiGetUserInfoA
-MsiGetUserInfoW
-MsiInstallMissingComponentA
-MsiInstallMissingComponentW
-MsiInstallMissingFileA
-MsiInstallMissingFileW
-MsiInstallProductA
-MsiInstallProductW
-MsiLocateComponentA
-MsiLocateComponentW
-MsiOpenDatabaseA
-MsiOpenDatabaseW
-MsiOpenPackageA
-MsiOpenPackageW
-MsiOpenProductA
-MsiOpenProductW
-MsiPreviewBillboardA
-MsiPreviewBillboardW
-MsiPreviewDialogA
-MsiPreviewDialogW
-MsiProcessAdvertiseScriptA
-MsiProcessAdvertiseScriptW
-MsiProcessMessage
-MsiProvideComponentA
-MsiProvideComponentFromDescriptorA
-MsiProvideComponentFromDescriptorW
-MsiProvideComponentW
-MsiProvideQualifiedComponentA
-MsiProvideQualifiedComponentW
-MsiQueryFeatureStateA
-MsiQueryFeatureStateW
-MsiQueryProductStateA
-MsiQueryProductStateW
-MsiRecordDataSize
-MsiRecordGetFieldCount
-MsiRecordGetInteger
-MsiRecordGetStringA
-MsiRecordGetStringW
-MsiRecordIsNull
-MsiRecordReadStream
-MsiRecordSetInteger
-MsiRecordSetStreamA
-MsiRecordSetStreamW
-MsiRecordSetStringA
-MsiRecordSetStringW
-MsiReinstallFeatureA
-MsiReinstallFeatureFromDescriptorA
-MsiReinstallFeatureFromDescriptorW
-MsiReinstallFeatureW
-MsiReinstallProductA
-MsiReinstallProductW
-MsiSequenceA
-MsiSequenceW
-MsiSetComponentStateA
-MsiSetComponentStateW
-MsiSetExternalUIA
-MsiSetExternalUIW
-MsiSetFeatureStateA
-MsiSetFeatureStateW
-MsiSetInstallLevel
-MsiSetInternalUI
-MsiVerifyDiskSpace
-MsiSetMode
-MsiSetPropertyA
-MsiSetPropertyW
-MsiSetTargetPathA
-MsiSetTargetPathW
-MsiSummaryInfoGetPropertyA
-MsiSummaryInfoGetPropertyCount
-MsiSummaryInfoGetPropertyW
-MsiSummaryInfoPersist
-MsiSummaryInfoSetPropertyA
-MsiSummaryInfoSetPropertyW
-MsiUseFeatureA
-MsiUseFeatureW
-MsiVerifyPackageA
-MsiVerifyPackageW
-MsiViewClose
-MsiViewExecute
-MsiViewFetch
-MsiViewGetErrorA
-MsiViewGetErrorW
-MsiViewModify
-MsiDatabaseIsTablePersistentA
-MsiDatabaseIsTablePersistentW
-MsiViewGetColumnInfo
-MsiRecordClearData
-MsiEnableLogA
-MsiEnableLogW
-MsiFormatRecordA
-MsiFormatRecordW
-MsiGetComponentPathA
-MsiGetComponentPathW
-MsiApplyPatchA
-MsiApplyPatchW
-MsiAdvertiseScriptA
-MsiAdvertiseScriptW
-MsiGetPatchInfoA
-MsiGetPatchInfoW
-MsiEnumPatchesA
-MsiEnumPatchesW
-DllGetVersion
-MsiGetProductCodeFromPackageCodeA
-MsiGetProductCodeFromPackageCodeW
-MsiCreateTransformSummaryInfoA
-MsiCreateTransformSummaryInfoW
-MsiQueryFeatureStateFromDescriptorA
-MsiQueryFeatureStateFromDescriptorW
-MsiConfigureProductExA
-MsiConfigureProductExW
-MsiInvalidateFeatureCache
-MsiUseFeatureExA
-MsiUseFeatureExW
-MsiGetFileVersionA
-MsiGetFileVersionW
-MsiLoadStringA
-MsiLoadStringW
-MsiMessageBoxA
-MsiMessageBoxW
-MsiDecomposeDescriptorA
-MsiDecomposeDescriptorW
-MsiProvideQualifiedComponentExA
-MsiProvideQualifiedComponentExW
-MsiEnumRelatedProductsA
-MsiEnumRelatedProductsW
-MsiSetFeatureAttributesA
-MsiSetFeatureAttributesW
-MsiSourceListClearAllA
-MsiSourceListClearAllW
-MsiSourceListAddSourceA
-MsiSourceListAddSourceW
-MsiSourceListForceResolutionA
-MsiSourceListForceResolutionW
-MsiIsProductElevatedA
-MsiIsProductElevatedW
-MsiGetShortcutTargetA
-MsiGetShortcutTargetW
-MsiGetFileHashA
-MsiGetFileHashW
-MsiEnumComponentCostsA
-MsiEnumComponentCostsW
-MsiCreateAndVerifyInstallerDirectory
-MsiGetFileSignatureInformationA
-MsiGetFileSignatureInformationW
-MsiProvideAssemblyA
-MsiProvideAssemblyW
-MsiAdvertiseProductExA
-MsiAdvertiseProductExW
-MsiNotifySidChangeA
-MsiNotifySidChangeW
-MsiOpenPackageExA
-MsiOpenPackageExW
-MsiDeleteUserDataA
-MsiDeleteUserDataW
-Migrate10CachedPackagesA
-Migrate10CachedPackagesW
-MsiRemovePatchesA
-MsiRemovePatchesW
-MsiApplyMultiplePatchesA
-MsiApplyMultiplePatchesW
-MsiExtractPatchXMLDataA
-MsiExtractPatchXMLDataW
-MsiGetPatchInfoExA
-MsiGetPatchInfoExW
-MsiEnumProductsExA
-MsiEnumProductsExW
-MsiGetProductInfoExA
-MsiGetProductInfoExW
-MsiQueryComponentStateA
-MsiQueryComponentStateW
-MsiQueryFeatureStateExA
-MsiQueryFeatureStateExW
-MsiDeterminePatchSequenceA
-MsiDeterminePatchSequenceW
-MsiSourceListAddSourceExA
-MsiSourceListAddSourceExW
-MsiSourceListClearSourceA
-MsiSourceListClearSourceW
-MsiSourceListClearAllExA
-MsiSourceListClearAllExW
-MsiSourceListForceResolutionExA
-MsiSourceListForceResolutionExW
-MsiSourceListEnumSourcesA
-MsiSourceListEnumSourcesW
-MsiSourceListGetInfoA
-MsiSourceListGetInfoW
-MsiSourceListSetInfoA
-MsiSourceListSetInfoW
-MsiEnumPatchesExA
-MsiEnumPatchesExW
-MsiSourceListEnumMediaDisksA
-MsiSourceListEnumMediaDisksW
-MsiSourceListAddMediaDiskA
-MsiSourceListAddMediaDiskW
-MsiSourceListClearMediaDiskA
-MsiSourceListClearMediaDiskW
-MsiDetermineApplicablePatchesA
-MsiDetermineApplicablePatchesW
-MsiMessageBoxExA
-MsiMessageBoxExW
-MsiSetExternalUIRecord
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msi.dll
+EXPORTS
+MsiAdvertiseProductA
+MsiAdvertiseProductW
+MsiCloseAllHandles
+MsiCloseHandle
+MsiCollectUserInfoA
+MsiCollectUserInfoW
+MsiConfigureFeatureA
+MsiConfigureFeatureFromDescriptorA
+MsiConfigureFeatureFromDescriptorW
+MsiConfigureFeatureW
+MsiConfigureProductA
+MsiConfigureProductW
+MsiCreateRecord
+MsiDatabaseApplyTransformA
+MsiDatabaseApplyTransformW
+MsiDatabaseCommit
+MsiDatabaseExportA
+MsiDatabaseExportW
+MsiDatabaseGenerateTransformA
+MsiDatabaseGenerateTransformW
+MsiDatabaseGetPrimaryKeysA
+MsiDatabaseGetPrimaryKeysW
+MsiDatabaseImportA
+MsiDatabaseImportW
+MsiDatabaseMergeA
+MsiDatabaseMergeW
+MsiDatabaseOpenViewA
+MsiDatabaseOpenViewW
+MsiDoActionA
+MsiDoActionW
+MsiEnableUIPreview
+MsiEnumClientsA
+MsiEnumClientsW
+MsiEnumComponentQualifiersA
+MsiEnumComponentQualifiersW
+MsiEnumComponentsA
+MsiEnumComponentsW
+MsiEnumFeaturesA
+MsiEnumFeaturesW
+MsiEnumProductsA
+MsiEnumProductsW
+MsiEvaluateConditionA
+MsiEvaluateConditionW
+MsiGetLastErrorRecord
+MsiGetActiveDatabase
+MsiGetComponentStateA
+MsiGetComponentStateW
+MsiGetDatabaseState
+MsiGetFeatureCostA
+MsiGetFeatureCostW
+MsiGetFeatureInfoA
+MsiGetFeatureInfoW
+MsiGetFeatureStateA
+MsiGetFeatureStateW
+MsiGetFeatureUsageA
+MsiGetFeatureUsageW
+MsiGetFeatureValidStatesA
+MsiGetFeatureValidStatesW
+MsiGetLanguage
+MsiGetMode
+MsiGetProductCodeA
+MsiGetProductCodeW
+MsiGetProductInfoA
+MsiGetProductInfoFromScriptA
+MsiGetProductInfoFromScriptW
+MsiGetProductInfoW
+MsiGetProductPropertyA
+MsiGetProductPropertyW
+MsiGetPropertyA
+MsiGetPropertyW
+MsiGetSourcePathA
+MsiGetSourcePathW
+MsiGetSummaryInformationA
+MsiGetSummaryInformationW
+MsiGetTargetPathA
+MsiGetTargetPathW
+MsiGetUserInfoA
+MsiGetUserInfoW
+MsiInstallMissingComponentA
+MsiInstallMissingComponentW
+MsiInstallMissingFileA
+MsiInstallMissingFileW
+MsiInstallProductA
+MsiInstallProductW
+MsiLocateComponentA
+MsiLocateComponentW
+MsiOpenDatabaseA
+MsiOpenDatabaseW
+MsiOpenPackageA
+MsiOpenPackageW
+MsiOpenProductA
+MsiOpenProductW
+MsiPreviewBillboardA
+MsiPreviewBillboardW
+MsiPreviewDialogA
+MsiPreviewDialogW
+MsiProcessAdvertiseScriptA
+MsiProcessAdvertiseScriptW
+MsiProcessMessage
+MsiProvideComponentA
+MsiProvideComponentFromDescriptorA
+MsiProvideComponentFromDescriptorW
+MsiProvideComponentW
+MsiProvideQualifiedComponentA
+MsiProvideQualifiedComponentW
+MsiQueryFeatureStateA
+MsiQueryFeatureStateW
+MsiQueryProductStateA
+MsiQueryProductStateW
+MsiRecordDataSize
+MsiRecordGetFieldCount
+MsiRecordGetInteger
+MsiRecordGetStringA
+MsiRecordGetStringW
+MsiRecordIsNull
+MsiRecordReadStream
+MsiRecordSetInteger
+MsiRecordSetStreamA
+MsiRecordSetStreamW
+MsiRecordSetStringA
+MsiRecordSetStringW
+MsiReinstallFeatureA
+MsiReinstallFeatureFromDescriptorA
+MsiReinstallFeatureFromDescriptorW
+MsiReinstallFeatureW
+MsiReinstallProductA
+MsiReinstallProductW
+MsiSequenceA
+MsiSequenceW
+MsiSetComponentStateA
+MsiSetComponentStateW
+MsiSetExternalUIA
+MsiSetExternalUIW
+MsiSetFeatureStateA
+MsiSetFeatureStateW
+MsiSetInstallLevel
+MsiSetInternalUI
+MsiVerifyDiskSpace
+MsiSetMode
+MsiSetPropertyA
+MsiSetPropertyW
+MsiSetTargetPathA
+MsiSetTargetPathW
+MsiSummaryInfoGetPropertyA
+MsiSummaryInfoGetPropertyCount
+MsiSummaryInfoGetPropertyW
+MsiSummaryInfoPersist
+MsiSummaryInfoSetPropertyA
+MsiSummaryInfoSetPropertyW
+MsiUseFeatureA
+MsiUseFeatureW
+MsiVerifyPackageA
+MsiVerifyPackageW
+MsiViewClose
+MsiViewExecute
+MsiViewFetch
+MsiViewGetErrorA
+MsiViewGetErrorW
+MsiViewModify
+MsiDatabaseIsTablePersistentA
+MsiDatabaseIsTablePersistentW
+MsiViewGetColumnInfo
+MsiRecordClearData
+MsiEnableLogA
+MsiEnableLogW
+MsiFormatRecordA
+MsiFormatRecordW
+MsiGetComponentPathA
+MsiGetComponentPathW
+MsiApplyPatchA
+MsiApplyPatchW
+MsiAdvertiseScriptA
+MsiAdvertiseScriptW
+MsiGetPatchInfoA
+MsiGetPatchInfoW
+MsiEnumPatchesA
+MsiEnumPatchesW
+DllGetVersion
+MsiGetProductCodeFromPackageCodeA
+MsiGetProductCodeFromPackageCodeW
+MsiCreateTransformSummaryInfoA
+MsiCreateTransformSummaryInfoW
+MsiQueryFeatureStateFromDescriptorA
+MsiQueryFeatureStateFromDescriptorW
+MsiConfigureProductExA
+MsiConfigureProductExW
+MsiInvalidateFeatureCache
+MsiUseFeatureExA
+MsiUseFeatureExW
+MsiGetFileVersionA
+MsiGetFileVersionW
+MsiLoadStringA
+MsiLoadStringW
+MsiMessageBoxA
+MsiMessageBoxW
+MsiDecomposeDescriptorA
+MsiDecomposeDescriptorW
+MsiProvideQualifiedComponentExA
+MsiProvideQualifiedComponentExW
+MsiEnumRelatedProductsA
+MsiEnumRelatedProductsW
+MsiSetFeatureAttributesA
+MsiSetFeatureAttributesW
+MsiSourceListClearAllA
+MsiSourceListClearAllW
+MsiSourceListAddSourceA
+MsiSourceListAddSourceW
+MsiSourceListForceResolutionA
+MsiSourceListForceResolutionW
+MsiIsProductElevatedA
+MsiIsProductElevatedW
+MsiGetShortcutTargetA
+MsiGetShortcutTargetW
+MsiGetFileHashA
+MsiGetFileHashW
+MsiEnumComponentCostsA
+MsiEnumComponentCostsW
+MsiCreateAndVerifyInstallerDirectory
+MsiGetFileSignatureInformationA
+MsiGetFileSignatureInformationW
+MsiProvideAssemblyA
+MsiProvideAssemblyW
+MsiAdvertiseProductExA
+MsiAdvertiseProductExW
+MsiNotifySidChangeA
+MsiNotifySidChangeW
+MsiOpenPackageExA
+MsiOpenPackageExW
+MsiDeleteUserDataA
+MsiDeleteUserDataW
+Migrate10CachedPackagesA
+Migrate10CachedPackagesW
+MsiRemovePatchesA
+MsiRemovePatchesW
+MsiApplyMultiplePatchesA
+MsiApplyMultiplePatchesW
+MsiExtractPatchXMLDataA
+MsiExtractPatchXMLDataW
+MsiGetPatchInfoExA
+MsiGetPatchInfoExW
+MsiEnumProductsExA
+MsiEnumProductsExW
+MsiGetProductInfoExA
+MsiGetProductInfoExW
+MsiQueryComponentStateA
+MsiQueryComponentStateW
+MsiQueryFeatureStateExA
+MsiQueryFeatureStateExW
+MsiDeterminePatchSequenceA
+MsiDeterminePatchSequenceW
+MsiSourceListAddSourceExA
+MsiSourceListAddSourceExW
+MsiSourceListClearSourceA
+MsiSourceListClearSourceW
+MsiSourceListClearAllExA
+MsiSourceListClearAllExW
+MsiSourceListForceResolutionExA
+MsiSourceListForceResolutionExW
+MsiSourceListEnumSourcesA
+MsiSourceListEnumSourcesW
+MsiSourceListGetInfoA
+MsiSourceListGetInfoW
+MsiSourceListSetInfoA
+MsiSourceListSetInfoW
+MsiEnumPatchesExA
+MsiEnumPatchesExW
+MsiSourceListEnumMediaDisksA
+MsiSourceListEnumMediaDisksW
+MsiSourceListAddMediaDiskA
+MsiSourceListAddMediaDiskW
+MsiSourceListClearMediaDiskA
+MsiSourceListClearMediaDiskW
+MsiDetermineApplicablePatchesA
+MsiDetermineApplicablePatchesW
+MsiMessageBoxExA
+MsiMessageBoxExW
+MsiSetExternalUIRecord
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msident.def b/mingw-w64-crt/lib64/msident.def
index 12b486a..c3191bc 100644
--- a/mingw-w64-crt/lib64/msident.def
+++ b/mingw-w64-crt/lib64/msident.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msident.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msident.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msident.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msident.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msieftp.def b/mingw-w64-crt/lib64/msieftp.def
index 745d681..f541eb5 100644
--- a/mingw-w64-crt/lib64/msieftp.def
+++ b/mingw-w64-crt/lib64/msieftp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSIEFTP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSIEFTP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSIEFTP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSIEFTP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msihnd.def b/mingw-w64-crt/lib64/msihnd.def
index 450901c..0266506 100644
--- a/mingw-w64-crt/lib64/msihnd.def
+++ b/mingw-w64-crt/lib64/msihnd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msihnd.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msihnd.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file msihnd.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msihnd.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/msimg32.def b/mingw-w64-crt/lib64/msimg32.def
index b931d22..c607508 100644
--- a/mingw-w64-crt/lib64/msimg32.def
+++ b/mingw-w64-crt/lib64/msimg32.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSIMG32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSIMG32.dll
-EXPORTS
-vSetDdrawflag
-AlphaBlend
-DllInitialize
-GradientFill
-TransparentBlt
+; 
+; Exports of file MSIMG32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSIMG32.dll
+EXPORTS
+vSetDdrawflag
+AlphaBlend
+DllInitialize
+GradientFill
+TransparentBlt
diff --git a/mingw-w64-crt/lib64/msimtf.def b/mingw-w64-crt/lib64/msimtf.def
index 312eec3..d92915b 100644
--- a/mingw-w64-crt/lib64/msimtf.def
+++ b/mingw-w64-crt/lib64/msimtf.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file msimtf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msimtf.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-MsimtfIsGuidMapEnable
-MsimtfIsWindowFiltered
+; 
+; Exports of file msimtf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msimtf.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+MsimtfIsGuidMapEnable
+MsimtfIsWindowFiltered
diff --git a/mingw-w64-crt/lib64/msinfo.def b/mingw-w64-crt/lib64/msinfo.def
index 37b05b5..98a8527 100644
--- a/mingw-w64-crt/lib64/msinfo.def
+++ b/mingw-w64-crt/lib64/msinfo.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msinfo32.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msinfo32.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msinfo32.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msinfo32.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msiprov.def b/mingw-w64-crt/lib64/msiprov.def
index 38fc2a7..75af10e 100644
--- a/mingw-w64-crt/lib64/msiprov.def
+++ b/mingw-w64-crt/lib64/msiprov.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSIProv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSIProv.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSIProv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSIProv.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msir3jp.def b/mingw-w64-crt/lib64/msir3jp.def
index 80d5ab8..9be8c1f 100644
--- a/mingw-w64-crt/lib64/msir3jp.def
+++ b/mingw-w64-crt/lib64/msir3jp.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file msir3jp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msir3jp.dll
-EXPORTS
-EnumSelectionOffsets
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-EnumSummarizationOffsets
-EnumStemInfo
-EnumSentenceOffsets
-WordBreakInit
-WordBreakInitEx
-EnumPhrases
-EnumSummarizationOffsetsEx
-EnumStemOffsets
+; 
+; Exports of file msir3jp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msir3jp.dll
+EXPORTS
+EnumSelectionOffsets
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+EnumSummarizationOffsets
+EnumStemInfo
+EnumSentenceOffsets
+WordBreakInit
+WordBreakInitEx
+EnumPhrases
+EnumSummarizationOffsetsEx
+EnumStemOffsets
diff --git a/mingw-w64-crt/lib64/msisip.def b/mingw-w64-crt/lib64/msisip.def
index 251139e..9e3ca90 100644
--- a/mingw-w64-crt/lib64/msisip.def
+++ b/mingw-w64-crt/lib64/msisip.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file msisip.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msisip.dll
-EXPORTS
-MsiSIPIsMyTypeOfFile
-MsiSIPGetSignedDataMsg
-MsiSIPPutSignedDataMsg
-MsiSIPRemoveSignedDataMsg
-MsiSIPCreateIndirectData
-MsiSIPVerifyIndirectData
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msisip.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msisip.dll
+EXPORTS
+MsiSIPIsMyTypeOfFile
+MsiSIPGetSignedDataMsg
+MsiSIPPutSignedDataMsg
+MsiSIPRemoveSignedDataMsg
+MsiSIPCreateIndirectData
+MsiSIPVerifyIndirectData
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mslbui.def b/mingw-w64-crt/lib64/mslbui.def
index 1a79fb8..fc3e807 100644
--- a/mingw-w64-crt/lib64/mslbui.def
+++ b/mingw-w64-crt/lib64/mslbui.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSLBUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSLBUI.dll
-EXPORTS
-CTFGetLangBarAddIn
+; 
+; Exports of file MSLBUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSLBUI.dll
+EXPORTS
+CTFGetLangBarAddIn
diff --git a/mingw-w64-crt/lib64/msls31.def b/mingw-w64-crt/lib64/msls31.def
index 375389f..d0447f7 100644
--- a/mingw-w64-crt/lib64/msls31.def
+++ b/mingw-w64-crt/lib64/msls31.def
@@ -1,87 +1,87 @@
-; 
-; Exports of file msls31.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msls31.dll
-EXPORTS
-LsCreateContext
-LsDestroyContext
-LsCreateLine
-LsModifyLineHeight
-LsDestroyLine
-LsCreateSubline
-LsFetchAppendToCurrentSubline
-LsAppendRunToCurrentSubline
-LsResetRMInCurrentSubline
-LsFinishCurrentSubline
-LsTruncateSubline
-LsFindPrevBreakSubline
-LsFindNextBreakSubline
-LsForceBreakSubline
-LsSetBreakSubline
-LsDestroySubline
-LsMatchPresSubline
-LsExpandSubline
-LsGetSpecialEffectsSubline
-LsdnFinishRegular
-LsdnFinishRegularAddAdvancePen
-LsdnFinishDelete
-LsdnFinishByPen
-LsdnFinishBySubline
-LsdnFinishDeleteAll
-LsdnFinishByOneChar
-LsdnQueryObjDimRange
-LsdnResetObjDim
-LsdnQueryPenNode
-LsdnResetPenNode
-LsdnSetRigidDup
-LsdnGetDup
-LsdnSetAbsBaseLine
-LsdnResolvePrevTab
-LsdnGetCurTabInfo
-LsdnSkipCurTab
-LsdnDistribute
-LsdnSubmitSublines
-LsDisplayLine
-LsDisplaySubline
-LsQueryLineCpPpoint
-LsQueryLinePointPcp
-LsQueryLineDup
-LsQueryFLineEmpty
-LsQueryPointPcpSubline
-LsQueryCpPpointSubline
-LsSetDoc
-LsSetModWidthPairs
-LsSetCompression
-LsSetExpansion
-LsSetBreaking
-LssbGetObjDimSubline
-LssbGetDupSubline
-LssbFDonePresSubline
-LssbGetPlsrunsFromSubline
-LssbGetNumberDnodesInSubline
-LssbGetVisibleDcpInSubline
-LsPointXYFromPointUV
-LsPointUV2FromPointUV1
-LsGetWarichuLsimethods
-LsGetRubyLsimethods
-LsGetTatenakayokoLsimethods
-LsSqueezeSubline
-LsCompressSubline
-LsGetHihLsimethods
-LsQueryTextCellDetails
-LsFetchAppendToCurrentSublineResume
-LsdnGetFormatDepth
-LssbFDoneDisplay
-LsGetReverseLsimethods
-LsEnumLine
-LsGetMinDurBreaks
-LsGetLineDur
-LsEnumSubline
-LsdnModifyParaEnding
-LssbGetDurTrailInSubline
-LssbGetDurTrailWithPensInSubline
-LssbFIsSublineEmpty
-LsLwMultDivR
+; 
+; Exports of file msls31.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msls31.dll
+EXPORTS
+LsCreateContext
+LsDestroyContext
+LsCreateLine
+LsModifyLineHeight
+LsDestroyLine
+LsCreateSubline
+LsFetchAppendToCurrentSubline
+LsAppendRunToCurrentSubline
+LsResetRMInCurrentSubline
+LsFinishCurrentSubline
+LsTruncateSubline
+LsFindPrevBreakSubline
+LsFindNextBreakSubline
+LsForceBreakSubline
+LsSetBreakSubline
+LsDestroySubline
+LsMatchPresSubline
+LsExpandSubline
+LsGetSpecialEffectsSubline
+LsdnFinishRegular
+LsdnFinishRegularAddAdvancePen
+LsdnFinishDelete
+LsdnFinishByPen
+LsdnFinishBySubline
+LsdnFinishDeleteAll
+LsdnFinishByOneChar
+LsdnQueryObjDimRange
+LsdnResetObjDim
+LsdnQueryPenNode
+LsdnResetPenNode
+LsdnSetRigidDup
+LsdnGetDup
+LsdnSetAbsBaseLine
+LsdnResolvePrevTab
+LsdnGetCurTabInfo
+LsdnSkipCurTab
+LsdnDistribute
+LsdnSubmitSublines
+LsDisplayLine
+LsDisplaySubline
+LsQueryLineCpPpoint
+LsQueryLinePointPcp
+LsQueryLineDup
+LsQueryFLineEmpty
+LsQueryPointPcpSubline
+LsQueryCpPpointSubline
+LsSetDoc
+LsSetModWidthPairs
+LsSetCompression
+LsSetExpansion
+LsSetBreaking
+LssbGetObjDimSubline
+LssbGetDupSubline
+LssbFDonePresSubline
+LssbGetPlsrunsFromSubline
+LssbGetNumberDnodesInSubline
+LssbGetVisibleDcpInSubline
+LsPointXYFromPointUV
+LsPointUV2FromPointUV1
+LsGetWarichuLsimethods
+LsGetRubyLsimethods
+LsGetTatenakayokoLsimethods
+LsSqueezeSubline
+LsCompressSubline
+LsGetHihLsimethods
+LsQueryTextCellDetails
+LsFetchAppendToCurrentSublineResume
+LsdnGetFormatDepth
+LssbFDoneDisplay
+LsGetReverseLsimethods
+LsEnumLine
+LsGetMinDurBreaks
+LsGetLineDur
+LsEnumSubline
+LsdnModifyParaEnding
+LssbGetDurTrailInSubline
+LssbGetDurTrailWithPensInSubline
+LssbFIsSublineEmpty
+LsLwMultDivR
diff --git a/mingw-w64-crt/lib64/mslwvtts.def b/mingw-w64-crt/lib64/mslwvtts.def
index 21b28ec..62486cc 100644
--- a/mingw-w64-crt/lib64/mslwvtts.def
+++ b/mingw-w64-crt/lib64/mslwvtts.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSLWVTTS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSLWVTTS.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSLWVTTS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSLWVTTS.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msmqocm.def b/mingw-w64-crt/lib64/msmqocm.def
index 826c426..dcb1c5e 100644
--- a/mingw-w64-crt/lib64/msmqocm.def
+++ b/mingw-w64-crt/lib64/msmqocm.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MSMQOCM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSMQOCM.dll
-EXPORTS
-MsmqOcm
-SysprepDeleteQmId
-WelcomeEntryProc
+; 
+; Exports of file MSMQOCM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSMQOCM.dll
+EXPORTS
+MsmqOcm
+SysprepDeleteQmId
+WelcomeEntryProc
diff --git a/mingw-w64-crt/lib64/msobcomm.def b/mingw-w64-crt/lib64/msobcomm.def
index 787e41e..27d039e 100644
--- a/mingw-w64-crt/lib64/msobcomm.def
+++ b/mingw-w64-crt/lib64/msobcomm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSOBCOMM.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOBCOMM.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSOBCOMM.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOBCOMM.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msobdl.def b/mingw-w64-crt/lib64/msobdl.def
index e226527..64eca5f 100644
--- a/mingw-w64-crt/lib64/msobdl.def
+++ b/mingw-w64-crt/lib64/msobdl.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file MSOBDL.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOBDL.DLL
-EXPORTS
-DownLoadInit
-DownLoadCancel
-DownLoadExecute
-DownLoadClose
-DownLoadSetStatusCallback
-DownLoadProcess
+; 
+; Exports of file MSOBDL.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOBDL.DLL
+EXPORTS
+DownLoadInit
+DownLoadCancel
+DownLoadExecute
+DownLoadClose
+DownLoadSetStatusCallback
+DownLoadProcess
diff --git a/mingw-w64-crt/lib64/msobmain.def b/mingw-w64-crt/lib64/msobmain.def
index 1b55687..921136c 100644
--- a/mingw-w64-crt/lib64/msobmain.def
+++ b/mingw-w64-crt/lib64/msobmain.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file msobmain.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msobmain.dll
-EXPORTS
-LaunchMSOOBE
-IsOemVer
+; 
+; Exports of file msobmain.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msobmain.dll
+EXPORTS
+LaunchMSOOBE
+IsOemVer
diff --git a/mingw-w64-crt/lib64/msobshel.def b/mingw-w64-crt/lib64/msobshel.def
index cebd4f6..6aea15a 100644
--- a/mingw-w64-crt/lib64/msobshel.def
+++ b/mingw-w64-crt/lib64/msobshel.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSOBSHEL.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOBSHEL.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSOBSHEL.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOBSHEL.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msobweb.def b/mingw-w64-crt/lib64/msobweb.def
index 8a2cab7..0d89b0e 100644
--- a/mingw-w64-crt/lib64/msobweb.def
+++ b/mingw-w64-crt/lib64/msobweb.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSOBWEB.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOBWEB.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSOBWEB.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOBWEB.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msoe.def b/mingw-w64-crt/lib64/msoe.def
index 27b4ae4..21c0b7f 100644
--- a/mingw-w64-crt/lib64/msoe.def
+++ b/mingw-w64-crt/lib64/msoe.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file MSOE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOE.dll
-EXPORTS
-BMAPIAddress
-BMAPIDetails
-BMAPIFindNext
-BMAPIGetAddress
-BMAPIGetReadMail
-BMAPIReadMail
-BMAPIResolveName
-BMAPISaveMail
-BMAPISendMail
-CoStartOutlookExpress
-FIsDefaultMailConfiged
-FIsDefaultNewsConfiged
-ImportMailStoreToGUID
-ImportNewsListToGUID
-SetDefaultMailHandler
-SetDefaultNewsHandler
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-MAPIAddress
-MAPIDeleteMail
-MAPIDetails
-MAPIFindNext
-MAPIFreeBuffer
-MAPILogoff
-MAPILogon
-MAPIReadMail
-MAPIResolveName
-MAPISaveMail
-MAPISendDocuments
-MAPISendMail
+; 
+; Exports of file MSOE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOE.dll
+EXPORTS
+BMAPIAddress
+BMAPIDetails
+BMAPIFindNext
+BMAPIGetAddress
+BMAPIGetReadMail
+BMAPIReadMail
+BMAPIResolveName
+BMAPISaveMail
+BMAPISendMail
+CoStartOutlookExpress
+FIsDefaultMailConfiged
+FIsDefaultNewsConfiged
+ImportMailStoreToGUID
+ImportNewsListToGUID
+SetDefaultMailHandler
+SetDefaultNewsHandler
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+MAPIAddress
+MAPIDeleteMail
+MAPIDetails
+MAPIFindNext
+MAPIFreeBuffer
+MAPILogoff
+MAPILogon
+MAPIReadMail
+MAPIResolveName
+MAPISaveMail
+MAPISendDocuments
+MAPISendMail
diff --git a/mingw-w64-crt/lib64/msoeacct.def b/mingw-w64-crt/lib64/msoeacct.def
index 28ba36c..dfa0bd8 100644
--- a/mingw-w64-crt/lib64/msoeacct.def
+++ b/mingw-w64-crt/lib64/msoeacct.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file MSOEACCT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOEACCT.dll
-EXPORTS
-CreateAccountsFromFile
-CreateAccountsFromFileEx
-GetDllMajorVersion
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-HrCreateAccountManager
-ValidEmailAddress
+; 
+; Exports of file MSOEACCT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOEACCT.dll
+EXPORTS
+CreateAccountsFromFile
+CreateAccountsFromFileEx
+GetDllMajorVersion
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+HrCreateAccountManager
+ValidEmailAddress
diff --git a/mingw-w64-crt/lib64/msoert2.def b/mingw-w64-crt/lib64/msoert2.def
index 5c98ec6..e3bf610 100644
--- a/mingw-w64-crt/lib64/msoert2.def
+++ b/mingw-w64-crt/lib64/msoert2.def
@@ -1,162 +1,162 @@
-; 
-; Exports of file MSOERT2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOERT2.dll
-EXPORTS
-CreateSystemHandleName
-CryptAllocFunc
-CryptFreeFunc
-FInitializeRichEdit
-GetDllMajorVersion
-GetHtmlCharset
-GetRichEdClassStringW
-HrGetCertKeyUsage
-HrVerifyCertEnhKeyUsage
-IUnknownList_CreateInstance
-IVoidPtrList_CreateInstance
-IsHttpUrlA
-SetFontOnRichEd
-AppendTempFileList
-AthwsprintfW
-BrowseForFolder
-BrowseForFolderW
-BuildNotificationPackage
-CchFileTimeToDateTimeSz
-CchFileTimeToDateTimeW
-CenterDialog
-ChConvertFromHex
-CleanupFileNameInPlaceA
-CleanupFileNameInPlaceW
-CleanupGlobalTempFiles
-CopyRegistry
-CrackNotificationPackage
-CreateDataObject
-CreateEnumFormatEtc
-CreateInfoWindow
-CreateLogFile
-CreateNotify
-CreateStreamOnHFile
-CreateStreamOnHFileW
-CreateTempFile
-CreateTempFileStream
-DeleteTempFile
-DeleteTempFileOnShutdown
-DeleteTempFileOnShutdownEx
-DoHotMailWizard
-FBuildTempPath
-FBuildTempPathW
-FIsEmptyA
-FIsEmptyW
-FIsHTMLFile
-FIsHTMLFileW
-FIsSpaceA
-FIsSpaceW
-FIsValidFileNameCharA
-FIsValidFileNameCharW
-FMissingCert
-FreeTempFileList
-GenerateUniqueFileName
-GetExePath
-HrBSTRToLPSZ
-HrByteToStream
-HrCheckTridentMenu
-HrCopyLockBytesToStream
-HrCopyStream
-HrCopyStreamCB
-HrCopyStreamCBEndOnCRLF
-HrCopyStreamToByte
-HrCreatePhonebookEntry
-HrCreateTridentMenu
-HrDecodeObject
-HrEditPhonebookEntry
-HrFillRasCombo
-HrFindInetTimeZone
-HrGetBodyElement
-HrGetCertificateParam
-HrGetElementImpl
-HrGetMsgParam
-HrGetStreamPos
-HrGetStreamSize
-HrGetStyleSheet
-HrIStreamToBSTR
-HrIStreamWToBSTR
-HrIndexOfMonth
-HrIndexOfWeek
-HrIsStreamUnicode
-HrLPSZCPToBSTR
-HrLPSZToBSTR
-HrRewindStream
-HrSafeGetStreamSize
-HrSetDirtyFlagImpl
-HrStreamSeekBegin
-HrStreamSeekCur
-HrStreamSeekEnd
-HrStreamSeekSet
-HrStreamToByte
-IDrawText
-IsDigit
-IsPlatformWinNT
-IsPrint
-IsUpper
-IsValidFileIfFileUrl
-IsValidFileIfFileUrlW
-LoadMappedToolbarBitmap
-MessageBoxInst
-MessageBoxInstW
-OpenFileStream
-OpenFileStreamShare
-OpenFileStreamShareW
-OpenFileStreamW
-OpenFileStreamWithFlags
-OpenFileStreamWithFlagsW
-PSTCreateTypeSubType_NoUI
-PSTFreeHandle
-PSTGetData
-PSTSetNewData
-PVDecodeObject
-PVGetCertificateParam
-PVGetMsgParam
-PszAllocA
-PszAllocW
-PszDayFromIndex
-PszDupA
-PszDupLenA
-PszDupW
-PszEscapeMenuStringA
-PszFromANSIStreamA
-PszMonthFromIndex
-PszScanToCharA
-PszScanToWhiteA
-PszSkipWhiteA
-PszSkipWhiteW
-PszToANSI
-PszToUnicode
-ReplaceChars
-ReplaceCharsW
-RicheditStreamIn
-RicheditStreamOut
-SetIntlFont
-SetWindowLongPtrAthW
-ShellUtil_GetSpecialFolderPath
-StrChrExA
-StrToUintA
-StrToUintW
-StrTokEx
-StreamSubStringMatch
-StripCRLF
-SzGetCertificateEmailAddress
-UlStripWhitespace
-UlStripWhitespaceW
-UnlocStrEqNW
-UpdateRebarBandColors
-WriteStreamToFile
-WriteStreamToFileHandle
-WriteStreamToFileW
-WszGenerateNameFromBlob
-_MSG
-fGetBrowserUrlEncoding
-strtrim
-strtrimW
+; 
+; Exports of file MSOERT2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOERT2.dll
+EXPORTS
+CreateSystemHandleName
+CryptAllocFunc
+CryptFreeFunc
+FInitializeRichEdit
+GetDllMajorVersion
+GetHtmlCharset
+GetRichEdClassStringW
+HrGetCertKeyUsage
+HrVerifyCertEnhKeyUsage
+IUnknownList_CreateInstance
+IVoidPtrList_CreateInstance
+IsHttpUrlA
+SetFontOnRichEd
+AppendTempFileList
+AthwsprintfW
+BrowseForFolder
+BrowseForFolderW
+BuildNotificationPackage
+CchFileTimeToDateTimeSz
+CchFileTimeToDateTimeW
+CenterDialog
+ChConvertFromHex
+CleanupFileNameInPlaceA
+CleanupFileNameInPlaceW
+CleanupGlobalTempFiles
+CopyRegistry
+CrackNotificationPackage
+CreateDataObject
+CreateEnumFormatEtc
+CreateInfoWindow
+CreateLogFile
+CreateNotify
+CreateStreamOnHFile
+CreateStreamOnHFileW
+CreateTempFile
+CreateTempFileStream
+DeleteTempFile
+DeleteTempFileOnShutdown
+DeleteTempFileOnShutdownEx
+DoHotMailWizard
+FBuildTempPath
+FBuildTempPathW
+FIsEmptyA
+FIsEmptyW
+FIsHTMLFile
+FIsHTMLFileW
+FIsSpaceA
+FIsSpaceW
+FIsValidFileNameCharA
+FIsValidFileNameCharW
+FMissingCert
+FreeTempFileList
+GenerateUniqueFileName
+GetExePath
+HrBSTRToLPSZ
+HrByteToStream
+HrCheckTridentMenu
+HrCopyLockBytesToStream
+HrCopyStream
+HrCopyStreamCB
+HrCopyStreamCBEndOnCRLF
+HrCopyStreamToByte
+HrCreatePhonebookEntry
+HrCreateTridentMenu
+HrDecodeObject
+HrEditPhonebookEntry
+HrFillRasCombo
+HrFindInetTimeZone
+HrGetBodyElement
+HrGetCertificateParam
+HrGetElementImpl
+HrGetMsgParam
+HrGetStreamPos
+HrGetStreamSize
+HrGetStyleSheet
+HrIStreamToBSTR
+HrIStreamWToBSTR
+HrIndexOfMonth
+HrIndexOfWeek
+HrIsStreamUnicode
+HrLPSZCPToBSTR
+HrLPSZToBSTR
+HrRewindStream
+HrSafeGetStreamSize
+HrSetDirtyFlagImpl
+HrStreamSeekBegin
+HrStreamSeekCur
+HrStreamSeekEnd
+HrStreamSeekSet
+HrStreamToByte
+IDrawText
+IsDigit
+IsPlatformWinNT
+IsPrint
+IsUpper
+IsValidFileIfFileUrl
+IsValidFileIfFileUrlW
+LoadMappedToolbarBitmap
+MessageBoxInst
+MessageBoxInstW
+OpenFileStream
+OpenFileStreamShare
+OpenFileStreamShareW
+OpenFileStreamW
+OpenFileStreamWithFlags
+OpenFileStreamWithFlagsW
+PSTCreateTypeSubType_NoUI
+PSTFreeHandle
+PSTGetData
+PSTSetNewData
+PVDecodeObject
+PVGetCertificateParam
+PVGetMsgParam
+PszAllocA
+PszAllocW
+PszDayFromIndex
+PszDupA
+PszDupLenA
+PszDupW
+PszEscapeMenuStringA
+PszFromANSIStreamA
+PszMonthFromIndex
+PszScanToCharA
+PszScanToWhiteA
+PszSkipWhiteA
+PszSkipWhiteW
+PszToANSI
+PszToUnicode
+ReplaceChars
+ReplaceCharsW
+RicheditStreamIn
+RicheditStreamOut
+SetIntlFont
+SetWindowLongPtrAthW
+ShellUtil_GetSpecialFolderPath
+StrChrExA
+StrToUintA
+StrToUintW
+StrTokEx
+StreamSubStringMatch
+StripCRLF
+SzGetCertificateEmailAddress
+UlStripWhitespace
+UlStripWhitespaceW
+UnlocStrEqNW
+UpdateRebarBandColors
+WriteStreamToFile
+WriteStreamToFileHandle
+WriteStreamToFileW
+WszGenerateNameFromBlob
+_MSG
+fGetBrowserUrlEncoding
+strtrim
+strtrimW
diff --git a/mingw-w64-crt/lib64/mspatcha.def b/mingw-w64-crt/lib64/mspatcha.def
index 5478d6b..f97ca8a 100644
--- a/mingw-w64-crt/lib64/mspatcha.def
+++ b/mingw-w64-crt/lib64/mspatcha.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file mspatcha.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mspatcha.dll
-EXPORTS
-ApplyPatchToFileA
-ApplyPatchToFileByHandles
-ApplyPatchToFileByHandlesEx
-ApplyPatchToFileExA
-ApplyPatchToFileExW
-ApplyPatchToFileW
-GetFilePatchSignatureA
-GetFilePatchSignatureByHandle
-GetFilePatchSignatureW
-TestApplyPatchToFileA
-TestApplyPatchToFileByHandles
-TestApplyPatchToFileW
+; 
+; Exports of file mspatcha.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mspatcha.dll
+EXPORTS
+ApplyPatchToFileA
+ApplyPatchToFileByHandles
+ApplyPatchToFileByHandlesEx
+ApplyPatchToFileExA
+ApplyPatchToFileExW
+ApplyPatchToFileW
+GetFilePatchSignatureA
+GetFilePatchSignatureByHandle
+GetFilePatchSignatureW
+TestApplyPatchToFileA
+TestApplyPatchToFileByHandles
+TestApplyPatchToFileW
diff --git a/mingw-w64-crt/lib64/mspmsnsv.def b/mingw-w64-crt/lib64/mspmsnsv.def
index e1342ec..1ecf5a2 100644
--- a/mingw-w64-crt/lib64/mspmsnsv.def
+++ b/mingw-w64-crt/lib64/mspmsnsv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mspmspsn.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mspmspsn.DLL
-EXPORTS
-ServiceMain
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mspmspsn.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mspmspsn.DLL
+EXPORTS
+ServiceMain
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msports.def b/mingw-w64-crt/lib64/msports.def
index cc595cb..7836cf3 100644
--- a/mingw-w64-crt/lib64/msports.def
+++ b/mingw-w64-crt/lib64/msports.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file MSPORTS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSPORTS.DLL
-EXPORTS
-ComDBClaimNextFreePort
-ComDBClaimPort
-ComDBClose
-ComDBGetCurrentPortUsage
-ComDBOpen
-ComDBReleasePort
-ComDBResizeDatabase
-ParallelPortPropPageProvider
-PortsClassInstaller
-SerialDisplayAdvancedSettings
-SerialPortPropPageProvider
+; 
+; Exports of file MSPORTS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSPORTS.DLL
+EXPORTS
+ComDBClaimNextFreePort
+ComDBClaimPort
+ComDBClose
+ComDBGetCurrentPortUsage
+ComDBOpen
+ComDBReleasePort
+ComDBResizeDatabase
+ParallelPortPropPageProvider
+PortsClassInstaller
+SerialDisplayAdvancedSettings
+SerialPortPropPageProvider
diff --git a/mingw-w64-crt/lib64/msrating.def b/mingw-w64-crt/lib64/msrating.def
index ed58bb5..4ee8887 100644
--- a/mingw-w64-crt/lib64/msrating.def
+++ b/mingw-w64-crt/lib64/msrating.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file MSRATING.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSRATING.dll
-EXPORTS
-ChangeSupervisorPassword
-ClickedOnPRF
-ClickedOnRAT
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-RatingAccessDeniedDialog
-RatingAccessDeniedDialog2
-RatingAddPropertyPages
-RatingCheckUserAccess
-RatingCustomAddRatingHelper
-RatingCustomAddRatingSystem
-RatingCustomCrackData
-RatingCustomDeleteCrackedData
-RatingCustomInit
-RatingCustomRemoveRatingHelper
-RatingCustomSetDefaultBureau
-RatingCustomSetUserOptions
-RatingEnable
-RatingEnabledQuery
-RatingFreeDetails
-RatingInit
-RatingObtainCancel
-RatingObtainQuery
-RatingSetupUI
-VerifySupervisorPassword
+; 
+; Exports of file MSRATING.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSRATING.dll
+EXPORTS
+ChangeSupervisorPassword
+ClickedOnPRF
+ClickedOnRAT
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+RatingAccessDeniedDialog
+RatingAccessDeniedDialog2
+RatingAddPropertyPages
+RatingCheckUserAccess
+RatingCustomAddRatingHelper
+RatingCustomAddRatingSystem
+RatingCustomCrackData
+RatingCustomDeleteCrackedData
+RatingCustomInit
+RatingCustomRemoveRatingHelper
+RatingCustomSetDefaultBureau
+RatingCustomSetUserOptions
+RatingEnable
+RatingEnabledQuery
+RatingFreeDetails
+RatingInit
+RatingObtainCancel
+RatingObtainQuery
+RatingSetupUI
+VerifySupervisorPassword
diff --git a/mingw-w64-crt/lib64/msrle32.def b/mingw-w64-crt/lib64/msrle32.def
index 51d6eb1..3d3bced 100644
--- a/mingw-w64-crt/lib64/msrle32.def
+++ b/mingw-w64-crt/lib64/msrle32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSRLE32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSRLE32.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MSRLE32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSRLE32.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/mssign32.def b/mingw-w64-crt/lib64/mssign32.def
index bfc081f..54a162d 100644
--- a/mingw-w64-crt/lib64/mssign32.def
+++ b/mingw-w64-crt/lib64/mssign32.def
@@ -1,38 +1,38 @@
-; 
-; Exports of file MSSIGN32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSSIGN32.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-FreeCryptProvFromCert
-GetCryptProvFromCert
-PvkFreeCryptProv
-PvkGetCryptProv
-PvkPrivateKeyAcquireContext
-PvkPrivateKeyAcquireContextA
-PvkPrivateKeyAcquireContextFromMemory
-PvkPrivateKeyAcquireContextFromMemoryA
-PvkPrivateKeyLoad
-PvkPrivateKeyLoadA
-PvkPrivateKeyLoadFromMemory
-PvkPrivateKeyLoadFromMemoryA
-PvkPrivateKeyReleaseContext
-PvkPrivateKeyReleaseContextA
-PvkPrivateKeySave
-PvkPrivateKeySaveA
-PvkPrivateKeySaveToMemory
-PvkPrivateKeySaveToMemoryA
-SignError
-SignerAddTimeStampResponse
-SignerAddTimeStampResponseEx
-SignerCreateTimeStampRequest
-SignerFreeSignerContext
-SignerSign
-SignerSignEx
-SignerTimeStamp
-SignerTimeStampEx
-SpcGetCertFromKey
+; 
+; Exports of file MSSIGN32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSSIGN32.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+FreeCryptProvFromCert
+GetCryptProvFromCert
+PvkFreeCryptProv
+PvkGetCryptProv
+PvkPrivateKeyAcquireContext
+PvkPrivateKeyAcquireContextA
+PvkPrivateKeyAcquireContextFromMemory
+PvkPrivateKeyAcquireContextFromMemoryA
+PvkPrivateKeyLoad
+PvkPrivateKeyLoadA
+PvkPrivateKeyLoadFromMemory
+PvkPrivateKeyLoadFromMemoryA
+PvkPrivateKeyReleaseContext
+PvkPrivateKeyReleaseContextA
+PvkPrivateKeySave
+PvkPrivateKeySaveA
+PvkPrivateKeySaveToMemory
+PvkPrivateKeySaveToMemoryA
+SignError
+SignerAddTimeStampResponse
+SignerAddTimeStampResponseEx
+SignerCreateTimeStampRequest
+SignerFreeSignerContext
+SignerSign
+SignerSignEx
+SignerTimeStamp
+SignerTimeStampEx
+SpcGetCertFromKey
diff --git a/mingw-w64-crt/lib64/mssip32.def b/mingw-w64-crt/lib64/mssip32.def
index 013fd6c..f542c8a 100644
--- a/mingw-w64-crt/lib64/mssip32.def
+++ b/mingw-w64-crt/lib64/mssip32.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file MSSIP32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSSIP32.dll
-EXPORTS
-CryptSIPGetInfo
-CryptSIPGetRegWorkingFlags
-CryptSIPCreateIndirectData
-CryptSIPGetSignedDataMsg
-CryptSIPPutSignedDataMsg
-CryptSIPRemoveSignedDataMsg
-CryptSIPVerifyIndirectData
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSSIP32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSSIP32.dll
+EXPORTS
+CryptSIPGetInfo
+CryptSIPGetRegWorkingFlags
+CryptSIPCreateIndirectData
+CryptSIPGetSignedDataMsg
+CryptSIPPutSignedDataMsg
+CryptSIPRemoveSignedDataMsg
+CryptSIPVerifyIndirectData
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mstask.def b/mingw-w64-crt/lib64/mstask.def
index de8f5af..d386874 100644
--- a/mingw-w64-crt/lib64/mstask.def
+++ b/mingw-w64-crt/lib64/mstask.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file mstask.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mstask.dll
-EXPORTS
-ConvertAtJobsToTasks
-DllCanUnloadNow
-DllGetClassObject
-GetNetScheduleAccountInformation
-NetrJobAdd
-NetrJobDel
-NetrJobEnum
-NetrJobGetInfo
-SAGetAccountInformation
-SAGetNSAccountInformation
-SASetAccountInformation
-SASetNSAccountInformation
-SetNetScheduleAccountInformation
+; 
+; Exports of file mstask.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mstask.dll
+EXPORTS
+ConvertAtJobsToTasks
+DllCanUnloadNow
+DllGetClassObject
+GetNetScheduleAccountInformation
+NetrJobAdd
+NetrJobDel
+NetrJobEnum
+NetrJobGetInfo
+SAGetAccountInformation
+SAGetNSAccountInformation
+SASetAccountInformation
+SASetNSAccountInformation
+SetNetScheduleAccountInformation
diff --git a/mingw-w64-crt/lib64/mstime.def b/mingw-w64-crt/lib64/mstime.def
index 4eedab3..a6b16cd 100644
--- a/mingw-w64-crt/lib64/mstime.def
+++ b/mingw-w64-crt/lib64/mstime.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSTIME.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSTIME.dll
-EXPORTS
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSTIME.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSTIME.dll
+EXPORTS
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mstlsapi.def b/mingw-w64-crt/lib64/mstlsapi.def
index 02cad76..e97bae5 100644
--- a/mingw-w64-crt/lib64/mstlsapi.def
+++ b/mingw-w64-crt/lib64/mstlsapi.def
@@ -1,84 +1,84 @@
-; 
-; Exports of file mstlsapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mstlsapi.dll
-EXPORTS
-TLSGetVersion
-MIDL_user_allocate
-MIDL_user_free
-EnumerateTlsServer
-TLSSendServerCertificate
-TLSGetServerName
-TLSGetServerScope
-TLSIssuePlatformChallenge
-TLSIssueNewLicense
-TLSUpgradeLicense
-TLSAllocateConcurrentLicense
-TLSGetLastError
-TLSKeyPackEnumBegin
-TLSKeyPackEnumNext
-TLSKeyPackEnumEnd
-TLSLicenseEnumBegin
-TLSLicenseEnumNext
-TLSLicenseEnumEnd
-TLSGetAvailableLicenses
-TLSConnectToLsServer
-TLSConnectToAnyLsServer
-TLSDisconnectFromServer
-FindEnterpriseServer
-GetAllEnterpriseServers
-TLSInit
-TLSGetTSCertificate
-LsCsp_GetServerData
-LsCsp_DecryptEnvelopedData
-LsCsp_EncryptHwid
-LsCsp_StoreSecret
-LsCsp_RetrieveSecret
-TLSStartDiscovery
-TLSStopDiscovery
-TLSShutdown
-TLSFreeTSCertificate
-TLSIssueNewLicenseEx
-TLSUpgradeLicenseEx
-TLSCheckLicenseMark
-TLSIssueNewLicenseExEx
-TLSGetServerNameEx
-TLSLicenseEnumNextEx
-TLSGetServerNameFixed
-TLSGetServerScopeFixed
-TLSGetLastErrorFixed
-GetLicenseServersFromReg
-TLSConnectToAnyLsServerNoCertInstall
-RequestToTlsRequest
-TLSRequestTermServCert
-TLSRetrieveTermServCert
-TLSInstallCertificate
-TLSGetServerCertificate
-TLSRegisterLicenseKeyPack
-TLSGetLSPKCS10CertRequest
-TLSKeyPackAdd
-TLSKeyPackSetStatus
-TLSReturnLicense
-TLSAnnounceServer
-TLSLookupServer
-TLSAnnounceLicensePack
-TLSReturnLicensedProduct
-TLSTelephoneRegisterLKP
-TLSChallengeServer
-TLSResponseServerChallenge
-TLSGetTlsPrivateData
-TLSTriggerReGenKey
-TLSGetServerPID
-TLSGetServerSPK
-TLSDepositeServerSPK
-TLSAllocateInternetLicenseEx
-TLSReturnInternetLicenseEx
-TLSIsBetaNTServer
-TLSIsLicenseEnforceEnable
-TLSInDomain
-TLSMarkLicense
-TLSGetSupportFlags
-TLSLookupServerFixed
+; 
+; Exports of file mstlsapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mstlsapi.dll
+EXPORTS
+TLSGetVersion
+MIDL_user_allocate
+MIDL_user_free
+EnumerateTlsServer
+TLSSendServerCertificate
+TLSGetServerName
+TLSGetServerScope
+TLSIssuePlatformChallenge
+TLSIssueNewLicense
+TLSUpgradeLicense
+TLSAllocateConcurrentLicense
+TLSGetLastError
+TLSKeyPackEnumBegin
+TLSKeyPackEnumNext
+TLSKeyPackEnumEnd
+TLSLicenseEnumBegin
+TLSLicenseEnumNext
+TLSLicenseEnumEnd
+TLSGetAvailableLicenses
+TLSConnectToLsServer
+TLSConnectToAnyLsServer
+TLSDisconnectFromServer
+FindEnterpriseServer
+GetAllEnterpriseServers
+TLSInit
+TLSGetTSCertificate
+LsCsp_GetServerData
+LsCsp_DecryptEnvelopedData
+LsCsp_EncryptHwid
+LsCsp_StoreSecret
+LsCsp_RetrieveSecret
+TLSStartDiscovery
+TLSStopDiscovery
+TLSShutdown
+TLSFreeTSCertificate
+TLSIssueNewLicenseEx
+TLSUpgradeLicenseEx
+TLSCheckLicenseMark
+TLSIssueNewLicenseExEx
+TLSGetServerNameEx
+TLSLicenseEnumNextEx
+TLSGetServerNameFixed
+TLSGetServerScopeFixed
+TLSGetLastErrorFixed
+GetLicenseServersFromReg
+TLSConnectToAnyLsServerNoCertInstall
+RequestToTlsRequest
+TLSRequestTermServCert
+TLSRetrieveTermServCert
+TLSInstallCertificate
+TLSGetServerCertificate
+TLSRegisterLicenseKeyPack
+TLSGetLSPKCS10CertRequest
+TLSKeyPackAdd
+TLSKeyPackSetStatus
+TLSReturnLicense
+TLSAnnounceServer
+TLSLookupServer
+TLSAnnounceLicensePack
+TLSReturnLicensedProduct
+TLSTelephoneRegisterLKP
+TLSChallengeServer
+TLSResponseServerChallenge
+TLSGetTlsPrivateData
+TLSTriggerReGenKey
+TLSGetServerPID
+TLSGetServerSPK
+TLSDepositeServerSPK
+TLSAllocateInternetLicenseEx
+TLSReturnInternetLicenseEx
+TLSIsBetaNTServer
+TLSIsLicenseEnforceEnable
+TLSInDomain
+TLSMarkLicense
+TLSGetSupportFlags
+TLSLookupServerFixed
diff --git a/mingw-w64-crt/lib64/mstscax.def b/mingw-w64-crt/lib64/mstscax.def
index ff50d34..c3184e4 100644
--- a/mingw-w64-crt/lib64/mstscax.def
+++ b/mingw-w64-crt/lib64/mstscax.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file mstscax.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mstscax.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllGetTscCtlVer
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mstscax.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mstscax.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllGetTscCtlVer
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msutb.def b/mingw-w64-crt/lib64/msutb.def
index d35e89c..ed5fac3 100644
--- a/mingw-w64-crt/lib64/msutb.def
+++ b/mingw-w64-crt/lib64/msutb.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file MSUTB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSUTB.dll
-EXPORTS
-ClosePopupTipbar
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetLibTls
-GetPopupTipbar
-SetRegisterLangBand
+; 
+; Exports of file MSUTB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSUTB.dll
+EXPORTS
+ClosePopupTipbar
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetLibTls
+GetPopupTipbar
+SetRegisterLangBand
diff --git a/mingw-w64-crt/lib64/msv1_0.def b/mingw-w64-crt/lib64/msv1_0.def
index e0c4e76..51e8c0f 100644
--- a/mingw-w64-crt/lib64/msv1_0.def
+++ b/mingw-w64-crt/lib64/msv1_0.def
@@ -1,24 +1,24 @@
-; 
-; Exports of file msv1_0.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msv1_0.dll
-EXPORTS
-SpInitialize
-SpLsaModeInitialize
-SpUserModeInitialize
-LsaApCallPackage
-LsaApCallPackagePassthrough
-LsaApCallPackageUntrusted
-LsaApInitializePackage
-LsaApLogonTerminated
-LsaApLogonUserEx2
-Msv1_0ExportSubAuthenticationRoutine
-Msv1_0SubAuthenticationPresent
-MsvGetLogonAttemptCount
-MsvSamLogoff
-MsvSamValidate
-MsvValidateTarget
-SpInstanceInit
+; 
+; Exports of file msv1_0.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msv1_0.dll
+EXPORTS
+SpInitialize
+SpLsaModeInitialize
+SpUserModeInitialize
+LsaApCallPackage
+LsaApCallPackagePassthrough
+LsaApCallPackageUntrusted
+LsaApInitializePackage
+LsaApLogonTerminated
+LsaApLogonUserEx2
+Msv1_0ExportSubAuthenticationRoutine
+Msv1_0SubAuthenticationPresent
+MsvGetLogonAttemptCount
+MsvSamLogoff
+MsvSamValidate
+MsvValidateTarget
+SpInstanceInit
diff --git a/mingw-w64-crt/lib64/msvcirt.def b/mingw-w64-crt/lib64/msvcirt.def
index 77579cc..54b11bc 100644
--- a/mingw-w64-crt/lib64/msvcirt.def
+++ b/mingw-w64-crt/lib64/msvcirt.def
@@ -1,819 +1,819 @@
-; 
-; Exports of file msvcirt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msvcirt.dll
-EXPORTS
-; public: __cdecl Iostream_init::Iostream_init(class ios & __ptr64,int) __ptr64
-??0Iostream_init@@QEAA@AEAVios@@H@Z
-; public: __cdecl Iostream_init::Iostream_init(void) __ptr64
-??0Iostream_init@@QEAA@XZ
-; public: __cdecl exception::exception(char const * __ptr64 const & __ptr64) __ptr64
-??0exception@@QEAA@AEBQEBD@Z
-; public: __cdecl exception::exception(class exception const & __ptr64) __ptr64
-??0exception@@QEAA@AEBV0@@Z
-; public: __cdecl exception::exception(void) __ptr64
-??0exception@@QEAA@XZ
-; public: __cdecl filebuf::filebuf(class filebuf const & __ptr64) __ptr64
-??0filebuf@@QEAA@AEBV0@@Z
-; public: __cdecl filebuf::filebuf(int) __ptr64
-??0filebuf@@QEAA@H@Z
-; public: __cdecl filebuf::filebuf(int,char * __ptr64,int) __ptr64
-??0filebuf@@QEAA@HPEADH@Z
-; public: __cdecl filebuf::filebuf(void) __ptr64
-??0filebuf@@QEAA@XZ
-; public: __cdecl fstream::fstream(class fstream const & __ptr64) __ptr64
-??0fstream@@QEAA@AEBV0@@Z
-; public: __cdecl fstream::fstream(int) __ptr64
-??0fstream@@QEAA@H@Z
-; public: __cdecl fstream::fstream(int,char * __ptr64,int) __ptr64
-??0fstream@@QEAA@HPEADH@Z
-; public: __cdecl fstream::fstream(char const * __ptr64,int,int) __ptr64
-??0fstream@@QEAA@PEBDHH@Z
-; public: __cdecl fstream::fstream(void) __ptr64
-??0fstream@@QEAA@XZ
-; public: __cdecl ifstream::ifstream(class ifstream const & __ptr64) __ptr64
-??0ifstream@@QEAA@AEBV0@@Z
-; public: __cdecl ifstream::ifstream(int) __ptr64
-??0ifstream@@QEAA@H@Z
-; public: __cdecl ifstream::ifstream(int,char * __ptr64,int) __ptr64
-??0ifstream@@QEAA@HPEADH@Z
-; public: __cdecl ifstream::ifstream(char const * __ptr64,int,int) __ptr64
-??0ifstream@@QEAA@PEBDHH@Z
-; public: __cdecl ifstream::ifstream(void) __ptr64
-??0ifstream@@QEAA@XZ
-; protected: __cdecl ios::ios(class ios const & __ptr64) __ptr64
-??0ios@@IEAA@AEBV0@@Z
-; protected: __cdecl ios::ios(void) __ptr64
-??0ios@@IEAA@XZ
-; public: __cdecl ios::ios(class streambuf * __ptr64) __ptr64
-??0ios@@QEAA@PEAVstreambuf@@@Z
-; protected: __cdecl iostream::iostream(class iostream const & __ptr64) __ptr64
-??0iostream@@IEAA@AEBV0@@Z
-; protected: __cdecl iostream::iostream(void) __ptr64
-??0iostream@@IEAA@XZ
-; public: __cdecl iostream::iostream(class streambuf * __ptr64) __ptr64
-??0iostream@@QEAA@PEAVstreambuf@@@Z
-; protected: __cdecl istream::istream(class istream const & __ptr64) __ptr64
-??0istream@@IEAA@AEBV0@@Z
-; protected: __cdecl istream::istream(void) __ptr64
-??0istream@@IEAA@XZ
-; public: __cdecl istream::istream(class streambuf * __ptr64) __ptr64
-??0istream@@QEAA@PEAVstreambuf@@@Z
-; public: __cdecl istream_withassign::istream_withassign(class istream_withassign const & __ptr64) __ptr64
-??0istream_withassign@@QEAA@AEBV0@@Z
-; public: __cdecl istream_withassign::istream_withassign(class streambuf * __ptr64) __ptr64
-??0istream_withassign@@QEAA@PEAVstreambuf@@@Z
-; public: __cdecl istream_withassign::istream_withassign(void) __ptr64
-??0istream_withassign@@QEAA@XZ
-; public: __cdecl istrstream::istrstream(class istrstream const & __ptr64) __ptr64
-??0istrstream@@QEAA@AEBV0@@Z
-; public: __cdecl istrstream::istrstream(char * __ptr64) __ptr64
-??0istrstream@@QEAA@PEAD@Z
-; public: __cdecl istrstream::istrstream(char * __ptr64,int) __ptr64
-??0istrstream@@QEAA@PEADH@Z
-; public: __cdecl logic_error::logic_error(char const * __ptr64 const & __ptr64) __ptr64
-??0logic_error@@QEAA@AEBQEBD@Z
-; public: __cdecl logic_error::logic_error(class logic_error const & __ptr64) __ptr64
-??0logic_error@@QEAA@AEBV0@@Z
-; public: __cdecl ofstream::ofstream(class ofstream const & __ptr64) __ptr64
-??0ofstream@@QEAA@AEBV0@@Z
-; public: __cdecl ofstream::ofstream(int) __ptr64
-??0ofstream@@QEAA@H@Z
-; public: __cdecl ofstream::ofstream(int,char * __ptr64,int) __ptr64
-??0ofstream@@QEAA@HPEADH@Z
-; public: __cdecl ofstream::ofstream(char const * __ptr64,int,int) __ptr64
-??0ofstream@@QEAA@PEBDHH@Z
-; public: __cdecl ofstream::ofstream(void) __ptr64
-??0ofstream@@QEAA@XZ
-; protected: __cdecl ostream::ostream(class ostream const & __ptr64) __ptr64
-??0ostream@@IEAA@AEBV0@@Z
-; protected: __cdecl ostream::ostream(void) __ptr64
-??0ostream@@IEAA@XZ
-; public: __cdecl ostream::ostream(class streambuf * __ptr64) __ptr64
-??0ostream@@QEAA@PEAVstreambuf@@@Z
-; public: __cdecl ostream_withassign::ostream_withassign(class ostream_withassign const & __ptr64) __ptr64
-??0ostream_withassign@@QEAA@AEBV0@@Z
-; public: __cdecl ostream_withassign::ostream_withassign(class streambuf * __ptr64) __ptr64
-??0ostream_withassign@@QEAA@PEAVstreambuf@@@Z
-; public: __cdecl ostream_withassign::ostream_withassign(void) __ptr64
-??0ostream_withassign@@QEAA@XZ
-; public: __cdecl ostrstream::ostrstream(class ostrstream const & __ptr64) __ptr64
-??0ostrstream@@QEAA@AEBV0@@Z
-; public: __cdecl ostrstream::ostrstream(char * __ptr64,int,int) __ptr64
-??0ostrstream@@QEAA@PEADHH@Z
-; public: __cdecl ostrstream::ostrstream(void) __ptr64
-??0ostrstream@@QEAA@XZ
-; public: __cdecl stdiobuf::stdiobuf(class stdiobuf const & __ptr64) __ptr64
-??0stdiobuf@@QEAA@AEBV0@@Z
-; public: __cdecl stdiobuf::stdiobuf(struct _iobuf * __ptr64) __ptr64
-??0stdiobuf@@QEAA@PEAU_iobuf@@@Z
-; public: __cdecl stdiostream::stdiostream(class stdiostream const & __ptr64) __ptr64
-??0stdiostream@@QEAA@AEBV0@@Z
-; public: __cdecl stdiostream::stdiostream(struct _iobuf * __ptr64) __ptr64
-??0stdiostream@@QEAA@PEAU_iobuf@@@Z
-; protected: __cdecl streambuf::streambuf(char * __ptr64,int) __ptr64
-??0streambuf@@IEAA@PEADH@Z
-; protected: __cdecl streambuf::streambuf(void) __ptr64
-??0streambuf@@IEAA@XZ
-; public: __cdecl streambuf::streambuf(class streambuf const & __ptr64) __ptr64
-??0streambuf@@QEAA@AEBV0@@Z
-; public: __cdecl strstream::strstream(class strstream const & __ptr64) __ptr64
-??0strstream@@QEAA@AEBV0@@Z
-; public: __cdecl strstream::strstream(char * __ptr64,int,int) __ptr64
-??0strstream@@QEAA@PEADHH@Z
-; public: __cdecl strstream::strstream(void) __ptr64
-??0strstream@@QEAA@XZ
-; public: __cdecl strstreambuf::strstreambuf(class strstreambuf const & __ptr64) __ptr64
-??0strstreambuf@@QEAA@AEBV0@@Z
-; public: __cdecl strstreambuf::strstreambuf(int) __ptr64
-??0strstreambuf@@QEAA@H@Z
-; public: __cdecl strstreambuf::strstreambuf(void * __ptr64 (__cdecl*)(long),void (__cdecl*)(void * __ptr64)) __ptr64
-??0strstreambuf@@QEAA@P6APEAXJ@ZP6AXPEAX@Z@Z
-; public: __cdecl strstreambuf::strstreambuf(char * __ptr64,int,char * __ptr64) __ptr64
-??0strstreambuf@@QEAA@PEADH0@Z
-; public: __cdecl strstreambuf::strstreambuf(unsigned char * __ptr64,int,unsigned char * __ptr64) __ptr64
-??0strstreambuf@@QEAA@PEAEH0@Z
-; public: __cdecl strstreambuf::strstreambuf(void) __ptr64
-??0strstreambuf@@QEAA@XZ
-; public: __cdecl Iostream_init::~Iostream_init(void) __ptr64
-??1Iostream_init@@QEAA@XZ
-; public: virtual __cdecl exception::~exception(void) __ptr64
-??1exception@@UEAA@XZ
-; public: virtual __cdecl filebuf::~filebuf(void) __ptr64
-??1filebuf@@UEAA@XZ
-; public: virtual __cdecl fstream::~fstream(void) __ptr64
-??1fstream@@UEAA@XZ
-; public: virtual __cdecl ifstream::~ifstream(void) __ptr64
-??1ifstream@@UEAA@XZ
-; public: virtual __cdecl ios::~ios(void) __ptr64
-??1ios@@UEAA@XZ
-; public: virtual __cdecl iostream::~iostream(void) __ptr64
-??1iostream@@UEAA@XZ
-; public: virtual __cdecl istream::~istream(void) __ptr64
-??1istream@@UEAA@XZ
-; public: virtual __cdecl istream_withassign::~istream_withassign(void) __ptr64
-??1istream_withassign@@UEAA@XZ
-; public: virtual __cdecl istrstream::~istrstream(void) __ptr64
-??1istrstream@@UEAA@XZ
-; public: virtual __cdecl logic_error::~logic_error(void) __ptr64
-??1logic_error@@UEAA@XZ
-; public: virtual __cdecl ofstream::~ofstream(void) __ptr64
-??1ofstream@@UEAA@XZ
-; public: virtual __cdecl ostream::~ostream(void) __ptr64
-??1ostream@@UEAA@XZ
-; public: virtual __cdecl ostream_withassign::~ostream_withassign(void) __ptr64
-??1ostream_withassign@@UEAA@XZ
-; public: virtual __cdecl ostrstream::~ostrstream(void) __ptr64
-??1ostrstream@@UEAA@XZ
-; public: virtual __cdecl stdiobuf::~stdiobuf(void) __ptr64
-??1stdiobuf@@UEAA@XZ
-; public: virtual __cdecl stdiostream::~stdiostream(void) __ptr64
-??1stdiostream@@UEAA@XZ
-; public: virtual __cdecl streambuf::~streambuf(void) __ptr64
-??1streambuf@@UEAA@XZ
-; public: virtual __cdecl strstream::~strstream(void) __ptr64
-??1strstream@@UEAA@XZ
-; public: virtual __cdecl strstreambuf::~strstreambuf(void) __ptr64
-??1strstreambuf@@UEAA@XZ
-; public: class Iostream_init & __ptr64 __cdecl Iostream_init::operator=(class Iostream_init const & __ptr64) __ptr64
-??4Iostream_init@@QEAAAEAV0@AEBV0@@Z
-; public: class exception & __ptr64 __cdecl exception::operator=(class exception const & __ptr64) __ptr64
-??4exception@@QEAAAEAV0@AEBV0@@Z
-; public: class filebuf & __ptr64 __cdecl filebuf::operator=(class filebuf const & __ptr64) __ptr64
-??4filebuf@@QEAAAEAV0@AEBV0@@Z
-; public: class fstream & __ptr64 __cdecl fstream::operator=(class fstream & __ptr64) __ptr64
-??4fstream@@QEAAAEAV0@AEAV0@@Z
-; public: class ifstream & __ptr64 __cdecl ifstream::operator=(class ifstream const & __ptr64) __ptr64
-??4ifstream@@QEAAAEAV0@AEBV0@@Z
-; protected: class ios & __ptr64 __cdecl ios::operator=(class ios const & __ptr64) __ptr64
-??4ios@@IEAAAEAV0@AEBV0@@Z
-; protected: class iostream & __ptr64 __cdecl iostream::operator=(class iostream & __ptr64) __ptr64
-??4iostream@@IEAAAEAV0@AEAV0@@Z
-; protected: class iostream & __ptr64 __cdecl iostream::operator=(class streambuf * __ptr64) __ptr64
-??4iostream@@IEAAAEAV0@PEAVstreambuf@@@Z
-; protected: class istream & __ptr64 __cdecl istream::operator=(class istream const & __ptr64) __ptr64
-??4istream@@IEAAAEAV0@AEBV0@@Z
-; protected: class istream & __ptr64 __cdecl istream::operator=(class streambuf * __ptr64) __ptr64
-??4istream@@IEAAAEAV0@PEAVstreambuf@@@Z
-; public: class istream_withassign & __ptr64 __cdecl istream_withassign::operator=(class istream_withassign const & __ptr64) __ptr64
-??4istream_withassign@@QEAAAEAV0@AEBV0@@Z
-; public: class istream & __ptr64 __cdecl istream_withassign::operator=(class istream const & __ptr64) __ptr64
-??4istream_withassign@@QEAAAEAVistream@@AEBV1@@Z
-; public: class istream & __ptr64 __cdecl istream_withassign::operator=(class streambuf * __ptr64) __ptr64
-??4istream_withassign@@QEAAAEAVistream@@PEAVstreambuf@@@Z
-; public: class istrstream & __ptr64 __cdecl istrstream::operator=(class istrstream const & __ptr64) __ptr64
-??4istrstream@@QEAAAEAV0@AEBV0@@Z
-; public: class logic_error & __ptr64 __cdecl logic_error::operator=(class logic_error const & __ptr64) __ptr64
-??4logic_error@@QEAAAEAV0@AEBV0@@Z
-; public: class ofstream & __ptr64 __cdecl ofstream::operator=(class ofstream const & __ptr64) __ptr64
-??4ofstream@@QEAAAEAV0@AEBV0@@Z
-; protected: class ostream & __ptr64 __cdecl ostream::operator=(class ostream const & __ptr64) __ptr64
-??4ostream@@IEAAAEAV0@AEBV0@@Z
-; protected: class ostream & __ptr64 __cdecl ostream::operator=(class streambuf * __ptr64) __ptr64
-??4ostream@@IEAAAEAV0@PEAVstreambuf@@@Z
-; public: class ostream_withassign & __ptr64 __cdecl ostream_withassign::operator=(class ostream_withassign const & __ptr64) __ptr64
-??4ostream_withassign@@QEAAAEAV0@AEBV0@@Z
-; public: class ostream & __ptr64 __cdecl ostream_withassign::operator=(class ostream const & __ptr64) __ptr64
-??4ostream_withassign@@QEAAAEAVostream@@AEBV1@@Z
-; public: class ostream & __ptr64 __cdecl ostream_withassign::operator=(class streambuf * __ptr64) __ptr64
-??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z
-; public: class ostrstream & __ptr64 __cdecl ostrstream::operator=(class ostrstream const & __ptr64) __ptr64
-??4ostrstream@@QEAAAEAV0@AEBV0@@Z
-; public: class stdiobuf & __ptr64 __cdecl stdiobuf::operator=(class stdiobuf const & __ptr64) __ptr64
-??4stdiobuf@@QEAAAEAV0@AEBV0@@Z
-; public: class stdiostream & __ptr64 __cdecl stdiostream::operator=(class stdiostream & __ptr64) __ptr64
-??4stdiostream@@QEAAAEAV0@AEAV0@@Z
-; public: class streambuf & __ptr64 __cdecl streambuf::operator=(class streambuf const & __ptr64) __ptr64
-??4streambuf@@QEAAAEAV0@AEBV0@@Z
-; public: class strstream & __ptr64 __cdecl strstream::operator=(class strstream & __ptr64) __ptr64
-??4strstream@@QEAAAEAV0@AEAV0@@Z
-; public: class strstreambuf & __ptr64 __cdecl strstreambuf::operator=(class strstreambuf const & __ptr64) __ptr64
-??4strstreambuf@@QEAAAEAV0@AEBV0@@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(signed char & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAC@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(char & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAD@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned char & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAE@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(short & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAF@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned short & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAG@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(int & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAH@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned int & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAI@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(long & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAJ@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned long & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAK@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(float & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAM@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(double & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAN@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(long double & __ptr64) __ptr64
-??5istream@@QEAAAEAV0@AEAO@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(class istream & __ptr64 (__cdecl*)(class istream & __ptr64)) __ptr64
-??5istream@@QEAAAEAV0@P6AAEAV0@AEAV0@@Z@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(class ios & __ptr64 (__cdecl*)(class ios & __ptr64)) __ptr64
-??5istream@@QEAAAEAV0@P6AAEAVios@@AEAV1@@Z@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(signed char * __ptr64) __ptr64
-??5istream@@QEAAAEAV0@PEAC@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(char * __ptr64) __ptr64
-??5istream@@QEAAAEAV0@PEAD@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned char * __ptr64) __ptr64
-??5istream@@QEAAAEAV0@PEAE@Z
-; public: class istream & __ptr64 __cdecl istream::operator>>(class streambuf * __ptr64) __ptr64
-??5istream@@QEAAAEAV0@PEAVstreambuf@@@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(signed char) __ptr64
-??6ostream@@QEAAAEAV0@C@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(char) __ptr64
-??6ostream@@QEAAAEAV0@D@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned char) __ptr64
-??6ostream@@QEAAAEAV0@E@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(short) __ptr64
-??6ostream@@QEAAAEAV0@F@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned short) __ptr64
-??6ostream@@QEAAAEAV0@G@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(int) __ptr64
-??6ostream@@QEAAAEAV0@H@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned int) __ptr64
-??6ostream@@QEAAAEAV0@I@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(long) __ptr64
-??6ostream@@QEAAAEAV0@J@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned long) __ptr64
-??6ostream@@QEAAAEAV0@K@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(float) __ptr64
-??6ostream@@QEAAAEAV0@M@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(double) __ptr64
-??6ostream@@QEAAAEAV0@N@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(long double) __ptr64
-??6ostream@@QEAAAEAV0@O@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(class ostream & __ptr64 (__cdecl*)(class ostream & __ptr64)) __ptr64
-??6ostream@@QEAAAEAV0@P6AAEAV0@AEAV0@@Z@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(class ios & __ptr64 (__cdecl*)(class ios & __ptr64)) __ptr64
-??6ostream@@QEAAAEAV0@P6AAEAVios@@AEAV1@@Z@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(class streambuf * __ptr64) __ptr64
-??6ostream@@QEAAAEAV0@PEAVstreambuf@@@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(signed char const * __ptr64) __ptr64
-??6ostream@@QEAAAEAV0@PEBC@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(char const * __ptr64) __ptr64
-??6ostream@@QEAAAEAV0@PEBD@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned char const * __ptr64) __ptr64
-??6ostream@@QEAAAEAV0@PEBE@Z
-; public: class ostream & __ptr64 __cdecl ostream::operator<<(void const * __ptr64) __ptr64
-??6ostream@@QEAAAEAV0@PEBX@Z
-; public: int __cdecl ios::operator!(void)const  __ptr64
-??7ios@@QEBAHXZ
-; public: __cdecl ios::operator void * __ptr64(void)const  __ptr64
-??Bios@@QEBAPEAXXZ
-; const  exception::`vftable'
-??_7exception@@6B@
-; const  filebuf::`vftable'
-??_7filebuf@@6B@
-; const  fstream::`vftable'
-??_7fstream@@6B@
-; const  ifstream::`vftable'
-??_7ifstream@@6B@
-; const  ios::`vftable'
-??_7ios@@6B@
-; const  iostream::`vftable'
-??_7iostream@@6B@
-; const  istream::`vftable'
-??_7istream@@6B@
-; const  istream_withassign::`vftable'
-??_7istream_withassign@@6B@
-; const  istrstream::`vftable'
-??_7istrstream@@6B@
-; const  logic_error::`vftable'
-??_7logic_error@@6B@
-; const  ofstream::`vftable'
-??_7ofstream@@6B@
-; const  ostream::`vftable'
-??_7ostream@@6B@
-; const  ostream_withassign::`vftable'
-??_7ostream_withassign@@6B@
-; const  ostrstream::`vftable'
-??_7ostrstream@@6B@
-; const  stdiobuf::`vftable'
-??_7stdiobuf@@6B@
-; const  stdiostream::`vftable'
-??_7stdiostream@@6B@
-; const  streambuf::`vftable'
-??_7streambuf@@6B@
-; const  strstream::`vftable'
-??_7strstream@@6B@
-; const  strstreambuf::`vftable'
-??_7strstreambuf@@6B@
-; const  fstream::`vbtable'{for `istream'}
-??_8fstream@@7Bistream@@@ DATA
-; const  fstream::`vbtable'{for `ostream'}
-??_8fstream@@7Bostream@@@ DATA
-; const  ifstream::`vbtable'
-??_8ifstream@@7B@ DATA
-; const  iostream::`vbtable'{for `istream'}
-??_8iostream@@7Bistream@@@ DATA
-; const  iostream::`vbtable'{for `ostream'}
-??_8iostream@@7Bostream@@@ DATA
-; const  istream::`vbtable'
-??_8istream@@7B@ DATA
-; const  istream_withassign::`vbtable'
-??_8istream_withassign@@7B@ DATA
-; const  istrstream::`vbtable'
-??_8istrstream@@7B@ DATA
-; const  ofstream::`vbtable'
-??_8ofstream@@7B@ DATA
-; const  ostream::`vbtable'
-??_8ostream@@7B@ DATA
-; const  ostream_withassign::`vbtable'
-??_8ostream_withassign@@7B@ DATA
-; const  ostrstream::`vbtable'
-??_8ostrstream@@7B@ DATA
-; const  stdiostream::`vbtable'{for `istream'}
-??_8stdiostream@@7Bistream@@@ DATA
-; const  stdiostream::`vbtable'{for `ostream'}
-??_8stdiostream@@7Bostream@@@ DATA
-; const  strstream::`vbtable'{for `istream'}
-??_8strstream@@7Bistream@@@ DATA
-; const  strstream::`vbtable'{for `ostream'}
-??_8strstream@@7Bostream@@@ DATA
-; public: void __cdecl fstream::`vbase destructor'(void) __ptr64
-??_Dfstream@@QEAAXXZ
-; public: void __cdecl ifstream::`vbase destructor'(void) __ptr64
-??_Difstream@@QEAAXXZ
-; public: void __cdecl iostream::`vbase destructor'(void) __ptr64
-??_Diostream@@QEAAXXZ
-; public: void __cdecl istream::`vbase destructor'(void) __ptr64
-??_Distream@@QEAAXXZ
-; public: void __cdecl istream_withassign::`vbase destructor'(void) __ptr64
-??_Distream_withassign@@QEAAXXZ
-; public: void __cdecl istrstream::`vbase destructor'(void) __ptr64
-??_Distrstream@@QEAAXXZ
-; public: void __cdecl ofstream::`vbase destructor'(void) __ptr64
-??_Dofstream@@QEAAXXZ
-; public: void __cdecl ostream::`vbase destructor'(void) __ptr64
-??_Dostream@@QEAAXXZ
-; public: void __cdecl ostream_withassign::`vbase destructor'(void) __ptr64
-??_Dostream_withassign@@QEAAXXZ
-; public: void __cdecl ostrstream::`vbase destructor'(void) __ptr64
-??_Dostrstream@@QEAAXXZ
-; public: void __cdecl stdiostream::`vbase destructor'(void) __ptr64
-??_Dstdiostream@@QEAAXXZ
-; public: void __cdecl strstream::`vbase destructor'(void) __ptr64
-??_Dstrstream@@QEAAXXZ
-; public: static long const  ios::adjustfield
-?adjustfield@ios@@2JB
-; protected: int __cdecl streambuf::allocate(void) __ptr64
-?allocate@streambuf@@IEAAHXZ
-; public: class filebuf * __ptr64 __cdecl filebuf::attach(int) __ptr64
-?attach@filebuf@@QEAAPEAV1@H@Z
-; public: void __cdecl fstream::attach(int) __ptr64
-?attach@fstream@@QEAAXH@Z
-; public: void __cdecl ifstream::attach(int) __ptr64
-?attach@ifstream@@QEAAXH@Z
-; public: void __cdecl ofstream::attach(int) __ptr64
-?attach@ofstream@@QEAAXH@Z
-; public: int __cdecl ios::bad(void)const  __ptr64
-?bad@ios@@QEBAHXZ
-; protected: char * __ptr64 __cdecl streambuf::base(void)const  __ptr64
-?base@streambuf@@IEBAPEADXZ
-; public: static long const  ios::basefield
-?basefield@ios@@2JB
-; public: static int const  filebuf::binary
-?binary@filebuf@@2HB
-; public: static long __cdecl ios::bitalloc(void)
-?bitalloc@ios@@SAJXZ
-; protected: int __cdecl streambuf::blen(void)const  __ptr64
-?blen@streambuf@@IEBAHXZ
-; class ostream_withassign  cerr
-?cerr@@3Vostream_withassign@@A DATA
-; class istream_withassign  cin
-?cin@@3Vistream_withassign@@A DATA
-; public: void __cdecl ios::clear(int) __ptr64
-?clear@ios@@QEAAXH@Z
-; class ostream_withassign  clog
-?clog@@3Vostream_withassign@@A DATA
-; public: class filebuf * __ptr64 __cdecl filebuf::close(void) __ptr64
-?close@filebuf@@QEAAPEAV1@XZ
-; public: void __cdecl fstream::close(void) __ptr64
-?close@fstream@@QEAAXXZ
-; public: void __cdecl ifstream::close(void) __ptr64
-?close@ifstream@@QEAAXXZ
-; public: void __cdecl ofstream::close(void) __ptr64
-?close@ofstream@@QEAAXXZ
-; public: void __cdecl ios::clrlock(void) __ptr64
-?clrlock@ios@@QEAAXXZ
-; public: void __cdecl streambuf::clrlock(void) __ptr64
-?clrlock@streambuf@@QEAAXXZ
-; class ostream_withassign  cout
-?cout@@3Vostream_withassign@@A DATA
-; public: void __cdecl streambuf::dbp(void) __ptr64
-?dbp@streambuf@@QEAAXXZ
-; class ios & __ptr64 __cdecl dec(class ios & __ptr64)
-?dec@@YAAEAVios@@AEAV1@@Z
-; public: void __cdecl ios::delbuf(int) __ptr64
-?delbuf@ios@@QEAAXH@Z
-; public: int __cdecl ios::delbuf(void)const  __ptr64
-?delbuf@ios@@QEBAHXZ
-; protected: virtual int __cdecl streambuf::doallocate(void) __ptr64
-?doallocate@streambuf@@MEAAHXZ
-; protected: virtual int __cdecl strstreambuf::doallocate(void) __ptr64
-?doallocate@strstreambuf@@MEAAHXZ
-; public: void __cdecl istream::eatwhite(void) __ptr64
-?eatwhite@istream@@QEAAXXZ
-; protected: char * __ptr64 __cdecl streambuf::eback(void)const  __ptr64
-?eback@streambuf@@IEBAPEADXZ
-; protected: char * __ptr64 __cdecl streambuf::ebuf(void)const  __ptr64
-?ebuf@streambuf@@IEBAPEADXZ
-; protected: char * __ptr64 __cdecl streambuf::egptr(void)const  __ptr64
-?egptr@streambuf@@IEBAPEADXZ
-; class ostream & __ptr64 __cdecl endl(class ostream & __ptr64)
-?endl@@YAAEAVostream@@AEAV1@@Z
-; class ostream & __ptr64 __cdecl ends(class ostream & __ptr64)
-?ends@@YAAEAVostream@@AEAV1@@Z
-; public: int __cdecl ios::eof(void)const  __ptr64
-?eof@ios@@QEBAHXZ
-; protected: char * __ptr64 __cdecl streambuf::epptr(void)const  __ptr64
-?epptr@streambuf@@IEBAPEADXZ
-; private: static int  ios::fLockcInit
-?fLockcInit@ios@@0HA DATA
-; public: int __cdecl ios::fail(void)const  __ptr64
-?fail@ios@@QEBAHXZ
-; public: int __cdecl filebuf::fd(void)const  __ptr64
-?fd@filebuf@@QEBAHXZ
-; public: int __cdecl fstream::fd(void)const  __ptr64
-?fd@fstream@@QEBAHXZ
-; public: int __cdecl ifstream::fd(void)const  __ptr64
-?fd@ifstream@@QEBAHXZ
-; public: int __cdecl ofstream::fd(void)const  __ptr64
-?fd@ofstream@@QEBAHXZ
-; public: char __cdecl ios::fill(char) __ptr64
-?fill@ios@@QEAADD@Z
-; public: char __cdecl ios::fill(void)const  __ptr64
-?fill@ios@@QEBADXZ
-; public: long __cdecl ios::flags(long) __ptr64
-?flags@ios@@QEAAJJ@Z
-; public: long __cdecl ios::flags(void)const  __ptr64
-?flags@ios@@QEBAJXZ
-; public: static long const  ios::floatfield
-?floatfield@ios@@2JB
-; class ostream & __ptr64 __cdecl flush(class ostream & __ptr64)
-?flush@@YAAEAVostream@@AEAV1@@Z
-; public: class ostream & __ptr64 __cdecl ostream::flush(void) __ptr64
-?flush@ostream@@QEAAAEAV1@XZ
-; public: void __cdecl strstreambuf::freeze(int) __ptr64
-?freeze@strstreambuf@@QEAAXH@Z
-; protected: void __cdecl streambuf::gbump(int) __ptr64
-?gbump@streambuf@@IEAAXH@Z
-; public: int __cdecl istream::gcount(void)const  __ptr64
-?gcount@istream@@QEBAHXZ
-; protected: class istream & __ptr64 __cdecl istream::get(char * __ptr64,int,int) __ptr64
-?get@istream@@IEAAAEAV1@PEADHH@Z
-; public: class istream & __ptr64 __cdecl istream::get(signed char & __ptr64) __ptr64
-?get@istream@@QEAAAEAV1@AEAC@Z
-; public: class istream & __ptr64 __cdecl istream::get(char & __ptr64) __ptr64
-?get@istream@@QEAAAEAV1@AEAD@Z
-; public: class istream & __ptr64 __cdecl istream::get(unsigned char & __ptr64) __ptr64
-?get@istream@@QEAAAEAV1@AEAE@Z
-; public: class istream & __ptr64 __cdecl istream::get(class streambuf & __ptr64,char) __ptr64
-?get@istream@@QEAAAEAV1@AEAVstreambuf@@D@Z
-; public: class istream & __ptr64 __cdecl istream::get(signed char * __ptr64,int,char) __ptr64
-?get@istream@@QEAAAEAV1@PEACHD@Z
-; public: class istream & __ptr64 __cdecl istream::get(char * __ptr64,int,char) __ptr64
-?get@istream@@QEAAAEAV1@PEADHD@Z
-; public: class istream & __ptr64 __cdecl istream::get(unsigned char * __ptr64,int,char) __ptr64
-?get@istream@@QEAAAEAV1@PEAEHD@Z
-; public: int __cdecl istream::get(void) __ptr64
-?get@istream@@QEAAHXZ
-; private: int __cdecl istream::getdouble(char * __ptr64,int) __ptr64
-?getdouble@istream@@AEAAHPEADH@Z
-; private: int __cdecl istream::getint(char * __ptr64) __ptr64
-?getint@istream@@AEAAHPEAD@Z
-; public: class istream & __ptr64 __cdecl istream::getline(signed char * __ptr64,int,char) __ptr64
-?getline@istream@@QEAAAEAV1@PEACHD@Z
-; public: class istream & __ptr64 __cdecl istream::getline(char * __ptr64,int,char) __ptr64
-?getline@istream@@QEAAAEAV1@PEADHD@Z
-; public: class istream & __ptr64 __cdecl istream::getline(unsigned char * __ptr64,int,char) __ptr64
-?getline@istream@@QEAAAEAV1@PEAEHD@Z
-; public: int __cdecl ios::good(void)const  __ptr64
-?good@ios@@QEBAHXZ
-; protected: char * __ptr64 __cdecl streambuf::gptr(void)const  __ptr64
-?gptr@streambuf@@IEBAPEADXZ
-; class ios & __ptr64 __cdecl hex(class ios & __ptr64)
-?hex@@YAAEAVios@@AEAV1@@Z
-; public: class istream & __ptr64 __cdecl istream::ignore(int,int) __ptr64
-?ignore@istream@@QEAAAEAV1@HH@Z
-; public: int __cdecl streambuf::in_avail(void)const  __ptr64
-?in_avail@streambuf@@QEBAHXZ
-; protected: void __cdecl ios::init(class streambuf * __ptr64) __ptr64
-?init@ios@@IEAAXPEAVstreambuf@@@Z
-; public: int __cdecl istream::ipfx(int) __ptr64
-?ipfx@istream@@QEAAHH@Z
-; public: int __cdecl filebuf::is_open(void)const  __ptr64
-?is_open@filebuf@@QEBAHXZ
-; public: int __cdecl fstream::is_open(void)const  __ptr64
-?is_open@fstream@@QEBAHXZ
-; public: int __cdecl ifstream::is_open(void)const  __ptr64
-?is_open@ifstream@@QEBAHXZ
-; public: int __cdecl ofstream::is_open(void)const  __ptr64
-?is_open@ofstream@@QEBAHXZ
-; public: void __cdecl istream::isfx(void) __ptr64
-?isfx@istream@@QEAAXXZ
-; public: long & __ptr64 __cdecl ios::iword(int)const  __ptr64
-?iword@ios@@QEBAAEAJH@Z
-; public: void __cdecl ios::lock(void) __ptr64
-?lock@ios@@QEAAXXZ
-; public: void __cdecl streambuf::lock(void) __ptr64
-?lock@streambuf@@QEAAXXZ
-; public: void __cdecl ios::lockbuf(void) __ptr64
-?lockbuf@ios@@QEAAXXZ
-; protected: static void __cdecl ios::lockc(void)
-?lockc@ios@@KAXXZ
-; protected: struct _CRT_CRITICAL_SECTION * __ptr64 __cdecl ios::lockptr(void) __ptr64
-?lockptr@ios@@IEAAPEAU_CRT_CRITICAL_SECTION@@XZ
-; protected: struct _CRT_CRITICAL_SECTION * __ptr64 __cdecl streambuf::lockptr(void) __ptr64
-?lockptr@streambuf@@IEAAPEAU_CRT_CRITICAL_SECTION@@XZ
-; class ios & __ptr64 __cdecl oct(class ios & __ptr64)
-?oct@@YAAEAVios@@AEAV1@@Z
-; public: class filebuf * __ptr64 __cdecl filebuf::open(char const * __ptr64,int,int) __ptr64
-?open@filebuf@@QEAAPEAV1@PEBDHH@Z
-; public: void __cdecl fstream::open(char const * __ptr64,int,int) __ptr64
-?open@fstream@@QEAAXPEBDHH@Z
-; public: void __cdecl ifstream::open(char const * __ptr64,int,int) __ptr64
-?open@ifstream@@QEAAXPEBDHH@Z
-; public: void __cdecl ofstream::open(char const * __ptr64,int,int) __ptr64
-?open@ofstream@@QEAAXPEBDHH@Z
-; public: static int const  filebuf::openprot
-?openprot@filebuf@@2HB
-; public: int __cdecl ostream::opfx(void) __ptr64
-?opfx@ostream@@QEAAHXZ
-; public: void __cdecl ostream::osfx(void) __ptr64
-?osfx@ostream@@QEAAXXZ
-; public: int __cdecl streambuf::out_waiting(void)const  __ptr64
-?out_waiting@streambuf@@QEBAHXZ
-; public: virtual int __cdecl filebuf::overflow(int) __ptr64
-?overflow@filebuf@@UEAAHH@Z
-; public: virtual int __cdecl stdiobuf::overflow(int) __ptr64
-?overflow@stdiobuf@@UEAAHH@Z
-; public: virtual int __cdecl strstreambuf::overflow(int) __ptr64
-?overflow@strstreambuf@@UEAAHH@Z
-; public: virtual int __cdecl stdiobuf::pbackfail(int) __ptr64
-?pbackfail@stdiobuf@@UEAAHH@Z
-; public: virtual int __cdecl streambuf::pbackfail(int) __ptr64
-?pbackfail@streambuf@@UEAAHH@Z
-; protected: char * __ptr64 __cdecl streambuf::pbase(void)const  __ptr64
-?pbase@streambuf@@IEBAPEADXZ
-; protected: void __cdecl streambuf::pbump(int) __ptr64
-?pbump@streambuf@@IEAAXH@Z
-; public: int __cdecl ostrstream::pcount(void)const  __ptr64
-?pcount@ostrstream@@QEBAHXZ
-; public: int __cdecl strstream::pcount(void)const  __ptr64
-?pcount@strstream@@QEBAHXZ
-; public: int __cdecl istream::peek(void) __ptr64
-?peek@istream@@QEAAHXZ
-; protected: char * __ptr64 __cdecl streambuf::pptr(void)const  __ptr64
-?pptr@streambuf@@IEBAPEADXZ
-; public: int __cdecl ios::precision(int) __ptr64
-?precision@ios@@QEAAHH@Z
-; public: int __cdecl ios::precision(void)const  __ptr64
-?precision@ios@@QEBAHXZ
-; public: class ostream & __ptr64 __cdecl ostream::put(signed char) __ptr64
-?put@ostream@@QEAAAEAV1@C@Z
-; public: class ostream & __ptr64 __cdecl ostream::put(char) __ptr64
-?put@ostream@@QEAAAEAV1@D@Z
-; public: class ostream & __ptr64 __cdecl ostream::put(unsigned char) __ptr64
-?put@ostream@@QEAAAEAV1@E@Z
-; public: class istream & __ptr64 __cdecl istream::putback(char) __ptr64
-?putback@istream@@QEAAAEAV1@D@Z
-; public: void * __ptr64 & __ptr64 __cdecl ios::pword(int)const  __ptr64
-?pword@ios@@QEBAAEAPEAXH@Z
-; public: class filebuf * __ptr64 __cdecl fstream::rdbuf(void)const  __ptr64
-?rdbuf@fstream@@QEBAPEAVfilebuf@@XZ
-; public: class filebuf * __ptr64 __cdecl ifstream::rdbuf(void)const  __ptr64
-?rdbuf@ifstream@@QEBAPEAVfilebuf@@XZ
-; public: class streambuf * __ptr64 __cdecl ios::rdbuf(void)const  __ptr64
-?rdbuf@ios@@QEBAPEAVstreambuf@@XZ
-; public: class strstreambuf * __ptr64 __cdecl istrstream::rdbuf(void)const  __ptr64
-?rdbuf@istrstream@@QEBAPEAVstrstreambuf@@XZ
-; public: class filebuf * __ptr64 __cdecl ofstream::rdbuf(void)const  __ptr64
-?rdbuf@ofstream@@QEBAPEAVfilebuf@@XZ
-; public: class strstreambuf * __ptr64 __cdecl ostrstream::rdbuf(void)const  __ptr64
-?rdbuf@ostrstream@@QEBAPEAVstrstreambuf@@XZ
-; public: class stdiobuf * __ptr64 __cdecl stdiostream::rdbuf(void)const  __ptr64
-?rdbuf@stdiostream@@QEBAPEAVstdiobuf@@XZ
-; public: class strstreambuf * __ptr64 __cdecl strstream::rdbuf(void)const  __ptr64
-?rdbuf@strstream@@QEBAPEAVstrstreambuf@@XZ
-; public: int __cdecl ios::rdstate(void)const  __ptr64
-?rdstate@ios@@QEBAHXZ
-; public: class istream & __ptr64 __cdecl istream::read(signed char * __ptr64,int) __ptr64
-?read@istream@@QEAAAEAV1@PEACH@Z
-; public: class istream & __ptr64 __cdecl istream::read(char * __ptr64,int) __ptr64
-?read@istream@@QEAAAEAV1@PEADH@Z
-; public: class istream & __ptr64 __cdecl istream::read(unsigned char * __ptr64,int) __ptr64
-?read@istream@@QEAAAEAV1@PEAEH@Z
-; public: int __cdecl streambuf::sbumpc(void) __ptr64
-?sbumpc@streambuf@@QEAAHXZ
-; public: class istream & __ptr64 __cdecl istream::seekg(long) __ptr64
-?seekg@istream@@QEAAAEAV1@J@Z
-; public: class istream & __ptr64 __cdecl istream::seekg(long,enum ios::seek_dir) __ptr64
-?seekg@istream@@QEAAAEAV1@JW4seek_dir@ios@@@Z
-; public: virtual long __cdecl filebuf::seekoff(long,enum ios::seek_dir,int) __ptr64
-?seekoff@filebuf@@UEAAJJW4seek_dir@ios@@H@Z
-; public: virtual long __cdecl stdiobuf::seekoff(long,enum ios::seek_dir,int) __ptr64
-?seekoff@stdiobuf@@UEAAJJW4seek_dir@ios@@H@Z
-; public: virtual long __cdecl streambuf::seekoff(long,enum ios::seek_dir,int) __ptr64
-?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z
-; public: virtual long __cdecl strstreambuf::seekoff(long,enum ios::seek_dir,int) __ptr64
-?seekoff@strstreambuf@@UEAAJJW4seek_dir@ios@@H@Z
-; public: class ostream & __ptr64 __cdecl ostream::seekp(long) __ptr64
-?seekp@ostream@@QEAAAEAV1@J@Z
-; public: class ostream & __ptr64 __cdecl ostream::seekp(long,enum ios::seek_dir) __ptr64
-?seekp@ostream@@QEAAAEAV1@JW4seek_dir@ios@@@Z
-; public: virtual long __cdecl streambuf::seekpos(long,int) __ptr64
-?seekpos@streambuf@@UEAAJJH@Z
-; protected: void __cdecl streambuf::setb(char * __ptr64,char * __ptr64,int) __ptr64
-?setb@streambuf@@IEAAXPEAD0H@Z
-; public: virtual class streambuf * __ptr64 __cdecl filebuf::setbuf(char * __ptr64,int) __ptr64
-?setbuf@filebuf@@UEAAPEAVstreambuf@@PEADH@Z
-; public: class streambuf * __ptr64 __cdecl fstream::setbuf(char * __ptr64,int) __ptr64
-?setbuf@fstream@@QEAAPEAVstreambuf@@PEADH@Z
-; public: class streambuf * __ptr64 __cdecl ifstream::setbuf(char * __ptr64,int) __ptr64
-?setbuf@ifstream@@QEAAPEAVstreambuf@@PEADH@Z
-; public: class streambuf * __ptr64 __cdecl ofstream::setbuf(char * __ptr64,int) __ptr64
-?setbuf@ofstream@@QEAAPEAVstreambuf@@PEADH@Z
-; public: virtual class streambuf * __ptr64 __cdecl streambuf::setbuf(char * __ptr64,int) __ptr64
-?setbuf@streambuf@@UEAAPEAV1@PEADH@Z
-; public: virtual class streambuf * __ptr64 __cdecl strstreambuf::setbuf(char * __ptr64,int) __ptr64
-?setbuf@strstreambuf@@UEAAPEAVstreambuf@@PEADH@Z
-; public: long __cdecl ios::setf(long) __ptr64
-?setf@ios@@QEAAJJ@Z
-; public: long __cdecl ios::setf(long,long) __ptr64
-?setf@ios@@QEAAJJJ@Z
-; protected: void __cdecl streambuf::setg(char * __ptr64,char * __ptr64,char * __ptr64) __ptr64
-?setg@streambuf@@IEAAXPEAD00@Z
-; public: void __cdecl ios::setlock(void) __ptr64
-?setlock@ios@@QEAAXXZ
-; public: void __cdecl streambuf::setlock(void) __ptr64
-?setlock@streambuf@@QEAAXXZ
-; public: int __cdecl filebuf::setmode(int) __ptr64
-?setmode@filebuf@@QEAAHH@Z
-; public: int __cdecl fstream::setmode(int) __ptr64
-?setmode@fstream@@QEAAHH@Z
-; public: int __cdecl ifstream::setmode(int) __ptr64
-?setmode@ifstream@@QEAAHH@Z
-; public: int __cdecl ofstream::setmode(int) __ptr64
-?setmode@ofstream@@QEAAHH@Z
-; protected: void __cdecl streambuf::setp(char * __ptr64,char * __ptr64) __ptr64
-?setp@streambuf@@IEAAXPEAD0@Z
-; public: int __cdecl stdiobuf::setrwbuf(int,int) __ptr64
-?setrwbuf@stdiobuf@@QEAAHHH@Z
-; public: int __cdecl streambuf::sgetc(void) __ptr64
-?sgetc@streambuf@@QEAAHXZ
-; public: int __cdecl streambuf::sgetn(char * __ptr64,int) __ptr64
-?sgetn@streambuf@@QEAAHPEADH@Z
-; public: static int const  filebuf::sh_none
-?sh_none@filebuf@@2HB
-; public: static int const  filebuf::sh_read
-?sh_read@filebuf@@2HB
-; public: static int const  filebuf::sh_write
-?sh_write@filebuf@@2HB
-; public: int __cdecl streambuf::snextc(void) __ptr64
-?snextc@streambuf@@QEAAHXZ
-; public: int __cdecl streambuf::sputbackc(char) __ptr64
-?sputbackc@streambuf@@QEAAHD@Z
-; public: int __cdecl streambuf::sputc(int) __ptr64
-?sputc@streambuf@@QEAAHH@Z
-; public: int __cdecl streambuf::sputn(char const * __ptr64,int) __ptr64
-?sputn@streambuf@@QEAAHPEBDH@Z
-; public: struct _iobuf * __ptr64 __cdecl stdiobuf::stdiofile(void) __ptr64
-?stdiofile@stdiobuf@@QEAAPEAU_iobuf@@XZ
-; public: void __cdecl streambuf::stossc(void) __ptr64
-?stossc@streambuf@@QEAAXXZ
-; public: char * __ptr64 __cdecl istrstream::str(void) __ptr64
-?str@istrstream@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl ostrstream::str(void) __ptr64
-?str@ostrstream@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl strstream::str(void) __ptr64
-?str@strstream@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl strstreambuf::str(void) __ptr64
-?str@strstreambuf@@QEAAPEADXZ
-; private: static int  ios::sunk_with_stdio
-?sunk_with_stdio@ios@@0HA DATA
-; public: virtual int __cdecl filebuf::sync(void) __ptr64
-?sync@filebuf@@UEAAHXZ
-; public: int __cdecl istream::sync(void) __ptr64
-?sync@istream@@QEAAHXZ
-; public: virtual int __cdecl stdiobuf::sync(void) __ptr64
-?sync@stdiobuf@@UEAAHXZ
-; public: virtual int __cdecl streambuf::sync(void) __ptr64
-?sync@streambuf@@UEAAHXZ
-; public: virtual int __cdecl strstreambuf::sync(void) __ptr64
-?sync@strstreambuf@@UEAAHXZ
-; public: static void __cdecl ios::sync_with_stdio(void)
-?sync_with_stdio@ios@@SAXXZ
-; public: long __cdecl istream::tellg(void) __ptr64
-?tellg@istream@@QEAAJXZ
-; public: long __cdecl ostream::tellp(void) __ptr64
-?tellp@ostream@@QEAAJXZ
-; public: static int const  filebuf::text
-?text@filebuf@@2HB
-; public: class ostream * __ptr64 __cdecl ios::tie(class ostream * __ptr64) __ptr64
-?tie@ios@@QEAAPEAVostream@@PEAV2@@Z
-; public: class ostream * __ptr64 __cdecl ios::tie(void)const  __ptr64
-?tie@ios@@QEBAPEAVostream@@XZ
-; protected: void __cdecl streambuf::unbuffered(int) __ptr64
-?unbuffered@streambuf@@IEAAXH@Z
-; protected: int __cdecl streambuf::unbuffered(void)const  __ptr64
-?unbuffered@streambuf@@IEBAHXZ
-; public: virtual int __cdecl filebuf::underflow(void) __ptr64
-?underflow@filebuf@@UEAAHXZ
-; public: virtual int __cdecl stdiobuf::underflow(void) __ptr64
-?underflow@stdiobuf@@UEAAHXZ
-; public: virtual int __cdecl strstreambuf::underflow(void) __ptr64
-?underflow@strstreambuf@@UEAAHXZ
-; public: void __cdecl ios::unlock(void) __ptr64
-?unlock@ios@@QEAAXXZ
-; public: void __cdecl streambuf::unlock(void) __ptr64
-?unlock@streambuf@@QEAAXXZ
-; public: void __cdecl ios::unlockbuf(void) __ptr64
-?unlockbuf@ios@@QEAAXXZ
-; protected: static void __cdecl ios::unlockc(void)
-?unlockc@ios@@KAXXZ
-; public: long __cdecl ios::unsetf(long) __ptr64
-?unsetf@ios@@QEAAJJ@Z
-; public: virtual char const * __ptr64 __cdecl exception::what(void)const  __ptr64
-?what@exception@@UEBAPEBDXZ
-; public: int __cdecl ios::width(int) __ptr64
-?width@ios@@QEAAHH@Z
-; public: int __cdecl ios::width(void)const  __ptr64
-?width@ios@@QEBAHXZ
-; public: class ostream & __ptr64 __cdecl ostream::write(signed char const * __ptr64,int) __ptr64
-?write@ostream@@QEAAAEAV1@PEBCH@Z
-; public: class ostream & __ptr64 __cdecl ostream::write(char const * __ptr64,int) __ptr64
-?write@ostream@@QEAAAEAV1@PEBDH@Z
-; public: class ostream & __ptr64 __cdecl ostream::write(unsigned char const * __ptr64,int) __ptr64
-?write@ostream@@QEAAAEAV1@PEBEH@Z
-; private: class ostream & __ptr64 __cdecl ostream::writepad(char const * __ptr64,char const * __ptr64) __ptr64
-?writepad@ostream@@AEAAAEAV1@PEBD0@Z
-; class istream & __ptr64 __cdecl ws(class istream & __ptr64)
-?ws@@YAAEAVistream@@AEAV1@@Z
-; private: static int  ios::x_curindex
-?x_curindex@ios@@0HA DATA
-; private: static struct _CRT_CRITICAL_SECTION  ios::x_lockc
-?x_lockc@ios@@0U_CRT_CRITICAL_SECTION@@A DATA
-; private: static long  ios::x_maxbit
-?x_maxbit@ios@@0JA DATA
-; private: static long *  ios::x_statebuf
-?x_statebuf@ios@@0PAJA DATA
-; public: static int __cdecl ios::xalloc(void)
-?xalloc@ios@@SAHXZ
-; public: virtual int __cdecl streambuf::xsgetn(char * __ptr64,int) __ptr64
-?xsgetn@streambuf@@UEAAHPEADH@Z
-; public: virtual int __cdecl streambuf::xsputn(char const * __ptr64,int) __ptr64
-?xsputn@streambuf@@UEAAHPEBDH@Z
-__dummy_export DATA
-_mtlock
-_mtunlock
+; 
+; Exports of file msvcirt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msvcirt.dll
+EXPORTS
+; public: __cdecl Iostream_init::Iostream_init(class ios & __ptr64,int) __ptr64
+??0Iostream_init@@QEAA@AEAVios@@H@Z
+; public: __cdecl Iostream_init::Iostream_init(void) __ptr64
+??0Iostream_init@@QEAA@XZ
+; public: __cdecl exception::exception(char const * __ptr64 const & __ptr64) __ptr64
+??0exception@@QEAA@AEBQEBD@Z
+; public: __cdecl exception::exception(class exception const & __ptr64) __ptr64
+??0exception@@QEAA@AEBV0@@Z
+; public: __cdecl exception::exception(void) __ptr64
+??0exception@@QEAA@XZ
+; public: __cdecl filebuf::filebuf(class filebuf const & __ptr64) __ptr64
+??0filebuf@@QEAA@AEBV0@@Z
+; public: __cdecl filebuf::filebuf(int) __ptr64
+??0filebuf@@QEAA@H@Z
+; public: __cdecl filebuf::filebuf(int,char * __ptr64,int) __ptr64
+??0filebuf@@QEAA@HPEADH@Z
+; public: __cdecl filebuf::filebuf(void) __ptr64
+??0filebuf@@QEAA@XZ
+; public: __cdecl fstream::fstream(class fstream const & __ptr64) __ptr64
+??0fstream@@QEAA@AEBV0@@Z
+; public: __cdecl fstream::fstream(int) __ptr64
+??0fstream@@QEAA@H@Z
+; public: __cdecl fstream::fstream(int,char * __ptr64,int) __ptr64
+??0fstream@@QEAA@HPEADH@Z
+; public: __cdecl fstream::fstream(char const * __ptr64,int,int) __ptr64
+??0fstream@@QEAA@PEBDHH@Z
+; public: __cdecl fstream::fstream(void) __ptr64
+??0fstream@@QEAA@XZ
+; public: __cdecl ifstream::ifstream(class ifstream const & __ptr64) __ptr64
+??0ifstream@@QEAA@AEBV0@@Z
+; public: __cdecl ifstream::ifstream(int) __ptr64
+??0ifstream@@QEAA@H@Z
+; public: __cdecl ifstream::ifstream(int,char * __ptr64,int) __ptr64
+??0ifstream@@QEAA@HPEADH@Z
+; public: __cdecl ifstream::ifstream(char const * __ptr64,int,int) __ptr64
+??0ifstream@@QEAA@PEBDHH@Z
+; public: __cdecl ifstream::ifstream(void) __ptr64
+??0ifstream@@QEAA@XZ
+; protected: __cdecl ios::ios(class ios const & __ptr64) __ptr64
+??0ios@@IEAA@AEBV0@@Z
+; protected: __cdecl ios::ios(void) __ptr64
+??0ios@@IEAA@XZ
+; public: __cdecl ios::ios(class streambuf * __ptr64) __ptr64
+??0ios@@QEAA@PEAVstreambuf@@@Z
+; protected: __cdecl iostream::iostream(class iostream const & __ptr64) __ptr64
+??0iostream@@IEAA@AEBV0@@Z
+; protected: __cdecl iostream::iostream(void) __ptr64
+??0iostream@@IEAA@XZ
+; public: __cdecl iostream::iostream(class streambuf * __ptr64) __ptr64
+??0iostream@@QEAA@PEAVstreambuf@@@Z
+; protected: __cdecl istream::istream(class istream const & __ptr64) __ptr64
+??0istream@@IEAA@AEBV0@@Z
+; protected: __cdecl istream::istream(void) __ptr64
+??0istream@@IEAA@XZ
+; public: __cdecl istream::istream(class streambuf * __ptr64) __ptr64
+??0istream@@QEAA@PEAVstreambuf@@@Z
+; public: __cdecl istream_withassign::istream_withassign(class istream_withassign const & __ptr64) __ptr64
+??0istream_withassign@@QEAA@AEBV0@@Z
+; public: __cdecl istream_withassign::istream_withassign(class streambuf * __ptr64) __ptr64
+??0istream_withassign@@QEAA@PEAVstreambuf@@@Z
+; public: __cdecl istream_withassign::istream_withassign(void) __ptr64
+??0istream_withassign@@QEAA@XZ
+; public: __cdecl istrstream::istrstream(class istrstream const & __ptr64) __ptr64
+??0istrstream@@QEAA@AEBV0@@Z
+; public: __cdecl istrstream::istrstream(char * __ptr64) __ptr64
+??0istrstream@@QEAA@PEAD@Z
+; public: __cdecl istrstream::istrstream(char * __ptr64,int) __ptr64
+??0istrstream@@QEAA@PEADH@Z
+; public: __cdecl logic_error::logic_error(char const * __ptr64 const & __ptr64) __ptr64
+??0logic_error@@QEAA@AEBQEBD@Z
+; public: __cdecl logic_error::logic_error(class logic_error const & __ptr64) __ptr64
+??0logic_error@@QEAA@AEBV0@@Z
+; public: __cdecl ofstream::ofstream(class ofstream const & __ptr64) __ptr64
+??0ofstream@@QEAA@AEBV0@@Z
+; public: __cdecl ofstream::ofstream(int) __ptr64
+??0ofstream@@QEAA@H@Z
+; public: __cdecl ofstream::ofstream(int,char * __ptr64,int) __ptr64
+??0ofstream@@QEAA@HPEADH@Z
+; public: __cdecl ofstream::ofstream(char const * __ptr64,int,int) __ptr64
+??0ofstream@@QEAA@PEBDHH@Z
+; public: __cdecl ofstream::ofstream(void) __ptr64
+??0ofstream@@QEAA@XZ
+; protected: __cdecl ostream::ostream(class ostream const & __ptr64) __ptr64
+??0ostream@@IEAA@AEBV0@@Z
+; protected: __cdecl ostream::ostream(void) __ptr64
+??0ostream@@IEAA@XZ
+; public: __cdecl ostream::ostream(class streambuf * __ptr64) __ptr64
+??0ostream@@QEAA@PEAVstreambuf@@@Z
+; public: __cdecl ostream_withassign::ostream_withassign(class ostream_withassign const & __ptr64) __ptr64
+??0ostream_withassign@@QEAA@AEBV0@@Z
+; public: __cdecl ostream_withassign::ostream_withassign(class streambuf * __ptr64) __ptr64
+??0ostream_withassign@@QEAA@PEAVstreambuf@@@Z
+; public: __cdecl ostream_withassign::ostream_withassign(void) __ptr64
+??0ostream_withassign@@QEAA@XZ
+; public: __cdecl ostrstream::ostrstream(class ostrstream const & __ptr64) __ptr64
+??0ostrstream@@QEAA@AEBV0@@Z
+; public: __cdecl ostrstream::ostrstream(char * __ptr64,int,int) __ptr64
+??0ostrstream@@QEAA@PEADHH@Z
+; public: __cdecl ostrstream::ostrstream(void) __ptr64
+??0ostrstream@@QEAA@XZ
+; public: __cdecl stdiobuf::stdiobuf(class stdiobuf const & __ptr64) __ptr64
+??0stdiobuf@@QEAA@AEBV0@@Z
+; public: __cdecl stdiobuf::stdiobuf(struct _iobuf * __ptr64) __ptr64
+??0stdiobuf@@QEAA@PEAU_iobuf@@@Z
+; public: __cdecl stdiostream::stdiostream(class stdiostream const & __ptr64) __ptr64
+??0stdiostream@@QEAA@AEBV0@@Z
+; public: __cdecl stdiostream::stdiostream(struct _iobuf * __ptr64) __ptr64
+??0stdiostream@@QEAA@PEAU_iobuf@@@Z
+; protected: __cdecl streambuf::streambuf(char * __ptr64,int) __ptr64
+??0streambuf@@IEAA@PEADH@Z
+; protected: __cdecl streambuf::streambuf(void) __ptr64
+??0streambuf@@IEAA@XZ
+; public: __cdecl streambuf::streambuf(class streambuf const & __ptr64) __ptr64
+??0streambuf@@QEAA@AEBV0@@Z
+; public: __cdecl strstream::strstream(class strstream const & __ptr64) __ptr64
+??0strstream@@QEAA@AEBV0@@Z
+; public: __cdecl strstream::strstream(char * __ptr64,int,int) __ptr64
+??0strstream@@QEAA@PEADHH@Z
+; public: __cdecl strstream::strstream(void) __ptr64
+??0strstream@@QEAA@XZ
+; public: __cdecl strstreambuf::strstreambuf(class strstreambuf const & __ptr64) __ptr64
+??0strstreambuf@@QEAA@AEBV0@@Z
+; public: __cdecl strstreambuf::strstreambuf(int) __ptr64
+??0strstreambuf@@QEAA@H@Z
+; public: __cdecl strstreambuf::strstreambuf(void * __ptr64 (__cdecl*)(long),void (__cdecl*)(void * __ptr64)) __ptr64
+??0strstreambuf@@QEAA@P6APEAXJ@ZP6AXPEAX@Z@Z
+; public: __cdecl strstreambuf::strstreambuf(char * __ptr64,int,char * __ptr64) __ptr64
+??0strstreambuf@@QEAA@PEADH0@Z
+; public: __cdecl strstreambuf::strstreambuf(unsigned char * __ptr64,int,unsigned char * __ptr64) __ptr64
+??0strstreambuf@@QEAA@PEAEH0@Z
+; public: __cdecl strstreambuf::strstreambuf(void) __ptr64
+??0strstreambuf@@QEAA@XZ
+; public: __cdecl Iostream_init::~Iostream_init(void) __ptr64
+??1Iostream_init@@QEAA@XZ
+; public: virtual __cdecl exception::~exception(void) __ptr64
+??1exception@@UEAA@XZ
+; public: virtual __cdecl filebuf::~filebuf(void) __ptr64
+??1filebuf@@UEAA@XZ
+; public: virtual __cdecl fstream::~fstream(void) __ptr64
+??1fstream@@UEAA@XZ
+; public: virtual __cdecl ifstream::~ifstream(void) __ptr64
+??1ifstream@@UEAA@XZ
+; public: virtual __cdecl ios::~ios(void) __ptr64
+??1ios@@UEAA@XZ
+; public: virtual __cdecl iostream::~iostream(void) __ptr64
+??1iostream@@UEAA@XZ
+; public: virtual __cdecl istream::~istream(void) __ptr64
+??1istream@@UEAA@XZ
+; public: virtual __cdecl istream_withassign::~istream_withassign(void) __ptr64
+??1istream_withassign@@UEAA@XZ
+; public: virtual __cdecl istrstream::~istrstream(void) __ptr64
+??1istrstream@@UEAA@XZ
+; public: virtual __cdecl logic_error::~logic_error(void) __ptr64
+??1logic_error@@UEAA@XZ
+; public: virtual __cdecl ofstream::~ofstream(void) __ptr64
+??1ofstream@@UEAA@XZ
+; public: virtual __cdecl ostream::~ostream(void) __ptr64
+??1ostream@@UEAA@XZ
+; public: virtual __cdecl ostream_withassign::~ostream_withassign(void) __ptr64
+??1ostream_withassign@@UEAA@XZ
+; public: virtual __cdecl ostrstream::~ostrstream(void) __ptr64
+??1ostrstream@@UEAA@XZ
+; public: virtual __cdecl stdiobuf::~stdiobuf(void) __ptr64
+??1stdiobuf@@UEAA@XZ
+; public: virtual __cdecl stdiostream::~stdiostream(void) __ptr64
+??1stdiostream@@UEAA@XZ
+; public: virtual __cdecl streambuf::~streambuf(void) __ptr64
+??1streambuf@@UEAA@XZ
+; public: virtual __cdecl strstream::~strstream(void) __ptr64
+??1strstream@@UEAA@XZ
+; public: virtual __cdecl strstreambuf::~strstreambuf(void) __ptr64
+??1strstreambuf@@UEAA@XZ
+; public: class Iostream_init & __ptr64 __cdecl Iostream_init::operator=(class Iostream_init const & __ptr64) __ptr64
+??4Iostream_init@@QEAAAEAV0@AEBV0@@Z
+; public: class exception & __ptr64 __cdecl exception::operator=(class exception const & __ptr64) __ptr64
+??4exception@@QEAAAEAV0@AEBV0@@Z
+; public: class filebuf & __ptr64 __cdecl filebuf::operator=(class filebuf const & __ptr64) __ptr64
+??4filebuf@@QEAAAEAV0@AEBV0@@Z
+; public: class fstream & __ptr64 __cdecl fstream::operator=(class fstream & __ptr64) __ptr64
+??4fstream@@QEAAAEAV0@AEAV0@@Z
+; public: class ifstream & __ptr64 __cdecl ifstream::operator=(class ifstream const & __ptr64) __ptr64
+??4ifstream@@QEAAAEAV0@AEBV0@@Z
+; protected: class ios & __ptr64 __cdecl ios::operator=(class ios const & __ptr64) __ptr64
+??4ios@@IEAAAEAV0@AEBV0@@Z
+; protected: class iostream & __ptr64 __cdecl iostream::operator=(class iostream & __ptr64) __ptr64
+??4iostream@@IEAAAEAV0@AEAV0@@Z
+; protected: class iostream & __ptr64 __cdecl iostream::operator=(class streambuf * __ptr64) __ptr64
+??4iostream@@IEAAAEAV0@PEAVstreambuf@@@Z
+; protected: class istream & __ptr64 __cdecl istream::operator=(class istream const & __ptr64) __ptr64
+??4istream@@IEAAAEAV0@AEBV0@@Z
+; protected: class istream & __ptr64 __cdecl istream::operator=(class streambuf * __ptr64) __ptr64
+??4istream@@IEAAAEAV0@PEAVstreambuf@@@Z
+; public: class istream_withassign & __ptr64 __cdecl istream_withassign::operator=(class istream_withassign const & __ptr64) __ptr64
+??4istream_withassign@@QEAAAEAV0@AEBV0@@Z
+; public: class istream & __ptr64 __cdecl istream_withassign::operator=(class istream const & __ptr64) __ptr64
+??4istream_withassign@@QEAAAEAVistream@@AEBV1@@Z
+; public: class istream & __ptr64 __cdecl istream_withassign::operator=(class streambuf * __ptr64) __ptr64
+??4istream_withassign@@QEAAAEAVistream@@PEAVstreambuf@@@Z
+; public: class istrstream & __ptr64 __cdecl istrstream::operator=(class istrstream const & __ptr64) __ptr64
+??4istrstream@@QEAAAEAV0@AEBV0@@Z
+; public: class logic_error & __ptr64 __cdecl logic_error::operator=(class logic_error const & __ptr64) __ptr64
+??4logic_error@@QEAAAEAV0@AEBV0@@Z
+; public: class ofstream & __ptr64 __cdecl ofstream::operator=(class ofstream const & __ptr64) __ptr64
+??4ofstream@@QEAAAEAV0@AEBV0@@Z
+; protected: class ostream & __ptr64 __cdecl ostream::operator=(class ostream const & __ptr64) __ptr64
+??4ostream@@IEAAAEAV0@AEBV0@@Z
+; protected: class ostream & __ptr64 __cdecl ostream::operator=(class streambuf * __ptr64) __ptr64
+??4ostream@@IEAAAEAV0@PEAVstreambuf@@@Z
+; public: class ostream_withassign & __ptr64 __cdecl ostream_withassign::operator=(class ostream_withassign const & __ptr64) __ptr64
+??4ostream_withassign@@QEAAAEAV0@AEBV0@@Z
+; public: class ostream & __ptr64 __cdecl ostream_withassign::operator=(class ostream const & __ptr64) __ptr64
+??4ostream_withassign@@QEAAAEAVostream@@AEBV1@@Z
+; public: class ostream & __ptr64 __cdecl ostream_withassign::operator=(class streambuf * __ptr64) __ptr64
+??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z
+; public: class ostrstream & __ptr64 __cdecl ostrstream::operator=(class ostrstream const & __ptr64) __ptr64
+??4ostrstream@@QEAAAEAV0@AEBV0@@Z
+; public: class stdiobuf & __ptr64 __cdecl stdiobuf::operator=(class stdiobuf const & __ptr64) __ptr64
+??4stdiobuf@@QEAAAEAV0@AEBV0@@Z
+; public: class stdiostream & __ptr64 __cdecl stdiostream::operator=(class stdiostream & __ptr64) __ptr64
+??4stdiostream@@QEAAAEAV0@AEAV0@@Z
+; public: class streambuf & __ptr64 __cdecl streambuf::operator=(class streambuf const & __ptr64) __ptr64
+??4streambuf@@QEAAAEAV0@AEBV0@@Z
+; public: class strstream & __ptr64 __cdecl strstream::operator=(class strstream & __ptr64) __ptr64
+??4strstream@@QEAAAEAV0@AEAV0@@Z
+; public: class strstreambuf & __ptr64 __cdecl strstreambuf::operator=(class strstreambuf const & __ptr64) __ptr64
+??4strstreambuf@@QEAAAEAV0@AEBV0@@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(signed char & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAC@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(char & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAD@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned char & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAE@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(short & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAF@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned short & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAG@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(int & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAH@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned int & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAI@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(long & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAJ@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned long & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAK@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(float & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAM@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(double & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAN@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(long double & __ptr64) __ptr64
+??5istream@@QEAAAEAV0@AEAO@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(class istream & __ptr64 (__cdecl*)(class istream & __ptr64)) __ptr64
+??5istream@@QEAAAEAV0@P6AAEAV0@AEAV0@@Z@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(class ios & __ptr64 (__cdecl*)(class ios & __ptr64)) __ptr64
+??5istream@@QEAAAEAV0@P6AAEAVios@@AEAV1@@Z@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(signed char * __ptr64) __ptr64
+??5istream@@QEAAAEAV0@PEAC@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(char * __ptr64) __ptr64
+??5istream@@QEAAAEAV0@PEAD@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned char * __ptr64) __ptr64
+??5istream@@QEAAAEAV0@PEAE@Z
+; public: class istream & __ptr64 __cdecl istream::operator>>(class streambuf * __ptr64) __ptr64
+??5istream@@QEAAAEAV0@PEAVstreambuf@@@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(signed char) __ptr64
+??6ostream@@QEAAAEAV0@C@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(char) __ptr64
+??6ostream@@QEAAAEAV0@D@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned char) __ptr64
+??6ostream@@QEAAAEAV0@E@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(short) __ptr64
+??6ostream@@QEAAAEAV0@F@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned short) __ptr64
+??6ostream@@QEAAAEAV0@G@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(int) __ptr64
+??6ostream@@QEAAAEAV0@H@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned int) __ptr64
+??6ostream@@QEAAAEAV0@I@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(long) __ptr64
+??6ostream@@QEAAAEAV0@J@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned long) __ptr64
+??6ostream@@QEAAAEAV0@K@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(float) __ptr64
+??6ostream@@QEAAAEAV0@M@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(double) __ptr64
+??6ostream@@QEAAAEAV0@N@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(long double) __ptr64
+??6ostream@@QEAAAEAV0@O@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(class ostream & __ptr64 (__cdecl*)(class ostream & __ptr64)) __ptr64
+??6ostream@@QEAAAEAV0@P6AAEAV0@AEAV0@@Z@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(class ios & __ptr64 (__cdecl*)(class ios & __ptr64)) __ptr64
+??6ostream@@QEAAAEAV0@P6AAEAVios@@AEAV1@@Z@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(class streambuf * __ptr64) __ptr64
+??6ostream@@QEAAAEAV0@PEAVstreambuf@@@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(signed char const * __ptr64) __ptr64
+??6ostream@@QEAAAEAV0@PEBC@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(char const * __ptr64) __ptr64
+??6ostream@@QEAAAEAV0@PEBD@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned char const * __ptr64) __ptr64
+??6ostream@@QEAAAEAV0@PEBE@Z
+; public: class ostream & __ptr64 __cdecl ostream::operator<<(void const * __ptr64) __ptr64
+??6ostream@@QEAAAEAV0@PEBX@Z
+; public: int __cdecl ios::operator!(void)const  __ptr64
+??7ios@@QEBAHXZ
+; public: __cdecl ios::operator void * __ptr64(void)const  __ptr64
+??Bios@@QEBAPEAXXZ
+; const  exception::`vftable'
+??_7exception@@6B@
+; const  filebuf::`vftable'
+??_7filebuf@@6B@
+; const  fstream::`vftable'
+??_7fstream@@6B@
+; const  ifstream::`vftable'
+??_7ifstream@@6B@
+; const  ios::`vftable'
+??_7ios@@6B@
+; const  iostream::`vftable'
+??_7iostream@@6B@
+; const  istream::`vftable'
+??_7istream@@6B@
+; const  istream_withassign::`vftable'
+??_7istream_withassign@@6B@
+; const  istrstream::`vftable'
+??_7istrstream@@6B@
+; const  logic_error::`vftable'
+??_7logic_error@@6B@
+; const  ofstream::`vftable'
+??_7ofstream@@6B@
+; const  ostream::`vftable'
+??_7ostream@@6B@
+; const  ostream_withassign::`vftable'
+??_7ostream_withassign@@6B@
+; const  ostrstream::`vftable'
+??_7ostrstream@@6B@
+; const  stdiobuf::`vftable'
+??_7stdiobuf@@6B@
+; const  stdiostream::`vftable'
+??_7stdiostream@@6B@
+; const  streambuf::`vftable'
+??_7streambuf@@6B@
+; const  strstream::`vftable'
+??_7strstream@@6B@
+; const  strstreambuf::`vftable'
+??_7strstreambuf@@6B@
+; const  fstream::`vbtable'{for `istream'}
+??_8fstream@@7Bistream@@@ DATA
+; const  fstream::`vbtable'{for `ostream'}
+??_8fstream@@7Bostream@@@ DATA
+; const  ifstream::`vbtable'
+??_8ifstream@@7B@ DATA
+; const  iostream::`vbtable'{for `istream'}
+??_8iostream@@7Bistream@@@ DATA
+; const  iostream::`vbtable'{for `ostream'}
+??_8iostream@@7Bostream@@@ DATA
+; const  istream::`vbtable'
+??_8istream@@7B@ DATA
+; const  istream_withassign::`vbtable'
+??_8istream_withassign@@7B@ DATA
+; const  istrstream::`vbtable'
+??_8istrstream@@7B@ DATA
+; const  ofstream::`vbtable'
+??_8ofstream@@7B@ DATA
+; const  ostream::`vbtable'
+??_8ostream@@7B@ DATA
+; const  ostream_withassign::`vbtable'
+??_8ostream_withassign@@7B@ DATA
+; const  ostrstream::`vbtable'
+??_8ostrstream@@7B@ DATA
+; const  stdiostream::`vbtable'{for `istream'}
+??_8stdiostream@@7Bistream@@@ DATA
+; const  stdiostream::`vbtable'{for `ostream'}
+??_8stdiostream@@7Bostream@@@ DATA
+; const  strstream::`vbtable'{for `istream'}
+??_8strstream@@7Bistream@@@ DATA
+; const  strstream::`vbtable'{for `ostream'}
+??_8strstream@@7Bostream@@@ DATA
+; public: void __cdecl fstream::`vbase destructor'(void) __ptr64
+??_Dfstream@@QEAAXXZ
+; public: void __cdecl ifstream::`vbase destructor'(void) __ptr64
+??_Difstream@@QEAAXXZ
+; public: void __cdecl iostream::`vbase destructor'(void) __ptr64
+??_Diostream@@QEAAXXZ
+; public: void __cdecl istream::`vbase destructor'(void) __ptr64
+??_Distream@@QEAAXXZ
+; public: void __cdecl istream_withassign::`vbase destructor'(void) __ptr64
+??_Distream_withassign@@QEAAXXZ
+; public: void __cdecl istrstream::`vbase destructor'(void) __ptr64
+??_Distrstream@@QEAAXXZ
+; public: void __cdecl ofstream::`vbase destructor'(void) __ptr64
+??_Dofstream@@QEAAXXZ
+; public: void __cdecl ostream::`vbase destructor'(void) __ptr64
+??_Dostream@@QEAAXXZ
+; public: void __cdecl ostream_withassign::`vbase destructor'(void) __ptr64
+??_Dostream_withassign@@QEAAXXZ
+; public: void __cdecl ostrstream::`vbase destructor'(void) __ptr64
+??_Dostrstream@@QEAAXXZ
+; public: void __cdecl stdiostream::`vbase destructor'(void) __ptr64
+??_Dstdiostream@@QEAAXXZ
+; public: void __cdecl strstream::`vbase destructor'(void) __ptr64
+??_Dstrstream@@QEAAXXZ
+; public: static long const  ios::adjustfield
+?adjustfield@ios@@2JB
+; protected: int __cdecl streambuf::allocate(void) __ptr64
+?allocate@streambuf@@IEAAHXZ
+; public: class filebuf * __ptr64 __cdecl filebuf::attach(int) __ptr64
+?attach@filebuf@@QEAAPEAV1@H@Z
+; public: void __cdecl fstream::attach(int) __ptr64
+?attach@fstream@@QEAAXH@Z
+; public: void __cdecl ifstream::attach(int) __ptr64
+?attach@ifstream@@QEAAXH@Z
+; public: void __cdecl ofstream::attach(int) __ptr64
+?attach@ofstream@@QEAAXH@Z
+; public: int __cdecl ios::bad(void)const  __ptr64
+?bad@ios@@QEBAHXZ
+; protected: char * __ptr64 __cdecl streambuf::base(void)const  __ptr64
+?base@streambuf@@IEBAPEADXZ
+; public: static long const  ios::basefield
+?basefield@ios@@2JB
+; public: static int const  filebuf::binary
+?binary@filebuf@@2HB
+; public: static long __cdecl ios::bitalloc(void)
+?bitalloc@ios@@SAJXZ
+; protected: int __cdecl streambuf::blen(void)const  __ptr64
+?blen@streambuf@@IEBAHXZ
+; class ostream_withassign  cerr
+?cerr@@3Vostream_withassign@@A DATA
+; class istream_withassign  cin
+?cin@@3Vistream_withassign@@A DATA
+; public: void __cdecl ios::clear(int) __ptr64
+?clear@ios@@QEAAXH@Z
+; class ostream_withassign  clog
+?clog@@3Vostream_withassign@@A DATA
+; public: class filebuf * __ptr64 __cdecl filebuf::close(void) __ptr64
+?close@filebuf@@QEAAPEAV1@XZ
+; public: void __cdecl fstream::close(void) __ptr64
+?close@fstream@@QEAAXXZ
+; public: void __cdecl ifstream::close(void) __ptr64
+?close@ifstream@@QEAAXXZ
+; public: void __cdecl ofstream::close(void) __ptr64
+?close@ofstream@@QEAAXXZ
+; public: void __cdecl ios::clrlock(void) __ptr64
+?clrlock@ios@@QEAAXXZ
+; public: void __cdecl streambuf::clrlock(void) __ptr64
+?clrlock@streambuf@@QEAAXXZ
+; class ostream_withassign  cout
+?cout@@3Vostream_withassign@@A DATA
+; public: void __cdecl streambuf::dbp(void) __ptr64
+?dbp@streambuf@@QEAAXXZ
+; class ios & __ptr64 __cdecl dec(class ios & __ptr64)
+?dec@@YAAEAVios@@AEAV1@@Z
+; public: void __cdecl ios::delbuf(int) __ptr64
+?delbuf@ios@@QEAAXH@Z
+; public: int __cdecl ios::delbuf(void)const  __ptr64
+?delbuf@ios@@QEBAHXZ
+; protected: virtual int __cdecl streambuf::doallocate(void) __ptr64
+?doallocate@streambuf@@MEAAHXZ
+; protected: virtual int __cdecl strstreambuf::doallocate(void) __ptr64
+?doallocate@strstreambuf@@MEAAHXZ
+; public: void __cdecl istream::eatwhite(void) __ptr64
+?eatwhite@istream@@QEAAXXZ
+; protected: char * __ptr64 __cdecl streambuf::eback(void)const  __ptr64
+?eback@streambuf@@IEBAPEADXZ
+; protected: char * __ptr64 __cdecl streambuf::ebuf(void)const  __ptr64
+?ebuf@streambuf@@IEBAPEADXZ
+; protected: char * __ptr64 __cdecl streambuf::egptr(void)const  __ptr64
+?egptr@streambuf@@IEBAPEADXZ
+; class ostream & __ptr64 __cdecl endl(class ostream & __ptr64)
+?endl@@YAAEAVostream@@AEAV1@@Z
+; class ostream & __ptr64 __cdecl ends(class ostream & __ptr64)
+?ends@@YAAEAVostream@@AEAV1@@Z
+; public: int __cdecl ios::eof(void)const  __ptr64
+?eof@ios@@QEBAHXZ
+; protected: char * __ptr64 __cdecl streambuf::epptr(void)const  __ptr64
+?epptr@streambuf@@IEBAPEADXZ
+; private: static int  ios::fLockcInit
+?fLockcInit@ios@@0HA DATA
+; public: int __cdecl ios::fail(void)const  __ptr64
+?fail@ios@@QEBAHXZ
+; public: int __cdecl filebuf::fd(void)const  __ptr64
+?fd@filebuf@@QEBAHXZ
+; public: int __cdecl fstream::fd(void)const  __ptr64
+?fd@fstream@@QEBAHXZ
+; public: int __cdecl ifstream::fd(void)const  __ptr64
+?fd@ifstream@@QEBAHXZ
+; public: int __cdecl ofstream::fd(void)const  __ptr64
+?fd@ofstream@@QEBAHXZ
+; public: char __cdecl ios::fill(char) __ptr64
+?fill@ios@@QEAADD@Z
+; public: char __cdecl ios::fill(void)const  __ptr64
+?fill@ios@@QEBADXZ
+; public: long __cdecl ios::flags(long) __ptr64
+?flags@ios@@QEAAJJ@Z
+; public: long __cdecl ios::flags(void)const  __ptr64
+?flags@ios@@QEBAJXZ
+; public: static long const  ios::floatfield
+?floatfield@ios@@2JB
+; class ostream & __ptr64 __cdecl flush(class ostream & __ptr64)
+?flush@@YAAEAVostream@@AEAV1@@Z
+; public: class ostream & __ptr64 __cdecl ostream::flush(void) __ptr64
+?flush@ostream@@QEAAAEAV1@XZ
+; public: void __cdecl strstreambuf::freeze(int) __ptr64
+?freeze@strstreambuf@@QEAAXH@Z
+; protected: void __cdecl streambuf::gbump(int) __ptr64
+?gbump@streambuf@@IEAAXH@Z
+; public: int __cdecl istream::gcount(void)const  __ptr64
+?gcount@istream@@QEBAHXZ
+; protected: class istream & __ptr64 __cdecl istream::get(char * __ptr64,int,int) __ptr64
+?get@istream@@IEAAAEAV1@PEADHH@Z
+; public: class istream & __ptr64 __cdecl istream::get(signed char & __ptr64) __ptr64
+?get@istream@@QEAAAEAV1@AEAC@Z
+; public: class istream & __ptr64 __cdecl istream::get(char & __ptr64) __ptr64
+?get@istream@@QEAAAEAV1@AEAD@Z
+; public: class istream & __ptr64 __cdecl istream::get(unsigned char & __ptr64) __ptr64
+?get@istream@@QEAAAEAV1@AEAE@Z
+; public: class istream & __ptr64 __cdecl istream::get(class streambuf & __ptr64,char) __ptr64
+?get@istream@@QEAAAEAV1@AEAVstreambuf@@D@Z
+; public: class istream & __ptr64 __cdecl istream::get(signed char * __ptr64,int,char) __ptr64
+?get@istream@@QEAAAEAV1@PEACHD@Z
+; public: class istream & __ptr64 __cdecl istream::get(char * __ptr64,int,char) __ptr64
+?get@istream@@QEAAAEAV1@PEADHD@Z
+; public: class istream & __ptr64 __cdecl istream::get(unsigned char * __ptr64,int,char) __ptr64
+?get@istream@@QEAAAEAV1@PEAEHD@Z
+; public: int __cdecl istream::get(void) __ptr64
+?get@istream@@QEAAHXZ
+; private: int __cdecl istream::getdouble(char * __ptr64,int) __ptr64
+?getdouble@istream@@AEAAHPEADH@Z
+; private: int __cdecl istream::getint(char * __ptr64) __ptr64
+?getint@istream@@AEAAHPEAD@Z
+; public: class istream & __ptr64 __cdecl istream::getline(signed char * __ptr64,int,char) __ptr64
+?getline@istream@@QEAAAEAV1@PEACHD@Z
+; public: class istream & __ptr64 __cdecl istream::getline(char * __ptr64,int,char) __ptr64
+?getline@istream@@QEAAAEAV1@PEADHD@Z
+; public: class istream & __ptr64 __cdecl istream::getline(unsigned char * __ptr64,int,char) __ptr64
+?getline@istream@@QEAAAEAV1@PEAEHD@Z
+; public: int __cdecl ios::good(void)const  __ptr64
+?good@ios@@QEBAHXZ
+; protected: char * __ptr64 __cdecl streambuf::gptr(void)const  __ptr64
+?gptr@streambuf@@IEBAPEADXZ
+; class ios & __ptr64 __cdecl hex(class ios & __ptr64)
+?hex@@YAAEAVios@@AEAV1@@Z
+; public: class istream & __ptr64 __cdecl istream::ignore(int,int) __ptr64
+?ignore@istream@@QEAAAEAV1@HH@Z
+; public: int __cdecl streambuf::in_avail(void)const  __ptr64
+?in_avail@streambuf@@QEBAHXZ
+; protected: void __cdecl ios::init(class streambuf * __ptr64) __ptr64
+?init@ios@@IEAAXPEAVstreambuf@@@Z
+; public: int __cdecl istream::ipfx(int) __ptr64
+?ipfx@istream@@QEAAHH@Z
+; public: int __cdecl filebuf::is_open(void)const  __ptr64
+?is_open@filebuf@@QEBAHXZ
+; public: int __cdecl fstream::is_open(void)const  __ptr64
+?is_open@fstream@@QEBAHXZ
+; public: int __cdecl ifstream::is_open(void)const  __ptr64
+?is_open@ifstream@@QEBAHXZ
+; public: int __cdecl ofstream::is_open(void)const  __ptr64
+?is_open@ofstream@@QEBAHXZ
+; public: void __cdecl istream::isfx(void) __ptr64
+?isfx@istream@@QEAAXXZ
+; public: long & __ptr64 __cdecl ios::iword(int)const  __ptr64
+?iword@ios@@QEBAAEAJH@Z
+; public: void __cdecl ios::lock(void) __ptr64
+?lock@ios@@QEAAXXZ
+; public: void __cdecl streambuf::lock(void) __ptr64
+?lock@streambuf@@QEAAXXZ
+; public: void __cdecl ios::lockbuf(void) __ptr64
+?lockbuf@ios@@QEAAXXZ
+; protected: static void __cdecl ios::lockc(void)
+?lockc@ios@@KAXXZ
+; protected: struct _CRT_CRITICAL_SECTION * __ptr64 __cdecl ios::lockptr(void) __ptr64
+?lockptr@ios@@IEAAPEAU_CRT_CRITICAL_SECTION@@XZ
+; protected: struct _CRT_CRITICAL_SECTION * __ptr64 __cdecl streambuf::lockptr(void) __ptr64
+?lockptr@streambuf@@IEAAPEAU_CRT_CRITICAL_SECTION@@XZ
+; class ios & __ptr64 __cdecl oct(class ios & __ptr64)
+?oct@@YAAEAVios@@AEAV1@@Z
+; public: class filebuf * __ptr64 __cdecl filebuf::open(char const * __ptr64,int,int) __ptr64
+?open@filebuf@@QEAAPEAV1@PEBDHH@Z
+; public: void __cdecl fstream::open(char const * __ptr64,int,int) __ptr64
+?open@fstream@@QEAAXPEBDHH@Z
+; public: void __cdecl ifstream::open(char const * __ptr64,int,int) __ptr64
+?open@ifstream@@QEAAXPEBDHH@Z
+; public: void __cdecl ofstream::open(char const * __ptr64,int,int) __ptr64
+?open@ofstream@@QEAAXPEBDHH@Z
+; public: static int const  filebuf::openprot
+?openprot@filebuf@@2HB
+; public: int __cdecl ostream::opfx(void) __ptr64
+?opfx@ostream@@QEAAHXZ
+; public: void __cdecl ostream::osfx(void) __ptr64
+?osfx@ostream@@QEAAXXZ
+; public: int __cdecl streambuf::out_waiting(void)const  __ptr64
+?out_waiting@streambuf@@QEBAHXZ
+; public: virtual int __cdecl filebuf::overflow(int) __ptr64
+?overflow@filebuf@@UEAAHH@Z
+; public: virtual int __cdecl stdiobuf::overflow(int) __ptr64
+?overflow@stdiobuf@@UEAAHH@Z
+; public: virtual int __cdecl strstreambuf::overflow(int) __ptr64
+?overflow@strstreambuf@@UEAAHH@Z
+; public: virtual int __cdecl stdiobuf::pbackfail(int) __ptr64
+?pbackfail@stdiobuf@@UEAAHH@Z
+; public: virtual int __cdecl streambuf::pbackfail(int) __ptr64
+?pbackfail@streambuf@@UEAAHH@Z
+; protected: char * __ptr64 __cdecl streambuf::pbase(void)const  __ptr64
+?pbase@streambuf@@IEBAPEADXZ
+; protected: void __cdecl streambuf::pbump(int) __ptr64
+?pbump@streambuf@@IEAAXH@Z
+; public: int __cdecl ostrstream::pcount(void)const  __ptr64
+?pcount@ostrstream@@QEBAHXZ
+; public: int __cdecl strstream::pcount(void)const  __ptr64
+?pcount@strstream@@QEBAHXZ
+; public: int __cdecl istream::peek(void) __ptr64
+?peek@istream@@QEAAHXZ
+; protected: char * __ptr64 __cdecl streambuf::pptr(void)const  __ptr64
+?pptr@streambuf@@IEBAPEADXZ
+; public: int __cdecl ios::precision(int) __ptr64
+?precision@ios@@QEAAHH@Z
+; public: int __cdecl ios::precision(void)const  __ptr64
+?precision@ios@@QEBAHXZ
+; public: class ostream & __ptr64 __cdecl ostream::put(signed char) __ptr64
+?put@ostream@@QEAAAEAV1@C@Z
+; public: class ostream & __ptr64 __cdecl ostream::put(char) __ptr64
+?put@ostream@@QEAAAEAV1@D@Z
+; public: class ostream & __ptr64 __cdecl ostream::put(unsigned char) __ptr64
+?put@ostream@@QEAAAEAV1@E@Z
+; public: class istream & __ptr64 __cdecl istream::putback(char) __ptr64
+?putback@istream@@QEAAAEAV1@D@Z
+; public: void * __ptr64 & __ptr64 __cdecl ios::pword(int)const  __ptr64
+?pword@ios@@QEBAAEAPEAXH@Z
+; public: class filebuf * __ptr64 __cdecl fstream::rdbuf(void)const  __ptr64
+?rdbuf@fstream@@QEBAPEAVfilebuf@@XZ
+; public: class filebuf * __ptr64 __cdecl ifstream::rdbuf(void)const  __ptr64
+?rdbuf@ifstream@@QEBAPEAVfilebuf@@XZ
+; public: class streambuf * __ptr64 __cdecl ios::rdbuf(void)const  __ptr64
+?rdbuf@ios@@QEBAPEAVstreambuf@@XZ
+; public: class strstreambuf * __ptr64 __cdecl istrstream::rdbuf(void)const  __ptr64
+?rdbuf@istrstream@@QEBAPEAVstrstreambuf@@XZ
+; public: class filebuf * __ptr64 __cdecl ofstream::rdbuf(void)const  __ptr64
+?rdbuf@ofstream@@QEBAPEAVfilebuf@@XZ
+; public: class strstreambuf * __ptr64 __cdecl ostrstream::rdbuf(void)const  __ptr64
+?rdbuf@ostrstream@@QEBAPEAVstrstreambuf@@XZ
+; public: class stdiobuf * __ptr64 __cdecl stdiostream::rdbuf(void)const  __ptr64
+?rdbuf@stdiostream@@QEBAPEAVstdiobuf@@XZ
+; public: class strstreambuf * __ptr64 __cdecl strstream::rdbuf(void)const  __ptr64
+?rdbuf@strstream@@QEBAPEAVstrstreambuf@@XZ
+; public: int __cdecl ios::rdstate(void)const  __ptr64
+?rdstate@ios@@QEBAHXZ
+; public: class istream & __ptr64 __cdecl istream::read(signed char * __ptr64,int) __ptr64
+?read@istream@@QEAAAEAV1@PEACH@Z
+; public: class istream & __ptr64 __cdecl istream::read(char * __ptr64,int) __ptr64
+?read@istream@@QEAAAEAV1@PEADH@Z
+; public: class istream & __ptr64 __cdecl istream::read(unsigned char * __ptr64,int) __ptr64
+?read@istream@@QEAAAEAV1@PEAEH@Z
+; public: int __cdecl streambuf::sbumpc(void) __ptr64
+?sbumpc@streambuf@@QEAAHXZ
+; public: class istream & __ptr64 __cdecl istream::seekg(long) __ptr64
+?seekg@istream@@QEAAAEAV1@J@Z
+; public: class istream & __ptr64 __cdecl istream::seekg(long,enum ios::seek_dir) __ptr64
+?seekg@istream@@QEAAAEAV1@JW4seek_dir@ios@@@Z
+; public: virtual long __cdecl filebuf::seekoff(long,enum ios::seek_dir,int) __ptr64
+?seekoff@filebuf@@UEAAJJW4seek_dir@ios@@H@Z
+; public: virtual long __cdecl stdiobuf::seekoff(long,enum ios::seek_dir,int) __ptr64
+?seekoff@stdiobuf@@UEAAJJW4seek_dir@ios@@H@Z
+; public: virtual long __cdecl streambuf::seekoff(long,enum ios::seek_dir,int) __ptr64
+?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z
+; public: virtual long __cdecl strstreambuf::seekoff(long,enum ios::seek_dir,int) __ptr64
+?seekoff@strstreambuf@@UEAAJJW4seek_dir@ios@@H@Z
+; public: class ostream & __ptr64 __cdecl ostream::seekp(long) __ptr64
+?seekp@ostream@@QEAAAEAV1@J@Z
+; public: class ostream & __ptr64 __cdecl ostream::seekp(long,enum ios::seek_dir) __ptr64
+?seekp@ostream@@QEAAAEAV1@JW4seek_dir@ios@@@Z
+; public: virtual long __cdecl streambuf::seekpos(long,int) __ptr64
+?seekpos@streambuf@@UEAAJJH@Z
+; protected: void __cdecl streambuf::setb(char * __ptr64,char * __ptr64,int) __ptr64
+?setb@streambuf@@IEAAXPEAD0H@Z
+; public: virtual class streambuf * __ptr64 __cdecl filebuf::setbuf(char * __ptr64,int) __ptr64
+?setbuf@filebuf@@UEAAPEAVstreambuf@@PEADH@Z
+; public: class streambuf * __ptr64 __cdecl fstream::setbuf(char * __ptr64,int) __ptr64
+?setbuf@fstream@@QEAAPEAVstreambuf@@PEADH@Z
+; public: class streambuf * __ptr64 __cdecl ifstream::setbuf(char * __ptr64,int) __ptr64
+?setbuf@ifstream@@QEAAPEAVstreambuf@@PEADH@Z
+; public: class streambuf * __ptr64 __cdecl ofstream::setbuf(char * __ptr64,int) __ptr64
+?setbuf@ofstream@@QEAAPEAVstreambuf@@PEADH@Z
+; public: virtual class streambuf * __ptr64 __cdecl streambuf::setbuf(char * __ptr64,int) __ptr64
+?setbuf@streambuf@@UEAAPEAV1@PEADH@Z
+; public: virtual class streambuf * __ptr64 __cdecl strstreambuf::setbuf(char * __ptr64,int) __ptr64
+?setbuf@strstreambuf@@UEAAPEAVstreambuf@@PEADH@Z
+; public: long __cdecl ios::setf(long) __ptr64
+?setf@ios@@QEAAJJ@Z
+; public: long __cdecl ios::setf(long,long) __ptr64
+?setf@ios@@QEAAJJJ@Z
+; protected: void __cdecl streambuf::setg(char * __ptr64,char * __ptr64,char * __ptr64) __ptr64
+?setg@streambuf@@IEAAXPEAD00@Z
+; public: void __cdecl ios::setlock(void) __ptr64
+?setlock@ios@@QEAAXXZ
+; public: void __cdecl streambuf::setlock(void) __ptr64
+?setlock@streambuf@@QEAAXXZ
+; public: int __cdecl filebuf::setmode(int) __ptr64
+?setmode@filebuf@@QEAAHH@Z
+; public: int __cdecl fstream::setmode(int) __ptr64
+?setmode@fstream@@QEAAHH@Z
+; public: int __cdecl ifstream::setmode(int) __ptr64
+?setmode@ifstream@@QEAAHH@Z
+; public: int __cdecl ofstream::setmode(int) __ptr64
+?setmode@ofstream@@QEAAHH@Z
+; protected: void __cdecl streambuf::setp(char * __ptr64,char * __ptr64) __ptr64
+?setp@streambuf@@IEAAXPEAD0@Z
+; public: int __cdecl stdiobuf::setrwbuf(int,int) __ptr64
+?setrwbuf@stdiobuf@@QEAAHHH@Z
+; public: int __cdecl streambuf::sgetc(void) __ptr64
+?sgetc@streambuf@@QEAAHXZ
+; public: int __cdecl streambuf::sgetn(char * __ptr64,int) __ptr64
+?sgetn@streambuf@@QEAAHPEADH@Z
+; public: static int const  filebuf::sh_none
+?sh_none@filebuf@@2HB
+; public: static int const  filebuf::sh_read
+?sh_read@filebuf@@2HB
+; public: static int const  filebuf::sh_write
+?sh_write@filebuf@@2HB
+; public: int __cdecl streambuf::snextc(void) __ptr64
+?snextc@streambuf@@QEAAHXZ
+; public: int __cdecl streambuf::sputbackc(char) __ptr64
+?sputbackc@streambuf@@QEAAHD@Z
+; public: int __cdecl streambuf::sputc(int) __ptr64
+?sputc@streambuf@@QEAAHH@Z
+; public: int __cdecl streambuf::sputn(char const * __ptr64,int) __ptr64
+?sputn@streambuf@@QEAAHPEBDH@Z
+; public: struct _iobuf * __ptr64 __cdecl stdiobuf::stdiofile(void) __ptr64
+?stdiofile@stdiobuf@@QEAAPEAU_iobuf@@XZ
+; public: void __cdecl streambuf::stossc(void) __ptr64
+?stossc@streambuf@@QEAAXXZ
+; public: char * __ptr64 __cdecl istrstream::str(void) __ptr64
+?str@istrstream@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl ostrstream::str(void) __ptr64
+?str@ostrstream@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl strstream::str(void) __ptr64
+?str@strstream@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl strstreambuf::str(void) __ptr64
+?str@strstreambuf@@QEAAPEADXZ
+; private: static int  ios::sunk_with_stdio
+?sunk_with_stdio@ios@@0HA DATA
+; public: virtual int __cdecl filebuf::sync(void) __ptr64
+?sync@filebuf@@UEAAHXZ
+; public: int __cdecl istream::sync(void) __ptr64
+?sync@istream@@QEAAHXZ
+; public: virtual int __cdecl stdiobuf::sync(void) __ptr64
+?sync@stdiobuf@@UEAAHXZ
+; public: virtual int __cdecl streambuf::sync(void) __ptr64
+?sync@streambuf@@UEAAHXZ
+; public: virtual int __cdecl strstreambuf::sync(void) __ptr64
+?sync@strstreambuf@@UEAAHXZ
+; public: static void __cdecl ios::sync_with_stdio(void)
+?sync_with_stdio@ios@@SAXXZ
+; public: long __cdecl istream::tellg(void) __ptr64
+?tellg@istream@@QEAAJXZ
+; public: long __cdecl ostream::tellp(void) __ptr64
+?tellp@ostream@@QEAAJXZ
+; public: static int const  filebuf::text
+?text@filebuf@@2HB
+; public: class ostream * __ptr64 __cdecl ios::tie(class ostream * __ptr64) __ptr64
+?tie@ios@@QEAAPEAVostream@@PEAV2@@Z
+; public: class ostream * __ptr64 __cdecl ios::tie(void)const  __ptr64
+?tie@ios@@QEBAPEAVostream@@XZ
+; protected: void __cdecl streambuf::unbuffered(int) __ptr64
+?unbuffered@streambuf@@IEAAXH@Z
+; protected: int __cdecl streambuf::unbuffered(void)const  __ptr64
+?unbuffered@streambuf@@IEBAHXZ
+; public: virtual int __cdecl filebuf::underflow(void) __ptr64
+?underflow@filebuf@@UEAAHXZ
+; public: virtual int __cdecl stdiobuf::underflow(void) __ptr64
+?underflow@stdiobuf@@UEAAHXZ
+; public: virtual int __cdecl strstreambuf::underflow(void) __ptr64
+?underflow@strstreambuf@@UEAAHXZ
+; public: void __cdecl ios::unlock(void) __ptr64
+?unlock@ios@@QEAAXXZ
+; public: void __cdecl streambuf::unlock(void) __ptr64
+?unlock@streambuf@@QEAAXXZ
+; public: void __cdecl ios::unlockbuf(void) __ptr64
+?unlockbuf@ios@@QEAAXXZ
+; protected: static void __cdecl ios::unlockc(void)
+?unlockc@ios@@KAXXZ
+; public: long __cdecl ios::unsetf(long) __ptr64
+?unsetf@ios@@QEAAJJ@Z
+; public: virtual char const * __ptr64 __cdecl exception::what(void)const  __ptr64
+?what@exception@@UEBAPEBDXZ
+; public: int __cdecl ios::width(int) __ptr64
+?width@ios@@QEAAHH@Z
+; public: int __cdecl ios::width(void)const  __ptr64
+?width@ios@@QEBAHXZ
+; public: class ostream & __ptr64 __cdecl ostream::write(signed char const * __ptr64,int) __ptr64
+?write@ostream@@QEAAAEAV1@PEBCH@Z
+; public: class ostream & __ptr64 __cdecl ostream::write(char const * __ptr64,int) __ptr64
+?write@ostream@@QEAAAEAV1@PEBDH@Z
+; public: class ostream & __ptr64 __cdecl ostream::write(unsigned char const * __ptr64,int) __ptr64
+?write@ostream@@QEAAAEAV1@PEBEH@Z
+; private: class ostream & __ptr64 __cdecl ostream::writepad(char const * __ptr64,char const * __ptr64) __ptr64
+?writepad@ostream@@AEAAAEAV1@PEBD0@Z
+; class istream & __ptr64 __cdecl ws(class istream & __ptr64)
+?ws@@YAAEAVistream@@AEAV1@@Z
+; private: static int  ios::x_curindex
+?x_curindex@ios@@0HA DATA
+; private: static struct _CRT_CRITICAL_SECTION  ios::x_lockc
+?x_lockc@ios@@0U_CRT_CRITICAL_SECTION@@A DATA
+; private: static long  ios::x_maxbit
+?x_maxbit@ios@@0JA DATA
+; private: static long *  ios::x_statebuf
+?x_statebuf@ios@@0PAJA DATA
+; public: static int __cdecl ios::xalloc(void)
+?xalloc@ios@@SAHXZ
+; public: virtual int __cdecl streambuf::xsgetn(char * __ptr64,int) __ptr64
+?xsgetn@streambuf@@UEAAHPEADH@Z
+; public: virtual int __cdecl streambuf::xsputn(char const * __ptr64,int) __ptr64
+?xsputn@streambuf@@UEAAHPEBDH@Z
+__dummy_export DATA
+_mtlock
+_mtunlock
diff --git a/mingw-w64-crt/lib64/msvcp60.def b/mingw-w64-crt/lib64/msvcp60.def
index 3520f79..b0c348a 100644
--- a/mingw-w64-crt/lib64/msvcp60.def
+++ b/mingw-w64-crt/lib64/msvcp60.def
@@ -1,4724 +1,4724 @@
-; 
-; Exports of file msvcp60.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msvcp60.dll
-EXPORTS
-; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z
-; D@std::?$?5DU?$char_traits(M@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@M@0@@Z)
-??$?5DU?$char_traits@D@std@@M@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@M@0@@Z
-; D@std::?$?5DU?$char_traits(N@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@N@0@@Z)
-??$?5DU?$char_traits@D@std@@N@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@N@0@@Z
-; D@std::?$?5DU?$char_traits(O@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@O@0@@Z)
-??$?5DU?$char_traits@D@std@@O@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@O@0@@Z
-; D@std::?$?5DU?$char_traits(V?$allocator@D@1@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?5DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?5GU?$char_traits(@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z)
-??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z
-; G@std::?$?5GU?$char_traits(@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAF@Z)
-??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAF@Z
-; G@std::?$?5GU?$char_traits(@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z)
-??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z
-; G@std::?$?5GU?$char_traits(M@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@M@0@@Z)
-??$?5GU?$char_traits@G@std@@M@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@M@0@@Z
-; G@std::?$?5GU?$char_traits(N@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@N@0@@Z)
-??$?5GU?$char_traits@G@std@@N@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@N@0@@Z
-; G@std::?$?5GU?$char_traits(O@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@O@0@@Z)
-??$?5GU?$char_traits@G@std@@O@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@O@0@@Z
-; G@std::?$?5GU?$char_traits(V?$allocator@G@1@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?5GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z
-; D@std::?$?6DU?$char_traits(M@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@M@0@@Z)
-??$?6DU?$char_traits@D@std@@M@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@M@0@@Z
-; D@std::?$?6DU?$char_traits(N@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@N@0@@Z)
-??$?6DU?$char_traits@D@std@@N@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@N@0@@Z
-; D@std::?$?6DU?$char_traits(O@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@O@0@@Z)
-??$?6DU?$char_traits@D@std@@O@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@O@0@@Z
-; D@std::?$?6DU?$char_traits(V?$allocator@D@1@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?6GU?$char_traits(@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z)
-??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z
-; G@std::?$?6GU?$char_traits(@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBF@Z)
-??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBF@Z
-; G@std::?$?6GU?$char_traits(@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z)
-??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z
-; G@std::?$?6GU?$char_traits(M@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@M@0@@Z)
-??$?6GU?$char_traits@G@std@@M@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@M@0@@Z
-; G@std::?$?6GU?$char_traits(N@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@N@0@@Z)
-??$?6GU?$char_traits@G@std@@N@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@N@0@@Z
-; G@std::?$?6GU?$char_traits(O@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@O@0@@Z)
-??$?6GU?$char_traits@G@std@@O@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@O@0@@Z
-; G@std::?$?6GU?$char_traits(V?$allocator@G@1@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?6GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
-??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
-??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; std::?$?8M(YA_NAEBMAEBV?$complex@M@0@@Z)
-??$?8M@std@@YA_NAEBMAEBV?$complex@M@0@@Z
-; std::?$?8M(YA_NAEBV?$complex@M@0@0@Z)
-??$?8M@std@@YA_NAEBV?$complex@M@0@0@Z
-; std::?$?8M(YA_NAEBV?$complex@M@0@AEBM@Z)
-??$?8M@std@@YA_NAEBV?$complex@M@0@AEBM@Z
-; std::?$?8N(YA_NAEBNAEBV?$complex@N@0@@Z)
-??$?8N@std@@YA_NAEBNAEBV?$complex@N@0@@Z
-; std::?$?8N(YA_NAEBV?$complex@N@0@0@Z)
-??$?8N@std@@YA_NAEBV?$complex@N@0@0@Z
-; std::?$?8N(YA_NAEBV?$complex@N@0@AEBN@Z)
-??$?8N@std@@YA_NAEBV?$complex@N@0@AEBN@Z
-; std::?$?8O(YA_NAEBOAEBV?$complex@O@0@@Z)
-??$?8O@std@@YA_NAEBOAEBV?$complex@O@0@@Z
-; std::?$?8O(YA_NAEBV?$complex@O@0@0@Z)
-??$?8O@std@@YA_NAEBV?$complex@O@0@0@Z
-; std::?$?8O(YA_NAEBV?$complex@O@0@AEBO@Z)
-??$?8O@std@@YA_NAEBV?$complex@O@0@AEBO@Z
-; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
-??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
-??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; std::?$?9M(YA_NAEBMAEBV?$complex@M@0@@Z)
-??$?9M@std@@YA_NAEBMAEBV?$complex@M@0@@Z
-; std::?$?9M(YA_NAEBV?$complex@M@0@0@Z)
-??$?9M@std@@YA_NAEBV?$complex@M@0@0@Z
-; std::?$?9M(YA_NAEBV?$complex@M@0@AEBM@Z)
-??$?9M@std@@YA_NAEBV?$complex@M@0@AEBM@Z
-; std::?$?9N(YA_NAEBNAEBV?$complex@N@0@@Z)
-??$?9N@std@@YA_NAEBNAEBV?$complex@N@0@@Z
-; std::?$?9N(YA_NAEBV?$complex@N@0@0@Z)
-??$?9N@std@@YA_NAEBV?$complex@N@0@0@Z
-; std::?$?9N(YA_NAEBV?$complex@N@0@AEBN@Z)
-??$?9N@std@@YA_NAEBV?$complex@N@0@AEBN@Z
-; std::?$?9O(YA_NAEBOAEBV?$complex@O@0@@Z)
-??$?9O@std@@YA_NAEBOAEBV?$complex@O@0@@Z
-; std::?$?9O(YA_NAEBV?$complex@O@0@0@Z)
-??$?9O@std@@YA_NAEBV?$complex@O@0@0@Z
-; std::?$?9O(YA_NAEBV?$complex@O@0@AEBO@Z)
-??$?9O@std@@YA_NAEBV?$complex@O@0@AEBO@Z
-; std::?$?DM(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
-??$?DM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
-; std::?$?DM(YA?AV?$complex@M@0@AEBV10@0@Z)
-??$?DM@std@@YA?AV?$complex@M@0@AEBV10@0@Z
-; std::?$?DM(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
-??$?DM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
-; std::?$?DN(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
-??$?DN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
-; std::?$?DN(YA?AV?$complex@N@0@AEBV10@0@Z)
-??$?DN@std@@YA?AV?$complex@N@0@AEBV10@0@Z
-; std::?$?DN(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
-??$?DN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
-; std::?$?DO(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
-??$?DO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
-; std::?$?DO(YA?AV?$complex@O@0@AEBV10@0@Z)
-??$?DO@std@@YA?AV?$complex@O@0@AEBV10@0@Z
-; std::?$?DO(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
-??$?DO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
-; std::?$?GM(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
-??$?GM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
-; std::?$?GM(YA?AV?$complex@M@0@AEBV10@0@Z)
-??$?GM@std@@YA?AV?$complex@M@0@AEBV10@0@Z
-; std::?$?GM(YA?AV?$complex@M@0@AEBV10@@Z)
-??$?GM@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; std::?$?GM(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
-??$?GM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
-; std::?$?GN(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
-??$?GN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
-; std::?$?GN(YA?AV?$complex@N@0@AEBV10@0@Z)
-??$?GN@std@@YA?AV?$complex@N@0@AEBV10@0@Z
-; std::?$?GN(YA?AV?$complex@N@0@AEBV10@@Z)
-??$?GN@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; std::?$?GN(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
-??$?GN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
-; std::?$?GO(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
-??$?GO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
-; std::?$?GO(YA?AV?$complex@O@0@AEBV10@0@Z)
-??$?GO@std@@YA?AV?$complex@O@0@AEBV10@0@Z
-; std::?$?GO(YA?AV?$complex@O@0@AEBV10@@Z)
-??$?GO@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; std::?$?GO(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
-??$?GO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@0@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@0@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@D@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@D@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@PEBD@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@PEBD@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DAEBV10@@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DAEBV10@@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBDAEBV10@@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBDAEBV10@@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@0@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@0@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@G@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@G@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@PEBG@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@PEBG@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GAEBV10@@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GAEBV10@@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBGAEBV10@@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBGAEBV10@@Z
-; std::?$?HM(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
-??$?HM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
-; std::?$?HM(YA?AV?$complex@M@0@AEBV10@0@Z)
-??$?HM@std@@YA?AV?$complex@M@0@AEBV10@0@Z
-; std::?$?HM(YA?AV?$complex@M@0@AEBV10@@Z)
-??$?HM@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; std::?$?HM(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
-??$?HM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
-; std::?$?HN(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
-??$?HN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
-; std::?$?HN(YA?AV?$complex@N@0@AEBV10@0@Z)
-??$?HN@std@@YA?AV?$complex@N@0@AEBV10@0@Z
-; std::?$?HN(YA?AV?$complex@N@0@AEBV10@@Z)
-??$?HN@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; std::?$?HN(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
-??$?HN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
-; std::?$?HO(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
-??$?HO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
-; std::?$?HO(YA?AV?$complex@O@0@AEBV10@0@Z)
-??$?HO@std@@YA?AV?$complex@O@0@AEBV10@0@Z
-; std::?$?HO(YA?AV?$complex@O@0@AEBV10@@Z)
-??$?HO@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; std::?$?HO(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
-??$?HO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
-; std::?$?KM(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
-??$?KM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
-; std::?$?KM(YA?AV?$complex@M@0@AEBV10@0@Z)
-??$?KM@std@@YA?AV?$complex@M@0@AEBV10@0@Z
-; std::?$?KM(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
-??$?KM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
-; std::?$?KN(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
-??$?KN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
-; std::?$?KN(YA?AV?$complex@N@0@AEBV10@0@Z)
-??$?KN@std@@YA?AV?$complex@N@0@AEBV10@0@Z
-; std::?$?KN(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
-??$?KN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
-; std::?$?KO(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
-??$?KO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
-; std::?$?KO(YA?AV?$complex@O@0@AEBV10@0@Z)
-??$?KO@std@@YA?AV?$complex@O@0@AEBV10@0@Z
-; std::?$?KO(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
-??$?KO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
-; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
-??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
-??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
-??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
-??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
-??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
-??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
-??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
-??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; std::?$?XMM(YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z)
-??$?XMM@std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
-; std::?$?XNN(YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z)
-??$?XNN@std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
-; std::?$?XOO(YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z)
-??$?XOO@std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
-; std::?$?YMM(YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z)
-??$?YMM@std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
-; std::?$?YNN(YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z)
-??$?YNN@std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
-; std::?$?YOO(YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z)
-??$?YOO@std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
-; std::?$?ZMM(YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z)
-??$?ZMM@std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
-; std::?$?ZNN(YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z)
-??$?ZNN@std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
-; std::?$?ZOO(YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z)
-??$?ZOO@std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
-; std::?$?_0MM(YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z)
-??$?_0MM@std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
-; std::?$?_0NN(YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z)
-??$?_0NN@std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
-; std::?$?_0OO(YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z)
-??$?_0OO@std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
-; M@std::?$_Fabs(YAMAEBV?$complex@M@0@PEAH@Z)
-??$_Fabs@M@std@@YAMAEBV?$complex@M@0@PEAH@Z
-; M@std::?$_Fabs(YAMAEBV?$complex@M@1@PEAH@Z)
-??$_Fabs@M@std@@YAMAEBV?$complex@M@1@PEAH@Z
-; N@std::?$_Fabs(YANAEBV?$complex@N@0@PEAH@Z)
-??$_Fabs@N@std@@YANAEBV?$complex@N@0@PEAH@Z
-; N@std::?$_Fabs(YANAEBV?$complex@N@1@PEAH@Z)
-??$_Fabs@N@std@@YANAEBV?$complex@N@1@PEAH@Z
-; O@std::?$_Fabs(YAOAEBV?$complex@O@0@PEAH@Z)
-??$_Fabs@O@std@@YAOAEBV?$complex@O@0@PEAH@Z
-; O@std::?$_Fabs(YAOAEBV?$complex@O@1@PEAH@Z)
-??$_Fabs@O@std@@YAOAEBV?$complex@O@1@PEAH@Z
-; M@std::?$abs(YAMAEBV?$complex@M@0@@Z)
-??$abs@M@std@@YAMAEBV?$complex@M@0@@Z
-; M@std::?$abs(YAMAEBV?$complex@M@1@@Z)
-??$abs@M@std@@YAMAEBV?$complex@M@1@@Z
-; N@std::?$abs(YANAEBV?$complex@N@0@@Z)
-??$abs@N@std@@YANAEBV?$complex@N@0@@Z
-; N@std::?$abs(YANAEBV?$complex@N@1@@Z)
-??$abs@N@std@@YANAEBV?$complex@N@1@@Z
-; O@std::?$abs(YAOAEBV?$complex@O@0@@Z)
-??$abs@O@std@@YAOAEBV?$complex@O@0@@Z
-; O@std::?$abs(YAOAEBV?$complex@O@1@@Z)
-??$abs@O@std@@YAOAEBV?$complex@O@1@@Z
-; M@std::?$arg(YAMAEBV?$complex@M@0@@Z)
-??$arg@M@std@@YAMAEBV?$complex@M@0@@Z
-; M@std::?$arg(YAMAEBV?$complex@M@1@@Z)
-??$arg@M@std@@YAMAEBV?$complex@M@1@@Z
-; N@std::?$arg(YANAEBV?$complex@N@0@@Z)
-??$arg@N@std@@YANAEBV?$complex@N@0@@Z
-; N@std::?$arg(YANAEBV?$complex@N@1@@Z)
-??$arg@N@std@@YANAEBV?$complex@N@1@@Z
-; O@std::?$arg(YAOAEBV?$complex@O@0@@Z)
-??$arg@O@std@@YAOAEBV?$complex@O@0@@Z
-; O@std::?$arg(YAOAEBV?$complex@O@1@@Z)
-??$arg@O@std@@YAOAEBV?$complex@O@1@@Z
-; M@std::?$conj(YA?AV?$complex@M@0@AEBV10@@Z)
-??$conj@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; M@std::?$conj(YA?AV?$complex@M@1@AEBV21@@Z)
-??$conj@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; N@std::?$conj(YA?AV?$complex@N@0@AEBV10@@Z)
-??$conj@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; N@std::?$conj(YA?AV?$complex@N@1@AEBV21@@Z)
-??$conj@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; O@std::?$conj(YA?AV?$complex@O@0@AEBV10@@Z)
-??$conj@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; O@std::?$conj(YA?AV?$complex@O@1@AEBV21@@Z)
-??$conj@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; M@std::?$cos(YA?AV?$complex@M@0@AEBV10@@Z)
-??$cos@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; M@std::?$cos(YA?AV?$complex@M@1@AEBV21@@Z)
-??$cos@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; N@std::?$cos(YA?AV?$complex@N@0@AEBV10@@Z)
-??$cos@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; N@std::?$cos(YA?AV?$complex@N@1@AEBV21@@Z)
-??$cos@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; O@std::?$cos(YA?AV?$complex@O@0@AEBV10@@Z)
-??$cos@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; O@std::?$cos(YA?AV?$complex@O@1@AEBV21@@Z)
-??$cos@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; M@std::?$cosh(YA?AV?$complex@M@0@AEBV10@@Z)
-??$cosh@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; M@std::?$cosh(YA?AV?$complex@M@1@AEBV21@@Z)
-??$cosh@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; N@std::?$cosh(YA?AV?$complex@N@0@AEBV10@@Z)
-??$cosh@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; N@std::?$cosh(YA?AV?$complex@N@1@AEBV21@@Z)
-??$cosh@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; O@std::?$cosh(YA?AV?$complex@O@0@AEBV10@@Z)
-??$cosh@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; O@std::?$cosh(YA?AV?$complex@O@1@AEBV21@@Z)
-??$cosh@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; M@std::?$exp(YA?AV?$complex@M@0@AEBV10@@Z)
-??$exp@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; M@std::?$exp(YA?AV?$complex@M@1@AEBV21@@Z)
-??$exp@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; N@std::?$exp(YA?AV?$complex@N@0@AEBV10@@Z)
-??$exp@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; N@std::?$exp(YA?AV?$complex@N@1@AEBV21@@Z)
-??$exp@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; O@std::?$exp(YA?AV?$complex@O@0@AEBV10@@Z)
-??$exp@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; O@std::?$exp(YA?AV?$complex@O@1@AEBV21@@Z)
-??$exp@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z)
-??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z
-; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z)
-??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z)
-??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z
-; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z)
-??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z
-; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z)
-??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z
-; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z)
-??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z
-; M@std::?$imag(YAMAEBV?$complex@M@0@@Z)
-??$imag@M@std@@YAMAEBV?$complex@M@0@@Z
-; M@std::?$imag(YAMAEBV?$complex@M@1@@Z)
-??$imag@M@std@@YAMAEBV?$complex@M@1@@Z
-; N@std::?$imag(YANAEBV?$complex@N@0@@Z)
-??$imag@N@std@@YANAEBV?$complex@N@0@@Z
-; N@std::?$imag(YANAEBV?$complex@N@1@@Z)
-??$imag@N@std@@YANAEBV?$complex@N@1@@Z
-; O@std::?$imag(YAOAEBV?$complex@O@0@@Z)
-??$imag@O@std@@YAOAEBV?$complex@O@0@@Z
-; O@std::?$imag(YAOAEBV?$complex@O@1@@Z)
-??$imag@O@std@@YAOAEBV?$complex@O@1@@Z
-; M@std::?$log10(YA?AV?$complex@M@0@AEBV10@@Z)
-??$log10@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; M@std::?$log10(YA?AV?$complex@M@1@AEBV21@@Z)
-??$log10@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; N@std::?$log10(YA?AV?$complex@N@0@AEBV10@@Z)
-??$log10@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; N@std::?$log10(YA?AV?$complex@N@1@AEBV21@@Z)
-??$log10@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; O@std::?$log10(YA?AV?$complex@O@0@AEBV10@@Z)
-??$log10@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; O@std::?$log10(YA?AV?$complex@O@1@AEBV21@@Z)
-??$log10@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; M@std::?$log(YA?AV?$complex@M@0@AEBV10@@Z)
-??$log@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; M@std::?$log(YA?AV?$complex@M@1@AEBV21@@Z)
-??$log@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; N@std::?$log(YA?AV?$complex@N@0@AEBV10@@Z)
-??$log@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; N@std::?$log(YA?AV?$complex@N@1@AEBV21@@Z)
-??$log@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; O@std::?$log(YA?AV?$complex@O@0@AEBV10@@Z)
-??$log@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; O@std::?$log(YA?AV?$complex@O@1@AEBV21@@Z)
-??$log@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; M@std::?$norm(YAMAEBV?$complex@M@0@@Z)
-??$norm@M@std@@YAMAEBV?$complex@M@0@@Z
-; M@std::?$norm(YAMAEBV?$complex@M@1@@Z)
-??$norm@M@std@@YAMAEBV?$complex@M@1@@Z
-; N@std::?$norm(YANAEBV?$complex@N@0@@Z)
-??$norm@N@std@@YANAEBV?$complex@N@0@@Z
-; N@std::?$norm(YANAEBV?$complex@N@1@@Z)
-??$norm@N@std@@YANAEBV?$complex@N@1@@Z
-; O@std::?$norm(YAOAEBV?$complex@O@0@@Z)
-??$norm@O@std@@YAOAEBV?$complex@O@0@@Z
-; O@std::?$norm(YAOAEBV?$complex@O@1@@Z)
-??$norm@O@std@@YAOAEBV?$complex@O@1@@Z
-; M@std::?$polar(YA?AV?$complex@M@0@AEBM0@Z)
-??$polar@M@std@@YA?AV?$complex@M@0@AEBM0@Z
-; M@std::?$polar(YA?AV?$complex@M@0@AEBM@Z)
-??$polar@M@std@@YA?AV?$complex@M@0@AEBM@Z
-; M@std::?$polar(YA?AV?$complex@M@1@AEBM0@Z)
-??$polar@M@std@@YA?AV?$complex@M@1@AEBM0@Z
-; M@std::?$polar(YA?AV?$complex@M@1@AEBM@Z)
-??$polar@M@std@@YA?AV?$complex@M@1@AEBM@Z
-; N@std::?$polar(YA?AV?$complex@N@0@AEBN0@Z)
-??$polar@N@std@@YA?AV?$complex@N@0@AEBN0@Z
-; N@std::?$polar(YA?AV?$complex@N@0@AEBN@Z)
-??$polar@N@std@@YA?AV?$complex@N@0@AEBN@Z
-; N@std::?$polar(YA?AV?$complex@N@1@AEBN0@Z)
-??$polar@N@std@@YA?AV?$complex@N@1@AEBN0@Z
-; N@std::?$polar(YA?AV?$complex@N@1@AEBN@Z)
-??$polar@N@std@@YA?AV?$complex@N@1@AEBN@Z
-; O@std::?$polar(YA?AV?$complex@O@0@AEBO0@Z)
-??$polar@O@std@@YA?AV?$complex@O@0@AEBO0@Z
-; O@std::?$polar(YA?AV?$complex@O@0@AEBO@Z)
-??$polar@O@std@@YA?AV?$complex@O@0@AEBO@Z
-; O@std::?$polar(YA?AV?$complex@O@1@AEBO0@Z)
-??$polar@O@std@@YA?AV?$complex@O@1@AEBO0@Z
-; O@std::?$polar(YA?AV?$complex@O@1@AEBO@Z)
-??$polar@O@std@@YA?AV?$complex@O@1@AEBO@Z
-; M@std::?$pow(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
-??$pow@M@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
-; M@std::?$pow(YA?AV?$complex@M@0@AEBV10@0@Z)
-??$pow@M@std@@YA?AV?$complex@M@0@AEBV10@0@Z
-; M@std::?$pow(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
-??$pow@M@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
-; M@std::?$pow(YA?AV?$complex@M@0@AEBV10@H@Z)
-??$pow@M@std@@YA?AV?$complex@M@0@AEBV10@H@Z
-; M@std::?$pow(YA?AV?$complex@M@1@AEBMAEBV21@@Z)
-??$pow@M@std@@YA?AV?$complex@M@1@AEBMAEBV21@@Z
-; M@std::?$pow(YA?AV?$complex@M@1@AEBV21@0@Z)
-??$pow@M@std@@YA?AV?$complex@M@1@AEBV21@0@Z
-; M@std::?$pow(YA?AV?$complex@M@1@AEBV21@AEBM@Z)
-??$pow@M@std@@YA?AV?$complex@M@1@AEBV21@AEBM@Z
-; M@std::?$pow(YA?AV?$complex@M@1@AEBV21@H@Z)
-??$pow@M@std@@YA?AV?$complex@M@1@AEBV21@H@Z
-; N@std::?$pow(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
-??$pow@N@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
-; N@std::?$pow(YA?AV?$complex@N@0@AEBV10@0@Z)
-??$pow@N@std@@YA?AV?$complex@N@0@AEBV10@0@Z
-; N@std::?$pow(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
-??$pow@N@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
-; N@std::?$pow(YA?AV?$complex@N@0@AEBV10@H@Z)
-??$pow@N@std@@YA?AV?$complex@N@0@AEBV10@H@Z
-; N@std::?$pow(YA?AV?$complex@N@1@AEBNAEBV21@@Z)
-??$pow@N@std@@YA?AV?$complex@N@1@AEBNAEBV21@@Z
-; N@std::?$pow(YA?AV?$complex@N@1@AEBV21@0@Z)
-??$pow@N@std@@YA?AV?$complex@N@1@AEBV21@0@Z
-; N@std::?$pow(YA?AV?$complex@N@1@AEBV21@AEBN@Z)
-??$pow@N@std@@YA?AV?$complex@N@1@AEBV21@AEBN@Z
-; N@std::?$pow(YA?AV?$complex@N@1@AEBV21@H@Z)
-??$pow@N@std@@YA?AV?$complex@N@1@AEBV21@H@Z
-; O@std::?$pow(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
-??$pow@O@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
-; O@std::?$pow(YA?AV?$complex@O@0@AEBV10@0@Z)
-??$pow@O@std@@YA?AV?$complex@O@0@AEBV10@0@Z
-; O@std::?$pow(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
-??$pow@O@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
-; O@std::?$pow(YA?AV?$complex@O@0@AEBV10@H@Z)
-??$pow@O@std@@YA?AV?$complex@O@0@AEBV10@H@Z
-; O@std::?$pow(YA?AV?$complex@O@1@AEBOAEBV21@@Z)
-??$pow@O@std@@YA?AV?$complex@O@1@AEBOAEBV21@@Z
-; O@std::?$pow(YA?AV?$complex@O@1@AEBV21@0@Z)
-??$pow@O@std@@YA?AV?$complex@O@1@AEBV21@0@Z
-; O@std::?$pow(YA?AV?$complex@O@1@AEBV21@AEBO@Z)
-??$pow@O@std@@YA?AV?$complex@O@1@AEBV21@AEBO@Z
-; O@std::?$pow(YA?AV?$complex@O@1@AEBV21@H@Z)
-??$pow@O@std@@YA?AV?$complex@O@1@AEBV21@H@Z
-; M@std::?$real(YAMAEBV?$complex@M@0@@Z)
-??$real@M@std@@YAMAEBV?$complex@M@0@@Z
-; M@std::?$real(YAMAEBV?$complex@M@1@@Z)
-??$real@M@std@@YAMAEBV?$complex@M@1@@Z
-; N@std::?$real(YANAEBV?$complex@N@0@@Z)
-??$real@N@std@@YANAEBV?$complex@N@0@@Z
-; N@std::?$real(YANAEBV?$complex@N@1@@Z)
-??$real@N@std@@YANAEBV?$complex@N@1@@Z
-; O@std::?$real(YAOAEBV?$complex@O@0@@Z)
-??$real@O@std@@YAOAEBV?$complex@O@0@@Z
-; O@std::?$real(YAOAEBV?$complex@O@1@@Z)
-??$real@O@std@@YAOAEBV?$complex@O@1@@Z
-; M@std::?$sin(YA?AV?$complex@M@0@AEBV10@@Z)
-??$sin@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; M@std::?$sin(YA?AV?$complex@M@1@AEBV21@@Z)
-??$sin@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; N@std::?$sin(YA?AV?$complex@N@0@AEBV10@@Z)
-??$sin@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; N@std::?$sin(YA?AV?$complex@N@1@AEBV21@@Z)
-??$sin@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; O@std::?$sin(YA?AV?$complex@O@0@AEBV10@@Z)
-??$sin@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; O@std::?$sin(YA?AV?$complex@O@1@AEBV21@@Z)
-??$sin@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; M@std::?$sinh(YA?AV?$complex@M@0@AEBV10@@Z)
-??$sinh@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; M@std::?$sinh(YA?AV?$complex@M@1@AEBV21@@Z)
-??$sinh@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; N@std::?$sinh(YA?AV?$complex@N@0@AEBV10@@Z)
-??$sinh@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; N@std::?$sinh(YA?AV?$complex@N@1@AEBV21@@Z)
-??$sinh@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; O@std::?$sinh(YA?AV?$complex@O@0@AEBV10@@Z)
-??$sinh@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; O@std::?$sinh(YA?AV?$complex@O@1@AEBV21@@Z)
-??$sinh@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; M@std::?$sqrt(YA?AV?$complex@M@0@AEBV10@@Z)
-??$sqrt@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
-; M@std::?$sqrt(YA?AV?$complex@M@1@AEBV21@@Z)
-??$sqrt@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; N@std::?$sqrt(YA?AV?$complex@N@0@AEBV10@@Z)
-??$sqrt@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
-; N@std::?$sqrt(YA?AV?$complex@N@1@AEBV21@@Z)
-??$sqrt@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; O@std::?$sqrt(YA?AV?$complex@O@0@AEBV10@@Z)
-??$sqrt@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
-; O@std::?$sqrt(YA?AV?$complex@O@1@AEBV21@@Z)
-??$sqrt@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; public: __cdecl std::_Complex_base<float>::_Complex_base<float>(float const & __ptr64,float const & __ptr64) __ptr64
-??0?$_Complex_base@M@std@@QEAA@AEBM0@Z
-; public: __cdecl std::_Complex_base<double>::_Complex_base<double>(double const & __ptr64,double const & __ptr64) __ptr64
-??0?$_Complex_base@N@std@@QEAA@AEBN0@Z
-; public: __cdecl std::_Complex_base<long double>::_Complex_base<long double>(long double const & __ptr64,long double const & __ptr64) __ptr64
-??0?$_Complex_base@O@std@@QEAA@AEBO0@Z
-; public: __cdecl std::_Mpunct<char>::_Mpunct<char>(class _Mpunct<char>::_Locinfo const & __ptr64,unsigned __int64,bool) __ptr64
-??0?$_Mpunct@D@std@@QEAA@AEBV_Locinfo@1@_K_N@Z
-; public: __cdecl std::_Mpunct<char>::_Mpunct<char>(unsigned __int64,bool) __ptr64
-??0?$_Mpunct@D@std@@QEAA@_K_N@Z
-; public: __cdecl std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(class _Mpunct<unsigned short>::_Locinfo const & __ptr64,unsigned __int64,bool) __ptr64
-??0?$_Mpunct@G@std@@QEAA@AEBV_Locinfo@1@_K_N@Z
-; public: __cdecl std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(unsigned __int64,bool) __ptr64
-??0?$_Mpunct@G@std@@QEAA@_K_N@Z
-; public: __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(class basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(struct _iobuf * __ptr64) __ptr64
-??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z
-; public: __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(enum basic_filebuf<char,struct std::char_traits<char> >::_Uninitialized) __ptr64
-??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z
-; public: __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(class basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(struct _iobuf * __ptr64) __ptr64
-??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z
-; public: __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized) __ptr64
-??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z
-; public: __cdecl std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(class basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(char const * __ptr64,int) __ptr64
-??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z
-; public: __cdecl std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(void) __ptr64
-??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@XZ
-; public: __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(char const * __ptr64,int) __ptr64
-??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z
-; public: __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@XZ
-; public: __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(class basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(char const * __ptr64,int) __ptr64
-??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z
-; public: __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(void) __ptr64
-??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@XZ
-; public: __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(char const * __ptr64,int) __ptr64
-??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z
-; public: __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@XZ
-; protected: __cdecl std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void) __ptr64
-??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ
-; public: __cdecl std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
-??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; protected: __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??0?$basic_ios@GU?$char_traits@G@std@@@std@@IEAA@XZ
-; public: __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
-??0?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; public: __cdecl std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
-??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; public: __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
-??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; public: __cdecl std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > * __ptr64,bool) __ptr64
-??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
-; public: __cdecl std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(enum basic_istream<char,struct std::char_traits<char> >::_Uninitialized) __ptr64
-??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z
-; public: __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64,bool) __ptr64
-??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z
-; public: __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_istream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized) __ptr64
-??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z
-; public: __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,int) __ptr64
-??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int) __ptr64
-??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z
-; public: __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,int) __ptr64
-??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int) __ptr64
-??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z
-; public: __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(class basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(char const * __ptr64,int) __ptr64
-??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z
-; public: __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(void) __ptr64
-??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@XZ
-; public: __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(char const * __ptr64,int) __ptr64
-??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z
-; public: __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@XZ
-; public: __cdecl std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > * __ptr64,bool,bool) __ptr64
-??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z
-; public: __cdecl std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(enum basic_ostream<char,struct std::char_traits<char> >::_Uninitialized) __ptr64
-??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z
-; public: __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64,bool,bool) __ptr64
-??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z
-; public: __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized) __ptr64
-??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z
-; public: __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,int) __ptr64
-??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int) __ptr64
-??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z
-; public: __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,int) __ptr64
-??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int) __ptr64
-??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z
-; protected: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(enum basic_streambuf<char,struct std::char_traits<char> >::_Uninitialized) __ptr64
-??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z
-; protected: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void) __ptr64
-??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ
-; public: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(class basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
-; protected: __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized) __ptr64
-??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@W4_Uninitialized@1@@Z
-; protected: __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@XZ
-; public: __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(class basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@_K1AEBV?$allocator@D@1@@Z
-; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$allocator@D@1@@Z
-; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const * __ptr64,char const * __ptr64,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD0AEBV?$allocator@D@1@@Z
-; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const * __ptr64,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBDAEBV?$allocator@D@1@@Z
-; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const * __ptr64,unsigned __int64,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD_KAEBV?$allocator@D@1@@Z
-; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(unsigned __int64,char,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@_KDAEBV?$allocator@D@1@@Z
-; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@_K1AEBV?$allocator@G@1@@Z
-; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$allocator@G@1@@Z
-; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const * __ptr64,unsigned short const * __ptr64,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBG0AEBV?$allocator@G@1@@Z
-; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const * __ptr64,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBGAEBV?$allocator@G@1@@Z
-; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const * __ptr64,unsigned __int64,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBG_KAEBV?$allocator@G@1@@Z
-; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned __int64,unsigned short,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@_KGAEBV?$allocator@G@1@@Z
-; public: __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,int) __ptr64
-??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(int) __ptr64
-??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z
-; public: __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,int) __ptr64
-??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int) __ptr64
-??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z
-; public: __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,int) __ptr64
-??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int) __ptr64
-??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z
-; public: __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,int) __ptr64
-??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int) __ptr64
-??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z
-; public: __cdecl std::codecvt<char,char,int>::codecvt<char,char,int>(class codecvt<char,char,int>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$codecvt@DDH@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::codecvt<char,char,int>::codecvt<char,char,int>(unsigned __int64) __ptr64
-??0?$codecvt@DDH@std@@QEAA@_K@Z
-; public: __cdecl std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(class codecvt<unsigned short,char,int>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$codecvt@GDH@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(unsigned __int64) __ptr64
-??0?$codecvt@GDH@std@@QEAA@_K@Z
-; public: __cdecl std::collate<char>::collate<char>(class collate<char>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$collate@D@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::collate<char>::collate<char>(unsigned __int64) __ptr64
-??0?$collate@D@std@@QEAA@_K@Z
-; public: __cdecl std::collate<unsigned short>::collate<unsigned short>(class collate<unsigned short>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$collate@G@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::collate<unsigned short>::collate<unsigned short>(unsigned __int64) __ptr64
-??0?$collate@G@std@@QEAA@_K@Z
-; public: __cdecl std::complex<float>::complex<float>(float const & __ptr64,float const & __ptr64) __ptr64
-??0?$complex@M@std@@QEAA@AEBM0@Z
-; public: __cdecl std::complex<float>::complex<float>(class complex<float>::complex<double> const & __ptr64) __ptr64
-??0?$complex@M@std@@QEAA@AEBV?$complex@N@1@@Z
-; public: __cdecl std::complex<float>::complex<float>(class complex<float>::complex<long double> const & __ptr64) __ptr64
-??0?$complex@M@std@@QEAA@AEBV?$complex@O@1@@Z
-; public: __cdecl std::complex<double>::complex<double>(double const & __ptr64,double const & __ptr64) __ptr64
-??0?$complex@N@std@@QEAA@AEBN0@Z
-; public: __cdecl std::complex<double>::complex<double>(class complex<double>::complex<float> const & __ptr64) __ptr64
-??0?$complex@N@std@@QEAA@AEBV?$complex@M@1@@Z
-; public: __cdecl std::complex<double>::complex<double>(class complex<double>::complex<long double> const & __ptr64) __ptr64
-??0?$complex@N@std@@QEAA@AEBV?$complex@O@1@@Z
-; public: __cdecl std::complex<long double>::complex<long double>(long double const & __ptr64,long double const & __ptr64) __ptr64
-??0?$complex@O@std@@QEAA@AEBO0@Z
-; public: __cdecl std::complex<long double>::complex<long double>(class complex<long double>::complex<float> const & __ptr64) __ptr64
-??0?$complex@O@std@@QEAA@AEBV?$complex@M@1@@Z
-; public: __cdecl std::complex<long double>::complex<long double>(class complex<long double>::complex<double> const & __ptr64) __ptr64
-??0?$complex@O@std@@QEAA@AEBV?$complex@N@1@@Z
-; public: __cdecl std::ctype<char>::ctype<char>(class ctype<char>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$ctype@D@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::ctype<char>::ctype<char>(short const * __ptr64,bool,unsigned __int64) __ptr64
-??0?$ctype@D@std@@QEAA@PEBF_N_K@Z
-; public: __cdecl std::ctype<unsigned short>::ctype<unsigned short>(class ctype<unsigned short>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$ctype@G@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::ctype<unsigned short>::ctype<unsigned short>(unsigned __int64) __ptr64
-??0?$ctype@G@std@@QEAA@_K@Z
-; public: __cdecl std::messages<char>::messages<char>(class messages<char>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$messages@D@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::messages<char>::messages<char>(unsigned __int64) __ptr64
-??0?$messages@D@std@@QEAA@_K@Z
-; public: __cdecl std::messages<unsigned short>::messages<unsigned short>(class messages<unsigned short>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$messages@G@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::messages<unsigned short>::messages<unsigned short>(unsigned __int64) __ptr64
-??0?$messages@G@std@@QEAA@_K@Z
-; public: __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
-??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
-??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
-??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
-??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::moneypunct<char,1>::moneypunct<char,1>(class moneypunct<char,1>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$moneypunct@D$00@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::moneypunct<char,1>::moneypunct<char,1>(unsigned __int64) __ptr64
-??0?$moneypunct@D$00@std@@QEAA@_K@Z
-; public: __cdecl std::moneypunct<char,0>::moneypunct<char,0>(class moneypunct<char,0>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$moneypunct@D$0A@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::moneypunct<char,0>::moneypunct<char,0>(unsigned __int64) __ptr64
-??0?$moneypunct@D$0A@@std@@QEAA@_K@Z
-; public: __cdecl std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(class moneypunct<unsigned short,1>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$moneypunct@G$00@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(unsigned __int64) __ptr64
-??0?$moneypunct@G$00@std@@QEAA@_K@Z
-; public: __cdecl std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(class moneypunct<unsigned short,0>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$moneypunct@G$0A@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(unsigned __int64) __ptr64
-??0?$moneypunct@G$0A@@std@@QEAA@_K@Z
-; public: __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
-??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
-??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
-??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
-??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::numpunct<char>::numpunct<char>(class numpunct<char>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$numpunct@D@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::numpunct<char>::numpunct<char>(unsigned __int64) __ptr64
-??0?$numpunct@D@std@@QEAA@_K@Z
-; public: __cdecl std::numpunct<unsigned short>::numpunct<unsigned short>(class numpunct<unsigned short>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$numpunct@G@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::numpunct<unsigned short>::numpunct<unsigned short>(unsigned __int64) __ptr64
-??0?$numpunct@G@std@@QEAA@_K@Z
-; public: __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
-??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
-??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
-??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
-??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
-; public: __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
-??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
-; public: __cdecl std::ios_base::Init::Init(void) __ptr64
-??0Init@ios_base@std@@QEAA@XZ
-; public: __cdecl std::_Locinfo::_Locinfo(class _Locinfo::_Locinfo const & __ptr64) __ptr64
-??0_Locinfo@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::_Locinfo::_Locinfo(int,char const * __ptr64) __ptr64
-??0_Locinfo@std@@QEAA@HPEBD@Z
-; public: __cdecl std::_Locinfo::_Locinfo(char const * __ptr64) __ptr64
-??0_Locinfo@std@@QEAA@PEBD@Z
-; public: __cdecl std::_Lockit::_Lockit(void) __ptr64
-??0_Lockit@std@@QEAA@XZ
-; public: __cdecl std::_Timevec::_Timevec(class _Timevec::_Timevec const & __ptr64) __ptr64
-??0_Timevec@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::_Timevec::_Timevec(void * __ptr64) __ptr64
-??0_Timevec@std@@QEAA@PEAX@Z
-; public: __cdecl std::_Winit::_Winit(void) __ptr64
-??0_Winit@std@@QEAA@XZ
-; public: __cdecl std::__non_rtti_object::__non_rtti_object(class __non_rtti_object::__non_rtti_object const & __ptr64) __ptr64
-??0__non_rtti_object@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::__non_rtti_object::__non_rtti_object(char const * __ptr64) __ptr64
-??0__non_rtti_object@std@@QEAA@PEBD@Z
-; public: __cdecl std::bad_alloc::bad_alloc(class bad_alloc::bad_alloc const & __ptr64) __ptr64
-??0bad_alloc@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::bad_alloc::bad_alloc(char const * __ptr64) __ptr64
-??0bad_alloc@std@@QEAA@PEBD@Z
-; public: __cdecl std::bad_cast::bad_cast(class bad_cast::bad_cast const & __ptr64) __ptr64
-??0bad_cast@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::bad_cast::bad_cast(char const * __ptr64) __ptr64
-??0bad_cast@std@@QEAA@PEBD@Z
-; public: __cdecl std::bad_exception::bad_exception(class bad_exception::bad_exception const & __ptr64) __ptr64
-??0bad_exception@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::bad_exception::bad_exception(char const * __ptr64) __ptr64
-??0bad_exception@std@@QEAA@PEBD@Z
-; public: __cdecl std::bad_typeid::bad_typeid(class bad_typeid::bad_typeid const & __ptr64) __ptr64
-??0bad_typeid@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::bad_typeid::bad_typeid(char const * __ptr64) __ptr64
-??0bad_typeid@std@@QEAA@PEBD@Z
-; public: __cdecl std::codecvt_base::codecvt_base(unsigned __int64) __ptr64
-??0codecvt_base@std@@QEAA@_K@Z
-; public: __cdecl std::ctype_base::ctype_base(unsigned __int64) __ptr64
-??0ctype_base@std@@QEAA@_K@Z
-; public: __cdecl std::domain_error::domain_error(class domain_error::domain_error const & __ptr64) __ptr64
-??0domain_error@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::domain_error::domain_error(class domain_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0domain_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; protected: __cdecl std::locale::facet::facet(unsigned __int64) __ptr64
-??0facet@locale@std@@IEAA@_K@Z
-; protected: __cdecl std::ios_base::ios_base(void) __ptr64
-??0ios_base@std@@IEAA@XZ
-; public: __cdecl std::ios_base::ios_base(class ios_base::ios_base const & __ptr64) __ptr64
-??0ios_base@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::length_error::length_error(class length_error::length_error const & __ptr64) __ptr64
-??0length_error@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::length_error::length_error(class length_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0length_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; private: __cdecl std::locale::locale(class locale::locale::_Locimp * __ptr64) __ptr64
-??0locale@std@@AEAA@PEAV_Locimp@01@@Z
-; public: __cdecl std::locale::locale(class locale::locale const & __ptr64,class locale::locale const & __ptr64,int) __ptr64
-??0locale@std@@QEAA@AEBV01@0H@Z
-; public: __cdecl std::locale::locale(class locale::locale const & __ptr64) __ptr64
-??0locale@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::locale::locale(class locale::locale const & __ptr64,char const * __ptr64,int) __ptr64
-??0locale@std@@QEAA@AEBV01@PEBDH@Z
-; public: __cdecl std::locale::locale(char const * __ptr64,int) __ptr64
-??0locale@std@@QEAA@PEBDH@Z
-; public: __cdecl std::locale::locale(enum locale::_Uninitialized) __ptr64
-??0locale@std@@QEAA@W4_Uninitialized@1@@Z
-; public: __cdecl std::locale::locale(void) __ptr64
-??0locale@std@@QEAA@XZ
-; public: __cdecl std::logic_error::logic_error(class logic_error::logic_error const & __ptr64) __ptr64
-??0logic_error@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::logic_error::logic_error(class logic_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0logic_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __cdecl std::messages_base::messages_base(unsigned __int64) __ptr64
-??0messages_base@std@@QEAA@_K@Z
-; public: __cdecl std::money_base::money_base(unsigned __int64) __ptr64
-??0money_base@std@@QEAA@_K@Z
-; public: __cdecl std::ostrstream::ostrstream(char * __ptr64,__int64,int) __ptr64
-??0ostrstream@std@@QEAA@PEAD_JH@Z
-; public: __cdecl std::out_of_range::out_of_range(class out_of_range::out_of_range const & __ptr64) __ptr64
-??0out_of_range@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::out_of_range::out_of_range(class out_of_range::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0out_of_range@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __cdecl std::overflow_error::overflow_error(class overflow_error::overflow_error const & __ptr64) __ptr64
-??0overflow_error@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::overflow_error::overflow_error(class overflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0overflow_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __cdecl std::range_error::range_error(class range_error::range_error const & __ptr64) __ptr64
-??0range_error@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::range_error::range_error(class range_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0range_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __cdecl std::runtime_error::runtime_error(class runtime_error::runtime_error const & __ptr64) __ptr64
-??0runtime_error@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::runtime_error::runtime_error(class runtime_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0runtime_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __cdecl std::strstream::strstream(char * __ptr64,__int64,int) __ptr64
-??0strstream@std@@QEAA@PEAD_JH@Z
-; public: __cdecl std::time_base::time_base(unsigned __int64) __ptr64
-??0time_base@std@@QEAA@_K@Z
-; public: __cdecl std::underflow_error::underflow_error(class underflow_error::underflow_error const & __ptr64) __ptr64
-??0underflow_error@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::underflow_error::underflow_error(class underflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??0underflow_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: virtual __cdecl std::_Mpunct<char>::~_Mpunct<char>(void) __ptr64
-??1?$_Mpunct@D@std@@UEAA@XZ
-; public: virtual __cdecl std::_Mpunct<unsigned short>::~_Mpunct<unsigned short>(void) __ptr64
-??1?$_Mpunct@G@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::~basic_filebuf<char,struct std::char_traits<char> >(void) __ptr64
-??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_fstream<char,struct std::char_traits<char> >::~basic_fstream<char,struct std::char_traits<char> >(void) __ptr64
-??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::~basic_ifstream<char,struct std::char_traits<char> >(void) __ptr64
-??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void) __ptr64
-??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::~basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??1?$basic_ios@GU?$char_traits@G@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_iostream<char,struct std::char_traits<char> >::~basic_iostream<char,struct std::char_traits<char> >(void) __ptr64
-??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_istream<char,struct std::char_traits<char> >::~basic_istream<char,struct std::char_traits<char> >(void) __ptr64
-??1?$basic_istream@DU?$char_traits@D@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::~basic_istream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??1?$basic_istream@GU?$char_traits@G@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
-??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
-??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::~basic_ofstream<char,struct std::char_traits<char> >(void) __ptr64
-??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void) __ptr64
-??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
-??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
-??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void) __ptr64
-??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
-??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UEAA@XZ
-; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
-??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ
-; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
-??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@XZ
-; public: virtual __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
-??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
-??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
-??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ
-; public: virtual __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
-??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ
-; public: virtual __cdecl std::codecvt<char,char,int>::~codecvt<char,char,int>(void) __ptr64
-??1?$codecvt@DDH@std@@UEAA@XZ
-; public: virtual __cdecl std::codecvt<unsigned short,char,int>::~codecvt<unsigned short,char,int>(void) __ptr64
-??1?$codecvt@GDH@std@@UEAA@XZ
-; public: virtual __cdecl std::collate<char>::~collate<char>(void) __ptr64
-??1?$collate@D@std@@UEAA@XZ
-; public: virtual __cdecl std::collate<unsigned short>::~collate<unsigned short>(void) __ptr64
-??1?$collate@G@std@@UEAA@XZ
-; public: virtual __cdecl std::ctype<char>::~ctype<char>(void) __ptr64
-??1?$ctype@D@std@@UEAA@XZ
-; public: virtual __cdecl std::ctype<unsigned short>::~ctype<unsigned short>(void) __ptr64
-??1?$ctype@G@std@@UEAA@XZ
-; public: virtual __cdecl std::messages<char>::~messages<char>(void) __ptr64
-??1?$messages@D@std@@UEAA@XZ
-; public: virtual __cdecl std::messages<unsigned short>::~messages<unsigned short>(void) __ptr64
-??1?$messages@G@std@@UEAA@XZ
-; public: virtual __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
-??1?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
-??1?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
-??1?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
-??1?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::moneypunct<char,1>::~moneypunct<char,1>(void) __ptr64
-??1?$moneypunct@D$00@std@@UEAA@XZ
-; public: virtual __cdecl std::moneypunct<char,0>::~moneypunct<char,0>(void) __ptr64
-??1?$moneypunct@D$0A@@std@@UEAA@XZ
-; public: virtual __cdecl std::moneypunct<unsigned short,1>::~moneypunct<unsigned short,1>(void) __ptr64
-??1?$moneypunct@G$00@std@@UEAA@XZ
-; public: virtual __cdecl std::moneypunct<unsigned short,0>::~moneypunct<unsigned short,0>(void) __ptr64
-??1?$moneypunct@G$0A@@std@@UEAA@XZ
-; public: virtual __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
-??1?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
-??1?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
-??1?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
-??1?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::numpunct<char>::~numpunct<char>(void) __ptr64
-??1?$numpunct@D@std@@UEAA@XZ
-; public: virtual __cdecl std::numpunct<unsigned short>::~numpunct<unsigned short>(void) __ptr64
-??1?$numpunct@G@std@@UEAA@XZ
-; public: virtual __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
-??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
-??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
-??1?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
-; public: virtual __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
-??1?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
-; public: __cdecl std::ios_base::Init::~Init(void) __ptr64
-??1Init@ios_base@std@@QEAA@XZ
-; public: __cdecl std::_Locinfo::~_Locinfo(void) __ptr64
-??1_Locinfo@std@@QEAA@XZ
-; public: __cdecl std::_Lockit::~_Lockit(void) __ptr64
-??1_Lockit@std@@QEAA@XZ
-; public: __cdecl std::_Timevec::~_Timevec(void) __ptr64
-??1_Timevec@std@@QEAA@XZ
-; public: __cdecl std::_Winit::~_Winit(void) __ptr64
-??1_Winit@std@@QEAA@XZ
-; public: virtual __cdecl std::__non_rtti_object::~__non_rtti_object(void) __ptr64
-??1__non_rtti_object@std@@UEAA@XZ
-; public: virtual __cdecl std::bad_alloc::~bad_alloc(void) __ptr64
-??1bad_alloc@std@@UEAA@XZ
-; public: virtual __cdecl std::bad_cast::~bad_cast(void) __ptr64
-??1bad_cast@std@@UEAA@XZ
-; public: virtual __cdecl std::bad_exception::~bad_exception(void) __ptr64
-??1bad_exception@std@@UEAA@XZ
-; public: virtual __cdecl std::bad_typeid::~bad_typeid(void) __ptr64
-??1bad_typeid@std@@UEAA@XZ
-; public: virtual __cdecl std::codecvt_base::~codecvt_base(void) __ptr64
-??1codecvt_base@std@@UEAA@XZ
-; public: virtual __cdecl std::ctype_base::~ctype_base(void) __ptr64
-??1ctype_base@std@@UEAA@XZ
-; public: virtual __cdecl std::domain_error::~domain_error(void) __ptr64
-??1domain_error@std@@UEAA@XZ
-; public: virtual __cdecl std::locale::facet::~facet(void) __ptr64
-??1facet@locale@std@@UEAA@XZ
-; public: virtual __cdecl std::ios_base::~ios_base(void) __ptr64
-??1ios_base@std@@UEAA@XZ
-; public: virtual __cdecl std::istrstream::~istrstream(void) __ptr64
-??1istrstream@std@@UEAA@XZ
-; public: virtual __cdecl std::length_error::~length_error(void) __ptr64
-??1length_error@std@@UEAA@XZ
-; public: __cdecl std::locale::~locale(void) __ptr64
-??1locale@std@@QEAA@XZ
-; public: virtual __cdecl std::logic_error::~logic_error(void) __ptr64
-??1logic_error@std@@UEAA@XZ
-; public: virtual __cdecl std::messages_base::~messages_base(void) __ptr64
-??1messages_base@std@@UEAA@XZ
-; public: virtual __cdecl std::money_base::~money_base(void) __ptr64
-??1money_base@std@@UEAA@XZ
-; public: virtual __cdecl std::ostrstream::~ostrstream(void) __ptr64
-??1ostrstream@std@@UEAA@XZ
-; public: virtual __cdecl std::out_of_range::~out_of_range(void) __ptr64
-??1out_of_range@std@@UEAA@XZ
-; public: virtual __cdecl std::overflow_error::~overflow_error(void) __ptr64
-??1overflow_error@std@@UEAA@XZ
-; public: virtual __cdecl std::range_error::~range_error(void) __ptr64
-??1range_error@std@@UEAA@XZ
-; public: virtual __cdecl std::runtime_error::~runtime_error(void) __ptr64
-??1runtime_error@std@@UEAA@XZ
-; public: virtual __cdecl std::strstream::~strstream(void) __ptr64
-??1strstream@std@@UEAA@XZ
-; public: virtual __cdecl std::strstreambuf::~strstreambuf(void) __ptr64
-??1strstreambuf@std@@UEAA@XZ
-; public: virtual __cdecl std::time_base::~time_base(void) __ptr64
-??1time_base@std@@UEAA@XZ
-; public: virtual __cdecl std::underflow_error::~underflow_error(void) __ptr64
-??1underflow_error@std@@UEAA@XZ
-; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator=(class std::_Complex_base<float> const & __ptr64) __ptr64
-??4?$_Complex_base@M@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator=(class std::_Complex_base<double> const & __ptr64) __ptr64
-??4?$_Complex_base@N@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator=(class std::_Complex_base<long double> const & __ptr64) __ptr64
-??4?$_Complex_base@O@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::_Ctr<float> & __ptr64 __cdecl std::_Ctr<float>::operator=(class std::_Ctr<float> const & __ptr64) __ptr64
-??4?$_Ctr@M@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::_Ctr<double> & __ptr64 __cdecl std::_Ctr<double>::operator=(class std::_Ctr<double> const & __ptr64) __ptr64
-??4?$_Ctr@N@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::_Ctr<long double> & __ptr64 __cdecl std::_Ctr<long double>::operator=(class std::_Ctr<long double> const & __ptr64) __ptr64
-??4?$_Ctr@O@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::allocator<void> & __ptr64 __cdecl std::allocator<void>::operator=(class std::allocator<void> const & __ptr64) __ptr64
-??4?$allocator@X@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::operator=(class std::basic_filebuf<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??4?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_fstream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_fstream<char,struct std::char_traits<char> >::operator=(class std::basic_fstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??4?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ifstream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::operator=(class std::basic_ifstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??4?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ios<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::operator=(class std::basic_ios<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??4?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_iostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_iostream<char,struct std::char_traits<char> >::operator=(class std::basic_iostream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??4?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator=(class std::basic_istream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??4?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??4?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ofstream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::operator=(class std::basic_ofstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??4?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator=(class std::basic_ostream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??4?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??4?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::operator=(class std::basic_streambuf<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-??4?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char) __ptr64
-??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@D@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char const * __ptr64) __ptr64
-??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@PEBD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short) __ptr64
-??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@G@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short const * __ptr64) __ptr64
-??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@PEBG@Z
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??4?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??4?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??4?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: struct std::char_traits<char> & __ptr64 __cdecl std::char_traits<char>::operator=(struct std::char_traits<char> const & __ptr64) __ptr64
-??4?$char_traits@D@std@@QEAAAEAU01@AEBU01@@Z
-; public: struct std::char_traits<unsigned short> & __ptr64 __cdecl std::char_traits<unsigned short>::operator=(struct std::char_traits<unsigned short> const & __ptr64) __ptr64
-??4?$char_traits@G@std@@QEAAAEAU01@AEBU01@@Z
-; public: class std::complex<float> & __ptr64 __cdecl std::complex<float>::operator=(float const & __ptr64) __ptr64
-??4?$complex@M@std@@QEAAAEAV01@AEBM@Z
-; public: class std::complex<float> & __ptr64 __cdecl std::complex<float>::operator=(class std::complex<float> const & __ptr64) __ptr64
-??4?$complex@M@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::complex<double> & __ptr64 __cdecl std::complex<double>::operator=(double const & __ptr64) __ptr64
-??4?$complex@N@std@@QEAAAEAV01@AEBN@Z
-; public: class std::complex<double> & __ptr64 __cdecl std::complex<double>::operator=(class std::complex<double> const & __ptr64) __ptr64
-??4?$complex@N@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::complex<long double> & __ptr64 __cdecl std::complex<long double>::operator=(long double const & __ptr64) __ptr64
-??4?$complex@O@std@@QEAAAEAV01@AEBO@Z
-; public: class std::complex<long double> & __ptr64 __cdecl std::complex<long double>::operator=(class std::complex<long double> const & __ptr64) __ptr64
-??4?$complex@O@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<signed char> & __ptr64 __cdecl std::numeric_limits<signed char>::operator=(class std::numeric_limits<signed char> const & __ptr64) __ptr64
-??4?$numeric_limits@C@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<char> & __ptr64 __cdecl std::numeric_limits<char>::operator=(class std::numeric_limits<char> const & __ptr64) __ptr64
-??4?$numeric_limits@D@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<unsigned char> & __ptr64 __cdecl std::numeric_limits<unsigned char>::operator=(class std::numeric_limits<unsigned char> const & __ptr64) __ptr64
-??4?$numeric_limits@E@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<short> & __ptr64 __cdecl std::numeric_limits<short>::operator=(class std::numeric_limits<short> const & __ptr64) __ptr64
-??4?$numeric_limits@F@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<unsigned short> & __ptr64 __cdecl std::numeric_limits<unsigned short>::operator=(class std::numeric_limits<unsigned short> const & __ptr64) __ptr64
-??4?$numeric_limits@G@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<int> & __ptr64 __cdecl std::numeric_limits<int>::operator=(class std::numeric_limits<int> const & __ptr64) __ptr64
-??4?$numeric_limits@H@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<unsigned int> & __ptr64 __cdecl std::numeric_limits<unsigned int>::operator=(class std::numeric_limits<unsigned int> const & __ptr64) __ptr64
-??4?$numeric_limits@I@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<long> & __ptr64 __cdecl std::numeric_limits<long>::operator=(class std::numeric_limits<long> const & __ptr64) __ptr64
-??4?$numeric_limits@J@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<unsigned long> & __ptr64 __cdecl std::numeric_limits<unsigned long>::operator=(class std::numeric_limits<unsigned long> const & __ptr64) __ptr64
-??4?$numeric_limits@K@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<float> & __ptr64 __cdecl std::numeric_limits<float>::operator=(class std::numeric_limits<float> const & __ptr64) __ptr64
-??4?$numeric_limits@M@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<double> & __ptr64 __cdecl std::numeric_limits<double>::operator=(class std::numeric_limits<double> const & __ptr64) __ptr64
-??4?$numeric_limits@N@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<long double> & __ptr64 __cdecl std::numeric_limits<long double>::operator=(class std::numeric_limits<long double> const & __ptr64) __ptr64
-??4?$numeric_limits@O@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::numeric_limits<bool> & __ptr64 __cdecl std::numeric_limits<bool>::operator=(class std::numeric_limits<bool> const & __ptr64) __ptr64
-??4?$numeric_limits@_N@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::ios_base::Init & __ptr64 __cdecl std::ios_base::Init::operator=(class std::ios_base::Init const & __ptr64) __ptr64
-??4Init@ios_base@std@@QEAAAEAV012@AEBV012@@Z
-; public: class std::_Locinfo & __ptr64 __cdecl std::_Locinfo::operator=(class std::_Locinfo const & __ptr64) __ptr64
-??4_Locinfo@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::_Lockit & __ptr64 __cdecl std::_Lockit::operator=(class std::_Lockit const & __ptr64) __ptr64
-??4_Lockit@std@@QEAAAEAV01@AEBV01@@Z
-; public: struct std::_Num_base & __ptr64 __cdecl std::_Num_base::operator=(struct std::_Num_base const & __ptr64) __ptr64
-??4_Num_base@std@@QEAAAEAU01@AEBU01@@Z
-; public: struct std::_Num_float_base & __ptr64 __cdecl std::_Num_float_base::operator=(struct std::_Num_float_base const & __ptr64) __ptr64
-??4_Num_float_base@std@@QEAAAEAU01@AEBU01@@Z
-; public: struct std::_Num_int_base & __ptr64 __cdecl std::_Num_int_base::operator=(struct std::_Num_int_base const & __ptr64) __ptr64
-??4_Num_int_base@std@@QEAAAEAU01@AEBU01@@Z
-; public: class std::_Timevec & __ptr64 __cdecl std::_Timevec::operator=(class std::_Timevec const & __ptr64) __ptr64
-??4_Timevec@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::_Winit & __ptr64 __cdecl std::_Winit::operator=(class std::_Winit const & __ptr64) __ptr64
-??4_Winit@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::__non_rtti_object & __ptr64 __cdecl std::__non_rtti_object::operator=(class std::__non_rtti_object const & __ptr64) __ptr64
-??4__non_rtti_object@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::bad_alloc & __ptr64 __cdecl std::bad_alloc::operator=(class std::bad_alloc const & __ptr64) __ptr64
-??4bad_alloc@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::bad_cast & __ptr64 __cdecl std::bad_cast::operator=(class std::bad_cast const & __ptr64) __ptr64
-??4bad_cast@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::bad_exception & __ptr64 __cdecl std::bad_exception::operator=(class std::bad_exception const & __ptr64) __ptr64
-??4bad_exception@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::bad_typeid & __ptr64 __cdecl std::bad_typeid::operator=(class std::bad_typeid const & __ptr64) __ptr64
-??4bad_typeid@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::domain_error & __ptr64 __cdecl std::domain_error::operator=(class std::domain_error const & __ptr64) __ptr64
-??4domain_error@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::locale::id & __ptr64 __cdecl std::locale::id::operator=(class std::locale::id const & __ptr64) __ptr64
-??4id@locale@std@@QEAAAEAV012@AEBV012@@Z
-; public: class std::ios_base & __ptr64 __cdecl std::ios_base::operator=(class std::ios_base const & __ptr64) __ptr64
-??4ios_base@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::length_error & __ptr64 __cdecl std::length_error::operator=(class std::length_error const & __ptr64) __ptr64
-??4length_error@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::locale & __ptr64 __cdecl std::locale::operator=(class std::locale const & __ptr64) __ptr64
-??4locale@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::logic_error & __ptr64 __cdecl std::logic_error::operator=(class std::logic_error const & __ptr64) __ptr64
-??4logic_error@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::out_of_range & __ptr64 __cdecl std::out_of_range::operator=(class std::out_of_range const & __ptr64) __ptr64
-??4out_of_range@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::overflow_error & __ptr64 __cdecl std::overflow_error::operator=(class std::overflow_error const & __ptr64) __ptr64
-??4overflow_error@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::range_error & __ptr64 __cdecl std::range_error::operator=(class std::range_error const & __ptr64) __ptr64
-??4range_error@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::runtime_error & __ptr64 __cdecl std::runtime_error::operator=(class std::runtime_error const & __ptr64) __ptr64
-??4runtime_error@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::underflow_error & __ptr64 __cdecl std::underflow_error::operator=(class std::underflow_error const & __ptr64) __ptr64
-??4underflow_error@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(short & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAF@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned short & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAG@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(int & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAH@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned int & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAI@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(long & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAJ@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned long & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAK@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(float & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAM@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(double & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAN@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(long double & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAO@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(void * __ptr64 & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAPEAX@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(__int64 & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_J@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned __int64 & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_K@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(bool & __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_N@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 (__cdecl*)(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64)) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_ios<char,struct std::char_traits<char> > & __ptr64 (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > & __ptr64)) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::ios_base & __ptr64 (__cdecl*)(class std::ios_base & __ptr64)) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(short & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAF@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned short & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAG@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(int & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned int & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAI@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAJ@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned long & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAK@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(float & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAM@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(double & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAN@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long double & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAO@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(void * __ptr64 & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAPEAX@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(__int64 & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_J@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned __int64 & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_K@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(bool & __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_N@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 (__cdecl*)(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::ios_base & __ptr64 (__cdecl*)(class std::ios_base & __ptr64)) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,signed char & __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,char & __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,unsigned char & __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::complex<float> & __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@M@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::complex<double> & __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@N@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::complex<long double> & __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@O@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,signed char * __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,char * __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,unsigned char * __ptr64)
-??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short & __ptr64)
-??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64)
-??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<float> & __ptr64)
-??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@M@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<double> & __ptr64)
-??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@N@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<long double> & __ptr64)
-??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@O@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,short * __ptr64)
-??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAF@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short * __ptr64)
-??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(short) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned short) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned int) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned long) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(float) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long double) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@O@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64)) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ios<char,struct std::char_traits<char> > & __ptr64 (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > & __ptr64)) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::ios_base & __ptr64 (__cdecl*)(class std::ios_base & __ptr64)) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(void const * __ptr64) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(__int64) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned __int64) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(bool) __ptr64
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(short) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@F@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned short) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@G@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(int) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@H@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned int) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@I@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@J@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned long) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@K@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(float) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@M@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(double) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@N@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long double) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@O@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 (__cdecl*)(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::ios_base & __ptr64 (__cdecl*)(class std::ios_base & __ptr64)) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(void const * __ptr64) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEBX@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(__int64) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_J@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned __int64) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_K@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(bool) __ptr64
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_N@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,class std::complex<float> const & __ptr64)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@M@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,class std::complex<double> const & __ptr64)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@N@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,class std::complex<long double> const & __ptr64)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@O@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,signed char)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,char)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,unsigned char)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,signed char const * __ptr64)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,char const * __ptr64)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,unsigned char const * __ptr64)
-??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<float> const & __ptr64)
-??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@M@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<double> const & __ptr64)
-??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@N@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<long double> const & __ptr64)
-??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@O@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short)
-??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,short const * __ptr64)
-??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBF@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short const * __ptr64)
-??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z
-; public: bool __cdecl std::ios_base::operator!(void)const  __ptr64
-??7ios_base@std@@QEBA_NXZ
-; public: bool __cdecl std::locale::operator==(class std::locale const & __ptr64)const  __ptr64
-??8locale@std@@QEBA_NAEBV01@@Z
-; bool __cdecl std::operator==(float const & __ptr64,class std::complex<float> const & __ptr64)
-??8std@@YA_NAEBMAEBV?$complex@M@0@@Z
-; bool __cdecl std::operator==(double const & __ptr64,class std::complex<double> const & __ptr64)
-??8std@@YA_NAEBNAEBV?$complex@N@0@@Z
-; bool __cdecl std::operator==(long double const & __ptr64,class std::complex<long double> const & __ptr64)
-??8std@@YA_NAEBOAEBV?$complex@O@0@@Z
-; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??8std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
-??8std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??8std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
-??8std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; bool __cdecl std::operator==(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
-??8std@@YA_NAEBV?$complex@M@0@0@Z
-; bool __cdecl std::operator==(class std::complex<float> const & __ptr64,float const & __ptr64)
-??8std@@YA_NAEBV?$complex@M@0@AEBM@Z
-; bool __cdecl std::operator==(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
-??8std@@YA_NAEBV?$complex@N@0@0@Z
-; bool __cdecl std::operator==(class std::complex<double> const & __ptr64,double const & __ptr64)
-??8std@@YA_NAEBV?$complex@N@0@AEBN@Z
-; bool __cdecl std::operator==(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
-??8std@@YA_NAEBV?$complex@O@0@0@Z
-; bool __cdecl std::operator==(class std::complex<long double> const & __ptr64,long double const & __ptr64)
-??8std@@YA_NAEBV?$complex@O@0@AEBO@Z
-; bool __cdecl std::operator==(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??8std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator==(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??8std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; public: bool __cdecl std::locale::operator!=(class std::locale const & __ptr64)const  __ptr64
-??9locale@std@@QEBA_NAEBV01@@Z
-; bool __cdecl std::operator!=(float const & __ptr64,class std::complex<float> const & __ptr64)
-??9std@@YA_NAEBMAEBV?$complex@M@0@@Z
-; bool __cdecl std::operator!=(double const & __ptr64,class std::complex<double> const & __ptr64)
-??9std@@YA_NAEBNAEBV?$complex@N@0@@Z
-; bool __cdecl std::operator!=(long double const & __ptr64,class std::complex<long double> const & __ptr64)
-??9std@@YA_NAEBOAEBV?$complex@O@0@@Z
-; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??9std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
-??9std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??9std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
-??9std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; bool __cdecl std::operator!=(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
-??9std@@YA_NAEBV?$complex@M@0@0@Z
-; bool __cdecl std::operator!=(class std::complex<float> const & __ptr64,float const & __ptr64)
-??9std@@YA_NAEBV?$complex@M@0@AEBM@Z
-; bool __cdecl std::operator!=(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
-??9std@@YA_NAEBV?$complex@N@0@0@Z
-; bool __cdecl std::operator!=(class std::complex<double> const & __ptr64,double const & __ptr64)
-??9std@@YA_NAEBV?$complex@N@0@AEBN@Z
-; bool __cdecl std::operator!=(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
-??9std@@YA_NAEBV?$complex@O@0@0@Z
-; bool __cdecl std::operator!=(class std::complex<long double> const & __ptr64,long double const & __ptr64)
-??9std@@YA_NAEBV?$complex@O@0@AEBO@Z
-; bool __cdecl std::operator!=(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??9std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator!=(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??9std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; public: char & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned __int64) __ptr64
-??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z
-; public: char const & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned __int64)const  __ptr64
-??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z
-; public: unsigned short & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned __int64) __ptr64
-??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z
-; public: unsigned short const & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned __int64)const  __ptr64
-??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z
-; public: __cdecl std::locale::id::operator unsigned __int64(void) __ptr64
-??Bid@locale@std@@QEAA_KXZ
-; public: __cdecl std::ios_base::operator void * __ptr64(void)const  __ptr64
-??Bios_base@std@@QEBAPEAXXZ
-; class std::complex<float>  __cdecl std::operator*(float const & __ptr64,class std::complex<float> const & __ptr64)
-??Dstd@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
-; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
-??Dstd@@YA?AV?$complex@M@0@AEBV10@0@Z
-; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const & __ptr64,float const & __ptr64)
-??Dstd@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
-; class std::complex<double>  __cdecl std::operator*(double const & __ptr64,class std::complex<double> const & __ptr64)
-??Dstd@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
-; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
-??Dstd@@YA?AV?$complex@N@0@AEBV10@0@Z
-; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const & __ptr64,double const & __ptr64)
-??Dstd@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
-; class std::complex<long double>  __cdecl std::operator*(long double const & __ptr64,class std::complex<long double> const & __ptr64)
-??Dstd@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
-; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
-??Dstd@@YA?AV?$complex@O@0@AEBV10@0@Z
-; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const & __ptr64,long double const & __ptr64)
-??Dstd@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
-; class std::complex<float>  __cdecl std::operator-(float const & __ptr64,class std::complex<float> const & __ptr64)
-??Gstd@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
-; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
-??Gstd@@YA?AV?$complex@M@0@AEBV10@0@Z
-; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const & __ptr64)
-??Gstd@@YA?AV?$complex@M@0@AEBV10@@Z
-; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const & __ptr64,float const & __ptr64)
-??Gstd@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
-; class std::complex<double>  __cdecl std::operator-(double const & __ptr64,class std::complex<double> const & __ptr64)
-??Gstd@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
-; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
-??Gstd@@YA?AV?$complex@N@0@AEBV10@0@Z
-; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const & __ptr64)
-??Gstd@@YA?AV?$complex@N@0@AEBV10@@Z
-; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const & __ptr64,double const & __ptr64)
-??Gstd@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
-; class std::complex<long double>  __cdecl std::operator-(long double const & __ptr64,class std::complex<long double> const & __ptr64)
-??Gstd@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
-; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
-??Gstd@@YA?AV?$complex@O@0@AEBV10@0@Z
-; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const & __ptr64)
-??Gstd@@YA?AV?$complex@O@0@AEBV10@@Z
-; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const & __ptr64,long double const & __ptr64)
-??Gstd@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@0@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@D@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@PEBD@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DAEBV10@@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBDAEBV10@@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@0@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@G@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@PEBG@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GAEBV10@@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBGAEBV10@@Z
-; class std::complex<float>  __cdecl std::operator+(float const & __ptr64,class std::complex<float> const & __ptr64)
-??Hstd@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
-; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
-??Hstd@@YA?AV?$complex@M@0@AEBV10@0@Z
-; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const & __ptr64)
-??Hstd@@YA?AV?$complex@M@0@AEBV10@@Z
-; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const & __ptr64,float const & __ptr64)
-??Hstd@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
-; class std::complex<double>  __cdecl std::operator+(double const & __ptr64,class std::complex<double> const & __ptr64)
-??Hstd@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
-; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
-??Hstd@@YA?AV?$complex@N@0@AEBV10@0@Z
-; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const & __ptr64)
-??Hstd@@YA?AV?$complex@N@0@AEBV10@@Z
-; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const & __ptr64,double const & __ptr64)
-??Hstd@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
-; class std::complex<long double>  __cdecl std::operator+(long double const & __ptr64,class std::complex<long double> const & __ptr64)
-??Hstd@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
-; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
-??Hstd@@YA?AV?$complex@O@0@AEBV10@0@Z
-; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const & __ptr64)
-??Hstd@@YA?AV?$complex@O@0@AEBV10@@Z
-; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const & __ptr64,long double const & __ptr64)
-??Hstd@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
-; class std::complex<float>  __cdecl std::operator/(float const & __ptr64,class std::complex<float> const & __ptr64)
-??Kstd@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
-; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
-??Kstd@@YA?AV?$complex@M@0@AEBV10@0@Z
-; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const & __ptr64,float const & __ptr64)
-??Kstd@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
-; class std::complex<double>  __cdecl std::operator/(double const & __ptr64,class std::complex<double> const & __ptr64)
-??Kstd@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
-; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
-??Kstd@@YA?AV?$complex@N@0@AEBV10@0@Z
-; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const & __ptr64,double const & __ptr64)
-??Kstd@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
-; class std::complex<long double>  __cdecl std::operator/(long double const & __ptr64,class std::complex<long double> const & __ptr64)
-??Kstd@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
-; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
-??Kstd@@YA?AV?$complex@O@0@AEBV10@0@Z
-; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const & __ptr64,long double const & __ptr64)
-??Kstd@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
-; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Mstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
-??Mstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Mstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
-??Mstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; bool __cdecl std::operator<(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Mstd@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator<(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Mstd@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Nstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
-??Nstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Nstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
-??Nstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; bool __cdecl std::operator<=(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Nstd@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator<=(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Nstd@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Ostd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
-??Ostd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Ostd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
-??Ostd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; bool __cdecl std::operator>(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Ostd@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator>(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Ostd@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Pstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
-??Pstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
-; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Pstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
-??Pstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
-; bool __cdecl std::operator>=(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
-??Pstd@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator>=(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
-??Pstd@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; public: bool __cdecl std::locale::operator()(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
-??Rlocale@std@@QEBA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@0@Z
-; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator*=(float const & __ptr64) __ptr64
-??X?$_Complex_base@M@std@@QEAAAEAV01@AEBM@Z
-; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator*=(double const & __ptr64) __ptr64
-??X?$_Complex_base@N@std@@QEAAAEAV01@AEBN@Z
-; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator*=(long double const & __ptr64) __ptr64
-??X?$_Complex_base@O@std@@QEAAAEAV01@AEBO@Z
-; class std::complex<float> & __ptr64 __cdecl std::operator*=(class std::complex<float> & __ptr64,class std::complex<float> const & __ptr64)
-??Xstd@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
-; class std::complex<double> & __ptr64 __cdecl std::operator*=(class std::complex<double> & __ptr64,class std::complex<double> const & __ptr64)
-??Xstd@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
-; class std::complex<long double> & __ptr64 __cdecl std::operator*=(class std::complex<long double> & __ptr64,class std::complex<long double> const & __ptr64)
-??Xstd@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
-; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator+=(float const & __ptr64) __ptr64
-??Y?$_Complex_base@M@std@@QEAAAEAV01@AEBM@Z
-; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator+=(double const & __ptr64) __ptr64
-??Y?$_Complex_base@N@std@@QEAAAEAV01@AEBN@Z
-; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator+=(long double const & __ptr64) __ptr64
-??Y?$_Complex_base@O@std@@QEAAAEAV01@AEBO@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char) __ptr64
-??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@D@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char const * __ptr64) __ptr64
-??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@PEBD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short) __ptr64
-??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@G@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short const * __ptr64) __ptr64
-??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@PEBG@Z
-; class std::complex<float> & __ptr64 __cdecl std::operator+=(class std::complex<float> & __ptr64,class std::complex<float> const & __ptr64)
-??Ystd@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
-; class std::complex<double> & __ptr64 __cdecl std::operator+=(class std::complex<double> & __ptr64,class std::complex<double> const & __ptr64)
-??Ystd@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
-; class std::complex<long double> & __ptr64 __cdecl std::operator+=(class std::complex<long double> & __ptr64,class std::complex<long double> const & __ptr64)
-??Ystd@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
-; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator-=(float const & __ptr64) __ptr64
-??Z?$_Complex_base@M@std@@QEAAAEAV01@AEBM@Z
-; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator-=(double const & __ptr64) __ptr64
-??Z?$_Complex_base@N@std@@QEAAAEAV01@AEBN@Z
-; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator-=(long double const & __ptr64) __ptr64
-??Z?$_Complex_base@O@std@@QEAAAEAV01@AEBO@Z
-; class std::complex<float> & __ptr64 __cdecl std::operator-=(class std::complex<float> & __ptr64,class std::complex<float> const & __ptr64)
-??Zstd@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
-; class std::complex<double> & __ptr64 __cdecl std::operator-=(class std::complex<double> & __ptr64,class std::complex<double> const & __ptr64)
-??Zstd@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
-; class std::complex<long double> & __ptr64 __cdecl std::operator-=(class std::complex<long double> & __ptr64,class std::complex<long double> const & __ptr64)
-??Zstd@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
-; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator/=(float const & __ptr64) __ptr64
-??_0?$_Complex_base@M@std@@QEAAAEAV01@AEBM@Z
-; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator/=(double const & __ptr64) __ptr64
-??_0?$_Complex_base@N@std@@QEAAAEAV01@AEBN@Z
-; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator/=(long double const & __ptr64) __ptr64
-??_0?$_Complex_base@O@std@@QEAAAEAV01@AEBO@Z
-; class std::complex<float> & __ptr64 __cdecl std::operator/=(class std::complex<float> & __ptr64,class std::complex<float> const & __ptr64)
-??_0std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
-; class std::complex<double> & __ptr64 __cdecl std::operator/=(class std::complex<double> & __ptr64,class std::complex<double> const & __ptr64)
-??_0std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
-; class std::complex<long double> & __ptr64 __cdecl std::operator/=(class std::complex<long double> & __ptr64,class std::complex<long double> const & __ptr64)
-??_0std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
-; const  std::_Mpunct<char>::`vftable'
-??_7?$_Mpunct@D@std@@6B@
-; const  std::_Mpunct<unsigned short>::`vftable'
-??_7?$_Mpunct@G@std@@6B@
-; const  std::basic_filebuf<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_fstream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_ios<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_iostream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_istream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
-; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
-; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_ostream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
-; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
-; const  std::basic_streambuf<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
-; const  std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
-; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
-; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
-; const  std::codecvt<char,char,int>::`vftable'
-??_7?$codecvt@DDH@std@@6B@
-; const  std::codecvt<unsigned short,char,int>::`vftable'
-??_7?$codecvt@GDH@std@@6B@
-; const  std::collate<char>::`vftable'
-??_7?$collate@D@std@@6B@
-; const  std::collate<unsigned short>::`vftable'
-??_7?$collate@G@std@@6B@
-; const  std::ctype<char>::`vftable'
-??_7?$ctype@D@std@@6B@
-; const  std::ctype<unsigned short>::`vftable'
-??_7?$ctype@G@std@@6B@
-; const  std::messages<char>::`vftable'
-??_7?$messages@D@std@@6B@
-; const  std::messages<unsigned short>::`vftable'
-??_7?$messages@G@std@@6B@
-; const  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::moneypunct<char,1>::`vftable'
-??_7?$moneypunct@D$00@std@@6B@
-; const  std::moneypunct<char,0>::`vftable'
-??_7?$moneypunct@D$0A@@std@@6B@
-; const  std::moneypunct<unsigned short,1>::`vftable'
-??_7?$moneypunct@G$00@std@@6B@
-; const  std::moneypunct<unsigned short,0>::`vftable'
-??_7?$moneypunct@G$0A@@std@@6B@
-; const  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::numpunct<char>::`vftable'
-??_7?$numpunct@D@std@@6B@
-; const  std::numpunct<unsigned short>::`vftable'
-??_7?$numpunct@G@std@@6B@
-; const  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::__non_rtti_object::`vftable'
-??_7__non_rtti_object@std@@6B@
-; const  std::bad_alloc::`vftable'
-??_7bad_alloc@std@@6B@
-; const  std::bad_cast::`vftable'
-??_7bad_cast@std@@6B@
-; const  std::bad_exception::`vftable'
-??_7bad_exception@std@@6B@
-; const  std::bad_typeid::`vftable'
-??_7bad_typeid@std@@6B@
-; const  std::codecvt_base::`vftable'
-??_7codecvt_base@std@@6B@
-; const  std::ctype_base::`vftable'
-??_7ctype_base@std@@6B@
-; const  std::domain_error::`vftable'
-??_7domain_error@std@@6B@
-; const  std::locale::facet::`vftable'
-??_7facet@locale@std@@6B@
-; const  std::ios_base::`vftable'
-??_7ios_base@std@@6B@
-; const  std::length_error::`vftable'
-??_7length_error@std@@6B@
-; const  std::logic_error::`vftable'
-??_7logic_error@std@@6B@
-; const  std::messages_base::`vftable'
-??_7messages_base@std@@6B@
-; const  std::money_base::`vftable'
-??_7money_base@std@@6B@
-; const  std::out_of_range::`vftable'
-??_7out_of_range@std@@6B@
-; const  std::overflow_error::`vftable'
-??_7overflow_error@std@@6B@
-; const  std::range_error::`vftable'
-??_7range_error@std@@6B@
-; const  std::runtime_error::`vftable'
-??_7runtime_error@std@@6B@
-; const  std::time_base::`vftable'
-??_7time_base@std@@6B@
-; const  std::underflow_error::`vftable'
-??_7underflow_error@std@@6B@
-; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
-??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
-??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ DATA
-; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ DATA
-; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
-??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
-??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_istream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ DATA
-; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ DATA
-; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
-??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ DATA
-; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
-??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ DATA
-; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ DATA
-; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ DATA
-; const  std::basic_ostream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ DATA
-; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ DATA
-; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
-??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ DATA
-; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
-??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ DATA
-; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
-??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
-??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
-; public: void __cdecl std::basic_fstream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
-??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
-??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
-??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
-??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_iostream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
-??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
-??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_istream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
-??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
-??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void) __ptr64
-??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void) __ptr64
-??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
-??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
-??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ostream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
-??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
-??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void) __ptr64
-??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void) __ptr64
-??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void) __ptr64
-??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void) __ptr64
-??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::`default constructor closure'(void) __ptr64
-??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`default constructor closure'(void) __ptr64
-??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
-??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
-??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
-??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
-??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
-??_F?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
-??_F?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
-??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
-??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
-??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
-; public: void __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
-??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
-; public: void __cdecl std::codecvt<char,char,int>::`default constructor closure'(void) __ptr64
-??_F?$codecvt@DDH@std@@QEAAXXZ
-; public: void __cdecl std::codecvt<unsigned short,char,int>::`default constructor closure'(void) __ptr64
-??_F?$codecvt@GDH@std@@QEAAXXZ
-; public: void __cdecl std::collate<char>::`default constructor closure'(void) __ptr64
-??_F?$collate@D@std@@QEAAXXZ
-; public: void __cdecl std::collate<unsigned short>::`default constructor closure'(void) __ptr64
-??_F?$collate@G@std@@QEAAXXZ
-; public: void __cdecl std::complex<float>::`default constructor closure'(void) __ptr64
-??_F?$complex@M@std@@QEAAXXZ
-; public: void __cdecl std::complex<double>::`default constructor closure'(void) __ptr64
-??_F?$complex@N@std@@QEAAXXZ
-; public: void __cdecl std::complex<long double>::`default constructor closure'(void) __ptr64
-??_F?$complex@O@std@@QEAAXXZ
-; public: void __cdecl std::ctype<char>::`default constructor closure'(void) __ptr64
-??_F?$ctype@D@std@@QEAAXXZ
-; public: void __cdecl std::ctype<unsigned short>::`default constructor closure'(void) __ptr64
-??_F?$ctype@G@std@@QEAAXXZ
-; public: void __cdecl std::messages<char>::`default constructor closure'(void) __ptr64
-??_F?$messages@D@std@@QEAAXXZ
-; public: void __cdecl std::messages<unsigned short>::`default constructor closure'(void) __ptr64
-??_F?$messages@G@std@@QEAAXXZ
-; public: void __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
-??_F?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
-??_F?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
-??_F?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
-??_F?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::moneypunct<char,1>::`default constructor closure'(void) __ptr64
-??_F?$moneypunct@D$00@std@@QEAAXXZ
-; public: void __cdecl std::moneypunct<char,0>::`default constructor closure'(void) __ptr64
-??_F?$moneypunct@D$0A@@std@@QEAAXXZ
-; public: void __cdecl std::moneypunct<unsigned short,1>::`default constructor closure'(void) __ptr64
-??_F?$moneypunct@G$00@std@@QEAAXXZ
-; public: void __cdecl std::moneypunct<unsigned short,0>::`default constructor closure'(void) __ptr64
-??_F?$moneypunct@G$0A@@std@@QEAAXXZ
-; public: void __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
-??_F?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
-??_F?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
-??_F?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
-??_F?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::numpunct<char>::`default constructor closure'(void) __ptr64
-??_F?$numpunct@D@std@@QEAAXXZ
-; public: void __cdecl std::numpunct<unsigned short>::`default constructor closure'(void) __ptr64
-??_F?$numpunct@G@std@@QEAAXXZ
-; public: void __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
-??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
-??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
-??_F?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
-??_F?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::_Locinfo::`default constructor closure'(void) __ptr64
-??_F_Locinfo@std@@QEAAXXZ
-; public: void __cdecl std::_Timevec::`default constructor closure'(void) __ptr64
-??_F_Timevec@std@@QEAAXXZ
-; public: void __cdecl std::bad_alloc::`default constructor closure'(void) __ptr64
-??_Fbad_alloc@std@@QEAAXXZ
-; public: void __cdecl std::bad_cast::`default constructor closure'(void) __ptr64
-??_Fbad_cast@std@@QEAAXXZ
-; public: void __cdecl std::bad_exception::`default constructor closure'(void) __ptr64
-??_Fbad_exception@std@@QEAAXXZ
-; public: void __cdecl std::bad_typeid::`default constructor closure'(void) __ptr64
-??_Fbad_typeid@std@@QEAAXXZ
-; public: void __cdecl std::codecvt_base::`default constructor closure'(void) __ptr64
-??_Fcodecvt_base@std@@QEAAXXZ
-; public: void __cdecl std::ctype_base::`default constructor closure'(void) __ptr64
-??_Fctype_base@std@@QEAAXXZ
-; public: void __cdecl std::locale::facet::`default constructor closure'(void) __ptr64
-??_Ffacet@locale@std@@QEAAXXZ
-; public: void __cdecl std::messages_base::`default constructor closure'(void) __ptr64
-??_Fmessages_base@std@@QEAAXXZ
-; public: void __cdecl std::money_base::`default constructor closure'(void) __ptr64
-??_Fmoney_base@std@@QEAAXXZ
-; public: void __cdecl std::time_base::`default constructor closure'(void) __ptr64
-??_Ftime_base@std@@QEAAXXZ
-; public: class std::_Locinfo & __ptr64 __cdecl std::_Locinfo::_Addcats(int,char const * __ptr64) __ptr64
-?_Addcats@_Locinfo@std@@QEAAAEAV12@HPEBD@Z
-; public: class std::locale & __ptr64 __cdecl std::locale::_Addfac(class std::locale::facet * __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?_Addfac@locale@std@@QEAAAEAV12@PEAVfacet@12@_K1@Z
-; protected: void __cdecl std::ios_base::_Addstd(void) __ptr64
-?_Addstd@ios_base@std@@IEAAXXZ
-; char const  `private: static char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)'::`2'::_C
-?_C@?1??_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPEBDXZ@4DB
-; unsigned short const  `private: static unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)'::`2'::_C
-?_C@?1??_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPEBGXZ@4GB
-; private: void __cdecl std::ios_base::_Callfns(enum std::ios_base::event) __ptr64
-?_Callfns@ios_base@std@@AEAAXW4event@12@@Z
-; ?5???$log@M@std::_Cl(YA?AV?$complex@M@1@AEBV21@@Z@4MB)
-?_Cl@?5???$log@M@std@@YA?AV?$complex@M@1@AEBV21@@Z@4MB
-; ?5???$log@N@std::_Cl(YA?AV?$complex@N@1@AEBV21@@Z@4NB)
-?_Cl@?5???$log@N@std@@YA?AV?$complex@N@1@AEBV21@@Z@4NB
-; private: static class std::locale::_Locimp * __ptr64  __ptr64 std::locale::_Locimp::_Clocptr
-?_Clocptr@_Locimp@locale@std@@0PEAV123@EA DATA
-; private: static short const * __ptr64 const  __ptr64 std::ctype<char>::_Cltab
-?_Cltab@?$ctype@D@std@@0PEBFEB DATA
-; ?5???$log@M@std::_Cm(YA?AV?$complex@M@1@AEBV21@@Z@4MB)
-?_Cm@?5???$log@M@std@@YA?AV?$complex@M@1@AEBV21@@Z@4MB
-; ?5???$log@N@std::_Cm(YA?AV?$complex@N@1@AEBV21@@Z@4NB)
-?_Cm@?5???$log@N@std@@YA?AV?$complex@N@1@AEBV21@@Z@4NB
-; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Copy(unsigned __int64) __ptr64
-?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAX_K@Z
-; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Copy(unsigned __int64) __ptr64
-?_Copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAX_K@Z
-; public: static float __cdecl std::_Ctr<float>::_Cosh(float,float)
-?_Cosh@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Cosh(double,double)
-?_Cosh@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Cosh(long double,long double)
-?_Cosh@?$_Ctr@O@std@@SAOOO@Z
-; public: class std::locale::facet * __ptr64 __cdecl std::locale::facet::_Decref(void) __ptr64
-?_Decref@facet@locale@std@@QEAAPEAV123@XZ
-; protected: virtual void __cdecl std::bad_alloc::_Doraise(void)const  __ptr64
-?_Doraise@bad_alloc@std@@MEBAXXZ
-; protected: virtual void __cdecl std::bad_cast::_Doraise(void)const  __ptr64
-?_Doraise@bad_cast@std@@MEBAXXZ
-; protected: virtual void __cdecl std::bad_exception::_Doraise(void)const  __ptr64
-?_Doraise@bad_exception@std@@MEBAXXZ
-; protected: virtual void __cdecl std::bad_typeid::_Doraise(void)const  __ptr64
-?_Doraise@bad_typeid@std@@MEBAXXZ
-; protected: virtual void __cdecl std::domain_error::_Doraise(void)const  __ptr64
-?_Doraise@domain_error@std@@MEBAXXZ
-; protected: virtual void __cdecl std::length_error::_Doraise(void)const  __ptr64
-?_Doraise@length_error@std@@MEBAXXZ
-; protected: virtual void __cdecl std::logic_error::_Doraise(void)const  __ptr64
-?_Doraise@logic_error@std@@MEBAXXZ
-; protected: virtual void __cdecl std::out_of_range::_Doraise(void)const  __ptr64
-?_Doraise@out_of_range@std@@MEBAXXZ
-; protected: virtual void __cdecl std::overflow_error::_Doraise(void)const  __ptr64
-?_Doraise@overflow_error@std@@MEBAXXZ
-; protected: virtual void __cdecl std::range_error::_Doraise(void)const  __ptr64
-?_Doraise@range_error@std@@MEBAXXZ
-; protected: virtual void __cdecl std::runtime_error::_Doraise(void)const  __ptr64
-?_Doraise@runtime_error@std@@MEBAXXZ
-; protected: virtual void __cdecl std::underflow_error::_Doraise(void)const  __ptr64
-?_Doraise@underflow_error@std@@MEBAXXZ
-; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Eos(unsigned __int64) __ptr64
-?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAX_K@Z
-; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Eos(unsigned __int64) __ptr64
-?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAX_K@Z
-; public: static short __cdecl std::_Ctr<float>::_Exp(float * __ptr64,float,short)
-?_Exp@?$_Ctr@M@std@@SAFPEAMMF@Z
-; public: static short __cdecl std::_Ctr<double>::_Exp(double * __ptr64,double,short)
-?_Exp@?$_Ctr@N@std@@SAFPEANNF@Z
-; public: static short __cdecl std::_Ctr<long double>::_Exp(long double * __ptr64,long double,short)
-?_Exp@?$_Ctr@O@std@@SAFPEAOOF@Z
-; float __cdecl std::_Fabs(class std::complex<float> const & __ptr64,int * __ptr64)
-?_Fabs@std@@YAMAEBV?$complex@M@1@PEAH@Z
-; double __cdecl std::_Fabs(class std::complex<double> const & __ptr64,int * __ptr64)
-?_Fabs@std@@YANAEBV?$complex@N@1@PEAH@Z
-; long double __cdecl std::_Fabs(class std::complex<long double> const & __ptr64,int * __ptr64)
-?_Fabs@std@@YAOAEBV?$complex@O@1@PEAH@Z
-; protected: static char * __ptr64 __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ffmt(char * __ptr64,char,int)
-?_Ffmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPEADPEADDH@Z
-; protected: static char * __ptr64 __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ffmt(char * __ptr64,char,int)
-?_Ffmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPEADPEADDH@Z
-; private: struct std::ios_base::_Iosarray & __ptr64 __cdecl std::ios_base::_Findarr(int) __ptr64
-?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Fput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,char const * __ptr64,unsigned __int64,unsigned __int64)
-?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DPEBD_K3@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Fput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,char const * __ptr64,unsigned __int64,unsigned __int64)
-?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GPEBD_K3@Z
-; __int64 const  std::_Fpz
-?_Fpz@std@@3_JB
-; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Freeze(void) __ptr64
-?_Freeze@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAXXZ
-; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Freeze(void) __ptr64
-?_Freeze@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAXXZ
-; public: static unsigned __int64 __cdecl std::_Mpunct<char>::_Getcat(void)
-?_Getcat@?$_Mpunct@D@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::_Mpunct<unsigned short>::_Getcat(void)
-?_Getcat@?$_Mpunct@G@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::codecvt<char,char,int>::_Getcat(void)
-?_Getcat@?$codecvt@DDH@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::codecvt<unsigned short,char,int>::_Getcat(void)
-?_Getcat@?$codecvt@GDH@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::collate<char>::_Getcat(void)
-?_Getcat@?$collate@D@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::collate<unsigned short>::_Getcat(void)
-?_Getcat@?$collate@G@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::ctype<char>::_Getcat(void)
-?_Getcat@?$ctype@D@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::ctype<unsigned short>::_Getcat(void)
-?_Getcat@?$ctype@G@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::messages<char>::_Getcat(void)
-?_Getcat@?$messages@D@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::messages<unsigned short>::_Getcat(void)
-?_Getcat@?$messages@G@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::moneypunct<char,1>::_Getcat(void)
-?_Getcat@?$moneypunct@D$00@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::moneypunct<char,0>::_Getcat(void)
-?_Getcat@?$moneypunct@D$0A@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::moneypunct<unsigned short,1>::_Getcat(void)
-?_Getcat@?$moneypunct@G$00@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::moneypunct<unsigned short,0>::_Getcat(void)
-?_Getcat@?$moneypunct@G$0A@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::numpunct<char>::_Getcat(void)
-?_Getcat@?$numpunct@D@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::numpunct<unsigned short>::_Getcat(void)
-?_Getcat@?$numpunct@G@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
-; public: static unsigned __int64 __cdecl std::locale::facet::_Getcat(void)
-?_Getcat@facet@locale@std@@SA_KXZ
-; public: struct _Collvec  __cdecl std::_Locinfo::_Getcoll(void)const  __ptr64
-?_Getcoll@_Locinfo@std@@QEBA?AU_Collvec@@XZ
-; public: struct _Ctypevec  __cdecl std::_Locinfo::_Getctype(void)const  __ptr64
-?_Getctype@_Locinfo@std@@QEBA?AU_Ctypevec@@XZ
-; public: struct _Cvtvec  __cdecl std::_Locinfo::_Getcvt(void)const  __ptr64
-?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
-; public: char const * __ptr64 __cdecl std::_Locinfo::_Getdays(void)const  __ptr64
-?_Getdays@_Locinfo@std@@QEBAPEBDXZ
-; public: class std::locale::facet const * __ptr64 __cdecl std::locale::_Getfacet(unsigned __int64,bool)const  __ptr64
-?_Getfacet@locale@std@@QEBAPEBVfacet@12@_K_N@Z
-; public: char const * __ptr64 __cdecl std::_Locinfo::_Getfalse(void)const  __ptr64
-?_Getfalse@_Locinfo@std@@QEBAPEBDXZ
-; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getffld(char * __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::locale const & __ptr64)
-?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPEADAEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AEBVlocale@2@@Z
-; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getffld(char * __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::locale const & __ptr64)
-?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPEADAEAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AEBVlocale@2@@Z
-; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getifld(char * __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,int,class std::locale const & __ptr64)
-?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPEADAEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HAEBVlocale@2@@Z
-; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getifld(char * __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,int,class std::locale const & __ptr64)
-?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPEADAEAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HAEBVlocale@2@@Z
-; private: static int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getint(class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,int,int,int & __ptr64)
-?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHAEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAEAH@Z
-; private: static int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getint(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,int,int,int & __ptr64)
-?_Getint@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHAEAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0HHAEAH@Z
-; public: struct lconv const * __ptr64 __cdecl std::_Locinfo::_Getlconv(void)const  __ptr64
-?_Getlconv@_Locinfo@std@@QEBAPEBUlconv@@XZ
-; private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getmfld(class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,bool,class std::ios_base & __ptr64)const  __ptr64
-?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@AEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAEAVios_base@2@@Z
-; private: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getmfld(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,bool,class std::ios_base & __ptr64)const  __ptr64
-?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@AEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@AEAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAEAVios_base@2@@Z
-; public: char const * __ptr64 __cdecl std::_Locinfo::_Getmonths(void)const  __ptr64
-?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Locinfo::_Getname(void)const  __ptr64
-?_Getname@_Locinfo@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: char const * __ptr64 __cdecl std::_Locinfo::_Getno(void)const  __ptr64
-?_Getno@_Locinfo@std@@QEBAPEBDXZ
-; public: void * __ptr64 __cdecl std::_Timevec::_Getptr(void)const  __ptr64
-?_Getptr@_Timevec@std@@QEBAPEAXXZ
-; public: class std::_Timevec  __cdecl std::_Locinfo::_Gettnames(void)const  __ptr64
-?_Gettnames@_Locinfo@std@@QEBA?AV_Timevec@2@XZ
-; public: char const * __ptr64 __cdecl std::_Locinfo::_Gettrue(void)const  __ptr64
-?_Gettrue@_Locinfo@std@@QEBAPEBDXZ
-; public: char const * __ptr64 __cdecl std::_Locinfo::_Getyes(void)const  __ptr64
-?_Getyes@_Locinfo@std@@QEBAPEBDXZ
-; private: static class std::locale::_Locimp * __ptr64  __ptr64 std::locale::_Locimp::_Global
-?_Global@_Locimp@locale@std@@0PEAV123@EA DATA
-; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Gndec(void) __ptr64
-?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ
-; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gndec(void) __ptr64
-?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ
-; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Gninc(void) __ptr64
-?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ
-; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gninc(void) __ptr64
-?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ
-; private: bool __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned __int64,bool) __ptr64
-?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAA_N_K_N@Z
-; private: bool __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Grow(unsigned __int64,bool) __ptr64
-?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAA_N_K_N@Z
-; private: static int  std::locale::id::_Id_cnt
-?_Id_cnt@id@locale@std@@0HA DATA
-; protected: static char * __ptr64 __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ifmt(char * __ptr64,char,int)
-?_Ifmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPEADPEADDH@Z
-; protected: static char * __ptr64 __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ifmt(char * __ptr64,char const * __ptr64,int)
-?_Ifmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPEADPEADPEBDH@Z
-; protected: static char * __ptr64 __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ifmt(char * __ptr64,char,int)
-?_Ifmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPEADPEADDH@Z
-; protected: static char * __ptr64 __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ifmt(char * __ptr64,char const * __ptr64,int)
-?_Ifmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPEADPEADPEBDH@Z
-; public: void __cdecl std::locale::facet::_Incref(void) __ptr64
-?_Incref@facet@locale@std@@QEAAXXZ
-; private: static int  std::ios_base::_Index
-?_Index@ios_base@std@@0HA DATA
-; public: static float __cdecl std::_Ctr<float>::_Infv(float)
-?_Infv@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Infv(double)
-?_Infv@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Infv(long double)
-?_Infv@?$_Ctr@O@std@@SAOO@Z
-; protected: void __cdecl std::_Mpunct<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$_Mpunct@D@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::_Mpunct<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$_Mpunct@G@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf * __ptr64,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl) __ptr64
-?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z
-; protected: void __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf * __ptr64,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl) __ptr64
-?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z
-; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Init(char * __ptr64 * __ptr64,char * __ptr64 * __ptr64,int * __ptr64,char * __ptr64 * __ptr64,char * __ptr64 * __ptr64,int * __ptr64) __ptr64
-?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z
-; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Init(void) __ptr64
-?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ
-; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64,int * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64,int * __ptr64) __ptr64
-?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAPEAG0PEAH001@Z
-; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(void) __ptr64
-?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ
-; protected: void __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Init(char const * __ptr64,unsigned __int64,int) __ptr64
-?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXPEBD_KH@Z
-; protected: void __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Init(unsigned short const * __ptr64,unsigned __int64,int) __ptr64
-?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXPEBG_KH@Z
-; protected: void __cdecl std::codecvt<char,char,int>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$codecvt@DDH@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::codecvt<unsigned short,char,int>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$codecvt@GDH@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::collate<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$collate@D@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::collate<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$collate@G@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::ctype<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$ctype@D@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::ctype<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$ctype@G@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::messages<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$messages@D@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::messages<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$messages@G@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::numpunct<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$numpunct@D@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::numpunct<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$numpunct@G@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
-?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
-; protected: void __cdecl std::ios_base::_Init(void) __ptr64
-?_Init@ios_base@std@@IEAAXXZ
-; private: static class std::locale::_Locimp * __ptr64 __cdecl std::locale::_Init(void)
-?_Init@locale@std@@CAPEAV_Locimp@12@XZ
-; protected: void __cdecl std::strstreambuf::_Init(int,char * __ptr64,char * __ptr64,int) __ptr64
-?_Init@strstreambuf@std@@IEAAXHPEAD0H@Z
-; private: static int  std::ios_base::Init::_Init_cnt
-?_Init_cnt@Init@ios_base@std@@0HA DATA
-; private: static int  std::_Winit::_Init_cnt
-?_Init_cnt@_Winit@std@@0HA DATA
-; protected: void __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::_Initcvt(void) __ptr64
-?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXXZ
-; protected: void __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initcvt(void) __ptr64
-?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXXZ
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Iput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,char * __ptr64,unsigned __int64)
-?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DPEAD_K@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Iput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,char * __ptr64,unsigned __int64)
-?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GPEAD_K@Z
-; public: bool __cdecl std::locale::_Iscloc(void)const  __ptr64
-?_Iscloc@locale@std@@QEBA_NXZ
-; public: static bool __cdecl std::_Ctr<float>::_Isinf(float)
-?_Isinf@?$_Ctr@M@std@@SA_NM@Z
-; public: static bool __cdecl std::_Ctr<double>::_Isinf(double)
-?_Isinf@?$_Ctr@N@std@@SA_NN@Z
-; public: static bool __cdecl std::_Ctr<long double>::_Isinf(long double)
-?_Isinf@?$_Ctr@O@std@@SA_NO@Z
-; public: static bool __cdecl std::_Ctr<float>::_Isnan(float)
-?_Isnan@?$_Ctr@M@std@@SA_NM@Z
-; public: static bool __cdecl std::_Ctr<double>::_Isnan(double)
-?_Isnan@?$_Ctr@N@std@@SA_NN@Z
-; public: static bool __cdecl std::_Ctr<long double>::_Isnan(long double)
-?_Isnan@?$_Ctr@O@std@@SA_NO@Z
-; private: void __cdecl std::_Mpunct<char>::_Makpat(struct std::money_base::pattern & __ptr64,char,char,char) __ptr64
-?_Makpat@?$_Mpunct@D@std@@AEAAXAEAUpattern@money_base@2@DDD@Z
-; private: void __cdecl std::_Mpunct<unsigned short>::_Makpat(struct std::money_base::pattern & __ptr64,char,char,char) __ptr64
-?_Makpat@?$_Mpunct@G@std@@AEAAXAEAUpattern@money_base@2@DDD@Z
-; private: int __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Mode(int) __ptr64
-?_Mode@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAHH@Z
-; private: int __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Mode(int) __ptr64
-?_Mode@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAHH@Z
-; public: static float __cdecl std::_Ctr<float>::_Nanv(float)
-?_Nanv@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Nanv(double)
-?_Nanv@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Nanv(long double)
-?_Nanv@?$_Ctr@O@std@@SAOO@Z
-; void __cdecl std::_Nomemory(void)
-?_Nomemory@std@@YAXXZ
-; private: static char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)
-?_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPEBDXZ
-; private: static unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)
-?_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPEBGXZ
-; private: static unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Pdif(char const * __ptr64,char const * __ptr64)
-?_Pdif@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CA_KPEBD0@Z
-; private: static unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Pdif(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?_Pdif@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CA_KPEBG0@Z
-; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void) __ptr64
-?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ
-; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Pninc(void) __ptr64
-?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ
-; private: static char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char * __ptr64,unsigned __int64)
-?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPEADPEAD_K@Z
-; private: static char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char const * __ptr64,unsigned __int64)
-?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPEBDPEBD_K@Z
-; private: static unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short * __ptr64,unsigned __int64)
-?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPEAGPEAG_K@Z
-; private: static unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short const * __ptr64,unsigned __int64)
-?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPEBGPEBG_K@Z
-; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const * __ptr64,unsigned __int64)
-?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PEBD_K@Z
-; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const * __ptr64,unsigned __int64)
-?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PEBG_K@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const * __ptr64,unsigned __int64)
-?_Put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PEBD_K@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const * __ptr64,unsigned __int64)
-?_Put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PEBG_K@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putc(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const * __ptr64,unsigned __int64)
-?_Putc@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PEBD_K@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putc(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,char const * __ptr64,unsigned __int64)
-?_Putc@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PEBD_K@Z
-; private: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putmfld(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,bool,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)const  __ptr64
-?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@AEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; private: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putmfld(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,bool,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >)const  __ptr64
-?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@AEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; ?BN@???$_Fabs@M@std::_R2(YAMAEBV?$complex@M@1@PEAH@Z@4MB)
-?_R2@?BN@???$_Fabs@M@std@@YAMAEBV?$complex@M@1@PEAH@Z@4MB
-; ?BN@???$_Fabs@N@std::_R2(YANAEBV?$complex@N@1@PEAH@Z@4NB)
-?_R2@?BN@???$_Fabs@N@std@@YANAEBV?$complex@N@1@PEAH@Z@4NB
-; private: unsigned char & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Refcnt(char const * __ptr64) __ptr64
-?_Refcnt@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAAEAEPEBD@Z
-; private: unsigned char & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Refcnt(unsigned short const * __ptr64) __ptr64
-?_Refcnt@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAAEAEPEBG@Z
-; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned __int64)
-?_Rep@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@D_K@Z
-; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned __int64)
-?_Rep@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@G_K@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned __int64)
-?_Rep@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@D_K@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned __int64)
-?_Rep@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@G_K@Z
-; public: static float __cdecl std::_Ctr<float>::_Sinh(float,float)
-?_Sinh@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Sinh(double,double)
-?_Sinh@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Sinh(long double,long double)
-?_Sinh@?$_Ctr@O@std@@SAOOO@Z
-; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Split(void) __ptr64
-?_Split@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAXXZ
-; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Split(void) __ptr64
-?_Split@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAXXZ
-; int  `protected: void __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf * __ptr64,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl) __ptr64'::`2'::_Stinit
-?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
-; int  `protected: void __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf * __ptr64,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl) __ptr64'::`2'::_Stinit
-?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
-; private: static bool  std::ios_base::_Sync
-?_Sync@ios_base@std@@0_NA DATA
-; protected: static void __cdecl std::ctype<char>::_Term(void)
-?_Term@?$ctype@D@std@@KAXXZ
-; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(bool) __ptr64
-?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAX_N@Z
-; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(bool) __ptr64
-?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAX_N@Z
-; protected: void __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(void) __ptr64
-?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXXZ
-; protected: void __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(void) __ptr64
-?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXXZ
-; private: void __cdecl std::ios_base::_Tidy(void) __ptr64
-?_Tidy@ios_base@std@@AEAAXXZ
-; private: static void __cdecl std::locale::_Tidy(void)
-?_Tidy@locale@std@@CAXXZ
-; protected: void __cdecl std::strstreambuf::_Tidy(void) __ptr64
-?_Tidy@strstreambuf@std@@IEAAXXZ
-; ?BN@???$_Fabs@M@std::_Xh(YAMAEBV?$complex@M@1@PEAH@Z@4MB)
-?_Xh@?BN@???$_Fabs@M@std@@YAMAEBV?$complex@M@1@PEAH@Z@4MB
-; ?BN@???$_Fabs@N@std::_Xh(YANAEBV?$complex@N@1@PEAH@Z@4NB)
-?_Xh@?BN@???$_Fabs@N@std@@YANAEBV?$complex@N@1@PEAH@Z@4NB
-; ?BN@???$_Fabs@M@std::_Xl(YAMAEBV?$complex@M@1@PEAH@Z@4MB)
-?_Xl@?BN@???$_Fabs@M@std@@YAMAEBV?$complex@M@1@PEAH@Z@4MB
-; ?BN@???$_Fabs@N@std::_Xl(YANAEBV?$complex@N@1@PEAH@Z@4NB)
-?_Xl@?BN@???$_Fabs@N@std@@YANAEBV?$complex@N@1@PEAH@Z@4NB
-; void __cdecl std::_Xlen(void)
-?_Xlen@std@@YAXXZ
-; void __cdecl std::_Xran(void)
-?_Xran@std@@YAXXZ
-; struct _iobuf * __ptr64 __cdecl std::__Fiopen(char const * __ptr64,int)
-?__Fiopen@std@@YAPEAU_iobuf@@PEBDH@Z
-; float __cdecl std::abs(class std::complex<float> const & __ptr64)
-?abs@std@@YAMAEBV?$complex@M@1@@Z
-; double __cdecl std::abs(class std::complex<double> const & __ptr64)
-?abs@std@@YANAEBV?$complex@N@1@@Z
-; long double __cdecl std::abs(class std::complex<long double> const & __ptr64)
-?abs@std@@YAOAEBV?$complex@O@1@@Z
-; public: bool __cdecl std::codecvt_base::always_noconv(void)const  __ptr64
-?always_noconv@codecvt_base@std@@QEBA_NXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@_K1@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const * __ptr64,char const * __ptr64) __ptr64
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const * __ptr64) __ptr64
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const * __ptr64,unsigned __int64) __ptr64
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD_K@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(unsigned __int64,char) __ptr64
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@_K1@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const * __ptr64) __ptr64
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const * __ptr64,unsigned __int64) __ptr64
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG_K@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned __int64,unsigned short) __ptr64
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KG@Z
-; float __cdecl std::arg(class std::complex<float> const & __ptr64)
-?arg@std@@YAMAEBV?$complex@M@1@@Z
-; double __cdecl std::arg(class std::complex<double> const & __ptr64)
-?arg@std@@YANAEBV?$complex@N@1@@Z
-; long double __cdecl std::arg(class std::complex<long double> const & __ptr64)
-?arg@std@@YAOAEBV?$complex@O@1@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@_K1@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const * __ptr64,char const * __ptr64) __ptr64
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const * __ptr64) __ptr64
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const * __ptr64,unsigned __int64) __ptr64
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD_K@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(unsigned __int64,char) __ptr64
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@_K1@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const * __ptr64) __ptr64
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const * __ptr64,unsigned __int64) __ptr64
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG_K@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned __int64,unsigned short) __ptr64
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KG@Z
-; public: static char * __ptr64 __cdecl std::char_traits<char>::assign(char * __ptr64,unsigned __int64,char const & __ptr64)
-?assign@?$char_traits@D@std@@SAPEADPEAD_KAEBD@Z
-; public: static void __cdecl std::char_traits<char>::assign(char & __ptr64,char const & __ptr64)
-?assign@?$char_traits@D@std@@SAXAEADAEBD@Z
-; public: static unsigned short * __ptr64 __cdecl std::char_traits<unsigned short>::assign(unsigned short * __ptr64,unsigned __int64,unsigned short const & __ptr64)
-?assign@?$char_traits@G@std@@SAPEAGPEAG_KAEBG@Z
-; public: static void __cdecl std::char_traits<unsigned short>::assign(unsigned short & __ptr64,unsigned short const & __ptr64)
-?assign@?$char_traits@G@std@@SAXAEAGAEBG@Z
-; public: char & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned __int64) __ptr64
-?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z
-; public: char const & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned __int64)const  __ptr64
-?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z
-; public: unsigned short & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned __int64) __ptr64
-?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z
-; public: unsigned short const & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned __int64)const  __ptr64
-?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z
-; public: static float __cdecl std::_Ctr<float>::atan2(float,float)
-?atan2@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::atan2(double,double)
-?atan2@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::atan2(long double,long double)
-?atan2@?$_Ctr@O@std@@SAOOO@Z
-; public: bool __cdecl std::ios_base::bad(void)const  __ptr64
-?bad@ios_base@std@@QEBA_NXZ
-; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void) __ptr64
-?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADXZ
-; public: char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)const  __ptr64
-?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ
-; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void) __ptr64
-?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGXZ
-; public: unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)const  __ptr64
-?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ
-; public: char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const  __ptr64
-?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::c_str(void)const  __ptr64
-?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::capacity(void)const  __ptr64
-?capacity@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::capacity(void)const  __ptr64
-?capacity@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ
-; class std::basic_ostream<char,struct std::char_traits<char> >  std::cerr
-?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
-; class std::basic_istream<char,struct std::char_traits<char> >  std::cin
-?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A DATA
-; public: static class std::locale const & __ptr64 __cdecl std::locale::classic(void)
-?classic@locale@std@@SAAEBV12@XZ
-; protected: static short const * __ptr64 __cdecl std::ctype<char>::classic_table(void)
-?classic_table@?$ctype@D@std@@KAPEBFXZ
-; public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::clear(short) __ptr64
-?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXF@Z
-; public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool) __ptr64
-?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
-; public: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(short) __ptr64
-?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXF@Z
-; public: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(int,bool) __ptr64
-?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z
-; public: void __cdecl std::ios_base::clear(short) __ptr64
-?clear@ios_base@std@@QEAAXF@Z
-; public: void __cdecl std::ios_base::clear(int,bool) __ptr64
-?clear@ios_base@std@@QEAAXH_N@Z
-; class std::basic_ostream<char,struct std::char_traits<char> >  std::clog
-?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::close(void) __ptr64
-?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::close(void) __ptr64
-?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@XZ
-; public: void __cdecl std::basic_fstream<char,struct std::char_traits<char> >::close(void) __ptr64
-?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::close(void) __ptr64
-?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::close(void) __ptr64
-?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::close(void) __ptr64
-?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::close(void) __ptr64
-?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::close(void) __ptr64
-?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::messages<char>::close(int)const  __ptr64
-?close@?$messages@D@std@@QEBAXH@Z
-; public: void __cdecl std::messages<unsigned short>::close(int)const  __ptr64
-?close@?$messages@G@std@@QEBAXH@Z
-; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAHAEBV12@@Z
-; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(char const * __ptr64)const  __ptr64
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAHPEBD@Z
-; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned __int64,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0AEBV12@00@Z
-; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned __int64,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0AEBV12@@Z
-; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned __int64,unsigned __int64,char const * __ptr64,unsigned __int64)const  __ptr64
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0PEBD0@Z
-; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned __int64,unsigned __int64,char const * __ptr64)const  __ptr64
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0PEBD@Z
-; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAHAEBV12@@Z
-; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned short const * __ptr64)const  __ptr64
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAHPEBG@Z
-; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned __int64,unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0AEBV12@00@Z
-; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned __int64,unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0AEBV12@@Z
-; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned __int64,unsigned __int64,unsigned short const * __ptr64,unsigned __int64)const  __ptr64
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0PEBG0@Z
-; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned __int64,unsigned __int64,unsigned short const * __ptr64)const  __ptr64
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0PEBG@Z
-; public: static int __cdecl std::char_traits<char>::compare(char const * __ptr64,char const * __ptr64,unsigned __int64)
-?compare@?$char_traits@D@std@@SAHPEBD0_K@Z
-; public: static int __cdecl std::char_traits<unsigned short>::compare(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned __int64)
-?compare@?$char_traits@G@std@@SAHPEBG0_K@Z
-; public: int __cdecl std::collate<char>::compare(char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
-?compare@?$collate@D@std@@QEBAHPEBD000@Z
-; public: int __cdecl std::collate<unsigned short>::compare(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?compare@?$collate@G@std@@QEBAHPEBG000@Z
-; class std::complex<float>  __cdecl std::conj(class std::complex<float> const & __ptr64)
-?conj@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; class std::complex<double>  __cdecl std::conj(class std::complex<double> const & __ptr64)
-?conj@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; class std::complex<long double>  __cdecl std::conj(class std::complex<long double> const & __ptr64)
-?conj@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::copy(char * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEAD_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::copy(unsigned short * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEAG_K1@Z
-; public: static char * __ptr64 __cdecl std::char_traits<char>::copy(char * __ptr64,char const * __ptr64,unsigned __int64)
-?copy@?$char_traits@D@std@@SAPEADPEADPEBD_K@Z
-; public: static unsigned short * __ptr64 __cdecl std::char_traits<unsigned short>::copy(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned __int64)
-?copy@?$char_traits@G@std@@SAPEAGPEAGPEBG_K@Z
-; public: class std::basic_ios<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::copyfmt(class std::basic_ios<char,struct std::char_traits<char> > const & __ptr64) __ptr64
-?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z
-; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::copyfmt(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
-?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEBV12@@Z
-; public: class std::ios_base & __ptr64 __cdecl std::ios_base::copyfmt(class std::ios_base const & __ptr64) __ptr64
-?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z
-; public: static float __cdecl std::_Ctr<float>::cos(float)
-?cos@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::cos(double)
-?cos@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::cos(long double)
-?cos@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::cos(class std::complex<float> const & __ptr64)
-?cos@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; class std::complex<double>  __cdecl std::cos(class std::complex<double> const & __ptr64)
-?cos@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; class std::complex<long double>  __cdecl std::cos(class std::complex<long double> const & __ptr64)
-?cos@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; class std::complex<float>  __cdecl std::cosh(class std::complex<float> const & __ptr64)
-?cosh@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; class std::complex<double>  __cdecl std::cosh(class std::complex<double> const & __ptr64)
-?cosh@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; class std::complex<long double>  __cdecl std::cosh(class std::complex<long double> const & __ptr64)
-?cosh@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> >  std::cout
-?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::curr_symbol(void)const  __ptr64
-?curr_symbol@?$_Mpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::curr_symbol(void)const  __ptr64
-?curr_symbol@?$_Mpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::data(void)const  __ptr64
-?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::data(void)const  __ptr64
-?data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ
-; public: int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::date_order(void)const  __ptr64
-?date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBAHXZ
-; public: int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::date_order(void)const  __ptr64
-?date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBAHXZ
-; public: char __cdecl std::_Mpunct<char>::decimal_point(void)const  __ptr64
-?decimal_point@?$_Mpunct@D@std@@QEBADXZ
-; public: unsigned short __cdecl std::_Mpunct<unsigned short>::decimal_point(void)const  __ptr64
-?decimal_point@?$_Mpunct@G@std@@QEBAGXZ
-; public: char __cdecl std::numpunct<char>::decimal_point(void)const  __ptr64
-?decimal_point@?$numpunct@D@std@@QEBADXZ
-; public: unsigned short __cdecl std::numpunct<unsigned short>::decimal_point(void)const  __ptr64
-?decimal_point@?$numpunct@G@std@@QEBAGXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::denorm_min(void)
-?denorm_min@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::denorm_min(void)
-?denorm_min@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::denorm_min(void)
-?denorm_min@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::denorm_min(void)
-?denorm_min@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::denorm_min(void)
-?denorm_min@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::denorm_min(void)
-?denorm_min@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::denorm_min(void)
-?denorm_min@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::denorm_min(void)
-?denorm_min@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::denorm_min(void)
-?denorm_min@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::denorm_min(void)
-?denorm_min@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::denorm_min(void)
-?denorm_min@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::denorm_min(void)
-?denorm_min@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::denorm_min(void)
-?denorm_min@?$numeric_limits@_N@std@@SA_NXZ
-; protected: virtual bool __cdecl std::codecvt<unsigned short,char,int>::do_always_noconv(void)const  __ptr64
-?do_always_noconv@?$codecvt@GDH@std@@MEBA_NXZ
-; protected: virtual bool __cdecl std::codecvt_base::do_always_noconv(void)const  __ptr64
-?do_always_noconv@codecvt_base@std@@MEBA_NXZ
-; protected: virtual void __cdecl std::messages<char>::do_close(int)const  __ptr64
-?do_close@?$messages@D@std@@MEBAXH@Z
-; protected: virtual void __cdecl std::messages<unsigned short>::do_close(int)const  __ptr64
-?do_close@?$messages@G@std@@MEBAXH@Z
-; protected: virtual int __cdecl std::collate<char>::do_compare(char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
-?do_compare@?$collate@D@std@@MEBAHPEBD000@Z
-; protected: virtual int __cdecl std::collate<unsigned short>::do_compare(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?do_compare@?$collate@G@std@@MEBAHPEBG000@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::do_curr_symbol(void)const  __ptr64
-?do_curr_symbol@?$_Mpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::do_curr_symbol(void)const  __ptr64
-?do_curr_symbol@?$_Mpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_date_order(void)const  __ptr64
-?do_date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBAHXZ
-; protected: virtual int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_date_order(void)const  __ptr64
-?do_date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBAHXZ
-; protected: virtual char __cdecl std::_Mpunct<char>::do_decimal_point(void)const  __ptr64
-?do_decimal_point@?$_Mpunct@D@std@@MEBADXZ
-; protected: virtual unsigned short __cdecl std::_Mpunct<unsigned short>::do_decimal_point(void)const  __ptr64
-?do_decimal_point@?$_Mpunct@G@std@@MEBAGXZ
-; protected: virtual char __cdecl std::numpunct<char>::do_decimal_point(void)const  __ptr64
-?do_decimal_point@?$numpunct@D@std@@MEBADXZ
-; protected: virtual unsigned short __cdecl std::numpunct<unsigned short>::do_decimal_point(void)const  __ptr64
-?do_decimal_point@?$numpunct@G@std@@MEBAGXZ
-; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_encoding(void)const  __ptr64
-?do_encoding@?$codecvt@GDH@std@@MEBAHXZ
-; protected: virtual int __cdecl std::codecvt_base::do_encoding(void)const  __ptr64
-?do_encoding@codecvt_base@std@@MEBAHXZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::do_falsename(void)const  __ptr64
-?do_falsename@?$numpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::numpunct<unsigned short>::do_falsename(void)const  __ptr64
-?do_falsename@?$numpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __cdecl std::_Mpunct<char>::do_frac_digits(void)const  __ptr64
-?do_frac_digits@?$_Mpunct@D@std@@MEBAHXZ
-; protected: virtual int __cdecl std::_Mpunct<unsigned short>::do_frac_digits(void)const  __ptr64
-?do_frac_digits@?$_Mpunct@G@std@@MEBAHXZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::messages<char>::do_get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
-?do_get@?$messages@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHAEBV32@@Z
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::messages<unsigned short>::do_get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
-?do_get@?$messages@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHAEBV32@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
-?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAO@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,int & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64)const  __ptr64
-?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
-?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAO@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,int & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64)const  __ptr64
-?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned short & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAG@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned int & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAI@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,long & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAJ@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned long & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAK@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,float & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAM@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,double & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAN@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAO@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAPEAX@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,__int64 & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_J@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned __int64 & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_K@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,bool & __ptr64)const  __ptr64
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_N@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned short & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAG@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned int & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAI@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,long & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAJ@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned long & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAK@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,float & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAM@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,double & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAN@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAO@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAPEAX@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,__int64 & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_J@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned __int64 & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_K@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,bool & __ptr64)const  __ptr64
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_N@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::do_grouping(void)const  __ptr64
-?do_grouping@?$_Mpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<unsigned short>::do_grouping(void)const  __ptr64
-?do_grouping@?$_Mpunct@G@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::do_grouping(void)const  __ptr64
-?do_grouping@?$numpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<unsigned short>::do_grouping(void)const  __ptr64
-?do_grouping@?$numpunct@G@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual long __cdecl std::collate<char>::do_hash(char const * __ptr64,char const * __ptr64)const  __ptr64
-?do_hash@?$collate@D@std@@MEBAJPEBD0@Z
-; protected: virtual long __cdecl std::collate<unsigned short>::do_hash(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?do_hash@?$collate@G@std@@MEBAJPEBG0@Z
-; protected: virtual int __cdecl std::codecvt<char,char,int>::do_in(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
-?do_in@?$codecvt@DDH@std@@MEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z
-; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_in(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64 & __ptr64)const  __ptr64
-?do_in@?$codecvt@GDH@std@@MEBAHAEAHPEBD1AEAPEBDPEAG3AEAPEAG@Z
-; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_is(unsigned short const * __ptr64,unsigned short const * __ptr64,short * __ptr64)const  __ptr64
-?do_is@?$ctype@G@std@@MEBAPEBGPEBG0PEAF@Z
-; protected: virtual bool __cdecl std::ctype<unsigned short>::do_is(short,unsigned short)const  __ptr64
-?do_is@?$ctype@G@std@@MEBA_NFG@Z
-; protected: virtual int __cdecl std::codecvt<char,char,int>::do_length(int & __ptr64,char const * __ptr64,char const * __ptr64,unsigned __int64)const  __ptr64
-?do_length@?$codecvt@DDH@std@@MEBAHAEAHPEBD1_K@Z
-; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_length(int & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned __int64)const  __ptr64
-?do_length@?$codecvt@GDH@std@@MEBAHAEAHPEBG1_K@Z
-; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_max_length(void)const  __ptr64
-?do_max_length@?$codecvt@GDH@std@@MEBAHXZ
-; protected: virtual int __cdecl std::codecvt_base::do_max_length(void)const  __ptr64
-?do_max_length@codecvt_base@std@@MEBAHXZ
-; protected: virtual char __cdecl std::ctype<unsigned short>::do_narrow(unsigned short,char)const  __ptr64
-?do_narrow@?$ctype@G@std@@MEBADGD@Z
-; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_narrow(unsigned short const * __ptr64,unsigned short const * __ptr64,char,char * __ptr64)const  __ptr64
-?do_narrow@?$ctype@G@std@@MEBAPEBGPEBG0DPEAD@Z
-; protected: virtual struct std::money_base::pattern  __cdecl std::_Mpunct<char>::do_neg_format(void)const  __ptr64
-?do_neg_format@?$_Mpunct@D@std@@MEBA?AUpattern@money_base@2@XZ
-; protected: virtual struct std::money_base::pattern  __cdecl std::_Mpunct<unsigned short>::do_neg_format(void)const  __ptr64
-?do_neg_format@?$_Mpunct@G@std@@MEBA?AUpattern@money_base@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::do_negative_sign(void)const  __ptr64
-?do_negative_sign@?$_Mpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::do_negative_sign(void)const  __ptr64
-?do_negative_sign@?$_Mpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __cdecl std::messages<char>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::locale const & __ptr64)const  __ptr64
-?do_open@?$messages@D@std@@MEBAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEBVlocale@2@@Z
-; protected: virtual int __cdecl std::messages<unsigned short>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::locale const & __ptr64)const  __ptr64
-?do_open@?$messages@G@std@@MEBAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEBVlocale@2@@Z
-; protected: virtual int __cdecl std::codecvt<char,char,int>::do_out(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
-?do_out@?$codecvt@DDH@std@@MEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z
-; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_out(int & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
-?do_out@?$codecvt@GDH@std@@MEBAHAEAHPEBG1AEAPEBGPEAD3AEAPEAD@Z
-; protected: virtual struct std::money_base::pattern  __cdecl std::_Mpunct<char>::do_pos_format(void)const  __ptr64
-?do_pos_format@?$_Mpunct@D@std@@MEBA?AUpattern@money_base@2@XZ
-; protected: virtual struct std::money_base::pattern  __cdecl std::_Mpunct<unsigned short>::do_pos_format(void)const  __ptr64
-?do_pos_format@?$_Mpunct@G@std@@MEBA?AUpattern@money_base@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::do_positive_sign(void)const  __ptr64
-?do_positive_sign@?$_Mpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::do_positive_sign(void)const  __ptr64
-?do_positive_sign@?$_Mpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
-?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@DAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,long double)const  __ptr64
-?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@DO@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
-?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@GAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,long double)const  __ptr64
-?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@GO@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,long)const  __ptr64
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DJ@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,unsigned long)const  __ptr64
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DK@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,double)const  __ptr64
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DN@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,long double)const  __ptr64
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DO@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,void const * __ptr64)const  __ptr64
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DPEBX@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,__int64)const  __ptr64
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_J@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,unsigned __int64)const  __ptr64
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_K@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,bool)const  __ptr64
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_N@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,long)const  __ptr64
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GJ@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,unsigned long)const  __ptr64
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GK@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,double)const  __ptr64
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GN@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,long double)const  __ptr64
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GO@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,void const * __ptr64)const  __ptr64
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GPEBX@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,__int64)const  __ptr64
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_J@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,unsigned __int64)const  __ptr64
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_K@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,bool)const  __ptr64
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_N@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char,char)const  __ptr64
-?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@PEBUtm@@DD@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char,char)const  __ptr64
-?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@PEBUtm@@DD@Z
-; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_scan_is(short,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?do_scan_is@?$ctype@G@std@@MEBAPEBGFPEBG0@Z
-; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_scan_not(short,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?do_scan_not@?$ctype@G@std@@MEBAPEBGFPEBG0@Z
-; protected: virtual char __cdecl std::_Mpunct<char>::do_thousands_sep(void)const  __ptr64
-?do_thousands_sep@?$_Mpunct@D@std@@MEBADXZ
-; protected: virtual unsigned short __cdecl std::_Mpunct<unsigned short>::do_thousands_sep(void)const  __ptr64
-?do_thousands_sep@?$_Mpunct@G@std@@MEBAGXZ
-; protected: virtual char __cdecl std::numpunct<char>::do_thousands_sep(void)const  __ptr64
-?do_thousands_sep@?$numpunct@D@std@@MEBADXZ
-; protected: virtual unsigned short __cdecl std::numpunct<unsigned short>::do_thousands_sep(void)const  __ptr64
-?do_thousands_sep@?$numpunct@G@std@@MEBAGXZ
-; protected: virtual char __cdecl std::ctype<char>::do_tolower(char)const  __ptr64
-?do_tolower@?$ctype@D@std@@MEBADD@Z
-; protected: virtual char const * __ptr64 __cdecl std::ctype<char>::do_tolower(char * __ptr64,char const * __ptr64)const  __ptr64
-?do_tolower@?$ctype@D@std@@MEBAPEBDPEADPEBD@Z
-; protected: virtual unsigned short __cdecl std::ctype<unsigned short>::do_tolower(unsigned short)const  __ptr64
-?do_tolower@?$ctype@G@std@@MEBAGG@Z
-; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_tolower(unsigned short * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?do_tolower@?$ctype@G@std@@MEBAPEBGPEAGPEBG@Z
-; protected: virtual char __cdecl std::ctype<char>::do_toupper(char)const  __ptr64
-?do_toupper@?$ctype@D@std@@MEBADD@Z
-; protected: virtual char const * __ptr64 __cdecl std::ctype<char>::do_toupper(char * __ptr64,char const * __ptr64)const  __ptr64
-?do_toupper@?$ctype@D@std@@MEBAPEBDPEADPEBD@Z
-; protected: virtual unsigned short __cdecl std::ctype<unsigned short>::do_toupper(unsigned short)const  __ptr64
-?do_toupper@?$ctype@G@std@@MEBAGG@Z
-; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_toupper(unsigned short * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?do_toupper@?$ctype@G@std@@MEBAPEBGPEAGPEBG@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::collate<char>::do_transform(char const * __ptr64,char const * __ptr64)const  __ptr64
-?do_transform@?$collate@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PEBD0@Z
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::collate<unsigned short>::do_transform(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?do_transform@?$collate@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PEBG0@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::do_truename(void)const  __ptr64
-?do_truename@?$numpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::numpunct<unsigned short>::do_truename(void)const  __ptr64
-?do_truename@?$numpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual unsigned short __cdecl std::ctype<unsigned short>::do_widen(char)const  __ptr64
-?do_widen@?$ctype@G@std@@MEBAGD@Z
-; protected: virtual char const * __ptr64 __cdecl std::ctype<unsigned short>::do_widen(char const * __ptr64,char const * __ptr64,unsigned short * __ptr64)const  __ptr64
-?do_widen@?$ctype@G@std@@MEBAPEBDPEBD0PEAG@Z
-; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const  __ptr64
-?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
-; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::eback(void)const  __ptr64
-?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
-; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const  __ptr64
-?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
-; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::egptr(void)const  __ptr64
-?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
-; public: bool __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::empty(void)const  __ptr64
-?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_NXZ
-; public: bool __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::empty(void)const  __ptr64
-?empty@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_NXZ
-; public: static class std::locale  __cdecl std::locale::empty(void)
-?empty@locale@std@@SA?AV12@XZ
-; public: int __cdecl std::codecvt_base::encoding(void)const  __ptr64
-?encoding@codecvt_base@std@@QEBAHXZ
-; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void) __ptr64
-?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADXZ
-; public: char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)const  __ptr64
-?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ
-; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void) __ptr64
-?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGXZ
-; public: unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)const  __ptr64
-?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64)
-?endl@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::endl(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)
-?endl@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::ends(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64)
-?ends@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::ends(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)
-?ends@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z
-; public: static int __cdecl std::char_traits<char>::eof(void)
-?eof@?$char_traits@D@std@@SAHXZ
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::eof(void)
-?eof@?$char_traits@G@std@@SAGXZ
-; public: bool __cdecl std::ios_base::eof(void)const  __ptr64
-?eof@ios_base@std@@QEBA_NXZ
-; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const  __ptr64
-?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
-; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::epptr(void)const  __ptr64
-?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::epsilon(void)
-?epsilon@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::epsilon(void)
-?epsilon@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::epsilon(void)
-?epsilon@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::epsilon(void)
-?epsilon@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::epsilon(void)
-?epsilon@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::epsilon(void)
-?epsilon@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::epsilon(void)
-?epsilon@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::epsilon(void)
-?epsilon@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::epsilon(void)
-?epsilon@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::epsilon(void)
-?epsilon@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::epsilon(void)
-?epsilon@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::epsilon(void)
-?epsilon@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::epsilon(void)
-?epsilon@?$numeric_limits@_N@std@@SA_NXZ
-; public: static bool __cdecl std::char_traits<char>::eq(char const & __ptr64,char const & __ptr64)
-?eq@?$char_traits@D@std@@SA_NAEBD0@Z
-; public: static bool __cdecl std::char_traits<unsigned short>::eq(unsigned short const & __ptr64,unsigned short const & __ptr64)
-?eq@?$char_traits@G@std@@SA_NAEBG0@Z
-; public: static bool __cdecl std::char_traits<char>::eq_int_type(int const & __ptr64,int const & __ptr64)
-?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z
-; public: static bool __cdecl std::char_traits<unsigned short>::eq_int_type(unsigned short const & __ptr64,unsigned short const & __ptr64)
-?eq_int_type@?$char_traits@G@std@@SA_NAEBG0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned __int64,unsigned __int64) __ptr64
-?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0@Z
-; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char * __ptr64,char * __ptr64) __ptr64
-?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADPEAD0@Z
-; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char * __ptr64) __ptr64
-?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADPEAD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned __int64,unsigned __int64) __ptr64
-?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0@Z
-; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGPEAG0@Z
-; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short * __ptr64) __ptr64
-?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGPEAG@Z
-; public: void __cdecl std::ios_base::exceptions(short) __ptr64
-?exceptions@ios_base@std@@QEAAXF@Z
-; public: void __cdecl std::ios_base::exceptions(int) __ptr64
-?exceptions@ios_base@std@@QEAAXH@Z
-; public: int __cdecl std::ios_base::exceptions(void)const  __ptr64
-?exceptions@ios_base@std@@QEBAHXZ
-; public: static float __cdecl std::_Ctr<float>::exp(float)
-?exp@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::exp(double)
-?exp@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::exp(long double)
-?exp@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::exp(class std::complex<float> const & __ptr64)
-?exp@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; class std::complex<double>  __cdecl std::exp(class std::complex<double> const & __ptr64)
-?exp@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; class std::complex<long double>  __cdecl std::exp(class std::complex<long double> const & __ptr64)
-?exp@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; public: bool __cdecl std::ios_base::fail(void)const  __ptr64
-?fail@ios_base@std@@QEBA_NXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::falsename(void)const  __ptr64
-?falsename@?$numpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::numpunct<unsigned short>::falsename(void)const  __ptr64
-?falsename@?$numpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::fill(char) __ptr64
-?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z
-; public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::fill(void)const  __ptr64
-?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ
-; public: unsigned short __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(unsigned short) __ptr64
-?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAGG@Z
-; public: unsigned short __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(void)const  __ptr64
-?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGXZ
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char,unsigned __int64)const  __ptr64
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const * __ptr64,unsigned __int64)const  __ptr64
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short,unsigned __int64)const  __ptr64
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
-; public: static char const * __ptr64 __cdecl std::char_traits<char>::find(char const * __ptr64,unsigned __int64,char const & __ptr64)
-?find@?$char_traits@D@std@@SAPEBDPEBD_KAEBD@Z
-; public: static unsigned short const * __ptr64 __cdecl std::char_traits<unsigned short>::find(unsigned short const * __ptr64,unsigned __int64,unsigned short const & __ptr64)
-?find@?$char_traits@G@std@@SAPEBGPEBG_KAEBG@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char,unsigned __int64)const  __ptr64
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const * __ptr64,unsigned __int64)const  __ptr64
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short,unsigned __int64)const  __ptr64
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char,unsigned __int64)const  __ptr64
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const * __ptr64,unsigned __int64)const  __ptr64
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short,unsigned __int64)const  __ptr64
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char,unsigned __int64)const  __ptr64
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const * __ptr64,unsigned __int64)const  __ptr64
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short,unsigned __int64)const  __ptr64
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char,unsigned __int64)const  __ptr64
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const * __ptr64,unsigned __int64)const  __ptr64
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short,unsigned __int64)const  __ptr64
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
-; public: int __cdecl std::ios_base::flags(int) __ptr64
-?flags@ios_base@std@@QEAAHH@Z
-; public: int __cdecl std::ios_base::flags(void)const  __ptr64
-?flags@ios_base@std@@QEBAHXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::flush(void) __ptr64
-?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::flush(void) __ptr64
-?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ
-; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::flush(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64)
-?flush@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::flush(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)
-?flush@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z
-; public: int __cdecl std::_Mpunct<char>::frac_digits(void)const  __ptr64
-?frac_digits@?$_Mpunct@D@std@@QEBAHXZ
-; public: int __cdecl std::_Mpunct<unsigned short>::frac_digits(void)const  __ptr64
-?frac_digits@?$_Mpunct@G@std@@QEBAHXZ
-; public: void __cdecl std::strstreambuf::freeze(bool) __ptr64
-?freeze@strstreambuf@std@@QEAAX_N@Z
-; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int) __ptr64
-?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z
-; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gbump(int) __ptr64
-?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z
-; public: __int64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::gcount(void)const  __ptr64
-?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QEBA_JXZ
-; public: __int64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::gcount(void)const  __ptr64
-?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QEBA_JXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(char & __ptr64) __ptr64
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAD@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > & __ptr64) __ptr64
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > & __ptr64,char) __ptr64
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(char * __ptr64,__int64) __ptr64
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(char * __ptr64,__int64,char) __ptr64
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z
-; public: int __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(void) __ptr64
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short & __ptr64) __ptr64
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAG@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > & __ptr64) __ptr64
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short) __ptr64
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short * __ptr64,__int64) __ptr64
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short * __ptr64,__int64,unsigned short) __ptr64
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z
-; public: unsigned short __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(void) __ptr64
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::messages<char>::get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
-?get@?$messages@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHAEBV32@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::messages<unsigned short>::get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
-?get@?$messages@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHAEBV32@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
-?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAO@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,int & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64)const  __ptr64
-?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
-?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAO@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,int & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64)const  __ptr64
-?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned short & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAG@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned int & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAI@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,long & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAJ@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned long & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAK@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,float & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAM@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,double & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAN@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAO@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAPEAX@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,__int64 & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_J@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned __int64 & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_K@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,bool & __ptr64)const  __ptr64
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_N@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned short & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAG@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned int & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAI@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,long & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAJ@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned long & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAK@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,float & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAM@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,double & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAN@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAO@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAPEAX@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,__int64 & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_J@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned __int64 & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_K@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,bool & __ptr64)const  __ptr64
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_N@Z
-; public: class std::allocator<char>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::get_allocator(void)const  __ptr64
-?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$allocator@D@2@XZ
-; public: class std::allocator<unsigned short>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::get_allocator(void)const  __ptr64
-?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$allocator@G@2@XZ
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
-?get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::getline(char * __ptr64,__int64) __ptr64
-?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::getline(char * __ptr64,__int64,char) __ptr64
-?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short * __ptr64,__int64) __ptr64
-?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short * __ptr64,__int64,unsigned short) __ptr64
-?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64)
-?getline@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64,char)
-?getline@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64)
-?getline@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64,unsigned short)
-?getline@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z
-; public: class std::locale  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::getloc(void) __ptr64
-?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@XZ
-; public: class std::locale  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::getloc(void) __ptr64
-?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@XZ
-; public: class std::locale  __cdecl std::ios_base::getloc(void)const  __ptr64
-?getloc@ios_base@std@@QEBA?AVlocale@2@XZ
-; public: static class std::locale  __cdecl std::locale::global(class std::locale const & __ptr64)
-?global@locale@std@@SA?AV12@AEBV12@@Z
-; public: bool __cdecl std::ios_base::good(void)const  __ptr64
-?good@ios_base@std@@QEBA_NXZ
-; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const  __ptr64
-?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
-; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gptr(void)const  __ptr64
-?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::grouping(void)const  __ptr64
-?grouping@?$_Mpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<unsigned short>::grouping(void)const  __ptr64
-?grouping@?$_Mpunct@G@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::grouping(void)const  __ptr64
-?grouping@?$numpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<unsigned short>::grouping(void)const  __ptr64
-?grouping@?$numpunct@G@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: long __cdecl std::collate<char>::hash(char const * __ptr64,char const * __ptr64)const  __ptr64
-?hash@?$collate@D@std@@QEBAJPEBD0@Z
-; public: long __cdecl std::collate<unsigned short>::hash(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?hash@?$collate@G@std@@QEBAJPEBG0@Z
-; public: static class std::locale::id  std::codecvt<char,char,int>::id
-?id@?$codecvt@DDH@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::codecvt<unsigned short,char,int>::id
-?id@?$codecvt@GDH@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::collate<char>::id
-?id@?$collate@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::collate<unsigned short>::id
-?id@?$collate@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::ctype<char>::id
-?id@?$ctype@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::ctype<unsigned short>::id
-?id@?$ctype@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::messages<char>::id
-?id@?$messages@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::messages<unsigned short>::id
-?id@?$messages@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<char,1>::id
-?id@?$moneypunct@D$00@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<char,0>::id
-?id@?$moneypunct@D$0A@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<unsigned short,1>::id
-?id@?$moneypunct@G$00@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<unsigned short,0>::id
-?id@?$moneypunct@G$0A@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::numpunct<char>::id
-?id@?$numpunct@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::numpunct<unsigned short>::id
-?id@?$numpunct@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::ignore(__int64,int) __ptr64
-?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ignore(__int64,unsigned short) __ptr64
-?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JG@Z
-; public: float __cdecl std::_Complex_base<float>::imag(float const & __ptr64) __ptr64
-?imag@?$_Complex_base@M@std@@QEAAMAEBM@Z
-; public: float __cdecl std::_Complex_base<float>::imag(void)const  __ptr64
-?imag@?$_Complex_base@M@std@@QEBAMXZ
-; public: double __cdecl std::_Complex_base<double>::imag(double const & __ptr64) __ptr64
-?imag@?$_Complex_base@N@std@@QEAANAEBN@Z
-; public: double __cdecl std::_Complex_base<double>::imag(void)const  __ptr64
-?imag@?$_Complex_base@N@std@@QEBANXZ
-; public: long double __cdecl std::_Complex_base<long double>::imag(long double const & __ptr64) __ptr64
-?imag@?$_Complex_base@O@std@@QEAAOAEBO@Z
-; public: long double __cdecl std::_Complex_base<long double>::imag(void)const  __ptr64
-?imag@?$_Complex_base@O@std@@QEBAOXZ
-; float __cdecl std::imag(class std::complex<float> const & __ptr64)
-?imag@std@@YAMAEBV?$complex@M@1@@Z
-; double __cdecl std::imag(class std::complex<double> const & __ptr64)
-?imag@std@@YANAEBV?$complex@N@1@@Z
-; long double __cdecl std::imag(class std::complex<long double> const & __ptr64)
-?imag@std@@YAOAEBV?$complex@O@1@@Z
-; public: class std::locale  __cdecl std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const & __ptr64) __ptr64
-?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z
-; public: class std::locale  __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const & __ptr64) __ptr64
-?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z
-; protected: virtual void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::imbue(class std::locale const & __ptr64) __ptr64
-?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z
-; protected: virtual void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const & __ptr64) __ptr64
-?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z
-; public: class std::locale  __cdecl std::ios_base::imbue(class std::locale const & __ptr64) __ptr64
-?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z
-; public: int __cdecl std::codecvt<char,char,int>::in(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
-?in@?$codecvt@DDH@std@@QEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z
-; public: int __cdecl std::codecvt<unsigned short,char,int>::in(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64 & __ptr64)const  __ptr64
-?in@?$codecvt@GDH@std@@QEBAHAEAHPEBD1AEAPEBDPEAG3AEAPEAG@Z
-; public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::in_avail(void) __ptr64
-?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ
-; public: __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::in_avail(void) __ptr64
-?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::infinity(void)
-?infinity@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::infinity(void)
-?infinity@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::infinity(void)
-?infinity@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::infinity(void)
-?infinity@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::infinity(void)
-?infinity@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::infinity(void)
-?infinity@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::infinity(void)
-?infinity@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::infinity(void)
-?infinity@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::infinity(void)
-?infinity@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::infinity(void)
-?infinity@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::infinity(void)
-?infinity@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::infinity(void)
-?infinity@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::infinity(void)
-?infinity@?$numeric_limits@_N@std@@SA_NXZ
-; protected: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::init(class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64,bool) __ptr64
-?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z
-; protected: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::init(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64,bool) __ptr64
-?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,unsigned __int64,char) __ptr64
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0D@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KAEBV12@00@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KAEBV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,char const * __ptr64,unsigned __int64) __ptr64
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KPEBD0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,char const * __ptr64) __ptr64
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KPEBD@Z
-; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char * __ptr64,char) __ptr64
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADPEADD@Z
-; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXPEADPEBD1@Z
-; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char * __ptr64,unsigned __int64,char) __ptr64
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXPEAD_KD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,unsigned __int64,unsigned short) __ptr64
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0G@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KAEBV12@00@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KAEBV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,unsigned short const * __ptr64,unsigned __int64) __ptr64
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KPEBG0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,unsigned short const * __ptr64) __ptr64
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KPEBG@Z
-; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short * __ptr64,unsigned short) __ptr64
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGPEAGG@Z
-; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXPEAGPEBG1@Z
-; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short * __ptr64,unsigned __int64,unsigned short) __ptr64
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXPEAG_KG@Z
-; public: static bool const  std::moneypunct<char,1>::intl
-?intl@?$moneypunct@D$00@std@@2_NB
-; public: static bool const  std::moneypunct<char,0>::intl
-?intl@?$moneypunct@D$0A@@std@@2_NB
-; public: static bool const  std::moneypunct<unsigned short,1>::intl
-?intl@?$moneypunct@G$00@std@@2_NB
-; public: static bool const  std::moneypunct<unsigned short,0>::intl
-?intl@?$moneypunct@G$0A@@std@@2_NB
-; public: bool __cdecl std::basic_istream<char,struct std::char_traits<char> >::ipfx(bool) __ptr64
-?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z
-; public: bool __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ipfx(bool) __ptr64
-?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z
-; public: char const * __ptr64 __cdecl std::ctype<char>::is(char const * __ptr64,char const * __ptr64,short * __ptr64)const  __ptr64
-?is@?$ctype@D@std@@QEBAPEBDPEBD0PEAF@Z
-; public: bool __cdecl std::ctype<char>::is(short,char)const  __ptr64
-?is@?$ctype@D@std@@QEBA_NFD@Z
-; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::is(unsigned short const * __ptr64,unsigned short const * __ptr64,short * __ptr64)const  __ptr64
-?is@?$ctype@G@std@@QEBAPEBGPEBG0PEAF@Z
-; public: bool __cdecl std::ctype<unsigned short>::is(short,unsigned short)const  __ptr64
-?is@?$ctype@G@std@@QEBA_NFG@Z
-; public: bool __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::is_open(void)const  __ptr64
-?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEBA_NXZ
-; public: bool __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const  __ptr64
-?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEBA_NXZ
-; public: bool __cdecl std::basic_fstream<char,struct std::char_traits<char> >::is_open(void)const  __ptr64
-?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
-; public: bool __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const  __ptr64
-?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ
-; public: bool __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::is_open(void)const  __ptr64
-?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
-; public: bool __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const  __ptr64
-?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ
-; public: bool __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::is_open(void)const  __ptr64
-?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
-; public: bool __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const  __ptr64
-?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ
-; public: void __cdecl std::basic_istream<char,struct std::char_traits<char> >::isfx(void) __ptr64
-?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::isfx(void) __ptr64
-?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: long & __ptr64 __cdecl std::ios_base::iword(int) __ptr64
-?iword@ios_base@std@@QEAAAEAJH@Z
-; public: static float __cdecl std::_Ctr<float>::ldexp(float,int)
-?ldexp@?$_Ctr@M@std@@SAMMH@Z
-; public: static double __cdecl std::_Ctr<double>::ldexp(double,int)
-?ldexp@?$_Ctr@N@std@@SANNH@Z
-; public: static long double __cdecl std::_Ctr<long double>::ldexp(long double,int)
-?ldexp@?$_Ctr@O@std@@SAOOH@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::length(void)const  __ptr64
-?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::length(void)const  __ptr64
-?length@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ
-; public: static unsigned __int64 __cdecl std::char_traits<char>::length(char const * __ptr64)
-?length@?$char_traits@D@std@@SA_KPEBD@Z
-; public: static unsigned __int64 __cdecl std::char_traits<unsigned short>::length(unsigned short const * __ptr64)
-?length@?$char_traits@G@std@@SA_KPEBG@Z
-; public: int __cdecl std::codecvt<char,char,int>::length(int & __ptr64,char const * __ptr64,char const * __ptr64,unsigned __int64)const  __ptr64
-?length@?$codecvt@DDH@std@@QEBAHAEAHPEBD1_K@Z
-; public: int __cdecl std::codecvt<unsigned short,char,int>::length(int & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned __int64)const  __ptr64
-?length@?$codecvt@GDH@std@@QEBAHAEAHPEBG1_K@Z
-; class std::complex<float>  __cdecl std::log10(class std::complex<float> const & __ptr64)
-?log10@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; class std::complex<double>  __cdecl std::log10(class std::complex<double> const & __ptr64)
-?log10@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; class std::complex<long double>  __cdecl std::log10(class std::complex<long double> const & __ptr64)
-?log10@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; public: static float __cdecl std::_Ctr<float>::log(float)
-?log@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::log(double)
-?log@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::log(long double)
-?log@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::log(class std::complex<float> const & __ptr64)
-?log@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; class std::complex<double>  __cdecl std::log(class std::complex<double> const & __ptr64)
-?log@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; class std::complex<long double>  __cdecl std::log(class std::complex<long double> const & __ptr64)
-?log@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; public: static bool __cdecl std::char_traits<char>::lt(char const & __ptr64,char const & __ptr64)
-?lt@?$char_traits@D@std@@SA_NAEBD0@Z
-; public: static bool __cdecl std::char_traits<unsigned short>::lt(unsigned short const & __ptr64,unsigned short const & __ptr64)
-?lt@?$char_traits@G@std@@SA_NAEBG0@Z
-; public: static signed char __cdecl std::numeric_limits<signed char>::max(void)
-?max@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::max(void)
-?max@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::max(void)
-?max@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::max(void)
-?max@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::max(void)
-?max@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::max(void)
-?max@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::max(void)
-?max@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::max(void)
-?max@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::max(void)
-?max@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::max(void)
-?max@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::max(void)
-?max@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::max(void)
-?max@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::max(void)
-?max@?$numeric_limits@_N@std@@SA_NXZ
-; public: int __cdecl std::codecvt_base::max_length(void)const  __ptr64
-?max_length@codecvt_base@std@@QEBAHXZ
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::max_size(void)const  __ptr64
-?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::max_size(void)const  __ptr64
-?max_size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::min(void)
-?min@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::min(void)
-?min@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::min(void)
-?min@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::min(void)
-?min@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::min(void)
-?min@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::min(void)
-?min@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::min(void)
-?min@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::min(void)
-?min@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::min(void)
-?min@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::min(void)
-?min@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::min(void)
-?min@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::min(void)
-?min@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::min(void)
-?min@?$numeric_limits@_N@std@@SA_NXZ
-; public: static char * __ptr64 __cdecl std::char_traits<char>::move(char * __ptr64,char const * __ptr64,unsigned __int64)
-?move@?$char_traits@D@std@@SAPEADPEADPEBD_K@Z
-; public: static unsigned short * __ptr64 __cdecl std::char_traits<unsigned short>::move(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned __int64)
-?move@?$char_traits@G@std@@SAPEAGPEAGPEBG_K@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::locale::name(void)const  __ptr64
-?name@locale@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::narrow(char,char)const  __ptr64
-?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z
-; public: char __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::narrow(unsigned short,char)const  __ptr64
-?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBADGD@Z
-; public: char __cdecl std::ctype<char>::narrow(char,char)const  __ptr64
-?narrow@?$ctype@D@std@@QEBADDD@Z
-; public: char const * __ptr64 __cdecl std::ctype<char>::narrow(char const * __ptr64,char const * __ptr64,char,char * __ptr64)const  __ptr64
-?narrow@?$ctype@D@std@@QEBAPEBDPEBD0DPEAD@Z
-; public: char __cdecl std::ctype<unsigned short>::narrow(unsigned short,char)const  __ptr64
-?narrow@?$ctype@G@std@@QEBADGD@Z
-; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::narrow(unsigned short const * __ptr64,unsigned short const * __ptr64,char,char * __ptr64)const  __ptr64
-?narrow@?$ctype@G@std@@QEBAPEBGPEBG0DPEAD@Z
-; public: struct std::money_base::pattern  __cdecl std::_Mpunct<char>::neg_format(void)const  __ptr64
-?neg_format@?$_Mpunct@D@std@@QEBA?AUpattern@money_base@2@XZ
-; public: struct std::money_base::pattern  __cdecl std::_Mpunct<unsigned short>::neg_format(void)const  __ptr64
-?neg_format@?$_Mpunct@G@std@@QEBA?AUpattern@money_base@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::negative_sign(void)const  __ptr64
-?negative_sign@?$_Mpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::negative_sign(void)const  __ptr64
-?negative_sign@?$_Mpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; float __cdecl std::norm(class std::complex<float> const & __ptr64)
-?norm@std@@YAMAEBV?$complex@M@1@@Z
-; double __cdecl std::norm(class std::complex<double> const & __ptr64)
-?norm@std@@YANAEBV?$complex@N@1@@Z
-; long double __cdecl std::norm(class std::complex<long double> const & __ptr64)
-?norm@std@@YAOAEBV?$complex@O@1@@Z
-; public: static int __cdecl std::char_traits<char>::not_eof(int const & __ptr64)
-?not_eof@?$char_traits@D@std@@SAHAEBH@Z
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::not_eof(unsigned short const & __ptr64)
-?not_eof@?$char_traits@G@std@@SAGAEBG@Z
-; struct std::nothrow_t const  std::nothrow
-?nothrow@std@@3Unothrow_t@1@B
-; public: static unsigned __int64 const  std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::npos
-?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2_KB
-; public: static unsigned __int64 const  std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::npos
-?npos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@2_KB
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::open(char const * __ptr64,short) __ptr64
-?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDF@Z
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::open(char const * __ptr64,int) __ptr64
-?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDH@Z
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,short) __ptr64
-?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDF@Z
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,int) __ptr64
-?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDH@Z
-; public: void __cdecl std::basic_fstream<char,struct std::char_traits<char> >::open(char const * __ptr64,short) __ptr64
-?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z
-; public: void __cdecl std::basic_fstream<char,struct std::char_traits<char> >::open(char const * __ptr64,int) __ptr64
-?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z
-; public: void __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,short) __ptr64
-?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z
-; public: void __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,int) __ptr64
-?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z
-; public: void __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::open(char const * __ptr64,short) __ptr64
-?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z
-; public: void __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::open(char const * __ptr64,int) __ptr64
-?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z
-; public: void __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,short) __ptr64
-?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z
-; public: void __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,int) __ptr64
-?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z
-; public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::open(char const * __ptr64,short) __ptr64
-?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z
-; public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::open(char const * __ptr64,int) __ptr64
-?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z
-; public: void __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,short) __ptr64
-?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z
-; public: void __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,int) __ptr64
-?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z
-; public: int __cdecl std::messages<char>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::locale const & __ptr64)const  __ptr64
-?open@?$messages@D@std@@QEBAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEBVlocale@2@@Z
-; public: int __cdecl std::messages<unsigned short>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::locale const & __ptr64)const  __ptr64
-?open@?$messages@G@std@@QEBAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEBVlocale@2@@Z
-; public: bool __cdecl std::basic_ostream<char,struct std::char_traits<char> >::opfx(void) __ptr64
-?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ
-; public: bool __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::opfx(void) __ptr64
-?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA_NXZ
-; public: void __cdecl std::basic_ostream<char,struct std::char_traits<char> >::osfx(void) __ptr64
-?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::osfx(void) __ptr64
-?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: int __cdecl std::codecvt<char,char,int>::out(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
-?out@?$codecvt@DDH@std@@QEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z
-; public: int __cdecl std::codecvt<unsigned short,char,int>::out(int & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
-?out@?$codecvt@GDH@std@@QEBAHAEAHPEBG1AEAPEBGPEAD3AEAPEAD@Z
-; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::overflow(int) __ptr64
-?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z
-; protected: virtual unsigned short __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short) __ptr64
-?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z
-; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::overflow(int) __ptr64
-?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z
-; protected: virtual unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short) __ptr64
-?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z
-; protected: virtual int __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::overflow(int) __ptr64
-?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z
-; protected: virtual unsigned short __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::overflow(unsigned short) __ptr64
-?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z
-; protected: virtual int __cdecl std::strstreambuf::overflow(int) __ptr64
-?overflow@strstreambuf@std@@MEAAHH@Z
-; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::pbackfail(int) __ptr64
-?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z
-; protected: virtual unsigned short __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short) __ptr64
-?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z
-; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pbackfail(int) __ptr64
-?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z
-; protected: virtual unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short) __ptr64
-?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z
-; protected: virtual int __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::pbackfail(int) __ptr64
-?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z
-; protected: virtual unsigned short __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::pbackfail(unsigned short) __ptr64
-?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z
-; protected: virtual int __cdecl std::strstreambuf::pbackfail(int) __ptr64
-?pbackfail@strstreambuf@std@@MEAAHH@Z
-; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const  __ptr64
-?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
-; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbase(void)const  __ptr64
-?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
-; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pbump(int) __ptr64
-?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z
-; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbump(int) __ptr64
-?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z
-; public: int __cdecl std::basic_istream<char,struct std::char_traits<char> >::peek(void) __ptr64
-?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ
-; public: unsigned short __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::peek(void) __ptr64
-?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ
-; class std::complex<float>  __cdecl std::polar(float const & __ptr64,float const & __ptr64)
-?polar@std@@YA?AV?$complex@M@1@AEBM0@Z
-; class std::complex<float>  __cdecl std::polar(float const & __ptr64)
-?polar@std@@YA?AV?$complex@M@1@AEBM@Z
-; class std::complex<double>  __cdecl std::polar(double const & __ptr64,double const & __ptr64)
-?polar@std@@YA?AV?$complex@N@1@AEBN0@Z
-; class std::complex<double>  __cdecl std::polar(double const & __ptr64)
-?polar@std@@YA?AV?$complex@N@1@AEBN@Z
-; class std::complex<long double>  __cdecl std::polar(long double const & __ptr64,long double const & __ptr64)
-?polar@std@@YA?AV?$complex@O@1@AEBO0@Z
-; class std::complex<long double>  __cdecl std::polar(long double const & __ptr64)
-?polar@std@@YA?AV?$complex@O@1@AEBO@Z
-; public: struct std::money_base::pattern  __cdecl std::_Mpunct<char>::pos_format(void)const  __ptr64
-?pos_format@?$_Mpunct@D@std@@QEBA?AUpattern@money_base@2@XZ
-; public: struct std::money_base::pattern  __cdecl std::_Mpunct<unsigned short>::pos_format(void)const  __ptr64
-?pos_format@?$_Mpunct@G@std@@QEBA?AUpattern@money_base@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::positive_sign(void)const  __ptr64
-?positive_sign@?$_Mpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::positive_sign(void)const  __ptr64
-?positive_sign@?$_Mpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: static float __cdecl std::_Ctr<float>::pow(float,float)
-?pow@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::pow(double,double)
-?pow@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::pow(long double,long double)
-?pow@?$_Ctr@O@std@@SAOOO@Z
-; class std::complex<float>  __cdecl std::pow(float const & __ptr64,class std::complex<float> const & __ptr64)
-?pow@std@@YA?AV?$complex@M@1@AEBMAEBV21@@Z
-; class std::complex<float>  __cdecl std::pow(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
-?pow@std@@YA?AV?$complex@M@1@AEBV21@0@Z
-; class std::complex<float>  __cdecl std::pow(class std::complex<float> const & __ptr64,float const & __ptr64)
-?pow@std@@YA?AV?$complex@M@1@AEBV21@AEBM@Z
-; class std::complex<float>  __cdecl std::pow(class std::complex<float> const & __ptr64,int)
-?pow@std@@YA?AV?$complex@M@1@AEBV21@H@Z
-; class std::complex<double>  __cdecl std::pow(double const & __ptr64,class std::complex<double> const & __ptr64)
-?pow@std@@YA?AV?$complex@N@1@AEBNAEBV21@@Z
-; class std::complex<double>  __cdecl std::pow(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
-?pow@std@@YA?AV?$complex@N@1@AEBV21@0@Z
-; class std::complex<double>  __cdecl std::pow(class std::complex<double> const & __ptr64,double const & __ptr64)
-?pow@std@@YA?AV?$complex@N@1@AEBV21@AEBN@Z
-; class std::complex<double>  __cdecl std::pow(class std::complex<double> const & __ptr64,int)
-?pow@std@@YA?AV?$complex@N@1@AEBV21@H@Z
-; class std::complex<long double>  __cdecl std::pow(long double const & __ptr64,class std::complex<long double> const & __ptr64)
-?pow@std@@YA?AV?$complex@O@1@AEBOAEBV21@@Z
-; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
-?pow@std@@YA?AV?$complex@O@1@AEBV21@0@Z
-; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const & __ptr64,long double const & __ptr64)
-?pow@std@@YA?AV?$complex@O@1@AEBV21@AEBO@Z
-; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const & __ptr64,int)
-?pow@std@@YA?AV?$complex@O@1@AEBV21@H@Z
-; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const  __ptr64
-?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
-; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pptr(void)const  __ptr64
-?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
-; public: __int64 __cdecl std::ios_base::precision(int) __ptr64
-?precision@ios_base@std@@QEAA_JH@Z
-; public: __int64 __cdecl std::ios_base::precision(void)const  __ptr64
-?precision@ios_base@std@@QEBA_JXZ
-; public: class std::locale  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubimbue(class std::locale const & __ptr64) __ptr64
-?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z
-; public: class std::locale  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubimbue(class std::locale const & __ptr64) __ptr64
-?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z
-; public: class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(__int64,short,short) __ptr64
-?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JFF@Z
-; public: class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
-?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
-; public: class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(__int64,short,short) __ptr64
-?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JFF@Z
-; public: class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
-?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
-; public: class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,short) __ptr64
-?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@F@Z
-; public: class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,int) __ptr64
-?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z
-; public: class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,short) __ptr64
-?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@F@Z
-; public: class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,int) __ptr64
-?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubsetbuf(char * __ptr64,__int64) __ptr64
-?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsetbuf(unsigned short * __ptr64,__int64) __ptr64
-?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEAG_J@Z
-; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubsync(void) __ptr64
-?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
-; public: int __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsync(void) __ptr64
-?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::put(char) __ptr64
-?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::put(unsigned short) __ptr64
-?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
-?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@DAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,long double)const  __ptr64
-?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@DO@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
-?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@GAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,long double)const  __ptr64
-?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@GO@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,long)const  __ptr64
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DJ@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,unsigned long)const  __ptr64
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DK@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,double)const  __ptr64
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DN@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,long double)const  __ptr64
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DO@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,void const * __ptr64)const  __ptr64
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DPEBX@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,__int64)const  __ptr64
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_J@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,unsigned __int64)const  __ptr64
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_K@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,bool)const  __ptr64
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_N@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,long)const  __ptr64
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GJ@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,unsigned long)const  __ptr64
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GK@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,double)const  __ptr64
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GN@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,long double)const  __ptr64
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GO@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,void const * __ptr64)const  __ptr64
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GPEBX@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,__int64)const  __ptr64
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_J@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,unsigned __int64)const  __ptr64
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_K@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,bool)const  __ptr64
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_N@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char,char)const  __ptr64
-?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@PEBUtm@@DD@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
-?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@PEBUtm@@PEBD3@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char,char)const  __ptr64
-?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@PEBUtm@@DD@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,struct tm const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@PEBUtm@@PEBG3@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::putback(char) __ptr64
-?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::putback(unsigned short) __ptr64
-?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z
-; public: void * __ptr64 & __ptr64 __cdecl std::ios_base::pword(int) __ptr64
-?pword@ios_base@std@@QEAAAEAPEAXH@Z
-; public: static signed char __cdecl std::numeric_limits<signed char>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@_N@std@@SA_NXZ
-; public: class std::reverse_iterator<char * __ptr64,char,char & __ptr64,char * __ptr64,__int64>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void) __ptr64
-?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$reverse_iterator@PEADDAEADPEAD_J@2@XZ
-; public: class std::reverse_iterator<char const * __ptr64,char,char const & __ptr64,char const * __ptr64,__int64>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)const  __ptr64
-?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$reverse_iterator@PEBDDAEBDPEBD_J@2@XZ
-; public: class std::reverse_iterator<unsigned short * __ptr64,unsigned short,unsigned short & __ptr64,unsigned short * __ptr64,__int64>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void) __ptr64
-?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$reverse_iterator@PEAGGAEAGPEAG_J@2@XZ
-; public: class std::reverse_iterator<unsigned short const * __ptr64,unsigned short,unsigned short const & __ptr64,unsigned short const * __ptr64,__int64>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)const  __ptr64
-?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$reverse_iterator@PEBGGAEBGPEBG_J@2@XZ
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_fstream<char,struct std::char_traits<char> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::rdbuf(class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
-?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
-?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAV32@@Z
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __ptr64 __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __ptr64 __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __ptr64 __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __ptr64 __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __ptr64 __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __ptr64 __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const  __ptr64
-?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: int __cdecl std::ios_base::rdstate(void)const  __ptr64
-?rdstate@ios_base@std@@QEBAHXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::read(char * __ptr64,__int64) __ptr64
-?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::read(unsigned short * __ptr64,__int64) __ptr64
-?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z
-; public: __int64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::readsome(char * __ptr64,__int64) __ptr64
-?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z
-; public: __int64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::readsome(unsigned short * __ptr64,__int64) __ptr64
-?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z
-; public: float __cdecl std::_Complex_base<float>::real(float const & __ptr64) __ptr64
-?real@?$_Complex_base@M@std@@QEAAMAEBM@Z
-; public: float __cdecl std::_Complex_base<float>::real(void)const  __ptr64
-?real@?$_Complex_base@M@std@@QEBAMXZ
-; public: double __cdecl std::_Complex_base<double>::real(double const & __ptr64) __ptr64
-?real@?$_Complex_base@N@std@@QEAANAEBN@Z
-; public: double __cdecl std::_Complex_base<double>::real(void)const  __ptr64
-?real@?$_Complex_base@N@std@@QEBANXZ
-; public: long double __cdecl std::_Complex_base<long double>::real(long double const & __ptr64) __ptr64
-?real@?$_Complex_base@O@std@@QEAAOAEBO@Z
-; public: long double __cdecl std::_Complex_base<long double>::real(void)const  __ptr64
-?real@?$_Complex_base@O@std@@QEBAOXZ
-; float __cdecl std::real(class std::complex<float> const & __ptr64)
-?real@std@@YAMAEBV?$complex@M@1@@Z
-; double __cdecl std::real(class std::complex<double> const & __ptr64)
-?real@std@@YANAEBV?$complex@N@1@@Z
-; long double __cdecl std::real(class std::complex<long double> const & __ptr64)
-?real@std@@YAOAEBV?$complex@O@1@@Z
-; public: void __cdecl std::ios_base::register_callback(void (__cdecl*)(enum std::ios_base::event,class std::ios_base & __ptr64,int),int) __ptr64
-?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z
-; public: class std::reverse_iterator<char * __ptr64,char,char & __ptr64,char * __ptr64,__int64>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void) __ptr64
-?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$reverse_iterator@PEADDAEADPEAD_J@2@XZ
-; public: class std::reverse_iterator<char const * __ptr64,char,char const & __ptr64,char const * __ptr64,__int64>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)const  __ptr64
-?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$reverse_iterator@PEBDDAEBDPEBD_J@2@XZ
-; public: class std::reverse_iterator<unsigned short * __ptr64,unsigned short,unsigned short & __ptr64,unsigned short * __ptr64,__int64>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void) __ptr64
-?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$reverse_iterator@PEAGGAEAGPEAG_J@2@XZ
-; public: class std::reverse_iterator<unsigned short const * __ptr64,unsigned short,unsigned short const & __ptr64,unsigned short const * __ptr64,__int64>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)const  __ptr64
-?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$reverse_iterator@PEBGGAEBGPEBG_J@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0AEBV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0PEBD1@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,char const * __ptr64) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0PEBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,char const * __ptr64,unsigned __int64) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0PEBD_K@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,unsigned __int64,char) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0_KD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,unsigned __int64,char) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K00D@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0AEBV12@00@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0AEBV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,char const * __ptr64,unsigned __int64) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0PEBD0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,char const * __ptr64) __ptr64
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0PEBD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0AEBV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0PEBG1@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0PEBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short const * __ptr64,unsigned __int64) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0PEBG_K@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,unsigned __int64,unsigned short) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0_KG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,unsigned __int64,unsigned short) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K00G@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0AEBV12@00@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0AEBV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,unsigned short const * __ptr64,unsigned __int64) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0PEBG0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,unsigned short const * __ptr64) __ptr64
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0PEBG@Z
-; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::reserve(unsigned __int64) __ptr64
-?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAX_K@Z
-; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::reserve(unsigned __int64) __ptr64
-?reserve@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAX_K@Z
-; struct std::_Smanip<int>  __cdecl std::resetiosflags(int)
-?resetiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
-; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned __int64) __ptr64
-?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAX_K@Z
-; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned __int64,char) __ptr64
-?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAX_KD@Z
-; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned __int64) __ptr64
-?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAX_K@Z
-; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned __int64,unsigned short) __ptr64
-?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAX_KG@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char,unsigned __int64)const  __ptr64
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const * __ptr64,unsigned __int64)const  __ptr64
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short,unsigned __int64)const  __ptr64
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
-; public: static signed char __cdecl std::numeric_limits<signed char>::round_error(void)
-?round_error@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::round_error(void)
-?round_error@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::round_error(void)
-?round_error@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::round_error(void)
-?round_error@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::round_error(void)
-?round_error@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::round_error(void)
-?round_error@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::round_error(void)
-?round_error@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::round_error(void)
-?round_error@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::round_error(void)
-?round_error@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::round_error(void)
-?round_error@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::round_error(void)
-?round_error@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::round_error(void)
-?round_error@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::round_error(void)
-?round_error@?$numeric_limits@_N@std@@SA_NXZ
-; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sbumpc(void) __ptr64
-?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
-; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sbumpc(void) __ptr64
-?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
-; public: char const * __ptr64 __cdecl std::ctype<char>::scan_is(short,char const * __ptr64,char const * __ptr64)const  __ptr64
-?scan_is@?$ctype@D@std@@QEBAPEBDFPEBD0@Z
-; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::scan_is(short,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?scan_is@?$ctype@G@std@@QEBAPEBGFPEBG0@Z
-; public: char const * __ptr64 __cdecl std::ctype<char>::scan_not(short,char const * __ptr64,char const * __ptr64)const  __ptr64
-?scan_not@?$ctype@D@std@@QEBAPEBDFPEBD0@Z
-; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::scan_not(short,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?scan_not@?$ctype@G@std@@QEBAPEBGFPEBG0@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::seekg(class std::fpos<int>) __ptr64
-?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::seekg(__int64,enum std::ios_base::seekdir) __ptr64
-?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(class std::fpos<int>) __ptr64
-?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(__int64,enum std::ios_base::seekdir) __ptr64
-?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
-?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
-?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
-?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
-?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
-?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
-?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::strstreambuf::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
-?seekoff@strstreambuf@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::seekp(class std::fpos<int>) __ptr64
-?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::seekp(__int64,enum std::ios_base::seekdir) __ptr64
-?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(class std::fpos<int>) __ptr64
-?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(__int64,enum std::ios_base::seekdir) __ptr64
-?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int) __ptr64
-?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int) __ptr64
-?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int) __ptr64
-?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int) __ptr64
-?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekpos(class std::fpos<int>,int) __ptr64
-?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekpos(class std::fpos<int>,int) __ptr64
-?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __cdecl std::strstreambuf::seekpos(class std::fpos<int>,int) __ptr64
-?seekpos@strstreambuf@std@@MEAA?AV?$fpos@H@2@V32@H@Z
-; struct std::_Smanip<int>  __cdecl std::setbase(int)
-?setbase@std@@YA?AU?$_Smanip@H@1@H@Z
-; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::setbuf(char * __ptr64,__int64) __ptr64
-?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAD_J@Z
-; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short * __ptr64,__int64) __ptr64
-?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAG_J@Z
-; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setbuf(char * __ptr64,__int64) __ptr64
-?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z
-; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short * __ptr64,__int64) __ptr64
-?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z
-; public: int __cdecl std::ios_base::setf(int) __ptr64
-?setf@ios_base@std@@QEAAHH@Z
-; public: int __cdecl std::ios_base::setf(int,int) __ptr64
-?setf@ios_base@std@@QEAAHHH@Z
-; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setg(char * __ptr64,char * __ptr64,char * __ptr64) __ptr64
-?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z
-; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setg(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z
-; struct std::_Smanip<int>  __cdecl std::setiosflags(int)
-?setiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
-; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setp(char * __ptr64,char * __ptr64,char * __ptr64) __ptr64
-?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z
-; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setp(char * __ptr64,char * __ptr64) __ptr64
-?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z
-; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z
-; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG0@Z
-; struct std::_Smanip<__int64>  __cdecl std::setprecision(__int64)
-?setprecision@std@@YA?AU?$_Smanip@_J@1@_J@Z
-; public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::setstate(short) __ptr64
-?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXF@Z
-; public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool) __ptr64
-?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
-; public: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(short) __ptr64
-?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXF@Z
-; public: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(int,bool) __ptr64
-?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z
-; public: void __cdecl std::ios_base::setstate(short) __ptr64
-?setstate@ios_base@std@@QEAAXF@Z
-; public: void __cdecl std::ios_base::setstate(int,bool) __ptr64
-?setstate@ios_base@std@@QEAAXH_N@Z
-; struct std::_Smanip<__int64>  __cdecl std::setw(__int64)
-?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z
-; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sgetc(void) __ptr64
-?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
-; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetc(void) __ptr64
-?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
-; public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sgetn(char * __ptr64,__int64) __ptr64
-?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z
-; public: __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetn(unsigned short * __ptr64,__int64) __ptr64
-?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z
-; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::showmanyc(void) __ptr64
-?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
-; protected: virtual int __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::showmanyc(void) __ptr64
-?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@_N@std@@SA_NXZ
-; public: static float __cdecl std::_Ctr<float>::sin(float)
-?sin@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::sin(double)
-?sin@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::sin(long double)
-?sin@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::sin(class std::complex<float> const & __ptr64)
-?sin@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; class std::complex<double>  __cdecl std::sin(class std::complex<double> const & __ptr64)
-?sin@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; class std::complex<long double>  __cdecl std::sin(class std::complex<long double> const & __ptr64)
-?sin@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; class std::complex<float>  __cdecl std::sinh(class std::complex<float> const & __ptr64)
-?sinh@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; class std::complex<double>  __cdecl std::sinh(class std::complex<double> const & __ptr64)
-?sinh@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; class std::complex<long double>  __cdecl std::sinh(class std::complex<long double> const & __ptr64)
-?sinh@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const  __ptr64
-?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ
-; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::size(void)const  __ptr64
-?size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ
-; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::snextc(void) __ptr64
-?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
-; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::snextc(void) __ptr64
-?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
-; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputbackc(char) __ptr64
-?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
-; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputbackc(unsigned short) __ptr64
-?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z
-; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char) __ptr64
-?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
-; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputc(unsigned short) __ptr64
-?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z
-; public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const * __ptr64,__int64) __ptr64
-?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z
-; public: __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputn(unsigned short const * __ptr64,__int64) __ptr64
-?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEBG_J@Z
-; public: static float __cdecl std::_Ctr<float>::sqrt(float)
-?sqrt@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::sqrt(double)
-?sqrt@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::sqrt(long double)
-?sqrt@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::sqrt(class std::complex<float> const & __ptr64)
-?sqrt@std@@YA?AV?$complex@M@1@AEBV21@@Z
-; class std::complex<double>  __cdecl std::sqrt(class std::complex<double> const & __ptr64)
-?sqrt@std@@YA?AV?$complex@N@1@AEBV21@@Z
-; class std::complex<long double>  __cdecl std::sqrt(class std::complex<long double> const & __ptr64)
-?sqrt@std@@YA?AV?$complex@O@1@AEBV21@@Z
-; public: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::stossc(void) __ptr64
-?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::stossc(void) __ptr64
-?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ
-; public: void __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const  __ptr64
-?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const  __ptr64
-?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: void __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const  __ptr64
-?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const  __ptr64
-?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: void __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const  __ptr64
-?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const  __ptr64
-?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: void __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
-?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const  __ptr64
-?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const  __ptr64
-?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::substr(unsigned __int64,unsigned __int64)const  __ptr64
-?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV12@_K0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::substr(unsigned __int64,unsigned __int64)const  __ptr64
-?substr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV12@_K0@Z
-; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sungetc(void) __ptr64
-?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
-; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sungetc(void) __ptr64
-?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
-; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::swap(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64) __ptr64
-?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::swap(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64) __ptr64
-?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEAV12@@Z
-; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::sync(void) __ptr64
-?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
-; protected: virtual int __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void) __ptr64
-?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAHXZ
-; public: int __cdecl std::basic_istream<char,struct std::char_traits<char> >::sync(void) __ptr64
-?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ
-; public: int __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::sync(void) __ptr64
-?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAHXZ
-; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sync(void) __ptr64
-?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
-; protected: virtual int __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void) __ptr64
-?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ
-; public: static bool __cdecl std::ios_base::sync_with_stdio(bool)
-?sync_with_stdio@ios_base@std@@SA_N_N@Z
-; protected: short const * __ptr64 __cdecl std::ctype<char>::table(void)const  __ptr64
-?table@?$ctype@D@std@@IEBAPEBFXZ
-; public: static unsigned __int64 const  std::ctype<char>::table_size
-?table_size@?$ctype@D@std@@2_KB
-; public: class std::fpos<int>  __cdecl std::basic_istream<char,struct std::char_traits<char> >::tellg(void) __ptr64
-?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ
-; public: class std::fpos<int>  __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::tellg(void) __ptr64
-?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ
-; public: class std::fpos<int>  __cdecl std::basic_ostream<char,struct std::char_traits<char> >::tellp(void) __ptr64
-?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ
-; public: class std::fpos<int>  __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::tellp(void) __ptr64
-?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ
-; public: char __cdecl std::_Mpunct<char>::thousands_sep(void)const  __ptr64
-?thousands_sep@?$_Mpunct@D@std@@QEBADXZ
-; public: unsigned short __cdecl std::_Mpunct<unsigned short>::thousands_sep(void)const  __ptr64
-?thousands_sep@?$_Mpunct@G@std@@QEBAGXZ
-; public: char __cdecl std::numpunct<char>::thousands_sep(void)const  __ptr64
-?thousands_sep@?$numpunct@D@std@@QEBADXZ
-; public: unsigned short __cdecl std::numpunct<unsigned short>::thousands_sep(void)const  __ptr64
-?thousands_sep@?$numpunct@G@std@@QEBAGXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::tie(class std::basic_ostream<char,struct std::char_traits<char> > * __ptr64) __ptr64
-?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::tie(void)const  __ptr64
-?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
-?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@PEAV32@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(void)const  __ptr64
-?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ
-; public: static char __cdecl std::char_traits<char>::to_char_type(int const & __ptr64)
-?to_char_type@?$char_traits@D@std@@SADAEBH@Z
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_char_type(unsigned short const & __ptr64)
-?to_char_type@?$char_traits@G@std@@SAGAEBG@Z
-; public: static int __cdecl std::char_traits<char>::to_int_type(char const & __ptr64)
-?to_int_type@?$char_traits@D@std@@SAHAEBD@Z
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_int_type(unsigned short const & __ptr64)
-?to_int_type@?$char_traits@G@std@@SAGAEBG@Z
-; public: char __cdecl std::ctype<char>::tolower(char)const  __ptr64
-?tolower@?$ctype@D@std@@QEBADD@Z
-; public: char const * __ptr64 __cdecl std::ctype<char>::tolower(char * __ptr64,char const * __ptr64)const  __ptr64
-?tolower@?$ctype@D@std@@QEBAPEBDPEADPEBD@Z
-; public: unsigned short __cdecl std::ctype<unsigned short>::tolower(unsigned short)const  __ptr64
-?tolower@?$ctype@G@std@@QEBAGG@Z
-; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::tolower(unsigned short * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?tolower@?$ctype@G@std@@QEBAPEBGPEAGPEBG@Z
-; public: char __cdecl std::ctype<char>::toupper(char)const  __ptr64
-?toupper@?$ctype@D@std@@QEBADD@Z
-; public: char const * __ptr64 __cdecl std::ctype<char>::toupper(char * __ptr64,char const * __ptr64)const  __ptr64
-?toupper@?$ctype@D@std@@QEBAPEBDPEADPEBD@Z
-; public: unsigned short __cdecl std::ctype<unsigned short>::toupper(unsigned short)const  __ptr64
-?toupper@?$ctype@G@std@@QEBAGG@Z
-; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::toupper(unsigned short * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?toupper@?$ctype@G@std@@QEBAPEBGPEAGPEBG@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::collate<char>::transform(char const * __ptr64,char const * __ptr64)const  __ptr64
-?transform@?$collate@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PEBD0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::collate<unsigned short>::transform(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?transform@?$collate@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PEBG0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::truename(void)const  __ptr64
-?truename@?$numpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::numpunct<unsigned short>::truename(void)const  __ptr64
-?truename@?$numpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::uflow(void) __ptr64
-?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
-; protected: virtual unsigned short __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void) __ptr64
-?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ
-; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::uflow(void) __ptr64
-?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
-; protected: virtual unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void) __ptr64
-?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ
-; bool __cdecl std::uncaught_exception(void)
-?uncaught_exception@std@@YA_NXZ
-; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::underflow(void) __ptr64
-?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
-; protected: virtual unsigned short __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void) __ptr64
-?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ
-; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::underflow(void) __ptr64
-?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
-; protected: virtual unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void) __ptr64
-?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ
-; protected: virtual int __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::underflow(void) __ptr64
-?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHXZ
-; protected: virtual unsigned short __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::underflow(void) __ptr64
-?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGXZ
-; protected: virtual int __cdecl std::strstreambuf::underflow(void) __ptr64
-?underflow@strstreambuf@std@@MEAAHXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::unget(void) __ptr64
-?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::unget(void) __ptr64
-?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ
-; public: void __cdecl std::ios_base::unsetf(int) __ptr64
-?unsetf@ios_base@std@@QEAAXH@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcerr
-?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >  std::wcin
-?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A DATA
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wclog
-?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcout
-?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
-; public: virtual char const * __ptr64 __cdecl std::logic_error::what(void)const  __ptr64
-?what@logic_error@std@@UEBAPEBDXZ
-; public: virtual char const * __ptr64 __cdecl std::runtime_error::what(void)const  __ptr64
-?what@runtime_error@std@@UEBAPEBDXZ
-; public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::widen(char)const  __ptr64
-?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z
-; public: unsigned short __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::widen(char)const  __ptr64
-?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGD@Z
-; public: char __cdecl std::ctype<char>::widen(char)const  __ptr64
-?widen@?$ctype@D@std@@QEBADD@Z
-; public: char const * __ptr64 __cdecl std::ctype<char>::widen(char const * __ptr64,char const * __ptr64,char * __ptr64)const  __ptr64
-?widen@?$ctype@D@std@@QEBAPEBDPEBD0PEAD@Z
-; public: unsigned short __cdecl std::ctype<unsigned short>::widen(char)const  __ptr64
-?widen@?$ctype@G@std@@QEBAGD@Z
-; public: char const * __ptr64 __cdecl std::ctype<unsigned short>::widen(char const * __ptr64,char const * __ptr64,unsigned short * __ptr64)const  __ptr64
-?widen@?$ctype@G@std@@QEBAPEBDPEBD0PEAG@Z
-; public: __int64 __cdecl std::ios_base::width(__int64) __ptr64
-?width@ios_base@std@@QEAA_J_J@Z
-; public: __int64 __cdecl std::ios_base::width(void)const  __ptr64
-?width@ios_base@std@@QEBA_JXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::write(char const * __ptr64,__int64) __ptr64
-?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::write(unsigned short const * __ptr64,__int64) __ptr64
-?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEBG_J@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::ws(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64)
-?ws@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::ws(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)
-?ws@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@@Z
-; public: static int __cdecl std::ios_base::xalloc(void)
-?xalloc@ios_base@std@@SAHXZ
-; protected: virtual __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::xsgetn(char * __ptr64,__int64) __ptr64
-?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z
-; protected: virtual __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsgetn(unsigned short * __ptr64,__int64) __ptr64
-?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z
-; protected: virtual __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::xsputn(char const * __ptr64,__int64) __ptr64
-?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z
-; protected: virtual __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsputn(unsigned short const * __ptr64,__int64) __ptr64
-?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z
-_Cosh
-_Denorm
-_Dnorm
-_Dscale
-_Dtest
-_Eps
-_Exp
-_FCosh
-_FDenorm
-_FDnorm
-_FDscale
-_FDtest
-_FEps
-_FExp
-_FInf
-_FNan
-_FRteps
-_FSinh
-_FSnan
-_FXbig
-_Getcoll
-_Getctype
-_Getcvt
-_Hugeval
-_Inf
-_LCosh
-_LDenorm
-_LDscale
-_LDtest
-_LEps
-_LExp
-_LInf
-_LNan
-_LPoly
-_LRteps
-_LSinh
-_LSnan
-_LXbig
-_Mbrtowc
-_Nan
-_Poly
-_Rteps
-_Sinh
-_Snan
-_Stod
-_Stof
-_Stold
-_Strcoll
-_Strxfrm
-_Tolower
-_Toupper
-_Wcrtomb
-_Wcscoll
-_Wcsxfrm
-_Xbig
-__Wcrtomb_lk
-btowc
-mbrlen
-mbrtowc
-mbsrtowcs
-towctrans
-wcrtomb
-wcsrtombs
-wctob
-wctrans
-wctype
+; 
+; Exports of file msvcp60.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msvcp60.dll
+EXPORTS
+; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z
+; D@std::?$?5DU?$char_traits(M@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@M@0@@Z)
+??$?5DU?$char_traits@D@std@@M@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@M@0@@Z
+; D@std::?$?5DU?$char_traits(N@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@N@0@@Z)
+??$?5DU?$char_traits@D@std@@N@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@N@0@@Z
+; D@std::?$?5DU?$char_traits(O@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@O@0@@Z)
+??$?5DU?$char_traits@D@std@@O@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@O@0@@Z
+; D@std::?$?5DU?$char_traits(V?$allocator@D@1@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?5DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?5GU?$char_traits(@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z)
+??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z
+; G@std::?$?5GU?$char_traits(@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAF@Z)
+??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAF@Z
+; G@std::?$?5GU?$char_traits(@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z)
+??$?5GU?$char_traits@G@std@@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z
+; G@std::?$?5GU?$char_traits(M@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@M@0@@Z)
+??$?5GU?$char_traits@G@std@@M@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@M@0@@Z
+; G@std::?$?5GU?$char_traits(N@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@N@0@@Z)
+??$?5GU?$char_traits@G@std@@N@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@N@0@@Z
+; G@std::?$?5GU?$char_traits(O@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@O@0@@Z)
+??$?5GU?$char_traits@G@std@@O@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@O@0@@Z
+; G@std::?$?5GU?$char_traits(V?$allocator@G@1@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?5GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z
+; D@std::?$?6DU?$char_traits(M@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@M@0@@Z)
+??$?6DU?$char_traits@D@std@@M@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@M@0@@Z
+; D@std::?$?6DU?$char_traits(N@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@N@0@@Z)
+??$?6DU?$char_traits@D@std@@N@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@N@0@@Z
+; D@std::?$?6DU?$char_traits(O@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@O@0@@Z)
+??$?6DU?$char_traits@D@std@@O@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@O@0@@Z
+; D@std::?$?6DU?$char_traits(V?$allocator@D@1@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?6GU?$char_traits(@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z)
+??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z
+; G@std::?$?6GU?$char_traits(@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBF@Z)
+??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBF@Z
+; G@std::?$?6GU?$char_traits(@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z)
+??$?6GU?$char_traits@G@std@@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z
+; G@std::?$?6GU?$char_traits(M@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@M@0@@Z)
+??$?6GU?$char_traits@G@std@@M@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@M@0@@Z
+; G@std::?$?6GU?$char_traits(N@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@N@0@@Z)
+??$?6GU?$char_traits@G@std@@N@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@N@0@@Z
+; G@std::?$?6GU?$char_traits(O@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@O@0@@Z)
+??$?6GU?$char_traits@G@std@@O@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@O@0@@Z
+; G@std::?$?6GU?$char_traits(V?$allocator@G@1@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?6GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
+??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
+??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; std::?$?8M(YA_NAEBMAEBV?$complex@M@0@@Z)
+??$?8M@std@@YA_NAEBMAEBV?$complex@M@0@@Z
+; std::?$?8M(YA_NAEBV?$complex@M@0@0@Z)
+??$?8M@std@@YA_NAEBV?$complex@M@0@0@Z
+; std::?$?8M(YA_NAEBV?$complex@M@0@AEBM@Z)
+??$?8M@std@@YA_NAEBV?$complex@M@0@AEBM@Z
+; std::?$?8N(YA_NAEBNAEBV?$complex@N@0@@Z)
+??$?8N@std@@YA_NAEBNAEBV?$complex@N@0@@Z
+; std::?$?8N(YA_NAEBV?$complex@N@0@0@Z)
+??$?8N@std@@YA_NAEBV?$complex@N@0@0@Z
+; std::?$?8N(YA_NAEBV?$complex@N@0@AEBN@Z)
+??$?8N@std@@YA_NAEBV?$complex@N@0@AEBN@Z
+; std::?$?8O(YA_NAEBOAEBV?$complex@O@0@@Z)
+??$?8O@std@@YA_NAEBOAEBV?$complex@O@0@@Z
+; std::?$?8O(YA_NAEBV?$complex@O@0@0@Z)
+??$?8O@std@@YA_NAEBV?$complex@O@0@0@Z
+; std::?$?8O(YA_NAEBV?$complex@O@0@AEBO@Z)
+??$?8O@std@@YA_NAEBV?$complex@O@0@AEBO@Z
+; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
+??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
+??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; std::?$?9M(YA_NAEBMAEBV?$complex@M@0@@Z)
+??$?9M@std@@YA_NAEBMAEBV?$complex@M@0@@Z
+; std::?$?9M(YA_NAEBV?$complex@M@0@0@Z)
+??$?9M@std@@YA_NAEBV?$complex@M@0@0@Z
+; std::?$?9M(YA_NAEBV?$complex@M@0@AEBM@Z)
+??$?9M@std@@YA_NAEBV?$complex@M@0@AEBM@Z
+; std::?$?9N(YA_NAEBNAEBV?$complex@N@0@@Z)
+??$?9N@std@@YA_NAEBNAEBV?$complex@N@0@@Z
+; std::?$?9N(YA_NAEBV?$complex@N@0@0@Z)
+??$?9N@std@@YA_NAEBV?$complex@N@0@0@Z
+; std::?$?9N(YA_NAEBV?$complex@N@0@AEBN@Z)
+??$?9N@std@@YA_NAEBV?$complex@N@0@AEBN@Z
+; std::?$?9O(YA_NAEBOAEBV?$complex@O@0@@Z)
+??$?9O@std@@YA_NAEBOAEBV?$complex@O@0@@Z
+; std::?$?9O(YA_NAEBV?$complex@O@0@0@Z)
+??$?9O@std@@YA_NAEBV?$complex@O@0@0@Z
+; std::?$?9O(YA_NAEBV?$complex@O@0@AEBO@Z)
+??$?9O@std@@YA_NAEBV?$complex@O@0@AEBO@Z
+; std::?$?DM(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
+??$?DM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
+; std::?$?DM(YA?AV?$complex@M@0@AEBV10@0@Z)
+??$?DM@std@@YA?AV?$complex@M@0@AEBV10@0@Z
+; std::?$?DM(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
+??$?DM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
+; std::?$?DN(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
+??$?DN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
+; std::?$?DN(YA?AV?$complex@N@0@AEBV10@0@Z)
+??$?DN@std@@YA?AV?$complex@N@0@AEBV10@0@Z
+; std::?$?DN(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
+??$?DN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
+; std::?$?DO(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
+??$?DO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
+; std::?$?DO(YA?AV?$complex@O@0@AEBV10@0@Z)
+??$?DO@std@@YA?AV?$complex@O@0@AEBV10@0@Z
+; std::?$?DO(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
+??$?DO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
+; std::?$?GM(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
+??$?GM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
+; std::?$?GM(YA?AV?$complex@M@0@AEBV10@0@Z)
+??$?GM@std@@YA?AV?$complex@M@0@AEBV10@0@Z
+; std::?$?GM(YA?AV?$complex@M@0@AEBV10@@Z)
+??$?GM@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; std::?$?GM(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
+??$?GM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
+; std::?$?GN(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
+??$?GN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
+; std::?$?GN(YA?AV?$complex@N@0@AEBV10@0@Z)
+??$?GN@std@@YA?AV?$complex@N@0@AEBV10@0@Z
+; std::?$?GN(YA?AV?$complex@N@0@AEBV10@@Z)
+??$?GN@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; std::?$?GN(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
+??$?GN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
+; std::?$?GO(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
+??$?GO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
+; std::?$?GO(YA?AV?$complex@O@0@AEBV10@0@Z)
+??$?GO@std@@YA?AV?$complex@O@0@AEBV10@0@Z
+; std::?$?GO(YA?AV?$complex@O@0@AEBV10@@Z)
+??$?GO@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; std::?$?GO(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
+??$?GO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@0@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@0@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@D@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@D@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@PEBD@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@PEBD@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DAEBV10@@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DAEBV10@@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBDAEBV10@@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBDAEBV10@@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@0@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@0@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@G@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@G@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@PEBG@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@PEBG@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GAEBV10@@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GAEBV10@@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBGAEBV10@@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBGAEBV10@@Z
+; std::?$?HM(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
+??$?HM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
+; std::?$?HM(YA?AV?$complex@M@0@AEBV10@0@Z)
+??$?HM@std@@YA?AV?$complex@M@0@AEBV10@0@Z
+; std::?$?HM(YA?AV?$complex@M@0@AEBV10@@Z)
+??$?HM@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; std::?$?HM(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
+??$?HM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
+; std::?$?HN(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
+??$?HN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
+; std::?$?HN(YA?AV?$complex@N@0@AEBV10@0@Z)
+??$?HN@std@@YA?AV?$complex@N@0@AEBV10@0@Z
+; std::?$?HN(YA?AV?$complex@N@0@AEBV10@@Z)
+??$?HN@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; std::?$?HN(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
+??$?HN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
+; std::?$?HO(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
+??$?HO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
+; std::?$?HO(YA?AV?$complex@O@0@AEBV10@0@Z)
+??$?HO@std@@YA?AV?$complex@O@0@AEBV10@0@Z
+; std::?$?HO(YA?AV?$complex@O@0@AEBV10@@Z)
+??$?HO@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; std::?$?HO(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
+??$?HO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
+; std::?$?KM(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
+??$?KM@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
+; std::?$?KM(YA?AV?$complex@M@0@AEBV10@0@Z)
+??$?KM@std@@YA?AV?$complex@M@0@AEBV10@0@Z
+; std::?$?KM(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
+??$?KM@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
+; std::?$?KN(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
+??$?KN@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
+; std::?$?KN(YA?AV?$complex@N@0@AEBV10@0@Z)
+??$?KN@std@@YA?AV?$complex@N@0@AEBV10@0@Z
+; std::?$?KN(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
+??$?KN@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
+; std::?$?KO(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
+??$?KO@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
+; std::?$?KO(YA?AV?$complex@O@0@AEBV10@0@Z)
+??$?KO@std@@YA?AV?$complex@O@0@AEBV10@0@Z
+; std::?$?KO(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
+??$?KO@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
+; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
+??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
+??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
+??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
+??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
+??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
+??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z)
+??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z)
+??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; std::?$?XMM(YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z)
+??$?XMM@std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
+; std::?$?XNN(YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z)
+??$?XNN@std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
+; std::?$?XOO(YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z)
+??$?XOO@std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
+; std::?$?YMM(YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z)
+??$?YMM@std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
+; std::?$?YNN(YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z)
+??$?YNN@std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
+; std::?$?YOO(YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z)
+??$?YOO@std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
+; std::?$?ZMM(YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z)
+??$?ZMM@std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
+; std::?$?ZNN(YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z)
+??$?ZNN@std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
+; std::?$?ZOO(YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z)
+??$?ZOO@std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
+; std::?$?_0MM(YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z)
+??$?_0MM@std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
+; std::?$?_0NN(YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z)
+??$?_0NN@std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
+; std::?$?_0OO(YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z)
+??$?_0OO@std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
+; M@std::?$_Fabs(YAMAEBV?$complex@M@0@PEAH@Z)
+??$_Fabs@M@std@@YAMAEBV?$complex@M@0@PEAH@Z
+; M@std::?$_Fabs(YAMAEBV?$complex@M@1@PEAH@Z)
+??$_Fabs@M@std@@YAMAEBV?$complex@M@1@PEAH@Z
+; N@std::?$_Fabs(YANAEBV?$complex@N@0@PEAH@Z)
+??$_Fabs@N@std@@YANAEBV?$complex@N@0@PEAH@Z
+; N@std::?$_Fabs(YANAEBV?$complex@N@1@PEAH@Z)
+??$_Fabs@N@std@@YANAEBV?$complex@N@1@PEAH@Z
+; O@std::?$_Fabs(YAOAEBV?$complex@O@0@PEAH@Z)
+??$_Fabs@O@std@@YAOAEBV?$complex@O@0@PEAH@Z
+; O@std::?$_Fabs(YAOAEBV?$complex@O@1@PEAH@Z)
+??$_Fabs@O@std@@YAOAEBV?$complex@O@1@PEAH@Z
+; M@std::?$abs(YAMAEBV?$complex@M@0@@Z)
+??$abs@M@std@@YAMAEBV?$complex@M@0@@Z
+; M@std::?$abs(YAMAEBV?$complex@M@1@@Z)
+??$abs@M@std@@YAMAEBV?$complex@M@1@@Z
+; N@std::?$abs(YANAEBV?$complex@N@0@@Z)
+??$abs@N@std@@YANAEBV?$complex@N@0@@Z
+; N@std::?$abs(YANAEBV?$complex@N@1@@Z)
+??$abs@N@std@@YANAEBV?$complex@N@1@@Z
+; O@std::?$abs(YAOAEBV?$complex@O@0@@Z)
+??$abs@O@std@@YAOAEBV?$complex@O@0@@Z
+; O@std::?$abs(YAOAEBV?$complex@O@1@@Z)
+??$abs@O@std@@YAOAEBV?$complex@O@1@@Z
+; M@std::?$arg(YAMAEBV?$complex@M@0@@Z)
+??$arg@M@std@@YAMAEBV?$complex@M@0@@Z
+; M@std::?$arg(YAMAEBV?$complex@M@1@@Z)
+??$arg@M@std@@YAMAEBV?$complex@M@1@@Z
+; N@std::?$arg(YANAEBV?$complex@N@0@@Z)
+??$arg@N@std@@YANAEBV?$complex@N@0@@Z
+; N@std::?$arg(YANAEBV?$complex@N@1@@Z)
+??$arg@N@std@@YANAEBV?$complex@N@1@@Z
+; O@std::?$arg(YAOAEBV?$complex@O@0@@Z)
+??$arg@O@std@@YAOAEBV?$complex@O@0@@Z
+; O@std::?$arg(YAOAEBV?$complex@O@1@@Z)
+??$arg@O@std@@YAOAEBV?$complex@O@1@@Z
+; M@std::?$conj(YA?AV?$complex@M@0@AEBV10@@Z)
+??$conj@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; M@std::?$conj(YA?AV?$complex@M@1@AEBV21@@Z)
+??$conj@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; N@std::?$conj(YA?AV?$complex@N@0@AEBV10@@Z)
+??$conj@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; N@std::?$conj(YA?AV?$complex@N@1@AEBV21@@Z)
+??$conj@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; O@std::?$conj(YA?AV?$complex@O@0@AEBV10@@Z)
+??$conj@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; O@std::?$conj(YA?AV?$complex@O@1@AEBV21@@Z)
+??$conj@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; M@std::?$cos(YA?AV?$complex@M@0@AEBV10@@Z)
+??$cos@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; M@std::?$cos(YA?AV?$complex@M@1@AEBV21@@Z)
+??$cos@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; N@std::?$cos(YA?AV?$complex@N@0@AEBV10@@Z)
+??$cos@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; N@std::?$cos(YA?AV?$complex@N@1@AEBV21@@Z)
+??$cos@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; O@std::?$cos(YA?AV?$complex@O@0@AEBV10@@Z)
+??$cos@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; O@std::?$cos(YA?AV?$complex@O@1@AEBV21@@Z)
+??$cos@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; M@std::?$cosh(YA?AV?$complex@M@0@AEBV10@@Z)
+??$cosh@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; M@std::?$cosh(YA?AV?$complex@M@1@AEBV21@@Z)
+??$cosh@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; N@std::?$cosh(YA?AV?$complex@N@0@AEBV10@@Z)
+??$cosh@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; N@std::?$cosh(YA?AV?$complex@N@1@AEBV21@@Z)
+??$cosh@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; O@std::?$cosh(YA?AV?$complex@O@0@AEBV10@@Z)
+??$cosh@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; O@std::?$cosh(YA?AV?$complex@O@1@AEBV21@@Z)
+??$cosh@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; M@std::?$exp(YA?AV?$complex@M@0@AEBV10@@Z)
+??$exp@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; M@std::?$exp(YA?AV?$complex@M@1@AEBV21@@Z)
+??$exp@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; N@std::?$exp(YA?AV?$complex@N@0@AEBV10@@Z)
+??$exp@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; N@std::?$exp(YA?AV?$complex@N@1@AEBV21@@Z)
+??$exp@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; O@std::?$exp(YA?AV?$complex@O@0@AEBV10@@Z)
+??$exp@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; O@std::?$exp(YA?AV?$complex@O@1@AEBV21@@Z)
+??$exp@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z)
+??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z
+; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z)
+??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z)
+??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z
+; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z)
+??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z
+; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z)
+??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z
+; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z)
+??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z
+; M@std::?$imag(YAMAEBV?$complex@M@0@@Z)
+??$imag@M@std@@YAMAEBV?$complex@M@0@@Z
+; M@std::?$imag(YAMAEBV?$complex@M@1@@Z)
+??$imag@M@std@@YAMAEBV?$complex@M@1@@Z
+; N@std::?$imag(YANAEBV?$complex@N@0@@Z)
+??$imag@N@std@@YANAEBV?$complex@N@0@@Z
+; N@std::?$imag(YANAEBV?$complex@N@1@@Z)
+??$imag@N@std@@YANAEBV?$complex@N@1@@Z
+; O@std::?$imag(YAOAEBV?$complex@O@0@@Z)
+??$imag@O@std@@YAOAEBV?$complex@O@0@@Z
+; O@std::?$imag(YAOAEBV?$complex@O@1@@Z)
+??$imag@O@std@@YAOAEBV?$complex@O@1@@Z
+; M@std::?$log10(YA?AV?$complex@M@0@AEBV10@@Z)
+??$log10@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; M@std::?$log10(YA?AV?$complex@M@1@AEBV21@@Z)
+??$log10@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; N@std::?$log10(YA?AV?$complex@N@0@AEBV10@@Z)
+??$log10@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; N@std::?$log10(YA?AV?$complex@N@1@AEBV21@@Z)
+??$log10@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; O@std::?$log10(YA?AV?$complex@O@0@AEBV10@@Z)
+??$log10@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; O@std::?$log10(YA?AV?$complex@O@1@AEBV21@@Z)
+??$log10@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; M@std::?$log(YA?AV?$complex@M@0@AEBV10@@Z)
+??$log@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; M@std::?$log(YA?AV?$complex@M@1@AEBV21@@Z)
+??$log@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; N@std::?$log(YA?AV?$complex@N@0@AEBV10@@Z)
+??$log@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; N@std::?$log(YA?AV?$complex@N@1@AEBV21@@Z)
+??$log@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; O@std::?$log(YA?AV?$complex@O@0@AEBV10@@Z)
+??$log@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; O@std::?$log(YA?AV?$complex@O@1@AEBV21@@Z)
+??$log@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; M@std::?$norm(YAMAEBV?$complex@M@0@@Z)
+??$norm@M@std@@YAMAEBV?$complex@M@0@@Z
+; M@std::?$norm(YAMAEBV?$complex@M@1@@Z)
+??$norm@M@std@@YAMAEBV?$complex@M@1@@Z
+; N@std::?$norm(YANAEBV?$complex@N@0@@Z)
+??$norm@N@std@@YANAEBV?$complex@N@0@@Z
+; N@std::?$norm(YANAEBV?$complex@N@1@@Z)
+??$norm@N@std@@YANAEBV?$complex@N@1@@Z
+; O@std::?$norm(YAOAEBV?$complex@O@0@@Z)
+??$norm@O@std@@YAOAEBV?$complex@O@0@@Z
+; O@std::?$norm(YAOAEBV?$complex@O@1@@Z)
+??$norm@O@std@@YAOAEBV?$complex@O@1@@Z
+; M@std::?$polar(YA?AV?$complex@M@0@AEBM0@Z)
+??$polar@M@std@@YA?AV?$complex@M@0@AEBM0@Z
+; M@std::?$polar(YA?AV?$complex@M@0@AEBM@Z)
+??$polar@M@std@@YA?AV?$complex@M@0@AEBM@Z
+; M@std::?$polar(YA?AV?$complex@M@1@AEBM0@Z)
+??$polar@M@std@@YA?AV?$complex@M@1@AEBM0@Z
+; M@std::?$polar(YA?AV?$complex@M@1@AEBM@Z)
+??$polar@M@std@@YA?AV?$complex@M@1@AEBM@Z
+; N@std::?$polar(YA?AV?$complex@N@0@AEBN0@Z)
+??$polar@N@std@@YA?AV?$complex@N@0@AEBN0@Z
+; N@std::?$polar(YA?AV?$complex@N@0@AEBN@Z)
+??$polar@N@std@@YA?AV?$complex@N@0@AEBN@Z
+; N@std::?$polar(YA?AV?$complex@N@1@AEBN0@Z)
+??$polar@N@std@@YA?AV?$complex@N@1@AEBN0@Z
+; N@std::?$polar(YA?AV?$complex@N@1@AEBN@Z)
+??$polar@N@std@@YA?AV?$complex@N@1@AEBN@Z
+; O@std::?$polar(YA?AV?$complex@O@0@AEBO0@Z)
+??$polar@O@std@@YA?AV?$complex@O@0@AEBO0@Z
+; O@std::?$polar(YA?AV?$complex@O@0@AEBO@Z)
+??$polar@O@std@@YA?AV?$complex@O@0@AEBO@Z
+; O@std::?$polar(YA?AV?$complex@O@1@AEBO0@Z)
+??$polar@O@std@@YA?AV?$complex@O@1@AEBO0@Z
+; O@std::?$polar(YA?AV?$complex@O@1@AEBO@Z)
+??$polar@O@std@@YA?AV?$complex@O@1@AEBO@Z
+; M@std::?$pow(YA?AV?$complex@M@0@AEBMAEBV10@@Z)
+??$pow@M@std@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
+; M@std::?$pow(YA?AV?$complex@M@0@AEBV10@0@Z)
+??$pow@M@std@@YA?AV?$complex@M@0@AEBV10@0@Z
+; M@std::?$pow(YA?AV?$complex@M@0@AEBV10@AEBM@Z)
+??$pow@M@std@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
+; M@std::?$pow(YA?AV?$complex@M@0@AEBV10@H@Z)
+??$pow@M@std@@YA?AV?$complex@M@0@AEBV10@H@Z
+; M@std::?$pow(YA?AV?$complex@M@1@AEBMAEBV21@@Z)
+??$pow@M@std@@YA?AV?$complex@M@1@AEBMAEBV21@@Z
+; M@std::?$pow(YA?AV?$complex@M@1@AEBV21@0@Z)
+??$pow@M@std@@YA?AV?$complex@M@1@AEBV21@0@Z
+; M@std::?$pow(YA?AV?$complex@M@1@AEBV21@AEBM@Z)
+??$pow@M@std@@YA?AV?$complex@M@1@AEBV21@AEBM@Z
+; M@std::?$pow(YA?AV?$complex@M@1@AEBV21@H@Z)
+??$pow@M@std@@YA?AV?$complex@M@1@AEBV21@H@Z
+; N@std::?$pow(YA?AV?$complex@N@0@AEBNAEBV10@@Z)
+??$pow@N@std@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
+; N@std::?$pow(YA?AV?$complex@N@0@AEBV10@0@Z)
+??$pow@N@std@@YA?AV?$complex@N@0@AEBV10@0@Z
+; N@std::?$pow(YA?AV?$complex@N@0@AEBV10@AEBN@Z)
+??$pow@N@std@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
+; N@std::?$pow(YA?AV?$complex@N@0@AEBV10@H@Z)
+??$pow@N@std@@YA?AV?$complex@N@0@AEBV10@H@Z
+; N@std::?$pow(YA?AV?$complex@N@1@AEBNAEBV21@@Z)
+??$pow@N@std@@YA?AV?$complex@N@1@AEBNAEBV21@@Z
+; N@std::?$pow(YA?AV?$complex@N@1@AEBV21@0@Z)
+??$pow@N@std@@YA?AV?$complex@N@1@AEBV21@0@Z
+; N@std::?$pow(YA?AV?$complex@N@1@AEBV21@AEBN@Z)
+??$pow@N@std@@YA?AV?$complex@N@1@AEBV21@AEBN@Z
+; N@std::?$pow(YA?AV?$complex@N@1@AEBV21@H@Z)
+??$pow@N@std@@YA?AV?$complex@N@1@AEBV21@H@Z
+; O@std::?$pow(YA?AV?$complex@O@0@AEBOAEBV10@@Z)
+??$pow@O@std@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
+; O@std::?$pow(YA?AV?$complex@O@0@AEBV10@0@Z)
+??$pow@O@std@@YA?AV?$complex@O@0@AEBV10@0@Z
+; O@std::?$pow(YA?AV?$complex@O@0@AEBV10@AEBO@Z)
+??$pow@O@std@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
+; O@std::?$pow(YA?AV?$complex@O@0@AEBV10@H@Z)
+??$pow@O@std@@YA?AV?$complex@O@0@AEBV10@H@Z
+; O@std::?$pow(YA?AV?$complex@O@1@AEBOAEBV21@@Z)
+??$pow@O@std@@YA?AV?$complex@O@1@AEBOAEBV21@@Z
+; O@std::?$pow(YA?AV?$complex@O@1@AEBV21@0@Z)
+??$pow@O@std@@YA?AV?$complex@O@1@AEBV21@0@Z
+; O@std::?$pow(YA?AV?$complex@O@1@AEBV21@AEBO@Z)
+??$pow@O@std@@YA?AV?$complex@O@1@AEBV21@AEBO@Z
+; O@std::?$pow(YA?AV?$complex@O@1@AEBV21@H@Z)
+??$pow@O@std@@YA?AV?$complex@O@1@AEBV21@H@Z
+; M@std::?$real(YAMAEBV?$complex@M@0@@Z)
+??$real@M@std@@YAMAEBV?$complex@M@0@@Z
+; M@std::?$real(YAMAEBV?$complex@M@1@@Z)
+??$real@M@std@@YAMAEBV?$complex@M@1@@Z
+; N@std::?$real(YANAEBV?$complex@N@0@@Z)
+??$real@N@std@@YANAEBV?$complex@N@0@@Z
+; N@std::?$real(YANAEBV?$complex@N@1@@Z)
+??$real@N@std@@YANAEBV?$complex@N@1@@Z
+; O@std::?$real(YAOAEBV?$complex@O@0@@Z)
+??$real@O@std@@YAOAEBV?$complex@O@0@@Z
+; O@std::?$real(YAOAEBV?$complex@O@1@@Z)
+??$real@O@std@@YAOAEBV?$complex@O@1@@Z
+; M@std::?$sin(YA?AV?$complex@M@0@AEBV10@@Z)
+??$sin@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; M@std::?$sin(YA?AV?$complex@M@1@AEBV21@@Z)
+??$sin@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; N@std::?$sin(YA?AV?$complex@N@0@AEBV10@@Z)
+??$sin@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; N@std::?$sin(YA?AV?$complex@N@1@AEBV21@@Z)
+??$sin@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; O@std::?$sin(YA?AV?$complex@O@0@AEBV10@@Z)
+??$sin@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; O@std::?$sin(YA?AV?$complex@O@1@AEBV21@@Z)
+??$sin@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; M@std::?$sinh(YA?AV?$complex@M@0@AEBV10@@Z)
+??$sinh@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; M@std::?$sinh(YA?AV?$complex@M@1@AEBV21@@Z)
+??$sinh@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; N@std::?$sinh(YA?AV?$complex@N@0@AEBV10@@Z)
+??$sinh@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; N@std::?$sinh(YA?AV?$complex@N@1@AEBV21@@Z)
+??$sinh@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; O@std::?$sinh(YA?AV?$complex@O@0@AEBV10@@Z)
+??$sinh@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; O@std::?$sinh(YA?AV?$complex@O@1@AEBV21@@Z)
+??$sinh@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; M@std::?$sqrt(YA?AV?$complex@M@0@AEBV10@@Z)
+??$sqrt@M@std@@YA?AV?$complex@M@0@AEBV10@@Z
+; M@std::?$sqrt(YA?AV?$complex@M@1@AEBV21@@Z)
+??$sqrt@M@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; N@std::?$sqrt(YA?AV?$complex@N@0@AEBV10@@Z)
+??$sqrt@N@std@@YA?AV?$complex@N@0@AEBV10@@Z
+; N@std::?$sqrt(YA?AV?$complex@N@1@AEBV21@@Z)
+??$sqrt@N@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; O@std::?$sqrt(YA?AV?$complex@O@0@AEBV10@@Z)
+??$sqrt@O@std@@YA?AV?$complex@O@0@AEBV10@@Z
+; O@std::?$sqrt(YA?AV?$complex@O@1@AEBV21@@Z)
+??$sqrt@O@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; public: __cdecl std::_Complex_base<float>::_Complex_base<float>(float const & __ptr64,float const & __ptr64) __ptr64
+??0?$_Complex_base@M@std@@QEAA@AEBM0@Z
+; public: __cdecl std::_Complex_base<double>::_Complex_base<double>(double const & __ptr64,double const & __ptr64) __ptr64
+??0?$_Complex_base@N@std@@QEAA@AEBN0@Z
+; public: __cdecl std::_Complex_base<long double>::_Complex_base<long double>(long double const & __ptr64,long double const & __ptr64) __ptr64
+??0?$_Complex_base@O@std@@QEAA@AEBO0@Z
+; public: __cdecl std::_Mpunct<char>::_Mpunct<char>(class _Mpunct<char>::_Locinfo const & __ptr64,unsigned __int64,bool) __ptr64
+??0?$_Mpunct@D@std@@QEAA@AEBV_Locinfo@1@_K_N@Z
+; public: __cdecl std::_Mpunct<char>::_Mpunct<char>(unsigned __int64,bool) __ptr64
+??0?$_Mpunct@D@std@@QEAA@_K_N@Z
+; public: __cdecl std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(class _Mpunct<unsigned short>::_Locinfo const & __ptr64,unsigned __int64,bool) __ptr64
+??0?$_Mpunct@G@std@@QEAA@AEBV_Locinfo@1@_K_N@Z
+; public: __cdecl std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(unsigned __int64,bool) __ptr64
+??0?$_Mpunct@G@std@@QEAA@_K_N@Z
+; public: __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(class basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(struct _iobuf * __ptr64) __ptr64
+??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@PEAU_iobuf@@@Z
+; public: __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(enum basic_filebuf<char,struct std::char_traits<char> >::_Uninitialized) __ptr64
+??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z
+; public: __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(class basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(struct _iobuf * __ptr64) __ptr64
+??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@PEAU_iobuf@@@Z
+; public: __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized) __ptr64
+??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z
+; public: __cdecl std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(class basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(char const * __ptr64,int) __ptr64
+??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z
+; public: __cdecl std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(void) __ptr64
+??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAA@XZ
+; public: __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(char const * __ptr64,int) __ptr64
+??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z
+; public: __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAA@XZ
+; public: __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(class basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(char const * __ptr64,int) __ptr64
+??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z
+; public: __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(void) __ptr64
+??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAA@XZ
+; public: __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(char const * __ptr64,int) __ptr64
+??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z
+; public: __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAA@XZ
+; protected: __cdecl std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void) __ptr64
+??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ
+; public: __cdecl std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
+??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; protected: __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??0?$basic_ios@GU?$char_traits@G@std@@@std@@IEAA@XZ
+; public: __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
+??0?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; public: __cdecl std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
+??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; public: __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
+??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; public: __cdecl std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > * __ptr64,bool) __ptr64
+??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
+; public: __cdecl std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(enum basic_istream<char,struct std::char_traits<char> >::_Uninitialized) __ptr64
+??0?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z
+; public: __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64,bool) __ptr64
+??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z
+; public: __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_istream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized) __ptr64
+??0?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z
+; public: __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,int) __ptr64
+??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int) __ptr64
+??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z
+; public: __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,int) __ptr64
+??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int) __ptr64
+??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z
+; public: __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(class basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(char const * __ptr64,int) __ptr64
+??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@PEBDH@Z
+; public: __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(void) __ptr64
+??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAA@XZ
+; public: __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(char const * __ptr64,int) __ptr64
+??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@PEBDH@Z
+; public: __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAA@XZ
+; public: __cdecl std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > * __ptr64,bool,bool) __ptr64
+??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z
+; public: __cdecl std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(enum basic_ostream<char,struct std::char_traits<char> >::_Uninitialized) __ptr64
+??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@@Z
+; public: __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64,bool,bool) __ptr64
+??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z
+; public: __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized) __ptr64
+??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA@W4_Uninitialized@1@@Z
+; public: __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,int) __ptr64
+??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int) __ptr64
+??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z
+; public: __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,int) __ptr64
+??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int) __ptr64
+??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z
+; protected: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(enum basic_streambuf<char,struct std::char_traits<char> >::_Uninitialized) __ptr64
+??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z
+; protected: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void) __ptr64
+??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ
+; public: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(class basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA@AEBV01@@Z
+; protected: __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized) __ptr64
+??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@W4_Uninitialized@1@@Z
+; protected: __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@XZ
+; public: __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(class basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@_K1AEBV?$allocator@D@1@@Z
+; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$allocator@D@1@@Z
+; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const * __ptr64,char const * __ptr64,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD0AEBV?$allocator@D@1@@Z
+; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const * __ptr64,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBDAEBV?$allocator@D@1@@Z
+; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const * __ptr64,unsigned __int64,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD_KAEBV?$allocator@D@1@@Z
+; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(unsigned __int64,char,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const & __ptr64) __ptr64
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@_KDAEBV?$allocator@D@1@@Z
+; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@_K1AEBV?$allocator@G@1@@Z
+; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$allocator@G@1@@Z
+; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const * __ptr64,unsigned short const * __ptr64,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBG0AEBV?$allocator@G@1@@Z
+; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const * __ptr64,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBGAEBV?$allocator@G@1@@Z
+; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const * __ptr64,unsigned __int64,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@PEBG_KAEBV?$allocator@G@1@@Z
+; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned __int64,unsigned short,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const & __ptr64) __ptr64
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@_KGAEBV?$allocator@G@1@@Z
+; public: __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,int) __ptr64
+??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(int) __ptr64
+??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z
+; public: __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,int) __ptr64
+??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int) __ptr64
+??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z
+; public: __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,int) __ptr64
+??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int) __ptr64
+??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z
+; public: __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,int) __ptr64
+??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int) __ptr64
+??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@H@Z
+; public: __cdecl std::codecvt<char,char,int>::codecvt<char,char,int>(class codecvt<char,char,int>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$codecvt@DDH@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::codecvt<char,char,int>::codecvt<char,char,int>(unsigned __int64) __ptr64
+??0?$codecvt@DDH@std@@QEAA@_K@Z
+; public: __cdecl std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(class codecvt<unsigned short,char,int>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$codecvt@GDH@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(unsigned __int64) __ptr64
+??0?$codecvt@GDH@std@@QEAA@_K@Z
+; public: __cdecl std::collate<char>::collate<char>(class collate<char>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$collate@D@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::collate<char>::collate<char>(unsigned __int64) __ptr64
+??0?$collate@D@std@@QEAA@_K@Z
+; public: __cdecl std::collate<unsigned short>::collate<unsigned short>(class collate<unsigned short>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$collate@G@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::collate<unsigned short>::collate<unsigned short>(unsigned __int64) __ptr64
+??0?$collate@G@std@@QEAA@_K@Z
+; public: __cdecl std::complex<float>::complex<float>(float const & __ptr64,float const & __ptr64) __ptr64
+??0?$complex@M@std@@QEAA@AEBM0@Z
+; public: __cdecl std::complex<float>::complex<float>(class complex<float>::complex<double> const & __ptr64) __ptr64
+??0?$complex@M@std@@QEAA@AEBV?$complex@N@1@@Z
+; public: __cdecl std::complex<float>::complex<float>(class complex<float>::complex<long double> const & __ptr64) __ptr64
+??0?$complex@M@std@@QEAA@AEBV?$complex@O@1@@Z
+; public: __cdecl std::complex<double>::complex<double>(double const & __ptr64,double const & __ptr64) __ptr64
+??0?$complex@N@std@@QEAA@AEBN0@Z
+; public: __cdecl std::complex<double>::complex<double>(class complex<double>::complex<float> const & __ptr64) __ptr64
+??0?$complex@N@std@@QEAA@AEBV?$complex@M@1@@Z
+; public: __cdecl std::complex<double>::complex<double>(class complex<double>::complex<long double> const & __ptr64) __ptr64
+??0?$complex@N@std@@QEAA@AEBV?$complex@O@1@@Z
+; public: __cdecl std::complex<long double>::complex<long double>(long double const & __ptr64,long double const & __ptr64) __ptr64
+??0?$complex@O@std@@QEAA@AEBO0@Z
+; public: __cdecl std::complex<long double>::complex<long double>(class complex<long double>::complex<float> const & __ptr64) __ptr64
+??0?$complex@O@std@@QEAA@AEBV?$complex@M@1@@Z
+; public: __cdecl std::complex<long double>::complex<long double>(class complex<long double>::complex<double> const & __ptr64) __ptr64
+??0?$complex@O@std@@QEAA@AEBV?$complex@N@1@@Z
+; public: __cdecl std::ctype<char>::ctype<char>(class ctype<char>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$ctype@D@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::ctype<char>::ctype<char>(short const * __ptr64,bool,unsigned __int64) __ptr64
+??0?$ctype@D@std@@QEAA@PEBF_N_K@Z
+; public: __cdecl std::ctype<unsigned short>::ctype<unsigned short>(class ctype<unsigned short>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$ctype@G@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::ctype<unsigned short>::ctype<unsigned short>(unsigned __int64) __ptr64
+??0?$ctype@G@std@@QEAA@_K@Z
+; public: __cdecl std::messages<char>::messages<char>(class messages<char>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$messages@D@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::messages<char>::messages<char>(unsigned __int64) __ptr64
+??0?$messages@D@std@@QEAA@_K@Z
+; public: __cdecl std::messages<unsigned short>::messages<unsigned short>(class messages<unsigned short>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$messages@G@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::messages<unsigned short>::messages<unsigned short>(unsigned __int64) __ptr64
+??0?$messages@G@std@@QEAA@_K@Z
+; public: __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
+??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
+??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
+??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
+??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::moneypunct<char,1>::moneypunct<char,1>(class moneypunct<char,1>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$moneypunct@D$00@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::moneypunct<char,1>::moneypunct<char,1>(unsigned __int64) __ptr64
+??0?$moneypunct@D$00@std@@QEAA@_K@Z
+; public: __cdecl std::moneypunct<char,0>::moneypunct<char,0>(class moneypunct<char,0>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$moneypunct@D$0A@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::moneypunct<char,0>::moneypunct<char,0>(unsigned __int64) __ptr64
+??0?$moneypunct@D$0A@@std@@QEAA@_K@Z
+; public: __cdecl std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(class moneypunct<unsigned short,1>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$moneypunct@G$00@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(unsigned __int64) __ptr64
+??0?$moneypunct@G$00@std@@QEAA@_K@Z
+; public: __cdecl std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(class moneypunct<unsigned short,0>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$moneypunct@G$0A@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(unsigned __int64) __ptr64
+??0?$moneypunct@G$0A@@std@@QEAA@_K@Z
+; public: __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
+??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
+??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
+??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
+??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::numpunct<char>::numpunct<char>(class numpunct<char>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$numpunct@D@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::numpunct<char>::numpunct<char>(unsigned __int64) __ptr64
+??0?$numpunct@D@std@@QEAA@_K@Z
+; public: __cdecl std::numpunct<unsigned short>::numpunct<unsigned short>(class numpunct<unsigned short>::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$numpunct@G@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::numpunct<unsigned short>::numpunct<unsigned short>(unsigned __int64) __ptr64
+??0?$numpunct@G@std@@QEAA@_K@Z
+; public: __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
+??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
+??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned __int64) __ptr64
+??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const & __ptr64,unsigned __int64) __ptr64
+??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@AEBV_Locinfo@1@_K@Z
+; public: __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned __int64) __ptr64
+??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAA@_K@Z
+; public: __cdecl std::ios_base::Init::Init(void) __ptr64
+??0Init@ios_base@std@@QEAA@XZ
+; public: __cdecl std::_Locinfo::_Locinfo(class _Locinfo::_Locinfo const & __ptr64) __ptr64
+??0_Locinfo@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::_Locinfo::_Locinfo(int,char const * __ptr64) __ptr64
+??0_Locinfo@std@@QEAA@HPEBD@Z
+; public: __cdecl std::_Locinfo::_Locinfo(char const * __ptr64) __ptr64
+??0_Locinfo@std@@QEAA@PEBD@Z
+; public: __cdecl std::_Lockit::_Lockit(void) __ptr64
+??0_Lockit@std@@QEAA@XZ
+; public: __cdecl std::_Timevec::_Timevec(class _Timevec::_Timevec const & __ptr64) __ptr64
+??0_Timevec@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::_Timevec::_Timevec(void * __ptr64) __ptr64
+??0_Timevec@std@@QEAA@PEAX@Z
+; public: __cdecl std::_Winit::_Winit(void) __ptr64
+??0_Winit@std@@QEAA@XZ
+; public: __cdecl std::__non_rtti_object::__non_rtti_object(class __non_rtti_object::__non_rtti_object const & __ptr64) __ptr64
+??0__non_rtti_object@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::__non_rtti_object::__non_rtti_object(char const * __ptr64) __ptr64
+??0__non_rtti_object@std@@QEAA@PEBD@Z
+; public: __cdecl std::bad_alloc::bad_alloc(class bad_alloc::bad_alloc const & __ptr64) __ptr64
+??0bad_alloc@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::bad_alloc::bad_alloc(char const * __ptr64) __ptr64
+??0bad_alloc@std@@QEAA@PEBD@Z
+; public: __cdecl std::bad_cast::bad_cast(class bad_cast::bad_cast const & __ptr64) __ptr64
+??0bad_cast@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::bad_cast::bad_cast(char const * __ptr64) __ptr64
+??0bad_cast@std@@QEAA@PEBD@Z
+; public: __cdecl std::bad_exception::bad_exception(class bad_exception::bad_exception const & __ptr64) __ptr64
+??0bad_exception@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::bad_exception::bad_exception(char const * __ptr64) __ptr64
+??0bad_exception@std@@QEAA@PEBD@Z
+; public: __cdecl std::bad_typeid::bad_typeid(class bad_typeid::bad_typeid const & __ptr64) __ptr64
+??0bad_typeid@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::bad_typeid::bad_typeid(char const * __ptr64) __ptr64
+??0bad_typeid@std@@QEAA@PEBD@Z
+; public: __cdecl std::codecvt_base::codecvt_base(unsigned __int64) __ptr64
+??0codecvt_base@std@@QEAA@_K@Z
+; public: __cdecl std::ctype_base::ctype_base(unsigned __int64) __ptr64
+??0ctype_base@std@@QEAA@_K@Z
+; public: __cdecl std::domain_error::domain_error(class domain_error::domain_error const & __ptr64) __ptr64
+??0domain_error@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::domain_error::domain_error(class domain_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0domain_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; protected: __cdecl std::locale::facet::facet(unsigned __int64) __ptr64
+??0facet@locale@std@@IEAA@_K@Z
+; protected: __cdecl std::ios_base::ios_base(void) __ptr64
+??0ios_base@std@@IEAA@XZ
+; public: __cdecl std::ios_base::ios_base(class ios_base::ios_base const & __ptr64) __ptr64
+??0ios_base@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::length_error::length_error(class length_error::length_error const & __ptr64) __ptr64
+??0length_error@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::length_error::length_error(class length_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0length_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; private: __cdecl std::locale::locale(class locale::locale::_Locimp * __ptr64) __ptr64
+??0locale@std@@AEAA@PEAV_Locimp@01@@Z
+; public: __cdecl std::locale::locale(class locale::locale const & __ptr64,class locale::locale const & __ptr64,int) __ptr64
+??0locale@std@@QEAA@AEBV01@0H@Z
+; public: __cdecl std::locale::locale(class locale::locale const & __ptr64) __ptr64
+??0locale@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::locale::locale(class locale::locale const & __ptr64,char const * __ptr64,int) __ptr64
+??0locale@std@@QEAA@AEBV01@PEBDH@Z
+; public: __cdecl std::locale::locale(char const * __ptr64,int) __ptr64
+??0locale@std@@QEAA@PEBDH@Z
+; public: __cdecl std::locale::locale(enum locale::_Uninitialized) __ptr64
+??0locale@std@@QEAA@W4_Uninitialized@1@@Z
+; public: __cdecl std::locale::locale(void) __ptr64
+??0locale@std@@QEAA@XZ
+; public: __cdecl std::logic_error::logic_error(class logic_error::logic_error const & __ptr64) __ptr64
+??0logic_error@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::logic_error::logic_error(class logic_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0logic_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __cdecl std::messages_base::messages_base(unsigned __int64) __ptr64
+??0messages_base@std@@QEAA@_K@Z
+; public: __cdecl std::money_base::money_base(unsigned __int64) __ptr64
+??0money_base@std@@QEAA@_K@Z
+; public: __cdecl std::ostrstream::ostrstream(char * __ptr64,__int64,int) __ptr64
+??0ostrstream@std@@QEAA@PEAD_JH@Z
+; public: __cdecl std::out_of_range::out_of_range(class out_of_range::out_of_range const & __ptr64) __ptr64
+??0out_of_range@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::out_of_range::out_of_range(class out_of_range::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0out_of_range@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __cdecl std::overflow_error::overflow_error(class overflow_error::overflow_error const & __ptr64) __ptr64
+??0overflow_error@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::overflow_error::overflow_error(class overflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0overflow_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __cdecl std::range_error::range_error(class range_error::range_error const & __ptr64) __ptr64
+??0range_error@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::range_error::range_error(class range_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0range_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __cdecl std::runtime_error::runtime_error(class runtime_error::runtime_error const & __ptr64) __ptr64
+??0runtime_error@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::runtime_error::runtime_error(class runtime_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0runtime_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __cdecl std::strstream::strstream(char * __ptr64,__int64,int) __ptr64
+??0strstream@std@@QEAA@PEAD_JH@Z
+; public: __cdecl std::time_base::time_base(unsigned __int64) __ptr64
+??0time_base@std@@QEAA@_K@Z
+; public: __cdecl std::underflow_error::underflow_error(class underflow_error::underflow_error const & __ptr64) __ptr64
+??0underflow_error@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::underflow_error::underflow_error(class underflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??0underflow_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: virtual __cdecl std::_Mpunct<char>::~_Mpunct<char>(void) __ptr64
+??1?$_Mpunct@D@std@@UEAA@XZ
+; public: virtual __cdecl std::_Mpunct<unsigned short>::~_Mpunct<unsigned short>(void) __ptr64
+??1?$_Mpunct@G@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::~basic_filebuf<char,struct std::char_traits<char> >(void) __ptr64
+??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_fstream<char,struct std::char_traits<char> >::~basic_fstream<char,struct std::char_traits<char> >(void) __ptr64
+??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::~basic_ifstream<char,struct std::char_traits<char> >(void) __ptr64
+??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void) __ptr64
+??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::~basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??1?$basic_ios@GU?$char_traits@G@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_iostream<char,struct std::char_traits<char> >::~basic_iostream<char,struct std::char_traits<char> >(void) __ptr64
+??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_istream<char,struct std::char_traits<char> >::~basic_istream<char,struct std::char_traits<char> >(void) __ptr64
+??1?$basic_istream@DU?$char_traits@D@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::~basic_istream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??1?$basic_istream@GU?$char_traits@G@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
+??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
+??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::~basic_ofstream<char,struct std::char_traits<char> >(void) __ptr64
+??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void) __ptr64
+??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
+??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
+??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void) __ptr64
+??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void) __ptr64
+??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UEAA@XZ
+; public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
+??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ
+; public: __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
+??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA@XZ
+; public: virtual __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
+??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
+??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void) __ptr64
+??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ
+; public: virtual __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void) __ptr64
+??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ
+; public: virtual __cdecl std::codecvt<char,char,int>::~codecvt<char,char,int>(void) __ptr64
+??1?$codecvt@DDH@std@@UEAA@XZ
+; public: virtual __cdecl std::codecvt<unsigned short,char,int>::~codecvt<unsigned short,char,int>(void) __ptr64
+??1?$codecvt@GDH@std@@UEAA@XZ
+; public: virtual __cdecl std::collate<char>::~collate<char>(void) __ptr64
+??1?$collate@D@std@@UEAA@XZ
+; public: virtual __cdecl std::collate<unsigned short>::~collate<unsigned short>(void) __ptr64
+??1?$collate@G@std@@UEAA@XZ
+; public: virtual __cdecl std::ctype<char>::~ctype<char>(void) __ptr64
+??1?$ctype@D@std@@UEAA@XZ
+; public: virtual __cdecl std::ctype<unsigned short>::~ctype<unsigned short>(void) __ptr64
+??1?$ctype@G@std@@UEAA@XZ
+; public: virtual __cdecl std::messages<char>::~messages<char>(void) __ptr64
+??1?$messages@D@std@@UEAA@XZ
+; public: virtual __cdecl std::messages<unsigned short>::~messages<unsigned short>(void) __ptr64
+??1?$messages@G@std@@UEAA@XZ
+; public: virtual __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
+??1?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
+??1?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
+??1?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
+??1?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::moneypunct<char,1>::~moneypunct<char,1>(void) __ptr64
+??1?$moneypunct@D$00@std@@UEAA@XZ
+; public: virtual __cdecl std::moneypunct<char,0>::~moneypunct<char,0>(void) __ptr64
+??1?$moneypunct@D$0A@@std@@UEAA@XZ
+; public: virtual __cdecl std::moneypunct<unsigned short,1>::~moneypunct<unsigned short,1>(void) __ptr64
+??1?$moneypunct@G$00@std@@UEAA@XZ
+; public: virtual __cdecl std::moneypunct<unsigned short,0>::~moneypunct<unsigned short,0>(void) __ptr64
+??1?$moneypunct@G$0A@@std@@UEAA@XZ
+; public: virtual __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
+??1?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
+??1?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
+??1?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
+??1?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::numpunct<char>::~numpunct<char>(void) __ptr64
+??1?$numpunct@D@std@@UEAA@XZ
+; public: virtual __cdecl std::numpunct<unsigned short>::~numpunct<unsigned short>(void) __ptr64
+??1?$numpunct@G@std@@UEAA@XZ
+; public: virtual __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
+??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
+??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void) __ptr64
+??1?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UEAA@XZ
+; public: virtual __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void) __ptr64
+??1?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UEAA@XZ
+; public: __cdecl std::ios_base::Init::~Init(void) __ptr64
+??1Init@ios_base@std@@QEAA@XZ
+; public: __cdecl std::_Locinfo::~_Locinfo(void) __ptr64
+??1_Locinfo@std@@QEAA@XZ
+; public: __cdecl std::_Lockit::~_Lockit(void) __ptr64
+??1_Lockit@std@@QEAA@XZ
+; public: __cdecl std::_Timevec::~_Timevec(void) __ptr64
+??1_Timevec@std@@QEAA@XZ
+; public: __cdecl std::_Winit::~_Winit(void) __ptr64
+??1_Winit@std@@QEAA@XZ
+; public: virtual __cdecl std::__non_rtti_object::~__non_rtti_object(void) __ptr64
+??1__non_rtti_object@std@@UEAA@XZ
+; public: virtual __cdecl std::bad_alloc::~bad_alloc(void) __ptr64
+??1bad_alloc@std@@UEAA@XZ
+; public: virtual __cdecl std::bad_cast::~bad_cast(void) __ptr64
+??1bad_cast@std@@UEAA@XZ
+; public: virtual __cdecl std::bad_exception::~bad_exception(void) __ptr64
+??1bad_exception@std@@UEAA@XZ
+; public: virtual __cdecl std::bad_typeid::~bad_typeid(void) __ptr64
+??1bad_typeid@std@@UEAA@XZ
+; public: virtual __cdecl std::codecvt_base::~codecvt_base(void) __ptr64
+??1codecvt_base@std@@UEAA@XZ
+; public: virtual __cdecl std::ctype_base::~ctype_base(void) __ptr64
+??1ctype_base@std@@UEAA@XZ
+; public: virtual __cdecl std::domain_error::~domain_error(void) __ptr64
+??1domain_error@std@@UEAA@XZ
+; public: virtual __cdecl std::locale::facet::~facet(void) __ptr64
+??1facet@locale@std@@UEAA@XZ
+; public: virtual __cdecl std::ios_base::~ios_base(void) __ptr64
+??1ios_base@std@@UEAA@XZ
+; public: virtual __cdecl std::istrstream::~istrstream(void) __ptr64
+??1istrstream@std@@UEAA@XZ
+; public: virtual __cdecl std::length_error::~length_error(void) __ptr64
+??1length_error@std@@UEAA@XZ
+; public: __cdecl std::locale::~locale(void) __ptr64
+??1locale@std@@QEAA@XZ
+; public: virtual __cdecl std::logic_error::~logic_error(void) __ptr64
+??1logic_error@std@@UEAA@XZ
+; public: virtual __cdecl std::messages_base::~messages_base(void) __ptr64
+??1messages_base@std@@UEAA@XZ
+; public: virtual __cdecl std::money_base::~money_base(void) __ptr64
+??1money_base@std@@UEAA@XZ
+; public: virtual __cdecl std::ostrstream::~ostrstream(void) __ptr64
+??1ostrstream@std@@UEAA@XZ
+; public: virtual __cdecl std::out_of_range::~out_of_range(void) __ptr64
+??1out_of_range@std@@UEAA@XZ
+; public: virtual __cdecl std::overflow_error::~overflow_error(void) __ptr64
+??1overflow_error@std@@UEAA@XZ
+; public: virtual __cdecl std::range_error::~range_error(void) __ptr64
+??1range_error@std@@UEAA@XZ
+; public: virtual __cdecl std::runtime_error::~runtime_error(void) __ptr64
+??1runtime_error@std@@UEAA@XZ
+; public: virtual __cdecl std::strstream::~strstream(void) __ptr64
+??1strstream@std@@UEAA@XZ
+; public: virtual __cdecl std::strstreambuf::~strstreambuf(void) __ptr64
+??1strstreambuf@std@@UEAA@XZ
+; public: virtual __cdecl std::time_base::~time_base(void) __ptr64
+??1time_base@std@@UEAA@XZ
+; public: virtual __cdecl std::underflow_error::~underflow_error(void) __ptr64
+??1underflow_error@std@@UEAA@XZ
+; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator=(class std::_Complex_base<float> const & __ptr64) __ptr64
+??4?$_Complex_base@M@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator=(class std::_Complex_base<double> const & __ptr64) __ptr64
+??4?$_Complex_base@N@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator=(class std::_Complex_base<long double> const & __ptr64) __ptr64
+??4?$_Complex_base@O@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::_Ctr<float> & __ptr64 __cdecl std::_Ctr<float>::operator=(class std::_Ctr<float> const & __ptr64) __ptr64
+??4?$_Ctr@M@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::_Ctr<double> & __ptr64 __cdecl std::_Ctr<double>::operator=(class std::_Ctr<double> const & __ptr64) __ptr64
+??4?$_Ctr@N@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::_Ctr<long double> & __ptr64 __cdecl std::_Ctr<long double>::operator=(class std::_Ctr<long double> const & __ptr64) __ptr64
+??4?$_Ctr@O@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::allocator<void> & __ptr64 __cdecl std::allocator<void>::operator=(class std::allocator<void> const & __ptr64) __ptr64
+??4?$allocator@X@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::operator=(class std::basic_filebuf<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??4?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_fstream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_fstream<char,struct std::char_traits<char> >::operator=(class std::basic_fstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??4?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ifstream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::operator=(class std::basic_ifstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??4?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ios<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::operator=(class std::basic_ios<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??4?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_iostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_iostream<char,struct std::char_traits<char> >::operator=(class std::basic_iostream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??4?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator=(class std::basic_istream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??4?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??4?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ofstream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::operator=(class std::basic_ofstream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??4?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator=(class std::basic_ostream<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??4?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??4?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::operator=(class std::basic_streambuf<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+??4?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char) __ptr64
+??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@D@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char const * __ptr64) __ptr64
+??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@PEBD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short) __ptr64
+??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@G@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short const * __ptr64) __ptr64
+??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@PEBG@Z
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??4?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??4?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??4?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: struct std::char_traits<char> & __ptr64 __cdecl std::char_traits<char>::operator=(struct std::char_traits<char> const & __ptr64) __ptr64
+??4?$char_traits@D@std@@QEAAAEAU01@AEBU01@@Z
+; public: struct std::char_traits<unsigned short> & __ptr64 __cdecl std::char_traits<unsigned short>::operator=(struct std::char_traits<unsigned short> const & __ptr64) __ptr64
+??4?$char_traits@G@std@@QEAAAEAU01@AEBU01@@Z
+; public: class std::complex<float> & __ptr64 __cdecl std::complex<float>::operator=(float const & __ptr64) __ptr64
+??4?$complex@M@std@@QEAAAEAV01@AEBM@Z
+; public: class std::complex<float> & __ptr64 __cdecl std::complex<float>::operator=(class std::complex<float> const & __ptr64) __ptr64
+??4?$complex@M@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::complex<double> & __ptr64 __cdecl std::complex<double>::operator=(double const & __ptr64) __ptr64
+??4?$complex@N@std@@QEAAAEAV01@AEBN@Z
+; public: class std::complex<double> & __ptr64 __cdecl std::complex<double>::operator=(class std::complex<double> const & __ptr64) __ptr64
+??4?$complex@N@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::complex<long double> & __ptr64 __cdecl std::complex<long double>::operator=(long double const & __ptr64) __ptr64
+??4?$complex@O@std@@QEAAAEAV01@AEBO@Z
+; public: class std::complex<long double> & __ptr64 __cdecl std::complex<long double>::operator=(class std::complex<long double> const & __ptr64) __ptr64
+??4?$complex@O@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<signed char> & __ptr64 __cdecl std::numeric_limits<signed char>::operator=(class std::numeric_limits<signed char> const & __ptr64) __ptr64
+??4?$numeric_limits@C@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<char> & __ptr64 __cdecl std::numeric_limits<char>::operator=(class std::numeric_limits<char> const & __ptr64) __ptr64
+??4?$numeric_limits@D@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<unsigned char> & __ptr64 __cdecl std::numeric_limits<unsigned char>::operator=(class std::numeric_limits<unsigned char> const & __ptr64) __ptr64
+??4?$numeric_limits@E@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<short> & __ptr64 __cdecl std::numeric_limits<short>::operator=(class std::numeric_limits<short> const & __ptr64) __ptr64
+??4?$numeric_limits@F@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<unsigned short> & __ptr64 __cdecl std::numeric_limits<unsigned short>::operator=(class std::numeric_limits<unsigned short> const & __ptr64) __ptr64
+??4?$numeric_limits@G@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<int> & __ptr64 __cdecl std::numeric_limits<int>::operator=(class std::numeric_limits<int> const & __ptr64) __ptr64
+??4?$numeric_limits@H@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<unsigned int> & __ptr64 __cdecl std::numeric_limits<unsigned int>::operator=(class std::numeric_limits<unsigned int> const & __ptr64) __ptr64
+??4?$numeric_limits@I@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<long> & __ptr64 __cdecl std::numeric_limits<long>::operator=(class std::numeric_limits<long> const & __ptr64) __ptr64
+??4?$numeric_limits@J@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<unsigned long> & __ptr64 __cdecl std::numeric_limits<unsigned long>::operator=(class std::numeric_limits<unsigned long> const & __ptr64) __ptr64
+??4?$numeric_limits@K@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<float> & __ptr64 __cdecl std::numeric_limits<float>::operator=(class std::numeric_limits<float> const & __ptr64) __ptr64
+??4?$numeric_limits@M@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<double> & __ptr64 __cdecl std::numeric_limits<double>::operator=(class std::numeric_limits<double> const & __ptr64) __ptr64
+??4?$numeric_limits@N@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<long double> & __ptr64 __cdecl std::numeric_limits<long double>::operator=(class std::numeric_limits<long double> const & __ptr64) __ptr64
+??4?$numeric_limits@O@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::numeric_limits<bool> & __ptr64 __cdecl std::numeric_limits<bool>::operator=(class std::numeric_limits<bool> const & __ptr64) __ptr64
+??4?$numeric_limits@_N@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::ios_base::Init & __ptr64 __cdecl std::ios_base::Init::operator=(class std::ios_base::Init const & __ptr64) __ptr64
+??4Init@ios_base@std@@QEAAAEAV012@AEBV012@@Z
+; public: class std::_Locinfo & __ptr64 __cdecl std::_Locinfo::operator=(class std::_Locinfo const & __ptr64) __ptr64
+??4_Locinfo@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::_Lockit & __ptr64 __cdecl std::_Lockit::operator=(class std::_Lockit const & __ptr64) __ptr64
+??4_Lockit@std@@QEAAAEAV01@AEBV01@@Z
+; public: struct std::_Num_base & __ptr64 __cdecl std::_Num_base::operator=(struct std::_Num_base const & __ptr64) __ptr64
+??4_Num_base@std@@QEAAAEAU01@AEBU01@@Z
+; public: struct std::_Num_float_base & __ptr64 __cdecl std::_Num_float_base::operator=(struct std::_Num_float_base const & __ptr64) __ptr64
+??4_Num_float_base@std@@QEAAAEAU01@AEBU01@@Z
+; public: struct std::_Num_int_base & __ptr64 __cdecl std::_Num_int_base::operator=(struct std::_Num_int_base const & __ptr64) __ptr64
+??4_Num_int_base@std@@QEAAAEAU01@AEBU01@@Z
+; public: class std::_Timevec & __ptr64 __cdecl std::_Timevec::operator=(class std::_Timevec const & __ptr64) __ptr64
+??4_Timevec@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::_Winit & __ptr64 __cdecl std::_Winit::operator=(class std::_Winit const & __ptr64) __ptr64
+??4_Winit@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::__non_rtti_object & __ptr64 __cdecl std::__non_rtti_object::operator=(class std::__non_rtti_object const & __ptr64) __ptr64
+??4__non_rtti_object@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::bad_alloc & __ptr64 __cdecl std::bad_alloc::operator=(class std::bad_alloc const & __ptr64) __ptr64
+??4bad_alloc@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::bad_cast & __ptr64 __cdecl std::bad_cast::operator=(class std::bad_cast const & __ptr64) __ptr64
+??4bad_cast@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::bad_exception & __ptr64 __cdecl std::bad_exception::operator=(class std::bad_exception const & __ptr64) __ptr64
+??4bad_exception@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::bad_typeid & __ptr64 __cdecl std::bad_typeid::operator=(class std::bad_typeid const & __ptr64) __ptr64
+??4bad_typeid@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::domain_error & __ptr64 __cdecl std::domain_error::operator=(class std::domain_error const & __ptr64) __ptr64
+??4domain_error@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::locale::id & __ptr64 __cdecl std::locale::id::operator=(class std::locale::id const & __ptr64) __ptr64
+??4id@locale@std@@QEAAAEAV012@AEBV012@@Z
+; public: class std::ios_base & __ptr64 __cdecl std::ios_base::operator=(class std::ios_base const & __ptr64) __ptr64
+??4ios_base@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::length_error & __ptr64 __cdecl std::length_error::operator=(class std::length_error const & __ptr64) __ptr64
+??4length_error@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::locale & __ptr64 __cdecl std::locale::operator=(class std::locale const & __ptr64) __ptr64
+??4locale@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::logic_error & __ptr64 __cdecl std::logic_error::operator=(class std::logic_error const & __ptr64) __ptr64
+??4logic_error@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::out_of_range & __ptr64 __cdecl std::out_of_range::operator=(class std::out_of_range const & __ptr64) __ptr64
+??4out_of_range@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::overflow_error & __ptr64 __cdecl std::overflow_error::operator=(class std::overflow_error const & __ptr64) __ptr64
+??4overflow_error@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::range_error & __ptr64 __cdecl std::range_error::operator=(class std::range_error const & __ptr64) __ptr64
+??4range_error@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::runtime_error & __ptr64 __cdecl std::runtime_error::operator=(class std::runtime_error const & __ptr64) __ptr64
+??4runtime_error@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::underflow_error & __ptr64 __cdecl std::underflow_error::operator=(class std::underflow_error const & __ptr64) __ptr64
+??4underflow_error@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(short & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAF@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned short & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAG@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(int & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAH@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned int & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAI@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(long & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAJ@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned long & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAK@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(float & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAM@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(double & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAN@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(long double & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAO@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(void * __ptr64 & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAPEAX@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(__int64 & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_J@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned __int64 & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_K@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(bool & __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEA_N@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 (__cdecl*)(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64)) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_ios<char,struct std::char_traits<char> > & __ptr64 (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > & __ptr64)) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::ios_base & __ptr64 (__cdecl*)(class std::ios_base & __ptr64)) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(short & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAF@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned short & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAG@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(int & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned int & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAI@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAJ@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned long & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAK@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(float & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAM@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(double & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAN@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long double & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAO@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(void * __ptr64 & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEAPEAX@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(__int64 & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_J@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned __int64 & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_K@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(bool & __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@AEA_N@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 (__cdecl*)(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::ios_base & __ptr64 (__cdecl*)(class std::ios_base & __ptr64)) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,signed char & __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAC@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,char & __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAD@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,unsigned char & __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAE@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::complex<float> & __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@M@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::complex<double> & __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@N@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::complex<long double> & __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@AEAV?$complex@O@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,signed char * __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAC@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,char * __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAD@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,unsigned char * __ptr64)
+??5std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@0@AEAV10@PEAE@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short & __ptr64)
+??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAG@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64)
+??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<float> & __ptr64)
+??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@M@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<double> & __ptr64)
+??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@N@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<long double> & __ptr64)
+??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@AEAV?$complex@O@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,short * __ptr64)
+??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAF@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short * __ptr64)
+??5std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@0@AEAV10@PEAG@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(short) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned short) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned int) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned long) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(float) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long double) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@O@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64)) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ios<char,struct std::char_traits<char> > & __ptr64 (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > & __ptr64)) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@DU?$char_traits@D@std@@@1@AEAV21@@Z@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::ios_base & __ptr64 (__cdecl*)(class std::ios_base & __ptr64)) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(void const * __ptr64) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(__int64) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned __int64) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(bool) __ptr64
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(short) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@F@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned short) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@G@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(int) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@H@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned int) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@I@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@J@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned long) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@K@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(float) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@M@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(double) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@N@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long double) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@O@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 (__cdecl*)(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAV?$basic_ios@GU?$char_traits@G@std@@@1@AEAV21@@Z@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::ios_base & __ptr64 (__cdecl*)(class std::ios_base & __ptr64)) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(void const * __ptr64) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@PEBX@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(__int64) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_J@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned __int64) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_K@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(bool) __ptr64
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV01@_N@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,class std::complex<float> const & __ptr64)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@M@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,class std::complex<double> const & __ptr64)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@N@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,class std::complex<long double> const & __ptr64)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBV?$complex@O@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,signed char)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@C@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,char)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,unsigned char)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@E@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,signed char const * __ptr64)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBC@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,char const * __ptr64)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64,unsigned char const * __ptr64)
+??6std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBE@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<float> const & __ptr64)
+??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@M@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<double> const & __ptr64)
+??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@N@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::complex<long double> const & __ptr64)
+??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@AEBV?$complex@O@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short)
+??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@G@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,short const * __ptr64)
+??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBF@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short const * __ptr64)
+??6std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@0@AEAV10@PEBG@Z
+; public: bool __cdecl std::ios_base::operator!(void)const  __ptr64
+??7ios_base@std@@QEBA_NXZ
+; public: bool __cdecl std::locale::operator==(class std::locale const & __ptr64)const  __ptr64
+??8locale@std@@QEBA_NAEBV01@@Z
+; bool __cdecl std::operator==(float const & __ptr64,class std::complex<float> const & __ptr64)
+??8std@@YA_NAEBMAEBV?$complex@M@0@@Z
+; bool __cdecl std::operator==(double const & __ptr64,class std::complex<double> const & __ptr64)
+??8std@@YA_NAEBNAEBV?$complex@N@0@@Z
+; bool __cdecl std::operator==(long double const & __ptr64,class std::complex<long double> const & __ptr64)
+??8std@@YA_NAEBOAEBV?$complex@O@0@@Z
+; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??8std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
+??8std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??8std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
+??8std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; bool __cdecl std::operator==(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
+??8std@@YA_NAEBV?$complex@M@0@0@Z
+; bool __cdecl std::operator==(class std::complex<float> const & __ptr64,float const & __ptr64)
+??8std@@YA_NAEBV?$complex@M@0@AEBM@Z
+; bool __cdecl std::operator==(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
+??8std@@YA_NAEBV?$complex@N@0@0@Z
+; bool __cdecl std::operator==(class std::complex<double> const & __ptr64,double const & __ptr64)
+??8std@@YA_NAEBV?$complex@N@0@AEBN@Z
+; bool __cdecl std::operator==(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
+??8std@@YA_NAEBV?$complex@O@0@0@Z
+; bool __cdecl std::operator==(class std::complex<long double> const & __ptr64,long double const & __ptr64)
+??8std@@YA_NAEBV?$complex@O@0@AEBO@Z
+; bool __cdecl std::operator==(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??8std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator==(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??8std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; public: bool __cdecl std::locale::operator!=(class std::locale const & __ptr64)const  __ptr64
+??9locale@std@@QEBA_NAEBV01@@Z
+; bool __cdecl std::operator!=(float const & __ptr64,class std::complex<float> const & __ptr64)
+??9std@@YA_NAEBMAEBV?$complex@M@0@@Z
+; bool __cdecl std::operator!=(double const & __ptr64,class std::complex<double> const & __ptr64)
+??9std@@YA_NAEBNAEBV?$complex@N@0@@Z
+; bool __cdecl std::operator!=(long double const & __ptr64,class std::complex<long double> const & __ptr64)
+??9std@@YA_NAEBOAEBV?$complex@O@0@@Z
+; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??9std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
+??9std@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??9std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
+??9std@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; bool __cdecl std::operator!=(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
+??9std@@YA_NAEBV?$complex@M@0@0@Z
+; bool __cdecl std::operator!=(class std::complex<float> const & __ptr64,float const & __ptr64)
+??9std@@YA_NAEBV?$complex@M@0@AEBM@Z
+; bool __cdecl std::operator!=(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
+??9std@@YA_NAEBV?$complex@N@0@0@Z
+; bool __cdecl std::operator!=(class std::complex<double> const & __ptr64,double const & __ptr64)
+??9std@@YA_NAEBV?$complex@N@0@AEBN@Z
+; bool __cdecl std::operator!=(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
+??9std@@YA_NAEBV?$complex@O@0@0@Z
+; bool __cdecl std::operator!=(class std::complex<long double> const & __ptr64,long double const & __ptr64)
+??9std@@YA_NAEBV?$complex@O@0@AEBO@Z
+; bool __cdecl std::operator!=(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??9std@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator!=(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??9std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; public: char & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned __int64) __ptr64
+??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z
+; public: char const & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned __int64)const  __ptr64
+??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z
+; public: unsigned short & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned __int64) __ptr64
+??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z
+; public: unsigned short const & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned __int64)const  __ptr64
+??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z
+; public: __cdecl std::locale::id::operator unsigned __int64(void) __ptr64
+??Bid@locale@std@@QEAA_KXZ
+; public: __cdecl std::ios_base::operator void * __ptr64(void)const  __ptr64
+??Bios_base@std@@QEBAPEAXXZ
+; class std::complex<float>  __cdecl std::operator*(float const & __ptr64,class std::complex<float> const & __ptr64)
+??Dstd@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
+; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
+??Dstd@@YA?AV?$complex@M@0@AEBV10@0@Z
+; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const & __ptr64,float const & __ptr64)
+??Dstd@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
+; class std::complex<double>  __cdecl std::operator*(double const & __ptr64,class std::complex<double> const & __ptr64)
+??Dstd@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
+; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
+??Dstd@@YA?AV?$complex@N@0@AEBV10@0@Z
+; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const & __ptr64,double const & __ptr64)
+??Dstd@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
+; class std::complex<long double>  __cdecl std::operator*(long double const & __ptr64,class std::complex<long double> const & __ptr64)
+??Dstd@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
+; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
+??Dstd@@YA?AV?$complex@O@0@AEBV10@0@Z
+; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const & __ptr64,long double const & __ptr64)
+??Dstd@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
+; class std::complex<float>  __cdecl std::operator-(float const & __ptr64,class std::complex<float> const & __ptr64)
+??Gstd@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
+; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
+??Gstd@@YA?AV?$complex@M@0@AEBV10@0@Z
+; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const & __ptr64)
+??Gstd@@YA?AV?$complex@M@0@AEBV10@@Z
+; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const & __ptr64,float const & __ptr64)
+??Gstd@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
+; class std::complex<double>  __cdecl std::operator-(double const & __ptr64,class std::complex<double> const & __ptr64)
+??Gstd@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
+; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
+??Gstd@@YA?AV?$complex@N@0@AEBV10@0@Z
+; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const & __ptr64)
+??Gstd@@YA?AV?$complex@N@0@AEBV10@@Z
+; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const & __ptr64,double const & __ptr64)
+??Gstd@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
+; class std::complex<long double>  __cdecl std::operator-(long double const & __ptr64,class std::complex<long double> const & __ptr64)
+??Gstd@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
+; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
+??Gstd@@YA?AV?$complex@O@0@AEBV10@0@Z
+; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const & __ptr64)
+??Gstd@@YA?AV?$complex@O@0@AEBV10@@Z
+; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const & __ptr64,long double const & __ptr64)
+??Gstd@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@0@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@D@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AEBV10@PEBD@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DAEBV10@@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBDAEBV10@@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@0@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@G@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AEBV10@PEBG@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GAEBV10@@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBGAEBV10@@Z
+; class std::complex<float>  __cdecl std::operator+(float const & __ptr64,class std::complex<float> const & __ptr64)
+??Hstd@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
+; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
+??Hstd@@YA?AV?$complex@M@0@AEBV10@0@Z
+; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const & __ptr64)
+??Hstd@@YA?AV?$complex@M@0@AEBV10@@Z
+; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const & __ptr64,float const & __ptr64)
+??Hstd@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
+; class std::complex<double>  __cdecl std::operator+(double const & __ptr64,class std::complex<double> const & __ptr64)
+??Hstd@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
+; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
+??Hstd@@YA?AV?$complex@N@0@AEBV10@0@Z
+; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const & __ptr64)
+??Hstd@@YA?AV?$complex@N@0@AEBV10@@Z
+; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const & __ptr64,double const & __ptr64)
+??Hstd@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
+; class std::complex<long double>  __cdecl std::operator+(long double const & __ptr64,class std::complex<long double> const & __ptr64)
+??Hstd@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
+; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
+??Hstd@@YA?AV?$complex@O@0@AEBV10@0@Z
+; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const & __ptr64)
+??Hstd@@YA?AV?$complex@O@0@AEBV10@@Z
+; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const & __ptr64,long double const & __ptr64)
+??Hstd@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
+; class std::complex<float>  __cdecl std::operator/(float const & __ptr64,class std::complex<float> const & __ptr64)
+??Kstd@@YA?AV?$complex@M@0@AEBMAEBV10@@Z
+; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
+??Kstd@@YA?AV?$complex@M@0@AEBV10@0@Z
+; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const & __ptr64,float const & __ptr64)
+??Kstd@@YA?AV?$complex@M@0@AEBV10@AEBM@Z
+; class std::complex<double>  __cdecl std::operator/(double const & __ptr64,class std::complex<double> const & __ptr64)
+??Kstd@@YA?AV?$complex@N@0@AEBNAEBV10@@Z
+; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
+??Kstd@@YA?AV?$complex@N@0@AEBV10@0@Z
+; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const & __ptr64,double const & __ptr64)
+??Kstd@@YA?AV?$complex@N@0@AEBV10@AEBN@Z
+; class std::complex<long double>  __cdecl std::operator/(long double const & __ptr64,class std::complex<long double> const & __ptr64)
+??Kstd@@YA?AV?$complex@O@0@AEBOAEBV10@@Z
+; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
+??Kstd@@YA?AV?$complex@O@0@AEBV10@0@Z
+; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const & __ptr64,long double const & __ptr64)
+??Kstd@@YA?AV?$complex@O@0@AEBV10@AEBO@Z
+; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Mstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
+??Mstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Mstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
+??Mstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; bool __cdecl std::operator<(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Mstd@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator<(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Mstd@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Nstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
+??Nstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Nstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
+??Nstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; bool __cdecl std::operator<=(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Nstd@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator<=(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Nstd@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Ostd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
+??Ostd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Ostd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
+??Ostd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; bool __cdecl std::operator>(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Ostd@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator>(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Ostd@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Pstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,char const * __ptr64)
+??Pstd@@YA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PEBD@Z
+; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Pstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned short const * __ptr64)
+??Pstd@@YA_NAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PEBG@Z
+; bool __cdecl std::operator>=(char const * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)
+??Pstd@@YA_NPEBDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator>=(unsigned short const * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)
+??Pstd@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; public: bool __cdecl std::locale::operator()(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
+??Rlocale@std@@QEBA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@0@Z
+; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator*=(float const & __ptr64) __ptr64
+??X?$_Complex_base@M@std@@QEAAAEAV01@AEBM@Z
+; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator*=(double const & __ptr64) __ptr64
+??X?$_Complex_base@N@std@@QEAAAEAV01@AEBN@Z
+; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator*=(long double const & __ptr64) __ptr64
+??X?$_Complex_base@O@std@@QEAAAEAV01@AEBO@Z
+; class std::complex<float> & __ptr64 __cdecl std::operator*=(class std::complex<float> & __ptr64,class std::complex<float> const & __ptr64)
+??Xstd@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
+; class std::complex<double> & __ptr64 __cdecl std::operator*=(class std::complex<double> & __ptr64,class std::complex<double> const & __ptr64)
+??Xstd@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
+; class std::complex<long double> & __ptr64 __cdecl std::operator*=(class std::complex<long double> & __ptr64,class std::complex<long double> const & __ptr64)
+??Xstd@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
+; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator+=(float const & __ptr64) __ptr64
+??Y?$_Complex_base@M@std@@QEAAAEAV01@AEBM@Z
+; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator+=(double const & __ptr64) __ptr64
+??Y?$_Complex_base@N@std@@QEAAAEAV01@AEBN@Z
+; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator+=(long double const & __ptr64) __ptr64
+??Y?$_Complex_base@O@std@@QEAAAEAV01@AEBO@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char) __ptr64
+??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@D@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char const * __ptr64) __ptr64
+??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV01@PEBD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short) __ptr64
+??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@G@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short const * __ptr64) __ptr64
+??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV01@PEBG@Z
+; class std::complex<float> & __ptr64 __cdecl std::operator+=(class std::complex<float> & __ptr64,class std::complex<float> const & __ptr64)
+??Ystd@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
+; class std::complex<double> & __ptr64 __cdecl std::operator+=(class std::complex<double> & __ptr64,class std::complex<double> const & __ptr64)
+??Ystd@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
+; class std::complex<long double> & __ptr64 __cdecl std::operator+=(class std::complex<long double> & __ptr64,class std::complex<long double> const & __ptr64)
+??Ystd@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
+; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator-=(float const & __ptr64) __ptr64
+??Z?$_Complex_base@M@std@@QEAAAEAV01@AEBM@Z
+; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator-=(double const & __ptr64) __ptr64
+??Z?$_Complex_base@N@std@@QEAAAEAV01@AEBN@Z
+; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator-=(long double const & __ptr64) __ptr64
+??Z?$_Complex_base@O@std@@QEAAAEAV01@AEBO@Z
+; class std::complex<float> & __ptr64 __cdecl std::operator-=(class std::complex<float> & __ptr64,class std::complex<float> const & __ptr64)
+??Zstd@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
+; class std::complex<double> & __ptr64 __cdecl std::operator-=(class std::complex<double> & __ptr64,class std::complex<double> const & __ptr64)
+??Zstd@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
+; class std::complex<long double> & __ptr64 __cdecl std::operator-=(class std::complex<long double> & __ptr64,class std::complex<long double> const & __ptr64)
+??Zstd@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
+; public: class std::_Complex_base<float> & __ptr64 __cdecl std::_Complex_base<float>::operator/=(float const & __ptr64) __ptr64
+??_0?$_Complex_base@M@std@@QEAAAEAV01@AEBM@Z
+; public: class std::_Complex_base<double> & __ptr64 __cdecl std::_Complex_base<double>::operator/=(double const & __ptr64) __ptr64
+??_0?$_Complex_base@N@std@@QEAAAEAV01@AEBN@Z
+; public: class std::_Complex_base<long double> & __ptr64 __cdecl std::_Complex_base<long double>::operator/=(long double const & __ptr64) __ptr64
+??_0?$_Complex_base@O@std@@QEAAAEAV01@AEBO@Z
+; class std::complex<float> & __ptr64 __cdecl std::operator/=(class std::complex<float> & __ptr64,class std::complex<float> const & __ptr64)
+??_0std@@YAAEAV?$complex@M@0@AEAV10@AEBV10@@Z
+; class std::complex<double> & __ptr64 __cdecl std::operator/=(class std::complex<double> & __ptr64,class std::complex<double> const & __ptr64)
+??_0std@@YAAEAV?$complex@N@0@AEAV10@AEBV10@@Z
+; class std::complex<long double> & __ptr64 __cdecl std::operator/=(class std::complex<long double> & __ptr64,class std::complex<long double> const & __ptr64)
+??_0std@@YAAEAV?$complex@O@0@AEAV10@AEBV10@@Z
+; const  std::_Mpunct<char>::`vftable'
+??_7?$_Mpunct@D@std@@6B@
+; const  std::_Mpunct<unsigned short>::`vftable'
+??_7?$_Mpunct@G@std@@6B@
+; const  std::basic_filebuf<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_fstream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_ios<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_iostream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_istream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
+; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
+; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_ostream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
+; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
+; const  std::basic_streambuf<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
+; const  std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
+; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
+; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
+; const  std::codecvt<char,char,int>::`vftable'
+??_7?$codecvt@DDH@std@@6B@
+; const  std::codecvt<unsigned short,char,int>::`vftable'
+??_7?$codecvt@GDH@std@@6B@
+; const  std::collate<char>::`vftable'
+??_7?$collate@D@std@@6B@
+; const  std::collate<unsigned short>::`vftable'
+??_7?$collate@G@std@@6B@
+; const  std::ctype<char>::`vftable'
+??_7?$ctype@D@std@@6B@
+; const  std::ctype<unsigned short>::`vftable'
+??_7?$ctype@G@std@@6B@
+; const  std::messages<char>::`vftable'
+??_7?$messages@D@std@@6B@
+; const  std::messages<unsigned short>::`vftable'
+??_7?$messages@G@std@@6B@
+; const  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::moneypunct<char,1>::`vftable'
+??_7?$moneypunct@D$00@std@@6B@
+; const  std::moneypunct<char,0>::`vftable'
+??_7?$moneypunct@D$0A@@std@@6B@
+; const  std::moneypunct<unsigned short,1>::`vftable'
+??_7?$moneypunct@G$00@std@@6B@
+; const  std::moneypunct<unsigned short,0>::`vftable'
+??_7?$moneypunct@G$0A@@std@@6B@
+; const  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::numpunct<char>::`vftable'
+??_7?$numpunct@D@std@@6B@
+; const  std::numpunct<unsigned short>::`vftable'
+??_7?$numpunct@G@std@@6B@
+; const  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::__non_rtti_object::`vftable'
+??_7__non_rtti_object@std@@6B@
+; const  std::bad_alloc::`vftable'
+??_7bad_alloc@std@@6B@
+; const  std::bad_cast::`vftable'
+??_7bad_cast@std@@6B@
+; const  std::bad_exception::`vftable'
+??_7bad_exception@std@@6B@
+; const  std::bad_typeid::`vftable'
+??_7bad_typeid@std@@6B@
+; const  std::codecvt_base::`vftable'
+??_7codecvt_base@std@@6B@
+; const  std::ctype_base::`vftable'
+??_7ctype_base@std@@6B@
+; const  std::domain_error::`vftable'
+??_7domain_error@std@@6B@
+; const  std::locale::facet::`vftable'
+??_7facet@locale@std@@6B@
+; const  std::ios_base::`vftable'
+??_7ios_base@std@@6B@
+; const  std::length_error::`vftable'
+??_7length_error@std@@6B@
+; const  std::logic_error::`vftable'
+??_7logic_error@std@@6B@
+; const  std::messages_base::`vftable'
+??_7messages_base@std@@6B@
+; const  std::money_base::`vftable'
+??_7money_base@std@@6B@
+; const  std::out_of_range::`vftable'
+??_7out_of_range@std@@6B@
+; const  std::overflow_error::`vftable'
+??_7overflow_error@std@@6B@
+; const  std::range_error::`vftable'
+??_7range_error@std@@6B@
+; const  std::runtime_error::`vftable'
+??_7runtime_error@std@@6B@
+; const  std::time_base::`vftable'
+??_7time_base@std@@6B@
+; const  std::underflow_error::`vftable'
+??_7underflow_error@std@@6B@
+; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
+??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
+??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ DATA
+; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ DATA
+; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
+??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
+??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_istream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ DATA
+; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ DATA
+; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
+??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ DATA
+; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
+??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ DATA
+; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ DATA
+; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ DATA
+; const  std::basic_ostream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ DATA
+; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ DATA
+; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
+??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ DATA
+; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
+??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ DATA
+; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
+??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
+??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
+; public: void __cdecl std::basic_fstream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
+??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
+??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
+??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
+??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_iostream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
+??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
+??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_istream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
+??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
+??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void) __ptr64
+??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void) __ptr64
+??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
+??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
+??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ostream<char,struct std::char_traits<char> >::`vbase destructor'(void) __ptr64
+??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void) __ptr64
+??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void) __ptr64
+??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void) __ptr64
+??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void) __ptr64
+??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void) __ptr64
+??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::`default constructor closure'(void) __ptr64
+??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`default constructor closure'(void) __ptr64
+??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
+??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
+??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
+??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
+??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
+??_F?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
+??_F?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
+??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
+??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void) __ptr64
+??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXXZ
+; public: void __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void) __ptr64
+??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXXZ
+; public: void __cdecl std::codecvt<char,char,int>::`default constructor closure'(void) __ptr64
+??_F?$codecvt@DDH@std@@QEAAXXZ
+; public: void __cdecl std::codecvt<unsigned short,char,int>::`default constructor closure'(void) __ptr64
+??_F?$codecvt@GDH@std@@QEAAXXZ
+; public: void __cdecl std::collate<char>::`default constructor closure'(void) __ptr64
+??_F?$collate@D@std@@QEAAXXZ
+; public: void __cdecl std::collate<unsigned short>::`default constructor closure'(void) __ptr64
+??_F?$collate@G@std@@QEAAXXZ
+; public: void __cdecl std::complex<float>::`default constructor closure'(void) __ptr64
+??_F?$complex@M@std@@QEAAXXZ
+; public: void __cdecl std::complex<double>::`default constructor closure'(void) __ptr64
+??_F?$complex@N@std@@QEAAXXZ
+; public: void __cdecl std::complex<long double>::`default constructor closure'(void) __ptr64
+??_F?$complex@O@std@@QEAAXXZ
+; public: void __cdecl std::ctype<char>::`default constructor closure'(void) __ptr64
+??_F?$ctype@D@std@@QEAAXXZ
+; public: void __cdecl std::ctype<unsigned short>::`default constructor closure'(void) __ptr64
+??_F?$ctype@G@std@@QEAAXXZ
+; public: void __cdecl std::messages<char>::`default constructor closure'(void) __ptr64
+??_F?$messages@D@std@@QEAAXXZ
+; public: void __cdecl std::messages<unsigned short>::`default constructor closure'(void) __ptr64
+??_F?$messages@G@std@@QEAAXXZ
+; public: void __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
+??_F?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
+??_F?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
+??_F?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
+??_F?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::moneypunct<char,1>::`default constructor closure'(void) __ptr64
+??_F?$moneypunct@D$00@std@@QEAAXXZ
+; public: void __cdecl std::moneypunct<char,0>::`default constructor closure'(void) __ptr64
+??_F?$moneypunct@D$0A@@std@@QEAAXXZ
+; public: void __cdecl std::moneypunct<unsigned short,1>::`default constructor closure'(void) __ptr64
+??_F?$moneypunct@G$00@std@@QEAAXXZ
+; public: void __cdecl std::moneypunct<unsigned short,0>::`default constructor closure'(void) __ptr64
+??_F?$moneypunct@G$0A@@std@@QEAAXXZ
+; public: void __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
+??_F?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
+??_F?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
+??_F?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
+??_F?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::numpunct<char>::`default constructor closure'(void) __ptr64
+??_F?$numpunct@D@std@@QEAAXXZ
+; public: void __cdecl std::numpunct<unsigned short>::`default constructor closure'(void) __ptr64
+??_F?$numpunct@G@std@@QEAAXXZ
+; public: void __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
+??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
+??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void) __ptr64
+??_F?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void) __ptr64
+??_F?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::_Locinfo::`default constructor closure'(void) __ptr64
+??_F_Locinfo@std@@QEAAXXZ
+; public: void __cdecl std::_Timevec::`default constructor closure'(void) __ptr64
+??_F_Timevec@std@@QEAAXXZ
+; public: void __cdecl std::bad_alloc::`default constructor closure'(void) __ptr64
+??_Fbad_alloc@std@@QEAAXXZ
+; public: void __cdecl std::bad_cast::`default constructor closure'(void) __ptr64
+??_Fbad_cast@std@@QEAAXXZ
+; public: void __cdecl std::bad_exception::`default constructor closure'(void) __ptr64
+??_Fbad_exception@std@@QEAAXXZ
+; public: void __cdecl std::bad_typeid::`default constructor closure'(void) __ptr64
+??_Fbad_typeid@std@@QEAAXXZ
+; public: void __cdecl std::codecvt_base::`default constructor closure'(void) __ptr64
+??_Fcodecvt_base@std@@QEAAXXZ
+; public: void __cdecl std::ctype_base::`default constructor closure'(void) __ptr64
+??_Fctype_base@std@@QEAAXXZ
+; public: void __cdecl std::locale::facet::`default constructor closure'(void) __ptr64
+??_Ffacet@locale@std@@QEAAXXZ
+; public: void __cdecl std::messages_base::`default constructor closure'(void) __ptr64
+??_Fmessages_base@std@@QEAAXXZ
+; public: void __cdecl std::money_base::`default constructor closure'(void) __ptr64
+??_Fmoney_base@std@@QEAAXXZ
+; public: void __cdecl std::time_base::`default constructor closure'(void) __ptr64
+??_Ftime_base@std@@QEAAXXZ
+; public: class std::_Locinfo & __ptr64 __cdecl std::_Locinfo::_Addcats(int,char const * __ptr64) __ptr64
+?_Addcats@_Locinfo@std@@QEAAAEAV12@HPEBD@Z
+; public: class std::locale & __ptr64 __cdecl std::locale::_Addfac(class std::locale::facet * __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?_Addfac@locale@std@@QEAAAEAV12@PEAVfacet@12@_K1@Z
+; protected: void __cdecl std::ios_base::_Addstd(void) __ptr64
+?_Addstd@ios_base@std@@IEAAXXZ
+; char const  `private: static char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)'::`2'::_C
+?_C@?1??_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPEBDXZ@4DB
+; unsigned short const  `private: static unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)'::`2'::_C
+?_C@?1??_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPEBGXZ@4GB
+; private: void __cdecl std::ios_base::_Callfns(enum std::ios_base::event) __ptr64
+?_Callfns@ios_base@std@@AEAAXW4event@12@@Z
+; ?5???$log@M@std::_Cl(YA?AV?$complex@M@1@AEBV21@@Z@4MB)
+?_Cl@?5???$log@M@std@@YA?AV?$complex@M@1@AEBV21@@Z@4MB
+; ?5???$log@N@std::_Cl(YA?AV?$complex@N@1@AEBV21@@Z@4NB)
+?_Cl@?5???$log@N@std@@YA?AV?$complex@N@1@AEBV21@@Z@4NB
+; private: static class std::locale::_Locimp * __ptr64  __ptr64 std::locale::_Locimp::_Clocptr
+?_Clocptr@_Locimp@locale@std@@0PEAV123@EA DATA
+; private: static short const * __ptr64 const  __ptr64 std::ctype<char>::_Cltab
+?_Cltab@?$ctype@D@std@@0PEBFEB DATA
+; ?5???$log@M@std::_Cm(YA?AV?$complex@M@1@AEBV21@@Z@4MB)
+?_Cm@?5???$log@M@std@@YA?AV?$complex@M@1@AEBV21@@Z@4MB
+; ?5???$log@N@std::_Cm(YA?AV?$complex@N@1@AEBV21@@Z@4NB)
+?_Cm@?5???$log@N@std@@YA?AV?$complex@N@1@AEBV21@@Z@4NB
+; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Copy(unsigned __int64) __ptr64
+?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAX_K@Z
+; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Copy(unsigned __int64) __ptr64
+?_Copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAX_K@Z
+; public: static float __cdecl std::_Ctr<float>::_Cosh(float,float)
+?_Cosh@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Cosh(double,double)
+?_Cosh@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Cosh(long double,long double)
+?_Cosh@?$_Ctr@O@std@@SAOOO@Z
+; public: class std::locale::facet * __ptr64 __cdecl std::locale::facet::_Decref(void) __ptr64
+?_Decref@facet@locale@std@@QEAAPEAV123@XZ
+; protected: virtual void __cdecl std::bad_alloc::_Doraise(void)const  __ptr64
+?_Doraise@bad_alloc@std@@MEBAXXZ
+; protected: virtual void __cdecl std::bad_cast::_Doraise(void)const  __ptr64
+?_Doraise@bad_cast@std@@MEBAXXZ
+; protected: virtual void __cdecl std::bad_exception::_Doraise(void)const  __ptr64
+?_Doraise@bad_exception@std@@MEBAXXZ
+; protected: virtual void __cdecl std::bad_typeid::_Doraise(void)const  __ptr64
+?_Doraise@bad_typeid@std@@MEBAXXZ
+; protected: virtual void __cdecl std::domain_error::_Doraise(void)const  __ptr64
+?_Doraise@domain_error@std@@MEBAXXZ
+; protected: virtual void __cdecl std::length_error::_Doraise(void)const  __ptr64
+?_Doraise@length_error@std@@MEBAXXZ
+; protected: virtual void __cdecl std::logic_error::_Doraise(void)const  __ptr64
+?_Doraise@logic_error@std@@MEBAXXZ
+; protected: virtual void __cdecl std::out_of_range::_Doraise(void)const  __ptr64
+?_Doraise@out_of_range@std@@MEBAXXZ
+; protected: virtual void __cdecl std::overflow_error::_Doraise(void)const  __ptr64
+?_Doraise@overflow_error@std@@MEBAXXZ
+; protected: virtual void __cdecl std::range_error::_Doraise(void)const  __ptr64
+?_Doraise@range_error@std@@MEBAXXZ
+; protected: virtual void __cdecl std::runtime_error::_Doraise(void)const  __ptr64
+?_Doraise@runtime_error@std@@MEBAXXZ
+; protected: virtual void __cdecl std::underflow_error::_Doraise(void)const  __ptr64
+?_Doraise@underflow_error@std@@MEBAXXZ
+; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Eos(unsigned __int64) __ptr64
+?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAX_K@Z
+; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Eos(unsigned __int64) __ptr64
+?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAX_K@Z
+; public: static short __cdecl std::_Ctr<float>::_Exp(float * __ptr64,float,short)
+?_Exp@?$_Ctr@M@std@@SAFPEAMMF@Z
+; public: static short __cdecl std::_Ctr<double>::_Exp(double * __ptr64,double,short)
+?_Exp@?$_Ctr@N@std@@SAFPEANNF@Z
+; public: static short __cdecl std::_Ctr<long double>::_Exp(long double * __ptr64,long double,short)
+?_Exp@?$_Ctr@O@std@@SAFPEAOOF@Z
+; float __cdecl std::_Fabs(class std::complex<float> const & __ptr64,int * __ptr64)
+?_Fabs@std@@YAMAEBV?$complex@M@1@PEAH@Z
+; double __cdecl std::_Fabs(class std::complex<double> const & __ptr64,int * __ptr64)
+?_Fabs@std@@YANAEBV?$complex@N@1@PEAH@Z
+; long double __cdecl std::_Fabs(class std::complex<long double> const & __ptr64,int * __ptr64)
+?_Fabs@std@@YAOAEBV?$complex@O@1@PEAH@Z
+; protected: static char * __ptr64 __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ffmt(char * __ptr64,char,int)
+?_Ffmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPEADPEADDH@Z
+; protected: static char * __ptr64 __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ffmt(char * __ptr64,char,int)
+?_Ffmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPEADPEADDH@Z
+; private: struct std::ios_base::_Iosarray & __ptr64 __cdecl std::ios_base::_Findarr(int) __ptr64
+?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Fput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,char const * __ptr64,unsigned __int64,unsigned __int64)
+?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DPEBD_K3@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Fput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,char const * __ptr64,unsigned __int64,unsigned __int64)
+?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GPEBD_K3@Z
+; __int64 const  std::_Fpz
+?_Fpz@std@@3_JB
+; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Freeze(void) __ptr64
+?_Freeze@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAXXZ
+; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Freeze(void) __ptr64
+?_Freeze@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAXXZ
+; public: static unsigned __int64 __cdecl std::_Mpunct<char>::_Getcat(void)
+?_Getcat@?$_Mpunct@D@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::_Mpunct<unsigned short>::_Getcat(void)
+?_Getcat@?$_Mpunct@G@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::codecvt<char,char,int>::_Getcat(void)
+?_Getcat@?$codecvt@DDH@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::codecvt<unsigned short,char,int>::_Getcat(void)
+?_Getcat@?$codecvt@GDH@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::collate<char>::_Getcat(void)
+?_Getcat@?$collate@D@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::collate<unsigned short>::_Getcat(void)
+?_Getcat@?$collate@G@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::ctype<char>::_Getcat(void)
+?_Getcat@?$ctype@D@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::ctype<unsigned short>::_Getcat(void)
+?_Getcat@?$ctype@G@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::messages<char>::_Getcat(void)
+?_Getcat@?$messages@D@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::messages<unsigned short>::_Getcat(void)
+?_Getcat@?$messages@G@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::moneypunct<char,1>::_Getcat(void)
+?_Getcat@?$moneypunct@D$00@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::moneypunct<char,0>::_Getcat(void)
+?_Getcat@?$moneypunct@D$0A@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::moneypunct<unsigned short,1>::_Getcat(void)
+?_Getcat@?$moneypunct@G$00@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::moneypunct<unsigned short,0>::_Getcat(void)
+?_Getcat@?$moneypunct@G$0A@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::numpunct<char>::_Getcat(void)
+?_Getcat@?$numpunct@D@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::numpunct<unsigned short>::_Getcat(void)
+?_Getcat@?$numpunct@G@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SA_KXZ
+; public: static unsigned __int64 __cdecl std::locale::facet::_Getcat(void)
+?_Getcat@facet@locale@std@@SA_KXZ
+; public: struct _Collvec  __cdecl std::_Locinfo::_Getcoll(void)const  __ptr64
+?_Getcoll@_Locinfo@std@@QEBA?AU_Collvec@@XZ
+; public: struct _Ctypevec  __cdecl std::_Locinfo::_Getctype(void)const  __ptr64
+?_Getctype@_Locinfo@std@@QEBA?AU_Ctypevec@@XZ
+; public: struct _Cvtvec  __cdecl std::_Locinfo::_Getcvt(void)const  __ptr64
+?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
+; public: char const * __ptr64 __cdecl std::_Locinfo::_Getdays(void)const  __ptr64
+?_Getdays@_Locinfo@std@@QEBAPEBDXZ
+; public: class std::locale::facet const * __ptr64 __cdecl std::locale::_Getfacet(unsigned __int64,bool)const  __ptr64
+?_Getfacet@locale@std@@QEBAPEBVfacet@12@_K_N@Z
+; public: char const * __ptr64 __cdecl std::_Locinfo::_Getfalse(void)const  __ptr64
+?_Getfalse@_Locinfo@std@@QEBAPEBDXZ
+; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getffld(char * __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::locale const & __ptr64)
+?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPEADAEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AEBVlocale@2@@Z
+; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getffld(char * __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::locale const & __ptr64)
+?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPEADAEAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AEBVlocale@2@@Z
+; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getifld(char * __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,int,class std::locale const & __ptr64)
+?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPEADAEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HAEBVlocale@2@@Z
+; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getifld(char * __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,int,class std::locale const & __ptr64)
+?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPEADAEAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HAEBVlocale@2@@Z
+; private: static int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getint(class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,int,int,int & __ptr64)
+?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHAEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAEAH@Z
+; private: static int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getint(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,int,int,int & __ptr64)
+?_Getint@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHAEAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0HHAEAH@Z
+; public: struct lconv const * __ptr64 __cdecl std::_Locinfo::_Getlconv(void)const  __ptr64
+?_Getlconv@_Locinfo@std@@QEBAPEBUlconv@@XZ
+; private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getmfld(class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,class std::istreambuf_iterator<char,struct std::char_traits<char> > & __ptr64,bool,class std::ios_base & __ptr64)const  __ptr64
+?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@AEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAEAVios_base@2@@Z
+; private: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getmfld(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,bool,class std::ios_base & __ptr64)const  __ptr64
+?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@AEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@AEAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAEAVios_base@2@@Z
+; public: char const * __ptr64 __cdecl std::_Locinfo::_Getmonths(void)const  __ptr64
+?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Locinfo::_Getname(void)const  __ptr64
+?_Getname@_Locinfo@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: char const * __ptr64 __cdecl std::_Locinfo::_Getno(void)const  __ptr64
+?_Getno@_Locinfo@std@@QEBAPEBDXZ
+; public: void * __ptr64 __cdecl std::_Timevec::_Getptr(void)const  __ptr64
+?_Getptr@_Timevec@std@@QEBAPEAXXZ
+; public: class std::_Timevec  __cdecl std::_Locinfo::_Gettnames(void)const  __ptr64
+?_Gettnames@_Locinfo@std@@QEBA?AV_Timevec@2@XZ
+; public: char const * __ptr64 __cdecl std::_Locinfo::_Gettrue(void)const  __ptr64
+?_Gettrue@_Locinfo@std@@QEBAPEBDXZ
+; public: char const * __ptr64 __cdecl std::_Locinfo::_Getyes(void)const  __ptr64
+?_Getyes@_Locinfo@std@@QEBAPEBDXZ
+; private: static class std::locale::_Locimp * __ptr64  __ptr64 std::locale::_Locimp::_Global
+?_Global@_Locimp@locale@std@@0PEAV123@EA DATA
+; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Gndec(void) __ptr64
+?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ
+; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gndec(void) __ptr64
+?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ
+; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Gninc(void) __ptr64
+?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ
+; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gninc(void) __ptr64
+?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ
+; private: bool __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned __int64,bool) __ptr64
+?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAA_N_K_N@Z
+; private: bool __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Grow(unsigned __int64,bool) __ptr64
+?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAA_N_K_N@Z
+; private: static int  std::locale::id::_Id_cnt
+?_Id_cnt@id@locale@std@@0HA DATA
+; protected: static char * __ptr64 __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ifmt(char * __ptr64,char,int)
+?_Ifmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPEADPEADDH@Z
+; protected: static char * __ptr64 __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ifmt(char * __ptr64,char const * __ptr64,int)
+?_Ifmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPEADPEADPEBDH@Z
+; protected: static char * __ptr64 __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ifmt(char * __ptr64,char,int)
+?_Ifmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPEADPEADDH@Z
+; protected: static char * __ptr64 __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ifmt(char * __ptr64,char const * __ptr64,int)
+?_Ifmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPEADPEADPEBDH@Z
+; public: void __cdecl std::locale::facet::_Incref(void) __ptr64
+?_Incref@facet@locale@std@@QEAAXXZ
+; private: static int  std::ios_base::_Index
+?_Index@ios_base@std@@0HA DATA
+; public: static float __cdecl std::_Ctr<float>::_Infv(float)
+?_Infv@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Infv(double)
+?_Infv@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Infv(long double)
+?_Infv@?$_Ctr@O@std@@SAOO@Z
+; protected: void __cdecl std::_Mpunct<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$_Mpunct@D@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::_Mpunct<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$_Mpunct@G@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf * __ptr64,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl) __ptr64
+?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z
+; protected: void __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf * __ptr64,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl) __ptr64
+?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z
+; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Init(char * __ptr64 * __ptr64,char * __ptr64 * __ptr64,int * __ptr64,char * __ptr64 * __ptr64,char * __ptr64 * __ptr64,int * __ptr64) __ptr64
+?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z
+; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Init(void) __ptr64
+?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ
+; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64,int * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64,int * __ptr64) __ptr64
+?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAPEAG0PEAH001@Z
+; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(void) __ptr64
+?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ
+; protected: void __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Init(char const * __ptr64,unsigned __int64,int) __ptr64
+?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXPEBD_KH@Z
+; protected: void __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Init(unsigned short const * __ptr64,unsigned __int64,int) __ptr64
+?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXPEBG_KH@Z
+; protected: void __cdecl std::codecvt<char,char,int>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$codecvt@DDH@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::codecvt<unsigned short,char,int>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$codecvt@GDH@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::collate<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$collate@D@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::collate<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$collate@G@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::ctype<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$ctype@D@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::ctype<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$ctype@G@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::messages<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$messages@D@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::messages<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$messages@G@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::numpunct<char>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$numpunct@D@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::numpunct<unsigned short>::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$numpunct@G@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const & __ptr64) __ptr64
+?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IEAAXAEBV_Locinfo@2@@Z
+; protected: void __cdecl std::ios_base::_Init(void) __ptr64
+?_Init@ios_base@std@@IEAAXXZ
+; private: static class std::locale::_Locimp * __ptr64 __cdecl std::locale::_Init(void)
+?_Init@locale@std@@CAPEAV_Locimp@12@XZ
+; protected: void __cdecl std::strstreambuf::_Init(int,char * __ptr64,char * __ptr64,int) __ptr64
+?_Init@strstreambuf@std@@IEAAXHPEAD0H@Z
+; private: static int  std::ios_base::Init::_Init_cnt
+?_Init_cnt@Init@ios_base@std@@0HA DATA
+; private: static int  std::_Winit::_Init_cnt
+?_Init_cnt@_Winit@std@@0HA DATA
+; protected: void __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::_Initcvt(void) __ptr64
+?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXXZ
+; protected: void __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initcvt(void) __ptr64
+?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXXZ
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Iput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,char * __ptr64,unsigned __int64)
+?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DPEAD_K@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Iput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,char * __ptr64,unsigned __int64)
+?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GPEAD_K@Z
+; public: bool __cdecl std::locale::_Iscloc(void)const  __ptr64
+?_Iscloc@locale@std@@QEBA_NXZ
+; public: static bool __cdecl std::_Ctr<float>::_Isinf(float)
+?_Isinf@?$_Ctr@M@std@@SA_NM@Z
+; public: static bool __cdecl std::_Ctr<double>::_Isinf(double)
+?_Isinf@?$_Ctr@N@std@@SA_NN@Z
+; public: static bool __cdecl std::_Ctr<long double>::_Isinf(long double)
+?_Isinf@?$_Ctr@O@std@@SA_NO@Z
+; public: static bool __cdecl std::_Ctr<float>::_Isnan(float)
+?_Isnan@?$_Ctr@M@std@@SA_NM@Z
+; public: static bool __cdecl std::_Ctr<double>::_Isnan(double)
+?_Isnan@?$_Ctr@N@std@@SA_NN@Z
+; public: static bool __cdecl std::_Ctr<long double>::_Isnan(long double)
+?_Isnan@?$_Ctr@O@std@@SA_NO@Z
+; private: void __cdecl std::_Mpunct<char>::_Makpat(struct std::money_base::pattern & __ptr64,char,char,char) __ptr64
+?_Makpat@?$_Mpunct@D@std@@AEAAXAEAUpattern@money_base@2@DDD@Z
+; private: void __cdecl std::_Mpunct<unsigned short>::_Makpat(struct std::money_base::pattern & __ptr64,char,char,char) __ptr64
+?_Makpat@?$_Mpunct@G@std@@AEAAXAEAUpattern@money_base@2@DDD@Z
+; private: int __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Mode(int) __ptr64
+?_Mode@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAHH@Z
+; private: int __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Mode(int) __ptr64
+?_Mode@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAHH@Z
+; public: static float __cdecl std::_Ctr<float>::_Nanv(float)
+?_Nanv@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Nanv(double)
+?_Nanv@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Nanv(long double)
+?_Nanv@?$_Ctr@O@std@@SAOO@Z
+; void __cdecl std::_Nomemory(void)
+?_Nomemory@std@@YAXXZ
+; private: static char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)
+?_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPEBDXZ
+; private: static unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)
+?_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPEBGXZ
+; private: static unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Pdif(char const * __ptr64,char const * __ptr64)
+?_Pdif@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CA_KPEBD0@Z
+; private: static unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Pdif(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?_Pdif@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CA_KPEBG0@Z
+; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void) __ptr64
+?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ
+; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Pninc(void) __ptr64
+?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ
+; private: static char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char * __ptr64,unsigned __int64)
+?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPEADPEAD_K@Z
+; private: static char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char const * __ptr64,unsigned __int64)
+?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPEBDPEBD_K@Z
+; private: static unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short * __ptr64,unsigned __int64)
+?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPEAGPEAG_K@Z
+; private: static unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short const * __ptr64,unsigned __int64)
+?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPEBGPEBG_K@Z
+; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const * __ptr64,unsigned __int64)
+?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PEBD_K@Z
+; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const * __ptr64,unsigned __int64)
+?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PEBG_K@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const * __ptr64,unsigned __int64)
+?_Put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PEBD_K@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const * __ptr64,unsigned __int64)
+?_Put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PEBG_K@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putc(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const * __ptr64,unsigned __int64)
+?_Putc@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PEBD_K@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putc(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,char const * __ptr64,unsigned __int64)
+?_Putc@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PEBD_K@Z
+; private: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putmfld(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,bool,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)const  __ptr64
+?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@AEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; private: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putmfld(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,bool,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >)const  __ptr64
+?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@AEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; ?BN@???$_Fabs@M@std::_R2(YAMAEBV?$complex@M@1@PEAH@Z@4MB)
+?_R2@?BN@???$_Fabs@M@std@@YAMAEBV?$complex@M@1@PEAH@Z@4MB
+; ?BN@???$_Fabs@N@std::_R2(YANAEBV?$complex@N@1@PEAH@Z@4NB)
+?_R2@?BN@???$_Fabs@N@std@@YANAEBV?$complex@N@1@PEAH@Z@4NB
+; private: unsigned char & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Refcnt(char const * __ptr64) __ptr64
+?_Refcnt@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAAEAEPEBD@Z
+; private: unsigned char & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Refcnt(unsigned short const * __ptr64) __ptr64
+?_Refcnt@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAAEAEPEBG@Z
+; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned __int64)
+?_Rep@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@D_K@Z
+; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned __int64)
+?_Rep@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@G_K@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned __int64)
+?_Rep@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@D_K@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned __int64)
+?_Rep@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@G_K@Z
+; public: static float __cdecl std::_Ctr<float>::_Sinh(float,float)
+?_Sinh@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Sinh(double,double)
+?_Sinh@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Sinh(long double,long double)
+?_Sinh@?$_Ctr@O@std@@SAOOO@Z
+; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Split(void) __ptr64
+?_Split@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAXXZ
+; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Split(void) __ptr64
+?_Split@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAXXZ
+; int  `protected: void __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf * __ptr64,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl) __ptr64'::`2'::_Stinit
+?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
+; int  `protected: void __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf * __ptr64,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl) __ptr64'::`2'::_Stinit
+?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
+; private: static bool  std::ios_base::_Sync
+?_Sync@ios_base@std@@0_NA DATA
+; protected: static void __cdecl std::ctype<char>::_Term(void)
+?_Term@?$ctype@D@std@@KAXXZ
+; private: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(bool) __ptr64
+?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAAX_N@Z
+; private: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(bool) __ptr64
+?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AEAAX_N@Z
+; protected: void __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(void) __ptr64
+?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXXZ
+; protected: void __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(void) __ptr64
+?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAXXZ
+; private: void __cdecl std::ios_base::_Tidy(void) __ptr64
+?_Tidy@ios_base@std@@AEAAXXZ
+; private: static void __cdecl std::locale::_Tidy(void)
+?_Tidy@locale@std@@CAXXZ
+; protected: void __cdecl std::strstreambuf::_Tidy(void) __ptr64
+?_Tidy@strstreambuf@std@@IEAAXXZ
+; ?BN@???$_Fabs@M@std::_Xh(YAMAEBV?$complex@M@1@PEAH@Z@4MB)
+?_Xh@?BN@???$_Fabs@M@std@@YAMAEBV?$complex@M@1@PEAH@Z@4MB
+; ?BN@???$_Fabs@N@std::_Xh(YANAEBV?$complex@N@1@PEAH@Z@4NB)
+?_Xh@?BN@???$_Fabs@N@std@@YANAEBV?$complex@N@1@PEAH@Z@4NB
+; ?BN@???$_Fabs@M@std::_Xl(YAMAEBV?$complex@M@1@PEAH@Z@4MB)
+?_Xl@?BN@???$_Fabs@M@std@@YAMAEBV?$complex@M@1@PEAH@Z@4MB
+; ?BN@???$_Fabs@N@std::_Xl(YANAEBV?$complex@N@1@PEAH@Z@4NB)
+?_Xl@?BN@???$_Fabs@N@std@@YANAEBV?$complex@N@1@PEAH@Z@4NB
+; void __cdecl std::_Xlen(void)
+?_Xlen@std@@YAXXZ
+; void __cdecl std::_Xran(void)
+?_Xran@std@@YAXXZ
+; struct _iobuf * __ptr64 __cdecl std::__Fiopen(char const * __ptr64,int)
+?__Fiopen@std@@YAPEAU_iobuf@@PEBDH@Z
+; float __cdecl std::abs(class std::complex<float> const & __ptr64)
+?abs@std@@YAMAEBV?$complex@M@1@@Z
+; double __cdecl std::abs(class std::complex<double> const & __ptr64)
+?abs@std@@YANAEBV?$complex@N@1@@Z
+; long double __cdecl std::abs(class std::complex<long double> const & __ptr64)
+?abs@std@@YAOAEBV?$complex@O@1@@Z
+; public: bool __cdecl std::codecvt_base::always_noconv(void)const  __ptr64
+?always_noconv@codecvt_base@std@@QEBA_NXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@_K1@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const * __ptr64,char const * __ptr64) __ptr64
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const * __ptr64) __ptr64
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const * __ptr64,unsigned __int64) __ptr64
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD_K@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(unsigned __int64,char) __ptr64
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@_K1@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const * __ptr64) __ptr64
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const * __ptr64,unsigned __int64) __ptr64
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG_K@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned __int64,unsigned short) __ptr64
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KG@Z
+; float __cdecl std::arg(class std::complex<float> const & __ptr64)
+?arg@std@@YAMAEBV?$complex@M@1@@Z
+; double __cdecl std::arg(class std::complex<double> const & __ptr64)
+?arg@std@@YANAEBV?$complex@N@1@@Z
+; long double __cdecl std::arg(class std::complex<long double> const & __ptr64)
+?arg@std@@YAOAEBV?$complex@O@1@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@_K1@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const * __ptr64,char const * __ptr64) __ptr64
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const * __ptr64) __ptr64
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const * __ptr64,unsigned __int64) __ptr64
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD_K@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(unsigned __int64,char) __ptr64
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@AEBV12@_K1@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const * __ptr64) __ptr64
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const * __ptr64,unsigned __int64) __ptr64
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEBG_K@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned __int64,unsigned short) __ptr64
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KG@Z
+; public: static char * __ptr64 __cdecl std::char_traits<char>::assign(char * __ptr64,unsigned __int64,char const & __ptr64)
+?assign@?$char_traits@D@std@@SAPEADPEAD_KAEBD@Z
+; public: static void __cdecl std::char_traits<char>::assign(char & __ptr64,char const & __ptr64)
+?assign@?$char_traits@D@std@@SAXAEADAEBD@Z
+; public: static unsigned short * __ptr64 __cdecl std::char_traits<unsigned short>::assign(unsigned short * __ptr64,unsigned __int64,unsigned short const & __ptr64)
+?assign@?$char_traits@G@std@@SAPEAGPEAG_KAEBG@Z
+; public: static void __cdecl std::char_traits<unsigned short>::assign(unsigned short & __ptr64,unsigned short const & __ptr64)
+?assign@?$char_traits@G@std@@SAXAEAGAEBG@Z
+; public: char & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned __int64) __ptr64
+?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z
+; public: char const & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned __int64)const  __ptr64
+?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z
+; public: unsigned short & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned __int64) __ptr64
+?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z
+; public: unsigned short const & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned __int64)const  __ptr64
+?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z
+; public: static float __cdecl std::_Ctr<float>::atan2(float,float)
+?atan2@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::atan2(double,double)
+?atan2@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::atan2(long double,long double)
+?atan2@?$_Ctr@O@std@@SAOOO@Z
+; public: bool __cdecl std::ios_base::bad(void)const  __ptr64
+?bad@ios_base@std@@QEBA_NXZ
+; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void) __ptr64
+?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADXZ
+; public: char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)const  __ptr64
+?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ
+; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void) __ptr64
+?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGXZ
+; public: unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)const  __ptr64
+?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ
+; public: char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const  __ptr64
+?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::c_str(void)const  __ptr64
+?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::capacity(void)const  __ptr64
+?capacity@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::capacity(void)const  __ptr64
+?capacity@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ
+; class std::basic_ostream<char,struct std::char_traits<char> >  std::cerr
+?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
+; class std::basic_istream<char,struct std::char_traits<char> >  std::cin
+?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A DATA
+; public: static class std::locale const & __ptr64 __cdecl std::locale::classic(void)
+?classic@locale@std@@SAAEBV12@XZ
+; protected: static short const * __ptr64 __cdecl std::ctype<char>::classic_table(void)
+?classic_table@?$ctype@D@std@@KAPEBFXZ
+; public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::clear(short) __ptr64
+?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXF@Z
+; public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool) __ptr64
+?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
+; public: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(short) __ptr64
+?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXF@Z
+; public: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(int,bool) __ptr64
+?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z
+; public: void __cdecl std::ios_base::clear(short) __ptr64
+?clear@ios_base@std@@QEAAXF@Z
+; public: void __cdecl std::ios_base::clear(int,bool) __ptr64
+?clear@ios_base@std@@QEAAXH_N@Z
+; class std::basic_ostream<char,struct std::char_traits<char> >  std::clog
+?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::close(void) __ptr64
+?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::close(void) __ptr64
+?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@XZ
+; public: void __cdecl std::basic_fstream<char,struct std::char_traits<char> >::close(void) __ptr64
+?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::close(void) __ptr64
+?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::close(void) __ptr64
+?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::close(void) __ptr64
+?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::close(void) __ptr64
+?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::close(void) __ptr64
+?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::messages<char>::close(int)const  __ptr64
+?close@?$messages@D@std@@QEBAXH@Z
+; public: void __cdecl std::messages<unsigned short>::close(int)const  __ptr64
+?close@?$messages@G@std@@QEBAXH@Z
+; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAHAEBV12@@Z
+; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(char const * __ptr64)const  __ptr64
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAHPEBD@Z
+; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned __int64,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0AEBV12@00@Z
+; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned __int64,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0AEBV12@@Z
+; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned __int64,unsigned __int64,char const * __ptr64,unsigned __int64)const  __ptr64
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0PEBD0@Z
+; public: int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned __int64,unsigned __int64,char const * __ptr64)const  __ptr64
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAH_K0PEBD@Z
+; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAHAEBV12@@Z
+; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned short const * __ptr64)const  __ptr64
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAHPEBG@Z
+; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned __int64,unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0AEBV12@00@Z
+; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned __int64,unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0AEBV12@@Z
+; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned __int64,unsigned __int64,unsigned short const * __ptr64,unsigned __int64)const  __ptr64
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0PEBG0@Z
+; public: int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned __int64,unsigned __int64,unsigned short const * __ptr64)const  __ptr64
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAH_K0PEBG@Z
+; public: static int __cdecl std::char_traits<char>::compare(char const * __ptr64,char const * __ptr64,unsigned __int64)
+?compare@?$char_traits@D@std@@SAHPEBD0_K@Z
+; public: static int __cdecl std::char_traits<unsigned short>::compare(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned __int64)
+?compare@?$char_traits@G@std@@SAHPEBG0_K@Z
+; public: int __cdecl std::collate<char>::compare(char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
+?compare@?$collate@D@std@@QEBAHPEBD000@Z
+; public: int __cdecl std::collate<unsigned short>::compare(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?compare@?$collate@G@std@@QEBAHPEBG000@Z
+; class std::complex<float>  __cdecl std::conj(class std::complex<float> const & __ptr64)
+?conj@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; class std::complex<double>  __cdecl std::conj(class std::complex<double> const & __ptr64)
+?conj@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; class std::complex<long double>  __cdecl std::conj(class std::complex<long double> const & __ptr64)
+?conj@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::copy(char * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEAD_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::copy(unsigned short * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEAG_K1@Z
+; public: static char * __ptr64 __cdecl std::char_traits<char>::copy(char * __ptr64,char const * __ptr64,unsigned __int64)
+?copy@?$char_traits@D@std@@SAPEADPEADPEBD_K@Z
+; public: static unsigned short * __ptr64 __cdecl std::char_traits<unsigned short>::copy(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned __int64)
+?copy@?$char_traits@G@std@@SAPEAGPEAGPEBG_K@Z
+; public: class std::basic_ios<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::copyfmt(class std::basic_ios<char,struct std::char_traits<char> > const & __ptr64) __ptr64
+?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z
+; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::copyfmt(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const & __ptr64) __ptr64
+?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEBV12@@Z
+; public: class std::ios_base & __ptr64 __cdecl std::ios_base::copyfmt(class std::ios_base const & __ptr64) __ptr64
+?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z
+; public: static float __cdecl std::_Ctr<float>::cos(float)
+?cos@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::cos(double)
+?cos@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::cos(long double)
+?cos@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::cos(class std::complex<float> const & __ptr64)
+?cos@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; class std::complex<double>  __cdecl std::cos(class std::complex<double> const & __ptr64)
+?cos@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; class std::complex<long double>  __cdecl std::cos(class std::complex<long double> const & __ptr64)
+?cos@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; class std::complex<float>  __cdecl std::cosh(class std::complex<float> const & __ptr64)
+?cosh@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; class std::complex<double>  __cdecl std::cosh(class std::complex<double> const & __ptr64)
+?cosh@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; class std::complex<long double>  __cdecl std::cosh(class std::complex<long double> const & __ptr64)
+?cosh@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> >  std::cout
+?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::curr_symbol(void)const  __ptr64
+?curr_symbol@?$_Mpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::curr_symbol(void)const  __ptr64
+?curr_symbol@?$_Mpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::data(void)const  __ptr64
+?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::data(void)const  __ptr64
+?data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ
+; public: int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::date_order(void)const  __ptr64
+?date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBAHXZ
+; public: int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::date_order(void)const  __ptr64
+?date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBAHXZ
+; public: char __cdecl std::_Mpunct<char>::decimal_point(void)const  __ptr64
+?decimal_point@?$_Mpunct@D@std@@QEBADXZ
+; public: unsigned short __cdecl std::_Mpunct<unsigned short>::decimal_point(void)const  __ptr64
+?decimal_point@?$_Mpunct@G@std@@QEBAGXZ
+; public: char __cdecl std::numpunct<char>::decimal_point(void)const  __ptr64
+?decimal_point@?$numpunct@D@std@@QEBADXZ
+; public: unsigned short __cdecl std::numpunct<unsigned short>::decimal_point(void)const  __ptr64
+?decimal_point@?$numpunct@G@std@@QEBAGXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::denorm_min(void)
+?denorm_min@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::denorm_min(void)
+?denorm_min@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::denorm_min(void)
+?denorm_min@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::denorm_min(void)
+?denorm_min@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::denorm_min(void)
+?denorm_min@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::denorm_min(void)
+?denorm_min@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::denorm_min(void)
+?denorm_min@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::denorm_min(void)
+?denorm_min@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::denorm_min(void)
+?denorm_min@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::denorm_min(void)
+?denorm_min@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::denorm_min(void)
+?denorm_min@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::denorm_min(void)
+?denorm_min@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::denorm_min(void)
+?denorm_min@?$numeric_limits@_N@std@@SA_NXZ
+; protected: virtual bool __cdecl std::codecvt<unsigned short,char,int>::do_always_noconv(void)const  __ptr64
+?do_always_noconv@?$codecvt@GDH@std@@MEBA_NXZ
+; protected: virtual bool __cdecl std::codecvt_base::do_always_noconv(void)const  __ptr64
+?do_always_noconv@codecvt_base@std@@MEBA_NXZ
+; protected: virtual void __cdecl std::messages<char>::do_close(int)const  __ptr64
+?do_close@?$messages@D@std@@MEBAXH@Z
+; protected: virtual void __cdecl std::messages<unsigned short>::do_close(int)const  __ptr64
+?do_close@?$messages@G@std@@MEBAXH@Z
+; protected: virtual int __cdecl std::collate<char>::do_compare(char const * __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
+?do_compare@?$collate@D@std@@MEBAHPEBD000@Z
+; protected: virtual int __cdecl std::collate<unsigned short>::do_compare(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?do_compare@?$collate@G@std@@MEBAHPEBG000@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::do_curr_symbol(void)const  __ptr64
+?do_curr_symbol@?$_Mpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::do_curr_symbol(void)const  __ptr64
+?do_curr_symbol@?$_Mpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_date_order(void)const  __ptr64
+?do_date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBAHXZ
+; protected: virtual int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_date_order(void)const  __ptr64
+?do_date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBAHXZ
+; protected: virtual char __cdecl std::_Mpunct<char>::do_decimal_point(void)const  __ptr64
+?do_decimal_point@?$_Mpunct@D@std@@MEBADXZ
+; protected: virtual unsigned short __cdecl std::_Mpunct<unsigned short>::do_decimal_point(void)const  __ptr64
+?do_decimal_point@?$_Mpunct@G@std@@MEBAGXZ
+; protected: virtual char __cdecl std::numpunct<char>::do_decimal_point(void)const  __ptr64
+?do_decimal_point@?$numpunct@D@std@@MEBADXZ
+; protected: virtual unsigned short __cdecl std::numpunct<unsigned short>::do_decimal_point(void)const  __ptr64
+?do_decimal_point@?$numpunct@G@std@@MEBAGXZ
+; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_encoding(void)const  __ptr64
+?do_encoding@?$codecvt@GDH@std@@MEBAHXZ
+; protected: virtual int __cdecl std::codecvt_base::do_encoding(void)const  __ptr64
+?do_encoding@codecvt_base@std@@MEBAHXZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::do_falsename(void)const  __ptr64
+?do_falsename@?$numpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::numpunct<unsigned short>::do_falsename(void)const  __ptr64
+?do_falsename@?$numpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __cdecl std::_Mpunct<char>::do_frac_digits(void)const  __ptr64
+?do_frac_digits@?$_Mpunct@D@std@@MEBAHXZ
+; protected: virtual int __cdecl std::_Mpunct<unsigned short>::do_frac_digits(void)const  __ptr64
+?do_frac_digits@?$_Mpunct@G@std@@MEBAHXZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::messages<char>::do_get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
+?do_get@?$messages@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHAEBV32@@Z
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::messages<unsigned short>::do_get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
+?do_get@?$messages@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHAEBV32@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
+?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAO@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,int & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64)const  __ptr64
+?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
+?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAO@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,int & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64)const  __ptr64
+?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned short & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAG@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned int & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAI@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,long & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAJ@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned long & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAK@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,float & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAM@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,double & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAN@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAO@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAPEAX@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,__int64 & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_J@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned __int64 & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_K@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,bool & __ptr64)const  __ptr64
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_N@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned short & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAG@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned int & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAI@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,long & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAJ@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned long & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAK@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,float & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAM@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,double & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAN@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAO@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAPEAX@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,__int64 & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_J@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned __int64 & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_K@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,bool & __ptr64)const  __ptr64
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_N@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::do_grouping(void)const  __ptr64
+?do_grouping@?$_Mpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<unsigned short>::do_grouping(void)const  __ptr64
+?do_grouping@?$_Mpunct@G@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::do_grouping(void)const  __ptr64
+?do_grouping@?$numpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<unsigned short>::do_grouping(void)const  __ptr64
+?do_grouping@?$numpunct@G@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual long __cdecl std::collate<char>::do_hash(char const * __ptr64,char const * __ptr64)const  __ptr64
+?do_hash@?$collate@D@std@@MEBAJPEBD0@Z
+; protected: virtual long __cdecl std::collate<unsigned short>::do_hash(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?do_hash@?$collate@G@std@@MEBAJPEBG0@Z
+; protected: virtual int __cdecl std::codecvt<char,char,int>::do_in(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
+?do_in@?$codecvt@DDH@std@@MEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z
+; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_in(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64 & __ptr64)const  __ptr64
+?do_in@?$codecvt@GDH@std@@MEBAHAEAHPEBD1AEAPEBDPEAG3AEAPEAG@Z
+; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_is(unsigned short const * __ptr64,unsigned short const * __ptr64,short * __ptr64)const  __ptr64
+?do_is@?$ctype@G@std@@MEBAPEBGPEBG0PEAF@Z
+; protected: virtual bool __cdecl std::ctype<unsigned short>::do_is(short,unsigned short)const  __ptr64
+?do_is@?$ctype@G@std@@MEBA_NFG@Z
+; protected: virtual int __cdecl std::codecvt<char,char,int>::do_length(int & __ptr64,char const * __ptr64,char const * __ptr64,unsigned __int64)const  __ptr64
+?do_length@?$codecvt@DDH@std@@MEBAHAEAHPEBD1_K@Z
+; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_length(int & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned __int64)const  __ptr64
+?do_length@?$codecvt@GDH@std@@MEBAHAEAHPEBG1_K@Z
+; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_max_length(void)const  __ptr64
+?do_max_length@?$codecvt@GDH@std@@MEBAHXZ
+; protected: virtual int __cdecl std::codecvt_base::do_max_length(void)const  __ptr64
+?do_max_length@codecvt_base@std@@MEBAHXZ
+; protected: virtual char __cdecl std::ctype<unsigned short>::do_narrow(unsigned short,char)const  __ptr64
+?do_narrow@?$ctype@G@std@@MEBADGD@Z
+; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_narrow(unsigned short const * __ptr64,unsigned short const * __ptr64,char,char * __ptr64)const  __ptr64
+?do_narrow@?$ctype@G@std@@MEBAPEBGPEBG0DPEAD@Z
+; protected: virtual struct std::money_base::pattern  __cdecl std::_Mpunct<char>::do_neg_format(void)const  __ptr64
+?do_neg_format@?$_Mpunct@D@std@@MEBA?AUpattern@money_base@2@XZ
+; protected: virtual struct std::money_base::pattern  __cdecl std::_Mpunct<unsigned short>::do_neg_format(void)const  __ptr64
+?do_neg_format@?$_Mpunct@G@std@@MEBA?AUpattern@money_base@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::do_negative_sign(void)const  __ptr64
+?do_negative_sign@?$_Mpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::do_negative_sign(void)const  __ptr64
+?do_negative_sign@?$_Mpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __cdecl std::messages<char>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::locale const & __ptr64)const  __ptr64
+?do_open@?$messages@D@std@@MEBAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEBVlocale@2@@Z
+; protected: virtual int __cdecl std::messages<unsigned short>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::locale const & __ptr64)const  __ptr64
+?do_open@?$messages@G@std@@MEBAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEBVlocale@2@@Z
+; protected: virtual int __cdecl std::codecvt<char,char,int>::do_out(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
+?do_out@?$codecvt@DDH@std@@MEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z
+; protected: virtual int __cdecl std::codecvt<unsigned short,char,int>::do_out(int & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
+?do_out@?$codecvt@GDH@std@@MEBAHAEAHPEBG1AEAPEBGPEAD3AEAPEAD@Z
+; protected: virtual struct std::money_base::pattern  __cdecl std::_Mpunct<char>::do_pos_format(void)const  __ptr64
+?do_pos_format@?$_Mpunct@D@std@@MEBA?AUpattern@money_base@2@XZ
+; protected: virtual struct std::money_base::pattern  __cdecl std::_Mpunct<unsigned short>::do_pos_format(void)const  __ptr64
+?do_pos_format@?$_Mpunct@G@std@@MEBA?AUpattern@money_base@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::do_positive_sign(void)const  __ptr64
+?do_positive_sign@?$_Mpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::do_positive_sign(void)const  __ptr64
+?do_positive_sign@?$_Mpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
+?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@DAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,long double)const  __ptr64
+?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@DO@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
+?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@GAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,long double)const  __ptr64
+?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@GO@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,long)const  __ptr64
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DJ@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,unsigned long)const  __ptr64
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DK@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,double)const  __ptr64
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DN@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,long double)const  __ptr64
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DO@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,void const * __ptr64)const  __ptr64
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DPEBX@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,__int64)const  __ptr64
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_J@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,unsigned __int64)const  __ptr64
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_K@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,bool)const  __ptr64
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_N@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,long)const  __ptr64
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GJ@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,unsigned long)const  __ptr64
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GK@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,double)const  __ptr64
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GN@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,long double)const  __ptr64
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GO@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,void const * __ptr64)const  __ptr64
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GPEBX@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,__int64)const  __ptr64
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_J@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,unsigned __int64)const  __ptr64
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_K@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,bool)const  __ptr64
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_N@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char,char)const  __ptr64
+?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@PEBUtm@@DD@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char,char)const  __ptr64
+?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@PEBUtm@@DD@Z
+; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_scan_is(short,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?do_scan_is@?$ctype@G@std@@MEBAPEBGFPEBG0@Z
+; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_scan_not(short,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?do_scan_not@?$ctype@G@std@@MEBAPEBGFPEBG0@Z
+; protected: virtual char __cdecl std::_Mpunct<char>::do_thousands_sep(void)const  __ptr64
+?do_thousands_sep@?$_Mpunct@D@std@@MEBADXZ
+; protected: virtual unsigned short __cdecl std::_Mpunct<unsigned short>::do_thousands_sep(void)const  __ptr64
+?do_thousands_sep@?$_Mpunct@G@std@@MEBAGXZ
+; protected: virtual char __cdecl std::numpunct<char>::do_thousands_sep(void)const  __ptr64
+?do_thousands_sep@?$numpunct@D@std@@MEBADXZ
+; protected: virtual unsigned short __cdecl std::numpunct<unsigned short>::do_thousands_sep(void)const  __ptr64
+?do_thousands_sep@?$numpunct@G@std@@MEBAGXZ
+; protected: virtual char __cdecl std::ctype<char>::do_tolower(char)const  __ptr64
+?do_tolower@?$ctype@D@std@@MEBADD@Z
+; protected: virtual char const * __ptr64 __cdecl std::ctype<char>::do_tolower(char * __ptr64,char const * __ptr64)const  __ptr64
+?do_tolower@?$ctype@D@std@@MEBAPEBDPEADPEBD@Z
+; protected: virtual unsigned short __cdecl std::ctype<unsigned short>::do_tolower(unsigned short)const  __ptr64
+?do_tolower@?$ctype@G@std@@MEBAGG@Z
+; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_tolower(unsigned short * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?do_tolower@?$ctype@G@std@@MEBAPEBGPEAGPEBG@Z
+; protected: virtual char __cdecl std::ctype<char>::do_toupper(char)const  __ptr64
+?do_toupper@?$ctype@D@std@@MEBADD@Z
+; protected: virtual char const * __ptr64 __cdecl std::ctype<char>::do_toupper(char * __ptr64,char const * __ptr64)const  __ptr64
+?do_toupper@?$ctype@D@std@@MEBAPEBDPEADPEBD@Z
+; protected: virtual unsigned short __cdecl std::ctype<unsigned short>::do_toupper(unsigned short)const  __ptr64
+?do_toupper@?$ctype@G@std@@MEBAGG@Z
+; protected: virtual unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::do_toupper(unsigned short * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?do_toupper@?$ctype@G@std@@MEBAPEBGPEAGPEBG@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::collate<char>::do_transform(char const * __ptr64,char const * __ptr64)const  __ptr64
+?do_transform@?$collate@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PEBD0@Z
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::collate<unsigned short>::do_transform(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?do_transform@?$collate@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PEBG0@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::do_truename(void)const  __ptr64
+?do_truename@?$numpunct@D@std@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::numpunct<unsigned short>::do_truename(void)const  __ptr64
+?do_truename@?$numpunct@G@std@@MEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual unsigned short __cdecl std::ctype<unsigned short>::do_widen(char)const  __ptr64
+?do_widen@?$ctype@G@std@@MEBAGD@Z
+; protected: virtual char const * __ptr64 __cdecl std::ctype<unsigned short>::do_widen(char const * __ptr64,char const * __ptr64,unsigned short * __ptr64)const  __ptr64
+?do_widen@?$ctype@G@std@@MEBAPEBDPEBD0PEAG@Z
+; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const  __ptr64
+?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
+; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::eback(void)const  __ptr64
+?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
+; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const  __ptr64
+?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
+; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::egptr(void)const  __ptr64
+?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
+; public: bool __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::empty(void)const  __ptr64
+?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_NXZ
+; public: bool __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::empty(void)const  __ptr64
+?empty@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_NXZ
+; public: static class std::locale  __cdecl std::locale::empty(void)
+?empty@locale@std@@SA?AV12@XZ
+; public: int __cdecl std::codecvt_base::encoding(void)const  __ptr64
+?encoding@codecvt_base@std@@QEBAHXZ
+; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void) __ptr64
+?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADXZ
+; public: char const * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)const  __ptr64
+?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ
+; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void) __ptr64
+?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGXZ
+; public: unsigned short const * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)const  __ptr64
+?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEBGXZ
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64)
+?endl@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::endl(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)
+?endl@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::ends(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64)
+?ends@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::ends(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)
+?ends@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z
+; public: static int __cdecl std::char_traits<char>::eof(void)
+?eof@?$char_traits@D@std@@SAHXZ
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::eof(void)
+?eof@?$char_traits@G@std@@SAGXZ
+; public: bool __cdecl std::ios_base::eof(void)const  __ptr64
+?eof@ios_base@std@@QEBA_NXZ
+; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const  __ptr64
+?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
+; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::epptr(void)const  __ptr64
+?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::epsilon(void)
+?epsilon@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::epsilon(void)
+?epsilon@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::epsilon(void)
+?epsilon@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::epsilon(void)
+?epsilon@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::epsilon(void)
+?epsilon@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::epsilon(void)
+?epsilon@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::epsilon(void)
+?epsilon@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::epsilon(void)
+?epsilon@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::epsilon(void)
+?epsilon@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::epsilon(void)
+?epsilon@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::epsilon(void)
+?epsilon@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::epsilon(void)
+?epsilon@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::epsilon(void)
+?epsilon@?$numeric_limits@_N@std@@SA_NXZ
+; public: static bool __cdecl std::char_traits<char>::eq(char const & __ptr64,char const & __ptr64)
+?eq@?$char_traits@D@std@@SA_NAEBD0@Z
+; public: static bool __cdecl std::char_traits<unsigned short>::eq(unsigned short const & __ptr64,unsigned short const & __ptr64)
+?eq@?$char_traits@G@std@@SA_NAEBG0@Z
+; public: static bool __cdecl std::char_traits<char>::eq_int_type(int const & __ptr64,int const & __ptr64)
+?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z
+; public: static bool __cdecl std::char_traits<unsigned short>::eq_int_type(unsigned short const & __ptr64,unsigned short const & __ptr64)
+?eq_int_type@?$char_traits@G@std@@SA_NAEBG0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned __int64,unsigned __int64) __ptr64
+?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0@Z
+; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char * __ptr64,char * __ptr64) __ptr64
+?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADPEAD0@Z
+; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char * __ptr64) __ptr64
+?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADPEAD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned __int64,unsigned __int64) __ptr64
+?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0@Z
+; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGPEAG0@Z
+; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short * __ptr64) __ptr64
+?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGPEAG@Z
+; public: void __cdecl std::ios_base::exceptions(short) __ptr64
+?exceptions@ios_base@std@@QEAAXF@Z
+; public: void __cdecl std::ios_base::exceptions(int) __ptr64
+?exceptions@ios_base@std@@QEAAXH@Z
+; public: int __cdecl std::ios_base::exceptions(void)const  __ptr64
+?exceptions@ios_base@std@@QEBAHXZ
+; public: static float __cdecl std::_Ctr<float>::exp(float)
+?exp@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::exp(double)
+?exp@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::exp(long double)
+?exp@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::exp(class std::complex<float> const & __ptr64)
+?exp@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; class std::complex<double>  __cdecl std::exp(class std::complex<double> const & __ptr64)
+?exp@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; class std::complex<long double>  __cdecl std::exp(class std::complex<long double> const & __ptr64)
+?exp@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; public: bool __cdecl std::ios_base::fail(void)const  __ptr64
+?fail@ios_base@std@@QEBA_NXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::falsename(void)const  __ptr64
+?falsename@?$numpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::numpunct<unsigned short>::falsename(void)const  __ptr64
+?falsename@?$numpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::fill(char) __ptr64
+?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z
+; public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::fill(void)const  __ptr64
+?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ
+; public: unsigned short __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(unsigned short) __ptr64
+?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAGG@Z
+; public: unsigned short __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(void)const  __ptr64
+?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGXZ
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char,unsigned __int64)const  __ptr64
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const * __ptr64,unsigned __int64)const  __ptr64
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short,unsigned __int64)const  __ptr64
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
+; public: static char const * __ptr64 __cdecl std::char_traits<char>::find(char const * __ptr64,unsigned __int64,char const & __ptr64)
+?find@?$char_traits@D@std@@SAPEBDPEBD_KAEBD@Z
+; public: static unsigned short const * __ptr64 __cdecl std::char_traits<unsigned short>::find(unsigned short const * __ptr64,unsigned __int64,unsigned short const & __ptr64)
+?find@?$char_traits@G@std@@SAPEBGPEBG_KAEBG@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char,unsigned __int64)const  __ptr64
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const * __ptr64,unsigned __int64)const  __ptr64
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short,unsigned __int64)const  __ptr64
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char,unsigned __int64)const  __ptr64
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const * __ptr64,unsigned __int64)const  __ptr64
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short,unsigned __int64)const  __ptr64
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char,unsigned __int64)const  __ptr64
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const * __ptr64,unsigned __int64)const  __ptr64
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short,unsigned __int64)const  __ptr64
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char,unsigned __int64)const  __ptr64
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const * __ptr64,unsigned __int64)const  __ptr64
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short,unsigned __int64)const  __ptr64
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
+; public: int __cdecl std::ios_base::flags(int) __ptr64
+?flags@ios_base@std@@QEAAHH@Z
+; public: int __cdecl std::ios_base::flags(void)const  __ptr64
+?flags@ios_base@std@@QEBAHXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::flush(void) __ptr64
+?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::flush(void) __ptr64
+?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ
+; class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::flush(class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64)
+?flush@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::flush(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)
+?flush@std@@YAAEAV?$basic_ostream@GU?$char_traits@G@std@@@1@AEAV21@@Z
+; public: int __cdecl std::_Mpunct<char>::frac_digits(void)const  __ptr64
+?frac_digits@?$_Mpunct@D@std@@QEBAHXZ
+; public: int __cdecl std::_Mpunct<unsigned short>::frac_digits(void)const  __ptr64
+?frac_digits@?$_Mpunct@G@std@@QEBAHXZ
+; public: void __cdecl std::strstreambuf::freeze(bool) __ptr64
+?freeze@strstreambuf@std@@QEAAX_N@Z
+; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int) __ptr64
+?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z
+; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gbump(int) __ptr64
+?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z
+; public: __int64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::gcount(void)const  __ptr64
+?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QEBA_JXZ
+; public: __int64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::gcount(void)const  __ptr64
+?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QEBA_JXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(char & __ptr64) __ptr64
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAD@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > & __ptr64) __ptr64
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > & __ptr64,char) __ptr64
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(char * __ptr64,__int64) __ptr64
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(char * __ptr64,__int64,char) __ptr64
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z
+; public: int __cdecl std::basic_istream<char,struct std::char_traits<char> >::get(void) __ptr64
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short & __ptr64) __ptr64
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAG@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > & __ptr64) __ptr64
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,unsigned short) __ptr64
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@AEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short * __ptr64,__int64) __ptr64
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short * __ptr64,__int64,unsigned short) __ptr64
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z
+; public: unsigned short __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(void) __ptr64
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::messages<char>::get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
+?get@?$messages@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHAEBV32@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::messages<unsigned short>::get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
+?get@?$messages@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHAEBV32@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
+?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAO@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,int & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64)const  __ptr64
+?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
+?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAO@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,int & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64)const  __ptr64
+?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAEAVios_base@2@AEAHAEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned short & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAG@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned int & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAI@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,long & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAJ@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned long & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAK@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,float & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAM@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,double & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAN@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAO@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEAPEAX@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,__int64 & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_J@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,unsigned __int64 & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_K@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,bool & __ptr64)const  __ptr64
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHAEA_N@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned short & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAG@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned int & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAI@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,long & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAJ@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned long & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAK@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,float & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAM@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,double & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAN@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,long double & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAO@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,void * __ptr64 & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEAPEAX@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,__int64 & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_J@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,unsigned __int64 & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_K@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,bool & __ptr64)const  __ptr64
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHAEA_N@Z
+; public: class std::allocator<char>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::get_allocator(void)const  __ptr64
+?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$allocator@D@2@XZ
+; public: class std::allocator<unsigned short>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::get_allocator(void)const  __ptr64
+?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$allocator@G@2@XZ
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,int & __ptr64,struct tm * __ptr64)const  __ptr64
+?get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::getline(char * __ptr64,__int64) __ptr64
+?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::getline(char * __ptr64,__int64,char) __ptr64
+?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_JD@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short * __ptr64,__int64) __ptr64
+?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short * __ptr64,__int64,unsigned short) __ptr64
+?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_JG@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64)
+?getline@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64,char)
+?getline@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64)
+?getline@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64,unsigned short)
+?getline@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@AEAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z
+; public: class std::locale  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::getloc(void) __ptr64
+?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@XZ
+; public: class std::locale  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::getloc(void) __ptr64
+?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@XZ
+; public: class std::locale  __cdecl std::ios_base::getloc(void)const  __ptr64
+?getloc@ios_base@std@@QEBA?AVlocale@2@XZ
+; public: static class std::locale  __cdecl std::locale::global(class std::locale const & __ptr64)
+?global@locale@std@@SA?AV12@AEBV12@@Z
+; public: bool __cdecl std::ios_base::good(void)const  __ptr64
+?good@ios_base@std@@QEBA_NXZ
+; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const  __ptr64
+?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
+; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gptr(void)const  __ptr64
+?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::grouping(void)const  __ptr64
+?grouping@?$_Mpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<unsigned short>::grouping(void)const  __ptr64
+?grouping@?$_Mpunct@G@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::grouping(void)const  __ptr64
+?grouping@?$numpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<unsigned short>::grouping(void)const  __ptr64
+?grouping@?$numpunct@G@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: long __cdecl std::collate<char>::hash(char const * __ptr64,char const * __ptr64)const  __ptr64
+?hash@?$collate@D@std@@QEBAJPEBD0@Z
+; public: long __cdecl std::collate<unsigned short>::hash(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?hash@?$collate@G@std@@QEBAJPEBG0@Z
+; public: static class std::locale::id  std::codecvt<char,char,int>::id
+?id@?$codecvt@DDH@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::codecvt<unsigned short,char,int>::id
+?id@?$codecvt@GDH@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::collate<char>::id
+?id@?$collate@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::collate<unsigned short>::id
+?id@?$collate@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::ctype<char>::id
+?id@?$ctype@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::ctype<unsigned short>::id
+?id@?$ctype@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::messages<char>::id
+?id@?$messages@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::messages<unsigned short>::id
+?id@?$messages@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<char,1>::id
+?id@?$moneypunct@D$00@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<char,0>::id
+?id@?$moneypunct@D$0A@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<unsigned short,1>::id
+?id@?$moneypunct@G$00@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<unsigned short,0>::id
+?id@?$moneypunct@G$0A@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::numpunct<char>::id
+?id@?$numpunct@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::numpunct<unsigned short>::id
+?id@?$numpunct@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::ignore(__int64,int) __ptr64
+?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ignore(__int64,unsigned short) __ptr64
+?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JG@Z
+; public: float __cdecl std::_Complex_base<float>::imag(float const & __ptr64) __ptr64
+?imag@?$_Complex_base@M@std@@QEAAMAEBM@Z
+; public: float __cdecl std::_Complex_base<float>::imag(void)const  __ptr64
+?imag@?$_Complex_base@M@std@@QEBAMXZ
+; public: double __cdecl std::_Complex_base<double>::imag(double const & __ptr64) __ptr64
+?imag@?$_Complex_base@N@std@@QEAANAEBN@Z
+; public: double __cdecl std::_Complex_base<double>::imag(void)const  __ptr64
+?imag@?$_Complex_base@N@std@@QEBANXZ
+; public: long double __cdecl std::_Complex_base<long double>::imag(long double const & __ptr64) __ptr64
+?imag@?$_Complex_base@O@std@@QEAAOAEBO@Z
+; public: long double __cdecl std::_Complex_base<long double>::imag(void)const  __ptr64
+?imag@?$_Complex_base@O@std@@QEBAOXZ
+; float __cdecl std::imag(class std::complex<float> const & __ptr64)
+?imag@std@@YAMAEBV?$complex@M@1@@Z
+; double __cdecl std::imag(class std::complex<double> const & __ptr64)
+?imag@std@@YANAEBV?$complex@N@1@@Z
+; long double __cdecl std::imag(class std::complex<long double> const & __ptr64)
+?imag@std@@YAOAEBV?$complex@O@1@@Z
+; public: class std::locale  __cdecl std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const & __ptr64) __ptr64
+?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z
+; public: class std::locale  __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const & __ptr64) __ptr64
+?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z
+; protected: virtual void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::imbue(class std::locale const & __ptr64) __ptr64
+?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z
+; protected: virtual void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const & __ptr64) __ptr64
+?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z
+; public: class std::locale  __cdecl std::ios_base::imbue(class std::locale const & __ptr64) __ptr64
+?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z
+; public: int __cdecl std::codecvt<char,char,int>::in(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
+?in@?$codecvt@DDH@std@@QEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z
+; public: int __cdecl std::codecvt<unsigned short,char,int>::in(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64 & __ptr64)const  __ptr64
+?in@?$codecvt@GDH@std@@QEBAHAEAHPEBD1AEAPEBDPEAG3AEAPEAG@Z
+; public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::in_avail(void) __ptr64
+?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ
+; public: __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::in_avail(void) __ptr64
+?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::infinity(void)
+?infinity@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::infinity(void)
+?infinity@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::infinity(void)
+?infinity@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::infinity(void)
+?infinity@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::infinity(void)
+?infinity@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::infinity(void)
+?infinity@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::infinity(void)
+?infinity@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::infinity(void)
+?infinity@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::infinity(void)
+?infinity@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::infinity(void)
+?infinity@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::infinity(void)
+?infinity@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::infinity(void)
+?infinity@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::infinity(void)
+?infinity@?$numeric_limits@_N@std@@SA_NXZ
+; protected: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::init(class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64,bool) __ptr64
+?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z
+; protected: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::init(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64,bool) __ptr64
+?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,unsigned __int64,char) __ptr64
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0D@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KAEBV12@00@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KAEBV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,char const * __ptr64,unsigned __int64) __ptr64
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KPEBD0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned __int64,char const * __ptr64) __ptr64
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_KPEBD@Z
+; public: char * __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char * __ptr64,char) __ptr64
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAPEADPEADD@Z
+; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXPEADPEBD1@Z
+; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char * __ptr64,unsigned __int64,char) __ptr64
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXPEAD_KD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,unsigned __int64,unsigned short) __ptr64
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0G@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KAEBV12@00@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KAEBV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,unsigned short const * __ptr64,unsigned __int64) __ptr64
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KPEBG0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned __int64,unsigned short const * __ptr64) __ptr64
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_KPEBG@Z
+; public: unsigned short * __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short * __ptr64,unsigned short) __ptr64
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAPEAGPEAGG@Z
+; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXPEAGPEBG1@Z
+; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short * __ptr64,unsigned __int64,unsigned short) __ptr64
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXPEAG_KG@Z
+; public: static bool const  std::moneypunct<char,1>::intl
+?intl@?$moneypunct@D$00@std@@2_NB
+; public: static bool const  std::moneypunct<char,0>::intl
+?intl@?$moneypunct@D$0A@@std@@2_NB
+; public: static bool const  std::moneypunct<unsigned short,1>::intl
+?intl@?$moneypunct@G$00@std@@2_NB
+; public: static bool const  std::moneypunct<unsigned short,0>::intl
+?intl@?$moneypunct@G$0A@@std@@2_NB
+; public: bool __cdecl std::basic_istream<char,struct std::char_traits<char> >::ipfx(bool) __ptr64
+?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_N_N@Z
+; public: bool __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ipfx(bool) __ptr64
+?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_N_N@Z
+; public: char const * __ptr64 __cdecl std::ctype<char>::is(char const * __ptr64,char const * __ptr64,short * __ptr64)const  __ptr64
+?is@?$ctype@D@std@@QEBAPEBDPEBD0PEAF@Z
+; public: bool __cdecl std::ctype<char>::is(short,char)const  __ptr64
+?is@?$ctype@D@std@@QEBA_NFD@Z
+; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::is(unsigned short const * __ptr64,unsigned short const * __ptr64,short * __ptr64)const  __ptr64
+?is@?$ctype@G@std@@QEBAPEBGPEBG0PEAF@Z
+; public: bool __cdecl std::ctype<unsigned short>::is(short,unsigned short)const  __ptr64
+?is@?$ctype@G@std@@QEBA_NFG@Z
+; public: bool __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::is_open(void)const  __ptr64
+?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEBA_NXZ
+; public: bool __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const  __ptr64
+?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEBA_NXZ
+; public: bool __cdecl std::basic_fstream<char,struct std::char_traits<char> >::is_open(void)const  __ptr64
+?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
+; public: bool __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const  __ptr64
+?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ
+; public: bool __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::is_open(void)const  __ptr64
+?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
+; public: bool __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const  __ptr64
+?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ
+; public: bool __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::is_open(void)const  __ptr64
+?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
+; public: bool __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const  __ptr64
+?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBA_NXZ
+; public: void __cdecl std::basic_istream<char,struct std::char_traits<char> >::isfx(void) __ptr64
+?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::isfx(void) __ptr64
+?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: long & __ptr64 __cdecl std::ios_base::iword(int) __ptr64
+?iword@ios_base@std@@QEAAAEAJH@Z
+; public: static float __cdecl std::_Ctr<float>::ldexp(float,int)
+?ldexp@?$_Ctr@M@std@@SAMMH@Z
+; public: static double __cdecl std::_Ctr<double>::ldexp(double,int)
+?ldexp@?$_Ctr@N@std@@SANNH@Z
+; public: static long double __cdecl std::_Ctr<long double>::ldexp(long double,int)
+?ldexp@?$_Ctr@O@std@@SAOOH@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::length(void)const  __ptr64
+?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::length(void)const  __ptr64
+?length@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ
+; public: static unsigned __int64 __cdecl std::char_traits<char>::length(char const * __ptr64)
+?length@?$char_traits@D@std@@SA_KPEBD@Z
+; public: static unsigned __int64 __cdecl std::char_traits<unsigned short>::length(unsigned short const * __ptr64)
+?length@?$char_traits@G@std@@SA_KPEBG@Z
+; public: int __cdecl std::codecvt<char,char,int>::length(int & __ptr64,char const * __ptr64,char const * __ptr64,unsigned __int64)const  __ptr64
+?length@?$codecvt@DDH@std@@QEBAHAEAHPEBD1_K@Z
+; public: int __cdecl std::codecvt<unsigned short,char,int>::length(int & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned __int64)const  __ptr64
+?length@?$codecvt@GDH@std@@QEBAHAEAHPEBG1_K@Z
+; class std::complex<float>  __cdecl std::log10(class std::complex<float> const & __ptr64)
+?log10@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; class std::complex<double>  __cdecl std::log10(class std::complex<double> const & __ptr64)
+?log10@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; class std::complex<long double>  __cdecl std::log10(class std::complex<long double> const & __ptr64)
+?log10@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; public: static float __cdecl std::_Ctr<float>::log(float)
+?log@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::log(double)
+?log@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::log(long double)
+?log@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::log(class std::complex<float> const & __ptr64)
+?log@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; class std::complex<double>  __cdecl std::log(class std::complex<double> const & __ptr64)
+?log@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; class std::complex<long double>  __cdecl std::log(class std::complex<long double> const & __ptr64)
+?log@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; public: static bool __cdecl std::char_traits<char>::lt(char const & __ptr64,char const & __ptr64)
+?lt@?$char_traits@D@std@@SA_NAEBD0@Z
+; public: static bool __cdecl std::char_traits<unsigned short>::lt(unsigned short const & __ptr64,unsigned short const & __ptr64)
+?lt@?$char_traits@G@std@@SA_NAEBG0@Z
+; public: static signed char __cdecl std::numeric_limits<signed char>::max(void)
+?max@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::max(void)
+?max@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::max(void)
+?max@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::max(void)
+?max@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::max(void)
+?max@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::max(void)
+?max@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::max(void)
+?max@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::max(void)
+?max@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::max(void)
+?max@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::max(void)
+?max@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::max(void)
+?max@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::max(void)
+?max@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::max(void)
+?max@?$numeric_limits@_N@std@@SA_NXZ
+; public: int __cdecl std::codecvt_base::max_length(void)const  __ptr64
+?max_length@codecvt_base@std@@QEBAHXZ
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::max_size(void)const  __ptr64
+?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::max_size(void)const  __ptr64
+?max_size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::min(void)
+?min@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::min(void)
+?min@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::min(void)
+?min@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::min(void)
+?min@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::min(void)
+?min@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::min(void)
+?min@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::min(void)
+?min@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::min(void)
+?min@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::min(void)
+?min@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::min(void)
+?min@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::min(void)
+?min@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::min(void)
+?min@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::min(void)
+?min@?$numeric_limits@_N@std@@SA_NXZ
+; public: static char * __ptr64 __cdecl std::char_traits<char>::move(char * __ptr64,char const * __ptr64,unsigned __int64)
+?move@?$char_traits@D@std@@SAPEADPEADPEBD_K@Z
+; public: static unsigned short * __ptr64 __cdecl std::char_traits<unsigned short>::move(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned __int64)
+?move@?$char_traits@G@std@@SAPEAGPEAGPEBG_K@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::locale::name(void)const  __ptr64
+?name@locale@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::narrow(char,char)const  __ptr64
+?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z
+; public: char __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::narrow(unsigned short,char)const  __ptr64
+?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBADGD@Z
+; public: char __cdecl std::ctype<char>::narrow(char,char)const  __ptr64
+?narrow@?$ctype@D@std@@QEBADDD@Z
+; public: char const * __ptr64 __cdecl std::ctype<char>::narrow(char const * __ptr64,char const * __ptr64,char,char * __ptr64)const  __ptr64
+?narrow@?$ctype@D@std@@QEBAPEBDPEBD0DPEAD@Z
+; public: char __cdecl std::ctype<unsigned short>::narrow(unsigned short,char)const  __ptr64
+?narrow@?$ctype@G@std@@QEBADGD@Z
+; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::narrow(unsigned short const * __ptr64,unsigned short const * __ptr64,char,char * __ptr64)const  __ptr64
+?narrow@?$ctype@G@std@@QEBAPEBGPEBG0DPEAD@Z
+; public: struct std::money_base::pattern  __cdecl std::_Mpunct<char>::neg_format(void)const  __ptr64
+?neg_format@?$_Mpunct@D@std@@QEBA?AUpattern@money_base@2@XZ
+; public: struct std::money_base::pattern  __cdecl std::_Mpunct<unsigned short>::neg_format(void)const  __ptr64
+?neg_format@?$_Mpunct@G@std@@QEBA?AUpattern@money_base@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::negative_sign(void)const  __ptr64
+?negative_sign@?$_Mpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::negative_sign(void)const  __ptr64
+?negative_sign@?$_Mpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; float __cdecl std::norm(class std::complex<float> const & __ptr64)
+?norm@std@@YAMAEBV?$complex@M@1@@Z
+; double __cdecl std::norm(class std::complex<double> const & __ptr64)
+?norm@std@@YANAEBV?$complex@N@1@@Z
+; long double __cdecl std::norm(class std::complex<long double> const & __ptr64)
+?norm@std@@YAOAEBV?$complex@O@1@@Z
+; public: static int __cdecl std::char_traits<char>::not_eof(int const & __ptr64)
+?not_eof@?$char_traits@D@std@@SAHAEBH@Z
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::not_eof(unsigned short const & __ptr64)
+?not_eof@?$char_traits@G@std@@SAGAEBG@Z
+; struct std::nothrow_t const  std::nothrow
+?nothrow@std@@3Unothrow_t@1@B
+; public: static unsigned __int64 const  std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::npos
+?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2_KB
+; public: static unsigned __int64 const  std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::npos
+?npos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@2_KB
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::open(char const * __ptr64,short) __ptr64
+?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDF@Z
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::open(char const * __ptr64,int) __ptr64
+?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEBDH@Z
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,short) __ptr64
+?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDF@Z
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,int) __ptr64
+?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEBDH@Z
+; public: void __cdecl std::basic_fstream<char,struct std::char_traits<char> >::open(char const * __ptr64,short) __ptr64
+?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z
+; public: void __cdecl std::basic_fstream<char,struct std::char_traits<char> >::open(char const * __ptr64,int) __ptr64
+?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z
+; public: void __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,short) __ptr64
+?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z
+; public: void __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,int) __ptr64
+?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z
+; public: void __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::open(char const * __ptr64,short) __ptr64
+?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z
+; public: void __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::open(char const * __ptr64,int) __ptr64
+?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z
+; public: void __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,short) __ptr64
+?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z
+; public: void __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,int) __ptr64
+?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z
+; public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::open(char const * __ptr64,short) __ptr64
+?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDF@Z
+; public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::open(char const * __ptr64,int) __ptr64
+?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXPEBDH@Z
+; public: void __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,short) __ptr64
+?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDF@Z
+; public: void __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const * __ptr64,int) __ptr64
+?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEAAXPEBDH@Z
+; public: int __cdecl std::messages<char>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::locale const & __ptr64)const  __ptr64
+?open@?$messages@D@std@@QEBAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEBVlocale@2@@Z
+; public: int __cdecl std::messages<unsigned short>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,class std::locale const & __ptr64)const  __ptr64
+?open@?$messages@G@std@@QEBAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEBVlocale@2@@Z
+; public: bool __cdecl std::basic_ostream<char,struct std::char_traits<char> >::opfx(void) __ptr64
+?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ
+; public: bool __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::opfx(void) __ptr64
+?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA_NXZ
+; public: void __cdecl std::basic_ostream<char,struct std::char_traits<char> >::osfx(void) __ptr64
+?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::osfx(void) __ptr64
+?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: int __cdecl std::codecvt<char,char,int>::out(int & __ptr64,char const * __ptr64,char const * __ptr64,char const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
+?out@?$codecvt@DDH@std@@QEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z
+; public: int __cdecl std::codecvt<unsigned short,char,int>::out(int & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64 & __ptr64,char * __ptr64,char * __ptr64,char * __ptr64 & __ptr64)const  __ptr64
+?out@?$codecvt@GDH@std@@QEBAHAEAHPEBG1AEAPEBGPEAD3AEAPEAD@Z
+; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::overflow(int) __ptr64
+?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z
+; protected: virtual unsigned short __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short) __ptr64
+?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z
+; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::overflow(int) __ptr64
+?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z
+; protected: virtual unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short) __ptr64
+?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z
+; protected: virtual int __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::overflow(int) __ptr64
+?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z
+; protected: virtual unsigned short __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::overflow(unsigned short) __ptr64
+?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z
+; protected: virtual int __cdecl std::strstreambuf::overflow(int) __ptr64
+?overflow@strstreambuf@std@@MEAAHH@Z
+; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::pbackfail(int) __ptr64
+?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z
+; protected: virtual unsigned short __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short) __ptr64
+?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z
+; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pbackfail(int) __ptr64
+?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z
+; protected: virtual unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short) __ptr64
+?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z
+; protected: virtual int __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::pbackfail(int) __ptr64
+?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z
+; protected: virtual unsigned short __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::pbackfail(unsigned short) __ptr64
+?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGG@Z
+; protected: virtual int __cdecl std::strstreambuf::pbackfail(int) __ptr64
+?pbackfail@strstreambuf@std@@MEAAHH@Z
+; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const  __ptr64
+?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
+; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbase(void)const  __ptr64
+?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
+; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pbump(int) __ptr64
+?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z
+; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbump(int) __ptr64
+?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z
+; public: int __cdecl std::basic_istream<char,struct std::char_traits<char> >::peek(void) __ptr64
+?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ
+; public: unsigned short __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::peek(void) __ptr64
+?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAGXZ
+; class std::complex<float>  __cdecl std::polar(float const & __ptr64,float const & __ptr64)
+?polar@std@@YA?AV?$complex@M@1@AEBM0@Z
+; class std::complex<float>  __cdecl std::polar(float const & __ptr64)
+?polar@std@@YA?AV?$complex@M@1@AEBM@Z
+; class std::complex<double>  __cdecl std::polar(double const & __ptr64,double const & __ptr64)
+?polar@std@@YA?AV?$complex@N@1@AEBN0@Z
+; class std::complex<double>  __cdecl std::polar(double const & __ptr64)
+?polar@std@@YA?AV?$complex@N@1@AEBN@Z
+; class std::complex<long double>  __cdecl std::polar(long double const & __ptr64,long double const & __ptr64)
+?polar@std@@YA?AV?$complex@O@1@AEBO0@Z
+; class std::complex<long double>  __cdecl std::polar(long double const & __ptr64)
+?polar@std@@YA?AV?$complex@O@1@AEBO@Z
+; public: struct std::money_base::pattern  __cdecl std::_Mpunct<char>::pos_format(void)const  __ptr64
+?pos_format@?$_Mpunct@D@std@@QEBA?AUpattern@money_base@2@XZ
+; public: struct std::money_base::pattern  __cdecl std::_Mpunct<unsigned short>::pos_format(void)const  __ptr64
+?pos_format@?$_Mpunct@G@std@@QEBA?AUpattern@money_base@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::_Mpunct<char>::positive_sign(void)const  __ptr64
+?positive_sign@?$_Mpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::_Mpunct<unsigned short>::positive_sign(void)const  __ptr64
+?positive_sign@?$_Mpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: static float __cdecl std::_Ctr<float>::pow(float,float)
+?pow@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::pow(double,double)
+?pow@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::pow(long double,long double)
+?pow@?$_Ctr@O@std@@SAOOO@Z
+; class std::complex<float>  __cdecl std::pow(float const & __ptr64,class std::complex<float> const & __ptr64)
+?pow@std@@YA?AV?$complex@M@1@AEBMAEBV21@@Z
+; class std::complex<float>  __cdecl std::pow(class std::complex<float> const & __ptr64,class std::complex<float> const & __ptr64)
+?pow@std@@YA?AV?$complex@M@1@AEBV21@0@Z
+; class std::complex<float>  __cdecl std::pow(class std::complex<float> const & __ptr64,float const & __ptr64)
+?pow@std@@YA?AV?$complex@M@1@AEBV21@AEBM@Z
+; class std::complex<float>  __cdecl std::pow(class std::complex<float> const & __ptr64,int)
+?pow@std@@YA?AV?$complex@M@1@AEBV21@H@Z
+; class std::complex<double>  __cdecl std::pow(double const & __ptr64,class std::complex<double> const & __ptr64)
+?pow@std@@YA?AV?$complex@N@1@AEBNAEBV21@@Z
+; class std::complex<double>  __cdecl std::pow(class std::complex<double> const & __ptr64,class std::complex<double> const & __ptr64)
+?pow@std@@YA?AV?$complex@N@1@AEBV21@0@Z
+; class std::complex<double>  __cdecl std::pow(class std::complex<double> const & __ptr64,double const & __ptr64)
+?pow@std@@YA?AV?$complex@N@1@AEBV21@AEBN@Z
+; class std::complex<double>  __cdecl std::pow(class std::complex<double> const & __ptr64,int)
+?pow@std@@YA?AV?$complex@N@1@AEBV21@H@Z
+; class std::complex<long double>  __cdecl std::pow(long double const & __ptr64,class std::complex<long double> const & __ptr64)
+?pow@std@@YA?AV?$complex@O@1@AEBOAEBV21@@Z
+; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const & __ptr64,class std::complex<long double> const & __ptr64)
+?pow@std@@YA?AV?$complex@O@1@AEBV21@0@Z
+; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const & __ptr64,long double const & __ptr64)
+?pow@std@@YA?AV?$complex@O@1@AEBV21@AEBO@Z
+; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const & __ptr64,int)
+?pow@std@@YA?AV?$complex@O@1@AEBV21@H@Z
+; protected: char * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const  __ptr64
+?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ
+; protected: unsigned short * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pptr(void)const  __ptr64
+?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ
+; public: __int64 __cdecl std::ios_base::precision(int) __ptr64
+?precision@ios_base@std@@QEAA_JH@Z
+; public: __int64 __cdecl std::ios_base::precision(void)const  __ptr64
+?precision@ios_base@std@@QEBA_JXZ
+; public: class std::locale  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubimbue(class std::locale const & __ptr64) __ptr64
+?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z
+; public: class std::locale  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubimbue(class std::locale const & __ptr64) __ptr64
+?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z
+; public: class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(__int64,short,short) __ptr64
+?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JFF@Z
+; public: class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
+?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
+; public: class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(__int64,short,short) __ptr64
+?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JFF@Z
+; public: class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
+?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
+; public: class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,short) __ptr64
+?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@F@Z
+; public: class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,int) __ptr64
+?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z
+; public: class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,short) __ptr64
+?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@F@Z
+; public: class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,int) __ptr64
+?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubsetbuf(char * __ptr64,__int64) __ptr64
+?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsetbuf(unsigned short * __ptr64,__int64) __ptr64
+?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEAG_J@Z
+; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pubsync(void) __ptr64
+?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
+; public: int __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsync(void) __ptr64
+?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::put(char) __ptr64
+?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::put(unsigned short) __ptr64
+?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64)const  __ptr64
+?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@DAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base & __ptr64,char,long double)const  __ptr64
+?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAEAVios_base@2@DO@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64)const  __ptr64
+?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@GAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base & __ptr64,unsigned short,long double)const  __ptr64
+?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAEAVios_base@2@GO@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,long)const  __ptr64
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DJ@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,unsigned long)const  __ptr64
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DK@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,double)const  __ptr64
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DN@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,long double)const  __ptr64
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DO@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,void const * __ptr64)const  __ptr64
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@DPEBX@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,__int64)const  __ptr64
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_J@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,unsigned __int64)const  __ptr64
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_K@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,char,bool)const  __ptr64
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@D_N@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,long)const  __ptr64
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GJ@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,unsigned long)const  __ptr64
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GK@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,double)const  __ptr64
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GN@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,long double)const  __ptr64
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GO@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,void const * __ptr64)const  __ptr64
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@GPEBX@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,__int64)const  __ptr64
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_J@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,unsigned __int64)const  __ptr64
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_K@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,unsigned short,bool)const  __ptr64
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@G_N@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char,char)const  __ptr64
+?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@PEBUtm@@DD@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char const * __ptr64,char const * __ptr64)const  __ptr64
+?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AEAVios_base@2@PEBUtm@@PEBD3@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,struct tm const * __ptr64,char,char)const  __ptr64
+?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@PEBUtm@@DD@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base & __ptr64,struct tm const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEBA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AEAVios_base@2@PEBUtm@@PEBG3@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::putback(char) __ptr64
+?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::putback(unsigned short) __ptr64
+?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@G@Z
+; public: void * __ptr64 & __ptr64 __cdecl std::ios_base::pword(int) __ptr64
+?pword@ios_base@std@@QEAAAEAPEAXH@Z
+; public: static signed char __cdecl std::numeric_limits<signed char>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@_N@std@@SA_NXZ
+; public: class std::reverse_iterator<char * __ptr64,char,char & __ptr64,char * __ptr64,__int64>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void) __ptr64
+?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$reverse_iterator@PEADDAEADPEAD_J@2@XZ
+; public: class std::reverse_iterator<char const * __ptr64,char,char const & __ptr64,char const * __ptr64,__int64>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)const  __ptr64
+?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$reverse_iterator@PEBDDAEBDPEBD_J@2@XZ
+; public: class std::reverse_iterator<unsigned short * __ptr64,unsigned short,unsigned short & __ptr64,unsigned short * __ptr64,__int64>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void) __ptr64
+?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$reverse_iterator@PEAGGAEAGPEAG_J@2@XZ
+; public: class std::reverse_iterator<unsigned short const * __ptr64,unsigned short,unsigned short const & __ptr64,unsigned short const * __ptr64,__int64>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)const  __ptr64
+?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$reverse_iterator@PEBGGAEBGPEBG_J@2@XZ
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_fstream<char,struct std::char_traits<char> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::rdbuf(class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64) __ptr64
+?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
+?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAV32@@Z
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __ptr64 __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __ptr64 __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __ptr64 __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __ptr64 __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __ptr64 __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __ptr64 __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const  __ptr64
+?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAPEAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: int __cdecl std::ios_base::rdstate(void)const  __ptr64
+?rdstate@ios_base@std@@QEBAHXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::read(char * __ptr64,__int64) __ptr64
+?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEAD_J@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::read(unsigned short * __ptr64,__int64) __ptr64
+?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEAG_J@Z
+; public: __int64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::readsome(char * __ptr64,__int64) __ptr64
+?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z
+; public: __int64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::readsome(unsigned short * __ptr64,__int64) __ptr64
+?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z
+; public: float __cdecl std::_Complex_base<float>::real(float const & __ptr64) __ptr64
+?real@?$_Complex_base@M@std@@QEAAMAEBM@Z
+; public: float __cdecl std::_Complex_base<float>::real(void)const  __ptr64
+?real@?$_Complex_base@M@std@@QEBAMXZ
+; public: double __cdecl std::_Complex_base<double>::real(double const & __ptr64) __ptr64
+?real@?$_Complex_base@N@std@@QEAANAEBN@Z
+; public: double __cdecl std::_Complex_base<double>::real(void)const  __ptr64
+?real@?$_Complex_base@N@std@@QEBANXZ
+; public: long double __cdecl std::_Complex_base<long double>::real(long double const & __ptr64) __ptr64
+?real@?$_Complex_base@O@std@@QEAAOAEBO@Z
+; public: long double __cdecl std::_Complex_base<long double>::real(void)const  __ptr64
+?real@?$_Complex_base@O@std@@QEBAOXZ
+; float __cdecl std::real(class std::complex<float> const & __ptr64)
+?real@std@@YAMAEBV?$complex@M@1@@Z
+; double __cdecl std::real(class std::complex<double> const & __ptr64)
+?real@std@@YANAEBV?$complex@N@1@@Z
+; long double __cdecl std::real(class std::complex<long double> const & __ptr64)
+?real@std@@YAOAEBV?$complex@O@1@@Z
+; public: void __cdecl std::ios_base::register_callback(void (__cdecl*)(enum std::ios_base::event,class std::ios_base & __ptr64,int),int) __ptr64
+?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z
+; public: class std::reverse_iterator<char * __ptr64,char,char & __ptr64,char * __ptr64,__int64>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void) __ptr64
+?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$reverse_iterator@PEADDAEADPEAD_J@2@XZ
+; public: class std::reverse_iterator<char const * __ptr64,char,char const & __ptr64,char const * __ptr64,__int64>  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)const  __ptr64
+?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$reverse_iterator@PEBDDAEBDPEBD_J@2@XZ
+; public: class std::reverse_iterator<unsigned short * __ptr64,unsigned short,unsigned short & __ptr64,unsigned short * __ptr64,__int64>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void) __ptr64
+?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$reverse_iterator@PEAGGAEAGPEAG_J@2@XZ
+; public: class std::reverse_iterator<unsigned short const * __ptr64,unsigned short,unsigned short const & __ptr64,unsigned short const * __ptr64,__int64>  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)const  __ptr64
+?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$reverse_iterator@PEBGGAEBGPEBG_J@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0AEBV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,char const * __ptr64,char const * __ptr64) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0PEBD1@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,char const * __ptr64) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0PEBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,char const * __ptr64,unsigned __int64) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0PEBD_K@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char * __ptr64,char * __ptr64,unsigned __int64,char) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEAD0_KD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,unsigned __int64,char) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K00D@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0AEBV12@00@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0AEBV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,char const * __ptr64,unsigned __int64) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0PEBD0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned __int64,unsigned __int64,char const * __ptr64) __ptr64
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0PEBD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0AEBV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0PEBG1@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0PEBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short const * __ptr64,unsigned __int64) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0PEBG_K@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short * __ptr64,unsigned short * __ptr64,unsigned __int64,unsigned short) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@PEAG0_KG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,unsigned __int64,unsigned short) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K00G@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64,unsigned __int64) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0AEBV12@00@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0AEBV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,unsigned short const * __ptr64,unsigned __int64) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0PEBG0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned __int64,unsigned __int64,unsigned short const * __ptr64) __ptr64
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAV12@_K0PEBG@Z
+; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::reserve(unsigned __int64) __ptr64
+?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAX_K@Z
+; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::reserve(unsigned __int64) __ptr64
+?reserve@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAX_K@Z
+; struct std::_Smanip<int>  __cdecl std::resetiosflags(int)
+?resetiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
+; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned __int64) __ptr64
+?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAX_K@Z
+; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned __int64,char) __ptr64
+?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAX_KD@Z
+; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned __int64) __ptr64
+?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAX_K@Z
+; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned __int64,unsigned short) __ptr64
+?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAX_KG@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64,unsigned __int64)const  __ptr64
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char,unsigned __int64)const  __ptr64
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const * __ptr64,unsigned __int64)const  __ptr64
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KPEBD_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64,unsigned __int64)const  __ptr64
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KAEBV12@_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short,unsigned __int64)const  __ptr64
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KG_K@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const * __ptr64,unsigned __int64,unsigned __int64)const  __ptr64
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K1@Z
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const * __ptr64,unsigned __int64)const  __ptr64
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KPEBG_K@Z
+; public: static signed char __cdecl std::numeric_limits<signed char>::round_error(void)
+?round_error@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::round_error(void)
+?round_error@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::round_error(void)
+?round_error@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::round_error(void)
+?round_error@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::round_error(void)
+?round_error@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::round_error(void)
+?round_error@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::round_error(void)
+?round_error@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::round_error(void)
+?round_error@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::round_error(void)
+?round_error@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::round_error(void)
+?round_error@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::round_error(void)
+?round_error@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::round_error(void)
+?round_error@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::round_error(void)
+?round_error@?$numeric_limits@_N@std@@SA_NXZ
+; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sbumpc(void) __ptr64
+?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
+; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sbumpc(void) __ptr64
+?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
+; public: char const * __ptr64 __cdecl std::ctype<char>::scan_is(short,char const * __ptr64,char const * __ptr64)const  __ptr64
+?scan_is@?$ctype@D@std@@QEBAPEBDFPEBD0@Z
+; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::scan_is(short,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?scan_is@?$ctype@G@std@@QEBAPEBGFPEBG0@Z
+; public: char const * __ptr64 __cdecl std::ctype<char>::scan_not(short,char const * __ptr64,char const * __ptr64)const  __ptr64
+?scan_not@?$ctype@D@std@@QEBAPEBDFPEBD0@Z
+; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::scan_not(short,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?scan_not@?$ctype@G@std@@QEBAPEBGFPEBG0@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::seekg(class std::fpos<int>) __ptr64
+?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::seekg(__int64,enum std::ios_base::seekdir) __ptr64
+?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(class std::fpos<int>) __ptr64
+?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(__int64,enum std::ios_base::seekdir) __ptr64
+?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
+?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
+?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
+?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
+?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
+?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
+?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::strstreambuf::seekoff(__int64,enum std::ios_base::seekdir,int) __ptr64
+?seekoff@strstreambuf@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::seekp(class std::fpos<int>) __ptr64
+?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::seekp(__int64,enum std::ios_base::seekdir) __ptr64
+?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(class std::fpos<int>) __ptr64
+?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(__int64,enum std::ios_base::seekdir) __ptr64
+?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int) __ptr64
+?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int) __ptr64
+?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int) __ptr64
+?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int) __ptr64
+?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekpos(class std::fpos<int>,int) __ptr64
+?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekpos(class std::fpos<int>,int) __ptr64
+?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __cdecl std::strstreambuf::seekpos(class std::fpos<int>,int) __ptr64
+?seekpos@strstreambuf@std@@MEAA?AV?$fpos@H@2@V32@H@Z
+; struct std::_Smanip<int>  __cdecl std::setbase(int)
+?setbase@std@@YA?AU?$_Smanip@H@1@H@Z
+; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::setbuf(char * __ptr64,__int64) __ptr64
+?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAD_J@Z
+; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short * __ptr64,__int64) __ptr64
+?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAPEAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PEAG_J@Z
+; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setbuf(char * __ptr64,__int64) __ptr64
+?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z
+; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short * __ptr64,__int64) __ptr64
+?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z
+; public: int __cdecl std::ios_base::setf(int) __ptr64
+?setf@ios_base@std@@QEAAHH@Z
+; public: int __cdecl std::ios_base::setf(int,int) __ptr64
+?setf@ios_base@std@@QEAAHHH@Z
+; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setg(char * __ptr64,char * __ptr64,char * __ptr64) __ptr64
+?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z
+; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setg(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z
+; struct std::_Smanip<int>  __cdecl std::setiosflags(int)
+?setiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
+; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setp(char * __ptr64,char * __ptr64,char * __ptr64) __ptr64
+?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z
+; protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setp(char * __ptr64,char * __ptr64) __ptr64
+?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z
+; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z
+; protected: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG0@Z
+; struct std::_Smanip<__int64>  __cdecl std::setprecision(__int64)
+?setprecision@std@@YA?AU?$_Smanip@_J@1@_J@Z
+; public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::setstate(short) __ptr64
+?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXF@Z
+; public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool) __ptr64
+?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
+; public: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(short) __ptr64
+?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXF@Z
+; public: void __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(int,bool) __ptr64
+?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAXH_N@Z
+; public: void __cdecl std::ios_base::setstate(short) __ptr64
+?setstate@ios_base@std@@QEAAXF@Z
+; public: void __cdecl std::ios_base::setstate(int,bool) __ptr64
+?setstate@ios_base@std@@QEAAXH_N@Z
+; struct std::_Smanip<__int64>  __cdecl std::setw(__int64)
+?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z
+; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sgetc(void) __ptr64
+?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
+; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetc(void) __ptr64
+?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
+; public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sgetn(char * __ptr64,__int64) __ptr64
+?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z
+; public: __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetn(unsigned short * __ptr64,__int64) __ptr64
+?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z
+; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::showmanyc(void) __ptr64
+?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
+; protected: virtual int __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::showmanyc(void) __ptr64
+?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@_N@std@@SA_NXZ
+; public: static float __cdecl std::_Ctr<float>::sin(float)
+?sin@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::sin(double)
+?sin@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::sin(long double)
+?sin@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::sin(class std::complex<float> const & __ptr64)
+?sin@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; class std::complex<double>  __cdecl std::sin(class std::complex<double> const & __ptr64)
+?sin@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; class std::complex<long double>  __cdecl std::sin(class std::complex<long double> const & __ptr64)
+?sin@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; class std::complex<float>  __cdecl std::sinh(class std::complex<float> const & __ptr64)
+?sinh@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; class std::complex<double>  __cdecl std::sinh(class std::complex<double> const & __ptr64)
+?sinh@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; class std::complex<long double>  __cdecl std::sinh(class std::complex<long double> const & __ptr64)
+?sinh@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; public: unsigned __int64 __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const  __ptr64
+?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA_KXZ
+; public: unsigned __int64 __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::size(void)const  __ptr64
+?size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA_KXZ
+; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::snextc(void) __ptr64
+?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
+; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::snextc(void) __ptr64
+?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
+; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputbackc(char) __ptr64
+?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
+; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputbackc(unsigned short) __ptr64
+?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z
+; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char) __ptr64
+?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
+; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputc(unsigned short) __ptr64
+?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z
+; public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const * __ptr64,__int64) __ptr64
+?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z
+; public: __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputn(unsigned short const * __ptr64,__int64) __ptr64
+?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEBG_J@Z
+; public: static float __cdecl std::_Ctr<float>::sqrt(float)
+?sqrt@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::sqrt(double)
+?sqrt@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::sqrt(long double)
+?sqrt@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::sqrt(class std::complex<float> const & __ptr64)
+?sqrt@std@@YA?AV?$complex@M@1@AEBV21@@Z
+; class std::complex<double>  __cdecl std::sqrt(class std::complex<double> const & __ptr64)
+?sqrt@std@@YA?AV?$complex@N@1@AEBV21@@Z
+; class std::complex<long double>  __cdecl std::sqrt(class std::complex<long double> const & __ptr64)
+?sqrt@std@@YA?AV?$complex@O@1@AEBV21@@Z
+; public: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::stossc(void) __ptr64
+?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::stossc(void) __ptr64
+?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ
+; public: void __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const  __ptr64
+?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const  __ptr64
+?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: void __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const  __ptr64
+?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const  __ptr64
+?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: void __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const  __ptr64
+?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const  __ptr64
+?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: void __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __ptr64) __ptr64
+?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const  __ptr64
+?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const  __ptr64
+?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::substr(unsigned __int64,unsigned __int64)const  __ptr64
+?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBA?AV12@_K0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::substr(unsigned __int64,unsigned __int64)const  __ptr64
+?substr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBA?AV12@_K0@Z
+; public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sungetc(void) __ptr64
+?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ
+; public: unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sungetc(void) __ptr64
+?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ
+; public: void __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::swap(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __ptr64) __ptr64
+?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::swap(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __ptr64) __ptr64
+?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAXAEAV12@@Z
+; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::sync(void) __ptr64
+?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
+; protected: virtual int __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void) __ptr64
+?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAHXZ
+; public: int __cdecl std::basic_istream<char,struct std::char_traits<char> >::sync(void) __ptr64
+?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ
+; public: int __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::sync(void) __ptr64
+?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAHXZ
+; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sync(void) __ptr64
+?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
+; protected: virtual int __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void) __ptr64
+?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ
+; public: static bool __cdecl std::ios_base::sync_with_stdio(bool)
+?sync_with_stdio@ios_base@std@@SA_N_N@Z
+; protected: short const * __ptr64 __cdecl std::ctype<char>::table(void)const  __ptr64
+?table@?$ctype@D@std@@IEBAPEBFXZ
+; public: static unsigned __int64 const  std::ctype<char>::table_size
+?table_size@?$ctype@D@std@@2_KB
+; public: class std::fpos<int>  __cdecl std::basic_istream<char,struct std::char_traits<char> >::tellg(void) __ptr64
+?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ
+; public: class std::fpos<int>  __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::tellg(void) __ptr64
+?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ
+; public: class std::fpos<int>  __cdecl std::basic_ostream<char,struct std::char_traits<char> >::tellp(void) __ptr64
+?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ
+; public: class std::fpos<int>  __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::tellp(void) __ptr64
+?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ
+; public: char __cdecl std::_Mpunct<char>::thousands_sep(void)const  __ptr64
+?thousands_sep@?$_Mpunct@D@std@@QEBADXZ
+; public: unsigned short __cdecl std::_Mpunct<unsigned short>::thousands_sep(void)const  __ptr64
+?thousands_sep@?$_Mpunct@G@std@@QEBAGXZ
+; public: char __cdecl std::numpunct<char>::thousands_sep(void)const  __ptr64
+?thousands_sep@?$numpunct@D@std@@QEBADXZ
+; public: unsigned short __cdecl std::numpunct<unsigned short>::thousands_sep(void)const  __ptr64
+?thousands_sep@?$numpunct@G@std@@QEBAGXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::tie(class std::basic_ostream<char,struct std::char_traits<char> > * __ptr64) __ptr64
+?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > * __ptr64 __cdecl std::basic_ios<char,struct std::char_traits<char> >::tie(void)const  __ptr64
+?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __ptr64) __ptr64
+?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEAAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@PEAV32@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __ptr64 __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(void)const  __ptr64
+?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAPEAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ
+; public: static char __cdecl std::char_traits<char>::to_char_type(int const & __ptr64)
+?to_char_type@?$char_traits@D@std@@SADAEBH@Z
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_char_type(unsigned short const & __ptr64)
+?to_char_type@?$char_traits@G@std@@SAGAEBG@Z
+; public: static int __cdecl std::char_traits<char>::to_int_type(char const & __ptr64)
+?to_int_type@?$char_traits@D@std@@SAHAEBD@Z
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_int_type(unsigned short const & __ptr64)
+?to_int_type@?$char_traits@G@std@@SAGAEBG@Z
+; public: char __cdecl std::ctype<char>::tolower(char)const  __ptr64
+?tolower@?$ctype@D@std@@QEBADD@Z
+; public: char const * __ptr64 __cdecl std::ctype<char>::tolower(char * __ptr64,char const * __ptr64)const  __ptr64
+?tolower@?$ctype@D@std@@QEBAPEBDPEADPEBD@Z
+; public: unsigned short __cdecl std::ctype<unsigned short>::tolower(unsigned short)const  __ptr64
+?tolower@?$ctype@G@std@@QEBAGG@Z
+; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::tolower(unsigned short * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?tolower@?$ctype@G@std@@QEBAPEBGPEAGPEBG@Z
+; public: char __cdecl std::ctype<char>::toupper(char)const  __ptr64
+?toupper@?$ctype@D@std@@QEBADD@Z
+; public: char const * __ptr64 __cdecl std::ctype<char>::toupper(char * __ptr64,char const * __ptr64)const  __ptr64
+?toupper@?$ctype@D@std@@QEBAPEBDPEADPEBD@Z
+; public: unsigned short __cdecl std::ctype<unsigned short>::toupper(unsigned short)const  __ptr64
+?toupper@?$ctype@G@std@@QEBAGG@Z
+; public: unsigned short const * __ptr64 __cdecl std::ctype<unsigned short>::toupper(unsigned short * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?toupper@?$ctype@G@std@@QEBAPEBGPEAGPEBG@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::collate<char>::transform(char const * __ptr64,char const * __ptr64)const  __ptr64
+?transform@?$collate@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PEBD0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::collate<unsigned short>::transform(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?transform@?$collate@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PEBG0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::numpunct<char>::truename(void)const  __ptr64
+?truename@?$numpunct@D@std@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::numpunct<unsigned short>::truename(void)const  __ptr64
+?truename@?$numpunct@G@std@@QEBA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::uflow(void) __ptr64
+?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
+; protected: virtual unsigned short __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void) __ptr64
+?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ
+; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::uflow(void) __ptr64
+?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
+; protected: virtual unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void) __ptr64
+?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ
+; bool __cdecl std::uncaught_exception(void)
+?uncaught_exception@std@@YA_NXZ
+; protected: virtual int __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::underflow(void) __ptr64
+?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
+; protected: virtual unsigned short __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void) __ptr64
+?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAAGXZ
+; protected: virtual int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::underflow(void) __ptr64
+?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ
+; protected: virtual unsigned short __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void) __ptr64
+?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ
+; protected: virtual int __cdecl std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::underflow(void) __ptr64
+?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHXZ
+; protected: virtual unsigned short __cdecl std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::underflow(void) __ptr64
+?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAAGXZ
+; protected: virtual int __cdecl std::strstreambuf::underflow(void) __ptr64
+?underflow@strstreambuf@std@@MEAAHXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_istream<char,struct std::char_traits<char> >::unget(void) __ptr64
+?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::unget(void) __ptr64
+?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@XZ
+; public: void __cdecl std::ios_base::unsetf(int) __ptr64
+?unsetf@ios_base@std@@QEAAXH@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcerr
+?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >  std::wcin
+?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A DATA
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wclog
+?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcout
+?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
+; public: virtual char const * __ptr64 __cdecl std::logic_error::what(void)const  __ptr64
+?what@logic_error@std@@UEBAPEBDXZ
+; public: virtual char const * __ptr64 __cdecl std::runtime_error::what(void)const  __ptr64
+?what@runtime_error@std@@UEBAPEBDXZ
+; public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::widen(char)const  __ptr64
+?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z
+; public: unsigned short __cdecl std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::widen(char)const  __ptr64
+?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QEBAGD@Z
+; public: char __cdecl std::ctype<char>::widen(char)const  __ptr64
+?widen@?$ctype@D@std@@QEBADD@Z
+; public: char const * __ptr64 __cdecl std::ctype<char>::widen(char const * __ptr64,char const * __ptr64,char * __ptr64)const  __ptr64
+?widen@?$ctype@D@std@@QEBAPEBDPEBD0PEAD@Z
+; public: unsigned short __cdecl std::ctype<unsigned short>::widen(char)const  __ptr64
+?widen@?$ctype@G@std@@QEBAGD@Z
+; public: char const * __ptr64 __cdecl std::ctype<unsigned short>::widen(char const * __ptr64,char const * __ptr64,unsigned short * __ptr64)const  __ptr64
+?widen@?$ctype@G@std@@QEBAPEBDPEBD0PEAG@Z
+; public: __int64 __cdecl std::ios_base::width(__int64) __ptr64
+?width@ios_base@std@@QEAA_J_J@Z
+; public: __int64 __cdecl std::ios_base::width(void)const  __ptr64
+?width@ios_base@std@@QEBA_JXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::basic_ostream<char,struct std::char_traits<char> >::write(char const * __ptr64,__int64) __ptr64
+?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::write(unsigned short const * __ptr64,__int64) __ptr64
+?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@PEBG_J@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __ptr64 __cdecl std::ws(class std::basic_istream<char,struct std::char_traits<char> > & __ptr64)
+?ws@std@@YAAEAV?$basic_istream@DU?$char_traits@D@std@@@1@AEAV21@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64 __cdecl std::ws(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __ptr64)
+?ws@std@@YAAEAV?$basic_istream@GU?$char_traits@G@std@@@1@AEAV21@@Z
+; public: static int __cdecl std::ios_base::xalloc(void)
+?xalloc@ios_base@std@@SAHXZ
+; protected: virtual __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::xsgetn(char * __ptr64,__int64) __ptr64
+?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z
+; protected: virtual __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsgetn(unsigned short * __ptr64,__int64) __ptr64
+?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z
+; protected: virtual __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::xsputn(char const * __ptr64,__int64) __ptr64
+?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z
+; protected: virtual __int64 __cdecl std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsputn(unsigned short const * __ptr64,__int64) __ptr64
+?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z
+_Cosh
+_Denorm
+_Dnorm
+_Dscale
+_Dtest
+_Eps
+_Exp
+_FCosh
+_FDenorm
+_FDnorm
+_FDscale
+_FDtest
+_FEps
+_FExp
+_FInf
+_FNan
+_FRteps
+_FSinh
+_FSnan
+_FXbig
+_Getcoll
+_Getctype
+_Getcvt
+_Hugeval
+_Inf
+_LCosh
+_LDenorm
+_LDscale
+_LDtest
+_LEps
+_LExp
+_LInf
+_LNan
+_LPoly
+_LRteps
+_LSinh
+_LSnan
+_LXbig
+_Mbrtowc
+_Nan
+_Poly
+_Rteps
+_Sinh
+_Snan
+_Stod
+_Stof
+_Stold
+_Strcoll
+_Strxfrm
+_Tolower
+_Toupper
+_Wcrtomb
+_Wcscoll
+_Wcsxfrm
+_Xbig
+__Wcrtomb_lk
+btowc
+mbrlen
+mbrtowc
+mbsrtowcs
+towctrans
+wcrtomb
+wcsrtombs
+wctob
+wctrans
+wctype
diff --git a/mingw-w64-crt/lib64/msvfw32.def b/mingw-w64-crt/lib64/msvfw32.def
index c632e50..b105192 100644
--- a/mingw-w64-crt/lib64/msvfw32.def
+++ b/mingw-w64-crt/lib64/msvfw32.def
@@ -1,55 +1,55 @@
-; 
-; Exports of file MSVFW32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSVFW32.dll
-EXPORTS
-VideoForWindowsVersion
-DrawDibBegin
-DrawDibChangePalette
-DrawDibClose
-DrawDibDraw
-DrawDibEnd
-DrawDibGetBuffer
-DrawDibGetPalette
-DrawDibOpen
-DrawDibProfileDisplay
-DrawDibRealize
-DrawDibSetPalette
-DrawDibStart
-DrawDibStop
-DrawDibTime
-GetOpenFileNamePreview
-GetOpenFileNamePreviewA
-GetOpenFileNamePreviewW
-GetSaveFileNamePreviewA
-GetSaveFileNamePreviewW
-ICClose
-ICCompress
-ICCompressorChoose
-ICCompressorFree
-ICDecompress
-ICDraw
-ICDrawBegin
-ICGetDisplayFormat
-ICGetInfo
-ICImageCompress
-ICImageDecompress
-ICInfo
-ICInstall
-ICLocate
-ICMThunk32
-ICOpen
-ICOpenFunction
-ICRemove
-ICSendMessage
-ICSeqCompressFrame
-ICSeqCompressFrameEnd
-ICSeqCompressFrameStart
-MCIWndCreate
-MCIWndCreateA
-MCIWndCreateW
-MCIWndRegisterClass
-StretchDIB
+; 
+; Exports of file MSVFW32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSVFW32.dll
+EXPORTS
+VideoForWindowsVersion
+DrawDibBegin
+DrawDibChangePalette
+DrawDibClose
+DrawDibDraw
+DrawDibEnd
+DrawDibGetBuffer
+DrawDibGetPalette
+DrawDibOpen
+DrawDibProfileDisplay
+DrawDibRealize
+DrawDibSetPalette
+DrawDibStart
+DrawDibStop
+DrawDibTime
+GetOpenFileNamePreview
+GetOpenFileNamePreviewA
+GetOpenFileNamePreviewW
+GetSaveFileNamePreviewA
+GetSaveFileNamePreviewW
+ICClose
+ICCompress
+ICCompressorChoose
+ICCompressorFree
+ICDecompress
+ICDraw
+ICDrawBegin
+ICGetDisplayFormat
+ICGetInfo
+ICImageCompress
+ICImageDecompress
+ICInfo
+ICInstall
+ICLocate
+ICMThunk32
+ICOpen
+ICOpenFunction
+ICRemove
+ICSendMessage
+ICSeqCompressFrame
+ICSeqCompressFrameEnd
+ICSeqCompressFrameStart
+MCIWndCreate
+MCIWndCreateA
+MCIWndCreateW
+MCIWndRegisterClass
+StretchDIB
diff --git a/mingw-w64-crt/lib64/msvidc32.def b/mingw-w64-crt/lib64/msvidc32.def
index 4133d7f..ad7601a 100644
--- a/mingw-w64-crt/lib64/msvidc32.def
+++ b/mingw-w64-crt/lib64/msvidc32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSVIDC32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSVIDC32.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MSVIDC32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSVIDC32.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/msvidctl.def b/mingw-w64-crt/lib64/msvidctl.def
index aad3ed1..141b6c0 100644
--- a/mingw-w64-crt/lib64/msvidctl.def
+++ b/mingw-w64-crt/lib64/msvidctl.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSVidCtl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSVidCtl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file MSVidCtl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSVidCtl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/msw3prt.def b/mingw-w64-crt/lib64/msw3prt.def
index 32e07fa..a08b9cc 100644
--- a/mingw-w64-crt/lib64/msw3prt.def
+++ b/mingw-w64-crt/lib64/msw3prt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MSW3PRT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSW3PRT.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
+; 
+; Exports of file MSW3PRT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSW3PRT.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
diff --git a/mingw-w64-crt/lib64/mswsock.def b/mingw-w64-crt/lib64/mswsock.def
index 5bb1375..7abab87 100644
--- a/mingw-w64-crt/lib64/mswsock.def
+++ b/mingw-w64-crt/lib64/mswsock.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file MSWSOCK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSWSOCK.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
-AcceptEx
-EnumProtocolsA
-EnumProtocolsW
-GetAcceptExSockaddrs
-GetAddressByNameA
-GetAddressByNameW
-GetNameByTypeA
-GetNameByTypeW
-GetServiceA
-GetServiceW
-GetTypeByNameA
-GetTypeByNameW
-MigrateWinsockConfiguration
-NPLoadNameSpaces
-NSPStartup
-SetServiceA
-SetServiceW
-StartWsdpService
-StopWsdpService
-TransmitFile
-WSARecvEx
-WSPStartup
-dn_expand
-getnetbyname
-inet_network
-rcmd
-rexec
-rresvport
-s_perror
-sethostname
+; 
+; Exports of file MSWSOCK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSWSOCK.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
+AcceptEx
+EnumProtocolsA
+EnumProtocolsW
+GetAcceptExSockaddrs
+GetAddressByNameA
+GetAddressByNameW
+GetNameByTypeA
+GetNameByTypeW
+GetServiceA
+GetServiceW
+GetTypeByNameA
+GetTypeByNameW
+MigrateWinsockConfiguration
+NPLoadNameSpaces
+NSPStartup
+SetServiceA
+SetServiceW
+StartWsdpService
+StopWsdpService
+TransmitFile
+WSARecvEx
+WSPStartup
+dn_expand
+getnetbyname
+inet_network
+rcmd
+rexec
+rresvport
+s_perror
+sethostname
diff --git a/mingw-w64-crt/lib64/msxactps.def b/mingw-w64-crt/lib64/msxactps.def
index 8483aac..0757418 100644
--- a/mingw-w64-crt/lib64/msxactps.def
+++ b/mingw-w64-crt/lib64/msxactps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSXACTPS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSXACTPS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSXACTPS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSXACTPS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msxml3.def b/mingw-w64-crt/lib64/msxml3.def
index b7c3b10..de00e4b 100644
--- a/mingw-w64-crt/lib64/msxml3.def
+++ b/mingw-w64-crt/lib64/msxml3.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSXML3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSXML3.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSXML3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSXML3.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msxs64.def b/mingw-w64-crt/lib64/msxs64.def
index 6a3d2e8..38dddca 100644
--- a/mingw-w64-crt/lib64/msxs64.def
+++ b/mingw-w64-crt/lib64/msxs64.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSJTES40.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSJTES40.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSJTES40.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSJTES40.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/msyuv.def b/mingw-w64-crt/lib64/msyuv.def
index 7d4d887..3d62a6d 100644
--- a/mingw-w64-crt/lib64/msyuv.def
+++ b/mingw-w64-crt/lib64/msyuv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSYUV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSYUV.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MSYUV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSYUV.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/mtxclu.def b/mingw-w64-crt/lib64/mtxclu.def
index b2fb0d9..0e61a53 100644
--- a/mingw-w64-crt/lib64/mtxclu.def
+++ b/mingw-w64-crt/lib64/mtxclu.def
@@ -1,93 +1,93 @@
-; 
-; Exports of file MTXCLU.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MTXCLU.DLL
-EXPORTS
-MtxCluBringOnlineDTC2A
-MtxCluBringOnlineDTC2W
-MtxCluBringOnlineDTCA
-MtxCluBringOnlineDTCW
-MtxCluCheckIfOkToStartDtc
-MtxCluCheckPointCryptoW
-MtxCluCheckpointRegistryA
-MtxCluCheckpointRegistryW
-MtxCluCloseNodeNotify
-MtxCluCreateDtcResourceKeyW
-MtxCluCreateDtcResourceValueW
-MtxCluCreateDtcResourceW
-MtxCluCreateRecommendedLogInfo
-MtxCluDeleteDtcResourceKeyW
-MtxCluDeleteDtcResourceValueW
-MtxCluDoesDTCResourceExistA
-MtxCluDoesDTCResourceExistW
-MtxCluGetComputerNameA
-MtxCluGetComputerNameW
-MtxCluGetDTCInstallState
-MtxCluGetDTCInstallVersion
-MtxCluGetDTCIpAddressA
-MtxCluGetDTCIpAddressW
-MtxCluGetDTCLogPathA
-MtxCluGetDTCLogPathW
-MtxCluGetDTCLogSizeA
-MtxCluGetDTCLogSizeW
-MtxCluGetDTCOwnerA
-MtxCluGetDTCOwnerW
-MtxCluGetDTCStatusA
-MtxCluGetDTCStatusW
-MtxCluGetDTCVirtualServerNameA
-MtxCluGetDTCVirtualServerNameW
-MtxCluGetDtcUserInfo
-MtxCluGetJoinMasterA
-MtxCluGetJoinMasterW
-MtxCluGetListOfSharedDisksA
-MtxCluGetListOfSharedDisksOnVirtualServerA
-MtxCluGetListOfSharedDisksOnVirtualServerW
-MtxCluGetListOfSharedDisksW
-MtxCluGetListOfVirtualServersA
-MtxCluGetListOfVirtualServersW
-MtxCluGetNewCryptoKey
-MtxCluGetNodeClusterStateW
-MtxCluGetSecurityRegValue
-MtxCluInitialize
-MtxCluIsClusterPresent
-MtxCluIsClusterPresentExA
-MtxCluIsClusterPresentExW
-MtxCluIsNetworkNameInLocalClusterW
-MtxCluIsSameClusterW
-MtxCluIsSameNodeA
-MtxCluIsSameNodeW
-MtxCluIsSharedDiskA
-MtxCluIsSharedDiskW
-MtxCluIsVirtualServerInLocalClusterA
-MtxCluIsVirtualServerInLocalClusterW
-MtxCluJoinDTCResource
-MtxCluListNodesA
-MtxCluListNodesW
-MtxCluMoveDTCGroupA
-MtxCluMoveDTCGroupW
-MtxCluNodeNotifyA
-MtxCluNodeNotifyW
-MtxCluQueryDtcResourceValueW
-MtxCluRegisterDTCResourceA
-MtxCluRegisterDTCResourceW
-MtxCluRemoveAllRegistryCheckpoints
-MtxCluRemoveCheckpointRegistryA
-MtxCluRemoveCheckpointRegistryW
-MtxCluSetDTCLogPathA
-MtxCluSetDTCLogPathW
-MtxCluSetDTCLogSizeA
-MtxCluSetDTCLogSizeW
-MtxCluSetDtcUserInfo
-MtxCluSetNewCryptoKey
-MtxCluSetSecurityRegValue
-MtxCluTakeOfflineDTC2W
-MtxCluTakeOfflineDTCA
-MtxCluTakeOfflineDTCW
-MtxCluUninitialize
-MtxCluUpgradeDtcResourceW
-Startup
-WasDTCInstalledBySQL
-DllMain
+; 
+; Exports of file MTXCLU.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MTXCLU.DLL
+EXPORTS
+MtxCluBringOnlineDTC2A
+MtxCluBringOnlineDTC2W
+MtxCluBringOnlineDTCA
+MtxCluBringOnlineDTCW
+MtxCluCheckIfOkToStartDtc
+MtxCluCheckPointCryptoW
+MtxCluCheckpointRegistryA
+MtxCluCheckpointRegistryW
+MtxCluCloseNodeNotify
+MtxCluCreateDtcResourceKeyW
+MtxCluCreateDtcResourceValueW
+MtxCluCreateDtcResourceW
+MtxCluCreateRecommendedLogInfo
+MtxCluDeleteDtcResourceKeyW
+MtxCluDeleteDtcResourceValueW
+MtxCluDoesDTCResourceExistA
+MtxCluDoesDTCResourceExistW
+MtxCluGetComputerNameA
+MtxCluGetComputerNameW
+MtxCluGetDTCInstallState
+MtxCluGetDTCInstallVersion
+MtxCluGetDTCIpAddressA
+MtxCluGetDTCIpAddressW
+MtxCluGetDTCLogPathA
+MtxCluGetDTCLogPathW
+MtxCluGetDTCLogSizeA
+MtxCluGetDTCLogSizeW
+MtxCluGetDTCOwnerA
+MtxCluGetDTCOwnerW
+MtxCluGetDTCStatusA
+MtxCluGetDTCStatusW
+MtxCluGetDTCVirtualServerNameA
+MtxCluGetDTCVirtualServerNameW
+MtxCluGetDtcUserInfo
+MtxCluGetJoinMasterA
+MtxCluGetJoinMasterW
+MtxCluGetListOfSharedDisksA
+MtxCluGetListOfSharedDisksOnVirtualServerA
+MtxCluGetListOfSharedDisksOnVirtualServerW
+MtxCluGetListOfSharedDisksW
+MtxCluGetListOfVirtualServersA
+MtxCluGetListOfVirtualServersW
+MtxCluGetNewCryptoKey
+MtxCluGetNodeClusterStateW
+MtxCluGetSecurityRegValue
+MtxCluInitialize
+MtxCluIsClusterPresent
+MtxCluIsClusterPresentExA
+MtxCluIsClusterPresentExW
+MtxCluIsNetworkNameInLocalClusterW
+MtxCluIsSameClusterW
+MtxCluIsSameNodeA
+MtxCluIsSameNodeW
+MtxCluIsSharedDiskA
+MtxCluIsSharedDiskW
+MtxCluIsVirtualServerInLocalClusterA
+MtxCluIsVirtualServerInLocalClusterW
+MtxCluJoinDTCResource
+MtxCluListNodesA
+MtxCluListNodesW
+MtxCluMoveDTCGroupA
+MtxCluMoveDTCGroupW
+MtxCluNodeNotifyA
+MtxCluNodeNotifyW
+MtxCluQueryDtcResourceValueW
+MtxCluRegisterDTCResourceA
+MtxCluRegisterDTCResourceW
+MtxCluRemoveAllRegistryCheckpoints
+MtxCluRemoveCheckpointRegistryA
+MtxCluRemoveCheckpointRegistryW
+MtxCluSetDTCLogPathA
+MtxCluSetDTCLogPathW
+MtxCluSetDTCLogSizeA
+MtxCluSetDTCLogSizeW
+MtxCluSetDtcUserInfo
+MtxCluSetNewCryptoKey
+MtxCluSetSecurityRegValue
+MtxCluTakeOfflineDTC2W
+MtxCluTakeOfflineDTCA
+MtxCluTakeOfflineDTCW
+MtxCluUninitialize
+MtxCluUpgradeDtcResourceW
+Startup
+WasDTCInstalledBySQL
+DllMain
diff --git a/mingw-w64-crt/lib64/mtxdm.def b/mingw-w64-crt/lib64/mtxdm.def
index 760c793..faef649 100644
--- a/mingw-w64-crt/lib64/mtxdm.def
+++ b/mingw-w64-crt/lib64/mtxdm.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MTxDM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MTxDM.dll
-EXPORTS
-GetDispenserManager
+; 
+; Exports of file MTxDM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MTxDM.dll
+EXPORTS
+GetDispenserManager
diff --git a/mingw-w64-crt/lib64/mtxex.def b/mingw-w64-crt/lib64/mtxex.def
index 5cc07d5..27284e3 100644
--- a/mingw-w64-crt/lib64/mtxex.def
+++ b/mingw-w64-crt/lib64/mtxex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mtxex.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mtxex.dll
-EXPORTS
-DllGetClassObject
-GetObjectContext
-MTSCreateActivity
-SafeRef
+; 
+; Exports of file mtxex.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mtxex.dll
+EXPORTS
+DllGetClassObject
+GetObjectContext
+MTSCreateActivity
+SafeRef
diff --git a/mingw-w64-crt/lib64/mtxoci.def b/mingw-w64-crt/lib64/mtxoci.def
index 21cbefb..640a2a6 100644
--- a/mingw-w64-crt/lib64/mtxoci.def
+++ b/mingw-w64-crt/lib64/mtxoci.def
@@ -1,48 +1,48 @@
-; 
-; Exports of file MTxOCI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MTxOCI.dll
-EXPORTS
-obndra
-obndrn
-obndrv
-obreak
-ocan
-oclose
-ocof
-ocom
-ocon
-odefin
-odescr
-odessp
-oerhms
-oermsg
-oexec
-oexfet
-oexn
-ofen
-ofetch
-oflng
-olog
-ologof
-DllRegisterServer
-DllUnregisterServer
-oopen
-oopt
-oparse
-orol
-obindps
-odefinps
-ogetpi
-osetpi
-opinit
-ologTransacted
-Enlist
-GetXaSwitch
-MTxOciInit
-MTxolog
-MTxOciGetVersion
-MTxOciRegisterCursor
+; 
+; Exports of file MTxOCI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MTxOCI.dll
+EXPORTS
+obndra
+obndrn
+obndrv
+obreak
+ocan
+oclose
+ocof
+ocom
+ocon
+odefin
+odescr
+odessp
+oerhms
+oermsg
+oexec
+oexfet
+oexn
+ofen
+ofetch
+oflng
+olog
+ologof
+DllRegisterServer
+DllUnregisterServer
+oopen
+oopt
+oparse
+orol
+obindps
+odefinps
+ogetpi
+osetpi
+opinit
+ologTransacted
+Enlist
+GetXaSwitch
+MTxOciInit
+MTxolog
+MTxOciGetVersion
+MTxOciRegisterCursor
diff --git a/mingw-w64-crt/lib64/mycomput.def b/mingw-w64-crt/lib64/mycomput.def
index d0ee76b..16ae69b 100644
--- a/mingw-w64-crt/lib64/mycomput.def
+++ b/mingw-w64-crt/lib64/mycomput.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MyComput.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MyComput.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MyComput.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MyComput.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/mydocs.def b/mingw-w64-crt/lib64/mydocs.def
index c37d14f..f414ac3 100644
--- a/mingw-w64-crt/lib64/mydocs.def
+++ b/mingw-w64-crt/lib64/mydocs.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file mydocs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mydocs.dll
-EXPORTS
-PerUserInit
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mydocs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mydocs.dll
+EXPORTS
+PerUserInit
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/narrhook.def b/mingw-w64-crt/lib64/narrhook.def
index 1a68d97..5b969ee 100644
--- a/mingw-w64-crt/lib64/narrhook.def
+++ b/mingw-w64-crt/lib64/narrhook.def
@@ -1,64 +1,64 @@
-; 
-; Exports of file NARRHOOK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NARRHOOK.dll
-EXPORTS
-; void __cdecl BackToApplication(void)
-?BackToApplication@@YAXXZ
-; int __cdecl GetAnnounceMenu(void)
-?GetAnnounceMenu@@YAHXZ
-; int __cdecl GetAnnouncePopup(void)
-?GetAnnouncePopup@@YAHXZ
-; int __cdecl GetAnnounceToolTips(void)
-?GetAnnounceToolTips@@YAHXZ
-; int __cdecl GetAnnounceWindow(void)
-?GetAnnounceWindow@@YAHXZ
-; void __cdecl GetCurrentText(unsigned short * __ptr64,int)
-?GetCurrentText@@YAXPEAGH@Z
-; int __cdecl GetEchoChars(void)
-?GetEchoChars@@YAHXZ
-; int __cdecl GetReviewLevel(void)
-?GetReviewLevel@@YAHXZ
-; int __cdecl GetReviewStyle(void)
-?GetReviewStyle@@YAHXZ
-; int __cdecl GetTrackCaret(void)
-?GetTrackCaret@@YAHXZ
-; int __cdecl GetTrackInputFocus(void)
-?GetTrackInputFocus@@YAHXZ
-; int __cdecl GetTrackSecondary(void)
-?GetTrackSecondary@@YAHXZ
-; int __cdecl InitKeys(struct HWND__ * __ptr64)
-?InitKeys@@YAHPEAUHWND__@@@Z
-; int __cdecl InitMSAA(void)
-?InitMSAA@@YAHXZ
-; void __cdecl SetAnnounceMenu(int)
-?SetAnnounceMenu@@YAXH@Z
-; void __cdecl SetAnnouncePopup(int)
-?SetAnnouncePopup@@YAXH@Z
-; void __cdecl SetAnnounceToolTips(int)
-?SetAnnounceToolTips@@YAXH@Z
-; void __cdecl SetAnnounceWindow(int)
-?SetAnnounceWindow@@YAXH@Z
-; void __cdecl SetCurrentText(unsigned short const * __ptr64)
-?SetCurrentText@@YAXPEBG@Z
-; void __cdecl SetEchoChars(int)
-?SetEchoChars@@YAXH@Z
-; void __cdecl SetReviewLevel(int)
-?SetReviewLevel@@YAXH@Z
-; void __cdecl SetReviewStyle(int)
-?SetReviewStyle@@YAXH@Z
-; void __cdecl SetTrackCaret(int)
-?SetTrackCaret@@YAXH@Z
-; void __cdecl SetTrackInputFocus(int)
-?SetTrackInputFocus@@YAXH@Z
-; void __cdecl SetTrackSecondary(int)
-?SetTrackSecondary@@YAXH@Z
-; int __cdecl UnInitMSAA(void)
-?UnInitMSAA@@YAHXZ
-; int __cdecl UninitKeys(void)
-?UninitKeys@@YAHXZ
-; unsigned short * __ptr64 __cdecl lstrcatn(unsigned short * __ptr64,unsigned short * __ptr64,int)
-?lstrcatn@@YAPEAGPEAG0H@Z
+; 
+; Exports of file NARRHOOK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NARRHOOK.dll
+EXPORTS
+; void __cdecl BackToApplication(void)
+?BackToApplication@@YAXXZ
+; int __cdecl GetAnnounceMenu(void)
+?GetAnnounceMenu@@YAHXZ
+; int __cdecl GetAnnouncePopup(void)
+?GetAnnouncePopup@@YAHXZ
+; int __cdecl GetAnnounceToolTips(void)
+?GetAnnounceToolTips@@YAHXZ
+; int __cdecl GetAnnounceWindow(void)
+?GetAnnounceWindow@@YAHXZ
+; void __cdecl GetCurrentText(unsigned short * __ptr64,int)
+?GetCurrentText@@YAXPEAGH@Z
+; int __cdecl GetEchoChars(void)
+?GetEchoChars@@YAHXZ
+; int __cdecl GetReviewLevel(void)
+?GetReviewLevel@@YAHXZ
+; int __cdecl GetReviewStyle(void)
+?GetReviewStyle@@YAHXZ
+; int __cdecl GetTrackCaret(void)
+?GetTrackCaret@@YAHXZ
+; int __cdecl GetTrackInputFocus(void)
+?GetTrackInputFocus@@YAHXZ
+; int __cdecl GetTrackSecondary(void)
+?GetTrackSecondary@@YAHXZ
+; int __cdecl InitKeys(struct HWND__ * __ptr64)
+?InitKeys@@YAHPEAUHWND__@@@Z
+; int __cdecl InitMSAA(void)
+?InitMSAA@@YAHXZ
+; void __cdecl SetAnnounceMenu(int)
+?SetAnnounceMenu@@YAXH@Z
+; void __cdecl SetAnnouncePopup(int)
+?SetAnnouncePopup@@YAXH@Z
+; void __cdecl SetAnnounceToolTips(int)
+?SetAnnounceToolTips@@YAXH@Z
+; void __cdecl SetAnnounceWindow(int)
+?SetAnnounceWindow@@YAXH@Z
+; void __cdecl SetCurrentText(unsigned short const * __ptr64)
+?SetCurrentText@@YAXPEBG@Z
+; void __cdecl SetEchoChars(int)
+?SetEchoChars@@YAXH@Z
+; void __cdecl SetReviewLevel(int)
+?SetReviewLevel@@YAXH@Z
+; void __cdecl SetReviewStyle(int)
+?SetReviewStyle@@YAXH@Z
+; void __cdecl SetTrackCaret(int)
+?SetTrackCaret@@YAXH@Z
+; void __cdecl SetTrackInputFocus(int)
+?SetTrackInputFocus@@YAXH@Z
+; void __cdecl SetTrackSecondary(int)
+?SetTrackSecondary@@YAXH@Z
+; int __cdecl UnInitMSAA(void)
+?UnInitMSAA@@YAHXZ
+; int __cdecl UninitKeys(void)
+?UninitKeys@@YAHXZ
+; unsigned short * __ptr64 __cdecl lstrcatn(unsigned short * __ptr64,unsigned short * __ptr64,int)
+?lstrcatn@@YAPEAGPEAG0H@Z
diff --git a/mingw-w64-crt/lib64/ncobjapi.def b/mingw-w64-crt/lib64/ncobjapi.def
index 96a7554..5bf6f9f 100644
--- a/mingw-w64-crt/lib64/ncobjapi.def
+++ b/mingw-w64-crt/lib64/ncobjapi.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file NCObjAPI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NCObjAPI.DLL
-EXPORTS
-WmiCommitObject
-WmiAddObjectProp
-WmiCreateObject
-WmiCreateObjectWithFormat
-WmiCreateObjectWithProps
-WmiDestroyObject
-WmiEventSourceConnect
-WmiEventSourceDisconnect
-WmiIsObjectActive
-WmiSetAndCommitObject
+; 
+; Exports of file NCObjAPI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NCObjAPI.DLL
+EXPORTS
+WmiCommitObject
+WmiAddObjectProp
+WmiCreateObject
+WmiCreateObjectWithFormat
+WmiCreateObjectWithProps
+WmiDestroyObject
+WmiEventSourceConnect
+WmiEventSourceDisconnect
+WmiIsObjectActive
+WmiSetAndCommitObject
diff --git a/mingw-w64-crt/lib64/ncprov.def b/mingw-w64-crt/lib64/ncprov.def
index 9602065..565bb27 100644
--- a/mingw-w64-crt/lib64/ncprov.def
+++ b/mingw-w64-crt/lib64/ncprov.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NCProv.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NCProv.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NCProv.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NCProv.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ncxpnt.def b/mingw-w64-crt/lib64/ncxpnt.def
index c5f7383..c2a2483 100644
--- a/mingw-w64-crt/lib64/ncxpnt.def
+++ b/mingw-w64-crt/lib64/ncxpnt.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file NCXP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NCXP.dll
-EXPORTS
-EnableAutodial
-GetDefaultDialupConnection
-IsAutodialEnabled
-SetDefaultDialupConnection
-TestRunDll
-DisableUserLevelAccessControl
-EnumMatchingNetBindings
-EnumNetAdapters
-HrEnableDhcp
-HrFromLastWin32Error
-HrWideCharToMultiByte
-InstallMSClient
-InstallSharing
-InstallTCPIP
-IsAccessControlUserLevel
-IsAdapterDisconnected
-IsClientInstalled
-IsMSClientInstalled
-IsProtocolInstalled
-IsSharingInstalled
-NetConnAlloc
-NetConnFree
-RestartNetAdapter
+; 
+; Exports of file NCXP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NCXP.dll
+EXPORTS
+EnableAutodial
+GetDefaultDialupConnection
+IsAutodialEnabled
+SetDefaultDialupConnection
+TestRunDll
+DisableUserLevelAccessControl
+EnumMatchingNetBindings
+EnumNetAdapters
+HrEnableDhcp
+HrFromLastWin32Error
+HrWideCharToMultiByte
+InstallMSClient
+InstallSharing
+InstallTCPIP
+IsAccessControlUserLevel
+IsAdapterDisconnected
+IsClientInstalled
+IsMSClientInstalled
+IsProtocolInstalled
+IsSharingInstalled
+NetConnAlloc
+NetConnFree
+RestartNetAdapter
diff --git a/mingw-w64-crt/lib64/nddeapi.def b/mingw-w64-crt/lib64/nddeapi.def
index 0b23604..f3ad1ac 100644
--- a/mingw-w64-crt/lib64/nddeapi.def
+++ b/mingw-w64-crt/lib64/nddeapi.def
@@ -1,36 +1,36 @@
-; 
-; Exports of file NDdeApi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NDdeApi.dll
-EXPORTS
-NDdeShareAddA
-NDdeShareDelA
-NDdeShareEnumA
-NDdeShareGetInfoA
-NDdeShareSetInfoA
-NDdeGetErrorStringA
-NDdeIsValidShareNameA
-NDdeIsValidAppTopicListA
-NDdeSpecialCommandA
-NDdeGetShareSecurityA
-NDdeSetShareSecurityA
-NDdeGetTrustedShareA
-NDdeSetTrustedShareA
-NDdeTrustedShareEnumA
-NDdeShareAddW
-NDdeShareDelW
-NDdeShareEnumW
-NDdeShareGetInfoW
-NDdeShareSetInfoW
-NDdeGetErrorStringW
-NDdeIsValidShareNameW
-NDdeIsValidAppTopicListW
-NDdeSpecialCommandW
-NDdeGetShareSecurityW
-NDdeSetShareSecurityW
-NDdeGetTrustedShareW
-NDdeSetTrustedShareW
-NDdeTrustedShareEnumW
+; 
+; Exports of file NDdeApi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NDdeApi.dll
+EXPORTS
+NDdeShareAddA
+NDdeShareDelA
+NDdeShareEnumA
+NDdeShareGetInfoA
+NDdeShareSetInfoA
+NDdeGetErrorStringA
+NDdeIsValidShareNameA
+NDdeIsValidAppTopicListA
+NDdeSpecialCommandA
+NDdeGetShareSecurityA
+NDdeSetShareSecurityA
+NDdeGetTrustedShareA
+NDdeSetTrustedShareA
+NDdeTrustedShareEnumA
+NDdeShareAddW
+NDdeShareDelW
+NDdeShareEnumW
+NDdeShareGetInfoW
+NDdeShareSetInfoW
+NDdeGetErrorStringW
+NDdeIsValidShareNameW
+NDdeIsValidAppTopicListW
+NDdeSpecialCommandW
+NDdeGetShareSecurityW
+NDdeSetShareSecurityW
+NDdeGetTrustedShareW
+NDdeSetTrustedShareW
+NDdeTrustedShareEnumW
diff --git a/mingw-w64-crt/lib64/nddenb32.def b/mingw-w64-crt/lib64/nddenb32.def
index 1faeb7e..bb67332 100644
--- a/mingw-w64-crt/lib64/nddenb32.def
+++ b/mingw-w64-crt/lib64/nddenb32.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file NDDENB32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NDDENB32.dll
-EXPORTS
-NDDEInit
-NDDEGetCAPS
-NDDEGetNewConnection
-NDDEAddConnection
-NDDEDeleteConnection
-NDDEGetConnectionStatus
-NDDERcvPacket
-NDDEXmtPacket
-NDDESetConnectionConfig
-NDDEShutdown
-NDDETimeSlice
-NDDEGetConnectionConfig
-Configure
-LogDebugInfo
-ConfigureDlgProc
+; 
+; Exports of file NDDENB32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NDDENB32.dll
+EXPORTS
+NDDEInit
+NDDEGetCAPS
+NDDEGetNewConnection
+NDDEAddConnection
+NDDEDeleteConnection
+NDDEGetConnectionStatus
+NDDERcvPacket
+NDDEXmtPacket
+NDDESetConnectionConfig
+NDDEShutdown
+NDDETimeSlice
+NDDEGetConnectionConfig
+Configure
+LogDebugInfo
+ConfigureDlgProc
diff --git a/mingw-w64-crt/lib64/ndisnpp.def b/mingw-w64-crt/lib64/ndisnpp.def
index 172ff08..089c524 100644
--- a/mingw-w64-crt/lib64/ndisnpp.def
+++ b/mingw-w64-crt/lib64/ndisnpp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file NDISNPP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NDISNPP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetNPPBlobs
+; 
+; Exports of file NDISNPP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NDISNPP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetNPPBlobs
diff --git a/mingw-w64-crt/lib64/netapi32.def b/mingw-w64-crt/lib64/netapi32.def
index 6495102..8839c2f 100644
--- a/mingw-w64-crt/lib64/netapi32.def
+++ b/mingw-w64-crt/lib64/netapi32.def
@@ -1,348 +1,348 @@
-; 
-; Exports of file NETAPI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETAPI32.dll
-EXPORTS
-CredpValidateTargetName
-DsAddressToSiteNamesA
-DsAddressToSiteNamesExA
-DsAddressToSiteNamesExW
-DsAddressToSiteNamesW
-DsDeregisterDnsHostRecordsA
-DsDeregisterDnsHostRecordsW
-DsEnumerateDomainTrustsA
-DsEnumerateDomainTrustsW
-DsGetDcCloseW
-DsGetDcNameA
-DsGetDcNameW
-DsGetDcNameWithAccountA
-DsGetDcNameWithAccountW
-DsGetDcNextA
-DsGetDcNextW
-DsGetDcOpenA
-DsGetDcOpenW
-DsGetDcSiteCoverageA
-DsGetDcSiteCoverageW
-DsGetForestTrustInformationW
-DsGetSiteNameA
-DsGetSiteNameW
-DsMergeForestTrustInformationW
-DsRoleAbortDownlevelServerUpgrade
-DsRoleCancel
-DsRoleDcAsDc
-DsRoleDcAsReplica
-DsRoleDemoteDc
-DsRoleDnsNameToFlatName
-DsRoleFreeMemory
-DsRoleGetDatabaseFacts
-DsRoleGetDcOperationProgress
-DsRoleGetDcOperationResults
-DsRoleGetPrimaryDomainInformation
-DsRoleIfmHandleFree
-DsRoleServerSaveStateForUpgrade
-DsRoleUpgradeDownlevelServer
-DsValidateSubnetNameA
-DsValidateSubnetNameW
-I_BrowserDebugCall
-I_BrowserDebugTrace
-I_BrowserQueryEmulatedDomains
-I_BrowserQueryOtherDomains
-I_BrowserQueryStatistics
-I_BrowserResetNetlogonState
-I_BrowserResetStatistics
-I_BrowserServerEnum
-I_BrowserSetNetlogonState
-I_NetAccountDeltas
-I_NetAccountSync
-I_NetDatabaseDeltas
-I_NetDatabaseRedo
-I_NetDatabaseSync
-I_NetDatabaseSync2
-I_NetDfsCreateExitPoint
-I_NetDfsCreateLocalPartition
-I_NetDfsDeleteExitPoint
-I_NetDfsDeleteLocalPartition
-I_NetDfsFixLocalVolume
-I_NetDfsGetFtServers
-I_NetDfsGetVersion
-I_NetDfsIsThisADomainName
-I_NetDfsManagerReportSiteInfo
-I_NetDfsModifyPrefix
-I_NetDfsSetLocalVolumeState
-I_NetDfsSetServerInfo
-I_NetGetDCList
-I_NetGetForestTrustInformation
-I_NetListCanonicalize
-I_NetListTraverse
-I_NetLogonControl
-I_NetLogonControl2
-I_NetLogonGetDomainInfo
-I_NetLogonSamLogoff
-I_NetLogonSamLogon
-I_NetLogonSamLogonEx
-I_NetLogonSamLogonWithFlags
-I_NetLogonSendToSam
-I_NetLogonUasLogoff
-I_NetLogonUasLogon
-I_NetNameCanonicalize
-I_NetNameCompare
-I_NetNameValidate
-I_NetPathCanonicalize
-I_NetPathCompare
-I_NetPathType
-I_NetServerAuthenticate
-I_NetServerAuthenticate2
-I_NetServerAuthenticate3
-I_NetServerGetTrustInfo
-I_NetServerPasswordGet
-I_NetServerPasswordSet
-I_NetServerPasswordSet2
-I_NetServerReqChallenge
-I_NetServerSetServiceBits
-I_NetServerSetServiceBitsEx
-I_NetServerTrustPasswordsGet
-I_NetlogonComputeClientDigest
-I_NetlogonComputeServerDigest
-I_NetlogonGetTrustRid
-NetAddAlternateComputerName
-NetAlertRaise
-NetAlertRaiseEx
-NetApiBufferAllocate
-NetApiBufferFree
-NetApiBufferReallocate
-NetApiBufferSize
-NetAuditClear
-NetAuditRead
-NetAuditWrite
-NetBrowserStatisticsGet
-NetConfigGet
-NetConfigGetAll
-NetConfigSet
-NetConnectionEnum
-NetDfsAdd
-NetDfsAddFtRoot
-NetDfsAddStdRoot
-NetDfsAddStdRootForced
-NetDfsEnum
-NetDfsGetClientInfo
-NetDfsGetDcAddress
-NetDfsGetFtContainerSecurity
-NetDfsGetInfo
-NetDfsGetSecurity
-NetDfsGetStdContainerSecurity
-NetDfsManagerGetConfigInfo
-NetDfsManagerInitialize
-NetDfsManagerSendSiteInfo
-NetDfsMove
-NetDfsRemove
-NetDfsRemoveFtRoot
-NetDfsRemoveFtRootForced
-NetDfsRemoveStdRoot
-NetDfsRename
-NetDfsSetClientInfo
-NetDfsSetFtContainerSecurity
-NetDfsSetInfo
-NetDfsSetSecurity
-NetDfsSetStdContainerSecurity
-NetEnumerateComputerNames
-NetEnumerateTrustedDomains
-NetErrorLogClear
-NetErrorLogRead
-NetErrorLogWrite
-NetFileClose
-NetFileEnum
-NetFileGetInfo
-NetGetAnyDCName
-NetGetDCName
-NetGetDisplayInformationIndex
-NetGetJoinInformation
-NetGetJoinableOUs
-NetGroupAdd
-NetGroupAddUser
-NetGroupDel
-NetGroupDelUser
-NetGroupEnum
-NetGroupGetInfo
-NetGroupGetUsers
-NetGroupSetInfo
-NetGroupSetUsers
-NetJoinDomain
-NetLocalGroupAdd
-NetLocalGroupAddMember
-NetLocalGroupAddMembers
-NetLocalGroupDel
-NetLocalGroupDelMember
-NetLocalGroupDelMembers
-NetLocalGroupEnum
-NetLocalGroupGetInfo
-NetLocalGroupGetMembers
-NetLocalGroupSetInfo
-NetLocalGroupSetMembers
-NetLogonGetTimeServiceParentDomain
-NetLogonSetServiceBits
-NetMessageBufferSend
-NetMessageNameAdd
-NetMessageNameDel
-NetMessageNameEnum
-NetMessageNameGetInfo
-NetQueryDisplayInformation
-NetRegisterDomainNameChangeNotification
-NetRemoteComputerSupports
-NetRemoteTOD
-NetRemoveAlternateComputerName
-NetRenameMachineInDomain
-NetReplExportDirAdd
-NetReplExportDirDel
-NetReplExportDirEnum
-NetReplExportDirGetInfo
-NetReplExportDirLock
-NetReplExportDirSetInfo
-NetReplExportDirUnlock
-NetReplGetInfo
-NetReplImportDirAdd
-NetReplImportDirDel
-NetReplImportDirEnum
-NetReplImportDirGetInfo
-NetReplImportDirLock
-NetReplImportDirUnlock
-NetReplSetInfo
-NetScheduleJobAdd
-NetScheduleJobDel
-NetScheduleJobEnum
-NetScheduleJobGetInfo
-NetServerComputerNameAdd
-NetServerComputerNameDel
-NetServerDiskEnum
-NetServerEnum
-NetServerEnumEx
-NetServerGetInfo
-NetServerSetInfo
-NetServerTransportAdd
-NetServerTransportAddEx
-NetServerTransportDel
-NetServerTransportEnum
-NetServiceControl
-NetServiceEnum
-NetServiceGetInfo
-NetServiceInstall
-NetSessionDel
-NetSessionEnum
-NetSessionGetInfo
-NetSetPrimaryComputerName
-NetShareAdd
-NetShareCheck
-NetShareDel
-NetShareDelSticky
-NetShareEnum
-NetShareEnumSticky
-NetShareGetInfo
-NetShareSetInfo
-NetStatisticsGet
-NetUnjoinDomain
-NetUnregisterDomainNameChangeNotification
-NetUseAdd
-NetUseDel
-NetUseEnum
-NetUseGetInfo
-NetUserAdd
-NetUserChangePassword
-NetUserDel
-NetUserEnum
-NetUserGetGroups
-NetUserGetInfo
-NetUserGetLocalGroups
-NetUserModalsGet
-NetUserModalsSet
-NetUserSetGroups
-NetUserSetInfo
-NetValidateName
-NetValidatePasswordPolicy
-NetValidatePasswordPolicyFree
-NetWkstaGetInfo
-NetWkstaSetInfo
-NetWkstaTransportAdd
-NetWkstaTransportDel
-NetWkstaTransportEnum
-NetWkstaUserEnum
-NetWkstaUserGetInfo
-NetWkstaUserSetInfo
-NetapipBufferAllocate
-Netbios
-NetpAccessCheck
-NetpAccessCheckAndAudit
-NetpAddTlnFtinfoEntry
-NetpAllocConfigName
-NetpAllocFtinfoEntry
-NetpAllocStrFromWStr
-NetpAllocWStrFromStr
-NetpAllocWStrFromWStr
-NetpApiStatusToNtStatus
-NetpAssertFailed
-NetpCleanFtinfoContext
-NetpCloseConfigData
-NetpCopyFtinfoContext
-NetpCopyStringToBuffer
-NetpCreateSecurityObject
-NetpDbgPrint
-NetpDeleteSecurityObject
-NetpGetComputerName
-NetpGetConfigBool
-NetpGetConfigDword
-NetpGetConfigTStrArray
-NetpGetConfigValue
-NetpGetDomainName
-NetpGetFileSecurity
-NetpGetPrivilege
-NetpHexDump
-NetpInitFtinfoContext
-NetpInitOemString
-NetpIsRemote
-NetpIsUncComputerNameValid
-NetpLocalTimeZoneOffset
-NetpLogonPutUnicodeString
-NetpMergeFtinfo
-NetpNetBiosAddName
-NetpNetBiosCall
-NetpNetBiosDelName
-NetpNetBiosGetAdapterNumbers
-NetpNetBiosHangup
-NetpNetBiosReceive
-NetpNetBiosReset
-NetpNetBiosSend
-NetpNetBiosStatusToApiStatus
-NetpNtStatusToApiStatus
-NetpOpenConfigData
-NetpPackString
-NetpParmsQueryUserProperty
-NetpParmsQueryUserPropertyWithLength
-NetpParmsSetUserProperty
-NetpParmsSetUserPropertyWithLength
-NetpParmsUserPropertyFree
-NetpReleasePrivilege
-NetpSetFileSecurity
-NetpSmbCheck
-NetpStoreIntialDcRecord
-NetpStringToNetBiosName
-NetpTStrArrayEntryCount
-NetpUpgradePreNT5JoinInfo
-NetpwNameCanonicalize
-NetpwNameCompare
-NetpwNameValidate
-NetpwPathCanonicalize
-NetpwPathCompare
-NetpwPathType
-NlBindingAddServerToCache
-NlBindingRemoveServerFromCache
-NlBindingSetAuthInfo
-RxNetAccessAdd
-RxNetAccessDel
-RxNetAccessEnum
-RxNetAccessGetInfo
-RxNetAccessGetUserPerms
-RxNetAccessSetInfo
-RxNetServerEnum
-RxNetUserPasswordSet
-RxRemoteApi
+; 
+; Exports of file NETAPI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETAPI32.dll
+EXPORTS
+CredpValidateTargetName
+DsAddressToSiteNamesA
+DsAddressToSiteNamesExA
+DsAddressToSiteNamesExW
+DsAddressToSiteNamesW
+DsDeregisterDnsHostRecordsA
+DsDeregisterDnsHostRecordsW
+DsEnumerateDomainTrustsA
+DsEnumerateDomainTrustsW
+DsGetDcCloseW
+DsGetDcNameA
+DsGetDcNameW
+DsGetDcNameWithAccountA
+DsGetDcNameWithAccountW
+DsGetDcNextA
+DsGetDcNextW
+DsGetDcOpenA
+DsGetDcOpenW
+DsGetDcSiteCoverageA
+DsGetDcSiteCoverageW
+DsGetForestTrustInformationW
+DsGetSiteNameA
+DsGetSiteNameW
+DsMergeForestTrustInformationW
+DsRoleAbortDownlevelServerUpgrade
+DsRoleCancel
+DsRoleDcAsDc
+DsRoleDcAsReplica
+DsRoleDemoteDc
+DsRoleDnsNameToFlatName
+DsRoleFreeMemory
+DsRoleGetDatabaseFacts
+DsRoleGetDcOperationProgress
+DsRoleGetDcOperationResults
+DsRoleGetPrimaryDomainInformation
+DsRoleIfmHandleFree
+DsRoleServerSaveStateForUpgrade
+DsRoleUpgradeDownlevelServer
+DsValidateSubnetNameA
+DsValidateSubnetNameW
+I_BrowserDebugCall
+I_BrowserDebugTrace
+I_BrowserQueryEmulatedDomains
+I_BrowserQueryOtherDomains
+I_BrowserQueryStatistics
+I_BrowserResetNetlogonState
+I_BrowserResetStatistics
+I_BrowserServerEnum
+I_BrowserSetNetlogonState
+I_NetAccountDeltas
+I_NetAccountSync
+I_NetDatabaseDeltas
+I_NetDatabaseRedo
+I_NetDatabaseSync
+I_NetDatabaseSync2
+I_NetDfsCreateExitPoint
+I_NetDfsCreateLocalPartition
+I_NetDfsDeleteExitPoint
+I_NetDfsDeleteLocalPartition
+I_NetDfsFixLocalVolume
+I_NetDfsGetFtServers
+I_NetDfsGetVersion
+I_NetDfsIsThisADomainName
+I_NetDfsManagerReportSiteInfo
+I_NetDfsModifyPrefix
+I_NetDfsSetLocalVolumeState
+I_NetDfsSetServerInfo
+I_NetGetDCList
+I_NetGetForestTrustInformation
+I_NetListCanonicalize
+I_NetListTraverse
+I_NetLogonControl
+I_NetLogonControl2
+I_NetLogonGetDomainInfo
+I_NetLogonSamLogoff
+I_NetLogonSamLogon
+I_NetLogonSamLogonEx
+I_NetLogonSamLogonWithFlags
+I_NetLogonSendToSam
+I_NetLogonUasLogoff
+I_NetLogonUasLogon
+I_NetNameCanonicalize
+I_NetNameCompare
+I_NetNameValidate
+I_NetPathCanonicalize
+I_NetPathCompare
+I_NetPathType
+I_NetServerAuthenticate
+I_NetServerAuthenticate2
+I_NetServerAuthenticate3
+I_NetServerGetTrustInfo
+I_NetServerPasswordGet
+I_NetServerPasswordSet
+I_NetServerPasswordSet2
+I_NetServerReqChallenge
+I_NetServerSetServiceBits
+I_NetServerSetServiceBitsEx
+I_NetServerTrustPasswordsGet
+I_NetlogonComputeClientDigest
+I_NetlogonComputeServerDigest
+I_NetlogonGetTrustRid
+NetAddAlternateComputerName
+NetAlertRaise
+NetAlertRaiseEx
+NetApiBufferAllocate
+NetApiBufferFree
+NetApiBufferReallocate
+NetApiBufferSize
+NetAuditClear
+NetAuditRead
+NetAuditWrite
+NetBrowserStatisticsGet
+NetConfigGet
+NetConfigGetAll
+NetConfigSet
+NetConnectionEnum
+NetDfsAdd
+NetDfsAddFtRoot
+NetDfsAddStdRoot
+NetDfsAddStdRootForced
+NetDfsEnum
+NetDfsGetClientInfo
+NetDfsGetDcAddress
+NetDfsGetFtContainerSecurity
+NetDfsGetInfo
+NetDfsGetSecurity
+NetDfsGetStdContainerSecurity
+NetDfsManagerGetConfigInfo
+NetDfsManagerInitialize
+NetDfsManagerSendSiteInfo
+NetDfsMove
+NetDfsRemove
+NetDfsRemoveFtRoot
+NetDfsRemoveFtRootForced
+NetDfsRemoveStdRoot
+NetDfsRename
+NetDfsSetClientInfo
+NetDfsSetFtContainerSecurity
+NetDfsSetInfo
+NetDfsSetSecurity
+NetDfsSetStdContainerSecurity
+NetEnumerateComputerNames
+NetEnumerateTrustedDomains
+NetErrorLogClear
+NetErrorLogRead
+NetErrorLogWrite
+NetFileClose
+NetFileEnum
+NetFileGetInfo
+NetGetAnyDCName
+NetGetDCName
+NetGetDisplayInformationIndex
+NetGetJoinInformation
+NetGetJoinableOUs
+NetGroupAdd
+NetGroupAddUser
+NetGroupDel
+NetGroupDelUser
+NetGroupEnum
+NetGroupGetInfo
+NetGroupGetUsers
+NetGroupSetInfo
+NetGroupSetUsers
+NetJoinDomain
+NetLocalGroupAdd
+NetLocalGroupAddMember
+NetLocalGroupAddMembers
+NetLocalGroupDel
+NetLocalGroupDelMember
+NetLocalGroupDelMembers
+NetLocalGroupEnum
+NetLocalGroupGetInfo
+NetLocalGroupGetMembers
+NetLocalGroupSetInfo
+NetLocalGroupSetMembers
+NetLogonGetTimeServiceParentDomain
+NetLogonSetServiceBits
+NetMessageBufferSend
+NetMessageNameAdd
+NetMessageNameDel
+NetMessageNameEnum
+NetMessageNameGetInfo
+NetQueryDisplayInformation
+NetRegisterDomainNameChangeNotification
+NetRemoteComputerSupports
+NetRemoteTOD
+NetRemoveAlternateComputerName
+NetRenameMachineInDomain
+NetReplExportDirAdd
+NetReplExportDirDel
+NetReplExportDirEnum
+NetReplExportDirGetInfo
+NetReplExportDirLock
+NetReplExportDirSetInfo
+NetReplExportDirUnlock
+NetReplGetInfo
+NetReplImportDirAdd
+NetReplImportDirDel
+NetReplImportDirEnum
+NetReplImportDirGetInfo
+NetReplImportDirLock
+NetReplImportDirUnlock
+NetReplSetInfo
+NetScheduleJobAdd
+NetScheduleJobDel
+NetScheduleJobEnum
+NetScheduleJobGetInfo
+NetServerComputerNameAdd
+NetServerComputerNameDel
+NetServerDiskEnum
+NetServerEnum
+NetServerEnumEx
+NetServerGetInfo
+NetServerSetInfo
+NetServerTransportAdd
+NetServerTransportAddEx
+NetServerTransportDel
+NetServerTransportEnum
+NetServiceControl
+NetServiceEnum
+NetServiceGetInfo
+NetServiceInstall
+NetSessionDel
+NetSessionEnum
+NetSessionGetInfo
+NetSetPrimaryComputerName
+NetShareAdd
+NetShareCheck
+NetShareDel
+NetShareDelSticky
+NetShareEnum
+NetShareEnumSticky
+NetShareGetInfo
+NetShareSetInfo
+NetStatisticsGet
+NetUnjoinDomain
+NetUnregisterDomainNameChangeNotification
+NetUseAdd
+NetUseDel
+NetUseEnum
+NetUseGetInfo
+NetUserAdd
+NetUserChangePassword
+NetUserDel
+NetUserEnum
+NetUserGetGroups
+NetUserGetInfo
+NetUserGetLocalGroups
+NetUserModalsGet
+NetUserModalsSet
+NetUserSetGroups
+NetUserSetInfo
+NetValidateName
+NetValidatePasswordPolicy
+NetValidatePasswordPolicyFree
+NetWkstaGetInfo
+NetWkstaSetInfo
+NetWkstaTransportAdd
+NetWkstaTransportDel
+NetWkstaTransportEnum
+NetWkstaUserEnum
+NetWkstaUserGetInfo
+NetWkstaUserSetInfo
+NetapipBufferAllocate
+Netbios
+NetpAccessCheck
+NetpAccessCheckAndAudit
+NetpAddTlnFtinfoEntry
+NetpAllocConfigName
+NetpAllocFtinfoEntry
+NetpAllocStrFromWStr
+NetpAllocWStrFromStr
+NetpAllocWStrFromWStr
+NetpApiStatusToNtStatus
+NetpAssertFailed
+NetpCleanFtinfoContext
+NetpCloseConfigData
+NetpCopyFtinfoContext
+NetpCopyStringToBuffer
+NetpCreateSecurityObject
+NetpDbgPrint
+NetpDeleteSecurityObject
+NetpGetComputerName
+NetpGetConfigBool
+NetpGetConfigDword
+NetpGetConfigTStrArray
+NetpGetConfigValue
+NetpGetDomainName
+NetpGetFileSecurity
+NetpGetPrivilege
+NetpHexDump
+NetpInitFtinfoContext
+NetpInitOemString
+NetpIsRemote
+NetpIsUncComputerNameValid
+NetpLocalTimeZoneOffset
+NetpLogonPutUnicodeString
+NetpMergeFtinfo
+NetpNetBiosAddName
+NetpNetBiosCall
+NetpNetBiosDelName
+NetpNetBiosGetAdapterNumbers
+NetpNetBiosHangup
+NetpNetBiosReceive
+NetpNetBiosReset
+NetpNetBiosSend
+NetpNetBiosStatusToApiStatus
+NetpNtStatusToApiStatus
+NetpOpenConfigData
+NetpPackString
+NetpParmsQueryUserProperty
+NetpParmsQueryUserPropertyWithLength
+NetpParmsSetUserProperty
+NetpParmsSetUserPropertyWithLength
+NetpParmsUserPropertyFree
+NetpReleasePrivilege
+NetpSetFileSecurity
+NetpSmbCheck
+NetpStoreIntialDcRecord
+NetpStringToNetBiosName
+NetpTStrArrayEntryCount
+NetpUpgradePreNT5JoinInfo
+NetpwNameCanonicalize
+NetpwNameCompare
+NetpwNameValidate
+NetpwPathCanonicalize
+NetpwPathCompare
+NetpwPathType
+NlBindingAddServerToCache
+NlBindingRemoveServerFromCache
+NlBindingSetAuthInfo
+RxNetAccessAdd
+RxNetAccessDel
+RxNetAccessEnum
+RxNetAccessGetInfo
+RxNetAccessGetUserPerms
+RxNetAccessSetInfo
+RxNetServerEnum
+RxNetUserPasswordSet
+RxRemoteApi
diff --git a/mingw-w64-crt/lib64/netcfgx.def b/mingw-w64-crt/lib64/netcfgx.def
index 4311649..4b7bba5 100644
--- a/mingw-w64-crt/lib64/netcfgx.def
+++ b/mingw-w64-crt/lib64/netcfgx.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file netcfgx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY netcfgx.dll
-EXPORTS
-; public: struct WLBS_REG_PARAMS & __ptr64 __cdecl WLBS_REG_PARAMS::operator=(struct WLBS_REG_PARAMS const & __ptr64) __ptr64
-??4WLBS_REG_PARAMS@@QEAAAEAU0@AEBU0@@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-HrDiAddComponentToINetCfg
-LanaCfgFromCommandArgs
-ModemClassCoInstaller
-NetCfgDiagFromCommandArgs
-NetCfgDiagRepairRegistryBindings
-NetClassInstaller
-NetPropPageProvider
-RasAddBindings
-RasCountBindings
-RasRemoveBindings
-SvchostChangeSvchostGroup
-UpdateLanaConfigUsingAnswerfile
+; 
+; Exports of file netcfgx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY netcfgx.dll
+EXPORTS
+; public: struct WLBS_REG_PARAMS & __ptr64 __cdecl WLBS_REG_PARAMS::operator=(struct WLBS_REG_PARAMS const & __ptr64) __ptr64
+??4WLBS_REG_PARAMS@@QEAAAEAU0@AEBU0@@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+HrDiAddComponentToINetCfg
+LanaCfgFromCommandArgs
+ModemClassCoInstaller
+NetCfgDiagFromCommandArgs
+NetCfgDiagRepairRegistryBindings
+NetClassInstaller
+NetPropPageProvider
+RasAddBindings
+RasCountBindings
+RasRemoveBindings
+SvchostChangeSvchostGroup
+UpdateLanaConfigUsingAnswerfile
diff --git a/mingw-w64-crt/lib64/netid.def b/mingw-w64-crt/lib64/netid.def
index c0454b1..9d2accb 100644
--- a/mingw-w64-crt/lib64/netid.def
+++ b/mingw-w64-crt/lib64/netid.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file NETID.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETID.DLL
-EXPORTS
-CreateNetIDPropertyPage
-ShowDcNotFoundErrorDialog
+; 
+; Exports of file NETID.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETID.DLL
+EXPORTS
+CreateNetIDPropertyPage
+ShowDcNotFoundErrorDialog
diff --git a/mingw-w64-crt/lib64/netlogon.def b/mingw-w64-crt/lib64/netlogon.def
index 9137260..b4eecea 100644
--- a/mingw-w64-crt/lib64/netlogon.def
+++ b/mingw-w64-crt/lib64/netlogon.def
@@ -1,33 +1,33 @@
-; 
-; Exports of file NETLOGON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETLOGON.dll
-EXPORTS
-DsrGetDcNameEx2
-I_DsGetDcCache
-I_NetLogonAddressToSiteName
-I_NetLogonAppendChangeLog
-I_NetLogonCloseChangeLog
-I_NetLogonFree
-I_NetLogonGetAuthDataEx
-I_NetLogonGetIpAddresses
-I_NetLogonGetSerialNumber
-I_NetLogonLdapLookupEx
-I_NetLogonMixedDomain
-I_NetLogonNewChangeLog
-I_NetLogonReadChangeLog
-I_NetLogonSendToSamOnPdc
-I_NetLogonSetServiceBits
-I_NetNotifyDelta
-I_NetNotifyDsChange
-I_NetNotifyMachineAccount
-I_NetNotifyNetlogonDllHandle
-I_NetNotifyNtdsDsaDeletion
-I_NetNotifyRole
-I_NetNotifyTrustedDomain
-InitSecurityInterfaceW
-NetILogonSamLogon
-NlNetlogonMain
+; 
+; Exports of file NETLOGON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETLOGON.dll
+EXPORTS
+DsrGetDcNameEx2
+I_DsGetDcCache
+I_NetLogonAddressToSiteName
+I_NetLogonAppendChangeLog
+I_NetLogonCloseChangeLog
+I_NetLogonFree
+I_NetLogonGetAuthDataEx
+I_NetLogonGetIpAddresses
+I_NetLogonGetSerialNumber
+I_NetLogonLdapLookupEx
+I_NetLogonMixedDomain
+I_NetLogonNewChangeLog
+I_NetLogonReadChangeLog
+I_NetLogonSendToSamOnPdc
+I_NetLogonSetServiceBits
+I_NetNotifyDelta
+I_NetNotifyDsChange
+I_NetNotifyMachineAccount
+I_NetNotifyNetlogonDllHandle
+I_NetNotifyNtdsDsaDeletion
+I_NetNotifyRole
+I_NetNotifyTrustedDomain
+InitSecurityInterfaceW
+NetILogonSamLogon
+NlNetlogonMain
diff --git a/mingw-w64-crt/lib64/netman.def b/mingw-w64-crt/lib64/netman.def
index a4ff147..f440870 100644
--- a/mingw-w64-crt/lib64/netman.def
+++ b/mingw-w64-crt/lib64/netman.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file netman.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY netman.dll
-EXPORTS
-GetClientAdvises
-DllRegisterServer
-DllUnregisterServer
-HrGetPnpDeviceStatus
-HrLanConnectionNameFromGuidOrPath
-HrPnpInstanceIdFromGuid
-HrQueryLanMediaState
-HrRasConnectionNameFromGuid
-NetManDiagFromCommandArgs
-ProcessQueue
-RasEventNotify
-ServiceMain
+; 
+; Exports of file netman.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY netman.dll
+EXPORTS
+GetClientAdvises
+DllRegisterServer
+DllUnregisterServer
+HrGetPnpDeviceStatus
+HrLanConnectionNameFromGuidOrPath
+HrPnpInstanceIdFromGuid
+HrQueryLanMediaState
+HrRasConnectionNameFromGuid
+NetManDiagFromCommandArgs
+ProcessQueue
+RasEventNotify
+ServiceMain
diff --git a/mingw-w64-crt/lib64/netoc.def b/mingw-w64-crt/lib64/netoc.def
index 5bcd543..c877401 100644
--- a/mingw-w64-crt/lib64/netoc.def
+++ b/mingw-w64-crt/lib64/netoc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file netoc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY netoc.dll
-EXPORTS
-NetOcSetupProc
+; 
+; Exports of file netoc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY netoc.dll
+EXPORTS
+NetOcSetupProc
diff --git a/mingw-w64-crt/lib64/netplwiz.def b/mingw-w64-crt/lib64/netplwiz.def
index f97c3e4..b1d35d5 100644
--- a/mingw-w64-crt/lib64/netplwiz.def
+++ b/mingw-w64-crt/lib64/netplwiz.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file NETPLWIZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETPLWIZ.dll
-EXPORTS
-AddNetPlaceRunDll
-PassportWizardRunDll
-PublishRunDll
-UsersRunDll
-ClearAutoLogon
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllMain
-DllRegisterServer
-DllUnregisterServer
-NetAccessWizard
-NetPlacesWizardDoModal
-SHDisconnectNetDrives
+; 
+; Exports of file NETPLWIZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETPLWIZ.dll
+EXPORTS
+AddNetPlaceRunDll
+PassportWizardRunDll
+PublishRunDll
+UsersRunDll
+ClearAutoLogon
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllMain
+DllRegisterServer
+DllUnregisterServer
+NetAccessWizard
+NetPlacesWizardDoModal
+SHDisconnectNetDrives
diff --git a/mingw-w64-crt/lib64/netrap.def b/mingw-w64-crt/lib64/netrap.def
index 51d7777..6667abb 100644
--- a/mingw-w64-crt/lib64/netrap.def
+++ b/mingw-w64-crt/lib64/netrap.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file NETRAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETRAP.dll
-EXPORTS
-RapArrayLength
-RapAsciiToDecimal
-RapAuxDataCount
-RapAuxDataCountOffset
-RapConvertSingleEntry
-RapConvertSingleEntryEx
-RapExamineDescriptor
-RapGetFieldSize
-RapIsValidDescriptorSmb
-RapLastPointerOffset
-RapParmNumDescriptor
-RapStructureAlignment
-RapStructureSize
-RapTotalSize
+; 
+; Exports of file NETRAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETRAP.dll
+EXPORTS
+RapArrayLength
+RapAsciiToDecimal
+RapAuxDataCount
+RapAuxDataCountOffset
+RapConvertSingleEntry
+RapConvertSingleEntryEx
+RapExamineDescriptor
+RapGetFieldSize
+RapIsValidDescriptorSmb
+RapLastPointerOffset
+RapParmNumDescriptor
+RapStructureAlignment
+RapStructureSize
+RapTotalSize
diff --git a/mingw-w64-crt/lib64/netshell.def b/mingw-w64-crt/lib64/netshell.def
index 94bb0a4..6e16e09 100644
--- a/mingw-w64-crt/lib64/netshell.def
+++ b/mingw-w64-crt/lib64/netshell.def
@@ -1,42 +1,42 @@
-; 
-; Exports of file netshell.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY netshell.dll
-EXPORTS
-DoInitialCleanup
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-HrCreateDesktopIcon
-HrGetAnswerFileParametersForNetCard
-HrGetExtendedStatusFromNCS
-HrGetIconFromMediaType
-HrGetIconFromMediaTypeEx
-HrGetInstanceGuidOfPreNT5NetCardInstance
-HrGetNetConExtendedStatusFromGuid
-HrGetNetConExtendedStatusFromINetConnection
-HrGetStatusStringFromNetConExtendedStatus
-HrIsIpStateCheckingEnabled
-HrLaunchConnection
-HrLaunchConnectionEx
-HrLaunchNetworkOptionalComponents
-HrOemUpgrade
-HrRenameConnection
-HrRunWizard
-InvokeDunFile
-NcFreeNetconProperties
-NcIsValidConnectionName
-NetSetupAddRasConnection
-NetSetupFinishInstall
-NetSetupInstallSoftware
-NetSetupPrepareSysPrep
-NetSetupRequestWizardPages
-NetSetupSetProgressCallback
-NormalizeExtendedStatus
-RaiseSupportDialog
-RepairConnection
-StartNCW
+; 
+; Exports of file netshell.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY netshell.dll
+EXPORTS
+DoInitialCleanup
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+HrCreateDesktopIcon
+HrGetAnswerFileParametersForNetCard
+HrGetExtendedStatusFromNCS
+HrGetIconFromMediaType
+HrGetIconFromMediaTypeEx
+HrGetInstanceGuidOfPreNT5NetCardInstance
+HrGetNetConExtendedStatusFromGuid
+HrGetNetConExtendedStatusFromINetConnection
+HrGetStatusStringFromNetConExtendedStatus
+HrIsIpStateCheckingEnabled
+HrLaunchConnection
+HrLaunchConnectionEx
+HrLaunchNetworkOptionalComponents
+HrOemUpgrade
+HrRenameConnection
+HrRunWizard
+InvokeDunFile
+NcFreeNetconProperties
+NcIsValidConnectionName
+NetSetupAddRasConnection
+NetSetupFinishInstall
+NetSetupInstallSoftware
+NetSetupPrepareSysPrep
+NetSetupRequestWizardPages
+NetSetupSetProgressCallback
+NormalizeExtendedStatus
+RaiseSupportDialog
+RepairConnection
+StartNCW
diff --git a/mingw-w64-crt/lib64/netui0.def b/mingw-w64-crt/lib64/netui0.def
index bbaedaf..2fcfe5b 100644
--- a/mingw-w64-crt/lib64/netui0.def
+++ b/mingw-w64-crt/lib64/netui0.def
@@ -1,1079 +1,1079 @@
-; 
-; Exports of file NETUI0.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETUI0.dll
-EXPORTS
-; public: __cdecl ALIAS_STR::ALIAS_STR(unsigned short const * __ptr64) __ptr64
-??0ALIAS_STR@@QEAA@PEBG@Z
-; public: __cdecl ALLOC_STR::ALLOC_STR(unsigned short * __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
-??0ALLOC_STR@@QEAA@PEAGIPEBG@Z
-; protected: __cdecl BASE::BASE(void) __ptr64
-??0BASE@@IEAA@XZ
-; public: __cdecl BITFIELD::BITFIELD(class BITFIELD const & __ptr64) __ptr64
-??0BITFIELD@@QEAA@AEBV0@@Z
-; public: __cdecl BITFIELD::BITFIELD(unsigned short) __ptr64
-??0BITFIELD@@QEAA@G@Z
-; public: __cdecl BITFIELD::BITFIELD(unsigned int,enum BITVALUES) __ptr64
-??0BITFIELD@@QEAA@IW4BITVALUES@@@Z
-; public: __cdecl BITFIELD::BITFIELD(unsigned long) __ptr64
-??0BITFIELD@@QEAA@K@Z
-; public: __cdecl BITFIELD::BITFIELD(unsigned char const * __ptr64,unsigned int,unsigned int) __ptr64
-??0BITFIELD@@QEAA@PEBEII@Z
-; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
-??0BUFFER@@QEAA@I@Z
-; public: __cdecl CHAR_STRING::CHAR_STRING(unsigned short const * __ptr64,unsigned int) __ptr64
-??0CHAR_STRING@@QEAA@PEBGI@Z
-; public: __cdecl DBGSTREAM::DBGSTREAM(class OUTPUTSINK * __ptr64) __ptr64
-??0DBGSTREAM@@QEAA@PEAVOUTPUTSINK@@@Z
-; public: __cdecl DEC_STR::DEC_STR(unsigned long,unsigned int) __ptr64
-??0DEC_STR@@QEAA@KI@Z
-; public: __cdecl DFSITER_TREE::DFSITER_TREE(class DFSITER_TREE const * __ptr64) __ptr64
-??0DFSITER_TREE@@QEAA@PEBV0@@Z
-; public: __cdecl DFSITER_TREE::DFSITER_TREE(class TREE const * __ptr64,unsigned int) __ptr64
-??0DFSITER_TREE@@QEAA@PEBVTREE@@I@Z
-; public: __cdecl DIR_BLOCK::DIR_BLOCK(void) __ptr64
-??0DIR_BLOCK@@QEAA@XZ
-; public: __cdecl DLIST::DLIST(void) __ptr64
-??0DLIST@@QEAA@XZ
-; public: __cdecl DL_NODE::DL_NODE(class DL_NODE * __ptr64,class DL_NODE * __ptr64,void * __ptr64) __ptr64
-??0DL_NODE@@QEAA@PEAV0@0PEAX@Z
-; public: __cdecl ELAPSED_TIME_STR::ELAPSED_TIME_STR(unsigned long,unsigned short,int) __ptr64
-??0ELAPSED_TIME_STR@@QEAA@KGH@Z
-; public: __cdecl FMX::FMX(struct HWND__ * __ptr64) __ptr64
-??0FMX@@QEAA@PEAUHWND__@@@Z
-; protected: __cdecl FORWARDING_BASE::FORWARDING_BASE(class BASE * __ptr64) __ptr64
-??0FORWARDING_BASE@@IEAA@PEAVBASE@@@Z
-; protected: __cdecl FS_ENUM::FS_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,enum FILE_TYPE,int,unsigned int) __ptr64
-??0FS_ENUM@@IEAA@PEBG0W4FILE_TYPE@@HI@Z
-; protected: __cdecl HEAP_BASE::HEAP_BASE(int,int) __ptr64
-??0HEAP_BASE@@IEAA@HH@Z
-; public: __cdecl HEX_STR::HEX_STR(unsigned long,unsigned int) __ptr64
-??0HEX_STR@@QEAA@KI@Z
-; public: __cdecl HUATOM::HUATOM(unsigned short const * __ptr64,int) __ptr64
-??0HUATOM@@QEAA@PEBGH@Z
-; public: __cdecl INTL_PROFILE::INTL_PROFILE(void) __ptr64
-??0INTL_PROFILE@@QEAA@XZ
-; public: __cdecl ISTR::ISTR(class ISTR const & __ptr64) __ptr64
-??0ISTR@@QEAA@AEBV0@@Z
-; public: __cdecl ISTR::ISTR(class NLS_STR const & __ptr64) __ptr64
-??0ISTR@@QEAA@AEBVNLS_STR@@@Z
-; public: __cdecl ITER_DL::ITER_DL(class ITER_DL const & __ptr64) __ptr64
-??0ITER_DL@@QEAA@AEBV0@@Z
-; public: __cdecl ITER_DL::ITER_DL(class DLIST * __ptr64) __ptr64
-??0ITER_DL@@QEAA@PEAVDLIST@@@Z
-; public: __cdecl ITER_L::ITER_L(void) __ptr64
-??0ITER_L@@QEAA@XZ
-; public: __cdecl ITER_SL::ITER_SL(class ITER_SL const & __ptr64) __ptr64
-??0ITER_SL@@QEAA@AEBV0@@Z
-; public: __cdecl ITER_SL::ITER_SL(class SLIST * __ptr64) __ptr64
-??0ITER_SL@@QEAA@PEAVSLIST@@@Z
-; public: __cdecl ITER_SL_DIR_BLOCK::ITER_SL_DIR_BLOCK(class SLIST & __ptr64) __ptr64
-??0ITER_SL_DIR_BLOCK@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl ITER_SL_NLS_STR::ITER_SL_NLS_STR(class SLIST & __ptr64) __ptr64
-??0ITER_SL_NLS_STR@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl ITER_SL_NLS_STR::ITER_SL_NLS_STR(class ITER_SL_NLS_STR const & __ptr64) __ptr64
-??0ITER_SL_NLS_STR@@QEAA@AEBV0@@Z
-; public: __cdecl ITER_STRLIST::ITER_STRLIST(class STRLIST & __ptr64) __ptr64
-??0ITER_STRLIST@@QEAA@AEAVSTRLIST@@@Z
-; public: __cdecl ITER_STRLIST::ITER_STRLIST(class ITER_STRLIST const & __ptr64) __ptr64
-??0ITER_STRLIST@@QEAA@AEBV0@@Z
-; public: __cdecl LOGON_HOURS_SETTING::LOGON_HOURS_SETTING(class LOGON_HOURS_SETTING const & __ptr64) __ptr64
-??0LOGON_HOURS_SETTING@@QEAA@AEBV0@@Z
-; public: __cdecl LOGON_HOURS_SETTING::LOGON_HOURS_SETTING(unsigned char const * __ptr64,unsigned int) __ptr64
-??0LOGON_HOURS_SETTING@@QEAA@PEBEI@Z
-; protected: __cdecl NLS_STR::NLS_STR(unsigned short * __ptr64,unsigned int,int) __ptr64
-??0NLS_STR@@IEAA@PEAGIH@Z
-; public: __cdecl NLS_STR::NLS_STR(class NLS_STR const & __ptr64) __ptr64
-??0NLS_STR@@QEAA@AEBV0@@Z
-; public: __cdecl NLS_STR::NLS_STR(unsigned int) __ptr64
-??0NLS_STR@@QEAA@I@Z
-; public: __cdecl NLS_STR::NLS_STR(unsigned short const * __ptr64) __ptr64
-??0NLS_STR@@QEAA@PEBG@Z
-; public: __cdecl NLS_STR::NLS_STR(unsigned short const * __ptr64,unsigned short) __ptr64
-??0NLS_STR@@QEAA@PEBGG@Z
-; public: __cdecl NLS_STR::NLS_STR(void) __ptr64
-??0NLS_STR@@QEAA@XZ
-; public: __cdecl NUM_NLS_STR::NUM_NLS_STR(unsigned long) __ptr64
-??0NUM_NLS_STR@@QEAA@K@Z
-; public: __cdecl ONE_SHOT_HEAP::ONE_SHOT_HEAP(unsigned int,int) __ptr64
-??0ONE_SHOT_HEAP@@QEAA@IH@Z
-; public: __cdecl REG_KEY::REG_KEY(class REG_KEY & __ptr64) __ptr64
-??0REG_KEY@@QEAA@AEAV0@@Z
-; public: __cdecl REG_KEY::REG_KEY(class REG_KEY & __ptr64,class NLS_STR const & __ptr64,unsigned long) __ptr64
-??0REG_KEY@@QEAA@AEAV0@AEBVNLS_STR@@K@Z
-; public: __cdecl REG_KEY::REG_KEY(class REG_KEY & __ptr64,class NLS_STR const & __ptr64,class REG_KEY_CREATE_STRUCT * __ptr64) __ptr64
-??0REG_KEY@@QEAA@AEAV0@AEBVNLS_STR@@PEAVREG_KEY_CREATE_STRUCT@@@Z
-; public: __cdecl REG_KEY::REG_KEY(class NLS_STR const & __ptr64,unsigned long) __ptr64
-??0REG_KEY@@QEAA@AEBVNLS_STR@@K@Z
-; public: __cdecl REG_KEY::REG_KEY(struct HKEY__ * __ptr64,unsigned long) __ptr64
-??0REG_KEY@@QEAA@PEAUHKEY__@@K@Z
-; public: __cdecl REG_KEY::REG_KEY(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0REG_KEY@@QEAA@PEAUHKEY__@@PEBGK@Z
-; public: __cdecl REG_KEY_CREATE_STRUCT::REG_KEY_CREATE_STRUCT(void) __ptr64
-??0REG_KEY_CREATE_STRUCT@@QEAA@XZ
-; public: __cdecl REG_KEY_INFO_STRUCT::REG_KEY_INFO_STRUCT(void) __ptr64
-??0REG_KEY_INFO_STRUCT@@QEAA@XZ
-; public: __cdecl REG_VALUE_INFO_STRUCT::REG_VALUE_INFO_STRUCT(void) __ptr64
-??0REG_VALUE_INFO_STRUCT@@QEAA@XZ
-; public: __cdecl RESOURCE_STR::RESOURCE_STR(long,struct HINSTANCE__ * __ptr64) __ptr64
-??0RESOURCE_STR@@QEAA@JPEAUHINSTANCE__@@@Z
-; public: __cdecl RITER_DL::RITER_DL(class RITER_DL const & __ptr64) __ptr64
-??0RITER_DL@@QEAA@AEBV0@@Z
-; public: __cdecl RITER_DL::RITER_DL(class DLIST * __ptr64) __ptr64
-??0RITER_DL@@QEAA@PEAVDLIST@@@Z
-; public: __cdecl SLIST::SLIST(void) __ptr64
-??0SLIST@@QEAA@XZ
-; public: __cdecl SLIST_OF_DIR_BLOCK::SLIST_OF_DIR_BLOCK(int) __ptr64
-??0SLIST_OF_DIR_BLOCK@@QEAA@H@Z
-; public: __cdecl SLIST_OF_NLS_STR::SLIST_OF_NLS_STR(int) __ptr64
-??0SLIST_OF_NLS_STR@@QEAA@H@Z
-; public: __cdecl SL_NODE::SL_NODE(class SL_NODE * __ptr64,void * __ptr64) __ptr64
-??0SL_NODE@@QEAA@PEAV0@PEAX@Z
-; public: __cdecl STRLIST::STRLIST(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,int) __ptr64
-??0STRLIST@@QEAA@AEBVNLS_STR@@0H@Z
-; public: __cdecl STRLIST::STRLIST(int) __ptr64
-??0STRLIST@@QEAA@H@Z
-; public: __cdecl STRLIST::STRLIST(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-??0STRLIST@@QEAA@PEBG0H@Z
-; public: __cdecl TCHAR_STR::TCHAR_STR(unsigned short) __ptr64
-??0TCHAR_STR@@QEAA@G@Z
-; public: __cdecl TCHAR_STR_IMPL::TCHAR_STR_IMPL(unsigned short) __ptr64
-??0TCHAR_STR_IMPL@@QEAA@G@Z
-; public: __cdecl TREE::TREE(void * __ptr64) __ptr64
-??0TREE@@QEAA@PEAX@Z
-; public: __cdecl UATOM::UATOM(class NLS_STR & __ptr64) __ptr64
-??0UATOM@@QEAA@AEAVNLS_STR@@@Z
-; public: __cdecl UATOM_LINKAGE::UATOM_LINKAGE(void) __ptr64
-??0UATOM_LINKAGE@@QEAA@XZ
-; private: __cdecl UATOM_MANAGER::UATOM_MANAGER(void) __ptr64
-??0UATOM_MANAGER@@AEAA@XZ
-; public: __cdecl UATOM_REGION::UATOM_REGION(void) __ptr64
-??0UATOM_REGION@@QEAA@XZ
-; public: __cdecl W32_DIR_BLOCK::W32_DIR_BLOCK(void) __ptr64
-??0W32_DIR_BLOCK@@QEAA@XZ
-; public: __cdecl W32_FS_ENUM::W32_FS_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,enum FILE_TYPE,int,unsigned int) __ptr64
-??0W32_FS_ENUM@@QEAA@PEBG0W4FILE_TYPE@@HI@Z
-; public: __cdecl WCHAR_STRING::WCHAR_STRING(char const * __ptr64,unsigned int) __ptr64
-??0WCHAR_STRING@@QEAA@PEBDI@Z
-; public: __cdecl WIN_TIME::WIN_TIME(int) __ptr64
-??0WIN_TIME@@QEAA@H@Z
-; public: __cdecl WIN_TIME::WIN_TIME(unsigned long,int) __ptr64
-??0WIN_TIME@@QEAA@KH@Z
-; public: __cdecl WIN_TIME::WIN_TIME(struct _FILETIME,int) __ptr64
-??0WIN_TIME@@QEAA@U_FILETIME@@H@Z
-; public: __cdecl ALIAS_STR::~ALIAS_STR(void) __ptr64
-??1ALIAS_STR@@QEAA@XZ
-; public: __cdecl BITFIELD::~BITFIELD(void) __ptr64
-??1BITFIELD@@QEAA@XZ
-; public: __cdecl BUFFER::~BUFFER(void) __ptr64
-??1BUFFER@@QEAA@XZ
-; public: __cdecl CHAR_STRING::~CHAR_STRING(void) __ptr64
-??1CHAR_STRING@@QEAA@XZ
-; public: __cdecl DBGSTREAM::~DBGSTREAM(void) __ptr64
-??1DBGSTREAM@@QEAA@XZ
-; public: __cdecl DEC_STR::~DEC_STR(void) __ptr64
-??1DEC_STR@@QEAA@XZ
-; public: __cdecl DFSITER_TREE::~DFSITER_TREE(void) __ptr64
-??1DFSITER_TREE@@QEAA@XZ
-; public: virtual __cdecl DIR_BLOCK::~DIR_BLOCK(void) __ptr64
-??1DIR_BLOCK@@UEAA@XZ
-; public: __cdecl DLIST::~DLIST(void) __ptr64
-??1DLIST@@QEAA@XZ
-; public: __cdecl ELAPSED_TIME_STR::~ELAPSED_TIME_STR(void) __ptr64
-??1ELAPSED_TIME_STR@@QEAA@XZ
-; public: virtual __cdecl FS_ENUM::~FS_ENUM(void) __ptr64
-??1FS_ENUM@@UEAA@XZ
-; protected: __cdecl HEAP_BASE::~HEAP_BASE(void) __ptr64
-??1HEAP_BASE@@IEAA@XZ
-; public: __cdecl ITER_DL::~ITER_DL(void) __ptr64
-??1ITER_DL@@QEAA@XZ
-; public: __cdecl ITER_SL::~ITER_SL(void) __ptr64
-??1ITER_SL@@QEAA@XZ
-; public: __cdecl ITER_SL_DIR_BLOCK::~ITER_SL_DIR_BLOCK(void) __ptr64
-??1ITER_SL_DIR_BLOCK@@QEAA@XZ
-; public: __cdecl ITER_SL_NLS_STR::~ITER_SL_NLS_STR(void) __ptr64
-??1ITER_SL_NLS_STR@@QEAA@XZ
-; public: __cdecl ITER_STRLIST::~ITER_STRLIST(void) __ptr64
-??1ITER_STRLIST@@QEAA@XZ
-; public: __cdecl LOGON_HOURS_SETTING::~LOGON_HOURS_SETTING(void) __ptr64
-??1LOGON_HOURS_SETTING@@QEAA@XZ
-; public: __cdecl NLS_STR::~NLS_STR(void) __ptr64
-??1NLS_STR@@QEAA@XZ
-; public: __cdecl REG_KEY::~REG_KEY(void) __ptr64
-??1REG_KEY@@QEAA@XZ
-; public: __cdecl REG_KEY_INFO_STRUCT::~REG_KEY_INFO_STRUCT(void) __ptr64
-??1REG_KEY_INFO_STRUCT@@QEAA@XZ
-; public: __cdecl REG_VALUE_INFO_STRUCT::~REG_VALUE_INFO_STRUCT(void) __ptr64
-??1REG_VALUE_INFO_STRUCT@@QEAA@XZ
-; public: __cdecl RITER_DL::~RITER_DL(void) __ptr64
-??1RITER_DL@@QEAA@XZ
-; public: __cdecl SLIST::~SLIST(void) __ptr64
-??1SLIST@@QEAA@XZ
-; public: __cdecl SLIST_OF_DIR_BLOCK::~SLIST_OF_DIR_BLOCK(void) __ptr64
-??1SLIST_OF_DIR_BLOCK@@QEAA@XZ
-; public: __cdecl SLIST_OF_NLS_STR::~SLIST_OF_NLS_STR(void) __ptr64
-??1SLIST_OF_NLS_STR@@QEAA@XZ
-; public: __cdecl STRLIST::~STRLIST(void) __ptr64
-??1STRLIST@@QEAA@XZ
-; public: __cdecl TCHAR_STR::~TCHAR_STR(void) __ptr64
-??1TCHAR_STR@@QEAA@XZ
-; public: __cdecl TREE::~TREE(void) __ptr64
-??1TREE@@QEAA@XZ
-; public: __cdecl UATOM::~UATOM(void) __ptr64
-??1UATOM@@QEAA@XZ
-; public: __cdecl UATOM_LINKAGE::~UATOM_LINKAGE(void) __ptr64
-??1UATOM_LINKAGE@@QEAA@XZ
-; private: __cdecl UATOM_MANAGER::~UATOM_MANAGER(void) __ptr64
-??1UATOM_MANAGER@@AEAA@XZ
-; public: __cdecl UATOM_REGION::~UATOM_REGION(void) __ptr64
-??1UATOM_REGION@@QEAA@XZ
-; public: virtual __cdecl W32_DIR_BLOCK::~W32_DIR_BLOCK(void) __ptr64
-??1W32_DIR_BLOCK@@UEAA@XZ
-; public: virtual __cdecl W32_FS_ENUM::~W32_FS_ENUM(void) __ptr64
-??1W32_FS_ENUM@@UEAA@XZ
-; public: __cdecl WCHAR_STRING::~WCHAR_STRING(void) __ptr64
-??1WCHAR_STRING@@QEAA@XZ
-; public: static void * __ptr64 __cdecl ALLOC_BASE::operator new(unsigned __int64)
-??2ALLOC_BASE@@SAPEAX_K@Z
-; public: static void * __ptr64 __cdecl ALLOC_BASE::operator new(unsigned __int64,void * __ptr64)
-??2ALLOC_BASE@@SAPEAX_KPEAX@Z
-; public: static void __cdecl ALLOC_BASE::operator delete(void * __ptr64)
-??3ALLOC_BASE@@SAXPEAX@Z
-; public: class ALIAS_STR const & __ptr64 __cdecl ALIAS_STR::operator=(class NLS_STR const & __ptr64) __ptr64
-??4ALIAS_STR@@QEAAAEBV0@AEBVNLS_STR@@@Z
-; public: class ALIAS_STR const & __ptr64 __cdecl ALIAS_STR::operator=(unsigned short const * __ptr64) __ptr64
-??4ALIAS_STR@@QEAAAEBV0@PEBG@Z
-; public: class ALLOC_STR & __ptr64 __cdecl ALLOC_STR::operator=(unsigned short const * __ptr64) __ptr64
-??4ALLOC_STR@@QEAAAEAV0@PEBG@Z
-; public: class BITFIELD & __ptr64 __cdecl BITFIELD::operator=(class BITFIELD const & __ptr64) __ptr64
-??4BITFIELD@@QEAAAEAV0@AEBV0@@Z
-; public: class BITFIELD & __ptr64 __cdecl BITFIELD::operator=(unsigned short) __ptr64
-??4BITFIELD@@QEAAAEAV0@G@Z
-; public: class BITFIELD & __ptr64 __cdecl BITFIELD::operator=(unsigned long) __ptr64
-??4BITFIELD@@QEAAAEAV0@K@Z
-; public: class ISTR & __ptr64 __cdecl ISTR::operator=(class ISTR const & __ptr64) __ptr64
-??4ISTR@@QEAAAEAV0@AEBV0@@Z
-; public: class NLS_STR & __ptr64 __cdecl NLS_STR::operator=(class NLS_STR const & __ptr64) __ptr64
-??4NLS_STR@@QEAAAEAV0@AEBV0@@Z
-; public: class NLS_STR & __ptr64 __cdecl NLS_STR::operator=(unsigned short const * __ptr64) __ptr64
-??4NLS_STR@@QEAAAEAV0@PEBG@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(char) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@D@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(short) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@F@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned short) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@G@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(int) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@H@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned int) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@I@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(long) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@J@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned long) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@K@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(char const * __ptr64) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@PEBD@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned short const * __ptr64) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@PEBG@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(enum DBGSTR_SPECIAL) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@W4DBGSTR_SPECIAL@@@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(__int64) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@_J@Z
-; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned __int64) __ptr64
-??6DBGSTREAM@@QEAAAEAV0@_K@Z
-; public: int __cdecl BASE::operator!(void)const  __ptr64
-??7BASE@@QEBAHXZ
-; public: int __cdecl BITFIELD::operator==(class BITFIELD & __ptr64) __ptr64
-??8BITFIELD@@QEAAHAEAV0@@Z
-; public: int __cdecl BITFIELD::operator==(unsigned short)const  __ptr64
-??8BITFIELD@@QEBAHG@Z
-; public: int __cdecl BITFIELD::operator==(unsigned long)const  __ptr64
-??8BITFIELD@@QEBAHK@Z
-; public: int __cdecl ISTR::operator==(class ISTR const & __ptr64)const  __ptr64
-??8ISTR@@QEBAHAEBV0@@Z
-; public: int __cdecl NLS_STR::operator==(class NLS_STR const & __ptr64)const  __ptr64
-??8NLS_STR@@QEBAHAEBV0@@Z
-; public: int __cdecl NLS_STR::operator!=(class NLS_STR const & __ptr64)const  __ptr64
-??9NLS_STR@@QEBAHAEBV0@@Z
-; public: __cdecl BITFIELD::operator unsigned short(void) __ptr64
-??BBITFIELD@@QEAAGXZ
-; public: __cdecl BITFIELD::operator unsigned long(void) __ptr64
-??BBITFIELD@@QEAAKXZ
-; public: __cdecl NLS_STR::operator unsigned short const * __ptr64(void)const  __ptr64
-??BNLS_STR@@QEBAPEBGXZ
-; public: __cdecl REG_KEY::operator struct HKEY__ * __ptr64(void)const  __ptr64
-??BREG_KEY@@QEBAPEAUHKEY__@@XZ
-; public: __cdecl TCHAR_STR::operator class ALIAS_STR const & __ptr64(void) __ptr64
-??BTCHAR_STR@@QEAAAEBVALIAS_STR@@XZ
-; public: class ISTR & __ptr64 __cdecl ISTR::operator++(void) __ptr64
-??EISTR@@QEAAAEAV0@XZ
-; public: int __cdecl ISTR::operator-(class ISTR const & __ptr64)const  __ptr64
-??GISTR@@QEBAHAEBV0@@Z
-; public: int __cdecl BITFIELD::operator&(class BITFIELD const & __ptr64) __ptr64
-??IBITFIELD@@QEAAHAEBV0@@Z
-; public: int __cdecl ISTR::operator<(class ISTR const & __ptr64)const  __ptr64
-??MISTR@@QEBAHAEBV0@@Z
-; public: int __cdecl ISTR::operator>(class ISTR const & __ptr64)const  __ptr64
-??OISTR@@QEBAHAEBV0@@Z
-; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::operator()(void) __ptr64
-??RITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
-; public: void __cdecl ISTR::operator+=(int) __ptr64
-??YISTR@@QEAAXH@Z
-; public: class NLS_STR & __ptr64 __cdecl NLS_STR::operator+=(class NLS_STR const & __ptr64) __ptr64
-??YNLS_STR@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl BITFIELD::operator&=(class BITFIELD const & __ptr64) __ptr64
-??_4BITFIELD@@QEAAXAEBV0@@Z
-; public: void __cdecl BITFIELD::operator&=(unsigned short) __ptr64
-??_4BITFIELD@@QEAAXG@Z
-; public: void __cdecl BITFIELD::operator&=(unsigned long) __ptr64
-??_4BITFIELD@@QEAAXK@Z
-; public: void __cdecl BITFIELD::operator|=(class BITFIELD const & __ptr64) __ptr64
-??_5BITFIELD@@QEAAXAEBV0@@Z
-; public: void __cdecl BITFIELD::operator|=(unsigned short) __ptr64
-??_5BITFIELD@@QEAAXG@Z
-; public: void __cdecl BITFIELD::operator|=(unsigned long) __ptr64
-??_5BITFIELD@@QEAAXK@Z
-; void __cdecl `vector constructor iterator'(void * __ptr64,unsigned __int64,int,void * __ptr64 (__cdecl*)(void * __ptr64))
-??_H@YAXPEAX_KHP6APEAX0@Z@Z
-; void __cdecl `vector destructor iterator'(void * __ptr64,unsigned __int64,int,void (__cdecl*)(void * __ptr64))
-??_I@YAXPEAX_KHP6AX0@Z@Z
-; void __cdecl `vector vbase constructor iterator'(void * __ptr64,unsigned __int64,int,void * __ptr64 (__cdecl*)(void * __ptr64))
-??_J@YAXPEAX_KHP6APEAX0@Z@Z
-; public: long __cdecl DLIST::Add(void * __ptr64) __ptr64
-?Add@DLIST@@QEAAJPEAX@Z
-; public: long __cdecl SLIST::Add(void * __ptr64) __ptr64
-?Add@SLIST@@QEAAJPEAX@Z
-; public: long __cdecl SLIST_OF_DIR_BLOCK::Add(class DIR_BLOCK const * __ptr64) __ptr64
-?Add@SLIST_OF_DIR_BLOCK@@QEAAJPEBVDIR_BLOCK@@@Z
-; public: long __cdecl SLIST_OF_NLS_STR::Add(class NLS_STR const * __ptr64) __ptr64
-?Add@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
-; private: int __cdecl NLS_STR::Alloc(unsigned int) __ptr64
-?Alloc@NLS_STR@@AEAAHI@Z
-; public: unsigned char * __ptr64 __cdecl ONE_SHOT_HEAP::Alloc(unsigned int) __ptr64
-?Alloc@ONE_SHOT_HEAP@@QEAAPEAEI@Z
-; protected: long __cdecl BITFIELD::AllocBitfield(unsigned int) __ptr64
-?AllocBitfield@BITFIELD@@IEAAJI@Z
-; public: long __cdecl DLIST::Append(void * __ptr64) __ptr64
-?Append@DLIST@@QEAAJPEAX@Z
-; public: long __cdecl NLS_STR::Append(class NLS_STR const & __ptr64) __ptr64
-?Append@NLS_STR@@QEAAJAEBV1@@Z
-; public: long __cdecl SLIST::Append(void * __ptr64) __ptr64
-?Append@SLIST@@QEAAJPEAX@Z
-; public: long __cdecl SLIST_OF_NLS_STR::Append(class NLS_STR const * __ptr64) __ptr64
-?Append@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
-; public: long __cdecl NLS_STR::AppendChar(unsigned short) __ptr64
-?AppendChar@NLS_STR@@QEAAJG@Z
-; public: class TREE * __ptr64 __cdecl TREE::BreakOut(void) __ptr64
-?BreakOut@TREE@@QEAAPEAV1@XZ
-; protected: void __cdecl DLIST::BumpIters(class DL_NODE * __ptr64) __ptr64
-?BumpIters@DLIST@@IEAAXPEAVDL_NODE@@@Z
-; protected: void __cdecl SLIST::BumpIters(class SL_NODE * __ptr64) __ptr64
-?BumpIters@SLIST@@IEAAXPEAVSL_NODE@@@Z
-; private: void __cdecl NLS_STR::CheckIstr(class ISTR const & __ptr64)const  __ptr64
-?CheckIstr@NLS_STR@@AEBAXAEBVISTR@@@Z
-; protected: int __cdecl DLIST::CheckIter(class ITER_L * __ptr64) __ptr64
-?CheckIter@DLIST@@IEAAHPEAVITER_L@@@Z
-; protected: int __cdecl SLIST::CheckIter(class ITER_SL * __ptr64) __ptr64
-?CheckIter@SLIST@@IEAAHPEAVITER_SL@@@Z
-; long __cdecl CheckLocalComm(unsigned short const * __ptr64)
-?CheckLocalComm@@YAJPEBG@Z
-; long __cdecl CheckLocalDrive(unsigned short const * __ptr64)
-?CheckLocalDrive@@YAJPEBG@Z
-; long __cdecl CheckLocalLpt(unsigned short const * __ptr64)
-?CheckLocalLpt@@YAJPEBG@Z
-; long __cdecl CheckUnavailDevice(unsigned short const * __ptr64,unsigned short * __ptr64,int * __ptr64)
-?CheckUnavailDevice@@YAJPEBGPEAGPEAH@Z
-; public: void __cdecl SLIST_OF_DIR_BLOCK::Clear(void) __ptr64
-?Clear@SLIST_OF_DIR_BLOCK@@QEAAXXZ
-; public: void __cdecl SLIST_OF_NLS_STR::Clear(void) __ptr64
-?Clear@SLIST_OF_NLS_STR@@QEAAXXZ
-; private: long __cdecl REG_KEY::Close(void) __ptr64
-?Close@REG_KEY@@AEAAJXZ
-; private: unsigned __int64 __cdecl FMX::Command(unsigned int,unsigned int,__int64)const  __ptr64
-?Command@FMX@@AEBA_KII_J@Z
-; public: int __cdecl NLS_STR::Compare(class NLS_STR const * __ptr64)const  __ptr64
-?Compare@NLS_STR@@QEBAHPEBV1@@Z
-; public: int __cdecl LOGON_HOURS_SETTING::ConvertFromGMT(void) __ptr64
-?ConvertFromGMT@LOGON_HOURS_SETTING@@QEAAHXZ
-; public: int __cdecl LOGON_HOURS_SETTING::ConvertToGMT(void) __ptr64
-?ConvertToGMT@LOGON_HOURS_SETTING@@QEAAHXZ
-; public: long __cdecl LOGON_HOURS_SETTING::ConvertToHoursPerWeek(void) __ptr64
-?ConvertToHoursPerWeek@LOGON_HOURS_SETTING@@QEAAJXZ
-; public: long __cdecl NLS_STR::CopyFrom(class NLS_STR const & __ptr64) __ptr64
-?CopyFrom@NLS_STR@@QEAAJAEBV1@@Z
-; public: long __cdecl NLS_STR::CopyFrom(unsigned short const * __ptr64,unsigned int) __ptr64
-?CopyFrom@NLS_STR@@QEAAJPEBGI@Z
-; public: long __cdecl NLS_STR::CopyTo(unsigned short * __ptr64,unsigned int)const  __ptr64
-?CopyTo@NLS_STR@@QEBAJPEAGI@Z
-; private: long __cdecl REG_KEY::CreateChild(class REG_KEY * __ptr64,class NLS_STR const & __ptr64,class REG_KEY_CREATE_STRUCT * __ptr64)const  __ptr64
-?CreateChild@REG_KEY@@AEBAJPEAV1@AEBVNLS_STR@@PEAVREG_KEY_CREATE_STRUCT@@@Z
-; protected: virtual class DIR_BLOCK * __ptr64 __cdecl W32_FS_ENUM::CreateDirBlock(void) __ptr64
-?CreateDirBlock@W32_FS_ENUM@@MEAAPEAVDIR_BLOCK@@XZ
-; private: void __cdecl STRLIST::CreateList(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?CreateList@STRLIST@@AEAAXPEBG0@Z
-; private: void __cdecl NLS_STR::DelSubStr(class ISTR & __ptr64,unsigned int) __ptr64
-?DelSubStr@NLS_STR@@AEAAXAEAVISTR@@I@Z
-; public: void __cdecl NLS_STR::DelSubStr(class ISTR & __ptr64) __ptr64
-?DelSubStr@NLS_STR@@QEAAXAEAVISTR@@@Z
-; public: void __cdecl NLS_STR::DelSubStr(class ISTR & __ptr64,class ISTR const & __ptr64) __ptr64
-?DelSubStr@NLS_STR@@QEAAXAEAVISTR@@AEBV2@@Z
-; public: long __cdecl REG_KEY::Delete(void) __ptr64
-?Delete@REG_KEY@@QEAAJXZ
-; public: long __cdecl REG_KEY::DeleteValue(class NLS_STR const & __ptr64) __ptr64
-?DeleteValue@REG_KEY@@QEAAJAEBVNLS_STR@@@Z
-; protected: void __cdecl DLIST::Deregister(class ITER_L * __ptr64) __ptr64
-?Deregister@DLIST@@IEAAXPEAVITER_L@@@Z
-; protected: void __cdecl SLIST::Deregister(class ITER_SL * __ptr64) __ptr64
-?Deregister@SLIST@@IEAAXPEAVITER_SL@@@Z
-; public: int __cdecl DIR_BLOCK::DoBreadthFirstDirs(void)const  __ptr64
-?DoBreadthFirstDirs@DIR_BLOCK@@QEBAHXZ
-; public: virtual void __cdecl OUTPUT_TO_AUX::EndOfLine(void) __ptr64
-?EndOfLine@OUTPUT_TO_AUX@@UEAAXXZ
-; private: virtual void __cdecl OUTPUT_TO_NUL::EndOfLine(void) __ptr64
-?EndOfLine@OUTPUT_TO_NUL@@EEAAXXZ
-; public: virtual void __cdecl OUTPUT_TO_STDERR::EndOfLine(void) __ptr64
-?EndOfLine@OUTPUT_TO_STDERR@@UEAAXXZ
-; public: virtual void __cdecl OUTPUT_TO_STDOUT::EndOfLine(void) __ptr64
-?EndOfLine@OUTPUT_TO_STDOUT@@UEAAXXZ
-; public: void __cdecl BUFFER::FillOut(void) __ptr64
-?FillOut@BUFFER@@QEAAXXZ
-; protected: virtual long __cdecl W32_FS_ENUM::FindFirst(class DIR_BLOCK * __ptr64,class NLS_STR const & __ptr64,unsigned int) __ptr64
-?FindFirst@W32_FS_ENUM@@MEAAJPEAVDIR_BLOCK@@AEBVNLS_STR@@I@Z
-; protected: virtual long __cdecl W32_FS_ENUM::FindNext(class DIR_BLOCK * __ptr64,unsigned int) __ptr64
-?FindNext@W32_FS_ENUM@@MEAAJPEAVDIR_BLOCK@@I@Z
-; protected: class SL_NODE * __ptr64 __cdecl SLIST::FindPrev(class SL_NODE * __ptr64) __ptr64
-?FindPrev@SLIST@@IEAAPEAVSL_NODE@@PEAV2@@Z
-; public: long __cdecl REG_KEY::Flush(void) __ptr64
-?Flush@REG_KEY@@QEAAJXZ
-; public: class UATOM * __ptr64 __cdecl UATOM_LINKAGE::Fwd(void) __ptr64
-?Fwd@UATOM_LINKAGE@@QEAAPEAVUATOM@@XZ
-; private: long __cdecl BUFFER::GetNewStorage(unsigned int) __ptr64
-?GetNewStorage@BUFFER@@AEAAJI@Z
-; long __cdecl GetSelItem(struct HWND__ * __ptr64,unsigned int,class NLS_STR * __ptr64,int * __ptr64)
-?GetSelItem@@YAJPEAUHWND__@@IPEAVNLS_STR@@PEAH@Z
-; long __cdecl GetSelItem(struct HWND__ * __ptr64,class NLS_STR * __ptr64,int,int * __ptr64)
-?GetSelItem@@YAJPEAUHWND__@@PEAVNLS_STR@@HPEAH@Z
-; private: static int __cdecl REG_KEY::HandlePrefix(class NLS_STR const & __ptr64,struct HKEY__ * __ptr64 * __ptr64,class NLS_STR * __ptr64,class NLS_STR * __ptr64)
-?HandlePrefix@REG_KEY@@CAHAEBVNLS_STR@@PEAPEAUHKEY__@@PEAV2@2@Z
-; public: int __cdecl DIR_BLOCK::HasFindFirstBeenCalled(void) __ptr64
-?HasFindFirstBeenCalled@DIR_BLOCK@@QEAAHXZ
-; void __cdecl HeapResidueIter(unsigned int,int)
-?HeapResidueIter@@YAXIH@Z
-; protected: long __cdecl HEAP_BASE::I_AddItem(void * __ptr64) __ptr64
-?I_AddItem@HEAP_BASE@@IEAAJPEAX@Z
-; protected: void * __ptr64 __cdecl HEAP_BASE::I_RemoveTopItem(void) __ptr64
-?I_RemoveTopItem@HEAP_BASE@@IEAAPEAXXZ
-; protected: void __cdecl NLS_STR::IncVers(void) __ptr64
-?IncVers@NLS_STR@@IEAAXXZ
-; public: static void __cdecl NUM_NLS_STR::Init(void)
-?Init@NUM_NLS_STR@@SAXXZ
-; public: void __cdecl UATOM_LINKAGE::Init(void) __ptr64
-?Init@UATOM_LINKAGE@@QEAAXXZ
-; public: static long __cdecl UATOM_MANAGER::Initialize(void)
-?Initialize@UATOM_MANAGER@@SAJXZ
-; protected: void __cdecl NLS_STR::InitializeVers(void) __ptr64
-?InitializeVers@NLS_STR@@IEAAXXZ
-; public: long __cdecl DLIST::Insert(void * __ptr64,class ITER_DL & __ptr64) __ptr64
-?Insert@DLIST@@QEAAJPEAXAEAVITER_DL@@@Z
-; public: long __cdecl DLIST::Insert(void * __ptr64,class RITER_DL & __ptr64) __ptr64
-?Insert@DLIST@@QEAAJPEAXAEAVRITER_DL@@@Z
-; public: long __cdecl SLIST::Insert(void * __ptr64,class ITER_SL & __ptr64) __ptr64
-?Insert@SLIST@@QEAAJPEAXAEAVITER_SL@@@Z
-; public: long __cdecl NLS_STR::InsertParams(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,class NLS_STR const & __ptr64) __ptr64
-?InsertParams@NLS_STR@@QEAAJAEBV1@00@Z
-; public: long __cdecl NLS_STR::InsertParams(unsigned int,class NLS_STR const * __ptr64,...) __ptr64
-?InsertParams@NLS_STR@@QEAAJIPEBV1@ZZ
-; public: long __cdecl NLS_STR::InsertParams(class NLS_STR const * __ptr64 * __ptr64) __ptr64
-?InsertParams@NLS_STR@@QEAAJPEAPEBV1@@Z
-; private: long __cdecl NLS_STR::InsertParamsAux(class NLS_STR const * __ptr64 * __ptr64,unsigned int,int,unsigned int * __ptr64) __ptr64
-?InsertParamsAux@NLS_STR@@AEAAJPEAPEBV1@IHPEAI@Z
-; public: int __cdecl NLS_STR::InsertStr(class NLS_STR const & __ptr64,class ISTR & __ptr64) __ptr64
-?InsertStr@NLS_STR@@QEAAHAEBV1@AEAVISTR@@@Z
-; public: int __cdecl INTL_PROFILE::Is24Hour(void)const  __ptr64
-?Is24Hour@INTL_PROFILE@@QEBAHXZ
-; protected: int __cdecl BITFIELD::IsAllocated(void)const  __ptr64
-?IsAllocated@BITFIELD@@IEBAHXZ
-; public: int __cdecl BITFIELD::IsBitSet(unsigned int)const  __ptr64
-?IsBitSet@BITFIELD@@QEBAHI@Z
-; public: int __cdecl INTL_PROFILE::IsDayLZero(void)const  __ptr64
-?IsDayLZero@INTL_PROFILE@@QEBAHXZ
-; public: int __cdecl DIR_BLOCK::IsDir(void) __ptr64
-?IsDir@DIR_BLOCK@@QEAAHXZ
-; public: int __cdecl FMX::IsHeterogeneousSelection(int * __ptr64) __ptr64
-?IsHeterogeneousSelection@FMX@@QEAAHPEAH@Z
-; public: int __cdecl INTL_PROFILE::IsHourLZero(void)const  __ptr64
-?IsHourLZero@INTL_PROFILE@@QEBAHXZ
-; public: int __cdecl LOGON_HOURS_SETTING::IsIdenticalToBits(unsigned char const * __ptr64,unsigned int)const  __ptr64
-?IsIdenticalToBits@LOGON_HOURS_SETTING@@QEBAHPEBEI@Z
-; public: int __cdecl ISTR::IsLastPos(void)const  __ptr64
-?IsLastPos@ISTR@@QEBAHXZ
-; public: int __cdecl SLIST_OF_NLS_STR::IsMember(class NLS_STR const & __ptr64) __ptr64
-?IsMember@SLIST_OF_NLS_STR@@QEAAHAEBVNLS_STR@@@Z
-; public: int __cdecl INTL_PROFILE::IsMonthLZero(void)const  __ptr64
-?IsMonthLZero@INTL_PROFILE@@QEBAHXZ
-; public: int __cdecl NLS_STR::IsOwnerAlloc(void)const  __ptr64
-?IsOwnerAlloc@NLS_STR@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::IsTimePrefix(void)const  __ptr64
-?IsTimePrefix@INTL_PROFILE@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::IsYrCentury(void)const  __ptr64
-?IsYrCentury@INTL_PROFILE@@QEBAHXZ
-; public: void __cdecl TREE::JoinSiblingLeft(class TREE * __ptr64) __ptr64
-?JoinSiblingLeft@TREE@@QEAAXPEAV1@@Z
-; public: void __cdecl TREE::JoinSiblingRight(class TREE * __ptr64) __ptr64
-?JoinSiblingRight@TREE@@QEAAXPEAV1@@Z
-; public: void __cdecl TREE::JoinSubtreeLeft(class TREE * __ptr64) __ptr64
-?JoinSubtreeLeft@TREE@@QEAAXPEAV1@@Z
-; public: void __cdecl TREE::JoinSubtreeRight(class TREE * __ptr64) __ptr64
-?JoinSubtreeRight@TREE@@QEAAXPEAV1@@Z
-; private: unsigned short const * __ptr64 __cdecl REG_KEY::LeafKeyName(void)const  __ptr64
-?LeafKeyName@REG_KEY@@AEBAPEBGXZ
-; public: void __cdecl UATOM_LINKAGE::Link(class UATOM_LINKAGE * __ptr64) __ptr64
-?Link@UATOM_LINKAGE@@QEAAXPEAV1@@Z
-; public: long __cdecl NLS_STR::Load(long,struct HINSTANCE__ * __ptr64) __ptr64
-?Load@NLS_STR@@QEAAJJPEAUHINSTANCE__@@@Z
-; public: long __cdecl NLS_STR::LoadSystem(long) __ptr64
-?LoadSystem@NLS_STR@@QEAAJJ@Z
-; public: long __cdecl LOGON_HOURS_SETTING::MakeDefault(void) __ptr64
-?MakeDefault@LOGON_HOURS_SETTING@@QEAAJXZ
-; public: long __cdecl NLS_STR::MapCopyFrom(char const * __ptr64,unsigned int) __ptr64
-?MapCopyFrom@NLS_STR@@QEAAJPEBDI@Z
-; public: long __cdecl NLS_STR::MapCopyFrom(unsigned short const * __ptr64,unsigned int) __ptr64
-?MapCopyFrom@NLS_STR@@QEAAJPEBGI@Z
-; public: long __cdecl NLS_STR::MapCopyTo(char * __ptr64,unsigned int)const  __ptr64
-?MapCopyTo@NLS_STR@@QEBAJPEADI@Z
-; public: long __cdecl NLS_STR::MapCopyTo(unsigned short * __ptr64,unsigned int)const  __ptr64
-?MapCopyTo@NLS_STR@@QEBAJPEAGI@Z
-; public: static long __cdecl ERRMAP::MapNTStatus(long,int * __ptr64,long)
-?MapNTStatus@ERRMAP@@SAJJPEAHJ@Z
-; private: long __cdecl REG_KEY::NameChild(class REG_KEY * __ptr64,class NLS_STR const & __ptr64)const  __ptr64
-?NameChild@REG_KEY@@AEBAJPEAV1@AEBVNLS_STR@@@Z
-; public: void * __ptr64 __cdecl DFSITER_TREE::Next(void) __ptr64
-?Next@DFSITER_TREE@@QEAAPEAXXZ
-; public: int __cdecl FS_ENUM::Next(void) __ptr64
-?Next@FS_ENUM@@QEAAHXZ
-; public: void * __ptr64 __cdecl ITER_SL::Next(void) __ptr64
-?Next@ITER_SL@@QEAAPEAXXZ
-; public: class DIR_BLOCK * __ptr64 __cdecl ITER_SL_DIR_BLOCK::Next(void) __ptr64
-?Next@ITER_SL_DIR_BLOCK@@QEAAPEAVDIR_BLOCK@@XZ
-; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::Next(void) __ptr64
-?Next@ITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
-; protected: int __cdecl FS_ENUM::NextBreadthFirst(void) __ptr64
-?NextBreadthFirst@FS_ENUM@@IEAAHXZ
-; protected: int __cdecl FS_ENUM::NextDepthFirst(void) __ptr64
-?NextDepthFirst@FS_ENUM@@IEAAHXZ
-; public: long __cdecl WIN_TIME::Normalize(void) __ptr64
-?Normalize@WIN_TIME@@QEAAJXZ
-; public: void __cdecl BITFIELD::Not(void) __ptr64
-?Not@BITFIELD@@QEAAXXZ
-; private: long __cdecl REG_KEY::OpenByName(class NLS_STR const & __ptr64,unsigned long) __ptr64
-?OpenByName@REG_KEY@@AEAAJAEBVNLS_STR@@K@Z
-; private: long __cdecl REG_KEY::OpenChild(class REG_KEY * __ptr64,class NLS_STR const & __ptr64,unsigned long,unsigned long) __ptr64
-?OpenChild@REG_KEY@@AEAAJPEAV1@AEBVNLS_STR@@KK@Z
-; private: class REG_KEY * __ptr64 __cdecl REG_KEY::OpenParent(unsigned long) __ptr64
-?OpenParent@REG_KEY@@AEAAPEAV1@K@Z
-; private: long __cdecl REG_KEY::ParentName(class NLS_STR * __ptr64)const  __ptr64
-?ParentName@REG_KEY@@AEBAJPEAVNLS_STR@@@Z
-; protected: void * __ptr64 __cdecl HEAP_BASE::PeekItem(int)const  __ptr64
-?PeekItem@HEAP_BASE@@IEBAPEAXH@Z
-; public: long __cdecl LOGON_HOURS_SETTING::PermitAll(void) __ptr64
-?PermitAll@LOGON_HOURS_SETTING@@QEAAJXZ
-; protected: long __cdecl FS_ENUM::PopDir(void) __ptr64
-?PopDir@FS_ENUM@@IEAAJXZ
-; protected: long __cdecl FS_ENUM::PushDir(unsigned short const * __ptr64) __ptr64
-?PushDir@FS_ENUM@@IEAAJPEBG@Z
-; public: long __cdecl INTL_PROFILE::QueryAMStr(class NLS_STR * __ptr64)const  __ptr64
-?QueryAMStr@INTL_PROFILE@@QEBAJPEAVNLS_STR@@@Z
-; private: unsigned int __cdecl BUFFER::QueryActualSize(void) __ptr64
-?QueryActualSize@BUFFER@@AEAAIXZ
-; public: unsigned int __cdecl BITFIELD::QueryAllocSize(void)const  __ptr64
-?QueryAllocSize@BITFIELD@@QEBAIXZ
-; public: unsigned int __cdecl NLS_STR::QueryAllocSize(void)const  __ptr64
-?QueryAllocSize@NLS_STR@@QEBAIXZ
-; public: unsigned int __cdecl NLS_STR::QueryAnsiTextLength(void)const  __ptr64
-?QueryAnsiTextLength@NLS_STR@@QEBAIXZ
-; public: virtual unsigned int __cdecl W32_DIR_BLOCK::QueryAttr(void) __ptr64
-?QueryAttr@W32_DIR_BLOCK@@UEAAIXZ
-; protected: unsigned char * __ptr64 __cdecl BITFIELD::QueryBitPos(unsigned int,unsigned int)const  __ptr64
-?QueryBitPos@BITFIELD@@IEBAPEAEII@Z
-; public: int __cdecl STRLIST::QueryBufferSize(unsigned short * __ptr64) __ptr64
-?QueryBufferSize@STRLIST@@QEAAHPEAG@Z
-; private: static unsigned int __cdecl LOGON_HOURS_SETTING::QueryByteCount(unsigned int)
-?QueryByteCount@LOGON_HOURS_SETTING@@CAII@Z
-; public: unsigned int __cdecl LOGON_HOURS_SETTING::QueryByteCount(void)const  __ptr64
-?QueryByteCount@LOGON_HOURS_SETTING@@QEBAIXZ
-; public: unsigned short __cdecl NLS_STR::QueryChar(class ISTR const & __ptr64)const  __ptr64
-?QueryChar@NLS_STR@@QEBAGAEBVISTR@@@Z
-; public: unsigned int __cdecl BITFIELD::QueryCount(void)const  __ptr64
-?QueryCount@BITFIELD@@QEBAIXZ
-; protected: unsigned int __cdecl DFSITER_TREE::QueryCurDepth(void)const  __ptr64
-?QueryCurDepth@DFSITER_TREE@@IEBAIXZ
-; public: static class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::QueryCurrent(void)
-?QueryCurrent@DBGSTREAM@@SAAEAV1@XZ
-; public: unsigned int __cdecl FS_ENUM::QueryCurrentDepth(void) __ptr64
-?QueryCurrentDepth@FS_ENUM@@QEAAIXZ
-; public: class DIR_BLOCK * __ptr64 __cdecl FS_ENUM::QueryCurrentDirBlock(void)const  __ptr64
-?QueryCurrentDirBlock@FS_ENUM@@QEBAPEAVDIR_BLOCK@@XZ
-; unsigned long __cdecl QueryCurrentTimeStamp(void)
-?QueryCurrentTimeStamp@@YAKXZ
-; public: static class REG_KEY * __ptr64 __cdecl REG_KEY::QueryCurrentUser(unsigned long)
-?QueryCurrentUser@REG_KEY@@SAPEAV1@K@Z
-; public: char const * __ptr64 __cdecl CHAR_STRING::QueryData(void)const  __ptr64
-?QueryData@CHAR_STRING@@QEBAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl WCHAR_STRING::QueryData(void)const  __ptr64
-?QueryData@WCHAR_STRING@@QEBAPEBGXZ
-; public: long __cdecl INTL_PROFILE::QueryDateSeparator(class NLS_STR * __ptr64)const  __ptr64
-?QueryDateSeparator@INTL_PROFILE@@QEBAJPEAVNLS_STR@@@Z
-; public: int __cdecl WIN_TIME::QueryDay(void)const  __ptr64
-?QueryDay@WIN_TIME@@QEBAHXZ
-; public: int __cdecl WIN_TIME::QueryDayOfWeek(void)const  __ptr64
-?QueryDayOfWeek@WIN_TIME@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::QueryDayPos(void)const  __ptr64
-?QueryDayPos@INTL_PROFILE@@QEBAHXZ
-; public: class STRLIST * __ptr64 __cdecl DIR_BLOCK::QueryDirs(void) __ptr64
-?QueryDirs@DIR_BLOCK@@QEAAPEAVSTRLIST@@XZ
-; public: class ITER_STRLIST * __ptr64 __cdecl DIR_BLOCK::QueryDirsIter(void) __ptr64
-?QueryDirsIter@DIR_BLOCK@@QEAAPEAVITER_STRLIST@@XZ
-; public: long __cdecl FMX::QueryDriveInfo(struct _FMS_GETDRIVEINFOW * __ptr64) __ptr64
-?QueryDriveInfo@FMX@@QEAAJPEAU_FMS_GETDRIVEINFOW@@@Z
-; public: long __cdecl INTL_PROFILE::QueryDurationStr(int,int,int,int,class NLS_STR * __ptr64)const  __ptr64
-?QueryDurationStr@INTL_PROFILE@@QEBAJHHHHPEAVNLS_STR@@@Z
-; public: long __cdecl BASE::QueryError(void)const  __ptr64
-?QueryError@BASE@@QEBAJXZ
-; public: long __cdecl FORWARDING_BASE::QueryError(void)const  __ptr64
-?QueryError@FORWARDING_BASE@@QEBAJXZ
-; public: long __cdecl HUATOM::QueryError(void)const  __ptr64
-?QueryError@HUATOM@@QEBAJXZ
-; public: virtual unsigned short const * __ptr64 __cdecl W32_DIR_BLOCK::QueryFileName(void) __ptr64
-?QueryFileName@W32_DIR_BLOCK@@UEAAPEBGXZ
-; public: long __cdecl WIN_TIME::QueryFileTime(struct _FILETIME * __ptr64)const  __ptr64
-?QueryFileTime@WIN_TIME@@QEBAJPEAU_FILETIME@@@Z
-; public: long __cdecl WIN_TIME::QueryFileTimeLocal(struct _FILETIME * __ptr64)const  __ptr64
-?QueryFileTimeLocal@WIN_TIME@@QEBAJPEAU_FILETIME@@@Z
-; public: class TREE * __ptr64 __cdecl TREE::QueryFirstSubtree(void)const  __ptr64
-?QueryFirstSubtree@TREE@@QEBAPEAV1@XZ
-; public: unsigned int __cdecl FMX::QueryFocus(void)const  __ptr64
-?QueryFocus@FMX@@QEBAIXZ
-; public: int __cdecl WIN_TIME::QueryHour(void)const  __ptr64
-?QueryHour@WIN_TIME@@QEBAHXZ
-; public: int __cdecl LOGON_HOURS_SETTING::QueryHourInDay(unsigned int,unsigned int)const  __ptr64
-?QueryHourInDay@LOGON_HOURS_SETTING@@QEBAHII@Z
-; public: int __cdecl LOGON_HOURS_SETTING::QueryHourInWeek(unsigned int)const  __ptr64
-?QueryHourInWeek@LOGON_HOURS_SETTING@@QEBAHI@Z
-; public: unsigned char * __ptr64 __cdecl LOGON_HOURS_SETTING::QueryHoursBlock(void)const  __ptr64
-?QueryHoursBlock@LOGON_HOURS_SETTING@@QEBAPEAEXZ
-; private: int __cdecl ISTR::QueryIch(void)const  __ptr64
-?QueryIch@ISTR@@AEBAHXZ
-; public: long __cdecl REG_KEY::QueryInfo(class REG_KEY_INFO_STRUCT * __ptr64) __ptr64
-?QueryInfo@REG_KEY@@QEAAJPEAVREG_KEY_INFO_STRUCT@@@Z
-; public: long __cdecl REG_KEY::QueryKeyName(class NLS_STR * __ptr64)const  __ptr64
-?QueryKeyName@REG_KEY@@QEBAJPEAVNLS_STR@@@Z
-; private: long __cdecl REG_KEY::QueryKeyValueBinary(unsigned short const * __ptr64,unsigned char * __ptr64 * __ptr64,long * __ptr64,long,unsigned long * __ptr64,unsigned long) __ptr64
-?QueryKeyValueBinary@REG_KEY@@AEAAJPEBGPEAPEAEPEAJJPEAKK@Z
-; private: long __cdecl REG_KEY::QueryKeyValueLong(unsigned short const * __ptr64,long * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryKeyValueLong@REG_KEY@@AEAAJPEBGPEAJPEAK@Z
-; private: long __cdecl REG_KEY::QueryKeyValueString(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,class NLS_STR * __ptr64,unsigned long * __ptr64,long,long * __ptr64,unsigned long) __ptr64
-?QueryKeyValueString@REG_KEY@@AEAAJPEBGPEAPEAGPEAVNLS_STR@@PEAKJPEAJK@Z
-; public: class TREE * __ptr64 __cdecl TREE::QueryLastSubtree(void)const  __ptr64
-?QueryLastSubtree@TREE@@QEBAPEAV1@XZ
-; public: class TREE * __ptr64 __cdecl TREE::QueryLeft(void)const  __ptr64
-?QueryLeft@TREE@@QEBAPEAV1@XZ
-; public: int __cdecl UATOM_LINKAGE::QueryLinked(void) __ptr64
-?QueryLinked@UATOM_LINKAGE@@QEAAHXZ
-; public: static class REG_KEY * __ptr64 __cdecl REG_KEY::QueryLocalMachine(unsigned long)
-?QueryLocalMachine@REG_KEY@@SAPEAV1@K@Z
-; public: long __cdecl INTL_PROFILE::QueryLongDateString(class WIN_TIME const & __ptr64,class NLS_STR * __ptr64)const  __ptr64
-?QueryLongDateString@INTL_PROFILE@@QEBAJAEBVWIN_TIME@@PEAVNLS_STR@@@Z
-; protected: unsigned int __cdecl DFSITER_TREE::QueryMaxDepth(void)const  __ptr64
-?QueryMaxDepth@DFSITER_TREE@@IEBAIXZ
-; public: unsigned int __cdecl FS_ENUM::QueryMaxDepth(void) __ptr64
-?QueryMaxDepth@FS_ENUM@@QEAAIXZ
-; protected: unsigned int __cdecl BITFIELD::QueryMaxNonAllocBitCount(void)const  __ptr64
-?QueryMaxNonAllocBitCount@BITFIELD@@IEBAIXZ
-; public: int __cdecl WIN_TIME::QueryMinute(void)const  __ptr64
-?QueryMinute@WIN_TIME@@QEBAHXZ
-; public: int __cdecl WIN_TIME::QueryMonth(void)const  __ptr64
-?QueryMonth@WIN_TIME@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::QueryMonthPos(void)const  __ptr64
-?QueryMonthPos@INTL_PROFILE@@QEBAHXZ
-; public: long __cdecl FS_ENUM::QueryName(class NLS_STR * __ptr64)const  __ptr64
-?QueryName@FS_ENUM@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl REG_KEY::QueryName(class NLS_STR * __ptr64,int)const  __ptr64
-?QueryName@REG_KEY@@QEBAJPEAVNLS_STR@@H@Z
-; public: class NLS_STR const * __ptr64 __cdecl HUATOM::QueryNls(void)const  __ptr64
-?QueryNls@HUATOM@@QEBAPEBVNLS_STR@@XZ
-; protected: class TREE const * __ptr64 __cdecl DFSITER_TREE::QueryNode(void)const  __ptr64
-?QueryNode@DFSITER_TREE@@IEBAPEBVTREE@@XZ
-; public: unsigned int __cdecl NLS_STR::QueryNumChar(void)const  __ptr64
-?QueryNumChar@NLS_STR@@QEBAIXZ
-; public: unsigned int __cdecl DLIST::QueryNumElem(void) __ptr64
-?QueryNumElem@DLIST@@QEAAIXZ
-; public: unsigned int __cdecl SLIST::QueryNumElem(void) __ptr64
-?QueryNumElem@SLIST@@QEAAIXZ
-; public: unsigned int __cdecl TREE::QueryNumElem(void)const  __ptr64
-?QueryNumElem@TREE@@QEBAIXZ
-; public: unsigned int __cdecl BITFIELD::QueryOffset(unsigned int)const  __ptr64
-?QueryOffset@BITFIELD@@QEBAII@Z
-; public: long __cdecl INTL_PROFILE::QueryPMStr(class NLS_STR * __ptr64)const  __ptr64
-?QueryPMStr@INTL_PROFILE@@QEBAJPEAVNLS_STR@@@Z
-; public: class TREE * __ptr64 __cdecl TREE::QueryParent(void)const  __ptr64
-?QueryParent@TREE@@QEBAPEAV1@XZ
-; public: unsigned short const * __ptr64 __cdecl NLS_STR::QueryPch(class ISTR const & __ptr64)const  __ptr64
-?QueryPch@NLS_STR@@QEBAPEBGAEBVISTR@@@Z
-; public: unsigned short const * __ptr64 __cdecl NLS_STR::QueryPch(void)const  __ptr64
-?QueryPch@NLS_STR@@QEBAPEBGXZ
-; public: void * __ptr64 __cdecl ITER_SL::QueryProp(void) __ptr64
-?QueryProp@ITER_SL@@QEAAPEAXXZ
-; public: void * __ptr64 __cdecl TREE::QueryProp(void)const  __ptr64
-?QueryProp@TREE@@QEBAPEAXXZ
-; public: unsigned char * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
-?QueryPtr@BUFFER@@QEBAPEAEXZ
-; public: class TREE * __ptr64 __cdecl TREE::QueryRight(void)const  __ptr64
-?QueryRight@TREE@@QEBAPEAV1@XZ
-; protected: unsigned int __cdecl FS_ENUM::QuerySearchAttr(void)const  __ptr64
-?QuerySearchAttr@FS_ENUM@@IEBAIXZ
-; public: int __cdecl WIN_TIME::QuerySecond(void)const  __ptr64
-?QuerySecond@WIN_TIME@@QEBAHXZ
-; public: unsigned int __cdecl FMX::QuerySelCount(void)const  __ptr64
-?QuerySelCount@FMX@@QEBAIXZ
-; public: long __cdecl FMX::QuerySelection(int,struct _FMS_GETFILESELW * __ptr64,int) __ptr64
-?QuerySelection@FMX@@QEAAJHPEAU_FMS_GETFILESELW@@H@Z
-; public: long __cdecl INTL_PROFILE::QueryShortDateString(class WIN_TIME const & __ptr64,class NLS_STR * __ptr64)const  __ptr64
-?QueryShortDateString@INTL_PROFILE@@QEBAJAEBVWIN_TIME@@PEAVNLS_STR@@@Z
-; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
-?QuerySize@BUFFER@@QEBAIXZ
-; protected: class TREE const * __ptr64 __cdecl DFSITER_TREE::QueryStartNode(void)const  __ptr64
-?QueryStartNode@DFSITER_TREE@@IEBAPEBVTREE@@XZ
-; private: class NLS_STR const * __ptr64 __cdecl ISTR::QueryString(void)const  __ptr64
-?QueryString@ISTR@@AEBAPEBVNLS_STR@@XZ
-; private: class NLS_STR * __ptr64 __cdecl NLS_STR::QuerySubStr(class ISTR const & __ptr64,unsigned int)const  __ptr64
-?QuerySubStr@NLS_STR@@AEBAPEAV1@AEBVISTR@@I@Z
-; public: class NLS_STR * __ptr64 __cdecl NLS_STR::QuerySubStr(class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?QuerySubStr@NLS_STR@@QEBAPEAV1@AEBVISTR@@0@Z
-; public: class NLS_STR * __ptr64 __cdecl NLS_STR::QuerySubStr(class ISTR const & __ptr64)const  __ptr64
-?QuerySubStr@NLS_STR@@QEBAPEAV1@AEBVISTR@@@Z
-; public: unsigned short const * __ptr64 __cdecl HUATOM::QueryText(void)const  __ptr64
-?QueryText@HUATOM@@QEBAPEBGXZ
-; public: unsigned int __cdecl NLS_STR::QueryTextLength(void)const  __ptr64
-?QueryTextLength@NLS_STR@@QEBAIXZ
-; public: unsigned int __cdecl NLS_STR::QueryTextSize(void)const  __ptr64
-?QueryTextSize@NLS_STR@@QEBAIXZ
-; public: long __cdecl WIN_TIME::QueryTime(unsigned long * __ptr64)const  __ptr64
-?QueryTime@WIN_TIME@@QEBAJPEAK@Z
-; public: long __cdecl WIN_TIME::QueryTimeLocal(unsigned long * __ptr64)const  __ptr64
-?QueryTimeLocal@WIN_TIME@@QEBAJPEAK@Z
-; public: long __cdecl INTL_PROFILE::QueryTimeSeparator(class NLS_STR * __ptr64)const  __ptr64
-?QueryTimeSeparator@INTL_PROFILE@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl INTL_PROFILE::QueryTimeString(class WIN_TIME const & __ptr64,class NLS_STR * __ptr64)const  __ptr64
-?QueryTimeString@INTL_PROFILE@@QEBAJAEBVWIN_TIME@@PEAVNLS_STR@@@Z
-; public: unsigned int __cdecl LOGON_HOURS_SETTING::QueryUnitsPerWeek(void)const  __ptr64
-?QueryUnitsPerWeek@LOGON_HOURS_SETTING@@QEBAIXZ
-; public: long __cdecl REG_KEY::QueryValue(class REG_VALUE_INFO_STRUCT * __ptr64) __ptr64
-?QueryValue@REG_KEY@@QEAAJPEAVREG_VALUE_INFO_STRUCT@@@Z
-; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@REG_KEY@@QEAAJPEBGPEAK1@Z
-; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,unsigned char * __ptr64 * __ptr64,long * __ptr64,long,unsigned long * __ptr64) __ptr64
-?QueryValue@REG_KEY@@QEAAJPEBGPEAPEAEPEAJJPEAK@Z
-; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long,unsigned long * __ptr64,int) __ptr64
-?QueryValue@REG_KEY@@QEAAJPEBGPEAPEAGKPEAKH@Z
-; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,class STRLIST * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@REG_KEY@@QEAAJPEBGPEAPEAVSTRLIST@@PEAK@Z
-; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,class NLS_STR * __ptr64,unsigned long,unsigned long * __ptr64,int) __ptr64
-?QueryValue@REG_KEY@@QEAAJPEBGPEAVNLS_STR@@KPEAKH@Z
-; public: int __cdecl WIN_TIME::QueryYear(void)const  __ptr64
-?QueryYear@WIN_TIME@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::QueryYearPos(void)const  __ptr64
-?QueryYearPos@INTL_PROFILE@@QEBAHXZ
-; private: int __cdecl NLS_STR::Realloc(unsigned int) __ptr64
-?Realloc@NLS_STR@@AEAAHI@Z
-; private: long __cdecl BUFFER::ReallocStorage(unsigned int) __ptr64
-?ReallocStorage@BUFFER@@AEAAJI@Z
-; public: void __cdecl FMX::Refresh(void) __ptr64
-?Refresh@FMX@@QEAAXXZ
-; public: long __cdecl INTL_PROFILE::Refresh(void) __ptr64
-?Refresh@INTL_PROFILE@@QEAAJXZ
-; protected: void __cdecl DLIST::Register(class ITER_L * __ptr64) __ptr64
-?Register@DLIST@@IEAAXPEAVITER_L@@@Z
-; protected: void __cdecl SLIST::Register(class ITER_SL * __ptr64) __ptr64
-?Register@SLIST@@IEAAXPEAVITER_SL@@@Z
-; public: void __cdecl FMX::Reload(void) __ptr64
-?Reload@FMX@@QEAAXXZ
-; public: void * __ptr64 __cdecl DLIST::Remove(class ITER_DL & __ptr64) __ptr64
-?Remove@DLIST@@QEAAPEAXAEAVITER_DL@@@Z
-; public: void * __ptr64 __cdecl DLIST::Remove(class RITER_DL & __ptr64) __ptr64
-?Remove@DLIST@@QEAAPEAXAEAVRITER_DL@@@Z
-; public: void * __ptr64 __cdecl SLIST::Remove(class ITER_SL & __ptr64) __ptr64
-?Remove@SLIST@@QEAAPEAXAEAVITER_SL@@@Z
-; public: class DIR_BLOCK * __ptr64 __cdecl SLIST_OF_DIR_BLOCK::Remove(class ITER_SL_DIR_BLOCK & __ptr64) __ptr64
-?Remove@SLIST_OF_DIR_BLOCK@@QEAAPEAVDIR_BLOCK@@AEAVITER_SL_DIR_BLOCK@@@Z
-; public: class NLS_STR * __ptr64 __cdecl SLIST_OF_NLS_STR::Remove(class NLS_STR & __ptr64) __ptr64
-?Remove@SLIST_OF_NLS_STR@@QEAAPEAVNLS_STR@@AEAV2@@Z
-; public: virtual void __cdecl OUTPUT_TO_AUX::Render(unsigned short const * __ptr64) __ptr64
-?Render@OUTPUT_TO_AUX@@UEAAXPEBG@Z
-; public: virtual void __cdecl OUTPUT_TO_AUX::Render(unsigned short const * __ptr64,unsigned int) __ptr64
-?Render@OUTPUT_TO_AUX@@UEAAXPEBGI@Z
-; private: virtual void __cdecl OUTPUT_TO_NUL::Render(unsigned short const * __ptr64) __ptr64
-?Render@OUTPUT_TO_NUL@@EEAAXPEBG@Z
-; private: virtual void __cdecl OUTPUT_TO_NUL::Render(unsigned short const * __ptr64,unsigned int) __ptr64
-?Render@OUTPUT_TO_NUL@@EEAAXPEBGI@Z
-; public: virtual void __cdecl OUTPUT_TO_STDERR::Render(unsigned short const * __ptr64) __ptr64
-?Render@OUTPUT_TO_STDERR@@UEAAXPEBG@Z
-; public: virtual void __cdecl OUTPUT_TO_STDERR::Render(unsigned short const * __ptr64,unsigned int) __ptr64
-?Render@OUTPUT_TO_STDERR@@UEAAXPEBGI@Z
-; public: virtual void __cdecl OUTPUT_TO_STDOUT::Render(unsigned short const * __ptr64) __ptr64
-?Render@OUTPUT_TO_STDOUT@@UEAAXPEBG@Z
-; public: virtual void __cdecl OUTPUT_TO_STDOUT::Render(unsigned short const * __ptr64,unsigned int) __ptr64
-?Render@OUTPUT_TO_STDOUT@@UEAAXPEBGI@Z
-; private: void __cdecl NLS_STR::ReplSubStr(class NLS_STR const & __ptr64,class ISTR & __ptr64,unsigned int) __ptr64
-?ReplSubStr@NLS_STR@@AEAAXAEBV1@AEAVISTR@@I@Z
-; public: void __cdecl NLS_STR::ReplSubStr(class NLS_STR const & __ptr64,class ISTR & __ptr64) __ptr64
-?ReplSubStr@NLS_STR@@QEAAXAEBV1@AEAVISTR@@@Z
-; public: void __cdecl NLS_STR::ReplSubStr(class NLS_STR const & __ptr64,class ISTR & __ptr64,class ISTR const & __ptr64) __ptr64
-?ReplSubStr@NLS_STR@@QEAAXAEBV1@AEAVISTR@@AEBV2@@Z
-; protected: void __cdecl BASE::ReportError(long) __ptr64
-?ReportError@BASE@@IEAAXJ@Z
-; protected: void __cdecl FS_ENUM::ReportLastError(long) __ptr64
-?ReportLastError@FS_ENUM@@IEAAXJ@Z
-; public: void __cdecl DFSITER_TREE::Reset(void) __ptr64
-?Reset@DFSITER_TREE@@QEAAXXZ
-; public: void __cdecl ISTR::Reset(void) __ptr64
-?Reset@ISTR@@QEAAXXZ
-; public: void __cdecl ITER_DL::Reset(void) __ptr64
-?Reset@ITER_DL@@QEAAXXZ
-; public: void __cdecl ITER_SL::Reset(void) __ptr64
-?Reset@ITER_SL@@QEAAXXZ
-; public: int __cdecl NLS_STR::Reset(void) __ptr64
-?Reset@NLS_STR@@QEAAHXZ
-; public: void __cdecl RITER_DL::Reset(void) __ptr64
-?Reset@RITER_DL@@QEAAXXZ
-; protected: void __cdecl BASE::ResetError(void) __ptr64
-?ResetError@BASE@@IEAAXXZ
-; public: long __cdecl BITFIELD::Resize(unsigned int) __ptr64
-?Resize@BITFIELD@@QEAAJI@Z
-; public: long __cdecl BUFFER::Resize(unsigned int) __ptr64
-?Resize@BUFFER@@QEAAJI@Z
-; public: long __cdecl NLS_STR::RtlOemUpcase(void) __ptr64
-?RtlOemUpcase@NLS_STR@@QEAAJXZ
-; private: long __cdecl INTL_PROFILE::ScanLongDate(class NLS_STR * __ptr64)const  __ptr64
-?ScanLongDate@INTL_PROFILE@@AEBAJPEAVNLS_STR@@@Z
-; public: void __cdecl DL_NODE::Set(class DL_NODE * __ptr64,class DL_NODE * __ptr64,void * __ptr64) __ptr64
-?Set@DL_NODE@@QEAAXPEAV1@0PEAX@Z
-; public: long __cdecl LOGON_HOURS_SETTING::Set(class LOGON_HOURS_SETTING const & __ptr64) __ptr64
-?Set@LOGON_HOURS_SETTING@@QEAAJAEBV1@@Z
-; public: void __cdecl SL_NODE::Set(class SL_NODE * __ptr64,void * __ptr64) __ptr64
-?Set@SL_NODE@@QEAAXPEAV1@PEAX@Z
-; public: void __cdecl BITFIELD::SetAllBits(enum BITVALUES) __ptr64
-?SetAllBits@BITFIELD@@QEAAXW4BITVALUES@@@Z
-; public: long __cdecl HEAP_BASE::SetAllocCount(int) __ptr64
-?SetAllocCount@HEAP_BASE@@QEAAJH@Z
-; public: void __cdecl BITFIELD::SetBit(unsigned int,enum BITVALUES) __ptr64
-?SetBit@BITFIELD@@QEAAXIW4BITVALUES@@@Z
-; private: void __cdecl DFSITER_TREE::SetCurDepth(unsigned int) __ptr64
-?SetCurDepth@DFSITER_TREE@@AEAAXI@Z
-; public: static void __cdecl DBGSTREAM::SetCurrent(class DBGSTREAM * __ptr64)
-?SetCurrent@DBGSTREAM@@SAXPEAV1@@Z
-; protected: void __cdecl FS_ENUM::SetCurrentDirBlock(class DIR_BLOCK * __ptr64) __ptr64
-?SetCurrentDirBlock@FS_ENUM@@IEAAXPEAVDIR_BLOCK@@@Z
-; public: long __cdecl WIN_TIME::SetCurrentTime(void) __ptr64
-?SetCurrentTime@WIN_TIME@@QEAAJXZ
-; public: void __cdecl DIR_BLOCK::SetDoBreadthFirstDirs(int) __ptr64
-?SetDoBreadthFirstDirs@DIR_BLOCK@@QEAAXH@Z
-; public: void __cdecl DIR_BLOCK::SetFindFirstFlag(int) __ptr64
-?SetFindFirstFlag@DIR_BLOCK@@QEAAXH@Z
-; private: void __cdecl TREE::SetFirstSubtree(class TREE * __ptr64) __ptr64
-?SetFirstSubtree@TREE@@AEAAXPEAV1@@Z
-; public: long __cdecl LOGON_HOURS_SETTING::SetFromBits(unsigned char const * __ptr64,unsigned int) __ptr64
-?SetFromBits@LOGON_HOURS_SETTING@@QEAAJPEBEI@Z
-; public: long __cdecl WIN_TIME::SetGMT(int) __ptr64
-?SetGMT@WIN_TIME@@QEAAJH@Z
-; public: long __cdecl LOGON_HOURS_SETTING::SetHourInDay(int,unsigned int,unsigned int) __ptr64
-?SetHourInDay@LOGON_HOURS_SETTING@@QEAAJHII@Z
-; public: long __cdecl LOGON_HOURS_SETTING::SetHourInWeek(int,unsigned int) __ptr64
-?SetHourInWeek@LOGON_HOURS_SETTING@@QEAAJHI@Z
-; private: void __cdecl ISTR::SetIch(int) __ptr64
-?SetIch@ISTR@@AEAAXH@Z
-; protected: void __cdecl HEAP_BASE::SetItem(int,void * __ptr64) __ptr64
-?SetItem@HEAP_BASE@@IEAAXHPEAX@Z
-; protected: void __cdecl DLIST::SetIters(class DL_NODE * __ptr64) __ptr64
-?SetIters@DLIST@@IEAAXPEAVDL_NODE@@@Z
-; protected: void __cdecl SLIST::SetIters(class SL_NODE * __ptr64,class SL_NODE * __ptr64) __ptr64
-?SetIters@SLIST@@IEAAXPEAVSL_NODE@@0@Z
-; protected: void __cdecl SLIST::SetIters(class SL_NODE * __ptr64) __ptr64
-?SetIters@SLIST@@IEAAXPEAVSL_NODE@@@Z
-; private: long __cdecl REG_KEY::SetKeyValueBinary(unsigned short const * __ptr64,unsigned char const * __ptr64,long,unsigned long,unsigned long) __ptr64
-?SetKeyValueBinary@REG_KEY@@AEAAJPEBGPEBEJKK@Z
-; private: long __cdecl REG_KEY::SetKeyValueLong(unsigned short const * __ptr64,long,unsigned long) __ptr64
-?SetKeyValueLong@REG_KEY@@AEAAJPEBGJK@Z
-; private: long __cdecl REG_KEY::SetKeyValueString(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,long,unsigned long) __ptr64
-?SetKeyValueString@REG_KEY@@AEAAJPEBG0KJK@Z
-; private: void __cdecl TREE::SetLeft(class TREE * __ptr64) __ptr64
-?SetLeft@TREE@@AEAAXPEAV1@@Z
-; private: void __cdecl DFSITER_TREE::SetMaxDepth(unsigned int) __ptr64
-?SetMaxDepth@DFSITER_TREE@@AEAAXI@Z
-; private: void __cdecl DFSITER_TREE::SetNode(class TREE const * __ptr64) __ptr64
-?SetNode@DFSITER_TREE@@AEAAXPEBVTREE@@@Z
-; private: void __cdecl TREE::SetParent(class TREE * __ptr64) __ptr64
-?SetParent@TREE@@AEAAXPEAV1@@Z
-; public: void __cdecl TREE::SetProp(void * __ptr64 const) __ptr64
-?SetProp@TREE@@QEAAXQEAX@Z
-; private: void __cdecl TREE::SetRight(class TREE * __ptr64) __ptr64
-?SetRight@TREE@@AEAAXPEAV1@@Z
-; public: void __cdecl DBGSTREAM::SetSink(class OUTPUTSINK * __ptr64) __ptr64
-?SetSink@DBGSTREAM@@QEAAXPEAVOUTPUTSINK@@@Z
-; private: void __cdecl DFSITER_TREE::SetStartNode(class TREE const * __ptr64) __ptr64
-?SetStartNode@DFSITER_TREE@@AEAAXPEBVTREE@@@Z
-; public: long __cdecl WIN_TIME::SetTime(unsigned long) __ptr64
-?SetTime@WIN_TIME@@QEAAJK@Z
-; public: long __cdecl WIN_TIME::SetTime(struct _FILETIME) __ptr64
-?SetTime@WIN_TIME@@QEAAJU_FILETIME@@@Z
-; public: long __cdecl WIN_TIME::SetTimeLocal(unsigned long) __ptr64
-?SetTimeLocal@WIN_TIME@@QEAAJK@Z
-; public: long __cdecl WIN_TIME::SetTimeLocal(struct _FILETIME) __ptr64
-?SetTimeLocal@WIN_TIME@@QEAAJU_FILETIME@@@Z
-; public: long __cdecl REG_KEY::SetValue(class REG_VALUE_INFO_STRUCT * __ptr64) __ptr64
-?SetValue@REG_KEY@@QEAAJPEAVREG_VALUE_INFO_STRUCT@@@Z
-; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long const * __ptr64,int) __ptr64
-?SetValue@REG_KEY@@QEAAJPEBG0KPEBKH@Z
-; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,unsigned long,unsigned long const * __ptr64) __ptr64
-?SetValue@REG_KEY@@QEAAJPEBGKPEBK@Z
-; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,unsigned char const * __ptr64,long,unsigned long const * __ptr64) __ptr64
-?SetValue@REG_KEY@@QEAAJPEBGPEBEJPEBK@Z
-; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,class NLS_STR const * __ptr64,unsigned long const * __ptr64,int) __ptr64
-?SetValue@REG_KEY@@QEAAJPEBGPEBVNLS_STR@@PEBKH@Z
-; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,class STRLIST const * __ptr64,unsigned long const * __ptr64) __ptr64
-?SetValue@REG_KEY@@QEAAJPEBGPEBVSTRLIST@@PEBK@Z
-; protected: int __cdecl FS_ENUM::ShouldThisFileBeIncluded(unsigned int)const  __ptr64
-?ShouldThisFileBeIncluded@FS_ENUM@@IEBAHI@Z
-; public: static long __cdecl UATOM_MANAGER::Terminate(void)
-?Terminate@UATOM_MANAGER@@SAJXZ
-; private: class UATOM * __ptr64 __cdecl UATOM_MANAGER::Tokenize(unsigned short const * __ptr64,int) __ptr64
-?Tokenize@UATOM_MANAGER@@AEAAPEAVUATOM@@PEBGH@Z
-; public: void __cdecl BUFFER::Trim(void) __ptr64
-?Trim@BUFFER@@QEAAXXZ
-; public: void __cdecl HEAP_BASE::Trim(void) __ptr64
-?Trim@HEAP_BASE@@QEAAXXZ
-; void __cdecl UIAssertCommand(char const * __ptr64)
-?UIAssertCommand@@YAXPEBD@Z
-; void __cdecl UIAssertHlp(char const * __ptr64,char const * __ptr64,unsigned int)
-?UIAssertHlp@@YAXPEBD0I@Z
-; void __cdecl UIAssertHlp(char const * __ptr64,unsigned int)
-?UIAssertHlp@@YAXPEBDI@Z
-; protected: void * __ptr64 __cdecl DLIST::Unlink(class DL_NODE * __ptr64) __ptr64
-?Unlink@DLIST@@IEAAPEAXPEAVDL_NODE@@@Z
-; protected: void __cdecl TREE::Unlink(void) __ptr64
-?Unlink@TREE@@IEAAXXZ
-; public: void __cdecl UATOM_LINKAGE::Unlink(void) __ptr64
-?Unlink@UATOM_LINKAGE@@QEAAXXZ
-; private: void __cdecl NLS_STR::UpdateIstr(class ISTR * __ptr64)const  __ptr64
-?UpdateIstr@NLS_STR@@AEBAXPEAVISTR@@@Z
-; public: int __cdecl STRLIST::WriteToBuffer(unsigned short * __ptr64,int,unsigned short * __ptr64) __ptr64
-?WriteToBuffer@STRLIST@@QEAAHPEAGH0@Z
-; public: void __cdecl DLIST::_DebugPrint(void)const  __ptr64
-?_DebugPrint@DLIST@@QEBAXXZ
-; public: void __cdecl SLIST::_DebugPrint(void)const  __ptr64
-?_DebugPrint@SLIST@@QEBAXXZ
-; public: void __cdecl TREE::_DebugPrint(void)const  __ptr64
-?_DebugPrint@TREE@@QEBAXXZ
-; public: int __cdecl NLS_STR::_IsOwnerAlloc(void)const  __ptr64
-?_IsOwnerAlloc@NLS_STR@@QEBAHXZ
-; public: unsigned int __cdecl NLS_STR::_QueryAllocSize(void)const  __ptr64
-?_QueryAllocSize@NLS_STR@@QEBAIXZ
-; public: unsigned short const * __ptr64 __cdecl NLS_STR::_QueryPch(void)const  __ptr64
-?_QueryPch@NLS_STR@@QEBAPEBGXZ
-; public: unsigned int __cdecl NLS_STR::_QueryTextLength(void)const  __ptr64
-?_QueryTextLength@NLS_STR@@QEBAIXZ
-; protected: void __cdecl BASE::_ReportError(long) __ptr64
-?_ReportError@BASE@@IEAAXJ@Z
-; public: int __cdecl NLS_STR::_stricmp(class NLS_STR const & __ptr64)const  __ptr64
-?_stricmp@NLS_STR@@QEBAHAEBV1@@Z
-; public: int __cdecl NLS_STR::_stricmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?_stricmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@1@Z
-; public: int __cdecl NLS_STR::_stricmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?_stricmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@@Z
-; public: int __cdecl NLS_STR::_strnicmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?_strnicmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@11@Z
-; public: int __cdecl NLS_STR::_strnicmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?_strnicmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@1@Z
-; public: int __cdecl NLS_STR::_strnicmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?_strnicmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@@Z
-; public: class NLS_STR & __ptr64 __cdecl NLS_STR::_strupr(void) __ptr64
-?_strupr@NLS_STR@@QEAAAEAV1@XZ
-; public: int __cdecl NLS_STR::atoi(class ISTR const & __ptr64)const  __ptr64
-?atoi@NLS_STR@@QEBAHAEBVISTR@@@Z
-; public: int __cdecl NLS_STR::atoi(void)const  __ptr64
-?atoi@NLS_STR@@QEBAHXZ
-; public: long __cdecl NLS_STR::atol(class ISTR const & __ptr64)const  __ptr64
-?atol@NLS_STR@@QEBAJAEBVISTR@@@Z
-; public: long __cdecl NLS_STR::atol(void)const  __ptr64
-?atol@NLS_STR@@QEBAJXZ
-; public: unsigned long __cdecl NLS_STR::atoul(class ISTR const & __ptr64)const  __ptr64
-?atoul@NLS_STR@@QEBAKAEBVISTR@@@Z
-; public: unsigned long __cdecl NLS_STR::atoul(void)const  __ptr64
-?atoul@NLS_STR@@QEBAKXZ
-; public: class NLS_STR & __ptr64 __cdecl NLS_STR::strcat(class NLS_STR const & __ptr64) __ptr64
-?strcat@NLS_STR@@QEAAAEAV1@AEBV1@@Z
-; public: int __cdecl NLS_STR::strchr(class ISTR * __ptr64,unsigned short)const  __ptr64
-?strchr@NLS_STR@@QEBAHPEAVISTR@@G@Z
-; public: int __cdecl NLS_STR::strchr(class ISTR * __ptr64,unsigned short,class ISTR const & __ptr64)const  __ptr64
-?strchr@NLS_STR@@QEBAHPEAVISTR@@GAEBV2@@Z
-; public: int __cdecl NLS_STR::strcmp(class NLS_STR const & __ptr64)const  __ptr64
-?strcmp@NLS_STR@@QEBAHAEBV1@@Z
-; public: int __cdecl NLS_STR::strcmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?strcmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@1@Z
-; public: int __cdecl NLS_STR::strcmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?strcmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@@Z
-; unsigned short * __ptr64 __cdecl strcpy(unsigned short * __ptr64,class NLS_STR const & __ptr64)
-?strcpy@@YAPEAGPEAGAEBVNLS_STR@@@Z
-; public: int __cdecl NLS_STR::strcspn(class ISTR * __ptr64,class NLS_STR const & __ptr64)const  __ptr64
-?strcspn@NLS_STR@@QEBAHPEAVISTR@@AEBV1@@Z
-; public: int __cdecl NLS_STR::strcspn(class ISTR * __ptr64,class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?strcspn@NLS_STR@@QEBAHPEAVISTR@@AEBV1@AEBV2@@Z
-; public: unsigned int __cdecl NLS_STR::strlen(void)const  __ptr64
-?strlen@NLS_STR@@QEBAIXZ
-; public: int __cdecl NLS_STR::strncmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?strncmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@11@Z
-; public: int __cdecl NLS_STR::strncmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?strncmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@1@Z
-; public: int __cdecl NLS_STR::strncmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?strncmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@@Z
-; public: int __cdecl NLS_STR::strrchr(class ISTR * __ptr64,unsigned short)const  __ptr64
-?strrchr@NLS_STR@@QEBAHPEAVISTR@@G@Z
-; public: int __cdecl NLS_STR::strrchr(class ISTR * __ptr64,unsigned short,class ISTR const & __ptr64)const  __ptr64
-?strrchr@NLS_STR@@QEBAHPEAVISTR@@GAEBV2@@Z
-; public: int __cdecl NLS_STR::strspn(class ISTR * __ptr64,class NLS_STR const & __ptr64)const  __ptr64
-?strspn@NLS_STR@@QEBAHPEAVISTR@@AEBV1@@Z
-; public: int __cdecl NLS_STR::strspn(class ISTR * __ptr64,class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?strspn@NLS_STR@@QEBAHPEAVISTR@@AEBV1@AEBV2@@Z
-; public: int __cdecl NLS_STR::strstr(class ISTR * __ptr64,class NLS_STR const & __ptr64)const  __ptr64
-?strstr@NLS_STR@@QEBAHPEAVISTR@@AEBV1@@Z
-; public: int __cdecl NLS_STR::strstr(class ISTR * __ptr64,class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
-?strstr@NLS_STR@@QEBAHPEAVISTR@@AEBV1@AEBV2@@Z
-; public: virtual void * __ptr64 __cdecl ITER_DL::vNext(void) __ptr64
-?vNext@ITER_DL@@UEAAPEAXXZ
-; public: virtual void * __ptr64 __cdecl RITER_DL::vNext(void) __ptr64
-?vNext@RITER_DL@@UEAAPEAXXZ
-InitCompareParam
-NETUI_InitIsDBCS
-NETUI_IsDBCS
-NETUI_strcmp
-NETUI_stricmp
-NETUI_strncmp
-NETUI_strncmp2
-NETUI_strnicmp
-NETUI_strnicmp2
-QueryNocaseCompareParam
-QueryStdCompareParam
-QueryUserDefaultLCID
-UserPreferenceQuery
-UserPreferenceQueryBool
-UserPreferenceSet
-UserPreferenceSetBool
-UserProfileEnum
-UserProfileFree
-UserProfileInit
-UserProfileQuery
-UserProfileRead
-UserProfileSet
-UserProfileWrite
+; 
+; Exports of file NETUI0.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETUI0.dll
+EXPORTS
+; public: __cdecl ALIAS_STR::ALIAS_STR(unsigned short const * __ptr64) __ptr64
+??0ALIAS_STR@@QEAA@PEBG@Z
+; public: __cdecl ALLOC_STR::ALLOC_STR(unsigned short * __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
+??0ALLOC_STR@@QEAA@PEAGIPEBG@Z
+; protected: __cdecl BASE::BASE(void) __ptr64
+??0BASE@@IEAA@XZ
+; public: __cdecl BITFIELD::BITFIELD(class BITFIELD const & __ptr64) __ptr64
+??0BITFIELD@@QEAA@AEBV0@@Z
+; public: __cdecl BITFIELD::BITFIELD(unsigned short) __ptr64
+??0BITFIELD@@QEAA@G@Z
+; public: __cdecl BITFIELD::BITFIELD(unsigned int,enum BITVALUES) __ptr64
+??0BITFIELD@@QEAA@IW4BITVALUES@@@Z
+; public: __cdecl BITFIELD::BITFIELD(unsigned long) __ptr64
+??0BITFIELD@@QEAA@K@Z
+; public: __cdecl BITFIELD::BITFIELD(unsigned char const * __ptr64,unsigned int,unsigned int) __ptr64
+??0BITFIELD@@QEAA@PEBEII@Z
+; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
+??0BUFFER@@QEAA@I@Z
+; public: __cdecl CHAR_STRING::CHAR_STRING(unsigned short const * __ptr64,unsigned int) __ptr64
+??0CHAR_STRING@@QEAA@PEBGI@Z
+; public: __cdecl DBGSTREAM::DBGSTREAM(class OUTPUTSINK * __ptr64) __ptr64
+??0DBGSTREAM@@QEAA@PEAVOUTPUTSINK@@@Z
+; public: __cdecl DEC_STR::DEC_STR(unsigned long,unsigned int) __ptr64
+??0DEC_STR@@QEAA@KI@Z
+; public: __cdecl DFSITER_TREE::DFSITER_TREE(class DFSITER_TREE const * __ptr64) __ptr64
+??0DFSITER_TREE@@QEAA@PEBV0@@Z
+; public: __cdecl DFSITER_TREE::DFSITER_TREE(class TREE const * __ptr64,unsigned int) __ptr64
+??0DFSITER_TREE@@QEAA@PEBVTREE@@I@Z
+; public: __cdecl DIR_BLOCK::DIR_BLOCK(void) __ptr64
+??0DIR_BLOCK@@QEAA@XZ
+; public: __cdecl DLIST::DLIST(void) __ptr64
+??0DLIST@@QEAA@XZ
+; public: __cdecl DL_NODE::DL_NODE(class DL_NODE * __ptr64,class DL_NODE * __ptr64,void * __ptr64) __ptr64
+??0DL_NODE@@QEAA@PEAV0@0PEAX@Z
+; public: __cdecl ELAPSED_TIME_STR::ELAPSED_TIME_STR(unsigned long,unsigned short,int) __ptr64
+??0ELAPSED_TIME_STR@@QEAA@KGH@Z
+; public: __cdecl FMX::FMX(struct HWND__ * __ptr64) __ptr64
+??0FMX@@QEAA@PEAUHWND__@@@Z
+; protected: __cdecl FORWARDING_BASE::FORWARDING_BASE(class BASE * __ptr64) __ptr64
+??0FORWARDING_BASE@@IEAA@PEAVBASE@@@Z
+; protected: __cdecl FS_ENUM::FS_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,enum FILE_TYPE,int,unsigned int) __ptr64
+??0FS_ENUM@@IEAA@PEBG0W4FILE_TYPE@@HI@Z
+; protected: __cdecl HEAP_BASE::HEAP_BASE(int,int) __ptr64
+??0HEAP_BASE@@IEAA@HH@Z
+; public: __cdecl HEX_STR::HEX_STR(unsigned long,unsigned int) __ptr64
+??0HEX_STR@@QEAA@KI@Z
+; public: __cdecl HUATOM::HUATOM(unsigned short const * __ptr64,int) __ptr64
+??0HUATOM@@QEAA@PEBGH@Z
+; public: __cdecl INTL_PROFILE::INTL_PROFILE(void) __ptr64
+??0INTL_PROFILE@@QEAA@XZ
+; public: __cdecl ISTR::ISTR(class ISTR const & __ptr64) __ptr64
+??0ISTR@@QEAA@AEBV0@@Z
+; public: __cdecl ISTR::ISTR(class NLS_STR const & __ptr64) __ptr64
+??0ISTR@@QEAA@AEBVNLS_STR@@@Z
+; public: __cdecl ITER_DL::ITER_DL(class ITER_DL const & __ptr64) __ptr64
+??0ITER_DL@@QEAA@AEBV0@@Z
+; public: __cdecl ITER_DL::ITER_DL(class DLIST * __ptr64) __ptr64
+??0ITER_DL@@QEAA@PEAVDLIST@@@Z
+; public: __cdecl ITER_L::ITER_L(void) __ptr64
+??0ITER_L@@QEAA@XZ
+; public: __cdecl ITER_SL::ITER_SL(class ITER_SL const & __ptr64) __ptr64
+??0ITER_SL@@QEAA@AEBV0@@Z
+; public: __cdecl ITER_SL::ITER_SL(class SLIST * __ptr64) __ptr64
+??0ITER_SL@@QEAA@PEAVSLIST@@@Z
+; public: __cdecl ITER_SL_DIR_BLOCK::ITER_SL_DIR_BLOCK(class SLIST & __ptr64) __ptr64
+??0ITER_SL_DIR_BLOCK@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl ITER_SL_NLS_STR::ITER_SL_NLS_STR(class SLIST & __ptr64) __ptr64
+??0ITER_SL_NLS_STR@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl ITER_SL_NLS_STR::ITER_SL_NLS_STR(class ITER_SL_NLS_STR const & __ptr64) __ptr64
+??0ITER_SL_NLS_STR@@QEAA@AEBV0@@Z
+; public: __cdecl ITER_STRLIST::ITER_STRLIST(class STRLIST & __ptr64) __ptr64
+??0ITER_STRLIST@@QEAA@AEAVSTRLIST@@@Z
+; public: __cdecl ITER_STRLIST::ITER_STRLIST(class ITER_STRLIST const & __ptr64) __ptr64
+??0ITER_STRLIST@@QEAA@AEBV0@@Z
+; public: __cdecl LOGON_HOURS_SETTING::LOGON_HOURS_SETTING(class LOGON_HOURS_SETTING const & __ptr64) __ptr64
+??0LOGON_HOURS_SETTING@@QEAA@AEBV0@@Z
+; public: __cdecl LOGON_HOURS_SETTING::LOGON_HOURS_SETTING(unsigned char const * __ptr64,unsigned int) __ptr64
+??0LOGON_HOURS_SETTING@@QEAA@PEBEI@Z
+; protected: __cdecl NLS_STR::NLS_STR(unsigned short * __ptr64,unsigned int,int) __ptr64
+??0NLS_STR@@IEAA@PEAGIH@Z
+; public: __cdecl NLS_STR::NLS_STR(class NLS_STR const & __ptr64) __ptr64
+??0NLS_STR@@QEAA@AEBV0@@Z
+; public: __cdecl NLS_STR::NLS_STR(unsigned int) __ptr64
+??0NLS_STR@@QEAA@I@Z
+; public: __cdecl NLS_STR::NLS_STR(unsigned short const * __ptr64) __ptr64
+??0NLS_STR@@QEAA@PEBG@Z
+; public: __cdecl NLS_STR::NLS_STR(unsigned short const * __ptr64,unsigned short) __ptr64
+??0NLS_STR@@QEAA@PEBGG@Z
+; public: __cdecl NLS_STR::NLS_STR(void) __ptr64
+??0NLS_STR@@QEAA@XZ
+; public: __cdecl NUM_NLS_STR::NUM_NLS_STR(unsigned long) __ptr64
+??0NUM_NLS_STR@@QEAA@K@Z
+; public: __cdecl ONE_SHOT_HEAP::ONE_SHOT_HEAP(unsigned int,int) __ptr64
+??0ONE_SHOT_HEAP@@QEAA@IH@Z
+; public: __cdecl REG_KEY::REG_KEY(class REG_KEY & __ptr64) __ptr64
+??0REG_KEY@@QEAA@AEAV0@@Z
+; public: __cdecl REG_KEY::REG_KEY(class REG_KEY & __ptr64,class NLS_STR const & __ptr64,unsigned long) __ptr64
+??0REG_KEY@@QEAA@AEAV0@AEBVNLS_STR@@K@Z
+; public: __cdecl REG_KEY::REG_KEY(class REG_KEY & __ptr64,class NLS_STR const & __ptr64,class REG_KEY_CREATE_STRUCT * __ptr64) __ptr64
+??0REG_KEY@@QEAA@AEAV0@AEBVNLS_STR@@PEAVREG_KEY_CREATE_STRUCT@@@Z
+; public: __cdecl REG_KEY::REG_KEY(class NLS_STR const & __ptr64,unsigned long) __ptr64
+??0REG_KEY@@QEAA@AEBVNLS_STR@@K@Z
+; public: __cdecl REG_KEY::REG_KEY(struct HKEY__ * __ptr64,unsigned long) __ptr64
+??0REG_KEY@@QEAA@PEAUHKEY__@@K@Z
+; public: __cdecl REG_KEY::REG_KEY(struct HKEY__ * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0REG_KEY@@QEAA@PEAUHKEY__@@PEBGK@Z
+; public: __cdecl REG_KEY_CREATE_STRUCT::REG_KEY_CREATE_STRUCT(void) __ptr64
+??0REG_KEY_CREATE_STRUCT@@QEAA@XZ
+; public: __cdecl REG_KEY_INFO_STRUCT::REG_KEY_INFO_STRUCT(void) __ptr64
+??0REG_KEY_INFO_STRUCT@@QEAA@XZ
+; public: __cdecl REG_VALUE_INFO_STRUCT::REG_VALUE_INFO_STRUCT(void) __ptr64
+??0REG_VALUE_INFO_STRUCT@@QEAA@XZ
+; public: __cdecl RESOURCE_STR::RESOURCE_STR(long,struct HINSTANCE__ * __ptr64) __ptr64
+??0RESOURCE_STR@@QEAA@JPEAUHINSTANCE__@@@Z
+; public: __cdecl RITER_DL::RITER_DL(class RITER_DL const & __ptr64) __ptr64
+??0RITER_DL@@QEAA@AEBV0@@Z
+; public: __cdecl RITER_DL::RITER_DL(class DLIST * __ptr64) __ptr64
+??0RITER_DL@@QEAA@PEAVDLIST@@@Z
+; public: __cdecl SLIST::SLIST(void) __ptr64
+??0SLIST@@QEAA@XZ
+; public: __cdecl SLIST_OF_DIR_BLOCK::SLIST_OF_DIR_BLOCK(int) __ptr64
+??0SLIST_OF_DIR_BLOCK@@QEAA@H@Z
+; public: __cdecl SLIST_OF_NLS_STR::SLIST_OF_NLS_STR(int) __ptr64
+??0SLIST_OF_NLS_STR@@QEAA@H@Z
+; public: __cdecl SL_NODE::SL_NODE(class SL_NODE * __ptr64,void * __ptr64) __ptr64
+??0SL_NODE@@QEAA@PEAV0@PEAX@Z
+; public: __cdecl STRLIST::STRLIST(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,int) __ptr64
+??0STRLIST@@QEAA@AEBVNLS_STR@@0H@Z
+; public: __cdecl STRLIST::STRLIST(int) __ptr64
+??0STRLIST@@QEAA@H@Z
+; public: __cdecl STRLIST::STRLIST(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+??0STRLIST@@QEAA@PEBG0H@Z
+; public: __cdecl TCHAR_STR::TCHAR_STR(unsigned short) __ptr64
+??0TCHAR_STR@@QEAA@G@Z
+; public: __cdecl TCHAR_STR_IMPL::TCHAR_STR_IMPL(unsigned short) __ptr64
+??0TCHAR_STR_IMPL@@QEAA@G@Z
+; public: __cdecl TREE::TREE(void * __ptr64) __ptr64
+??0TREE@@QEAA@PEAX@Z
+; public: __cdecl UATOM::UATOM(class NLS_STR & __ptr64) __ptr64
+??0UATOM@@QEAA@AEAVNLS_STR@@@Z
+; public: __cdecl UATOM_LINKAGE::UATOM_LINKAGE(void) __ptr64
+??0UATOM_LINKAGE@@QEAA@XZ
+; private: __cdecl UATOM_MANAGER::UATOM_MANAGER(void) __ptr64
+??0UATOM_MANAGER@@AEAA@XZ
+; public: __cdecl UATOM_REGION::UATOM_REGION(void) __ptr64
+??0UATOM_REGION@@QEAA@XZ
+; public: __cdecl W32_DIR_BLOCK::W32_DIR_BLOCK(void) __ptr64
+??0W32_DIR_BLOCK@@QEAA@XZ
+; public: __cdecl W32_FS_ENUM::W32_FS_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,enum FILE_TYPE,int,unsigned int) __ptr64
+??0W32_FS_ENUM@@QEAA@PEBG0W4FILE_TYPE@@HI@Z
+; public: __cdecl WCHAR_STRING::WCHAR_STRING(char const * __ptr64,unsigned int) __ptr64
+??0WCHAR_STRING@@QEAA@PEBDI@Z
+; public: __cdecl WIN_TIME::WIN_TIME(int) __ptr64
+??0WIN_TIME@@QEAA@H@Z
+; public: __cdecl WIN_TIME::WIN_TIME(unsigned long,int) __ptr64
+??0WIN_TIME@@QEAA@KH@Z
+; public: __cdecl WIN_TIME::WIN_TIME(struct _FILETIME,int) __ptr64
+??0WIN_TIME@@QEAA@U_FILETIME@@H@Z
+; public: __cdecl ALIAS_STR::~ALIAS_STR(void) __ptr64
+??1ALIAS_STR@@QEAA@XZ
+; public: __cdecl BITFIELD::~BITFIELD(void) __ptr64
+??1BITFIELD@@QEAA@XZ
+; public: __cdecl BUFFER::~BUFFER(void) __ptr64
+??1BUFFER@@QEAA@XZ
+; public: __cdecl CHAR_STRING::~CHAR_STRING(void) __ptr64
+??1CHAR_STRING@@QEAA@XZ
+; public: __cdecl DBGSTREAM::~DBGSTREAM(void) __ptr64
+??1DBGSTREAM@@QEAA@XZ
+; public: __cdecl DEC_STR::~DEC_STR(void) __ptr64
+??1DEC_STR@@QEAA@XZ
+; public: __cdecl DFSITER_TREE::~DFSITER_TREE(void) __ptr64
+??1DFSITER_TREE@@QEAA@XZ
+; public: virtual __cdecl DIR_BLOCK::~DIR_BLOCK(void) __ptr64
+??1DIR_BLOCK@@UEAA@XZ
+; public: __cdecl DLIST::~DLIST(void) __ptr64
+??1DLIST@@QEAA@XZ
+; public: __cdecl ELAPSED_TIME_STR::~ELAPSED_TIME_STR(void) __ptr64
+??1ELAPSED_TIME_STR@@QEAA@XZ
+; public: virtual __cdecl FS_ENUM::~FS_ENUM(void) __ptr64
+??1FS_ENUM@@UEAA@XZ
+; protected: __cdecl HEAP_BASE::~HEAP_BASE(void) __ptr64
+??1HEAP_BASE@@IEAA@XZ
+; public: __cdecl ITER_DL::~ITER_DL(void) __ptr64
+??1ITER_DL@@QEAA@XZ
+; public: __cdecl ITER_SL::~ITER_SL(void) __ptr64
+??1ITER_SL@@QEAA@XZ
+; public: __cdecl ITER_SL_DIR_BLOCK::~ITER_SL_DIR_BLOCK(void) __ptr64
+??1ITER_SL_DIR_BLOCK@@QEAA@XZ
+; public: __cdecl ITER_SL_NLS_STR::~ITER_SL_NLS_STR(void) __ptr64
+??1ITER_SL_NLS_STR@@QEAA@XZ
+; public: __cdecl ITER_STRLIST::~ITER_STRLIST(void) __ptr64
+??1ITER_STRLIST@@QEAA@XZ
+; public: __cdecl LOGON_HOURS_SETTING::~LOGON_HOURS_SETTING(void) __ptr64
+??1LOGON_HOURS_SETTING@@QEAA@XZ
+; public: __cdecl NLS_STR::~NLS_STR(void) __ptr64
+??1NLS_STR@@QEAA@XZ
+; public: __cdecl REG_KEY::~REG_KEY(void) __ptr64
+??1REG_KEY@@QEAA@XZ
+; public: __cdecl REG_KEY_INFO_STRUCT::~REG_KEY_INFO_STRUCT(void) __ptr64
+??1REG_KEY_INFO_STRUCT@@QEAA@XZ
+; public: __cdecl REG_VALUE_INFO_STRUCT::~REG_VALUE_INFO_STRUCT(void) __ptr64
+??1REG_VALUE_INFO_STRUCT@@QEAA@XZ
+; public: __cdecl RITER_DL::~RITER_DL(void) __ptr64
+??1RITER_DL@@QEAA@XZ
+; public: __cdecl SLIST::~SLIST(void) __ptr64
+??1SLIST@@QEAA@XZ
+; public: __cdecl SLIST_OF_DIR_BLOCK::~SLIST_OF_DIR_BLOCK(void) __ptr64
+??1SLIST_OF_DIR_BLOCK@@QEAA@XZ
+; public: __cdecl SLIST_OF_NLS_STR::~SLIST_OF_NLS_STR(void) __ptr64
+??1SLIST_OF_NLS_STR@@QEAA@XZ
+; public: __cdecl STRLIST::~STRLIST(void) __ptr64
+??1STRLIST@@QEAA@XZ
+; public: __cdecl TCHAR_STR::~TCHAR_STR(void) __ptr64
+??1TCHAR_STR@@QEAA@XZ
+; public: __cdecl TREE::~TREE(void) __ptr64
+??1TREE@@QEAA@XZ
+; public: __cdecl UATOM::~UATOM(void) __ptr64
+??1UATOM@@QEAA@XZ
+; public: __cdecl UATOM_LINKAGE::~UATOM_LINKAGE(void) __ptr64
+??1UATOM_LINKAGE@@QEAA@XZ
+; private: __cdecl UATOM_MANAGER::~UATOM_MANAGER(void) __ptr64
+??1UATOM_MANAGER@@AEAA@XZ
+; public: __cdecl UATOM_REGION::~UATOM_REGION(void) __ptr64
+??1UATOM_REGION@@QEAA@XZ
+; public: virtual __cdecl W32_DIR_BLOCK::~W32_DIR_BLOCK(void) __ptr64
+??1W32_DIR_BLOCK@@UEAA@XZ
+; public: virtual __cdecl W32_FS_ENUM::~W32_FS_ENUM(void) __ptr64
+??1W32_FS_ENUM@@UEAA@XZ
+; public: __cdecl WCHAR_STRING::~WCHAR_STRING(void) __ptr64
+??1WCHAR_STRING@@QEAA@XZ
+; public: static void * __ptr64 __cdecl ALLOC_BASE::operator new(unsigned __int64)
+??2ALLOC_BASE@@SAPEAX_K@Z
+; public: static void * __ptr64 __cdecl ALLOC_BASE::operator new(unsigned __int64,void * __ptr64)
+??2ALLOC_BASE@@SAPEAX_KPEAX@Z
+; public: static void __cdecl ALLOC_BASE::operator delete(void * __ptr64)
+??3ALLOC_BASE@@SAXPEAX@Z
+; public: class ALIAS_STR const & __ptr64 __cdecl ALIAS_STR::operator=(class NLS_STR const & __ptr64) __ptr64
+??4ALIAS_STR@@QEAAAEBV0@AEBVNLS_STR@@@Z
+; public: class ALIAS_STR const & __ptr64 __cdecl ALIAS_STR::operator=(unsigned short const * __ptr64) __ptr64
+??4ALIAS_STR@@QEAAAEBV0@PEBG@Z
+; public: class ALLOC_STR & __ptr64 __cdecl ALLOC_STR::operator=(unsigned short const * __ptr64) __ptr64
+??4ALLOC_STR@@QEAAAEAV0@PEBG@Z
+; public: class BITFIELD & __ptr64 __cdecl BITFIELD::operator=(class BITFIELD const & __ptr64) __ptr64
+??4BITFIELD@@QEAAAEAV0@AEBV0@@Z
+; public: class BITFIELD & __ptr64 __cdecl BITFIELD::operator=(unsigned short) __ptr64
+??4BITFIELD@@QEAAAEAV0@G@Z
+; public: class BITFIELD & __ptr64 __cdecl BITFIELD::operator=(unsigned long) __ptr64
+??4BITFIELD@@QEAAAEAV0@K@Z
+; public: class ISTR & __ptr64 __cdecl ISTR::operator=(class ISTR const & __ptr64) __ptr64
+??4ISTR@@QEAAAEAV0@AEBV0@@Z
+; public: class NLS_STR & __ptr64 __cdecl NLS_STR::operator=(class NLS_STR const & __ptr64) __ptr64
+??4NLS_STR@@QEAAAEAV0@AEBV0@@Z
+; public: class NLS_STR & __ptr64 __cdecl NLS_STR::operator=(unsigned short const * __ptr64) __ptr64
+??4NLS_STR@@QEAAAEAV0@PEBG@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(char) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@D@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(short) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@F@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned short) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@G@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(int) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@H@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned int) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@I@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(long) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@J@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned long) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@K@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(char const * __ptr64) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@PEBD@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned short const * __ptr64) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@PEBG@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(enum DBGSTR_SPECIAL) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@W4DBGSTR_SPECIAL@@@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(__int64) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@_J@Z
+; public: class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::operator<<(unsigned __int64) __ptr64
+??6DBGSTREAM@@QEAAAEAV0@_K@Z
+; public: int __cdecl BASE::operator!(void)const  __ptr64
+??7BASE@@QEBAHXZ
+; public: int __cdecl BITFIELD::operator==(class BITFIELD & __ptr64) __ptr64
+??8BITFIELD@@QEAAHAEAV0@@Z
+; public: int __cdecl BITFIELD::operator==(unsigned short)const  __ptr64
+??8BITFIELD@@QEBAHG@Z
+; public: int __cdecl BITFIELD::operator==(unsigned long)const  __ptr64
+??8BITFIELD@@QEBAHK@Z
+; public: int __cdecl ISTR::operator==(class ISTR const & __ptr64)const  __ptr64
+??8ISTR@@QEBAHAEBV0@@Z
+; public: int __cdecl NLS_STR::operator==(class NLS_STR const & __ptr64)const  __ptr64
+??8NLS_STR@@QEBAHAEBV0@@Z
+; public: int __cdecl NLS_STR::operator!=(class NLS_STR const & __ptr64)const  __ptr64
+??9NLS_STR@@QEBAHAEBV0@@Z
+; public: __cdecl BITFIELD::operator unsigned short(void) __ptr64
+??BBITFIELD@@QEAAGXZ
+; public: __cdecl BITFIELD::operator unsigned long(void) __ptr64
+??BBITFIELD@@QEAAKXZ
+; public: __cdecl NLS_STR::operator unsigned short const * __ptr64(void)const  __ptr64
+??BNLS_STR@@QEBAPEBGXZ
+; public: __cdecl REG_KEY::operator struct HKEY__ * __ptr64(void)const  __ptr64
+??BREG_KEY@@QEBAPEAUHKEY__@@XZ
+; public: __cdecl TCHAR_STR::operator class ALIAS_STR const & __ptr64(void) __ptr64
+??BTCHAR_STR@@QEAAAEBVALIAS_STR@@XZ
+; public: class ISTR & __ptr64 __cdecl ISTR::operator++(void) __ptr64
+??EISTR@@QEAAAEAV0@XZ
+; public: int __cdecl ISTR::operator-(class ISTR const & __ptr64)const  __ptr64
+??GISTR@@QEBAHAEBV0@@Z
+; public: int __cdecl BITFIELD::operator&(class BITFIELD const & __ptr64) __ptr64
+??IBITFIELD@@QEAAHAEBV0@@Z
+; public: int __cdecl ISTR::operator<(class ISTR const & __ptr64)const  __ptr64
+??MISTR@@QEBAHAEBV0@@Z
+; public: int __cdecl ISTR::operator>(class ISTR const & __ptr64)const  __ptr64
+??OISTR@@QEBAHAEBV0@@Z
+; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::operator()(void) __ptr64
+??RITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
+; public: void __cdecl ISTR::operator+=(int) __ptr64
+??YISTR@@QEAAXH@Z
+; public: class NLS_STR & __ptr64 __cdecl NLS_STR::operator+=(class NLS_STR const & __ptr64) __ptr64
+??YNLS_STR@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl BITFIELD::operator&=(class BITFIELD const & __ptr64) __ptr64
+??_4BITFIELD@@QEAAXAEBV0@@Z
+; public: void __cdecl BITFIELD::operator&=(unsigned short) __ptr64
+??_4BITFIELD@@QEAAXG@Z
+; public: void __cdecl BITFIELD::operator&=(unsigned long) __ptr64
+??_4BITFIELD@@QEAAXK@Z
+; public: void __cdecl BITFIELD::operator|=(class BITFIELD const & __ptr64) __ptr64
+??_5BITFIELD@@QEAAXAEBV0@@Z
+; public: void __cdecl BITFIELD::operator|=(unsigned short) __ptr64
+??_5BITFIELD@@QEAAXG@Z
+; public: void __cdecl BITFIELD::operator|=(unsigned long) __ptr64
+??_5BITFIELD@@QEAAXK@Z
+; void __cdecl `vector constructor iterator'(void * __ptr64,unsigned __int64,int,void * __ptr64 (__cdecl*)(void * __ptr64))
+??_H@YAXPEAX_KHP6APEAX0@Z@Z
+; void __cdecl `vector destructor iterator'(void * __ptr64,unsigned __int64,int,void (__cdecl*)(void * __ptr64))
+??_I@YAXPEAX_KHP6AX0@Z@Z
+; void __cdecl `vector vbase constructor iterator'(void * __ptr64,unsigned __int64,int,void * __ptr64 (__cdecl*)(void * __ptr64))
+??_J@YAXPEAX_KHP6APEAX0@Z@Z
+; public: long __cdecl DLIST::Add(void * __ptr64) __ptr64
+?Add@DLIST@@QEAAJPEAX@Z
+; public: long __cdecl SLIST::Add(void * __ptr64) __ptr64
+?Add@SLIST@@QEAAJPEAX@Z
+; public: long __cdecl SLIST_OF_DIR_BLOCK::Add(class DIR_BLOCK const * __ptr64) __ptr64
+?Add@SLIST_OF_DIR_BLOCK@@QEAAJPEBVDIR_BLOCK@@@Z
+; public: long __cdecl SLIST_OF_NLS_STR::Add(class NLS_STR const * __ptr64) __ptr64
+?Add@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
+; private: int __cdecl NLS_STR::Alloc(unsigned int) __ptr64
+?Alloc@NLS_STR@@AEAAHI@Z
+; public: unsigned char * __ptr64 __cdecl ONE_SHOT_HEAP::Alloc(unsigned int) __ptr64
+?Alloc@ONE_SHOT_HEAP@@QEAAPEAEI@Z
+; protected: long __cdecl BITFIELD::AllocBitfield(unsigned int) __ptr64
+?AllocBitfield@BITFIELD@@IEAAJI@Z
+; public: long __cdecl DLIST::Append(void * __ptr64) __ptr64
+?Append@DLIST@@QEAAJPEAX@Z
+; public: long __cdecl NLS_STR::Append(class NLS_STR const & __ptr64) __ptr64
+?Append@NLS_STR@@QEAAJAEBV1@@Z
+; public: long __cdecl SLIST::Append(void * __ptr64) __ptr64
+?Append@SLIST@@QEAAJPEAX@Z
+; public: long __cdecl SLIST_OF_NLS_STR::Append(class NLS_STR const * __ptr64) __ptr64
+?Append@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
+; public: long __cdecl NLS_STR::AppendChar(unsigned short) __ptr64
+?AppendChar@NLS_STR@@QEAAJG@Z
+; public: class TREE * __ptr64 __cdecl TREE::BreakOut(void) __ptr64
+?BreakOut@TREE@@QEAAPEAV1@XZ
+; protected: void __cdecl DLIST::BumpIters(class DL_NODE * __ptr64) __ptr64
+?BumpIters@DLIST@@IEAAXPEAVDL_NODE@@@Z
+; protected: void __cdecl SLIST::BumpIters(class SL_NODE * __ptr64) __ptr64
+?BumpIters@SLIST@@IEAAXPEAVSL_NODE@@@Z
+; private: void __cdecl NLS_STR::CheckIstr(class ISTR const & __ptr64)const  __ptr64
+?CheckIstr@NLS_STR@@AEBAXAEBVISTR@@@Z
+; protected: int __cdecl DLIST::CheckIter(class ITER_L * __ptr64) __ptr64
+?CheckIter@DLIST@@IEAAHPEAVITER_L@@@Z
+; protected: int __cdecl SLIST::CheckIter(class ITER_SL * __ptr64) __ptr64
+?CheckIter@SLIST@@IEAAHPEAVITER_SL@@@Z
+; long __cdecl CheckLocalComm(unsigned short const * __ptr64)
+?CheckLocalComm@@YAJPEBG@Z
+; long __cdecl CheckLocalDrive(unsigned short const * __ptr64)
+?CheckLocalDrive@@YAJPEBG@Z
+; long __cdecl CheckLocalLpt(unsigned short const * __ptr64)
+?CheckLocalLpt@@YAJPEBG@Z
+; long __cdecl CheckUnavailDevice(unsigned short const * __ptr64,unsigned short * __ptr64,int * __ptr64)
+?CheckUnavailDevice@@YAJPEBGPEAGPEAH@Z
+; public: void __cdecl SLIST_OF_DIR_BLOCK::Clear(void) __ptr64
+?Clear@SLIST_OF_DIR_BLOCK@@QEAAXXZ
+; public: void __cdecl SLIST_OF_NLS_STR::Clear(void) __ptr64
+?Clear@SLIST_OF_NLS_STR@@QEAAXXZ
+; private: long __cdecl REG_KEY::Close(void) __ptr64
+?Close@REG_KEY@@AEAAJXZ
+; private: unsigned __int64 __cdecl FMX::Command(unsigned int,unsigned int,__int64)const  __ptr64
+?Command@FMX@@AEBA_KII_J@Z
+; public: int __cdecl NLS_STR::Compare(class NLS_STR const * __ptr64)const  __ptr64
+?Compare@NLS_STR@@QEBAHPEBV1@@Z
+; public: int __cdecl LOGON_HOURS_SETTING::ConvertFromGMT(void) __ptr64
+?ConvertFromGMT@LOGON_HOURS_SETTING@@QEAAHXZ
+; public: int __cdecl LOGON_HOURS_SETTING::ConvertToGMT(void) __ptr64
+?ConvertToGMT@LOGON_HOURS_SETTING@@QEAAHXZ
+; public: long __cdecl LOGON_HOURS_SETTING::ConvertToHoursPerWeek(void) __ptr64
+?ConvertToHoursPerWeek@LOGON_HOURS_SETTING@@QEAAJXZ
+; public: long __cdecl NLS_STR::CopyFrom(class NLS_STR const & __ptr64) __ptr64
+?CopyFrom@NLS_STR@@QEAAJAEBV1@@Z
+; public: long __cdecl NLS_STR::CopyFrom(unsigned short const * __ptr64,unsigned int) __ptr64
+?CopyFrom@NLS_STR@@QEAAJPEBGI@Z
+; public: long __cdecl NLS_STR::CopyTo(unsigned short * __ptr64,unsigned int)const  __ptr64
+?CopyTo@NLS_STR@@QEBAJPEAGI@Z
+; private: long __cdecl REG_KEY::CreateChild(class REG_KEY * __ptr64,class NLS_STR const & __ptr64,class REG_KEY_CREATE_STRUCT * __ptr64)const  __ptr64
+?CreateChild@REG_KEY@@AEBAJPEAV1@AEBVNLS_STR@@PEAVREG_KEY_CREATE_STRUCT@@@Z
+; protected: virtual class DIR_BLOCK * __ptr64 __cdecl W32_FS_ENUM::CreateDirBlock(void) __ptr64
+?CreateDirBlock@W32_FS_ENUM@@MEAAPEAVDIR_BLOCK@@XZ
+; private: void __cdecl STRLIST::CreateList(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?CreateList@STRLIST@@AEAAXPEBG0@Z
+; private: void __cdecl NLS_STR::DelSubStr(class ISTR & __ptr64,unsigned int) __ptr64
+?DelSubStr@NLS_STR@@AEAAXAEAVISTR@@I@Z
+; public: void __cdecl NLS_STR::DelSubStr(class ISTR & __ptr64) __ptr64
+?DelSubStr@NLS_STR@@QEAAXAEAVISTR@@@Z
+; public: void __cdecl NLS_STR::DelSubStr(class ISTR & __ptr64,class ISTR const & __ptr64) __ptr64
+?DelSubStr@NLS_STR@@QEAAXAEAVISTR@@AEBV2@@Z
+; public: long __cdecl REG_KEY::Delete(void) __ptr64
+?Delete@REG_KEY@@QEAAJXZ
+; public: long __cdecl REG_KEY::DeleteValue(class NLS_STR const & __ptr64) __ptr64
+?DeleteValue@REG_KEY@@QEAAJAEBVNLS_STR@@@Z
+; protected: void __cdecl DLIST::Deregister(class ITER_L * __ptr64) __ptr64
+?Deregister@DLIST@@IEAAXPEAVITER_L@@@Z
+; protected: void __cdecl SLIST::Deregister(class ITER_SL * __ptr64) __ptr64
+?Deregister@SLIST@@IEAAXPEAVITER_SL@@@Z
+; public: int __cdecl DIR_BLOCK::DoBreadthFirstDirs(void)const  __ptr64
+?DoBreadthFirstDirs@DIR_BLOCK@@QEBAHXZ
+; public: virtual void __cdecl OUTPUT_TO_AUX::EndOfLine(void) __ptr64
+?EndOfLine@OUTPUT_TO_AUX@@UEAAXXZ
+; private: virtual void __cdecl OUTPUT_TO_NUL::EndOfLine(void) __ptr64
+?EndOfLine@OUTPUT_TO_NUL@@EEAAXXZ
+; public: virtual void __cdecl OUTPUT_TO_STDERR::EndOfLine(void) __ptr64
+?EndOfLine@OUTPUT_TO_STDERR@@UEAAXXZ
+; public: virtual void __cdecl OUTPUT_TO_STDOUT::EndOfLine(void) __ptr64
+?EndOfLine@OUTPUT_TO_STDOUT@@UEAAXXZ
+; public: void __cdecl BUFFER::FillOut(void) __ptr64
+?FillOut@BUFFER@@QEAAXXZ
+; protected: virtual long __cdecl W32_FS_ENUM::FindFirst(class DIR_BLOCK * __ptr64,class NLS_STR const & __ptr64,unsigned int) __ptr64
+?FindFirst@W32_FS_ENUM@@MEAAJPEAVDIR_BLOCK@@AEBVNLS_STR@@I@Z
+; protected: virtual long __cdecl W32_FS_ENUM::FindNext(class DIR_BLOCK * __ptr64,unsigned int) __ptr64
+?FindNext@W32_FS_ENUM@@MEAAJPEAVDIR_BLOCK@@I@Z
+; protected: class SL_NODE * __ptr64 __cdecl SLIST::FindPrev(class SL_NODE * __ptr64) __ptr64
+?FindPrev@SLIST@@IEAAPEAVSL_NODE@@PEAV2@@Z
+; public: long __cdecl REG_KEY::Flush(void) __ptr64
+?Flush@REG_KEY@@QEAAJXZ
+; public: class UATOM * __ptr64 __cdecl UATOM_LINKAGE::Fwd(void) __ptr64
+?Fwd@UATOM_LINKAGE@@QEAAPEAVUATOM@@XZ
+; private: long __cdecl BUFFER::GetNewStorage(unsigned int) __ptr64
+?GetNewStorage@BUFFER@@AEAAJI@Z
+; long __cdecl GetSelItem(struct HWND__ * __ptr64,unsigned int,class NLS_STR * __ptr64,int * __ptr64)
+?GetSelItem@@YAJPEAUHWND__@@IPEAVNLS_STR@@PEAH@Z
+; long __cdecl GetSelItem(struct HWND__ * __ptr64,class NLS_STR * __ptr64,int,int * __ptr64)
+?GetSelItem@@YAJPEAUHWND__@@PEAVNLS_STR@@HPEAH@Z
+; private: static int __cdecl REG_KEY::HandlePrefix(class NLS_STR const & __ptr64,struct HKEY__ * __ptr64 * __ptr64,class NLS_STR * __ptr64,class NLS_STR * __ptr64)
+?HandlePrefix@REG_KEY@@CAHAEBVNLS_STR@@PEAPEAUHKEY__@@PEAV2@2@Z
+; public: int __cdecl DIR_BLOCK::HasFindFirstBeenCalled(void) __ptr64
+?HasFindFirstBeenCalled@DIR_BLOCK@@QEAAHXZ
+; void __cdecl HeapResidueIter(unsigned int,int)
+?HeapResidueIter@@YAXIH@Z
+; protected: long __cdecl HEAP_BASE::I_AddItem(void * __ptr64) __ptr64
+?I_AddItem@HEAP_BASE@@IEAAJPEAX@Z
+; protected: void * __ptr64 __cdecl HEAP_BASE::I_RemoveTopItem(void) __ptr64
+?I_RemoveTopItem@HEAP_BASE@@IEAAPEAXXZ
+; protected: void __cdecl NLS_STR::IncVers(void) __ptr64
+?IncVers@NLS_STR@@IEAAXXZ
+; public: static void __cdecl NUM_NLS_STR::Init(void)
+?Init@NUM_NLS_STR@@SAXXZ
+; public: void __cdecl UATOM_LINKAGE::Init(void) __ptr64
+?Init@UATOM_LINKAGE@@QEAAXXZ
+; public: static long __cdecl UATOM_MANAGER::Initialize(void)
+?Initialize@UATOM_MANAGER@@SAJXZ
+; protected: void __cdecl NLS_STR::InitializeVers(void) __ptr64
+?InitializeVers@NLS_STR@@IEAAXXZ
+; public: long __cdecl DLIST::Insert(void * __ptr64,class ITER_DL & __ptr64) __ptr64
+?Insert@DLIST@@QEAAJPEAXAEAVITER_DL@@@Z
+; public: long __cdecl DLIST::Insert(void * __ptr64,class RITER_DL & __ptr64) __ptr64
+?Insert@DLIST@@QEAAJPEAXAEAVRITER_DL@@@Z
+; public: long __cdecl SLIST::Insert(void * __ptr64,class ITER_SL & __ptr64) __ptr64
+?Insert@SLIST@@QEAAJPEAXAEAVITER_SL@@@Z
+; public: long __cdecl NLS_STR::InsertParams(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,class NLS_STR const & __ptr64) __ptr64
+?InsertParams@NLS_STR@@QEAAJAEBV1@00@Z
+; public: long __cdecl NLS_STR::InsertParams(unsigned int,class NLS_STR const * __ptr64,...) __ptr64
+?InsertParams@NLS_STR@@QEAAJIPEBV1@ZZ
+; public: long __cdecl NLS_STR::InsertParams(class NLS_STR const * __ptr64 * __ptr64) __ptr64
+?InsertParams@NLS_STR@@QEAAJPEAPEBV1@@Z
+; private: long __cdecl NLS_STR::InsertParamsAux(class NLS_STR const * __ptr64 * __ptr64,unsigned int,int,unsigned int * __ptr64) __ptr64
+?InsertParamsAux@NLS_STR@@AEAAJPEAPEBV1@IHPEAI@Z
+; public: int __cdecl NLS_STR::InsertStr(class NLS_STR const & __ptr64,class ISTR & __ptr64) __ptr64
+?InsertStr@NLS_STR@@QEAAHAEBV1@AEAVISTR@@@Z
+; public: int __cdecl INTL_PROFILE::Is24Hour(void)const  __ptr64
+?Is24Hour@INTL_PROFILE@@QEBAHXZ
+; protected: int __cdecl BITFIELD::IsAllocated(void)const  __ptr64
+?IsAllocated@BITFIELD@@IEBAHXZ
+; public: int __cdecl BITFIELD::IsBitSet(unsigned int)const  __ptr64
+?IsBitSet@BITFIELD@@QEBAHI@Z
+; public: int __cdecl INTL_PROFILE::IsDayLZero(void)const  __ptr64
+?IsDayLZero@INTL_PROFILE@@QEBAHXZ
+; public: int __cdecl DIR_BLOCK::IsDir(void) __ptr64
+?IsDir@DIR_BLOCK@@QEAAHXZ
+; public: int __cdecl FMX::IsHeterogeneousSelection(int * __ptr64) __ptr64
+?IsHeterogeneousSelection@FMX@@QEAAHPEAH@Z
+; public: int __cdecl INTL_PROFILE::IsHourLZero(void)const  __ptr64
+?IsHourLZero@INTL_PROFILE@@QEBAHXZ
+; public: int __cdecl LOGON_HOURS_SETTING::IsIdenticalToBits(unsigned char const * __ptr64,unsigned int)const  __ptr64
+?IsIdenticalToBits@LOGON_HOURS_SETTING@@QEBAHPEBEI@Z
+; public: int __cdecl ISTR::IsLastPos(void)const  __ptr64
+?IsLastPos@ISTR@@QEBAHXZ
+; public: int __cdecl SLIST_OF_NLS_STR::IsMember(class NLS_STR const & __ptr64) __ptr64
+?IsMember@SLIST_OF_NLS_STR@@QEAAHAEBVNLS_STR@@@Z
+; public: int __cdecl INTL_PROFILE::IsMonthLZero(void)const  __ptr64
+?IsMonthLZero@INTL_PROFILE@@QEBAHXZ
+; public: int __cdecl NLS_STR::IsOwnerAlloc(void)const  __ptr64
+?IsOwnerAlloc@NLS_STR@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::IsTimePrefix(void)const  __ptr64
+?IsTimePrefix@INTL_PROFILE@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::IsYrCentury(void)const  __ptr64
+?IsYrCentury@INTL_PROFILE@@QEBAHXZ
+; public: void __cdecl TREE::JoinSiblingLeft(class TREE * __ptr64) __ptr64
+?JoinSiblingLeft@TREE@@QEAAXPEAV1@@Z
+; public: void __cdecl TREE::JoinSiblingRight(class TREE * __ptr64) __ptr64
+?JoinSiblingRight@TREE@@QEAAXPEAV1@@Z
+; public: void __cdecl TREE::JoinSubtreeLeft(class TREE * __ptr64) __ptr64
+?JoinSubtreeLeft@TREE@@QEAAXPEAV1@@Z
+; public: void __cdecl TREE::JoinSubtreeRight(class TREE * __ptr64) __ptr64
+?JoinSubtreeRight@TREE@@QEAAXPEAV1@@Z
+; private: unsigned short const * __ptr64 __cdecl REG_KEY::LeafKeyName(void)const  __ptr64
+?LeafKeyName@REG_KEY@@AEBAPEBGXZ
+; public: void __cdecl UATOM_LINKAGE::Link(class UATOM_LINKAGE * __ptr64) __ptr64
+?Link@UATOM_LINKAGE@@QEAAXPEAV1@@Z
+; public: long __cdecl NLS_STR::Load(long,struct HINSTANCE__ * __ptr64) __ptr64
+?Load@NLS_STR@@QEAAJJPEAUHINSTANCE__@@@Z
+; public: long __cdecl NLS_STR::LoadSystem(long) __ptr64
+?LoadSystem@NLS_STR@@QEAAJJ@Z
+; public: long __cdecl LOGON_HOURS_SETTING::MakeDefault(void) __ptr64
+?MakeDefault@LOGON_HOURS_SETTING@@QEAAJXZ
+; public: long __cdecl NLS_STR::MapCopyFrom(char const * __ptr64,unsigned int) __ptr64
+?MapCopyFrom@NLS_STR@@QEAAJPEBDI@Z
+; public: long __cdecl NLS_STR::MapCopyFrom(unsigned short const * __ptr64,unsigned int) __ptr64
+?MapCopyFrom@NLS_STR@@QEAAJPEBGI@Z
+; public: long __cdecl NLS_STR::MapCopyTo(char * __ptr64,unsigned int)const  __ptr64
+?MapCopyTo@NLS_STR@@QEBAJPEADI@Z
+; public: long __cdecl NLS_STR::MapCopyTo(unsigned short * __ptr64,unsigned int)const  __ptr64
+?MapCopyTo@NLS_STR@@QEBAJPEAGI@Z
+; public: static long __cdecl ERRMAP::MapNTStatus(long,int * __ptr64,long)
+?MapNTStatus@ERRMAP@@SAJJPEAHJ@Z
+; private: long __cdecl REG_KEY::NameChild(class REG_KEY * __ptr64,class NLS_STR const & __ptr64)const  __ptr64
+?NameChild@REG_KEY@@AEBAJPEAV1@AEBVNLS_STR@@@Z
+; public: void * __ptr64 __cdecl DFSITER_TREE::Next(void) __ptr64
+?Next@DFSITER_TREE@@QEAAPEAXXZ
+; public: int __cdecl FS_ENUM::Next(void) __ptr64
+?Next@FS_ENUM@@QEAAHXZ
+; public: void * __ptr64 __cdecl ITER_SL::Next(void) __ptr64
+?Next@ITER_SL@@QEAAPEAXXZ
+; public: class DIR_BLOCK * __ptr64 __cdecl ITER_SL_DIR_BLOCK::Next(void) __ptr64
+?Next@ITER_SL_DIR_BLOCK@@QEAAPEAVDIR_BLOCK@@XZ
+; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::Next(void) __ptr64
+?Next@ITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
+; protected: int __cdecl FS_ENUM::NextBreadthFirst(void) __ptr64
+?NextBreadthFirst@FS_ENUM@@IEAAHXZ
+; protected: int __cdecl FS_ENUM::NextDepthFirst(void) __ptr64
+?NextDepthFirst@FS_ENUM@@IEAAHXZ
+; public: long __cdecl WIN_TIME::Normalize(void) __ptr64
+?Normalize@WIN_TIME@@QEAAJXZ
+; public: void __cdecl BITFIELD::Not(void) __ptr64
+?Not@BITFIELD@@QEAAXXZ
+; private: long __cdecl REG_KEY::OpenByName(class NLS_STR const & __ptr64,unsigned long) __ptr64
+?OpenByName@REG_KEY@@AEAAJAEBVNLS_STR@@K@Z
+; private: long __cdecl REG_KEY::OpenChild(class REG_KEY * __ptr64,class NLS_STR const & __ptr64,unsigned long,unsigned long) __ptr64
+?OpenChild@REG_KEY@@AEAAJPEAV1@AEBVNLS_STR@@KK@Z
+; private: class REG_KEY * __ptr64 __cdecl REG_KEY::OpenParent(unsigned long) __ptr64
+?OpenParent@REG_KEY@@AEAAPEAV1@K@Z
+; private: long __cdecl REG_KEY::ParentName(class NLS_STR * __ptr64)const  __ptr64
+?ParentName@REG_KEY@@AEBAJPEAVNLS_STR@@@Z
+; protected: void * __ptr64 __cdecl HEAP_BASE::PeekItem(int)const  __ptr64
+?PeekItem@HEAP_BASE@@IEBAPEAXH@Z
+; public: long __cdecl LOGON_HOURS_SETTING::PermitAll(void) __ptr64
+?PermitAll@LOGON_HOURS_SETTING@@QEAAJXZ
+; protected: long __cdecl FS_ENUM::PopDir(void) __ptr64
+?PopDir@FS_ENUM@@IEAAJXZ
+; protected: long __cdecl FS_ENUM::PushDir(unsigned short const * __ptr64) __ptr64
+?PushDir@FS_ENUM@@IEAAJPEBG@Z
+; public: long __cdecl INTL_PROFILE::QueryAMStr(class NLS_STR * __ptr64)const  __ptr64
+?QueryAMStr@INTL_PROFILE@@QEBAJPEAVNLS_STR@@@Z
+; private: unsigned int __cdecl BUFFER::QueryActualSize(void) __ptr64
+?QueryActualSize@BUFFER@@AEAAIXZ
+; public: unsigned int __cdecl BITFIELD::QueryAllocSize(void)const  __ptr64
+?QueryAllocSize@BITFIELD@@QEBAIXZ
+; public: unsigned int __cdecl NLS_STR::QueryAllocSize(void)const  __ptr64
+?QueryAllocSize@NLS_STR@@QEBAIXZ
+; public: unsigned int __cdecl NLS_STR::QueryAnsiTextLength(void)const  __ptr64
+?QueryAnsiTextLength@NLS_STR@@QEBAIXZ
+; public: virtual unsigned int __cdecl W32_DIR_BLOCK::QueryAttr(void) __ptr64
+?QueryAttr@W32_DIR_BLOCK@@UEAAIXZ
+; protected: unsigned char * __ptr64 __cdecl BITFIELD::QueryBitPos(unsigned int,unsigned int)const  __ptr64
+?QueryBitPos@BITFIELD@@IEBAPEAEII@Z
+; public: int __cdecl STRLIST::QueryBufferSize(unsigned short * __ptr64) __ptr64
+?QueryBufferSize@STRLIST@@QEAAHPEAG@Z
+; private: static unsigned int __cdecl LOGON_HOURS_SETTING::QueryByteCount(unsigned int)
+?QueryByteCount@LOGON_HOURS_SETTING@@CAII@Z
+; public: unsigned int __cdecl LOGON_HOURS_SETTING::QueryByteCount(void)const  __ptr64
+?QueryByteCount@LOGON_HOURS_SETTING@@QEBAIXZ
+; public: unsigned short __cdecl NLS_STR::QueryChar(class ISTR const & __ptr64)const  __ptr64
+?QueryChar@NLS_STR@@QEBAGAEBVISTR@@@Z
+; public: unsigned int __cdecl BITFIELD::QueryCount(void)const  __ptr64
+?QueryCount@BITFIELD@@QEBAIXZ
+; protected: unsigned int __cdecl DFSITER_TREE::QueryCurDepth(void)const  __ptr64
+?QueryCurDepth@DFSITER_TREE@@IEBAIXZ
+; public: static class DBGSTREAM & __ptr64 __cdecl DBGSTREAM::QueryCurrent(void)
+?QueryCurrent@DBGSTREAM@@SAAEAV1@XZ
+; public: unsigned int __cdecl FS_ENUM::QueryCurrentDepth(void) __ptr64
+?QueryCurrentDepth@FS_ENUM@@QEAAIXZ
+; public: class DIR_BLOCK * __ptr64 __cdecl FS_ENUM::QueryCurrentDirBlock(void)const  __ptr64
+?QueryCurrentDirBlock@FS_ENUM@@QEBAPEAVDIR_BLOCK@@XZ
+; unsigned long __cdecl QueryCurrentTimeStamp(void)
+?QueryCurrentTimeStamp@@YAKXZ
+; public: static class REG_KEY * __ptr64 __cdecl REG_KEY::QueryCurrentUser(unsigned long)
+?QueryCurrentUser@REG_KEY@@SAPEAV1@K@Z
+; public: char const * __ptr64 __cdecl CHAR_STRING::QueryData(void)const  __ptr64
+?QueryData@CHAR_STRING@@QEBAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl WCHAR_STRING::QueryData(void)const  __ptr64
+?QueryData@WCHAR_STRING@@QEBAPEBGXZ
+; public: long __cdecl INTL_PROFILE::QueryDateSeparator(class NLS_STR * __ptr64)const  __ptr64
+?QueryDateSeparator@INTL_PROFILE@@QEBAJPEAVNLS_STR@@@Z
+; public: int __cdecl WIN_TIME::QueryDay(void)const  __ptr64
+?QueryDay@WIN_TIME@@QEBAHXZ
+; public: int __cdecl WIN_TIME::QueryDayOfWeek(void)const  __ptr64
+?QueryDayOfWeek@WIN_TIME@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::QueryDayPos(void)const  __ptr64
+?QueryDayPos@INTL_PROFILE@@QEBAHXZ
+; public: class STRLIST * __ptr64 __cdecl DIR_BLOCK::QueryDirs(void) __ptr64
+?QueryDirs@DIR_BLOCK@@QEAAPEAVSTRLIST@@XZ
+; public: class ITER_STRLIST * __ptr64 __cdecl DIR_BLOCK::QueryDirsIter(void) __ptr64
+?QueryDirsIter@DIR_BLOCK@@QEAAPEAVITER_STRLIST@@XZ
+; public: long __cdecl FMX::QueryDriveInfo(struct _FMS_GETDRIVEINFOW * __ptr64) __ptr64
+?QueryDriveInfo@FMX@@QEAAJPEAU_FMS_GETDRIVEINFOW@@@Z
+; public: long __cdecl INTL_PROFILE::QueryDurationStr(int,int,int,int,class NLS_STR * __ptr64)const  __ptr64
+?QueryDurationStr@INTL_PROFILE@@QEBAJHHHHPEAVNLS_STR@@@Z
+; public: long __cdecl BASE::QueryError(void)const  __ptr64
+?QueryError@BASE@@QEBAJXZ
+; public: long __cdecl FORWARDING_BASE::QueryError(void)const  __ptr64
+?QueryError@FORWARDING_BASE@@QEBAJXZ
+; public: long __cdecl HUATOM::QueryError(void)const  __ptr64
+?QueryError@HUATOM@@QEBAJXZ
+; public: virtual unsigned short const * __ptr64 __cdecl W32_DIR_BLOCK::QueryFileName(void) __ptr64
+?QueryFileName@W32_DIR_BLOCK@@UEAAPEBGXZ
+; public: long __cdecl WIN_TIME::QueryFileTime(struct _FILETIME * __ptr64)const  __ptr64
+?QueryFileTime@WIN_TIME@@QEBAJPEAU_FILETIME@@@Z
+; public: long __cdecl WIN_TIME::QueryFileTimeLocal(struct _FILETIME * __ptr64)const  __ptr64
+?QueryFileTimeLocal@WIN_TIME@@QEBAJPEAU_FILETIME@@@Z
+; public: class TREE * __ptr64 __cdecl TREE::QueryFirstSubtree(void)const  __ptr64
+?QueryFirstSubtree@TREE@@QEBAPEAV1@XZ
+; public: unsigned int __cdecl FMX::QueryFocus(void)const  __ptr64
+?QueryFocus@FMX@@QEBAIXZ
+; public: int __cdecl WIN_TIME::QueryHour(void)const  __ptr64
+?QueryHour@WIN_TIME@@QEBAHXZ
+; public: int __cdecl LOGON_HOURS_SETTING::QueryHourInDay(unsigned int,unsigned int)const  __ptr64
+?QueryHourInDay@LOGON_HOURS_SETTING@@QEBAHII@Z
+; public: int __cdecl LOGON_HOURS_SETTING::QueryHourInWeek(unsigned int)const  __ptr64
+?QueryHourInWeek@LOGON_HOURS_SETTING@@QEBAHI@Z
+; public: unsigned char * __ptr64 __cdecl LOGON_HOURS_SETTING::QueryHoursBlock(void)const  __ptr64
+?QueryHoursBlock@LOGON_HOURS_SETTING@@QEBAPEAEXZ
+; private: int __cdecl ISTR::QueryIch(void)const  __ptr64
+?QueryIch@ISTR@@AEBAHXZ
+; public: long __cdecl REG_KEY::QueryInfo(class REG_KEY_INFO_STRUCT * __ptr64) __ptr64
+?QueryInfo@REG_KEY@@QEAAJPEAVREG_KEY_INFO_STRUCT@@@Z
+; public: long __cdecl REG_KEY::QueryKeyName(class NLS_STR * __ptr64)const  __ptr64
+?QueryKeyName@REG_KEY@@QEBAJPEAVNLS_STR@@@Z
+; private: long __cdecl REG_KEY::QueryKeyValueBinary(unsigned short const * __ptr64,unsigned char * __ptr64 * __ptr64,long * __ptr64,long,unsigned long * __ptr64,unsigned long) __ptr64
+?QueryKeyValueBinary@REG_KEY@@AEAAJPEBGPEAPEAEPEAJJPEAKK@Z
+; private: long __cdecl REG_KEY::QueryKeyValueLong(unsigned short const * __ptr64,long * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryKeyValueLong@REG_KEY@@AEAAJPEBGPEAJPEAK@Z
+; private: long __cdecl REG_KEY::QueryKeyValueString(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,class NLS_STR * __ptr64,unsigned long * __ptr64,long,long * __ptr64,unsigned long) __ptr64
+?QueryKeyValueString@REG_KEY@@AEAAJPEBGPEAPEAGPEAVNLS_STR@@PEAKJPEAJK@Z
+; public: class TREE * __ptr64 __cdecl TREE::QueryLastSubtree(void)const  __ptr64
+?QueryLastSubtree@TREE@@QEBAPEAV1@XZ
+; public: class TREE * __ptr64 __cdecl TREE::QueryLeft(void)const  __ptr64
+?QueryLeft@TREE@@QEBAPEAV1@XZ
+; public: int __cdecl UATOM_LINKAGE::QueryLinked(void) __ptr64
+?QueryLinked@UATOM_LINKAGE@@QEAAHXZ
+; public: static class REG_KEY * __ptr64 __cdecl REG_KEY::QueryLocalMachine(unsigned long)
+?QueryLocalMachine@REG_KEY@@SAPEAV1@K@Z
+; public: long __cdecl INTL_PROFILE::QueryLongDateString(class WIN_TIME const & __ptr64,class NLS_STR * __ptr64)const  __ptr64
+?QueryLongDateString@INTL_PROFILE@@QEBAJAEBVWIN_TIME@@PEAVNLS_STR@@@Z
+; protected: unsigned int __cdecl DFSITER_TREE::QueryMaxDepth(void)const  __ptr64
+?QueryMaxDepth@DFSITER_TREE@@IEBAIXZ
+; public: unsigned int __cdecl FS_ENUM::QueryMaxDepth(void) __ptr64
+?QueryMaxDepth@FS_ENUM@@QEAAIXZ
+; protected: unsigned int __cdecl BITFIELD::QueryMaxNonAllocBitCount(void)const  __ptr64
+?QueryMaxNonAllocBitCount@BITFIELD@@IEBAIXZ
+; public: int __cdecl WIN_TIME::QueryMinute(void)const  __ptr64
+?QueryMinute@WIN_TIME@@QEBAHXZ
+; public: int __cdecl WIN_TIME::QueryMonth(void)const  __ptr64
+?QueryMonth@WIN_TIME@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::QueryMonthPos(void)const  __ptr64
+?QueryMonthPos@INTL_PROFILE@@QEBAHXZ
+; public: long __cdecl FS_ENUM::QueryName(class NLS_STR * __ptr64)const  __ptr64
+?QueryName@FS_ENUM@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl REG_KEY::QueryName(class NLS_STR * __ptr64,int)const  __ptr64
+?QueryName@REG_KEY@@QEBAJPEAVNLS_STR@@H@Z
+; public: class NLS_STR const * __ptr64 __cdecl HUATOM::QueryNls(void)const  __ptr64
+?QueryNls@HUATOM@@QEBAPEBVNLS_STR@@XZ
+; protected: class TREE const * __ptr64 __cdecl DFSITER_TREE::QueryNode(void)const  __ptr64
+?QueryNode@DFSITER_TREE@@IEBAPEBVTREE@@XZ
+; public: unsigned int __cdecl NLS_STR::QueryNumChar(void)const  __ptr64
+?QueryNumChar@NLS_STR@@QEBAIXZ
+; public: unsigned int __cdecl DLIST::QueryNumElem(void) __ptr64
+?QueryNumElem@DLIST@@QEAAIXZ
+; public: unsigned int __cdecl SLIST::QueryNumElem(void) __ptr64
+?QueryNumElem@SLIST@@QEAAIXZ
+; public: unsigned int __cdecl TREE::QueryNumElem(void)const  __ptr64
+?QueryNumElem@TREE@@QEBAIXZ
+; public: unsigned int __cdecl BITFIELD::QueryOffset(unsigned int)const  __ptr64
+?QueryOffset@BITFIELD@@QEBAII@Z
+; public: long __cdecl INTL_PROFILE::QueryPMStr(class NLS_STR * __ptr64)const  __ptr64
+?QueryPMStr@INTL_PROFILE@@QEBAJPEAVNLS_STR@@@Z
+; public: class TREE * __ptr64 __cdecl TREE::QueryParent(void)const  __ptr64
+?QueryParent@TREE@@QEBAPEAV1@XZ
+; public: unsigned short const * __ptr64 __cdecl NLS_STR::QueryPch(class ISTR const & __ptr64)const  __ptr64
+?QueryPch@NLS_STR@@QEBAPEBGAEBVISTR@@@Z
+; public: unsigned short const * __ptr64 __cdecl NLS_STR::QueryPch(void)const  __ptr64
+?QueryPch@NLS_STR@@QEBAPEBGXZ
+; public: void * __ptr64 __cdecl ITER_SL::QueryProp(void) __ptr64
+?QueryProp@ITER_SL@@QEAAPEAXXZ
+; public: void * __ptr64 __cdecl TREE::QueryProp(void)const  __ptr64
+?QueryProp@TREE@@QEBAPEAXXZ
+; public: unsigned char * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
+?QueryPtr@BUFFER@@QEBAPEAEXZ
+; public: class TREE * __ptr64 __cdecl TREE::QueryRight(void)const  __ptr64
+?QueryRight@TREE@@QEBAPEAV1@XZ
+; protected: unsigned int __cdecl FS_ENUM::QuerySearchAttr(void)const  __ptr64
+?QuerySearchAttr@FS_ENUM@@IEBAIXZ
+; public: int __cdecl WIN_TIME::QuerySecond(void)const  __ptr64
+?QuerySecond@WIN_TIME@@QEBAHXZ
+; public: unsigned int __cdecl FMX::QuerySelCount(void)const  __ptr64
+?QuerySelCount@FMX@@QEBAIXZ
+; public: long __cdecl FMX::QuerySelection(int,struct _FMS_GETFILESELW * __ptr64,int) __ptr64
+?QuerySelection@FMX@@QEAAJHPEAU_FMS_GETFILESELW@@H@Z
+; public: long __cdecl INTL_PROFILE::QueryShortDateString(class WIN_TIME const & __ptr64,class NLS_STR * __ptr64)const  __ptr64
+?QueryShortDateString@INTL_PROFILE@@QEBAJAEBVWIN_TIME@@PEAVNLS_STR@@@Z
+; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
+?QuerySize@BUFFER@@QEBAIXZ
+; protected: class TREE const * __ptr64 __cdecl DFSITER_TREE::QueryStartNode(void)const  __ptr64
+?QueryStartNode@DFSITER_TREE@@IEBAPEBVTREE@@XZ
+; private: class NLS_STR const * __ptr64 __cdecl ISTR::QueryString(void)const  __ptr64
+?QueryString@ISTR@@AEBAPEBVNLS_STR@@XZ
+; private: class NLS_STR * __ptr64 __cdecl NLS_STR::QuerySubStr(class ISTR const & __ptr64,unsigned int)const  __ptr64
+?QuerySubStr@NLS_STR@@AEBAPEAV1@AEBVISTR@@I@Z
+; public: class NLS_STR * __ptr64 __cdecl NLS_STR::QuerySubStr(class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?QuerySubStr@NLS_STR@@QEBAPEAV1@AEBVISTR@@0@Z
+; public: class NLS_STR * __ptr64 __cdecl NLS_STR::QuerySubStr(class ISTR const & __ptr64)const  __ptr64
+?QuerySubStr@NLS_STR@@QEBAPEAV1@AEBVISTR@@@Z
+; public: unsigned short const * __ptr64 __cdecl HUATOM::QueryText(void)const  __ptr64
+?QueryText@HUATOM@@QEBAPEBGXZ
+; public: unsigned int __cdecl NLS_STR::QueryTextLength(void)const  __ptr64
+?QueryTextLength@NLS_STR@@QEBAIXZ
+; public: unsigned int __cdecl NLS_STR::QueryTextSize(void)const  __ptr64
+?QueryTextSize@NLS_STR@@QEBAIXZ
+; public: long __cdecl WIN_TIME::QueryTime(unsigned long * __ptr64)const  __ptr64
+?QueryTime@WIN_TIME@@QEBAJPEAK@Z
+; public: long __cdecl WIN_TIME::QueryTimeLocal(unsigned long * __ptr64)const  __ptr64
+?QueryTimeLocal@WIN_TIME@@QEBAJPEAK@Z
+; public: long __cdecl INTL_PROFILE::QueryTimeSeparator(class NLS_STR * __ptr64)const  __ptr64
+?QueryTimeSeparator@INTL_PROFILE@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl INTL_PROFILE::QueryTimeString(class WIN_TIME const & __ptr64,class NLS_STR * __ptr64)const  __ptr64
+?QueryTimeString@INTL_PROFILE@@QEBAJAEBVWIN_TIME@@PEAVNLS_STR@@@Z
+; public: unsigned int __cdecl LOGON_HOURS_SETTING::QueryUnitsPerWeek(void)const  __ptr64
+?QueryUnitsPerWeek@LOGON_HOURS_SETTING@@QEBAIXZ
+; public: long __cdecl REG_KEY::QueryValue(class REG_VALUE_INFO_STRUCT * __ptr64) __ptr64
+?QueryValue@REG_KEY@@QEAAJPEAVREG_VALUE_INFO_STRUCT@@@Z
+; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@REG_KEY@@QEAAJPEBGPEAK1@Z
+; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,unsigned char * __ptr64 * __ptr64,long * __ptr64,long,unsigned long * __ptr64) __ptr64
+?QueryValue@REG_KEY@@QEAAJPEBGPEAPEAEPEAJJPEAK@Z
+; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long,unsigned long * __ptr64,int) __ptr64
+?QueryValue@REG_KEY@@QEAAJPEBGPEAPEAGKPEAKH@Z
+; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,class STRLIST * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@REG_KEY@@QEAAJPEBGPEAPEAVSTRLIST@@PEAK@Z
+; public: long __cdecl REG_KEY::QueryValue(unsigned short const * __ptr64,class NLS_STR * __ptr64,unsigned long,unsigned long * __ptr64,int) __ptr64
+?QueryValue@REG_KEY@@QEAAJPEBGPEAVNLS_STR@@KPEAKH@Z
+; public: int __cdecl WIN_TIME::QueryYear(void)const  __ptr64
+?QueryYear@WIN_TIME@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::QueryYearPos(void)const  __ptr64
+?QueryYearPos@INTL_PROFILE@@QEBAHXZ
+; private: int __cdecl NLS_STR::Realloc(unsigned int) __ptr64
+?Realloc@NLS_STR@@AEAAHI@Z
+; private: long __cdecl BUFFER::ReallocStorage(unsigned int) __ptr64
+?ReallocStorage@BUFFER@@AEAAJI@Z
+; public: void __cdecl FMX::Refresh(void) __ptr64
+?Refresh@FMX@@QEAAXXZ
+; public: long __cdecl INTL_PROFILE::Refresh(void) __ptr64
+?Refresh@INTL_PROFILE@@QEAAJXZ
+; protected: void __cdecl DLIST::Register(class ITER_L * __ptr64) __ptr64
+?Register@DLIST@@IEAAXPEAVITER_L@@@Z
+; protected: void __cdecl SLIST::Register(class ITER_SL * __ptr64) __ptr64
+?Register@SLIST@@IEAAXPEAVITER_SL@@@Z
+; public: void __cdecl FMX::Reload(void) __ptr64
+?Reload@FMX@@QEAAXXZ
+; public: void * __ptr64 __cdecl DLIST::Remove(class ITER_DL & __ptr64) __ptr64
+?Remove@DLIST@@QEAAPEAXAEAVITER_DL@@@Z
+; public: void * __ptr64 __cdecl DLIST::Remove(class RITER_DL & __ptr64) __ptr64
+?Remove@DLIST@@QEAAPEAXAEAVRITER_DL@@@Z
+; public: void * __ptr64 __cdecl SLIST::Remove(class ITER_SL & __ptr64) __ptr64
+?Remove@SLIST@@QEAAPEAXAEAVITER_SL@@@Z
+; public: class DIR_BLOCK * __ptr64 __cdecl SLIST_OF_DIR_BLOCK::Remove(class ITER_SL_DIR_BLOCK & __ptr64) __ptr64
+?Remove@SLIST_OF_DIR_BLOCK@@QEAAPEAVDIR_BLOCK@@AEAVITER_SL_DIR_BLOCK@@@Z
+; public: class NLS_STR * __ptr64 __cdecl SLIST_OF_NLS_STR::Remove(class NLS_STR & __ptr64) __ptr64
+?Remove@SLIST_OF_NLS_STR@@QEAAPEAVNLS_STR@@AEAV2@@Z
+; public: virtual void __cdecl OUTPUT_TO_AUX::Render(unsigned short const * __ptr64) __ptr64
+?Render@OUTPUT_TO_AUX@@UEAAXPEBG@Z
+; public: virtual void __cdecl OUTPUT_TO_AUX::Render(unsigned short const * __ptr64,unsigned int) __ptr64
+?Render@OUTPUT_TO_AUX@@UEAAXPEBGI@Z
+; private: virtual void __cdecl OUTPUT_TO_NUL::Render(unsigned short const * __ptr64) __ptr64
+?Render@OUTPUT_TO_NUL@@EEAAXPEBG@Z
+; private: virtual void __cdecl OUTPUT_TO_NUL::Render(unsigned short const * __ptr64,unsigned int) __ptr64
+?Render@OUTPUT_TO_NUL@@EEAAXPEBGI@Z
+; public: virtual void __cdecl OUTPUT_TO_STDERR::Render(unsigned short const * __ptr64) __ptr64
+?Render@OUTPUT_TO_STDERR@@UEAAXPEBG@Z
+; public: virtual void __cdecl OUTPUT_TO_STDERR::Render(unsigned short const * __ptr64,unsigned int) __ptr64
+?Render@OUTPUT_TO_STDERR@@UEAAXPEBGI@Z
+; public: virtual void __cdecl OUTPUT_TO_STDOUT::Render(unsigned short const * __ptr64) __ptr64
+?Render@OUTPUT_TO_STDOUT@@UEAAXPEBG@Z
+; public: virtual void __cdecl OUTPUT_TO_STDOUT::Render(unsigned short const * __ptr64,unsigned int) __ptr64
+?Render@OUTPUT_TO_STDOUT@@UEAAXPEBGI@Z
+; private: void __cdecl NLS_STR::ReplSubStr(class NLS_STR const & __ptr64,class ISTR & __ptr64,unsigned int) __ptr64
+?ReplSubStr@NLS_STR@@AEAAXAEBV1@AEAVISTR@@I@Z
+; public: void __cdecl NLS_STR::ReplSubStr(class NLS_STR const & __ptr64,class ISTR & __ptr64) __ptr64
+?ReplSubStr@NLS_STR@@QEAAXAEBV1@AEAVISTR@@@Z
+; public: void __cdecl NLS_STR::ReplSubStr(class NLS_STR const & __ptr64,class ISTR & __ptr64,class ISTR const & __ptr64) __ptr64
+?ReplSubStr@NLS_STR@@QEAAXAEBV1@AEAVISTR@@AEBV2@@Z
+; protected: void __cdecl BASE::ReportError(long) __ptr64
+?ReportError@BASE@@IEAAXJ@Z
+; protected: void __cdecl FS_ENUM::ReportLastError(long) __ptr64
+?ReportLastError@FS_ENUM@@IEAAXJ@Z
+; public: void __cdecl DFSITER_TREE::Reset(void) __ptr64
+?Reset@DFSITER_TREE@@QEAAXXZ
+; public: void __cdecl ISTR::Reset(void) __ptr64
+?Reset@ISTR@@QEAAXXZ
+; public: void __cdecl ITER_DL::Reset(void) __ptr64
+?Reset@ITER_DL@@QEAAXXZ
+; public: void __cdecl ITER_SL::Reset(void) __ptr64
+?Reset@ITER_SL@@QEAAXXZ
+; public: int __cdecl NLS_STR::Reset(void) __ptr64
+?Reset@NLS_STR@@QEAAHXZ
+; public: void __cdecl RITER_DL::Reset(void) __ptr64
+?Reset@RITER_DL@@QEAAXXZ
+; protected: void __cdecl BASE::ResetError(void) __ptr64
+?ResetError@BASE@@IEAAXXZ
+; public: long __cdecl BITFIELD::Resize(unsigned int) __ptr64
+?Resize@BITFIELD@@QEAAJI@Z
+; public: long __cdecl BUFFER::Resize(unsigned int) __ptr64
+?Resize@BUFFER@@QEAAJI@Z
+; public: long __cdecl NLS_STR::RtlOemUpcase(void) __ptr64
+?RtlOemUpcase@NLS_STR@@QEAAJXZ
+; private: long __cdecl INTL_PROFILE::ScanLongDate(class NLS_STR * __ptr64)const  __ptr64
+?ScanLongDate@INTL_PROFILE@@AEBAJPEAVNLS_STR@@@Z
+; public: void __cdecl DL_NODE::Set(class DL_NODE * __ptr64,class DL_NODE * __ptr64,void * __ptr64) __ptr64
+?Set@DL_NODE@@QEAAXPEAV1@0PEAX@Z
+; public: long __cdecl LOGON_HOURS_SETTING::Set(class LOGON_HOURS_SETTING const & __ptr64) __ptr64
+?Set@LOGON_HOURS_SETTING@@QEAAJAEBV1@@Z
+; public: void __cdecl SL_NODE::Set(class SL_NODE * __ptr64,void * __ptr64) __ptr64
+?Set@SL_NODE@@QEAAXPEAV1@PEAX@Z
+; public: void __cdecl BITFIELD::SetAllBits(enum BITVALUES) __ptr64
+?SetAllBits@BITFIELD@@QEAAXW4BITVALUES@@@Z
+; public: long __cdecl HEAP_BASE::SetAllocCount(int) __ptr64
+?SetAllocCount@HEAP_BASE@@QEAAJH@Z
+; public: void __cdecl BITFIELD::SetBit(unsigned int,enum BITVALUES) __ptr64
+?SetBit@BITFIELD@@QEAAXIW4BITVALUES@@@Z
+; private: void __cdecl DFSITER_TREE::SetCurDepth(unsigned int) __ptr64
+?SetCurDepth@DFSITER_TREE@@AEAAXI@Z
+; public: static void __cdecl DBGSTREAM::SetCurrent(class DBGSTREAM * __ptr64)
+?SetCurrent@DBGSTREAM@@SAXPEAV1@@Z
+; protected: void __cdecl FS_ENUM::SetCurrentDirBlock(class DIR_BLOCK * __ptr64) __ptr64
+?SetCurrentDirBlock@FS_ENUM@@IEAAXPEAVDIR_BLOCK@@@Z
+; public: long __cdecl WIN_TIME::SetCurrentTime(void) __ptr64
+?SetCurrentTime@WIN_TIME@@QEAAJXZ
+; public: void __cdecl DIR_BLOCK::SetDoBreadthFirstDirs(int) __ptr64
+?SetDoBreadthFirstDirs@DIR_BLOCK@@QEAAXH@Z
+; public: void __cdecl DIR_BLOCK::SetFindFirstFlag(int) __ptr64
+?SetFindFirstFlag@DIR_BLOCK@@QEAAXH@Z
+; private: void __cdecl TREE::SetFirstSubtree(class TREE * __ptr64) __ptr64
+?SetFirstSubtree@TREE@@AEAAXPEAV1@@Z
+; public: long __cdecl LOGON_HOURS_SETTING::SetFromBits(unsigned char const * __ptr64,unsigned int) __ptr64
+?SetFromBits@LOGON_HOURS_SETTING@@QEAAJPEBEI@Z
+; public: long __cdecl WIN_TIME::SetGMT(int) __ptr64
+?SetGMT@WIN_TIME@@QEAAJH@Z
+; public: long __cdecl LOGON_HOURS_SETTING::SetHourInDay(int,unsigned int,unsigned int) __ptr64
+?SetHourInDay@LOGON_HOURS_SETTING@@QEAAJHII@Z
+; public: long __cdecl LOGON_HOURS_SETTING::SetHourInWeek(int,unsigned int) __ptr64
+?SetHourInWeek@LOGON_HOURS_SETTING@@QEAAJHI@Z
+; private: void __cdecl ISTR::SetIch(int) __ptr64
+?SetIch@ISTR@@AEAAXH@Z
+; protected: void __cdecl HEAP_BASE::SetItem(int,void * __ptr64) __ptr64
+?SetItem@HEAP_BASE@@IEAAXHPEAX@Z
+; protected: void __cdecl DLIST::SetIters(class DL_NODE * __ptr64) __ptr64
+?SetIters@DLIST@@IEAAXPEAVDL_NODE@@@Z
+; protected: void __cdecl SLIST::SetIters(class SL_NODE * __ptr64,class SL_NODE * __ptr64) __ptr64
+?SetIters@SLIST@@IEAAXPEAVSL_NODE@@0@Z
+; protected: void __cdecl SLIST::SetIters(class SL_NODE * __ptr64) __ptr64
+?SetIters@SLIST@@IEAAXPEAVSL_NODE@@@Z
+; private: long __cdecl REG_KEY::SetKeyValueBinary(unsigned short const * __ptr64,unsigned char const * __ptr64,long,unsigned long,unsigned long) __ptr64
+?SetKeyValueBinary@REG_KEY@@AEAAJPEBGPEBEJKK@Z
+; private: long __cdecl REG_KEY::SetKeyValueLong(unsigned short const * __ptr64,long,unsigned long) __ptr64
+?SetKeyValueLong@REG_KEY@@AEAAJPEBGJK@Z
+; private: long __cdecl REG_KEY::SetKeyValueString(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,long,unsigned long) __ptr64
+?SetKeyValueString@REG_KEY@@AEAAJPEBG0KJK@Z
+; private: void __cdecl TREE::SetLeft(class TREE * __ptr64) __ptr64
+?SetLeft@TREE@@AEAAXPEAV1@@Z
+; private: void __cdecl DFSITER_TREE::SetMaxDepth(unsigned int) __ptr64
+?SetMaxDepth@DFSITER_TREE@@AEAAXI@Z
+; private: void __cdecl DFSITER_TREE::SetNode(class TREE const * __ptr64) __ptr64
+?SetNode@DFSITER_TREE@@AEAAXPEBVTREE@@@Z
+; private: void __cdecl TREE::SetParent(class TREE * __ptr64) __ptr64
+?SetParent@TREE@@AEAAXPEAV1@@Z
+; public: void __cdecl TREE::SetProp(void * __ptr64 const) __ptr64
+?SetProp@TREE@@QEAAXQEAX@Z
+; private: void __cdecl TREE::SetRight(class TREE * __ptr64) __ptr64
+?SetRight@TREE@@AEAAXPEAV1@@Z
+; public: void __cdecl DBGSTREAM::SetSink(class OUTPUTSINK * __ptr64) __ptr64
+?SetSink@DBGSTREAM@@QEAAXPEAVOUTPUTSINK@@@Z
+; private: void __cdecl DFSITER_TREE::SetStartNode(class TREE const * __ptr64) __ptr64
+?SetStartNode@DFSITER_TREE@@AEAAXPEBVTREE@@@Z
+; public: long __cdecl WIN_TIME::SetTime(unsigned long) __ptr64
+?SetTime@WIN_TIME@@QEAAJK@Z
+; public: long __cdecl WIN_TIME::SetTime(struct _FILETIME) __ptr64
+?SetTime@WIN_TIME@@QEAAJU_FILETIME@@@Z
+; public: long __cdecl WIN_TIME::SetTimeLocal(unsigned long) __ptr64
+?SetTimeLocal@WIN_TIME@@QEAAJK@Z
+; public: long __cdecl WIN_TIME::SetTimeLocal(struct _FILETIME) __ptr64
+?SetTimeLocal@WIN_TIME@@QEAAJU_FILETIME@@@Z
+; public: long __cdecl REG_KEY::SetValue(class REG_VALUE_INFO_STRUCT * __ptr64) __ptr64
+?SetValue@REG_KEY@@QEAAJPEAVREG_VALUE_INFO_STRUCT@@@Z
+; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long const * __ptr64,int) __ptr64
+?SetValue@REG_KEY@@QEAAJPEBG0KPEBKH@Z
+; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,unsigned long,unsigned long const * __ptr64) __ptr64
+?SetValue@REG_KEY@@QEAAJPEBGKPEBK@Z
+; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,unsigned char const * __ptr64,long,unsigned long const * __ptr64) __ptr64
+?SetValue@REG_KEY@@QEAAJPEBGPEBEJPEBK@Z
+; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,class NLS_STR const * __ptr64,unsigned long const * __ptr64,int) __ptr64
+?SetValue@REG_KEY@@QEAAJPEBGPEBVNLS_STR@@PEBKH@Z
+; public: long __cdecl REG_KEY::SetValue(unsigned short const * __ptr64,class STRLIST const * __ptr64,unsigned long const * __ptr64) __ptr64
+?SetValue@REG_KEY@@QEAAJPEBGPEBVSTRLIST@@PEBK@Z
+; protected: int __cdecl FS_ENUM::ShouldThisFileBeIncluded(unsigned int)const  __ptr64
+?ShouldThisFileBeIncluded@FS_ENUM@@IEBAHI@Z
+; public: static long __cdecl UATOM_MANAGER::Terminate(void)
+?Terminate@UATOM_MANAGER@@SAJXZ
+; private: class UATOM * __ptr64 __cdecl UATOM_MANAGER::Tokenize(unsigned short const * __ptr64,int) __ptr64
+?Tokenize@UATOM_MANAGER@@AEAAPEAVUATOM@@PEBGH@Z
+; public: void __cdecl BUFFER::Trim(void) __ptr64
+?Trim@BUFFER@@QEAAXXZ
+; public: void __cdecl HEAP_BASE::Trim(void) __ptr64
+?Trim@HEAP_BASE@@QEAAXXZ
+; void __cdecl UIAssertCommand(char const * __ptr64)
+?UIAssertCommand@@YAXPEBD@Z
+; void __cdecl UIAssertHlp(char const * __ptr64,char const * __ptr64,unsigned int)
+?UIAssertHlp@@YAXPEBD0I@Z
+; void __cdecl UIAssertHlp(char const * __ptr64,unsigned int)
+?UIAssertHlp@@YAXPEBDI@Z
+; protected: void * __ptr64 __cdecl DLIST::Unlink(class DL_NODE * __ptr64) __ptr64
+?Unlink@DLIST@@IEAAPEAXPEAVDL_NODE@@@Z
+; protected: void __cdecl TREE::Unlink(void) __ptr64
+?Unlink@TREE@@IEAAXXZ
+; public: void __cdecl UATOM_LINKAGE::Unlink(void) __ptr64
+?Unlink@UATOM_LINKAGE@@QEAAXXZ
+; private: void __cdecl NLS_STR::UpdateIstr(class ISTR * __ptr64)const  __ptr64
+?UpdateIstr@NLS_STR@@AEBAXPEAVISTR@@@Z
+; public: int __cdecl STRLIST::WriteToBuffer(unsigned short * __ptr64,int,unsigned short * __ptr64) __ptr64
+?WriteToBuffer@STRLIST@@QEAAHPEAGH0@Z
+; public: void __cdecl DLIST::_DebugPrint(void)const  __ptr64
+?_DebugPrint@DLIST@@QEBAXXZ
+; public: void __cdecl SLIST::_DebugPrint(void)const  __ptr64
+?_DebugPrint@SLIST@@QEBAXXZ
+; public: void __cdecl TREE::_DebugPrint(void)const  __ptr64
+?_DebugPrint@TREE@@QEBAXXZ
+; public: int __cdecl NLS_STR::_IsOwnerAlloc(void)const  __ptr64
+?_IsOwnerAlloc@NLS_STR@@QEBAHXZ
+; public: unsigned int __cdecl NLS_STR::_QueryAllocSize(void)const  __ptr64
+?_QueryAllocSize@NLS_STR@@QEBAIXZ
+; public: unsigned short const * __ptr64 __cdecl NLS_STR::_QueryPch(void)const  __ptr64
+?_QueryPch@NLS_STR@@QEBAPEBGXZ
+; public: unsigned int __cdecl NLS_STR::_QueryTextLength(void)const  __ptr64
+?_QueryTextLength@NLS_STR@@QEBAIXZ
+; protected: void __cdecl BASE::_ReportError(long) __ptr64
+?_ReportError@BASE@@IEAAXJ@Z
+; public: int __cdecl NLS_STR::_stricmp(class NLS_STR const & __ptr64)const  __ptr64
+?_stricmp@NLS_STR@@QEBAHAEBV1@@Z
+; public: int __cdecl NLS_STR::_stricmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?_stricmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@1@Z
+; public: int __cdecl NLS_STR::_stricmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?_stricmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@@Z
+; public: int __cdecl NLS_STR::_strnicmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?_strnicmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@11@Z
+; public: int __cdecl NLS_STR::_strnicmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?_strnicmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@1@Z
+; public: int __cdecl NLS_STR::_strnicmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?_strnicmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@@Z
+; public: class NLS_STR & __ptr64 __cdecl NLS_STR::_strupr(void) __ptr64
+?_strupr@NLS_STR@@QEAAAEAV1@XZ
+; public: int __cdecl NLS_STR::atoi(class ISTR const & __ptr64)const  __ptr64
+?atoi@NLS_STR@@QEBAHAEBVISTR@@@Z
+; public: int __cdecl NLS_STR::atoi(void)const  __ptr64
+?atoi@NLS_STR@@QEBAHXZ
+; public: long __cdecl NLS_STR::atol(class ISTR const & __ptr64)const  __ptr64
+?atol@NLS_STR@@QEBAJAEBVISTR@@@Z
+; public: long __cdecl NLS_STR::atol(void)const  __ptr64
+?atol@NLS_STR@@QEBAJXZ
+; public: unsigned long __cdecl NLS_STR::atoul(class ISTR const & __ptr64)const  __ptr64
+?atoul@NLS_STR@@QEBAKAEBVISTR@@@Z
+; public: unsigned long __cdecl NLS_STR::atoul(void)const  __ptr64
+?atoul@NLS_STR@@QEBAKXZ
+; public: class NLS_STR & __ptr64 __cdecl NLS_STR::strcat(class NLS_STR const & __ptr64) __ptr64
+?strcat@NLS_STR@@QEAAAEAV1@AEBV1@@Z
+; public: int __cdecl NLS_STR::strchr(class ISTR * __ptr64,unsigned short)const  __ptr64
+?strchr@NLS_STR@@QEBAHPEAVISTR@@G@Z
+; public: int __cdecl NLS_STR::strchr(class ISTR * __ptr64,unsigned short,class ISTR const & __ptr64)const  __ptr64
+?strchr@NLS_STR@@QEBAHPEAVISTR@@GAEBV2@@Z
+; public: int __cdecl NLS_STR::strcmp(class NLS_STR const & __ptr64)const  __ptr64
+?strcmp@NLS_STR@@QEBAHAEBV1@@Z
+; public: int __cdecl NLS_STR::strcmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?strcmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@1@Z
+; public: int __cdecl NLS_STR::strcmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?strcmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@@Z
+; unsigned short * __ptr64 __cdecl strcpy(unsigned short * __ptr64,class NLS_STR const & __ptr64)
+?strcpy@@YAPEAGPEAGAEBVNLS_STR@@@Z
+; public: int __cdecl NLS_STR::strcspn(class ISTR * __ptr64,class NLS_STR const & __ptr64)const  __ptr64
+?strcspn@NLS_STR@@QEBAHPEAVISTR@@AEBV1@@Z
+; public: int __cdecl NLS_STR::strcspn(class ISTR * __ptr64,class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?strcspn@NLS_STR@@QEBAHPEAVISTR@@AEBV1@AEBV2@@Z
+; public: unsigned int __cdecl NLS_STR::strlen(void)const  __ptr64
+?strlen@NLS_STR@@QEBAIXZ
+; public: int __cdecl NLS_STR::strncmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?strncmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@11@Z
+; public: int __cdecl NLS_STR::strncmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?strncmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@1@Z
+; public: int __cdecl NLS_STR::strncmp(class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?strncmp@NLS_STR@@QEBAHAEBV1@AEBVISTR@@@Z
+; public: int __cdecl NLS_STR::strrchr(class ISTR * __ptr64,unsigned short)const  __ptr64
+?strrchr@NLS_STR@@QEBAHPEAVISTR@@G@Z
+; public: int __cdecl NLS_STR::strrchr(class ISTR * __ptr64,unsigned short,class ISTR const & __ptr64)const  __ptr64
+?strrchr@NLS_STR@@QEBAHPEAVISTR@@GAEBV2@@Z
+; public: int __cdecl NLS_STR::strspn(class ISTR * __ptr64,class NLS_STR const & __ptr64)const  __ptr64
+?strspn@NLS_STR@@QEBAHPEAVISTR@@AEBV1@@Z
+; public: int __cdecl NLS_STR::strspn(class ISTR * __ptr64,class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?strspn@NLS_STR@@QEBAHPEAVISTR@@AEBV1@AEBV2@@Z
+; public: int __cdecl NLS_STR::strstr(class ISTR * __ptr64,class NLS_STR const & __ptr64)const  __ptr64
+?strstr@NLS_STR@@QEBAHPEAVISTR@@AEBV1@@Z
+; public: int __cdecl NLS_STR::strstr(class ISTR * __ptr64,class NLS_STR const & __ptr64,class ISTR const & __ptr64)const  __ptr64
+?strstr@NLS_STR@@QEBAHPEAVISTR@@AEBV1@AEBV2@@Z
+; public: virtual void * __ptr64 __cdecl ITER_DL::vNext(void) __ptr64
+?vNext@ITER_DL@@UEAAPEAXXZ
+; public: virtual void * __ptr64 __cdecl RITER_DL::vNext(void) __ptr64
+?vNext@RITER_DL@@UEAAPEAXXZ
+InitCompareParam
+NETUI_InitIsDBCS
+NETUI_IsDBCS
+NETUI_strcmp
+NETUI_stricmp
+NETUI_strncmp
+NETUI_strncmp2
+NETUI_strnicmp
+NETUI_strnicmp2
+QueryNocaseCompareParam
+QueryStdCompareParam
+QueryUserDefaultLCID
+UserPreferenceQuery
+UserPreferenceQueryBool
+UserPreferenceSet
+UserPreferenceSetBool
+UserProfileEnum
+UserProfileFree
+UserProfileInit
+UserProfileQuery
+UserProfileRead
+UserProfileSet
+UserProfileWrite
diff --git a/mingw-w64-crt/lib64/netui1.def b/mingw-w64-crt/lib64/netui1.def
index af3ce69..58f913e 100644
--- a/mingw-w64-crt/lib64/netui1.def
+++ b/mingw-w64-crt/lib64/netui1.def
@@ -1,3052 +1,3052 @@
-; 
-; Exports of file NETUI1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETUI1.dll
-EXPORTS
-; public: __cdecl ADMIN_AUTHORITY::ADMIN_AUTHORITY(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64
-??0ADMIN_AUTHORITY@@QEAA@PEBGKKKKH@Z
-; public: __cdecl ALIAS_ENUM::ALIAS_ENUM(class SAM_DOMAIN & __ptr64,unsigned int) __ptr64
-??0ALIAS_ENUM@@QEAA@AEAVSAM_DOMAIN@@I@Z
-; public: __cdecl ALIAS_ENUM_ITER::ALIAS_ENUM_ITER(class ALIAS_ENUM & __ptr64) __ptr64
-??0ALIAS_ENUM_ITER@@QEAA@AEAVALIAS_ENUM@@@Z
-; public: __cdecl ALIAS_ENUM_OBJ::ALIAS_ENUM_OBJ(void) __ptr64
-??0ALIAS_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl ALIAS_STR::ALIAS_STR(unsigned short const * __ptr64) __ptr64
-??0ALIAS_STR@@QEAA@PEBG@Z
-; public: __cdecl ALLOC_STR::ALLOC_STR(unsigned short * __ptr64,unsigned int) __ptr64
-??0ALLOC_STR@@QEAA@PEAGI@Z
-; public: __cdecl API_SESSION::API_SESSION(unsigned short const * __ptr64,int) __ptr64
-??0API_SESSION@@QEAA@PEBGH@Z
-; protected: __cdecl BASE::BASE(void) __ptr64
-??0BASE@@IEAA@XZ
-; public: __cdecl BROWSE_DOMAIN_ENUM::BROWSE_DOMAIN_ENUM(unsigned long,unsigned long * __ptr64) __ptr64
-??0BROWSE_DOMAIN_ENUM@@QEAA@KPEAK@Z
-; public: __cdecl BROWSE_DOMAIN_INFO::BROWSE_DOMAIN_INFO(unsigned short const * __ptr64,unsigned long) __ptr64
-??0BROWSE_DOMAIN_INFO@@QEAA@PEBGK@Z
-; public: __cdecl CHARDEVQ1_ENUM::CHARDEVQ1_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CHARDEVQ1_ENUM@@QEAA@PEBG0@Z
-; public: __cdecl CHARDEVQ1_ENUM_ITER::CHARDEVQ1_ENUM_ITER(class CHARDEVQ1_ENUM & __ptr64) __ptr64
-??0CHARDEVQ1_ENUM_ITER@@QEAA@AEAVCHARDEVQ1_ENUM@@@Z
-; public: __cdecl CHARDEVQ1_ENUM_OBJ::CHARDEVQ1_ENUM_OBJ(void) __ptr64
-??0CHARDEVQ1_ENUM_OBJ@@QEAA@XZ
-; protected: __cdecl CHARDEVQ_ENUM::CHARDEVQ_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
-??0CHARDEVQ_ENUM@@IEAA@PEBG0I@Z
-; protected: __cdecl COMPUTER::COMPUTER(unsigned short const * __ptr64) __ptr64
-??0COMPUTER@@IEAA@PEBG@Z
-; public: __cdecl CONN0_ENUM::CONN0_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CONN0_ENUM@@QEAA@PEBG0@Z
-; public: __cdecl CONN0_ENUM_ITER::CONN0_ENUM_ITER(class CONN0_ENUM & __ptr64) __ptr64
-??0CONN0_ENUM_ITER@@QEAA@AEAVCONN0_ENUM@@@Z
-; public: __cdecl CONN0_ENUM_OBJ::CONN0_ENUM_OBJ(void) __ptr64
-??0CONN0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl CONN1_ENUM::CONN1_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CONN1_ENUM@@QEAA@PEBG0@Z
-; public: __cdecl CONN1_ENUM_ITER::CONN1_ENUM_ITER(class CONN1_ENUM & __ptr64) __ptr64
-??0CONN1_ENUM_ITER@@QEAA@AEAVCONN1_ENUM@@@Z
-; public: __cdecl CONN1_ENUM_OBJ::CONN1_ENUM_OBJ(void) __ptr64
-??0CONN1_ENUM_OBJ@@QEAA@XZ
-; protected: __cdecl CONN_ENUM::CONN_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
-??0CONN_ENUM@@IEAA@PEBG0I@Z
-; public: __cdecl CONTEXT_ENUM::CONTEXT_ENUM(unsigned long) __ptr64
-??0CONTEXT_ENUM@@QEAA@K@Z
-; public: __cdecl CONTEXT_ENUM_ITER::CONTEXT_ENUM_ITER(class CONTEXT_ENUM & __ptr64) __ptr64
-??0CONTEXT_ENUM_ITER@@QEAA@AEAVCONTEXT_ENUM@@@Z
-; public: __cdecl CONTEXT_ENUM_OBJ::CONTEXT_ENUM_OBJ(void) __ptr64
-??0CONTEXT_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl DEVICE2::DEVICE2(unsigned short const * __ptr64) __ptr64
-??0DEVICE2@@QEAA@PEBG@Z
-; public: __cdecl DEVICE::DEVICE(unsigned short const * __ptr64) __ptr64
-??0DEVICE@@QEAA@PEBG@Z
-; public: __cdecl DOMAIN0_ENUM::DOMAIN0_ENUM(unsigned short const * __ptr64) __ptr64
-??0DOMAIN0_ENUM@@QEAA@PEBG@Z
-; public: __cdecl DOMAIN0_ENUM_ITER::DOMAIN0_ENUM_ITER(class DOMAIN0_ENUM & __ptr64) __ptr64
-??0DOMAIN0_ENUM_ITER@@QEAA@AEAVDOMAIN0_ENUM@@@Z
-; public: __cdecl DOMAIN0_ENUM_OBJ::DOMAIN0_ENUM_OBJ(void) __ptr64
-??0DOMAIN0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl DOMAIN::DOMAIN(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-??0DOMAIN@@QEAA@PEBG0H@Z
-; public: __cdecl DOMAIN::DOMAIN(unsigned short const * __ptr64,int) __ptr64
-??0DOMAIN@@QEAA@PEBGH@Z
-; protected: __cdecl DOMAIN_ENUM::DOMAIN_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
-??0DOMAIN_ENUM@@IEAA@PEBGI@Z
-; public: __cdecl DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-??0DOMAIN_WITH_DC_CACHE@@QEAA@PEBG0H@Z
-; public: __cdecl DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const * __ptr64,int) __ptr64
-??0DOMAIN_WITH_DC_CACHE@@QEAA@PEBGH@Z
-; public: __cdecl ENUM_CALLER::ENUM_CALLER(void) __ptr64
-??0ENUM_CALLER@@QEAA@XZ
-; public: __cdecl ENUM_CALLER_LM_OBJ::ENUM_CALLER_LM_OBJ(class LOCATION const & __ptr64) __ptr64
-??0ENUM_CALLER_LM_OBJ@@QEAA@AEBVLOCATION@@@Z
-; protected: __cdecl ENUM_OBJ_BASE::ENUM_OBJ_BASE(void) __ptr64
-??0ENUM_OBJ_BASE@@IEAA@XZ
-; public: __cdecl FILE2_ENUM::FILE2_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0FILE2_ENUM@@QEAA@PEBG00@Z
-; public: __cdecl FILE2_ENUM_ITER::FILE2_ENUM_ITER(class FILE2_ENUM & __ptr64) __ptr64
-??0FILE2_ENUM_ITER@@QEAA@AEAVFILE2_ENUM@@@Z
-; public: __cdecl FILE2_ENUM_OBJ::FILE2_ENUM_OBJ(void) __ptr64
-??0FILE2_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl FILE3_ENUM::FILE3_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0FILE3_ENUM@@QEAA@PEBG00@Z
-; public: __cdecl FILE3_ENUM_ITER::FILE3_ENUM_ITER(class FILE3_ENUM & __ptr64) __ptr64
-??0FILE3_ENUM_ITER@@QEAA@AEAVFILE3_ENUM@@@Z
-; public: __cdecl FILE3_ENUM_OBJ::FILE3_ENUM_OBJ(void) __ptr64
-??0FILE3_ENUM_OBJ@@QEAA@XZ
-; protected: __cdecl FILE_ENUM::FILE_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
-??0FILE_ENUM@@IEAA@PEBG00I@Z
-; public: __cdecl GROUP0_ENUM::GROUP0_ENUM(class LOCATION const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0GROUP0_ENUM@@QEAA@AEBVLOCATION@@PEBG@Z
-; public: __cdecl GROUP0_ENUM::GROUP0_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0GROUP0_ENUM@@QEAA@PEBG0@Z
-; public: __cdecl GROUP0_ENUM::GROUP0_ENUM(enum LOCATION_TYPE,unsigned short const * __ptr64) __ptr64
-??0GROUP0_ENUM@@QEAA@W4LOCATION_TYPE@@PEBG@Z
-; public: __cdecl GROUP0_ENUM_ITER::GROUP0_ENUM_ITER(class GROUP0_ENUM & __ptr64) __ptr64
-??0GROUP0_ENUM_ITER@@QEAA@AEAVGROUP0_ENUM@@@Z
-; public: __cdecl GROUP0_ENUM_OBJ::GROUP0_ENUM_OBJ(void) __ptr64
-??0GROUP0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl GROUP1_ENUM::GROUP1_ENUM(class LOCATION const & __ptr64) __ptr64
-??0GROUP1_ENUM@@QEAA@AEBVLOCATION@@@Z
-; public: __cdecl GROUP1_ENUM::GROUP1_ENUM(unsigned short const * __ptr64) __ptr64
-??0GROUP1_ENUM@@QEAA@PEBG@Z
-; public: __cdecl GROUP1_ENUM::GROUP1_ENUM(enum LOCATION_TYPE) __ptr64
-??0GROUP1_ENUM@@QEAA@W4LOCATION_TYPE@@@Z
-; public: __cdecl GROUP1_ENUM_ITER::GROUP1_ENUM_ITER(class GROUP1_ENUM & __ptr64) __ptr64
-??0GROUP1_ENUM_ITER@@QEAA@AEAVGROUP1_ENUM@@@Z
-; public: __cdecl GROUP1_ENUM_OBJ::GROUP1_ENUM_OBJ(void) __ptr64
-??0GROUP1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl GROUP::GROUP(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0GROUP@@QEAA@PEBG0@Z
-; public: __cdecl GROUP::GROUP(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0GROUP@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl GROUP::GROUP(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0GROUP@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl GROUP_0::GROUP_0(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0GROUP_0@@QEAA@PEBG0@Z
-; public: __cdecl GROUP_0::GROUP_0(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0GROUP_0@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl GROUP_0::GROUP_0(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0GROUP_0@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl GROUP_1::GROUP_1(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0GROUP_1@@QEAA@PEBG0@Z
-; public: __cdecl GROUP_1::GROUP_1(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0GROUP_1@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl GROUP_1::GROUP_1(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0GROUP_1@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; protected: __cdecl GROUP_ENUM::GROUP_ENUM(class LOCATION const & __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
-??0GROUP_ENUM@@IEAA@AEBVLOCATION@@IPEBG@Z
-; protected: __cdecl GROUP_ENUM::GROUP_ENUM(unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
-??0GROUP_ENUM@@IEAA@PEBGI0@Z
-; protected: __cdecl GROUP_ENUM::GROUP_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const * __ptr64) __ptr64
-??0GROUP_ENUM@@IEAA@W4LOCATION_TYPE@@IPEBG@Z
-; public: __cdecl GROUP_MEMB::GROUP_MEMB(class LOCATION const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0GROUP_MEMB@@QEAA@AEBVLOCATION@@PEBG@Z
-; public: __cdecl ITER_DEVICE::ITER_DEVICE(enum LMO_DEVICE,enum LMO_DEV_USAGE) __ptr64
-??0ITER_DEVICE@@QEAA@W4LMO_DEVICE@@W4LMO_DEV_USAGE@@@Z
-; public: __cdecl ITER_SL_BROWSE_DOMAIN_INFO::ITER_SL_BROWSE_DOMAIN_INFO(class SLIST & __ptr64) __ptr64
-??0ITER_SL_BROWSE_DOMAIN_INFO@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl ITER_SL_LM_RESUME_BUFFER::ITER_SL_LM_RESUME_BUFFER(class SLIST & __ptr64) __ptr64
-??0ITER_SL_LM_RESUME_BUFFER@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl LM_CONFIG::LM_CONFIG(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0LM_CONFIG@@QEAA@PEBG00@Z
-; protected: __cdecl LM_ENUM::LM_ENUM(unsigned int) __ptr64
-??0LM_ENUM@@IEAA@I@Z
-; protected: __cdecl LM_ENUM_ITER::LM_ENUM_ITER(class LM_ENUM & __ptr64) __ptr64
-??0LM_ENUM_ITER@@IEAA@AEAVLM_ENUM@@@Z
-; protected: __cdecl LM_FILE::LM_FILE(unsigned short const * __ptr64,unsigned long) __ptr64
-??0LM_FILE@@IEAA@PEBGK@Z
-; public: __cdecl LM_FILE_2::LM_FILE_2(unsigned short const * __ptr64,unsigned long) __ptr64
-??0LM_FILE_2@@QEAA@PEBGK@Z
-; public: __cdecl LM_FILE_3::LM_FILE_3(unsigned short const * __ptr64,unsigned long) __ptr64
-??0LM_FILE_3@@QEAA@PEBGK@Z
-; public: __cdecl LM_MESSAGE::LM_MESSAGE(class LOCATION & __ptr64) __ptr64
-??0LM_MESSAGE@@QEAA@AEAVLOCATION@@@Z
-; public: __cdecl LM_MESSAGE::LM_MESSAGE(unsigned short const * __ptr64) __ptr64
-??0LM_MESSAGE@@QEAA@PEBG@Z
-; public: __cdecl LM_MESSAGE::LM_MESSAGE(enum LOCATION_TYPE) __ptr64
-??0LM_MESSAGE@@QEAA@W4LOCATION_TYPE@@@Z
-; public: __cdecl LM_OBJ::LM_OBJ(void) __ptr64
-??0LM_OBJ@@QEAA@XZ
-; protected: __cdecl LM_OBJ_BASE::LM_OBJ_BASE(int) __ptr64
-??0LM_OBJ_BASE@@IEAA@H@Z
-; public: __cdecl LM_RESUME_BUFFER::LM_RESUME_BUFFER(class LM_RESUME_ENUM * __ptr64,unsigned int,unsigned char * __ptr64) __ptr64
-??0LM_RESUME_BUFFER@@QEAA@PEAVLM_RESUME_ENUM@@IPEAE@Z
-; protected: __cdecl LM_RESUME_ENUM::LM_RESUME_ENUM(unsigned int,int) __ptr64
-??0LM_RESUME_ENUM@@IEAA@IH@Z
-; protected: __cdecl LM_RESUME_ENUM_ITER::LM_RESUME_ENUM_ITER(class LM_RESUME_ENUM & __ptr64) __ptr64
-??0LM_RESUME_ENUM_ITER@@IEAA@AEAVLM_RESUME_ENUM@@@Z
-; public: __cdecl LM_SERVICE::LM_SERVICE(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0LM_SERVICE@@QEAA@PEBG0@Z
-; protected: __cdecl LM_SESSION::LM_SESSION(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0LM_SESSION@@IEAA@PEBG0@Z
-; protected: __cdecl LM_SESSION::LM_SESSION(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0LM_SESSION@@IEAA@PEBGAEBVLOCATION@@@Z
-; protected: __cdecl LM_SESSION::LM_SESSION(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0LM_SESSION@@IEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl LM_SESSION_0::LM_SESSION_0(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0LM_SESSION_0@@QEAA@PEBG0@Z
-; public: __cdecl LM_SESSION_0::LM_SESSION_0(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0LM_SESSION_0@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl LM_SESSION_0::LM_SESSION_0(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0LM_SESSION_0@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl LM_SESSION_10::LM_SESSION_10(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0LM_SESSION_10@@QEAA@PEBG0@Z
-; public: __cdecl LM_SESSION_10::LM_SESSION_10(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0LM_SESSION_10@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl LM_SESSION_10::LM_SESSION_10(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0LM_SESSION_10@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl LM_SESSION_1::LM_SESSION_1(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0LM_SESSION_1@@QEAA@PEBG0@Z
-; public: __cdecl LM_SESSION_1::LM_SESSION_1(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0LM_SESSION_1@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl LM_SESSION_1::LM_SESSION_1(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0LM_SESSION_1@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl LM_SESSION_2::LM_SESSION_2(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0LM_SESSION_2@@QEAA@PEBG0@Z
-; public: __cdecl LM_SESSION_2::LM_SESSION_2(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0LM_SESSION_2@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl LM_SESSION_2::LM_SESSION_2(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0LM_SESSION_2@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl LM_SRVRES::LM_SRVRES(void) __ptr64
-??0LM_SRVRES@@QEAA@XZ
-; public: __cdecl LOCAL_USER::LOCAL_USER(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0LOCAL_USER@@QEAA@PEBG0@Z
-; public: __cdecl LOCAL_USER::LOCAL_USER(enum LOCATION_TYPE) __ptr64
-??0LOCAL_USER@@QEAA@W4LOCATION_TYPE@@@Z
-; public: __cdecl LOCATION::LOCATION(class LOCATION const & __ptr64) __ptr64
-??0LOCATION@@QEAA@AEBV0@@Z
-; public: __cdecl LOCATION::LOCATION(unsigned short const * __ptr64,int) __ptr64
-??0LOCATION@@QEAA@PEBGH@Z
-; public: __cdecl LOCATION::LOCATION(enum LOCATION_TYPE,int) __ptr64
-??0LOCATION@@QEAA@W4LOCATION_TYPE@@H@Z
-; protected: __cdecl LOC_LM_ENUM::LOC_LM_ENUM(class LOCATION const & __ptr64,unsigned int) __ptr64
-??0LOC_LM_ENUM@@IEAA@AEBVLOCATION@@I@Z
-; protected: __cdecl LOC_LM_ENUM::LOC_LM_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
-??0LOC_LM_ENUM@@IEAA@PEBGI@Z
-; protected: __cdecl LOC_LM_ENUM::LOC_LM_ENUM(enum LOCATION_TYPE,unsigned int) __ptr64
-??0LOC_LM_ENUM@@IEAA@W4LOCATION_TYPE@@I@Z
-; public: __cdecl LOC_LM_OBJ::LOC_LM_OBJ(class LOCATION const & __ptr64,int) __ptr64
-??0LOC_LM_OBJ@@QEAA@AEBVLOCATION@@H@Z
-; public: __cdecl LOC_LM_OBJ::LOC_LM_OBJ(unsigned short const * __ptr64,int) __ptr64
-??0LOC_LM_OBJ@@QEAA@PEBGH@Z
-; public: __cdecl LOC_LM_OBJ::LOC_LM_OBJ(enum LOCATION_TYPE,int) __ptr64
-??0LOC_LM_OBJ@@QEAA@W4LOCATION_TYPE@@H@Z
-; protected: __cdecl LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(class LOCATION const & __ptr64,unsigned int,int) __ptr64
-??0LOC_LM_RESUME_ENUM@@IEAA@AEBVLOCATION@@IH@Z
-; protected: __cdecl LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(unsigned short const * __ptr64,unsigned int,int) __ptr64
-??0LOC_LM_RESUME_ENUM@@IEAA@PEBGIH@Z
-; protected: __cdecl LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(enum LOCATION_TYPE,unsigned int,int) __ptr64
-??0LOC_LM_RESUME_ENUM@@IEAA@W4LOCATION_TYPE@@IH@Z
-; public: __cdecl LSA_ACCOUNT::LSA_ACCOUNT(class LSA_POLICY * __ptr64,void * __ptr64,unsigned long,unsigned short const * __ptr64,void * __ptr64) __ptr64
-??0LSA_ACCOUNT@@QEAA@PEAVLSA_POLICY@@PEAXKPEBG1@Z
-; public: __cdecl LSA_ACCOUNTS_ENUM::LSA_ACCOUNTS_ENUM(class LSA_POLICY const * __ptr64) __ptr64
-??0LSA_ACCOUNTS_ENUM@@QEAA@PEBVLSA_POLICY@@@Z
-; public: __cdecl LSA_ACCOUNTS_ENUM_ITER::LSA_ACCOUNTS_ENUM_ITER(class LSA_ACCOUNTS_ENUM & __ptr64) __ptr64
-??0LSA_ACCOUNTS_ENUM_ITER@@QEAA@AEAVLSA_ACCOUNTS_ENUM@@@Z
-; public: __cdecl LSA_ACCOUNTS_ENUM_OBJ::LSA_ACCOUNTS_ENUM_OBJ(void) __ptr64
-??0LSA_ACCOUNTS_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(class OS_PRIVILEGE_SET * __ptr64) __ptr64
-??0LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QEAA@PEAVOS_PRIVILEGE_SET@@@Z
-; public: __cdecl LSA_ACCT_DOM_INFO_MEM::LSA_ACCT_DOM_INFO_MEM(int) __ptr64
-??0LSA_ACCT_DOM_INFO_MEM@@QEAA@H@Z
-; public: __cdecl LSA_AUDIT_EVENT_INFO_MEM::LSA_AUDIT_EVENT_INFO_MEM(int) __ptr64
-??0LSA_AUDIT_EVENT_INFO_MEM@@QEAA@H@Z
-; public: __cdecl LSA_DOMAIN_INFO::LSA_DOMAIN_INFO(class NLS_STR const & __ptr64,class LSA_DOMAIN_INFO const * __ptr64,class LSA_DOMAIN_INFO const * __ptr64) __ptr64
-??0LSA_DOMAIN_INFO@@QEAA@AEBVNLS_STR@@PEBV1@1@Z
-; protected: __cdecl LSA_ENUM::LSA_ENUM(class LSA_POLICY const * __ptr64) __ptr64
-??0LSA_ENUM@@IEAA@PEBVLSA_POLICY@@@Z
-; protected: __cdecl LSA_MEMORY::LSA_MEMORY(int) __ptr64
-??0LSA_MEMORY@@IEAA@H@Z
-; protected: __cdecl LSA_OBJECT::LSA_OBJECT(void) __ptr64
-??0LSA_OBJECT@@IEAA@XZ
-; public: __cdecl LSA_POLICY::LSA_POLICY(unsigned short const * __ptr64,unsigned long) __ptr64
-??0LSA_POLICY@@QEAA@PEBGK@Z
-; public: __cdecl LSA_PRIMARY_DOM_INFO_MEM::LSA_PRIMARY_DOM_INFO_MEM(int) __ptr64
-??0LSA_PRIMARY_DOM_INFO_MEM@@QEAA@H@Z
-; public: __cdecl LSA_PRIVILEGES_ENUM::LSA_PRIVILEGES_ENUM(class LSA_POLICY const * __ptr64) __ptr64
-??0LSA_PRIVILEGES_ENUM@@QEAA@PEBVLSA_POLICY@@@Z
-; public: __cdecl LSA_PRIVILEGES_ENUM_ITER::LSA_PRIVILEGES_ENUM_ITER(class LSA_PRIVILEGES_ENUM & __ptr64) __ptr64
-??0LSA_PRIVILEGES_ENUM_ITER@@QEAA@AEAVLSA_PRIVILEGES_ENUM@@@Z
-; public: __cdecl LSA_PRIVILEGES_ENUM_OBJ::LSA_PRIVILEGES_ENUM_OBJ(void) __ptr64
-??0LSA_PRIVILEGES_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl LSA_REF_DOMAIN_MEM::LSA_REF_DOMAIN_MEM(int) __ptr64
-??0LSA_REF_DOMAIN_MEM@@QEAA@H@Z
-; public: __cdecl LSA_SECRET::LSA_SECRET(class NLS_STR const & __ptr64) __ptr64
-??0LSA_SECRET@@QEAA@AEBVNLS_STR@@@Z
-; public: __cdecl LSA_SERVER_ROLE_INFO_MEM::LSA_SERVER_ROLE_INFO_MEM(int,int) __ptr64
-??0LSA_SERVER_ROLE_INFO_MEM@@QEAA@HH@Z
-; public: __cdecl LSA_TRANSLATED_NAME_MEM::LSA_TRANSLATED_NAME_MEM(int) __ptr64
-??0LSA_TRANSLATED_NAME_MEM@@QEAA@H@Z
-; public: __cdecl LSA_TRANSLATED_SID_MEM::LSA_TRANSLATED_SID_MEM(int) __ptr64
-??0LSA_TRANSLATED_SID_MEM@@QEAA@H@Z
-; public: __cdecl LSA_TRUSTED_DC_LIST::LSA_TRUSTED_DC_LIST(class NLS_STR const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0LSA_TRUSTED_DC_LIST@@QEAA@AEBVNLS_STR@@PEBG@Z
-; public: __cdecl LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const & __ptr64,struct _LSA_TRUST_INFORMATION const & __ptr64,unsigned long) __ptr64
-??0LSA_TRUSTED_DOMAIN@@QEAA@AEBVLSA_POLICY@@AEBU_LSA_TRUST_INFORMATION@@K@Z
-; public: __cdecl LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const & __ptr64,class NLS_STR const & __ptr64,void * __ptr64 const,unsigned long) __ptr64
-??0LSA_TRUSTED_DOMAIN@@QEAA@AEBVLSA_POLICY@@AEBVNLS_STR@@QEAXK@Z
-; public: __cdecl LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const & __ptr64,void * __ptr64 const,unsigned long) __ptr64
-??0LSA_TRUSTED_DOMAIN@@QEAA@AEBVLSA_POLICY@@QEAXK@Z
-; public: __cdecl LSA_TRUST_INFO_MEM::LSA_TRUST_INFO_MEM(int) __ptr64
-??0LSA_TRUST_INFO_MEM@@QEAA@H@Z
-; public: __cdecl MEMBERSHIP_LM_OBJ::MEMBERSHIP_LM_OBJ(class LOCATION const & __ptr64,unsigned int) __ptr64
-??0MEMBERSHIP_LM_OBJ@@QEAA@AEBVLOCATION@@I@Z
-; protected: __cdecl NET_ACCESS::NET_ACCESS(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0NET_ACCESS@@IEAA@PEBG0@Z
-; public: __cdecl NET_ACCESS_1::NET_ACCESS_1(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0NET_ACCESS_1@@QEAA@PEBG0@Z
-; public: __cdecl NET_NAME::NET_NAME(unsigned short const * __ptr64,enum NETNAME_TYPE) __ptr64
-??0NET_NAME@@QEAA@PEBGW4NETNAME_TYPE@@@Z
-; public: __cdecl NEW_LM_OBJ::NEW_LM_OBJ(int) __ptr64
-??0NEW_LM_OBJ@@QEAA@H@Z
-; protected: __cdecl NT_ACCOUNT_ENUM::NT_ACCOUNT_ENUM(class SAM_DOMAIN const * __ptr64,enum _DOMAIN_DISPLAY_INFORMATION,int) __ptr64
-??0NT_ACCOUNT_ENUM@@IEAA@PEBVSAM_DOMAIN@@W4_DOMAIN_DISPLAY_INFORMATION@@H@Z
-; public: __cdecl NT_GROUP_ENUM::NT_GROUP_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
-??0NT_GROUP_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
-; public: __cdecl NT_GROUP_ENUM_ITER::NT_GROUP_ENUM_ITER(class NT_GROUP_ENUM & __ptr64) __ptr64
-??0NT_GROUP_ENUM_ITER@@QEAA@AEAVNT_GROUP_ENUM@@@Z
-; public: __cdecl NT_GROUP_ENUM_OBJ::NT_GROUP_ENUM_OBJ(void) __ptr64
-??0NT_GROUP_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl NT_MACHINE_ENUM::NT_MACHINE_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
-??0NT_MACHINE_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
-; public: __cdecl NT_MACHINE_ENUM_ITER::NT_MACHINE_ENUM_ITER(class NT_MACHINE_ENUM & __ptr64) __ptr64
-??0NT_MACHINE_ENUM_ITER@@QEAA@AEAVNT_MACHINE_ENUM@@@Z
-; public: __cdecl NT_MACHINE_ENUM_OBJ::NT_MACHINE_ENUM_OBJ(void) __ptr64
-??0NT_MACHINE_ENUM_OBJ@@QEAA@XZ
-; protected: __cdecl NT_MEMORY::NT_MEMORY(void) __ptr64
-??0NT_MEMORY@@IEAA@XZ
-; public: __cdecl NT_USER_ENUM::NT_USER_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
-??0NT_USER_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
-; public: __cdecl NT_USER_ENUM_ITER::NT_USER_ENUM_ITER(class NT_USER_ENUM & __ptr64) __ptr64
-??0NT_USER_ENUM_ITER@@QEAA@AEAVNT_USER_ENUM@@@Z
-; public: __cdecl NT_USER_ENUM_OBJ::NT_USER_ENUM_OBJ(void) __ptr64
-??0NT_USER_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl OS_ACE::OS_ACE(void * __ptr64) __ptr64
-??0OS_ACE@@QEAA@PEAX@Z
-; public: __cdecl OS_ACL::OS_ACL(struct _ACL * __ptr64,int,class OS_SECURITY_DESCRIPTOR * __ptr64) __ptr64
-??0OS_ACL@@QEAA@PEAU_ACL@@HPEAVOS_SECURITY_DESCRIPTOR@@@Z
-; public: __cdecl OS_ACL_SUBJECT_ITER::OS_ACL_SUBJECT_ITER(class OS_ACL const * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
-??0OS_ACL_SUBJECT_ITER@@QEAA@PEBVOS_ACL@@PEAU_GENERIC_MAPPING@@1HH@Z
-; public: __cdecl OS_DACL_SUBJECT_ITER::OS_DACL_SUBJECT_ITER(class OS_ACL * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
-??0OS_DACL_SUBJECT_ITER@@QEAA@PEAVOS_ACL@@PEAU_GENERIC_MAPPING@@1HH@Z
-; public: __cdecl OS_LUID::OS_LUID(struct _LUID) __ptr64
-??0OS_LUID@@QEAA@U_LUID@@@Z
-; public: __cdecl OS_LUID::OS_LUID(void) __ptr64
-??0OS_LUID@@QEAA@XZ
-; public: __cdecl OS_LUID_AND_ATTRIBUTES::OS_LUID_AND_ATTRIBUTES(void) __ptr64
-??0OS_LUID_AND_ATTRIBUTES@@QEAA@XZ
-; protected: __cdecl OS_OBJECT_WITH_DATA::OS_OBJECT_WITH_DATA(unsigned int) __ptr64
-??0OS_OBJECT_WITH_DATA@@IEAA@I@Z
-; public: __cdecl OS_PRIVILEGE_SET::OS_PRIVILEGE_SET(struct _PRIVILEGE_SET * __ptr64) __ptr64
-??0OS_PRIVILEGE_SET@@QEAA@PEAU_PRIVILEGE_SET@@@Z
-; public: __cdecl OS_SACL_SUBJECT_ITER::OS_SACL_SUBJECT_ITER(class OS_ACL * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
-??0OS_SACL_SUBJECT_ITER@@QEAA@PEAVOS_ACL@@PEAU_GENERIC_MAPPING@@1HH@Z
-; public: __cdecl OS_SECURITY_DESCRIPTOR::OS_SECURITY_DESCRIPTOR(void * __ptr64,int) __ptr64
-??0OS_SECURITY_DESCRIPTOR@@QEAA@PEAXH@Z
-; public: __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::OS_SECURITY_DESCRIPTOR_CONTROL(unsigned short * __ptr64) __ptr64
-??0OS_SECURITY_DESCRIPTOR_CONTROL@@QEAA@PEAG@Z
-; public: __cdecl OS_SID::OS_SID(void * __ptr64,int,class OS_SECURITY_DESCRIPTOR * __ptr64) __ptr64
-??0OS_SID@@QEAA@PEAXHPEAVOS_SECURITY_DESCRIPTOR@@@Z
-; public: __cdecl OS_SID::OS_SID(void * __ptr64,unsigned long,class OS_SECURITY_DESCRIPTOR * __ptr64) __ptr64
-??0OS_SID@@QEAA@PEAXKPEAVOS_SECURITY_DESCRIPTOR@@@Z
-; public: __cdecl SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const & __ptr64,unsigned long,unsigned long) __ptr64
-??0SAM_ALIAS@@QEAA@AEBVSAM_DOMAIN@@KK@Z
-; public: __cdecl SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const & __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0SAM_ALIAS@@QEAA@AEBVSAM_DOMAIN@@PEBGK@Z
-; public: __cdecl SAM_DOMAIN::SAM_DOMAIN(class SAM_SERVER const & __ptr64,void * __ptr64,unsigned long) __ptr64
-??0SAM_DOMAIN@@QEAA@AEBVSAM_SERVER@@PEAXK@Z
-; public: __cdecl SAM_GROUP::SAM_GROUP(class SAM_DOMAIN const & __ptr64,unsigned long,unsigned long) __ptr64
-??0SAM_GROUP@@QEAA@AEBVSAM_DOMAIN@@KK@Z
-; protected: __cdecl SAM_MEMORY::SAM_MEMORY(int) __ptr64
-??0SAM_MEMORY@@IEAA@H@Z
-; protected: __cdecl SAM_OBJECT::SAM_OBJECT(void) __ptr64
-??0SAM_OBJECT@@IEAA@XZ
-; public: __cdecl SAM_PSWD_DOM_INFO_MEM::SAM_PSWD_DOM_INFO_MEM(int) __ptr64
-??0SAM_PSWD_DOM_INFO_MEM@@QEAA@H@Z
-; public: __cdecl SAM_RID_ENUMERATION_MEM::SAM_RID_ENUMERATION_MEM(int) __ptr64
-??0SAM_RID_ENUMERATION_MEM@@QEAA@H@Z
-; public: __cdecl SAM_RID_MEM::SAM_RID_MEM(int) __ptr64
-??0SAM_RID_MEM@@QEAA@H@Z
-; public: __cdecl SAM_SERVER::SAM_SERVER(unsigned short const * __ptr64,unsigned long) __ptr64
-??0SAM_SERVER@@QEAA@PEBGK@Z
-; public: __cdecl SAM_SID_MEM::SAM_SID_MEM(int) __ptr64
-??0SAM_SID_MEM@@QEAA@H@Z
-; public: __cdecl SAM_SID_NAME_USE_MEM::SAM_SID_NAME_USE_MEM(int) __ptr64
-??0SAM_SID_NAME_USE_MEM@@QEAA@H@Z
-; public: __cdecl SAM_USER::SAM_USER(class SAM_DOMAIN const & __ptr64,unsigned long,unsigned long) __ptr64
-??0SAM_USER@@QEAA@AEBVSAM_DOMAIN@@KK@Z
-; public: __cdecl SAM_USER_ENUM::SAM_USER_ENUM(class SAM_DOMAIN const * __ptr64,unsigned long,int) __ptr64
-??0SAM_USER_ENUM@@QEAA@PEBVSAM_DOMAIN@@KH@Z
-; public: __cdecl SAM_USER_ENUM_ITER::SAM_USER_ENUM_ITER(class SAM_USER_ENUM & __ptr64) __ptr64
-??0SAM_USER_ENUM_ITER@@QEAA@AEAVSAM_USER_ENUM@@@Z
-; public: __cdecl SAM_USER_ENUM_OBJ::SAM_USER_ENUM_OBJ(void) __ptr64
-??0SAM_USER_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SC_MANAGER::SC_MANAGER(struct SC_HANDLE__ * __ptr64) __ptr64
-??0SC_MANAGER@@QEAA@PEAUSC_HANDLE__@@@Z
-; public: __cdecl SC_MANAGER::SC_MANAGER(unsigned short const * __ptr64,unsigned int,enum SERVICE_DATABASE) __ptr64
-??0SC_MANAGER@@QEAA@PEBGIW4SERVICE_DATABASE@@@Z
-; public: __cdecl SC_SERVICE::SC_SERVICE(class SC_MANAGER const & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
-??0SC_SERVICE@@QEAA@AEBVSC_MANAGER@@PEBG1III11111I@Z
-; public: __cdecl SC_SERVICE::SC_SERVICE(class SC_MANAGER const & __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
-??0SC_SERVICE@@QEAA@AEBVSC_MANAGER@@PEBGI@Z
-; public: __cdecl SERVER1_ENUM::SERVER1_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0SERVER1_ENUM@@QEAA@PEBG0K@Z
-; public: __cdecl SERVER1_ENUM_ITER::SERVER1_ENUM_ITER(class SERVER1_ENUM & __ptr64) __ptr64
-??0SERVER1_ENUM_ITER@@QEAA@AEAVSERVER1_ENUM@@@Z
-; public: __cdecl SERVER1_ENUM_OBJ::SERVER1_ENUM_OBJ(void) __ptr64
-??0SERVER1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SERVER_0::SERVER_0(unsigned short const * __ptr64) __ptr64
-??0SERVER_0@@QEAA@PEBG@Z
-; public: __cdecl SERVER_1::SERVER_1(unsigned short const * __ptr64) __ptr64
-??0SERVER_1@@QEAA@PEBG@Z
-; public: __cdecl SERVER_2::SERVER_2(unsigned short const * __ptr64) __ptr64
-??0SERVER_2@@QEAA@PEBG@Z
-; protected: __cdecl SERVER_ENUM::SERVER_ENUM(unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64,unsigned long) __ptr64
-??0SERVER_ENUM@@IEAA@PEBGI0K@Z
-; public: __cdecl SERVICE_CONTROL::SERVICE_CONTROL(void) __ptr64
-??0SERVICE_CONTROL@@QEAA@XZ
-; public: __cdecl SERVICE_ENUM::SERVICE_ENUM(unsigned short const * __ptr64,int,unsigned int,unsigned short const * __ptr64) __ptr64
-??0SERVICE_ENUM@@QEAA@PEBGHI0@Z
-; public: __cdecl SERVICE_ENUM_ITER::SERVICE_ENUM_ITER(class SERVICE_ENUM & __ptr64) __ptr64
-??0SERVICE_ENUM_ITER@@QEAA@AEAVSERVICE_ENUM@@@Z
-; public: __cdecl SERVICE_ENUM_OBJ::SERVICE_ENUM_OBJ(void) __ptr64
-??0SERVICE_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SESSION0_ENUM::SESSION0_ENUM(unsigned short const * __ptr64) __ptr64
-??0SESSION0_ENUM@@QEAA@PEBG@Z
-; public: __cdecl SESSION0_ENUM_ITER::SESSION0_ENUM_ITER(class SESSION0_ENUM & __ptr64) __ptr64
-??0SESSION0_ENUM_ITER@@QEAA@AEAVSESSION0_ENUM@@@Z
-; public: __cdecl SESSION0_ENUM_OBJ::SESSION0_ENUM_OBJ(void) __ptr64
-??0SESSION0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SESSION1_ENUM::SESSION1_ENUM(unsigned short const * __ptr64) __ptr64
-??0SESSION1_ENUM@@QEAA@PEBG@Z
-; public: __cdecl SESSION1_ENUM_ITER::SESSION1_ENUM_ITER(class SESSION1_ENUM & __ptr64) __ptr64
-??0SESSION1_ENUM_ITER@@QEAA@AEAVSESSION1_ENUM@@@Z
-; public: __cdecl SESSION1_ENUM_OBJ::SESSION1_ENUM_OBJ(void) __ptr64
-??0SESSION1_ENUM_OBJ@@QEAA@XZ
-; protected: __cdecl SESSION_ENUM::SESSION_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
-??0SESSION_ENUM@@IEAA@PEBGI@Z
-; public: __cdecl SHARE1_ENUM::SHARE1_ENUM(unsigned short const * __ptr64,int) __ptr64
-??0SHARE1_ENUM@@QEAA@PEBGH@Z
-; public: __cdecl SHARE1_ENUM_ITER::SHARE1_ENUM_ITER(class SHARE1_ENUM & __ptr64) __ptr64
-??0SHARE1_ENUM_ITER@@QEAA@AEAVSHARE1_ENUM@@@Z
-; public: __cdecl SHARE1_ENUM_OBJ::SHARE1_ENUM_OBJ(void) __ptr64
-??0SHARE1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SHARE2_ENUM::SHARE2_ENUM(unsigned short const * __ptr64,int) __ptr64
-??0SHARE2_ENUM@@QEAA@PEBGH@Z
-; public: __cdecl SHARE2_ENUM_ITER::SHARE2_ENUM_ITER(class SHARE2_ENUM & __ptr64) __ptr64
-??0SHARE2_ENUM_ITER@@QEAA@AEAVSHARE2_ENUM@@@Z
-; public: __cdecl SHARE2_ENUM_OBJ::SHARE2_ENUM_OBJ(void) __ptr64
-??0SHARE2_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SHARE::SHARE(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-??0SHARE@@QEAA@PEBG0H@Z
-; public: __cdecl SHARE_1::SHARE_1(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-??0SHARE_1@@QEAA@PEBG0H@Z
-; public: __cdecl SHARE_2::SHARE_2(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-??0SHARE_2@@QEAA@PEBG0H@Z
-; protected: __cdecl SHARE_ENUM::SHARE_ENUM(unsigned short const * __ptr64,unsigned int,int) __ptr64
-??0SHARE_ENUM@@IEAA@PEBGIH@Z
-; public: __cdecl SLIST_OF_ADMIN_AUTHORITY::SLIST_OF_ADMIN_AUTHORITY(int) __ptr64
-??0SLIST_OF_ADMIN_AUTHORITY@@QEAA@H@Z
-; public: __cdecl SLIST_OF_API_SESSION::SLIST_OF_API_SESSION(int) __ptr64
-??0SLIST_OF_API_SESSION@@QEAA@H@Z
-; public: __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::SLIST_OF_BROWSE_DOMAIN_INFO(int) __ptr64
-??0SLIST_OF_BROWSE_DOMAIN_INFO@@QEAA@H@Z
-; public: __cdecl SLIST_OF_LM_RESUME_BUFFER::SLIST_OF_LM_RESUME_BUFFER(int) __ptr64
-??0SLIST_OF_LM_RESUME_BUFFER@@QEAA@H@Z
-; public: __cdecl TIME_OF_DAY::TIME_OF_DAY(class LOCATION & __ptr64) __ptr64
-??0TIME_OF_DAY@@QEAA@AEAVLOCATION@@@Z
-; public: __cdecl TIME_OF_DAY::TIME_OF_DAY(unsigned short const * __ptr64) __ptr64
-??0TIME_OF_DAY@@QEAA@PEBG@Z
-; public: __cdecl TIME_OF_DAY::TIME_OF_DAY(enum LOCATION_TYPE) __ptr64
-??0TIME_OF_DAY@@QEAA@W4LOCATION_TYPE@@@Z
-; public: __cdecl TRIPLE_SERVER_ENUM::TRIPLE_SERVER_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,int,int,int,int) __ptr64
-??0TRIPLE_SERVER_ENUM@@QEAA@PEBG0HHHH@Z
-; public: __cdecl TRIPLE_SERVER_ENUM_ITER::TRIPLE_SERVER_ENUM_ITER(class TRIPLE_SERVER_ENUM & __ptr64) __ptr64
-??0TRIPLE_SERVER_ENUM_ITER@@QEAA@AEAVTRIPLE_SERVER_ENUM@@@Z
-; public: __cdecl TRIPLE_SERVER_ENUM_OBJ::TRIPLE_SERVER_ENUM_OBJ(void) __ptr64
-??0TRIPLE_SERVER_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl TRUSTED_DOMAIN_ENUM::TRUSTED_DOMAIN_ENUM(class LSA_POLICY const * __ptr64,int) __ptr64
-??0TRUSTED_DOMAIN_ENUM@@QEAA@PEBVLSA_POLICY@@H@Z
-; public: __cdecl TRUSTED_DOMAIN_ENUM_ITER::TRUSTED_DOMAIN_ENUM_ITER(class TRUSTED_DOMAIN_ENUM & __ptr64) __ptr64
-??0TRUSTED_DOMAIN_ENUM_ITER@@QEAA@AEAVTRUSTED_DOMAIN_ENUM@@@Z
-; public: __cdecl TRUSTED_DOMAIN_ENUM_OBJ::TRUSTED_DOMAIN_ENUM_OBJ(void) __ptr64
-??0TRUSTED_DOMAIN_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USE1_ENUM::USE1_ENUM(unsigned short const * __ptr64) __ptr64
-??0USE1_ENUM@@QEAA@PEBG@Z
-; public: __cdecl USE1_ENUM_ITER::USE1_ENUM_ITER(class USE1_ENUM & __ptr64) __ptr64
-??0USE1_ENUM_ITER@@QEAA@AEAVUSE1_ENUM@@@Z
-; public: __cdecl USE1_ENUM_OBJ::USE1_ENUM_OBJ(void) __ptr64
-??0USE1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER0_ENUM::USER0_ENUM(class LOCATION const & __ptr64,unsigned short const * __ptr64,int) __ptr64
-??0USER0_ENUM@@QEAA@AEBVLOCATION@@PEBGH@Z
-; public: __cdecl USER0_ENUM::USER0_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-??0USER0_ENUM@@QEAA@PEBG0H@Z
-; public: __cdecl USER0_ENUM::USER0_ENUM(enum LOCATION_TYPE,unsigned short const * __ptr64,int) __ptr64
-??0USER0_ENUM@@QEAA@W4LOCATION_TYPE@@PEBGH@Z
-; public: __cdecl USER0_ENUM_ITER::USER0_ENUM_ITER(class USER0_ENUM & __ptr64) __ptr64
-??0USER0_ENUM_ITER@@QEAA@AEAVUSER0_ENUM@@@Z
-; public: __cdecl USER0_ENUM_OBJ::USER0_ENUM_OBJ(void) __ptr64
-??0USER0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER10_ENUM::USER10_ENUM(class LOCATION const & __ptr64,int) __ptr64
-??0USER10_ENUM@@QEAA@AEBVLOCATION@@H@Z
-; public: __cdecl USER10_ENUM::USER10_ENUM(unsigned short const * __ptr64,int) __ptr64
-??0USER10_ENUM@@QEAA@PEBGH@Z
-; public: __cdecl USER10_ENUM::USER10_ENUM(enum LOCATION_TYPE,int) __ptr64
-??0USER10_ENUM@@QEAA@W4LOCATION_TYPE@@H@Z
-; public: __cdecl USER10_ENUM_ITER::USER10_ENUM_ITER(class USER10_ENUM & __ptr64) __ptr64
-??0USER10_ENUM_ITER@@QEAA@AEAVUSER10_ENUM@@@Z
-; public: __cdecl USER10_ENUM_OBJ::USER10_ENUM_OBJ(void) __ptr64
-??0USER10_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER1_ENUM::USER1_ENUM(class LOCATION const & __ptr64,int) __ptr64
-??0USER1_ENUM@@QEAA@AEBVLOCATION@@H@Z
-; public: __cdecl USER1_ENUM::USER1_ENUM(unsigned short const * __ptr64,int) __ptr64
-??0USER1_ENUM@@QEAA@PEBGH@Z
-; public: __cdecl USER1_ENUM::USER1_ENUM(enum LOCATION_TYPE,int) __ptr64
-??0USER1_ENUM@@QEAA@W4LOCATION_TYPE@@H@Z
-; public: __cdecl USER1_ENUM_ITER::USER1_ENUM_ITER(class USER1_ENUM & __ptr64) __ptr64
-??0USER1_ENUM_ITER@@QEAA@AEAVUSER1_ENUM@@@Z
-; public: __cdecl USER1_ENUM_OBJ::USER1_ENUM_OBJ(void) __ptr64
-??0USER1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER2_ENUM::USER2_ENUM(class LOCATION const & __ptr64,int) __ptr64
-??0USER2_ENUM@@QEAA@AEBVLOCATION@@H@Z
-; public: __cdecl USER2_ENUM::USER2_ENUM(unsigned short const * __ptr64,int) __ptr64
-??0USER2_ENUM@@QEAA@PEBGH@Z
-; public: __cdecl USER2_ENUM::USER2_ENUM(enum LOCATION_TYPE,int) __ptr64
-??0USER2_ENUM@@QEAA@W4LOCATION_TYPE@@H@Z
-; public: __cdecl USER2_ENUM_ITER::USER2_ENUM_ITER(class USER2_ENUM & __ptr64) __ptr64
-??0USER2_ENUM_ITER@@QEAA@AEAVUSER2_ENUM@@@Z
-; public: __cdecl USER2_ENUM_OBJ::USER2_ENUM_OBJ(void) __ptr64
-??0USER2_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER::USER(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0USER@@QEAA@PEBG0@Z
-; public: __cdecl USER::USER(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0USER@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl USER::USER(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0USER@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl USER_11::USER_11(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0USER_11@@QEAA@PEBG0@Z
-; public: __cdecl USER_11::USER_11(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0USER_11@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl USER_11::USER_11(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0USER_11@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl USER_2::USER_2(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0USER_2@@QEAA@PEBG0@Z
-; public: __cdecl USER_2::USER_2(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0USER_2@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl USER_2::USER_2(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0USER_2@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; public: __cdecl USER_3::USER_3(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0USER_3@@QEAA@PEBG0@Z
-; public: __cdecl USER_3::USER_3(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
-??0USER_3@@QEAA@PEBGAEBVLOCATION@@@Z
-; public: __cdecl USER_3::USER_3(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
-??0USER_3@@QEAA@PEBGW4LOCATION_TYPE@@@Z
-; protected: __cdecl USER_ENUM::USER_ENUM(class LOCATION const & __ptr64,unsigned int,unsigned short const * __ptr64,int) __ptr64
-??0USER_ENUM@@IEAA@AEBVLOCATION@@IPEBGH@Z
-; protected: __cdecl USER_ENUM::USER_ENUM(unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64,int) __ptr64
-??0USER_ENUM@@IEAA@PEBGI0H@Z
-; protected: __cdecl USER_ENUM::USER_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const * __ptr64,int) __ptr64
-??0USER_ENUM@@IEAA@W4LOCATION_TYPE@@IPEBGH@Z
-; public: __cdecl USER_MEMB::USER_MEMB(class LOCATION const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0USER_MEMB@@QEAA@AEBVLOCATION@@PEBG@Z
-; public: __cdecl USER_MODALS::USER_MODALS(unsigned short const * __ptr64) __ptr64
-??0USER_MODALS@@QEAA@PEBG@Z
-; public: __cdecl USER_MODALS_3::USER_MODALS_3(unsigned short const * __ptr64) __ptr64
-??0USER_MODALS_3@@QEAA@PEBG@Z
-; protected: __cdecl USE_ENUM::USE_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
-??0USE_ENUM@@IEAA@PEBGI@Z
-; public: __cdecl WKSTA_10::WKSTA_10(unsigned short const * __ptr64) __ptr64
-??0WKSTA_10@@QEAA@PEBG@Z
-; public: __cdecl WKSTA_1::WKSTA_1(unsigned short const * __ptr64) __ptr64
-??0WKSTA_1@@QEAA@PEBG@Z
-; public: __cdecl WKSTA_USER_1::WKSTA_USER_1(void) __ptr64
-??0WKSTA_USER_1@@QEAA@XZ
-; public: __cdecl ADMIN_AUTHORITY::~ADMIN_AUTHORITY(void) __ptr64
-??1ADMIN_AUTHORITY@@QEAA@XZ
-; public: __cdecl ALIAS_ENUM::~ALIAS_ENUM(void) __ptr64
-??1ALIAS_ENUM@@QEAA@XZ
-; public: __cdecl ALIAS_ENUM_OBJ::~ALIAS_ENUM_OBJ(void) __ptr64
-??1ALIAS_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl ALIAS_STR::~ALIAS_STR(void) __ptr64
-??1ALIAS_STR@@QEAA@XZ
-; public: __cdecl ALLOC_STR::~ALLOC_STR(void) __ptr64
-??1ALLOC_STR@@QEAA@XZ
-; public: __cdecl API_SESSION::~API_SESSION(void) __ptr64
-??1API_SESSION@@QEAA@XZ
-; public: __cdecl BROWSE_DOMAIN_ENUM::~BROWSE_DOMAIN_ENUM(void) __ptr64
-??1BROWSE_DOMAIN_ENUM@@QEAA@XZ
-; public: __cdecl BROWSE_DOMAIN_INFO::~BROWSE_DOMAIN_INFO(void) __ptr64
-??1BROWSE_DOMAIN_INFO@@QEAA@XZ
-; public: __cdecl CHARDEVQ1_ENUM_OBJ::~CHARDEVQ1_ENUM_OBJ(void) __ptr64
-??1CHARDEVQ1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl CHARDEVQ_ENUM::~CHARDEVQ_ENUM(void) __ptr64
-??1CHARDEVQ_ENUM@@QEAA@XZ
-; protected: __cdecl COMPUTER::~COMPUTER(void) __ptr64
-??1COMPUTER@@IEAA@XZ
-; public: __cdecl CONN0_ENUM_OBJ::~CONN0_ENUM_OBJ(void) __ptr64
-??1CONN0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl CONN1_ENUM_OBJ::~CONN1_ENUM_OBJ(void) __ptr64
-??1CONN1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl CONN_ENUM::~CONN_ENUM(void) __ptr64
-??1CONN_ENUM@@QEAA@XZ
-; public: __cdecl CONTEXT_ENUM_OBJ::~CONTEXT_ENUM_OBJ(void) __ptr64
-??1CONTEXT_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl DEVICE::~DEVICE(void) __ptr64
-??1DEVICE@@QEAA@XZ
-; public: __cdecl DOMAIN0_ENUM::~DOMAIN0_ENUM(void) __ptr64
-??1DOMAIN0_ENUM@@QEAA@XZ
-; public: __cdecl DOMAIN0_ENUM_ITER::~DOMAIN0_ENUM_ITER(void) __ptr64
-??1DOMAIN0_ENUM_ITER@@QEAA@XZ
-; public: __cdecl DOMAIN0_ENUM_OBJ::~DOMAIN0_ENUM_OBJ(void) __ptr64
-??1DOMAIN0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl DOMAIN::~DOMAIN(void) __ptr64
-??1DOMAIN@@QEAA@XZ
-; public: __cdecl DOMAIN_ENUM::~DOMAIN_ENUM(void) __ptr64
-??1DOMAIN_ENUM@@QEAA@XZ
-; public: __cdecl DOMAIN_WITH_DC_CACHE::~DOMAIN_WITH_DC_CACHE(void) __ptr64
-??1DOMAIN_WITH_DC_CACHE@@QEAA@XZ
-; public: __cdecl ENUM_CALLER_LM_OBJ::~ENUM_CALLER_LM_OBJ(void) __ptr64
-??1ENUM_CALLER_LM_OBJ@@QEAA@XZ
-; protected: __cdecl ENUM_OBJ_BASE::~ENUM_OBJ_BASE(void) __ptr64
-??1ENUM_OBJ_BASE@@IEAA@XZ
-; public: __cdecl FILE2_ENUM_OBJ::~FILE2_ENUM_OBJ(void) __ptr64
-??1FILE2_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl FILE3_ENUM::~FILE3_ENUM(void) __ptr64
-??1FILE3_ENUM@@QEAA@XZ
-; public: __cdecl FILE3_ENUM_ITER::~FILE3_ENUM_ITER(void) __ptr64
-??1FILE3_ENUM_ITER@@QEAA@XZ
-; public: __cdecl FILE3_ENUM_OBJ::~FILE3_ENUM_OBJ(void) __ptr64
-??1FILE3_ENUM_OBJ@@QEAA@XZ
-; protected: __cdecl FILE_ENUM::~FILE_ENUM(void) __ptr64
-??1FILE_ENUM@@IEAA@XZ
-; public: __cdecl GROUP0_ENUM::~GROUP0_ENUM(void) __ptr64
-??1GROUP0_ENUM@@QEAA@XZ
-; public: __cdecl GROUP0_ENUM_ITER::~GROUP0_ENUM_ITER(void) __ptr64
-??1GROUP0_ENUM_ITER@@QEAA@XZ
-; public: __cdecl GROUP0_ENUM_OBJ::~GROUP0_ENUM_OBJ(void) __ptr64
-??1GROUP0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl GROUP1_ENUM_OBJ::~GROUP1_ENUM_OBJ(void) __ptr64
-??1GROUP1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl GROUP::~GROUP(void) __ptr64
-??1GROUP@@QEAA@XZ
-; public: __cdecl GROUP_0::~GROUP_0(void) __ptr64
-??1GROUP_0@@QEAA@XZ
-; public: __cdecl GROUP_1::~GROUP_1(void) __ptr64
-??1GROUP_1@@QEAA@XZ
-; public: __cdecl GROUP_ENUM::~GROUP_ENUM(void) __ptr64
-??1GROUP_ENUM@@QEAA@XZ
-; public: __cdecl GROUP_MEMB::~GROUP_MEMB(void) __ptr64
-??1GROUP_MEMB@@QEAA@XZ
-; public: __cdecl ITER_DEVICE::~ITER_DEVICE(void) __ptr64
-??1ITER_DEVICE@@QEAA@XZ
-; public: __cdecl ITER_SL_BROWSE_DOMAIN_INFO::~ITER_SL_BROWSE_DOMAIN_INFO(void) __ptr64
-??1ITER_SL_BROWSE_DOMAIN_INFO@@QEAA@XZ
-; public: __cdecl ITER_SL_LM_RESUME_BUFFER::~ITER_SL_LM_RESUME_BUFFER(void) __ptr64
-??1ITER_SL_LM_RESUME_BUFFER@@QEAA@XZ
-; public: __cdecl LM_CONFIG::~LM_CONFIG(void) __ptr64
-??1LM_CONFIG@@QEAA@XZ
-; public: __cdecl LM_ENUM::~LM_ENUM(void) __ptr64
-??1LM_ENUM@@QEAA@XZ
-; protected: __cdecl LM_ENUM_ITER::~LM_ENUM_ITER(void) __ptr64
-??1LM_ENUM_ITER@@IEAA@XZ
-; protected: __cdecl LM_FILE::~LM_FILE(void) __ptr64
-??1LM_FILE@@IEAA@XZ
-; public: __cdecl LM_FILE_2::~LM_FILE_2(void) __ptr64
-??1LM_FILE_2@@QEAA@XZ
-; public: __cdecl LM_RESUME_BUFFER::~LM_RESUME_BUFFER(void) __ptr64
-??1LM_RESUME_BUFFER@@QEAA@XZ
-; public: __cdecl LM_RESUME_ENUM::~LM_RESUME_ENUM(void) __ptr64
-??1LM_RESUME_ENUM@@QEAA@XZ
-; protected: __cdecl LM_RESUME_ENUM_ITER::~LM_RESUME_ENUM_ITER(void) __ptr64
-??1LM_RESUME_ENUM_ITER@@IEAA@XZ
-; public: __cdecl LM_SERVICE::~LM_SERVICE(void) __ptr64
-??1LM_SERVICE@@QEAA@XZ
-; public: __cdecl LM_SESSION::~LM_SESSION(void) __ptr64
-??1LM_SESSION@@QEAA@XZ
-; public: __cdecl LM_SESSION_0::~LM_SESSION_0(void) __ptr64
-??1LM_SESSION_0@@QEAA@XZ
-; public: __cdecl LM_SESSION_10::~LM_SESSION_10(void) __ptr64
-??1LM_SESSION_10@@QEAA@XZ
-; public: __cdecl LM_SESSION_1::~LM_SESSION_1(void) __ptr64
-??1LM_SESSION_1@@QEAA@XZ
-; public: __cdecl LM_SRVRES::~LM_SRVRES(void) __ptr64
-??1LM_SRVRES@@QEAA@XZ
-; public: __cdecl LOCAL_USER::~LOCAL_USER(void) __ptr64
-??1LOCAL_USER@@QEAA@XZ
-; public: __cdecl LOCATION::~LOCATION(void) __ptr64
-??1LOCATION@@QEAA@XZ
-; public: __cdecl LOC_LM_ENUM::~LOC_LM_ENUM(void) __ptr64
-??1LOC_LM_ENUM@@QEAA@XZ
-; public: __cdecl LOC_LM_OBJ::~LOC_LM_OBJ(void) __ptr64
-??1LOC_LM_OBJ@@QEAA@XZ
-; public: __cdecl LOC_LM_RESUME_ENUM::~LOC_LM_RESUME_ENUM(void) __ptr64
-??1LOC_LM_RESUME_ENUM@@QEAA@XZ
-; public: __cdecl LSA_ACCOUNT::~LSA_ACCOUNT(void) __ptr64
-??1LSA_ACCOUNT@@QEAA@XZ
-; public: __cdecl LSA_ACCOUNTS_ENUM_OBJ::~LSA_ACCOUNTS_ENUM_OBJ(void) __ptr64
-??1LSA_ACCOUNTS_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::~LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(void) __ptr64
-??1LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QEAA@XZ
-; public: __cdecl LSA_ACCT_DOM_INFO_MEM::~LSA_ACCT_DOM_INFO_MEM(void) __ptr64
-??1LSA_ACCT_DOM_INFO_MEM@@QEAA@XZ
-; public: __cdecl LSA_AUDIT_EVENT_INFO_MEM::~LSA_AUDIT_EVENT_INFO_MEM(void) __ptr64
-??1LSA_AUDIT_EVENT_INFO_MEM@@QEAA@XZ
-; public: __cdecl LSA_DOMAIN_INFO::~LSA_DOMAIN_INFO(void) __ptr64
-??1LSA_DOMAIN_INFO@@QEAA@XZ
-; public: __cdecl LSA_ENUM::~LSA_ENUM(void) __ptr64
-??1LSA_ENUM@@QEAA@XZ
-; protected: __cdecl LSA_MEMORY::~LSA_MEMORY(void) __ptr64
-??1LSA_MEMORY@@IEAA@XZ
-; protected: __cdecl LSA_OBJECT::~LSA_OBJECT(void) __ptr64
-??1LSA_OBJECT@@IEAA@XZ
-; public: __cdecl LSA_POLICY::~LSA_POLICY(void) __ptr64
-??1LSA_POLICY@@QEAA@XZ
-; public: __cdecl LSA_PRIMARY_DOM_INFO_MEM::~LSA_PRIMARY_DOM_INFO_MEM(void) __ptr64
-??1LSA_PRIMARY_DOM_INFO_MEM@@QEAA@XZ
-; public: __cdecl LSA_PRIVILEGES_ENUM_OBJ::~LSA_PRIVILEGES_ENUM_OBJ(void) __ptr64
-??1LSA_PRIVILEGES_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl LSA_REF_DOMAIN_MEM::~LSA_REF_DOMAIN_MEM(void) __ptr64
-??1LSA_REF_DOMAIN_MEM@@QEAA@XZ
-; public: __cdecl LSA_SECRET::~LSA_SECRET(void) __ptr64
-??1LSA_SECRET@@QEAA@XZ
-; public: __cdecl LSA_SERVER_ROLE_INFO_MEM::~LSA_SERVER_ROLE_INFO_MEM(void) __ptr64
-??1LSA_SERVER_ROLE_INFO_MEM@@QEAA@XZ
-; public: __cdecl LSA_TRANSLATED_NAME_MEM::~LSA_TRANSLATED_NAME_MEM(void) __ptr64
-??1LSA_TRANSLATED_NAME_MEM@@QEAA@XZ
-; public: __cdecl LSA_TRANSLATED_SID_MEM::~LSA_TRANSLATED_SID_MEM(void) __ptr64
-??1LSA_TRANSLATED_SID_MEM@@QEAA@XZ
-; public: __cdecl LSA_TRUSTED_DC_LIST::~LSA_TRUSTED_DC_LIST(void) __ptr64
-??1LSA_TRUSTED_DC_LIST@@QEAA@XZ
-; public: __cdecl LSA_TRUSTED_DOMAIN::~LSA_TRUSTED_DOMAIN(void) __ptr64
-??1LSA_TRUSTED_DOMAIN@@QEAA@XZ
-; public: __cdecl LSA_TRUST_INFO_MEM::~LSA_TRUST_INFO_MEM(void) __ptr64
-??1LSA_TRUST_INFO_MEM@@QEAA@XZ
-; public: __cdecl MEMBERSHIP_LM_OBJ::~MEMBERSHIP_LM_OBJ(void) __ptr64
-??1MEMBERSHIP_LM_OBJ@@QEAA@XZ
-; protected: __cdecl NET_ACCESS::~NET_ACCESS(void) __ptr64
-??1NET_ACCESS@@IEAA@XZ
-; public: __cdecl NET_ACCESS_1::~NET_ACCESS_1(void) __ptr64
-??1NET_ACCESS_1@@QEAA@XZ
-; public: __cdecl NET_NAME::~NET_NAME(void) __ptr64
-??1NET_NAME@@QEAA@XZ
-; public: __cdecl NEW_LM_OBJ::~NEW_LM_OBJ(void) __ptr64
-??1NEW_LM_OBJ@@QEAA@XZ
-; protected: __cdecl NT_ACCOUNT_ENUM::~NT_ACCOUNT_ENUM(void) __ptr64
-??1NT_ACCOUNT_ENUM@@IEAA@XZ
-; public: __cdecl NT_GROUP_ENUM::~NT_GROUP_ENUM(void) __ptr64
-??1NT_GROUP_ENUM@@QEAA@XZ
-; public: __cdecl NT_GROUP_ENUM_OBJ::~NT_GROUP_ENUM_OBJ(void) __ptr64
-??1NT_GROUP_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl NT_MACHINE_ENUM::~NT_MACHINE_ENUM(void) __ptr64
-??1NT_MACHINE_ENUM@@QEAA@XZ
-; public: __cdecl NT_MACHINE_ENUM_ITER::~NT_MACHINE_ENUM_ITER(void) __ptr64
-??1NT_MACHINE_ENUM_ITER@@QEAA@XZ
-; public: __cdecl NT_MACHINE_ENUM_OBJ::~NT_MACHINE_ENUM_OBJ(void) __ptr64
-??1NT_MACHINE_ENUM_OBJ@@QEAA@XZ
-; protected: __cdecl NT_MEMORY::~NT_MEMORY(void) __ptr64
-??1NT_MEMORY@@IEAA@XZ
-; public: __cdecl NT_USER_ENUM::~NT_USER_ENUM(void) __ptr64
-??1NT_USER_ENUM@@QEAA@XZ
-; public: __cdecl NT_USER_ENUM_OBJ::~NT_USER_ENUM_OBJ(void) __ptr64
-??1NT_USER_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl OS_ACE::~OS_ACE(void) __ptr64
-??1OS_ACE@@QEAA@XZ
-; public: __cdecl OS_ACL::~OS_ACL(void) __ptr64
-??1OS_ACL@@QEAA@XZ
-; public: __cdecl OS_ACL_SUBJECT_ITER::~OS_ACL_SUBJECT_ITER(void) __ptr64
-??1OS_ACL_SUBJECT_ITER@@QEAA@XZ
-; public: __cdecl OS_DACL_SUBJECT_ITER::~OS_DACL_SUBJECT_ITER(void) __ptr64
-??1OS_DACL_SUBJECT_ITER@@QEAA@XZ
-; protected: __cdecl OS_OBJECT_WITH_DATA::~OS_OBJECT_WITH_DATA(void) __ptr64
-??1OS_OBJECT_WITH_DATA@@IEAA@XZ
-; public: __cdecl OS_PRIVILEGE_SET::~OS_PRIVILEGE_SET(void) __ptr64
-??1OS_PRIVILEGE_SET@@QEAA@XZ
-; public: __cdecl OS_SACL_SUBJECT_ITER::~OS_SACL_SUBJECT_ITER(void) __ptr64
-??1OS_SACL_SUBJECT_ITER@@QEAA@XZ
-; public: __cdecl OS_SECURITY_DESCRIPTOR::~OS_SECURITY_DESCRIPTOR(void) __ptr64
-??1OS_SECURITY_DESCRIPTOR@@QEAA@XZ
-; public: __cdecl OS_SID::~OS_SID(void) __ptr64
-??1OS_SID@@QEAA@XZ
-; public: __cdecl REG_VALUE_INFO_STRUCT::~REG_VALUE_INFO_STRUCT(void) __ptr64
-??1REG_VALUE_INFO_STRUCT@@QEAA@XZ
-; public: __cdecl SAM_ALIAS::~SAM_ALIAS(void) __ptr64
-??1SAM_ALIAS@@QEAA@XZ
-; public: __cdecl SAM_DOMAIN::~SAM_DOMAIN(void) __ptr64
-??1SAM_DOMAIN@@QEAA@XZ
-; public: __cdecl SAM_GROUP::~SAM_GROUP(void) __ptr64
-??1SAM_GROUP@@QEAA@XZ
-; public: __cdecl SAM_MEMORY::~SAM_MEMORY(void) __ptr64
-??1SAM_MEMORY@@QEAA@XZ
-; protected: __cdecl SAM_OBJECT::~SAM_OBJECT(void) __ptr64
-??1SAM_OBJECT@@IEAA@XZ
-; public: __cdecl SAM_PSWD_DOM_INFO_MEM::~SAM_PSWD_DOM_INFO_MEM(void) __ptr64
-??1SAM_PSWD_DOM_INFO_MEM@@QEAA@XZ
-; public: __cdecl SAM_RID_ENUMERATION_MEM::~SAM_RID_ENUMERATION_MEM(void) __ptr64
-??1SAM_RID_ENUMERATION_MEM@@QEAA@XZ
-; public: __cdecl SAM_RID_MEM::~SAM_RID_MEM(void) __ptr64
-??1SAM_RID_MEM@@QEAA@XZ
-; public: __cdecl SAM_SERVER::~SAM_SERVER(void) __ptr64
-??1SAM_SERVER@@QEAA@XZ
-; public: __cdecl SAM_SID_MEM::~SAM_SID_MEM(void) __ptr64
-??1SAM_SID_MEM@@QEAA@XZ
-; public: __cdecl SAM_SID_NAME_USE_MEM::~SAM_SID_NAME_USE_MEM(void) __ptr64
-??1SAM_SID_NAME_USE_MEM@@QEAA@XZ
-; public: __cdecl SAM_USER::~SAM_USER(void) __ptr64
-??1SAM_USER@@QEAA@XZ
-; public: __cdecl SAM_USER_ENUM::~SAM_USER_ENUM(void) __ptr64
-??1SAM_USER_ENUM@@QEAA@XZ
-; public: __cdecl SAM_USER_ENUM_ITER::~SAM_USER_ENUM_ITER(void) __ptr64
-??1SAM_USER_ENUM_ITER@@QEAA@XZ
-; public: __cdecl SAM_USER_ENUM_OBJ::~SAM_USER_ENUM_OBJ(void) __ptr64
-??1SAM_USER_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SC_MANAGER::~SC_MANAGER(void) __ptr64
-??1SC_MANAGER@@QEAA@XZ
-; public: __cdecl SC_SERVICE::~SC_SERVICE(void) __ptr64
-??1SC_SERVICE@@QEAA@XZ
-; public: __cdecl SERVER1_ENUM::~SERVER1_ENUM(void) __ptr64
-??1SERVER1_ENUM@@QEAA@XZ
-; public: __cdecl SERVER1_ENUM_ITER::~SERVER1_ENUM_ITER(void) __ptr64
-??1SERVER1_ENUM_ITER@@QEAA@XZ
-; public: __cdecl SERVER1_ENUM_OBJ::~SERVER1_ENUM_OBJ(void) __ptr64
-??1SERVER1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SERVER_0::~SERVER_0(void) __ptr64
-??1SERVER_0@@QEAA@XZ
-; public: __cdecl SERVER_1::~SERVER_1(void) __ptr64
-??1SERVER_1@@QEAA@XZ
-; public: __cdecl SERVER_2::~SERVER_2(void) __ptr64
-??1SERVER_2@@QEAA@XZ
-; public: __cdecl SERVER_ENUM::~SERVER_ENUM(void) __ptr64
-??1SERVER_ENUM@@QEAA@XZ
-; public: __cdecl SERVICE_CONTROL::~SERVICE_CONTROL(void) __ptr64
-??1SERVICE_CONTROL@@QEAA@XZ
-; public: __cdecl SERVICE_ENUM::~SERVICE_ENUM(void) __ptr64
-??1SERVICE_ENUM@@QEAA@XZ
-; public: __cdecl SERVICE_ENUM_OBJ::~SERVICE_ENUM_OBJ(void) __ptr64
-??1SERVICE_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SESSION0_ENUM::~SESSION0_ENUM(void) __ptr64
-??1SESSION0_ENUM@@QEAA@XZ
-; public: __cdecl SESSION0_ENUM_ITER::~SESSION0_ENUM_ITER(void) __ptr64
-??1SESSION0_ENUM_ITER@@QEAA@XZ
-; public: __cdecl SESSION0_ENUM_OBJ::~SESSION0_ENUM_OBJ(void) __ptr64
-??1SESSION0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SESSION1_ENUM_OBJ::~SESSION1_ENUM_OBJ(void) __ptr64
-??1SESSION1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SESSION_ENUM::~SESSION_ENUM(void) __ptr64
-??1SESSION_ENUM@@QEAA@XZ
-; public: __cdecl SHARE1_ENUM_OBJ::~SHARE1_ENUM_OBJ(void) __ptr64
-??1SHARE1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SHARE2_ENUM_OBJ::~SHARE2_ENUM_OBJ(void) __ptr64
-??1SHARE2_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SHARE::~SHARE(void) __ptr64
-??1SHARE@@QEAA@XZ
-; public: __cdecl SHARE_1::~SHARE_1(void) __ptr64
-??1SHARE_1@@QEAA@XZ
-; public: __cdecl SHARE_2::~SHARE_2(void) __ptr64
-??1SHARE_2@@QEAA@XZ
-; public: __cdecl SHARE_ENUM::~SHARE_ENUM(void) __ptr64
-??1SHARE_ENUM@@QEAA@XZ
-; public: __cdecl SLIST_OF_ADMIN_AUTHORITY::~SLIST_OF_ADMIN_AUTHORITY(void) __ptr64
-??1SLIST_OF_ADMIN_AUTHORITY@@QEAA@XZ
-; public: __cdecl SLIST_OF_API_SESSION::~SLIST_OF_API_SESSION(void) __ptr64
-??1SLIST_OF_API_SESSION@@QEAA@XZ
-; public: __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::~SLIST_OF_BROWSE_DOMAIN_INFO(void) __ptr64
-??1SLIST_OF_BROWSE_DOMAIN_INFO@@QEAA@XZ
-; public: __cdecl SLIST_OF_LM_RESUME_BUFFER::~SLIST_OF_LM_RESUME_BUFFER(void) __ptr64
-??1SLIST_OF_LM_RESUME_BUFFER@@QEAA@XZ
-; public: __cdecl TIME_OF_DAY::~TIME_OF_DAY(void) __ptr64
-??1TIME_OF_DAY@@QEAA@XZ
-; public: __cdecl TRIPLE_SERVER_ENUM::~TRIPLE_SERVER_ENUM(void) __ptr64
-??1TRIPLE_SERVER_ENUM@@QEAA@XZ
-; public: __cdecl TRIPLE_SERVER_ENUM_OBJ::~TRIPLE_SERVER_ENUM_OBJ(void) __ptr64
-??1TRIPLE_SERVER_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl TRUSTED_DOMAIN_ENUM::~TRUSTED_DOMAIN_ENUM(void) __ptr64
-??1TRUSTED_DOMAIN_ENUM@@QEAA@XZ
-; public: __cdecl TRUSTED_DOMAIN_ENUM_OBJ::~TRUSTED_DOMAIN_ENUM_OBJ(void) __ptr64
-??1TRUSTED_DOMAIN_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USE1_ENUM_OBJ::~USE1_ENUM_OBJ(void) __ptr64
-??1USE1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER0_ENUM::~USER0_ENUM(void) __ptr64
-??1USER0_ENUM@@QEAA@XZ
-; public: __cdecl USER0_ENUM_ITER::~USER0_ENUM_ITER(void) __ptr64
-??1USER0_ENUM_ITER@@QEAA@XZ
-; public: __cdecl USER0_ENUM_OBJ::~USER0_ENUM_OBJ(void) __ptr64
-??1USER0_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER10_ENUM_OBJ::~USER10_ENUM_OBJ(void) __ptr64
-??1USER10_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER1_ENUM_OBJ::~USER1_ENUM_OBJ(void) __ptr64
-??1USER1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER2_ENUM_OBJ::~USER2_ENUM_OBJ(void) __ptr64
-??1USER2_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl USER::~USER(void) __ptr64
-??1USER@@QEAA@XZ
-; public: __cdecl USER_11::~USER_11(void) __ptr64
-??1USER_11@@QEAA@XZ
-; public: virtual __cdecl USER_2::~USER_2(void) __ptr64
-??1USER_2@@UEAA@XZ
-; public: virtual __cdecl USER_3::~USER_3(void) __ptr64
-??1USER_3@@UEAA@XZ
-; public: __cdecl USER_ENUM::~USER_ENUM(void) __ptr64
-??1USER_ENUM@@QEAA@XZ
-; public: __cdecl USER_MEMB::~USER_MEMB(void) __ptr64
-??1USER_MEMB@@QEAA@XZ
-; public: __cdecl USE_ENUM::~USE_ENUM(void) __ptr64
-??1USE_ENUM@@QEAA@XZ
-; public: __cdecl WKSTA_10::~WKSTA_10(void) __ptr64
-??1WKSTA_10@@QEAA@XZ
-; public: __cdecl WKSTA_1::~WKSTA_1(void) __ptr64
-??1WKSTA_1@@QEAA@XZ
-; public: __cdecl WKSTA_USER_1::~WKSTA_USER_1(void) __ptr64
-??1WKSTA_USER_1@@QEAA@XZ
-; public: class ALLOC_STR & __ptr64 __cdecl ALLOC_STR::operator=(class ALLOC_STR const & __ptr64) __ptr64
-??4ALLOC_STR@@QEAAAEAV0@AEBV0@@Z
-; public: class ALLOC_STR & __ptr64 __cdecl ALLOC_STR::operator=(unsigned short const * __ptr64) __ptr64
-??4ALLOC_STR@@QEAAAEAV0@PEBG@Z
-; public: int __cdecl BASE::operator!(void)const  __ptr64
-??7BASE@@QEBAHXZ
-; public: int __cdecl OS_LUID::operator==(class OS_LUID const & __ptr64)const  __ptr64
-??8OS_LUID@@QEBAHAEBV0@@Z
-; public: int __cdecl OS_SID::operator==(class OS_SID const & __ptr64)const  __ptr64
-??8OS_SID@@QEBAHAEBV0@@Z
-; public: struct _UNICODE_STRING const & __ptr64 __cdecl LSA_TRUSTED_DC_LIST::operator[](int)const  __ptr64
-??ALSA_TRUSTED_DC_LIST@@QEBAAEBU_UNICODE_STRING@@H@Z
-; public: unsigned short const * __ptr64 __cdecl NLS_STR::operator[](class ISTR const & __ptr64)const  __ptr64
-??ANLS_STR@@QEBAPEBGAEBVISTR@@@Z
-; public: __cdecl NLS_STR::operator unsigned short const * __ptr64(void)const  __ptr64
-??BNLS_STR@@QEBAPEBGXZ
-; public: __cdecl OS_ACL::operator struct _ACL * __ptr64(void)const  __ptr64
-??BOS_ACL@@QEBAPEAU_ACL@@XZ
-; public: __cdecl OS_SID::operator void * __ptr64(void)const  __ptr64
-??BOS_SID@@QEBAPEAXXZ
-; public: class CHARDEVQ1_ENUM_OBJ const * __ptr64 __cdecl CHARDEVQ1_ENUM_ITER::operator()(void) __ptr64
-??RCHARDEVQ1_ENUM_ITER@@QEAAPEBVCHARDEVQ1_ENUM_OBJ@@XZ
-; public: class CONN0_ENUM_OBJ const * __ptr64 __cdecl CONN0_ENUM_ITER::operator()(void) __ptr64
-??RCONN0_ENUM_ITER@@QEAAPEBVCONN0_ENUM_OBJ@@XZ
-; public: class CONN1_ENUM_OBJ const * __ptr64 __cdecl CONN1_ENUM_ITER::operator()(void) __ptr64
-??RCONN1_ENUM_ITER@@QEAAPEBVCONN1_ENUM_OBJ@@XZ
-; public: class CONTEXT_ENUM_OBJ const * __ptr64 __cdecl CONTEXT_ENUM_ITER::operator()(void) __ptr64
-??RCONTEXT_ENUM_ITER@@QEAAPEBVCONTEXT_ENUM_OBJ@@XZ
-; public: class DOMAIN0_ENUM_OBJ const * __ptr64 __cdecl DOMAIN0_ENUM_ITER::operator()(void) __ptr64
-??RDOMAIN0_ENUM_ITER@@QEAAPEBVDOMAIN0_ENUM_OBJ@@XZ
-; public: class FILE3_ENUM_OBJ const * __ptr64 __cdecl FILE3_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
-??RFILE3_ENUM_ITER@@QEAAPEBVFILE3_ENUM_OBJ@@PEAJH@Z
-; public: class GROUP0_ENUM_OBJ const * __ptr64 __cdecl GROUP0_ENUM_ITER::operator()(void) __ptr64
-??RGROUP0_ENUM_ITER@@QEAAPEBVGROUP0_ENUM_OBJ@@XZ
-; public: class GROUP1_ENUM_OBJ const * __ptr64 __cdecl GROUP1_ENUM_ITER::operator()(void) __ptr64
-??RGROUP1_ENUM_ITER@@QEAAPEBVGROUP1_ENUM_OBJ@@XZ
-; public: class OS_LUID_AND_ATTRIBUTES const * __ptr64 __cdecl LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::operator()(void) __ptr64
-??RLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QEAAPEBVOS_LUID_AND_ATTRIBUTES@@XZ
-; public: class NT_MACHINE_ENUM_OBJ const * __ptr64 __cdecl NT_MACHINE_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
-??RNT_MACHINE_ENUM_ITER@@QEAAPEBVNT_MACHINE_ENUM_OBJ@@PEAJH@Z
-; public: class SERVER1_ENUM_OBJ const * __ptr64 __cdecl SERVER1_ENUM_ITER::operator()(void) __ptr64
-??RSERVER1_ENUM_ITER@@QEAAPEBVSERVER1_ENUM_OBJ@@XZ
-; public: class SERVICE_ENUM_OBJ const * __ptr64 __cdecl SERVICE_ENUM_ITER::operator()(void) __ptr64
-??RSERVICE_ENUM_ITER@@QEAAPEBVSERVICE_ENUM_OBJ@@XZ
-; public: class SESSION0_ENUM_OBJ const * __ptr64 __cdecl SESSION0_ENUM_ITER::operator()(void) __ptr64
-??RSESSION0_ENUM_ITER@@QEAAPEBVSESSION0_ENUM_OBJ@@XZ
-; public: class SESSION1_ENUM_OBJ const * __ptr64 __cdecl SESSION1_ENUM_ITER::operator()(void) __ptr64
-??RSESSION1_ENUM_ITER@@QEAAPEBVSESSION1_ENUM_OBJ@@XZ
-; public: class SHARE1_ENUM_OBJ const * __ptr64 __cdecl SHARE1_ENUM_ITER::operator()(void) __ptr64
-??RSHARE1_ENUM_ITER@@QEAAPEBVSHARE1_ENUM_OBJ@@XZ
-; public: class SHARE2_ENUM_OBJ const * __ptr64 __cdecl SHARE2_ENUM_ITER::operator()(void) __ptr64
-??RSHARE2_ENUM_ITER@@QEAAPEBVSHARE2_ENUM_OBJ@@XZ
-; public: class TRIPLE_SERVER_ENUM_OBJ const * __ptr64 __cdecl TRIPLE_SERVER_ENUM_ITER::operator()(void) __ptr64
-??RTRIPLE_SERVER_ENUM_ITER@@QEAAPEBVTRIPLE_SERVER_ENUM_OBJ@@XZ
-; public: class USE1_ENUM_OBJ const * __ptr64 __cdecl USE1_ENUM_ITER::operator()(void) __ptr64
-??RUSE1_ENUM_ITER@@QEAAPEBVUSE1_ENUM_OBJ@@XZ
-; public: class USER0_ENUM_OBJ const * __ptr64 __cdecl USER0_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
-??RUSER0_ENUM_ITER@@QEAAPEBVUSER0_ENUM_OBJ@@PEAJH@Z
-; public: long __cdecl SLIST_OF_NLS_STR::Add(class NLS_STR const * __ptr64) __ptr64
-?Add@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
-; public: long __cdecl OS_ACL::AddACE(unsigned long,class OS_ACE const & __ptr64) __ptr64
-?AddACE@OS_ACL@@QEAAJKAEBVOS_ACE@@@Z
-; public: long __cdecl MEMBERSHIP_LM_OBJ::AddAssocName(unsigned short const * __ptr64) __ptr64
-?AddAssocName@MEMBERSHIP_LM_OBJ@@QEAAJPEBG@Z
-; private: static long __cdecl DOMAIN_WITH_DC_CACHE::AddDcCache(struct _DC_CACHE_ENTRY * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)
-?AddDcCache@DOMAIN_WITH_DC_CACHE@@CAJPEAPEAU_DC_CACHE_ENTRY@@PEBG1@Z
-; private: void __cdecl BROWSE_DOMAIN_INFO::AddDomainSource(unsigned long) __ptr64
-?AddDomainSource@BROWSE_DOMAIN_INFO@@AEAAXK@Z
-; private: long __cdecl BROWSE_DOMAIN_ENUM::AddDomainToList(unsigned short const * __ptr64,unsigned long,int) __ptr64
-?AddDomainToList@BROWSE_DOMAIN_ENUM@@AEAAJPEBGKH@Z
-; public: long __cdecl SAM_ALIAS::AddMember(void * __ptr64) __ptr64
-?AddMember@SAM_ALIAS@@QEAAJPEAX@Z
-; public: long __cdecl SAM_GROUP::AddMember(unsigned long) __ptr64
-?AddMember@SAM_GROUP@@QEAAJK@Z
-; public: long __cdecl SAM_ALIAS::AddMembers(void * __ptr64 * __ptr64,unsigned int) __ptr64
-?AddMembers@SAM_ALIAS@@QEAAJPEAPEAXI@Z
-; public: long __cdecl SAM_GROUP::AddMembers(unsigned long * __ptr64,unsigned int) __ptr64
-?AddMembers@SAM_GROUP@@QEAAJPEAKI@Z
-; public: long __cdecl OS_PRIVILEGE_SET::AddPrivilege(struct _LUID,unsigned long) __ptr64
-?AddPrivilege@OS_PRIVILEGE_SET@@QEAAJU_LUID@@K@Z
-; public: long __cdecl SLIST_OF_ADMIN_AUTHORITY::Append(class ADMIN_AUTHORITY const * __ptr64) __ptr64
-?Append@SLIST_OF_ADMIN_AUTHORITY@@QEAAJPEBVADMIN_AUTHORITY@@@Z
-; public: long __cdecl SLIST_OF_API_SESSION::Append(class API_SESSION const * __ptr64) __ptr64
-?Append@SLIST_OF_API_SESSION@@QEAAJPEBVAPI_SESSION@@@Z
-; public: long __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::Append(class BROWSE_DOMAIN_INFO const * __ptr64) __ptr64
-?Append@SLIST_OF_BROWSE_DOMAIN_INFO@@QEAAJPEBVBROWSE_DOMAIN_INFO@@@Z
-; public: long __cdecl SLIST_OF_LM_RESUME_BUFFER::Append(class LM_RESUME_BUFFER const * __ptr64) __ptr64
-?Append@SLIST_OF_LM_RESUME_BUFFER@@QEAAJPEBVLM_RESUME_BUFFER@@@Z
-; public: long __cdecl SLIST_OF_NLS_STR::Append(class NLS_STR const * __ptr64) __ptr64
-?Append@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
-; public: int __cdecl CHARDEVQ1_ENUM_ITER::Backup(void) __ptr64
-?Backup@CHARDEVQ1_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl CONN0_ENUM_ITER::Backup(void) __ptr64
-?Backup@CONN0_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl CONN1_ENUM_ITER::Backup(void) __ptr64
-?Backup@CONN1_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl CONTEXT_ENUM_ITER::Backup(void) __ptr64
-?Backup@CONTEXT_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl DOMAIN0_ENUM_ITER::Backup(void) __ptr64
-?Backup@DOMAIN0_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl GROUP0_ENUM_ITER::Backup(void) __ptr64
-?Backup@GROUP0_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl GROUP1_ENUM_ITER::Backup(void) __ptr64
-?Backup@GROUP1_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl SERVER1_ENUM_ITER::Backup(void) __ptr64
-?Backup@SERVER1_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl SERVICE_ENUM_ITER::Backup(void) __ptr64
-?Backup@SERVICE_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl SESSION0_ENUM_ITER::Backup(void) __ptr64
-?Backup@SESSION0_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl SESSION1_ENUM_ITER::Backup(void) __ptr64
-?Backup@SESSION1_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl SHARE1_ENUM_ITER::Backup(void) __ptr64
-?Backup@SHARE1_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl SHARE2_ENUM_ITER::Backup(void) __ptr64
-?Backup@SHARE2_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl TRIPLE_SERVER_ENUM_ITER::Backup(void) __ptr64
-?Backup@TRIPLE_SERVER_ENUM_ITER@@QEAAHXZ
-; public: int __cdecl USE1_ENUM_ITER::Backup(void) __ptr64
-?Backup@USE1_ENUM_ITER@@QEAAHXZ
-; public: static long __cdecl NT_ACCOUNTS_UTILITY::BuildAndCopySysSid(class OS_SID * __ptr64,struct _SID_IDENTIFIER_AUTHORITY * __ptr64,unsigned char,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)
-?BuildAndCopySysSid@NT_ACCOUNTS_UTILITY@@SAJPEAVOS_SID@@PEAU_SID_IDENTIFIER_AUTHORITY@@EKKKKKKKK@Z
-; public: static long __cdecl NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,class NLS_STR const * __ptr64,enum _SID_NAME_USE)
-?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJPEAVNLS_STR@@AEBV2@1PEBV2@2W4_SID_NAME_USE@@@Z
-; public: static long __cdecl NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,void * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,void * __ptr64,enum _SID_NAME_USE)
-?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJPEAVNLS_STR@@AEBV2@PEAX1PEBV2@2W4_SID_NAME_USE@@@Z
-; private: virtual long __cdecl ALIAS_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@ALIAS_ENUM@@EEAAJHPEAPEAEPEAI@Z
-; private: virtual long __cdecl CHARDEVQ_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@CHARDEVQ_ENUM@@EEAAJPEAPEAEPEAI@Z
-; private: virtual long __cdecl CONN_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@CONN_ENUM@@EEAAJPEAPEAEPEAI@Z
-; protected: virtual long __cdecl CONTEXT_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@CONTEXT_ENUM@@MEAAJPEAPEAEPEAI@Z
-; protected: virtual long __cdecl DEVICE2::CallAPI(void) __ptr64
-?CallAPI@DEVICE2@@MEAAJXZ
-; protected: virtual long __cdecl DEVICE::CallAPI(void) __ptr64
-?CallAPI@DEVICE@@MEAAJXZ
-; private: virtual long __cdecl DOMAIN_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@DOMAIN_ENUM@@EEAAJPEAPEAEPEAI@Z
-; private: virtual long __cdecl FILE_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@FILE_ENUM@@EEAAJHPEAPEAEPEAI@Z
-; private: virtual long __cdecl GROUP_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@GROUP_ENUM@@EEAAJPEAPEAEPEAI@Z
-; protected: virtual long __cdecl GROUP_MEMB::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@GROUP_MEMB@@MEAAJPEAPEAEPEAI@Z
-; private: virtual long __cdecl LSA_ACCOUNTS_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@LSA_ACCOUNTS_ENUM@@EEAAJHPEAPEAEPEAI@Z
-; protected: virtual long __cdecl LSA_PRIVILEGES_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@LSA_PRIVILEGES_ENUM@@MEAAJHPEAPEAEPEAI@Z
-; private: virtual long __cdecl NT_ACCOUNT_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@NT_ACCOUNT_ENUM@@EEAAJHPEAPEAEPEAI@Z
-; private: virtual long __cdecl SAM_USER_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@SAM_USER_ENUM@@EEAAJHPEAPEAEPEAI@Z
-; private: virtual long __cdecl SERVER_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@SERVER_ENUM@@EEAAJPEAPEAEPEAI@Z
-; private: virtual long __cdecl SERVICE_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@SERVICE_ENUM@@EEAAJPEAPEAEPEAI@Z
-; private: virtual long __cdecl SESSION_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@SESSION_ENUM@@EEAAJPEAPEAEPEAI@Z
-; private: virtual long __cdecl SHARE_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@SHARE_ENUM@@EEAAJPEAPEAEPEAI@Z
-; private: virtual long __cdecl TRIPLE_SERVER_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@TRIPLE_SERVER_ENUM@@EEAAJPEAPEAEPEAI@Z
-; private: virtual long __cdecl TRUSTED_DOMAIN_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@TRUSTED_DOMAIN_ENUM@@EEAAJHPEAPEAEPEAI@Z
-; private: virtual long __cdecl USER_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@USER_ENUM@@EEAAJHPEAPEAEPEAI@Z
-; protected: virtual long __cdecl USER_MEMB::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@USER_MEMB@@MEAAJPEAPEAEPEAI@Z
-; private: virtual long __cdecl USE_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?CallAPI@USE_ENUM@@EEAAJPEAPEAEPEAI@Z
-; public: long __cdecl SC_SERVICE::ChangeConfig(unsigned int,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?ChangeConfig@SC_SERVICE@@QEAAJIIIPEBG00000@Z
-; public: long __cdecl NEW_LM_OBJ::ChangeToNew(void) __ptr64
-?ChangeToNew@NEW_LM_OBJ@@QEAAJXZ
-; public: long __cdecl LOCATION::CheckIfNT(int * __ptr64) __ptr64
-?CheckIfNT@LOCATION@@QEAAJPEAH@Z
-; public: long __cdecl LOCATION::CheckIfNT(int * __ptr64,enum LOCATION_NT_TYPE * __ptr64) __ptr64
-?CheckIfNT@LOCATION@@QEAAJPEAHPEAW4LOCATION_NT_TYPE@@@Z
-; public: long __cdecl LSA_POLICY::CheckIfShutDownOnFull(int * __ptr64) __ptr64
-?CheckIfShutDownOnFull@LSA_POLICY@@QEAAJPEAH@Z
-; protected: void __cdecl LSA_POLICY::CleanupUnistrArray(struct _UNICODE_STRING * __ptr64,unsigned long) __ptr64
-?CleanupUnistrArray@LSA_POLICY@@IEAAXPEAU_UNICODE_STRING@@K@Z
-; public: void __cdecl OS_PRIVILEGE_SET::Clear(void) __ptr64
-?Clear@OS_PRIVILEGE_SET@@QEAAXXZ
-; public: void __cdecl SLIST_OF_ADMIN_AUTHORITY::Clear(void) __ptr64
-?Clear@SLIST_OF_ADMIN_AUTHORITY@@QEAAXXZ
-; public: void __cdecl SLIST_OF_API_SESSION::Clear(void) __ptr64
-?Clear@SLIST_OF_API_SESSION@@QEAAXXZ
-; public: void __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::Clear(void) __ptr64
-?Clear@SLIST_OF_BROWSE_DOMAIN_INFO@@QEAAXXZ
-; public: void __cdecl SLIST_OF_LM_RESUME_BUFFER::Clear(void) __ptr64
-?Clear@SLIST_OF_LM_RESUME_BUFFER@@QEAAXXZ
-; protected: long __cdecl NEW_LM_OBJ::ClearBuffer(void) __ptr64
-?ClearBuffer@NEW_LM_OBJ@@IEAAJXZ
-; private: static long __cdecl DOMAIN_WITH_DC_CACHE::ClearDcCache(struct _DC_CACHE_ENTRY * __ptr64)
-?ClearDcCache@DOMAIN_WITH_DC_CACHE@@CAJPEAU_DC_CACHE_ENTRY@@@Z
-; public: long __cdecl NET_ACCESS_1::ClearPerms(void) __ptr64
-?ClearPerms@NET_ACCESS_1@@QEAAJXZ
-; public: long __cdecl GROUP_1::CloneFrom(class GROUP_1 const & __ptr64) __ptr64
-?CloneFrom@GROUP_1@@QEAAJAEBV1@@Z
-; public: long __cdecl GROUP_MEMB::CloneFrom(class GROUP_MEMB const & __ptr64) __ptr64
-?CloneFrom@GROUP_MEMB@@QEAAJAEBV1@@Z
-; public: long __cdecl SHARE_1::CloneFrom(class SHARE_1 const & __ptr64) __ptr64
-?CloneFrom@SHARE_1@@QEAAJAEBV1@@Z
-; public: long __cdecl SHARE_2::CloneFrom(class SHARE_2 const & __ptr64) __ptr64
-?CloneFrom@SHARE_2@@QEAAJAEBV1@@Z
-; public: long __cdecl USER_2::CloneFrom(class USER_2 const & __ptr64) __ptr64
-?CloneFrom@USER_2@@QEAAJAEBV1@@Z
-; public: long __cdecl USER_3::CloneFrom(class USER_3 const & __ptr64) __ptr64
-?CloneFrom@USER_3@@QEAAJAEBV1@@Z
-; public: long __cdecl USER_MEMB::CloneFrom(class USER_MEMB const & __ptr64) __ptr64
-?CloneFrom@USER_MEMB@@QEAAJAEBV1@@Z
-; public: long __cdecl SERVICE_CONTROL::Close(void) __ptr64
-?Close@SERVICE_CONTROL@@QEAAJXZ
-; public: long __cdecl LM_FILE::CloseFile(void) __ptr64
-?CloseFile@LM_FILE@@QEAAJXZ
-; public: long __cdecl LSA_OBJECT::CloseHandle(int) __ptr64
-?CloseHandle@LSA_OBJECT@@QEAAJH@Z
-; public: long __cdecl SAM_OBJECT::CloseHandle(void) __ptr64
-?CloseHandle@SAM_OBJECT@@QEAAJXZ
-; private: void __cdecl TRIPLE_SERVER_ENUM::CombineIntoTriple(struct _SERVER_INFO_101 const * __ptr64,struct _KNOWN_SERVER_INFO const * __ptr64,struct _TRIPLE_SERVER_INFO * __ptr64) __ptr64
-?CombineIntoTriple@TRIPLE_SERVER_ENUM@@AEAAXPEBU_SERVER_INFO_101@@PEBU_KNOWN_SERVER_INFO@@PEAU_TRIPLE_SERVER_INFO@@@Z
-; public: long __cdecl OS_ACL_SUBJECT_ITER::Compare(int * __ptr64,class OS_ACL_SUBJECT_ITER * __ptr64) __ptr64
-?Compare@OS_ACL_SUBJECT_ITER@@QEAAJPEAHPEAV1@@Z
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::Compare(class OS_SECURITY_DESCRIPTOR * __ptr64,int * __ptr64,int * __ptr64,int * __ptr64,int * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
-?Compare@OS_SECURITY_DESCRIPTOR@@QEAAJPEAV1@PEAH111PEAU_GENERIC_MAPPING@@2HH@Z
-; public: int __cdecl NET_ACCESS_1::CompareACL(class NET_ACCESS_1 * __ptr64) __ptr64
-?CompareACL@NET_ACCESS_1@@QEAAHPEAV1@@Z
-; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareBrowserServers(void const * __ptr64,void const * __ptr64)
-?CompareBrowserServers@TRIPLE_SERVER_ENUM@@CAHPEBX0@Z
-; public: virtual int __cdecl OS_DACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER * __ptr64) __ptr64
-?CompareCurrentSubject@OS_DACL_SUBJECT_ITER@@UEAAHPEAVOS_ACL_SUBJECT_ITER@@@Z
-; public: virtual int __cdecl OS_SACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER * __ptr64) __ptr64
-?CompareCurrentSubject@OS_SACL_SUBJECT_ITER@@UEAAHPEAVOS_ACL_SUBJECT_ITER@@@Z
-; private: static int __cdecl DOMAIN0_ENUM::CompareDomains0(void const * __ptr64,void const * __ptr64)
-?CompareDomains0@DOMAIN0_ENUM@@CAHPEBX0@Z
-; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareLmServers(void const * __ptr64,void const * __ptr64)
-?CompareLmServers@TRIPLE_SERVER_ENUM@@CAHPEBX0@Z
-; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareNtServers(void const * __ptr64,void const * __ptr64)
-?CompareNtServers@TRIPLE_SERVER_ENUM@@CAHPEBX0@Z
-; public: long __cdecl DEVICE2::Connect(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-?Connect@DEVICE2@@QEAAJPEBG000K@Z
-; public: long __cdecl DEVICE::Connect(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?Connect@DEVICE@@QEAAJPEBG0@Z
-; long __cdecl ConnectToNullSession(class NLS_STR const & __ptr64)
-?ConnectToNullSession@@YAJAEBVNLS_STR@@@Z
-; public: long __cdecl LM_SERVICE::Continue(unsigned int,unsigned int) __ptr64
-?Continue@LM_SERVICE@@QEAAJII@Z
-; public: long __cdecl SC_SERVICE::Control(unsigned int,struct _SERVICE_STATUS * __ptr64) __ptr64
-?Control@SC_SERVICE@@QEAAJIPEAU_SERVICE_STATUS@@@Z
-; public: long __cdecl OS_ACL::Copy(class OS_ACL const & __ptr64,int) __ptr64
-?Copy@OS_ACL@@QEAAJAEBV1@H@Z
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::Copy(class OS_SECURITY_DESCRIPTOR const & __ptr64) __ptr64
-?Copy@OS_SECURITY_DESCRIPTOR@@QEAAJAEBV1@@Z
-; public: long __cdecl OS_SID::Copy(class OS_SID const & __ptr64) __ptr64
-?Copy@OS_SID@@QEAAJAEBV1@@Z
-; public: long __cdecl NET_ACCESS_1::CopyAccessPerms(class NET_ACCESS_1 const & __ptr64) __ptr64
-?CopyAccessPerms@NET_ACCESS_1@@QEAAJAEBV1@@Z
-; private: void __cdecl SERVICE_ENUM::CountServices(unsigned char * __ptr64,unsigned int * __ptr64,unsigned int * __ptr64) __ptr64
-?CountServices@SERVICE_ENUM@@AEAAXPEAEPEAI1@Z
-; public: static long __cdecl NT_ACCOUNTS_UTILITY::CrackQualifiedAccountName(class NLS_STR const & __ptr64,class NLS_STR * __ptr64,class NLS_STR * __ptr64)
-?CrackQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJAEBVNLS_STR@@PEAV2@1@Z
-; public: long __cdecl LSA_SECRET::Create(class LSA_POLICY const & __ptr64,unsigned long) __ptr64
-?Create@LSA_SECRET@@QEAAJAEBVLSA_POLICY@@K@Z
-; public: long __cdecl NEW_LM_OBJ::CreateNew(void) __ptr64
-?CreateNew@NEW_LM_OBJ@@QEAAJXZ
-; private: void __cdecl DOMAIN::CtAux(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?CtAux@DOMAIN@@AEAAXPEBG0@Z
-; private: void __cdecl GROUP::CtAux(unsigned short const * __ptr64) __ptr64
-?CtAux@GROUP@@AEAAXPEBG@Z
-; private: void __cdecl GROUP_1::CtAux(void) __ptr64
-?CtAux@GROUP_1@@AEAAXXZ
-; private: void __cdecl LOC_LM_OBJ::CtAux(void) __ptr64
-?CtAux@LOC_LM_OBJ@@AEAAXXZ
-; private: void __cdecl USER::CtAux(unsigned short const * __ptr64) __ptr64
-?CtAux@USER@@AEAAXPEBG@Z
-; private: void __cdecl USER_11::CtAux(void) __ptr64
-?CtAux@USER_11@@AEAAXXZ
-; private: void __cdecl USER_2::CtAux(void) __ptr64
-?CtAux@USER_2@@AEAAXXZ
-; private: void __cdecl USER_3::CtAux(void) __ptr64
-?CtAux@USER_3@@AEAAXXZ
-; public: long __cdecl LSA_TRUSTED_DOMAIN::Delete(void) __ptr64
-?Delete@LSA_TRUSTED_DOMAIN@@QEAAJXZ
-; public: long __cdecl NET_ACCESS::Delete(void) __ptr64
-?Delete@NET_ACCESS@@QEAAJXZ
-; public: long __cdecl NEW_LM_OBJ::Delete(unsigned int) __ptr64
-?Delete@NEW_LM_OBJ@@QEAAJI@Z
-; public: long __cdecl SAM_ALIAS::Delete(void) __ptr64
-?Delete@SAM_ALIAS@@QEAAJXZ
-; public: long __cdecl SC_SERVICE::Delete(void) __ptr64
-?Delete@SC_SERVICE@@QEAAJXZ
-; public: long __cdecl OS_ACL::DeleteACE(unsigned long) __ptr64
-?DeleteACE@OS_ACL@@QEAAJK@Z
-; protected: long __cdecl LSA_POLICY::DeleteAllTrustedDomains(void) __ptr64
-?DeleteAllTrustedDomains@LSA_POLICY@@IEAAJXZ
-; public: long __cdecl MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned int) __ptr64
-?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QEAAJI@Z
-; public: long __cdecl MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned short const * __ptr64) __ptr64
-?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QEAAJPEBG@Z
-; public: long __cdecl LSA_ACCOUNT::DeletePrivilege(struct _LUID) __ptr64
-?DeletePrivilege@LSA_ACCOUNT@@QEAAJU_LUID@@@Z
-; private: void __cdecl LM_ENUM::DeregisterIter(void) __ptr64
-?DeregisterIter@LM_ENUM@@AEAAXXZ
-; private: void __cdecl LM_RESUME_ENUM::DeregisterIter(void) __ptr64
-?DeregisterIter@LM_RESUME_ENUM@@AEAAXXZ
-; private: long __cdecl BROWSE_DOMAIN_ENUM::DetermineIfDomainMember(int * __ptr64) __ptr64
-?DetermineIfDomainMember@BROWSE_DOMAIN_ENUM@@AEAAJPEAH@Z
-; public: long __cdecl DEVICE::Disconnect(unsigned int) __ptr64
-?Disconnect@DEVICE@@QEAAJI@Z
-; public: long __cdecl DEVICE::Disconnect(unsigned short const * __ptr64,unsigned int) __ptr64
-?Disconnect@DEVICE@@QEAAJPEBGI@Z
-; public: long __cdecl LSA_POLICY::DistrustDomain(void * __ptr64 const,class NLS_STR const & __ptr64,int) __ptr64
-?DistrustDomain@LSA_POLICY@@QEAAJQEAXAEBVNLS_STR@@H@Z
-; public: int __cdecl LM_RESUME_ENUM::DoesKeepBuffers(void)const  __ptr64
-?DoesKeepBuffers@LM_RESUME_ENUM@@QEBAHXZ
-; private: virtual unsigned char * __ptr64 __cdecl ENUM_CALLER_LM_OBJ::EC_QueryBufferPtr(void)const  __ptr64
-?EC_QueryBufferPtr@ENUM_CALLER_LM_OBJ@@EEBAPEAEXZ
-; private: virtual unsigned char * __ptr64 __cdecl LM_ENUM::EC_QueryBufferPtr(void)const  __ptr64
-?EC_QueryBufferPtr@LM_ENUM@@EEBAPEAEXZ
-; private: virtual unsigned int __cdecl ENUM_CALLER_LM_OBJ::EC_QueryBufferSize(void)const  __ptr64
-?EC_QueryBufferSize@ENUM_CALLER_LM_OBJ@@EEBAIXZ
-; private: virtual long __cdecl ENUM_CALLER_LM_OBJ::EC_ResizeBuffer(unsigned int) __ptr64
-?EC_ResizeBuffer@ENUM_CALLER_LM_OBJ@@EEAAJI@Z
-; private: virtual long __cdecl ENUM_CALLER_LM_OBJ::EC_SetBufferPtr(unsigned char * __ptr64) __ptr64
-?EC_SetBufferPtr@ENUM_CALLER_LM_OBJ@@EEAAJPEAE@Z
-; private: virtual long __cdecl LM_ENUM::EC_SetBufferPtr(unsigned char * __ptr64) __ptr64
-?EC_SetBufferPtr@LM_ENUM@@EEAAJPEAE@Z
-; private: static long __cdecl DOMAIN_WITH_DC_CACHE::EnterCriticalSection(void)
-?EnterCriticalSection@DOMAIN_WITH_DC_CACHE@@CAJXZ
-; unsigned long __cdecl EnumAllComms(void)
-?EnumAllComms@@YAKXZ
-; unsigned long __cdecl EnumAllDrives(void)
-?EnumAllDrives@@YAKXZ
-; unsigned long __cdecl EnumAllLPTs(void)
-?EnumAllLPTs@@YAKXZ
-; private: unsigned short const * __ptr64 __cdecl ITER_DEVICE::EnumComms(void) __ptr64
-?EnumComms@ITER_DEVICE@@AEAAPEBGXZ
-; public: long __cdecl SC_SERVICE::EnumDependent(unsigned int,struct _ENUM_SERVICE_STATUSW * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?EnumDependent@SC_SERVICE@@QEAAJIPEAPEAU_ENUM_SERVICE_STATUSW@@PEAK@Z
-; private: unsigned short const * __ptr64 __cdecl ITER_DEVICE::EnumDrives(void) __ptr64
-?EnumDrives@ITER_DEVICE@@AEAAPEBGXZ
-; private: unsigned short const * __ptr64 __cdecl ITER_DEVICE::EnumLPTs(void) __ptr64
-?EnumLPTs@ITER_DEVICE@@AEAAPEBGXZ
-; private: long __cdecl SERVICE_ENUM::EnumLmServices(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?EnumLmServices@SERVICE_ENUM@@AEAAJPEAPEAEPEAI@Z
-; unsigned long __cdecl EnumLocalComms(void)
-?EnumLocalComms@@YAKXZ
-; unsigned long __cdecl EnumLocalDrives(void)
-?EnumLocalDrives@@YAKXZ
-; unsigned long __cdecl EnumLocalLPTs(void)
-?EnumLocalLPTs@@YAKXZ
-; unsigned long __cdecl EnumNetComms(void)
-?EnumNetComms@@YAKXZ
-; unsigned long __cdecl EnumNetDevices(int)
-?EnumNetDevices@@YAKH@Z
-; unsigned long __cdecl EnumNetDrives(void)
-?EnumNetDrives@@YAKXZ
-; unsigned long __cdecl EnumNetLPTs(void)
-?EnumNetLPTs@@YAKXZ
-; private: long __cdecl SERVICE_ENUM::EnumNtServices(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
-?EnumNtServices@SERVICE_ENUM@@AEAAJPEAPEAEPEAI@Z
-; public: long __cdecl SC_MANAGER::EnumServiceStatus(unsigned int,unsigned int,struct _ENUM_SERVICE_STATUSW * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned short const * __ptr64) __ptr64
-?EnumServiceStatus@SC_MANAGER@@QEAAJIIPEAPEAU_ENUM_SERVICE_STATUSW@@PEAKPEBG@Z
-; unsigned long __cdecl EnumUnavailComms(void)
-?EnumUnavailComms@@YAKXZ
-; unsigned long __cdecl EnumUnavailDevices(int)
-?EnumUnavailDevices@@YAKH@Z
-; unsigned long __cdecl EnumUnavailDrives(void)
-?EnumUnavailDrives@@YAKXZ
-; unsigned long __cdecl EnumUnavailLPTs(void)
-?EnumUnavailLPTs@@YAKXZ
-; public: long __cdecl SAM_DOMAIN::EnumerateAliases(class SAM_RID_ENUMERATION_MEM * __ptr64,unsigned long * __ptr64,unsigned long)const  __ptr64
-?EnumerateAliases@SAM_DOMAIN@@QEBAJPEAVSAM_RID_ENUMERATION_MEM@@PEAKK@Z
-; public: long __cdecl SAM_DOMAIN::EnumerateAliasesForUser(void * __ptr64,class SAM_RID_MEM * __ptr64)const  __ptr64
-?EnumerateAliasesForUser@SAM_DOMAIN@@QEBAJPEAXPEAVSAM_RID_MEM@@@Z
-; public: long __cdecl SAM_DOMAIN::EnumerateGroups(class SAM_RID_ENUMERATION_MEM * __ptr64,unsigned long * __ptr64,unsigned long)const  __ptr64
-?EnumerateGroups@SAM_DOMAIN@@QEBAJPEAVSAM_RID_ENUMERATION_MEM@@PEAKK@Z
-; public: long __cdecl LSA_POLICY::EnumerateTrustedDomains(class LSA_TRUST_INFO_MEM * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?EnumerateTrustedDomains@LSA_POLICY@@QEAAJPEAVLSA_TRUST_INFO_MEM@@PEAKK@Z
-; public: long __cdecl SAM_DOMAIN::EnumerateUsers(class SAM_RID_ENUMERATION_MEM * __ptr64,unsigned long * __ptr64,unsigned long,unsigned long)const  __ptr64
-?EnumerateUsers@SAM_DOMAIN@@QEBAJPEAVSAM_RID_ENUMERATION_MEM@@PEAKKK@Z
-; long __cdecl FillUnicodeString(struct _UNICODE_STRING * __ptr64,class NLS_STR const & __ptr64)
-?FillUnicodeString@@YAJPEAU_UNICODE_STRING@@AEBVNLS_STR@@@Z
-; private: struct _ACCESS_LIST * __ptr64 __cdecl NET_ACCESS_1::FindACE(unsigned short const * __ptr64,enum PERMNAME_TYPE)const  __ptr64
-?FindACE@NET_ACCESS_1@@AEBAPEAU_ACCESS_LIST@@PEBGW4PERMNAME_TYPE@@@Z
-; public: long __cdecl OS_ACL::FindACE(class OS_SID const & __ptr64,int * __ptr64,class OS_ACE * __ptr64,unsigned long * __ptr64,unsigned long)const  __ptr64
-?FindACE@OS_ACL@@QEBAJAEBVOS_SID@@PEAHPEAVOS_ACE@@PEAKK@Z
-; public: int __cdecl MEMBERSHIP_LM_OBJ::FindAssocName(unsigned short const * __ptr64,unsigned int * __ptr64) __ptr64
-?FindAssocName@MEMBERSHIP_LM_OBJ@@QEAAHPEBGPEAI@Z
-; private: static unsigned short const * __ptr64 __cdecl DOMAIN_WITH_DC_CACHE::FindDcCache(struct _DC_CACHE_ENTRY const * __ptr64,unsigned short const * __ptr64)
-?FindDcCache@DOMAIN_WITH_DC_CACHE@@CAPEBGPEBU_DC_CACHE_ENTRY@@PEBG@Z
-; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::FindFirst(unsigned long) __ptr64
-?FindFirst@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@K@Z
-; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::FindNext(unsigned long) __ptr64
-?FindNext@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@K@Z
-; public: long __cdecl OS_ACL_SUBJECT_ITER::FindNextSubject(int * __ptr64,class OS_SID * __ptr64,class OS_ACE * __ptr64) __ptr64
-?FindNextSubject@OS_ACL_SUBJECT_ITER@@QEAAJPEAHPEAVOS_SID@@PEAVOS_ACE@@@Z
-; public: long __cdecl OS_PRIVILEGE_SET::FindPrivilege(struct _LUID)const  __ptr64
-?FindPrivilege@OS_PRIVILEGE_SET@@QEBAJU_LUID@@@Z
-; protected: void __cdecl NEW_LM_OBJ::FixupPointer(unsigned short * __ptr64 * __ptr64,class NEW_LM_OBJ const * __ptr64) __ptr64
-?FixupPointer@NEW_LM_OBJ@@IEAAXPEAPEAGPEBV1@@Z
-; protected: virtual void __cdecl ALIAS_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
-?FreeBuffer@ALIAS_ENUM@@MEAAXPEAPEAE@Z
-; protected: virtual void __cdecl FILE_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
-?FreeBuffer@FILE_ENUM@@MEAAXPEAPEAE@Z
-; protected: virtual void __cdecl LOC_LM_RESUME_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
-?FreeBuffer@LOC_LM_RESUME_ENUM@@MEAAXPEAPEAE@Z
-; protected: virtual void __cdecl LSA_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
-?FreeBuffer@LSA_ENUM@@MEAAXPEAPEAE@Z
-; protected: virtual void __cdecl LSA_MEMORY::FreeBuffer(void) __ptr64
-?FreeBuffer@LSA_MEMORY@@MEAAXXZ
-; private: void __cdecl LSA_TRUSTED_DC_LIST::FreeBuffer(void) __ptr64
-?FreeBuffer@LSA_TRUSTED_DC_LIST@@AEAAXXZ
-; protected: virtual void __cdecl NT_ACCOUNT_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
-?FreeBuffer@NT_ACCOUNT_ENUM@@MEAAXPEAPEAE@Z
-; protected: virtual void __cdecl SAM_MEMORY::FreeBuffer(void) __ptr64
-?FreeBuffer@SAM_MEMORY@@MEAAXXZ
-; protected: virtual void __cdecl SAM_USER_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
-?FreeBuffer@SAM_USER_ENUM@@MEAAXPEAPEAE@Z
-; protected: virtual void __cdecl TRUSTED_DOMAIN_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
-?FreeBuffer@TRUSTED_DOMAIN_ENUM@@MEAAXPEAPEAE@Z
-; void __cdecl FreeUnicodeString(struct _UNICODE_STRING * __ptr64)
-?FreeUnicodeString@@YAXPEAU_UNICODE_STRING@@@Z
-; public: long __cdecl LSA_POLICY::GetAccountDomain(class LSA_ACCT_DOM_INFO_MEM * __ptr64)const  __ptr64
-?GetAccountDomain@LSA_POLICY@@QEBAJPEAVLSA_ACCT_DOM_INFO_MEM@@@Z
-; public: static long __cdecl DOMAIN::GetAnyDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
-?GetAnyDC@DOMAIN@@SAJPEBG0PEAVNLS_STR@@@Z
-; public: static long __cdecl DOMAIN_WITH_DC_CACHE::GetAnyDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
-?GetAnyDC@DOMAIN_WITH_DC_CACHE@@SAJPEBG0PEAVNLS_STR@@@Z
-; protected: static long __cdecl DOMAIN::GetAnyDCWorker(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64,int)
-?GetAnyDCWorker@DOMAIN@@KAJPEBG0PEAVNLS_STR@@H@Z
-; protected: static long __cdecl DOMAIN_WITH_DC_CACHE::GetAnyDCWorker(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64,int)
-?GetAnyDCWorker@DOMAIN_WITH_DC_CACHE@@KAJPEBG0PEAVNLS_STR@@H@Z
-; public: static long __cdecl DOMAIN::GetAnyValidDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
-?GetAnyValidDC@DOMAIN@@SAJPEBG0PEAVNLS_STR@@@Z
-; public: static long __cdecl DOMAIN_WITH_DC_CACHE::GetAnyValidDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
-?GetAnyValidDC@DOMAIN_WITH_DC_CACHE@@SAJPEBG0PEAVNLS_STR@@@Z
-; public: long __cdecl LSA_POLICY::GetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM * __ptr64) __ptr64
-?GetAuditEventInfo@LSA_POLICY@@QEAAJPEAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
-; public: long __cdecl ALIAS_ENUM_OBJ::GetComment(class SAM_DOMAIN const & __ptr64,class NLS_STR * __ptr64) __ptr64
-?GetComment@ALIAS_ENUM_OBJ@@QEAAJAEBVSAM_DOMAIN@@PEAVNLS_STR@@@Z
-; public: long __cdecl SAM_ALIAS::GetComment(class NLS_STR * __ptr64) __ptr64
-?GetComment@SAM_ALIAS@@QEAAJPEAVNLS_STR@@@Z
-; public: long __cdecl SAM_GROUP::GetComment(class NLS_STR * __ptr64) __ptr64
-?GetComment@SAM_GROUP@@QEAAJPEAVNLS_STR@@@Z
-; private: long __cdecl NET_NAME::GetDeviceInfo(void) __ptr64
-?GetDeviceInfo@NET_NAME@@AEAAJXZ
-; public: virtual long __cdecl DEVICE::GetInfo(void) __ptr64
-?GetInfo@DEVICE@@UEAAJXZ
-; public: virtual long __cdecl DOMAIN::GetInfo(void) __ptr64
-?GetInfo@DOMAIN@@UEAAJXZ
-; public: virtual long __cdecl DOMAIN_WITH_DC_CACHE::GetInfo(void) __ptr64
-?GetInfo@DOMAIN_WITH_DC_CACHE@@UEAAJXZ
-; public: long __cdecl LM_ENUM::GetInfo(void) __ptr64
-?GetInfo@LM_ENUM@@QEAAJXZ
-; public: long __cdecl LM_RESUME_ENUM::GetInfo(int) __ptr64
-?GetInfo@LM_RESUME_ENUM@@QEAAJH@Z
-; public: long __cdecl NEW_LM_OBJ::GetInfo(void) __ptr64
-?GetInfo@NEW_LM_OBJ@@QEAAJXZ
-; public: virtual long __cdecl USER_MODALS::GetInfo(void) __ptr64
-?GetInfo@USER_MODALS@@UEAAJXZ
-; public: virtual long __cdecl USER_MODALS_3::GetInfo(void) __ptr64
-?GetInfo@USER_MODALS_3@@UEAAJXZ
-; private: long __cdecl LM_RESUME_ENUM::GetInfoMulti(void) __ptr64
-?GetInfoMulti@LM_RESUME_ENUM@@AEAAJXZ
-; private: long __cdecl LM_RESUME_ENUM::GetInfoSingle(int) __ptr64
-?GetInfoSingle@LM_RESUME_ENUM@@AEAAJH@Z
-; private: long __cdecl BROWSE_DOMAIN_ENUM::GetLanmanDomains(unsigned long) __ptr64
-?GetLanmanDomains@BROWSE_DOMAIN_ENUM@@AEAAJK@Z
-; private: long __cdecl BROWSE_DOMAIN_ENUM::GetLogonDomainDC(class NLS_STR * __ptr64) __ptr64
-?GetLogonDomainDC@BROWSE_DOMAIN_ENUM@@AEAAJPEAVNLS_STR@@@Z
-; public: long __cdecl SAM_ALIAS::GetMembers(class SAM_SID_MEM * __ptr64) __ptr64
-?GetMembers@SAM_ALIAS@@QEAAJPEAVSAM_SID_MEM@@@Z
-; public: long __cdecl SAM_GROUP::GetMembers(class SAM_RID_MEM * __ptr64) __ptr64
-?GetMembers@SAM_GROUP@@QEAAJPEAVSAM_RID_MEM@@@Z
-; public: long __cdecl SAM_DOMAIN::GetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM * __ptr64)const  __ptr64
-?GetPasswordInfo@SAM_DOMAIN@@QEBAJPEAVSAM_PSWD_DOM_INFO_MEM@@@Z
-; public: long __cdecl LSA_POLICY::GetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM * __ptr64)const  __ptr64
-?GetPrimaryDomain@LSA_POLICY@@QEBAJPEAVLSA_PRIMARY_DOM_INFO_MEM@@@Z
-; public: static long __cdecl NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY & __ptr64,class SAM_DOMAIN const & __ptr64,void * __ptr64 const * __ptr64,unsigned long,int,class STRLIST * __ptr64,unsigned long * __ptr64,enum _SID_NAME_USE * __ptr64,long * __ptr64,unsigned short const * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64)
-?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SAJAEAVLSA_POLICY@@AEBVSAM_DOMAIN@@PEBQEAXKHPEAVSTRLIST@@PEAKPEAW4_SID_NAME_USE@@PEAJPEBG3333@Z
-; public: static long __cdecl NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY & __ptr64,void * __ptr64 const,void * __ptr64 const * __ptr64,unsigned long,int,class STRLIST * __ptr64,unsigned long * __ptr64,enum _SID_NAME_USE * __ptr64,long * __ptr64,unsigned short const * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64)
-?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SAJAEAVLSA_POLICY@@QEAXPEBQEAXKHPEAVSTRLIST@@PEAKPEAW4_SID_NAME_USE@@PEAJPEBG3333@Z
-; public: static long __cdecl LM_SRVRES::GetResourceCount(unsigned short const * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
-?GetResourceCount@LM_SRVRES@@SAJPEBGPEAK11111@Z
-; public: long __cdecl LSA_POLICY::GetServerRole(class LSA_SERVER_ROLE_INFO_MEM * __ptr64)const  __ptr64
-?GetServerRole@LSA_POLICY@@QEBAJPEAVLSA_SERVER_ROLE_INFO_MEM@@@Z
-; public: static long __cdecl LM_SRVRES::GetSessionsCount(unsigned short const * __ptr64,unsigned long * __ptr64)
-?GetSessionsCount@LM_SRVRES@@SAJPEBGPEAK@Z
-; private: long __cdecl BROWSE_DOMAIN_ENUM::GetTrustingDomains(void) __ptr64
-?GetTrustingDomains@BROWSE_DOMAIN_ENUM@@AEAAJXZ
-; long __cdecl GetW32ComputerName(class NLS_STR & __ptr64)
-?GetW32ComputerName@@YAJAEAVNLS_STR@@@Z
-; long __cdecl GetW32UserAndDomainName(class NLS_STR & __ptr64,class NLS_STR & __ptr64)
-?GetW32UserAndDomainName@@YAJAEAVNLS_STR@@0@Z
-; long __cdecl GetW32UserName(class NLS_STR & __ptr64)
-?GetW32UserName@@YAJAEAVNLS_STR@@@Z
-; private: long __cdecl BROWSE_DOMAIN_ENUM::GetWorkgroupDomains(void) __ptr64
-?GetWorkgroupDomains@BROWSE_DOMAIN_ENUM@@AEAAJXZ
-; protected: long __cdecl USER::HandleNullAccount(void) __ptr64
-?HandleNullAccount@USER@@IEAAJXZ
-; public: int __cdecl OS_DACL_SUBJECT_ITER::HasInheritOnlyAce(void)const  __ptr64
-?HasInheritOnlyAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_F(void)const  __ptr64
-?HasInheritOnlyAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_S(void)const  __ptr64
-?HasInheritOnlyAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
-; protected: int __cdecl LM_RESUME_ENUM_ITER::HasMoreData(void)const  __ptr64
-?HasMoreData@LM_RESUME_ENUM_ITER@@IEBAHXZ
-; public: int __cdecl OS_DACL_SUBJECT_ITER::HasNewContainerAce(void)const  __ptr64
-?HasNewContainerAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_F(void)const  __ptr64
-?HasNewContainerAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_S(void)const  __ptr64
-?HasNewContainerAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_DACL_SUBJECT_ITER::HasNewObjectAce(void)const  __ptr64
-?HasNewObjectAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_F(void)const  __ptr64
-?HasNewObjectAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_S(void)const  __ptr64
-?HasNewObjectAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_DACL_SUBJECT_ITER::HasThisAce(void)const  __ptr64
-?HasThisAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_SACL_SUBJECT_ITER::HasThisAuditAce_F(void)const  __ptr64
-?HasThisAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_SACL_SUBJECT_ITER::HasThisAuditAce_S(void)const  __ptr64
-?HasThisAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
-; long __cdecl I_AppendToSTRLIST(class STRLIST * __ptr64,class NLS_STR & __ptr64)
-?I_AppendToSTRLIST@@YAJPEAVSTRLIST@@AEAVNLS_STR@@@Z
-; protected: virtual long __cdecl GROUP_1::I_ChangeToNew(void) __ptr64
-?I_ChangeToNew@GROUP_1@@MEAAJXZ
-; protected: virtual long __cdecl GROUP_MEMB::I_ChangeToNew(void) __ptr64
-?I_ChangeToNew@GROUP_MEMB@@MEAAJXZ
-; protected: virtual long __cdecl NEW_LM_OBJ::I_ChangeToNew(void) __ptr64
-?I_ChangeToNew@NEW_LM_OBJ@@MEAAJXZ
-; protected: virtual long __cdecl USER_2::I_ChangeToNew(void) __ptr64
-?I_ChangeToNew@USER_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_3::I_ChangeToNew(void) __ptr64
-?I_ChangeToNew@USER_3@@MEAAJXZ
-; protected: virtual long __cdecl USER_MEMB::I_ChangeToNew(void) __ptr64
-?I_ChangeToNew@USER_MEMB@@MEAAJXZ
-; protected: virtual long __cdecl GROUP_1::I_CreateNew(void) __ptr64
-?I_CreateNew@GROUP_1@@MEAAJXZ
-; protected: virtual long __cdecl GROUP_MEMB::I_CreateNew(void) __ptr64
-?I_CreateNew@GROUP_MEMB@@MEAAJXZ
-; protected: virtual long __cdecl LSA_ACCOUNT::I_CreateNew(void) __ptr64
-?I_CreateNew@LSA_ACCOUNT@@MEAAJXZ
-; protected: virtual long __cdecl NET_ACCESS_1::I_CreateNew(void) __ptr64
-?I_CreateNew@NET_ACCESS_1@@MEAAJXZ
-; protected: virtual long __cdecl NEW_LM_OBJ::I_CreateNew(void) __ptr64
-?I_CreateNew@NEW_LM_OBJ@@MEAAJXZ
-; protected: virtual long __cdecl SHARE_2::I_CreateNew(void) __ptr64
-?I_CreateNew@SHARE_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_2::I_CreateNew(void) __ptr64
-?I_CreateNew@USER_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_3::I_CreateNew(void) __ptr64
-?I_CreateNew@USER_3@@MEAAJXZ
-; protected: virtual long __cdecl USER_MEMB::I_CreateNew(void) __ptr64
-?I_CreateNew@USER_MEMB@@MEAAJXZ
-; protected: virtual long __cdecl GROUP::I_Delete(unsigned int) __ptr64
-?I_Delete@GROUP@@MEAAJI@Z
-; protected: virtual long __cdecl LM_SESSION::I_Delete(unsigned int) __ptr64
-?I_Delete@LM_SESSION@@MEAAJI@Z
-; protected: virtual long __cdecl LSA_ACCOUNT::I_Delete(unsigned int) __ptr64
-?I_Delete@LSA_ACCOUNT@@MEAAJI@Z
-; protected: virtual long __cdecl NEW_LM_OBJ::I_Delete(unsigned int) __ptr64
-?I_Delete@NEW_LM_OBJ@@MEAAJI@Z
-; protected: virtual long __cdecl SHARE::I_Delete(unsigned int) __ptr64
-?I_Delete@SHARE@@MEAAJI@Z
-; protected: virtual long __cdecl USER::I_Delete(unsigned int) __ptr64
-?I_Delete@USER@@MEAAJI@Z
-; long __cdecl I_FetchAliasFields(class NLS_STR * __ptr64,class ADMIN_AUTHORITY * __ptr64 * __ptr64,class SLIST_OF_ADMIN_AUTHORITY * __ptr64,unsigned long,int,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,long * __ptr64)
-?I_FetchAliasFields@@YAJPEAVNLS_STR@@PEAPEAVADMIN_AUTHORITY@@PEAVSLIST_OF_ADMIN_AUTHORITY@@KHAEBV1@PEBV1@PEAJ@Z
-; long __cdecl I_FetchDCList(class LSA_TRANSLATED_NAME_MEM const & __ptr64,class LSA_REF_DOMAIN_MEM const & __ptr64,void * __ptr64,void * __ptr64,class NLS_STR * __ptr64 * __ptr64,class STRLIST * __ptr64,int * __ptr64,long * __ptr64,unsigned short const * __ptr64,int,int,int)
-?I_FetchDCList@@YAJAEBVLSA_TRANSLATED_NAME_MEM@@AEBVLSA_REF_DOMAIN_MEM@@PEAX2PEAPEAVNLS_STR@@PEAVSTRLIST@@PEAHPEAJPEBGHHH@Z
-; long __cdecl I_FetchGroupFields(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,long * __ptr64)
-?I_FetchGroupFields@@YAJPEAVNLS_STR@@AEBV1@PEBV1@PEAJ@Z
-; long __cdecl I_FetchUserFields(class NLS_STR * __ptr64,class NLS_STR * __ptr64,unsigned long * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,long * __ptr64)
-?I_FetchUserFields@@YAJPEAVNLS_STR@@0PEAKAEBV1@PEBV1@PEAJ@Z
-; protected: virtual long __cdecl GROUP_1::I_GetInfo(void) __ptr64
-?I_GetInfo@GROUP_1@@MEAAJXZ
-; protected: virtual long __cdecl LM_FILE_2::I_GetInfo(void) __ptr64
-?I_GetInfo@LM_FILE_2@@MEAAJXZ
-; protected: virtual long __cdecl LM_FILE_3::I_GetInfo(void) __ptr64
-?I_GetInfo@LM_FILE_3@@MEAAJXZ
-; protected: virtual long __cdecl LM_SESSION_0::I_GetInfo(void) __ptr64
-?I_GetInfo@LM_SESSION_0@@MEAAJXZ
-; protected: virtual long __cdecl LM_SESSION_10::I_GetInfo(void) __ptr64
-?I_GetInfo@LM_SESSION_10@@MEAAJXZ
-; protected: virtual long __cdecl LM_SESSION_1::I_GetInfo(void) __ptr64
-?I_GetInfo@LM_SESSION_1@@MEAAJXZ
-; protected: virtual long __cdecl LM_SESSION_2::I_GetInfo(void) __ptr64
-?I_GetInfo@LM_SESSION_2@@MEAAJXZ
-; protected: virtual long __cdecl LOCAL_USER::I_GetInfo(void) __ptr64
-?I_GetInfo@LOCAL_USER@@MEAAJXZ
-; protected: virtual long __cdecl LSA_ACCOUNT::I_GetInfo(void) __ptr64
-?I_GetInfo@LSA_ACCOUNT@@MEAAJXZ
-; protected: virtual long __cdecl MEMBERSHIP_LM_OBJ::I_GetInfo(void) __ptr64
-?I_GetInfo@MEMBERSHIP_LM_OBJ@@MEAAJXZ
-; protected: virtual long __cdecl NET_ACCESS_1::I_GetInfo(void) __ptr64
-?I_GetInfo@NET_ACCESS_1@@MEAAJXZ
-; protected: virtual long __cdecl NEW_LM_OBJ::I_GetInfo(void) __ptr64
-?I_GetInfo@NEW_LM_OBJ@@MEAAJXZ
-; protected: virtual long __cdecl SERVER_0::I_GetInfo(void) __ptr64
-?I_GetInfo@SERVER_0@@MEAAJXZ
-; protected: virtual long __cdecl SERVER_1::I_GetInfo(void) __ptr64
-?I_GetInfo@SERVER_1@@MEAAJXZ
-; protected: virtual long __cdecl SERVER_2::I_GetInfo(void) __ptr64
-?I_GetInfo@SERVER_2@@MEAAJXZ
-; protected: virtual long __cdecl SHARE_1::I_GetInfo(void) __ptr64
-?I_GetInfo@SHARE_1@@MEAAJXZ
-; protected: virtual long __cdecl SHARE_2::I_GetInfo(void) __ptr64
-?I_GetInfo@SHARE_2@@MEAAJXZ
-; protected: virtual long __cdecl TIME_OF_DAY::I_GetInfo(void) __ptr64
-?I_GetInfo@TIME_OF_DAY@@MEAAJXZ
-; protected: virtual long __cdecl USER_11::I_GetInfo(void) __ptr64
-?I_GetInfo@USER_11@@MEAAJXZ
-; protected: virtual long __cdecl USER_2::I_GetInfo(void) __ptr64
-?I_GetInfo@USER_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_3::I_GetInfo(void) __ptr64
-?I_GetInfo@USER_3@@MEAAJXZ
-; public: virtual long __cdecl WKSTA_10::I_GetInfo(void) __ptr64
-?I_GetInfo@WKSTA_10@@UEAAJXZ
-; public: virtual long __cdecl WKSTA_1::I_GetInfo(void) __ptr64
-?I_GetInfo@WKSTA_1@@UEAAJXZ
-; protected: virtual long __cdecl WKSTA_USER_1::I_GetInfo(void) __ptr64
-?I_GetInfo@WKSTA_USER_1@@MEAAJXZ
-; protected: virtual long __cdecl GROUP_1::I_WriteInfo(void) __ptr64
-?I_WriteInfo@GROUP_1@@MEAAJXZ
-; protected: virtual long __cdecl GROUP_MEMB::I_WriteInfo(void) __ptr64
-?I_WriteInfo@GROUP_MEMB@@MEAAJXZ
-; protected: virtual long __cdecl LSA_ACCOUNT::I_WriteInfo(void) __ptr64
-?I_WriteInfo@LSA_ACCOUNT@@MEAAJXZ
-; protected: virtual long __cdecl NET_ACCESS_1::I_WriteInfo(void) __ptr64
-?I_WriteInfo@NET_ACCESS_1@@MEAAJXZ
-; protected: virtual long __cdecl NEW_LM_OBJ::I_WriteInfo(void) __ptr64
-?I_WriteInfo@NEW_LM_OBJ@@MEAAJXZ
-; protected: virtual long __cdecl SERVER_1::I_WriteInfo(void) __ptr64
-?I_WriteInfo@SERVER_1@@MEAAJXZ
-; protected: virtual long __cdecl SERVER_2::I_WriteInfo(void) __ptr64
-?I_WriteInfo@SERVER_2@@MEAAJXZ
-; protected: virtual long __cdecl SHARE_1::I_WriteInfo(void) __ptr64
-?I_WriteInfo@SHARE_1@@MEAAJXZ
-; protected: virtual long __cdecl SHARE_2::I_WriteInfo(void) __ptr64
-?I_WriteInfo@SHARE_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_2::I_WriteInfo(void) __ptr64
-?I_WriteInfo@USER_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_3::I_WriteInfo(void) __ptr64
-?I_WriteInfo@USER_3@@MEAAJXZ
-; protected: virtual long __cdecl USER_MEMB::I_WriteInfo(void) __ptr64
-?I_WriteInfo@USER_MEMB@@MEAAJXZ
-; protected: virtual long __cdecl WKSTA_USER_1::I_WriteInfo(void) __ptr64
-?I_WriteInfo@WKSTA_USER_1@@MEAAJXZ
-; private: long __cdecl NET_ACCESS_1::I_WriteInfoAux(void) __ptr64
-?I_WriteInfoAux@NET_ACCESS_1@@AEAAJXZ
-; protected: virtual long __cdecl GROUP_1::I_WriteNew(void) __ptr64
-?I_WriteNew@GROUP_1@@MEAAJXZ
-; protected: virtual long __cdecl LSA_ACCOUNT::I_WriteNew(void) __ptr64
-?I_WriteNew@LSA_ACCOUNT@@MEAAJXZ
-; protected: virtual long __cdecl MEMBERSHIP_LM_OBJ::I_WriteNew(void) __ptr64
-?I_WriteNew@MEMBERSHIP_LM_OBJ@@MEAAJXZ
-; protected: virtual long __cdecl NET_ACCESS_1::I_WriteNew(void) __ptr64
-?I_WriteNew@NET_ACCESS_1@@MEAAJXZ
-; protected: virtual long __cdecl NEW_LM_OBJ::I_WriteNew(void) __ptr64
-?I_WriteNew@NEW_LM_OBJ@@MEAAJXZ
-; protected: virtual long __cdecl SHARE_2::I_WriteNew(void) __ptr64
-?I_WriteNew@SHARE_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_2::I_WriteNew(void) __ptr64
-?I_WriteNew@USER_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_3::I_WriteNew(void) __ptr64
-?I_WriteNew@USER_3@@MEAAJXZ
-; private: static void __cdecl LSA_POLICY::InitObjectAttributes(struct _OBJECT_ATTRIBUTES * __ptr64,struct _SECURITY_QUALITY_OF_SERVICE * __ptr64)
-?InitObjectAttributes@LSA_POLICY@@CAXPEAU_OBJECT_ATTRIBUTES@@PEAU_SECURITY_QUALITY_OF_SERVICE@@@Z
-; public: void __cdecl OS_SACL_SUBJECT_DESCRIPTOR::InitToZero(void) __ptr64
-?InitToZero@OS_SACL_SUBJECT_DESCRIPTOR@@QEAAXXZ
-; private: void __cdecl OS_SACL_SUBJECT_ITER::InitToZero(void) __ptr64
-?InitToZero@OS_SACL_SUBJECT_ITER@@AEAAXXZ
-; private: void __cdecl OS_PRIVILEGE_SET::InitializeMemory(void) __ptr64
-?InitializeMemory@OS_PRIVILEGE_SET@@AEAAXXZ
-; public: static void __cdecl OS_SID::InitializeMemory(void * __ptr64)
-?InitializeMemory@OS_SID@@SAXPEAX@Z
-; public: long __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::Insert(class BROWSE_DOMAIN_INFO const * __ptr64,class ITER_SL_BROWSE_DOMAIN_INFO & __ptr64) __ptr64
-?Insert@SLIST_OF_BROWSE_DOMAIN_INFO@@QEAAJPEBVBROWSE_DOMAIN_INFO@@AEAVITER_SL_BROWSE_DOMAIN_INFO@@@Z
-; public: long __cdecl LSA_ACCOUNT::InsertPrivilege(struct _LUID,unsigned long) __ptr64
-?InsertPrivilege@LSA_ACCOUNT@@QEAAJU_LUID@@K@Z
-; public: int __cdecl USER_11::IsAccountsOperator(void)const  __ptr64
-?IsAccountsOperator@USER_11@@QEBAHXZ
-; public: int __cdecl USER_11::IsCommOperator(void)const  __ptr64
-?IsCommOperator@USER_11@@QEBAHXZ
-; public: int __cdecl OS_ACL_SUBJECT_ITER::IsContainer(void)const  __ptr64
-?IsContainer@OS_ACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl LM_SERVICE::IsContinuing(long * __ptr64) __ptr64
-?IsContinuing@LM_SERVICE@@QEAAHPEAJ@Z
-; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLDefaulted(void)const  __ptr64
-?IsDACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
-; public: int __cdecl OS_SECURITY_DESCRIPTOR::IsDACLPresent(void)const  __ptr64
-?IsDACLPresent@OS_SECURITY_DESCRIPTOR@@QEBAHXZ
-; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLPresent(void)const  __ptr64
-?IsDACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
-; public: int __cdecl LSA_ACCOUNT::IsDefaultSettings(void) __ptr64
-?IsDefaultSettings@LSA_ACCOUNT@@QEAAHXZ
-; public: int __cdecl OS_DACL_SUBJECT_ITER::IsDenyAll(void)const  __ptr64
-?IsDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl LOCATION::IsDomain(void)const  __ptr64
-?IsDomain@LOCATION@@QEBAHXZ
-; public: int __cdecl LM_SESSION_1::IsEncrypted(void)const  __ptr64
-?IsEncrypted@LM_SESSION_1@@QEBAHXZ
-; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsGroupDefaulted(void)const  __ptr64
-?IsGroupDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
-; public: int __cdecl LM_SESSION_1::IsGuest(void)const  __ptr64
-?IsGuest@LM_SESSION_1@@QEBAHXZ
-; public: int __cdecl LSA_OBJECT::IsHandleValid(void)const  __ptr64
-?IsHandleValid@LSA_OBJECT@@QEBAHXZ
-; public: int __cdecl OS_ACE::IsInheritOnly(void)const  __ptr64
-?IsInheritOnly@OS_ACE@@QEBAHXZ
-; public: int __cdecl OS_DACL_SUBJECT_ITER::IsInheritOnlyDenyAll(void)const  __ptr64
-?IsInheritOnlyDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_ACE::IsInheritancePropagated(void)const  __ptr64
-?IsInheritancePropagated@OS_ACE@@QEBAHXZ
-; public: int __cdecl OS_ACE::IsInherittedByNewContainers(void)const  __ptr64
-?IsInherittedByNewContainers@OS_ACE@@QEBAHXZ
-; public: int __cdecl OS_ACE::IsInherittedByNewObjects(void)const  __ptr64
-?IsInherittedByNewObjects@OS_ACE@@QEBAHXZ
-; protected: int __cdecl LM_OBJ::IsInvalid(void)const  __ptr64
-?IsInvalid@LM_OBJ@@IEBAHXZ
-; private: int __cdecl LM_OBJ_BASE::IsInvalid(void)const  __ptr64
-?IsInvalid@LM_OBJ_BASE@@AEBAHXZ
-; public: int __cdecl OS_ACE::IsKnownACE(void)const  __ptr64
-?IsKnownACE@OS_ACE@@QEBAHXZ
-; public: int __cdecl NET_NAME::IsLocal(long * __ptr64) __ptr64
-?IsLocal@NET_NAME@@QEAAHPEAJ@Z
-; private: int __cdecl NEW_LM_OBJ::IsNew(void)const  __ptr64
-?IsNew@NEW_LM_OBJ@@AEBAHXZ
-; public: int __cdecl OS_DACL_SUBJECT_ITER::IsNewContainerDenyAll(void)const  __ptr64
-?IsNewContainerDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
-; public: int __cdecl OS_DACL_SUBJECT_ITER::IsNewObjectDenyAll(void)const  __ptr64
-?IsNewObjectDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
-; protected: int __cdecl NEW_LM_OBJ::IsOKState(void)const  __ptr64
-?IsOKState@NEW_LM_OBJ@@IEBAHXZ
-; protected: int __cdecl OS_ACE::IsOwnerAlloc(void)const  __ptr64
-?IsOwnerAlloc@OS_ACE@@IEBAHXZ
-; protected: int __cdecl OS_ACL::IsOwnerAlloc(void)const  __ptr64
-?IsOwnerAlloc@OS_ACL@@IEBAHXZ
-; private: int __cdecl OS_PRIVILEGE_SET::IsOwnerAlloc(void)const  __ptr64
-?IsOwnerAlloc@OS_PRIVILEGE_SET@@AEBAHXZ
-; protected: int __cdecl OS_SID::IsOwnerAlloc(void)const  __ptr64
-?IsOwnerAlloc@OS_SID@@IEBAHXZ
-; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsOwnerDefaulted(void)const  __ptr64
-?IsOwnerDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
-; public: int __cdecl LM_SERVICE::IsPaused(long * __ptr64) __ptr64
-?IsPaused@LM_SERVICE@@QEAAHPEAJ@Z
-; public: int __cdecl LM_SERVICE::IsPausing(long * __ptr64) __ptr64
-?IsPausing@LM_SERVICE@@QEAAHPEAJ@Z
-; public: int __cdecl LM_FILE_3::IsPermCreate(void)const  __ptr64
-?IsPermCreate@LM_FILE_3@@QEBAHXZ
-; public: int __cdecl LM_FILE_3::IsPermRead(void)const  __ptr64
-?IsPermRead@LM_FILE_3@@QEBAHXZ
-; public: int __cdecl LM_FILE_3::IsPermWrite(void)const  __ptr64
-?IsPermWrite@LM_FILE_3@@QEBAHXZ
-; public: int __cdecl USER_11::IsPrintOperator(void)const  __ptr64
-?IsPrintOperator@USER_11@@QEBAHXZ
-; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLDefaulted(void)const  __ptr64
-?IsSACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
-; public: int __cdecl OS_SECURITY_DESCRIPTOR::IsSACLPresent(void)const  __ptr64
-?IsSACLPresent@OS_SECURITY_DESCRIPTOR@@QEBAHXZ
-; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLPresent(void)const  __ptr64
-?IsSACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
-; public: int __cdecl LOCATION::IsServer(void)const  __ptr64
-?IsServer@LOCATION@@QEBAHXZ
-; public: int __cdecl USER_11::IsServerOperator(void)const  __ptr64
-?IsServerOperator@USER_11@@QEBAHXZ
-; public: int __cdecl NET_NAME::IsSharable(long * __ptr64) __ptr64
-?IsSharable@NET_NAME@@QEAAHPEAJ@Z
-; public: int __cdecl LM_SERVICE::IsStarted(long * __ptr64) __ptr64
-?IsStarted@LM_SERVICE@@QEAAHPEAJ@Z
-; public: int __cdecl LM_SERVICE::IsStarting(long * __ptr64) __ptr64
-?IsStarting@LM_SERVICE@@QEAAHPEAJ@Z
-; public: int __cdecl LM_SERVICE::IsStopped(long * __ptr64) __ptr64
-?IsStopped@LM_SERVICE@@QEAAHPEAJ@Z
-; public: int __cdecl LM_SERVICE::IsStopping(long * __ptr64) __ptr64
-?IsStopping@LM_SERVICE@@QEAAHPEAJ@Z
-; protected: int __cdecl LM_OBJ::IsUnconstructed(void)const  __ptr64
-?IsUnconstructed@LM_OBJ@@IEBAHXZ
-; private: int __cdecl LM_OBJ_BASE::IsUnconstructed(void)const  __ptr64
-?IsUnconstructed@LM_OBJ_BASE@@AEBAHXZ
-; protected: int __cdecl LM_OBJ::IsValid(void)const  __ptr64
-?IsValid@LM_OBJ@@IEBAHXZ
-; private: int __cdecl LM_OBJ_BASE::IsValid(void)const  __ptr64
-?IsValid@LM_OBJ_BASE@@AEBAHXZ
-; public: int __cdecl OS_ACL::IsValid(void)const  __ptr64
-?IsValid@OS_ACL@@QEBAHXZ
-; public: int __cdecl OS_SECURITY_DESCRIPTOR::IsValid(void)const  __ptr64
-?IsValid@OS_SECURITY_DESCRIPTOR@@QEBAHXZ
-; public: int __cdecl OS_SID::IsValid(void)const  __ptr64
-?IsValid@OS_SID@@QEBAHXZ
-; public: static int __cdecl DOMAIN::IsValidDC(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?IsValidDC@DOMAIN@@SAHPEBG0@Z
-; public: int __cdecl LM_OBJ_BASE::IsValidationOn(void) __ptr64
-?IsValidationOn@LM_OBJ_BASE@@QEAAHXZ
-; int __cdecl IsWhiteSpace(unsigned short)
-?IsWhiteSpace@@YAHG@Z
-; public: long __cdecl LSA_POLICY::JoinDomain(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,int,class NLS_STR const * __ptr64,unsigned short const * __ptr64) __ptr64
-?JoinDomain@LSA_POLICY@@QEAAJAEBVNLS_STR@@0HPEBV2@PEBG@Z
-; int __cdecl LMOTypeToNetType(enum LMO_DEVICE)
-?LMOTypeToNetType@@YAHW4LMO_DEVICE@@@Z
-; private: static void __cdecl DOMAIN_WITH_DC_CACHE::LeaveCriticalSection(void)
-?LeaveCriticalSection@DOMAIN_WITH_DC_CACHE@@CAXXZ
-; public: long __cdecl LSA_POLICY::LeaveDomain(void) __ptr64
-?LeaveDomain@LSA_POLICY@@QEAAJXZ
-; public: long __cdecl SC_MANAGER::Lock(void) __ptr64
-?Lock@SC_MANAGER@@QEAAJXZ
-; long __cdecl LsaxGetComputerName(class NLS_STR * __ptr64)
-?LsaxGetComputerName@@YAJPEAVNLS_STR@@@Z
-; protected: void __cdecl LM_OBJ::MakeConstructed(void) __ptr64
-?MakeConstructed@LM_OBJ@@IEAAXXZ
-; private: void __cdecl LM_OBJ_BASE::MakeConstructed(void) __ptr64
-?MakeConstructed@LM_OBJ_BASE@@AEAAXXZ
-; protected: void __cdecl LM_OBJ::MakeInvalid(void) __ptr64
-?MakeInvalid@LM_OBJ@@IEAAXXZ
-; private: void __cdecl LM_OBJ_BASE::MakeInvalid(void) __ptr64
-?MakeInvalid@LM_OBJ_BASE@@AEAAXXZ
-; private: void __cdecl NEW_LM_OBJ::MakeNew(void) __ptr64
-?MakeNew@NEW_LM_OBJ@@AEAAXXZ
-; unsigned long __cdecl MakeNullNull(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64)
-?MakeNullNull@@YAKPEBGPEAPEAG@Z
-; private: static long __cdecl LSA_POLICY::MakeSecretName(class NLS_STR const & __ptr64,int,class NLS_STR * __ptr64)
-?MakeSecretName@LSA_POLICY@@CAJAEBVNLS_STR@@HPEAV2@@Z
-; protected: void __cdecl LM_OBJ::MakeUnconstructed(void) __ptr64
-?MakeUnconstructed@LM_OBJ@@IEAAXXZ
-; private: void __cdecl LM_OBJ_BASE::MakeUnconstructed(void) __ptr64
-?MakeUnconstructed@LM_OBJ_BASE@@AEAAXXZ
-; protected: void __cdecl LM_OBJ::MakeValid(void) __ptr64
-?MakeValid@LM_OBJ@@IEAAXXZ
-; private: void __cdecl LM_OBJ_BASE::MakeValid(void) __ptr64
-?MakeValid@LM_OBJ_BASE@@AEAAXXZ
-; private: void __cdecl TRIPLE_SERVER_ENUM::MapBrowserToTriple(struct _SERVER_INFO_101 const * __ptr64,struct _TRIPLE_SERVER_INFO * __ptr64) __ptr64
-?MapBrowserToTriple@TRIPLE_SERVER_ENUM@@AEAAXPEBU_SERVER_INFO_101@@PEAU_TRIPLE_SERVER_INFO@@@Z
-; unsigned long __cdecl MapComm(unsigned short const * __ptr64)
-?MapComm@@YAKPEBG@Z
-; unsigned long __cdecl MapDrive(unsigned short const * __ptr64)
-?MapDrive@@YAKPEBG@Z
-; public: int __cdecl OS_ACL_SUBJECT_ITER::MapGenericAllOnly(void)const  __ptr64
-?MapGenericAllOnly@OS_ACL_SUBJECT_ITER@@QEBAHXZ
-; private: void __cdecl TRIPLE_SERVER_ENUM::MapKnownToTriple(struct _KNOWN_SERVER_INFO const * __ptr64,struct _TRIPLE_SERVER_INFO * __ptr64) __ptr64
-?MapKnownToTriple@TRIPLE_SERVER_ENUM@@AEAAXPEBU_KNOWN_SERVER_INFO@@PEAU_TRIPLE_SERVER_INFO@@@Z
-; unsigned long __cdecl MapLPT(unsigned short const * __ptr64)
-?MapLPT@@YAKPEBG@Z
-; private: void __cdecl SERVICE_ENUM::MapLmStatusToNtState(unsigned long,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?MapLmStatusToNtState@SERVICE_ENUM@@AEAAXKPEAK0@Z
-; private: void __cdecl TRIPLE_SERVER_ENUM::MapLmToKnown(struct _USER_INFO_0 const * __ptr64,struct _KNOWN_SERVER_INFO * __ptr64) __ptr64
-?MapLmToKnown@TRIPLE_SERVER_ENUM@@AEAAXPEBU_USER_INFO_0@@PEAU_KNOWN_SERVER_INFO@@@Z
-; private: void __cdecl TRIPLE_SERVER_ENUM::MapNtToKnown(struct _DOMAIN_DISPLAY_MACHINE const * __ptr64,struct _KNOWN_SERVER_INFO * __ptr64) __ptr64
-?MapNtToKnown@TRIPLE_SERVER_ENUM@@AEAAXPEBU_DOMAIN_DISPLAY_MACHINE@@PEAU_KNOWN_SERVER_INFO@@@Z
-; public: long __cdecl OS_ACL_SUBJECT_ITER::MapSpecificToGeneric(unsigned long * __ptr64,int) __ptr64
-?MapSpecificToGeneric@OS_ACL_SUBJECT_ITER@@QEAAJPEAKH@Z
-; private: enum _SERVER_ROLE  __cdecl TRIPLE_SERVER_ENUM::MapTypeMaskToRole(unsigned long)const  __ptr64
-?MapTypeMaskToRole@TRIPLE_SERVER_ENUM@@AEBA?AW4_SERVER_ROLE@@K@Z
-; private: enum _SERVER_TYPE  __cdecl TRIPLE_SERVER_ENUM::MapTypeMaskToType(unsigned long)const  __ptr64
-?MapTypeMaskToType@TRIPLE_SERVER_ENUM@@AEBA?AW4_SERVER_TYPE@@K@Z
-; enum LMO_DEVICE  __cdecl NetTypeToLMOType(unsigned long)
-?NetTypeToLMOType@@YA?AW4LMO_DEVICE@@K@Z
-; public: class ALIAS_ENUM_OBJ const * __ptr64 __cdecl ALIAS_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@ALIAS_ENUM_ITER@@QEAAPEBVALIAS_ENUM_OBJ@@PEAJH@Z
-; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::Next(void) __ptr64
-?Next@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@XZ
-; public: class FILE2_ENUM_OBJ const * __ptr64 __cdecl FILE2_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@FILE2_ENUM_ITER@@QEAAPEBVFILE2_ENUM_OBJ@@PEAJH@Z
-; public: class FILE3_ENUM_OBJ const * __ptr64 __cdecl FILE3_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@FILE3_ENUM_ITER@@QEAAPEBVFILE3_ENUM_OBJ@@PEAJH@Z
-; public: unsigned short const * __ptr64 __cdecl ITER_DEVICE::Next(void) __ptr64
-?Next@ITER_DEVICE@@QEAAPEBGXZ
-; public: class BROWSE_DOMAIN_INFO * __ptr64 __cdecl ITER_SL_BROWSE_DOMAIN_INFO::Next(void) __ptr64
-?Next@ITER_SL_BROWSE_DOMAIN_INFO@@QEAAPEAVBROWSE_DOMAIN_INFO@@XZ
-; public: class LM_RESUME_BUFFER * __ptr64 __cdecl ITER_SL_LM_RESUME_BUFFER::Next(void) __ptr64
-?Next@ITER_SL_LM_RESUME_BUFFER@@QEAAPEAVLM_RESUME_BUFFER@@XZ
-; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::Next(void) __ptr64
-?Next@ITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
-; public: class LSA_ACCOUNTS_ENUM_OBJ const * __ptr64 __cdecl LSA_ACCOUNTS_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@LSA_ACCOUNTS_ENUM_ITER@@QEAAPEBVLSA_ACCOUNTS_ENUM_OBJ@@PEAJH@Z
-; public: class LSA_PRIVILEGES_ENUM_OBJ const * __ptr64 __cdecl LSA_PRIVILEGES_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@LSA_PRIVILEGES_ENUM_ITER@@QEAAPEBVLSA_PRIVILEGES_ENUM_OBJ@@PEAJH@Z
-; public: class NT_GROUP_ENUM_OBJ const * __ptr64 __cdecl NT_GROUP_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@NT_GROUP_ENUM_ITER@@QEAAPEBVNT_GROUP_ENUM_OBJ@@PEAJH@Z
-; public: class NT_MACHINE_ENUM_OBJ const * __ptr64 __cdecl NT_MACHINE_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@NT_MACHINE_ENUM_ITER@@QEAAPEBVNT_MACHINE_ENUM_OBJ@@PEAJH@Z
-; public: class NT_USER_ENUM_OBJ const * __ptr64 __cdecl NT_USER_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@NT_USER_ENUM_ITER@@QEAAPEBVNT_USER_ENUM_OBJ@@PEAJH@Z
-; public: virtual int __cdecl OS_DACL_SUBJECT_ITER::Next(long * __ptr64) __ptr64
-?Next@OS_DACL_SUBJECT_ITER@@UEAAHPEAJ@Z
-; public: virtual int __cdecl OS_SACL_SUBJECT_ITER::Next(long * __ptr64) __ptr64
-?Next@OS_SACL_SUBJECT_ITER@@UEAAHPEAJ@Z
-; public: class SAM_USER_ENUM_OBJ const * __ptr64 __cdecl SAM_USER_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@SAM_USER_ENUM_ITER@@QEAAPEBVSAM_USER_ENUM_OBJ@@PEAJH@Z
-; public: class TRUSTED_DOMAIN_ENUM_OBJ const * __ptr64 __cdecl TRUSTED_DOMAIN_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@TRUSTED_DOMAIN_ENUM_ITER@@QEAAPEBVTRUSTED_DOMAIN_ENUM_OBJ@@PEAJH@Z
-; public: class USER0_ENUM_OBJ const * __ptr64 __cdecl USER0_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@USER0_ENUM_ITER@@QEAAPEBVUSER0_ENUM_OBJ@@PEAJH@Z
-; public: class USER10_ENUM_OBJ const * __ptr64 __cdecl USER10_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@USER10_ENUM_ITER@@QEAAPEBVUSER10_ENUM_OBJ@@PEAJH@Z
-; public: class USER1_ENUM_OBJ const * __ptr64 __cdecl USER1_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@USER1_ENUM_ITER@@QEAAPEBVUSER1_ENUM_OBJ@@PEAJH@Z
-; public: class USER2_ENUM_OBJ const * __ptr64 __cdecl USER2_ENUM_ITER::Next(long * __ptr64,int) __ptr64
-?Next@USER2_ENUM_ITER@@QEAAPEBVUSER2_ENUM_OBJ@@PEAJH@Z
-; protected: long __cdecl LM_RESUME_ENUM_ITER::NextGetInfo(void) __ptr64
-?NextGetInfo@LM_RESUME_ENUM_ITER@@IEAAJXZ
-; protected: void __cdecl LM_RESUME_ENUM::NukeBuffers(void) __ptr64
-?NukeBuffers@LM_RESUME_ENUM@@IEAAXXZ
-; public: static long __cdecl LM_SRVRES::NukeUsersSession(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)
-?NukeUsersSession@LM_SRVRES@@SAJPEBG00@Z
-; public: long __cdecl LSA_POLICY::Open(unsigned short const * __ptr64,unsigned long) __ptr64
-?Open@LSA_POLICY@@QEAAJPEBGK@Z
-; public: long __cdecl LSA_SECRET::Open(class LSA_POLICY const & __ptr64,unsigned long) __ptr64
-?Open@LSA_SECRET@@QEAAJAEBVLSA_POLICY@@K@Z
-; private: long __cdecl SAM_DOMAIN::OpenDomain(class SAM_SERVER const & __ptr64,void * __ptr64,unsigned long) __ptr64
-?OpenDomain@SAM_DOMAIN@@AEAAJAEBVSAM_SERVER@@PEAXK@Z
-; public: long __cdecl LM_SERVICE::Pause(unsigned int,unsigned int) __ptr64
-?Pause@LM_SERVICE@@QEAAJII@Z
-; public: long __cdecl LM_SERVICE::Poll(int * __ptr64) __ptr64
-?Poll@LM_SERVICE@@QEAAJPEAH@Z
-; protected: void __cdecl LSA_ACCOUNT::PrintInfo(unsigned short const * __ptr64) __ptr64
-?PrintInfo@LSA_ACCOUNT@@IEAAXPEBG@Z
-; public: struct _ACCESS_LIST * __ptr64 __cdecl NET_ACCESS_1::QueryACE(unsigned int)const  __ptr64
-?QueryACE@NET_ACCESS_1@@QEBAPEAU_ACCESS_LIST@@I@Z
-; public: void * __ptr64 __cdecl OS_ACE::QueryACE(void)const  __ptr64
-?QueryACE@OS_ACE@@QEBAPEAXXZ
-; public: long __cdecl OS_ACL::QueryACE(unsigned long,class OS_ACE * __ptr64)const  __ptr64
-?QueryACE@OS_ACL@@QEBAJKPEAVOS_ACE@@@Z
-; public: unsigned int __cdecl NET_ACCESS_1::QueryACECount(void)const  __ptr64
-?QueryACECount@NET_ACCESS_1@@QEBAIXZ
-; public: long __cdecl OS_ACL::QueryACECount(unsigned long * __ptr64)const  __ptr64
-?QueryACECount@OS_ACL@@QEBAJPEAK@Z
-; protected: class OS_ACL const * __ptr64 __cdecl OS_ACL_SUBJECT_ITER::QueryACL(void)const  __ptr64
-?QueryACL@OS_ACL_SUBJECT_ITER@@IEBAPEBVOS_ACL@@XZ
-; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessAccountDomain(void)const  __ptr64
-?QueryAccessAccountDomain@ADMIN_AUTHORITY@@QEBAKXZ
-; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessBuiltinDomain(void)const  __ptr64
-?QueryAccessBuiltinDomain@ADMIN_AUTHORITY@@QEBAKXZ
-; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessLSAPolicy(void)const  __ptr64
-?QueryAccessLSAPolicy@ADMIN_AUTHORITY@@QEBAKXZ
-; public: unsigned long __cdecl OS_ACE::QueryAccessMask(void)const  __ptr64
-?QueryAccessMask@OS_ACE@@QEBAKXZ
-; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryAccessMask(void)const  __ptr64
-?QueryAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessSamServer(void)const  __ptr64
-?QueryAccessSamServer@ADMIN_AUTHORITY@@QEBAKXZ
-; public: unsigned int __cdecl NT_MACHINE_ENUM_OBJ::QueryAccountCtrl(void)const  __ptr64
-?QueryAccountCtrl@NT_MACHINE_ENUM_OBJ@@QEBAIXZ
-; public: int __cdecl USER_2::QueryAccountDisabled(void)const  __ptr64
-?QueryAccountDisabled@USER_2@@QEBAHXZ
-; public: class SAM_DOMAIN * __ptr64 __cdecl ADMIN_AUTHORITY::QueryAccountDomain(void)const  __ptr64
-?QueryAccountDomain@ADMIN_AUTHORITY@@QEBAPEAVSAM_DOMAIN@@XZ
-; public: long __cdecl USER_2::QueryAccountExpires(void)const  __ptr64
-?QueryAccountExpires@USER_2@@QEBAJXZ
-; public: enum _ACCOUNT_TYPE  __cdecl USER_3::QueryAccountType(void)const  __ptr64
-?QueryAccountType@USER_3@@QEBA?AW4_ACCOUNT_TYPE@@XZ
-; public: unsigned char __cdecl OS_ACE::QueryAceFlags(void)const  __ptr64
-?QueryAceFlags@OS_ACE@@QEBAEXZ
-; public: struct _ACL * __ptr64 __cdecl OS_ACL::QueryAcl(void)const  __ptr64
-?QueryAcl@OS_ACL@@QEBAPEAU_ACL@@XZ
-; protected: unsigned int __cdecl OS_OBJECT_WITH_DATA::QueryAllocSize(void)const  __ptr64
-?QueryAllocSize@OS_OBJECT_WITH_DATA@@IEBAIXZ
-; public: unsigned short const * __ptr64 __cdecl DOMAIN::QueryAnyDC(void)const  __ptr64
-?QueryAnyDC@DOMAIN@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl MEMBERSHIP_LM_OBJ::QueryAssocName(unsigned int)const  __ptr64
-?QueryAssocName@MEMBERSHIP_LM_OBJ@@QEBAPEBGI@Z
-; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_F(void)const  __ptr64
-?QueryAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_S(void)const  __ptr64
-?QueryAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
-; public: virtual unsigned long __cdecl LOCAL_USER::QueryAuthFlags(void)const  __ptr64
-?QueryAuthFlags@LOCAL_USER@@UEBAKXZ
-; public: virtual unsigned long __cdecl USER_11::QueryAuthFlags(void)const  __ptr64
-?QueryAuthFlags@USER_11@@UEBAKXZ
-; protected: unsigned char * __ptr64 __cdecl LM_ENUM_ITER::QueryBasePtr(void)const  __ptr64
-?QueryBasePtr@LM_ENUM_ITER@@IEBAPEAEXZ
-; protected: unsigned char const * __ptr64 __cdecl LM_RESUME_ENUM_ITER::QueryBasePtr(void)const  __ptr64
-?QueryBasePtr@LM_RESUME_ENUM_ITER@@IEBAPEBEXZ
-; protected: unsigned char * __ptr64 __cdecl DEVICE::QueryBufPtr(void) __ptr64
-?QueryBufPtr@DEVICE@@IEAAPEAEXZ
-; protected: void * __ptr64 __cdecl NT_MEMORY::QueryBuffer(void)const  __ptr64
-?QueryBuffer@NT_MEMORY@@IEBAPEAXXZ
-; public: class BUFFER const & __ptr64 __cdecl SERVICE_CONTROL::QueryBuffer(void)const  __ptr64
-?QueryBuffer@SERVICE_CONTROL@@QEBAAEBVBUFFER@@XZ
-; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl ALIAS_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@ALIAS_ENUM_OBJ@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
-; public: struct _SERVER_INFO_100 const * __ptr64 __cdecl DOMAIN0_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@DOMAIN0_ENUM_OBJ@@QEBAPEBU_SERVER_INFO_100@@XZ
-; protected: unsigned char const * __ptr64 __cdecl ENUM_OBJ_BASE::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@ENUM_OBJ_BASE@@IEBAPEBEXZ
-; public: struct _FILE_INFO_3 const * __ptr64 __cdecl FILE3_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@FILE3_ENUM_OBJ@@QEBAPEBU_FILE_INFO_3@@XZ
-; public: struct _GROUP_INFO_0 const * __ptr64 __cdecl GROUP0_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@GROUP0_ENUM_OBJ@@QEBAPEBU_GROUP_INFO_0@@XZ
-; public: unsigned char const * __ptr64 __cdecl LM_RESUME_BUFFER::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@LM_RESUME_BUFFER@@QEBAPEBEXZ
-; public: struct _POLICY_PRIVILEGE_DEFINITION const * __ptr64 __cdecl LSA_PRIVILEGES_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QEBAPEBU_POLICY_PRIVILEGE_DEFINITION@@XZ
-; protected: unsigned char * __ptr64 __cdecl NEW_LM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@NEW_LM_OBJ@@IEBAPEAEXZ
-; public: struct _DOMAIN_DISPLAY_MACHINE const * __ptr64 __cdecl NT_MACHINE_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@NT_MACHINE_ENUM_OBJ@@QEBAPEBU_DOMAIN_DISPLAY_MACHINE@@XZ
-; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl SAM_USER_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@SAM_USER_ENUM_OBJ@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
-; public: struct _SERVER_INFO_101 const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@SERVER1_ENUM_OBJ@@QEBAPEBU_SERVER_INFO_101@@XZ
-; public: struct _USER_INFO_0 const * __ptr64 __cdecl USER0_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@USER0_ENUM_OBJ@@QEBAPEBU_USER_INFO_0@@XZ
-; protected: unsigned int __cdecl NEW_LM_OBJ::QueryBufferSize(void)const  __ptr64
-?QueryBufferSize@NEW_LM_OBJ@@IEBAIXZ
-; public: class SAM_DOMAIN * __ptr64 __cdecl ADMIN_AUTHORITY::QueryBuiltinDomain(void)const  __ptr64
-?QueryBuiltinDomain@ADMIN_AUTHORITY@@QEBAPEAVSAM_DOMAIN@@XZ
-; public: long __cdecl OS_ACL::QueryBytesInUse(unsigned long * __ptr64)const  __ptr64
-?QueryBytesInUse@OS_ACL@@QEBAJPEAK@Z
-; public: unsigned short const * __ptr64 __cdecl LM_SESSION_2::QueryClientType(void)const  __ptr64
-?QueryClientType@LM_SESSION_2@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl GROUP_1::QueryComment(void)const  __ptr64
-?QueryComment@GROUP_1@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryComment(void)const  __ptr64
-?QueryComment@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl SERVER_1::QueryComment(void)const  __ptr64
-?QueryComment@SERVER_1@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl SHARE_1::QueryComment(void)const  __ptr64
-?QueryComment@SHARE_1@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER_11::QueryComment(void)const  __ptr64
-?QueryComment@USER_11@@QEBAPEBGXZ
-; public: long __cdecl NET_NAME::QueryComputerName(class NLS_STR * __ptr64) __ptr64
-?QueryComputerName@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
-; public: long __cdecl SC_SERVICE::QueryConfig(struct _QUERY_SERVICE_CONFIGW * __ptr64 * __ptr64) __ptr64
-?QueryConfig@SC_SERVICE@@QEAAJPEAPEAU_QUERY_SERVICE_CONFIGW@@@Z
-; public: class OS_SECURITY_DESCRIPTOR_CONTROL const * __ptr64 __cdecl OS_SECURITY_DESCRIPTOR::QueryControl(void)const  __ptr64
-?QueryControl@OS_SECURITY_DESCRIPTOR@@QEBAPEBVOS_SECURITY_DESCRIPTOR_CONTROL@@XZ
-; public: struct _TRUSTED_CONTROLLERS_INFO const & __ptr64 __cdecl LSA_TRUSTED_DC_LIST::QueryControllerList(void)const  __ptr64
-?QueryControllerList@LSA_TRUSTED_DC_LIST@@QEBAAEBU_TRUSTED_CONTROLLERS_INFO@@XZ
-; public: long __cdecl LSA_TRUSTED_DOMAIN::QueryControllerList(class LSA_REF_DOMAIN_MEM * __ptr64)const  __ptr64
-?QueryControllerList@LSA_TRUSTED_DOMAIN@@QEBAJPEAVLSA_REF_DOMAIN_MEM@@@Z
-; public: unsigned int __cdecl ENUM_CALLER::QueryCount(void)const  __ptr64
-?QueryCount@ENUM_CALLER@@QEBAIXZ
-; protected: unsigned int __cdecl LM_ENUM_ITER::QueryCount(void)const  __ptr64
-?QueryCount@LM_ENUM_ITER@@IEBAIXZ
-; protected: unsigned int __cdecl LM_RESUME_ENUM_ITER::QueryCount(void)const  __ptr64
-?QueryCount@LM_RESUME_ENUM_ITER@@IEBAIXZ
-; public: int __cdecl LSA_TRUSTED_DC_LIST::QueryCount(void) __ptr64
-?QueryCount@LSA_TRUSTED_DC_LIST@@QEAAHXZ
-; public: unsigned long __cdecl NT_MEMORY::QueryCount(void)const  __ptr64
-?QueryCount@NT_MEMORY@@QEBAKXZ
-; protected: static long __cdecl NT_ACCOUNT_ENUM::QueryCountPreferences2(unsigned long * __ptr64,unsigned long * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long)
-?QueryCountPreferences2@NT_ACCOUNT_ENUM@@KAJPEAK0IKKK@Z
-; protected: virtual long __cdecl NT_ACCOUNT_ENUM::QueryCountPreferences(unsigned long * __ptr64,unsigned long * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long) __ptr64
-?QueryCountPreferences@NT_ACCOUNT_ENUM@@MEAAJPEAK0IKKK@Z
-; protected: unsigned long __cdecl OS_ACL_SUBJECT_ITER::QueryCurrentACE(void)const  __ptr64
-?QueryCurrentACE@OS_ACL_SUBJECT_ITER@@IEBAKXZ
-; public: long __cdecl LSA_POLICY::QueryCurrentUser(class NLS_STR * __ptr64)const  __ptr64
-?QueryCurrentUser@LSA_POLICY@@QEBAJPEAVNLS_STR@@@Z
-; public: unsigned int __cdecl SHARE_2::QueryCurrentUses(void)const  __ptr64
-?QueryCurrentUses@SHARE_2@@QEBAIXZ
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::QueryDACL(int * __ptr64,class OS_ACL * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
-?QueryDACL@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_ACL@@0@Z
-; public: long __cdecl LSA_DOMAIN_INFO::QueryDcName(class NLS_STR * __ptr64) __ptr64
-?QueryDcName@LSA_DOMAIN_INFO@@QEAAJPEAVNLS_STR@@@Z
-; protected: enum LMO_DEVICE  __cdecl DEVICE::QueryDevType(void)const  __ptr64
-?QueryDevType@DEVICE@@IEBA?AW4LMO_DEVICE@@XZ
-; public: long __cdecl LOCATION::QueryDisplayName(class NLS_STR * __ptr64)const  __ptr64
-?QueryDisplayName@LOCATION@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl LSA_PRIVILEGES_ENUM_OBJ::QueryDisplayName(class NLS_STR * __ptr64,class LSA_POLICY const * __ptr64)const  __ptr64
-?QueryDisplayName@LSA_PRIVILEGES_ENUM_OBJ@@QEBAJPEAVNLS_STR@@PEBVLSA_POLICY@@@Z
-; public: unsigned short const * __ptr64 __cdecl LOCATION::QueryDomain(void)const  __ptr64
-?QueryDomain@LOCATION@@QEBAPEBGXZ
-; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryDomainIndex(unsigned long)const  __ptr64
-?QueryDomainIndex@LSA_TRANSLATED_NAME_MEM@@QEBAJK@Z
-; public: unsigned short const * __ptr64 __cdecl BROWSE_DOMAIN_INFO::QueryDomainName(void)const  __ptr64
-?QueryDomainName@BROWSE_DOMAIN_INFO@@QEBAPEBGXZ
-; public: unsigned long __cdecl BROWSE_DOMAIN_INFO::QueryDomainSources(void)const  __ptr64
-?QueryDomainSources@BROWSE_DOMAIN_INFO@@QEBAKXZ
-; public: long __cdecl NET_NAME::QueryDrive(class NLS_STR * __ptr64) __ptr64
-?QueryDrive@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
-; public: unsigned long __cdecl USER_MODALS_3::QueryDuration(void)const  __ptr64
-?QueryDuration@USER_MODALS_3@@QEBAKXZ
-; public: long __cdecl BASE::QueryError(void)const  __ptr64
-?QueryError@BASE@@QEBAJXZ
-; public: long __cdecl LM_SERVICE::QueryExitCode(void)const  __ptr64
-?QueryExitCode@LM_SERVICE@@QEBAJXZ
-; public: long __cdecl NET_ACCESS_1::QueryFailingName(class NLS_STR * __ptr64,enum PERMNAME_TYPE * __ptr64)const  __ptr64
-?QueryFailingName@NET_ACCESS_1@@QEBAJPEAVNLS_STR@@PEAW4PERMNAME_TYPE@@@Z
-; public: int __cdecl LSA_TRANSLATED_SID_MEM::QueryFailingNameIndex(unsigned long * __ptr64) __ptr64
-?QueryFailingNameIndex@LSA_TRANSLATED_SID_MEM@@QEAAHPEAK@Z
-; public: unsigned long __cdecl LM_FILE::QueryFileId(void)const  __ptr64
-?QueryFileId@LM_FILE@@QEBAKXZ
-; public: unsigned long __cdecl USER_MODALS::QueryForceLogoff(void)const  __ptr64
-?QueryForceLogoff@USER_MODALS@@QEBAKXZ
-; public: unsigned short const * __ptr64 __cdecl USER_11::QueryFullName(void)const  __ptr64
-?QueryFullName@USER_11@@QEBAPEBGXZ
-; public: long __cdecl LM_SERVICE::QueryFullStatus(enum LM_SERVICE_STATUS * __ptr64,struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
-?QueryFullStatus@LM_SERVICE@@QEAAJPEAW4LM_SERVICE_STATUS@@PEAULM_SERVICE_OTHER_STATUS@@@Z
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::QueryGroup(int * __ptr64,class OS_SID * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
-?QueryGroup@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_SID@@0@Z
-; public: void * __ptr64 __cdecl LSA_OBJECT::QueryHandle(void)const  __ptr64
-?QueryHandle@LSA_OBJECT@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl SAM_OBJECT::QueryHandle(void)const  __ptr64
-?QueryHandle@SAM_OBJECT@@QEBAPEAXXZ
-; public: struct SC_HANDLE__ * __ptr64 __cdecl SERVICE_CONTROL::QueryHandle(void)const  __ptr64
-?QueryHandle@SERVICE_CONTROL@@QEBAPEAUSC_HANDLE__@@XZ
-; public: unsigned short const * __ptr64 __cdecl USER_11::QueryHomeDir(void)const  __ptr64
-?QueryHomeDir@USER_11@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER_3::QueryHomedirDrive(void)const  __ptr64
-?QueryHomedirDrive@USER_3@@QEBAPEBGXZ
-; public: unsigned char * __ptr64 __cdecl LOGON_HOURS_SETTING::QueryHoursBlock(void)const  __ptr64
-?QueryHoursBlock@LOGON_HOURS_SETTING@@QEBAPEAEXZ
-; public: unsigned long __cdecl LM_SESSION_10::QueryIdleTime(void)const  __ptr64
-?QueryIdleTime@LM_SESSION_10@@QEBAKXZ
-; public: long __cdecl LSA_SECRET::QueryInfo(class NLS_STR * __ptr64,class NLS_STR * __ptr64,union _LARGE_INTEGER * __ptr64,union _LARGE_INTEGER * __ptr64)const  __ptr64
-?QueryInfo@LSA_SECRET@@QEBAJPEAVNLS_STR@@0PEAT_LARGE_INTEGER@@1@Z
-; private: long __cdecl LSA_TRUSTED_DC_LIST::QueryInfo(class NLS_STR const & __ptr64,unsigned short const * __ptr64) __ptr64
-?QueryInfo@LSA_TRUSTED_DC_LIST@@AEAAJAEBVNLS_STR@@PEBG@Z
-; public: unsigned int __cdecl LM_ENUM::QueryInfoLevel(void)const  __ptr64
-?QueryInfoLevel@LM_ENUM@@QEBAIXZ
-; public: unsigned int __cdecl LM_RESUME_ENUM::QueryInfoLevel(void)const  __ptr64
-?QueryInfoLevel@LM_RESUME_ENUM@@QEBAIXZ
-; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryInheritOnlyAccessMask(void)const  __ptr64
-?QueryInheritOnlyAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_F(void)const  __ptr64
-?QueryInheritOnlyAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_S(void)const  __ptr64
-?QueryInheritOnlyAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned int __cdecl LM_RESUME_BUFFER::QueryItemCount(void)const  __ptr64
-?QueryItemCount@LM_RESUME_BUFFER@@QEBAIXZ
-; protected: virtual unsigned int __cdecl MEMBERSHIP_LM_OBJ::QueryItemSize(void)const  __ptr64
-?QueryItemSize@MEMBERSHIP_LM_OBJ@@MEBAIXZ
-; public: unsigned short const * __ptr64 __cdecl WKSTA_1::QueryLMRoot(void)const  __ptr64
-?QueryLMRoot@WKSTA_1@@QEBAPEBGXZ
-; public: class LSA_POLICY * __ptr64 __cdecl ADMIN_AUTHORITY::QueryLSAPolicy(void)const  __ptr64
-?QueryLSAPolicy@ADMIN_AUTHORITY@@QEBAPEAVLSA_POLICY@@XZ
-; public: long __cdecl NET_NAME::QueryLastComponent(class NLS_STR * __ptr64) __ptr64
-?QueryLastComponent@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
-; public: long __cdecl OS_SID::QueryLastSubAuthority(unsigned long * __ptr64 * __ptr64)const  __ptr64
-?QueryLastSubAuthority@OS_SID@@QEBAJPEAPEAK@Z
-; public: unsigned long __cdecl OS_SID::QueryLength(void)const  __ptr64
-?QueryLength@OS_SID@@QEBAKXZ
-; public: long __cdecl NET_NAME::QueryLocalDrive(class NLS_STR * __ptr64) __ptr64
-?QueryLocalDrive@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
-; public: long __cdecl NET_NAME::QueryLocalPath(class NLS_STR * __ptr64) __ptr64
-?QueryLocalPath@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
-; public: long __cdecl SC_MANAGER::QueryLockStatus(struct _QUERY_SERVICE_LOCK_STATUSW * __ptr64 * __ptr64) __ptr64
-?QueryLockStatus@SC_MANAGER@@QEAAJPEAPEAU_QUERY_SERVICE_LOCK_STATUSW@@@Z
-; public: int __cdecl USER_2::QueryLockout(void)const  __ptr64
-?QueryLockout@USER_2@@QEBAHXZ
-; public: unsigned short const * __ptr64 __cdecl WKSTA_10::QueryLogonDomain(void)const  __ptr64
-?QueryLogonDomain@WKSTA_10@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryLogonDomain(void)const  __ptr64
-?QueryLogonDomain@WKSTA_USER_1@@QEBAPEBGXZ
-; public: class LOGON_HOURS_SETTING const & __ptr64 __cdecl USER_11::QueryLogonHours(void)const  __ptr64
-?QueryLogonHours@USER_11@@QEBAAEBVLOGON_HOURS_SETTING@@XZ
-; public: unsigned short const * __ptr64 __cdecl WKSTA_1::QueryLogonServer(void)const  __ptr64
-?QueryLogonServer@WKSTA_1@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryLogonServer(void)const  __ptr64
-?QueryLogonServer@WKSTA_USER_1@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl WKSTA_10::QueryLogonUser(void)const  __ptr64
-?QueryLogonUser@WKSTA_10@@QEBAPEBGXZ
-; public: struct _LUID  __cdecl OS_LUID::QueryLuid(void)const  __ptr64
-?QueryLuid@OS_LUID@@QEBA?AU_LUID@@XZ
-; public: unsigned int __cdecl SERVER1_ENUM_OBJ::QueryMajorVer(void)const  __ptr64
-?QueryMajorVer@SERVER1_ENUM_OBJ@@QEBAIXZ
-; public: unsigned int __cdecl SERVER_1::QueryMajorVer(void)const  __ptr64
-?QueryMajorVer@SERVER_1@@QEBAIXZ
-; public: unsigned int __cdecl WKSTA_10::QueryMajorVer(void)const  __ptr64
-?QueryMajorVer@WKSTA_10@@QEBAIXZ
-; public: unsigned long __cdecl USER_MODALS::QueryMaxPasswdAge(void)const  __ptr64
-?QueryMaxPasswdAge@USER_MODALS@@QEBAKXZ
-; public: unsigned int __cdecl SERVER_2::QueryMaxUsers(void)const  __ptr64
-?QueryMaxUsers@SERVER_2@@QEBAIXZ
-; public: unsigned int __cdecl SHARE_2::QueryMaxUses(void)const  __ptr64
-?QueryMaxUses@SHARE_2@@QEBAIXZ
-; public: unsigned long __cdecl USER_MODALS::QueryMinPasswdAge(void)const  __ptr64
-?QueryMinPasswdAge@USER_MODALS@@QEBAKXZ
-; public: unsigned int __cdecl USER_MODALS::QueryMinPasswdLen(void)const  __ptr64
-?QueryMinPasswdLen@USER_MODALS@@QEBAIXZ
-; public: unsigned int __cdecl SERVER1_ENUM_OBJ::QueryMinorVer(void)const  __ptr64
-?QueryMinorVer@SERVER1_ENUM_OBJ@@QEBAIXZ
-; public: unsigned int __cdecl SERVER_1::QueryMinorVer(void)const  __ptr64
-?QueryMinorVer@SERVER_1@@QEBAIXZ
-; public: unsigned int __cdecl WKSTA_10::QueryMinorVer(void)const  __ptr64
-?QueryMinorVer@WKSTA_10@@QEBAIXZ
-; public: long __cdecl LOCATION::QueryNOSVersion(unsigned int * __ptr64,unsigned int * __ptr64) __ptr64
-?QueryNOSVersion@LOCATION@@QEAAJPEAI0@Z
-; public: virtual unsigned short const * __ptr64 __cdecl COMPUTER::QueryName(void)const  __ptr64
-?QueryName@COMPUTER@@UEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl DEVICE::QueryName(void)const  __ptr64
-?QueryName@DEVICE@@UEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl DOMAIN0_ENUM_OBJ::QueryName(void)const  __ptr64
-?QueryName@DOMAIN0_ENUM_OBJ@@QEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl DOMAIN::QueryName(void)const  __ptr64
-?QueryName@DOMAIN@@UEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl GROUP0_ENUM_OBJ::QueryName(void)const  __ptr64
-?QueryName@GROUP0_ENUM_OBJ@@QEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl GROUP::QueryName(void)const  __ptr64
-?QueryName@GROUP@@UEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl GROUP_MEMB::QueryName(void)const  __ptr64
-?QueryName@GROUP_MEMB@@UEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LM_SERVICE::QueryName(void)const  __ptr64
-?QueryName@LM_SERVICE@@QEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl LM_SESSION::QueryName(void)const  __ptr64
-?QueryName@LM_SESSION@@UEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LOCATION::QueryName(void)const  __ptr64
-?QueryName@LOCATION@@QEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl LSA_ACCOUNT::QueryName(void)const  __ptr64
-?QueryName@LSA_ACCOUNT@@UEBAPEBGXZ
-; public: long __cdecl LSA_ACCT_DOM_INFO_MEM::QueryName(class NLS_STR * __ptr64)const  __ptr64
-?QueryName@LSA_ACCT_DOM_INFO_MEM@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryName(class NLS_STR * __ptr64)const  __ptr64
-?QueryName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl LSA_REF_DOMAIN_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
-?QueryName@LSA_REF_DOMAIN_MEM@@QEBAJKPEAVNLS_STR@@@Z
-; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
-?QueryName@LSA_TRANSLATED_NAME_MEM@@QEBAJKPEAVNLS_STR@@@Z
-; public: long __cdecl LSA_TRUST_INFO_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
-?QueryName@LSA_TRUST_INFO_MEM@@QEBAJKPEAVNLS_STR@@@Z
-; public: virtual unsigned short const * __ptr64 __cdecl NET_ACCESS::QueryName(void)const  __ptr64
-?QueryName@NET_ACCESS@@UEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl NEW_LM_OBJ::QueryName(void)const  __ptr64
-?QueryName@NEW_LM_OBJ@@UEBAPEBGXZ
-; public: long __cdecl OS_SID::QueryName(class NLS_STR * __ptr64,unsigned short const * __ptr64,void * __ptr64)const  __ptr64
-?QueryName@OS_SID@@QEBAJPEAVNLS_STR@@PEBGPEAX@Z
-; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryName(void)const  __ptr64
-?QueryName@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl SERVER_0::QueryName(void)const  __ptr64
-?QueryName@SERVER_0@@UEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl SHARE::QueryName(void)const  __ptr64
-?QueryName@SHARE@@UEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER0_ENUM_OBJ::QueryName(void)const  __ptr64
-?QueryName@USER0_ENUM_OBJ@@QEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl USER::QueryName(void)const  __ptr64
-?QueryName@USER@@UEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl USER_MEMB::QueryName(void)const  __ptr64
-?QueryName@USER_MEMB@@UEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl USER_MODALS::QueryName(void)const  __ptr64
-?QueryName@USER_MODALS@@UEBAPEBGXZ
-; public: virtual unsigned short const * __ptr64 __cdecl USER_MODALS_3::QueryName(void)const  __ptr64
-?QueryName@USER_MODALS_3@@UEBAPEBGXZ
-; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryNewContainerAccessMask(void)const  __ptr64
-?QueryNewContainerAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_F(void)const  __ptr64
-?QueryNewContainerAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_S(void)const  __ptr64
-?QueryNewContainerAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryNewObjectAccessMask(void)const  __ptr64
-?QueryNewObjectAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_F(void)const  __ptr64
-?QueryNewObjectAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
-; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_S(void)const  __ptr64
-?QueryNewObjectAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
-; public: int __cdecl SAM_PSWD_DOM_INFO_MEM::QueryNoAnonChange(void) __ptr64
-?QueryNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QEAAHXZ
-; public: int __cdecl USER_2::QueryNoPasswordExpire(void)const  __ptr64
-?QueryNoPasswordExpire@USER_2@@QEBAHXZ
-; public: unsigned int __cdecl LM_FILE_3::QueryNumLock(void)const  __ptr64
-?QueryNumLock@LM_FILE_3@@QEBAIXZ
-; public: unsigned long __cdecl FILE3_ENUM_OBJ::QueryNumLocks(void)const  __ptr64
-?QueryNumLocks@FILE3_ENUM_OBJ@@QEBAKXZ
-; public: unsigned int __cdecl LM_SESSION_1::QueryNumOpens(void)const  __ptr64
-?QueryNumOpens@LM_SESSION_1@@QEBAIXZ
-; public: unsigned long __cdecl OS_PRIVILEGE_SET::QueryNumberOfPrivileges(void)const  __ptr64
-?QueryNumberOfPrivileges@OS_PRIVILEGE_SET@@QEBAKXZ
-; public: unsigned long __cdecl USER_MODALS_3::QueryObservation(void)const  __ptr64
-?QueryObservation@USER_MODALS_3@@QEBAKXZ
-; public: class STRLIST * __ptr64 __cdecl WKSTA_10::QueryOtherDomains(void)const  __ptr64
-?QueryOtherDomains@WKSTA_10@@QEBAPEAVSTRLIST@@XZ
-; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryOtherDomains(void)const  __ptr64
-?QueryOtherDomains@WKSTA_USER_1@@QEBAPEBGXZ
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::QueryOwner(int * __ptr64,class OS_SID * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
-?QueryOwner@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_SID@@0@Z
-; public: unsigned short const * __ptr64 __cdecl DOMAIN::QueryPDC(void)const  __ptr64
-?QueryPDC@DOMAIN@@QEBAPEBGXZ
-; public: void * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
-?QueryPSID@LSA_ACCT_DOM_INFO_MEM@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl LSA_DOMAIN_INFO::QueryPSID(void)const  __ptr64
-?QueryPSID@LSA_DOMAIN_INFO@@QEBAQEAXXZ
-; public: void * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
-?QueryPSID@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPSID(unsigned long)const  __ptr64
-?QueryPSID@LSA_REF_DOMAIN_MEM@@QEBAPEAXK@Z
-; public: void * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPSID(unsigned long)const  __ptr64
-?QueryPSID@LSA_TRUST_INFO_MEM@@QEBAPEAXK@Z
-; public: void * __ptr64 __cdecl OS_SID::QueryPSID(void)const  __ptr64
-?QueryPSID@OS_SID@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl SAM_DOMAIN::QueryPSID(void)const  __ptr64
-?QueryPSID@SAM_DOMAIN@@QEBAPEAXXZ
-; public: unsigned short const * __ptr64 __cdecl USER_11::QueryParms(void)const  __ptr64
-?QueryParms@USER_11@@QEBAPEBGXZ
-; public: unsigned int __cdecl USER_MODALS::QueryPasswdHistLen(void)const  __ptr64
-?QueryPasswdHistLen@USER_MODALS@@QEBAIXZ
-; public: unsigned short const * __ptr64 __cdecl SHARE_2::QueryPassword(void)const  __ptr64
-?QueryPassword@SHARE_2@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER_2::QueryPassword(void)const  __ptr64
-?QueryPassword@USER_2@@QEBAPEBGXZ
-; public: unsigned long __cdecl USER_3::QueryPasswordExpired(void)const  __ptr64
-?QueryPasswordExpired@USER_3@@QEBAKXZ
-; public: unsigned short const * __ptr64 __cdecl SHARE_2::QueryPath(void)const  __ptr64
-?QueryPath@SHARE_2@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl FILE3_ENUM_OBJ::QueryPathName(void)const  __ptr64
-?QueryPathName@FILE3_ENUM_OBJ@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LM_FILE_3::QueryPathname(void)const  __ptr64
-?QueryPathname@LM_FILE_3@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NLS_STR::QueryPch(void)const  __ptr64
-?QueryPch@NLS_STR@@QEBAPEBGXZ
-; public: unsigned int __cdecl NET_ACCESS_1::QueryPerm(unsigned short const * __ptr64,enum PERMNAME_TYPE)const  __ptr64
-?QueryPerm@NET_ACCESS_1@@QEBAIPEBGW4PERMNAME_TYPE@@@Z
-; public: unsigned int __cdecl LM_FILE_3::QueryPermission(void)const  __ptr64
-?QueryPermission@LM_FILE_3@@QEBAIXZ
-; public: unsigned int __cdecl SHARE_2::QueryPermissions(void)const  __ptr64
-?QueryPermissions@SHARE_2@@QEBAIXZ
-; public: long __cdecl LSA_TRUSTED_DOMAIN::QueryPosixOffset(unsigned long * __ptr64)const  __ptr64
-?QueryPosixOffset@LSA_TRUSTED_DOMAIN@@QEBAJPEAK@Z
-; public: long __cdecl LSA_POLICY::QueryPrimaryBrowserGroup(class NLS_STR * __ptr64)const  __ptr64
-?QueryPrimaryBrowserGroup@LSA_POLICY@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl LSA_POLICY::QueryPrimaryDomainName(class NLS_STR * __ptr64)const  __ptr64
-?QueryPrimaryDomainName@LSA_POLICY@@QEBAJPEAVNLS_STR@@@Z
-; public: unsigned long __cdecl USER_3::QueryPrimaryGroupId(void)const  __ptr64
-?QueryPrimaryGroupId@USER_3@@QEBAKXZ
-; public: virtual unsigned int __cdecl LOCAL_USER::QueryPriv(void)const  __ptr64
-?QueryPriv@LOCAL_USER@@UEBAIXZ
-; public: virtual unsigned int __cdecl USER_11::QueryPriv(void)const  __ptr64
-?QueryPriv@USER_11@@UEBAIXZ
-; public: struct _PRIVILEGE_SET * __ptr64 __cdecl OS_PRIVILEGE_SET::QueryPrivSet(void)const  __ptr64
-?QueryPrivSet@OS_PRIVILEGE_SET@@QEBAPEAU_PRIVILEGE_SET@@XZ
-; public: class OS_LUID_AND_ATTRIBUTES const * __ptr64 __cdecl OS_PRIVILEGE_SET::QueryPrivilege(long) __ptr64
-?QueryPrivilege@OS_PRIVILEGE_SET@@QEAAPEBVOS_LUID_AND_ATTRIBUTES@@J@Z
-; public: long __cdecl LSA_ACCOUNT::QueryPrivilegeEnumIter(class LSA_ACCOUNT_PRIVILEGE_ENUM_ITER * __ptr64 * __ptr64) __ptr64
-?QueryPrivilegeEnumIter@LSA_ACCOUNT@@QEAAJPEAPEAVLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@@Z
-; public: static long __cdecl LSA_POLICY::QueryProductType(enum LSPL_PROD_TYPE * __ptr64)
-?QueryProductType@LSA_POLICY@@SAJPEAW4LSPL_PROD_TYPE@@@Z
-; public: unsigned short const * __ptr64 __cdecl USER_3::QueryProfile(void)const  __ptr64
-?QueryProfile@USER_3@@QEBAPEBGXZ
-; protected: unsigned char * __ptr64 __cdecl LM_ENUM::QueryPtr(void)const  __ptr64
-?QueryPtr@LM_ENUM@@IEBAPEAEXZ
-; public: struct _POLICY_ACCOUNT_DOMAIN_INFO const * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_ACCT_DOM_INFO_MEM@@QEBAPEBU_POLICY_ACCOUNT_DOMAIN_INFO@@XZ
-; public: struct _POLICY_AUDIT_EVENTS_INFO * __ptr64 __cdecl LSA_AUDIT_EVENT_INFO_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_AUDIT_EVENT_INFO_MEM@@QEBAPEAU_POLICY_AUDIT_EVENTS_INFO@@XZ
-; public: struct _POLICY_PRIMARY_DOMAIN_INFO const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_POLICY_PRIMARY_DOMAIN_INFO@@XZ
-; private: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_REF_DOMAIN_MEM@@AEBAPEBU_LSA_TRUST_INFORMATION@@XZ
-; public: struct _POLICY_LSA_SERVER_ROLE_INFO const * __ptr64 __cdecl LSA_SERVER_ROLE_INFO_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_SERVER_ROLE_INFO_MEM@@QEBAPEBU_POLICY_LSA_SERVER_ROLE_INFO@@XZ
-; private: struct _LSA_TRANSLATED_NAME const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_LSA_TRANSLATED_NAME@@XZ
-; private: struct _LSA_TRANSLATED_SID const * __ptr64 __cdecl LSA_TRANSLATED_SID_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_TRANSLATED_SID_MEM@@AEBAPEBU_LSA_TRANSLATED_SID@@XZ
-; public: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_TRUST_INFO_MEM@@QEBAPEBU_LSA_TRUST_INFORMATION@@XZ
-; protected: void * __ptr64 __cdecl OS_OBJECT_WITH_DATA::QueryPtr(void)const  __ptr64
-?QueryPtr@OS_OBJECT_WITH_DATA@@IEBAPEAXXZ
-; public: struct _DOMAIN_PASSWORD_INFORMATION const * __ptr64 __cdecl SAM_PSWD_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@SAM_PSWD_DOM_INFO_MEM@@QEBAPEBU_DOMAIN_PASSWORD_INFORMATION@@XZ
-; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl SAM_RID_ENUMERATION_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@SAM_RID_ENUMERATION_MEM@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
-; public: unsigned long __cdecl SAM_ALIAS::QueryRID(void) __ptr64
-?QueryRID@SAM_ALIAS@@QEAAKXZ
-; public: long __cdecl OS_SID::QueryRawID(class NLS_STR * __ptr64)const  __ptr64
-?QueryRawID@OS_SID@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl NET_NAME::QueryRelativePath(class NLS_STR * __ptr64) __ptr64
-?QueryRelativePath@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
-; public: unsigned short const * __ptr64 __cdecl DEVICE::QueryRemoteName(void)const  __ptr64
-?QueryRemoteName@DEVICE@@QEBAPEBGXZ
-; public: unsigned int __cdecl DEVICE::QueryRemoteType(void)const  __ptr64
-?QueryRemoteType@DEVICE@@QEBAIXZ
-; private: unsigned int __cdecl NET_ACCESS_1::QueryRequiredSpace(unsigned int)const  __ptr64
-?QueryRequiredSpace@NET_ACCESS_1@@AEBAII@Z
-; public: unsigned int __cdecl SHARE_1::QueryResourceType(void)const  __ptr64
-?QueryResourceType@SHARE_1@@QEBAIXZ
-; public: static unsigned long __cdecl OS_ACE::QueryRevision(void)
-?QueryRevision@OS_ACE@@SAKXZ
-; public: unsigned long const  __cdecl ALIAS_ENUM_OBJ::QueryRid(void)const  __ptr64
-?QueryRid@ALIAS_ENUM_OBJ@@QEBA?BKXZ
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::QuerySACL(int * __ptr64,class OS_ACL * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
-?QuerySACL@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_ACL@@0@Z
-; public: long __cdecl OS_ACE::QuerySID(class OS_SID * __ptr64 * __ptr64)const  __ptr64
-?QuerySID@OS_ACE@@QEBAJPEAPEAVOS_SID@@@Z
-; public: class OS_SID const * __ptr64 __cdecl OS_ACL_SUBJECT_ITER::QuerySID(void)const  __ptr64
-?QuerySID@OS_ACL_SUBJECT_ITER@@QEBAPEBVOS_SID@@XZ
-; protected: void * __ptr64 __cdecl OS_ACE::QuerySIDMemory(void)const  __ptr64
-?QuerySIDMemory@OS_ACE@@IEBAPEAXXZ
-; public: class SAM_SERVER * __ptr64 __cdecl ADMIN_AUTHORITY::QuerySamServer(void)const  __ptr64
-?QuerySamServer@ADMIN_AUTHORITY@@QEBAPEAVSAM_SERVER@@XZ
-; public: unsigned short const * __ptr64 __cdecl USER_2::QueryScriptPath(void)const  __ptr64
-?QueryScriptPath@USER_2@@QEBAPEBGXZ
-; public: long __cdecl SC_SERVICE::QuerySecurity(unsigned long,void * __ptr64 * __ptr64) __ptr64
-?QuerySecurity@SC_SERVICE@@QEAAJKPEAPEAX@Z
-; public: unsigned int __cdecl SERVER_2::QuerySecurity(void)const  __ptr64
-?QuerySecurity@SERVER_2@@QEBAIXZ
-; public: unsigned short const * __ptr64 __cdecl DEVICE::QueryServer(void)const  __ptr64
-?QueryServer@DEVICE@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LM_FILE::QueryServer(void)const  __ptr64
-?QueryServer@LM_FILE@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LM_SESSION::QueryServer(void)const  __ptr64
-?QueryServer@LM_SESSION@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LOCATION::QueryServer(void)const  __ptr64
-?QueryServer@LOCATION@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LOC_LM_ENUM::QueryServer(void)const  __ptr64
-?QueryServer@LOC_LM_ENUM@@QEBAPEBGXZ
-; protected: unsigned short const * __ptr64 __cdecl LOC_LM_OBJ::QueryServer(void)const  __ptr64
-?QueryServer@LOC_LM_OBJ@@IEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LOC_LM_RESUME_ENUM::QueryServer(void)const  __ptr64
-?QueryServer@LOC_LM_RESUME_ENUM@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl SHARE::QueryServer(void)const  __ptr64
-?QueryServer@SHARE@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LM_SERVICE::QueryServerName(void)const  __ptr64
-?QueryServerName@LM_SERVICE@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NET_ACCESS::QueryServerName(void)const  __ptr64
-?QueryServerName@NET_ACCESS@@QEBAPEBGXZ
-; public: long __cdecl NET_NAME::QueryServerShare(class NLS_STR * __ptr64) __ptr64
-?QueryServerShare@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
-; public: unsigned long __cdecl SERVER1_ENUM_OBJ::QueryServerType(void)const  __ptr64
-?QueryServerType@SERVER1_ENUM_OBJ@@QEBAKXZ
-; public: unsigned long __cdecl SERVER_1::QueryServerType(void)const  __ptr64
-?QueryServerType@SERVER_1@@QEBAKXZ
-; public: long __cdecl SC_MANAGER::QueryServiceDisplayName(unsigned short const * __ptr64,class NLS_STR * __ptr64) __ptr64
-?QueryServiceDisplayName@SC_MANAGER@@QEAAJPEBGPEAVNLS_STR@@@Z
-; public: long __cdecl SC_MANAGER::QueryServiceKeyName(unsigned short const * __ptr64,class NLS_STR * __ptr64) __ptr64
-?QueryServiceKeyName@SC_MANAGER@@QEAAJPEBGPEAVNLS_STR@@@Z
-; public: long __cdecl NET_NAME::QueryShare(class NLS_STR * __ptr64) __ptr64
-?QueryShare@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
-; public: void * __ptr64 __cdecl OS_SID::QuerySid(void)const  __ptr64
-?QuerySid@OS_SID@@QEBAPEAXXZ
-; public: unsigned short __cdecl OS_ACE::QuerySize(void)const  __ptr64
-?QuerySize@OS_ACE@@QEBAGXZ
-; public: long __cdecl OS_ACL::QuerySizeInformation(struct _ACL_SIZE_INFORMATION * __ptr64)const  __ptr64
-?QuerySizeInformation@OS_ACL@@QEBAJPEAU_ACL_SIZE_INFORMATION@@@Z
-; public: enum LMO_DEV_STATE  __cdecl DEVICE::QueryState(void)const  __ptr64
-?QueryState@DEVICE@@QEBA?AW4LMO_DEV_STATE@@XZ
-; public: unsigned int __cdecl DEVICE::QueryStatus(void)const  __ptr64
-?QueryStatus@DEVICE@@QEBAIXZ
-; public: enum LM_SERVICE_STATUS  __cdecl LM_SERVICE::QueryStatus(long * __ptr64) __ptr64
-?QueryStatus@LM_SERVICE@@QEAA?AW4LM_SERVICE_STATUS@@PEAJ@Z
-; public: long __cdecl SC_SERVICE::QueryStatus(struct _SERVICE_STATUS * __ptr64) __ptr64
-?QueryStatus@SC_SERVICE@@QEAAJPEAU_SERVICE_STATUS@@@Z
-; public: long __cdecl OS_SID::QuerySubAuthority(unsigned char,unsigned long * __ptr64 * __ptr64)const  __ptr64
-?QuerySubAuthority@OS_SID@@QEBAJEPEAPEAK@Z
-; public: long __cdecl OS_SID::QuerySubAuthorityCount(unsigned char * __ptr64 * __ptr64)const  __ptr64
-?QuerySubAuthorityCount@OS_SID@@QEBAJPEAPEAE@Z
-; public: static long __cdecl NT_ACCOUNTS_UTILITY::QuerySystemSid(enum UI_SystemSid,class OS_SID * __ptr64,unsigned short const * __ptr64)
-?QuerySystemSid@NT_ACCOUNTS_UTILITY@@SAJW4UI_SystemSid@@PEAVOS_SID@@PEBG@Z
-; public: unsigned int __cdecl NLS_STR::QueryTextLength(void)const  __ptr64
-?QueryTextLength@NLS_STR@@QEBAIXZ
-; public: unsigned long __cdecl USER_MODALS_3::QueryThreshold(void)const  __ptr64
-?QueryThreshold@USER_MODALS_3@@QEBAKXZ
-; public: unsigned long __cdecl LM_SESSION_10::QueryTime(void)const  __ptr64
-?QueryTime@LM_SESSION_10@@QEBAKXZ
-; protected: unsigned long __cdecl OS_ACL_SUBJECT_ITER::QueryTotalAceCount(void)const  __ptr64
-?QueryTotalAceCount@OS_ACL_SUBJECT_ITER@@IEBAKXZ
-; public: unsigned int __cdecl LM_RESUME_ENUM::QueryTotalItemCount(void)const  __ptr64
-?QueryTotalItemCount@LM_RESUME_ENUM@@QEBAIXZ
-; public: unsigned int __cdecl DEVICE::QueryType(void)const  __ptr64
-?QueryType@DEVICE@@QEBAIXZ
-; public: unsigned char __cdecl OS_ACE::QueryType(void)const  __ptr64
-?QueryType@OS_ACE@@QEBAEXZ
-; public: long __cdecl NET_NAME::QueryUNCPath(class NLS_STR * __ptr64) __ptr64
-?QueryUNCPath@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl NT_MACHINE_ENUM_OBJ::QueryUnicodeMachine(void)const  __ptr64
-?QueryUnicodeMachine@NT_MACHINE_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryUnicodeName(void)const  __ptr64
-?QueryUnicodeName@LSA_ACCT_DOM_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@XZ
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryUnicodeName(void)const  __ptr64
-?QueryUnicodeName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@XZ
-; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryUnicodeName(unsigned long)const  __ptr64
-?QueryUnicodeName@LSA_REF_DOMAIN_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
-; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryUnicodeName(unsigned long)const  __ptr64
-?QueryUnicodeName@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryUnicodeName(unsigned long)const  __ptr64
-?QueryUnicodeName@LSA_TRUST_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@K@Z
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl SAM_USER_ENUM_OBJ::QueryUnicodeUserName(void)const  __ptr64
-?QueryUnicodeUserName@SAM_USER_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
-; public: unsigned int __cdecl LOGON_HOURS_SETTING::QueryUnitsPerWeek(void)const  __ptr64
-?QueryUnitsPerWeek@LOGON_HOURS_SETTING@@QEBAIXZ
-; private: struct _DOMAIN_PASSWORD_INFORMATION * __ptr64 __cdecl SAM_PSWD_DOM_INFO_MEM::QueryUpdatePtr(void)const  __ptr64
-?QueryUpdatePtr@SAM_PSWD_DOM_INFO_MEM@@AEBAPEAU_DOMAIN_PASSWORD_INFORMATION@@XZ
-; public: enum _SID_NAME_USE  __cdecl LSA_TRANSLATED_NAME_MEM::QueryUse(unsigned long)const  __ptr64
-?QueryUse@LSA_TRANSLATED_NAME_MEM@@QEBA?AW4_SID_NAME_USE@@K@Z
-; public: int __cdecl USER_2::QueryUserCantChangePass(void)const  __ptr64
-?QueryUserCantChangePass@USER_2@@QEBAHXZ
-; public: unsigned short const * __ptr64 __cdecl USER_11::QueryUserComment(void)const  __ptr64
-?QueryUserComment@USER_11@@QEBAPEBGXZ
-; protected: int __cdecl USER_2::QueryUserFlag(unsigned int)const  __ptr64
-?QueryUserFlag@USER_2@@IEBAHI@Z
-; public: unsigned long __cdecl LM_SESSION_1::QueryUserFlags(void)const  __ptr64
-?QueryUserFlags@LM_SESSION_1@@QEBAKXZ
-; public: unsigned int __cdecl USER_2::QueryUserFlags(void)const  __ptr64
-?QueryUserFlags@USER_2@@QEBAIXZ
-; public: unsigned long __cdecl USER_3::QueryUserId(void)const  __ptr64
-?QueryUserId@USER_3@@QEBAKXZ
-; public: long __cdecl SAM_USER_ENUM_OBJ::QueryUserName(class NLS_STR * __ptr64)const  __ptr64
-?QueryUserName@SAM_USER_ENUM_OBJ@@QEBAJPEAVNLS_STR@@@Z
-; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryUserName(void)const  __ptr64
-?QueryUserName@WKSTA_USER_1@@QEBAPEBGXZ
-; public: int __cdecl USER_2::QueryUserPassRequired(void)const  __ptr64
-?QueryUserPassRequired@USER_2@@QEBAHXZ
-; public: unsigned short const * __ptr64 __cdecl LM_FILE_3::QueryUsername(void)const  __ptr64
-?QueryUsername@LM_FILE_3@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl LM_SESSION_10::QueryUsername(void)const  __ptr64
-?QueryUsername@LM_SESSION_10@@QEBAPEBGXZ
-; public: long __cdecl LM_CONFIG::QueryValue(class NLS_STR * __ptr64,unsigned short const * __ptr64) __ptr64
-?QueryValue@LM_CONFIG@@QEAAJPEAVNLS_STR@@PEBG@Z
-; public: unsigned short const * __ptr64 __cdecl WKSTA_10::QueryWkstaDomain(void)const  __ptr64
-?QueryWkstaDomain@WKSTA_10@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER_11::QueryWorkstations(void)const  __ptr64
-?QueryWorkstations@USER_11@@QEBAPEBGXZ
-; private: void __cdecl LM_ENUM::RegisterIter(void) __ptr64
-?RegisterIter@LM_ENUM@@AEAAXXZ
-; private: void __cdecl LM_RESUME_ENUM::RegisterIter(void) __ptr64
-?RegisterIter@LM_RESUME_ENUM@@AEAAXXZ
-; public: class NLS_STR * __ptr64 __cdecl SLIST_OF_NLS_STR::Remove(class ITER_SL_NLS_STR & __ptr64) __ptr64
-?Remove@SLIST_OF_NLS_STR@@QEAAPEAVNLS_STR@@AEAVITER_SL_NLS_STR@@@Z
-; public: long __cdecl SAM_ALIAS::RemoveMember(void * __ptr64) __ptr64
-?RemoveMember@SAM_ALIAS@@QEAAJPEAX@Z
-; public: long __cdecl SAM_GROUP::RemoveMember(unsigned long) __ptr64
-?RemoveMember@SAM_GROUP@@QEAAJK@Z
-; public: long __cdecl SAM_DOMAIN::RemoveMemberFromAliases(void * __ptr64) __ptr64
-?RemoveMemberFromAliases@SAM_DOMAIN@@QEAAJPEAX@Z
-; public: long __cdecl SAM_ALIAS::RemoveMembers(void * __ptr64 * __ptr64,unsigned int) __ptr64
-?RemoveMembers@SAM_ALIAS@@QEAAJPEAPEAXI@Z
-; public: long __cdecl SAM_GROUP::RemoveMembers(unsigned long * __ptr64,unsigned int) __ptr64
-?RemoveMembers@SAM_GROUP@@QEAAJPEAKI@Z
-; public: long __cdecl OS_PRIVILEGE_SET::RemovePrivilege(long) __ptr64
-?RemovePrivilege@OS_PRIVILEGE_SET@@QEAAJJ@Z
-; public: long __cdecl OS_PRIVILEGE_SET::RemovePrivilege(struct _LUID) __ptr64
-?RemovePrivilege@OS_PRIVILEGE_SET@@QEAAJU_LUID@@@Z
-; public: long __cdecl USER::Rename(unsigned short const * __ptr64) __ptr64
-?Rename@USER@@QEAAJPEBG@Z
-; public: long __cdecl ADMIN_AUTHORITY::ReplaceAccountDomain(unsigned long) __ptr64
-?ReplaceAccountDomain@ADMIN_AUTHORITY@@QEAAJK@Z
-; public: long __cdecl ADMIN_AUTHORITY::ReplaceBuiltinDomain(unsigned long) __ptr64
-?ReplaceBuiltinDomain@ADMIN_AUTHORITY@@QEAAJK@Z
-; public: long __cdecl ADMIN_AUTHORITY::ReplaceLSAPolicy(unsigned long) __ptr64
-?ReplaceLSAPolicy@ADMIN_AUTHORITY@@QEAAJK@Z
-; public: long __cdecl ADMIN_AUTHORITY::ReplaceSamServer(unsigned long) __ptr64
-?ReplaceSamServer@ADMIN_AUTHORITY@@QEAAJK@Z
-; protected: void __cdecl BASE::ReportError(long) __ptr64
-?ReportError@BASE@@IEAAXJ@Z
-; protected: void __cdecl NEW_LM_OBJ::ReportError(long) __ptr64
-?ReportError@NEW_LM_OBJ@@IEAAXJ@Z
-; public: void __cdecl BROWSE_DOMAIN_ENUM::Reset(void) __ptr64
-?Reset@BROWSE_DOMAIN_ENUM@@QEAAXXZ
-; public: void __cdecl OS_ACL_SUBJECT_ITER::Reset(void) __ptr64
-?Reset@OS_ACL_SUBJECT_ITER@@QEAAXXZ
-; protected: void __cdecl LSA_OBJECT::ResetHandle(void) __ptr64
-?ResetHandle@LSA_OBJECT@@IEAAXXZ
-; protected: void __cdecl SAM_OBJECT::ResetHandle(void) __ptr64
-?ResetHandle@SAM_OBJECT@@IEAAXXZ
-; protected: long __cdecl OS_OBJECT_WITH_DATA::Resize(unsigned int) __ptr64
-?Resize@OS_OBJECT_WITH_DATA@@IEAAJI@Z
-; protected: long __cdecl NEW_LM_OBJ::ResizeBuffer(unsigned int) __ptr64
-?ResizeBuffer@NEW_LM_OBJ@@IEAAJI@Z
-; public: long __cdecl LM_MESSAGE::SendBuffer(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
-?SendBuffer@LM_MESSAGE@@QEAAJPEBG0I@Z
-; public: long __cdecl LM_MESSAGE::SendBuffer(unsigned short const * __ptr64,class BUFFER const & __ptr64) __ptr64
-?SendBuffer@LM_MESSAGE@@QEAAJPEBGAEBVBUFFER@@@Z
-; public: long __cdecl LOCATION::Set(class LOCATION const & __ptr64) __ptr64
-?Set@LOCATION@@QEAAJAEBV1@@Z
-; public: virtual void __cdecl LSA_MEMORY::Set(void * __ptr64,unsigned long) __ptr64
-?Set@LSA_MEMORY@@UEAAXPEAXK@Z
-; public: virtual void __cdecl NT_MEMORY::Set(void * __ptr64,unsigned long) __ptr64
-?Set@NT_MEMORY@@UEAAXPEAXK@Z
-; public: virtual void __cdecl SAM_MEMORY::Set(void * __ptr64,unsigned long) __ptr64
-?Set@SAM_MEMORY@@UEAAXPEAXK@Z
-; private: long __cdecl NET_NAME::SetABSPath(unsigned short const * __ptr64) __ptr64
-?SetABSPath@NET_NAME@@AEAAJPEBG@Z
-; public: void __cdecl OS_ACE::SetAccessMask(unsigned long) __ptr64
-?SetAccessMask@OS_ACE@@QEAAXK@Z
-; public: long __cdecl USER_2::SetAccountDisabled(int) __ptr64
-?SetAccountDisabled@USER_2@@QEAAJH@Z
-; public: long __cdecl LSA_POLICY::SetAccountDomain(class LSA_ACCT_DOM_INFO_MEM const * __ptr64) __ptr64
-?SetAccountDomain@LSA_POLICY@@QEAAJPEBVLSA_ACCT_DOM_INFO_MEM@@@Z
-; public: long __cdecl LSA_POLICY::SetAccountDomainName(class NLS_STR const * __ptr64,void * __ptr64 const * __ptr64) __ptr64
-?SetAccountDomainName@LSA_POLICY@@QEAAJPEBVNLS_STR@@PEBQEAX@Z
-; public: long __cdecl USER_2::SetAccountExpires(long) __ptr64
-?SetAccountExpires@USER_2@@QEAAJJ@Z
-; public: long __cdecl USER_3::SetAccountType(enum _ACCOUNT_TYPE) __ptr64
-?SetAccountType@USER_3@@QEAAJW4_ACCOUNT_TYPE@@@Z
-; protected: void __cdecl SHARE_1::SetAdminOnly(int) __ptr64
-?SetAdminOnly@SHARE_1@@IEAAXH@Z
-; public: long __cdecl LSA_POLICY::SetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM * __ptr64) __ptr64
-?SetAuditEventInfo@LSA_POLICY@@QEAAJPEAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
-; public: long __cdecl NET_ACCESS_1::SetAuditFlags(short) __ptr64
-?SetAuditFlags@NET_ACCESS_1@@QEAAJF@Z
-; public: long __cdecl USER_11::SetAuthFlags(unsigned long) __ptr64
-?SetAuthFlags@USER_11@@QEAAJK@Z
-; protected: void __cdecl DEVICE::SetBufPtr(unsigned char * __ptr64) __ptr64
-?SetBufPtr@DEVICE@@IEAAXPEAE@Z
-; public: void __cdecl ALIAS_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const * __ptr64) __ptr64
-?SetBufferPtr@ALIAS_ENUM_OBJ@@QEAAXPEBU_SAM_RID_ENUMERATION@@@Z
-; public: void __cdecl CHARDEVQ1_ENUM_OBJ::SetBufferPtr(struct _CHARDEVQ_INFO_1 const * __ptr64) __ptr64
-?SetBufferPtr@CHARDEVQ1_ENUM_OBJ@@QEAAXPEBU_CHARDEVQ_INFO_1@@@Z
-; public: void __cdecl CONN0_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_0 const * __ptr64) __ptr64
-?SetBufferPtr@CONN0_ENUM_OBJ@@QEAAXPEBU_CONNECTION_INFO_0@@@Z
-; public: void __cdecl CONN1_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_1 const * __ptr64) __ptr64
-?SetBufferPtr@CONN1_ENUM_OBJ@@QEAAXPEBU_CONNECTION_INFO_1@@@Z
-; public: void __cdecl CONTEXT_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const * __ptr64) __ptr64
-?SetBufferPtr@CONTEXT_ENUM_OBJ@@QEAAXPEBU_SERVER_INFO_101@@@Z
-; public: void __cdecl DOMAIN0_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_100 const * __ptr64) __ptr64
-?SetBufferPtr@DOMAIN0_ENUM_OBJ@@QEAAXPEBU_SERVER_INFO_100@@@Z
-; protected: void __cdecl ENUM_OBJ_BASE::SetBufferPtr(unsigned char const * __ptr64) __ptr64
-?SetBufferPtr@ENUM_OBJ_BASE@@IEAAXPEBE@Z
-; public: void __cdecl FILE2_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_2 const * __ptr64) __ptr64
-?SetBufferPtr@FILE2_ENUM_OBJ@@QEAAXPEBU_FILE_INFO_2@@@Z
-; public: void __cdecl FILE3_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_3 const * __ptr64) __ptr64
-?SetBufferPtr@FILE3_ENUM_OBJ@@QEAAXPEBU_FILE_INFO_3@@@Z
-; public: void __cdecl GROUP0_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_0 const * __ptr64) __ptr64
-?SetBufferPtr@GROUP0_ENUM_OBJ@@QEAAXPEBU_GROUP_INFO_0@@@Z
-; public: void __cdecl GROUP1_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_1 const * __ptr64) __ptr64
-?SetBufferPtr@GROUP1_ENUM_OBJ@@QEAAXPEBU_GROUP_INFO_1@@@Z
-; public: void __cdecl LSA_ACCOUNTS_ENUM_OBJ::SetBufferPtr(void * __ptr64 const * __ptr64) __ptr64
-?SetBufferPtr@LSA_ACCOUNTS_ENUM_OBJ@@QEAAXPEBQEAX@Z
-; public: void __cdecl LSA_PRIVILEGES_ENUM_OBJ::SetBufferPtr(struct _POLICY_PRIVILEGE_DEFINITION const * __ptr64) __ptr64
-?SetBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QEAAXPEBU_POLICY_PRIVILEGE_DEFINITION@@@Z
-; protected: void __cdecl NEW_LM_OBJ::SetBufferPtr(unsigned char * __ptr64) __ptr64
-?SetBufferPtr@NEW_LM_OBJ@@IEAAXPEAE@Z
-; public: void __cdecl NT_GROUP_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_GROUP const * __ptr64) __ptr64
-?SetBufferPtr@NT_GROUP_ENUM_OBJ@@QEAAXPEBU_DOMAIN_DISPLAY_GROUP@@@Z
-; public: void __cdecl NT_MACHINE_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_MACHINE const * __ptr64) __ptr64
-?SetBufferPtr@NT_MACHINE_ENUM_OBJ@@QEAAXPEBU_DOMAIN_DISPLAY_MACHINE@@@Z
-; public: void __cdecl NT_USER_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_USER const * __ptr64) __ptr64
-?SetBufferPtr@NT_USER_ENUM_OBJ@@QEAAXPEBU_DOMAIN_DISPLAY_USER@@@Z
-; public: void __cdecl SAM_USER_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const * __ptr64) __ptr64
-?SetBufferPtr@SAM_USER_ENUM_OBJ@@QEAAXPEBU_SAM_RID_ENUMERATION@@@Z
-; public: void __cdecl SERVER1_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const * __ptr64) __ptr64
-?SetBufferPtr@SERVER1_ENUM_OBJ@@QEAAXPEBU_SERVER_INFO_101@@@Z
-; protected: void __cdecl SERVICE_ENUM_OBJ::SetBufferPtr(struct _ENUM_SVC_STATUS const * __ptr64) __ptr64
-?SetBufferPtr@SERVICE_ENUM_OBJ@@IEAAXPEBU_ENUM_SVC_STATUS@@@Z
-; public: void __cdecl SESSION0_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_0 const * __ptr64) __ptr64
-?SetBufferPtr@SESSION0_ENUM_OBJ@@QEAAXPEBU_SESSION_INFO_0@@@Z
-; public: void __cdecl SESSION1_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_1 const * __ptr64) __ptr64
-?SetBufferPtr@SESSION1_ENUM_OBJ@@QEAAXPEBU_SESSION_INFO_1@@@Z
-; public: void __cdecl SHARE1_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_1 const * __ptr64) __ptr64
-?SetBufferPtr@SHARE1_ENUM_OBJ@@QEAAXPEBU_SHARE_INFO_1@@@Z
-; public: void __cdecl SHARE2_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_2 const * __ptr64) __ptr64
-?SetBufferPtr@SHARE2_ENUM_OBJ@@QEAAXPEBU_SHARE_INFO_2@@@Z
-; public: void __cdecl TRIPLE_SERVER_ENUM_OBJ::SetBufferPtr(struct _TRIPLE_SERVER_INFO const * __ptr64) __ptr64
-?SetBufferPtr@TRIPLE_SERVER_ENUM_OBJ@@QEAAXPEBU_TRIPLE_SERVER_INFO@@@Z
-; public: void __cdecl TRUSTED_DOMAIN_ENUM_OBJ::SetBufferPtr(struct _LSA_TRUST_INFORMATION const * __ptr64) __ptr64
-?SetBufferPtr@TRUSTED_DOMAIN_ENUM_OBJ@@QEAAXPEBU_LSA_TRUST_INFORMATION@@@Z
-; public: void __cdecl USE1_ENUM_OBJ::SetBufferPtr(struct _USE_INFO_1 const * __ptr64) __ptr64
-?SetBufferPtr@USE1_ENUM_OBJ@@QEAAXPEBU_USE_INFO_1@@@Z
-; public: void __cdecl USER0_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_0 const * __ptr64) __ptr64
-?SetBufferPtr@USER0_ENUM_OBJ@@QEAAXPEBU_USER_INFO_0@@@Z
-; public: void __cdecl USER10_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_10 const * __ptr64) __ptr64
-?SetBufferPtr@USER10_ENUM_OBJ@@QEAAXPEBU_USER_INFO_10@@@Z
-; public: void __cdecl USER1_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_1 const * __ptr64) __ptr64
-?SetBufferPtr@USER1_ENUM_OBJ@@QEAAXPEBU_USER_INFO_1@@@Z
-; public: void __cdecl USER2_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_2 const * __ptr64) __ptr64
-?SetBufferPtr@USER2_ENUM_OBJ@@QEAAXPEBU_USER_INFO_2@@@Z
-; protected: long __cdecl LM_SESSION_2::SetClientType(unsigned short const * __ptr64) __ptr64
-?SetClientType@LM_SESSION_2@@IEAAJPEBG@Z
-; public: long __cdecl GROUP_1::SetComment(unsigned short const * __ptr64) __ptr64
-?SetComment@GROUP_1@@QEAAJPEBG@Z
-; public: long __cdecl SAM_ALIAS::SetComment(class NLS_STR const * __ptr64) __ptr64
-?SetComment@SAM_ALIAS@@QEAAJPEBVNLS_STR@@@Z
-; public: long __cdecl SERVER_1::SetComment(unsigned short const * __ptr64) __ptr64
-?SetComment@SERVER_1@@QEAAJPEBG@Z
-; public: long __cdecl SHARE_1::SetComment(unsigned short const * __ptr64) __ptr64
-?SetComment@SHARE_1@@QEAAJPEBG@Z
-; public: long __cdecl USER_11::SetComment(unsigned short const * __ptr64) __ptr64
-?SetComment@USER_11@@QEAAJPEBG@Z
-; public: long __cdecl LSA_TRUSTED_DOMAIN::SetControllerList(struct _TRUSTED_CONTROLLERS_INFO const & __ptr64) __ptr64
-?SetControllerList@LSA_TRUSTED_DOMAIN@@QEAAJAEBU_TRUSTED_CONTROLLERS_INFO@@@Z
-; public: long __cdecl LSA_TRUSTED_DOMAIN::SetControllerList(class LSA_REF_DOMAIN_MEM * __ptr64) __ptr64
-?SetControllerList@LSA_TRUSTED_DOMAIN@@QEAAJPEAVLSA_REF_DOMAIN_MEM@@@Z
-; protected: void __cdecl ENUM_CALLER::SetCount(unsigned int) __ptr64
-?SetCount@ENUM_CALLER@@IEAAXI@Z
-; protected: void __cdecl OS_ACL_SUBJECT_ITER::SetCurrentACE(unsigned long) __ptr64
-?SetCurrentACE@OS_ACL_SUBJECT_ITER@@IEAAXK@Z
-; protected: long __cdecl SHARE_2::SetCurrentUses(unsigned int) __ptr64
-?SetCurrentUses@SHARE_2@@IEAAJI@Z
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetDACL(int,class OS_ACL const * __ptr64,int) __ptr64
-?SetDACL@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_ACL@@H@Z
-; protected: void __cdecl DEVICE::SetDevState(enum LMO_DEV_STATE) __ptr64
-?SetDevState@DEVICE@@IEAAXW4LMO_DEV_STATE@@@Z
-; protected: void __cdecl DEVICE::SetDevType(enum LMO_DEVICE) __ptr64
-?SetDevType@DEVICE@@IEAAXW4LMO_DEVICE@@@Z
-; protected: long __cdecl DEVICE2::SetDomainName(unsigned short const * __ptr64) __ptr64
-?SetDomainName@DEVICE2@@IEAAJPEBG@Z
-; public: long __cdecl USER_MODALS_3::SetDuration(unsigned long) __ptr64
-?SetDuration@USER_MODALS_3@@QEAAJK@Z
-; protected: long __cdecl LM_FILE::SetFileId(unsigned long) __ptr64
-?SetFileId@LM_FILE@@IEAAJK@Z
-; public: long __cdecl USER_MODALS::SetForceLogoff(unsigned long) __ptr64
-?SetForceLogoff@USER_MODALS@@QEAAJK@Z
-; public: long __cdecl USER_11::SetFullName(unsigned short const * __ptr64) __ptr64
-?SetFullName@USER_11@@QEAAJPEBG@Z
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetGroup(class OS_SID const & __ptr64,int) __ptr64
-?SetGroup@OS_SECURITY_DESCRIPTOR@@QEAAJAEBVOS_SID@@H@Z
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetGroup(int,class OS_SID const * __ptr64,int) __ptr64
-?SetGroup@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_SID@@H@Z
-; public: long __cdecl SAM_GROUP::SetGroupname(class NLS_STR const * __ptr64) __ptr64
-?SetGroupname@SAM_GROUP@@QEAAJPEBVNLS_STR@@@Z
-; protected: void __cdecl LSA_OBJECT::SetHandle(void * __ptr64) __ptr64
-?SetHandle@LSA_OBJECT@@IEAAXPEAX@Z
-; protected: void __cdecl SAM_OBJECT::SetHandle(void * __ptr64) __ptr64
-?SetHandle@SAM_OBJECT@@IEAAXPEAX@Z
-; protected: void __cdecl SERVICE_CONTROL::SetHandle(struct SC_HANDLE__ * __ptr64) __ptr64
-?SetHandle@SERVICE_CONTROL@@IEAAXPEAUSC_HANDLE__@@@Z
-; public: long __cdecl USER_11::SetHomeDir(unsigned short const * __ptr64) __ptr64
-?SetHomeDir@USER_11@@QEAAJPEBG@Z
-; public: long __cdecl USER_3::SetHomedirDrive(unsigned short const * __ptr64) __ptr64
-?SetHomedirDrive@USER_3@@QEAAJPEBG@Z
-; protected: void __cdecl LM_SESSION_10::SetIdleTime(unsigned long) __ptr64
-?SetIdleTime@LM_SESSION_10@@IEAAXK@Z
-; protected: virtual void __cdecl DEVICE2::SetInfo(void) __ptr64
-?SetInfo@DEVICE2@@MEAAXXZ
-; protected: virtual void __cdecl DEVICE::SetInfo(void) __ptr64
-?SetInfo@DEVICE@@MEAAXXZ
-; public: long __cdecl LSA_SECRET::SetInfo(class NLS_STR const * __ptr64,class NLS_STR const * __ptr64) __ptr64
-?SetInfo@LSA_SECRET@@QEAAJPEBVNLS_STR@@0@Z
-; public: void __cdecl OS_ACE::SetInheritOnly(int) __ptr64
-?SetInheritOnly@OS_ACE@@QEAAXH@Z
-; public: long __cdecl USER_2::SetLockout(int) __ptr64
-?SetLockout@USER_2@@QEAAJH@Z
-; public: long __cdecl WKSTA_USER_1::SetLogonDomain(unsigned short const * __ptr64) __ptr64
-?SetLogonDomain@WKSTA_USER_1@@QEAAJPEBG@Z
-; public: long __cdecl USER_11::SetLogonHours(class LOGON_HOURS_SETTING const & __ptr64) __ptr64
-?SetLogonHours@USER_11@@QEAAJAEBVLOGON_HOURS_SETTING@@@Z
-; public: long __cdecl USER_11::SetLogonHours(unsigned char const * __ptr64,unsigned int) __ptr64
-?SetLogonHours@USER_11@@QEAAJPEBEI@Z
-; public: long __cdecl WKSTA_USER_1::SetLogonServer(unsigned short const * __ptr64) __ptr64
-?SetLogonServer@WKSTA_USER_1@@QEAAJPEBG@Z
-; public: void __cdecl OS_LUID_AND_ATTRIBUTES::SetLuidAndAttrib(struct _LUID_AND_ATTRIBUTES) __ptr64
-?SetLuidAndAttrib@OS_LUID_AND_ATTRIBUTES@@QEAAXU_LUID_AND_ATTRIBUTES@@@Z
-; protected: void __cdecl SERVER_1::SetMajorMinorVer(unsigned int,unsigned int) __ptr64
-?SetMajorMinorVer@SERVER_1@@IEAAXII@Z
-; public: long __cdecl USER_MODALS::SetMaxPasswdAge(unsigned long) __ptr64
-?SetMaxPasswdAge@USER_MODALS@@QEAAJK@Z
-; protected: void __cdecl SERVER_2::SetMaxUsers(unsigned int) __ptr64
-?SetMaxUsers@SERVER_2@@IEAAXI@Z
-; public: long __cdecl SHARE_2::SetMaxUses(unsigned int) __ptr64
-?SetMaxUses@SHARE_2@@QEAAJI@Z
-; public: long __cdecl USER_MODALS::SetMinPasswdAge(unsigned long) __ptr64
-?SetMinPasswdAge@USER_MODALS@@QEAAJK@Z
-; public: long __cdecl USER_MODALS::SetMinPasswdLen(unsigned int) __ptr64
-?SetMinPasswdLen@USER_MODALS@@QEAAJI@Z
-; public: long __cdecl COMPUTER::SetName(unsigned short const * __ptr64) __ptr64
-?SetName@COMPUTER@@QEAAJPEBG@Z
-; public: long __cdecl GROUP::SetName(unsigned short const * __ptr64) __ptr64
-?SetName@GROUP@@QEAAJPEBG@Z
-; public: long __cdecl GROUP_MEMB::SetName(unsigned short const * __ptr64) __ptr64
-?SetName@GROUP_MEMB@@QEAAJPEBG@Z
-; protected: long __cdecl LM_SERVICE::SetName(unsigned short const * __ptr64) __ptr64
-?SetName@LM_SERVICE@@IEAAJPEBG@Z
-; protected: long __cdecl LM_SESSION::SetName(unsigned short const * __ptr64) __ptr64
-?SetName@LM_SESSION@@IEAAJPEBG@Z
-; public: long __cdecl NET_ACCESS::SetName(unsigned short const * __ptr64) __ptr64
-?SetName@NET_ACCESS@@QEAAJPEBG@Z
-; protected: long __cdecl SHARE::SetName(unsigned short const * __ptr64) __ptr64
-?SetName@SHARE@@IEAAJPEBG@Z
-; public: long __cdecl USER::SetName(unsigned short const * __ptr64) __ptr64
-?SetName@USER@@QEAAJPEBG@Z
-; public: long __cdecl USER_MEMB::SetName(unsigned short const * __ptr64) __ptr64
-?SetName@USER_MEMB@@QEAAJPEBG@Z
-; public: void __cdecl SAM_PSWD_DOM_INFO_MEM::SetNoAnonChange(int) __ptr64
-?SetNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QEAAXH@Z
-; public: long __cdecl USER_2::SetNoPasswordExpire(int) __ptr64
-?SetNoPasswordExpire@USER_2@@QEAAJH@Z
-; protected: void __cdecl LM_SESSION_1::SetNumOpens(unsigned int) __ptr64
-?SetNumOpens@LM_SESSION_1@@IEAAXI@Z
-; public: long __cdecl USER_MODALS_3::SetObservation(unsigned long) __ptr64
-?SetObservation@USER_MODALS_3@@QEAAJK@Z
-; public: long __cdecl WKSTA_USER_1::SetOtherDomains(unsigned short const * __ptr64) __ptr64
-?SetOtherDomains@WKSTA_USER_1@@QEAAJPEBG@Z
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetOwner(class OS_SID const & __ptr64,int) __ptr64
-?SetOwner@OS_SECURITY_DESCRIPTOR@@QEAAJAEBVOS_SID@@H@Z
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetOwner(int,class OS_SID const * __ptr64,int) __ptr64
-?SetOwner@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_SID@@H@Z
-; public: long __cdecl USER_11::SetParms(unsigned short const * __ptr64) __ptr64
-?SetParms@USER_11@@QEAAJPEBG@Z
-; public: long __cdecl USER_MODALS::SetPasswdHistLen(unsigned int) __ptr64
-?SetPasswdHistLen@USER_MODALS@@QEAAJI@Z
-; public: long __cdecl SAM_USER::SetPassword(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64) __ptr64
-?SetPassword@SAM_USER@@QEAAJAEBVNLS_STR@@0@Z
-; public: long __cdecl SAM_USER::SetPassword(class NLS_STR const & __ptr64,int) __ptr64
-?SetPassword@SAM_USER@@QEAAJAEBVNLS_STR@@H@Z
-; public: long __cdecl SHARE_2::SetPassword(unsigned short const * __ptr64) __ptr64
-?SetPassword@SHARE_2@@QEAAJPEBG@Z
-; public: long __cdecl USER_2::SetPassword(unsigned short const * __ptr64) __ptr64
-?SetPassword@USER_2@@QEAAJPEBG@Z
-; public: long __cdecl USER_3::SetPasswordExpired(unsigned long) __ptr64
-?SetPasswordExpired@USER_3@@QEAAJK@Z
-; public: long __cdecl SAM_DOMAIN::SetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM const * __ptr64) __ptr64
-?SetPasswordInfo@SAM_DOMAIN@@QEAAJPEBVSAM_PSWD_DOM_INFO_MEM@@@Z
-; public: long __cdecl SHARE_2::SetPath(unsigned short const * __ptr64) __ptr64
-?SetPath@SHARE_2@@QEAAJPEBG@Z
-; public: long __cdecl NET_ACCESS_1::SetPerm(unsigned short const * __ptr64,enum PERMNAME_TYPE,unsigned int) __ptr64
-?SetPerm@NET_ACCESS_1@@QEAAJPEBGW4PERMNAME_TYPE@@I@Z
-; public: long __cdecl SHARE_2::SetPermissions(unsigned int) __ptr64
-?SetPermissions@SHARE_2@@QEAAJI@Z
-; public: long __cdecl LSA_TRUSTED_DOMAIN::SetPosixOffset(unsigned long) __ptr64
-?SetPosixOffset@LSA_TRUSTED_DOMAIN@@QEAAJK@Z
-; public: long __cdecl LSA_POLICY::SetPrimaryBrowserGroup(class NLS_STR const & __ptr64) __ptr64
-?SetPrimaryBrowserGroup@LSA_POLICY@@QEAAJAEBVNLS_STR@@@Z
-; public: long __cdecl LSA_POLICY::SetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM const * __ptr64) __ptr64
-?SetPrimaryDomain@LSA_POLICY@@QEAAJPEBVLSA_PRIMARY_DOM_INFO_MEM@@@Z
-; public: long __cdecl LSA_POLICY::SetPrimaryDomainName(class NLS_STR const * __ptr64,void * __ptr64 const * __ptr64) __ptr64
-?SetPrimaryDomainName@LSA_POLICY@@QEAAJPEBVNLS_STR@@PEBQEAX@Z
-; public: long __cdecl USER_3::SetPrimaryGroupId(unsigned long) __ptr64
-?SetPrimaryGroupId@USER_3@@QEAAJK@Z
-; public: long __cdecl USER_11::SetPriv(unsigned int) __ptr64
-?SetPriv@USER_11@@QEAAJI@Z
-; public: long __cdecl USER_3::SetProfile(unsigned short const * __ptr64) __ptr64
-?SetProfile@USER_3@@QEAAJPEBG@Z
-; public: long __cdecl OS_ACE::SetPtr(void * __ptr64) __ptr64
-?SetPtr@OS_ACE@@QEAAJPEAX@Z
-; public: void __cdecl OS_PRIVILEGE_SET::SetPtr(struct _PRIVILEGE_SET * __ptr64) __ptr64
-?SetPtr@OS_PRIVILEGE_SET@@QEAAXPEAU_PRIVILEGE_SET@@@Z
-; public: long __cdecl OS_SID::SetPtr(void * __ptr64) __ptr64
-?SetPtr@OS_SID@@QEAAJPEAX@Z
-; protected: void __cdecl DEVICE::SetRemoteName(unsigned short const * __ptr64) __ptr64
-?SetRemoteName@DEVICE@@IEAAXPEBG@Z
-; protected: void __cdecl DEVICE::SetRemoteType(unsigned int) __ptr64
-?SetRemoteType@DEVICE@@IEAAXI@Z
-; protected: long __cdecl SHARE_1::SetResourceType(unsigned int) __ptr64
-?SetResourceType@SHARE_1@@IEAAJI@Z
-; public: long __cdecl SHARE_2::SetResourceType(unsigned int) __ptr64
-?SetResourceType@SHARE_2@@QEAAJI@Z
-; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetSACL(int,class OS_ACL const * __ptr64,int) __ptr64
-?SetSACL@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_ACL@@H@Z
-; public: long __cdecl OS_ACE::SetSID(class OS_SID const & __ptr64) __ptr64
-?SetSID@OS_ACE@@QEAAJAEBVOS_SID@@@Z
-; public: long __cdecl USER_2::SetScriptPath(unsigned short const * __ptr64) __ptr64
-?SetScriptPath@USER_2@@QEAAJPEBG@Z
-; public: long __cdecl SC_SERVICE::SetSecurity(unsigned long,void * __ptr64 const) __ptr64
-?SetSecurity@SC_SERVICE@@QEAAJKQEAX@Z
-; protected: void __cdecl SERVER_2::SetSecurity(unsigned int) __ptr64
-?SetSecurity@SERVER_2@@IEAAXI@Z
-; protected: long __cdecl LM_FILE::SetServer(unsigned short const * __ptr64) __ptr64
-?SetServer@LM_FILE@@IEAAJPEBG@Z
-; protected: void __cdecl DEVICE::SetServerName(unsigned short const * __ptr64) __ptr64
-?SetServerName@DEVICE@@IEAAXPEBG@Z
-; protected: long __cdecl LM_SERVICE::SetServerName(unsigned short const * __ptr64) __ptr64
-?SetServerName@LM_SERVICE@@IEAAJPEBG@Z
-; public: long __cdecl NET_ACCESS::SetServerName(unsigned short const * __ptr64) __ptr64
-?SetServerName@NET_ACCESS@@QEAAJPEBG@Z
-; public: long __cdecl LSA_POLICY::SetServerRole(class LSA_SERVER_ROLE_INFO_MEM const * __ptr64) __ptr64
-?SetServerRole@LSA_POLICY@@QEAAJPEBVLSA_SERVER_ROLE_INFO_MEM@@@Z
-; protected: void __cdecl SERVER_1::SetServerType(unsigned long) __ptr64
-?SetServerType@SERVER_1@@IEAAXK@Z
-; public: long __cdecl LSA_POLICY::SetShutDownOnFull(int) __ptr64
-?SetShutDownOnFull@LSA_POLICY@@QEAAJH@Z
-; public: long __cdecl OS_ACE::SetSize(unsigned int) __ptr64
-?SetSize@OS_ACE@@QEAAJI@Z
-; protected: long __cdecl OS_ACL::SetSize(unsigned int,int) __ptr64
-?SetSize@OS_ACL@@IEAAJIH@Z
-; protected: void __cdecl DEVICE::SetStatus(unsigned int) __ptr64
-?SetStatus@DEVICE@@IEAAXI@Z
-; public: long __cdecl USER_MODALS_3::SetThreshold(unsigned long) __ptr64
-?SetThreshold@USER_MODALS_3@@QEAAJK@Z
-; protected: void __cdecl LM_SESSION_10::SetTime(unsigned long) __ptr64
-?SetTime@LM_SESSION_10@@IEAAXK@Z
-; private: long __cdecl NET_NAME::SetUNCPath(unsigned short const * __ptr64) __ptr64
-?SetUNCPath@NET_NAME@@AEAAJPEBG@Z
-; public: long __cdecl USER_2::SetUserCantChangePass(int) __ptr64
-?SetUserCantChangePass@USER_2@@QEAAJH@Z
-; public: long __cdecl USER_11::SetUserComment(unsigned short const * __ptr64) __ptr64
-?SetUserComment@USER_11@@QEAAJPEBG@Z
-; protected: long __cdecl USER_2::SetUserFlag(int,unsigned int) __ptr64
-?SetUserFlag@USER_2@@IEAAJHI@Z
-; protected: void __cdecl LM_SESSION_1::SetUserFlags(unsigned long) __ptr64
-?SetUserFlags@LM_SESSION_1@@IEAAXK@Z
-; public: long __cdecl USER_2::SetUserFlags(unsigned int) __ptr64
-?SetUserFlags@USER_2@@QEAAJI@Z
-; protected: long __cdecl USER_3::SetUserId(unsigned long) __ptr64
-?SetUserId@USER_3@@IEAAJK@Z
-; public: long __cdecl WKSTA_USER_1::SetUserName(unsigned short const * __ptr64) __ptr64
-?SetUserName@WKSTA_USER_1@@QEAAJPEBG@Z
-; public: long __cdecl USER_2::SetUserPassRequired(int) __ptr64
-?SetUserPassRequired@USER_2@@QEAAJH@Z
-; protected: long __cdecl DEVICE2::SetUsername(unsigned short const * __ptr64) __ptr64
-?SetUsername@DEVICE2@@IEAAJPEBG@Z
-; protected: long __cdecl LM_SESSION_10::SetUsername(unsigned short const * __ptr64) __ptr64
-?SetUsername@LM_SESSION_10@@IEAAJPEBG@Z
-; public: long __cdecl SAM_USER::SetUsername(class NLS_STR const * __ptr64) __ptr64
-?SetUsername@SAM_USER@@QEAAJPEBVNLS_STR@@@Z
-; public: long __cdecl LM_CONFIG::SetValue(class NLS_STR * __ptr64) __ptr64
-?SetValue@LM_CONFIG@@QEAAJPEAVNLS_STR@@@Z
-; public: long __cdecl USER_11::SetWorkstations(unsigned short const * __ptr64) __ptr64
-?SetWorkstations@USER_11@@QEAAJPEBG@Z
-; protected: long __cdecl SHARE_2::SetWriteBuffer(int) __ptr64
-?SetWriteBuffer@SHARE_2@@IEAAJH@Z
-; void __cdecl SkipWhiteSpace(unsigned short * __ptr64 * __ptr64)
-?SkipWhiteSpace@@YAXPEAPEAG@Z
-; public: void __cdecl DOMAIN0_ENUM::Sort(void) __ptr64
-?Sort@DOMAIN0_ENUM@@QEAAXXZ
-; public: long __cdecl LM_SERVICE::Start(unsigned short const * __ptr64,unsigned int,unsigned int) __ptr64
-?Start@LM_SERVICE@@QEAAJPEBGII@Z
-; public: long __cdecl SC_SERVICE::Start(unsigned int,unsigned short const * __ptr64 * __ptr64) __ptr64
-?Start@SC_SERVICE@@QEAAJIPEAPEBG@Z
-; public: long __cdecl LM_SERVICE::Stop(unsigned int,unsigned int) __ptr64
-?Stop@LM_SERVICE@@QEAAJII@Z
-; protected: long __cdecl LSA_POLICY::TcharArrayToUnistrArray(unsigned short const * __ptr64 const * __ptr64,struct _UNICODE_STRING * __ptr64,unsigned long) __ptr64
-?TcharArrayToUnistrArray@LSA_POLICY@@IEAAJPEBQEBGPEAU_UNICODE_STRING@@K@Z
-; public: long __cdecl SAM_DOMAIN::TranslateNamesToRids(unsigned short const * __ptr64 const * __ptr64,unsigned long,class SAM_RID_MEM * __ptr64,class SAM_SID_NAME_USE_MEM * __ptr64)const  __ptr64
-?TranslateNamesToRids@SAM_DOMAIN@@QEBAJPEBQEBGKPEAVSAM_RID_MEM@@PEAVSAM_SID_NAME_USE_MEM@@@Z
-; public: long __cdecl LSA_POLICY::TranslateNamesToSids(unsigned short const * __ptr64 const * __ptr64,unsigned long,class LSA_TRANSLATED_SID_MEM * __ptr64,class LSA_REF_DOMAIN_MEM * __ptr64) __ptr64
-?TranslateNamesToSids@LSA_POLICY@@QEAAJPEBQEBGKPEAVLSA_TRANSLATED_SID_MEM@@PEAVLSA_REF_DOMAIN_MEM@@@Z
-; public: long __cdecl LSA_POLICY::TranslateSidsToNames(void * __ptr64 const * __ptr64,unsigned long,class LSA_TRANSLATED_NAME_MEM * __ptr64,class LSA_REF_DOMAIN_MEM * __ptr64) __ptr64
-?TranslateSidsToNames@LSA_POLICY@@QEAAJPEBQEAXKPEAVLSA_TRANSLATED_NAME_MEM@@PEAVLSA_REF_DOMAIN_MEM@@@Z
-; public: long __cdecl OS_SID::TrimLastSubAuthority(unsigned long * __ptr64) __ptr64
-?TrimLastSubAuthority@OS_SID@@QEAAJPEAK@Z
-; public: long __cdecl USER_11::TrimParams(void) __ptr64
-?TrimParams@USER_11@@QEAAJXZ
-; public: long __cdecl LSA_POLICY::TrustDomain(class LSA_POLICY & __ptr64,class NLS_STR const & __ptr64,int,unsigned short const * __ptr64) __ptr64
-?TrustDomain@LSA_POLICY@@QEAAJAEAV1@AEBVNLS_STR@@HPEBG@Z
-; public: long __cdecl LSA_POLICY::TrustDomain(class NLS_STR const & __ptr64,void * __ptr64 const,class NLS_STR const & __ptr64,int,unsigned short const * __ptr64,int) __ptr64
-?TrustDomain@LSA_POLICY@@QEAAJAEBVNLS_STR@@QEAX0HPEBGH@Z
-; public: long __cdecl SC_MANAGER::Unlock(void) __ptr64
-?Unlock@SC_MANAGER@@QEAAJXZ
-; protected: long __cdecl OS_SECURITY_DESCRIPTOR::UpdateControl(void) __ptr64
-?UpdateControl@OS_SECURITY_DESCRIPTOR@@IEAAJXZ
-; protected: long __cdecl OS_SECURITY_DESCRIPTOR::UpdateReferencedSecurityObject(class OS_OBJECT_WITH_DATA * __ptr64) __ptr64
-?UpdateReferencedSecurityObject@OS_SECURITY_DESCRIPTOR@@IEAAJPEAVOS_OBJECT_WITH_DATA@@@Z
-; public: long __cdecl ADMIN_AUTHORITY::UpgradeAccountDomain(unsigned long) __ptr64
-?UpgradeAccountDomain@ADMIN_AUTHORITY@@QEAAJK@Z
-; public: long __cdecl ADMIN_AUTHORITY::UpgradeBuiltinDomain(unsigned long) __ptr64
-?UpgradeBuiltinDomain@ADMIN_AUTHORITY@@QEAAJK@Z
-; public: long __cdecl ADMIN_AUTHORITY::UpgradeLSAPolicy(unsigned long) __ptr64
-?UpgradeLSAPolicy@ADMIN_AUTHORITY@@QEAAJK@Z
-; public: long __cdecl ADMIN_AUTHORITY::UpgradeSamServer(unsigned long) __ptr64
-?UpgradeSamServer@ADMIN_AUTHORITY@@QEAAJK@Z
-; private: long __cdecl COMPUTER::ValidateName(unsigned short const * __ptr64) __ptr64
-?ValidateName@COMPUTER@@AEAAJPEBG@Z
-; protected: virtual long __cdecl DEVICE::ValidateName(void) __ptr64
-?ValidateName@DEVICE@@MEAAJXZ
-; protected: virtual long __cdecl DOMAIN::ValidateName(void) __ptr64
-?ValidateName@DOMAIN@@MEAAJXZ
-; protected: virtual long __cdecl LM_OBJ::ValidateName(void) __ptr64
-?ValidateName@LM_OBJ@@MEAAJXZ
-; public: static long __cdecl NT_ACCOUNTS_UTILITY::ValidateQualifiedAccountName(class NLS_STR const & __ptr64,int * __ptr64)
-?ValidateQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJAEBVNLS_STR@@PEAH@Z
-; public: long __cdecl LSA_POLICY::VerifyLsa(class LSA_PRIMARY_DOM_INFO_MEM * __ptr64,class NLS_STR const * __ptr64)const  __ptr64
-?VerifyLsa@LSA_POLICY@@QEBAJPEAVLSA_PRIMARY_DOM_INFO_MEM@@PEBVNLS_STR@@@Z
-; private: static long __cdecl NT_ACCOUNTS_UTILITY::W_BuildQualifiedAccountName(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,enum _SID_NAME_USE)
-?W_BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@CAJPEAVNLS_STR@@AEBV2@PEBV2@W4_SID_NAME_USE@@@Z
-; protected: virtual long __cdecl NEW_LM_OBJ::W_ChangeToNew(void) __ptr64
-?W_ChangeToNew@NEW_LM_OBJ@@MEAAJXZ
-; protected: long __cdecl ENUM_CALLER_LM_OBJ::W_CloneFrom(class ENUM_CALLER_LM_OBJ const & __ptr64) __ptr64
-?W_CloneFrom@ENUM_CALLER_LM_OBJ@@IEAAJAEBV1@@Z
-; protected: long __cdecl GROUP::W_CloneFrom(class GROUP const & __ptr64) __ptr64
-?W_CloneFrom@GROUP@@IEAAJAEBV1@@Z
-; protected: long __cdecl GROUP_1::W_CloneFrom(class GROUP_1 const & __ptr64) __ptr64
-?W_CloneFrom@GROUP_1@@IEAAJAEBV1@@Z
-; protected: long __cdecl LOC_LM_OBJ::W_CloneFrom(class LOC_LM_OBJ const & __ptr64) __ptr64
-?W_CloneFrom@LOC_LM_OBJ@@IEAAJAEBV1@@Z
-; protected: long __cdecl MEMBERSHIP_LM_OBJ::W_CloneFrom(class MEMBERSHIP_LM_OBJ const & __ptr64) __ptr64
-?W_CloneFrom@MEMBERSHIP_LM_OBJ@@IEAAJAEBV1@@Z
-; protected: long __cdecl NEW_LM_OBJ::W_CloneFrom(class NEW_LM_OBJ const & __ptr64) __ptr64
-?W_CloneFrom@NEW_LM_OBJ@@IEAAJAEBV1@@Z
-; protected: long __cdecl SHARE::W_CloneFrom(class SHARE const & __ptr64) __ptr64
-?W_CloneFrom@SHARE@@IEAAJAEBV1@@Z
-; protected: long __cdecl SHARE_1::W_CloneFrom(class SHARE_1 const & __ptr64) __ptr64
-?W_CloneFrom@SHARE_1@@IEAAJAEBV1@@Z
-; protected: long __cdecl SHARE_2::W_CloneFrom(class SHARE_2 const & __ptr64) __ptr64
-?W_CloneFrom@SHARE_2@@IEAAJAEBV1@@Z
-; protected: long __cdecl USER::W_CloneFrom(class USER const & __ptr64) __ptr64
-?W_CloneFrom@USER@@IEAAJAEBV1@@Z
-; protected: long __cdecl USER_11::W_CloneFrom(class USER_11 const & __ptr64) __ptr64
-?W_CloneFrom@USER_11@@IEAAJAEBV1@@Z
-; protected: long __cdecl USER_2::W_CloneFrom(class USER_2 const & __ptr64) __ptr64
-?W_CloneFrom@USER_2@@IEAAJAEBV1@@Z
-; protected: long __cdecl USER_3::W_CloneFrom(class USER_3 const & __ptr64) __ptr64
-?W_CloneFrom@USER_3@@IEAAJAEBV1@@Z
-; private: void __cdecl LM_SERVICE::W_ComputeOtherStatus(struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
-?W_ComputeOtherStatus@LM_SERVICE@@AEAAXPEAULM_SERVICE_OTHER_STATUS@@@Z
-; protected: virtual long __cdecl ENUM_CALLER_LM_OBJ::W_CreateNew(void) __ptr64
-?W_CreateNew@ENUM_CALLER_LM_OBJ@@MEAAJXZ
-; protected: virtual long __cdecl GROUP_1::W_CreateNew(void) __ptr64
-?W_CreateNew@GROUP_1@@MEAAJXZ
-; protected: virtual long __cdecl GROUP_MEMB::W_CreateNew(void) __ptr64
-?W_CreateNew@GROUP_MEMB@@MEAAJXZ
-; protected: virtual long __cdecl LSA_ACCOUNT::W_CreateNew(void) __ptr64
-?W_CreateNew@LSA_ACCOUNT@@MEAAJXZ
-; protected: virtual long __cdecl NEW_LM_OBJ::W_CreateNew(void) __ptr64
-?W_CreateNew@NEW_LM_OBJ@@MEAAJXZ
-; protected: virtual long __cdecl SHARE::W_CreateNew(void) __ptr64
-?W_CreateNew@SHARE@@MEAAJXZ
-; protected: virtual long __cdecl SHARE_1::W_CreateNew(void) __ptr64
-?W_CreateNew@SHARE_1@@MEAAJXZ
-; protected: virtual long __cdecl SHARE_2::W_CreateNew(void) __ptr64
-?W_CreateNew@SHARE_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_11::W_CreateNew(void) __ptr64
-?W_CreateNew@USER_11@@MEAAJXZ
-; protected: virtual long __cdecl USER_2::W_CreateNew(void) __ptr64
-?W_CreateNew@USER_2@@MEAAJXZ
-; protected: virtual long __cdecl USER_3::W_CreateNew(void) __ptr64
-?W_CreateNew@USER_3@@MEAAJXZ
-; protected: virtual long __cdecl USER_MEMB::W_CreateNew(void) __ptr64
-?W_CreateNew@USER_MEMB@@MEAAJXZ
-; protected: long __cdecl ENUM_CALLER::W_GetInfo(void) __ptr64
-?W_GetInfo@ENUM_CALLER@@IEAAJXZ
-; private: void __cdecl LM_SERVICE::W_InterpretStatus(struct _SERVICE_INFO_2 const * __ptr64,enum LM_SERVICE_STATUS * __ptr64,struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
-?W_InterpretStatus@LM_SERVICE@@AEAAXPEBU_SERVICE_INFO_2@@PEAW4LM_SERVICE_STATUS@@PEAULM_SERVICE_OTHER_STATUS@@@Z
-; private: int __cdecl LM_SERVICE::W_IsWellKnownService(void)const  __ptr64
-?W_IsWellKnownService@LM_SERVICE@@AEBAHXZ
-; private: long __cdecl LM_SERVICE::W_QueryStatus(enum LM_SERVICE_STATUS * __ptr64,struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
-?W_QueryStatus@LM_SERVICE@@AEAAJPEAW4LM_SERVICE_STATUS@@PEAULM_SERVICE_OTHER_STATUS@@@Z
-; private: long __cdecl LM_SERVICE::W_ServiceControl(unsigned int,unsigned int) __ptr64
-?W_ServiceControl@LM_SERVICE@@AEAAJII@Z
-; private: long __cdecl LM_SERVICE::W_ServiceStart(unsigned short const * __ptr64) __ptr64
-?W_ServiceStart@LM_SERVICE@@AEAAJPEBG@Z
-; private: long __cdecl LOCATION::W_Set(unsigned short const * __ptr64,enum LOCATION_TYPE,int) __ptr64
-?W_Set@LOCATION@@AEAAJPEBGW4LOCATION_TYPE@@H@Z
-; private: long __cdecl GROUP_1::W_Write(void) __ptr64
-?W_Write@GROUP_1@@AEAAJXZ
-; private: long __cdecl SERVER_1::W_Write(void) __ptr64
-?W_Write@SERVER_1@@AEAAJXZ
-; private: long __cdecl SERVER_2::W_Write(void) __ptr64
-?W_Write@SERVER_2@@AEAAJXZ
-; protected: long __cdecl USER_2::W_Write(void) __ptr64
-?W_Write@USER_2@@IEAAJXZ
-; protected: long __cdecl USER_3::W_Write(void) __ptr64
-?W_Write@USER_3@@IEAAJXZ
-; private: long __cdecl WKSTA_USER_1::W_Write(void) __ptr64
-?W_Write@WKSTA_USER_1@@AEAAJXZ
-; public: long __cdecl NEW_LM_OBJ::Write(void) __ptr64
-?Write@NEW_LM_OBJ@@QEAAJXZ
-; public: virtual long __cdecl DEVICE::WriteInfo(void) __ptr64
-?WriteInfo@DEVICE@@UEAAJXZ
-; public: virtual long __cdecl DOMAIN::WriteInfo(void) __ptr64
-?WriteInfo@DOMAIN@@UEAAJXZ
-; public: long __cdecl NEW_LM_OBJ::WriteInfo(void) __ptr64
-?WriteInfo@NEW_LM_OBJ@@QEAAJXZ
-; public: virtual long __cdecl USER_MODALS::WriteInfo(void) __ptr64
-?WriteInfo@USER_MODALS@@UEAAJXZ
-; public: virtual long __cdecl USER_MODALS_3::WriteInfo(void) __ptr64
-?WriteInfo@USER_MODALS_3@@UEAAJXZ
-; public: long __cdecl NEW_LM_OBJ::WriteNew(void) __ptr64
-?WriteNew@NEW_LM_OBJ@@QEAAJXZ
-; public: void __cdecl OS_ACE::_DbgPrint(void)const  __ptr64
-?_DbgPrint@OS_ACE@@QEBAXXZ
-; public: void __cdecl OS_ACL::_DbgPrint(void)const  __ptr64
-?_DbgPrint@OS_ACL@@QEBAXXZ
-; public: void __cdecl OS_SECURITY_DESCRIPTOR::_DbgPrint(void)const  __ptr64
-?_DbgPrint@OS_SECURITY_DESCRIPTOR@@QEBAXXZ
-; public: void __cdecl OS_SID::_DbgPrint(void)const  __ptr64
-?_DbgPrint@OS_SID@@QEBAXXZ
-; private: void __cdecl LM_ENUM::_DeregisterIter(void) __ptr64
-?_DeregisterIter@LM_ENUM@@AEAAXXZ
-; private: void __cdecl LM_RESUME_ENUM::_DeregisterIter(void) __ptr64
-?_DeregisterIter@LM_RESUME_ENUM@@AEAAXXZ
-; private: void __cdecl LM_ENUM::_RegisterIter(void) __ptr64
-?_RegisterIter@LM_ENUM@@AEAAXXZ
-; private: void __cdecl LM_RESUME_ENUM::_RegisterIter(void) __ptr64
-?_RegisterIter@LM_RESUME_ENUM@@AEAAXXZ
-DestroySession
-FreeArgv
-I_MNetComputerNameCompare
-I_MNetLogonControl
-I_MNetNameCanonicalize
-I_MNetNameCompare
-I_MNetNameValidate
-I_MNetPathCanonicalize
-I_MNetPathCompare
-I_MNetPathType
-IsSlowTransport
-MAllocMem
-MDosPrintQEnum
-MFreeMem
-MNetAccessAdd
-MNetAccessCheck
-MNetAccessDel
-MNetAccessEnum
-MNetAccessGetInfo
-MNetAccessGetUserPerms
-MNetAccessSetInfo
-MNetApiBufferAlloc
-MNetApiBufferFree
-MNetApiBufferReAlloc
-MNetApiBufferSize
-MNetAuditClear
-MNetAuditRead
-MNetAuditWrite
-MNetCharDevControl
-MNetCharDevGetInfo
-MNetCharDevQEnum
-MNetCharDevQGetInfo
-MNetCharDevQPurge
-MNetCharDevQPurgeSelf
-MNetCharDevQSetInfo
-MNetConfigGet
-MNetConfigGetAll
-MNetConfigSet
-MNetConnectionEnum
-MNetErrorLogClear
-MNetErrorLogRead
-MNetErrorLogWrite
-MNetFileClose
-MNetFileEnum
-MNetFileGetInfo
-MNetGetDCName
-MNetGroupAdd
-MNetGroupAddUser
-MNetGroupDel
-MNetGroupDelUser
-MNetGroupEnum
-MNetGroupGetInfo
-MNetGroupGetUsers
-MNetGroupSetInfo
-MNetGroupSetUsers
-MNetLocalGroupAddMember
-MNetLogonEnum
-MNetMessageBufferSend
-MNetRemoteTOD
-MNetServerDiskEnum
-MNetServerEnum
-MNetServerGetInfo
-MNetServerSetInfo
-MNetServiceControl
-MNetServiceEnum
-MNetServiceGetInfo
-MNetServiceInstall
-MNetSessionDel
-MNetSessionEnum
-MNetSessionGetInfo
-MNetShareAdd
-MNetShareCheck
-MNetShareDel
-MNetShareDelSticky
-MNetShareEnum
-MNetShareEnumSticky
-MNetShareGetInfo
-MNetShareSetInfo
-MNetUseAdd
-MNetUseDel
-MNetUseEnum
-MNetUseGetInfo
-MNetUserAdd
-MNetUserDel
-MNetUserEnum
-MNetUserGetGroups
-MNetUserGetInfo
-MNetUserModalsGet
-MNetUserModalsSet
-MNetUserPasswordSet
-MNetUserSetGroups
-MNetUserSetInfo
-MNetWkstaGetInfo
-MNetWkstaSetInfo
-MNetWkstaSetUID
-MNetWkstaUserEnum
-MNetWkstaUserGetInfo
-MakeArgvArgc
-SetupNormalSession
-SetupNullSession
-SetupSession
-SlowTransportWorkerThread
+; 
+; Exports of file NETUI1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETUI1.dll
+EXPORTS
+; public: __cdecl ADMIN_AUTHORITY::ADMIN_AUTHORITY(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64
+??0ADMIN_AUTHORITY@@QEAA@PEBGKKKKH@Z
+; public: __cdecl ALIAS_ENUM::ALIAS_ENUM(class SAM_DOMAIN & __ptr64,unsigned int) __ptr64
+??0ALIAS_ENUM@@QEAA@AEAVSAM_DOMAIN@@I@Z
+; public: __cdecl ALIAS_ENUM_ITER::ALIAS_ENUM_ITER(class ALIAS_ENUM & __ptr64) __ptr64
+??0ALIAS_ENUM_ITER@@QEAA@AEAVALIAS_ENUM@@@Z
+; public: __cdecl ALIAS_ENUM_OBJ::ALIAS_ENUM_OBJ(void) __ptr64
+??0ALIAS_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl ALIAS_STR::ALIAS_STR(unsigned short const * __ptr64) __ptr64
+??0ALIAS_STR@@QEAA@PEBG@Z
+; public: __cdecl ALLOC_STR::ALLOC_STR(unsigned short * __ptr64,unsigned int) __ptr64
+??0ALLOC_STR@@QEAA@PEAGI@Z
+; public: __cdecl API_SESSION::API_SESSION(unsigned short const * __ptr64,int) __ptr64
+??0API_SESSION@@QEAA@PEBGH@Z
+; protected: __cdecl BASE::BASE(void) __ptr64
+??0BASE@@IEAA@XZ
+; public: __cdecl BROWSE_DOMAIN_ENUM::BROWSE_DOMAIN_ENUM(unsigned long,unsigned long * __ptr64) __ptr64
+??0BROWSE_DOMAIN_ENUM@@QEAA@KPEAK@Z
+; public: __cdecl BROWSE_DOMAIN_INFO::BROWSE_DOMAIN_INFO(unsigned short const * __ptr64,unsigned long) __ptr64
+??0BROWSE_DOMAIN_INFO@@QEAA@PEBGK@Z
+; public: __cdecl CHARDEVQ1_ENUM::CHARDEVQ1_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CHARDEVQ1_ENUM@@QEAA@PEBG0@Z
+; public: __cdecl CHARDEVQ1_ENUM_ITER::CHARDEVQ1_ENUM_ITER(class CHARDEVQ1_ENUM & __ptr64) __ptr64
+??0CHARDEVQ1_ENUM_ITER@@QEAA@AEAVCHARDEVQ1_ENUM@@@Z
+; public: __cdecl CHARDEVQ1_ENUM_OBJ::CHARDEVQ1_ENUM_OBJ(void) __ptr64
+??0CHARDEVQ1_ENUM_OBJ@@QEAA@XZ
+; protected: __cdecl CHARDEVQ_ENUM::CHARDEVQ_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
+??0CHARDEVQ_ENUM@@IEAA@PEBG0I@Z
+; protected: __cdecl COMPUTER::COMPUTER(unsigned short const * __ptr64) __ptr64
+??0COMPUTER@@IEAA@PEBG@Z
+; public: __cdecl CONN0_ENUM::CONN0_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CONN0_ENUM@@QEAA@PEBG0@Z
+; public: __cdecl CONN0_ENUM_ITER::CONN0_ENUM_ITER(class CONN0_ENUM & __ptr64) __ptr64
+??0CONN0_ENUM_ITER@@QEAA@AEAVCONN0_ENUM@@@Z
+; public: __cdecl CONN0_ENUM_OBJ::CONN0_ENUM_OBJ(void) __ptr64
+??0CONN0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl CONN1_ENUM::CONN1_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CONN1_ENUM@@QEAA@PEBG0@Z
+; public: __cdecl CONN1_ENUM_ITER::CONN1_ENUM_ITER(class CONN1_ENUM & __ptr64) __ptr64
+??0CONN1_ENUM_ITER@@QEAA@AEAVCONN1_ENUM@@@Z
+; public: __cdecl CONN1_ENUM_OBJ::CONN1_ENUM_OBJ(void) __ptr64
+??0CONN1_ENUM_OBJ@@QEAA@XZ
+; protected: __cdecl CONN_ENUM::CONN_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
+??0CONN_ENUM@@IEAA@PEBG0I@Z
+; public: __cdecl CONTEXT_ENUM::CONTEXT_ENUM(unsigned long) __ptr64
+??0CONTEXT_ENUM@@QEAA@K@Z
+; public: __cdecl CONTEXT_ENUM_ITER::CONTEXT_ENUM_ITER(class CONTEXT_ENUM & __ptr64) __ptr64
+??0CONTEXT_ENUM_ITER@@QEAA@AEAVCONTEXT_ENUM@@@Z
+; public: __cdecl CONTEXT_ENUM_OBJ::CONTEXT_ENUM_OBJ(void) __ptr64
+??0CONTEXT_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl DEVICE2::DEVICE2(unsigned short const * __ptr64) __ptr64
+??0DEVICE2@@QEAA@PEBG@Z
+; public: __cdecl DEVICE::DEVICE(unsigned short const * __ptr64) __ptr64
+??0DEVICE@@QEAA@PEBG@Z
+; public: __cdecl DOMAIN0_ENUM::DOMAIN0_ENUM(unsigned short const * __ptr64) __ptr64
+??0DOMAIN0_ENUM@@QEAA@PEBG@Z
+; public: __cdecl DOMAIN0_ENUM_ITER::DOMAIN0_ENUM_ITER(class DOMAIN0_ENUM & __ptr64) __ptr64
+??0DOMAIN0_ENUM_ITER@@QEAA@AEAVDOMAIN0_ENUM@@@Z
+; public: __cdecl DOMAIN0_ENUM_OBJ::DOMAIN0_ENUM_OBJ(void) __ptr64
+??0DOMAIN0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl DOMAIN::DOMAIN(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+??0DOMAIN@@QEAA@PEBG0H@Z
+; public: __cdecl DOMAIN::DOMAIN(unsigned short const * __ptr64,int) __ptr64
+??0DOMAIN@@QEAA@PEBGH@Z
+; protected: __cdecl DOMAIN_ENUM::DOMAIN_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
+??0DOMAIN_ENUM@@IEAA@PEBGI@Z
+; public: __cdecl DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+??0DOMAIN_WITH_DC_CACHE@@QEAA@PEBG0H@Z
+; public: __cdecl DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const * __ptr64,int) __ptr64
+??0DOMAIN_WITH_DC_CACHE@@QEAA@PEBGH@Z
+; public: __cdecl ENUM_CALLER::ENUM_CALLER(void) __ptr64
+??0ENUM_CALLER@@QEAA@XZ
+; public: __cdecl ENUM_CALLER_LM_OBJ::ENUM_CALLER_LM_OBJ(class LOCATION const & __ptr64) __ptr64
+??0ENUM_CALLER_LM_OBJ@@QEAA@AEBVLOCATION@@@Z
+; protected: __cdecl ENUM_OBJ_BASE::ENUM_OBJ_BASE(void) __ptr64
+??0ENUM_OBJ_BASE@@IEAA@XZ
+; public: __cdecl FILE2_ENUM::FILE2_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0FILE2_ENUM@@QEAA@PEBG00@Z
+; public: __cdecl FILE2_ENUM_ITER::FILE2_ENUM_ITER(class FILE2_ENUM & __ptr64) __ptr64
+??0FILE2_ENUM_ITER@@QEAA@AEAVFILE2_ENUM@@@Z
+; public: __cdecl FILE2_ENUM_OBJ::FILE2_ENUM_OBJ(void) __ptr64
+??0FILE2_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl FILE3_ENUM::FILE3_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0FILE3_ENUM@@QEAA@PEBG00@Z
+; public: __cdecl FILE3_ENUM_ITER::FILE3_ENUM_ITER(class FILE3_ENUM & __ptr64) __ptr64
+??0FILE3_ENUM_ITER@@QEAA@AEAVFILE3_ENUM@@@Z
+; public: __cdecl FILE3_ENUM_OBJ::FILE3_ENUM_OBJ(void) __ptr64
+??0FILE3_ENUM_OBJ@@QEAA@XZ
+; protected: __cdecl FILE_ENUM::FILE_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
+??0FILE_ENUM@@IEAA@PEBG00I@Z
+; public: __cdecl GROUP0_ENUM::GROUP0_ENUM(class LOCATION const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0GROUP0_ENUM@@QEAA@AEBVLOCATION@@PEBG@Z
+; public: __cdecl GROUP0_ENUM::GROUP0_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0GROUP0_ENUM@@QEAA@PEBG0@Z
+; public: __cdecl GROUP0_ENUM::GROUP0_ENUM(enum LOCATION_TYPE,unsigned short const * __ptr64) __ptr64
+??0GROUP0_ENUM@@QEAA@W4LOCATION_TYPE@@PEBG@Z
+; public: __cdecl GROUP0_ENUM_ITER::GROUP0_ENUM_ITER(class GROUP0_ENUM & __ptr64) __ptr64
+??0GROUP0_ENUM_ITER@@QEAA@AEAVGROUP0_ENUM@@@Z
+; public: __cdecl GROUP0_ENUM_OBJ::GROUP0_ENUM_OBJ(void) __ptr64
+??0GROUP0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl GROUP1_ENUM::GROUP1_ENUM(class LOCATION const & __ptr64) __ptr64
+??0GROUP1_ENUM@@QEAA@AEBVLOCATION@@@Z
+; public: __cdecl GROUP1_ENUM::GROUP1_ENUM(unsigned short const * __ptr64) __ptr64
+??0GROUP1_ENUM@@QEAA@PEBG@Z
+; public: __cdecl GROUP1_ENUM::GROUP1_ENUM(enum LOCATION_TYPE) __ptr64
+??0GROUP1_ENUM@@QEAA@W4LOCATION_TYPE@@@Z
+; public: __cdecl GROUP1_ENUM_ITER::GROUP1_ENUM_ITER(class GROUP1_ENUM & __ptr64) __ptr64
+??0GROUP1_ENUM_ITER@@QEAA@AEAVGROUP1_ENUM@@@Z
+; public: __cdecl GROUP1_ENUM_OBJ::GROUP1_ENUM_OBJ(void) __ptr64
+??0GROUP1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl GROUP::GROUP(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0GROUP@@QEAA@PEBG0@Z
+; public: __cdecl GROUP::GROUP(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0GROUP@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl GROUP::GROUP(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0GROUP@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl GROUP_0::GROUP_0(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0GROUP_0@@QEAA@PEBG0@Z
+; public: __cdecl GROUP_0::GROUP_0(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0GROUP_0@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl GROUP_0::GROUP_0(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0GROUP_0@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl GROUP_1::GROUP_1(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0GROUP_1@@QEAA@PEBG0@Z
+; public: __cdecl GROUP_1::GROUP_1(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0GROUP_1@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl GROUP_1::GROUP_1(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0GROUP_1@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; protected: __cdecl GROUP_ENUM::GROUP_ENUM(class LOCATION const & __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
+??0GROUP_ENUM@@IEAA@AEBVLOCATION@@IPEBG@Z
+; protected: __cdecl GROUP_ENUM::GROUP_ENUM(unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
+??0GROUP_ENUM@@IEAA@PEBGI0@Z
+; protected: __cdecl GROUP_ENUM::GROUP_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const * __ptr64) __ptr64
+??0GROUP_ENUM@@IEAA@W4LOCATION_TYPE@@IPEBG@Z
+; public: __cdecl GROUP_MEMB::GROUP_MEMB(class LOCATION const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0GROUP_MEMB@@QEAA@AEBVLOCATION@@PEBG@Z
+; public: __cdecl ITER_DEVICE::ITER_DEVICE(enum LMO_DEVICE,enum LMO_DEV_USAGE) __ptr64
+??0ITER_DEVICE@@QEAA@W4LMO_DEVICE@@W4LMO_DEV_USAGE@@@Z
+; public: __cdecl ITER_SL_BROWSE_DOMAIN_INFO::ITER_SL_BROWSE_DOMAIN_INFO(class SLIST & __ptr64) __ptr64
+??0ITER_SL_BROWSE_DOMAIN_INFO@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl ITER_SL_LM_RESUME_BUFFER::ITER_SL_LM_RESUME_BUFFER(class SLIST & __ptr64) __ptr64
+??0ITER_SL_LM_RESUME_BUFFER@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl LM_CONFIG::LM_CONFIG(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0LM_CONFIG@@QEAA@PEBG00@Z
+; protected: __cdecl LM_ENUM::LM_ENUM(unsigned int) __ptr64
+??0LM_ENUM@@IEAA@I@Z
+; protected: __cdecl LM_ENUM_ITER::LM_ENUM_ITER(class LM_ENUM & __ptr64) __ptr64
+??0LM_ENUM_ITER@@IEAA@AEAVLM_ENUM@@@Z
+; protected: __cdecl LM_FILE::LM_FILE(unsigned short const * __ptr64,unsigned long) __ptr64
+??0LM_FILE@@IEAA@PEBGK@Z
+; public: __cdecl LM_FILE_2::LM_FILE_2(unsigned short const * __ptr64,unsigned long) __ptr64
+??0LM_FILE_2@@QEAA@PEBGK@Z
+; public: __cdecl LM_FILE_3::LM_FILE_3(unsigned short const * __ptr64,unsigned long) __ptr64
+??0LM_FILE_3@@QEAA@PEBGK@Z
+; public: __cdecl LM_MESSAGE::LM_MESSAGE(class LOCATION & __ptr64) __ptr64
+??0LM_MESSAGE@@QEAA@AEAVLOCATION@@@Z
+; public: __cdecl LM_MESSAGE::LM_MESSAGE(unsigned short const * __ptr64) __ptr64
+??0LM_MESSAGE@@QEAA@PEBG@Z
+; public: __cdecl LM_MESSAGE::LM_MESSAGE(enum LOCATION_TYPE) __ptr64
+??0LM_MESSAGE@@QEAA@W4LOCATION_TYPE@@@Z
+; public: __cdecl LM_OBJ::LM_OBJ(void) __ptr64
+??0LM_OBJ@@QEAA@XZ
+; protected: __cdecl LM_OBJ_BASE::LM_OBJ_BASE(int) __ptr64
+??0LM_OBJ_BASE@@IEAA@H@Z
+; public: __cdecl LM_RESUME_BUFFER::LM_RESUME_BUFFER(class LM_RESUME_ENUM * __ptr64,unsigned int,unsigned char * __ptr64) __ptr64
+??0LM_RESUME_BUFFER@@QEAA@PEAVLM_RESUME_ENUM@@IPEAE@Z
+; protected: __cdecl LM_RESUME_ENUM::LM_RESUME_ENUM(unsigned int,int) __ptr64
+??0LM_RESUME_ENUM@@IEAA@IH@Z
+; protected: __cdecl LM_RESUME_ENUM_ITER::LM_RESUME_ENUM_ITER(class LM_RESUME_ENUM & __ptr64) __ptr64
+??0LM_RESUME_ENUM_ITER@@IEAA@AEAVLM_RESUME_ENUM@@@Z
+; public: __cdecl LM_SERVICE::LM_SERVICE(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0LM_SERVICE@@QEAA@PEBG0@Z
+; protected: __cdecl LM_SESSION::LM_SESSION(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0LM_SESSION@@IEAA@PEBG0@Z
+; protected: __cdecl LM_SESSION::LM_SESSION(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0LM_SESSION@@IEAA@PEBGAEBVLOCATION@@@Z
+; protected: __cdecl LM_SESSION::LM_SESSION(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0LM_SESSION@@IEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl LM_SESSION_0::LM_SESSION_0(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0LM_SESSION_0@@QEAA@PEBG0@Z
+; public: __cdecl LM_SESSION_0::LM_SESSION_0(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0LM_SESSION_0@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl LM_SESSION_0::LM_SESSION_0(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0LM_SESSION_0@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl LM_SESSION_10::LM_SESSION_10(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0LM_SESSION_10@@QEAA@PEBG0@Z
+; public: __cdecl LM_SESSION_10::LM_SESSION_10(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0LM_SESSION_10@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl LM_SESSION_10::LM_SESSION_10(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0LM_SESSION_10@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl LM_SESSION_1::LM_SESSION_1(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0LM_SESSION_1@@QEAA@PEBG0@Z
+; public: __cdecl LM_SESSION_1::LM_SESSION_1(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0LM_SESSION_1@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl LM_SESSION_1::LM_SESSION_1(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0LM_SESSION_1@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl LM_SESSION_2::LM_SESSION_2(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0LM_SESSION_2@@QEAA@PEBG0@Z
+; public: __cdecl LM_SESSION_2::LM_SESSION_2(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0LM_SESSION_2@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl LM_SESSION_2::LM_SESSION_2(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0LM_SESSION_2@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl LM_SRVRES::LM_SRVRES(void) __ptr64
+??0LM_SRVRES@@QEAA@XZ
+; public: __cdecl LOCAL_USER::LOCAL_USER(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0LOCAL_USER@@QEAA@PEBG0@Z
+; public: __cdecl LOCAL_USER::LOCAL_USER(enum LOCATION_TYPE) __ptr64
+??0LOCAL_USER@@QEAA@W4LOCATION_TYPE@@@Z
+; public: __cdecl LOCATION::LOCATION(class LOCATION const & __ptr64) __ptr64
+??0LOCATION@@QEAA@AEBV0@@Z
+; public: __cdecl LOCATION::LOCATION(unsigned short const * __ptr64,int) __ptr64
+??0LOCATION@@QEAA@PEBGH@Z
+; public: __cdecl LOCATION::LOCATION(enum LOCATION_TYPE,int) __ptr64
+??0LOCATION@@QEAA@W4LOCATION_TYPE@@H@Z
+; protected: __cdecl LOC_LM_ENUM::LOC_LM_ENUM(class LOCATION const & __ptr64,unsigned int) __ptr64
+??0LOC_LM_ENUM@@IEAA@AEBVLOCATION@@I@Z
+; protected: __cdecl LOC_LM_ENUM::LOC_LM_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
+??0LOC_LM_ENUM@@IEAA@PEBGI@Z
+; protected: __cdecl LOC_LM_ENUM::LOC_LM_ENUM(enum LOCATION_TYPE,unsigned int) __ptr64
+??0LOC_LM_ENUM@@IEAA@W4LOCATION_TYPE@@I@Z
+; public: __cdecl LOC_LM_OBJ::LOC_LM_OBJ(class LOCATION const & __ptr64,int) __ptr64
+??0LOC_LM_OBJ@@QEAA@AEBVLOCATION@@H@Z
+; public: __cdecl LOC_LM_OBJ::LOC_LM_OBJ(unsigned short const * __ptr64,int) __ptr64
+??0LOC_LM_OBJ@@QEAA@PEBGH@Z
+; public: __cdecl LOC_LM_OBJ::LOC_LM_OBJ(enum LOCATION_TYPE,int) __ptr64
+??0LOC_LM_OBJ@@QEAA@W4LOCATION_TYPE@@H@Z
+; protected: __cdecl LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(class LOCATION const & __ptr64,unsigned int,int) __ptr64
+??0LOC_LM_RESUME_ENUM@@IEAA@AEBVLOCATION@@IH@Z
+; protected: __cdecl LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(unsigned short const * __ptr64,unsigned int,int) __ptr64
+??0LOC_LM_RESUME_ENUM@@IEAA@PEBGIH@Z
+; protected: __cdecl LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(enum LOCATION_TYPE,unsigned int,int) __ptr64
+??0LOC_LM_RESUME_ENUM@@IEAA@W4LOCATION_TYPE@@IH@Z
+; public: __cdecl LSA_ACCOUNT::LSA_ACCOUNT(class LSA_POLICY * __ptr64,void * __ptr64,unsigned long,unsigned short const * __ptr64,void * __ptr64) __ptr64
+??0LSA_ACCOUNT@@QEAA@PEAVLSA_POLICY@@PEAXKPEBG1@Z
+; public: __cdecl LSA_ACCOUNTS_ENUM::LSA_ACCOUNTS_ENUM(class LSA_POLICY const * __ptr64) __ptr64
+??0LSA_ACCOUNTS_ENUM@@QEAA@PEBVLSA_POLICY@@@Z
+; public: __cdecl LSA_ACCOUNTS_ENUM_ITER::LSA_ACCOUNTS_ENUM_ITER(class LSA_ACCOUNTS_ENUM & __ptr64) __ptr64
+??0LSA_ACCOUNTS_ENUM_ITER@@QEAA@AEAVLSA_ACCOUNTS_ENUM@@@Z
+; public: __cdecl LSA_ACCOUNTS_ENUM_OBJ::LSA_ACCOUNTS_ENUM_OBJ(void) __ptr64
+??0LSA_ACCOUNTS_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(class OS_PRIVILEGE_SET * __ptr64) __ptr64
+??0LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QEAA@PEAVOS_PRIVILEGE_SET@@@Z
+; public: __cdecl LSA_ACCT_DOM_INFO_MEM::LSA_ACCT_DOM_INFO_MEM(int) __ptr64
+??0LSA_ACCT_DOM_INFO_MEM@@QEAA@H@Z
+; public: __cdecl LSA_AUDIT_EVENT_INFO_MEM::LSA_AUDIT_EVENT_INFO_MEM(int) __ptr64
+??0LSA_AUDIT_EVENT_INFO_MEM@@QEAA@H@Z
+; public: __cdecl LSA_DOMAIN_INFO::LSA_DOMAIN_INFO(class NLS_STR const & __ptr64,class LSA_DOMAIN_INFO const * __ptr64,class LSA_DOMAIN_INFO const * __ptr64) __ptr64
+??0LSA_DOMAIN_INFO@@QEAA@AEBVNLS_STR@@PEBV1@1@Z
+; protected: __cdecl LSA_ENUM::LSA_ENUM(class LSA_POLICY const * __ptr64) __ptr64
+??0LSA_ENUM@@IEAA@PEBVLSA_POLICY@@@Z
+; protected: __cdecl LSA_MEMORY::LSA_MEMORY(int) __ptr64
+??0LSA_MEMORY@@IEAA@H@Z
+; protected: __cdecl LSA_OBJECT::LSA_OBJECT(void) __ptr64
+??0LSA_OBJECT@@IEAA@XZ
+; public: __cdecl LSA_POLICY::LSA_POLICY(unsigned short const * __ptr64,unsigned long) __ptr64
+??0LSA_POLICY@@QEAA@PEBGK@Z
+; public: __cdecl LSA_PRIMARY_DOM_INFO_MEM::LSA_PRIMARY_DOM_INFO_MEM(int) __ptr64
+??0LSA_PRIMARY_DOM_INFO_MEM@@QEAA@H@Z
+; public: __cdecl LSA_PRIVILEGES_ENUM::LSA_PRIVILEGES_ENUM(class LSA_POLICY const * __ptr64) __ptr64
+??0LSA_PRIVILEGES_ENUM@@QEAA@PEBVLSA_POLICY@@@Z
+; public: __cdecl LSA_PRIVILEGES_ENUM_ITER::LSA_PRIVILEGES_ENUM_ITER(class LSA_PRIVILEGES_ENUM & __ptr64) __ptr64
+??0LSA_PRIVILEGES_ENUM_ITER@@QEAA@AEAVLSA_PRIVILEGES_ENUM@@@Z
+; public: __cdecl LSA_PRIVILEGES_ENUM_OBJ::LSA_PRIVILEGES_ENUM_OBJ(void) __ptr64
+??0LSA_PRIVILEGES_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl LSA_REF_DOMAIN_MEM::LSA_REF_DOMAIN_MEM(int) __ptr64
+??0LSA_REF_DOMAIN_MEM@@QEAA@H@Z
+; public: __cdecl LSA_SECRET::LSA_SECRET(class NLS_STR const & __ptr64) __ptr64
+??0LSA_SECRET@@QEAA@AEBVNLS_STR@@@Z
+; public: __cdecl LSA_SERVER_ROLE_INFO_MEM::LSA_SERVER_ROLE_INFO_MEM(int,int) __ptr64
+??0LSA_SERVER_ROLE_INFO_MEM@@QEAA@HH@Z
+; public: __cdecl LSA_TRANSLATED_NAME_MEM::LSA_TRANSLATED_NAME_MEM(int) __ptr64
+??0LSA_TRANSLATED_NAME_MEM@@QEAA@H@Z
+; public: __cdecl LSA_TRANSLATED_SID_MEM::LSA_TRANSLATED_SID_MEM(int) __ptr64
+??0LSA_TRANSLATED_SID_MEM@@QEAA@H@Z
+; public: __cdecl LSA_TRUSTED_DC_LIST::LSA_TRUSTED_DC_LIST(class NLS_STR const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0LSA_TRUSTED_DC_LIST@@QEAA@AEBVNLS_STR@@PEBG@Z
+; public: __cdecl LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const & __ptr64,struct _LSA_TRUST_INFORMATION const & __ptr64,unsigned long) __ptr64
+??0LSA_TRUSTED_DOMAIN@@QEAA@AEBVLSA_POLICY@@AEBU_LSA_TRUST_INFORMATION@@K@Z
+; public: __cdecl LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const & __ptr64,class NLS_STR const & __ptr64,void * __ptr64 const,unsigned long) __ptr64
+??0LSA_TRUSTED_DOMAIN@@QEAA@AEBVLSA_POLICY@@AEBVNLS_STR@@QEAXK@Z
+; public: __cdecl LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const & __ptr64,void * __ptr64 const,unsigned long) __ptr64
+??0LSA_TRUSTED_DOMAIN@@QEAA@AEBVLSA_POLICY@@QEAXK@Z
+; public: __cdecl LSA_TRUST_INFO_MEM::LSA_TRUST_INFO_MEM(int) __ptr64
+??0LSA_TRUST_INFO_MEM@@QEAA@H@Z
+; public: __cdecl MEMBERSHIP_LM_OBJ::MEMBERSHIP_LM_OBJ(class LOCATION const & __ptr64,unsigned int) __ptr64
+??0MEMBERSHIP_LM_OBJ@@QEAA@AEBVLOCATION@@I@Z
+; protected: __cdecl NET_ACCESS::NET_ACCESS(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0NET_ACCESS@@IEAA@PEBG0@Z
+; public: __cdecl NET_ACCESS_1::NET_ACCESS_1(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0NET_ACCESS_1@@QEAA@PEBG0@Z
+; public: __cdecl NET_NAME::NET_NAME(unsigned short const * __ptr64,enum NETNAME_TYPE) __ptr64
+??0NET_NAME@@QEAA@PEBGW4NETNAME_TYPE@@@Z
+; public: __cdecl NEW_LM_OBJ::NEW_LM_OBJ(int) __ptr64
+??0NEW_LM_OBJ@@QEAA@H@Z
+; protected: __cdecl NT_ACCOUNT_ENUM::NT_ACCOUNT_ENUM(class SAM_DOMAIN const * __ptr64,enum _DOMAIN_DISPLAY_INFORMATION,int) __ptr64
+??0NT_ACCOUNT_ENUM@@IEAA@PEBVSAM_DOMAIN@@W4_DOMAIN_DISPLAY_INFORMATION@@H@Z
+; public: __cdecl NT_GROUP_ENUM::NT_GROUP_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
+??0NT_GROUP_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
+; public: __cdecl NT_GROUP_ENUM_ITER::NT_GROUP_ENUM_ITER(class NT_GROUP_ENUM & __ptr64) __ptr64
+??0NT_GROUP_ENUM_ITER@@QEAA@AEAVNT_GROUP_ENUM@@@Z
+; public: __cdecl NT_GROUP_ENUM_OBJ::NT_GROUP_ENUM_OBJ(void) __ptr64
+??0NT_GROUP_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl NT_MACHINE_ENUM::NT_MACHINE_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
+??0NT_MACHINE_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
+; public: __cdecl NT_MACHINE_ENUM_ITER::NT_MACHINE_ENUM_ITER(class NT_MACHINE_ENUM & __ptr64) __ptr64
+??0NT_MACHINE_ENUM_ITER@@QEAA@AEAVNT_MACHINE_ENUM@@@Z
+; public: __cdecl NT_MACHINE_ENUM_OBJ::NT_MACHINE_ENUM_OBJ(void) __ptr64
+??0NT_MACHINE_ENUM_OBJ@@QEAA@XZ
+; protected: __cdecl NT_MEMORY::NT_MEMORY(void) __ptr64
+??0NT_MEMORY@@IEAA@XZ
+; public: __cdecl NT_USER_ENUM::NT_USER_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
+??0NT_USER_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
+; public: __cdecl NT_USER_ENUM_ITER::NT_USER_ENUM_ITER(class NT_USER_ENUM & __ptr64) __ptr64
+??0NT_USER_ENUM_ITER@@QEAA@AEAVNT_USER_ENUM@@@Z
+; public: __cdecl NT_USER_ENUM_OBJ::NT_USER_ENUM_OBJ(void) __ptr64
+??0NT_USER_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl OS_ACE::OS_ACE(void * __ptr64) __ptr64
+??0OS_ACE@@QEAA@PEAX@Z
+; public: __cdecl OS_ACL::OS_ACL(struct _ACL * __ptr64,int,class OS_SECURITY_DESCRIPTOR * __ptr64) __ptr64
+??0OS_ACL@@QEAA@PEAU_ACL@@HPEAVOS_SECURITY_DESCRIPTOR@@@Z
+; public: __cdecl OS_ACL_SUBJECT_ITER::OS_ACL_SUBJECT_ITER(class OS_ACL const * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
+??0OS_ACL_SUBJECT_ITER@@QEAA@PEBVOS_ACL@@PEAU_GENERIC_MAPPING@@1HH@Z
+; public: __cdecl OS_DACL_SUBJECT_ITER::OS_DACL_SUBJECT_ITER(class OS_ACL * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
+??0OS_DACL_SUBJECT_ITER@@QEAA@PEAVOS_ACL@@PEAU_GENERIC_MAPPING@@1HH@Z
+; public: __cdecl OS_LUID::OS_LUID(struct _LUID) __ptr64
+??0OS_LUID@@QEAA@U_LUID@@@Z
+; public: __cdecl OS_LUID::OS_LUID(void) __ptr64
+??0OS_LUID@@QEAA@XZ
+; public: __cdecl OS_LUID_AND_ATTRIBUTES::OS_LUID_AND_ATTRIBUTES(void) __ptr64
+??0OS_LUID_AND_ATTRIBUTES@@QEAA@XZ
+; protected: __cdecl OS_OBJECT_WITH_DATA::OS_OBJECT_WITH_DATA(unsigned int) __ptr64
+??0OS_OBJECT_WITH_DATA@@IEAA@I@Z
+; public: __cdecl OS_PRIVILEGE_SET::OS_PRIVILEGE_SET(struct _PRIVILEGE_SET * __ptr64) __ptr64
+??0OS_PRIVILEGE_SET@@QEAA@PEAU_PRIVILEGE_SET@@@Z
+; public: __cdecl OS_SACL_SUBJECT_ITER::OS_SACL_SUBJECT_ITER(class OS_ACL * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
+??0OS_SACL_SUBJECT_ITER@@QEAA@PEAVOS_ACL@@PEAU_GENERIC_MAPPING@@1HH@Z
+; public: __cdecl OS_SECURITY_DESCRIPTOR::OS_SECURITY_DESCRIPTOR(void * __ptr64,int) __ptr64
+??0OS_SECURITY_DESCRIPTOR@@QEAA@PEAXH@Z
+; public: __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::OS_SECURITY_DESCRIPTOR_CONTROL(unsigned short * __ptr64) __ptr64
+??0OS_SECURITY_DESCRIPTOR_CONTROL@@QEAA@PEAG@Z
+; public: __cdecl OS_SID::OS_SID(void * __ptr64,int,class OS_SECURITY_DESCRIPTOR * __ptr64) __ptr64
+??0OS_SID@@QEAA@PEAXHPEAVOS_SECURITY_DESCRIPTOR@@@Z
+; public: __cdecl OS_SID::OS_SID(void * __ptr64,unsigned long,class OS_SECURITY_DESCRIPTOR * __ptr64) __ptr64
+??0OS_SID@@QEAA@PEAXKPEAVOS_SECURITY_DESCRIPTOR@@@Z
+; public: __cdecl SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const & __ptr64,unsigned long,unsigned long) __ptr64
+??0SAM_ALIAS@@QEAA@AEBVSAM_DOMAIN@@KK@Z
+; public: __cdecl SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const & __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0SAM_ALIAS@@QEAA@AEBVSAM_DOMAIN@@PEBGK@Z
+; public: __cdecl SAM_DOMAIN::SAM_DOMAIN(class SAM_SERVER const & __ptr64,void * __ptr64,unsigned long) __ptr64
+??0SAM_DOMAIN@@QEAA@AEBVSAM_SERVER@@PEAXK@Z
+; public: __cdecl SAM_GROUP::SAM_GROUP(class SAM_DOMAIN const & __ptr64,unsigned long,unsigned long) __ptr64
+??0SAM_GROUP@@QEAA@AEBVSAM_DOMAIN@@KK@Z
+; protected: __cdecl SAM_MEMORY::SAM_MEMORY(int) __ptr64
+??0SAM_MEMORY@@IEAA@H@Z
+; protected: __cdecl SAM_OBJECT::SAM_OBJECT(void) __ptr64
+??0SAM_OBJECT@@IEAA@XZ
+; public: __cdecl SAM_PSWD_DOM_INFO_MEM::SAM_PSWD_DOM_INFO_MEM(int) __ptr64
+??0SAM_PSWD_DOM_INFO_MEM@@QEAA@H@Z
+; public: __cdecl SAM_RID_ENUMERATION_MEM::SAM_RID_ENUMERATION_MEM(int) __ptr64
+??0SAM_RID_ENUMERATION_MEM@@QEAA@H@Z
+; public: __cdecl SAM_RID_MEM::SAM_RID_MEM(int) __ptr64
+??0SAM_RID_MEM@@QEAA@H@Z
+; public: __cdecl SAM_SERVER::SAM_SERVER(unsigned short const * __ptr64,unsigned long) __ptr64
+??0SAM_SERVER@@QEAA@PEBGK@Z
+; public: __cdecl SAM_SID_MEM::SAM_SID_MEM(int) __ptr64
+??0SAM_SID_MEM@@QEAA@H@Z
+; public: __cdecl SAM_SID_NAME_USE_MEM::SAM_SID_NAME_USE_MEM(int) __ptr64
+??0SAM_SID_NAME_USE_MEM@@QEAA@H@Z
+; public: __cdecl SAM_USER::SAM_USER(class SAM_DOMAIN const & __ptr64,unsigned long,unsigned long) __ptr64
+??0SAM_USER@@QEAA@AEBVSAM_DOMAIN@@KK@Z
+; public: __cdecl SAM_USER_ENUM::SAM_USER_ENUM(class SAM_DOMAIN const * __ptr64,unsigned long,int) __ptr64
+??0SAM_USER_ENUM@@QEAA@PEBVSAM_DOMAIN@@KH@Z
+; public: __cdecl SAM_USER_ENUM_ITER::SAM_USER_ENUM_ITER(class SAM_USER_ENUM & __ptr64) __ptr64
+??0SAM_USER_ENUM_ITER@@QEAA@AEAVSAM_USER_ENUM@@@Z
+; public: __cdecl SAM_USER_ENUM_OBJ::SAM_USER_ENUM_OBJ(void) __ptr64
+??0SAM_USER_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SC_MANAGER::SC_MANAGER(struct SC_HANDLE__ * __ptr64) __ptr64
+??0SC_MANAGER@@QEAA@PEAUSC_HANDLE__@@@Z
+; public: __cdecl SC_MANAGER::SC_MANAGER(unsigned short const * __ptr64,unsigned int,enum SERVICE_DATABASE) __ptr64
+??0SC_MANAGER@@QEAA@PEBGIW4SERVICE_DATABASE@@@Z
+; public: __cdecl SC_SERVICE::SC_SERVICE(class SC_MANAGER const & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
+??0SC_SERVICE@@QEAA@AEBVSC_MANAGER@@PEBG1III11111I@Z
+; public: __cdecl SC_SERVICE::SC_SERVICE(class SC_MANAGER const & __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
+??0SC_SERVICE@@QEAA@AEBVSC_MANAGER@@PEBGI@Z
+; public: __cdecl SERVER1_ENUM::SERVER1_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0SERVER1_ENUM@@QEAA@PEBG0K@Z
+; public: __cdecl SERVER1_ENUM_ITER::SERVER1_ENUM_ITER(class SERVER1_ENUM & __ptr64) __ptr64
+??0SERVER1_ENUM_ITER@@QEAA@AEAVSERVER1_ENUM@@@Z
+; public: __cdecl SERVER1_ENUM_OBJ::SERVER1_ENUM_OBJ(void) __ptr64
+??0SERVER1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SERVER_0::SERVER_0(unsigned short const * __ptr64) __ptr64
+??0SERVER_0@@QEAA@PEBG@Z
+; public: __cdecl SERVER_1::SERVER_1(unsigned short const * __ptr64) __ptr64
+??0SERVER_1@@QEAA@PEBG@Z
+; public: __cdecl SERVER_2::SERVER_2(unsigned short const * __ptr64) __ptr64
+??0SERVER_2@@QEAA@PEBG@Z
+; protected: __cdecl SERVER_ENUM::SERVER_ENUM(unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64,unsigned long) __ptr64
+??0SERVER_ENUM@@IEAA@PEBGI0K@Z
+; public: __cdecl SERVICE_CONTROL::SERVICE_CONTROL(void) __ptr64
+??0SERVICE_CONTROL@@QEAA@XZ
+; public: __cdecl SERVICE_ENUM::SERVICE_ENUM(unsigned short const * __ptr64,int,unsigned int,unsigned short const * __ptr64) __ptr64
+??0SERVICE_ENUM@@QEAA@PEBGHI0@Z
+; public: __cdecl SERVICE_ENUM_ITER::SERVICE_ENUM_ITER(class SERVICE_ENUM & __ptr64) __ptr64
+??0SERVICE_ENUM_ITER@@QEAA@AEAVSERVICE_ENUM@@@Z
+; public: __cdecl SERVICE_ENUM_OBJ::SERVICE_ENUM_OBJ(void) __ptr64
+??0SERVICE_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SESSION0_ENUM::SESSION0_ENUM(unsigned short const * __ptr64) __ptr64
+??0SESSION0_ENUM@@QEAA@PEBG@Z
+; public: __cdecl SESSION0_ENUM_ITER::SESSION0_ENUM_ITER(class SESSION0_ENUM & __ptr64) __ptr64
+??0SESSION0_ENUM_ITER@@QEAA@AEAVSESSION0_ENUM@@@Z
+; public: __cdecl SESSION0_ENUM_OBJ::SESSION0_ENUM_OBJ(void) __ptr64
+??0SESSION0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SESSION1_ENUM::SESSION1_ENUM(unsigned short const * __ptr64) __ptr64
+??0SESSION1_ENUM@@QEAA@PEBG@Z
+; public: __cdecl SESSION1_ENUM_ITER::SESSION1_ENUM_ITER(class SESSION1_ENUM & __ptr64) __ptr64
+??0SESSION1_ENUM_ITER@@QEAA@AEAVSESSION1_ENUM@@@Z
+; public: __cdecl SESSION1_ENUM_OBJ::SESSION1_ENUM_OBJ(void) __ptr64
+??0SESSION1_ENUM_OBJ@@QEAA@XZ
+; protected: __cdecl SESSION_ENUM::SESSION_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
+??0SESSION_ENUM@@IEAA@PEBGI@Z
+; public: __cdecl SHARE1_ENUM::SHARE1_ENUM(unsigned short const * __ptr64,int) __ptr64
+??0SHARE1_ENUM@@QEAA@PEBGH@Z
+; public: __cdecl SHARE1_ENUM_ITER::SHARE1_ENUM_ITER(class SHARE1_ENUM & __ptr64) __ptr64
+??0SHARE1_ENUM_ITER@@QEAA@AEAVSHARE1_ENUM@@@Z
+; public: __cdecl SHARE1_ENUM_OBJ::SHARE1_ENUM_OBJ(void) __ptr64
+??0SHARE1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SHARE2_ENUM::SHARE2_ENUM(unsigned short const * __ptr64,int) __ptr64
+??0SHARE2_ENUM@@QEAA@PEBGH@Z
+; public: __cdecl SHARE2_ENUM_ITER::SHARE2_ENUM_ITER(class SHARE2_ENUM & __ptr64) __ptr64
+??0SHARE2_ENUM_ITER@@QEAA@AEAVSHARE2_ENUM@@@Z
+; public: __cdecl SHARE2_ENUM_OBJ::SHARE2_ENUM_OBJ(void) __ptr64
+??0SHARE2_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SHARE::SHARE(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+??0SHARE@@QEAA@PEBG0H@Z
+; public: __cdecl SHARE_1::SHARE_1(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+??0SHARE_1@@QEAA@PEBG0H@Z
+; public: __cdecl SHARE_2::SHARE_2(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+??0SHARE_2@@QEAA@PEBG0H@Z
+; protected: __cdecl SHARE_ENUM::SHARE_ENUM(unsigned short const * __ptr64,unsigned int,int) __ptr64
+??0SHARE_ENUM@@IEAA@PEBGIH@Z
+; public: __cdecl SLIST_OF_ADMIN_AUTHORITY::SLIST_OF_ADMIN_AUTHORITY(int) __ptr64
+??0SLIST_OF_ADMIN_AUTHORITY@@QEAA@H@Z
+; public: __cdecl SLIST_OF_API_SESSION::SLIST_OF_API_SESSION(int) __ptr64
+??0SLIST_OF_API_SESSION@@QEAA@H@Z
+; public: __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::SLIST_OF_BROWSE_DOMAIN_INFO(int) __ptr64
+??0SLIST_OF_BROWSE_DOMAIN_INFO@@QEAA@H@Z
+; public: __cdecl SLIST_OF_LM_RESUME_BUFFER::SLIST_OF_LM_RESUME_BUFFER(int) __ptr64
+??0SLIST_OF_LM_RESUME_BUFFER@@QEAA@H@Z
+; public: __cdecl TIME_OF_DAY::TIME_OF_DAY(class LOCATION & __ptr64) __ptr64
+??0TIME_OF_DAY@@QEAA@AEAVLOCATION@@@Z
+; public: __cdecl TIME_OF_DAY::TIME_OF_DAY(unsigned short const * __ptr64) __ptr64
+??0TIME_OF_DAY@@QEAA@PEBG@Z
+; public: __cdecl TIME_OF_DAY::TIME_OF_DAY(enum LOCATION_TYPE) __ptr64
+??0TIME_OF_DAY@@QEAA@W4LOCATION_TYPE@@@Z
+; public: __cdecl TRIPLE_SERVER_ENUM::TRIPLE_SERVER_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,int,int,int,int) __ptr64
+??0TRIPLE_SERVER_ENUM@@QEAA@PEBG0HHHH@Z
+; public: __cdecl TRIPLE_SERVER_ENUM_ITER::TRIPLE_SERVER_ENUM_ITER(class TRIPLE_SERVER_ENUM & __ptr64) __ptr64
+??0TRIPLE_SERVER_ENUM_ITER@@QEAA@AEAVTRIPLE_SERVER_ENUM@@@Z
+; public: __cdecl TRIPLE_SERVER_ENUM_OBJ::TRIPLE_SERVER_ENUM_OBJ(void) __ptr64
+??0TRIPLE_SERVER_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl TRUSTED_DOMAIN_ENUM::TRUSTED_DOMAIN_ENUM(class LSA_POLICY const * __ptr64,int) __ptr64
+??0TRUSTED_DOMAIN_ENUM@@QEAA@PEBVLSA_POLICY@@H@Z
+; public: __cdecl TRUSTED_DOMAIN_ENUM_ITER::TRUSTED_DOMAIN_ENUM_ITER(class TRUSTED_DOMAIN_ENUM & __ptr64) __ptr64
+??0TRUSTED_DOMAIN_ENUM_ITER@@QEAA@AEAVTRUSTED_DOMAIN_ENUM@@@Z
+; public: __cdecl TRUSTED_DOMAIN_ENUM_OBJ::TRUSTED_DOMAIN_ENUM_OBJ(void) __ptr64
+??0TRUSTED_DOMAIN_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USE1_ENUM::USE1_ENUM(unsigned short const * __ptr64) __ptr64
+??0USE1_ENUM@@QEAA@PEBG@Z
+; public: __cdecl USE1_ENUM_ITER::USE1_ENUM_ITER(class USE1_ENUM & __ptr64) __ptr64
+??0USE1_ENUM_ITER@@QEAA@AEAVUSE1_ENUM@@@Z
+; public: __cdecl USE1_ENUM_OBJ::USE1_ENUM_OBJ(void) __ptr64
+??0USE1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER0_ENUM::USER0_ENUM(class LOCATION const & __ptr64,unsigned short const * __ptr64,int) __ptr64
+??0USER0_ENUM@@QEAA@AEBVLOCATION@@PEBGH@Z
+; public: __cdecl USER0_ENUM::USER0_ENUM(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+??0USER0_ENUM@@QEAA@PEBG0H@Z
+; public: __cdecl USER0_ENUM::USER0_ENUM(enum LOCATION_TYPE,unsigned short const * __ptr64,int) __ptr64
+??0USER0_ENUM@@QEAA@W4LOCATION_TYPE@@PEBGH@Z
+; public: __cdecl USER0_ENUM_ITER::USER0_ENUM_ITER(class USER0_ENUM & __ptr64) __ptr64
+??0USER0_ENUM_ITER@@QEAA@AEAVUSER0_ENUM@@@Z
+; public: __cdecl USER0_ENUM_OBJ::USER0_ENUM_OBJ(void) __ptr64
+??0USER0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER10_ENUM::USER10_ENUM(class LOCATION const & __ptr64,int) __ptr64
+??0USER10_ENUM@@QEAA@AEBVLOCATION@@H@Z
+; public: __cdecl USER10_ENUM::USER10_ENUM(unsigned short const * __ptr64,int) __ptr64
+??0USER10_ENUM@@QEAA@PEBGH@Z
+; public: __cdecl USER10_ENUM::USER10_ENUM(enum LOCATION_TYPE,int) __ptr64
+??0USER10_ENUM@@QEAA@W4LOCATION_TYPE@@H@Z
+; public: __cdecl USER10_ENUM_ITER::USER10_ENUM_ITER(class USER10_ENUM & __ptr64) __ptr64
+??0USER10_ENUM_ITER@@QEAA@AEAVUSER10_ENUM@@@Z
+; public: __cdecl USER10_ENUM_OBJ::USER10_ENUM_OBJ(void) __ptr64
+??0USER10_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER1_ENUM::USER1_ENUM(class LOCATION const & __ptr64,int) __ptr64
+??0USER1_ENUM@@QEAA@AEBVLOCATION@@H@Z
+; public: __cdecl USER1_ENUM::USER1_ENUM(unsigned short const * __ptr64,int) __ptr64
+??0USER1_ENUM@@QEAA@PEBGH@Z
+; public: __cdecl USER1_ENUM::USER1_ENUM(enum LOCATION_TYPE,int) __ptr64
+??0USER1_ENUM@@QEAA@W4LOCATION_TYPE@@H@Z
+; public: __cdecl USER1_ENUM_ITER::USER1_ENUM_ITER(class USER1_ENUM & __ptr64) __ptr64
+??0USER1_ENUM_ITER@@QEAA@AEAVUSER1_ENUM@@@Z
+; public: __cdecl USER1_ENUM_OBJ::USER1_ENUM_OBJ(void) __ptr64
+??0USER1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER2_ENUM::USER2_ENUM(class LOCATION const & __ptr64,int) __ptr64
+??0USER2_ENUM@@QEAA@AEBVLOCATION@@H@Z
+; public: __cdecl USER2_ENUM::USER2_ENUM(unsigned short const * __ptr64,int) __ptr64
+??0USER2_ENUM@@QEAA@PEBGH@Z
+; public: __cdecl USER2_ENUM::USER2_ENUM(enum LOCATION_TYPE,int) __ptr64
+??0USER2_ENUM@@QEAA@W4LOCATION_TYPE@@H@Z
+; public: __cdecl USER2_ENUM_ITER::USER2_ENUM_ITER(class USER2_ENUM & __ptr64) __ptr64
+??0USER2_ENUM_ITER@@QEAA@AEAVUSER2_ENUM@@@Z
+; public: __cdecl USER2_ENUM_OBJ::USER2_ENUM_OBJ(void) __ptr64
+??0USER2_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER::USER(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0USER@@QEAA@PEBG0@Z
+; public: __cdecl USER::USER(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0USER@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl USER::USER(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0USER@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl USER_11::USER_11(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0USER_11@@QEAA@PEBG0@Z
+; public: __cdecl USER_11::USER_11(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0USER_11@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl USER_11::USER_11(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0USER_11@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl USER_2::USER_2(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0USER_2@@QEAA@PEBG0@Z
+; public: __cdecl USER_2::USER_2(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0USER_2@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl USER_2::USER_2(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0USER_2@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; public: __cdecl USER_3::USER_3(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0USER_3@@QEAA@PEBG0@Z
+; public: __cdecl USER_3::USER_3(unsigned short const * __ptr64,class LOCATION const & __ptr64) __ptr64
+??0USER_3@@QEAA@PEBGAEBVLOCATION@@@Z
+; public: __cdecl USER_3::USER_3(unsigned short const * __ptr64,enum LOCATION_TYPE) __ptr64
+??0USER_3@@QEAA@PEBGW4LOCATION_TYPE@@@Z
+; protected: __cdecl USER_ENUM::USER_ENUM(class LOCATION const & __ptr64,unsigned int,unsigned short const * __ptr64,int) __ptr64
+??0USER_ENUM@@IEAA@AEBVLOCATION@@IPEBGH@Z
+; protected: __cdecl USER_ENUM::USER_ENUM(unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64,int) __ptr64
+??0USER_ENUM@@IEAA@PEBGI0H@Z
+; protected: __cdecl USER_ENUM::USER_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const * __ptr64,int) __ptr64
+??0USER_ENUM@@IEAA@W4LOCATION_TYPE@@IPEBGH@Z
+; public: __cdecl USER_MEMB::USER_MEMB(class LOCATION const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0USER_MEMB@@QEAA@AEBVLOCATION@@PEBG@Z
+; public: __cdecl USER_MODALS::USER_MODALS(unsigned short const * __ptr64) __ptr64
+??0USER_MODALS@@QEAA@PEBG@Z
+; public: __cdecl USER_MODALS_3::USER_MODALS_3(unsigned short const * __ptr64) __ptr64
+??0USER_MODALS_3@@QEAA@PEBG@Z
+; protected: __cdecl USE_ENUM::USE_ENUM(unsigned short const * __ptr64,unsigned int) __ptr64
+??0USE_ENUM@@IEAA@PEBGI@Z
+; public: __cdecl WKSTA_10::WKSTA_10(unsigned short const * __ptr64) __ptr64
+??0WKSTA_10@@QEAA@PEBG@Z
+; public: __cdecl WKSTA_1::WKSTA_1(unsigned short const * __ptr64) __ptr64
+??0WKSTA_1@@QEAA@PEBG@Z
+; public: __cdecl WKSTA_USER_1::WKSTA_USER_1(void) __ptr64
+??0WKSTA_USER_1@@QEAA@XZ
+; public: __cdecl ADMIN_AUTHORITY::~ADMIN_AUTHORITY(void) __ptr64
+??1ADMIN_AUTHORITY@@QEAA@XZ
+; public: __cdecl ALIAS_ENUM::~ALIAS_ENUM(void) __ptr64
+??1ALIAS_ENUM@@QEAA@XZ
+; public: __cdecl ALIAS_ENUM_OBJ::~ALIAS_ENUM_OBJ(void) __ptr64
+??1ALIAS_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl ALIAS_STR::~ALIAS_STR(void) __ptr64
+??1ALIAS_STR@@QEAA@XZ
+; public: __cdecl ALLOC_STR::~ALLOC_STR(void) __ptr64
+??1ALLOC_STR@@QEAA@XZ
+; public: __cdecl API_SESSION::~API_SESSION(void) __ptr64
+??1API_SESSION@@QEAA@XZ
+; public: __cdecl BROWSE_DOMAIN_ENUM::~BROWSE_DOMAIN_ENUM(void) __ptr64
+??1BROWSE_DOMAIN_ENUM@@QEAA@XZ
+; public: __cdecl BROWSE_DOMAIN_INFO::~BROWSE_DOMAIN_INFO(void) __ptr64
+??1BROWSE_DOMAIN_INFO@@QEAA@XZ
+; public: __cdecl CHARDEVQ1_ENUM_OBJ::~CHARDEVQ1_ENUM_OBJ(void) __ptr64
+??1CHARDEVQ1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl CHARDEVQ_ENUM::~CHARDEVQ_ENUM(void) __ptr64
+??1CHARDEVQ_ENUM@@QEAA@XZ
+; protected: __cdecl COMPUTER::~COMPUTER(void) __ptr64
+??1COMPUTER@@IEAA@XZ
+; public: __cdecl CONN0_ENUM_OBJ::~CONN0_ENUM_OBJ(void) __ptr64
+??1CONN0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl CONN1_ENUM_OBJ::~CONN1_ENUM_OBJ(void) __ptr64
+??1CONN1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl CONN_ENUM::~CONN_ENUM(void) __ptr64
+??1CONN_ENUM@@QEAA@XZ
+; public: __cdecl CONTEXT_ENUM_OBJ::~CONTEXT_ENUM_OBJ(void) __ptr64
+??1CONTEXT_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl DEVICE::~DEVICE(void) __ptr64
+??1DEVICE@@QEAA@XZ
+; public: __cdecl DOMAIN0_ENUM::~DOMAIN0_ENUM(void) __ptr64
+??1DOMAIN0_ENUM@@QEAA@XZ
+; public: __cdecl DOMAIN0_ENUM_ITER::~DOMAIN0_ENUM_ITER(void) __ptr64
+??1DOMAIN0_ENUM_ITER@@QEAA@XZ
+; public: __cdecl DOMAIN0_ENUM_OBJ::~DOMAIN0_ENUM_OBJ(void) __ptr64
+??1DOMAIN0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl DOMAIN::~DOMAIN(void) __ptr64
+??1DOMAIN@@QEAA@XZ
+; public: __cdecl DOMAIN_ENUM::~DOMAIN_ENUM(void) __ptr64
+??1DOMAIN_ENUM@@QEAA@XZ
+; public: __cdecl DOMAIN_WITH_DC_CACHE::~DOMAIN_WITH_DC_CACHE(void) __ptr64
+??1DOMAIN_WITH_DC_CACHE@@QEAA@XZ
+; public: __cdecl ENUM_CALLER_LM_OBJ::~ENUM_CALLER_LM_OBJ(void) __ptr64
+??1ENUM_CALLER_LM_OBJ@@QEAA@XZ
+; protected: __cdecl ENUM_OBJ_BASE::~ENUM_OBJ_BASE(void) __ptr64
+??1ENUM_OBJ_BASE@@IEAA@XZ
+; public: __cdecl FILE2_ENUM_OBJ::~FILE2_ENUM_OBJ(void) __ptr64
+??1FILE2_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl FILE3_ENUM::~FILE3_ENUM(void) __ptr64
+??1FILE3_ENUM@@QEAA@XZ
+; public: __cdecl FILE3_ENUM_ITER::~FILE3_ENUM_ITER(void) __ptr64
+??1FILE3_ENUM_ITER@@QEAA@XZ
+; public: __cdecl FILE3_ENUM_OBJ::~FILE3_ENUM_OBJ(void) __ptr64
+??1FILE3_ENUM_OBJ@@QEAA@XZ
+; protected: __cdecl FILE_ENUM::~FILE_ENUM(void) __ptr64
+??1FILE_ENUM@@IEAA@XZ
+; public: __cdecl GROUP0_ENUM::~GROUP0_ENUM(void) __ptr64
+??1GROUP0_ENUM@@QEAA@XZ
+; public: __cdecl GROUP0_ENUM_ITER::~GROUP0_ENUM_ITER(void) __ptr64
+??1GROUP0_ENUM_ITER@@QEAA@XZ
+; public: __cdecl GROUP0_ENUM_OBJ::~GROUP0_ENUM_OBJ(void) __ptr64
+??1GROUP0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl GROUP1_ENUM_OBJ::~GROUP1_ENUM_OBJ(void) __ptr64
+??1GROUP1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl GROUP::~GROUP(void) __ptr64
+??1GROUP@@QEAA@XZ
+; public: __cdecl GROUP_0::~GROUP_0(void) __ptr64
+??1GROUP_0@@QEAA@XZ
+; public: __cdecl GROUP_1::~GROUP_1(void) __ptr64
+??1GROUP_1@@QEAA@XZ
+; public: __cdecl GROUP_ENUM::~GROUP_ENUM(void) __ptr64
+??1GROUP_ENUM@@QEAA@XZ
+; public: __cdecl GROUP_MEMB::~GROUP_MEMB(void) __ptr64
+??1GROUP_MEMB@@QEAA@XZ
+; public: __cdecl ITER_DEVICE::~ITER_DEVICE(void) __ptr64
+??1ITER_DEVICE@@QEAA@XZ
+; public: __cdecl ITER_SL_BROWSE_DOMAIN_INFO::~ITER_SL_BROWSE_DOMAIN_INFO(void) __ptr64
+??1ITER_SL_BROWSE_DOMAIN_INFO@@QEAA@XZ
+; public: __cdecl ITER_SL_LM_RESUME_BUFFER::~ITER_SL_LM_RESUME_BUFFER(void) __ptr64
+??1ITER_SL_LM_RESUME_BUFFER@@QEAA@XZ
+; public: __cdecl LM_CONFIG::~LM_CONFIG(void) __ptr64
+??1LM_CONFIG@@QEAA@XZ
+; public: __cdecl LM_ENUM::~LM_ENUM(void) __ptr64
+??1LM_ENUM@@QEAA@XZ
+; protected: __cdecl LM_ENUM_ITER::~LM_ENUM_ITER(void) __ptr64
+??1LM_ENUM_ITER@@IEAA@XZ
+; protected: __cdecl LM_FILE::~LM_FILE(void) __ptr64
+??1LM_FILE@@IEAA@XZ
+; public: __cdecl LM_FILE_2::~LM_FILE_2(void) __ptr64
+??1LM_FILE_2@@QEAA@XZ
+; public: __cdecl LM_RESUME_BUFFER::~LM_RESUME_BUFFER(void) __ptr64
+??1LM_RESUME_BUFFER@@QEAA@XZ
+; public: __cdecl LM_RESUME_ENUM::~LM_RESUME_ENUM(void) __ptr64
+??1LM_RESUME_ENUM@@QEAA@XZ
+; protected: __cdecl LM_RESUME_ENUM_ITER::~LM_RESUME_ENUM_ITER(void) __ptr64
+??1LM_RESUME_ENUM_ITER@@IEAA@XZ
+; public: __cdecl LM_SERVICE::~LM_SERVICE(void) __ptr64
+??1LM_SERVICE@@QEAA@XZ
+; public: __cdecl LM_SESSION::~LM_SESSION(void) __ptr64
+??1LM_SESSION@@QEAA@XZ
+; public: __cdecl LM_SESSION_0::~LM_SESSION_0(void) __ptr64
+??1LM_SESSION_0@@QEAA@XZ
+; public: __cdecl LM_SESSION_10::~LM_SESSION_10(void) __ptr64
+??1LM_SESSION_10@@QEAA@XZ
+; public: __cdecl LM_SESSION_1::~LM_SESSION_1(void) __ptr64
+??1LM_SESSION_1@@QEAA@XZ
+; public: __cdecl LM_SRVRES::~LM_SRVRES(void) __ptr64
+??1LM_SRVRES@@QEAA@XZ
+; public: __cdecl LOCAL_USER::~LOCAL_USER(void) __ptr64
+??1LOCAL_USER@@QEAA@XZ
+; public: __cdecl LOCATION::~LOCATION(void) __ptr64
+??1LOCATION@@QEAA@XZ
+; public: __cdecl LOC_LM_ENUM::~LOC_LM_ENUM(void) __ptr64
+??1LOC_LM_ENUM@@QEAA@XZ
+; public: __cdecl LOC_LM_OBJ::~LOC_LM_OBJ(void) __ptr64
+??1LOC_LM_OBJ@@QEAA@XZ
+; public: __cdecl LOC_LM_RESUME_ENUM::~LOC_LM_RESUME_ENUM(void) __ptr64
+??1LOC_LM_RESUME_ENUM@@QEAA@XZ
+; public: __cdecl LSA_ACCOUNT::~LSA_ACCOUNT(void) __ptr64
+??1LSA_ACCOUNT@@QEAA@XZ
+; public: __cdecl LSA_ACCOUNTS_ENUM_OBJ::~LSA_ACCOUNTS_ENUM_OBJ(void) __ptr64
+??1LSA_ACCOUNTS_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::~LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(void) __ptr64
+??1LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QEAA@XZ
+; public: __cdecl LSA_ACCT_DOM_INFO_MEM::~LSA_ACCT_DOM_INFO_MEM(void) __ptr64
+??1LSA_ACCT_DOM_INFO_MEM@@QEAA@XZ
+; public: __cdecl LSA_AUDIT_EVENT_INFO_MEM::~LSA_AUDIT_EVENT_INFO_MEM(void) __ptr64
+??1LSA_AUDIT_EVENT_INFO_MEM@@QEAA@XZ
+; public: __cdecl LSA_DOMAIN_INFO::~LSA_DOMAIN_INFO(void) __ptr64
+??1LSA_DOMAIN_INFO@@QEAA@XZ
+; public: __cdecl LSA_ENUM::~LSA_ENUM(void) __ptr64
+??1LSA_ENUM@@QEAA@XZ
+; protected: __cdecl LSA_MEMORY::~LSA_MEMORY(void) __ptr64
+??1LSA_MEMORY@@IEAA@XZ
+; protected: __cdecl LSA_OBJECT::~LSA_OBJECT(void) __ptr64
+??1LSA_OBJECT@@IEAA@XZ
+; public: __cdecl LSA_POLICY::~LSA_POLICY(void) __ptr64
+??1LSA_POLICY@@QEAA@XZ
+; public: __cdecl LSA_PRIMARY_DOM_INFO_MEM::~LSA_PRIMARY_DOM_INFO_MEM(void) __ptr64
+??1LSA_PRIMARY_DOM_INFO_MEM@@QEAA@XZ
+; public: __cdecl LSA_PRIVILEGES_ENUM_OBJ::~LSA_PRIVILEGES_ENUM_OBJ(void) __ptr64
+??1LSA_PRIVILEGES_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl LSA_REF_DOMAIN_MEM::~LSA_REF_DOMAIN_MEM(void) __ptr64
+??1LSA_REF_DOMAIN_MEM@@QEAA@XZ
+; public: __cdecl LSA_SECRET::~LSA_SECRET(void) __ptr64
+??1LSA_SECRET@@QEAA@XZ
+; public: __cdecl LSA_SERVER_ROLE_INFO_MEM::~LSA_SERVER_ROLE_INFO_MEM(void) __ptr64
+??1LSA_SERVER_ROLE_INFO_MEM@@QEAA@XZ
+; public: __cdecl LSA_TRANSLATED_NAME_MEM::~LSA_TRANSLATED_NAME_MEM(void) __ptr64
+??1LSA_TRANSLATED_NAME_MEM@@QEAA@XZ
+; public: __cdecl LSA_TRANSLATED_SID_MEM::~LSA_TRANSLATED_SID_MEM(void) __ptr64
+??1LSA_TRANSLATED_SID_MEM@@QEAA@XZ
+; public: __cdecl LSA_TRUSTED_DC_LIST::~LSA_TRUSTED_DC_LIST(void) __ptr64
+??1LSA_TRUSTED_DC_LIST@@QEAA@XZ
+; public: __cdecl LSA_TRUSTED_DOMAIN::~LSA_TRUSTED_DOMAIN(void) __ptr64
+??1LSA_TRUSTED_DOMAIN@@QEAA@XZ
+; public: __cdecl LSA_TRUST_INFO_MEM::~LSA_TRUST_INFO_MEM(void) __ptr64
+??1LSA_TRUST_INFO_MEM@@QEAA@XZ
+; public: __cdecl MEMBERSHIP_LM_OBJ::~MEMBERSHIP_LM_OBJ(void) __ptr64
+??1MEMBERSHIP_LM_OBJ@@QEAA@XZ
+; protected: __cdecl NET_ACCESS::~NET_ACCESS(void) __ptr64
+??1NET_ACCESS@@IEAA@XZ
+; public: __cdecl NET_ACCESS_1::~NET_ACCESS_1(void) __ptr64
+??1NET_ACCESS_1@@QEAA@XZ
+; public: __cdecl NET_NAME::~NET_NAME(void) __ptr64
+??1NET_NAME@@QEAA@XZ
+; public: __cdecl NEW_LM_OBJ::~NEW_LM_OBJ(void) __ptr64
+??1NEW_LM_OBJ@@QEAA@XZ
+; protected: __cdecl NT_ACCOUNT_ENUM::~NT_ACCOUNT_ENUM(void) __ptr64
+??1NT_ACCOUNT_ENUM@@IEAA@XZ
+; public: __cdecl NT_GROUP_ENUM::~NT_GROUP_ENUM(void) __ptr64
+??1NT_GROUP_ENUM@@QEAA@XZ
+; public: __cdecl NT_GROUP_ENUM_OBJ::~NT_GROUP_ENUM_OBJ(void) __ptr64
+??1NT_GROUP_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl NT_MACHINE_ENUM::~NT_MACHINE_ENUM(void) __ptr64
+??1NT_MACHINE_ENUM@@QEAA@XZ
+; public: __cdecl NT_MACHINE_ENUM_ITER::~NT_MACHINE_ENUM_ITER(void) __ptr64
+??1NT_MACHINE_ENUM_ITER@@QEAA@XZ
+; public: __cdecl NT_MACHINE_ENUM_OBJ::~NT_MACHINE_ENUM_OBJ(void) __ptr64
+??1NT_MACHINE_ENUM_OBJ@@QEAA@XZ
+; protected: __cdecl NT_MEMORY::~NT_MEMORY(void) __ptr64
+??1NT_MEMORY@@IEAA@XZ
+; public: __cdecl NT_USER_ENUM::~NT_USER_ENUM(void) __ptr64
+??1NT_USER_ENUM@@QEAA@XZ
+; public: __cdecl NT_USER_ENUM_OBJ::~NT_USER_ENUM_OBJ(void) __ptr64
+??1NT_USER_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl OS_ACE::~OS_ACE(void) __ptr64
+??1OS_ACE@@QEAA@XZ
+; public: __cdecl OS_ACL::~OS_ACL(void) __ptr64
+??1OS_ACL@@QEAA@XZ
+; public: __cdecl OS_ACL_SUBJECT_ITER::~OS_ACL_SUBJECT_ITER(void) __ptr64
+??1OS_ACL_SUBJECT_ITER@@QEAA@XZ
+; public: __cdecl OS_DACL_SUBJECT_ITER::~OS_DACL_SUBJECT_ITER(void) __ptr64
+??1OS_DACL_SUBJECT_ITER@@QEAA@XZ
+; protected: __cdecl OS_OBJECT_WITH_DATA::~OS_OBJECT_WITH_DATA(void) __ptr64
+??1OS_OBJECT_WITH_DATA@@IEAA@XZ
+; public: __cdecl OS_PRIVILEGE_SET::~OS_PRIVILEGE_SET(void) __ptr64
+??1OS_PRIVILEGE_SET@@QEAA@XZ
+; public: __cdecl OS_SACL_SUBJECT_ITER::~OS_SACL_SUBJECT_ITER(void) __ptr64
+??1OS_SACL_SUBJECT_ITER@@QEAA@XZ
+; public: __cdecl OS_SECURITY_DESCRIPTOR::~OS_SECURITY_DESCRIPTOR(void) __ptr64
+??1OS_SECURITY_DESCRIPTOR@@QEAA@XZ
+; public: __cdecl OS_SID::~OS_SID(void) __ptr64
+??1OS_SID@@QEAA@XZ
+; public: __cdecl REG_VALUE_INFO_STRUCT::~REG_VALUE_INFO_STRUCT(void) __ptr64
+??1REG_VALUE_INFO_STRUCT@@QEAA@XZ
+; public: __cdecl SAM_ALIAS::~SAM_ALIAS(void) __ptr64
+??1SAM_ALIAS@@QEAA@XZ
+; public: __cdecl SAM_DOMAIN::~SAM_DOMAIN(void) __ptr64
+??1SAM_DOMAIN@@QEAA@XZ
+; public: __cdecl SAM_GROUP::~SAM_GROUP(void) __ptr64
+??1SAM_GROUP@@QEAA@XZ
+; public: __cdecl SAM_MEMORY::~SAM_MEMORY(void) __ptr64
+??1SAM_MEMORY@@QEAA@XZ
+; protected: __cdecl SAM_OBJECT::~SAM_OBJECT(void) __ptr64
+??1SAM_OBJECT@@IEAA@XZ
+; public: __cdecl SAM_PSWD_DOM_INFO_MEM::~SAM_PSWD_DOM_INFO_MEM(void) __ptr64
+??1SAM_PSWD_DOM_INFO_MEM@@QEAA@XZ
+; public: __cdecl SAM_RID_ENUMERATION_MEM::~SAM_RID_ENUMERATION_MEM(void) __ptr64
+??1SAM_RID_ENUMERATION_MEM@@QEAA@XZ
+; public: __cdecl SAM_RID_MEM::~SAM_RID_MEM(void) __ptr64
+??1SAM_RID_MEM@@QEAA@XZ
+; public: __cdecl SAM_SERVER::~SAM_SERVER(void) __ptr64
+??1SAM_SERVER@@QEAA@XZ
+; public: __cdecl SAM_SID_MEM::~SAM_SID_MEM(void) __ptr64
+??1SAM_SID_MEM@@QEAA@XZ
+; public: __cdecl SAM_SID_NAME_USE_MEM::~SAM_SID_NAME_USE_MEM(void) __ptr64
+??1SAM_SID_NAME_USE_MEM@@QEAA@XZ
+; public: __cdecl SAM_USER::~SAM_USER(void) __ptr64
+??1SAM_USER@@QEAA@XZ
+; public: __cdecl SAM_USER_ENUM::~SAM_USER_ENUM(void) __ptr64
+??1SAM_USER_ENUM@@QEAA@XZ
+; public: __cdecl SAM_USER_ENUM_ITER::~SAM_USER_ENUM_ITER(void) __ptr64
+??1SAM_USER_ENUM_ITER@@QEAA@XZ
+; public: __cdecl SAM_USER_ENUM_OBJ::~SAM_USER_ENUM_OBJ(void) __ptr64
+??1SAM_USER_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SC_MANAGER::~SC_MANAGER(void) __ptr64
+??1SC_MANAGER@@QEAA@XZ
+; public: __cdecl SC_SERVICE::~SC_SERVICE(void) __ptr64
+??1SC_SERVICE@@QEAA@XZ
+; public: __cdecl SERVER1_ENUM::~SERVER1_ENUM(void) __ptr64
+??1SERVER1_ENUM@@QEAA@XZ
+; public: __cdecl SERVER1_ENUM_ITER::~SERVER1_ENUM_ITER(void) __ptr64
+??1SERVER1_ENUM_ITER@@QEAA@XZ
+; public: __cdecl SERVER1_ENUM_OBJ::~SERVER1_ENUM_OBJ(void) __ptr64
+??1SERVER1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SERVER_0::~SERVER_0(void) __ptr64
+??1SERVER_0@@QEAA@XZ
+; public: __cdecl SERVER_1::~SERVER_1(void) __ptr64
+??1SERVER_1@@QEAA@XZ
+; public: __cdecl SERVER_2::~SERVER_2(void) __ptr64
+??1SERVER_2@@QEAA@XZ
+; public: __cdecl SERVER_ENUM::~SERVER_ENUM(void) __ptr64
+??1SERVER_ENUM@@QEAA@XZ
+; public: __cdecl SERVICE_CONTROL::~SERVICE_CONTROL(void) __ptr64
+??1SERVICE_CONTROL@@QEAA@XZ
+; public: __cdecl SERVICE_ENUM::~SERVICE_ENUM(void) __ptr64
+??1SERVICE_ENUM@@QEAA@XZ
+; public: __cdecl SERVICE_ENUM_OBJ::~SERVICE_ENUM_OBJ(void) __ptr64
+??1SERVICE_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SESSION0_ENUM::~SESSION0_ENUM(void) __ptr64
+??1SESSION0_ENUM@@QEAA@XZ
+; public: __cdecl SESSION0_ENUM_ITER::~SESSION0_ENUM_ITER(void) __ptr64
+??1SESSION0_ENUM_ITER@@QEAA@XZ
+; public: __cdecl SESSION0_ENUM_OBJ::~SESSION0_ENUM_OBJ(void) __ptr64
+??1SESSION0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SESSION1_ENUM_OBJ::~SESSION1_ENUM_OBJ(void) __ptr64
+??1SESSION1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SESSION_ENUM::~SESSION_ENUM(void) __ptr64
+??1SESSION_ENUM@@QEAA@XZ
+; public: __cdecl SHARE1_ENUM_OBJ::~SHARE1_ENUM_OBJ(void) __ptr64
+??1SHARE1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SHARE2_ENUM_OBJ::~SHARE2_ENUM_OBJ(void) __ptr64
+??1SHARE2_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SHARE::~SHARE(void) __ptr64
+??1SHARE@@QEAA@XZ
+; public: __cdecl SHARE_1::~SHARE_1(void) __ptr64
+??1SHARE_1@@QEAA@XZ
+; public: __cdecl SHARE_2::~SHARE_2(void) __ptr64
+??1SHARE_2@@QEAA@XZ
+; public: __cdecl SHARE_ENUM::~SHARE_ENUM(void) __ptr64
+??1SHARE_ENUM@@QEAA@XZ
+; public: __cdecl SLIST_OF_ADMIN_AUTHORITY::~SLIST_OF_ADMIN_AUTHORITY(void) __ptr64
+??1SLIST_OF_ADMIN_AUTHORITY@@QEAA@XZ
+; public: __cdecl SLIST_OF_API_SESSION::~SLIST_OF_API_SESSION(void) __ptr64
+??1SLIST_OF_API_SESSION@@QEAA@XZ
+; public: __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::~SLIST_OF_BROWSE_DOMAIN_INFO(void) __ptr64
+??1SLIST_OF_BROWSE_DOMAIN_INFO@@QEAA@XZ
+; public: __cdecl SLIST_OF_LM_RESUME_BUFFER::~SLIST_OF_LM_RESUME_BUFFER(void) __ptr64
+??1SLIST_OF_LM_RESUME_BUFFER@@QEAA@XZ
+; public: __cdecl TIME_OF_DAY::~TIME_OF_DAY(void) __ptr64
+??1TIME_OF_DAY@@QEAA@XZ
+; public: __cdecl TRIPLE_SERVER_ENUM::~TRIPLE_SERVER_ENUM(void) __ptr64
+??1TRIPLE_SERVER_ENUM@@QEAA@XZ
+; public: __cdecl TRIPLE_SERVER_ENUM_OBJ::~TRIPLE_SERVER_ENUM_OBJ(void) __ptr64
+??1TRIPLE_SERVER_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl TRUSTED_DOMAIN_ENUM::~TRUSTED_DOMAIN_ENUM(void) __ptr64
+??1TRUSTED_DOMAIN_ENUM@@QEAA@XZ
+; public: __cdecl TRUSTED_DOMAIN_ENUM_OBJ::~TRUSTED_DOMAIN_ENUM_OBJ(void) __ptr64
+??1TRUSTED_DOMAIN_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USE1_ENUM_OBJ::~USE1_ENUM_OBJ(void) __ptr64
+??1USE1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER0_ENUM::~USER0_ENUM(void) __ptr64
+??1USER0_ENUM@@QEAA@XZ
+; public: __cdecl USER0_ENUM_ITER::~USER0_ENUM_ITER(void) __ptr64
+??1USER0_ENUM_ITER@@QEAA@XZ
+; public: __cdecl USER0_ENUM_OBJ::~USER0_ENUM_OBJ(void) __ptr64
+??1USER0_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER10_ENUM_OBJ::~USER10_ENUM_OBJ(void) __ptr64
+??1USER10_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER1_ENUM_OBJ::~USER1_ENUM_OBJ(void) __ptr64
+??1USER1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER2_ENUM_OBJ::~USER2_ENUM_OBJ(void) __ptr64
+??1USER2_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl USER::~USER(void) __ptr64
+??1USER@@QEAA@XZ
+; public: __cdecl USER_11::~USER_11(void) __ptr64
+??1USER_11@@QEAA@XZ
+; public: virtual __cdecl USER_2::~USER_2(void) __ptr64
+??1USER_2@@UEAA@XZ
+; public: virtual __cdecl USER_3::~USER_3(void) __ptr64
+??1USER_3@@UEAA@XZ
+; public: __cdecl USER_ENUM::~USER_ENUM(void) __ptr64
+??1USER_ENUM@@QEAA@XZ
+; public: __cdecl USER_MEMB::~USER_MEMB(void) __ptr64
+??1USER_MEMB@@QEAA@XZ
+; public: __cdecl USE_ENUM::~USE_ENUM(void) __ptr64
+??1USE_ENUM@@QEAA@XZ
+; public: __cdecl WKSTA_10::~WKSTA_10(void) __ptr64
+??1WKSTA_10@@QEAA@XZ
+; public: __cdecl WKSTA_1::~WKSTA_1(void) __ptr64
+??1WKSTA_1@@QEAA@XZ
+; public: __cdecl WKSTA_USER_1::~WKSTA_USER_1(void) __ptr64
+??1WKSTA_USER_1@@QEAA@XZ
+; public: class ALLOC_STR & __ptr64 __cdecl ALLOC_STR::operator=(class ALLOC_STR const & __ptr64) __ptr64
+??4ALLOC_STR@@QEAAAEAV0@AEBV0@@Z
+; public: class ALLOC_STR & __ptr64 __cdecl ALLOC_STR::operator=(unsigned short const * __ptr64) __ptr64
+??4ALLOC_STR@@QEAAAEAV0@PEBG@Z
+; public: int __cdecl BASE::operator!(void)const  __ptr64
+??7BASE@@QEBAHXZ
+; public: int __cdecl OS_LUID::operator==(class OS_LUID const & __ptr64)const  __ptr64
+??8OS_LUID@@QEBAHAEBV0@@Z
+; public: int __cdecl OS_SID::operator==(class OS_SID const & __ptr64)const  __ptr64
+??8OS_SID@@QEBAHAEBV0@@Z
+; public: struct _UNICODE_STRING const & __ptr64 __cdecl LSA_TRUSTED_DC_LIST::operator[](int)const  __ptr64
+??ALSA_TRUSTED_DC_LIST@@QEBAAEBU_UNICODE_STRING@@H@Z
+; public: unsigned short const * __ptr64 __cdecl NLS_STR::operator[](class ISTR const & __ptr64)const  __ptr64
+??ANLS_STR@@QEBAPEBGAEBVISTR@@@Z
+; public: __cdecl NLS_STR::operator unsigned short const * __ptr64(void)const  __ptr64
+??BNLS_STR@@QEBAPEBGXZ
+; public: __cdecl OS_ACL::operator struct _ACL * __ptr64(void)const  __ptr64
+??BOS_ACL@@QEBAPEAU_ACL@@XZ
+; public: __cdecl OS_SID::operator void * __ptr64(void)const  __ptr64
+??BOS_SID@@QEBAPEAXXZ
+; public: class CHARDEVQ1_ENUM_OBJ const * __ptr64 __cdecl CHARDEVQ1_ENUM_ITER::operator()(void) __ptr64
+??RCHARDEVQ1_ENUM_ITER@@QEAAPEBVCHARDEVQ1_ENUM_OBJ@@XZ
+; public: class CONN0_ENUM_OBJ const * __ptr64 __cdecl CONN0_ENUM_ITER::operator()(void) __ptr64
+??RCONN0_ENUM_ITER@@QEAAPEBVCONN0_ENUM_OBJ@@XZ
+; public: class CONN1_ENUM_OBJ const * __ptr64 __cdecl CONN1_ENUM_ITER::operator()(void) __ptr64
+??RCONN1_ENUM_ITER@@QEAAPEBVCONN1_ENUM_OBJ@@XZ
+; public: class CONTEXT_ENUM_OBJ const * __ptr64 __cdecl CONTEXT_ENUM_ITER::operator()(void) __ptr64
+??RCONTEXT_ENUM_ITER@@QEAAPEBVCONTEXT_ENUM_OBJ@@XZ
+; public: class DOMAIN0_ENUM_OBJ const * __ptr64 __cdecl DOMAIN0_ENUM_ITER::operator()(void) __ptr64
+??RDOMAIN0_ENUM_ITER@@QEAAPEBVDOMAIN0_ENUM_OBJ@@XZ
+; public: class FILE3_ENUM_OBJ const * __ptr64 __cdecl FILE3_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
+??RFILE3_ENUM_ITER@@QEAAPEBVFILE3_ENUM_OBJ@@PEAJH@Z
+; public: class GROUP0_ENUM_OBJ const * __ptr64 __cdecl GROUP0_ENUM_ITER::operator()(void) __ptr64
+??RGROUP0_ENUM_ITER@@QEAAPEBVGROUP0_ENUM_OBJ@@XZ
+; public: class GROUP1_ENUM_OBJ const * __ptr64 __cdecl GROUP1_ENUM_ITER::operator()(void) __ptr64
+??RGROUP1_ENUM_ITER@@QEAAPEBVGROUP1_ENUM_OBJ@@XZ
+; public: class OS_LUID_AND_ATTRIBUTES const * __ptr64 __cdecl LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::operator()(void) __ptr64
+??RLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QEAAPEBVOS_LUID_AND_ATTRIBUTES@@XZ
+; public: class NT_MACHINE_ENUM_OBJ const * __ptr64 __cdecl NT_MACHINE_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
+??RNT_MACHINE_ENUM_ITER@@QEAAPEBVNT_MACHINE_ENUM_OBJ@@PEAJH@Z
+; public: class SERVER1_ENUM_OBJ const * __ptr64 __cdecl SERVER1_ENUM_ITER::operator()(void) __ptr64
+??RSERVER1_ENUM_ITER@@QEAAPEBVSERVER1_ENUM_OBJ@@XZ
+; public: class SERVICE_ENUM_OBJ const * __ptr64 __cdecl SERVICE_ENUM_ITER::operator()(void) __ptr64
+??RSERVICE_ENUM_ITER@@QEAAPEBVSERVICE_ENUM_OBJ@@XZ
+; public: class SESSION0_ENUM_OBJ const * __ptr64 __cdecl SESSION0_ENUM_ITER::operator()(void) __ptr64
+??RSESSION0_ENUM_ITER@@QEAAPEBVSESSION0_ENUM_OBJ@@XZ
+; public: class SESSION1_ENUM_OBJ const * __ptr64 __cdecl SESSION1_ENUM_ITER::operator()(void) __ptr64
+??RSESSION1_ENUM_ITER@@QEAAPEBVSESSION1_ENUM_OBJ@@XZ
+; public: class SHARE1_ENUM_OBJ const * __ptr64 __cdecl SHARE1_ENUM_ITER::operator()(void) __ptr64
+??RSHARE1_ENUM_ITER@@QEAAPEBVSHARE1_ENUM_OBJ@@XZ
+; public: class SHARE2_ENUM_OBJ const * __ptr64 __cdecl SHARE2_ENUM_ITER::operator()(void) __ptr64
+??RSHARE2_ENUM_ITER@@QEAAPEBVSHARE2_ENUM_OBJ@@XZ
+; public: class TRIPLE_SERVER_ENUM_OBJ const * __ptr64 __cdecl TRIPLE_SERVER_ENUM_ITER::operator()(void) __ptr64
+??RTRIPLE_SERVER_ENUM_ITER@@QEAAPEBVTRIPLE_SERVER_ENUM_OBJ@@XZ
+; public: class USE1_ENUM_OBJ const * __ptr64 __cdecl USE1_ENUM_ITER::operator()(void) __ptr64
+??RUSE1_ENUM_ITER@@QEAAPEBVUSE1_ENUM_OBJ@@XZ
+; public: class USER0_ENUM_OBJ const * __ptr64 __cdecl USER0_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
+??RUSER0_ENUM_ITER@@QEAAPEBVUSER0_ENUM_OBJ@@PEAJH@Z
+; public: long __cdecl SLIST_OF_NLS_STR::Add(class NLS_STR const * __ptr64) __ptr64
+?Add@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
+; public: long __cdecl OS_ACL::AddACE(unsigned long,class OS_ACE const & __ptr64) __ptr64
+?AddACE@OS_ACL@@QEAAJKAEBVOS_ACE@@@Z
+; public: long __cdecl MEMBERSHIP_LM_OBJ::AddAssocName(unsigned short const * __ptr64) __ptr64
+?AddAssocName@MEMBERSHIP_LM_OBJ@@QEAAJPEBG@Z
+; private: static long __cdecl DOMAIN_WITH_DC_CACHE::AddDcCache(struct _DC_CACHE_ENTRY * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)
+?AddDcCache@DOMAIN_WITH_DC_CACHE@@CAJPEAPEAU_DC_CACHE_ENTRY@@PEBG1@Z
+; private: void __cdecl BROWSE_DOMAIN_INFO::AddDomainSource(unsigned long) __ptr64
+?AddDomainSource@BROWSE_DOMAIN_INFO@@AEAAXK@Z
+; private: long __cdecl BROWSE_DOMAIN_ENUM::AddDomainToList(unsigned short const * __ptr64,unsigned long,int) __ptr64
+?AddDomainToList@BROWSE_DOMAIN_ENUM@@AEAAJPEBGKH@Z
+; public: long __cdecl SAM_ALIAS::AddMember(void * __ptr64) __ptr64
+?AddMember@SAM_ALIAS@@QEAAJPEAX@Z
+; public: long __cdecl SAM_GROUP::AddMember(unsigned long) __ptr64
+?AddMember@SAM_GROUP@@QEAAJK@Z
+; public: long __cdecl SAM_ALIAS::AddMembers(void * __ptr64 * __ptr64,unsigned int) __ptr64
+?AddMembers@SAM_ALIAS@@QEAAJPEAPEAXI@Z
+; public: long __cdecl SAM_GROUP::AddMembers(unsigned long * __ptr64,unsigned int) __ptr64
+?AddMembers@SAM_GROUP@@QEAAJPEAKI@Z
+; public: long __cdecl OS_PRIVILEGE_SET::AddPrivilege(struct _LUID,unsigned long) __ptr64
+?AddPrivilege@OS_PRIVILEGE_SET@@QEAAJU_LUID@@K@Z
+; public: long __cdecl SLIST_OF_ADMIN_AUTHORITY::Append(class ADMIN_AUTHORITY const * __ptr64) __ptr64
+?Append@SLIST_OF_ADMIN_AUTHORITY@@QEAAJPEBVADMIN_AUTHORITY@@@Z
+; public: long __cdecl SLIST_OF_API_SESSION::Append(class API_SESSION const * __ptr64) __ptr64
+?Append@SLIST_OF_API_SESSION@@QEAAJPEBVAPI_SESSION@@@Z
+; public: long __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::Append(class BROWSE_DOMAIN_INFO const * __ptr64) __ptr64
+?Append@SLIST_OF_BROWSE_DOMAIN_INFO@@QEAAJPEBVBROWSE_DOMAIN_INFO@@@Z
+; public: long __cdecl SLIST_OF_LM_RESUME_BUFFER::Append(class LM_RESUME_BUFFER const * __ptr64) __ptr64
+?Append@SLIST_OF_LM_RESUME_BUFFER@@QEAAJPEBVLM_RESUME_BUFFER@@@Z
+; public: long __cdecl SLIST_OF_NLS_STR::Append(class NLS_STR const * __ptr64) __ptr64
+?Append@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
+; public: int __cdecl CHARDEVQ1_ENUM_ITER::Backup(void) __ptr64
+?Backup@CHARDEVQ1_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl CONN0_ENUM_ITER::Backup(void) __ptr64
+?Backup@CONN0_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl CONN1_ENUM_ITER::Backup(void) __ptr64
+?Backup@CONN1_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl CONTEXT_ENUM_ITER::Backup(void) __ptr64
+?Backup@CONTEXT_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl DOMAIN0_ENUM_ITER::Backup(void) __ptr64
+?Backup@DOMAIN0_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl GROUP0_ENUM_ITER::Backup(void) __ptr64
+?Backup@GROUP0_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl GROUP1_ENUM_ITER::Backup(void) __ptr64
+?Backup@GROUP1_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl SERVER1_ENUM_ITER::Backup(void) __ptr64
+?Backup@SERVER1_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl SERVICE_ENUM_ITER::Backup(void) __ptr64
+?Backup@SERVICE_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl SESSION0_ENUM_ITER::Backup(void) __ptr64
+?Backup@SESSION0_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl SESSION1_ENUM_ITER::Backup(void) __ptr64
+?Backup@SESSION1_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl SHARE1_ENUM_ITER::Backup(void) __ptr64
+?Backup@SHARE1_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl SHARE2_ENUM_ITER::Backup(void) __ptr64
+?Backup@SHARE2_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl TRIPLE_SERVER_ENUM_ITER::Backup(void) __ptr64
+?Backup@TRIPLE_SERVER_ENUM_ITER@@QEAAHXZ
+; public: int __cdecl USE1_ENUM_ITER::Backup(void) __ptr64
+?Backup@USE1_ENUM_ITER@@QEAAHXZ
+; public: static long __cdecl NT_ACCOUNTS_UTILITY::BuildAndCopySysSid(class OS_SID * __ptr64,struct _SID_IDENTIFIER_AUTHORITY * __ptr64,unsigned char,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)
+?BuildAndCopySysSid@NT_ACCOUNTS_UTILITY@@SAJPEAVOS_SID@@PEAU_SID_IDENTIFIER_AUTHORITY@@EKKKKKKKK@Z
+; public: static long __cdecl NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,class NLS_STR const * __ptr64,enum _SID_NAME_USE)
+?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJPEAVNLS_STR@@AEBV2@1PEBV2@2W4_SID_NAME_USE@@@Z
+; public: static long __cdecl NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,void * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,void * __ptr64,enum _SID_NAME_USE)
+?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJPEAVNLS_STR@@AEBV2@PEAX1PEBV2@2W4_SID_NAME_USE@@@Z
+; private: virtual long __cdecl ALIAS_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@ALIAS_ENUM@@EEAAJHPEAPEAEPEAI@Z
+; private: virtual long __cdecl CHARDEVQ_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@CHARDEVQ_ENUM@@EEAAJPEAPEAEPEAI@Z
+; private: virtual long __cdecl CONN_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@CONN_ENUM@@EEAAJPEAPEAEPEAI@Z
+; protected: virtual long __cdecl CONTEXT_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@CONTEXT_ENUM@@MEAAJPEAPEAEPEAI@Z
+; protected: virtual long __cdecl DEVICE2::CallAPI(void) __ptr64
+?CallAPI@DEVICE2@@MEAAJXZ
+; protected: virtual long __cdecl DEVICE::CallAPI(void) __ptr64
+?CallAPI@DEVICE@@MEAAJXZ
+; private: virtual long __cdecl DOMAIN_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@DOMAIN_ENUM@@EEAAJPEAPEAEPEAI@Z
+; private: virtual long __cdecl FILE_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@FILE_ENUM@@EEAAJHPEAPEAEPEAI@Z
+; private: virtual long __cdecl GROUP_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@GROUP_ENUM@@EEAAJPEAPEAEPEAI@Z
+; protected: virtual long __cdecl GROUP_MEMB::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@GROUP_MEMB@@MEAAJPEAPEAEPEAI@Z
+; private: virtual long __cdecl LSA_ACCOUNTS_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@LSA_ACCOUNTS_ENUM@@EEAAJHPEAPEAEPEAI@Z
+; protected: virtual long __cdecl LSA_PRIVILEGES_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@LSA_PRIVILEGES_ENUM@@MEAAJHPEAPEAEPEAI@Z
+; private: virtual long __cdecl NT_ACCOUNT_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@NT_ACCOUNT_ENUM@@EEAAJHPEAPEAEPEAI@Z
+; private: virtual long __cdecl SAM_USER_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@SAM_USER_ENUM@@EEAAJHPEAPEAEPEAI@Z
+; private: virtual long __cdecl SERVER_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@SERVER_ENUM@@EEAAJPEAPEAEPEAI@Z
+; private: virtual long __cdecl SERVICE_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@SERVICE_ENUM@@EEAAJPEAPEAEPEAI@Z
+; private: virtual long __cdecl SESSION_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@SESSION_ENUM@@EEAAJPEAPEAEPEAI@Z
+; private: virtual long __cdecl SHARE_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@SHARE_ENUM@@EEAAJPEAPEAEPEAI@Z
+; private: virtual long __cdecl TRIPLE_SERVER_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@TRIPLE_SERVER_ENUM@@EEAAJPEAPEAEPEAI@Z
+; private: virtual long __cdecl TRUSTED_DOMAIN_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@TRUSTED_DOMAIN_ENUM@@EEAAJHPEAPEAEPEAI@Z
+; private: virtual long __cdecl USER_ENUM::CallAPI(int,unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@USER_ENUM@@EEAAJHPEAPEAEPEAI@Z
+; protected: virtual long __cdecl USER_MEMB::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@USER_MEMB@@MEAAJPEAPEAEPEAI@Z
+; private: virtual long __cdecl USE_ENUM::CallAPI(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?CallAPI@USE_ENUM@@EEAAJPEAPEAEPEAI@Z
+; public: long __cdecl SC_SERVICE::ChangeConfig(unsigned int,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?ChangeConfig@SC_SERVICE@@QEAAJIIIPEBG00000@Z
+; public: long __cdecl NEW_LM_OBJ::ChangeToNew(void) __ptr64
+?ChangeToNew@NEW_LM_OBJ@@QEAAJXZ
+; public: long __cdecl LOCATION::CheckIfNT(int * __ptr64) __ptr64
+?CheckIfNT@LOCATION@@QEAAJPEAH@Z
+; public: long __cdecl LOCATION::CheckIfNT(int * __ptr64,enum LOCATION_NT_TYPE * __ptr64) __ptr64
+?CheckIfNT@LOCATION@@QEAAJPEAHPEAW4LOCATION_NT_TYPE@@@Z
+; public: long __cdecl LSA_POLICY::CheckIfShutDownOnFull(int * __ptr64) __ptr64
+?CheckIfShutDownOnFull@LSA_POLICY@@QEAAJPEAH@Z
+; protected: void __cdecl LSA_POLICY::CleanupUnistrArray(struct _UNICODE_STRING * __ptr64,unsigned long) __ptr64
+?CleanupUnistrArray@LSA_POLICY@@IEAAXPEAU_UNICODE_STRING@@K@Z
+; public: void __cdecl OS_PRIVILEGE_SET::Clear(void) __ptr64
+?Clear@OS_PRIVILEGE_SET@@QEAAXXZ
+; public: void __cdecl SLIST_OF_ADMIN_AUTHORITY::Clear(void) __ptr64
+?Clear@SLIST_OF_ADMIN_AUTHORITY@@QEAAXXZ
+; public: void __cdecl SLIST_OF_API_SESSION::Clear(void) __ptr64
+?Clear@SLIST_OF_API_SESSION@@QEAAXXZ
+; public: void __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::Clear(void) __ptr64
+?Clear@SLIST_OF_BROWSE_DOMAIN_INFO@@QEAAXXZ
+; public: void __cdecl SLIST_OF_LM_RESUME_BUFFER::Clear(void) __ptr64
+?Clear@SLIST_OF_LM_RESUME_BUFFER@@QEAAXXZ
+; protected: long __cdecl NEW_LM_OBJ::ClearBuffer(void) __ptr64
+?ClearBuffer@NEW_LM_OBJ@@IEAAJXZ
+; private: static long __cdecl DOMAIN_WITH_DC_CACHE::ClearDcCache(struct _DC_CACHE_ENTRY * __ptr64)
+?ClearDcCache@DOMAIN_WITH_DC_CACHE@@CAJPEAU_DC_CACHE_ENTRY@@@Z
+; public: long __cdecl NET_ACCESS_1::ClearPerms(void) __ptr64
+?ClearPerms@NET_ACCESS_1@@QEAAJXZ
+; public: long __cdecl GROUP_1::CloneFrom(class GROUP_1 const & __ptr64) __ptr64
+?CloneFrom@GROUP_1@@QEAAJAEBV1@@Z
+; public: long __cdecl GROUP_MEMB::CloneFrom(class GROUP_MEMB const & __ptr64) __ptr64
+?CloneFrom@GROUP_MEMB@@QEAAJAEBV1@@Z
+; public: long __cdecl SHARE_1::CloneFrom(class SHARE_1 const & __ptr64) __ptr64
+?CloneFrom@SHARE_1@@QEAAJAEBV1@@Z
+; public: long __cdecl SHARE_2::CloneFrom(class SHARE_2 const & __ptr64) __ptr64
+?CloneFrom@SHARE_2@@QEAAJAEBV1@@Z
+; public: long __cdecl USER_2::CloneFrom(class USER_2 const & __ptr64) __ptr64
+?CloneFrom@USER_2@@QEAAJAEBV1@@Z
+; public: long __cdecl USER_3::CloneFrom(class USER_3 const & __ptr64) __ptr64
+?CloneFrom@USER_3@@QEAAJAEBV1@@Z
+; public: long __cdecl USER_MEMB::CloneFrom(class USER_MEMB const & __ptr64) __ptr64
+?CloneFrom@USER_MEMB@@QEAAJAEBV1@@Z
+; public: long __cdecl SERVICE_CONTROL::Close(void) __ptr64
+?Close@SERVICE_CONTROL@@QEAAJXZ
+; public: long __cdecl LM_FILE::CloseFile(void) __ptr64
+?CloseFile@LM_FILE@@QEAAJXZ
+; public: long __cdecl LSA_OBJECT::CloseHandle(int) __ptr64
+?CloseHandle@LSA_OBJECT@@QEAAJH@Z
+; public: long __cdecl SAM_OBJECT::CloseHandle(void) __ptr64
+?CloseHandle@SAM_OBJECT@@QEAAJXZ
+; private: void __cdecl TRIPLE_SERVER_ENUM::CombineIntoTriple(struct _SERVER_INFO_101 const * __ptr64,struct _KNOWN_SERVER_INFO const * __ptr64,struct _TRIPLE_SERVER_INFO * __ptr64) __ptr64
+?CombineIntoTriple@TRIPLE_SERVER_ENUM@@AEAAXPEBU_SERVER_INFO_101@@PEBU_KNOWN_SERVER_INFO@@PEAU_TRIPLE_SERVER_INFO@@@Z
+; public: long __cdecl OS_ACL_SUBJECT_ITER::Compare(int * __ptr64,class OS_ACL_SUBJECT_ITER * __ptr64) __ptr64
+?Compare@OS_ACL_SUBJECT_ITER@@QEAAJPEAHPEAV1@@Z
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::Compare(class OS_SECURITY_DESCRIPTOR * __ptr64,int * __ptr64,int * __ptr64,int * __ptr64,int * __ptr64,struct _GENERIC_MAPPING * __ptr64,struct _GENERIC_MAPPING * __ptr64,int,int) __ptr64
+?Compare@OS_SECURITY_DESCRIPTOR@@QEAAJPEAV1@PEAH111PEAU_GENERIC_MAPPING@@2HH@Z
+; public: int __cdecl NET_ACCESS_1::CompareACL(class NET_ACCESS_1 * __ptr64) __ptr64
+?CompareACL@NET_ACCESS_1@@QEAAHPEAV1@@Z
+; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareBrowserServers(void const * __ptr64,void const * __ptr64)
+?CompareBrowserServers@TRIPLE_SERVER_ENUM@@CAHPEBX0@Z
+; public: virtual int __cdecl OS_DACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER * __ptr64) __ptr64
+?CompareCurrentSubject@OS_DACL_SUBJECT_ITER@@UEAAHPEAVOS_ACL_SUBJECT_ITER@@@Z
+; public: virtual int __cdecl OS_SACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER * __ptr64) __ptr64
+?CompareCurrentSubject@OS_SACL_SUBJECT_ITER@@UEAAHPEAVOS_ACL_SUBJECT_ITER@@@Z
+; private: static int __cdecl DOMAIN0_ENUM::CompareDomains0(void const * __ptr64,void const * __ptr64)
+?CompareDomains0@DOMAIN0_ENUM@@CAHPEBX0@Z
+; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareLmServers(void const * __ptr64,void const * __ptr64)
+?CompareLmServers@TRIPLE_SERVER_ENUM@@CAHPEBX0@Z
+; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareNtServers(void const * __ptr64,void const * __ptr64)
+?CompareNtServers@TRIPLE_SERVER_ENUM@@CAHPEBX0@Z
+; public: long __cdecl DEVICE2::Connect(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+?Connect@DEVICE2@@QEAAJPEBG000K@Z
+; public: long __cdecl DEVICE::Connect(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?Connect@DEVICE@@QEAAJPEBG0@Z
+; long __cdecl ConnectToNullSession(class NLS_STR const & __ptr64)
+?ConnectToNullSession@@YAJAEBVNLS_STR@@@Z
+; public: long __cdecl LM_SERVICE::Continue(unsigned int,unsigned int) __ptr64
+?Continue@LM_SERVICE@@QEAAJII@Z
+; public: long __cdecl SC_SERVICE::Control(unsigned int,struct _SERVICE_STATUS * __ptr64) __ptr64
+?Control@SC_SERVICE@@QEAAJIPEAU_SERVICE_STATUS@@@Z
+; public: long __cdecl OS_ACL::Copy(class OS_ACL const & __ptr64,int) __ptr64
+?Copy@OS_ACL@@QEAAJAEBV1@H@Z
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::Copy(class OS_SECURITY_DESCRIPTOR const & __ptr64) __ptr64
+?Copy@OS_SECURITY_DESCRIPTOR@@QEAAJAEBV1@@Z
+; public: long __cdecl OS_SID::Copy(class OS_SID const & __ptr64) __ptr64
+?Copy@OS_SID@@QEAAJAEBV1@@Z
+; public: long __cdecl NET_ACCESS_1::CopyAccessPerms(class NET_ACCESS_1 const & __ptr64) __ptr64
+?CopyAccessPerms@NET_ACCESS_1@@QEAAJAEBV1@@Z
+; private: void __cdecl SERVICE_ENUM::CountServices(unsigned char * __ptr64,unsigned int * __ptr64,unsigned int * __ptr64) __ptr64
+?CountServices@SERVICE_ENUM@@AEAAXPEAEPEAI1@Z
+; public: static long __cdecl NT_ACCOUNTS_UTILITY::CrackQualifiedAccountName(class NLS_STR const & __ptr64,class NLS_STR * __ptr64,class NLS_STR * __ptr64)
+?CrackQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJAEBVNLS_STR@@PEAV2@1@Z
+; public: long __cdecl LSA_SECRET::Create(class LSA_POLICY const & __ptr64,unsigned long) __ptr64
+?Create@LSA_SECRET@@QEAAJAEBVLSA_POLICY@@K@Z
+; public: long __cdecl NEW_LM_OBJ::CreateNew(void) __ptr64
+?CreateNew@NEW_LM_OBJ@@QEAAJXZ
+; private: void __cdecl DOMAIN::CtAux(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?CtAux@DOMAIN@@AEAAXPEBG0@Z
+; private: void __cdecl GROUP::CtAux(unsigned short const * __ptr64) __ptr64
+?CtAux@GROUP@@AEAAXPEBG@Z
+; private: void __cdecl GROUP_1::CtAux(void) __ptr64
+?CtAux@GROUP_1@@AEAAXXZ
+; private: void __cdecl LOC_LM_OBJ::CtAux(void) __ptr64
+?CtAux@LOC_LM_OBJ@@AEAAXXZ
+; private: void __cdecl USER::CtAux(unsigned short const * __ptr64) __ptr64
+?CtAux@USER@@AEAAXPEBG@Z
+; private: void __cdecl USER_11::CtAux(void) __ptr64
+?CtAux@USER_11@@AEAAXXZ
+; private: void __cdecl USER_2::CtAux(void) __ptr64
+?CtAux@USER_2@@AEAAXXZ
+; private: void __cdecl USER_3::CtAux(void) __ptr64
+?CtAux@USER_3@@AEAAXXZ
+; public: long __cdecl LSA_TRUSTED_DOMAIN::Delete(void) __ptr64
+?Delete@LSA_TRUSTED_DOMAIN@@QEAAJXZ
+; public: long __cdecl NET_ACCESS::Delete(void) __ptr64
+?Delete@NET_ACCESS@@QEAAJXZ
+; public: long __cdecl NEW_LM_OBJ::Delete(unsigned int) __ptr64
+?Delete@NEW_LM_OBJ@@QEAAJI@Z
+; public: long __cdecl SAM_ALIAS::Delete(void) __ptr64
+?Delete@SAM_ALIAS@@QEAAJXZ
+; public: long __cdecl SC_SERVICE::Delete(void) __ptr64
+?Delete@SC_SERVICE@@QEAAJXZ
+; public: long __cdecl OS_ACL::DeleteACE(unsigned long) __ptr64
+?DeleteACE@OS_ACL@@QEAAJK@Z
+; protected: long __cdecl LSA_POLICY::DeleteAllTrustedDomains(void) __ptr64
+?DeleteAllTrustedDomains@LSA_POLICY@@IEAAJXZ
+; public: long __cdecl MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned int) __ptr64
+?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QEAAJI@Z
+; public: long __cdecl MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned short const * __ptr64) __ptr64
+?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QEAAJPEBG@Z
+; public: long __cdecl LSA_ACCOUNT::DeletePrivilege(struct _LUID) __ptr64
+?DeletePrivilege@LSA_ACCOUNT@@QEAAJU_LUID@@@Z
+; private: void __cdecl LM_ENUM::DeregisterIter(void) __ptr64
+?DeregisterIter@LM_ENUM@@AEAAXXZ
+; private: void __cdecl LM_RESUME_ENUM::DeregisterIter(void) __ptr64
+?DeregisterIter@LM_RESUME_ENUM@@AEAAXXZ
+; private: long __cdecl BROWSE_DOMAIN_ENUM::DetermineIfDomainMember(int * __ptr64) __ptr64
+?DetermineIfDomainMember@BROWSE_DOMAIN_ENUM@@AEAAJPEAH@Z
+; public: long __cdecl DEVICE::Disconnect(unsigned int) __ptr64
+?Disconnect@DEVICE@@QEAAJI@Z
+; public: long __cdecl DEVICE::Disconnect(unsigned short const * __ptr64,unsigned int) __ptr64
+?Disconnect@DEVICE@@QEAAJPEBGI@Z
+; public: long __cdecl LSA_POLICY::DistrustDomain(void * __ptr64 const,class NLS_STR const & __ptr64,int) __ptr64
+?DistrustDomain@LSA_POLICY@@QEAAJQEAXAEBVNLS_STR@@H@Z
+; public: int __cdecl LM_RESUME_ENUM::DoesKeepBuffers(void)const  __ptr64
+?DoesKeepBuffers@LM_RESUME_ENUM@@QEBAHXZ
+; private: virtual unsigned char * __ptr64 __cdecl ENUM_CALLER_LM_OBJ::EC_QueryBufferPtr(void)const  __ptr64
+?EC_QueryBufferPtr@ENUM_CALLER_LM_OBJ@@EEBAPEAEXZ
+; private: virtual unsigned char * __ptr64 __cdecl LM_ENUM::EC_QueryBufferPtr(void)const  __ptr64
+?EC_QueryBufferPtr@LM_ENUM@@EEBAPEAEXZ
+; private: virtual unsigned int __cdecl ENUM_CALLER_LM_OBJ::EC_QueryBufferSize(void)const  __ptr64
+?EC_QueryBufferSize@ENUM_CALLER_LM_OBJ@@EEBAIXZ
+; private: virtual long __cdecl ENUM_CALLER_LM_OBJ::EC_ResizeBuffer(unsigned int) __ptr64
+?EC_ResizeBuffer@ENUM_CALLER_LM_OBJ@@EEAAJI@Z
+; private: virtual long __cdecl ENUM_CALLER_LM_OBJ::EC_SetBufferPtr(unsigned char * __ptr64) __ptr64
+?EC_SetBufferPtr@ENUM_CALLER_LM_OBJ@@EEAAJPEAE@Z
+; private: virtual long __cdecl LM_ENUM::EC_SetBufferPtr(unsigned char * __ptr64) __ptr64
+?EC_SetBufferPtr@LM_ENUM@@EEAAJPEAE@Z
+; private: static long __cdecl DOMAIN_WITH_DC_CACHE::EnterCriticalSection(void)
+?EnterCriticalSection@DOMAIN_WITH_DC_CACHE@@CAJXZ
+; unsigned long __cdecl EnumAllComms(void)
+?EnumAllComms@@YAKXZ
+; unsigned long __cdecl EnumAllDrives(void)
+?EnumAllDrives@@YAKXZ
+; unsigned long __cdecl EnumAllLPTs(void)
+?EnumAllLPTs@@YAKXZ
+; private: unsigned short const * __ptr64 __cdecl ITER_DEVICE::EnumComms(void) __ptr64
+?EnumComms@ITER_DEVICE@@AEAAPEBGXZ
+; public: long __cdecl SC_SERVICE::EnumDependent(unsigned int,struct _ENUM_SERVICE_STATUSW * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?EnumDependent@SC_SERVICE@@QEAAJIPEAPEAU_ENUM_SERVICE_STATUSW@@PEAK@Z
+; private: unsigned short const * __ptr64 __cdecl ITER_DEVICE::EnumDrives(void) __ptr64
+?EnumDrives@ITER_DEVICE@@AEAAPEBGXZ
+; private: unsigned short const * __ptr64 __cdecl ITER_DEVICE::EnumLPTs(void) __ptr64
+?EnumLPTs@ITER_DEVICE@@AEAAPEBGXZ
+; private: long __cdecl SERVICE_ENUM::EnumLmServices(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?EnumLmServices@SERVICE_ENUM@@AEAAJPEAPEAEPEAI@Z
+; unsigned long __cdecl EnumLocalComms(void)
+?EnumLocalComms@@YAKXZ
+; unsigned long __cdecl EnumLocalDrives(void)
+?EnumLocalDrives@@YAKXZ
+; unsigned long __cdecl EnumLocalLPTs(void)
+?EnumLocalLPTs@@YAKXZ
+; unsigned long __cdecl EnumNetComms(void)
+?EnumNetComms@@YAKXZ
+; unsigned long __cdecl EnumNetDevices(int)
+?EnumNetDevices@@YAKH@Z
+; unsigned long __cdecl EnumNetDrives(void)
+?EnumNetDrives@@YAKXZ
+; unsigned long __cdecl EnumNetLPTs(void)
+?EnumNetLPTs@@YAKXZ
+; private: long __cdecl SERVICE_ENUM::EnumNtServices(unsigned char * __ptr64 * __ptr64,unsigned int * __ptr64) __ptr64
+?EnumNtServices@SERVICE_ENUM@@AEAAJPEAPEAEPEAI@Z
+; public: long __cdecl SC_MANAGER::EnumServiceStatus(unsigned int,unsigned int,struct _ENUM_SERVICE_STATUSW * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned short const * __ptr64) __ptr64
+?EnumServiceStatus@SC_MANAGER@@QEAAJIIPEAPEAU_ENUM_SERVICE_STATUSW@@PEAKPEBG@Z
+; unsigned long __cdecl EnumUnavailComms(void)
+?EnumUnavailComms@@YAKXZ
+; unsigned long __cdecl EnumUnavailDevices(int)
+?EnumUnavailDevices@@YAKH@Z
+; unsigned long __cdecl EnumUnavailDrives(void)
+?EnumUnavailDrives@@YAKXZ
+; unsigned long __cdecl EnumUnavailLPTs(void)
+?EnumUnavailLPTs@@YAKXZ
+; public: long __cdecl SAM_DOMAIN::EnumerateAliases(class SAM_RID_ENUMERATION_MEM * __ptr64,unsigned long * __ptr64,unsigned long)const  __ptr64
+?EnumerateAliases@SAM_DOMAIN@@QEBAJPEAVSAM_RID_ENUMERATION_MEM@@PEAKK@Z
+; public: long __cdecl SAM_DOMAIN::EnumerateAliasesForUser(void * __ptr64,class SAM_RID_MEM * __ptr64)const  __ptr64
+?EnumerateAliasesForUser@SAM_DOMAIN@@QEBAJPEAXPEAVSAM_RID_MEM@@@Z
+; public: long __cdecl SAM_DOMAIN::EnumerateGroups(class SAM_RID_ENUMERATION_MEM * __ptr64,unsigned long * __ptr64,unsigned long)const  __ptr64
+?EnumerateGroups@SAM_DOMAIN@@QEBAJPEAVSAM_RID_ENUMERATION_MEM@@PEAKK@Z
+; public: long __cdecl LSA_POLICY::EnumerateTrustedDomains(class LSA_TRUST_INFO_MEM * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?EnumerateTrustedDomains@LSA_POLICY@@QEAAJPEAVLSA_TRUST_INFO_MEM@@PEAKK@Z
+; public: long __cdecl SAM_DOMAIN::EnumerateUsers(class SAM_RID_ENUMERATION_MEM * __ptr64,unsigned long * __ptr64,unsigned long,unsigned long)const  __ptr64
+?EnumerateUsers@SAM_DOMAIN@@QEBAJPEAVSAM_RID_ENUMERATION_MEM@@PEAKKK@Z
+; long __cdecl FillUnicodeString(struct _UNICODE_STRING * __ptr64,class NLS_STR const & __ptr64)
+?FillUnicodeString@@YAJPEAU_UNICODE_STRING@@AEBVNLS_STR@@@Z
+; private: struct _ACCESS_LIST * __ptr64 __cdecl NET_ACCESS_1::FindACE(unsigned short const * __ptr64,enum PERMNAME_TYPE)const  __ptr64
+?FindACE@NET_ACCESS_1@@AEBAPEAU_ACCESS_LIST@@PEBGW4PERMNAME_TYPE@@@Z
+; public: long __cdecl OS_ACL::FindACE(class OS_SID const & __ptr64,int * __ptr64,class OS_ACE * __ptr64,unsigned long * __ptr64,unsigned long)const  __ptr64
+?FindACE@OS_ACL@@QEBAJAEBVOS_SID@@PEAHPEAVOS_ACE@@PEAKK@Z
+; public: int __cdecl MEMBERSHIP_LM_OBJ::FindAssocName(unsigned short const * __ptr64,unsigned int * __ptr64) __ptr64
+?FindAssocName@MEMBERSHIP_LM_OBJ@@QEAAHPEBGPEAI@Z
+; private: static unsigned short const * __ptr64 __cdecl DOMAIN_WITH_DC_CACHE::FindDcCache(struct _DC_CACHE_ENTRY const * __ptr64,unsigned short const * __ptr64)
+?FindDcCache@DOMAIN_WITH_DC_CACHE@@CAPEBGPEBU_DC_CACHE_ENTRY@@PEBG@Z
+; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::FindFirst(unsigned long) __ptr64
+?FindFirst@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@K@Z
+; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::FindNext(unsigned long) __ptr64
+?FindNext@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@K@Z
+; public: long __cdecl OS_ACL_SUBJECT_ITER::FindNextSubject(int * __ptr64,class OS_SID * __ptr64,class OS_ACE * __ptr64) __ptr64
+?FindNextSubject@OS_ACL_SUBJECT_ITER@@QEAAJPEAHPEAVOS_SID@@PEAVOS_ACE@@@Z
+; public: long __cdecl OS_PRIVILEGE_SET::FindPrivilege(struct _LUID)const  __ptr64
+?FindPrivilege@OS_PRIVILEGE_SET@@QEBAJU_LUID@@@Z
+; protected: void __cdecl NEW_LM_OBJ::FixupPointer(unsigned short * __ptr64 * __ptr64,class NEW_LM_OBJ const * __ptr64) __ptr64
+?FixupPointer@NEW_LM_OBJ@@IEAAXPEAPEAGPEBV1@@Z
+; protected: virtual void __cdecl ALIAS_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
+?FreeBuffer@ALIAS_ENUM@@MEAAXPEAPEAE@Z
+; protected: virtual void __cdecl FILE_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
+?FreeBuffer@FILE_ENUM@@MEAAXPEAPEAE@Z
+; protected: virtual void __cdecl LOC_LM_RESUME_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
+?FreeBuffer@LOC_LM_RESUME_ENUM@@MEAAXPEAPEAE@Z
+; protected: virtual void __cdecl LSA_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
+?FreeBuffer@LSA_ENUM@@MEAAXPEAPEAE@Z
+; protected: virtual void __cdecl LSA_MEMORY::FreeBuffer(void) __ptr64
+?FreeBuffer@LSA_MEMORY@@MEAAXXZ
+; private: void __cdecl LSA_TRUSTED_DC_LIST::FreeBuffer(void) __ptr64
+?FreeBuffer@LSA_TRUSTED_DC_LIST@@AEAAXXZ
+; protected: virtual void __cdecl NT_ACCOUNT_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
+?FreeBuffer@NT_ACCOUNT_ENUM@@MEAAXPEAPEAE@Z
+; protected: virtual void __cdecl SAM_MEMORY::FreeBuffer(void) __ptr64
+?FreeBuffer@SAM_MEMORY@@MEAAXXZ
+; protected: virtual void __cdecl SAM_USER_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
+?FreeBuffer@SAM_USER_ENUM@@MEAAXPEAPEAE@Z
+; protected: virtual void __cdecl TRUSTED_DOMAIN_ENUM::FreeBuffer(unsigned char * __ptr64 * __ptr64) __ptr64
+?FreeBuffer@TRUSTED_DOMAIN_ENUM@@MEAAXPEAPEAE@Z
+; void __cdecl FreeUnicodeString(struct _UNICODE_STRING * __ptr64)
+?FreeUnicodeString@@YAXPEAU_UNICODE_STRING@@@Z
+; public: long __cdecl LSA_POLICY::GetAccountDomain(class LSA_ACCT_DOM_INFO_MEM * __ptr64)const  __ptr64
+?GetAccountDomain@LSA_POLICY@@QEBAJPEAVLSA_ACCT_DOM_INFO_MEM@@@Z
+; public: static long __cdecl DOMAIN::GetAnyDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
+?GetAnyDC@DOMAIN@@SAJPEBG0PEAVNLS_STR@@@Z
+; public: static long __cdecl DOMAIN_WITH_DC_CACHE::GetAnyDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
+?GetAnyDC@DOMAIN_WITH_DC_CACHE@@SAJPEBG0PEAVNLS_STR@@@Z
+; protected: static long __cdecl DOMAIN::GetAnyDCWorker(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64,int)
+?GetAnyDCWorker@DOMAIN@@KAJPEBG0PEAVNLS_STR@@H@Z
+; protected: static long __cdecl DOMAIN_WITH_DC_CACHE::GetAnyDCWorker(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64,int)
+?GetAnyDCWorker@DOMAIN_WITH_DC_CACHE@@KAJPEBG0PEAVNLS_STR@@H@Z
+; public: static long __cdecl DOMAIN::GetAnyValidDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
+?GetAnyValidDC@DOMAIN@@SAJPEBG0PEAVNLS_STR@@@Z
+; public: static long __cdecl DOMAIN_WITH_DC_CACHE::GetAnyValidDC(unsigned short const * __ptr64,unsigned short const * __ptr64,class NLS_STR * __ptr64)
+?GetAnyValidDC@DOMAIN_WITH_DC_CACHE@@SAJPEBG0PEAVNLS_STR@@@Z
+; public: long __cdecl LSA_POLICY::GetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM * __ptr64) __ptr64
+?GetAuditEventInfo@LSA_POLICY@@QEAAJPEAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
+; public: long __cdecl ALIAS_ENUM_OBJ::GetComment(class SAM_DOMAIN const & __ptr64,class NLS_STR * __ptr64) __ptr64
+?GetComment@ALIAS_ENUM_OBJ@@QEAAJAEBVSAM_DOMAIN@@PEAVNLS_STR@@@Z
+; public: long __cdecl SAM_ALIAS::GetComment(class NLS_STR * __ptr64) __ptr64
+?GetComment@SAM_ALIAS@@QEAAJPEAVNLS_STR@@@Z
+; public: long __cdecl SAM_GROUP::GetComment(class NLS_STR * __ptr64) __ptr64
+?GetComment@SAM_GROUP@@QEAAJPEAVNLS_STR@@@Z
+; private: long __cdecl NET_NAME::GetDeviceInfo(void) __ptr64
+?GetDeviceInfo@NET_NAME@@AEAAJXZ
+; public: virtual long __cdecl DEVICE::GetInfo(void) __ptr64
+?GetInfo@DEVICE@@UEAAJXZ
+; public: virtual long __cdecl DOMAIN::GetInfo(void) __ptr64
+?GetInfo@DOMAIN@@UEAAJXZ
+; public: virtual long __cdecl DOMAIN_WITH_DC_CACHE::GetInfo(void) __ptr64
+?GetInfo@DOMAIN_WITH_DC_CACHE@@UEAAJXZ
+; public: long __cdecl LM_ENUM::GetInfo(void) __ptr64
+?GetInfo@LM_ENUM@@QEAAJXZ
+; public: long __cdecl LM_RESUME_ENUM::GetInfo(int) __ptr64
+?GetInfo@LM_RESUME_ENUM@@QEAAJH@Z
+; public: long __cdecl NEW_LM_OBJ::GetInfo(void) __ptr64
+?GetInfo@NEW_LM_OBJ@@QEAAJXZ
+; public: virtual long __cdecl USER_MODALS::GetInfo(void) __ptr64
+?GetInfo@USER_MODALS@@UEAAJXZ
+; public: virtual long __cdecl USER_MODALS_3::GetInfo(void) __ptr64
+?GetInfo@USER_MODALS_3@@UEAAJXZ
+; private: long __cdecl LM_RESUME_ENUM::GetInfoMulti(void) __ptr64
+?GetInfoMulti@LM_RESUME_ENUM@@AEAAJXZ
+; private: long __cdecl LM_RESUME_ENUM::GetInfoSingle(int) __ptr64
+?GetInfoSingle@LM_RESUME_ENUM@@AEAAJH@Z
+; private: long __cdecl BROWSE_DOMAIN_ENUM::GetLanmanDomains(unsigned long) __ptr64
+?GetLanmanDomains@BROWSE_DOMAIN_ENUM@@AEAAJK@Z
+; private: long __cdecl BROWSE_DOMAIN_ENUM::GetLogonDomainDC(class NLS_STR * __ptr64) __ptr64
+?GetLogonDomainDC@BROWSE_DOMAIN_ENUM@@AEAAJPEAVNLS_STR@@@Z
+; public: long __cdecl SAM_ALIAS::GetMembers(class SAM_SID_MEM * __ptr64) __ptr64
+?GetMembers@SAM_ALIAS@@QEAAJPEAVSAM_SID_MEM@@@Z
+; public: long __cdecl SAM_GROUP::GetMembers(class SAM_RID_MEM * __ptr64) __ptr64
+?GetMembers@SAM_GROUP@@QEAAJPEAVSAM_RID_MEM@@@Z
+; public: long __cdecl SAM_DOMAIN::GetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM * __ptr64)const  __ptr64
+?GetPasswordInfo@SAM_DOMAIN@@QEBAJPEAVSAM_PSWD_DOM_INFO_MEM@@@Z
+; public: long __cdecl LSA_POLICY::GetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM * __ptr64)const  __ptr64
+?GetPrimaryDomain@LSA_POLICY@@QEBAJPEAVLSA_PRIMARY_DOM_INFO_MEM@@@Z
+; public: static long __cdecl NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY & __ptr64,class SAM_DOMAIN const & __ptr64,void * __ptr64 const * __ptr64,unsigned long,int,class STRLIST * __ptr64,unsigned long * __ptr64,enum _SID_NAME_USE * __ptr64,long * __ptr64,unsigned short const * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64)
+?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SAJAEAVLSA_POLICY@@AEBVSAM_DOMAIN@@PEBQEAXKHPEAVSTRLIST@@PEAKPEAW4_SID_NAME_USE@@PEAJPEBG3333@Z
+; public: static long __cdecl NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY & __ptr64,void * __ptr64 const,void * __ptr64 const * __ptr64,unsigned long,int,class STRLIST * __ptr64,unsigned long * __ptr64,enum _SID_NAME_USE * __ptr64,long * __ptr64,unsigned short const * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64,class STRLIST * __ptr64)
+?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SAJAEAVLSA_POLICY@@QEAXPEBQEAXKHPEAVSTRLIST@@PEAKPEAW4_SID_NAME_USE@@PEAJPEBG3333@Z
+; public: static long __cdecl LM_SRVRES::GetResourceCount(unsigned short const * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
+?GetResourceCount@LM_SRVRES@@SAJPEBGPEAK11111@Z
+; public: long __cdecl LSA_POLICY::GetServerRole(class LSA_SERVER_ROLE_INFO_MEM * __ptr64)const  __ptr64
+?GetServerRole@LSA_POLICY@@QEBAJPEAVLSA_SERVER_ROLE_INFO_MEM@@@Z
+; public: static long __cdecl LM_SRVRES::GetSessionsCount(unsigned short const * __ptr64,unsigned long * __ptr64)
+?GetSessionsCount@LM_SRVRES@@SAJPEBGPEAK@Z
+; private: long __cdecl BROWSE_DOMAIN_ENUM::GetTrustingDomains(void) __ptr64
+?GetTrustingDomains@BROWSE_DOMAIN_ENUM@@AEAAJXZ
+; long __cdecl GetW32ComputerName(class NLS_STR & __ptr64)
+?GetW32ComputerName@@YAJAEAVNLS_STR@@@Z
+; long __cdecl GetW32UserAndDomainName(class NLS_STR & __ptr64,class NLS_STR & __ptr64)
+?GetW32UserAndDomainName@@YAJAEAVNLS_STR@@0@Z
+; long __cdecl GetW32UserName(class NLS_STR & __ptr64)
+?GetW32UserName@@YAJAEAVNLS_STR@@@Z
+; private: long __cdecl BROWSE_DOMAIN_ENUM::GetWorkgroupDomains(void) __ptr64
+?GetWorkgroupDomains@BROWSE_DOMAIN_ENUM@@AEAAJXZ
+; protected: long __cdecl USER::HandleNullAccount(void) __ptr64
+?HandleNullAccount@USER@@IEAAJXZ
+; public: int __cdecl OS_DACL_SUBJECT_ITER::HasInheritOnlyAce(void)const  __ptr64
+?HasInheritOnlyAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_F(void)const  __ptr64
+?HasInheritOnlyAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_S(void)const  __ptr64
+?HasInheritOnlyAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
+; protected: int __cdecl LM_RESUME_ENUM_ITER::HasMoreData(void)const  __ptr64
+?HasMoreData@LM_RESUME_ENUM_ITER@@IEBAHXZ
+; public: int __cdecl OS_DACL_SUBJECT_ITER::HasNewContainerAce(void)const  __ptr64
+?HasNewContainerAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_F(void)const  __ptr64
+?HasNewContainerAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_S(void)const  __ptr64
+?HasNewContainerAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_DACL_SUBJECT_ITER::HasNewObjectAce(void)const  __ptr64
+?HasNewObjectAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_F(void)const  __ptr64
+?HasNewObjectAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_S(void)const  __ptr64
+?HasNewObjectAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_DACL_SUBJECT_ITER::HasThisAce(void)const  __ptr64
+?HasThisAce@OS_DACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_SACL_SUBJECT_ITER::HasThisAuditAce_F(void)const  __ptr64
+?HasThisAuditAce_F@OS_SACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_SACL_SUBJECT_ITER::HasThisAuditAce_S(void)const  __ptr64
+?HasThisAuditAce_S@OS_SACL_SUBJECT_ITER@@QEBAHXZ
+; long __cdecl I_AppendToSTRLIST(class STRLIST * __ptr64,class NLS_STR & __ptr64)
+?I_AppendToSTRLIST@@YAJPEAVSTRLIST@@AEAVNLS_STR@@@Z
+; protected: virtual long __cdecl GROUP_1::I_ChangeToNew(void) __ptr64
+?I_ChangeToNew@GROUP_1@@MEAAJXZ
+; protected: virtual long __cdecl GROUP_MEMB::I_ChangeToNew(void) __ptr64
+?I_ChangeToNew@GROUP_MEMB@@MEAAJXZ
+; protected: virtual long __cdecl NEW_LM_OBJ::I_ChangeToNew(void) __ptr64
+?I_ChangeToNew@NEW_LM_OBJ@@MEAAJXZ
+; protected: virtual long __cdecl USER_2::I_ChangeToNew(void) __ptr64
+?I_ChangeToNew@USER_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_3::I_ChangeToNew(void) __ptr64
+?I_ChangeToNew@USER_3@@MEAAJXZ
+; protected: virtual long __cdecl USER_MEMB::I_ChangeToNew(void) __ptr64
+?I_ChangeToNew@USER_MEMB@@MEAAJXZ
+; protected: virtual long __cdecl GROUP_1::I_CreateNew(void) __ptr64
+?I_CreateNew@GROUP_1@@MEAAJXZ
+; protected: virtual long __cdecl GROUP_MEMB::I_CreateNew(void) __ptr64
+?I_CreateNew@GROUP_MEMB@@MEAAJXZ
+; protected: virtual long __cdecl LSA_ACCOUNT::I_CreateNew(void) __ptr64
+?I_CreateNew@LSA_ACCOUNT@@MEAAJXZ
+; protected: virtual long __cdecl NET_ACCESS_1::I_CreateNew(void) __ptr64
+?I_CreateNew@NET_ACCESS_1@@MEAAJXZ
+; protected: virtual long __cdecl NEW_LM_OBJ::I_CreateNew(void) __ptr64
+?I_CreateNew@NEW_LM_OBJ@@MEAAJXZ
+; protected: virtual long __cdecl SHARE_2::I_CreateNew(void) __ptr64
+?I_CreateNew@SHARE_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_2::I_CreateNew(void) __ptr64
+?I_CreateNew@USER_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_3::I_CreateNew(void) __ptr64
+?I_CreateNew@USER_3@@MEAAJXZ
+; protected: virtual long __cdecl USER_MEMB::I_CreateNew(void) __ptr64
+?I_CreateNew@USER_MEMB@@MEAAJXZ
+; protected: virtual long __cdecl GROUP::I_Delete(unsigned int) __ptr64
+?I_Delete@GROUP@@MEAAJI@Z
+; protected: virtual long __cdecl LM_SESSION::I_Delete(unsigned int) __ptr64
+?I_Delete@LM_SESSION@@MEAAJI@Z
+; protected: virtual long __cdecl LSA_ACCOUNT::I_Delete(unsigned int) __ptr64
+?I_Delete@LSA_ACCOUNT@@MEAAJI@Z
+; protected: virtual long __cdecl NEW_LM_OBJ::I_Delete(unsigned int) __ptr64
+?I_Delete@NEW_LM_OBJ@@MEAAJI@Z
+; protected: virtual long __cdecl SHARE::I_Delete(unsigned int) __ptr64
+?I_Delete@SHARE@@MEAAJI@Z
+; protected: virtual long __cdecl USER::I_Delete(unsigned int) __ptr64
+?I_Delete@USER@@MEAAJI@Z
+; long __cdecl I_FetchAliasFields(class NLS_STR * __ptr64,class ADMIN_AUTHORITY * __ptr64 * __ptr64,class SLIST_OF_ADMIN_AUTHORITY * __ptr64,unsigned long,int,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,long * __ptr64)
+?I_FetchAliasFields@@YAJPEAVNLS_STR@@PEAPEAVADMIN_AUTHORITY@@PEAVSLIST_OF_ADMIN_AUTHORITY@@KHAEBV1@PEBV1@PEAJ@Z
+; long __cdecl I_FetchDCList(class LSA_TRANSLATED_NAME_MEM const & __ptr64,class LSA_REF_DOMAIN_MEM const & __ptr64,void * __ptr64,void * __ptr64,class NLS_STR * __ptr64 * __ptr64,class STRLIST * __ptr64,int * __ptr64,long * __ptr64,unsigned short const * __ptr64,int,int,int)
+?I_FetchDCList@@YAJAEBVLSA_TRANSLATED_NAME_MEM@@AEBVLSA_REF_DOMAIN_MEM@@PEAX2PEAPEAVNLS_STR@@PEAVSTRLIST@@PEAHPEAJPEBGHHH@Z
+; long __cdecl I_FetchGroupFields(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,long * __ptr64)
+?I_FetchGroupFields@@YAJPEAVNLS_STR@@AEBV1@PEBV1@PEAJ@Z
+; long __cdecl I_FetchUserFields(class NLS_STR * __ptr64,class NLS_STR * __ptr64,unsigned long * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,long * __ptr64)
+?I_FetchUserFields@@YAJPEAVNLS_STR@@0PEAKAEBV1@PEBV1@PEAJ@Z
+; protected: virtual long __cdecl GROUP_1::I_GetInfo(void) __ptr64
+?I_GetInfo@GROUP_1@@MEAAJXZ
+; protected: virtual long __cdecl LM_FILE_2::I_GetInfo(void) __ptr64
+?I_GetInfo@LM_FILE_2@@MEAAJXZ
+; protected: virtual long __cdecl LM_FILE_3::I_GetInfo(void) __ptr64
+?I_GetInfo@LM_FILE_3@@MEAAJXZ
+; protected: virtual long __cdecl LM_SESSION_0::I_GetInfo(void) __ptr64
+?I_GetInfo@LM_SESSION_0@@MEAAJXZ
+; protected: virtual long __cdecl LM_SESSION_10::I_GetInfo(void) __ptr64
+?I_GetInfo@LM_SESSION_10@@MEAAJXZ
+; protected: virtual long __cdecl LM_SESSION_1::I_GetInfo(void) __ptr64
+?I_GetInfo@LM_SESSION_1@@MEAAJXZ
+; protected: virtual long __cdecl LM_SESSION_2::I_GetInfo(void) __ptr64
+?I_GetInfo@LM_SESSION_2@@MEAAJXZ
+; protected: virtual long __cdecl LOCAL_USER::I_GetInfo(void) __ptr64
+?I_GetInfo@LOCAL_USER@@MEAAJXZ
+; protected: virtual long __cdecl LSA_ACCOUNT::I_GetInfo(void) __ptr64
+?I_GetInfo@LSA_ACCOUNT@@MEAAJXZ
+; protected: virtual long __cdecl MEMBERSHIP_LM_OBJ::I_GetInfo(void) __ptr64
+?I_GetInfo@MEMBERSHIP_LM_OBJ@@MEAAJXZ
+; protected: virtual long __cdecl NET_ACCESS_1::I_GetInfo(void) __ptr64
+?I_GetInfo@NET_ACCESS_1@@MEAAJXZ
+; protected: virtual long __cdecl NEW_LM_OBJ::I_GetInfo(void) __ptr64
+?I_GetInfo@NEW_LM_OBJ@@MEAAJXZ
+; protected: virtual long __cdecl SERVER_0::I_GetInfo(void) __ptr64
+?I_GetInfo@SERVER_0@@MEAAJXZ
+; protected: virtual long __cdecl SERVER_1::I_GetInfo(void) __ptr64
+?I_GetInfo@SERVER_1@@MEAAJXZ
+; protected: virtual long __cdecl SERVER_2::I_GetInfo(void) __ptr64
+?I_GetInfo@SERVER_2@@MEAAJXZ
+; protected: virtual long __cdecl SHARE_1::I_GetInfo(void) __ptr64
+?I_GetInfo@SHARE_1@@MEAAJXZ
+; protected: virtual long __cdecl SHARE_2::I_GetInfo(void) __ptr64
+?I_GetInfo@SHARE_2@@MEAAJXZ
+; protected: virtual long __cdecl TIME_OF_DAY::I_GetInfo(void) __ptr64
+?I_GetInfo@TIME_OF_DAY@@MEAAJXZ
+; protected: virtual long __cdecl USER_11::I_GetInfo(void) __ptr64
+?I_GetInfo@USER_11@@MEAAJXZ
+; protected: virtual long __cdecl USER_2::I_GetInfo(void) __ptr64
+?I_GetInfo@USER_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_3::I_GetInfo(void) __ptr64
+?I_GetInfo@USER_3@@MEAAJXZ
+; public: virtual long __cdecl WKSTA_10::I_GetInfo(void) __ptr64
+?I_GetInfo@WKSTA_10@@UEAAJXZ
+; public: virtual long __cdecl WKSTA_1::I_GetInfo(void) __ptr64
+?I_GetInfo@WKSTA_1@@UEAAJXZ
+; protected: virtual long __cdecl WKSTA_USER_1::I_GetInfo(void) __ptr64
+?I_GetInfo@WKSTA_USER_1@@MEAAJXZ
+; protected: virtual long __cdecl GROUP_1::I_WriteInfo(void) __ptr64
+?I_WriteInfo@GROUP_1@@MEAAJXZ
+; protected: virtual long __cdecl GROUP_MEMB::I_WriteInfo(void) __ptr64
+?I_WriteInfo@GROUP_MEMB@@MEAAJXZ
+; protected: virtual long __cdecl LSA_ACCOUNT::I_WriteInfo(void) __ptr64
+?I_WriteInfo@LSA_ACCOUNT@@MEAAJXZ
+; protected: virtual long __cdecl NET_ACCESS_1::I_WriteInfo(void) __ptr64
+?I_WriteInfo@NET_ACCESS_1@@MEAAJXZ
+; protected: virtual long __cdecl NEW_LM_OBJ::I_WriteInfo(void) __ptr64
+?I_WriteInfo@NEW_LM_OBJ@@MEAAJXZ
+; protected: virtual long __cdecl SERVER_1::I_WriteInfo(void) __ptr64
+?I_WriteInfo@SERVER_1@@MEAAJXZ
+; protected: virtual long __cdecl SERVER_2::I_WriteInfo(void) __ptr64
+?I_WriteInfo@SERVER_2@@MEAAJXZ
+; protected: virtual long __cdecl SHARE_1::I_WriteInfo(void) __ptr64
+?I_WriteInfo@SHARE_1@@MEAAJXZ
+; protected: virtual long __cdecl SHARE_2::I_WriteInfo(void) __ptr64
+?I_WriteInfo@SHARE_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_2::I_WriteInfo(void) __ptr64
+?I_WriteInfo@USER_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_3::I_WriteInfo(void) __ptr64
+?I_WriteInfo@USER_3@@MEAAJXZ
+; protected: virtual long __cdecl USER_MEMB::I_WriteInfo(void) __ptr64
+?I_WriteInfo@USER_MEMB@@MEAAJXZ
+; protected: virtual long __cdecl WKSTA_USER_1::I_WriteInfo(void) __ptr64
+?I_WriteInfo@WKSTA_USER_1@@MEAAJXZ
+; private: long __cdecl NET_ACCESS_1::I_WriteInfoAux(void) __ptr64
+?I_WriteInfoAux@NET_ACCESS_1@@AEAAJXZ
+; protected: virtual long __cdecl GROUP_1::I_WriteNew(void) __ptr64
+?I_WriteNew@GROUP_1@@MEAAJXZ
+; protected: virtual long __cdecl LSA_ACCOUNT::I_WriteNew(void) __ptr64
+?I_WriteNew@LSA_ACCOUNT@@MEAAJXZ
+; protected: virtual long __cdecl MEMBERSHIP_LM_OBJ::I_WriteNew(void) __ptr64
+?I_WriteNew@MEMBERSHIP_LM_OBJ@@MEAAJXZ
+; protected: virtual long __cdecl NET_ACCESS_1::I_WriteNew(void) __ptr64
+?I_WriteNew@NET_ACCESS_1@@MEAAJXZ
+; protected: virtual long __cdecl NEW_LM_OBJ::I_WriteNew(void) __ptr64
+?I_WriteNew@NEW_LM_OBJ@@MEAAJXZ
+; protected: virtual long __cdecl SHARE_2::I_WriteNew(void) __ptr64
+?I_WriteNew@SHARE_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_2::I_WriteNew(void) __ptr64
+?I_WriteNew@USER_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_3::I_WriteNew(void) __ptr64
+?I_WriteNew@USER_3@@MEAAJXZ
+; private: static void __cdecl LSA_POLICY::InitObjectAttributes(struct _OBJECT_ATTRIBUTES * __ptr64,struct _SECURITY_QUALITY_OF_SERVICE * __ptr64)
+?InitObjectAttributes@LSA_POLICY@@CAXPEAU_OBJECT_ATTRIBUTES@@PEAU_SECURITY_QUALITY_OF_SERVICE@@@Z
+; public: void __cdecl OS_SACL_SUBJECT_DESCRIPTOR::InitToZero(void) __ptr64
+?InitToZero@OS_SACL_SUBJECT_DESCRIPTOR@@QEAAXXZ
+; private: void __cdecl OS_SACL_SUBJECT_ITER::InitToZero(void) __ptr64
+?InitToZero@OS_SACL_SUBJECT_ITER@@AEAAXXZ
+; private: void __cdecl OS_PRIVILEGE_SET::InitializeMemory(void) __ptr64
+?InitializeMemory@OS_PRIVILEGE_SET@@AEAAXXZ
+; public: static void __cdecl OS_SID::InitializeMemory(void * __ptr64)
+?InitializeMemory@OS_SID@@SAXPEAX@Z
+; public: long __cdecl SLIST_OF_BROWSE_DOMAIN_INFO::Insert(class BROWSE_DOMAIN_INFO const * __ptr64,class ITER_SL_BROWSE_DOMAIN_INFO & __ptr64) __ptr64
+?Insert@SLIST_OF_BROWSE_DOMAIN_INFO@@QEAAJPEBVBROWSE_DOMAIN_INFO@@AEAVITER_SL_BROWSE_DOMAIN_INFO@@@Z
+; public: long __cdecl LSA_ACCOUNT::InsertPrivilege(struct _LUID,unsigned long) __ptr64
+?InsertPrivilege@LSA_ACCOUNT@@QEAAJU_LUID@@K@Z
+; public: int __cdecl USER_11::IsAccountsOperator(void)const  __ptr64
+?IsAccountsOperator@USER_11@@QEBAHXZ
+; public: int __cdecl USER_11::IsCommOperator(void)const  __ptr64
+?IsCommOperator@USER_11@@QEBAHXZ
+; public: int __cdecl OS_ACL_SUBJECT_ITER::IsContainer(void)const  __ptr64
+?IsContainer@OS_ACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl LM_SERVICE::IsContinuing(long * __ptr64) __ptr64
+?IsContinuing@LM_SERVICE@@QEAAHPEAJ@Z
+; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLDefaulted(void)const  __ptr64
+?IsDACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
+; public: int __cdecl OS_SECURITY_DESCRIPTOR::IsDACLPresent(void)const  __ptr64
+?IsDACLPresent@OS_SECURITY_DESCRIPTOR@@QEBAHXZ
+; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLPresent(void)const  __ptr64
+?IsDACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
+; public: int __cdecl LSA_ACCOUNT::IsDefaultSettings(void) __ptr64
+?IsDefaultSettings@LSA_ACCOUNT@@QEAAHXZ
+; public: int __cdecl OS_DACL_SUBJECT_ITER::IsDenyAll(void)const  __ptr64
+?IsDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl LOCATION::IsDomain(void)const  __ptr64
+?IsDomain@LOCATION@@QEBAHXZ
+; public: int __cdecl LM_SESSION_1::IsEncrypted(void)const  __ptr64
+?IsEncrypted@LM_SESSION_1@@QEBAHXZ
+; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsGroupDefaulted(void)const  __ptr64
+?IsGroupDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
+; public: int __cdecl LM_SESSION_1::IsGuest(void)const  __ptr64
+?IsGuest@LM_SESSION_1@@QEBAHXZ
+; public: int __cdecl LSA_OBJECT::IsHandleValid(void)const  __ptr64
+?IsHandleValid@LSA_OBJECT@@QEBAHXZ
+; public: int __cdecl OS_ACE::IsInheritOnly(void)const  __ptr64
+?IsInheritOnly@OS_ACE@@QEBAHXZ
+; public: int __cdecl OS_DACL_SUBJECT_ITER::IsInheritOnlyDenyAll(void)const  __ptr64
+?IsInheritOnlyDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_ACE::IsInheritancePropagated(void)const  __ptr64
+?IsInheritancePropagated@OS_ACE@@QEBAHXZ
+; public: int __cdecl OS_ACE::IsInherittedByNewContainers(void)const  __ptr64
+?IsInherittedByNewContainers@OS_ACE@@QEBAHXZ
+; public: int __cdecl OS_ACE::IsInherittedByNewObjects(void)const  __ptr64
+?IsInherittedByNewObjects@OS_ACE@@QEBAHXZ
+; protected: int __cdecl LM_OBJ::IsInvalid(void)const  __ptr64
+?IsInvalid@LM_OBJ@@IEBAHXZ
+; private: int __cdecl LM_OBJ_BASE::IsInvalid(void)const  __ptr64
+?IsInvalid@LM_OBJ_BASE@@AEBAHXZ
+; public: int __cdecl OS_ACE::IsKnownACE(void)const  __ptr64
+?IsKnownACE@OS_ACE@@QEBAHXZ
+; public: int __cdecl NET_NAME::IsLocal(long * __ptr64) __ptr64
+?IsLocal@NET_NAME@@QEAAHPEAJ@Z
+; private: int __cdecl NEW_LM_OBJ::IsNew(void)const  __ptr64
+?IsNew@NEW_LM_OBJ@@AEBAHXZ
+; public: int __cdecl OS_DACL_SUBJECT_ITER::IsNewContainerDenyAll(void)const  __ptr64
+?IsNewContainerDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
+; public: int __cdecl OS_DACL_SUBJECT_ITER::IsNewObjectDenyAll(void)const  __ptr64
+?IsNewObjectDenyAll@OS_DACL_SUBJECT_ITER@@QEBAHXZ
+; protected: int __cdecl NEW_LM_OBJ::IsOKState(void)const  __ptr64
+?IsOKState@NEW_LM_OBJ@@IEBAHXZ
+; protected: int __cdecl OS_ACE::IsOwnerAlloc(void)const  __ptr64
+?IsOwnerAlloc@OS_ACE@@IEBAHXZ
+; protected: int __cdecl OS_ACL::IsOwnerAlloc(void)const  __ptr64
+?IsOwnerAlloc@OS_ACL@@IEBAHXZ
+; private: int __cdecl OS_PRIVILEGE_SET::IsOwnerAlloc(void)const  __ptr64
+?IsOwnerAlloc@OS_PRIVILEGE_SET@@AEBAHXZ
+; protected: int __cdecl OS_SID::IsOwnerAlloc(void)const  __ptr64
+?IsOwnerAlloc@OS_SID@@IEBAHXZ
+; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsOwnerDefaulted(void)const  __ptr64
+?IsOwnerDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
+; public: int __cdecl LM_SERVICE::IsPaused(long * __ptr64) __ptr64
+?IsPaused@LM_SERVICE@@QEAAHPEAJ@Z
+; public: int __cdecl LM_SERVICE::IsPausing(long * __ptr64) __ptr64
+?IsPausing@LM_SERVICE@@QEAAHPEAJ@Z
+; public: int __cdecl LM_FILE_3::IsPermCreate(void)const  __ptr64
+?IsPermCreate@LM_FILE_3@@QEBAHXZ
+; public: int __cdecl LM_FILE_3::IsPermRead(void)const  __ptr64
+?IsPermRead@LM_FILE_3@@QEBAHXZ
+; public: int __cdecl LM_FILE_3::IsPermWrite(void)const  __ptr64
+?IsPermWrite@LM_FILE_3@@QEBAHXZ
+; public: int __cdecl USER_11::IsPrintOperator(void)const  __ptr64
+?IsPrintOperator@USER_11@@QEBAHXZ
+; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLDefaulted(void)const  __ptr64
+?IsSACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
+; public: int __cdecl OS_SECURITY_DESCRIPTOR::IsSACLPresent(void)const  __ptr64
+?IsSACLPresent@OS_SECURITY_DESCRIPTOR@@QEBAHXZ
+; public: int __cdecl OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLPresent(void)const  __ptr64
+?IsSACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QEBAHXZ
+; public: int __cdecl LOCATION::IsServer(void)const  __ptr64
+?IsServer@LOCATION@@QEBAHXZ
+; public: int __cdecl USER_11::IsServerOperator(void)const  __ptr64
+?IsServerOperator@USER_11@@QEBAHXZ
+; public: int __cdecl NET_NAME::IsSharable(long * __ptr64) __ptr64
+?IsSharable@NET_NAME@@QEAAHPEAJ@Z
+; public: int __cdecl LM_SERVICE::IsStarted(long * __ptr64) __ptr64
+?IsStarted@LM_SERVICE@@QEAAHPEAJ@Z
+; public: int __cdecl LM_SERVICE::IsStarting(long * __ptr64) __ptr64
+?IsStarting@LM_SERVICE@@QEAAHPEAJ@Z
+; public: int __cdecl LM_SERVICE::IsStopped(long * __ptr64) __ptr64
+?IsStopped@LM_SERVICE@@QEAAHPEAJ@Z
+; public: int __cdecl LM_SERVICE::IsStopping(long * __ptr64) __ptr64
+?IsStopping@LM_SERVICE@@QEAAHPEAJ@Z
+; protected: int __cdecl LM_OBJ::IsUnconstructed(void)const  __ptr64
+?IsUnconstructed@LM_OBJ@@IEBAHXZ
+; private: int __cdecl LM_OBJ_BASE::IsUnconstructed(void)const  __ptr64
+?IsUnconstructed@LM_OBJ_BASE@@AEBAHXZ
+; protected: int __cdecl LM_OBJ::IsValid(void)const  __ptr64
+?IsValid@LM_OBJ@@IEBAHXZ
+; private: int __cdecl LM_OBJ_BASE::IsValid(void)const  __ptr64
+?IsValid@LM_OBJ_BASE@@AEBAHXZ
+; public: int __cdecl OS_ACL::IsValid(void)const  __ptr64
+?IsValid@OS_ACL@@QEBAHXZ
+; public: int __cdecl OS_SECURITY_DESCRIPTOR::IsValid(void)const  __ptr64
+?IsValid@OS_SECURITY_DESCRIPTOR@@QEBAHXZ
+; public: int __cdecl OS_SID::IsValid(void)const  __ptr64
+?IsValid@OS_SID@@QEBAHXZ
+; public: static int __cdecl DOMAIN::IsValidDC(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?IsValidDC@DOMAIN@@SAHPEBG0@Z
+; public: int __cdecl LM_OBJ_BASE::IsValidationOn(void) __ptr64
+?IsValidationOn@LM_OBJ_BASE@@QEAAHXZ
+; int __cdecl IsWhiteSpace(unsigned short)
+?IsWhiteSpace@@YAHG@Z
+; public: long __cdecl LSA_POLICY::JoinDomain(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64,int,class NLS_STR const * __ptr64,unsigned short const * __ptr64) __ptr64
+?JoinDomain@LSA_POLICY@@QEAAJAEBVNLS_STR@@0HPEBV2@PEBG@Z
+; int __cdecl LMOTypeToNetType(enum LMO_DEVICE)
+?LMOTypeToNetType@@YAHW4LMO_DEVICE@@@Z
+; private: static void __cdecl DOMAIN_WITH_DC_CACHE::LeaveCriticalSection(void)
+?LeaveCriticalSection@DOMAIN_WITH_DC_CACHE@@CAXXZ
+; public: long __cdecl LSA_POLICY::LeaveDomain(void) __ptr64
+?LeaveDomain@LSA_POLICY@@QEAAJXZ
+; public: long __cdecl SC_MANAGER::Lock(void) __ptr64
+?Lock@SC_MANAGER@@QEAAJXZ
+; long __cdecl LsaxGetComputerName(class NLS_STR * __ptr64)
+?LsaxGetComputerName@@YAJPEAVNLS_STR@@@Z
+; protected: void __cdecl LM_OBJ::MakeConstructed(void) __ptr64
+?MakeConstructed@LM_OBJ@@IEAAXXZ
+; private: void __cdecl LM_OBJ_BASE::MakeConstructed(void) __ptr64
+?MakeConstructed@LM_OBJ_BASE@@AEAAXXZ
+; protected: void __cdecl LM_OBJ::MakeInvalid(void) __ptr64
+?MakeInvalid@LM_OBJ@@IEAAXXZ
+; private: void __cdecl LM_OBJ_BASE::MakeInvalid(void) __ptr64
+?MakeInvalid@LM_OBJ_BASE@@AEAAXXZ
+; private: void __cdecl NEW_LM_OBJ::MakeNew(void) __ptr64
+?MakeNew@NEW_LM_OBJ@@AEAAXXZ
+; unsigned long __cdecl MakeNullNull(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64)
+?MakeNullNull@@YAKPEBGPEAPEAG@Z
+; private: static long __cdecl LSA_POLICY::MakeSecretName(class NLS_STR const & __ptr64,int,class NLS_STR * __ptr64)
+?MakeSecretName@LSA_POLICY@@CAJAEBVNLS_STR@@HPEAV2@@Z
+; protected: void __cdecl LM_OBJ::MakeUnconstructed(void) __ptr64
+?MakeUnconstructed@LM_OBJ@@IEAAXXZ
+; private: void __cdecl LM_OBJ_BASE::MakeUnconstructed(void) __ptr64
+?MakeUnconstructed@LM_OBJ_BASE@@AEAAXXZ
+; protected: void __cdecl LM_OBJ::MakeValid(void) __ptr64
+?MakeValid@LM_OBJ@@IEAAXXZ
+; private: void __cdecl LM_OBJ_BASE::MakeValid(void) __ptr64
+?MakeValid@LM_OBJ_BASE@@AEAAXXZ
+; private: void __cdecl TRIPLE_SERVER_ENUM::MapBrowserToTriple(struct _SERVER_INFO_101 const * __ptr64,struct _TRIPLE_SERVER_INFO * __ptr64) __ptr64
+?MapBrowserToTriple@TRIPLE_SERVER_ENUM@@AEAAXPEBU_SERVER_INFO_101@@PEAU_TRIPLE_SERVER_INFO@@@Z
+; unsigned long __cdecl MapComm(unsigned short const * __ptr64)
+?MapComm@@YAKPEBG@Z
+; unsigned long __cdecl MapDrive(unsigned short const * __ptr64)
+?MapDrive@@YAKPEBG@Z
+; public: int __cdecl OS_ACL_SUBJECT_ITER::MapGenericAllOnly(void)const  __ptr64
+?MapGenericAllOnly@OS_ACL_SUBJECT_ITER@@QEBAHXZ
+; private: void __cdecl TRIPLE_SERVER_ENUM::MapKnownToTriple(struct _KNOWN_SERVER_INFO const * __ptr64,struct _TRIPLE_SERVER_INFO * __ptr64) __ptr64
+?MapKnownToTriple@TRIPLE_SERVER_ENUM@@AEAAXPEBU_KNOWN_SERVER_INFO@@PEAU_TRIPLE_SERVER_INFO@@@Z
+; unsigned long __cdecl MapLPT(unsigned short const * __ptr64)
+?MapLPT@@YAKPEBG@Z
+; private: void __cdecl SERVICE_ENUM::MapLmStatusToNtState(unsigned long,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?MapLmStatusToNtState@SERVICE_ENUM@@AEAAXKPEAK0@Z
+; private: void __cdecl TRIPLE_SERVER_ENUM::MapLmToKnown(struct _USER_INFO_0 const * __ptr64,struct _KNOWN_SERVER_INFO * __ptr64) __ptr64
+?MapLmToKnown@TRIPLE_SERVER_ENUM@@AEAAXPEBU_USER_INFO_0@@PEAU_KNOWN_SERVER_INFO@@@Z
+; private: void __cdecl TRIPLE_SERVER_ENUM::MapNtToKnown(struct _DOMAIN_DISPLAY_MACHINE const * __ptr64,struct _KNOWN_SERVER_INFO * __ptr64) __ptr64
+?MapNtToKnown@TRIPLE_SERVER_ENUM@@AEAAXPEBU_DOMAIN_DISPLAY_MACHINE@@PEAU_KNOWN_SERVER_INFO@@@Z
+; public: long __cdecl OS_ACL_SUBJECT_ITER::MapSpecificToGeneric(unsigned long * __ptr64,int) __ptr64
+?MapSpecificToGeneric@OS_ACL_SUBJECT_ITER@@QEAAJPEAKH@Z
+; private: enum _SERVER_ROLE  __cdecl TRIPLE_SERVER_ENUM::MapTypeMaskToRole(unsigned long)const  __ptr64
+?MapTypeMaskToRole@TRIPLE_SERVER_ENUM@@AEBA?AW4_SERVER_ROLE@@K@Z
+; private: enum _SERVER_TYPE  __cdecl TRIPLE_SERVER_ENUM::MapTypeMaskToType(unsigned long)const  __ptr64
+?MapTypeMaskToType@TRIPLE_SERVER_ENUM@@AEBA?AW4_SERVER_TYPE@@K@Z
+; enum LMO_DEVICE  __cdecl NetTypeToLMOType(unsigned long)
+?NetTypeToLMOType@@YA?AW4LMO_DEVICE@@K@Z
+; public: class ALIAS_ENUM_OBJ const * __ptr64 __cdecl ALIAS_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@ALIAS_ENUM_ITER@@QEAAPEBVALIAS_ENUM_OBJ@@PEAJH@Z
+; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::Next(void) __ptr64
+?Next@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@XZ
+; public: class FILE2_ENUM_OBJ const * __ptr64 __cdecl FILE2_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@FILE2_ENUM_ITER@@QEAAPEBVFILE2_ENUM_OBJ@@PEAJH@Z
+; public: class FILE3_ENUM_OBJ const * __ptr64 __cdecl FILE3_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@FILE3_ENUM_ITER@@QEAAPEBVFILE3_ENUM_OBJ@@PEAJH@Z
+; public: unsigned short const * __ptr64 __cdecl ITER_DEVICE::Next(void) __ptr64
+?Next@ITER_DEVICE@@QEAAPEBGXZ
+; public: class BROWSE_DOMAIN_INFO * __ptr64 __cdecl ITER_SL_BROWSE_DOMAIN_INFO::Next(void) __ptr64
+?Next@ITER_SL_BROWSE_DOMAIN_INFO@@QEAAPEAVBROWSE_DOMAIN_INFO@@XZ
+; public: class LM_RESUME_BUFFER * __ptr64 __cdecl ITER_SL_LM_RESUME_BUFFER::Next(void) __ptr64
+?Next@ITER_SL_LM_RESUME_BUFFER@@QEAAPEAVLM_RESUME_BUFFER@@XZ
+; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::Next(void) __ptr64
+?Next@ITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
+; public: class LSA_ACCOUNTS_ENUM_OBJ const * __ptr64 __cdecl LSA_ACCOUNTS_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@LSA_ACCOUNTS_ENUM_ITER@@QEAAPEBVLSA_ACCOUNTS_ENUM_OBJ@@PEAJH@Z
+; public: class LSA_PRIVILEGES_ENUM_OBJ const * __ptr64 __cdecl LSA_PRIVILEGES_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@LSA_PRIVILEGES_ENUM_ITER@@QEAAPEBVLSA_PRIVILEGES_ENUM_OBJ@@PEAJH@Z
+; public: class NT_GROUP_ENUM_OBJ const * __ptr64 __cdecl NT_GROUP_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@NT_GROUP_ENUM_ITER@@QEAAPEBVNT_GROUP_ENUM_OBJ@@PEAJH@Z
+; public: class NT_MACHINE_ENUM_OBJ const * __ptr64 __cdecl NT_MACHINE_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@NT_MACHINE_ENUM_ITER@@QEAAPEBVNT_MACHINE_ENUM_OBJ@@PEAJH@Z
+; public: class NT_USER_ENUM_OBJ const * __ptr64 __cdecl NT_USER_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@NT_USER_ENUM_ITER@@QEAAPEBVNT_USER_ENUM_OBJ@@PEAJH@Z
+; public: virtual int __cdecl OS_DACL_SUBJECT_ITER::Next(long * __ptr64) __ptr64
+?Next@OS_DACL_SUBJECT_ITER@@UEAAHPEAJ@Z
+; public: virtual int __cdecl OS_SACL_SUBJECT_ITER::Next(long * __ptr64) __ptr64
+?Next@OS_SACL_SUBJECT_ITER@@UEAAHPEAJ@Z
+; public: class SAM_USER_ENUM_OBJ const * __ptr64 __cdecl SAM_USER_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@SAM_USER_ENUM_ITER@@QEAAPEBVSAM_USER_ENUM_OBJ@@PEAJH@Z
+; public: class TRUSTED_DOMAIN_ENUM_OBJ const * __ptr64 __cdecl TRUSTED_DOMAIN_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@TRUSTED_DOMAIN_ENUM_ITER@@QEAAPEBVTRUSTED_DOMAIN_ENUM_OBJ@@PEAJH@Z
+; public: class USER0_ENUM_OBJ const * __ptr64 __cdecl USER0_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@USER0_ENUM_ITER@@QEAAPEBVUSER0_ENUM_OBJ@@PEAJH@Z
+; public: class USER10_ENUM_OBJ const * __ptr64 __cdecl USER10_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@USER10_ENUM_ITER@@QEAAPEBVUSER10_ENUM_OBJ@@PEAJH@Z
+; public: class USER1_ENUM_OBJ const * __ptr64 __cdecl USER1_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@USER1_ENUM_ITER@@QEAAPEBVUSER1_ENUM_OBJ@@PEAJH@Z
+; public: class USER2_ENUM_OBJ const * __ptr64 __cdecl USER2_ENUM_ITER::Next(long * __ptr64,int) __ptr64
+?Next@USER2_ENUM_ITER@@QEAAPEBVUSER2_ENUM_OBJ@@PEAJH@Z
+; protected: long __cdecl LM_RESUME_ENUM_ITER::NextGetInfo(void) __ptr64
+?NextGetInfo@LM_RESUME_ENUM_ITER@@IEAAJXZ
+; protected: void __cdecl LM_RESUME_ENUM::NukeBuffers(void) __ptr64
+?NukeBuffers@LM_RESUME_ENUM@@IEAAXXZ
+; public: static long __cdecl LM_SRVRES::NukeUsersSession(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)
+?NukeUsersSession@LM_SRVRES@@SAJPEBG00@Z
+; public: long __cdecl LSA_POLICY::Open(unsigned short const * __ptr64,unsigned long) __ptr64
+?Open@LSA_POLICY@@QEAAJPEBGK@Z
+; public: long __cdecl LSA_SECRET::Open(class LSA_POLICY const & __ptr64,unsigned long) __ptr64
+?Open@LSA_SECRET@@QEAAJAEBVLSA_POLICY@@K@Z
+; private: long __cdecl SAM_DOMAIN::OpenDomain(class SAM_SERVER const & __ptr64,void * __ptr64,unsigned long) __ptr64
+?OpenDomain@SAM_DOMAIN@@AEAAJAEBVSAM_SERVER@@PEAXK@Z
+; public: long __cdecl LM_SERVICE::Pause(unsigned int,unsigned int) __ptr64
+?Pause@LM_SERVICE@@QEAAJII@Z
+; public: long __cdecl LM_SERVICE::Poll(int * __ptr64) __ptr64
+?Poll@LM_SERVICE@@QEAAJPEAH@Z
+; protected: void __cdecl LSA_ACCOUNT::PrintInfo(unsigned short const * __ptr64) __ptr64
+?PrintInfo@LSA_ACCOUNT@@IEAAXPEBG@Z
+; public: struct _ACCESS_LIST * __ptr64 __cdecl NET_ACCESS_1::QueryACE(unsigned int)const  __ptr64
+?QueryACE@NET_ACCESS_1@@QEBAPEAU_ACCESS_LIST@@I@Z
+; public: void * __ptr64 __cdecl OS_ACE::QueryACE(void)const  __ptr64
+?QueryACE@OS_ACE@@QEBAPEAXXZ
+; public: long __cdecl OS_ACL::QueryACE(unsigned long,class OS_ACE * __ptr64)const  __ptr64
+?QueryACE@OS_ACL@@QEBAJKPEAVOS_ACE@@@Z
+; public: unsigned int __cdecl NET_ACCESS_1::QueryACECount(void)const  __ptr64
+?QueryACECount@NET_ACCESS_1@@QEBAIXZ
+; public: long __cdecl OS_ACL::QueryACECount(unsigned long * __ptr64)const  __ptr64
+?QueryACECount@OS_ACL@@QEBAJPEAK@Z
+; protected: class OS_ACL const * __ptr64 __cdecl OS_ACL_SUBJECT_ITER::QueryACL(void)const  __ptr64
+?QueryACL@OS_ACL_SUBJECT_ITER@@IEBAPEBVOS_ACL@@XZ
+; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessAccountDomain(void)const  __ptr64
+?QueryAccessAccountDomain@ADMIN_AUTHORITY@@QEBAKXZ
+; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessBuiltinDomain(void)const  __ptr64
+?QueryAccessBuiltinDomain@ADMIN_AUTHORITY@@QEBAKXZ
+; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessLSAPolicy(void)const  __ptr64
+?QueryAccessLSAPolicy@ADMIN_AUTHORITY@@QEBAKXZ
+; public: unsigned long __cdecl OS_ACE::QueryAccessMask(void)const  __ptr64
+?QueryAccessMask@OS_ACE@@QEBAKXZ
+; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryAccessMask(void)const  __ptr64
+?QueryAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned long __cdecl ADMIN_AUTHORITY::QueryAccessSamServer(void)const  __ptr64
+?QueryAccessSamServer@ADMIN_AUTHORITY@@QEBAKXZ
+; public: unsigned int __cdecl NT_MACHINE_ENUM_OBJ::QueryAccountCtrl(void)const  __ptr64
+?QueryAccountCtrl@NT_MACHINE_ENUM_OBJ@@QEBAIXZ
+; public: int __cdecl USER_2::QueryAccountDisabled(void)const  __ptr64
+?QueryAccountDisabled@USER_2@@QEBAHXZ
+; public: class SAM_DOMAIN * __ptr64 __cdecl ADMIN_AUTHORITY::QueryAccountDomain(void)const  __ptr64
+?QueryAccountDomain@ADMIN_AUTHORITY@@QEBAPEAVSAM_DOMAIN@@XZ
+; public: long __cdecl USER_2::QueryAccountExpires(void)const  __ptr64
+?QueryAccountExpires@USER_2@@QEBAJXZ
+; public: enum _ACCOUNT_TYPE  __cdecl USER_3::QueryAccountType(void)const  __ptr64
+?QueryAccountType@USER_3@@QEBA?AW4_ACCOUNT_TYPE@@XZ
+; public: unsigned char __cdecl OS_ACE::QueryAceFlags(void)const  __ptr64
+?QueryAceFlags@OS_ACE@@QEBAEXZ
+; public: struct _ACL * __ptr64 __cdecl OS_ACL::QueryAcl(void)const  __ptr64
+?QueryAcl@OS_ACL@@QEBAPEAU_ACL@@XZ
+; protected: unsigned int __cdecl OS_OBJECT_WITH_DATA::QueryAllocSize(void)const  __ptr64
+?QueryAllocSize@OS_OBJECT_WITH_DATA@@IEBAIXZ
+; public: unsigned short const * __ptr64 __cdecl DOMAIN::QueryAnyDC(void)const  __ptr64
+?QueryAnyDC@DOMAIN@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl MEMBERSHIP_LM_OBJ::QueryAssocName(unsigned int)const  __ptr64
+?QueryAssocName@MEMBERSHIP_LM_OBJ@@QEBAPEBGI@Z
+; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_F(void)const  __ptr64
+?QueryAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_S(void)const  __ptr64
+?QueryAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
+; public: virtual unsigned long __cdecl LOCAL_USER::QueryAuthFlags(void)const  __ptr64
+?QueryAuthFlags@LOCAL_USER@@UEBAKXZ
+; public: virtual unsigned long __cdecl USER_11::QueryAuthFlags(void)const  __ptr64
+?QueryAuthFlags@USER_11@@UEBAKXZ
+; protected: unsigned char * __ptr64 __cdecl LM_ENUM_ITER::QueryBasePtr(void)const  __ptr64
+?QueryBasePtr@LM_ENUM_ITER@@IEBAPEAEXZ
+; protected: unsigned char const * __ptr64 __cdecl LM_RESUME_ENUM_ITER::QueryBasePtr(void)const  __ptr64
+?QueryBasePtr@LM_RESUME_ENUM_ITER@@IEBAPEBEXZ
+; protected: unsigned char * __ptr64 __cdecl DEVICE::QueryBufPtr(void) __ptr64
+?QueryBufPtr@DEVICE@@IEAAPEAEXZ
+; protected: void * __ptr64 __cdecl NT_MEMORY::QueryBuffer(void)const  __ptr64
+?QueryBuffer@NT_MEMORY@@IEBAPEAXXZ
+; public: class BUFFER const & __ptr64 __cdecl SERVICE_CONTROL::QueryBuffer(void)const  __ptr64
+?QueryBuffer@SERVICE_CONTROL@@QEBAAEBVBUFFER@@XZ
+; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl ALIAS_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@ALIAS_ENUM_OBJ@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
+; public: struct _SERVER_INFO_100 const * __ptr64 __cdecl DOMAIN0_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@DOMAIN0_ENUM_OBJ@@QEBAPEBU_SERVER_INFO_100@@XZ
+; protected: unsigned char const * __ptr64 __cdecl ENUM_OBJ_BASE::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@ENUM_OBJ_BASE@@IEBAPEBEXZ
+; public: struct _FILE_INFO_3 const * __ptr64 __cdecl FILE3_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@FILE3_ENUM_OBJ@@QEBAPEBU_FILE_INFO_3@@XZ
+; public: struct _GROUP_INFO_0 const * __ptr64 __cdecl GROUP0_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@GROUP0_ENUM_OBJ@@QEBAPEBU_GROUP_INFO_0@@XZ
+; public: unsigned char const * __ptr64 __cdecl LM_RESUME_BUFFER::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@LM_RESUME_BUFFER@@QEBAPEBEXZ
+; public: struct _POLICY_PRIVILEGE_DEFINITION const * __ptr64 __cdecl LSA_PRIVILEGES_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QEBAPEBU_POLICY_PRIVILEGE_DEFINITION@@XZ
+; protected: unsigned char * __ptr64 __cdecl NEW_LM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@NEW_LM_OBJ@@IEBAPEAEXZ
+; public: struct _DOMAIN_DISPLAY_MACHINE const * __ptr64 __cdecl NT_MACHINE_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@NT_MACHINE_ENUM_OBJ@@QEBAPEBU_DOMAIN_DISPLAY_MACHINE@@XZ
+; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl SAM_USER_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@SAM_USER_ENUM_OBJ@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
+; public: struct _SERVER_INFO_101 const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@SERVER1_ENUM_OBJ@@QEBAPEBU_SERVER_INFO_101@@XZ
+; public: struct _USER_INFO_0 const * __ptr64 __cdecl USER0_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@USER0_ENUM_OBJ@@QEBAPEBU_USER_INFO_0@@XZ
+; protected: unsigned int __cdecl NEW_LM_OBJ::QueryBufferSize(void)const  __ptr64
+?QueryBufferSize@NEW_LM_OBJ@@IEBAIXZ
+; public: class SAM_DOMAIN * __ptr64 __cdecl ADMIN_AUTHORITY::QueryBuiltinDomain(void)const  __ptr64
+?QueryBuiltinDomain@ADMIN_AUTHORITY@@QEBAPEAVSAM_DOMAIN@@XZ
+; public: long __cdecl OS_ACL::QueryBytesInUse(unsigned long * __ptr64)const  __ptr64
+?QueryBytesInUse@OS_ACL@@QEBAJPEAK@Z
+; public: unsigned short const * __ptr64 __cdecl LM_SESSION_2::QueryClientType(void)const  __ptr64
+?QueryClientType@LM_SESSION_2@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl GROUP_1::QueryComment(void)const  __ptr64
+?QueryComment@GROUP_1@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryComment(void)const  __ptr64
+?QueryComment@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl SERVER_1::QueryComment(void)const  __ptr64
+?QueryComment@SERVER_1@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl SHARE_1::QueryComment(void)const  __ptr64
+?QueryComment@SHARE_1@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER_11::QueryComment(void)const  __ptr64
+?QueryComment@USER_11@@QEBAPEBGXZ
+; public: long __cdecl NET_NAME::QueryComputerName(class NLS_STR * __ptr64) __ptr64
+?QueryComputerName@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
+; public: long __cdecl SC_SERVICE::QueryConfig(struct _QUERY_SERVICE_CONFIGW * __ptr64 * __ptr64) __ptr64
+?QueryConfig@SC_SERVICE@@QEAAJPEAPEAU_QUERY_SERVICE_CONFIGW@@@Z
+; public: class OS_SECURITY_DESCRIPTOR_CONTROL const * __ptr64 __cdecl OS_SECURITY_DESCRIPTOR::QueryControl(void)const  __ptr64
+?QueryControl@OS_SECURITY_DESCRIPTOR@@QEBAPEBVOS_SECURITY_DESCRIPTOR_CONTROL@@XZ
+; public: struct _TRUSTED_CONTROLLERS_INFO const & __ptr64 __cdecl LSA_TRUSTED_DC_LIST::QueryControllerList(void)const  __ptr64
+?QueryControllerList@LSA_TRUSTED_DC_LIST@@QEBAAEBU_TRUSTED_CONTROLLERS_INFO@@XZ
+; public: long __cdecl LSA_TRUSTED_DOMAIN::QueryControllerList(class LSA_REF_DOMAIN_MEM * __ptr64)const  __ptr64
+?QueryControllerList@LSA_TRUSTED_DOMAIN@@QEBAJPEAVLSA_REF_DOMAIN_MEM@@@Z
+; public: unsigned int __cdecl ENUM_CALLER::QueryCount(void)const  __ptr64
+?QueryCount@ENUM_CALLER@@QEBAIXZ
+; protected: unsigned int __cdecl LM_ENUM_ITER::QueryCount(void)const  __ptr64
+?QueryCount@LM_ENUM_ITER@@IEBAIXZ
+; protected: unsigned int __cdecl LM_RESUME_ENUM_ITER::QueryCount(void)const  __ptr64
+?QueryCount@LM_RESUME_ENUM_ITER@@IEBAIXZ
+; public: int __cdecl LSA_TRUSTED_DC_LIST::QueryCount(void) __ptr64
+?QueryCount@LSA_TRUSTED_DC_LIST@@QEAAHXZ
+; public: unsigned long __cdecl NT_MEMORY::QueryCount(void)const  __ptr64
+?QueryCount@NT_MEMORY@@QEBAKXZ
+; protected: static long __cdecl NT_ACCOUNT_ENUM::QueryCountPreferences2(unsigned long * __ptr64,unsigned long * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long)
+?QueryCountPreferences2@NT_ACCOUNT_ENUM@@KAJPEAK0IKKK@Z
+; protected: virtual long __cdecl NT_ACCOUNT_ENUM::QueryCountPreferences(unsigned long * __ptr64,unsigned long * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long) __ptr64
+?QueryCountPreferences@NT_ACCOUNT_ENUM@@MEAAJPEAK0IKKK@Z
+; protected: unsigned long __cdecl OS_ACL_SUBJECT_ITER::QueryCurrentACE(void)const  __ptr64
+?QueryCurrentACE@OS_ACL_SUBJECT_ITER@@IEBAKXZ
+; public: long __cdecl LSA_POLICY::QueryCurrentUser(class NLS_STR * __ptr64)const  __ptr64
+?QueryCurrentUser@LSA_POLICY@@QEBAJPEAVNLS_STR@@@Z
+; public: unsigned int __cdecl SHARE_2::QueryCurrentUses(void)const  __ptr64
+?QueryCurrentUses@SHARE_2@@QEBAIXZ
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::QueryDACL(int * __ptr64,class OS_ACL * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
+?QueryDACL@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_ACL@@0@Z
+; public: long __cdecl LSA_DOMAIN_INFO::QueryDcName(class NLS_STR * __ptr64) __ptr64
+?QueryDcName@LSA_DOMAIN_INFO@@QEAAJPEAVNLS_STR@@@Z
+; protected: enum LMO_DEVICE  __cdecl DEVICE::QueryDevType(void)const  __ptr64
+?QueryDevType@DEVICE@@IEBA?AW4LMO_DEVICE@@XZ
+; public: long __cdecl LOCATION::QueryDisplayName(class NLS_STR * __ptr64)const  __ptr64
+?QueryDisplayName@LOCATION@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl LSA_PRIVILEGES_ENUM_OBJ::QueryDisplayName(class NLS_STR * __ptr64,class LSA_POLICY const * __ptr64)const  __ptr64
+?QueryDisplayName@LSA_PRIVILEGES_ENUM_OBJ@@QEBAJPEAVNLS_STR@@PEBVLSA_POLICY@@@Z
+; public: unsigned short const * __ptr64 __cdecl LOCATION::QueryDomain(void)const  __ptr64
+?QueryDomain@LOCATION@@QEBAPEBGXZ
+; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryDomainIndex(unsigned long)const  __ptr64
+?QueryDomainIndex@LSA_TRANSLATED_NAME_MEM@@QEBAJK@Z
+; public: unsigned short const * __ptr64 __cdecl BROWSE_DOMAIN_INFO::QueryDomainName(void)const  __ptr64
+?QueryDomainName@BROWSE_DOMAIN_INFO@@QEBAPEBGXZ
+; public: unsigned long __cdecl BROWSE_DOMAIN_INFO::QueryDomainSources(void)const  __ptr64
+?QueryDomainSources@BROWSE_DOMAIN_INFO@@QEBAKXZ
+; public: long __cdecl NET_NAME::QueryDrive(class NLS_STR * __ptr64) __ptr64
+?QueryDrive@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
+; public: unsigned long __cdecl USER_MODALS_3::QueryDuration(void)const  __ptr64
+?QueryDuration@USER_MODALS_3@@QEBAKXZ
+; public: long __cdecl BASE::QueryError(void)const  __ptr64
+?QueryError@BASE@@QEBAJXZ
+; public: long __cdecl LM_SERVICE::QueryExitCode(void)const  __ptr64
+?QueryExitCode@LM_SERVICE@@QEBAJXZ
+; public: long __cdecl NET_ACCESS_1::QueryFailingName(class NLS_STR * __ptr64,enum PERMNAME_TYPE * __ptr64)const  __ptr64
+?QueryFailingName@NET_ACCESS_1@@QEBAJPEAVNLS_STR@@PEAW4PERMNAME_TYPE@@@Z
+; public: int __cdecl LSA_TRANSLATED_SID_MEM::QueryFailingNameIndex(unsigned long * __ptr64) __ptr64
+?QueryFailingNameIndex@LSA_TRANSLATED_SID_MEM@@QEAAHPEAK@Z
+; public: unsigned long __cdecl LM_FILE::QueryFileId(void)const  __ptr64
+?QueryFileId@LM_FILE@@QEBAKXZ
+; public: unsigned long __cdecl USER_MODALS::QueryForceLogoff(void)const  __ptr64
+?QueryForceLogoff@USER_MODALS@@QEBAKXZ
+; public: unsigned short const * __ptr64 __cdecl USER_11::QueryFullName(void)const  __ptr64
+?QueryFullName@USER_11@@QEBAPEBGXZ
+; public: long __cdecl LM_SERVICE::QueryFullStatus(enum LM_SERVICE_STATUS * __ptr64,struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
+?QueryFullStatus@LM_SERVICE@@QEAAJPEAW4LM_SERVICE_STATUS@@PEAULM_SERVICE_OTHER_STATUS@@@Z
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::QueryGroup(int * __ptr64,class OS_SID * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
+?QueryGroup@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_SID@@0@Z
+; public: void * __ptr64 __cdecl LSA_OBJECT::QueryHandle(void)const  __ptr64
+?QueryHandle@LSA_OBJECT@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl SAM_OBJECT::QueryHandle(void)const  __ptr64
+?QueryHandle@SAM_OBJECT@@QEBAPEAXXZ
+; public: struct SC_HANDLE__ * __ptr64 __cdecl SERVICE_CONTROL::QueryHandle(void)const  __ptr64
+?QueryHandle@SERVICE_CONTROL@@QEBAPEAUSC_HANDLE__@@XZ
+; public: unsigned short const * __ptr64 __cdecl USER_11::QueryHomeDir(void)const  __ptr64
+?QueryHomeDir@USER_11@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER_3::QueryHomedirDrive(void)const  __ptr64
+?QueryHomedirDrive@USER_3@@QEBAPEBGXZ
+; public: unsigned char * __ptr64 __cdecl LOGON_HOURS_SETTING::QueryHoursBlock(void)const  __ptr64
+?QueryHoursBlock@LOGON_HOURS_SETTING@@QEBAPEAEXZ
+; public: unsigned long __cdecl LM_SESSION_10::QueryIdleTime(void)const  __ptr64
+?QueryIdleTime@LM_SESSION_10@@QEBAKXZ
+; public: long __cdecl LSA_SECRET::QueryInfo(class NLS_STR * __ptr64,class NLS_STR * __ptr64,union _LARGE_INTEGER * __ptr64,union _LARGE_INTEGER * __ptr64)const  __ptr64
+?QueryInfo@LSA_SECRET@@QEBAJPEAVNLS_STR@@0PEAT_LARGE_INTEGER@@1@Z
+; private: long __cdecl LSA_TRUSTED_DC_LIST::QueryInfo(class NLS_STR const & __ptr64,unsigned short const * __ptr64) __ptr64
+?QueryInfo@LSA_TRUSTED_DC_LIST@@AEAAJAEBVNLS_STR@@PEBG@Z
+; public: unsigned int __cdecl LM_ENUM::QueryInfoLevel(void)const  __ptr64
+?QueryInfoLevel@LM_ENUM@@QEBAIXZ
+; public: unsigned int __cdecl LM_RESUME_ENUM::QueryInfoLevel(void)const  __ptr64
+?QueryInfoLevel@LM_RESUME_ENUM@@QEBAIXZ
+; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryInheritOnlyAccessMask(void)const  __ptr64
+?QueryInheritOnlyAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_F(void)const  __ptr64
+?QueryInheritOnlyAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_S(void)const  __ptr64
+?QueryInheritOnlyAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned int __cdecl LM_RESUME_BUFFER::QueryItemCount(void)const  __ptr64
+?QueryItemCount@LM_RESUME_BUFFER@@QEBAIXZ
+; protected: virtual unsigned int __cdecl MEMBERSHIP_LM_OBJ::QueryItemSize(void)const  __ptr64
+?QueryItemSize@MEMBERSHIP_LM_OBJ@@MEBAIXZ
+; public: unsigned short const * __ptr64 __cdecl WKSTA_1::QueryLMRoot(void)const  __ptr64
+?QueryLMRoot@WKSTA_1@@QEBAPEBGXZ
+; public: class LSA_POLICY * __ptr64 __cdecl ADMIN_AUTHORITY::QueryLSAPolicy(void)const  __ptr64
+?QueryLSAPolicy@ADMIN_AUTHORITY@@QEBAPEAVLSA_POLICY@@XZ
+; public: long __cdecl NET_NAME::QueryLastComponent(class NLS_STR * __ptr64) __ptr64
+?QueryLastComponent@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
+; public: long __cdecl OS_SID::QueryLastSubAuthority(unsigned long * __ptr64 * __ptr64)const  __ptr64
+?QueryLastSubAuthority@OS_SID@@QEBAJPEAPEAK@Z
+; public: unsigned long __cdecl OS_SID::QueryLength(void)const  __ptr64
+?QueryLength@OS_SID@@QEBAKXZ
+; public: long __cdecl NET_NAME::QueryLocalDrive(class NLS_STR * __ptr64) __ptr64
+?QueryLocalDrive@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
+; public: long __cdecl NET_NAME::QueryLocalPath(class NLS_STR * __ptr64) __ptr64
+?QueryLocalPath@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
+; public: long __cdecl SC_MANAGER::QueryLockStatus(struct _QUERY_SERVICE_LOCK_STATUSW * __ptr64 * __ptr64) __ptr64
+?QueryLockStatus@SC_MANAGER@@QEAAJPEAPEAU_QUERY_SERVICE_LOCK_STATUSW@@@Z
+; public: int __cdecl USER_2::QueryLockout(void)const  __ptr64
+?QueryLockout@USER_2@@QEBAHXZ
+; public: unsigned short const * __ptr64 __cdecl WKSTA_10::QueryLogonDomain(void)const  __ptr64
+?QueryLogonDomain@WKSTA_10@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryLogonDomain(void)const  __ptr64
+?QueryLogonDomain@WKSTA_USER_1@@QEBAPEBGXZ
+; public: class LOGON_HOURS_SETTING const & __ptr64 __cdecl USER_11::QueryLogonHours(void)const  __ptr64
+?QueryLogonHours@USER_11@@QEBAAEBVLOGON_HOURS_SETTING@@XZ
+; public: unsigned short const * __ptr64 __cdecl WKSTA_1::QueryLogonServer(void)const  __ptr64
+?QueryLogonServer@WKSTA_1@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryLogonServer(void)const  __ptr64
+?QueryLogonServer@WKSTA_USER_1@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl WKSTA_10::QueryLogonUser(void)const  __ptr64
+?QueryLogonUser@WKSTA_10@@QEBAPEBGXZ
+; public: struct _LUID  __cdecl OS_LUID::QueryLuid(void)const  __ptr64
+?QueryLuid@OS_LUID@@QEBA?AU_LUID@@XZ
+; public: unsigned int __cdecl SERVER1_ENUM_OBJ::QueryMajorVer(void)const  __ptr64
+?QueryMajorVer@SERVER1_ENUM_OBJ@@QEBAIXZ
+; public: unsigned int __cdecl SERVER_1::QueryMajorVer(void)const  __ptr64
+?QueryMajorVer@SERVER_1@@QEBAIXZ
+; public: unsigned int __cdecl WKSTA_10::QueryMajorVer(void)const  __ptr64
+?QueryMajorVer@WKSTA_10@@QEBAIXZ
+; public: unsigned long __cdecl USER_MODALS::QueryMaxPasswdAge(void)const  __ptr64
+?QueryMaxPasswdAge@USER_MODALS@@QEBAKXZ
+; public: unsigned int __cdecl SERVER_2::QueryMaxUsers(void)const  __ptr64
+?QueryMaxUsers@SERVER_2@@QEBAIXZ
+; public: unsigned int __cdecl SHARE_2::QueryMaxUses(void)const  __ptr64
+?QueryMaxUses@SHARE_2@@QEBAIXZ
+; public: unsigned long __cdecl USER_MODALS::QueryMinPasswdAge(void)const  __ptr64
+?QueryMinPasswdAge@USER_MODALS@@QEBAKXZ
+; public: unsigned int __cdecl USER_MODALS::QueryMinPasswdLen(void)const  __ptr64
+?QueryMinPasswdLen@USER_MODALS@@QEBAIXZ
+; public: unsigned int __cdecl SERVER1_ENUM_OBJ::QueryMinorVer(void)const  __ptr64
+?QueryMinorVer@SERVER1_ENUM_OBJ@@QEBAIXZ
+; public: unsigned int __cdecl SERVER_1::QueryMinorVer(void)const  __ptr64
+?QueryMinorVer@SERVER_1@@QEBAIXZ
+; public: unsigned int __cdecl WKSTA_10::QueryMinorVer(void)const  __ptr64
+?QueryMinorVer@WKSTA_10@@QEBAIXZ
+; public: long __cdecl LOCATION::QueryNOSVersion(unsigned int * __ptr64,unsigned int * __ptr64) __ptr64
+?QueryNOSVersion@LOCATION@@QEAAJPEAI0@Z
+; public: virtual unsigned short const * __ptr64 __cdecl COMPUTER::QueryName(void)const  __ptr64
+?QueryName@COMPUTER@@UEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl DEVICE::QueryName(void)const  __ptr64
+?QueryName@DEVICE@@UEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl DOMAIN0_ENUM_OBJ::QueryName(void)const  __ptr64
+?QueryName@DOMAIN0_ENUM_OBJ@@QEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl DOMAIN::QueryName(void)const  __ptr64
+?QueryName@DOMAIN@@UEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl GROUP0_ENUM_OBJ::QueryName(void)const  __ptr64
+?QueryName@GROUP0_ENUM_OBJ@@QEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl GROUP::QueryName(void)const  __ptr64
+?QueryName@GROUP@@UEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl GROUP_MEMB::QueryName(void)const  __ptr64
+?QueryName@GROUP_MEMB@@UEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LM_SERVICE::QueryName(void)const  __ptr64
+?QueryName@LM_SERVICE@@QEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl LM_SESSION::QueryName(void)const  __ptr64
+?QueryName@LM_SESSION@@UEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LOCATION::QueryName(void)const  __ptr64
+?QueryName@LOCATION@@QEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl LSA_ACCOUNT::QueryName(void)const  __ptr64
+?QueryName@LSA_ACCOUNT@@UEBAPEBGXZ
+; public: long __cdecl LSA_ACCT_DOM_INFO_MEM::QueryName(class NLS_STR * __ptr64)const  __ptr64
+?QueryName@LSA_ACCT_DOM_INFO_MEM@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryName(class NLS_STR * __ptr64)const  __ptr64
+?QueryName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl LSA_REF_DOMAIN_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
+?QueryName@LSA_REF_DOMAIN_MEM@@QEBAJKPEAVNLS_STR@@@Z
+; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
+?QueryName@LSA_TRANSLATED_NAME_MEM@@QEBAJKPEAVNLS_STR@@@Z
+; public: long __cdecl LSA_TRUST_INFO_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
+?QueryName@LSA_TRUST_INFO_MEM@@QEBAJKPEAVNLS_STR@@@Z
+; public: virtual unsigned short const * __ptr64 __cdecl NET_ACCESS::QueryName(void)const  __ptr64
+?QueryName@NET_ACCESS@@UEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl NEW_LM_OBJ::QueryName(void)const  __ptr64
+?QueryName@NEW_LM_OBJ@@UEBAPEBGXZ
+; public: long __cdecl OS_SID::QueryName(class NLS_STR * __ptr64,unsigned short const * __ptr64,void * __ptr64)const  __ptr64
+?QueryName@OS_SID@@QEBAJPEAVNLS_STR@@PEBGPEAX@Z
+; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryName(void)const  __ptr64
+?QueryName@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl SERVER_0::QueryName(void)const  __ptr64
+?QueryName@SERVER_0@@UEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl SHARE::QueryName(void)const  __ptr64
+?QueryName@SHARE@@UEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER0_ENUM_OBJ::QueryName(void)const  __ptr64
+?QueryName@USER0_ENUM_OBJ@@QEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl USER::QueryName(void)const  __ptr64
+?QueryName@USER@@UEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl USER_MEMB::QueryName(void)const  __ptr64
+?QueryName@USER_MEMB@@UEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl USER_MODALS::QueryName(void)const  __ptr64
+?QueryName@USER_MODALS@@UEBAPEBGXZ
+; public: virtual unsigned short const * __ptr64 __cdecl USER_MODALS_3::QueryName(void)const  __ptr64
+?QueryName@USER_MODALS_3@@UEBAPEBGXZ
+; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryNewContainerAccessMask(void)const  __ptr64
+?QueryNewContainerAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_F(void)const  __ptr64
+?QueryNewContainerAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_S(void)const  __ptr64
+?QueryNewContainerAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned long __cdecl OS_DACL_SUBJECT_ITER::QueryNewObjectAccessMask(void)const  __ptr64
+?QueryNewObjectAccessMask@OS_DACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_F(void)const  __ptr64
+?QueryNewObjectAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QEBAKXZ
+; public: unsigned long __cdecl OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_S(void)const  __ptr64
+?QueryNewObjectAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QEBAKXZ
+; public: int __cdecl SAM_PSWD_DOM_INFO_MEM::QueryNoAnonChange(void) __ptr64
+?QueryNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QEAAHXZ
+; public: int __cdecl USER_2::QueryNoPasswordExpire(void)const  __ptr64
+?QueryNoPasswordExpire@USER_2@@QEBAHXZ
+; public: unsigned int __cdecl LM_FILE_3::QueryNumLock(void)const  __ptr64
+?QueryNumLock@LM_FILE_3@@QEBAIXZ
+; public: unsigned long __cdecl FILE3_ENUM_OBJ::QueryNumLocks(void)const  __ptr64
+?QueryNumLocks@FILE3_ENUM_OBJ@@QEBAKXZ
+; public: unsigned int __cdecl LM_SESSION_1::QueryNumOpens(void)const  __ptr64
+?QueryNumOpens@LM_SESSION_1@@QEBAIXZ
+; public: unsigned long __cdecl OS_PRIVILEGE_SET::QueryNumberOfPrivileges(void)const  __ptr64
+?QueryNumberOfPrivileges@OS_PRIVILEGE_SET@@QEBAKXZ
+; public: unsigned long __cdecl USER_MODALS_3::QueryObservation(void)const  __ptr64
+?QueryObservation@USER_MODALS_3@@QEBAKXZ
+; public: class STRLIST * __ptr64 __cdecl WKSTA_10::QueryOtherDomains(void)const  __ptr64
+?QueryOtherDomains@WKSTA_10@@QEBAPEAVSTRLIST@@XZ
+; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryOtherDomains(void)const  __ptr64
+?QueryOtherDomains@WKSTA_USER_1@@QEBAPEBGXZ
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::QueryOwner(int * __ptr64,class OS_SID * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
+?QueryOwner@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_SID@@0@Z
+; public: unsigned short const * __ptr64 __cdecl DOMAIN::QueryPDC(void)const  __ptr64
+?QueryPDC@DOMAIN@@QEBAPEBGXZ
+; public: void * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
+?QueryPSID@LSA_ACCT_DOM_INFO_MEM@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl LSA_DOMAIN_INFO::QueryPSID(void)const  __ptr64
+?QueryPSID@LSA_DOMAIN_INFO@@QEBAQEAXXZ
+; public: void * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
+?QueryPSID@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPSID(unsigned long)const  __ptr64
+?QueryPSID@LSA_REF_DOMAIN_MEM@@QEBAPEAXK@Z
+; public: void * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPSID(unsigned long)const  __ptr64
+?QueryPSID@LSA_TRUST_INFO_MEM@@QEBAPEAXK@Z
+; public: void * __ptr64 __cdecl OS_SID::QueryPSID(void)const  __ptr64
+?QueryPSID@OS_SID@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl SAM_DOMAIN::QueryPSID(void)const  __ptr64
+?QueryPSID@SAM_DOMAIN@@QEBAPEAXXZ
+; public: unsigned short const * __ptr64 __cdecl USER_11::QueryParms(void)const  __ptr64
+?QueryParms@USER_11@@QEBAPEBGXZ
+; public: unsigned int __cdecl USER_MODALS::QueryPasswdHistLen(void)const  __ptr64
+?QueryPasswdHistLen@USER_MODALS@@QEBAIXZ
+; public: unsigned short const * __ptr64 __cdecl SHARE_2::QueryPassword(void)const  __ptr64
+?QueryPassword@SHARE_2@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER_2::QueryPassword(void)const  __ptr64
+?QueryPassword@USER_2@@QEBAPEBGXZ
+; public: unsigned long __cdecl USER_3::QueryPasswordExpired(void)const  __ptr64
+?QueryPasswordExpired@USER_3@@QEBAKXZ
+; public: unsigned short const * __ptr64 __cdecl SHARE_2::QueryPath(void)const  __ptr64
+?QueryPath@SHARE_2@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl FILE3_ENUM_OBJ::QueryPathName(void)const  __ptr64
+?QueryPathName@FILE3_ENUM_OBJ@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LM_FILE_3::QueryPathname(void)const  __ptr64
+?QueryPathname@LM_FILE_3@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NLS_STR::QueryPch(void)const  __ptr64
+?QueryPch@NLS_STR@@QEBAPEBGXZ
+; public: unsigned int __cdecl NET_ACCESS_1::QueryPerm(unsigned short const * __ptr64,enum PERMNAME_TYPE)const  __ptr64
+?QueryPerm@NET_ACCESS_1@@QEBAIPEBGW4PERMNAME_TYPE@@@Z
+; public: unsigned int __cdecl LM_FILE_3::QueryPermission(void)const  __ptr64
+?QueryPermission@LM_FILE_3@@QEBAIXZ
+; public: unsigned int __cdecl SHARE_2::QueryPermissions(void)const  __ptr64
+?QueryPermissions@SHARE_2@@QEBAIXZ
+; public: long __cdecl LSA_TRUSTED_DOMAIN::QueryPosixOffset(unsigned long * __ptr64)const  __ptr64
+?QueryPosixOffset@LSA_TRUSTED_DOMAIN@@QEBAJPEAK@Z
+; public: long __cdecl LSA_POLICY::QueryPrimaryBrowserGroup(class NLS_STR * __ptr64)const  __ptr64
+?QueryPrimaryBrowserGroup@LSA_POLICY@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl LSA_POLICY::QueryPrimaryDomainName(class NLS_STR * __ptr64)const  __ptr64
+?QueryPrimaryDomainName@LSA_POLICY@@QEBAJPEAVNLS_STR@@@Z
+; public: unsigned long __cdecl USER_3::QueryPrimaryGroupId(void)const  __ptr64
+?QueryPrimaryGroupId@USER_3@@QEBAKXZ
+; public: virtual unsigned int __cdecl LOCAL_USER::QueryPriv(void)const  __ptr64
+?QueryPriv@LOCAL_USER@@UEBAIXZ
+; public: virtual unsigned int __cdecl USER_11::QueryPriv(void)const  __ptr64
+?QueryPriv@USER_11@@UEBAIXZ
+; public: struct _PRIVILEGE_SET * __ptr64 __cdecl OS_PRIVILEGE_SET::QueryPrivSet(void)const  __ptr64
+?QueryPrivSet@OS_PRIVILEGE_SET@@QEBAPEAU_PRIVILEGE_SET@@XZ
+; public: class OS_LUID_AND_ATTRIBUTES const * __ptr64 __cdecl OS_PRIVILEGE_SET::QueryPrivilege(long) __ptr64
+?QueryPrivilege@OS_PRIVILEGE_SET@@QEAAPEBVOS_LUID_AND_ATTRIBUTES@@J@Z
+; public: long __cdecl LSA_ACCOUNT::QueryPrivilegeEnumIter(class LSA_ACCOUNT_PRIVILEGE_ENUM_ITER * __ptr64 * __ptr64) __ptr64
+?QueryPrivilegeEnumIter@LSA_ACCOUNT@@QEAAJPEAPEAVLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@@Z
+; public: static long __cdecl LSA_POLICY::QueryProductType(enum LSPL_PROD_TYPE * __ptr64)
+?QueryProductType@LSA_POLICY@@SAJPEAW4LSPL_PROD_TYPE@@@Z
+; public: unsigned short const * __ptr64 __cdecl USER_3::QueryProfile(void)const  __ptr64
+?QueryProfile@USER_3@@QEBAPEBGXZ
+; protected: unsigned char * __ptr64 __cdecl LM_ENUM::QueryPtr(void)const  __ptr64
+?QueryPtr@LM_ENUM@@IEBAPEAEXZ
+; public: struct _POLICY_ACCOUNT_DOMAIN_INFO const * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_ACCT_DOM_INFO_MEM@@QEBAPEBU_POLICY_ACCOUNT_DOMAIN_INFO@@XZ
+; public: struct _POLICY_AUDIT_EVENTS_INFO * __ptr64 __cdecl LSA_AUDIT_EVENT_INFO_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_AUDIT_EVENT_INFO_MEM@@QEBAPEAU_POLICY_AUDIT_EVENTS_INFO@@XZ
+; public: struct _POLICY_PRIMARY_DOMAIN_INFO const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_POLICY_PRIMARY_DOMAIN_INFO@@XZ
+; private: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_REF_DOMAIN_MEM@@AEBAPEBU_LSA_TRUST_INFORMATION@@XZ
+; public: struct _POLICY_LSA_SERVER_ROLE_INFO const * __ptr64 __cdecl LSA_SERVER_ROLE_INFO_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_SERVER_ROLE_INFO_MEM@@QEBAPEBU_POLICY_LSA_SERVER_ROLE_INFO@@XZ
+; private: struct _LSA_TRANSLATED_NAME const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_LSA_TRANSLATED_NAME@@XZ
+; private: struct _LSA_TRANSLATED_SID const * __ptr64 __cdecl LSA_TRANSLATED_SID_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_TRANSLATED_SID_MEM@@AEBAPEBU_LSA_TRANSLATED_SID@@XZ
+; public: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_TRUST_INFO_MEM@@QEBAPEBU_LSA_TRUST_INFORMATION@@XZ
+; protected: void * __ptr64 __cdecl OS_OBJECT_WITH_DATA::QueryPtr(void)const  __ptr64
+?QueryPtr@OS_OBJECT_WITH_DATA@@IEBAPEAXXZ
+; public: struct _DOMAIN_PASSWORD_INFORMATION const * __ptr64 __cdecl SAM_PSWD_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@SAM_PSWD_DOM_INFO_MEM@@QEBAPEBU_DOMAIN_PASSWORD_INFORMATION@@XZ
+; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl SAM_RID_ENUMERATION_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@SAM_RID_ENUMERATION_MEM@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
+; public: unsigned long __cdecl SAM_ALIAS::QueryRID(void) __ptr64
+?QueryRID@SAM_ALIAS@@QEAAKXZ
+; public: long __cdecl OS_SID::QueryRawID(class NLS_STR * __ptr64)const  __ptr64
+?QueryRawID@OS_SID@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl NET_NAME::QueryRelativePath(class NLS_STR * __ptr64) __ptr64
+?QueryRelativePath@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
+; public: unsigned short const * __ptr64 __cdecl DEVICE::QueryRemoteName(void)const  __ptr64
+?QueryRemoteName@DEVICE@@QEBAPEBGXZ
+; public: unsigned int __cdecl DEVICE::QueryRemoteType(void)const  __ptr64
+?QueryRemoteType@DEVICE@@QEBAIXZ
+; private: unsigned int __cdecl NET_ACCESS_1::QueryRequiredSpace(unsigned int)const  __ptr64
+?QueryRequiredSpace@NET_ACCESS_1@@AEBAII@Z
+; public: unsigned int __cdecl SHARE_1::QueryResourceType(void)const  __ptr64
+?QueryResourceType@SHARE_1@@QEBAIXZ
+; public: static unsigned long __cdecl OS_ACE::QueryRevision(void)
+?QueryRevision@OS_ACE@@SAKXZ
+; public: unsigned long const  __cdecl ALIAS_ENUM_OBJ::QueryRid(void)const  __ptr64
+?QueryRid@ALIAS_ENUM_OBJ@@QEBA?BKXZ
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::QuerySACL(int * __ptr64,class OS_ACL * __ptr64 * __ptr64,int * __ptr64)const  __ptr64
+?QuerySACL@OS_SECURITY_DESCRIPTOR@@QEBAJPEAHPEAPEAVOS_ACL@@0@Z
+; public: long __cdecl OS_ACE::QuerySID(class OS_SID * __ptr64 * __ptr64)const  __ptr64
+?QuerySID@OS_ACE@@QEBAJPEAPEAVOS_SID@@@Z
+; public: class OS_SID const * __ptr64 __cdecl OS_ACL_SUBJECT_ITER::QuerySID(void)const  __ptr64
+?QuerySID@OS_ACL_SUBJECT_ITER@@QEBAPEBVOS_SID@@XZ
+; protected: void * __ptr64 __cdecl OS_ACE::QuerySIDMemory(void)const  __ptr64
+?QuerySIDMemory@OS_ACE@@IEBAPEAXXZ
+; public: class SAM_SERVER * __ptr64 __cdecl ADMIN_AUTHORITY::QuerySamServer(void)const  __ptr64
+?QuerySamServer@ADMIN_AUTHORITY@@QEBAPEAVSAM_SERVER@@XZ
+; public: unsigned short const * __ptr64 __cdecl USER_2::QueryScriptPath(void)const  __ptr64
+?QueryScriptPath@USER_2@@QEBAPEBGXZ
+; public: long __cdecl SC_SERVICE::QuerySecurity(unsigned long,void * __ptr64 * __ptr64) __ptr64
+?QuerySecurity@SC_SERVICE@@QEAAJKPEAPEAX@Z
+; public: unsigned int __cdecl SERVER_2::QuerySecurity(void)const  __ptr64
+?QuerySecurity@SERVER_2@@QEBAIXZ
+; public: unsigned short const * __ptr64 __cdecl DEVICE::QueryServer(void)const  __ptr64
+?QueryServer@DEVICE@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LM_FILE::QueryServer(void)const  __ptr64
+?QueryServer@LM_FILE@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LM_SESSION::QueryServer(void)const  __ptr64
+?QueryServer@LM_SESSION@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LOCATION::QueryServer(void)const  __ptr64
+?QueryServer@LOCATION@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LOC_LM_ENUM::QueryServer(void)const  __ptr64
+?QueryServer@LOC_LM_ENUM@@QEBAPEBGXZ
+; protected: unsigned short const * __ptr64 __cdecl LOC_LM_OBJ::QueryServer(void)const  __ptr64
+?QueryServer@LOC_LM_OBJ@@IEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LOC_LM_RESUME_ENUM::QueryServer(void)const  __ptr64
+?QueryServer@LOC_LM_RESUME_ENUM@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl SHARE::QueryServer(void)const  __ptr64
+?QueryServer@SHARE@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LM_SERVICE::QueryServerName(void)const  __ptr64
+?QueryServerName@LM_SERVICE@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NET_ACCESS::QueryServerName(void)const  __ptr64
+?QueryServerName@NET_ACCESS@@QEBAPEBGXZ
+; public: long __cdecl NET_NAME::QueryServerShare(class NLS_STR * __ptr64) __ptr64
+?QueryServerShare@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
+; public: unsigned long __cdecl SERVER1_ENUM_OBJ::QueryServerType(void)const  __ptr64
+?QueryServerType@SERVER1_ENUM_OBJ@@QEBAKXZ
+; public: unsigned long __cdecl SERVER_1::QueryServerType(void)const  __ptr64
+?QueryServerType@SERVER_1@@QEBAKXZ
+; public: long __cdecl SC_MANAGER::QueryServiceDisplayName(unsigned short const * __ptr64,class NLS_STR * __ptr64) __ptr64
+?QueryServiceDisplayName@SC_MANAGER@@QEAAJPEBGPEAVNLS_STR@@@Z
+; public: long __cdecl SC_MANAGER::QueryServiceKeyName(unsigned short const * __ptr64,class NLS_STR * __ptr64) __ptr64
+?QueryServiceKeyName@SC_MANAGER@@QEAAJPEBGPEAVNLS_STR@@@Z
+; public: long __cdecl NET_NAME::QueryShare(class NLS_STR * __ptr64) __ptr64
+?QueryShare@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
+; public: void * __ptr64 __cdecl OS_SID::QuerySid(void)const  __ptr64
+?QuerySid@OS_SID@@QEBAPEAXXZ
+; public: unsigned short __cdecl OS_ACE::QuerySize(void)const  __ptr64
+?QuerySize@OS_ACE@@QEBAGXZ
+; public: long __cdecl OS_ACL::QuerySizeInformation(struct _ACL_SIZE_INFORMATION * __ptr64)const  __ptr64
+?QuerySizeInformation@OS_ACL@@QEBAJPEAU_ACL_SIZE_INFORMATION@@@Z
+; public: enum LMO_DEV_STATE  __cdecl DEVICE::QueryState(void)const  __ptr64
+?QueryState@DEVICE@@QEBA?AW4LMO_DEV_STATE@@XZ
+; public: unsigned int __cdecl DEVICE::QueryStatus(void)const  __ptr64
+?QueryStatus@DEVICE@@QEBAIXZ
+; public: enum LM_SERVICE_STATUS  __cdecl LM_SERVICE::QueryStatus(long * __ptr64) __ptr64
+?QueryStatus@LM_SERVICE@@QEAA?AW4LM_SERVICE_STATUS@@PEAJ@Z
+; public: long __cdecl SC_SERVICE::QueryStatus(struct _SERVICE_STATUS * __ptr64) __ptr64
+?QueryStatus@SC_SERVICE@@QEAAJPEAU_SERVICE_STATUS@@@Z
+; public: long __cdecl OS_SID::QuerySubAuthority(unsigned char,unsigned long * __ptr64 * __ptr64)const  __ptr64
+?QuerySubAuthority@OS_SID@@QEBAJEPEAPEAK@Z
+; public: long __cdecl OS_SID::QuerySubAuthorityCount(unsigned char * __ptr64 * __ptr64)const  __ptr64
+?QuerySubAuthorityCount@OS_SID@@QEBAJPEAPEAE@Z
+; public: static long __cdecl NT_ACCOUNTS_UTILITY::QuerySystemSid(enum UI_SystemSid,class OS_SID * __ptr64,unsigned short const * __ptr64)
+?QuerySystemSid@NT_ACCOUNTS_UTILITY@@SAJW4UI_SystemSid@@PEAVOS_SID@@PEBG@Z
+; public: unsigned int __cdecl NLS_STR::QueryTextLength(void)const  __ptr64
+?QueryTextLength@NLS_STR@@QEBAIXZ
+; public: unsigned long __cdecl USER_MODALS_3::QueryThreshold(void)const  __ptr64
+?QueryThreshold@USER_MODALS_3@@QEBAKXZ
+; public: unsigned long __cdecl LM_SESSION_10::QueryTime(void)const  __ptr64
+?QueryTime@LM_SESSION_10@@QEBAKXZ
+; protected: unsigned long __cdecl OS_ACL_SUBJECT_ITER::QueryTotalAceCount(void)const  __ptr64
+?QueryTotalAceCount@OS_ACL_SUBJECT_ITER@@IEBAKXZ
+; public: unsigned int __cdecl LM_RESUME_ENUM::QueryTotalItemCount(void)const  __ptr64
+?QueryTotalItemCount@LM_RESUME_ENUM@@QEBAIXZ
+; public: unsigned int __cdecl DEVICE::QueryType(void)const  __ptr64
+?QueryType@DEVICE@@QEBAIXZ
+; public: unsigned char __cdecl OS_ACE::QueryType(void)const  __ptr64
+?QueryType@OS_ACE@@QEBAEXZ
+; public: long __cdecl NET_NAME::QueryUNCPath(class NLS_STR * __ptr64) __ptr64
+?QueryUNCPath@NET_NAME@@QEAAJPEAVNLS_STR@@@Z
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl NT_MACHINE_ENUM_OBJ::QueryUnicodeMachine(void)const  __ptr64
+?QueryUnicodeMachine@NT_MACHINE_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryUnicodeName(void)const  __ptr64
+?QueryUnicodeName@LSA_ACCT_DOM_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@XZ
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryUnicodeName(void)const  __ptr64
+?QueryUnicodeName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@XZ
+; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryUnicodeName(unsigned long)const  __ptr64
+?QueryUnicodeName@LSA_REF_DOMAIN_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
+; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryUnicodeName(unsigned long)const  __ptr64
+?QueryUnicodeName@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryUnicodeName(unsigned long)const  __ptr64
+?QueryUnicodeName@LSA_TRUST_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@K@Z
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl SAM_USER_ENUM_OBJ::QueryUnicodeUserName(void)const  __ptr64
+?QueryUnicodeUserName@SAM_USER_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
+; public: unsigned int __cdecl LOGON_HOURS_SETTING::QueryUnitsPerWeek(void)const  __ptr64
+?QueryUnitsPerWeek@LOGON_HOURS_SETTING@@QEBAIXZ
+; private: struct _DOMAIN_PASSWORD_INFORMATION * __ptr64 __cdecl SAM_PSWD_DOM_INFO_MEM::QueryUpdatePtr(void)const  __ptr64
+?QueryUpdatePtr@SAM_PSWD_DOM_INFO_MEM@@AEBAPEAU_DOMAIN_PASSWORD_INFORMATION@@XZ
+; public: enum _SID_NAME_USE  __cdecl LSA_TRANSLATED_NAME_MEM::QueryUse(unsigned long)const  __ptr64
+?QueryUse@LSA_TRANSLATED_NAME_MEM@@QEBA?AW4_SID_NAME_USE@@K@Z
+; public: int __cdecl USER_2::QueryUserCantChangePass(void)const  __ptr64
+?QueryUserCantChangePass@USER_2@@QEBAHXZ
+; public: unsigned short const * __ptr64 __cdecl USER_11::QueryUserComment(void)const  __ptr64
+?QueryUserComment@USER_11@@QEBAPEBGXZ
+; protected: int __cdecl USER_2::QueryUserFlag(unsigned int)const  __ptr64
+?QueryUserFlag@USER_2@@IEBAHI@Z
+; public: unsigned long __cdecl LM_SESSION_1::QueryUserFlags(void)const  __ptr64
+?QueryUserFlags@LM_SESSION_1@@QEBAKXZ
+; public: unsigned int __cdecl USER_2::QueryUserFlags(void)const  __ptr64
+?QueryUserFlags@USER_2@@QEBAIXZ
+; public: unsigned long __cdecl USER_3::QueryUserId(void)const  __ptr64
+?QueryUserId@USER_3@@QEBAKXZ
+; public: long __cdecl SAM_USER_ENUM_OBJ::QueryUserName(class NLS_STR * __ptr64)const  __ptr64
+?QueryUserName@SAM_USER_ENUM_OBJ@@QEBAJPEAVNLS_STR@@@Z
+; public: unsigned short const * __ptr64 __cdecl WKSTA_USER_1::QueryUserName(void)const  __ptr64
+?QueryUserName@WKSTA_USER_1@@QEBAPEBGXZ
+; public: int __cdecl USER_2::QueryUserPassRequired(void)const  __ptr64
+?QueryUserPassRequired@USER_2@@QEBAHXZ
+; public: unsigned short const * __ptr64 __cdecl LM_FILE_3::QueryUsername(void)const  __ptr64
+?QueryUsername@LM_FILE_3@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl LM_SESSION_10::QueryUsername(void)const  __ptr64
+?QueryUsername@LM_SESSION_10@@QEBAPEBGXZ
+; public: long __cdecl LM_CONFIG::QueryValue(class NLS_STR * __ptr64,unsigned short const * __ptr64) __ptr64
+?QueryValue@LM_CONFIG@@QEAAJPEAVNLS_STR@@PEBG@Z
+; public: unsigned short const * __ptr64 __cdecl WKSTA_10::QueryWkstaDomain(void)const  __ptr64
+?QueryWkstaDomain@WKSTA_10@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER_11::QueryWorkstations(void)const  __ptr64
+?QueryWorkstations@USER_11@@QEBAPEBGXZ
+; private: void __cdecl LM_ENUM::RegisterIter(void) __ptr64
+?RegisterIter@LM_ENUM@@AEAAXXZ
+; private: void __cdecl LM_RESUME_ENUM::RegisterIter(void) __ptr64
+?RegisterIter@LM_RESUME_ENUM@@AEAAXXZ
+; public: class NLS_STR * __ptr64 __cdecl SLIST_OF_NLS_STR::Remove(class ITER_SL_NLS_STR & __ptr64) __ptr64
+?Remove@SLIST_OF_NLS_STR@@QEAAPEAVNLS_STR@@AEAVITER_SL_NLS_STR@@@Z
+; public: long __cdecl SAM_ALIAS::RemoveMember(void * __ptr64) __ptr64
+?RemoveMember@SAM_ALIAS@@QEAAJPEAX@Z
+; public: long __cdecl SAM_GROUP::RemoveMember(unsigned long) __ptr64
+?RemoveMember@SAM_GROUP@@QEAAJK@Z
+; public: long __cdecl SAM_DOMAIN::RemoveMemberFromAliases(void * __ptr64) __ptr64
+?RemoveMemberFromAliases@SAM_DOMAIN@@QEAAJPEAX@Z
+; public: long __cdecl SAM_ALIAS::RemoveMembers(void * __ptr64 * __ptr64,unsigned int) __ptr64
+?RemoveMembers@SAM_ALIAS@@QEAAJPEAPEAXI@Z
+; public: long __cdecl SAM_GROUP::RemoveMembers(unsigned long * __ptr64,unsigned int) __ptr64
+?RemoveMembers@SAM_GROUP@@QEAAJPEAKI@Z
+; public: long __cdecl OS_PRIVILEGE_SET::RemovePrivilege(long) __ptr64
+?RemovePrivilege@OS_PRIVILEGE_SET@@QEAAJJ@Z
+; public: long __cdecl OS_PRIVILEGE_SET::RemovePrivilege(struct _LUID) __ptr64
+?RemovePrivilege@OS_PRIVILEGE_SET@@QEAAJU_LUID@@@Z
+; public: long __cdecl USER::Rename(unsigned short const * __ptr64) __ptr64
+?Rename@USER@@QEAAJPEBG@Z
+; public: long __cdecl ADMIN_AUTHORITY::ReplaceAccountDomain(unsigned long) __ptr64
+?ReplaceAccountDomain@ADMIN_AUTHORITY@@QEAAJK@Z
+; public: long __cdecl ADMIN_AUTHORITY::ReplaceBuiltinDomain(unsigned long) __ptr64
+?ReplaceBuiltinDomain@ADMIN_AUTHORITY@@QEAAJK@Z
+; public: long __cdecl ADMIN_AUTHORITY::ReplaceLSAPolicy(unsigned long) __ptr64
+?ReplaceLSAPolicy@ADMIN_AUTHORITY@@QEAAJK@Z
+; public: long __cdecl ADMIN_AUTHORITY::ReplaceSamServer(unsigned long) __ptr64
+?ReplaceSamServer@ADMIN_AUTHORITY@@QEAAJK@Z
+; protected: void __cdecl BASE::ReportError(long) __ptr64
+?ReportError@BASE@@IEAAXJ@Z
+; protected: void __cdecl NEW_LM_OBJ::ReportError(long) __ptr64
+?ReportError@NEW_LM_OBJ@@IEAAXJ@Z
+; public: void __cdecl BROWSE_DOMAIN_ENUM::Reset(void) __ptr64
+?Reset@BROWSE_DOMAIN_ENUM@@QEAAXXZ
+; public: void __cdecl OS_ACL_SUBJECT_ITER::Reset(void) __ptr64
+?Reset@OS_ACL_SUBJECT_ITER@@QEAAXXZ
+; protected: void __cdecl LSA_OBJECT::ResetHandle(void) __ptr64
+?ResetHandle@LSA_OBJECT@@IEAAXXZ
+; protected: void __cdecl SAM_OBJECT::ResetHandle(void) __ptr64
+?ResetHandle@SAM_OBJECT@@IEAAXXZ
+; protected: long __cdecl OS_OBJECT_WITH_DATA::Resize(unsigned int) __ptr64
+?Resize@OS_OBJECT_WITH_DATA@@IEAAJI@Z
+; protected: long __cdecl NEW_LM_OBJ::ResizeBuffer(unsigned int) __ptr64
+?ResizeBuffer@NEW_LM_OBJ@@IEAAJI@Z
+; public: long __cdecl LM_MESSAGE::SendBuffer(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
+?SendBuffer@LM_MESSAGE@@QEAAJPEBG0I@Z
+; public: long __cdecl LM_MESSAGE::SendBuffer(unsigned short const * __ptr64,class BUFFER const & __ptr64) __ptr64
+?SendBuffer@LM_MESSAGE@@QEAAJPEBGAEBVBUFFER@@@Z
+; public: long __cdecl LOCATION::Set(class LOCATION const & __ptr64) __ptr64
+?Set@LOCATION@@QEAAJAEBV1@@Z
+; public: virtual void __cdecl LSA_MEMORY::Set(void * __ptr64,unsigned long) __ptr64
+?Set@LSA_MEMORY@@UEAAXPEAXK@Z
+; public: virtual void __cdecl NT_MEMORY::Set(void * __ptr64,unsigned long) __ptr64
+?Set@NT_MEMORY@@UEAAXPEAXK@Z
+; public: virtual void __cdecl SAM_MEMORY::Set(void * __ptr64,unsigned long) __ptr64
+?Set@SAM_MEMORY@@UEAAXPEAXK@Z
+; private: long __cdecl NET_NAME::SetABSPath(unsigned short const * __ptr64) __ptr64
+?SetABSPath@NET_NAME@@AEAAJPEBG@Z
+; public: void __cdecl OS_ACE::SetAccessMask(unsigned long) __ptr64
+?SetAccessMask@OS_ACE@@QEAAXK@Z
+; public: long __cdecl USER_2::SetAccountDisabled(int) __ptr64
+?SetAccountDisabled@USER_2@@QEAAJH@Z
+; public: long __cdecl LSA_POLICY::SetAccountDomain(class LSA_ACCT_DOM_INFO_MEM const * __ptr64) __ptr64
+?SetAccountDomain@LSA_POLICY@@QEAAJPEBVLSA_ACCT_DOM_INFO_MEM@@@Z
+; public: long __cdecl LSA_POLICY::SetAccountDomainName(class NLS_STR const * __ptr64,void * __ptr64 const * __ptr64) __ptr64
+?SetAccountDomainName@LSA_POLICY@@QEAAJPEBVNLS_STR@@PEBQEAX@Z
+; public: long __cdecl USER_2::SetAccountExpires(long) __ptr64
+?SetAccountExpires@USER_2@@QEAAJJ@Z
+; public: long __cdecl USER_3::SetAccountType(enum _ACCOUNT_TYPE) __ptr64
+?SetAccountType@USER_3@@QEAAJW4_ACCOUNT_TYPE@@@Z
+; protected: void __cdecl SHARE_1::SetAdminOnly(int) __ptr64
+?SetAdminOnly@SHARE_1@@IEAAXH@Z
+; public: long __cdecl LSA_POLICY::SetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM * __ptr64) __ptr64
+?SetAuditEventInfo@LSA_POLICY@@QEAAJPEAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
+; public: long __cdecl NET_ACCESS_1::SetAuditFlags(short) __ptr64
+?SetAuditFlags@NET_ACCESS_1@@QEAAJF@Z
+; public: long __cdecl USER_11::SetAuthFlags(unsigned long) __ptr64
+?SetAuthFlags@USER_11@@QEAAJK@Z
+; protected: void __cdecl DEVICE::SetBufPtr(unsigned char * __ptr64) __ptr64
+?SetBufPtr@DEVICE@@IEAAXPEAE@Z
+; public: void __cdecl ALIAS_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const * __ptr64) __ptr64
+?SetBufferPtr@ALIAS_ENUM_OBJ@@QEAAXPEBU_SAM_RID_ENUMERATION@@@Z
+; public: void __cdecl CHARDEVQ1_ENUM_OBJ::SetBufferPtr(struct _CHARDEVQ_INFO_1 const * __ptr64) __ptr64
+?SetBufferPtr@CHARDEVQ1_ENUM_OBJ@@QEAAXPEBU_CHARDEVQ_INFO_1@@@Z
+; public: void __cdecl CONN0_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_0 const * __ptr64) __ptr64
+?SetBufferPtr@CONN0_ENUM_OBJ@@QEAAXPEBU_CONNECTION_INFO_0@@@Z
+; public: void __cdecl CONN1_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_1 const * __ptr64) __ptr64
+?SetBufferPtr@CONN1_ENUM_OBJ@@QEAAXPEBU_CONNECTION_INFO_1@@@Z
+; public: void __cdecl CONTEXT_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const * __ptr64) __ptr64
+?SetBufferPtr@CONTEXT_ENUM_OBJ@@QEAAXPEBU_SERVER_INFO_101@@@Z
+; public: void __cdecl DOMAIN0_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_100 const * __ptr64) __ptr64
+?SetBufferPtr@DOMAIN0_ENUM_OBJ@@QEAAXPEBU_SERVER_INFO_100@@@Z
+; protected: void __cdecl ENUM_OBJ_BASE::SetBufferPtr(unsigned char const * __ptr64) __ptr64
+?SetBufferPtr@ENUM_OBJ_BASE@@IEAAXPEBE@Z
+; public: void __cdecl FILE2_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_2 const * __ptr64) __ptr64
+?SetBufferPtr@FILE2_ENUM_OBJ@@QEAAXPEBU_FILE_INFO_2@@@Z
+; public: void __cdecl FILE3_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_3 const * __ptr64) __ptr64
+?SetBufferPtr@FILE3_ENUM_OBJ@@QEAAXPEBU_FILE_INFO_3@@@Z
+; public: void __cdecl GROUP0_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_0 const * __ptr64) __ptr64
+?SetBufferPtr@GROUP0_ENUM_OBJ@@QEAAXPEBU_GROUP_INFO_0@@@Z
+; public: void __cdecl GROUP1_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_1 const * __ptr64) __ptr64
+?SetBufferPtr@GROUP1_ENUM_OBJ@@QEAAXPEBU_GROUP_INFO_1@@@Z
+; public: void __cdecl LSA_ACCOUNTS_ENUM_OBJ::SetBufferPtr(void * __ptr64 const * __ptr64) __ptr64
+?SetBufferPtr@LSA_ACCOUNTS_ENUM_OBJ@@QEAAXPEBQEAX@Z
+; public: void __cdecl LSA_PRIVILEGES_ENUM_OBJ::SetBufferPtr(struct _POLICY_PRIVILEGE_DEFINITION const * __ptr64) __ptr64
+?SetBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QEAAXPEBU_POLICY_PRIVILEGE_DEFINITION@@@Z
+; protected: void __cdecl NEW_LM_OBJ::SetBufferPtr(unsigned char * __ptr64) __ptr64
+?SetBufferPtr@NEW_LM_OBJ@@IEAAXPEAE@Z
+; public: void __cdecl NT_GROUP_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_GROUP const * __ptr64) __ptr64
+?SetBufferPtr@NT_GROUP_ENUM_OBJ@@QEAAXPEBU_DOMAIN_DISPLAY_GROUP@@@Z
+; public: void __cdecl NT_MACHINE_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_MACHINE const * __ptr64) __ptr64
+?SetBufferPtr@NT_MACHINE_ENUM_OBJ@@QEAAXPEBU_DOMAIN_DISPLAY_MACHINE@@@Z
+; public: void __cdecl NT_USER_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_USER const * __ptr64) __ptr64
+?SetBufferPtr@NT_USER_ENUM_OBJ@@QEAAXPEBU_DOMAIN_DISPLAY_USER@@@Z
+; public: void __cdecl SAM_USER_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const * __ptr64) __ptr64
+?SetBufferPtr@SAM_USER_ENUM_OBJ@@QEAAXPEBU_SAM_RID_ENUMERATION@@@Z
+; public: void __cdecl SERVER1_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const * __ptr64) __ptr64
+?SetBufferPtr@SERVER1_ENUM_OBJ@@QEAAXPEBU_SERVER_INFO_101@@@Z
+; protected: void __cdecl SERVICE_ENUM_OBJ::SetBufferPtr(struct _ENUM_SVC_STATUS const * __ptr64) __ptr64
+?SetBufferPtr@SERVICE_ENUM_OBJ@@IEAAXPEBU_ENUM_SVC_STATUS@@@Z
+; public: void __cdecl SESSION0_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_0 const * __ptr64) __ptr64
+?SetBufferPtr@SESSION0_ENUM_OBJ@@QEAAXPEBU_SESSION_INFO_0@@@Z
+; public: void __cdecl SESSION1_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_1 const * __ptr64) __ptr64
+?SetBufferPtr@SESSION1_ENUM_OBJ@@QEAAXPEBU_SESSION_INFO_1@@@Z
+; public: void __cdecl SHARE1_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_1 const * __ptr64) __ptr64
+?SetBufferPtr@SHARE1_ENUM_OBJ@@QEAAXPEBU_SHARE_INFO_1@@@Z
+; public: void __cdecl SHARE2_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_2 const * __ptr64) __ptr64
+?SetBufferPtr@SHARE2_ENUM_OBJ@@QEAAXPEBU_SHARE_INFO_2@@@Z
+; public: void __cdecl TRIPLE_SERVER_ENUM_OBJ::SetBufferPtr(struct _TRIPLE_SERVER_INFO const * __ptr64) __ptr64
+?SetBufferPtr@TRIPLE_SERVER_ENUM_OBJ@@QEAAXPEBU_TRIPLE_SERVER_INFO@@@Z
+; public: void __cdecl TRUSTED_DOMAIN_ENUM_OBJ::SetBufferPtr(struct _LSA_TRUST_INFORMATION const * __ptr64) __ptr64
+?SetBufferPtr@TRUSTED_DOMAIN_ENUM_OBJ@@QEAAXPEBU_LSA_TRUST_INFORMATION@@@Z
+; public: void __cdecl USE1_ENUM_OBJ::SetBufferPtr(struct _USE_INFO_1 const * __ptr64) __ptr64
+?SetBufferPtr@USE1_ENUM_OBJ@@QEAAXPEBU_USE_INFO_1@@@Z
+; public: void __cdecl USER0_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_0 const * __ptr64) __ptr64
+?SetBufferPtr@USER0_ENUM_OBJ@@QEAAXPEBU_USER_INFO_0@@@Z
+; public: void __cdecl USER10_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_10 const * __ptr64) __ptr64
+?SetBufferPtr@USER10_ENUM_OBJ@@QEAAXPEBU_USER_INFO_10@@@Z
+; public: void __cdecl USER1_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_1 const * __ptr64) __ptr64
+?SetBufferPtr@USER1_ENUM_OBJ@@QEAAXPEBU_USER_INFO_1@@@Z
+; public: void __cdecl USER2_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_2 const * __ptr64) __ptr64
+?SetBufferPtr@USER2_ENUM_OBJ@@QEAAXPEBU_USER_INFO_2@@@Z
+; protected: long __cdecl LM_SESSION_2::SetClientType(unsigned short const * __ptr64) __ptr64
+?SetClientType@LM_SESSION_2@@IEAAJPEBG@Z
+; public: long __cdecl GROUP_1::SetComment(unsigned short const * __ptr64) __ptr64
+?SetComment@GROUP_1@@QEAAJPEBG@Z
+; public: long __cdecl SAM_ALIAS::SetComment(class NLS_STR const * __ptr64) __ptr64
+?SetComment@SAM_ALIAS@@QEAAJPEBVNLS_STR@@@Z
+; public: long __cdecl SERVER_1::SetComment(unsigned short const * __ptr64) __ptr64
+?SetComment@SERVER_1@@QEAAJPEBG@Z
+; public: long __cdecl SHARE_1::SetComment(unsigned short const * __ptr64) __ptr64
+?SetComment@SHARE_1@@QEAAJPEBG@Z
+; public: long __cdecl USER_11::SetComment(unsigned short const * __ptr64) __ptr64
+?SetComment@USER_11@@QEAAJPEBG@Z
+; public: long __cdecl LSA_TRUSTED_DOMAIN::SetControllerList(struct _TRUSTED_CONTROLLERS_INFO const & __ptr64) __ptr64
+?SetControllerList@LSA_TRUSTED_DOMAIN@@QEAAJAEBU_TRUSTED_CONTROLLERS_INFO@@@Z
+; public: long __cdecl LSA_TRUSTED_DOMAIN::SetControllerList(class LSA_REF_DOMAIN_MEM * __ptr64) __ptr64
+?SetControllerList@LSA_TRUSTED_DOMAIN@@QEAAJPEAVLSA_REF_DOMAIN_MEM@@@Z
+; protected: void __cdecl ENUM_CALLER::SetCount(unsigned int) __ptr64
+?SetCount@ENUM_CALLER@@IEAAXI@Z
+; protected: void __cdecl OS_ACL_SUBJECT_ITER::SetCurrentACE(unsigned long) __ptr64
+?SetCurrentACE@OS_ACL_SUBJECT_ITER@@IEAAXK@Z
+; protected: long __cdecl SHARE_2::SetCurrentUses(unsigned int) __ptr64
+?SetCurrentUses@SHARE_2@@IEAAJI@Z
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetDACL(int,class OS_ACL const * __ptr64,int) __ptr64
+?SetDACL@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_ACL@@H@Z
+; protected: void __cdecl DEVICE::SetDevState(enum LMO_DEV_STATE) __ptr64
+?SetDevState@DEVICE@@IEAAXW4LMO_DEV_STATE@@@Z
+; protected: void __cdecl DEVICE::SetDevType(enum LMO_DEVICE) __ptr64
+?SetDevType@DEVICE@@IEAAXW4LMO_DEVICE@@@Z
+; protected: long __cdecl DEVICE2::SetDomainName(unsigned short const * __ptr64) __ptr64
+?SetDomainName@DEVICE2@@IEAAJPEBG@Z
+; public: long __cdecl USER_MODALS_3::SetDuration(unsigned long) __ptr64
+?SetDuration@USER_MODALS_3@@QEAAJK@Z
+; protected: long __cdecl LM_FILE::SetFileId(unsigned long) __ptr64
+?SetFileId@LM_FILE@@IEAAJK@Z
+; public: long __cdecl USER_MODALS::SetForceLogoff(unsigned long) __ptr64
+?SetForceLogoff@USER_MODALS@@QEAAJK@Z
+; public: long __cdecl USER_11::SetFullName(unsigned short const * __ptr64) __ptr64
+?SetFullName@USER_11@@QEAAJPEBG@Z
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetGroup(class OS_SID const & __ptr64,int) __ptr64
+?SetGroup@OS_SECURITY_DESCRIPTOR@@QEAAJAEBVOS_SID@@H@Z
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetGroup(int,class OS_SID const * __ptr64,int) __ptr64
+?SetGroup@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_SID@@H@Z
+; public: long __cdecl SAM_GROUP::SetGroupname(class NLS_STR const * __ptr64) __ptr64
+?SetGroupname@SAM_GROUP@@QEAAJPEBVNLS_STR@@@Z
+; protected: void __cdecl LSA_OBJECT::SetHandle(void * __ptr64) __ptr64
+?SetHandle@LSA_OBJECT@@IEAAXPEAX@Z
+; protected: void __cdecl SAM_OBJECT::SetHandle(void * __ptr64) __ptr64
+?SetHandle@SAM_OBJECT@@IEAAXPEAX@Z
+; protected: void __cdecl SERVICE_CONTROL::SetHandle(struct SC_HANDLE__ * __ptr64) __ptr64
+?SetHandle@SERVICE_CONTROL@@IEAAXPEAUSC_HANDLE__@@@Z
+; public: long __cdecl USER_11::SetHomeDir(unsigned short const * __ptr64) __ptr64
+?SetHomeDir@USER_11@@QEAAJPEBG@Z
+; public: long __cdecl USER_3::SetHomedirDrive(unsigned short const * __ptr64) __ptr64
+?SetHomedirDrive@USER_3@@QEAAJPEBG@Z
+; protected: void __cdecl LM_SESSION_10::SetIdleTime(unsigned long) __ptr64
+?SetIdleTime@LM_SESSION_10@@IEAAXK@Z
+; protected: virtual void __cdecl DEVICE2::SetInfo(void) __ptr64
+?SetInfo@DEVICE2@@MEAAXXZ
+; protected: virtual void __cdecl DEVICE::SetInfo(void) __ptr64
+?SetInfo@DEVICE@@MEAAXXZ
+; public: long __cdecl LSA_SECRET::SetInfo(class NLS_STR const * __ptr64,class NLS_STR const * __ptr64) __ptr64
+?SetInfo@LSA_SECRET@@QEAAJPEBVNLS_STR@@0@Z
+; public: void __cdecl OS_ACE::SetInheritOnly(int) __ptr64
+?SetInheritOnly@OS_ACE@@QEAAXH@Z
+; public: long __cdecl USER_2::SetLockout(int) __ptr64
+?SetLockout@USER_2@@QEAAJH@Z
+; public: long __cdecl WKSTA_USER_1::SetLogonDomain(unsigned short const * __ptr64) __ptr64
+?SetLogonDomain@WKSTA_USER_1@@QEAAJPEBG@Z
+; public: long __cdecl USER_11::SetLogonHours(class LOGON_HOURS_SETTING const & __ptr64) __ptr64
+?SetLogonHours@USER_11@@QEAAJAEBVLOGON_HOURS_SETTING@@@Z
+; public: long __cdecl USER_11::SetLogonHours(unsigned char const * __ptr64,unsigned int) __ptr64
+?SetLogonHours@USER_11@@QEAAJPEBEI@Z
+; public: long __cdecl WKSTA_USER_1::SetLogonServer(unsigned short const * __ptr64) __ptr64
+?SetLogonServer@WKSTA_USER_1@@QEAAJPEBG@Z
+; public: void __cdecl OS_LUID_AND_ATTRIBUTES::SetLuidAndAttrib(struct _LUID_AND_ATTRIBUTES) __ptr64
+?SetLuidAndAttrib@OS_LUID_AND_ATTRIBUTES@@QEAAXU_LUID_AND_ATTRIBUTES@@@Z
+; protected: void __cdecl SERVER_1::SetMajorMinorVer(unsigned int,unsigned int) __ptr64
+?SetMajorMinorVer@SERVER_1@@IEAAXII@Z
+; public: long __cdecl USER_MODALS::SetMaxPasswdAge(unsigned long) __ptr64
+?SetMaxPasswdAge@USER_MODALS@@QEAAJK@Z
+; protected: void __cdecl SERVER_2::SetMaxUsers(unsigned int) __ptr64
+?SetMaxUsers@SERVER_2@@IEAAXI@Z
+; public: long __cdecl SHARE_2::SetMaxUses(unsigned int) __ptr64
+?SetMaxUses@SHARE_2@@QEAAJI@Z
+; public: long __cdecl USER_MODALS::SetMinPasswdAge(unsigned long) __ptr64
+?SetMinPasswdAge@USER_MODALS@@QEAAJK@Z
+; public: long __cdecl USER_MODALS::SetMinPasswdLen(unsigned int) __ptr64
+?SetMinPasswdLen@USER_MODALS@@QEAAJI@Z
+; public: long __cdecl COMPUTER::SetName(unsigned short const * __ptr64) __ptr64
+?SetName@COMPUTER@@QEAAJPEBG@Z
+; public: long __cdecl GROUP::SetName(unsigned short const * __ptr64) __ptr64
+?SetName@GROUP@@QEAAJPEBG@Z
+; public: long __cdecl GROUP_MEMB::SetName(unsigned short const * __ptr64) __ptr64
+?SetName@GROUP_MEMB@@QEAAJPEBG@Z
+; protected: long __cdecl LM_SERVICE::SetName(unsigned short const * __ptr64) __ptr64
+?SetName@LM_SERVICE@@IEAAJPEBG@Z
+; protected: long __cdecl LM_SESSION::SetName(unsigned short const * __ptr64) __ptr64
+?SetName@LM_SESSION@@IEAAJPEBG@Z
+; public: long __cdecl NET_ACCESS::SetName(unsigned short const * __ptr64) __ptr64
+?SetName@NET_ACCESS@@QEAAJPEBG@Z
+; protected: long __cdecl SHARE::SetName(unsigned short const * __ptr64) __ptr64
+?SetName@SHARE@@IEAAJPEBG@Z
+; public: long __cdecl USER::SetName(unsigned short const * __ptr64) __ptr64
+?SetName@USER@@QEAAJPEBG@Z
+; public: long __cdecl USER_MEMB::SetName(unsigned short const * __ptr64) __ptr64
+?SetName@USER_MEMB@@QEAAJPEBG@Z
+; public: void __cdecl SAM_PSWD_DOM_INFO_MEM::SetNoAnonChange(int) __ptr64
+?SetNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QEAAXH@Z
+; public: long __cdecl USER_2::SetNoPasswordExpire(int) __ptr64
+?SetNoPasswordExpire@USER_2@@QEAAJH@Z
+; protected: void __cdecl LM_SESSION_1::SetNumOpens(unsigned int) __ptr64
+?SetNumOpens@LM_SESSION_1@@IEAAXI@Z
+; public: long __cdecl USER_MODALS_3::SetObservation(unsigned long) __ptr64
+?SetObservation@USER_MODALS_3@@QEAAJK@Z
+; public: long __cdecl WKSTA_USER_1::SetOtherDomains(unsigned short const * __ptr64) __ptr64
+?SetOtherDomains@WKSTA_USER_1@@QEAAJPEBG@Z
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetOwner(class OS_SID const & __ptr64,int) __ptr64
+?SetOwner@OS_SECURITY_DESCRIPTOR@@QEAAJAEBVOS_SID@@H@Z
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetOwner(int,class OS_SID const * __ptr64,int) __ptr64
+?SetOwner@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_SID@@H@Z
+; public: long __cdecl USER_11::SetParms(unsigned short const * __ptr64) __ptr64
+?SetParms@USER_11@@QEAAJPEBG@Z
+; public: long __cdecl USER_MODALS::SetPasswdHistLen(unsigned int) __ptr64
+?SetPasswdHistLen@USER_MODALS@@QEAAJI@Z
+; public: long __cdecl SAM_USER::SetPassword(class NLS_STR const & __ptr64,class NLS_STR const & __ptr64) __ptr64
+?SetPassword@SAM_USER@@QEAAJAEBVNLS_STR@@0@Z
+; public: long __cdecl SAM_USER::SetPassword(class NLS_STR const & __ptr64,int) __ptr64
+?SetPassword@SAM_USER@@QEAAJAEBVNLS_STR@@H@Z
+; public: long __cdecl SHARE_2::SetPassword(unsigned short const * __ptr64) __ptr64
+?SetPassword@SHARE_2@@QEAAJPEBG@Z
+; public: long __cdecl USER_2::SetPassword(unsigned short const * __ptr64) __ptr64
+?SetPassword@USER_2@@QEAAJPEBG@Z
+; public: long __cdecl USER_3::SetPasswordExpired(unsigned long) __ptr64
+?SetPasswordExpired@USER_3@@QEAAJK@Z
+; public: long __cdecl SAM_DOMAIN::SetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM const * __ptr64) __ptr64
+?SetPasswordInfo@SAM_DOMAIN@@QEAAJPEBVSAM_PSWD_DOM_INFO_MEM@@@Z
+; public: long __cdecl SHARE_2::SetPath(unsigned short const * __ptr64) __ptr64
+?SetPath@SHARE_2@@QEAAJPEBG@Z
+; public: long __cdecl NET_ACCESS_1::SetPerm(unsigned short const * __ptr64,enum PERMNAME_TYPE,unsigned int) __ptr64
+?SetPerm@NET_ACCESS_1@@QEAAJPEBGW4PERMNAME_TYPE@@I@Z
+; public: long __cdecl SHARE_2::SetPermissions(unsigned int) __ptr64
+?SetPermissions@SHARE_2@@QEAAJI@Z
+; public: long __cdecl LSA_TRUSTED_DOMAIN::SetPosixOffset(unsigned long) __ptr64
+?SetPosixOffset@LSA_TRUSTED_DOMAIN@@QEAAJK@Z
+; public: long __cdecl LSA_POLICY::SetPrimaryBrowserGroup(class NLS_STR const & __ptr64) __ptr64
+?SetPrimaryBrowserGroup@LSA_POLICY@@QEAAJAEBVNLS_STR@@@Z
+; public: long __cdecl LSA_POLICY::SetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM const * __ptr64) __ptr64
+?SetPrimaryDomain@LSA_POLICY@@QEAAJPEBVLSA_PRIMARY_DOM_INFO_MEM@@@Z
+; public: long __cdecl LSA_POLICY::SetPrimaryDomainName(class NLS_STR const * __ptr64,void * __ptr64 const * __ptr64) __ptr64
+?SetPrimaryDomainName@LSA_POLICY@@QEAAJPEBVNLS_STR@@PEBQEAX@Z
+; public: long __cdecl USER_3::SetPrimaryGroupId(unsigned long) __ptr64
+?SetPrimaryGroupId@USER_3@@QEAAJK@Z
+; public: long __cdecl USER_11::SetPriv(unsigned int) __ptr64
+?SetPriv@USER_11@@QEAAJI@Z
+; public: long __cdecl USER_3::SetProfile(unsigned short const * __ptr64) __ptr64
+?SetProfile@USER_3@@QEAAJPEBG@Z
+; public: long __cdecl OS_ACE::SetPtr(void * __ptr64) __ptr64
+?SetPtr@OS_ACE@@QEAAJPEAX@Z
+; public: void __cdecl OS_PRIVILEGE_SET::SetPtr(struct _PRIVILEGE_SET * __ptr64) __ptr64
+?SetPtr@OS_PRIVILEGE_SET@@QEAAXPEAU_PRIVILEGE_SET@@@Z
+; public: long __cdecl OS_SID::SetPtr(void * __ptr64) __ptr64
+?SetPtr@OS_SID@@QEAAJPEAX@Z
+; protected: void __cdecl DEVICE::SetRemoteName(unsigned short const * __ptr64) __ptr64
+?SetRemoteName@DEVICE@@IEAAXPEBG@Z
+; protected: void __cdecl DEVICE::SetRemoteType(unsigned int) __ptr64
+?SetRemoteType@DEVICE@@IEAAXI@Z
+; protected: long __cdecl SHARE_1::SetResourceType(unsigned int) __ptr64
+?SetResourceType@SHARE_1@@IEAAJI@Z
+; public: long __cdecl SHARE_2::SetResourceType(unsigned int) __ptr64
+?SetResourceType@SHARE_2@@QEAAJI@Z
+; public: long __cdecl OS_SECURITY_DESCRIPTOR::SetSACL(int,class OS_ACL const * __ptr64,int) __ptr64
+?SetSACL@OS_SECURITY_DESCRIPTOR@@QEAAJHPEBVOS_ACL@@H@Z
+; public: long __cdecl OS_ACE::SetSID(class OS_SID const & __ptr64) __ptr64
+?SetSID@OS_ACE@@QEAAJAEBVOS_SID@@@Z
+; public: long __cdecl USER_2::SetScriptPath(unsigned short const * __ptr64) __ptr64
+?SetScriptPath@USER_2@@QEAAJPEBG@Z
+; public: long __cdecl SC_SERVICE::SetSecurity(unsigned long,void * __ptr64 const) __ptr64
+?SetSecurity@SC_SERVICE@@QEAAJKQEAX@Z
+; protected: void __cdecl SERVER_2::SetSecurity(unsigned int) __ptr64
+?SetSecurity@SERVER_2@@IEAAXI@Z
+; protected: long __cdecl LM_FILE::SetServer(unsigned short const * __ptr64) __ptr64
+?SetServer@LM_FILE@@IEAAJPEBG@Z
+; protected: void __cdecl DEVICE::SetServerName(unsigned short const * __ptr64) __ptr64
+?SetServerName@DEVICE@@IEAAXPEBG@Z
+; protected: long __cdecl LM_SERVICE::SetServerName(unsigned short const * __ptr64) __ptr64
+?SetServerName@LM_SERVICE@@IEAAJPEBG@Z
+; public: long __cdecl NET_ACCESS::SetServerName(unsigned short const * __ptr64) __ptr64
+?SetServerName@NET_ACCESS@@QEAAJPEBG@Z
+; public: long __cdecl LSA_POLICY::SetServerRole(class LSA_SERVER_ROLE_INFO_MEM const * __ptr64) __ptr64
+?SetServerRole@LSA_POLICY@@QEAAJPEBVLSA_SERVER_ROLE_INFO_MEM@@@Z
+; protected: void __cdecl SERVER_1::SetServerType(unsigned long) __ptr64
+?SetServerType@SERVER_1@@IEAAXK@Z
+; public: long __cdecl LSA_POLICY::SetShutDownOnFull(int) __ptr64
+?SetShutDownOnFull@LSA_POLICY@@QEAAJH@Z
+; public: long __cdecl OS_ACE::SetSize(unsigned int) __ptr64
+?SetSize@OS_ACE@@QEAAJI@Z
+; protected: long __cdecl OS_ACL::SetSize(unsigned int,int) __ptr64
+?SetSize@OS_ACL@@IEAAJIH@Z
+; protected: void __cdecl DEVICE::SetStatus(unsigned int) __ptr64
+?SetStatus@DEVICE@@IEAAXI@Z
+; public: long __cdecl USER_MODALS_3::SetThreshold(unsigned long) __ptr64
+?SetThreshold@USER_MODALS_3@@QEAAJK@Z
+; protected: void __cdecl LM_SESSION_10::SetTime(unsigned long) __ptr64
+?SetTime@LM_SESSION_10@@IEAAXK@Z
+; private: long __cdecl NET_NAME::SetUNCPath(unsigned short const * __ptr64) __ptr64
+?SetUNCPath@NET_NAME@@AEAAJPEBG@Z
+; public: long __cdecl USER_2::SetUserCantChangePass(int) __ptr64
+?SetUserCantChangePass@USER_2@@QEAAJH@Z
+; public: long __cdecl USER_11::SetUserComment(unsigned short const * __ptr64) __ptr64
+?SetUserComment@USER_11@@QEAAJPEBG@Z
+; protected: long __cdecl USER_2::SetUserFlag(int,unsigned int) __ptr64
+?SetUserFlag@USER_2@@IEAAJHI@Z
+; protected: void __cdecl LM_SESSION_1::SetUserFlags(unsigned long) __ptr64
+?SetUserFlags@LM_SESSION_1@@IEAAXK@Z
+; public: long __cdecl USER_2::SetUserFlags(unsigned int) __ptr64
+?SetUserFlags@USER_2@@QEAAJI@Z
+; protected: long __cdecl USER_3::SetUserId(unsigned long) __ptr64
+?SetUserId@USER_3@@IEAAJK@Z
+; public: long __cdecl WKSTA_USER_1::SetUserName(unsigned short const * __ptr64) __ptr64
+?SetUserName@WKSTA_USER_1@@QEAAJPEBG@Z
+; public: long __cdecl USER_2::SetUserPassRequired(int) __ptr64
+?SetUserPassRequired@USER_2@@QEAAJH@Z
+; protected: long __cdecl DEVICE2::SetUsername(unsigned short const * __ptr64) __ptr64
+?SetUsername@DEVICE2@@IEAAJPEBG@Z
+; protected: long __cdecl LM_SESSION_10::SetUsername(unsigned short const * __ptr64) __ptr64
+?SetUsername@LM_SESSION_10@@IEAAJPEBG@Z
+; public: long __cdecl SAM_USER::SetUsername(class NLS_STR const * __ptr64) __ptr64
+?SetUsername@SAM_USER@@QEAAJPEBVNLS_STR@@@Z
+; public: long __cdecl LM_CONFIG::SetValue(class NLS_STR * __ptr64) __ptr64
+?SetValue@LM_CONFIG@@QEAAJPEAVNLS_STR@@@Z
+; public: long __cdecl USER_11::SetWorkstations(unsigned short const * __ptr64) __ptr64
+?SetWorkstations@USER_11@@QEAAJPEBG@Z
+; protected: long __cdecl SHARE_2::SetWriteBuffer(int) __ptr64
+?SetWriteBuffer@SHARE_2@@IEAAJH@Z
+; void __cdecl SkipWhiteSpace(unsigned short * __ptr64 * __ptr64)
+?SkipWhiteSpace@@YAXPEAPEAG@Z
+; public: void __cdecl DOMAIN0_ENUM::Sort(void) __ptr64
+?Sort@DOMAIN0_ENUM@@QEAAXXZ
+; public: long __cdecl LM_SERVICE::Start(unsigned short const * __ptr64,unsigned int,unsigned int) __ptr64
+?Start@LM_SERVICE@@QEAAJPEBGII@Z
+; public: long __cdecl SC_SERVICE::Start(unsigned int,unsigned short const * __ptr64 * __ptr64) __ptr64
+?Start@SC_SERVICE@@QEAAJIPEAPEBG@Z
+; public: long __cdecl LM_SERVICE::Stop(unsigned int,unsigned int) __ptr64
+?Stop@LM_SERVICE@@QEAAJII@Z
+; protected: long __cdecl LSA_POLICY::TcharArrayToUnistrArray(unsigned short const * __ptr64 const * __ptr64,struct _UNICODE_STRING * __ptr64,unsigned long) __ptr64
+?TcharArrayToUnistrArray@LSA_POLICY@@IEAAJPEBQEBGPEAU_UNICODE_STRING@@K@Z
+; public: long __cdecl SAM_DOMAIN::TranslateNamesToRids(unsigned short const * __ptr64 const * __ptr64,unsigned long,class SAM_RID_MEM * __ptr64,class SAM_SID_NAME_USE_MEM * __ptr64)const  __ptr64
+?TranslateNamesToRids@SAM_DOMAIN@@QEBAJPEBQEBGKPEAVSAM_RID_MEM@@PEAVSAM_SID_NAME_USE_MEM@@@Z
+; public: long __cdecl LSA_POLICY::TranslateNamesToSids(unsigned short const * __ptr64 const * __ptr64,unsigned long,class LSA_TRANSLATED_SID_MEM * __ptr64,class LSA_REF_DOMAIN_MEM * __ptr64) __ptr64
+?TranslateNamesToSids@LSA_POLICY@@QEAAJPEBQEBGKPEAVLSA_TRANSLATED_SID_MEM@@PEAVLSA_REF_DOMAIN_MEM@@@Z
+; public: long __cdecl LSA_POLICY::TranslateSidsToNames(void * __ptr64 const * __ptr64,unsigned long,class LSA_TRANSLATED_NAME_MEM * __ptr64,class LSA_REF_DOMAIN_MEM * __ptr64) __ptr64
+?TranslateSidsToNames@LSA_POLICY@@QEAAJPEBQEAXKPEAVLSA_TRANSLATED_NAME_MEM@@PEAVLSA_REF_DOMAIN_MEM@@@Z
+; public: long __cdecl OS_SID::TrimLastSubAuthority(unsigned long * __ptr64) __ptr64
+?TrimLastSubAuthority@OS_SID@@QEAAJPEAK@Z
+; public: long __cdecl USER_11::TrimParams(void) __ptr64
+?TrimParams@USER_11@@QEAAJXZ
+; public: long __cdecl LSA_POLICY::TrustDomain(class LSA_POLICY & __ptr64,class NLS_STR const & __ptr64,int,unsigned short const * __ptr64) __ptr64
+?TrustDomain@LSA_POLICY@@QEAAJAEAV1@AEBVNLS_STR@@HPEBG@Z
+; public: long __cdecl LSA_POLICY::TrustDomain(class NLS_STR const & __ptr64,void * __ptr64 const,class NLS_STR const & __ptr64,int,unsigned short const * __ptr64,int) __ptr64
+?TrustDomain@LSA_POLICY@@QEAAJAEBVNLS_STR@@QEAX0HPEBGH@Z
+; public: long __cdecl SC_MANAGER::Unlock(void) __ptr64
+?Unlock@SC_MANAGER@@QEAAJXZ
+; protected: long __cdecl OS_SECURITY_DESCRIPTOR::UpdateControl(void) __ptr64
+?UpdateControl@OS_SECURITY_DESCRIPTOR@@IEAAJXZ
+; protected: long __cdecl OS_SECURITY_DESCRIPTOR::UpdateReferencedSecurityObject(class OS_OBJECT_WITH_DATA * __ptr64) __ptr64
+?UpdateReferencedSecurityObject@OS_SECURITY_DESCRIPTOR@@IEAAJPEAVOS_OBJECT_WITH_DATA@@@Z
+; public: long __cdecl ADMIN_AUTHORITY::UpgradeAccountDomain(unsigned long) __ptr64
+?UpgradeAccountDomain@ADMIN_AUTHORITY@@QEAAJK@Z
+; public: long __cdecl ADMIN_AUTHORITY::UpgradeBuiltinDomain(unsigned long) __ptr64
+?UpgradeBuiltinDomain@ADMIN_AUTHORITY@@QEAAJK@Z
+; public: long __cdecl ADMIN_AUTHORITY::UpgradeLSAPolicy(unsigned long) __ptr64
+?UpgradeLSAPolicy@ADMIN_AUTHORITY@@QEAAJK@Z
+; public: long __cdecl ADMIN_AUTHORITY::UpgradeSamServer(unsigned long) __ptr64
+?UpgradeSamServer@ADMIN_AUTHORITY@@QEAAJK@Z
+; private: long __cdecl COMPUTER::ValidateName(unsigned short const * __ptr64) __ptr64
+?ValidateName@COMPUTER@@AEAAJPEBG@Z
+; protected: virtual long __cdecl DEVICE::ValidateName(void) __ptr64
+?ValidateName@DEVICE@@MEAAJXZ
+; protected: virtual long __cdecl DOMAIN::ValidateName(void) __ptr64
+?ValidateName@DOMAIN@@MEAAJXZ
+; protected: virtual long __cdecl LM_OBJ::ValidateName(void) __ptr64
+?ValidateName@LM_OBJ@@MEAAJXZ
+; public: static long __cdecl NT_ACCOUNTS_UTILITY::ValidateQualifiedAccountName(class NLS_STR const & __ptr64,int * __ptr64)
+?ValidateQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SAJAEBVNLS_STR@@PEAH@Z
+; public: long __cdecl LSA_POLICY::VerifyLsa(class LSA_PRIMARY_DOM_INFO_MEM * __ptr64,class NLS_STR const * __ptr64)const  __ptr64
+?VerifyLsa@LSA_POLICY@@QEBAJPEAVLSA_PRIMARY_DOM_INFO_MEM@@PEBVNLS_STR@@@Z
+; private: static long __cdecl NT_ACCOUNTS_UTILITY::W_BuildQualifiedAccountName(class NLS_STR * __ptr64,class NLS_STR const & __ptr64,class NLS_STR const * __ptr64,enum _SID_NAME_USE)
+?W_BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@CAJPEAVNLS_STR@@AEBV2@PEBV2@W4_SID_NAME_USE@@@Z
+; protected: virtual long __cdecl NEW_LM_OBJ::W_ChangeToNew(void) __ptr64
+?W_ChangeToNew@NEW_LM_OBJ@@MEAAJXZ
+; protected: long __cdecl ENUM_CALLER_LM_OBJ::W_CloneFrom(class ENUM_CALLER_LM_OBJ const & __ptr64) __ptr64
+?W_CloneFrom@ENUM_CALLER_LM_OBJ@@IEAAJAEBV1@@Z
+; protected: long __cdecl GROUP::W_CloneFrom(class GROUP const & __ptr64) __ptr64
+?W_CloneFrom@GROUP@@IEAAJAEBV1@@Z
+; protected: long __cdecl GROUP_1::W_CloneFrom(class GROUP_1 const & __ptr64) __ptr64
+?W_CloneFrom@GROUP_1@@IEAAJAEBV1@@Z
+; protected: long __cdecl LOC_LM_OBJ::W_CloneFrom(class LOC_LM_OBJ const & __ptr64) __ptr64
+?W_CloneFrom@LOC_LM_OBJ@@IEAAJAEBV1@@Z
+; protected: long __cdecl MEMBERSHIP_LM_OBJ::W_CloneFrom(class MEMBERSHIP_LM_OBJ const & __ptr64) __ptr64
+?W_CloneFrom@MEMBERSHIP_LM_OBJ@@IEAAJAEBV1@@Z
+; protected: long __cdecl NEW_LM_OBJ::W_CloneFrom(class NEW_LM_OBJ const & __ptr64) __ptr64
+?W_CloneFrom@NEW_LM_OBJ@@IEAAJAEBV1@@Z
+; protected: long __cdecl SHARE::W_CloneFrom(class SHARE const & __ptr64) __ptr64
+?W_CloneFrom@SHARE@@IEAAJAEBV1@@Z
+; protected: long __cdecl SHARE_1::W_CloneFrom(class SHARE_1 const & __ptr64) __ptr64
+?W_CloneFrom@SHARE_1@@IEAAJAEBV1@@Z
+; protected: long __cdecl SHARE_2::W_CloneFrom(class SHARE_2 const & __ptr64) __ptr64
+?W_CloneFrom@SHARE_2@@IEAAJAEBV1@@Z
+; protected: long __cdecl USER::W_CloneFrom(class USER const & __ptr64) __ptr64
+?W_CloneFrom@USER@@IEAAJAEBV1@@Z
+; protected: long __cdecl USER_11::W_CloneFrom(class USER_11 const & __ptr64) __ptr64
+?W_CloneFrom@USER_11@@IEAAJAEBV1@@Z
+; protected: long __cdecl USER_2::W_CloneFrom(class USER_2 const & __ptr64) __ptr64
+?W_CloneFrom@USER_2@@IEAAJAEBV1@@Z
+; protected: long __cdecl USER_3::W_CloneFrom(class USER_3 const & __ptr64) __ptr64
+?W_CloneFrom@USER_3@@IEAAJAEBV1@@Z
+; private: void __cdecl LM_SERVICE::W_ComputeOtherStatus(struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
+?W_ComputeOtherStatus@LM_SERVICE@@AEAAXPEAULM_SERVICE_OTHER_STATUS@@@Z
+; protected: virtual long __cdecl ENUM_CALLER_LM_OBJ::W_CreateNew(void) __ptr64
+?W_CreateNew@ENUM_CALLER_LM_OBJ@@MEAAJXZ
+; protected: virtual long __cdecl GROUP_1::W_CreateNew(void) __ptr64
+?W_CreateNew@GROUP_1@@MEAAJXZ
+; protected: virtual long __cdecl GROUP_MEMB::W_CreateNew(void) __ptr64
+?W_CreateNew@GROUP_MEMB@@MEAAJXZ
+; protected: virtual long __cdecl LSA_ACCOUNT::W_CreateNew(void) __ptr64
+?W_CreateNew@LSA_ACCOUNT@@MEAAJXZ
+; protected: virtual long __cdecl NEW_LM_OBJ::W_CreateNew(void) __ptr64
+?W_CreateNew@NEW_LM_OBJ@@MEAAJXZ
+; protected: virtual long __cdecl SHARE::W_CreateNew(void) __ptr64
+?W_CreateNew@SHARE@@MEAAJXZ
+; protected: virtual long __cdecl SHARE_1::W_CreateNew(void) __ptr64
+?W_CreateNew@SHARE_1@@MEAAJXZ
+; protected: virtual long __cdecl SHARE_2::W_CreateNew(void) __ptr64
+?W_CreateNew@SHARE_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_11::W_CreateNew(void) __ptr64
+?W_CreateNew@USER_11@@MEAAJXZ
+; protected: virtual long __cdecl USER_2::W_CreateNew(void) __ptr64
+?W_CreateNew@USER_2@@MEAAJXZ
+; protected: virtual long __cdecl USER_3::W_CreateNew(void) __ptr64
+?W_CreateNew@USER_3@@MEAAJXZ
+; protected: virtual long __cdecl USER_MEMB::W_CreateNew(void) __ptr64
+?W_CreateNew@USER_MEMB@@MEAAJXZ
+; protected: long __cdecl ENUM_CALLER::W_GetInfo(void) __ptr64
+?W_GetInfo@ENUM_CALLER@@IEAAJXZ
+; private: void __cdecl LM_SERVICE::W_InterpretStatus(struct _SERVICE_INFO_2 const * __ptr64,enum LM_SERVICE_STATUS * __ptr64,struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
+?W_InterpretStatus@LM_SERVICE@@AEAAXPEBU_SERVICE_INFO_2@@PEAW4LM_SERVICE_STATUS@@PEAULM_SERVICE_OTHER_STATUS@@@Z
+; private: int __cdecl LM_SERVICE::W_IsWellKnownService(void)const  __ptr64
+?W_IsWellKnownService@LM_SERVICE@@AEBAHXZ
+; private: long __cdecl LM_SERVICE::W_QueryStatus(enum LM_SERVICE_STATUS * __ptr64,struct LM_SERVICE_OTHER_STATUS * __ptr64) __ptr64
+?W_QueryStatus@LM_SERVICE@@AEAAJPEAW4LM_SERVICE_STATUS@@PEAULM_SERVICE_OTHER_STATUS@@@Z
+; private: long __cdecl LM_SERVICE::W_ServiceControl(unsigned int,unsigned int) __ptr64
+?W_ServiceControl@LM_SERVICE@@AEAAJII@Z
+; private: long __cdecl LM_SERVICE::W_ServiceStart(unsigned short const * __ptr64) __ptr64
+?W_ServiceStart@LM_SERVICE@@AEAAJPEBG@Z
+; private: long __cdecl LOCATION::W_Set(unsigned short const * __ptr64,enum LOCATION_TYPE,int) __ptr64
+?W_Set@LOCATION@@AEAAJPEBGW4LOCATION_TYPE@@H@Z
+; private: long __cdecl GROUP_1::W_Write(void) __ptr64
+?W_Write@GROUP_1@@AEAAJXZ
+; private: long __cdecl SERVER_1::W_Write(void) __ptr64
+?W_Write@SERVER_1@@AEAAJXZ
+; private: long __cdecl SERVER_2::W_Write(void) __ptr64
+?W_Write@SERVER_2@@AEAAJXZ
+; protected: long __cdecl USER_2::W_Write(void) __ptr64
+?W_Write@USER_2@@IEAAJXZ
+; protected: long __cdecl USER_3::W_Write(void) __ptr64
+?W_Write@USER_3@@IEAAJXZ
+; private: long __cdecl WKSTA_USER_1::W_Write(void) __ptr64
+?W_Write@WKSTA_USER_1@@AEAAJXZ
+; public: long __cdecl NEW_LM_OBJ::Write(void) __ptr64
+?Write@NEW_LM_OBJ@@QEAAJXZ
+; public: virtual long __cdecl DEVICE::WriteInfo(void) __ptr64
+?WriteInfo@DEVICE@@UEAAJXZ
+; public: virtual long __cdecl DOMAIN::WriteInfo(void) __ptr64
+?WriteInfo@DOMAIN@@UEAAJXZ
+; public: long __cdecl NEW_LM_OBJ::WriteInfo(void) __ptr64
+?WriteInfo@NEW_LM_OBJ@@QEAAJXZ
+; public: virtual long __cdecl USER_MODALS::WriteInfo(void) __ptr64
+?WriteInfo@USER_MODALS@@UEAAJXZ
+; public: virtual long __cdecl USER_MODALS_3::WriteInfo(void) __ptr64
+?WriteInfo@USER_MODALS_3@@UEAAJXZ
+; public: long __cdecl NEW_LM_OBJ::WriteNew(void) __ptr64
+?WriteNew@NEW_LM_OBJ@@QEAAJXZ
+; public: void __cdecl OS_ACE::_DbgPrint(void)const  __ptr64
+?_DbgPrint@OS_ACE@@QEBAXXZ
+; public: void __cdecl OS_ACL::_DbgPrint(void)const  __ptr64
+?_DbgPrint@OS_ACL@@QEBAXXZ
+; public: void __cdecl OS_SECURITY_DESCRIPTOR::_DbgPrint(void)const  __ptr64
+?_DbgPrint@OS_SECURITY_DESCRIPTOR@@QEBAXXZ
+; public: void __cdecl OS_SID::_DbgPrint(void)const  __ptr64
+?_DbgPrint@OS_SID@@QEBAXXZ
+; private: void __cdecl LM_ENUM::_DeregisterIter(void) __ptr64
+?_DeregisterIter@LM_ENUM@@AEAAXXZ
+; private: void __cdecl LM_RESUME_ENUM::_DeregisterIter(void) __ptr64
+?_DeregisterIter@LM_RESUME_ENUM@@AEAAXXZ
+; private: void __cdecl LM_ENUM::_RegisterIter(void) __ptr64
+?_RegisterIter@LM_ENUM@@AEAAXXZ
+; private: void __cdecl LM_RESUME_ENUM::_RegisterIter(void) __ptr64
+?_RegisterIter@LM_RESUME_ENUM@@AEAAXXZ
+DestroySession
+FreeArgv
+I_MNetComputerNameCompare
+I_MNetLogonControl
+I_MNetNameCanonicalize
+I_MNetNameCompare
+I_MNetNameValidate
+I_MNetPathCanonicalize
+I_MNetPathCompare
+I_MNetPathType
+IsSlowTransport
+MAllocMem
+MDosPrintQEnum
+MFreeMem
+MNetAccessAdd
+MNetAccessCheck
+MNetAccessDel
+MNetAccessEnum
+MNetAccessGetInfo
+MNetAccessGetUserPerms
+MNetAccessSetInfo
+MNetApiBufferAlloc
+MNetApiBufferFree
+MNetApiBufferReAlloc
+MNetApiBufferSize
+MNetAuditClear
+MNetAuditRead
+MNetAuditWrite
+MNetCharDevControl
+MNetCharDevGetInfo
+MNetCharDevQEnum
+MNetCharDevQGetInfo
+MNetCharDevQPurge
+MNetCharDevQPurgeSelf
+MNetCharDevQSetInfo
+MNetConfigGet
+MNetConfigGetAll
+MNetConfigSet
+MNetConnectionEnum
+MNetErrorLogClear
+MNetErrorLogRead
+MNetErrorLogWrite
+MNetFileClose
+MNetFileEnum
+MNetFileGetInfo
+MNetGetDCName
+MNetGroupAdd
+MNetGroupAddUser
+MNetGroupDel
+MNetGroupDelUser
+MNetGroupEnum
+MNetGroupGetInfo
+MNetGroupGetUsers
+MNetGroupSetInfo
+MNetGroupSetUsers
+MNetLocalGroupAddMember
+MNetLogonEnum
+MNetMessageBufferSend
+MNetRemoteTOD
+MNetServerDiskEnum
+MNetServerEnum
+MNetServerGetInfo
+MNetServerSetInfo
+MNetServiceControl
+MNetServiceEnum
+MNetServiceGetInfo
+MNetServiceInstall
+MNetSessionDel
+MNetSessionEnum
+MNetSessionGetInfo
+MNetShareAdd
+MNetShareCheck
+MNetShareDel
+MNetShareDelSticky
+MNetShareEnum
+MNetShareEnumSticky
+MNetShareGetInfo
+MNetShareSetInfo
+MNetUseAdd
+MNetUseDel
+MNetUseEnum
+MNetUseGetInfo
+MNetUserAdd
+MNetUserDel
+MNetUserEnum
+MNetUserGetGroups
+MNetUserGetInfo
+MNetUserModalsGet
+MNetUserModalsSet
+MNetUserPasswordSet
+MNetUserSetGroups
+MNetUserSetInfo
+MNetWkstaGetInfo
+MNetWkstaSetInfo
+MNetWkstaSetUID
+MNetWkstaUserEnum
+MNetWkstaUserGetInfo
+MakeArgvArgc
+SetupNormalSession
+SetupNullSession
+SetupSession
+SlowTransportWorkerThread
diff --git a/mingw-w64-crt/lib64/netui2.def b/mingw-w64-crt/lib64/netui2.def
index 7516264..f2825b0 100644
--- a/mingw-w64-crt/lib64/netui2.def
+++ b/mingw-w64-crt/lib64/netui2.def
@@ -1,4096 +1,4096 @@
-; 
-; Exports of file NETUI2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETUI2.dll
-EXPORTS
-; public: __cdecl ACCELTABLE::ACCELTABLE(class IDRESOURCE const & __ptr64) __ptr64
-??0ACCELTABLE@@QEAA@AEBVIDRESOURCE@@@Z
-; public: __cdecl ACCOUNT_NAMES_MLE::ACCOUNT_NAMES_MLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,int,unsigned long,enum FontType) __ptr64
-??0ACCOUNT_NAMES_MLE@@QEAA@PEAVOWNER_WINDOW@@IPEBGPEAVNT_USER_BROWSER_DIALOG@@HKW4FontType@@@Z
-; public: __cdecl ACTIVATION_EVENT::ACTIVATION_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
-??0ACTIVATION_EVENT@@QEAA@I_K_J@Z
-; public: __cdecl ALIAS_STR::ALIAS_STR(unsigned short const * __ptr64) __ptr64
-??0ALIAS_STR@@QEAA@PEBG@Z
-; public: __cdecl ALLOC_STR::ALLOC_STR(unsigned short * __ptr64,unsigned int) __ptr64
-??0ALLOC_STR@@QEAA@PEAGI@Z
-; protected: __cdecl APPLICATION::APPLICATION(struct HINSTANCE__ * __ptr64,int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
-??0APPLICATION@@IEAA@PEAUHINSTANCE__@@HIIII@Z
-; protected: __cdecl APP_WINDOW::APP_WINDOW(class NLS_STR const & __ptr64,class IDRESOURCE const & __ptr64,class IDRESOURCE const & __ptr64) __ptr64
-??0APP_WINDOW@@IEAA@AEBVNLS_STR@@AEBVIDRESOURCE@@1@Z
-; protected: __cdecl APP_WINDOW::APP_WINDOW(class XYPOINT,class XYDIMENSION,class NLS_STR const & __ptr64,class IDRESOURCE const & __ptr64,class IDRESOURCE const & __ptr64) __ptr64
-??0APP_WINDOW@@IEAA@VXYPOINT@@VXYDIMENSION@@AEBVNLS_STR@@AEBVIDRESOURCE@@3@Z
-; public: __cdecl ARRAY_CONTROLVAL_CID_PAIR::ARRAY_CONTROLVAL_CID_PAIR(unsigned int) __ptr64
-??0ARRAY_CONTROLVAL_CID_PAIR@@QEAA@I@Z
-; public: __cdecl ARRAY_CONTROLVAL_CID_PAIR::ARRAY_CONTROLVAL_CID_PAIR(class CONTROLVAL_CID_PAIR * __ptr64,unsigned int,int) __ptr64
-??0ARRAY_CONTROLVAL_CID_PAIR@@QEAA@PEAVCONTROLVAL_CID_PAIR@@IH@Z
-; public: __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::ARRAY_LIST_CONTROLVAL_CID_PAIR(unsigned int) __ptr64
-??0ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAA@I@Z
-; public: __cdecl ARROW_BUTTON::ARROW_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
-??0ARROW_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IIII@Z
-; public: __cdecl ARROW_BUTTON::ARROW_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
-??0ARROW_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IIIIVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __cdecl ASSOCHCFILE::ASSOCHCFILE(struct HINSTANCE__ * __ptr64,long,unsigned long,unsigned long) __ptr64
-??0ASSOCHCFILE@@QEAA@PEAUHINSTANCE__@@JKK@Z
-; public: __cdecl ASSOCHWNDDISP::ASSOCHWNDDISP(struct HWND__ * __ptr64,class DISPATCHER const * __ptr64) __ptr64
-??0ASSOCHWNDDISP@@QEAA@PEAUHWND__@@PEBVDISPATCHER@@@Z
-; public: __cdecl ASSOCHWNDPDLG::ASSOCHWNDPDLG(struct HWND__ * __ptr64,class DIALOG_WINDOW const * __ptr64) __ptr64
-??0ASSOCHWNDPDLG@@QEAA@PEAUHWND__@@PEBVDIALOG_WINDOW@@@Z
-; public: __cdecl ASSOCHWNDPWND::ASSOCHWNDPWND(struct HWND__ * __ptr64,class CLIENT_WINDOW const * __ptr64) __ptr64
-??0ASSOCHWNDPWND@@QEAA@PEAUHWND__@@PEBVCLIENT_WINDOW@@@Z
-; public: __cdecl ASSOCHWNDTHIS::ASSOCHWNDTHIS(struct HWND__ * __ptr64,void const * __ptr64) __ptr64
-??0ASSOCHWNDTHIS@@QEAA@PEAUHWND__@@PEBX@Z
-; protected: __cdecl ATOM_BASE::ATOM_BASE(unsigned short) __ptr64
-??0ATOM_BASE@@IEAA@G@Z
-; protected: __cdecl ATOM_BASE::ATOM_BASE(void) __ptr64
-??0ATOM_BASE@@IEAA@XZ
-; public: __cdecl AUDIT_CHECKBOXES::AUDIT_CHECKBOXES(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,class NLS_STR const & __ptr64,class BITFIELD const & __ptr64) __ptr64
-??0AUDIT_CHECKBOXES@@QEAA@PEAVOWNER_WINDOW@@IIIAEBVNLS_STR@@AEBVBITFIELD@@@Z
-; public: __cdecl AUTO_CURSOR::AUTO_CURSOR(unsigned short const * __ptr64) __ptr64
-??0AUTO_CURSOR@@QEAA@PEBG@Z
-; protected: __cdecl BASE::BASE(void) __ptr64
-??0BASE@@IEAA@XZ
-; public: __cdecl BASE::BASE(class BASE const & __ptr64) __ptr64
-??0BASE@@QEAA@AEBV0@@Z
-; protected: __cdecl BASE_ELLIPSIS::BASE_ELLIPSIS(enum ELLIPSIS_STYLE) __ptr64
-??0BASE_ELLIPSIS@@IEAA@W4ELLIPSIS_STYLE@@@Z
-; public: __cdecl BASE_PASSWORD_DIALOG::BASE_PASSWORD_DIALOG(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned int,unsigned int,unsigned long,unsigned short const * __ptr64,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
-??0BASE_PASSWORD_DIALOG@@QEAA@PEAUHWND__@@PEBGIIK1II1I1@Z
-; public: __cdecl BASE_SET_FOCUS_DLG::BASE_SET_FOCUS_DLG(struct HWND__ * __ptr64 const,enum SELECTION_TYPE,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
-??0BASE_SET_FOCUS_DLG@@QEAA@QEAUHWND__@@W4SELECTION_TYPE@@KPEBGK2K@Z
-; public: __cdecl BIT_MAP::BIT_MAP(class IDRESOURCE const & __ptr64) __ptr64
-??0BIT_MAP@@QEAA@AEBVIDRESOURCE@@@Z
-; public: __cdecl BIT_MAP::BIT_MAP(struct HBITMAP__ * __ptr64) __ptr64
-??0BIT_MAP@@QEAA@PEAUHBITMAP__@@@Z
-; public: __cdecl BLT_BACKGROUND_EDIT::BLT_BACKGROUND_EDIT(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0BLT_BACKGROUND_EDIT@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl BLT_COMBOBOX::BLT_COMBOBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType) __ptr64
-??0BLT_COMBOBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@@Z
-; public: __cdecl BLT_COMBOBOX::BLT_COMBOBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType) __ptr64
-??0BLT_COMBOBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@@Z
-; public: __cdecl BLT_DATE_SPIN_GROUP::BLT_DATE_SPIN_GROUP(class OWNER_WINDOW * __ptr64,class INTL_PROFILE const & __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
-??0BLT_DATE_SPIN_GROUP@@QEAA@PEAVOWNER_WINDOW@@AEBVINTL_PROFILE@@IIIIIIIII@Z
-; public: __cdecl BLT_LISTBOX::BLT_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType,int) __ptr64
-??0BLT_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@H@Z
-; public: __cdecl BLT_LISTBOX::BLT_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int) __ptr64
-??0BLT_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
-; public: __cdecl BLT_LISTBOX_HAW::BLT_LISTBOX_HAW(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType,int) __ptr64
-??0BLT_LISTBOX_HAW@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@H@Z
-; public: __cdecl BLT_LISTBOX_HAW::BLT_LISTBOX_HAW(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int) __ptr64
-??0BLT_LISTBOX_HAW@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
-; public: __cdecl BLT_MASTER_TIMER::BLT_MASTER_TIMER(void) __ptr64
-??0BLT_MASTER_TIMER@@QEAA@XZ
-; public: __cdecl BLT_SCRATCH::BLT_SCRATCH(unsigned int) __ptr64
-??0BLT_SCRATCH@@QEAA@I@Z
-; public: __cdecl BLT_TIME_SPIN_GROUP::BLT_TIME_SPIN_GROUP(class OWNER_WINDOW * __ptr64,class INTL_PROFILE const & __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
-??0BLT_TIME_SPIN_GROUP@@QEAA@PEAVOWNER_WINDOW@@AEBVINTL_PROFILE@@IIIIIIIIII@Z
-; public: __cdecl BROWSER_DOMAIN::BROWSER_DOMAIN(unsigned short const * __ptr64,void * __ptr64,int,int) __ptr64
-??0BROWSER_DOMAIN@@QEAA@PEBGPEAXHH@Z
-; public: __cdecl BROWSER_DOMAIN_CB::BROWSER_DOMAIN_CB(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0BROWSER_DOMAIN_CB@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl BROWSER_DOMAIN_LB::BROWSER_DOMAIN_LB(class OWNER_WINDOW * __ptr64,unsigned int,class BROWSER_DOMAIN_CB * __ptr64) __ptr64
-??0BROWSER_DOMAIN_LB@@QEAA@PEAVOWNER_WINDOW@@IPEAVBROWSER_DOMAIN_CB@@@Z
-; public: __cdecl BROWSER_DOMAIN_LBI::BROWSER_DOMAIN_LBI(class BROWSER_DOMAIN * __ptr64) __ptr64
-??0BROWSER_DOMAIN_LBI@@QEAA@PEAVBROWSER_DOMAIN@@@Z
-; public: __cdecl BROWSER_DOMAIN_LBI_PB::BROWSER_DOMAIN_LBI_PB(class BROWSER_DOMAIN_LBI * __ptr64) __ptr64
-??0BROWSER_DOMAIN_LBI_PB@@QEAA@PEAVBROWSER_DOMAIN_LBI@@@Z
-; public: __cdecl BROWSER_SUBJECT::BROWSER_SUBJECT(void) __ptr64
-??0BROWSER_SUBJECT@@QEAA@XZ
-; public: __cdecl BROWSER_SUBJECT_ITER::BROWSER_SUBJECT_ITER(class NT_USER_BROWSER_DIALOG * __ptr64) __ptr64
-??0BROWSER_SUBJECT_ITER@@QEAA@PEAVNT_USER_BROWSER_DIALOG@@@Z
-; protected: __cdecl BUTTON_CONTROL::BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@I@Z
-; protected: __cdecl BUTTON_CONTROL::BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
-??0BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __cdecl CANCEL_TASK_DIALOG::CANCEL_TASK_DIALOG(unsigned int,struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned __int64,long,enum ELLIPSIS_STYLE) __ptr64
-??0CANCEL_TASK_DIALOG@@QEAA@IPEAUHWND__@@PEBG_KJW4ELLIPSIS_STYLE@@@Z
-; public: __cdecl CHANGEABLE_SPIN_ITEM::CHANGEABLE_SPIN_ITEM(class CONTROL_WINDOW * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
-??0CHANGEABLE_SPIN_ITEM@@QEAA@PEAVCONTROL_WINDOW@@KKKH@Z
-; public: __cdecl CHECKBOX::CHECKBOX(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0CHECKBOX@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; protected: __cdecl CLIENT_WINDOW::CLIENT_WINDOW(unsigned long,class WINDOW const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CLIENT_WINDOW@@IEAA@KPEBVWINDOW@@PEBG@Z
-; protected: __cdecl CLIENT_WINDOW::CLIENT_WINDOW(void) __ptr64
-??0CLIENT_WINDOW@@IEAA@XZ
-; public: __cdecl COMBOBOX::COMBOBOX(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
-??0COMBOBOX@@QEAA@PEAVOWNER_WINDOW@@II@Z
-; public: __cdecl COMBOBOX::COMBOBOX(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0COMBOBOX@@QEAA@PEAVOWNER_WINDOW@@IIVXYPOINT@@VXYDIMENSION@@KPEBG@Z
-; public: __cdecl CONSOLE_ELLIPSIS::CONSOLE_ELLIPSIS(enum ELLIPSIS_STYLE,int) __ptr64
-??0CONSOLE_ELLIPSIS@@QEAA@W4ELLIPSIS_STYLE@@H@Z
-; public: __cdecl CONTROLVAL_CID_PAIR::CONTROLVAL_CID_PAIR(unsigned int,class CONTROL_VALUE * __ptr64) __ptr64
-??0CONTROLVAL_CID_PAIR@@QEAA@IPEAVCONTROL_VALUE@@@Z
-; public: __cdecl CONTROLVAL_CID_PAIR::CONTROLVAL_CID_PAIR(void) __ptr64
-??0CONTROLVAL_CID_PAIR@@QEAA@XZ
-; private: __cdecl CONTROL_ENTRY::CONTROL_ENTRY(class CONTROL_WINDOW * __ptr64) __ptr64
-??0CONTROL_ENTRY@@AEAA@PEAVCONTROL_WINDOW@@@Z
-; public: __cdecl CONTROL_EVENT::CONTROL_EVENT(unsigned int,unsigned int) __ptr64
-??0CONTROL_EVENT@@QEAA@II@Z
-; public: __cdecl CONTROL_EVENT::CONTROL_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
-??0CONTROL_EVENT@@QEAA@I_K_J@Z
-; public: __cdecl CONTROL_GROUP::CONTROL_GROUP(class CONTROL_GROUP * __ptr64) __ptr64
-??0CONTROL_GROUP@@QEAA@PEAV0@@Z
-; public: __cdecl CONTROL_TABLE::CONTROL_TABLE(void) __ptr64
-??0CONTROL_TABLE@@QEAA@XZ
-; public: __cdecl CONTROL_VALUE::CONTROL_VALUE(class CONTROL_GROUP * __ptr64) __ptr64
-??0CONTROL_VALUE@@QEAA@PEAVCONTROL_GROUP@@@Z
-; public: __cdecl CONTROL_WINDOW::CONTROL_WINDOW(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0CONTROL_WINDOW@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl CONTROL_WINDOW::CONTROL_WINDOW(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0CONTROL_WINDOW@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
-; public: __cdecl CUSTOM_CONTROL::CUSTOM_CONTROL(class CONTROL_WINDOW * __ptr64) __ptr64
-??0CUSTOM_CONTROL@@QEAA@PEAVCONTROL_WINDOW@@@Z
-; public: __cdecl DEC_SLT::DEC_SLT(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
-??0DEC_SLT@@QEAA@PEAVOWNER_WINDOW@@II@Z
-; public: __cdecl DEC_SLT::DEC_SLT(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
-??0DEC_SLT@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
-; public: __cdecl DEVICE_COMBO::DEVICE_COMBO(class OWNER_WINDOW * __ptr64,unsigned int,enum LMO_DEVICE,enum LMO_DEV_USAGE) __ptr64
-??0DEVICE_COMBO@@QEAA@PEAVOWNER_WINDOW@@IW4LMO_DEVICE@@W4LMO_DEV_USAGE@@@Z
-; public: __cdecl DEVICE_CONTEXT::DEVICE_CONTEXT(struct HDC__ * __ptr64) __ptr64
-??0DEVICE_CONTEXT@@QEAA@PEAUHDC__@@@Z
-; protected: __cdecl DIALOG_WINDOW::DIALOG_WINDOW(unsigned char const * __ptr64,unsigned int,struct HWND__ * __ptr64,int) __ptr64
-??0DIALOG_WINDOW@@IEAA@PEBEIPEAUHWND__@@H@Z
-; public: __cdecl DIALOG_WINDOW::DIALOG_WINDOW(class IDRESOURCE const & __ptr64,class PWND2HWND const & __ptr64,int) __ptr64
-??0DIALOG_WINDOW@@QEAA@AEBVIDRESOURCE@@AEBVPWND2HWND@@H@Z
-; public: __cdecl DISK_SPACE_SUBCLASS::DISK_SPACE_SUBCLASS(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,long,long,long,long,long,int) __ptr64
-??0DISK_SPACE_SUBCLASS@@QEAA@PEAVOWNER_WINDOW@@IIIIIJJJJJH@Z
-; protected: __cdecl DISPATCHER::DISPATCHER(class WINDOW * __ptr64) __ptr64
-??0DISPATCHER@@IEAA@PEAVWINDOW@@@Z
-; public: __cdecl DISPLAY_CONTEXT::DISPLAY_CONTEXT(struct HWND__ * __ptr64) __ptr64
-??0DISPLAY_CONTEXT@@QEAA@PEAUHWND__@@@Z
-; public: __cdecl DISPLAY_CONTEXT::DISPLAY_CONTEXT(class WINDOW * __ptr64) __ptr64
-??0DISPLAY_CONTEXT@@QEAA@PEAVWINDOW@@@Z
-; public: __cdecl DISPLAY_CONTEXT::DISPLAY_CONTEXT(class WINDOW * __ptr64,struct HDC__ * __ptr64) __ptr64
-??0DISPLAY_CONTEXT@@QEAA@PEAVWINDOW@@PEAUHDC__@@@Z
-; public: __cdecl DISPLAY_MAP::DISPLAY_MAP(unsigned int) __ptr64
-??0DISPLAY_MAP@@QEAA@I@Z
-; public: __cdecl DISPLAY_TABLE::DISPLAY_TABLE(unsigned int,unsigned int const * __ptr64) __ptr64
-??0DISPLAY_TABLE@@QEAA@IPEBI@Z
-; public: __cdecl DLGLOAD::DLGLOAD(class IDRESOURCE const & __ptr64,struct HWND__ * __ptr64,__int64 (__cdecl*)(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64),int) __ptr64
-??0DLGLOAD@@QEAA@AEBVIDRESOURCE@@PEAUHWND__@@P6A_J1I_K_J@ZH@Z
-; public: __cdecl DLGLOAD::DLGLOAD(unsigned char const * __ptr64,unsigned int,struct HWND__ * __ptr64,__int64 (__cdecl*)(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64),int) __ptr64
-??0DLGLOAD@@QEAA@PEBEIPEAUHWND__@@P6A_J1I_K_J@ZH@Z
-; public: __cdecl DLIST_OF_SPIN_ITEM::DLIST_OF_SPIN_ITEM(int) __ptr64
-??0DLIST_OF_SPIN_ITEM@@QEAA@H@Z
-; public: __cdecl DMID_DTE::DMID_DTE(unsigned int) __ptr64
-??0DMID_DTE@@QEAA@I@Z
-; protected: __cdecl DM_DTE::DM_DTE(void) __ptr64
-??0DM_DTE@@IEAA@XZ
-; public: __cdecl DM_DTE::DM_DTE(class DISPLAY_MAP * __ptr64) __ptr64
-??0DM_DTE@@QEAA@PEAVDISPLAY_MAP@@@Z
-; public: __cdecl DOMAIN_COMBO::DOMAIN_COMBO(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int) __ptr64
-??0DOMAIN_COMBO@@QEAA@PEAVOWNER_WINDOW@@III@Z
-; public: __cdecl DOMAIN_FILL_THREAD::DOMAIN_FILL_THREAD(class NT_USER_BROWSER_DIALOG * __ptr64,class BROWSER_DOMAIN * __ptr64,class ADMIN_AUTHORITY const * __ptr64) __ptr64
-??0DOMAIN_FILL_THREAD@@QEAA@PEAVNT_USER_BROWSER_DIALOG@@PEAVBROWSER_DOMAIN@@PEBVADMIN_AUTHORITY@@@Z
-; protected: __cdecl DTE::DTE(void) __ptr64
-??0DTE@@IEAA@XZ
-; public: __cdecl EDIT_CONTROL::EDIT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
-??0EDIT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@II@Z
-; public: __cdecl EDIT_CONTROL::EDIT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
-??0EDIT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
-; public: __cdecl ELAPSED_TIME_CONTROL::ELAPSED_TIME_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,class SLT & __ptr64,long,long,long,class SLT & __ptr64,class SLT & __ptr64,long,long,long,long,int) __ptr64
-??0ELAPSED_TIME_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IIIIIIAEAVSLT@@JJJ11JJJJH@Z
-; public: __cdecl EVENT::EVENT(unsigned int,unsigned __int64,__int64) __ptr64
-??0EVENT@@QEAA@I_K_J@Z
-; public: __cdecl EXPANDABLE_DIALOG::EXPANDABLE_DIALOG(unsigned short const * __ptr64,struct HWND__ * __ptr64,unsigned int,unsigned int,int) __ptr64
-??0EXPANDABLE_DIALOG@@QEAA@PEBGPEAUHWND__@@IIH@Z
-; public: __cdecl FOCUSDLG_DATA_THREAD::FOCUSDLG_DATA_THREAD(struct HWND__ * __ptr64,unsigned long,enum SELECTION_TYPE,unsigned short const * __ptr64,unsigned long) __ptr64
-??0FOCUSDLG_DATA_THREAD@@QEAA@PEAUHWND__@@KW4SELECTION_TYPE@@PEBGK@Z
-; public: __cdecl FOCUS_CHECKBOX::FOCUS_CHECKBOX(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0FOCUS_CHECKBOX@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl FONT::FONT(struct tagLOGFONTW const & __ptr64) __ptr64
-??0FONT@@QEAA@AEBUtagLOGFONTW@@@Z
-; public: __cdecl FONT::FONT(unsigned short const * __ptr64,unsigned char,int,enum FontAttributes) __ptr64
-??0FONT@@QEAA@PEBGEHW4FontAttributes@@@Z
-; public: __cdecl FONT::FONT(enum FontType) __ptr64
-??0FONT@@QEAA@W4FontType@@@Z
-; protected: __cdecl FORWARDING_BASE::FORWARDING_BASE(class BASE * __ptr64) __ptr64
-??0FORWARDING_BASE@@IEAA@PEAVBASE@@@Z
-; protected: __cdecl GET_FNAME_BASE_DLG::GET_FNAME_BASE_DLG(class OWNER_WINDOW * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0GET_FNAME_BASE_DLG@@IEAA@PEAVOWNER_WINDOW@@PEBGK@Z
-; public: __cdecl GET_OPEN_FILENAME_DLG::GET_OPEN_FILENAME_DLG(class OWNER_WINDOW * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0GET_OPEN_FILENAME_DLG@@QEAA@PEAVOWNER_WINDOW@@PEBGK@Z
-; public: __cdecl GET_SAVE_FILENAME_DLG::GET_SAVE_FILENAME_DLG(class OWNER_WINDOW * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0GET_SAVE_FILENAME_DLG@@QEAA@PEAVOWNER_WINDOW@@PEBGK@Z
-; public: __cdecl GLOBAL_ATOM::GLOBAL_ATOM(unsigned short const * __ptr64) __ptr64
-??0GLOBAL_ATOM@@QEAA@PEBG@Z
-; public: __cdecl GRAPHICAL_BUTTON::GRAPHICAL_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0GRAPHICAL_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IPEBG11@Z
-; public: __cdecl GRAPHICAL_BUTTON::GRAPHICAL_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0GRAPHICAL_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IPEBG1VXYPOINT@@VXYDIMENSION@@K1@Z
-; public: __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::GRAPHICAL_BUTTON_WITH_DISABLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
-??0GRAPHICAL_BUTTON_WITH_DISABLE@@QEAA@PEAVOWNER_WINDOW@@IIII@Z
-; public: __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::GRAPHICAL_BUTTON_WITH_DISABLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
-??0GRAPHICAL_BUTTON_WITH_DISABLE@@QEAA@PEAVOWNER_WINDOW@@IIIIVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __cdecl HAS_MESSAGE_PUMP::HAS_MESSAGE_PUMP(void) __ptr64
-??0HAS_MESSAGE_PUMP@@QEAA@XZ
-; public: __cdecl HAW_FOR_HAWAII_INFO::HAW_FOR_HAWAII_INFO(void) __ptr64
-??0HAW_FOR_HAWAII_INFO@@QEAA@XZ
-; public: __cdecl HIDDEN_CONTROL::HIDDEN_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0HIDDEN_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl HIER_LBI::HIER_LBI(int) __ptr64
-??0HIER_LBI@@QEAA@H@Z
-; public: __cdecl HIER_LBI_ITERATOR::HIER_LBI_ITERATOR(class HIER_LBI * __ptr64,int) __ptr64
-??0HIER_LBI_ITERATOR@@QEAA@PEAVHIER_LBI@@H@Z
-; public: __cdecl HIER_LISTBOX::HIER_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType,int) __ptr64
-??0HIER_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@H@Z
-; public: __cdecl HIER_LISTBOX::HIER_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int) __ptr64
-??0HIER_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
-; public: __cdecl H_SPLITTER_BAR::H_SPLITTER_BAR(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0H_SPLITTER_BAR@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl H_SPLITTER_BAR::H_SPLITTER_BAR(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
-??0H_SPLITTER_BAR@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __cdecl ICANON_SLE::ICANON_SLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,int) __ptr64
-??0ICANON_SLE@@QEAA@PEAVOWNER_WINDOW@@IIH@Z
-; public: __cdecl ICANON_SLE::ICANON_SLE(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int,int) __ptr64
-??0ICANON_SLE@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGIH@Z
-; public: __cdecl ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0ICON_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class IDRESOURCE const & __ptr64) __ptr64
-??0ICON_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IAEBVIDRESOURCE@@@Z
-; public: __cdecl ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,class IDRESOURCE const & __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
-??0ICON_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@AEBVIDRESOURCE@@KPEBG@Z
-; public: __cdecl ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0ICON_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
-; public: __cdecl IDRESOURCE::IDRESOURCE(unsigned int) __ptr64
-??0IDRESOURCE@@QEAA@I@Z
-; public: __cdecl IDRESOURCE::IDRESOURCE(unsigned short const * __ptr64) __ptr64
-??0IDRESOURCE@@QEAA@PEBG@Z
-; public: __cdecl ITER_CTRL::ITER_CTRL(class OWNER_WINDOW const * __ptr64) __ptr64
-??0ITER_CTRL@@QEAA@PEBVOWNER_WINDOW@@@Z
-; public: __cdecl ITER_DL_SPIN_ITEM::ITER_DL_SPIN_ITEM(class DLIST & __ptr64) __ptr64
-??0ITER_DL_SPIN_ITEM@@QEAA@AEAVDLIST@@@Z
-; public: __cdecl ITER_SL_ASSOCHCFILE::ITER_SL_ASSOCHCFILE(class SLIST & __ptr64) __ptr64
-??0ITER_SL_ASSOCHCFILE@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl ITER_SL_CLIENTDATA::ITER_SL_CLIENTDATA(class SLIST & __ptr64) __ptr64
-??0ITER_SL_CLIENTDATA@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl ITER_SL_STRING_BITSET_PAIR::ITER_SL_STRING_BITSET_PAIR(class SLIST & __ptr64) __ptr64
-??0ITER_SL_STRING_BITSET_PAIR@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl ITER_SL_TIMER_BASE::ITER_SL_TIMER_BASE(class SLIST & __ptr64) __ptr64
-??0ITER_SL_TIMER_BASE@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl ITER_SL_UI_EXT::ITER_SL_UI_EXT(class SLIST & __ptr64) __ptr64
-??0ITER_SL_UI_EXT@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl ITER_SL_USER_BROWSER_LBI::ITER_SL_USER_BROWSER_LBI(class SLIST & __ptr64) __ptr64
-??0ITER_SL_USER_BROWSER_LBI@@QEAA@AEAVSLIST@@@Z
-; public: __cdecl LAZY_LISTBOX::LAZY_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType) __ptr64
-??0LAZY_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@@Z
-; public: __cdecl LAZY_LISTBOX::LAZY_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType) __ptr64
-??0LAZY_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@@Z
-; public: __cdecl LBI::LBI(void) __ptr64
-??0LBI@@QEAA@XZ
-; public: __cdecl LBITREE::LBITREE(void) __ptr64
-??0LBITREE@@QEAA@XZ
-; public: __cdecl LBI_HEAP::LBI_HEAP(int,int) __ptr64
-??0LBI_HEAP@@QEAA@HH@Z
-; public: __cdecl LB_COLUMN_HEADER::LB_COLUMN_HEADER(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION) __ptr64
-??0LB_COLUMN_HEADER@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@@Z
-; public: __cdecl LB_COL_WIDTHS::LB_COL_WIDTHS(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,class IDRESOURCE const & __ptr64,unsigned int,unsigned int) __ptr64
-??0LB_COL_WIDTHS@@QEAA@PEAUHWND__@@PEAUHINSTANCE__@@AEBVIDRESOURCE@@II@Z
-; public: __cdecl LISTBOX::LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType,int) __ptr64
-??0LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@H@Z
-; public: __cdecl LISTBOX::LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int) __ptr64
-??0LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
-; protected: __cdecl LIST_CONTROL::LIST_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,int) __ptr64
-??0LIST_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IH@Z
-; protected: __cdecl LIST_CONTROL::LIST_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0LIST_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IHVXYPOINT@@VXYDIMENSION@@KPEBG@Z
-; public: __cdecl LM_OLLB::LM_OLLB(class OWNER_WINDOW * __ptr64,unsigned int,enum SELECTION_TYPE,unsigned long) __ptr64
-??0LM_OLLB@@QEAA@PEAVOWNER_WINDOW@@IW4SELECTION_TYPE@@K@Z
-; public: __cdecl LM_OLLB::LM_OLLB(class OWNER_WINDOW * __ptr64,unsigned int,enum SELECTION_TYPE,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-??0LM_OLLB@@QEAA@PEAVOWNER_WINDOW@@IW4SELECTION_TYPE@@PEBGKK@Z
-; public: __cdecl LOCAL_ATOM::LOCAL_ATOM(unsigned short const * __ptr64) __ptr64
-??0LOCAL_ATOM@@QEAA@PEBG@Z
-; public: __cdecl LOGON_HOURS_CONTROL::LOGON_HOURS_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0LOGON_HOURS_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl LOGON_HOURS_CONTROL::LOGON_HOURS_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION) __ptr64
-??0LOGON_HOURS_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@@Z
-; public: __cdecl MAGIC_GROUP::MAGIC_GROUP(class OWNER_WINDOW * __ptr64,unsigned int,int,unsigned int,class CONTROL_GROUP * __ptr64) __ptr64
-??0MAGIC_GROUP@@QEAA@PEAVOWNER_WINDOW@@IHIPEAVCONTROL_GROUP@@@Z
-; public: __cdecl MASK_MAP::MASK_MAP(void) __ptr64
-??0MASK_MAP@@QEAA@XZ
-; public: __cdecl MEMORY_DC::MEMORY_DC(class DEVICE_CONTEXT & __ptr64) __ptr64
-??0MEMORY_DC@@QEAA@AEAVDEVICE_CONTEXT@@@Z
-; protected: __cdecl MENUITEM::MENUITEM(struct HMENU__ * __ptr64,unsigned int) __ptr64
-??0MENUITEM@@IEAA@PEAUHMENU__@@I@Z
-; public: __cdecl MENUITEM::MENUITEM(class APP_WINDOW * __ptr64,unsigned int) __ptr64
-??0MENUITEM@@QEAA@PEAVAPP_WINDOW@@I@Z
-; protected: __cdecl MENU_BASE::MENU_BASE(struct HMENU__ * __ptr64) __ptr64
-??0MENU_BASE@@IEAA@PEAUHMENU__@@@Z
-; public: __cdecl METER::METER(class OWNER_WINDOW * __ptr64,unsigned int,unsigned long) __ptr64
-??0METER@@QEAA@PEAVOWNER_WINDOW@@IK@Z
-; public: __cdecl METER::METER(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long) __ptr64
-??0METER@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KK@Z
-; public: __cdecl MLE::MLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
-??0MLE@@QEAA@PEAVOWNER_WINDOW@@II@Z
-; public: __cdecl MLE::MLE(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
-??0MLE@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
-; public: __cdecl MLE_FONT::MLE_FONT(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
-??0MLE_FONT@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
-; public: __cdecl MLT::MLT(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0MLT@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl MLT::MLT(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0MLT@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
-; public: __cdecl MLT_FONT::MLT_FONT(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
-??0MLT_FONT@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
-; public: __cdecl MOUSE_EVENT::MOUSE_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
-??0MOUSE_EVENT@@QEAA@I_K_J@Z
-; public: __cdecl MSGPOPUP_DIALOG::MSGPOPUP_DIALOG(struct HWND__ * __ptr64,class NLS_STR const & __ptr64,long,enum MSG_SEVERITY,unsigned long,unsigned int,unsigned int,long,unsigned long) __ptr64
-??0MSGPOPUP_DIALOG@@QEAA@PEAUHWND__@@AEBVNLS_STR@@JW4MSG_SEVERITY@@KIIJK@Z
-; protected: __cdecl MSG_DIALOG_BASE::MSG_DIALOG_BASE(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
-??0MSG_DIALOG_BASE@@IEAA@PEAUHWND__@@PEBGI@Z
-; public: __cdecl NT_FIND_ACCOUNT_DIALOG::NT_FIND_ACCOUNT_DIALOG(struct HWND__ * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,class BROWSER_DOMAIN_CB * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0NT_FIND_ACCOUNT_DIALOG@@QEAA@PEAUHWND__@@PEAVNT_USER_BROWSER_DIALOG@@PEAVBROWSER_DOMAIN_CB@@PEBGK@Z
-; public: __cdecl NT_GLOBALGROUP_BROWSER_DIALOG::NT_GLOBALGROUP_BROWSER_DIALOG(struct HWND__ * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class OS_SID const * __ptr64,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
-??0NT_GLOBALGROUP_BROWSER_DIALOG@@QEAA@PEAUHWND__@@PEAVNT_USER_BROWSER_DIALOG@@PEBG2PEBVOS_SID@@PEBVSAM_DOMAIN@@PEAVLSA_POLICY@@2@Z
-; public: __cdecl NT_GROUP_BROWSER_DIALOG::NT_GROUP_BROWSER_DIALOG(unsigned short const * __ptr64,struct HWND__ * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0NT_GROUP_BROWSER_DIALOG@@QEAA@PEBGPEAUHWND__@@PEAVNT_USER_BROWSER_DIALOG@@00@Z
-; public: __cdecl NT_GROUP_BROWSER_LB::NT_GROUP_BROWSER_LB(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0NT_GROUP_BROWSER_LB@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl NT_LOCALGROUP_BROWSER_DIALOG::NT_LOCALGROUP_BROWSER_DIALOG(struct HWND__ * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class OS_SID const * __ptr64,class SAM_DOMAIN const * __ptr64,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
-??0NT_LOCALGROUP_BROWSER_DIALOG@@QEAA@PEAUHWND__@@PEAVNT_USER_BROWSER_DIALOG@@PEBG2PEBVOS_SID@@PEBVSAM_DOMAIN@@4PEAVLSA_POLICY@@2@Z
-; public: __cdecl NT_USER_BROWSER_DIALOG::NT_USER_BROWSER_DIALOG(unsigned short const * __ptr64,struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,class ADMIN_AUTHORITY const * __ptr64) __ptr64
-??0NT_USER_BROWSER_DIALOG@@QEAA@PEBGPEAUHWND__@@0KK0KKKPEBVADMIN_AUTHORITY@@@Z
-; public: __cdecl OLLB_ENTRY::OLLB_ENTRY(enum OUTLINE_LB_LEVEL,int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0OLLB_ENTRY@@QEAA@W4OUTLINE_LB_LEVEL@@HPEBG11@Z
-; public: __cdecl OPEN_DIALOG_BASE::OPEN_DIALOG_BASE(struct HWND__ * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,class OPEN_LBOX_BASE * __ptr64) __ptr64
-??0OPEN_DIALOG_BASE@@QEAA@PEAUHWND__@@IIIIIPEBG1PEAVOPEN_LBOX_BASE@@@Z
-; public: __cdecl OPEN_LBI_BASE::OPEN_LBI_BASE(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
-??0OPEN_LBI_BASE@@QEAA@PEBG0KKK@Z
-; public: __cdecl OPEN_LBOX_BASE::OPEN_LBOX_BASE(class OWNER_WINDOW * __ptr64,unsigned int,class NLS_STR const & __ptr64,class NLS_STR const & __ptr64) __ptr64
-??0OPEN_LBOX_BASE@@QEAA@PEAVOWNER_WINDOW@@IAEBVNLS_STR@@1@Z
-; public: __cdecl ORDER_GROUP::ORDER_GROUP(class STRING_LISTBOX * __ptr64,class BUTTON_CONTROL * __ptr64,class BUTTON_CONTROL * __ptr64,class CONTROL_GROUP * __ptr64) __ptr64
-??0ORDER_GROUP@@QEAA@PEAVSTRING_LISTBOX@@PEAVBUTTON_CONTROL@@1PEAVCONTROL_GROUP@@@Z
-; public: __cdecl OUTLINE_LISTBOX::OUTLINE_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int) __ptr64
-??0OUTLINE_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IH@Z
-; public: __cdecl OWNER_WINDOW::OWNER_WINDOW(unsigned short const * __ptr64,unsigned long,class WINDOW const * __ptr64) __ptr64
-??0OWNER_WINDOW@@QEAA@PEBGKPEBVWINDOW@@@Z
-; public: __cdecl OWNER_WINDOW::OWNER_WINDOW(void) __ptr64
-??0OWNER_WINDOW@@QEAA@XZ
-; public: __cdecl OWNINGWND::OWNINGWND(struct HWND__ * __ptr64) __ptr64
-??0OWNINGWND@@QEAA@PEAUHWND__@@@Z
-; public: __cdecl OWNINGWND::OWNINGWND(class OWNER_WINDOW const * __ptr64) __ptr64
-??0OWNINGWND@@QEAA@PEBVOWNER_WINDOW@@@Z
-; public: __cdecl PAINT_DISPLAY_CONTEXT::PAINT_DISPLAY_CONTEXT(class WINDOW * __ptr64) __ptr64
-??0PAINT_DISPLAY_CONTEXT@@QEAA@PEAVWINDOW@@@Z
-; public: __cdecl PASSWORD_CONTROL::PASSWORD_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
-??0PASSWORD_CONTROL@@QEAA@PEAVOWNER_WINDOW@@II@Z
-; public: __cdecl PASSWORD_CONTROL::PASSWORD_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
-??0PASSWORD_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
-; public: __cdecl POPUP::POPUP(struct HWND__ * __ptr64,long,enum MSG_SEVERITY,unsigned int,unsigned int,int) __ptr64
-??0POPUP@@QEAA@PEAUHWND__@@JW4MSG_SEVERITY@@IIH@Z
-; public: __cdecl POPUP::POPUP(struct HWND__ * __ptr64,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR const * __ptr64 * __ptr64,unsigned int) __ptr64
-??0POPUP@@QEAA@PEAUHWND__@@JW4MSG_SEVERITY@@KIPEAPEBVNLS_STR@@I@Z
-; public: __cdecl POPUP_MENU::POPUP_MENU(class IDRESOURCE & __ptr64) __ptr64
-??0POPUP_MENU@@QEAA@AEAVIDRESOURCE@@@Z
-; public: __cdecl POPUP_MENU::POPUP_MENU(class PWND2HWND const & __ptr64) __ptr64
-??0POPUP_MENU@@QEAA@AEBVPWND2HWND@@@Z
-; public: __cdecl POPUP_MENU::POPUP_MENU(struct HMENU__ * __ptr64) __ptr64
-??0POPUP_MENU@@QEAA@PEAUHMENU__@@@Z
-; public: __cdecl POPUP_MENU::POPUP_MENU(void) __ptr64
-??0POPUP_MENU@@QEAA@XZ
-; public: __cdecl PROC_INSTANCE::PROC_INSTANCE(unsigned __int64) __ptr64
-??0PROC_INSTANCE@@QEAA@_K@Z
-; public: __cdecl PROC_TIMER::PROC_TIMER(struct HWND__ * __ptr64,unsigned __int64,unsigned long,int) __ptr64
-??0PROC_TIMER@@QEAA@PEAUHWND__@@_KKH@Z
-; public: __cdecl PROGRESS_CONTROL::PROGRESS_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int) __ptr64
-??0PROGRESS_CONTROL@@QEAA@PEAVOWNER_WINDOW@@III@Z
-; public: __cdecl PROMPT_AND_CONNECT::PROMPT_AND_CONNECT(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned int,unsigned short const * __ptr64) __ptr64
-??0PROMPT_AND_CONNECT@@QEAA@PEAUHWND__@@PEBGKI1@Z
-; public: __cdecl PROMPT_FOR_ANY_DC_DLG::PROMPT_FOR_ANY_DC_DLG(class PWND2HWND & __ptr64,unsigned long,class NLS_STR const * __ptr64,class PWND2HWND * __ptr64) __ptr64
-??0PROMPT_FOR_ANY_DC_DLG@@QEAA@AEAVPWND2HWND@@KPEBVNLS_STR@@PEAV2@@Z
-; public: __cdecl PUSH_BUTTON::PUSH_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0PUSH_BUTTON@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl PUSH_BUTTON::PUSH_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
-??0PUSH_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __cdecl PWND2HWND::PWND2HWND(struct HWND__ * __ptr64) __ptr64
-??0PWND2HWND@@QEAA@PEAUHWND__@@@Z
-; public: __cdecl RADIO_BUTTON::RADIO_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0RADIO_BUTTON@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl RADIO_GROUP::RADIO_GROUP(class OWNER_WINDOW * __ptr64,unsigned int,int,unsigned int,class CONTROL_GROUP * __ptr64) __ptr64
-??0RADIO_GROUP@@QEAA@PEAVOWNER_WINDOW@@IHIPEAVCONTROL_GROUP@@@Z
-; public: __cdecl RESOURCE_PASSWORD_DIALOG::RESOURCE_PASSWORD_DIALOG(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned int,unsigned long) __ptr64
-??0RESOURCE_PASSWORD_DIALOG@@QEAA@PEAUHWND__@@PEBGIK@Z
-; public: __cdecl RESOURCE_STR::RESOURCE_STR(long) __ptr64
-??0RESOURCE_STR@@QEAA@J@Z
-; public: __cdecl RITER_DL_SPIN_ITEM::RITER_DL_SPIN_ITEM(class DLIST & __ptr64) __ptr64
-??0RITER_DL_SPIN_ITEM@@QEAA@AEAVDLIST@@@Z
-; public: __cdecl SCREEN_DC::SCREEN_DC(void) __ptr64
-??0SCREEN_DC@@QEAA@XZ
-; public: __cdecl SCROLLBAR::SCROLLBAR(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
-??0SCROLLBAR@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __cdecl SCROLL_EVENT::SCROLL_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
-??0SCROLL_EVENT@@QEAA@I_K_J@Z
-; public: __cdecl SET_CONTROL::SET_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,struct HICON__ * __ptr64,struct HICON__ * __ptr64,class LISTBOX * __ptr64,class LISTBOX * __ptr64,unsigned int) __ptr64
-??0SET_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IIPEAUHICON__@@1PEAVLISTBOX@@2I@Z
-; public: __cdecl SET_OF_AUDIT_CATEGORIES::SET_OF_AUDIT_CATEGORIES(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,class MASK_MAP * __ptr64,class BITFIELD * __ptr64,class BITFIELD * __ptr64,int) __ptr64
-??0SET_OF_AUDIT_CATEGORIES@@QEAA@PEAVOWNER_WINDOW@@IIIPEAVMASK_MAP@@PEAVBITFIELD@@2H@Z
-; public: __cdecl SLE::SLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
-??0SLE@@QEAA@PEAVOWNER_WINDOW@@II@Z
-; public: __cdecl SLE::SLE(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
-??0SLE@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
-; public: __cdecl SLE_FONT::SLE_FONT(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
-??0SLE_FONT@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
-; public: __cdecl SLE_STRIP::SLE_STRIP(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,int) __ptr64
-??0SLE_STRIP@@QEAA@PEAVOWNER_WINDOW@@IIH@Z
-; public: __cdecl SLE_STRIP::SLE_STRIP(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int,int) __ptr64
-??0SLE_STRIP@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGIH@Z
-; public: __cdecl SLE_STRLB_GROUP::SLE_STRLB_GROUP(class OWNER_WINDOW * __ptr64,class SLE * __ptr64,class STRING_LISTBOX * __ptr64,class PUSH_BUTTON * __ptr64,class PUSH_BUTTON * __ptr64) __ptr64
-??0SLE_STRLB_GROUP@@QEAA@PEAVOWNER_WINDOW@@PEAVSLE@@PEAVSTRING_LISTBOX@@PEAVPUSH_BUTTON@@3@Z
-; public: __cdecl SLIST_OF_ASSOCHCFILE::SLIST_OF_ASSOCHCFILE(int) __ptr64
-??0SLIST_OF_ASSOCHCFILE@@QEAA@H@Z
-; public: __cdecl SLIST_OF_CLIENTDATA::SLIST_OF_CLIENTDATA(int) __ptr64
-??0SLIST_OF_CLIENTDATA@@QEAA@H@Z
-; public: __cdecl SLIST_OF_OS_SID::SLIST_OF_OS_SID(int) __ptr64
-??0SLIST_OF_OS_SID@@QEAA@H@Z
-; public: __cdecl SLIST_OF_STRING_BITSET_PAIR::SLIST_OF_STRING_BITSET_PAIR(int) __ptr64
-??0SLIST_OF_STRING_BITSET_PAIR@@QEAA@H@Z
-; public: __cdecl SLIST_OF_TIMER_BASE::SLIST_OF_TIMER_BASE(int) __ptr64
-??0SLIST_OF_TIMER_BASE@@QEAA@H@Z
-; public: __cdecl SLIST_OF_UI_EXT::SLIST_OF_UI_EXT(int) __ptr64
-??0SLIST_OF_UI_EXT@@QEAA@H@Z
-; public: __cdecl SLIST_OF_ULC_API_BUFFER::SLIST_OF_ULC_API_BUFFER(int) __ptr64
-??0SLIST_OF_ULC_API_BUFFER@@QEAA@H@Z
-; public: __cdecl SLIST_OF_USER_BROWSER_LBI::SLIST_OF_USER_BROWSER_LBI(int) __ptr64
-??0SLIST_OF_USER_BROWSER_LBI@@QEAA@H@Z
-; public: __cdecl SLT::SLT(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0SLT@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl SLT::SLT(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0SLT@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
-; public: __cdecl SLT_ELLIPSIS::SLT_ELLIPSIS(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,enum ELLIPSIS_STYLE) __ptr64
-??0SLT_ELLIPSIS@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGW4ELLIPSIS_STYLE@@@Z
-; public: __cdecl SLT_ELLIPSIS::SLT_ELLIPSIS(class OWNER_WINDOW * __ptr64,unsigned int,enum ELLIPSIS_STYLE) __ptr64
-??0SLT_ELLIPSIS@@QEAA@PEAVOWNER_WINDOW@@IW4ELLIPSIS_STYLE@@@Z
-; public: __cdecl SLT_FONT::SLT_FONT(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
-??0SLT_FONT@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
-; public: __cdecl SOLID_BRUSH::SOLID_BRUSH(int) __ptr64
-??0SOLID_BRUSH@@QEAA@H@Z
-; public: __cdecl SPIN_GROUP::SPIN_GROUP(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,int) __ptr64
-??0SPIN_GROUP@@QEAA@PEAVOWNER_WINDOW@@IIIH@Z
-; public: __cdecl SPIN_GROUP::SPIN_GROUP(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int) __ptr64
-??0SPIN_GROUP@@QEAA@PEAVOWNER_WINDOW@@IIIVXYPOINT@@VXYDIMENSION@@KH@Z
-; public: __cdecl SPIN_ITEM::SPIN_ITEM(class CONTROL_WINDOW * __ptr64) __ptr64
-??0SPIN_ITEM@@QEAA@PEAVCONTROL_WINDOW@@@Z
-; public: __cdecl SPIN_SLE_NUM::SPIN_SLE_NUM(class OWNER_WINDOW * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long,int,unsigned int) __ptr64
-??0SPIN_SLE_NUM@@QEAA@PEAVOWNER_WINDOW@@IKKKHI@Z
-; public: __cdecl SPIN_SLE_NUM::SPIN_SLE_NUM(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long,unsigned long,unsigned long,int,unsigned int) __ptr64
-??0SPIN_SLE_NUM@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KKKKHI@Z
-; public: __cdecl SPIN_SLE_NUM_VALID::SPIN_SLE_NUM_VALID(class OWNER_WINDOW * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long,int) __ptr64
-??0SPIN_SLE_NUM_VALID@@QEAA@PEAVOWNER_WINDOW@@IKKKH@Z
-; public: __cdecl SPIN_SLE_NUM_VALID::SPIN_SLE_NUM_VALID(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64
-??0SPIN_SLE_NUM_VALID@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KKKKH@Z
-; public: __cdecl SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW * __ptr64,unsigned int,long,long,int,unsigned int) __ptr64
-??0SPIN_SLE_STR@@QEAA@PEAVOWNER_WINDOW@@IJJHI@Z
-; public: __cdecl SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW * __ptr64,unsigned int,long,long,class XYPOINT,class XYDIMENSION,unsigned long,int,unsigned int) __ptr64
-??0SPIN_SLE_STR@@QEAA@PEAVOWNER_WINDOW@@IJJVXYPOINT@@VXYDIMENSION@@KHI@Z
-; public: __cdecl SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64 * __ptr64 const,long,int,unsigned int) __ptr64
-??0SPIN_SLE_STR@@QEAA@PEAVOWNER_WINDOW@@IQEAPEBGJHI@Z
-; public: __cdecl SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64 * __ptr64 const,long,class XYPOINT,class XYDIMENSION,unsigned long,int,unsigned int) __ptr64
-??0SPIN_SLE_STR@@QEAA@PEAVOWNER_WINDOW@@IQEAPEBGJVXYPOINT@@VXYDIMENSION@@KHI@Z
-; public: __cdecl SPIN_SLE_VALID_SECOND::SPIN_SLE_VALID_SECOND(class OWNER_WINDOW * __ptr64,unsigned int,long,long,long,long,int) __ptr64
-??0SPIN_SLE_VALID_SECOND@@QEAA@PEAVOWNER_WINDOW@@IJJJJH@Z
-; public: __cdecl SPIN_SLT_SEPARATOR::SPIN_SLT_SEPARATOR(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0SPIN_SLT_SEPARATOR@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl SPIN_SLT_SEPARATOR::SPIN_SLT_SEPARATOR(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
-??0SPIN_SLT_SEPARATOR@@QEAA@PEAVOWNER_WINDOW@@IPEBGVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __cdecl STANDALONE_SET_FOCUS_DLG::STANDALONE_SET_FOCUS_DLG(struct HWND__ * __ptr64,class NLS_STR * __ptr64,unsigned long,enum SELECTION_TYPE,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0STANDALONE_SET_FOCUS_DLG@@QEAA@PEAUHWND__@@PEAVNLS_STR@@KW4SELECTION_TYPE@@KPEBG3K@Z
-; protected: __cdecl STATE2_BUTTON_CONTROL::STATE2_BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0STATE2_BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl STATELB::STATELB(int * __ptr64 const,class OWNER_WINDOW * __ptr64,unsigned int,int,int,enum FontType) __ptr64
-??0STATELB@@QEAA@QEAHPEAVOWNER_WINDOW@@IHHW4FontType@@@Z
-; public: __cdecl STATELBGRP::STATELBGRP(class STATELB * __ptr64) __ptr64
-??0STATELBGRP@@QEAA@PEAVSTATELB@@@Z
-; public: __cdecl STATELBGRP::STATELBGRP(int * __ptr64 const,class OWNER_WINDOW * __ptr64,unsigned int,int,int,enum FontType) __ptr64
-??0STATELBGRP@@QEAA@QEAHPEAVOWNER_WINDOW@@IHHW4FontType@@@Z
-; protected: __cdecl STATE_BUTTON_CONTROL::STATE_BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0STATE_BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@I@Z
-; protected: __cdecl STATE_BUTTON_CONTROL::STATE_BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
-??0STATE_BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __cdecl STATIC_SPIN_ITEM::STATIC_SPIN_ITEM(class CONTROL_WINDOW * __ptr64) __ptr64
-??0STATIC_SPIN_ITEM@@QEAA@PEAVCONTROL_WINDOW@@@Z
-; public: __cdecl STATIC_TEXT_CONTROL::STATIC_TEXT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0STATIC_TEXT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl STATIC_TEXT_CONTROL::STATIC_TEXT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0STATIC_TEXT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
-; public: __cdecl STLBITEM::STLBITEM(class STATELBGRP * __ptr64) __ptr64
-??0STLBITEM@@QEAA@PEAVSTATELBGRP@@@Z
-; public: __cdecl STRING_BITSET_PAIR::STRING_BITSET_PAIR(class NLS_STR const & __ptr64,class BITFIELD const & __ptr64,int) __ptr64
-??0STRING_BITSET_PAIR@@QEAA@AEBVNLS_STR@@AEBVBITFIELD@@H@Z
-; public: __cdecl STRING_LISTBOX::STRING_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,enum FontType) __ptr64
-??0STRING_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGW4FontType@@@Z
-; public: __cdecl STRING_LISTBOX::STRING_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
-??0STRING_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
-; protected: __cdecl STRING_LIST_CONTROL::STRING_LIST_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,int) __ptr64
-??0STRING_LIST_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IH@Z
-; protected: __cdecl STRING_LIST_CONTROL::STRING_LIST_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0STRING_LIST_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IHVXYPOINT@@VXYDIMENSION@@KPEBG@Z
-; public: __cdecl STR_DTE::STR_DTE(unsigned short const * __ptr64) __ptr64
-??0STR_DTE@@QEAA@PEBG@Z
-; public: __cdecl STR_DTE_ELLIPSIS::STR_DTE_ELLIPSIS(unsigned short const * __ptr64,class LISTBOX * __ptr64,enum ELLIPSIS_STYLE) __ptr64
-??0STR_DTE_ELLIPSIS@@QEAA@PEBGPEAVLISTBOX@@W4ELLIPSIS_STYLE@@@Z
-; public: __cdecl SUBJECT_BITMAP_BLOCK::SUBJECT_BITMAP_BLOCK(void) __ptr64
-??0SUBJECT_BITMAP_BLOCK@@QEAA@XZ
-; public: __cdecl SYSMENUITEM::SYSMENUITEM(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0SYSMENUITEM@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl SYSTEM_MENU::SYSTEM_MENU(class PWND2HWND const & __ptr64) __ptr64
-??0SYSTEM_MENU@@QEAA@AEBVPWND2HWND@@@Z
-; public: __cdecl TEXT_CONTROL::TEXT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0TEXT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl TEXT_CONTROL::TEXT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
-??0TEXT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
-; public: __cdecl TIMER::TIMER(class TIMER_CALLOUT * __ptr64,unsigned long,int) __ptr64
-??0TIMER@@QEAA@PEAVTIMER_CALLOUT@@KH@Z
-; public: __cdecl TIMER_BASE::TIMER_BASE(unsigned long,int) __ptr64
-??0TIMER_BASE@@QEAA@KH@Z
-; public: __cdecl TIMER_EVENT::TIMER_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
-??0TIMER_EVENT@@QEAA@I_K_J@Z
-; public: __cdecl TIMER_WINDOW::TIMER_WINDOW(class BLT_MASTER_TIMER * __ptr64) __ptr64
-??0TIMER_WINDOW@@QEAA@PEAVBLT_MASTER_TIMER@@@Z
-; public: __cdecl UI_DOMAIN::UI_DOMAIN(class PWND2HWND & __ptr64,unsigned long,unsigned short const * __ptr64,int) __ptr64
-??0UI_DOMAIN@@QEAA@AEAVPWND2HWND@@KPEBGH@Z
-; protected: __cdecl UI_EXT::UI_EXT(unsigned short const * __ptr64,unsigned long) __ptr64
-??0UI_EXT@@IEAA@PEBGK@Z
-; public: __cdecl UI_EXT_MGR::UI_EXT_MGR(class UI_EXT_MGR_IF * __ptr64,unsigned long,unsigned long) __ptr64
-??0UI_EXT_MGR@@QEAA@PEAVUI_EXT_MGR_IF@@KK@Z
-; protected: __cdecl UI_EXT_MGR_IF::UI_EXT_MGR_IF(void) __ptr64
-??0UI_EXT_MGR_IF@@IEAA@XZ
-; protected: __cdecl UI_MENU_EXT::UI_MENU_EXT(unsigned short const * __ptr64,unsigned long) __ptr64
-??0UI_MENU_EXT@@IEAA@PEBGK@Z
-; public: __cdecl UI_MENU_EXT_MGR::UI_MENU_EXT_MGR(class UI_EXT_MGR_IF * __ptr64,unsigned long,unsigned long) __ptr64
-??0UI_MENU_EXT_MGR@@QEAA@PEAVUI_EXT_MGR_IF@@KK@Z
-; public: __cdecl ULC_API_BUFFER::ULC_API_BUFFER(struct _DOMAIN_DISPLAY_USER * __ptr64,unsigned long) __ptr64
-??0ULC_API_BUFFER@@QEAA@PEAU_DOMAIN_DISPLAY_USER@@K@Z
-; public: __cdecl USER_BROWSER_LB::USER_BROWSER_LB(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-??0USER_BROWSER_LB@@QEAA@PEAVOWNER_WINDOW@@I@Z
-; public: __cdecl USER_BROWSER_LBI::USER_BROWSER_LBI(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,void * __ptr64 const,enum UI_SystemSid,enum _SID_NAME_USE,unsigned long) __ptr64
-??0USER_BROWSER_LBI@@QEAA@PEBG0000QEAXW4UI_SystemSid@@W4_SID_NAME_USE@@K@Z
-; public: __cdecl USER_BROWSER_LBI_CACHE::USER_BROWSER_LBI_CACHE(void) __ptr64
-??0USER_BROWSER_LBI_CACHE@@QEAA@XZ
-; public: __cdecl USER_LBI_CACHE::USER_LBI_CACHE(int) __ptr64
-??0USER_LBI_CACHE@@QEAA@H@Z
-; public: __cdecl USRLB_NT_GROUP_ENUM::USRLB_NT_GROUP_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
-??0USRLB_NT_GROUP_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
-; public: __cdecl WIN32_EVENT::WIN32_EVENT(unsigned short const * __ptr64,int,int) __ptr64
-??0WIN32_EVENT@@QEAA@PEBGHH@Z
-; public: __cdecl WIN32_HANDLE::WIN32_HANDLE(void * __ptr64) __ptr64
-??0WIN32_HANDLE@@QEAA@PEAX@Z
-; public: __cdecl WIN32_MUTEX::WIN32_MUTEX(unsigned short const * __ptr64,int) __ptr64
-??0WIN32_MUTEX@@QEAA@PEBGH@Z
-; public: __cdecl WIN32_SEMAPHORE::WIN32_SEMAPHORE(unsigned short const * __ptr64,long,long) __ptr64
-??0WIN32_SEMAPHORE@@QEAA@PEBGJJ@Z
-; protected: __cdecl WIN32_SYNC_BASE::WIN32_SYNC_BASE(void * __ptr64) __ptr64
-??0WIN32_SYNC_BASE@@IEAA@PEAX@Z
-; public: __cdecl WIN32_THREAD::WIN32_THREAD(int,unsigned int,unsigned short const * __ptr64) __ptr64
-??0WIN32_THREAD@@QEAA@HIPEBG@Z
-; public: __cdecl WINDOW::WINDOW(class WINDOW const & __ptr64) __ptr64
-??0WINDOW@@QEAA@AEBV0@@Z
-; public: __cdecl WINDOW::WINDOW(struct HWND__ * __ptr64) __ptr64
-??0WINDOW@@QEAA@PEAUHWND__@@@Z
-; public: __cdecl WINDOW::WINDOW(unsigned short const * __ptr64,unsigned long,class WINDOW const * __ptr64,unsigned int) __ptr64
-??0WINDOW@@QEAA@PEBGKPEBV0@I@Z
-; public: __cdecl WINDOW::WINDOW(void) __ptr64
-??0WINDOW@@QEAA@XZ
-; public: __cdecl WINDOW_TIMER::WINDOW_TIMER(struct HWND__ * __ptr64,unsigned long,int,int) __ptr64
-??0WINDOW_TIMER@@QEAA@PEAUHWND__@@KHH@Z
-; public: __cdecl WIN_ELLIPSIS::WIN_ELLIPSIS(class WINDOW * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,enum ELLIPSIS_STYLE) __ptr64
-??0WIN_ELLIPSIS@@QEAA@PEAVWINDOW@@PEAUHDC__@@PEBUtagRECT@@W4ELLIPSIS_STYLE@@@Z
-; public: __cdecl WIN_ELLIPSIS::WIN_ELLIPSIS(class WINDOW * __ptr64,enum ELLIPSIS_STYLE) __ptr64
-??0WIN_ELLIPSIS@@QEAA@PEAVWINDOW@@W4ELLIPSIS_STYLE@@@Z
-; public: __cdecl XYDIMENSION::XYDIMENSION(struct tagSIZE const & __ptr64) __ptr64
-??0XYDIMENSION@@QEAA@AEBUtagSIZE@@@Z
-; public: __cdecl XYDIMENSION::XYDIMENSION(unsigned int,unsigned int) __ptr64
-??0XYDIMENSION@@QEAA@II@Z
-; public: __cdecl XYPOINT::XYPOINT(struct tagPOINT const & __ptr64) __ptr64
-??0XYPOINT@@QEAA@AEBUtagPOINT@@@Z
-; public: __cdecl XYPOINT::XYPOINT(int,int) __ptr64
-??0XYPOINT@@QEAA@HH@Z
-; public: __cdecl XYPOINT::XYPOINT(__int64) __ptr64
-??0XYPOINT@@QEAA@_J@Z
-; public: __cdecl XYRECT::XYRECT(struct tagRECT const & __ptr64) __ptr64
-??0XYRECT@@QEAA@AEBUtagRECT@@@Z
-; public: __cdecl XYRECT::XYRECT(class XYRECT const & __ptr64) __ptr64
-??0XYRECT@@QEAA@AEBV0@@Z
-; public: __cdecl XYRECT::XYRECT(int,int,int,int) __ptr64
-??0XYRECT@@QEAA@HHHH@Z
-; public: __cdecl XYRECT::XYRECT(struct HWND__ * __ptr64,int) __ptr64
-??0XYRECT@@QEAA@PEAUHWND__@@H@Z
-; public: __cdecl XYRECT::XYRECT(class WINDOW const * __ptr64,int) __ptr64
-??0XYRECT@@QEAA@PEBVWINDOW@@H@Z
-; public: __cdecl XYRECT::XYRECT(class XYPOINT,class XYPOINT) __ptr64
-??0XYRECT@@QEAA@VXYPOINT@@0@Z
-; public: __cdecl XYRECT::XYRECT(class XYPOINT,class XYDIMENSION) __ptr64
-??0XYRECT@@QEAA@VXYPOINT@@VXYDIMENSION@@@Z
-; public: __cdecl XYRECT::XYRECT(void) __ptr64
-??0XYRECT@@QEAA@XZ
-; public: __cdecl ACCELTABLE::~ACCELTABLE(void) __ptr64
-??1ACCELTABLE@@QEAA@XZ
-; public: __cdecl ACCOUNT_NAMES_MLE::~ACCOUNT_NAMES_MLE(void) __ptr64
-??1ACCOUNT_NAMES_MLE@@QEAA@XZ
-; public: __cdecl ALIAS_STR::~ALIAS_STR(void) __ptr64
-??1ALIAS_STR@@QEAA@XZ
-; public: __cdecl ALLOC_STR::~ALLOC_STR(void) __ptr64
-??1ALLOC_STR@@QEAA@XZ
-; protected: __cdecl APPLICATION::~APPLICATION(void) __ptr64
-??1APPLICATION@@IEAA@XZ
-; protected: __cdecl APP_WINDOW::~APP_WINDOW(void) __ptr64
-??1APP_WINDOW@@IEAA@XZ
-; public: __cdecl ARRAY_CONTROLVAL_CID_PAIR::~ARRAY_CONTROLVAL_CID_PAIR(void) __ptr64
-??1ARRAY_CONTROLVAL_CID_PAIR@@QEAA@XZ
-; public: __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::~ARRAY_LIST_CONTROLVAL_CID_PAIR(void) __ptr64
-??1ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAA@XZ
-; public: __cdecl ARROW_BUTTON::~ARROW_BUTTON(void) __ptr64
-??1ARROW_BUTTON@@QEAA@XZ
-; public: __cdecl ASSOCHCFILE::~ASSOCHCFILE(void) __ptr64
-??1ASSOCHCFILE@@QEAA@XZ
-; public: __cdecl ASSOCHWNDDISP::~ASSOCHWNDDISP(void) __ptr64
-??1ASSOCHWNDDISP@@QEAA@XZ
-; public: __cdecl ASSOCHWNDPDLG::~ASSOCHWNDPDLG(void) __ptr64
-??1ASSOCHWNDPDLG@@QEAA@XZ
-; public: __cdecl ASSOCHWNDPWND::~ASSOCHWNDPWND(void) __ptr64
-??1ASSOCHWNDPWND@@QEAA@XZ
-; public: __cdecl ASSOCHWNDTHIS::~ASSOCHWNDTHIS(void) __ptr64
-??1ASSOCHWNDTHIS@@QEAA@XZ
-; protected: __cdecl ATOM_BASE::~ATOM_BASE(void) __ptr64
-??1ATOM_BASE@@IEAA@XZ
-; public: __cdecl AUDIT_CHECKBOXES::~AUDIT_CHECKBOXES(void) __ptr64
-??1AUDIT_CHECKBOXES@@QEAA@XZ
-; public: __cdecl AUTO_CURSOR::~AUTO_CURSOR(void) __ptr64
-??1AUTO_CURSOR@@QEAA@XZ
-; public: __cdecl BASE_ELLIPSIS::~BASE_ELLIPSIS(void) __ptr64
-??1BASE_ELLIPSIS@@QEAA@XZ
-; public: __cdecl BASE_PASSWORD_DIALOG::~BASE_PASSWORD_DIALOG(void) __ptr64
-??1BASE_PASSWORD_DIALOG@@QEAA@XZ
-; public: __cdecl BASE_SET_FOCUS_DLG::~BASE_SET_FOCUS_DLG(void) __ptr64
-??1BASE_SET_FOCUS_DLG@@QEAA@XZ
-; public: __cdecl BIT_MAP::~BIT_MAP(void) __ptr64
-??1BIT_MAP@@QEAA@XZ
-; public: __cdecl BLT_BACKGROUND_EDIT::~BLT_BACKGROUND_EDIT(void) __ptr64
-??1BLT_BACKGROUND_EDIT@@QEAA@XZ
-; public: __cdecl BLT_COMBOBOX::~BLT_COMBOBOX(void) __ptr64
-??1BLT_COMBOBOX@@QEAA@XZ
-; public: __cdecl BLT_DATE_SPIN_GROUP::~BLT_DATE_SPIN_GROUP(void) __ptr64
-??1BLT_DATE_SPIN_GROUP@@QEAA@XZ
-; public: __cdecl BLT_LISTBOX::~BLT_LISTBOX(void) __ptr64
-??1BLT_LISTBOX@@QEAA@XZ
-; public: __cdecl BLT_MASTER_TIMER::~BLT_MASTER_TIMER(void) __ptr64
-??1BLT_MASTER_TIMER@@QEAA@XZ
-; public: __cdecl BLT_SCRATCH::~BLT_SCRATCH(void) __ptr64
-??1BLT_SCRATCH@@QEAA@XZ
-; public: __cdecl BLT_TIME_SPIN_GROUP::~BLT_TIME_SPIN_GROUP(void) __ptr64
-??1BLT_TIME_SPIN_GROUP@@QEAA@XZ
-; public: __cdecl BROWSER_DOMAIN::~BROWSER_DOMAIN(void) __ptr64
-??1BROWSER_DOMAIN@@QEAA@XZ
-; public: __cdecl BROWSER_DOMAIN_CB::~BROWSER_DOMAIN_CB(void) __ptr64
-??1BROWSER_DOMAIN_CB@@QEAA@XZ
-; public: __cdecl BROWSER_DOMAIN_LB::~BROWSER_DOMAIN_LB(void) __ptr64
-??1BROWSER_DOMAIN_LB@@QEAA@XZ
-; public: virtual __cdecl BROWSER_DOMAIN_LBI::~BROWSER_DOMAIN_LBI(void) __ptr64
-??1BROWSER_DOMAIN_LBI@@UEAA@XZ
-; public: virtual __cdecl BROWSER_DOMAIN_LBI_PB::~BROWSER_DOMAIN_LBI_PB(void) __ptr64
-??1BROWSER_DOMAIN_LBI_PB@@UEAA@XZ
-; public: __cdecl BROWSER_SUBJECT::~BROWSER_SUBJECT(void) __ptr64
-??1BROWSER_SUBJECT@@QEAA@XZ
-; public: __cdecl BROWSER_SUBJECT_ITER::~BROWSER_SUBJECT_ITER(void) __ptr64
-??1BROWSER_SUBJECT_ITER@@QEAA@XZ
-; public: __cdecl BUTTON_CONTROL::~BUTTON_CONTROL(void) __ptr64
-??1BUTTON_CONTROL@@QEAA@XZ
-; public: __cdecl CANCEL_TASK_DIALOG::~CANCEL_TASK_DIALOG(void) __ptr64
-??1CANCEL_TASK_DIALOG@@QEAA@XZ
-; public: __cdecl CHANGEABLE_SPIN_ITEM::~CHANGEABLE_SPIN_ITEM(void) __ptr64
-??1CHANGEABLE_SPIN_ITEM@@QEAA@XZ
-; public: __cdecl CHECKBOX::~CHECKBOX(void) __ptr64
-??1CHECKBOX@@QEAA@XZ
-; public: __cdecl CLIENT_WINDOW::~CLIENT_WINDOW(void) __ptr64
-??1CLIENT_WINDOW@@QEAA@XZ
-; public: __cdecl COMBOBOX::~COMBOBOX(void) __ptr64
-??1COMBOBOX@@QEAA@XZ
-; public: __cdecl CONTROL_TABLE::~CONTROL_TABLE(void) __ptr64
-??1CONTROL_TABLE@@QEAA@XZ
-; public: __cdecl CONTROL_WINDOW::~CONTROL_WINDOW(void) __ptr64
-??1CONTROL_WINDOW@@QEAA@XZ
-; public: __cdecl CUSTOM_CONTROL::~CUSTOM_CONTROL(void) __ptr64
-??1CUSTOM_CONTROL@@QEAA@XZ
-; public: __cdecl DEC_SLT::~DEC_SLT(void) __ptr64
-??1DEC_SLT@@QEAA@XZ
-; public: __cdecl DEC_STR::~DEC_STR(void) __ptr64
-??1DEC_STR@@QEAA@XZ
-; public: __cdecl DIALOG_WINDOW::~DIALOG_WINDOW(void) __ptr64
-??1DIALOG_WINDOW@@QEAA@XZ
-; protected: __cdecl DISPATCHER::~DISPATCHER(void) __ptr64
-??1DISPATCHER@@IEAA@XZ
-; public: __cdecl DISPLAY_CONTEXT::~DISPLAY_CONTEXT(void) __ptr64
-??1DISPLAY_CONTEXT@@QEAA@XZ
-; public: __cdecl DISPLAY_MAP::~DISPLAY_MAP(void) __ptr64
-??1DISPLAY_MAP@@QEAA@XZ
-; public: __cdecl DLGLOAD::~DLGLOAD(void) __ptr64
-??1DLGLOAD@@QEAA@XZ
-; public: __cdecl DLIST_OF_SPIN_ITEM::~DLIST_OF_SPIN_ITEM(void) __ptr64
-??1DLIST_OF_SPIN_ITEM@@QEAA@XZ
-; public: __cdecl DMID_DTE::~DMID_DTE(void) __ptr64
-??1DMID_DTE@@QEAA@XZ
-; public: virtual __cdecl DOMAIN_FILL_THREAD::~DOMAIN_FILL_THREAD(void) __ptr64
-??1DOMAIN_FILL_THREAD@@UEAA@XZ
-; public: __cdecl EDIT_CONTROL::~EDIT_CONTROL(void) __ptr64
-??1EDIT_CONTROL@@QEAA@XZ
-; protected: __cdecl ENUM_OBJ_BASE::~ENUM_OBJ_BASE(void) __ptr64
-??1ENUM_OBJ_BASE@@IEAA@XZ
-; public: __cdecl EXPANDABLE_DIALOG::~EXPANDABLE_DIALOG(void) __ptr64
-??1EXPANDABLE_DIALOG@@QEAA@XZ
-; public: __cdecl FILE3_ENUM::~FILE3_ENUM(void) __ptr64
-??1FILE3_ENUM@@QEAA@XZ
-; public: __cdecl FILE3_ENUM_ITER::~FILE3_ENUM_ITER(void) __ptr64
-??1FILE3_ENUM_ITER@@QEAA@XZ
-; public: __cdecl FILE3_ENUM_OBJ::~FILE3_ENUM_OBJ(void) __ptr64
-??1FILE3_ENUM_OBJ@@QEAA@XZ
-; public: virtual __cdecl FOCUSDLG_DATA_THREAD::~FOCUSDLG_DATA_THREAD(void) __ptr64
-??1FOCUSDLG_DATA_THREAD@@UEAA@XZ
-; public: __cdecl FOCUS_CHECKBOX::~FOCUS_CHECKBOX(void) __ptr64
-??1FOCUS_CHECKBOX@@QEAA@XZ
-; public: __cdecl FONT::~FONT(void) __ptr64
-??1FONT@@QEAA@XZ
-; protected: __cdecl GET_FNAME_BASE_DLG::~GET_FNAME_BASE_DLG(void) __ptr64
-??1GET_FNAME_BASE_DLG@@IEAA@XZ
-; public: __cdecl GLOBAL_ATOM::~GLOBAL_ATOM(void) __ptr64
-??1GLOBAL_ATOM@@QEAA@XZ
-; public: __cdecl GRAPHICAL_BUTTON::~GRAPHICAL_BUTTON(void) __ptr64
-??1GRAPHICAL_BUTTON@@QEAA@XZ
-; public: __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::~GRAPHICAL_BUTTON_WITH_DISABLE(void) __ptr64
-??1GRAPHICAL_BUTTON_WITH_DISABLE@@QEAA@XZ
-; public: __cdecl HAW_FOR_HAWAII_INFO::~HAW_FOR_HAWAII_INFO(void) __ptr64
-??1HAW_FOR_HAWAII_INFO@@QEAA@XZ
-; public: __cdecl HEX_STR::~HEX_STR(void) __ptr64
-??1HEX_STR@@QEAA@XZ
-; public: virtual __cdecl HIER_LBI::~HIER_LBI(void) __ptr64
-??1HIER_LBI@@UEAA@XZ
-; public: __cdecl HIER_LBI_ITERATOR::~HIER_LBI_ITERATOR(void) __ptr64
-??1HIER_LBI_ITERATOR@@QEAA@XZ
-; public: __cdecl HIER_LISTBOX::~HIER_LISTBOX(void) __ptr64
-??1HIER_LISTBOX@@QEAA@XZ
-; public: __cdecl H_SPLITTER_BAR::~H_SPLITTER_BAR(void) __ptr64
-??1H_SPLITTER_BAR@@QEAA@XZ
-; public: __cdecl ICANON_SLE::~ICANON_SLE(void) __ptr64
-??1ICANON_SLE@@QEAA@XZ
-; public: __cdecl ICON_CONTROL::~ICON_CONTROL(void) __ptr64
-??1ICON_CONTROL@@QEAA@XZ
-; public: __cdecl ITER_DL_SPIN_ITEM::~ITER_DL_SPIN_ITEM(void) __ptr64
-??1ITER_DL_SPIN_ITEM@@QEAA@XZ
-; public: __cdecl ITER_SL_ASSOCHCFILE::~ITER_SL_ASSOCHCFILE(void) __ptr64
-??1ITER_SL_ASSOCHCFILE@@QEAA@XZ
-; public: __cdecl ITER_SL_CLIENTDATA::~ITER_SL_CLIENTDATA(void) __ptr64
-??1ITER_SL_CLIENTDATA@@QEAA@XZ
-; public: __cdecl ITER_SL_STRING_BITSET_PAIR::~ITER_SL_STRING_BITSET_PAIR(void) __ptr64
-??1ITER_SL_STRING_BITSET_PAIR@@QEAA@XZ
-; public: __cdecl ITER_SL_TIMER_BASE::~ITER_SL_TIMER_BASE(void) __ptr64
-??1ITER_SL_TIMER_BASE@@QEAA@XZ
-; public: __cdecl ITER_SL_UI_EXT::~ITER_SL_UI_EXT(void) __ptr64
-??1ITER_SL_UI_EXT@@QEAA@XZ
-; public: __cdecl ITER_SL_USER_BROWSER_LBI::~ITER_SL_USER_BROWSER_LBI(void) __ptr64
-??1ITER_SL_USER_BROWSER_LBI@@QEAA@XZ
-; public: __cdecl LAZY_LISTBOX::~LAZY_LISTBOX(void) __ptr64
-??1LAZY_LISTBOX@@QEAA@XZ
-; public: virtual __cdecl LBI::~LBI(void) __ptr64
-??1LBI@@UEAA@XZ
-; public: __cdecl LBITREE::~LBITREE(void) __ptr64
-??1LBITREE@@QEAA@XZ
-; public: __cdecl LBI_HEAP::~LBI_HEAP(void) __ptr64
-??1LBI_HEAP@@QEAA@XZ
-; public: __cdecl LB_COL_WIDTHS::~LB_COL_WIDTHS(void) __ptr64
-??1LB_COL_WIDTHS@@QEAA@XZ
-; public: __cdecl LISTBOX::~LISTBOX(void) __ptr64
-??1LISTBOX@@QEAA@XZ
-; protected: __cdecl LIST_CONTROL::~LIST_CONTROL(void) __ptr64
-??1LIST_CONTROL@@IEAA@XZ
-; public: __cdecl LM_FILE_2::~LM_FILE_2(void) __ptr64
-??1LM_FILE_2@@QEAA@XZ
-; public: __cdecl LM_MESSAGE::~LM_MESSAGE(void) __ptr64
-??1LM_MESSAGE@@QEAA@XZ
-; public: __cdecl LM_OLLB::~LM_OLLB(void) __ptr64
-??1LM_OLLB@@QEAA@XZ
-; public: __cdecl LOCAL_ATOM::~LOCAL_ATOM(void) __ptr64
-??1LOCAL_ATOM@@QEAA@XZ
-; public: __cdecl LOC_LM_OBJ::~LOC_LM_OBJ(void) __ptr64
-??1LOC_LM_OBJ@@QEAA@XZ
-; public: __cdecl LOGON_HOURS_CONTROL::~LOGON_HOURS_CONTROL(void) __ptr64
-??1LOGON_HOURS_CONTROL@@QEAA@XZ
-; public: __cdecl MAGIC_GROUP::~MAGIC_GROUP(void) __ptr64
-??1MAGIC_GROUP@@QEAA@XZ
-; public: __cdecl MASK_MAP::~MASK_MAP(void) __ptr64
-??1MASK_MAP@@QEAA@XZ
-; public: __cdecl MEMORY_DC::~MEMORY_DC(void) __ptr64
-??1MEMORY_DC@@QEAA@XZ
-; public: __cdecl MENU_BASE::~MENU_BASE(void) __ptr64
-??1MENU_BASE@@QEAA@XZ
-; public: __cdecl MLE::~MLE(void) __ptr64
-??1MLE@@QEAA@XZ
-; public: __cdecl MLE_FONT::~MLE_FONT(void) __ptr64
-??1MLE_FONT@@QEAA@XZ
-; public: __cdecl MLT::~MLT(void) __ptr64
-??1MLT@@QEAA@XZ
-; public: __cdecl MSGPOPUP_DIALOG::~MSGPOPUP_DIALOG(void) __ptr64
-??1MSGPOPUP_DIALOG@@QEAA@XZ
-; protected: __cdecl MSG_DIALOG_BASE::~MSG_DIALOG_BASE(void) __ptr64
-??1MSG_DIALOG_BASE@@IEAA@XZ
-; public: __cdecl NT_FIND_ACCOUNT_DIALOG::~NT_FIND_ACCOUNT_DIALOG(void) __ptr64
-??1NT_FIND_ACCOUNT_DIALOG@@QEAA@XZ
-; public: virtual __cdecl NT_GLOBALGROUP_BROWSER_DIALOG::~NT_GLOBALGROUP_BROWSER_DIALOG(void) __ptr64
-??1NT_GLOBALGROUP_BROWSER_DIALOG@@UEAA@XZ
-; public: virtual __cdecl NT_GROUP_BROWSER_DIALOG::~NT_GROUP_BROWSER_DIALOG(void) __ptr64
-??1NT_GROUP_BROWSER_DIALOG@@UEAA@XZ
-; public: __cdecl NT_GROUP_BROWSER_LB::~NT_GROUP_BROWSER_LB(void) __ptr64
-??1NT_GROUP_BROWSER_LB@@QEAA@XZ
-; public: __cdecl NT_GROUP_ENUM_ITER::~NT_GROUP_ENUM_ITER(void) __ptr64
-??1NT_GROUP_ENUM_ITER@@QEAA@XZ
-; public: __cdecl NT_GROUP_ENUM_OBJ::~NT_GROUP_ENUM_OBJ(void) __ptr64
-??1NT_GROUP_ENUM_OBJ@@QEAA@XZ
-; public: virtual __cdecl NT_LOCALGROUP_BROWSER_DIALOG::~NT_LOCALGROUP_BROWSER_DIALOG(void) __ptr64
-??1NT_LOCALGROUP_BROWSER_DIALOG@@UEAA@XZ
-; public: __cdecl NT_USER_BROWSER_DIALOG::~NT_USER_BROWSER_DIALOG(void) __ptr64
-??1NT_USER_BROWSER_DIALOG@@QEAA@XZ
-; public: virtual __cdecl OLLB_ENTRY::~OLLB_ENTRY(void) __ptr64
-??1OLLB_ENTRY@@UEAA@XZ
-; public: __cdecl OPEN_DIALOG_BASE::~OPEN_DIALOG_BASE(void) __ptr64
-??1OPEN_DIALOG_BASE@@QEAA@XZ
-; public: virtual __cdecl OPEN_LBI_BASE::~OPEN_LBI_BASE(void) __ptr64
-??1OPEN_LBI_BASE@@UEAA@XZ
-; public: __cdecl OPEN_LBOX_BASE::~OPEN_LBOX_BASE(void) __ptr64
-??1OPEN_LBOX_BASE@@QEAA@XZ
-; public: __cdecl OUTLINE_LISTBOX::~OUTLINE_LISTBOX(void) __ptr64
-??1OUTLINE_LISTBOX@@QEAA@XZ
-; public: __cdecl OWNER_WINDOW::~OWNER_WINDOW(void) __ptr64
-??1OWNER_WINDOW@@QEAA@XZ
-; public: __cdecl PAINT_DISPLAY_CONTEXT::~PAINT_DISPLAY_CONTEXT(void) __ptr64
-??1PAINT_DISPLAY_CONTEXT@@QEAA@XZ
-; public: __cdecl PASSWORD_CONTROL::~PASSWORD_CONTROL(void) __ptr64
-??1PASSWORD_CONTROL@@QEAA@XZ
-; public: __cdecl POPUP::~POPUP(void) __ptr64
-??1POPUP@@QEAA@XZ
-; public: __cdecl POPUP_MENU::~POPUP_MENU(void) __ptr64
-??1POPUP_MENU@@QEAA@XZ
-; public: __cdecl PROC_INSTANCE::~PROC_INSTANCE(void) __ptr64
-??1PROC_INSTANCE@@QEAA@XZ
-; public: __cdecl PROGRESS_CONTROL::~PROGRESS_CONTROL(void) __ptr64
-??1PROGRESS_CONTROL@@QEAA@XZ
-; public: __cdecl PROMPT_AND_CONNECT::~PROMPT_AND_CONNECT(void) __ptr64
-??1PROMPT_AND_CONNECT@@QEAA@XZ
-; public: __cdecl PROMPT_FOR_ANY_DC_DLG::~PROMPT_FOR_ANY_DC_DLG(void) __ptr64
-??1PROMPT_FOR_ANY_DC_DLG@@QEAA@XZ
-; public: __cdecl PUSH_BUTTON::~PUSH_BUTTON(void) __ptr64
-??1PUSH_BUTTON@@QEAA@XZ
-; public: __cdecl RADIO_BUTTON::~RADIO_BUTTON(void) __ptr64
-??1RADIO_BUTTON@@QEAA@XZ
-; public: __cdecl RADIO_GROUP::~RADIO_GROUP(void) __ptr64
-??1RADIO_GROUP@@QEAA@XZ
-; public: __cdecl RESOURCE_PASSWORD_DIALOG::~RESOURCE_PASSWORD_DIALOG(void) __ptr64
-??1RESOURCE_PASSWORD_DIALOG@@QEAA@XZ
-; public: __cdecl RESOURCE_STR::~RESOURCE_STR(void) __ptr64
-??1RESOURCE_STR@@QEAA@XZ
-; public: __cdecl RITER_DL_SPIN_ITEM::~RITER_DL_SPIN_ITEM(void) __ptr64
-??1RITER_DL_SPIN_ITEM@@QEAA@XZ
-; public: __cdecl SCREEN_DC::~SCREEN_DC(void) __ptr64
-??1SCREEN_DC@@QEAA@XZ
-; public: __cdecl SERVER1_ENUM::~SERVER1_ENUM(void) __ptr64
-??1SERVER1_ENUM@@QEAA@XZ
-; public: __cdecl SERVER1_ENUM_ITER::~SERVER1_ENUM_ITER(void) __ptr64
-??1SERVER1_ENUM_ITER@@QEAA@XZ
-; public: __cdecl SERVER1_ENUM_OBJ::~SERVER1_ENUM_OBJ(void) __ptr64
-??1SERVER1_ENUM_OBJ@@QEAA@XZ
-; public: __cdecl SERVER_ENUM::~SERVER_ENUM(void) __ptr64
-??1SERVER_ENUM@@QEAA@XZ
-; public: __cdecl SET_CONTROL::~SET_CONTROL(void) __ptr64
-??1SET_CONTROL@@QEAA@XZ
-; public: __cdecl SET_OF_AUDIT_CATEGORIES::~SET_OF_AUDIT_CATEGORIES(void) __ptr64
-??1SET_OF_AUDIT_CATEGORIES@@QEAA@XZ
-; public: __cdecl SLE::~SLE(void) __ptr64
-??1SLE@@QEAA@XZ
-; public: __cdecl SLE_FONT::~SLE_FONT(void) __ptr64
-??1SLE_FONT@@QEAA@XZ
-; public: __cdecl SLE_STRLB_GROUP::~SLE_STRLB_GROUP(void) __ptr64
-??1SLE_STRLB_GROUP@@QEAA@XZ
-; public: __cdecl SLIST_OF_ASSOCHCFILE::~SLIST_OF_ASSOCHCFILE(void) __ptr64
-??1SLIST_OF_ASSOCHCFILE@@QEAA@XZ
-; public: __cdecl SLIST_OF_CLIENTDATA::~SLIST_OF_CLIENTDATA(void) __ptr64
-??1SLIST_OF_CLIENTDATA@@QEAA@XZ
-; public: __cdecl SLIST_OF_OS_SID::~SLIST_OF_OS_SID(void) __ptr64
-??1SLIST_OF_OS_SID@@QEAA@XZ
-; public: __cdecl SLIST_OF_STRING_BITSET_PAIR::~SLIST_OF_STRING_BITSET_PAIR(void) __ptr64
-??1SLIST_OF_STRING_BITSET_PAIR@@QEAA@XZ
-; public: __cdecl SLIST_OF_TIMER_BASE::~SLIST_OF_TIMER_BASE(void) __ptr64
-??1SLIST_OF_TIMER_BASE@@QEAA@XZ
-; public: __cdecl SLIST_OF_UI_EXT::~SLIST_OF_UI_EXT(void) __ptr64
-??1SLIST_OF_UI_EXT@@QEAA@XZ
-; public: __cdecl SLIST_OF_ULC_API_BUFFER::~SLIST_OF_ULC_API_BUFFER(void) __ptr64
-??1SLIST_OF_ULC_API_BUFFER@@QEAA@XZ
-; public: __cdecl SLIST_OF_USER_BROWSER_LBI::~SLIST_OF_USER_BROWSER_LBI(void) __ptr64
-??1SLIST_OF_USER_BROWSER_LBI@@QEAA@XZ
-; public: __cdecl SLT::~SLT(void) __ptr64
-??1SLT@@QEAA@XZ
-; public: __cdecl SLT_ELLIPSIS::~SLT_ELLIPSIS(void) __ptr64
-??1SLT_ELLIPSIS@@QEAA@XZ
-; public: __cdecl SOLID_BRUSH::~SOLID_BRUSH(void) __ptr64
-??1SOLID_BRUSH@@QEAA@XZ
-; public: __cdecl SPIN_GROUP::~SPIN_GROUP(void) __ptr64
-??1SPIN_GROUP@@QEAA@XZ
-; public: __cdecl SPIN_ITEM::~SPIN_ITEM(void) __ptr64
-??1SPIN_ITEM@@QEAA@XZ
-; public: __cdecl SPIN_SLE_NUM::~SPIN_SLE_NUM(void) __ptr64
-??1SPIN_SLE_NUM@@QEAA@XZ
-; public: __cdecl SPIN_SLE_NUM_VALID::~SPIN_SLE_NUM_VALID(void) __ptr64
-??1SPIN_SLE_NUM_VALID@@QEAA@XZ
-; public: __cdecl SPIN_SLE_STR::~SPIN_SLE_STR(void) __ptr64
-??1SPIN_SLE_STR@@QEAA@XZ
-; public: __cdecl SPIN_SLE_VALID_SECOND::~SPIN_SLE_VALID_SECOND(void) __ptr64
-??1SPIN_SLE_VALID_SECOND@@QEAA@XZ
-; public: __cdecl SPIN_SLT_SEPARATOR::~SPIN_SLT_SEPARATOR(void) __ptr64
-??1SPIN_SLT_SEPARATOR@@QEAA@XZ
-; public: __cdecl STATE2_BUTTON_CONTROL::~STATE2_BUTTON_CONTROL(void) __ptr64
-??1STATE2_BUTTON_CONTROL@@QEAA@XZ
-; public: __cdecl STATELB::~STATELB(void) __ptr64
-??1STATELB@@QEAA@XZ
-; public: __cdecl STATELBGRP::~STATELBGRP(void) __ptr64
-??1STATELBGRP@@QEAA@XZ
-; public: __cdecl STATE_BUTTON_CONTROL::~STATE_BUTTON_CONTROL(void) __ptr64
-??1STATE_BUTTON_CONTROL@@QEAA@XZ
-; public: __cdecl STATIC_SPIN_ITEM::~STATIC_SPIN_ITEM(void) __ptr64
-??1STATIC_SPIN_ITEM@@QEAA@XZ
-; public: __cdecl STATIC_TEXT_CONTROL::~STATIC_TEXT_CONTROL(void) __ptr64
-??1STATIC_TEXT_CONTROL@@QEAA@XZ
-; public: virtual __cdecl STLBITEM::~STLBITEM(void) __ptr64
-??1STLBITEM@@UEAA@XZ
-; public: __cdecl STRING_BITSET_PAIR::~STRING_BITSET_PAIR(void) __ptr64
-??1STRING_BITSET_PAIR@@QEAA@XZ
-; public: __cdecl STRING_LIST_CONTROL::~STRING_LIST_CONTROL(void) __ptr64
-??1STRING_LIST_CONTROL@@QEAA@XZ
-; public: __cdecl SUBJECT_BITMAP_BLOCK::~SUBJECT_BITMAP_BLOCK(void) __ptr64
-??1SUBJECT_BITMAP_BLOCK@@QEAA@XZ
-; public: __cdecl SYSTEM_MENU::~SYSTEM_MENU(void) __ptr64
-??1SYSTEM_MENU@@QEAA@XZ
-; public: __cdecl TEXT_CONTROL::~TEXT_CONTROL(void) __ptr64
-??1TEXT_CONTROL@@QEAA@XZ
-; public: __cdecl TIMER_BASE::~TIMER_BASE(void) __ptr64
-??1TIMER_BASE@@QEAA@XZ
-; public: __cdecl TIMER_WINDOW::~TIMER_WINDOW(void) __ptr64
-??1TIMER_WINDOW@@QEAA@XZ
-; public: __cdecl UI_DOMAIN::~UI_DOMAIN(void) __ptr64
-??1UI_DOMAIN@@QEAA@XZ
-; public: virtual __cdecl UI_EXT::~UI_EXT(void) __ptr64
-??1UI_EXT@@UEAA@XZ
-; public: __cdecl UI_EXT_MGR::~UI_EXT_MGR(void) __ptr64
-??1UI_EXT_MGR@@QEAA@XZ
-; public: __cdecl UI_EXT_MGR_IF::~UI_EXT_MGR_IF(void) __ptr64
-??1UI_EXT_MGR_IF@@QEAA@XZ
-; public: virtual __cdecl UI_MENU_EXT::~UI_MENU_EXT(void) __ptr64
-??1UI_MENU_EXT@@UEAA@XZ
-; public: virtual __cdecl UI_MENU_EXT_MGR::~UI_MENU_EXT_MGR(void) __ptr64
-??1UI_MENU_EXT_MGR@@UEAA@XZ
-; public: __cdecl ULC_API_BUFFER::~ULC_API_BUFFER(void) __ptr64
-??1ULC_API_BUFFER@@QEAA@XZ
-; public: __cdecl USER_BROWSER_LB::~USER_BROWSER_LB(void) __ptr64
-??1USER_BROWSER_LB@@QEAA@XZ
-; public: virtual __cdecl USER_BROWSER_LBI::~USER_BROWSER_LBI(void) __ptr64
-??1USER_BROWSER_LBI@@UEAA@XZ
-; public: virtual __cdecl USER_BROWSER_LBI_CACHE::~USER_BROWSER_LBI_CACHE(void) __ptr64
-??1USER_BROWSER_LBI_CACHE@@UEAA@XZ
-; public: virtual __cdecl USER_LBI_CACHE::~USER_LBI_CACHE(void) __ptr64
-??1USER_LBI_CACHE@@UEAA@XZ
-; public: __cdecl USRLB_NT_GROUP_ENUM::~USRLB_NT_GROUP_ENUM(void) __ptr64
-??1USRLB_NT_GROUP_ENUM@@QEAA@XZ
-; public: __cdecl WIN32_EVENT::~WIN32_EVENT(void) __ptr64
-??1WIN32_EVENT@@QEAA@XZ
-; public: __cdecl WIN32_HANDLE::~WIN32_HANDLE(void) __ptr64
-??1WIN32_HANDLE@@QEAA@XZ
-; public: __cdecl WIN32_MUTEX::~WIN32_MUTEX(void) __ptr64
-??1WIN32_MUTEX@@QEAA@XZ
-; public: __cdecl WIN32_SEMAPHORE::~WIN32_SEMAPHORE(void) __ptr64
-??1WIN32_SEMAPHORE@@QEAA@XZ
-; public: __cdecl WIN32_SYNC_BASE::~WIN32_SYNC_BASE(void) __ptr64
-??1WIN32_SYNC_BASE@@QEAA@XZ
-; public: virtual __cdecl WIN32_THREAD::~WIN32_THREAD(void) __ptr64
-??1WIN32_THREAD@@UEAA@XZ
-; public: __cdecl WINDOW::~WINDOW(void) __ptr64
-??1WINDOW@@QEAA@XZ
-; public: __cdecl WIN_ELLIPSIS::~WIN_ELLIPSIS(void) __ptr64
-??1WIN_ELLIPSIS@@QEAA@XZ
-; public: class ARRAY_CONTROLVAL_CID_PAIR & __ptr64 __cdecl ARRAY_CONTROLVAL_CID_PAIR::operator=(class ARRAY_CONTROLVAL_CID_PAIR & __ptr64) __ptr64
-??4ARRAY_CONTROLVAL_CID_PAIR@@QEAAAEAV0@AEAV0@@Z
-; public: virtual unsigned short const * __ptr64 __cdecl GLOBAL_ATOM::operator=(unsigned short const * __ptr64) __ptr64
-??4GLOBAL_ATOM@@UEAAPEBGPEBG@Z
-; public: virtual unsigned short const * __ptr64 __cdecl LOCAL_ATOM::operator=(unsigned short const * __ptr64) __ptr64
-??4LOCAL_ATOM@@UEAAPEBGPEBG@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::operator=(class XYRECT const & __ptr64) __ptr64
-??4XYRECT@@QEAAAEAV0@AEBV0@@Z
-; public: int __cdecl ASSOCHWNDDISP::operator!(void)const  __ptr64
-??7ASSOCHWNDDISP@@QEBAHXZ
-; public: int __cdecl ASSOCHWNDPWND::operator!(void)const  __ptr64
-??7ASSOCHWNDPWND@@QEBAHXZ
-; public: int __cdecl BASE::operator!(void)const  __ptr64
-??7BASE@@QEBAHXZ
-; public: int __cdecl CONTROL_WINDOW::operator!(void)const  __ptr64
-??7CONTROL_WINDOW@@QEBAHXZ
-; public: int __cdecl XYRECT::operator==(class XYRECT const & __ptr64)const  __ptr64
-??8XYRECT@@QEBAHAEBV0@@Z
-; public: class CONTROLVAL_CID_PAIR & __ptr64 __cdecl ARRAY_CONTROLVAL_CID_PAIR::operator[](unsigned int)const  __ptr64
-??AARRAY_CONTROLVAL_CID_PAIR@@QEBAAEAVCONTROLVAL_CID_PAIR@@I@Z
-; public: class DTE * __ptr64 & __ptr64 __cdecl DISPLAY_TABLE::operator[](unsigned int) __ptr64
-??ADISPLAY_TABLE@@QEAAAEAPEAVDTE@@I@Z
-; public: class RADIO_BUTTON * __ptr64 __cdecl RADIO_GROUP::operator[](unsigned int) __ptr64
-??ARADIO_GROUP@@QEAAPEAVRADIO_BUTTON@@I@Z
-; public: __cdecl NLS_STR::operator unsigned short const * __ptr64(void)const  __ptr64
-??BNLS_STR@@QEBAPEBGXZ
-; public: __cdecl OS_SID::operator void * __ptr64(void)const  __ptr64
-??BOS_SID@@QEBAPEAXXZ
-; public: __cdecl XYRECT::operator struct tagRECT const * __ptr64(void)const  __ptr64
-??BXYRECT@@QEBAPEBUtagRECT@@XZ
-; public: class FILE3_ENUM_OBJ const * __ptr64 __cdecl FILE3_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
-??RFILE3_ENUM_ITER@@QEAAPEBVFILE3_ENUM_OBJ@@PEAJH@Z
-; public: class HIER_LBI * __ptr64 __cdecl HIER_LBI_ITERATOR::operator()(void) __ptr64
-??RHIER_LBI_ITERATOR@@QEAAPEAVHIER_LBI@@XZ
-; public: class CONTROL_WINDOW * __ptr64 __cdecl ITER_CTRL::operator()(void) __ptr64
-??RITER_CTRL@@QEAAPEAVCONTROL_WINDOW@@XZ
-; public: unsigned short const * __ptr64 __cdecl ITER_DEVICE::operator()(void) __ptr64
-??RITER_DEVICE@@QEAAPEBGXZ
-; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::operator()(void) __ptr64
-??RITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
-; public: class NT_GROUP_ENUM_OBJ const * __ptr64 __cdecl NT_GROUP_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
-??RNT_GROUP_ENUM_ITER@@QEAAPEBVNT_GROUP_ENUM_OBJ@@PEAJH@Z
-; public: virtual void __cdecl CHANGEABLE_SPIN_ITEM::operator+=(unsigned long) __ptr64
-??YCHANGEABLE_SPIN_ITEM@@UEAAXK@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::operator+=(class XYRECT const & __ptr64) __ptr64
-??YXYRECT@@QEAAAEAV0@AEBV0@@Z
-; public: virtual void __cdecl CHANGEABLE_SPIN_ITEM::operator-=(unsigned long) __ptr64
-??ZCHANGEABLE_SPIN_ITEM@@UEAAXK@Z
-; void __cdecl `vector constructor iterator'(void * __ptr64,unsigned __int64,int,void * __ptr64 (__cdecl*)(void * __ptr64))
-??_H@YAXPEAX_KHP6APEAX0@Z@Z
-; void __cdecl `vector destructor iterator'(void * __ptr64,unsigned __int64,int,void (__cdecl*)(void * __ptr64))
-??_I@YAXPEAX_KHP6AX0@Z@Z
-; void __cdecl `vector vbase constructor iterator'(void * __ptr64,unsigned __int64,int,void * __ptr64 (__cdecl*)(void * __ptr64))
-??_J@YAXPEAX_KHP6APEAX0@Z@Z
-; private: void __cdecl HIER_LBI::Abandon(void) __ptr64
-?Abandon@HIER_LBI@@AEAAXXZ
-; private: void __cdecl HIER_LBI::AbandonAllChildren(void) __ptr64
-?AbandonAllChildren@HIER_LBI@@AEAAXXZ
-; protected: virtual int __cdecl MSG_DIALOG_BASE::ActionOnError(long) __ptr64
-?ActionOnError@MSG_DIALOG_BASE@@MEAAHJ@Z
-; private: void __cdecl MAGIC_GROUP::ActivateAssocControls(unsigned int,unsigned int,class CONTROL_VALUE * __ptr64) __ptr64
-?ActivateAssocControls@MAGIC_GROUP@@AEAAXIIPEAVCONTROL_VALUE@@@Z
-; public: virtual void __cdecl UI_EXT_MGR::ActivateExtension(struct HWND__ * __ptr64,unsigned long) __ptr64
-?ActivateExtension@UI_EXT_MGR@@UEAAXPEAUHWND__@@K@Z
-; public: int __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::Add(class CONTROLVAL_CID_PAIR const & __ptr64) __ptr64
-?Add@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAAHAEBVCONTROLVAL_CID_PAIR@@@Z
-; public: static void __cdecl HWND_DLGPTR_CACHE::Add(struct HWND__ * __ptr64,class DIALOG_WINDOW * __ptr64)
-?Add@HWND_DLGPTR_CACHE@@SAXPEAUHWND__@@PEAVDIALOG_WINDOW@@@Z
-; public: long __cdecl MASK_MAP::Add(class BITFIELD const & __ptr64,class NLS_STR const & __ptr64,int) __ptr64
-?Add@MASK_MAP@@QEAAJAEBVBITFIELD@@AEBVNLS_STR@@H@Z
-; public: long __cdecl MASK_MAP::Add(struct US_IDS_PAIRS * __ptr64 const,unsigned short) __ptr64
-?Add@MASK_MAP@@QEAAJQEAUUS_IDS_PAIRS@@G@Z
-; public: long __cdecl SLIST_OF_ASSOCHCFILE::Add(class ASSOCHCFILE const * __ptr64) __ptr64
-?Add@SLIST_OF_ASSOCHCFILE@@QEAAJPEBVASSOCHCFILE@@@Z
-; public: long __cdecl SLIST_OF_CLIENTDATA::Add(struct CLIENTDATA const * __ptr64) __ptr64
-?Add@SLIST_OF_CLIENTDATA@@QEAAJPEBUCLIENTDATA@@@Z
-; public: long __cdecl SLIST_OF_NLS_STR::Add(class NLS_STR const * __ptr64) __ptr64
-?Add@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
-; public: long __cdecl SLIST_OF_OS_SID::Add(class OS_SID const * __ptr64) __ptr64
-?Add@SLIST_OF_OS_SID@@QEAAJPEBVOS_SID@@@Z
-; public: long __cdecl SLIST_OF_TIMER_BASE::Add(class TIMER_BASE const * __ptr64) __ptr64
-?Add@SLIST_OF_TIMER_BASE@@QEAAJPEBVTIMER_BASE@@@Z
-; public: long __cdecl SLIST_OF_USER_BROWSER_LBI::Add(class USER_BROWSER_LBI const * __ptr64) __ptr64
-?Add@SLIST_OF_USER_BROWSER_LBI@@QEAAJPEBVUSER_BROWSER_LBI@@@Z
-; protected: long __cdecl USER_BROWSER_LBI_CACHE::AddAliases(class ADMIN_AUTHORITY * __ptr64,unsigned short const * __ptr64,int * __ptr64) __ptr64
-?AddAliases@USER_BROWSER_LBI_CACHE@@IEAAJPEAVADMIN_AUTHORITY@@PEBGPEAH@Z
-; protected: long __cdecl USER_BROWSER_LBI_CACHE::AddAliases(class SAM_DOMAIN * __ptr64,unsigned short const * __ptr64,int * __ptr64) __ptr64
-?AddAliases@USER_BROWSER_LBI_CACHE@@IEAAJPEAVSAM_DOMAIN@@PEBGPEAH@Z
-; public: long __cdecl MAGIC_GROUP::AddAssociation(unsigned int,class CONTROL_VALUE * __ptr64) __ptr64
-?AddAssociation@MAGIC_GROUP@@QEAAJIPEAVCONTROL_VALUE@@@Z
-; public: long __cdecl SPIN_GROUP::AddAssociation(class SPIN_ITEM * __ptr64) __ptr64
-?AddAssociation@SPIN_GROUP@@QEAAJPEAVSPIN_ITEM@@@Z
-; protected: virtual long __cdecl HIER_LISTBOX::AddChildren(class HIER_LBI * __ptr64) __ptr64
-?AddChildren@HIER_LISTBOX@@MEAAJPEAVHIER_LBI@@@Z
-; public: static long __cdecl BLTIMP::AddClient(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int)
-?AddClient@BLTIMP@@SAJPEAUHINSTANCE__@@IIII@Z
-; public: int __cdecl CONTROL_TABLE::AddControl(class CONTROL_WINDOW * __ptr64) __ptr64
-?AddControl@CONTROL_TABLE@@QEAAHPEAVCONTROL_WINDOW@@@Z
-; private: int __cdecl OWNER_WINDOW::AddControl(class CONTROL_WINDOW * __ptr64) __ptr64
-?AddControl@OWNER_WINDOW@@AEAAHPEAVCONTROL_WINDOW@@@Z
-; public: int __cdecl OUTLINE_LISTBOX::AddDomain(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?AddDomain@OUTLINE_LISTBOX@@QEAAHPEBG0H@Z
-; protected: long __cdecl USER_BROWSER_LBI_CACHE::AddGroups(class ADMIN_AUTHORITY * __ptr64,unsigned short const * __ptr64,int * __ptr64) __ptr64
-?AddGroups@USER_BROWSER_LBI_CACHE@@IEAAJPEAVADMIN_AUTHORITY@@PEBGPEAH@Z
-; public: static long __cdecl BLTIMP::AddHelpAssoc(struct HINSTANCE__ * __ptr64,long,unsigned long,unsigned long)
-?AddHelpAssoc@BLTIMP@@SAJPEAUHINSTANCE__@@JKK@Z
-; public: int __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::AddIdemp(class CONTROLVAL_CID_PAIR const & __ptr64) __ptr64
-?AddIdemp@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAAHAEBVCONTROLVAL_CID_PAIR@@@Z
-; public: int __cdecl BLT_LISTBOX::AddItem(class LBI * __ptr64) __ptr64
-?AddItem@BLT_LISTBOX@@QEAAHPEAVLBI@@@Z
-; public: long __cdecl BROWSER_DOMAIN_CB::AddItem(class BROWSER_DOMAIN * __ptr64) __ptr64
-?AddItem@BROWSER_DOMAIN_CB@@QEAAJPEAVBROWSER_DOMAIN@@@Z
-; public: int __cdecl HIER_LISTBOX::AddItem(class HIER_LBI * __ptr64,class HIER_LBI * __ptr64,int) __ptr64
-?AddItem@HIER_LISTBOX@@QEAAHPEAVHIER_LBI@@0H@Z
-; public: long __cdecl LBI_HEAP::AddItem(class LBI * __ptr64) __ptr64
-?AddItem@LBI_HEAP@@QEAAJPEAVLBI@@@Z
-; protected: int __cdecl OUTLINE_LISTBOX::AddItem(enum OUTLINE_LB_LEVEL,int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?AddItem@OUTLINE_LISTBOX@@IEAAHW4OUTLINE_LB_LEVEL@@HPEBG11@Z
-; public: int __cdecl STRING_LIST_CONTROL::AddItem(unsigned short const * __ptr64) __ptr64
-?AddItem@STRING_LIST_CONTROL@@QEAAHPEBG@Z
-; public: int __cdecl USER_BROWSER_LB::AddItem(class LBI * __ptr64) __ptr64
-?AddItem@USER_BROWSER_LB@@QEAAHPEAVLBI@@@Z
-; public: virtual int __cdecl USER_BROWSER_LBI_CACHE::AddItem(class LBI * __ptr64) __ptr64
-?AddItem@USER_BROWSER_LBI_CACHE@@UEAAHPEAVLBI@@@Z
-; public: virtual int __cdecl USER_LBI_CACHE::AddItem(class LBI * __ptr64) __ptr64
-?AddItem@USER_LBI_CACHE@@UEAAHPEAVLBI@@@Z
-; protected: int __cdecl LIST_CONTROL::AddItemData(void * __ptr64) __ptr64
-?AddItemData@LIST_CONTROL@@IEAAHPEAX@Z
-; public: int __cdecl BLT_LISTBOX::AddItemIdemp(class LBI * __ptr64) __ptr64
-?AddItemIdemp@BLT_LISTBOX@@QEAAHPEAVLBI@@@Z
-; public: int __cdecl STRING_LIST_CONTROL::AddItemIdemp(class NLS_STR const & __ptr64) __ptr64
-?AddItemIdemp@STRING_LIST_CONTROL@@QEAAHAEBVNLS_STR@@@Z
-; public: int __cdecl STRING_LIST_CONTROL::AddItemIdemp(unsigned short const * __ptr64) __ptr64
-?AddItemIdemp@STRING_LIST_CONTROL@@QEAAHPEBG@Z
-; public: int __cdecl LBITREE::AddNode(class HIER_LBI * __ptr64,class HIER_LBI * __ptr64,int) __ptr64
-?AddNode@LBITREE@@QEAAHPEAVHIER_LBI@@0H@Z
-; public: long __cdecl NT_USER_BROWSER_DIALOG::AddSelectedUserBrowserLBIs(class USER_BROWSER_LB * __ptr64,int,int) __ptr64
-?AddSelectedUserBrowserLBIs@NT_USER_BROWSER_DIALOG@@QEAAJPEAVUSER_BROWSER_LB@@HH@Z
-; public: int __cdecl OUTLINE_LISTBOX::AddServer(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?AddServer@OUTLINE_LISTBOX@@QEAAHPEBG00@Z
-; public: void __cdecl HIER_LISTBOX::AddSortedItems(class HIER_LBI * __ptr64 * __ptr64,int,class HIER_LBI * __ptr64,int) __ptr64
-?AddSortedItems@HIER_LISTBOX@@QEAAXPEAPEAVHIER_LBI@@HPEAV2@H@Z
-; public: long __cdecl USER_BROWSER_LBI_CACHE::AddUsers(class ADMIN_AUTHORITY * __ptr64,unsigned short const * __ptr64,int,int * __ptr64) __ptr64
-?AddUsers@USER_BROWSER_LBI_CACHE@@QEAAJPEAVADMIN_AUTHORITY@@PEBGHPEAH@Z
-; protected: long __cdecl USER_BROWSER_LBI_CACHE::AddWellKnownSids(class ADMIN_AUTHORITY * __ptr64,unsigned long,int * __ptr64) __ptr64
-?AddWellKnownSids@USER_BROWSER_LBI_CACHE@@IEAAJPEAVADMIN_AUTHORITY@@KPEAH@Z
-; public: void __cdecl LBI_HEAP::Adjust(void) __ptr64
-?Adjust@LBI_HEAP@@QEAAXXZ
-; public: class XYRECT & __ptr64 __cdecl XYRECT::AdjustBottom(int) __ptr64
-?AdjustBottom@XYRECT@@QEAAAEAV1@H@Z
-; private: void __cdecl HIER_LBI::AdjustDescendantCount(int) __ptr64
-?AdjustDescendantCount@HIER_LBI@@AEAAXH@Z
-; private: void __cdecl LBI_HEAP::AdjustDownwards(int) __ptr64
-?AdjustDownwards@LBI_HEAP@@AEAAXH@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::AdjustLeft(int) __ptr64
-?AdjustLeft@XYRECT@@QEAAAEAV1@H@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::AdjustRight(int) __ptr64
-?AdjustRight@XYRECT@@QEAAAEAV1@H@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::AdjustTop(int) __ptr64
-?AdjustTop@XYRECT@@QEAAAEAV1@H@Z
-; private: void __cdecl LBI_HEAP::AdjustUpwards(int) __ptr64
-?AdjustUpwards@LBI_HEAP@@AEAAXH@Z
-; private: void __cdecl HIER_LBI::Adopt(class HIER_LBI * __ptr64,int) __ptr64
-?Adopt@HIER_LBI@@AEAAXPEAV1@H@Z
-; public: void __cdecl PROGRESS_CONTROL::Advance(int) __ptr64
-?Advance@PROGRESS_CONTROL@@QEAAXH@Z
-; protected: virtual void __cdecl CONTROL_GROUP::AfterGroupActions(void) __ptr64
-?AfterGroupActions@CONTROL_GROUP@@MEAAXXZ
-; public: void __cdecl USER_BROWSER_LBI::AliasUnicodeStrToDisplayName(struct _UNICODE_STRING * __ptr64) __ptr64
-?AliasUnicodeStrToDisplayName@USER_BROWSER_LBI@@QEAAXPEAU_UNICODE_STRING@@@Z
-; public: long __cdecl DLIST_OF_SPIN_ITEM::Append(class SPIN_ITEM * __ptr64 const) __ptr64
-?Append@DLIST_OF_SPIN_ITEM@@QEAAJQEAVSPIN_ITEM@@@Z
-; public: long __cdecl MENU_BASE::Append(unsigned short const * __ptr64,unsigned int,unsigned int)const  __ptr64
-?Append@MENU_BASE@@QEBAJPEBGII@Z
-; public: long __cdecl MENU_BASE::Append(unsigned short const * __ptr64,struct HMENU__ * __ptr64,unsigned int)const  __ptr64
-?Append@MENU_BASE@@QEBAJPEBGPEAUHMENU__@@I@Z
-; public: long __cdecl SLIST_OF_NLS_STR::Append(class NLS_STR const * __ptr64) __ptr64
-?Append@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
-; public: long __cdecl SLIST_OF_STRING_BITSET_PAIR::Append(class STRING_BITSET_PAIR const * __ptr64) __ptr64
-?Append@SLIST_OF_STRING_BITSET_PAIR@@QEAAJPEBVSTRING_BITSET_PAIR@@@Z
-; public: long __cdecl SLIST_OF_UI_EXT::Append(class UI_EXT const * __ptr64) __ptr64
-?Append@SLIST_OF_UI_EXT@@QEAAJPEBVUI_EXT@@@Z
-; public: long __cdecl SLIST_OF_ULC_API_BUFFER::Append(class ULC_API_BUFFER const * __ptr64) __ptr64
-?Append@SLIST_OF_ULC_API_BUFFER@@QEAAJPEBVULC_API_BUFFER@@@Z
-; public: long __cdecl SLIST_OF_USER_BROWSER_LBI::Append(class USER_BROWSER_LBI const * __ptr64) __ptr64
-?Append@SLIST_OF_USER_BROWSER_LBI@@QEAAJPEBVUSER_BROWSER_LBI@@@Z
-; public: virtual long __cdecl DM_DTE::AppendDataTo(class NLS_STR * __ptr64)const  __ptr64
-?AppendDataTo@DM_DTE@@UEBAJPEAVNLS_STR@@@Z
-; public: virtual long __cdecl STR_DTE::AppendDataTo(class NLS_STR * __ptr64)const  __ptr64
-?AppendDataTo@STR_DTE@@UEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl MENU_BASE::AppendSeparator(void)const  __ptr64
-?AppendSeparator@MENU_BASE@@QEBAJXZ
-; public: long __cdecl SET_OF_AUDIT_CATEGORIES::ApplyPermissionsToCheckBoxes(class BITFIELD * __ptr64,class BITFIELD * __ptr64) __ptr64
-?ApplyPermissionsToCheckBoxes@SET_OF_AUDIT_CATEGORIES@@QEAAJPEAVBITFIELD@@0@Z
-; public: int __cdecl NT_USER_BROWSER_DIALOG::AreUsersShown(void)const  __ptr64
-?AreUsersShown@NT_USER_BROWSER_DIALOG@@QEBAHXZ
-; protected: unsigned short const * __ptr64 __cdecl ATOM_BASE::AssignAux(unsigned short const * __ptr64) __ptr64
-?AssignAux@ATOM_BASE@@IEAAPEBGPEBG@Z
-; public: long __cdecl POPUP_MENU::Attach(class PWND2HWND const & __ptr64) __ptr64
-?Attach@POPUP_MENU@@QEAAJAEBVPWND2HWND@@@Z
-; long __cdecl BLTDoubleChar(class NLS_STR * __ptr64,unsigned short)
-?BLTDoubleChar@@YAJPEAVNLS_STR@@G@Z
-; protected: virtual long __cdecl SET_CONTROL::BLTMoveItems(class BLT_LISTBOX * __ptr64,class BLT_LISTBOX * __ptr64) __ptr64
-?BLTMoveItems@SET_CONTROL@@MEAAJPEAVBLT_LISTBOX@@0@Z
-; int __cdecl BLTPoints2LogUnits(int)
-?BLTPoints2LogUnits@@YAHH@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::Beep(void)const  __ptr64
-?Beep@LOGON_HOURS_CONTROL@@AEBAXXZ
-; protected: long __cdecl UI_MENU_EXT::BiasMenuIds(unsigned long) __ptr64
-?BiasMenuIds@UI_MENU_EXT@@IEAAJK@Z
-; public: int __cdecl USER_LBI_CACHE::BinarySearch(struct _DOMAIN_DISPLAY_USER * __ptr64) __ptr64
-?BinarySearch@USER_LBI_CACHE@@QEAAHPEAU_DOMAIN_DISPLAY_USER@@@Z
-; public: int __cdecl USER_LBI_CACHE::BinarySearch(class LBI * __ptr64) __ptr64
-?BinarySearch@USER_LBI_CACHE@@QEAAHPEAVLBI@@@Z
-; public: int __cdecl DEVICE_CONTEXT::BitBlt(class XYPOINT const & __ptr64,class XYDIMENSION,class DEVICE_CONTEXT const & __ptr64,class XYPOINT const & __ptr64,unsigned long) __ptr64
-?BitBlt@DEVICE_CONTEXT@@QEAAHAEBVXYPOINT@@VXYDIMENSION@@AEBV1@0K@Z
-; public: int __cdecl DEVICE_CONTEXT::BitBlt(int,int,int,int,class DEVICE_CONTEXT const & __ptr64,int,int,unsigned long) __ptr64
-?BitBlt@DEVICE_CONTEXT@@QEAAHHHHHAEBV1@HHK@Z
-; public: long __cdecl MASK_MAP::BitsToString(class BITFIELD const & __ptr64,class NLS_STR * __ptr64,int,unsigned int * __ptr64) __ptr64
-?BitsToString@MASK_MAP@@QEAAJAEBVBITFIELD@@PEAVNLS_STR@@HPEAI@Z
-; protected: long __cdecl USER_BROWSER_LBI_CACHE::BuildAndAddLBI(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,void * __ptr64 const,enum UI_SystemSid,enum _SID_NAME_USE,unsigned long) __ptr64
-?BuildAndAddLBI@USER_BROWSER_LBI_CACHE@@IEAAJPEBG0000QEAXW4UI_SystemSid@@W4_SID_NAME_USE@@K@Z
-; protected: long __cdecl ACCOUNT_NAMES_MLE::BuildNameListFromStrList(class NLS_STR * __ptr64,class STRLIST * __ptr64) __ptr64
-?BuildNameListFromStrList@ACCOUNT_NAMES_MLE@@IEAAJPEAVNLS_STR@@PEAVSTRLIST@@@Z
-; protected: static __int64 __cdecl BLT_COMBOBOX::CBSubclassProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?CBSubclassProc@BLT_COMBOBOX@@KA_JPEAUHWND__@@I_K_J@Z
-; protected: virtual int __cdecl BLT_LISTBOX::CD_Char(unsigned short,unsigned short) __ptr64
-?CD_Char@BLT_LISTBOX@@MEAAHGG@Z
-; protected: virtual int __cdecl BLT_LISTBOX_HAW::CD_Char(unsigned short,unsigned short) __ptr64
-?CD_Char@BLT_LISTBOX_HAW@@MEAAHGG@Z
-; protected: virtual int __cdecl CONTROL_WINDOW::CD_Char(unsigned short,unsigned short) __ptr64
-?CD_Char@CONTROL_WINDOW@@MEAAHGG@Z
-; protected: virtual int __cdecl LM_OLLB::CD_Char(unsigned short,unsigned short) __ptr64
-?CD_Char@LM_OLLB@@MEAAHGG@Z
-; protected: virtual int __cdecl OUTLINE_LISTBOX::CD_Char(unsigned short,unsigned short) __ptr64
-?CD_Char@OUTLINE_LISTBOX@@MEAAHGG@Z
-; protected: virtual int __cdecl STATELB::CD_Char(unsigned short,unsigned short) __ptr64
-?CD_Char@STATELB@@MEAAHGG@Z
-; protected: virtual int __cdecl USER_BROWSER_LB::CD_Char(unsigned short,unsigned short) __ptr64
-?CD_Char@USER_BROWSER_LB@@MEAAHGG@Z
-; protected: int __cdecl BLT_LISTBOX::CD_Char_HAWforHawaii(unsigned short,unsigned short,class HAW_FOR_HAWAII_INFO * __ptr64) __ptr64
-?CD_Char_HAWforHawaii@BLT_LISTBOX@@IEAAHGGPEAVHAW_FOR_HAWAII_INFO@@@Z
-; protected: int __cdecl USER_BROWSER_LB::CD_Char_HAWforHawaii(unsigned short,unsigned short,class HAW_FOR_HAWAII_INFO * __ptr64) __ptr64
-?CD_Char_HAWforHawaii@USER_BROWSER_LB@@IEAAHGGPEAVHAW_FOR_HAWAII_INFO@@@Z
-; protected: virtual int __cdecl CONTROL_WINDOW::CD_Draw(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
-?CD_Draw@CONTROL_WINDOW@@MEAAHPEAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual int __cdecl GRAPHICAL_BUTTON::CD_Draw(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
-?CD_Draw@GRAPHICAL_BUTTON@@MEAAHPEAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual int __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::CD_Draw(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
-?CD_Draw@GRAPHICAL_BUTTON_WITH_DISABLE@@MEAAHPEAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual int __cdecl LISTBOX::CD_Draw(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
-?CD_Draw@LISTBOX@@MEAAHPEAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual long __cdecl BLT_LISTBOX::CD_Guiltt(int,class NLS_STR * __ptr64) __ptr64
-?CD_Guiltt@BLT_LISTBOX@@MEAAJHPEAVNLS_STR@@@Z
-; protected: virtual long __cdecl CONTROL_WINDOW::CD_Guiltt(int,class NLS_STR * __ptr64) __ptr64
-?CD_Guiltt@CONTROL_WINDOW@@MEAAJHPEAVNLS_STR@@@Z
-; protected: virtual long __cdecl LAZY_LISTBOX::CD_Guiltt(int,class NLS_STR * __ptr64) __ptr64
-?CD_Guiltt@LAZY_LISTBOX@@MEAAJHPEAVNLS_STR@@@Z
-; protected: virtual int __cdecl BLT_LISTBOX::CD_Measure(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
-?CD_Measure@BLT_LISTBOX@@MEAAHPEAUtagMEASUREITEMSTRUCT@@@Z
-; protected: virtual int __cdecl CONTROL_WINDOW::CD_Measure(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
-?CD_Measure@CONTROL_WINDOW@@MEAAHPEAUtagMEASUREITEMSTRUCT@@@Z
-; protected: virtual int __cdecl CONTROL_WINDOW::CD_VKey(unsigned short,unsigned short) __ptr64
-?CD_VKey@CONTROL_WINDOW@@MEAAHGG@Z
-; protected: virtual int __cdecl LISTBOX::CD_VKey(unsigned short,unsigned short) __ptr64
-?CD_VKey@LISTBOX@@MEAAHGG@Z
-; protected: virtual int __cdecl STATELB::CD_VKey(unsigned short,unsigned short) __ptr64
-?CD_VKey@STATELB@@MEAAHGG@Z
-; protected: virtual int __cdecl USER_BROWSER_LB::CD_VKey(unsigned short,unsigned short) __ptr64
-?CD_VKey@USER_BROWSER_LB@@MEAAHGG@Z
-; protected: void __cdecl CONTROL_GROUP::CVRestoreValue(class CONTROL_VALUE * __ptr64,int) __ptr64
-?CVRestoreValue@CONTROL_GROUP@@IEAAXPEAVCONTROL_VALUE@@H@Z
-; public: void __cdecl CUSTOM_CONTROL::CVRestoreValue(int) __ptr64
-?CVRestoreValue@CUSTOM_CONTROL@@QEAAXH@Z
-; protected: void __cdecl CONTROL_GROUP::CVSaveValue(class CONTROL_VALUE * __ptr64,int) __ptr64
-?CVSaveValue@CONTROL_GROUP@@IEAAXPEAVCONTROL_VALUE@@H@Z
-; public: void __cdecl CUSTOM_CONTROL::CVSaveValue(int) __ptr64
-?CVSaveValue@CUSTOM_CONTROL@@QEAAXH@Z
-; private: struct HICON__ * __ptr64 __cdecl SET_CONTROL::CalcAppropriateCursor(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
-?CalcAppropriateCursor@SET_CONTROL@@AEBAPEAUHICON__@@PEAVLISTBOX@@0AEBVXYPOINT@@@Z
-; private: static unsigned int __cdecl METALLIC_STR_DTE::CalcBottomTextMargin(void)
-?CalcBottomTextMargin@METALLIC_STR_DTE@@CAIXZ
-; private: int __cdecl LOGON_HOURS_CONTROL::CalcButtonFromPoint(class XYPOINT)const  __ptr64
-?CalcButtonFromPoint@LOGON_HOURS_CONTROL@@AEBAHVXYPOINT@@@Z
-; public: static long __cdecl DISPLAY_TABLE::CalcColumnWidths(unsigned int * __ptr64,unsigned int,class OWNER_WINDOW * __ptr64,unsigned int,int)
-?CalcColumnWidths@DISPLAY_TABLE@@SAJPEAIIPEAVOWNER_WINDOW@@IH@Z
-; private: static int __cdecl POPUP::CalcDefButton(unsigned int,unsigned int)
-?CalcDefButton@POPUP@@CAHII@Z
-; protected: static int __cdecl OWNER_WINDOW::CalcFixedCDMeasure(struct HWND__ * __ptr64,struct tagMEASUREITEMSTRUCT * __ptr64)
-?CalcFixedCDMeasure@OWNER_WINDOW@@KAHPEAUHWND__@@PEAUtagMEASUREITEMSTRUCT@@@Z
-; protected: static int __cdecl WINDOW::CalcFixedHeight(struct HWND__ * __ptr64,unsigned int * __ptr64)
-?CalcFixedHeight@WINDOW@@KAHPEAUHWND__@@PEAI@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::CalcGridRect(class XYRECT * __ptr64)const  __ptr64
-?CalcGridRect@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@@Z
-; public: virtual unsigned int __cdecl LBI::CalcHeight(unsigned int) __ptr64
-?CalcHeight@LBI@@UEAAII@Z
-; public: int __cdecl XYRECT::CalcHeight(void)const  __ptr64
-?CalcHeight@XYRECT@@QEBAHXZ
-; public: static unsigned short const * __ptr64 __cdecl BLT::CalcHelpFileHC(unsigned long)
-?CalcHelpFileHC@BLT@@SAPEBGK@Z
-; public: static struct HINSTANCE__ * __ptr64 __cdecl BLT::CalcHmodRsrc(class IDRESOURCE const & __ptr64)
-?CalcHmodRsrc@BLT@@SAPEAUHINSTANCE__@@AEBVIDRESOURCE@@@Z
-; public: static struct HINSTANCE__ * __ptr64 __cdecl BLT::CalcHmodString(long)
-?CalcHmodString@BLT@@SAPEAUHINSTANCE__@@J@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::CalcIntersect(class XYRECT const & __ptr64,class XYRECT const & __ptr64) __ptr64
-?CalcIntersect@XYRECT@@QEAAAEAV1@AEBV1@0@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::CalcRectForCell(class XYRECT * __ptr64,int)const  __ptr64
-?CalcRectForCell@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@H@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::CalcRectForCorner(class XYRECT * __ptr64)const  __ptr64
-?CalcRectForCorner@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::CalcRectForDay(class XYRECT * __ptr64,int)const  __ptr64
-?CalcRectForDay@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@H@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::CalcRectForHour(class XYRECT * __ptr64,int)const  __ptr64
-?CalcRectForHour@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@H@Z
-; public: long __cdecl BLT_LISTBOX::CalcSingleLineHeight(void) __ptr64
-?CalcSingleLineHeight@BLT_LISTBOX@@QEAAJXZ
-; private: long __cdecl LOGON_HOURS_CONTROL::CalcSizes(class XYDIMENSION) __ptr64
-?CalcSizes@LOGON_HOURS_CONTROL@@AEAAJVXYDIMENSION@@@Z
-; private: static unsigned int __cdecl METALLIC_STR_DTE::CalcTopTextMargin(void)
-?CalcTopTextMargin@METALLIC_STR_DTE@@CAIXZ
-; public: class XYRECT & __ptr64 __cdecl XYRECT::CalcUnion(class XYRECT const & __ptr64,class XYRECT const & __ptr64) __ptr64
-?CalcUnion@XYRECT@@QEAAAEAV1@AEBV1@0@Z
-; public: int __cdecl XYRECT::CalcWidth(void)const  __ptr64
-?CalcWidth@XYRECT@@QEBAHXZ
-; public: long __cdecl ACCOUNT_NAMES_MLE::CanonicalizeNames(unsigned short const * __ptr64,class STRLIST * __ptr64) __ptr64
-?CanonicalizeNames@ACCOUNT_NAMES_MLE@@QEAAJPEBGPEAVSTRLIST@@@Z
-; public: void __cdecl CLIENT_WINDOW::CaptureMouse(void) __ptr64
-?CaptureMouse@CLIENT_WINDOW@@QEAAXXZ
-; public: void __cdecl DISPATCHER::CaptureMouse(void) __ptr64
-?CaptureMouse@DISPATCHER@@QEAAXXZ
-; public: void __cdecl WINDOW::Center(struct HWND__ * __ptr64) __ptr64
-?Center@WINDOW@@QEAAXPEAUHWND__@@@Z
-; public: int __cdecl SPIN_GROUP::ChangeFieldValue(unsigned short,int) __ptr64
-?ChangeFieldValue@SPIN_GROUP@@QEAAHGH@Z
-; public: void __cdecl AUDIT_CHECKBOXES::CheckFailed(int) __ptr64
-?CheckFailed@AUDIT_CHECKBOXES@@QEAAXH@Z
-; public: unsigned int __cdecl MENU_BASE::CheckItem(unsigned int,int,unsigned int)const  __ptr64
-?CheckItem@MENU_BASE@@QEBAIIHI@Z
-; protected: long __cdecl ACCOUNT_NAMES_MLE::CheckLookedUpNames(unsigned short * __ptr64 * __ptr64,class LSA_TRANSLATED_SID_MEM * __ptr64,class STRLIST * __ptr64,class NLS_STR * __ptr64,unsigned short const * __ptr64,long * __ptr64) __ptr64
-?CheckLookedUpNames@ACCOUNT_NAMES_MLE@@IEAAJPEAPEAGPEAVLSA_TRANSLATED_SID_MEM@@PEAVSTRLIST@@PEAVNLS_STR@@PEBGPEAJ@Z
-; public: static long __cdecl ACCOUNT_NAMES_MLE::CheckNameType(enum _SID_NAME_USE,unsigned long)
-?CheckNameType@ACCOUNT_NAMES_MLE@@SAJW4_SID_NAME_USE@@K@Z
-; public: int __cdecl CHANGEABLE_SPIN_ITEM::CheckRange(unsigned long)const  __ptr64
-?CheckRange@CHANGEABLE_SPIN_ITEM@@QEBAHK@Z
-; public: void __cdecl AUDIT_CHECKBOXES::CheckSuccess(int) __ptr64
-?CheckSuccess@AUDIT_CHECKBOXES@@QEAAXH@Z
-; public: virtual int __cdecl CHANGEABLE_SPIN_ITEM::CheckValid(void) __ptr64
-?CheckValid@CHANGEABLE_SPIN_ITEM@@UEAAHXZ
-; public: virtual int __cdecl SPIN_SLE_NUM_VALID::CheckValid(void) __ptr64
-?CheckValid@SPIN_SLE_NUM_VALID@@UEAAHXZ
-; public: class CONTROL_WINDOW * __ptr64 __cdecl CONTROL_TABLE::CidToCtrlPtr(unsigned int)const  __ptr64
-?CidToCtrlPtr@CONTROL_TABLE@@QEBAPEAVCONTROL_WINDOW@@I@Z
-; protected: class CONTROL_WINDOW * __ptr64 __cdecl OWNER_WINDOW::CidToCtrlPtr(unsigned int)const  __ptr64
-?CidToCtrlPtr@OWNER_WINDOW@@IEBAPEAVCONTROL_WINDOW@@I@Z
-; public: void __cdecl CONTROL_WINDOW::ClaimFocus(void) __ptr64
-?ClaimFocus@CONTROL_WINDOW@@QEAAXXZ
-; public: void __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::Clear(void) __ptr64
-?Clear@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAAXXZ
-; public: void __cdecl DLIST_OF_SPIN_ITEM::Clear(void) __ptr64
-?Clear@DLIST_OF_SPIN_ITEM@@QEAAXXZ
-; public: void __cdecl SLIST_OF_ASSOCHCFILE::Clear(void) __ptr64
-?Clear@SLIST_OF_ASSOCHCFILE@@QEAAXXZ
-; public: void __cdecl SLIST_OF_CLIENTDATA::Clear(void) __ptr64
-?Clear@SLIST_OF_CLIENTDATA@@QEAAXXZ
-; public: void __cdecl SLIST_OF_OS_SID::Clear(void) __ptr64
-?Clear@SLIST_OF_OS_SID@@QEAAXXZ
-; public: void __cdecl SLIST_OF_STRING_BITSET_PAIR::Clear(void) __ptr64
-?Clear@SLIST_OF_STRING_BITSET_PAIR@@QEAAXXZ
-; public: void __cdecl SLIST_OF_TIMER_BASE::Clear(void) __ptr64
-?Clear@SLIST_OF_TIMER_BASE@@QEAAXXZ
-; public: void __cdecl SLIST_OF_UI_EXT::Clear(void) __ptr64
-?Clear@SLIST_OF_UI_EXT@@QEAAXXZ
-; public: void __cdecl SLIST_OF_ULC_API_BUFFER::Clear(void) __ptr64
-?Clear@SLIST_OF_ULC_API_BUFFER@@QEAAXXZ
-; public: void __cdecl SLIST_OF_USER_BROWSER_LBI::Clear(void) __ptr64
-?Clear@SLIST_OF_USER_BROWSER_LBI@@QEAAXXZ
-; private: void __cdecl H_SPLITTER_BAR::ClearDragBar(void) __ptr64
-?ClearDragBar@H_SPLITTER_BAR@@AEAAXXZ
-; public: static unsigned long __cdecl BLT_MASTER_TIMER::ClearMasterTimerHotkey(void)
-?ClearMasterTimerHotkey@BLT_MASTER_TIMER@@SAKXZ
-; public: void __cdecl SLT_ELLIPSIS::ClearText(void) __ptr64
-?ClearText@SLT_ELLIPSIS@@QEAAXXZ
-; public: void __cdecl WINDOW::ClearText(void) __ptr64
-?ClearText@WINDOW@@QEAAXXZ
-; public: void __cdecl XYPOINT::ClientToScreen(struct HWND__ * __ptr64) __ptr64
-?ClientToScreen@XYPOINT@@QEAAXPEAUHWND__@@@Z
-; public: void __cdecl APP_WINDOW::Close(void) __ptr64
-?Close@APP_WINDOW@@QEAAXXZ
-; public: long __cdecl WIN32_HANDLE::Close(void) __ptr64
-?Close@WIN32_HANDLE@@QEAAJXZ
-; protected: void __cdecl OPEN_DIALOG_BASE::CloseFile(class OPEN_LBI_BASE * __ptr64) __ptr64
-?CloseFile@OPEN_DIALOG_BASE@@IEAAXPEAVOPEN_LBI_BASE@@@Z
-; protected: static int __cdecl USER_LBI_CACHE::CmpUniStrs(struct _UNICODE_STRING const * __ptr64,struct _UNICODE_STRING const * __ptr64)
-?CmpUniStrs@USER_LBI_CACHE@@KAHPEBU_UNICODE_STRING@@0@Z
-; public: long __cdecl LM_OLLB::CollapseDomain(int) __ptr64
-?CollapseDomain@LM_OLLB@@QEAAJH@Z
-; public: long __cdecl LM_OLLB::CollapseDomain(void) __ptr64
-?CollapseDomain@LM_OLLB@@QEAAJXZ
-; public: void __cdecl HIER_LISTBOX::CollapseItem(int,int) __ptr64
-?CollapseItem@HIER_LISTBOX@@QEAAXHH@Z
-; public: void __cdecl HIER_LISTBOX::CollapseItem(class HIER_LBI * __ptr64,int) __ptr64
-?CollapseItem@HIER_LISTBOX@@QEAAXPEAVHIER_LBI@@H@Z
-; int __cdecl CommDlgHookProc(struct HWND__ * __ptr64,unsigned short,unsigned __int64,__int64)
-?CommDlgHookProc@@YAHPEAUHWND__@@G_K_J@Z
-; public: unsigned __int64 __cdecl WINDOW::Command(unsigned int,unsigned __int64,__int64)const  __ptr64
-?Command@WINDOW@@QEBA_KI_K_J@Z
-; public: virtual int __cdecl BROWSER_DOMAIN_LBI::Compare(class LBI const * __ptr64)const  __ptr64
-?Compare@BROWSER_DOMAIN_LBI@@UEBAHPEBVLBI@@@Z
-; public: virtual int __cdecl BROWSER_DOMAIN_LBI_PB::Compare(class LBI const * __ptr64)const  __ptr64
-?Compare@BROWSER_DOMAIN_LBI_PB@@UEBAHPEBVLBI@@@Z
-; public: int __cdecl CONTROLVAL_CID_PAIR::Compare(class CONTROLVAL_CID_PAIR const * __ptr64)const  __ptr64
-?Compare@CONTROLVAL_CID_PAIR@@QEBAHPEBV1@@Z
-; public: virtual int __cdecl LBI::Compare(class LBI const * __ptr64)const  __ptr64
-?Compare@LBI@@UEBAHPEBV1@@Z
-; public: virtual int __cdecl OLLB_ENTRY::Compare(class LBI const * __ptr64)const  __ptr64
-?Compare@OLLB_ENTRY@@UEBAHPEBVLBI@@@Z
-; protected: virtual int __cdecl STLBITEM::Compare(class LBI const * __ptr64)const  __ptr64
-?Compare@STLBITEM@@MEBAHPEBVLBI@@@Z
-; public: virtual int __cdecl USER_BROWSER_LBI::Compare(class LBI const * __ptr64)const  __ptr64
-?Compare@USER_BROWSER_LBI@@UEBAHPEBVLBI@@@Z
-; protected: virtual int __cdecl USER_BROWSER_LBI_CACHE::Compare(class LBI const * __ptr64,class LBI const * __ptr64)const  __ptr64
-?Compare@USER_BROWSER_LBI_CACHE@@MEBAHPEBVLBI@@0@Z
-; protected: virtual int __cdecl USER_BROWSER_LBI_CACHE::Compare(class LBI const * __ptr64,struct _DOMAIN_DISPLAY_USER const * __ptr64)const  __ptr64
-?Compare@USER_BROWSER_LBI_CACHE@@MEBAHPEBVLBI@@PEBU_DOMAIN_DISPLAY_USER@@@Z
-; public: int __cdecl USER_BROWSER_LBI::CompareAux(class LBI const * __ptr64)const  __ptr64
-?CompareAux@USER_BROWSER_LBI@@QEBAHPEBVLBI@@@Z
-; protected: static int __cdecl USER_BROWSER_LBI_CACHE::CompareCacheLBIs(struct _ULC_ENTRY_BASE const * __ptr64,struct _ULC_ENTRY_BASE const * __ptr64)
-?CompareCacheLBIs@USER_BROWSER_LBI_CACHE@@KAHPEBU_ULC_ENTRY_BASE@@0@Z
-; protected: static int __cdecl USER_LBI_CACHE::CompareLogonNames(void const * __ptr64,void const * __ptr64)
-?CompareLogonNames@USER_LBI_CACHE@@KAHPEBX0@Z
-; public: virtual int __cdecl LBI::Compare_HAWforHawaii(class NLS_STR const & __ptr64)const  __ptr64
-?Compare_HAWforHawaii@LBI@@UEBAHAEBVNLS_STR@@@Z
-; public: virtual int __cdecl USER_BROWSER_LBI::Compare_HAWforHawaii(class NLS_STR const & __ptr64)const  __ptr64
-?Compare_HAWforHawaii@USER_BROWSER_LBI@@UEBAHAEBVNLS_STR@@@Z
-; int __cdecl ComparepLBIs(class USER_BROWSER_LBI * __ptr64 const * __ptr64,class USER_BROWSER_LBI * __ptr64 const * __ptr64)
-?ComparepLBIs@@YAHPEBQEAVUSER_BROWSER_LBI@@0@Z
-; public: long __cdecl PROMPT_AND_CONNECT::Connect(void) __ptr64
-?Connect@PROMPT_AND_CONNECT@@QEAAJXZ
-; public: int __cdecl XYRECT::ContainsXY(class XYPOINT)const  __ptr64
-?ContainsXY@XYRECT@@QEBAHVXYPOINT@@@Z
-; protected: long __cdecl SLT_ELLIPSIS::ConvertAndSetStr(void) __ptr64
-?ConvertAndSetStr@SLT_ELLIPSIS@@IEAAJXZ
-; public: void __cdecl XYRECT::ConvertClientToScreen(struct HWND__ * __ptr64) __ptr64
-?ConvertClientToScreen@XYRECT@@QEAAXPEAUHWND__@@@Z
-; public: void __cdecl XYRECT::ConvertScreenToClient(struct HWND__ * __ptr64) __ptr64
-?ConvertScreenToClient@XYRECT@@QEAAXPEAUHWND__@@@Z
-; protected: virtual class LBI * __ptr64 __cdecl USER_BROWSER_LBI_CACHE::CreateLBI(struct _DOMAIN_DISPLAY_USER const * __ptr64) __ptr64
-?CreateLBI@USER_BROWSER_LBI_CACHE@@MEAAPEAVLBI@@PEBU_DOMAIN_DISPLAY_USER@@@Z
-; public: long __cdecl ACCOUNT_NAMES_MLE::CreateLBIListFromNames(unsigned short const * __ptr64,unsigned short const * __ptr64,class SLIST_OF_USER_BROWSER_LBI * __ptr64,class SLIST_OF_USER_BROWSER_LBI * __ptr64,long * __ptr64,class NLS_STR * __ptr64) __ptr64
-?CreateLBIListFromNames@ACCOUNT_NAMES_MLE@@QEAAJPEBG0PEAVSLIST_OF_USER_BROWSER_LBI@@1PEAJPEAVNLS_STR@@@Z
-; long __cdecl CreateLBIsFromSids(void * __ptr64 const * __ptr64,unsigned long,void * __ptr64 const,class LSA_POLICY * __ptr64,unsigned short const * __ptr64,class USER_BROWSER_LB * __ptr64,class SLIST_OF_USER_BROWSER_LBI * __ptr64)
-?CreateLBIsFromSids@@YAJPEBQEAXKQEAXPEAVLSA_POLICY@@PEBGPEAVUSER_BROWSER_LB@@PEAVSLIST_OF_USER_BROWSER_LBI@@@Z
-; private: void __cdecl GRAPHICAL_BUTTON::CtAux(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?CtAux@GRAPHICAL_BUTTON@@AEAAXPEBG00@Z
-; private: void __cdecl H_SPLITTER_BAR::CtAux(void) __ptr64
-?CtAux@H_SPLITTER_BAR@@AEAAXXZ
-; private: long __cdecl POPUP_MENU::CtAux(struct HMENU__ * __ptr64) __ptr64
-?CtAux@POPUP_MENU@@AEAAJPEAUHMENU__@@@Z
-; private: void __cdecl PROGRESS_CONTROL::CtAux(void) __ptr64
-?CtAux@PROGRESS_CONTROL@@AEAAXXZ
-; public: long __cdecl MENU_BASE::Delete(unsigned int,unsigned int)const  __ptr64
-?Delete@MENU_BASE@@QEBAJII@Z
-; public: void __cdecl LIST_CONTROL::DeleteAllItems(void) __ptr64
-?DeleteAllItems@LIST_CONTROL@@QEAAXXZ
-; protected: void __cdecl WIN32_THREAD::DeleteAndExit(unsigned int) __ptr64
-?DeleteAndExit@WIN32_THREAD@@IEAAXI@Z
-; public: void __cdecl HIER_LISTBOX::DeleteChildren(class HIER_LBI * __ptr64) __ptr64
-?DeleteChildren@HIER_LISTBOX@@QEAAXPEAVHIER_LBI@@@Z
-; public: void __cdecl DEVICE_COMBO::DeleteCurrentDeviceName(void) __ptr64
-?DeleteCurrentDeviceName@DEVICE_COMBO@@QEAAXXZ
-; public: int __cdecl HIER_LISTBOX::DeleteItem(int,int) __ptr64
-?DeleteItem@HIER_LISTBOX@@QEAAHHH@Z
-; public: int __cdecl LIST_CONTROL::DeleteItem(int) __ptr64
-?DeleteItem@LIST_CONTROL@@QEAAHH@Z
-; public: static void __cdecl BLT::DeregisterHelpFile(struct HINSTANCE__ * __ptr64,unsigned long)
-?DeregisterHelpFile@BLT@@SAXPEAUHINSTANCE__@@K@Z
-; public: long __cdecl POPUP_MENU::Destroy(void) __ptr64
-?Destroy@POPUP_MENU@@QEAAJXZ
-; protected: void __cdecl DIALOG_WINDOW::Dismiss(unsigned int) __ptr64
-?Dismiss@DIALOG_WINDOW@@IEAAXI@Z
-; protected: void __cdecl DIALOG_WINDOW::DismissMsg(long,unsigned int) __ptr64
-?DismissMsg@DIALOG_WINDOW@@IEAAXJI@Z
-; protected: virtual int __cdecl DISPATCHER::Dispatch(class EVENT const & __ptr64,unsigned long * __ptr64) __ptr64
-?Dispatch@DISPATCHER@@MEAAHAEBVEVENT@@PEAK@Z
-; protected: virtual int __cdecl H_SPLITTER_BAR::Dispatch(class EVENT const & __ptr64,unsigned long * __ptr64) __ptr64
-?Dispatch@H_SPLITTER_BAR@@MEAAHAEBVEVENT@@PEAK@Z
-; protected: virtual int __cdecl LB_COLUMN_HEADER::Dispatch(class EVENT const & __ptr64,unsigned long * __ptr64) __ptr64
-?Dispatch@LB_COLUMN_HEADER@@MEAAHAEBVEVENT@@PEAK@Z
-; protected: virtual __int64 __cdecl APP_WINDOW::DispatchMessageW(class EVENT const & __ptr64) __ptr64
-?DispatchMessageW@APP_WINDOW@@MEAA_JAEBVEVENT@@@Z
-; protected: virtual __int64 __cdecl CLIENT_WINDOW::DispatchMessageW(class EVENT const & __ptr64) __ptr64
-?DispatchMessageW@CLIENT_WINDOW@@MEAA_JAEBVEVENT@@@Z
-; protected: virtual void __cdecl PROC_TIMER::DispatchTimer(void) __ptr64
-?DispatchTimer@PROC_TIMER@@MEAAXXZ
-; protected: virtual void __cdecl TIMER::DispatchTimer(void) __ptr64
-?DispatchTimer@TIMER@@MEAAXXZ
-; protected: virtual void __cdecl TIMER_BASE::DispatchTimer(void) __ptr64
-?DispatchTimer@TIMER_BASE@@MEAAXXZ
-; protected: virtual void __cdecl WINDOW_TIMER::DispatchTimer(void) __ptr64
-?DispatchTimer@WINDOW_TIMER@@MEAAXXZ
-; private: void __cdecl APPLICATION::DisplayCtError(long) __ptr64
-?DisplayCtError@APPLICATION@@AEAAXJ@Z
-; protected: virtual void __cdecl SPIN_SLE_NUM_VALID::DisplayErrorMsg(void) __ptr64
-?DisplayErrorMsg@SPIN_SLE_NUM_VALID@@MEAAXXZ
-; unsigned int __cdecl DisplayGenericError(class OWNINGWND const & __ptr64,long,long,unsigned short const * __ptr64,unsigned short const * __ptr64,enum MSG_SEVERITY)
-?DisplayGenericError@@YAIAEBVOWNINGWND@@JJPEBG1W4MSG_SEVERITY@@@Z
-; unsigned int __cdecl DisplayGenericError(class OWNINGWND const & __ptr64,long,long,unsigned short const * __ptr64,enum MSG_SEVERITY)
-?DisplayGenericError@@YAIAEBVOWNINGWND@@JJPEBGW4MSG_SEVERITY@@@Z
-; private: void __cdecl SPIN_SLE_NUM::DisplayNum(unsigned long) __ptr64
-?DisplayNum@SPIN_SLE_NUM@@AEAAXK@Z
-; public: static __int64 __cdecl DIALOG_WINDOW::DlgProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?DlgProc@DIALOG_WINDOW@@SA_JPEAUHWND__@@I_K_J@Z
-; public: virtual long __cdecl SET_CONTROL::DoAdd(void) __ptr64
-?DoAdd@SET_CONTROL@@UEAAJXZ
-; private: long __cdecl SET_CONTROL::DoAddOrRemove(class LISTBOX * __ptr64,class LISTBOX * __ptr64) __ptr64
-?DoAddOrRemove@SET_CONTROL@@AEAAJPEAVLISTBOX@@0@Z
-; public: int __cdecl SPIN_GROUP::DoArrowCommand(unsigned int,unsigned short) __ptr64
-?DoArrowCommand@SPIN_GROUP@@QEAAHIG@Z
-; public: void __cdecl LOGON_HOURS_CONTROL::DoBanButton(void) __ptr64
-?DoBanButton@LOGON_HOURS_CONTROL@@QEAAXXZ
-; private: void __cdecl LOGON_HOURS_CONTROL::DoButtonClick(int) __ptr64
-?DoButtonClick@LOGON_HOURS_CONTROL@@AEAAXH@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DoButtonDownVisuals(void) __ptr64
-?DoButtonDownVisuals@LOGON_HOURS_CONTROL@@AEAAXXZ
-; private: void __cdecl LOGON_HOURS_CONTROL::DoButtonUpVisuals(int) __ptr64
-?DoButtonUpVisuals@LOGON_HOURS_CONTROL@@AEAAXH@Z
-; public: int __cdecl DISPATCHER::DoChar(class CHAR_EVENT const & __ptr64) __ptr64
-?DoChar@DISPATCHER@@QEAAHAEBVCHAR_EVENT@@@Z
-; public: int __cdecl SPIN_GROUP::DoChar(class CHAR_EVENT const & __ptr64) __ptr64
-?DoChar@SPIN_GROUP@@QEAAHAEBVCHAR_EVENT@@@Z
-; public: int __cdecl SPIN_GROUP::DoNewFocus(class SPIN_ITEM * __ptr64) __ptr64
-?DoNewFocus@SPIN_GROUP@@QEAAHPEAVSPIN_ITEM@@@Z
-; protected: virtual long __cdecl CANCEL_TASK_DIALOG::DoOneItem(unsigned __int64,int * __ptr64,int * __ptr64,long * __ptr64) __ptr64
-?DoOneItem@CANCEL_TASK_DIALOG@@MEAAJ_KPEAH1PEAJ@Z
-; public: void __cdecl LOGON_HOURS_CONTROL::DoPermitButton(void) __ptr64
-?DoPermitButton@LOGON_HOURS_CONTROL@@QEAAXXZ
-; public: virtual long __cdecl SET_CONTROL::DoRemove(void) __ptr64
-?DoRemove@SET_CONTROL@@UEAAJXZ
-; protected: long __cdecl NT_FIND_ACCOUNT_DIALOG::DoSearch(void) __ptr64
-?DoSearch@NT_FIND_ACCOUNT_DIALOG@@IEAAJXZ
-; public: int __cdecl DISPATCHER::DoUserMessage(class EVENT const & __ptr64) __ptr64
-?DoUserMessage@DISPATCHER@@QEAAHAEBVEVENT@@@Z
-; private: int __cdecl LOGON_HOURS_CONTROL::DrawAllButtons(class PAINT_DISPLAY_CONTEXT & __ptr64)const  __ptr64
-?DrawAllButtons@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@@Z
-; private: int __cdecl LOGON_HOURS_CONTROL::DrawBackground(class PAINT_DISPLAY_CONTEXT & __ptr64)const  __ptr64
-?DrawBackground@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawCurrentSelection(class DISPLAY_CONTEXT const & __ptr64)const  __ptr64
-?DrawCurrentSelection@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusOnCell(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
-?DrawFocusOnCell@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusOnCornerButton(class DISPLAY_CONTEXT const & __ptr64)const  __ptr64
-?DrawFocusOnCornerButton@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusOnDayButton(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
-?DrawFocusOnDayButton@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusOnHourButton(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
-?DrawFocusOnHourButton@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
-; public: void __cdecl DEVICE_CONTEXT::DrawFocusRect(struct tagRECT const * __ptr64)const  __ptr64
-?DrawFocusRect@DEVICE_CONTEXT@@QEBAXPEBUtagRECT@@@Z
-; protected: void __cdecl FOCUS_CHECKBOX::DrawFocusRect(class DEVICE_CONTEXT * __ptr64,struct tagRECT * __ptr64,int) __ptr64
-?DrawFocusRect@FOCUS_CHECKBOX@@IEAAXPEAVDEVICE_CONTEXT@@PEAUtagRECT@@H@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusSomewhere(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
-?DrawFocusSomewhere@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
-; private: int __cdecl LOGON_HOURS_CONTROL::DrawGridSetting(class PAINT_DISPLAY_CONTEXT & __ptr64)const  __ptr64
-?DrawGridSetting@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@@Z
-; private: int __cdecl LOGON_HOURS_CONTROL::DrawGridWires(class PAINT_DISPLAY_CONTEXT & __ptr64)const  __ptr64
-?DrawGridWires@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@@Z
-; private: int __cdecl APP_WINDOW::DrawIcon(void) __ptr64
-?DrawIcon@APP_WINDOW@@AEAAHXZ
-; public: long __cdecl APP_WINDOW::DrawMenuBar(void)const  __ptr64
-?DrawMenuBar@APP_WINDOW@@QEBAJXZ
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawOneCornerButton(class PAINT_DISPLAY_CONTEXT & __ptr64,class XYRECT const & __ptr64,int,struct HBRUSH__ * __ptr64,struct HPEN__ * __ptr64,struct HPEN__ * __ptr64)const  __ptr64
-?DrawOneCornerButton@LOGON_HOURS_CONTROL@@AEBAXAEAVPAINT_DISPLAY_CONTEXT@@AEBVXYRECT@@HPEAUHBRUSH__@@PEAUHPEN__@@3@Z
-; private: int __cdecl LOGON_HOURS_CONTROL::DrawOneDayBar(class PAINT_DISPLAY_CONTEXT & __ptr64,int,int,int,struct HBRUSH__ * __ptr64)const  __ptr64
-?DrawOneDayBar@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@HHHPEAUHBRUSH__@@@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawOneFlatButton(class PAINT_DISPLAY_CONTEXT & __ptr64,class XYRECT const & __ptr64,int,struct HBRUSH__ * __ptr64,struct HPEN__ * __ptr64,struct HPEN__ * __ptr64)const  __ptr64
-?DrawOneFlatButton@LOGON_HOURS_CONTROL@@AEBAXAEAVPAINT_DISPLAY_CONTEXT@@AEBVXYRECT@@HPEAUHBRUSH__@@PEAUHPEN__@@3@Z
-; public: void __cdecl DEVICE_CONTEXT::DrawRect(struct tagRECT const * __ptr64)const  __ptr64
-?DrawRect@DEVICE_CONTEXT@@QEBAXPEBUtagRECT@@@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawSelectionOnCell(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
-?DrawSelectionOnCell@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::DrawSelectionOnCells(class DISPLAY_CONTEXT const & __ptr64,int,int)const  __ptr64
-?DrawSelectionOnCells@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@HH@Z
-; public: int __cdecl DEVICE_CONTEXT::DrawTextW(class NLS_STR const & __ptr64,struct tagRECT * __ptr64,unsigned int) __ptr64
-?DrawTextW@DEVICE_CONTEXT@@QEAAHAEBVNLS_STR@@PEAUtagRECT@@I@Z
-; private: int __cdecl POPUP::Emergency(void)const  __ptr64
-?Emergency@POPUP@@AEBAHXZ
-; public: void __cdecl AUDIT_CHECKBOXES::Enable(int,int) __ptr64
-?Enable@AUDIT_CHECKBOXES@@QEAAXHH@Z
-; public: void __cdecl MAGIC_GROUP::Enable(int) __ptr64
-?Enable@MAGIC_GROUP@@QEAAXH@Z
-; public: void __cdecl MENUITEM::Enable(int) __ptr64
-?Enable@MENUITEM@@QEAAXH@Z
-; public: void __cdecl RADIO_GROUP::Enable(int) __ptr64
-?Enable@RADIO_GROUP@@QEAAXH@Z
-; public: void __cdecl SET_OF_AUDIT_CATEGORIES::Enable(int,int) __ptr64
-?Enable@SET_OF_AUDIT_CATEGORIES@@QEAAXHH@Z
-; public: void __cdecl TIMER_BASE::Enable(int) __ptr64
-?Enable@TIMER_BASE@@QEAAXH@Z
-; public: void __cdecl WINDOW::Enable(int) __ptr64
-?Enable@WINDOW@@QEAAXH@Z
-; protected: void __cdecl NT_USER_BROWSER_DIALOG::EnableBrowsing(int) __ptr64
-?EnableBrowsing@NT_USER_BROWSER_DIALOG@@IEAAXH@Z
-; protected: void __cdecl SET_CONTROL::EnableButtons(void) __ptr64
-?EnableButtons@SET_CONTROL@@IEAAXXZ
-; public: unsigned int __cdecl MENU_BASE::EnableItem(unsigned int,int,unsigned int)const  __ptr64
-?EnableItem@MENU_BASE@@QEBAIIHI@Z
-; public: void __cdecl SET_CONTROL::EnableMoves(int) __ptr64
-?EnableMoves@SET_CONTROL@@QEAAXH@Z
-; public: void __cdecl TRISTATE::EnableThirdState(int) __ptr64
-?EnableThirdState@TRISTATE@@QEAAXH@Z
-; public: static long __cdecl BLTIMP::EnterBLTCritSect(void)
-?EnterBLTCritSect@BLTIMP@@SAJXZ
-; public: static long __cdecl BLTIMP::EnterResourceCritSect(void)
-?EnterResourceCritSect@BLTIMP@@SAJXZ
-; public: long __cdecl MASK_MAP::EnumBits(class BITFIELD * __ptr64,int * __ptr64,int * __ptr64,int) __ptr64
-?EnumBits@MASK_MAP@@QEAAJPEAVBITFIELD@@PEAH1H@Z
-; public: long __cdecl MASK_MAP::EnumStrings(class NLS_STR * __ptr64,int * __ptr64,int * __ptr64,int) __ptr64
-?EnumStrings@MASK_MAP@@QEAAJPEAVNLS_STR@@PEAH1H@Z
-; protected: void __cdecl FOCUS_CHECKBOX::EraseFocusRect(class DEVICE_CONTEXT * __ptr64,struct tagRECT * __ptr64) __ptr64
-?EraseFocusRect@FOCUS_CHECKBOX@@IEAAXPEAVDEVICE_CONTEXT@@PEAUtagRECT@@@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::EraseSelection(class DISPLAY_CONTEXT const & __ptr64) __ptr64
-?EraseSelection@LOGON_HOURS_CONTROL@@AEAAXAEBVDISPLAY_CONTEXT@@@Z
-; protected: void __cdecl WIN32_THREAD::Exit(unsigned int) __ptr64
-?Exit@WIN32_THREAD@@IEAAXI@Z
-; public: long __cdecl DOMAIN_FILL_THREAD::ExitThread(void) __ptr64
-?ExitThread@DOMAIN_FILL_THREAD@@QEAAJXZ
-; public: long __cdecl FOCUSDLG_DATA_THREAD::ExitThread(void) __ptr64
-?ExitThread@FOCUSDLG_DATA_THREAD@@QEAAJXZ
-; private: int __cdecl HIER_LISTBOX::ExpandChildren(int,class HIER_LBI * __ptr64) __ptr64
-?ExpandChildren@HIER_LISTBOX@@AEAAHHPEAVHIER_LBI@@@Z
-; public: long __cdecl LM_OLLB::ExpandDomain(int) __ptr64
-?ExpandDomain@LM_OLLB@@QEAAJH@Z
-; public: long __cdecl LM_OLLB::ExpandDomain(void) __ptr64
-?ExpandDomain@LM_OLLB@@QEAAJXZ
-; public: long __cdecl HIER_LISTBOX::ExpandItem(int) __ptr64
-?ExpandItem@HIER_LISTBOX@@QEAAJH@Z
-; public: long __cdecl HIER_LISTBOX::ExpandItem(class HIER_LBI * __ptr64) __ptr64
-?ExpandItem@HIER_LISTBOX@@QEAAJPEAVHIER_LBI@@@Z
-; public: int __cdecl DEVICE_CONTEXT::ExtTextOutW(int,int,unsigned int,struct tagRECT const * __ptr64,class NLS_STR const & __ptr64,int * __ptr64) __ptr64
-?ExtTextOutW@DEVICE_CONTEXT@@QEAAHHHIPEBUtagRECT@@AEBVNLS_STR@@PEAH@Z
-; public: int __cdecl DEVICE_CONTEXT::ExtTextOutW(int,int,unsigned int,struct tagRECT const * __ptr64,unsigned short const * __ptr64,int,int * __ptr64) __ptr64
-?ExtTextOutW@DEVICE_CONTEXT@@QEAAHHHIPEBUtagRECT@@PEBGHPEAH@Z
-; public: long __cdecl NT_GROUP_BROWSER_LB::Fill(void * __ptr64 const * __ptr64,unsigned long,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
-?Fill@NT_GROUP_BROWSER_LB@@QEAAJPEBQEAXKPEBVSAM_DOMAIN@@PEAVLSA_POLICY@@PEBG@Z
-; public: long __cdecl OPEN_LBOX_BASE::Fill(void) __ptr64
-?Fill@OPEN_LBOX_BASE@@QEAAJXZ
-; public: long __cdecl USER_BROWSER_LBI_CACHE::Fill(class ADMIN_AUTHORITY * __ptr64,unsigned short const * __ptr64,unsigned long,int,int,int * __ptr64) __ptr64
-?Fill@USER_BROWSER_LBI_CACHE@@QEAAJPEAVADMIN_AUTHORITY@@PEBGKHHPEAH@Z
-; public: void __cdecl LM_OLLB::FillAllInfo(class BROWSE_DOMAIN_ENUM * __ptr64,class SERVER1_ENUM * __ptr64,unsigned short const * __ptr64) __ptr64
-?FillAllInfo@LM_OLLB@@QEAAXPEAVBROWSE_DOMAIN_ENUM@@PEAVSERVER1_ENUM@@PEBG@Z
-; private: void __cdecl MSGPOPUP_DIALOG::FillButtonArray(unsigned int,int * __ptr64,int * __ptr64) __ptr64
-?FillButtonArray@MSGPOPUP_DIALOG@@AEAAXIPEAH0@Z
-; private: long __cdecl DEVICE_COMBO::FillDevices(void) __ptr64
-?FillDevices@DEVICE_COMBO@@AEAAJXZ
-; private: long __cdecl LM_OLLB::FillDomains(unsigned long,unsigned short const * __ptr64) __ptr64
-?FillDomains@LM_OLLB@@AEAAJKPEBG@Z
-; public: long __cdecl NT_GROUP_BROWSER_LB::FillGlobalGroupMembers(class OS_SID const * __ptr64,class SAM_DOMAIN const * __ptr64,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
-?FillGlobalGroupMembers@NT_GROUP_BROWSER_LB@@QEAAJPEBVOS_SID@@PEBVSAM_DOMAIN@@1PEAVLSA_POLICY@@PEBG@Z
-; public: long __cdecl NT_GROUP_BROWSER_LB::FillLocalGroupMembers(class OS_SID const * __ptr64,class SAM_DOMAIN const * __ptr64,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
-?FillLocalGroupMembers@NT_GROUP_BROWSER_LB@@QEAAJPEBVOS_SID@@PEBVSAM_DOMAIN@@1PEAVLSA_POLICY@@PEBG@Z
-; private: long __cdecl LM_OLLB::FillServers(unsigned short const * __ptr64,unsigned int * __ptr64) __ptr64
-?FillServers@LM_OLLB@@AEAAJPEBGPEAI@Z
-; protected: virtual int __cdecl DIALOG_WINDOW::FilterMessage(struct tagMSG * __ptr64) __ptr64
-?FilterMessage@DIALOG_WINDOW@@MEAAHPEAUtagMSG@@@Z
-; protected: virtual int __cdecl HAS_MESSAGE_PUMP::FilterMessage(struct tagMSG * __ptr64) __ptr64
-?FilterMessage@HAS_MESSAGE_PUMP@@MEAAHPEAUtagMSG@@@Z
-; public: int __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::Find(class CONTROLVAL_CID_PAIR const & __ptr64)const  __ptr64
-?Find@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEBAHAEBVCONTROLVAL_CID_PAIR@@@Z
-; public: static class DIALOG_WINDOW * __ptr64 __cdecl HWND_DLGPTR_CACHE::Find(struct HWND__ * __ptr64)
-?Find@HWND_DLGPTR_CACHE@@SAPEAVDIALOG_WINDOW@@PEAUHWND__@@@Z
-; private: unsigned int __cdecl MAGIC_GROUP::FindAssocRadioButton(class CONTROL_VALUE * __ptr64) __ptr64
-?FindAssocRadioButton@MAGIC_GROUP@@AEAAIPEAVCONTROL_VALUE@@@Z
-; public: class BROWSER_DOMAIN * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::FindDomain(class OS_SID const * __ptr64) __ptr64
-?FindDomain@NT_USER_BROWSER_DIALOG@@QEAAPEAVBROWSER_DOMAIN@@PEBVOS_SID@@@Z
-; public: class UI_EXT * __ptr64 __cdecl UI_EXT_MGR::FindExtensionByDelta(unsigned long) __ptr64
-?FindExtensionByDelta@UI_EXT_MGR@@QEAAPEAVUI_EXT@@K@Z
-; public: class UI_EXT * __ptr64 __cdecl UI_EXT_MGR::FindExtensionByName(unsigned short const * __ptr64) __ptr64
-?FindExtensionByName@UI_EXT_MGR@@QEAAPEAVUI_EXT@@PEBG@Z
-; public: int __cdecl BLT_LISTBOX::FindItem(class LBI const & __ptr64)const  __ptr64
-?FindItem@BLT_LISTBOX@@QEBAHAEBVLBI@@@Z
-; public: int __cdecl OUTLINE_LISTBOX::FindItem(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?FindItem@OUTLINE_LISTBOX@@QEBAHPEBG0@Z
-; public: int __cdecl STRING_LIST_CONTROL::FindItem(unsigned short const * __ptr64)const  __ptr64
-?FindItem@STRING_LIST_CONTROL@@QEBAHPEBG@Z
-; public: int __cdecl STRING_LIST_CONTROL::FindItem(unsigned short const * __ptr64,int)const  __ptr64
-?FindItem@STRING_LIST_CONTROL@@QEBAHPEBGH@Z
-; public: int __cdecl STRING_LIST_CONTROL::FindItemExact(unsigned short const * __ptr64)const  __ptr64
-?FindItemExact@STRING_LIST_CONTROL@@QEBAHPEBG@Z
-; public: int __cdecl STRING_LIST_CONTROL::FindItemExact(unsigned short const * __ptr64,int)const  __ptr64
-?FindItemExact@STRING_LIST_CONTROL@@QEBAHPEBGH@Z
-; public: void __cdecl DEVICE_CONTEXT::FrameRect(struct tagRECT const * __ptr64,struct HBRUSH__ * __ptr64)const  __ptr64
-?FrameRect@DEVICE_CONTEXT@@QEBAXPEBUtagRECT@@PEAUHBRUSH__@@@Z
-; private: virtual long __cdecl SPIN_SLE_STR::GetAccKey(class NLS_STR * __ptr64) __ptr64
-?GetAccKey@SPIN_SLE_STR@@EEAAJPEAVNLS_STR@@@Z
-; protected: virtual long __cdecl SPIN_SLT_SEPARATOR::GetAccKey(class NLS_STR * __ptr64) __ptr64
-?GetAccKey@SPIN_SLT_SEPARATOR@@MEAAJPEAVNLS_STR@@@Z
-; private: long __cdecl MSG_DIALOG_BASE::GetAndSendText(void) __ptr64
-?GetAndSendText@MSG_DIALOG_BASE@@AEAAJXZ
-; public: unsigned long __cdecl DEVICE_CONTEXT::GetBkColor(void)const  __ptr64
-?GetBkColor@DEVICE_CONTEXT@@QEBAKXZ
-; public: long __cdecl BROWSER_DOMAIN::GetDomainInfo(class NT_USER_BROWSER_DIALOG * __ptr64,class ADMIN_AUTHORITY const * __ptr64) __ptr64
-?GetDomainInfo@BROWSER_DOMAIN@@QEAAJPEAVNT_USER_BROWSER_DIALOG@@PEBVADMIN_AUTHORITY@@@Z
-; public: long __cdecl UI_DOMAIN::GetInfo(void) __ptr64
-?GetInfo@UI_DOMAIN@@QEAAJXZ
-; public: long __cdecl APP_WINDOW::GetPlacement(struct tagWINDOWPLACEMENT * __ptr64)const  __ptr64
-?GetPlacement@APP_WINDOW@@QEBAJPEAUtagWINDOWPLACEMENT@@@Z
-; public: long __cdecl BROWSER_DOMAIN::GetQualifiedDomainName(class NLS_STR * __ptr64) __ptr64
-?GetQualifiedDomainName@BROWSER_DOMAIN@@QEAAJPEAVNLS_STR@@@Z
-; public: long __cdecl BROWSER_DOMAIN_LBI_PB::GetQualifiedDomainName(class NLS_STR * __ptr64) __ptr64
-?GetQualifiedDomainName@BROWSER_DOMAIN_LBI_PB@@QEAAJPEAVNLS_STR@@@Z
-; public: unsigned long __cdecl DEVICE_CONTEXT::GetTextColor(void)const  __ptr64
-?GetTextColor@DEVICE_CONTEXT@@QEBAKXZ
-; private: int __cdecl DISPLAY_MAP::GetTransColorIndex(unsigned long * __ptr64,int)const  __ptr64
-?GetTransColorIndex@DISPLAY_MAP@@AEBAHPEAKH@Z
-; protected: long __cdecl NT_USER_BROWSER_DIALOG::GetTrustedDomainList(unsigned short const * __ptr64,class BROWSER_DOMAIN * __ptr64 * __ptr64,class BROWSER_DOMAIN_CB * __ptr64,class ADMIN_AUTHORITY const * __ptr64) __ptr64
-?GetTrustedDomainList@NT_USER_BROWSER_DIALOG@@IEAAJPEBGPEAPEAVBROWSER_DOMAIN@@PEAVBROWSER_DOMAIN_CB@@PEBVADMIN_AUTHORITY@@@Z
-; public: int __cdecl SET_CONTROL::HandleOnLMouseButtonDown(class LISTBOX * __ptr64,class CUSTOM_CONTROL * __ptr64,class MOUSE_EVENT const & __ptr64) __ptr64
-?HandleOnLMouseButtonDown@SET_CONTROL@@QEAAHPEAVLISTBOX@@PEAVCUSTOM_CONTROL@@AEBVMOUSE_EVENT@@@Z
-; public: int __cdecl SET_CONTROL::HandleOnLMouseButtonUp(class LISTBOX * __ptr64,class CUSTOM_CONTROL * __ptr64,class MOUSE_EVENT const & __ptr64) __ptr64
-?HandleOnLMouseButtonUp@SET_CONTROL@@QEAAHPEAVLISTBOX@@PEAVCUSTOM_CONTROL@@AEBVMOUSE_EVENT@@@Z
-; public: int __cdecl SET_CONTROL::HandleOnMouseMove(class LISTBOX * __ptr64,class MOUSE_EVENT const & __ptr64) __ptr64
-?HandleOnMouseMove@SET_CONTROL@@QEAAHPEAVLISTBOX@@AEBVMOUSE_EVENT@@@Z
-; public: int __cdecl HIER_LBI::HasChildren(void) __ptr64
-?HasChildren@HIER_LBI@@QEAAHXZ
-; public: int __cdecl WINDOW::HasFocus(void)const  __ptr64
-?HasFocus@WINDOW@@QEBAHXZ
-; public: static class DISPATCHER * __ptr64 __cdecl ASSOCHWNDDISP::HwndToPdispatch(struct HWND__ * __ptr64)
-?HwndToPdispatch@ASSOCHWNDDISP@@SAPEAVDISPATCHER@@PEAUHWND__@@@Z
-; public: static class DIALOG_WINDOW * __ptr64 __cdecl ASSOCHWNDPDLG::HwndToPdlg(struct HWND__ * __ptr64)
-?HwndToPdlg@ASSOCHWNDPDLG@@SAPEAVDIALOG_WINDOW@@PEAUHWND__@@@Z
-; public: static class CLIENT_WINDOW * __ptr64 __cdecl ASSOCHWNDPWND::HwndToPwnd(struct HWND__ * __ptr64)
-?HwndToPwnd@ASSOCHWNDPWND@@SAPEAVCLIENT_WINDOW@@PEAUHWND__@@@Z
-; private: static class CLIENT_WINDOW * __ptr64 __cdecl CLIENT_WINDOW::HwndToPwnd(struct HWND__ * __ptr64)
-?HwndToPwnd@CLIENT_WINDOW@@CAPEAV1@PEAUHWND__@@@Z
-; private: static class DIALOG_WINDOW * __ptr64 __cdecl DIALOG_WINDOW::HwndToPwnd(struct HWND__ * __ptr64)
-?HwndToPwnd@DIALOG_WINDOW@@CAPEAV1@PEAUHWND__@@@Z
-; protected: static class DISPATCHER * __ptr64 __cdecl DISPATCHER::HwndToPwnd(struct HWND__ * __ptr64)
-?HwndToPwnd@DISPATCHER@@KAPEAV1@PEAUHWND__@@@Z
-; public: static void * __ptr64 __cdecl ASSOCHWNDTHIS::HwndToThis(struct HWND__ * __ptr64)
-?HwndToThis@ASSOCHWNDTHIS@@SAPEAXPEAUHWND__@@@Z
-; public: int __cdecl BASE_SET_FOCUS_DLG::InRasMode(void)const  __ptr64
-?InRasMode@BASE_SET_FOCUS_DLG@@QEBAHXZ
-; public: int __cdecl XYPOINT::InRect(class XYRECT const & __ptr64)const  __ptr64
-?InRect@XYPOINT@@QEBAHAEBVXYRECT@@@Z
-; public: virtual void __cdecl CONTROL_WINDOW::IndicateError(long) __ptr64
-?IndicateError@CONTROL_WINDOW@@UEAAXJ@Z
-; public: virtual void __cdecl SLE::IndicateError(long) __ptr64
-?IndicateError@SLE@@UEAAXJ@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::Inflate(int,int) __ptr64
-?Inflate@XYRECT@@QEAAAEAV1@HH@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::Inflate(class XYDIMENSION) __ptr64
-?Inflate@XYRECT@@QEAAAEAV1@VXYDIMENSION@@@Z
-; public: static long __cdecl BASE_ELLIPSIS::Init(void)
-?Init@BASE_ELLIPSIS@@SAJXZ
-; public: static long __cdecl BLT::Init(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int)
-?Init@BLT@@SAJPEAUHINSTANCE__@@IIII@Z
-; public: static long __cdecl BLTIMP::Init(void)
-?Init@BLTIMP@@SAJXZ
-; public: static long __cdecl BLT_MASTER_TIMER::Init(void)
-?Init@BLT_MASTER_TIMER@@SAJXZ
-; public: static long __cdecl CLIENT_WINDOW::Init(void)
-?Init@CLIENT_WINDOW@@SAJXZ
-; public: static long __cdecl POPUP::Init(void)
-?Init@POPUP@@SAJXZ
-; public: long __cdecl SLE_STRLB_GROUP::Init(class STRLIST * __ptr64) __ptr64
-?Init@SLE_STRLB_GROUP@@QEAAJPEAVSTRLIST@@@Z
-; public: static void __cdecl WIN32_FONT_PICKER::InitCHOOSEFONT(struct tagCHOOSEFONTW * __ptr64,struct tagLOGFONTW * __ptr64,struct HWND__ * __ptr64)
-?InitCHOOSEFONT@WIN32_FONT_PICKER@@SAXPEAUtagCHOOSEFONTW@@PEAUtagLOGFONTW@@PEAUHWND__@@@Z
-; public: static long __cdecl BLT::InitDLL(void)
-?InitDLL@BLT@@SAJXZ
-; protected: void __cdecl GET_FNAME_BASE_DLG::InitialOFN(void) __ptr64
-?InitialOFN@GET_FNAME_BASE_DLG@@IEAAXXZ
-; private: long __cdecl SPIN_SLE_STR::Initialize(long,class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-?Initialize@SPIN_SLE_STR@@AEAAJJPEAVOWNER_WINDOW@@I@Z
-; private: long __cdecl SPIN_SLE_STR::Initialize(unsigned short const * __ptr64 * __ptr64 const,class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
-?Initialize@SPIN_SLE_STR@@AEAAJQEAPEBGPEAVOWNER_WINDOW@@I@Z
-; private: long __cdecl SPIN_SLT_SEPARATOR::Initialize(void) __ptr64
-?Initialize@SPIN_SLT_SEPARATOR@@AEAAJXZ
-; public: long __cdecl MENU_BASE::Insert(unsigned short const * __ptr64,unsigned int,unsigned int,unsigned int)const  __ptr64
-?Insert@MENU_BASE@@QEBAJPEBGIII@Z
-; public: long __cdecl MENU_BASE::Insert(unsigned short const * __ptr64,unsigned int,struct HMENU__ * __ptr64,unsigned int)const  __ptr64
-?Insert@MENU_BASE@@QEBAJPEBGIPEAUHMENU__@@I@Z
-; public: int __cdecl BLT_LISTBOX::InsertItem(int,class LBI * __ptr64) __ptr64
-?InsertItem@BLT_LISTBOX@@QEAAHHPEAVLBI@@@Z
-; public: int __cdecl STRING_LIST_CONTROL::InsertItem(int,class NLS_STR const & __ptr64) __ptr64
-?InsertItem@STRING_LIST_CONTROL@@QEAAHHAEBVNLS_STR@@@Z
-; public: int __cdecl STRING_LIST_CONTROL::InsertItem(int,unsigned short const * __ptr64) __ptr64
-?InsertItem@STRING_LIST_CONTROL@@QEAAHHPEBG@Z
-; protected: int __cdecl LIST_CONTROL::InsertItemData(int,void * __ptr64) __ptr64
-?InsertItemData@LIST_CONTROL@@IEAAHHPEAX@Z
-; public: long __cdecl NLS_STR::InsertParams(class NLS_STR const & __ptr64) __ptr64
-?InsertParams@NLS_STR@@QEAAJAEBV1@@Z
-; public: long __cdecl MENU_BASE::InsertSeparator(unsigned int,unsigned int)const  __ptr64
-?InsertSeparator@MENU_BASE@@QEBAJII@Z
-; public: long __cdecl BLT_MASTER_TIMER::InsertTimer(class TIMER_BASE * __ptr64) __ptr64
-?InsertTimer@BLT_MASTER_TIMER@@QEAAJPEAVTIMER_BASE@@@Z
-; public: void __cdecl WINDOW::Invalidate(class XYRECT const & __ptr64) __ptr64
-?Invalidate@WINDOW@@QEAAXAEBVXYRECT@@@Z
-; public: void __cdecl WINDOW::Invalidate(int) __ptr64
-?Invalidate@WINDOW@@QEAAXH@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::InvalidateButton(int) __ptr64
-?InvalidateButton@LOGON_HOURS_CONTROL@@AEAAXH@Z
-; public: void __cdecl LISTBOX::InvalidateItem(int,int) __ptr64
-?InvalidateItem@LISTBOX@@QEAAXHH@Z
-; private: void __cdecl H_SPLITTER_BAR::InvertDragBar(class XYPOINT const & __ptr64) __ptr64
-?InvertDragBar@H_SPLITTER_BAR@@AEAAXAEBVXYPOINT@@@Z
-; public: void __cdecl DEVICE_CONTEXT::InvertRect(struct tagRECT const * __ptr64)const  __ptr64
-?InvertRect@DEVICE_CONTEXT@@QEBAXPEBUtagRECT@@@Z
-; public: int __cdecl INTL_PROFILE::Is24Hour(void)const  __ptr64
-?Is24Hour@INTL_PROFILE@@QEBAHXZ
-; public: int __cdecl ACTIVATION_EVENT::IsActivating(void)const  __ptr64
-?IsActivating@ACTIVATION_EVENT@@QEBAHXZ
-; public: int __cdecl SPIN_GROUP::IsActive(void)const  __ptr64
-?IsActive@SPIN_GROUP@@QEBAHXZ
-; public: int __cdecl ASSOCHCFILE::IsAssociatedHC(unsigned long)const  __ptr64
-?IsAssociatedHC@ASSOCHCFILE@@QEBAHK@Z
-; protected: int __cdecl HEAP_BASE::IsAutoReadjusting(void)const  __ptr64
-?IsAutoReadjusting@HEAP_BASE@@IEBAHXZ
-; protected: int __cdecl NT_USER_BROWSER_DIALOG::IsBrowsingEnabled(void)const  __ptr64
-?IsBrowsingEnabled@NT_USER_BROWSER_DIALOG@@IEBAHXZ
-; private: int __cdecl LOGON_HOURS_CONTROL::IsButtonACell(int)const  __ptr64
-?IsButtonACell@LOGON_HOURS_CONTROL@@AEBAHH@Z
-; public: int __cdecl MENUITEM::IsChecked(void)const  __ptr64
-?IsChecked@MENUITEM@@QEBAHXZ
-; public: int __cdecl WINDOW::IsChild(void)const  __ptr64
-?IsChild@WINDOW@@QEBAHXZ
-; public: static int __cdecl WINDOW::IsClientGeneratedMessage(void)
-?IsClientGeneratedMessage@WINDOW@@SAHXZ
-; public: int __cdecl LIST_CONTROL::IsCombo(void)const  __ptr64
-?IsCombo@LIST_CONTROL@@QEBAHXZ
-; public: int __cdecl PROMPT_AND_CONNECT::IsConnected(void) __ptr64
-?IsConnected@PROMPT_AND_CONNECT@@QEAAHXZ
-; private: int __cdecl BLT_DATE_SPIN_GROUP::IsConstructionFail(class CONTROL_WINDOW * __ptr64) __ptr64
-?IsConstructionFail@BLT_DATE_SPIN_GROUP@@AEAAHPEAVCONTROL_WINDOW@@@Z
-; private: int __cdecl BLT_TIME_SPIN_GROUP::IsConstructionFail(class CONTROL_WINDOW * __ptr64) __ptr64
-?IsConstructionFail@BLT_TIME_SPIN_GROUP@@AEAAHPEAVCONTROL_WINDOW@@@Z
-; public: int __cdecl INTL_PROFILE::IsDayLZero(void)const  __ptr64
-?IsDayLZero@INTL_PROFILE@@QEBAHXZ
-; private: virtual int __cdecl HIER_LBI::IsDestroyable(void) __ptr64
-?IsDestroyable@HIER_LBI@@EEAAHXZ
-; protected: virtual int __cdecl LBI::IsDestroyable(void) __ptr64
-?IsDestroyable@LBI@@MEAAHXZ
-; protected: int __cdecl NT_USER_BROWSER_DIALOG::IsDomainComboDropped(void)const  __ptr64
-?IsDomainComboDropped@NT_USER_BROWSER_DIALOG@@IEBAHXZ
-; public: int __cdecl COMBOBOX::IsDropDown(void)const  __ptr64
-?IsDropDown@COMBOBOX@@QEBAHXZ
-; public: int __cdecl COMBOBOX::IsDropDownList(void)const  __ptr64
-?IsDropDownList@COMBOBOX@@QEBAHXZ
-; public: int __cdecl BLT_COMBOBOX::IsDropped(void)const  __ptr64
-?IsDropped@BLT_COMBOBOX@@QEBAHXZ
-; public: int __cdecl XYRECT::IsEmpty(void)const  __ptr64
-?IsEmpty@XYRECT@@QEBAHXZ
-; public: int __cdecl MENUITEM::IsEnabled(void)const  __ptr64
-?IsEnabled@MENUITEM@@QEBAHXZ
-; public: int __cdecl TIMER_BASE::IsEnabled(void)const  __ptr64
-?IsEnabled@TIMER_BASE@@QEBAHXZ
-; public: int __cdecl WINDOW::IsEnabled(void)const  __ptr64
-?IsEnabled@WINDOW@@QEBAHXZ
-; protected: int __cdecl BASE_SET_FOCUS_DLG::IsExpanded(void)const  __ptr64
-?IsExpanded@BASE_SET_FOCUS_DLG@@IEBAHXZ
-; public: int __cdecl OLLB_ENTRY::IsExpanded(void)const  __ptr64
-?IsExpanded@OLLB_ENTRY@@QEBAHXZ
-; public: int __cdecl AUDIT_CHECKBOXES::IsFailedChecked(void) __ptr64
-?IsFailedChecked@AUDIT_CHECKBOXES@@QEAAHXZ
-; protected: int __cdecl CANCEL_TASK_DIALOG::IsFinished(void)const  __ptr64
-?IsFinished@CANCEL_TASK_DIALOG@@IEBAHXZ
-; public: int __cdecl GET_FNAME_BASE_DLG::IsHelpActive(void) __ptr64
-?IsHelpActive@GET_FNAME_BASE_DLG@@QEAAHXZ
-; public: int __cdecl INTL_PROFILE::IsHourLZero(void)const  __ptr64
-?IsHourLZero@INTL_PROFILE@@QEBAHXZ
-; protected: int __cdecl CANCEL_TASK_DIALOG::IsInTimer(void)const  __ptr64
-?IsInTimer@CANCEL_TASK_DIALOG@@IEBAHXZ
-; public: int __cdecl BROWSER_DOMAIN::IsInitialized(void)const  __ptr64
-?IsInitialized@BROWSER_DOMAIN@@QEBAHXZ
-; public: virtual int __cdecl USER_LBI_CACHE::IsItemAvailable(int) __ptr64
-?IsItemAvailable@USER_LBI_CACHE@@UEAAHH@Z
-; public: int __cdecl LIST_CONTROL::IsItemSelected(unsigned int)const  __ptr64
-?IsItemSelected@LIST_CONTROL@@QEBAHI@Z
-; public: int __cdecl RADIO_GROUP::IsMember(unsigned int) __ptr64
-?IsMember@RADIO_GROUP@@QEAAHI@Z
-; public: int __cdecl CLIENT_WINDOW::IsMinimized(void)const  __ptr64
-?IsMinimized@CLIENT_WINDOW@@QEBAHXZ
-; public: int __cdecl SPIN_GROUP::IsModified(void)const  __ptr64
-?IsModified@SPIN_GROUP@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::IsMonthLZero(void)const  __ptr64
-?IsMonthLZero@INTL_PROFILE@@QEBAHXZ
-; public: int __cdecl LIST_CONTROL::IsMultSel(void)const  __ptr64
-?IsMultSel@LIST_CONTROL@@QEBAHXZ
-; private: int __cdecl SET_CONTROL::IsOnDragStart(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
-?IsOnDragStart@SET_CONTROL@@AEBAHPEAVLISTBOX@@0AEBVXYPOINT@@@Z
-; private: int __cdecl SET_CONTROL::IsOnSelectedItem(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
-?IsOnSelectedItem@SET_CONTROL@@AEBAHPEAVLISTBOX@@0AEBVXYPOINT@@@Z
-; private: int __cdecl SET_CONTROL::IsOverTarget(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
-?IsOverTarget@SET_CONTROL@@AEBAHPEAVLISTBOX@@0AEBVXYPOINT@@@Z
-; private: int __cdecl HIER_LBI::IsParent(class HIER_LBI * __ptr64) __ptr64
-?IsParent@HIER_LBI@@AEAAHPEAV1@@Z
-; public: int __cdecl MENU_BASE::IsPopup(int)const  __ptr64
-?IsPopup@MENU_BASE@@QEBAHH@Z
-; public: int __cdecl MASK_MAP::IsPresent(class BITFIELD * __ptr64) __ptr64
-?IsPresent@MASK_MAP@@QEAAHPEAVBITFIELD@@@Z
-; protected: virtual int __cdecl DIALOG_WINDOW::IsPumpFinished(void) __ptr64
-?IsPumpFinished@DIALOG_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl HAS_MESSAGE_PUMP::IsPumpFinished(void) __ptr64
-?IsPumpFinished@HAS_MESSAGE_PUMP@@MEAAHXZ
-; public: int __cdecl LISTBOX::IsReadOnly(void)const  __ptr64
-?IsReadOnly@LISTBOX@@QEBAHXZ
-; protected: int __cdecl HEAP_BASE::IsRoot(int)const  __ptr64
-?IsRoot@HEAP_BASE@@IEBAHH@Z
-; public: int __cdecl WIN32_THREAD::IsRunnable(void)const  __ptr64
-?IsRunnable@WIN32_THREAD@@QEBAHXZ
-; protected: int __cdecl USER_BROWSER_LB::IsSelectionExpandableGroup(class USER_BROWSER_LBI const * __ptr64,int)const  __ptr64
-?IsSelectionExpandableGroup@USER_BROWSER_LB@@IEBAHPEBVUSER_BROWSER_LBI@@H@Z
-; public: int __cdecl USER_BROWSER_LB::IsSelectionExpandableGroup(void)const  __ptr64
-?IsSelectionExpandableGroup@USER_BROWSER_LB@@QEBAHXZ
-; public: int __cdecl MENU_BASE::IsSeparator(int)const  __ptr64
-?IsSeparator@MENU_BASE@@QEBAHH@Z
-; protected: int __cdecl NT_USER_BROWSER_DIALOG::IsShowUsersButtonUsed(void)const  __ptr64
-?IsShowUsersButtonUsed@NT_USER_BROWSER_DIALOG@@IEBAHXZ
-; public: int __cdecl COMBOBOX::IsSimple(void)const  __ptr64
-?IsSimple@COMBOBOX@@QEBAHXZ
-; public: int __cdecl ACCOUNT_NAMES_MLE::IsSingleSelect(void)const  __ptr64
-?IsSingleSelect@ACCOUNT_NAMES_MLE@@QEBAHXZ
-; public: int __cdecl NT_USER_BROWSER_DIALOG::IsSingleSelection(void)const  __ptr64
-?IsSingleSelection@NT_USER_BROWSER_DIALOG@@QEBAHXZ
-; public: virtual int __cdecl CHANGEABLE_SPIN_ITEM::IsStatic(void)const  __ptr64
-?IsStatic@CHANGEABLE_SPIN_ITEM@@UEBAHXZ
-; public: virtual int __cdecl STATIC_SPIN_ITEM::IsStatic(void)const  __ptr64
-?IsStatic@STATIC_SPIN_ITEM@@UEBAHXZ
-; public: int __cdecl AUDIT_CHECKBOXES::IsSuccessChecked(void) __ptr64
-?IsSuccessChecked@AUDIT_CHECKBOXES@@QEAAHXZ
-; public: static int __cdecl APPLICATION::IsSystemInitialized(void)
-?IsSystemInitialized@APPLICATION@@SAHXZ
-; public: int __cdecl BROWSER_DOMAIN::IsTargetDomain(void)const  __ptr64
-?IsTargetDomain@BROWSER_DOMAIN@@QEBAHXZ
-; public: int __cdecl BROWSER_DOMAIN_LBI::IsTargetDomain(void)const  __ptr64
-?IsTargetDomain@BROWSER_DOMAIN_LBI@@QEBAHXZ
-; public: int __cdecl BROWSER_DOMAIN_LBI_PB::IsTargetDomain(void)const  __ptr64
-?IsTargetDomain@BROWSER_DOMAIN_LBI_PB@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::IsTimePrefix(void)const  __ptr64
-?IsTimePrefix@INTL_PROFILE@@QEBAHXZ
-; public: int __cdecl COMBOBOX::IsUserEdittable(void)const  __ptr64
-?IsUserEdittable@COMBOBOX@@QEBAHXZ
-; public: int __cdecl BLT_DATE_SPIN_GROUP::IsValid(void) __ptr64
-?IsValid@BLT_DATE_SPIN_GROUP@@QEAAHXZ
-; public: int __cdecl BLT_TIME_SPIN_GROUP::IsValid(void) __ptr64
-?IsValid@BLT_TIME_SPIN_GROUP@@QEAAHXZ
-; protected: virtual int __cdecl DIALOG_WINDOW::IsValid(void) __ptr64
-?IsValid@DIALOG_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl SPIN_SLE_NUM_VALID::IsValid(void) __ptr64
-?IsValid@SPIN_SLE_NUM_VALID@@MEAAHXZ
-; protected: int __cdecl SPIN_GROUP::IsValidField(void) __ptr64
-?IsValidField@SPIN_GROUP@@IEAAHXZ
-; protected: int __cdecl BASE_ELLIPSIS::IsValidStyle(enum ELLIPSIS_STYLE)const  __ptr64
-?IsValidStyle@BASE_ELLIPSIS@@IEBAHW4ELLIPSIS_STYLE@@@Z
-; protected: int __cdecl ACCOUNT_NAMES_MLE::IsWellKnownAccount(class NLS_STR const & __ptr64) __ptr64
-?IsWellKnownAccount@ACCOUNT_NAMES_MLE@@IEAAHAEBVNLS_STR@@@Z
-; public: int __cdecl BROWSER_DOMAIN::IsWinNTMachine(void)const  __ptr64
-?IsWinNTMachine@BROWSER_DOMAIN@@QEBAHXZ
-; protected: int __cdecl H_SPLITTER_BAR::IsWithinHitZone(class XYPOINT const & __ptr64) __ptr64
-?IsWithinHitZone@H_SPLITTER_BAR@@IEAAHAEBVXYPOINT@@@Z
-; private: int __cdecl SET_CONTROL::IsWithinHitZone(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
-?IsWithinHitZone@SET_CONTROL@@AEBAHPEAVLISTBOX@@0AEBVXYPOINT@@@Z
-; public: int __cdecl INTL_PROFILE::IsYrCentury(void)const  __ptr64
-?IsYrCentury@INTL_PROFILE@@QEBAHXZ
-; public: static int __cdecl MENUITEM::ItemExists(struct HMENU__ * __ptr64,unsigned int)
-?ItemExists@MENUITEM@@SAHPEAUHMENU__@@I@Z
-; public: static int __cdecl MENUITEM::ItemExists(class APP_WINDOW * __ptr64,unsigned int)
-?ItemExists@MENUITEM@@SAHPEAVAPP_WINDOW@@I@Z
-; public: int __cdecl SPIN_GROUP::JumpNextField(void) __ptr64
-?JumpNextField@SPIN_GROUP@@QEAAHXZ
-; public: int __cdecl SPIN_GROUP::JumpPrevField(void) __ptr64
-?JumpPrevField@SPIN_GROUP@@QEAAHXZ
-; private: void __cdecl DIALOG_WINDOW::LaunchHelp(void) __ptr64
-?LaunchHelp@DIALOG_WINDOW@@AEAAXXZ
-; public: static void __cdecl BLTIMP::LeaveBLTCritSect(void)
-?LeaveBLTCritSect@BLTIMP@@SAXXZ
-; public: static void __cdecl BLTIMP::LeaveResourceCritSect(void)
-?LeaveResourceCritSect@BLTIMP@@SAXXZ
-; public: void __cdecl DEVICE_CONTEXT::LineTo(int,int)const  __ptr64
-?LineTo@DEVICE_CONTEXT@@QEBAXHH@Z
-; public: static struct HICON__ * __ptr64 __cdecl CURSOR::Load(class IDRESOURCE const & __ptr64)
-?Load@CURSOR@@SAPEAUHICON__@@AEBVIDRESOURCE@@@Z
-; public: long __cdecl NLS_STR::Load(long) __ptr64
-?Load@NLS_STR@@QEAAJJ@Z
-; public: virtual unsigned int __cdecl UI_EXT_MGR::LoadExtensions(void) __ptr64
-?LoadExtensions@UI_EXT_MGR@@UEAAIXZ
-; private: long __cdecl LOGON_HOURS_CONTROL::LoadLabels(long) __ptr64
-?LoadLabels@LOGON_HOURS_CONTROL@@AEAAJJ@Z
-; private: class NLS_STR * __ptr64 __cdecl POPUP::LoadMessage(long,int) __ptr64
-?LoadMessage@POPUP@@AEAAPEAVNLS_STR@@JH@Z
-; public: static struct HICON__ * __ptr64 __cdecl CURSOR::LoadSystem(class IDRESOURCE const & __ptr64)
-?LoadSystem@CURSOR@@SAPEAUHICON__@@AEBVIDRESOURCE@@@Z
-; public: long __cdecl NLS_STR::LoadSystem(long) __ptr64
-?LoadSystem@NLS_STR@@QEAAJJ@Z
-; protected: virtual void __cdecl USER_LBI_CACHE::LockCache(void) __ptr64
-?LockCache@USER_LBI_CACHE@@MEAAXXZ
-; void __cdecl MLTextPaint(struct HDC__ * __ptr64,unsigned short const * __ptr64,struct tagRECT const * __ptr64)
-?MLTextPaint@@YAXPEAUHDC__@@PEBGPEBUtagRECT@@@Z
-; protected: virtual long __cdecl DOMAIN_FILL_THREAD::Main(void) __ptr64
-?Main@DOMAIN_FILL_THREAD@@MEAAJXZ
-; protected: virtual long __cdecl FOCUSDLG_DATA_THREAD::Main(void) __ptr64
-?Main@FOCUSDLG_DATA_THREAD@@MEAAJXZ
-; protected: virtual long __cdecl WIN32_THREAD::Main(void) __ptr64
-?Main@WIN32_THREAD@@MEAAJXZ
-; public: void __cdecl PUSH_BUTTON::MakeDefault(void) __ptr64
-?MakeDefault@PUSH_BUTTON@@QEAAXXZ
-; private: static int __cdecl POPUP::MapButton(unsigned int)
-?MapButton@POPUP@@CAHI@Z
-; public: static long __cdecl BLT::MapLastError(long)
-?MapLastError@BLT@@SAJJ@Z
-; public: static long __cdecl POPUP::MapMessage(long)
-?MapMessage@POPUP@@SAJJ@Z
-; protected: virtual int __cdecl APP_WINDOW::MayRestore(void) __ptr64
-?MayRestore@APP_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl CANCEL_TASK_DIALOG::MayRun(void) __ptr64
-?MayRun@CANCEL_TASK_DIALOG@@MEAAHXZ
-; protected: virtual int __cdecl DIALOG_WINDOW::MayRun(void) __ptr64
-?MayRun@DIALOG_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl APP_WINDOW::MayShutdown(void) __ptr64
-?MayShutdown@APP_WINDOW@@MEAAHXZ
-; public: virtual void __cdecl UI_MENU_EXT_MGR::MenuInitExtensions(void) __ptr64
-?MenuInitExtensions@UI_MENU_EXT_MGR@@UEAAXXZ
-; public: long __cdecl MENU_BASE::Modify(unsigned short const * __ptr64,unsigned int,unsigned int,unsigned int)const  __ptr64
-?Modify@MENU_BASE@@QEBAJPEBGIII@Z
-; public: long __cdecl MENU_BASE::Modify(unsigned short const * __ptr64,unsigned int,struct HMENU__ * __ptr64,unsigned int)const  __ptr64
-?Modify@MENU_BASE@@QEBAJPEBGIPEAUHMENU__@@I@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusDown(void) __ptr64
-?MoveFocusDown@LOGON_HOURS_CONTROL@@AEAAXXZ
-; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusLeft(void) __ptr64
-?MoveFocusLeft@LOGON_HOURS_CONTROL@@AEAAXXZ
-; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusRight(void) __ptr64
-?MoveFocusRight@LOGON_HOURS_CONTROL@@AEAAXXZ
-; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusTo(int) __ptr64
-?MoveFocusTo@LOGON_HOURS_CONTROL@@AEAAXH@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusUp(void) __ptr64
-?MoveFocusUp@LOGON_HOURS_CONTROL@@AEAAXXZ
-; protected: virtual long __cdecl BLT_SET_CONTROL::MoveItems(class LISTBOX * __ptr64,class LISTBOX * __ptr64) __ptr64
-?MoveItems@BLT_SET_CONTROL@@MEAAJPEAVLISTBOX@@0@Z
-; public: void __cdecl DEVICE_CONTEXT::MoveTo(int,int)const  __ptr64
-?MoveTo@DEVICE_CONTEXT@@QEBAXHH@Z
-; private: static int __cdecl MSGPOPUP_DIALOG::Msg2HC(long,unsigned long * __ptr64)
-?Msg2HC@MSGPOPUP_DIALOG@@CAHJPEAK@Z
-; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR * __ptr64 * __ptr64 const,unsigned int)
-?MsgPopup@@YAHAEBVOWNINGWND@@JJW4MSG_SEVERITY@@KIQEAPEAVNLS_STR@@I@Z
-; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY)
-?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@@Z
-; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY,unsigned int,unsigned int)
-?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@II@Z
-; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int)
-?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@IPEBG2I@Z
-; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY,unsigned int,unsigned short const * __ptr64,unsigned int)
-?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@IPEBGI@Z
-; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR * __ptr64 * __ptr64 const,unsigned int)
-?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@KIQEAPEAVNLS_STR@@I@Z
-; public: long __cdecl BROWSER_SUBJECT_ITER::Next(class BROWSER_SUBJECT * __ptr64 * __ptr64) __ptr64
-?Next@BROWSER_SUBJECT_ITER@@QEAAJPEAPEAVBROWSER_SUBJECT@@@Z
-; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::Next(void) __ptr64
-?Next@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@XZ
-; public: class CONTROL_WINDOW * __ptr64 __cdecl ITER_CTRL::Next(void) __ptr64
-?Next@ITER_CTRL@@QEAAPEAVCONTROL_WINDOW@@XZ
-; public: class SPIN_ITEM * __ptr64 __cdecl ITER_DL_SPIN_ITEM::Next(void) __ptr64
-?Next@ITER_DL_SPIN_ITEM@@QEAAPEAVSPIN_ITEM@@XZ
-; public: class ASSOCHCFILE * __ptr64 __cdecl ITER_SL_ASSOCHCFILE::Next(void) __ptr64
-?Next@ITER_SL_ASSOCHCFILE@@QEAAPEAVASSOCHCFILE@@XZ
-; public: class BROWSE_DOMAIN_INFO * __ptr64 __cdecl ITER_SL_BROWSE_DOMAIN_INFO::Next(void) __ptr64
-?Next@ITER_SL_BROWSE_DOMAIN_INFO@@QEAAPEAVBROWSE_DOMAIN_INFO@@XZ
-; public: struct CLIENTDATA * __ptr64 __cdecl ITER_SL_CLIENTDATA::Next(void) __ptr64
-?Next@ITER_SL_CLIENTDATA@@QEAAPEAUCLIENTDATA@@XZ
-; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::Next(void) __ptr64
-?Next@ITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
-; public: class STRING_BITSET_PAIR * __ptr64 __cdecl ITER_SL_STRING_BITSET_PAIR::Next(void) __ptr64
-?Next@ITER_SL_STRING_BITSET_PAIR@@QEAAPEAVSTRING_BITSET_PAIR@@XZ
-; public: class TIMER_BASE * __ptr64 __cdecl ITER_SL_TIMER_BASE::Next(void) __ptr64
-?Next@ITER_SL_TIMER_BASE@@QEAAPEAVTIMER_BASE@@XZ
-; public: class UI_EXT * __ptr64 __cdecl ITER_SL_UI_EXT::Next(void) __ptr64
-?Next@ITER_SL_UI_EXT@@QEAAPEAVUI_EXT@@XZ
-; public: class USER_BROWSER_LBI * __ptr64 __cdecl ITER_SL_USER_BROWSER_LBI::Next(void) __ptr64
-?Next@ITER_SL_USER_BROWSER_LBI@@QEAAPEAVUSER_BROWSER_LBI@@XZ
-; public: class SPIN_ITEM * __ptr64 __cdecl RITER_DL_SPIN_ITEM::Next(void) __ptr64
-?Next@RITER_DL_SPIN_ITEM@@QEAAPEAVSPIN_ITEM@@XZ
-; public: int __cdecl STLBITEM::NextState(void) __ptr64
-?NextState@STLBITEM@@QEAAHXZ
-; public: class TIMER_BASE * __ptr64 __cdecl BLT_MASTER_TIMER::NextTimer(void) __ptr64
-?NextTimer@BLT_MASTER_TIMER@@QEAAPEAVTIMER_BASE@@XZ
-; public: long __cdecl CONTROL_WINDOW::NotifyGroups(class CONTROL_EVENT const & __ptr64) __ptr64
-?NotifyGroups@CONTROL_WINDOW@@QEAAJAEBVCONTROL_EVENT@@@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::Offset(int,int) __ptr64
-?Offset@XYRECT@@QEAAAEAV1@HH@Z
-; public: class XYRECT & __ptr64 __cdecl XYRECT::Offset(class XYDIMENSION) __ptr64
-?Offset@XYRECT@@QEAAAEAV1@VXYDIMENSION@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnActivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
-?OnActivation@CLIENT_WINDOW@@MEAAHAEBVACTIVATION_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnActivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
-?OnActivation@DISPATCHER@@MEAAHAEBVACTIVATION_EVENT@@@Z
-; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnAdd(void) __ptr64
-?OnAdd@NT_USER_BROWSER_DIALOG@@IEAAJXZ
-; protected: long __cdecl SLE_STRLB_GROUP::OnAdd(void) __ptr64
-?OnAdd@SLE_STRLB_GROUP@@IEAAJXZ
-; protected: int __cdecl OWNER_WINDOW::OnCDMessages(unsigned int,unsigned __int64,__int64) __ptr64
-?OnCDMessages@OWNER_WINDOW@@IEAAHI_K_J@Z
-; protected: virtual int __cdecl DIALOG_WINDOW::OnCancel(void) __ptr64
-?OnCancel@DIALOG_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl MSGPOPUP_DIALOG::OnCancel(void) __ptr64
-?OnCancel@MSGPOPUP_DIALOG@@MEAAHXZ
-; protected: virtual int __cdecl CLIENT_WINDOW::OnChange(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnChange@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
-?OnChar@CLIENT_WINDOW@@MEAAHAEBVCHAR_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
-?OnChar@DISPATCHER@@MEAAHAEBVCHAR_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_ITEM::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
-?OnChar@SPIN_ITEM@@MEAAHAEBVCHAR_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_NUM::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
-?OnChar@SPIN_SLE_NUM@@MEAAHAEBVCHAR_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_STR::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
-?OnChar@SPIN_SLE_STR@@MEAAHAEBVCHAR_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnClick(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnClick@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl APP_WINDOW::OnCloseReq(void) __ptr64
-?OnCloseReq@APP_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl CLIENT_WINDOW::OnCloseReq(void) __ptr64
-?OnCloseReq@CLIENT_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl DISPATCHER::OnCloseReq(void) __ptr64
-?OnCloseReq@DISPATCHER@@MEAAHXZ
-; protected: virtual int __cdecl BASE_SET_FOCUS_DLG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@BASE_SET_FOCUS_DLG@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl DIALOG_WINDOW::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@DIALOG_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@DISPATCHER@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl EXPANDABLE_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@EXPANDABLE_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl MSGPOPUP_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@MSGPOPUP_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl NT_FIND_ACCOUNT_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@NT_FIND_ACCOUNT_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl NT_GROUP_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@NT_GROUP_BROWSER_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl NT_LOCALGROUP_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@NT_LOCALGROUP_BROWSER_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl NT_USER_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@NT_USER_BROWSER_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl OPEN_DIALOG_BASE::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnCommand@OPEN_DIALOG_BASE@@MEAAHAEBVCONTROL_EVENT@@@Z
-; public: static int __cdecl LBI::OnCompareItem(unsigned __int64,__int64)
-?OnCompareItem@LBI@@SAH_K_J@Z
-; protected: virtual void __cdecl DIALOG_WINDOW::OnControlError(unsigned int,long) __ptr64
-?OnControlError@DIALOG_WINDOW@@MEAAXIJ@Z
-; public: virtual struct HBRUSH__ * __ptr64 __cdecl BLT_BACKGROUND_EDIT::OnCtlColor(struct HDC__ * __ptr64,struct HWND__ * __ptr64,unsigned int * __ptr64) __ptr64
-?OnCtlColor@BLT_BACKGROUND_EDIT@@UEAAPEAUHBRUSH__@@PEAUHDC__@@PEAUHWND__@@PEAI@Z
-; public: virtual struct HBRUSH__ * __ptr64 __cdecl CONTROL_WINDOW::OnCtlColor(struct HDC__ * __ptr64,struct HWND__ * __ptr64,unsigned int * __ptr64) __ptr64
-?OnCtlColor@CONTROL_WINDOW@@UEAAPEAUHBRUSH__@@PEAUHDC__@@PEAUHWND__@@PEAI@Z
-; protected: virtual struct HBRUSH__ * __ptr64 __cdecl DIALOG_WINDOW::OnCtlColor(struct HDC__ * __ptr64,struct HWND__ * __ptr64,unsigned int * __ptr64) __ptr64
-?OnCtlColor@DIALOG_WINDOW@@MEAAPEAUHBRUSH__@@PEAUHDC__@@PEAUHWND__@@PEAI@Z
-; public: virtual struct HBRUSH__ * __ptr64 __cdecl SPIN_SLT_SEPARATOR::OnCtlColor(struct HDC__ * __ptr64,struct HWND__ * __ptr64,unsigned int * __ptr64) __ptr64
-?OnCtlColor@SPIN_SLT_SEPARATOR@@UEAAPEAUHBRUSH__@@PEAUHDC__@@PEAUHWND__@@PEAI@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnDblClick(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnDblClick@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnDeactivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
-?OnDeactivation@CLIENT_WINDOW@@MEAAHAEBVACTIVATION_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnDeactivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
-?OnDeactivation@DISPATCHER@@MEAAHAEBVACTIVATION_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnDefocus@CLIENT_WINDOW@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnDefocus@DISPATCHER@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl FOCUS_CHECKBOX::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnDefocus@FOCUS_CHECKBOX@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnDefocus@LOGON_HOURS_CONTROL@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_NUM::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnDefocus@SPIN_SLE_NUM@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_NUM_VALID::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnDefocus@SPIN_SLE_NUM_VALID@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual void __cdecl LAZY_LISTBOX::OnDeleteItem(class LBI * __ptr64) __ptr64
-?OnDeleteItem@LAZY_LISTBOX@@MEAAXPEAVLBI@@@Z
-; public: static void __cdecl LBI::OnDeleteItem(unsigned __int64,__int64)
-?OnDeleteItem@LBI@@SAX_K_J@Z
-; protected: virtual void __cdecl USER_BROWSER_LB::OnDeleteItem(class LBI * __ptr64) __ptr64
-?OnDeleteItem@USER_BROWSER_LB@@MEAAXPEAVLBI@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnDestroy(void) __ptr64
-?OnDestroy@CLIENT_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl DISPATCHER::OnDestroy(void) __ptr64
-?OnDestroy@DISPATCHER@@MEAAHXZ
-; protected: virtual int __cdecl DIALOG_WINDOW::OnDlgActivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
-?OnDlgActivation@DIALOG_WINDOW@@MEAAHAEBVACTIVATION_EVENT@@@Z
-; protected: virtual int __cdecl DIALOG_WINDOW::OnDlgDeactivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
-?OnDlgDeactivation@DIALOG_WINDOW@@MEAAHAEBVACTIVATION_EVENT@@@Z
-; protected: virtual int __cdecl NT_USER_BROWSER_DIALOG::OnDlgDeactivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
-?OnDlgDeactivation@NT_USER_BROWSER_DIALOG@@MEAAHAEBVACTIVATION_EVENT@@@Z
-; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnDomainChange(class BROWSER_DOMAIN * __ptr64,class ADMIN_AUTHORITY const * __ptr64) __ptr64
-?OnDomainChange@NT_USER_BROWSER_DIALOG@@IEAAJPEAVBROWSER_DOMAIN@@PEBVADMIN_AUTHORITY@@@Z
-; private: void __cdecl BASE_SET_FOCUS_DLG::OnDomainLBChange(void) __ptr64
-?OnDomainLBChange@BASE_SET_FOCUS_DLG@@AEAAXXZ
-; public: void __cdecl HIER_LISTBOX::OnDoubleClick(class HIER_LBI * __ptr64) __ptr64
-?OnDoubleClick@HIER_LISTBOX@@QEAAXPEAVHIER_LBI@@@Z
-; protected: virtual void __cdecl H_SPLITTER_BAR::OnDragRelease(class XYPOINT const & __ptr64) __ptr64
-?OnDragRelease@H_SPLITTER_BAR@@MEAAXAEBVXYPOINT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnDropDown(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnDropDown@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnEnter(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnEnter@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_NUM::OnEnter(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnEnter@SPIN_SLE_NUM@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_NUM_VALID::OnEnter(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnEnter@SPIN_SLE_NUM_VALID@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: virtual void __cdecl EXPANDABLE_DIALOG::OnExpand(void) __ptr64
-?OnExpand@EXPANDABLE_DIALOG@@MEAAXXZ
-; protected: virtual int __cdecl CLIENT_WINDOW::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnFocus@CLIENT_WINDOW@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnFocus@DISPATCHER@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl FOCUS_CHECKBOX::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnFocus@FOCUS_CHECKBOX@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnFocus@LOGON_HOURS_CONTROL@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_ITEM::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnFocus@SPIN_ITEM@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_NUM::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnFocus@SPIN_SLE_NUM@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_STR::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnFocus@SPIN_SLE_STR@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual int __cdecl STATIC_SPIN_ITEM::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
-?OnFocus@STATIC_SPIN_ITEM@@MEAAHAEBVFOCUS_EVENT@@@Z
-; protected: virtual long __cdecl CONTROL_GROUP::OnGroupAction(class CONTROL_GROUP * __ptr64) __ptr64
-?OnGroupAction@CONTROL_GROUP@@MEAAJPEAV1@@Z
-; protected: virtual long __cdecl MAGIC_GROUP::OnGroupAction(class CONTROL_GROUP * __ptr64) __ptr64
-?OnGroupAction@MAGIC_GROUP@@MEAAJPEAVCONTROL_GROUP@@@Z
-; private: int __cdecl DIALOG_WINDOW::OnHelp(void) __ptr64
-?OnHelp@DIALOG_WINDOW@@AEAAHXZ
-; public: void __cdecl GET_FNAME_BASE_DLG::OnHelp(struct HWND__ * __ptr64) __ptr64
-?OnHelp@GET_FNAME_BASE_DLG@@QEAAXPEAUHWND__@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
-?OnKeyDown@CLIENT_WINDOW@@MEAAHAEBVVKEY_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
-?OnKeyDown@DISPATCHER@@MEAAHAEBVVKEY_EVENT@@@Z
-; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
-?OnKeyDown@LOGON_HOURS_CONTROL@@MEAAHAEBVVKEY_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_NUM::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
-?OnKeyDown@SPIN_SLE_NUM@@MEAAHAEBVVKEY_EVENT@@@Z
-; protected: virtual int __cdecl SPIN_SLE_STR::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
-?OnKeyDown@SPIN_SLE_STR@@MEAAHAEBVVKEY_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnKeyUp(class VKEY_EVENT const & __ptr64) __ptr64
-?OnKeyUp@CLIENT_WINDOW@@MEAAHAEBVVKEY_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnKeyUp(class VKEY_EVENT const & __ptr64) __ptr64
-?OnKeyUp@DISPATCHER@@MEAAHAEBVVKEY_EVENT@@@Z
-; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnKeyUp(class VKEY_EVENT const & __ptr64) __ptr64
-?OnKeyUp@LOGON_HOURS_CONTROL@@MEAAHAEBVVKEY_EVENT@@@Z
-; protected: static int __cdecl OWNER_WINDOW::OnLBIMessages(unsigned int,unsigned __int64,__int64)
-?OnLBIMessages@OWNER_WINDOW@@KAHI_K_J@Z
-; protected: virtual int __cdecl ARROW_BUTTON::OnLMouseButtonDblClick(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonDblClick@ARROW_BUTTON@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnLMouseButtonDblClick(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonDblClick@CLIENT_WINDOW@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnLMouseButtonDblClick(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonDblClick@DISPATCHER@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl ARROW_BUTTON::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonDown@ARROW_BUTTON@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonDown@CLIENT_WINDOW@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonDown@DISPATCHER@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl H_SPLITTER_BAR::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonDown@H_SPLITTER_BAR@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonDown@LOGON_HOURS_CONTROL@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl ARROW_BUTTON::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonUp@ARROW_BUTTON@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonUp@CLIENT_WINDOW@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonUp@DISPATCHER@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl H_SPLITTER_BAR::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonUp@H_SPLITTER_BAR@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnLMouseButtonUp@LOGON_HOURS_CONTROL@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: long __cdecl NT_LOCALGROUP_BROWSER_DIALOG::OnMembers(void) __ptr64
-?OnMembers@NT_LOCALGROUP_BROWSER_DIALOG@@IEAAJXZ
-; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnMembers(void) __ptr64
-?OnMembers@NT_USER_BROWSER_DIALOG@@IEAAJXZ
-; protected: virtual int __cdecl APP_WINDOW::OnMenuCommand(unsigned int) __ptr64
-?OnMenuCommand@APP_WINDOW@@MEAAHI@Z
-; protected: virtual int __cdecl APP_WINDOW::OnMenuInit(class MENU_EVENT const & __ptr64) __ptr64
-?OnMenuInit@APP_WINDOW@@MEAAHAEBVMENU_EVENT@@@Z
-; protected: virtual int __cdecl APP_WINDOW::OnMenuSelect(class MENUITEM_EVENT const & __ptr64) __ptr64
-?OnMenuSelect@APP_WINDOW@@MEAAHAEBVMENUITEM_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnMouseMove(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnMouseMove@CLIENT_WINDOW@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnMouseMove(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnMouseMove@DISPATCHER@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl H_SPLITTER_BAR::OnMouseMove(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnMouseMove@H_SPLITTER_BAR@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnMouseMove(class MOUSE_EVENT const & __ptr64) __ptr64
-?OnMouseMove@LOGON_HOURS_CONTROL@@MEAAHAEBVMOUSE_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnMove(class MOVE_EVENT const & __ptr64) __ptr64
-?OnMove@CLIENT_WINDOW@@MEAAHAEBVMOVE_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnMove(class MOVE_EVENT const & __ptr64) __ptr64
-?OnMove@DISPATCHER@@MEAAHAEBVMOVE_EVENT@@@Z
-; protected: virtual class LBI * __ptr64 __cdecl USER_BROWSER_LB::OnNewItem(unsigned int) __ptr64
-?OnNewItem@USER_BROWSER_LB@@MEAAPEAVLBI@@I@Z
-; protected: virtual int __cdecl BASE_SET_FOCUS_DLG::OnOK(void) __ptr64
-?OnOK@BASE_SET_FOCUS_DLG@@MEAAHXZ
-; protected: virtual int __cdecl DIALOG_WINDOW::OnOK(void) __ptr64
-?OnOK@DIALOG_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl MSGPOPUP_DIALOG::OnOK(void) __ptr64
-?OnOK@MSGPOPUP_DIALOG@@MEAAHXZ
-; private: virtual int __cdecl MSG_DIALOG_BASE::OnOK(void) __ptr64
-?OnOK@MSG_DIALOG_BASE@@EEAAHXZ
-; protected: virtual int __cdecl NT_FIND_ACCOUNT_DIALOG::OnOK(void) __ptr64
-?OnOK@NT_FIND_ACCOUNT_DIALOG@@MEAAHXZ
-; protected: virtual int __cdecl NT_USER_BROWSER_DIALOG::OnOK(void) __ptr64
-?OnOK@NT_USER_BROWSER_DIALOG@@MEAAHXZ
-; protected: virtual int __cdecl PROMPT_FOR_ANY_DC_DLG::OnOK(void) __ptr64
-?OnOK@PROMPT_FOR_ANY_DC_DLG@@MEAAHXZ
-; protected: virtual int __cdecl CLIENT_WINDOW::OnOther(class EVENT const & __ptr64) __ptr64
-?OnOther@CLIENT_WINDOW@@MEAAHAEBVEVENT@@@Z
-; protected: virtual int __cdecl APP_WINDOW::OnPaintReq(void) __ptr64
-?OnPaintReq@APP_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl CLIENT_WINDOW::OnPaintReq(void) __ptr64
-?OnPaintReq@CLIENT_WINDOW@@MEAAHXZ
-; protected: virtual int __cdecl DISPATCHER::OnPaintReq(void) __ptr64
-?OnPaintReq@DISPATCHER@@MEAAHXZ
-; protected: virtual int __cdecl FOCUS_CHECKBOX::OnPaintReq(void) __ptr64
-?OnPaintReq@FOCUS_CHECKBOX@@MEAAHXZ
-; protected: virtual int __cdecl H_SPLITTER_BAR::OnPaintReq(void) __ptr64
-?OnPaintReq@H_SPLITTER_BAR@@MEAAHXZ
-; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnPaintReq(void) __ptr64
-?OnPaintReq@LOGON_HOURS_CONTROL@@MEAAHXZ
-; protected: virtual int __cdecl METER::OnPaintReq(void) __ptr64
-?OnPaintReq@METER@@MEAAHXZ
-; protected: virtual unsigned long __cdecl DISPATCHER::OnQDlgCode(void) __ptr64
-?OnQDlgCode@DISPATCHER@@MEAAKXZ
-; protected: virtual unsigned long __cdecl LOGON_HOURS_CONTROL::OnQDlgCode(void) __ptr64
-?OnQDlgCode@LOGON_HOURS_CONTROL@@MEAAKXZ
-; protected: virtual unsigned long __cdecl DISPATCHER::OnQHitTest(class XYPOINT const & __ptr64) __ptr64
-?OnQHitTest@DISPATCHER@@MEAAKAEBVXYPOINT@@@Z
-; protected: virtual unsigned long __cdecl H_SPLITTER_BAR::OnQHitTest(class XYPOINT const & __ptr64) __ptr64
-?OnQHitTest@H_SPLITTER_BAR@@MEAAKAEBVXYPOINT@@@Z
-; protected: virtual unsigned long __cdecl LOGON_HOURS_CONTROL::OnQHitTest(class XYPOINT const & __ptr64) __ptr64
-?OnQHitTest@LOGON_HOURS_CONTROL@@MEAAKAEBVXYPOINT@@@Z
-; protected: virtual int __cdecl APP_WINDOW::OnQMinMax(class QMINMAX_EVENT & __ptr64) __ptr64
-?OnQMinMax@APP_WINDOW@@MEAAHAEAVQMINMAX_EVENT@@@Z
-; protected: virtual unsigned long __cdecl DISPATCHER::OnQMouseActivate(class QMOUSEACT_EVENT const & __ptr64) __ptr64
-?OnQMouseActivate@DISPATCHER@@MEAAKAEBVQMOUSEACT_EVENT@@@Z
-; protected: virtual unsigned long __cdecl LOGON_HOURS_CONTROL::OnQMouseActivate(class QMOUSEACT_EVENT const & __ptr64) __ptr64
-?OnQMouseActivate@LOGON_HOURS_CONTROL@@MEAAKAEBVQMOUSEACT_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnQMouseCursor(class QMOUSEACT_EVENT const & __ptr64) __ptr64
-?OnQMouseCursor@DISPATCHER@@MEAAHAEBVQMOUSEACT_EVENT@@@Z
-; protected: virtual int __cdecl H_SPLITTER_BAR::OnQMouseCursor(class QMOUSEACT_EVENT const & __ptr64) __ptr64
-?OnQMouseCursor@H_SPLITTER_BAR@@MEAAHAEBVQMOUSEACT_EVENT@@@Z
-; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnQMouseCursor(class QMOUSEACT_EVENT const & __ptr64) __ptr64
-?OnQMouseCursor@LOGON_HOURS_CONTROL@@MEAAHAEBVQMOUSEACT_EVENT@@@Z
-; protected: long __cdecl SLE_STRLB_GROUP::OnRemove(void) __ptr64
-?OnRemove@SLE_STRLB_GROUP@@IEAAJXZ
-; protected: virtual int __cdecl CLIENT_WINDOW::OnResize(class SIZE_EVENT const & __ptr64) __ptr64
-?OnResize@CLIENT_WINDOW@@MEAAHAEBVSIZE_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnResize(class SIZE_EVENT const & __ptr64) __ptr64
-?OnResize@DISPATCHER@@MEAAHAEBVSIZE_EVENT@@@Z
-; protected: virtual int __cdecl H_SPLITTER_BAR::OnResize(class SIZE_EVENT const & __ptr64) __ptr64
-?OnResize@H_SPLITTER_BAR@@MEAAHAEBVSIZE_EVENT@@@Z
-; protected: virtual int __cdecl DIALOG_WINDOW::OnScrollBar(class SCROLL_EVENT const & __ptr64) __ptr64
-?OnScrollBar@DIALOG_WINDOW@@MEAAHAEBVSCROLL_EVENT@@@Z
-; protected: virtual int __cdecl DIALOG_WINDOW::OnScrollBarThumb(class SCROLL_THUMB_EVENT const & __ptr64) __ptr64
-?OnScrollBarThumb@DIALOG_WINDOW@@MEAAHAEBVSCROLL_THUMB_EVENT@@@Z
-; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnSearch(void) __ptr64
-?OnSearch@NT_USER_BROWSER_DIALOG@@IEAAJXZ
-; protected: virtual int __cdecl CLIENT_WINDOW::OnSelect(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnSelect@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
-; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnShowUsers(void) __ptr64
-?OnShowUsers@NT_USER_BROWSER_DIALOG@@IEAAJXZ
-; protected: virtual void __cdecl APP_WINDOW::OnShutdown(void) __ptr64
-?OnShutdown@APP_WINDOW@@MEAAXXZ
-; protected: virtual void __cdecl DIALOG_WINDOW::OnSysColorChange(void) __ptr64
-?OnSysColorChange@DIALOG_WINDOW@@MEAAXXZ
-; protected: virtual int __cdecl APP_WINDOW::OnSystemChange(class SYSCHANGE_EVENT const & __ptr64) __ptr64
-?OnSystemChange@APP_WINDOW@@MEAAHAEBVSYSCHANGE_EVENT@@@Z
-; protected: virtual int __cdecl ARROW_BUTTON::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
-?OnTimer@ARROW_BUTTON@@MEAAHAEBVTIMER_EVENT@@@Z
-; protected: virtual int __cdecl CANCEL_TASK_DIALOG::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
-?OnTimer@CANCEL_TASK_DIALOG@@MEAAHAEBVTIMER_EVENT@@@Z
-; protected: virtual int __cdecl CLIENT_WINDOW::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
-?OnTimer@CLIENT_WINDOW@@MEAAHAEBVTIMER_EVENT@@@Z
-; protected: virtual int __cdecl DIALOG_WINDOW::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
-?OnTimer@DIALOG_WINDOW@@MEAAHAEBVTIMER_EVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
-?OnTimer@DISPATCHER@@MEAAHAEBVTIMER_EVENT@@@Z
-; protected: virtual int __cdecl TIMER_WINDOW::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
-?OnTimer@TIMER_WINDOW@@MEAAHAEBVTIMER_EVENT@@@Z
-; protected: virtual void __cdecl TIMER_CALLOUT::OnTimerNotification(unsigned int) __ptr64
-?OnTimerNotification@TIMER_CALLOUT@@MEAAXI@Z
-; protected: virtual long __cdecl CONTROL_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@CONTROL_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
-; protected: virtual long __cdecl CONTROL_WINDOW::OnUserAction(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@CONTROL_WINDOW@@MEAAJAEBVCONTROL_EVENT@@@Z
-; protected: virtual long __cdecl LM_OLLB::OnUserAction(class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@LM_OLLB@@MEAAJAEBVCONTROL_EVENT@@@Z
-; protected: virtual long __cdecl MAGIC_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@MAGIC_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
-; protected: virtual long __cdecl ORDER_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@ORDER_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
-; protected: virtual long __cdecl RADIO_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@RADIO_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
-; protected: virtual long __cdecl SET_CONTROL::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@SET_CONTROL@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
-; protected: virtual long __cdecl SLE_STRLB_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@SLE_STRLB_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
-; protected: virtual long __cdecl SPIN_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@SPIN_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
-; protected: virtual long __cdecl STATELBGRP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
-?OnUserAction@STATELBGRP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
-; protected: virtual int __cdecl BASE_SET_FOCUS_DLG::OnUserMessage(class EVENT const & __ptr64) __ptr64
-?OnUserMessage@BASE_SET_FOCUS_DLG@@MEAAHAEBVEVENT@@@Z
-; protected: virtual int __cdecl DISPATCHER::OnUserMessage(class EVENT const & __ptr64) __ptr64
-?OnUserMessage@DISPATCHER@@MEAAHAEBVEVENT@@@Z
-; protected: virtual int __cdecl NT_USER_BROWSER_DIALOG::OnUserMessage(class EVENT const & __ptr64) __ptr64
-?OnUserMessage@NT_USER_BROWSER_DIALOG@@MEAAHAEBVEVENT@@@Z
-; protected: virtual int __cdecl OWNER_WINDOW::OnUserMessage(class EVENT const & __ptr64) __ptr64
-?OnUserMessage@OWNER_WINDOW@@MEAAHAEBVEVENT@@@Z
-; protected: virtual void __cdecl DIALOG_WINDOW::OnValidationError(unsigned int,long) __ptr64
-?OnValidationError@DIALOG_WINDOW@@MEAAXIJ@Z
-; private: class LISTBOX * __ptr64 __cdecl SET_CONTROL::OtherListbox(class LISTBOX * __ptr64)const  __ptr64
-?OtherListbox@SET_CONTROL@@AEBAPEAVLISTBOX@@PEAV2@@Z
-; public: virtual void __cdecl BROWSER_DOMAIN_LBI::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
-?Paint@BROWSER_DOMAIN_LBI@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
-; public: virtual void __cdecl BROWSER_DOMAIN_LBI_PB::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
-?Paint@BROWSER_DOMAIN_LBI_PB@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
-; public: virtual void __cdecl COUNTED_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@COUNTED_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
-; public: int __cdecl DISPLAY_MAP::Paint(struct HDC__ * __ptr64,int,int)const  __ptr64
-?Paint@DISPLAY_MAP@@QEBAHPEAUHDC__@@HH@Z
-; public: void __cdecl DISPLAY_TABLE::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@DISPLAY_TABLE@@QEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@@Z
-; public: void __cdecl DISPLAY_TABLE::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
-?Paint@DISPLAY_TABLE@@QEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
-; public: virtual void __cdecl DM_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@DM_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
-; public: virtual void __cdecl LBI::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
-?Paint@LBI@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
-; public: virtual void __cdecl METALLIC_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@METALLIC_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
-; public: virtual void __cdecl MULTILINE_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@MULTILINE_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
-; public: virtual void __cdecl OLLB_ENTRY::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
-?Paint@OLLB_ENTRY@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
-; public: virtual void __cdecl OWNER_DRAW_DMID_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@OWNER_DRAW_DMID_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
-; public: virtual void __cdecl OWNER_DRAW_MULTILINE_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@OWNER_DRAW_MULTILINE_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
-; public: virtual void __cdecl OWNER_DRAW_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@OWNER_DRAW_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
-; protected: virtual void __cdecl STLBITEM::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
-?Paint@STLBITEM@@MEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
-; public: virtual void __cdecl STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
-; public: virtual void __cdecl STR_DTE_ELLIPSIS::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
-?Paint@STR_DTE_ELLIPSIS@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
-; public: virtual void __cdecl USER_BROWSER_LBI::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
-?Paint@USER_BROWSER_LBI@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
-; protected: long __cdecl ACCOUNT_NAMES_MLE::ParseUserNameList(class STRLIST * __ptr64,unsigned short const * __ptr64) __ptr64
-?ParseUserNameList@ACCOUNT_NAMES_MLE@@IEAAJPEAVSTRLIST@@PEBG@Z
-; private: void __cdecl MSGPOPUP_DIALOG::PlaceButtons(void) __ptr64
-?PlaceButtons@MSGPOPUP_DIALOG@@AEAAXXZ
-; private: long __cdecl BLT_DATE_SPIN_GROUP::PlaceControl(int,class OWNER_WINDOW * __ptr64,class INTL_PROFILE const & __ptr64,class XYPOINT const & __ptr64,class XYDIMENSION const & __ptr64,class XYPOINT const & __ptr64,class XYDIMENSION const & __ptr64,class XYPOINT const & __ptr64,class XYDIMENSION const & __ptr64) __ptr64
-?PlaceControl@BLT_DATE_SPIN_GROUP@@AEAAJHPEAVOWNER_WINDOW@@AEBVINTL_PROFILE@@AEBVXYPOINT@@AEBVXYDIMENSION@@2323@Z
-; protected: virtual long __cdecl DOMAIN_FILL_THREAD::PostMain(void) __ptr64
-?PostMain@DOMAIN_FILL_THREAD@@MEAAJXZ
-; protected: virtual long __cdecl FOCUSDLG_DATA_THREAD::PostMain(void) __ptr64
-?PostMain@FOCUSDLG_DATA_THREAD@@MEAAJXZ
-; protected: virtual long __cdecl WIN32_THREAD::PostMain(void) __ptr64
-?PostMain@WIN32_THREAD@@MEAAJXZ
-; protected: virtual long __cdecl WIN32_THREAD::PreMain(void) __ptr64
-?PreMain@WIN32_THREAD@@MEAAJXZ
-; public: long __cdecl BASE_SET_FOCUS_DLG::Process(int * __ptr64) __ptr64
-?Process@BASE_SET_FOCUS_DLG@@QEAAJPEAH@Z
-; public: long __cdecl BASE_SET_FOCUS_DLG::Process(unsigned int * __ptr64) __ptr64
-?Process@BASE_SET_FOCUS_DLG@@QEAAJPEAI@Z
-; public: long __cdecl DIALOG_WINDOW::Process(int * __ptr64) __ptr64
-?Process@DIALOG_WINDOW@@QEAAJPEAH@Z
-; public: long __cdecl DIALOG_WINDOW::Process(unsigned int * __ptr64) __ptr64
-?Process@DIALOG_WINDOW@@QEAAJPEAI@Z
-; public: long __cdecl EXPANDABLE_DIALOG::Process(int * __ptr64) __ptr64
-?Process@EXPANDABLE_DIALOG@@QEAAJPEAH@Z
-; public: long __cdecl EXPANDABLE_DIALOG::Process(unsigned int * __ptr64) __ptr64
-?Process@EXPANDABLE_DIALOG@@QEAAJPEAI@Z
-; public: virtual long __cdecl GET_OPEN_FILENAME_DLG::Process(int * __ptr64) __ptr64
-?Process@GET_OPEN_FILENAME_DLG@@UEAAJPEAH@Z
-; public: virtual long __cdecl GET_SAVE_FILENAME_DLG::Process(int * __ptr64) __ptr64
-?Process@GET_SAVE_FILENAME_DLG@@UEAAJPEAH@Z
-; public: static long __cdecl WIN32_FONT_PICKER::Process(class OWNER_WINDOW * __ptr64,int * __ptr64,class FONT * __ptr64,struct tagLOGFONTW * __ptr64,struct tagCHOOSEFONTW * __ptr64)
-?Process@WIN32_FONT_PICKER@@SAJPEAVOWNER_WINDOW@@PEAHPEAVFONT@@PEAUtagLOGFONTW@@PEAUtagCHOOSEFONTW@@@Z
-; private: long __cdecl BASE_SET_FOCUS_DLG::ProcessNetPath(class NLS_STR * __ptr64,long * __ptr64) __ptr64
-?ProcessNetPath@BASE_SET_FOCUS_DLG@@AEAAJPEAVNLS_STR@@PEAJ@Z
-; public: long __cdecl WIN32_EVENT::Pulse(void) __ptr64
-?Pulse@WIN32_EVENT@@QEAAJXZ
-; public: long __cdecl USER_BROWSER_LBI::QualifyDisplayName(void) __ptr64
-?QualifyDisplayName@USER_BROWSER_LBI@@QEAAJXZ
-; public: static struct HICON__ * __ptr64 __cdecl CURSOR::Query(void)
-?Query@CURSOR@@SAPEAUHICON__@@XZ
-; public: virtual long __cdecl SPIN_ITEM::QueryAccCharPos(unsigned short) __ptr64
-?QueryAccCharPos@SPIN_ITEM@@UEAAJG@Z
-; public: virtual long __cdecl SPIN_SLE_STR::QueryAccCharPos(unsigned short) __ptr64
-?QueryAccCharPos@SPIN_SLE_STR@@UEAAJG@Z
-; public: long __cdecl SPIN_ITEM::QueryAccKey(class NLS_STR * __ptr64) __ptr64
-?QueryAccKey@SPIN_ITEM@@QEAAJPEAVNLS_STR@@@Z
-; public: unsigned short const * __ptr64 __cdecl OPEN_LBI_BASE::QueryAccessName(void)const  __ptr64
-?QueryAccessName@OPEN_LBI_BASE@@QEBAPEBGXZ
-; public: class SAM_DOMAIN * __ptr64 __cdecl BROWSER_DOMAIN::QueryAccountDomain(void)const  __ptr64
-?QueryAccountDomain@BROWSER_DOMAIN@@QEBAPEAVSAM_DOMAIN@@XZ
-; public: unsigned short const * __ptr64 __cdecl BROWSER_SUBJECT::QueryAccountName(void)const  __ptr64
-?QueryAccountName@BROWSER_SUBJECT@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryAccountName(void)const  __ptr64
-?QueryAccountName@USER_BROWSER_LBI@@QEBAPEBGXZ
-; protected: virtual int __cdecl H_SPLITTER_BAR::QueryActiveArea(void) __ptr64
-?QueryActiveArea@H_SPLITTER_BAR@@MEAAHXZ
-; protected: class PUSH_BUTTON * __ptr64 __cdecl SLE_STRLB_GROUP::QueryAddButton(void)const  __ptr64
-?QueryAddButton@SLE_STRLB_GROUP@@IEBAPEAVPUSH_BUTTON@@XZ
-; public: class ADMIN_AUTHORITY * __ptr64 __cdecl BROWSER_DOMAIN::QueryAdminAuthority(void)const  __ptr64
-?QueryAdminAuthority@BROWSER_DOMAIN@@QEBAPEAVADMIN_AUTHORITY@@XZ
-; public: class ADMIN_AUTHORITY * __ptr64 __cdecl DOMAIN_FILL_THREAD::QueryAdminAuthority(void)const  __ptr64
-?QueryAdminAuthority@DOMAIN_FILL_THREAD@@QEBAPEAVADMIN_AUTHORITY@@XZ
-; public: unsigned short const * __ptr64 __cdecl UI_DOMAIN::QueryAnyDC(void)const  __ptr64
-?QueryAnyDC@UI_DOMAIN@@QEBAPEBGXZ
-; public: int __cdecl OWNER_WINDOW::QueryAttribute(unsigned long) __ptr64
-?QueryAttribute@OWNER_WINDOW@@QEAAHK@Z
-; public: class AUDIT_CHECKBOXES * __ptr64 __cdecl SET_OF_AUDIT_CATEGORIES::QueryAuditCheckBox(int) __ptr64
-?QueryAuditCheckBox@SET_OF_AUDIT_CATEGORIES@@QEAAPEAVAUDIT_CHECKBOXES@@H@Z
-; public: int __cdecl DEVICE_CONTEXT::QueryAveCharWidth(void)const  __ptr64
-?QueryAveCharWidth@DEVICE_CONTEXT@@QEBAHXZ
-; public: virtual unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryBigDecValue(void)const  __ptr64
-?QueryBigDecValue@CHANGEABLE_SPIN_ITEM@@UEBAKXZ
-; public: virtual unsigned long __cdecl SPIN_SLE_VALID_SECOND::QueryBigDecValue(void)const  __ptr64
-?QueryBigDecValue@SPIN_SLE_VALID_SECOND@@UEBAKXZ
-; public: virtual unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryBigIncValue(void)const  __ptr64
-?QueryBigIncValue@CHANGEABLE_SPIN_ITEM@@UEBAKXZ
-; public: virtual unsigned long __cdecl SPIN_SLE_VALID_SECOND::QueryBigIncValue(void)const  __ptr64
-?QueryBigIncValue@SPIN_SLE_VALID_SECOND@@UEBAKXZ
-; public: class BITFIELD * __ptr64 __cdecl STRING_BITSET_PAIR::QueryBitfield(void) __ptr64
-?QueryBitfield@STRING_BITSET_PAIR@@QEAAPEAVBITFIELD@@XZ
-; public: struct HBITMAP__ * __ptr64 __cdecl DISPLAY_MAP::QueryBitmapHandle(void)const  __ptr64
-?QueryBitmapHandle@DISPLAY_MAP@@QEBAPEAUHBITMAP__@@XZ
-; public: long __cdecl MASK_MAP::QueryBits(unsigned int,class BITFIELD * __ptr64,class NLS_STR * __ptr64,int * __ptr64) __ptr64
-?QueryBits@MASK_MAP@@QEAAJIPEAVBITFIELD@@PEAVNLS_STR@@PEAH@Z
-; public: int __cdecl XYRECT::QueryBottom(void)const  __ptr64
-?QueryBottom@XYRECT@@QEBAHXZ
-; public: class BROWSER_DOMAIN * __ptr64 __cdecl BROWSER_DOMAIN_LBI::QueryBrowserDomain(void)const  __ptr64
-?QueryBrowserDomain@BROWSER_DOMAIN_LBI@@QEBAPEAVBROWSER_DOMAIN@@XZ
-; public: class BROWSER_DOMAIN * __ptr64 __cdecl BROWSER_DOMAIN_LBI_PB::QueryBrowserDomain(void)const  __ptr64
-?QueryBrowserDomain@BROWSER_DOMAIN_LBI_PB@@QEBAPEAVBROWSER_DOMAIN@@XZ
-; protected: void * __ptr64 __cdecl NT_MEMORY::QueryBuffer(void)const  __ptr64
-?QueryBuffer@NT_MEMORY@@IEBAPEAXXZ
-; protected: unsigned char const * __ptr64 __cdecl ENUM_OBJ_BASE::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@ENUM_OBJ_BASE@@IEBAPEBEXZ
-; public: struct _DOMAIN_DISPLAY_GROUP const * __ptr64 __cdecl NT_GROUP_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@NT_GROUP_ENUM_OBJ@@QEBAPEBU_DOMAIN_DISPLAY_GROUP@@XZ
-; public: struct _SERVER_INFO_101 const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
-?QueryBufferPtr@SERVER1_ENUM_OBJ@@QEBAPEBU_SERVER_INFO_101@@XZ
-; public: class SAM_DOMAIN * __ptr64 __cdecl BROWSER_DOMAIN::QueryBuiltinDomain(void)const  __ptr64
-?QueryBuiltinDomain@BROWSER_DOMAIN@@QEBAPEAVSAM_DOMAIN@@XZ
-; private: class PUSH_BUTTON * __ptr64 __cdecl MSGPOPUP_DIALOG::QueryButton(unsigned int) __ptr64
-?QueryButton@MSGPOPUP_DIALOG@@AEAAPEAVPUSH_BUTTON@@I@Z
-; public: int __cdecl LIST_CONTROL::QueryCaretIndex(void)const  __ptr64
-?QueryCaretIndex@LIST_CONTROL@@QEBAHXZ
-; public: unsigned short __cdecl CHAR_EVENT::QueryChar(void)const  __ptr64
-?QueryChar@CHAR_EVENT@@QEBAGXZ
-; public: int __cdecl STATE2_BUTTON_CONTROL::QueryCheck(void)const  __ptr64
-?QueryCheck@STATE2_BUTTON_CONTROL@@QEBAHXZ
-; public: unsigned int __cdecl CONTROL_ENTRY::QueryCid(void)const  __ptr64
-?QueryCid@CONTROL_ENTRY@@QEBAIXZ
-; public: unsigned int __cdecl CONTROL_EVENT::QueryCid(void)const  __ptr64
-?QueryCid@CONTROL_EVENT@@QEBAIXZ
-; public: unsigned int __cdecl CONTROL_WINDOW::QueryCid(void)const  __ptr64
-?QueryCid@CONTROL_WINDOW@@QEBAIXZ
-; public: void __cdecl WINDOW::QueryClientRect(struct tagRECT * __ptr64)const  __ptr64
-?QueryClientRect@WINDOW@@QEBAXPEAUtagRECT@@@Z
-; public: void __cdecl WINDOW::QueryClientRect(class XYRECT * __ptr64)const  __ptr64
-?QueryClientRect@WINDOW@@QEBAXPEAVXYRECT@@@Z
-; public: unsigned int __cdecl CONTROL_EVENT::QueryCode(void)const  __ptr64
-?QueryCode@CONTROL_EVENT@@QEBAIXZ
-; public: unsigned int const * __ptr64 __cdecl STATELB::QueryColData(void) __ptr64
-?QueryColData@STATELB@@QEAAPEBIXZ
-; public: unsigned int const * __ptr64 __cdecl BROWSER_DOMAIN_CB::QueryColWidthArray(void)const  __ptr64
-?QueryColWidthArray@BROWSER_DOMAIN_CB@@QEBAPEBIXZ
-; public: unsigned int const * __ptr64 __cdecl USER_BROWSER_LB::QueryColWidthArray(void)const  __ptr64
-?QueryColWidthArray@USER_BROWSER_LB@@QEBAPEBIXZ
-; protected: static unsigned short const * __ptr64 __cdecl CONTROL_WINDOW::QueryComboboxClassName(void)
-?QueryComboboxClassName@CONTROL_WINDOW@@KAPEBGXZ
-; public: enum SCROLL_EVENT::SCROLL_COMMAND  __cdecl SCROLL_EVENT::QueryCommand(void)const  __ptr64
-?QueryCommand@SCROLL_EVENT@@QEBA?AW4SCROLL_COMMAND@1@XZ
-; public: unsigned short const * __ptr64 __cdecl BROWSER_SUBJECT::QueryComment(void)const  __ptr64
-?QueryComment@BROWSER_SUBJECT@@QEBAPEBGXZ
-; public: long __cdecl NT_GROUP_ENUM_OBJ::QueryComment(class NLS_STR * __ptr64)const  __ptr64
-?QueryComment@NT_GROUP_ENUM_OBJ@@QEBAJPEAVNLS_STR@@@Z
-; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryComment(void)const  __ptr64
-?QueryComment@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryComment(void)const  __ptr64
-?QueryComment@USER_BROWSER_LBI@@QEBAPEBGXZ
-; protected: virtual int (__cdecl*__cdecl USER_BROWSER_LBI_CACHE::QueryCompareMethod(void)const  __ptr64)(void const * __ptr64,void const * __ptr64)
-?QueryCompareMethod@USER_BROWSER_LBI_CACHE@@MEBAP6AHPEBX0@ZXZ
-; protected: virtual int (__cdecl*__cdecl USER_LBI_CACHE::QueryCompareMethod(void)const  __ptr64)(void const * __ptr64,void const * __ptr64)
-?QueryCompareMethod@USER_LBI_CACHE@@MEBAP6AHPEBX0@ZXZ
-; public: class CONTROL_VALUE * __ptr64 __cdecl CONTROLVAL_CID_PAIR::QueryContVal(void)const  __ptr64
-?QueryContVal@CONTROLVAL_CID_PAIR@@QEBAPEAVCONTROL_VALUE@@XZ
-; public: void __cdecl SPIN_SLE_NUM::QueryContent(unsigned long * __ptr64)const  __ptr64
-?QueryContent@SPIN_SLE_NUM@@QEBAXPEAK@Z
-; public: void __cdecl SPIN_SLE_NUM::QueryContent(class NLS_STR * __ptr64)const  __ptr64
-?QueryContent@SPIN_SLE_NUM@@QEBAXPEAVNLS_STR@@@Z
-; public: long __cdecl SPIN_SLE_STR::QueryContent(class NLS_STR * __ptr64)const  __ptr64
-?QueryContent@SPIN_SLE_STR@@QEBAJPEAVNLS_STR@@@Z
-; public: class CONTROL_WINDOW * __ptr64 __cdecl CUSTOM_CONTROL::QueryControlWin(void)const  __ptr64
-?QueryControlWin@CUSTOM_CONTROL@@QEBAPEAVCONTROL_WINDOW@@XZ
-; public: unsigned int __cdecl ARRAY_CONTROLVAL_CID_PAIR::QueryCount(void)const  __ptr64
-?QueryCount@ARRAY_CONTROLVAL_CID_PAIR@@QEBAIXZ
-; public: unsigned int __cdecl BITFIELD::QueryCount(void)const  __ptr64
-?QueryCount@BITFIELD@@QEBAIXZ
-; public: unsigned int __cdecl CONTROL_TABLE::QueryCount(void)const  __ptr64
-?QueryCount@CONTROL_TABLE@@QEBAIXZ
-; public: int __cdecl COUNTED_STR_DTE::QueryCount(void)const  __ptr64
-?QueryCount@COUNTED_STR_DTE@@QEBAHXZ
-; public: int __cdecl HEAP_BASE::QueryCount(void)const  __ptr64
-?QueryCount@HEAP_BASE@@QEBAHXZ
-; public: int __cdecl LIST_CONTROL::QueryCount(void)const  __ptr64
-?QueryCount@LIST_CONTROL@@QEBAHXZ
-; public: unsigned int __cdecl MASK_MAP::QueryCount(void) __ptr64
-?QueryCount@MASK_MAP@@QEAAIXZ
-; public: unsigned long __cdecl NT_MEMORY::QueryCount(void)const  __ptr64
-?QueryCount@NT_MEMORY@@QEBAKXZ
-; public: int __cdecl RADIO_GROUP::QueryCount(void) __ptr64
-?QueryCount@RADIO_GROUP@@QEAAHXZ
-; public: int __cdecl SET_OF_AUDIT_CATEGORIES::QueryCount(void) __ptr64
-?QueryCount@SET_OF_AUDIT_CATEGORIES@@QEAAHXZ
-; public: unsigned long __cdecl USER_BROWSER_LBI_CACHE::QueryCount(void)const  __ptr64
-?QueryCount@USER_BROWSER_LBI_CACHE@@QEBAKXZ
-; public: int __cdecl USER_LBI_CACHE::QueryCount(void)const  __ptr64
-?QueryCount@USER_LBI_CACHE@@QEBAHXZ
-; protected: virtual long __cdecl USRLB_NT_GROUP_ENUM::QueryCountPreferences(unsigned long * __ptr64,unsigned long * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long) __ptr64
-?QueryCountPreferences@USRLB_NT_GROUP_ENUM@@MEAAJPEAK0IKKK@Z
-; public: class CONTROL_WINDOW * __ptr64 __cdecl CONTROL_ENTRY::QueryCtrlPtr(void)const  __ptr64
-?QueryCtrlPtr@CONTROL_ENTRY@@QEBAPEAVCONTROL_WINDOW@@XZ
-; public: class USER_BROWSER_LBI_CACHE * __ptr64 __cdecl USER_BROWSER_LB::QueryCurrentCache(void)const  __ptr64
-?QueryCurrentCache@USER_BROWSER_LB@@QEBAPEAVUSER_BROWSER_LBI_CACHE@@XZ
-; public: class BROWSER_DOMAIN * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QueryCurrentDomainFocus(void)const  __ptr64
-?QueryCurrentDomainFocus@NT_USER_BROWSER_DIALOG@@QEBAPEAVBROWSER_DOMAIN@@XZ
-; protected: class SPIN_ITEM * __ptr64 __cdecl SPIN_GROUP::QueryCurrentField(void)const  __ptr64
-?QueryCurrentField@SPIN_GROUP@@IEBAPEAVSPIN_ITEM@@XZ
-; public: int __cdecl LIST_CONTROL::QueryCurrentItem(void)const  __ptr64
-?QueryCurrentItem@LIST_CONTROL@@QEBAHXZ
-; public: unsigned short const * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QueryDCofPrimaryDomain(void) __ptr64
-?QueryDCofPrimaryDomain@NT_USER_BROWSER_DIALOG@@QEAAPEBGXZ
-; public: int __cdecl BLT_DATE_SPIN_GROUP::QueryDay(void)const  __ptr64
-?QueryDay@BLT_DATE_SPIN_GROUP@@QEBAHXZ
-; public: int __cdecl WIN_TIME::QueryDay(void)const  __ptr64
-?QueryDay@WIN_TIME@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::QueryDayPos(void)const  __ptr64
-?QueryDayPos@INTL_PROFILE@@QEBAHXZ
-; public: unsigned long __cdecl UI_EXT::QueryDelta(void)const  __ptr64
-?QueryDelta@UI_EXT@@QEBAKXZ
-; public: unsigned long __cdecl UI_EXT_MGR::QueryDeltaDelta(void)const  __ptr64
-?QueryDeltaDelta@UI_EXT_MGR@@QEBAKXZ
-; private: unsigned int __cdecl HIER_LBI::QueryDescendants(void) __ptr64
-?QueryDescendants@HIER_LBI@@AEAAIXZ
-; public: int __cdecl H_SPLITTER_BAR::QueryDesiredHeight(void) __ptr64
-?QueryDesiredHeight@H_SPLITTER_BAR@@QEAAHXZ
-; public: long __cdecl DEVICE_COMBO::QueryDevice(class NLS_STR * __ptr64)const  __ptr64
-?QueryDevice@DEVICE_COMBO@@QEBAJPEAVNLS_STR@@@Z
-; public: struct HBITMAP__ * __ptr64 __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::QueryDisable(void)const  __ptr64
-?QueryDisable@GRAPHICAL_BUTTON_WITH_DISABLE@@QEBAPEAUHBITMAP__@@XZ
-; public: class DISPLAY_MAP * __ptr64 __cdecl BROWSER_DOMAIN_CB::QueryDisplayMap(class BROWSER_DOMAIN_LBI const * __ptr64) __ptr64
-?QueryDisplayMap@BROWSER_DOMAIN_CB@@QEAAPEAVDISPLAY_MAP@@PEBVBROWSER_DOMAIN_LBI@@@Z
-; public: class DISPLAY_MAP * __ptr64 __cdecl DM_DTE::QueryDisplayMap(void)const  __ptr64
-?QueryDisplayMap@DM_DTE@@QEBAPEAVDISPLAY_MAP@@XZ
-; public: class DISPLAY_MAP * __ptr64 __cdecl SUBJECT_BITMAP_BLOCK::QueryDisplayMap(int,int,int) __ptr64
-?QueryDisplayMap@SUBJECT_BITMAP_BLOCK@@QEAAPEAVDISPLAY_MAP@@HHH@Z
-; public: class DISPLAY_MAP * __ptr64 __cdecl USER_BROWSER_LB::QueryDisplayMap(class USER_BROWSER_LBI const * __ptr64) __ptr64
-?QueryDisplayMap@USER_BROWSER_LB@@QEAAPEAVDISPLAY_MAP@@PEBVUSER_BROWSER_LBI@@@Z
-; public: unsigned short const * __ptr64 __cdecl BROWSER_DOMAIN::QueryDisplayName(void)const  __ptr64
-?QueryDisplayName@BROWSER_DOMAIN@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl BROWSER_DOMAIN_LBI::QueryDisplayName(void)const  __ptr64
-?QueryDisplayName@BROWSER_DOMAIN_LBI@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryDisplayName(void)const  __ptr64
-?QueryDisplayName@USER_BROWSER_LBI@@QEBAPEBGXZ
-; public: unsigned int __cdecl DM_DTE::QueryDisplayWidth(void)const  __ptr64
-?QueryDisplayWidth@DM_DTE@@QEBAIXZ
-; public: unsigned short const * __ptr64 __cdecl UI_EXT::QueryDllName(void)const  __ptr64
-?QueryDllName@UI_EXT@@QEBAPEBGXZ
-; public: class DM_DTE * __ptr64 __cdecl OUTLINE_LISTBOX::QueryDmDte(enum OUTLINE_LB_LEVEL,int)const  __ptr64
-?QueryDmDte@OUTLINE_LISTBOX@@QEBAPEAVDM_DTE@@W4OUTLINE_LB_LEVEL@@H@Z
-; public: class DMID_DTE * __ptr64 __cdecl SUBJECT_BITMAP_BLOCK::QueryDmDte(int,int,int) __ptr64
-?QueryDmDte@SUBJECT_BITMAP_BLOCK@@QEAAPEAVDMID_DTE@@HHH@Z
-; public: unsigned short const * __ptr64 __cdecl OLLB_ENTRY::QueryDomain(void)const  __ptr64
-?QueryDomain@OLLB_ENTRY@@QEBAPEBGXZ
-; public: unsigned int __cdecl BROWSE_DOMAIN_ENUM::QueryDomainCount(void) __ptr64
-?QueryDomainCount@BROWSE_DOMAIN_ENUM@@QEAAIXZ
-; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryDomainIndex(unsigned long)const  __ptr64
-?QueryDomainIndex@LSA_TRANSLATED_NAME_MEM@@QEBAJK@Z
-; public: long __cdecl LSA_TRANSLATED_SID_MEM::QueryDomainIndex(unsigned long)const  __ptr64
-?QueryDomainIndex@LSA_TRANSLATED_SID_MEM@@QEBAJK@Z
-; public: unsigned short const * __ptr64 __cdecl BROWSER_DOMAIN::QueryDomainName(void)const  __ptr64
-?QueryDomainName@BROWSER_DOMAIN@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl BROWSER_SUBJECT::QueryDomainName(void)const  __ptr64
-?QueryDomainName@BROWSER_SUBJECT@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl BROWSE_DOMAIN_INFO::QueryDomainName(void)const  __ptr64
-?QueryDomainName@BROWSE_DOMAIN_INFO@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryDomainName(void)const  __ptr64
-?QueryDomainName@USER_BROWSER_LBI@@QEBAPEBGXZ
-; public: class OS_SID const * __ptr64 __cdecl BROWSER_DOMAIN::QueryDomainSid(void)const  __ptr64
-?QueryDomainSid@BROWSER_DOMAIN@@QEBAPEBVOS_SID@@XZ
-; public: class OS_SID const * __ptr64 __cdecl BROWSER_SUBJECT::QueryDomainSid(void)const  __ptr64
-?QueryDomainSid@BROWSER_SUBJECT@@QEBAPEBVOS_SID@@XZ
-; protected: static unsigned short const * __ptr64 __cdecl CONTROL_WINDOW::QueryEditClassName(void)
-?QueryEditClassName@CONTROL_WINDOW@@KAPEBGXZ
-; public: struct _ULC_ENTRY_BASE * __ptr64 __cdecl USER_BROWSER_LBI_CACHE::QueryEntryPtr(int) __ptr64
-?QueryEntryPtr@USER_BROWSER_LBI_CACHE@@QEAAPEAU_ULC_ENTRY_BASE@@H@Z
-; public: long __cdecl ASSOCHWNDPDLG::QueryError(void)const  __ptr64
-?QueryError@ASSOCHWNDPDLG@@QEBAJXZ
-; public: long __cdecl ASSOCHWNDPWND::QueryError(void)const  __ptr64
-?QueryError@ASSOCHWNDPWND@@QEBAJXZ
-; public: long __cdecl BASE::QueryError(void)const  __ptr64
-?QueryError@BASE@@QEBAJXZ
-; public: long __cdecl CONTROL_WINDOW::QueryError(void)const  __ptr64
-?QueryError@CONTROL_WINDOW@@QEBAJXZ
-; public: long __cdecl FORWARDING_BASE::QueryError(void)const  __ptr64
-?QueryError@FORWARDING_BASE@@QEBAJXZ
-; public: long __cdecl SLT_ELLIPSIS::QueryError(void)const  __ptr64
-?QueryError@SLT_ELLIPSIS@@QEBAJXZ
-; protected: long __cdecl GET_FNAME_BASE_DLG::QueryErrorCode(void)const  __ptr64
-?QueryErrorCode@GET_FNAME_BASE_DLG@@IEBAJXZ
-; public: class USER_BROWSER_LBI * __ptr64 __cdecl USER_BROWSER_LB::QueryErrorLBI(void)const  __ptr64
-?QueryErrorLBI@USER_BROWSER_LB@@QEBAPEAVUSER_BROWSER_LBI@@XZ
-; public: long __cdecl BROWSER_DOMAIN::QueryErrorLoadingAuthority(void)const  __ptr64
-?QueryErrorLoadingAuthority@BROWSER_DOMAIN@@QEBAJXZ
-; public: long __cdecl DOMAIN_FILL_THREAD::QueryErrorLoadingAuthority(void)const  __ptr64
-?QueryErrorLoadingAuthority@DOMAIN_FILL_THREAD@@QEBAJXZ
-; protected: virtual unsigned int __cdecl ARROW_BUTTON::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
-?QueryEventEffects@ARROW_BUTTON@@MEAAIAEBVCONTROL_EVENT@@@Z
-; protected: virtual unsigned int __cdecl BUTTON_CONTROL::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
-?QueryEventEffects@BUTTON_CONTROL@@MEAAIAEBVCONTROL_EVENT@@@Z
-; protected: virtual unsigned int __cdecl COMBOBOX::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
-?QueryEventEffects@COMBOBOX@@MEAAIAEBVCONTROL_EVENT@@@Z
-; public: virtual unsigned int __cdecl CONTROL_VALUE::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
-?QueryEventEffects@CONTROL_VALUE@@UEAAIAEBVCONTROL_EVENT@@@Z
-; protected: virtual unsigned int __cdecl EDIT_CONTROL::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
-?QueryEventEffects@EDIT_CONTROL@@MEAAIAEBVCONTROL_EVENT@@@Z
-; protected: virtual unsigned int __cdecl LIST_CONTROL::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
-?QueryEventEffects@LIST_CONTROL@@MEAAIAEBVCONTROL_EVENT@@@Z
-; public: int __cdecl HIER_LBI::QueryExpanded(void)const  __ptr64
-?QueryExpanded@HIER_LBI@@QEBAHXZ
-; public: class SLIST_OF_UI_EXT * __ptr64 __cdecl UI_EXT_MGR::QueryExtensions(void) __ptr64
-?QueryExtensions@UI_EXT_MGR@@QEAAPEAVSLIST_OF_UI_EXT@@XZ
-; public: unsigned int __cdecl SET_OF_AUDIT_CATEGORIES::QueryFailedBaseCID(void) __ptr64
-?QueryFailedBaseCID@SET_OF_AUDIT_CATEGORIES@@QEAAIXZ
-; public: unsigned long __cdecl OPEN_LBI_BASE::QueryFileID(void)const  __ptr64
-?QueryFileID@OPEN_LBI_BASE@@QEBAKXZ
-; public: long __cdecl GET_FNAME_BASE_DLG::QueryFileTitle(class NLS_STR * __ptr64)const  __ptr64
-?QueryFileTitle@GET_FNAME_BASE_DLG@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl GET_FNAME_BASE_DLG::QueryFilename(class NLS_STR * __ptr64)const  __ptr64
-?QueryFilename@GET_FNAME_BASE_DLG@@QEBAJPEAVNLS_STR@@@Z
-; protected: int __cdecl HEAP_BASE::QueryFirstLeaf(void)const  __ptr64
-?QueryFirstLeaf@HEAP_BASE@@IEBAHXZ
-; public: unsigned long __cdecl ACCOUNT_NAMES_MLE::QueryFlags(void)const  __ptr64
-?QueryFlags@ACCOUNT_NAMES_MLE@@QEBAKXZ
-; public: unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryFlags(void)const  __ptr64
-?QueryFlags@NT_USER_BROWSER_DIALOG@@QEBAKXZ
-; public: struct HFONT__ * __ptr64 __cdecl CONTROL_WINDOW::QueryFont(void)const  __ptr64
-?QueryFont@CONTROL_WINDOW@@QEBAPEAUHFONT__@@XZ
-; public: int __cdecl DEVICE_CONTEXT::QueryFontHeight(void)const  __ptr64
-?QueryFontHeight@DEVICE_CONTEXT@@QEBAHXZ
-; public: unsigned short const * __ptr64 __cdecl BROWSER_SUBJECT::QueryFullName(void)const  __ptr64
-?QueryFullName@BROWSER_SUBJECT@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryFullName(void)const  __ptr64
-?QueryFullName@USER_BROWSER_LBI@@QEBAPEBGXZ
-; public: class CONTROL_GROUP * __ptr64 __cdecl CONTROL_VALUE::QueryGroup(void)const  __ptr64
-?QueryGroup@CONTROL_VALUE@@QEBAPEAVCONTROL_GROUP@@XZ
-; public: long __cdecl NT_GROUP_ENUM_OBJ::QueryGroup(class NLS_STR * __ptr64)const  __ptr64
-?QueryGroup@NT_GROUP_ENUM_OBJ@@QEBAJPEAVNLS_STR@@@Z
-; public: class CONTROL_GROUP * __ptr64 __cdecl SPIN_ITEM::QueryGroup(void) __ptr64
-?QueryGroup@SPIN_ITEM@@QEAAPEAVCONTROL_GROUP@@XZ
-; public: struct HACCEL__ * __ptr64 __cdecl ACCELTABLE::QueryHandle(void)const  __ptr64
-?QueryHandle@ACCELTABLE@@QEBAPEAUHACCEL__@@XZ
-; public: unsigned short __cdecl ATOM_BASE::QueryHandle(void)const  __ptr64
-?QueryHandle@ATOM_BASE@@QEBAGXZ
-; public: struct HBITMAP__ * __ptr64 __cdecl BIT_MAP::QueryHandle(void)const  __ptr64
-?QueryHandle@BIT_MAP@@QEBAPEAUHBITMAP__@@XZ
-; public: struct HFONT__ * __ptr64 __cdecl FONT::QueryHandle(void)const  __ptr64
-?QueryHandle@FONT@@QEBAPEAUHFONT__@@XZ
-; public: struct HMENU__ * __ptr64 __cdecl MENU_BASE::QueryHandle(void)const  __ptr64
-?QueryHandle@MENU_BASE@@QEBAPEAUHMENU__@@XZ
-; public: void * __ptr64 __cdecl SAM_OBJECT::QueryHandle(void)const  __ptr64
-?QueryHandle@SAM_OBJECT@@QEBAPEAXXZ
-; public: struct HBRUSH__ * __ptr64 __cdecl SOLID_BRUSH::QueryHandle(void)const  __ptr64
-?QueryHandle@SOLID_BRUSH@@QEBAPEAUHBRUSH__@@XZ
-; public: void * __ptr64 __cdecl WIN32_HANDLE::QueryHandle(void)const  __ptr64
-?QueryHandle@WIN32_HANDLE@@QEBAPEAXXZ
-; public: struct HDC__ * __ptr64 __cdecl DEVICE_CONTEXT::QueryHdc(void)const  __ptr64
-?QueryHdc@DEVICE_CONTEXT@@QEBAPEAUHDC__@@XZ
-; public: unsigned int __cdecl BIT_MAP::QueryHeight(void)const  __ptr64
-?QueryHeight@BIT_MAP@@QEBAIXZ
-; public: unsigned int __cdecl DISPLAY_MAP::QueryHeight(void)const  __ptr64
-?QueryHeight@DISPLAY_MAP@@QEBAIXZ
-; public: int __cdecl LB_COLUMN_HEADER::QueryHeight(void) __ptr64
-?QueryHeight@LB_COLUMN_HEADER@@QEAAHXZ
-; public: unsigned int __cdecl SIZE_EVENT::QueryHeight(void)const  __ptr64
-?QueryHeight@SIZE_EVENT@@QEBAIXZ
-; public: unsigned int __cdecl XYDIMENSION::QueryHeight(void)const  __ptr64
-?QueryHeight@XYDIMENSION@@QEBAIXZ
-; protected: virtual unsigned long __cdecl BASE_PASSWORD_DIALOG::QueryHelpContext(void) __ptr64
-?QueryHelpContext@BASE_PASSWORD_DIALOG@@MEAAKXZ
-; protected: virtual unsigned long __cdecl BASE_SET_FOCUS_DLG::QueryHelpContext(void) __ptr64
-?QueryHelpContext@BASE_SET_FOCUS_DLG@@MEAAKXZ
-; protected: virtual unsigned long __cdecl DIALOG_WINDOW::QueryHelpContext(void) __ptr64
-?QueryHelpContext@DIALOG_WINDOW@@MEAAKXZ
-; public: unsigned long __cdecl GET_FNAME_BASE_DLG::QueryHelpContext(void) __ptr64
-?QueryHelpContext@GET_FNAME_BASE_DLG@@QEAAKXZ
-; protected: virtual unsigned long __cdecl MSGPOPUP_DIALOG::QueryHelpContext(void) __ptr64
-?QueryHelpContext@MSGPOPUP_DIALOG@@MEAAKXZ
-; protected: virtual unsigned long __cdecl NT_FIND_ACCOUNT_DIALOG::QueryHelpContext(void) __ptr64
-?QueryHelpContext@NT_FIND_ACCOUNT_DIALOG@@MEAAKXZ
-; protected: virtual unsigned long __cdecl NT_GLOBALGROUP_BROWSER_DIALOG::QueryHelpContext(void) __ptr64
-?QueryHelpContext@NT_GLOBALGROUP_BROWSER_DIALOG@@MEAAKXZ
-; protected: virtual unsigned long __cdecl NT_LOCALGROUP_BROWSER_DIALOG::QueryHelpContext(void) __ptr64
-?QueryHelpContext@NT_LOCALGROUP_BROWSER_DIALOG@@MEAAKXZ
-; public: virtual unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryHelpContext(void) __ptr64
-?QueryHelpContext@NT_USER_BROWSER_DIALOG@@UEAAKXZ
-; protected: virtual unsigned long __cdecl OPEN_DIALOG_BASE::QueryHelpContext(void) __ptr64
-?QueryHelpContext@OPEN_DIALOG_BASE@@MEAAKXZ
-; protected: virtual unsigned long __cdecl PROMPT_FOR_ANY_DC_DLG::QueryHelpContext(void) __ptr64
-?QueryHelpContext@PROMPT_FOR_ANY_DC_DLG@@MEAAKXZ
-; public: unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryHelpContextGlobalMembership(void) __ptr64
-?QueryHelpContextGlobalMembership@NT_USER_BROWSER_DIALOG@@QEAAKXZ
-; public: unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryHelpContextLocalMembership(void) __ptr64
-?QueryHelpContextLocalMembership@NT_USER_BROWSER_DIALOG@@QEAAKXZ
-; public: unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryHelpContextSearch(void) __ptr64
-?QueryHelpContextSearch@NT_USER_BROWSER_DIALOG@@QEAAKXZ
-; public: unsigned short const * __ptr64 __cdecl ASSOCHCFILE::QueryHelpFile(void)const  __ptr64
-?QueryHelpFile@ASSOCHCFILE@@QEBAPEBGXZ
-; protected: virtual unsigned short const * __ptr64 __cdecl BASE_SET_FOCUS_DLG::QueryHelpFile(unsigned long) __ptr64
-?QueryHelpFile@BASE_SET_FOCUS_DLG@@MEAAPEBGK@Z
-; protected: virtual unsigned short const * __ptr64 __cdecl DIALOG_WINDOW::QueryHelpFile(unsigned long) __ptr64
-?QueryHelpFile@DIALOG_WINDOW@@MEAAPEBGK@Z
-; public: class NLS_STR * __ptr64 __cdecl GET_FNAME_BASE_DLG::QueryHelpFile(void) __ptr64
-?QueryHelpFile@GET_FNAME_BASE_DLG@@QEAAPEAVNLS_STR@@XZ
-; protected: virtual unsigned short const * __ptr64 __cdecl NT_FIND_ACCOUNT_DIALOG::QueryHelpFile(unsigned long) __ptr64
-?QueryHelpFile@NT_FIND_ACCOUNT_DIALOG@@MEAAPEBGK@Z
-; protected: virtual unsigned short const * __ptr64 __cdecl NT_GROUP_BROWSER_DIALOG::QueryHelpFile(unsigned long) __ptr64
-?QueryHelpFile@NT_GROUP_BROWSER_DIALOG@@MEAAPEBGK@Z
-; public: virtual unsigned short const * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QueryHelpFile(unsigned long) __ptr64
-?QueryHelpFile@NT_USER_BROWSER_DIALOG@@UEAAPEBGK@Z
-; public: unsigned int __cdecl QMOUSEACT_EVENT::QueryHitTest(void)const  __ptr64
-?QueryHitTest@QMOUSEACT_EVENT@@QEBAIXZ
-; public: unsigned int __cdecl LISTBOX::QueryHorizontalExtent(void)const  __ptr64
-?QueryHorizontalExtent@LISTBOX@@QEBAIXZ
-; public: int __cdecl BLT_TIME_SPIN_GROUP::QueryHour(void)const  __ptr64
-?QueryHour@BLT_TIME_SPIN_GROUP@@QEBAHXZ
-; public: int __cdecl WIN_TIME::QueryHour(void)const  __ptr64
-?QueryHour@WIN_TIME@@QEBAHXZ
-; public: long __cdecl LOGON_HOURS_CONTROL::QueryHours(class LOGON_HOURS_SETTING * __ptr64)const  __ptr64
-?QueryHours@LOGON_HOURS_CONTROL@@QEBAJPEAVLOGON_HOURS_SETTING@@@Z
-; public: struct HWND__ * __ptr64 __cdecl CONTROL_EVENT::QueryHwnd(void)const  __ptr64
-?QueryHwnd@CONTROL_EVENT@@QEBAPEAUHWND__@@XZ
-; public: struct HWND__ * __ptr64 __cdecl DISPATCHER::QueryHwnd(void)const  __ptr64
-?QueryHwnd@DISPATCHER@@QEBAPEAUHWND__@@XZ
-; protected: struct HWND__ * __ptr64 __cdecl DISPLAY_CONTEXT::QueryHwnd(void) __ptr64
-?QueryHwnd@DISPLAY_CONTEXT@@IEAAPEAUHWND__@@XZ
-; public: struct HWND__ * __ptr64 __cdecl DLGLOAD::QueryHwnd(void)const  __ptr64
-?QueryHwnd@DLGLOAD@@QEBAPEAUHWND__@@XZ
-; public: struct HWND__ * __ptr64 __cdecl OWNINGWND::QueryHwnd(void)const  __ptr64
-?QueryHwnd@OWNINGWND@@QEBAPEAUHWND__@@XZ
-; public: struct HWND__ * __ptr64 __cdecl PWND2HWND::QueryHwnd(void)const  __ptr64
-?QueryHwnd@PWND2HWND@@QEBAPEAUHWND__@@XZ
-; public: struct HWND__ * __ptr64 __cdecl WINDOW::QueryHwnd(void)const  __ptr64
-?QueryHwnd@WINDOW@@QEBAPEAUHWND__@@XZ
-; public: unsigned int __cdecl DISPLAY_MAP::QueryID(void)const  __ptr64
-?QueryID@DISPLAY_MAP@@QEBAIXZ
-; public: int __cdecl STRING_BITSET_PAIR::QueryID(void) __ptr64
-?QueryID@STRING_BITSET_PAIR@@QEAAHXZ
-; public: unsigned int __cdecl TIMER_BASE::QueryID(void)const  __ptr64
-?QueryID@TIMER_BASE@@QEBAIXZ
-; public: struct HICON__ * __ptr64 __cdecl APP_WINDOW::QueryIcon(void)const  __ptr64
-?QueryIcon@APP_WINDOW@@QEBAPEAUHICON__@@XZ
-; private: unsigned short const * __ptr64 __cdecl MSGPOPUP_DIALOG::QueryIcon(enum MSG_SEVERITY) __ptr64
-?QueryIcon@MSGPOPUP_DIALOG@@AEAAPEBGW4MSG_SEVERITY@@@Z
-; public: int __cdecl HIER_LBI::QueryIndentLevel(void) __ptr64
-?QueryIndentLevel@HIER_LBI@@QEAAHXZ
-; public: class SLE * __ptr64 __cdecl SLE_STRLB_GROUP::QueryInputSLE(void)const  __ptr64
-?QueryInputSLE@SLE_STRLB_GROUP@@QEBAPEAVSLE@@XZ
-; public: class XYRECT const & __ptr64 __cdecl PAINT_DISPLAY_CONTEXT::QueryInvalidRect(void)const  __ptr64
-?QueryInvalidRect@PAINT_DISPLAY_CONTEXT@@QEBAAEBVXYRECT@@XZ
-; public: class LBI * __ptr64 __cdecl BLT_LISTBOX::QueryItem(int)const  __ptr64
-?QueryItem@BLT_LISTBOX@@QEBAPEAVLBI@@H@Z
-; public: class LBI * __ptr64 __cdecl BLT_LISTBOX::QueryItem(void)const  __ptr64
-?QueryItem@BLT_LISTBOX@@QEBAPEAVLBI@@XZ
-; public: class CONTROL_ENTRY * __ptr64 __cdecl CONTROL_TABLE::QueryItem(unsigned int)const  __ptr64
-?QueryItem@CONTROL_TABLE@@QEBAPEAVCONTROL_ENTRY@@I@Z
-; public: class OPEN_LBI_BASE * __ptr64 __cdecl OPEN_LBOX_BASE::QueryItem(int)const  __ptr64
-?QueryItem@OPEN_LBOX_BASE@@QEBAPEAVOPEN_LBI_BASE@@H@Z
-; public: class OPEN_LBI_BASE * __ptr64 __cdecl OPEN_LBOX_BASE::QueryItem(void)const  __ptr64
-?QueryItem@OPEN_LBOX_BASE@@QEBAPEAVOPEN_LBI_BASE@@XZ
-; public: class OLLB_ENTRY * __ptr64 __cdecl OUTLINE_LISTBOX::QueryItem(int)const  __ptr64
-?QueryItem@OUTLINE_LISTBOX@@QEBAPEAVOLLB_ENTRY@@H@Z
-; public: class OLLB_ENTRY * __ptr64 __cdecl OUTLINE_LISTBOX::QueryItem(void)const  __ptr64
-?QueryItem@OUTLINE_LISTBOX@@QEBAPEAVOLLB_ENTRY@@XZ
-; public: class STLBITEM * __ptr64 __cdecl STATELB::QueryItem(void)const  __ptr64
-?QueryItem@STATELB@@QEBAPEAVSTLBITEM@@XZ
-; public: class USER_BROWSER_LBI * __ptr64 __cdecl USER_BROWSER_LB::QueryItem(int)const  __ptr64
-?QueryItem@USER_BROWSER_LB@@QEBAPEAVUSER_BROWSER_LBI@@H@Z
-; public: class USER_BROWSER_LBI * __ptr64 __cdecl USER_BROWSER_LB::QueryItem(void)const  __ptr64
-?QueryItem@USER_BROWSER_LB@@QEBAPEAVUSER_BROWSER_LBI@@XZ
-; public: virtual class LBI * __ptr64 __cdecl USER_LBI_CACHE::QueryItem(int) __ptr64
-?QueryItem@USER_LBI_CACHE@@UEAAPEAVLBI@@H@Z
-; public: int __cdecl MENU_BASE::QueryItemCount(void)const  __ptr64
-?QueryItemCount@MENU_BASE@@QEBAHXZ
-; public: unsigned int __cdecl LIST_CONTROL::QueryItemHeight(unsigned int)const  __ptr64
-?QueryItemHeight@LIST_CONTROL@@QEBAII@Z
-; public: unsigned int __cdecl MENU_BASE::QueryItemID(int)const  __ptr64
-?QueryItemID@MENU_BASE@@QEBAIH@Z
-; public: int __cdecl STRING_LIST_CONTROL::QueryItemLength(int)const  __ptr64
-?QueryItemLength@STRING_LIST_CONTROL@@QEBAHH@Z
-; public: int __cdecl STRING_LIST_CONTROL::QueryItemSize(int)const  __ptr64
-?QueryItemSize@STRING_LIST_CONTROL@@QEBAHH@Z
-; public: unsigned int __cdecl MENU_BASE::QueryItemState(unsigned int,unsigned int)const  __ptr64
-?QueryItemState@MENU_BASE@@QEBAIII@Z
-; public: long __cdecl MENU_BASE::QueryItemText(unsigned short * __ptr64,unsigned int,unsigned int,unsigned int)const  __ptr64
-?QueryItemText@MENU_BASE@@QEBAJPEAGIII@Z
-; public: long __cdecl MENU_BASE::QueryItemText(class NLS_STR * __ptr64,unsigned int,unsigned int)const  __ptr64
-?QueryItemText@MENU_BASE@@QEBAJPEAVNLS_STR@@II@Z
-; public: long __cdecl STRING_LIST_CONTROL::QueryItemText(unsigned short * __ptr64,int,int)const  __ptr64
-?QueryItemText@STRING_LIST_CONTROL@@QEBAJPEAGHH@Z
-; public: long __cdecl STRING_LIST_CONTROL::QueryItemText(class NLS_STR * __ptr64)const  __ptr64
-?QueryItemText@STRING_LIST_CONTROL@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl STRING_LIST_CONTROL::QueryItemText(class NLS_STR * __ptr64,int)const  __ptr64
-?QueryItemText@STRING_LIST_CONTROL@@QEBAJPEAVNLS_STR@@H@Z
-; private: long __cdecl STRING_LIST_CONTROL::QueryItemTextAux(unsigned short * __ptr64,int)const  __ptr64
-?QueryItemTextAux@STRING_LIST_CONTROL@@AEBAJPEAGH@Z
-; private: int __cdecl HIER_LBI::QueryLBIndex(void) __ptr64
-?QueryLBIndex@HIER_LBI@@AEAAHXZ
-; public: __int64 __cdecl EVENT::QueryLParam(void)const  __ptr64
-?QueryLParam@EVENT@@QEBA_JXZ
-; public: class LSA_POLICY * __ptr64 __cdecl BROWSER_DOMAIN::QueryLSAPolicy(void)const  __ptr64
-?QueryLSAPolicy@BROWSER_DOMAIN@@QEBAPEAVLSA_POLICY@@XZ
-; public: class STATELB * __ptr64 __cdecl STATELBGRP::QueryLb(void) __ptr64
-?QueryLb@STATELBGRP@@QEAAPEAVSTATELB@@XZ
-; public: virtual unsigned short __cdecl BROWSER_DOMAIN_LBI::QueryLeadingChar(void)const  __ptr64
-?QueryLeadingChar@BROWSER_DOMAIN_LBI@@UEBAGXZ
-; public: virtual unsigned short __cdecl BROWSER_DOMAIN_LBI_PB::QueryLeadingChar(void)const  __ptr64
-?QueryLeadingChar@BROWSER_DOMAIN_LBI_PB@@UEBAGXZ
-; public: virtual unsigned short __cdecl LBI::QueryLeadingChar(void)const  __ptr64
-?QueryLeadingChar@LBI@@UEBAGXZ
-; public: virtual unsigned short __cdecl OLLB_ENTRY::QueryLeadingChar(void)const  __ptr64
-?QueryLeadingChar@OLLB_ENTRY@@UEBAGXZ
-; protected: virtual unsigned short __cdecl OPEN_LBI_BASE::QueryLeadingChar(void)const  __ptr64
-?QueryLeadingChar@OPEN_LBI_BASE@@MEBAGXZ
-; protected: virtual unsigned short __cdecl STLBITEM::QueryLeadingChar(void)const  __ptr64
-?QueryLeadingChar@STLBITEM@@MEBAGXZ
-; public: virtual unsigned short __cdecl USER_BROWSER_LBI::QueryLeadingChar(void)const  __ptr64
-?QueryLeadingChar@USER_BROWSER_LBI@@UEBAGXZ
-; public: int __cdecl XYRECT::QueryLeft(void)const  __ptr64
-?QueryLeft@XYRECT@@QEBAHXZ
-; protected: int __cdecl HEAP_BASE::QueryLeftChild(int)const  __ptr64
-?QueryLeftChild@HEAP_BASE@@IEBAHH@Z
-; public: virtual unsigned int __cdecl DTE::QueryLeftMargin(void)const  __ptr64
-?QueryLeftMargin@DTE@@UEBAIXZ
-; public: virtual unsigned int __cdecl METALLIC_STR_DTE::QueryLeftMargin(void)const  __ptr64
-?QueryLeftMargin@METALLIC_STR_DTE@@UEBAIXZ
-; public: int __cdecl OLLB_ENTRY::QueryLevel(void)const  __ptr64
-?QueryLevel@OLLB_ENTRY@@QEBAHXZ
-; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryLimit(void)const  __ptr64
-?QueryLimit@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
-; protected: virtual int __cdecl CONSOLE_ELLIPSIS::QueryLimit(void) __ptr64
-?QueryLimit@CONSOLE_ELLIPSIS@@MEAAHXZ
-; protected: virtual int __cdecl WIN_ELLIPSIS::QueryLimit(void) __ptr64
-?QueryLimit@WIN_ELLIPSIS@@MEAAHXZ
-; protected: static unsigned short const * __ptr64 __cdecl CONTROL_WINDOW::QueryListboxClassName(void)
-?QueryListboxClassName@CONTROL_WINDOW@@KAPEBGXZ
-; long __cdecl QueryLoggedOnDomainInfo(class NLS_STR * __ptr64,class NLS_STR * __ptr64)
-?QueryLoggedOnDomainInfo@@YAJPEAVNLS_STR@@0@Z
-; public: unsigned short const * __ptr64 __cdecl BROWSER_DOMAIN::QueryLsaLookupName(void)const  __ptr64
-?QueryLsaLookupName@BROWSER_DOMAIN@@QEBAPEBGXZ
-; public: struct HBITMAP__ * __ptr64 __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::QueryMain(void)const  __ptr64
-?QueryMain@GRAPHICAL_BUTTON_WITH_DISABLE@@QEBAPEAUHBITMAP__@@XZ
-; public: struct HBITMAP__ * __ptr64 __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::QueryMainInvert(void)const  __ptr64
-?QueryMainInvert@GRAPHICAL_BUTTON_WITH_DISABLE@@QEBAPEAUHBITMAP__@@XZ
-; public: class DISPLAY_MAP * __ptr64 const * __ptr64 __cdecl STATELB::QueryMapArray(void)const  __ptr64
-?QueryMapArray@STATELB@@QEBAPEBQEAVDISPLAY_MAP@@XZ
-; public: int __cdecl STATELB::QueryMapCount(void)const  __ptr64
-?QueryMapCount@STATELB@@QEBAHXZ
-; public: class BITFIELD * __ptr64 __cdecl AUDIT_CHECKBOXES::QueryMask(void) __ptr64
-?QueryMask@AUDIT_CHECKBOXES@@QEAAPEAVBITFIELD@@XZ
-; public: struct HBITMAP__ * __ptr64 __cdecl DISPLAY_MAP::QueryMaskHandle(void)const  __ptr64
-?QueryMaskHandle@DISPLAY_MAP@@QEBAPEAUHBITMAP__@@XZ
-; public: static long __cdecl BLT_MASTER_TIMER::QueryMasterTimer(class BLT_MASTER_TIMER * __ptr64 * __ptr64)
-?QueryMasterTimer@BLT_MASTER_TIMER@@SAJPEAPEAV1@@Z
-; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryMax(void)const  __ptr64
-?QueryMax@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
-; public: unsigned int __cdecl SCROLLBAR::QueryMax(void)const  __ptr64
-?QueryMax@SCROLLBAR@@QEBAIXZ
-; protected: virtual int __cdecl CONSOLE_ELLIPSIS::QueryMaxCharWidth(void) __ptr64
-?QueryMaxCharWidth@CONSOLE_ELLIPSIS@@MEAAHXZ
-; protected: virtual int __cdecl WIN_ELLIPSIS::QueryMaxCharWidth(void) __ptr64
-?QueryMaxCharWidth@WIN_ELLIPSIS@@MEAAHXZ
-; public: struct HMENU__ * __ptr64 __cdecl APP_WINDOW::QueryMenu(void)const  __ptr64
-?QueryMenu@APP_WINDOW@@QEBAPEAUHMENU__@@XZ
-; public: struct HMENU__ * __ptr64 __cdecl UI_MENU_EXT::QueryMenuHandle(void)const  __ptr64
-?QueryMenuHandle@UI_MENU_EXT@@QEBAPEAUHMENU__@@XZ
-; public: unsigned int __cdecl EVENT::QueryMessage(void)const  __ptr64
-?QueryMessage@EVENT@@QEBAIXZ
-; public: int __cdecl BLT_TIME_SPIN_GROUP::QueryMin(void)const  __ptr64
-?QueryMin@BLT_TIME_SPIN_GROUP@@QEBAHXZ
-; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryMin(void)const  __ptr64
-?QueryMin@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
-; public: unsigned int __cdecl SCROLLBAR::QueryMin(void)const  __ptr64
-?QueryMin@SCROLLBAR@@QEBAIXZ
-; public: int __cdecl WIN_TIME::QueryMinute(void)const  __ptr64
-?QueryMinute@WIN_TIME@@QEBAHXZ
-; public: long __cdecl ELAPSED_TIME_CONTROL::QueryMinuteValue(void)const  __ptr64
-?QueryMinuteValue@ELAPSED_TIME_CONTROL@@QEBAJXZ
-; public: struct HINSTANCE__ * __ptr64 __cdecl ASSOCHCFILE::QueryModule(void)const  __ptr64
-?QueryModule@ASSOCHCFILE@@QEBAPEAUHINSTANCE__@@XZ
-; public: int __cdecl BLT_DATE_SPIN_GROUP::QueryMonth(void)const  __ptr64
-?QueryMonth@BLT_DATE_SPIN_GROUP@@QEBAHXZ
-; public: int __cdecl WIN_TIME::QueryMonth(void)const  __ptr64
-?QueryMonth@WIN_TIME@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::QueryMonthPos(void)const  __ptr64
-?QueryMonthPos@INTL_PROFILE@@QEBAHXZ
-; public: long __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryName(class NLS_STR * __ptr64)const  __ptr64
-?QueryName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl LSA_REF_DOMAIN_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
-?QueryName@LSA_REF_DOMAIN_MEM@@QEBAJKPEAVNLS_STR@@@Z
-; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
-?QueryName@LSA_TRANSLATED_NAME_MEM@@QEBAJKPEAVNLS_STR@@@Z
-; public: long __cdecl LSA_TRUST_INFO_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
-?QueryName@LSA_TRUST_INFO_MEM@@QEBAJKPEAVNLS_STR@@@Z
-; public: long __cdecl SAM_RID_ENUMERATION_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
-?QueryName@SAM_RID_ENUMERATION_MEM@@QEBAJKPEAVNLS_STR@@@Z
-; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryName(void)const  __ptr64
-?QueryName@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl UI_DOMAIN::QueryName(void)const  __ptr64
-?QueryName@UI_DOMAIN@@QEBAPEBGXZ
-; protected: struct tagOFNW * __ptr64 __cdecl GET_FNAME_BASE_DLG::QueryOFN(void) __ptr64
-?QueryOFN@GET_FNAME_BASE_DLG@@IEAAPEAUtagOFNW@@XZ
-; public: class OS_SID const * __ptr64 __cdecl SAM_DOMAIN::QueryOSSID(void)const  __ptr64
-?QueryOSSID@SAM_DOMAIN@@QEBAPEBVOS_SID@@XZ
-; public: class OS_SID const * __ptr64 __cdecl USER_BROWSER_LBI::QueryOSSID(void)const  __ptr64
-?QueryOSSID@USER_BROWSER_LBI@@QEBAPEBVOS_SID@@XZ
-; protected: virtual long __cdecl CANCEL_TASK_DIALOG::QueryObjectName(class NLS_STR * __ptr64) __ptr64
-?QueryObjectName@CANCEL_TASK_DIALOG@@MEAAJPEAVNLS_STR@@@Z
-; public: class NLS_STR  __cdecl BASE_ELLIPSIS::QueryOriginalStr(void)const  __ptr64
-?QueryOriginalStr@BASE_ELLIPSIS@@QEBA?AVNLS_STR@@XZ
-; public: struct HWND__ * __ptr64 __cdecl WINDOW::QueryOwnerHwnd(void)const  __ptr64
-?QueryOwnerHwnd@WINDOW@@QEBAPEAUHWND__@@XZ
-; public: class OWNER_WINDOW * __ptr64 __cdecl SET_OF_AUDIT_CATEGORIES::QueryOwnerWindow(void) __ptr64
-?QueryOwnerWindow@SET_OF_AUDIT_CATEGORIES@@QEAAPEAVOWNER_WINDOW@@XZ
-; public: unsigned short const * __ptr64 __cdecl UI_DOMAIN::QueryPDC(void)const  __ptr64
-?QueryPDC@UI_DOMAIN@@QEBAPEBGXZ
-; public: void * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
-?QueryPSID@LSA_ACCT_DOM_INFO_MEM@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
-?QueryPSID@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPSID(unsigned long)const  __ptr64
-?QueryPSID@LSA_REF_DOMAIN_MEM@@QEBAPEAXK@Z
-; public: void * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPSID(unsigned long)const  __ptr64
-?QueryPSID@LSA_TRUST_INFO_MEM@@QEBAPEAXK@Z
-; public: void * __ptr64 __cdecl OS_SID::QueryPSID(void)const  __ptr64
-?QueryPSID@OS_SID@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl SAM_DOMAIN::QueryPSID(void)const  __ptr64
-?QueryPSID@SAM_DOMAIN@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl USER_BROWSER_LBI::QueryPSID(void)const  __ptr64
-?QueryPSID@USER_BROWSER_LBI@@QEBAQEAXXZ
-; protected: int __cdecl HEAP_BASE::QueryParent(int)const  __ptr64
-?QueryParent@HEAP_BASE@@IEBAHH@Z
-; public: long __cdecl BASE_PASSWORD_DIALOG::QueryPassword(class NLS_STR * __ptr64) __ptr64
-?QueryPassword@BASE_PASSWORD_DIALOG@@QEAAJPEAVNLS_STR@@@Z
-; public: unsigned short const * __ptr64 __cdecl OPEN_LBI_BASE::QueryPath(void)const  __ptr64
-?QueryPath@OPEN_LBI_BASE@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NLS_STR::QueryPch(void)const  __ptr64
-?QueryPch@NLS_STR@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl STR_DTE::QueryPch(void)const  __ptr64
-?QueryPch@STR_DTE@@QEBAPEBGXZ
-; public: unsigned long __cdecl OPEN_LBI_BASE::QueryPermissions(void)const  __ptr64
-?QueryPermissions@OPEN_LBI_BASE@@QEBAKXZ
-; public: struct tagPOINT  __cdecl XYPOINT::QueryPoint(void)const  __ptr64
-?QueryPoint@XYPOINT@@QEBA?AUtagPOINT@@XZ
-; public: static class XYPOINT  __cdecl CURSOR::QueryPos(void)
-?QueryPos@CURSOR@@SA?AVXYPOINT@@XZ
-; public: class XYPOINT  __cdecl MOUSE_EVENT::QueryPos(void)const  __ptr64
-?QueryPos@MOUSE_EVENT@@QEBA?AVXYPOINT@@XZ
-; public: unsigned int __cdecl SCROLLBAR::QueryPos(void)const  __ptr64
-?QueryPos@SCROLLBAR@@QEBAIXZ
-; public: class XYPOINT  __cdecl SPIN_GROUP::QueryPos(void) __ptr64
-?QueryPos@SPIN_GROUP@@QEAA?AVXYPOINT@@XZ
-; public: class XYPOINT  __cdecl WINDOW::QueryPos(void)const  __ptr64
-?QueryPos@WINDOW@@QEBA?AVXYPOINT@@XZ
-; public: int __cdecl WIN32_THREAD::QueryPriority(void) __ptr64
-?QueryPriority@WIN32_THREAD@@QEAAHXZ
-; public: unsigned __int64 __cdecl PROC_INSTANCE::QueryProc(void)const  __ptr64
-?QueryProc@PROC_INSTANCE@@QEBA_KXZ
-; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::QueryProp(void) __ptr64
-?QueryProp@ITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
-; public: class USER_BROWSER_LBI * __ptr64 __cdecl ITER_SL_USER_BROWSER_LBI::QueryProp(void) __ptr64
-?QueryProp@ITER_SL_USER_BROWSER_LBI@@QEAAPEAVUSER_BROWSER_LBI@@XZ
-; public: unsigned short const * __ptr64 __cdecl IDRESOURCE::QueryPsz(void)const  __ptr64
-?QueryPsz@IDRESOURCE@@QEBAPEBGXZ
-; public: unsigned char * __ptr64 __cdecl BLT_SCRATCH::QueryPtr(void)const  __ptr64
-?QueryPtr@BLT_SCRATCH@@QEBAPEAEXZ
-; public: struct _POLICY_ACCOUNT_DOMAIN_INFO const * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_ACCT_DOM_INFO_MEM@@QEBAPEBU_POLICY_ACCOUNT_DOMAIN_INFO@@XZ
-; public: struct _POLICY_PRIMARY_DOMAIN_INFO const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_POLICY_PRIMARY_DOMAIN_INFO@@XZ
-; private: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_REF_DOMAIN_MEM@@AEBAPEBU_LSA_TRUST_INFORMATION@@XZ
-; private: struct _LSA_TRANSLATED_NAME const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_LSA_TRANSLATED_NAME@@XZ
-; private: struct _LSA_TRANSLATED_SID const * __ptr64 __cdecl LSA_TRANSLATED_SID_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_TRANSLATED_SID_MEM@@AEBAPEBU_LSA_TRANSLATED_SID@@XZ
-; public: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@LSA_TRUST_INFO_MEM@@QEBAPEBU_LSA_TRUST_INFORMATION@@XZ
-; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl SAM_RID_ENUMERATION_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@SAM_RID_ENUMERATION_MEM@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
-; private: unsigned long const * __ptr64 __cdecl SAM_RID_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@SAM_RID_MEM@@AEBAPEBKXZ
-; public: void * __ptr64 * __ptr64 __cdecl SAM_SID_MEM::QueryPtr(void)const  __ptr64
-?QueryPtr@SAM_SID_MEM@@QEBAPEAPEAXXZ
-; public: long __cdecl BROWSER_SUBJECT::QueryQualifiedName(class NLS_STR * __ptr64,class NLS_STR const * __ptr64,int)const  __ptr64
-?QueryQualifiedName@BROWSER_SUBJECT@@QEBAJPEAVNLS_STR@@PEBV2@H@Z
-; public: unsigned int __cdecl CONTROLVAL_CID_PAIR::QueryRBCID(void)const  __ptr64
-?QueryRBCID@CONTROLVAL_CID_PAIR@@QEBAIXZ
-; public: unsigned long __cdecl LSA_TRANSLATED_SID_MEM::QueryRID(unsigned long)const  __ptr64
-?QueryRID@LSA_TRANSLATED_SID_MEM@@QEBAKK@Z
-; public: unsigned int __cdecl NT_GROUP_ENUM_OBJ::QueryRID(void)const  __ptr64
-?QueryRID@NT_GROUP_ENUM_OBJ@@QEBAIXZ
-; public: unsigned long __cdecl SAM_RID_ENUMERATION_MEM::QueryRID(unsigned long)const  __ptr64
-?QueryRID@SAM_RID_ENUMERATION_MEM@@QEBAKK@Z
-; public: unsigned long __cdecl SAM_RID_MEM::QueryRID(unsigned long)const  __ptr64
-?QueryRID@SAM_RID_MEM@@QEBAKK@Z
-; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryRange(void)const  __ptr64
-?QueryRange@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
-; protected: class PUSH_BUTTON * __ptr64 __cdecl SLE_STRLB_GROUP::QueryRemoveButton(void)const  __ptr64
-?QueryRemoveButton@SLE_STRLB_GROUP@@IEBAPEAVPUSH_BUTTON@@XZ
-; public: unsigned int __cdecl KEY_EVENT::QueryRepeat(void)const  __ptr64
-?QueryRepeat@KEY_EVENT@@QEBAIXZ
-; public: int __cdecl XYRECT::QueryRight(void)const  __ptr64
-?QueryRight@XYRECT@@QEBAHXZ
-; protected: int __cdecl HEAP_BASE::QueryRightSibling(int)const  __ptr64
-?QueryRightSibling@HEAP_BASE@@IEBAHH@Z
-; public: virtual struct HWND__ * __ptr64 __cdecl CLIENT_WINDOW::QueryRobustHwnd(void)const  __ptr64
-?QueryRobustHwnd@CLIENT_WINDOW@@UEBAPEAUHWND__@@XZ
-; public: virtual struct HWND__ * __ptr64 __cdecl DIALOG_WINDOW::QueryRobustHwnd(void)const  __ptr64
-?QueryRobustHwnd@DIALOG_WINDOW@@UEBAPEAUHWND__@@XZ
-; public: virtual struct HWND__ * __ptr64 __cdecl DISPATCHER::QueryRobustHwnd(void)const  __ptr64
-?QueryRobustHwnd@DISPATCHER@@UEBAPEAUHWND__@@XZ
-; public: unsigned int __cdecl SET_OF_AUDIT_CATEGORIES::QuerySLTBaseCID(void) __ptr64
-?QuerySLTBaseCID@SET_OF_AUDIT_CATEGORIES@@QEAAIXZ
-; public: unsigned int __cdecl LISTBOX::QueryScrollPos(void)const  __ptr64
-?QueryScrollPos@LISTBOX@@QEBAIXZ
-; public: int __cdecl BLT_TIME_SPIN_GROUP::QuerySec(void)const  __ptr64
-?QuerySec@BLT_TIME_SPIN_GROUP@@QEBAHXZ
-; public: int __cdecl WIN_TIME::QuerySecond(void)const  __ptr64
-?QuerySecond@WIN_TIME@@QEBAHXZ
-; public: long __cdecl ELAPSED_TIME_CONTROL::QuerySecondValue(void)const  __ptr64
-?QuerySecondValue@ELAPSED_TIME_CONTROL@@QEBAJXZ
-; public: int __cdecl LIST_CONTROL::QuerySelCount(void)const  __ptr64
-?QuerySelCount@LIST_CONTROL@@QEBAHXZ
-; public: long __cdecl LIST_CONTROL::QuerySelItems(int * __ptr64,int)const  __ptr64
-?QuerySelItems@LIST_CONTROL@@QEBAJPEAHH@Z
-; public: int __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::QuerySelected(void)const  __ptr64
-?QuerySelected@GRAPHICAL_BUTTON_WITH_DISABLE@@QEBAHXZ
-; public: unsigned int __cdecl MAGIC_GROUP::QuerySelection(void)const  __ptr64
-?QuerySelection@MAGIC_GROUP@@QEBAIXZ
-; public: unsigned int __cdecl RADIO_GROUP::QuerySelection(void)const  __ptr64
-?QuerySelection@RADIO_GROUP@@QEBAIXZ
-; public: class SLIST_OF_USER_BROWSER_LBI * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QuerySelectionCache(void) __ptr64
-?QuerySelectionCache@NT_USER_BROWSER_DIALOG@@QEAAPEAVSLIST_OF_USER_BROWSER_LBI@@XZ
-; public: class SLIST_OF_USER_BROWSER_LBI * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QuerySelectionList(void) __ptr64
-?QuerySelectionList@NT_USER_BROWSER_DIALOG@@QEAAPEAVSLIST_OF_USER_BROWSER_LBI@@XZ
-; public: unsigned short const * __ptr64 __cdecl ADMIN_AUTHORITY::QueryServer(void)const  __ptr64
-?QueryServer@ADMIN_AUTHORITY@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl OLLB_ENTRY::QueryServer(void)const  __ptr64
-?QueryServer@OLLB_ENTRY@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl OPEN_DIALOG_BASE::QueryServer(void)const  __ptr64
-?QueryServer@OPEN_DIALOG_BASE@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QueryServerResourceLivesOn(void)const  __ptr64
-?QueryServerResourceLivesOn@NT_USER_BROWSER_DIALOG@@QEBAPEBGXZ
-; public: class OS_SID const * __ptr64 __cdecl BROWSER_SUBJECT::QuerySid(void)const  __ptr64
-?QuerySid@BROWSER_SUBJECT@@QEBAPEBVOS_SID@@XZ
-; public: void * __ptr64 __cdecl OS_SID::QuerySid(void)const  __ptr64
-?QuerySid@OS_SID@@QEBAPEAXXZ
-; public: unsigned int __cdecl BLT_LISTBOX::QuerySingleLineHeight(void) __ptr64
-?QuerySingleLineHeight@BLT_LISTBOX@@QEAAIXZ
-; public: unsigned int __cdecl BLT_SCRATCH::QuerySize(void)const  __ptr64
-?QuerySize@BLT_SCRATCH@@QEBAIXZ
-; public: class XYDIMENSION  __cdecl SPIN_GROUP::QuerySize(void) __ptr64
-?QuerySize@SPIN_GROUP@@QEAA?AVXYDIMENSION@@XZ
-; public: class XYDIMENSION  __cdecl WINDOW::QuerySize(void)const  __ptr64
-?QuerySize@WINDOW@@QEBA?AVXYDIMENSION@@XZ
-; public: void __cdecl WINDOW::QuerySize(int * __ptr64,int * __ptr64)const  __ptr64
-?QuerySize@WINDOW@@QEBAXPEAH0@Z
-; public: virtual unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QuerySmallDecValue(void)const  __ptr64
-?QuerySmallDecValue@CHANGEABLE_SPIN_ITEM@@UEBAKXZ
-; public: virtual unsigned long __cdecl SPIN_SLE_VALID_SECOND::QuerySmallDecValue(void)const  __ptr64
-?QuerySmallDecValue@SPIN_SLE_VALID_SECOND@@UEBAKXZ
-; public: virtual unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QuerySmallIncValue(void)const  __ptr64
-?QuerySmallIncValue@CHANGEABLE_SPIN_ITEM@@UEBAKXZ
-; public: virtual unsigned long __cdecl SPIN_SLE_VALID_SECOND::QuerySmallIncValue(void)const  __ptr64
-?QuerySmallIncValue@SPIN_SLE_VALID_SECOND@@UEBAKXZ
-; protected: class NT_GROUP_BROWSER_DIALOG * __ptr64 __cdecl NT_GROUP_BROWSER_DIALOG::QuerySourceDialog(void) __ptr64
-?QuerySourceDialog@NT_GROUP_BROWSER_DIALOG@@IEAAPEAV1@XZ
-; public: class USER_BROWSER_LB * __ptr64 __cdecl NT_FIND_ACCOUNT_DIALOG::QuerySourceListbox(void) __ptr64
-?QuerySourceListbox@NT_FIND_ACCOUNT_DIALOG@@QEAAPEAVUSER_BROWSER_LB@@XZ
-; public: class USER_BROWSER_LB * __ptr64 __cdecl NT_GROUP_BROWSER_DIALOG::QuerySourceListbox(void) __ptr64
-?QuerySourceListbox@NT_GROUP_BROWSER_DIALOG@@QEAAPEAVUSER_BROWSER_LB@@XZ
-; protected: unsigned int __cdecl STATE_BUTTON_CONTROL::QueryState(void)const  __ptr64
-?QueryState@STATE_BUTTON_CONTROL@@IEBAIXZ
-; public: int __cdecl STLBITEM::QueryState(void)const  __ptr64
-?QueryState@STLBITEM@@QEBAHXZ
-; private: enum _THREAD_STATE  __cdecl WIN32_THREAD::QueryState(void)const  __ptr64
-?QueryState@WIN32_THREAD@@AEBA?AW4_THREAD_STATE@@XZ
-; protected: static unsigned short const * __ptr64 __cdecl CONTROL_WINDOW::QueryStaticClassName(void)
-?QueryStaticClassName@CONTROL_WINDOW@@KAPEBGXZ
-; public: class STRING_LISTBOX * __ptr64 __cdecl SLE_STRLB_GROUP::QueryStrLB(void)const  __ptr64
-?QueryStrLB@SLE_STRLB_GROUP@@QEBAPEAVSTRING_LISTBOX@@XZ
-; protected: virtual int __cdecl CONSOLE_ELLIPSIS::QueryStrLen(unsigned short const * __ptr64,int) __ptr64
-?QueryStrLen@CONSOLE_ELLIPSIS@@MEAAHPEBGH@Z
-; protected: virtual int __cdecl CONSOLE_ELLIPSIS::QueryStrLen(class NLS_STR) __ptr64
-?QueryStrLen@CONSOLE_ELLIPSIS@@MEAAHVNLS_STR@@@Z
-; protected: virtual int __cdecl WIN_ELLIPSIS::QueryStrLen(unsigned short const * __ptr64,int) __ptr64
-?QueryStrLen@WIN_ELLIPSIS@@MEAAHPEBGH@Z
-; protected: virtual int __cdecl WIN_ELLIPSIS::QueryStrLen(class NLS_STR) __ptr64
-?QueryStrLen@WIN_ELLIPSIS@@MEAAHVNLS_STR@@@Z
-; private: long __cdecl SPIN_SLE_STR::QueryStrNum(class NLS_STR const & __ptr64,long) __ptr64
-?QueryStrNum@SPIN_SLE_STR@@AEAAJAEBVNLS_STR@@J@Z
-; public: long __cdecl ATOM_BASE::QueryString(unsigned short * __ptr64,unsigned int)const  __ptr64
-?QueryString@ATOM_BASE@@QEBAJPEAGI@Z
-; public: class NLS_STR * __ptr64 __cdecl STRING_BITSET_PAIR::QueryString(void) __ptr64
-?QueryString@STRING_BITSET_PAIR@@QEAAPEAVNLS_STR@@XZ
-; public: enum ELLIPSIS_STYLE  __cdecl BASE_ELLIPSIS::QueryStyle(void)const  __ptr64
-?QueryStyle@BASE_ELLIPSIS@@QEBA?AW4ELLIPSIS_STYLE@@XZ
-; public: unsigned long __cdecl WINDOW::QueryStyle(void)const  __ptr64
-?QueryStyle@WINDOW@@QEBAKXZ
-; public: struct HMENU__ * __ptr64 __cdecl MENU_BASE::QuerySubMenu(int)const  __ptr64
-?QuerySubMenu@MENU_BASE@@QEBAPEAUHMENU__@@H@Z
-; public: unsigned int __cdecl SET_OF_AUDIT_CATEGORIES::QuerySuccessBaseCID(void) __ptr64
-?QuerySuccessBaseCID@SET_OF_AUDIT_CATEGORIES@@QEAAIXZ
-; protected: unsigned long __cdecl BASE_SET_FOCUS_DLG::QuerySuppliedHelpContext(void) __ptr64
-?QuerySuppliedHelpContext@BASE_SET_FOCUS_DLG@@IEAAKXZ
-; protected: unsigned short const * __ptr64 __cdecl BASE_SET_FOCUS_DLG::QuerySuppliedHelpFile(void) __ptr64
-?QuerySuppliedHelpFile@BASE_SET_FOCUS_DLG@@IEAAPEBGXZ
-; public: long __cdecl BASE_ELLIPSIS::QueryText(unsigned short * __ptr64,unsigned int)const  __ptr64
-?QueryText@BASE_ELLIPSIS@@QEBAJPEAGI@Z
-; public: long __cdecl BASE_ELLIPSIS::QueryText(class NLS_STR * __ptr64)const  __ptr64
-?QueryText@BASE_ELLIPSIS@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl SLE_STRIP::QueryText(unsigned short * __ptr64,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?QueryText@SLE_STRIP@@QEBAJPEAGIPEBG1@Z
-; public: long __cdecl SLE_STRIP::QueryText(class NLS_STR * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
-?QueryText@SLE_STRIP@@QEBAJPEAVNLS_STR@@PEBG1@Z
-; public: long __cdecl SLT_ELLIPSIS::QueryText(unsigned short * __ptr64,unsigned int)const  __ptr64
-?QueryText@SLT_ELLIPSIS@@QEBAJPEAGI@Z
-; public: long __cdecl SLT_ELLIPSIS::QueryText(class NLS_STR * __ptr64)const  __ptr64
-?QueryText@SLT_ELLIPSIS@@QEBAJPEAVNLS_STR@@@Z
-; public: long __cdecl WINDOW::QueryText(unsigned short * __ptr64,unsigned int)const  __ptr64
-?QueryText@WINDOW@@QEBAJPEAGI@Z
-; public: long __cdecl WINDOW::QueryText(class NLS_STR * __ptr64)const  __ptr64
-?QueryText@WINDOW@@QEBAJPEAVNLS_STR@@@Z
-; public: class XYDIMENSION  __cdecl DEVICE_CONTEXT::QueryTextExtent(class NLS_STR const & __ptr64)const  __ptr64
-?QueryTextExtent@DEVICE_CONTEXT@@QEBA?AVXYDIMENSION@@AEBVNLS_STR@@@Z
-; public: class XYDIMENSION  __cdecl DEVICE_CONTEXT::QueryTextExtent(unsigned short const * __ptr64,unsigned int)const  __ptr64
-?QueryTextExtent@DEVICE_CONTEXT@@QEBA?AVXYDIMENSION@@PEBGI@Z
-; public: int __cdecl BASE_ELLIPSIS::QueryTextLength(void)const  __ptr64
-?QueryTextLength@BASE_ELLIPSIS@@QEBAHXZ
-; public: unsigned int __cdecl NLS_STR::QueryTextLength(void)const  __ptr64
-?QueryTextLength@NLS_STR@@QEBAIXZ
-; public: int __cdecl WINDOW::QueryTextLength(void)const  __ptr64
-?QueryTextLength@WINDOW@@QEBAHXZ
-; public: int __cdecl DEVICE_CONTEXT::QueryTextMetrics(struct tagTEXTMETRICW * __ptr64)const  __ptr64
-?QueryTextMetrics@DEVICE_CONTEXT@@QEBAHPEAUtagTEXTMETRICW@@@Z
-; public: int __cdecl BASE_ELLIPSIS::QueryTextSize(void)const  __ptr64
-?QueryTextSize@BASE_ELLIPSIS@@QEBAHXZ
-; public: int __cdecl WINDOW::QueryTextSize(void)const  __ptr64
-?QueryTextSize@WINDOW@@QEBAHXZ
-; public: int __cdecl DISPLAY_CONTEXT::QueryTextWidth(class NLS_STR const & __ptr64)const  __ptr64
-?QueryTextWidth@DISPLAY_CONTEXT@@QEBAHAEBVNLS_STR@@@Z
-; public: int __cdecl DISPLAY_CONTEXT::QueryTextWidth(unsigned short const * __ptr64,unsigned int)const  __ptr64
-?QueryTextWidth@DISPLAY_CONTEXT@@QEBAHPEBGI@Z
-; public: int __cdecl XYRECT::QueryTop(void)const  __ptr64
-?QueryTop@XYRECT@@QEBAHXZ
-; public: int __cdecl LIST_CONTROL::QueryTopIndex(void)const  __ptr64
-?QueryTopIndex@LIST_CONTROL@@QEBAHXZ
-; public: enum _SID_NAME_USE  __cdecl BROWSER_SUBJECT::QueryType(void)const  __ptr64
-?QueryType@BROWSER_SUBJECT@@QEBA?AW4_SID_NAME_USE@@XZ
-; public: enum OUTLINE_LB_LEVEL  __cdecl OLLB_ENTRY::QueryType(void)const  __ptr64
-?QueryType@OLLB_ENTRY@@QEBA?AW4OUTLINE_LB_LEVEL@@XZ
-; public: enum _SID_NAME_USE  __cdecl USER_BROWSER_LBI::QueryType(void)const  __ptr64
-?QueryType@USER_BROWSER_LBI@@QEBA?AW4_SID_NAME_USE@@XZ
-; public: enum UI_SystemSid  __cdecl USER_BROWSER_LBI::QueryUISysSid(void)const  __ptr64
-?QueryUISysSid@USER_BROWSER_LBI@@QEBA?AW4UI_SystemSid@@XZ
-; protected: struct _ULC_ENTRY * __ptr64 __cdecl USER_LBI_CACHE::QueryULCEntryPtr(int) __ptr64
-?QueryULCEntryPtr@USER_LBI_CACHE@@IEAAPEAU_ULC_ENTRY@@H@Z
-; protected: int __cdecl USER_LBI_CACHE::QueryULCEntrySize(void) __ptr64
-?QueryULCEntrySize@USER_LBI_CACHE@@IEAAHXZ
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl NT_GROUP_ENUM_OBJ::QueryUnicodeComment(void)const  __ptr64
-?QueryUnicodeComment@NT_GROUP_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl NT_GROUP_ENUM_OBJ::QueryUnicodeGroup(void)const  __ptr64
-?QueryUnicodeGroup@NT_GROUP_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryUnicodeName(void)const  __ptr64
-?QueryUnicodeName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@XZ
-; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryUnicodeName(unsigned long)const  __ptr64
-?QueryUnicodeName@LSA_REF_DOMAIN_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
-; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryUnicodeName(unsigned long)const  __ptr64
-?QueryUnicodeName@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryUnicodeName(unsigned long)const  __ptr64
-?QueryUnicodeName@LSA_TRUST_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@K@Z
-; public: struct _UNICODE_STRING const * __ptr64 __cdecl SAM_RID_ENUMERATION_MEM::QueryUnicodeName(unsigned long)const  __ptr64
-?QueryUnicodeName@SAM_RID_ENUMERATION_MEM@@QEBAPEBU_UNICODE_STRING@@K@Z
-; public: enum _SID_NAME_USE  __cdecl LSA_TRANSLATED_NAME_MEM::QueryUse(unsigned long)const  __ptr64
-?QueryUse@LSA_TRANSLATED_NAME_MEM@@QEBA?AW4_SID_NAME_USE@@K@Z
-; public: enum _SID_NAME_USE  __cdecl LSA_TRANSLATED_SID_MEM::QueryUse(unsigned long)const  __ptr64
-?QueryUse@LSA_TRANSLATED_SID_MEM@@QEBA?AW4_SID_NAME_USE@@K@Z
-; public: unsigned long __cdecl USER_BROWSER_LBI::QueryUserAccountFlags(void)const  __ptr64
-?QueryUserAccountFlags@USER_BROWSER_LBI@@QEBAKXZ
-; protected: class NT_USER_BROWSER_DIALOG * __ptr64 __cdecl NT_GROUP_BROWSER_DIALOG::QueryUserBrowserDialog(void) __ptr64
-?QueryUserBrowserDialog@NT_GROUP_BROWSER_DIALOG@@IEAAPEAVNT_USER_BROWSER_DIALOG@@XZ
-; public: unsigned short const * __ptr64 __cdecl OPEN_LBI_BASE::QueryUserName(void)const  __ptr64
-?QueryUserName@OPEN_LBI_BASE@@QEBAPEBGXZ
-; public: long __cdecl SET_OF_AUDIT_CATEGORIES::QueryUserSelectedBits(class BITFIELD * __ptr64,class BITFIELD * __ptr64) __ptr64
-?QueryUserSelectedBits@SET_OF_AUDIT_CATEGORIES@@QEAAJPEAVBITFIELD@@0@Z
-; public: unsigned __int64 __cdecl VKEY_EVENT::QueryVKey(void)const  __ptr64
-?QueryVKey@VKEY_EVENT@@QEBA_KXZ
-; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryValue(void)const  __ptr64
-?QueryValue@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
-; public: static unsigned int __cdecl METALLIC_STR_DTE::QueryVerticalMargins(void)
-?QueryVerticalMargins@METALLIC_STR_DTE@@SAIXZ
-; public: unsigned __int64 __cdecl EVENT::QueryWParam(void)const  __ptr64
-?QueryWParam@EVENT@@QEBA_KXZ
-; public: static unsigned short const * __ptr64 __cdecl SLE_STRIP::QueryWhiteSpace(void)
-?QueryWhiteSpace@SLE_STRIP@@SAPEBGXZ
-; public: unsigned int __cdecl BIT_MAP::QueryWidth(void)const  __ptr64
-?QueryWidth@BIT_MAP@@QEBAIXZ
-; public: unsigned int __cdecl DISPLAY_MAP::QueryWidth(void)const  __ptr64
-?QueryWidth@DISPLAY_MAP@@QEBAIXZ
-; public: unsigned int __cdecl SIZE_EVENT::QueryWidth(void)const  __ptr64
-?QueryWidth@SIZE_EVENT@@QEBAIXZ
-; public: unsigned int __cdecl XYDIMENSION::QueryWidth(void)const  __ptr64
-?QueryWidth@XYDIMENSION@@QEBAIXZ
-; public: void __cdecl WINDOW::QueryWindowRect(struct tagRECT * __ptr64)const  __ptr64
-?QueryWindowRect@WINDOW@@QEBAXPEAUtagRECT@@@Z
-; public: void __cdecl WINDOW::QueryWindowRect(class XYRECT * __ptr64)const  __ptr64
-?QueryWindowRect@WINDOW@@QEBAXPEAVXYRECT@@@Z
-; public: int __cdecl CHANGEABLE_SPIN_ITEM::QueryWrap(void)const  __ptr64
-?QueryWrap@CHANGEABLE_SPIN_ITEM@@QEBAHXZ
-; public: int __cdecl XYPOINT::QueryX(void)const  __ptr64
-?QueryX@XYPOINT@@QEBAHXZ
-; public: unsigned int __cdecl LOGON_HOURS_CONTROL::QueryXForRow(int) __ptr64
-?QueryXForRow@LOGON_HOURS_CONTROL@@QEAAIH@Z
-; public: int __cdecl XYPOINT::QueryY(void)const  __ptr64
-?QueryY@XYPOINT@@QEBAHXZ
-; public: int __cdecl BLT_DATE_SPIN_GROUP::QueryYear(void)const  __ptr64
-?QueryYear@BLT_DATE_SPIN_GROUP@@QEBAHXZ
-; public: int __cdecl WIN_TIME::QueryYear(void)const  __ptr64
-?QueryYear@WIN_TIME@@QEBAHXZ
-; public: int __cdecl INTL_PROFILE::QueryYearPos(void)const  __ptr64
-?QueryYearPos@INTL_PROFILE@@QEBAHXZ
-; protected: virtual enum FOCUS_CACHE_SETTING  __cdecl BASE_SET_FOCUS_DLG::ReadFocusCache(unsigned short const * __ptr64)const  __ptr64
-?ReadFocusCache@BASE_SET_FOCUS_DLG@@MEBA?AW4FOCUS_CACHE_SETTING@@PEBG@Z
-; public: long __cdecl USER_LBI_CACHE::ReadUsers(class ADMIN_AUTHORITY * __ptr64,unsigned int,unsigned int,int,int * __ptr64) __ptr64
-?ReadUsers@USER_LBI_CACHE@@QEAAJPEAVADMIN_AUTHORITY@@IIHPEAH@Z
-; public: long __cdecl DEVICE_COMBO::Refresh(void) __ptr64
-?Refresh@DEVICE_COMBO@@QEAAJXZ
-; protected: void __cdecl OPEN_DIALOG_BASE::Refresh(void) __ptr64
-?Refresh@OPEN_DIALOG_BASE@@IEAAXXZ
-; public: long __cdecl OPEN_LBOX_BASE::Refresh(void) __ptr64
-?Refresh@OPEN_LBOX_BASE@@QEAAJXZ
-; protected: virtual void __cdecl HIER_LISTBOX::RefreshChildren(class HIER_LBI * __ptr64) __ptr64
-?RefreshChildren@HIER_LISTBOX@@MEAAXPEAVHIER_LBI@@@Z
-; public: virtual void __cdecl UI_EXT_MGR::RefreshExtensions(struct HWND__ * __ptr64) __ptr64
-?RefreshExtensions@UI_EXT_MGR@@UEAAXPEAUHWND__@@@Z
-; public: static long __cdecl BLT::RegisterHelpFile(struct HINSTANCE__ * __ptr64,long,unsigned long,unsigned long)
-?RegisterHelpFile@BLT@@SAJPEAUHINSTANCE__@@JKK@Z
-; public: long __cdecl WIN32_MUTEX::Release(void) __ptr64
-?Release@WIN32_MUTEX@@QEAAJXZ
-; public: long __cdecl WIN32_SEMAPHORE::Release(long,long * __ptr64) __ptr64
-?Release@WIN32_SEMAPHORE@@QEAAJJPEAJ@Z
-; private: virtual void __cdecl BLT_LISTBOX::ReleaseLBI(class LBI * __ptr64) __ptr64
-?ReleaseLBI@BLT_LISTBOX@@EEAAXPEAVLBI@@@Z
-; private: virtual void __cdecl LAZY_LISTBOX::ReleaseLBI(class LBI * __ptr64) __ptr64
-?ReleaseLBI@LAZY_LISTBOX@@EEAAXPEAVLBI@@@Z
-; public: void __cdecl CLIENT_WINDOW::ReleaseMouse(void) __ptr64
-?ReleaseMouse@CLIENT_WINDOW@@QEAAXXZ
-; public: void __cdecl DISPATCHER::ReleaseMouse(void) __ptr64
-?ReleaseMouse@DISPATCHER@@QEAAXXZ
-; public: virtual long __cdecl LB_COL_WIDTHS::ReloadColumnWidths(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,class IDRESOURCE const & __ptr64) __ptr64
-?ReloadColumnWidths@LB_COL_WIDTHS@@UEAAJPEAUHWND__@@PEAUHINSTANCE__@@AEBVIDRESOURCE@@@Z
-; public: int __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::Remove(class CONTROLVAL_CID_PAIR const & __ptr64) __ptr64
-?Remove@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAAHAEBVCONTROLVAL_CID_PAIR@@@Z
-; public: static void __cdecl HWND_DLGPTR_CACHE::Remove(struct HWND__ * __ptr64)
-?Remove@HWND_DLGPTR_CACHE@@SAXPEAUHWND__@@@Z
-; public: long __cdecl MENU_BASE::Remove(unsigned int,unsigned int)const  __ptr64
-?Remove@MENU_BASE@@QEBAJII@Z
-; public: class ASSOCHCFILE * __ptr64 __cdecl SLIST_OF_ASSOCHCFILE::Remove(class ITER_SL_ASSOCHCFILE & __ptr64) __ptr64
-?Remove@SLIST_OF_ASSOCHCFILE@@QEAAPEAVASSOCHCFILE@@AEAVITER_SL_ASSOCHCFILE@@@Z
-; public: struct CLIENTDATA * __ptr64 __cdecl SLIST_OF_CLIENTDATA::Remove(class ITER_SL_CLIENTDATA & __ptr64) __ptr64
-?Remove@SLIST_OF_CLIENTDATA@@QEAAPEAUCLIENTDATA@@AEAVITER_SL_CLIENTDATA@@@Z
-; public: class NLS_STR * __ptr64 __cdecl SLIST_OF_NLS_STR::Remove(class ITER_SL_NLS_STR & __ptr64) __ptr64
-?Remove@SLIST_OF_NLS_STR@@QEAAPEAVNLS_STR@@AEAVITER_SL_NLS_STR@@@Z
-; public: class TIMER_BASE * __ptr64 __cdecl SLIST_OF_TIMER_BASE::Remove(class ITER_SL_TIMER_BASE & __ptr64) __ptr64
-?Remove@SLIST_OF_TIMER_BASE@@QEAAPEAVTIMER_BASE@@AEAVITER_SL_TIMER_BASE@@@Z
-; public: class USER_BROWSER_LBI * __ptr64 __cdecl SLIST_OF_USER_BROWSER_LBI::Remove(class ITER_SL_USER_BROWSER_LBI & __ptr64) __ptr64
-?Remove@SLIST_OF_USER_BROWSER_LBI@@QEAAPEAVUSER_BROWSER_LBI@@AEAVITER_SL_USER_BROWSER_LBI@@@Z
-; public: void __cdecl BLT_LISTBOX::RemoveAllItems(void) __ptr64
-?RemoveAllItems@BLT_LISTBOX@@QEAAXXZ
-; public: static void __cdecl BLTIMP::RemoveClient(struct HINSTANCE__ * __ptr64)
-?RemoveClient@BLTIMP@@SAXPEAUHINSTANCE__@@@Z
-; public: int __cdecl CONTROL_TABLE::RemoveControl(class CONTROL_WINDOW * __ptr64) __ptr64
-?RemoveControl@CONTROL_TABLE@@QEAAHPEAVCONTROL_WINDOW@@@Z
-; protected: void __cdecl ACCOUNT_NAMES_MLE::RemoveDuplicateAccountNames(class STRLIST * __ptr64) __ptr64
-?RemoveDuplicateAccountNames@ACCOUNT_NAMES_MLE@@IEAAXPEAVSTRLIST@@@Z
-; public: static void __cdecl BLTIMP::RemoveHelpAssoc(struct HINSTANCE__ * __ptr64,unsigned long)
-?RemoveHelpAssoc@BLTIMP@@SAXPEAUHINSTANCE__@@K@Z
-; public: class LBI * __ptr64 __cdecl BLT_LISTBOX::RemoveItem(int) __ptr64
-?RemoveItem@BLT_LISTBOX@@QEAAPEAVLBI@@H@Z
-; public: class LBI * __ptr64 __cdecl USER_BROWSER_LB::RemoveItem(int) __ptr64
-?RemoveItem@USER_BROWSER_LB@@QEAAPEAVLBI@@H@Z
-; public: virtual class LBI * __ptr64 __cdecl USER_BROWSER_LBI_CACHE::RemoveItem(int) __ptr64
-?RemoveItem@USER_BROWSER_LBI_CACHE@@UEAAPEAVLBI@@H@Z
-; public: virtual class LBI * __ptr64 __cdecl USER_LBI_CACHE::RemoveItem(int) __ptr64
-?RemoveItem@USER_LBI_CACHE@@UEAAPEAVLBI@@H@Z
-; public: void __cdecl LIST_CONTROL::RemoveSelection(void) __ptr64
-?RemoveSelection@LIST_CONTROL@@QEAAXXZ
-; public: void __cdecl BLT_MASTER_TIMER::RemoveTimer(class TIMER_BASE * __ptr64) __ptr64
-?RemoveTimer@BLT_MASTER_TIMER@@QEAAXPEAVTIMER_BASE@@@Z
-; public: class LBI * __ptr64 __cdecl LBI_HEAP::RemoveTopItem(void) __ptr64
-?RemoveTopItem@LBI_HEAP@@QEAAPEAVLBI@@XZ
-; public: void __cdecl WINDOW::RepaintNow(void) __ptr64
-?RepaintNow@WINDOW@@QEAAXXZ
-; protected: long __cdecl ACCOUNT_NAMES_MLE::ReplaceDomainIfBuiltIn(class NLS_STR * __ptr64,int * __ptr64) __ptr64
-?ReplaceDomainIfBuiltIn@ACCOUNT_NAMES_MLE@@IEAAJPEAVNLS_STR@@PEAH@Z
-; public: long __cdecl BLT_LISTBOX::ReplaceItem(int,class LBI * __ptr64,class LBI * __ptr64 * __ptr64) __ptr64
-?ReplaceItem@BLT_LISTBOX@@QEAAJHPEAVLBI@@PEAPEAV2@@Z
-; protected: void __cdecl BASE::ReportError(long) __ptr64
-?ReportError@BASE@@IEAAXJ@Z
-; protected: void __cdecl CONTROL_TABLE::ReportError(void) __ptr64
-?ReportError@CONTROL_TABLE@@IEAAXXZ
-; protected: void __cdecl CONTROL_WINDOW::ReportError(long) __ptr64
-?ReportError@CONTROL_WINDOW@@IEAAXJ@Z
-; protected: void __cdecl FORWARDING_BASE::ReportError(long) __ptr64
-?ReportError@FORWARDING_BASE@@IEAAXJ@Z
-; protected: void __cdecl SLT_ELLIPSIS::ReportError(long) __ptr64
-?ReportError@SLT_ELLIPSIS@@IEAAXJ@Z
-; public: long __cdecl BROWSER_DOMAIN::RequestAccountData(void) __ptr64
-?RequestAccountData@BROWSER_DOMAIN@@QEAAJXZ
-; public: long __cdecl DOMAIN_FILL_THREAD::RequestAccountData(void) __ptr64
-?RequestAccountData@DOMAIN_FILL_THREAD@@QEAAJXZ
-; public: long __cdecl BROWSER_DOMAIN::RequestAndWaitForUsers(void) __ptr64
-?RequestAndWaitForUsers@BROWSER_DOMAIN@@QEAAJXZ
-; public: long __cdecl DOMAIN_FILL_THREAD::RequestAndWaitForUsers(void) __ptr64
-?RequestAndWaitForUsers@DOMAIN_FILL_THREAD@@QEAAJXZ
-; private: virtual class LBI * __ptr64 __cdecl BLT_LISTBOX::RequestLBI(struct tagDRAWITEMSTRUCT const * __ptr64) __ptr64
-?RequestLBI@BLT_LISTBOX@@EEAAPEAVLBI@@PEBUtagDRAWITEMSTRUCT@@@Z
-; private: virtual class LBI * __ptr64 __cdecl LAZY_LISTBOX::RequestLBI(struct tagDRAWITEMSTRUCT const * __ptr64) __ptr64
-?RequestLBI@LAZY_LISTBOX@@EEAAPEAVLBI@@PEBUtagDRAWITEMSTRUCT@@@Z
-; public: void __cdecl BROWSE_DOMAIN_ENUM::Reset(void) __ptr64
-?Reset@BROWSE_DOMAIN_ENUM@@QEAAXXZ
-; public: void __cdecl ITER_CTRL::Reset(void) __ptr64
-?Reset@ITER_CTRL@@QEAAXXZ
-; public: long __cdecl WIN32_EVENT::Reset(void) __ptr64
-?Reset@WIN32_EVENT@@QEAAJXZ
-; public: static void __cdecl POPUP::ResetCaption(void)
-?ResetCaption@POPUP@@SAXXZ
-; protected: void __cdecl WINDOW::ResetCreator(void) __ptr64
-?ResetCreator@WINDOW@@IEAAXXZ
-; protected: void __cdecl BASE::ResetError(void) __ptr64
-?ResetError@BASE@@IEAAXXZ
-; protected: void __cdecl CONTROL_WINDOW::ResetError(void) __ptr64
-?ResetError@CONTROL_WINDOW@@IEAAXXZ
-; protected: void __cdecl FORWARDING_BASE::ResetError(void) __ptr64
-?ResetError@FORWARDING_BASE@@IEAAXXZ
-; protected: void __cdecl SLT_ELLIPSIS::ResetError(void) __ptr64
-?ResetError@SLT_ELLIPSIS@@IEAAXXZ
-; public: void __cdecl BLT_MASTER_TIMER::ResetIterator(void) __ptr64
-?ResetIterator@BLT_MASTER_TIMER@@QEAAXXZ
-; public: void __cdecl SLT_ELLIPSIS::ResetStyle(enum ELLIPSIS_STYLE) __ptr64
-?ResetStyle@SLT_ELLIPSIS@@QEAAXW4ELLIPSIS_STYLE@@@Z
-; public: int __cdecl ARRAY_CONTROLVAL_CID_PAIR::Resize(unsigned int,int) __ptr64
-?Resize@ARRAY_CONTROLVAL_CID_PAIR@@QEAAHIH@Z
-; public: long __cdecl BLT_LISTBOX::Resort(void) __ptr64
-?Resort@BLT_LISTBOX@@QEAAJXZ
-; protected: virtual void __cdecl BLT_DATE_SPIN_GROUP::RestoreValue(int) __ptr64
-?RestoreValue@BLT_DATE_SPIN_GROUP@@MEAAXH@Z
-; protected: virtual void __cdecl BLT_TIME_SPIN_GROUP::RestoreValue(int) __ptr64
-?RestoreValue@BLT_TIME_SPIN_GROUP@@MEAAXH@Z
-; protected: virtual void __cdecl COMBOBOX::RestoreValue(int) __ptr64
-?RestoreValue@COMBOBOX@@MEAAXH@Z
-; protected: virtual void __cdecl CONTROL_VALUE::RestoreValue(int) __ptr64
-?RestoreValue@CONTROL_VALUE@@MEAAXH@Z
-; protected: virtual void __cdecl EDIT_CONTROL::RestoreValue(int) __ptr64
-?RestoreValue@EDIT_CONTROL@@MEAAXH@Z
-; protected: virtual void __cdecl LIST_CONTROL::RestoreValue(int) __ptr64
-?RestoreValue@LIST_CONTROL@@MEAAXH@Z
-; protected: virtual void __cdecl MAGIC_GROUP::RestoreValue(int) __ptr64
-?RestoreValue@MAGIC_GROUP@@MEAAXH@Z
-; protected: virtual void __cdecl RADIO_GROUP::RestoreValue(int) __ptr64
-?RestoreValue@RADIO_GROUP@@MEAAXH@Z
-; protected: virtual void __cdecl SLT::RestoreValue(int) __ptr64
-?RestoreValue@SLT@@MEAAXH@Z
-; public: virtual void __cdecl SPIN_GROUP::RestoreValue(int) __ptr64
-?RestoreValue@SPIN_GROUP@@UEAAXH@Z
-; protected: virtual void __cdecl STATE_BUTTON_CONTROL::RestoreValue(int) __ptr64
-?RestoreValue@STATE_BUTTON_CONTROL@@MEAAXH@Z
-; public: long __cdecl WIN32_THREAD::Resume(void) __ptr64
-?Resume@WIN32_THREAD@@QEAAJXZ
-; protected: virtual int __cdecl APPLICATION::Run(void) __ptr64
-?Run@APPLICATION@@MEAAHXZ
-; protected: unsigned __int64 __cdecl HAS_MESSAGE_PUMP::RunMessagePump(void) __ptr64
-?RunMessagePump@HAS_MESSAGE_PUMP@@IEAA_KXZ
-; public: virtual long __cdecl CHANGEABLE_SPIN_ITEM::SaveCurrentData(void) __ptr64
-?SaveCurrentData@CHANGEABLE_SPIN_ITEM@@UEAAJXZ
-; public: virtual long __cdecl SPIN_SLE_NUM::SaveCurrentData(void) __ptr64
-?SaveCurrentData@SPIN_SLE_NUM@@UEAAJXZ
-; public: virtual long __cdecl SPIN_SLE_STR::SaveCurrentData(void) __ptr64
-?SaveCurrentData@SPIN_SLE_STR@@UEAAJXZ
-; protected: virtual void __cdecl BLT_DATE_SPIN_GROUP::SaveValue(int) __ptr64
-?SaveValue@BLT_DATE_SPIN_GROUP@@MEAAXH@Z
-; protected: virtual void __cdecl BLT_TIME_SPIN_GROUP::SaveValue(int) __ptr64
-?SaveValue@BLT_TIME_SPIN_GROUP@@MEAAXH@Z
-; protected: virtual void __cdecl COMBOBOX::SaveValue(int) __ptr64
-?SaveValue@COMBOBOX@@MEAAXH@Z
-; protected: virtual void __cdecl CONTROL_VALUE::SaveValue(int) __ptr64
-?SaveValue@CONTROL_VALUE@@MEAAXH@Z
-; protected: virtual void __cdecl EDIT_CONTROL::SaveValue(int) __ptr64
-?SaveValue@EDIT_CONTROL@@MEAAXH@Z
-; protected: virtual void __cdecl LIST_CONTROL::SaveValue(int) __ptr64
-?SaveValue@LIST_CONTROL@@MEAAXH@Z
-; protected: virtual void __cdecl MAGIC_GROUP::SaveValue(int) __ptr64
-?SaveValue@MAGIC_GROUP@@MEAAXH@Z
-; protected: virtual void __cdecl RADIO_GROUP::SaveValue(int) __ptr64
-?SaveValue@RADIO_GROUP@@MEAAXH@Z
-; protected: virtual void __cdecl SLT::SaveValue(int) __ptr64
-?SaveValue@SLT@@MEAAXH@Z
-; public: virtual void __cdecl SPIN_GROUP::SaveValue(int) __ptr64
-?SaveValue@SPIN_GROUP@@UEAAXH@Z
-; protected: virtual void __cdecl STATE_BUTTON_CONTROL::SaveValue(int) __ptr64
-?SaveValue@STATE_BUTTON_CONTROL@@MEAAXH@Z
-; public: void __cdecl XYPOINT::ScreenToClient(struct HWND__ * __ptr64) __ptr64
-?ScreenToClient@XYPOINT@@QEAAXPEAUHWND__@@@Z
-; public: struct HBITMAP__ * __ptr64 __cdecl DEVICE_CONTEXT::SelectBitmap(struct HBITMAP__ * __ptr64) __ptr64
-?SelectBitmap@DEVICE_CONTEXT@@QEAAPEAUHBITMAP__@@PEAU2@@Z
-; public: struct HBRUSH__ * __ptr64 __cdecl DEVICE_CONTEXT::SelectBrush(struct HBRUSH__ * __ptr64) __ptr64
-?SelectBrush@DEVICE_CONTEXT@@QEAAPEAUHBRUSH__@@PEAU2@@Z
-; public: struct HFONT__ * __ptr64 __cdecl DEVICE_CONTEXT::SelectFont(struct HFONT__ * __ptr64) __ptr64
-?SelectFont@DEVICE_CONTEXT@@QEAAPEAUHFONT__@@PEAU2@@Z
-; public: void __cdecl BROWSER_DOMAIN_CB::SelectItem(class BROWSER_DOMAIN * __ptr64) __ptr64
-?SelectItem@BROWSER_DOMAIN_CB@@QEAAXPEAVBROWSER_DOMAIN@@@Z
-; public: void __cdecl LIST_CONTROL::SelectItem(int,int) __ptr64
-?SelectItem@LIST_CONTROL@@QEAAXHH@Z
-; public: void __cdecl LIST_CONTROL::SelectItems(int * __ptr64,int,int) __ptr64
-?SelectItems@LIST_CONTROL@@QEAAXPEAHHH@Z
-; private: void __cdecl BASE_SET_FOCUS_DLG::SelectNetPathString(void) __ptr64
-?SelectNetPathString@BASE_SET_FOCUS_DLG@@AEAAXXZ
-; protected: void * __ptr64 __cdecl DEVICE_CONTEXT::SelectObject(void * __ptr64) __ptr64
-?SelectObject@DEVICE_CONTEXT@@IEAAPEAXPEAX@Z
-; public: struct HPEN__ * __ptr64 __cdecl DEVICE_CONTEXT::SelectPen(struct HPEN__ * __ptr64) __ptr64
-?SelectPen@DEVICE_CONTEXT@@QEAAPEAUHPEN__@@PEAU2@@Z
-; public: void __cdecl COMBOBOX::SelectString(void) __ptr64
-?SelectString@COMBOBOX@@QEAAXXZ
-; public: void __cdecl EDIT_CONTROL::SelectString(void) __ptr64
-?SelectString@EDIT_CONTROL@@QEAAXXZ
-; public: __int64 __cdecl EVENT::SendTo(struct HWND__ * __ptr64)const  __ptr64
-?SendTo@EVENT@@QEBA_JPEAUHWND__@@@Z
-; public: static struct HICON__ * __ptr64 __cdecl CURSOR::Set(struct HICON__ * __ptr64)
-?Set@CURSOR@@SAPEAUHICON__@@PEAU2@@Z
-; public: long __cdecl WIN32_EVENT::Set(void) __ptr64
-?Set@WIN32_EVENT@@QEAAJXZ
-; public: long __cdecl SPIN_ITEM::SetAccKey(class NLS_STR const & __ptr64) __ptr64
-?SetAccKey@SPIN_ITEM@@QEAAJAEBVNLS_STR@@@Z
-; public: long __cdecl SPIN_ITEM::SetAccKey(long) __ptr64
-?SetAccKey@SPIN_ITEM@@QEAAJJ@Z
-; public: long __cdecl NT_USER_BROWSER_DIALOG::SetAndFillErrorText(long,int) __ptr64
-?SetAndFillErrorText@NT_USER_BROWSER_DIALOG@@QEAAJJH@Z
-; protected: void __cdecl SPIN_GROUP::SetArrowButtonStatus(void) __ptr64
-?SetArrowButtonStatus@SPIN_GROUP@@IEAAXXZ
-; public: long __cdecl BROWSER_DOMAIN::SetAsTargetDomain(void) __ptr64
-?SetAsTargetDomain@BROWSER_DOMAIN@@QEAAJXZ
-; protected: void __cdecl HEAP_BASE::SetAutoReadjust(int) __ptr64
-?SetAutoReadjust@HEAP_BASE@@IEAAXH@Z
-; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetBigDecValue(unsigned long) __ptr64
-?SetBigDecValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
-; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetBigIncValue(unsigned long) __ptr64
-?SetBigIncValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
-; public: void __cdecl BIT_MAP::SetBitmap(struct HBITMAP__ * __ptr64) __ptr64
-?SetBitmap@BIT_MAP@@QEAAXPEAUHBITMAP__@@@Z
-; private: void __cdecl DISPLAY_MAP::SetBitmapBits(unsigned char * __ptr64,int,int,unsigned int) __ptr64
-?SetBitmapBits@DISPLAY_MAP@@AEAAXPEAEHHI@Z
-; public: unsigned long __cdecl DEVICE_CONTEXT::SetBkColor(unsigned long) __ptr64
-?SetBkColor@DEVICE_CONTEXT@@QEAAKK@Z
-; public: int __cdecl DEVICE_CONTEXT::SetBkMode(int) __ptr64
-?SetBkMode@DEVICE_CONTEXT@@QEAAHH@Z
-; protected: long __cdecl GET_FNAME_BASE_DLG::SetBuffer(class BUFFER * __ptr64,class STRLIST & __ptr64) __ptr64
-?SetBuffer@GET_FNAME_BASE_DLG@@IEAAJPEAVBUFFER@@AEAVSTRLIST@@@Z
-; protected: void __cdecl ENUM_OBJ_BASE::SetBufferPtr(unsigned char const * __ptr64) __ptr64
-?SetBufferPtr@ENUM_OBJ_BASE@@IEAAXPEBE@Z
-; public: void __cdecl ORDER_GROUP::SetButton(void) __ptr64
-?SetButton@ORDER_GROUP@@QEAAXXZ
-; public: static void __cdecl POPUP::SetCaption(long)
-?SetCaption@POPUP@@SAXJ@Z
-; public: void __cdecl LIST_CONTROL::SetCaretIndex(int,int) __ptr64
-?SetCaretIndex@LIST_CONTROL@@QEAAXHH@Z
-; public: void __cdecl MENUITEM::SetCheck(int) __ptr64
-?SetCheck@MENUITEM@@QEAAXH@Z
-; private: void __cdecl RADIO_BUTTON::SetCheck(int) __ptr64
-?SetCheck@RADIO_BUTTON@@AEAAXH@Z
-; public: void __cdecl STATE2_BUTTON_CONTROL::SetCheck(int) __ptr64
-?SetCheck@STATE2_BUTTON_CONTROL@@QEAAXH@Z
-; public: long __cdecl SET_OF_AUDIT_CATEGORIES::SetCheckBoxNames(class MASK_MAP * __ptr64) __ptr64
-?SetCheckBoxNames@SET_OF_AUDIT_CATEGORIES@@QEAAJPEAVMASK_MAP@@@Z
-; protected: static void __cdecl WINDOW::SetClientGeneratedMsgFlag(int)
-?SetClientGeneratedMsgFlag@WINDOW@@KAXH@Z
-; public: void __cdecl METER::SetComplete(int) __ptr64
-?SetComplete@METER@@QEAAXH@Z
-; protected: virtual void __cdecl BLT_DATE_SPIN_GROUP::SetControlValueFocus(void) __ptr64
-?SetControlValueFocus@BLT_DATE_SPIN_GROUP@@MEAAXXZ
-; protected: virtual void __cdecl BLT_TIME_SPIN_GROUP::SetControlValueFocus(void) __ptr64
-?SetControlValueFocus@BLT_TIME_SPIN_GROUP@@MEAAXXZ
-; public: virtual void __cdecl CONTROL_VALUE::SetControlValueFocus(void) __ptr64
-?SetControlValueFocus@CONTROL_VALUE@@UEAAXXZ
-; public: virtual void __cdecl CONTROL_WINDOW::SetControlValueFocus(void) __ptr64
-?SetControlValueFocus@CONTROL_WINDOW@@UEAAXXZ
-; protected: virtual void __cdecl EDIT_CONTROL::SetControlValueFocus(void) __ptr64
-?SetControlValueFocus@EDIT_CONTROL@@MEAAXXZ
-; public: virtual void __cdecl MAGIC_GROUP::SetControlValueFocus(void) __ptr64
-?SetControlValueFocus@MAGIC_GROUP@@UEAAXXZ
-; public: virtual void __cdecl RADIO_GROUP::SetControlValueFocus(void) __ptr64
-?SetControlValueFocus@RADIO_GROUP@@UEAAXXZ
-; public: virtual void __cdecl SPIN_GROUP::SetControlValueFocus(void) __ptr64
-?SetControlValueFocus@SPIN_GROUP@@UEAAXXZ
-; public: void __cdecl LAZY_LISTBOX::SetCount(unsigned int) __ptr64
-?SetCount@LAZY_LISTBOX@@QEAAXI@Z
-; public: void __cdecl USER_BROWSER_LB::SetCurrentCache(class USER_BROWSER_LBI_CACHE * __ptr64) __ptr64
-?SetCurrentCache@USER_BROWSER_LB@@QEAAXPEAVUSER_BROWSER_LBI_CACHE@@@Z
-; public: long __cdecl BLT_DATE_SPIN_GROUP::SetCurrentDay(void) __ptr64
-?SetCurrentDay@BLT_DATE_SPIN_GROUP@@QEAAJXZ
-; public: void __cdecl NT_USER_BROWSER_DIALOG::SetCurrentDomainFocus(class BROWSER_DOMAIN * __ptr64) __ptr64
-?SetCurrentDomainFocus@NT_USER_BROWSER_DIALOG@@QEAAXPEAVBROWSER_DOMAIN@@@Z
-; protected: void __cdecl SPIN_GROUP::SetCurrentField(class SPIN_ITEM * __ptr64) __ptr64
-?SetCurrentField@SPIN_GROUP@@IEAAXPEAVSPIN_ITEM@@@Z
-; public: long __cdecl BLT_TIME_SPIN_GROUP::SetCurrentTime(void) __ptr64
-?SetCurrentTime@BLT_TIME_SPIN_GROUP@@QEAAJXZ
-; public: long __cdecl GET_FNAME_BASE_DLG::SetCustomFilter(class STRLIST & __ptr64,unsigned long) __ptr64
-?SetCustomFilter@GET_FNAME_BASE_DLG@@QEAAJAEAVSTRLIST@@K@Z
-; public: void __cdecl DISK_SPACE_SUBCLASS::SetDSFieldName(long) __ptr64
-?SetDSFieldName@DISK_SPACE_SUBCLASS@@QEAAXJ@Z
-; public: void __cdecl BLT_DATE_SPIN_GROUP::SetDay(int) __ptr64
-?SetDay@BLT_DATE_SPIN_GROUP@@QEAAXH@Z
-; private: static void __cdecl HIER_LBI::SetDestroyable(int)
-?SetDestroyable@HIER_LBI@@CAXH@Z
-; public: void __cdecl OWNER_WINDOW::SetDialogFocus(class CONTROL_WINDOW & __ptr64) __ptr64
-?SetDialogFocus@OWNER_WINDOW@@QEAAXAEAVCONTROL_WINDOW@@@Z
-; protected: void __cdecl NT_USER_BROWSER_DIALOG::SetDomainComboDropFlag(int) __ptr64
-?SetDomainComboDropFlag@NT_USER_BROWSER_DIALOG@@IEAAXH@Z
-; public: void __cdecl OUTLINE_LISTBOX::SetDomainExpanded(int,int) __ptr64
-?SetDomainExpanded@OUTLINE_LISTBOX@@QEAAXHH@Z
-; public: long __cdecl BASE_ELLIPSIS::SetEllipsis(unsigned short * __ptr64) __ptr64
-?SetEllipsis@BASE_ELLIPSIS@@QEAAJPEAG@Z
-; public: long __cdecl BASE_ELLIPSIS::SetEllipsis(class NLS_STR * __ptr64) __ptr64
-?SetEllipsis@BASE_ELLIPSIS@@QEAAJPEAVNLS_STR@@@Z
-; protected: long __cdecl BASE_ELLIPSIS::SetEllipsisCenter(class NLS_STR * __ptr64) __ptr64
-?SetEllipsisCenter@BASE_ELLIPSIS@@IEAAJPEAVNLS_STR@@@Z
-; protected: long __cdecl BASE_ELLIPSIS::SetEllipsisLeft(class NLS_STR * __ptr64) __ptr64
-?SetEllipsisLeft@BASE_ELLIPSIS@@IEAAJPEAVNLS_STR@@@Z
-; protected: long __cdecl BASE_ELLIPSIS::SetEllipsisPath(class NLS_STR * __ptr64) __ptr64
-?SetEllipsisPath@BASE_ELLIPSIS@@IEAAJPEAVNLS_STR@@@Z
-; protected: long __cdecl BASE_ELLIPSIS::SetEllipsisRight(class NLS_STR * __ptr64) __ptr64
-?SetEllipsisRight@BASE_ELLIPSIS@@IEAAJPEAVNLS_STR@@@Z
-; protected: void __cdecl GET_FNAME_BASE_DLG::SetEnableHook(int) __ptr64
-?SetEnableHook@GET_FNAME_BASE_DLG@@IEAAXH@Z
-; public: void __cdecl HIER_LBI::SetExpanded(int) __ptr64
-?SetExpanded@HIER_LBI@@QEAAXH@Z
-; private: void __cdecl OLLB_ENTRY::SetExpanded(int) __ptr64
-?SetExpanded@OLLB_ENTRY@@AEAAXH@Z
-; public: int __cdecl SPIN_GROUP::SetFieldMinMax(unsigned short) __ptr64
-?SetFieldMinMax@SPIN_GROUP@@QEAAHG@Z
-; public: long __cdecl SPIN_SLE_NUM_VALID::SetFieldName(long) __ptr64
-?SetFieldName@SPIN_SLE_NUM_VALID@@QEAAJJ@Z
-; public: long __cdecl GET_FNAME_BASE_DLG::SetFileExtension(class NLS_STR const & __ptr64) __ptr64
-?SetFileExtension@GET_FNAME_BASE_DLG@@QEAAJAEBVNLS_STR@@@Z
-; public: long __cdecl GET_FNAME_BASE_DLG::SetFilter(class STRLIST & __ptr64,unsigned long) __ptr64
-?SetFilter@GET_FNAME_BASE_DLG@@QEAAJAEAVSTRLIST@@K@Z
-; public: void __cdecl MLE::SetFmtLines(int) __ptr64
-?SetFmtLines@MLE@@QEAAXH@Z
-; public: void __cdecl OWNER_WINDOW::SetFocus(unsigned int) __ptr64
-?SetFocus@OWNER_WINDOW@@QEAAXI@Z
-; public: void __cdecl CONTROL_WINDOW::SetFont(struct HFONT__ * __ptr64,int) __ptr64
-?SetFont@CONTROL_WINDOW@@QEAAXPEAUHFONT__@@H@Z
-; public: long __cdecl FONT::SetFont(struct tagLOGFONTW const & __ptr64) __ptr64
-?SetFont@FONT@@QEAAJAEBUtagLOGFONTW@@@Z
-; public: long __cdecl FONT::SetFont(struct HFONT__ * __ptr64) __ptr64
-?SetFont@FONT@@QEAAJPEAUHFONT__@@@Z
-; public: void __cdecl CONTROL_VALUE::SetGroup(class CONTROL_GROUP * __ptr64) __ptr64
-?SetGroup@CONTROL_VALUE@@QEAAXPEAVCONTROL_GROUP@@@Z
-; protected: void __cdecl MENU_BASE::SetHandle(struct HMENU__ * __ptr64) __ptr64
-?SetHandle@MENU_BASE@@IEAAXPEAUHMENU__@@@Z
-; protected: void __cdecl WIN32_HANDLE::SetHandle(void * __ptr64) __ptr64
-?SetHandle@WIN32_HANDLE@@IEAAXPEAX@Z
-; public: void __cdecl XYDIMENSION::SetHeight(unsigned int) __ptr64
-?SetHeight@XYDIMENSION@@QEAAXI@Z
-; public: void __cdecl GET_FNAME_BASE_DLG::SetHelpActive(int) __ptr64
-?SetHelpActive@GET_FNAME_BASE_DLG@@QEAAXH@Z
-; public: static unsigned long __cdecl POPUP::SetHelpContextBase(unsigned long)
-?SetHelpContextBase@POPUP@@SAKK@Z
-; public: void __cdecl GET_FNAME_BASE_DLG::SetHookProc(unsigned __int64) __ptr64
-?SetHookProc@GET_FNAME_BASE_DLG@@QEAAX_K@Z
-; public: void __cdecl LISTBOX::SetHorizontalExtent(unsigned int) __ptr64
-?SetHorizontalExtent@LISTBOX@@QEAAXI@Z
-; public: void __cdecl BLT_TIME_SPIN_GROUP::SetHour(int) __ptr64
-?SetHour@BLT_TIME_SPIN_GROUP@@QEAAXH@Z
-; public: long __cdecl LOGON_HOURS_CONTROL::SetHours(class LOGON_HOURS_SETTING const * __ptr64) __ptr64
-?SetHours@LOGON_HOURS_CONTROL@@QEAAJPEBVLOGON_HOURS_SETTING@@@Z
-; protected: void __cdecl WINDOW::SetHwnd(struct HWND__ * __ptr64) __ptr64
-?SetHwnd@WINDOW@@IEAAXPEAUHWND__@@@Z
-; public: int __cdecl APP_WINDOW::SetIcon(class IDRESOURCE const & __ptr64) __ptr64
-?SetIcon@APP_WINDOW@@QEAAHAEBVIDRESOURCE@@@Z
-; public: long __cdecl ICON_CONTROL::SetIcon(class IDRESOURCE const & __ptr64) __ptr64
-?SetIcon@ICON_CONTROL@@QEAAJAEBVIDRESOURCE@@@Z
-; protected: void __cdecl CANCEL_TASK_DIALOG::SetInTimer(int) __ptr64
-?SetInTimer@CANCEL_TASK_DIALOG@@IEAAXH@Z
-; public: void __cdecl USER_BROWSER_LBI_CACHE::SetIncludeUsers(int) __ptr64
-?SetIncludeUsers@USER_BROWSER_LBI_CACHE@@QEAAXH@Z
-; private: void __cdecl HIER_LBI::SetIndentLevel(void) __ptr64
-?SetIndentLevel@HIER_LBI@@AEAAXXZ
-; public: long __cdecl GET_FNAME_BASE_DLG::SetInitialDir(class NLS_STR const & __ptr64) __ptr64
-?SetInitialDir@GET_FNAME_BASE_DLG@@QEAAJAEBVNLS_STR@@@Z
-; private: void __cdecl BLT_LISTBOX::SetItem(int,class LBI * __ptr64) __ptr64
-?SetItem@BLT_LISTBOX@@AEAAXHPEAVLBI@@@Z
-; protected: int __cdecl LIST_CONTROL::SetItemData(int,void * __ptr64) __ptr64
-?SetItemData@LIST_CONTROL@@IEAAHHPEAX@Z
-; public: int __cdecl DEVICE_CONTEXT::SetMapMode(int) __ptr64
-?SetMapMode@DEVICE_CONTEXT@@QEAAHH@Z
-; private: void __cdecl DISPLAY_MAP::SetMaskBits(unsigned char * __ptr64,int,int,unsigned int) __ptr64
-?SetMaskBits@DISPLAY_MAP@@AEAAXPEAEHHI@Z
-; private: void __cdecl SPIN_SLE_NUM::SetMaxInput(void) __ptr64
-?SetMaxInput@SPIN_SLE_NUM@@AEAAXXZ
-; public: int __cdecl COMBOBOX::SetMaxLength(unsigned int) __ptr64
-?SetMaxLength@COMBOBOX@@QEAAHI@Z
-; public: void __cdecl EDIT_CONTROL::SetMaxLength(unsigned int) __ptr64
-?SetMaxLength@EDIT_CONTROL@@QEAAXI@Z
-; public: int __cdecl APP_WINDOW::SetMenu(class IDRESOURCE const & __ptr64) __ptr64
-?SetMenu@APP_WINDOW@@QEAAHAEBVIDRESOURCE@@@Z
-; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetMin(unsigned long) __ptr64
-?SetMin@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
-; public: void __cdecl SPIN_SLE_NUM::SetMin(unsigned long) __ptr64
-?SetMin@SPIN_SLE_NUM@@QEAAXK@Z
-; public: void __cdecl BLT_TIME_SPIN_GROUP::SetMinute(int) __ptr64
-?SetMinute@BLT_TIME_SPIN_GROUP@@QEAAXH@Z
-; public: void __cdecl ELAPSED_TIME_CONTROL::SetMinuteFieldName(long) __ptr64
-?SetMinuteFieldName@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
-; public: void __cdecl ELAPSED_TIME_CONTROL::SetMinuteMin(long) __ptr64
-?SetMinuteMin@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
-; public: void __cdecl ELAPSED_TIME_CONTROL::SetMinuteRange(long) __ptr64
-?SetMinuteRange@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
-; public: void __cdecl ELAPSED_TIME_CONTROL::SetMinuteValue(long) __ptr64
-?SetMinuteValue@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
-; public: void __cdecl SPIN_GROUP::SetModified(int) __ptr64
-?SetModified@SPIN_GROUP@@QEAAXH@Z
-; public: void __cdecl BLT_DATE_SPIN_GROUP::SetMonth(int) __ptr64
-?SetMonth@BLT_DATE_SPIN_GROUP@@QEAAXH@Z
-; public: static void __cdecl POPUP::SetMsgMapTable(struct _MSGMAPENTRY * __ptr64)
-?SetMsgMapTable@POPUP@@SAXPEAU_MSGMAPENTRY@@@Z
-; protected: virtual long __cdecl BASE_SET_FOCUS_DLG::SetNetworkFocus(struct HWND__ * __ptr64,unsigned short const * __ptr64,enum FOCUS_CACHE_SETTING) __ptr64
-?SetNetworkFocus@BASE_SET_FOCUS_DLG@@MEAAJPEAUHWND__@@PEBGW4FOCUS_CACHE_SETTING@@@Z
-; protected: virtual long __cdecl STANDALONE_SET_FOCUS_DLG::SetNetworkFocus(struct HWND__ * __ptr64,unsigned short const * __ptr64,enum FOCUS_CACHE_SETTING) __ptr64
-?SetNetworkFocus@STANDALONE_SET_FOCUS_DLG@@MEAAJPEAUHWND__@@PEBGW4FOCUS_CACHE_SETTING@@@Z
-; private: void __cdecl TIMER_BASE::SetNewTimeDue(void) __ptr64
-?SetNewTimeDue@TIMER_BASE@@AEAAXXZ
-; public: long __cdecl BASE_ELLIPSIS::SetOriginalStr(unsigned short const * __ptr64) __ptr64
-?SetOriginalStr@BASE_ELLIPSIS@@QEAAJPEBG@Z
-; protected: void __cdecl DM_DTE::SetPdm(class DISPLAY_MAP * __ptr64) __ptr64
-?SetPdm@DM_DTE@@IEAAXPEAVDISPLAY_MAP@@@Z
-; public: virtual void __cdecl HIER_LBI::SetPelIndent(unsigned int) __ptr64
-?SetPelIndent@HIER_LBI@@UEAAXI@Z
-; public: long __cdecl APP_WINDOW::SetPlacement(struct tagWINDOWPLACEMENT const * __ptr64)const  __ptr64
-?SetPlacement@APP_WINDOW@@QEBAJPEBUtagWINDOWPLACEMENT@@@Z
-; public: static void __cdecl CURSOR::SetPos(class XYPOINT const & __ptr64)
-?SetPos@CURSOR@@SAXAEBVXYPOINT@@@Z
-; public: void __cdecl SCROLLBAR::SetPos(unsigned int) __ptr64
-?SetPos@SCROLLBAR@@QEAAXI@Z
-; public: void __cdecl WINDOW::SetPos(class XYPOINT,int,class WINDOW * __ptr64) __ptr64
-?SetPos@WINDOW@@QEAAXVXYPOINT@@HPEAV1@@Z
-; public: long __cdecl ICON_CONTROL::SetPredefinedIcon(class IDRESOURCE const & __ptr64) __ptr64
-?SetPredefinedIcon@ICON_CONTROL@@QEAAJAEBVIDRESOURCE@@@Z
-; public: long __cdecl WIN32_THREAD::SetPriority(int) __ptr64
-?SetPriority@WIN32_THREAD@@QEAAJH@Z
-; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetRange(unsigned long) __ptr64
-?SetRange@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
-; public: void __cdecl SCROLLBAR::SetRange(unsigned int,unsigned int) __ptr64
-?SetRange@SCROLLBAR@@QEAAXII@Z
-; public: void __cdecl SPIN_SLE_NUM::SetRange(unsigned long) __ptr64
-?SetRange@SPIN_SLE_NUM@@QEAAXK@Z
-; public: void __cdecl SPIN_SLE_STR::SetRange(long) __ptr64
-?SetRange@SPIN_SLE_STR@@QEAAXJ@Z
-; public: void __cdecl WINDOW::SetRedraw(int) __ptr64
-?SetRedraw@WINDOW@@QEAAXH@Z
-; public: long __cdecl EDIT_CONTROL::SetSaveValue(unsigned short const * __ptr64) __ptr64
-?SetSaveValue@EDIT_CONTROL@@QEAAJPEBG@Z
-; public: long __cdecl SPIN_SLE_NUM::SetSaveValue(unsigned long) __ptr64
-?SetSaveValue@SPIN_SLE_NUM@@QEAAJK@Z
-; public: void __cdecl LISTBOX::SetScrollPos(unsigned int) __ptr64
-?SetScrollPos@LISTBOX@@QEAAXI@Z
-; public: void __cdecl BLT_TIME_SPIN_GROUP::SetSecond(int) __ptr64
-?SetSecond@BLT_TIME_SPIN_GROUP@@QEAAXH@Z
-; public: void __cdecl ELAPSED_TIME_CONTROL::SetSecondFieldName(long) __ptr64
-?SetSecondFieldName@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
-; public: void __cdecl ELAPSED_TIME_CONTROL::SetSecondMin(long) __ptr64
-?SetSecondMin@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
-; public: void __cdecl ELAPSED_TIME_CONTROL::SetSecondRange(long) __ptr64
-?SetSecondRange@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
-; public: void __cdecl ELAPSED_TIME_CONTROL::SetSecondValue(long) __ptr64
-?SetSecondValue@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
-; public: void __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::SetSelected(int) __ptr64
-?SetSelected@GRAPHICAL_BUTTON_WITH_DISABLE@@QEAAXH@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::SetSelectedCells(int) __ptr64
-?SetSelectedCells@LOGON_HOURS_CONTROL@@AEAAXH@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::SetSelection(int) __ptr64
-?SetSelection@LOGON_HOURS_CONTROL@@AEAAXH@Z
-; private: void __cdecl LOGON_HOURS_CONTROL::SetSelection(int,int) __ptr64
-?SetSelection@LOGON_HOURS_CONTROL@@AEAAXHH@Z
-; public: void __cdecl MAGIC_GROUP::SetSelection(unsigned int) __ptr64
-?SetSelection@MAGIC_GROUP@@QEAAXI@Z
-; public: void __cdecl RADIO_GROUP::SetSelection(unsigned int) __ptr64
-?SetSelection@RADIO_GROUP@@QEAAXI@Z
-; protected: void __cdecl RADIO_GROUP::SetSelectionDontNotifyGroups(unsigned int) __ptr64
-?SetSelectionDontNotifyGroups@RADIO_GROUP@@IEAAXI@Z
-; public: void __cdecl CONSOLE_ELLIPSIS::SetSize(int) __ptr64
-?SetSize@CONSOLE_ELLIPSIS@@QEAAXH@Z
-; public: void __cdecl SLT_ELLIPSIS::SetSize(int,int,int) __ptr64
-?SetSize@SLT_ELLIPSIS@@QEAAXHHH@Z
-; public: void __cdecl WINDOW::SetSize(int,int,int) __ptr64
-?SetSize@WINDOW@@QEAAXHHH@Z
-; public: void __cdecl WINDOW::SetSize(class XYDIMENSION,int) __ptr64
-?SetSize@WINDOW@@QEAAXVXYDIMENSION@@H@Z
-; public: void __cdecl WIN_ELLIPSIS::SetSize(int,int) __ptr64
-?SetSize@WIN_ELLIPSIS@@QEAAXHH@Z
-; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetSmallDecValue(unsigned long) __ptr64
-?SetSmallDecValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
-; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetSmallIncValue(unsigned long) __ptr64
-?SetSmallIncValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
-; protected: void __cdecl NT_GROUP_BROWSER_DIALOG::SetSourceDialog(class NT_GROUP_BROWSER_DIALOG * __ptr64) __ptr64
-?SetSourceDialog@NT_GROUP_BROWSER_DIALOG@@IEAAXPEAV1@@Z
-; private: long __cdecl ELAPSED_TIME_CONTROL::SetSpinItemAccKey(class SPIN_ITEM * __ptr64,class SLT & __ptr64,int) __ptr64
-?SetSpinItemAccKey@ELAPSED_TIME_CONTROL@@AEAAJPEAVSPIN_ITEM@@AEAVSLT@@H@Z
-; protected: void __cdecl SLE_STRLB_GROUP::SetState(void)const  __ptr64
-?SetState@SLE_STRLB_GROUP@@IEBAXXZ
-; protected: void __cdecl STATE_BUTTON_CONTROL::SetState(unsigned int) __ptr64
-?SetState@STATE_BUTTON_CONTROL@@IEAAXI@Z
-; public: int __cdecl STLBITEM::SetState(int) __ptr64
-?SetState@STLBITEM@@QEAAHH@Z
-; private: void __cdecl WIN32_THREAD::SetState(enum _THREAD_STATE) __ptr64
-?SetState@WIN32_THREAD@@AEAAXW4_THREAD_STATE@@@Z
-; public: void __cdecl GRAPHICAL_BUTTON::SetStatus(unsigned int) __ptr64
-?SetStatus@GRAPHICAL_BUTTON@@QEAAXI@Z
-; public: void __cdecl GRAPHICAL_BUTTON::SetStatus(struct HBITMAP__ * __ptr64) __ptr64
-?SetStatus@GRAPHICAL_BUTTON@@QEAAXPEAUHBITMAP__@@@Z
-; private: void __cdecl SPIN_SLE_STR::SetStr(long) __ptr64
-?SetStr@SPIN_SLE_STR@@AEAAXJ@Z
-; private: long __cdecl GET_FNAME_BASE_DLG::SetStringField(unsigned short * __ptr64 * __ptr64,class NLS_STR const & __ptr64) __ptr64
-?SetStringField@GET_FNAME_BASE_DLG@@AEAAJPEAPEAGAEBVNLS_STR@@@Z
-; public: void __cdecl BASE_ELLIPSIS::SetStyle(enum ELLIPSIS_STYLE) __ptr64
-?SetStyle@BASE_ELLIPSIS@@QEAAXW4ELLIPSIS_STYLE@@@Z
-; public: void __cdecl WINDOW::SetStyle(unsigned long) __ptr64
-?SetStyle@WINDOW@@QEAAXK@Z
-; protected: virtual void __cdecl CONTROL_VALUE::SetTabStop(int) __ptr64
-?SetTabStop@CONTROL_VALUE@@MEAAXH@Z
-; protected: virtual void __cdecl CONTROL_WINDOW::SetTabStop(int) __ptr64
-?SetTabStop@CONTROL_WINDOW@@MEAAXH@Z
-; public: long __cdecl ACCOUNT_NAMES_MLE::SetTargetDomain(unsigned short const * __ptr64) __ptr64
-?SetTargetDomain@ACCOUNT_NAMES_MLE@@QEAAJPEBG@Z
-; public: long __cdecl GET_FNAME_BASE_DLG::SetText(class NLS_STR const & __ptr64) __ptr64
-?SetText@GET_FNAME_BASE_DLG@@QEAAJAEBVNLS_STR@@@Z
-; public: int __cdecl MENUITEM::SetText(unsigned short const * __ptr64) __ptr64
-?SetText@MENUITEM@@QEAAHPEBG@Z
-; public: long __cdecl SLT_ELLIPSIS::SetText(class NLS_STR const & __ptr64) __ptr64
-?SetText@SLT_ELLIPSIS@@QEAAJAEBVNLS_STR@@@Z
-; public: long __cdecl SLT_ELLIPSIS::SetText(unsigned short const * __ptr64) __ptr64
-?SetText@SLT_ELLIPSIS@@QEAAJPEBG@Z
-; public: void __cdecl WINDOW::SetText(class NLS_STR const & __ptr64) __ptr64
-?SetText@WINDOW@@QEAAXAEBVNLS_STR@@@Z
-; public: void __cdecl WINDOW::SetText(unsigned short const * __ptr64) __ptr64
-?SetText@WINDOW@@QEAAXPEBG@Z
-; public: unsigned int __cdecl DEVICE_CONTEXT::SetTextAlign(unsigned int) __ptr64
-?SetTextAlign@DEVICE_CONTEXT@@QEAAII@Z
-; public: unsigned long __cdecl DEVICE_CONTEXT::SetTextColor(unsigned long) __ptr64
-?SetTextColor@DEVICE_CONTEXT@@QEAAKK@Z
-; public: void __cdecl LIST_CONTROL::SetTopIndex(int) __ptr64
-?SetTopIndex@LIST_CONTROL@@QEAAXH@Z
-; public: long __cdecl BROWSER_SUBJECT::SetUserBrowserLBI(class USER_BROWSER_LBI * __ptr64) __ptr64
-?SetUserBrowserLBI@BROWSER_SUBJECT@@QEAAJPEAVUSER_BROWSER_LBI@@@Z
-; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetValue(unsigned long) __ptr64
-?SetValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
-; public: void __cdecl DEC_SLT::SetValue(long) __ptr64
-?SetValue@DEC_SLT@@QEAAXJ@Z
-; public: void __cdecl DEC_SLT::SetValue(unsigned long) __ptr64
-?SetValue@DEC_SLT@@QEAAXK@Z
-; public: void __cdecl XYDIMENSION::SetWidth(unsigned int) __ptr64
-?SetWidth@XYDIMENSION@@QEAAXI@Z
-; public: void __cdecl XYPOINT::SetX(int) __ptr64
-?SetX@XYPOINT@@QEAAXH@Z
-; public: void __cdecl XYPOINT::SetY(int) __ptr64
-?SetY@XYPOINT@@QEAAXH@Z
-; public: void __cdecl BLT_DATE_SPIN_GROUP::SetYear(int) __ptr64
-?SetYear@BLT_DATE_SPIN_GROUP@@QEAAXH@Z
-; public: static void __cdecl CURSOR::Show(int)
-?Show@CURSOR@@SAXH@Z
-; public: int __cdecl POPUP::Show(void) __ptr64
-?Show@POPUP@@QEAAHXZ
-; public: int __cdecl WINDOW::Show(int) __ptr64
-?Show@WINDOW@@QEAAHH@Z
-; protected: void __cdecl BASE_SET_FOCUS_DLG::ShowArea(int) __ptr64
-?ShowArea@BASE_SET_FOCUS_DLG@@IEAAXH@Z
-; protected: void __cdecl EXPANDABLE_DIALOG::ShowArea(int) __ptr64
-?ShowArea@EXPANDABLE_DIALOG@@IEAAXH@Z
-; private: void __cdecl H_SPLITTER_BAR::ShowDragBar(class XYPOINT const & __ptr64) __ptr64
-?ShowDragBar@H_SPLITTER_BAR@@AEAAXAEBVXYPOINT@@@Z
-; public: void __cdecl WINDOW::ShowFirst(void) __ptr64
-?ShowFirst@WINDOW@@QEAAXXZ
-; private: void __cdecl H_SPLITTER_BAR::ShowSpecialCursor(int) __ptr64
-?ShowSpecialCursor@H_SPLITTER_BAR@@AEAAXH@Z
-; public: void __cdecl WIN32_THREAD::Sleep(unsigned int) __ptr64
-?Sleep@WIN32_THREAD@@QEAAXI@Z
-; public: void __cdecl USER_LBI_CACHE::Sort(void) __ptr64
-?Sort@USER_LBI_CACHE@@QEAAXXZ
-; private: static unsigned long __cdecl WIN32_THREAD::StartThread(void * __ptr64)
-?StartThread@WIN32_THREAD@@CAKPEAX@Z
-; private: long __cdecl LB_COL_WIDTHS::StretchForFonts(struct HWND__ * __ptr64,unsigned short const * __ptr64) __ptr64
-?StretchForFonts@LB_COL_WIDTHS@@AEAAJPEAUHWND__@@PEBG@Z
-; public: long __cdecl MASK_MAP::StringToBits(class NLS_STR const & __ptr64,class BITFIELD * __ptr64,int,unsigned int * __ptr64) __ptr64
-?StringToBits@MASK_MAP@@QEAAJAEBVNLS_STR@@PEAVBITFIELD@@HPEAI@Z
-; protected: long __cdecl ACCOUNT_NAMES_MLE::StripDomainIfWellKnown(class NLS_STR * __ptr64) __ptr64
-?StripDomainIfWellKnown@ACCOUNT_NAMES_MLE@@IEAAJPEAVNLS_STR@@@Z
-; protected: __int64 __cdecl CUSTOM_CONTROL::SubClassWndProc(class EVENT const & __ptr64) __ptr64
-?SubClassWndProc@CUSTOM_CONTROL@@IEAA_JAEBVEVENT@@@Z
-; public: long __cdecl WIN32_THREAD::Suspend(void) __ptr64
-?Suspend@WIN32_THREAD@@QEAAJXZ
-; public: static void __cdecl BASE_ELLIPSIS::Term(void)
-?Term@BASE_ELLIPSIS@@SAXXZ
-; public: static void __cdecl BLT::Term(struct HINSTANCE__ * __ptr64)
-?Term@BLT@@SAXPEAUHINSTANCE__@@@Z
-; public: static void __cdecl BLTIMP::Term(void)
-?Term@BLTIMP@@SAXXZ
-; public: static void __cdecl BLT_MASTER_TIMER::Term(void)
-?Term@BLT_MASTER_TIMER@@SAXXZ
-; public: static void __cdecl CLIENT_WINDOW::Term(void)
-?Term@CLIENT_WINDOW@@SAXXZ
-; public: static void __cdecl POPUP::Term(void)
-?Term@POPUP@@SAXXZ
-; public: static void __cdecl BLT::TermDLL(void)
-?TermDLL@BLT@@SAXXZ
-; public: long __cdecl WIN32_THREAD::Terminate(unsigned int) __ptr64
-?Terminate@WIN32_THREAD@@QEAAJI@Z
-; public: int __cdecl DEVICE_CONTEXT::TextOutW(class NLS_STR const & __ptr64,class XYPOINT)const  __ptr64
-?TextOutW@DEVICE_CONTEXT@@QEBAHAEBVNLS_STR@@VXYPOINT@@@Z
-; public: int __cdecl DEVICE_CONTEXT::TextOutW(class NLS_STR const & __ptr64,class XYPOINT,struct tagRECT const * __ptr64)const  __ptr64
-?TextOutW@DEVICE_CONTEXT@@QEBAHAEBVNLS_STR@@VXYPOINT@@PEBUtagRECT@@@Z
-; public: int __cdecl DEVICE_CONTEXT::TextOutW(unsigned short const * __ptr64,int,int,int)const  __ptr64
-?TextOutW@DEVICE_CONTEXT@@QEBAHPEBGHHH@Z
-; public: int __cdecl DEVICE_CONTEXT::TextOutW(unsigned short const * __ptr64,int,int,int,struct tagRECT const * __ptr64)const  __ptr64
-?TextOutW@DEVICE_CONTEXT@@QEBAHPEBGHHHPEBUtagRECT@@@Z
-; public: int __cdecl CHECKBOX::Toggle(void) __ptr64
-?Toggle@CHECKBOX@@QEAAHXZ
-; public: long __cdecl LM_OLLB::ToggleDomain(int) __ptr64
-?ToggleDomain@LM_OLLB@@QEAAJH@Z
-; public: long __cdecl POPUP_MENU::Track(class PWND2HWND const & __ptr64,unsigned int,int,int,struct tagRECT const * __ptr64)const  __ptr64
-?Track@POPUP_MENU@@QEBAJAEBVPWND2HWND@@IHHPEBUtagRECT@@@Z
-; public: int __cdecl ACCELTABLE::Translate(class WINDOW const * __ptr64,struct tagMSG * __ptr64)const  __ptr64
-?Translate@ACCELTABLE@@QEBAHPEBVWINDOW@@PEAUtagMSG@@@Z
-; public: void __cdecl TIMER_BASE::TriggerNow(void) __ptr64
-?TriggerNow@TIMER_BASE@@QEAAXXZ
-; long __cdecl TrimLeading(class NLS_STR * __ptr64,unsigned short const * __ptr64)
-?TrimLeading@@YAJPEAVNLS_STR@@PEBG@Z
-; long __cdecl TrimTrailing(class NLS_STR * __ptr64,unsigned short const * __ptr64)
-?TrimTrailing@@YAJPEAVNLS_STR@@PEBG@Z
-; public: void __cdecl AUTO_CURSOR::TurnOff(void) __ptr64
-?TurnOff@AUTO_CURSOR@@QEAAXXZ
-; public: void __cdecl AUTO_CURSOR::TurnOn(void) __ptr64
-?TurnOn@AUTO_CURSOR@@QEAAXXZ
-; public: long __cdecl BROWSER_DOMAIN::UnRequestAccountData(void) __ptr64
-?UnRequestAccountData@BROWSER_DOMAIN@@QEAAJXZ
-; public: long __cdecl DOMAIN_FILL_THREAD::UnRequestAccountData(void) __ptr64
-?UnRequestAccountData@DOMAIN_FILL_THREAD@@QEAAJXZ
-; public: virtual void __cdecl UI_EXT_MGR::UnloadExtensions(void) __ptr64
-?UnloadExtensions@UI_EXT_MGR@@UEAAXXZ
-; private: void __cdecl LOGON_HOURS_CONTROL::UnloadLabels(void) __ptr64
-?UnloadLabels@LOGON_HOURS_CONTROL@@AEAAXXZ
-; protected: virtual void __cdecl USER_LBI_CACHE::UnlockCache(void) __ptr64
-?UnlockCache@USER_LBI_CACHE@@MEAAXXZ
-; private: static void __cdecl BLTIMP::Unwind(enum BLT_CTOR_STATE)
-?Unwind@BLTIMP@@CAXW4BLT_CTOR_STATE@@@Z
-; public: virtual void __cdecl CHANGEABLE_SPIN_ITEM::Update(void) __ptr64
-?Update@CHANGEABLE_SPIN_ITEM@@UEAAXXZ
-; public: virtual void __cdecl SPIN_SLE_NUM::Update(void) __ptr64
-?Update@SPIN_SLE_NUM@@UEAAXXZ
-; public: virtual void __cdecl SPIN_SLE_STR::Update(void) __ptr64
-?Update@SPIN_SLE_STR@@UEAAXXZ
-; protected: void __cdecl NT_FIND_ACCOUNT_DIALOG::UpdateButtonState(void) __ptr64
-?UpdateButtonState@NT_FIND_ACCOUNT_DIALOG@@IEAAXXZ
-; protected: virtual void __cdecl NT_GROUP_BROWSER_DIALOG::UpdateButtonState(void) __ptr64
-?UpdateButtonState@NT_GROUP_BROWSER_DIALOG@@MEAAXXZ
-; protected: virtual void __cdecl NT_LOCALGROUP_BROWSER_DIALOG::UpdateButtonState(void) __ptr64
-?UpdateButtonState@NT_LOCALGROUP_BROWSER_DIALOG@@MEAAXXZ
-; protected: void __cdecl NT_USER_BROWSER_DIALOG::UpdateButtonState(void) __ptr64
-?UpdateButtonState@NT_USER_BROWSER_DIALOG@@IEAAXXZ
-; private: void __cdecl BASE_SET_FOCUS_DLG::UpdateRasMode(void) __ptr64
-?UpdateRasMode@BASE_SET_FOCUS_DLG@@AEAAXXZ
-; public: virtual long __cdecl CONTROL_WINDOW::Validate(void) __ptr64
-?Validate@CONTROL_WINDOW@@UEAAJXZ
-; private: long __cdecl DIALOG_WINDOW::Validate(void) __ptr64
-?Validate@DIALOG_WINDOW@@AEAAJXZ
-; public: virtual long __cdecl ICANON_SLE::Validate(void) __ptr64
-?Validate@ICANON_SLE@@UEAAJXZ
-; public: virtual long __cdecl SPIN_SLE_NUM::Validate(void) __ptr64
-?Validate@SPIN_SLE_NUM@@UEAAJXZ
-; protected: virtual long __cdecl SLE_STRLB_GROUP::W_Add(unsigned short const * __ptr64) __ptr64
-?W_Add@SLE_STRLB_GROUP@@MEAAJPEBG@Z
-; private: virtual unsigned short __cdecl GLOBAL_ATOM::W_AddAtom(unsigned short const * __ptr64)const  __ptr64
-?W_AddAtom@GLOBAL_ATOM@@EEBAGPEBG@Z
-; private: virtual unsigned short __cdecl LOCAL_ATOM::W_AddAtom(unsigned short const * __ptr64)const  __ptr64
-?W_AddAtom@LOCAL_ATOM@@EEBAGPEBG@Z
-; protected: long __cdecl MENU_BASE::W_Append(void const * __ptr64,unsigned __int64,unsigned int)const  __ptr64
-?W_Append@MENU_BASE@@IEBAJPEBX_KI@Z
-; private: long __cdecl UI_MENU_EXT::W_BiasMenuIds(struct HMENU__ * __ptr64,unsigned long) __ptr64
-?W_BiasMenuIds@UI_MENU_EXT@@AEAAJPEAUHMENU__@@K@Z
-; private: class LBI * __ptr64 __cdecl USER_LBI_CACHE::W_GetLBI(int) __ptr64
-?W_GetLBI@USER_LBI_CACHE@@AEAAPEAVLBI@@H@Z
-; private: int __cdecl USER_LBI_CACHE::W_GrowCache(int) __ptr64
-?W_GrowCache@USER_LBI_CACHE@@AEAAHH@Z
-; protected: long __cdecl MENU_BASE::W_Insert(void const * __ptr64,unsigned int,unsigned __int64,unsigned int)const  __ptr64
-?W_Insert@MENU_BASE@@IEBAJPEBXI_KI@Z
-; protected: virtual class UI_EXT * __ptr64 __cdecl UI_EXT_MGR::W_LoadExtension(unsigned short const * __ptr64,unsigned long) __ptr64
-?W_LoadExtension@UI_EXT_MGR@@MEAAPEAVUI_EXT@@PEBGK@Z
-; protected: long __cdecl MENU_BASE::W_Modify(void const * __ptr64,unsigned int,unsigned __int64,unsigned int)const  __ptr64
-?W_Modify@MENU_BASE@@IEBAJPEBXI_KI@Z
-; public: void __cdecl BROWSER_DOMAIN_LBI::W_Paint(class BROWSER_DOMAIN_CB * __ptr64,class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
-?W_Paint@BROWSER_DOMAIN_LBI@@QEBAXPEAVBROWSER_DOMAIN_CB@@PEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
-; protected: int __cdecl MENU_BASE::W_QueryItemText(unsigned short * __ptr64,unsigned int,unsigned int,unsigned int)const  __ptr64
-?W_QueryItemText@MENU_BASE@@IEBAHPEAGIII@Z
-; private: virtual long __cdecl GLOBAL_ATOM::W_QueryString(unsigned short * __ptr64,unsigned int)const  __ptr64
-?W_QueryString@GLOBAL_ATOM@@EEBAJPEAGI@Z
-; private: virtual long __cdecl LOCAL_ATOM::W_QueryString(unsigned short * __ptr64,unsigned int)const  __ptr64
-?W_QueryString@LOCAL_ATOM@@EEBAJPEAGI@Z
-; private: long __cdecl ICON_CONTROL::W_SetIcon(class IDRESOURCE const & __ptr64,int) __ptr64
-?W_SetIcon@ICON_CONTROL@@AEAAJAEBVIDRESOURCE@@H@Z
-; public: long __cdecl WIN32_SYNC_BASE::Wait(unsigned int) __ptr64
-?Wait@WIN32_SYNC_BASE@@QEAAJI@Z
-; public: long __cdecl BROWSER_DOMAIN::WaitForAdminAuthority(unsigned long,int * __ptr64)const  __ptr64
-?WaitForAdminAuthority@BROWSER_DOMAIN@@QEBAJKPEAH@Z
-; public: long __cdecl DOMAIN_FILL_THREAD::WaitForAdminAuthority(unsigned long,int * __ptr64)const  __ptr64
-?WaitForAdminAuthority@DOMAIN_FILL_THREAD@@QEBAJKPEAH@Z
-; private: int __cdecl OPEN_DIALOG_BASE::WarnCloseMulti(void) __ptr64
-?WarnCloseMulti@OPEN_DIALOG_BASE@@AEAAHXZ
-; private: int __cdecl OPEN_DIALOG_BASE::WarnCloseSingle(class OPEN_LBI_BASE * __ptr64) __ptr64
-?WarnCloseSingle@OPEN_DIALOG_BASE@@AEAAHPEAVOPEN_LBI_BASE@@@Z
-; private: int __cdecl ARRAY_CONTROLVAL_CID_PAIR::WithinRange(unsigned int)const  __ptr64
-?WithinRange@ARRAY_CONTROLVAL_CID_PAIR@@AEBAHI@Z
-; public: static __int64 __cdecl CLIENT_WINDOW::WndProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?WndProc@CLIENT_WINDOW@@SA_JPEAUHWND__@@I_K_J@Z
-; public: static __int64 __cdecl CUSTOM_CONTROL::WndProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?WndProc@CUSTOM_CONTROL@@SA_JPEAUHWND__@@I_K_J@Z
-; int __cdecl max(int,int)
-?max@@YAHHH@Z
-; int __cdecl min(int,int)
-?min@@YAHHH@Z
-; public: unsigned long (__cdecl*__cdecl GET_FNAME_BASE_DLG::pfExtendedError(void)const  __ptr64)(void)
-?pfExtendedError@GET_FNAME_BASE_DLG@@QEBAP6AKXZXZ
-; public: int (__cdecl*__cdecl GET_FNAME_BASE_DLG::pfGetOpenFileName(void)const  __ptr64)(struct tagOFNW * __ptr64)
-?pfGetOpenFileName@GET_FNAME_BASE_DLG@@QEBAP6AHPEAUtagOFNW@@@ZXZ
-; public: int (__cdecl*__cdecl GET_FNAME_BASE_DLG::pfGetSaveFileName(void)const  __ptr64)(struct tagOFNW * __ptr64)
-?pfGetSaveFileName@GET_FNAME_BASE_DLG@@QEBAP6AHPEAUtagOFNW@@@ZXZ
-BltCCWndProc
-BltDlgProc
-BltWndProc
-CloseUserBrowser
-EnumUserBrowserSelection
-LongToHandle
-OpenUserBrowser
-PtrToUlong
-ShellDlgProc
-UIntToPtr
+; 
+; Exports of file NETUI2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETUI2.dll
+EXPORTS
+; public: __cdecl ACCELTABLE::ACCELTABLE(class IDRESOURCE const & __ptr64) __ptr64
+??0ACCELTABLE@@QEAA@AEBVIDRESOURCE@@@Z
+; public: __cdecl ACCOUNT_NAMES_MLE::ACCOUNT_NAMES_MLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,int,unsigned long,enum FontType) __ptr64
+??0ACCOUNT_NAMES_MLE@@QEAA@PEAVOWNER_WINDOW@@IPEBGPEAVNT_USER_BROWSER_DIALOG@@HKW4FontType@@@Z
+; public: __cdecl ACTIVATION_EVENT::ACTIVATION_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
+??0ACTIVATION_EVENT@@QEAA@I_K_J@Z
+; public: __cdecl ALIAS_STR::ALIAS_STR(unsigned short const * __ptr64) __ptr64
+??0ALIAS_STR@@QEAA@PEBG@Z
+; public: __cdecl ALLOC_STR::ALLOC_STR(unsigned short * __ptr64,unsigned int) __ptr64
+??0ALLOC_STR@@QEAA@PEAGI@Z
+; protected: __cdecl APPLICATION::APPLICATION(struct HINSTANCE__ * __ptr64,int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
+??0APPLICATION@@IEAA@PEAUHINSTANCE__@@HIIII@Z
+; protected: __cdecl APP_WINDOW::APP_WINDOW(class NLS_STR const & __ptr64,class IDRESOURCE const & __ptr64,class IDRESOURCE const & __ptr64) __ptr64
+??0APP_WINDOW@@IEAA@AEBVNLS_STR@@AEBVIDRESOURCE@@1@Z
+; protected: __cdecl APP_WINDOW::APP_WINDOW(class XYPOINT,class XYDIMENSION,class NLS_STR const & __ptr64,class IDRESOURCE const & __ptr64,class IDRESOURCE const & __ptr64) __ptr64
+??0APP_WINDOW@@IEAA@VXYPOINT@@VXYDIMENSION@@AEBVNLS_STR@@AEBVIDRESOURCE@@3@Z
+; public: __cdecl ARRAY_CONTROLVAL_CID_PAIR::ARRAY_CONTROLVAL_CID_PAIR(unsigned int) __ptr64
+??0ARRAY_CONTROLVAL_CID_PAIR@@QEAA@I@Z
+; public: __cdecl ARRAY_CONTROLVAL_CID_PAIR::ARRAY_CONTROLVAL_CID_PAIR(class CONTROLVAL_CID_PAIR * __ptr64,unsigned int,int) __ptr64
+??0ARRAY_CONTROLVAL_CID_PAIR@@QEAA@PEAVCONTROLVAL_CID_PAIR@@IH@Z
+; public: __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::ARRAY_LIST_CONTROLVAL_CID_PAIR(unsigned int) __ptr64
+??0ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAA@I@Z
+; public: __cdecl ARROW_BUTTON::ARROW_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
+??0ARROW_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IIII@Z
+; public: __cdecl ARROW_BUTTON::ARROW_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
+??0ARROW_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IIIIVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __cdecl ASSOCHCFILE::ASSOCHCFILE(struct HINSTANCE__ * __ptr64,long,unsigned long,unsigned long) __ptr64
+??0ASSOCHCFILE@@QEAA@PEAUHINSTANCE__@@JKK@Z
+; public: __cdecl ASSOCHWNDDISP::ASSOCHWNDDISP(struct HWND__ * __ptr64,class DISPATCHER const * __ptr64) __ptr64
+??0ASSOCHWNDDISP@@QEAA@PEAUHWND__@@PEBVDISPATCHER@@@Z
+; public: __cdecl ASSOCHWNDPDLG::ASSOCHWNDPDLG(struct HWND__ * __ptr64,class DIALOG_WINDOW const * __ptr64) __ptr64
+??0ASSOCHWNDPDLG@@QEAA@PEAUHWND__@@PEBVDIALOG_WINDOW@@@Z
+; public: __cdecl ASSOCHWNDPWND::ASSOCHWNDPWND(struct HWND__ * __ptr64,class CLIENT_WINDOW const * __ptr64) __ptr64
+??0ASSOCHWNDPWND@@QEAA@PEAUHWND__@@PEBVCLIENT_WINDOW@@@Z
+; public: __cdecl ASSOCHWNDTHIS::ASSOCHWNDTHIS(struct HWND__ * __ptr64,void const * __ptr64) __ptr64
+??0ASSOCHWNDTHIS@@QEAA@PEAUHWND__@@PEBX@Z
+; protected: __cdecl ATOM_BASE::ATOM_BASE(unsigned short) __ptr64
+??0ATOM_BASE@@IEAA@G@Z
+; protected: __cdecl ATOM_BASE::ATOM_BASE(void) __ptr64
+??0ATOM_BASE@@IEAA@XZ
+; public: __cdecl AUDIT_CHECKBOXES::AUDIT_CHECKBOXES(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,class NLS_STR const & __ptr64,class BITFIELD const & __ptr64) __ptr64
+??0AUDIT_CHECKBOXES@@QEAA@PEAVOWNER_WINDOW@@IIIAEBVNLS_STR@@AEBVBITFIELD@@@Z
+; public: __cdecl AUTO_CURSOR::AUTO_CURSOR(unsigned short const * __ptr64) __ptr64
+??0AUTO_CURSOR@@QEAA@PEBG@Z
+; protected: __cdecl BASE::BASE(void) __ptr64
+??0BASE@@IEAA@XZ
+; public: __cdecl BASE::BASE(class BASE const & __ptr64) __ptr64
+??0BASE@@QEAA@AEBV0@@Z
+; protected: __cdecl BASE_ELLIPSIS::BASE_ELLIPSIS(enum ELLIPSIS_STYLE) __ptr64
+??0BASE_ELLIPSIS@@IEAA@W4ELLIPSIS_STYLE@@@Z
+; public: __cdecl BASE_PASSWORD_DIALOG::BASE_PASSWORD_DIALOG(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned int,unsigned int,unsigned long,unsigned short const * __ptr64,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned int,unsigned short const * __ptr64) __ptr64
+??0BASE_PASSWORD_DIALOG@@QEAA@PEAUHWND__@@PEBGIIK1II1I1@Z
+; public: __cdecl BASE_SET_FOCUS_DLG::BASE_SET_FOCUS_DLG(struct HWND__ * __ptr64 const,enum SELECTION_TYPE,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
+??0BASE_SET_FOCUS_DLG@@QEAA@QEAUHWND__@@W4SELECTION_TYPE@@KPEBGK2K@Z
+; public: __cdecl BIT_MAP::BIT_MAP(class IDRESOURCE const & __ptr64) __ptr64
+??0BIT_MAP@@QEAA@AEBVIDRESOURCE@@@Z
+; public: __cdecl BIT_MAP::BIT_MAP(struct HBITMAP__ * __ptr64) __ptr64
+??0BIT_MAP@@QEAA@PEAUHBITMAP__@@@Z
+; public: __cdecl BLT_BACKGROUND_EDIT::BLT_BACKGROUND_EDIT(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0BLT_BACKGROUND_EDIT@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl BLT_COMBOBOX::BLT_COMBOBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType) __ptr64
+??0BLT_COMBOBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@@Z
+; public: __cdecl BLT_COMBOBOX::BLT_COMBOBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType) __ptr64
+??0BLT_COMBOBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@@Z
+; public: __cdecl BLT_DATE_SPIN_GROUP::BLT_DATE_SPIN_GROUP(class OWNER_WINDOW * __ptr64,class INTL_PROFILE const & __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
+??0BLT_DATE_SPIN_GROUP@@QEAA@PEAVOWNER_WINDOW@@AEBVINTL_PROFILE@@IIIIIIIII@Z
+; public: __cdecl BLT_LISTBOX::BLT_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType,int) __ptr64
+??0BLT_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@H@Z
+; public: __cdecl BLT_LISTBOX::BLT_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int) __ptr64
+??0BLT_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
+; public: __cdecl BLT_LISTBOX_HAW::BLT_LISTBOX_HAW(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType,int) __ptr64
+??0BLT_LISTBOX_HAW@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@H@Z
+; public: __cdecl BLT_LISTBOX_HAW::BLT_LISTBOX_HAW(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int) __ptr64
+??0BLT_LISTBOX_HAW@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
+; public: __cdecl BLT_MASTER_TIMER::BLT_MASTER_TIMER(void) __ptr64
+??0BLT_MASTER_TIMER@@QEAA@XZ
+; public: __cdecl BLT_SCRATCH::BLT_SCRATCH(unsigned int) __ptr64
+??0BLT_SCRATCH@@QEAA@I@Z
+; public: __cdecl BLT_TIME_SPIN_GROUP::BLT_TIME_SPIN_GROUP(class OWNER_WINDOW * __ptr64,class INTL_PROFILE const & __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
+??0BLT_TIME_SPIN_GROUP@@QEAA@PEAVOWNER_WINDOW@@AEBVINTL_PROFILE@@IIIIIIIIII@Z
+; public: __cdecl BROWSER_DOMAIN::BROWSER_DOMAIN(unsigned short const * __ptr64,void * __ptr64,int,int) __ptr64
+??0BROWSER_DOMAIN@@QEAA@PEBGPEAXHH@Z
+; public: __cdecl BROWSER_DOMAIN_CB::BROWSER_DOMAIN_CB(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0BROWSER_DOMAIN_CB@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl BROWSER_DOMAIN_LB::BROWSER_DOMAIN_LB(class OWNER_WINDOW * __ptr64,unsigned int,class BROWSER_DOMAIN_CB * __ptr64) __ptr64
+??0BROWSER_DOMAIN_LB@@QEAA@PEAVOWNER_WINDOW@@IPEAVBROWSER_DOMAIN_CB@@@Z
+; public: __cdecl BROWSER_DOMAIN_LBI::BROWSER_DOMAIN_LBI(class BROWSER_DOMAIN * __ptr64) __ptr64
+??0BROWSER_DOMAIN_LBI@@QEAA@PEAVBROWSER_DOMAIN@@@Z
+; public: __cdecl BROWSER_DOMAIN_LBI_PB::BROWSER_DOMAIN_LBI_PB(class BROWSER_DOMAIN_LBI * __ptr64) __ptr64
+??0BROWSER_DOMAIN_LBI_PB@@QEAA@PEAVBROWSER_DOMAIN_LBI@@@Z
+; public: __cdecl BROWSER_SUBJECT::BROWSER_SUBJECT(void) __ptr64
+??0BROWSER_SUBJECT@@QEAA@XZ
+; public: __cdecl BROWSER_SUBJECT_ITER::BROWSER_SUBJECT_ITER(class NT_USER_BROWSER_DIALOG * __ptr64) __ptr64
+??0BROWSER_SUBJECT_ITER@@QEAA@PEAVNT_USER_BROWSER_DIALOG@@@Z
+; protected: __cdecl BUTTON_CONTROL::BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@I@Z
+; protected: __cdecl BUTTON_CONTROL::BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
+??0BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __cdecl CANCEL_TASK_DIALOG::CANCEL_TASK_DIALOG(unsigned int,struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned __int64,long,enum ELLIPSIS_STYLE) __ptr64
+??0CANCEL_TASK_DIALOG@@QEAA@IPEAUHWND__@@PEBG_KJW4ELLIPSIS_STYLE@@@Z
+; public: __cdecl CHANGEABLE_SPIN_ITEM::CHANGEABLE_SPIN_ITEM(class CONTROL_WINDOW * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
+??0CHANGEABLE_SPIN_ITEM@@QEAA@PEAVCONTROL_WINDOW@@KKKH@Z
+; public: __cdecl CHECKBOX::CHECKBOX(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0CHECKBOX@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; protected: __cdecl CLIENT_WINDOW::CLIENT_WINDOW(unsigned long,class WINDOW const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CLIENT_WINDOW@@IEAA@KPEBVWINDOW@@PEBG@Z
+; protected: __cdecl CLIENT_WINDOW::CLIENT_WINDOW(void) __ptr64
+??0CLIENT_WINDOW@@IEAA@XZ
+; public: __cdecl COMBOBOX::COMBOBOX(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
+??0COMBOBOX@@QEAA@PEAVOWNER_WINDOW@@II@Z
+; public: __cdecl COMBOBOX::COMBOBOX(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0COMBOBOX@@QEAA@PEAVOWNER_WINDOW@@IIVXYPOINT@@VXYDIMENSION@@KPEBG@Z
+; public: __cdecl CONSOLE_ELLIPSIS::CONSOLE_ELLIPSIS(enum ELLIPSIS_STYLE,int) __ptr64
+??0CONSOLE_ELLIPSIS@@QEAA@W4ELLIPSIS_STYLE@@H@Z
+; public: __cdecl CONTROLVAL_CID_PAIR::CONTROLVAL_CID_PAIR(unsigned int,class CONTROL_VALUE * __ptr64) __ptr64
+??0CONTROLVAL_CID_PAIR@@QEAA@IPEAVCONTROL_VALUE@@@Z
+; public: __cdecl CONTROLVAL_CID_PAIR::CONTROLVAL_CID_PAIR(void) __ptr64
+??0CONTROLVAL_CID_PAIR@@QEAA@XZ
+; private: __cdecl CONTROL_ENTRY::CONTROL_ENTRY(class CONTROL_WINDOW * __ptr64) __ptr64
+??0CONTROL_ENTRY@@AEAA@PEAVCONTROL_WINDOW@@@Z
+; public: __cdecl CONTROL_EVENT::CONTROL_EVENT(unsigned int,unsigned int) __ptr64
+??0CONTROL_EVENT@@QEAA@II@Z
+; public: __cdecl CONTROL_EVENT::CONTROL_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
+??0CONTROL_EVENT@@QEAA@I_K_J@Z
+; public: __cdecl CONTROL_GROUP::CONTROL_GROUP(class CONTROL_GROUP * __ptr64) __ptr64
+??0CONTROL_GROUP@@QEAA@PEAV0@@Z
+; public: __cdecl CONTROL_TABLE::CONTROL_TABLE(void) __ptr64
+??0CONTROL_TABLE@@QEAA@XZ
+; public: __cdecl CONTROL_VALUE::CONTROL_VALUE(class CONTROL_GROUP * __ptr64) __ptr64
+??0CONTROL_VALUE@@QEAA@PEAVCONTROL_GROUP@@@Z
+; public: __cdecl CONTROL_WINDOW::CONTROL_WINDOW(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0CONTROL_WINDOW@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl CONTROL_WINDOW::CONTROL_WINDOW(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0CONTROL_WINDOW@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
+; public: __cdecl CUSTOM_CONTROL::CUSTOM_CONTROL(class CONTROL_WINDOW * __ptr64) __ptr64
+??0CUSTOM_CONTROL@@QEAA@PEAVCONTROL_WINDOW@@@Z
+; public: __cdecl DEC_SLT::DEC_SLT(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
+??0DEC_SLT@@QEAA@PEAVOWNER_WINDOW@@II@Z
+; public: __cdecl DEC_SLT::DEC_SLT(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
+??0DEC_SLT@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
+; public: __cdecl DEVICE_COMBO::DEVICE_COMBO(class OWNER_WINDOW * __ptr64,unsigned int,enum LMO_DEVICE,enum LMO_DEV_USAGE) __ptr64
+??0DEVICE_COMBO@@QEAA@PEAVOWNER_WINDOW@@IW4LMO_DEVICE@@W4LMO_DEV_USAGE@@@Z
+; public: __cdecl DEVICE_CONTEXT::DEVICE_CONTEXT(struct HDC__ * __ptr64) __ptr64
+??0DEVICE_CONTEXT@@QEAA@PEAUHDC__@@@Z
+; protected: __cdecl DIALOG_WINDOW::DIALOG_WINDOW(unsigned char const * __ptr64,unsigned int,struct HWND__ * __ptr64,int) __ptr64
+??0DIALOG_WINDOW@@IEAA@PEBEIPEAUHWND__@@H@Z
+; public: __cdecl DIALOG_WINDOW::DIALOG_WINDOW(class IDRESOURCE const & __ptr64,class PWND2HWND const & __ptr64,int) __ptr64
+??0DIALOG_WINDOW@@QEAA@AEBVIDRESOURCE@@AEBVPWND2HWND@@H@Z
+; public: __cdecl DISK_SPACE_SUBCLASS::DISK_SPACE_SUBCLASS(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,long,long,long,long,long,int) __ptr64
+??0DISK_SPACE_SUBCLASS@@QEAA@PEAVOWNER_WINDOW@@IIIIIJJJJJH@Z
+; protected: __cdecl DISPATCHER::DISPATCHER(class WINDOW * __ptr64) __ptr64
+??0DISPATCHER@@IEAA@PEAVWINDOW@@@Z
+; public: __cdecl DISPLAY_CONTEXT::DISPLAY_CONTEXT(struct HWND__ * __ptr64) __ptr64
+??0DISPLAY_CONTEXT@@QEAA@PEAUHWND__@@@Z
+; public: __cdecl DISPLAY_CONTEXT::DISPLAY_CONTEXT(class WINDOW * __ptr64) __ptr64
+??0DISPLAY_CONTEXT@@QEAA@PEAVWINDOW@@@Z
+; public: __cdecl DISPLAY_CONTEXT::DISPLAY_CONTEXT(class WINDOW * __ptr64,struct HDC__ * __ptr64) __ptr64
+??0DISPLAY_CONTEXT@@QEAA@PEAVWINDOW@@PEAUHDC__@@@Z
+; public: __cdecl DISPLAY_MAP::DISPLAY_MAP(unsigned int) __ptr64
+??0DISPLAY_MAP@@QEAA@I@Z
+; public: __cdecl DISPLAY_TABLE::DISPLAY_TABLE(unsigned int,unsigned int const * __ptr64) __ptr64
+??0DISPLAY_TABLE@@QEAA@IPEBI@Z
+; public: __cdecl DLGLOAD::DLGLOAD(class IDRESOURCE const & __ptr64,struct HWND__ * __ptr64,__int64 (__cdecl*)(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64),int) __ptr64
+??0DLGLOAD@@QEAA@AEBVIDRESOURCE@@PEAUHWND__@@P6A_J1I_K_J@ZH@Z
+; public: __cdecl DLGLOAD::DLGLOAD(unsigned char const * __ptr64,unsigned int,struct HWND__ * __ptr64,__int64 (__cdecl*)(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64),int) __ptr64
+??0DLGLOAD@@QEAA@PEBEIPEAUHWND__@@P6A_J1I_K_J@ZH@Z
+; public: __cdecl DLIST_OF_SPIN_ITEM::DLIST_OF_SPIN_ITEM(int) __ptr64
+??0DLIST_OF_SPIN_ITEM@@QEAA@H@Z
+; public: __cdecl DMID_DTE::DMID_DTE(unsigned int) __ptr64
+??0DMID_DTE@@QEAA@I@Z
+; protected: __cdecl DM_DTE::DM_DTE(void) __ptr64
+??0DM_DTE@@IEAA@XZ
+; public: __cdecl DM_DTE::DM_DTE(class DISPLAY_MAP * __ptr64) __ptr64
+??0DM_DTE@@QEAA@PEAVDISPLAY_MAP@@@Z
+; public: __cdecl DOMAIN_COMBO::DOMAIN_COMBO(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int) __ptr64
+??0DOMAIN_COMBO@@QEAA@PEAVOWNER_WINDOW@@III@Z
+; public: __cdecl DOMAIN_FILL_THREAD::DOMAIN_FILL_THREAD(class NT_USER_BROWSER_DIALOG * __ptr64,class BROWSER_DOMAIN * __ptr64,class ADMIN_AUTHORITY const * __ptr64) __ptr64
+??0DOMAIN_FILL_THREAD@@QEAA@PEAVNT_USER_BROWSER_DIALOG@@PEAVBROWSER_DOMAIN@@PEBVADMIN_AUTHORITY@@@Z
+; protected: __cdecl DTE::DTE(void) __ptr64
+??0DTE@@IEAA@XZ
+; public: __cdecl EDIT_CONTROL::EDIT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
+??0EDIT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@II@Z
+; public: __cdecl EDIT_CONTROL::EDIT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
+??0EDIT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
+; public: __cdecl ELAPSED_TIME_CONTROL::ELAPSED_TIME_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,class SLT & __ptr64,long,long,long,class SLT & __ptr64,class SLT & __ptr64,long,long,long,long,int) __ptr64
+??0ELAPSED_TIME_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IIIIIIAEAVSLT@@JJJ11JJJJH@Z
+; public: __cdecl EVENT::EVENT(unsigned int,unsigned __int64,__int64) __ptr64
+??0EVENT@@QEAA@I_K_J@Z
+; public: __cdecl EXPANDABLE_DIALOG::EXPANDABLE_DIALOG(unsigned short const * __ptr64,struct HWND__ * __ptr64,unsigned int,unsigned int,int) __ptr64
+??0EXPANDABLE_DIALOG@@QEAA@PEBGPEAUHWND__@@IIH@Z
+; public: __cdecl FOCUSDLG_DATA_THREAD::FOCUSDLG_DATA_THREAD(struct HWND__ * __ptr64,unsigned long,enum SELECTION_TYPE,unsigned short const * __ptr64,unsigned long) __ptr64
+??0FOCUSDLG_DATA_THREAD@@QEAA@PEAUHWND__@@KW4SELECTION_TYPE@@PEBGK@Z
+; public: __cdecl FOCUS_CHECKBOX::FOCUS_CHECKBOX(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0FOCUS_CHECKBOX@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl FONT::FONT(struct tagLOGFONTW const & __ptr64) __ptr64
+??0FONT@@QEAA@AEBUtagLOGFONTW@@@Z
+; public: __cdecl FONT::FONT(unsigned short const * __ptr64,unsigned char,int,enum FontAttributes) __ptr64
+??0FONT@@QEAA@PEBGEHW4FontAttributes@@@Z
+; public: __cdecl FONT::FONT(enum FontType) __ptr64
+??0FONT@@QEAA@W4FontType@@@Z
+; protected: __cdecl FORWARDING_BASE::FORWARDING_BASE(class BASE * __ptr64) __ptr64
+??0FORWARDING_BASE@@IEAA@PEAVBASE@@@Z
+; protected: __cdecl GET_FNAME_BASE_DLG::GET_FNAME_BASE_DLG(class OWNER_WINDOW * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0GET_FNAME_BASE_DLG@@IEAA@PEAVOWNER_WINDOW@@PEBGK@Z
+; public: __cdecl GET_OPEN_FILENAME_DLG::GET_OPEN_FILENAME_DLG(class OWNER_WINDOW * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0GET_OPEN_FILENAME_DLG@@QEAA@PEAVOWNER_WINDOW@@PEBGK@Z
+; public: __cdecl GET_SAVE_FILENAME_DLG::GET_SAVE_FILENAME_DLG(class OWNER_WINDOW * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0GET_SAVE_FILENAME_DLG@@QEAA@PEAVOWNER_WINDOW@@PEBGK@Z
+; public: __cdecl GLOBAL_ATOM::GLOBAL_ATOM(unsigned short const * __ptr64) __ptr64
+??0GLOBAL_ATOM@@QEAA@PEBG@Z
+; public: __cdecl GRAPHICAL_BUTTON::GRAPHICAL_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0GRAPHICAL_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IPEBG11@Z
+; public: __cdecl GRAPHICAL_BUTTON::GRAPHICAL_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0GRAPHICAL_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IPEBG1VXYPOINT@@VXYDIMENSION@@K1@Z
+; public: __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::GRAPHICAL_BUTTON_WITH_DISABLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int) __ptr64
+??0GRAPHICAL_BUTTON_WITH_DISABLE@@QEAA@PEAVOWNER_WINDOW@@IIII@Z
+; public: __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::GRAPHICAL_BUTTON_WITH_DISABLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
+??0GRAPHICAL_BUTTON_WITH_DISABLE@@QEAA@PEAVOWNER_WINDOW@@IIIIVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __cdecl HAS_MESSAGE_PUMP::HAS_MESSAGE_PUMP(void) __ptr64
+??0HAS_MESSAGE_PUMP@@QEAA@XZ
+; public: __cdecl HAW_FOR_HAWAII_INFO::HAW_FOR_HAWAII_INFO(void) __ptr64
+??0HAW_FOR_HAWAII_INFO@@QEAA@XZ
+; public: __cdecl HIDDEN_CONTROL::HIDDEN_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0HIDDEN_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl HIER_LBI::HIER_LBI(int) __ptr64
+??0HIER_LBI@@QEAA@H@Z
+; public: __cdecl HIER_LBI_ITERATOR::HIER_LBI_ITERATOR(class HIER_LBI * __ptr64,int) __ptr64
+??0HIER_LBI_ITERATOR@@QEAA@PEAVHIER_LBI@@H@Z
+; public: __cdecl HIER_LISTBOX::HIER_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType,int) __ptr64
+??0HIER_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@H@Z
+; public: __cdecl HIER_LISTBOX::HIER_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int) __ptr64
+??0HIER_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
+; public: __cdecl H_SPLITTER_BAR::H_SPLITTER_BAR(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0H_SPLITTER_BAR@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl H_SPLITTER_BAR::H_SPLITTER_BAR(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
+??0H_SPLITTER_BAR@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __cdecl ICANON_SLE::ICANON_SLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,int) __ptr64
+??0ICANON_SLE@@QEAA@PEAVOWNER_WINDOW@@IIH@Z
+; public: __cdecl ICANON_SLE::ICANON_SLE(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int,int) __ptr64
+??0ICANON_SLE@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGIH@Z
+; public: __cdecl ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0ICON_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class IDRESOURCE const & __ptr64) __ptr64
+??0ICON_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IAEBVIDRESOURCE@@@Z
+; public: __cdecl ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,class IDRESOURCE const & __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
+??0ICON_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@AEBVIDRESOURCE@@KPEBG@Z
+; public: __cdecl ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0ICON_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
+; public: __cdecl IDRESOURCE::IDRESOURCE(unsigned int) __ptr64
+??0IDRESOURCE@@QEAA@I@Z
+; public: __cdecl IDRESOURCE::IDRESOURCE(unsigned short const * __ptr64) __ptr64
+??0IDRESOURCE@@QEAA@PEBG@Z
+; public: __cdecl ITER_CTRL::ITER_CTRL(class OWNER_WINDOW const * __ptr64) __ptr64
+??0ITER_CTRL@@QEAA@PEBVOWNER_WINDOW@@@Z
+; public: __cdecl ITER_DL_SPIN_ITEM::ITER_DL_SPIN_ITEM(class DLIST & __ptr64) __ptr64
+??0ITER_DL_SPIN_ITEM@@QEAA@AEAVDLIST@@@Z
+; public: __cdecl ITER_SL_ASSOCHCFILE::ITER_SL_ASSOCHCFILE(class SLIST & __ptr64) __ptr64
+??0ITER_SL_ASSOCHCFILE@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl ITER_SL_CLIENTDATA::ITER_SL_CLIENTDATA(class SLIST & __ptr64) __ptr64
+??0ITER_SL_CLIENTDATA@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl ITER_SL_STRING_BITSET_PAIR::ITER_SL_STRING_BITSET_PAIR(class SLIST & __ptr64) __ptr64
+??0ITER_SL_STRING_BITSET_PAIR@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl ITER_SL_TIMER_BASE::ITER_SL_TIMER_BASE(class SLIST & __ptr64) __ptr64
+??0ITER_SL_TIMER_BASE@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl ITER_SL_UI_EXT::ITER_SL_UI_EXT(class SLIST & __ptr64) __ptr64
+??0ITER_SL_UI_EXT@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl ITER_SL_USER_BROWSER_LBI::ITER_SL_USER_BROWSER_LBI(class SLIST & __ptr64) __ptr64
+??0ITER_SL_USER_BROWSER_LBI@@QEAA@AEAVSLIST@@@Z
+; public: __cdecl LAZY_LISTBOX::LAZY_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType) __ptr64
+??0LAZY_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@@Z
+; public: __cdecl LAZY_LISTBOX::LAZY_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType) __ptr64
+??0LAZY_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@@Z
+; public: __cdecl LBI::LBI(void) __ptr64
+??0LBI@@QEAA@XZ
+; public: __cdecl LBITREE::LBITREE(void) __ptr64
+??0LBITREE@@QEAA@XZ
+; public: __cdecl LBI_HEAP::LBI_HEAP(int,int) __ptr64
+??0LBI_HEAP@@QEAA@HH@Z
+; public: __cdecl LB_COLUMN_HEADER::LB_COLUMN_HEADER(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION) __ptr64
+??0LB_COLUMN_HEADER@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@@Z
+; public: __cdecl LB_COL_WIDTHS::LB_COL_WIDTHS(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,class IDRESOURCE const & __ptr64,unsigned int,unsigned int) __ptr64
+??0LB_COL_WIDTHS@@QEAA@PEAUHWND__@@PEAUHINSTANCE__@@AEBVIDRESOURCE@@II@Z
+; public: __cdecl LISTBOX::LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int,enum FontType,int) __ptr64
+??0LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IHW4FontType@@H@Z
+; public: __cdecl LISTBOX::LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int) __ptr64
+??0LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
+; protected: __cdecl LIST_CONTROL::LIST_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,int) __ptr64
+??0LIST_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IH@Z
+; protected: __cdecl LIST_CONTROL::LIST_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0LIST_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IHVXYPOINT@@VXYDIMENSION@@KPEBG@Z
+; public: __cdecl LM_OLLB::LM_OLLB(class OWNER_WINDOW * __ptr64,unsigned int,enum SELECTION_TYPE,unsigned long) __ptr64
+??0LM_OLLB@@QEAA@PEAVOWNER_WINDOW@@IW4SELECTION_TYPE@@K@Z
+; public: __cdecl LM_OLLB::LM_OLLB(class OWNER_WINDOW * __ptr64,unsigned int,enum SELECTION_TYPE,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+??0LM_OLLB@@QEAA@PEAVOWNER_WINDOW@@IW4SELECTION_TYPE@@PEBGKK@Z
+; public: __cdecl LOCAL_ATOM::LOCAL_ATOM(unsigned short const * __ptr64) __ptr64
+??0LOCAL_ATOM@@QEAA@PEBG@Z
+; public: __cdecl LOGON_HOURS_CONTROL::LOGON_HOURS_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0LOGON_HOURS_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl LOGON_HOURS_CONTROL::LOGON_HOURS_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION) __ptr64
+??0LOGON_HOURS_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@@Z
+; public: __cdecl MAGIC_GROUP::MAGIC_GROUP(class OWNER_WINDOW * __ptr64,unsigned int,int,unsigned int,class CONTROL_GROUP * __ptr64) __ptr64
+??0MAGIC_GROUP@@QEAA@PEAVOWNER_WINDOW@@IHIPEAVCONTROL_GROUP@@@Z
+; public: __cdecl MASK_MAP::MASK_MAP(void) __ptr64
+??0MASK_MAP@@QEAA@XZ
+; public: __cdecl MEMORY_DC::MEMORY_DC(class DEVICE_CONTEXT & __ptr64) __ptr64
+??0MEMORY_DC@@QEAA@AEAVDEVICE_CONTEXT@@@Z
+; protected: __cdecl MENUITEM::MENUITEM(struct HMENU__ * __ptr64,unsigned int) __ptr64
+??0MENUITEM@@IEAA@PEAUHMENU__@@I@Z
+; public: __cdecl MENUITEM::MENUITEM(class APP_WINDOW * __ptr64,unsigned int) __ptr64
+??0MENUITEM@@QEAA@PEAVAPP_WINDOW@@I@Z
+; protected: __cdecl MENU_BASE::MENU_BASE(struct HMENU__ * __ptr64) __ptr64
+??0MENU_BASE@@IEAA@PEAUHMENU__@@@Z
+; public: __cdecl METER::METER(class OWNER_WINDOW * __ptr64,unsigned int,unsigned long) __ptr64
+??0METER@@QEAA@PEAVOWNER_WINDOW@@IK@Z
+; public: __cdecl METER::METER(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long) __ptr64
+??0METER@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KK@Z
+; public: __cdecl MLE::MLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
+??0MLE@@QEAA@PEAVOWNER_WINDOW@@II@Z
+; public: __cdecl MLE::MLE(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
+??0MLE@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
+; public: __cdecl MLE_FONT::MLE_FONT(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
+??0MLE_FONT@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
+; public: __cdecl MLT::MLT(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0MLT@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl MLT::MLT(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0MLT@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
+; public: __cdecl MLT_FONT::MLT_FONT(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
+??0MLT_FONT@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
+; public: __cdecl MOUSE_EVENT::MOUSE_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
+??0MOUSE_EVENT@@QEAA@I_K_J@Z
+; public: __cdecl MSGPOPUP_DIALOG::MSGPOPUP_DIALOG(struct HWND__ * __ptr64,class NLS_STR const & __ptr64,long,enum MSG_SEVERITY,unsigned long,unsigned int,unsigned int,long,unsigned long) __ptr64
+??0MSGPOPUP_DIALOG@@QEAA@PEAUHWND__@@AEBVNLS_STR@@JW4MSG_SEVERITY@@KIIJK@Z
+; protected: __cdecl MSG_DIALOG_BASE::MSG_DIALOG_BASE(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned int) __ptr64
+??0MSG_DIALOG_BASE@@IEAA@PEAUHWND__@@PEBGI@Z
+; public: __cdecl NT_FIND_ACCOUNT_DIALOG::NT_FIND_ACCOUNT_DIALOG(struct HWND__ * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,class BROWSER_DOMAIN_CB * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0NT_FIND_ACCOUNT_DIALOG@@QEAA@PEAUHWND__@@PEAVNT_USER_BROWSER_DIALOG@@PEAVBROWSER_DOMAIN_CB@@PEBGK@Z
+; public: __cdecl NT_GLOBALGROUP_BROWSER_DIALOG::NT_GLOBALGROUP_BROWSER_DIALOG(struct HWND__ * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class OS_SID const * __ptr64,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
+??0NT_GLOBALGROUP_BROWSER_DIALOG@@QEAA@PEAUHWND__@@PEAVNT_USER_BROWSER_DIALOG@@PEBG2PEBVOS_SID@@PEBVSAM_DOMAIN@@PEAVLSA_POLICY@@2@Z
+; public: __cdecl NT_GROUP_BROWSER_DIALOG::NT_GROUP_BROWSER_DIALOG(unsigned short const * __ptr64,struct HWND__ * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0NT_GROUP_BROWSER_DIALOG@@QEAA@PEBGPEAUHWND__@@PEAVNT_USER_BROWSER_DIALOG@@00@Z
+; public: __cdecl NT_GROUP_BROWSER_LB::NT_GROUP_BROWSER_LB(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0NT_GROUP_BROWSER_LB@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl NT_LOCALGROUP_BROWSER_DIALOG::NT_LOCALGROUP_BROWSER_DIALOG(struct HWND__ * __ptr64,class NT_USER_BROWSER_DIALOG * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,class OS_SID const * __ptr64,class SAM_DOMAIN const * __ptr64,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
+??0NT_LOCALGROUP_BROWSER_DIALOG@@QEAA@PEAUHWND__@@PEAVNT_USER_BROWSER_DIALOG@@PEBG2PEBVOS_SID@@PEBVSAM_DOMAIN@@4PEAVLSA_POLICY@@2@Z
+; public: __cdecl NT_USER_BROWSER_DIALOG::NT_USER_BROWSER_DIALOG(unsigned short const * __ptr64,struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,class ADMIN_AUTHORITY const * __ptr64) __ptr64
+??0NT_USER_BROWSER_DIALOG@@QEAA@PEBGPEAUHWND__@@0KK0KKKPEBVADMIN_AUTHORITY@@@Z
+; public: __cdecl OLLB_ENTRY::OLLB_ENTRY(enum OUTLINE_LB_LEVEL,int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0OLLB_ENTRY@@QEAA@W4OUTLINE_LB_LEVEL@@HPEBG11@Z
+; public: __cdecl OPEN_DIALOG_BASE::OPEN_DIALOG_BASE(struct HWND__ * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,class OPEN_LBOX_BASE * __ptr64) __ptr64
+??0OPEN_DIALOG_BASE@@QEAA@PEAUHWND__@@IIIIIPEBG1PEAVOPEN_LBOX_BASE@@@Z
+; public: __cdecl OPEN_LBI_BASE::OPEN_LBI_BASE(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) __ptr64
+??0OPEN_LBI_BASE@@QEAA@PEBG0KKK@Z
+; public: __cdecl OPEN_LBOX_BASE::OPEN_LBOX_BASE(class OWNER_WINDOW * __ptr64,unsigned int,class NLS_STR const & __ptr64,class NLS_STR const & __ptr64) __ptr64
+??0OPEN_LBOX_BASE@@QEAA@PEAVOWNER_WINDOW@@IAEBVNLS_STR@@1@Z
+; public: __cdecl ORDER_GROUP::ORDER_GROUP(class STRING_LISTBOX * __ptr64,class BUTTON_CONTROL * __ptr64,class BUTTON_CONTROL * __ptr64,class CONTROL_GROUP * __ptr64) __ptr64
+??0ORDER_GROUP@@QEAA@PEAVSTRING_LISTBOX@@PEAVBUTTON_CONTROL@@1PEAVCONTROL_GROUP@@@Z
+; public: __cdecl OUTLINE_LISTBOX::OUTLINE_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,int) __ptr64
+??0OUTLINE_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IH@Z
+; public: __cdecl OWNER_WINDOW::OWNER_WINDOW(unsigned short const * __ptr64,unsigned long,class WINDOW const * __ptr64) __ptr64
+??0OWNER_WINDOW@@QEAA@PEBGKPEBVWINDOW@@@Z
+; public: __cdecl OWNER_WINDOW::OWNER_WINDOW(void) __ptr64
+??0OWNER_WINDOW@@QEAA@XZ
+; public: __cdecl OWNINGWND::OWNINGWND(struct HWND__ * __ptr64) __ptr64
+??0OWNINGWND@@QEAA@PEAUHWND__@@@Z
+; public: __cdecl OWNINGWND::OWNINGWND(class OWNER_WINDOW const * __ptr64) __ptr64
+??0OWNINGWND@@QEAA@PEBVOWNER_WINDOW@@@Z
+; public: __cdecl PAINT_DISPLAY_CONTEXT::PAINT_DISPLAY_CONTEXT(class WINDOW * __ptr64) __ptr64
+??0PAINT_DISPLAY_CONTEXT@@QEAA@PEAVWINDOW@@@Z
+; public: __cdecl PASSWORD_CONTROL::PASSWORD_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
+??0PASSWORD_CONTROL@@QEAA@PEAVOWNER_WINDOW@@II@Z
+; public: __cdecl PASSWORD_CONTROL::PASSWORD_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
+??0PASSWORD_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
+; public: __cdecl POPUP::POPUP(struct HWND__ * __ptr64,long,enum MSG_SEVERITY,unsigned int,unsigned int,int) __ptr64
+??0POPUP@@QEAA@PEAUHWND__@@JW4MSG_SEVERITY@@IIH@Z
+; public: __cdecl POPUP::POPUP(struct HWND__ * __ptr64,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR const * __ptr64 * __ptr64,unsigned int) __ptr64
+??0POPUP@@QEAA@PEAUHWND__@@JW4MSG_SEVERITY@@KIPEAPEBVNLS_STR@@I@Z
+; public: __cdecl POPUP_MENU::POPUP_MENU(class IDRESOURCE & __ptr64) __ptr64
+??0POPUP_MENU@@QEAA@AEAVIDRESOURCE@@@Z
+; public: __cdecl POPUP_MENU::POPUP_MENU(class PWND2HWND const & __ptr64) __ptr64
+??0POPUP_MENU@@QEAA@AEBVPWND2HWND@@@Z
+; public: __cdecl POPUP_MENU::POPUP_MENU(struct HMENU__ * __ptr64) __ptr64
+??0POPUP_MENU@@QEAA@PEAUHMENU__@@@Z
+; public: __cdecl POPUP_MENU::POPUP_MENU(void) __ptr64
+??0POPUP_MENU@@QEAA@XZ
+; public: __cdecl PROC_INSTANCE::PROC_INSTANCE(unsigned __int64) __ptr64
+??0PROC_INSTANCE@@QEAA@_K@Z
+; public: __cdecl PROC_TIMER::PROC_TIMER(struct HWND__ * __ptr64,unsigned __int64,unsigned long,int) __ptr64
+??0PROC_TIMER@@QEAA@PEAUHWND__@@_KKH@Z
+; public: __cdecl PROGRESS_CONTROL::PROGRESS_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int) __ptr64
+??0PROGRESS_CONTROL@@QEAA@PEAVOWNER_WINDOW@@III@Z
+; public: __cdecl PROMPT_AND_CONNECT::PROMPT_AND_CONNECT(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned int,unsigned short const * __ptr64) __ptr64
+??0PROMPT_AND_CONNECT@@QEAA@PEAUHWND__@@PEBGKI1@Z
+; public: __cdecl PROMPT_FOR_ANY_DC_DLG::PROMPT_FOR_ANY_DC_DLG(class PWND2HWND & __ptr64,unsigned long,class NLS_STR const * __ptr64,class PWND2HWND * __ptr64) __ptr64
+??0PROMPT_FOR_ANY_DC_DLG@@QEAA@AEAVPWND2HWND@@KPEBVNLS_STR@@PEAV2@@Z
+; public: __cdecl PUSH_BUTTON::PUSH_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0PUSH_BUTTON@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl PUSH_BUTTON::PUSH_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
+??0PUSH_BUTTON@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __cdecl PWND2HWND::PWND2HWND(struct HWND__ * __ptr64) __ptr64
+??0PWND2HWND@@QEAA@PEAUHWND__@@@Z
+; public: __cdecl RADIO_BUTTON::RADIO_BUTTON(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0RADIO_BUTTON@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl RADIO_GROUP::RADIO_GROUP(class OWNER_WINDOW * __ptr64,unsigned int,int,unsigned int,class CONTROL_GROUP * __ptr64) __ptr64
+??0RADIO_GROUP@@QEAA@PEAVOWNER_WINDOW@@IHIPEAVCONTROL_GROUP@@@Z
+; public: __cdecl RESOURCE_PASSWORD_DIALOG::RESOURCE_PASSWORD_DIALOG(struct HWND__ * __ptr64,unsigned short const * __ptr64,unsigned int,unsigned long) __ptr64
+??0RESOURCE_PASSWORD_DIALOG@@QEAA@PEAUHWND__@@PEBGIK@Z
+; public: __cdecl RESOURCE_STR::RESOURCE_STR(long) __ptr64
+??0RESOURCE_STR@@QEAA@J@Z
+; public: __cdecl RITER_DL_SPIN_ITEM::RITER_DL_SPIN_ITEM(class DLIST & __ptr64) __ptr64
+??0RITER_DL_SPIN_ITEM@@QEAA@AEAVDLIST@@@Z
+; public: __cdecl SCREEN_DC::SCREEN_DC(void) __ptr64
+??0SCREEN_DC@@QEAA@XZ
+; public: __cdecl SCROLLBAR::SCROLLBAR(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
+??0SCROLLBAR@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __cdecl SCROLL_EVENT::SCROLL_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
+??0SCROLL_EVENT@@QEAA@I_K_J@Z
+; public: __cdecl SET_CONTROL::SET_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,struct HICON__ * __ptr64,struct HICON__ * __ptr64,class LISTBOX * __ptr64,class LISTBOX * __ptr64,unsigned int) __ptr64
+??0SET_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IIPEAUHICON__@@1PEAVLISTBOX@@2I@Z
+; public: __cdecl SET_OF_AUDIT_CATEGORIES::SET_OF_AUDIT_CATEGORIES(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,class MASK_MAP * __ptr64,class BITFIELD * __ptr64,class BITFIELD * __ptr64,int) __ptr64
+??0SET_OF_AUDIT_CATEGORIES@@QEAA@PEAVOWNER_WINDOW@@IIIPEAVMASK_MAP@@PEAVBITFIELD@@2H@Z
+; public: __cdecl SLE::SLE(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int) __ptr64
+??0SLE@@QEAA@PEAVOWNER_WINDOW@@II@Z
+; public: __cdecl SLE::SLE(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int) __ptr64
+??0SLE@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGI@Z
+; public: __cdecl SLE_FONT::SLE_FONT(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
+??0SLE_FONT@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
+; public: __cdecl SLE_STRIP::SLE_STRIP(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,int) __ptr64
+??0SLE_STRIP@@QEAA@PEAVOWNER_WINDOW@@IIH@Z
+; public: __cdecl SLE_STRIP::SLE_STRIP(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,unsigned int,int) __ptr64
+??0SLE_STRIP@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGIH@Z
+; public: __cdecl SLE_STRLB_GROUP::SLE_STRLB_GROUP(class OWNER_WINDOW * __ptr64,class SLE * __ptr64,class STRING_LISTBOX * __ptr64,class PUSH_BUTTON * __ptr64,class PUSH_BUTTON * __ptr64) __ptr64
+??0SLE_STRLB_GROUP@@QEAA@PEAVOWNER_WINDOW@@PEAVSLE@@PEAVSTRING_LISTBOX@@PEAVPUSH_BUTTON@@3@Z
+; public: __cdecl SLIST_OF_ASSOCHCFILE::SLIST_OF_ASSOCHCFILE(int) __ptr64
+??0SLIST_OF_ASSOCHCFILE@@QEAA@H@Z
+; public: __cdecl SLIST_OF_CLIENTDATA::SLIST_OF_CLIENTDATA(int) __ptr64
+??0SLIST_OF_CLIENTDATA@@QEAA@H@Z
+; public: __cdecl SLIST_OF_OS_SID::SLIST_OF_OS_SID(int) __ptr64
+??0SLIST_OF_OS_SID@@QEAA@H@Z
+; public: __cdecl SLIST_OF_STRING_BITSET_PAIR::SLIST_OF_STRING_BITSET_PAIR(int) __ptr64
+??0SLIST_OF_STRING_BITSET_PAIR@@QEAA@H@Z
+; public: __cdecl SLIST_OF_TIMER_BASE::SLIST_OF_TIMER_BASE(int) __ptr64
+??0SLIST_OF_TIMER_BASE@@QEAA@H@Z
+; public: __cdecl SLIST_OF_UI_EXT::SLIST_OF_UI_EXT(int) __ptr64
+??0SLIST_OF_UI_EXT@@QEAA@H@Z
+; public: __cdecl SLIST_OF_ULC_API_BUFFER::SLIST_OF_ULC_API_BUFFER(int) __ptr64
+??0SLIST_OF_ULC_API_BUFFER@@QEAA@H@Z
+; public: __cdecl SLIST_OF_USER_BROWSER_LBI::SLIST_OF_USER_BROWSER_LBI(int) __ptr64
+??0SLIST_OF_USER_BROWSER_LBI@@QEAA@H@Z
+; public: __cdecl SLT::SLT(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0SLT@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl SLT::SLT(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0SLT@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
+; public: __cdecl SLT_ELLIPSIS::SLT_ELLIPSIS(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,enum ELLIPSIS_STYLE) __ptr64
+??0SLT_ELLIPSIS@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGW4ELLIPSIS_STYLE@@@Z
+; public: __cdecl SLT_ELLIPSIS::SLT_ELLIPSIS(class OWNER_WINDOW * __ptr64,unsigned int,enum ELLIPSIS_STYLE) __ptr64
+??0SLT_ELLIPSIS@@QEAA@PEAVOWNER_WINDOW@@IW4ELLIPSIS_STYLE@@@Z
+; public: __cdecl SLT_FONT::SLT_FONT(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
+??0SLT_FONT@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
+; public: __cdecl SOLID_BRUSH::SOLID_BRUSH(int) __ptr64
+??0SOLID_BRUSH@@QEAA@H@Z
+; public: __cdecl SPIN_GROUP::SPIN_GROUP(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,int) __ptr64
+??0SPIN_GROUP@@QEAA@PEAVOWNER_WINDOW@@IIIH@Z
+; public: __cdecl SPIN_GROUP::SPIN_GROUP(class OWNER_WINDOW * __ptr64,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int) __ptr64
+??0SPIN_GROUP@@QEAA@PEAVOWNER_WINDOW@@IIIVXYPOINT@@VXYDIMENSION@@KH@Z
+; public: __cdecl SPIN_ITEM::SPIN_ITEM(class CONTROL_WINDOW * __ptr64) __ptr64
+??0SPIN_ITEM@@QEAA@PEAVCONTROL_WINDOW@@@Z
+; public: __cdecl SPIN_SLE_NUM::SPIN_SLE_NUM(class OWNER_WINDOW * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long,int,unsigned int) __ptr64
+??0SPIN_SLE_NUM@@QEAA@PEAVOWNER_WINDOW@@IKKKHI@Z
+; public: __cdecl SPIN_SLE_NUM::SPIN_SLE_NUM(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long,unsigned long,unsigned long,int,unsigned int) __ptr64
+??0SPIN_SLE_NUM@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KKKKHI@Z
+; public: __cdecl SPIN_SLE_NUM_VALID::SPIN_SLE_NUM_VALID(class OWNER_WINDOW * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long,int) __ptr64
+??0SPIN_SLE_NUM_VALID@@QEAA@PEAVOWNER_WINDOW@@IKKKH@Z
+; public: __cdecl SPIN_SLE_NUM_VALID::SPIN_SLE_NUM_VALID(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64
+??0SPIN_SLE_NUM_VALID@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KKKKH@Z
+; public: __cdecl SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW * __ptr64,unsigned int,long,long,int,unsigned int) __ptr64
+??0SPIN_SLE_STR@@QEAA@PEAVOWNER_WINDOW@@IJJHI@Z
+; public: __cdecl SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW * __ptr64,unsigned int,long,long,class XYPOINT,class XYDIMENSION,unsigned long,int,unsigned int) __ptr64
+??0SPIN_SLE_STR@@QEAA@PEAVOWNER_WINDOW@@IJJVXYPOINT@@VXYDIMENSION@@KHI@Z
+; public: __cdecl SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64 * __ptr64 const,long,int,unsigned int) __ptr64
+??0SPIN_SLE_STR@@QEAA@PEAVOWNER_WINDOW@@IQEAPEBGJHI@Z
+; public: __cdecl SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64 * __ptr64 const,long,class XYPOINT,class XYDIMENSION,unsigned long,int,unsigned int) __ptr64
+??0SPIN_SLE_STR@@QEAA@PEAVOWNER_WINDOW@@IQEAPEBGJVXYPOINT@@VXYDIMENSION@@KHI@Z
+; public: __cdecl SPIN_SLE_VALID_SECOND::SPIN_SLE_VALID_SECOND(class OWNER_WINDOW * __ptr64,unsigned int,long,long,long,long,int) __ptr64
+??0SPIN_SLE_VALID_SECOND@@QEAA@PEAVOWNER_WINDOW@@IJJJJH@Z
+; public: __cdecl SPIN_SLT_SEPARATOR::SPIN_SLT_SEPARATOR(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0SPIN_SLT_SEPARATOR@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl SPIN_SLT_SEPARATOR::SPIN_SLT_SEPARATOR(class OWNER_WINDOW * __ptr64,unsigned int,unsigned short const * __ptr64,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
+??0SPIN_SLT_SEPARATOR@@QEAA@PEAVOWNER_WINDOW@@IPEBGVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __cdecl STANDALONE_SET_FOCUS_DLG::STANDALONE_SET_FOCUS_DLG(struct HWND__ * __ptr64,class NLS_STR * __ptr64,unsigned long,enum SELECTION_TYPE,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0STANDALONE_SET_FOCUS_DLG@@QEAA@PEAUHWND__@@PEAVNLS_STR@@KW4SELECTION_TYPE@@KPEBG3K@Z
+; protected: __cdecl STATE2_BUTTON_CONTROL::STATE2_BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0STATE2_BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl STATELB::STATELB(int * __ptr64 const,class OWNER_WINDOW * __ptr64,unsigned int,int,int,enum FontType) __ptr64
+??0STATELB@@QEAA@QEAHPEAVOWNER_WINDOW@@IHHW4FontType@@@Z
+; public: __cdecl STATELBGRP::STATELBGRP(class STATELB * __ptr64) __ptr64
+??0STATELBGRP@@QEAA@PEAVSTATELB@@@Z
+; public: __cdecl STATELBGRP::STATELBGRP(int * __ptr64 const,class OWNER_WINDOW * __ptr64,unsigned int,int,int,enum FontType) __ptr64
+??0STATELBGRP@@QEAA@QEAHPEAVOWNER_WINDOW@@IHHW4FontType@@@Z
+; protected: __cdecl STATE_BUTTON_CONTROL::STATE_BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0STATE_BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@I@Z
+; protected: __cdecl STATE_BUTTON_CONTROL::STATE_BUTTON_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long) __ptr64
+??0STATE_BUTTON_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __cdecl STATIC_SPIN_ITEM::STATIC_SPIN_ITEM(class CONTROL_WINDOW * __ptr64) __ptr64
+??0STATIC_SPIN_ITEM@@QEAA@PEAVCONTROL_WINDOW@@@Z
+; public: __cdecl STATIC_TEXT_CONTROL::STATIC_TEXT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0STATIC_TEXT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl STATIC_TEXT_CONTROL::STATIC_TEXT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0STATIC_TEXT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
+; public: __cdecl STLBITEM::STLBITEM(class STATELBGRP * __ptr64) __ptr64
+??0STLBITEM@@QEAA@PEAVSTATELBGRP@@@Z
+; public: __cdecl STRING_BITSET_PAIR::STRING_BITSET_PAIR(class NLS_STR const & __ptr64,class BITFIELD const & __ptr64,int) __ptr64
+??0STRING_BITSET_PAIR@@QEAA@AEBVNLS_STR@@AEBVBITFIELD@@H@Z
+; public: __cdecl STRING_LISTBOX::STRING_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64,enum FontType) __ptr64
+??0STRING_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBGW4FontType@@@Z
+; public: __cdecl STRING_LISTBOX::STRING_LISTBOX(class OWNER_WINDOW * __ptr64,unsigned int,enum FontType) __ptr64
+??0STRING_LISTBOX@@QEAA@PEAVOWNER_WINDOW@@IW4FontType@@@Z
+; protected: __cdecl STRING_LIST_CONTROL::STRING_LIST_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,int) __ptr64
+??0STRING_LIST_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IH@Z
+; protected: __cdecl STRING_LIST_CONTROL::STRING_LIST_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0STRING_LIST_CONTROL@@IEAA@PEAVOWNER_WINDOW@@IHVXYPOINT@@VXYDIMENSION@@KPEBG@Z
+; public: __cdecl STR_DTE::STR_DTE(unsigned short const * __ptr64) __ptr64
+??0STR_DTE@@QEAA@PEBG@Z
+; public: __cdecl STR_DTE_ELLIPSIS::STR_DTE_ELLIPSIS(unsigned short const * __ptr64,class LISTBOX * __ptr64,enum ELLIPSIS_STYLE) __ptr64
+??0STR_DTE_ELLIPSIS@@QEAA@PEBGPEAVLISTBOX@@W4ELLIPSIS_STYLE@@@Z
+; public: __cdecl SUBJECT_BITMAP_BLOCK::SUBJECT_BITMAP_BLOCK(void) __ptr64
+??0SUBJECT_BITMAP_BLOCK@@QEAA@XZ
+; public: __cdecl SYSMENUITEM::SYSMENUITEM(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0SYSMENUITEM@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl SYSTEM_MENU::SYSTEM_MENU(class PWND2HWND const & __ptr64) __ptr64
+??0SYSTEM_MENU@@QEAA@AEBVPWND2HWND@@@Z
+; public: __cdecl TEXT_CONTROL::TEXT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0TEXT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl TEXT_CONTROL::TEXT_CONTROL(class OWNER_WINDOW * __ptr64,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const * __ptr64) __ptr64
+??0TEXT_CONTROL@@QEAA@PEAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPEBG@Z
+; public: __cdecl TIMER::TIMER(class TIMER_CALLOUT * __ptr64,unsigned long,int) __ptr64
+??0TIMER@@QEAA@PEAVTIMER_CALLOUT@@KH@Z
+; public: __cdecl TIMER_BASE::TIMER_BASE(unsigned long,int) __ptr64
+??0TIMER_BASE@@QEAA@KH@Z
+; public: __cdecl TIMER_EVENT::TIMER_EVENT(unsigned int,unsigned __int64,__int64) __ptr64
+??0TIMER_EVENT@@QEAA@I_K_J@Z
+; public: __cdecl TIMER_WINDOW::TIMER_WINDOW(class BLT_MASTER_TIMER * __ptr64) __ptr64
+??0TIMER_WINDOW@@QEAA@PEAVBLT_MASTER_TIMER@@@Z
+; public: __cdecl UI_DOMAIN::UI_DOMAIN(class PWND2HWND & __ptr64,unsigned long,unsigned short const * __ptr64,int) __ptr64
+??0UI_DOMAIN@@QEAA@AEAVPWND2HWND@@KPEBGH@Z
+; protected: __cdecl UI_EXT::UI_EXT(unsigned short const * __ptr64,unsigned long) __ptr64
+??0UI_EXT@@IEAA@PEBGK@Z
+; public: __cdecl UI_EXT_MGR::UI_EXT_MGR(class UI_EXT_MGR_IF * __ptr64,unsigned long,unsigned long) __ptr64
+??0UI_EXT_MGR@@QEAA@PEAVUI_EXT_MGR_IF@@KK@Z
+; protected: __cdecl UI_EXT_MGR_IF::UI_EXT_MGR_IF(void) __ptr64
+??0UI_EXT_MGR_IF@@IEAA@XZ
+; protected: __cdecl UI_MENU_EXT::UI_MENU_EXT(unsigned short const * __ptr64,unsigned long) __ptr64
+??0UI_MENU_EXT@@IEAA@PEBGK@Z
+; public: __cdecl UI_MENU_EXT_MGR::UI_MENU_EXT_MGR(class UI_EXT_MGR_IF * __ptr64,unsigned long,unsigned long) __ptr64
+??0UI_MENU_EXT_MGR@@QEAA@PEAVUI_EXT_MGR_IF@@KK@Z
+; public: __cdecl ULC_API_BUFFER::ULC_API_BUFFER(struct _DOMAIN_DISPLAY_USER * __ptr64,unsigned long) __ptr64
+??0ULC_API_BUFFER@@QEAA@PEAU_DOMAIN_DISPLAY_USER@@K@Z
+; public: __cdecl USER_BROWSER_LB::USER_BROWSER_LB(class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+??0USER_BROWSER_LB@@QEAA@PEAVOWNER_WINDOW@@I@Z
+; public: __cdecl USER_BROWSER_LBI::USER_BROWSER_LBI(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,void * __ptr64 const,enum UI_SystemSid,enum _SID_NAME_USE,unsigned long) __ptr64
+??0USER_BROWSER_LBI@@QEAA@PEBG0000QEAXW4UI_SystemSid@@W4_SID_NAME_USE@@K@Z
+; public: __cdecl USER_BROWSER_LBI_CACHE::USER_BROWSER_LBI_CACHE(void) __ptr64
+??0USER_BROWSER_LBI_CACHE@@QEAA@XZ
+; public: __cdecl USER_LBI_CACHE::USER_LBI_CACHE(int) __ptr64
+??0USER_LBI_CACHE@@QEAA@H@Z
+; public: __cdecl USRLB_NT_GROUP_ENUM::USRLB_NT_GROUP_ENUM(class SAM_DOMAIN const * __ptr64) __ptr64
+??0USRLB_NT_GROUP_ENUM@@QEAA@PEBVSAM_DOMAIN@@@Z
+; public: __cdecl WIN32_EVENT::WIN32_EVENT(unsigned short const * __ptr64,int,int) __ptr64
+??0WIN32_EVENT@@QEAA@PEBGHH@Z
+; public: __cdecl WIN32_HANDLE::WIN32_HANDLE(void * __ptr64) __ptr64
+??0WIN32_HANDLE@@QEAA@PEAX@Z
+; public: __cdecl WIN32_MUTEX::WIN32_MUTEX(unsigned short const * __ptr64,int) __ptr64
+??0WIN32_MUTEX@@QEAA@PEBGH@Z
+; public: __cdecl WIN32_SEMAPHORE::WIN32_SEMAPHORE(unsigned short const * __ptr64,long,long) __ptr64
+??0WIN32_SEMAPHORE@@QEAA@PEBGJJ@Z
+; protected: __cdecl WIN32_SYNC_BASE::WIN32_SYNC_BASE(void * __ptr64) __ptr64
+??0WIN32_SYNC_BASE@@IEAA@PEAX@Z
+; public: __cdecl WIN32_THREAD::WIN32_THREAD(int,unsigned int,unsigned short const * __ptr64) __ptr64
+??0WIN32_THREAD@@QEAA@HIPEBG@Z
+; public: __cdecl WINDOW::WINDOW(class WINDOW const & __ptr64) __ptr64
+??0WINDOW@@QEAA@AEBV0@@Z
+; public: __cdecl WINDOW::WINDOW(struct HWND__ * __ptr64) __ptr64
+??0WINDOW@@QEAA@PEAUHWND__@@@Z
+; public: __cdecl WINDOW::WINDOW(unsigned short const * __ptr64,unsigned long,class WINDOW const * __ptr64,unsigned int) __ptr64
+??0WINDOW@@QEAA@PEBGKPEBV0@I@Z
+; public: __cdecl WINDOW::WINDOW(void) __ptr64
+??0WINDOW@@QEAA@XZ
+; public: __cdecl WINDOW_TIMER::WINDOW_TIMER(struct HWND__ * __ptr64,unsigned long,int,int) __ptr64
+??0WINDOW_TIMER@@QEAA@PEAUHWND__@@KHH@Z
+; public: __cdecl WIN_ELLIPSIS::WIN_ELLIPSIS(class WINDOW * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,enum ELLIPSIS_STYLE) __ptr64
+??0WIN_ELLIPSIS@@QEAA@PEAVWINDOW@@PEAUHDC__@@PEBUtagRECT@@W4ELLIPSIS_STYLE@@@Z
+; public: __cdecl WIN_ELLIPSIS::WIN_ELLIPSIS(class WINDOW * __ptr64,enum ELLIPSIS_STYLE) __ptr64
+??0WIN_ELLIPSIS@@QEAA@PEAVWINDOW@@W4ELLIPSIS_STYLE@@@Z
+; public: __cdecl XYDIMENSION::XYDIMENSION(struct tagSIZE const & __ptr64) __ptr64
+??0XYDIMENSION@@QEAA@AEBUtagSIZE@@@Z
+; public: __cdecl XYDIMENSION::XYDIMENSION(unsigned int,unsigned int) __ptr64
+??0XYDIMENSION@@QEAA@II@Z
+; public: __cdecl XYPOINT::XYPOINT(struct tagPOINT const & __ptr64) __ptr64
+??0XYPOINT@@QEAA@AEBUtagPOINT@@@Z
+; public: __cdecl XYPOINT::XYPOINT(int,int) __ptr64
+??0XYPOINT@@QEAA@HH@Z
+; public: __cdecl XYPOINT::XYPOINT(__int64) __ptr64
+??0XYPOINT@@QEAA@_J@Z
+; public: __cdecl XYRECT::XYRECT(struct tagRECT const & __ptr64) __ptr64
+??0XYRECT@@QEAA@AEBUtagRECT@@@Z
+; public: __cdecl XYRECT::XYRECT(class XYRECT const & __ptr64) __ptr64
+??0XYRECT@@QEAA@AEBV0@@Z
+; public: __cdecl XYRECT::XYRECT(int,int,int,int) __ptr64
+??0XYRECT@@QEAA@HHHH@Z
+; public: __cdecl XYRECT::XYRECT(struct HWND__ * __ptr64,int) __ptr64
+??0XYRECT@@QEAA@PEAUHWND__@@H@Z
+; public: __cdecl XYRECT::XYRECT(class WINDOW const * __ptr64,int) __ptr64
+??0XYRECT@@QEAA@PEBVWINDOW@@H@Z
+; public: __cdecl XYRECT::XYRECT(class XYPOINT,class XYPOINT) __ptr64
+??0XYRECT@@QEAA@VXYPOINT@@0@Z
+; public: __cdecl XYRECT::XYRECT(class XYPOINT,class XYDIMENSION) __ptr64
+??0XYRECT@@QEAA@VXYPOINT@@VXYDIMENSION@@@Z
+; public: __cdecl XYRECT::XYRECT(void) __ptr64
+??0XYRECT@@QEAA@XZ
+; public: __cdecl ACCELTABLE::~ACCELTABLE(void) __ptr64
+??1ACCELTABLE@@QEAA@XZ
+; public: __cdecl ACCOUNT_NAMES_MLE::~ACCOUNT_NAMES_MLE(void) __ptr64
+??1ACCOUNT_NAMES_MLE@@QEAA@XZ
+; public: __cdecl ALIAS_STR::~ALIAS_STR(void) __ptr64
+??1ALIAS_STR@@QEAA@XZ
+; public: __cdecl ALLOC_STR::~ALLOC_STR(void) __ptr64
+??1ALLOC_STR@@QEAA@XZ
+; protected: __cdecl APPLICATION::~APPLICATION(void) __ptr64
+??1APPLICATION@@IEAA@XZ
+; protected: __cdecl APP_WINDOW::~APP_WINDOW(void) __ptr64
+??1APP_WINDOW@@IEAA@XZ
+; public: __cdecl ARRAY_CONTROLVAL_CID_PAIR::~ARRAY_CONTROLVAL_CID_PAIR(void) __ptr64
+??1ARRAY_CONTROLVAL_CID_PAIR@@QEAA@XZ
+; public: __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::~ARRAY_LIST_CONTROLVAL_CID_PAIR(void) __ptr64
+??1ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAA@XZ
+; public: __cdecl ARROW_BUTTON::~ARROW_BUTTON(void) __ptr64
+??1ARROW_BUTTON@@QEAA@XZ
+; public: __cdecl ASSOCHCFILE::~ASSOCHCFILE(void) __ptr64
+??1ASSOCHCFILE@@QEAA@XZ
+; public: __cdecl ASSOCHWNDDISP::~ASSOCHWNDDISP(void) __ptr64
+??1ASSOCHWNDDISP@@QEAA@XZ
+; public: __cdecl ASSOCHWNDPDLG::~ASSOCHWNDPDLG(void) __ptr64
+??1ASSOCHWNDPDLG@@QEAA@XZ
+; public: __cdecl ASSOCHWNDPWND::~ASSOCHWNDPWND(void) __ptr64
+??1ASSOCHWNDPWND@@QEAA@XZ
+; public: __cdecl ASSOCHWNDTHIS::~ASSOCHWNDTHIS(void) __ptr64
+??1ASSOCHWNDTHIS@@QEAA@XZ
+; protected: __cdecl ATOM_BASE::~ATOM_BASE(void) __ptr64
+??1ATOM_BASE@@IEAA@XZ
+; public: __cdecl AUDIT_CHECKBOXES::~AUDIT_CHECKBOXES(void) __ptr64
+??1AUDIT_CHECKBOXES@@QEAA@XZ
+; public: __cdecl AUTO_CURSOR::~AUTO_CURSOR(void) __ptr64
+??1AUTO_CURSOR@@QEAA@XZ
+; public: __cdecl BASE_ELLIPSIS::~BASE_ELLIPSIS(void) __ptr64
+??1BASE_ELLIPSIS@@QEAA@XZ
+; public: __cdecl BASE_PASSWORD_DIALOG::~BASE_PASSWORD_DIALOG(void) __ptr64
+??1BASE_PASSWORD_DIALOG@@QEAA@XZ
+; public: __cdecl BASE_SET_FOCUS_DLG::~BASE_SET_FOCUS_DLG(void) __ptr64
+??1BASE_SET_FOCUS_DLG@@QEAA@XZ
+; public: __cdecl BIT_MAP::~BIT_MAP(void) __ptr64
+??1BIT_MAP@@QEAA@XZ
+; public: __cdecl BLT_BACKGROUND_EDIT::~BLT_BACKGROUND_EDIT(void) __ptr64
+??1BLT_BACKGROUND_EDIT@@QEAA@XZ
+; public: __cdecl BLT_COMBOBOX::~BLT_COMBOBOX(void) __ptr64
+??1BLT_COMBOBOX@@QEAA@XZ
+; public: __cdecl BLT_DATE_SPIN_GROUP::~BLT_DATE_SPIN_GROUP(void) __ptr64
+??1BLT_DATE_SPIN_GROUP@@QEAA@XZ
+; public: __cdecl BLT_LISTBOX::~BLT_LISTBOX(void) __ptr64
+??1BLT_LISTBOX@@QEAA@XZ
+; public: __cdecl BLT_MASTER_TIMER::~BLT_MASTER_TIMER(void) __ptr64
+??1BLT_MASTER_TIMER@@QEAA@XZ
+; public: __cdecl BLT_SCRATCH::~BLT_SCRATCH(void) __ptr64
+??1BLT_SCRATCH@@QEAA@XZ
+; public: __cdecl BLT_TIME_SPIN_GROUP::~BLT_TIME_SPIN_GROUP(void) __ptr64
+??1BLT_TIME_SPIN_GROUP@@QEAA@XZ
+; public: __cdecl BROWSER_DOMAIN::~BROWSER_DOMAIN(void) __ptr64
+??1BROWSER_DOMAIN@@QEAA@XZ
+; public: __cdecl BROWSER_DOMAIN_CB::~BROWSER_DOMAIN_CB(void) __ptr64
+??1BROWSER_DOMAIN_CB@@QEAA@XZ
+; public: __cdecl BROWSER_DOMAIN_LB::~BROWSER_DOMAIN_LB(void) __ptr64
+??1BROWSER_DOMAIN_LB@@QEAA@XZ
+; public: virtual __cdecl BROWSER_DOMAIN_LBI::~BROWSER_DOMAIN_LBI(void) __ptr64
+??1BROWSER_DOMAIN_LBI@@UEAA@XZ
+; public: virtual __cdecl BROWSER_DOMAIN_LBI_PB::~BROWSER_DOMAIN_LBI_PB(void) __ptr64
+??1BROWSER_DOMAIN_LBI_PB@@UEAA@XZ
+; public: __cdecl BROWSER_SUBJECT::~BROWSER_SUBJECT(void) __ptr64
+??1BROWSER_SUBJECT@@QEAA@XZ
+; public: __cdecl BROWSER_SUBJECT_ITER::~BROWSER_SUBJECT_ITER(void) __ptr64
+??1BROWSER_SUBJECT_ITER@@QEAA@XZ
+; public: __cdecl BUTTON_CONTROL::~BUTTON_CONTROL(void) __ptr64
+??1BUTTON_CONTROL@@QEAA@XZ
+; public: __cdecl CANCEL_TASK_DIALOG::~CANCEL_TASK_DIALOG(void) __ptr64
+??1CANCEL_TASK_DIALOG@@QEAA@XZ
+; public: __cdecl CHANGEABLE_SPIN_ITEM::~CHANGEABLE_SPIN_ITEM(void) __ptr64
+??1CHANGEABLE_SPIN_ITEM@@QEAA@XZ
+; public: __cdecl CHECKBOX::~CHECKBOX(void) __ptr64
+??1CHECKBOX@@QEAA@XZ
+; public: __cdecl CLIENT_WINDOW::~CLIENT_WINDOW(void) __ptr64
+??1CLIENT_WINDOW@@QEAA@XZ
+; public: __cdecl COMBOBOX::~COMBOBOX(void) __ptr64
+??1COMBOBOX@@QEAA@XZ
+; public: __cdecl CONTROL_TABLE::~CONTROL_TABLE(void) __ptr64
+??1CONTROL_TABLE@@QEAA@XZ
+; public: __cdecl CONTROL_WINDOW::~CONTROL_WINDOW(void) __ptr64
+??1CONTROL_WINDOW@@QEAA@XZ
+; public: __cdecl CUSTOM_CONTROL::~CUSTOM_CONTROL(void) __ptr64
+??1CUSTOM_CONTROL@@QEAA@XZ
+; public: __cdecl DEC_SLT::~DEC_SLT(void) __ptr64
+??1DEC_SLT@@QEAA@XZ
+; public: __cdecl DEC_STR::~DEC_STR(void) __ptr64
+??1DEC_STR@@QEAA@XZ
+; public: __cdecl DIALOG_WINDOW::~DIALOG_WINDOW(void) __ptr64
+??1DIALOG_WINDOW@@QEAA@XZ
+; protected: __cdecl DISPATCHER::~DISPATCHER(void) __ptr64
+??1DISPATCHER@@IEAA@XZ
+; public: __cdecl DISPLAY_CONTEXT::~DISPLAY_CONTEXT(void) __ptr64
+??1DISPLAY_CONTEXT@@QEAA@XZ
+; public: __cdecl DISPLAY_MAP::~DISPLAY_MAP(void) __ptr64
+??1DISPLAY_MAP@@QEAA@XZ
+; public: __cdecl DLGLOAD::~DLGLOAD(void) __ptr64
+??1DLGLOAD@@QEAA@XZ
+; public: __cdecl DLIST_OF_SPIN_ITEM::~DLIST_OF_SPIN_ITEM(void) __ptr64
+??1DLIST_OF_SPIN_ITEM@@QEAA@XZ
+; public: __cdecl DMID_DTE::~DMID_DTE(void) __ptr64
+??1DMID_DTE@@QEAA@XZ
+; public: virtual __cdecl DOMAIN_FILL_THREAD::~DOMAIN_FILL_THREAD(void) __ptr64
+??1DOMAIN_FILL_THREAD@@UEAA@XZ
+; public: __cdecl EDIT_CONTROL::~EDIT_CONTROL(void) __ptr64
+??1EDIT_CONTROL@@QEAA@XZ
+; protected: __cdecl ENUM_OBJ_BASE::~ENUM_OBJ_BASE(void) __ptr64
+??1ENUM_OBJ_BASE@@IEAA@XZ
+; public: __cdecl EXPANDABLE_DIALOG::~EXPANDABLE_DIALOG(void) __ptr64
+??1EXPANDABLE_DIALOG@@QEAA@XZ
+; public: __cdecl FILE3_ENUM::~FILE3_ENUM(void) __ptr64
+??1FILE3_ENUM@@QEAA@XZ
+; public: __cdecl FILE3_ENUM_ITER::~FILE3_ENUM_ITER(void) __ptr64
+??1FILE3_ENUM_ITER@@QEAA@XZ
+; public: __cdecl FILE3_ENUM_OBJ::~FILE3_ENUM_OBJ(void) __ptr64
+??1FILE3_ENUM_OBJ@@QEAA@XZ
+; public: virtual __cdecl FOCUSDLG_DATA_THREAD::~FOCUSDLG_DATA_THREAD(void) __ptr64
+??1FOCUSDLG_DATA_THREAD@@UEAA@XZ
+; public: __cdecl FOCUS_CHECKBOX::~FOCUS_CHECKBOX(void) __ptr64
+??1FOCUS_CHECKBOX@@QEAA@XZ
+; public: __cdecl FONT::~FONT(void) __ptr64
+??1FONT@@QEAA@XZ
+; protected: __cdecl GET_FNAME_BASE_DLG::~GET_FNAME_BASE_DLG(void) __ptr64
+??1GET_FNAME_BASE_DLG@@IEAA@XZ
+; public: __cdecl GLOBAL_ATOM::~GLOBAL_ATOM(void) __ptr64
+??1GLOBAL_ATOM@@QEAA@XZ
+; public: __cdecl GRAPHICAL_BUTTON::~GRAPHICAL_BUTTON(void) __ptr64
+??1GRAPHICAL_BUTTON@@QEAA@XZ
+; public: __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::~GRAPHICAL_BUTTON_WITH_DISABLE(void) __ptr64
+??1GRAPHICAL_BUTTON_WITH_DISABLE@@QEAA@XZ
+; public: __cdecl HAW_FOR_HAWAII_INFO::~HAW_FOR_HAWAII_INFO(void) __ptr64
+??1HAW_FOR_HAWAII_INFO@@QEAA@XZ
+; public: __cdecl HEX_STR::~HEX_STR(void) __ptr64
+??1HEX_STR@@QEAA@XZ
+; public: virtual __cdecl HIER_LBI::~HIER_LBI(void) __ptr64
+??1HIER_LBI@@UEAA@XZ
+; public: __cdecl HIER_LBI_ITERATOR::~HIER_LBI_ITERATOR(void) __ptr64
+??1HIER_LBI_ITERATOR@@QEAA@XZ
+; public: __cdecl HIER_LISTBOX::~HIER_LISTBOX(void) __ptr64
+??1HIER_LISTBOX@@QEAA@XZ
+; public: __cdecl H_SPLITTER_BAR::~H_SPLITTER_BAR(void) __ptr64
+??1H_SPLITTER_BAR@@QEAA@XZ
+; public: __cdecl ICANON_SLE::~ICANON_SLE(void) __ptr64
+??1ICANON_SLE@@QEAA@XZ
+; public: __cdecl ICON_CONTROL::~ICON_CONTROL(void) __ptr64
+??1ICON_CONTROL@@QEAA@XZ
+; public: __cdecl ITER_DL_SPIN_ITEM::~ITER_DL_SPIN_ITEM(void) __ptr64
+??1ITER_DL_SPIN_ITEM@@QEAA@XZ
+; public: __cdecl ITER_SL_ASSOCHCFILE::~ITER_SL_ASSOCHCFILE(void) __ptr64
+??1ITER_SL_ASSOCHCFILE@@QEAA@XZ
+; public: __cdecl ITER_SL_CLIENTDATA::~ITER_SL_CLIENTDATA(void) __ptr64
+??1ITER_SL_CLIENTDATA@@QEAA@XZ
+; public: __cdecl ITER_SL_STRING_BITSET_PAIR::~ITER_SL_STRING_BITSET_PAIR(void) __ptr64
+??1ITER_SL_STRING_BITSET_PAIR@@QEAA@XZ
+; public: __cdecl ITER_SL_TIMER_BASE::~ITER_SL_TIMER_BASE(void) __ptr64
+??1ITER_SL_TIMER_BASE@@QEAA@XZ
+; public: __cdecl ITER_SL_UI_EXT::~ITER_SL_UI_EXT(void) __ptr64
+??1ITER_SL_UI_EXT@@QEAA@XZ
+; public: __cdecl ITER_SL_USER_BROWSER_LBI::~ITER_SL_USER_BROWSER_LBI(void) __ptr64
+??1ITER_SL_USER_BROWSER_LBI@@QEAA@XZ
+; public: __cdecl LAZY_LISTBOX::~LAZY_LISTBOX(void) __ptr64
+??1LAZY_LISTBOX@@QEAA@XZ
+; public: virtual __cdecl LBI::~LBI(void) __ptr64
+??1LBI@@UEAA@XZ
+; public: __cdecl LBITREE::~LBITREE(void) __ptr64
+??1LBITREE@@QEAA@XZ
+; public: __cdecl LBI_HEAP::~LBI_HEAP(void) __ptr64
+??1LBI_HEAP@@QEAA@XZ
+; public: __cdecl LB_COL_WIDTHS::~LB_COL_WIDTHS(void) __ptr64
+??1LB_COL_WIDTHS@@QEAA@XZ
+; public: __cdecl LISTBOX::~LISTBOX(void) __ptr64
+??1LISTBOX@@QEAA@XZ
+; protected: __cdecl LIST_CONTROL::~LIST_CONTROL(void) __ptr64
+??1LIST_CONTROL@@IEAA@XZ
+; public: __cdecl LM_FILE_2::~LM_FILE_2(void) __ptr64
+??1LM_FILE_2@@QEAA@XZ
+; public: __cdecl LM_MESSAGE::~LM_MESSAGE(void) __ptr64
+??1LM_MESSAGE@@QEAA@XZ
+; public: __cdecl LM_OLLB::~LM_OLLB(void) __ptr64
+??1LM_OLLB@@QEAA@XZ
+; public: __cdecl LOCAL_ATOM::~LOCAL_ATOM(void) __ptr64
+??1LOCAL_ATOM@@QEAA@XZ
+; public: __cdecl LOC_LM_OBJ::~LOC_LM_OBJ(void) __ptr64
+??1LOC_LM_OBJ@@QEAA@XZ
+; public: __cdecl LOGON_HOURS_CONTROL::~LOGON_HOURS_CONTROL(void) __ptr64
+??1LOGON_HOURS_CONTROL@@QEAA@XZ
+; public: __cdecl MAGIC_GROUP::~MAGIC_GROUP(void) __ptr64
+??1MAGIC_GROUP@@QEAA@XZ
+; public: __cdecl MASK_MAP::~MASK_MAP(void) __ptr64
+??1MASK_MAP@@QEAA@XZ
+; public: __cdecl MEMORY_DC::~MEMORY_DC(void) __ptr64
+??1MEMORY_DC@@QEAA@XZ
+; public: __cdecl MENU_BASE::~MENU_BASE(void) __ptr64
+??1MENU_BASE@@QEAA@XZ
+; public: __cdecl MLE::~MLE(void) __ptr64
+??1MLE@@QEAA@XZ
+; public: __cdecl MLE_FONT::~MLE_FONT(void) __ptr64
+??1MLE_FONT@@QEAA@XZ
+; public: __cdecl MLT::~MLT(void) __ptr64
+??1MLT@@QEAA@XZ
+; public: __cdecl MSGPOPUP_DIALOG::~MSGPOPUP_DIALOG(void) __ptr64
+??1MSGPOPUP_DIALOG@@QEAA@XZ
+; protected: __cdecl MSG_DIALOG_BASE::~MSG_DIALOG_BASE(void) __ptr64
+??1MSG_DIALOG_BASE@@IEAA@XZ
+; public: __cdecl NT_FIND_ACCOUNT_DIALOG::~NT_FIND_ACCOUNT_DIALOG(void) __ptr64
+??1NT_FIND_ACCOUNT_DIALOG@@QEAA@XZ
+; public: virtual __cdecl NT_GLOBALGROUP_BROWSER_DIALOG::~NT_GLOBALGROUP_BROWSER_DIALOG(void) __ptr64
+??1NT_GLOBALGROUP_BROWSER_DIALOG@@UEAA@XZ
+; public: virtual __cdecl NT_GROUP_BROWSER_DIALOG::~NT_GROUP_BROWSER_DIALOG(void) __ptr64
+??1NT_GROUP_BROWSER_DIALOG@@UEAA@XZ
+; public: __cdecl NT_GROUP_BROWSER_LB::~NT_GROUP_BROWSER_LB(void) __ptr64
+??1NT_GROUP_BROWSER_LB@@QEAA@XZ
+; public: __cdecl NT_GROUP_ENUM_ITER::~NT_GROUP_ENUM_ITER(void) __ptr64
+??1NT_GROUP_ENUM_ITER@@QEAA@XZ
+; public: __cdecl NT_GROUP_ENUM_OBJ::~NT_GROUP_ENUM_OBJ(void) __ptr64
+??1NT_GROUP_ENUM_OBJ@@QEAA@XZ
+; public: virtual __cdecl NT_LOCALGROUP_BROWSER_DIALOG::~NT_LOCALGROUP_BROWSER_DIALOG(void) __ptr64
+??1NT_LOCALGROUP_BROWSER_DIALOG@@UEAA@XZ
+; public: __cdecl NT_USER_BROWSER_DIALOG::~NT_USER_BROWSER_DIALOG(void) __ptr64
+??1NT_USER_BROWSER_DIALOG@@QEAA@XZ
+; public: virtual __cdecl OLLB_ENTRY::~OLLB_ENTRY(void) __ptr64
+??1OLLB_ENTRY@@UEAA@XZ
+; public: __cdecl OPEN_DIALOG_BASE::~OPEN_DIALOG_BASE(void) __ptr64
+??1OPEN_DIALOG_BASE@@QEAA@XZ
+; public: virtual __cdecl OPEN_LBI_BASE::~OPEN_LBI_BASE(void) __ptr64
+??1OPEN_LBI_BASE@@UEAA@XZ
+; public: __cdecl OPEN_LBOX_BASE::~OPEN_LBOX_BASE(void) __ptr64
+??1OPEN_LBOX_BASE@@QEAA@XZ
+; public: __cdecl OUTLINE_LISTBOX::~OUTLINE_LISTBOX(void) __ptr64
+??1OUTLINE_LISTBOX@@QEAA@XZ
+; public: __cdecl OWNER_WINDOW::~OWNER_WINDOW(void) __ptr64
+??1OWNER_WINDOW@@QEAA@XZ
+; public: __cdecl PAINT_DISPLAY_CONTEXT::~PAINT_DISPLAY_CONTEXT(void) __ptr64
+??1PAINT_DISPLAY_CONTEXT@@QEAA@XZ
+; public: __cdecl PASSWORD_CONTROL::~PASSWORD_CONTROL(void) __ptr64
+??1PASSWORD_CONTROL@@QEAA@XZ
+; public: __cdecl POPUP::~POPUP(void) __ptr64
+??1POPUP@@QEAA@XZ
+; public: __cdecl POPUP_MENU::~POPUP_MENU(void) __ptr64
+??1POPUP_MENU@@QEAA@XZ
+; public: __cdecl PROC_INSTANCE::~PROC_INSTANCE(void) __ptr64
+??1PROC_INSTANCE@@QEAA@XZ
+; public: __cdecl PROGRESS_CONTROL::~PROGRESS_CONTROL(void) __ptr64
+??1PROGRESS_CONTROL@@QEAA@XZ
+; public: __cdecl PROMPT_AND_CONNECT::~PROMPT_AND_CONNECT(void) __ptr64
+??1PROMPT_AND_CONNECT@@QEAA@XZ
+; public: __cdecl PROMPT_FOR_ANY_DC_DLG::~PROMPT_FOR_ANY_DC_DLG(void) __ptr64
+??1PROMPT_FOR_ANY_DC_DLG@@QEAA@XZ
+; public: __cdecl PUSH_BUTTON::~PUSH_BUTTON(void) __ptr64
+??1PUSH_BUTTON@@QEAA@XZ
+; public: __cdecl RADIO_BUTTON::~RADIO_BUTTON(void) __ptr64
+??1RADIO_BUTTON@@QEAA@XZ
+; public: __cdecl RADIO_GROUP::~RADIO_GROUP(void) __ptr64
+??1RADIO_GROUP@@QEAA@XZ
+; public: __cdecl RESOURCE_PASSWORD_DIALOG::~RESOURCE_PASSWORD_DIALOG(void) __ptr64
+??1RESOURCE_PASSWORD_DIALOG@@QEAA@XZ
+; public: __cdecl RESOURCE_STR::~RESOURCE_STR(void) __ptr64
+??1RESOURCE_STR@@QEAA@XZ
+; public: __cdecl RITER_DL_SPIN_ITEM::~RITER_DL_SPIN_ITEM(void) __ptr64
+??1RITER_DL_SPIN_ITEM@@QEAA@XZ
+; public: __cdecl SCREEN_DC::~SCREEN_DC(void) __ptr64
+??1SCREEN_DC@@QEAA@XZ
+; public: __cdecl SERVER1_ENUM::~SERVER1_ENUM(void) __ptr64
+??1SERVER1_ENUM@@QEAA@XZ
+; public: __cdecl SERVER1_ENUM_ITER::~SERVER1_ENUM_ITER(void) __ptr64
+??1SERVER1_ENUM_ITER@@QEAA@XZ
+; public: __cdecl SERVER1_ENUM_OBJ::~SERVER1_ENUM_OBJ(void) __ptr64
+??1SERVER1_ENUM_OBJ@@QEAA@XZ
+; public: __cdecl SERVER_ENUM::~SERVER_ENUM(void) __ptr64
+??1SERVER_ENUM@@QEAA@XZ
+; public: __cdecl SET_CONTROL::~SET_CONTROL(void) __ptr64
+??1SET_CONTROL@@QEAA@XZ
+; public: __cdecl SET_OF_AUDIT_CATEGORIES::~SET_OF_AUDIT_CATEGORIES(void) __ptr64
+??1SET_OF_AUDIT_CATEGORIES@@QEAA@XZ
+; public: __cdecl SLE::~SLE(void) __ptr64
+??1SLE@@QEAA@XZ
+; public: __cdecl SLE_FONT::~SLE_FONT(void) __ptr64
+??1SLE_FONT@@QEAA@XZ
+; public: __cdecl SLE_STRLB_GROUP::~SLE_STRLB_GROUP(void) __ptr64
+??1SLE_STRLB_GROUP@@QEAA@XZ
+; public: __cdecl SLIST_OF_ASSOCHCFILE::~SLIST_OF_ASSOCHCFILE(void) __ptr64
+??1SLIST_OF_ASSOCHCFILE@@QEAA@XZ
+; public: __cdecl SLIST_OF_CLIENTDATA::~SLIST_OF_CLIENTDATA(void) __ptr64
+??1SLIST_OF_CLIENTDATA@@QEAA@XZ
+; public: __cdecl SLIST_OF_OS_SID::~SLIST_OF_OS_SID(void) __ptr64
+??1SLIST_OF_OS_SID@@QEAA@XZ
+; public: __cdecl SLIST_OF_STRING_BITSET_PAIR::~SLIST_OF_STRING_BITSET_PAIR(void) __ptr64
+??1SLIST_OF_STRING_BITSET_PAIR@@QEAA@XZ
+; public: __cdecl SLIST_OF_TIMER_BASE::~SLIST_OF_TIMER_BASE(void) __ptr64
+??1SLIST_OF_TIMER_BASE@@QEAA@XZ
+; public: __cdecl SLIST_OF_UI_EXT::~SLIST_OF_UI_EXT(void) __ptr64
+??1SLIST_OF_UI_EXT@@QEAA@XZ
+; public: __cdecl SLIST_OF_ULC_API_BUFFER::~SLIST_OF_ULC_API_BUFFER(void) __ptr64
+??1SLIST_OF_ULC_API_BUFFER@@QEAA@XZ
+; public: __cdecl SLIST_OF_USER_BROWSER_LBI::~SLIST_OF_USER_BROWSER_LBI(void) __ptr64
+??1SLIST_OF_USER_BROWSER_LBI@@QEAA@XZ
+; public: __cdecl SLT::~SLT(void) __ptr64
+??1SLT@@QEAA@XZ
+; public: __cdecl SLT_ELLIPSIS::~SLT_ELLIPSIS(void) __ptr64
+??1SLT_ELLIPSIS@@QEAA@XZ
+; public: __cdecl SOLID_BRUSH::~SOLID_BRUSH(void) __ptr64
+??1SOLID_BRUSH@@QEAA@XZ
+; public: __cdecl SPIN_GROUP::~SPIN_GROUP(void) __ptr64
+??1SPIN_GROUP@@QEAA@XZ
+; public: __cdecl SPIN_ITEM::~SPIN_ITEM(void) __ptr64
+??1SPIN_ITEM@@QEAA@XZ
+; public: __cdecl SPIN_SLE_NUM::~SPIN_SLE_NUM(void) __ptr64
+??1SPIN_SLE_NUM@@QEAA@XZ
+; public: __cdecl SPIN_SLE_NUM_VALID::~SPIN_SLE_NUM_VALID(void) __ptr64
+??1SPIN_SLE_NUM_VALID@@QEAA@XZ
+; public: __cdecl SPIN_SLE_STR::~SPIN_SLE_STR(void) __ptr64
+??1SPIN_SLE_STR@@QEAA@XZ
+; public: __cdecl SPIN_SLE_VALID_SECOND::~SPIN_SLE_VALID_SECOND(void) __ptr64
+??1SPIN_SLE_VALID_SECOND@@QEAA@XZ
+; public: __cdecl SPIN_SLT_SEPARATOR::~SPIN_SLT_SEPARATOR(void) __ptr64
+??1SPIN_SLT_SEPARATOR@@QEAA@XZ
+; public: __cdecl STATE2_BUTTON_CONTROL::~STATE2_BUTTON_CONTROL(void) __ptr64
+??1STATE2_BUTTON_CONTROL@@QEAA@XZ
+; public: __cdecl STATELB::~STATELB(void) __ptr64
+??1STATELB@@QEAA@XZ
+; public: __cdecl STATELBGRP::~STATELBGRP(void) __ptr64
+??1STATELBGRP@@QEAA@XZ
+; public: __cdecl STATE_BUTTON_CONTROL::~STATE_BUTTON_CONTROL(void) __ptr64
+??1STATE_BUTTON_CONTROL@@QEAA@XZ
+; public: __cdecl STATIC_SPIN_ITEM::~STATIC_SPIN_ITEM(void) __ptr64
+??1STATIC_SPIN_ITEM@@QEAA@XZ
+; public: __cdecl STATIC_TEXT_CONTROL::~STATIC_TEXT_CONTROL(void) __ptr64
+??1STATIC_TEXT_CONTROL@@QEAA@XZ
+; public: virtual __cdecl STLBITEM::~STLBITEM(void) __ptr64
+??1STLBITEM@@UEAA@XZ
+; public: __cdecl STRING_BITSET_PAIR::~STRING_BITSET_PAIR(void) __ptr64
+??1STRING_BITSET_PAIR@@QEAA@XZ
+; public: __cdecl STRING_LIST_CONTROL::~STRING_LIST_CONTROL(void) __ptr64
+??1STRING_LIST_CONTROL@@QEAA@XZ
+; public: __cdecl SUBJECT_BITMAP_BLOCK::~SUBJECT_BITMAP_BLOCK(void) __ptr64
+??1SUBJECT_BITMAP_BLOCK@@QEAA@XZ
+; public: __cdecl SYSTEM_MENU::~SYSTEM_MENU(void) __ptr64
+??1SYSTEM_MENU@@QEAA@XZ
+; public: __cdecl TEXT_CONTROL::~TEXT_CONTROL(void) __ptr64
+??1TEXT_CONTROL@@QEAA@XZ
+; public: __cdecl TIMER_BASE::~TIMER_BASE(void) __ptr64
+??1TIMER_BASE@@QEAA@XZ
+; public: __cdecl TIMER_WINDOW::~TIMER_WINDOW(void) __ptr64
+??1TIMER_WINDOW@@QEAA@XZ
+; public: __cdecl UI_DOMAIN::~UI_DOMAIN(void) __ptr64
+??1UI_DOMAIN@@QEAA@XZ
+; public: virtual __cdecl UI_EXT::~UI_EXT(void) __ptr64
+??1UI_EXT@@UEAA@XZ
+; public: __cdecl UI_EXT_MGR::~UI_EXT_MGR(void) __ptr64
+??1UI_EXT_MGR@@QEAA@XZ
+; public: __cdecl UI_EXT_MGR_IF::~UI_EXT_MGR_IF(void) __ptr64
+??1UI_EXT_MGR_IF@@QEAA@XZ
+; public: virtual __cdecl UI_MENU_EXT::~UI_MENU_EXT(void) __ptr64
+??1UI_MENU_EXT@@UEAA@XZ
+; public: virtual __cdecl UI_MENU_EXT_MGR::~UI_MENU_EXT_MGR(void) __ptr64
+??1UI_MENU_EXT_MGR@@UEAA@XZ
+; public: __cdecl ULC_API_BUFFER::~ULC_API_BUFFER(void) __ptr64
+??1ULC_API_BUFFER@@QEAA@XZ
+; public: __cdecl USER_BROWSER_LB::~USER_BROWSER_LB(void) __ptr64
+??1USER_BROWSER_LB@@QEAA@XZ
+; public: virtual __cdecl USER_BROWSER_LBI::~USER_BROWSER_LBI(void) __ptr64
+??1USER_BROWSER_LBI@@UEAA@XZ
+; public: virtual __cdecl USER_BROWSER_LBI_CACHE::~USER_BROWSER_LBI_CACHE(void) __ptr64
+??1USER_BROWSER_LBI_CACHE@@UEAA@XZ
+; public: virtual __cdecl USER_LBI_CACHE::~USER_LBI_CACHE(void) __ptr64
+??1USER_LBI_CACHE@@UEAA@XZ
+; public: __cdecl USRLB_NT_GROUP_ENUM::~USRLB_NT_GROUP_ENUM(void) __ptr64
+??1USRLB_NT_GROUP_ENUM@@QEAA@XZ
+; public: __cdecl WIN32_EVENT::~WIN32_EVENT(void) __ptr64
+??1WIN32_EVENT@@QEAA@XZ
+; public: __cdecl WIN32_HANDLE::~WIN32_HANDLE(void) __ptr64
+??1WIN32_HANDLE@@QEAA@XZ
+; public: __cdecl WIN32_MUTEX::~WIN32_MUTEX(void) __ptr64
+??1WIN32_MUTEX@@QEAA@XZ
+; public: __cdecl WIN32_SEMAPHORE::~WIN32_SEMAPHORE(void) __ptr64
+??1WIN32_SEMAPHORE@@QEAA@XZ
+; public: __cdecl WIN32_SYNC_BASE::~WIN32_SYNC_BASE(void) __ptr64
+??1WIN32_SYNC_BASE@@QEAA@XZ
+; public: virtual __cdecl WIN32_THREAD::~WIN32_THREAD(void) __ptr64
+??1WIN32_THREAD@@UEAA@XZ
+; public: __cdecl WINDOW::~WINDOW(void) __ptr64
+??1WINDOW@@QEAA@XZ
+; public: __cdecl WIN_ELLIPSIS::~WIN_ELLIPSIS(void) __ptr64
+??1WIN_ELLIPSIS@@QEAA@XZ
+; public: class ARRAY_CONTROLVAL_CID_PAIR & __ptr64 __cdecl ARRAY_CONTROLVAL_CID_PAIR::operator=(class ARRAY_CONTROLVAL_CID_PAIR & __ptr64) __ptr64
+??4ARRAY_CONTROLVAL_CID_PAIR@@QEAAAEAV0@AEAV0@@Z
+; public: virtual unsigned short const * __ptr64 __cdecl GLOBAL_ATOM::operator=(unsigned short const * __ptr64) __ptr64
+??4GLOBAL_ATOM@@UEAAPEBGPEBG@Z
+; public: virtual unsigned short const * __ptr64 __cdecl LOCAL_ATOM::operator=(unsigned short const * __ptr64) __ptr64
+??4LOCAL_ATOM@@UEAAPEBGPEBG@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::operator=(class XYRECT const & __ptr64) __ptr64
+??4XYRECT@@QEAAAEAV0@AEBV0@@Z
+; public: int __cdecl ASSOCHWNDDISP::operator!(void)const  __ptr64
+??7ASSOCHWNDDISP@@QEBAHXZ
+; public: int __cdecl ASSOCHWNDPWND::operator!(void)const  __ptr64
+??7ASSOCHWNDPWND@@QEBAHXZ
+; public: int __cdecl BASE::operator!(void)const  __ptr64
+??7BASE@@QEBAHXZ
+; public: int __cdecl CONTROL_WINDOW::operator!(void)const  __ptr64
+??7CONTROL_WINDOW@@QEBAHXZ
+; public: int __cdecl XYRECT::operator==(class XYRECT const & __ptr64)const  __ptr64
+??8XYRECT@@QEBAHAEBV0@@Z
+; public: class CONTROLVAL_CID_PAIR & __ptr64 __cdecl ARRAY_CONTROLVAL_CID_PAIR::operator[](unsigned int)const  __ptr64
+??AARRAY_CONTROLVAL_CID_PAIR@@QEBAAEAVCONTROLVAL_CID_PAIR@@I@Z
+; public: class DTE * __ptr64 & __ptr64 __cdecl DISPLAY_TABLE::operator[](unsigned int) __ptr64
+??ADISPLAY_TABLE@@QEAAAEAPEAVDTE@@I@Z
+; public: class RADIO_BUTTON * __ptr64 __cdecl RADIO_GROUP::operator[](unsigned int) __ptr64
+??ARADIO_GROUP@@QEAAPEAVRADIO_BUTTON@@I@Z
+; public: __cdecl NLS_STR::operator unsigned short const * __ptr64(void)const  __ptr64
+??BNLS_STR@@QEBAPEBGXZ
+; public: __cdecl OS_SID::operator void * __ptr64(void)const  __ptr64
+??BOS_SID@@QEBAPEAXXZ
+; public: __cdecl XYRECT::operator struct tagRECT const * __ptr64(void)const  __ptr64
+??BXYRECT@@QEBAPEBUtagRECT@@XZ
+; public: class FILE3_ENUM_OBJ const * __ptr64 __cdecl FILE3_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
+??RFILE3_ENUM_ITER@@QEAAPEBVFILE3_ENUM_OBJ@@PEAJH@Z
+; public: class HIER_LBI * __ptr64 __cdecl HIER_LBI_ITERATOR::operator()(void) __ptr64
+??RHIER_LBI_ITERATOR@@QEAAPEAVHIER_LBI@@XZ
+; public: class CONTROL_WINDOW * __ptr64 __cdecl ITER_CTRL::operator()(void) __ptr64
+??RITER_CTRL@@QEAAPEAVCONTROL_WINDOW@@XZ
+; public: unsigned short const * __ptr64 __cdecl ITER_DEVICE::operator()(void) __ptr64
+??RITER_DEVICE@@QEAAPEBGXZ
+; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::operator()(void) __ptr64
+??RITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
+; public: class NT_GROUP_ENUM_OBJ const * __ptr64 __cdecl NT_GROUP_ENUM_ITER::operator()(long * __ptr64,int) __ptr64
+??RNT_GROUP_ENUM_ITER@@QEAAPEBVNT_GROUP_ENUM_OBJ@@PEAJH@Z
+; public: virtual void __cdecl CHANGEABLE_SPIN_ITEM::operator+=(unsigned long) __ptr64
+??YCHANGEABLE_SPIN_ITEM@@UEAAXK@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::operator+=(class XYRECT const & __ptr64) __ptr64
+??YXYRECT@@QEAAAEAV0@AEBV0@@Z
+; public: virtual void __cdecl CHANGEABLE_SPIN_ITEM::operator-=(unsigned long) __ptr64
+??ZCHANGEABLE_SPIN_ITEM@@UEAAXK@Z
+; void __cdecl `vector constructor iterator'(void * __ptr64,unsigned __int64,int,void * __ptr64 (__cdecl*)(void * __ptr64))
+??_H@YAXPEAX_KHP6APEAX0@Z@Z
+; void __cdecl `vector destructor iterator'(void * __ptr64,unsigned __int64,int,void (__cdecl*)(void * __ptr64))
+??_I@YAXPEAX_KHP6AX0@Z@Z
+; void __cdecl `vector vbase constructor iterator'(void * __ptr64,unsigned __int64,int,void * __ptr64 (__cdecl*)(void * __ptr64))
+??_J@YAXPEAX_KHP6APEAX0@Z@Z
+; private: void __cdecl HIER_LBI::Abandon(void) __ptr64
+?Abandon@HIER_LBI@@AEAAXXZ
+; private: void __cdecl HIER_LBI::AbandonAllChildren(void) __ptr64
+?AbandonAllChildren@HIER_LBI@@AEAAXXZ
+; protected: virtual int __cdecl MSG_DIALOG_BASE::ActionOnError(long) __ptr64
+?ActionOnError@MSG_DIALOG_BASE@@MEAAHJ@Z
+; private: void __cdecl MAGIC_GROUP::ActivateAssocControls(unsigned int,unsigned int,class CONTROL_VALUE * __ptr64) __ptr64
+?ActivateAssocControls@MAGIC_GROUP@@AEAAXIIPEAVCONTROL_VALUE@@@Z
+; public: virtual void __cdecl UI_EXT_MGR::ActivateExtension(struct HWND__ * __ptr64,unsigned long) __ptr64
+?ActivateExtension@UI_EXT_MGR@@UEAAXPEAUHWND__@@K@Z
+; public: int __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::Add(class CONTROLVAL_CID_PAIR const & __ptr64) __ptr64
+?Add@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAAHAEBVCONTROLVAL_CID_PAIR@@@Z
+; public: static void __cdecl HWND_DLGPTR_CACHE::Add(struct HWND__ * __ptr64,class DIALOG_WINDOW * __ptr64)
+?Add@HWND_DLGPTR_CACHE@@SAXPEAUHWND__@@PEAVDIALOG_WINDOW@@@Z
+; public: long __cdecl MASK_MAP::Add(class BITFIELD const & __ptr64,class NLS_STR const & __ptr64,int) __ptr64
+?Add@MASK_MAP@@QEAAJAEBVBITFIELD@@AEBVNLS_STR@@H@Z
+; public: long __cdecl MASK_MAP::Add(struct US_IDS_PAIRS * __ptr64 const,unsigned short) __ptr64
+?Add@MASK_MAP@@QEAAJQEAUUS_IDS_PAIRS@@G@Z
+; public: long __cdecl SLIST_OF_ASSOCHCFILE::Add(class ASSOCHCFILE const * __ptr64) __ptr64
+?Add@SLIST_OF_ASSOCHCFILE@@QEAAJPEBVASSOCHCFILE@@@Z
+; public: long __cdecl SLIST_OF_CLIENTDATA::Add(struct CLIENTDATA const * __ptr64) __ptr64
+?Add@SLIST_OF_CLIENTDATA@@QEAAJPEBUCLIENTDATA@@@Z
+; public: long __cdecl SLIST_OF_NLS_STR::Add(class NLS_STR const * __ptr64) __ptr64
+?Add@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
+; public: long __cdecl SLIST_OF_OS_SID::Add(class OS_SID const * __ptr64) __ptr64
+?Add@SLIST_OF_OS_SID@@QEAAJPEBVOS_SID@@@Z
+; public: long __cdecl SLIST_OF_TIMER_BASE::Add(class TIMER_BASE const * __ptr64) __ptr64
+?Add@SLIST_OF_TIMER_BASE@@QEAAJPEBVTIMER_BASE@@@Z
+; public: long __cdecl SLIST_OF_USER_BROWSER_LBI::Add(class USER_BROWSER_LBI const * __ptr64) __ptr64
+?Add@SLIST_OF_USER_BROWSER_LBI@@QEAAJPEBVUSER_BROWSER_LBI@@@Z
+; protected: long __cdecl USER_BROWSER_LBI_CACHE::AddAliases(class ADMIN_AUTHORITY * __ptr64,unsigned short const * __ptr64,int * __ptr64) __ptr64
+?AddAliases@USER_BROWSER_LBI_CACHE@@IEAAJPEAVADMIN_AUTHORITY@@PEBGPEAH@Z
+; protected: long __cdecl USER_BROWSER_LBI_CACHE::AddAliases(class SAM_DOMAIN * __ptr64,unsigned short const * __ptr64,int * __ptr64) __ptr64
+?AddAliases@USER_BROWSER_LBI_CACHE@@IEAAJPEAVSAM_DOMAIN@@PEBGPEAH@Z
+; public: long __cdecl MAGIC_GROUP::AddAssociation(unsigned int,class CONTROL_VALUE * __ptr64) __ptr64
+?AddAssociation@MAGIC_GROUP@@QEAAJIPEAVCONTROL_VALUE@@@Z
+; public: long __cdecl SPIN_GROUP::AddAssociation(class SPIN_ITEM * __ptr64) __ptr64
+?AddAssociation@SPIN_GROUP@@QEAAJPEAVSPIN_ITEM@@@Z
+; protected: virtual long __cdecl HIER_LISTBOX::AddChildren(class HIER_LBI * __ptr64) __ptr64
+?AddChildren@HIER_LISTBOX@@MEAAJPEAVHIER_LBI@@@Z
+; public: static long __cdecl BLTIMP::AddClient(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int)
+?AddClient@BLTIMP@@SAJPEAUHINSTANCE__@@IIII@Z
+; public: int __cdecl CONTROL_TABLE::AddControl(class CONTROL_WINDOW * __ptr64) __ptr64
+?AddControl@CONTROL_TABLE@@QEAAHPEAVCONTROL_WINDOW@@@Z
+; private: int __cdecl OWNER_WINDOW::AddControl(class CONTROL_WINDOW * __ptr64) __ptr64
+?AddControl@OWNER_WINDOW@@AEAAHPEAVCONTROL_WINDOW@@@Z
+; public: int __cdecl OUTLINE_LISTBOX::AddDomain(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?AddDomain@OUTLINE_LISTBOX@@QEAAHPEBG0H@Z
+; protected: long __cdecl USER_BROWSER_LBI_CACHE::AddGroups(class ADMIN_AUTHORITY * __ptr64,unsigned short const * __ptr64,int * __ptr64) __ptr64
+?AddGroups@USER_BROWSER_LBI_CACHE@@IEAAJPEAVADMIN_AUTHORITY@@PEBGPEAH@Z
+; public: static long __cdecl BLTIMP::AddHelpAssoc(struct HINSTANCE__ * __ptr64,long,unsigned long,unsigned long)
+?AddHelpAssoc@BLTIMP@@SAJPEAUHINSTANCE__@@JKK@Z
+; public: int __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::AddIdemp(class CONTROLVAL_CID_PAIR const & __ptr64) __ptr64
+?AddIdemp@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAAHAEBVCONTROLVAL_CID_PAIR@@@Z
+; public: int __cdecl BLT_LISTBOX::AddItem(class LBI * __ptr64) __ptr64
+?AddItem@BLT_LISTBOX@@QEAAHPEAVLBI@@@Z
+; public: long __cdecl BROWSER_DOMAIN_CB::AddItem(class BROWSER_DOMAIN * __ptr64) __ptr64
+?AddItem@BROWSER_DOMAIN_CB@@QEAAJPEAVBROWSER_DOMAIN@@@Z
+; public: int __cdecl HIER_LISTBOX::AddItem(class HIER_LBI * __ptr64,class HIER_LBI * __ptr64,int) __ptr64
+?AddItem@HIER_LISTBOX@@QEAAHPEAVHIER_LBI@@0H@Z
+; public: long __cdecl LBI_HEAP::AddItem(class LBI * __ptr64) __ptr64
+?AddItem@LBI_HEAP@@QEAAJPEAVLBI@@@Z
+; protected: int __cdecl OUTLINE_LISTBOX::AddItem(enum OUTLINE_LB_LEVEL,int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?AddItem@OUTLINE_LISTBOX@@IEAAHW4OUTLINE_LB_LEVEL@@HPEBG11@Z
+; public: int __cdecl STRING_LIST_CONTROL::AddItem(unsigned short const * __ptr64) __ptr64
+?AddItem@STRING_LIST_CONTROL@@QEAAHPEBG@Z
+; public: int __cdecl USER_BROWSER_LB::AddItem(class LBI * __ptr64) __ptr64
+?AddItem@USER_BROWSER_LB@@QEAAHPEAVLBI@@@Z
+; public: virtual int __cdecl USER_BROWSER_LBI_CACHE::AddItem(class LBI * __ptr64) __ptr64
+?AddItem@USER_BROWSER_LBI_CACHE@@UEAAHPEAVLBI@@@Z
+; public: virtual int __cdecl USER_LBI_CACHE::AddItem(class LBI * __ptr64) __ptr64
+?AddItem@USER_LBI_CACHE@@UEAAHPEAVLBI@@@Z
+; protected: int __cdecl LIST_CONTROL::AddItemData(void * __ptr64) __ptr64
+?AddItemData@LIST_CONTROL@@IEAAHPEAX@Z
+; public: int __cdecl BLT_LISTBOX::AddItemIdemp(class LBI * __ptr64) __ptr64
+?AddItemIdemp@BLT_LISTBOX@@QEAAHPEAVLBI@@@Z
+; public: int __cdecl STRING_LIST_CONTROL::AddItemIdemp(class NLS_STR const & __ptr64) __ptr64
+?AddItemIdemp@STRING_LIST_CONTROL@@QEAAHAEBVNLS_STR@@@Z
+; public: int __cdecl STRING_LIST_CONTROL::AddItemIdemp(unsigned short const * __ptr64) __ptr64
+?AddItemIdemp@STRING_LIST_CONTROL@@QEAAHPEBG@Z
+; public: int __cdecl LBITREE::AddNode(class HIER_LBI * __ptr64,class HIER_LBI * __ptr64,int) __ptr64
+?AddNode@LBITREE@@QEAAHPEAVHIER_LBI@@0H@Z
+; public: long __cdecl NT_USER_BROWSER_DIALOG::AddSelectedUserBrowserLBIs(class USER_BROWSER_LB * __ptr64,int,int) __ptr64
+?AddSelectedUserBrowserLBIs@NT_USER_BROWSER_DIALOG@@QEAAJPEAVUSER_BROWSER_LB@@HH@Z
+; public: int __cdecl OUTLINE_LISTBOX::AddServer(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?AddServer@OUTLINE_LISTBOX@@QEAAHPEBG00@Z
+; public: void __cdecl HIER_LISTBOX::AddSortedItems(class HIER_LBI * __ptr64 * __ptr64,int,class HIER_LBI * __ptr64,int) __ptr64
+?AddSortedItems@HIER_LISTBOX@@QEAAXPEAPEAVHIER_LBI@@HPEAV2@H@Z
+; public: long __cdecl USER_BROWSER_LBI_CACHE::AddUsers(class ADMIN_AUTHORITY * __ptr64,unsigned short const * __ptr64,int,int * __ptr64) __ptr64
+?AddUsers@USER_BROWSER_LBI_CACHE@@QEAAJPEAVADMIN_AUTHORITY@@PEBGHPEAH@Z
+; protected: long __cdecl USER_BROWSER_LBI_CACHE::AddWellKnownSids(class ADMIN_AUTHORITY * __ptr64,unsigned long,int * __ptr64) __ptr64
+?AddWellKnownSids@USER_BROWSER_LBI_CACHE@@IEAAJPEAVADMIN_AUTHORITY@@KPEAH@Z
+; public: void __cdecl LBI_HEAP::Adjust(void) __ptr64
+?Adjust@LBI_HEAP@@QEAAXXZ
+; public: class XYRECT & __ptr64 __cdecl XYRECT::AdjustBottom(int) __ptr64
+?AdjustBottom@XYRECT@@QEAAAEAV1@H@Z
+; private: void __cdecl HIER_LBI::AdjustDescendantCount(int) __ptr64
+?AdjustDescendantCount@HIER_LBI@@AEAAXH@Z
+; private: void __cdecl LBI_HEAP::AdjustDownwards(int) __ptr64
+?AdjustDownwards@LBI_HEAP@@AEAAXH@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::AdjustLeft(int) __ptr64
+?AdjustLeft@XYRECT@@QEAAAEAV1@H@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::AdjustRight(int) __ptr64
+?AdjustRight@XYRECT@@QEAAAEAV1@H@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::AdjustTop(int) __ptr64
+?AdjustTop@XYRECT@@QEAAAEAV1@H@Z
+; private: void __cdecl LBI_HEAP::AdjustUpwards(int) __ptr64
+?AdjustUpwards@LBI_HEAP@@AEAAXH@Z
+; private: void __cdecl HIER_LBI::Adopt(class HIER_LBI * __ptr64,int) __ptr64
+?Adopt@HIER_LBI@@AEAAXPEAV1@H@Z
+; public: void __cdecl PROGRESS_CONTROL::Advance(int) __ptr64
+?Advance@PROGRESS_CONTROL@@QEAAXH@Z
+; protected: virtual void __cdecl CONTROL_GROUP::AfterGroupActions(void) __ptr64
+?AfterGroupActions@CONTROL_GROUP@@MEAAXXZ
+; public: void __cdecl USER_BROWSER_LBI::AliasUnicodeStrToDisplayName(struct _UNICODE_STRING * __ptr64) __ptr64
+?AliasUnicodeStrToDisplayName@USER_BROWSER_LBI@@QEAAXPEAU_UNICODE_STRING@@@Z
+; public: long __cdecl DLIST_OF_SPIN_ITEM::Append(class SPIN_ITEM * __ptr64 const) __ptr64
+?Append@DLIST_OF_SPIN_ITEM@@QEAAJQEAVSPIN_ITEM@@@Z
+; public: long __cdecl MENU_BASE::Append(unsigned short const * __ptr64,unsigned int,unsigned int)const  __ptr64
+?Append@MENU_BASE@@QEBAJPEBGII@Z
+; public: long __cdecl MENU_BASE::Append(unsigned short const * __ptr64,struct HMENU__ * __ptr64,unsigned int)const  __ptr64
+?Append@MENU_BASE@@QEBAJPEBGPEAUHMENU__@@I@Z
+; public: long __cdecl SLIST_OF_NLS_STR::Append(class NLS_STR const * __ptr64) __ptr64
+?Append@SLIST_OF_NLS_STR@@QEAAJPEBVNLS_STR@@@Z
+; public: long __cdecl SLIST_OF_STRING_BITSET_PAIR::Append(class STRING_BITSET_PAIR const * __ptr64) __ptr64
+?Append@SLIST_OF_STRING_BITSET_PAIR@@QEAAJPEBVSTRING_BITSET_PAIR@@@Z
+; public: long __cdecl SLIST_OF_UI_EXT::Append(class UI_EXT const * __ptr64) __ptr64
+?Append@SLIST_OF_UI_EXT@@QEAAJPEBVUI_EXT@@@Z
+; public: long __cdecl SLIST_OF_ULC_API_BUFFER::Append(class ULC_API_BUFFER const * __ptr64) __ptr64
+?Append@SLIST_OF_ULC_API_BUFFER@@QEAAJPEBVULC_API_BUFFER@@@Z
+; public: long __cdecl SLIST_OF_USER_BROWSER_LBI::Append(class USER_BROWSER_LBI const * __ptr64) __ptr64
+?Append@SLIST_OF_USER_BROWSER_LBI@@QEAAJPEBVUSER_BROWSER_LBI@@@Z
+; public: virtual long __cdecl DM_DTE::AppendDataTo(class NLS_STR * __ptr64)const  __ptr64
+?AppendDataTo@DM_DTE@@UEBAJPEAVNLS_STR@@@Z
+; public: virtual long __cdecl STR_DTE::AppendDataTo(class NLS_STR * __ptr64)const  __ptr64
+?AppendDataTo@STR_DTE@@UEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl MENU_BASE::AppendSeparator(void)const  __ptr64
+?AppendSeparator@MENU_BASE@@QEBAJXZ
+; public: long __cdecl SET_OF_AUDIT_CATEGORIES::ApplyPermissionsToCheckBoxes(class BITFIELD * __ptr64,class BITFIELD * __ptr64) __ptr64
+?ApplyPermissionsToCheckBoxes@SET_OF_AUDIT_CATEGORIES@@QEAAJPEAVBITFIELD@@0@Z
+; public: int __cdecl NT_USER_BROWSER_DIALOG::AreUsersShown(void)const  __ptr64
+?AreUsersShown@NT_USER_BROWSER_DIALOG@@QEBAHXZ
+; protected: unsigned short const * __ptr64 __cdecl ATOM_BASE::AssignAux(unsigned short const * __ptr64) __ptr64
+?AssignAux@ATOM_BASE@@IEAAPEBGPEBG@Z
+; public: long __cdecl POPUP_MENU::Attach(class PWND2HWND const & __ptr64) __ptr64
+?Attach@POPUP_MENU@@QEAAJAEBVPWND2HWND@@@Z
+; long __cdecl BLTDoubleChar(class NLS_STR * __ptr64,unsigned short)
+?BLTDoubleChar@@YAJPEAVNLS_STR@@G@Z
+; protected: virtual long __cdecl SET_CONTROL::BLTMoveItems(class BLT_LISTBOX * __ptr64,class BLT_LISTBOX * __ptr64) __ptr64
+?BLTMoveItems@SET_CONTROL@@MEAAJPEAVBLT_LISTBOX@@0@Z
+; int __cdecl BLTPoints2LogUnits(int)
+?BLTPoints2LogUnits@@YAHH@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::Beep(void)const  __ptr64
+?Beep@LOGON_HOURS_CONTROL@@AEBAXXZ
+; protected: long __cdecl UI_MENU_EXT::BiasMenuIds(unsigned long) __ptr64
+?BiasMenuIds@UI_MENU_EXT@@IEAAJK@Z
+; public: int __cdecl USER_LBI_CACHE::BinarySearch(struct _DOMAIN_DISPLAY_USER * __ptr64) __ptr64
+?BinarySearch@USER_LBI_CACHE@@QEAAHPEAU_DOMAIN_DISPLAY_USER@@@Z
+; public: int __cdecl USER_LBI_CACHE::BinarySearch(class LBI * __ptr64) __ptr64
+?BinarySearch@USER_LBI_CACHE@@QEAAHPEAVLBI@@@Z
+; public: int __cdecl DEVICE_CONTEXT::BitBlt(class XYPOINT const & __ptr64,class XYDIMENSION,class DEVICE_CONTEXT const & __ptr64,class XYPOINT const & __ptr64,unsigned long) __ptr64
+?BitBlt@DEVICE_CONTEXT@@QEAAHAEBVXYPOINT@@VXYDIMENSION@@AEBV1@0K@Z
+; public: int __cdecl DEVICE_CONTEXT::BitBlt(int,int,int,int,class DEVICE_CONTEXT const & __ptr64,int,int,unsigned long) __ptr64
+?BitBlt@DEVICE_CONTEXT@@QEAAHHHHHAEBV1@HHK@Z
+; public: long __cdecl MASK_MAP::BitsToString(class BITFIELD const & __ptr64,class NLS_STR * __ptr64,int,unsigned int * __ptr64) __ptr64
+?BitsToString@MASK_MAP@@QEAAJAEBVBITFIELD@@PEAVNLS_STR@@HPEAI@Z
+; protected: long __cdecl USER_BROWSER_LBI_CACHE::BuildAndAddLBI(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,void * __ptr64 const,enum UI_SystemSid,enum _SID_NAME_USE,unsigned long) __ptr64
+?BuildAndAddLBI@USER_BROWSER_LBI_CACHE@@IEAAJPEBG0000QEAXW4UI_SystemSid@@W4_SID_NAME_USE@@K@Z
+; protected: long __cdecl ACCOUNT_NAMES_MLE::BuildNameListFromStrList(class NLS_STR * __ptr64,class STRLIST * __ptr64) __ptr64
+?BuildNameListFromStrList@ACCOUNT_NAMES_MLE@@IEAAJPEAVNLS_STR@@PEAVSTRLIST@@@Z
+; protected: static __int64 __cdecl BLT_COMBOBOX::CBSubclassProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?CBSubclassProc@BLT_COMBOBOX@@KA_JPEAUHWND__@@I_K_J@Z
+; protected: virtual int __cdecl BLT_LISTBOX::CD_Char(unsigned short,unsigned short) __ptr64
+?CD_Char@BLT_LISTBOX@@MEAAHGG@Z
+; protected: virtual int __cdecl BLT_LISTBOX_HAW::CD_Char(unsigned short,unsigned short) __ptr64
+?CD_Char@BLT_LISTBOX_HAW@@MEAAHGG@Z
+; protected: virtual int __cdecl CONTROL_WINDOW::CD_Char(unsigned short,unsigned short) __ptr64
+?CD_Char@CONTROL_WINDOW@@MEAAHGG@Z
+; protected: virtual int __cdecl LM_OLLB::CD_Char(unsigned short,unsigned short) __ptr64
+?CD_Char@LM_OLLB@@MEAAHGG@Z
+; protected: virtual int __cdecl OUTLINE_LISTBOX::CD_Char(unsigned short,unsigned short) __ptr64
+?CD_Char@OUTLINE_LISTBOX@@MEAAHGG@Z
+; protected: virtual int __cdecl STATELB::CD_Char(unsigned short,unsigned short) __ptr64
+?CD_Char@STATELB@@MEAAHGG@Z
+; protected: virtual int __cdecl USER_BROWSER_LB::CD_Char(unsigned short,unsigned short) __ptr64
+?CD_Char@USER_BROWSER_LB@@MEAAHGG@Z
+; protected: int __cdecl BLT_LISTBOX::CD_Char_HAWforHawaii(unsigned short,unsigned short,class HAW_FOR_HAWAII_INFO * __ptr64) __ptr64
+?CD_Char_HAWforHawaii@BLT_LISTBOX@@IEAAHGGPEAVHAW_FOR_HAWAII_INFO@@@Z
+; protected: int __cdecl USER_BROWSER_LB::CD_Char_HAWforHawaii(unsigned short,unsigned short,class HAW_FOR_HAWAII_INFO * __ptr64) __ptr64
+?CD_Char_HAWforHawaii@USER_BROWSER_LB@@IEAAHGGPEAVHAW_FOR_HAWAII_INFO@@@Z
+; protected: virtual int __cdecl CONTROL_WINDOW::CD_Draw(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
+?CD_Draw@CONTROL_WINDOW@@MEAAHPEAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual int __cdecl GRAPHICAL_BUTTON::CD_Draw(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
+?CD_Draw@GRAPHICAL_BUTTON@@MEAAHPEAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual int __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::CD_Draw(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
+?CD_Draw@GRAPHICAL_BUTTON_WITH_DISABLE@@MEAAHPEAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual int __cdecl LISTBOX::CD_Draw(struct tagDRAWITEMSTRUCT * __ptr64) __ptr64
+?CD_Draw@LISTBOX@@MEAAHPEAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual long __cdecl BLT_LISTBOX::CD_Guiltt(int,class NLS_STR * __ptr64) __ptr64
+?CD_Guiltt@BLT_LISTBOX@@MEAAJHPEAVNLS_STR@@@Z
+; protected: virtual long __cdecl CONTROL_WINDOW::CD_Guiltt(int,class NLS_STR * __ptr64) __ptr64
+?CD_Guiltt@CONTROL_WINDOW@@MEAAJHPEAVNLS_STR@@@Z
+; protected: virtual long __cdecl LAZY_LISTBOX::CD_Guiltt(int,class NLS_STR * __ptr64) __ptr64
+?CD_Guiltt@LAZY_LISTBOX@@MEAAJHPEAVNLS_STR@@@Z
+; protected: virtual int __cdecl BLT_LISTBOX::CD_Measure(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
+?CD_Measure@BLT_LISTBOX@@MEAAHPEAUtagMEASUREITEMSTRUCT@@@Z
+; protected: virtual int __cdecl CONTROL_WINDOW::CD_Measure(struct tagMEASUREITEMSTRUCT * __ptr64) __ptr64
+?CD_Measure@CONTROL_WINDOW@@MEAAHPEAUtagMEASUREITEMSTRUCT@@@Z
+; protected: virtual int __cdecl CONTROL_WINDOW::CD_VKey(unsigned short,unsigned short) __ptr64
+?CD_VKey@CONTROL_WINDOW@@MEAAHGG@Z
+; protected: virtual int __cdecl LISTBOX::CD_VKey(unsigned short,unsigned short) __ptr64
+?CD_VKey@LISTBOX@@MEAAHGG@Z
+; protected: virtual int __cdecl STATELB::CD_VKey(unsigned short,unsigned short) __ptr64
+?CD_VKey@STATELB@@MEAAHGG@Z
+; protected: virtual int __cdecl USER_BROWSER_LB::CD_VKey(unsigned short,unsigned short) __ptr64
+?CD_VKey@USER_BROWSER_LB@@MEAAHGG@Z
+; protected: void __cdecl CONTROL_GROUP::CVRestoreValue(class CONTROL_VALUE * __ptr64,int) __ptr64
+?CVRestoreValue@CONTROL_GROUP@@IEAAXPEAVCONTROL_VALUE@@H@Z
+; public: void __cdecl CUSTOM_CONTROL::CVRestoreValue(int) __ptr64
+?CVRestoreValue@CUSTOM_CONTROL@@QEAAXH@Z
+; protected: void __cdecl CONTROL_GROUP::CVSaveValue(class CONTROL_VALUE * __ptr64,int) __ptr64
+?CVSaveValue@CONTROL_GROUP@@IEAAXPEAVCONTROL_VALUE@@H@Z
+; public: void __cdecl CUSTOM_CONTROL::CVSaveValue(int) __ptr64
+?CVSaveValue@CUSTOM_CONTROL@@QEAAXH@Z
+; private: struct HICON__ * __ptr64 __cdecl SET_CONTROL::CalcAppropriateCursor(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
+?CalcAppropriateCursor@SET_CONTROL@@AEBAPEAUHICON__@@PEAVLISTBOX@@0AEBVXYPOINT@@@Z
+; private: static unsigned int __cdecl METALLIC_STR_DTE::CalcBottomTextMargin(void)
+?CalcBottomTextMargin@METALLIC_STR_DTE@@CAIXZ
+; private: int __cdecl LOGON_HOURS_CONTROL::CalcButtonFromPoint(class XYPOINT)const  __ptr64
+?CalcButtonFromPoint@LOGON_HOURS_CONTROL@@AEBAHVXYPOINT@@@Z
+; public: static long __cdecl DISPLAY_TABLE::CalcColumnWidths(unsigned int * __ptr64,unsigned int,class OWNER_WINDOW * __ptr64,unsigned int,int)
+?CalcColumnWidths@DISPLAY_TABLE@@SAJPEAIIPEAVOWNER_WINDOW@@IH@Z
+; private: static int __cdecl POPUP::CalcDefButton(unsigned int,unsigned int)
+?CalcDefButton@POPUP@@CAHII@Z
+; protected: static int __cdecl OWNER_WINDOW::CalcFixedCDMeasure(struct HWND__ * __ptr64,struct tagMEASUREITEMSTRUCT * __ptr64)
+?CalcFixedCDMeasure@OWNER_WINDOW@@KAHPEAUHWND__@@PEAUtagMEASUREITEMSTRUCT@@@Z
+; protected: static int __cdecl WINDOW::CalcFixedHeight(struct HWND__ * __ptr64,unsigned int * __ptr64)
+?CalcFixedHeight@WINDOW@@KAHPEAUHWND__@@PEAI@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::CalcGridRect(class XYRECT * __ptr64)const  __ptr64
+?CalcGridRect@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@@Z
+; public: virtual unsigned int __cdecl LBI::CalcHeight(unsigned int) __ptr64
+?CalcHeight@LBI@@UEAAII@Z
+; public: int __cdecl XYRECT::CalcHeight(void)const  __ptr64
+?CalcHeight@XYRECT@@QEBAHXZ
+; public: static unsigned short const * __ptr64 __cdecl BLT::CalcHelpFileHC(unsigned long)
+?CalcHelpFileHC@BLT@@SAPEBGK@Z
+; public: static struct HINSTANCE__ * __ptr64 __cdecl BLT::CalcHmodRsrc(class IDRESOURCE const & __ptr64)
+?CalcHmodRsrc@BLT@@SAPEAUHINSTANCE__@@AEBVIDRESOURCE@@@Z
+; public: static struct HINSTANCE__ * __ptr64 __cdecl BLT::CalcHmodString(long)
+?CalcHmodString@BLT@@SAPEAUHINSTANCE__@@J@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::CalcIntersect(class XYRECT const & __ptr64,class XYRECT const & __ptr64) __ptr64
+?CalcIntersect@XYRECT@@QEAAAEAV1@AEBV1@0@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::CalcRectForCell(class XYRECT * __ptr64,int)const  __ptr64
+?CalcRectForCell@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@H@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::CalcRectForCorner(class XYRECT * __ptr64)const  __ptr64
+?CalcRectForCorner@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::CalcRectForDay(class XYRECT * __ptr64,int)const  __ptr64
+?CalcRectForDay@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@H@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::CalcRectForHour(class XYRECT * __ptr64,int)const  __ptr64
+?CalcRectForHour@LOGON_HOURS_CONTROL@@AEBAXPEAVXYRECT@@H@Z
+; public: long __cdecl BLT_LISTBOX::CalcSingleLineHeight(void) __ptr64
+?CalcSingleLineHeight@BLT_LISTBOX@@QEAAJXZ
+; private: long __cdecl LOGON_HOURS_CONTROL::CalcSizes(class XYDIMENSION) __ptr64
+?CalcSizes@LOGON_HOURS_CONTROL@@AEAAJVXYDIMENSION@@@Z
+; private: static unsigned int __cdecl METALLIC_STR_DTE::CalcTopTextMargin(void)
+?CalcTopTextMargin@METALLIC_STR_DTE@@CAIXZ
+; public: class XYRECT & __ptr64 __cdecl XYRECT::CalcUnion(class XYRECT const & __ptr64,class XYRECT const & __ptr64) __ptr64
+?CalcUnion@XYRECT@@QEAAAEAV1@AEBV1@0@Z
+; public: int __cdecl XYRECT::CalcWidth(void)const  __ptr64
+?CalcWidth@XYRECT@@QEBAHXZ
+; public: long __cdecl ACCOUNT_NAMES_MLE::CanonicalizeNames(unsigned short const * __ptr64,class STRLIST * __ptr64) __ptr64
+?CanonicalizeNames@ACCOUNT_NAMES_MLE@@QEAAJPEBGPEAVSTRLIST@@@Z
+; public: void __cdecl CLIENT_WINDOW::CaptureMouse(void) __ptr64
+?CaptureMouse@CLIENT_WINDOW@@QEAAXXZ
+; public: void __cdecl DISPATCHER::CaptureMouse(void) __ptr64
+?CaptureMouse@DISPATCHER@@QEAAXXZ
+; public: void __cdecl WINDOW::Center(struct HWND__ * __ptr64) __ptr64
+?Center@WINDOW@@QEAAXPEAUHWND__@@@Z
+; public: int __cdecl SPIN_GROUP::ChangeFieldValue(unsigned short,int) __ptr64
+?ChangeFieldValue@SPIN_GROUP@@QEAAHGH@Z
+; public: void __cdecl AUDIT_CHECKBOXES::CheckFailed(int) __ptr64
+?CheckFailed@AUDIT_CHECKBOXES@@QEAAXH@Z
+; public: unsigned int __cdecl MENU_BASE::CheckItem(unsigned int,int,unsigned int)const  __ptr64
+?CheckItem@MENU_BASE@@QEBAIIHI@Z
+; protected: long __cdecl ACCOUNT_NAMES_MLE::CheckLookedUpNames(unsigned short * __ptr64 * __ptr64,class LSA_TRANSLATED_SID_MEM * __ptr64,class STRLIST * __ptr64,class NLS_STR * __ptr64,unsigned short const * __ptr64,long * __ptr64) __ptr64
+?CheckLookedUpNames@ACCOUNT_NAMES_MLE@@IEAAJPEAPEAGPEAVLSA_TRANSLATED_SID_MEM@@PEAVSTRLIST@@PEAVNLS_STR@@PEBGPEAJ@Z
+; public: static long __cdecl ACCOUNT_NAMES_MLE::CheckNameType(enum _SID_NAME_USE,unsigned long)
+?CheckNameType@ACCOUNT_NAMES_MLE@@SAJW4_SID_NAME_USE@@K@Z
+; public: int __cdecl CHANGEABLE_SPIN_ITEM::CheckRange(unsigned long)const  __ptr64
+?CheckRange@CHANGEABLE_SPIN_ITEM@@QEBAHK@Z
+; public: void __cdecl AUDIT_CHECKBOXES::CheckSuccess(int) __ptr64
+?CheckSuccess@AUDIT_CHECKBOXES@@QEAAXH@Z
+; public: virtual int __cdecl CHANGEABLE_SPIN_ITEM::CheckValid(void) __ptr64
+?CheckValid@CHANGEABLE_SPIN_ITEM@@UEAAHXZ
+; public: virtual int __cdecl SPIN_SLE_NUM_VALID::CheckValid(void) __ptr64
+?CheckValid@SPIN_SLE_NUM_VALID@@UEAAHXZ
+; public: class CONTROL_WINDOW * __ptr64 __cdecl CONTROL_TABLE::CidToCtrlPtr(unsigned int)const  __ptr64
+?CidToCtrlPtr@CONTROL_TABLE@@QEBAPEAVCONTROL_WINDOW@@I@Z
+; protected: class CONTROL_WINDOW * __ptr64 __cdecl OWNER_WINDOW::CidToCtrlPtr(unsigned int)const  __ptr64
+?CidToCtrlPtr@OWNER_WINDOW@@IEBAPEAVCONTROL_WINDOW@@I@Z
+; public: void __cdecl CONTROL_WINDOW::ClaimFocus(void) __ptr64
+?ClaimFocus@CONTROL_WINDOW@@QEAAXXZ
+; public: void __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::Clear(void) __ptr64
+?Clear@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAAXXZ
+; public: void __cdecl DLIST_OF_SPIN_ITEM::Clear(void) __ptr64
+?Clear@DLIST_OF_SPIN_ITEM@@QEAAXXZ
+; public: void __cdecl SLIST_OF_ASSOCHCFILE::Clear(void) __ptr64
+?Clear@SLIST_OF_ASSOCHCFILE@@QEAAXXZ
+; public: void __cdecl SLIST_OF_CLIENTDATA::Clear(void) __ptr64
+?Clear@SLIST_OF_CLIENTDATA@@QEAAXXZ
+; public: void __cdecl SLIST_OF_OS_SID::Clear(void) __ptr64
+?Clear@SLIST_OF_OS_SID@@QEAAXXZ
+; public: void __cdecl SLIST_OF_STRING_BITSET_PAIR::Clear(void) __ptr64
+?Clear@SLIST_OF_STRING_BITSET_PAIR@@QEAAXXZ
+; public: void __cdecl SLIST_OF_TIMER_BASE::Clear(void) __ptr64
+?Clear@SLIST_OF_TIMER_BASE@@QEAAXXZ
+; public: void __cdecl SLIST_OF_UI_EXT::Clear(void) __ptr64
+?Clear@SLIST_OF_UI_EXT@@QEAAXXZ
+; public: void __cdecl SLIST_OF_ULC_API_BUFFER::Clear(void) __ptr64
+?Clear@SLIST_OF_ULC_API_BUFFER@@QEAAXXZ
+; public: void __cdecl SLIST_OF_USER_BROWSER_LBI::Clear(void) __ptr64
+?Clear@SLIST_OF_USER_BROWSER_LBI@@QEAAXXZ
+; private: void __cdecl H_SPLITTER_BAR::ClearDragBar(void) __ptr64
+?ClearDragBar@H_SPLITTER_BAR@@AEAAXXZ
+; public: static unsigned long __cdecl BLT_MASTER_TIMER::ClearMasterTimerHotkey(void)
+?ClearMasterTimerHotkey@BLT_MASTER_TIMER@@SAKXZ
+; public: void __cdecl SLT_ELLIPSIS::ClearText(void) __ptr64
+?ClearText@SLT_ELLIPSIS@@QEAAXXZ
+; public: void __cdecl WINDOW::ClearText(void) __ptr64
+?ClearText@WINDOW@@QEAAXXZ
+; public: void __cdecl XYPOINT::ClientToScreen(struct HWND__ * __ptr64) __ptr64
+?ClientToScreen@XYPOINT@@QEAAXPEAUHWND__@@@Z
+; public: void __cdecl APP_WINDOW::Close(void) __ptr64
+?Close@APP_WINDOW@@QEAAXXZ
+; public: long __cdecl WIN32_HANDLE::Close(void) __ptr64
+?Close@WIN32_HANDLE@@QEAAJXZ
+; protected: void __cdecl OPEN_DIALOG_BASE::CloseFile(class OPEN_LBI_BASE * __ptr64) __ptr64
+?CloseFile@OPEN_DIALOG_BASE@@IEAAXPEAVOPEN_LBI_BASE@@@Z
+; protected: static int __cdecl USER_LBI_CACHE::CmpUniStrs(struct _UNICODE_STRING const * __ptr64,struct _UNICODE_STRING const * __ptr64)
+?CmpUniStrs@USER_LBI_CACHE@@KAHPEBU_UNICODE_STRING@@0@Z
+; public: long __cdecl LM_OLLB::CollapseDomain(int) __ptr64
+?CollapseDomain@LM_OLLB@@QEAAJH@Z
+; public: long __cdecl LM_OLLB::CollapseDomain(void) __ptr64
+?CollapseDomain@LM_OLLB@@QEAAJXZ
+; public: void __cdecl HIER_LISTBOX::CollapseItem(int,int) __ptr64
+?CollapseItem@HIER_LISTBOX@@QEAAXHH@Z
+; public: void __cdecl HIER_LISTBOX::CollapseItem(class HIER_LBI * __ptr64,int) __ptr64
+?CollapseItem@HIER_LISTBOX@@QEAAXPEAVHIER_LBI@@H@Z
+; int __cdecl CommDlgHookProc(struct HWND__ * __ptr64,unsigned short,unsigned __int64,__int64)
+?CommDlgHookProc@@YAHPEAUHWND__@@G_K_J@Z
+; public: unsigned __int64 __cdecl WINDOW::Command(unsigned int,unsigned __int64,__int64)const  __ptr64
+?Command@WINDOW@@QEBA_KI_K_J@Z
+; public: virtual int __cdecl BROWSER_DOMAIN_LBI::Compare(class LBI const * __ptr64)const  __ptr64
+?Compare@BROWSER_DOMAIN_LBI@@UEBAHPEBVLBI@@@Z
+; public: virtual int __cdecl BROWSER_DOMAIN_LBI_PB::Compare(class LBI const * __ptr64)const  __ptr64
+?Compare@BROWSER_DOMAIN_LBI_PB@@UEBAHPEBVLBI@@@Z
+; public: int __cdecl CONTROLVAL_CID_PAIR::Compare(class CONTROLVAL_CID_PAIR const * __ptr64)const  __ptr64
+?Compare@CONTROLVAL_CID_PAIR@@QEBAHPEBV1@@Z
+; public: virtual int __cdecl LBI::Compare(class LBI const * __ptr64)const  __ptr64
+?Compare@LBI@@UEBAHPEBV1@@Z
+; public: virtual int __cdecl OLLB_ENTRY::Compare(class LBI const * __ptr64)const  __ptr64
+?Compare@OLLB_ENTRY@@UEBAHPEBVLBI@@@Z
+; protected: virtual int __cdecl STLBITEM::Compare(class LBI const * __ptr64)const  __ptr64
+?Compare@STLBITEM@@MEBAHPEBVLBI@@@Z
+; public: virtual int __cdecl USER_BROWSER_LBI::Compare(class LBI const * __ptr64)const  __ptr64
+?Compare@USER_BROWSER_LBI@@UEBAHPEBVLBI@@@Z
+; protected: virtual int __cdecl USER_BROWSER_LBI_CACHE::Compare(class LBI const * __ptr64,class LBI const * __ptr64)const  __ptr64
+?Compare@USER_BROWSER_LBI_CACHE@@MEBAHPEBVLBI@@0@Z
+; protected: virtual int __cdecl USER_BROWSER_LBI_CACHE::Compare(class LBI const * __ptr64,struct _DOMAIN_DISPLAY_USER const * __ptr64)const  __ptr64
+?Compare@USER_BROWSER_LBI_CACHE@@MEBAHPEBVLBI@@PEBU_DOMAIN_DISPLAY_USER@@@Z
+; public: int __cdecl USER_BROWSER_LBI::CompareAux(class LBI const * __ptr64)const  __ptr64
+?CompareAux@USER_BROWSER_LBI@@QEBAHPEBVLBI@@@Z
+; protected: static int __cdecl USER_BROWSER_LBI_CACHE::CompareCacheLBIs(struct _ULC_ENTRY_BASE const * __ptr64,struct _ULC_ENTRY_BASE const * __ptr64)
+?CompareCacheLBIs@USER_BROWSER_LBI_CACHE@@KAHPEBU_ULC_ENTRY_BASE@@0@Z
+; protected: static int __cdecl USER_LBI_CACHE::CompareLogonNames(void const * __ptr64,void const * __ptr64)
+?CompareLogonNames@USER_LBI_CACHE@@KAHPEBX0@Z
+; public: virtual int __cdecl LBI::Compare_HAWforHawaii(class NLS_STR const & __ptr64)const  __ptr64
+?Compare_HAWforHawaii@LBI@@UEBAHAEBVNLS_STR@@@Z
+; public: virtual int __cdecl USER_BROWSER_LBI::Compare_HAWforHawaii(class NLS_STR const & __ptr64)const  __ptr64
+?Compare_HAWforHawaii@USER_BROWSER_LBI@@UEBAHAEBVNLS_STR@@@Z
+; int __cdecl ComparepLBIs(class USER_BROWSER_LBI * __ptr64 const * __ptr64,class USER_BROWSER_LBI * __ptr64 const * __ptr64)
+?ComparepLBIs@@YAHPEBQEAVUSER_BROWSER_LBI@@0@Z
+; public: long __cdecl PROMPT_AND_CONNECT::Connect(void) __ptr64
+?Connect@PROMPT_AND_CONNECT@@QEAAJXZ
+; public: int __cdecl XYRECT::ContainsXY(class XYPOINT)const  __ptr64
+?ContainsXY@XYRECT@@QEBAHVXYPOINT@@@Z
+; protected: long __cdecl SLT_ELLIPSIS::ConvertAndSetStr(void) __ptr64
+?ConvertAndSetStr@SLT_ELLIPSIS@@IEAAJXZ
+; public: void __cdecl XYRECT::ConvertClientToScreen(struct HWND__ * __ptr64) __ptr64
+?ConvertClientToScreen@XYRECT@@QEAAXPEAUHWND__@@@Z
+; public: void __cdecl XYRECT::ConvertScreenToClient(struct HWND__ * __ptr64) __ptr64
+?ConvertScreenToClient@XYRECT@@QEAAXPEAUHWND__@@@Z
+; protected: virtual class LBI * __ptr64 __cdecl USER_BROWSER_LBI_CACHE::CreateLBI(struct _DOMAIN_DISPLAY_USER const * __ptr64) __ptr64
+?CreateLBI@USER_BROWSER_LBI_CACHE@@MEAAPEAVLBI@@PEBU_DOMAIN_DISPLAY_USER@@@Z
+; public: long __cdecl ACCOUNT_NAMES_MLE::CreateLBIListFromNames(unsigned short const * __ptr64,unsigned short const * __ptr64,class SLIST_OF_USER_BROWSER_LBI * __ptr64,class SLIST_OF_USER_BROWSER_LBI * __ptr64,long * __ptr64,class NLS_STR * __ptr64) __ptr64
+?CreateLBIListFromNames@ACCOUNT_NAMES_MLE@@QEAAJPEBG0PEAVSLIST_OF_USER_BROWSER_LBI@@1PEAJPEAVNLS_STR@@@Z
+; long __cdecl CreateLBIsFromSids(void * __ptr64 const * __ptr64,unsigned long,void * __ptr64 const,class LSA_POLICY * __ptr64,unsigned short const * __ptr64,class USER_BROWSER_LB * __ptr64,class SLIST_OF_USER_BROWSER_LBI * __ptr64)
+?CreateLBIsFromSids@@YAJPEBQEAXKQEAXPEAVLSA_POLICY@@PEBGPEAVUSER_BROWSER_LB@@PEAVSLIST_OF_USER_BROWSER_LBI@@@Z
+; private: void __cdecl GRAPHICAL_BUTTON::CtAux(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?CtAux@GRAPHICAL_BUTTON@@AEAAXPEBG00@Z
+; private: void __cdecl H_SPLITTER_BAR::CtAux(void) __ptr64
+?CtAux@H_SPLITTER_BAR@@AEAAXXZ
+; private: long __cdecl POPUP_MENU::CtAux(struct HMENU__ * __ptr64) __ptr64
+?CtAux@POPUP_MENU@@AEAAJPEAUHMENU__@@@Z
+; private: void __cdecl PROGRESS_CONTROL::CtAux(void) __ptr64
+?CtAux@PROGRESS_CONTROL@@AEAAXXZ
+; public: long __cdecl MENU_BASE::Delete(unsigned int,unsigned int)const  __ptr64
+?Delete@MENU_BASE@@QEBAJII@Z
+; public: void __cdecl LIST_CONTROL::DeleteAllItems(void) __ptr64
+?DeleteAllItems@LIST_CONTROL@@QEAAXXZ
+; protected: void __cdecl WIN32_THREAD::DeleteAndExit(unsigned int) __ptr64
+?DeleteAndExit@WIN32_THREAD@@IEAAXI@Z
+; public: void __cdecl HIER_LISTBOX::DeleteChildren(class HIER_LBI * __ptr64) __ptr64
+?DeleteChildren@HIER_LISTBOX@@QEAAXPEAVHIER_LBI@@@Z
+; public: void __cdecl DEVICE_COMBO::DeleteCurrentDeviceName(void) __ptr64
+?DeleteCurrentDeviceName@DEVICE_COMBO@@QEAAXXZ
+; public: int __cdecl HIER_LISTBOX::DeleteItem(int,int) __ptr64
+?DeleteItem@HIER_LISTBOX@@QEAAHHH@Z
+; public: int __cdecl LIST_CONTROL::DeleteItem(int) __ptr64
+?DeleteItem@LIST_CONTROL@@QEAAHH@Z
+; public: static void __cdecl BLT::DeregisterHelpFile(struct HINSTANCE__ * __ptr64,unsigned long)
+?DeregisterHelpFile@BLT@@SAXPEAUHINSTANCE__@@K@Z
+; public: long __cdecl POPUP_MENU::Destroy(void) __ptr64
+?Destroy@POPUP_MENU@@QEAAJXZ
+; protected: void __cdecl DIALOG_WINDOW::Dismiss(unsigned int) __ptr64
+?Dismiss@DIALOG_WINDOW@@IEAAXI@Z
+; protected: void __cdecl DIALOG_WINDOW::DismissMsg(long,unsigned int) __ptr64
+?DismissMsg@DIALOG_WINDOW@@IEAAXJI@Z
+; protected: virtual int __cdecl DISPATCHER::Dispatch(class EVENT const & __ptr64,unsigned long * __ptr64) __ptr64
+?Dispatch@DISPATCHER@@MEAAHAEBVEVENT@@PEAK@Z
+; protected: virtual int __cdecl H_SPLITTER_BAR::Dispatch(class EVENT const & __ptr64,unsigned long * __ptr64) __ptr64
+?Dispatch@H_SPLITTER_BAR@@MEAAHAEBVEVENT@@PEAK@Z
+; protected: virtual int __cdecl LB_COLUMN_HEADER::Dispatch(class EVENT const & __ptr64,unsigned long * __ptr64) __ptr64
+?Dispatch@LB_COLUMN_HEADER@@MEAAHAEBVEVENT@@PEAK@Z
+; protected: virtual __int64 __cdecl APP_WINDOW::DispatchMessageW(class EVENT const & __ptr64) __ptr64
+?DispatchMessageW@APP_WINDOW@@MEAA_JAEBVEVENT@@@Z
+; protected: virtual __int64 __cdecl CLIENT_WINDOW::DispatchMessageW(class EVENT const & __ptr64) __ptr64
+?DispatchMessageW@CLIENT_WINDOW@@MEAA_JAEBVEVENT@@@Z
+; protected: virtual void __cdecl PROC_TIMER::DispatchTimer(void) __ptr64
+?DispatchTimer@PROC_TIMER@@MEAAXXZ
+; protected: virtual void __cdecl TIMER::DispatchTimer(void) __ptr64
+?DispatchTimer@TIMER@@MEAAXXZ
+; protected: virtual void __cdecl TIMER_BASE::DispatchTimer(void) __ptr64
+?DispatchTimer@TIMER_BASE@@MEAAXXZ
+; protected: virtual void __cdecl WINDOW_TIMER::DispatchTimer(void) __ptr64
+?DispatchTimer@WINDOW_TIMER@@MEAAXXZ
+; private: void __cdecl APPLICATION::DisplayCtError(long) __ptr64
+?DisplayCtError@APPLICATION@@AEAAXJ@Z
+; protected: virtual void __cdecl SPIN_SLE_NUM_VALID::DisplayErrorMsg(void) __ptr64
+?DisplayErrorMsg@SPIN_SLE_NUM_VALID@@MEAAXXZ
+; unsigned int __cdecl DisplayGenericError(class OWNINGWND const & __ptr64,long,long,unsigned short const * __ptr64,unsigned short const * __ptr64,enum MSG_SEVERITY)
+?DisplayGenericError@@YAIAEBVOWNINGWND@@JJPEBG1W4MSG_SEVERITY@@@Z
+; unsigned int __cdecl DisplayGenericError(class OWNINGWND const & __ptr64,long,long,unsigned short const * __ptr64,enum MSG_SEVERITY)
+?DisplayGenericError@@YAIAEBVOWNINGWND@@JJPEBGW4MSG_SEVERITY@@@Z
+; private: void __cdecl SPIN_SLE_NUM::DisplayNum(unsigned long) __ptr64
+?DisplayNum@SPIN_SLE_NUM@@AEAAXK@Z
+; public: static __int64 __cdecl DIALOG_WINDOW::DlgProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?DlgProc@DIALOG_WINDOW@@SA_JPEAUHWND__@@I_K_J@Z
+; public: virtual long __cdecl SET_CONTROL::DoAdd(void) __ptr64
+?DoAdd@SET_CONTROL@@UEAAJXZ
+; private: long __cdecl SET_CONTROL::DoAddOrRemove(class LISTBOX * __ptr64,class LISTBOX * __ptr64) __ptr64
+?DoAddOrRemove@SET_CONTROL@@AEAAJPEAVLISTBOX@@0@Z
+; public: int __cdecl SPIN_GROUP::DoArrowCommand(unsigned int,unsigned short) __ptr64
+?DoArrowCommand@SPIN_GROUP@@QEAAHIG@Z
+; public: void __cdecl LOGON_HOURS_CONTROL::DoBanButton(void) __ptr64
+?DoBanButton@LOGON_HOURS_CONTROL@@QEAAXXZ
+; private: void __cdecl LOGON_HOURS_CONTROL::DoButtonClick(int) __ptr64
+?DoButtonClick@LOGON_HOURS_CONTROL@@AEAAXH@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DoButtonDownVisuals(void) __ptr64
+?DoButtonDownVisuals@LOGON_HOURS_CONTROL@@AEAAXXZ
+; private: void __cdecl LOGON_HOURS_CONTROL::DoButtonUpVisuals(int) __ptr64
+?DoButtonUpVisuals@LOGON_HOURS_CONTROL@@AEAAXH@Z
+; public: int __cdecl DISPATCHER::DoChar(class CHAR_EVENT const & __ptr64) __ptr64
+?DoChar@DISPATCHER@@QEAAHAEBVCHAR_EVENT@@@Z
+; public: int __cdecl SPIN_GROUP::DoChar(class CHAR_EVENT const & __ptr64) __ptr64
+?DoChar@SPIN_GROUP@@QEAAHAEBVCHAR_EVENT@@@Z
+; public: int __cdecl SPIN_GROUP::DoNewFocus(class SPIN_ITEM * __ptr64) __ptr64
+?DoNewFocus@SPIN_GROUP@@QEAAHPEAVSPIN_ITEM@@@Z
+; protected: virtual long __cdecl CANCEL_TASK_DIALOG::DoOneItem(unsigned __int64,int * __ptr64,int * __ptr64,long * __ptr64) __ptr64
+?DoOneItem@CANCEL_TASK_DIALOG@@MEAAJ_KPEAH1PEAJ@Z
+; public: void __cdecl LOGON_HOURS_CONTROL::DoPermitButton(void) __ptr64
+?DoPermitButton@LOGON_HOURS_CONTROL@@QEAAXXZ
+; public: virtual long __cdecl SET_CONTROL::DoRemove(void) __ptr64
+?DoRemove@SET_CONTROL@@UEAAJXZ
+; protected: long __cdecl NT_FIND_ACCOUNT_DIALOG::DoSearch(void) __ptr64
+?DoSearch@NT_FIND_ACCOUNT_DIALOG@@IEAAJXZ
+; public: int __cdecl DISPATCHER::DoUserMessage(class EVENT const & __ptr64) __ptr64
+?DoUserMessage@DISPATCHER@@QEAAHAEBVEVENT@@@Z
+; private: int __cdecl LOGON_HOURS_CONTROL::DrawAllButtons(class PAINT_DISPLAY_CONTEXT & __ptr64)const  __ptr64
+?DrawAllButtons@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@@Z
+; private: int __cdecl LOGON_HOURS_CONTROL::DrawBackground(class PAINT_DISPLAY_CONTEXT & __ptr64)const  __ptr64
+?DrawBackground@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawCurrentSelection(class DISPLAY_CONTEXT const & __ptr64)const  __ptr64
+?DrawCurrentSelection@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusOnCell(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
+?DrawFocusOnCell@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusOnCornerButton(class DISPLAY_CONTEXT const & __ptr64)const  __ptr64
+?DrawFocusOnCornerButton@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusOnDayButton(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
+?DrawFocusOnDayButton@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusOnHourButton(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
+?DrawFocusOnHourButton@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
+; public: void __cdecl DEVICE_CONTEXT::DrawFocusRect(struct tagRECT const * __ptr64)const  __ptr64
+?DrawFocusRect@DEVICE_CONTEXT@@QEBAXPEBUtagRECT@@@Z
+; protected: void __cdecl FOCUS_CHECKBOX::DrawFocusRect(class DEVICE_CONTEXT * __ptr64,struct tagRECT * __ptr64,int) __ptr64
+?DrawFocusRect@FOCUS_CHECKBOX@@IEAAXPEAVDEVICE_CONTEXT@@PEAUtagRECT@@H@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawFocusSomewhere(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
+?DrawFocusSomewhere@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
+; private: int __cdecl LOGON_HOURS_CONTROL::DrawGridSetting(class PAINT_DISPLAY_CONTEXT & __ptr64)const  __ptr64
+?DrawGridSetting@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@@Z
+; private: int __cdecl LOGON_HOURS_CONTROL::DrawGridWires(class PAINT_DISPLAY_CONTEXT & __ptr64)const  __ptr64
+?DrawGridWires@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@@Z
+; private: int __cdecl APP_WINDOW::DrawIcon(void) __ptr64
+?DrawIcon@APP_WINDOW@@AEAAHXZ
+; public: long __cdecl APP_WINDOW::DrawMenuBar(void)const  __ptr64
+?DrawMenuBar@APP_WINDOW@@QEBAJXZ
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawOneCornerButton(class PAINT_DISPLAY_CONTEXT & __ptr64,class XYRECT const & __ptr64,int,struct HBRUSH__ * __ptr64,struct HPEN__ * __ptr64,struct HPEN__ * __ptr64)const  __ptr64
+?DrawOneCornerButton@LOGON_HOURS_CONTROL@@AEBAXAEAVPAINT_DISPLAY_CONTEXT@@AEBVXYRECT@@HPEAUHBRUSH__@@PEAUHPEN__@@3@Z
+; private: int __cdecl LOGON_HOURS_CONTROL::DrawOneDayBar(class PAINT_DISPLAY_CONTEXT & __ptr64,int,int,int,struct HBRUSH__ * __ptr64)const  __ptr64
+?DrawOneDayBar@LOGON_HOURS_CONTROL@@AEBAHAEAVPAINT_DISPLAY_CONTEXT@@HHHPEAUHBRUSH__@@@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawOneFlatButton(class PAINT_DISPLAY_CONTEXT & __ptr64,class XYRECT const & __ptr64,int,struct HBRUSH__ * __ptr64,struct HPEN__ * __ptr64,struct HPEN__ * __ptr64)const  __ptr64
+?DrawOneFlatButton@LOGON_HOURS_CONTROL@@AEBAXAEAVPAINT_DISPLAY_CONTEXT@@AEBVXYRECT@@HPEAUHBRUSH__@@PEAUHPEN__@@3@Z
+; public: void __cdecl DEVICE_CONTEXT::DrawRect(struct tagRECT const * __ptr64)const  __ptr64
+?DrawRect@DEVICE_CONTEXT@@QEBAXPEBUtagRECT@@@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawSelectionOnCell(class DISPLAY_CONTEXT const & __ptr64,int)const  __ptr64
+?DrawSelectionOnCell@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@H@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::DrawSelectionOnCells(class DISPLAY_CONTEXT const & __ptr64,int,int)const  __ptr64
+?DrawSelectionOnCells@LOGON_HOURS_CONTROL@@AEBAXAEBVDISPLAY_CONTEXT@@HH@Z
+; public: int __cdecl DEVICE_CONTEXT::DrawTextW(class NLS_STR const & __ptr64,struct tagRECT * __ptr64,unsigned int) __ptr64
+?DrawTextW@DEVICE_CONTEXT@@QEAAHAEBVNLS_STR@@PEAUtagRECT@@I@Z
+; private: int __cdecl POPUP::Emergency(void)const  __ptr64
+?Emergency@POPUP@@AEBAHXZ
+; public: void __cdecl AUDIT_CHECKBOXES::Enable(int,int) __ptr64
+?Enable@AUDIT_CHECKBOXES@@QEAAXHH@Z
+; public: void __cdecl MAGIC_GROUP::Enable(int) __ptr64
+?Enable@MAGIC_GROUP@@QEAAXH@Z
+; public: void __cdecl MENUITEM::Enable(int) __ptr64
+?Enable@MENUITEM@@QEAAXH@Z
+; public: void __cdecl RADIO_GROUP::Enable(int) __ptr64
+?Enable@RADIO_GROUP@@QEAAXH@Z
+; public: void __cdecl SET_OF_AUDIT_CATEGORIES::Enable(int,int) __ptr64
+?Enable@SET_OF_AUDIT_CATEGORIES@@QEAAXHH@Z
+; public: void __cdecl TIMER_BASE::Enable(int) __ptr64
+?Enable@TIMER_BASE@@QEAAXH@Z
+; public: void __cdecl WINDOW::Enable(int) __ptr64
+?Enable@WINDOW@@QEAAXH@Z
+; protected: void __cdecl NT_USER_BROWSER_DIALOG::EnableBrowsing(int) __ptr64
+?EnableBrowsing@NT_USER_BROWSER_DIALOG@@IEAAXH@Z
+; protected: void __cdecl SET_CONTROL::EnableButtons(void) __ptr64
+?EnableButtons@SET_CONTROL@@IEAAXXZ
+; public: unsigned int __cdecl MENU_BASE::EnableItem(unsigned int,int,unsigned int)const  __ptr64
+?EnableItem@MENU_BASE@@QEBAIIHI@Z
+; public: void __cdecl SET_CONTROL::EnableMoves(int) __ptr64
+?EnableMoves@SET_CONTROL@@QEAAXH@Z
+; public: void __cdecl TRISTATE::EnableThirdState(int) __ptr64
+?EnableThirdState@TRISTATE@@QEAAXH@Z
+; public: static long __cdecl BLTIMP::EnterBLTCritSect(void)
+?EnterBLTCritSect@BLTIMP@@SAJXZ
+; public: static long __cdecl BLTIMP::EnterResourceCritSect(void)
+?EnterResourceCritSect@BLTIMP@@SAJXZ
+; public: long __cdecl MASK_MAP::EnumBits(class BITFIELD * __ptr64,int * __ptr64,int * __ptr64,int) __ptr64
+?EnumBits@MASK_MAP@@QEAAJPEAVBITFIELD@@PEAH1H@Z
+; public: long __cdecl MASK_MAP::EnumStrings(class NLS_STR * __ptr64,int * __ptr64,int * __ptr64,int) __ptr64
+?EnumStrings@MASK_MAP@@QEAAJPEAVNLS_STR@@PEAH1H@Z
+; protected: void __cdecl FOCUS_CHECKBOX::EraseFocusRect(class DEVICE_CONTEXT * __ptr64,struct tagRECT * __ptr64) __ptr64
+?EraseFocusRect@FOCUS_CHECKBOX@@IEAAXPEAVDEVICE_CONTEXT@@PEAUtagRECT@@@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::EraseSelection(class DISPLAY_CONTEXT const & __ptr64) __ptr64
+?EraseSelection@LOGON_HOURS_CONTROL@@AEAAXAEBVDISPLAY_CONTEXT@@@Z
+; protected: void __cdecl WIN32_THREAD::Exit(unsigned int) __ptr64
+?Exit@WIN32_THREAD@@IEAAXI@Z
+; public: long __cdecl DOMAIN_FILL_THREAD::ExitThread(void) __ptr64
+?ExitThread@DOMAIN_FILL_THREAD@@QEAAJXZ
+; public: long __cdecl FOCUSDLG_DATA_THREAD::ExitThread(void) __ptr64
+?ExitThread@FOCUSDLG_DATA_THREAD@@QEAAJXZ
+; private: int __cdecl HIER_LISTBOX::ExpandChildren(int,class HIER_LBI * __ptr64) __ptr64
+?ExpandChildren@HIER_LISTBOX@@AEAAHHPEAVHIER_LBI@@@Z
+; public: long __cdecl LM_OLLB::ExpandDomain(int) __ptr64
+?ExpandDomain@LM_OLLB@@QEAAJH@Z
+; public: long __cdecl LM_OLLB::ExpandDomain(void) __ptr64
+?ExpandDomain@LM_OLLB@@QEAAJXZ
+; public: long __cdecl HIER_LISTBOX::ExpandItem(int) __ptr64
+?ExpandItem@HIER_LISTBOX@@QEAAJH@Z
+; public: long __cdecl HIER_LISTBOX::ExpandItem(class HIER_LBI * __ptr64) __ptr64
+?ExpandItem@HIER_LISTBOX@@QEAAJPEAVHIER_LBI@@@Z
+; public: int __cdecl DEVICE_CONTEXT::ExtTextOutW(int,int,unsigned int,struct tagRECT const * __ptr64,class NLS_STR const & __ptr64,int * __ptr64) __ptr64
+?ExtTextOutW@DEVICE_CONTEXT@@QEAAHHHIPEBUtagRECT@@AEBVNLS_STR@@PEAH@Z
+; public: int __cdecl DEVICE_CONTEXT::ExtTextOutW(int,int,unsigned int,struct tagRECT const * __ptr64,unsigned short const * __ptr64,int,int * __ptr64) __ptr64
+?ExtTextOutW@DEVICE_CONTEXT@@QEAAHHHIPEBUtagRECT@@PEBGHPEAH@Z
+; public: long __cdecl NT_GROUP_BROWSER_LB::Fill(void * __ptr64 const * __ptr64,unsigned long,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
+?Fill@NT_GROUP_BROWSER_LB@@QEAAJPEBQEAXKPEBVSAM_DOMAIN@@PEAVLSA_POLICY@@PEBG@Z
+; public: long __cdecl OPEN_LBOX_BASE::Fill(void) __ptr64
+?Fill@OPEN_LBOX_BASE@@QEAAJXZ
+; public: long __cdecl USER_BROWSER_LBI_CACHE::Fill(class ADMIN_AUTHORITY * __ptr64,unsigned short const * __ptr64,unsigned long,int,int,int * __ptr64) __ptr64
+?Fill@USER_BROWSER_LBI_CACHE@@QEAAJPEAVADMIN_AUTHORITY@@PEBGKHHPEAH@Z
+; public: void __cdecl LM_OLLB::FillAllInfo(class BROWSE_DOMAIN_ENUM * __ptr64,class SERVER1_ENUM * __ptr64,unsigned short const * __ptr64) __ptr64
+?FillAllInfo@LM_OLLB@@QEAAXPEAVBROWSE_DOMAIN_ENUM@@PEAVSERVER1_ENUM@@PEBG@Z
+; private: void __cdecl MSGPOPUP_DIALOG::FillButtonArray(unsigned int,int * __ptr64,int * __ptr64) __ptr64
+?FillButtonArray@MSGPOPUP_DIALOG@@AEAAXIPEAH0@Z
+; private: long __cdecl DEVICE_COMBO::FillDevices(void) __ptr64
+?FillDevices@DEVICE_COMBO@@AEAAJXZ
+; private: long __cdecl LM_OLLB::FillDomains(unsigned long,unsigned short const * __ptr64) __ptr64
+?FillDomains@LM_OLLB@@AEAAJKPEBG@Z
+; public: long __cdecl NT_GROUP_BROWSER_LB::FillGlobalGroupMembers(class OS_SID const * __ptr64,class SAM_DOMAIN const * __ptr64,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
+?FillGlobalGroupMembers@NT_GROUP_BROWSER_LB@@QEAAJPEBVOS_SID@@PEBVSAM_DOMAIN@@1PEAVLSA_POLICY@@PEBG@Z
+; public: long __cdecl NT_GROUP_BROWSER_LB::FillLocalGroupMembers(class OS_SID const * __ptr64,class SAM_DOMAIN const * __ptr64,class SAM_DOMAIN const * __ptr64,class LSA_POLICY * __ptr64,unsigned short const * __ptr64) __ptr64
+?FillLocalGroupMembers@NT_GROUP_BROWSER_LB@@QEAAJPEBVOS_SID@@PEBVSAM_DOMAIN@@1PEAVLSA_POLICY@@PEBG@Z
+; private: long __cdecl LM_OLLB::FillServers(unsigned short const * __ptr64,unsigned int * __ptr64) __ptr64
+?FillServers@LM_OLLB@@AEAAJPEBGPEAI@Z
+; protected: virtual int __cdecl DIALOG_WINDOW::FilterMessage(struct tagMSG * __ptr64) __ptr64
+?FilterMessage@DIALOG_WINDOW@@MEAAHPEAUtagMSG@@@Z
+; protected: virtual int __cdecl HAS_MESSAGE_PUMP::FilterMessage(struct tagMSG * __ptr64) __ptr64
+?FilterMessage@HAS_MESSAGE_PUMP@@MEAAHPEAUtagMSG@@@Z
+; public: int __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::Find(class CONTROLVAL_CID_PAIR const & __ptr64)const  __ptr64
+?Find@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEBAHAEBVCONTROLVAL_CID_PAIR@@@Z
+; public: static class DIALOG_WINDOW * __ptr64 __cdecl HWND_DLGPTR_CACHE::Find(struct HWND__ * __ptr64)
+?Find@HWND_DLGPTR_CACHE@@SAPEAVDIALOG_WINDOW@@PEAUHWND__@@@Z
+; private: unsigned int __cdecl MAGIC_GROUP::FindAssocRadioButton(class CONTROL_VALUE * __ptr64) __ptr64
+?FindAssocRadioButton@MAGIC_GROUP@@AEAAIPEAVCONTROL_VALUE@@@Z
+; public: class BROWSER_DOMAIN * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::FindDomain(class OS_SID const * __ptr64) __ptr64
+?FindDomain@NT_USER_BROWSER_DIALOG@@QEAAPEAVBROWSER_DOMAIN@@PEBVOS_SID@@@Z
+; public: class UI_EXT * __ptr64 __cdecl UI_EXT_MGR::FindExtensionByDelta(unsigned long) __ptr64
+?FindExtensionByDelta@UI_EXT_MGR@@QEAAPEAVUI_EXT@@K@Z
+; public: class UI_EXT * __ptr64 __cdecl UI_EXT_MGR::FindExtensionByName(unsigned short const * __ptr64) __ptr64
+?FindExtensionByName@UI_EXT_MGR@@QEAAPEAVUI_EXT@@PEBG@Z
+; public: int __cdecl BLT_LISTBOX::FindItem(class LBI const & __ptr64)const  __ptr64
+?FindItem@BLT_LISTBOX@@QEBAHAEBVLBI@@@Z
+; public: int __cdecl OUTLINE_LISTBOX::FindItem(unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?FindItem@OUTLINE_LISTBOX@@QEBAHPEBG0@Z
+; public: int __cdecl STRING_LIST_CONTROL::FindItem(unsigned short const * __ptr64)const  __ptr64
+?FindItem@STRING_LIST_CONTROL@@QEBAHPEBG@Z
+; public: int __cdecl STRING_LIST_CONTROL::FindItem(unsigned short const * __ptr64,int)const  __ptr64
+?FindItem@STRING_LIST_CONTROL@@QEBAHPEBGH@Z
+; public: int __cdecl STRING_LIST_CONTROL::FindItemExact(unsigned short const * __ptr64)const  __ptr64
+?FindItemExact@STRING_LIST_CONTROL@@QEBAHPEBG@Z
+; public: int __cdecl STRING_LIST_CONTROL::FindItemExact(unsigned short const * __ptr64,int)const  __ptr64
+?FindItemExact@STRING_LIST_CONTROL@@QEBAHPEBGH@Z
+; public: void __cdecl DEVICE_CONTEXT::FrameRect(struct tagRECT const * __ptr64,struct HBRUSH__ * __ptr64)const  __ptr64
+?FrameRect@DEVICE_CONTEXT@@QEBAXPEBUtagRECT@@PEAUHBRUSH__@@@Z
+; private: virtual long __cdecl SPIN_SLE_STR::GetAccKey(class NLS_STR * __ptr64) __ptr64
+?GetAccKey@SPIN_SLE_STR@@EEAAJPEAVNLS_STR@@@Z
+; protected: virtual long __cdecl SPIN_SLT_SEPARATOR::GetAccKey(class NLS_STR * __ptr64) __ptr64
+?GetAccKey@SPIN_SLT_SEPARATOR@@MEAAJPEAVNLS_STR@@@Z
+; private: long __cdecl MSG_DIALOG_BASE::GetAndSendText(void) __ptr64
+?GetAndSendText@MSG_DIALOG_BASE@@AEAAJXZ
+; public: unsigned long __cdecl DEVICE_CONTEXT::GetBkColor(void)const  __ptr64
+?GetBkColor@DEVICE_CONTEXT@@QEBAKXZ
+; public: long __cdecl BROWSER_DOMAIN::GetDomainInfo(class NT_USER_BROWSER_DIALOG * __ptr64,class ADMIN_AUTHORITY const * __ptr64) __ptr64
+?GetDomainInfo@BROWSER_DOMAIN@@QEAAJPEAVNT_USER_BROWSER_DIALOG@@PEBVADMIN_AUTHORITY@@@Z
+; public: long __cdecl UI_DOMAIN::GetInfo(void) __ptr64
+?GetInfo@UI_DOMAIN@@QEAAJXZ
+; public: long __cdecl APP_WINDOW::GetPlacement(struct tagWINDOWPLACEMENT * __ptr64)const  __ptr64
+?GetPlacement@APP_WINDOW@@QEBAJPEAUtagWINDOWPLACEMENT@@@Z
+; public: long __cdecl BROWSER_DOMAIN::GetQualifiedDomainName(class NLS_STR * __ptr64) __ptr64
+?GetQualifiedDomainName@BROWSER_DOMAIN@@QEAAJPEAVNLS_STR@@@Z
+; public: long __cdecl BROWSER_DOMAIN_LBI_PB::GetQualifiedDomainName(class NLS_STR * __ptr64) __ptr64
+?GetQualifiedDomainName@BROWSER_DOMAIN_LBI_PB@@QEAAJPEAVNLS_STR@@@Z
+; public: unsigned long __cdecl DEVICE_CONTEXT::GetTextColor(void)const  __ptr64
+?GetTextColor@DEVICE_CONTEXT@@QEBAKXZ
+; private: int __cdecl DISPLAY_MAP::GetTransColorIndex(unsigned long * __ptr64,int)const  __ptr64
+?GetTransColorIndex@DISPLAY_MAP@@AEBAHPEAKH@Z
+; protected: long __cdecl NT_USER_BROWSER_DIALOG::GetTrustedDomainList(unsigned short const * __ptr64,class BROWSER_DOMAIN * __ptr64 * __ptr64,class BROWSER_DOMAIN_CB * __ptr64,class ADMIN_AUTHORITY const * __ptr64) __ptr64
+?GetTrustedDomainList@NT_USER_BROWSER_DIALOG@@IEAAJPEBGPEAPEAVBROWSER_DOMAIN@@PEAVBROWSER_DOMAIN_CB@@PEBVADMIN_AUTHORITY@@@Z
+; public: int __cdecl SET_CONTROL::HandleOnLMouseButtonDown(class LISTBOX * __ptr64,class CUSTOM_CONTROL * __ptr64,class MOUSE_EVENT const & __ptr64) __ptr64
+?HandleOnLMouseButtonDown@SET_CONTROL@@QEAAHPEAVLISTBOX@@PEAVCUSTOM_CONTROL@@AEBVMOUSE_EVENT@@@Z
+; public: int __cdecl SET_CONTROL::HandleOnLMouseButtonUp(class LISTBOX * __ptr64,class CUSTOM_CONTROL * __ptr64,class MOUSE_EVENT const & __ptr64) __ptr64
+?HandleOnLMouseButtonUp@SET_CONTROL@@QEAAHPEAVLISTBOX@@PEAVCUSTOM_CONTROL@@AEBVMOUSE_EVENT@@@Z
+; public: int __cdecl SET_CONTROL::HandleOnMouseMove(class LISTBOX * __ptr64,class MOUSE_EVENT const & __ptr64) __ptr64
+?HandleOnMouseMove@SET_CONTROL@@QEAAHPEAVLISTBOX@@AEBVMOUSE_EVENT@@@Z
+; public: int __cdecl HIER_LBI::HasChildren(void) __ptr64
+?HasChildren@HIER_LBI@@QEAAHXZ
+; public: int __cdecl WINDOW::HasFocus(void)const  __ptr64
+?HasFocus@WINDOW@@QEBAHXZ
+; public: static class DISPATCHER * __ptr64 __cdecl ASSOCHWNDDISP::HwndToPdispatch(struct HWND__ * __ptr64)
+?HwndToPdispatch@ASSOCHWNDDISP@@SAPEAVDISPATCHER@@PEAUHWND__@@@Z
+; public: static class DIALOG_WINDOW * __ptr64 __cdecl ASSOCHWNDPDLG::HwndToPdlg(struct HWND__ * __ptr64)
+?HwndToPdlg@ASSOCHWNDPDLG@@SAPEAVDIALOG_WINDOW@@PEAUHWND__@@@Z
+; public: static class CLIENT_WINDOW * __ptr64 __cdecl ASSOCHWNDPWND::HwndToPwnd(struct HWND__ * __ptr64)
+?HwndToPwnd@ASSOCHWNDPWND@@SAPEAVCLIENT_WINDOW@@PEAUHWND__@@@Z
+; private: static class CLIENT_WINDOW * __ptr64 __cdecl CLIENT_WINDOW::HwndToPwnd(struct HWND__ * __ptr64)
+?HwndToPwnd@CLIENT_WINDOW@@CAPEAV1@PEAUHWND__@@@Z
+; private: static class DIALOG_WINDOW * __ptr64 __cdecl DIALOG_WINDOW::HwndToPwnd(struct HWND__ * __ptr64)
+?HwndToPwnd@DIALOG_WINDOW@@CAPEAV1@PEAUHWND__@@@Z
+; protected: static class DISPATCHER * __ptr64 __cdecl DISPATCHER::HwndToPwnd(struct HWND__ * __ptr64)
+?HwndToPwnd@DISPATCHER@@KAPEAV1@PEAUHWND__@@@Z
+; public: static void * __ptr64 __cdecl ASSOCHWNDTHIS::HwndToThis(struct HWND__ * __ptr64)
+?HwndToThis@ASSOCHWNDTHIS@@SAPEAXPEAUHWND__@@@Z
+; public: int __cdecl BASE_SET_FOCUS_DLG::InRasMode(void)const  __ptr64
+?InRasMode@BASE_SET_FOCUS_DLG@@QEBAHXZ
+; public: int __cdecl XYPOINT::InRect(class XYRECT const & __ptr64)const  __ptr64
+?InRect@XYPOINT@@QEBAHAEBVXYRECT@@@Z
+; public: virtual void __cdecl CONTROL_WINDOW::IndicateError(long) __ptr64
+?IndicateError@CONTROL_WINDOW@@UEAAXJ@Z
+; public: virtual void __cdecl SLE::IndicateError(long) __ptr64
+?IndicateError@SLE@@UEAAXJ@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::Inflate(int,int) __ptr64
+?Inflate@XYRECT@@QEAAAEAV1@HH@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::Inflate(class XYDIMENSION) __ptr64
+?Inflate@XYRECT@@QEAAAEAV1@VXYDIMENSION@@@Z
+; public: static long __cdecl BASE_ELLIPSIS::Init(void)
+?Init@BASE_ELLIPSIS@@SAJXZ
+; public: static long __cdecl BLT::Init(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int,unsigned int,unsigned int)
+?Init@BLT@@SAJPEAUHINSTANCE__@@IIII@Z
+; public: static long __cdecl BLTIMP::Init(void)
+?Init@BLTIMP@@SAJXZ
+; public: static long __cdecl BLT_MASTER_TIMER::Init(void)
+?Init@BLT_MASTER_TIMER@@SAJXZ
+; public: static long __cdecl CLIENT_WINDOW::Init(void)
+?Init@CLIENT_WINDOW@@SAJXZ
+; public: static long __cdecl POPUP::Init(void)
+?Init@POPUP@@SAJXZ
+; public: long __cdecl SLE_STRLB_GROUP::Init(class STRLIST * __ptr64) __ptr64
+?Init@SLE_STRLB_GROUP@@QEAAJPEAVSTRLIST@@@Z
+; public: static void __cdecl WIN32_FONT_PICKER::InitCHOOSEFONT(struct tagCHOOSEFONTW * __ptr64,struct tagLOGFONTW * __ptr64,struct HWND__ * __ptr64)
+?InitCHOOSEFONT@WIN32_FONT_PICKER@@SAXPEAUtagCHOOSEFONTW@@PEAUtagLOGFONTW@@PEAUHWND__@@@Z
+; public: static long __cdecl BLT::InitDLL(void)
+?InitDLL@BLT@@SAJXZ
+; protected: void __cdecl GET_FNAME_BASE_DLG::InitialOFN(void) __ptr64
+?InitialOFN@GET_FNAME_BASE_DLG@@IEAAXXZ
+; private: long __cdecl SPIN_SLE_STR::Initialize(long,class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+?Initialize@SPIN_SLE_STR@@AEAAJJPEAVOWNER_WINDOW@@I@Z
+; private: long __cdecl SPIN_SLE_STR::Initialize(unsigned short const * __ptr64 * __ptr64 const,class OWNER_WINDOW * __ptr64,unsigned int) __ptr64
+?Initialize@SPIN_SLE_STR@@AEAAJQEAPEBGPEAVOWNER_WINDOW@@I@Z
+; private: long __cdecl SPIN_SLT_SEPARATOR::Initialize(void) __ptr64
+?Initialize@SPIN_SLT_SEPARATOR@@AEAAJXZ
+; public: long __cdecl MENU_BASE::Insert(unsigned short const * __ptr64,unsigned int,unsigned int,unsigned int)const  __ptr64
+?Insert@MENU_BASE@@QEBAJPEBGIII@Z
+; public: long __cdecl MENU_BASE::Insert(unsigned short const * __ptr64,unsigned int,struct HMENU__ * __ptr64,unsigned int)const  __ptr64
+?Insert@MENU_BASE@@QEBAJPEBGIPEAUHMENU__@@I@Z
+; public: int __cdecl BLT_LISTBOX::InsertItem(int,class LBI * __ptr64) __ptr64
+?InsertItem@BLT_LISTBOX@@QEAAHHPEAVLBI@@@Z
+; public: int __cdecl STRING_LIST_CONTROL::InsertItem(int,class NLS_STR const & __ptr64) __ptr64
+?InsertItem@STRING_LIST_CONTROL@@QEAAHHAEBVNLS_STR@@@Z
+; public: int __cdecl STRING_LIST_CONTROL::InsertItem(int,unsigned short const * __ptr64) __ptr64
+?InsertItem@STRING_LIST_CONTROL@@QEAAHHPEBG@Z
+; protected: int __cdecl LIST_CONTROL::InsertItemData(int,void * __ptr64) __ptr64
+?InsertItemData@LIST_CONTROL@@IEAAHHPEAX@Z
+; public: long __cdecl NLS_STR::InsertParams(class NLS_STR const & __ptr64) __ptr64
+?InsertParams@NLS_STR@@QEAAJAEBV1@@Z
+; public: long __cdecl MENU_BASE::InsertSeparator(unsigned int,unsigned int)const  __ptr64
+?InsertSeparator@MENU_BASE@@QEBAJII@Z
+; public: long __cdecl BLT_MASTER_TIMER::InsertTimer(class TIMER_BASE * __ptr64) __ptr64
+?InsertTimer@BLT_MASTER_TIMER@@QEAAJPEAVTIMER_BASE@@@Z
+; public: void __cdecl WINDOW::Invalidate(class XYRECT const & __ptr64) __ptr64
+?Invalidate@WINDOW@@QEAAXAEBVXYRECT@@@Z
+; public: void __cdecl WINDOW::Invalidate(int) __ptr64
+?Invalidate@WINDOW@@QEAAXH@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::InvalidateButton(int) __ptr64
+?InvalidateButton@LOGON_HOURS_CONTROL@@AEAAXH@Z
+; public: void __cdecl LISTBOX::InvalidateItem(int,int) __ptr64
+?InvalidateItem@LISTBOX@@QEAAXHH@Z
+; private: void __cdecl H_SPLITTER_BAR::InvertDragBar(class XYPOINT const & __ptr64) __ptr64
+?InvertDragBar@H_SPLITTER_BAR@@AEAAXAEBVXYPOINT@@@Z
+; public: void __cdecl DEVICE_CONTEXT::InvertRect(struct tagRECT const * __ptr64)const  __ptr64
+?InvertRect@DEVICE_CONTEXT@@QEBAXPEBUtagRECT@@@Z
+; public: int __cdecl INTL_PROFILE::Is24Hour(void)const  __ptr64
+?Is24Hour@INTL_PROFILE@@QEBAHXZ
+; public: int __cdecl ACTIVATION_EVENT::IsActivating(void)const  __ptr64
+?IsActivating@ACTIVATION_EVENT@@QEBAHXZ
+; public: int __cdecl SPIN_GROUP::IsActive(void)const  __ptr64
+?IsActive@SPIN_GROUP@@QEBAHXZ
+; public: int __cdecl ASSOCHCFILE::IsAssociatedHC(unsigned long)const  __ptr64
+?IsAssociatedHC@ASSOCHCFILE@@QEBAHK@Z
+; protected: int __cdecl HEAP_BASE::IsAutoReadjusting(void)const  __ptr64
+?IsAutoReadjusting@HEAP_BASE@@IEBAHXZ
+; protected: int __cdecl NT_USER_BROWSER_DIALOG::IsBrowsingEnabled(void)const  __ptr64
+?IsBrowsingEnabled@NT_USER_BROWSER_DIALOG@@IEBAHXZ
+; private: int __cdecl LOGON_HOURS_CONTROL::IsButtonACell(int)const  __ptr64
+?IsButtonACell@LOGON_HOURS_CONTROL@@AEBAHH@Z
+; public: int __cdecl MENUITEM::IsChecked(void)const  __ptr64
+?IsChecked@MENUITEM@@QEBAHXZ
+; public: int __cdecl WINDOW::IsChild(void)const  __ptr64
+?IsChild@WINDOW@@QEBAHXZ
+; public: static int __cdecl WINDOW::IsClientGeneratedMessage(void)
+?IsClientGeneratedMessage@WINDOW@@SAHXZ
+; public: int __cdecl LIST_CONTROL::IsCombo(void)const  __ptr64
+?IsCombo@LIST_CONTROL@@QEBAHXZ
+; public: int __cdecl PROMPT_AND_CONNECT::IsConnected(void) __ptr64
+?IsConnected@PROMPT_AND_CONNECT@@QEAAHXZ
+; private: int __cdecl BLT_DATE_SPIN_GROUP::IsConstructionFail(class CONTROL_WINDOW * __ptr64) __ptr64
+?IsConstructionFail@BLT_DATE_SPIN_GROUP@@AEAAHPEAVCONTROL_WINDOW@@@Z
+; private: int __cdecl BLT_TIME_SPIN_GROUP::IsConstructionFail(class CONTROL_WINDOW * __ptr64) __ptr64
+?IsConstructionFail@BLT_TIME_SPIN_GROUP@@AEAAHPEAVCONTROL_WINDOW@@@Z
+; public: int __cdecl INTL_PROFILE::IsDayLZero(void)const  __ptr64
+?IsDayLZero@INTL_PROFILE@@QEBAHXZ
+; private: virtual int __cdecl HIER_LBI::IsDestroyable(void) __ptr64
+?IsDestroyable@HIER_LBI@@EEAAHXZ
+; protected: virtual int __cdecl LBI::IsDestroyable(void) __ptr64
+?IsDestroyable@LBI@@MEAAHXZ
+; protected: int __cdecl NT_USER_BROWSER_DIALOG::IsDomainComboDropped(void)const  __ptr64
+?IsDomainComboDropped@NT_USER_BROWSER_DIALOG@@IEBAHXZ
+; public: int __cdecl COMBOBOX::IsDropDown(void)const  __ptr64
+?IsDropDown@COMBOBOX@@QEBAHXZ
+; public: int __cdecl COMBOBOX::IsDropDownList(void)const  __ptr64
+?IsDropDownList@COMBOBOX@@QEBAHXZ
+; public: int __cdecl BLT_COMBOBOX::IsDropped(void)const  __ptr64
+?IsDropped@BLT_COMBOBOX@@QEBAHXZ
+; public: int __cdecl XYRECT::IsEmpty(void)const  __ptr64
+?IsEmpty@XYRECT@@QEBAHXZ
+; public: int __cdecl MENUITEM::IsEnabled(void)const  __ptr64
+?IsEnabled@MENUITEM@@QEBAHXZ
+; public: int __cdecl TIMER_BASE::IsEnabled(void)const  __ptr64
+?IsEnabled@TIMER_BASE@@QEBAHXZ
+; public: int __cdecl WINDOW::IsEnabled(void)const  __ptr64
+?IsEnabled@WINDOW@@QEBAHXZ
+; protected: int __cdecl BASE_SET_FOCUS_DLG::IsExpanded(void)const  __ptr64
+?IsExpanded@BASE_SET_FOCUS_DLG@@IEBAHXZ
+; public: int __cdecl OLLB_ENTRY::IsExpanded(void)const  __ptr64
+?IsExpanded@OLLB_ENTRY@@QEBAHXZ
+; public: int __cdecl AUDIT_CHECKBOXES::IsFailedChecked(void) __ptr64
+?IsFailedChecked@AUDIT_CHECKBOXES@@QEAAHXZ
+; protected: int __cdecl CANCEL_TASK_DIALOG::IsFinished(void)const  __ptr64
+?IsFinished@CANCEL_TASK_DIALOG@@IEBAHXZ
+; public: int __cdecl GET_FNAME_BASE_DLG::IsHelpActive(void) __ptr64
+?IsHelpActive@GET_FNAME_BASE_DLG@@QEAAHXZ
+; public: int __cdecl INTL_PROFILE::IsHourLZero(void)const  __ptr64
+?IsHourLZero@INTL_PROFILE@@QEBAHXZ
+; protected: int __cdecl CANCEL_TASK_DIALOG::IsInTimer(void)const  __ptr64
+?IsInTimer@CANCEL_TASK_DIALOG@@IEBAHXZ
+; public: int __cdecl BROWSER_DOMAIN::IsInitialized(void)const  __ptr64
+?IsInitialized@BROWSER_DOMAIN@@QEBAHXZ
+; public: virtual int __cdecl USER_LBI_CACHE::IsItemAvailable(int) __ptr64
+?IsItemAvailable@USER_LBI_CACHE@@UEAAHH@Z
+; public: int __cdecl LIST_CONTROL::IsItemSelected(unsigned int)const  __ptr64
+?IsItemSelected@LIST_CONTROL@@QEBAHI@Z
+; public: int __cdecl RADIO_GROUP::IsMember(unsigned int) __ptr64
+?IsMember@RADIO_GROUP@@QEAAHI@Z
+; public: int __cdecl CLIENT_WINDOW::IsMinimized(void)const  __ptr64
+?IsMinimized@CLIENT_WINDOW@@QEBAHXZ
+; public: int __cdecl SPIN_GROUP::IsModified(void)const  __ptr64
+?IsModified@SPIN_GROUP@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::IsMonthLZero(void)const  __ptr64
+?IsMonthLZero@INTL_PROFILE@@QEBAHXZ
+; public: int __cdecl LIST_CONTROL::IsMultSel(void)const  __ptr64
+?IsMultSel@LIST_CONTROL@@QEBAHXZ
+; private: int __cdecl SET_CONTROL::IsOnDragStart(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
+?IsOnDragStart@SET_CONTROL@@AEBAHPEAVLISTBOX@@0AEBVXYPOINT@@@Z
+; private: int __cdecl SET_CONTROL::IsOnSelectedItem(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
+?IsOnSelectedItem@SET_CONTROL@@AEBAHPEAVLISTBOX@@0AEBVXYPOINT@@@Z
+; private: int __cdecl SET_CONTROL::IsOverTarget(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
+?IsOverTarget@SET_CONTROL@@AEBAHPEAVLISTBOX@@0AEBVXYPOINT@@@Z
+; private: int __cdecl HIER_LBI::IsParent(class HIER_LBI * __ptr64) __ptr64
+?IsParent@HIER_LBI@@AEAAHPEAV1@@Z
+; public: int __cdecl MENU_BASE::IsPopup(int)const  __ptr64
+?IsPopup@MENU_BASE@@QEBAHH@Z
+; public: int __cdecl MASK_MAP::IsPresent(class BITFIELD * __ptr64) __ptr64
+?IsPresent@MASK_MAP@@QEAAHPEAVBITFIELD@@@Z
+; protected: virtual int __cdecl DIALOG_WINDOW::IsPumpFinished(void) __ptr64
+?IsPumpFinished@DIALOG_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl HAS_MESSAGE_PUMP::IsPumpFinished(void) __ptr64
+?IsPumpFinished@HAS_MESSAGE_PUMP@@MEAAHXZ
+; public: int __cdecl LISTBOX::IsReadOnly(void)const  __ptr64
+?IsReadOnly@LISTBOX@@QEBAHXZ
+; protected: int __cdecl HEAP_BASE::IsRoot(int)const  __ptr64
+?IsRoot@HEAP_BASE@@IEBAHH@Z
+; public: int __cdecl WIN32_THREAD::IsRunnable(void)const  __ptr64
+?IsRunnable@WIN32_THREAD@@QEBAHXZ
+; protected: int __cdecl USER_BROWSER_LB::IsSelectionExpandableGroup(class USER_BROWSER_LBI const * __ptr64,int)const  __ptr64
+?IsSelectionExpandableGroup@USER_BROWSER_LB@@IEBAHPEBVUSER_BROWSER_LBI@@H@Z
+; public: int __cdecl USER_BROWSER_LB::IsSelectionExpandableGroup(void)const  __ptr64
+?IsSelectionExpandableGroup@USER_BROWSER_LB@@QEBAHXZ
+; public: int __cdecl MENU_BASE::IsSeparator(int)const  __ptr64
+?IsSeparator@MENU_BASE@@QEBAHH@Z
+; protected: int __cdecl NT_USER_BROWSER_DIALOG::IsShowUsersButtonUsed(void)const  __ptr64
+?IsShowUsersButtonUsed@NT_USER_BROWSER_DIALOG@@IEBAHXZ
+; public: int __cdecl COMBOBOX::IsSimple(void)const  __ptr64
+?IsSimple@COMBOBOX@@QEBAHXZ
+; public: int __cdecl ACCOUNT_NAMES_MLE::IsSingleSelect(void)const  __ptr64
+?IsSingleSelect@ACCOUNT_NAMES_MLE@@QEBAHXZ
+; public: int __cdecl NT_USER_BROWSER_DIALOG::IsSingleSelection(void)const  __ptr64
+?IsSingleSelection@NT_USER_BROWSER_DIALOG@@QEBAHXZ
+; public: virtual int __cdecl CHANGEABLE_SPIN_ITEM::IsStatic(void)const  __ptr64
+?IsStatic@CHANGEABLE_SPIN_ITEM@@UEBAHXZ
+; public: virtual int __cdecl STATIC_SPIN_ITEM::IsStatic(void)const  __ptr64
+?IsStatic@STATIC_SPIN_ITEM@@UEBAHXZ
+; public: int __cdecl AUDIT_CHECKBOXES::IsSuccessChecked(void) __ptr64
+?IsSuccessChecked@AUDIT_CHECKBOXES@@QEAAHXZ
+; public: static int __cdecl APPLICATION::IsSystemInitialized(void)
+?IsSystemInitialized@APPLICATION@@SAHXZ
+; public: int __cdecl BROWSER_DOMAIN::IsTargetDomain(void)const  __ptr64
+?IsTargetDomain@BROWSER_DOMAIN@@QEBAHXZ
+; public: int __cdecl BROWSER_DOMAIN_LBI::IsTargetDomain(void)const  __ptr64
+?IsTargetDomain@BROWSER_DOMAIN_LBI@@QEBAHXZ
+; public: int __cdecl BROWSER_DOMAIN_LBI_PB::IsTargetDomain(void)const  __ptr64
+?IsTargetDomain@BROWSER_DOMAIN_LBI_PB@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::IsTimePrefix(void)const  __ptr64
+?IsTimePrefix@INTL_PROFILE@@QEBAHXZ
+; public: int __cdecl COMBOBOX::IsUserEdittable(void)const  __ptr64
+?IsUserEdittable@COMBOBOX@@QEBAHXZ
+; public: int __cdecl BLT_DATE_SPIN_GROUP::IsValid(void) __ptr64
+?IsValid@BLT_DATE_SPIN_GROUP@@QEAAHXZ
+; public: int __cdecl BLT_TIME_SPIN_GROUP::IsValid(void) __ptr64
+?IsValid@BLT_TIME_SPIN_GROUP@@QEAAHXZ
+; protected: virtual int __cdecl DIALOG_WINDOW::IsValid(void) __ptr64
+?IsValid@DIALOG_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl SPIN_SLE_NUM_VALID::IsValid(void) __ptr64
+?IsValid@SPIN_SLE_NUM_VALID@@MEAAHXZ
+; protected: int __cdecl SPIN_GROUP::IsValidField(void) __ptr64
+?IsValidField@SPIN_GROUP@@IEAAHXZ
+; protected: int __cdecl BASE_ELLIPSIS::IsValidStyle(enum ELLIPSIS_STYLE)const  __ptr64
+?IsValidStyle@BASE_ELLIPSIS@@IEBAHW4ELLIPSIS_STYLE@@@Z
+; protected: int __cdecl ACCOUNT_NAMES_MLE::IsWellKnownAccount(class NLS_STR const & __ptr64) __ptr64
+?IsWellKnownAccount@ACCOUNT_NAMES_MLE@@IEAAHAEBVNLS_STR@@@Z
+; public: int __cdecl BROWSER_DOMAIN::IsWinNTMachine(void)const  __ptr64
+?IsWinNTMachine@BROWSER_DOMAIN@@QEBAHXZ
+; protected: int __cdecl H_SPLITTER_BAR::IsWithinHitZone(class XYPOINT const & __ptr64) __ptr64
+?IsWithinHitZone@H_SPLITTER_BAR@@IEAAHAEBVXYPOINT@@@Z
+; private: int __cdecl SET_CONTROL::IsWithinHitZone(class LISTBOX * __ptr64,class LISTBOX * __ptr64,class XYPOINT const & __ptr64)const  __ptr64
+?IsWithinHitZone@SET_CONTROL@@AEBAHPEAVLISTBOX@@0AEBVXYPOINT@@@Z
+; public: int __cdecl INTL_PROFILE::IsYrCentury(void)const  __ptr64
+?IsYrCentury@INTL_PROFILE@@QEBAHXZ
+; public: static int __cdecl MENUITEM::ItemExists(struct HMENU__ * __ptr64,unsigned int)
+?ItemExists@MENUITEM@@SAHPEAUHMENU__@@I@Z
+; public: static int __cdecl MENUITEM::ItemExists(class APP_WINDOW * __ptr64,unsigned int)
+?ItemExists@MENUITEM@@SAHPEAVAPP_WINDOW@@I@Z
+; public: int __cdecl SPIN_GROUP::JumpNextField(void) __ptr64
+?JumpNextField@SPIN_GROUP@@QEAAHXZ
+; public: int __cdecl SPIN_GROUP::JumpPrevField(void) __ptr64
+?JumpPrevField@SPIN_GROUP@@QEAAHXZ
+; private: void __cdecl DIALOG_WINDOW::LaunchHelp(void) __ptr64
+?LaunchHelp@DIALOG_WINDOW@@AEAAXXZ
+; public: static void __cdecl BLTIMP::LeaveBLTCritSect(void)
+?LeaveBLTCritSect@BLTIMP@@SAXXZ
+; public: static void __cdecl BLTIMP::LeaveResourceCritSect(void)
+?LeaveResourceCritSect@BLTIMP@@SAXXZ
+; public: void __cdecl DEVICE_CONTEXT::LineTo(int,int)const  __ptr64
+?LineTo@DEVICE_CONTEXT@@QEBAXHH@Z
+; public: static struct HICON__ * __ptr64 __cdecl CURSOR::Load(class IDRESOURCE const & __ptr64)
+?Load@CURSOR@@SAPEAUHICON__@@AEBVIDRESOURCE@@@Z
+; public: long __cdecl NLS_STR::Load(long) __ptr64
+?Load@NLS_STR@@QEAAJJ@Z
+; public: virtual unsigned int __cdecl UI_EXT_MGR::LoadExtensions(void) __ptr64
+?LoadExtensions@UI_EXT_MGR@@UEAAIXZ
+; private: long __cdecl LOGON_HOURS_CONTROL::LoadLabels(long) __ptr64
+?LoadLabels@LOGON_HOURS_CONTROL@@AEAAJJ@Z
+; private: class NLS_STR * __ptr64 __cdecl POPUP::LoadMessage(long,int) __ptr64
+?LoadMessage@POPUP@@AEAAPEAVNLS_STR@@JH@Z
+; public: static struct HICON__ * __ptr64 __cdecl CURSOR::LoadSystem(class IDRESOURCE const & __ptr64)
+?LoadSystem@CURSOR@@SAPEAUHICON__@@AEBVIDRESOURCE@@@Z
+; public: long __cdecl NLS_STR::LoadSystem(long) __ptr64
+?LoadSystem@NLS_STR@@QEAAJJ@Z
+; protected: virtual void __cdecl USER_LBI_CACHE::LockCache(void) __ptr64
+?LockCache@USER_LBI_CACHE@@MEAAXXZ
+; void __cdecl MLTextPaint(struct HDC__ * __ptr64,unsigned short const * __ptr64,struct tagRECT const * __ptr64)
+?MLTextPaint@@YAXPEAUHDC__@@PEBGPEBUtagRECT@@@Z
+; protected: virtual long __cdecl DOMAIN_FILL_THREAD::Main(void) __ptr64
+?Main@DOMAIN_FILL_THREAD@@MEAAJXZ
+; protected: virtual long __cdecl FOCUSDLG_DATA_THREAD::Main(void) __ptr64
+?Main@FOCUSDLG_DATA_THREAD@@MEAAJXZ
+; protected: virtual long __cdecl WIN32_THREAD::Main(void) __ptr64
+?Main@WIN32_THREAD@@MEAAJXZ
+; public: void __cdecl PUSH_BUTTON::MakeDefault(void) __ptr64
+?MakeDefault@PUSH_BUTTON@@QEAAXXZ
+; private: static int __cdecl POPUP::MapButton(unsigned int)
+?MapButton@POPUP@@CAHI@Z
+; public: static long __cdecl BLT::MapLastError(long)
+?MapLastError@BLT@@SAJJ@Z
+; public: static long __cdecl POPUP::MapMessage(long)
+?MapMessage@POPUP@@SAJJ@Z
+; protected: virtual int __cdecl APP_WINDOW::MayRestore(void) __ptr64
+?MayRestore@APP_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl CANCEL_TASK_DIALOG::MayRun(void) __ptr64
+?MayRun@CANCEL_TASK_DIALOG@@MEAAHXZ
+; protected: virtual int __cdecl DIALOG_WINDOW::MayRun(void) __ptr64
+?MayRun@DIALOG_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl APP_WINDOW::MayShutdown(void) __ptr64
+?MayShutdown@APP_WINDOW@@MEAAHXZ
+; public: virtual void __cdecl UI_MENU_EXT_MGR::MenuInitExtensions(void) __ptr64
+?MenuInitExtensions@UI_MENU_EXT_MGR@@UEAAXXZ
+; public: long __cdecl MENU_BASE::Modify(unsigned short const * __ptr64,unsigned int,unsigned int,unsigned int)const  __ptr64
+?Modify@MENU_BASE@@QEBAJPEBGIII@Z
+; public: long __cdecl MENU_BASE::Modify(unsigned short const * __ptr64,unsigned int,struct HMENU__ * __ptr64,unsigned int)const  __ptr64
+?Modify@MENU_BASE@@QEBAJPEBGIPEAUHMENU__@@I@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusDown(void) __ptr64
+?MoveFocusDown@LOGON_HOURS_CONTROL@@AEAAXXZ
+; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusLeft(void) __ptr64
+?MoveFocusLeft@LOGON_HOURS_CONTROL@@AEAAXXZ
+; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusRight(void) __ptr64
+?MoveFocusRight@LOGON_HOURS_CONTROL@@AEAAXXZ
+; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusTo(int) __ptr64
+?MoveFocusTo@LOGON_HOURS_CONTROL@@AEAAXH@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::MoveFocusUp(void) __ptr64
+?MoveFocusUp@LOGON_HOURS_CONTROL@@AEAAXXZ
+; protected: virtual long __cdecl BLT_SET_CONTROL::MoveItems(class LISTBOX * __ptr64,class LISTBOX * __ptr64) __ptr64
+?MoveItems@BLT_SET_CONTROL@@MEAAJPEAVLISTBOX@@0@Z
+; public: void __cdecl DEVICE_CONTEXT::MoveTo(int,int)const  __ptr64
+?MoveTo@DEVICE_CONTEXT@@QEBAXHH@Z
+; private: static int __cdecl MSGPOPUP_DIALOG::Msg2HC(long,unsigned long * __ptr64)
+?Msg2HC@MSGPOPUP_DIALOG@@CAHJPEAK@Z
+; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR * __ptr64 * __ptr64 const,unsigned int)
+?MsgPopup@@YAHAEBVOWNINGWND@@JJW4MSG_SEVERITY@@KIQEAPEAVNLS_STR@@I@Z
+; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY)
+?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@@Z
+; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY,unsigned int,unsigned int)
+?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@II@Z
+; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned int)
+?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@IPEBG2I@Z
+; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY,unsigned int,unsigned short const * __ptr64,unsigned int)
+?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@IPEBGI@Z
+; int __cdecl MsgPopup(class OWNINGWND const & __ptr64,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR * __ptr64 * __ptr64 const,unsigned int)
+?MsgPopup@@YAHAEBVOWNINGWND@@JW4MSG_SEVERITY@@KIQEAPEAVNLS_STR@@I@Z
+; public: long __cdecl BROWSER_SUBJECT_ITER::Next(class BROWSER_SUBJECT * __ptr64 * __ptr64) __ptr64
+?Next@BROWSER_SUBJECT_ITER@@QEAAJPEAPEAVBROWSER_SUBJECT@@@Z
+; public: class BROWSE_DOMAIN_INFO const * __ptr64 __cdecl BROWSE_DOMAIN_ENUM::Next(void) __ptr64
+?Next@BROWSE_DOMAIN_ENUM@@QEAAPEBVBROWSE_DOMAIN_INFO@@XZ
+; public: class CONTROL_WINDOW * __ptr64 __cdecl ITER_CTRL::Next(void) __ptr64
+?Next@ITER_CTRL@@QEAAPEAVCONTROL_WINDOW@@XZ
+; public: class SPIN_ITEM * __ptr64 __cdecl ITER_DL_SPIN_ITEM::Next(void) __ptr64
+?Next@ITER_DL_SPIN_ITEM@@QEAAPEAVSPIN_ITEM@@XZ
+; public: class ASSOCHCFILE * __ptr64 __cdecl ITER_SL_ASSOCHCFILE::Next(void) __ptr64
+?Next@ITER_SL_ASSOCHCFILE@@QEAAPEAVASSOCHCFILE@@XZ
+; public: class BROWSE_DOMAIN_INFO * __ptr64 __cdecl ITER_SL_BROWSE_DOMAIN_INFO::Next(void) __ptr64
+?Next@ITER_SL_BROWSE_DOMAIN_INFO@@QEAAPEAVBROWSE_DOMAIN_INFO@@XZ
+; public: struct CLIENTDATA * __ptr64 __cdecl ITER_SL_CLIENTDATA::Next(void) __ptr64
+?Next@ITER_SL_CLIENTDATA@@QEAAPEAUCLIENTDATA@@XZ
+; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::Next(void) __ptr64
+?Next@ITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
+; public: class STRING_BITSET_PAIR * __ptr64 __cdecl ITER_SL_STRING_BITSET_PAIR::Next(void) __ptr64
+?Next@ITER_SL_STRING_BITSET_PAIR@@QEAAPEAVSTRING_BITSET_PAIR@@XZ
+; public: class TIMER_BASE * __ptr64 __cdecl ITER_SL_TIMER_BASE::Next(void) __ptr64
+?Next@ITER_SL_TIMER_BASE@@QEAAPEAVTIMER_BASE@@XZ
+; public: class UI_EXT * __ptr64 __cdecl ITER_SL_UI_EXT::Next(void) __ptr64
+?Next@ITER_SL_UI_EXT@@QEAAPEAVUI_EXT@@XZ
+; public: class USER_BROWSER_LBI * __ptr64 __cdecl ITER_SL_USER_BROWSER_LBI::Next(void) __ptr64
+?Next@ITER_SL_USER_BROWSER_LBI@@QEAAPEAVUSER_BROWSER_LBI@@XZ
+; public: class SPIN_ITEM * __ptr64 __cdecl RITER_DL_SPIN_ITEM::Next(void) __ptr64
+?Next@RITER_DL_SPIN_ITEM@@QEAAPEAVSPIN_ITEM@@XZ
+; public: int __cdecl STLBITEM::NextState(void) __ptr64
+?NextState@STLBITEM@@QEAAHXZ
+; public: class TIMER_BASE * __ptr64 __cdecl BLT_MASTER_TIMER::NextTimer(void) __ptr64
+?NextTimer@BLT_MASTER_TIMER@@QEAAPEAVTIMER_BASE@@XZ
+; public: long __cdecl CONTROL_WINDOW::NotifyGroups(class CONTROL_EVENT const & __ptr64) __ptr64
+?NotifyGroups@CONTROL_WINDOW@@QEAAJAEBVCONTROL_EVENT@@@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::Offset(int,int) __ptr64
+?Offset@XYRECT@@QEAAAEAV1@HH@Z
+; public: class XYRECT & __ptr64 __cdecl XYRECT::Offset(class XYDIMENSION) __ptr64
+?Offset@XYRECT@@QEAAAEAV1@VXYDIMENSION@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnActivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
+?OnActivation@CLIENT_WINDOW@@MEAAHAEBVACTIVATION_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnActivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
+?OnActivation@DISPATCHER@@MEAAHAEBVACTIVATION_EVENT@@@Z
+; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnAdd(void) __ptr64
+?OnAdd@NT_USER_BROWSER_DIALOG@@IEAAJXZ
+; protected: long __cdecl SLE_STRLB_GROUP::OnAdd(void) __ptr64
+?OnAdd@SLE_STRLB_GROUP@@IEAAJXZ
+; protected: int __cdecl OWNER_WINDOW::OnCDMessages(unsigned int,unsigned __int64,__int64) __ptr64
+?OnCDMessages@OWNER_WINDOW@@IEAAHI_K_J@Z
+; protected: virtual int __cdecl DIALOG_WINDOW::OnCancel(void) __ptr64
+?OnCancel@DIALOG_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl MSGPOPUP_DIALOG::OnCancel(void) __ptr64
+?OnCancel@MSGPOPUP_DIALOG@@MEAAHXZ
+; protected: virtual int __cdecl CLIENT_WINDOW::OnChange(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnChange@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
+?OnChar@CLIENT_WINDOW@@MEAAHAEBVCHAR_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
+?OnChar@DISPATCHER@@MEAAHAEBVCHAR_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_ITEM::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
+?OnChar@SPIN_ITEM@@MEAAHAEBVCHAR_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_NUM::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
+?OnChar@SPIN_SLE_NUM@@MEAAHAEBVCHAR_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_STR::OnChar(class CHAR_EVENT const & __ptr64) __ptr64
+?OnChar@SPIN_SLE_STR@@MEAAHAEBVCHAR_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnClick(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnClick@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl APP_WINDOW::OnCloseReq(void) __ptr64
+?OnCloseReq@APP_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl CLIENT_WINDOW::OnCloseReq(void) __ptr64
+?OnCloseReq@CLIENT_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl DISPATCHER::OnCloseReq(void) __ptr64
+?OnCloseReq@DISPATCHER@@MEAAHXZ
+; protected: virtual int __cdecl BASE_SET_FOCUS_DLG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@BASE_SET_FOCUS_DLG@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl DIALOG_WINDOW::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@DIALOG_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@DISPATCHER@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl EXPANDABLE_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@EXPANDABLE_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl MSGPOPUP_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@MSGPOPUP_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl NT_FIND_ACCOUNT_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@NT_FIND_ACCOUNT_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl NT_GROUP_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@NT_GROUP_BROWSER_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl NT_LOCALGROUP_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@NT_LOCALGROUP_BROWSER_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl NT_USER_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@NT_USER_BROWSER_DIALOG@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl OPEN_DIALOG_BASE::OnCommand(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnCommand@OPEN_DIALOG_BASE@@MEAAHAEBVCONTROL_EVENT@@@Z
+; public: static int __cdecl LBI::OnCompareItem(unsigned __int64,__int64)
+?OnCompareItem@LBI@@SAH_K_J@Z
+; protected: virtual void __cdecl DIALOG_WINDOW::OnControlError(unsigned int,long) __ptr64
+?OnControlError@DIALOG_WINDOW@@MEAAXIJ@Z
+; public: virtual struct HBRUSH__ * __ptr64 __cdecl BLT_BACKGROUND_EDIT::OnCtlColor(struct HDC__ * __ptr64,struct HWND__ * __ptr64,unsigned int * __ptr64) __ptr64
+?OnCtlColor@BLT_BACKGROUND_EDIT@@UEAAPEAUHBRUSH__@@PEAUHDC__@@PEAUHWND__@@PEAI@Z
+; public: virtual struct HBRUSH__ * __ptr64 __cdecl CONTROL_WINDOW::OnCtlColor(struct HDC__ * __ptr64,struct HWND__ * __ptr64,unsigned int * __ptr64) __ptr64
+?OnCtlColor@CONTROL_WINDOW@@UEAAPEAUHBRUSH__@@PEAUHDC__@@PEAUHWND__@@PEAI@Z
+; protected: virtual struct HBRUSH__ * __ptr64 __cdecl DIALOG_WINDOW::OnCtlColor(struct HDC__ * __ptr64,struct HWND__ * __ptr64,unsigned int * __ptr64) __ptr64
+?OnCtlColor@DIALOG_WINDOW@@MEAAPEAUHBRUSH__@@PEAUHDC__@@PEAUHWND__@@PEAI@Z
+; public: virtual struct HBRUSH__ * __ptr64 __cdecl SPIN_SLT_SEPARATOR::OnCtlColor(struct HDC__ * __ptr64,struct HWND__ * __ptr64,unsigned int * __ptr64) __ptr64
+?OnCtlColor@SPIN_SLT_SEPARATOR@@UEAAPEAUHBRUSH__@@PEAUHDC__@@PEAUHWND__@@PEAI@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnDblClick(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnDblClick@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnDeactivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
+?OnDeactivation@CLIENT_WINDOW@@MEAAHAEBVACTIVATION_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnDeactivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
+?OnDeactivation@DISPATCHER@@MEAAHAEBVACTIVATION_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnDefocus@CLIENT_WINDOW@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnDefocus@DISPATCHER@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl FOCUS_CHECKBOX::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnDefocus@FOCUS_CHECKBOX@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnDefocus@LOGON_HOURS_CONTROL@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_NUM::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnDefocus@SPIN_SLE_NUM@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_NUM_VALID::OnDefocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnDefocus@SPIN_SLE_NUM_VALID@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual void __cdecl LAZY_LISTBOX::OnDeleteItem(class LBI * __ptr64) __ptr64
+?OnDeleteItem@LAZY_LISTBOX@@MEAAXPEAVLBI@@@Z
+; public: static void __cdecl LBI::OnDeleteItem(unsigned __int64,__int64)
+?OnDeleteItem@LBI@@SAX_K_J@Z
+; protected: virtual void __cdecl USER_BROWSER_LB::OnDeleteItem(class LBI * __ptr64) __ptr64
+?OnDeleteItem@USER_BROWSER_LB@@MEAAXPEAVLBI@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnDestroy(void) __ptr64
+?OnDestroy@CLIENT_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl DISPATCHER::OnDestroy(void) __ptr64
+?OnDestroy@DISPATCHER@@MEAAHXZ
+; protected: virtual int __cdecl DIALOG_WINDOW::OnDlgActivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
+?OnDlgActivation@DIALOG_WINDOW@@MEAAHAEBVACTIVATION_EVENT@@@Z
+; protected: virtual int __cdecl DIALOG_WINDOW::OnDlgDeactivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
+?OnDlgDeactivation@DIALOG_WINDOW@@MEAAHAEBVACTIVATION_EVENT@@@Z
+; protected: virtual int __cdecl NT_USER_BROWSER_DIALOG::OnDlgDeactivation(class ACTIVATION_EVENT const & __ptr64) __ptr64
+?OnDlgDeactivation@NT_USER_BROWSER_DIALOG@@MEAAHAEBVACTIVATION_EVENT@@@Z
+; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnDomainChange(class BROWSER_DOMAIN * __ptr64,class ADMIN_AUTHORITY const * __ptr64) __ptr64
+?OnDomainChange@NT_USER_BROWSER_DIALOG@@IEAAJPEAVBROWSER_DOMAIN@@PEBVADMIN_AUTHORITY@@@Z
+; private: void __cdecl BASE_SET_FOCUS_DLG::OnDomainLBChange(void) __ptr64
+?OnDomainLBChange@BASE_SET_FOCUS_DLG@@AEAAXXZ
+; public: void __cdecl HIER_LISTBOX::OnDoubleClick(class HIER_LBI * __ptr64) __ptr64
+?OnDoubleClick@HIER_LISTBOX@@QEAAXPEAVHIER_LBI@@@Z
+; protected: virtual void __cdecl H_SPLITTER_BAR::OnDragRelease(class XYPOINT const & __ptr64) __ptr64
+?OnDragRelease@H_SPLITTER_BAR@@MEAAXAEBVXYPOINT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnDropDown(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnDropDown@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnEnter(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnEnter@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_NUM::OnEnter(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnEnter@SPIN_SLE_NUM@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_NUM_VALID::OnEnter(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnEnter@SPIN_SLE_NUM_VALID@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: virtual void __cdecl EXPANDABLE_DIALOG::OnExpand(void) __ptr64
+?OnExpand@EXPANDABLE_DIALOG@@MEAAXXZ
+; protected: virtual int __cdecl CLIENT_WINDOW::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnFocus@CLIENT_WINDOW@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnFocus@DISPATCHER@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl FOCUS_CHECKBOX::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnFocus@FOCUS_CHECKBOX@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnFocus@LOGON_HOURS_CONTROL@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_ITEM::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnFocus@SPIN_ITEM@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_NUM::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnFocus@SPIN_SLE_NUM@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_STR::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnFocus@SPIN_SLE_STR@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual int __cdecl STATIC_SPIN_ITEM::OnFocus(class FOCUS_EVENT const & __ptr64) __ptr64
+?OnFocus@STATIC_SPIN_ITEM@@MEAAHAEBVFOCUS_EVENT@@@Z
+; protected: virtual long __cdecl CONTROL_GROUP::OnGroupAction(class CONTROL_GROUP * __ptr64) __ptr64
+?OnGroupAction@CONTROL_GROUP@@MEAAJPEAV1@@Z
+; protected: virtual long __cdecl MAGIC_GROUP::OnGroupAction(class CONTROL_GROUP * __ptr64) __ptr64
+?OnGroupAction@MAGIC_GROUP@@MEAAJPEAVCONTROL_GROUP@@@Z
+; private: int __cdecl DIALOG_WINDOW::OnHelp(void) __ptr64
+?OnHelp@DIALOG_WINDOW@@AEAAHXZ
+; public: void __cdecl GET_FNAME_BASE_DLG::OnHelp(struct HWND__ * __ptr64) __ptr64
+?OnHelp@GET_FNAME_BASE_DLG@@QEAAXPEAUHWND__@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
+?OnKeyDown@CLIENT_WINDOW@@MEAAHAEBVVKEY_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
+?OnKeyDown@DISPATCHER@@MEAAHAEBVVKEY_EVENT@@@Z
+; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
+?OnKeyDown@LOGON_HOURS_CONTROL@@MEAAHAEBVVKEY_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_NUM::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
+?OnKeyDown@SPIN_SLE_NUM@@MEAAHAEBVVKEY_EVENT@@@Z
+; protected: virtual int __cdecl SPIN_SLE_STR::OnKeyDown(class VKEY_EVENT const & __ptr64) __ptr64
+?OnKeyDown@SPIN_SLE_STR@@MEAAHAEBVVKEY_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnKeyUp(class VKEY_EVENT const & __ptr64) __ptr64
+?OnKeyUp@CLIENT_WINDOW@@MEAAHAEBVVKEY_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnKeyUp(class VKEY_EVENT const & __ptr64) __ptr64
+?OnKeyUp@DISPATCHER@@MEAAHAEBVVKEY_EVENT@@@Z
+; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnKeyUp(class VKEY_EVENT const & __ptr64) __ptr64
+?OnKeyUp@LOGON_HOURS_CONTROL@@MEAAHAEBVVKEY_EVENT@@@Z
+; protected: static int __cdecl OWNER_WINDOW::OnLBIMessages(unsigned int,unsigned __int64,__int64)
+?OnLBIMessages@OWNER_WINDOW@@KAHI_K_J@Z
+; protected: virtual int __cdecl ARROW_BUTTON::OnLMouseButtonDblClick(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonDblClick@ARROW_BUTTON@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnLMouseButtonDblClick(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonDblClick@CLIENT_WINDOW@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnLMouseButtonDblClick(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonDblClick@DISPATCHER@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl ARROW_BUTTON::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonDown@ARROW_BUTTON@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonDown@CLIENT_WINDOW@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonDown@DISPATCHER@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl H_SPLITTER_BAR::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonDown@H_SPLITTER_BAR@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnLMouseButtonDown(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonDown@LOGON_HOURS_CONTROL@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl ARROW_BUTTON::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonUp@ARROW_BUTTON@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonUp@CLIENT_WINDOW@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonUp@DISPATCHER@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl H_SPLITTER_BAR::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonUp@H_SPLITTER_BAR@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnLMouseButtonUp(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnLMouseButtonUp@LOGON_HOURS_CONTROL@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: long __cdecl NT_LOCALGROUP_BROWSER_DIALOG::OnMembers(void) __ptr64
+?OnMembers@NT_LOCALGROUP_BROWSER_DIALOG@@IEAAJXZ
+; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnMembers(void) __ptr64
+?OnMembers@NT_USER_BROWSER_DIALOG@@IEAAJXZ
+; protected: virtual int __cdecl APP_WINDOW::OnMenuCommand(unsigned int) __ptr64
+?OnMenuCommand@APP_WINDOW@@MEAAHI@Z
+; protected: virtual int __cdecl APP_WINDOW::OnMenuInit(class MENU_EVENT const & __ptr64) __ptr64
+?OnMenuInit@APP_WINDOW@@MEAAHAEBVMENU_EVENT@@@Z
+; protected: virtual int __cdecl APP_WINDOW::OnMenuSelect(class MENUITEM_EVENT const & __ptr64) __ptr64
+?OnMenuSelect@APP_WINDOW@@MEAAHAEBVMENUITEM_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnMouseMove(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnMouseMove@CLIENT_WINDOW@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnMouseMove(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnMouseMove@DISPATCHER@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl H_SPLITTER_BAR::OnMouseMove(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnMouseMove@H_SPLITTER_BAR@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnMouseMove(class MOUSE_EVENT const & __ptr64) __ptr64
+?OnMouseMove@LOGON_HOURS_CONTROL@@MEAAHAEBVMOUSE_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnMove(class MOVE_EVENT const & __ptr64) __ptr64
+?OnMove@CLIENT_WINDOW@@MEAAHAEBVMOVE_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnMove(class MOVE_EVENT const & __ptr64) __ptr64
+?OnMove@DISPATCHER@@MEAAHAEBVMOVE_EVENT@@@Z
+; protected: virtual class LBI * __ptr64 __cdecl USER_BROWSER_LB::OnNewItem(unsigned int) __ptr64
+?OnNewItem@USER_BROWSER_LB@@MEAAPEAVLBI@@I@Z
+; protected: virtual int __cdecl BASE_SET_FOCUS_DLG::OnOK(void) __ptr64
+?OnOK@BASE_SET_FOCUS_DLG@@MEAAHXZ
+; protected: virtual int __cdecl DIALOG_WINDOW::OnOK(void) __ptr64
+?OnOK@DIALOG_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl MSGPOPUP_DIALOG::OnOK(void) __ptr64
+?OnOK@MSGPOPUP_DIALOG@@MEAAHXZ
+; private: virtual int __cdecl MSG_DIALOG_BASE::OnOK(void) __ptr64
+?OnOK@MSG_DIALOG_BASE@@EEAAHXZ
+; protected: virtual int __cdecl NT_FIND_ACCOUNT_DIALOG::OnOK(void) __ptr64
+?OnOK@NT_FIND_ACCOUNT_DIALOG@@MEAAHXZ
+; protected: virtual int __cdecl NT_USER_BROWSER_DIALOG::OnOK(void) __ptr64
+?OnOK@NT_USER_BROWSER_DIALOG@@MEAAHXZ
+; protected: virtual int __cdecl PROMPT_FOR_ANY_DC_DLG::OnOK(void) __ptr64
+?OnOK@PROMPT_FOR_ANY_DC_DLG@@MEAAHXZ
+; protected: virtual int __cdecl CLIENT_WINDOW::OnOther(class EVENT const & __ptr64) __ptr64
+?OnOther@CLIENT_WINDOW@@MEAAHAEBVEVENT@@@Z
+; protected: virtual int __cdecl APP_WINDOW::OnPaintReq(void) __ptr64
+?OnPaintReq@APP_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl CLIENT_WINDOW::OnPaintReq(void) __ptr64
+?OnPaintReq@CLIENT_WINDOW@@MEAAHXZ
+; protected: virtual int __cdecl DISPATCHER::OnPaintReq(void) __ptr64
+?OnPaintReq@DISPATCHER@@MEAAHXZ
+; protected: virtual int __cdecl FOCUS_CHECKBOX::OnPaintReq(void) __ptr64
+?OnPaintReq@FOCUS_CHECKBOX@@MEAAHXZ
+; protected: virtual int __cdecl H_SPLITTER_BAR::OnPaintReq(void) __ptr64
+?OnPaintReq@H_SPLITTER_BAR@@MEAAHXZ
+; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnPaintReq(void) __ptr64
+?OnPaintReq@LOGON_HOURS_CONTROL@@MEAAHXZ
+; protected: virtual int __cdecl METER::OnPaintReq(void) __ptr64
+?OnPaintReq@METER@@MEAAHXZ
+; protected: virtual unsigned long __cdecl DISPATCHER::OnQDlgCode(void) __ptr64
+?OnQDlgCode@DISPATCHER@@MEAAKXZ
+; protected: virtual unsigned long __cdecl LOGON_HOURS_CONTROL::OnQDlgCode(void) __ptr64
+?OnQDlgCode@LOGON_HOURS_CONTROL@@MEAAKXZ
+; protected: virtual unsigned long __cdecl DISPATCHER::OnQHitTest(class XYPOINT const & __ptr64) __ptr64
+?OnQHitTest@DISPATCHER@@MEAAKAEBVXYPOINT@@@Z
+; protected: virtual unsigned long __cdecl H_SPLITTER_BAR::OnQHitTest(class XYPOINT const & __ptr64) __ptr64
+?OnQHitTest@H_SPLITTER_BAR@@MEAAKAEBVXYPOINT@@@Z
+; protected: virtual unsigned long __cdecl LOGON_HOURS_CONTROL::OnQHitTest(class XYPOINT const & __ptr64) __ptr64
+?OnQHitTest@LOGON_HOURS_CONTROL@@MEAAKAEBVXYPOINT@@@Z
+; protected: virtual int __cdecl APP_WINDOW::OnQMinMax(class QMINMAX_EVENT & __ptr64) __ptr64
+?OnQMinMax@APP_WINDOW@@MEAAHAEAVQMINMAX_EVENT@@@Z
+; protected: virtual unsigned long __cdecl DISPATCHER::OnQMouseActivate(class QMOUSEACT_EVENT const & __ptr64) __ptr64
+?OnQMouseActivate@DISPATCHER@@MEAAKAEBVQMOUSEACT_EVENT@@@Z
+; protected: virtual unsigned long __cdecl LOGON_HOURS_CONTROL::OnQMouseActivate(class QMOUSEACT_EVENT const & __ptr64) __ptr64
+?OnQMouseActivate@LOGON_HOURS_CONTROL@@MEAAKAEBVQMOUSEACT_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnQMouseCursor(class QMOUSEACT_EVENT const & __ptr64) __ptr64
+?OnQMouseCursor@DISPATCHER@@MEAAHAEBVQMOUSEACT_EVENT@@@Z
+; protected: virtual int __cdecl H_SPLITTER_BAR::OnQMouseCursor(class QMOUSEACT_EVENT const & __ptr64) __ptr64
+?OnQMouseCursor@H_SPLITTER_BAR@@MEAAHAEBVQMOUSEACT_EVENT@@@Z
+; protected: virtual int __cdecl LOGON_HOURS_CONTROL::OnQMouseCursor(class QMOUSEACT_EVENT const & __ptr64) __ptr64
+?OnQMouseCursor@LOGON_HOURS_CONTROL@@MEAAHAEBVQMOUSEACT_EVENT@@@Z
+; protected: long __cdecl SLE_STRLB_GROUP::OnRemove(void) __ptr64
+?OnRemove@SLE_STRLB_GROUP@@IEAAJXZ
+; protected: virtual int __cdecl CLIENT_WINDOW::OnResize(class SIZE_EVENT const & __ptr64) __ptr64
+?OnResize@CLIENT_WINDOW@@MEAAHAEBVSIZE_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnResize(class SIZE_EVENT const & __ptr64) __ptr64
+?OnResize@DISPATCHER@@MEAAHAEBVSIZE_EVENT@@@Z
+; protected: virtual int __cdecl H_SPLITTER_BAR::OnResize(class SIZE_EVENT const & __ptr64) __ptr64
+?OnResize@H_SPLITTER_BAR@@MEAAHAEBVSIZE_EVENT@@@Z
+; protected: virtual int __cdecl DIALOG_WINDOW::OnScrollBar(class SCROLL_EVENT const & __ptr64) __ptr64
+?OnScrollBar@DIALOG_WINDOW@@MEAAHAEBVSCROLL_EVENT@@@Z
+; protected: virtual int __cdecl DIALOG_WINDOW::OnScrollBarThumb(class SCROLL_THUMB_EVENT const & __ptr64) __ptr64
+?OnScrollBarThumb@DIALOG_WINDOW@@MEAAHAEBVSCROLL_THUMB_EVENT@@@Z
+; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnSearch(void) __ptr64
+?OnSearch@NT_USER_BROWSER_DIALOG@@IEAAJXZ
+; protected: virtual int __cdecl CLIENT_WINDOW::OnSelect(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnSelect@CLIENT_WINDOW@@MEAAHAEBVCONTROL_EVENT@@@Z
+; protected: long __cdecl NT_USER_BROWSER_DIALOG::OnShowUsers(void) __ptr64
+?OnShowUsers@NT_USER_BROWSER_DIALOG@@IEAAJXZ
+; protected: virtual void __cdecl APP_WINDOW::OnShutdown(void) __ptr64
+?OnShutdown@APP_WINDOW@@MEAAXXZ
+; protected: virtual void __cdecl DIALOG_WINDOW::OnSysColorChange(void) __ptr64
+?OnSysColorChange@DIALOG_WINDOW@@MEAAXXZ
+; protected: virtual int __cdecl APP_WINDOW::OnSystemChange(class SYSCHANGE_EVENT const & __ptr64) __ptr64
+?OnSystemChange@APP_WINDOW@@MEAAHAEBVSYSCHANGE_EVENT@@@Z
+; protected: virtual int __cdecl ARROW_BUTTON::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
+?OnTimer@ARROW_BUTTON@@MEAAHAEBVTIMER_EVENT@@@Z
+; protected: virtual int __cdecl CANCEL_TASK_DIALOG::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
+?OnTimer@CANCEL_TASK_DIALOG@@MEAAHAEBVTIMER_EVENT@@@Z
+; protected: virtual int __cdecl CLIENT_WINDOW::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
+?OnTimer@CLIENT_WINDOW@@MEAAHAEBVTIMER_EVENT@@@Z
+; protected: virtual int __cdecl DIALOG_WINDOW::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
+?OnTimer@DIALOG_WINDOW@@MEAAHAEBVTIMER_EVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
+?OnTimer@DISPATCHER@@MEAAHAEBVTIMER_EVENT@@@Z
+; protected: virtual int __cdecl TIMER_WINDOW::OnTimer(class TIMER_EVENT const & __ptr64) __ptr64
+?OnTimer@TIMER_WINDOW@@MEAAHAEBVTIMER_EVENT@@@Z
+; protected: virtual void __cdecl TIMER_CALLOUT::OnTimerNotification(unsigned int) __ptr64
+?OnTimerNotification@TIMER_CALLOUT@@MEAAXI@Z
+; protected: virtual long __cdecl CONTROL_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@CONTROL_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
+; protected: virtual long __cdecl CONTROL_WINDOW::OnUserAction(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@CONTROL_WINDOW@@MEAAJAEBVCONTROL_EVENT@@@Z
+; protected: virtual long __cdecl LM_OLLB::OnUserAction(class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@LM_OLLB@@MEAAJAEBVCONTROL_EVENT@@@Z
+; protected: virtual long __cdecl MAGIC_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@MAGIC_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
+; protected: virtual long __cdecl ORDER_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@ORDER_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
+; protected: virtual long __cdecl RADIO_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@RADIO_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
+; protected: virtual long __cdecl SET_CONTROL::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@SET_CONTROL@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
+; protected: virtual long __cdecl SLE_STRLB_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@SLE_STRLB_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
+; protected: virtual long __cdecl SPIN_GROUP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@SPIN_GROUP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
+; protected: virtual long __cdecl STATELBGRP::OnUserAction(class CONTROL_WINDOW * __ptr64,class CONTROL_EVENT const & __ptr64) __ptr64
+?OnUserAction@STATELBGRP@@MEAAJPEAVCONTROL_WINDOW@@AEBVCONTROL_EVENT@@@Z
+; protected: virtual int __cdecl BASE_SET_FOCUS_DLG::OnUserMessage(class EVENT const & __ptr64) __ptr64
+?OnUserMessage@BASE_SET_FOCUS_DLG@@MEAAHAEBVEVENT@@@Z
+; protected: virtual int __cdecl DISPATCHER::OnUserMessage(class EVENT const & __ptr64) __ptr64
+?OnUserMessage@DISPATCHER@@MEAAHAEBVEVENT@@@Z
+; protected: virtual int __cdecl NT_USER_BROWSER_DIALOG::OnUserMessage(class EVENT const & __ptr64) __ptr64
+?OnUserMessage@NT_USER_BROWSER_DIALOG@@MEAAHAEBVEVENT@@@Z
+; protected: virtual int __cdecl OWNER_WINDOW::OnUserMessage(class EVENT const & __ptr64) __ptr64
+?OnUserMessage@OWNER_WINDOW@@MEAAHAEBVEVENT@@@Z
+; protected: virtual void __cdecl DIALOG_WINDOW::OnValidationError(unsigned int,long) __ptr64
+?OnValidationError@DIALOG_WINDOW@@MEAAXIJ@Z
+; private: class LISTBOX * __ptr64 __cdecl SET_CONTROL::OtherListbox(class LISTBOX * __ptr64)const  __ptr64
+?OtherListbox@SET_CONTROL@@AEBAPEAVLISTBOX@@PEAV2@@Z
+; public: virtual void __cdecl BROWSER_DOMAIN_LBI::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
+?Paint@BROWSER_DOMAIN_LBI@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
+; public: virtual void __cdecl BROWSER_DOMAIN_LBI_PB::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
+?Paint@BROWSER_DOMAIN_LBI_PB@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
+; public: virtual void __cdecl COUNTED_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@COUNTED_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
+; public: int __cdecl DISPLAY_MAP::Paint(struct HDC__ * __ptr64,int,int)const  __ptr64
+?Paint@DISPLAY_MAP@@QEBAHPEAUHDC__@@HH@Z
+; public: void __cdecl DISPLAY_TABLE::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@DISPLAY_TABLE@@QEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@@Z
+; public: void __cdecl DISPLAY_TABLE::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
+?Paint@DISPLAY_TABLE@@QEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
+; public: virtual void __cdecl DM_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@DM_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
+; public: virtual void __cdecl LBI::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
+?Paint@LBI@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
+; public: virtual void __cdecl METALLIC_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@METALLIC_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
+; public: virtual void __cdecl MULTILINE_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@MULTILINE_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
+; public: virtual void __cdecl OLLB_ENTRY::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
+?Paint@OLLB_ENTRY@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
+; public: virtual void __cdecl OWNER_DRAW_DMID_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@OWNER_DRAW_DMID_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
+; public: virtual void __cdecl OWNER_DRAW_MULTILINE_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@OWNER_DRAW_MULTILINE_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
+; public: virtual void __cdecl OWNER_DRAW_STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@OWNER_DRAW_STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
+; protected: virtual void __cdecl STLBITEM::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
+?Paint@STLBITEM@@MEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
+; public: virtual void __cdecl STR_DTE::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@STR_DTE@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
+; public: virtual void __cdecl STR_DTE_ELLIPSIS::Paint(struct HDC__ * __ptr64,struct tagRECT const * __ptr64)const  __ptr64
+?Paint@STR_DTE_ELLIPSIS@@UEBAXPEAUHDC__@@PEBUtagRECT@@@Z
+; public: virtual void __cdecl USER_BROWSER_LBI::Paint(class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
+?Paint@USER_BROWSER_LBI@@UEBAXPEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
+; protected: long __cdecl ACCOUNT_NAMES_MLE::ParseUserNameList(class STRLIST * __ptr64,unsigned short const * __ptr64) __ptr64
+?ParseUserNameList@ACCOUNT_NAMES_MLE@@IEAAJPEAVSTRLIST@@PEBG@Z
+; private: void __cdecl MSGPOPUP_DIALOG::PlaceButtons(void) __ptr64
+?PlaceButtons@MSGPOPUP_DIALOG@@AEAAXXZ
+; private: long __cdecl BLT_DATE_SPIN_GROUP::PlaceControl(int,class OWNER_WINDOW * __ptr64,class INTL_PROFILE const & __ptr64,class XYPOINT const & __ptr64,class XYDIMENSION const & __ptr64,class XYPOINT const & __ptr64,class XYDIMENSION const & __ptr64,class XYPOINT const & __ptr64,class XYDIMENSION const & __ptr64) __ptr64
+?PlaceControl@BLT_DATE_SPIN_GROUP@@AEAAJHPEAVOWNER_WINDOW@@AEBVINTL_PROFILE@@AEBVXYPOINT@@AEBVXYDIMENSION@@2323@Z
+; protected: virtual long __cdecl DOMAIN_FILL_THREAD::PostMain(void) __ptr64
+?PostMain@DOMAIN_FILL_THREAD@@MEAAJXZ
+; protected: virtual long __cdecl FOCUSDLG_DATA_THREAD::PostMain(void) __ptr64
+?PostMain@FOCUSDLG_DATA_THREAD@@MEAAJXZ
+; protected: virtual long __cdecl WIN32_THREAD::PostMain(void) __ptr64
+?PostMain@WIN32_THREAD@@MEAAJXZ
+; protected: virtual long __cdecl WIN32_THREAD::PreMain(void) __ptr64
+?PreMain@WIN32_THREAD@@MEAAJXZ
+; public: long __cdecl BASE_SET_FOCUS_DLG::Process(int * __ptr64) __ptr64
+?Process@BASE_SET_FOCUS_DLG@@QEAAJPEAH@Z
+; public: long __cdecl BASE_SET_FOCUS_DLG::Process(unsigned int * __ptr64) __ptr64
+?Process@BASE_SET_FOCUS_DLG@@QEAAJPEAI@Z
+; public: long __cdecl DIALOG_WINDOW::Process(int * __ptr64) __ptr64
+?Process@DIALOG_WINDOW@@QEAAJPEAH@Z
+; public: long __cdecl DIALOG_WINDOW::Process(unsigned int * __ptr64) __ptr64
+?Process@DIALOG_WINDOW@@QEAAJPEAI@Z
+; public: long __cdecl EXPANDABLE_DIALOG::Process(int * __ptr64) __ptr64
+?Process@EXPANDABLE_DIALOG@@QEAAJPEAH@Z
+; public: long __cdecl EXPANDABLE_DIALOG::Process(unsigned int * __ptr64) __ptr64
+?Process@EXPANDABLE_DIALOG@@QEAAJPEAI@Z
+; public: virtual long __cdecl GET_OPEN_FILENAME_DLG::Process(int * __ptr64) __ptr64
+?Process@GET_OPEN_FILENAME_DLG@@UEAAJPEAH@Z
+; public: virtual long __cdecl GET_SAVE_FILENAME_DLG::Process(int * __ptr64) __ptr64
+?Process@GET_SAVE_FILENAME_DLG@@UEAAJPEAH@Z
+; public: static long __cdecl WIN32_FONT_PICKER::Process(class OWNER_WINDOW * __ptr64,int * __ptr64,class FONT * __ptr64,struct tagLOGFONTW * __ptr64,struct tagCHOOSEFONTW * __ptr64)
+?Process@WIN32_FONT_PICKER@@SAJPEAVOWNER_WINDOW@@PEAHPEAVFONT@@PEAUtagLOGFONTW@@PEAUtagCHOOSEFONTW@@@Z
+; private: long __cdecl BASE_SET_FOCUS_DLG::ProcessNetPath(class NLS_STR * __ptr64,long * __ptr64) __ptr64
+?ProcessNetPath@BASE_SET_FOCUS_DLG@@AEAAJPEAVNLS_STR@@PEAJ@Z
+; public: long __cdecl WIN32_EVENT::Pulse(void) __ptr64
+?Pulse@WIN32_EVENT@@QEAAJXZ
+; public: long __cdecl USER_BROWSER_LBI::QualifyDisplayName(void) __ptr64
+?QualifyDisplayName@USER_BROWSER_LBI@@QEAAJXZ
+; public: static struct HICON__ * __ptr64 __cdecl CURSOR::Query(void)
+?Query@CURSOR@@SAPEAUHICON__@@XZ
+; public: virtual long __cdecl SPIN_ITEM::QueryAccCharPos(unsigned short) __ptr64
+?QueryAccCharPos@SPIN_ITEM@@UEAAJG@Z
+; public: virtual long __cdecl SPIN_SLE_STR::QueryAccCharPos(unsigned short) __ptr64
+?QueryAccCharPos@SPIN_SLE_STR@@UEAAJG@Z
+; public: long __cdecl SPIN_ITEM::QueryAccKey(class NLS_STR * __ptr64) __ptr64
+?QueryAccKey@SPIN_ITEM@@QEAAJPEAVNLS_STR@@@Z
+; public: unsigned short const * __ptr64 __cdecl OPEN_LBI_BASE::QueryAccessName(void)const  __ptr64
+?QueryAccessName@OPEN_LBI_BASE@@QEBAPEBGXZ
+; public: class SAM_DOMAIN * __ptr64 __cdecl BROWSER_DOMAIN::QueryAccountDomain(void)const  __ptr64
+?QueryAccountDomain@BROWSER_DOMAIN@@QEBAPEAVSAM_DOMAIN@@XZ
+; public: unsigned short const * __ptr64 __cdecl BROWSER_SUBJECT::QueryAccountName(void)const  __ptr64
+?QueryAccountName@BROWSER_SUBJECT@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryAccountName(void)const  __ptr64
+?QueryAccountName@USER_BROWSER_LBI@@QEBAPEBGXZ
+; protected: virtual int __cdecl H_SPLITTER_BAR::QueryActiveArea(void) __ptr64
+?QueryActiveArea@H_SPLITTER_BAR@@MEAAHXZ
+; protected: class PUSH_BUTTON * __ptr64 __cdecl SLE_STRLB_GROUP::QueryAddButton(void)const  __ptr64
+?QueryAddButton@SLE_STRLB_GROUP@@IEBAPEAVPUSH_BUTTON@@XZ
+; public: class ADMIN_AUTHORITY * __ptr64 __cdecl BROWSER_DOMAIN::QueryAdminAuthority(void)const  __ptr64
+?QueryAdminAuthority@BROWSER_DOMAIN@@QEBAPEAVADMIN_AUTHORITY@@XZ
+; public: class ADMIN_AUTHORITY * __ptr64 __cdecl DOMAIN_FILL_THREAD::QueryAdminAuthority(void)const  __ptr64
+?QueryAdminAuthority@DOMAIN_FILL_THREAD@@QEBAPEAVADMIN_AUTHORITY@@XZ
+; public: unsigned short const * __ptr64 __cdecl UI_DOMAIN::QueryAnyDC(void)const  __ptr64
+?QueryAnyDC@UI_DOMAIN@@QEBAPEBGXZ
+; public: int __cdecl OWNER_WINDOW::QueryAttribute(unsigned long) __ptr64
+?QueryAttribute@OWNER_WINDOW@@QEAAHK@Z
+; public: class AUDIT_CHECKBOXES * __ptr64 __cdecl SET_OF_AUDIT_CATEGORIES::QueryAuditCheckBox(int) __ptr64
+?QueryAuditCheckBox@SET_OF_AUDIT_CATEGORIES@@QEAAPEAVAUDIT_CHECKBOXES@@H@Z
+; public: int __cdecl DEVICE_CONTEXT::QueryAveCharWidth(void)const  __ptr64
+?QueryAveCharWidth@DEVICE_CONTEXT@@QEBAHXZ
+; public: virtual unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryBigDecValue(void)const  __ptr64
+?QueryBigDecValue@CHANGEABLE_SPIN_ITEM@@UEBAKXZ
+; public: virtual unsigned long __cdecl SPIN_SLE_VALID_SECOND::QueryBigDecValue(void)const  __ptr64
+?QueryBigDecValue@SPIN_SLE_VALID_SECOND@@UEBAKXZ
+; public: virtual unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryBigIncValue(void)const  __ptr64
+?QueryBigIncValue@CHANGEABLE_SPIN_ITEM@@UEBAKXZ
+; public: virtual unsigned long __cdecl SPIN_SLE_VALID_SECOND::QueryBigIncValue(void)const  __ptr64
+?QueryBigIncValue@SPIN_SLE_VALID_SECOND@@UEBAKXZ
+; public: class BITFIELD * __ptr64 __cdecl STRING_BITSET_PAIR::QueryBitfield(void) __ptr64
+?QueryBitfield@STRING_BITSET_PAIR@@QEAAPEAVBITFIELD@@XZ
+; public: struct HBITMAP__ * __ptr64 __cdecl DISPLAY_MAP::QueryBitmapHandle(void)const  __ptr64
+?QueryBitmapHandle@DISPLAY_MAP@@QEBAPEAUHBITMAP__@@XZ
+; public: long __cdecl MASK_MAP::QueryBits(unsigned int,class BITFIELD * __ptr64,class NLS_STR * __ptr64,int * __ptr64) __ptr64
+?QueryBits@MASK_MAP@@QEAAJIPEAVBITFIELD@@PEAVNLS_STR@@PEAH@Z
+; public: int __cdecl XYRECT::QueryBottom(void)const  __ptr64
+?QueryBottom@XYRECT@@QEBAHXZ
+; public: class BROWSER_DOMAIN * __ptr64 __cdecl BROWSER_DOMAIN_LBI::QueryBrowserDomain(void)const  __ptr64
+?QueryBrowserDomain@BROWSER_DOMAIN_LBI@@QEBAPEAVBROWSER_DOMAIN@@XZ
+; public: class BROWSER_DOMAIN * __ptr64 __cdecl BROWSER_DOMAIN_LBI_PB::QueryBrowserDomain(void)const  __ptr64
+?QueryBrowserDomain@BROWSER_DOMAIN_LBI_PB@@QEBAPEAVBROWSER_DOMAIN@@XZ
+; protected: void * __ptr64 __cdecl NT_MEMORY::QueryBuffer(void)const  __ptr64
+?QueryBuffer@NT_MEMORY@@IEBAPEAXXZ
+; protected: unsigned char const * __ptr64 __cdecl ENUM_OBJ_BASE::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@ENUM_OBJ_BASE@@IEBAPEBEXZ
+; public: struct _DOMAIN_DISPLAY_GROUP const * __ptr64 __cdecl NT_GROUP_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@NT_GROUP_ENUM_OBJ@@QEBAPEBU_DOMAIN_DISPLAY_GROUP@@XZ
+; public: struct _SERVER_INFO_101 const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryBufferPtr(void)const  __ptr64
+?QueryBufferPtr@SERVER1_ENUM_OBJ@@QEBAPEBU_SERVER_INFO_101@@XZ
+; public: class SAM_DOMAIN * __ptr64 __cdecl BROWSER_DOMAIN::QueryBuiltinDomain(void)const  __ptr64
+?QueryBuiltinDomain@BROWSER_DOMAIN@@QEBAPEAVSAM_DOMAIN@@XZ
+; private: class PUSH_BUTTON * __ptr64 __cdecl MSGPOPUP_DIALOG::QueryButton(unsigned int) __ptr64
+?QueryButton@MSGPOPUP_DIALOG@@AEAAPEAVPUSH_BUTTON@@I@Z
+; public: int __cdecl LIST_CONTROL::QueryCaretIndex(void)const  __ptr64
+?QueryCaretIndex@LIST_CONTROL@@QEBAHXZ
+; public: unsigned short __cdecl CHAR_EVENT::QueryChar(void)const  __ptr64
+?QueryChar@CHAR_EVENT@@QEBAGXZ
+; public: int __cdecl STATE2_BUTTON_CONTROL::QueryCheck(void)const  __ptr64
+?QueryCheck@STATE2_BUTTON_CONTROL@@QEBAHXZ
+; public: unsigned int __cdecl CONTROL_ENTRY::QueryCid(void)const  __ptr64
+?QueryCid@CONTROL_ENTRY@@QEBAIXZ
+; public: unsigned int __cdecl CONTROL_EVENT::QueryCid(void)const  __ptr64
+?QueryCid@CONTROL_EVENT@@QEBAIXZ
+; public: unsigned int __cdecl CONTROL_WINDOW::QueryCid(void)const  __ptr64
+?QueryCid@CONTROL_WINDOW@@QEBAIXZ
+; public: void __cdecl WINDOW::QueryClientRect(struct tagRECT * __ptr64)const  __ptr64
+?QueryClientRect@WINDOW@@QEBAXPEAUtagRECT@@@Z
+; public: void __cdecl WINDOW::QueryClientRect(class XYRECT * __ptr64)const  __ptr64
+?QueryClientRect@WINDOW@@QEBAXPEAVXYRECT@@@Z
+; public: unsigned int __cdecl CONTROL_EVENT::QueryCode(void)const  __ptr64
+?QueryCode@CONTROL_EVENT@@QEBAIXZ
+; public: unsigned int const * __ptr64 __cdecl STATELB::QueryColData(void) __ptr64
+?QueryColData@STATELB@@QEAAPEBIXZ
+; public: unsigned int const * __ptr64 __cdecl BROWSER_DOMAIN_CB::QueryColWidthArray(void)const  __ptr64
+?QueryColWidthArray@BROWSER_DOMAIN_CB@@QEBAPEBIXZ
+; public: unsigned int const * __ptr64 __cdecl USER_BROWSER_LB::QueryColWidthArray(void)const  __ptr64
+?QueryColWidthArray@USER_BROWSER_LB@@QEBAPEBIXZ
+; protected: static unsigned short const * __ptr64 __cdecl CONTROL_WINDOW::QueryComboboxClassName(void)
+?QueryComboboxClassName@CONTROL_WINDOW@@KAPEBGXZ
+; public: enum SCROLL_EVENT::SCROLL_COMMAND  __cdecl SCROLL_EVENT::QueryCommand(void)const  __ptr64
+?QueryCommand@SCROLL_EVENT@@QEBA?AW4SCROLL_COMMAND@1@XZ
+; public: unsigned short const * __ptr64 __cdecl BROWSER_SUBJECT::QueryComment(void)const  __ptr64
+?QueryComment@BROWSER_SUBJECT@@QEBAPEBGXZ
+; public: long __cdecl NT_GROUP_ENUM_OBJ::QueryComment(class NLS_STR * __ptr64)const  __ptr64
+?QueryComment@NT_GROUP_ENUM_OBJ@@QEBAJPEAVNLS_STR@@@Z
+; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryComment(void)const  __ptr64
+?QueryComment@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryComment(void)const  __ptr64
+?QueryComment@USER_BROWSER_LBI@@QEBAPEBGXZ
+; protected: virtual int (__cdecl*__cdecl USER_BROWSER_LBI_CACHE::QueryCompareMethod(void)const  __ptr64)(void const * __ptr64,void const * __ptr64)
+?QueryCompareMethod@USER_BROWSER_LBI_CACHE@@MEBAP6AHPEBX0@ZXZ
+; protected: virtual int (__cdecl*__cdecl USER_LBI_CACHE::QueryCompareMethod(void)const  __ptr64)(void const * __ptr64,void const * __ptr64)
+?QueryCompareMethod@USER_LBI_CACHE@@MEBAP6AHPEBX0@ZXZ
+; public: class CONTROL_VALUE * __ptr64 __cdecl CONTROLVAL_CID_PAIR::QueryContVal(void)const  __ptr64
+?QueryContVal@CONTROLVAL_CID_PAIR@@QEBAPEAVCONTROL_VALUE@@XZ
+; public: void __cdecl SPIN_SLE_NUM::QueryContent(unsigned long * __ptr64)const  __ptr64
+?QueryContent@SPIN_SLE_NUM@@QEBAXPEAK@Z
+; public: void __cdecl SPIN_SLE_NUM::QueryContent(class NLS_STR * __ptr64)const  __ptr64
+?QueryContent@SPIN_SLE_NUM@@QEBAXPEAVNLS_STR@@@Z
+; public: long __cdecl SPIN_SLE_STR::QueryContent(class NLS_STR * __ptr64)const  __ptr64
+?QueryContent@SPIN_SLE_STR@@QEBAJPEAVNLS_STR@@@Z
+; public: class CONTROL_WINDOW * __ptr64 __cdecl CUSTOM_CONTROL::QueryControlWin(void)const  __ptr64
+?QueryControlWin@CUSTOM_CONTROL@@QEBAPEAVCONTROL_WINDOW@@XZ
+; public: unsigned int __cdecl ARRAY_CONTROLVAL_CID_PAIR::QueryCount(void)const  __ptr64
+?QueryCount@ARRAY_CONTROLVAL_CID_PAIR@@QEBAIXZ
+; public: unsigned int __cdecl BITFIELD::QueryCount(void)const  __ptr64
+?QueryCount@BITFIELD@@QEBAIXZ
+; public: unsigned int __cdecl CONTROL_TABLE::QueryCount(void)const  __ptr64
+?QueryCount@CONTROL_TABLE@@QEBAIXZ
+; public: int __cdecl COUNTED_STR_DTE::QueryCount(void)const  __ptr64
+?QueryCount@COUNTED_STR_DTE@@QEBAHXZ
+; public: int __cdecl HEAP_BASE::QueryCount(void)const  __ptr64
+?QueryCount@HEAP_BASE@@QEBAHXZ
+; public: int __cdecl LIST_CONTROL::QueryCount(void)const  __ptr64
+?QueryCount@LIST_CONTROL@@QEBAHXZ
+; public: unsigned int __cdecl MASK_MAP::QueryCount(void) __ptr64
+?QueryCount@MASK_MAP@@QEAAIXZ
+; public: unsigned long __cdecl NT_MEMORY::QueryCount(void)const  __ptr64
+?QueryCount@NT_MEMORY@@QEBAKXZ
+; public: int __cdecl RADIO_GROUP::QueryCount(void) __ptr64
+?QueryCount@RADIO_GROUP@@QEAAHXZ
+; public: int __cdecl SET_OF_AUDIT_CATEGORIES::QueryCount(void) __ptr64
+?QueryCount@SET_OF_AUDIT_CATEGORIES@@QEAAHXZ
+; public: unsigned long __cdecl USER_BROWSER_LBI_CACHE::QueryCount(void)const  __ptr64
+?QueryCount@USER_BROWSER_LBI_CACHE@@QEBAKXZ
+; public: int __cdecl USER_LBI_CACHE::QueryCount(void)const  __ptr64
+?QueryCount@USER_LBI_CACHE@@QEBAHXZ
+; protected: virtual long __cdecl USRLB_NT_GROUP_ENUM::QueryCountPreferences(unsigned long * __ptr64,unsigned long * __ptr64,unsigned int,unsigned long,unsigned long,unsigned long) __ptr64
+?QueryCountPreferences@USRLB_NT_GROUP_ENUM@@MEAAJPEAK0IKKK@Z
+; public: class CONTROL_WINDOW * __ptr64 __cdecl CONTROL_ENTRY::QueryCtrlPtr(void)const  __ptr64
+?QueryCtrlPtr@CONTROL_ENTRY@@QEBAPEAVCONTROL_WINDOW@@XZ
+; public: class USER_BROWSER_LBI_CACHE * __ptr64 __cdecl USER_BROWSER_LB::QueryCurrentCache(void)const  __ptr64
+?QueryCurrentCache@USER_BROWSER_LB@@QEBAPEAVUSER_BROWSER_LBI_CACHE@@XZ
+; public: class BROWSER_DOMAIN * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QueryCurrentDomainFocus(void)const  __ptr64
+?QueryCurrentDomainFocus@NT_USER_BROWSER_DIALOG@@QEBAPEAVBROWSER_DOMAIN@@XZ
+; protected: class SPIN_ITEM * __ptr64 __cdecl SPIN_GROUP::QueryCurrentField(void)const  __ptr64
+?QueryCurrentField@SPIN_GROUP@@IEBAPEAVSPIN_ITEM@@XZ
+; public: int __cdecl LIST_CONTROL::QueryCurrentItem(void)const  __ptr64
+?QueryCurrentItem@LIST_CONTROL@@QEBAHXZ
+; public: unsigned short const * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QueryDCofPrimaryDomain(void) __ptr64
+?QueryDCofPrimaryDomain@NT_USER_BROWSER_DIALOG@@QEAAPEBGXZ
+; public: int __cdecl BLT_DATE_SPIN_GROUP::QueryDay(void)const  __ptr64
+?QueryDay@BLT_DATE_SPIN_GROUP@@QEBAHXZ
+; public: int __cdecl WIN_TIME::QueryDay(void)const  __ptr64
+?QueryDay@WIN_TIME@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::QueryDayPos(void)const  __ptr64
+?QueryDayPos@INTL_PROFILE@@QEBAHXZ
+; public: unsigned long __cdecl UI_EXT::QueryDelta(void)const  __ptr64
+?QueryDelta@UI_EXT@@QEBAKXZ
+; public: unsigned long __cdecl UI_EXT_MGR::QueryDeltaDelta(void)const  __ptr64
+?QueryDeltaDelta@UI_EXT_MGR@@QEBAKXZ
+; private: unsigned int __cdecl HIER_LBI::QueryDescendants(void) __ptr64
+?QueryDescendants@HIER_LBI@@AEAAIXZ
+; public: int __cdecl H_SPLITTER_BAR::QueryDesiredHeight(void) __ptr64
+?QueryDesiredHeight@H_SPLITTER_BAR@@QEAAHXZ
+; public: long __cdecl DEVICE_COMBO::QueryDevice(class NLS_STR * __ptr64)const  __ptr64
+?QueryDevice@DEVICE_COMBO@@QEBAJPEAVNLS_STR@@@Z
+; public: struct HBITMAP__ * __ptr64 __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::QueryDisable(void)const  __ptr64
+?QueryDisable@GRAPHICAL_BUTTON_WITH_DISABLE@@QEBAPEAUHBITMAP__@@XZ
+; public: class DISPLAY_MAP * __ptr64 __cdecl BROWSER_DOMAIN_CB::QueryDisplayMap(class BROWSER_DOMAIN_LBI const * __ptr64) __ptr64
+?QueryDisplayMap@BROWSER_DOMAIN_CB@@QEAAPEAVDISPLAY_MAP@@PEBVBROWSER_DOMAIN_LBI@@@Z
+; public: class DISPLAY_MAP * __ptr64 __cdecl DM_DTE::QueryDisplayMap(void)const  __ptr64
+?QueryDisplayMap@DM_DTE@@QEBAPEAVDISPLAY_MAP@@XZ
+; public: class DISPLAY_MAP * __ptr64 __cdecl SUBJECT_BITMAP_BLOCK::QueryDisplayMap(int,int,int) __ptr64
+?QueryDisplayMap@SUBJECT_BITMAP_BLOCK@@QEAAPEAVDISPLAY_MAP@@HHH@Z
+; public: class DISPLAY_MAP * __ptr64 __cdecl USER_BROWSER_LB::QueryDisplayMap(class USER_BROWSER_LBI const * __ptr64) __ptr64
+?QueryDisplayMap@USER_BROWSER_LB@@QEAAPEAVDISPLAY_MAP@@PEBVUSER_BROWSER_LBI@@@Z
+; public: unsigned short const * __ptr64 __cdecl BROWSER_DOMAIN::QueryDisplayName(void)const  __ptr64
+?QueryDisplayName@BROWSER_DOMAIN@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl BROWSER_DOMAIN_LBI::QueryDisplayName(void)const  __ptr64
+?QueryDisplayName@BROWSER_DOMAIN_LBI@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryDisplayName(void)const  __ptr64
+?QueryDisplayName@USER_BROWSER_LBI@@QEBAPEBGXZ
+; public: unsigned int __cdecl DM_DTE::QueryDisplayWidth(void)const  __ptr64
+?QueryDisplayWidth@DM_DTE@@QEBAIXZ
+; public: unsigned short const * __ptr64 __cdecl UI_EXT::QueryDllName(void)const  __ptr64
+?QueryDllName@UI_EXT@@QEBAPEBGXZ
+; public: class DM_DTE * __ptr64 __cdecl OUTLINE_LISTBOX::QueryDmDte(enum OUTLINE_LB_LEVEL,int)const  __ptr64
+?QueryDmDte@OUTLINE_LISTBOX@@QEBAPEAVDM_DTE@@W4OUTLINE_LB_LEVEL@@H@Z
+; public: class DMID_DTE * __ptr64 __cdecl SUBJECT_BITMAP_BLOCK::QueryDmDte(int,int,int) __ptr64
+?QueryDmDte@SUBJECT_BITMAP_BLOCK@@QEAAPEAVDMID_DTE@@HHH@Z
+; public: unsigned short const * __ptr64 __cdecl OLLB_ENTRY::QueryDomain(void)const  __ptr64
+?QueryDomain@OLLB_ENTRY@@QEBAPEBGXZ
+; public: unsigned int __cdecl BROWSE_DOMAIN_ENUM::QueryDomainCount(void) __ptr64
+?QueryDomainCount@BROWSE_DOMAIN_ENUM@@QEAAIXZ
+; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryDomainIndex(unsigned long)const  __ptr64
+?QueryDomainIndex@LSA_TRANSLATED_NAME_MEM@@QEBAJK@Z
+; public: long __cdecl LSA_TRANSLATED_SID_MEM::QueryDomainIndex(unsigned long)const  __ptr64
+?QueryDomainIndex@LSA_TRANSLATED_SID_MEM@@QEBAJK@Z
+; public: unsigned short const * __ptr64 __cdecl BROWSER_DOMAIN::QueryDomainName(void)const  __ptr64
+?QueryDomainName@BROWSER_DOMAIN@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl BROWSER_SUBJECT::QueryDomainName(void)const  __ptr64
+?QueryDomainName@BROWSER_SUBJECT@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl BROWSE_DOMAIN_INFO::QueryDomainName(void)const  __ptr64
+?QueryDomainName@BROWSE_DOMAIN_INFO@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryDomainName(void)const  __ptr64
+?QueryDomainName@USER_BROWSER_LBI@@QEBAPEBGXZ
+; public: class OS_SID const * __ptr64 __cdecl BROWSER_DOMAIN::QueryDomainSid(void)const  __ptr64
+?QueryDomainSid@BROWSER_DOMAIN@@QEBAPEBVOS_SID@@XZ
+; public: class OS_SID const * __ptr64 __cdecl BROWSER_SUBJECT::QueryDomainSid(void)const  __ptr64
+?QueryDomainSid@BROWSER_SUBJECT@@QEBAPEBVOS_SID@@XZ
+; protected: static unsigned short const * __ptr64 __cdecl CONTROL_WINDOW::QueryEditClassName(void)
+?QueryEditClassName@CONTROL_WINDOW@@KAPEBGXZ
+; public: struct _ULC_ENTRY_BASE * __ptr64 __cdecl USER_BROWSER_LBI_CACHE::QueryEntryPtr(int) __ptr64
+?QueryEntryPtr@USER_BROWSER_LBI_CACHE@@QEAAPEAU_ULC_ENTRY_BASE@@H@Z
+; public: long __cdecl ASSOCHWNDPDLG::QueryError(void)const  __ptr64
+?QueryError@ASSOCHWNDPDLG@@QEBAJXZ
+; public: long __cdecl ASSOCHWNDPWND::QueryError(void)const  __ptr64
+?QueryError@ASSOCHWNDPWND@@QEBAJXZ
+; public: long __cdecl BASE::QueryError(void)const  __ptr64
+?QueryError@BASE@@QEBAJXZ
+; public: long __cdecl CONTROL_WINDOW::QueryError(void)const  __ptr64
+?QueryError@CONTROL_WINDOW@@QEBAJXZ
+; public: long __cdecl FORWARDING_BASE::QueryError(void)const  __ptr64
+?QueryError@FORWARDING_BASE@@QEBAJXZ
+; public: long __cdecl SLT_ELLIPSIS::QueryError(void)const  __ptr64
+?QueryError@SLT_ELLIPSIS@@QEBAJXZ
+; protected: long __cdecl GET_FNAME_BASE_DLG::QueryErrorCode(void)const  __ptr64
+?QueryErrorCode@GET_FNAME_BASE_DLG@@IEBAJXZ
+; public: class USER_BROWSER_LBI * __ptr64 __cdecl USER_BROWSER_LB::QueryErrorLBI(void)const  __ptr64
+?QueryErrorLBI@USER_BROWSER_LB@@QEBAPEAVUSER_BROWSER_LBI@@XZ
+; public: long __cdecl BROWSER_DOMAIN::QueryErrorLoadingAuthority(void)const  __ptr64
+?QueryErrorLoadingAuthority@BROWSER_DOMAIN@@QEBAJXZ
+; public: long __cdecl DOMAIN_FILL_THREAD::QueryErrorLoadingAuthority(void)const  __ptr64
+?QueryErrorLoadingAuthority@DOMAIN_FILL_THREAD@@QEBAJXZ
+; protected: virtual unsigned int __cdecl ARROW_BUTTON::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
+?QueryEventEffects@ARROW_BUTTON@@MEAAIAEBVCONTROL_EVENT@@@Z
+; protected: virtual unsigned int __cdecl BUTTON_CONTROL::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
+?QueryEventEffects@BUTTON_CONTROL@@MEAAIAEBVCONTROL_EVENT@@@Z
+; protected: virtual unsigned int __cdecl COMBOBOX::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
+?QueryEventEffects@COMBOBOX@@MEAAIAEBVCONTROL_EVENT@@@Z
+; public: virtual unsigned int __cdecl CONTROL_VALUE::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
+?QueryEventEffects@CONTROL_VALUE@@UEAAIAEBVCONTROL_EVENT@@@Z
+; protected: virtual unsigned int __cdecl EDIT_CONTROL::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
+?QueryEventEffects@EDIT_CONTROL@@MEAAIAEBVCONTROL_EVENT@@@Z
+; protected: virtual unsigned int __cdecl LIST_CONTROL::QueryEventEffects(class CONTROL_EVENT const & __ptr64) __ptr64
+?QueryEventEffects@LIST_CONTROL@@MEAAIAEBVCONTROL_EVENT@@@Z
+; public: int __cdecl HIER_LBI::QueryExpanded(void)const  __ptr64
+?QueryExpanded@HIER_LBI@@QEBAHXZ
+; public: class SLIST_OF_UI_EXT * __ptr64 __cdecl UI_EXT_MGR::QueryExtensions(void) __ptr64
+?QueryExtensions@UI_EXT_MGR@@QEAAPEAVSLIST_OF_UI_EXT@@XZ
+; public: unsigned int __cdecl SET_OF_AUDIT_CATEGORIES::QueryFailedBaseCID(void) __ptr64
+?QueryFailedBaseCID@SET_OF_AUDIT_CATEGORIES@@QEAAIXZ
+; public: unsigned long __cdecl OPEN_LBI_BASE::QueryFileID(void)const  __ptr64
+?QueryFileID@OPEN_LBI_BASE@@QEBAKXZ
+; public: long __cdecl GET_FNAME_BASE_DLG::QueryFileTitle(class NLS_STR * __ptr64)const  __ptr64
+?QueryFileTitle@GET_FNAME_BASE_DLG@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl GET_FNAME_BASE_DLG::QueryFilename(class NLS_STR * __ptr64)const  __ptr64
+?QueryFilename@GET_FNAME_BASE_DLG@@QEBAJPEAVNLS_STR@@@Z
+; protected: int __cdecl HEAP_BASE::QueryFirstLeaf(void)const  __ptr64
+?QueryFirstLeaf@HEAP_BASE@@IEBAHXZ
+; public: unsigned long __cdecl ACCOUNT_NAMES_MLE::QueryFlags(void)const  __ptr64
+?QueryFlags@ACCOUNT_NAMES_MLE@@QEBAKXZ
+; public: unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryFlags(void)const  __ptr64
+?QueryFlags@NT_USER_BROWSER_DIALOG@@QEBAKXZ
+; public: struct HFONT__ * __ptr64 __cdecl CONTROL_WINDOW::QueryFont(void)const  __ptr64
+?QueryFont@CONTROL_WINDOW@@QEBAPEAUHFONT__@@XZ
+; public: int __cdecl DEVICE_CONTEXT::QueryFontHeight(void)const  __ptr64
+?QueryFontHeight@DEVICE_CONTEXT@@QEBAHXZ
+; public: unsigned short const * __ptr64 __cdecl BROWSER_SUBJECT::QueryFullName(void)const  __ptr64
+?QueryFullName@BROWSER_SUBJECT@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl USER_BROWSER_LBI::QueryFullName(void)const  __ptr64
+?QueryFullName@USER_BROWSER_LBI@@QEBAPEBGXZ
+; public: class CONTROL_GROUP * __ptr64 __cdecl CONTROL_VALUE::QueryGroup(void)const  __ptr64
+?QueryGroup@CONTROL_VALUE@@QEBAPEAVCONTROL_GROUP@@XZ
+; public: long __cdecl NT_GROUP_ENUM_OBJ::QueryGroup(class NLS_STR * __ptr64)const  __ptr64
+?QueryGroup@NT_GROUP_ENUM_OBJ@@QEBAJPEAVNLS_STR@@@Z
+; public: class CONTROL_GROUP * __ptr64 __cdecl SPIN_ITEM::QueryGroup(void) __ptr64
+?QueryGroup@SPIN_ITEM@@QEAAPEAVCONTROL_GROUP@@XZ
+; public: struct HACCEL__ * __ptr64 __cdecl ACCELTABLE::QueryHandle(void)const  __ptr64
+?QueryHandle@ACCELTABLE@@QEBAPEAUHACCEL__@@XZ
+; public: unsigned short __cdecl ATOM_BASE::QueryHandle(void)const  __ptr64
+?QueryHandle@ATOM_BASE@@QEBAGXZ
+; public: struct HBITMAP__ * __ptr64 __cdecl BIT_MAP::QueryHandle(void)const  __ptr64
+?QueryHandle@BIT_MAP@@QEBAPEAUHBITMAP__@@XZ
+; public: struct HFONT__ * __ptr64 __cdecl FONT::QueryHandle(void)const  __ptr64
+?QueryHandle@FONT@@QEBAPEAUHFONT__@@XZ
+; public: struct HMENU__ * __ptr64 __cdecl MENU_BASE::QueryHandle(void)const  __ptr64
+?QueryHandle@MENU_BASE@@QEBAPEAUHMENU__@@XZ
+; public: void * __ptr64 __cdecl SAM_OBJECT::QueryHandle(void)const  __ptr64
+?QueryHandle@SAM_OBJECT@@QEBAPEAXXZ
+; public: struct HBRUSH__ * __ptr64 __cdecl SOLID_BRUSH::QueryHandle(void)const  __ptr64
+?QueryHandle@SOLID_BRUSH@@QEBAPEAUHBRUSH__@@XZ
+; public: void * __ptr64 __cdecl WIN32_HANDLE::QueryHandle(void)const  __ptr64
+?QueryHandle@WIN32_HANDLE@@QEBAPEAXXZ
+; public: struct HDC__ * __ptr64 __cdecl DEVICE_CONTEXT::QueryHdc(void)const  __ptr64
+?QueryHdc@DEVICE_CONTEXT@@QEBAPEAUHDC__@@XZ
+; public: unsigned int __cdecl BIT_MAP::QueryHeight(void)const  __ptr64
+?QueryHeight@BIT_MAP@@QEBAIXZ
+; public: unsigned int __cdecl DISPLAY_MAP::QueryHeight(void)const  __ptr64
+?QueryHeight@DISPLAY_MAP@@QEBAIXZ
+; public: int __cdecl LB_COLUMN_HEADER::QueryHeight(void) __ptr64
+?QueryHeight@LB_COLUMN_HEADER@@QEAAHXZ
+; public: unsigned int __cdecl SIZE_EVENT::QueryHeight(void)const  __ptr64
+?QueryHeight@SIZE_EVENT@@QEBAIXZ
+; public: unsigned int __cdecl XYDIMENSION::QueryHeight(void)const  __ptr64
+?QueryHeight@XYDIMENSION@@QEBAIXZ
+; protected: virtual unsigned long __cdecl BASE_PASSWORD_DIALOG::QueryHelpContext(void) __ptr64
+?QueryHelpContext@BASE_PASSWORD_DIALOG@@MEAAKXZ
+; protected: virtual unsigned long __cdecl BASE_SET_FOCUS_DLG::QueryHelpContext(void) __ptr64
+?QueryHelpContext@BASE_SET_FOCUS_DLG@@MEAAKXZ
+; protected: virtual unsigned long __cdecl DIALOG_WINDOW::QueryHelpContext(void) __ptr64
+?QueryHelpContext@DIALOG_WINDOW@@MEAAKXZ
+; public: unsigned long __cdecl GET_FNAME_BASE_DLG::QueryHelpContext(void) __ptr64
+?QueryHelpContext@GET_FNAME_BASE_DLG@@QEAAKXZ
+; protected: virtual unsigned long __cdecl MSGPOPUP_DIALOG::QueryHelpContext(void) __ptr64
+?QueryHelpContext@MSGPOPUP_DIALOG@@MEAAKXZ
+; protected: virtual unsigned long __cdecl NT_FIND_ACCOUNT_DIALOG::QueryHelpContext(void) __ptr64
+?QueryHelpContext@NT_FIND_ACCOUNT_DIALOG@@MEAAKXZ
+; protected: virtual unsigned long __cdecl NT_GLOBALGROUP_BROWSER_DIALOG::QueryHelpContext(void) __ptr64
+?QueryHelpContext@NT_GLOBALGROUP_BROWSER_DIALOG@@MEAAKXZ
+; protected: virtual unsigned long __cdecl NT_LOCALGROUP_BROWSER_DIALOG::QueryHelpContext(void) __ptr64
+?QueryHelpContext@NT_LOCALGROUP_BROWSER_DIALOG@@MEAAKXZ
+; public: virtual unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryHelpContext(void) __ptr64
+?QueryHelpContext@NT_USER_BROWSER_DIALOG@@UEAAKXZ
+; protected: virtual unsigned long __cdecl OPEN_DIALOG_BASE::QueryHelpContext(void) __ptr64
+?QueryHelpContext@OPEN_DIALOG_BASE@@MEAAKXZ
+; protected: virtual unsigned long __cdecl PROMPT_FOR_ANY_DC_DLG::QueryHelpContext(void) __ptr64
+?QueryHelpContext@PROMPT_FOR_ANY_DC_DLG@@MEAAKXZ
+; public: unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryHelpContextGlobalMembership(void) __ptr64
+?QueryHelpContextGlobalMembership@NT_USER_BROWSER_DIALOG@@QEAAKXZ
+; public: unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryHelpContextLocalMembership(void) __ptr64
+?QueryHelpContextLocalMembership@NT_USER_BROWSER_DIALOG@@QEAAKXZ
+; public: unsigned long __cdecl NT_USER_BROWSER_DIALOG::QueryHelpContextSearch(void) __ptr64
+?QueryHelpContextSearch@NT_USER_BROWSER_DIALOG@@QEAAKXZ
+; public: unsigned short const * __ptr64 __cdecl ASSOCHCFILE::QueryHelpFile(void)const  __ptr64
+?QueryHelpFile@ASSOCHCFILE@@QEBAPEBGXZ
+; protected: virtual unsigned short const * __ptr64 __cdecl BASE_SET_FOCUS_DLG::QueryHelpFile(unsigned long) __ptr64
+?QueryHelpFile@BASE_SET_FOCUS_DLG@@MEAAPEBGK@Z
+; protected: virtual unsigned short const * __ptr64 __cdecl DIALOG_WINDOW::QueryHelpFile(unsigned long) __ptr64
+?QueryHelpFile@DIALOG_WINDOW@@MEAAPEBGK@Z
+; public: class NLS_STR * __ptr64 __cdecl GET_FNAME_BASE_DLG::QueryHelpFile(void) __ptr64
+?QueryHelpFile@GET_FNAME_BASE_DLG@@QEAAPEAVNLS_STR@@XZ
+; protected: virtual unsigned short const * __ptr64 __cdecl NT_FIND_ACCOUNT_DIALOG::QueryHelpFile(unsigned long) __ptr64
+?QueryHelpFile@NT_FIND_ACCOUNT_DIALOG@@MEAAPEBGK@Z
+; protected: virtual unsigned short const * __ptr64 __cdecl NT_GROUP_BROWSER_DIALOG::QueryHelpFile(unsigned long) __ptr64
+?QueryHelpFile@NT_GROUP_BROWSER_DIALOG@@MEAAPEBGK@Z
+; public: virtual unsigned short const * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QueryHelpFile(unsigned long) __ptr64
+?QueryHelpFile@NT_USER_BROWSER_DIALOG@@UEAAPEBGK@Z
+; public: unsigned int __cdecl QMOUSEACT_EVENT::QueryHitTest(void)const  __ptr64
+?QueryHitTest@QMOUSEACT_EVENT@@QEBAIXZ
+; public: unsigned int __cdecl LISTBOX::QueryHorizontalExtent(void)const  __ptr64
+?QueryHorizontalExtent@LISTBOX@@QEBAIXZ
+; public: int __cdecl BLT_TIME_SPIN_GROUP::QueryHour(void)const  __ptr64
+?QueryHour@BLT_TIME_SPIN_GROUP@@QEBAHXZ
+; public: int __cdecl WIN_TIME::QueryHour(void)const  __ptr64
+?QueryHour@WIN_TIME@@QEBAHXZ
+; public: long __cdecl LOGON_HOURS_CONTROL::QueryHours(class LOGON_HOURS_SETTING * __ptr64)const  __ptr64
+?QueryHours@LOGON_HOURS_CONTROL@@QEBAJPEAVLOGON_HOURS_SETTING@@@Z
+; public: struct HWND__ * __ptr64 __cdecl CONTROL_EVENT::QueryHwnd(void)const  __ptr64
+?QueryHwnd@CONTROL_EVENT@@QEBAPEAUHWND__@@XZ
+; public: struct HWND__ * __ptr64 __cdecl DISPATCHER::QueryHwnd(void)const  __ptr64
+?QueryHwnd@DISPATCHER@@QEBAPEAUHWND__@@XZ
+; protected: struct HWND__ * __ptr64 __cdecl DISPLAY_CONTEXT::QueryHwnd(void) __ptr64
+?QueryHwnd@DISPLAY_CONTEXT@@IEAAPEAUHWND__@@XZ
+; public: struct HWND__ * __ptr64 __cdecl DLGLOAD::QueryHwnd(void)const  __ptr64
+?QueryHwnd@DLGLOAD@@QEBAPEAUHWND__@@XZ
+; public: struct HWND__ * __ptr64 __cdecl OWNINGWND::QueryHwnd(void)const  __ptr64
+?QueryHwnd@OWNINGWND@@QEBAPEAUHWND__@@XZ
+; public: struct HWND__ * __ptr64 __cdecl PWND2HWND::QueryHwnd(void)const  __ptr64
+?QueryHwnd@PWND2HWND@@QEBAPEAUHWND__@@XZ
+; public: struct HWND__ * __ptr64 __cdecl WINDOW::QueryHwnd(void)const  __ptr64
+?QueryHwnd@WINDOW@@QEBAPEAUHWND__@@XZ
+; public: unsigned int __cdecl DISPLAY_MAP::QueryID(void)const  __ptr64
+?QueryID@DISPLAY_MAP@@QEBAIXZ
+; public: int __cdecl STRING_BITSET_PAIR::QueryID(void) __ptr64
+?QueryID@STRING_BITSET_PAIR@@QEAAHXZ
+; public: unsigned int __cdecl TIMER_BASE::QueryID(void)const  __ptr64
+?QueryID@TIMER_BASE@@QEBAIXZ
+; public: struct HICON__ * __ptr64 __cdecl APP_WINDOW::QueryIcon(void)const  __ptr64
+?QueryIcon@APP_WINDOW@@QEBAPEAUHICON__@@XZ
+; private: unsigned short const * __ptr64 __cdecl MSGPOPUP_DIALOG::QueryIcon(enum MSG_SEVERITY) __ptr64
+?QueryIcon@MSGPOPUP_DIALOG@@AEAAPEBGW4MSG_SEVERITY@@@Z
+; public: int __cdecl HIER_LBI::QueryIndentLevel(void) __ptr64
+?QueryIndentLevel@HIER_LBI@@QEAAHXZ
+; public: class SLE * __ptr64 __cdecl SLE_STRLB_GROUP::QueryInputSLE(void)const  __ptr64
+?QueryInputSLE@SLE_STRLB_GROUP@@QEBAPEAVSLE@@XZ
+; public: class XYRECT const & __ptr64 __cdecl PAINT_DISPLAY_CONTEXT::QueryInvalidRect(void)const  __ptr64
+?QueryInvalidRect@PAINT_DISPLAY_CONTEXT@@QEBAAEBVXYRECT@@XZ
+; public: class LBI * __ptr64 __cdecl BLT_LISTBOX::QueryItem(int)const  __ptr64
+?QueryItem@BLT_LISTBOX@@QEBAPEAVLBI@@H@Z
+; public: class LBI * __ptr64 __cdecl BLT_LISTBOX::QueryItem(void)const  __ptr64
+?QueryItem@BLT_LISTBOX@@QEBAPEAVLBI@@XZ
+; public: class CONTROL_ENTRY * __ptr64 __cdecl CONTROL_TABLE::QueryItem(unsigned int)const  __ptr64
+?QueryItem@CONTROL_TABLE@@QEBAPEAVCONTROL_ENTRY@@I@Z
+; public: class OPEN_LBI_BASE * __ptr64 __cdecl OPEN_LBOX_BASE::QueryItem(int)const  __ptr64
+?QueryItem@OPEN_LBOX_BASE@@QEBAPEAVOPEN_LBI_BASE@@H@Z
+; public: class OPEN_LBI_BASE * __ptr64 __cdecl OPEN_LBOX_BASE::QueryItem(void)const  __ptr64
+?QueryItem@OPEN_LBOX_BASE@@QEBAPEAVOPEN_LBI_BASE@@XZ
+; public: class OLLB_ENTRY * __ptr64 __cdecl OUTLINE_LISTBOX::QueryItem(int)const  __ptr64
+?QueryItem@OUTLINE_LISTBOX@@QEBAPEAVOLLB_ENTRY@@H@Z
+; public: class OLLB_ENTRY * __ptr64 __cdecl OUTLINE_LISTBOX::QueryItem(void)const  __ptr64
+?QueryItem@OUTLINE_LISTBOX@@QEBAPEAVOLLB_ENTRY@@XZ
+; public: class STLBITEM * __ptr64 __cdecl STATELB::QueryItem(void)const  __ptr64
+?QueryItem@STATELB@@QEBAPEAVSTLBITEM@@XZ
+; public: class USER_BROWSER_LBI * __ptr64 __cdecl USER_BROWSER_LB::QueryItem(int)const  __ptr64
+?QueryItem@USER_BROWSER_LB@@QEBAPEAVUSER_BROWSER_LBI@@H@Z
+; public: class USER_BROWSER_LBI * __ptr64 __cdecl USER_BROWSER_LB::QueryItem(void)const  __ptr64
+?QueryItem@USER_BROWSER_LB@@QEBAPEAVUSER_BROWSER_LBI@@XZ
+; public: virtual class LBI * __ptr64 __cdecl USER_LBI_CACHE::QueryItem(int) __ptr64
+?QueryItem@USER_LBI_CACHE@@UEAAPEAVLBI@@H@Z
+; public: int __cdecl MENU_BASE::QueryItemCount(void)const  __ptr64
+?QueryItemCount@MENU_BASE@@QEBAHXZ
+; public: unsigned int __cdecl LIST_CONTROL::QueryItemHeight(unsigned int)const  __ptr64
+?QueryItemHeight@LIST_CONTROL@@QEBAII@Z
+; public: unsigned int __cdecl MENU_BASE::QueryItemID(int)const  __ptr64
+?QueryItemID@MENU_BASE@@QEBAIH@Z
+; public: int __cdecl STRING_LIST_CONTROL::QueryItemLength(int)const  __ptr64
+?QueryItemLength@STRING_LIST_CONTROL@@QEBAHH@Z
+; public: int __cdecl STRING_LIST_CONTROL::QueryItemSize(int)const  __ptr64
+?QueryItemSize@STRING_LIST_CONTROL@@QEBAHH@Z
+; public: unsigned int __cdecl MENU_BASE::QueryItemState(unsigned int,unsigned int)const  __ptr64
+?QueryItemState@MENU_BASE@@QEBAIII@Z
+; public: long __cdecl MENU_BASE::QueryItemText(unsigned short * __ptr64,unsigned int,unsigned int,unsigned int)const  __ptr64
+?QueryItemText@MENU_BASE@@QEBAJPEAGIII@Z
+; public: long __cdecl MENU_BASE::QueryItemText(class NLS_STR * __ptr64,unsigned int,unsigned int)const  __ptr64
+?QueryItemText@MENU_BASE@@QEBAJPEAVNLS_STR@@II@Z
+; public: long __cdecl STRING_LIST_CONTROL::QueryItemText(unsigned short * __ptr64,int,int)const  __ptr64
+?QueryItemText@STRING_LIST_CONTROL@@QEBAJPEAGHH@Z
+; public: long __cdecl STRING_LIST_CONTROL::QueryItemText(class NLS_STR * __ptr64)const  __ptr64
+?QueryItemText@STRING_LIST_CONTROL@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl STRING_LIST_CONTROL::QueryItemText(class NLS_STR * __ptr64,int)const  __ptr64
+?QueryItemText@STRING_LIST_CONTROL@@QEBAJPEAVNLS_STR@@H@Z
+; private: long __cdecl STRING_LIST_CONTROL::QueryItemTextAux(unsigned short * __ptr64,int)const  __ptr64
+?QueryItemTextAux@STRING_LIST_CONTROL@@AEBAJPEAGH@Z
+; private: int __cdecl HIER_LBI::QueryLBIndex(void) __ptr64
+?QueryLBIndex@HIER_LBI@@AEAAHXZ
+; public: __int64 __cdecl EVENT::QueryLParam(void)const  __ptr64
+?QueryLParam@EVENT@@QEBA_JXZ
+; public: class LSA_POLICY * __ptr64 __cdecl BROWSER_DOMAIN::QueryLSAPolicy(void)const  __ptr64
+?QueryLSAPolicy@BROWSER_DOMAIN@@QEBAPEAVLSA_POLICY@@XZ
+; public: class STATELB * __ptr64 __cdecl STATELBGRP::QueryLb(void) __ptr64
+?QueryLb@STATELBGRP@@QEAAPEAVSTATELB@@XZ
+; public: virtual unsigned short __cdecl BROWSER_DOMAIN_LBI::QueryLeadingChar(void)const  __ptr64
+?QueryLeadingChar@BROWSER_DOMAIN_LBI@@UEBAGXZ
+; public: virtual unsigned short __cdecl BROWSER_DOMAIN_LBI_PB::QueryLeadingChar(void)const  __ptr64
+?QueryLeadingChar@BROWSER_DOMAIN_LBI_PB@@UEBAGXZ
+; public: virtual unsigned short __cdecl LBI::QueryLeadingChar(void)const  __ptr64
+?QueryLeadingChar@LBI@@UEBAGXZ
+; public: virtual unsigned short __cdecl OLLB_ENTRY::QueryLeadingChar(void)const  __ptr64
+?QueryLeadingChar@OLLB_ENTRY@@UEBAGXZ
+; protected: virtual unsigned short __cdecl OPEN_LBI_BASE::QueryLeadingChar(void)const  __ptr64
+?QueryLeadingChar@OPEN_LBI_BASE@@MEBAGXZ
+; protected: virtual unsigned short __cdecl STLBITEM::QueryLeadingChar(void)const  __ptr64
+?QueryLeadingChar@STLBITEM@@MEBAGXZ
+; public: virtual unsigned short __cdecl USER_BROWSER_LBI::QueryLeadingChar(void)const  __ptr64
+?QueryLeadingChar@USER_BROWSER_LBI@@UEBAGXZ
+; public: int __cdecl XYRECT::QueryLeft(void)const  __ptr64
+?QueryLeft@XYRECT@@QEBAHXZ
+; protected: int __cdecl HEAP_BASE::QueryLeftChild(int)const  __ptr64
+?QueryLeftChild@HEAP_BASE@@IEBAHH@Z
+; public: virtual unsigned int __cdecl DTE::QueryLeftMargin(void)const  __ptr64
+?QueryLeftMargin@DTE@@UEBAIXZ
+; public: virtual unsigned int __cdecl METALLIC_STR_DTE::QueryLeftMargin(void)const  __ptr64
+?QueryLeftMargin@METALLIC_STR_DTE@@UEBAIXZ
+; public: int __cdecl OLLB_ENTRY::QueryLevel(void)const  __ptr64
+?QueryLevel@OLLB_ENTRY@@QEBAHXZ
+; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryLimit(void)const  __ptr64
+?QueryLimit@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
+; protected: virtual int __cdecl CONSOLE_ELLIPSIS::QueryLimit(void) __ptr64
+?QueryLimit@CONSOLE_ELLIPSIS@@MEAAHXZ
+; protected: virtual int __cdecl WIN_ELLIPSIS::QueryLimit(void) __ptr64
+?QueryLimit@WIN_ELLIPSIS@@MEAAHXZ
+; protected: static unsigned short const * __ptr64 __cdecl CONTROL_WINDOW::QueryListboxClassName(void)
+?QueryListboxClassName@CONTROL_WINDOW@@KAPEBGXZ
+; long __cdecl QueryLoggedOnDomainInfo(class NLS_STR * __ptr64,class NLS_STR * __ptr64)
+?QueryLoggedOnDomainInfo@@YAJPEAVNLS_STR@@0@Z
+; public: unsigned short const * __ptr64 __cdecl BROWSER_DOMAIN::QueryLsaLookupName(void)const  __ptr64
+?QueryLsaLookupName@BROWSER_DOMAIN@@QEBAPEBGXZ
+; public: struct HBITMAP__ * __ptr64 __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::QueryMain(void)const  __ptr64
+?QueryMain@GRAPHICAL_BUTTON_WITH_DISABLE@@QEBAPEAUHBITMAP__@@XZ
+; public: struct HBITMAP__ * __ptr64 __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::QueryMainInvert(void)const  __ptr64
+?QueryMainInvert@GRAPHICAL_BUTTON_WITH_DISABLE@@QEBAPEAUHBITMAP__@@XZ
+; public: class DISPLAY_MAP * __ptr64 const * __ptr64 __cdecl STATELB::QueryMapArray(void)const  __ptr64
+?QueryMapArray@STATELB@@QEBAPEBQEAVDISPLAY_MAP@@XZ
+; public: int __cdecl STATELB::QueryMapCount(void)const  __ptr64
+?QueryMapCount@STATELB@@QEBAHXZ
+; public: class BITFIELD * __ptr64 __cdecl AUDIT_CHECKBOXES::QueryMask(void) __ptr64
+?QueryMask@AUDIT_CHECKBOXES@@QEAAPEAVBITFIELD@@XZ
+; public: struct HBITMAP__ * __ptr64 __cdecl DISPLAY_MAP::QueryMaskHandle(void)const  __ptr64
+?QueryMaskHandle@DISPLAY_MAP@@QEBAPEAUHBITMAP__@@XZ
+; public: static long __cdecl BLT_MASTER_TIMER::QueryMasterTimer(class BLT_MASTER_TIMER * __ptr64 * __ptr64)
+?QueryMasterTimer@BLT_MASTER_TIMER@@SAJPEAPEAV1@@Z
+; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryMax(void)const  __ptr64
+?QueryMax@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
+; public: unsigned int __cdecl SCROLLBAR::QueryMax(void)const  __ptr64
+?QueryMax@SCROLLBAR@@QEBAIXZ
+; protected: virtual int __cdecl CONSOLE_ELLIPSIS::QueryMaxCharWidth(void) __ptr64
+?QueryMaxCharWidth@CONSOLE_ELLIPSIS@@MEAAHXZ
+; protected: virtual int __cdecl WIN_ELLIPSIS::QueryMaxCharWidth(void) __ptr64
+?QueryMaxCharWidth@WIN_ELLIPSIS@@MEAAHXZ
+; public: struct HMENU__ * __ptr64 __cdecl APP_WINDOW::QueryMenu(void)const  __ptr64
+?QueryMenu@APP_WINDOW@@QEBAPEAUHMENU__@@XZ
+; public: struct HMENU__ * __ptr64 __cdecl UI_MENU_EXT::QueryMenuHandle(void)const  __ptr64
+?QueryMenuHandle@UI_MENU_EXT@@QEBAPEAUHMENU__@@XZ
+; public: unsigned int __cdecl EVENT::QueryMessage(void)const  __ptr64
+?QueryMessage@EVENT@@QEBAIXZ
+; public: int __cdecl BLT_TIME_SPIN_GROUP::QueryMin(void)const  __ptr64
+?QueryMin@BLT_TIME_SPIN_GROUP@@QEBAHXZ
+; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryMin(void)const  __ptr64
+?QueryMin@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
+; public: unsigned int __cdecl SCROLLBAR::QueryMin(void)const  __ptr64
+?QueryMin@SCROLLBAR@@QEBAIXZ
+; public: int __cdecl WIN_TIME::QueryMinute(void)const  __ptr64
+?QueryMinute@WIN_TIME@@QEBAHXZ
+; public: long __cdecl ELAPSED_TIME_CONTROL::QueryMinuteValue(void)const  __ptr64
+?QueryMinuteValue@ELAPSED_TIME_CONTROL@@QEBAJXZ
+; public: struct HINSTANCE__ * __ptr64 __cdecl ASSOCHCFILE::QueryModule(void)const  __ptr64
+?QueryModule@ASSOCHCFILE@@QEBAPEAUHINSTANCE__@@XZ
+; public: int __cdecl BLT_DATE_SPIN_GROUP::QueryMonth(void)const  __ptr64
+?QueryMonth@BLT_DATE_SPIN_GROUP@@QEBAHXZ
+; public: int __cdecl WIN_TIME::QueryMonth(void)const  __ptr64
+?QueryMonth@WIN_TIME@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::QueryMonthPos(void)const  __ptr64
+?QueryMonthPos@INTL_PROFILE@@QEBAHXZ
+; public: long __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryName(class NLS_STR * __ptr64)const  __ptr64
+?QueryName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl LSA_REF_DOMAIN_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
+?QueryName@LSA_REF_DOMAIN_MEM@@QEBAJKPEAVNLS_STR@@@Z
+; public: long __cdecl LSA_TRANSLATED_NAME_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
+?QueryName@LSA_TRANSLATED_NAME_MEM@@QEBAJKPEAVNLS_STR@@@Z
+; public: long __cdecl LSA_TRUST_INFO_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
+?QueryName@LSA_TRUST_INFO_MEM@@QEBAJKPEAVNLS_STR@@@Z
+; public: long __cdecl SAM_RID_ENUMERATION_MEM::QueryName(unsigned long,class NLS_STR * __ptr64)const  __ptr64
+?QueryName@SAM_RID_ENUMERATION_MEM@@QEBAJKPEAVNLS_STR@@@Z
+; public: unsigned short const * __ptr64 __cdecl SERVER1_ENUM_OBJ::QueryName(void)const  __ptr64
+?QueryName@SERVER1_ENUM_OBJ@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl UI_DOMAIN::QueryName(void)const  __ptr64
+?QueryName@UI_DOMAIN@@QEBAPEBGXZ
+; protected: struct tagOFNW * __ptr64 __cdecl GET_FNAME_BASE_DLG::QueryOFN(void) __ptr64
+?QueryOFN@GET_FNAME_BASE_DLG@@IEAAPEAUtagOFNW@@XZ
+; public: class OS_SID const * __ptr64 __cdecl SAM_DOMAIN::QueryOSSID(void)const  __ptr64
+?QueryOSSID@SAM_DOMAIN@@QEBAPEBVOS_SID@@XZ
+; public: class OS_SID const * __ptr64 __cdecl USER_BROWSER_LBI::QueryOSSID(void)const  __ptr64
+?QueryOSSID@USER_BROWSER_LBI@@QEBAPEBVOS_SID@@XZ
+; protected: virtual long __cdecl CANCEL_TASK_DIALOG::QueryObjectName(class NLS_STR * __ptr64) __ptr64
+?QueryObjectName@CANCEL_TASK_DIALOG@@MEAAJPEAVNLS_STR@@@Z
+; public: class NLS_STR  __cdecl BASE_ELLIPSIS::QueryOriginalStr(void)const  __ptr64
+?QueryOriginalStr@BASE_ELLIPSIS@@QEBA?AVNLS_STR@@XZ
+; public: struct HWND__ * __ptr64 __cdecl WINDOW::QueryOwnerHwnd(void)const  __ptr64
+?QueryOwnerHwnd@WINDOW@@QEBAPEAUHWND__@@XZ
+; public: class OWNER_WINDOW * __ptr64 __cdecl SET_OF_AUDIT_CATEGORIES::QueryOwnerWindow(void) __ptr64
+?QueryOwnerWindow@SET_OF_AUDIT_CATEGORIES@@QEAAPEAVOWNER_WINDOW@@XZ
+; public: unsigned short const * __ptr64 __cdecl UI_DOMAIN::QueryPDC(void)const  __ptr64
+?QueryPDC@UI_DOMAIN@@QEBAPEBGXZ
+; public: void * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
+?QueryPSID@LSA_ACCT_DOM_INFO_MEM@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPSID(void)const  __ptr64
+?QueryPSID@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPSID(unsigned long)const  __ptr64
+?QueryPSID@LSA_REF_DOMAIN_MEM@@QEBAPEAXK@Z
+; public: void * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPSID(unsigned long)const  __ptr64
+?QueryPSID@LSA_TRUST_INFO_MEM@@QEBAPEAXK@Z
+; public: void * __ptr64 __cdecl OS_SID::QueryPSID(void)const  __ptr64
+?QueryPSID@OS_SID@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl SAM_DOMAIN::QueryPSID(void)const  __ptr64
+?QueryPSID@SAM_DOMAIN@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl USER_BROWSER_LBI::QueryPSID(void)const  __ptr64
+?QueryPSID@USER_BROWSER_LBI@@QEBAQEAXXZ
+; protected: int __cdecl HEAP_BASE::QueryParent(int)const  __ptr64
+?QueryParent@HEAP_BASE@@IEBAHH@Z
+; public: long __cdecl BASE_PASSWORD_DIALOG::QueryPassword(class NLS_STR * __ptr64) __ptr64
+?QueryPassword@BASE_PASSWORD_DIALOG@@QEAAJPEAVNLS_STR@@@Z
+; public: unsigned short const * __ptr64 __cdecl OPEN_LBI_BASE::QueryPath(void)const  __ptr64
+?QueryPath@OPEN_LBI_BASE@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NLS_STR::QueryPch(void)const  __ptr64
+?QueryPch@NLS_STR@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl STR_DTE::QueryPch(void)const  __ptr64
+?QueryPch@STR_DTE@@QEBAPEBGXZ
+; public: unsigned long __cdecl OPEN_LBI_BASE::QueryPermissions(void)const  __ptr64
+?QueryPermissions@OPEN_LBI_BASE@@QEBAKXZ
+; public: struct tagPOINT  __cdecl XYPOINT::QueryPoint(void)const  __ptr64
+?QueryPoint@XYPOINT@@QEBA?AUtagPOINT@@XZ
+; public: static class XYPOINT  __cdecl CURSOR::QueryPos(void)
+?QueryPos@CURSOR@@SA?AVXYPOINT@@XZ
+; public: class XYPOINT  __cdecl MOUSE_EVENT::QueryPos(void)const  __ptr64
+?QueryPos@MOUSE_EVENT@@QEBA?AVXYPOINT@@XZ
+; public: unsigned int __cdecl SCROLLBAR::QueryPos(void)const  __ptr64
+?QueryPos@SCROLLBAR@@QEBAIXZ
+; public: class XYPOINT  __cdecl SPIN_GROUP::QueryPos(void) __ptr64
+?QueryPos@SPIN_GROUP@@QEAA?AVXYPOINT@@XZ
+; public: class XYPOINT  __cdecl WINDOW::QueryPos(void)const  __ptr64
+?QueryPos@WINDOW@@QEBA?AVXYPOINT@@XZ
+; public: int __cdecl WIN32_THREAD::QueryPriority(void) __ptr64
+?QueryPriority@WIN32_THREAD@@QEAAHXZ
+; public: unsigned __int64 __cdecl PROC_INSTANCE::QueryProc(void)const  __ptr64
+?QueryProc@PROC_INSTANCE@@QEBA_KXZ
+; public: class NLS_STR * __ptr64 __cdecl ITER_SL_NLS_STR::QueryProp(void) __ptr64
+?QueryProp@ITER_SL_NLS_STR@@QEAAPEAVNLS_STR@@XZ
+; public: class USER_BROWSER_LBI * __ptr64 __cdecl ITER_SL_USER_BROWSER_LBI::QueryProp(void) __ptr64
+?QueryProp@ITER_SL_USER_BROWSER_LBI@@QEAAPEAVUSER_BROWSER_LBI@@XZ
+; public: unsigned short const * __ptr64 __cdecl IDRESOURCE::QueryPsz(void)const  __ptr64
+?QueryPsz@IDRESOURCE@@QEBAPEBGXZ
+; public: unsigned char * __ptr64 __cdecl BLT_SCRATCH::QueryPtr(void)const  __ptr64
+?QueryPtr@BLT_SCRATCH@@QEBAPEAEXZ
+; public: struct _POLICY_ACCOUNT_DOMAIN_INFO const * __ptr64 __cdecl LSA_ACCT_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_ACCT_DOM_INFO_MEM@@QEBAPEBU_POLICY_ACCOUNT_DOMAIN_INFO@@XZ
+; public: struct _POLICY_PRIMARY_DOMAIN_INFO const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_POLICY_PRIMARY_DOMAIN_INFO@@XZ
+; private: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_REF_DOMAIN_MEM@@AEBAPEBU_LSA_TRUST_INFORMATION@@XZ
+; private: struct _LSA_TRANSLATED_NAME const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_LSA_TRANSLATED_NAME@@XZ
+; private: struct _LSA_TRANSLATED_SID const * __ptr64 __cdecl LSA_TRANSLATED_SID_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_TRANSLATED_SID_MEM@@AEBAPEBU_LSA_TRANSLATED_SID@@XZ
+; public: struct _LSA_TRUST_INFORMATION const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@LSA_TRUST_INFO_MEM@@QEBAPEBU_LSA_TRUST_INFORMATION@@XZ
+; public: struct _SAM_RID_ENUMERATION const * __ptr64 __cdecl SAM_RID_ENUMERATION_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@SAM_RID_ENUMERATION_MEM@@QEBAPEBU_SAM_RID_ENUMERATION@@XZ
+; private: unsigned long const * __ptr64 __cdecl SAM_RID_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@SAM_RID_MEM@@AEBAPEBKXZ
+; public: void * __ptr64 * __ptr64 __cdecl SAM_SID_MEM::QueryPtr(void)const  __ptr64
+?QueryPtr@SAM_SID_MEM@@QEBAPEAPEAXXZ
+; public: long __cdecl BROWSER_SUBJECT::QueryQualifiedName(class NLS_STR * __ptr64,class NLS_STR const * __ptr64,int)const  __ptr64
+?QueryQualifiedName@BROWSER_SUBJECT@@QEBAJPEAVNLS_STR@@PEBV2@H@Z
+; public: unsigned int __cdecl CONTROLVAL_CID_PAIR::QueryRBCID(void)const  __ptr64
+?QueryRBCID@CONTROLVAL_CID_PAIR@@QEBAIXZ
+; public: unsigned long __cdecl LSA_TRANSLATED_SID_MEM::QueryRID(unsigned long)const  __ptr64
+?QueryRID@LSA_TRANSLATED_SID_MEM@@QEBAKK@Z
+; public: unsigned int __cdecl NT_GROUP_ENUM_OBJ::QueryRID(void)const  __ptr64
+?QueryRID@NT_GROUP_ENUM_OBJ@@QEBAIXZ
+; public: unsigned long __cdecl SAM_RID_ENUMERATION_MEM::QueryRID(unsigned long)const  __ptr64
+?QueryRID@SAM_RID_ENUMERATION_MEM@@QEBAKK@Z
+; public: unsigned long __cdecl SAM_RID_MEM::QueryRID(unsigned long)const  __ptr64
+?QueryRID@SAM_RID_MEM@@QEBAKK@Z
+; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryRange(void)const  __ptr64
+?QueryRange@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
+; protected: class PUSH_BUTTON * __ptr64 __cdecl SLE_STRLB_GROUP::QueryRemoveButton(void)const  __ptr64
+?QueryRemoveButton@SLE_STRLB_GROUP@@IEBAPEAVPUSH_BUTTON@@XZ
+; public: unsigned int __cdecl KEY_EVENT::QueryRepeat(void)const  __ptr64
+?QueryRepeat@KEY_EVENT@@QEBAIXZ
+; public: int __cdecl XYRECT::QueryRight(void)const  __ptr64
+?QueryRight@XYRECT@@QEBAHXZ
+; protected: int __cdecl HEAP_BASE::QueryRightSibling(int)const  __ptr64
+?QueryRightSibling@HEAP_BASE@@IEBAHH@Z
+; public: virtual struct HWND__ * __ptr64 __cdecl CLIENT_WINDOW::QueryRobustHwnd(void)const  __ptr64
+?QueryRobustHwnd@CLIENT_WINDOW@@UEBAPEAUHWND__@@XZ
+; public: virtual struct HWND__ * __ptr64 __cdecl DIALOG_WINDOW::QueryRobustHwnd(void)const  __ptr64
+?QueryRobustHwnd@DIALOG_WINDOW@@UEBAPEAUHWND__@@XZ
+; public: virtual struct HWND__ * __ptr64 __cdecl DISPATCHER::QueryRobustHwnd(void)const  __ptr64
+?QueryRobustHwnd@DISPATCHER@@UEBAPEAUHWND__@@XZ
+; public: unsigned int __cdecl SET_OF_AUDIT_CATEGORIES::QuerySLTBaseCID(void) __ptr64
+?QuerySLTBaseCID@SET_OF_AUDIT_CATEGORIES@@QEAAIXZ
+; public: unsigned int __cdecl LISTBOX::QueryScrollPos(void)const  __ptr64
+?QueryScrollPos@LISTBOX@@QEBAIXZ
+; public: int __cdecl BLT_TIME_SPIN_GROUP::QuerySec(void)const  __ptr64
+?QuerySec@BLT_TIME_SPIN_GROUP@@QEBAHXZ
+; public: int __cdecl WIN_TIME::QuerySecond(void)const  __ptr64
+?QuerySecond@WIN_TIME@@QEBAHXZ
+; public: long __cdecl ELAPSED_TIME_CONTROL::QuerySecondValue(void)const  __ptr64
+?QuerySecondValue@ELAPSED_TIME_CONTROL@@QEBAJXZ
+; public: int __cdecl LIST_CONTROL::QuerySelCount(void)const  __ptr64
+?QuerySelCount@LIST_CONTROL@@QEBAHXZ
+; public: long __cdecl LIST_CONTROL::QuerySelItems(int * __ptr64,int)const  __ptr64
+?QuerySelItems@LIST_CONTROL@@QEBAJPEAHH@Z
+; public: int __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::QuerySelected(void)const  __ptr64
+?QuerySelected@GRAPHICAL_BUTTON_WITH_DISABLE@@QEBAHXZ
+; public: unsigned int __cdecl MAGIC_GROUP::QuerySelection(void)const  __ptr64
+?QuerySelection@MAGIC_GROUP@@QEBAIXZ
+; public: unsigned int __cdecl RADIO_GROUP::QuerySelection(void)const  __ptr64
+?QuerySelection@RADIO_GROUP@@QEBAIXZ
+; public: class SLIST_OF_USER_BROWSER_LBI * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QuerySelectionCache(void) __ptr64
+?QuerySelectionCache@NT_USER_BROWSER_DIALOG@@QEAAPEAVSLIST_OF_USER_BROWSER_LBI@@XZ
+; public: class SLIST_OF_USER_BROWSER_LBI * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QuerySelectionList(void) __ptr64
+?QuerySelectionList@NT_USER_BROWSER_DIALOG@@QEAAPEAVSLIST_OF_USER_BROWSER_LBI@@XZ
+; public: unsigned short const * __ptr64 __cdecl ADMIN_AUTHORITY::QueryServer(void)const  __ptr64
+?QueryServer@ADMIN_AUTHORITY@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl OLLB_ENTRY::QueryServer(void)const  __ptr64
+?QueryServer@OLLB_ENTRY@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl OPEN_DIALOG_BASE::QueryServer(void)const  __ptr64
+?QueryServer@OPEN_DIALOG_BASE@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NT_USER_BROWSER_DIALOG::QueryServerResourceLivesOn(void)const  __ptr64
+?QueryServerResourceLivesOn@NT_USER_BROWSER_DIALOG@@QEBAPEBGXZ
+; public: class OS_SID const * __ptr64 __cdecl BROWSER_SUBJECT::QuerySid(void)const  __ptr64
+?QuerySid@BROWSER_SUBJECT@@QEBAPEBVOS_SID@@XZ
+; public: void * __ptr64 __cdecl OS_SID::QuerySid(void)const  __ptr64
+?QuerySid@OS_SID@@QEBAPEAXXZ
+; public: unsigned int __cdecl BLT_LISTBOX::QuerySingleLineHeight(void) __ptr64
+?QuerySingleLineHeight@BLT_LISTBOX@@QEAAIXZ
+; public: unsigned int __cdecl BLT_SCRATCH::QuerySize(void)const  __ptr64
+?QuerySize@BLT_SCRATCH@@QEBAIXZ
+; public: class XYDIMENSION  __cdecl SPIN_GROUP::QuerySize(void) __ptr64
+?QuerySize@SPIN_GROUP@@QEAA?AVXYDIMENSION@@XZ
+; public: class XYDIMENSION  __cdecl WINDOW::QuerySize(void)const  __ptr64
+?QuerySize@WINDOW@@QEBA?AVXYDIMENSION@@XZ
+; public: void __cdecl WINDOW::QuerySize(int * __ptr64,int * __ptr64)const  __ptr64
+?QuerySize@WINDOW@@QEBAXPEAH0@Z
+; public: virtual unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QuerySmallDecValue(void)const  __ptr64
+?QuerySmallDecValue@CHANGEABLE_SPIN_ITEM@@UEBAKXZ
+; public: virtual unsigned long __cdecl SPIN_SLE_VALID_SECOND::QuerySmallDecValue(void)const  __ptr64
+?QuerySmallDecValue@SPIN_SLE_VALID_SECOND@@UEBAKXZ
+; public: virtual unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QuerySmallIncValue(void)const  __ptr64
+?QuerySmallIncValue@CHANGEABLE_SPIN_ITEM@@UEBAKXZ
+; public: virtual unsigned long __cdecl SPIN_SLE_VALID_SECOND::QuerySmallIncValue(void)const  __ptr64
+?QuerySmallIncValue@SPIN_SLE_VALID_SECOND@@UEBAKXZ
+; protected: class NT_GROUP_BROWSER_DIALOG * __ptr64 __cdecl NT_GROUP_BROWSER_DIALOG::QuerySourceDialog(void) __ptr64
+?QuerySourceDialog@NT_GROUP_BROWSER_DIALOG@@IEAAPEAV1@XZ
+; public: class USER_BROWSER_LB * __ptr64 __cdecl NT_FIND_ACCOUNT_DIALOG::QuerySourceListbox(void) __ptr64
+?QuerySourceListbox@NT_FIND_ACCOUNT_DIALOG@@QEAAPEAVUSER_BROWSER_LB@@XZ
+; public: class USER_BROWSER_LB * __ptr64 __cdecl NT_GROUP_BROWSER_DIALOG::QuerySourceListbox(void) __ptr64
+?QuerySourceListbox@NT_GROUP_BROWSER_DIALOG@@QEAAPEAVUSER_BROWSER_LB@@XZ
+; protected: unsigned int __cdecl STATE_BUTTON_CONTROL::QueryState(void)const  __ptr64
+?QueryState@STATE_BUTTON_CONTROL@@IEBAIXZ
+; public: int __cdecl STLBITEM::QueryState(void)const  __ptr64
+?QueryState@STLBITEM@@QEBAHXZ
+; private: enum _THREAD_STATE  __cdecl WIN32_THREAD::QueryState(void)const  __ptr64
+?QueryState@WIN32_THREAD@@AEBA?AW4_THREAD_STATE@@XZ
+; protected: static unsigned short const * __ptr64 __cdecl CONTROL_WINDOW::QueryStaticClassName(void)
+?QueryStaticClassName@CONTROL_WINDOW@@KAPEBGXZ
+; public: class STRING_LISTBOX * __ptr64 __cdecl SLE_STRLB_GROUP::QueryStrLB(void)const  __ptr64
+?QueryStrLB@SLE_STRLB_GROUP@@QEBAPEAVSTRING_LISTBOX@@XZ
+; protected: virtual int __cdecl CONSOLE_ELLIPSIS::QueryStrLen(unsigned short const * __ptr64,int) __ptr64
+?QueryStrLen@CONSOLE_ELLIPSIS@@MEAAHPEBGH@Z
+; protected: virtual int __cdecl CONSOLE_ELLIPSIS::QueryStrLen(class NLS_STR) __ptr64
+?QueryStrLen@CONSOLE_ELLIPSIS@@MEAAHVNLS_STR@@@Z
+; protected: virtual int __cdecl WIN_ELLIPSIS::QueryStrLen(unsigned short const * __ptr64,int) __ptr64
+?QueryStrLen@WIN_ELLIPSIS@@MEAAHPEBGH@Z
+; protected: virtual int __cdecl WIN_ELLIPSIS::QueryStrLen(class NLS_STR) __ptr64
+?QueryStrLen@WIN_ELLIPSIS@@MEAAHVNLS_STR@@@Z
+; private: long __cdecl SPIN_SLE_STR::QueryStrNum(class NLS_STR const & __ptr64,long) __ptr64
+?QueryStrNum@SPIN_SLE_STR@@AEAAJAEBVNLS_STR@@J@Z
+; public: long __cdecl ATOM_BASE::QueryString(unsigned short * __ptr64,unsigned int)const  __ptr64
+?QueryString@ATOM_BASE@@QEBAJPEAGI@Z
+; public: class NLS_STR * __ptr64 __cdecl STRING_BITSET_PAIR::QueryString(void) __ptr64
+?QueryString@STRING_BITSET_PAIR@@QEAAPEAVNLS_STR@@XZ
+; public: enum ELLIPSIS_STYLE  __cdecl BASE_ELLIPSIS::QueryStyle(void)const  __ptr64
+?QueryStyle@BASE_ELLIPSIS@@QEBA?AW4ELLIPSIS_STYLE@@XZ
+; public: unsigned long __cdecl WINDOW::QueryStyle(void)const  __ptr64
+?QueryStyle@WINDOW@@QEBAKXZ
+; public: struct HMENU__ * __ptr64 __cdecl MENU_BASE::QuerySubMenu(int)const  __ptr64
+?QuerySubMenu@MENU_BASE@@QEBAPEAUHMENU__@@H@Z
+; public: unsigned int __cdecl SET_OF_AUDIT_CATEGORIES::QuerySuccessBaseCID(void) __ptr64
+?QuerySuccessBaseCID@SET_OF_AUDIT_CATEGORIES@@QEAAIXZ
+; protected: unsigned long __cdecl BASE_SET_FOCUS_DLG::QuerySuppliedHelpContext(void) __ptr64
+?QuerySuppliedHelpContext@BASE_SET_FOCUS_DLG@@IEAAKXZ
+; protected: unsigned short const * __ptr64 __cdecl BASE_SET_FOCUS_DLG::QuerySuppliedHelpFile(void) __ptr64
+?QuerySuppliedHelpFile@BASE_SET_FOCUS_DLG@@IEAAPEBGXZ
+; public: long __cdecl BASE_ELLIPSIS::QueryText(unsigned short * __ptr64,unsigned int)const  __ptr64
+?QueryText@BASE_ELLIPSIS@@QEBAJPEAGI@Z
+; public: long __cdecl BASE_ELLIPSIS::QueryText(class NLS_STR * __ptr64)const  __ptr64
+?QueryText@BASE_ELLIPSIS@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl SLE_STRIP::QueryText(unsigned short * __ptr64,unsigned int,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?QueryText@SLE_STRIP@@QEBAJPEAGIPEBG1@Z
+; public: long __cdecl SLE_STRIP::QueryText(class NLS_STR * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64)const  __ptr64
+?QueryText@SLE_STRIP@@QEBAJPEAVNLS_STR@@PEBG1@Z
+; public: long __cdecl SLT_ELLIPSIS::QueryText(unsigned short * __ptr64,unsigned int)const  __ptr64
+?QueryText@SLT_ELLIPSIS@@QEBAJPEAGI@Z
+; public: long __cdecl SLT_ELLIPSIS::QueryText(class NLS_STR * __ptr64)const  __ptr64
+?QueryText@SLT_ELLIPSIS@@QEBAJPEAVNLS_STR@@@Z
+; public: long __cdecl WINDOW::QueryText(unsigned short * __ptr64,unsigned int)const  __ptr64
+?QueryText@WINDOW@@QEBAJPEAGI@Z
+; public: long __cdecl WINDOW::QueryText(class NLS_STR * __ptr64)const  __ptr64
+?QueryText@WINDOW@@QEBAJPEAVNLS_STR@@@Z
+; public: class XYDIMENSION  __cdecl DEVICE_CONTEXT::QueryTextExtent(class NLS_STR const & __ptr64)const  __ptr64
+?QueryTextExtent@DEVICE_CONTEXT@@QEBA?AVXYDIMENSION@@AEBVNLS_STR@@@Z
+; public: class XYDIMENSION  __cdecl DEVICE_CONTEXT::QueryTextExtent(unsigned short const * __ptr64,unsigned int)const  __ptr64
+?QueryTextExtent@DEVICE_CONTEXT@@QEBA?AVXYDIMENSION@@PEBGI@Z
+; public: int __cdecl BASE_ELLIPSIS::QueryTextLength(void)const  __ptr64
+?QueryTextLength@BASE_ELLIPSIS@@QEBAHXZ
+; public: unsigned int __cdecl NLS_STR::QueryTextLength(void)const  __ptr64
+?QueryTextLength@NLS_STR@@QEBAIXZ
+; public: int __cdecl WINDOW::QueryTextLength(void)const  __ptr64
+?QueryTextLength@WINDOW@@QEBAHXZ
+; public: int __cdecl DEVICE_CONTEXT::QueryTextMetrics(struct tagTEXTMETRICW * __ptr64)const  __ptr64
+?QueryTextMetrics@DEVICE_CONTEXT@@QEBAHPEAUtagTEXTMETRICW@@@Z
+; public: int __cdecl BASE_ELLIPSIS::QueryTextSize(void)const  __ptr64
+?QueryTextSize@BASE_ELLIPSIS@@QEBAHXZ
+; public: int __cdecl WINDOW::QueryTextSize(void)const  __ptr64
+?QueryTextSize@WINDOW@@QEBAHXZ
+; public: int __cdecl DISPLAY_CONTEXT::QueryTextWidth(class NLS_STR const & __ptr64)const  __ptr64
+?QueryTextWidth@DISPLAY_CONTEXT@@QEBAHAEBVNLS_STR@@@Z
+; public: int __cdecl DISPLAY_CONTEXT::QueryTextWidth(unsigned short const * __ptr64,unsigned int)const  __ptr64
+?QueryTextWidth@DISPLAY_CONTEXT@@QEBAHPEBGI@Z
+; public: int __cdecl XYRECT::QueryTop(void)const  __ptr64
+?QueryTop@XYRECT@@QEBAHXZ
+; public: int __cdecl LIST_CONTROL::QueryTopIndex(void)const  __ptr64
+?QueryTopIndex@LIST_CONTROL@@QEBAHXZ
+; public: enum _SID_NAME_USE  __cdecl BROWSER_SUBJECT::QueryType(void)const  __ptr64
+?QueryType@BROWSER_SUBJECT@@QEBA?AW4_SID_NAME_USE@@XZ
+; public: enum OUTLINE_LB_LEVEL  __cdecl OLLB_ENTRY::QueryType(void)const  __ptr64
+?QueryType@OLLB_ENTRY@@QEBA?AW4OUTLINE_LB_LEVEL@@XZ
+; public: enum _SID_NAME_USE  __cdecl USER_BROWSER_LBI::QueryType(void)const  __ptr64
+?QueryType@USER_BROWSER_LBI@@QEBA?AW4_SID_NAME_USE@@XZ
+; public: enum UI_SystemSid  __cdecl USER_BROWSER_LBI::QueryUISysSid(void)const  __ptr64
+?QueryUISysSid@USER_BROWSER_LBI@@QEBA?AW4UI_SystemSid@@XZ
+; protected: struct _ULC_ENTRY * __ptr64 __cdecl USER_LBI_CACHE::QueryULCEntryPtr(int) __ptr64
+?QueryULCEntryPtr@USER_LBI_CACHE@@IEAAPEAU_ULC_ENTRY@@H@Z
+; protected: int __cdecl USER_LBI_CACHE::QueryULCEntrySize(void) __ptr64
+?QueryULCEntrySize@USER_LBI_CACHE@@IEAAHXZ
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl NT_GROUP_ENUM_OBJ::QueryUnicodeComment(void)const  __ptr64
+?QueryUnicodeComment@NT_GROUP_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl NT_GROUP_ENUM_OBJ::QueryUnicodeGroup(void)const  __ptr64
+?QueryUnicodeGroup@NT_GROUP_ENUM_OBJ@@QEBAPEBU_UNICODE_STRING@@XZ
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_PRIMARY_DOM_INFO_MEM::QueryUnicodeName(void)const  __ptr64
+?QueryUnicodeName@LSA_PRIMARY_DOM_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@XZ
+; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_REF_DOMAIN_MEM::QueryUnicodeName(unsigned long)const  __ptr64
+?QueryUnicodeName@LSA_REF_DOMAIN_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
+; private: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRANSLATED_NAME_MEM::QueryUnicodeName(unsigned long)const  __ptr64
+?QueryUnicodeName@LSA_TRANSLATED_NAME_MEM@@AEBAPEBU_UNICODE_STRING@@K@Z
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl LSA_TRUST_INFO_MEM::QueryUnicodeName(unsigned long)const  __ptr64
+?QueryUnicodeName@LSA_TRUST_INFO_MEM@@QEBAPEBU_UNICODE_STRING@@K@Z
+; public: struct _UNICODE_STRING const * __ptr64 __cdecl SAM_RID_ENUMERATION_MEM::QueryUnicodeName(unsigned long)const  __ptr64
+?QueryUnicodeName@SAM_RID_ENUMERATION_MEM@@QEBAPEBU_UNICODE_STRING@@K@Z
+; public: enum _SID_NAME_USE  __cdecl LSA_TRANSLATED_NAME_MEM::QueryUse(unsigned long)const  __ptr64
+?QueryUse@LSA_TRANSLATED_NAME_MEM@@QEBA?AW4_SID_NAME_USE@@K@Z
+; public: enum _SID_NAME_USE  __cdecl LSA_TRANSLATED_SID_MEM::QueryUse(unsigned long)const  __ptr64
+?QueryUse@LSA_TRANSLATED_SID_MEM@@QEBA?AW4_SID_NAME_USE@@K@Z
+; public: unsigned long __cdecl USER_BROWSER_LBI::QueryUserAccountFlags(void)const  __ptr64
+?QueryUserAccountFlags@USER_BROWSER_LBI@@QEBAKXZ
+; protected: class NT_USER_BROWSER_DIALOG * __ptr64 __cdecl NT_GROUP_BROWSER_DIALOG::QueryUserBrowserDialog(void) __ptr64
+?QueryUserBrowserDialog@NT_GROUP_BROWSER_DIALOG@@IEAAPEAVNT_USER_BROWSER_DIALOG@@XZ
+; public: unsigned short const * __ptr64 __cdecl OPEN_LBI_BASE::QueryUserName(void)const  __ptr64
+?QueryUserName@OPEN_LBI_BASE@@QEBAPEBGXZ
+; public: long __cdecl SET_OF_AUDIT_CATEGORIES::QueryUserSelectedBits(class BITFIELD * __ptr64,class BITFIELD * __ptr64) __ptr64
+?QueryUserSelectedBits@SET_OF_AUDIT_CATEGORIES@@QEAAJPEAVBITFIELD@@0@Z
+; public: unsigned __int64 __cdecl VKEY_EVENT::QueryVKey(void)const  __ptr64
+?QueryVKey@VKEY_EVENT@@QEBA_KXZ
+; public: unsigned long __cdecl CHANGEABLE_SPIN_ITEM::QueryValue(void)const  __ptr64
+?QueryValue@CHANGEABLE_SPIN_ITEM@@QEBAKXZ
+; public: static unsigned int __cdecl METALLIC_STR_DTE::QueryVerticalMargins(void)
+?QueryVerticalMargins@METALLIC_STR_DTE@@SAIXZ
+; public: unsigned __int64 __cdecl EVENT::QueryWParam(void)const  __ptr64
+?QueryWParam@EVENT@@QEBA_KXZ
+; public: static unsigned short const * __ptr64 __cdecl SLE_STRIP::QueryWhiteSpace(void)
+?QueryWhiteSpace@SLE_STRIP@@SAPEBGXZ
+; public: unsigned int __cdecl BIT_MAP::QueryWidth(void)const  __ptr64
+?QueryWidth@BIT_MAP@@QEBAIXZ
+; public: unsigned int __cdecl DISPLAY_MAP::QueryWidth(void)const  __ptr64
+?QueryWidth@DISPLAY_MAP@@QEBAIXZ
+; public: unsigned int __cdecl SIZE_EVENT::QueryWidth(void)const  __ptr64
+?QueryWidth@SIZE_EVENT@@QEBAIXZ
+; public: unsigned int __cdecl XYDIMENSION::QueryWidth(void)const  __ptr64
+?QueryWidth@XYDIMENSION@@QEBAIXZ
+; public: void __cdecl WINDOW::QueryWindowRect(struct tagRECT * __ptr64)const  __ptr64
+?QueryWindowRect@WINDOW@@QEBAXPEAUtagRECT@@@Z
+; public: void __cdecl WINDOW::QueryWindowRect(class XYRECT * __ptr64)const  __ptr64
+?QueryWindowRect@WINDOW@@QEBAXPEAVXYRECT@@@Z
+; public: int __cdecl CHANGEABLE_SPIN_ITEM::QueryWrap(void)const  __ptr64
+?QueryWrap@CHANGEABLE_SPIN_ITEM@@QEBAHXZ
+; public: int __cdecl XYPOINT::QueryX(void)const  __ptr64
+?QueryX@XYPOINT@@QEBAHXZ
+; public: unsigned int __cdecl LOGON_HOURS_CONTROL::QueryXForRow(int) __ptr64
+?QueryXForRow@LOGON_HOURS_CONTROL@@QEAAIH@Z
+; public: int __cdecl XYPOINT::QueryY(void)const  __ptr64
+?QueryY@XYPOINT@@QEBAHXZ
+; public: int __cdecl BLT_DATE_SPIN_GROUP::QueryYear(void)const  __ptr64
+?QueryYear@BLT_DATE_SPIN_GROUP@@QEBAHXZ
+; public: int __cdecl WIN_TIME::QueryYear(void)const  __ptr64
+?QueryYear@WIN_TIME@@QEBAHXZ
+; public: int __cdecl INTL_PROFILE::QueryYearPos(void)const  __ptr64
+?QueryYearPos@INTL_PROFILE@@QEBAHXZ
+; protected: virtual enum FOCUS_CACHE_SETTING  __cdecl BASE_SET_FOCUS_DLG::ReadFocusCache(unsigned short const * __ptr64)const  __ptr64
+?ReadFocusCache@BASE_SET_FOCUS_DLG@@MEBA?AW4FOCUS_CACHE_SETTING@@PEBG@Z
+; public: long __cdecl USER_LBI_CACHE::ReadUsers(class ADMIN_AUTHORITY * __ptr64,unsigned int,unsigned int,int,int * __ptr64) __ptr64
+?ReadUsers@USER_LBI_CACHE@@QEAAJPEAVADMIN_AUTHORITY@@IIHPEAH@Z
+; public: long __cdecl DEVICE_COMBO::Refresh(void) __ptr64
+?Refresh@DEVICE_COMBO@@QEAAJXZ
+; protected: void __cdecl OPEN_DIALOG_BASE::Refresh(void) __ptr64
+?Refresh@OPEN_DIALOG_BASE@@IEAAXXZ
+; public: long __cdecl OPEN_LBOX_BASE::Refresh(void) __ptr64
+?Refresh@OPEN_LBOX_BASE@@QEAAJXZ
+; protected: virtual void __cdecl HIER_LISTBOX::RefreshChildren(class HIER_LBI * __ptr64) __ptr64
+?RefreshChildren@HIER_LISTBOX@@MEAAXPEAVHIER_LBI@@@Z
+; public: virtual void __cdecl UI_EXT_MGR::RefreshExtensions(struct HWND__ * __ptr64) __ptr64
+?RefreshExtensions@UI_EXT_MGR@@UEAAXPEAUHWND__@@@Z
+; public: static long __cdecl BLT::RegisterHelpFile(struct HINSTANCE__ * __ptr64,long,unsigned long,unsigned long)
+?RegisterHelpFile@BLT@@SAJPEAUHINSTANCE__@@JKK@Z
+; public: long __cdecl WIN32_MUTEX::Release(void) __ptr64
+?Release@WIN32_MUTEX@@QEAAJXZ
+; public: long __cdecl WIN32_SEMAPHORE::Release(long,long * __ptr64) __ptr64
+?Release@WIN32_SEMAPHORE@@QEAAJJPEAJ@Z
+; private: virtual void __cdecl BLT_LISTBOX::ReleaseLBI(class LBI * __ptr64) __ptr64
+?ReleaseLBI@BLT_LISTBOX@@EEAAXPEAVLBI@@@Z
+; private: virtual void __cdecl LAZY_LISTBOX::ReleaseLBI(class LBI * __ptr64) __ptr64
+?ReleaseLBI@LAZY_LISTBOX@@EEAAXPEAVLBI@@@Z
+; public: void __cdecl CLIENT_WINDOW::ReleaseMouse(void) __ptr64
+?ReleaseMouse@CLIENT_WINDOW@@QEAAXXZ
+; public: void __cdecl DISPATCHER::ReleaseMouse(void) __ptr64
+?ReleaseMouse@DISPATCHER@@QEAAXXZ
+; public: virtual long __cdecl LB_COL_WIDTHS::ReloadColumnWidths(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,class IDRESOURCE const & __ptr64) __ptr64
+?ReloadColumnWidths@LB_COL_WIDTHS@@UEAAJPEAUHWND__@@PEAUHINSTANCE__@@AEBVIDRESOURCE@@@Z
+; public: int __cdecl ARRAY_LIST_CONTROLVAL_CID_PAIR::Remove(class CONTROLVAL_CID_PAIR const & __ptr64) __ptr64
+?Remove@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QEAAHAEBVCONTROLVAL_CID_PAIR@@@Z
+; public: static void __cdecl HWND_DLGPTR_CACHE::Remove(struct HWND__ * __ptr64)
+?Remove@HWND_DLGPTR_CACHE@@SAXPEAUHWND__@@@Z
+; public: long __cdecl MENU_BASE::Remove(unsigned int,unsigned int)const  __ptr64
+?Remove@MENU_BASE@@QEBAJII@Z
+; public: class ASSOCHCFILE * __ptr64 __cdecl SLIST_OF_ASSOCHCFILE::Remove(class ITER_SL_ASSOCHCFILE & __ptr64) __ptr64
+?Remove@SLIST_OF_ASSOCHCFILE@@QEAAPEAVASSOCHCFILE@@AEAVITER_SL_ASSOCHCFILE@@@Z
+; public: struct CLIENTDATA * __ptr64 __cdecl SLIST_OF_CLIENTDATA::Remove(class ITER_SL_CLIENTDATA & __ptr64) __ptr64
+?Remove@SLIST_OF_CLIENTDATA@@QEAAPEAUCLIENTDATA@@AEAVITER_SL_CLIENTDATA@@@Z
+; public: class NLS_STR * __ptr64 __cdecl SLIST_OF_NLS_STR::Remove(class ITER_SL_NLS_STR & __ptr64) __ptr64
+?Remove@SLIST_OF_NLS_STR@@QEAAPEAVNLS_STR@@AEAVITER_SL_NLS_STR@@@Z
+; public: class TIMER_BASE * __ptr64 __cdecl SLIST_OF_TIMER_BASE::Remove(class ITER_SL_TIMER_BASE & __ptr64) __ptr64
+?Remove@SLIST_OF_TIMER_BASE@@QEAAPEAVTIMER_BASE@@AEAVITER_SL_TIMER_BASE@@@Z
+; public: class USER_BROWSER_LBI * __ptr64 __cdecl SLIST_OF_USER_BROWSER_LBI::Remove(class ITER_SL_USER_BROWSER_LBI & __ptr64) __ptr64
+?Remove@SLIST_OF_USER_BROWSER_LBI@@QEAAPEAVUSER_BROWSER_LBI@@AEAVITER_SL_USER_BROWSER_LBI@@@Z
+; public: void __cdecl BLT_LISTBOX::RemoveAllItems(void) __ptr64
+?RemoveAllItems@BLT_LISTBOX@@QEAAXXZ
+; public: static void __cdecl BLTIMP::RemoveClient(struct HINSTANCE__ * __ptr64)
+?RemoveClient@BLTIMP@@SAXPEAUHINSTANCE__@@@Z
+; public: int __cdecl CONTROL_TABLE::RemoveControl(class CONTROL_WINDOW * __ptr64) __ptr64
+?RemoveControl@CONTROL_TABLE@@QEAAHPEAVCONTROL_WINDOW@@@Z
+; protected: void __cdecl ACCOUNT_NAMES_MLE::RemoveDuplicateAccountNames(class STRLIST * __ptr64) __ptr64
+?RemoveDuplicateAccountNames@ACCOUNT_NAMES_MLE@@IEAAXPEAVSTRLIST@@@Z
+; public: static void __cdecl BLTIMP::RemoveHelpAssoc(struct HINSTANCE__ * __ptr64,unsigned long)
+?RemoveHelpAssoc@BLTIMP@@SAXPEAUHINSTANCE__@@K@Z
+; public: class LBI * __ptr64 __cdecl BLT_LISTBOX::RemoveItem(int) __ptr64
+?RemoveItem@BLT_LISTBOX@@QEAAPEAVLBI@@H@Z
+; public: class LBI * __ptr64 __cdecl USER_BROWSER_LB::RemoveItem(int) __ptr64
+?RemoveItem@USER_BROWSER_LB@@QEAAPEAVLBI@@H@Z
+; public: virtual class LBI * __ptr64 __cdecl USER_BROWSER_LBI_CACHE::RemoveItem(int) __ptr64
+?RemoveItem@USER_BROWSER_LBI_CACHE@@UEAAPEAVLBI@@H@Z
+; public: virtual class LBI * __ptr64 __cdecl USER_LBI_CACHE::RemoveItem(int) __ptr64
+?RemoveItem@USER_LBI_CACHE@@UEAAPEAVLBI@@H@Z
+; public: void __cdecl LIST_CONTROL::RemoveSelection(void) __ptr64
+?RemoveSelection@LIST_CONTROL@@QEAAXXZ
+; public: void __cdecl BLT_MASTER_TIMER::RemoveTimer(class TIMER_BASE * __ptr64) __ptr64
+?RemoveTimer@BLT_MASTER_TIMER@@QEAAXPEAVTIMER_BASE@@@Z
+; public: class LBI * __ptr64 __cdecl LBI_HEAP::RemoveTopItem(void) __ptr64
+?RemoveTopItem@LBI_HEAP@@QEAAPEAVLBI@@XZ
+; public: void __cdecl WINDOW::RepaintNow(void) __ptr64
+?RepaintNow@WINDOW@@QEAAXXZ
+; protected: long __cdecl ACCOUNT_NAMES_MLE::ReplaceDomainIfBuiltIn(class NLS_STR * __ptr64,int * __ptr64) __ptr64
+?ReplaceDomainIfBuiltIn@ACCOUNT_NAMES_MLE@@IEAAJPEAVNLS_STR@@PEAH@Z
+; public: long __cdecl BLT_LISTBOX::ReplaceItem(int,class LBI * __ptr64,class LBI * __ptr64 * __ptr64) __ptr64
+?ReplaceItem@BLT_LISTBOX@@QEAAJHPEAVLBI@@PEAPEAV2@@Z
+; protected: void __cdecl BASE::ReportError(long) __ptr64
+?ReportError@BASE@@IEAAXJ@Z
+; protected: void __cdecl CONTROL_TABLE::ReportError(void) __ptr64
+?ReportError@CONTROL_TABLE@@IEAAXXZ
+; protected: void __cdecl CONTROL_WINDOW::ReportError(long) __ptr64
+?ReportError@CONTROL_WINDOW@@IEAAXJ@Z
+; protected: void __cdecl FORWARDING_BASE::ReportError(long) __ptr64
+?ReportError@FORWARDING_BASE@@IEAAXJ@Z
+; protected: void __cdecl SLT_ELLIPSIS::ReportError(long) __ptr64
+?ReportError@SLT_ELLIPSIS@@IEAAXJ@Z
+; public: long __cdecl BROWSER_DOMAIN::RequestAccountData(void) __ptr64
+?RequestAccountData@BROWSER_DOMAIN@@QEAAJXZ
+; public: long __cdecl DOMAIN_FILL_THREAD::RequestAccountData(void) __ptr64
+?RequestAccountData@DOMAIN_FILL_THREAD@@QEAAJXZ
+; public: long __cdecl BROWSER_DOMAIN::RequestAndWaitForUsers(void) __ptr64
+?RequestAndWaitForUsers@BROWSER_DOMAIN@@QEAAJXZ
+; public: long __cdecl DOMAIN_FILL_THREAD::RequestAndWaitForUsers(void) __ptr64
+?RequestAndWaitForUsers@DOMAIN_FILL_THREAD@@QEAAJXZ
+; private: virtual class LBI * __ptr64 __cdecl BLT_LISTBOX::RequestLBI(struct tagDRAWITEMSTRUCT const * __ptr64) __ptr64
+?RequestLBI@BLT_LISTBOX@@EEAAPEAVLBI@@PEBUtagDRAWITEMSTRUCT@@@Z
+; private: virtual class LBI * __ptr64 __cdecl LAZY_LISTBOX::RequestLBI(struct tagDRAWITEMSTRUCT const * __ptr64) __ptr64
+?RequestLBI@LAZY_LISTBOX@@EEAAPEAVLBI@@PEBUtagDRAWITEMSTRUCT@@@Z
+; public: void __cdecl BROWSE_DOMAIN_ENUM::Reset(void) __ptr64
+?Reset@BROWSE_DOMAIN_ENUM@@QEAAXXZ
+; public: void __cdecl ITER_CTRL::Reset(void) __ptr64
+?Reset@ITER_CTRL@@QEAAXXZ
+; public: long __cdecl WIN32_EVENT::Reset(void) __ptr64
+?Reset@WIN32_EVENT@@QEAAJXZ
+; public: static void __cdecl POPUP::ResetCaption(void)
+?ResetCaption@POPUP@@SAXXZ
+; protected: void __cdecl WINDOW::ResetCreator(void) __ptr64
+?ResetCreator@WINDOW@@IEAAXXZ
+; protected: void __cdecl BASE::ResetError(void) __ptr64
+?ResetError@BASE@@IEAAXXZ
+; protected: void __cdecl CONTROL_WINDOW::ResetError(void) __ptr64
+?ResetError@CONTROL_WINDOW@@IEAAXXZ
+; protected: void __cdecl FORWARDING_BASE::ResetError(void) __ptr64
+?ResetError@FORWARDING_BASE@@IEAAXXZ
+; protected: void __cdecl SLT_ELLIPSIS::ResetError(void) __ptr64
+?ResetError@SLT_ELLIPSIS@@IEAAXXZ
+; public: void __cdecl BLT_MASTER_TIMER::ResetIterator(void) __ptr64
+?ResetIterator@BLT_MASTER_TIMER@@QEAAXXZ
+; public: void __cdecl SLT_ELLIPSIS::ResetStyle(enum ELLIPSIS_STYLE) __ptr64
+?ResetStyle@SLT_ELLIPSIS@@QEAAXW4ELLIPSIS_STYLE@@@Z
+; public: int __cdecl ARRAY_CONTROLVAL_CID_PAIR::Resize(unsigned int,int) __ptr64
+?Resize@ARRAY_CONTROLVAL_CID_PAIR@@QEAAHIH@Z
+; public: long __cdecl BLT_LISTBOX::Resort(void) __ptr64
+?Resort@BLT_LISTBOX@@QEAAJXZ
+; protected: virtual void __cdecl BLT_DATE_SPIN_GROUP::RestoreValue(int) __ptr64
+?RestoreValue@BLT_DATE_SPIN_GROUP@@MEAAXH@Z
+; protected: virtual void __cdecl BLT_TIME_SPIN_GROUP::RestoreValue(int) __ptr64
+?RestoreValue@BLT_TIME_SPIN_GROUP@@MEAAXH@Z
+; protected: virtual void __cdecl COMBOBOX::RestoreValue(int) __ptr64
+?RestoreValue@COMBOBOX@@MEAAXH@Z
+; protected: virtual void __cdecl CONTROL_VALUE::RestoreValue(int) __ptr64
+?RestoreValue@CONTROL_VALUE@@MEAAXH@Z
+; protected: virtual void __cdecl EDIT_CONTROL::RestoreValue(int) __ptr64
+?RestoreValue@EDIT_CONTROL@@MEAAXH@Z
+; protected: virtual void __cdecl LIST_CONTROL::RestoreValue(int) __ptr64
+?RestoreValue@LIST_CONTROL@@MEAAXH@Z
+; protected: virtual void __cdecl MAGIC_GROUP::RestoreValue(int) __ptr64
+?RestoreValue@MAGIC_GROUP@@MEAAXH@Z
+; protected: virtual void __cdecl RADIO_GROUP::RestoreValue(int) __ptr64
+?RestoreValue@RADIO_GROUP@@MEAAXH@Z
+; protected: virtual void __cdecl SLT::RestoreValue(int) __ptr64
+?RestoreValue@SLT@@MEAAXH@Z
+; public: virtual void __cdecl SPIN_GROUP::RestoreValue(int) __ptr64
+?RestoreValue@SPIN_GROUP@@UEAAXH@Z
+; protected: virtual void __cdecl STATE_BUTTON_CONTROL::RestoreValue(int) __ptr64
+?RestoreValue@STATE_BUTTON_CONTROL@@MEAAXH@Z
+; public: long __cdecl WIN32_THREAD::Resume(void) __ptr64
+?Resume@WIN32_THREAD@@QEAAJXZ
+; protected: virtual int __cdecl APPLICATION::Run(void) __ptr64
+?Run@APPLICATION@@MEAAHXZ
+; protected: unsigned __int64 __cdecl HAS_MESSAGE_PUMP::RunMessagePump(void) __ptr64
+?RunMessagePump@HAS_MESSAGE_PUMP@@IEAA_KXZ
+; public: virtual long __cdecl CHANGEABLE_SPIN_ITEM::SaveCurrentData(void) __ptr64
+?SaveCurrentData@CHANGEABLE_SPIN_ITEM@@UEAAJXZ
+; public: virtual long __cdecl SPIN_SLE_NUM::SaveCurrentData(void) __ptr64
+?SaveCurrentData@SPIN_SLE_NUM@@UEAAJXZ
+; public: virtual long __cdecl SPIN_SLE_STR::SaveCurrentData(void) __ptr64
+?SaveCurrentData@SPIN_SLE_STR@@UEAAJXZ
+; protected: virtual void __cdecl BLT_DATE_SPIN_GROUP::SaveValue(int) __ptr64
+?SaveValue@BLT_DATE_SPIN_GROUP@@MEAAXH@Z
+; protected: virtual void __cdecl BLT_TIME_SPIN_GROUP::SaveValue(int) __ptr64
+?SaveValue@BLT_TIME_SPIN_GROUP@@MEAAXH@Z
+; protected: virtual void __cdecl COMBOBOX::SaveValue(int) __ptr64
+?SaveValue@COMBOBOX@@MEAAXH@Z
+; protected: virtual void __cdecl CONTROL_VALUE::SaveValue(int) __ptr64
+?SaveValue@CONTROL_VALUE@@MEAAXH@Z
+; protected: virtual void __cdecl EDIT_CONTROL::SaveValue(int) __ptr64
+?SaveValue@EDIT_CONTROL@@MEAAXH@Z
+; protected: virtual void __cdecl LIST_CONTROL::SaveValue(int) __ptr64
+?SaveValue@LIST_CONTROL@@MEAAXH@Z
+; protected: virtual void __cdecl MAGIC_GROUP::SaveValue(int) __ptr64
+?SaveValue@MAGIC_GROUP@@MEAAXH@Z
+; protected: virtual void __cdecl RADIO_GROUP::SaveValue(int) __ptr64
+?SaveValue@RADIO_GROUP@@MEAAXH@Z
+; protected: virtual void __cdecl SLT::SaveValue(int) __ptr64
+?SaveValue@SLT@@MEAAXH@Z
+; public: virtual void __cdecl SPIN_GROUP::SaveValue(int) __ptr64
+?SaveValue@SPIN_GROUP@@UEAAXH@Z
+; protected: virtual void __cdecl STATE_BUTTON_CONTROL::SaveValue(int) __ptr64
+?SaveValue@STATE_BUTTON_CONTROL@@MEAAXH@Z
+; public: void __cdecl XYPOINT::ScreenToClient(struct HWND__ * __ptr64) __ptr64
+?ScreenToClient@XYPOINT@@QEAAXPEAUHWND__@@@Z
+; public: struct HBITMAP__ * __ptr64 __cdecl DEVICE_CONTEXT::SelectBitmap(struct HBITMAP__ * __ptr64) __ptr64
+?SelectBitmap@DEVICE_CONTEXT@@QEAAPEAUHBITMAP__@@PEAU2@@Z
+; public: struct HBRUSH__ * __ptr64 __cdecl DEVICE_CONTEXT::SelectBrush(struct HBRUSH__ * __ptr64) __ptr64
+?SelectBrush@DEVICE_CONTEXT@@QEAAPEAUHBRUSH__@@PEAU2@@Z
+; public: struct HFONT__ * __ptr64 __cdecl DEVICE_CONTEXT::SelectFont(struct HFONT__ * __ptr64) __ptr64
+?SelectFont@DEVICE_CONTEXT@@QEAAPEAUHFONT__@@PEAU2@@Z
+; public: void __cdecl BROWSER_DOMAIN_CB::SelectItem(class BROWSER_DOMAIN * __ptr64) __ptr64
+?SelectItem@BROWSER_DOMAIN_CB@@QEAAXPEAVBROWSER_DOMAIN@@@Z
+; public: void __cdecl LIST_CONTROL::SelectItem(int,int) __ptr64
+?SelectItem@LIST_CONTROL@@QEAAXHH@Z
+; public: void __cdecl LIST_CONTROL::SelectItems(int * __ptr64,int,int) __ptr64
+?SelectItems@LIST_CONTROL@@QEAAXPEAHHH@Z
+; private: void __cdecl BASE_SET_FOCUS_DLG::SelectNetPathString(void) __ptr64
+?SelectNetPathString@BASE_SET_FOCUS_DLG@@AEAAXXZ
+; protected: void * __ptr64 __cdecl DEVICE_CONTEXT::SelectObject(void * __ptr64) __ptr64
+?SelectObject@DEVICE_CONTEXT@@IEAAPEAXPEAX@Z
+; public: struct HPEN__ * __ptr64 __cdecl DEVICE_CONTEXT::SelectPen(struct HPEN__ * __ptr64) __ptr64
+?SelectPen@DEVICE_CONTEXT@@QEAAPEAUHPEN__@@PEAU2@@Z
+; public: void __cdecl COMBOBOX::SelectString(void) __ptr64
+?SelectString@COMBOBOX@@QEAAXXZ
+; public: void __cdecl EDIT_CONTROL::SelectString(void) __ptr64
+?SelectString@EDIT_CONTROL@@QEAAXXZ
+; public: __int64 __cdecl EVENT::SendTo(struct HWND__ * __ptr64)const  __ptr64
+?SendTo@EVENT@@QEBA_JPEAUHWND__@@@Z
+; public: static struct HICON__ * __ptr64 __cdecl CURSOR::Set(struct HICON__ * __ptr64)
+?Set@CURSOR@@SAPEAUHICON__@@PEAU2@@Z
+; public: long __cdecl WIN32_EVENT::Set(void) __ptr64
+?Set@WIN32_EVENT@@QEAAJXZ
+; public: long __cdecl SPIN_ITEM::SetAccKey(class NLS_STR const & __ptr64) __ptr64
+?SetAccKey@SPIN_ITEM@@QEAAJAEBVNLS_STR@@@Z
+; public: long __cdecl SPIN_ITEM::SetAccKey(long) __ptr64
+?SetAccKey@SPIN_ITEM@@QEAAJJ@Z
+; public: long __cdecl NT_USER_BROWSER_DIALOG::SetAndFillErrorText(long,int) __ptr64
+?SetAndFillErrorText@NT_USER_BROWSER_DIALOG@@QEAAJJH@Z
+; protected: void __cdecl SPIN_GROUP::SetArrowButtonStatus(void) __ptr64
+?SetArrowButtonStatus@SPIN_GROUP@@IEAAXXZ
+; public: long __cdecl BROWSER_DOMAIN::SetAsTargetDomain(void) __ptr64
+?SetAsTargetDomain@BROWSER_DOMAIN@@QEAAJXZ
+; protected: void __cdecl HEAP_BASE::SetAutoReadjust(int) __ptr64
+?SetAutoReadjust@HEAP_BASE@@IEAAXH@Z
+; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetBigDecValue(unsigned long) __ptr64
+?SetBigDecValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
+; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetBigIncValue(unsigned long) __ptr64
+?SetBigIncValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
+; public: void __cdecl BIT_MAP::SetBitmap(struct HBITMAP__ * __ptr64) __ptr64
+?SetBitmap@BIT_MAP@@QEAAXPEAUHBITMAP__@@@Z
+; private: void __cdecl DISPLAY_MAP::SetBitmapBits(unsigned char * __ptr64,int,int,unsigned int) __ptr64
+?SetBitmapBits@DISPLAY_MAP@@AEAAXPEAEHHI@Z
+; public: unsigned long __cdecl DEVICE_CONTEXT::SetBkColor(unsigned long) __ptr64
+?SetBkColor@DEVICE_CONTEXT@@QEAAKK@Z
+; public: int __cdecl DEVICE_CONTEXT::SetBkMode(int) __ptr64
+?SetBkMode@DEVICE_CONTEXT@@QEAAHH@Z
+; protected: long __cdecl GET_FNAME_BASE_DLG::SetBuffer(class BUFFER * __ptr64,class STRLIST & __ptr64) __ptr64
+?SetBuffer@GET_FNAME_BASE_DLG@@IEAAJPEAVBUFFER@@AEAVSTRLIST@@@Z
+; protected: void __cdecl ENUM_OBJ_BASE::SetBufferPtr(unsigned char const * __ptr64) __ptr64
+?SetBufferPtr@ENUM_OBJ_BASE@@IEAAXPEBE@Z
+; public: void __cdecl ORDER_GROUP::SetButton(void) __ptr64
+?SetButton@ORDER_GROUP@@QEAAXXZ
+; public: static void __cdecl POPUP::SetCaption(long)
+?SetCaption@POPUP@@SAXJ@Z
+; public: void __cdecl LIST_CONTROL::SetCaretIndex(int,int) __ptr64
+?SetCaretIndex@LIST_CONTROL@@QEAAXHH@Z
+; public: void __cdecl MENUITEM::SetCheck(int) __ptr64
+?SetCheck@MENUITEM@@QEAAXH@Z
+; private: void __cdecl RADIO_BUTTON::SetCheck(int) __ptr64
+?SetCheck@RADIO_BUTTON@@AEAAXH@Z
+; public: void __cdecl STATE2_BUTTON_CONTROL::SetCheck(int) __ptr64
+?SetCheck@STATE2_BUTTON_CONTROL@@QEAAXH@Z
+; public: long __cdecl SET_OF_AUDIT_CATEGORIES::SetCheckBoxNames(class MASK_MAP * __ptr64) __ptr64
+?SetCheckBoxNames@SET_OF_AUDIT_CATEGORIES@@QEAAJPEAVMASK_MAP@@@Z
+; protected: static void __cdecl WINDOW::SetClientGeneratedMsgFlag(int)
+?SetClientGeneratedMsgFlag@WINDOW@@KAXH@Z
+; public: void __cdecl METER::SetComplete(int) __ptr64
+?SetComplete@METER@@QEAAXH@Z
+; protected: virtual void __cdecl BLT_DATE_SPIN_GROUP::SetControlValueFocus(void) __ptr64
+?SetControlValueFocus@BLT_DATE_SPIN_GROUP@@MEAAXXZ
+; protected: virtual void __cdecl BLT_TIME_SPIN_GROUP::SetControlValueFocus(void) __ptr64
+?SetControlValueFocus@BLT_TIME_SPIN_GROUP@@MEAAXXZ
+; public: virtual void __cdecl CONTROL_VALUE::SetControlValueFocus(void) __ptr64
+?SetControlValueFocus@CONTROL_VALUE@@UEAAXXZ
+; public: virtual void __cdecl CONTROL_WINDOW::SetControlValueFocus(void) __ptr64
+?SetControlValueFocus@CONTROL_WINDOW@@UEAAXXZ
+; protected: virtual void __cdecl EDIT_CONTROL::SetControlValueFocus(void) __ptr64
+?SetControlValueFocus@EDIT_CONTROL@@MEAAXXZ
+; public: virtual void __cdecl MAGIC_GROUP::SetControlValueFocus(void) __ptr64
+?SetControlValueFocus@MAGIC_GROUP@@UEAAXXZ
+; public: virtual void __cdecl RADIO_GROUP::SetControlValueFocus(void) __ptr64
+?SetControlValueFocus@RADIO_GROUP@@UEAAXXZ
+; public: virtual void __cdecl SPIN_GROUP::SetControlValueFocus(void) __ptr64
+?SetControlValueFocus@SPIN_GROUP@@UEAAXXZ
+; public: void __cdecl LAZY_LISTBOX::SetCount(unsigned int) __ptr64
+?SetCount@LAZY_LISTBOX@@QEAAXI@Z
+; public: void __cdecl USER_BROWSER_LB::SetCurrentCache(class USER_BROWSER_LBI_CACHE * __ptr64) __ptr64
+?SetCurrentCache@USER_BROWSER_LB@@QEAAXPEAVUSER_BROWSER_LBI_CACHE@@@Z
+; public: long __cdecl BLT_DATE_SPIN_GROUP::SetCurrentDay(void) __ptr64
+?SetCurrentDay@BLT_DATE_SPIN_GROUP@@QEAAJXZ
+; public: void __cdecl NT_USER_BROWSER_DIALOG::SetCurrentDomainFocus(class BROWSER_DOMAIN * __ptr64) __ptr64
+?SetCurrentDomainFocus@NT_USER_BROWSER_DIALOG@@QEAAXPEAVBROWSER_DOMAIN@@@Z
+; protected: void __cdecl SPIN_GROUP::SetCurrentField(class SPIN_ITEM * __ptr64) __ptr64
+?SetCurrentField@SPIN_GROUP@@IEAAXPEAVSPIN_ITEM@@@Z
+; public: long __cdecl BLT_TIME_SPIN_GROUP::SetCurrentTime(void) __ptr64
+?SetCurrentTime@BLT_TIME_SPIN_GROUP@@QEAAJXZ
+; public: long __cdecl GET_FNAME_BASE_DLG::SetCustomFilter(class STRLIST & __ptr64,unsigned long) __ptr64
+?SetCustomFilter@GET_FNAME_BASE_DLG@@QEAAJAEAVSTRLIST@@K@Z
+; public: void __cdecl DISK_SPACE_SUBCLASS::SetDSFieldName(long) __ptr64
+?SetDSFieldName@DISK_SPACE_SUBCLASS@@QEAAXJ@Z
+; public: void __cdecl BLT_DATE_SPIN_GROUP::SetDay(int) __ptr64
+?SetDay@BLT_DATE_SPIN_GROUP@@QEAAXH@Z
+; private: static void __cdecl HIER_LBI::SetDestroyable(int)
+?SetDestroyable@HIER_LBI@@CAXH@Z
+; public: void __cdecl OWNER_WINDOW::SetDialogFocus(class CONTROL_WINDOW & __ptr64) __ptr64
+?SetDialogFocus@OWNER_WINDOW@@QEAAXAEAVCONTROL_WINDOW@@@Z
+; protected: void __cdecl NT_USER_BROWSER_DIALOG::SetDomainComboDropFlag(int) __ptr64
+?SetDomainComboDropFlag@NT_USER_BROWSER_DIALOG@@IEAAXH@Z
+; public: void __cdecl OUTLINE_LISTBOX::SetDomainExpanded(int,int) __ptr64
+?SetDomainExpanded@OUTLINE_LISTBOX@@QEAAXHH@Z
+; public: long __cdecl BASE_ELLIPSIS::SetEllipsis(unsigned short * __ptr64) __ptr64
+?SetEllipsis@BASE_ELLIPSIS@@QEAAJPEAG@Z
+; public: long __cdecl BASE_ELLIPSIS::SetEllipsis(class NLS_STR * __ptr64) __ptr64
+?SetEllipsis@BASE_ELLIPSIS@@QEAAJPEAVNLS_STR@@@Z
+; protected: long __cdecl BASE_ELLIPSIS::SetEllipsisCenter(class NLS_STR * __ptr64) __ptr64
+?SetEllipsisCenter@BASE_ELLIPSIS@@IEAAJPEAVNLS_STR@@@Z
+; protected: long __cdecl BASE_ELLIPSIS::SetEllipsisLeft(class NLS_STR * __ptr64) __ptr64
+?SetEllipsisLeft@BASE_ELLIPSIS@@IEAAJPEAVNLS_STR@@@Z
+; protected: long __cdecl BASE_ELLIPSIS::SetEllipsisPath(class NLS_STR * __ptr64) __ptr64
+?SetEllipsisPath@BASE_ELLIPSIS@@IEAAJPEAVNLS_STR@@@Z
+; protected: long __cdecl BASE_ELLIPSIS::SetEllipsisRight(class NLS_STR * __ptr64) __ptr64
+?SetEllipsisRight@BASE_ELLIPSIS@@IEAAJPEAVNLS_STR@@@Z
+; protected: void __cdecl GET_FNAME_BASE_DLG::SetEnableHook(int) __ptr64
+?SetEnableHook@GET_FNAME_BASE_DLG@@IEAAXH@Z
+; public: void __cdecl HIER_LBI::SetExpanded(int) __ptr64
+?SetExpanded@HIER_LBI@@QEAAXH@Z
+; private: void __cdecl OLLB_ENTRY::SetExpanded(int) __ptr64
+?SetExpanded@OLLB_ENTRY@@AEAAXH@Z
+; public: int __cdecl SPIN_GROUP::SetFieldMinMax(unsigned short) __ptr64
+?SetFieldMinMax@SPIN_GROUP@@QEAAHG@Z
+; public: long __cdecl SPIN_SLE_NUM_VALID::SetFieldName(long) __ptr64
+?SetFieldName@SPIN_SLE_NUM_VALID@@QEAAJJ@Z
+; public: long __cdecl GET_FNAME_BASE_DLG::SetFileExtension(class NLS_STR const & __ptr64) __ptr64
+?SetFileExtension@GET_FNAME_BASE_DLG@@QEAAJAEBVNLS_STR@@@Z
+; public: long __cdecl GET_FNAME_BASE_DLG::SetFilter(class STRLIST & __ptr64,unsigned long) __ptr64
+?SetFilter@GET_FNAME_BASE_DLG@@QEAAJAEAVSTRLIST@@K@Z
+; public: void __cdecl MLE::SetFmtLines(int) __ptr64
+?SetFmtLines@MLE@@QEAAXH@Z
+; public: void __cdecl OWNER_WINDOW::SetFocus(unsigned int) __ptr64
+?SetFocus@OWNER_WINDOW@@QEAAXI@Z
+; public: void __cdecl CONTROL_WINDOW::SetFont(struct HFONT__ * __ptr64,int) __ptr64
+?SetFont@CONTROL_WINDOW@@QEAAXPEAUHFONT__@@H@Z
+; public: long __cdecl FONT::SetFont(struct tagLOGFONTW const & __ptr64) __ptr64
+?SetFont@FONT@@QEAAJAEBUtagLOGFONTW@@@Z
+; public: long __cdecl FONT::SetFont(struct HFONT__ * __ptr64) __ptr64
+?SetFont@FONT@@QEAAJPEAUHFONT__@@@Z
+; public: void __cdecl CONTROL_VALUE::SetGroup(class CONTROL_GROUP * __ptr64) __ptr64
+?SetGroup@CONTROL_VALUE@@QEAAXPEAVCONTROL_GROUP@@@Z
+; protected: void __cdecl MENU_BASE::SetHandle(struct HMENU__ * __ptr64) __ptr64
+?SetHandle@MENU_BASE@@IEAAXPEAUHMENU__@@@Z
+; protected: void __cdecl WIN32_HANDLE::SetHandle(void * __ptr64) __ptr64
+?SetHandle@WIN32_HANDLE@@IEAAXPEAX@Z
+; public: void __cdecl XYDIMENSION::SetHeight(unsigned int) __ptr64
+?SetHeight@XYDIMENSION@@QEAAXI@Z
+; public: void __cdecl GET_FNAME_BASE_DLG::SetHelpActive(int) __ptr64
+?SetHelpActive@GET_FNAME_BASE_DLG@@QEAAXH@Z
+; public: static unsigned long __cdecl POPUP::SetHelpContextBase(unsigned long)
+?SetHelpContextBase@POPUP@@SAKK@Z
+; public: void __cdecl GET_FNAME_BASE_DLG::SetHookProc(unsigned __int64) __ptr64
+?SetHookProc@GET_FNAME_BASE_DLG@@QEAAX_K@Z
+; public: void __cdecl LISTBOX::SetHorizontalExtent(unsigned int) __ptr64
+?SetHorizontalExtent@LISTBOX@@QEAAXI@Z
+; public: void __cdecl BLT_TIME_SPIN_GROUP::SetHour(int) __ptr64
+?SetHour@BLT_TIME_SPIN_GROUP@@QEAAXH@Z
+; public: long __cdecl LOGON_HOURS_CONTROL::SetHours(class LOGON_HOURS_SETTING const * __ptr64) __ptr64
+?SetHours@LOGON_HOURS_CONTROL@@QEAAJPEBVLOGON_HOURS_SETTING@@@Z
+; protected: void __cdecl WINDOW::SetHwnd(struct HWND__ * __ptr64) __ptr64
+?SetHwnd@WINDOW@@IEAAXPEAUHWND__@@@Z
+; public: int __cdecl APP_WINDOW::SetIcon(class IDRESOURCE const & __ptr64) __ptr64
+?SetIcon@APP_WINDOW@@QEAAHAEBVIDRESOURCE@@@Z
+; public: long __cdecl ICON_CONTROL::SetIcon(class IDRESOURCE const & __ptr64) __ptr64
+?SetIcon@ICON_CONTROL@@QEAAJAEBVIDRESOURCE@@@Z
+; protected: void __cdecl CANCEL_TASK_DIALOG::SetInTimer(int) __ptr64
+?SetInTimer@CANCEL_TASK_DIALOG@@IEAAXH@Z
+; public: void __cdecl USER_BROWSER_LBI_CACHE::SetIncludeUsers(int) __ptr64
+?SetIncludeUsers@USER_BROWSER_LBI_CACHE@@QEAAXH@Z
+; private: void __cdecl HIER_LBI::SetIndentLevel(void) __ptr64
+?SetIndentLevel@HIER_LBI@@AEAAXXZ
+; public: long __cdecl GET_FNAME_BASE_DLG::SetInitialDir(class NLS_STR const & __ptr64) __ptr64
+?SetInitialDir@GET_FNAME_BASE_DLG@@QEAAJAEBVNLS_STR@@@Z
+; private: void __cdecl BLT_LISTBOX::SetItem(int,class LBI * __ptr64) __ptr64
+?SetItem@BLT_LISTBOX@@AEAAXHPEAVLBI@@@Z
+; protected: int __cdecl LIST_CONTROL::SetItemData(int,void * __ptr64) __ptr64
+?SetItemData@LIST_CONTROL@@IEAAHHPEAX@Z
+; public: int __cdecl DEVICE_CONTEXT::SetMapMode(int) __ptr64
+?SetMapMode@DEVICE_CONTEXT@@QEAAHH@Z
+; private: void __cdecl DISPLAY_MAP::SetMaskBits(unsigned char * __ptr64,int,int,unsigned int) __ptr64
+?SetMaskBits@DISPLAY_MAP@@AEAAXPEAEHHI@Z
+; private: void __cdecl SPIN_SLE_NUM::SetMaxInput(void) __ptr64
+?SetMaxInput@SPIN_SLE_NUM@@AEAAXXZ
+; public: int __cdecl COMBOBOX::SetMaxLength(unsigned int) __ptr64
+?SetMaxLength@COMBOBOX@@QEAAHI@Z
+; public: void __cdecl EDIT_CONTROL::SetMaxLength(unsigned int) __ptr64
+?SetMaxLength@EDIT_CONTROL@@QEAAXI@Z
+; public: int __cdecl APP_WINDOW::SetMenu(class IDRESOURCE const & __ptr64) __ptr64
+?SetMenu@APP_WINDOW@@QEAAHAEBVIDRESOURCE@@@Z
+; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetMin(unsigned long) __ptr64
+?SetMin@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
+; public: void __cdecl SPIN_SLE_NUM::SetMin(unsigned long) __ptr64
+?SetMin@SPIN_SLE_NUM@@QEAAXK@Z
+; public: void __cdecl BLT_TIME_SPIN_GROUP::SetMinute(int) __ptr64
+?SetMinute@BLT_TIME_SPIN_GROUP@@QEAAXH@Z
+; public: void __cdecl ELAPSED_TIME_CONTROL::SetMinuteFieldName(long) __ptr64
+?SetMinuteFieldName@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
+; public: void __cdecl ELAPSED_TIME_CONTROL::SetMinuteMin(long) __ptr64
+?SetMinuteMin@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
+; public: void __cdecl ELAPSED_TIME_CONTROL::SetMinuteRange(long) __ptr64
+?SetMinuteRange@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
+; public: void __cdecl ELAPSED_TIME_CONTROL::SetMinuteValue(long) __ptr64
+?SetMinuteValue@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
+; public: void __cdecl SPIN_GROUP::SetModified(int) __ptr64
+?SetModified@SPIN_GROUP@@QEAAXH@Z
+; public: void __cdecl BLT_DATE_SPIN_GROUP::SetMonth(int) __ptr64
+?SetMonth@BLT_DATE_SPIN_GROUP@@QEAAXH@Z
+; public: static void __cdecl POPUP::SetMsgMapTable(struct _MSGMAPENTRY * __ptr64)
+?SetMsgMapTable@POPUP@@SAXPEAU_MSGMAPENTRY@@@Z
+; protected: virtual long __cdecl BASE_SET_FOCUS_DLG::SetNetworkFocus(struct HWND__ * __ptr64,unsigned short const * __ptr64,enum FOCUS_CACHE_SETTING) __ptr64
+?SetNetworkFocus@BASE_SET_FOCUS_DLG@@MEAAJPEAUHWND__@@PEBGW4FOCUS_CACHE_SETTING@@@Z
+; protected: virtual long __cdecl STANDALONE_SET_FOCUS_DLG::SetNetworkFocus(struct HWND__ * __ptr64,unsigned short const * __ptr64,enum FOCUS_CACHE_SETTING) __ptr64
+?SetNetworkFocus@STANDALONE_SET_FOCUS_DLG@@MEAAJPEAUHWND__@@PEBGW4FOCUS_CACHE_SETTING@@@Z
+; private: void __cdecl TIMER_BASE::SetNewTimeDue(void) __ptr64
+?SetNewTimeDue@TIMER_BASE@@AEAAXXZ
+; public: long __cdecl BASE_ELLIPSIS::SetOriginalStr(unsigned short const * __ptr64) __ptr64
+?SetOriginalStr@BASE_ELLIPSIS@@QEAAJPEBG@Z
+; protected: void __cdecl DM_DTE::SetPdm(class DISPLAY_MAP * __ptr64) __ptr64
+?SetPdm@DM_DTE@@IEAAXPEAVDISPLAY_MAP@@@Z
+; public: virtual void __cdecl HIER_LBI::SetPelIndent(unsigned int) __ptr64
+?SetPelIndent@HIER_LBI@@UEAAXI@Z
+; public: long __cdecl APP_WINDOW::SetPlacement(struct tagWINDOWPLACEMENT const * __ptr64)const  __ptr64
+?SetPlacement@APP_WINDOW@@QEBAJPEBUtagWINDOWPLACEMENT@@@Z
+; public: static void __cdecl CURSOR::SetPos(class XYPOINT const & __ptr64)
+?SetPos@CURSOR@@SAXAEBVXYPOINT@@@Z
+; public: void __cdecl SCROLLBAR::SetPos(unsigned int) __ptr64
+?SetPos@SCROLLBAR@@QEAAXI@Z
+; public: void __cdecl WINDOW::SetPos(class XYPOINT,int,class WINDOW * __ptr64) __ptr64
+?SetPos@WINDOW@@QEAAXVXYPOINT@@HPEAV1@@Z
+; public: long __cdecl ICON_CONTROL::SetPredefinedIcon(class IDRESOURCE const & __ptr64) __ptr64
+?SetPredefinedIcon@ICON_CONTROL@@QEAAJAEBVIDRESOURCE@@@Z
+; public: long __cdecl WIN32_THREAD::SetPriority(int) __ptr64
+?SetPriority@WIN32_THREAD@@QEAAJH@Z
+; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetRange(unsigned long) __ptr64
+?SetRange@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
+; public: void __cdecl SCROLLBAR::SetRange(unsigned int,unsigned int) __ptr64
+?SetRange@SCROLLBAR@@QEAAXII@Z
+; public: void __cdecl SPIN_SLE_NUM::SetRange(unsigned long) __ptr64
+?SetRange@SPIN_SLE_NUM@@QEAAXK@Z
+; public: void __cdecl SPIN_SLE_STR::SetRange(long) __ptr64
+?SetRange@SPIN_SLE_STR@@QEAAXJ@Z
+; public: void __cdecl WINDOW::SetRedraw(int) __ptr64
+?SetRedraw@WINDOW@@QEAAXH@Z
+; public: long __cdecl EDIT_CONTROL::SetSaveValue(unsigned short const * __ptr64) __ptr64
+?SetSaveValue@EDIT_CONTROL@@QEAAJPEBG@Z
+; public: long __cdecl SPIN_SLE_NUM::SetSaveValue(unsigned long) __ptr64
+?SetSaveValue@SPIN_SLE_NUM@@QEAAJK@Z
+; public: void __cdecl LISTBOX::SetScrollPos(unsigned int) __ptr64
+?SetScrollPos@LISTBOX@@QEAAXI@Z
+; public: void __cdecl BLT_TIME_SPIN_GROUP::SetSecond(int) __ptr64
+?SetSecond@BLT_TIME_SPIN_GROUP@@QEAAXH@Z
+; public: void __cdecl ELAPSED_TIME_CONTROL::SetSecondFieldName(long) __ptr64
+?SetSecondFieldName@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
+; public: void __cdecl ELAPSED_TIME_CONTROL::SetSecondMin(long) __ptr64
+?SetSecondMin@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
+; public: void __cdecl ELAPSED_TIME_CONTROL::SetSecondRange(long) __ptr64
+?SetSecondRange@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
+; public: void __cdecl ELAPSED_TIME_CONTROL::SetSecondValue(long) __ptr64
+?SetSecondValue@ELAPSED_TIME_CONTROL@@QEAAXJ@Z
+; public: void __cdecl GRAPHICAL_BUTTON_WITH_DISABLE::SetSelected(int) __ptr64
+?SetSelected@GRAPHICAL_BUTTON_WITH_DISABLE@@QEAAXH@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::SetSelectedCells(int) __ptr64
+?SetSelectedCells@LOGON_HOURS_CONTROL@@AEAAXH@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::SetSelection(int) __ptr64
+?SetSelection@LOGON_HOURS_CONTROL@@AEAAXH@Z
+; private: void __cdecl LOGON_HOURS_CONTROL::SetSelection(int,int) __ptr64
+?SetSelection@LOGON_HOURS_CONTROL@@AEAAXHH@Z
+; public: void __cdecl MAGIC_GROUP::SetSelection(unsigned int) __ptr64
+?SetSelection@MAGIC_GROUP@@QEAAXI@Z
+; public: void __cdecl RADIO_GROUP::SetSelection(unsigned int) __ptr64
+?SetSelection@RADIO_GROUP@@QEAAXI@Z
+; protected: void __cdecl RADIO_GROUP::SetSelectionDontNotifyGroups(unsigned int) __ptr64
+?SetSelectionDontNotifyGroups@RADIO_GROUP@@IEAAXI@Z
+; public: void __cdecl CONSOLE_ELLIPSIS::SetSize(int) __ptr64
+?SetSize@CONSOLE_ELLIPSIS@@QEAAXH@Z
+; public: void __cdecl SLT_ELLIPSIS::SetSize(int,int,int) __ptr64
+?SetSize@SLT_ELLIPSIS@@QEAAXHHH@Z
+; public: void __cdecl WINDOW::SetSize(int,int,int) __ptr64
+?SetSize@WINDOW@@QEAAXHHH@Z
+; public: void __cdecl WINDOW::SetSize(class XYDIMENSION,int) __ptr64
+?SetSize@WINDOW@@QEAAXVXYDIMENSION@@H@Z
+; public: void __cdecl WIN_ELLIPSIS::SetSize(int,int) __ptr64
+?SetSize@WIN_ELLIPSIS@@QEAAXHH@Z
+; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetSmallDecValue(unsigned long) __ptr64
+?SetSmallDecValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
+; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetSmallIncValue(unsigned long) __ptr64
+?SetSmallIncValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
+; protected: void __cdecl NT_GROUP_BROWSER_DIALOG::SetSourceDialog(class NT_GROUP_BROWSER_DIALOG * __ptr64) __ptr64
+?SetSourceDialog@NT_GROUP_BROWSER_DIALOG@@IEAAXPEAV1@@Z
+; private: long __cdecl ELAPSED_TIME_CONTROL::SetSpinItemAccKey(class SPIN_ITEM * __ptr64,class SLT & __ptr64,int) __ptr64
+?SetSpinItemAccKey@ELAPSED_TIME_CONTROL@@AEAAJPEAVSPIN_ITEM@@AEAVSLT@@H@Z
+; protected: void __cdecl SLE_STRLB_GROUP::SetState(void)const  __ptr64
+?SetState@SLE_STRLB_GROUP@@IEBAXXZ
+; protected: void __cdecl STATE_BUTTON_CONTROL::SetState(unsigned int) __ptr64
+?SetState@STATE_BUTTON_CONTROL@@IEAAXI@Z
+; public: int __cdecl STLBITEM::SetState(int) __ptr64
+?SetState@STLBITEM@@QEAAHH@Z
+; private: void __cdecl WIN32_THREAD::SetState(enum _THREAD_STATE) __ptr64
+?SetState@WIN32_THREAD@@AEAAXW4_THREAD_STATE@@@Z
+; public: void __cdecl GRAPHICAL_BUTTON::SetStatus(unsigned int) __ptr64
+?SetStatus@GRAPHICAL_BUTTON@@QEAAXI@Z
+; public: void __cdecl GRAPHICAL_BUTTON::SetStatus(struct HBITMAP__ * __ptr64) __ptr64
+?SetStatus@GRAPHICAL_BUTTON@@QEAAXPEAUHBITMAP__@@@Z
+; private: void __cdecl SPIN_SLE_STR::SetStr(long) __ptr64
+?SetStr@SPIN_SLE_STR@@AEAAXJ@Z
+; private: long __cdecl GET_FNAME_BASE_DLG::SetStringField(unsigned short * __ptr64 * __ptr64,class NLS_STR const & __ptr64) __ptr64
+?SetStringField@GET_FNAME_BASE_DLG@@AEAAJPEAPEAGAEBVNLS_STR@@@Z
+; public: void __cdecl BASE_ELLIPSIS::SetStyle(enum ELLIPSIS_STYLE) __ptr64
+?SetStyle@BASE_ELLIPSIS@@QEAAXW4ELLIPSIS_STYLE@@@Z
+; public: void __cdecl WINDOW::SetStyle(unsigned long) __ptr64
+?SetStyle@WINDOW@@QEAAXK@Z
+; protected: virtual void __cdecl CONTROL_VALUE::SetTabStop(int) __ptr64
+?SetTabStop@CONTROL_VALUE@@MEAAXH@Z
+; protected: virtual void __cdecl CONTROL_WINDOW::SetTabStop(int) __ptr64
+?SetTabStop@CONTROL_WINDOW@@MEAAXH@Z
+; public: long __cdecl ACCOUNT_NAMES_MLE::SetTargetDomain(unsigned short const * __ptr64) __ptr64
+?SetTargetDomain@ACCOUNT_NAMES_MLE@@QEAAJPEBG@Z
+; public: long __cdecl GET_FNAME_BASE_DLG::SetText(class NLS_STR const & __ptr64) __ptr64
+?SetText@GET_FNAME_BASE_DLG@@QEAAJAEBVNLS_STR@@@Z
+; public: int __cdecl MENUITEM::SetText(unsigned short const * __ptr64) __ptr64
+?SetText@MENUITEM@@QEAAHPEBG@Z
+; public: long __cdecl SLT_ELLIPSIS::SetText(class NLS_STR const & __ptr64) __ptr64
+?SetText@SLT_ELLIPSIS@@QEAAJAEBVNLS_STR@@@Z
+; public: long __cdecl SLT_ELLIPSIS::SetText(unsigned short const * __ptr64) __ptr64
+?SetText@SLT_ELLIPSIS@@QEAAJPEBG@Z
+; public: void __cdecl WINDOW::SetText(class NLS_STR const & __ptr64) __ptr64
+?SetText@WINDOW@@QEAAXAEBVNLS_STR@@@Z
+; public: void __cdecl WINDOW::SetText(unsigned short const * __ptr64) __ptr64
+?SetText@WINDOW@@QEAAXPEBG@Z
+; public: unsigned int __cdecl DEVICE_CONTEXT::SetTextAlign(unsigned int) __ptr64
+?SetTextAlign@DEVICE_CONTEXT@@QEAAII@Z
+; public: unsigned long __cdecl DEVICE_CONTEXT::SetTextColor(unsigned long) __ptr64
+?SetTextColor@DEVICE_CONTEXT@@QEAAKK@Z
+; public: void __cdecl LIST_CONTROL::SetTopIndex(int) __ptr64
+?SetTopIndex@LIST_CONTROL@@QEAAXH@Z
+; public: long __cdecl BROWSER_SUBJECT::SetUserBrowserLBI(class USER_BROWSER_LBI * __ptr64) __ptr64
+?SetUserBrowserLBI@BROWSER_SUBJECT@@QEAAJPEAVUSER_BROWSER_LBI@@@Z
+; public: void __cdecl CHANGEABLE_SPIN_ITEM::SetValue(unsigned long) __ptr64
+?SetValue@CHANGEABLE_SPIN_ITEM@@QEAAXK@Z
+; public: void __cdecl DEC_SLT::SetValue(long) __ptr64
+?SetValue@DEC_SLT@@QEAAXJ@Z
+; public: void __cdecl DEC_SLT::SetValue(unsigned long) __ptr64
+?SetValue@DEC_SLT@@QEAAXK@Z
+; public: void __cdecl XYDIMENSION::SetWidth(unsigned int) __ptr64
+?SetWidth@XYDIMENSION@@QEAAXI@Z
+; public: void __cdecl XYPOINT::SetX(int) __ptr64
+?SetX@XYPOINT@@QEAAXH@Z
+; public: void __cdecl XYPOINT::SetY(int) __ptr64
+?SetY@XYPOINT@@QEAAXH@Z
+; public: void __cdecl BLT_DATE_SPIN_GROUP::SetYear(int) __ptr64
+?SetYear@BLT_DATE_SPIN_GROUP@@QEAAXH@Z
+; public: static void __cdecl CURSOR::Show(int)
+?Show@CURSOR@@SAXH@Z
+; public: int __cdecl POPUP::Show(void) __ptr64
+?Show@POPUP@@QEAAHXZ
+; public: int __cdecl WINDOW::Show(int) __ptr64
+?Show@WINDOW@@QEAAHH@Z
+; protected: void __cdecl BASE_SET_FOCUS_DLG::ShowArea(int) __ptr64
+?ShowArea@BASE_SET_FOCUS_DLG@@IEAAXH@Z
+; protected: void __cdecl EXPANDABLE_DIALOG::ShowArea(int) __ptr64
+?ShowArea@EXPANDABLE_DIALOG@@IEAAXH@Z
+; private: void __cdecl H_SPLITTER_BAR::ShowDragBar(class XYPOINT const & __ptr64) __ptr64
+?ShowDragBar@H_SPLITTER_BAR@@AEAAXAEBVXYPOINT@@@Z
+; public: void __cdecl WINDOW::ShowFirst(void) __ptr64
+?ShowFirst@WINDOW@@QEAAXXZ
+; private: void __cdecl H_SPLITTER_BAR::ShowSpecialCursor(int) __ptr64
+?ShowSpecialCursor@H_SPLITTER_BAR@@AEAAXH@Z
+; public: void __cdecl WIN32_THREAD::Sleep(unsigned int) __ptr64
+?Sleep@WIN32_THREAD@@QEAAXI@Z
+; public: void __cdecl USER_LBI_CACHE::Sort(void) __ptr64
+?Sort@USER_LBI_CACHE@@QEAAXXZ
+; private: static unsigned long __cdecl WIN32_THREAD::StartThread(void * __ptr64)
+?StartThread@WIN32_THREAD@@CAKPEAX@Z
+; private: long __cdecl LB_COL_WIDTHS::StretchForFonts(struct HWND__ * __ptr64,unsigned short const * __ptr64) __ptr64
+?StretchForFonts@LB_COL_WIDTHS@@AEAAJPEAUHWND__@@PEBG@Z
+; public: long __cdecl MASK_MAP::StringToBits(class NLS_STR const & __ptr64,class BITFIELD * __ptr64,int,unsigned int * __ptr64) __ptr64
+?StringToBits@MASK_MAP@@QEAAJAEBVNLS_STR@@PEAVBITFIELD@@HPEAI@Z
+; protected: long __cdecl ACCOUNT_NAMES_MLE::StripDomainIfWellKnown(class NLS_STR * __ptr64) __ptr64
+?StripDomainIfWellKnown@ACCOUNT_NAMES_MLE@@IEAAJPEAVNLS_STR@@@Z
+; protected: __int64 __cdecl CUSTOM_CONTROL::SubClassWndProc(class EVENT const & __ptr64) __ptr64
+?SubClassWndProc@CUSTOM_CONTROL@@IEAA_JAEBVEVENT@@@Z
+; public: long __cdecl WIN32_THREAD::Suspend(void) __ptr64
+?Suspend@WIN32_THREAD@@QEAAJXZ
+; public: static void __cdecl BASE_ELLIPSIS::Term(void)
+?Term@BASE_ELLIPSIS@@SAXXZ
+; public: static void __cdecl BLT::Term(struct HINSTANCE__ * __ptr64)
+?Term@BLT@@SAXPEAUHINSTANCE__@@@Z
+; public: static void __cdecl BLTIMP::Term(void)
+?Term@BLTIMP@@SAXXZ
+; public: static void __cdecl BLT_MASTER_TIMER::Term(void)
+?Term@BLT_MASTER_TIMER@@SAXXZ
+; public: static void __cdecl CLIENT_WINDOW::Term(void)
+?Term@CLIENT_WINDOW@@SAXXZ
+; public: static void __cdecl POPUP::Term(void)
+?Term@POPUP@@SAXXZ
+; public: static void __cdecl BLT::TermDLL(void)
+?TermDLL@BLT@@SAXXZ
+; public: long __cdecl WIN32_THREAD::Terminate(unsigned int) __ptr64
+?Terminate@WIN32_THREAD@@QEAAJI@Z
+; public: int __cdecl DEVICE_CONTEXT::TextOutW(class NLS_STR const & __ptr64,class XYPOINT)const  __ptr64
+?TextOutW@DEVICE_CONTEXT@@QEBAHAEBVNLS_STR@@VXYPOINT@@@Z
+; public: int __cdecl DEVICE_CONTEXT::TextOutW(class NLS_STR const & __ptr64,class XYPOINT,struct tagRECT const * __ptr64)const  __ptr64
+?TextOutW@DEVICE_CONTEXT@@QEBAHAEBVNLS_STR@@VXYPOINT@@PEBUtagRECT@@@Z
+; public: int __cdecl DEVICE_CONTEXT::TextOutW(unsigned short const * __ptr64,int,int,int)const  __ptr64
+?TextOutW@DEVICE_CONTEXT@@QEBAHPEBGHHH@Z
+; public: int __cdecl DEVICE_CONTEXT::TextOutW(unsigned short const * __ptr64,int,int,int,struct tagRECT const * __ptr64)const  __ptr64
+?TextOutW@DEVICE_CONTEXT@@QEBAHPEBGHHHPEBUtagRECT@@@Z
+; public: int __cdecl CHECKBOX::Toggle(void) __ptr64
+?Toggle@CHECKBOX@@QEAAHXZ
+; public: long __cdecl LM_OLLB::ToggleDomain(int) __ptr64
+?ToggleDomain@LM_OLLB@@QEAAJH@Z
+; public: long __cdecl POPUP_MENU::Track(class PWND2HWND const & __ptr64,unsigned int,int,int,struct tagRECT const * __ptr64)const  __ptr64
+?Track@POPUP_MENU@@QEBAJAEBVPWND2HWND@@IHHPEBUtagRECT@@@Z
+; public: int __cdecl ACCELTABLE::Translate(class WINDOW const * __ptr64,struct tagMSG * __ptr64)const  __ptr64
+?Translate@ACCELTABLE@@QEBAHPEBVWINDOW@@PEAUtagMSG@@@Z
+; public: void __cdecl TIMER_BASE::TriggerNow(void) __ptr64
+?TriggerNow@TIMER_BASE@@QEAAXXZ
+; long __cdecl TrimLeading(class NLS_STR * __ptr64,unsigned short const * __ptr64)
+?TrimLeading@@YAJPEAVNLS_STR@@PEBG@Z
+; long __cdecl TrimTrailing(class NLS_STR * __ptr64,unsigned short const * __ptr64)
+?TrimTrailing@@YAJPEAVNLS_STR@@PEBG@Z
+; public: void __cdecl AUTO_CURSOR::TurnOff(void) __ptr64
+?TurnOff@AUTO_CURSOR@@QEAAXXZ
+; public: void __cdecl AUTO_CURSOR::TurnOn(void) __ptr64
+?TurnOn@AUTO_CURSOR@@QEAAXXZ
+; public: long __cdecl BROWSER_DOMAIN::UnRequestAccountData(void) __ptr64
+?UnRequestAccountData@BROWSER_DOMAIN@@QEAAJXZ
+; public: long __cdecl DOMAIN_FILL_THREAD::UnRequestAccountData(void) __ptr64
+?UnRequestAccountData@DOMAIN_FILL_THREAD@@QEAAJXZ
+; public: virtual void __cdecl UI_EXT_MGR::UnloadExtensions(void) __ptr64
+?UnloadExtensions@UI_EXT_MGR@@UEAAXXZ
+; private: void __cdecl LOGON_HOURS_CONTROL::UnloadLabels(void) __ptr64
+?UnloadLabels@LOGON_HOURS_CONTROL@@AEAAXXZ
+; protected: virtual void __cdecl USER_LBI_CACHE::UnlockCache(void) __ptr64
+?UnlockCache@USER_LBI_CACHE@@MEAAXXZ
+; private: static void __cdecl BLTIMP::Unwind(enum BLT_CTOR_STATE)
+?Unwind@BLTIMP@@CAXW4BLT_CTOR_STATE@@@Z
+; public: virtual void __cdecl CHANGEABLE_SPIN_ITEM::Update(void) __ptr64
+?Update@CHANGEABLE_SPIN_ITEM@@UEAAXXZ
+; public: virtual void __cdecl SPIN_SLE_NUM::Update(void) __ptr64
+?Update@SPIN_SLE_NUM@@UEAAXXZ
+; public: virtual void __cdecl SPIN_SLE_STR::Update(void) __ptr64
+?Update@SPIN_SLE_STR@@UEAAXXZ
+; protected: void __cdecl NT_FIND_ACCOUNT_DIALOG::UpdateButtonState(void) __ptr64
+?UpdateButtonState@NT_FIND_ACCOUNT_DIALOG@@IEAAXXZ
+; protected: virtual void __cdecl NT_GROUP_BROWSER_DIALOG::UpdateButtonState(void) __ptr64
+?UpdateButtonState@NT_GROUP_BROWSER_DIALOG@@MEAAXXZ
+; protected: virtual void __cdecl NT_LOCALGROUP_BROWSER_DIALOG::UpdateButtonState(void) __ptr64
+?UpdateButtonState@NT_LOCALGROUP_BROWSER_DIALOG@@MEAAXXZ
+; protected: void __cdecl NT_USER_BROWSER_DIALOG::UpdateButtonState(void) __ptr64
+?UpdateButtonState@NT_USER_BROWSER_DIALOG@@IEAAXXZ
+; private: void __cdecl BASE_SET_FOCUS_DLG::UpdateRasMode(void) __ptr64
+?UpdateRasMode@BASE_SET_FOCUS_DLG@@AEAAXXZ
+; public: virtual long __cdecl CONTROL_WINDOW::Validate(void) __ptr64
+?Validate@CONTROL_WINDOW@@UEAAJXZ
+; private: long __cdecl DIALOG_WINDOW::Validate(void) __ptr64
+?Validate@DIALOG_WINDOW@@AEAAJXZ
+; public: virtual long __cdecl ICANON_SLE::Validate(void) __ptr64
+?Validate@ICANON_SLE@@UEAAJXZ
+; public: virtual long __cdecl SPIN_SLE_NUM::Validate(void) __ptr64
+?Validate@SPIN_SLE_NUM@@UEAAJXZ
+; protected: virtual long __cdecl SLE_STRLB_GROUP::W_Add(unsigned short const * __ptr64) __ptr64
+?W_Add@SLE_STRLB_GROUP@@MEAAJPEBG@Z
+; private: virtual unsigned short __cdecl GLOBAL_ATOM::W_AddAtom(unsigned short const * __ptr64)const  __ptr64
+?W_AddAtom@GLOBAL_ATOM@@EEBAGPEBG@Z
+; private: virtual unsigned short __cdecl LOCAL_ATOM::W_AddAtom(unsigned short const * __ptr64)const  __ptr64
+?W_AddAtom@LOCAL_ATOM@@EEBAGPEBG@Z
+; protected: long __cdecl MENU_BASE::W_Append(void const * __ptr64,unsigned __int64,unsigned int)const  __ptr64
+?W_Append@MENU_BASE@@IEBAJPEBX_KI@Z
+; private: long __cdecl UI_MENU_EXT::W_BiasMenuIds(struct HMENU__ * __ptr64,unsigned long) __ptr64
+?W_BiasMenuIds@UI_MENU_EXT@@AEAAJPEAUHMENU__@@K@Z
+; private: class LBI * __ptr64 __cdecl USER_LBI_CACHE::W_GetLBI(int) __ptr64
+?W_GetLBI@USER_LBI_CACHE@@AEAAPEAVLBI@@H@Z
+; private: int __cdecl USER_LBI_CACHE::W_GrowCache(int) __ptr64
+?W_GrowCache@USER_LBI_CACHE@@AEAAHH@Z
+; protected: long __cdecl MENU_BASE::W_Insert(void const * __ptr64,unsigned int,unsigned __int64,unsigned int)const  __ptr64
+?W_Insert@MENU_BASE@@IEBAJPEBXI_KI@Z
+; protected: virtual class UI_EXT * __ptr64 __cdecl UI_EXT_MGR::W_LoadExtension(unsigned short const * __ptr64,unsigned long) __ptr64
+?W_LoadExtension@UI_EXT_MGR@@MEAAPEAVUI_EXT@@PEBGK@Z
+; protected: long __cdecl MENU_BASE::W_Modify(void const * __ptr64,unsigned int,unsigned __int64,unsigned int)const  __ptr64
+?W_Modify@MENU_BASE@@IEBAJPEBXI_KI@Z
+; public: void __cdecl BROWSER_DOMAIN_LBI::W_Paint(class BROWSER_DOMAIN_CB * __ptr64,class LISTBOX * __ptr64,struct HDC__ * __ptr64,struct tagRECT const * __ptr64,struct GUILTT_INFO * __ptr64)const  __ptr64
+?W_Paint@BROWSER_DOMAIN_LBI@@QEBAXPEAVBROWSER_DOMAIN_CB@@PEAVLISTBOX@@PEAUHDC__@@PEBUtagRECT@@PEAUGUILTT_INFO@@@Z
+; protected: int __cdecl MENU_BASE::W_QueryItemText(unsigned short * __ptr64,unsigned int,unsigned int,unsigned int)const  __ptr64
+?W_QueryItemText@MENU_BASE@@IEBAHPEAGIII@Z
+; private: virtual long __cdecl GLOBAL_ATOM::W_QueryString(unsigned short * __ptr64,unsigned int)const  __ptr64
+?W_QueryString@GLOBAL_ATOM@@EEBAJPEAGI@Z
+; private: virtual long __cdecl LOCAL_ATOM::W_QueryString(unsigned short * __ptr64,unsigned int)const  __ptr64
+?W_QueryString@LOCAL_ATOM@@EEBAJPEAGI@Z
+; private: long __cdecl ICON_CONTROL::W_SetIcon(class IDRESOURCE const & __ptr64,int) __ptr64
+?W_SetIcon@ICON_CONTROL@@AEAAJAEBVIDRESOURCE@@H@Z
+; public: long __cdecl WIN32_SYNC_BASE::Wait(unsigned int) __ptr64
+?Wait@WIN32_SYNC_BASE@@QEAAJI@Z
+; public: long __cdecl BROWSER_DOMAIN::WaitForAdminAuthority(unsigned long,int * __ptr64)const  __ptr64
+?WaitForAdminAuthority@BROWSER_DOMAIN@@QEBAJKPEAH@Z
+; public: long __cdecl DOMAIN_FILL_THREAD::WaitForAdminAuthority(unsigned long,int * __ptr64)const  __ptr64
+?WaitForAdminAuthority@DOMAIN_FILL_THREAD@@QEBAJKPEAH@Z
+; private: int __cdecl OPEN_DIALOG_BASE::WarnCloseMulti(void) __ptr64
+?WarnCloseMulti@OPEN_DIALOG_BASE@@AEAAHXZ
+; private: int __cdecl OPEN_DIALOG_BASE::WarnCloseSingle(class OPEN_LBI_BASE * __ptr64) __ptr64
+?WarnCloseSingle@OPEN_DIALOG_BASE@@AEAAHPEAVOPEN_LBI_BASE@@@Z
+; private: int __cdecl ARRAY_CONTROLVAL_CID_PAIR::WithinRange(unsigned int)const  __ptr64
+?WithinRange@ARRAY_CONTROLVAL_CID_PAIR@@AEBAHI@Z
+; public: static __int64 __cdecl CLIENT_WINDOW::WndProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?WndProc@CLIENT_WINDOW@@SA_JPEAUHWND__@@I_K_J@Z
+; public: static __int64 __cdecl CUSTOM_CONTROL::WndProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?WndProc@CUSTOM_CONTROL@@SA_JPEAUHWND__@@I_K_J@Z
+; int __cdecl max(int,int)
+?max@@YAHHH@Z
+; int __cdecl min(int,int)
+?min@@YAHHH@Z
+; public: unsigned long (__cdecl*__cdecl GET_FNAME_BASE_DLG::pfExtendedError(void)const  __ptr64)(void)
+?pfExtendedError@GET_FNAME_BASE_DLG@@QEBAP6AKXZXZ
+; public: int (__cdecl*__cdecl GET_FNAME_BASE_DLG::pfGetOpenFileName(void)const  __ptr64)(struct tagOFNW * __ptr64)
+?pfGetOpenFileName@GET_FNAME_BASE_DLG@@QEBAP6AHPEAUtagOFNW@@@ZXZ
+; public: int (__cdecl*__cdecl GET_FNAME_BASE_DLG::pfGetSaveFileName(void)const  __ptr64)(struct tagOFNW * __ptr64)
+?pfGetSaveFileName@GET_FNAME_BASE_DLG@@QEBAP6AHPEAUtagOFNW@@@ZXZ
+BltCCWndProc
+BltDlgProc
+BltWndProc
+CloseUserBrowser
+EnumUserBrowserSelection
+LongToHandle
+OpenUserBrowser
+PtrToUlong
+ShellDlgProc
+UIntToPtr
diff --git a/mingw-w64-crt/lib64/newdev.def b/mingw-w64-crt/lib64/newdev.def
index c0456a5..157d61e 100644
--- a/mingw-w64-crt/lib64/newdev.def
+++ b/mingw-w64-crt/lib64/newdev.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file newdev.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY newdev.dll
-EXPORTS
-ClientSideInstallW
-DevInstallW
-InstallDevInst
-InstallDevInstEx
-InstallNewDevice
-InstallSelectedDevice
-InstallSelectedDriver
-InstallWindowsUpdateDriver
-RollbackDriver
-UpdateDriverForPlugAndPlayDevicesA
-UpdateDriverForPlugAndPlayDevicesW
-WindowsUpdateDriverSearchingPolicyUi
+; 
+; Exports of file newdev.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY newdev.dll
+EXPORTS
+ClientSideInstallW
+DevInstallW
+InstallDevInst
+InstallDevInstEx
+InstallNewDevice
+InstallSelectedDevice
+InstallSelectedDriver
+InstallWindowsUpdateDriver
+RollbackDriver
+UpdateDriverForPlugAndPlayDevicesA
+UpdateDriverForPlugAndPlayDevicesW
+WindowsUpdateDriverSearchingPolicyUi
diff --git a/mingw-w64-crt/lib64/nextlink.def b/mingw-w64-crt/lib64/nextlink.def
index 67957ca..9c6b40c 100644
--- a/mingw-w64-crt/lib64/nextlink.def
+++ b/mingw-w64-crt/lib64/nextlink.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NextLink.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NextLink.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NextLink.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NextLink.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/nlhtml.def b/mingw-w64-crt/lib64/nlhtml.def
index 36fe730..3d920f8 100644
--- a/mingw-w64-crt/lib64/nlhtml.def
+++ b/mingw-w64-crt/lib64/nlhtml.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NLHTML.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NLHTML.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NLHTML.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NLHTML.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/nntpadm.def b/mingw-w64-crt/lib64/nntpadm.def
index 1cf0ce4..4652702 100644
--- a/mingw-w64-crt/lib64/nntpadm.def
+++ b/mingw-w64-crt/lib64/nntpadm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NNTPADM.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NNTPADM.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NNTPADM.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NNTPADM.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/nntpapi.def b/mingw-w64-crt/lib64/nntpapi.def
index c253e30..24c7c2b 100644
--- a/mingw-w64-crt/lib64/nntpapi.def
+++ b/mingw-w64-crt/lib64/nntpapi.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file NNTPAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NNTPAPI.dll
-EXPORTS
-NntpAddExpire
-NntpAddFeed
-NntpCancelMessageID
-NntpClearStatistics
-NntpCreateNewsgroup
-NntpDeleteExpire
-NntpDeleteFeed
-NntpDeleteNewsgroup
-NntpEnableFeed
-NntpEnumerateExpires
-NntpEnumerateFeeds
-NntpEnumerateSessions
-NntpFindNewsgroup
-NntpGetAdminInformation
-NntpGetBuildStatus
-NntpGetExpireInformation
-NntpGetFeedInformation
-NntpGetNewsgroup
-NntpGetVRootWin32Error
-NntpQueryStatistics
-NntpSetAdminInformation
-NntpSetExpireInformation
-NntpSetFeedInformation
-NntpSetNewsgroup
-NntpStartRebuild
-NntpTerminateSession
+; 
+; Exports of file NNTPAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NNTPAPI.dll
+EXPORTS
+NntpAddExpire
+NntpAddFeed
+NntpCancelMessageID
+NntpClearStatistics
+NntpCreateNewsgroup
+NntpDeleteExpire
+NntpDeleteFeed
+NntpDeleteNewsgroup
+NntpEnableFeed
+NntpEnumerateExpires
+NntpEnumerateFeeds
+NntpEnumerateSessions
+NntpFindNewsgroup
+NntpGetAdminInformation
+NntpGetBuildStatus
+NntpGetExpireInformation
+NntpGetFeedInformation
+NntpGetNewsgroup
+NntpGetVRootWin32Error
+NntpQueryStatistics
+NntpSetAdminInformation
+NntpSetExpireInformation
+NntpSetFeedInformation
+NntpSetNewsgroup
+NntpStartRebuild
+NntpTerminateSession
diff --git a/mingw-w64-crt/lib64/nntpsnap.def b/mingw-w64-crt/lib64/nntpsnap.def
index 3dae967..42590b9 100644
--- a/mingw-w64-crt/lib64/nntpsnap.def
+++ b/mingw-w64-crt/lib64/nntpsnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NNTPSNAP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NNTPSNAP.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NNTPSNAP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NNTPSNAP.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/normaliz.def b/mingw-w64-crt/lib64/normaliz.def
index d44519f..89663f4 100644
--- a/mingw-w64-crt/lib64/normaliz.def
+++ b/mingw-w64-crt/lib64/normaliz.def
@@ -1,12 +1,12 @@
-;
-; Definition file of Normaliz.dll
-; Automatic generated by gendef
-; written by Kai Tietz 2008
-;
-LIBRARY "Normaliz.dll"
-EXPORTS
-IdnToAscii
-IdnToNameprepUnicode
-IdnToUnicode
-IsNormalizedString
-NormalizeString
+;
+; Definition file of Normaliz.dll
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "Normaliz.dll"
+EXPORTS
+IdnToAscii
+IdnToNameprepUnicode
+IdnToUnicode
+IsNormalizedString
+NormalizeString
diff --git a/mingw-w64-crt/lib64/npptools.def b/mingw-w64-crt/lib64/npptools.def
index fb3ec51..9f762e8 100644
--- a/mingw-w64-crt/lib64/npptools.def
+++ b/mingw-w64-crt/lib64/npptools.def
@@ -1,73 +1,73 @@
-; 
-; Exports of file NPPTools.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NPPTools.dll
-EXPORTS
-ClearEventData
-ReleaseEventSystem
-SendEvent
-ConvertHexStringToWString
-ConvertWStringToHexString
-CreateBlob
-CreateNPPInterface
-DestroyBlob
-DuplicateBlob
-FilterNPPBlob
-FindOneOf
-FindUnknownBlobCategories
-FindUnknownBlobTags
-GetBoolFromBlob
-GetClassIDFromBlob
-GetDwordFromBlob
-GetMacAddressFromBlob
-GetNPPAddress2FilterFromBlob
-GetNPPAddressFilterFromBlob
-GetNPPBlobFromUI
-GetNPPBlobTable
-GetNPPEtypeSapFilter
-GetNPPMacTypeAsNumber
-GetNPPPatternFilterFromBlob
-GetNPPTriggerFromBlob
-GetNetworkInfoFromBlob
-GetStringFromBlob
-GetStringsFromBlob
-GetWStringFromBlob
-IsRemoteNPP
-LockBlob
-MarshalBlob
-MergeBlob
-NmAddUsedEntry
-NmHeapAllocate
-NmHeapFree
-NmHeapReallocate
-NmHeapSetMaxSize
-NmHeapSize
-NmRemoveUsedEntry
-RaiseNMEvent
-ReadBlobFromFile
-RegCreateBlobKey
-RegOpenBlobKey
-RemoveFromBlob
-SelectNPPBlobFromTable
-SetBoolInBlob
-SetClassIDInBlob
-SetDwordInBlob
-SetMacAddressInBlob
-SetNPPAddress2FilterInBlob
-SetNPPAddressFilterInBlob
-SetNPPEtypeSapFilter
-SetNPPPatternFilterInBlob
-SetNPPTriggerInBlob
-SetNetworkInfoInBlob
-SetStringInBlob
-SetWStringInBlob
-SubkeyExists
-UnMarshalBlob
-UnlockBlob
-WriteBlobToFile
-WriteCrackedBlobToFile
-recursiveDeleteKey
-setKeyAndValue
+; 
+; Exports of file NPPTools.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NPPTools.dll
+EXPORTS
+ClearEventData
+ReleaseEventSystem
+SendEvent
+ConvertHexStringToWString
+ConvertWStringToHexString
+CreateBlob
+CreateNPPInterface
+DestroyBlob
+DuplicateBlob
+FilterNPPBlob
+FindOneOf
+FindUnknownBlobCategories
+FindUnknownBlobTags
+GetBoolFromBlob
+GetClassIDFromBlob
+GetDwordFromBlob
+GetMacAddressFromBlob
+GetNPPAddress2FilterFromBlob
+GetNPPAddressFilterFromBlob
+GetNPPBlobFromUI
+GetNPPBlobTable
+GetNPPEtypeSapFilter
+GetNPPMacTypeAsNumber
+GetNPPPatternFilterFromBlob
+GetNPPTriggerFromBlob
+GetNetworkInfoFromBlob
+GetStringFromBlob
+GetStringsFromBlob
+GetWStringFromBlob
+IsRemoteNPP
+LockBlob
+MarshalBlob
+MergeBlob
+NmAddUsedEntry
+NmHeapAllocate
+NmHeapFree
+NmHeapReallocate
+NmHeapSetMaxSize
+NmHeapSize
+NmRemoveUsedEntry
+RaiseNMEvent
+ReadBlobFromFile
+RegCreateBlobKey
+RegOpenBlobKey
+RemoveFromBlob
+SelectNPPBlobFromTable
+SetBoolInBlob
+SetClassIDInBlob
+SetDwordInBlob
+SetMacAddressInBlob
+SetNPPAddress2FilterInBlob
+SetNPPAddressFilterInBlob
+SetNPPEtypeSapFilter
+SetNPPPatternFilterInBlob
+SetNPPTriggerInBlob
+SetNetworkInfoInBlob
+SetStringInBlob
+SetWStringInBlob
+SubkeyExists
+UnMarshalBlob
+UnlockBlob
+WriteBlobToFile
+WriteCrackedBlobToFile
+recursiveDeleteKey
+setKeyAndValue
diff --git a/mingw-w64-crt/lib64/nshipsec.def b/mingw-w64-crt/lib64/nshipsec.def
index 8f195bc..a7d1106 100644
--- a/mingw-w64-crt/lib64/nshipsec.def
+++ b/mingw-w64-crt/lib64/nshipsec.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file NSHIPSEC.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NSHIPSEC.DLL
-EXPORTS
-GetIpsecLastError
-GetResourceString
-InitHelperDll
+; 
+; Exports of file NSHIPSEC.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NSHIPSEC.DLL
+EXPORTS
+GetIpsecLastError
+GetResourceString
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/ntdll.def b/mingw-w64-crt/lib64/ntdll.def
index 71b1fa9..7280f17 100644
--- a/mingw-w64-crt/lib64/ntdll.def
+++ b/mingw-w64-crt/lib64/ntdll.def
@@ -1,1383 +1,1383 @@
-; 
-; Exports of file ntdll.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntdll.dll
-EXPORTS
-PropertyLengthAsVariant
-RtlConvertPropertyToVariant
-RtlConvertVariantToProperty
-CsrAllocateCaptureBuffer
-CsrAllocateMessagePointer
-CsrCaptureMessageBuffer
-CsrCaptureMessageMultiUnicodeStringsInPlace
-CsrCaptureMessageString
-CsrCaptureTimeout
-CsrClientCallServer
-CsrClientConnectToServer
-CsrFreeCaptureBuffer
-CsrGetProcessId
-CsrIdentifyAlertableThread
-CsrNewThread
-CsrProbeForRead
-CsrProbeForWrite
-CsrSetPriorityClass
-DbgBreakPoint
-DbgPrint
-DbgPrintEx
-DbgPrintReturnControlC
-DbgPrompt
-DbgQueryDebugFilterState
-DbgSetDebugFilterState
-DbgUiConnectToDbg
-DbgUiContinue
-DbgUiConvertStateChangeStructure
-DbgUiDebugActiveProcess
-DbgUiGetThreadDebugObject
-DbgUiIssueRemoteBreakin
-DbgUiRemoteBreakin
-DbgUiSetThreadDebugObject
-DbgUiStopDebugging
-DbgUiWaitStateChange
-DbgUserBreakPoint
-EtwControlTraceA
-EtwControlTraceW
-EtwCreateTraceInstanceId
-EtwEnableTrace
-EtwEnumerateTraceGuids
-EtwFlushTraceA
-EtwFlushTraceW
-EtwGetTraceEnableFlags
-EtwGetTraceEnableLevel
-EtwGetTraceLoggerHandle
-EtwNotificationRegistrationA
-EtwNotificationRegistrationW
-EtwQueryAllTracesA
-EtwQueryAllTracesW
-EtwQueryTraceA
-EtwQueryTraceW
-EtwReceiveNotificationsA
-EtwReceiveNotificationsW
-EtwRegisterTraceGuidsA
-EtwRegisterTraceGuidsW
-EtwStartTraceA
-EtwStartTraceW
-EtwStopTraceA
-EtwStopTraceW
-EtwTraceEvent
-EtwTraceEventInstance
-EtwTraceMessage
-EtwTraceMessageVa
-EtwUnregisterTraceGuids
-EtwUpdateTraceA
-EtwUpdateTraceW
-EtwpGetTraceBuffer
-EtwpSetHWConfigFunction
-ExpInterlockedPopEntrySListEnd
-ExpInterlockedPopEntrySListFault
-ExpInterlockedPopEntrySListResume
-KiRaiseUserExceptionDispatcher
-KiUserApcDispatcher
-KiUserCallbackDispatcher
-KiUserExceptionDispatcher
-LdrAccessOutOfProcessResource
-LdrAccessResource
-LdrAddRefDll
-LdrAlternateResourcesEnabled
-LdrCreateOutOfProcessImage
-LdrDestroyOutOfProcessImage
-LdrDisableThreadCalloutsForDll
-LdrEnumResources
-LdrEnumerateLoadedModules
-LdrFindCreateProcessManifest
-LdrFindEntryForAddress
-LdrFindResourceDirectory_U
-LdrFindResourceEx_U
-LdrFindResource_U
-LdrFlushAlternateResourceModules
-LdrGetDllHandle
-LdrGetDllHandleEx
-LdrGetKnownDllSectionHandle
-LdrGetProcedureAddress
-LdrHotPatchRoutine
-LdrInitShimEngineDynamic
-LdrInitializeThunk
-LdrLoadAlternateResourceModule
-LdrLoadDll
-LdrLockLoaderLock
-LdrOpenImageFileOptionsKey
-LdrProcessInitializationComplete
-LdrProcessRelocationBlock
-LdrQueryImageFileExecutionOptions
-LdrQueryImageFileExecutionOptionsEx
-LdrQueryImageFileKeyOption
-LdrQueryProcessModuleInformation
-LdrSetAppCompatDllRedirectionCallback
-LdrSetDllManifestProber
-LdrShutdownProcess
-LdrShutdownThread
-LdrUnloadAlternateResourceModule
-LdrUnloadDll
-LdrUnlockLoaderLock
-LdrVerifyImageMatchesChecksum
-NlsAnsiCodePage DATA
-NlsMbCodePageTag DATA
-NlsMbOemCodePageTag DATA
-NtAcceptConnectPort
-NtAccessCheck
-NtAccessCheckAndAuditAlarm
-NtAccessCheckByType
-NtAccessCheckByTypeAndAuditAlarm
-NtAccessCheckByTypeResultList
-NtAccessCheckByTypeResultListAndAuditAlarm
-NtAccessCheckByTypeResultListAndAuditAlarmByHandle
-NtAddAtom
-NtAddBootEntry
-NtAddDriverEntry
-NtAdjustGroupsToken
-NtAdjustPrivilegesToken
-NtAlertResumeThread
-NtAlertThread
-NtAllocateLocallyUniqueId
-NtAllocateUserPhysicalPages
-NtAllocateUuids
-NtAllocateVirtualMemory
-NtApphelpCacheControl
-NtAreMappedFilesTheSame
-NtAssignProcessToJobObject
-NtCallbackReturn
-NtCancelDeviceWakeupRequest
-NtCancelIoFile
-NtCancelTimer
-NtClearEvent
-NtClose
-NtCloseObjectAuditAlarm
-NtCompactKeys
-NtCompareTokens
-NtCompleteConnectPort
-NtCompressKey
-NtConnectPort
-NtContinue
-NtCreateDebugObject
-NtCreateDirectoryObject
-NtCreateEvent
-NtCreateEventPair
-NtCreateFile
-NtCreateIoCompletion
-NtCreateJobObject
-NtCreateJobSet
-NtCreateKey
-NtCreateKeyedEvent
-NtCreateMailslotFile
-NtCreateMutant
-NtCreateNamedPipeFile
-NtCreatePagingFile
-NtCreatePort
-NtCreateProcess
-NtCreateProcessEx
-NtCreateProfile
-NtCreateSection
-NtCreateSemaphore
-NtCreateSymbolicLinkObject
-NtCreateThread
-NtCreateTimer
-NtCreateToken
-NtCreateWaitablePort
-NtDebugActiveProcess
-NtDebugContinue
-NtDelayExecution
-NtDeleteAtom
-NtDeleteBootEntry
-NtDeleteDriverEntry
-NtDeleteFile
-NtDeleteKey
-NtDeleteObjectAuditAlarm
-NtDeleteValueKey
-NtDeviceIoControlFile
-NtDisplayString
-NtDuplicateObject
-NtDuplicateToken
-NtEnumerateBootEntries
-NtEnumerateDriverEntries
-NtEnumerateKey
-NtEnumerateSystemEnvironmentValuesEx
-NtEnumerateValueKey
-NtExtendSection
-NtFilterToken
-NtFindAtom
-NtFlushBuffersFile
-NtFlushInstructionCache
-NtFlushKey
-NtFlushVirtualMemory
-NtFlushWriteBuffer
-NtFreeUserPhysicalPages
-NtFreeVirtualMemory
-NtFsControlFile
-NtGetContextThread
-NtGetCurrentProcessorNumber
-NtGetDevicePowerState
-NtGetPlugPlayEvent
-NtGetTickCount
-NtGetWriteWatch
-NtImpersonateAnonymousToken
-NtImpersonateClientOfPort
-NtImpersonateThread
-NtInitializeRegistry
-NtInitiatePowerAction
-NtIsProcessInJob
-NtIsSystemResumeAutomatic
-NtListenPort
-NtLoadDriver
-NtLoadKey
-NtLoadKey2
-NtLoadKeyEx
-NtLockFile
-NtLockProductActivationKeys
-NtLockRegistryKey
-NtLockVirtualMemory
-NtMakePermanentObject
-NtMakeTemporaryObject
-NtMapUserPhysicalPages
-NtMapUserPhysicalPagesScatter
-NtMapViewOfSection
-NtModifyBootEntry
-NtModifyDriverEntry
-NtNotifyChangeDirectoryFile
-NtNotifyChangeKey
-NtNotifyChangeMultipleKeys
-NtOpenDirectoryObject
-NtOpenEvent
-NtOpenEventPair
-NtOpenFile
-NtOpenIoCompletion
-NtOpenJobObject
-NtOpenKey
-NtOpenKeyedEvent
-NtOpenMutant
-NtOpenObjectAuditAlarm
-NtOpenProcess
-NtOpenProcessToken
-NtOpenProcessTokenEx
-NtOpenSection
-NtOpenSemaphore
-NtOpenSymbolicLinkObject
-NtOpenThread
-NtOpenThreadToken
-NtOpenThreadTokenEx
-NtOpenTimer
-NtPlugPlayControl
-NtPowerInformation
-NtPrivilegeCheck
-NtPrivilegeObjectAuditAlarm
-NtPrivilegedServiceAuditAlarm
-NtProtectVirtualMemory
-NtPulseEvent
-NtQueryAttributesFile
-NtQueryBootEntryOrder
-NtQueryBootOptions
-NtQueryDebugFilterState
-NtQueryDefaultLocale
-NtQueryDefaultUILanguage
-NtQueryDirectoryFile
-NtQueryDirectoryObject
-NtQueryDriverEntryOrder
-NtQueryEaFile
-NtQueryEvent
-NtQueryFullAttributesFile
-NtQueryInformationAtom
-NtQueryInformationFile
-NtQueryInformationJobObject
-NtQueryInformationPort
-NtQueryInformationProcess
-NtQueryInformationThread
-NtQueryInformationToken
-NtQueryInstallUILanguage
-NtQueryIntervalProfile
-NtQueryIoCompletion
-NtQueryKey
-NtQueryMultipleValueKey
-NtQueryMutant
-NtQueryObject
-NtQueryOpenSubKeys
-NtQueryOpenSubKeysEx
-NtQueryPerformanceCounter
-NtQueryPortInformationProcess
-NtQueryQuotaInformationFile
-NtQuerySection
-NtQuerySecurityObject
-NtQuerySemaphore
-NtQuerySymbolicLinkObject
-NtQuerySystemEnvironmentValue
-NtQuerySystemEnvironmentValueEx
-NtQuerySystemInformation
-NtQuerySystemTime
-NtQueryTimer
-NtQueryTimerResolution
-NtQueryValueKey
-NtQueryVirtualMemory
-NtQueryVolumeInformationFile
-NtQueueApcThread
-NtRaiseException
-NtRaiseHardError
-NtReadFile
-NtReadFileScatter
-NtReadRequestData
-NtReadVirtualMemory
-NtRegisterThreadTerminatePort
-NtReleaseKeyedEvent
-NtReleaseMutant
-NtReleaseSemaphore
-NtRemoveIoCompletion
-NtRemoveProcessDebug
-NtRenameKey
-NtReplaceKey
-NtReplyPort
-NtReplyWaitReceivePort
-NtReplyWaitReceivePortEx
-NtReplyWaitReplyPort
-NtRequestDeviceWakeup
-NtRequestPort
-NtRequestWaitReplyPort
-NtRequestWakeupLatency
-NtResetEvent
-NtResetWriteWatch
-NtRestoreKey
-NtResumeProcess
-NtResumeThread
-NtSaveKey
-NtSaveKeyEx
-NtSaveMergedKeys
-NtSecureConnectPort
-NtSetBootEntryOrder
-NtSetBootOptions
-NtSetContextThread
-NtSetDebugFilterState
-NtSetDefaultHardErrorPort
-NtSetDefaultLocale
-NtSetDefaultUILanguage
-NtSetDriverEntryOrder
-NtSetEaFile
-NtSetEvent
-NtSetEventBoostPriority
-NtSetHighEventPair
-NtSetHighWaitLowEventPair
-NtSetInformationDebugObject
-NtSetInformationFile
-NtSetInformationJobObject
-NtSetInformationKey
-NtSetInformationObject
-NtSetInformationProcess
-NtSetInformationThread
-NtSetInformationToken
-NtSetIntervalProfile
-NtSetIoCompletion
-NtSetLdtEntries
-NtSetLowEventPair
-NtSetLowWaitHighEventPair
-NtSetQuotaInformationFile
-NtSetSecurityObject
-NtSetSystemEnvironmentValue
-NtSetSystemEnvironmentValueEx
-NtSetSystemInformation
-NtSetSystemPowerState
-NtSetSystemTime
-NtSetThreadExecutionState
-NtSetTimer
-NtSetTimerResolution
-NtSetUuidSeed
-NtSetValueKey
-NtSetVolumeInformationFile
-NtShutdownSystem
-NtSignalAndWaitForSingleObject
-NtStartProfile
-NtStopProfile
-NtSuspendProcess
-NtSuspendThread
-NtSystemDebugControl
-NtTerminateJobObject
-NtTerminateProcess
-NtTerminateThread
-NtTestAlert
-NtTraceEvent
-NtTranslateFilePath
-NtUnloadDriver
-NtUnloadKey
-NtUnloadKey2
-NtUnloadKeyEx
-NtUnlockFile
-NtUnlockVirtualMemory
-NtUnmapViewOfSection
-NtVdmControl
-NtWaitForDebugEvent
-NtWaitForKeyedEvent
-NtWaitForMultipleObjects
-NtWaitForMultipleObjects32
-NtWaitForSingleObject
-NtWaitHighEventPair
-NtWaitLowEventPair
-NtWriteFile
-NtWriteFileGather
-NtWriteRequestData
-NtWriteVirtualMemory
-NtYieldExecution
-PfxFindPrefix
-PfxInitialize
-PfxInsertPrefix
-PfxRemovePrefix
-RtlAbortRXact
-RtlAbsoluteToSelfRelativeSD
-RtlAcquirePebLock
-RtlAcquirePrivilege
-RtlAcquireResourceExclusive
-RtlAcquireResourceShared
-RtlActivateActivationContext
-RtlActivateActivationContextEx
-RtlActivateActivationContextUnsafeFast
-RtlAddAccessAllowedAce
-RtlAddAccessAllowedAceEx
-RtlAddAccessAllowedObjectAce
-RtlAddAccessDeniedAce
-RtlAddAccessDeniedAceEx
-RtlAddAccessDeniedObjectAce
-RtlAddAce
-RtlAddActionToRXact
-RtlAddAtomToAtomTable
-RtlAddAttributeActionToRXact
-RtlAddAuditAccessAce
-RtlAddAuditAccessAceEx
-RtlAddAuditAccessObjectAce
-RtlAddCompoundAce
-RtlAddFunctionTable
-RtlAddRefActivationContext
-RtlAddRefMemoryStream
-RtlAddVectoredContinueHandler
-RtlAddVectoredExceptionHandler
-RtlAddressInSectionTable
-RtlAdjustPrivilege
-RtlAllocateActivationContextStack
-RtlAllocateAndInitializeSid
-RtlAllocateHandle
-RtlAllocateHeap
-RtlAnsiCharToUnicodeChar
-RtlAnsiStringToUnicodeSize
-RtlAnsiStringToUnicodeString
-RtlAppendAsciizToString
-RtlAppendPathElement
-RtlAppendStringToString
-RtlAppendUnicodeStringToString
-RtlAppendUnicodeToString
-RtlApplicationVerifierStop
-RtlApplyRXact
-RtlApplyRXactNoFlush
-RtlAreAllAccessesGranted
-RtlAreAnyAccessesGranted
-RtlAreBitsClear
-RtlAreBitsSet
-RtlAssert
-RtlCancelTimer
-RtlCaptureContext
-RtlCaptureStackBackTrace
-RtlCharToInteger
-RtlCheckForOrphanedCriticalSections
-RtlCheckProcessParameters
-RtlCheckRegistryKey
-RtlClearAllBits
-RtlClearBits
-RtlCloneMemoryStream
-RtlCommitMemoryStream
-RtlCompactHeap
-RtlCompareMemory
-RtlCompareMemoryUlong
-RtlCompareString
-RtlCompareUnicodeString
-RtlCompressBuffer
-RtlComputeCrc32
-RtlComputeImportTableHash
-RtlComputePrivatizedDllName_U
-RtlConsoleMultiByteToUnicodeN
-RtlConvertExclusiveToShared
-RtlConvertSharedToExclusive
-RtlConvertSidToUnicodeString
-RtlConvertToAutoInheritSecurityObject
-RtlConvertUiListToApiList
-RtlCopyLuid
-RtlCopyLuidAndAttributesArray
-RtlCopyMappedMemory
-RtlCopyMemory
-RtlCopyMemoryNonTemporal
-RtlCopyMemoryStreamTo
-RtlCopyOutOfProcessMemoryStreamTo
-RtlCopySecurityDescriptor
-RtlCopySid
-RtlCopySidAndAttributesArray
-RtlCopyString
-RtlCopyUnicodeString
-RtlCreateAcl
-RtlCreateActivationContext
-RtlCreateAndSetSD
-RtlCreateAtomTable
-RtlCreateBootStatusDataFile
-RtlCreateEnvironment
-RtlCreateHeap
-RtlCreateProcessParameters
-RtlCreateQueryDebugBuffer
-RtlCreateRegistryKey
-RtlCreateSecurityDescriptor
-RtlCreateSystemVolumeInformationFolder
-RtlCreateTagHeap
-RtlCreateTimer
-RtlCreateTimerQueue
-RtlCreateUnicodeString
-RtlCreateUnicodeStringFromAsciiz
-RtlCreateUserProcess
-RtlCreateUserSecurityObject
-RtlCreateUserThread
-RtlCustomCPToUnicodeN
-RtlCutoverTimeToSystemTime
-RtlDeNormalizeProcessParams
-RtlDeactivateActivationContext
-RtlDeactivateActivationContextUnsafeFast
-RtlDebugPrintTimes
-RtlDecodePointer
-RtlDecodeSystemPointer
-RtlDecompressBuffer
-RtlDecompressFragment
-RtlDefaultNpAcl
-RtlDelete
-RtlDeleteAce
-RtlDeleteAtomFromAtomTable
-RtlDeleteCriticalSection
-RtlDeleteElementGenericTable
-RtlDeleteElementGenericTableAvl
-RtlDeleteFunctionTable
-RtlDeleteNoSplay
-RtlDeleteRegistryValue
-RtlDeleteResource
-RtlDeleteSecurityObject
-RtlDeleteTimer
-RtlDeleteTimerQueue
-RtlDeleteTimerQueueEx
-RtlDeregisterWait
-RtlDeregisterWaitEx
-RtlDestroyAtomTable
-RtlDestroyEnvironment
-RtlDestroyHandleTable
-RtlDestroyHeap
-RtlDestroyProcessParameters
-RtlDestroyQueryDebugBuffer
-RtlDetermineDosPathNameType_U
-RtlDllShutdownInProgress
-RtlDnsHostNameToComputerName
-RtlDoesFileExists_U
-RtlDosApplyFileIsolationRedirection_Ustr
-RtlDosPathNameToNtPathName_U
-RtlDosPathNameToNtPathName_U_WithStatus
-RtlDosPathNameToRelativeNtPathName_U
-RtlDosPathNameToRelativeNtPathName_U_WithStatus
-RtlDosSearchPath_U
-RtlDosSearchPath_Ustr
-RtlDowncaseUnicodeChar
-RtlDowncaseUnicodeString
-RtlDumpResource
-RtlDuplicateUnicodeString
-RtlEmptyAtomTable
-RtlEnableEarlyCriticalSectionEventCreation
-RtlEncodePointer
-RtlEncodeSystemPointer
-RtlEnterCriticalSection
-RtlEnumProcessHeaps
-RtlEnumerateGenericTable
-RtlEnumerateGenericTableAvl
-RtlEnumerateGenericTableLikeADirectory
-RtlEnumerateGenericTableWithoutSplaying
-RtlEnumerateGenericTableWithoutSplayingAvl
-RtlEqualComputerName
-RtlEqualDomainName
-RtlEqualLuid
-RtlEqualPrefixSid
-RtlEqualSid
-RtlEqualString
-RtlEqualUnicodeString
-RtlEraseUnicodeString
-RtlExitUserThread
-RtlExpandEnvironmentStrings_U
-RtlExtendHeap
-RtlFillMemory
-RtlFinalReleaseOutOfProcessMemoryStream
-RtlFindActivationContextSectionGuid
-RtlFindActivationContextSectionString
-RtlFindCharInUnicodeString
-RtlFindClearBits
-RtlFindClearBitsAndSet
-RtlFindClearRuns
-RtlFindLastBackwardRunClear
-RtlFindLeastSignificantBit
-RtlFindLongestRunClear
-RtlFindMessage
-RtlFindMostSignificantBit
-RtlFindNextForwardRunClear
-RtlFindSetBits
-RtlFindSetBitsAndClear
-RtlFirstEntrySList
-RtlFirstFreeAce
-RtlFlushSecureMemoryCache
-RtlFormatCurrentUserKeyPath
-RtlFormatMessage
-RtlFormatMessageEx
-RtlFreeActivationContextStack
-RtlFreeAnsiString
-RtlFreeHandle
-RtlFreeHeap
-RtlFreeOemString
-RtlFreeSid
-RtlFreeThreadActivationContextStack
-RtlFreeUnicodeString
-RtlFreeUserThreadStack
-RtlGUIDFromString
-RtlGenerate8dot3Name
-RtlGetAce
-RtlGetActiveActivationContext
-RtlGetCallersAddress
-RtlGetCompressionWorkSpaceSize
-RtlGetControlSecurityDescriptor
-RtlGetCriticalSectionRecursionCount
-RtlGetCurrentDirectory_U
-RtlGetCurrentPeb
-RtlGetCurrentProcessorNumber
-RtlGetDaclSecurityDescriptor
-RtlGetElementGenericTable
-RtlGetElementGenericTableAvl
-RtlGetFrame
-RtlGetFullPathName_U
-RtlGetFullPathName_UstrEx
-RtlGetFunctionTableListHead
-RtlGetGroupSecurityDescriptor
-RtlGetLastNtStatus
-RtlGetLastWin32Error
-RtlGetLengthWithoutLastFullDosOrNtPathElement
-RtlGetLengthWithoutTrailingPathSeperators
-RtlGetLongestNtPathLength
-RtlGetNativeSystemInformation
-RtlGetNtGlobalFlags
-RtlGetNtProductType
-RtlGetNtVersionNumbers
-RtlGetOwnerSecurityDescriptor
-RtlGetProcessHeaps
-RtlGetSaclSecurityDescriptor
-RtlGetSecurityDescriptorRMControl
-RtlGetSetBootStatusData
-RtlGetThreadErrorMode
-RtlGetUnloadEventTrace
-RtlGetUserInfoHeap
-RtlGetVersion
-RtlHashUnicodeString
-RtlIdentifierAuthoritySid
-RtlImageDirectoryEntryToData
-RtlImageNtHeader
-RtlImageNtHeaderEx
-RtlImageRvaToSection
-RtlImageRvaToVa
-RtlImpersonateSelf
-RtlInitAnsiString
-RtlInitAnsiStringEx
-RtlInitCodePageTable
-RtlInitMemoryStream
-RtlInitNlsTables
-RtlInitOutOfProcessMemoryStream
-RtlInitString
-RtlInitUnicodeString
-RtlInitUnicodeStringEx
-RtlInitializeAtomPackage
-RtlInitializeBitMap
-RtlInitializeContext
-RtlInitializeCriticalSection
-RtlInitializeCriticalSectionAndSpinCount
-RtlInitializeGenericTable
-RtlInitializeGenericTableAvl
-RtlInitializeHandleTable
-RtlInitializeRXact
-RtlInitializeResource
-RtlInitializeSListHead
-RtlInitializeSid
-RtlInsertElementGenericTable
-RtlInsertElementGenericTableAvl
-RtlInsertElementGenericTableFull
-RtlInsertElementGenericTableFullAvl
-RtlInstallFunctionTableCallback
-RtlInt64ToUnicodeString
-RtlIntegerToChar
-RtlIntegerToUnicodeString
-RtlInterlockedFlushSList
-RtlInterlockedPopEntrySList
-RtlInterlockedPushEntrySList
-RtlInterlockedPushListSList
-RtlIpv4AddressToStringA
-RtlIpv4AddressToStringExA
-RtlIpv4AddressToStringExW
-RtlIpv4AddressToStringW
-RtlIpv4StringToAddressA
-RtlIpv4StringToAddressExA
-RtlIpv4StringToAddressExW
-RtlIpv4StringToAddressW
-RtlIpv6AddressToStringA
-RtlIpv6AddressToStringExA
-RtlIpv6AddressToStringExW
-RtlIpv6AddressToStringW
-RtlIpv6StringToAddressA
-RtlIpv6StringToAddressExA
-RtlIpv6StringToAddressExW
-RtlIpv6StringToAddressW
-RtlIsActivationContextActive
-RtlIsCriticalSectionLocked
-RtlIsCriticalSectionLockedByThread
-RtlIsDosDeviceName_U
-RtlIsGenericTableEmpty
-RtlIsGenericTableEmptyAvl
-RtlIsNameLegalDOS8Dot3
-RtlIsTextUnicode
-RtlIsThreadWithinLoaderCallout
-RtlIsValidHandle
-RtlIsValidIndexHandle
-RtlLargeIntegerToChar
-RtlLeaveCriticalSection
-RtlLengthRequiredSid
-RtlLengthSecurityDescriptor
-RtlLengthSid
-RtlLocalTimeToSystemTime
-RtlLockBootStatusData
-RtlLockHeap
-RtlLockMemoryStreamRegion
-RtlLogStackBackTrace
-RtlLookupAtomInAtomTable
-RtlLookupElementGenericTable
-RtlLookupElementGenericTableAvl
-RtlLookupElementGenericTableFull
-RtlLookupElementGenericTableFullAvl
-RtlLookupFunctionEntry
-RtlLookupFunctionTable
-RtlMakeSelfRelativeSD
-RtlMapGenericMask
-RtlMapSecurityErrorToNtStatus
-RtlMoveMemory
-RtlMultiAppendUnicodeStringBuffer
-RtlMultiByteToUnicodeN
-RtlMultiByteToUnicodeSize
-RtlMultipleAllocateHeap
-RtlMultipleFreeHeap
-RtlNewInstanceSecurityObject
-RtlNewSecurityGrantedAccess
-RtlNewSecurityObject
-RtlNewSecurityObjectEx
-RtlNewSecurityObjectWithMultipleInheritance
-RtlNormalizeProcessParams
-RtlNtPathNameToDosPathName
-RtlNtStatusToDosError
-RtlNtStatusToDosErrorNoTeb
-RtlNumberGenericTableElements
-RtlNumberGenericTableElementsAvl
-RtlNumberOfClearBits
-RtlNumberOfSetBits
-RtlOemStringToUnicodeSize
-RtlOemStringToUnicodeString
-RtlOemToUnicodeN
-RtlOpenCurrentUser
-RtlPcToFileHeader
-RtlPinAtomInAtomTable
-RtlPopFrame
-RtlPrefixString
-RtlPrefixUnicodeString
-RtlProtectHeap
-RtlPushFrame
-RtlQueryAtomInAtomTable
-RtlQueryDepthSList
-RtlQueryEnvironmentVariable_U
-RtlQueryHeapInformation
-RtlQueryInformationAcl
-RtlQueryInformationActivationContext
-RtlQueryInformationActiveActivationContext
-RtlQueryInterfaceMemoryStream
-RtlQueryProcessBackTraceInformation
-RtlQueryProcessDebugInformation
-RtlQueryProcessHeapInformation
-RtlQueryProcessLockInformation
-RtlQueryRegistryValues
-RtlQuerySecurityObject
-RtlQueryTagHeap
-RtlQueryTimeZoneInformation
-RtlQueueApcWow64Thread
-RtlQueueWorkItem
-RtlRaiseException
-RtlRaiseStatus
-RtlRandom
-RtlRandomEx
-RtlReAllocateHeap
-RtlReadMemoryStream
-RtlReadOutOfProcessMemoryStream
-RtlRealPredecessor
-RtlRealSuccessor
-RtlRegisterSecureMemoryCacheCallback
-RtlRegisterWait
-RtlReleaseActivationContext
-RtlReleaseMemoryStream
-RtlReleasePebLock
-RtlReleasePrivilege
-RtlReleaseRelativeName
-RtlReleaseResource
-RtlRemoteCall
-RtlRemoveVectoredContinueHandler
-RtlRemoveVectoredExceptionHandler
-RtlResetRtlTranslations
-RtlRestoreContext
-RtlRestoreLastWin32Error
-RtlRevertMemoryStream
-RtlRunDecodeUnicodeString
-RtlRunEncodeUnicodeString
-RtlSecondsSince1970ToTime
-RtlSecondsSince1980ToTime
-RtlSeekMemoryStream
-RtlSelfRelativeToAbsoluteSD
-RtlSelfRelativeToAbsoluteSD2
-RtlSetAllBits
-RtlSetAttributesSecurityDescriptor
-RtlSetBits
-RtlSetControlSecurityDescriptor
-RtlSetCriticalSectionSpinCount
-RtlSetCurrentDirectory_U
-RtlSetCurrentEnvironment
-RtlSetDaclSecurityDescriptor
-RtlSetEnvironmentStrings
-RtlSetEnvironmentVariable
-RtlSetGroupSecurityDescriptor
-RtlSetHeapInformation
-RtlSetInformationAcl
-RtlSetIoCompletionCallback
-RtlSetLastWin32Error
-RtlSetLastWin32ErrorAndNtStatusFromNtStatus
-RtlSetMemoryStreamSize
-RtlSetOwnerSecurityDescriptor
-RtlSetProcessIsCritical
-RtlSetSaclSecurityDescriptor
-RtlSetSecurityDescriptorRMControl
-RtlSetSecurityObject
-RtlSetSecurityObjectEx
-RtlSetThreadErrorMode
-RtlSetThreadIsCritical
-RtlSetThreadPoolStartFunc
-RtlSetTimeZoneInformation
-RtlSetTimer
-RtlSetUnhandledExceptionFilter
-RtlSetUnicodeCallouts
-RtlSetUserFlagsHeap
-RtlSetUserValueHeap
-RtlSizeHeap
-RtlSplay
-RtlStartRXact
-RtlStatMemoryStream
-RtlStringFromGUID
-RtlSubAuthorityCountSid
-RtlSubAuthoritySid
-RtlSubtreePredecessor
-RtlSubtreeSuccessor
-RtlSystemTimeToLocalTime
-RtlTimeFieldsToTime
-RtlTimeToElapsedTimeFields
-RtlTimeToSecondsSince1970
-RtlTimeToSecondsSince1980
-RtlTimeToTimeFields
-RtlTraceDatabaseAdd
-RtlTraceDatabaseCreate
-RtlTraceDatabaseDestroy
-RtlTraceDatabaseEnumerate
-RtlTraceDatabaseFind
-RtlTraceDatabaseLock
-RtlTraceDatabaseUnlock
-RtlTraceDatabaseValidate
-RtlTryEnterCriticalSection
-RtlUnhandledExceptionFilter
-RtlUnhandledExceptionFilter2
-RtlUnicodeStringToAnsiSize
-RtlUnicodeStringToAnsiString
-RtlUnicodeStringToCountedOemString
-RtlUnicodeStringToInteger
-RtlUnicodeStringToOemSize
-RtlUnicodeStringToOemString
-RtlUnicodeToCustomCPN
-RtlUnicodeToMultiByteN
-RtlUnicodeToMultiByteSize
-RtlUnicodeToOemN
-RtlUniform
-RtlUnlockBootStatusData
-RtlUnlockHeap
-RtlUnlockMemoryStreamRegion
-RtlUnwind
-RtlUnwindEx
-RtlUpcaseUnicodeChar
-RtlUpcaseUnicodeString
-RtlUpcaseUnicodeStringToAnsiString
-RtlUpcaseUnicodeStringToCountedOemString
-RtlUpcaseUnicodeStringToOemString
-RtlUpcaseUnicodeToCustomCPN
-RtlUpcaseUnicodeToMultiByteN
-RtlUpcaseUnicodeToOemN
-RtlUpdateTimer
-RtlUpperChar
-RtlUpperString
-RtlUsageHeap
-RtlValidAcl
-RtlValidRelativeSecurityDescriptor
-RtlValidSecurityDescriptor
-RtlValidSid
-RtlValidateHeap
-RtlValidateProcessHeaps
-RtlValidateUnicodeString
-RtlVerifyVersionInfo
-RtlVirtualUnwind
-RtlWalkFrameChain
-RtlWalkHeap
-RtlWow64EnableFsRedirection
-RtlWow64EnableFsRedirectionEx
-RtlWriteMemoryStream
-RtlWriteRegistryValue
-RtlZeroHeap
-RtlZeroMemory
-RtlZombifyActivationContext
-RtlpApplyLengthFunction
-RtlpEnsureBufferSize
-RtlpNotOwnerCriticalSection
-RtlpNtCreateKey
-RtlpNtEnumerateSubKey
-RtlpNtMakeTemporaryKey
-RtlpNtOpenKey
-RtlpNtQueryValueKey
-RtlpNtSetValueKey
-RtlpUnWaitCriticalSection
-RtlpWaitForCriticalSection
-RtlxAnsiStringToUnicodeSize
-RtlxOemStringToUnicodeSize
-RtlxUnicodeStringToAnsiSize
-RtlxUnicodeStringToOemSize
-VerSetConditionMask
-ZwAcceptConnectPort
-ZwAccessCheck
-ZwAccessCheckAndAuditAlarm
-ZwAccessCheckByType
-ZwAccessCheckByTypeAndAuditAlarm
-ZwAccessCheckByTypeResultList
-ZwAccessCheckByTypeResultListAndAuditAlarm
-ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
-ZwAddAtom
-ZwAddBootEntry
-ZwAddDriverEntry
-ZwAdjustGroupsToken
-ZwAdjustPrivilegesToken
-ZwAlertResumeThread
-ZwAlertThread
-ZwAllocateLocallyUniqueId
-ZwAllocateUserPhysicalPages
-ZwAllocateUuids
-ZwAllocateVirtualMemory
-ZwApphelpCacheControl
-ZwAreMappedFilesTheSame
-ZwAssignProcessToJobObject
-ZwCallbackReturn
-ZwCancelDeviceWakeupRequest
-ZwCancelIoFile
-ZwCancelTimer
-ZwClearEvent
-ZwClose
-ZwCloseObjectAuditAlarm
-ZwCompactKeys
-ZwCompareTokens
-ZwCompleteConnectPort
-ZwCompressKey
-ZwConnectPort
-ZwContinue
-ZwCreateDebugObject
-ZwCreateDirectoryObject
-ZwCreateEvent
-ZwCreateEventPair
-ZwCreateFile
-ZwCreateIoCompletion
-ZwCreateJobObject
-ZwCreateJobSet
-ZwCreateKey
-ZwCreateKeyedEvent
-ZwCreateMailslotFile
-ZwCreateMutant
-ZwCreateNamedPipeFile
-ZwCreatePagingFile
-ZwCreatePort
-ZwCreateProcess
-ZwCreateProcessEx
-ZwCreateProfile
-ZwCreateSection
-ZwCreateSemaphore
-ZwCreateSymbolicLinkObject
-ZwCreateThread
-ZwCreateTimer
-ZwCreateToken
-ZwCreateWaitablePort
-ZwDebugActiveProcess
-ZwDebugContinue
-ZwDelayExecution
-ZwDeleteAtom
-ZwDeleteBootEntry
-ZwDeleteDriverEntry
-ZwDeleteFile
-ZwDeleteKey
-ZwDeleteObjectAuditAlarm
-ZwDeleteValueKey
-ZwDeviceIoControlFile
-ZwDisplayString
-ZwDuplicateObject
-ZwDuplicateToken
-ZwEnumerateBootEntries
-ZwEnumerateDriverEntries
-ZwEnumerateKey
-ZwEnumerateSystemEnvironmentValuesEx
-ZwEnumerateValueKey
-ZwExtendSection
-ZwFilterToken
-ZwFindAtom
-ZwFlushBuffersFile
-ZwFlushInstructionCache
-ZwFlushKey
-ZwFlushVirtualMemory
-ZwFlushWriteBuffer
-ZwFreeUserPhysicalPages
-ZwFreeVirtualMemory
-ZwFsControlFile
-ZwGetContextThread
-ZwGetCurrentProcessorNumber
-ZwGetDevicePowerState
-ZwGetPlugPlayEvent
-ZwGetWriteWatch
-ZwImpersonateAnonymousToken
-ZwImpersonateClientOfPort
-ZwImpersonateThread
-ZwInitializeRegistry
-ZwInitiatePowerAction
-ZwIsProcessInJob
-ZwIsSystemResumeAutomatic
-ZwListenPort
-ZwLoadDriver
-ZwLoadKey
-ZwLoadKey2
-ZwLoadKeyEx
-ZwLockFile
-ZwLockProductActivationKeys
-ZwLockRegistryKey
-ZwLockVirtualMemory
-ZwMakePermanentObject
-ZwMakeTemporaryObject
-ZwMapUserPhysicalPages
-ZwMapUserPhysicalPagesScatter
-ZwMapViewOfSection
-ZwModifyBootEntry
-ZwModifyDriverEntry
-ZwNotifyChangeDirectoryFile
-ZwNotifyChangeKey
-ZwNotifyChangeMultipleKeys
-ZwOpenDirectoryObject
-ZwOpenEvent
-ZwOpenEventPair
-ZwOpenFile
-ZwOpenIoCompletion
-ZwOpenJobObject
-ZwOpenKey
-ZwOpenKeyedEvent
-ZwOpenMutant
-ZwOpenObjectAuditAlarm
-ZwOpenProcess
-ZwOpenProcessToken
-ZwOpenProcessTokenEx
-ZwOpenSection
-ZwOpenSemaphore
-ZwOpenSymbolicLinkObject
-ZwOpenThread
-ZwOpenThreadToken
-ZwOpenThreadTokenEx
-ZwOpenTimer
-ZwPlugPlayControl
-ZwPowerInformation
-ZwPrivilegeCheck
-ZwPrivilegeObjectAuditAlarm
-ZwPrivilegedServiceAuditAlarm
-ZwProtectVirtualMemory
-ZwPulseEvent
-ZwQueryAttributesFile
-ZwQueryBootEntryOrder
-ZwQueryBootOptions
-ZwQueryDebugFilterState
-ZwQueryDefaultLocale
-ZwQueryDefaultUILanguage
-ZwQueryDirectoryFile
-ZwQueryDirectoryObject
-ZwQueryDriverEntryOrder
-ZwQueryEaFile
-ZwQueryEvent
-ZwQueryFullAttributesFile
-ZwQueryInformationAtom
-ZwQueryInformationFile
-ZwQueryInformationJobObject
-ZwQueryInformationPort
-ZwQueryInformationProcess
-ZwQueryInformationThread
-ZwQueryInformationToken
-ZwQueryInstallUILanguage
-ZwQueryIntervalProfile
-ZwQueryIoCompletion
-ZwQueryKey
-ZwQueryMultipleValueKey
-ZwQueryMutant
-ZwQueryObject
-ZwQueryOpenSubKeys
-ZwQueryOpenSubKeysEx
-ZwQueryPerformanceCounter
-ZwQueryPortInformationProcess
-ZwQueryQuotaInformationFile
-ZwQuerySection
-ZwQuerySecurityObject
-ZwQuerySemaphore
-ZwQuerySymbolicLinkObject
-ZwQuerySystemEnvironmentValue
-ZwQuerySystemEnvironmentValueEx
-ZwQuerySystemInformation
-ZwQuerySystemTime
-ZwQueryTimer
-ZwQueryTimerResolution
-ZwQueryValueKey
-ZwQueryVirtualMemory
-ZwQueryVolumeInformationFile
-ZwQueueApcThread
-ZwRaiseException
-ZwRaiseHardError
-ZwReadFile
-ZwReadFileScatter
-ZwReadRequestData
-ZwReadVirtualMemory
-ZwRegisterThreadTerminatePort
-ZwReleaseKeyedEvent
-ZwReleaseMutant
-ZwReleaseSemaphore
-ZwRemoveIoCompletion
-ZwRemoveProcessDebug
-ZwRenameKey
-ZwReplaceKey
-ZwReplyPort
-ZwReplyWaitReceivePort
-ZwReplyWaitReceivePortEx
-ZwReplyWaitReplyPort
-ZwRequestDeviceWakeup
-ZwRequestPort
-ZwRequestWaitReplyPort
-ZwRequestWakeupLatency
-ZwResetEvent
-ZwResetWriteWatch
-ZwRestoreKey
-ZwResumeProcess
-ZwResumeThread
-ZwSaveKey
-ZwSaveKeyEx
-ZwSaveMergedKeys
-ZwSecureConnectPort
-ZwSetBootEntryOrder
-ZwSetBootOptions
-ZwSetContextThread
-ZwSetDebugFilterState
-ZwSetDefaultHardErrorPort
-ZwSetDefaultLocale
-ZwSetDefaultUILanguage
-ZwSetDriverEntryOrder
-ZwSetEaFile
-ZwSetEvent
-ZwSetEventBoostPriority
-ZwSetHighEventPair
-ZwSetHighWaitLowEventPair
-ZwSetInformationDebugObject
-ZwSetInformationFile
-ZwSetInformationJobObject
-ZwSetInformationKey
-ZwSetInformationObject
-ZwSetInformationProcess
-ZwSetInformationThread
-ZwSetInformationToken
-ZwSetIntervalProfile
-ZwSetIoCompletion
-ZwSetLdtEntries
-ZwSetLowEventPair
-ZwSetLowWaitHighEventPair
-ZwSetQuotaInformationFile
-ZwSetSecurityObject
-ZwSetSystemEnvironmentValue
-ZwSetSystemEnvironmentValueEx
-ZwSetSystemInformation
-ZwSetSystemPowerState
-ZwSetSystemTime
-ZwSetThreadExecutionState
-ZwSetTimer
-ZwSetTimerResolution
-ZwSetUuidSeed
-ZwSetValueKey
-ZwSetVolumeInformationFile
-ZwShutdownSystem
-ZwSignalAndWaitForSingleObject
-ZwStartProfile
-ZwStopProfile
-ZwSuspendProcess
-ZwSuspendThread
-ZwSystemDebugControl
-ZwTerminateJobObject
-ZwTerminateProcess
-ZwTerminateThread
-ZwTestAlert
-ZwTraceEvent
-ZwTranslateFilePath
-ZwUnloadDriver
-ZwUnloadKey
-ZwUnloadKey2
-ZwUnloadKeyEx
-ZwUnlockFile
-ZwUnlockVirtualMemory
-ZwUnmapViewOfSection
-ZwVdmControl
-ZwWaitForDebugEvent
-ZwWaitForKeyedEvent
-ZwWaitForMultipleObjects
-ZwWaitForMultipleObjects32
-ZwWaitForSingleObject
-ZwWaitHighEventPair
-ZwWaitLowEventPair
-ZwWriteFile
-ZwWriteFileGather
-ZwWriteRequestData
-ZwWriteVirtualMemory
-ZwYieldExecution
-__C_specific_handler
-;__chkstk
-__isascii
-__iscsym
-__iscsymf
-__misaligned_access
-__toascii
-_atoi64
-_fltused DATA
-_i64toa
-_i64tow
-_itoa
-_itow
-_lfind
-_local_unwind
-_ltoa
-_ltow
-_memccpy
-_memicmp
-_setjmp
-_setjmpex
-_snprintf
-_snwprintf
-_splitpath
-_strcmpi
-_stricmp
-_strlwr
-_strnicmp
-_strupr
-_tolower
-_toupper
-_ui64toa
-_ui64tow
-_ultoa
-_ultow
-_vscwprintf
-_vsnprintf
-_vsnwprintf
-_wcsicmp
-_wcslwr
-_wcsnicmp
-_wcstoui64
-_wcsupr
-_wtoi
-_wtoi64
-_wtol
-abs
-atan
-atoi
-atol
-bsearch
-ceil
-cos
-fabs
-floor
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalpha
-iswctype
-iswdigit
-iswlower
-iswspace
-iswxdigit
-isxdigit
-labs
-log
-mbstowcs
-memchr
-memcmp
-memcpy
-memmove
-memset
-pow
-qsort
-sin
-sprintf
-sqrt
-sscanf
-strcat
-strchr
-strcmp
-strcpy
-strcspn
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtol
-strtoul
-swprintf
-tan
-tolower
-toupper
-towlower
-towupper
-vDbgPrintEx
-vDbgPrintExWithPrefix
-vsprintf
-wcscat
-wcschr
-wcscmp
-wcscpy
-wcscspn
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstol
-wcstombs
-wcstoul
+; 
+; Exports of file ntdll.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntdll.dll
+EXPORTS
+PropertyLengthAsVariant
+RtlConvertPropertyToVariant
+RtlConvertVariantToProperty
+CsrAllocateCaptureBuffer
+CsrAllocateMessagePointer
+CsrCaptureMessageBuffer
+CsrCaptureMessageMultiUnicodeStringsInPlace
+CsrCaptureMessageString
+CsrCaptureTimeout
+CsrClientCallServer
+CsrClientConnectToServer
+CsrFreeCaptureBuffer
+CsrGetProcessId
+CsrIdentifyAlertableThread
+CsrNewThread
+CsrProbeForRead
+CsrProbeForWrite
+CsrSetPriorityClass
+DbgBreakPoint
+DbgPrint
+DbgPrintEx
+DbgPrintReturnControlC
+DbgPrompt
+DbgQueryDebugFilterState
+DbgSetDebugFilterState
+DbgUiConnectToDbg
+DbgUiContinue
+DbgUiConvertStateChangeStructure
+DbgUiDebugActiveProcess
+DbgUiGetThreadDebugObject
+DbgUiIssueRemoteBreakin
+DbgUiRemoteBreakin
+DbgUiSetThreadDebugObject
+DbgUiStopDebugging
+DbgUiWaitStateChange
+DbgUserBreakPoint
+EtwControlTraceA
+EtwControlTraceW
+EtwCreateTraceInstanceId
+EtwEnableTrace
+EtwEnumerateTraceGuids
+EtwFlushTraceA
+EtwFlushTraceW
+EtwGetTraceEnableFlags
+EtwGetTraceEnableLevel
+EtwGetTraceLoggerHandle
+EtwNotificationRegistrationA
+EtwNotificationRegistrationW
+EtwQueryAllTracesA
+EtwQueryAllTracesW
+EtwQueryTraceA
+EtwQueryTraceW
+EtwReceiveNotificationsA
+EtwReceiveNotificationsW
+EtwRegisterTraceGuidsA
+EtwRegisterTraceGuidsW
+EtwStartTraceA
+EtwStartTraceW
+EtwStopTraceA
+EtwStopTraceW
+EtwTraceEvent
+EtwTraceEventInstance
+EtwTraceMessage
+EtwTraceMessageVa
+EtwUnregisterTraceGuids
+EtwUpdateTraceA
+EtwUpdateTraceW
+EtwpGetTraceBuffer
+EtwpSetHWConfigFunction
+ExpInterlockedPopEntrySListEnd
+ExpInterlockedPopEntrySListFault
+ExpInterlockedPopEntrySListResume
+KiRaiseUserExceptionDispatcher
+KiUserApcDispatcher
+KiUserCallbackDispatcher
+KiUserExceptionDispatcher
+LdrAccessOutOfProcessResource
+LdrAccessResource
+LdrAddRefDll
+LdrAlternateResourcesEnabled
+LdrCreateOutOfProcessImage
+LdrDestroyOutOfProcessImage
+LdrDisableThreadCalloutsForDll
+LdrEnumResources
+LdrEnumerateLoadedModules
+LdrFindCreateProcessManifest
+LdrFindEntryForAddress
+LdrFindResourceDirectory_U
+LdrFindResourceEx_U
+LdrFindResource_U
+LdrFlushAlternateResourceModules
+LdrGetDllHandle
+LdrGetDllHandleEx
+LdrGetKnownDllSectionHandle
+LdrGetProcedureAddress
+LdrHotPatchRoutine
+LdrInitShimEngineDynamic
+LdrInitializeThunk
+LdrLoadAlternateResourceModule
+LdrLoadDll
+LdrLockLoaderLock
+LdrOpenImageFileOptionsKey
+LdrProcessInitializationComplete
+LdrProcessRelocationBlock
+LdrQueryImageFileExecutionOptions
+LdrQueryImageFileExecutionOptionsEx
+LdrQueryImageFileKeyOption
+LdrQueryProcessModuleInformation
+LdrSetAppCompatDllRedirectionCallback
+LdrSetDllManifestProber
+LdrShutdownProcess
+LdrShutdownThread
+LdrUnloadAlternateResourceModule
+LdrUnloadDll
+LdrUnlockLoaderLock
+LdrVerifyImageMatchesChecksum
+NlsAnsiCodePage DATA
+NlsMbCodePageTag DATA
+NlsMbOemCodePageTag DATA
+NtAcceptConnectPort
+NtAccessCheck
+NtAccessCheckAndAuditAlarm
+NtAccessCheckByType
+NtAccessCheckByTypeAndAuditAlarm
+NtAccessCheckByTypeResultList
+NtAccessCheckByTypeResultListAndAuditAlarm
+NtAccessCheckByTypeResultListAndAuditAlarmByHandle
+NtAddAtom
+NtAddBootEntry
+NtAddDriverEntry
+NtAdjustGroupsToken
+NtAdjustPrivilegesToken
+NtAlertResumeThread
+NtAlertThread
+NtAllocateLocallyUniqueId
+NtAllocateUserPhysicalPages
+NtAllocateUuids
+NtAllocateVirtualMemory
+NtApphelpCacheControl
+NtAreMappedFilesTheSame
+NtAssignProcessToJobObject
+NtCallbackReturn
+NtCancelDeviceWakeupRequest
+NtCancelIoFile
+NtCancelTimer
+NtClearEvent
+NtClose
+NtCloseObjectAuditAlarm
+NtCompactKeys
+NtCompareTokens
+NtCompleteConnectPort
+NtCompressKey
+NtConnectPort
+NtContinue
+NtCreateDebugObject
+NtCreateDirectoryObject
+NtCreateEvent
+NtCreateEventPair
+NtCreateFile
+NtCreateIoCompletion
+NtCreateJobObject
+NtCreateJobSet
+NtCreateKey
+NtCreateKeyedEvent
+NtCreateMailslotFile
+NtCreateMutant
+NtCreateNamedPipeFile
+NtCreatePagingFile
+NtCreatePort
+NtCreateProcess
+NtCreateProcessEx
+NtCreateProfile
+NtCreateSection
+NtCreateSemaphore
+NtCreateSymbolicLinkObject
+NtCreateThread
+NtCreateTimer
+NtCreateToken
+NtCreateWaitablePort
+NtDebugActiveProcess
+NtDebugContinue
+NtDelayExecution
+NtDeleteAtom
+NtDeleteBootEntry
+NtDeleteDriverEntry
+NtDeleteFile
+NtDeleteKey
+NtDeleteObjectAuditAlarm
+NtDeleteValueKey
+NtDeviceIoControlFile
+NtDisplayString
+NtDuplicateObject
+NtDuplicateToken
+NtEnumerateBootEntries
+NtEnumerateDriverEntries
+NtEnumerateKey
+NtEnumerateSystemEnvironmentValuesEx
+NtEnumerateValueKey
+NtExtendSection
+NtFilterToken
+NtFindAtom
+NtFlushBuffersFile
+NtFlushInstructionCache
+NtFlushKey
+NtFlushVirtualMemory
+NtFlushWriteBuffer
+NtFreeUserPhysicalPages
+NtFreeVirtualMemory
+NtFsControlFile
+NtGetContextThread
+NtGetCurrentProcessorNumber
+NtGetDevicePowerState
+NtGetPlugPlayEvent
+NtGetTickCount
+NtGetWriteWatch
+NtImpersonateAnonymousToken
+NtImpersonateClientOfPort
+NtImpersonateThread
+NtInitializeRegistry
+NtInitiatePowerAction
+NtIsProcessInJob
+NtIsSystemResumeAutomatic
+NtListenPort
+NtLoadDriver
+NtLoadKey
+NtLoadKey2
+NtLoadKeyEx
+NtLockFile
+NtLockProductActivationKeys
+NtLockRegistryKey
+NtLockVirtualMemory
+NtMakePermanentObject
+NtMakeTemporaryObject
+NtMapUserPhysicalPages
+NtMapUserPhysicalPagesScatter
+NtMapViewOfSection
+NtModifyBootEntry
+NtModifyDriverEntry
+NtNotifyChangeDirectoryFile
+NtNotifyChangeKey
+NtNotifyChangeMultipleKeys
+NtOpenDirectoryObject
+NtOpenEvent
+NtOpenEventPair
+NtOpenFile
+NtOpenIoCompletion
+NtOpenJobObject
+NtOpenKey
+NtOpenKeyedEvent
+NtOpenMutant
+NtOpenObjectAuditAlarm
+NtOpenProcess
+NtOpenProcessToken
+NtOpenProcessTokenEx
+NtOpenSection
+NtOpenSemaphore
+NtOpenSymbolicLinkObject
+NtOpenThread
+NtOpenThreadToken
+NtOpenThreadTokenEx
+NtOpenTimer
+NtPlugPlayControl
+NtPowerInformation
+NtPrivilegeCheck
+NtPrivilegeObjectAuditAlarm
+NtPrivilegedServiceAuditAlarm
+NtProtectVirtualMemory
+NtPulseEvent
+NtQueryAttributesFile
+NtQueryBootEntryOrder
+NtQueryBootOptions
+NtQueryDebugFilterState
+NtQueryDefaultLocale
+NtQueryDefaultUILanguage
+NtQueryDirectoryFile
+NtQueryDirectoryObject
+NtQueryDriverEntryOrder
+NtQueryEaFile
+NtQueryEvent
+NtQueryFullAttributesFile
+NtQueryInformationAtom
+NtQueryInformationFile
+NtQueryInformationJobObject
+NtQueryInformationPort
+NtQueryInformationProcess
+NtQueryInformationThread
+NtQueryInformationToken
+NtQueryInstallUILanguage
+NtQueryIntervalProfile
+NtQueryIoCompletion
+NtQueryKey
+NtQueryMultipleValueKey
+NtQueryMutant
+NtQueryObject
+NtQueryOpenSubKeys
+NtQueryOpenSubKeysEx
+NtQueryPerformanceCounter
+NtQueryPortInformationProcess
+NtQueryQuotaInformationFile
+NtQuerySection
+NtQuerySecurityObject
+NtQuerySemaphore
+NtQuerySymbolicLinkObject
+NtQuerySystemEnvironmentValue
+NtQuerySystemEnvironmentValueEx
+NtQuerySystemInformation
+NtQuerySystemTime
+NtQueryTimer
+NtQueryTimerResolution
+NtQueryValueKey
+NtQueryVirtualMemory
+NtQueryVolumeInformationFile
+NtQueueApcThread
+NtRaiseException
+NtRaiseHardError
+NtReadFile
+NtReadFileScatter
+NtReadRequestData
+NtReadVirtualMemory
+NtRegisterThreadTerminatePort
+NtReleaseKeyedEvent
+NtReleaseMutant
+NtReleaseSemaphore
+NtRemoveIoCompletion
+NtRemoveProcessDebug
+NtRenameKey
+NtReplaceKey
+NtReplyPort
+NtReplyWaitReceivePort
+NtReplyWaitReceivePortEx
+NtReplyWaitReplyPort
+NtRequestDeviceWakeup
+NtRequestPort
+NtRequestWaitReplyPort
+NtRequestWakeupLatency
+NtResetEvent
+NtResetWriteWatch
+NtRestoreKey
+NtResumeProcess
+NtResumeThread
+NtSaveKey
+NtSaveKeyEx
+NtSaveMergedKeys
+NtSecureConnectPort
+NtSetBootEntryOrder
+NtSetBootOptions
+NtSetContextThread
+NtSetDebugFilterState
+NtSetDefaultHardErrorPort
+NtSetDefaultLocale
+NtSetDefaultUILanguage
+NtSetDriverEntryOrder
+NtSetEaFile
+NtSetEvent
+NtSetEventBoostPriority
+NtSetHighEventPair
+NtSetHighWaitLowEventPair
+NtSetInformationDebugObject
+NtSetInformationFile
+NtSetInformationJobObject
+NtSetInformationKey
+NtSetInformationObject
+NtSetInformationProcess
+NtSetInformationThread
+NtSetInformationToken
+NtSetIntervalProfile
+NtSetIoCompletion
+NtSetLdtEntries
+NtSetLowEventPair
+NtSetLowWaitHighEventPair
+NtSetQuotaInformationFile
+NtSetSecurityObject
+NtSetSystemEnvironmentValue
+NtSetSystemEnvironmentValueEx
+NtSetSystemInformation
+NtSetSystemPowerState
+NtSetSystemTime
+NtSetThreadExecutionState
+NtSetTimer
+NtSetTimerResolution
+NtSetUuidSeed
+NtSetValueKey
+NtSetVolumeInformationFile
+NtShutdownSystem
+NtSignalAndWaitForSingleObject
+NtStartProfile
+NtStopProfile
+NtSuspendProcess
+NtSuspendThread
+NtSystemDebugControl
+NtTerminateJobObject
+NtTerminateProcess
+NtTerminateThread
+NtTestAlert
+NtTraceEvent
+NtTranslateFilePath
+NtUnloadDriver
+NtUnloadKey
+NtUnloadKey2
+NtUnloadKeyEx
+NtUnlockFile
+NtUnlockVirtualMemory
+NtUnmapViewOfSection
+NtVdmControl
+NtWaitForDebugEvent
+NtWaitForKeyedEvent
+NtWaitForMultipleObjects
+NtWaitForMultipleObjects32
+NtWaitForSingleObject
+NtWaitHighEventPair
+NtWaitLowEventPair
+NtWriteFile
+NtWriteFileGather
+NtWriteRequestData
+NtWriteVirtualMemory
+NtYieldExecution
+PfxFindPrefix
+PfxInitialize
+PfxInsertPrefix
+PfxRemovePrefix
+RtlAbortRXact
+RtlAbsoluteToSelfRelativeSD
+RtlAcquirePebLock
+RtlAcquirePrivilege
+RtlAcquireResourceExclusive
+RtlAcquireResourceShared
+RtlActivateActivationContext
+RtlActivateActivationContextEx
+RtlActivateActivationContextUnsafeFast
+RtlAddAccessAllowedAce
+RtlAddAccessAllowedAceEx
+RtlAddAccessAllowedObjectAce
+RtlAddAccessDeniedAce
+RtlAddAccessDeniedAceEx
+RtlAddAccessDeniedObjectAce
+RtlAddAce
+RtlAddActionToRXact
+RtlAddAtomToAtomTable
+RtlAddAttributeActionToRXact
+RtlAddAuditAccessAce
+RtlAddAuditAccessAceEx
+RtlAddAuditAccessObjectAce
+RtlAddCompoundAce
+RtlAddFunctionTable
+RtlAddRefActivationContext
+RtlAddRefMemoryStream
+RtlAddVectoredContinueHandler
+RtlAddVectoredExceptionHandler
+RtlAddressInSectionTable
+RtlAdjustPrivilege
+RtlAllocateActivationContextStack
+RtlAllocateAndInitializeSid
+RtlAllocateHandle
+RtlAllocateHeap
+RtlAnsiCharToUnicodeChar
+RtlAnsiStringToUnicodeSize
+RtlAnsiStringToUnicodeString
+RtlAppendAsciizToString
+RtlAppendPathElement
+RtlAppendStringToString
+RtlAppendUnicodeStringToString
+RtlAppendUnicodeToString
+RtlApplicationVerifierStop
+RtlApplyRXact
+RtlApplyRXactNoFlush
+RtlAreAllAccessesGranted
+RtlAreAnyAccessesGranted
+RtlAreBitsClear
+RtlAreBitsSet
+RtlAssert
+RtlCancelTimer
+RtlCaptureContext
+RtlCaptureStackBackTrace
+RtlCharToInteger
+RtlCheckForOrphanedCriticalSections
+RtlCheckProcessParameters
+RtlCheckRegistryKey
+RtlClearAllBits
+RtlClearBits
+RtlCloneMemoryStream
+RtlCommitMemoryStream
+RtlCompactHeap
+RtlCompareMemory
+RtlCompareMemoryUlong
+RtlCompareString
+RtlCompareUnicodeString
+RtlCompressBuffer
+RtlComputeCrc32
+RtlComputeImportTableHash
+RtlComputePrivatizedDllName_U
+RtlConsoleMultiByteToUnicodeN
+RtlConvertExclusiveToShared
+RtlConvertSharedToExclusive
+RtlConvertSidToUnicodeString
+RtlConvertToAutoInheritSecurityObject
+RtlConvertUiListToApiList
+RtlCopyLuid
+RtlCopyLuidAndAttributesArray
+RtlCopyMappedMemory
+RtlCopyMemory
+RtlCopyMemoryNonTemporal
+RtlCopyMemoryStreamTo
+RtlCopyOutOfProcessMemoryStreamTo
+RtlCopySecurityDescriptor
+RtlCopySid
+RtlCopySidAndAttributesArray
+RtlCopyString
+RtlCopyUnicodeString
+RtlCreateAcl
+RtlCreateActivationContext
+RtlCreateAndSetSD
+RtlCreateAtomTable
+RtlCreateBootStatusDataFile
+RtlCreateEnvironment
+RtlCreateHeap
+RtlCreateProcessParameters
+RtlCreateQueryDebugBuffer
+RtlCreateRegistryKey
+RtlCreateSecurityDescriptor
+RtlCreateSystemVolumeInformationFolder
+RtlCreateTagHeap
+RtlCreateTimer
+RtlCreateTimerQueue
+RtlCreateUnicodeString
+RtlCreateUnicodeStringFromAsciiz
+RtlCreateUserProcess
+RtlCreateUserSecurityObject
+RtlCreateUserThread
+RtlCustomCPToUnicodeN
+RtlCutoverTimeToSystemTime
+RtlDeNormalizeProcessParams
+RtlDeactivateActivationContext
+RtlDeactivateActivationContextUnsafeFast
+RtlDebugPrintTimes
+RtlDecodePointer
+RtlDecodeSystemPointer
+RtlDecompressBuffer
+RtlDecompressFragment
+RtlDefaultNpAcl
+RtlDelete
+RtlDeleteAce
+RtlDeleteAtomFromAtomTable
+RtlDeleteCriticalSection
+RtlDeleteElementGenericTable
+RtlDeleteElementGenericTableAvl
+RtlDeleteFunctionTable
+RtlDeleteNoSplay
+RtlDeleteRegistryValue
+RtlDeleteResource
+RtlDeleteSecurityObject
+RtlDeleteTimer
+RtlDeleteTimerQueue
+RtlDeleteTimerQueueEx
+RtlDeregisterWait
+RtlDeregisterWaitEx
+RtlDestroyAtomTable
+RtlDestroyEnvironment
+RtlDestroyHandleTable
+RtlDestroyHeap
+RtlDestroyProcessParameters
+RtlDestroyQueryDebugBuffer
+RtlDetermineDosPathNameType_U
+RtlDllShutdownInProgress
+RtlDnsHostNameToComputerName
+RtlDoesFileExists_U
+RtlDosApplyFileIsolationRedirection_Ustr
+RtlDosPathNameToNtPathName_U
+RtlDosPathNameToNtPathName_U_WithStatus
+RtlDosPathNameToRelativeNtPathName_U
+RtlDosPathNameToRelativeNtPathName_U_WithStatus
+RtlDosSearchPath_U
+RtlDosSearchPath_Ustr
+RtlDowncaseUnicodeChar
+RtlDowncaseUnicodeString
+RtlDumpResource
+RtlDuplicateUnicodeString
+RtlEmptyAtomTable
+RtlEnableEarlyCriticalSectionEventCreation
+RtlEncodePointer
+RtlEncodeSystemPointer
+RtlEnterCriticalSection
+RtlEnumProcessHeaps
+RtlEnumerateGenericTable
+RtlEnumerateGenericTableAvl
+RtlEnumerateGenericTableLikeADirectory
+RtlEnumerateGenericTableWithoutSplaying
+RtlEnumerateGenericTableWithoutSplayingAvl
+RtlEqualComputerName
+RtlEqualDomainName
+RtlEqualLuid
+RtlEqualPrefixSid
+RtlEqualSid
+RtlEqualString
+RtlEqualUnicodeString
+RtlEraseUnicodeString
+RtlExitUserThread
+RtlExpandEnvironmentStrings_U
+RtlExtendHeap
+RtlFillMemory
+RtlFinalReleaseOutOfProcessMemoryStream
+RtlFindActivationContextSectionGuid
+RtlFindActivationContextSectionString
+RtlFindCharInUnicodeString
+RtlFindClearBits
+RtlFindClearBitsAndSet
+RtlFindClearRuns
+RtlFindLastBackwardRunClear
+RtlFindLeastSignificantBit
+RtlFindLongestRunClear
+RtlFindMessage
+RtlFindMostSignificantBit
+RtlFindNextForwardRunClear
+RtlFindSetBits
+RtlFindSetBitsAndClear
+RtlFirstEntrySList
+RtlFirstFreeAce
+RtlFlushSecureMemoryCache
+RtlFormatCurrentUserKeyPath
+RtlFormatMessage
+RtlFormatMessageEx
+RtlFreeActivationContextStack
+RtlFreeAnsiString
+RtlFreeHandle
+RtlFreeHeap
+RtlFreeOemString
+RtlFreeSid
+RtlFreeThreadActivationContextStack
+RtlFreeUnicodeString
+RtlFreeUserThreadStack
+RtlGUIDFromString
+RtlGenerate8dot3Name
+RtlGetAce
+RtlGetActiveActivationContext
+RtlGetCallersAddress
+RtlGetCompressionWorkSpaceSize
+RtlGetControlSecurityDescriptor
+RtlGetCriticalSectionRecursionCount
+RtlGetCurrentDirectory_U
+RtlGetCurrentPeb
+RtlGetCurrentProcessorNumber
+RtlGetDaclSecurityDescriptor
+RtlGetElementGenericTable
+RtlGetElementGenericTableAvl
+RtlGetFrame
+RtlGetFullPathName_U
+RtlGetFullPathName_UstrEx
+RtlGetFunctionTableListHead
+RtlGetGroupSecurityDescriptor
+RtlGetLastNtStatus
+RtlGetLastWin32Error
+RtlGetLengthWithoutLastFullDosOrNtPathElement
+RtlGetLengthWithoutTrailingPathSeperators
+RtlGetLongestNtPathLength
+RtlGetNativeSystemInformation
+RtlGetNtGlobalFlags
+RtlGetNtProductType
+RtlGetNtVersionNumbers
+RtlGetOwnerSecurityDescriptor
+RtlGetProcessHeaps
+RtlGetSaclSecurityDescriptor
+RtlGetSecurityDescriptorRMControl
+RtlGetSetBootStatusData
+RtlGetThreadErrorMode
+RtlGetUnloadEventTrace
+RtlGetUserInfoHeap
+RtlGetVersion
+RtlHashUnicodeString
+RtlIdentifierAuthoritySid
+RtlImageDirectoryEntryToData
+RtlImageNtHeader
+RtlImageNtHeaderEx
+RtlImageRvaToSection
+RtlImageRvaToVa
+RtlImpersonateSelf
+RtlInitAnsiString
+RtlInitAnsiStringEx
+RtlInitCodePageTable
+RtlInitMemoryStream
+RtlInitNlsTables
+RtlInitOutOfProcessMemoryStream
+RtlInitString
+RtlInitUnicodeString
+RtlInitUnicodeStringEx
+RtlInitializeAtomPackage
+RtlInitializeBitMap
+RtlInitializeContext
+RtlInitializeCriticalSection
+RtlInitializeCriticalSectionAndSpinCount
+RtlInitializeGenericTable
+RtlInitializeGenericTableAvl
+RtlInitializeHandleTable
+RtlInitializeRXact
+RtlInitializeResource
+RtlInitializeSListHead
+RtlInitializeSid
+RtlInsertElementGenericTable
+RtlInsertElementGenericTableAvl
+RtlInsertElementGenericTableFull
+RtlInsertElementGenericTableFullAvl
+RtlInstallFunctionTableCallback
+RtlInt64ToUnicodeString
+RtlIntegerToChar
+RtlIntegerToUnicodeString
+RtlInterlockedFlushSList
+RtlInterlockedPopEntrySList
+RtlInterlockedPushEntrySList
+RtlInterlockedPushListSList
+RtlIpv4AddressToStringA
+RtlIpv4AddressToStringExA
+RtlIpv4AddressToStringExW
+RtlIpv4AddressToStringW
+RtlIpv4StringToAddressA
+RtlIpv4StringToAddressExA
+RtlIpv4StringToAddressExW
+RtlIpv4StringToAddressW
+RtlIpv6AddressToStringA
+RtlIpv6AddressToStringExA
+RtlIpv6AddressToStringExW
+RtlIpv6AddressToStringW
+RtlIpv6StringToAddressA
+RtlIpv6StringToAddressExA
+RtlIpv6StringToAddressExW
+RtlIpv6StringToAddressW
+RtlIsActivationContextActive
+RtlIsCriticalSectionLocked
+RtlIsCriticalSectionLockedByThread
+RtlIsDosDeviceName_U
+RtlIsGenericTableEmpty
+RtlIsGenericTableEmptyAvl
+RtlIsNameLegalDOS8Dot3
+RtlIsTextUnicode
+RtlIsThreadWithinLoaderCallout
+RtlIsValidHandle
+RtlIsValidIndexHandle
+RtlLargeIntegerToChar
+RtlLeaveCriticalSection
+RtlLengthRequiredSid
+RtlLengthSecurityDescriptor
+RtlLengthSid
+RtlLocalTimeToSystemTime
+RtlLockBootStatusData
+RtlLockHeap
+RtlLockMemoryStreamRegion
+RtlLogStackBackTrace
+RtlLookupAtomInAtomTable
+RtlLookupElementGenericTable
+RtlLookupElementGenericTableAvl
+RtlLookupElementGenericTableFull
+RtlLookupElementGenericTableFullAvl
+RtlLookupFunctionEntry
+RtlLookupFunctionTable
+RtlMakeSelfRelativeSD
+RtlMapGenericMask
+RtlMapSecurityErrorToNtStatus
+RtlMoveMemory
+RtlMultiAppendUnicodeStringBuffer
+RtlMultiByteToUnicodeN
+RtlMultiByteToUnicodeSize
+RtlMultipleAllocateHeap
+RtlMultipleFreeHeap
+RtlNewInstanceSecurityObject
+RtlNewSecurityGrantedAccess
+RtlNewSecurityObject
+RtlNewSecurityObjectEx
+RtlNewSecurityObjectWithMultipleInheritance
+RtlNormalizeProcessParams
+RtlNtPathNameToDosPathName
+RtlNtStatusToDosError
+RtlNtStatusToDosErrorNoTeb
+RtlNumberGenericTableElements
+RtlNumberGenericTableElementsAvl
+RtlNumberOfClearBits
+RtlNumberOfSetBits
+RtlOemStringToUnicodeSize
+RtlOemStringToUnicodeString
+RtlOemToUnicodeN
+RtlOpenCurrentUser
+RtlPcToFileHeader
+RtlPinAtomInAtomTable
+RtlPopFrame
+RtlPrefixString
+RtlPrefixUnicodeString
+RtlProtectHeap
+RtlPushFrame
+RtlQueryAtomInAtomTable
+RtlQueryDepthSList
+RtlQueryEnvironmentVariable_U
+RtlQueryHeapInformation
+RtlQueryInformationAcl
+RtlQueryInformationActivationContext
+RtlQueryInformationActiveActivationContext
+RtlQueryInterfaceMemoryStream
+RtlQueryProcessBackTraceInformation
+RtlQueryProcessDebugInformation
+RtlQueryProcessHeapInformation
+RtlQueryProcessLockInformation
+RtlQueryRegistryValues
+RtlQuerySecurityObject
+RtlQueryTagHeap
+RtlQueryTimeZoneInformation
+RtlQueueApcWow64Thread
+RtlQueueWorkItem
+RtlRaiseException
+RtlRaiseStatus
+RtlRandom
+RtlRandomEx
+RtlReAllocateHeap
+RtlReadMemoryStream
+RtlReadOutOfProcessMemoryStream
+RtlRealPredecessor
+RtlRealSuccessor
+RtlRegisterSecureMemoryCacheCallback
+RtlRegisterWait
+RtlReleaseActivationContext
+RtlReleaseMemoryStream
+RtlReleasePebLock
+RtlReleasePrivilege
+RtlReleaseRelativeName
+RtlReleaseResource
+RtlRemoteCall
+RtlRemoveVectoredContinueHandler
+RtlRemoveVectoredExceptionHandler
+RtlResetRtlTranslations
+RtlRestoreContext
+RtlRestoreLastWin32Error
+RtlRevertMemoryStream
+RtlRunDecodeUnicodeString
+RtlRunEncodeUnicodeString
+RtlSecondsSince1970ToTime
+RtlSecondsSince1980ToTime
+RtlSeekMemoryStream
+RtlSelfRelativeToAbsoluteSD
+RtlSelfRelativeToAbsoluteSD2
+RtlSetAllBits
+RtlSetAttributesSecurityDescriptor
+RtlSetBits
+RtlSetControlSecurityDescriptor
+RtlSetCriticalSectionSpinCount
+RtlSetCurrentDirectory_U
+RtlSetCurrentEnvironment
+RtlSetDaclSecurityDescriptor
+RtlSetEnvironmentStrings
+RtlSetEnvironmentVariable
+RtlSetGroupSecurityDescriptor
+RtlSetHeapInformation
+RtlSetInformationAcl
+RtlSetIoCompletionCallback
+RtlSetLastWin32Error
+RtlSetLastWin32ErrorAndNtStatusFromNtStatus
+RtlSetMemoryStreamSize
+RtlSetOwnerSecurityDescriptor
+RtlSetProcessIsCritical
+RtlSetSaclSecurityDescriptor
+RtlSetSecurityDescriptorRMControl
+RtlSetSecurityObject
+RtlSetSecurityObjectEx
+RtlSetThreadErrorMode
+RtlSetThreadIsCritical
+RtlSetThreadPoolStartFunc
+RtlSetTimeZoneInformation
+RtlSetTimer
+RtlSetUnhandledExceptionFilter
+RtlSetUnicodeCallouts
+RtlSetUserFlagsHeap
+RtlSetUserValueHeap
+RtlSizeHeap
+RtlSplay
+RtlStartRXact
+RtlStatMemoryStream
+RtlStringFromGUID
+RtlSubAuthorityCountSid
+RtlSubAuthoritySid
+RtlSubtreePredecessor
+RtlSubtreeSuccessor
+RtlSystemTimeToLocalTime
+RtlTimeFieldsToTime
+RtlTimeToElapsedTimeFields
+RtlTimeToSecondsSince1970
+RtlTimeToSecondsSince1980
+RtlTimeToTimeFields
+RtlTraceDatabaseAdd
+RtlTraceDatabaseCreate
+RtlTraceDatabaseDestroy
+RtlTraceDatabaseEnumerate
+RtlTraceDatabaseFind
+RtlTraceDatabaseLock
+RtlTraceDatabaseUnlock
+RtlTraceDatabaseValidate
+RtlTryEnterCriticalSection
+RtlUnhandledExceptionFilter
+RtlUnhandledExceptionFilter2
+RtlUnicodeStringToAnsiSize
+RtlUnicodeStringToAnsiString
+RtlUnicodeStringToCountedOemString
+RtlUnicodeStringToInteger
+RtlUnicodeStringToOemSize
+RtlUnicodeStringToOemString
+RtlUnicodeToCustomCPN
+RtlUnicodeToMultiByteN
+RtlUnicodeToMultiByteSize
+RtlUnicodeToOemN
+RtlUniform
+RtlUnlockBootStatusData
+RtlUnlockHeap
+RtlUnlockMemoryStreamRegion
+RtlUnwind
+RtlUnwindEx
+RtlUpcaseUnicodeChar
+RtlUpcaseUnicodeString
+RtlUpcaseUnicodeStringToAnsiString
+RtlUpcaseUnicodeStringToCountedOemString
+RtlUpcaseUnicodeStringToOemString
+RtlUpcaseUnicodeToCustomCPN
+RtlUpcaseUnicodeToMultiByteN
+RtlUpcaseUnicodeToOemN
+RtlUpdateTimer
+RtlUpperChar
+RtlUpperString
+RtlUsageHeap
+RtlValidAcl
+RtlValidRelativeSecurityDescriptor
+RtlValidSecurityDescriptor
+RtlValidSid
+RtlValidateHeap
+RtlValidateProcessHeaps
+RtlValidateUnicodeString
+RtlVerifyVersionInfo
+RtlVirtualUnwind
+RtlWalkFrameChain
+RtlWalkHeap
+RtlWow64EnableFsRedirection
+RtlWow64EnableFsRedirectionEx
+RtlWriteMemoryStream
+RtlWriteRegistryValue
+RtlZeroHeap
+RtlZeroMemory
+RtlZombifyActivationContext
+RtlpApplyLengthFunction
+RtlpEnsureBufferSize
+RtlpNotOwnerCriticalSection
+RtlpNtCreateKey
+RtlpNtEnumerateSubKey
+RtlpNtMakeTemporaryKey
+RtlpNtOpenKey
+RtlpNtQueryValueKey
+RtlpNtSetValueKey
+RtlpUnWaitCriticalSection
+RtlpWaitForCriticalSection
+RtlxAnsiStringToUnicodeSize
+RtlxOemStringToUnicodeSize
+RtlxUnicodeStringToAnsiSize
+RtlxUnicodeStringToOemSize
+VerSetConditionMask
+ZwAcceptConnectPort
+ZwAccessCheck
+ZwAccessCheckAndAuditAlarm
+ZwAccessCheckByType
+ZwAccessCheckByTypeAndAuditAlarm
+ZwAccessCheckByTypeResultList
+ZwAccessCheckByTypeResultListAndAuditAlarm
+ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
+ZwAddAtom
+ZwAddBootEntry
+ZwAddDriverEntry
+ZwAdjustGroupsToken
+ZwAdjustPrivilegesToken
+ZwAlertResumeThread
+ZwAlertThread
+ZwAllocateLocallyUniqueId
+ZwAllocateUserPhysicalPages
+ZwAllocateUuids
+ZwAllocateVirtualMemory
+ZwApphelpCacheControl
+ZwAreMappedFilesTheSame
+ZwAssignProcessToJobObject
+ZwCallbackReturn
+ZwCancelDeviceWakeupRequest
+ZwCancelIoFile
+ZwCancelTimer
+ZwClearEvent
+ZwClose
+ZwCloseObjectAuditAlarm
+ZwCompactKeys
+ZwCompareTokens
+ZwCompleteConnectPort
+ZwCompressKey
+ZwConnectPort
+ZwContinue
+ZwCreateDebugObject
+ZwCreateDirectoryObject
+ZwCreateEvent
+ZwCreateEventPair
+ZwCreateFile
+ZwCreateIoCompletion
+ZwCreateJobObject
+ZwCreateJobSet
+ZwCreateKey
+ZwCreateKeyedEvent
+ZwCreateMailslotFile
+ZwCreateMutant
+ZwCreateNamedPipeFile
+ZwCreatePagingFile
+ZwCreatePort
+ZwCreateProcess
+ZwCreateProcessEx
+ZwCreateProfile
+ZwCreateSection
+ZwCreateSemaphore
+ZwCreateSymbolicLinkObject
+ZwCreateThread
+ZwCreateTimer
+ZwCreateToken
+ZwCreateWaitablePort
+ZwDebugActiveProcess
+ZwDebugContinue
+ZwDelayExecution
+ZwDeleteAtom
+ZwDeleteBootEntry
+ZwDeleteDriverEntry
+ZwDeleteFile
+ZwDeleteKey
+ZwDeleteObjectAuditAlarm
+ZwDeleteValueKey
+ZwDeviceIoControlFile
+ZwDisplayString
+ZwDuplicateObject
+ZwDuplicateToken
+ZwEnumerateBootEntries
+ZwEnumerateDriverEntries
+ZwEnumerateKey
+ZwEnumerateSystemEnvironmentValuesEx
+ZwEnumerateValueKey
+ZwExtendSection
+ZwFilterToken
+ZwFindAtom
+ZwFlushBuffersFile
+ZwFlushInstructionCache
+ZwFlushKey
+ZwFlushVirtualMemory
+ZwFlushWriteBuffer
+ZwFreeUserPhysicalPages
+ZwFreeVirtualMemory
+ZwFsControlFile
+ZwGetContextThread
+ZwGetCurrentProcessorNumber
+ZwGetDevicePowerState
+ZwGetPlugPlayEvent
+ZwGetWriteWatch
+ZwImpersonateAnonymousToken
+ZwImpersonateClientOfPort
+ZwImpersonateThread
+ZwInitializeRegistry
+ZwInitiatePowerAction
+ZwIsProcessInJob
+ZwIsSystemResumeAutomatic
+ZwListenPort
+ZwLoadDriver
+ZwLoadKey
+ZwLoadKey2
+ZwLoadKeyEx
+ZwLockFile
+ZwLockProductActivationKeys
+ZwLockRegistryKey
+ZwLockVirtualMemory
+ZwMakePermanentObject
+ZwMakeTemporaryObject
+ZwMapUserPhysicalPages
+ZwMapUserPhysicalPagesScatter
+ZwMapViewOfSection
+ZwModifyBootEntry
+ZwModifyDriverEntry
+ZwNotifyChangeDirectoryFile
+ZwNotifyChangeKey
+ZwNotifyChangeMultipleKeys
+ZwOpenDirectoryObject
+ZwOpenEvent
+ZwOpenEventPair
+ZwOpenFile
+ZwOpenIoCompletion
+ZwOpenJobObject
+ZwOpenKey
+ZwOpenKeyedEvent
+ZwOpenMutant
+ZwOpenObjectAuditAlarm
+ZwOpenProcess
+ZwOpenProcessToken
+ZwOpenProcessTokenEx
+ZwOpenSection
+ZwOpenSemaphore
+ZwOpenSymbolicLinkObject
+ZwOpenThread
+ZwOpenThreadToken
+ZwOpenThreadTokenEx
+ZwOpenTimer
+ZwPlugPlayControl
+ZwPowerInformation
+ZwPrivilegeCheck
+ZwPrivilegeObjectAuditAlarm
+ZwPrivilegedServiceAuditAlarm
+ZwProtectVirtualMemory
+ZwPulseEvent
+ZwQueryAttributesFile
+ZwQueryBootEntryOrder
+ZwQueryBootOptions
+ZwQueryDebugFilterState
+ZwQueryDefaultLocale
+ZwQueryDefaultUILanguage
+ZwQueryDirectoryFile
+ZwQueryDirectoryObject
+ZwQueryDriverEntryOrder
+ZwQueryEaFile
+ZwQueryEvent
+ZwQueryFullAttributesFile
+ZwQueryInformationAtom
+ZwQueryInformationFile
+ZwQueryInformationJobObject
+ZwQueryInformationPort
+ZwQueryInformationProcess
+ZwQueryInformationThread
+ZwQueryInformationToken
+ZwQueryInstallUILanguage
+ZwQueryIntervalProfile
+ZwQueryIoCompletion
+ZwQueryKey
+ZwQueryMultipleValueKey
+ZwQueryMutant
+ZwQueryObject
+ZwQueryOpenSubKeys
+ZwQueryOpenSubKeysEx
+ZwQueryPerformanceCounter
+ZwQueryPortInformationProcess
+ZwQueryQuotaInformationFile
+ZwQuerySection
+ZwQuerySecurityObject
+ZwQuerySemaphore
+ZwQuerySymbolicLinkObject
+ZwQuerySystemEnvironmentValue
+ZwQuerySystemEnvironmentValueEx
+ZwQuerySystemInformation
+ZwQuerySystemTime
+ZwQueryTimer
+ZwQueryTimerResolution
+ZwQueryValueKey
+ZwQueryVirtualMemory
+ZwQueryVolumeInformationFile
+ZwQueueApcThread
+ZwRaiseException
+ZwRaiseHardError
+ZwReadFile
+ZwReadFileScatter
+ZwReadRequestData
+ZwReadVirtualMemory
+ZwRegisterThreadTerminatePort
+ZwReleaseKeyedEvent
+ZwReleaseMutant
+ZwReleaseSemaphore
+ZwRemoveIoCompletion
+ZwRemoveProcessDebug
+ZwRenameKey
+ZwReplaceKey
+ZwReplyPort
+ZwReplyWaitReceivePort
+ZwReplyWaitReceivePortEx
+ZwReplyWaitReplyPort
+ZwRequestDeviceWakeup
+ZwRequestPort
+ZwRequestWaitReplyPort
+ZwRequestWakeupLatency
+ZwResetEvent
+ZwResetWriteWatch
+ZwRestoreKey
+ZwResumeProcess
+ZwResumeThread
+ZwSaveKey
+ZwSaveKeyEx
+ZwSaveMergedKeys
+ZwSecureConnectPort
+ZwSetBootEntryOrder
+ZwSetBootOptions
+ZwSetContextThread
+ZwSetDebugFilterState
+ZwSetDefaultHardErrorPort
+ZwSetDefaultLocale
+ZwSetDefaultUILanguage
+ZwSetDriverEntryOrder
+ZwSetEaFile
+ZwSetEvent
+ZwSetEventBoostPriority
+ZwSetHighEventPair
+ZwSetHighWaitLowEventPair
+ZwSetInformationDebugObject
+ZwSetInformationFile
+ZwSetInformationJobObject
+ZwSetInformationKey
+ZwSetInformationObject
+ZwSetInformationProcess
+ZwSetInformationThread
+ZwSetInformationToken
+ZwSetIntervalProfile
+ZwSetIoCompletion
+ZwSetLdtEntries
+ZwSetLowEventPair
+ZwSetLowWaitHighEventPair
+ZwSetQuotaInformationFile
+ZwSetSecurityObject
+ZwSetSystemEnvironmentValue
+ZwSetSystemEnvironmentValueEx
+ZwSetSystemInformation
+ZwSetSystemPowerState
+ZwSetSystemTime
+ZwSetThreadExecutionState
+ZwSetTimer
+ZwSetTimerResolution
+ZwSetUuidSeed
+ZwSetValueKey
+ZwSetVolumeInformationFile
+ZwShutdownSystem
+ZwSignalAndWaitForSingleObject
+ZwStartProfile
+ZwStopProfile
+ZwSuspendProcess
+ZwSuspendThread
+ZwSystemDebugControl
+ZwTerminateJobObject
+ZwTerminateProcess
+ZwTerminateThread
+ZwTestAlert
+ZwTraceEvent
+ZwTranslateFilePath
+ZwUnloadDriver
+ZwUnloadKey
+ZwUnloadKey2
+ZwUnloadKeyEx
+ZwUnlockFile
+ZwUnlockVirtualMemory
+ZwUnmapViewOfSection
+ZwVdmControl
+ZwWaitForDebugEvent
+ZwWaitForKeyedEvent
+ZwWaitForMultipleObjects
+ZwWaitForMultipleObjects32
+ZwWaitForSingleObject
+ZwWaitHighEventPair
+ZwWaitLowEventPair
+ZwWriteFile
+ZwWriteFileGather
+ZwWriteRequestData
+ZwWriteVirtualMemory
+ZwYieldExecution
+__C_specific_handler
+;__chkstk
+__isascii
+__iscsym
+__iscsymf
+__misaligned_access
+__toascii
+_atoi64
+_fltused DATA
+_i64toa
+_i64tow
+_itoa
+_itow
+_lfind
+_local_unwind
+_ltoa
+_ltow
+_memccpy
+_memicmp
+_setjmp
+_setjmpex
+_snprintf
+_snwprintf
+_splitpath
+_strcmpi
+_stricmp
+_strlwr
+_strnicmp
+_strupr
+_tolower
+_toupper
+_ui64toa
+_ui64tow
+_ultoa
+_ultow
+_vscwprintf
+_vsnprintf
+_vsnwprintf
+_wcsicmp
+_wcslwr
+_wcsnicmp
+_wcstoui64
+_wcsupr
+_wtoi
+_wtoi64
+_wtol
+abs
+atan
+atoi
+atol
+bsearch
+ceil
+cos
+fabs
+floor
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalpha
+iswctype
+iswdigit
+iswlower
+iswspace
+iswxdigit
+isxdigit
+labs
+log
+mbstowcs
+memchr
+memcmp
+memcpy
+memmove
+memset
+pow
+qsort
+sin
+sprintf
+sqrt
+sscanf
+strcat
+strchr
+strcmp
+strcpy
+strcspn
+strlen
+strncat
+strncmp
+strncpy
+strpbrk
+strrchr
+strspn
+strstr
+strtol
+strtoul
+swprintf
+tan
+tolower
+toupper
+towlower
+towupper
+vDbgPrintEx
+vDbgPrintExWithPrefix
+vsprintf
+wcscat
+wcschr
+wcscmp
+wcscpy
+wcscspn
+wcslen
+wcsncat
+wcsncmp
+wcsncpy
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstol
+wcstombs
+wcstoul
diff --git a/mingw-w64-crt/lib64/ntdsapi.def b/mingw-w64-crt/lib64/ntdsapi.def
index aca4344..5f06bac 100644
--- a/mingw-w64-crt/lib64/ntdsapi.def
+++ b/mingw-w64-crt/lib64/ntdsapi.def
@@ -1,112 +1,112 @@
-; 
-; Exports of file NTDSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTDSAPI.dll
-EXPORTS
-DsAddSidHistoryA
-DsAddSidHistoryW
-DsBindA
-DsBindToISTGA
-DsBindToISTGW
-DsBindW
-DsBindWithCredA
-DsBindWithCredW
-DsBindWithSpnA
-DsBindWithSpnExA
-DsBindWithSpnExW
-DsBindWithSpnW
-DsBindingSetTimeout
-DsClientMakeSpnForTargetServerA
-DsClientMakeSpnForTargetServerW
-DsCrackNamesA
-DsCrackNamesW
-DsCrackSpn2A
-DsCrackSpn2W
-DsCrackSpn3W
-DsCrackSpnA
-DsCrackSpnW
-DsCrackUnquotedMangledRdnA
-DsCrackUnquotedMangledRdnW
-DsFreeDomainControllerInfoA
-DsFreeDomainControllerInfoW
-DsFreeNameResultA
-DsFreeNameResultW
-DsFreePasswordCredentials
-DsFreeSchemaGuidMapA
-DsFreeSchemaGuidMapW
-DsFreeSpnArrayA
-DsFreeSpnArrayW
-DsGetDomainControllerInfoA
-DsGetDomainControllerInfoW
-DsGetRdnW
-DsGetSpnA
-DsGetSpnW
-DsInheritSecurityIdentityA
-DsInheritSecurityIdentityW
-DsIsMangledDnA
-DsIsMangledDnW
-DsIsMangledRdnValueA
-DsIsMangledRdnValueW
-DsListDomainsInSiteA
-DsListDomainsInSiteW
-DsListInfoForServerA
-DsListInfoForServerW
-DsListRolesA
-DsListRolesW
-DsListServersForDomainInSiteA
-DsListServersForDomainInSiteW
-DsListServersInSiteA
-DsListServersInSiteW
-DsListSitesA
-DsListSitesW
-DsLogEntry
-DsMakePasswordCredentialsA
-DsMakePasswordCredentialsW
-DsMakeSpnA
-DsMakeSpnW
-DsMapSchemaGuidsA
-DsMapSchemaGuidsW
-DsQuerySitesByCostA
-DsQuerySitesByCostW
-DsQuerySitesFree
-DsQuoteRdnValueA
-DsQuoteRdnValueW
-DsRemoveDsDomainA
-DsRemoveDsDomainW
-DsRemoveDsServerA
-DsRemoveDsServerW
-DsReplicaAddA
-DsReplicaAddW
-DsReplicaConsistencyCheck
-DsReplicaDelA
-DsReplicaDelW
-DsReplicaFreeInfo
-DsReplicaGetInfo2W
-DsReplicaGetInfoW
-DsReplicaModifyA
-DsReplicaModifyW
-DsReplicaSyncA
-DsReplicaSyncAllA
-DsReplicaSyncAllW
-DsReplicaSyncW
-DsReplicaUpdateRefsA
-DsReplicaUpdateRefsW
-DsReplicaVerifyObjectsA
-DsReplicaVerifyObjectsW
-DsServerRegisterSpnA
-DsServerRegisterSpnW
-DsUnBindA
-DsUnBindW
-DsUnquoteRdnValueA
-DsUnquoteRdnValueW
-DsWriteAccountSpnA
-DsWriteAccountSpnW
-DsaopBind
-DsaopBindWithCred
-DsaopBindWithSpn
-DsaopExecuteScript
-DsaopPrepareScript
-DsaopUnBind
+; 
+; Exports of file NTDSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTDSAPI.dll
+EXPORTS
+DsAddSidHistoryA
+DsAddSidHistoryW
+DsBindA
+DsBindToISTGA
+DsBindToISTGW
+DsBindW
+DsBindWithCredA
+DsBindWithCredW
+DsBindWithSpnA
+DsBindWithSpnExA
+DsBindWithSpnExW
+DsBindWithSpnW
+DsBindingSetTimeout
+DsClientMakeSpnForTargetServerA
+DsClientMakeSpnForTargetServerW
+DsCrackNamesA
+DsCrackNamesW
+DsCrackSpn2A
+DsCrackSpn2W
+DsCrackSpn3W
+DsCrackSpnA
+DsCrackSpnW
+DsCrackUnquotedMangledRdnA
+DsCrackUnquotedMangledRdnW
+DsFreeDomainControllerInfoA
+DsFreeDomainControllerInfoW
+DsFreeNameResultA
+DsFreeNameResultW
+DsFreePasswordCredentials
+DsFreeSchemaGuidMapA
+DsFreeSchemaGuidMapW
+DsFreeSpnArrayA
+DsFreeSpnArrayW
+DsGetDomainControllerInfoA
+DsGetDomainControllerInfoW
+DsGetRdnW
+DsGetSpnA
+DsGetSpnW
+DsInheritSecurityIdentityA
+DsInheritSecurityIdentityW
+DsIsMangledDnA
+DsIsMangledDnW
+DsIsMangledRdnValueA
+DsIsMangledRdnValueW
+DsListDomainsInSiteA
+DsListDomainsInSiteW
+DsListInfoForServerA
+DsListInfoForServerW
+DsListRolesA
+DsListRolesW
+DsListServersForDomainInSiteA
+DsListServersForDomainInSiteW
+DsListServersInSiteA
+DsListServersInSiteW
+DsListSitesA
+DsListSitesW
+DsLogEntry
+DsMakePasswordCredentialsA
+DsMakePasswordCredentialsW
+DsMakeSpnA
+DsMakeSpnW
+DsMapSchemaGuidsA
+DsMapSchemaGuidsW
+DsQuerySitesByCostA
+DsQuerySitesByCostW
+DsQuerySitesFree
+DsQuoteRdnValueA
+DsQuoteRdnValueW
+DsRemoveDsDomainA
+DsRemoveDsDomainW
+DsRemoveDsServerA
+DsRemoveDsServerW
+DsReplicaAddA
+DsReplicaAddW
+DsReplicaConsistencyCheck
+DsReplicaDelA
+DsReplicaDelW
+DsReplicaFreeInfo
+DsReplicaGetInfo2W
+DsReplicaGetInfoW
+DsReplicaModifyA
+DsReplicaModifyW
+DsReplicaSyncA
+DsReplicaSyncAllA
+DsReplicaSyncAllW
+DsReplicaSyncW
+DsReplicaUpdateRefsA
+DsReplicaUpdateRefsW
+DsReplicaVerifyObjectsA
+DsReplicaVerifyObjectsW
+DsServerRegisterSpnA
+DsServerRegisterSpnW
+DsUnBindA
+DsUnBindW
+DsUnquoteRdnValueA
+DsUnquoteRdnValueW
+DsWriteAccountSpnA
+DsWriteAccountSpnW
+DsaopBind
+DsaopBindWithCred
+DsaopBindWithSpn
+DsaopExecuteScript
+DsaopPrepareScript
+DsaopUnBind
diff --git a/mingw-w64-crt/lib64/ntdsbcli.def b/mingw-w64-crt/lib64/ntdsbcli.def
index 8112aff..8945550 100644
--- a/mingw-w64-crt/lib64/ntdsbcli.def
+++ b/mingw-w64-crt/lib64/ntdsbcli.def
@@ -1,36 +1,36 @@
-; 
-; Exports of file ntdsbcli.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntdsbcli.dll
-EXPORTS
-DsBackupClose
-DsBackupEnd
-DsBackupFree
-DsBackupGetBackupLogsA
-DsBackupGetBackupLogsW
-DsBackupGetDatabaseNamesA
-DsBackupGetDatabaseNamesW
-DsBackupOpenFileA
-DsBackupOpenFileW
-DsBackupPrepareA
-DsBackupPrepareW
-DsBackupRead
-DsBackupTruncateLogs
-DsIsNTDSOnlineA
-DsIsNTDSOnlineW
-DsRestoreCheckExpiryToken
-DsRestoreEnd
-DsRestoreGetDatabaseLocationsA
-DsRestoreGetDatabaseLocationsW
-DsRestorePrepareA
-DsRestorePrepareW
-DsRestoreRegisterA
-DsRestoreRegisterComplete
-DsRestoreRegisterW
-DsSetAuthIdentityA
-DsSetAuthIdentityW
-DsSetCurrentBackupLogA
-DsSetCurrentBackupLogW
+; 
+; Exports of file ntdsbcli.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntdsbcli.dll
+EXPORTS
+DsBackupClose
+DsBackupEnd
+DsBackupFree
+DsBackupGetBackupLogsA
+DsBackupGetBackupLogsW
+DsBackupGetDatabaseNamesA
+DsBackupGetDatabaseNamesW
+DsBackupOpenFileA
+DsBackupOpenFileW
+DsBackupPrepareA
+DsBackupPrepareW
+DsBackupRead
+DsBackupTruncateLogs
+DsIsNTDSOnlineA
+DsIsNTDSOnlineW
+DsRestoreCheckExpiryToken
+DsRestoreEnd
+DsRestoreGetDatabaseLocationsA
+DsRestoreGetDatabaseLocationsW
+DsRestorePrepareA
+DsRestorePrepareW
+DsRestoreRegisterA
+DsRestoreRegisterComplete
+DsRestoreRegisterW
+DsSetAuthIdentityA
+DsSetAuthIdentityW
+DsSetCurrentBackupLogA
+DsSetCurrentBackupLogW
diff --git a/mingw-w64-crt/lib64/ntevt.def b/mingw-w64-crt/lib64/ntevt.def
index 33f0c76..3c5bd17 100644
--- a/mingw-w64-crt/lib64/ntevt.def
+++ b/mingw-w64-crt/lib64/ntevt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NTEVT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTEVT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NTEVT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTEVT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ntfsdrv.def b/mingw-w64-crt/lib64/ntfsdrv.def
index 8afa654..3a251f1 100644
--- a/mingw-w64-crt/lib64/ntfsdrv.def
+++ b/mingw-w64-crt/lib64/ntfsdrv.def
@@ -1,11 +1,11 @@
-;
-; Definition file of ntfsdrv.DLL
-; Automatic generated by gendef
-; written by Kai Tietz 2008
-;
-LIBRARY "ntfsdrv.DLL"
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+;
+; Definition file of ntfsdrv.DLL
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "ntfsdrv.DLL"
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ntlanman.def b/mingw-w64-crt/lib64/ntlanman.def
index cc523ea..ce5d11e 100644
--- a/mingw-w64-crt/lib64/ntlanman.def
+++ b/mingw-w64-crt/lib64/ntlanman.def
@@ -1,39 +1,39 @@
-; 
-; Exports of file NTLANMAN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTLANMAN.dll
-EXPORTS
-NPGetConnection
-NPGetCaps
-DllMain
-I_SystemFocusDialog
-NPGetUser
-NPAddConnection
-NPCancelConnection
-IsDfsPathEx
-NPAddConnection3ForCSCAgent
-NPCancelConnectionForCSCAgent
-ServerBrowseDialogA0
-ShareAsDialogA0
-ShareCreate
-ShareManage
-ShareStop
-StopShareDialogA0
-NPPropertyDialog
-NPGetDirectoryType
-NPDirectoryNotify
-NPGetPropertyText
-NPOpenEnum
-NPEnumResource
-NPCloseEnum
-NPFormatNetworkName
-NPAddConnection3
-NPGetUniversalName
-NPGetResourceParent
-NPGetConnectionPerformance
-NPGetResourceInformation
-NPGetReconnectFlags
-NPGetConnection3
+; 
+; Exports of file NTLANMAN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTLANMAN.dll
+EXPORTS
+NPGetConnection
+NPGetCaps
+DllMain
+I_SystemFocusDialog
+NPGetUser
+NPAddConnection
+NPCancelConnection
+IsDfsPathEx
+NPAddConnection3ForCSCAgent
+NPCancelConnectionForCSCAgent
+ServerBrowseDialogA0
+ShareAsDialogA0
+ShareCreate
+ShareManage
+ShareStop
+StopShareDialogA0
+NPPropertyDialog
+NPGetDirectoryType
+NPDirectoryNotify
+NPGetPropertyText
+NPOpenEnum
+NPEnumResource
+NPCloseEnum
+NPFormatNetworkName
+NPAddConnection3
+NPGetUniversalName
+NPGetResourceParent
+NPGetConnectionPerformance
+NPGetResourceInformation
+NPGetReconnectFlags
+NPGetConnection3
diff --git a/mingw-w64-crt/lib64/ntlanui.def b/mingw-w64-crt/lib64/ntlanui.def
index 7551e48..8b80f75 100644
--- a/mingw-w64-crt/lib64/ntlanui.def
+++ b/mingw-w64-crt/lib64/ntlanui.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file NTLANUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTLANUI.dll
-EXPORTS
-ShareAsDialogA0
-StopShareDialogA0
-DllMain
-I_SystemFocusDialog
-NPGetPropertyText
-NPPropertyDialog
-ServerBrowseDialogA0
-ShareCreate
-ShareManage
-ShareStop
+; 
+; Exports of file NTLANUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTLANUI.dll
+EXPORTS
+ShareAsDialogA0
+StopShareDialogA0
+DllMain
+I_SystemFocusDialog
+NPGetPropertyText
+NPPropertyDialog
+ServerBrowseDialogA0
+ShareCreate
+ShareManage
+ShareStop
diff --git a/mingw-w64-crt/lib64/ntlanui2.def b/mingw-w64-crt/lib64/ntlanui2.def
index 15b81e1..468a471 100644
--- a/mingw-w64-crt/lib64/ntlanui2.def
+++ b/mingw-w64-crt/lib64/ntlanui2.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file netobjs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY netobjs.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file netobjs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY netobjs.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/ntlsapi.def b/mingw-w64-crt/lib64/ntlsapi.def
index fce04a9..4ad7f1d 100644
--- a/mingw-w64-crt/lib64/ntlsapi.def
+++ b/mingw-w64-crt/lib64/ntlsapi.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file ntlsapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntlsapi.dll
-EXPORTS
-NtLSFreeHandle
-NtLicenseRequestA
-NtLicenseRequestW
+; 
+; Exports of file ntlsapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntlsapi.dll
+EXPORTS
+NtLSFreeHandle
+NtLicenseRequestA
+NtLicenseRequestW
diff --git a/mingw-w64-crt/lib64/ntmarta.def b/mingw-w64-crt/lib64/ntmarta.def
index 3bfd94f..b714c01 100644
--- a/mingw-w64-crt/lib64/ntmarta.def
+++ b/mingw-w64-crt/lib64/ntmarta.def
@@ -1,51 +1,51 @@
-; 
-; Exports of file NTMARTA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTMARTA.dll
-EXPORTS
-AccFreeIndexArray
-AccGetInheritanceSource
-AccProvHandleGrantAccessRights
-AccRewriteGetExplicitEntriesFromAcl
-AccRewriteGetHandleRights
-AccRewriteGetNamedRights
-AccRewriteSetEntriesInAcl
-AccRewriteSetHandleRights
-AccRewriteSetNamedRights
-AccTreeResetNamedSecurityInfo
-AccConvertAccessMaskToActrlAccess
-AccConvertAccessToSD
-AccConvertAccessToSecurityDescriptor
-AccConvertAclToAccess
-AccConvertSDToAccess
-AccGetAccessForTrustee
-AccGetExplicitEntries
-AccLookupAccountName
-AccLookupAccountSid
-AccLookupAccountTrustee
-AccProvCancelOperation
-AccProvGetAccessInfoPerObjectType
-AccProvGetAllRights
-AccProvGetCapabilities
-AccProvGetOperationResults
-AccProvGetTrusteesAccess
-AccProvGrantAccessRights
-AccProvHandleGetAccessInfoPerObjectType
-AccProvHandleGetAllRights
-AccProvHandleGetTrusteesAccess
-AccProvHandleIsAccessAudited
-AccProvHandleIsObjectAccessible
-AccProvHandleRevokeAccessRights
-AccProvHandleRevokeAuditRights
-AccProvHandleSetAccessRights
-AccProvIsAccessAudited
-AccProvIsObjectAccessible
-AccProvRevokeAccessRights
-AccProvRevokeAuditRights
-AccProvSetAccessRights
-AccSetEntriesInAList
-EventGuidToName
-EventNameFree
+; 
+; Exports of file NTMARTA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTMARTA.dll
+EXPORTS
+AccFreeIndexArray
+AccGetInheritanceSource
+AccProvHandleGrantAccessRights
+AccRewriteGetExplicitEntriesFromAcl
+AccRewriteGetHandleRights
+AccRewriteGetNamedRights
+AccRewriteSetEntriesInAcl
+AccRewriteSetHandleRights
+AccRewriteSetNamedRights
+AccTreeResetNamedSecurityInfo
+AccConvertAccessMaskToActrlAccess
+AccConvertAccessToSD
+AccConvertAccessToSecurityDescriptor
+AccConvertAclToAccess
+AccConvertSDToAccess
+AccGetAccessForTrustee
+AccGetExplicitEntries
+AccLookupAccountName
+AccLookupAccountSid
+AccLookupAccountTrustee
+AccProvCancelOperation
+AccProvGetAccessInfoPerObjectType
+AccProvGetAllRights
+AccProvGetCapabilities
+AccProvGetOperationResults
+AccProvGetTrusteesAccess
+AccProvGrantAccessRights
+AccProvHandleGetAccessInfoPerObjectType
+AccProvHandleGetAllRights
+AccProvHandleGetTrusteesAccess
+AccProvHandleIsAccessAudited
+AccProvHandleIsObjectAccessible
+AccProvHandleRevokeAccessRights
+AccProvHandleRevokeAuditRights
+AccProvHandleSetAccessRights
+AccProvIsAccessAudited
+AccProvIsObjectAccessible
+AccProvRevokeAccessRights
+AccProvRevokeAuditRights
+AccProvSetAccessRights
+AccSetEntriesInAList
+EventGuidToName
+EventNameFree
diff --git a/mingw-w64-crt/lib64/ntmsapi.def b/mingw-w64-crt/lib64/ntmsapi.def
index c1d3ff6..930d4fb 100644
--- a/mingw-w64-crt/lib64/ntmsapi.def
+++ b/mingw-w64-crt/lib64/ntmsapi.def
@@ -1,83 +1,83 @@
-; 
-; Exports of file NTMSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTMSAPI.dll
-EXPORTS
-AccessNtmsLibraryDoor
-AddNtmsMediaType
-AllocateNtmsMedia
-BeginNtmsDeviceChangeDetection
-CancelNtmsLibraryRequest
-CancelNtmsOperatorRequest
-ChangeNtmsMediaType
-CleanNtmsDrive
-CloseNtmsNotification
-CloseNtmsSession
-CreateNtmsMediaA
-CreateNtmsMediaPoolA
-CreateNtmsMediaPoolW
-CreateNtmsMediaW
-DeallocateNtmsMedia
-DecommissionNtmsMedia
-DeleteNtmsDrive
-DeleteNtmsLibrary
-DeleteNtmsMedia
-DeleteNtmsMediaPool
-DeleteNtmsMediaType
-DeleteNtmsRequests
-DisableNtmsObject
-DismountNtmsDrive
-DismountNtmsMedia
-DoEjectFromSADriveW
-EjectDiskFromSADriveA
-EjectDiskFromSADriveW
-EjectNtmsCleaner
-EjectNtmsMedia
-EnableNtmsObject
-EndNtmsDeviceChangeDetection
-EnumerateNtmsObject
-ExportNtmsDatabase
-GetNtmsMediaPoolNameA
-GetNtmsMediaPoolNameW
-GetNtmsObjectAttributeA
-GetNtmsObjectAttributeW
-GetNtmsObjectInformationA
-GetNtmsObjectInformationW
-GetNtmsObjectSecurity
-GetNtmsRequestOrder
-GetNtmsUIOptionsA
-GetNtmsUIOptionsW
-GetVolumesFromDriveA
-GetVolumesFromDriveW
-IdentifyNtmsSlot
-ImportNtmsDatabase
-InjectNtmsCleaner
-InjectNtmsMedia
-InventoryNtmsLibrary
-MountNtmsMedia
-MoveToNtmsMediaPool
-OpenNtmsNotification
-OpenNtmsSessionA
-OpenNtmsSessionW
-ReleaseNtmsCleanerSlot
-ReserveNtmsCleanerSlot
-SatisfyNtmsOperatorRequest
-SetNtmsDeviceChangeDetection
-SetNtmsMediaComplete
-SetNtmsObjectAttributeA
-SetNtmsObjectAttributeW
-SetNtmsObjectInformationA
-SetNtmsObjectInformationW
-SetNtmsObjectSecurity
-SetNtmsRequestOrder
-SetNtmsUIOptionsA
-SetNtmsUIOptionsW
-SubmitNtmsOperatorRequestA
-SubmitNtmsOperatorRequestW
-SwapNtmsMedia
-UpdateNtmsOmidInfo
-WaitForNtmsNotification
-WaitForNtmsOperatorRequest
+; 
+; Exports of file NTMSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTMSAPI.dll
+EXPORTS
+AccessNtmsLibraryDoor
+AddNtmsMediaType
+AllocateNtmsMedia
+BeginNtmsDeviceChangeDetection
+CancelNtmsLibraryRequest
+CancelNtmsOperatorRequest
+ChangeNtmsMediaType
+CleanNtmsDrive
+CloseNtmsNotification
+CloseNtmsSession
+CreateNtmsMediaA
+CreateNtmsMediaPoolA
+CreateNtmsMediaPoolW
+CreateNtmsMediaW
+DeallocateNtmsMedia
+DecommissionNtmsMedia
+DeleteNtmsDrive
+DeleteNtmsLibrary
+DeleteNtmsMedia
+DeleteNtmsMediaPool
+DeleteNtmsMediaType
+DeleteNtmsRequests
+DisableNtmsObject
+DismountNtmsDrive
+DismountNtmsMedia
+DoEjectFromSADriveW
+EjectDiskFromSADriveA
+EjectDiskFromSADriveW
+EjectNtmsCleaner
+EjectNtmsMedia
+EnableNtmsObject
+EndNtmsDeviceChangeDetection
+EnumerateNtmsObject
+ExportNtmsDatabase
+GetNtmsMediaPoolNameA
+GetNtmsMediaPoolNameW
+GetNtmsObjectAttributeA
+GetNtmsObjectAttributeW
+GetNtmsObjectInformationA
+GetNtmsObjectInformationW
+GetNtmsObjectSecurity
+GetNtmsRequestOrder
+GetNtmsUIOptionsA
+GetNtmsUIOptionsW
+GetVolumesFromDriveA
+GetVolumesFromDriveW
+IdentifyNtmsSlot
+ImportNtmsDatabase
+InjectNtmsCleaner
+InjectNtmsMedia
+InventoryNtmsLibrary
+MountNtmsMedia
+MoveToNtmsMediaPool
+OpenNtmsNotification
+OpenNtmsSessionA
+OpenNtmsSessionW
+ReleaseNtmsCleanerSlot
+ReserveNtmsCleanerSlot
+SatisfyNtmsOperatorRequest
+SetNtmsDeviceChangeDetection
+SetNtmsMediaComplete
+SetNtmsObjectAttributeA
+SetNtmsObjectAttributeW
+SetNtmsObjectInformationA
+SetNtmsObjectInformationW
+SetNtmsObjectSecurity
+SetNtmsRequestOrder
+SetNtmsUIOptionsA
+SetNtmsUIOptionsW
+SubmitNtmsOperatorRequestA
+SubmitNtmsOperatorRequestW
+SwapNtmsMedia
+UpdateNtmsOmidInfo
+WaitForNtmsNotification
+WaitForNtmsOperatorRequest
diff --git a/mingw-w64-crt/lib64/ntmsdba.def b/mingw-w64-crt/lib64/ntmsdba.def
index a1736c9..46849bc 100644
--- a/mingw-w64-crt/lib64/ntmsdba.def
+++ b/mingw-w64-crt/lib64/ntmsdba.def
@@ -1,2400 +1,2400 @@
-; 
-; Exports of file NTMSDBA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTMSDBA.dll
-EXPORTS
-; public: __cdecl NtmsDbList::Map::Map(void) __ptr64
-??0Map@NtmsDbList@@QEAA@XZ
-; public: __cdecl NtmsDatabase::NtmsDatabase(class NtmsDatabase const & __ptr64) __ptr64
-??0NtmsDatabase@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbChanger::NtmsDbChanger(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbChanger@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbChanger::NtmsDbChanger(void) __ptr64
-??0NtmsDbChanger@@QEAA@XZ
-; public: __cdecl NtmsDbChangerType::NtmsDbChangerType(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbChangerType@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbChangerType::NtmsDbChangerType(void) __ptr64
-??0NtmsDbChangerType@@QEAA@XZ
-; public: __cdecl NtmsDbComputer::NtmsDbComputer(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbComputer@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbComputer::NtmsDbComputer(void) __ptr64
-??0NtmsDbComputer@@QEAA@XZ
-; public: __cdecl NtmsDbDataCtxt::NtmsDbDataCtxt(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0NtmsDbDataCtxt@@QEAA@PEBG0@Z
-; public: __cdecl NtmsDbDrive::NtmsDbDrive(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbDrive@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbDrive::NtmsDbDrive(void) __ptr64
-??0NtmsDbDrive@@QEAA@XZ
-; public: __cdecl NtmsDbDriveType::NtmsDbDriveType(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbDriveType@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbDriveType::NtmsDbDriveType(void) __ptr64
-??0NtmsDbDriveType@@QEAA@XZ
-; public: __cdecl NtmsDbError::NtmsDbError(void) __ptr64
-??0NtmsDbError@@QEAA@XZ
-; public: __cdecl NtmsDbFile::NtmsDbFile(class NtmsDbFile const & __ptr64) __ptr64
-??0NtmsDbFile@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbGuid::NtmsDbGuid(struct _GUID const & __ptr64) __ptr64
-??0NtmsDbGuid@@QEAA@AEBU_GUID@@@Z
-; public: __cdecl NtmsDbGuid::NtmsDbGuid(class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbGuid@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbGuid::NtmsDbGuid(char const * __ptr64) __ptr64
-??0NtmsDbGuid@@QEAA@PEBD@Z
-; public: __cdecl NtmsDbGuid::NtmsDbGuid(unsigned char const * __ptr64) __ptr64
-??0NtmsDbGuid@@QEAA@PEBE@Z
-; public: __cdecl NtmsDbGuid::NtmsDbGuid(struct _GUID const * __ptr64) __ptr64
-??0NtmsDbGuid@@QEAA@PEBU_GUID@@@Z
-; public: __cdecl NtmsDbGuid::NtmsDbGuid(void) __ptr64
-??0NtmsDbGuid@@QEAA@XZ
-; public: __cdecl NtmsDbIEDoor::NtmsDbIEDoor(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbIEDoor@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbIEDoor::NtmsDbIEDoor(void) __ptr64
-??0NtmsDbIEDoor@@QEAA@XZ
-; public: __cdecl NtmsDbIEPort::NtmsDbIEPort(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbIEPort@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbIEPort::NtmsDbIEPort(void) __ptr64
-??0NtmsDbIEPort@@QEAA@XZ
-; public: __cdecl NtmsDbLibWorkItem::NtmsDbLibWorkItem(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbLibWorkItem@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbLibWorkItem::NtmsDbLibWorkItem(void) __ptr64
-??0NtmsDbLibWorkItem@@QEAA@XZ
-; public: __cdecl NtmsDbLibrary::NtmsDbLibrary(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbLibrary@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbLibrary::NtmsDbLibrary(void) __ptr64
-??0NtmsDbLibrary@@QEAA@XZ
-; public: __cdecl NtmsDbLinkedGuid::NtmsDbLinkedGuid(class NtmsDbLinkedGuid const & __ptr64) __ptr64
-??0NtmsDbLinkedGuid@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbLinkedGuid::NtmsDbLinkedGuid(void) __ptr64
-??0NtmsDbLinkedGuid@@QEAA@XZ
-; public: __cdecl NtmsDbList::NtmsDbList(class NtmsDbList const & __ptr64) __ptr64
-??0NtmsDbList@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbList::NtmsDbList(int) __ptr64
-??0NtmsDbList@@QEAA@H@Z
-; public: __cdecl NtmsDbLogicalMedia::NtmsDbLogicalMedia(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbLogicalMedia@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbLogicalMedia::NtmsDbLogicalMedia(void) __ptr64
-??0NtmsDbLogicalMedia@@QEAA@XZ
-; public: __cdecl NtmsDbMediaPool::NtmsDbMediaPool(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbMediaPool@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbMediaPool::NtmsDbMediaPool(void) __ptr64
-??0NtmsDbMediaPool@@QEAA@XZ
-; public: __cdecl NtmsDbMediaType::NtmsDbMediaType(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbMediaType@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbMediaType::NtmsDbMediaType(void) __ptr64
-??0NtmsDbMediaType@@QEAA@XZ
-; public: __cdecl NtmsDbObjTypeDef::NtmsDbObjTypeDef(char * __ptr64,char * __ptr64,unsigned long,unsigned long,class NtmsDbRecordType * __ptr64) __ptr64
-??0NtmsDbObjTypeDef@@QEAA@PEAD0KKPEAVNtmsDbRecordType@@@Z
-; public: __cdecl NtmsDbObject::NtmsDbObject(class NtmsDbObject const & __ptr64) __ptr64
-??0NtmsDbObject@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbObject::NtmsDbObject(unsigned long) __ptr64
-??0NtmsDbObject@@QEAA@K@Z
-; public: __cdecl NtmsDbObject::NtmsDbObject(class NtmsDbDataCtxt * __ptr64,unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbObject@@QEAA@PEAVNtmsDbDataCtxt@@KAEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbObject::NtmsDbObject(void) __ptr64
-??0NtmsDbObject@@QEAA@XZ
-; public: __cdecl NtmsDbOpRequest::NtmsDbOpRequest(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbOpRequest@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbOpRequest::NtmsDbOpRequest(void) __ptr64
-??0NtmsDbOpRequest@@QEAA@XZ
-; public: __cdecl NtmsDbPartition::NtmsDbPartition(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbPartition@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbPartition::NtmsDbPartition(void) __ptr64
-??0NtmsDbPartition@@QEAA@XZ
-; public: __cdecl NtmsDbPhysicalMedia::NtmsDbPhysicalMedia(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbPhysicalMedia@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbPhysicalMedia::NtmsDbPhysicalMedia(void) __ptr64
-??0NtmsDbPhysicalMedia@@QEAA@XZ
-; public: __cdecl NtmsDbPropBinary::NtmsDbPropBinary(void) __ptr64
-??0NtmsDbPropBinary@@QEAA@XZ
-; public: __cdecl NtmsDbPropChar::NtmsDbPropChar(void) __ptr64
-??0NtmsDbPropChar@@QEAA@XZ
-; public: __cdecl NtmsDbPropDataType::NtmsDbPropDataType(short) __ptr64
-??0NtmsDbPropDataType@@QEAA@F@Z
-; public: __cdecl NtmsDbPropDataType::NtmsDbPropDataType(void) __ptr64
-??0NtmsDbPropDataType@@QEAA@XZ
-; public: __cdecl NtmsDbPropDouble::NtmsDbPropDouble(void) __ptr64
-??0NtmsDbPropDouble@@QEAA@XZ
-; public: __cdecl NtmsDbPropGuid::NtmsDbPropGuid(void) __ptr64
-??0NtmsDbPropGuid@@QEAA@XZ
-; public: __cdecl NtmsDbPropHeader::NtmsDbPropHeader(void) __ptr64
-??0NtmsDbPropHeader@@QEAA@XZ
-; public: __cdecl NtmsDbPropLargeInt::NtmsDbPropLargeInt(void) __ptr64
-??0NtmsDbPropLargeInt@@QEAA@XZ
-; public: __cdecl NtmsDbPropLong::NtmsDbPropLong(void) __ptr64
-??0NtmsDbPropLong@@QEAA@XZ
-; public: __cdecl NtmsDbPropRelation::NtmsDbPropRelation(void) __ptr64
-??0NtmsDbPropRelation@@QEAA@XZ
-; public: __cdecl NtmsDbPropShort::NtmsDbPropShort(void) __ptr64
-??0NtmsDbPropShort@@QEAA@XZ
-; public: __cdecl NtmsDbPropTimeDate::NtmsDbPropTimeDate(void) __ptr64
-??0NtmsDbPropTimeDate@@QEAA@XZ
-; public: __cdecl NtmsDbProperty::NtmsDbProperty(class NtmsDbRecordProp * __ptr64) __ptr64
-??0NtmsDbProperty@@QEAA@PEAVNtmsDbRecordProp@@@Z
-; public: __cdecl NtmsDbProperty::NtmsDbProperty(void) __ptr64
-??0NtmsDbProperty@@QEAA@XZ
-; public: __cdecl NtmsDbPropertyValue::NtmsDbPropertyValue(long) __ptr64
-??0NtmsDbPropertyValue@@QEAA@J@Z
-; public: __cdecl NtmsDbPropertyValue::NtmsDbPropertyValue(class NtmsDbRecordPropList * __ptr64,long) __ptr64
-??0NtmsDbPropertyValue@@QEAA@PEAVNtmsDbRecordPropList@@J@Z
-; public: __cdecl NtmsDbRecordKey::NtmsDbRecordKey(class NtmsDbRecordKey const & __ptr64) __ptr64
-??0NtmsDbRecordKey@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbRecordKey::NtmsDbRecordKey(class NtmsDbRecordType const & __ptr64) __ptr64
-??0NtmsDbRecordKey@@QEAA@AEBVNtmsDbRecordType@@@Z
-; public: __cdecl NtmsDbRecordKey::NtmsDbRecordKey(short,unsigned long) __ptr64
-??0NtmsDbRecordKey@@QEAA@FK@Z
-; public: __cdecl NtmsDbRecordKey::NtmsDbRecordKey(void) __ptr64
-??0NtmsDbRecordKey@@QEAA@XZ
-; public: __cdecl NtmsDbRecordKeyList::NtmsDbRecordKeyList(class NtmsDbRecordKeyList const & __ptr64) __ptr64
-??0NtmsDbRecordKeyList@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbRecordKeyList::NtmsDbRecordKeyList(void) __ptr64
-??0NtmsDbRecordKeyList@@QEAA@XZ
-; public: __cdecl NtmsDbRecordProp::NtmsDbRecordProp(void) __ptr64
-??0NtmsDbRecordProp@@QEAA@XZ
-; public: __cdecl NtmsDbRecordPropList::NtmsDbRecordPropList(class NtmsDbRecordPropList const & __ptr64) __ptr64
-??0NtmsDbRecordPropList@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbRecordPropList::NtmsDbRecordPropList(long) __ptr64
-??0NtmsDbRecordPropList@@QEAA@J@Z
-; public: __cdecl NtmsDbRecordPropList::NtmsDbRecordPropList(void) __ptr64
-??0NtmsDbRecordPropList@@QEAA@XZ
-; public: __cdecl NtmsDbRecordRev::NtmsDbRecordRev(unsigned long) __ptr64
-??0NtmsDbRecordRev@@QEAA@K@Z
-; public: __cdecl NtmsDbRecordRev::NtmsDbRecordRev(void) __ptr64
-??0NtmsDbRecordRev@@QEAA@XZ
-; public: __cdecl NtmsDbRecordType::NtmsDbRecordType(short) __ptr64
-??0NtmsDbRecordType@@QEAA@F@Z
-; public: __cdecl NtmsDbRecordType::NtmsDbRecordType(void) __ptr64
-??0NtmsDbRecordType@@QEAA@XZ
-; public: __cdecl NtmsDbRecordUniqueKey::NtmsDbRecordUniqueKey(class NtmsDbRecordUniqueKey const & __ptr64) __ptr64
-??0NtmsDbRecordUniqueKey@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbRecordUniqueKey::NtmsDbRecordUniqueKey(class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbRecordUniqueKey@@QEAA@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbRecordUniqueKey::NtmsDbRecordUniqueKey(class NtmsDbRecordKey const & __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbRecordUniqueKey@@QEAA@AEBVNtmsDbRecordKey@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbRecordUniqueKey::NtmsDbRecordUniqueKey(void) __ptr64
-??0NtmsDbRecordUniqueKey@@QEAA@XZ
-; public: __cdecl NtmsDbSelectionSet::NtmsDbSelectionSet(class NtmsDbSelectionSet const & __ptr64) __ptr64
-??0NtmsDbSelectionSet@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbSelectionSet::NtmsDbSelectionSet(class NtmsDbDataCtxt * __ptr64,unsigned long) __ptr64
-??0NtmsDbSelectionSet@@QEAA@PEAVNtmsDbDataCtxt@@K@Z
-; public: __cdecl NtmsDbSelectionSet::NtmsDbSelectionSet(void) __ptr64
-??0NtmsDbSelectionSet@@QEAA@XZ
-; public: __cdecl NtmsDbStorageSlot::NtmsDbStorageSlot(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbStorageSlot@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbStorageSlot::NtmsDbStorageSlot(void) __ptr64
-??0NtmsDbStorageSlot@@QEAA@XZ
-; public: __cdecl NtmsDbString::NtmsDbString(class NtmsDbString const & __ptr64) __ptr64
-??0NtmsDbString@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbString::NtmsDbString(char const * __ptr64) __ptr64
-??0NtmsDbString@@QEAA@PEBD@Z
-; public: __cdecl NtmsDbString::NtmsDbString(void) __ptr64
-??0NtmsDbString@@QEAA@XZ
-; public: __cdecl NtmsDbString::NtmsDbString(unsigned __int64) __ptr64
-??0NtmsDbString@@QEAA@_K@Z
-; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(struct _GUID const & __ptr64) __ptr64
-??0NtmsDbTypeGuid@@QEAA@AEBU_GUID@@@Z
-; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(class NtmsDbTypeGuid const & __ptr64) __ptr64
-??0NtmsDbTypeGuid@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbTypeGuid@@QEAA@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(char const * __ptr64) __ptr64
-??0NtmsDbTypeGuid@@QEAA@PEBD@Z
-; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(void) __ptr64
-??0NtmsDbTypeGuid@@QEAA@XZ
-; public: __cdecl NtmsDbUIDestination::NtmsDbUIDestination(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
-??0NtmsDbUIDestination@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
-; public: __cdecl NtmsDbUIDestination::NtmsDbUIDestination(void) __ptr64
-??0NtmsDbUIDestination@@QEAA@XZ
-; public: __cdecl NtmsPropMetaInfo::NtmsPropMetaInfo(long,char const * __ptr64) __ptr64
-??0NtmsPropMetaInfo@@QEAA@JPEBD@Z
-; public: __cdecl NtmsTransaction::NtmsTransaction(class NtmsTransaction const & __ptr64) __ptr64
-??0NtmsTransaction@@QEAA@AEBV0@@Z
-; public: __cdecl NtmsDbList::Map::~Map(void) __ptr64
-??1Map@NtmsDbList@@QEAA@XZ
-; public: virtual __cdecl NtmsDbChanger::~NtmsDbChanger(void) __ptr64
-??1NtmsDbChanger@@UEAA@XZ
-; public: virtual __cdecl NtmsDbChangerType::~NtmsDbChangerType(void) __ptr64
-??1NtmsDbChangerType@@UEAA@XZ
-; public: virtual __cdecl NtmsDbComputer::~NtmsDbComputer(void) __ptr64
-??1NtmsDbComputer@@UEAA@XZ
-; public: __cdecl NtmsDbDataCtxt::~NtmsDbDataCtxt(void) __ptr64
-??1NtmsDbDataCtxt@@QEAA@XZ
-; public: virtual __cdecl NtmsDbDrive::~NtmsDbDrive(void) __ptr64
-??1NtmsDbDrive@@UEAA@XZ
-; public: virtual __cdecl NtmsDbDriveType::~NtmsDbDriveType(void) __ptr64
-??1NtmsDbDriveType@@UEAA@XZ
-; public: virtual __cdecl NtmsDbIEDoor::~NtmsDbIEDoor(void) __ptr64
-??1NtmsDbIEDoor@@UEAA@XZ
-; public: virtual __cdecl NtmsDbIEPort::~NtmsDbIEPort(void) __ptr64
-??1NtmsDbIEPort@@UEAA@XZ
-; public: virtual __cdecl NtmsDbLibWorkItem::~NtmsDbLibWorkItem(void) __ptr64
-??1NtmsDbLibWorkItem@@UEAA@XZ
-; public: virtual __cdecl NtmsDbLibrary::~NtmsDbLibrary(void) __ptr64
-??1NtmsDbLibrary@@UEAA@XZ
-; public: __cdecl NtmsDbLinkedGuid::~NtmsDbLinkedGuid(void) __ptr64
-??1NtmsDbLinkedGuid@@QEAA@XZ
-; public: virtual __cdecl NtmsDbList::~NtmsDbList(void) __ptr64
-??1NtmsDbList@@UEAA@XZ
-; public: virtual __cdecl NtmsDbLogicalMedia::~NtmsDbLogicalMedia(void) __ptr64
-??1NtmsDbLogicalMedia@@UEAA@XZ
-; public: virtual __cdecl NtmsDbMediaPool::~NtmsDbMediaPool(void) __ptr64
-??1NtmsDbMediaPool@@UEAA@XZ
-; public: virtual __cdecl NtmsDbMediaType::~NtmsDbMediaType(void) __ptr64
-??1NtmsDbMediaType@@UEAA@XZ
-; public: virtual __cdecl NtmsDbObject::~NtmsDbObject(void) __ptr64
-??1NtmsDbObject@@UEAA@XZ
-; public: virtual __cdecl NtmsDbOpRequest::~NtmsDbOpRequest(void) __ptr64
-??1NtmsDbOpRequest@@UEAA@XZ
-; public: virtual __cdecl NtmsDbPartition::~NtmsDbPartition(void) __ptr64
-??1NtmsDbPartition@@UEAA@XZ
-; public: virtual __cdecl NtmsDbPhysicalMedia::~NtmsDbPhysicalMedia(void) __ptr64
-??1NtmsDbPhysicalMedia@@UEAA@XZ
-; public: __cdecl NtmsDbPropBinary::~NtmsDbPropBinary(void) __ptr64
-??1NtmsDbPropBinary@@QEAA@XZ
-; public: __cdecl NtmsDbPropChar::~NtmsDbPropChar(void) __ptr64
-??1NtmsDbPropChar@@QEAA@XZ
-; public: __cdecl NtmsDbPropDouble::~NtmsDbPropDouble(void) __ptr64
-??1NtmsDbPropDouble@@QEAA@XZ
-; public: __cdecl NtmsDbPropGuid::~NtmsDbPropGuid(void) __ptr64
-??1NtmsDbPropGuid@@QEAA@XZ
-; public: __cdecl NtmsDbPropHeader::~NtmsDbPropHeader(void) __ptr64
-??1NtmsDbPropHeader@@QEAA@XZ
-; public: __cdecl NtmsDbPropLargeInt::~NtmsDbPropLargeInt(void) __ptr64
-??1NtmsDbPropLargeInt@@QEAA@XZ
-; public: __cdecl NtmsDbPropLong::~NtmsDbPropLong(void) __ptr64
-??1NtmsDbPropLong@@QEAA@XZ
-; public: __cdecl NtmsDbPropRecordClass::~NtmsDbPropRecordClass(void) __ptr64
-??1NtmsDbPropRecordClass@@QEAA@XZ
-; public: __cdecl NtmsDbPropRelation::~NtmsDbPropRelation(void) __ptr64
-??1NtmsDbPropRelation@@QEAA@XZ
-; public: __cdecl NtmsDbPropShort::~NtmsDbPropShort(void) __ptr64
-??1NtmsDbPropShort@@QEAA@XZ
-; public: __cdecl NtmsDbPropTimeDate::~NtmsDbPropTimeDate(void) __ptr64
-??1NtmsDbPropTimeDate@@QEAA@XZ
-; public: virtual __cdecl NtmsDbPropertyValue::~NtmsDbPropertyValue(void) __ptr64
-??1NtmsDbPropertyValue@@UEAA@XZ
-; public: virtual __cdecl NtmsDbRecordKeyList::~NtmsDbRecordKeyList(void) __ptr64
-??1NtmsDbRecordKeyList@@UEAA@XZ
-; public: __cdecl NtmsDbRecordProp::~NtmsDbRecordProp(void) __ptr64
-??1NtmsDbRecordProp@@QEAA@XZ
-; public: __cdecl NtmsDbRecordPropList::~NtmsDbRecordPropList(void) __ptr64
-??1NtmsDbRecordPropList@@QEAA@XZ
-; public: virtual __cdecl NtmsDbSelectionSet::~NtmsDbSelectionSet(void) __ptr64
-??1NtmsDbSelectionSet@@UEAA@XZ
-; public: virtual __cdecl NtmsDbStorageSlot::~NtmsDbStorageSlot(void) __ptr64
-??1NtmsDbStorageSlot@@UEAA@XZ
-; public: __cdecl NtmsDbString::~NtmsDbString(void) __ptr64
-??1NtmsDbString@@QEAA@XZ
-; public: virtual __cdecl NtmsDbUIDestination::~NtmsDbUIDestination(void) __ptr64
-??1NtmsDbUIDestination@@UEAA@XZ
-; public: class NtmsDbList::Map & __ptr64 __cdecl NtmsDbList::Map::operator=(class NtmsDbList::Map const & __ptr64) __ptr64
-??4Map@NtmsDbList@@QEAAAEAV01@AEBV01@@Z
-; public: class NtmsDatabase & __ptr64 __cdecl NtmsDatabase::operator=(class NtmsDatabase const & __ptr64) __ptr64
-??4NtmsDatabase@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbChanger & __ptr64 __cdecl NtmsDbChanger::operator=(class NtmsDbChanger & __ptr64) __ptr64
-??4NtmsDbChanger@@QEAAAEAV0@AEAV0@@Z
-; public: class NtmsDbChangerType & __ptr64 __cdecl NtmsDbChangerType::operator=(class NtmsDbChangerType & __ptr64) __ptr64
-??4NtmsDbChangerType@@QEAAAEAV0@AEAV0@@Z
-; public: class NtmsDbComputer & __ptr64 __cdecl NtmsDbComputer::operator=(class NtmsDbComputer const & __ptr64) __ptr64
-??4NtmsDbComputer@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbDataCtxt const & __ptr64 __cdecl NtmsDbDataCtxt::operator=(class NtmsDbDataCtxt const & __ptr64) __ptr64
-??4NtmsDbDataCtxt@@QEAAAEBV0@AEBV0@@Z
-; public: class NtmsDbDrive & __ptr64 __cdecl NtmsDbDrive::operator=(class NtmsDbDrive & __ptr64) __ptr64
-??4NtmsDbDrive@@QEAAAEAV0@AEAV0@@Z
-; public: class NtmsDbDriveType & __ptr64 __cdecl NtmsDbDriveType::operator=(class NtmsDbDriveType & __ptr64) __ptr64
-??4NtmsDbDriveType@@QEAAAEAV0@AEAV0@@Z
-; public: class NtmsDbError & __ptr64 __cdecl NtmsDbError::operator=(class NtmsDbError const & __ptr64) __ptr64
-??4NtmsDbError@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbError & __ptr64 __cdecl NtmsDbError::operator=(unsigned long) __ptr64
-??4NtmsDbError@@QEAAAEAV0@K@Z
-; public: class NtmsDbFile & __ptr64 __cdecl NtmsDbFile::operator=(class NtmsDbFile const & __ptr64) __ptr64
-??4NtmsDbFile@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbGuid::operator=(struct _GUID const & __ptr64) __ptr64
-??4NtmsDbGuid@@QEAAAEAV0@AEBU_GUID@@@Z
-; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbGuid::operator=(class NtmsDbGuid const & __ptr64) __ptr64
-??4NtmsDbGuid@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbGuid::operator=(char const * __ptr64) __ptr64
-??4NtmsDbGuid@@QEAAAEAV0@PEBD@Z
-; public: class NtmsDbIEDoor & __ptr64 __cdecl NtmsDbIEDoor::operator=(class NtmsDbIEDoor const & __ptr64) __ptr64
-??4NtmsDbIEDoor@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbIEPort & __ptr64 __cdecl NtmsDbIEPort::operator=(class NtmsDbIEPort const & __ptr64) __ptr64
-??4NtmsDbIEPort@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbLibWorkItem & __ptr64 __cdecl NtmsDbLibWorkItem::operator=(class NtmsDbLibWorkItem const & __ptr64) __ptr64
-??4NtmsDbLibWorkItem@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbLibrary & __ptr64 __cdecl NtmsDbLibrary::operator=(class NtmsDbLibrary const & __ptr64) __ptr64
-??4NtmsDbLibrary@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbLinkedGuid & __ptr64 __cdecl NtmsDbLinkedGuid::operator=(class NtmsDbLinkedGuid const & __ptr64) __ptr64
-??4NtmsDbLinkedGuid@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbLinkedGuid::operator=(class NtmsDbGuid const & __ptr64) __ptr64
-??4NtmsDbLinkedGuid@@QEAAAEAVNtmsDbGuid@@AEBV1@@Z
-; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator=(class NtmsDbList const & __ptr64) __ptr64
-??4NtmsDbList@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbListItem & __ptr64 __cdecl NtmsDbListItem::operator=(class NtmsDbListItem const & __ptr64) __ptr64
-??4NtmsDbListItem@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbLogicalMedia & __ptr64 __cdecl NtmsDbLogicalMedia::operator=(class NtmsDbLogicalMedia const & __ptr64) __ptr64
-??4NtmsDbLogicalMedia@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbMediaPool & __ptr64 __cdecl NtmsDbMediaPool::operator=(class NtmsDbMediaPool const & __ptr64) __ptr64
-??4NtmsDbMediaPool@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbMediaType & __ptr64 __cdecl NtmsDbMediaType::operator=(class NtmsDbMediaType const & __ptr64) __ptr64
-??4NtmsDbMediaType@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbObjTypeDef & __ptr64 __cdecl NtmsDbObjTypeDef::operator=(class NtmsDbObjTypeDef const & __ptr64) __ptr64
-??4NtmsDbObjTypeDef@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbObject & __ptr64 __cdecl NtmsDbObject::operator=(class NtmsDbObject const & __ptr64) __ptr64
-??4NtmsDbObject@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbOpRequest & __ptr64 __cdecl NtmsDbOpRequest::operator=(class NtmsDbOpRequest const & __ptr64) __ptr64
-??4NtmsDbOpRequest@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPartition & __ptr64 __cdecl NtmsDbPartition::operator=(class NtmsDbPartition const & __ptr64) __ptr64
-??4NtmsDbPartition@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPhysicalMedia & __ptr64 __cdecl NtmsDbPhysicalMedia::operator=(class NtmsDbPhysicalMedia & __ptr64) __ptr64
-??4NtmsDbPhysicalMedia@@QEAAAEAV0@AEAV0@@Z
-; public: class NtmsDbPropBinary & __ptr64 __cdecl NtmsDbPropBinary::operator=(class NtmsDbPropBinary const & __ptr64) __ptr64
-??4NtmsDbPropBinary@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPropChar & __ptr64 __cdecl NtmsDbPropChar::operator=(class NtmsDbPropChar const & __ptr64) __ptr64
-??4NtmsDbPropChar@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPropDataType & __ptr64 __cdecl NtmsDbPropDataType::operator=(class NtmsDbPropDataType & __ptr64) __ptr64
-??4NtmsDbPropDataType@@QEAAAEAV0@AEAV0@@Z
-; public: class NtmsDbPropDataType & __ptr64 __cdecl NtmsDbPropDataType::operator=(short) __ptr64
-??4NtmsDbPropDataType@@QEAAAEAV0@F@Z
-; public: class NtmsDbPropDouble & __ptr64 __cdecl NtmsDbPropDouble::operator=(class NtmsDbPropDouble const & __ptr64) __ptr64
-??4NtmsDbPropDouble@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPropGuid & __ptr64 __cdecl NtmsDbPropGuid::operator=(class NtmsDbPropGuid const & __ptr64) __ptr64
-??4NtmsDbPropGuid@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPropHeader const & __ptr64 __cdecl NtmsDbPropHeader::operator=(class NtmsDbPropHeader const & __ptr64) __ptr64
-??4NtmsDbPropHeader@@QEAAAEBV0@AEBV0@@Z
-; public: class NtmsDbPropLargeInt & __ptr64 __cdecl NtmsDbPropLargeInt::operator=(class NtmsDbPropLargeInt const & __ptr64) __ptr64
-??4NtmsDbPropLargeInt@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPropLong & __ptr64 __cdecl NtmsDbPropLong::operator=(class NtmsDbPropLong const & __ptr64) __ptr64
-??4NtmsDbPropLong@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPropRecordClass & __ptr64 __cdecl NtmsDbPropRecordClass::operator=(class NtmsDbPropRecordClass const & __ptr64) __ptr64
-??4NtmsDbPropRecordClass@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPropRelation & __ptr64 __cdecl NtmsDbPropRelation::operator=(class NtmsDbPropRelation & __ptr64) __ptr64
-??4NtmsDbPropRelation@@QEAAAEAV0@AEAV0@@Z
-; public: class NtmsDbPropShort & __ptr64 __cdecl NtmsDbPropShort::operator=(class NtmsDbPropShort const & __ptr64) __ptr64
-??4NtmsDbPropShort@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPropTimeDate & __ptr64 __cdecl NtmsDbPropTimeDate::operator=(class NtmsDbPropTimeDate const & __ptr64) __ptr64
-??4NtmsDbPropTimeDate@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbProperty & __ptr64 __cdecl NtmsDbProperty::operator=(class NtmsDbProperty const & __ptr64) __ptr64
-??4NtmsDbProperty@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(short) __ptr64
-??4NtmsDbPropertyValue@@QEAAAEBV0@F@Z
-; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(unsigned short) __ptr64
-??4NtmsDbPropertyValue@@QEAAAEBV0@G@Z
-; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(int) __ptr64
-??4NtmsDbPropertyValue@@QEAAAEBV0@H@Z
-; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(unsigned int) __ptr64
-??4NtmsDbPropertyValue@@QEAAAEBV0@I@Z
-; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(long) __ptr64
-??4NtmsDbPropertyValue@@QEAAAEBV0@J@Z
-; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(unsigned long) __ptr64
-??4NtmsDbPropertyValue@@QEAAAEBV0@K@Z
-; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(float) __ptr64
-??4NtmsDbPropertyValue@@QEAAAEBV0@M@Z
-; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(double) __ptr64
-??4NtmsDbPropertyValue@@QEAAAEBV0@N@Z
-; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(char const * __ptr64) __ptr64
-??4NtmsDbPropertyValue@@QEAAAEBV0@PEBD@Z
-; public: virtual class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(class NtmsDbGuid const & __ptr64) __ptr64
-??4NtmsDbPropertyValue@@UEAAAEBVNtmsDbRecordProp@@AEBVNtmsDbGuid@@@Z
-; public: class NtmsDbRecordKey & __ptr64 __cdecl NtmsDbRecordKey::operator=(class NtmsDbRecordType & __ptr64) __ptr64
-??4NtmsDbRecordKey@@QEAAAEAV0@AEAVNtmsDbRecordType@@@Z
-; public: class NtmsDbRecordKey & __ptr64 __cdecl NtmsDbRecordKey::operator=(class NtmsDbRecordKey const & __ptr64) __ptr64
-??4NtmsDbRecordKey@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbRecordKey & __ptr64 __cdecl NtmsDbRecordKey::operator=(short) __ptr64
-??4NtmsDbRecordKey@@QEAAAEAV0@F@Z
-; public: class NtmsDbRecordKey & __ptr64 __cdecl NtmsDbRecordKey::operator=(unsigned long) __ptr64
-??4NtmsDbRecordKey@@QEAAAEAV0@K@Z
-; public: class NtmsDbRecordKeyList & __ptr64 __cdecl NtmsDbRecordKeyList::operator=(class NtmsDbRecordKeyList const & __ptr64) __ptr64
-??4NtmsDbRecordKeyList@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(class NtmsDbRecordProp const & __ptr64) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@AEBV0@@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(class NtmsDbGuid const & __ptr64) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@AEBVNtmsDbGuid@@@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(short) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@F@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(unsigned short) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@G@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(int) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@H@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(unsigned int) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@I@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(long) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@J@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(unsigned long) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@K@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(float) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@M@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(double) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@N@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(unsigned short * __ptr64) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@PEAG@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(char const * __ptr64) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@PEBD@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(union _LARGE_INTEGER) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@T_LARGE_INTEGER@@@Z
-; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(struct _SYSTEMTIME) __ptr64
-??4NtmsDbRecordProp@@QEAAAEBV0@U_SYSTEMTIME@@@Z
-; public: class NtmsDbRecordPropList const & __ptr64 __cdecl NtmsDbRecordPropList::operator=(class NtmsDbRecordPropList const & __ptr64) __ptr64
-??4NtmsDbRecordPropList@@QEAAAEBV0@AEBV0@@Z
-; public: class NtmsDbRecordRev & __ptr64 __cdecl NtmsDbRecordRev::operator=(class NtmsDbRecordRev const & __ptr64) __ptr64
-??4NtmsDbRecordRev@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbRecordType & __ptr64 __cdecl NtmsDbRecordType::operator=(class NtmsDbRecordType const & __ptr64) __ptr64
-??4NtmsDbRecordType@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl NtmsDbRecordType::operator=(short) __ptr64
-??4NtmsDbRecordType@@QEAAXF@Z
-; public: class NtmsDbRecordUniqueKey const & __ptr64 __cdecl NtmsDbRecordUniqueKey::operator=(class NtmsDbRecordUniqueKey const & __ptr64) __ptr64
-??4NtmsDbRecordUniqueKey@@QEAAAEBV0@AEBV0@@Z
-; public: class NtmsDbSelectionSet & __ptr64 __cdecl NtmsDbSelectionSet::operator=(class NtmsDbSelectionSet const & __ptr64) __ptr64
-??4NtmsDbSelectionSet@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbStorageSlot & __ptr64 __cdecl NtmsDbStorageSlot::operator=(class NtmsDbStorageSlot const & __ptr64) __ptr64
-??4NtmsDbStorageSlot@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator=(class NtmsDbString & __ptr64) __ptr64
-??4NtmsDbString@@QEAAAEAV0@AEAV0@@Z
-; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator=(char const * __ptr64) __ptr64
-??4NtmsDbString@@QEAAAEAV0@PEBD@Z
-; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator=(unsigned short const * __ptr64) __ptr64
-??4NtmsDbString@@QEAAAEAV0@PEBG@Z
-; public: class NtmsDbTypeGuid & __ptr64 __cdecl NtmsDbTypeGuid::operator=(struct _GUID const & __ptr64) __ptr64
-??4NtmsDbTypeGuid@@QEAAAEAV0@AEBU_GUID@@@Z
-; public: class NtmsDbTypeGuid & __ptr64 __cdecl NtmsDbTypeGuid::operator=(class NtmsDbTypeGuid const & __ptr64) __ptr64
-??4NtmsDbTypeGuid@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsDbUIDestination & __ptr64 __cdecl NtmsDbUIDestination::operator=(class NtmsDbUIDestination const & __ptr64) __ptr64
-??4NtmsDbUIDestination@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsPropMetaInfo & __ptr64 __cdecl NtmsPropMetaInfo::operator=(class NtmsPropMetaInfo const & __ptr64) __ptr64
-??4NtmsPropMetaInfo@@QEAAAEAV0@AEBV0@@Z
-; public: class NtmsTransaction & __ptr64 __cdecl NtmsTransaction::operator=(class NtmsTransaction const & __ptr64) __ptr64
-??4NtmsTransaction@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl NtmsDbList::operator>>(class NtmsDbListItem * __ptr64 & __ptr64) __ptr64
-??5NtmsDbList@@QEAAXAEAPEAVNtmsDbListItem@@@Z
-; public: void __cdecl NtmsDbPropRelation::operator>>(class NtmsDbRecordUniqueKey * __ptr64 & __ptr64) __ptr64
-??5NtmsDbPropRelation@@QEAAXAEAPEAVNtmsDbRecordUniqueKey@@@Z
-; public: void __cdecl NtmsDbRecordKeyList::operator>>(class NtmsDbRecordUniqueKey * __ptr64 & __ptr64) __ptr64
-??5NtmsDbRecordKeyList@@QEAAXAEAPEAVNtmsDbRecordUniqueKey@@@Z
-; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropChar * __ptr64 & __ptr64) __ptr64
-??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropChar@@@Z
-; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropGuid * __ptr64 & __ptr64) __ptr64
-??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropGuid@@@Z
-; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropLargeInt * __ptr64 & __ptr64) __ptr64
-??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropLargeInt@@@Z
-; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropLong * __ptr64 & __ptr64) __ptr64
-??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropLong@@@Z
-; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropRelation * __ptr64 & __ptr64) __ptr64
-??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropRelation@@@Z
-; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropShort * __ptr64 & __ptr64) __ptr64
-??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropShort@@@Z
-; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbRecordProp * __ptr64 & __ptr64) __ptr64
-??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbRecordProp@@@Z
-; public: void __cdecl NtmsDbList::operator<<(class NtmsDbListItem & __ptr64) __ptr64
-??6NtmsDbList@@QEAAXAEAVNtmsDbListItem@@@Z
-; public: void __cdecl NtmsDbPropRelation::operator<<(class NtmsDbRecordUniqueKey & __ptr64) __ptr64
-??6NtmsDbPropRelation@@QEAAXAEAVNtmsDbRecordUniqueKey@@@Z
-; public: void __cdecl NtmsDbRecordKeyList::operator<<(class NtmsDbRecordUniqueKey const & __ptr64) __ptr64
-??6NtmsDbRecordKeyList@@QEAAXAEBVNtmsDbRecordUniqueKey@@@Z
-; public: void __cdecl NtmsDbSelectionSet::operator<<(class NtmsDbGuid const & __ptr64) __ptr64
-??6NtmsDbSelectionSet@@QEAAXAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbSelectionSet::operator<<(class NtmsDbRecordUniqueKey const & __ptr64) __ptr64
-??6NtmsDbSelectionSet@@QEAAXAEBVNtmsDbRecordUniqueKey@@@Z
-; public: int __cdecl NtmsDbGuid::operator==(struct _GUID const & __ptr64)const  __ptr64
-??8NtmsDbGuid@@QEBAHAEBU_GUID@@@Z
-; public: int __cdecl NtmsDbGuid::operator==(class NtmsDbGuid const & __ptr64)const  __ptr64
-??8NtmsDbGuid@@QEBAHAEBV0@@Z
-; public: int __cdecl NtmsDbPropDataType::operator==(class NtmsDbPropDataType & __ptr64) __ptr64
-??8NtmsDbPropDataType@@QEAAHAEAV0@@Z
-; public: int __cdecl NtmsDbPropDataType::operator==(short) __ptr64
-??8NtmsDbPropDataType@@QEAAHF@Z
-; public: int __cdecl NtmsDbPropHeader::operator==(class NtmsDbPropHeader const & __ptr64)const  __ptr64
-??8NtmsDbPropHeader@@QEBAHAEBV0@@Z
-; public: int __cdecl NtmsDbRecordKey::operator==(class NtmsDbRecordKey const & __ptr64)const  __ptr64
-??8NtmsDbRecordKey@@QEBAHAEBV0@@Z
-; public: int __cdecl NtmsDbRecordRev::operator==(class NtmsDbRecordRev const & __ptr64) __ptr64
-??8NtmsDbRecordRev@@QEAAHAEBV0@@Z
-; public: int __cdecl NtmsDbRecordUniqueKey::operator==(class NtmsDbGuid const & __ptr64)const  __ptr64
-??8NtmsDbRecordUniqueKey@@QEBAHAEBVNtmsDbGuid@@@Z
-; public: int __cdecl NtmsDbGuid::operator!=(struct _GUID const & __ptr64)const  __ptr64
-??9NtmsDbGuid@@QEBAHAEBU_GUID@@@Z
-; public: int __cdecl NtmsDbGuid::operator!=(class NtmsDbGuid const & __ptr64)const  __ptr64
-??9NtmsDbGuid@@QEBAHAEBV0@@Z
-; public: int __cdecl NtmsDbPropDataType::operator!=(class NtmsDbPropDataType & __ptr64) __ptr64
-??9NtmsDbPropDataType@@QEAAHAEAV0@@Z
-; public: int __cdecl NtmsDbPropDataType::operator!=(short) __ptr64
-??9NtmsDbPropDataType@@QEAAHF@Z
-; public: int __cdecl NtmsDbPropHeader::operator!=(class NtmsDbPropHeader const & __ptr64)const  __ptr64
-??9NtmsDbPropHeader@@QEBAHAEBV0@@Z
-; public: int __cdecl NtmsDbRecordKey::operator!=(class NtmsDbRecordKey const & __ptr64)const  __ptr64
-??9NtmsDbRecordKey@@QEBAHAEBV0@@Z
-; public: int __cdecl NtmsDbRecordRev::operator!=(class NtmsDbRecordRev const & __ptr64) __ptr64
-??9NtmsDbRecordRev@@QEAAHAEBV0@@Z
-; public: int __cdecl NtmsDbRecordUniqueKey::operator!=(class NtmsDbGuid const & __ptr64)const  __ptr64
-??9NtmsDbRecordUniqueKey@@QEBAHAEBVNtmsDbGuid@@@Z
-; public: class NtmsDbListItem * __ptr64 __cdecl NtmsDbList::operator[](long)const  __ptr64
-??ANtmsDbList@@QEBAPEAVNtmsDbListItem@@J@Z
-; public: class NtmsDbRecordUniqueKey * __ptr64 __cdecl NtmsDbRecordKeyList::operator[](long)const  __ptr64
-??ANtmsDbRecordKeyList@@QEBAPEAVNtmsDbRecordUniqueKey@@J@Z
-; public: class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbRecordPropList::operator[](long) __ptr64
-??ANtmsDbRecordPropList@@QEAAPEAVNtmsDbRecordProp@@J@Z
-; public: class NtmsDbRecordProp const * __ptr64 __cdecl NtmsDbRecordPropList::operator[](long)const  __ptr64
-??ANtmsDbRecordPropList@@QEBAPEBVNtmsDbRecordProp@@J@Z
-; public: __cdecl NtmsDbError::operator unsigned long(void)const  __ptr64
-??BNtmsDbError@@QEBAKXZ
-; public: __cdecl NtmsDbGuid::operator struct _GUID * __ptr64(void)const  __ptr64
-??BNtmsDbGuid@@QEBAPEAU_GUID@@XZ
-; public: __cdecl NtmsDbPropDataType::operator short(void)const  __ptr64
-??BNtmsDbPropDataType@@QEBAFXZ
-; public: __cdecl NtmsDbPropGuid::operator class NtmsDbGuid & __ptr64(void) __ptr64
-??BNtmsDbPropGuid@@QEAAAEAVNtmsDbGuid@@XZ
-; public: __cdecl NtmsDbPropRelation::operator class NtmsDbRecordKeyList * __ptr64(void) __ptr64
-??BNtmsDbPropRelation@@QEAAPEAVNtmsDbRecordKeyList@@XZ
-; public: __cdecl NtmsDbRecordProp::operator union _LARGE_INTEGER(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBA?AT_LARGE_INTEGER@@XZ
-; public: __cdecl NtmsDbRecordProp::operator struct _SYSTEMTIME(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBA?AU_SYSTEMTIME@@XZ
-; public: __cdecl NtmsDbRecordProp::operator class NtmsDbGuid(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBA?AVNtmsDbGuid@@XZ
-; public: __cdecl NtmsDbRecordProp::operator short(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBAFXZ
-; public: __cdecl NtmsDbRecordProp::operator unsigned short(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBAGXZ
-; public: __cdecl NtmsDbRecordProp::operator long(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBAJXZ
-; public: __cdecl NtmsDbRecordProp::operator unsigned long(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBAKXZ
-; public: __cdecl NtmsDbRecordProp::operator float(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBAMXZ
-; public: __cdecl NtmsDbRecordProp::operator double(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBANXZ
-; public: __cdecl NtmsDbRecordProp::operator unsigned short * __ptr64(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBAPEAGXZ
-; public: __cdecl NtmsDbRecordProp::operator char const * __ptr64(void)const  __ptr64
-??BNtmsDbRecordProp@@QEBAPEBDXZ
-; public: __cdecl NtmsDbRecordRev::operator unsigned long(void) __ptr64
-??BNtmsDbRecordRev@@QEAAKXZ
-; public: __cdecl NtmsDbRecordType::operator short(void)const  __ptr64
-??BNtmsDbRecordType@@QEBAFXZ
-; public: __cdecl NtmsDbRecordUniqueKey::operator class NtmsDbGuid & __ptr64(void) __ptr64
-??BNtmsDbRecordUniqueKey@@QEAAAEAVNtmsDbGuid@@XZ
-; public: __cdecl NtmsDbRecordUniqueKey::operator class NtmsDbGuid * __ptr64(void) __ptr64
-??BNtmsDbRecordUniqueKey@@QEAAPEAVNtmsDbGuid@@XZ
-; public: __cdecl NtmsDbRecordUniqueKey::operator class NtmsDbRecordKey * __ptr64(void) __ptr64
-??BNtmsDbRecordUniqueKey@@QEAAPEAVNtmsDbRecordKey@@XZ
-; public: __cdecl NtmsDbString::operator char const * __ptr64(void)const  __ptr64
-??BNtmsDbString@@QEBAPEBDXZ
-; public: __cdecl NtmsDbTypeGuid::operator class NtmsDbGuid & __ptr64(void) __ptr64
-??BNtmsDbTypeGuid@@QEAAAEAVNtmsDbGuid@@XZ
-; public: void __cdecl NtmsDbRecordRev::operator++(int) __ptr64
-??ENtmsDbRecordRev@@QEAAXH@Z
-; public: void __cdecl NtmsDbRecordRev::operator++(void) __ptr64
-??ENtmsDbRecordRev@@QEAAXXZ
-; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-(long) __ptr64
-??GNtmsDbList@@QEAAAEAV0@J@Z
-; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-(class NtmsDbListItem * __ptr64) __ptr64
-??GNtmsDbList@@QEAAAEAV0@PEAVNtmsDbListItem@@@Z
-; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator+(class NtmsDbListItem * __ptr64) __ptr64
-??HNtmsDbList@@QEAAAEAV0@PEAVNtmsDbListItem@@@Z
-; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator+=(class NtmsDbListItem & __ptr64) __ptr64
-??YNtmsDbList@@QEAAAEAV0@AEAVNtmsDbListItem@@@Z
-; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator+=(class NtmsDbListItem * __ptr64) __ptr64
-??YNtmsDbList@@QEAAAEAV0@PEAVNtmsDbListItem@@@Z
-; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator+=(class NtmsDbString & __ptr64) __ptr64
-??YNtmsDbString@@QEAAAEAV0@AEAV0@@Z
-; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator+=(char const * __ptr64) __ptr64
-??YNtmsDbString@@QEAAAEAV0@PEBD@Z
-; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-=(class NtmsDbListItem & __ptr64) __ptr64
-??ZNtmsDbList@@QEAAAEAV0@AEAVNtmsDbListItem@@@Z
-; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-=(long) __ptr64
-??ZNtmsDbList@@QEAAAEAV0@J@Z
-; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-=(class NtmsDbListItem * __ptr64) __ptr64
-??ZNtmsDbList@@QEAAAEAV0@PEAVNtmsDbListItem@@@Z
-; const  NtmsDatabase::`vftable'
-??_7NtmsDatabase@@6B@
-; const  NtmsDbChanger::`vftable'
-??_7NtmsDbChanger@@6B@
-; const  NtmsDbChangerType::`vftable'
-??_7NtmsDbChangerType@@6B@
-; const  NtmsDbComputer::`vftable'
-??_7NtmsDbComputer@@6B@
-; const  NtmsDbDrive::`vftable'
-??_7NtmsDbDrive@@6B@
-; const  NtmsDbDriveType::`vftable'
-??_7NtmsDbDriveType@@6B@
-; const  NtmsDbFile::`vftable'
-??_7NtmsDbFile@@6B@
-; const  NtmsDbIEDoor::`vftable'
-??_7NtmsDbIEDoor@@6B@
-; const  NtmsDbIEPort::`vftable'
-??_7NtmsDbIEPort@@6B@
-; const  NtmsDbLibWorkItem::`vftable'
-??_7NtmsDbLibWorkItem@@6B@
-; const  NtmsDbLibrary::`vftable'
-??_7NtmsDbLibrary@@6B@
-; const  NtmsDbList::`vftable'
-??_7NtmsDbList@@6B@
-; const  NtmsDbLogicalMedia::`vftable'
-??_7NtmsDbLogicalMedia@@6B@
-; const  NtmsDbMediaPool::`vftable'
-??_7NtmsDbMediaPool@@6B@
-; const  NtmsDbMediaType::`vftable'
-??_7NtmsDbMediaType@@6B@
-; const  NtmsDbObject::`vftable'
-??_7NtmsDbObject@@6B@
-; const  NtmsDbOpRequest::`vftable'
-??_7NtmsDbOpRequest@@6B@
-; const  NtmsDbPartition::`vftable'
-??_7NtmsDbPartition@@6B@
-; const  NtmsDbPhysicalMedia::`vftable'
-??_7NtmsDbPhysicalMedia@@6B@
-; const  NtmsDbPropertyValue::`vftable'
-??_7NtmsDbPropertyValue@@6B@
-; const  NtmsDbRecordKeyList::`vftable'
-??_7NtmsDbRecordKeyList@@6B@
-; const  NtmsDbSelectionSet::`vftable'
-??_7NtmsDbSelectionSet@@6B@
-; const  NtmsDbStorageSlot::`vftable'
-??_7NtmsDbStorageSlot@@6B@
-; const  NtmsDbUIDestination::`vftable'
-??_7NtmsDbUIDestination@@6B@
-; const  NtmsTransaction::`vftable'
-??_7NtmsTransaction@@6B@
-; public: void __cdecl NtmsDbDataCtxt::`default constructor closure'(void) __ptr64
-??_FNtmsDbDataCtxt@@QEAAXXZ
-; public: void __cdecl NtmsDbList::`default constructor closure'(void) __ptr64
-??_FNtmsDbList@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDatabase::AccessAllowed(void) __ptr64
-?AccessAllowed@NtmsDatabase@@QEAAKXZ
-; public: static unsigned long __cdecl NtmsDbDataCtxt::AcquireChangeMutex(unsigned long)
-?AcquireChangeMutex@NtmsDbDataCtxt@@SAKK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::AddMediaType(class NtmsDbGuid const & __ptr64) __ptr64
-?AddMediaType@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbComputer::AddUIDestination(unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
-?AddUIDestination@NtmsDbComputer@@QEAAKKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbLibrary::AddUIDestination(unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
-?AddUIDestination@NtmsDbLibrary@@QEAAKKAEBVNtmsDbGuid@@@Z
-; public: unsigned long const  __cdecl NtmsDbPartition::AllocateCount(void)const  __ptr64
-?AllocateCount@NtmsDbPartition@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbMediaPool::AllocationPolicy(void)const  __ptr64
-?AllocationPolicy@NtmsDbMediaPool@@QEBA?BKXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbLibWorkItem::Application(void)const  __ptr64
-?Application@NtmsDbLibWorkItem@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbOpRequest::Application(void)const  __ptr64
-?Application@NtmsDbOpRequest@@QEBAPEBGXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbOpRequest::Arg1(void)const  __ptr64
-?Arg1@NtmsDbOpRequest@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long __cdecl NtmsDbOpRequest::Arg1Type(void)const  __ptr64
-?Arg1Type@NtmsDbOpRequest@@QEBAKXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbOpRequest::Arg2(void)const  __ptr64
-?Arg2@NtmsDbOpRequest@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long __cdecl NtmsDbOpRequest::Arg2Type(void)const  __ptr64
-?Arg2Type@NtmsDbOpRequest@@QEBAKXZ
-; public: long __cdecl NtmsDbLibWorkItem::AssocWorkItem_IsNotNull(void) __ptr64
-?AssocWorkItem_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::AssocWorkItem_n(void)const  __ptr64
-?AssocWorkItem_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
-; public: short const  __cdecl NtmsDbLibrary::AutoRecovery(void)const  __ptr64
-?AutoRecovery@NtmsDbLibrary@@QEBA?BFXZ
-; public: short const  __cdecl NtmsDbLibrary::BarCodeReader(void)const  __ptr64
-?BarCodeReader@NtmsDbLibrary@@QEBA?BFXZ
-; public: unsigned long const  __cdecl NtmsDbPhysicalMedia::BarcodeState(void)const  __ptr64
-?BarcodeState@NtmsDbPhysicalMedia@@QEBA?BKXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbPhysicalMedia::BarcodeW(void)const  __ptr64
-?BarcodeW@NtmsDbPhysicalMedia@@QEBAPEBGXZ
-; public: long __cdecl NtmsDbPhysicalMedia::Barcode_IsNotNull(void) __ptr64
-?Barcode_IsNotNull@NtmsDbPhysicalMedia@@QEAAJXZ
-; public: char const * __ptr64 __cdecl NtmsDbPhysicalMedia::Barcode_n(void) __ptr64
-?Barcode_n@NtmsDbPhysicalMedia@@QEAAPEBDXZ
-; private: void __cdecl NtmsDbChanger::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbChanger@@AEAAXXZ
-; private: void __cdecl NtmsDbChangerType::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbChangerType@@AEAAXXZ
-; private: void __cdecl NtmsDbComputer::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbComputer@@AEAAXXZ
-; private: void __cdecl NtmsDbDrive::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbDrive@@AEAAXXZ
-; private: void __cdecl NtmsDbDriveType::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbDriveType@@AEAAXXZ
-; private: void __cdecl NtmsDbIEDoor::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbIEDoor@@AEAAXXZ
-; private: void __cdecl NtmsDbIEPort::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbIEPort@@AEAAXXZ
-; private: void __cdecl NtmsDbLibWorkItem::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbLibWorkItem@@AEAAXXZ
-; private: void __cdecl NtmsDbLibrary::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbLibrary@@AEAAXXZ
-; private: void __cdecl NtmsDbLogicalMedia::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbLogicalMedia@@AEAAXXZ
-; private: void __cdecl NtmsDbMediaPool::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbMediaPool@@AEAAXXZ
-; private: void __cdecl NtmsDbMediaType::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbMediaType@@AEAAXXZ
-; private: void __cdecl NtmsDbObject::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbObject@@AEAAXXZ
-; private: void __cdecl NtmsDbOpRequest::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbOpRequest@@AEAAXXZ
-; private: void __cdecl NtmsDbPartition::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbPartition@@AEAAXXZ
-; private: void __cdecl NtmsDbPhysicalMedia::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbPhysicalMedia@@AEAAXXZ
-; private: void __cdecl NtmsDbStorageSlot::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbStorageSlot@@AEAAXXZ
-; private: void __cdecl NtmsDbUIDestination::BuildPropertyList(void) __ptr64
-?BuildPropertyList@NtmsDbUIDestination@@AEAAXXZ
-; public: union _LARGE_INTEGER & __ptr64 __cdecl NtmsDbPartition::Capacity(void) __ptr64
-?Capacity@NtmsDbPartition@@QEAAAEAT_LARGE_INTEGER@@XZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbChanger::ChangerType(void)const  __ptr64
-?ChangerType@NtmsDbChanger@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long __cdecl NtmsDbLibrary::Changers(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?Changers@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: long __cdecl NtmsDbLibrary::CleanerSlot_IsNotNull(void)const  __ptr64
-?CleanerSlot_IsNotNull@NtmsDbLibrary@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibrary::CleanerSlot_n(void)const  __ptr64
-?CleanerSlot_n@NtmsDbLibrary@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbLibrary::CleansRemaining(void)const  __ptr64
-?CleansRemaining@NtmsDbLibrary@@QEBA?BKXZ
-; public: void __cdecl NtmsDbList::Clear(void) __ptr64
-?Clear@NtmsDbList@@QEAAXXZ
-; public: void __cdecl NtmsDbRecordProp::ClearModified(void) __ptr64
-?ClearModified@NtmsDbRecordProp@@QEAAXXZ
-; public: short const  __cdecl NtmsDbRecordProp::Code(void)const  __ptr64
-?Code@NtmsDbRecordProp@@QEBA?BFXZ
-; public: short __cdecl NtmsDbRecordType::Code(void)const  __ptr64
-?Code@NtmsDbRecordType@@QEBAFXZ
-; public: unsigned long __cdecl NtmsDbDataCtxt::CommitTransaction(void) __ptr64
-?CommitTransaction@NtmsDbDataCtxt@@QEAAKXZ
-; public: virtual void __cdecl NtmsDbObject::ComputeProps(enum NtmsDbObject::ObjectOperationType) __ptr64
-?ComputeProps@NtmsDbObject@@UEAAXW4ObjectOperationType@1@@Z
-; public: virtual void __cdecl NtmsDbObject::ComputeProps(enum NtmsDbObject::ObjectOperationType,long) __ptr64
-?ComputeProps@NtmsDbObject@@UEAAXW4ObjectOperationType@1@J@Z
-; public: unsigned short const * __ptr64 __cdecl NtmsDbLibWorkItem::Computer(void)const  __ptr64
-?Computer@NtmsDbLibWorkItem@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbOpRequest::Computer(void)const  __ptr64
-?Computer@NtmsDbOpRequest@@QEBAPEBGXZ
-; public: long __cdecl NtmsDbDrive::Computer_IsNotNull(void)const  __ptr64
-?Computer_IsNotNull@NtmsDbDrive@@QEBAJXZ
-; public: long __cdecl NtmsDbLibrary::Computer_IsNotNull(void)const  __ptr64
-?Computer_IsNotNull@NtmsDbLibrary@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbDrive::Computer_n(void)const  __ptr64
-?Computer_n@NtmsDbDrive@@QEBAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibrary::Computer_n(void)const  __ptr64
-?Computer_n@NtmsDbLibrary@@QEBAAEBVNtmsDbGuid@@XZ
-; protected: void __cdecl NtmsDbString::ConcatString(char const * __ptr64) __ptr64
-?ConcatString@NtmsDbString@@IEAAXPEBD@Z
-; public: unsigned long __cdecl NtmsDbDataCtxt::Connect(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?Connect@NtmsDbDataCtxt@@QEAAKPEBG0@Z
-; protected: void __cdecl NtmsDbString::ConvertMBString(unsigned short const * __ptr64,unsigned long,char * __ptr64 & __ptr64,unsigned __int64 & __ptr64) __ptr64
-?ConvertMBString@NtmsDbString@@IEAAXPEBGKAEAPEADAEA_K@Z
-; public: void __cdecl NtmsDbRecordProp::CopyData(void * __ptr64,long) __ptr64
-?CopyData@NtmsDbRecordProp@@QEAAXPEAXJ@Z
-; public: long __cdecl NtmsDbList::Count(void)const  __ptr64
-?Count@NtmsDbList@@QEBAJXZ
-; public: long __cdecl NtmsDbObject::Count(void)const  __ptr64
-?Count@NtmsDbObject@@QEBAJXZ
-; public: long __cdecl NtmsDbPropHeader::Count(void)const  __ptr64
-?Count@NtmsDbPropHeader@@QEBAJXZ
-; public: unsigned long __cdecl NtmsDbRecordProp::Count(void)const  __ptr64
-?Count@NtmsDbRecordProp@@QEBAKXZ
-; public: long __cdecl NtmsDbRecordPropList::Count(void)const  __ptr64
-?Count@NtmsDbRecordPropList@@QEBAJXZ
-; public: virtual long __cdecl NtmsDbSelectionSet::Count(void)const  __ptr64
-?Count@NtmsDbSelectionSet@@UEBAJXZ
-; public: struct _SYSTEMTIME  __cdecl NtmsDbObject::CreateTs(void)const  __ptr64
-?CreateTs@NtmsDbObject@@QEBA?AU_SYSTEMTIME@@XZ
-; public: unsigned long __cdecl NtmsDbRecordProp::DataSize(void)const  __ptr64
-?DataSize@NtmsDbRecordProp@@QEBAKXZ
-; public: class NtmsDatabase * __ptr64 __cdecl NtmsDbDataCtxt::Database(void) __ptr64
-?Database@NtmsDbDataCtxt@@QEAAPEAVNtmsDatabase@@XZ
-; public: unsigned long const  __cdecl NtmsDbMediaPool::DeallocationPolicy(void)const  __ptr64
-?DeallocationPolicy@NtmsDbMediaPool@@QEBA?BKXZ
-; public: void __cdecl NtmsDbPropHeader::DecCount(void) __ptr64
-?DecCount@NtmsDbPropHeader@@QEAAXXZ
-; public: long __cdecl NtmsDbUIDestination::DecReference(void) __ptr64
-?DecReference@NtmsDbUIDestination@@QEAAJXZ
-; public: long __cdecl NtmsDbLibrary::DefCleanerSlot_IsNotNull(void)const  __ptr64
-?DefCleanerSlot_IsNotNull@NtmsDbLibrary@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibrary::DefCleanerSlot_n(void)const  __ptr64
-?DefCleanerSlot_n@NtmsDbLibrary@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbDrive::DeferDelay(void)const  __ptr64
-?DeferDelay@NtmsDbDrive@@QEBA?BKXZ
-; protected: virtual void __cdecl NtmsDbChanger::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbChanger@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbChangerType::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbChangerType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbComputer::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbComputer@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbDrive::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbDrive@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbDriveType::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbDriveType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbIEDoor::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbIEDoor@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbIEPort::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbIEPort@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLibWorkItem::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbLibWorkItem@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLibrary::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbLibrary@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLogicalMedia::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbLogicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbMediaPool::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbMediaPool@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbMediaType::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbMediaType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbObject::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbObject@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbOpRequest::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbOpRequest@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbPartition::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbPartition@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbPhysicalMedia::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbPhysicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbStorageSlot::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbStorageSlot@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbUIDestination::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteDbObject@NtmsDbUIDestination@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; public: virtual unsigned long __cdecl NtmsDbSelectionSet::DeleteObjects(class NtmsDbDataCtxt * __ptr64) __ptr64
-?DeleteObjects@NtmsDbSelectionSet@@UEAAKPEAVNtmsDbDataCtxt@@@Z
-; protected: void __cdecl NtmsDbObject::DeleteReferences(class NtmsDbDataCtxt * __ptr64,class NtmsDbRecordPropList * __ptr64) __ptr64
-?DeleteReferences@NtmsDbObject@@IEAAXPEAVNtmsDbDataCtxt@@PEAVNtmsDbRecordPropList@@@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::DensityCode(void) __ptr64
-?DensityCode@NtmsDbPhysicalMedia@@QEAAKXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbObject::DescriptionW(void) __ptr64
-?DescriptionW@NtmsDbObject@@QEAAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbObject::DescriptionW(void)const  __ptr64
-?DescriptionW@NtmsDbObject@@QEBAPEBGXZ
-; public: long __cdecl NtmsDbObject::Description_IsNotNull(void) __ptr64
-?Description_IsNotNull@NtmsDbObject@@QEAAJXZ
-; public: char const * __ptr64 __cdecl NtmsDbObject::Description_n(void) __ptr64
-?Description_n@NtmsDbObject@@QEAAPEBDXZ
-; public: static void __cdecl NtmsDbDataCtxt::DestroyMutex(void)
-?DestroyMutex@NtmsDbDataCtxt@@SAXXZ
-; public: virtual void __cdecl NtmsDbList::Destruct(class NtmsDbListItem * __ptr64) __ptr64
-?Destruct@NtmsDbList@@UEAAXPEAVNtmsDbListItem@@@Z
-; public: unsigned long const  __cdecl NtmsDbChangerType::DeviceType(void)const  __ptr64
-?DeviceType@NtmsDbChangerType@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbMediaType::DeviceType(void)const  __ptr64
-?DeviceType@NtmsDbMediaType@@QEBA?BKXZ
-; public: static void __cdecl NtmsDbDataCtxt::DisableNotification(class ChangeRegistration * __ptr64)
-?DisableNotification@NtmsDbDataCtxt@@SAXPEAVChangeRegistration@@@Z
-; public: unsigned long __cdecl NtmsDbDataCtxt::Disconnect(void) __ptr64
-?Disconnect@NtmsDbDataCtxt@@QEAAKXZ
-; public: long __cdecl NtmsDbLibWorkItem::DriveId_IsNotNull(void) __ptr64
-?DriveId_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::DriveId_n(void)const  __ptr64
-?DriveId_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbDrive::DriveNumber(void)const  __ptr64
-?DriveNumber@NtmsDbDrive@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbDrive::DriveState(void)const  __ptr64
-?DriveState@NtmsDbDrive@@QEBA?BKXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbDrive::DriveType(void)const  __ptr64
-?DriveType@NtmsDbDrive@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbDriveType::DriveType(void)const  __ptr64
-?DriveType@NtmsDbDriveType@@QEBA?BKXZ
-; public: unsigned long __cdecl NtmsDbComputer::Drives(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?Drives@NtmsDbComputer@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: unsigned long __cdecl NtmsDbLibrary::Drives(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?Drives@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: int __cdecl NtmsDbList::Dynamic(void)const  __ptr64
-?Dynamic@NtmsDbList@@QEBAHXZ
-; public: int __cdecl NtmsDbRecordProp::Dynamic(void)const  __ptr64
-?Dynamic@NtmsDbRecordProp@@QEBAHXZ
-; public: static class ChangeRegistration * __ptr64 __cdecl NtmsDbDataCtxt::EnableNotification(void (__cdecl*)(int,class NtmsDbGuid const & __ptr64,int,void * __ptr64),void * __ptr64)
-?EnableNotification@NtmsDbDataCtxt@@SAPEAVChangeRegistration@@P6AXHAEBVNtmsDbGuid@@HPEAX@Z1@Z
-; public: short const  __cdecl NtmsDbObject::Enabled(void)const  __ptr64
-?Enabled@NtmsDbObject@@QEBA?BFXZ
-; public: void __cdecl NtmsDbDataCtxt::EnterConnCritSection(void) __ptr64
-?EnterConnCritSection@NtmsDbDataCtxt@@QEAAXXZ
-; public: class NtmsDbError const & __ptr64 __cdecl NtmsDbDataCtxt::Error(void)const  __ptr64
-?Error@NtmsDbDataCtxt@@QEBAAEBVNtmsDbError@@XZ
-; public: int const  __cdecl NtmsDbError::Error(void)const  __ptr64
-?Error@NtmsDbError@@QEBA?BHXZ
-; public: class NtmsDbError & __ptr64 __cdecl NtmsDbObject::Error(void) __ptr64
-?Error@NtmsDbObject@@QEAAAEAVNtmsDbError@@XZ
-; public: unsigned long __cdecl NtmsDbLibWorkItem::ErrorCode(void) __ptr64
-?ErrorCode@NtmsDbLibWorkItem@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbObject::ExplicitAddRelation(long,short,class NtmsDbGuid const & __ptr64) __ptr64
-?ExplicitAddRelation@NtmsDbObject@@QEAAKJFAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbObject::ExplicitRemoveRelation(long,class NtmsDbGuid const & __ptr64) __ptr64
-?ExplicitRemoveRelation@NtmsDbObject@@QEAAKJAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbDataCtxt::ExportDatabase(void) __ptr64
-?ExportDatabase@NtmsDbDataCtxt@@QEAAKXZ
-; public: unsigned long const  __cdecl NtmsDbIEPort::ExtendState(void)const  __ptr64
-?ExtendState@NtmsDbIEPort@@QEBA?BKXZ
-; public: virtual unsigned long __cdecl NtmsDbObject::Fetch(class NtmsDbDataCtxt * __ptr64) __ptr64
-?Fetch@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
-; private: unsigned long __cdecl NtmsDatabase::FileEnd(void) __ptr64
-?FileEnd@NtmsDatabase@@AEAAKXZ
-; public: void * __ptr64 __cdecl NtmsDbFile::FileHandle(void) __ptr64
-?FileHandle@NtmsDbFile@@QEAAPEAXXZ
-; private: unsigned long __cdecl NtmsDatabase::FilePosition(unsigned long) __ptr64
-?FilePosition@NtmsDatabase@@AEAAKK@Z
-; public: unsigned long __cdecl NtmsDbFile::FileStatus(void) __ptr64
-?FileStatus@NtmsDbFile@@QEAAKXZ
-; public: unsigned short * __ptr64 __cdecl NtmsDbFile::Filename(void) __ptr64
-?Filename@NtmsDbFile@@QEAAPEAGXZ
-; private: void __cdecl NtmsDbTypeGuid::Fill(struct _GUID & __ptr64,char * __ptr64) __ptr64
-?Fill@NtmsDbTypeGuid@@AEAAXAEAU_GUID@@PEAD@Z
-; public: long __cdecl NtmsDbList::Map::Find(class NtmsDbListItem * __ptr64)const  __ptr64
-?Find@Map@NtmsDbList@@QEBAJPEAVNtmsDbListItem@@@Z
-; public: static int __cdecl NtmsDbDataCtxt::FindObType(class NtmsDbRecordKey & __ptr64)
-?FindObType@NtmsDbDataCtxt@@SAHAEAVNtmsDbRecordKey@@@Z
-; public: static int __cdecl NtmsDbDataCtxt::FindObType(short)
-?FindObType@NtmsDbDataCtxt@@SAHF@Z
-; public: unsigned long const  __cdecl NtmsDbLibrary::FirstChangerNumber(void)const  __ptr64
-?FirstChangerNumber@NtmsDbLibrary@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbLibrary::FirstDriveNumber(void)const  __ptr64
-?FirstDriveNumber@NtmsDbLibrary@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbLibrary::FirstPortNumber(void)const  __ptr64
-?FirstPortNumber@NtmsDbLibrary@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbLibrary::FirstSlotNumber(void)const  __ptr64
-?FirstSlotNumber@NtmsDbLibrary@@QEBA?BKXZ
-; public: short const  __cdecl NtmsDbLibrary::FixedOffline(void)const  __ptr64
-?FixedOffline@NtmsDbLibrary@@QEBA?BFXZ
-; public: unsigned long const  __cdecl NtmsDbLibrary::Flags(void)const  __ptr64
-?Flags@NtmsDbLibrary@@QEBA?BKXZ
-; public: unsigned long __cdecl NtmsDbMediaPool::Folders(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?Folders@NtmsDbMediaPool@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: int __cdecl NtmsDbList::Map::Full(void)const  __ptr64
-?Full@Map@NtmsDbList@@QEBAHXZ
-; public: unsigned long const  __cdecl NtmsDbIEPort::FullState(void)const  __ptr64
-?FullState@NtmsDbIEPort@@QEBA?BKXZ
-; public: short __cdecl NtmsDbGuid::GenerateHash(void) __ptr64
-?GenerateHash@NtmsDbGuid@@QEAAFXZ
-; public: long __cdecl NtmsDbList::Map::Get(long,class NtmsDbListItem * __ptr64 & __ptr64)const  __ptr64
-?Get@Map@NtmsDbList@@QEBAJJAEAPEAVNtmsDbListItem@@@Z
-; public: unsigned long __cdecl NtmsDbPartition::GetAllocOption(void) __ptr64
-?GetAllocOption@NtmsDbPartition@@QEAAKXZ
-; public: void __cdecl NtmsDbLibWorkItem::GetApplicationA(char * __ptr64,int) __ptr64
-?GetApplicationA@NtmsDbLibWorkItem@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbOpRequest::GetApplicationA(char * __ptr64,int) __ptr64
-?GetApplicationA@NtmsDbOpRequest@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbLibWorkItem::GetApplicationW(unsigned short * __ptr64,int) __ptr64
-?GetApplicationW@NtmsDbLibWorkItem@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbOpRequest::GetApplicationW(unsigned short * __ptr64,int) __ptr64
-?GetApplicationW@NtmsDbOpRequest@@QEAAXPEAGH@Z
-; public: unsigned long __cdecl NtmsDbObject::GetAttribute(class NtmsDbDataCtxt * __ptr64,char const * __ptr64,void * __ptr64,unsigned long * __ptr64) __ptr64
-?GetAttribute@NtmsDbObject@@QEAAKPEAVNtmsDbDataCtxt@@PEBDPEAXPEAK@Z
-; public: void __cdecl NtmsDbPhysicalMedia::GetBarcodeA(char * __ptr64,int) __ptr64
-?GetBarcodeA@NtmsDbPhysicalMedia@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbPhysicalMedia::GetBarcodeW(unsigned short * __ptr64,int) __ptr64
-?GetBarcodeW@NtmsDbPhysicalMedia@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbUIDestination::GetComputer(unsigned short * __ptr64,int) __ptr64
-?GetComputer@NtmsDbUIDestination@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbLibWorkItem::GetComputerA(char * __ptr64,int) __ptr64
-?GetComputerA@NtmsDbLibWorkItem@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbOpRequest::GetComputerA(char * __ptr64,int) __ptr64
-?GetComputerA@NtmsDbOpRequest@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbLibWorkItem::GetComputerW(unsigned short * __ptr64,int) __ptr64
-?GetComputerW@NtmsDbLibWorkItem@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbOpRequest::GetComputerW(unsigned short * __ptr64,int) __ptr64
-?GetComputerW@NtmsDbOpRequest@@QEAAXPEAGH@Z
-; public: void * __ptr64 __cdecl NtmsDbRecordProp::GetData(int * __ptr64)const  __ptr64
-?GetData@NtmsDbRecordProp@@QEBAPEAXPEAH@Z
-; protected: virtual void __cdecl NtmsDbChanger::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbChanger@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbChangerType::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbChangerType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbComputer::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbComputer@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbDrive::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbDrive@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbDriveType::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbDriveType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbIEDoor::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbIEDoor@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbIEPort::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbIEPort@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLibWorkItem::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbLibWorkItem@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLibrary::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbLibrary@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLogicalMedia::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbLogicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbMediaPool::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbMediaPool@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbMediaType::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbMediaType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbObject::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbObject@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbOpRequest::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbOpRequest@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbPartition::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbPartition@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbPhysicalMedia::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbPhysicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbStorageSlot::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbStorageSlot@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbUIDestination::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?GetDbObject@NtmsDbUIDestination@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbChanger::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbChanger@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbChangerType::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbChangerType@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbComputer::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbComputer@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbDrive::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbDrive@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbDriveType::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbDriveType@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbIEDoor::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbIEDoor@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbIEPort::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbIEPort@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbLibWorkItem::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbLibWorkItem@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbLibrary::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbLibrary@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbLogicalMedia::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbLogicalMedia@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbMediaPool::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbMediaPool@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbMediaType::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbMediaType@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbObject::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbObject@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbOpRequest::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbOpRequest@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbPartition::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbPartition@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbPhysicalMedia::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbPhysicalMedia@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbStorageSlot::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbStorageSlot@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbUIDestination::GetDbProperty(long)const  __ptr64
-?GetDbProperty@NtmsDbUIDestination@@MEBAPEAVNtmsDbRecordProp@@J@Z
-; public: void __cdecl NtmsDbObject::GetDescriptionA(char * __ptr64,int) __ptr64
-?GetDescriptionA@NtmsDbObject@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbObject::GetDescriptionW(unsigned short * __ptr64,int) __ptr64
-?GetDescriptionW@NtmsDbObject@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbDrive::GetDriveLetter(unsigned short * __ptr64,int) __ptr64
-?GetDriveLetter@NtmsDbDrive@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbDrive::GetDriveLetterA(char * __ptr64,int) __ptr64
-?GetDriveLetterA@NtmsDbDrive@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbOpRequest::GetMessageA(char * __ptr64,int) __ptr64
-?GetMessageA@NtmsDbOpRequest@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbOpRequest::GetMessageW(unsigned short * __ptr64,int) __ptr64
-?GetMessageW@NtmsDbOpRequest@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbObject::GetNameA(char * __ptr64,int) __ptr64
-?GetNameA@NtmsDbObject@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbObject::GetNameW(unsigned short * __ptr64,int) __ptr64
-?GetNameW@NtmsDbObject@@QEAAXPEAGH@Z
-; public: static class NtmsDbRecordProp & __ptr64 __cdecl NtmsDbRecordPropList::GetNull(void)
-?GetNull@NtmsDbRecordPropList@@SAAEAVNtmsDbRecordProp@@XZ
-; public: void __cdecl NtmsDbPartition::GetOmidLabelInfoA(char * __ptr64,int)const  __ptr64
-?GetOmidLabelInfoA@NtmsDbPartition@@QEBAXPEADH@Z
-; public: void __cdecl NtmsDbPartition::GetOmidLabelInfoW(unsigned short * __ptr64,int)const  __ptr64
-?GetOmidLabelInfoW@NtmsDbPartition@@QEBAXPEAGH@Z
-; public: void __cdecl NtmsDbPartition::GetOmidLabelTypeA(char * __ptr64,int)const  __ptr64
-?GetOmidLabelTypeA@NtmsDbPartition@@QEBAXPEADH@Z
-; public: void __cdecl NtmsDbPartition::GetOmidLabelTypeW(unsigned short * __ptr64,int)const  __ptr64
-?GetOmidLabelTypeW@NtmsDbPartition@@QEBAXPEAGH@Z
-; public: void __cdecl NtmsDbChanger::GetPathNameA(char * __ptr64,int) __ptr64
-?GetPathNameA@NtmsDbChanger@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbDrive::GetPathNameA(char * __ptr64,int) __ptr64
-?GetPathNameA@NtmsDbDrive@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbChanger::GetPathNameW(unsigned short * __ptr64,int) __ptr64
-?GetPathNameW@NtmsDbChanger@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbDrive::GetPathNameW(unsigned short * __ptr64,int) __ptr64
-?GetPathNameW@NtmsDbDrive@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbChangerType::GetProductA(char * __ptr64,int) __ptr64
-?GetProductA@NtmsDbChangerType@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbDriveType::GetProductA(char * __ptr64,int) __ptr64
-?GetProductA@NtmsDbDriveType@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbChangerType::GetProductW(unsigned short * __ptr64,int) __ptr64
-?GetProductW@NtmsDbChangerType@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbDriveType::GetProductW(unsigned short * __ptr64,int) __ptr64
-?GetProductW@NtmsDbDriveType@@QEAAXPEAGH@Z
-; protected: class NtmsDbRecordProp & __ptr64 __cdecl NtmsDbObject::GetProperty(class NtmsDbRecordPropList * __ptr64,long) __ptr64
-?GetProperty@NtmsDbObject@@IEAAAEAVNtmsDbRecordProp@@PEAVNtmsDbRecordPropList@@J@Z
-; public: class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbObject::GetProperty(long) __ptr64
-?GetProperty@NtmsDbObject@@QEAAPEAVNtmsDbRecordProp@@J@Z
-; public: class NtmsDbRecordProp & __ptr64 __cdecl NtmsDbRecordPropList::GetProperty(long) __ptr64
-?GetProperty@NtmsDbRecordPropList@@QEAAAEAVNtmsDbRecordProp@@J@Z
-; public: class NtmsDbPropDataType const & __ptr64 __cdecl NtmsDbRecordPropList::GetPropertyType(long) __ptr64
-?GetPropertyType@NtmsDbRecordPropList@@QEAAAEBVNtmsDbPropDataType@@J@Z
-; public: void __cdecl NtmsDbChanger::GetRevisionA(char * __ptr64,int) __ptr64
-?GetRevisionA@NtmsDbChanger@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbDrive::GetRevisionA(char * __ptr64,int) __ptr64
-?GetRevisionA@NtmsDbDrive@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbChanger::GetRevisionW(unsigned short * __ptr64,int) __ptr64
-?GetRevisionW@NtmsDbChanger@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbDrive::GetRevisionW(unsigned short * __ptr64,int) __ptr64
-?GetRevisionW@NtmsDbDrive@@QEAAXPEAGH@Z
-; public: unsigned long __cdecl NtmsDbObject::GetSecurityDescriptor(void * __ptr64,unsigned long & __ptr64) __ptr64
-?GetSecurityDescriptor@NtmsDbObject@@QEAAKPEAXAEAK@Z
-; public: void __cdecl NtmsDbPhysicalMedia::GetSequenceNumberA(char * __ptr64,int)const  __ptr64
-?GetSequenceNumberA@NtmsDbPhysicalMedia@@QEBAXPEADH@Z
-; public: void __cdecl NtmsDbPhysicalMedia::GetSequenceNumberW(unsigned short * __ptr64,int)const  __ptr64
-?GetSequenceNumberW@NtmsDbPhysicalMedia@@QEBAXPEAGH@Z
-; public: void __cdecl NtmsDbChanger::GetSerialNumberA(char * __ptr64,int) __ptr64
-?GetSerialNumberA@NtmsDbChanger@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbDrive::GetSerialNumberA(char * __ptr64,int) __ptr64
-?GetSerialNumberA@NtmsDbDrive@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbChanger::GetSerialNumberW(unsigned short * __ptr64,int) __ptr64
-?GetSerialNumberW@NtmsDbChanger@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbDrive::GetSerialNumberW(unsigned short * __ptr64,int) __ptr64
-?GetSerialNumberW@NtmsDbDrive@@QEAAXPEAGH@Z
-; public: unsigned long __cdecl NtmsDbComputer::GetUIDestinations(class NtmsDbDataCtxt * __ptr64,unsigned long,class NtmsDbSelectionSet & __ptr64) __ptr64
-?GetUIDestinations@NtmsDbComputer@@QEAAKPEAVNtmsDbDataCtxt@@KAEAVNtmsDbSelectionSet@@@Z
-; public: unsigned long __cdecl NtmsDbLibrary::GetUIDestinations(class NtmsDbDataCtxt * __ptr64,unsigned long,class NtmsDbSelectionSet & __ptr64) __ptr64
-?GetUIDestinations@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@KAEAVNtmsDbSelectionSet@@@Z
-; public: void __cdecl NtmsDbLibWorkItem::GetUserA(char * __ptr64,int) __ptr64
-?GetUserA@NtmsDbLibWorkItem@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbOpRequest::GetUserA(char * __ptr64,int) __ptr64
-?GetUserA@NtmsDbOpRequest@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbLibWorkItem::GetUserW(unsigned short * __ptr64,int) __ptr64
-?GetUserW@NtmsDbLibWorkItem@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbOpRequest::GetUserW(unsigned short * __ptr64,int) __ptr64
-?GetUserW@NtmsDbOpRequest@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbChangerType::GetVendorA(char * __ptr64,int) __ptr64
-?GetVendorA@NtmsDbChangerType@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbDriveType::GetVendorA(char * __ptr64,int) __ptr64
-?GetVendorA@NtmsDbDriveType@@QEAAXPEADH@Z
-; public: void __cdecl NtmsDbChangerType::GetVendorW(unsigned short * __ptr64,int) __ptr64
-?GetVendorW@NtmsDbChangerType@@QEAAXPEAGH@Z
-; public: void __cdecl NtmsDbDriveType::GetVendorW(unsigned short * __ptr64,int) __ptr64
-?GetVendorW@NtmsDbDriveType@@QEAAXPEAGH@Z
-; public: class NtmsDatabase * __ptr64 __cdecl NtmsDbDataCtxt::Handle(void)const  __ptr64
-?Handle@NtmsDbDataCtxt@@QEBAPEAVNtmsDatabase@@XZ
-; public: int __cdecl NtmsDbPropGuid::HasChanged(void)const  __ptr64
-?HasChanged@NtmsDbPropGuid@@QEBAHXZ
-; public: int __cdecl NtmsDbPropGuid::HasNewRelation(void)const  __ptr64
-?HasNewRelation@NtmsDbPropGuid@@QEBAHXZ
-; public: int __cdecl NtmsDbPropGuid::HasPreviousRelation(void)const  __ptr64
-?HasPreviousRelation@NtmsDbPropGuid@@QEBAHXZ
-; public: int __cdecl NtmsDbPropGuid::HasRelatedProperty(void)const  __ptr64
-?HasRelatedProperty@NtmsDbPropGuid@@QEBAHXZ
-; public: class NtmsDbPropHeader & __ptr64 __cdecl NtmsDbRecordProp::Header(void) __ptr64
-?Header@NtmsDbRecordProp@@QEAAAEAVNtmsDbPropHeader@@XZ
-; public: long __cdecl NtmsDbPhysicalMedia::HomeSlotId_IsNotNull(void) __ptr64
-?HomeSlotId_IsNotNull@NtmsDbPhysicalMedia@@QEAAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::HomeSlotId_n(void)const  __ptr64
-?HomeSlotId_n@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbIEDoor::IEDoorNumber(void)const  __ptr64
-?IEDoorNumber@NtmsDbIEDoor@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbIEDoor::IEDoorState(void)const  __ptr64
-?IEDoorState@NtmsDbIEDoor@@QEBA?BKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::IEDoors(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?IEDoors@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: unsigned long const  __cdecl NtmsDbIEPort::IEPortNumber(void)const  __ptr64
-?IEPortNumber@NtmsDbIEPort@@QEBA?BKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::IEPorts(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?IEPorts@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: unsigned long __cdecl NtmsDbDataCtxt::ImportDatabase(void) __ptr64
-?ImportDatabase@NtmsDbDataCtxt@@QEAAKXZ
-; public: void __cdecl NtmsDbPropHeader::IncCount(void) __ptr64
-?IncCount@NtmsDbPropHeader@@QEAAXXZ
-; public: long __cdecl NtmsDbUIDestination::IncReference(void) __ptr64
-?IncReference@NtmsDbUIDestination@@QEAAJXZ
-; public: unsigned long __cdecl NtmsDbRecordKey::Index(void)const  __ptr64
-?Index@NtmsDbRecordKey@@QEBAKXZ
-; public: void __cdecl NtmsDbRecordProp::Init(short) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXF@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,class NtmsDbGuid & __ptr64,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFAEAVNtmsDbGuid@@H@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,class NtmsDbLinkedGuid & __ptr64,class NtmsDbRecordType * __ptr64,short) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFAEAVNtmsDbLinkedGuid@@PEAVNtmsDbRecordType@@F@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,char * __ptr64,int,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEADHH@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,unsigned char * __ptr64,int,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEAEHH@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,short * __ptr64,int,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEAFHH@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,unsigned short * __ptr64,int,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEAGHH@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,long * __ptr64,int,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEAJHH@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,unsigned long * __ptr64,int,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEAKHH@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,union _LARGE_INTEGER * __ptr64,int,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEAT_LARGE_INTEGER@@HH@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,struct _SYSTEMTIME * __ptr64,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEAU_SYSTEMTIME@@H@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,class NtmsDbRecordKeyList * __ptr64,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEAVNtmsDbRecordKeyList@@H@Z
-; public: void __cdecl NtmsDbRecordProp::Init(short,void * __ptr64,int,int) __ptr64
-?Init@NtmsDbRecordProp@@QEAAXFPEAXHH@Z
-; protected: virtual void __cdecl NtmsDbChanger::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbChanger@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbChangerType::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbChangerType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbComputer::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbComputer@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbDrive::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbDrive@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbDriveType::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbDriveType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbIEDoor::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbIEDoor@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbIEPort::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbIEPort@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLibWorkItem::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbLibWorkItem@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLibrary::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbLibrary@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLogicalMedia::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbLogicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbMediaPool::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbMediaPool@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbMediaType::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbMediaType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbObject::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbObject@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbOpRequest::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbOpRequest@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbPartition::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbPartition@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbPhysicalMedia::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbPhysicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbStorageSlot::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbStorageSlot@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbUIDestination::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?InitDbObject@NtmsDbUIDestination@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; private: void __cdecl NtmsDbChanger::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbChanger@@AEAAXXZ
-; private: void __cdecl NtmsDbChangerType::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbChangerType@@AEAAXXZ
-; private: void __cdecl NtmsDbComputer::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbComputer@@AEAAXXZ
-; private: void __cdecl NtmsDbDrive::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbDrive@@AEAAXXZ
-; private: void __cdecl NtmsDbDriveType::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbDriveType@@AEAAXXZ
-; private: void __cdecl NtmsDbIEDoor::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbIEDoor@@AEAAXXZ
-; private: void __cdecl NtmsDbIEPort::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbIEPort@@AEAAXXZ
-; private: void __cdecl NtmsDbLibWorkItem::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbLibWorkItem@@AEAAXXZ
-; private: void __cdecl NtmsDbLibrary::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbLibrary@@AEAAXXZ
-; private: void __cdecl NtmsDbLogicalMedia::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbLogicalMedia@@AEAAXXZ
-; private: void __cdecl NtmsDbMediaPool::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbMediaPool@@AEAAXXZ
-; private: void __cdecl NtmsDbMediaType::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbMediaType@@AEAAXXZ
-; private: void __cdecl NtmsDbObject::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbObject@@AEAAXXZ
-; private: void __cdecl NtmsDbOpRequest::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbOpRequest@@AEAAXXZ
-; private: void __cdecl NtmsDbPartition::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbPartition@@AEAAXXZ
-; private: void __cdecl NtmsDbPhysicalMedia::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbPhysicalMedia@@AEAAXXZ
-; private: void __cdecl NtmsDbStorageSlot::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbStorageSlot@@AEAAXXZ
-; private: void __cdecl NtmsDbUIDestination::InitDefaults(void) __ptr64
-?InitDefaults@NtmsDbUIDestination@@AEAAXXZ
-; public: static int __cdecl NtmsDbDataCtxt::InitMutex(void)
-?InitMutex@NtmsDbDataCtxt@@SAHXZ
-; protected: virtual unsigned long __cdecl NtmsDbObject::InitializeObject(unsigned long) __ptr64
-?InitializeObject@NtmsDbObject@@MEAAKK@Z
-; public: virtual unsigned long __cdecl NtmsDbObject::Insert(class NtmsDbDataCtxt * __ptr64) __ptr64
-?Insert@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
-; public: unsigned short const * __ptr64 __cdecl NtmsDbChanger::InstanceNameW(void)const  __ptr64
-?InstanceNameW@NtmsDbChanger@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbDrive::InstanceNameW(void)const  __ptr64
-?InstanceNameW@NtmsDbDrive@@QEBAPEBGXZ
-; public: unsigned long const  __cdecl NtmsDbLibrary::InventoryMethod(void)const  __ptr64
-?InventoryMethod@NtmsDbLibrary@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbPhysicalMedia::InventoryState(void)const  __ptr64
-?InventoryState@NtmsDbPhysicalMedia@@QEBA?BKXZ
-; public: int __cdecl NtmsDbRecordProp::IsBufferValid(void)const  __ptr64
-?IsBufferValid@NtmsDbRecordProp@@QEBAHXZ
-; public: int __cdecl NtmsDbObject::IsModified(void)const  __ptr64
-?IsModified@NtmsDbObject@@QEBAHXZ
-; public: int __cdecl NtmsDbRecordProp::IsModified(void)const  __ptr64
-?IsModified@NtmsDbRecordProp@@QEBAHXZ
-; public: int __cdecl NtmsDbObject::IsNew(void)const  __ptr64
-?IsNew@NtmsDbObject@@QEBAHXZ
-; public: int __cdecl NtmsDbRecordKey::IsNew(void) __ptr64
-?IsNew@NtmsDbRecordKey@@QEAAHXZ
-; public: int __cdecl NtmsDbRecordProp::IsNull(void)const  __ptr64
-?IsNull@NtmsDbRecordProp@@QEBAHXZ
-; public: int __cdecl NtmsDbError::IsSuccess(void)const  __ptr64
-?IsSuccess@NtmsDbError@@QEBAHXZ
-; public: int __cdecl NtmsDatabase::IsValid(void) __ptr64
-?IsValid@NtmsDatabase@@QEAAHXZ
-; public: int __cdecl NtmsDbDataCtxt::IsValid(void)const  __ptr64
-?IsValid@NtmsDbDataCtxt@@QEBAHXZ
-; public: int __cdecl NtmsDbObject::IsValid(void)const  __ptr64
-?IsValid@NtmsDbObject@@QEBAHXZ
-; public: int __cdecl NtmsDbRecordKey::IsValid(void) __ptr64
-?IsValid@NtmsDbRecordKey@@QEAAHXZ
-; public: int __cdecl NtmsDbRecordProp::IsValid(void)const  __ptr64
-?IsValid@NtmsDbRecordProp@@QEBAHXZ
-; public: int __cdecl NtmsDbRecordPropList::IsValid(void)const  __ptr64
-?IsValid@NtmsDbRecordPropList@@QEBAHXZ
-; public: int __cdecl NtmsDbRecordType::IsValid(void)const  __ptr64
-?IsValid@NtmsDbRecordType@@QEBAHXZ
-; public: int __cdecl NtmsDbSelectionSet::IsValid(void)const  __ptr64
-?IsValid@NtmsDbSelectionSet@@QEBAHXZ
-; public: long __cdecl NtmsDbPropRelation::KeyCount(void) __ptr64
-?KeyCount@NtmsDbPropRelation@@QEAAJXZ
-; public: long __cdecl NtmsDbDrive::LastCleanedTs_IsNotNull(void) __ptr64
-?LastCleanedTs_IsNotNull@NtmsDbDrive@@QEAAJXZ
-; public: struct _SYSTEMTIME const  __cdecl NtmsDbDrive::LastCleanedTs_n(void)const  __ptr64
-?LastCleanedTs_n@NtmsDbDrive@@QEBA?BU_SYSTEMTIME@@XZ
-; public: unsigned long __cdecl NtmsDbObject::LastError(void)const  __ptr64
-?LastError@NtmsDbObject@@QEBAKXZ
-; public: unsigned long __cdecl NtmsDbDataCtxt::LastErrorCode(void)const  __ptr64
-?LastErrorCode@NtmsDbDataCtxt@@QEBAKXZ
-; public: char const * __ptr64 __cdecl NtmsDbObject::LastErrorString(void)const  __ptr64
-?LastErrorString@NtmsDbObject@@QEBAPEBDXZ
-; public: unsigned long __cdecl NtmsDbPropertyValue::LastStatus(void) __ptr64
-?LastStatus@NtmsDbPropertyValue@@QEAAKXZ
-; public: void __cdecl NtmsDbDataCtxt::LeaveConnCritSection(void) __ptr64
-?LeaveConnCritSection@NtmsDbDataCtxt@@QEAAXXZ
-; public: unsigned __int64 __cdecl NtmsDbString::Length(void)const  __ptr64
-?Length@NtmsDbString@@QEBA_KXZ
-; public: unsigned long __cdecl NtmsDbLibrary::LibCurrentMedia(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?LibCurrentMedia@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: long __cdecl NtmsDbPhysicalMedia::LibCurrentMedia_IsNotNull(void)const  __ptr64
-?LibCurrentMedia_IsNotNull@NtmsDbPhysicalMedia@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::LibCurrentMedia_n(void)const  __ptr64
-?LibCurrentMedia_n@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
-; public: long __cdecl NtmsDbComputer::LibReqCleanTime(void)const  __ptr64
-?LibReqCleanTime@NtmsDbComputer@@QEBAJXZ
-; public: unsigned long __cdecl NtmsDbComputer::LibReqFlags(void)const  __ptr64
-?LibReqFlags@NtmsDbComputer@@QEBAKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::LibWorkItems(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?LibWorkItems@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: unsigned long const  __cdecl NtmsDbLibrary::LibraryType(void)const  __ptr64
-?LibraryType@NtmsDbLibrary@@QEBA?BKXZ
-; public: long __cdecl NtmsDbChanger::Library_IsNotNull(void)const  __ptr64
-?Library_IsNotNull@NtmsDbChanger@@QEBAJXZ
-; public: long __cdecl NtmsDbDrive::Library_IsNotNull(void)const  __ptr64
-?Library_IsNotNull@NtmsDbDrive@@QEBAJXZ
-; public: long __cdecl NtmsDbIEDoor::Library_IsNotNull(void)const  __ptr64
-?Library_IsNotNull@NtmsDbIEDoor@@QEBAJXZ
-; public: long __cdecl NtmsDbIEPort::Library_IsNotNull(void)const  __ptr64
-?Library_IsNotNull@NtmsDbIEPort@@QEBAJXZ
-; public: long __cdecl NtmsDbLibWorkItem::Library_IsNotNull(void)const  __ptr64
-?Library_IsNotNull@NtmsDbLibWorkItem@@QEBAJXZ
-; public: long __cdecl NtmsDbStorageSlot::Library_IsNotNull(void)const  __ptr64
-?Library_IsNotNull@NtmsDbStorageSlot@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbChanger::Library_n(void)const  __ptr64
-?Library_n@NtmsDbChanger@@QEBAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbDrive::Library_n(void)const  __ptr64
-?Library_n@NtmsDbDrive@@QEBAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbIEDoor::Library_n(void)const  __ptr64
-?Library_n@NtmsDbIEDoor@@QEBAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbIEPort::Library_n(void)const  __ptr64
-?Library_n@NtmsDbIEPort@@QEBAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::Library_n(void)const  __ptr64
-?Library_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbStorageSlot::Library_n(void)const  __ptr64
-?Library_n@NtmsDbStorageSlot@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long __cdecl NtmsDbComputer::Librarys(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?Librarys@NtmsDbComputer@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: unsigned long const  __cdecl NtmsDbPartition::LifeCycleState(void)const  __ptr64
-?LifeCycleState@NtmsDbPartition@@QEBA?BKXZ
-; public: class NtmsDbRecordKeyList * __ptr64 __cdecl NtmsDbPropRelation::List(void) __ptr64
-?List@NtmsDbPropRelation@@QEAAPEAVNtmsDbRecordKeyList@@XZ
-; private: class NtmsDbRecordKeyList * __ptr64 __cdecl NtmsDbSelectionSet::List(void) __ptr64
-?List@NtmsDbSelectionSet@@AEAAPEAVNtmsDbRecordKeyList@@XZ
-; public: unsigned int __cdecl NtmsDbRecordProp::Load(unsigned char * __ptr64,unsigned long & __ptr64) __ptr64
-?Load@NtmsDbRecordProp@@QEAAIPEAEAEAK@Z
-; public: unsigned long __cdecl NtmsDbMediaPool::LogicalPoolMember(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?LogicalPoolMember@NtmsDbMediaPool@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: long __cdecl NtmsDbPartition::Logicalmedia_IsNotNull(void)const  __ptr64
-?Logicalmedia_IsNotNull@NtmsDbPartition@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPartition::Logicalmedia_n(void)const  __ptr64
-?Logicalmedia_n@NtmsDbPartition@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbMediaPool::MaxAllocates(void)const  __ptr64
-?MaxAllocates@NtmsDbMediaPool@@QEBA?BKXZ
-; public: unsigned short const  __cdecl NtmsDbIEPort::MaxExtendSecs(void)const  __ptr64
-?MaxExtendSecs@NtmsDbIEPort@@QEBA?BGXZ
-; public: unsigned short const  __cdecl NtmsDbIEDoor::MaxOpenSecs(void)const  __ptr64
-?MaxOpenSecs@NtmsDbIEDoor@@QEBA?BGXZ
-; public: long __cdecl NtmsDbLogicalMedia::MediaPoolId_IsNotNull(void) __ptr64
-?MediaPoolId_IsNotNull@NtmsDbLogicalMedia@@QEAAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLogicalMedia::MediaPoolId_n(void)const  __ptr64
-?MediaPoolId_n@NtmsDbLogicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long __cdecl NtmsDbComputer::MediaPoolPolicy(void)const  __ptr64
-?MediaPoolPolicy@NtmsDbComputer@@QEBAKXZ
-; public: long __cdecl NtmsDbComputer::MediaRoot_IsNotNull(void)const  __ptr64
-?MediaRoot_IsNotNull@NtmsDbComputer@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbComputer::MediaRoot_n(void)const  __ptr64
-?MediaRoot_n@NtmsDbComputer@@QEBAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid const  __cdecl NtmsDbMediaPool::MediaType(void)const  __ptr64
-?MediaType@NtmsDbMediaPool@@QEBA?BVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbMediaType::MediaType(void)const  __ptr64
-?MediaType@NtmsDbMediaType@@QEBA?BKXZ
-; public: class NtmsDbGuid const  __cdecl NtmsDbPhysicalMedia::MediaType(void)const  __ptr64
-?MediaType@NtmsDbPhysicalMedia@@QEBA?BVNtmsDbGuid@@XZ
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::MediaTypeCode(void) __ptr64
-?MediaTypeCode@NtmsDbPhysicalMedia@@QEAAKXZ
-; public: long __cdecl NtmsDbMediaPool::MediaType_IsNotNull(void)const  __ptr64
-?MediaType_IsNotNull@NtmsDbMediaPool@@QEBAJXZ
-; public: unsigned long __cdecl NtmsDbLibrary::MediaTypes(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?MediaTypes@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: unsigned short const * __ptr64 __cdecl NtmsDbOpRequest::Message(void)const  __ptr64
-?Message@NtmsDbOpRequest@@QEBAPEBGXZ
-; public: struct _SYSTEMTIME  __cdecl NtmsDbObject::ModifyTs(void)const  __ptr64
-?ModifyTs@NtmsDbObject@@QEBA?AU_SYSTEMTIME@@XZ
-; protected: virtual void __cdecl NtmsDbObject::ModifyValueToNull(long) __ptr64
-?ModifyValueToNull@NtmsDbObject@@MEAAXJ@Z
-; public: unsigned long const  __cdecl NtmsDbPartition::MountCount(void)const  __ptr64
-?MountCount@NtmsDbPartition@@QEBA?BKXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::MountedPartition(void)const  __ptr64
-?MountedPartition@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbMediaPool::MpoolType(void)const  __ptr64
-?MpoolType@NtmsDbMediaPool@@QEBA?BKXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbObject::NameW(void) __ptr64
-?NameW@NtmsDbObject@@QEAAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbObject::NameW(void)const  __ptr64
-?NameW@NtmsDbObject@@QEBAPEBGXZ
-; public: long __cdecl NtmsDbObject::Name_IsNotNull(void) __ptr64
-?Name_IsNotNull@NtmsDbObject@@QEAAJXZ
-; public: char const * __ptr64 __cdecl NtmsDbObject::Name_n(void) __ptr64
-?Name_n@NtmsDbObject@@QEAAPEBDXZ
-; public: short const  __cdecl NtmsDbDrive::NeedsCleaning(void)const  __ptr64
-?NeedsCleaning@NtmsDbDrive@@QEBA?BFXZ
-; public: void __cdecl NtmsDbGuid::New(void) __ptr64
-?New@NtmsDbGuid@@QEAAXXZ
-; public: void __cdecl NtmsDbRecordPropList::NewPropBinary(long,unsigned char * __ptr64,int) __ptr64
-?NewPropBinary@NtmsDbRecordPropList@@QEAAXJPEAEH@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropChar(long,char * __ptr64,int) __ptr64
-?NewPropChar@NtmsDbRecordPropList@@QEAAXJPEADH@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropChar(long,unsigned char * __ptr64,int) __ptr64
-?NewPropChar@NtmsDbRecordPropList@@QEAAXJPEAEH@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropGuid(long,class NtmsDbGuid & __ptr64) __ptr64
-?NewPropGuid@NtmsDbRecordPropList@@QEAAXJAEAVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropGuid(long,class NtmsDbLinkedGuid & __ptr64,class NtmsDbRecordType * __ptr64,long) __ptr64
-?NewPropGuid@NtmsDbRecordPropList@@QEAAXJAEAVNtmsDbLinkedGuid@@PEAVNtmsDbRecordType@@J@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropLargeInt(long,union _LARGE_INTEGER * __ptr64,int) __ptr64
-?NewPropLargeInt@NtmsDbRecordPropList@@QEAAXJPEAT_LARGE_INTEGER@@H@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropLong(long,long * __ptr64,int) __ptr64
-?NewPropLong@NtmsDbRecordPropList@@QEAAXJPEAJH@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropLong(long,unsigned long * __ptr64,int) __ptr64
-?NewPropLong@NtmsDbRecordPropList@@QEAAXJPEAKH@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropRelation(long) __ptr64
-?NewPropRelation@NtmsDbRecordPropList@@QEAAXJ@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropRelation(long,class NtmsDbRecordKeyList * __ptr64) __ptr64
-?NewPropRelation@NtmsDbRecordPropList@@QEAAXJPEAVNtmsDbRecordKeyList@@@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropShort(long,short * __ptr64,int) __ptr64
-?NewPropShort@NtmsDbRecordPropList@@QEAAXJPEAFH@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropShort(long,unsigned short * __ptr64,int) __ptr64
-?NewPropShort@NtmsDbRecordPropList@@QEAAXJPEAGH@Z
-; public: void __cdecl NtmsDbRecordPropList::NewPropTimeDate(long,struct _SYSTEMTIME * __ptr64) __ptr64
-?NewPropTimeDate@NtmsDbRecordPropList@@QEAAXJPEAU_SYSTEMTIME@@@Z
-; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbPropGuid::NewRelationGuid(void) __ptr64
-?NewRelationGuid@NtmsDbPropGuid@@QEAAAEAVNtmsDbGuid@@XZ
-; public: class NtmsDbList::Map * __ptr64 __cdecl NtmsDbList::Map::Next(void) __ptr64
-?Next@Map@NtmsDbList@@QEAAPEAV12@XZ
-; public: long const  __cdecl NtmsDbMediaType::NextSequence(void)const  __ptr64
-?NextSequence@NtmsDbMediaType@@QEBA?BJXZ
-; public: static class NtmsDbPropDataType  NtmsDbRecordPropList::NoType
-?NoType@NtmsDbRecordPropList@@2VNtmsDbPropDataType@@A DATA
-; unsigned long __cdecl NtmsDbInstall(void)
-?NtmsDbInstall@@YAKXZ
-; unsigned long __cdecl NtmsDbRemove(void)
-?NtmsDbRemove@@YAKXZ
-; unsigned long __cdecl NtmsDbShutdown(void)
-?NtmsDbShutdown@@YAKXZ
-; public: int __cdecl NtmsDbGuid::Null(void)const  __ptr64
-?Null@NtmsDbGuid@@QEBAHXZ
-; public: static class NtmsDbGuid const & __ptr64 __cdecl NtmsDbGuid::NullGuid(void)
-?NullGuid@NtmsDbGuid@@SAAEBV1@XZ
-; public: static class NtmsDbRecordUniqueKey  NtmsDbRecordUniqueKey::NullKey
-?NullKey@NtmsDbRecordUniqueKey@@2V1@A DATA
-; public: static class NtmsDbRecordProp  NtmsDbRecordProp::NullProp
-?NullProp@NtmsDbRecordProp@@2V1@A DATA
-; public: unsigned long __cdecl NtmsDbLibrary::NumChangers(void) __ptr64
-?NumChangers@NtmsDbLibrary@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::NumDoors(void) __ptr64
-?NumDoors@NtmsDbLibrary@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::NumDrives(void) __ptr64
-?NumDrives@NtmsDbLibrary@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbMediaPool::NumFolders(void) __ptr64
-?NumFolders@NtmsDbMediaPool@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::NumLibWorkItems(void) __ptr64
-?NumLibWorkItems@NtmsDbLibrary@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbMediaPool::NumLogicalMedia(void) __ptr64
-?NumLogicalMedia@NtmsDbMediaPool@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::NumMedia(void) __ptr64
-?NumMedia@NtmsDbLibrary@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::NumMediaTypes(void) __ptr64
-?NumMediaTypes@NtmsDbLibrary@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::NumPartitions(void) __ptr64
-?NumPartitions@NtmsDbPhysicalMedia@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbMediaPool::NumPhysicalMedia(void) __ptr64
-?NumPhysicalMedia@NtmsDbMediaPool@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::NumPorts(void) __ptr64
-?NumPorts@NtmsDbLibrary@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::NumSlots(void) __ptr64
-?NumSlots@NtmsDbLibrary@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbComputer::NumUIDestinations(unsigned long) __ptr64
-?NumUIDestinations@NtmsDbComputer@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::NumUIDestinations(unsigned long) __ptr64
-?NumUIDestinations@NtmsDbLibrary@@QEAAKK@Z
-; public: unsigned long const  __cdecl NtmsDbChanger::Number(void)const  __ptr64
-?Number@NtmsDbChanger@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbDriveType::NumberOfHeads(void)const  __ptr64
-?NumberOfHeads@NtmsDbDriveType@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbMediaType::NumberOfSides(void)const  __ptr64
-?NumberOfSides@NtmsDbMediaType@@QEBA?BKXZ
-; public: static class NtmsDbObjTypeDef & __ptr64 __cdecl NtmsDbObjTypeDef::ObjTypeDef(unsigned long)
-?ObjTypeDef@NtmsDbObjTypeDef@@SAAEAV1@K@Z
-; void __cdecl ObjectChange(int,short,class NtmsDbGuid const & __ptr64,int)
-?ObjectChange@@YAXHFAEBVNtmsDbGuid@@H@Z
-; public: unsigned long __cdecl NtmsDbObjTypeDef::ObjectCode(void)const  __ptr64
-?ObjectCode@NtmsDbObjTypeDef@@QEBAKXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbObject::ObjectGuid(void) __ptr64
-?ObjectGuid@NtmsDbObject@@QEAAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbSelectionSet::ObjectGuid(long)const  __ptr64
-?ObjectGuid@NtmsDbSelectionSet@@QEBAAEBVNtmsDbGuid@@J@Z
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbObject::ObjectId(void) __ptr64
-?ObjectId@NtmsDbObject@@QEAAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbRecordUniqueKey const & __ptr64 __cdecl NtmsDbSelectionSet::ObjectKey(long)const  __ptr64
-?ObjectKey@NtmsDbSelectionSet@@QEBAAEBVNtmsDbRecordUniqueKey@@J@Z
-; public: unsigned long __cdecl NtmsDbObject::ObjectType(void) __ptr64
-?ObjectType@NtmsDbObject@@QEAAKXZ
-; public: static class NtmsDbObjTypeDef *  NtmsDbObjTypeDef::ObjectTypes
-?ObjectTypes@NtmsDbObjTypeDef@@2PAV1@A DATA
-; public: unsigned long const  __cdecl NtmsDbPartition::OmidLabelIdLength(void)const  __ptr64
-?OmidLabelIdLength@NtmsDbPartition@@QEBA?BKXZ
-; public: unsigned char const * __ptr64 __cdecl NtmsDbPartition::OmidLabelId_n(void)const  __ptr64
-?OmidLabelId_n@NtmsDbPartition@@QEBAPEBEXZ
-; public: long __cdecl NtmsDbComputer::OpReqCleanTime(void)const  __ptr64
-?OpReqCleanTime@NtmsDbComputer@@QEBAJXZ
-; public: unsigned long __cdecl NtmsDbComputer::OpReqFlags(void)const  __ptr64
-?OpReqFlags@NtmsDbComputer@@QEBAKXZ
-; public: unsigned long const  __cdecl NtmsDbLibWorkItem::OperationCode(void)const  __ptr64
-?OperationCode@NtmsDbLibWorkItem@@QEBA?BKXZ
-; public: long __cdecl NtmsDbPhysicalMedia::OperationErrorCode_IsNotNull(void) __ptr64
-?OperationErrorCode_IsNotNull@NtmsDbPhysicalMedia@@QEAAJXZ
-; public: unsigned long const  __cdecl NtmsDbLibWorkItem::OperationOption(void)const  __ptr64
-?OperationOption@NtmsDbLibWorkItem@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbObject::Operational(void)const  __ptr64
-?Operational@NtmsDbObject@@QEBA?BKXZ
-; public: long __cdecl NtmsDbMediaPool::Parent_IsNotNull(void)const  __ptr64
-?Parent_IsNotNull@NtmsDbMediaPool@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbMediaPool::Parent_n(void)const  __ptr64
-?Parent_n@NtmsDbMediaPool@@QEBAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLogicalMedia::Partition(void)const  __ptr64
-?Partition@NtmsDbLogicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
-; public: long __cdecl NtmsDbLibWorkItem::PartitionId_IsNotNull(void) __ptr64
-?PartitionId_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::PartitionId_n(void)const  __ptr64
-?PartitionId_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
-; public: short const  __cdecl NtmsDbPartition::PartitionNumber(void)const  __ptr64
-?PartitionNumber@NtmsDbPartition@@QEBA?BFXZ
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::Partitions(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?Partitions@NtmsDbPhysicalMedia@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: unsigned short const * __ptr64 __cdecl NtmsDbChanger::PathNameW(void)const  __ptr64
-?PathNameW@NtmsDbChanger@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbDrive::PathNameW(void)const  __ptr64
-?PathNameW@NtmsDbDrive@@QEBAPEBGXZ
-; public: long __cdecl NtmsDbChanger::PathName_IsNotNull(void) __ptr64
-?PathName_IsNotNull@NtmsDbChanger@@QEAAJXZ
-; public: long __cdecl NtmsDbDrive::PathName_IsNotNull(void) __ptr64
-?PathName_IsNotNull@NtmsDbDrive@@QEAAJXZ
-; public: char const * __ptr64 __cdecl NtmsDbChanger::PathName_n(void) __ptr64
-?PathName_n@NtmsDbChanger@@QEAAPEBDXZ
-; public: char const * __ptr64 __cdecl NtmsDbDrive::PathName_n(void) __ptr64
-?PathName_n@NtmsDbDrive@@QEAAPEBDXZ
-; public: long __cdecl NtmsDbPhysicalMedia::PhysLocId_IsNotNull(void) __ptr64
-?PhysLocId_IsNotNull@NtmsDbPhysicalMedia@@QEAAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::PhysLocId_n(void)const  __ptr64
-?PhysLocId_n@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbPhysicalMedia::PhysLocType(void)const  __ptr64
-?PhysLocType@NtmsDbPhysicalMedia@@QEBA?BKXZ
-; public: long const  __cdecl NtmsDbPhysicalMedia::PhysMediaErrorCode_n(void)const  __ptr64
-?PhysMediaErrorCode_n@NtmsDbPhysicalMedia@@QEBA?BJXZ
-; public: long __cdecl NtmsDbLibWorkItem::PhysMediaId_IsNotNull(void) __ptr64
-?PhysMediaId_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::PhysMediaId_n(void)const  __ptr64
-?PhysMediaId_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbPhysicalMedia::PhysMediaState(void)const  __ptr64
-?PhysMediaState@NtmsDbPhysicalMedia@@QEBA?BKXZ
-; public: long __cdecl NtmsDbPartition::Physicalmedia_IsNotNull(void)const  __ptr64
-?Physicalmedia_IsNotNull@NtmsDbPartition@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPartition::Physicalmedia_n(void)const  __ptr64
-?Physicalmedia_n@NtmsDbPartition@@QEBAAEBVNtmsDbGuid@@XZ
-; public: long __cdecl NtmsDbList::Map::Place(long)const  __ptr64
-?Place@Map@NtmsDbList@@QEBAJJ@Z
-; public: unsigned long __cdecl NtmsDbMediaPool::PoolMember(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?PoolMember@NtmsDbMediaPool@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: long __cdecl NtmsDbPhysicalMedia::PoolMember_IsNotNull(void)const  __ptr64
-?PoolMember_IsNotNull@NtmsDbPhysicalMedia@@QEBAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::PoolMember_n(void)const  __ptr64
-?PoolMember_n@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
-; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbPropGuid::PreviousRelationGuid(void) __ptr64
-?PreviousRelationGuid@NtmsDbPropGuid@@QEAAAEAVNtmsDbGuid@@XZ
-; public: void __cdecl NtmsDbGuid::Print(void)const  __ptr64
-?Print@NtmsDbGuid@@QEBAXXZ
-; public: unsigned long __cdecl NtmsDbLibWorkItem::Priority(void) __ptr64
-?Priority@NtmsDbLibWorkItem@@QEAAKXZ
-; public: char const * __ptr64 __cdecl NtmsDbChangerType::Product(void) __ptr64
-?Product@NtmsDbChangerType@@QEAAPEBDXZ
-; public: char const * __ptr64 __cdecl NtmsDbDriveType::Product(void) __ptr64
-?Product@NtmsDbDriveType@@QEAAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbChangerType::ProductW(void)const  __ptr64
-?ProductW@NtmsDbChangerType@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbDriveType::ProductW(void)const  __ptr64
-?ProductW@NtmsDbDriveType@@QEBAPEBGXZ
-; public: short __cdecl NtmsDbPropHeader::PropCode(void)const  __ptr64
-?PropCode@NtmsDbPropHeader@@QEBAFXZ
-; public: long __cdecl NtmsDbPropertyValue::PropCode(void)const  __ptr64
-?PropCode@NtmsDbPropertyValue@@QEBAJXZ
-; public: unsigned long __cdecl NtmsDbRecordPropList::PropertySpace(void) __ptr64
-?PropertySpace@NtmsDbRecordPropList@@QEAAKXZ
-; public: class NtmsDbPropDataType const & __ptr64 __cdecl NtmsDbRecordPropList::PropertyType(void) __ptr64
-?PropertyType@NtmsDbRecordPropList@@QEAAAEBVNtmsDbPropDataType@@XZ
-; public: int __cdecl NtmsDbLibWorkItem::Protected(void) __ptr64
-?Protected@NtmsDbLibWorkItem@@QEAAHXZ
-; public: long __cdecl NtmsDbList::Map::Put(long,class NtmsDbListItem & __ptr64) __ptr64
-?Put@Map@NtmsDbList@@QEAAJJAEAVNtmsDbListItem@@@Z
-; public: int __cdecl NtmsDbRecordPropList::Quantity(void)const  __ptr64
-?Quantity@NtmsDbRecordPropList@@QEBAHXZ
-; private: void __cdecl NtmsDbRecordPropList::ReCount(void) __ptr64
-?ReCount@NtmsDbRecordPropList@@AEAAXXZ
-; protected: void __cdecl NtmsDbObject::ReadObjectRecord(class NtmsDbDataCtxt * __ptr64,class NtmsDbRecordKey & __ptr64,class NtmsDbRecordRev & __ptr64,class NtmsDbRecordPropList * __ptr64) __ptr64
-?ReadObjectRecord@NtmsDbObject@@IEAAXPEAVNtmsDbDataCtxt@@AEAVNtmsDbRecordKey@@AEAVNtmsDbRecordRev@@PEAVNtmsDbRecordPropList@@@Z
-; public: virtual unsigned long __cdecl NtmsDbObject::Refresh(class NtmsDbDataCtxt * __ptr64) __ptr64
-?Refresh@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
-; public: void __cdecl NtmsDbObjTypeDef::Register(void) __ptr64
-?Register@NtmsDbObjTypeDef@@QEAAXXZ
-; protected: void __cdecl NtmsDbDataCtxt::RegisterObMeta(void) __ptr64
-?RegisterObMeta@NtmsDbDataCtxt@@IEAAXXZ
-; protected: void __cdecl NtmsDbObject::RegisterObjectRecord(class NtmsDbDataCtxt * __ptr64,class NtmsDbRecordType & __ptr64,char * __ptr64) __ptr64
-?RegisterObjectRecord@NtmsDbObject@@IEAAXPEAVNtmsDbDataCtxt@@AEAVNtmsDbRecordType@@PEAD@Z
-; public: long __cdecl NtmsDbPropGuid::RelationProperty(void)const  __ptr64
-?RelationProperty@NtmsDbPropGuid@@QEBAJXZ
-; public: class NtmsDbRecordType const & __ptr64 __cdecl NtmsDbPropGuid::RelationType(void)const  __ptr64
-?RelationType@NtmsDbPropGuid@@QEBAAEBVNtmsDbRecordType@@XZ
-; public: static void __cdecl NtmsDbDataCtxt::ReleaseChangeMutex(void)
-?ReleaseChangeMutex@NtmsDbDataCtxt@@SAXXZ
-; public: void __cdecl NtmsDbList::Map::Remove(long) __ptr64
-?Remove@Map@NtmsDbList@@QEAAXJ@Z
-; public: virtual unsigned long __cdecl NtmsDbLibrary::Remove(class NtmsDbDataCtxt * __ptr64) __ptr64
-?Remove@NtmsDbLibrary@@UEAAKPEAVNtmsDbDataCtxt@@@Z
-; public: virtual unsigned long __cdecl NtmsDbObject::Remove(class NtmsDbDataCtxt * __ptr64) __ptr64
-?Remove@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
-; public: unsigned long __cdecl NtmsDbLibrary::RemoveMediaType(class NtmsDbGuid const & __ptr64) __ptr64
-?RemoveMediaType@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: virtual unsigned long __cdecl NtmsDbObject::RemoveRegardless(class NtmsDbDataCtxt * __ptr64) __ptr64
-?RemoveRegardless@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
-; public: unsigned long __cdecl NtmsDbComputer::RemoveUIDestination(unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
-?RemoveUIDestination@NtmsDbComputer@@QEAAKKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbLibrary::RemoveUIDestination(unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
-?RemoveUIDestination@NtmsDbLibrary@@QEAAKKAEBVNtmsDbGuid@@@Z
-; protected: void __cdecl NtmsDbString::ReplaceString(char const * __ptr64) __ptr64
-?ReplaceString@NtmsDbString@@IEAAXPEBD@Z
-; public: unsigned long __cdecl NtmsDbObject::ReportSpecificError(unsigned long)const  __ptr64
-?ReportSpecificError@NtmsDbObject@@QEBAKK@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::Request(void)const  __ptr64
-?Request@NtmsDbOpRequest@@QEBAKXZ
-; public: void __cdecl NtmsDbList::Reset(void) __ptr64
-?Reset@NtmsDbList@@QEAAXXZ
-; public: void __cdecl NtmsDbRecordPropList::Reset(void) __ptr64
-?Reset@NtmsDbRecordPropList@@QEAAXXZ
-; public: virtual void __cdecl NtmsDbSelectionSet::Reset(void) __ptr64
-?Reset@NtmsDbSelectionSet@@UEAAXXZ
-; public: char const * __ptr64 __cdecl NtmsDbChanger::Revision(void) __ptr64
-?Revision@NtmsDbChanger@@QEAAPEBDXZ
-; public: char const * __ptr64 __cdecl NtmsDbDrive::Revision(void) __ptr64
-?Revision@NtmsDbDrive@@QEAAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbChanger::RevisionW(void)const  __ptr64
-?RevisionW@NtmsDbChanger@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbDrive::RevisionW(void)const  __ptr64
-?RevisionW@NtmsDbDrive@@QEBAPEBGXZ
-; public: unsigned long __cdecl NtmsDbDataCtxt::RollbackTransaction(void) __ptr64
-?RollbackTransaction@NtmsDbDataCtxt@@QEAAKXZ
-; public: long __cdecl NtmsDbDrive::SavedPartitionId_IsNotNull(void) __ptr64
-?SavedPartitionId_IsNotNull@NtmsDbDrive@@QEAAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbDrive::SavedPartitionId_n(void)const  __ptr64
-?SavedPartitionId_n@NtmsDbDrive@@QEBAAEBVNtmsDbGuid@@XZ
-; public: long __cdecl NtmsDbChanger::ScsiBus_IsNotNull(void) __ptr64
-?ScsiBus_IsNotNull@NtmsDbChanger@@QEAAJXZ
-; public: long __cdecl NtmsDbDrive::ScsiBus_IsNotNull(void) __ptr64
-?ScsiBus_IsNotNull@NtmsDbDrive@@QEAAJXZ
-; public: unsigned short const  __cdecl NtmsDbChanger::ScsiBus_n(void)const  __ptr64
-?ScsiBus_n@NtmsDbChanger@@QEBA?BGXZ
-; public: unsigned short const  __cdecl NtmsDbDrive::ScsiBus_n(void)const  __ptr64
-?ScsiBus_n@NtmsDbDrive@@QEBA?BGXZ
-; public: long __cdecl NtmsDbChanger::ScsiLun_IsNotNull(void) __ptr64
-?ScsiLun_IsNotNull@NtmsDbChanger@@QEAAJXZ
-; public: long __cdecl NtmsDbDrive::ScsiLun_IsNotNull(void) __ptr64
-?ScsiLun_IsNotNull@NtmsDbDrive@@QEAAJXZ
-; public: unsigned short const  __cdecl NtmsDbChanger::ScsiLun_n(void)const  __ptr64
-?ScsiLun_n@NtmsDbChanger@@QEBA?BGXZ
-; public: unsigned short const  __cdecl NtmsDbDrive::ScsiLun_n(void)const  __ptr64
-?ScsiLun_n@NtmsDbDrive@@QEBA?BGXZ
-; public: long __cdecl NtmsDbChanger::ScsiPort_IsNotNull(void) __ptr64
-?ScsiPort_IsNotNull@NtmsDbChanger@@QEAAJXZ
-; public: long __cdecl NtmsDbDrive::ScsiPort_IsNotNull(void) __ptr64
-?ScsiPort_IsNotNull@NtmsDbDrive@@QEAAJXZ
-; public: unsigned short const  __cdecl NtmsDbChanger::ScsiPort_n(void)const  __ptr64
-?ScsiPort_n@NtmsDbChanger@@QEBA?BGXZ
-; public: unsigned short const  __cdecl NtmsDbDrive::ScsiPort_n(void)const  __ptr64
-?ScsiPort_n@NtmsDbDrive@@QEBA?BGXZ
-; public: long __cdecl NtmsDbChanger::ScsiTarget_IsNotNull(void) __ptr64
-?ScsiTarget_IsNotNull@NtmsDbChanger@@QEAAJXZ
-; public: long __cdecl NtmsDbDrive::ScsiTarget_IsNotNull(void) __ptr64
-?ScsiTarget_IsNotNull@NtmsDbDrive@@QEAAJXZ
-; public: unsigned short const  __cdecl NtmsDbChanger::ScsiTarget_n(void)const  __ptr64
-?ScsiTarget_n@NtmsDbChanger@@QEBA?BGXZ
-; public: unsigned short const  __cdecl NtmsDbDrive::ScsiTarget_n(void)const  __ptr64
-?ScsiTarget_n@NtmsDbDrive@@QEBA?BGXZ
-; public: void __cdecl NtmsDbSelectionSet::Select(class NtmsDbDataCtxt * __ptr64,unsigned long) __ptr64
-?Select@NtmsDbSelectionSet@@QEAAXPEAVNtmsDbDataCtxt@@K@Z
-; public: unsigned short const * __ptr64 __cdecl NtmsDbChanger::SerialNumberW(void)const  __ptr64
-?SerialNumberW@NtmsDbChanger@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbDrive::SerialNumberW(void)const  __ptr64
-?SerialNumberW@NtmsDbDrive@@QEBAPEBGXZ
-; public: long __cdecl NtmsDbChanger::SerialNumber_IsNotNull(void) __ptr64
-?SerialNumber_IsNotNull@NtmsDbChanger@@QEAAJXZ
-; public: long __cdecl NtmsDbDrive::SerialNumber_IsNotNull(void) __ptr64
-?SerialNumber_IsNotNull@NtmsDbDrive@@QEAAJXZ
-; public: char const * __ptr64 __cdecl NtmsDbChanger::SerialNumber_n(void) __ptr64
-?SerialNumber_n@NtmsDbChanger@@QEAAPEBDXZ
-; public: char const * __ptr64 __cdecl NtmsDbDrive::SerialNumber_n(void) __ptr64
-?SerialNumber_n@NtmsDbDrive@@QEAAPEBDXZ
-; public: void __cdecl NtmsDbList::Map::Set(long,class NtmsDbListItem * __ptr64) __ptr64
-?Set@Map@NtmsDbList@@QEAAXJPEAVNtmsDbListItem@@@Z
-; public: unsigned long __cdecl NtmsDbObject::SetAdminControlSecurity(void) __ptr64
-?SetAdminControlSecurity@NtmsDbObject@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbPartition::SetAllocOption(unsigned long) __ptr64
-?SetAllocOption@NtmsDbPartition@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPartition::SetAllocateCount(unsigned long) __ptr64
-?SetAllocateCount@NtmsDbPartition@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbMediaPool::SetAllocationPolicy(unsigned long) __ptr64
-?SetAllocationPolicy@NtmsDbMediaPool@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetApplication(unsigned short const * __ptr64) __ptr64
-?SetApplication@NtmsDbLibWorkItem@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetApplication(unsigned short const * __ptr64) __ptr64
-?SetApplication@NtmsDbOpRequest@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetArg1(class NtmsDbGuid const & __ptr64) __ptr64
-?SetArg1@NtmsDbOpRequest@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetArg1Type(unsigned long) __ptr64
-?SetArg1Type@NtmsDbOpRequest@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetArg2(class NtmsDbGuid const & __ptr64) __ptr64
-?SetArg2@NtmsDbOpRequest@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetArg2Type(unsigned long) __ptr64
-?SetArg2Type@NtmsDbOpRequest@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetAssocWorkItem(class NtmsDbGuid const & __ptr64) __ptr64
-?SetAssocWorkItem@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbLibWorkItem::SetAssocWorkItem_Null(void) __ptr64
-?SetAssocWorkItem_Null@NtmsDbLibWorkItem@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbObject::SetAttribute(class NtmsDbDataCtxt * __ptr64,char const * __ptr64,void * __ptr64,unsigned long) __ptr64
-?SetAttribute@NtmsDbObject@@QEAAKPEAVNtmsDbDataCtxt@@PEBDPEAXK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetAutoRecovery(short) __ptr64
-?SetAutoRecovery@NtmsDbLibrary@@QEAAKF@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetBarCodeReader(short) __ptr64
-?SetBarCodeReader@NtmsDbLibrary@@QEAAKF@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetBarcode(char const * __ptr64) __ptr64
-?SetBarcode@NtmsDbPhysicalMedia@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetBarcodeState(unsigned long) __ptr64
-?SetBarcodeState@NtmsDbPhysicalMedia@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetBarcodeW(unsigned short const * __ptr64) __ptr64
-?SetBarcodeW@NtmsDbPhysicalMedia@@QEAAKPEBG@Z
-; public: void __cdecl NtmsDbPhysicalMedia::SetBarcode_Null(void) __ptr64
-?SetBarcode_Null@NtmsDbPhysicalMedia@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbPartition::SetCapacity(union _LARGE_INTEGER) __ptr64
-?SetCapacity@NtmsDbPartition@@QEAAKT_LARGE_INTEGER@@@Z
-; public: unsigned long __cdecl NtmsDbChanger::SetChangerType(class NtmsDbGuid const & __ptr64) __ptr64
-?SetChangerType@NtmsDbChanger@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetCleanerSlot(class NtmsDbGuid const & __ptr64) __ptr64
-?SetCleanerSlot@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbLibrary::SetCleanerSlot_Null(void) __ptr64
-?SetCleanerSlot_Null@NtmsDbLibrary@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbLibrary::SetCleansRemaining(unsigned long) __ptr64
-?SetCleansRemaining@NtmsDbLibrary@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetComputer(class NtmsDbGuid const & __ptr64) __ptr64
-?SetComputer@NtmsDbDrive@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetComputer(unsigned short const * __ptr64) __ptr64
-?SetComputer@NtmsDbLibWorkItem@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetComputer(class NtmsDbGuid const & __ptr64) __ptr64
-?SetComputer@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetComputer(unsigned short const * __ptr64) __ptr64
-?SetComputer@NtmsDbOpRequest@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbUIDestination::SetComputer(unsigned short * __ptr64 const) __ptr64
-?SetComputer@NtmsDbUIDestination@@QEAAKQEAG@Z
-; public: void __cdecl NtmsDbDrive::SetComputer_Null(void) __ptr64
-?SetComputer_Null@NtmsDbDrive@@QEAAXXZ
-; public: void __cdecl NtmsDbLibrary::SetComputer_Null(void) __ptr64
-?SetComputer_Null@NtmsDbLibrary@@QEAAXXZ
-; public: void __cdecl NtmsDbPropHeader::SetCount(long) __ptr64
-?SetCount@NtmsDbPropHeader@@QEAAXJ@Z
-; public: void __cdecl NtmsDbRecordProp::SetData(void * __ptr64) __ptr64
-?SetData@NtmsDbRecordProp@@QEAAXPEAX@Z
-; protected: virtual void __cdecl NtmsDbChanger::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbChanger@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbChangerType::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbChangerType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbComputer::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbComputer@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbDrive::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbDrive@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbDriveType::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbDriveType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbIEDoor::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbIEDoor@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbIEPort::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbIEPort@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLibWorkItem::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbLibWorkItem@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLibrary::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbLibrary@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbLogicalMedia::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbLogicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbMediaPool::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbMediaPool@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbMediaType::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbMediaType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbObject::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbObject@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbOpRequest::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbOpRequest@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbPartition::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbPartition@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbPhysicalMedia::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbPhysicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbStorageSlot::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbStorageSlot@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; protected: virtual void __cdecl NtmsDbUIDestination::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
-?SetDbObject@NtmsDbUIDestination@@MEAAXPEAVNtmsDbDataCtxt@@@Z
-; public: unsigned long __cdecl NtmsDbMediaPool::SetDeallocationPolicy(unsigned long) __ptr64
-?SetDeallocationPolicy@NtmsDbMediaPool@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetDefCleanerSlot(class NtmsDbGuid const & __ptr64) __ptr64
-?SetDefCleanerSlot@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbLibrary::SetDefCleanerSlot_Null(void) __ptr64
-?SetDefCleanerSlot_Null@NtmsDbLibrary@@QEAAXXZ
-; public: void __cdecl NtmsDbProperty::SetDefault(void) __ptr64
-?SetDefault@NtmsDbProperty@@QEAAXXZ
-; public: void __cdecl NtmsDbRecordProp::SetDefault(void) __ptr64
-?SetDefault@NtmsDbRecordProp@@QEAAXXZ
-; public: void __cdecl NtmsDbObject::SetDefaultValue(class NtmsDbProperty * __ptr64) __ptr64
-?SetDefaultValue@NtmsDbObject@@QEAAXPEAVNtmsDbProperty@@@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetDeferDelay(unsigned long) __ptr64
-?SetDeferDelay@NtmsDbDrive@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetDensityCode(unsigned long) __ptr64
-?SetDensityCode@NtmsDbPhysicalMedia@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbObject::SetDescription(char const * __ptr64) __ptr64
-?SetDescription@NtmsDbObject@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbObject::SetDescriptionW(unsigned short const * __ptr64) __ptr64
-?SetDescriptionW@NtmsDbObject@@QEAAKPEBG@Z
-; public: void __cdecl NtmsDbObject::SetDescription_Null(void) __ptr64
-?SetDescription_Null@NtmsDbObject@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbChangerType::SetDeviceType(unsigned long) __ptr64
-?SetDeviceType@NtmsDbChangerType@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbMediaType::SetDeviceType(unsigned long) __ptr64
-?SetDeviceType@NtmsDbMediaType@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetDriveId(class NtmsDbGuid const & __ptr64) __ptr64
-?SetDriveId@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbLibWorkItem::SetDriveId_Null(void) __ptr64
-?SetDriveId_Null@NtmsDbLibWorkItem@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbDrive::SetDriveLetter(unsigned short const * __ptr64) __ptr64
-?SetDriveLetter@NtmsDbDrive@@QEAAKPEBG@Z
-; public: void __cdecl NtmsDbDrive::SetDriveLetter_Null(void) __ptr64
-?SetDriveLetter_Null@NtmsDbDrive@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbDrive::SetDriveNumber(unsigned long) __ptr64
-?SetDriveNumber@NtmsDbDrive@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetDriveState(unsigned long) __ptr64
-?SetDriveState@NtmsDbDrive@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetDriveType(class NtmsDbGuid const & __ptr64) __ptr64
-?SetDriveType@NtmsDbDrive@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbDriveType::SetDriveType(unsigned long) __ptr64
-?SetDriveType@NtmsDbDriveType@@QEAAKK@Z
-; public: void __cdecl NtmsDbList::SetDynamic(int) __ptr64
-?SetDynamic@NtmsDbList@@QEAAXH@Z
-; public: void __cdecl NtmsDbRecordProp::SetDynamic(void) __ptr64
-?SetDynamic@NtmsDbRecordProp@@QEAAXXZ
-; public: void __cdecl NtmsDbSelectionSet::SetDynamic(int) __ptr64
-?SetDynamic@NtmsDbSelectionSet@@QEAAXH@Z
-; public: unsigned long __cdecl NtmsDbObject::SetEnabled(short) __ptr64
-?SetEnabled@NtmsDbObject@@QEAAKF@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetErrorCode(unsigned long) __ptr64
-?SetErrorCode@NtmsDbLibWorkItem@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbIEPort::SetExtendState(unsigned long) __ptr64
-?SetExtendState@NtmsDbIEPort@@QEAAKK@Z
-; public: void __cdecl NtmsDbFile::SetFileStatus(unsigned long) __ptr64
-?SetFileStatus@NtmsDbFile@@QEAAXK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetFirstChangerNumber(unsigned long) __ptr64
-?SetFirstChangerNumber@NtmsDbLibrary@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetFirstDriveNumber(unsigned long) __ptr64
-?SetFirstDriveNumber@NtmsDbLibrary@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetFirstPortNumber(unsigned long) __ptr64
-?SetFirstPortNumber@NtmsDbLibrary@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetFirstSlotNumber(unsigned long) __ptr64
-?SetFirstSlotNumber@NtmsDbLibrary@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetFixedOffline(short) __ptr64
-?SetFixedOffline@NtmsDbLibrary@@QEAAKF@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetFlags(unsigned long) __ptr64
-?SetFlags@NtmsDbLibrary@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbIEPort::SetFullState(unsigned long) __ptr64
-?SetFullState@NtmsDbIEPort@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetHomeSlotId(class NtmsDbGuid const & __ptr64) __ptr64
-?SetHomeSlotId@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbPhysicalMedia::SetHomeSlotId_Null(void) __ptr64
-?SetHomeSlotId_Null@NtmsDbPhysicalMedia@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbIEDoor::SetIEDoorNumber(unsigned long) __ptr64
-?SetIEDoorNumber@NtmsDbIEDoor@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbIEDoor::SetIEDoorState(unsigned long) __ptr64
-?SetIEDoorState@NtmsDbIEDoor@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbIEPort::SetIEPortNumber(unsigned long) __ptr64
-?SetIEPortNumber@NtmsDbIEPort@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbChanger::SetInstanceNameW(unsigned short const * __ptr64) __ptr64
-?SetInstanceNameW@NtmsDbChanger@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetInstanceNameW(unsigned short const * __ptr64) __ptr64
-?SetInstanceNameW@NtmsDbDrive@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetInventoryMethod(unsigned long) __ptr64
-?SetInventoryMethod@NtmsDbLibrary@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetInventoryState(unsigned long) __ptr64
-?SetInventoryState@NtmsDbPhysicalMedia@@QEAAKK@Z
-; public: void __cdecl NtmsDbPropRecordClass::SetKey(class NtmsDbRecordKey & __ptr64) __ptr64
-?SetKey@NtmsDbPropRecordClass@@QEAAXAEAVNtmsDbRecordKey@@@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetLastCleanedTs(struct _SYSTEMTIME) __ptr64
-?SetLastCleanedTs@NtmsDbDrive@@QEAAKU_SYSTEMTIME@@@Z
-; public: void __cdecl NtmsDbDrive::SetLastCleanedTs_Null(void) __ptr64
-?SetLastCleanedTs_Null@NtmsDbDrive@@QEAAXXZ
-; public: void __cdecl NtmsDbRecordProp::SetLength(long) __ptr64
-?SetLength@NtmsDbRecordProp@@QEAAXJ@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetLibCurrentMedia(class NtmsDbGuid const & __ptr64) __ptr64
-?SetLibCurrentMedia@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbPhysicalMedia::SetLibCurrentMedia_Null(void) __ptr64
-?SetLibCurrentMedia_Null@NtmsDbPhysicalMedia@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbComputer::SetLibReqCleanTime(long) __ptr64
-?SetLibReqCleanTime@NtmsDbComputer@@QEAAKJ@Z
-; public: unsigned long __cdecl NtmsDbComputer::SetLibReqFlags(unsigned long) __ptr64
-?SetLibReqFlags@NtmsDbComputer@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbChanger::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
-?SetLibrary@NtmsDbChanger@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
-?SetLibrary@NtmsDbDrive@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbIEDoor::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
-?SetLibrary@NtmsDbIEDoor@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbIEPort::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
-?SetLibrary@NtmsDbIEPort@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
-?SetLibrary@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbStorageSlot::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
-?SetLibrary@NtmsDbStorageSlot@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetLibraryType(unsigned long) __ptr64
-?SetLibraryType@NtmsDbLibrary@@QEAAKK@Z
-; public: void __cdecl NtmsDbChanger::SetLibrary_Null(void) __ptr64
-?SetLibrary_Null@NtmsDbChanger@@QEAAXXZ
-; public: void __cdecl NtmsDbDrive::SetLibrary_Null(void) __ptr64
-?SetLibrary_Null@NtmsDbDrive@@QEAAXXZ
-; public: void __cdecl NtmsDbIEDoor::SetLibrary_Null(void) __ptr64
-?SetLibrary_Null@NtmsDbIEDoor@@QEAAXXZ
-; public: void __cdecl NtmsDbIEPort::SetLibrary_Null(void) __ptr64
-?SetLibrary_Null@NtmsDbIEPort@@QEAAXXZ
-; public: void __cdecl NtmsDbLibWorkItem::SetLibrary_Null(void) __ptr64
-?SetLibrary_Null@NtmsDbLibWorkItem@@QEAAXXZ
-; public: void __cdecl NtmsDbStorageSlot::SetLibrary_Null(void) __ptr64
-?SetLibrary_Null@NtmsDbStorageSlot@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbPartition::SetLifeCycleState(unsigned long) __ptr64
-?SetLifeCycleState@NtmsDbPartition@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPartition::SetLogicalmedia(class NtmsDbGuid const & __ptr64) __ptr64
-?SetLogicalmedia@NtmsDbPartition@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbPartition::SetLogicalmedia_Null(void) __ptr64
-?SetLogicalmedia_Null@NtmsDbPartition@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbMediaPool::SetMaxAllocates(unsigned long) __ptr64
-?SetMaxAllocates@NtmsDbMediaPool@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbIEPort::SetMaxExtendSecs(unsigned short) __ptr64
-?SetMaxExtendSecs@NtmsDbIEPort@@QEAAKG@Z
-; public: unsigned long __cdecl NtmsDbIEDoor::SetMaxOpenSecs(unsigned short) __ptr64
-?SetMaxOpenSecs@NtmsDbIEDoor@@QEAAKG@Z
-; public: unsigned long __cdecl NtmsDbLogicalMedia::SetMediaPoolId(class NtmsDbGuid const & __ptr64) __ptr64
-?SetMediaPoolId@NtmsDbLogicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbLogicalMedia::SetMediaPoolId_Null(void) __ptr64
-?SetMediaPoolId_Null@NtmsDbLogicalMedia@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbComputer::SetMediaPoolPolicy(unsigned long) __ptr64
-?SetMediaPoolPolicy@NtmsDbComputer@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbComputer::SetMediaRoot(class NtmsDbGuid const & __ptr64) __ptr64
-?SetMediaRoot@NtmsDbComputer@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbComputer::SetMediaRoot_Null(void) __ptr64
-?SetMediaRoot_Null@NtmsDbComputer@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbMediaPool::SetMediaType(class NtmsDbGuid) __ptr64
-?SetMediaType@NtmsDbMediaPool@@QEAAKVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbMediaType::SetMediaType(unsigned long) __ptr64
-?SetMediaType@NtmsDbMediaType@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetMediaType(class NtmsDbGuid) __ptr64
-?SetMediaType@NtmsDbPhysicalMedia@@QEAAKVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetMediaTypeCode(unsigned long) __ptr64
-?SetMediaTypeCode@NtmsDbPhysicalMedia@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetMessage(unsigned short const * __ptr64) __ptr64
-?SetMessage@NtmsDbOpRequest@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetMessageA(char const * __ptr64) __ptr64
-?SetMessageA@NtmsDbOpRequest@@QEAAKPEBD@Z
-; public: int __cdecl NtmsDbObject::SetModified(long) __ptr64
-?SetModified@NtmsDbObject@@QEAAHJ@Z
-; public: void __cdecl NtmsDbRecordProp::SetModified(void) __ptr64
-?SetModified@NtmsDbRecordProp@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbPartition::SetMountCount(unsigned long) __ptr64
-?SetMountCount@NtmsDbPartition@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetMountedPartition(class NtmsDbGuid const & __ptr64) __ptr64
-?SetMountedPartition@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbMediaPool::SetMpoolType(unsigned long) __ptr64
-?SetMpoolType@NtmsDbMediaPool@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbObject::SetName(char const * __ptr64) __ptr64
-?SetName@NtmsDbObject@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbObject::SetNameW(unsigned short const * __ptr64) __ptr64
-?SetNameW@NtmsDbObject@@QEAAKPEBG@Z
-; public: void __cdecl NtmsDbObject::SetName_Null(void) __ptr64
-?SetName_Null@NtmsDbObject@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbDrive::SetNeedsCleaning(short) __ptr64
-?SetNeedsCleaning@NtmsDbDrive@@QEAAKF@Z
-; public: void __cdecl NtmsDbList::Map::SetNext(class NtmsDbList::Map * __ptr64) __ptr64
-?SetNext@Map@NtmsDbList@@QEAAXPEAV12@@Z
-; public: unsigned long __cdecl NtmsDbMediaType::SetNextSequence(long) __ptr64
-?SetNextSequence@NtmsDbMediaType@@QEAAKJ@Z
-; public: void __cdecl NtmsDatabase::SetNotificationHandler(void (__cdecl*)(int,short,class NtmsDbGuid const & __ptr64,int)) __ptr64
-?SetNotificationHandler@NtmsDatabase@@QEAAXP6AXHFAEBVNtmsDbGuid@@H@Z@Z
-; public: void __cdecl NtmsDbRecordProp::SetNull(void) __ptr64
-?SetNull@NtmsDbRecordProp@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbChanger::SetNumber(unsigned long) __ptr64
-?SetNumber@NtmsDbChanger@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbDriveType::SetNumberOfHeads(unsigned long) __ptr64
-?SetNumberOfHeads@NtmsDbDriveType@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbMediaType::SetNumberOfSides(unsigned long) __ptr64
-?SetNumberOfSides@NtmsDbMediaType@@QEAAKK@Z
-; public: void __cdecl NtmsDbSelectionSet::SetObjectGuid(long,class NtmsDbGuid const & __ptr64) __ptr64
-?SetObjectGuid@NtmsDbSelectionSet@@QEAAXJAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbObject::SetObjectId(class NtmsDbGuid const & __ptr64) __ptr64
-?SetObjectId@NtmsDbObject@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbObject::SetObjectId(char const * __ptr64) __ptr64
-?SetObjectId@NtmsDbObject@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbPartition::SetOmidLabelId(unsigned char const * __ptr64,unsigned long) __ptr64
-?SetOmidLabelId@NtmsDbPartition@@QEAAKPEBEK@Z
-; public: unsigned long __cdecl NtmsDbPartition::SetOmidLabelInfo(unsigned short const * __ptr64) __ptr64
-?SetOmidLabelInfo@NtmsDbPartition@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbPartition::SetOmidLabelType(unsigned short const * __ptr64) __ptr64
-?SetOmidLabelType@NtmsDbPartition@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbComputer::SetOpReqCleanTime(long) __ptr64
-?SetOpReqCleanTime@NtmsDbComputer@@QEAAKJ@Z
-; public: unsigned long __cdecl NtmsDbComputer::SetOpReqFlags(unsigned long) __ptr64
-?SetOpReqFlags@NtmsDbComputer@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetOperationCode(unsigned long) __ptr64
-?SetOperationCode@NtmsDbLibWorkItem@@QEAAKK@Z
-; public: void __cdecl NtmsDbPhysicalMedia::SetOperationErrorCode_Null(void) __ptr64
-?SetOperationErrorCode_Null@NtmsDbPhysicalMedia@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetOperationOption(unsigned long) __ptr64
-?SetOperationOption@NtmsDbLibWorkItem@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbObject::SetOperational(unsigned long) __ptr64
-?SetOperational@NtmsDbObject@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbMediaPool::SetParent(class NtmsDbGuid const & __ptr64) __ptr64
-?SetParent@NtmsDbMediaPool@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbMediaPool::SetParent_Null(void) __ptr64
-?SetParent_Null@NtmsDbMediaPool@@QEAAXXZ
-; public: void __cdecl NtmsDbLogicalMedia::SetPartition(class NtmsDbGuid const & __ptr64) __ptr64
-?SetPartition@NtmsDbLogicalMedia@@QEAAXAEBVNtmsDbGuid@@@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetPartitionId(class NtmsDbGuid const & __ptr64) __ptr64
-?SetPartitionId@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbLibWorkItem::SetPartitionId_Null(void) __ptr64
-?SetPartitionId_Null@NtmsDbLibWorkItem@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbPartition::SetPartitionNumber(short) __ptr64
-?SetPartitionNumber@NtmsDbPartition@@QEAAKF@Z
-; public: unsigned long __cdecl NtmsDbChanger::SetPathName(char const * __ptr64) __ptr64
-?SetPathName@NtmsDbChanger@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetPathName(char const * __ptr64) __ptr64
-?SetPathName@NtmsDbDrive@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbChanger::SetPathNameW(unsigned short const * __ptr64) __ptr64
-?SetPathNameW@NtmsDbChanger@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetPathNameW(unsigned short const * __ptr64) __ptr64
-?SetPathNameW@NtmsDbDrive@@QEAAKPEBG@Z
-; public: void __cdecl NtmsDbChanger::SetPathName_Null(void) __ptr64
-?SetPathName_Null@NtmsDbChanger@@QEAAXXZ
-; public: void __cdecl NtmsDbDrive::SetPathName_Null(void) __ptr64
-?SetPathName_Null@NtmsDbDrive@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPhysLocId(class NtmsDbGuid const & __ptr64) __ptr64
-?SetPhysLocId@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbPhysicalMedia::SetPhysLocId_Null(void) __ptr64
-?SetPhysLocId_Null@NtmsDbPhysicalMedia@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPhysLocType(unsigned long) __ptr64
-?SetPhysLocType@NtmsDbPhysicalMedia@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPhysMediaErrorCode(long) __ptr64
-?SetPhysMediaErrorCode@NtmsDbPhysicalMedia@@QEAAKJ@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetPhysMediaId(class NtmsDbGuid const & __ptr64) __ptr64
-?SetPhysMediaId@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbLibWorkItem::SetPhysMediaId_Null(void) __ptr64
-?SetPhysMediaId_Null@NtmsDbLibWorkItem@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPhysMediaState(unsigned long) __ptr64
-?SetPhysMediaState@NtmsDbPhysicalMedia@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbPartition::SetPhysicalmedia(class NtmsDbGuid const & __ptr64) __ptr64
-?SetPhysicalmedia@NtmsDbPartition@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbPartition::SetPhysicalmedia_Null(void) __ptr64
-?SetPhysicalmedia_Null@NtmsDbPartition@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPoolMember(class NtmsDbGuid const & __ptr64) __ptr64
-?SetPoolMember@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbPhysicalMedia::SetPoolMember_Null(void) __ptr64
-?SetPoolMember_Null@NtmsDbPhysicalMedia@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetPriority(unsigned long) __ptr64
-?SetPriority@NtmsDbLibWorkItem@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbChangerType::SetProduct(char const * __ptr64) __ptr64
-?SetProduct@NtmsDbChangerType@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbDriveType::SetProduct(char const * __ptr64) __ptr64
-?SetProduct@NtmsDbDriveType@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbChangerType::SetProductW(unsigned short const * __ptr64) __ptr64
-?SetProductW@NtmsDbChangerType@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbDriveType::SetProductW(unsigned short const * __ptr64) __ptr64
-?SetProductW@NtmsDbDriveType@@QEAAKPEBG@Z
-; public: void __cdecl NtmsDbPropHeader::SetPropCode(short) __ptr64
-?SetPropCode@NtmsDbPropHeader@@QEAAXF@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetProtected(int) __ptr64
-?SetProtected@NtmsDbLibWorkItem@@QEAAKH@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetRequest(unsigned long) __ptr64
-?SetRequest@NtmsDbOpRequest@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbChanger::SetRevision(char const * __ptr64) __ptr64
-?SetRevision@NtmsDbChanger@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetRevision(char const * __ptr64) __ptr64
-?SetRevision@NtmsDbDrive@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbChanger::SetRevisionW(unsigned short const * __ptr64) __ptr64
-?SetRevisionW@NtmsDbChanger@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetRevisionW(unsigned short const * __ptr64) __ptr64
-?SetRevisionW@NtmsDbDrive@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetSavedPartitionId(class NtmsDbGuid const & __ptr64) __ptr64
-?SetSavedPartitionId@NtmsDbDrive@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbDrive::SetSavedPartitionId_Null(void) __ptr64
-?SetSavedPartitionId_Null@NtmsDbDrive@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbChanger::SetScsiBus(unsigned short) __ptr64
-?SetScsiBus@NtmsDbChanger@@QEAAKG@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetScsiBus(unsigned short) __ptr64
-?SetScsiBus@NtmsDbDrive@@QEAAKG@Z
-; public: void __cdecl NtmsDbChanger::SetScsiBus_Null(void) __ptr64
-?SetScsiBus_Null@NtmsDbChanger@@QEAAXXZ
-; public: void __cdecl NtmsDbDrive::SetScsiBus_Null(void) __ptr64
-?SetScsiBus_Null@NtmsDbDrive@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbChanger::SetScsiLun(unsigned short) __ptr64
-?SetScsiLun@NtmsDbChanger@@QEAAKG@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetScsiLun(unsigned short) __ptr64
-?SetScsiLun@NtmsDbDrive@@QEAAKG@Z
-; public: void __cdecl NtmsDbChanger::SetScsiLun_Null(void) __ptr64
-?SetScsiLun_Null@NtmsDbChanger@@QEAAXXZ
-; public: void __cdecl NtmsDbDrive::SetScsiLun_Null(void) __ptr64
-?SetScsiLun_Null@NtmsDbDrive@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbChanger::SetScsiPort(unsigned short) __ptr64
-?SetScsiPort@NtmsDbChanger@@QEAAKG@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetScsiPort(unsigned short) __ptr64
-?SetScsiPort@NtmsDbDrive@@QEAAKG@Z
-; public: void __cdecl NtmsDbChanger::SetScsiPort_Null(void) __ptr64
-?SetScsiPort_Null@NtmsDbChanger@@QEAAXXZ
-; public: void __cdecl NtmsDbDrive::SetScsiPort_Null(void) __ptr64
-?SetScsiPort_Null@NtmsDbDrive@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbChanger::SetScsiTarget(unsigned short) __ptr64
-?SetScsiTarget@NtmsDbChanger@@QEAAKG@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetScsiTarget(unsigned short) __ptr64
-?SetScsiTarget@NtmsDbDrive@@QEAAKG@Z
-; public: void __cdecl NtmsDbChanger::SetScsiTarget_Null(void) __ptr64
-?SetScsiTarget_Null@NtmsDbChanger@@QEAAXXZ
-; public: void __cdecl NtmsDbDrive::SetScsiTarget_Null(void) __ptr64
-?SetScsiTarget_Null@NtmsDbDrive@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbObject::SetSecurityDescriptor(void * __ptr64,unsigned long) __ptr64
-?SetSecurityDescriptor@NtmsDbObject@@QEAAKPEAXK@Z
-; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetSequenceNumber(unsigned short const * __ptr64) __ptr64
-?SetSequenceNumber@NtmsDbPhysicalMedia@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbChanger::SetSerialNumber(char const * __ptr64) __ptr64
-?SetSerialNumber@NtmsDbChanger@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetSerialNumber(char const * __ptr64) __ptr64
-?SetSerialNumber@NtmsDbDrive@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbChanger::SetSerialNumberW(unsigned short const * __ptr64) __ptr64
-?SetSerialNumberW@NtmsDbChanger@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbDrive::SetSerialNumberW(unsigned short const * __ptr64) __ptr64
-?SetSerialNumberW@NtmsDbDrive@@QEAAKPEBG@Z
-; public: void __cdecl NtmsDbChanger::SetSerialNumber_Null(void) __ptr64
-?SetSerialNumber_Null@NtmsDbChanger@@QEAAXXZ
-; public: void __cdecl NtmsDbDrive::SetSerialNumber_Null(void) __ptr64
-?SetSerialNumber_Null@NtmsDbDrive@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbPartition::SetSide(unsigned short) __ptr64
-?SetSide@NtmsDbPartition@@QEAAKG@Z
-; public: void __cdecl NtmsDbList::Map::SetSize(long) __ptr64
-?SetSize@Map@NtmsDbList@@QEAAXJ@Z
-; public: void __cdecl NtmsDbPropHeader::SetSize(short) __ptr64
-?SetSize@NtmsDbPropHeader@@QEAAXF@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetSlotId(class NtmsDbGuid const & __ptr64) __ptr64
-?SetSlotId@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
-; public: void __cdecl NtmsDbLibWorkItem::SetSlotId_Null(void) __ptr64
-?SetSlotId_Null@NtmsDbLibWorkItem@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbStorageSlot::SetSlotNumber(unsigned long) __ptr64
-?SetSlotNumber@NtmsDbStorageSlot@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbStorageSlot::SetSlotState(unsigned long) __ptr64
-?SetSlotState@NtmsDbStorageSlot@@QEAAKK@Z
-; public: void __cdecl NtmsDbFile::SetState(unsigned long) __ptr64
-?SetState@NtmsDbFile@@QEAAXK@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetState(unsigned long) __ptr64
-?SetState@NtmsDbLibWorkItem@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetState(unsigned long) __ptr64
-?SetState@NtmsDbOpRequest@@QEAAKK@Z
-; public: void __cdecl NtmsDbString::SetString(unsigned short const * __ptr64,unsigned long) __ptr64
-?SetString@NtmsDbString@@QEAAXPEBGK@Z
-; public: unsigned long __cdecl NtmsDbLibrary::SetSupportDrvClean(short) __ptr64
-?SetSupportDrvClean@NtmsDbLibrary@@QEAAKF@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetTimeCompleted(struct _SYSTEMTIME) __ptr64
-?SetTimeCompleted@NtmsDbLibWorkItem@@QEAAKU_SYSTEMTIME@@@Z
-; public: void __cdecl NtmsDbLibWorkItem::SetTimeCompleted_Null(void) __ptr64
-?SetTimeCompleted_Null@NtmsDbLibWorkItem@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetTimeQueued(struct _SYSTEMTIME) __ptr64
-?SetTimeQueued@NtmsDbLibWorkItem@@QEAAKU_SYSTEMTIME@@@Z
-; public: void __cdecl NtmsDbLibWorkItem::SetTimeQueued_Null(void) __ptr64
-?SetTimeQueued_Null@NtmsDbLibWorkItem@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbOpRequest::SetTimeSubmitted(struct _SYSTEMTIME) __ptr64
-?SetTimeSubmitted@NtmsDbOpRequest@@QEAAKU_SYSTEMTIME@@@Z
-; public: void __cdecl NtmsDbPropGuid::SetUpToDate(void) __ptr64
-?SetUpToDate@NtmsDbPropGuid@@QEAAXXZ
-; public: unsigned long __cdecl NtmsDbDrive::SetUseCount(unsigned long) __ptr64
-?SetUseCount@NtmsDbDrive@@QEAAKK@Z
-; public: unsigned long __cdecl NtmsDbLibWorkItem::SetUser(unsigned short const * __ptr64) __ptr64
-?SetUser@NtmsDbLibWorkItem@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbOpRequest::SetUser(unsigned short const * __ptr64) __ptr64
-?SetUser@NtmsDbOpRequest@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbChangerType::SetVendor(char const * __ptr64) __ptr64
-?SetVendor@NtmsDbChangerType@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbDriveType::SetVendor(char const * __ptr64) __ptr64
-?SetVendor@NtmsDbDriveType@@QEAAKPEBD@Z
-; public: unsigned long __cdecl NtmsDbChangerType::SetVendorW(unsigned short const * __ptr64) __ptr64
-?SetVendorW@NtmsDbChangerType@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbDriveType::SetVendorW(unsigned short const * __ptr64) __ptr64
-?SetVendorW@NtmsDbDriveType@@QEAAKPEBG@Z
-; public: unsigned long __cdecl NtmsDbMediaType::SetWriteCharacteristics(unsigned long) __ptr64
-?SetWriteCharacteristics@NtmsDbMediaType@@QEAAKK@Z
-; public: static void __cdecl NtmsDbDataCtxt::Shutdown(void)
-?Shutdown@NtmsDbDataCtxt@@SAXXZ
-; public: unsigned short const  __cdecl NtmsDbPartition::Side(void)const  __ptr64
-?Side@NtmsDbPartition@@QEBA?BGXZ
-; public: long __cdecl NtmsDbList::Map::Size(void)const  __ptr64
-?Size@Map@NtmsDbList@@QEBAJXZ
-; public: short __cdecl NtmsDbPropHeader::Size(void)const  __ptr64
-?Size@NtmsDbPropHeader@@QEBAFXZ
-; public: unsigned long __cdecl NtmsDbRecordProp::Size(void)const  __ptr64
-?Size@NtmsDbRecordProp@@QEBAKXZ
-; public: long __cdecl NtmsDbLibWorkItem::SlotId_IsNotNull(void) __ptr64
-?SlotId_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
-; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::SlotId_n(void)const  __ptr64
-?SlotId_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
-; public: unsigned long const  __cdecl NtmsDbStorageSlot::SlotNumber(void)const  __ptr64
-?SlotNumber@NtmsDbStorageSlot@@QEBA?BKXZ
-; public: unsigned long const  __cdecl NtmsDbStorageSlot::SlotState(void)const  __ptr64
-?SlotState@NtmsDbStorageSlot@@QEBA?BKXZ
-; public: unsigned long __cdecl NtmsDbDataCtxt::StartTransaction(void) __ptr64
-?StartTransaction@NtmsDbDataCtxt@@QEAAKXZ
-; public: unsigned long __cdecl NtmsDbFile::State(void) __ptr64
-?State@NtmsDbFile@@QEAAKXZ
-; public: unsigned long const  __cdecl NtmsDbLibWorkItem::State(void)const  __ptr64
-?State@NtmsDbLibWorkItem@@QEBA?BKXZ
-; public: unsigned long __cdecl NtmsDbOpRequest::State(void)const  __ptr64
-?State@NtmsDbOpRequest@@QEBAKXZ
-; public: unsigned long __cdecl NtmsDbSelectionSet::Status(void)const  __ptr64
-?Status@NtmsDbSelectionSet@@QEBAKXZ
-; public: unsigned long __cdecl NtmsDbLibrary::StorageSlots(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
-?StorageSlots@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
-; public: unsigned int __cdecl NtmsDbRecordProp::Store(unsigned char * __ptr64) __ptr64
-?Store@NtmsDbRecordProp@@QEAAIPEAE@Z
-; public: char * __ptr64 __cdecl NtmsDbGuid::StrGuid(char * __ptr64)const  __ptr64
-?StrGuid@NtmsDbGuid@@QEBAPEADPEAD@Z
-; public: unsigned char * __ptr64 __cdecl NtmsDbGuid::StrGuid(unsigned char * __ptr64)const  __ptr64
-?StrGuid@NtmsDbGuid@@QEBAPEAEPEAE@Z
-; public: unsigned short * __ptr64 __cdecl NtmsDbGuid::StrGuidW(unsigned short * __ptr64)const  __ptr64
-?StrGuidW@NtmsDbGuid@@QEBAPEAGPEAG@Z
-; public: unsigned long __cdecl NtmsDbObjTypeDef::SuperType(void)const  __ptr64
-?SuperType@NtmsDbObjTypeDef@@QEBAKXZ
-; public: short const  __cdecl NtmsDbLibrary::SupportDrvClean(void)const  __ptr64
-?SupportDrvClean@NtmsDbLibrary@@QEBA?BFXZ
-; public: short __cdecl NtmsDbRecordKey::Table(void)const  __ptr64
-?Table@NtmsDbRecordKey@@QEBAFXZ
-; public: long __cdecl NtmsDbLibWorkItem::TimeCompleted_IsNotNull(void) __ptr64
-?TimeCompleted_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
-; public: struct _SYSTEMTIME const  __cdecl NtmsDbLibWorkItem::TimeCompleted_n(void)const  __ptr64
-?TimeCompleted_n@NtmsDbLibWorkItem@@QEBA?BU_SYSTEMTIME@@XZ
-; public: long __cdecl NtmsDbLibWorkItem::TimeQueued_IsNotNull(void) __ptr64
-?TimeQueued_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
-; public: struct _SYSTEMTIME const  __cdecl NtmsDbLibWorkItem::TimeQueued_n(void)const  __ptr64
-?TimeQueued_n@NtmsDbLibWorkItem@@QEBA?BU_SYSTEMTIME@@XZ
-; public: struct _SYSTEMTIME const  __cdecl NtmsDbOpRequest::TimeSubmitted(void)const  __ptr64
-?TimeSubmitted@NtmsDbOpRequest@@QEBA?BU_SYSTEMTIME@@XZ
-; public: class NtmsTransaction * __ptr64 __cdecl NtmsDbDataCtxt::Transaction(void) __ptr64
-?Transaction@NtmsDbDataCtxt@@QEAAPEAVNtmsTransaction@@XZ
-; public: class NtmsDbRecordType * __ptr64 __cdecl NtmsDbObjTypeDef::Type(void)const  __ptr64
-?Type@NtmsDbObjTypeDef@@QEBAPEAVNtmsDbRecordType@@XZ
-; public: class NtmsDbPropDataType const & __ptr64 __cdecl NtmsDbPropHeader::Type(void)const  __ptr64
-?Type@NtmsDbPropHeader@@QEBAAEBVNtmsDbPropDataType@@XZ
-; public: unsigned long __cdecl NtmsDbPropertyValue::Type(void) __ptr64
-?Type@NtmsDbPropertyValue@@QEAAKXZ
-; public: class NtmsDbPropDataType const & __ptr64 __cdecl NtmsDbRecordProp::Type(void)const  __ptr64
-?Type@NtmsDbRecordProp@@QEBAAEBVNtmsDbPropDataType@@XZ
-; public: char const * __ptr64 __cdecl NtmsDbObjTypeDef::TypeName(void)const  __ptr64
-?TypeName@NtmsDbObjTypeDef@@QEBAPEBDXZ
-; public: char const * __ptr64 __cdecl NtmsDbObjTypeDef::TypeNameAbbrev(void)const  __ptr64
-?TypeNameAbbrev@NtmsDbObjTypeDef@@QEBAPEBDXZ
-; public: virtual unsigned long __cdecl NtmsDbObject::Update(class NtmsDbDataCtxt * __ptr64) __ptr64
-?Update@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
-; public: virtual unsigned long __cdecl NtmsDbObject::UpdateRegardless(class NtmsDbDataCtxt * __ptr64) __ptr64
-?UpdateRegardless@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
-; public: unsigned long const  __cdecl NtmsDbDrive::UseCount(void)const  __ptr64
-?UseCount@NtmsDbDrive@@QEBA?BKXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbLibWorkItem::User(void)const  __ptr64
-?User@NtmsDbLibWorkItem@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbOpRequest::User(void)const  __ptr64
-?User@NtmsDbOpRequest@@QEBAPEBGXZ
-; public: void __cdecl NtmsDbList::Map::Validate(void) __ptr64
-?Validate@Map@NtmsDbList@@QEAAXXZ
-; protected: virtual unsigned int __cdecl NtmsDbObject::ValueIsNotNull(long)const  __ptr64
-?ValueIsNotNull@NtmsDbObject@@MEBAIJ@Z
-; public: char const * __ptr64 __cdecl NtmsDbChangerType::Vendor(void) __ptr64
-?Vendor@NtmsDbChangerType@@QEAAPEBDXZ
-; public: char const * __ptr64 __cdecl NtmsDbDriveType::Vendor(void) __ptr64
-?Vendor@NtmsDbDriveType@@QEAAPEBDXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbChangerType::VendorW(void)const  __ptr64
-?VendorW@NtmsDbChangerType@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl NtmsDbDriveType::VendorW(void)const  __ptr64
-?VendorW@NtmsDbDriveType@@QEBAPEBGXZ
-; public: void __cdecl NtmsDbGuid::Win32Guid(struct _GUID & __ptr64)const  __ptr64
-?Win32Guid@NtmsDbGuid@@QEBAXAEAU_GUID@@@Z
-; public: unsigned long __cdecl NtmsDbObject::WriteAttribute(class NtmsDbPropertyValue & __ptr64) __ptr64
-?WriteAttribute@NtmsDbObject@@QEAAKAEAVNtmsDbPropertyValue@@@Z
-; public: unsigned long const  __cdecl NtmsDbMediaType::WriteCharacteristics(void)const  __ptr64
-?WriteCharacteristics@NtmsDbMediaType@@QEBA?BKXZ
-; protected: void __cdecl NtmsDbObject::WriteObjectRecord(class NtmsDbDataCtxt * __ptr64,class NtmsDbRecordKey & __ptr64,class NtmsDbRecordRev & __ptr64,class NtmsDbRecordPropList * __ptr64) __ptr64
-?WriteObjectRecord@NtmsDbObject@@IEAAXPEAVNtmsDbDataCtxt@@AEAVNtmsDbRecordKey@@AEAVNtmsDbRecordRev@@PEAVNtmsDbRecordPropList@@@Z
-; public: struct _GUID const & __ptr64 __cdecl NtmsDbGuid::_id(void)const  __ptr64
-?_id@NtmsDbGuid@@QEBAAEBU_GUID@@XZ
-; public: unsigned long __cdecl NtmsDbObject::countRelatedObjects(long) __ptr64
-?countRelatedObjects@NtmsDbObject@@QEAAKJ@Z
-; public: unsigned long __cdecl NtmsDbObject::getRelatedObjects(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64,long) __ptr64
-?getRelatedObjects@NtmsDbObject@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@J@Z
-; public: char const * __ptr64 __cdecl NtmsDbTypeGuid::id(void)const  __ptr64
-?id@NtmsDbTypeGuid@@QEBAPEBDXZ
-; private: static void * __ptr64  __ptr64 NtmsDbDataCtxt::m_ChangeMutex
-?m_ChangeMutex@NtmsDbDataCtxt@@0PEAXEA DATA
-; public: static class ChangeRegistration * __ptr64  __ptr64 NtmsDbDataCtxt::m_ChangeTable
-?m_ChangeTable@NtmsDbDataCtxt@@2PEAVChangeRegistration@@EA DATA
-; private: static class NtmsDbRecordType  NtmsDbChanger::m_Type
-?m_Type@NtmsDbChanger@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbChangerType::m_Type
-?m_Type@NtmsDbChangerType@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbComputer::m_Type
-?m_Type@NtmsDbComputer@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbDrive::m_Type
-?m_Type@NtmsDbDrive@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbDriveType::m_Type
-?m_Type@NtmsDbDriveType@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbIEDoor::m_Type
-?m_Type@NtmsDbIEDoor@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbIEPort::m_Type
-?m_Type@NtmsDbIEPort@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbLibWorkItem::m_Type
-?m_Type@NtmsDbLibWorkItem@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbLibrary::m_Type
-?m_Type@NtmsDbLibrary@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbLogicalMedia::m_Type
-?m_Type@NtmsDbLogicalMedia@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbMediaPool::m_Type
-?m_Type@NtmsDbMediaPool@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbMediaType::m_Type
-?m_Type@NtmsDbMediaType@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbObject::m_Type
-?m_Type@NtmsDbObject@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbOpRequest::m_Type
-?m_Type@NtmsDbOpRequest@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbPartition::m_Type
-?m_Type@NtmsDbPartition@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbPhysicalMedia::m_Type
-?m_Type@NtmsDbPhysicalMedia@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbStorageSlot::m_Type
-?m_Type@NtmsDbStorageSlot@@0VNtmsDbRecordType@@A DATA
-; private: static class NtmsDbRecordType  NtmsDbUIDestination::m_Type
-?m_Type@NtmsDbUIDestination@@0VNtmsDbRecordType@@A DATA
-; private: static int  NtmsDbDataCtxt::m_locked
-?m_locked@NtmsDbDataCtxt@@0HA DATA
-; public: char const * __ptr64 __cdecl NtmsDbError::messageString(void)const  __ptr64
-?messageString@NtmsDbError@@QEBAPEBDXZ
+; 
+; Exports of file NTMSDBA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTMSDBA.dll
+EXPORTS
+; public: __cdecl NtmsDbList::Map::Map(void) __ptr64
+??0Map@NtmsDbList@@QEAA@XZ
+; public: __cdecl NtmsDatabase::NtmsDatabase(class NtmsDatabase const & __ptr64) __ptr64
+??0NtmsDatabase@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbChanger::NtmsDbChanger(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbChanger@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbChanger::NtmsDbChanger(void) __ptr64
+??0NtmsDbChanger@@QEAA@XZ
+; public: __cdecl NtmsDbChangerType::NtmsDbChangerType(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbChangerType@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbChangerType::NtmsDbChangerType(void) __ptr64
+??0NtmsDbChangerType@@QEAA@XZ
+; public: __cdecl NtmsDbComputer::NtmsDbComputer(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbComputer@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbComputer::NtmsDbComputer(void) __ptr64
+??0NtmsDbComputer@@QEAA@XZ
+; public: __cdecl NtmsDbDataCtxt::NtmsDbDataCtxt(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0NtmsDbDataCtxt@@QEAA@PEBG0@Z
+; public: __cdecl NtmsDbDrive::NtmsDbDrive(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbDrive@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbDrive::NtmsDbDrive(void) __ptr64
+??0NtmsDbDrive@@QEAA@XZ
+; public: __cdecl NtmsDbDriveType::NtmsDbDriveType(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbDriveType@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbDriveType::NtmsDbDriveType(void) __ptr64
+??0NtmsDbDriveType@@QEAA@XZ
+; public: __cdecl NtmsDbError::NtmsDbError(void) __ptr64
+??0NtmsDbError@@QEAA@XZ
+; public: __cdecl NtmsDbFile::NtmsDbFile(class NtmsDbFile const & __ptr64) __ptr64
+??0NtmsDbFile@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbGuid::NtmsDbGuid(struct _GUID const & __ptr64) __ptr64
+??0NtmsDbGuid@@QEAA@AEBU_GUID@@@Z
+; public: __cdecl NtmsDbGuid::NtmsDbGuid(class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbGuid@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbGuid::NtmsDbGuid(char const * __ptr64) __ptr64
+??0NtmsDbGuid@@QEAA@PEBD@Z
+; public: __cdecl NtmsDbGuid::NtmsDbGuid(unsigned char const * __ptr64) __ptr64
+??0NtmsDbGuid@@QEAA@PEBE@Z
+; public: __cdecl NtmsDbGuid::NtmsDbGuid(struct _GUID const * __ptr64) __ptr64
+??0NtmsDbGuid@@QEAA@PEBU_GUID@@@Z
+; public: __cdecl NtmsDbGuid::NtmsDbGuid(void) __ptr64
+??0NtmsDbGuid@@QEAA@XZ
+; public: __cdecl NtmsDbIEDoor::NtmsDbIEDoor(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbIEDoor@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbIEDoor::NtmsDbIEDoor(void) __ptr64
+??0NtmsDbIEDoor@@QEAA@XZ
+; public: __cdecl NtmsDbIEPort::NtmsDbIEPort(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbIEPort@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbIEPort::NtmsDbIEPort(void) __ptr64
+??0NtmsDbIEPort@@QEAA@XZ
+; public: __cdecl NtmsDbLibWorkItem::NtmsDbLibWorkItem(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbLibWorkItem@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbLibWorkItem::NtmsDbLibWorkItem(void) __ptr64
+??0NtmsDbLibWorkItem@@QEAA@XZ
+; public: __cdecl NtmsDbLibrary::NtmsDbLibrary(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbLibrary@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbLibrary::NtmsDbLibrary(void) __ptr64
+??0NtmsDbLibrary@@QEAA@XZ
+; public: __cdecl NtmsDbLinkedGuid::NtmsDbLinkedGuid(class NtmsDbLinkedGuid const & __ptr64) __ptr64
+??0NtmsDbLinkedGuid@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbLinkedGuid::NtmsDbLinkedGuid(void) __ptr64
+??0NtmsDbLinkedGuid@@QEAA@XZ
+; public: __cdecl NtmsDbList::NtmsDbList(class NtmsDbList const & __ptr64) __ptr64
+??0NtmsDbList@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbList::NtmsDbList(int) __ptr64
+??0NtmsDbList@@QEAA@H@Z
+; public: __cdecl NtmsDbLogicalMedia::NtmsDbLogicalMedia(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbLogicalMedia@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbLogicalMedia::NtmsDbLogicalMedia(void) __ptr64
+??0NtmsDbLogicalMedia@@QEAA@XZ
+; public: __cdecl NtmsDbMediaPool::NtmsDbMediaPool(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbMediaPool@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbMediaPool::NtmsDbMediaPool(void) __ptr64
+??0NtmsDbMediaPool@@QEAA@XZ
+; public: __cdecl NtmsDbMediaType::NtmsDbMediaType(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbMediaType@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbMediaType::NtmsDbMediaType(void) __ptr64
+??0NtmsDbMediaType@@QEAA@XZ
+; public: __cdecl NtmsDbObjTypeDef::NtmsDbObjTypeDef(char * __ptr64,char * __ptr64,unsigned long,unsigned long,class NtmsDbRecordType * __ptr64) __ptr64
+??0NtmsDbObjTypeDef@@QEAA@PEAD0KKPEAVNtmsDbRecordType@@@Z
+; public: __cdecl NtmsDbObject::NtmsDbObject(class NtmsDbObject const & __ptr64) __ptr64
+??0NtmsDbObject@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbObject::NtmsDbObject(unsigned long) __ptr64
+??0NtmsDbObject@@QEAA@K@Z
+; public: __cdecl NtmsDbObject::NtmsDbObject(class NtmsDbDataCtxt * __ptr64,unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbObject@@QEAA@PEAVNtmsDbDataCtxt@@KAEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbObject::NtmsDbObject(void) __ptr64
+??0NtmsDbObject@@QEAA@XZ
+; public: __cdecl NtmsDbOpRequest::NtmsDbOpRequest(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbOpRequest@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbOpRequest::NtmsDbOpRequest(void) __ptr64
+??0NtmsDbOpRequest@@QEAA@XZ
+; public: __cdecl NtmsDbPartition::NtmsDbPartition(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbPartition@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbPartition::NtmsDbPartition(void) __ptr64
+??0NtmsDbPartition@@QEAA@XZ
+; public: __cdecl NtmsDbPhysicalMedia::NtmsDbPhysicalMedia(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbPhysicalMedia@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbPhysicalMedia::NtmsDbPhysicalMedia(void) __ptr64
+??0NtmsDbPhysicalMedia@@QEAA@XZ
+; public: __cdecl NtmsDbPropBinary::NtmsDbPropBinary(void) __ptr64
+??0NtmsDbPropBinary@@QEAA@XZ
+; public: __cdecl NtmsDbPropChar::NtmsDbPropChar(void) __ptr64
+??0NtmsDbPropChar@@QEAA@XZ
+; public: __cdecl NtmsDbPropDataType::NtmsDbPropDataType(short) __ptr64
+??0NtmsDbPropDataType@@QEAA@F@Z
+; public: __cdecl NtmsDbPropDataType::NtmsDbPropDataType(void) __ptr64
+??0NtmsDbPropDataType@@QEAA@XZ
+; public: __cdecl NtmsDbPropDouble::NtmsDbPropDouble(void) __ptr64
+??0NtmsDbPropDouble@@QEAA@XZ
+; public: __cdecl NtmsDbPropGuid::NtmsDbPropGuid(void) __ptr64
+??0NtmsDbPropGuid@@QEAA@XZ
+; public: __cdecl NtmsDbPropHeader::NtmsDbPropHeader(void) __ptr64
+??0NtmsDbPropHeader@@QEAA@XZ
+; public: __cdecl NtmsDbPropLargeInt::NtmsDbPropLargeInt(void) __ptr64
+??0NtmsDbPropLargeInt@@QEAA@XZ
+; public: __cdecl NtmsDbPropLong::NtmsDbPropLong(void) __ptr64
+??0NtmsDbPropLong@@QEAA@XZ
+; public: __cdecl NtmsDbPropRelation::NtmsDbPropRelation(void) __ptr64
+??0NtmsDbPropRelation@@QEAA@XZ
+; public: __cdecl NtmsDbPropShort::NtmsDbPropShort(void) __ptr64
+??0NtmsDbPropShort@@QEAA@XZ
+; public: __cdecl NtmsDbPropTimeDate::NtmsDbPropTimeDate(void) __ptr64
+??0NtmsDbPropTimeDate@@QEAA@XZ
+; public: __cdecl NtmsDbProperty::NtmsDbProperty(class NtmsDbRecordProp * __ptr64) __ptr64
+??0NtmsDbProperty@@QEAA@PEAVNtmsDbRecordProp@@@Z
+; public: __cdecl NtmsDbProperty::NtmsDbProperty(void) __ptr64
+??0NtmsDbProperty@@QEAA@XZ
+; public: __cdecl NtmsDbPropertyValue::NtmsDbPropertyValue(long) __ptr64
+??0NtmsDbPropertyValue@@QEAA@J@Z
+; public: __cdecl NtmsDbPropertyValue::NtmsDbPropertyValue(class NtmsDbRecordPropList * __ptr64,long) __ptr64
+??0NtmsDbPropertyValue@@QEAA@PEAVNtmsDbRecordPropList@@J@Z
+; public: __cdecl NtmsDbRecordKey::NtmsDbRecordKey(class NtmsDbRecordKey const & __ptr64) __ptr64
+??0NtmsDbRecordKey@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbRecordKey::NtmsDbRecordKey(class NtmsDbRecordType const & __ptr64) __ptr64
+??0NtmsDbRecordKey@@QEAA@AEBVNtmsDbRecordType@@@Z
+; public: __cdecl NtmsDbRecordKey::NtmsDbRecordKey(short,unsigned long) __ptr64
+??0NtmsDbRecordKey@@QEAA@FK@Z
+; public: __cdecl NtmsDbRecordKey::NtmsDbRecordKey(void) __ptr64
+??0NtmsDbRecordKey@@QEAA@XZ
+; public: __cdecl NtmsDbRecordKeyList::NtmsDbRecordKeyList(class NtmsDbRecordKeyList const & __ptr64) __ptr64
+??0NtmsDbRecordKeyList@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbRecordKeyList::NtmsDbRecordKeyList(void) __ptr64
+??0NtmsDbRecordKeyList@@QEAA@XZ
+; public: __cdecl NtmsDbRecordProp::NtmsDbRecordProp(void) __ptr64
+??0NtmsDbRecordProp@@QEAA@XZ
+; public: __cdecl NtmsDbRecordPropList::NtmsDbRecordPropList(class NtmsDbRecordPropList const & __ptr64) __ptr64
+??0NtmsDbRecordPropList@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbRecordPropList::NtmsDbRecordPropList(long) __ptr64
+??0NtmsDbRecordPropList@@QEAA@J@Z
+; public: __cdecl NtmsDbRecordPropList::NtmsDbRecordPropList(void) __ptr64
+??0NtmsDbRecordPropList@@QEAA@XZ
+; public: __cdecl NtmsDbRecordRev::NtmsDbRecordRev(unsigned long) __ptr64
+??0NtmsDbRecordRev@@QEAA@K@Z
+; public: __cdecl NtmsDbRecordRev::NtmsDbRecordRev(void) __ptr64
+??0NtmsDbRecordRev@@QEAA@XZ
+; public: __cdecl NtmsDbRecordType::NtmsDbRecordType(short) __ptr64
+??0NtmsDbRecordType@@QEAA@F@Z
+; public: __cdecl NtmsDbRecordType::NtmsDbRecordType(void) __ptr64
+??0NtmsDbRecordType@@QEAA@XZ
+; public: __cdecl NtmsDbRecordUniqueKey::NtmsDbRecordUniqueKey(class NtmsDbRecordUniqueKey const & __ptr64) __ptr64
+??0NtmsDbRecordUniqueKey@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbRecordUniqueKey::NtmsDbRecordUniqueKey(class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbRecordUniqueKey@@QEAA@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbRecordUniqueKey::NtmsDbRecordUniqueKey(class NtmsDbRecordKey const & __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbRecordUniqueKey@@QEAA@AEBVNtmsDbRecordKey@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbRecordUniqueKey::NtmsDbRecordUniqueKey(void) __ptr64
+??0NtmsDbRecordUniqueKey@@QEAA@XZ
+; public: __cdecl NtmsDbSelectionSet::NtmsDbSelectionSet(class NtmsDbSelectionSet const & __ptr64) __ptr64
+??0NtmsDbSelectionSet@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbSelectionSet::NtmsDbSelectionSet(class NtmsDbDataCtxt * __ptr64,unsigned long) __ptr64
+??0NtmsDbSelectionSet@@QEAA@PEAVNtmsDbDataCtxt@@K@Z
+; public: __cdecl NtmsDbSelectionSet::NtmsDbSelectionSet(void) __ptr64
+??0NtmsDbSelectionSet@@QEAA@XZ
+; public: __cdecl NtmsDbStorageSlot::NtmsDbStorageSlot(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbStorageSlot@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbStorageSlot::NtmsDbStorageSlot(void) __ptr64
+??0NtmsDbStorageSlot@@QEAA@XZ
+; public: __cdecl NtmsDbString::NtmsDbString(class NtmsDbString const & __ptr64) __ptr64
+??0NtmsDbString@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbString::NtmsDbString(char const * __ptr64) __ptr64
+??0NtmsDbString@@QEAA@PEBD@Z
+; public: __cdecl NtmsDbString::NtmsDbString(void) __ptr64
+??0NtmsDbString@@QEAA@XZ
+; public: __cdecl NtmsDbString::NtmsDbString(unsigned __int64) __ptr64
+??0NtmsDbString@@QEAA@_K@Z
+; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(struct _GUID const & __ptr64) __ptr64
+??0NtmsDbTypeGuid@@QEAA@AEBU_GUID@@@Z
+; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(class NtmsDbTypeGuid const & __ptr64) __ptr64
+??0NtmsDbTypeGuid@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbTypeGuid@@QEAA@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(char const * __ptr64) __ptr64
+??0NtmsDbTypeGuid@@QEAA@PEBD@Z
+; public: __cdecl NtmsDbTypeGuid::NtmsDbTypeGuid(void) __ptr64
+??0NtmsDbTypeGuid@@QEAA@XZ
+; public: __cdecl NtmsDbUIDestination::NtmsDbUIDestination(class NtmsDbDataCtxt * __ptr64,class NtmsDbGuid const & __ptr64) __ptr64
+??0NtmsDbUIDestination@@QEAA@PEAVNtmsDbDataCtxt@@AEBVNtmsDbGuid@@@Z
+; public: __cdecl NtmsDbUIDestination::NtmsDbUIDestination(void) __ptr64
+??0NtmsDbUIDestination@@QEAA@XZ
+; public: __cdecl NtmsPropMetaInfo::NtmsPropMetaInfo(long,char const * __ptr64) __ptr64
+??0NtmsPropMetaInfo@@QEAA@JPEBD@Z
+; public: __cdecl NtmsTransaction::NtmsTransaction(class NtmsTransaction const & __ptr64) __ptr64
+??0NtmsTransaction@@QEAA@AEBV0@@Z
+; public: __cdecl NtmsDbList::Map::~Map(void) __ptr64
+??1Map@NtmsDbList@@QEAA@XZ
+; public: virtual __cdecl NtmsDbChanger::~NtmsDbChanger(void) __ptr64
+??1NtmsDbChanger@@UEAA@XZ
+; public: virtual __cdecl NtmsDbChangerType::~NtmsDbChangerType(void) __ptr64
+??1NtmsDbChangerType@@UEAA@XZ
+; public: virtual __cdecl NtmsDbComputer::~NtmsDbComputer(void) __ptr64
+??1NtmsDbComputer@@UEAA@XZ
+; public: __cdecl NtmsDbDataCtxt::~NtmsDbDataCtxt(void) __ptr64
+??1NtmsDbDataCtxt@@QEAA@XZ
+; public: virtual __cdecl NtmsDbDrive::~NtmsDbDrive(void) __ptr64
+??1NtmsDbDrive@@UEAA@XZ
+; public: virtual __cdecl NtmsDbDriveType::~NtmsDbDriveType(void) __ptr64
+??1NtmsDbDriveType@@UEAA@XZ
+; public: virtual __cdecl NtmsDbIEDoor::~NtmsDbIEDoor(void) __ptr64
+??1NtmsDbIEDoor@@UEAA@XZ
+; public: virtual __cdecl NtmsDbIEPort::~NtmsDbIEPort(void) __ptr64
+??1NtmsDbIEPort@@UEAA@XZ
+; public: virtual __cdecl NtmsDbLibWorkItem::~NtmsDbLibWorkItem(void) __ptr64
+??1NtmsDbLibWorkItem@@UEAA@XZ
+; public: virtual __cdecl NtmsDbLibrary::~NtmsDbLibrary(void) __ptr64
+??1NtmsDbLibrary@@UEAA@XZ
+; public: __cdecl NtmsDbLinkedGuid::~NtmsDbLinkedGuid(void) __ptr64
+??1NtmsDbLinkedGuid@@QEAA@XZ
+; public: virtual __cdecl NtmsDbList::~NtmsDbList(void) __ptr64
+??1NtmsDbList@@UEAA@XZ
+; public: virtual __cdecl NtmsDbLogicalMedia::~NtmsDbLogicalMedia(void) __ptr64
+??1NtmsDbLogicalMedia@@UEAA@XZ
+; public: virtual __cdecl NtmsDbMediaPool::~NtmsDbMediaPool(void) __ptr64
+??1NtmsDbMediaPool@@UEAA@XZ
+; public: virtual __cdecl NtmsDbMediaType::~NtmsDbMediaType(void) __ptr64
+??1NtmsDbMediaType@@UEAA@XZ
+; public: virtual __cdecl NtmsDbObject::~NtmsDbObject(void) __ptr64
+??1NtmsDbObject@@UEAA@XZ
+; public: virtual __cdecl NtmsDbOpRequest::~NtmsDbOpRequest(void) __ptr64
+??1NtmsDbOpRequest@@UEAA@XZ
+; public: virtual __cdecl NtmsDbPartition::~NtmsDbPartition(void) __ptr64
+??1NtmsDbPartition@@UEAA@XZ
+; public: virtual __cdecl NtmsDbPhysicalMedia::~NtmsDbPhysicalMedia(void) __ptr64
+??1NtmsDbPhysicalMedia@@UEAA@XZ
+; public: __cdecl NtmsDbPropBinary::~NtmsDbPropBinary(void) __ptr64
+??1NtmsDbPropBinary@@QEAA@XZ
+; public: __cdecl NtmsDbPropChar::~NtmsDbPropChar(void) __ptr64
+??1NtmsDbPropChar@@QEAA@XZ
+; public: __cdecl NtmsDbPropDouble::~NtmsDbPropDouble(void) __ptr64
+??1NtmsDbPropDouble@@QEAA@XZ
+; public: __cdecl NtmsDbPropGuid::~NtmsDbPropGuid(void) __ptr64
+??1NtmsDbPropGuid@@QEAA@XZ
+; public: __cdecl NtmsDbPropHeader::~NtmsDbPropHeader(void) __ptr64
+??1NtmsDbPropHeader@@QEAA@XZ
+; public: __cdecl NtmsDbPropLargeInt::~NtmsDbPropLargeInt(void) __ptr64
+??1NtmsDbPropLargeInt@@QEAA@XZ
+; public: __cdecl NtmsDbPropLong::~NtmsDbPropLong(void) __ptr64
+??1NtmsDbPropLong@@QEAA@XZ
+; public: __cdecl NtmsDbPropRecordClass::~NtmsDbPropRecordClass(void) __ptr64
+??1NtmsDbPropRecordClass@@QEAA@XZ
+; public: __cdecl NtmsDbPropRelation::~NtmsDbPropRelation(void) __ptr64
+??1NtmsDbPropRelation@@QEAA@XZ
+; public: __cdecl NtmsDbPropShort::~NtmsDbPropShort(void) __ptr64
+??1NtmsDbPropShort@@QEAA@XZ
+; public: __cdecl NtmsDbPropTimeDate::~NtmsDbPropTimeDate(void) __ptr64
+??1NtmsDbPropTimeDate@@QEAA@XZ
+; public: virtual __cdecl NtmsDbPropertyValue::~NtmsDbPropertyValue(void) __ptr64
+??1NtmsDbPropertyValue@@UEAA@XZ
+; public: virtual __cdecl NtmsDbRecordKeyList::~NtmsDbRecordKeyList(void) __ptr64
+??1NtmsDbRecordKeyList@@UEAA@XZ
+; public: __cdecl NtmsDbRecordProp::~NtmsDbRecordProp(void) __ptr64
+??1NtmsDbRecordProp@@QEAA@XZ
+; public: __cdecl NtmsDbRecordPropList::~NtmsDbRecordPropList(void) __ptr64
+??1NtmsDbRecordPropList@@QEAA@XZ
+; public: virtual __cdecl NtmsDbSelectionSet::~NtmsDbSelectionSet(void) __ptr64
+??1NtmsDbSelectionSet@@UEAA@XZ
+; public: virtual __cdecl NtmsDbStorageSlot::~NtmsDbStorageSlot(void) __ptr64
+??1NtmsDbStorageSlot@@UEAA@XZ
+; public: __cdecl NtmsDbString::~NtmsDbString(void) __ptr64
+??1NtmsDbString@@QEAA@XZ
+; public: virtual __cdecl NtmsDbUIDestination::~NtmsDbUIDestination(void) __ptr64
+??1NtmsDbUIDestination@@UEAA@XZ
+; public: class NtmsDbList::Map & __ptr64 __cdecl NtmsDbList::Map::operator=(class NtmsDbList::Map const & __ptr64) __ptr64
+??4Map@NtmsDbList@@QEAAAEAV01@AEBV01@@Z
+; public: class NtmsDatabase & __ptr64 __cdecl NtmsDatabase::operator=(class NtmsDatabase const & __ptr64) __ptr64
+??4NtmsDatabase@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbChanger & __ptr64 __cdecl NtmsDbChanger::operator=(class NtmsDbChanger & __ptr64) __ptr64
+??4NtmsDbChanger@@QEAAAEAV0@AEAV0@@Z
+; public: class NtmsDbChangerType & __ptr64 __cdecl NtmsDbChangerType::operator=(class NtmsDbChangerType & __ptr64) __ptr64
+??4NtmsDbChangerType@@QEAAAEAV0@AEAV0@@Z
+; public: class NtmsDbComputer & __ptr64 __cdecl NtmsDbComputer::operator=(class NtmsDbComputer const & __ptr64) __ptr64
+??4NtmsDbComputer@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbDataCtxt const & __ptr64 __cdecl NtmsDbDataCtxt::operator=(class NtmsDbDataCtxt const & __ptr64) __ptr64
+??4NtmsDbDataCtxt@@QEAAAEBV0@AEBV0@@Z
+; public: class NtmsDbDrive & __ptr64 __cdecl NtmsDbDrive::operator=(class NtmsDbDrive & __ptr64) __ptr64
+??4NtmsDbDrive@@QEAAAEAV0@AEAV0@@Z
+; public: class NtmsDbDriveType & __ptr64 __cdecl NtmsDbDriveType::operator=(class NtmsDbDriveType & __ptr64) __ptr64
+??4NtmsDbDriveType@@QEAAAEAV0@AEAV0@@Z
+; public: class NtmsDbError & __ptr64 __cdecl NtmsDbError::operator=(class NtmsDbError const & __ptr64) __ptr64
+??4NtmsDbError@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbError & __ptr64 __cdecl NtmsDbError::operator=(unsigned long) __ptr64
+??4NtmsDbError@@QEAAAEAV0@K@Z
+; public: class NtmsDbFile & __ptr64 __cdecl NtmsDbFile::operator=(class NtmsDbFile const & __ptr64) __ptr64
+??4NtmsDbFile@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbGuid::operator=(struct _GUID const & __ptr64) __ptr64
+??4NtmsDbGuid@@QEAAAEAV0@AEBU_GUID@@@Z
+; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbGuid::operator=(class NtmsDbGuid const & __ptr64) __ptr64
+??4NtmsDbGuid@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbGuid::operator=(char const * __ptr64) __ptr64
+??4NtmsDbGuid@@QEAAAEAV0@PEBD@Z
+; public: class NtmsDbIEDoor & __ptr64 __cdecl NtmsDbIEDoor::operator=(class NtmsDbIEDoor const & __ptr64) __ptr64
+??4NtmsDbIEDoor@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbIEPort & __ptr64 __cdecl NtmsDbIEPort::operator=(class NtmsDbIEPort const & __ptr64) __ptr64
+??4NtmsDbIEPort@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbLibWorkItem & __ptr64 __cdecl NtmsDbLibWorkItem::operator=(class NtmsDbLibWorkItem const & __ptr64) __ptr64
+??4NtmsDbLibWorkItem@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbLibrary & __ptr64 __cdecl NtmsDbLibrary::operator=(class NtmsDbLibrary const & __ptr64) __ptr64
+??4NtmsDbLibrary@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbLinkedGuid & __ptr64 __cdecl NtmsDbLinkedGuid::operator=(class NtmsDbLinkedGuid const & __ptr64) __ptr64
+??4NtmsDbLinkedGuid@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbLinkedGuid::operator=(class NtmsDbGuid const & __ptr64) __ptr64
+??4NtmsDbLinkedGuid@@QEAAAEAVNtmsDbGuid@@AEBV1@@Z
+; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator=(class NtmsDbList const & __ptr64) __ptr64
+??4NtmsDbList@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbListItem & __ptr64 __cdecl NtmsDbListItem::operator=(class NtmsDbListItem const & __ptr64) __ptr64
+??4NtmsDbListItem@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbLogicalMedia & __ptr64 __cdecl NtmsDbLogicalMedia::operator=(class NtmsDbLogicalMedia const & __ptr64) __ptr64
+??4NtmsDbLogicalMedia@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbMediaPool & __ptr64 __cdecl NtmsDbMediaPool::operator=(class NtmsDbMediaPool const & __ptr64) __ptr64
+??4NtmsDbMediaPool@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbMediaType & __ptr64 __cdecl NtmsDbMediaType::operator=(class NtmsDbMediaType const & __ptr64) __ptr64
+??4NtmsDbMediaType@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbObjTypeDef & __ptr64 __cdecl NtmsDbObjTypeDef::operator=(class NtmsDbObjTypeDef const & __ptr64) __ptr64
+??4NtmsDbObjTypeDef@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbObject & __ptr64 __cdecl NtmsDbObject::operator=(class NtmsDbObject const & __ptr64) __ptr64
+??4NtmsDbObject@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbOpRequest & __ptr64 __cdecl NtmsDbOpRequest::operator=(class NtmsDbOpRequest const & __ptr64) __ptr64
+??4NtmsDbOpRequest@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPartition & __ptr64 __cdecl NtmsDbPartition::operator=(class NtmsDbPartition const & __ptr64) __ptr64
+??4NtmsDbPartition@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPhysicalMedia & __ptr64 __cdecl NtmsDbPhysicalMedia::operator=(class NtmsDbPhysicalMedia & __ptr64) __ptr64
+??4NtmsDbPhysicalMedia@@QEAAAEAV0@AEAV0@@Z
+; public: class NtmsDbPropBinary & __ptr64 __cdecl NtmsDbPropBinary::operator=(class NtmsDbPropBinary const & __ptr64) __ptr64
+??4NtmsDbPropBinary@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPropChar & __ptr64 __cdecl NtmsDbPropChar::operator=(class NtmsDbPropChar const & __ptr64) __ptr64
+??4NtmsDbPropChar@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPropDataType & __ptr64 __cdecl NtmsDbPropDataType::operator=(class NtmsDbPropDataType & __ptr64) __ptr64
+??4NtmsDbPropDataType@@QEAAAEAV0@AEAV0@@Z
+; public: class NtmsDbPropDataType & __ptr64 __cdecl NtmsDbPropDataType::operator=(short) __ptr64
+??4NtmsDbPropDataType@@QEAAAEAV0@F@Z
+; public: class NtmsDbPropDouble & __ptr64 __cdecl NtmsDbPropDouble::operator=(class NtmsDbPropDouble const & __ptr64) __ptr64
+??4NtmsDbPropDouble@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPropGuid & __ptr64 __cdecl NtmsDbPropGuid::operator=(class NtmsDbPropGuid const & __ptr64) __ptr64
+??4NtmsDbPropGuid@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPropHeader const & __ptr64 __cdecl NtmsDbPropHeader::operator=(class NtmsDbPropHeader const & __ptr64) __ptr64
+??4NtmsDbPropHeader@@QEAAAEBV0@AEBV0@@Z
+; public: class NtmsDbPropLargeInt & __ptr64 __cdecl NtmsDbPropLargeInt::operator=(class NtmsDbPropLargeInt const & __ptr64) __ptr64
+??4NtmsDbPropLargeInt@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPropLong & __ptr64 __cdecl NtmsDbPropLong::operator=(class NtmsDbPropLong const & __ptr64) __ptr64
+??4NtmsDbPropLong@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPropRecordClass & __ptr64 __cdecl NtmsDbPropRecordClass::operator=(class NtmsDbPropRecordClass const & __ptr64) __ptr64
+??4NtmsDbPropRecordClass@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPropRelation & __ptr64 __cdecl NtmsDbPropRelation::operator=(class NtmsDbPropRelation & __ptr64) __ptr64
+??4NtmsDbPropRelation@@QEAAAEAV0@AEAV0@@Z
+; public: class NtmsDbPropShort & __ptr64 __cdecl NtmsDbPropShort::operator=(class NtmsDbPropShort const & __ptr64) __ptr64
+??4NtmsDbPropShort@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPropTimeDate & __ptr64 __cdecl NtmsDbPropTimeDate::operator=(class NtmsDbPropTimeDate const & __ptr64) __ptr64
+??4NtmsDbPropTimeDate@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbProperty & __ptr64 __cdecl NtmsDbProperty::operator=(class NtmsDbProperty const & __ptr64) __ptr64
+??4NtmsDbProperty@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(short) __ptr64
+??4NtmsDbPropertyValue@@QEAAAEBV0@F@Z
+; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(unsigned short) __ptr64
+??4NtmsDbPropertyValue@@QEAAAEBV0@G@Z
+; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(int) __ptr64
+??4NtmsDbPropertyValue@@QEAAAEBV0@H@Z
+; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(unsigned int) __ptr64
+??4NtmsDbPropertyValue@@QEAAAEBV0@I@Z
+; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(long) __ptr64
+??4NtmsDbPropertyValue@@QEAAAEBV0@J@Z
+; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(unsigned long) __ptr64
+??4NtmsDbPropertyValue@@QEAAAEBV0@K@Z
+; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(float) __ptr64
+??4NtmsDbPropertyValue@@QEAAAEBV0@M@Z
+; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(double) __ptr64
+??4NtmsDbPropertyValue@@QEAAAEBV0@N@Z
+; public: class NtmsDbPropertyValue const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(char const * __ptr64) __ptr64
+??4NtmsDbPropertyValue@@QEAAAEBV0@PEBD@Z
+; public: virtual class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbPropertyValue::operator=(class NtmsDbGuid const & __ptr64) __ptr64
+??4NtmsDbPropertyValue@@UEAAAEBVNtmsDbRecordProp@@AEBVNtmsDbGuid@@@Z
+; public: class NtmsDbRecordKey & __ptr64 __cdecl NtmsDbRecordKey::operator=(class NtmsDbRecordType & __ptr64) __ptr64
+??4NtmsDbRecordKey@@QEAAAEAV0@AEAVNtmsDbRecordType@@@Z
+; public: class NtmsDbRecordKey & __ptr64 __cdecl NtmsDbRecordKey::operator=(class NtmsDbRecordKey const & __ptr64) __ptr64
+??4NtmsDbRecordKey@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbRecordKey & __ptr64 __cdecl NtmsDbRecordKey::operator=(short) __ptr64
+??4NtmsDbRecordKey@@QEAAAEAV0@F@Z
+; public: class NtmsDbRecordKey & __ptr64 __cdecl NtmsDbRecordKey::operator=(unsigned long) __ptr64
+??4NtmsDbRecordKey@@QEAAAEAV0@K@Z
+; public: class NtmsDbRecordKeyList & __ptr64 __cdecl NtmsDbRecordKeyList::operator=(class NtmsDbRecordKeyList const & __ptr64) __ptr64
+??4NtmsDbRecordKeyList@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(class NtmsDbRecordProp const & __ptr64) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@AEBV0@@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(class NtmsDbGuid const & __ptr64) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@AEBVNtmsDbGuid@@@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(short) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@F@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(unsigned short) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@G@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(int) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@H@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(unsigned int) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@I@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(long) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@J@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(unsigned long) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@K@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(float) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@M@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(double) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@N@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(unsigned short * __ptr64) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@PEAG@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(char const * __ptr64) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@PEBD@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(union _LARGE_INTEGER) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@T_LARGE_INTEGER@@@Z
+; public: class NtmsDbRecordProp const & __ptr64 __cdecl NtmsDbRecordProp::operator=(struct _SYSTEMTIME) __ptr64
+??4NtmsDbRecordProp@@QEAAAEBV0@U_SYSTEMTIME@@@Z
+; public: class NtmsDbRecordPropList const & __ptr64 __cdecl NtmsDbRecordPropList::operator=(class NtmsDbRecordPropList const & __ptr64) __ptr64
+??4NtmsDbRecordPropList@@QEAAAEBV0@AEBV0@@Z
+; public: class NtmsDbRecordRev & __ptr64 __cdecl NtmsDbRecordRev::operator=(class NtmsDbRecordRev const & __ptr64) __ptr64
+??4NtmsDbRecordRev@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbRecordType & __ptr64 __cdecl NtmsDbRecordType::operator=(class NtmsDbRecordType const & __ptr64) __ptr64
+??4NtmsDbRecordType@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl NtmsDbRecordType::operator=(short) __ptr64
+??4NtmsDbRecordType@@QEAAXF@Z
+; public: class NtmsDbRecordUniqueKey const & __ptr64 __cdecl NtmsDbRecordUniqueKey::operator=(class NtmsDbRecordUniqueKey const & __ptr64) __ptr64
+??4NtmsDbRecordUniqueKey@@QEAAAEBV0@AEBV0@@Z
+; public: class NtmsDbSelectionSet & __ptr64 __cdecl NtmsDbSelectionSet::operator=(class NtmsDbSelectionSet const & __ptr64) __ptr64
+??4NtmsDbSelectionSet@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbStorageSlot & __ptr64 __cdecl NtmsDbStorageSlot::operator=(class NtmsDbStorageSlot const & __ptr64) __ptr64
+??4NtmsDbStorageSlot@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator=(class NtmsDbString & __ptr64) __ptr64
+??4NtmsDbString@@QEAAAEAV0@AEAV0@@Z
+; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator=(char const * __ptr64) __ptr64
+??4NtmsDbString@@QEAAAEAV0@PEBD@Z
+; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator=(unsigned short const * __ptr64) __ptr64
+??4NtmsDbString@@QEAAAEAV0@PEBG@Z
+; public: class NtmsDbTypeGuid & __ptr64 __cdecl NtmsDbTypeGuid::operator=(struct _GUID const & __ptr64) __ptr64
+??4NtmsDbTypeGuid@@QEAAAEAV0@AEBU_GUID@@@Z
+; public: class NtmsDbTypeGuid & __ptr64 __cdecl NtmsDbTypeGuid::operator=(class NtmsDbTypeGuid const & __ptr64) __ptr64
+??4NtmsDbTypeGuid@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsDbUIDestination & __ptr64 __cdecl NtmsDbUIDestination::operator=(class NtmsDbUIDestination const & __ptr64) __ptr64
+??4NtmsDbUIDestination@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsPropMetaInfo & __ptr64 __cdecl NtmsPropMetaInfo::operator=(class NtmsPropMetaInfo const & __ptr64) __ptr64
+??4NtmsPropMetaInfo@@QEAAAEAV0@AEBV0@@Z
+; public: class NtmsTransaction & __ptr64 __cdecl NtmsTransaction::operator=(class NtmsTransaction const & __ptr64) __ptr64
+??4NtmsTransaction@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl NtmsDbList::operator>>(class NtmsDbListItem * __ptr64 & __ptr64) __ptr64
+??5NtmsDbList@@QEAAXAEAPEAVNtmsDbListItem@@@Z
+; public: void __cdecl NtmsDbPropRelation::operator>>(class NtmsDbRecordUniqueKey * __ptr64 & __ptr64) __ptr64
+??5NtmsDbPropRelation@@QEAAXAEAPEAVNtmsDbRecordUniqueKey@@@Z
+; public: void __cdecl NtmsDbRecordKeyList::operator>>(class NtmsDbRecordUniqueKey * __ptr64 & __ptr64) __ptr64
+??5NtmsDbRecordKeyList@@QEAAXAEAPEAVNtmsDbRecordUniqueKey@@@Z
+; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropChar * __ptr64 & __ptr64) __ptr64
+??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropChar@@@Z
+; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropGuid * __ptr64 & __ptr64) __ptr64
+??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropGuid@@@Z
+; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropLargeInt * __ptr64 & __ptr64) __ptr64
+??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropLargeInt@@@Z
+; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropLong * __ptr64 & __ptr64) __ptr64
+??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropLong@@@Z
+; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropRelation * __ptr64 & __ptr64) __ptr64
+??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropRelation@@@Z
+; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbPropShort * __ptr64 & __ptr64) __ptr64
+??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbPropShort@@@Z
+; public: void __cdecl NtmsDbRecordPropList::operator>>(class NtmsDbRecordProp * __ptr64 & __ptr64) __ptr64
+??5NtmsDbRecordPropList@@QEAAXAEAPEAVNtmsDbRecordProp@@@Z
+; public: void __cdecl NtmsDbList::operator<<(class NtmsDbListItem & __ptr64) __ptr64
+??6NtmsDbList@@QEAAXAEAVNtmsDbListItem@@@Z
+; public: void __cdecl NtmsDbPropRelation::operator<<(class NtmsDbRecordUniqueKey & __ptr64) __ptr64
+??6NtmsDbPropRelation@@QEAAXAEAVNtmsDbRecordUniqueKey@@@Z
+; public: void __cdecl NtmsDbRecordKeyList::operator<<(class NtmsDbRecordUniqueKey const & __ptr64) __ptr64
+??6NtmsDbRecordKeyList@@QEAAXAEBVNtmsDbRecordUniqueKey@@@Z
+; public: void __cdecl NtmsDbSelectionSet::operator<<(class NtmsDbGuid const & __ptr64) __ptr64
+??6NtmsDbSelectionSet@@QEAAXAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbSelectionSet::operator<<(class NtmsDbRecordUniqueKey const & __ptr64) __ptr64
+??6NtmsDbSelectionSet@@QEAAXAEBVNtmsDbRecordUniqueKey@@@Z
+; public: int __cdecl NtmsDbGuid::operator==(struct _GUID const & __ptr64)const  __ptr64
+??8NtmsDbGuid@@QEBAHAEBU_GUID@@@Z
+; public: int __cdecl NtmsDbGuid::operator==(class NtmsDbGuid const & __ptr64)const  __ptr64
+??8NtmsDbGuid@@QEBAHAEBV0@@Z
+; public: int __cdecl NtmsDbPropDataType::operator==(class NtmsDbPropDataType & __ptr64) __ptr64
+??8NtmsDbPropDataType@@QEAAHAEAV0@@Z
+; public: int __cdecl NtmsDbPropDataType::operator==(short) __ptr64
+??8NtmsDbPropDataType@@QEAAHF@Z
+; public: int __cdecl NtmsDbPropHeader::operator==(class NtmsDbPropHeader const & __ptr64)const  __ptr64
+??8NtmsDbPropHeader@@QEBAHAEBV0@@Z
+; public: int __cdecl NtmsDbRecordKey::operator==(class NtmsDbRecordKey const & __ptr64)const  __ptr64
+??8NtmsDbRecordKey@@QEBAHAEBV0@@Z
+; public: int __cdecl NtmsDbRecordRev::operator==(class NtmsDbRecordRev const & __ptr64) __ptr64
+??8NtmsDbRecordRev@@QEAAHAEBV0@@Z
+; public: int __cdecl NtmsDbRecordUniqueKey::operator==(class NtmsDbGuid const & __ptr64)const  __ptr64
+??8NtmsDbRecordUniqueKey@@QEBAHAEBVNtmsDbGuid@@@Z
+; public: int __cdecl NtmsDbGuid::operator!=(struct _GUID const & __ptr64)const  __ptr64
+??9NtmsDbGuid@@QEBAHAEBU_GUID@@@Z
+; public: int __cdecl NtmsDbGuid::operator!=(class NtmsDbGuid const & __ptr64)const  __ptr64
+??9NtmsDbGuid@@QEBAHAEBV0@@Z
+; public: int __cdecl NtmsDbPropDataType::operator!=(class NtmsDbPropDataType & __ptr64) __ptr64
+??9NtmsDbPropDataType@@QEAAHAEAV0@@Z
+; public: int __cdecl NtmsDbPropDataType::operator!=(short) __ptr64
+??9NtmsDbPropDataType@@QEAAHF@Z
+; public: int __cdecl NtmsDbPropHeader::operator!=(class NtmsDbPropHeader const & __ptr64)const  __ptr64
+??9NtmsDbPropHeader@@QEBAHAEBV0@@Z
+; public: int __cdecl NtmsDbRecordKey::operator!=(class NtmsDbRecordKey const & __ptr64)const  __ptr64
+??9NtmsDbRecordKey@@QEBAHAEBV0@@Z
+; public: int __cdecl NtmsDbRecordRev::operator!=(class NtmsDbRecordRev const & __ptr64) __ptr64
+??9NtmsDbRecordRev@@QEAAHAEBV0@@Z
+; public: int __cdecl NtmsDbRecordUniqueKey::operator!=(class NtmsDbGuid const & __ptr64)const  __ptr64
+??9NtmsDbRecordUniqueKey@@QEBAHAEBVNtmsDbGuid@@@Z
+; public: class NtmsDbListItem * __ptr64 __cdecl NtmsDbList::operator[](long)const  __ptr64
+??ANtmsDbList@@QEBAPEAVNtmsDbListItem@@J@Z
+; public: class NtmsDbRecordUniqueKey * __ptr64 __cdecl NtmsDbRecordKeyList::operator[](long)const  __ptr64
+??ANtmsDbRecordKeyList@@QEBAPEAVNtmsDbRecordUniqueKey@@J@Z
+; public: class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbRecordPropList::operator[](long) __ptr64
+??ANtmsDbRecordPropList@@QEAAPEAVNtmsDbRecordProp@@J@Z
+; public: class NtmsDbRecordProp const * __ptr64 __cdecl NtmsDbRecordPropList::operator[](long)const  __ptr64
+??ANtmsDbRecordPropList@@QEBAPEBVNtmsDbRecordProp@@J@Z
+; public: __cdecl NtmsDbError::operator unsigned long(void)const  __ptr64
+??BNtmsDbError@@QEBAKXZ
+; public: __cdecl NtmsDbGuid::operator struct _GUID * __ptr64(void)const  __ptr64
+??BNtmsDbGuid@@QEBAPEAU_GUID@@XZ
+; public: __cdecl NtmsDbPropDataType::operator short(void)const  __ptr64
+??BNtmsDbPropDataType@@QEBAFXZ
+; public: __cdecl NtmsDbPropGuid::operator class NtmsDbGuid & __ptr64(void) __ptr64
+??BNtmsDbPropGuid@@QEAAAEAVNtmsDbGuid@@XZ
+; public: __cdecl NtmsDbPropRelation::operator class NtmsDbRecordKeyList * __ptr64(void) __ptr64
+??BNtmsDbPropRelation@@QEAAPEAVNtmsDbRecordKeyList@@XZ
+; public: __cdecl NtmsDbRecordProp::operator union _LARGE_INTEGER(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBA?AT_LARGE_INTEGER@@XZ
+; public: __cdecl NtmsDbRecordProp::operator struct _SYSTEMTIME(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBA?AU_SYSTEMTIME@@XZ
+; public: __cdecl NtmsDbRecordProp::operator class NtmsDbGuid(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBA?AVNtmsDbGuid@@XZ
+; public: __cdecl NtmsDbRecordProp::operator short(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBAFXZ
+; public: __cdecl NtmsDbRecordProp::operator unsigned short(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBAGXZ
+; public: __cdecl NtmsDbRecordProp::operator long(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBAJXZ
+; public: __cdecl NtmsDbRecordProp::operator unsigned long(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBAKXZ
+; public: __cdecl NtmsDbRecordProp::operator float(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBAMXZ
+; public: __cdecl NtmsDbRecordProp::operator double(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBANXZ
+; public: __cdecl NtmsDbRecordProp::operator unsigned short * __ptr64(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBAPEAGXZ
+; public: __cdecl NtmsDbRecordProp::operator char const * __ptr64(void)const  __ptr64
+??BNtmsDbRecordProp@@QEBAPEBDXZ
+; public: __cdecl NtmsDbRecordRev::operator unsigned long(void) __ptr64
+??BNtmsDbRecordRev@@QEAAKXZ
+; public: __cdecl NtmsDbRecordType::operator short(void)const  __ptr64
+??BNtmsDbRecordType@@QEBAFXZ
+; public: __cdecl NtmsDbRecordUniqueKey::operator class NtmsDbGuid & __ptr64(void) __ptr64
+??BNtmsDbRecordUniqueKey@@QEAAAEAVNtmsDbGuid@@XZ
+; public: __cdecl NtmsDbRecordUniqueKey::operator class NtmsDbGuid * __ptr64(void) __ptr64
+??BNtmsDbRecordUniqueKey@@QEAAPEAVNtmsDbGuid@@XZ
+; public: __cdecl NtmsDbRecordUniqueKey::operator class NtmsDbRecordKey * __ptr64(void) __ptr64
+??BNtmsDbRecordUniqueKey@@QEAAPEAVNtmsDbRecordKey@@XZ
+; public: __cdecl NtmsDbString::operator char const * __ptr64(void)const  __ptr64
+??BNtmsDbString@@QEBAPEBDXZ
+; public: __cdecl NtmsDbTypeGuid::operator class NtmsDbGuid & __ptr64(void) __ptr64
+??BNtmsDbTypeGuid@@QEAAAEAVNtmsDbGuid@@XZ
+; public: void __cdecl NtmsDbRecordRev::operator++(int) __ptr64
+??ENtmsDbRecordRev@@QEAAXH@Z
+; public: void __cdecl NtmsDbRecordRev::operator++(void) __ptr64
+??ENtmsDbRecordRev@@QEAAXXZ
+; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-(long) __ptr64
+??GNtmsDbList@@QEAAAEAV0@J@Z
+; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-(class NtmsDbListItem * __ptr64) __ptr64
+??GNtmsDbList@@QEAAAEAV0@PEAVNtmsDbListItem@@@Z
+; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator+(class NtmsDbListItem * __ptr64) __ptr64
+??HNtmsDbList@@QEAAAEAV0@PEAVNtmsDbListItem@@@Z
+; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator+=(class NtmsDbListItem & __ptr64) __ptr64
+??YNtmsDbList@@QEAAAEAV0@AEAVNtmsDbListItem@@@Z
+; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator+=(class NtmsDbListItem * __ptr64) __ptr64
+??YNtmsDbList@@QEAAAEAV0@PEAVNtmsDbListItem@@@Z
+; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator+=(class NtmsDbString & __ptr64) __ptr64
+??YNtmsDbString@@QEAAAEAV0@AEAV0@@Z
+; public: class NtmsDbString & __ptr64 __cdecl NtmsDbString::operator+=(char const * __ptr64) __ptr64
+??YNtmsDbString@@QEAAAEAV0@PEBD@Z
+; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-=(class NtmsDbListItem & __ptr64) __ptr64
+??ZNtmsDbList@@QEAAAEAV0@AEAVNtmsDbListItem@@@Z
+; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-=(long) __ptr64
+??ZNtmsDbList@@QEAAAEAV0@J@Z
+; public: class NtmsDbList & __ptr64 __cdecl NtmsDbList::operator-=(class NtmsDbListItem * __ptr64) __ptr64
+??ZNtmsDbList@@QEAAAEAV0@PEAVNtmsDbListItem@@@Z
+; const  NtmsDatabase::`vftable'
+??_7NtmsDatabase@@6B@
+; const  NtmsDbChanger::`vftable'
+??_7NtmsDbChanger@@6B@
+; const  NtmsDbChangerType::`vftable'
+??_7NtmsDbChangerType@@6B@
+; const  NtmsDbComputer::`vftable'
+??_7NtmsDbComputer@@6B@
+; const  NtmsDbDrive::`vftable'
+??_7NtmsDbDrive@@6B@
+; const  NtmsDbDriveType::`vftable'
+??_7NtmsDbDriveType@@6B@
+; const  NtmsDbFile::`vftable'
+??_7NtmsDbFile@@6B@
+; const  NtmsDbIEDoor::`vftable'
+??_7NtmsDbIEDoor@@6B@
+; const  NtmsDbIEPort::`vftable'
+??_7NtmsDbIEPort@@6B@
+; const  NtmsDbLibWorkItem::`vftable'
+??_7NtmsDbLibWorkItem@@6B@
+; const  NtmsDbLibrary::`vftable'
+??_7NtmsDbLibrary@@6B@
+; const  NtmsDbList::`vftable'
+??_7NtmsDbList@@6B@
+; const  NtmsDbLogicalMedia::`vftable'
+??_7NtmsDbLogicalMedia@@6B@
+; const  NtmsDbMediaPool::`vftable'
+??_7NtmsDbMediaPool@@6B@
+; const  NtmsDbMediaType::`vftable'
+??_7NtmsDbMediaType@@6B@
+; const  NtmsDbObject::`vftable'
+??_7NtmsDbObject@@6B@
+; const  NtmsDbOpRequest::`vftable'
+??_7NtmsDbOpRequest@@6B@
+; const  NtmsDbPartition::`vftable'
+??_7NtmsDbPartition@@6B@
+; const  NtmsDbPhysicalMedia::`vftable'
+??_7NtmsDbPhysicalMedia@@6B@
+; const  NtmsDbPropertyValue::`vftable'
+??_7NtmsDbPropertyValue@@6B@
+; const  NtmsDbRecordKeyList::`vftable'
+??_7NtmsDbRecordKeyList@@6B@
+; const  NtmsDbSelectionSet::`vftable'
+??_7NtmsDbSelectionSet@@6B@
+; const  NtmsDbStorageSlot::`vftable'
+??_7NtmsDbStorageSlot@@6B@
+; const  NtmsDbUIDestination::`vftable'
+??_7NtmsDbUIDestination@@6B@
+; const  NtmsTransaction::`vftable'
+??_7NtmsTransaction@@6B@
+; public: void __cdecl NtmsDbDataCtxt::`default constructor closure'(void) __ptr64
+??_FNtmsDbDataCtxt@@QEAAXXZ
+; public: void __cdecl NtmsDbList::`default constructor closure'(void) __ptr64
+??_FNtmsDbList@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDatabase::AccessAllowed(void) __ptr64
+?AccessAllowed@NtmsDatabase@@QEAAKXZ
+; public: static unsigned long __cdecl NtmsDbDataCtxt::AcquireChangeMutex(unsigned long)
+?AcquireChangeMutex@NtmsDbDataCtxt@@SAKK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::AddMediaType(class NtmsDbGuid const & __ptr64) __ptr64
+?AddMediaType@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbComputer::AddUIDestination(unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
+?AddUIDestination@NtmsDbComputer@@QEAAKKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbLibrary::AddUIDestination(unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
+?AddUIDestination@NtmsDbLibrary@@QEAAKKAEBVNtmsDbGuid@@@Z
+; public: unsigned long const  __cdecl NtmsDbPartition::AllocateCount(void)const  __ptr64
+?AllocateCount@NtmsDbPartition@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbMediaPool::AllocationPolicy(void)const  __ptr64
+?AllocationPolicy@NtmsDbMediaPool@@QEBA?BKXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbLibWorkItem::Application(void)const  __ptr64
+?Application@NtmsDbLibWorkItem@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbOpRequest::Application(void)const  __ptr64
+?Application@NtmsDbOpRequest@@QEBAPEBGXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbOpRequest::Arg1(void)const  __ptr64
+?Arg1@NtmsDbOpRequest@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long __cdecl NtmsDbOpRequest::Arg1Type(void)const  __ptr64
+?Arg1Type@NtmsDbOpRequest@@QEBAKXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbOpRequest::Arg2(void)const  __ptr64
+?Arg2@NtmsDbOpRequest@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long __cdecl NtmsDbOpRequest::Arg2Type(void)const  __ptr64
+?Arg2Type@NtmsDbOpRequest@@QEBAKXZ
+; public: long __cdecl NtmsDbLibWorkItem::AssocWorkItem_IsNotNull(void) __ptr64
+?AssocWorkItem_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::AssocWorkItem_n(void)const  __ptr64
+?AssocWorkItem_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
+; public: short const  __cdecl NtmsDbLibrary::AutoRecovery(void)const  __ptr64
+?AutoRecovery@NtmsDbLibrary@@QEBA?BFXZ
+; public: short const  __cdecl NtmsDbLibrary::BarCodeReader(void)const  __ptr64
+?BarCodeReader@NtmsDbLibrary@@QEBA?BFXZ
+; public: unsigned long const  __cdecl NtmsDbPhysicalMedia::BarcodeState(void)const  __ptr64
+?BarcodeState@NtmsDbPhysicalMedia@@QEBA?BKXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbPhysicalMedia::BarcodeW(void)const  __ptr64
+?BarcodeW@NtmsDbPhysicalMedia@@QEBAPEBGXZ
+; public: long __cdecl NtmsDbPhysicalMedia::Barcode_IsNotNull(void) __ptr64
+?Barcode_IsNotNull@NtmsDbPhysicalMedia@@QEAAJXZ
+; public: char const * __ptr64 __cdecl NtmsDbPhysicalMedia::Barcode_n(void) __ptr64
+?Barcode_n@NtmsDbPhysicalMedia@@QEAAPEBDXZ
+; private: void __cdecl NtmsDbChanger::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbChanger@@AEAAXXZ
+; private: void __cdecl NtmsDbChangerType::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbChangerType@@AEAAXXZ
+; private: void __cdecl NtmsDbComputer::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbComputer@@AEAAXXZ
+; private: void __cdecl NtmsDbDrive::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbDrive@@AEAAXXZ
+; private: void __cdecl NtmsDbDriveType::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbDriveType@@AEAAXXZ
+; private: void __cdecl NtmsDbIEDoor::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbIEDoor@@AEAAXXZ
+; private: void __cdecl NtmsDbIEPort::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbIEPort@@AEAAXXZ
+; private: void __cdecl NtmsDbLibWorkItem::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbLibWorkItem@@AEAAXXZ
+; private: void __cdecl NtmsDbLibrary::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbLibrary@@AEAAXXZ
+; private: void __cdecl NtmsDbLogicalMedia::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbLogicalMedia@@AEAAXXZ
+; private: void __cdecl NtmsDbMediaPool::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbMediaPool@@AEAAXXZ
+; private: void __cdecl NtmsDbMediaType::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbMediaType@@AEAAXXZ
+; private: void __cdecl NtmsDbObject::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbObject@@AEAAXXZ
+; private: void __cdecl NtmsDbOpRequest::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbOpRequest@@AEAAXXZ
+; private: void __cdecl NtmsDbPartition::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbPartition@@AEAAXXZ
+; private: void __cdecl NtmsDbPhysicalMedia::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbPhysicalMedia@@AEAAXXZ
+; private: void __cdecl NtmsDbStorageSlot::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbStorageSlot@@AEAAXXZ
+; private: void __cdecl NtmsDbUIDestination::BuildPropertyList(void) __ptr64
+?BuildPropertyList@NtmsDbUIDestination@@AEAAXXZ
+; public: union _LARGE_INTEGER & __ptr64 __cdecl NtmsDbPartition::Capacity(void) __ptr64
+?Capacity@NtmsDbPartition@@QEAAAEAT_LARGE_INTEGER@@XZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbChanger::ChangerType(void)const  __ptr64
+?ChangerType@NtmsDbChanger@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long __cdecl NtmsDbLibrary::Changers(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?Changers@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: long __cdecl NtmsDbLibrary::CleanerSlot_IsNotNull(void)const  __ptr64
+?CleanerSlot_IsNotNull@NtmsDbLibrary@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibrary::CleanerSlot_n(void)const  __ptr64
+?CleanerSlot_n@NtmsDbLibrary@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbLibrary::CleansRemaining(void)const  __ptr64
+?CleansRemaining@NtmsDbLibrary@@QEBA?BKXZ
+; public: void __cdecl NtmsDbList::Clear(void) __ptr64
+?Clear@NtmsDbList@@QEAAXXZ
+; public: void __cdecl NtmsDbRecordProp::ClearModified(void) __ptr64
+?ClearModified@NtmsDbRecordProp@@QEAAXXZ
+; public: short const  __cdecl NtmsDbRecordProp::Code(void)const  __ptr64
+?Code@NtmsDbRecordProp@@QEBA?BFXZ
+; public: short __cdecl NtmsDbRecordType::Code(void)const  __ptr64
+?Code@NtmsDbRecordType@@QEBAFXZ
+; public: unsigned long __cdecl NtmsDbDataCtxt::CommitTransaction(void) __ptr64
+?CommitTransaction@NtmsDbDataCtxt@@QEAAKXZ
+; public: virtual void __cdecl NtmsDbObject::ComputeProps(enum NtmsDbObject::ObjectOperationType) __ptr64
+?ComputeProps@NtmsDbObject@@UEAAXW4ObjectOperationType@1@@Z
+; public: virtual void __cdecl NtmsDbObject::ComputeProps(enum NtmsDbObject::ObjectOperationType,long) __ptr64
+?ComputeProps@NtmsDbObject@@UEAAXW4ObjectOperationType@1@J@Z
+; public: unsigned short const * __ptr64 __cdecl NtmsDbLibWorkItem::Computer(void)const  __ptr64
+?Computer@NtmsDbLibWorkItem@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbOpRequest::Computer(void)const  __ptr64
+?Computer@NtmsDbOpRequest@@QEBAPEBGXZ
+; public: long __cdecl NtmsDbDrive::Computer_IsNotNull(void)const  __ptr64
+?Computer_IsNotNull@NtmsDbDrive@@QEBAJXZ
+; public: long __cdecl NtmsDbLibrary::Computer_IsNotNull(void)const  __ptr64
+?Computer_IsNotNull@NtmsDbLibrary@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbDrive::Computer_n(void)const  __ptr64
+?Computer_n@NtmsDbDrive@@QEBAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibrary::Computer_n(void)const  __ptr64
+?Computer_n@NtmsDbLibrary@@QEBAAEBVNtmsDbGuid@@XZ
+; protected: void __cdecl NtmsDbString::ConcatString(char const * __ptr64) __ptr64
+?ConcatString@NtmsDbString@@IEAAXPEBD@Z
+; public: unsigned long __cdecl NtmsDbDataCtxt::Connect(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?Connect@NtmsDbDataCtxt@@QEAAKPEBG0@Z
+; protected: void __cdecl NtmsDbString::ConvertMBString(unsigned short const * __ptr64,unsigned long,char * __ptr64 & __ptr64,unsigned __int64 & __ptr64) __ptr64
+?ConvertMBString@NtmsDbString@@IEAAXPEBGKAEAPEADAEA_K@Z
+; public: void __cdecl NtmsDbRecordProp::CopyData(void * __ptr64,long) __ptr64
+?CopyData@NtmsDbRecordProp@@QEAAXPEAXJ@Z
+; public: long __cdecl NtmsDbList::Count(void)const  __ptr64
+?Count@NtmsDbList@@QEBAJXZ
+; public: long __cdecl NtmsDbObject::Count(void)const  __ptr64
+?Count@NtmsDbObject@@QEBAJXZ
+; public: long __cdecl NtmsDbPropHeader::Count(void)const  __ptr64
+?Count@NtmsDbPropHeader@@QEBAJXZ
+; public: unsigned long __cdecl NtmsDbRecordProp::Count(void)const  __ptr64
+?Count@NtmsDbRecordProp@@QEBAKXZ
+; public: long __cdecl NtmsDbRecordPropList::Count(void)const  __ptr64
+?Count@NtmsDbRecordPropList@@QEBAJXZ
+; public: virtual long __cdecl NtmsDbSelectionSet::Count(void)const  __ptr64
+?Count@NtmsDbSelectionSet@@UEBAJXZ
+; public: struct _SYSTEMTIME  __cdecl NtmsDbObject::CreateTs(void)const  __ptr64
+?CreateTs@NtmsDbObject@@QEBA?AU_SYSTEMTIME@@XZ
+; public: unsigned long __cdecl NtmsDbRecordProp::DataSize(void)const  __ptr64
+?DataSize@NtmsDbRecordProp@@QEBAKXZ
+; public: class NtmsDatabase * __ptr64 __cdecl NtmsDbDataCtxt::Database(void) __ptr64
+?Database@NtmsDbDataCtxt@@QEAAPEAVNtmsDatabase@@XZ
+; public: unsigned long const  __cdecl NtmsDbMediaPool::DeallocationPolicy(void)const  __ptr64
+?DeallocationPolicy@NtmsDbMediaPool@@QEBA?BKXZ
+; public: void __cdecl NtmsDbPropHeader::DecCount(void) __ptr64
+?DecCount@NtmsDbPropHeader@@QEAAXXZ
+; public: long __cdecl NtmsDbUIDestination::DecReference(void) __ptr64
+?DecReference@NtmsDbUIDestination@@QEAAJXZ
+; public: long __cdecl NtmsDbLibrary::DefCleanerSlot_IsNotNull(void)const  __ptr64
+?DefCleanerSlot_IsNotNull@NtmsDbLibrary@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibrary::DefCleanerSlot_n(void)const  __ptr64
+?DefCleanerSlot_n@NtmsDbLibrary@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbDrive::DeferDelay(void)const  __ptr64
+?DeferDelay@NtmsDbDrive@@QEBA?BKXZ
+; protected: virtual void __cdecl NtmsDbChanger::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbChanger@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbChangerType::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbChangerType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbComputer::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbComputer@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbDrive::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbDrive@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbDriveType::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbDriveType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbIEDoor::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbIEDoor@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbIEPort::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbIEPort@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLibWorkItem::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbLibWorkItem@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLibrary::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbLibrary@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLogicalMedia::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbLogicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbMediaPool::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbMediaPool@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbMediaType::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbMediaType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbObject::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbObject@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbOpRequest::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbOpRequest@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbPartition::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbPartition@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbPhysicalMedia::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbPhysicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbStorageSlot::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbStorageSlot@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbUIDestination::DeleteDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteDbObject@NtmsDbUIDestination@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; public: virtual unsigned long __cdecl NtmsDbSelectionSet::DeleteObjects(class NtmsDbDataCtxt * __ptr64) __ptr64
+?DeleteObjects@NtmsDbSelectionSet@@UEAAKPEAVNtmsDbDataCtxt@@@Z
+; protected: void __cdecl NtmsDbObject::DeleteReferences(class NtmsDbDataCtxt * __ptr64,class NtmsDbRecordPropList * __ptr64) __ptr64
+?DeleteReferences@NtmsDbObject@@IEAAXPEAVNtmsDbDataCtxt@@PEAVNtmsDbRecordPropList@@@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::DensityCode(void) __ptr64
+?DensityCode@NtmsDbPhysicalMedia@@QEAAKXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbObject::DescriptionW(void) __ptr64
+?DescriptionW@NtmsDbObject@@QEAAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbObject::DescriptionW(void)const  __ptr64
+?DescriptionW@NtmsDbObject@@QEBAPEBGXZ
+; public: long __cdecl NtmsDbObject::Description_IsNotNull(void) __ptr64
+?Description_IsNotNull@NtmsDbObject@@QEAAJXZ
+; public: char const * __ptr64 __cdecl NtmsDbObject::Description_n(void) __ptr64
+?Description_n@NtmsDbObject@@QEAAPEBDXZ
+; public: static void __cdecl NtmsDbDataCtxt::DestroyMutex(void)
+?DestroyMutex@NtmsDbDataCtxt@@SAXXZ
+; public: virtual void __cdecl NtmsDbList::Destruct(class NtmsDbListItem * __ptr64) __ptr64
+?Destruct@NtmsDbList@@UEAAXPEAVNtmsDbListItem@@@Z
+; public: unsigned long const  __cdecl NtmsDbChangerType::DeviceType(void)const  __ptr64
+?DeviceType@NtmsDbChangerType@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbMediaType::DeviceType(void)const  __ptr64
+?DeviceType@NtmsDbMediaType@@QEBA?BKXZ
+; public: static void __cdecl NtmsDbDataCtxt::DisableNotification(class ChangeRegistration * __ptr64)
+?DisableNotification@NtmsDbDataCtxt@@SAXPEAVChangeRegistration@@@Z
+; public: unsigned long __cdecl NtmsDbDataCtxt::Disconnect(void) __ptr64
+?Disconnect@NtmsDbDataCtxt@@QEAAKXZ
+; public: long __cdecl NtmsDbLibWorkItem::DriveId_IsNotNull(void) __ptr64
+?DriveId_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::DriveId_n(void)const  __ptr64
+?DriveId_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbDrive::DriveNumber(void)const  __ptr64
+?DriveNumber@NtmsDbDrive@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbDrive::DriveState(void)const  __ptr64
+?DriveState@NtmsDbDrive@@QEBA?BKXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbDrive::DriveType(void)const  __ptr64
+?DriveType@NtmsDbDrive@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbDriveType::DriveType(void)const  __ptr64
+?DriveType@NtmsDbDriveType@@QEBA?BKXZ
+; public: unsigned long __cdecl NtmsDbComputer::Drives(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?Drives@NtmsDbComputer@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: unsigned long __cdecl NtmsDbLibrary::Drives(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?Drives@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: int __cdecl NtmsDbList::Dynamic(void)const  __ptr64
+?Dynamic@NtmsDbList@@QEBAHXZ
+; public: int __cdecl NtmsDbRecordProp::Dynamic(void)const  __ptr64
+?Dynamic@NtmsDbRecordProp@@QEBAHXZ
+; public: static class ChangeRegistration * __ptr64 __cdecl NtmsDbDataCtxt::EnableNotification(void (__cdecl*)(int,class NtmsDbGuid const & __ptr64,int,void * __ptr64),void * __ptr64)
+?EnableNotification@NtmsDbDataCtxt@@SAPEAVChangeRegistration@@P6AXHAEBVNtmsDbGuid@@HPEAX@Z1@Z
+; public: short const  __cdecl NtmsDbObject::Enabled(void)const  __ptr64
+?Enabled@NtmsDbObject@@QEBA?BFXZ
+; public: void __cdecl NtmsDbDataCtxt::EnterConnCritSection(void) __ptr64
+?EnterConnCritSection@NtmsDbDataCtxt@@QEAAXXZ
+; public: class NtmsDbError const & __ptr64 __cdecl NtmsDbDataCtxt::Error(void)const  __ptr64
+?Error@NtmsDbDataCtxt@@QEBAAEBVNtmsDbError@@XZ
+; public: int const  __cdecl NtmsDbError::Error(void)const  __ptr64
+?Error@NtmsDbError@@QEBA?BHXZ
+; public: class NtmsDbError & __ptr64 __cdecl NtmsDbObject::Error(void) __ptr64
+?Error@NtmsDbObject@@QEAAAEAVNtmsDbError@@XZ
+; public: unsigned long __cdecl NtmsDbLibWorkItem::ErrorCode(void) __ptr64
+?ErrorCode@NtmsDbLibWorkItem@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbObject::ExplicitAddRelation(long,short,class NtmsDbGuid const & __ptr64) __ptr64
+?ExplicitAddRelation@NtmsDbObject@@QEAAKJFAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbObject::ExplicitRemoveRelation(long,class NtmsDbGuid const & __ptr64) __ptr64
+?ExplicitRemoveRelation@NtmsDbObject@@QEAAKJAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbDataCtxt::ExportDatabase(void) __ptr64
+?ExportDatabase@NtmsDbDataCtxt@@QEAAKXZ
+; public: unsigned long const  __cdecl NtmsDbIEPort::ExtendState(void)const  __ptr64
+?ExtendState@NtmsDbIEPort@@QEBA?BKXZ
+; public: virtual unsigned long __cdecl NtmsDbObject::Fetch(class NtmsDbDataCtxt * __ptr64) __ptr64
+?Fetch@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
+; private: unsigned long __cdecl NtmsDatabase::FileEnd(void) __ptr64
+?FileEnd@NtmsDatabase@@AEAAKXZ
+; public: void * __ptr64 __cdecl NtmsDbFile::FileHandle(void) __ptr64
+?FileHandle@NtmsDbFile@@QEAAPEAXXZ
+; private: unsigned long __cdecl NtmsDatabase::FilePosition(unsigned long) __ptr64
+?FilePosition@NtmsDatabase@@AEAAKK@Z
+; public: unsigned long __cdecl NtmsDbFile::FileStatus(void) __ptr64
+?FileStatus@NtmsDbFile@@QEAAKXZ
+; public: unsigned short * __ptr64 __cdecl NtmsDbFile::Filename(void) __ptr64
+?Filename@NtmsDbFile@@QEAAPEAGXZ
+; private: void __cdecl NtmsDbTypeGuid::Fill(struct _GUID & __ptr64,char * __ptr64) __ptr64
+?Fill@NtmsDbTypeGuid@@AEAAXAEAU_GUID@@PEAD@Z
+; public: long __cdecl NtmsDbList::Map::Find(class NtmsDbListItem * __ptr64)const  __ptr64
+?Find@Map@NtmsDbList@@QEBAJPEAVNtmsDbListItem@@@Z
+; public: static int __cdecl NtmsDbDataCtxt::FindObType(class NtmsDbRecordKey & __ptr64)
+?FindObType@NtmsDbDataCtxt@@SAHAEAVNtmsDbRecordKey@@@Z
+; public: static int __cdecl NtmsDbDataCtxt::FindObType(short)
+?FindObType@NtmsDbDataCtxt@@SAHF@Z
+; public: unsigned long const  __cdecl NtmsDbLibrary::FirstChangerNumber(void)const  __ptr64
+?FirstChangerNumber@NtmsDbLibrary@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbLibrary::FirstDriveNumber(void)const  __ptr64
+?FirstDriveNumber@NtmsDbLibrary@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbLibrary::FirstPortNumber(void)const  __ptr64
+?FirstPortNumber@NtmsDbLibrary@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbLibrary::FirstSlotNumber(void)const  __ptr64
+?FirstSlotNumber@NtmsDbLibrary@@QEBA?BKXZ
+; public: short const  __cdecl NtmsDbLibrary::FixedOffline(void)const  __ptr64
+?FixedOffline@NtmsDbLibrary@@QEBA?BFXZ
+; public: unsigned long const  __cdecl NtmsDbLibrary::Flags(void)const  __ptr64
+?Flags@NtmsDbLibrary@@QEBA?BKXZ
+; public: unsigned long __cdecl NtmsDbMediaPool::Folders(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?Folders@NtmsDbMediaPool@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: int __cdecl NtmsDbList::Map::Full(void)const  __ptr64
+?Full@Map@NtmsDbList@@QEBAHXZ
+; public: unsigned long const  __cdecl NtmsDbIEPort::FullState(void)const  __ptr64
+?FullState@NtmsDbIEPort@@QEBA?BKXZ
+; public: short __cdecl NtmsDbGuid::GenerateHash(void) __ptr64
+?GenerateHash@NtmsDbGuid@@QEAAFXZ
+; public: long __cdecl NtmsDbList::Map::Get(long,class NtmsDbListItem * __ptr64 & __ptr64)const  __ptr64
+?Get@Map@NtmsDbList@@QEBAJJAEAPEAVNtmsDbListItem@@@Z
+; public: unsigned long __cdecl NtmsDbPartition::GetAllocOption(void) __ptr64
+?GetAllocOption@NtmsDbPartition@@QEAAKXZ
+; public: void __cdecl NtmsDbLibWorkItem::GetApplicationA(char * __ptr64,int) __ptr64
+?GetApplicationA@NtmsDbLibWorkItem@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbOpRequest::GetApplicationA(char * __ptr64,int) __ptr64
+?GetApplicationA@NtmsDbOpRequest@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbLibWorkItem::GetApplicationW(unsigned short * __ptr64,int) __ptr64
+?GetApplicationW@NtmsDbLibWorkItem@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbOpRequest::GetApplicationW(unsigned short * __ptr64,int) __ptr64
+?GetApplicationW@NtmsDbOpRequest@@QEAAXPEAGH@Z
+; public: unsigned long __cdecl NtmsDbObject::GetAttribute(class NtmsDbDataCtxt * __ptr64,char const * __ptr64,void * __ptr64,unsigned long * __ptr64) __ptr64
+?GetAttribute@NtmsDbObject@@QEAAKPEAVNtmsDbDataCtxt@@PEBDPEAXPEAK@Z
+; public: void __cdecl NtmsDbPhysicalMedia::GetBarcodeA(char * __ptr64,int) __ptr64
+?GetBarcodeA@NtmsDbPhysicalMedia@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbPhysicalMedia::GetBarcodeW(unsigned short * __ptr64,int) __ptr64
+?GetBarcodeW@NtmsDbPhysicalMedia@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbUIDestination::GetComputer(unsigned short * __ptr64,int) __ptr64
+?GetComputer@NtmsDbUIDestination@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbLibWorkItem::GetComputerA(char * __ptr64,int) __ptr64
+?GetComputerA@NtmsDbLibWorkItem@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbOpRequest::GetComputerA(char * __ptr64,int) __ptr64
+?GetComputerA@NtmsDbOpRequest@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbLibWorkItem::GetComputerW(unsigned short * __ptr64,int) __ptr64
+?GetComputerW@NtmsDbLibWorkItem@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbOpRequest::GetComputerW(unsigned short * __ptr64,int) __ptr64
+?GetComputerW@NtmsDbOpRequest@@QEAAXPEAGH@Z
+; public: void * __ptr64 __cdecl NtmsDbRecordProp::GetData(int * __ptr64)const  __ptr64
+?GetData@NtmsDbRecordProp@@QEBAPEAXPEAH@Z
+; protected: virtual void __cdecl NtmsDbChanger::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbChanger@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbChangerType::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbChangerType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbComputer::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbComputer@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbDrive::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbDrive@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbDriveType::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbDriveType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbIEDoor::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbIEDoor@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbIEPort::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbIEPort@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLibWorkItem::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbLibWorkItem@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLibrary::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbLibrary@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLogicalMedia::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbLogicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbMediaPool::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbMediaPool@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbMediaType::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbMediaType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbObject::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbObject@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbOpRequest::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbOpRequest@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbPartition::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbPartition@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbPhysicalMedia::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbPhysicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbStorageSlot::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbStorageSlot@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbUIDestination::GetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?GetDbObject@NtmsDbUIDestination@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbChanger::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbChanger@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbChangerType::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbChangerType@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbComputer::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbComputer@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbDrive::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbDrive@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbDriveType::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbDriveType@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbIEDoor::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbIEDoor@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbIEPort::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbIEPort@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbLibWorkItem::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbLibWorkItem@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbLibrary::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbLibrary@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbLogicalMedia::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbLogicalMedia@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbMediaPool::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbMediaPool@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbMediaType::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbMediaType@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbObject::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbObject@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbOpRequest::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbOpRequest@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbPartition::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbPartition@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbPhysicalMedia::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbPhysicalMedia@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbStorageSlot::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbStorageSlot@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; protected: virtual class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbUIDestination::GetDbProperty(long)const  __ptr64
+?GetDbProperty@NtmsDbUIDestination@@MEBAPEAVNtmsDbRecordProp@@J@Z
+; public: void __cdecl NtmsDbObject::GetDescriptionA(char * __ptr64,int) __ptr64
+?GetDescriptionA@NtmsDbObject@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbObject::GetDescriptionW(unsigned short * __ptr64,int) __ptr64
+?GetDescriptionW@NtmsDbObject@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbDrive::GetDriveLetter(unsigned short * __ptr64,int) __ptr64
+?GetDriveLetter@NtmsDbDrive@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbDrive::GetDriveLetterA(char * __ptr64,int) __ptr64
+?GetDriveLetterA@NtmsDbDrive@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbOpRequest::GetMessageA(char * __ptr64,int) __ptr64
+?GetMessageA@NtmsDbOpRequest@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbOpRequest::GetMessageW(unsigned short * __ptr64,int) __ptr64
+?GetMessageW@NtmsDbOpRequest@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbObject::GetNameA(char * __ptr64,int) __ptr64
+?GetNameA@NtmsDbObject@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbObject::GetNameW(unsigned short * __ptr64,int) __ptr64
+?GetNameW@NtmsDbObject@@QEAAXPEAGH@Z
+; public: static class NtmsDbRecordProp & __ptr64 __cdecl NtmsDbRecordPropList::GetNull(void)
+?GetNull@NtmsDbRecordPropList@@SAAEAVNtmsDbRecordProp@@XZ
+; public: void __cdecl NtmsDbPartition::GetOmidLabelInfoA(char * __ptr64,int)const  __ptr64
+?GetOmidLabelInfoA@NtmsDbPartition@@QEBAXPEADH@Z
+; public: void __cdecl NtmsDbPartition::GetOmidLabelInfoW(unsigned short * __ptr64,int)const  __ptr64
+?GetOmidLabelInfoW@NtmsDbPartition@@QEBAXPEAGH@Z
+; public: void __cdecl NtmsDbPartition::GetOmidLabelTypeA(char * __ptr64,int)const  __ptr64
+?GetOmidLabelTypeA@NtmsDbPartition@@QEBAXPEADH@Z
+; public: void __cdecl NtmsDbPartition::GetOmidLabelTypeW(unsigned short * __ptr64,int)const  __ptr64
+?GetOmidLabelTypeW@NtmsDbPartition@@QEBAXPEAGH@Z
+; public: void __cdecl NtmsDbChanger::GetPathNameA(char * __ptr64,int) __ptr64
+?GetPathNameA@NtmsDbChanger@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbDrive::GetPathNameA(char * __ptr64,int) __ptr64
+?GetPathNameA@NtmsDbDrive@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbChanger::GetPathNameW(unsigned short * __ptr64,int) __ptr64
+?GetPathNameW@NtmsDbChanger@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbDrive::GetPathNameW(unsigned short * __ptr64,int) __ptr64
+?GetPathNameW@NtmsDbDrive@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbChangerType::GetProductA(char * __ptr64,int) __ptr64
+?GetProductA@NtmsDbChangerType@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbDriveType::GetProductA(char * __ptr64,int) __ptr64
+?GetProductA@NtmsDbDriveType@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbChangerType::GetProductW(unsigned short * __ptr64,int) __ptr64
+?GetProductW@NtmsDbChangerType@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbDriveType::GetProductW(unsigned short * __ptr64,int) __ptr64
+?GetProductW@NtmsDbDriveType@@QEAAXPEAGH@Z
+; protected: class NtmsDbRecordProp & __ptr64 __cdecl NtmsDbObject::GetProperty(class NtmsDbRecordPropList * __ptr64,long) __ptr64
+?GetProperty@NtmsDbObject@@IEAAAEAVNtmsDbRecordProp@@PEAVNtmsDbRecordPropList@@J@Z
+; public: class NtmsDbRecordProp * __ptr64 __cdecl NtmsDbObject::GetProperty(long) __ptr64
+?GetProperty@NtmsDbObject@@QEAAPEAVNtmsDbRecordProp@@J@Z
+; public: class NtmsDbRecordProp & __ptr64 __cdecl NtmsDbRecordPropList::GetProperty(long) __ptr64
+?GetProperty@NtmsDbRecordPropList@@QEAAAEAVNtmsDbRecordProp@@J@Z
+; public: class NtmsDbPropDataType const & __ptr64 __cdecl NtmsDbRecordPropList::GetPropertyType(long) __ptr64
+?GetPropertyType@NtmsDbRecordPropList@@QEAAAEBVNtmsDbPropDataType@@J@Z
+; public: void __cdecl NtmsDbChanger::GetRevisionA(char * __ptr64,int) __ptr64
+?GetRevisionA@NtmsDbChanger@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbDrive::GetRevisionA(char * __ptr64,int) __ptr64
+?GetRevisionA@NtmsDbDrive@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbChanger::GetRevisionW(unsigned short * __ptr64,int) __ptr64
+?GetRevisionW@NtmsDbChanger@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbDrive::GetRevisionW(unsigned short * __ptr64,int) __ptr64
+?GetRevisionW@NtmsDbDrive@@QEAAXPEAGH@Z
+; public: unsigned long __cdecl NtmsDbObject::GetSecurityDescriptor(void * __ptr64,unsigned long & __ptr64) __ptr64
+?GetSecurityDescriptor@NtmsDbObject@@QEAAKPEAXAEAK@Z
+; public: void __cdecl NtmsDbPhysicalMedia::GetSequenceNumberA(char * __ptr64,int)const  __ptr64
+?GetSequenceNumberA@NtmsDbPhysicalMedia@@QEBAXPEADH@Z
+; public: void __cdecl NtmsDbPhysicalMedia::GetSequenceNumberW(unsigned short * __ptr64,int)const  __ptr64
+?GetSequenceNumberW@NtmsDbPhysicalMedia@@QEBAXPEAGH@Z
+; public: void __cdecl NtmsDbChanger::GetSerialNumberA(char * __ptr64,int) __ptr64
+?GetSerialNumberA@NtmsDbChanger@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbDrive::GetSerialNumberA(char * __ptr64,int) __ptr64
+?GetSerialNumberA@NtmsDbDrive@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbChanger::GetSerialNumberW(unsigned short * __ptr64,int) __ptr64
+?GetSerialNumberW@NtmsDbChanger@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbDrive::GetSerialNumberW(unsigned short * __ptr64,int) __ptr64
+?GetSerialNumberW@NtmsDbDrive@@QEAAXPEAGH@Z
+; public: unsigned long __cdecl NtmsDbComputer::GetUIDestinations(class NtmsDbDataCtxt * __ptr64,unsigned long,class NtmsDbSelectionSet & __ptr64) __ptr64
+?GetUIDestinations@NtmsDbComputer@@QEAAKPEAVNtmsDbDataCtxt@@KAEAVNtmsDbSelectionSet@@@Z
+; public: unsigned long __cdecl NtmsDbLibrary::GetUIDestinations(class NtmsDbDataCtxt * __ptr64,unsigned long,class NtmsDbSelectionSet & __ptr64) __ptr64
+?GetUIDestinations@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@KAEAVNtmsDbSelectionSet@@@Z
+; public: void __cdecl NtmsDbLibWorkItem::GetUserA(char * __ptr64,int) __ptr64
+?GetUserA@NtmsDbLibWorkItem@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbOpRequest::GetUserA(char * __ptr64,int) __ptr64
+?GetUserA@NtmsDbOpRequest@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbLibWorkItem::GetUserW(unsigned short * __ptr64,int) __ptr64
+?GetUserW@NtmsDbLibWorkItem@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbOpRequest::GetUserW(unsigned short * __ptr64,int) __ptr64
+?GetUserW@NtmsDbOpRequest@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbChangerType::GetVendorA(char * __ptr64,int) __ptr64
+?GetVendorA@NtmsDbChangerType@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbDriveType::GetVendorA(char * __ptr64,int) __ptr64
+?GetVendorA@NtmsDbDriveType@@QEAAXPEADH@Z
+; public: void __cdecl NtmsDbChangerType::GetVendorW(unsigned short * __ptr64,int) __ptr64
+?GetVendorW@NtmsDbChangerType@@QEAAXPEAGH@Z
+; public: void __cdecl NtmsDbDriveType::GetVendorW(unsigned short * __ptr64,int) __ptr64
+?GetVendorW@NtmsDbDriveType@@QEAAXPEAGH@Z
+; public: class NtmsDatabase * __ptr64 __cdecl NtmsDbDataCtxt::Handle(void)const  __ptr64
+?Handle@NtmsDbDataCtxt@@QEBAPEAVNtmsDatabase@@XZ
+; public: int __cdecl NtmsDbPropGuid::HasChanged(void)const  __ptr64
+?HasChanged@NtmsDbPropGuid@@QEBAHXZ
+; public: int __cdecl NtmsDbPropGuid::HasNewRelation(void)const  __ptr64
+?HasNewRelation@NtmsDbPropGuid@@QEBAHXZ
+; public: int __cdecl NtmsDbPropGuid::HasPreviousRelation(void)const  __ptr64
+?HasPreviousRelation@NtmsDbPropGuid@@QEBAHXZ
+; public: int __cdecl NtmsDbPropGuid::HasRelatedProperty(void)const  __ptr64
+?HasRelatedProperty@NtmsDbPropGuid@@QEBAHXZ
+; public: class NtmsDbPropHeader & __ptr64 __cdecl NtmsDbRecordProp::Header(void) __ptr64
+?Header@NtmsDbRecordProp@@QEAAAEAVNtmsDbPropHeader@@XZ
+; public: long __cdecl NtmsDbPhysicalMedia::HomeSlotId_IsNotNull(void) __ptr64
+?HomeSlotId_IsNotNull@NtmsDbPhysicalMedia@@QEAAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::HomeSlotId_n(void)const  __ptr64
+?HomeSlotId_n@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbIEDoor::IEDoorNumber(void)const  __ptr64
+?IEDoorNumber@NtmsDbIEDoor@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbIEDoor::IEDoorState(void)const  __ptr64
+?IEDoorState@NtmsDbIEDoor@@QEBA?BKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::IEDoors(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?IEDoors@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: unsigned long const  __cdecl NtmsDbIEPort::IEPortNumber(void)const  __ptr64
+?IEPortNumber@NtmsDbIEPort@@QEBA?BKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::IEPorts(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?IEPorts@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: unsigned long __cdecl NtmsDbDataCtxt::ImportDatabase(void) __ptr64
+?ImportDatabase@NtmsDbDataCtxt@@QEAAKXZ
+; public: void __cdecl NtmsDbPropHeader::IncCount(void) __ptr64
+?IncCount@NtmsDbPropHeader@@QEAAXXZ
+; public: long __cdecl NtmsDbUIDestination::IncReference(void) __ptr64
+?IncReference@NtmsDbUIDestination@@QEAAJXZ
+; public: unsigned long __cdecl NtmsDbRecordKey::Index(void)const  __ptr64
+?Index@NtmsDbRecordKey@@QEBAKXZ
+; public: void __cdecl NtmsDbRecordProp::Init(short) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXF@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,class NtmsDbGuid & __ptr64,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFAEAVNtmsDbGuid@@H@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,class NtmsDbLinkedGuid & __ptr64,class NtmsDbRecordType * __ptr64,short) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFAEAVNtmsDbLinkedGuid@@PEAVNtmsDbRecordType@@F@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,char * __ptr64,int,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEADHH@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,unsigned char * __ptr64,int,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEAEHH@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,short * __ptr64,int,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEAFHH@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,unsigned short * __ptr64,int,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEAGHH@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,long * __ptr64,int,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEAJHH@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,unsigned long * __ptr64,int,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEAKHH@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,union _LARGE_INTEGER * __ptr64,int,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEAT_LARGE_INTEGER@@HH@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,struct _SYSTEMTIME * __ptr64,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEAU_SYSTEMTIME@@H@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,class NtmsDbRecordKeyList * __ptr64,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEAVNtmsDbRecordKeyList@@H@Z
+; public: void __cdecl NtmsDbRecordProp::Init(short,void * __ptr64,int,int) __ptr64
+?Init@NtmsDbRecordProp@@QEAAXFPEAXHH@Z
+; protected: virtual void __cdecl NtmsDbChanger::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbChanger@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbChangerType::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbChangerType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbComputer::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbComputer@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbDrive::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbDrive@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbDriveType::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbDriveType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbIEDoor::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbIEDoor@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbIEPort::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbIEPort@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLibWorkItem::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbLibWorkItem@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLibrary::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbLibrary@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLogicalMedia::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbLogicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbMediaPool::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbMediaPool@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbMediaType::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbMediaType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbObject::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbObject@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbOpRequest::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbOpRequest@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbPartition::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbPartition@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbPhysicalMedia::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbPhysicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbStorageSlot::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbStorageSlot@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbUIDestination::InitDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?InitDbObject@NtmsDbUIDestination@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; private: void __cdecl NtmsDbChanger::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbChanger@@AEAAXXZ
+; private: void __cdecl NtmsDbChangerType::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbChangerType@@AEAAXXZ
+; private: void __cdecl NtmsDbComputer::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbComputer@@AEAAXXZ
+; private: void __cdecl NtmsDbDrive::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbDrive@@AEAAXXZ
+; private: void __cdecl NtmsDbDriveType::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbDriveType@@AEAAXXZ
+; private: void __cdecl NtmsDbIEDoor::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbIEDoor@@AEAAXXZ
+; private: void __cdecl NtmsDbIEPort::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbIEPort@@AEAAXXZ
+; private: void __cdecl NtmsDbLibWorkItem::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbLibWorkItem@@AEAAXXZ
+; private: void __cdecl NtmsDbLibrary::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbLibrary@@AEAAXXZ
+; private: void __cdecl NtmsDbLogicalMedia::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbLogicalMedia@@AEAAXXZ
+; private: void __cdecl NtmsDbMediaPool::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbMediaPool@@AEAAXXZ
+; private: void __cdecl NtmsDbMediaType::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbMediaType@@AEAAXXZ
+; private: void __cdecl NtmsDbObject::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbObject@@AEAAXXZ
+; private: void __cdecl NtmsDbOpRequest::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbOpRequest@@AEAAXXZ
+; private: void __cdecl NtmsDbPartition::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbPartition@@AEAAXXZ
+; private: void __cdecl NtmsDbPhysicalMedia::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbPhysicalMedia@@AEAAXXZ
+; private: void __cdecl NtmsDbStorageSlot::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbStorageSlot@@AEAAXXZ
+; private: void __cdecl NtmsDbUIDestination::InitDefaults(void) __ptr64
+?InitDefaults@NtmsDbUIDestination@@AEAAXXZ
+; public: static int __cdecl NtmsDbDataCtxt::InitMutex(void)
+?InitMutex@NtmsDbDataCtxt@@SAHXZ
+; protected: virtual unsigned long __cdecl NtmsDbObject::InitializeObject(unsigned long) __ptr64
+?InitializeObject@NtmsDbObject@@MEAAKK@Z
+; public: virtual unsigned long __cdecl NtmsDbObject::Insert(class NtmsDbDataCtxt * __ptr64) __ptr64
+?Insert@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
+; public: unsigned short const * __ptr64 __cdecl NtmsDbChanger::InstanceNameW(void)const  __ptr64
+?InstanceNameW@NtmsDbChanger@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbDrive::InstanceNameW(void)const  __ptr64
+?InstanceNameW@NtmsDbDrive@@QEBAPEBGXZ
+; public: unsigned long const  __cdecl NtmsDbLibrary::InventoryMethod(void)const  __ptr64
+?InventoryMethod@NtmsDbLibrary@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbPhysicalMedia::InventoryState(void)const  __ptr64
+?InventoryState@NtmsDbPhysicalMedia@@QEBA?BKXZ
+; public: int __cdecl NtmsDbRecordProp::IsBufferValid(void)const  __ptr64
+?IsBufferValid@NtmsDbRecordProp@@QEBAHXZ
+; public: int __cdecl NtmsDbObject::IsModified(void)const  __ptr64
+?IsModified@NtmsDbObject@@QEBAHXZ
+; public: int __cdecl NtmsDbRecordProp::IsModified(void)const  __ptr64
+?IsModified@NtmsDbRecordProp@@QEBAHXZ
+; public: int __cdecl NtmsDbObject::IsNew(void)const  __ptr64
+?IsNew@NtmsDbObject@@QEBAHXZ
+; public: int __cdecl NtmsDbRecordKey::IsNew(void) __ptr64
+?IsNew@NtmsDbRecordKey@@QEAAHXZ
+; public: int __cdecl NtmsDbRecordProp::IsNull(void)const  __ptr64
+?IsNull@NtmsDbRecordProp@@QEBAHXZ
+; public: int __cdecl NtmsDbError::IsSuccess(void)const  __ptr64
+?IsSuccess@NtmsDbError@@QEBAHXZ
+; public: int __cdecl NtmsDatabase::IsValid(void) __ptr64
+?IsValid@NtmsDatabase@@QEAAHXZ
+; public: int __cdecl NtmsDbDataCtxt::IsValid(void)const  __ptr64
+?IsValid@NtmsDbDataCtxt@@QEBAHXZ
+; public: int __cdecl NtmsDbObject::IsValid(void)const  __ptr64
+?IsValid@NtmsDbObject@@QEBAHXZ
+; public: int __cdecl NtmsDbRecordKey::IsValid(void) __ptr64
+?IsValid@NtmsDbRecordKey@@QEAAHXZ
+; public: int __cdecl NtmsDbRecordProp::IsValid(void)const  __ptr64
+?IsValid@NtmsDbRecordProp@@QEBAHXZ
+; public: int __cdecl NtmsDbRecordPropList::IsValid(void)const  __ptr64
+?IsValid@NtmsDbRecordPropList@@QEBAHXZ
+; public: int __cdecl NtmsDbRecordType::IsValid(void)const  __ptr64
+?IsValid@NtmsDbRecordType@@QEBAHXZ
+; public: int __cdecl NtmsDbSelectionSet::IsValid(void)const  __ptr64
+?IsValid@NtmsDbSelectionSet@@QEBAHXZ
+; public: long __cdecl NtmsDbPropRelation::KeyCount(void) __ptr64
+?KeyCount@NtmsDbPropRelation@@QEAAJXZ
+; public: long __cdecl NtmsDbDrive::LastCleanedTs_IsNotNull(void) __ptr64
+?LastCleanedTs_IsNotNull@NtmsDbDrive@@QEAAJXZ
+; public: struct _SYSTEMTIME const  __cdecl NtmsDbDrive::LastCleanedTs_n(void)const  __ptr64
+?LastCleanedTs_n@NtmsDbDrive@@QEBA?BU_SYSTEMTIME@@XZ
+; public: unsigned long __cdecl NtmsDbObject::LastError(void)const  __ptr64
+?LastError@NtmsDbObject@@QEBAKXZ
+; public: unsigned long __cdecl NtmsDbDataCtxt::LastErrorCode(void)const  __ptr64
+?LastErrorCode@NtmsDbDataCtxt@@QEBAKXZ
+; public: char const * __ptr64 __cdecl NtmsDbObject::LastErrorString(void)const  __ptr64
+?LastErrorString@NtmsDbObject@@QEBAPEBDXZ
+; public: unsigned long __cdecl NtmsDbPropertyValue::LastStatus(void) __ptr64
+?LastStatus@NtmsDbPropertyValue@@QEAAKXZ
+; public: void __cdecl NtmsDbDataCtxt::LeaveConnCritSection(void) __ptr64
+?LeaveConnCritSection@NtmsDbDataCtxt@@QEAAXXZ
+; public: unsigned __int64 __cdecl NtmsDbString::Length(void)const  __ptr64
+?Length@NtmsDbString@@QEBA_KXZ
+; public: unsigned long __cdecl NtmsDbLibrary::LibCurrentMedia(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?LibCurrentMedia@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: long __cdecl NtmsDbPhysicalMedia::LibCurrentMedia_IsNotNull(void)const  __ptr64
+?LibCurrentMedia_IsNotNull@NtmsDbPhysicalMedia@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::LibCurrentMedia_n(void)const  __ptr64
+?LibCurrentMedia_n@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
+; public: long __cdecl NtmsDbComputer::LibReqCleanTime(void)const  __ptr64
+?LibReqCleanTime@NtmsDbComputer@@QEBAJXZ
+; public: unsigned long __cdecl NtmsDbComputer::LibReqFlags(void)const  __ptr64
+?LibReqFlags@NtmsDbComputer@@QEBAKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::LibWorkItems(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?LibWorkItems@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: unsigned long const  __cdecl NtmsDbLibrary::LibraryType(void)const  __ptr64
+?LibraryType@NtmsDbLibrary@@QEBA?BKXZ
+; public: long __cdecl NtmsDbChanger::Library_IsNotNull(void)const  __ptr64
+?Library_IsNotNull@NtmsDbChanger@@QEBAJXZ
+; public: long __cdecl NtmsDbDrive::Library_IsNotNull(void)const  __ptr64
+?Library_IsNotNull@NtmsDbDrive@@QEBAJXZ
+; public: long __cdecl NtmsDbIEDoor::Library_IsNotNull(void)const  __ptr64
+?Library_IsNotNull@NtmsDbIEDoor@@QEBAJXZ
+; public: long __cdecl NtmsDbIEPort::Library_IsNotNull(void)const  __ptr64
+?Library_IsNotNull@NtmsDbIEPort@@QEBAJXZ
+; public: long __cdecl NtmsDbLibWorkItem::Library_IsNotNull(void)const  __ptr64
+?Library_IsNotNull@NtmsDbLibWorkItem@@QEBAJXZ
+; public: long __cdecl NtmsDbStorageSlot::Library_IsNotNull(void)const  __ptr64
+?Library_IsNotNull@NtmsDbStorageSlot@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbChanger::Library_n(void)const  __ptr64
+?Library_n@NtmsDbChanger@@QEBAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbDrive::Library_n(void)const  __ptr64
+?Library_n@NtmsDbDrive@@QEBAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbIEDoor::Library_n(void)const  __ptr64
+?Library_n@NtmsDbIEDoor@@QEBAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbIEPort::Library_n(void)const  __ptr64
+?Library_n@NtmsDbIEPort@@QEBAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::Library_n(void)const  __ptr64
+?Library_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbStorageSlot::Library_n(void)const  __ptr64
+?Library_n@NtmsDbStorageSlot@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long __cdecl NtmsDbComputer::Librarys(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?Librarys@NtmsDbComputer@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: unsigned long const  __cdecl NtmsDbPartition::LifeCycleState(void)const  __ptr64
+?LifeCycleState@NtmsDbPartition@@QEBA?BKXZ
+; public: class NtmsDbRecordKeyList * __ptr64 __cdecl NtmsDbPropRelation::List(void) __ptr64
+?List@NtmsDbPropRelation@@QEAAPEAVNtmsDbRecordKeyList@@XZ
+; private: class NtmsDbRecordKeyList * __ptr64 __cdecl NtmsDbSelectionSet::List(void) __ptr64
+?List@NtmsDbSelectionSet@@AEAAPEAVNtmsDbRecordKeyList@@XZ
+; public: unsigned int __cdecl NtmsDbRecordProp::Load(unsigned char * __ptr64,unsigned long & __ptr64) __ptr64
+?Load@NtmsDbRecordProp@@QEAAIPEAEAEAK@Z
+; public: unsigned long __cdecl NtmsDbMediaPool::LogicalPoolMember(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?LogicalPoolMember@NtmsDbMediaPool@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: long __cdecl NtmsDbPartition::Logicalmedia_IsNotNull(void)const  __ptr64
+?Logicalmedia_IsNotNull@NtmsDbPartition@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPartition::Logicalmedia_n(void)const  __ptr64
+?Logicalmedia_n@NtmsDbPartition@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbMediaPool::MaxAllocates(void)const  __ptr64
+?MaxAllocates@NtmsDbMediaPool@@QEBA?BKXZ
+; public: unsigned short const  __cdecl NtmsDbIEPort::MaxExtendSecs(void)const  __ptr64
+?MaxExtendSecs@NtmsDbIEPort@@QEBA?BGXZ
+; public: unsigned short const  __cdecl NtmsDbIEDoor::MaxOpenSecs(void)const  __ptr64
+?MaxOpenSecs@NtmsDbIEDoor@@QEBA?BGXZ
+; public: long __cdecl NtmsDbLogicalMedia::MediaPoolId_IsNotNull(void) __ptr64
+?MediaPoolId_IsNotNull@NtmsDbLogicalMedia@@QEAAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLogicalMedia::MediaPoolId_n(void)const  __ptr64
+?MediaPoolId_n@NtmsDbLogicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long __cdecl NtmsDbComputer::MediaPoolPolicy(void)const  __ptr64
+?MediaPoolPolicy@NtmsDbComputer@@QEBAKXZ
+; public: long __cdecl NtmsDbComputer::MediaRoot_IsNotNull(void)const  __ptr64
+?MediaRoot_IsNotNull@NtmsDbComputer@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbComputer::MediaRoot_n(void)const  __ptr64
+?MediaRoot_n@NtmsDbComputer@@QEBAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid const  __cdecl NtmsDbMediaPool::MediaType(void)const  __ptr64
+?MediaType@NtmsDbMediaPool@@QEBA?BVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbMediaType::MediaType(void)const  __ptr64
+?MediaType@NtmsDbMediaType@@QEBA?BKXZ
+; public: class NtmsDbGuid const  __cdecl NtmsDbPhysicalMedia::MediaType(void)const  __ptr64
+?MediaType@NtmsDbPhysicalMedia@@QEBA?BVNtmsDbGuid@@XZ
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::MediaTypeCode(void) __ptr64
+?MediaTypeCode@NtmsDbPhysicalMedia@@QEAAKXZ
+; public: long __cdecl NtmsDbMediaPool::MediaType_IsNotNull(void)const  __ptr64
+?MediaType_IsNotNull@NtmsDbMediaPool@@QEBAJXZ
+; public: unsigned long __cdecl NtmsDbLibrary::MediaTypes(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?MediaTypes@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: unsigned short const * __ptr64 __cdecl NtmsDbOpRequest::Message(void)const  __ptr64
+?Message@NtmsDbOpRequest@@QEBAPEBGXZ
+; public: struct _SYSTEMTIME  __cdecl NtmsDbObject::ModifyTs(void)const  __ptr64
+?ModifyTs@NtmsDbObject@@QEBA?AU_SYSTEMTIME@@XZ
+; protected: virtual void __cdecl NtmsDbObject::ModifyValueToNull(long) __ptr64
+?ModifyValueToNull@NtmsDbObject@@MEAAXJ@Z
+; public: unsigned long const  __cdecl NtmsDbPartition::MountCount(void)const  __ptr64
+?MountCount@NtmsDbPartition@@QEBA?BKXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::MountedPartition(void)const  __ptr64
+?MountedPartition@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbMediaPool::MpoolType(void)const  __ptr64
+?MpoolType@NtmsDbMediaPool@@QEBA?BKXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbObject::NameW(void) __ptr64
+?NameW@NtmsDbObject@@QEAAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbObject::NameW(void)const  __ptr64
+?NameW@NtmsDbObject@@QEBAPEBGXZ
+; public: long __cdecl NtmsDbObject::Name_IsNotNull(void) __ptr64
+?Name_IsNotNull@NtmsDbObject@@QEAAJXZ
+; public: char const * __ptr64 __cdecl NtmsDbObject::Name_n(void) __ptr64
+?Name_n@NtmsDbObject@@QEAAPEBDXZ
+; public: short const  __cdecl NtmsDbDrive::NeedsCleaning(void)const  __ptr64
+?NeedsCleaning@NtmsDbDrive@@QEBA?BFXZ
+; public: void __cdecl NtmsDbGuid::New(void) __ptr64
+?New@NtmsDbGuid@@QEAAXXZ
+; public: void __cdecl NtmsDbRecordPropList::NewPropBinary(long,unsigned char * __ptr64,int) __ptr64
+?NewPropBinary@NtmsDbRecordPropList@@QEAAXJPEAEH@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropChar(long,char * __ptr64,int) __ptr64
+?NewPropChar@NtmsDbRecordPropList@@QEAAXJPEADH@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropChar(long,unsigned char * __ptr64,int) __ptr64
+?NewPropChar@NtmsDbRecordPropList@@QEAAXJPEAEH@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropGuid(long,class NtmsDbGuid & __ptr64) __ptr64
+?NewPropGuid@NtmsDbRecordPropList@@QEAAXJAEAVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropGuid(long,class NtmsDbLinkedGuid & __ptr64,class NtmsDbRecordType * __ptr64,long) __ptr64
+?NewPropGuid@NtmsDbRecordPropList@@QEAAXJAEAVNtmsDbLinkedGuid@@PEAVNtmsDbRecordType@@J@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropLargeInt(long,union _LARGE_INTEGER * __ptr64,int) __ptr64
+?NewPropLargeInt@NtmsDbRecordPropList@@QEAAXJPEAT_LARGE_INTEGER@@H@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropLong(long,long * __ptr64,int) __ptr64
+?NewPropLong@NtmsDbRecordPropList@@QEAAXJPEAJH@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropLong(long,unsigned long * __ptr64,int) __ptr64
+?NewPropLong@NtmsDbRecordPropList@@QEAAXJPEAKH@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropRelation(long) __ptr64
+?NewPropRelation@NtmsDbRecordPropList@@QEAAXJ@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropRelation(long,class NtmsDbRecordKeyList * __ptr64) __ptr64
+?NewPropRelation@NtmsDbRecordPropList@@QEAAXJPEAVNtmsDbRecordKeyList@@@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropShort(long,short * __ptr64,int) __ptr64
+?NewPropShort@NtmsDbRecordPropList@@QEAAXJPEAFH@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropShort(long,unsigned short * __ptr64,int) __ptr64
+?NewPropShort@NtmsDbRecordPropList@@QEAAXJPEAGH@Z
+; public: void __cdecl NtmsDbRecordPropList::NewPropTimeDate(long,struct _SYSTEMTIME * __ptr64) __ptr64
+?NewPropTimeDate@NtmsDbRecordPropList@@QEAAXJPEAU_SYSTEMTIME@@@Z
+; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbPropGuid::NewRelationGuid(void) __ptr64
+?NewRelationGuid@NtmsDbPropGuid@@QEAAAEAVNtmsDbGuid@@XZ
+; public: class NtmsDbList::Map * __ptr64 __cdecl NtmsDbList::Map::Next(void) __ptr64
+?Next@Map@NtmsDbList@@QEAAPEAV12@XZ
+; public: long const  __cdecl NtmsDbMediaType::NextSequence(void)const  __ptr64
+?NextSequence@NtmsDbMediaType@@QEBA?BJXZ
+; public: static class NtmsDbPropDataType  NtmsDbRecordPropList::NoType
+?NoType@NtmsDbRecordPropList@@2VNtmsDbPropDataType@@A DATA
+; unsigned long __cdecl NtmsDbInstall(void)
+?NtmsDbInstall@@YAKXZ
+; unsigned long __cdecl NtmsDbRemove(void)
+?NtmsDbRemove@@YAKXZ
+; unsigned long __cdecl NtmsDbShutdown(void)
+?NtmsDbShutdown@@YAKXZ
+; public: int __cdecl NtmsDbGuid::Null(void)const  __ptr64
+?Null@NtmsDbGuid@@QEBAHXZ
+; public: static class NtmsDbGuid const & __ptr64 __cdecl NtmsDbGuid::NullGuid(void)
+?NullGuid@NtmsDbGuid@@SAAEBV1@XZ
+; public: static class NtmsDbRecordUniqueKey  NtmsDbRecordUniqueKey::NullKey
+?NullKey@NtmsDbRecordUniqueKey@@2V1@A DATA
+; public: static class NtmsDbRecordProp  NtmsDbRecordProp::NullProp
+?NullProp@NtmsDbRecordProp@@2V1@A DATA
+; public: unsigned long __cdecl NtmsDbLibrary::NumChangers(void) __ptr64
+?NumChangers@NtmsDbLibrary@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::NumDoors(void) __ptr64
+?NumDoors@NtmsDbLibrary@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::NumDrives(void) __ptr64
+?NumDrives@NtmsDbLibrary@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbMediaPool::NumFolders(void) __ptr64
+?NumFolders@NtmsDbMediaPool@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::NumLibWorkItems(void) __ptr64
+?NumLibWorkItems@NtmsDbLibrary@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbMediaPool::NumLogicalMedia(void) __ptr64
+?NumLogicalMedia@NtmsDbMediaPool@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::NumMedia(void) __ptr64
+?NumMedia@NtmsDbLibrary@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::NumMediaTypes(void) __ptr64
+?NumMediaTypes@NtmsDbLibrary@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::NumPartitions(void) __ptr64
+?NumPartitions@NtmsDbPhysicalMedia@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbMediaPool::NumPhysicalMedia(void) __ptr64
+?NumPhysicalMedia@NtmsDbMediaPool@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::NumPorts(void) __ptr64
+?NumPorts@NtmsDbLibrary@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::NumSlots(void) __ptr64
+?NumSlots@NtmsDbLibrary@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbComputer::NumUIDestinations(unsigned long) __ptr64
+?NumUIDestinations@NtmsDbComputer@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::NumUIDestinations(unsigned long) __ptr64
+?NumUIDestinations@NtmsDbLibrary@@QEAAKK@Z
+; public: unsigned long const  __cdecl NtmsDbChanger::Number(void)const  __ptr64
+?Number@NtmsDbChanger@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbDriveType::NumberOfHeads(void)const  __ptr64
+?NumberOfHeads@NtmsDbDriveType@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbMediaType::NumberOfSides(void)const  __ptr64
+?NumberOfSides@NtmsDbMediaType@@QEBA?BKXZ
+; public: static class NtmsDbObjTypeDef & __ptr64 __cdecl NtmsDbObjTypeDef::ObjTypeDef(unsigned long)
+?ObjTypeDef@NtmsDbObjTypeDef@@SAAEAV1@K@Z
+; void __cdecl ObjectChange(int,short,class NtmsDbGuid const & __ptr64,int)
+?ObjectChange@@YAXHFAEBVNtmsDbGuid@@H@Z
+; public: unsigned long __cdecl NtmsDbObjTypeDef::ObjectCode(void)const  __ptr64
+?ObjectCode@NtmsDbObjTypeDef@@QEBAKXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbObject::ObjectGuid(void) __ptr64
+?ObjectGuid@NtmsDbObject@@QEAAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbSelectionSet::ObjectGuid(long)const  __ptr64
+?ObjectGuid@NtmsDbSelectionSet@@QEBAAEBVNtmsDbGuid@@J@Z
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbObject::ObjectId(void) __ptr64
+?ObjectId@NtmsDbObject@@QEAAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbRecordUniqueKey const & __ptr64 __cdecl NtmsDbSelectionSet::ObjectKey(long)const  __ptr64
+?ObjectKey@NtmsDbSelectionSet@@QEBAAEBVNtmsDbRecordUniqueKey@@J@Z
+; public: unsigned long __cdecl NtmsDbObject::ObjectType(void) __ptr64
+?ObjectType@NtmsDbObject@@QEAAKXZ
+; public: static class NtmsDbObjTypeDef *  NtmsDbObjTypeDef::ObjectTypes
+?ObjectTypes@NtmsDbObjTypeDef@@2PAV1@A DATA
+; public: unsigned long const  __cdecl NtmsDbPartition::OmidLabelIdLength(void)const  __ptr64
+?OmidLabelIdLength@NtmsDbPartition@@QEBA?BKXZ
+; public: unsigned char const * __ptr64 __cdecl NtmsDbPartition::OmidLabelId_n(void)const  __ptr64
+?OmidLabelId_n@NtmsDbPartition@@QEBAPEBEXZ
+; public: long __cdecl NtmsDbComputer::OpReqCleanTime(void)const  __ptr64
+?OpReqCleanTime@NtmsDbComputer@@QEBAJXZ
+; public: unsigned long __cdecl NtmsDbComputer::OpReqFlags(void)const  __ptr64
+?OpReqFlags@NtmsDbComputer@@QEBAKXZ
+; public: unsigned long const  __cdecl NtmsDbLibWorkItem::OperationCode(void)const  __ptr64
+?OperationCode@NtmsDbLibWorkItem@@QEBA?BKXZ
+; public: long __cdecl NtmsDbPhysicalMedia::OperationErrorCode_IsNotNull(void) __ptr64
+?OperationErrorCode_IsNotNull@NtmsDbPhysicalMedia@@QEAAJXZ
+; public: unsigned long const  __cdecl NtmsDbLibWorkItem::OperationOption(void)const  __ptr64
+?OperationOption@NtmsDbLibWorkItem@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbObject::Operational(void)const  __ptr64
+?Operational@NtmsDbObject@@QEBA?BKXZ
+; public: long __cdecl NtmsDbMediaPool::Parent_IsNotNull(void)const  __ptr64
+?Parent_IsNotNull@NtmsDbMediaPool@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbMediaPool::Parent_n(void)const  __ptr64
+?Parent_n@NtmsDbMediaPool@@QEBAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLogicalMedia::Partition(void)const  __ptr64
+?Partition@NtmsDbLogicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
+; public: long __cdecl NtmsDbLibWorkItem::PartitionId_IsNotNull(void) __ptr64
+?PartitionId_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::PartitionId_n(void)const  __ptr64
+?PartitionId_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
+; public: short const  __cdecl NtmsDbPartition::PartitionNumber(void)const  __ptr64
+?PartitionNumber@NtmsDbPartition@@QEBA?BFXZ
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::Partitions(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?Partitions@NtmsDbPhysicalMedia@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: unsigned short const * __ptr64 __cdecl NtmsDbChanger::PathNameW(void)const  __ptr64
+?PathNameW@NtmsDbChanger@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbDrive::PathNameW(void)const  __ptr64
+?PathNameW@NtmsDbDrive@@QEBAPEBGXZ
+; public: long __cdecl NtmsDbChanger::PathName_IsNotNull(void) __ptr64
+?PathName_IsNotNull@NtmsDbChanger@@QEAAJXZ
+; public: long __cdecl NtmsDbDrive::PathName_IsNotNull(void) __ptr64
+?PathName_IsNotNull@NtmsDbDrive@@QEAAJXZ
+; public: char const * __ptr64 __cdecl NtmsDbChanger::PathName_n(void) __ptr64
+?PathName_n@NtmsDbChanger@@QEAAPEBDXZ
+; public: char const * __ptr64 __cdecl NtmsDbDrive::PathName_n(void) __ptr64
+?PathName_n@NtmsDbDrive@@QEAAPEBDXZ
+; public: long __cdecl NtmsDbPhysicalMedia::PhysLocId_IsNotNull(void) __ptr64
+?PhysLocId_IsNotNull@NtmsDbPhysicalMedia@@QEAAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::PhysLocId_n(void)const  __ptr64
+?PhysLocId_n@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbPhysicalMedia::PhysLocType(void)const  __ptr64
+?PhysLocType@NtmsDbPhysicalMedia@@QEBA?BKXZ
+; public: long const  __cdecl NtmsDbPhysicalMedia::PhysMediaErrorCode_n(void)const  __ptr64
+?PhysMediaErrorCode_n@NtmsDbPhysicalMedia@@QEBA?BJXZ
+; public: long __cdecl NtmsDbLibWorkItem::PhysMediaId_IsNotNull(void) __ptr64
+?PhysMediaId_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::PhysMediaId_n(void)const  __ptr64
+?PhysMediaId_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbPhysicalMedia::PhysMediaState(void)const  __ptr64
+?PhysMediaState@NtmsDbPhysicalMedia@@QEBA?BKXZ
+; public: long __cdecl NtmsDbPartition::Physicalmedia_IsNotNull(void)const  __ptr64
+?Physicalmedia_IsNotNull@NtmsDbPartition@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPartition::Physicalmedia_n(void)const  __ptr64
+?Physicalmedia_n@NtmsDbPartition@@QEBAAEBVNtmsDbGuid@@XZ
+; public: long __cdecl NtmsDbList::Map::Place(long)const  __ptr64
+?Place@Map@NtmsDbList@@QEBAJJ@Z
+; public: unsigned long __cdecl NtmsDbMediaPool::PoolMember(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?PoolMember@NtmsDbMediaPool@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: long __cdecl NtmsDbPhysicalMedia::PoolMember_IsNotNull(void)const  __ptr64
+?PoolMember_IsNotNull@NtmsDbPhysicalMedia@@QEBAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbPhysicalMedia::PoolMember_n(void)const  __ptr64
+?PoolMember_n@NtmsDbPhysicalMedia@@QEBAAEBVNtmsDbGuid@@XZ
+; public: class NtmsDbGuid & __ptr64 __cdecl NtmsDbPropGuid::PreviousRelationGuid(void) __ptr64
+?PreviousRelationGuid@NtmsDbPropGuid@@QEAAAEAVNtmsDbGuid@@XZ
+; public: void __cdecl NtmsDbGuid::Print(void)const  __ptr64
+?Print@NtmsDbGuid@@QEBAXXZ
+; public: unsigned long __cdecl NtmsDbLibWorkItem::Priority(void) __ptr64
+?Priority@NtmsDbLibWorkItem@@QEAAKXZ
+; public: char const * __ptr64 __cdecl NtmsDbChangerType::Product(void) __ptr64
+?Product@NtmsDbChangerType@@QEAAPEBDXZ
+; public: char const * __ptr64 __cdecl NtmsDbDriveType::Product(void) __ptr64
+?Product@NtmsDbDriveType@@QEAAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbChangerType::ProductW(void)const  __ptr64
+?ProductW@NtmsDbChangerType@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbDriveType::ProductW(void)const  __ptr64
+?ProductW@NtmsDbDriveType@@QEBAPEBGXZ
+; public: short __cdecl NtmsDbPropHeader::PropCode(void)const  __ptr64
+?PropCode@NtmsDbPropHeader@@QEBAFXZ
+; public: long __cdecl NtmsDbPropertyValue::PropCode(void)const  __ptr64
+?PropCode@NtmsDbPropertyValue@@QEBAJXZ
+; public: unsigned long __cdecl NtmsDbRecordPropList::PropertySpace(void) __ptr64
+?PropertySpace@NtmsDbRecordPropList@@QEAAKXZ
+; public: class NtmsDbPropDataType const & __ptr64 __cdecl NtmsDbRecordPropList::PropertyType(void) __ptr64
+?PropertyType@NtmsDbRecordPropList@@QEAAAEBVNtmsDbPropDataType@@XZ
+; public: int __cdecl NtmsDbLibWorkItem::Protected(void) __ptr64
+?Protected@NtmsDbLibWorkItem@@QEAAHXZ
+; public: long __cdecl NtmsDbList::Map::Put(long,class NtmsDbListItem & __ptr64) __ptr64
+?Put@Map@NtmsDbList@@QEAAJJAEAVNtmsDbListItem@@@Z
+; public: int __cdecl NtmsDbRecordPropList::Quantity(void)const  __ptr64
+?Quantity@NtmsDbRecordPropList@@QEBAHXZ
+; private: void __cdecl NtmsDbRecordPropList::ReCount(void) __ptr64
+?ReCount@NtmsDbRecordPropList@@AEAAXXZ
+; protected: void __cdecl NtmsDbObject::ReadObjectRecord(class NtmsDbDataCtxt * __ptr64,class NtmsDbRecordKey & __ptr64,class NtmsDbRecordRev & __ptr64,class NtmsDbRecordPropList * __ptr64) __ptr64
+?ReadObjectRecord@NtmsDbObject@@IEAAXPEAVNtmsDbDataCtxt@@AEAVNtmsDbRecordKey@@AEAVNtmsDbRecordRev@@PEAVNtmsDbRecordPropList@@@Z
+; public: virtual unsigned long __cdecl NtmsDbObject::Refresh(class NtmsDbDataCtxt * __ptr64) __ptr64
+?Refresh@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
+; public: void __cdecl NtmsDbObjTypeDef::Register(void) __ptr64
+?Register@NtmsDbObjTypeDef@@QEAAXXZ
+; protected: void __cdecl NtmsDbDataCtxt::RegisterObMeta(void) __ptr64
+?RegisterObMeta@NtmsDbDataCtxt@@IEAAXXZ
+; protected: void __cdecl NtmsDbObject::RegisterObjectRecord(class NtmsDbDataCtxt * __ptr64,class NtmsDbRecordType & __ptr64,char * __ptr64) __ptr64
+?RegisterObjectRecord@NtmsDbObject@@IEAAXPEAVNtmsDbDataCtxt@@AEAVNtmsDbRecordType@@PEAD@Z
+; public: long __cdecl NtmsDbPropGuid::RelationProperty(void)const  __ptr64
+?RelationProperty@NtmsDbPropGuid@@QEBAJXZ
+; public: class NtmsDbRecordType const & __ptr64 __cdecl NtmsDbPropGuid::RelationType(void)const  __ptr64
+?RelationType@NtmsDbPropGuid@@QEBAAEBVNtmsDbRecordType@@XZ
+; public: static void __cdecl NtmsDbDataCtxt::ReleaseChangeMutex(void)
+?ReleaseChangeMutex@NtmsDbDataCtxt@@SAXXZ
+; public: void __cdecl NtmsDbList::Map::Remove(long) __ptr64
+?Remove@Map@NtmsDbList@@QEAAXJ@Z
+; public: virtual unsigned long __cdecl NtmsDbLibrary::Remove(class NtmsDbDataCtxt * __ptr64) __ptr64
+?Remove@NtmsDbLibrary@@UEAAKPEAVNtmsDbDataCtxt@@@Z
+; public: virtual unsigned long __cdecl NtmsDbObject::Remove(class NtmsDbDataCtxt * __ptr64) __ptr64
+?Remove@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
+; public: unsigned long __cdecl NtmsDbLibrary::RemoveMediaType(class NtmsDbGuid const & __ptr64) __ptr64
+?RemoveMediaType@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: virtual unsigned long __cdecl NtmsDbObject::RemoveRegardless(class NtmsDbDataCtxt * __ptr64) __ptr64
+?RemoveRegardless@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
+; public: unsigned long __cdecl NtmsDbComputer::RemoveUIDestination(unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
+?RemoveUIDestination@NtmsDbComputer@@QEAAKKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbLibrary::RemoveUIDestination(unsigned long,class NtmsDbGuid const & __ptr64) __ptr64
+?RemoveUIDestination@NtmsDbLibrary@@QEAAKKAEBVNtmsDbGuid@@@Z
+; protected: void __cdecl NtmsDbString::ReplaceString(char const * __ptr64) __ptr64
+?ReplaceString@NtmsDbString@@IEAAXPEBD@Z
+; public: unsigned long __cdecl NtmsDbObject::ReportSpecificError(unsigned long)const  __ptr64
+?ReportSpecificError@NtmsDbObject@@QEBAKK@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::Request(void)const  __ptr64
+?Request@NtmsDbOpRequest@@QEBAKXZ
+; public: void __cdecl NtmsDbList::Reset(void) __ptr64
+?Reset@NtmsDbList@@QEAAXXZ
+; public: void __cdecl NtmsDbRecordPropList::Reset(void) __ptr64
+?Reset@NtmsDbRecordPropList@@QEAAXXZ
+; public: virtual void __cdecl NtmsDbSelectionSet::Reset(void) __ptr64
+?Reset@NtmsDbSelectionSet@@UEAAXXZ
+; public: char const * __ptr64 __cdecl NtmsDbChanger::Revision(void) __ptr64
+?Revision@NtmsDbChanger@@QEAAPEBDXZ
+; public: char const * __ptr64 __cdecl NtmsDbDrive::Revision(void) __ptr64
+?Revision@NtmsDbDrive@@QEAAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbChanger::RevisionW(void)const  __ptr64
+?RevisionW@NtmsDbChanger@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbDrive::RevisionW(void)const  __ptr64
+?RevisionW@NtmsDbDrive@@QEBAPEBGXZ
+; public: unsigned long __cdecl NtmsDbDataCtxt::RollbackTransaction(void) __ptr64
+?RollbackTransaction@NtmsDbDataCtxt@@QEAAKXZ
+; public: long __cdecl NtmsDbDrive::SavedPartitionId_IsNotNull(void) __ptr64
+?SavedPartitionId_IsNotNull@NtmsDbDrive@@QEAAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbDrive::SavedPartitionId_n(void)const  __ptr64
+?SavedPartitionId_n@NtmsDbDrive@@QEBAAEBVNtmsDbGuid@@XZ
+; public: long __cdecl NtmsDbChanger::ScsiBus_IsNotNull(void) __ptr64
+?ScsiBus_IsNotNull@NtmsDbChanger@@QEAAJXZ
+; public: long __cdecl NtmsDbDrive::ScsiBus_IsNotNull(void) __ptr64
+?ScsiBus_IsNotNull@NtmsDbDrive@@QEAAJXZ
+; public: unsigned short const  __cdecl NtmsDbChanger::ScsiBus_n(void)const  __ptr64
+?ScsiBus_n@NtmsDbChanger@@QEBA?BGXZ
+; public: unsigned short const  __cdecl NtmsDbDrive::ScsiBus_n(void)const  __ptr64
+?ScsiBus_n@NtmsDbDrive@@QEBA?BGXZ
+; public: long __cdecl NtmsDbChanger::ScsiLun_IsNotNull(void) __ptr64
+?ScsiLun_IsNotNull@NtmsDbChanger@@QEAAJXZ
+; public: long __cdecl NtmsDbDrive::ScsiLun_IsNotNull(void) __ptr64
+?ScsiLun_IsNotNull@NtmsDbDrive@@QEAAJXZ
+; public: unsigned short const  __cdecl NtmsDbChanger::ScsiLun_n(void)const  __ptr64
+?ScsiLun_n@NtmsDbChanger@@QEBA?BGXZ
+; public: unsigned short const  __cdecl NtmsDbDrive::ScsiLun_n(void)const  __ptr64
+?ScsiLun_n@NtmsDbDrive@@QEBA?BGXZ
+; public: long __cdecl NtmsDbChanger::ScsiPort_IsNotNull(void) __ptr64
+?ScsiPort_IsNotNull@NtmsDbChanger@@QEAAJXZ
+; public: long __cdecl NtmsDbDrive::ScsiPort_IsNotNull(void) __ptr64
+?ScsiPort_IsNotNull@NtmsDbDrive@@QEAAJXZ
+; public: unsigned short const  __cdecl NtmsDbChanger::ScsiPort_n(void)const  __ptr64
+?ScsiPort_n@NtmsDbChanger@@QEBA?BGXZ
+; public: unsigned short const  __cdecl NtmsDbDrive::ScsiPort_n(void)const  __ptr64
+?ScsiPort_n@NtmsDbDrive@@QEBA?BGXZ
+; public: long __cdecl NtmsDbChanger::ScsiTarget_IsNotNull(void) __ptr64
+?ScsiTarget_IsNotNull@NtmsDbChanger@@QEAAJXZ
+; public: long __cdecl NtmsDbDrive::ScsiTarget_IsNotNull(void) __ptr64
+?ScsiTarget_IsNotNull@NtmsDbDrive@@QEAAJXZ
+; public: unsigned short const  __cdecl NtmsDbChanger::ScsiTarget_n(void)const  __ptr64
+?ScsiTarget_n@NtmsDbChanger@@QEBA?BGXZ
+; public: unsigned short const  __cdecl NtmsDbDrive::ScsiTarget_n(void)const  __ptr64
+?ScsiTarget_n@NtmsDbDrive@@QEBA?BGXZ
+; public: void __cdecl NtmsDbSelectionSet::Select(class NtmsDbDataCtxt * __ptr64,unsigned long) __ptr64
+?Select@NtmsDbSelectionSet@@QEAAXPEAVNtmsDbDataCtxt@@K@Z
+; public: unsigned short const * __ptr64 __cdecl NtmsDbChanger::SerialNumberW(void)const  __ptr64
+?SerialNumberW@NtmsDbChanger@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbDrive::SerialNumberW(void)const  __ptr64
+?SerialNumberW@NtmsDbDrive@@QEBAPEBGXZ
+; public: long __cdecl NtmsDbChanger::SerialNumber_IsNotNull(void) __ptr64
+?SerialNumber_IsNotNull@NtmsDbChanger@@QEAAJXZ
+; public: long __cdecl NtmsDbDrive::SerialNumber_IsNotNull(void) __ptr64
+?SerialNumber_IsNotNull@NtmsDbDrive@@QEAAJXZ
+; public: char const * __ptr64 __cdecl NtmsDbChanger::SerialNumber_n(void) __ptr64
+?SerialNumber_n@NtmsDbChanger@@QEAAPEBDXZ
+; public: char const * __ptr64 __cdecl NtmsDbDrive::SerialNumber_n(void) __ptr64
+?SerialNumber_n@NtmsDbDrive@@QEAAPEBDXZ
+; public: void __cdecl NtmsDbList::Map::Set(long,class NtmsDbListItem * __ptr64) __ptr64
+?Set@Map@NtmsDbList@@QEAAXJPEAVNtmsDbListItem@@@Z
+; public: unsigned long __cdecl NtmsDbObject::SetAdminControlSecurity(void) __ptr64
+?SetAdminControlSecurity@NtmsDbObject@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbPartition::SetAllocOption(unsigned long) __ptr64
+?SetAllocOption@NtmsDbPartition@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPartition::SetAllocateCount(unsigned long) __ptr64
+?SetAllocateCount@NtmsDbPartition@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbMediaPool::SetAllocationPolicy(unsigned long) __ptr64
+?SetAllocationPolicy@NtmsDbMediaPool@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetApplication(unsigned short const * __ptr64) __ptr64
+?SetApplication@NtmsDbLibWorkItem@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetApplication(unsigned short const * __ptr64) __ptr64
+?SetApplication@NtmsDbOpRequest@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetArg1(class NtmsDbGuid const & __ptr64) __ptr64
+?SetArg1@NtmsDbOpRequest@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetArg1Type(unsigned long) __ptr64
+?SetArg1Type@NtmsDbOpRequest@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetArg2(class NtmsDbGuid const & __ptr64) __ptr64
+?SetArg2@NtmsDbOpRequest@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetArg2Type(unsigned long) __ptr64
+?SetArg2Type@NtmsDbOpRequest@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetAssocWorkItem(class NtmsDbGuid const & __ptr64) __ptr64
+?SetAssocWorkItem@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbLibWorkItem::SetAssocWorkItem_Null(void) __ptr64
+?SetAssocWorkItem_Null@NtmsDbLibWorkItem@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbObject::SetAttribute(class NtmsDbDataCtxt * __ptr64,char const * __ptr64,void * __ptr64,unsigned long) __ptr64
+?SetAttribute@NtmsDbObject@@QEAAKPEAVNtmsDbDataCtxt@@PEBDPEAXK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetAutoRecovery(short) __ptr64
+?SetAutoRecovery@NtmsDbLibrary@@QEAAKF@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetBarCodeReader(short) __ptr64
+?SetBarCodeReader@NtmsDbLibrary@@QEAAKF@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetBarcode(char const * __ptr64) __ptr64
+?SetBarcode@NtmsDbPhysicalMedia@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetBarcodeState(unsigned long) __ptr64
+?SetBarcodeState@NtmsDbPhysicalMedia@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetBarcodeW(unsigned short const * __ptr64) __ptr64
+?SetBarcodeW@NtmsDbPhysicalMedia@@QEAAKPEBG@Z
+; public: void __cdecl NtmsDbPhysicalMedia::SetBarcode_Null(void) __ptr64
+?SetBarcode_Null@NtmsDbPhysicalMedia@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbPartition::SetCapacity(union _LARGE_INTEGER) __ptr64
+?SetCapacity@NtmsDbPartition@@QEAAKT_LARGE_INTEGER@@@Z
+; public: unsigned long __cdecl NtmsDbChanger::SetChangerType(class NtmsDbGuid const & __ptr64) __ptr64
+?SetChangerType@NtmsDbChanger@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetCleanerSlot(class NtmsDbGuid const & __ptr64) __ptr64
+?SetCleanerSlot@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbLibrary::SetCleanerSlot_Null(void) __ptr64
+?SetCleanerSlot_Null@NtmsDbLibrary@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbLibrary::SetCleansRemaining(unsigned long) __ptr64
+?SetCleansRemaining@NtmsDbLibrary@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetComputer(class NtmsDbGuid const & __ptr64) __ptr64
+?SetComputer@NtmsDbDrive@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetComputer(unsigned short const * __ptr64) __ptr64
+?SetComputer@NtmsDbLibWorkItem@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetComputer(class NtmsDbGuid const & __ptr64) __ptr64
+?SetComputer@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetComputer(unsigned short const * __ptr64) __ptr64
+?SetComputer@NtmsDbOpRequest@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbUIDestination::SetComputer(unsigned short * __ptr64 const) __ptr64
+?SetComputer@NtmsDbUIDestination@@QEAAKQEAG@Z
+; public: void __cdecl NtmsDbDrive::SetComputer_Null(void) __ptr64
+?SetComputer_Null@NtmsDbDrive@@QEAAXXZ
+; public: void __cdecl NtmsDbLibrary::SetComputer_Null(void) __ptr64
+?SetComputer_Null@NtmsDbLibrary@@QEAAXXZ
+; public: void __cdecl NtmsDbPropHeader::SetCount(long) __ptr64
+?SetCount@NtmsDbPropHeader@@QEAAXJ@Z
+; public: void __cdecl NtmsDbRecordProp::SetData(void * __ptr64) __ptr64
+?SetData@NtmsDbRecordProp@@QEAAXPEAX@Z
+; protected: virtual void __cdecl NtmsDbChanger::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbChanger@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbChangerType::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbChangerType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbComputer::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbComputer@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbDrive::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbDrive@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbDriveType::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbDriveType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbIEDoor::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbIEDoor@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbIEPort::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbIEPort@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLibWorkItem::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbLibWorkItem@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLibrary::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbLibrary@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbLogicalMedia::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbLogicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbMediaPool::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbMediaPool@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbMediaType::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbMediaType@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbObject::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbObject@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbOpRequest::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbOpRequest@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbPartition::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbPartition@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbPhysicalMedia::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbPhysicalMedia@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbStorageSlot::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbStorageSlot@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; protected: virtual void __cdecl NtmsDbUIDestination::SetDbObject(class NtmsDbDataCtxt * __ptr64) __ptr64
+?SetDbObject@NtmsDbUIDestination@@MEAAXPEAVNtmsDbDataCtxt@@@Z
+; public: unsigned long __cdecl NtmsDbMediaPool::SetDeallocationPolicy(unsigned long) __ptr64
+?SetDeallocationPolicy@NtmsDbMediaPool@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetDefCleanerSlot(class NtmsDbGuid const & __ptr64) __ptr64
+?SetDefCleanerSlot@NtmsDbLibrary@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbLibrary::SetDefCleanerSlot_Null(void) __ptr64
+?SetDefCleanerSlot_Null@NtmsDbLibrary@@QEAAXXZ
+; public: void __cdecl NtmsDbProperty::SetDefault(void) __ptr64
+?SetDefault@NtmsDbProperty@@QEAAXXZ
+; public: void __cdecl NtmsDbRecordProp::SetDefault(void) __ptr64
+?SetDefault@NtmsDbRecordProp@@QEAAXXZ
+; public: void __cdecl NtmsDbObject::SetDefaultValue(class NtmsDbProperty * __ptr64) __ptr64
+?SetDefaultValue@NtmsDbObject@@QEAAXPEAVNtmsDbProperty@@@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetDeferDelay(unsigned long) __ptr64
+?SetDeferDelay@NtmsDbDrive@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetDensityCode(unsigned long) __ptr64
+?SetDensityCode@NtmsDbPhysicalMedia@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbObject::SetDescription(char const * __ptr64) __ptr64
+?SetDescription@NtmsDbObject@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbObject::SetDescriptionW(unsigned short const * __ptr64) __ptr64
+?SetDescriptionW@NtmsDbObject@@QEAAKPEBG@Z
+; public: void __cdecl NtmsDbObject::SetDescription_Null(void) __ptr64
+?SetDescription_Null@NtmsDbObject@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbChangerType::SetDeviceType(unsigned long) __ptr64
+?SetDeviceType@NtmsDbChangerType@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbMediaType::SetDeviceType(unsigned long) __ptr64
+?SetDeviceType@NtmsDbMediaType@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetDriveId(class NtmsDbGuid const & __ptr64) __ptr64
+?SetDriveId@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbLibWorkItem::SetDriveId_Null(void) __ptr64
+?SetDriveId_Null@NtmsDbLibWorkItem@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbDrive::SetDriveLetter(unsigned short const * __ptr64) __ptr64
+?SetDriveLetter@NtmsDbDrive@@QEAAKPEBG@Z
+; public: void __cdecl NtmsDbDrive::SetDriveLetter_Null(void) __ptr64
+?SetDriveLetter_Null@NtmsDbDrive@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbDrive::SetDriveNumber(unsigned long) __ptr64
+?SetDriveNumber@NtmsDbDrive@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetDriveState(unsigned long) __ptr64
+?SetDriveState@NtmsDbDrive@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetDriveType(class NtmsDbGuid const & __ptr64) __ptr64
+?SetDriveType@NtmsDbDrive@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbDriveType::SetDriveType(unsigned long) __ptr64
+?SetDriveType@NtmsDbDriveType@@QEAAKK@Z
+; public: void __cdecl NtmsDbList::SetDynamic(int) __ptr64
+?SetDynamic@NtmsDbList@@QEAAXH@Z
+; public: void __cdecl NtmsDbRecordProp::SetDynamic(void) __ptr64
+?SetDynamic@NtmsDbRecordProp@@QEAAXXZ
+; public: void __cdecl NtmsDbSelectionSet::SetDynamic(int) __ptr64
+?SetDynamic@NtmsDbSelectionSet@@QEAAXH@Z
+; public: unsigned long __cdecl NtmsDbObject::SetEnabled(short) __ptr64
+?SetEnabled@NtmsDbObject@@QEAAKF@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetErrorCode(unsigned long) __ptr64
+?SetErrorCode@NtmsDbLibWorkItem@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbIEPort::SetExtendState(unsigned long) __ptr64
+?SetExtendState@NtmsDbIEPort@@QEAAKK@Z
+; public: void __cdecl NtmsDbFile::SetFileStatus(unsigned long) __ptr64
+?SetFileStatus@NtmsDbFile@@QEAAXK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetFirstChangerNumber(unsigned long) __ptr64
+?SetFirstChangerNumber@NtmsDbLibrary@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetFirstDriveNumber(unsigned long) __ptr64
+?SetFirstDriveNumber@NtmsDbLibrary@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetFirstPortNumber(unsigned long) __ptr64
+?SetFirstPortNumber@NtmsDbLibrary@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetFirstSlotNumber(unsigned long) __ptr64
+?SetFirstSlotNumber@NtmsDbLibrary@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetFixedOffline(short) __ptr64
+?SetFixedOffline@NtmsDbLibrary@@QEAAKF@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetFlags(unsigned long) __ptr64
+?SetFlags@NtmsDbLibrary@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbIEPort::SetFullState(unsigned long) __ptr64
+?SetFullState@NtmsDbIEPort@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetHomeSlotId(class NtmsDbGuid const & __ptr64) __ptr64
+?SetHomeSlotId@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbPhysicalMedia::SetHomeSlotId_Null(void) __ptr64
+?SetHomeSlotId_Null@NtmsDbPhysicalMedia@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbIEDoor::SetIEDoorNumber(unsigned long) __ptr64
+?SetIEDoorNumber@NtmsDbIEDoor@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbIEDoor::SetIEDoorState(unsigned long) __ptr64
+?SetIEDoorState@NtmsDbIEDoor@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbIEPort::SetIEPortNumber(unsigned long) __ptr64
+?SetIEPortNumber@NtmsDbIEPort@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbChanger::SetInstanceNameW(unsigned short const * __ptr64) __ptr64
+?SetInstanceNameW@NtmsDbChanger@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetInstanceNameW(unsigned short const * __ptr64) __ptr64
+?SetInstanceNameW@NtmsDbDrive@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetInventoryMethod(unsigned long) __ptr64
+?SetInventoryMethod@NtmsDbLibrary@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetInventoryState(unsigned long) __ptr64
+?SetInventoryState@NtmsDbPhysicalMedia@@QEAAKK@Z
+; public: void __cdecl NtmsDbPropRecordClass::SetKey(class NtmsDbRecordKey & __ptr64) __ptr64
+?SetKey@NtmsDbPropRecordClass@@QEAAXAEAVNtmsDbRecordKey@@@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetLastCleanedTs(struct _SYSTEMTIME) __ptr64
+?SetLastCleanedTs@NtmsDbDrive@@QEAAKU_SYSTEMTIME@@@Z
+; public: void __cdecl NtmsDbDrive::SetLastCleanedTs_Null(void) __ptr64
+?SetLastCleanedTs_Null@NtmsDbDrive@@QEAAXXZ
+; public: void __cdecl NtmsDbRecordProp::SetLength(long) __ptr64
+?SetLength@NtmsDbRecordProp@@QEAAXJ@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetLibCurrentMedia(class NtmsDbGuid const & __ptr64) __ptr64
+?SetLibCurrentMedia@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbPhysicalMedia::SetLibCurrentMedia_Null(void) __ptr64
+?SetLibCurrentMedia_Null@NtmsDbPhysicalMedia@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbComputer::SetLibReqCleanTime(long) __ptr64
+?SetLibReqCleanTime@NtmsDbComputer@@QEAAKJ@Z
+; public: unsigned long __cdecl NtmsDbComputer::SetLibReqFlags(unsigned long) __ptr64
+?SetLibReqFlags@NtmsDbComputer@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbChanger::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
+?SetLibrary@NtmsDbChanger@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
+?SetLibrary@NtmsDbDrive@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbIEDoor::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
+?SetLibrary@NtmsDbIEDoor@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbIEPort::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
+?SetLibrary@NtmsDbIEPort@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
+?SetLibrary@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbStorageSlot::SetLibrary(class NtmsDbGuid const & __ptr64) __ptr64
+?SetLibrary@NtmsDbStorageSlot@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetLibraryType(unsigned long) __ptr64
+?SetLibraryType@NtmsDbLibrary@@QEAAKK@Z
+; public: void __cdecl NtmsDbChanger::SetLibrary_Null(void) __ptr64
+?SetLibrary_Null@NtmsDbChanger@@QEAAXXZ
+; public: void __cdecl NtmsDbDrive::SetLibrary_Null(void) __ptr64
+?SetLibrary_Null@NtmsDbDrive@@QEAAXXZ
+; public: void __cdecl NtmsDbIEDoor::SetLibrary_Null(void) __ptr64
+?SetLibrary_Null@NtmsDbIEDoor@@QEAAXXZ
+; public: void __cdecl NtmsDbIEPort::SetLibrary_Null(void) __ptr64
+?SetLibrary_Null@NtmsDbIEPort@@QEAAXXZ
+; public: void __cdecl NtmsDbLibWorkItem::SetLibrary_Null(void) __ptr64
+?SetLibrary_Null@NtmsDbLibWorkItem@@QEAAXXZ
+; public: void __cdecl NtmsDbStorageSlot::SetLibrary_Null(void) __ptr64
+?SetLibrary_Null@NtmsDbStorageSlot@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbPartition::SetLifeCycleState(unsigned long) __ptr64
+?SetLifeCycleState@NtmsDbPartition@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPartition::SetLogicalmedia(class NtmsDbGuid const & __ptr64) __ptr64
+?SetLogicalmedia@NtmsDbPartition@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbPartition::SetLogicalmedia_Null(void) __ptr64
+?SetLogicalmedia_Null@NtmsDbPartition@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbMediaPool::SetMaxAllocates(unsigned long) __ptr64
+?SetMaxAllocates@NtmsDbMediaPool@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbIEPort::SetMaxExtendSecs(unsigned short) __ptr64
+?SetMaxExtendSecs@NtmsDbIEPort@@QEAAKG@Z
+; public: unsigned long __cdecl NtmsDbIEDoor::SetMaxOpenSecs(unsigned short) __ptr64
+?SetMaxOpenSecs@NtmsDbIEDoor@@QEAAKG@Z
+; public: unsigned long __cdecl NtmsDbLogicalMedia::SetMediaPoolId(class NtmsDbGuid const & __ptr64) __ptr64
+?SetMediaPoolId@NtmsDbLogicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbLogicalMedia::SetMediaPoolId_Null(void) __ptr64
+?SetMediaPoolId_Null@NtmsDbLogicalMedia@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbComputer::SetMediaPoolPolicy(unsigned long) __ptr64
+?SetMediaPoolPolicy@NtmsDbComputer@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbComputer::SetMediaRoot(class NtmsDbGuid const & __ptr64) __ptr64
+?SetMediaRoot@NtmsDbComputer@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbComputer::SetMediaRoot_Null(void) __ptr64
+?SetMediaRoot_Null@NtmsDbComputer@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbMediaPool::SetMediaType(class NtmsDbGuid) __ptr64
+?SetMediaType@NtmsDbMediaPool@@QEAAKVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbMediaType::SetMediaType(unsigned long) __ptr64
+?SetMediaType@NtmsDbMediaType@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetMediaType(class NtmsDbGuid) __ptr64
+?SetMediaType@NtmsDbPhysicalMedia@@QEAAKVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetMediaTypeCode(unsigned long) __ptr64
+?SetMediaTypeCode@NtmsDbPhysicalMedia@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetMessage(unsigned short const * __ptr64) __ptr64
+?SetMessage@NtmsDbOpRequest@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetMessageA(char const * __ptr64) __ptr64
+?SetMessageA@NtmsDbOpRequest@@QEAAKPEBD@Z
+; public: int __cdecl NtmsDbObject::SetModified(long) __ptr64
+?SetModified@NtmsDbObject@@QEAAHJ@Z
+; public: void __cdecl NtmsDbRecordProp::SetModified(void) __ptr64
+?SetModified@NtmsDbRecordProp@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbPartition::SetMountCount(unsigned long) __ptr64
+?SetMountCount@NtmsDbPartition@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetMountedPartition(class NtmsDbGuid const & __ptr64) __ptr64
+?SetMountedPartition@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbMediaPool::SetMpoolType(unsigned long) __ptr64
+?SetMpoolType@NtmsDbMediaPool@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbObject::SetName(char const * __ptr64) __ptr64
+?SetName@NtmsDbObject@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbObject::SetNameW(unsigned short const * __ptr64) __ptr64
+?SetNameW@NtmsDbObject@@QEAAKPEBG@Z
+; public: void __cdecl NtmsDbObject::SetName_Null(void) __ptr64
+?SetName_Null@NtmsDbObject@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbDrive::SetNeedsCleaning(short) __ptr64
+?SetNeedsCleaning@NtmsDbDrive@@QEAAKF@Z
+; public: void __cdecl NtmsDbList::Map::SetNext(class NtmsDbList::Map * __ptr64) __ptr64
+?SetNext@Map@NtmsDbList@@QEAAXPEAV12@@Z
+; public: unsigned long __cdecl NtmsDbMediaType::SetNextSequence(long) __ptr64
+?SetNextSequence@NtmsDbMediaType@@QEAAKJ@Z
+; public: void __cdecl NtmsDatabase::SetNotificationHandler(void (__cdecl*)(int,short,class NtmsDbGuid const & __ptr64,int)) __ptr64
+?SetNotificationHandler@NtmsDatabase@@QEAAXP6AXHFAEBVNtmsDbGuid@@H@Z@Z
+; public: void __cdecl NtmsDbRecordProp::SetNull(void) __ptr64
+?SetNull@NtmsDbRecordProp@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbChanger::SetNumber(unsigned long) __ptr64
+?SetNumber@NtmsDbChanger@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbDriveType::SetNumberOfHeads(unsigned long) __ptr64
+?SetNumberOfHeads@NtmsDbDriveType@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbMediaType::SetNumberOfSides(unsigned long) __ptr64
+?SetNumberOfSides@NtmsDbMediaType@@QEAAKK@Z
+; public: void __cdecl NtmsDbSelectionSet::SetObjectGuid(long,class NtmsDbGuid const & __ptr64) __ptr64
+?SetObjectGuid@NtmsDbSelectionSet@@QEAAXJAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbObject::SetObjectId(class NtmsDbGuid const & __ptr64) __ptr64
+?SetObjectId@NtmsDbObject@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbObject::SetObjectId(char const * __ptr64) __ptr64
+?SetObjectId@NtmsDbObject@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbPartition::SetOmidLabelId(unsigned char const * __ptr64,unsigned long) __ptr64
+?SetOmidLabelId@NtmsDbPartition@@QEAAKPEBEK@Z
+; public: unsigned long __cdecl NtmsDbPartition::SetOmidLabelInfo(unsigned short const * __ptr64) __ptr64
+?SetOmidLabelInfo@NtmsDbPartition@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbPartition::SetOmidLabelType(unsigned short const * __ptr64) __ptr64
+?SetOmidLabelType@NtmsDbPartition@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbComputer::SetOpReqCleanTime(long) __ptr64
+?SetOpReqCleanTime@NtmsDbComputer@@QEAAKJ@Z
+; public: unsigned long __cdecl NtmsDbComputer::SetOpReqFlags(unsigned long) __ptr64
+?SetOpReqFlags@NtmsDbComputer@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetOperationCode(unsigned long) __ptr64
+?SetOperationCode@NtmsDbLibWorkItem@@QEAAKK@Z
+; public: void __cdecl NtmsDbPhysicalMedia::SetOperationErrorCode_Null(void) __ptr64
+?SetOperationErrorCode_Null@NtmsDbPhysicalMedia@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetOperationOption(unsigned long) __ptr64
+?SetOperationOption@NtmsDbLibWorkItem@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbObject::SetOperational(unsigned long) __ptr64
+?SetOperational@NtmsDbObject@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbMediaPool::SetParent(class NtmsDbGuid const & __ptr64) __ptr64
+?SetParent@NtmsDbMediaPool@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbMediaPool::SetParent_Null(void) __ptr64
+?SetParent_Null@NtmsDbMediaPool@@QEAAXXZ
+; public: void __cdecl NtmsDbLogicalMedia::SetPartition(class NtmsDbGuid const & __ptr64) __ptr64
+?SetPartition@NtmsDbLogicalMedia@@QEAAXAEBVNtmsDbGuid@@@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetPartitionId(class NtmsDbGuid const & __ptr64) __ptr64
+?SetPartitionId@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbLibWorkItem::SetPartitionId_Null(void) __ptr64
+?SetPartitionId_Null@NtmsDbLibWorkItem@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbPartition::SetPartitionNumber(short) __ptr64
+?SetPartitionNumber@NtmsDbPartition@@QEAAKF@Z
+; public: unsigned long __cdecl NtmsDbChanger::SetPathName(char const * __ptr64) __ptr64
+?SetPathName@NtmsDbChanger@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetPathName(char const * __ptr64) __ptr64
+?SetPathName@NtmsDbDrive@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbChanger::SetPathNameW(unsigned short const * __ptr64) __ptr64
+?SetPathNameW@NtmsDbChanger@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetPathNameW(unsigned short const * __ptr64) __ptr64
+?SetPathNameW@NtmsDbDrive@@QEAAKPEBG@Z
+; public: void __cdecl NtmsDbChanger::SetPathName_Null(void) __ptr64
+?SetPathName_Null@NtmsDbChanger@@QEAAXXZ
+; public: void __cdecl NtmsDbDrive::SetPathName_Null(void) __ptr64
+?SetPathName_Null@NtmsDbDrive@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPhysLocId(class NtmsDbGuid const & __ptr64) __ptr64
+?SetPhysLocId@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbPhysicalMedia::SetPhysLocId_Null(void) __ptr64
+?SetPhysLocId_Null@NtmsDbPhysicalMedia@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPhysLocType(unsigned long) __ptr64
+?SetPhysLocType@NtmsDbPhysicalMedia@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPhysMediaErrorCode(long) __ptr64
+?SetPhysMediaErrorCode@NtmsDbPhysicalMedia@@QEAAKJ@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetPhysMediaId(class NtmsDbGuid const & __ptr64) __ptr64
+?SetPhysMediaId@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbLibWorkItem::SetPhysMediaId_Null(void) __ptr64
+?SetPhysMediaId_Null@NtmsDbLibWorkItem@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPhysMediaState(unsigned long) __ptr64
+?SetPhysMediaState@NtmsDbPhysicalMedia@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbPartition::SetPhysicalmedia(class NtmsDbGuid const & __ptr64) __ptr64
+?SetPhysicalmedia@NtmsDbPartition@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbPartition::SetPhysicalmedia_Null(void) __ptr64
+?SetPhysicalmedia_Null@NtmsDbPartition@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetPoolMember(class NtmsDbGuid const & __ptr64) __ptr64
+?SetPoolMember@NtmsDbPhysicalMedia@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbPhysicalMedia::SetPoolMember_Null(void) __ptr64
+?SetPoolMember_Null@NtmsDbPhysicalMedia@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetPriority(unsigned long) __ptr64
+?SetPriority@NtmsDbLibWorkItem@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbChangerType::SetProduct(char const * __ptr64) __ptr64
+?SetProduct@NtmsDbChangerType@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbDriveType::SetProduct(char const * __ptr64) __ptr64
+?SetProduct@NtmsDbDriveType@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbChangerType::SetProductW(unsigned short const * __ptr64) __ptr64
+?SetProductW@NtmsDbChangerType@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbDriveType::SetProductW(unsigned short const * __ptr64) __ptr64
+?SetProductW@NtmsDbDriveType@@QEAAKPEBG@Z
+; public: void __cdecl NtmsDbPropHeader::SetPropCode(short) __ptr64
+?SetPropCode@NtmsDbPropHeader@@QEAAXF@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetProtected(int) __ptr64
+?SetProtected@NtmsDbLibWorkItem@@QEAAKH@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetRequest(unsigned long) __ptr64
+?SetRequest@NtmsDbOpRequest@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbChanger::SetRevision(char const * __ptr64) __ptr64
+?SetRevision@NtmsDbChanger@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetRevision(char const * __ptr64) __ptr64
+?SetRevision@NtmsDbDrive@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbChanger::SetRevisionW(unsigned short const * __ptr64) __ptr64
+?SetRevisionW@NtmsDbChanger@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetRevisionW(unsigned short const * __ptr64) __ptr64
+?SetRevisionW@NtmsDbDrive@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetSavedPartitionId(class NtmsDbGuid const & __ptr64) __ptr64
+?SetSavedPartitionId@NtmsDbDrive@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbDrive::SetSavedPartitionId_Null(void) __ptr64
+?SetSavedPartitionId_Null@NtmsDbDrive@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbChanger::SetScsiBus(unsigned short) __ptr64
+?SetScsiBus@NtmsDbChanger@@QEAAKG@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetScsiBus(unsigned short) __ptr64
+?SetScsiBus@NtmsDbDrive@@QEAAKG@Z
+; public: void __cdecl NtmsDbChanger::SetScsiBus_Null(void) __ptr64
+?SetScsiBus_Null@NtmsDbChanger@@QEAAXXZ
+; public: void __cdecl NtmsDbDrive::SetScsiBus_Null(void) __ptr64
+?SetScsiBus_Null@NtmsDbDrive@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbChanger::SetScsiLun(unsigned short) __ptr64
+?SetScsiLun@NtmsDbChanger@@QEAAKG@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetScsiLun(unsigned short) __ptr64
+?SetScsiLun@NtmsDbDrive@@QEAAKG@Z
+; public: void __cdecl NtmsDbChanger::SetScsiLun_Null(void) __ptr64
+?SetScsiLun_Null@NtmsDbChanger@@QEAAXXZ
+; public: void __cdecl NtmsDbDrive::SetScsiLun_Null(void) __ptr64
+?SetScsiLun_Null@NtmsDbDrive@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbChanger::SetScsiPort(unsigned short) __ptr64
+?SetScsiPort@NtmsDbChanger@@QEAAKG@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetScsiPort(unsigned short) __ptr64
+?SetScsiPort@NtmsDbDrive@@QEAAKG@Z
+; public: void __cdecl NtmsDbChanger::SetScsiPort_Null(void) __ptr64
+?SetScsiPort_Null@NtmsDbChanger@@QEAAXXZ
+; public: void __cdecl NtmsDbDrive::SetScsiPort_Null(void) __ptr64
+?SetScsiPort_Null@NtmsDbDrive@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbChanger::SetScsiTarget(unsigned short) __ptr64
+?SetScsiTarget@NtmsDbChanger@@QEAAKG@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetScsiTarget(unsigned short) __ptr64
+?SetScsiTarget@NtmsDbDrive@@QEAAKG@Z
+; public: void __cdecl NtmsDbChanger::SetScsiTarget_Null(void) __ptr64
+?SetScsiTarget_Null@NtmsDbChanger@@QEAAXXZ
+; public: void __cdecl NtmsDbDrive::SetScsiTarget_Null(void) __ptr64
+?SetScsiTarget_Null@NtmsDbDrive@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbObject::SetSecurityDescriptor(void * __ptr64,unsigned long) __ptr64
+?SetSecurityDescriptor@NtmsDbObject@@QEAAKPEAXK@Z
+; public: unsigned long __cdecl NtmsDbPhysicalMedia::SetSequenceNumber(unsigned short const * __ptr64) __ptr64
+?SetSequenceNumber@NtmsDbPhysicalMedia@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbChanger::SetSerialNumber(char const * __ptr64) __ptr64
+?SetSerialNumber@NtmsDbChanger@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetSerialNumber(char const * __ptr64) __ptr64
+?SetSerialNumber@NtmsDbDrive@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbChanger::SetSerialNumberW(unsigned short const * __ptr64) __ptr64
+?SetSerialNumberW@NtmsDbChanger@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbDrive::SetSerialNumberW(unsigned short const * __ptr64) __ptr64
+?SetSerialNumberW@NtmsDbDrive@@QEAAKPEBG@Z
+; public: void __cdecl NtmsDbChanger::SetSerialNumber_Null(void) __ptr64
+?SetSerialNumber_Null@NtmsDbChanger@@QEAAXXZ
+; public: void __cdecl NtmsDbDrive::SetSerialNumber_Null(void) __ptr64
+?SetSerialNumber_Null@NtmsDbDrive@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbPartition::SetSide(unsigned short) __ptr64
+?SetSide@NtmsDbPartition@@QEAAKG@Z
+; public: void __cdecl NtmsDbList::Map::SetSize(long) __ptr64
+?SetSize@Map@NtmsDbList@@QEAAXJ@Z
+; public: void __cdecl NtmsDbPropHeader::SetSize(short) __ptr64
+?SetSize@NtmsDbPropHeader@@QEAAXF@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetSlotId(class NtmsDbGuid const & __ptr64) __ptr64
+?SetSlotId@NtmsDbLibWorkItem@@QEAAKAEBVNtmsDbGuid@@@Z
+; public: void __cdecl NtmsDbLibWorkItem::SetSlotId_Null(void) __ptr64
+?SetSlotId_Null@NtmsDbLibWorkItem@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbStorageSlot::SetSlotNumber(unsigned long) __ptr64
+?SetSlotNumber@NtmsDbStorageSlot@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbStorageSlot::SetSlotState(unsigned long) __ptr64
+?SetSlotState@NtmsDbStorageSlot@@QEAAKK@Z
+; public: void __cdecl NtmsDbFile::SetState(unsigned long) __ptr64
+?SetState@NtmsDbFile@@QEAAXK@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetState(unsigned long) __ptr64
+?SetState@NtmsDbLibWorkItem@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetState(unsigned long) __ptr64
+?SetState@NtmsDbOpRequest@@QEAAKK@Z
+; public: void __cdecl NtmsDbString::SetString(unsigned short const * __ptr64,unsigned long) __ptr64
+?SetString@NtmsDbString@@QEAAXPEBGK@Z
+; public: unsigned long __cdecl NtmsDbLibrary::SetSupportDrvClean(short) __ptr64
+?SetSupportDrvClean@NtmsDbLibrary@@QEAAKF@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetTimeCompleted(struct _SYSTEMTIME) __ptr64
+?SetTimeCompleted@NtmsDbLibWorkItem@@QEAAKU_SYSTEMTIME@@@Z
+; public: void __cdecl NtmsDbLibWorkItem::SetTimeCompleted_Null(void) __ptr64
+?SetTimeCompleted_Null@NtmsDbLibWorkItem@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetTimeQueued(struct _SYSTEMTIME) __ptr64
+?SetTimeQueued@NtmsDbLibWorkItem@@QEAAKU_SYSTEMTIME@@@Z
+; public: void __cdecl NtmsDbLibWorkItem::SetTimeQueued_Null(void) __ptr64
+?SetTimeQueued_Null@NtmsDbLibWorkItem@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbOpRequest::SetTimeSubmitted(struct _SYSTEMTIME) __ptr64
+?SetTimeSubmitted@NtmsDbOpRequest@@QEAAKU_SYSTEMTIME@@@Z
+; public: void __cdecl NtmsDbPropGuid::SetUpToDate(void) __ptr64
+?SetUpToDate@NtmsDbPropGuid@@QEAAXXZ
+; public: unsigned long __cdecl NtmsDbDrive::SetUseCount(unsigned long) __ptr64
+?SetUseCount@NtmsDbDrive@@QEAAKK@Z
+; public: unsigned long __cdecl NtmsDbLibWorkItem::SetUser(unsigned short const * __ptr64) __ptr64
+?SetUser@NtmsDbLibWorkItem@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbOpRequest::SetUser(unsigned short const * __ptr64) __ptr64
+?SetUser@NtmsDbOpRequest@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbChangerType::SetVendor(char const * __ptr64) __ptr64
+?SetVendor@NtmsDbChangerType@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbDriveType::SetVendor(char const * __ptr64) __ptr64
+?SetVendor@NtmsDbDriveType@@QEAAKPEBD@Z
+; public: unsigned long __cdecl NtmsDbChangerType::SetVendorW(unsigned short const * __ptr64) __ptr64
+?SetVendorW@NtmsDbChangerType@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbDriveType::SetVendorW(unsigned short const * __ptr64) __ptr64
+?SetVendorW@NtmsDbDriveType@@QEAAKPEBG@Z
+; public: unsigned long __cdecl NtmsDbMediaType::SetWriteCharacteristics(unsigned long) __ptr64
+?SetWriteCharacteristics@NtmsDbMediaType@@QEAAKK@Z
+; public: static void __cdecl NtmsDbDataCtxt::Shutdown(void)
+?Shutdown@NtmsDbDataCtxt@@SAXXZ
+; public: unsigned short const  __cdecl NtmsDbPartition::Side(void)const  __ptr64
+?Side@NtmsDbPartition@@QEBA?BGXZ
+; public: long __cdecl NtmsDbList::Map::Size(void)const  __ptr64
+?Size@Map@NtmsDbList@@QEBAJXZ
+; public: short __cdecl NtmsDbPropHeader::Size(void)const  __ptr64
+?Size@NtmsDbPropHeader@@QEBAFXZ
+; public: unsigned long __cdecl NtmsDbRecordProp::Size(void)const  __ptr64
+?Size@NtmsDbRecordProp@@QEBAKXZ
+; public: long __cdecl NtmsDbLibWorkItem::SlotId_IsNotNull(void) __ptr64
+?SlotId_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
+; public: class NtmsDbGuid const & __ptr64 __cdecl NtmsDbLibWorkItem::SlotId_n(void)const  __ptr64
+?SlotId_n@NtmsDbLibWorkItem@@QEBAAEBVNtmsDbGuid@@XZ
+; public: unsigned long const  __cdecl NtmsDbStorageSlot::SlotNumber(void)const  __ptr64
+?SlotNumber@NtmsDbStorageSlot@@QEBA?BKXZ
+; public: unsigned long const  __cdecl NtmsDbStorageSlot::SlotState(void)const  __ptr64
+?SlotState@NtmsDbStorageSlot@@QEBA?BKXZ
+; public: unsigned long __cdecl NtmsDbDataCtxt::StartTransaction(void) __ptr64
+?StartTransaction@NtmsDbDataCtxt@@QEAAKXZ
+; public: unsigned long __cdecl NtmsDbFile::State(void) __ptr64
+?State@NtmsDbFile@@QEAAKXZ
+; public: unsigned long const  __cdecl NtmsDbLibWorkItem::State(void)const  __ptr64
+?State@NtmsDbLibWorkItem@@QEBA?BKXZ
+; public: unsigned long __cdecl NtmsDbOpRequest::State(void)const  __ptr64
+?State@NtmsDbOpRequest@@QEBAKXZ
+; public: unsigned long __cdecl NtmsDbSelectionSet::Status(void)const  __ptr64
+?Status@NtmsDbSelectionSet@@QEBAKXZ
+; public: unsigned long __cdecl NtmsDbLibrary::StorageSlots(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64) __ptr64
+?StorageSlots@NtmsDbLibrary@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@@Z
+; public: unsigned int __cdecl NtmsDbRecordProp::Store(unsigned char * __ptr64) __ptr64
+?Store@NtmsDbRecordProp@@QEAAIPEAE@Z
+; public: char * __ptr64 __cdecl NtmsDbGuid::StrGuid(char * __ptr64)const  __ptr64
+?StrGuid@NtmsDbGuid@@QEBAPEADPEAD@Z
+; public: unsigned char * __ptr64 __cdecl NtmsDbGuid::StrGuid(unsigned char * __ptr64)const  __ptr64
+?StrGuid@NtmsDbGuid@@QEBAPEAEPEAE@Z
+; public: unsigned short * __ptr64 __cdecl NtmsDbGuid::StrGuidW(unsigned short * __ptr64)const  __ptr64
+?StrGuidW@NtmsDbGuid@@QEBAPEAGPEAG@Z
+; public: unsigned long __cdecl NtmsDbObjTypeDef::SuperType(void)const  __ptr64
+?SuperType@NtmsDbObjTypeDef@@QEBAKXZ
+; public: short const  __cdecl NtmsDbLibrary::SupportDrvClean(void)const  __ptr64
+?SupportDrvClean@NtmsDbLibrary@@QEBA?BFXZ
+; public: short __cdecl NtmsDbRecordKey::Table(void)const  __ptr64
+?Table@NtmsDbRecordKey@@QEBAFXZ
+; public: long __cdecl NtmsDbLibWorkItem::TimeCompleted_IsNotNull(void) __ptr64
+?TimeCompleted_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
+; public: struct _SYSTEMTIME const  __cdecl NtmsDbLibWorkItem::TimeCompleted_n(void)const  __ptr64
+?TimeCompleted_n@NtmsDbLibWorkItem@@QEBA?BU_SYSTEMTIME@@XZ
+; public: long __cdecl NtmsDbLibWorkItem::TimeQueued_IsNotNull(void) __ptr64
+?TimeQueued_IsNotNull@NtmsDbLibWorkItem@@QEAAJXZ
+; public: struct _SYSTEMTIME const  __cdecl NtmsDbLibWorkItem::TimeQueued_n(void)const  __ptr64
+?TimeQueued_n@NtmsDbLibWorkItem@@QEBA?BU_SYSTEMTIME@@XZ
+; public: struct _SYSTEMTIME const  __cdecl NtmsDbOpRequest::TimeSubmitted(void)const  __ptr64
+?TimeSubmitted@NtmsDbOpRequest@@QEBA?BU_SYSTEMTIME@@XZ
+; public: class NtmsTransaction * __ptr64 __cdecl NtmsDbDataCtxt::Transaction(void) __ptr64
+?Transaction@NtmsDbDataCtxt@@QEAAPEAVNtmsTransaction@@XZ
+; public: class NtmsDbRecordType * __ptr64 __cdecl NtmsDbObjTypeDef::Type(void)const  __ptr64
+?Type@NtmsDbObjTypeDef@@QEBAPEAVNtmsDbRecordType@@XZ
+; public: class NtmsDbPropDataType const & __ptr64 __cdecl NtmsDbPropHeader::Type(void)const  __ptr64
+?Type@NtmsDbPropHeader@@QEBAAEBVNtmsDbPropDataType@@XZ
+; public: unsigned long __cdecl NtmsDbPropertyValue::Type(void) __ptr64
+?Type@NtmsDbPropertyValue@@QEAAKXZ
+; public: class NtmsDbPropDataType const & __ptr64 __cdecl NtmsDbRecordProp::Type(void)const  __ptr64
+?Type@NtmsDbRecordProp@@QEBAAEBVNtmsDbPropDataType@@XZ
+; public: char const * __ptr64 __cdecl NtmsDbObjTypeDef::TypeName(void)const  __ptr64
+?TypeName@NtmsDbObjTypeDef@@QEBAPEBDXZ
+; public: char const * __ptr64 __cdecl NtmsDbObjTypeDef::TypeNameAbbrev(void)const  __ptr64
+?TypeNameAbbrev@NtmsDbObjTypeDef@@QEBAPEBDXZ
+; public: virtual unsigned long __cdecl NtmsDbObject::Update(class NtmsDbDataCtxt * __ptr64) __ptr64
+?Update@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
+; public: virtual unsigned long __cdecl NtmsDbObject::UpdateRegardless(class NtmsDbDataCtxt * __ptr64) __ptr64
+?UpdateRegardless@NtmsDbObject@@UEAAKPEAVNtmsDbDataCtxt@@@Z
+; public: unsigned long const  __cdecl NtmsDbDrive::UseCount(void)const  __ptr64
+?UseCount@NtmsDbDrive@@QEBA?BKXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbLibWorkItem::User(void)const  __ptr64
+?User@NtmsDbLibWorkItem@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbOpRequest::User(void)const  __ptr64
+?User@NtmsDbOpRequest@@QEBAPEBGXZ
+; public: void __cdecl NtmsDbList::Map::Validate(void) __ptr64
+?Validate@Map@NtmsDbList@@QEAAXXZ
+; protected: virtual unsigned int __cdecl NtmsDbObject::ValueIsNotNull(long)const  __ptr64
+?ValueIsNotNull@NtmsDbObject@@MEBAIJ@Z
+; public: char const * __ptr64 __cdecl NtmsDbChangerType::Vendor(void) __ptr64
+?Vendor@NtmsDbChangerType@@QEAAPEBDXZ
+; public: char const * __ptr64 __cdecl NtmsDbDriveType::Vendor(void) __ptr64
+?Vendor@NtmsDbDriveType@@QEAAPEBDXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbChangerType::VendorW(void)const  __ptr64
+?VendorW@NtmsDbChangerType@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl NtmsDbDriveType::VendorW(void)const  __ptr64
+?VendorW@NtmsDbDriveType@@QEBAPEBGXZ
+; public: void __cdecl NtmsDbGuid::Win32Guid(struct _GUID & __ptr64)const  __ptr64
+?Win32Guid@NtmsDbGuid@@QEBAXAEAU_GUID@@@Z
+; public: unsigned long __cdecl NtmsDbObject::WriteAttribute(class NtmsDbPropertyValue & __ptr64) __ptr64
+?WriteAttribute@NtmsDbObject@@QEAAKAEAVNtmsDbPropertyValue@@@Z
+; public: unsigned long const  __cdecl NtmsDbMediaType::WriteCharacteristics(void)const  __ptr64
+?WriteCharacteristics@NtmsDbMediaType@@QEBA?BKXZ
+; protected: void __cdecl NtmsDbObject::WriteObjectRecord(class NtmsDbDataCtxt * __ptr64,class NtmsDbRecordKey & __ptr64,class NtmsDbRecordRev & __ptr64,class NtmsDbRecordPropList * __ptr64) __ptr64
+?WriteObjectRecord@NtmsDbObject@@IEAAXPEAVNtmsDbDataCtxt@@AEAVNtmsDbRecordKey@@AEAVNtmsDbRecordRev@@PEAVNtmsDbRecordPropList@@@Z
+; public: struct _GUID const & __ptr64 __cdecl NtmsDbGuid::_id(void)const  __ptr64
+?_id@NtmsDbGuid@@QEBAAEBU_GUID@@XZ
+; public: unsigned long __cdecl NtmsDbObject::countRelatedObjects(long) __ptr64
+?countRelatedObjects@NtmsDbObject@@QEAAKJ@Z
+; public: unsigned long __cdecl NtmsDbObject::getRelatedObjects(class NtmsDbDataCtxt * __ptr64,class NtmsDbSelectionSet & __ptr64,long) __ptr64
+?getRelatedObjects@NtmsDbObject@@QEAAKPEAVNtmsDbDataCtxt@@AEAVNtmsDbSelectionSet@@J@Z
+; public: char const * __ptr64 __cdecl NtmsDbTypeGuid::id(void)const  __ptr64
+?id@NtmsDbTypeGuid@@QEBAPEBDXZ
+; private: static void * __ptr64  __ptr64 NtmsDbDataCtxt::m_ChangeMutex
+?m_ChangeMutex@NtmsDbDataCtxt@@0PEAXEA DATA
+; public: static class ChangeRegistration * __ptr64  __ptr64 NtmsDbDataCtxt::m_ChangeTable
+?m_ChangeTable@NtmsDbDataCtxt@@2PEAVChangeRegistration@@EA DATA
+; private: static class NtmsDbRecordType  NtmsDbChanger::m_Type
+?m_Type@NtmsDbChanger@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbChangerType::m_Type
+?m_Type@NtmsDbChangerType@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbComputer::m_Type
+?m_Type@NtmsDbComputer@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbDrive::m_Type
+?m_Type@NtmsDbDrive@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbDriveType::m_Type
+?m_Type@NtmsDbDriveType@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbIEDoor::m_Type
+?m_Type@NtmsDbIEDoor@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbIEPort::m_Type
+?m_Type@NtmsDbIEPort@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbLibWorkItem::m_Type
+?m_Type@NtmsDbLibWorkItem@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbLibrary::m_Type
+?m_Type@NtmsDbLibrary@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbLogicalMedia::m_Type
+?m_Type@NtmsDbLogicalMedia@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbMediaPool::m_Type
+?m_Type@NtmsDbMediaPool@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbMediaType::m_Type
+?m_Type@NtmsDbMediaType@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbObject::m_Type
+?m_Type@NtmsDbObject@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbOpRequest::m_Type
+?m_Type@NtmsDbOpRequest@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbPartition::m_Type
+?m_Type@NtmsDbPartition@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbPhysicalMedia::m_Type
+?m_Type@NtmsDbPhysicalMedia@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbStorageSlot::m_Type
+?m_Type@NtmsDbStorageSlot@@0VNtmsDbRecordType@@A DATA
+; private: static class NtmsDbRecordType  NtmsDbUIDestination::m_Type
+?m_Type@NtmsDbUIDestination@@0VNtmsDbRecordType@@A DATA
+; private: static int  NtmsDbDataCtxt::m_locked
+?m_locked@NtmsDbDataCtxt@@0HA DATA
+; public: char const * __ptr64 __cdecl NtmsDbError::messageString(void)const  __ptr64
+?messageString@NtmsDbError@@QEBAPEBDXZ
diff --git a/mingw-w64-crt/lib64/ntmsevt.def b/mingw-w64-crt/lib64/ntmsevt.def
index bc0d4e5..0a08616 100644
--- a/mingw-w64-crt/lib64/ntmsevt.def
+++ b/mingw-w64-crt/lib64/ntmsevt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file NTMSEVT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTMSEVT.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NTMSEVT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTMSEVT.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ntmsmgr.def b/mingw-w64-crt/lib64/ntmsmgr.def
index b1fff41..07a92a3 100644
--- a/mingw-w64-crt/lib64/ntmsmgr.def
+++ b/mingw-w64-crt/lib64/ntmsmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NTMSMGR.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTMSMGR.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NTMSMGR.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTMSMGR.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ntmssvc.def b/mingw-w64-crt/lib64/ntmssvc.def
index b8c6542..ee99c3d 100644
--- a/mingw-w64-crt/lib64/ntmssvc.def
+++ b/mingw-w64-crt/lib64/ntmssvc.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ntmssvc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntmssvc.dll
-EXPORTS
-ServiceMain
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ntmssvc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntmssvc.dll
+EXPORTS
+ServiceMain
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ntoc.def b/mingw-w64-crt/lib64/ntoc.def
index f5eb4b6..11dcad8 100644
--- a/mingw-w64-crt/lib64/ntoc.def
+++ b/mingw-w64-crt/lib64/ntoc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file NTOC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTOC.dll
-EXPORTS
-NtOcSetupProc
+; 
+; Exports of file NTOC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTOC.dll
+EXPORTS
+NtOcSetupProc
diff --git a/mingw-w64-crt/lib64/ntoskrnl.def b/mingw-w64-crt/lib64/ntoskrnl.def
index d3df64b..9d0a0b6 100644
--- a/mingw-w64-crt/lib64/ntoskrnl.def
+++ b/mingw-w64-crt/lib64/ntoskrnl.def
@@ -1,1516 +1,1516 @@
-;
-; Definition file of ntoskrnl.exe
-; Automatic generated by gendef
-; written by Kai Tietz 2008
-;
-LIBRARY "ntoskrnl.exe"
-EXPORTS
-CcCanIWrite
-CcCopyRead
-CcCopyWrite
-CcDeferWrite
-CcFastCopyRead
-CcFastCopyWrite
-CcFastMdlReadWait DATA
-CcFastReadNotPossible DATA
-CcFastReadWait DATA
-CcFlushCache
-CcGetDirtyPages
-CcGetFileObjectFromBcb
-CcGetFileObjectFromSectionPtrs
-CcGetFlushedValidData
-CcGetLsnForFileObject
-CcInitializeCacheMap
-CcIsThereDirtyData
-CcMapData
-CcMdlRead
-CcMdlReadComplete
-CcMdlWriteAbort
-CcMdlWriteComplete
-CcPinMappedData
-CcPinRead
-CcPrepareMdlWrite
-CcPreparePinWrite
-CcPurgeCacheSection
-CcRemapBcb
-CcRepinBcb
-CcScheduleReadAhead
-CcSetAdditionalCacheAttributes
-CcSetBcbOwnerPointer
-CcSetDirtyPageThreshold
-CcSetDirtyPinnedData
-CcSetFileSizes
-CcSetLogHandleForFile
-CcSetReadAheadGranularity
-CcUninitializeCacheMap
-CcUnpinData
-CcUnpinDataForThread
-CcUnpinRepinnedBcb
-CcWaitForCurrentLazyWriterActivity
-CcZeroData
-CmRegisterCallback
-CmUnRegisterCallback
-DbgBreakPoint
-DbgBreakPointWithStatus
-DbgCommandString
-DbgLoadImageSymbols
-DbgPrint
-DbgPrintEx
-DbgPrintReturnControlC
-DbgPrompt
-DbgQueryDebugFilterState
-DbgSetDebugFilterState
-ExAcquireFastMutex
-ExAcquireFastMutexUnsafe
-ExAcquireResourceExclusiveLite
-ExAcquireResourceSharedLite
-ExAcquireRundownProtection
-ExAcquireRundownProtectionCacheAware
-ExAcquireRundownProtectionCacheAwareEx
-ExAcquireRundownProtectionEx
-ExAcquireSharedStarveExclusive
-ExAcquireSharedWaitForExclusive
-ExAllocateCacheAwareRundownProtection
-ExAllocateFromPagedLookasideList
-ExAllocatePool
-ExAllocatePoolWithQuota
-ExAllocatePoolWithQuotaTag
-ExAllocatePoolWithTag
-ExAllocatePoolWithTagPriority
-ExConvertExclusiveToSharedLite
-ExCreateCallback
-ExDeleteNPagedLookasideList
-ExDeletePagedLookasideList
-ExDeleteResourceLite
-ExDesktopObjectType DATA
-ExDisableResourceBoostLite
-ExEnterCriticalRegionAndAcquireFastMutexUnsafe
-ExEnterCriticalRegionAndAcquireResourceExclusive
-ExEnterCriticalRegionAndAcquireResourceShared
-ExEnterCriticalRegionAndAcquireSharedWaitForExclusive
-ExEnumHandleTable
-ExEventObjectType DATA
-ExExtendZone
-ExFreeCacheAwareRundownProtection
-ExFreePool
-ExFreePoolWithTag
-ExFreeToPagedLookasideList
-ExGetCurrentProcessorCounts
-ExGetCurrentProcessorCpuUsage
-ExGetExclusiveWaiterCount
-ExGetPreviousMode
-ExGetSharedWaiterCount
-ExInitializeNPagedLookasideList
-ExInitializePagedLookasideList
-ExInitializeResourceLite
-ExInitializeRundownProtection
-ExInitializeRundownProtectionCacheAware
-ExInitializeZone
-ExInterlockedAddLargeInteger
-ExInterlockedAddUlong
-ExInterlockedExtendZone
-ExInterlockedInsertHeadList
-ExInterlockedInsertTailList
-ExInterlockedPopEntryList
-ExInterlockedPushEntryList
-ExInterlockedRemoveHeadList
-ExIsProcessorFeaturePresent
-ExIsResourceAcquiredExclusiveLite
-ExIsResourceAcquiredSharedLite
-ExLocalTimeToSystemTime
-ExNotifyCallback
-ExQueryDepthSList
-ExQueryPoolBlockSize
-ExQueueWorkItem
-ExRaiseAccessViolation
-ExRaiseDatatypeMisalignment
-ExRaiseException
-ExRaiseHardError
-ExRaiseStatus
-ExReInitializeRundownProtection
-ExReInitializeRundownProtectionCacheAware
-ExRegisterCallback
-ExReinitializeResourceLite
-ExReleaseFastMutex
-ExReleaseFastMutexUnsafe
-ExReleaseFastMutexUnsafeAndLeaveCriticalRegion
-ExReleaseResourceAndLeaveCriticalRegion
-ExReleaseResourceForThreadLite
-ExReleaseResourceLite
-ExReleaseRundownProtection
-ExReleaseRundownProtectionCacheAware
-ExReleaseRundownProtectionCacheAwareEx
-ExReleaseRundownProtectionEx
-ExRundownCompleted
-ExRundownCompletedCacheAware
-ExSemaphoreObjectType DATA
-ExSetResourceOwnerPointer
-ExSetTimerResolution
-ExSizeOfRundownProtectionCacheAware
-ExSystemExceptionFilter
-ExSystemTimeToLocalTime
-ExTryToAcquireFastMutex
-ExUnregisterCallback
-ExUuidCreate
-ExVerifySuite
-ExWaitForRundownProtectionRelease
-ExWaitForRundownProtectionReleaseCacheAware
-ExWindowStationObjectType DATA
-ExfAcquirePushLockExclusive
-ExfAcquirePushLockShared
-ExfReleasePushLock
-ExfReleasePushLockExclusive
-ExfReleasePushLockShared
-ExfTryToWakePushLock
-ExfUnblockPushLock
-ExpInterlockedFlushSList
-ExpInterlockedPopEntrySList
-ExpInterlockedPushEntrySList
-FsRtlAcquireFileExclusive
-FsRtlAddBaseMcbEntry
-FsRtlAddLargeMcbEntry
-FsRtlAddMcbEntry
-FsRtlAddToTunnelCache
-FsRtlAllocateFileLock
-FsRtlAllocatePool
-FsRtlAllocatePoolWithQuota
-FsRtlAllocatePoolWithQuotaTag
-FsRtlAllocatePoolWithTag
-FsRtlAllocateResource
-FsRtlAreNamesEqual
-FsRtlBalanceReads
-FsRtlCheckLockForReadAccess
-FsRtlCheckLockForWriteAccess
-FsRtlCheckOplock
-FsRtlCopyRead
-FsRtlCopyWrite
-FsRtlCreateSectionForDataScan
-FsRtlCurrentBatchOplock
-FsRtlDeleteKeyFromTunnelCache
-FsRtlDeleteTunnelCache
-FsRtlDeregisterUncProvider
-FsRtlDissectDbcs
-FsRtlDissectName
-FsRtlDoesDbcsContainWildCards
-FsRtlDoesNameContainWildCards
-FsRtlFastCheckLockForRead
-FsRtlFastCheckLockForWrite
-FsRtlFastUnlockAll
-FsRtlFastUnlockAllByKey
-FsRtlFastUnlockSingle
-FsRtlFindInTunnelCache
-FsRtlFreeFileLock
-FsRtlGetFileSize
-FsRtlGetNextBaseMcbEntry
-FsRtlGetNextFileLock
-FsRtlGetNextLargeMcbEntry
-FsRtlGetNextMcbEntry
-FsRtlIncrementCcFastReadNoWait
-FsRtlIncrementCcFastReadNotPossible
-FsRtlIncrementCcFastReadResourceMiss
-FsRtlIncrementCcFastReadWait
-FsRtlInitializeBaseMcb
-FsRtlInitializeFileLock
-FsRtlInitializeLargeMcb
-FsRtlInitializeMcb
-FsRtlInitializeOplock
-FsRtlInitializeTunnelCache
-FsRtlInsertPerFileObjectContext
-FsRtlInsertPerStreamContext
-FsRtlIsDbcsInExpression
-FsRtlIsFatDbcsLegal
-FsRtlIsHpfsDbcsLegal
-FsRtlIsNameInExpression
-FsRtlIsNtstatusExpected
-FsRtlIsPagingFile
-FsRtlIsTotalDeviceFailure
-FsRtlLegalAnsiCharacterArray DATA
-FsRtlLookupBaseMcbEntry
-FsRtlLookupLargeMcbEntry
-FsRtlLookupLastBaseMcbEntry
-FsRtlLookupLastBaseMcbEntryAndIndex
-FsRtlLookupLastLargeMcbEntry
-FsRtlLookupLastLargeMcbEntryAndIndex
-FsRtlLookupLastMcbEntry
-FsRtlLookupMcbEntry
-FsRtlLookupPerFileObjectContext
-FsRtlLookupPerStreamContextInternal
-FsRtlMdlRead
-FsRtlMdlReadComplete
-FsRtlMdlReadCompleteDev
-FsRtlMdlReadDev
-FsRtlMdlWriteComplete
-FsRtlMdlWriteCompleteDev
-FsRtlNormalizeNtstatus
-FsRtlNotifyChangeDirectory
-FsRtlNotifyCleanup
-FsRtlNotifyFilterChangeDirectory
-FsRtlNotifyFilterReportChange
-FsRtlNotifyFullChangeDirectory
-FsRtlNotifyFullReportChange
-FsRtlNotifyInitializeSync
-FsRtlNotifyReportChange
-FsRtlNotifyUninitializeSync
-FsRtlNotifyVolumeEvent
-FsRtlNumberOfRunsInBaseMcb
-FsRtlNumberOfRunsInLargeMcb
-FsRtlNumberOfRunsInMcb
-FsRtlOplockFsctrl
-FsRtlOplockIsFastIoPossible
-FsRtlPostPagingFileStackOverflow
-FsRtlPostStackOverflow
-FsRtlPrepareMdlWrite
-FsRtlPrepareMdlWriteDev
-FsRtlPrivateLock
-FsRtlProcessFileLock
-FsRtlRegisterFileSystemFilterCallbacks
-FsRtlRegisterUncProvider
-FsRtlReleaseFile
-FsRtlRemoveBaseMcbEntry
-FsRtlRemoveLargeMcbEntry
-FsRtlRemoveMcbEntry
-FsRtlRemovePerFileObjectContext
-FsRtlRemovePerStreamContext
-FsRtlResetBaseMcb
-FsRtlResetLargeMcb
-FsRtlSplitBaseMcb
-FsRtlSplitLargeMcb
-FsRtlSyncVolumes
-FsRtlTeardownPerStreamContexts
-FsRtlTruncateBaseMcb
-FsRtlTruncateLargeMcb
-FsRtlTruncateMcb
-FsRtlUninitializeBaseMcb
-FsRtlUninitializeFileLock
-FsRtlUninitializeLargeMcb
-FsRtlUninitializeMcb
-FsRtlUninitializeOplock
-HalDispatchTable DATA
-HalExamineMBR
-HalPrivateDispatchTable DATA
-HeadlessDispatch
-InbvAcquireDisplayOwnership
-InbvCheckDisplayOwnership
-InbvDisplayString
-InbvEnableBootDriver
-InbvEnableDisplayString
-InbvInstallDisplayStringFilter
-InbvIsBootDriverInstalled
-InbvNotifyDisplayOwnershipLost
-InbvResetDisplay
-InbvSetScrollRegion
-InbvSetTextColor
-InbvSolidColorFill
-InitSafeBootMode DATA
-InitializeSListHead
-IoAcquireCancelSpinLock
-IoAcquireRemoveLockEx
-IoAcquireVpbSpinLock
-IoAdapterObjectType DATA
-IoAllocateAdapterChannel
-IoAllocateController
-IoAllocateDriverObjectExtension
-IoAllocateErrorLogEntry
-IoAllocateIrp
-IoAllocateMdl
-IoAllocateWorkItem
-IoAssignDriveLetters
-IoAssignResources
-IoAttachDevice
-IoAttachDeviceByPointer
-IoAttachDeviceToDeviceStack
-IoAttachDeviceToDeviceStackSafe
-IoBuildAsynchronousFsdRequest
-IoBuildDeviceIoControlRequest
-IoBuildPartialMdl
-IoBuildSynchronousFsdRequest
-IoCallDriver
-IoCancelFileOpen
-IoCancelIrp
-IoCheckDesiredAccess
-IoCheckEaBufferValidity
-IoCheckFunctionAccess
-IoCheckQuerySetFileInformation
-IoCheckQuerySetVolumeInformation
-IoCheckQuotaBufferValidity
-IoCheckShareAccess
-IoCompleteRequest
-IoConnectInterrupt
-IoCreateController
-IoCreateDevice
-IoCreateDisk
-IoCreateDriver
-IoCreateFile
-IoCreateFileSpecifyDeviceObjectHint
-IoCreateNotificationEvent
-IoCreateStreamFileObject
-IoCreateStreamFileObjectEx
-IoCreateStreamFileObjectLite
-IoCreateSymbolicLink
-IoCreateSynchronizationEvent
-IoCreateUnprotectedSymbolicLink
-IoCsqInitialize
-IoCsqInitializeEx
-IoCsqInsertIrp
-IoCsqInsertIrpEx
-IoCsqRemoveIrp
-IoCsqRemoveNextIrp
-IoDeleteController
-IoDeleteDevice
-IoDeleteDriver
-IoDeleteSymbolicLink
-IoDetachDevice
-IoDeviceHandlerObjectSize DATA
-IoDeviceHandlerObjectType DATA
-IoDeviceObjectType DATA
-IoDisconnectInterrupt
-IoDriverObjectType DATA
-IoEnqueueIrp
-IoEnumerateDeviceObjectList
-IoEnumerateRegisteredFiltersList
-IoFastQueryNetworkAttributes
-IoFileObjectType DATA
-IoForwardAndCatchIrp
-IoForwardIrpSynchronously
-IoFreeController
-IoFreeErrorLogEntry
-IoFreeIrp
-IoFreeMdl
-IoFreeWorkItem
-IoGetAttachedDevice
-IoGetAttachedDeviceReference
-IoGetBaseFileSystemDeviceObject
-IoGetBootDiskInformation
-IoGetConfigurationInformation
-IoGetCurrentProcess
-IoGetDeviceAttachmentBaseRef
-IoGetDeviceInterfaceAlias
-IoGetDeviceInterfaces
-IoGetDeviceObjectPointer
-IoGetDeviceProperty
-IoGetDeviceToVerify
-IoGetDiskDeviceObject
-IoGetDmaAdapter
-IoGetDriverObjectExtension
-IoGetFileObjectGenericMapping
-IoGetInitialStack
-IoGetLowerDeviceObject
-IoGetPagingIoPriority
-IoGetRelatedDeviceObject
-IoGetRequestorProcess
-IoGetRequestorProcessId
-IoGetRequestorSessionId
-IoGetStackLimits
-IoGetTopLevelIrp
-IoInitializeIrp
-IoInitializeRemoveLockEx
-IoInitializeTimer
-IoInvalidateDeviceRelations
-IoInvalidateDeviceState
-IoIs32bitProcess
-IoIsFileOriginRemote
-IoIsOperationSynchronous
-IoIsSystemThread
-IoIsValidNameGraftingBuffer
-IoIsWdmVersionAvailable
-IoMakeAssociatedIrp
-IoOpenDeviceInterfaceRegistryKey
-IoOpenDeviceRegistryKey
-IoPageRead
-IoPnPDeliverServicePowerNotification
-IoQueryDeviceDescription
-IoQueryFileDosDeviceName
-IoQueryFileInformation
-IoQueryVolumeInformation
-IoQueueThreadIrp
-IoQueueWorkItem
-IoRaiseHardError
-IoRaiseInformationalHardError
-IoReadDiskSignature
-IoReadOperationCount DATA
-IoReadPartitionTable
-IoReadPartitionTableEx
-IoReadTransferCount DATA
-IoRegisterBootDriverReinitialization
-IoRegisterDeviceInterface
-IoRegisterDriverReinitialization
-IoRegisterFileSystem
-IoRegisterFsRegistrationChange
-IoRegisterLastChanceShutdownNotification
-IoRegisterPlugPlayNotification
-IoRegisterShutdownNotification
-IoReleaseCancelSpinLock
-IoReleaseRemoveLockAndWaitEx
-IoReleaseRemoveLockEx
-IoReleaseVpbSpinLock
-IoRemoveShareAccess
-IoReportDetectedDevice
-IoReportHalResourceUsage
-IoReportResourceForDetection
-IoReportResourceUsage
-IoReportTargetDeviceChange
-IoReportTargetDeviceChangeAsynchronous
-IoRequestDeviceEject
-IoReuseIrp
-IoSetCompletionRoutineEx
-IoSetDeviceInterfaceState
-IoSetDeviceToVerify
-IoSetFileOrigin
-IoSetHardErrorOrVerifyDevice
-IoSetInformation
-IoSetIoCompletion
-IoSetPartitionInformation
-IoSetPartitionInformationEx
-IoSetShareAccess
-IoSetStartIoAttributes
-IoSetSystemPartition
-IoSetThreadHardErrorMode
-IoSetTopLevelIrp
-IoStartNextPacket
-IoStartNextPacketByKey
-IoStartPacket
-IoStartTimer
-IoStatisticsLock DATA
-IoStopTimer
-IoSynchronousInvalidateDeviceRelations
-IoSynchronousPageWrite
-IoThreadToProcess
-IoTranslateBusAddress
-IoUnregisterFileSystem
-IoUnregisterFsRegistrationChange
-IoUnregisterPlugPlayNotification
-IoUnregisterShutdownNotification
-IoUpdateShareAccess
-IoValidateDeviceIoControlAccess
-IoVerifyPartitionTable
-IoVerifyVolume
-IoVolumeDeviceToDosName
-IoWMIAllocateInstanceIds
-IoWMIDeviceObjectToInstanceName
-IoWMIDeviceObjectToProviderId
-IoWMIExecuteMethod
-IoWMIHandleToInstanceName
-IoWMIOpenBlock
-IoWMIQueryAllData
-IoWMIQueryAllDataMultiple
-IoWMIQuerySingleInstance
-IoWMIQuerySingleInstanceMultiple
-IoWMIRegistrationControl
-IoWMISetNotificationCallback
-IoWMISetSingleInstance
-IoWMISetSingleItem
-IoWMISuggestInstanceName
-IoWMIWriteEvent
-IoWriteErrorLogEntry
-IoWriteOperationCount DATA
-IoWritePartitionTable
-IoWritePartitionTableEx
-IoWriteTransferCount DATA
-IofCallDriver
-IofCompleteRequest
-KdChangeOption
-KdDebuggerEnabled DATA
-KdDebuggerNotPresent DATA
-KdDisableDebugger
-KdEnableDebugger
-KdEnteredDebugger DATA
-KdPollBreakIn
-KdPowerTransition
-KdRefreshDebuggerNotPresent
-KdSystemDebugControl
-KeAcquireGuardedMutex
-KeAcquireGuardedMutexUnsafe
-KeAcquireInStackQueuedSpinLock
-KeAcquireInStackQueuedSpinLockAtDpcLevel
-KeAcquireInStackQueuedSpinLockForDpc
-KeAcquireInStackQueuedSpinLockRaiseToSynch
-KeAcquireInterruptSpinLock
-KeAcquireQueuedSpinLock
-KeAcquireQueuedSpinLockRaiseToSynch
-KeAcquireSpinLockAtDpcLevel
-KeAcquireSpinLockForDpc
-KeAcquireSpinLockRaiseToDpc
-KeAcquireSpinLockRaiseToSynch
-KeAddSystemServiceTable
-KeAreAllApcsDisabled
-KeAreApcsDisabled
-KeAttachProcess
-KeBugCheck
-KeBugCheckEx
-KeCancelTimer
-KeCapturePersistentThreadState
-KeClearEvent
-KeConnectInterrupt
-KeDelayExecutionThread
-KeDeregisterBugCheckCallback
-KeDeregisterBugCheckReasonCallback
-KeDeregisterNmiCallback
-KeDetachProcess
-KeDisconnectInterrupt
-KeEnterCriticalRegion
-KeEnterGuardedRegion
-KeEnterKernelDebugger
-KeExpandKernelStackAndCallout
-KeFindConfigurationEntry
-KeFindConfigurationNextEntry
-KeFlushEntireTb
-KeFlushQueuedDpcs
-KeGenericCallDpc
-KeGetCurrentIrql
-KeGetCurrentThread
-KeGetRecommendedSharedDataAlignment
-KeInitializeApc
-KeInitializeCrashDumpHeader
-KeInitializeDeviceQueue
-KeInitializeDpc
-KeInitializeEvent
-KeInitializeGuardedMutex
-KeInitializeInterrupt
-KeInitializeMutant
-KeInitializeMutex
-KeInitializeQueue
-KeInitializeSemaphore
-KeInitializeThreadedDpc
-KeInitializeTimer
-KeInitializeTimerEx
-KeInsertByKeyDeviceQueue
-KeInsertDeviceQueue
-KeInsertHeadQueue
-KeInsertQueue
-KeInsertQueueApc
-KeInsertQueueDpc
-KeInvalidateAllCaches
-KeIpiGenericCall
-KeIsAttachedProcess
-KeIsWaitListEmpty
-KeLastBranchMSR DATA
-KeLeaveCriticalRegion
-KeLeaveGuardedRegion
-KeLoaderBlock DATA
-KeLowerIrql
-KeNumberProcessors DATA
-KeProfileInterruptWithSource
-KePulseEvent
-KeQueryActiveProcessors
-KeQueryMultiThreadProcessorSet
-KeQueryPrcbAddress
-KeQueryPriorityThread
-KeQueryRuntimeThread
-KeQueryTimeIncrement
-KeRaiseIrqlToDpcLevel
-KeRaiseUserException
-KeReadStateEvent
-KeReadStateMutant
-KeReadStateMutex
-KeReadStateQueue
-KeReadStateSemaphore
-KeReadStateTimer
-KeRegisterBugCheckCallback
-KeRegisterBugCheckReasonCallback
-KeRegisterNmiCallback
-KeReleaseGuardedMutex
-KeReleaseGuardedMutexUnsafe
-KeReleaseInStackQueuedSpinLock
-KeReleaseInStackQueuedSpinLockForDpc
-KeReleaseInStackQueuedSpinLockFromDpcLevel
-KeReleaseInterruptSpinLock
-KeReleaseMutant
-KeReleaseMutex
-KeReleaseQueuedSpinLock
-KeReleaseSemaphore
-KeReleaseSpinLock
-KeReleaseSpinLockForDpc
-KeReleaseSpinLockFromDpcLevel
-KeRemoveByKeyDeviceQueue
-KeRemoveByKeyDeviceQueueIfBusy
-KeRemoveDeviceQueue
-KeRemoveEntryDeviceQueue
-KeRemoveQueue
-KeRemoveQueueDpc
-KeRemoveSystemServiceTable
-KeResetEvent
-KeRestoreFloatingPointState
-KeRevertToUserAffinityThread
-KeRundownQueue
-KeSaveFloatingPointState
-KeSaveStateForHibernate
-KeSetAffinityThread
-KeSetBasePriorityThread
-KeSetDmaIoCoherency
-KeSetEvent
-KeSetEventBoostPriority
-KeSetIdealProcessorThread
-KeSetImportanceDpc
-KeSetKernelStackSwapEnable
-KeSetPriorityThread
-KeSetProfileIrql
-KeSetSystemAffinityThread
-KeSetTargetProcessorDpc
-KeSetTimeIncrement
-KeSetTimer
-KeSetTimerEx
-KeSignalCallDpcDone
-KeSignalCallDpcSynchronize
-KeStackAttachProcess
-KeSynchronizeExecution
-KeTerminateThread
-KeTestSpinLock
-KeTryToAcquireGuardedMutex
-KeTryToAcquireQueuedSpinLock
-KeTryToAcquireQueuedSpinLockRaiseToSynch
-KeTryToAcquireSpinLockAtDpcLevel
-KeUnstackDetachProcess
-KeUpdateRunTime
-KeUpdateSystemTime
-KeUserModeCallback
-KeWaitForMultipleObjects
-KeWaitForMutexObject
-KeWaitForSingleObject
-KfRaiseIrql
-KiBugCheckData DATA
-KiCheckForKernelApcDelivery
-KiCpuId
-LdrAccessResource
-LdrEnumResources
-LdrFindResourceDirectory_U
-LdrFindResource_U
-LpcPortObjectType DATA
-LpcRequestPort
-LpcRequestWaitReplyPort
-LsaCallAuthenticationPackage
-LsaDeregisterLogonProcess
-LsaFreeReturnBuffer
-LsaLogonUser
-LsaLookupAuthenticationPackage
-LsaRegisterLogonProcess
-Mm64BitPhysicalAddress DATA
-MmAddPhysicalMemory
-MmAddVerifierThunks
-MmAdjustWorkingSetSize
-MmAdvanceMdl
-MmAllocateContiguousMemory
-MmAllocateContiguousMemorySpecifyCache
-MmAllocateMappingAddress
-MmAllocateNonCachedMemory
-MmAllocatePagesForMdl
-MmAllocatePagesForMdlEx
-MmBuildMdlForNonPagedPool
-MmCanFileBeTruncated
-MmCommitSessionMappedView
-MmCreateMdl
-MmCreateMirror
-MmCreateSection
-MmDisableModifiedWriteOfSection
-MmDoesFileHaveUserWritableReferences
-MmFlushImageSection
-MmForceSectionClosed
-MmFreeContiguousMemory
-MmFreeContiguousMemorySpecifyCache
-MmFreeMappingAddress
-MmFreeNonCachedMemory
-MmFreePagesFromMdl
-MmGetPhysicalAddress
-MmGetPhysicalMemoryRanges
-MmGetSystemRoutineAddress
-MmGetVirtualForPhysical
-MmGrowKernelStack
-MmHighestUserAddress DATA
-MmIsAddressValid
-MmIsDriverVerifying
-MmIsIoSpaceActive
-MmIsNonPagedSystemAddressValid
-MmIsRecursiveIoFault
-MmIsThisAnNtAsSystem
-MmIsVerifierEnabled
-MmLockPagableDataSection
-MmLockPagableImageSection
-MmLockPagableSectionByHandle
-MmMapIoSpace
-MmMapLockedPages
-MmMapLockedPagesSpecifyCache
-MmMapLockedPagesWithReservedMapping
-MmMapMemoryDumpMdl
-MmMapUserAddressesToPage
-MmMapVideoDisplay
-MmMapViewInSessionSpace
-MmMapViewInSystemSpace
-MmMapViewOfSection
-MmMarkPhysicalMemoryAsBad
-MmMarkPhysicalMemoryAsGood
-MmPageEntireDriver
-MmPrefetchPages
-MmProbeAndLockPages
-MmProbeAndLockProcessPages
-MmProbeAndLockSelectedPages
-MmProtectMdlSystemAddress
-MmQuerySystemSize
-MmRemovePhysicalMemory
-MmResetDriverPaging
-MmSectionObjectType DATA
-MmSecureVirtualMemory
-MmSetAddressRangeModified
-MmSetBankedSection
-MmSizeOfMdl
-MmSystemRangeStart DATA
-MmTrimAllSystemPagableMemory
-MmUnlockPagableImageSection
-MmUnlockPages
-MmUnmapIoSpace
-MmUnmapLockedPages
-MmUnmapReservedMapping
-MmUnmapVideoDisplay
-MmUnmapViewInSessionSpace
-MmUnmapViewInSystemSpace
-MmUnmapViewOfSection
-MmUnsecureVirtualMemory
-MmUserProbeAddress DATA
-NlsAnsiCodePage DATA
-NlsLeadByteInfo DATA
-NlsMbCodePageTag DATA
-NlsMbOemCodePageTag DATA
-NlsOemCodePage DATA
-NlsOemLeadByteInfo DATA
-NtAddAtom
-NtAdjustPrivilegesToken
-NtAllocateLocallyUniqueId
-NtAllocateUuids
-NtAllocateVirtualMemory
-NtBuildNumber DATA
-NtClose
-NtConnectPort
-NtCreateEvent
-NtCreateFile
-NtCreateSection
-NtDeleteAtom
-NtDeleteFile
-NtDeviceIoControlFile
-NtDuplicateObject
-NtDuplicateToken
-NtFindAtom
-NtFreeVirtualMemory
-NtFsControlFile
-NtGlobalFlag DATA
-NtLockFile
-NtMakePermanentObject
-NtMapViewOfSection
-NtNotifyChangeDirectoryFile
-NtOpenFile
-NtOpenProcess
-NtOpenProcessToken
-NtOpenProcessTokenEx
-NtOpenThread
-NtOpenThreadToken
-NtOpenThreadTokenEx
-NtQueryDirectoryFile
-NtQueryEaFile
-NtQueryInformationAtom
-NtQueryInformationFile
-NtQueryInformationProcess
-NtQueryInformationThread
-NtQueryInformationToken
-NtQueryQuotaInformationFile
-NtQuerySecurityObject
-NtQuerySystemInformation
-NtQueryVolumeInformationFile
-NtReadFile
-NtRequestPort
-NtRequestWaitReplyPort
-NtSetEaFile
-NtSetEvent
-NtSetInformationFile
-NtSetInformationProcess
-NtSetInformationThread
-NtSetQuotaInformationFile
-NtSetSecurityObject
-NtSetVolumeInformationFile
-NtShutdownSystem
-NtTraceEvent
-NtUnlockFile
-NtVdmControl
-NtWaitForSingleObject
-NtWriteFile
-ObAssignSecurity
-ObCheckCreateObjectAccess
-ObCheckObjectAccess
-ObCloseHandle
-ObCreateObject
-ObCreateObjectType
-ObDeleteCapturedInsertInfo
-ObDereferenceObject
-ObDereferenceSecurityDescriptor
-ObFindHandleForObject
-ObGetObjectSecurity
-ObInsertObject
-ObLogSecurityDescriptor
-ObMakeTemporaryObject
-ObOpenObjectByName
-ObOpenObjectByPointer
-ObQueryNameString
-ObQueryObjectAuditingByHandle
-ObReferenceObjectByHandle
-ObReferenceObjectByName
-ObReferenceObjectByPointer
-ObReferenceSecurityDescriptor
-ObReleaseObjectSecurity
-ObSetHandleAttributes
-ObSetSecurityDescriptorInfo
-ObSetSecurityObjectByPointer
-ObfDereferenceObject
-ObfReferenceObject
-PfxFindPrefix
-PfxInitialize
-PfxInsertPrefix
-PfxRemovePrefix
-PoCallDriver
-PoCancelDeviceNotify
-PoQueueShutdownWorkItem
-PoRegisterDeviceForIdleDetection
-PoRegisterDeviceNotify
-PoRegisterSystemState
-PoRequestPowerIrp
-PoRequestShutdownEvent
-PoSetHiberRange
-PoSetPowerState
-PoSetSystemState
-PoShutdownBugCheck
-PoStartNextPowerIrp
-PoUnregisterSystemState
-ProbeForRead
-ProbeForWrite
-PsAssignImpersonationToken
-PsChargePoolQuota
-PsChargeProcessNonPagedPoolQuota
-PsChargeProcessPagedPoolQuota
-PsChargeProcessPoolQuota
-PsCreateSystemProcess
-PsCreateSystemThread
-PsDereferenceImpersonationToken
-PsDereferencePrimaryToken
-PsDisableImpersonation
-PsEstablishWin32Callouts
-PsGetContextThread
-PsGetCurrentProcess
-PsGetCurrentProcessId
-PsGetCurrentProcessSessionId
-PsGetCurrentProcessWin32Process
-PsGetCurrentProcessWow64Process
-PsGetCurrentThread
-PsGetCurrentThreadId
-PsGetCurrentThreadPreviousMode
-PsGetCurrentThreadProcess
-PsGetCurrentThreadProcessId
-PsGetCurrentThreadStackBase
-PsGetCurrentThreadStackLimit
-PsGetCurrentThreadTeb
-PsGetCurrentThreadWin32Thread
-PsGetCurrentThreadWin32ThreadAndEnterCriticalRegion
-PsGetJobLock
-PsGetJobSessionId
-PsGetJobUIRestrictionsClass
-PsGetProcessCreateTimeQuadPart
-PsGetProcessDebugPort
-PsGetProcessExitProcessCalled
-PsGetProcessExitStatus
-PsGetProcessExitTime
-PsGetProcessId
-PsGetProcessImageFileName
-PsGetProcessInheritedFromUniqueProcessId
-PsGetProcessJob
-PsGetProcessPeb
-PsGetProcessPriorityClass
-PsGetProcessSectionBaseAddress
-PsGetProcessSecurityPort
-PsGetProcessSessionId
-PsGetProcessSessionIdEx
-PsGetProcessWin32Process
-PsGetProcessWin32WindowStation
-PsGetProcessWow64Process
-PsGetThreadFreezeCount
-PsGetThreadHardErrorsAreDisabled
-PsGetThreadId
-PsGetThreadProcess
-PsGetThreadProcessId
-PsGetThreadSessionId
-PsGetThreadTeb
-PsGetThreadWin32Thread
-PsGetVersion
-PsImpersonateClient
-PsInitialSystemProcess DATA
-PsIsProcessBeingDebugged
-PsIsSystemProcess
-PsIsSystemThread
-PsIsThreadImpersonating
-PsIsThreadTerminating
-PsJobType DATA
-PsLookupProcessByProcessId
-PsLookupProcessThreadByCid
-PsLookupThreadByThreadId
-PsProcessType DATA
-PsReferenceImpersonationToken
-PsReferencePrimaryToken
-PsRemoveCreateThreadNotifyRoutine
-PsRemoveLoadImageNotifyRoutine
-PsRestoreImpersonation
-PsReturnPoolQuota
-PsReturnProcessNonPagedPoolQuota
-PsReturnProcessPagedPoolQuota
-PsRevertThreadToSelf
-PsRevertToSelf
-PsSetContextThread
-PsSetCreateProcessNotifyRoutine
-PsSetCreateThreadNotifyRoutine
-PsSetJobUIRestrictionsClass
-PsSetLegoNotifyRoutine
-PsSetLoadImageNotifyRoutine
-PsSetProcessPriorityByClass
-PsSetProcessPriorityClass
-PsSetProcessSecurityPort
-PsSetProcessWin32Process
-PsSetProcessWindowStation
-PsSetThreadHardErrorsAreDisabled
-PsSetThreadWin32Thread
-PsTerminateSystemThread
-PsThreadType DATA
-PsWrapApcWow64Thread
-RtlAbsoluteToSelfRelativeSD
-RtlAddAccessAllowedAce
-RtlAddAccessAllowedAceEx
-RtlAddAce
-RtlAddAtomToAtomTable
-RtlAddRange
-RtlAllocateHeap
-RtlAnsiCharToUnicodeChar
-RtlAnsiStringToUnicodeSize
-RtlAnsiStringToUnicodeString
-RtlAppendAsciizToString
-RtlAppendStringToString
-RtlAppendUnicodeStringToString
-RtlAppendUnicodeToString
-RtlAreAllAccessesGranted
-RtlAreAnyAccessesGranted
-RtlAreBitsClear
-RtlAreBitsSet
-RtlAssert
-RtlCaptureContext
-RtlCaptureStackBackTrace
-RtlCharToInteger
-RtlCheckRegistryKey
-RtlClearAllBits
-RtlClearBit
-RtlClearBits
-RtlCompareMemory
-RtlCompareMemoryUlong
-RtlCompareString
-RtlCompareUnicodeString
-RtlCompressBuffer
-RtlCompressChunks
-RtlConvertSidToUnicodeString
-RtlCopyLuid
-RtlCopyMemory
-RtlCopyMemoryNonTemporal
-RtlCopyRangeList
-RtlCopySid
-RtlCopyString
-RtlCopyUnicodeString
-RtlCreateAcl
-RtlCreateAtomTable
-RtlCreateHeap
-RtlCreateRegistryKey
-RtlCreateSecurityDescriptor
-RtlCreateSystemVolumeInformationFolder
-RtlCreateUnicodeString
-RtlCustomCPToUnicodeN
-RtlDecompressBuffer
-RtlDecompressChunks
-RtlDecompressFragment
-RtlDelete
-RtlDeleteAce
-RtlDeleteAtomFromAtomTable
-RtlDeleteElementGenericTable
-RtlDeleteElementGenericTableAvl
-RtlDeleteNoSplay
-RtlDeleteOwnersRanges
-RtlDeleteRange
-RtlDeleteRegistryValue
-RtlDescribeChunk
-RtlDestroyAtomTable
-RtlDestroyHeap
-RtlDowncaseUnicodeString
-RtlEmptyAtomTable
-RtlEnumerateGenericTable
-RtlEnumerateGenericTableAvl
-RtlEnumerateGenericTableLikeADirectory
-RtlEnumerateGenericTableWithoutSplaying
-RtlEnumerateGenericTableWithoutSplayingAvl
-RtlEqualLuid
-RtlEqualSid
-RtlEqualString
-RtlEqualUnicodeString
-RtlFillMemory
-RtlFindClearBits
-RtlFindClearBitsAndSet
-RtlFindClearRuns
-RtlFindFirstRunClear
-RtlFindLastBackwardRunClear
-RtlFindLeastSignificantBit
-RtlFindLongestRunClear
-RtlFindMessage
-RtlFindMostSignificantBit
-RtlFindNextForwardRunClear
-RtlFindRange
-RtlFindSetBits
-RtlFindSetBitsAndClear
-RtlFindUnicodePrefix
-RtlFormatCurrentUserKeyPath
-RtlFreeAnsiString
-RtlFreeHeap
-RtlFreeOemString
-RtlFreeRangeList
-RtlFreeUnicodeString
-RtlGUIDFromString
-RtlGenerate8dot3Name
-RtlGetAce
-RtlGetCallersAddress
-RtlGetCompressionWorkSpaceSize
-RtlGetDaclSecurityDescriptor
-RtlGetDefaultCodePage
-RtlGetElementGenericTable
-RtlGetElementGenericTableAvl
-RtlGetFirstRange
-RtlGetGroupSecurityDescriptor
-RtlGetNextRange
-RtlGetNtGlobalFlags
-RtlGetOwnerSecurityDescriptor
-RtlGetSaclSecurityDescriptor
-RtlGetSetBootStatusData
-RtlGetVersion
-RtlHashUnicodeString
-RtlImageDirectoryEntryToData
-RtlImageNtHeader
-RtlInitAnsiString
-RtlInitAnsiStringEx
-RtlInitCodePageTable
-RtlInitString
-RtlInitUnicodeString
-RtlInitUnicodeStringEx
-RtlInitializeBitMap
-RtlInitializeGenericTable
-RtlInitializeGenericTableAvl
-RtlInitializeRangeList
-RtlInitializeSid
-RtlInitializeUnicodePrefix
-RtlInsertElementGenericTable
-RtlInsertElementGenericTableAvl
-RtlInsertElementGenericTableFull
-RtlInsertElementGenericTableFullAvl
-RtlInsertUnicodePrefix
-RtlInt64ToUnicodeString
-RtlIntegerToChar
-RtlIntegerToUnicode
-RtlIntegerToUnicodeString
-RtlInvertRangeList
-RtlIpv4AddressToStringA
-RtlIpv4AddressToStringExA
-RtlIpv4AddressToStringExW
-RtlIpv4AddressToStringW
-RtlIpv4StringToAddressA
-RtlIpv4StringToAddressExA
-RtlIpv4StringToAddressExW
-RtlIpv4StringToAddressW
-RtlIpv6AddressToStringA
-RtlIpv6AddressToStringExA
-RtlIpv6AddressToStringExW
-RtlIpv6AddressToStringW
-RtlIpv6StringToAddressA
-RtlIpv6StringToAddressExA
-RtlIpv6StringToAddressExW
-RtlIpv6StringToAddressW
-RtlIsGenericTableEmpty
-RtlIsGenericTableEmptyAvl
-RtlIsNameLegalDOS8Dot3
-RtlIsRangeAvailable
-RtlIsValidOemCharacter
-RtlLengthRequiredSid
-RtlLengthSecurityDescriptor
-RtlLengthSid
-RtlLockBootStatusData
-RtlLookupAtomInAtomTable
-RtlLookupElementGenericTable
-RtlLookupElementGenericTableAvl
-RtlLookupElementGenericTableFull
-RtlLookupElementGenericTableFullAvl
-RtlLookupFunctionEntry
-RtlMapGenericMask
-RtlMapSecurityErrorToNtStatus
-RtlMergeRangeLists
-RtlMoveMemory
-RtlMultiByteToUnicodeN
-RtlMultiByteToUnicodeSize
-RtlNextUnicodePrefix
-RtlNtStatusToDosError
-RtlNtStatusToDosErrorNoTeb
-RtlNumberGenericTableElements
-RtlNumberGenericTableElementsAvl
-RtlNumberOfClearBits
-RtlNumberOfSetBits
-RtlOemStringToCountedUnicodeString
-RtlOemStringToUnicodeSize
-RtlOemStringToUnicodeString
-RtlOemToUnicodeN
-RtlPcToFileHeader
-RtlPinAtomInAtomTable
-RtlPrefetchMemoryNonTemporal
-RtlPrefixString
-RtlPrefixUnicodeString
-RtlQueryAtomInAtomTable
-RtlQueryRegistryValues
-RtlQueryTimeZoneInformation
-RtlRaiseException
-RtlRandom
-RtlRandomEx
-RtlRealPredecessor
-RtlRealSuccessor
-RtlRemoveUnicodePrefix
-RtlReserveChunk
-RtlRestoreContext
-RtlSecondsSince1970ToTime
-RtlSecondsSince1980ToTime
-RtlSelfRelativeToAbsoluteSD
-RtlSelfRelativeToAbsoluteSD2
-RtlSetAllBits
-RtlSetBit
-RtlSetBits
-RtlSetDaclSecurityDescriptor
-RtlSetGroupSecurityDescriptor
-RtlSetOwnerSecurityDescriptor
-RtlSetSaclSecurityDescriptor
-RtlSetTimeZoneInformation
-RtlSizeHeap
-RtlSplay
-RtlStringFromGUID
-RtlSubAuthorityCountSid
-RtlSubAuthoritySid
-RtlSubtreePredecessor
-RtlSubtreeSuccessor
-RtlTestBit
-RtlTimeFieldsToTime
-RtlTimeToElapsedTimeFields
-RtlTimeToSecondsSince1970
-RtlTimeToSecondsSince1980
-RtlTimeToTimeFields
-RtlTraceDatabaseAdd
-RtlTraceDatabaseCreate
-RtlTraceDatabaseDestroy
-RtlTraceDatabaseEnumerate
-RtlTraceDatabaseFind
-RtlTraceDatabaseLock
-RtlTraceDatabaseUnlock
-RtlTraceDatabaseValidate
-RtlUnicodeStringToAnsiSize
-RtlUnicodeStringToAnsiString
-RtlUnicodeStringToCountedOemString
-RtlUnicodeStringToInteger
-RtlUnicodeStringToOemSize
-RtlUnicodeStringToOemString
-RtlUnicodeToCustomCPN
-RtlUnicodeToMultiByteN
-RtlUnicodeToMultiByteSize
-RtlUnicodeToOemN
-RtlUnlockBootStatusData
-RtlUnwind
-RtlUnwindEx
-RtlUpcaseUnicodeChar
-RtlUpcaseUnicodeString
-RtlUpcaseUnicodeStringToAnsiString
-RtlUpcaseUnicodeStringToCountedOemString
-RtlUpcaseUnicodeStringToOemString
-RtlUpcaseUnicodeToCustomCPN
-RtlUpcaseUnicodeToMultiByteN
-RtlUpcaseUnicodeToOemN
-RtlUpperChar
-RtlUpperString
-RtlValidRelativeSecurityDescriptor
-RtlValidSecurityDescriptor
-RtlValidSid
-RtlVerifyVersionInfo
-RtlVirtualUnwind
-RtlVolumeDeviceToDosName
-RtlWalkFrameChain
-RtlWriteRegistryValue
-RtlZeroHeap
-RtlZeroMemory
-RtlxAnsiStringToUnicodeSize
-RtlxOemStringToUnicodeSize
-RtlxUnicodeStringToAnsiSize
-RtlxUnicodeStringToOemSize
-SeAccessCheck
-SeAppendPrivileges
-SeAssignSecurity
-SeAssignSecurityEx
-SeAuditHardLinkCreation
-SeAuditingFileEvents
-SeAuditingFileEventsWithContext
-SeAuditingFileOrGlobalEvents
-SeAuditingHardLinkEvents
-SeAuditingHardLinkEventsWithContext
-SeCaptureSecurityDescriptor
-SeCaptureSubjectContext
-SeCloseObjectAuditAlarm
-SeCreateAccessState
-SeCreateClientSecurity
-SeCreateClientSecurityFromSubjectContext
-SeDeassignSecurity
-SeDeleteAccessState
-SeDeleteObjectAuditAlarm
-SeExports DATA
-SeFilterToken
-SeFreePrivileges
-SeImpersonateClient
-SeImpersonateClientEx
-SeLockSubjectContext
-SeMarkLogonSessionForTerminationNotification
-SeOpenObjectAuditAlarm
-SeOpenObjectForDeleteAuditAlarm
-SePrivilegeCheck
-SePrivilegeObjectAuditAlarm
-SePublicDefaultDacl DATA
-SeQueryAuthenticationIdToken
-SeQueryInformationToken
-SeQuerySecurityDescriptorInfo
-SeQuerySessionIdToken
-SeRegisterLogonSessionTerminatedRoutine
-SeReleaseSecurityDescriptor
-SeReleaseSubjectContext
-SeReportSecurityEvent
-SeSetAccessStateGenericMapping
-SeSetAuditParameter
-SeSetSecurityDescriptorInfo
-SeSetSecurityDescriptorInfoEx
-SeSinglePrivilegeCheck
-SeSystemDefaultDacl DATA
-SeTokenImpersonationLevel
-SeTokenIsAdmin
-SeTokenIsRestricted
-SeTokenObjectType DATA
-SeTokenType
-SeUnlockSubjectContext
-SeUnregisterLogonSessionTerminatedRoutine
-SeValidSecurityDescriptor
-VerSetConditionMask
-VfFailDeviceNode
-VfFailDriver
-VfFailSystemBIOS
-VfIsVerificationEnabled
-WmiFlushTrace
-WmiGetClock
-WmiQueryTrace
-WmiQueryTraceInformation
-WmiStartTrace
-WmiStopTrace
-WmiTraceFastEvent
-WmiTraceMessage
-WmiTraceMessageVa
-WmiUpdateTrace
-XIPDispatch
-ZwAccessCheckAndAuditAlarm
-ZwAddBootEntry
-ZwAddDriverEntry
-ZwAdjustPrivilegesToken
-ZwAlertThread
-ZwAllocateVirtualMemory
-ZwAssignProcessToJobObject
-ZwCancelIoFile
-ZwCancelTimer
-ZwClearEvent
-ZwClose
-ZwCloseObjectAuditAlarm
-ZwConnectPort
-ZwCreateDirectoryObject
-ZwCreateEvent
-ZwCreateFile
-ZwCreateJobObject
-ZwCreateKey
-ZwCreateSection
-ZwCreateSymbolicLinkObject
-ZwCreateTimer
-ZwDeleteBootEntry
-ZwDeleteDriverEntry
-ZwDeleteFile
-ZwDeleteKey
-ZwDeleteValueKey
-ZwDeviceIoControlFile
-ZwDisplayString
-ZwDuplicateObject
-ZwDuplicateToken
-ZwEnumerateBootEntries
-ZwEnumerateDriverEntries
-ZwEnumerateKey
-ZwEnumerateValueKey
-ZwFlushInstructionCache
-ZwFlushKey
-ZwFlushVirtualMemory
-ZwFreeVirtualMemory
-ZwFsControlFile
-ZwInitiatePowerAction
-ZwIsProcessInJob
-ZwLoadDriver
-ZwLoadKey
-ZwMakeTemporaryObject
-ZwMapViewOfSection
-ZwModifyBootEntry
-ZwModifyDriverEntry
-ZwNotifyChangeKey
-ZwOpenDirectoryObject
-ZwOpenEvent
-ZwOpenFile
-ZwOpenJobObject
-ZwOpenKey
-ZwOpenProcess
-ZwOpenProcessToken
-ZwOpenProcessTokenEx
-ZwOpenSection
-ZwOpenSymbolicLinkObject
-ZwOpenThread
-ZwOpenThreadToken
-ZwOpenThreadTokenEx
-ZwOpenTimer
-ZwPowerInformation
-ZwPulseEvent
-ZwQueryBootEntryOrder
-ZwQueryBootOptions
-ZwQueryDefaultLocale
-ZwQueryDefaultUILanguage
-ZwQueryDirectoryFile
-ZwQueryDirectoryObject
-ZwQueryDriverEntryOrder
-ZwQueryEaFile
-ZwQueryFullAttributesFile
-ZwQueryInformationFile
-ZwQueryInformationJobObject
-ZwQueryInformationProcess
-ZwQueryInformationThread
-ZwQueryInformationToken
-ZwQueryInstallUILanguage
-ZwQueryKey
-ZwQueryObject
-ZwQuerySection
-ZwQuerySecurityObject
-ZwQuerySymbolicLinkObject
-ZwQuerySystemInformation
-ZwQueryValueKey
-ZwQueryVolumeInformationFile
-ZwReadFile
-ZwReplaceKey
-ZwRequestWaitReplyPort
-ZwResetEvent
-ZwRestoreKey
-ZwSaveKey
-ZwSaveKeyEx
-ZwSecureConnectPort
-ZwSetBootEntryOrder
-ZwSetBootOptions
-ZwSetDefaultLocale
-ZwSetDefaultUILanguage
-ZwSetDriverEntryOrder
-ZwSetEaFile
-ZwSetEvent
-ZwSetInformationFile
-ZwSetInformationJobObject
-ZwSetInformationObject
-ZwSetInformationProcess
-ZwSetInformationThread
-ZwSetSecurityObject
-ZwSetSystemInformation
-ZwSetSystemTime
-ZwSetTimer
-ZwSetValueKey
-ZwSetVolumeInformationFile
-ZwTerminateJobObject
-ZwTerminateProcess
-ZwTranslateFilePath
-ZwUnloadDriver
-ZwUnloadKey
-ZwUnmapViewOfSection
-ZwWaitForMultipleObjects
-ZwWaitForSingleObject
-ZwWriteFile
-ZwYieldExecution
-__C_specific_handler
-;__chkstk
-__misaligned_access
-_itoa
-_itow
-_local_unwind
-_purecall
-_setjmp
-_setjmpex
-_snprintf
-_snwprintf
-_stricmp
-_strlwr
-_strnicmp
-_strnset
-_strrev
-_strset
-_strupr
-_vsnprintf
-_vsnwprintf
-_wcsicmp
-_wcslwr
-_wcsnicmp
-_wcsnset
-_wcsrev
-_wcsupr
-atoi
-atol
-isdigit
-islower
-isprint
-isspace
-isupper
-isxdigit
-longjmp
-mbstowcs
-mbtowc
-memchr
-memcmp
-memcpy
-memmove
-memset
-qsort
-rand
-sprintf
-srand
-strcat
-strchr
-strcmp
-strcpy
-strlen
-strncat
-strncmp
-strncpy
-strrchr
-strspn
-strstr
-swprintf
-tolower
-toupper
-towlower
-towupper
-vDbgPrintEx
-vDbgPrintExWithPrefix
-vsprintf
-wcscat
-wcschr
-wcscmp
-wcscpy
-wcscspn
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcsrchr
-wcsspn
-wcsstr
-wcstombs
-wctomb
+;
+; Definition file of ntoskrnl.exe
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "ntoskrnl.exe"
+EXPORTS
+CcCanIWrite
+CcCopyRead
+CcCopyWrite
+CcDeferWrite
+CcFastCopyRead
+CcFastCopyWrite
+CcFastMdlReadWait DATA
+CcFastReadNotPossible DATA
+CcFastReadWait DATA
+CcFlushCache
+CcGetDirtyPages
+CcGetFileObjectFromBcb
+CcGetFileObjectFromSectionPtrs
+CcGetFlushedValidData
+CcGetLsnForFileObject
+CcInitializeCacheMap
+CcIsThereDirtyData
+CcMapData
+CcMdlRead
+CcMdlReadComplete
+CcMdlWriteAbort
+CcMdlWriteComplete
+CcPinMappedData
+CcPinRead
+CcPrepareMdlWrite
+CcPreparePinWrite
+CcPurgeCacheSection
+CcRemapBcb
+CcRepinBcb
+CcScheduleReadAhead
+CcSetAdditionalCacheAttributes
+CcSetBcbOwnerPointer
+CcSetDirtyPageThreshold
+CcSetDirtyPinnedData
+CcSetFileSizes
+CcSetLogHandleForFile
+CcSetReadAheadGranularity
+CcUninitializeCacheMap
+CcUnpinData
+CcUnpinDataForThread
+CcUnpinRepinnedBcb
+CcWaitForCurrentLazyWriterActivity
+CcZeroData
+CmRegisterCallback
+CmUnRegisterCallback
+DbgBreakPoint
+DbgBreakPointWithStatus
+DbgCommandString
+DbgLoadImageSymbols
+DbgPrint
+DbgPrintEx
+DbgPrintReturnControlC
+DbgPrompt
+DbgQueryDebugFilterState
+DbgSetDebugFilterState
+ExAcquireFastMutex
+ExAcquireFastMutexUnsafe
+ExAcquireResourceExclusiveLite
+ExAcquireResourceSharedLite
+ExAcquireRundownProtection
+ExAcquireRundownProtectionCacheAware
+ExAcquireRundownProtectionCacheAwareEx
+ExAcquireRundownProtectionEx
+ExAcquireSharedStarveExclusive
+ExAcquireSharedWaitForExclusive
+ExAllocateCacheAwareRundownProtection
+ExAllocateFromPagedLookasideList
+ExAllocatePool
+ExAllocatePoolWithQuota
+ExAllocatePoolWithQuotaTag
+ExAllocatePoolWithTag
+ExAllocatePoolWithTagPriority
+ExConvertExclusiveToSharedLite
+ExCreateCallback
+ExDeleteNPagedLookasideList
+ExDeletePagedLookasideList
+ExDeleteResourceLite
+ExDesktopObjectType DATA
+ExDisableResourceBoostLite
+ExEnterCriticalRegionAndAcquireFastMutexUnsafe
+ExEnterCriticalRegionAndAcquireResourceExclusive
+ExEnterCriticalRegionAndAcquireResourceShared
+ExEnterCriticalRegionAndAcquireSharedWaitForExclusive
+ExEnumHandleTable
+ExEventObjectType DATA
+ExExtendZone
+ExFreeCacheAwareRundownProtection
+ExFreePool
+ExFreePoolWithTag
+ExFreeToPagedLookasideList
+ExGetCurrentProcessorCounts
+ExGetCurrentProcessorCpuUsage
+ExGetExclusiveWaiterCount
+ExGetPreviousMode
+ExGetSharedWaiterCount
+ExInitializeNPagedLookasideList
+ExInitializePagedLookasideList
+ExInitializeResourceLite
+ExInitializeRundownProtection
+ExInitializeRundownProtectionCacheAware
+ExInitializeZone
+ExInterlockedAddLargeInteger
+ExInterlockedAddUlong
+ExInterlockedExtendZone
+ExInterlockedInsertHeadList
+ExInterlockedInsertTailList
+ExInterlockedPopEntryList
+ExInterlockedPushEntryList
+ExInterlockedRemoveHeadList
+ExIsProcessorFeaturePresent
+ExIsResourceAcquiredExclusiveLite
+ExIsResourceAcquiredSharedLite
+ExLocalTimeToSystemTime
+ExNotifyCallback
+ExQueryDepthSList
+ExQueryPoolBlockSize
+ExQueueWorkItem
+ExRaiseAccessViolation
+ExRaiseDatatypeMisalignment
+ExRaiseException
+ExRaiseHardError
+ExRaiseStatus
+ExReInitializeRundownProtection
+ExReInitializeRundownProtectionCacheAware
+ExRegisterCallback
+ExReinitializeResourceLite
+ExReleaseFastMutex
+ExReleaseFastMutexUnsafe
+ExReleaseFastMutexUnsafeAndLeaveCriticalRegion
+ExReleaseResourceAndLeaveCriticalRegion
+ExReleaseResourceForThreadLite
+ExReleaseResourceLite
+ExReleaseRundownProtection
+ExReleaseRundownProtectionCacheAware
+ExReleaseRundownProtectionCacheAwareEx
+ExReleaseRundownProtectionEx
+ExRundownCompleted
+ExRundownCompletedCacheAware
+ExSemaphoreObjectType DATA
+ExSetResourceOwnerPointer
+ExSetTimerResolution
+ExSizeOfRundownProtectionCacheAware
+ExSystemExceptionFilter
+ExSystemTimeToLocalTime
+ExTryToAcquireFastMutex
+ExUnregisterCallback
+ExUuidCreate
+ExVerifySuite
+ExWaitForRundownProtectionRelease
+ExWaitForRundownProtectionReleaseCacheAware
+ExWindowStationObjectType DATA
+ExfAcquirePushLockExclusive
+ExfAcquirePushLockShared
+ExfReleasePushLock
+ExfReleasePushLockExclusive
+ExfReleasePushLockShared
+ExfTryToWakePushLock
+ExfUnblockPushLock
+ExpInterlockedFlushSList
+ExpInterlockedPopEntrySList
+ExpInterlockedPushEntrySList
+FsRtlAcquireFileExclusive
+FsRtlAddBaseMcbEntry
+FsRtlAddLargeMcbEntry
+FsRtlAddMcbEntry
+FsRtlAddToTunnelCache
+FsRtlAllocateFileLock
+FsRtlAllocatePool
+FsRtlAllocatePoolWithQuota
+FsRtlAllocatePoolWithQuotaTag
+FsRtlAllocatePoolWithTag
+FsRtlAllocateResource
+FsRtlAreNamesEqual
+FsRtlBalanceReads
+FsRtlCheckLockForReadAccess
+FsRtlCheckLockForWriteAccess
+FsRtlCheckOplock
+FsRtlCopyRead
+FsRtlCopyWrite
+FsRtlCreateSectionForDataScan
+FsRtlCurrentBatchOplock
+FsRtlDeleteKeyFromTunnelCache
+FsRtlDeleteTunnelCache
+FsRtlDeregisterUncProvider
+FsRtlDissectDbcs
+FsRtlDissectName
+FsRtlDoesDbcsContainWildCards
+FsRtlDoesNameContainWildCards
+FsRtlFastCheckLockForRead
+FsRtlFastCheckLockForWrite
+FsRtlFastUnlockAll
+FsRtlFastUnlockAllByKey
+FsRtlFastUnlockSingle
+FsRtlFindInTunnelCache
+FsRtlFreeFileLock
+FsRtlGetFileSize
+FsRtlGetNextBaseMcbEntry
+FsRtlGetNextFileLock
+FsRtlGetNextLargeMcbEntry
+FsRtlGetNextMcbEntry
+FsRtlIncrementCcFastReadNoWait
+FsRtlIncrementCcFastReadNotPossible
+FsRtlIncrementCcFastReadResourceMiss
+FsRtlIncrementCcFastReadWait
+FsRtlInitializeBaseMcb
+FsRtlInitializeFileLock
+FsRtlInitializeLargeMcb
+FsRtlInitializeMcb
+FsRtlInitializeOplock
+FsRtlInitializeTunnelCache
+FsRtlInsertPerFileObjectContext
+FsRtlInsertPerStreamContext
+FsRtlIsDbcsInExpression
+FsRtlIsFatDbcsLegal
+FsRtlIsHpfsDbcsLegal
+FsRtlIsNameInExpression
+FsRtlIsNtstatusExpected
+FsRtlIsPagingFile
+FsRtlIsTotalDeviceFailure
+FsRtlLegalAnsiCharacterArray DATA
+FsRtlLookupBaseMcbEntry
+FsRtlLookupLargeMcbEntry
+FsRtlLookupLastBaseMcbEntry
+FsRtlLookupLastBaseMcbEntryAndIndex
+FsRtlLookupLastLargeMcbEntry
+FsRtlLookupLastLargeMcbEntryAndIndex
+FsRtlLookupLastMcbEntry
+FsRtlLookupMcbEntry
+FsRtlLookupPerFileObjectContext
+FsRtlLookupPerStreamContextInternal
+FsRtlMdlRead
+FsRtlMdlReadComplete
+FsRtlMdlReadCompleteDev
+FsRtlMdlReadDev
+FsRtlMdlWriteComplete
+FsRtlMdlWriteCompleteDev
+FsRtlNormalizeNtstatus
+FsRtlNotifyChangeDirectory
+FsRtlNotifyCleanup
+FsRtlNotifyFilterChangeDirectory
+FsRtlNotifyFilterReportChange
+FsRtlNotifyFullChangeDirectory
+FsRtlNotifyFullReportChange
+FsRtlNotifyInitializeSync
+FsRtlNotifyReportChange
+FsRtlNotifyUninitializeSync
+FsRtlNotifyVolumeEvent
+FsRtlNumberOfRunsInBaseMcb
+FsRtlNumberOfRunsInLargeMcb
+FsRtlNumberOfRunsInMcb
+FsRtlOplockFsctrl
+FsRtlOplockIsFastIoPossible
+FsRtlPostPagingFileStackOverflow
+FsRtlPostStackOverflow
+FsRtlPrepareMdlWrite
+FsRtlPrepareMdlWriteDev
+FsRtlPrivateLock
+FsRtlProcessFileLock
+FsRtlRegisterFileSystemFilterCallbacks
+FsRtlRegisterUncProvider
+FsRtlReleaseFile
+FsRtlRemoveBaseMcbEntry
+FsRtlRemoveLargeMcbEntry
+FsRtlRemoveMcbEntry
+FsRtlRemovePerFileObjectContext
+FsRtlRemovePerStreamContext
+FsRtlResetBaseMcb
+FsRtlResetLargeMcb
+FsRtlSplitBaseMcb
+FsRtlSplitLargeMcb
+FsRtlSyncVolumes
+FsRtlTeardownPerStreamContexts
+FsRtlTruncateBaseMcb
+FsRtlTruncateLargeMcb
+FsRtlTruncateMcb
+FsRtlUninitializeBaseMcb
+FsRtlUninitializeFileLock
+FsRtlUninitializeLargeMcb
+FsRtlUninitializeMcb
+FsRtlUninitializeOplock
+HalDispatchTable DATA
+HalExamineMBR
+HalPrivateDispatchTable DATA
+HeadlessDispatch
+InbvAcquireDisplayOwnership
+InbvCheckDisplayOwnership
+InbvDisplayString
+InbvEnableBootDriver
+InbvEnableDisplayString
+InbvInstallDisplayStringFilter
+InbvIsBootDriverInstalled
+InbvNotifyDisplayOwnershipLost
+InbvResetDisplay
+InbvSetScrollRegion
+InbvSetTextColor
+InbvSolidColorFill
+InitSafeBootMode DATA
+InitializeSListHead
+IoAcquireCancelSpinLock
+IoAcquireRemoveLockEx
+IoAcquireVpbSpinLock
+IoAdapterObjectType DATA
+IoAllocateAdapterChannel
+IoAllocateController
+IoAllocateDriverObjectExtension
+IoAllocateErrorLogEntry
+IoAllocateIrp
+IoAllocateMdl
+IoAllocateWorkItem
+IoAssignDriveLetters
+IoAssignResources
+IoAttachDevice
+IoAttachDeviceByPointer
+IoAttachDeviceToDeviceStack
+IoAttachDeviceToDeviceStackSafe
+IoBuildAsynchronousFsdRequest
+IoBuildDeviceIoControlRequest
+IoBuildPartialMdl
+IoBuildSynchronousFsdRequest
+IoCallDriver
+IoCancelFileOpen
+IoCancelIrp
+IoCheckDesiredAccess
+IoCheckEaBufferValidity
+IoCheckFunctionAccess
+IoCheckQuerySetFileInformation
+IoCheckQuerySetVolumeInformation
+IoCheckQuotaBufferValidity
+IoCheckShareAccess
+IoCompleteRequest
+IoConnectInterrupt
+IoCreateController
+IoCreateDevice
+IoCreateDisk
+IoCreateDriver
+IoCreateFile
+IoCreateFileSpecifyDeviceObjectHint
+IoCreateNotificationEvent
+IoCreateStreamFileObject
+IoCreateStreamFileObjectEx
+IoCreateStreamFileObjectLite
+IoCreateSymbolicLink
+IoCreateSynchronizationEvent
+IoCreateUnprotectedSymbolicLink
+IoCsqInitialize
+IoCsqInitializeEx
+IoCsqInsertIrp
+IoCsqInsertIrpEx
+IoCsqRemoveIrp
+IoCsqRemoveNextIrp
+IoDeleteController
+IoDeleteDevice
+IoDeleteDriver
+IoDeleteSymbolicLink
+IoDetachDevice
+IoDeviceHandlerObjectSize DATA
+IoDeviceHandlerObjectType DATA
+IoDeviceObjectType DATA
+IoDisconnectInterrupt
+IoDriverObjectType DATA
+IoEnqueueIrp
+IoEnumerateDeviceObjectList
+IoEnumerateRegisteredFiltersList
+IoFastQueryNetworkAttributes
+IoFileObjectType DATA
+IoForwardAndCatchIrp
+IoForwardIrpSynchronously
+IoFreeController
+IoFreeErrorLogEntry
+IoFreeIrp
+IoFreeMdl
+IoFreeWorkItem
+IoGetAttachedDevice
+IoGetAttachedDeviceReference
+IoGetBaseFileSystemDeviceObject
+IoGetBootDiskInformation
+IoGetConfigurationInformation
+IoGetCurrentProcess
+IoGetDeviceAttachmentBaseRef
+IoGetDeviceInterfaceAlias
+IoGetDeviceInterfaces
+IoGetDeviceObjectPointer
+IoGetDeviceProperty
+IoGetDeviceToVerify
+IoGetDiskDeviceObject
+IoGetDmaAdapter
+IoGetDriverObjectExtension
+IoGetFileObjectGenericMapping
+IoGetInitialStack
+IoGetLowerDeviceObject
+IoGetPagingIoPriority
+IoGetRelatedDeviceObject
+IoGetRequestorProcess
+IoGetRequestorProcessId
+IoGetRequestorSessionId
+IoGetStackLimits
+IoGetTopLevelIrp
+IoInitializeIrp
+IoInitializeRemoveLockEx
+IoInitializeTimer
+IoInvalidateDeviceRelations
+IoInvalidateDeviceState
+IoIs32bitProcess
+IoIsFileOriginRemote
+IoIsOperationSynchronous
+IoIsSystemThread
+IoIsValidNameGraftingBuffer
+IoIsWdmVersionAvailable
+IoMakeAssociatedIrp
+IoOpenDeviceInterfaceRegistryKey
+IoOpenDeviceRegistryKey
+IoPageRead
+IoPnPDeliverServicePowerNotification
+IoQueryDeviceDescription
+IoQueryFileDosDeviceName
+IoQueryFileInformation
+IoQueryVolumeInformation
+IoQueueThreadIrp
+IoQueueWorkItem
+IoRaiseHardError
+IoRaiseInformationalHardError
+IoReadDiskSignature
+IoReadOperationCount DATA
+IoReadPartitionTable
+IoReadPartitionTableEx
+IoReadTransferCount DATA
+IoRegisterBootDriverReinitialization
+IoRegisterDeviceInterface
+IoRegisterDriverReinitialization
+IoRegisterFileSystem
+IoRegisterFsRegistrationChange
+IoRegisterLastChanceShutdownNotification
+IoRegisterPlugPlayNotification
+IoRegisterShutdownNotification
+IoReleaseCancelSpinLock
+IoReleaseRemoveLockAndWaitEx
+IoReleaseRemoveLockEx
+IoReleaseVpbSpinLock
+IoRemoveShareAccess
+IoReportDetectedDevice
+IoReportHalResourceUsage
+IoReportResourceForDetection
+IoReportResourceUsage
+IoReportTargetDeviceChange
+IoReportTargetDeviceChangeAsynchronous
+IoRequestDeviceEject
+IoReuseIrp
+IoSetCompletionRoutineEx
+IoSetDeviceInterfaceState
+IoSetDeviceToVerify
+IoSetFileOrigin
+IoSetHardErrorOrVerifyDevice
+IoSetInformation
+IoSetIoCompletion
+IoSetPartitionInformation
+IoSetPartitionInformationEx
+IoSetShareAccess
+IoSetStartIoAttributes
+IoSetSystemPartition
+IoSetThreadHardErrorMode
+IoSetTopLevelIrp
+IoStartNextPacket
+IoStartNextPacketByKey
+IoStartPacket
+IoStartTimer
+IoStatisticsLock DATA
+IoStopTimer
+IoSynchronousInvalidateDeviceRelations
+IoSynchronousPageWrite
+IoThreadToProcess
+IoTranslateBusAddress
+IoUnregisterFileSystem
+IoUnregisterFsRegistrationChange
+IoUnregisterPlugPlayNotification
+IoUnregisterShutdownNotification
+IoUpdateShareAccess
+IoValidateDeviceIoControlAccess
+IoVerifyPartitionTable
+IoVerifyVolume
+IoVolumeDeviceToDosName
+IoWMIAllocateInstanceIds
+IoWMIDeviceObjectToInstanceName
+IoWMIDeviceObjectToProviderId
+IoWMIExecuteMethod
+IoWMIHandleToInstanceName
+IoWMIOpenBlock
+IoWMIQueryAllData
+IoWMIQueryAllDataMultiple
+IoWMIQuerySingleInstance
+IoWMIQuerySingleInstanceMultiple
+IoWMIRegistrationControl
+IoWMISetNotificationCallback
+IoWMISetSingleInstance
+IoWMISetSingleItem
+IoWMISuggestInstanceName
+IoWMIWriteEvent
+IoWriteErrorLogEntry
+IoWriteOperationCount DATA
+IoWritePartitionTable
+IoWritePartitionTableEx
+IoWriteTransferCount DATA
+IofCallDriver
+IofCompleteRequest
+KdChangeOption
+KdDebuggerEnabled DATA
+KdDebuggerNotPresent DATA
+KdDisableDebugger
+KdEnableDebugger
+KdEnteredDebugger DATA
+KdPollBreakIn
+KdPowerTransition
+KdRefreshDebuggerNotPresent
+KdSystemDebugControl
+KeAcquireGuardedMutex
+KeAcquireGuardedMutexUnsafe
+KeAcquireInStackQueuedSpinLock
+KeAcquireInStackQueuedSpinLockAtDpcLevel
+KeAcquireInStackQueuedSpinLockForDpc
+KeAcquireInStackQueuedSpinLockRaiseToSynch
+KeAcquireInterruptSpinLock
+KeAcquireQueuedSpinLock
+KeAcquireQueuedSpinLockRaiseToSynch
+KeAcquireSpinLockAtDpcLevel
+KeAcquireSpinLockForDpc
+KeAcquireSpinLockRaiseToDpc
+KeAcquireSpinLockRaiseToSynch
+KeAddSystemServiceTable
+KeAreAllApcsDisabled
+KeAreApcsDisabled
+KeAttachProcess
+KeBugCheck
+KeBugCheckEx
+KeCancelTimer
+KeCapturePersistentThreadState
+KeClearEvent
+KeConnectInterrupt
+KeDelayExecutionThread
+KeDeregisterBugCheckCallback
+KeDeregisterBugCheckReasonCallback
+KeDeregisterNmiCallback
+KeDetachProcess
+KeDisconnectInterrupt
+KeEnterCriticalRegion
+KeEnterGuardedRegion
+KeEnterKernelDebugger
+KeExpandKernelStackAndCallout
+KeFindConfigurationEntry
+KeFindConfigurationNextEntry
+KeFlushEntireTb
+KeFlushQueuedDpcs
+KeGenericCallDpc
+KeGetCurrentIrql
+KeGetCurrentThread
+KeGetRecommendedSharedDataAlignment
+KeInitializeApc
+KeInitializeCrashDumpHeader
+KeInitializeDeviceQueue
+KeInitializeDpc
+KeInitializeEvent
+KeInitializeGuardedMutex
+KeInitializeInterrupt
+KeInitializeMutant
+KeInitializeMutex
+KeInitializeQueue
+KeInitializeSemaphore
+KeInitializeThreadedDpc
+KeInitializeTimer
+KeInitializeTimerEx
+KeInsertByKeyDeviceQueue
+KeInsertDeviceQueue
+KeInsertHeadQueue
+KeInsertQueue
+KeInsertQueueApc
+KeInsertQueueDpc
+KeInvalidateAllCaches
+KeIpiGenericCall
+KeIsAttachedProcess
+KeIsWaitListEmpty
+KeLastBranchMSR DATA
+KeLeaveCriticalRegion
+KeLeaveGuardedRegion
+KeLoaderBlock DATA
+KeLowerIrql
+KeNumberProcessors DATA
+KeProfileInterruptWithSource
+KePulseEvent
+KeQueryActiveProcessors
+KeQueryMultiThreadProcessorSet
+KeQueryPrcbAddress
+KeQueryPriorityThread
+KeQueryRuntimeThread
+KeQueryTimeIncrement
+KeRaiseIrqlToDpcLevel
+KeRaiseUserException
+KeReadStateEvent
+KeReadStateMutant
+KeReadStateMutex
+KeReadStateQueue
+KeReadStateSemaphore
+KeReadStateTimer
+KeRegisterBugCheckCallback
+KeRegisterBugCheckReasonCallback
+KeRegisterNmiCallback
+KeReleaseGuardedMutex
+KeReleaseGuardedMutexUnsafe
+KeReleaseInStackQueuedSpinLock
+KeReleaseInStackQueuedSpinLockForDpc
+KeReleaseInStackQueuedSpinLockFromDpcLevel
+KeReleaseInterruptSpinLock
+KeReleaseMutant
+KeReleaseMutex
+KeReleaseQueuedSpinLock
+KeReleaseSemaphore
+KeReleaseSpinLock
+KeReleaseSpinLockForDpc
+KeReleaseSpinLockFromDpcLevel
+KeRemoveByKeyDeviceQueue
+KeRemoveByKeyDeviceQueueIfBusy
+KeRemoveDeviceQueue
+KeRemoveEntryDeviceQueue
+KeRemoveQueue
+KeRemoveQueueDpc
+KeRemoveSystemServiceTable
+KeResetEvent
+KeRestoreFloatingPointState
+KeRevertToUserAffinityThread
+KeRundownQueue
+KeSaveFloatingPointState
+KeSaveStateForHibernate
+KeSetAffinityThread
+KeSetBasePriorityThread
+KeSetDmaIoCoherency
+KeSetEvent
+KeSetEventBoostPriority
+KeSetIdealProcessorThread
+KeSetImportanceDpc
+KeSetKernelStackSwapEnable
+KeSetPriorityThread
+KeSetProfileIrql
+KeSetSystemAffinityThread
+KeSetTargetProcessorDpc
+KeSetTimeIncrement
+KeSetTimer
+KeSetTimerEx
+KeSignalCallDpcDone
+KeSignalCallDpcSynchronize
+KeStackAttachProcess
+KeSynchronizeExecution
+KeTerminateThread
+KeTestSpinLock
+KeTryToAcquireGuardedMutex
+KeTryToAcquireQueuedSpinLock
+KeTryToAcquireQueuedSpinLockRaiseToSynch
+KeTryToAcquireSpinLockAtDpcLevel
+KeUnstackDetachProcess
+KeUpdateRunTime
+KeUpdateSystemTime
+KeUserModeCallback
+KeWaitForMultipleObjects
+KeWaitForMutexObject
+KeWaitForSingleObject
+KfRaiseIrql
+KiBugCheckData DATA
+KiCheckForKernelApcDelivery
+KiCpuId
+LdrAccessResource
+LdrEnumResources
+LdrFindResourceDirectory_U
+LdrFindResource_U
+LpcPortObjectType DATA
+LpcRequestPort
+LpcRequestWaitReplyPort
+LsaCallAuthenticationPackage
+LsaDeregisterLogonProcess
+LsaFreeReturnBuffer
+LsaLogonUser
+LsaLookupAuthenticationPackage
+LsaRegisterLogonProcess
+Mm64BitPhysicalAddress DATA
+MmAddPhysicalMemory
+MmAddVerifierThunks
+MmAdjustWorkingSetSize
+MmAdvanceMdl
+MmAllocateContiguousMemory
+MmAllocateContiguousMemorySpecifyCache
+MmAllocateMappingAddress
+MmAllocateNonCachedMemory
+MmAllocatePagesForMdl
+MmAllocatePagesForMdlEx
+MmBuildMdlForNonPagedPool
+MmCanFileBeTruncated
+MmCommitSessionMappedView
+MmCreateMdl
+MmCreateMirror
+MmCreateSection
+MmDisableModifiedWriteOfSection
+MmDoesFileHaveUserWritableReferences
+MmFlushImageSection
+MmForceSectionClosed
+MmFreeContiguousMemory
+MmFreeContiguousMemorySpecifyCache
+MmFreeMappingAddress
+MmFreeNonCachedMemory
+MmFreePagesFromMdl
+MmGetPhysicalAddress
+MmGetPhysicalMemoryRanges
+MmGetSystemRoutineAddress
+MmGetVirtualForPhysical
+MmGrowKernelStack
+MmHighestUserAddress DATA
+MmIsAddressValid
+MmIsDriverVerifying
+MmIsIoSpaceActive
+MmIsNonPagedSystemAddressValid
+MmIsRecursiveIoFault
+MmIsThisAnNtAsSystem
+MmIsVerifierEnabled
+MmLockPagableDataSection
+MmLockPagableImageSection
+MmLockPagableSectionByHandle
+MmMapIoSpace
+MmMapLockedPages
+MmMapLockedPagesSpecifyCache
+MmMapLockedPagesWithReservedMapping
+MmMapMemoryDumpMdl
+MmMapUserAddressesToPage
+MmMapVideoDisplay
+MmMapViewInSessionSpace
+MmMapViewInSystemSpace
+MmMapViewOfSection
+MmMarkPhysicalMemoryAsBad
+MmMarkPhysicalMemoryAsGood
+MmPageEntireDriver
+MmPrefetchPages
+MmProbeAndLockPages
+MmProbeAndLockProcessPages
+MmProbeAndLockSelectedPages
+MmProtectMdlSystemAddress
+MmQuerySystemSize
+MmRemovePhysicalMemory
+MmResetDriverPaging
+MmSectionObjectType DATA
+MmSecureVirtualMemory
+MmSetAddressRangeModified
+MmSetBankedSection
+MmSizeOfMdl
+MmSystemRangeStart DATA
+MmTrimAllSystemPagableMemory
+MmUnlockPagableImageSection
+MmUnlockPages
+MmUnmapIoSpace
+MmUnmapLockedPages
+MmUnmapReservedMapping
+MmUnmapVideoDisplay
+MmUnmapViewInSessionSpace
+MmUnmapViewInSystemSpace
+MmUnmapViewOfSection
+MmUnsecureVirtualMemory
+MmUserProbeAddress DATA
+NlsAnsiCodePage DATA
+NlsLeadByteInfo DATA
+NlsMbCodePageTag DATA
+NlsMbOemCodePageTag DATA
+NlsOemCodePage DATA
+NlsOemLeadByteInfo DATA
+NtAddAtom
+NtAdjustPrivilegesToken
+NtAllocateLocallyUniqueId
+NtAllocateUuids
+NtAllocateVirtualMemory
+NtBuildNumber DATA
+NtClose
+NtConnectPort
+NtCreateEvent
+NtCreateFile
+NtCreateSection
+NtDeleteAtom
+NtDeleteFile
+NtDeviceIoControlFile
+NtDuplicateObject
+NtDuplicateToken
+NtFindAtom
+NtFreeVirtualMemory
+NtFsControlFile
+NtGlobalFlag DATA
+NtLockFile
+NtMakePermanentObject
+NtMapViewOfSection
+NtNotifyChangeDirectoryFile
+NtOpenFile
+NtOpenProcess
+NtOpenProcessToken
+NtOpenProcessTokenEx
+NtOpenThread
+NtOpenThreadToken
+NtOpenThreadTokenEx
+NtQueryDirectoryFile
+NtQueryEaFile
+NtQueryInformationAtom
+NtQueryInformationFile
+NtQueryInformationProcess
+NtQueryInformationThread
+NtQueryInformationToken
+NtQueryQuotaInformationFile
+NtQuerySecurityObject
+NtQuerySystemInformation
+NtQueryVolumeInformationFile
+NtReadFile
+NtRequestPort
+NtRequestWaitReplyPort
+NtSetEaFile
+NtSetEvent
+NtSetInformationFile
+NtSetInformationProcess
+NtSetInformationThread
+NtSetQuotaInformationFile
+NtSetSecurityObject
+NtSetVolumeInformationFile
+NtShutdownSystem
+NtTraceEvent
+NtUnlockFile
+NtVdmControl
+NtWaitForSingleObject
+NtWriteFile
+ObAssignSecurity
+ObCheckCreateObjectAccess
+ObCheckObjectAccess
+ObCloseHandle
+ObCreateObject
+ObCreateObjectType
+ObDeleteCapturedInsertInfo
+ObDereferenceObject
+ObDereferenceSecurityDescriptor
+ObFindHandleForObject
+ObGetObjectSecurity
+ObInsertObject
+ObLogSecurityDescriptor
+ObMakeTemporaryObject
+ObOpenObjectByName
+ObOpenObjectByPointer
+ObQueryNameString
+ObQueryObjectAuditingByHandle
+ObReferenceObjectByHandle
+ObReferenceObjectByName
+ObReferenceObjectByPointer
+ObReferenceSecurityDescriptor
+ObReleaseObjectSecurity
+ObSetHandleAttributes
+ObSetSecurityDescriptorInfo
+ObSetSecurityObjectByPointer
+ObfDereferenceObject
+ObfReferenceObject
+PfxFindPrefix
+PfxInitialize
+PfxInsertPrefix
+PfxRemovePrefix
+PoCallDriver
+PoCancelDeviceNotify
+PoQueueShutdownWorkItem
+PoRegisterDeviceForIdleDetection
+PoRegisterDeviceNotify
+PoRegisterSystemState
+PoRequestPowerIrp
+PoRequestShutdownEvent
+PoSetHiberRange
+PoSetPowerState
+PoSetSystemState
+PoShutdownBugCheck
+PoStartNextPowerIrp
+PoUnregisterSystemState
+ProbeForRead
+ProbeForWrite
+PsAssignImpersonationToken
+PsChargePoolQuota
+PsChargeProcessNonPagedPoolQuota
+PsChargeProcessPagedPoolQuota
+PsChargeProcessPoolQuota
+PsCreateSystemProcess
+PsCreateSystemThread
+PsDereferenceImpersonationToken
+PsDereferencePrimaryToken
+PsDisableImpersonation
+PsEstablishWin32Callouts
+PsGetContextThread
+PsGetCurrentProcess
+PsGetCurrentProcessId
+PsGetCurrentProcessSessionId
+PsGetCurrentProcessWin32Process
+PsGetCurrentProcessWow64Process
+PsGetCurrentThread
+PsGetCurrentThreadId
+PsGetCurrentThreadPreviousMode
+PsGetCurrentThreadProcess
+PsGetCurrentThreadProcessId
+PsGetCurrentThreadStackBase
+PsGetCurrentThreadStackLimit
+PsGetCurrentThreadTeb
+PsGetCurrentThreadWin32Thread
+PsGetCurrentThreadWin32ThreadAndEnterCriticalRegion
+PsGetJobLock
+PsGetJobSessionId
+PsGetJobUIRestrictionsClass
+PsGetProcessCreateTimeQuadPart
+PsGetProcessDebugPort
+PsGetProcessExitProcessCalled
+PsGetProcessExitStatus
+PsGetProcessExitTime
+PsGetProcessId
+PsGetProcessImageFileName
+PsGetProcessInheritedFromUniqueProcessId
+PsGetProcessJob
+PsGetProcessPeb
+PsGetProcessPriorityClass
+PsGetProcessSectionBaseAddress
+PsGetProcessSecurityPort
+PsGetProcessSessionId
+PsGetProcessSessionIdEx
+PsGetProcessWin32Process
+PsGetProcessWin32WindowStation
+PsGetProcessWow64Process
+PsGetThreadFreezeCount
+PsGetThreadHardErrorsAreDisabled
+PsGetThreadId
+PsGetThreadProcess
+PsGetThreadProcessId
+PsGetThreadSessionId
+PsGetThreadTeb
+PsGetThreadWin32Thread
+PsGetVersion
+PsImpersonateClient
+PsInitialSystemProcess DATA
+PsIsProcessBeingDebugged
+PsIsSystemProcess
+PsIsSystemThread
+PsIsThreadImpersonating
+PsIsThreadTerminating
+PsJobType DATA
+PsLookupProcessByProcessId
+PsLookupProcessThreadByCid
+PsLookupThreadByThreadId
+PsProcessType DATA
+PsReferenceImpersonationToken
+PsReferencePrimaryToken
+PsRemoveCreateThreadNotifyRoutine
+PsRemoveLoadImageNotifyRoutine
+PsRestoreImpersonation
+PsReturnPoolQuota
+PsReturnProcessNonPagedPoolQuota
+PsReturnProcessPagedPoolQuota
+PsRevertThreadToSelf
+PsRevertToSelf
+PsSetContextThread
+PsSetCreateProcessNotifyRoutine
+PsSetCreateThreadNotifyRoutine
+PsSetJobUIRestrictionsClass
+PsSetLegoNotifyRoutine
+PsSetLoadImageNotifyRoutine
+PsSetProcessPriorityByClass
+PsSetProcessPriorityClass
+PsSetProcessSecurityPort
+PsSetProcessWin32Process
+PsSetProcessWindowStation
+PsSetThreadHardErrorsAreDisabled
+PsSetThreadWin32Thread
+PsTerminateSystemThread
+PsThreadType DATA
+PsWrapApcWow64Thread
+RtlAbsoluteToSelfRelativeSD
+RtlAddAccessAllowedAce
+RtlAddAccessAllowedAceEx
+RtlAddAce
+RtlAddAtomToAtomTable
+RtlAddRange
+RtlAllocateHeap
+RtlAnsiCharToUnicodeChar
+RtlAnsiStringToUnicodeSize
+RtlAnsiStringToUnicodeString
+RtlAppendAsciizToString
+RtlAppendStringToString
+RtlAppendUnicodeStringToString
+RtlAppendUnicodeToString
+RtlAreAllAccessesGranted
+RtlAreAnyAccessesGranted
+RtlAreBitsClear
+RtlAreBitsSet
+RtlAssert
+RtlCaptureContext
+RtlCaptureStackBackTrace
+RtlCharToInteger
+RtlCheckRegistryKey
+RtlClearAllBits
+RtlClearBit
+RtlClearBits
+RtlCompareMemory
+RtlCompareMemoryUlong
+RtlCompareString
+RtlCompareUnicodeString
+RtlCompressBuffer
+RtlCompressChunks
+RtlConvertSidToUnicodeString
+RtlCopyLuid
+RtlCopyMemory
+RtlCopyMemoryNonTemporal
+RtlCopyRangeList
+RtlCopySid
+RtlCopyString
+RtlCopyUnicodeString
+RtlCreateAcl
+RtlCreateAtomTable
+RtlCreateHeap
+RtlCreateRegistryKey
+RtlCreateSecurityDescriptor
+RtlCreateSystemVolumeInformationFolder
+RtlCreateUnicodeString
+RtlCustomCPToUnicodeN
+RtlDecompressBuffer
+RtlDecompressChunks
+RtlDecompressFragment
+RtlDelete
+RtlDeleteAce
+RtlDeleteAtomFromAtomTable
+RtlDeleteElementGenericTable
+RtlDeleteElementGenericTableAvl
+RtlDeleteNoSplay
+RtlDeleteOwnersRanges
+RtlDeleteRange
+RtlDeleteRegistryValue
+RtlDescribeChunk
+RtlDestroyAtomTable
+RtlDestroyHeap
+RtlDowncaseUnicodeString
+RtlEmptyAtomTable
+RtlEnumerateGenericTable
+RtlEnumerateGenericTableAvl
+RtlEnumerateGenericTableLikeADirectory
+RtlEnumerateGenericTableWithoutSplaying
+RtlEnumerateGenericTableWithoutSplayingAvl
+RtlEqualLuid
+RtlEqualSid
+RtlEqualString
+RtlEqualUnicodeString
+RtlFillMemory
+RtlFindClearBits
+RtlFindClearBitsAndSet
+RtlFindClearRuns
+RtlFindFirstRunClear
+RtlFindLastBackwardRunClear
+RtlFindLeastSignificantBit
+RtlFindLongestRunClear
+RtlFindMessage
+RtlFindMostSignificantBit
+RtlFindNextForwardRunClear
+RtlFindRange
+RtlFindSetBits
+RtlFindSetBitsAndClear
+RtlFindUnicodePrefix
+RtlFormatCurrentUserKeyPath
+RtlFreeAnsiString
+RtlFreeHeap
+RtlFreeOemString
+RtlFreeRangeList
+RtlFreeUnicodeString
+RtlGUIDFromString
+RtlGenerate8dot3Name
+RtlGetAce
+RtlGetCallersAddress
+RtlGetCompressionWorkSpaceSize
+RtlGetDaclSecurityDescriptor
+RtlGetDefaultCodePage
+RtlGetElementGenericTable
+RtlGetElementGenericTableAvl
+RtlGetFirstRange
+RtlGetGroupSecurityDescriptor
+RtlGetNextRange
+RtlGetNtGlobalFlags
+RtlGetOwnerSecurityDescriptor
+RtlGetSaclSecurityDescriptor
+RtlGetSetBootStatusData
+RtlGetVersion
+RtlHashUnicodeString
+RtlImageDirectoryEntryToData
+RtlImageNtHeader
+RtlInitAnsiString
+RtlInitAnsiStringEx
+RtlInitCodePageTable
+RtlInitString
+RtlInitUnicodeString
+RtlInitUnicodeStringEx
+RtlInitializeBitMap
+RtlInitializeGenericTable
+RtlInitializeGenericTableAvl
+RtlInitializeRangeList
+RtlInitializeSid
+RtlInitializeUnicodePrefix
+RtlInsertElementGenericTable
+RtlInsertElementGenericTableAvl
+RtlInsertElementGenericTableFull
+RtlInsertElementGenericTableFullAvl
+RtlInsertUnicodePrefix
+RtlInt64ToUnicodeString
+RtlIntegerToChar
+RtlIntegerToUnicode
+RtlIntegerToUnicodeString
+RtlInvertRangeList
+RtlIpv4AddressToStringA
+RtlIpv4AddressToStringExA
+RtlIpv4AddressToStringExW
+RtlIpv4AddressToStringW
+RtlIpv4StringToAddressA
+RtlIpv4StringToAddressExA
+RtlIpv4StringToAddressExW
+RtlIpv4StringToAddressW
+RtlIpv6AddressToStringA
+RtlIpv6AddressToStringExA
+RtlIpv6AddressToStringExW
+RtlIpv6AddressToStringW
+RtlIpv6StringToAddressA
+RtlIpv6StringToAddressExA
+RtlIpv6StringToAddressExW
+RtlIpv6StringToAddressW
+RtlIsGenericTableEmpty
+RtlIsGenericTableEmptyAvl
+RtlIsNameLegalDOS8Dot3
+RtlIsRangeAvailable
+RtlIsValidOemCharacter
+RtlLengthRequiredSid
+RtlLengthSecurityDescriptor
+RtlLengthSid
+RtlLockBootStatusData
+RtlLookupAtomInAtomTable
+RtlLookupElementGenericTable
+RtlLookupElementGenericTableAvl
+RtlLookupElementGenericTableFull
+RtlLookupElementGenericTableFullAvl
+RtlLookupFunctionEntry
+RtlMapGenericMask
+RtlMapSecurityErrorToNtStatus
+RtlMergeRangeLists
+RtlMoveMemory
+RtlMultiByteToUnicodeN
+RtlMultiByteToUnicodeSize
+RtlNextUnicodePrefix
+RtlNtStatusToDosError
+RtlNtStatusToDosErrorNoTeb
+RtlNumberGenericTableElements
+RtlNumberGenericTableElementsAvl
+RtlNumberOfClearBits
+RtlNumberOfSetBits
+RtlOemStringToCountedUnicodeString
+RtlOemStringToUnicodeSize
+RtlOemStringToUnicodeString
+RtlOemToUnicodeN
+RtlPcToFileHeader
+RtlPinAtomInAtomTable
+RtlPrefetchMemoryNonTemporal
+RtlPrefixString
+RtlPrefixUnicodeString
+RtlQueryAtomInAtomTable
+RtlQueryRegistryValues
+RtlQueryTimeZoneInformation
+RtlRaiseException
+RtlRandom
+RtlRandomEx
+RtlRealPredecessor
+RtlRealSuccessor
+RtlRemoveUnicodePrefix
+RtlReserveChunk
+RtlRestoreContext
+RtlSecondsSince1970ToTime
+RtlSecondsSince1980ToTime
+RtlSelfRelativeToAbsoluteSD
+RtlSelfRelativeToAbsoluteSD2
+RtlSetAllBits
+RtlSetBit
+RtlSetBits
+RtlSetDaclSecurityDescriptor
+RtlSetGroupSecurityDescriptor
+RtlSetOwnerSecurityDescriptor
+RtlSetSaclSecurityDescriptor
+RtlSetTimeZoneInformation
+RtlSizeHeap
+RtlSplay
+RtlStringFromGUID
+RtlSubAuthorityCountSid
+RtlSubAuthoritySid
+RtlSubtreePredecessor
+RtlSubtreeSuccessor
+RtlTestBit
+RtlTimeFieldsToTime
+RtlTimeToElapsedTimeFields
+RtlTimeToSecondsSince1970
+RtlTimeToSecondsSince1980
+RtlTimeToTimeFields
+RtlTraceDatabaseAdd
+RtlTraceDatabaseCreate
+RtlTraceDatabaseDestroy
+RtlTraceDatabaseEnumerate
+RtlTraceDatabaseFind
+RtlTraceDatabaseLock
+RtlTraceDatabaseUnlock
+RtlTraceDatabaseValidate
+RtlUnicodeStringToAnsiSize
+RtlUnicodeStringToAnsiString
+RtlUnicodeStringToCountedOemString
+RtlUnicodeStringToInteger
+RtlUnicodeStringToOemSize
+RtlUnicodeStringToOemString
+RtlUnicodeToCustomCPN
+RtlUnicodeToMultiByteN
+RtlUnicodeToMultiByteSize
+RtlUnicodeToOemN
+RtlUnlockBootStatusData
+RtlUnwind
+RtlUnwindEx
+RtlUpcaseUnicodeChar
+RtlUpcaseUnicodeString
+RtlUpcaseUnicodeStringToAnsiString
+RtlUpcaseUnicodeStringToCountedOemString
+RtlUpcaseUnicodeStringToOemString
+RtlUpcaseUnicodeToCustomCPN
+RtlUpcaseUnicodeToMultiByteN
+RtlUpcaseUnicodeToOemN
+RtlUpperChar
+RtlUpperString
+RtlValidRelativeSecurityDescriptor
+RtlValidSecurityDescriptor
+RtlValidSid
+RtlVerifyVersionInfo
+RtlVirtualUnwind
+RtlVolumeDeviceToDosName
+RtlWalkFrameChain
+RtlWriteRegistryValue
+RtlZeroHeap
+RtlZeroMemory
+RtlxAnsiStringToUnicodeSize
+RtlxOemStringToUnicodeSize
+RtlxUnicodeStringToAnsiSize
+RtlxUnicodeStringToOemSize
+SeAccessCheck
+SeAppendPrivileges
+SeAssignSecurity
+SeAssignSecurityEx
+SeAuditHardLinkCreation
+SeAuditingFileEvents
+SeAuditingFileEventsWithContext
+SeAuditingFileOrGlobalEvents
+SeAuditingHardLinkEvents
+SeAuditingHardLinkEventsWithContext
+SeCaptureSecurityDescriptor
+SeCaptureSubjectContext
+SeCloseObjectAuditAlarm
+SeCreateAccessState
+SeCreateClientSecurity
+SeCreateClientSecurityFromSubjectContext
+SeDeassignSecurity
+SeDeleteAccessState
+SeDeleteObjectAuditAlarm
+SeExports DATA
+SeFilterToken
+SeFreePrivileges
+SeImpersonateClient
+SeImpersonateClientEx
+SeLockSubjectContext
+SeMarkLogonSessionForTerminationNotification
+SeOpenObjectAuditAlarm
+SeOpenObjectForDeleteAuditAlarm
+SePrivilegeCheck
+SePrivilegeObjectAuditAlarm
+SePublicDefaultDacl DATA
+SeQueryAuthenticationIdToken
+SeQueryInformationToken
+SeQuerySecurityDescriptorInfo
+SeQuerySessionIdToken
+SeRegisterLogonSessionTerminatedRoutine
+SeReleaseSecurityDescriptor
+SeReleaseSubjectContext
+SeReportSecurityEvent
+SeSetAccessStateGenericMapping
+SeSetAuditParameter
+SeSetSecurityDescriptorInfo
+SeSetSecurityDescriptorInfoEx
+SeSinglePrivilegeCheck
+SeSystemDefaultDacl DATA
+SeTokenImpersonationLevel
+SeTokenIsAdmin
+SeTokenIsRestricted
+SeTokenObjectType DATA
+SeTokenType
+SeUnlockSubjectContext
+SeUnregisterLogonSessionTerminatedRoutine
+SeValidSecurityDescriptor
+VerSetConditionMask
+VfFailDeviceNode
+VfFailDriver
+VfFailSystemBIOS
+VfIsVerificationEnabled
+WmiFlushTrace
+WmiGetClock
+WmiQueryTrace
+WmiQueryTraceInformation
+WmiStartTrace
+WmiStopTrace
+WmiTraceFastEvent
+WmiTraceMessage
+WmiTraceMessageVa
+WmiUpdateTrace
+XIPDispatch
+ZwAccessCheckAndAuditAlarm
+ZwAddBootEntry
+ZwAddDriverEntry
+ZwAdjustPrivilegesToken
+ZwAlertThread
+ZwAllocateVirtualMemory
+ZwAssignProcessToJobObject
+ZwCancelIoFile
+ZwCancelTimer
+ZwClearEvent
+ZwClose
+ZwCloseObjectAuditAlarm
+ZwConnectPort
+ZwCreateDirectoryObject
+ZwCreateEvent
+ZwCreateFile
+ZwCreateJobObject
+ZwCreateKey
+ZwCreateSection
+ZwCreateSymbolicLinkObject
+ZwCreateTimer
+ZwDeleteBootEntry
+ZwDeleteDriverEntry
+ZwDeleteFile
+ZwDeleteKey
+ZwDeleteValueKey
+ZwDeviceIoControlFile
+ZwDisplayString
+ZwDuplicateObject
+ZwDuplicateToken
+ZwEnumerateBootEntries
+ZwEnumerateDriverEntries
+ZwEnumerateKey
+ZwEnumerateValueKey
+ZwFlushInstructionCache
+ZwFlushKey
+ZwFlushVirtualMemory
+ZwFreeVirtualMemory
+ZwFsControlFile
+ZwInitiatePowerAction
+ZwIsProcessInJob
+ZwLoadDriver
+ZwLoadKey
+ZwMakeTemporaryObject
+ZwMapViewOfSection
+ZwModifyBootEntry
+ZwModifyDriverEntry
+ZwNotifyChangeKey
+ZwOpenDirectoryObject
+ZwOpenEvent
+ZwOpenFile
+ZwOpenJobObject
+ZwOpenKey
+ZwOpenProcess
+ZwOpenProcessToken
+ZwOpenProcessTokenEx
+ZwOpenSection
+ZwOpenSymbolicLinkObject
+ZwOpenThread
+ZwOpenThreadToken
+ZwOpenThreadTokenEx
+ZwOpenTimer
+ZwPowerInformation
+ZwPulseEvent
+ZwQueryBootEntryOrder
+ZwQueryBootOptions
+ZwQueryDefaultLocale
+ZwQueryDefaultUILanguage
+ZwQueryDirectoryFile
+ZwQueryDirectoryObject
+ZwQueryDriverEntryOrder
+ZwQueryEaFile
+ZwQueryFullAttributesFile
+ZwQueryInformationFile
+ZwQueryInformationJobObject
+ZwQueryInformationProcess
+ZwQueryInformationThread
+ZwQueryInformationToken
+ZwQueryInstallUILanguage
+ZwQueryKey
+ZwQueryObject
+ZwQuerySection
+ZwQuerySecurityObject
+ZwQuerySymbolicLinkObject
+ZwQuerySystemInformation
+ZwQueryValueKey
+ZwQueryVolumeInformationFile
+ZwReadFile
+ZwReplaceKey
+ZwRequestWaitReplyPort
+ZwResetEvent
+ZwRestoreKey
+ZwSaveKey
+ZwSaveKeyEx
+ZwSecureConnectPort
+ZwSetBootEntryOrder
+ZwSetBootOptions
+ZwSetDefaultLocale
+ZwSetDefaultUILanguage
+ZwSetDriverEntryOrder
+ZwSetEaFile
+ZwSetEvent
+ZwSetInformationFile
+ZwSetInformationJobObject
+ZwSetInformationObject
+ZwSetInformationProcess
+ZwSetInformationThread
+ZwSetSecurityObject
+ZwSetSystemInformation
+ZwSetSystemTime
+ZwSetTimer
+ZwSetValueKey
+ZwSetVolumeInformationFile
+ZwTerminateJobObject
+ZwTerminateProcess
+ZwTranslateFilePath
+ZwUnloadDriver
+ZwUnloadKey
+ZwUnmapViewOfSection
+ZwWaitForMultipleObjects
+ZwWaitForSingleObject
+ZwWriteFile
+ZwYieldExecution
+__C_specific_handler
+;__chkstk
+__misaligned_access
+_itoa
+_itow
+_local_unwind
+_purecall
+_setjmp
+_setjmpex
+_snprintf
+_snwprintf
+_stricmp
+_strlwr
+_strnicmp
+_strnset
+_strrev
+_strset
+_strupr
+_vsnprintf
+_vsnwprintf
+_wcsicmp
+_wcslwr
+_wcsnicmp
+_wcsnset
+_wcsrev
+_wcsupr
+atoi
+atol
+isdigit
+islower
+isprint
+isspace
+isupper
+isxdigit
+longjmp
+mbstowcs
+mbtowc
+memchr
+memcmp
+memcpy
+memmove
+memset
+qsort
+rand
+sprintf
+srand
+strcat
+strchr
+strcmp
+strcpy
+strlen
+strncat
+strncmp
+strncpy
+strrchr
+strspn
+strstr
+swprintf
+tolower
+toupper
+towlower
+towupper
+vDbgPrintEx
+vDbgPrintExWithPrefix
+vsprintf
+wcscat
+wcschr
+wcscmp
+wcscpy
+wcscspn
+wcslen
+wcsncat
+wcsncmp
+wcsncpy
+wcsrchr
+wcsspn
+wcsstr
+wcstombs
+wctomb
diff --git a/mingw-w64-crt/lib64/ntprint.def b/mingw-w64-crt/lib64/ntprint.def
index 2917a10..3c19cbc 100644
--- a/mingw-w64-crt/lib64/ntprint.def
+++ b/mingw-w64-crt/lib64/ntprint.def
@@ -1,51 +1,51 @@
-; 
-; Exports of file NTPRINT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTPRINT.dll
-EXPORTS
-IppOcEntry
-PSetupUpgradeClusterDriversW
-ServerInstallW
-SetupInetPrint
-ClassInstall32
-PSetupAssociateICMProfiles
-PSetupBuildDriversFromPath
-PSetupCreateDrvSetupPage
-PSetupCreateMonitorInfo
-PSetupCreatePrinterDeviceInfoList
-PSetupDestroyDriverInfo3
-PSetupDestroyMonitorInfo
-PSetupDestroyPrinterDeviceInfoList
-PSetupDestroySelectedDriverInfo
-PSetupDriverInfoFromName
-PSetupEnumMonitor
-PSetupFindMappedDriver
-PSetupFreeDrvField
-PSetupFreeMem
-PSetupGetActualInstallSection
-PSetupGetDriverInfForPrinter
-PSetupGetDriverInfForPrinterEx
-PSetupGetDriverInfo3
-PSetupGetLocalDataField
-PSetupGetPathToSearch
-PSetupGetSelectedDriverInfo
-PSetupInstallICMProfiles
-PSetupInstallInboxDriverSilently
-PSetupInstallMonitor
-PSetupInstallPrinterDriver
-PSetupInstallPrinterDriverFromTheWeb
-PSetupIsCompatibleDriver
-PSetupIsDriverInstalled
-PSetupIsTheDriverFoundInInfInstalled
-PSetupKillBadUserConnections
-PSetupPreSelectDriver
-PSetupProcessPrinterAdded
-PSetupSelectDeviceButtons
-PSetupSelectDriver
-PSetupSetDriverPlatform
-PSetupSetSelectDevTitleAndInstructions
-PSetupShowBlockedDriverUI
-PSetupThisPlatform
+; 
+; Exports of file NTPRINT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTPRINT.dll
+EXPORTS
+IppOcEntry
+PSetupUpgradeClusterDriversW
+ServerInstallW
+SetupInetPrint
+ClassInstall32
+PSetupAssociateICMProfiles
+PSetupBuildDriversFromPath
+PSetupCreateDrvSetupPage
+PSetupCreateMonitorInfo
+PSetupCreatePrinterDeviceInfoList
+PSetupDestroyDriverInfo3
+PSetupDestroyMonitorInfo
+PSetupDestroyPrinterDeviceInfoList
+PSetupDestroySelectedDriverInfo
+PSetupDriverInfoFromName
+PSetupEnumMonitor
+PSetupFindMappedDriver
+PSetupFreeDrvField
+PSetupFreeMem
+PSetupGetActualInstallSection
+PSetupGetDriverInfForPrinter
+PSetupGetDriverInfForPrinterEx
+PSetupGetDriverInfo3
+PSetupGetLocalDataField
+PSetupGetPathToSearch
+PSetupGetSelectedDriverInfo
+PSetupInstallICMProfiles
+PSetupInstallInboxDriverSilently
+PSetupInstallMonitor
+PSetupInstallPrinterDriver
+PSetupInstallPrinterDriverFromTheWeb
+PSetupIsCompatibleDriver
+PSetupIsDriverInstalled
+PSetupIsTheDriverFoundInInfInstalled
+PSetupKillBadUserConnections
+PSetupPreSelectDriver
+PSetupProcessPrinterAdded
+PSetupSelectDeviceButtons
+PSetupSelectDriver
+PSetupSetDriverPlatform
+PSetupSetSelectDevTitleAndInstructions
+PSetupShowBlockedDriverUI
+PSetupThisPlatform
diff --git a/mingw-w64-crt/lib64/ntshrui.def b/mingw-w64-crt/lib64/ntshrui.def
index b51ebd8..08b09f1 100644
--- a/mingw-w64-crt/lib64/ntshrui.def
+++ b/mingw-w64-crt/lib64/ntshrui.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file ntshrui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntshrui.dll
-EXPORTS
-CanShareFolderW
-DllCanUnloadNow
-DllGetClassObject
-GetLocalPathFromNetResource
-GetLocalPathFromNetResourceA
-GetLocalPathFromNetResourceW
-GetNetResourceFromLocalPath
-GetNetResourceFromLocalPathA
-GetNetResourceFromLocalPathW
-IsFolderPrivateForUser
-IsPathShared
-IsPathSharedA
-IsPathSharedW
-SetFolderPermissionsForSharing
-SharingDialog
-SharingDialogA
-SharingDialogW
-ShowShareFolderUIW
+; 
+; Exports of file ntshrui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntshrui.dll
+EXPORTS
+CanShareFolderW
+DllCanUnloadNow
+DllGetClassObject
+GetLocalPathFromNetResource
+GetLocalPathFromNetResourceA
+GetLocalPathFromNetResourceW
+GetNetResourceFromLocalPath
+GetNetResourceFromLocalPathA
+GetNetResourceFromLocalPathW
+IsFolderPrivateForUser
+IsPathShared
+IsPathSharedA
+IsPathSharedW
+SetFolderPermissionsForSharing
+SharingDialog
+SharingDialogA
+SharingDialogW
+ShowShareFolderUIW
diff --git a/mingw-w64-crt/lib64/ntvdm64.def b/mingw-w64-crt/lib64/ntvdm64.def
index 6b25326..e17f049 100644
--- a/mingw-w64-crt/lib64/ntvdm64.def
+++ b/mingw-w64-crt/lib64/ntvdm64.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file ntvdm64.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntvdm64.dll
-EXPORTS
-DllInstall
-NtVdm64CreateProcess
-NtVdm64RaiseInvalid16BitError
+; 
+; Exports of file ntvdm64.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntvdm64.dll
+EXPORTS
+DllInstall
+NtVdm64CreateProcess
+NtVdm64RaiseInvalid16BitError
diff --git a/mingw-w64-crt/lib64/nwprovau.def b/mingw-w64-crt/lib64/nwprovau.def
index a1ebebb..745e5c9 100644
--- a/mingw-w64-crt/lib64/nwprovau.def
+++ b/mingw-w64-crt/lib64/nwprovau.def
@@ -1,49 +1,49 @@
-; 
-; Exports of file NWPROVAU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NWPROVAU.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-GetServiceItemFromList
-InitializePrintProvidor
-LsaApCallPackage
-LsaApInitializePackage
-LsaApLogonTerminated
-LsaApLogonUser
-NPAddConnection
-NPAddConnection3
-NPCancelConnection
-NPCloseEnum
-NPEnumResource
-NPFormatNetworkName
-NPGetCaps
-NPGetConnection
-NPGetConnectionPerformance
-NPGetResourceInformation
-NPGetResourceParent
-NPGetUniversalName
-NPGetUser
-NPLoadNameSpaces
-NPLogonNotify
-NPOpenEnum
-NPPasswordChangeNotify
-NSPStartup
-NwDeregisterService
-NwEncryptChallenge
-NwEnumConnections
-NwGetService
-NwGetUserNameForServer
-NwInitializeServiceProvider
-NwQueryInfo
-NwQueryLogonOptions
-NwRegisterService
-NwSetInfoInRegistry
-NwSetInfoInWksta
-NwSetLogonOptionsInRegistry
-NwSetLogonScript
-NwTerminateServiceProvider
-NwValidateUser
+; 
+; Exports of file NWPROVAU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NWPROVAU.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+GetServiceItemFromList
+InitializePrintProvidor
+LsaApCallPackage
+LsaApInitializePackage
+LsaApLogonTerminated
+LsaApLogonUser
+NPAddConnection
+NPAddConnection3
+NPCancelConnection
+NPCloseEnum
+NPEnumResource
+NPFormatNetworkName
+NPGetCaps
+NPGetConnection
+NPGetConnectionPerformance
+NPGetResourceInformation
+NPGetResourceParent
+NPGetUniversalName
+NPGetUser
+NPLoadNameSpaces
+NPLogonNotify
+NPOpenEnum
+NPPasswordChangeNotify
+NSPStartup
+NwDeregisterService
+NwEncryptChallenge
+NwEnumConnections
+NwGetService
+NwGetUserNameForServer
+NwInitializeServiceProvider
+NwQueryInfo
+NwQueryLogonOptions
+NwRegisterService
+NwSetInfoInRegistry
+NwSetInfoInWksta
+NwSetLogonOptionsInRegistry
+NwSetLogonScript
+NwTerminateServiceProvider
+NwValidateUser
diff --git a/mingw-w64-crt/lib64/oakley.def b/mingw-w64-crt/lib64/oakley.def
index 546e115..a50391d 100644
--- a/mingw-w64-crt/lib64/oakley.def
+++ b/mingw-w64-crt/lib64/oakley.def
@@ -1,24 +1,24 @@
-; 
-; Exports of file oakley.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY oakley.DLL
-EXPORTS
-IKEQueryStatistics
-IKEEnumMMs
-IKEDeleteAssociation
-IKEInitiateIKENegotiation
-IKEQuerySpiChange
-IKERegisterNotifyClient
-IKEInit
-IKEShutdown
-IKEInterfaceChange
-IKECloseIKENotifyHandle
-IKEQueryIKENegotiationStatus
-IKECloseIKENegotiationHandle
-IKENotifyPolicyChange
-IKEAddSAs
-IKESetConfigurationVariables
-IKEGetConfigurationVariables
+; 
+; Exports of file oakley.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY oakley.DLL
+EXPORTS
+IKEQueryStatistics
+IKEEnumMMs
+IKEDeleteAssociation
+IKEInitiateIKENegotiation
+IKEQuerySpiChange
+IKERegisterNotifyClient
+IKEInit
+IKEShutdown
+IKEInterfaceChange
+IKECloseIKENotifyHandle
+IKEQueryIKENegotiationStatus
+IKECloseIKENegotiationHandle
+IKENotifyPolicyChange
+IKEAddSAs
+IKESetConfigurationVariables
+IKEGetConfigurationVariables
diff --git a/mingw-w64-crt/lib64/objsel.def b/mingw-w64-crt/lib64/objsel.def
index 5381f6a..17d66c3 100644
--- a/mingw-w64-crt/lib64/objsel.def
+++ b/mingw-w64-crt/lib64/objsel.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file objsel.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY objsel.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file objsel.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY objsel.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/occache.def b/mingw-w64-crt/lib64/occache.def
index dd58250..47cf5fa 100644
--- a/mingw-w64-crt/lib64/occache.def
+++ b/mingw-w64-crt/lib64/occache.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file OCCACHE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OCCACHE.dll
-EXPORTS
-FindControlClose
-FindFirstControl
-FindNextControl
-GetControlDependentFile
-GetControlInfo
-IsModuleRemovable
-ReleaseControlHandle
-RemoveControlByHandle
-RemoveControlByName
-RemoveExpiredControls
-SweepControlsByLastAccessDate
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OCCACHE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OCCACHE.dll
+EXPORTS
+FindControlClose
+FindFirstControl
+FindNextControl
+GetControlDependentFile
+GetControlInfo
+IsModuleRemovable
+ReleaseControlHandle
+RemoveControlByHandle
+RemoveControlByName
+RemoveExpiredControls
+SweepControlsByLastAccessDate
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ocgen.def b/mingw-w64-crt/lib64/ocgen.def
index 69a5021..7121502 100644
--- a/mingw-w64-crt/lib64/ocgen.def
+++ b/mingw-w64-crt/lib64/ocgen.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file OCSBS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OCSBS.dll
-EXPORTS
-OcEntry
+; 
+; Exports of file OCSBS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OCSBS.dll
+EXPORTS
+OcEntry
diff --git a/mingw-w64-crt/lib64/ocmanage.def b/mingw-w64-crt/lib64/ocmanage.def
index af11f10..d0f7c29 100644
--- a/mingw-w64-crt/lib64/ocmanage.def
+++ b/mingw-w64-crt/lib64/ocmanage.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file OCMANAGE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OCMANAGE.dll
-EXPORTS
-OcComponentState
-OcCreateOcPage
-OcCreateSetupPage
-OcGetWizardPages
-OcInitialize
-OcRememberWizardDialogHandle
-OcSubComponentsPresent
-OcTerminate
+; 
+; Exports of file OCMANAGE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OCMANAGE.dll
+EXPORTS
+OcComponentState
+OcCreateOcPage
+OcCreateSetupPage
+OcGetWizardPages
+OcInitialize
+OcRememberWizardDialogHandle
+OcSubComponentsPresent
+OcTerminate
diff --git a/mingw-w64-crt/lib64/ocmsn.def b/mingw-w64-crt/lib64/ocmsn.def
index c1b16ff..1f49422 100644
--- a/mingw-w64-crt/lib64/ocmsn.def
+++ b/mingw-w64-crt/lib64/ocmsn.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file OCMSN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OCMSN.dll
-EXPORTS
-OcEntry
+; 
+; Exports of file OCMSN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OCMSN.dll
+EXPORTS
+OcEntry
diff --git a/mingw-w64-crt/lib64/odbc32.def b/mingw-w64-crt/lib64/odbc32.def
index 5b7ab46..bd58fcf 100644
--- a/mingw-w64-crt/lib64/odbc32.def
+++ b/mingw-w64-crt/lib64/odbc32.def
@@ -1,190 +1,190 @@
-; 
-; Exports of file ODBC32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBC32.dll
-EXPORTS
-SQLAllocConnect
-SQLAllocEnv
-SQLAllocStmt
-SQLBindCol
-SQLCancel
-SQLColAttributes
-SQLConnect
-SQLDescribeCol
-SQLDisconnect
-SQLError
-SQLExecDirect
-SQLExecute
-SQLFetch
-SQLFreeConnect
-SQLFreeEnv
-SQLFreeStmt
-SQLGetCursorName
-SQLNumResultCols
-SQLPrepare
-SQLRowCount
-SQLSetCursorName
-SQLSetParam
-SQLTransact
-SQLAllocHandle
-SQLBindParam
-SQLCloseCursor
-SQLColAttribute
-SQLCopyDesc
-SQLEndTran
-SQLFetchScroll
-SQLFreeHandle
-SQLGetConnectAttr
-SQLGetDescField
-SQLGetDescRec
-SQLGetDiagField
-SQLGetDiagRec
-SQLGetEnvAttr
-SQLGetStmtAttr
-SQLSetConnectAttr
-SQLColumns
-SQLDriverConnect
-SQLGetConnectOption
-SQLGetData
-SQLGetFunctions
-SQLGetInfo
-SQLGetStmtOption
-SQLGetTypeInfo
-SQLParamData
-SQLPutData
-SQLSetConnectOption
-SQLSetStmtOption
-SQLSpecialColumns
-SQLStatistics
-SQLTables
-SQLBrowseConnect
-SQLColumnPrivileges
-SQLDataSources
-SQLDescribeParam
-SQLExtendedFetch
-SQLForeignKeys
-SQLMoreResults
-SQLNativeSql
-SQLNumParams
-SQLParamOptions
-SQLPrimaryKeys
-SQLProcedureColumns
-SQLProcedures
-SQLSetPos
-SQLSetScrollOptions
-SQLTablePrivileges
-SQLDrivers
-SQLBindParameter
-SQLSetDescField
-SQLSetDescRec
-SQLSetEnvAttr
-SQLSetStmtAttr
-SQLAllocHandleStd
-SQLBulkOperations
-CloseODBCPerfData
-CollectODBCPerfData
-CursorLibLockDbc
-CursorLibLockDesc
-CursorLibLockStmt
-ODBCGetTryWaitValue
-CursorLibTransact
-ODBCSetTryWaitValue
-DllBidEntryPoint
-GetODBCSharedData
-LockHandle
-MpHeapAlloc
-MpHeapCompact
-MpHeapCreate
-MpHeapDestroy
-MpHeapFree
-MpHeapReAlloc
-MpHeapSize
-MpHeapValidate
-ODBCInternalConnectW
-OpenODBCPerfData
-PostComponentError
-PostODBCComponentError
-PostODBCError
-SearchStatusCode
-VFreeErrors
-VRetrieveDriverErrorsRowCol
-SQLColAttributesW
-SQLConnectW
-SQLDescribeColW
-ValidateErrorQueue
-SQLErrorW
-SQLExecDirectW
-g_hHeapMalloc DATA
-SQLGetCursorNameW
-SQLPrepareW
-SQLSetCursorNameW
-SQLColAttributeW
-SQLGetConnectAttrW
-SQLGetDescFieldW
-SQLGetDescRecW
-SQLGetDiagFieldW
-SQLGetDiagRecW
-SQLGetStmtAttrW
-SQLSetConnectAttrW
-SQLColumnsW
-SQLDriverConnectW
-SQLGetConnectOptionW
-SQLGetInfoW
-SQLGetTypeInfoW
-SQLSetConnectOptionW
-SQLSpecialColumnsW
-SQLStatisticsW
-SQLTablesW
-SQLBrowseConnectW
-SQLColumnPrivilegesW
-SQLDataSourcesW
-SQLForeignKeysW
-SQLNativeSqlW
-SQLPrimaryKeysW
-SQLProcedureColumnsW
-SQLProceduresW
-SQLTablePrivilegesW
-SQLDriversW
-SQLSetDescFieldW
-SQLSetStmtAttrW
-SQLColAttributesA
-SQLConnectA
-SQLDescribeColA
-SQLErrorA
-SQLExecDirectA
-SQLGetCursorNameA
-SQLPrepareA
-SQLSetCursorNameA
-SQLColAttributeA
-SQLGetConnectAttrA
-SQLGetDescFieldA
-SQLGetDescRecA
-SQLGetDiagFieldA
-SQLGetDiagRecA
-SQLGetStmtAttrA
-SQLSetConnectAttrA
-SQLColumnsA
-SQLDriverConnectA
-SQLGetConnectOptionA
-SQLGetInfoA
-SQLGetTypeInfoA
-SQLSetConnectOptionA
-SQLSpecialColumnsA
-SQLStatisticsA
-SQLTablesA
-SQLBrowseConnectA
-SQLColumnPrivilegesA
-SQLDataSourcesA
-SQLForeignKeysA
-SQLNativeSqlA
-SQLPrimaryKeysA
-SQLProcedureColumnsA
-SQLProceduresA
-SQLTablePrivilegesA
-SQLDriversA
-SQLSetDescFieldA
-SQLSetStmtAttrA
-ODBCQualifyFileDSNW
+; 
+; Exports of file ODBC32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBC32.dll
+EXPORTS
+SQLAllocConnect
+SQLAllocEnv
+SQLAllocStmt
+SQLBindCol
+SQLCancel
+SQLColAttributes
+SQLConnect
+SQLDescribeCol
+SQLDisconnect
+SQLError
+SQLExecDirect
+SQLExecute
+SQLFetch
+SQLFreeConnect
+SQLFreeEnv
+SQLFreeStmt
+SQLGetCursorName
+SQLNumResultCols
+SQLPrepare
+SQLRowCount
+SQLSetCursorName
+SQLSetParam
+SQLTransact
+SQLAllocHandle
+SQLBindParam
+SQLCloseCursor
+SQLColAttribute
+SQLCopyDesc
+SQLEndTran
+SQLFetchScroll
+SQLFreeHandle
+SQLGetConnectAttr
+SQLGetDescField
+SQLGetDescRec
+SQLGetDiagField
+SQLGetDiagRec
+SQLGetEnvAttr
+SQLGetStmtAttr
+SQLSetConnectAttr
+SQLColumns
+SQLDriverConnect
+SQLGetConnectOption
+SQLGetData
+SQLGetFunctions
+SQLGetInfo
+SQLGetStmtOption
+SQLGetTypeInfo
+SQLParamData
+SQLPutData
+SQLSetConnectOption
+SQLSetStmtOption
+SQLSpecialColumns
+SQLStatistics
+SQLTables
+SQLBrowseConnect
+SQLColumnPrivileges
+SQLDataSources
+SQLDescribeParam
+SQLExtendedFetch
+SQLForeignKeys
+SQLMoreResults
+SQLNativeSql
+SQLNumParams
+SQLParamOptions
+SQLPrimaryKeys
+SQLProcedureColumns
+SQLProcedures
+SQLSetPos
+SQLSetScrollOptions
+SQLTablePrivileges
+SQLDrivers
+SQLBindParameter
+SQLSetDescField
+SQLSetDescRec
+SQLSetEnvAttr
+SQLSetStmtAttr
+SQLAllocHandleStd
+SQLBulkOperations
+CloseODBCPerfData
+CollectODBCPerfData
+CursorLibLockDbc
+CursorLibLockDesc
+CursorLibLockStmt
+ODBCGetTryWaitValue
+CursorLibTransact
+ODBCSetTryWaitValue
+DllBidEntryPoint
+GetODBCSharedData
+LockHandle
+MpHeapAlloc
+MpHeapCompact
+MpHeapCreate
+MpHeapDestroy
+MpHeapFree
+MpHeapReAlloc
+MpHeapSize
+MpHeapValidate
+ODBCInternalConnectW
+OpenODBCPerfData
+PostComponentError
+PostODBCComponentError
+PostODBCError
+SearchStatusCode
+VFreeErrors
+VRetrieveDriverErrorsRowCol
+SQLColAttributesW
+SQLConnectW
+SQLDescribeColW
+ValidateErrorQueue
+SQLErrorW
+SQLExecDirectW
+g_hHeapMalloc DATA
+SQLGetCursorNameW
+SQLPrepareW
+SQLSetCursorNameW
+SQLColAttributeW
+SQLGetConnectAttrW
+SQLGetDescFieldW
+SQLGetDescRecW
+SQLGetDiagFieldW
+SQLGetDiagRecW
+SQLGetStmtAttrW
+SQLSetConnectAttrW
+SQLColumnsW
+SQLDriverConnectW
+SQLGetConnectOptionW
+SQLGetInfoW
+SQLGetTypeInfoW
+SQLSetConnectOptionW
+SQLSpecialColumnsW
+SQLStatisticsW
+SQLTablesW
+SQLBrowseConnectW
+SQLColumnPrivilegesW
+SQLDataSourcesW
+SQLForeignKeysW
+SQLNativeSqlW
+SQLPrimaryKeysW
+SQLProcedureColumnsW
+SQLProceduresW
+SQLTablePrivilegesW
+SQLDriversW
+SQLSetDescFieldW
+SQLSetStmtAttrW
+SQLColAttributesA
+SQLConnectA
+SQLDescribeColA
+SQLErrorA
+SQLExecDirectA
+SQLGetCursorNameA
+SQLPrepareA
+SQLSetCursorNameA
+SQLColAttributeA
+SQLGetConnectAttrA
+SQLGetDescFieldA
+SQLGetDescRecA
+SQLGetDiagFieldA
+SQLGetDiagRecA
+SQLGetStmtAttrA
+SQLSetConnectAttrA
+SQLColumnsA
+SQLDriverConnectA
+SQLGetConnectOptionA
+SQLGetInfoA
+SQLGetTypeInfoA
+SQLSetConnectOptionA
+SQLSpecialColumnsA
+SQLStatisticsA
+SQLTablesA
+SQLBrowseConnectA
+SQLColumnPrivilegesA
+SQLDataSourcesA
+SQLForeignKeysA
+SQLNativeSqlA
+SQLPrimaryKeysA
+SQLProcedureColumnsA
+SQLProceduresA
+SQLTablePrivilegesA
+SQLDriversA
+SQLSetDescFieldA
+SQLSetStmtAttrA
+ODBCQualifyFileDSNW
diff --git a/mingw-w64-crt/lib64/odbc32gt.def b/mingw-w64-crt/lib64/odbc32gt.def
index c5fa7a1..3a94388 100644
--- a/mingw-w64-crt/lib64/odbc32gt.def
+++ b/mingw-w64-crt/lib64/odbc32gt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ODBC32GT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBC32GT.dll
-EXPORTS
-Dispatch
-Dispatch2
+; 
+; Exports of file ODBC32GT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBC32GT.dll
+EXPORTS
+Dispatch
+Dispatch2
diff --git a/mingw-w64-crt/lib64/odbcbcp.def b/mingw-w64-crt/lib64/odbcbcp.def
index 11b9e79..7dee6af 100644
--- a/mingw-w64-crt/lib64/odbcbcp.def
+++ b/mingw-w64-crt/lib64/odbcbcp.def
@@ -1,36 +1,36 @@
-; 
-; Exports of file odbcbcp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY odbcbcp.dll
-EXPORTS
-dbprtypeA
-bcp_batch
-bcp_bind
-bcp_colfmt
-bcp_collen
-bcp_colptr
-bcp_columns
-bcp_control
-bcp_done
-bcp_initA
-bcp_exec
-bcp_moretext
-bcp_sendrow
-bcp_readfmtA
-bcp_writefmtA
-dbprtypeW
-bcp_initW
-bcp_readfmtW
-bcp_writefmtW
-SQLLinkedServers
-SQLLinkedCatalogsW
-SQLLinkedCatalogsA
-LibMain
-SQLInitEnumServers
-SQLGetNextEnumeration
-SQLCloseEnumServers
-bcp_getcolfmt
-bcp_setcolfmt
+; 
+; Exports of file odbcbcp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY odbcbcp.dll
+EXPORTS
+dbprtypeA
+bcp_batch
+bcp_bind
+bcp_colfmt
+bcp_collen
+bcp_colptr
+bcp_columns
+bcp_control
+bcp_done
+bcp_initA
+bcp_exec
+bcp_moretext
+bcp_sendrow
+bcp_readfmtA
+bcp_writefmtA
+dbprtypeW
+bcp_initW
+bcp_readfmtW
+bcp_writefmtW
+SQLLinkedServers
+SQLLinkedCatalogsW
+SQLLinkedCatalogsA
+LibMain
+SQLInitEnumServers
+SQLGetNextEnumeration
+SQLCloseEnumServers
+bcp_getcolfmt
+bcp_setcolfmt
diff --git a/mingw-w64-crt/lib64/odbcconf.def b/mingw-w64-crt/lib64/odbcconf.def
index 1635f7d..c07103b 100644
--- a/mingw-w64-crt/lib64/odbcconf.def
+++ b/mingw-w64-crt/lib64/odbcconf.def
@@ -1,104 +1,104 @@
-; 
-; Exports of file odbcconf.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY odbcconf.DLL
-EXPORTS
-SetSilent
-SetActionLogFile
-SetActionLogModeSz
-SetActionLogMode
-ExecuteAction
-SetActionEnum
-SetActionName
-ExpandPath
-GetPathFromID
-ApplyW2KXPak
-ApplyMillenCat
-UnregW2KXPak
-AppRegEnum
-CloseAppRegEnum
-OpenAppRegEnum
-QueryApplication
-RefreshAppRegEnum
-RegisterApplication
-RunDLL32_RegisterApplication
-RunDLL32_UnregisterApplication
-UnregisterApplication
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-SLListCreate
-SLListDestroy
-SLListAddNode
-SLListRemoveNode
-SLListGetHead
-SLListGetNext
-SLListGetData
-SLListSetData
-DllUnregisterServer
-DLListCreate
-DLListDestroy
-DLListAddNode
-DLListRemoveNode
-DLListGetHead
-DLListGetNext
-DLListGetPrev
-DLListGetData
-DLListSetData
-OpenProcessInfo
-CloseProcessInfo
-IsFileLocked
-EnableNTPrivilege
-DisableNTPrivilege
-EnableDebugPrivileges
-DisableDebugPrivileges
-LookupAppFriendlyName
-IsModuleLoadedByProcess
-IsModuleLoadedByProcessEx
-ShutdownProcess
-OpenProcessDisplayNames
-CloseProcessDisplayNames
-GetProcessListFromFileList
-OpenProcessList
-CloseProcessList
-EnumerateProcesses
-AddInfToList
-CreateInfList
-PopulateInfFileList
-DestroyInfList
-OpenDriveSpaceList
-CloseDriveSpaceList
-CalculateRequiredDriveSpace
-OpenDriveSpaceListFromInfList
-RunDLL32_FilterRunOnceExRegistration
-AddFilterRunOnceExRegistrationToRegistry
-RemoveFilterRunOnceExRegistrationFromRegistry
-FilterRunOnceExRegistration
-BackupRegKey
-RestoreRegKey
-RegVersion
-RegVersionEx
-LoadRegVersion
-LoadRegVersionEx
-GetProgramFilesDirectory
-GetProgramFilesCommonFilesDirectory
-OpenPendingRenameList
-ClosePendingRenameList
-ParseVersionDataFromString
-ParseVersionDataFromStringEx
-CompareVersionData
-CompareVersionDataEx
-IsExceptionInf
-IsExceptionInfEx
-CreateRegKeyBackupList
-DestroyRegKeyBackupList
-RegKeyBackup
-RegKeyRestore
-SaveRegKeyBackupToFile
-LoadRegKeyBackupFromFile
-BackupCatalog
-RestoreCatalog
-DoesFileExist
+; 
+; Exports of file odbcconf.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY odbcconf.DLL
+EXPORTS
+SetSilent
+SetActionLogFile
+SetActionLogModeSz
+SetActionLogMode
+ExecuteAction
+SetActionEnum
+SetActionName
+ExpandPath
+GetPathFromID
+ApplyW2KXPak
+ApplyMillenCat
+UnregW2KXPak
+AppRegEnum
+CloseAppRegEnum
+OpenAppRegEnum
+QueryApplication
+RefreshAppRegEnum
+RegisterApplication
+RunDLL32_RegisterApplication
+RunDLL32_UnregisterApplication
+UnregisterApplication
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+SLListCreate
+SLListDestroy
+SLListAddNode
+SLListRemoveNode
+SLListGetHead
+SLListGetNext
+SLListGetData
+SLListSetData
+DllUnregisterServer
+DLListCreate
+DLListDestroy
+DLListAddNode
+DLListRemoveNode
+DLListGetHead
+DLListGetNext
+DLListGetPrev
+DLListGetData
+DLListSetData
+OpenProcessInfo
+CloseProcessInfo
+IsFileLocked
+EnableNTPrivilege
+DisableNTPrivilege
+EnableDebugPrivileges
+DisableDebugPrivileges
+LookupAppFriendlyName
+IsModuleLoadedByProcess
+IsModuleLoadedByProcessEx
+ShutdownProcess
+OpenProcessDisplayNames
+CloseProcessDisplayNames
+GetProcessListFromFileList
+OpenProcessList
+CloseProcessList
+EnumerateProcesses
+AddInfToList
+CreateInfList
+PopulateInfFileList
+DestroyInfList
+OpenDriveSpaceList
+CloseDriveSpaceList
+CalculateRequiredDriveSpace
+OpenDriveSpaceListFromInfList
+RunDLL32_FilterRunOnceExRegistration
+AddFilterRunOnceExRegistrationToRegistry
+RemoveFilterRunOnceExRegistrationFromRegistry
+FilterRunOnceExRegistration
+BackupRegKey
+RestoreRegKey
+RegVersion
+RegVersionEx
+LoadRegVersion
+LoadRegVersionEx
+GetProgramFilesDirectory
+GetProgramFilesCommonFilesDirectory
+OpenPendingRenameList
+ClosePendingRenameList
+ParseVersionDataFromString
+ParseVersionDataFromStringEx
+CompareVersionData
+CompareVersionDataEx
+IsExceptionInf
+IsExceptionInfEx
+CreateRegKeyBackupList
+DestroyRegKeyBackupList
+RegKeyBackup
+RegKeyRestore
+SaveRegKeyBackupToFile
+LoadRegKeyBackupFromFile
+BackupCatalog
+RestoreCatalog
+DoesFileExist
diff --git a/mingw-w64-crt/lib64/odbccp32.def b/mingw-w64-crt/lib64/odbccp32.def
index 1224c37..b495504 100644
--- a/mingw-w64-crt/lib64/odbccp32.def
+++ b/mingw-w64-crt/lib64/odbccp32.def
@@ -1,65 +1,65 @@
-; 
-; Exports of file ODBCCP32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBCCP32.dll
-EXPORTS
-SQLInstallDriver
-SQLInstallDriverManager
-SQLGetInstalledDrivers
-SQLGetAvailableDrivers
-SQLConfigDataSource
-SQLRemoveDefaultDataSource
-SQLWriteDSNToIni
-SQLRemoveDSNFromIni
-SQLInstallODBC
-SQLManageDataSources
-SQLCreateDataSource
-SQLGetTranslator
-SQLWritePrivateProfileString
-SQLGetPrivateProfileString
-SQLValidDSN
-SQLRemoveDriverManager
-SQLInstallTranslator
-SQLRemoveTranslator
-SQLRemoveDriver
-SQLConfigDriver
-SQLInstallerError
-SQLPostInstallerError
-SQLReadFileDSN
-SQLWriteFileDSN
-SQLInstallDriverEx
-SQLGetConfigMode
-SQLSetConfigMode
-SQLInstallTranslatorEx
-SQLCreateDataSourceEx
-ODBCCPlApplet
-SelectTransDlg
-SQLInstallDriverW
-SQLInstallDriverManagerW
-SQLGetInstalledDriversW
-SQLGetAvailableDriversW
-SQLConfigDataSourceW
-SQLWriteDSNToIniW
-SQLRemoveDSNFromIniW
-SQLInstallODBCW
-SQLCreateDataSourceW
-SQLGetTranslatorW
-SQLWritePrivateProfileStringW
-SQLGetPrivateProfileStringW
-SQLValidDSNW
-SQLInstallTranslatorW
-SQLRemoveTranslatorW
-SQLRemoveDriverW
-SQLConfigDriverW
-SQLInstallerErrorW
-SQLPostInstallerErrorW
-SQLReadFileDSNW
-SQLWriteFileDSNW
-SQLInstallDriverExW
-SQLInstallTranslatorExW
-SQLCreateDataSourceExW
-SQLLoadDriverListBox
-SQLLoadDataSourcesListBox
+; 
+; Exports of file ODBCCP32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBCCP32.dll
+EXPORTS
+SQLInstallDriver
+SQLInstallDriverManager
+SQLGetInstalledDrivers
+SQLGetAvailableDrivers
+SQLConfigDataSource
+SQLRemoveDefaultDataSource
+SQLWriteDSNToIni
+SQLRemoveDSNFromIni
+SQLInstallODBC
+SQLManageDataSources
+SQLCreateDataSource
+SQLGetTranslator
+SQLWritePrivateProfileString
+SQLGetPrivateProfileString
+SQLValidDSN
+SQLRemoveDriverManager
+SQLInstallTranslator
+SQLRemoveTranslator
+SQLRemoveDriver
+SQLConfigDriver
+SQLInstallerError
+SQLPostInstallerError
+SQLReadFileDSN
+SQLWriteFileDSN
+SQLInstallDriverEx
+SQLGetConfigMode
+SQLSetConfigMode
+SQLInstallTranslatorEx
+SQLCreateDataSourceEx
+ODBCCPlApplet
+SelectTransDlg
+SQLInstallDriverW
+SQLInstallDriverManagerW
+SQLGetInstalledDriversW
+SQLGetAvailableDriversW
+SQLConfigDataSourceW
+SQLWriteDSNToIniW
+SQLRemoveDSNFromIniW
+SQLInstallODBCW
+SQLCreateDataSourceW
+SQLGetTranslatorW
+SQLWritePrivateProfileStringW
+SQLGetPrivateProfileStringW
+SQLValidDSNW
+SQLInstallTranslatorW
+SQLRemoveTranslatorW
+SQLRemoveDriverW
+SQLConfigDriverW
+SQLInstallerErrorW
+SQLPostInstallerErrorW
+SQLReadFileDSNW
+SQLWriteFileDSNW
+SQLInstallDriverExW
+SQLInstallTranslatorExW
+SQLCreateDataSourceExW
+SQLLoadDriverListBox
+SQLLoadDataSourcesListBox
diff --git a/mingw-w64-crt/lib64/odbccr32.def b/mingw-w64-crt/lib64/odbccr32.def
index 795576d..3edb80a 100644
--- a/mingw-w64-crt/lib64/odbccr32.def
+++ b/mingw-w64-crt/lib64/odbccr32.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file ODBCCR32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBCCR32.dll
-EXPORTS
-SQLBindCol
-SQLCancel
-ReleaseCLStmtResources
-SQLExecDirect
-SQLExecute
-SQLFetch
-SQLFreeStmt
-SQLPrepare
-SQLRowCount
-SQLTransact
-SQLCloseCursor
-SQLEndTran
-SQLFetchScroll
-SQLFreeHandle
-SQLGetDescField
-SQLGetDescRec
-SQLGetStmtAttr
-SQLSetConnectAttr
-SQLGetData
-SQLGetInfo
-SQLGetStmtOption
-SQLParamData
-SQLPutData
-SQLSetConnectOption
-SQLSetStmtOption
-SQLExtendedFetch
-SQLMoreResults
-SQLNativeSql
-SQLNumParams
-SQLParamOptions
-SQLSetPos
-SQLSetScrollOptions
-SQLBindParameter
-SQLSetDescField
-SQLSetDescRec
-SQLSetStmtAttr
-SQLBulkOperations
+; 
+; Exports of file ODBCCR32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBCCR32.dll
+EXPORTS
+SQLBindCol
+SQLCancel
+ReleaseCLStmtResources
+SQLExecDirect
+SQLExecute
+SQLFetch
+SQLFreeStmt
+SQLPrepare
+SQLRowCount
+SQLTransact
+SQLCloseCursor
+SQLEndTran
+SQLFetchScroll
+SQLFreeHandle
+SQLGetDescField
+SQLGetDescRec
+SQLGetStmtAttr
+SQLSetConnectAttr
+SQLGetData
+SQLGetInfo
+SQLGetStmtOption
+SQLParamData
+SQLPutData
+SQLSetConnectOption
+SQLSetStmtOption
+SQLExtendedFetch
+SQLMoreResults
+SQLNativeSql
+SQLNumParams
+SQLParamOptions
+SQLSetPos
+SQLSetScrollOptions
+SQLBindParameter
+SQLSetDescField
+SQLSetDescRec
+SQLSetStmtAttr
+SQLBulkOperations
diff --git a/mingw-w64-crt/lib64/odbccu32.def b/mingw-w64-crt/lib64/odbccu32.def
index 795576d..3edb80a 100644
--- a/mingw-w64-crt/lib64/odbccu32.def
+++ b/mingw-w64-crt/lib64/odbccu32.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file ODBCCR32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBCCR32.dll
-EXPORTS
-SQLBindCol
-SQLCancel
-ReleaseCLStmtResources
-SQLExecDirect
-SQLExecute
-SQLFetch
-SQLFreeStmt
-SQLPrepare
-SQLRowCount
-SQLTransact
-SQLCloseCursor
-SQLEndTran
-SQLFetchScroll
-SQLFreeHandle
-SQLGetDescField
-SQLGetDescRec
-SQLGetStmtAttr
-SQLSetConnectAttr
-SQLGetData
-SQLGetInfo
-SQLGetStmtOption
-SQLParamData
-SQLPutData
-SQLSetConnectOption
-SQLSetStmtOption
-SQLExtendedFetch
-SQLMoreResults
-SQLNativeSql
-SQLNumParams
-SQLParamOptions
-SQLSetPos
-SQLSetScrollOptions
-SQLBindParameter
-SQLSetDescField
-SQLSetDescRec
-SQLSetStmtAttr
-SQLBulkOperations
+; 
+; Exports of file ODBCCR32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBCCR32.dll
+EXPORTS
+SQLBindCol
+SQLCancel
+ReleaseCLStmtResources
+SQLExecDirect
+SQLExecute
+SQLFetch
+SQLFreeStmt
+SQLPrepare
+SQLRowCount
+SQLTransact
+SQLCloseCursor
+SQLEndTran
+SQLFetchScroll
+SQLFreeHandle
+SQLGetDescField
+SQLGetDescRec
+SQLGetStmtAttr
+SQLSetConnectAttr
+SQLGetData
+SQLGetInfo
+SQLGetStmtOption
+SQLParamData
+SQLPutData
+SQLSetConnectOption
+SQLSetStmtOption
+SQLExtendedFetch
+SQLMoreResults
+SQLNativeSql
+SQLNumParams
+SQLParamOptions
+SQLSetPos
+SQLSetScrollOptions
+SQLBindParameter
+SQLSetDescField
+SQLSetDescRec
+SQLSetStmtAttr
+SQLBulkOperations
diff --git a/mingw-w64-crt/lib64/odbctrac.def b/mingw-w64-crt/lib64/odbctrac.def
index 9f3fa00..9dc959b 100644
--- a/mingw-w64-crt/lib64/odbctrac.def
+++ b/mingw-w64-crt/lib64/odbctrac.def
@@ -1,130 +1,130 @@
-; 
-; Exports of file ODBCTRAC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBCTRAC.dll
-EXPORTS
-TraceSQLAllocConnect
-TraceSQLAllocEnv
-TraceSQLAllocStmt
-TraceSQLBindCol
-TraceSQLCancel
-TraceSQLColAttributes
-TraceSQLConnect
-TraceSQLDescribeCol
-TraceSQLDisconnect
-TraceSQLError
-TraceSQLExecDirect
-TraceSQLExecute
-TraceSQLFetch
-TraceSQLFreeConnect
-TraceSQLFreeEnv
-TraceSQLFreeStmt
-TraceSQLGetCursorName
-TraceSQLNumResultCols
-TraceSQLPrepare
-TraceSQLRowCount
-TraceSQLSetCursorName
-TraceSQLSetParam
-TraceSQLTransact
-TraceSQLAllocHandle
-TraceSQLBindParam
-TraceSQLCloseCursor
-TraceSQLColAttribute
-TraceSQLCopyDesc
-TraceSQLEndTran
-TraceSQLFetchScroll
-TraceSQLFreeHandle
-TraceSQLGetConnectAttr
-TraceSQLGetDescField
-TraceSQLGetDescRec
-TraceSQLGetDiagField
-TraceSQLGetDiagRec
-TraceSQLGetEnvAttr
-TraceSQLGetStmtAttr
-TraceSQLSetConnectAttr
-TraceSQLColumns
-TraceSQLDriverConnect
-TraceSQLGetConnectOption
-TraceSQLGetData
-TraceSQLGetFunctions
-TraceSQLGetInfo
-TraceSQLGetStmtOption
-TraceSQLGetTypeInfo
-TraceSQLParamData
-TraceSQLPutData
-TraceSQLSetConnectOption
-TraceSQLSetStmtOption
-TraceSQLSpecialColumns
-TraceSQLStatistics
-TraceSQLTables
-TraceSQLBrowseConnect
-TraceSQLColumnPrivileges
-TraceSQLDataSources
-TraceSQLDescribeParam
-TraceSQLExtendedFetch
-TraceSQLForeignKeys
-TraceSQLMoreResults
-TraceSQLNativeSql
-TraceSQLNumParams
-TraceSQLParamOptions
-TraceSQLPrimaryKeys
-TraceSQLProcedureColumns
-TraceSQLProcedures
-TraceSQLSetPos
-TraceSQLSetScrollOptions
-TraceSQLTablePrivileges
-TraceSQLDrivers
-TraceSQLBindParameter
-TraceSQLSetDescField
-TraceSQLSetDescRec
-TraceSQLSetEnvAttr
-TraceSQLSetStmtAttr
-TraceSQLAllocHandleStd
-TraceSQLBulkOperations
-FireVSDebugEvent
-TraceVSControl
-TraceSQLColAttributesW
-TraceSQLConnectW
-TraceSQLDescribeColW
-TraceSQLErrorW
-TraceSQLExecDirectW
-TraceSQLGetCursorNameW
-TraceSQLPrepareW
-TraceSQLSetCursorNameW
-TraceSQLColAttributeW
-TraceSQLGetConnectAttrW
-TraceSQLGetDescFieldW
-TraceSQLGetDescRecW
-TraceSQLGetDiagFieldW
-TraceSQLGetDiagRecW
-TraceSQLGetStmtAttrW
-TraceSQLSetConnectAttrW
-TraceSQLColumnsW
-TraceSQLDriverConnectW
-TraceSQLGetConnectOptionW
-TraceSQLGetInfoW
-TraceSQLGetTypeInfoW
-TraceSQLSetConnectOptionW
-TraceSQLSpecialColumnsW
-TraceSQLStatisticsW
-TraceSQLTablesW
-TraceSQLBrowseConnectW
-TraceSQLColumnPrivilegesW
-TraceSQLDataSourcesW
-TraceSQLForeignKeysW
-TraceSQLNativeSqlW
-TraceSQLPrimaryKeysW
-TraceSQLProcedureColumnsW
-TraceSQLProceduresW
-TraceSQLTablePrivilegesW
-TraceSQLDriversW
-TraceSQLSetDescFieldW
-TraceSQLSetStmtAttrW
-TraceSQLAllocHandleStdW
-TraceReturn
-TraceOpenLogFile
-TraceCloseLogFile
-TraceVersion
+; 
+; Exports of file ODBCTRAC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBCTRAC.dll
+EXPORTS
+TraceSQLAllocConnect
+TraceSQLAllocEnv
+TraceSQLAllocStmt
+TraceSQLBindCol
+TraceSQLCancel
+TraceSQLColAttributes
+TraceSQLConnect
+TraceSQLDescribeCol
+TraceSQLDisconnect
+TraceSQLError
+TraceSQLExecDirect
+TraceSQLExecute
+TraceSQLFetch
+TraceSQLFreeConnect
+TraceSQLFreeEnv
+TraceSQLFreeStmt
+TraceSQLGetCursorName
+TraceSQLNumResultCols
+TraceSQLPrepare
+TraceSQLRowCount
+TraceSQLSetCursorName
+TraceSQLSetParam
+TraceSQLTransact
+TraceSQLAllocHandle
+TraceSQLBindParam
+TraceSQLCloseCursor
+TraceSQLColAttribute
+TraceSQLCopyDesc
+TraceSQLEndTran
+TraceSQLFetchScroll
+TraceSQLFreeHandle
+TraceSQLGetConnectAttr
+TraceSQLGetDescField
+TraceSQLGetDescRec
+TraceSQLGetDiagField
+TraceSQLGetDiagRec
+TraceSQLGetEnvAttr
+TraceSQLGetStmtAttr
+TraceSQLSetConnectAttr
+TraceSQLColumns
+TraceSQLDriverConnect
+TraceSQLGetConnectOption
+TraceSQLGetData
+TraceSQLGetFunctions
+TraceSQLGetInfo
+TraceSQLGetStmtOption
+TraceSQLGetTypeInfo
+TraceSQLParamData
+TraceSQLPutData
+TraceSQLSetConnectOption
+TraceSQLSetStmtOption
+TraceSQLSpecialColumns
+TraceSQLStatistics
+TraceSQLTables
+TraceSQLBrowseConnect
+TraceSQLColumnPrivileges
+TraceSQLDataSources
+TraceSQLDescribeParam
+TraceSQLExtendedFetch
+TraceSQLForeignKeys
+TraceSQLMoreResults
+TraceSQLNativeSql
+TraceSQLNumParams
+TraceSQLParamOptions
+TraceSQLPrimaryKeys
+TraceSQLProcedureColumns
+TraceSQLProcedures
+TraceSQLSetPos
+TraceSQLSetScrollOptions
+TraceSQLTablePrivileges
+TraceSQLDrivers
+TraceSQLBindParameter
+TraceSQLSetDescField
+TraceSQLSetDescRec
+TraceSQLSetEnvAttr
+TraceSQLSetStmtAttr
+TraceSQLAllocHandleStd
+TraceSQLBulkOperations
+FireVSDebugEvent
+TraceVSControl
+TraceSQLColAttributesW
+TraceSQLConnectW
+TraceSQLDescribeColW
+TraceSQLErrorW
+TraceSQLExecDirectW
+TraceSQLGetCursorNameW
+TraceSQLPrepareW
+TraceSQLSetCursorNameW
+TraceSQLColAttributeW
+TraceSQLGetConnectAttrW
+TraceSQLGetDescFieldW
+TraceSQLGetDescRecW
+TraceSQLGetDiagFieldW
+TraceSQLGetDiagRecW
+TraceSQLGetStmtAttrW
+TraceSQLSetConnectAttrW
+TraceSQLColumnsW
+TraceSQLDriverConnectW
+TraceSQLGetConnectOptionW
+TraceSQLGetInfoW
+TraceSQLGetTypeInfoW
+TraceSQLSetConnectOptionW
+TraceSQLSpecialColumnsW
+TraceSQLStatisticsW
+TraceSQLTablesW
+TraceSQLBrowseConnectW
+TraceSQLColumnPrivilegesW
+TraceSQLDataSourcesW
+TraceSQLForeignKeysW
+TraceSQLNativeSqlW
+TraceSQLPrimaryKeysW
+TraceSQLProcedureColumnsW
+TraceSQLProceduresW
+TraceSQLTablePrivilegesW
+TraceSQLDriversW
+TraceSQLSetDescFieldW
+TraceSQLSetStmtAttrW
+TraceSQLAllocHandleStdW
+TraceReturn
+TraceOpenLogFile
+TraceCloseLogFile
+TraceVersion
diff --git a/mingw-w64-crt/lib64/oeimport.def b/mingw-w64-crt/lib64/oeimport.def
index baf209e..52e7007 100644
--- a/mingw-w64-crt/lib64/oeimport.def
+++ b/mingw-w64-crt/lib64/oeimport.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file OEIMPORT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OEIMPORT.dll
-EXPORTS
-PerformImport
-ExportMessages
-PerformMigration
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OEIMPORT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OEIMPORT.dll
+EXPORTS
+PerformImport
+ExportMessages
+PerformMigration
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/oemiglib.def b/mingw-w64-crt/lib64/oemiglib.def
index 82d4804..3b6cabd 100644
--- a/mingw-w64-crt/lib64/oemiglib.def
+++ b/mingw-w64-crt/lib64/oemiglib.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file OEMIGLIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OEMIGLIB.dll
-EXPORTS
-OE5SimpleCreate
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OEMIGLIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OEMIGLIB.dll
+EXPORTS
+OE5SimpleCreate
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/offfilt.def b/mingw-w64-crt/lib64/offfilt.def
index 93e48ce..8e18312 100644
--- a/mingw-w64-crt/lib64/offfilt.def
+++ b/mingw-w64-crt/lib64/offfilt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file OFFFILT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OFFFILT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OFFFILT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OFFFILT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/ole32.def b/mingw-w64-crt/lib64/ole32.def
index 66fbf83..927fc5b 100644
--- a/mingw-w64-crt/lib64/ole32.def
+++ b/mingw-w64-crt/lib64/ole32.def
@@ -1,397 +1,397 @@
-; 
-; Exports of file ole32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ole32.dll
-EXPORTS
-CoVrfCheckThreadState
-CoVrfGetThreadState
-CoVrfReleaseThreadState
-PropVariantChangeType
-BindMoniker
-CLIPFORMAT_UserFree
-CLIPFORMAT_UserFree64
-CLIPFORMAT_UserMarshal
-CLIPFORMAT_UserMarshal64
-CLIPFORMAT_UserSize
-CLIPFORMAT_UserSize64
-CLIPFORMAT_UserUnmarshal
-CLIPFORMAT_UserUnmarshal64
-CLSIDFromOle1Class
-CLSIDFromProgID
-CLSIDFromProgIDEx
-CLSIDFromString
-CoAddRefServerProcess
-CoAllowSetForegroundWindow
-CoBuildVersion
-CoCancelCall
-CoCopyProxy
-CoCreateFreeThreadedMarshaler
-CoCreateGuid
-CoCreateInstance
-CoCreateInstanceEx
-CoCreateObjectInContext
-CoDeactivateObject
-CoDisableCallCancellation
-CoDisconnectObject
-CoDosDateTimeToFileTime
-CoEnableCallCancellation
-CoFileTimeNow
-CoFileTimeToDosDateTime
-CoFreeAllLibraries
-CoFreeLibrary
-CoFreeUnusedLibraries
-CoFreeUnusedLibrariesEx
-CoGetApartmentID
-CoGetCallContext
-CoGetCallerTID
-CoGetCancelObject
-CoGetClassObject
-CoGetClassVersion
-CoGetComCatalog
-CoGetContextToken
-CoGetCurrentLogicalThreadId
-CoGetCurrentProcess
-CoGetDefaultContext
-CoGetInstanceFromFile
-CoGetInstanceFromIStorage
-CoGetInterceptor
-CoGetInterceptorFromTypeInfo
-CoGetInterfaceAndReleaseStream
-CoGetMalloc
-CoGetMarshalSizeMax
-CoGetModuleType
-CoGetObject
-CoGetObjectContext
-CoGetPSClsid
-CoGetProcessIdentifier
-CoGetStandardMarshal
-CoGetState
-CoGetStdMarshalEx
-CoGetSystemSecurityPermissions
-CoGetTreatAsClass
-CoImpersonateClient
-CoInitialize
-CoInitializeEx
-CoInitializeSecurity
-CoInitializeWOW
-CoInstall
-CoInvalidateRemoteMachineBindings
-CoIsHandlerConnected
-CoIsOle1Class
-CoLoadLibrary
-CoLockObjectExternal
-CoMarshalHresult
-CoMarshalInterThreadInterfaceInStream
-CoMarshalInterface
-CoPopServiceDomain
-CoPushServiceDomain
-CoQueryAuthenticationServices
-CoQueryClientBlanket
-CoQueryProxyBlanket
-CoQueryReleaseObject
-CoReactivateObject
-CoRegisterChannelHook
-CoRegisterClassObject
-CoRegisterInitializeSpy
-CoRegisterMallocSpy
-CoRegisterMessageFilter
-CoRegisterPSClsid
-CoRegisterSurrogate
-CoRegisterSurrogateEx
-CoReleaseMarshalData
-CoReleaseServerProcess
-CoResumeClassObjects
-CoRetireServer
-CoRevertToSelf
-CoRevokeClassObject
-CoRevokeInitializeSpy
-CoRevokeMallocSpy
-CoSetCancelObject
-CoSetProxyBlanket
-CoSetState
-CoSuspendClassObjects
-CoSwitchCallContext
-CoTaskMemAlloc
-CoTaskMemFree
-CoTaskMemRealloc
-CoTestCancel
-CoTreatAsClass
-CoUninitialize
-CoUnloadingWOW
-CoUnmarshalHresult
-CoUnmarshalInterface
-CoWaitForMultipleHandles
-ComPs_NdrDllCanUnloadNow
-ComPs_NdrDllGetClassObject
-ComPs_NdrDllRegisterProxy
-ComPs_NdrDllUnregisterProxy
-CreateAntiMoniker
-CreateBindCtx
-CreateClassMoniker
-CreateDataAdviseHolder
-CreateDataCache
-CreateErrorInfo
-CreateFileMoniker
-CreateGenericComposite
-CreateILockBytesOnHGlobal
-CreateItemMoniker
-CreateObjrefMoniker
-CreateOleAdviseHolder
-CreatePointerMoniker
-CreateStdProgressIndicator
-CreateStreamOnHGlobal
-DcomChannelSetHResult
-DllDebugObjectRPCHook
-DllGetClassObject
-DllGetClassObjectWOW
-DllRegisterServer
-DoDragDrop
-EnableHookObject
-FmtIdToPropStgName
-FreePropVariantArray
-GetClassFile
-GetConvertStg
-GetDocumentBitStg
-GetErrorInfo
-GetHGlobalFromILockBytes
-GetHGlobalFromStream
-GetHookInterface
-GetRunningObjectTable
-HACCEL_UserFree
-HACCEL_UserFree64
-HACCEL_UserMarshal
-HACCEL_UserMarshal64
-HACCEL_UserSize
-HACCEL_UserSize64
-HACCEL_UserUnmarshal
-HACCEL_UserUnmarshal64
-HBITMAP_UserFree
-HBITMAP_UserFree64
-HBITMAP_UserMarshal
-HBITMAP_UserMarshal64
-HBITMAP_UserSize
-HBITMAP_UserSize64
-HBITMAP_UserUnmarshal
-HBITMAP_UserUnmarshal64
-HBRUSH_UserFree
-HBRUSH_UserFree64
-HBRUSH_UserMarshal
-HBRUSH_UserMarshal64
-HBRUSH_UserSize
-HBRUSH_UserSize64
-HBRUSH_UserUnmarshal
-HBRUSH_UserUnmarshal64
-HDC_UserFree
-HDC_UserFree64
-HDC_UserMarshal
-HDC_UserMarshal64
-HDC_UserSize
-HDC_UserSize64
-HDC_UserUnmarshal
-HDC_UserUnmarshal64
-HENHMETAFILE_UserFree
-HENHMETAFILE_UserFree64
-HENHMETAFILE_UserMarshal
-HENHMETAFILE_UserMarshal64
-HENHMETAFILE_UserSize
-HENHMETAFILE_UserSize64
-HENHMETAFILE_UserUnmarshal
-HENHMETAFILE_UserUnmarshal64
-HGLOBAL_UserFree
-HGLOBAL_UserFree64
-HGLOBAL_UserMarshal
-HGLOBAL_UserMarshal64
-HGLOBAL_UserSize
-HGLOBAL_UserSize64
-HGLOBAL_UserUnmarshal
-HGLOBAL_UserUnmarshal64
-HICON_UserFree
-HICON_UserFree64
-HICON_UserMarshal
-HICON_UserMarshal64
-HICON_UserSize
-HICON_UserSize64
-HICON_UserUnmarshal
-HICON_UserUnmarshal64
-HMENU_UserFree
-HMENU_UserFree64
-HMENU_UserMarshal
-HMENU_UserMarshal64
-HMENU_UserSize
-HMENU_UserSize64
-HMENU_UserUnmarshal
-HMENU_UserUnmarshal64
-HMETAFILEPICT_UserFree
-HMETAFILEPICT_UserFree64
-HMETAFILEPICT_UserMarshal
-HMETAFILEPICT_UserMarshal64
-HMETAFILEPICT_UserSize
-HMETAFILEPICT_UserSize64
-HMETAFILEPICT_UserUnmarshal
-HMETAFILEPICT_UserUnmarshal64
-HMETAFILE_UserFree
-HMETAFILE_UserFree64
-HMETAFILE_UserMarshal
-HMETAFILE_UserMarshal64
-HMETAFILE_UserSize
-HMETAFILE_UserSize64
-HMETAFILE_UserUnmarshal
-HMETAFILE_UserUnmarshal64
-HPALETTE_UserFree
-HPALETTE_UserFree64
-HPALETTE_UserMarshal
-HPALETTE_UserMarshal64
-HPALETTE_UserSize
-HPALETTE_UserSize64
-HPALETTE_UserUnmarshal
-HPALETTE_UserUnmarshal64
-HWND_UserFree
-HWND_UserFree64
-HWND_UserMarshal
-HWND_UserMarshal64
-HWND_UserSize
-HWND_UserSize64
-HWND_UserUnmarshal
-HWND_UserUnmarshal64
-HkOleRegisterObject
-IIDFromString
-IsAccelerator
-IsEqualGUID
-IsValidIid
-IsValidInterface
-IsValidPtrIn
-IsValidPtrOut
-MkParseDisplayName
-MonikerCommonPrefixWith
-MonikerRelativePathTo
-OleBuildVersion
-OleConvertIStorageToOLESTREAM
-OleConvertIStorageToOLESTREAMEx
-OleConvertOLESTREAMToIStorage
-OleConvertOLESTREAMToIStorageEx
-OleCreate
-OleCreateDefaultHandler
-OleCreateEmbeddingHelper
-OleCreateEx
-OleCreateFromData
-OleCreateFromDataEx
-OleCreateFromFile
-OleCreateFromFileEx
-OleCreateLink
-OleCreateLinkEx
-OleCreateLinkFromData
-OleCreateLinkFromDataEx
-OleCreateLinkToFile
-OleCreateLinkToFileEx
-OleCreateMenuDescriptor
-OleCreateStaticFromData
-OleDestroyMenuDescriptor
-OleDoAutoConvert
-OleDraw
-OleDuplicateData
-OleFlushClipboard
-OleGetAutoConvert
-OleGetClipboard
-OleGetIconOfClass
-OleGetIconOfFile
-OleInitialize
-OleInitializeWOW
-OleIsCurrentClipboard
-OleIsRunning
-OleLoad
-OleLoadFromStream
-OleLockRunning
-OleMetafilePictFromIconAndLabel
-OleNoteObjectVisible
-OleQueryCreateFromData
-OleQueryLinkFromData
-OleRegEnumFormatEtc
-OleRegEnumVerbs
-OleRegGetMiscStatus
-OleRegGetUserType
-OleRun
-OleSave
-OleSaveToStream
-OleSetAutoConvert
-OleSetClipboard
-OleSetContainedObject
-OleSetMenuDescriptor
-OleTranslateAccelerator
-OleUninitialize
-OpenOrCreateStream
-ProgIDFromCLSID
-PropStgNameToFmtId
-PropSysAllocString
-PropSysFreeString
-PropVariantClear
-PropVariantCopy
-ReadClassStg
-ReadClassStm
-ReadFmtUserTypeStg
-ReadOleStg
-ReadStringStream
-RegisterDragDrop
-ReleaseStgMedium
-RevokeDragDrop
-SNB_UserFree
-SNB_UserFree64
-SNB_UserMarshal
-SNB_UserMarshal64
-SNB_UserSize
-SNB_UserSize64
-SNB_UserUnmarshal
-SNB_UserUnmarshal64
-STGMEDIUM_UserFree
-STGMEDIUM_UserFree64
-STGMEDIUM_UserMarshal
-STGMEDIUM_UserMarshal64
-STGMEDIUM_UserSize
-STGMEDIUM_UserSize64
-STGMEDIUM_UserUnmarshal
-STGMEDIUM_UserUnmarshal64
-SetConvertStg
-SetDocumentBitStg
-SetErrorInfo
-StgConvertPropertyToVariant
-StgConvertVariantToProperty
-StgCreateDocfile
-StgCreateDocfileOnILockBytes
-StgCreatePropSetStg
-StgCreatePropStg
-StgCreateStorageEx
-StgGetIFillLockBytesOnFile
-StgGetIFillLockBytesOnILockBytes
-StgIsStorageFile
-StgIsStorageILockBytes
-StgOpenAsyncDocfileOnIFillLockBytes
-StgOpenPropStg
-StgOpenStorage
-StgOpenStorageEx
-StgOpenStorageOnHandle
-StgOpenStorageOnILockBytes
-StgPropertyLengthAsVariant
-StgSetTimes
-StringFromCLSID
-StringFromGUID2
-StringFromIID
-UpdateDCOMSettings
-UtConvertDvtd16toDvtd32
-UtConvertDvtd32toDvtd16
-UtGetDvtd16Info
-UtGetDvtd32Info
-WdtpInterfacePointer_UserFree
-WdtpInterfacePointer_UserFree64
-WdtpInterfacePointer_UserMarshal
-WdtpInterfacePointer_UserMarshal64
-WdtpInterfacePointer_UserSize
-WdtpInterfacePointer_UserSize64
-WdtpInterfacePointer_UserUnmarshal
-WdtpInterfacePointer_UserUnmarshal64
-WriteClassStg
-WriteClassStm
-WriteFmtUserTypeStg
-WriteOleStg
-WriteStringStream
+; 
+; Exports of file ole32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ole32.dll
+EXPORTS
+CoVrfCheckThreadState
+CoVrfGetThreadState
+CoVrfReleaseThreadState
+PropVariantChangeType
+BindMoniker
+CLIPFORMAT_UserFree
+CLIPFORMAT_UserFree64
+CLIPFORMAT_UserMarshal
+CLIPFORMAT_UserMarshal64
+CLIPFORMAT_UserSize
+CLIPFORMAT_UserSize64
+CLIPFORMAT_UserUnmarshal
+CLIPFORMAT_UserUnmarshal64
+CLSIDFromOle1Class
+CLSIDFromProgID
+CLSIDFromProgIDEx
+CLSIDFromString
+CoAddRefServerProcess
+CoAllowSetForegroundWindow
+CoBuildVersion
+CoCancelCall
+CoCopyProxy
+CoCreateFreeThreadedMarshaler
+CoCreateGuid
+CoCreateInstance
+CoCreateInstanceEx
+CoCreateObjectInContext
+CoDeactivateObject
+CoDisableCallCancellation
+CoDisconnectObject
+CoDosDateTimeToFileTime
+CoEnableCallCancellation
+CoFileTimeNow
+CoFileTimeToDosDateTime
+CoFreeAllLibraries
+CoFreeLibrary
+CoFreeUnusedLibraries
+CoFreeUnusedLibrariesEx
+CoGetApartmentID
+CoGetCallContext
+CoGetCallerTID
+CoGetCancelObject
+CoGetClassObject
+CoGetClassVersion
+CoGetComCatalog
+CoGetContextToken
+CoGetCurrentLogicalThreadId
+CoGetCurrentProcess
+CoGetDefaultContext
+CoGetInstanceFromFile
+CoGetInstanceFromIStorage
+CoGetInterceptor
+CoGetInterceptorFromTypeInfo
+CoGetInterfaceAndReleaseStream
+CoGetMalloc
+CoGetMarshalSizeMax
+CoGetModuleType
+CoGetObject
+CoGetObjectContext
+CoGetPSClsid
+CoGetProcessIdentifier
+CoGetStandardMarshal
+CoGetState
+CoGetStdMarshalEx
+CoGetSystemSecurityPermissions
+CoGetTreatAsClass
+CoImpersonateClient
+CoInitialize
+CoInitializeEx
+CoInitializeSecurity
+CoInitializeWOW
+CoInstall
+CoInvalidateRemoteMachineBindings
+CoIsHandlerConnected
+CoIsOle1Class
+CoLoadLibrary
+CoLockObjectExternal
+CoMarshalHresult
+CoMarshalInterThreadInterfaceInStream
+CoMarshalInterface
+CoPopServiceDomain
+CoPushServiceDomain
+CoQueryAuthenticationServices
+CoQueryClientBlanket
+CoQueryProxyBlanket
+CoQueryReleaseObject
+CoReactivateObject
+CoRegisterChannelHook
+CoRegisterClassObject
+CoRegisterInitializeSpy
+CoRegisterMallocSpy
+CoRegisterMessageFilter
+CoRegisterPSClsid
+CoRegisterSurrogate
+CoRegisterSurrogateEx
+CoReleaseMarshalData
+CoReleaseServerProcess
+CoResumeClassObjects
+CoRetireServer
+CoRevertToSelf
+CoRevokeClassObject
+CoRevokeInitializeSpy
+CoRevokeMallocSpy
+CoSetCancelObject
+CoSetProxyBlanket
+CoSetState
+CoSuspendClassObjects
+CoSwitchCallContext
+CoTaskMemAlloc
+CoTaskMemFree
+CoTaskMemRealloc
+CoTestCancel
+CoTreatAsClass
+CoUninitialize
+CoUnloadingWOW
+CoUnmarshalHresult
+CoUnmarshalInterface
+CoWaitForMultipleHandles
+ComPs_NdrDllCanUnloadNow
+ComPs_NdrDllGetClassObject
+ComPs_NdrDllRegisterProxy
+ComPs_NdrDllUnregisterProxy
+CreateAntiMoniker
+CreateBindCtx
+CreateClassMoniker
+CreateDataAdviseHolder
+CreateDataCache
+CreateErrorInfo
+CreateFileMoniker
+CreateGenericComposite
+CreateILockBytesOnHGlobal
+CreateItemMoniker
+CreateObjrefMoniker
+CreateOleAdviseHolder
+CreatePointerMoniker
+CreateStdProgressIndicator
+CreateStreamOnHGlobal
+DcomChannelSetHResult
+DllDebugObjectRPCHook
+DllGetClassObject
+DllGetClassObjectWOW
+DllRegisterServer
+DoDragDrop
+EnableHookObject
+FmtIdToPropStgName
+FreePropVariantArray
+GetClassFile
+GetConvertStg
+GetDocumentBitStg
+GetErrorInfo
+GetHGlobalFromILockBytes
+GetHGlobalFromStream
+GetHookInterface
+GetRunningObjectTable
+HACCEL_UserFree
+HACCEL_UserFree64
+HACCEL_UserMarshal
+HACCEL_UserMarshal64
+HACCEL_UserSize
+HACCEL_UserSize64
+HACCEL_UserUnmarshal
+HACCEL_UserUnmarshal64
+HBITMAP_UserFree
+HBITMAP_UserFree64
+HBITMAP_UserMarshal
+HBITMAP_UserMarshal64
+HBITMAP_UserSize
+HBITMAP_UserSize64
+HBITMAP_UserUnmarshal
+HBITMAP_UserUnmarshal64
+HBRUSH_UserFree
+HBRUSH_UserFree64
+HBRUSH_UserMarshal
+HBRUSH_UserMarshal64
+HBRUSH_UserSize
+HBRUSH_UserSize64
+HBRUSH_UserUnmarshal
+HBRUSH_UserUnmarshal64
+HDC_UserFree
+HDC_UserFree64
+HDC_UserMarshal
+HDC_UserMarshal64
+HDC_UserSize
+HDC_UserSize64
+HDC_UserUnmarshal
+HDC_UserUnmarshal64
+HENHMETAFILE_UserFree
+HENHMETAFILE_UserFree64
+HENHMETAFILE_UserMarshal
+HENHMETAFILE_UserMarshal64
+HENHMETAFILE_UserSize
+HENHMETAFILE_UserSize64
+HENHMETAFILE_UserUnmarshal
+HENHMETAFILE_UserUnmarshal64
+HGLOBAL_UserFree
+HGLOBAL_UserFree64
+HGLOBAL_UserMarshal
+HGLOBAL_UserMarshal64
+HGLOBAL_UserSize
+HGLOBAL_UserSize64
+HGLOBAL_UserUnmarshal
+HGLOBAL_UserUnmarshal64
+HICON_UserFree
+HICON_UserFree64
+HICON_UserMarshal
+HICON_UserMarshal64
+HICON_UserSize
+HICON_UserSize64
+HICON_UserUnmarshal
+HICON_UserUnmarshal64
+HMENU_UserFree
+HMENU_UserFree64
+HMENU_UserMarshal
+HMENU_UserMarshal64
+HMENU_UserSize
+HMENU_UserSize64
+HMENU_UserUnmarshal
+HMENU_UserUnmarshal64
+HMETAFILEPICT_UserFree
+HMETAFILEPICT_UserFree64
+HMETAFILEPICT_UserMarshal
+HMETAFILEPICT_UserMarshal64
+HMETAFILEPICT_UserSize
+HMETAFILEPICT_UserSize64
+HMETAFILEPICT_UserUnmarshal
+HMETAFILEPICT_UserUnmarshal64
+HMETAFILE_UserFree
+HMETAFILE_UserFree64
+HMETAFILE_UserMarshal
+HMETAFILE_UserMarshal64
+HMETAFILE_UserSize
+HMETAFILE_UserSize64
+HMETAFILE_UserUnmarshal
+HMETAFILE_UserUnmarshal64
+HPALETTE_UserFree
+HPALETTE_UserFree64
+HPALETTE_UserMarshal
+HPALETTE_UserMarshal64
+HPALETTE_UserSize
+HPALETTE_UserSize64
+HPALETTE_UserUnmarshal
+HPALETTE_UserUnmarshal64
+HWND_UserFree
+HWND_UserFree64
+HWND_UserMarshal
+HWND_UserMarshal64
+HWND_UserSize
+HWND_UserSize64
+HWND_UserUnmarshal
+HWND_UserUnmarshal64
+HkOleRegisterObject
+IIDFromString
+IsAccelerator
+IsEqualGUID
+IsValidIid
+IsValidInterface
+IsValidPtrIn
+IsValidPtrOut
+MkParseDisplayName
+MonikerCommonPrefixWith
+MonikerRelativePathTo
+OleBuildVersion
+OleConvertIStorageToOLESTREAM
+OleConvertIStorageToOLESTREAMEx
+OleConvertOLESTREAMToIStorage
+OleConvertOLESTREAMToIStorageEx
+OleCreate
+OleCreateDefaultHandler
+OleCreateEmbeddingHelper
+OleCreateEx
+OleCreateFromData
+OleCreateFromDataEx
+OleCreateFromFile
+OleCreateFromFileEx
+OleCreateLink
+OleCreateLinkEx
+OleCreateLinkFromData
+OleCreateLinkFromDataEx
+OleCreateLinkToFile
+OleCreateLinkToFileEx
+OleCreateMenuDescriptor
+OleCreateStaticFromData
+OleDestroyMenuDescriptor
+OleDoAutoConvert
+OleDraw
+OleDuplicateData
+OleFlushClipboard
+OleGetAutoConvert
+OleGetClipboard
+OleGetIconOfClass
+OleGetIconOfFile
+OleInitialize
+OleInitializeWOW
+OleIsCurrentClipboard
+OleIsRunning
+OleLoad
+OleLoadFromStream
+OleLockRunning
+OleMetafilePictFromIconAndLabel
+OleNoteObjectVisible
+OleQueryCreateFromData
+OleQueryLinkFromData
+OleRegEnumFormatEtc
+OleRegEnumVerbs
+OleRegGetMiscStatus
+OleRegGetUserType
+OleRun
+OleSave
+OleSaveToStream
+OleSetAutoConvert
+OleSetClipboard
+OleSetContainedObject
+OleSetMenuDescriptor
+OleTranslateAccelerator
+OleUninitialize
+OpenOrCreateStream
+ProgIDFromCLSID
+PropStgNameToFmtId
+PropSysAllocString
+PropSysFreeString
+PropVariantClear
+PropVariantCopy
+ReadClassStg
+ReadClassStm
+ReadFmtUserTypeStg
+ReadOleStg
+ReadStringStream
+RegisterDragDrop
+ReleaseStgMedium
+RevokeDragDrop
+SNB_UserFree
+SNB_UserFree64
+SNB_UserMarshal
+SNB_UserMarshal64
+SNB_UserSize
+SNB_UserSize64
+SNB_UserUnmarshal
+SNB_UserUnmarshal64
+STGMEDIUM_UserFree
+STGMEDIUM_UserFree64
+STGMEDIUM_UserMarshal
+STGMEDIUM_UserMarshal64
+STGMEDIUM_UserSize
+STGMEDIUM_UserSize64
+STGMEDIUM_UserUnmarshal
+STGMEDIUM_UserUnmarshal64
+SetConvertStg
+SetDocumentBitStg
+SetErrorInfo
+StgConvertPropertyToVariant
+StgConvertVariantToProperty
+StgCreateDocfile
+StgCreateDocfileOnILockBytes
+StgCreatePropSetStg
+StgCreatePropStg
+StgCreateStorageEx
+StgGetIFillLockBytesOnFile
+StgGetIFillLockBytesOnILockBytes
+StgIsStorageFile
+StgIsStorageILockBytes
+StgOpenAsyncDocfileOnIFillLockBytes
+StgOpenPropStg
+StgOpenStorage
+StgOpenStorageEx
+StgOpenStorageOnHandle
+StgOpenStorageOnILockBytes
+StgPropertyLengthAsVariant
+StgSetTimes
+StringFromCLSID
+StringFromGUID2
+StringFromIID
+UpdateDCOMSettings
+UtConvertDvtd16toDvtd32
+UtConvertDvtd32toDvtd16
+UtGetDvtd16Info
+UtGetDvtd32Info
+WdtpInterfacePointer_UserFree
+WdtpInterfacePointer_UserFree64
+WdtpInterfacePointer_UserMarshal
+WdtpInterfacePointer_UserMarshal64
+WdtpInterfacePointer_UserSize
+WdtpInterfacePointer_UserSize64
+WdtpInterfacePointer_UserUnmarshal
+WdtpInterfacePointer_UserUnmarshal64
+WriteClassStg
+WriteClassStm
+WriteFmtUserTypeStg
+WriteOleStg
+WriteStringStream
diff --git a/mingw-w64-crt/lib64/oleacc.def b/mingw-w64-crt/lib64/oleacc.def
index d3c4dc1..414290a 100644
--- a/mingw-w64-crt/lib64/oleacc.def
+++ b/mingw-w64-crt/lib64/oleacc.def
@@ -1,30 +1,30 @@
-; 
-; Exports of file OLEACC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLEACC.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-AccessibleChildren
-AccessibleObjectFromEvent
-AccessibleObjectFromPoint
-AccessibleObjectFromWindow
-CreateStdAccessibleObject
-CreateStdAccessibleProxyA
-CreateStdAccessibleProxyW
-DllCanUnloadNow
-DllGetClassObject
-GetOleaccVersionInfo
-GetRoleTextA
-GetRoleTextW
-GetStateTextA
-GetStateTextW
-IID_IAccessible
-IID_IAccessibleHandler
-LIBID_Accessibility
-LresultFromObject
-ObjectFromLresult
-WindowFromAccessibleObject
+; 
+; Exports of file OLEACC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLEACC.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+AccessibleChildren
+AccessibleObjectFromEvent
+AccessibleObjectFromPoint
+AccessibleObjectFromWindow
+CreateStdAccessibleObject
+CreateStdAccessibleProxyA
+CreateStdAccessibleProxyW
+DllCanUnloadNow
+DllGetClassObject
+GetOleaccVersionInfo
+GetRoleTextA
+GetRoleTextW
+GetStateTextA
+GetStateTextW
+IID_IAccessible
+IID_IAccessibleHandler
+LIBID_Accessibility
+LresultFromObject
+ObjectFromLresult
+WindowFromAccessibleObject
diff --git a/mingw-w64-crt/lib64/oleaut32.def b/mingw-w64-crt/lib64/oleaut32.def
index a68f9e4..3992833 100644
--- a/mingw-w64-crt/lib64/oleaut32.def
+++ b/mingw-w64-crt/lib64/oleaut32.def
@@ -1,418 +1,418 @@
-; 
-; Exports of file OLEAUT32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLEAUT32.dll
-EXPORTS
-SysAllocString
-SysReAllocString
-SysAllocStringLen
-SysReAllocStringLen
-SysFreeString
-SysStringLen
-VariantInit
-VariantClear
-VariantCopy
-VariantCopyInd
-VariantChangeType
-VariantTimeToDosDateTime
-DosDateTimeToVariantTime
-SafeArrayCreate
-SafeArrayDestroy
-SafeArrayGetDim
-SafeArrayGetElemsize
-SafeArrayGetUBound
-SafeArrayGetLBound
-SafeArrayLock
-SafeArrayUnlock
-SafeArrayAccessData
-SafeArrayUnaccessData
-SafeArrayGetElement
-SafeArrayPutElement
-SafeArrayCopy
-DispGetParam
-DispGetIDsOfNames
-DispInvoke
-CreateDispTypeInfo
-CreateStdDispatch
-RegisterActiveObject
-RevokeActiveObject
-GetActiveObject
-SafeArrayAllocDescriptor
-SafeArrayAllocData
-SafeArrayDestroyDescriptor
-SafeArrayDestroyData
-SafeArrayRedim
-SafeArrayAllocDescriptorEx
-SafeArrayCreateEx
-SafeArrayCreateVectorEx
-SafeArraySetRecordInfo
-SafeArrayGetRecordInfo
-VarParseNumFromStr
-VarNumFromParseNum
-VarI2FromUI1
-VarI2FromI4
-VarI2FromR4
-VarI2FromR8
-VarI2FromCy
-VarI2FromDate
-VarI2FromStr
-VarI2FromDisp
-VarI2FromBool
-SafeArraySetIID
-VarI4FromUI1
-VarI4FromI2
-VarI4FromR4
-VarI4FromR8
-VarI4FromCy
-VarI4FromDate
-VarI4FromStr
-VarI4FromDisp
-VarI4FromBool
-SafeArrayGetIID
-VarR4FromUI1
-VarR4FromI2
-VarR4FromI4
-VarR4FromR8
-VarR4FromCy
-VarR4FromDate
-VarR4FromStr
-VarR4FromDisp
-VarR4FromBool
-SafeArrayGetVartype
-VarR8FromUI1
-VarR8FromI2
-VarR8FromI4
-VarR8FromR4
-VarR8FromCy
-VarR8FromDate
-VarR8FromStr
-VarR8FromDisp
-VarR8FromBool
-VarFormat
-VarDateFromUI1
-VarDateFromI2
-VarDateFromI4
-VarDateFromR4
-VarDateFromR8
-VarDateFromCy
-VarDateFromStr
-VarDateFromDisp
-VarDateFromBool
-VarFormatDateTime
-VarCyFromUI1
-VarCyFromI2
-VarCyFromI4
-VarCyFromR4
-VarCyFromR8
-VarCyFromDate
-VarCyFromStr
-VarCyFromDisp
-VarCyFromBool
-VarFormatNumber
-VarBstrFromUI1
-VarBstrFromI2
-VarBstrFromI4
-VarBstrFromR4
-VarBstrFromR8
-VarBstrFromCy
-VarBstrFromDate
-VarBstrFromDisp
-VarBstrFromBool
-VarFormatPercent
-VarBoolFromUI1
-VarBoolFromI2
-VarBoolFromI4
-VarBoolFromR4
-VarBoolFromR8
-VarBoolFromDate
-VarBoolFromCy
-VarBoolFromStr
-VarBoolFromDisp
-VarFormatCurrency
-VarWeekdayName
-VarMonthName
-VarUI1FromI2
-VarUI1FromI4
-VarUI1FromR4
-VarUI1FromR8
-VarUI1FromCy
-VarUI1FromDate
-VarUI1FromStr
-VarUI1FromDisp
-VarUI1FromBool
-VarFormatFromTokens
-VarTokenizeFormatString
-VarAdd
-VarAnd
-VarDiv
-BSTR_UserFree64
-BSTR_UserMarshal64
-DispCallFunc
-VariantChangeTypeEx
-SafeArrayPtrOfIndex
-SysStringByteLen
-SysAllocStringByteLen
-BSTR_UserSize64
-VarEqv
-VarIdiv
-VarImp
-VarMod
-VarMul
-VarOr
-VarPow
-VarSub
-CreateTypeLib
-LoadTypeLib
-LoadRegTypeLib
-RegisterTypeLib
-QueryPathOfRegTypeLib
-LHashValOfNameSys
-LHashValOfNameSysA
-VarXor
-VarAbs
-VarFix
-OaBuildVersion
-ClearCustData
-VarInt
-VarNeg
-VarNot
-VarRound
-VarCmp
-VarDecAdd
-VarDecDiv
-VarDecMul
-CreateTypeLib2
-VarDecSub
-VarDecAbs
-LoadTypeLibEx
-SystemTimeToVariantTime
-VariantTimeToSystemTime
-UnRegisterTypeLib
-VarDecFix
-VarDecInt
-VarDecNeg
-VarDecFromUI1
-VarDecFromI2
-VarDecFromI4
-VarDecFromR4
-VarDecFromR8
-VarDecFromDate
-VarDecFromCy
-VarDecFromStr
-VarDecFromDisp
-VarDecFromBool
-GetErrorInfo
-SetErrorInfo
-CreateErrorInfo
-VarDecRound
-VarDecCmp
-VarI2FromI1
-VarI2FromUI2
-VarI2FromUI4
-VarI2FromDec
-VarI4FromI1
-VarI4FromUI2
-VarI4FromUI4
-VarI4FromDec
-VarR4FromI1
-VarR4FromUI2
-VarR4FromUI4
-VarR4FromDec
-VarR8FromI1
-VarR8FromUI2
-VarR8FromUI4
-VarR8FromDec
-VarDateFromI1
-VarDateFromUI2
-VarDateFromUI4
-VarDateFromDec
-VarCyFromI1
-VarCyFromUI2
-VarCyFromUI4
-VarCyFromDec
-VarBstrFromI1
-VarBstrFromUI2
-VarBstrFromUI4
-VarBstrFromDec
-VarBoolFromI1
-VarBoolFromUI2
-VarBoolFromUI4
-VarBoolFromDec
-VarUI1FromI1
-VarUI1FromUI2
-VarUI1FromUI4
-VarUI1FromDec
-VarDecFromI1
-VarDecFromUI2
-VarDecFromUI4
-VarI1FromUI1
-VarI1FromI2
-VarI1FromI4
-VarI1FromR4
-VarI1FromR8
-VarI1FromDate
-VarI1FromCy
-VarI1FromStr
-VarI1FromDisp
-VarI1FromBool
-VarI1FromUI2
-VarI1FromUI4
-VarI1FromDec
-VarUI2FromUI1
-VarUI2FromI2
-VarUI2FromI4
-VarUI2FromR4
-VarUI2FromR8
-VarUI2FromDate
-VarUI2FromCy
-VarUI2FromStr
-VarUI2FromDisp
-VarUI2FromBool
-VarUI2FromI1
-VarUI2FromUI4
-VarUI2FromDec
-VarUI4FromUI1
-VarUI4FromI2
-VarUI4FromI4
-VarUI4FromR4
-VarUI4FromR8
-VarUI4FromDate
-VarUI4FromCy
-VarUI4FromStr
-VarUI4FromDisp
-VarUI4FromBool
-VarUI4FromI1
-VarUI4FromUI2
-VarUI4FromDec
-BSTR_UserSize
-BSTR_UserMarshal
-BSTR_UserUnmarshal
-BSTR_UserFree
-VARIANT_UserSize
-VARIANT_UserMarshal
-VARIANT_UserUnmarshal
-VARIANT_UserFree
-LPSAFEARRAY_UserSize
-LPSAFEARRAY_UserMarshal
-LPSAFEARRAY_UserUnmarshal
-LPSAFEARRAY_UserFree
-LPSAFEARRAY_Size
-LPSAFEARRAY_Marshal
-LPSAFEARRAY_Unmarshal
-VarDecCmpR8
-VarCyAdd
-BSTR_UserUnmarshal64
-DllCanUnloadNow
-DllGetClassObject
-VarCyMul
-VarCyMulI4
-VarCySub
-VarCyAbs
-VarCyFix
-VarCyInt
-VarCyNeg
-VarCyRound
-VarCyCmp
-VarCyCmpR8
-VarBstrCat
-VarBstrCmp
-VarR8Pow
-VarR4CmpR8
-VarR8Round
-VarCat
-VarDateFromUdateEx
-DllRegisterServer
-DllUnregisterServer
-GetRecordInfoFromGuids
-GetRecordInfoFromTypeInfo
-LPSAFEARRAY_UserFree64
-SetVarConversionLocaleSetting
-GetVarConversionLocaleSetting
-SetOaNoCache
-LPSAFEARRAY_UserMarshal64
-VarCyMulI8
-VarDateFromUdate
-VarUdateFromDate
-GetAltMonthNames
-VarI8FromUI1
-VarI8FromI2
-VarI8FromR4
-VarI8FromR8
-VarI8FromCy
-VarI8FromDate
-VarI8FromStr
-VarI8FromDisp
-VarI8FromBool
-VarI8FromI1
-VarI8FromUI2
-VarI8FromUI4
-VarI8FromDec
-VarI2FromI8
-VarI2FromUI8
-VarI4FromI8
-VarI4FromUI8
-LPSAFEARRAY_UserSize64
-LPSAFEARRAY_UserUnmarshal64
-OACreateTypeLib2
-VARIANT_UserFree64
-VARIANT_UserMarshal64
-VARIANT_UserSize64
-VARIANT_UserUnmarshal64
-VarR4FromI8
-VarR4FromUI8
-VarR8FromI8
-VarR8FromUI8
-VarDateFromI8
-VarDateFromUI8
-VarCyFromI8
-VarCyFromUI8
-VarBstrFromI8
-VarBstrFromUI8
-VarBoolFromI8
-VarBoolFromUI8
-VarUI1FromI8
-VarUI1FromUI8
-VarDecFromI8
-VarDecFromUI8
-VarI1FromI8
-VarI1FromUI8
-VarUI2FromI8
-VarUI2FromUI8
-OleLoadPictureEx
-OleLoadPictureFileEx
-SafeArrayCreateVector
-SafeArrayCopyData
-VectorFromBstr
-BstrFromVector
-OleIconToCursor
-OleCreatePropertyFrameIndirect
-OleCreatePropertyFrame
-OleLoadPicture
-OleCreatePictureIndirect
-OleCreateFontIndirect
-OleTranslateColor
-OleLoadPictureFile
-OleSavePictureFile
-OleLoadPicturePath
-VarUI4FromI8
-VarUI4FromUI8
-VarI8FromUI8
-VarUI8FromI8
-VarUI8FromUI1
-VarUI8FromI2
-VarUI8FromR4
-VarUI8FromR8
-VarUI8FromCy
-VarUI8FromDate
-VarUI8FromStr
-VarUI8FromDisp
-VarUI8FromBool
-VarUI8FromI1
-VarUI8FromUI2
-VarUI8FromUI4
-VarUI8FromDec
-RegisterTypeLibForUser
-UnRegisterTypeLibForUser
+; 
+; Exports of file OLEAUT32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLEAUT32.dll
+EXPORTS
+SysAllocString
+SysReAllocString
+SysAllocStringLen
+SysReAllocStringLen
+SysFreeString
+SysStringLen
+VariantInit
+VariantClear
+VariantCopy
+VariantCopyInd
+VariantChangeType
+VariantTimeToDosDateTime
+DosDateTimeToVariantTime
+SafeArrayCreate
+SafeArrayDestroy
+SafeArrayGetDim
+SafeArrayGetElemsize
+SafeArrayGetUBound
+SafeArrayGetLBound
+SafeArrayLock
+SafeArrayUnlock
+SafeArrayAccessData
+SafeArrayUnaccessData
+SafeArrayGetElement
+SafeArrayPutElement
+SafeArrayCopy
+DispGetParam
+DispGetIDsOfNames
+DispInvoke
+CreateDispTypeInfo
+CreateStdDispatch
+RegisterActiveObject
+RevokeActiveObject
+GetActiveObject
+SafeArrayAllocDescriptor
+SafeArrayAllocData
+SafeArrayDestroyDescriptor
+SafeArrayDestroyData
+SafeArrayRedim
+SafeArrayAllocDescriptorEx
+SafeArrayCreateEx
+SafeArrayCreateVectorEx
+SafeArraySetRecordInfo
+SafeArrayGetRecordInfo
+VarParseNumFromStr
+VarNumFromParseNum
+VarI2FromUI1
+VarI2FromI4
+VarI2FromR4
+VarI2FromR8
+VarI2FromCy
+VarI2FromDate
+VarI2FromStr
+VarI2FromDisp
+VarI2FromBool
+SafeArraySetIID
+VarI4FromUI1
+VarI4FromI2
+VarI4FromR4
+VarI4FromR8
+VarI4FromCy
+VarI4FromDate
+VarI4FromStr
+VarI4FromDisp
+VarI4FromBool
+SafeArrayGetIID
+VarR4FromUI1
+VarR4FromI2
+VarR4FromI4
+VarR4FromR8
+VarR4FromCy
+VarR4FromDate
+VarR4FromStr
+VarR4FromDisp
+VarR4FromBool
+SafeArrayGetVartype
+VarR8FromUI1
+VarR8FromI2
+VarR8FromI4
+VarR8FromR4
+VarR8FromCy
+VarR8FromDate
+VarR8FromStr
+VarR8FromDisp
+VarR8FromBool
+VarFormat
+VarDateFromUI1
+VarDateFromI2
+VarDateFromI4
+VarDateFromR4
+VarDateFromR8
+VarDateFromCy
+VarDateFromStr
+VarDateFromDisp
+VarDateFromBool
+VarFormatDateTime
+VarCyFromUI1
+VarCyFromI2
+VarCyFromI4
+VarCyFromR4
+VarCyFromR8
+VarCyFromDate
+VarCyFromStr
+VarCyFromDisp
+VarCyFromBool
+VarFormatNumber
+VarBstrFromUI1
+VarBstrFromI2
+VarBstrFromI4
+VarBstrFromR4
+VarBstrFromR8
+VarBstrFromCy
+VarBstrFromDate
+VarBstrFromDisp
+VarBstrFromBool
+VarFormatPercent
+VarBoolFromUI1
+VarBoolFromI2
+VarBoolFromI4
+VarBoolFromR4
+VarBoolFromR8
+VarBoolFromDate
+VarBoolFromCy
+VarBoolFromStr
+VarBoolFromDisp
+VarFormatCurrency
+VarWeekdayName
+VarMonthName
+VarUI1FromI2
+VarUI1FromI4
+VarUI1FromR4
+VarUI1FromR8
+VarUI1FromCy
+VarUI1FromDate
+VarUI1FromStr
+VarUI1FromDisp
+VarUI1FromBool
+VarFormatFromTokens
+VarTokenizeFormatString
+VarAdd
+VarAnd
+VarDiv
+BSTR_UserFree64
+BSTR_UserMarshal64
+DispCallFunc
+VariantChangeTypeEx
+SafeArrayPtrOfIndex
+SysStringByteLen
+SysAllocStringByteLen
+BSTR_UserSize64
+VarEqv
+VarIdiv
+VarImp
+VarMod
+VarMul
+VarOr
+VarPow
+VarSub
+CreateTypeLib
+LoadTypeLib
+LoadRegTypeLib
+RegisterTypeLib
+QueryPathOfRegTypeLib
+LHashValOfNameSys
+LHashValOfNameSysA
+VarXor
+VarAbs
+VarFix
+OaBuildVersion
+ClearCustData
+VarInt
+VarNeg
+VarNot
+VarRound
+VarCmp
+VarDecAdd
+VarDecDiv
+VarDecMul
+CreateTypeLib2
+VarDecSub
+VarDecAbs
+LoadTypeLibEx
+SystemTimeToVariantTime
+VariantTimeToSystemTime
+UnRegisterTypeLib
+VarDecFix
+VarDecInt
+VarDecNeg
+VarDecFromUI1
+VarDecFromI2
+VarDecFromI4
+VarDecFromR4
+VarDecFromR8
+VarDecFromDate
+VarDecFromCy
+VarDecFromStr
+VarDecFromDisp
+VarDecFromBool
+GetErrorInfo
+SetErrorInfo
+CreateErrorInfo
+VarDecRound
+VarDecCmp
+VarI2FromI1
+VarI2FromUI2
+VarI2FromUI4
+VarI2FromDec
+VarI4FromI1
+VarI4FromUI2
+VarI4FromUI4
+VarI4FromDec
+VarR4FromI1
+VarR4FromUI2
+VarR4FromUI4
+VarR4FromDec
+VarR8FromI1
+VarR8FromUI2
+VarR8FromUI4
+VarR8FromDec
+VarDateFromI1
+VarDateFromUI2
+VarDateFromUI4
+VarDateFromDec
+VarCyFromI1
+VarCyFromUI2
+VarCyFromUI4
+VarCyFromDec
+VarBstrFromI1
+VarBstrFromUI2
+VarBstrFromUI4
+VarBstrFromDec
+VarBoolFromI1
+VarBoolFromUI2
+VarBoolFromUI4
+VarBoolFromDec
+VarUI1FromI1
+VarUI1FromUI2
+VarUI1FromUI4
+VarUI1FromDec
+VarDecFromI1
+VarDecFromUI2
+VarDecFromUI4
+VarI1FromUI1
+VarI1FromI2
+VarI1FromI4
+VarI1FromR4
+VarI1FromR8
+VarI1FromDate
+VarI1FromCy
+VarI1FromStr
+VarI1FromDisp
+VarI1FromBool
+VarI1FromUI2
+VarI1FromUI4
+VarI1FromDec
+VarUI2FromUI1
+VarUI2FromI2
+VarUI2FromI4
+VarUI2FromR4
+VarUI2FromR8
+VarUI2FromDate
+VarUI2FromCy
+VarUI2FromStr
+VarUI2FromDisp
+VarUI2FromBool
+VarUI2FromI1
+VarUI2FromUI4
+VarUI2FromDec
+VarUI4FromUI1
+VarUI4FromI2
+VarUI4FromI4
+VarUI4FromR4
+VarUI4FromR8
+VarUI4FromDate
+VarUI4FromCy
+VarUI4FromStr
+VarUI4FromDisp
+VarUI4FromBool
+VarUI4FromI1
+VarUI4FromUI2
+VarUI4FromDec
+BSTR_UserSize
+BSTR_UserMarshal
+BSTR_UserUnmarshal
+BSTR_UserFree
+VARIANT_UserSize
+VARIANT_UserMarshal
+VARIANT_UserUnmarshal
+VARIANT_UserFree
+LPSAFEARRAY_UserSize
+LPSAFEARRAY_UserMarshal
+LPSAFEARRAY_UserUnmarshal
+LPSAFEARRAY_UserFree
+LPSAFEARRAY_Size
+LPSAFEARRAY_Marshal
+LPSAFEARRAY_Unmarshal
+VarDecCmpR8
+VarCyAdd
+BSTR_UserUnmarshal64
+DllCanUnloadNow
+DllGetClassObject
+VarCyMul
+VarCyMulI4
+VarCySub
+VarCyAbs
+VarCyFix
+VarCyInt
+VarCyNeg
+VarCyRound
+VarCyCmp
+VarCyCmpR8
+VarBstrCat
+VarBstrCmp
+VarR8Pow
+VarR4CmpR8
+VarR8Round
+VarCat
+VarDateFromUdateEx
+DllRegisterServer
+DllUnregisterServer
+GetRecordInfoFromGuids
+GetRecordInfoFromTypeInfo
+LPSAFEARRAY_UserFree64
+SetVarConversionLocaleSetting
+GetVarConversionLocaleSetting
+SetOaNoCache
+LPSAFEARRAY_UserMarshal64
+VarCyMulI8
+VarDateFromUdate
+VarUdateFromDate
+GetAltMonthNames
+VarI8FromUI1
+VarI8FromI2
+VarI8FromR4
+VarI8FromR8
+VarI8FromCy
+VarI8FromDate
+VarI8FromStr
+VarI8FromDisp
+VarI8FromBool
+VarI8FromI1
+VarI8FromUI2
+VarI8FromUI4
+VarI8FromDec
+VarI2FromI8
+VarI2FromUI8
+VarI4FromI8
+VarI4FromUI8
+LPSAFEARRAY_UserSize64
+LPSAFEARRAY_UserUnmarshal64
+OACreateTypeLib2
+VARIANT_UserFree64
+VARIANT_UserMarshal64
+VARIANT_UserSize64
+VARIANT_UserUnmarshal64
+VarR4FromI8
+VarR4FromUI8
+VarR8FromI8
+VarR8FromUI8
+VarDateFromI8
+VarDateFromUI8
+VarCyFromI8
+VarCyFromUI8
+VarBstrFromI8
+VarBstrFromUI8
+VarBoolFromI8
+VarBoolFromUI8
+VarUI1FromI8
+VarUI1FromUI8
+VarDecFromI8
+VarDecFromUI8
+VarI1FromI8
+VarI1FromUI8
+VarUI2FromI8
+VarUI2FromUI8
+OleLoadPictureEx
+OleLoadPictureFileEx
+SafeArrayCreateVector
+SafeArrayCopyData
+VectorFromBstr
+BstrFromVector
+OleIconToCursor
+OleCreatePropertyFrameIndirect
+OleCreatePropertyFrame
+OleLoadPicture
+OleCreatePictureIndirect
+OleCreateFontIndirect
+OleTranslateColor
+OleLoadPictureFile
+OleSavePictureFile
+OleLoadPicturePath
+VarUI4FromI8
+VarUI4FromUI8
+VarI8FromUI8
+VarUI8FromI8
+VarUI8FromUI1
+VarUI8FromI2
+VarUI8FromR4
+VarUI8FromR8
+VarUI8FromCy
+VarUI8FromDate
+VarUI8FromStr
+VarUI8FromDisp
+VarUI8FromBool
+VarUI8FromI1
+VarUI8FromUI2
+VarUI8FromUI4
+VarUI8FromDec
+RegisterTypeLibForUser
+UnRegisterTypeLibForUser
diff --git a/mingw-w64-crt/lib64/olecli32.def b/mingw-w64-crt/lib64/olecli32.def
index eeade45..459b0ab 100644
--- a/mingw-w64-crt/lib64/olecli32.def
+++ b/mingw-w64-crt/lib64/olecli32.def
@@ -1,186 +1,186 @@
-; 
-; Exports of file OLECLI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLECLI32.dll
-EXPORTS
-WEP
-OleDelete
-OleSaveToStream
-OleLoadFromStream
-OleClone
-OleCopyFromLink
-OleEqual
-OleQueryLinkFromClip
-OleQueryCreateFromClip
-OleCreateLinkFromClip
-OleCreateFromClip
-OleCopyToClipboard
-OleQueryType
-OleSetHostNames
-OleSetTargetDevice
-OleSetBounds
-OleQueryBounds
-OleDraw
-OleQueryOpen
-OleActivate
-OleUpdate
-OleReconnect
-OleGetLinkUpdateOptions
-OleSetLinkUpdateOptions
-OleEnumFormats
-OleClose
-OleGetData
-OleSetData
-OleQueryProtocol
-OleQueryOutOfDate
-OleObjectConvert
-OleCreateFromTemplate
-OleCreate
-OleQueryReleaseStatus
-OleQueryReleaseError
-OleQueryReleaseMethod
-OleCreateFromFile
-OleCreateLinkFromFile
-OleRelease
-OleRegisterClientDoc
-OleRevokeClientDoc
-OleRenameClientDoc
-OleRevertClientDoc
-OleSavedClientDoc
-OleRename
-OleEnumObjects
-OleQueryName
-OleSetColorScheme
-OleRequestData
-OleLockServer
-OleUnlockServer
-OleQuerySize
-OleExecute
-OleCreateInvisible
-OleQueryClientVersion
-OleIsDcMeta
-DocWndProc
-SrvrWndProc
-MfCallbackFunc
-DefLoadFromStream
-DefCreateFromClip
-DefCreateLinkFromClip
-DefCreateFromTemplate
-DefCreate
-DefCreateFromFile
-DefCreateLinkFromFile
-DefCreateInvisible
-LeRelease
-LeShow
-LeGetData
-LeSetData
-LeSetHostNames
-LeSetTargetDevice
-LeSetBounds
-LeSaveToStream
-LeClone
-LeCopyFromLink
-LeEqual
-LeCopy
-LeQueryType
-LeQueryBounds
-LeDraw
-LeQueryOpen
-LeActivate
-LeUpdate
-LeReconnect
-LeEnumFormat
-LeQueryProtocol
-LeQueryOutOfDate
-LeObjectConvert
-LeChangeData
-LeClose
-LeGetUpdateOptions
-LeSetUpdateOptions
-LeExecute
-LeObjectLong
-LeCreateInvisible
-MfRelease
-MfGetData
-MfSaveToStream
-MfClone
-MfEqual
-MfCopy
-MfQueryBounds
-MfDraw
-MfEnumFormat
-MfChangeData
-BmRelease
-BmGetData
-BmSaveToStream
-BmClone
-BmEqual
-BmCopy
-BmQueryBounds
-BmDraw
-BmEnumFormat
-BmChangeData
-DibRelease
-DibGetData
-DibSaveToStream
-DibClone
-DibEqual
-DibCopy
-DibQueryBounds
-DibDraw
-DibEnumFormat
-DibChangeData
-GenRelease
-GenGetData
-GenSetData
-GenSaveToStream
-GenClone
-GenEqual
-GenCopy
-GenQueryBounds
-GenDraw
-GenEnumFormat
-GenChangeData
-ErrShow
-ErrSetData
-ErrSetHostNames
-ErrSetTargetDevice
-ErrSetBounds
-ErrCopyFromLink
-ErrQueryOpen
-ErrActivate
-ErrClose
-ErrUpdate
-ErrReconnect
-ErrQueryProtocol
-ErrQueryOutOfDate
-ErrObjectConvert
-ErrGetUpdateOptions
-ErrSetUpdateOptions
-ErrExecute
-ErrObjectLong
-PbLoadFromStream
-PbCreateFromClip
-PbCreateLinkFromClip
-PbCreateFromTemplate
-PbCreate
-PbDraw
-PbQueryBounds
-PbCopyToClipboard
-PbCreateFromFile
-PbCreateLinkFromFile
-PbEnumFormats
-PbGetData
-PbCreateInvisible
-ObjQueryName
-ObjRename
-ObjQueryType
-ObjQuerySize
-ConnectDlgProc
-SetNetName
-CheckNetDrive
-SetNextNetDrive
-GetTaskVisibleWindow
+; 
+; Exports of file OLECLI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLECLI32.dll
+EXPORTS
+WEP
+OleDelete
+OleSaveToStream
+OleLoadFromStream
+OleClone
+OleCopyFromLink
+OleEqual
+OleQueryLinkFromClip
+OleQueryCreateFromClip
+OleCreateLinkFromClip
+OleCreateFromClip
+OleCopyToClipboard
+OleQueryType
+OleSetHostNames
+OleSetTargetDevice
+OleSetBounds
+OleQueryBounds
+OleDraw
+OleQueryOpen
+OleActivate
+OleUpdate
+OleReconnect
+OleGetLinkUpdateOptions
+OleSetLinkUpdateOptions
+OleEnumFormats
+OleClose
+OleGetData
+OleSetData
+OleQueryProtocol
+OleQueryOutOfDate
+OleObjectConvert
+OleCreateFromTemplate
+OleCreate
+OleQueryReleaseStatus
+OleQueryReleaseError
+OleQueryReleaseMethod
+OleCreateFromFile
+OleCreateLinkFromFile
+OleRelease
+OleRegisterClientDoc
+OleRevokeClientDoc
+OleRenameClientDoc
+OleRevertClientDoc
+OleSavedClientDoc
+OleRename
+OleEnumObjects
+OleQueryName
+OleSetColorScheme
+OleRequestData
+OleLockServer
+OleUnlockServer
+OleQuerySize
+OleExecute
+OleCreateInvisible
+OleQueryClientVersion
+OleIsDcMeta
+DocWndProc
+SrvrWndProc
+MfCallbackFunc
+DefLoadFromStream
+DefCreateFromClip
+DefCreateLinkFromClip
+DefCreateFromTemplate
+DefCreate
+DefCreateFromFile
+DefCreateLinkFromFile
+DefCreateInvisible
+LeRelease
+LeShow
+LeGetData
+LeSetData
+LeSetHostNames
+LeSetTargetDevice
+LeSetBounds
+LeSaveToStream
+LeClone
+LeCopyFromLink
+LeEqual
+LeCopy
+LeQueryType
+LeQueryBounds
+LeDraw
+LeQueryOpen
+LeActivate
+LeUpdate
+LeReconnect
+LeEnumFormat
+LeQueryProtocol
+LeQueryOutOfDate
+LeObjectConvert
+LeChangeData
+LeClose
+LeGetUpdateOptions
+LeSetUpdateOptions
+LeExecute
+LeObjectLong
+LeCreateInvisible
+MfRelease
+MfGetData
+MfSaveToStream
+MfClone
+MfEqual
+MfCopy
+MfQueryBounds
+MfDraw
+MfEnumFormat
+MfChangeData
+BmRelease
+BmGetData
+BmSaveToStream
+BmClone
+BmEqual
+BmCopy
+BmQueryBounds
+BmDraw
+BmEnumFormat
+BmChangeData
+DibRelease
+DibGetData
+DibSaveToStream
+DibClone
+DibEqual
+DibCopy
+DibQueryBounds
+DibDraw
+DibEnumFormat
+DibChangeData
+GenRelease
+GenGetData
+GenSetData
+GenSaveToStream
+GenClone
+GenEqual
+GenCopy
+GenQueryBounds
+GenDraw
+GenEnumFormat
+GenChangeData
+ErrShow
+ErrSetData
+ErrSetHostNames
+ErrSetTargetDevice
+ErrSetBounds
+ErrCopyFromLink
+ErrQueryOpen
+ErrActivate
+ErrClose
+ErrUpdate
+ErrReconnect
+ErrQueryProtocol
+ErrQueryOutOfDate
+ErrObjectConvert
+ErrGetUpdateOptions
+ErrSetUpdateOptions
+ErrExecute
+ErrObjectLong
+PbLoadFromStream
+PbCreateFromClip
+PbCreateLinkFromClip
+PbCreateFromTemplate
+PbCreate
+PbDraw
+PbQueryBounds
+PbCopyToClipboard
+PbCreateFromFile
+PbCreateLinkFromFile
+PbEnumFormats
+PbGetData
+PbCreateInvisible
+ObjQueryName
+ObjRename
+ObjQueryType
+ObjQuerySize
+ConnectDlgProc
+SetNetName
+CheckNetDrive
+SetNextNetDrive
+GetTaskVisibleWindow
diff --git a/mingw-w64-crt/lib64/olecnv32.def b/mingw-w64-crt/lib64/olecnv32.def
index 685dcbf..fc2c409 100644
--- a/mingw-w64-crt/lib64/olecnv32.def
+++ b/mingw-w64-crt/lib64/olecnv32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file OLECNV32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLECNV32.dll
-EXPORTS
-QD2GDI
+; 
+; Exports of file OLECNV32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLECNV32.dll
+EXPORTS
+QD2GDI
diff --git a/mingw-w64-crt/lib64/oledb32.def b/mingw-w64-crt/lib64/oledb32.def
index 0bf2f32..ce742e7 100644
--- a/mingw-w64-crt/lib64/oledb32.def
+++ b/mingw-w64-crt/lib64/oledb32.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file OLEDB32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLEDB32.dll
-EXPORTS
-DllMain
-OpenDSLFile
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OLEDB32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLEDB32.dll
+EXPORTS
+DllMain
+OpenDSLFile
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/oledb32r.def b/mingw-w64-crt/lib64/oledb32r.def
index ae94839..25fef23 100644
--- a/mingw-w64-crt/lib64/oledb32r.def
+++ b/mingw-w64-crt/lib64/oledb32r.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file OLEDB32R.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLEDB32R.dll
-EXPORTS
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OLEDB32R.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLEDB32R.dll
+EXPORTS
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/oledlg.def b/mingw-w64-crt/lib64/oledlg.def
index f57aabe..cc99de2 100644
--- a/mingw-w64-crt/lib64/oledlg.def
+++ b/mingw-w64-crt/lib64/oledlg.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file oledlg.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY oledlg.dll
-EXPORTS
-OleUIAddVerbMenuA
-OleUICanConvertOrActivateAs
-OleUIInsertObjectA
-OleUIPasteSpecialA
-OleUIEditLinksA
-OleUIChangeIconA
-OleUIConvertA
-OleUIBusyA
-OleUIUpdateLinksA
-OleUIPromptUserA
-OleUIObjectPropertiesA
-OleUIChangeSourceA
-OleUIAddVerbMenuW
-OleUIBusyW
-OleUIChangeIconW
-OleUIChangeSourceW
-OleUIConvertW
-OleUIEditLinksW
-OleUIInsertObjectW
-OleUIObjectPropertiesW
-OleUIPasteSpecialW
-OleUIPromptUserW
-OleUIUpdateLinksW
+; 
+; Exports of file oledlg.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY oledlg.dll
+EXPORTS
+OleUIAddVerbMenuA
+OleUICanConvertOrActivateAs
+OleUIInsertObjectA
+OleUIPasteSpecialA
+OleUIEditLinksA
+OleUIChangeIconA
+OleUIConvertA
+OleUIBusyA
+OleUIUpdateLinksA
+OleUIPromptUserA
+OleUIObjectPropertiesA
+OleUIChangeSourceA
+OleUIAddVerbMenuW
+OleUIBusyW
+OleUIChangeIconW
+OleUIChangeSourceW
+OleUIConvertW
+OleUIEditLinksW
+OleUIInsertObjectW
+OleUIObjectPropertiesW
+OleUIPasteSpecialW
+OleUIPromptUserW
+OleUIUpdateLinksW
diff --git a/mingw-w64-crt/lib64/oleprn.def b/mingw-w64-crt/lib64/oleprn.def
index fe9edf5..c704ae6 100644
--- a/mingw-w64-crt/lib64/oleprn.def
+++ b/mingw-w64-crt/lib64/oleprn.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file oleprn.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY oleprn.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file oleprn.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY oleprn.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/olesvr32.def b/mingw-w64-crt/lib64/olesvr32.def
index 3ff4913..02ef669 100644
--- a/mingw-w64-crt/lib64/olesvr32.def
+++ b/mingw-w64-crt/lib64/olesvr32.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file OLESVR32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLESVR32.dll
-EXPORTS
-WEP
-OleRegisterServer
-OleRevokeServer
-OleBlockServer
-OleUnblockServer
-OleRegisterServerDoc
-OleRevokeServerDoc
-OleRenameServerDoc
-OleRevertServerDoc
-OleSavedServerDoc
-OleRevokeObject
-OleQueryServerVersion
-SrvrWndProc
-DocWndProc
-ItemWndProc
-SendDataMsg
-FindItemWnd
-ItemCallBack
-TerminateClients
-TerminateDocClients
-DeleteClientInfo
-SendRenameMsg
-EnumForTerminate
+; 
+; Exports of file OLESVR32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLESVR32.dll
+EXPORTS
+WEP
+OleRegisterServer
+OleRevokeServer
+OleBlockServer
+OleUnblockServer
+OleRegisterServerDoc
+OleRevokeServerDoc
+OleRenameServerDoc
+OleRevertServerDoc
+OleSavedServerDoc
+OleRevokeObject
+OleQueryServerVersion
+SrvrWndProc
+DocWndProc
+ItemWndProc
+SendDataMsg
+FindItemWnd
+ItemCallBack
+TerminateClients
+TerminateDocClients
+DeleteClientInfo
+SendRenameMsg
+EnumForTerminate
diff --git a/mingw-w64-crt/lib64/opengl32.def b/mingw-w64-crt/lib64/opengl32.def
index 34c8982..2111eb0 100644
--- a/mingw-w64-crt/lib64/opengl32.def
+++ b/mingw-w64-crt/lib64/opengl32.def
@@ -1,376 +1,376 @@
-; 
-; Exports of file OPENGL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OPENGL32.dll
-EXPORTS
-GlmfBeginGlsBlock
-GlmfCloseMetaFile
-GlmfEndGlsBlock
-GlmfEndPlayback
-GlmfInitPlayback
-GlmfPlayGlsRecord
-glAccum
-glAlphaFunc
-glAreTexturesResident
-glArrayElement
-glBegin
-glBindTexture
-glBitmap
-glBlendFunc
-glCallList
-glCallLists
-glClear
-glClearAccum
-glClearColor
-glClearDepth
-glClearIndex
-glClearStencil
-glClipPlane
-glColor3b
-glColor3bv
-glColor3d
-glColor3dv
-glColor3f
-glColor3fv
-glColor3i
-glColor3iv
-glColor3s
-glColor3sv
-glColor3ub
-glColor3ubv
-glColor3ui
-glColor3uiv
-glColor3us
-glColor3usv
-glColor4b
-glColor4bv
-glColor4d
-glColor4dv
-glColor4f
-glColor4fv
-glColor4i
-glColor4iv
-glColor4s
-glColor4sv
-glColor4ub
-glColor4ubv
-glColor4ui
-glColor4uiv
-glColor4us
-glColor4usv
-glColorMask
-glColorMaterial
-glColorPointer
-glCopyPixels
-glCopyTexImage1D
-glCopyTexImage2D
-glCopyTexSubImage1D
-glCopyTexSubImage2D
-glCullFace
-glDebugEntry
-glDeleteLists
-glDeleteTextures
-glDepthFunc
-glDepthMask
-glDepthRange
-glDisable
-glDisableClientState
-glDrawArrays
-glDrawBuffer
-glDrawElements
-glDrawPixels
-glEdgeFlag
-glEdgeFlagPointer
-glEdgeFlagv
-glEnable
-glEnableClientState
-glEnd
-glEndList
-glEvalCoord1d
-glEvalCoord1dv
-glEvalCoord1f
-glEvalCoord1fv
-glEvalCoord2d
-glEvalCoord2dv
-glEvalCoord2f
-glEvalCoord2fv
-glEvalMesh1
-glEvalMesh2
-glEvalPoint1
-glEvalPoint2
-glFeedbackBuffer
-glFinish
-glFlush
-glFogf
-glFogfv
-glFogi
-glFogiv
-glFrontFace
-glFrustum
-glGenLists
-glGenTextures
-glGetBooleanv
-glGetClipPlane
-glGetDoublev
-glGetError
-glGetFloatv
-glGetIntegerv
-glGetLightfv
-glGetLightiv
-glGetMapdv
-glGetMapfv
-glGetMapiv
-glGetMaterialfv
-glGetMaterialiv
-glGetPixelMapfv
-glGetPixelMapuiv
-glGetPixelMapusv
-glGetPointerv
-glGetPolygonStipple
-glGetString
-glGetTexEnvfv
-glGetTexEnviv
-glGetTexGendv
-glGetTexGenfv
-glGetTexGeniv
-glGetTexImage
-glGetTexLevelParameterfv
-glGetTexLevelParameteriv
-glGetTexParameterfv
-glGetTexParameteriv
-glHint
-glIndexMask
-glIndexPointer
-glIndexd
-glIndexdv
-glIndexf
-glIndexfv
-glIndexi
-glIndexiv
-glIndexs
-glIndexsv
-glIndexub
-glIndexubv
-glInitNames
-glInterleavedArrays
-glIsEnabled
-glIsList
-glIsTexture
-glLightModelf
-glLightModelfv
-glLightModeli
-glLightModeliv
-glLightf
-glLightfv
-glLighti
-glLightiv
-glLineStipple
-glLineWidth
-glListBase
-glLoadIdentity
-glLoadMatrixd
-glLoadMatrixf
-glLoadName
-glLogicOp
-glMap1d
-glMap1f
-glMap2d
-glMap2f
-glMapGrid1d
-glMapGrid1f
-glMapGrid2d
-glMapGrid2f
-glMaterialf
-glMaterialfv
-glMateriali
-glMaterialiv
-glMatrixMode
-glMultMatrixd
-glMultMatrixf
-glNewList
-glNormal3b
-glNormal3bv
-glNormal3d
-glNormal3dv
-glNormal3f
-glNormal3fv
-glNormal3i
-glNormal3iv
-glNormal3s
-glNormal3sv
-glNormalPointer
-glOrtho
-glPassThrough
-glPixelMapfv
-glPixelMapuiv
-glPixelMapusv
-glPixelStoref
-glPixelStorei
-glPixelTransferf
-glPixelTransferi
-glPixelZoom
-glPointSize
-glPolygonMode
-glPolygonOffset
-glPolygonStipple
-glPopAttrib
-glPopClientAttrib
-glPopMatrix
-glPopName
-glPrioritizeTextures
-glPushAttrib
-glPushClientAttrib
-glPushMatrix
-glPushName
-glRasterPos2d
-glRasterPos2dv
-glRasterPos2f
-glRasterPos2fv
-glRasterPos2i
-glRasterPos2iv
-glRasterPos2s
-glRasterPos2sv
-glRasterPos3d
-glRasterPos3dv
-glRasterPos3f
-glRasterPos3fv
-glRasterPos3i
-glRasterPos3iv
-glRasterPos3s
-glRasterPos3sv
-glRasterPos4d
-glRasterPos4dv
-glRasterPos4f
-glRasterPos4fv
-glRasterPos4i
-glRasterPos4iv
-glRasterPos4s
-glRasterPos4sv
-glReadBuffer
-glReadPixels
-glRectd
-glRectdv
-glRectf
-glRectfv
-glRecti
-glRectiv
-glRects
-glRectsv
-glRenderMode
-glRotated
-glRotatef
-glScaled
-glScalef
-glScissor
-glSelectBuffer
-glShadeModel
-glStencilFunc
-glStencilMask
-glStencilOp
-glTexCoord1d
-glTexCoord1dv
-glTexCoord1f
-glTexCoord1fv
-glTexCoord1i
-glTexCoord1iv
-glTexCoord1s
-glTexCoord1sv
-glTexCoord2d
-glTexCoord2dv
-glTexCoord2f
-glTexCoord2fv
-glTexCoord2i
-glTexCoord2iv
-glTexCoord2s
-glTexCoord2sv
-glTexCoord3d
-glTexCoord3dv
-glTexCoord3f
-glTexCoord3fv
-glTexCoord3i
-glTexCoord3iv
-glTexCoord3s
-glTexCoord3sv
-glTexCoord4d
-glTexCoord4dv
-glTexCoord4f
-glTexCoord4fv
-glTexCoord4i
-glTexCoord4iv
-glTexCoord4s
-glTexCoord4sv
-glTexCoordPointer
-glTexEnvf
-glTexEnvfv
-glTexEnvi
-glTexEnviv
-glTexGend
-glTexGendv
-glTexGenf
-glTexGenfv
-glTexGeni
-glTexGeniv
-glTexImage1D
-glTexImage2D
-glTexParameterf
-glTexParameterfv
-glTexParameteri
-glTexParameteriv
-glTexSubImage1D
-glTexSubImage2D
-glTranslated
-glTranslatef
-glVertex2d
-glVertex2dv
-glVertex2f
-glVertex2fv
-glVertex2i
-glVertex2iv
-glVertex2s
-glVertex2sv
-glVertex3d
-glVertex3dv
-glVertex3f
-glVertex3fv
-glVertex3i
-glVertex3iv
-glVertex3s
-glVertex3sv
-glVertex4d
-glVertex4dv
-glVertex4f
-glVertex4fv
-glVertex4i
-glVertex4iv
-glVertex4s
-glVertex4sv
-glVertexPointer
-glViewport
-wglChoosePixelFormat
-wglCopyContext
-wglCreateContext
-wglCreateLayerContext
-wglDeleteContext
-wglDescribeLayerPlane
-wglDescribePixelFormat
-wglGetCurrentContext
-wglGetCurrentDC
-wglGetDefaultProcAddress
-wglGetLayerPaletteEntries
-wglGetPixelFormat
-wglGetProcAddress
-wglMakeCurrent
-wglRealizeLayerPalette
-wglSetLayerPaletteEntries
-wglSetPixelFormat
-wglShareLists
-wglSwapBuffers
-wglSwapLayerBuffers
-wglSwapMultipleBuffers
-wglUseFontBitmapsA
-wglUseFontBitmapsW
-wglUseFontOutlinesA
-wglUseFontOutlinesW
+; 
+; Exports of file OPENGL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OPENGL32.dll
+EXPORTS
+GlmfBeginGlsBlock
+GlmfCloseMetaFile
+GlmfEndGlsBlock
+GlmfEndPlayback
+GlmfInitPlayback
+GlmfPlayGlsRecord
+glAccum
+glAlphaFunc
+glAreTexturesResident
+glArrayElement
+glBegin
+glBindTexture
+glBitmap
+glBlendFunc
+glCallList
+glCallLists
+glClear
+glClearAccum
+glClearColor
+glClearDepth
+glClearIndex
+glClearStencil
+glClipPlane
+glColor3b
+glColor3bv
+glColor3d
+glColor3dv
+glColor3f
+glColor3fv
+glColor3i
+glColor3iv
+glColor3s
+glColor3sv
+glColor3ub
+glColor3ubv
+glColor3ui
+glColor3uiv
+glColor3us
+glColor3usv
+glColor4b
+glColor4bv
+glColor4d
+glColor4dv
+glColor4f
+glColor4fv
+glColor4i
+glColor4iv
+glColor4s
+glColor4sv
+glColor4ub
+glColor4ubv
+glColor4ui
+glColor4uiv
+glColor4us
+glColor4usv
+glColorMask
+glColorMaterial
+glColorPointer
+glCopyPixels
+glCopyTexImage1D
+glCopyTexImage2D
+glCopyTexSubImage1D
+glCopyTexSubImage2D
+glCullFace
+glDebugEntry
+glDeleteLists
+glDeleteTextures
+glDepthFunc
+glDepthMask
+glDepthRange
+glDisable
+glDisableClientState
+glDrawArrays
+glDrawBuffer
+glDrawElements
+glDrawPixels
+glEdgeFlag
+glEdgeFlagPointer
+glEdgeFlagv
+glEnable
+glEnableClientState
+glEnd
+glEndList
+glEvalCoord1d
+glEvalCoord1dv
+glEvalCoord1f
+glEvalCoord1fv
+glEvalCoord2d
+glEvalCoord2dv
+glEvalCoord2f
+glEvalCoord2fv
+glEvalMesh1
+glEvalMesh2
+glEvalPoint1
+glEvalPoint2
+glFeedbackBuffer
+glFinish
+glFlush
+glFogf
+glFogfv
+glFogi
+glFogiv
+glFrontFace
+glFrustum
+glGenLists
+glGenTextures
+glGetBooleanv
+glGetClipPlane
+glGetDoublev
+glGetError
+glGetFloatv
+glGetIntegerv
+glGetLightfv
+glGetLightiv
+glGetMapdv
+glGetMapfv
+glGetMapiv
+glGetMaterialfv
+glGetMaterialiv
+glGetPixelMapfv
+glGetPixelMapuiv
+glGetPixelMapusv
+glGetPointerv
+glGetPolygonStipple
+glGetString
+glGetTexEnvfv
+glGetTexEnviv
+glGetTexGendv
+glGetTexGenfv
+glGetTexGeniv
+glGetTexImage
+glGetTexLevelParameterfv
+glGetTexLevelParameteriv
+glGetTexParameterfv
+glGetTexParameteriv
+glHint
+glIndexMask
+glIndexPointer
+glIndexd
+glIndexdv
+glIndexf
+glIndexfv
+glIndexi
+glIndexiv
+glIndexs
+glIndexsv
+glIndexub
+glIndexubv
+glInitNames
+glInterleavedArrays
+glIsEnabled
+glIsList
+glIsTexture
+glLightModelf
+glLightModelfv
+glLightModeli
+glLightModeliv
+glLightf
+glLightfv
+glLighti
+glLightiv
+glLineStipple
+glLineWidth
+glListBase
+glLoadIdentity
+glLoadMatrixd
+glLoadMatrixf
+glLoadName
+glLogicOp
+glMap1d
+glMap1f
+glMap2d
+glMap2f
+glMapGrid1d
+glMapGrid1f
+glMapGrid2d
+glMapGrid2f
+glMaterialf
+glMaterialfv
+glMateriali
+glMaterialiv
+glMatrixMode
+glMultMatrixd
+glMultMatrixf
+glNewList
+glNormal3b
+glNormal3bv
+glNormal3d
+glNormal3dv
+glNormal3f
+glNormal3fv
+glNormal3i
+glNormal3iv
+glNormal3s
+glNormal3sv
+glNormalPointer
+glOrtho
+glPassThrough
+glPixelMapfv
+glPixelMapuiv
+glPixelMapusv
+glPixelStoref
+glPixelStorei
+glPixelTransferf
+glPixelTransferi
+glPixelZoom
+glPointSize
+glPolygonMode
+glPolygonOffset
+glPolygonStipple
+glPopAttrib
+glPopClientAttrib
+glPopMatrix
+glPopName
+glPrioritizeTextures
+glPushAttrib
+glPushClientAttrib
+glPushMatrix
+glPushName
+glRasterPos2d
+glRasterPos2dv
+glRasterPos2f
+glRasterPos2fv
+glRasterPos2i
+glRasterPos2iv
+glRasterPos2s
+glRasterPos2sv
+glRasterPos3d
+glRasterPos3dv
+glRasterPos3f
+glRasterPos3fv
+glRasterPos3i
+glRasterPos3iv
+glRasterPos3s
+glRasterPos3sv
+glRasterPos4d
+glRasterPos4dv
+glRasterPos4f
+glRasterPos4fv
+glRasterPos4i
+glRasterPos4iv
+glRasterPos4s
+glRasterPos4sv
+glReadBuffer
+glReadPixels
+glRectd
+glRectdv
+glRectf
+glRectfv
+glRecti
+glRectiv
+glRects
+glRectsv
+glRenderMode
+glRotated
+glRotatef
+glScaled
+glScalef
+glScissor
+glSelectBuffer
+glShadeModel
+glStencilFunc
+glStencilMask
+glStencilOp
+glTexCoord1d
+glTexCoord1dv
+glTexCoord1f
+glTexCoord1fv
+glTexCoord1i
+glTexCoord1iv
+glTexCoord1s
+glTexCoord1sv
+glTexCoord2d
+glTexCoord2dv
+glTexCoord2f
+glTexCoord2fv
+glTexCoord2i
+glTexCoord2iv
+glTexCoord2s
+glTexCoord2sv
+glTexCoord3d
+glTexCoord3dv
+glTexCoord3f
+glTexCoord3fv
+glTexCoord3i
+glTexCoord3iv
+glTexCoord3s
+glTexCoord3sv
+glTexCoord4d
+glTexCoord4dv
+glTexCoord4f
+glTexCoord4fv
+glTexCoord4i
+glTexCoord4iv
+glTexCoord4s
+glTexCoord4sv
+glTexCoordPointer
+glTexEnvf
+glTexEnvfv
+glTexEnvi
+glTexEnviv
+glTexGend
+glTexGendv
+glTexGenf
+glTexGenfv
+glTexGeni
+glTexGeniv
+glTexImage1D
+glTexImage2D
+glTexParameterf
+glTexParameterfv
+glTexParameteri
+glTexParameteriv
+glTexSubImage1D
+glTexSubImage2D
+glTranslated
+glTranslatef
+glVertex2d
+glVertex2dv
+glVertex2f
+glVertex2fv
+glVertex2i
+glVertex2iv
+glVertex2s
+glVertex2sv
+glVertex3d
+glVertex3dv
+glVertex3f
+glVertex3fv
+glVertex3i
+glVertex3iv
+glVertex3s
+glVertex3sv
+glVertex4d
+glVertex4dv
+glVertex4f
+glVertex4fv
+glVertex4i
+glVertex4iv
+glVertex4s
+glVertex4sv
+glVertexPointer
+glViewport
+wglChoosePixelFormat
+wglCopyContext
+wglCreateContext
+wglCreateLayerContext
+wglDeleteContext
+wglDescribeLayerPlane
+wglDescribePixelFormat
+wglGetCurrentContext
+wglGetCurrentDC
+wglGetDefaultProcAddress
+wglGetLayerPaletteEntries
+wglGetPixelFormat
+wglGetProcAddress
+wglMakeCurrent
+wglRealizeLayerPalette
+wglSetLayerPaletteEntries
+wglSetPixelFormat
+wglShareLists
+wglSwapBuffers
+wglSwapLayerBuffers
+wglSwapMultipleBuffers
+wglUseFontBitmapsA
+wglUseFontBitmapsW
+wglUseFontOutlinesA
+wglUseFontOutlinesW
diff --git a/mingw-w64-crt/lib64/osuninst.def b/mingw-w64-crt/lib64/osuninst.def
index 3fe4cae..d655e67 100644
--- a/mingw-w64-crt/lib64/osuninst.def
+++ b/mingw-w64-crt/lib64/osuninst.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file OSUNINST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OSUNINST.dll
-EXPORTS
-ExecuteUninstall
-GetUninstallImageSize
-IsUninstallImageValid
-ProvideUiAlerts
-RemoveUninstallImage
+; 
+; Exports of file OSUNINST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OSUNINST.dll
+EXPORTS
+ExecuteUninstall
+GetUninstallImageSize
+IsUninstallImageValid
+ProvideUiAlerts
+RemoveUninstallImage
diff --git a/mingw-w64-crt/lib64/ovprintmondll.def b/mingw-w64-crt/lib64/ovprintmondll.def
index 49e1eb4..4c4b40b 100644
--- a/mingw-w64-crt/lib64/ovprintmondll.def
+++ b/mingw-w64-crt/lib64/ovprintmondll.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ovprintmondll.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ovprintmondll.dll
-EXPORTS
-DllMain
-InitializePrintMonitor
+; 
+; Exports of file ovprintmondll.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ovprintmondll.dll
+EXPORTS
+DllMain
+InitializePrintMonitor
diff --git a/mingw-w64-crt/lib64/padrs404.def b/mingw-w64-crt/lib64/padrs404.def
index 3033285..68bd4b5 100644
--- a/mingw-w64-crt/lib64/padrs404.def
+++ b/mingw-w64-crt/lib64/padrs404.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file resmain.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY resmain.dll
-EXPORTS
-PadHelp_HandleContextPopup
-PadHelp_HandleHelp
+; 
+; Exports of file resmain.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY resmain.dll
+EXPORTS
+PadHelp_HandleContextPopup
+PadHelp_HandleHelp
diff --git a/mingw-w64-crt/lib64/padrs411.def b/mingw-w64-crt/lib64/padrs411.def
index 3033285..68bd4b5 100644
--- a/mingw-w64-crt/lib64/padrs411.def
+++ b/mingw-w64-crt/lib64/padrs411.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file resmain.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY resmain.dll
-EXPORTS
-PadHelp_HandleContextPopup
-PadHelp_HandleHelp
+; 
+; Exports of file resmain.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY resmain.dll
+EXPORTS
+PadHelp_HandleContextPopup
+PadHelp_HandleHelp
diff --git a/mingw-w64-crt/lib64/padrs412.def b/mingw-w64-crt/lib64/padrs412.def
index 3033285..68bd4b5 100644
--- a/mingw-w64-crt/lib64/padrs412.def
+++ b/mingw-w64-crt/lib64/padrs412.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file resmain.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY resmain.dll
-EXPORTS
-PadHelp_HandleContextPopup
-PadHelp_HandleHelp
+; 
+; Exports of file resmain.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY resmain.dll
+EXPORTS
+PadHelp_HandleContextPopup
+PadHelp_HandleHelp
diff --git a/mingw-w64-crt/lib64/padrs804.def b/mingw-w64-crt/lib64/padrs804.def
index 5180b41..71a6475 100644
--- a/mingw-w64-crt/lib64/padrs804.def
+++ b/mingw-w64-crt/lib64/padrs804.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file RESMAIN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RESMAIN.dll
-EXPORTS
-PadHelp_HandleContextPopup
-PadHelp_HandleHelp
+; 
+; Exports of file RESMAIN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RESMAIN.dll
+EXPORTS
+PadHelp_HandleContextPopup
+PadHelp_HandleHelp
diff --git a/mingw-w64-crt/lib64/panmap.def b/mingw-w64-crt/lib64/panmap.def
index a4bdb6e..0ce5fe4 100644
--- a/mingw-w64-crt/lib64/panmap.def
+++ b/mingw-w64-crt/lib64/panmap.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file panmap.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY panmap.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file panmap.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY panmap.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/pautoenr.def b/mingw-w64-crt/lib64/pautoenr.def
index e2621c5..3fbe4f5 100644
--- a/mingw-w64-crt/lib64/pautoenr.def
+++ b/mingw-w64-crt/lib64/pautoenr.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PAUTOENR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PAUTOENR.dll
-EXPORTS
-CertAutoEnrollment
-CertAutoRemove
-ProvAutoEnrollment
+; 
+; Exports of file PAUTOENR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PAUTOENR.dll
+EXPORTS
+CertAutoEnrollment
+CertAutoRemove
+ProvAutoEnrollment
diff --git a/mingw-w64-crt/lib64/pchshell.def b/mingw-w64-crt/lib64/pchshell.def
index dfe8770..44680f2 100644
--- a/mingw-w64-crt/lib64/pchshell.def
+++ b/mingw-w64-crt/lib64/pchshell.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file marscore.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY marscore.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file marscore.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY marscore.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/pchsvc.def b/mingw-w64-crt/lib64/pchsvc.def
index ce979f6..555ed44 100644
--- a/mingw-w64-crt/lib64/pchsvc.def
+++ b/mingw-w64-crt/lib64/pchsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file pchsvc.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY pchsvc.DLL
-EXPORTS
-ServiceMain
+; 
+; Exports of file pchsvc.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY pchsvc.DLL
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/pdh.def b/mingw-w64-crt/lib64/pdh.def
index b1bc8e2..3fc47ba 100644
--- a/mingw-w64-crt/lib64/pdh.def
+++ b/mingw-w64-crt/lib64/pdh.def
@@ -1,167 +1,167 @@
-; 
-; Exports of file pdh.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY pdh.dll
-EXPORTS
-PdhPlaGetLogFileNameA
-DllInstall
-PdhAdd009CounterA
-PdhAdd009CounterW
-PdhAddCounterA
-PdhAddCounterW
-PdhBindInputDataSourceA
-PdhBindInputDataSourceW
-PdhBrowseCountersA
-PdhBrowseCountersHA
-PdhBrowseCountersHW
-PdhBrowseCountersW
-PdhCalculateCounterFromRawValue
-PdhCloseLog
-PdhCloseQuery
-PdhCollectQueryData
-PdhCollectQueryDataEx
-PdhComputeCounterStatistics
-PdhConnectMachineA
-PdhConnectMachineW
-PdhCreateSQLTablesA
-PdhCreateSQLTablesW
-PdhEnumLogSetNamesA
-PdhEnumLogSetNamesW
-PdhEnumMachinesA
-PdhEnumMachinesHA
-PdhEnumMachinesHW
-PdhEnumMachinesW
-PdhEnumObjectItemsA
-PdhEnumObjectItemsHA
-PdhEnumObjectItemsHW
-PdhEnumObjectItemsW
-PdhEnumObjectsA
-PdhEnumObjectsHA
-PdhEnumObjectsHW
-PdhEnumObjectsW
-PdhExpandCounterPathA
-PdhExpandCounterPathW
-PdhExpandWildCardPathA
-PdhExpandWildCardPathHA
-PdhExpandWildCardPathHW
-PdhExpandWildCardPathW
-PdhFormatFromRawValue
-PdhGetCounterInfoA
-PdhGetCounterInfoW
-PdhGetCounterTimeBase
-PdhGetDataSourceTimeRangeA
-PdhGetDataSourceTimeRangeH
-PdhGetDataSourceTimeRangeW
-PdhGetDefaultPerfCounterA
-PdhGetDefaultPerfCounterHA
-PdhGetDefaultPerfCounterHW
-PdhGetDefaultPerfCounterW
-PdhGetDefaultPerfObjectA
-PdhGetDefaultPerfObjectHA
-PdhGetDefaultPerfObjectHW
-PdhGetDefaultPerfObjectW
-PdhGetDllVersion
-PdhGetFormattedCounterArrayA
-PdhGetFormattedCounterArrayW
-PdhGetFormattedCounterValue
-PdhGetLogFileSize
-PdhGetLogFileTypeA
-PdhGetLogFileTypeW
-PdhGetLogSetGUID
-PdhGetRawCounterArrayA
-PdhGetRawCounterArrayW
-PdhGetRawCounterValue
-PdhIsRealTimeQuery
-PdhListLogFileHeaderA
-PdhListLogFileHeaderW
-PdhLookupPerfIndexByNameA
-PdhLookupPerfIndexByNameW
-PdhLookupPerfNameByIndexA
-PdhLookupPerfNameByIndexW
-PdhMakeCounterPathA
-PdhMakeCounterPathW
-PdhOpenLogA
-PdhOpenLogW
-PdhOpenQuery
-PdhOpenQueryA
-PdhOpenQueryH
-PdhOpenQueryW
-PdhParseCounterPathA
-PdhParseCounterPathW
-PdhParseInstanceNameA
-PdhParseInstanceNameW
-PdhPlaAddItemA
-PdhPlaAddItemW
-PdhPlaCreateA
-PdhPlaCreateW
-PdhPlaDeleteA
-PdhPlaDeleteW
-PdhPlaDowngradeW
-PdhPlaEnumCollectionsA
-PdhPlaEnumCollectionsW
-PdhPlaGetInfoA
-PdhPlaGetInfoW
-PdhPlaGetLogFileNameW
-PdhPlaGetScheduleA
-PdhPlaGetScheduleW
-PdhPlaRemoveAllItemsA
-PdhPlaRemoveAllItemsW
-PdhPlaScheduleA
-PdhPlaScheduleW
-PdhPlaSetInfoA
-PdhPlaSetInfoW
-PdhPlaSetItemListA
-PdhPlaSetItemListW
-PdhPlaSetRunAsA
-PdhPlaSetRunAsW
-PdhPlaStartA
-PdhPlaStartW
-PdhPlaStopA
-PdhPlaStopW
-PdhPlaUpgradeW
-PdhPlaValidateInfoA
-PdhPlaValidateInfoW
-PdhReadRawLogRecord
-PdhRelogA
-PdhRelogW
-PdhRemoveCounter
-PdhSelectDataSourceA
-PdhSelectDataSourceW
-PdhSetCounterScaleFactor
-PdhSetDefaultRealTimeDataSource
-PdhSetLogSetRunID
-PdhSetQueryTimeRange
-PdhTranslate009CounterA
-PdhTranslate009CounterW
-PdhTranslateLocaleCounterA
-PdhTranslateLocaleCounterW
-PdhUpdateLogA
-PdhUpdateLogFileCatalog
-PdhUpdateLogW
-PdhValidatePathA
-PdhValidatePathW
-PdhVbAddCounter
-PdhVbCreateCounterPathList
-PdhVbGetCounterPathElements
-PdhVbGetCounterPathFromList
-PdhVbGetDoubleCounterValue
-PdhVbGetLogFileSize
-PdhVbGetOneCounterPath
-PdhVbIsGoodStatus
-PdhVbOpenLog
-PdhVbOpenQuery
-PdhVbUpdateLog
-PdhVerifySQLDBA
-PdhVerifySQLDBW
-PdhiPla2003SP1Installed
-PdhiPlaDowngrade
-PdhiPlaFormatBlanksA
-PdhiPlaFormatBlanksW
-PdhiPlaGetVersion
-PdhiPlaRunAs
-PdhiPlaSetRunAs
-PdhiPlaUpgrade
-PlaTimeInfoToMilliSeconds
+; 
+; Exports of file pdh.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY pdh.dll
+EXPORTS
+PdhPlaGetLogFileNameA
+DllInstall
+PdhAdd009CounterA
+PdhAdd009CounterW
+PdhAddCounterA
+PdhAddCounterW
+PdhBindInputDataSourceA
+PdhBindInputDataSourceW
+PdhBrowseCountersA
+PdhBrowseCountersHA
+PdhBrowseCountersHW
+PdhBrowseCountersW
+PdhCalculateCounterFromRawValue
+PdhCloseLog
+PdhCloseQuery
+PdhCollectQueryData
+PdhCollectQueryDataEx
+PdhComputeCounterStatistics
+PdhConnectMachineA
+PdhConnectMachineW
+PdhCreateSQLTablesA
+PdhCreateSQLTablesW
+PdhEnumLogSetNamesA
+PdhEnumLogSetNamesW
+PdhEnumMachinesA
+PdhEnumMachinesHA
+PdhEnumMachinesHW
+PdhEnumMachinesW
+PdhEnumObjectItemsA
+PdhEnumObjectItemsHA
+PdhEnumObjectItemsHW
+PdhEnumObjectItemsW
+PdhEnumObjectsA
+PdhEnumObjectsHA
+PdhEnumObjectsHW
+PdhEnumObjectsW
+PdhExpandCounterPathA
+PdhExpandCounterPathW
+PdhExpandWildCardPathA
+PdhExpandWildCardPathHA
+PdhExpandWildCardPathHW
+PdhExpandWildCardPathW
+PdhFormatFromRawValue
+PdhGetCounterInfoA
+PdhGetCounterInfoW
+PdhGetCounterTimeBase
+PdhGetDataSourceTimeRangeA
+PdhGetDataSourceTimeRangeH
+PdhGetDataSourceTimeRangeW
+PdhGetDefaultPerfCounterA
+PdhGetDefaultPerfCounterHA
+PdhGetDefaultPerfCounterHW
+PdhGetDefaultPerfCounterW
+PdhGetDefaultPerfObjectA
+PdhGetDefaultPerfObjectHA
+PdhGetDefaultPerfObjectHW
+PdhGetDefaultPerfObjectW
+PdhGetDllVersion
+PdhGetFormattedCounterArrayA
+PdhGetFormattedCounterArrayW
+PdhGetFormattedCounterValue
+PdhGetLogFileSize
+PdhGetLogFileTypeA
+PdhGetLogFileTypeW
+PdhGetLogSetGUID
+PdhGetRawCounterArrayA
+PdhGetRawCounterArrayW
+PdhGetRawCounterValue
+PdhIsRealTimeQuery
+PdhListLogFileHeaderA
+PdhListLogFileHeaderW
+PdhLookupPerfIndexByNameA
+PdhLookupPerfIndexByNameW
+PdhLookupPerfNameByIndexA
+PdhLookupPerfNameByIndexW
+PdhMakeCounterPathA
+PdhMakeCounterPathW
+PdhOpenLogA
+PdhOpenLogW
+PdhOpenQuery
+PdhOpenQueryA
+PdhOpenQueryH
+PdhOpenQueryW
+PdhParseCounterPathA
+PdhParseCounterPathW
+PdhParseInstanceNameA
+PdhParseInstanceNameW
+PdhPlaAddItemA
+PdhPlaAddItemW
+PdhPlaCreateA
+PdhPlaCreateW
+PdhPlaDeleteA
+PdhPlaDeleteW
+PdhPlaDowngradeW
+PdhPlaEnumCollectionsA
+PdhPlaEnumCollectionsW
+PdhPlaGetInfoA
+PdhPlaGetInfoW
+PdhPlaGetLogFileNameW
+PdhPlaGetScheduleA
+PdhPlaGetScheduleW
+PdhPlaRemoveAllItemsA
+PdhPlaRemoveAllItemsW
+PdhPlaScheduleA
+PdhPlaScheduleW
+PdhPlaSetInfoA
+PdhPlaSetInfoW
+PdhPlaSetItemListA
+PdhPlaSetItemListW
+PdhPlaSetRunAsA
+PdhPlaSetRunAsW
+PdhPlaStartA
+PdhPlaStartW
+PdhPlaStopA
+PdhPlaStopW
+PdhPlaUpgradeW
+PdhPlaValidateInfoA
+PdhPlaValidateInfoW
+PdhReadRawLogRecord
+PdhRelogA
+PdhRelogW
+PdhRemoveCounter
+PdhSelectDataSourceA
+PdhSelectDataSourceW
+PdhSetCounterScaleFactor
+PdhSetDefaultRealTimeDataSource
+PdhSetLogSetRunID
+PdhSetQueryTimeRange
+PdhTranslate009CounterA
+PdhTranslate009CounterW
+PdhTranslateLocaleCounterA
+PdhTranslateLocaleCounterW
+PdhUpdateLogA
+PdhUpdateLogFileCatalog
+PdhUpdateLogW
+PdhValidatePathA
+PdhValidatePathW
+PdhVbAddCounter
+PdhVbCreateCounterPathList
+PdhVbGetCounterPathElements
+PdhVbGetCounterPathFromList
+PdhVbGetDoubleCounterValue
+PdhVbGetLogFileSize
+PdhVbGetOneCounterPath
+PdhVbIsGoodStatus
+PdhVbOpenLog
+PdhVbOpenQuery
+PdhVbUpdateLog
+PdhVerifySQLDBA
+PdhVerifySQLDBW
+PdhiPla2003SP1Installed
+PdhiPlaDowngrade
+PdhiPlaFormatBlanksA
+PdhiPlaFormatBlanksW
+PdhiPlaGetVersion
+PdhiPlaRunAs
+PdhiPlaSetRunAs
+PdhiPlaUpgrade
+PlaTimeInfoToMilliSeconds
diff --git a/mingw-w64-crt/lib64/perfctrs.def b/mingw-w64-crt/lib64/perfctrs.def
index a67db99..0d03538 100644
--- a/mingw-w64-crt/lib64/perfctrs.def
+++ b/mingw-w64-crt/lib64/perfctrs.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file perfctrs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY perfctrs.dll
-EXPORTS
-OpenNbfPerformanceData
-CollectNbfPerformanceData
-CloseNbfPerformanceData
-OpenTcpIpPerformanceData
-CollectTcpIpPerformanceData
-CloseTcpIpPerformanceData
-OpenIPXPerformanceData
-CollectIPXPerformanceData
-CloseIPXPerformanceData
-OpenSPXPerformanceData
-CollectSPXPerformanceData
-CloseSPXPerformanceData
-OpenNWNBPerformanceData
-CollectNWNBPerformanceData
-CloseNWNBPerformanceData
-OpenDhcpPerformanceData
-CollectDhcpPerformanceData
-CloseDhcpPerformanceData
+; 
+; Exports of file perfctrs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY perfctrs.dll
+EXPORTS
+OpenNbfPerformanceData
+CollectNbfPerformanceData
+CloseNbfPerformanceData
+OpenTcpIpPerformanceData
+CollectTcpIpPerformanceData
+CloseTcpIpPerformanceData
+OpenIPXPerformanceData
+CollectIPXPerformanceData
+CloseIPXPerformanceData
+OpenSPXPerformanceData
+CollectSPXPerformanceData
+CloseSPXPerformanceData
+OpenNWNBPerformanceData
+CollectNWNBPerformanceData
+CloseNWNBPerformanceData
+OpenDhcpPerformanceData
+CollectDhcpPerformanceData
+CloseDhcpPerformanceData
diff --git a/mingw-w64-crt/lib64/perfdisk.def b/mingw-w64-crt/lib64/perfdisk.def
index 34bd799..c009696 100644
--- a/mingw-w64-crt/lib64/perfdisk.def
+++ b/mingw-w64-crt/lib64/perfdisk.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfDisk.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfDisk.dll
-EXPORTS
-CloseDiskObject
-CollectDiskObjectData
-OpenDiskObject
+; 
+; Exports of file PerfDisk.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfDisk.dll
+EXPORTS
+CloseDiskObject
+CollectDiskObjectData
+OpenDiskObject
diff --git a/mingw-w64-crt/lib64/perfnet.def b/mingw-w64-crt/lib64/perfnet.def
index 270c4f8..0879fab 100644
--- a/mingw-w64-crt/lib64/perfnet.def
+++ b/mingw-w64-crt/lib64/perfnet.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfNet.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfNet.dll
-EXPORTS
-CloseNetSvcsObject
-CollectNetSvcsObjectData
-OpenNetSvcsObject
+; 
+; Exports of file PerfNet.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfNet.dll
+EXPORTS
+CloseNetSvcsObject
+CollectNetSvcsObjectData
+OpenNetSvcsObject
diff --git a/mingw-w64-crt/lib64/perfos.def b/mingw-w64-crt/lib64/perfos.def
index 286ce56..0f49c43 100644
--- a/mingw-w64-crt/lib64/perfos.def
+++ b/mingw-w64-crt/lib64/perfos.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfOS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfOS.dll
-EXPORTS
-CloseOSObject
-CollectOSObjectData
-OpenOSObject
+; 
+; Exports of file PerfOS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfOS.dll
+EXPORTS
+CloseOSObject
+CollectOSObjectData
+OpenOSObject
diff --git a/mingw-w64-crt/lib64/perfproc.def b/mingw-w64-crt/lib64/perfproc.def
index cc94f8a..75b3904 100644
--- a/mingw-w64-crt/lib64/perfproc.def
+++ b/mingw-w64-crt/lib64/perfproc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfProc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfProc.dll
-EXPORTS
-CloseSysProcessObject
-CollectSysProcessObjectData
-OpenSysProcessObject
+; 
+; Exports of file PerfProc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfProc.dll
+EXPORTS
+CloseSysProcessObject
+CollectSysProcessObjectData
+OpenSysProcessObject
diff --git a/mingw-w64-crt/lib64/perfts.def b/mingw-w64-crt/lib64/perfts.def
index 36bbaf4..db53a22 100644
--- a/mingw-w64-crt/lib64/perfts.def
+++ b/mingw-w64-crt/lib64/perfts.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfTS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfTS.dll
-EXPORTS
-CloseTSObject
-CollectTSObjectData
-OpenTSObject
+; 
+; Exports of file PerfTS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfTS.dll
+EXPORTS
+CloseTSObject
+CollectTSObjectData
+OpenTSObject
diff --git a/mingw-w64-crt/lib64/photowiz.def b/mingw-w64-crt/lib64/photowiz.def
index 63a353a..057a165 100644
--- a/mingw-w64-crt/lib64/photowiz.def
+++ b/mingw-w64-crt/lib64/photowiz.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file PHOTOWIZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PHOTOWIZ.dll
-EXPORTS
-UsePPWForPrintTo
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file PHOTOWIZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PHOTOWIZ.dll
+EXPORTS
+UsePPWForPrintTo
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/pid.def b/mingw-w64-crt/lib64/pid.def
index 394a3b5..20033a9 100644
--- a/mingw-w64-crt/lib64/pid.def
+++ b/mingw-w64-crt/lib64/pid.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file pid.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY pid.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file pid.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY pid.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/pidgen.def b/mingw-w64-crt/lib64/pidgen.def
index 56e9578..f4bbeed 100644
--- a/mingw-w64-crt/lib64/pidgen.def
+++ b/mingw-w64-crt/lib64/pidgen.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file PIDGen.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PIDGen.dll
-EXPORTS
-PIDGenA
-PIDGenW
-PIDGenSimpA
-PIDGenSimpW
-SetupPIDGenA
-SetupPIDGenW
-PIDGenExA
-PIDGenExW
-SetupPIDGenExA
-SetupPIDGenExW
-PIDGenEx2A
-PIDGenEx2W
+; 
+; Exports of file PIDGen.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PIDGen.dll
+EXPORTS
+PIDGenA
+PIDGenW
+PIDGenSimpA
+PIDGenSimpW
+SetupPIDGenA
+SetupPIDGenW
+PIDGenExA
+PIDGenExW
+SetupPIDGenExA
+SetupPIDGenExW
+PIDGenEx2A
+PIDGenEx2W
diff --git a/mingw-w64-crt/lib64/pintlcsa.def b/mingw-w64-crt/lib64/pintlcsa.def
index d28b95e..8bed44e 100644
--- a/mingw-w64-crt/lib64/pintlcsa.def
+++ b/mingw-w64-crt/lib64/pintlcsa.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IMESKF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IMESKF.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IMESKF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IMESKF.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/pintlcsd.def b/mingw-w64-crt/lib64/pintlcsd.def
index b186da3..19e60b6 100644
--- a/mingw-w64-crt/lib64/pintlcsd.def
+++ b/mingw-w64-crt/lib64/pintlcsd.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file IMESKDic.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IMESKDic.dll
-EXPORTS
-CreateIImeSkdicInstance
+; 
+; Exports of file IMESKDic.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IMESKDic.dll
+EXPORTS
+CreateIImeSkdicInstance
diff --git a/mingw-w64-crt/lib64/pjlmon.def b/mingw-w64-crt/lib64/pjlmon.def
index f0e820e..667b964 100644
--- a/mingw-w64-crt/lib64/pjlmon.def
+++ b/mingw-w64-crt/lib64/pjlmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file PJLMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PJLMON.dll
-EXPORTS
-InitializePrintMonitor
+; 
+; Exports of file PJLMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PJLMON.dll
+EXPORTS
+InitializePrintMonitor
diff --git a/mingw-w64-crt/lib64/pngfilt.def b/mingw-w64-crt/lib64/pngfilt.def
index cb8d366..c9e0cb9 100644
--- a/mingw-w64-crt/lib64/pngfilt.def
+++ b/mingw-w64-crt/lib64/pngfilt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file PNGFILTER.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PNGFILTER.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file PNGFILTER.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PNGFILTER.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/policman.def b/mingw-w64-crt/lib64/policman.def
index 6b0d7bc..7d4b19f 100644
--- a/mingw-w64-crt/lib64/policman.def
+++ b/mingw-w64-crt/lib64/policman.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file POLICMAN.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY POLICMAN.DLL
-EXPORTS
-CreateADContainers
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file POLICMAN.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY POLICMAN.DLL
+EXPORTS
+CreateADContainers
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/polstore.def b/mingw-w64-crt/lib64/polstore.def
index 6bc8b00..0e1e688 100644
--- a/mingw-w64-crt/lib64/polstore.def
+++ b/mingw-w64-crt/lib64/polstore.def
@@ -1,72 +1,72 @@
-; 
-; Exports of file POLSTORE.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY POLSTORE.DLL
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-IPSecAllocPolMem
-IPSecAllocPolStr
-IPSecAssignPolicy
-IPSecChooseDriverBootMode
-IPSecClearWMIStore
-IPSecClosePolicyStore
-IPSecCopyAuthMethod
-IPSecCopyFilterData
-IPSecCopyFilterSpec
-IPSecCopyISAKMPData
-IPSecCopyNFAData
-IPSecCopyNegPolData
-IPSecCopyPolicyData
-IPSecCreateFilterData
-IPSecCreateISAKMPData
-IPSecCreateNFAData
-IPSecCreateNegPolData
-IPSecCreatePolicyData
-IPSecDeleteFilterData
-IPSecDeleteISAKMPData
-IPSecDeleteNFAData
-IPSecDeleteNegPolData
-IPSecDeletePolicyData
-IPSecEnumFilterData
-IPSecEnumISAKMPData
-IPSecEnumNFAData
-IPSecEnumNegPolData
-IPSecEnumPolicyData
-IPSecExportPolicies
-IPSecFreeFilterData
-IPSecFreeFilterSpec
-IPSecFreeFilterSpecs
-IPSecFreeISAKMPData
-IPSecFreeMulFilterData
-IPSecFreeMulISAKMPData
-IPSecFreeMulNFAData
-IPSecFreeMulNegPolData
-IPSecFreeMulPolicyData
-IPSecFreeNFAData
-IPSecFreeNegPolData
-IPSecFreePolMem
-IPSecFreePolStr
-IPSecFreePolicyData
-IPSecGetAssignedDomainPolicyName
-IPSecGetAssignedPolicyData
-IPSecGetFilterData
-IPSecGetISAKMPData
-IPSecGetNegPolData
-IPSecImportPolicies
-IPSecIsDomainPolicyAssigned
-IPSecIsLocalPolicyAssigned
-IPSecOpenPolicyStore
-IPSecReallocatePolMem
-IPSecReallocatePolStr
-IPSecRestoreDefaultPolicies
-IPSecSetFilterData
-IPSecSetISAKMPData
-IPSecSetNFAData
-IPSecSetNegPolData
-IPSecSetPolicyData
-IPSecUnassignPolicy
-WriteDirectoryPolicyToWMI
+; 
+; Exports of file POLSTORE.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY POLSTORE.DLL
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+IPSecAllocPolMem
+IPSecAllocPolStr
+IPSecAssignPolicy
+IPSecChooseDriverBootMode
+IPSecClearWMIStore
+IPSecClosePolicyStore
+IPSecCopyAuthMethod
+IPSecCopyFilterData
+IPSecCopyFilterSpec
+IPSecCopyISAKMPData
+IPSecCopyNFAData
+IPSecCopyNegPolData
+IPSecCopyPolicyData
+IPSecCreateFilterData
+IPSecCreateISAKMPData
+IPSecCreateNFAData
+IPSecCreateNegPolData
+IPSecCreatePolicyData
+IPSecDeleteFilterData
+IPSecDeleteISAKMPData
+IPSecDeleteNFAData
+IPSecDeleteNegPolData
+IPSecDeletePolicyData
+IPSecEnumFilterData
+IPSecEnumISAKMPData
+IPSecEnumNFAData
+IPSecEnumNegPolData
+IPSecEnumPolicyData
+IPSecExportPolicies
+IPSecFreeFilterData
+IPSecFreeFilterSpec
+IPSecFreeFilterSpecs
+IPSecFreeISAKMPData
+IPSecFreeMulFilterData
+IPSecFreeMulISAKMPData
+IPSecFreeMulNFAData
+IPSecFreeMulNegPolData
+IPSecFreeMulPolicyData
+IPSecFreeNFAData
+IPSecFreeNegPolData
+IPSecFreePolMem
+IPSecFreePolStr
+IPSecFreePolicyData
+IPSecGetAssignedDomainPolicyName
+IPSecGetAssignedPolicyData
+IPSecGetFilterData
+IPSecGetISAKMPData
+IPSecGetNegPolData
+IPSecImportPolicies
+IPSecIsDomainPolicyAssigned
+IPSecIsLocalPolicyAssigned
+IPSecOpenPolicyStore
+IPSecReallocatePolMem
+IPSecReallocatePolStr
+IPSecRestoreDefaultPolicies
+IPSecSetFilterData
+IPSecSetISAKMPData
+IPSecSetNFAData
+IPSecSetNegPolData
+IPSecSetPolicyData
+IPSecUnassignPolicy
+WriteDirectoryPolicyToWMI
diff --git a/mingw-w64-crt/lib64/powrprof.def b/mingw-w64-crt/lib64/powrprof.def
index 4c7bc07..014c0bd 100644
--- a/mingw-w64-crt/lib64/powrprof.def
+++ b/mingw-w64-crt/lib64/powrprof.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file POWRPROF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY POWRPROF.dll
-EXPORTS
-CallNtPowerInformation
-CanUserWritePwrScheme
-DeletePwrScheme
-EnumPwrSchemes
-GetActivePwrScheme
-GetCurrentPowerPolicies
-GetPwrCapabilities
-GetPwrDiskSpindownRange
-IsAdminOverrideActive
-IsPwrHibernateAllowed
-IsPwrShutdownAllowed
-IsPwrSuspendAllowed
-LoadCurrentPwrScheme
-MergeLegacyPwrScheme
-ReadGlobalPwrPolicy
-ReadProcessorPwrScheme
-ReadPwrScheme
-SetActivePwrScheme
-SetSuspendState
-ValidatePowerPolicies
-WriteGlobalPwrPolicy
-WriteProcessorPwrScheme
-WritePwrScheme
+; 
+; Exports of file POWRPROF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY POWRPROF.dll
+EXPORTS
+CallNtPowerInformation
+CanUserWritePwrScheme
+DeletePwrScheme
+EnumPwrSchemes
+GetActivePwrScheme
+GetCurrentPowerPolicies
+GetPwrCapabilities
+GetPwrDiskSpindownRange
+IsAdminOverrideActive
+IsPwrHibernateAllowed
+IsPwrShutdownAllowed
+IsPwrSuspendAllowed
+LoadCurrentPwrScheme
+MergeLegacyPwrScheme
+ReadGlobalPwrPolicy
+ReadProcessorPwrScheme
+ReadPwrScheme
+SetActivePwrScheme
+SetSuspendState
+ValidatePowerPolicies
+WriteGlobalPwrPolicy
+WriteProcessorPwrScheme
+WritePwrScheme
diff --git a/mingw-w64-crt/lib64/printui.def b/mingw-w64-crt/lib64/printui.def
index 8228492..1dce008 100644
--- a/mingw-w64-crt/lib64/printui.def
+++ b/mingw-w64-crt/lib64/printui.def
@@ -1,33 +1,33 @@
-; 
-; Exports of file PRINTUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PRINTUI.dll
-EXPORTS
-ConstructPrinterFriendlyName
-DocumentPropertiesWrap
-PnPInterface
-PrintUIEntryW
-PrinterPropPageProvider
-ConnectToPrinterDlg
-ConnectToPrinterPropertyPage
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-GetLegacyPrintUI
-PrintNotifyTray_Exit
-PrintNotifyTray_Init
-RegisterPrintNotify
-ShowErrorMessageHR
-ShowErrorMessageSC
-UnregisterPrintNotify
-bFolderEnumPrinters
-bFolderGetPrinter
-bFolderRefresh
-bPrinterSetup
-vDocumentDefaults
-vPrinterPropPages
-vQueueCreate
-vServerPropPages
+; 
+; Exports of file PRINTUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PRINTUI.dll
+EXPORTS
+ConstructPrinterFriendlyName
+DocumentPropertiesWrap
+PnPInterface
+PrintUIEntryW
+PrinterPropPageProvider
+ConnectToPrinterDlg
+ConnectToPrinterPropertyPage
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+GetLegacyPrintUI
+PrintNotifyTray_Exit
+PrintNotifyTray_Init
+RegisterPrintNotify
+ShowErrorMessageHR
+ShowErrorMessageSC
+UnregisterPrintNotify
+bFolderEnumPrinters
+bFolderGetPrinter
+bFolderRefresh
+bPrinterSetup
+vDocumentDefaults
+vPrinterPropPages
+vQueueCreate
+vServerPropPages
diff --git a/mingw-w64-crt/lib64/profmap.def b/mingw-w64-crt/lib64/profmap.def
index 0edf458..5f5d9de 100644
--- a/mingw-w64-crt/lib64/profmap.def
+++ b/mingw-w64-crt/lib64/profmap.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file PROFMAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PROFMAP.dll
-EXPORTS
-DllMain
-InitializeProfileMappingApi
-RemapAndMoveUserA
-RemapAndMoveUserW
-RemapUserProfileA
-RemapUserProfileW
+; 
+; Exports of file PROFMAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PROFMAP.dll
+EXPORTS
+DllMain
+InitializeProfileMappingApi
+RemapAndMoveUserA
+RemapAndMoveUserW
+RemapUserProfileA
+RemapUserProfileW
diff --git a/mingw-w64-crt/lib64/provthrd.def b/mingw-w64-crt/lib64/provthrd.def
index 1f59d3a..b156602 100644
--- a/mingw-w64-crt/lib64/provthrd.def
+++ b/mingw-w64-crt/lib64/provthrd.def
@@ -1,1942 +1,1942 @@
-; 
-; Exports of file PROVTHRD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PROVTHRD.dll
-EXPORTS
-; PEAGPEAG::?$CompareElements(YAHPEBQEAG0@Z)
-??$CompareElements@PEAGPEAG@@YAHPEBQEAG0@Z
-; PEAG::?$HashKey(YAIPEAG@Z)
-??$HashKey@PEAG@@YAIPEAG@Z
-; public: __cdecl CBString::CBString(int) __ptr64
-??0CBString@@QEAA@H@Z
-; public: __cdecl CBString::CBString(unsigned short * __ptr64) __ptr64
-??0CBString@@QEAA@PEAG@Z
-; public: __cdecl CBString::CBString(void) __ptr64
-??0CBString@@QEAA@XZ
-; public: __cdecl Conjunctions::Conjunctions(unsigned long) __ptr64
-??0Conjunctions@@QEAA@K@Z
-; public: __cdecl Disjunctions::Disjunctions(unsigned long,unsigned long) __ptr64
-??0Disjunctions@@QEAA@KK@Z
-; public: __cdecl PartitionSet::PartitionSet(class PartitionSet const & __ptr64) __ptr64
-??0PartitionSet@@QEAA@AEBV0@@Z
-; public: __cdecl PartitionSet::PartitionSet(void) __ptr64
-??0PartitionSet@@QEAA@XZ
-; public: __cdecl ProvAnalyser::ProvAnalyser(class ProvAnalyser const & __ptr64) __ptr64
-??0ProvAnalyser@@QEAA@AEBV0@@Z
-; public: __cdecl ProvAnalyser::ProvAnalyser(unsigned short const * __ptr64) __ptr64
-??0ProvAnalyser@@QEAA@PEBG@Z
-; public: __cdecl ProvBitStringType::ProvBitStringType(class ProvBitStringType const & __ptr64) __ptr64
-??0ProvBitStringType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvBitStringType::ProvBitStringType(unsigned short const * __ptr64) __ptr64
-??0ProvBitStringType@@QEAA@PEBG@Z
-; public: __cdecl ProvBitStringType::ProvBitStringType(unsigned short const * __ptr64,class ProvOctetString const & __ptr64) __ptr64
-??0ProvBitStringType@@QEAA@PEBGAEBVProvOctetString@@@Z
-; public: __cdecl ProvBitStringType::ProvBitStringType(unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned long const & __ptr64) __ptr64
-??0ProvBitStringType@@QEAA@PEBGPEAPEBGAEBK@Z
-; public: __cdecl ProvCounter64::ProvCounter64(class ProvCounter64 const & __ptr64) __ptr64
-??0ProvCounter64@@QEAA@AEBV0@@Z
-; public: __cdecl ProvCounter64::ProvCounter64(unsigned long,unsigned long) __ptr64
-??0ProvCounter64@@QEAA@KK@Z
-; public: __cdecl ProvCounter64Type::ProvCounter64Type(class ProvCounter64Type const & __ptr64) __ptr64
-??0ProvCounter64Type@@QEAA@AEBV0@@Z
-; public: __cdecl ProvCounter64Type::ProvCounter64Type(class ProvCounter64 const & __ptr64) __ptr64
-??0ProvCounter64Type@@QEAA@AEBVProvCounter64@@@Z
-; public: __cdecl ProvCounter64Type::ProvCounter64Type(unsigned long,unsigned long) __ptr64
-??0ProvCounter64Type@@QEAA@KK@Z
-; public: __cdecl ProvCounter64Type::ProvCounter64Type(unsigned short const * __ptr64) __ptr64
-??0ProvCounter64Type@@QEAA@PEBG@Z
-; public: __cdecl ProvCounter64Type::ProvCounter64Type(void) __ptr64
-??0ProvCounter64Type@@QEAA@XZ
-; public: __cdecl ProvCounter::ProvCounter(class ProvCounter const & __ptr64) __ptr64
-??0ProvCounter@@QEAA@AEBV0@@Z
-; public: __cdecl ProvCounter::ProvCounter(unsigned long) __ptr64
-??0ProvCounter@@QEAA@K@Z
-; public: __cdecl ProvCounterType::ProvCounterType(class ProvCounterType const & __ptr64) __ptr64
-??0ProvCounterType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvCounterType::ProvCounterType(class ProvCounter const & __ptr64) __ptr64
-??0ProvCounterType@@QEAA@AEBVProvCounter@@@Z
-; public: __cdecl ProvCounterType::ProvCounterType(unsigned long) __ptr64
-??0ProvCounterType@@QEAA@K@Z
-; public: __cdecl ProvCounterType::ProvCounterType(unsigned short const * __ptr64) __ptr64
-??0ProvCounterType@@QEAA@PEBG@Z
-; public: __cdecl ProvCounterType::ProvCounterType(void) __ptr64
-??0ProvCounterType@@QEAA@XZ
-; public: __cdecl ProvDateTimeType::ProvDateTimeType(class ProvDateTimeType const & __ptr64) __ptr64
-??0ProvDateTimeType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvDateTimeType::ProvDateTimeType(class ProvOctetString const & __ptr64) __ptr64
-??0ProvDateTimeType@@QEAA@AEBVProvOctetString@@@Z
-; public: __cdecl ProvDateTimeType::ProvDateTimeType(unsigned short const * __ptr64) __ptr64
-??0ProvDateTimeType@@QEAA@PEBG@Z
-; public: __cdecl ProvDateTimeType::ProvDateTimeType(void) __ptr64
-??0ProvDateTimeType@@QEAA@XZ
-; public: __cdecl ProvDebugLog::ProvDebugLog(char) __ptr64
-??0ProvDebugLog@@QEAA@D@Z
-; public: __cdecl ProvDisplayStringType::ProvDisplayStringType(class ProvDisplayStringType const & __ptr64) __ptr64
-??0ProvDisplayStringType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvDisplayStringType::ProvDisplayStringType(class ProvOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvDisplayStringType@@QEAA@AEBVProvOctetString@@PEBG@Z
-; public: __cdecl ProvDisplayStringType::ProvDisplayStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvDisplayStringType@@QEAA@PEBG0@Z
-; public: __cdecl ProvDisplayStringType::ProvDisplayStringType(unsigned short const * __ptr64) __ptr64
-??0ProvDisplayStringType@@QEAA@PEBG@Z
-; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(class ProvEnumeratedType const & __ptr64) __ptr64
-??0ProvEnumeratedType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvEnumeratedType@@QEAA@PEBG0@Z
-; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(unsigned short const * __ptr64) __ptr64
-??0ProvEnumeratedType@@QEAA@PEBG@Z
-; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(unsigned short const * __ptr64,long const & __ptr64) __ptr64
-??0ProvEnumeratedType@@QEAA@PEBGAEBJ@Z
-; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(unsigned short const * __ptr64,class ProvInteger const & __ptr64) __ptr64
-??0ProvEnumeratedType@@QEAA@PEBGAEBVProvInteger@@@Z
-; public: __cdecl ProvEventObject::ProvEventObject(class ProvEventObject const & __ptr64) __ptr64
-??0ProvEventObject@@QEAA@AEBV0@@Z
-; public: __cdecl ProvEventObject::ProvEventObject(unsigned short const * __ptr64) __ptr64
-??0ProvEventObject@@QEAA@PEBG@Z
-; public: __cdecl ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const & __ptr64) __ptr64
-??0ProvFixedLengthDisplayStringType@@QEAA@AEBK@Z
-; public: __cdecl ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const & __ptr64,class ProvOctetString const & __ptr64) __ptr64
-??0ProvFixedLengthDisplayStringType@@QEAA@AEBKAEBVProvOctetString@@@Z
-; public: __cdecl ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvFixedLengthDisplayStringType@@QEAA@AEBKPEBG@Z
-; public: __cdecl ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(class ProvFixedLengthDisplayStringType const & __ptr64) __ptr64
-??0ProvFixedLengthDisplayStringType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const & __ptr64) __ptr64
-??0ProvFixedLengthOctetStringType@@QEAA@AEBK@Z
-; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const & __ptr64,class ProvOctetString const & __ptr64) __ptr64
-??0ProvFixedLengthOctetStringType@@QEAA@AEBKAEBVProvOctetString@@@Z
-; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned char const * __ptr64) __ptr64
-??0ProvFixedLengthOctetStringType@@QEAA@AEBKPEBE@Z
-; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvFixedLengthOctetStringType@@QEAA@AEBKPEBG@Z
-; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(class ProvFixedLengthOctetStringType const & __ptr64) __ptr64
-??0ProvFixedLengthOctetStringType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const & __ptr64) __ptr64
-??0ProvFixedLengthOpaqueType@@QEAA@AEBK@Z
-; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const & __ptr64,class ProvOpaque const & __ptr64) __ptr64
-??0ProvFixedLengthOpaqueType@@QEAA@AEBKAEBVProvOpaque@@@Z
-; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned char const * __ptr64,unsigned long) __ptr64
-??0ProvFixedLengthOpaqueType@@QEAA@AEBKPEBEK@Z
-; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvFixedLengthOpaqueType@@QEAA@AEBKPEBG@Z
-; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(class ProvFixedLengthOpaqueType const & __ptr64) __ptr64
-??0ProvFixedLengthOpaqueType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const & __ptr64) __ptr64
-??0ProvFixedLengthPhysAddressType@@QEAA@AEBK@Z
-; public: __cdecl ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const & __ptr64,class ProvOctetString const & __ptr64) __ptr64
-??0ProvFixedLengthPhysAddressType@@QEAA@AEBKAEBVProvOctetString@@@Z
-; public: __cdecl ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvFixedLengthPhysAddressType@@QEAA@AEBKPEBG@Z
-; public: __cdecl ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(class ProvFixedLengthPhysAddressType const & __ptr64) __ptr64
-??0ProvFixedLengthPhysAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvFixedType::ProvFixedType(class ProvFixedType const & __ptr64) __ptr64
-??0ProvFixedType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvFixedType::ProvFixedType(unsigned long) __ptr64
-??0ProvFixedType@@QEAA@K@Z
-; public: __cdecl ProvGauge::ProvGauge(class ProvGauge const & __ptr64) __ptr64
-??0ProvGauge@@QEAA@AEBV0@@Z
-; public: __cdecl ProvGauge::ProvGauge(long) __ptr64
-??0ProvGauge@@QEAA@J@Z
-; public: __cdecl ProvGaugeType::ProvGaugeType(class ProvGaugeType const & __ptr64) __ptr64
-??0ProvGaugeType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvGaugeType::ProvGaugeType(class ProvGauge const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvGaugeType@@QEAA@AEBVProvGauge@@PEBG@Z
-; public: __cdecl ProvGaugeType::ProvGaugeType(unsigned long,unsigned short const * __ptr64) __ptr64
-??0ProvGaugeType@@QEAA@KPEBG@Z
-; public: __cdecl ProvGaugeType::ProvGaugeType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvGaugeType@@QEAA@PEBG0@Z
-; public: __cdecl ProvGaugeType::ProvGaugeType(unsigned short const * __ptr64) __ptr64
-??0ProvGaugeType@@QEAA@PEBG@Z
-; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(class ProvIPXAddressType const & __ptr64) __ptr64
-??0ProvIPXAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(class ProvOctetString const & __ptr64) __ptr64
-??0ProvIPXAddressType@@QEAA@AEBVProvOctetString@@@Z
-; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(unsigned char const * __ptr64) __ptr64
-??0ProvIPXAddressType@@QEAA@PEBE@Z
-; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(unsigned short const * __ptr64) __ptr64
-??0ProvIPXAddressType@@QEAA@PEBG@Z
-; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(void) __ptr64
-??0ProvIPXAddressType@@QEAA@XZ
-; protected: __cdecl ProvInstanceType::ProvInstanceType(class ProvInstanceType const & __ptr64) __ptr64
-??0ProvInstanceType@@IEAA@AEBV0@@Z
-; protected: __cdecl ProvInstanceType::ProvInstanceType(int,int) __ptr64
-??0ProvInstanceType@@IEAA@HH@Z
-; public: __cdecl ProvInteger::ProvInteger(class ProvInteger const & __ptr64) __ptr64
-??0ProvInteger@@QEAA@AEBV0@@Z
-; public: __cdecl ProvInteger::ProvInteger(long) __ptr64
-??0ProvInteger@@QEAA@J@Z
-; public: __cdecl ProvIntegerType::ProvIntegerType(class ProvIntegerType const & __ptr64) __ptr64
-??0ProvIntegerType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvIntegerType::ProvIntegerType(class ProvInteger const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvIntegerType@@QEAA@AEBVProvInteger@@PEBG@Z
-; public: __cdecl ProvIntegerType::ProvIntegerType(long,unsigned short const * __ptr64) __ptr64
-??0ProvIntegerType@@QEAA@JPEBG@Z
-; public: __cdecl ProvIntegerType::ProvIntegerType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvIntegerType@@QEAA@PEBG0@Z
-; public: __cdecl ProvIntegerType::ProvIntegerType(unsigned short const * __ptr64) __ptr64
-??0ProvIntegerType@@QEAA@PEBG@Z
-; public: __cdecl ProvIpAddress::ProvIpAddress(class ProvIpAddress const & __ptr64) __ptr64
-??0ProvIpAddress@@QEAA@AEBV0@@Z
-; public: __cdecl ProvIpAddress::ProvIpAddress(unsigned long) __ptr64
-??0ProvIpAddress@@QEAA@K@Z
-; public: __cdecl ProvIpAddress::ProvIpAddress(char const * __ptr64) __ptr64
-??0ProvIpAddress@@QEAA@PEBD@Z
-; public: __cdecl ProvIpAddressType::ProvIpAddressType(class ProvIpAddressType const & __ptr64) __ptr64
-??0ProvIpAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvIpAddressType::ProvIpAddressType(class ProvIpAddress const & __ptr64) __ptr64
-??0ProvIpAddressType@@QEAA@AEBVProvIpAddress@@@Z
-; public: __cdecl ProvIpAddressType::ProvIpAddressType(unsigned long) __ptr64
-??0ProvIpAddressType@@QEAA@K@Z
-; public: __cdecl ProvIpAddressType::ProvIpAddressType(unsigned short const * __ptr64) __ptr64
-??0ProvIpAddressType@@QEAA@PEBG@Z
-; public: __cdecl ProvIpAddressType::ProvIpAddressType(void) __ptr64
-??0ProvIpAddressType@@QEAA@XZ
-; public: __cdecl ProvLexicon::ProvLexicon(void) __ptr64
-??0ProvLexicon@@QEAA@XZ
-; public: __cdecl ProvMacAddressType::ProvMacAddressType(class ProvMacAddressType const & __ptr64) __ptr64
-??0ProvMacAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvMacAddressType::ProvMacAddressType(class ProvOctetString const & __ptr64) __ptr64
-??0ProvMacAddressType@@QEAA@AEBVProvOctetString@@@Z
-; public: __cdecl ProvMacAddressType::ProvMacAddressType(unsigned char const * __ptr64) __ptr64
-??0ProvMacAddressType@@QEAA@PEBE@Z
-; public: __cdecl ProvMacAddressType::ProvMacAddressType(unsigned short const * __ptr64) __ptr64
-??0ProvMacAddressType@@QEAA@PEBG@Z
-; public: __cdecl ProvMacAddressType::ProvMacAddressType(void) __ptr64
-??0ProvMacAddressType@@QEAA@XZ
-; public: __cdecl ProvNegativeRangeType::ProvNegativeRangeType(class ProvNegativeRangeType const & __ptr64) __ptr64
-??0ProvNegativeRangeType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvNegativeRangeType::ProvNegativeRangeType(long,long) __ptr64
-??0ProvNegativeRangeType@@QEAA@JJ@Z
-; public: __cdecl ProvNegativeRangeType::ProvNegativeRangeType(void) __ptr64
-??0ProvNegativeRangeType@@QEAA@XZ
-; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(class ProvNetworkAddressType const & __ptr64) __ptr64
-??0ProvNetworkAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(class ProvIpAddress const & __ptr64) __ptr64
-??0ProvNetworkAddressType@@QEAA@AEBVProvIpAddress@@@Z
-; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(unsigned long) __ptr64
-??0ProvNetworkAddressType@@QEAA@K@Z
-; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(unsigned short const * __ptr64) __ptr64
-??0ProvNetworkAddressType@@QEAA@PEBG@Z
-; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(void) __ptr64
-??0ProvNetworkAddressType@@QEAA@XZ
-; public: __cdecl ProvNull::ProvNull(void) __ptr64
-??0ProvNull@@QEAA@XZ
-; public: __cdecl ProvNullType::ProvNullType(class ProvNullType const & __ptr64) __ptr64
-??0ProvNullType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvNullType::ProvNullType(class ProvNull const & __ptr64) __ptr64
-??0ProvNullType@@QEAA@AEBVProvNull@@@Z
-; public: __cdecl ProvNullType::ProvNullType(void) __ptr64
-??0ProvNullType@@QEAA@XZ
-; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(class ProvOSIAddressType const & __ptr64) __ptr64
-??0ProvOSIAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(class ProvOctetString const & __ptr64) __ptr64
-??0ProvOSIAddressType@@QEAA@AEBVProvOctetString@@@Z
-; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(unsigned char const * __ptr64,unsigned long) __ptr64
-??0ProvOSIAddressType@@QEAA@PEBEK@Z
-; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(unsigned short const * __ptr64) __ptr64
-??0ProvOSIAddressType@@QEAA@PEBG@Z
-; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(void) __ptr64
-??0ProvOSIAddressType@@QEAA@XZ
-; public: __cdecl ProvObjectIdentifier::ProvObjectIdentifier(class ProvObjectIdentifier const & __ptr64) __ptr64
-??0ProvObjectIdentifier@@QEAA@AEBV0@@Z
-; public: __cdecl ProvObjectIdentifier::ProvObjectIdentifier(char const * __ptr64) __ptr64
-??0ProvObjectIdentifier@@QEAA@PEBD@Z
-; public: __cdecl ProvObjectIdentifier::ProvObjectIdentifier(unsigned long const * __ptr64,unsigned long) __ptr64
-??0ProvObjectIdentifier@@QEAA@PEBKK@Z
-; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(class ProvObjectIdentifierType const & __ptr64) __ptr64
-??0ProvObjectIdentifierType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(class ProvObjectIdentifier const & __ptr64) __ptr64
-??0ProvObjectIdentifierType@@QEAA@AEBVProvObjectIdentifier@@@Z
-; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(unsigned short const * __ptr64) __ptr64
-??0ProvObjectIdentifierType@@QEAA@PEBG@Z
-; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(unsigned long const * __ptr64,unsigned long) __ptr64
-??0ProvObjectIdentifierType@@QEAA@PEBKK@Z
-; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(void) __ptr64
-??0ProvObjectIdentifierType@@QEAA@XZ
-; public: __cdecl ProvOctetString::ProvOctetString(class ProvOctetString const & __ptr64) __ptr64
-??0ProvOctetString@@QEAA@AEBV0@@Z
-; public: __cdecl ProvOctetString::ProvOctetString(unsigned char const * __ptr64,unsigned long) __ptr64
-??0ProvOctetString@@QEAA@PEBEK@Z
-; public: __cdecl ProvOctetStringType::ProvOctetStringType(class ProvOctetStringType const & __ptr64) __ptr64
-??0ProvOctetStringType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvOctetStringType::ProvOctetStringType(class ProvOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvOctetStringType@@QEAA@AEBVProvOctetString@@PEBG@Z
-; public: __cdecl ProvOctetStringType::ProvOctetStringType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
-??0ProvOctetStringType@@QEAA@PEBEKPEBG@Z
-; public: __cdecl ProvOctetStringType::ProvOctetStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvOctetStringType@@QEAA@PEBG0@Z
-; public: __cdecl ProvOctetStringType::ProvOctetStringType(unsigned short const * __ptr64) __ptr64
-??0ProvOctetStringType@@QEAA@PEBG@Z
-; public: __cdecl ProvOpaque::ProvOpaque(class ProvOpaque const & __ptr64) __ptr64
-??0ProvOpaque@@QEAA@AEBV0@@Z
-; public: __cdecl ProvOpaque::ProvOpaque(unsigned char const * __ptr64,unsigned long) __ptr64
-??0ProvOpaque@@QEAA@PEBEK@Z
-; public: __cdecl ProvOpaqueType::ProvOpaqueType(class ProvOpaqueType const & __ptr64) __ptr64
-??0ProvOpaqueType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvOpaqueType::ProvOpaqueType(class ProvOpaque const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvOpaqueType@@QEAA@AEBVProvOpaque@@PEBG@Z
-; public: __cdecl ProvOpaqueType::ProvOpaqueType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
-??0ProvOpaqueType@@QEAA@PEBEKPEBG@Z
-; public: __cdecl ProvOpaqueType::ProvOpaqueType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvOpaqueType@@QEAA@PEBG0@Z
-; public: __cdecl ProvOpaqueType::ProvOpaqueType(unsigned short const * __ptr64) __ptr64
-??0ProvOpaqueType@@QEAA@PEBG@Z
-; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(class ProvPhysAddressType const & __ptr64) __ptr64
-??0ProvPhysAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(class ProvOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvPhysAddressType@@QEAA@AEBVProvOctetString@@PEBG@Z
-; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
-??0ProvPhysAddressType@@QEAA@PEBEKPEBG@Z
-; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0ProvPhysAddressType@@QEAA@PEBG0@Z
-; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(unsigned short const * __ptr64) __ptr64
-??0ProvPhysAddressType@@QEAA@PEBG@Z
-; public: __cdecl ProvPositiveRangeType::ProvPositiveRangeType(class ProvPositiveRangeType const & __ptr64) __ptr64
-??0ProvPositiveRangeType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvPositiveRangeType::ProvPositiveRangeType(unsigned long,long) __ptr64
-??0ProvPositiveRangeType@@QEAA@KJ@Z
-; public: __cdecl ProvPositiveRangeType::ProvPositiveRangeType(void) __ptr64
-??0ProvPositiveRangeType@@QEAA@XZ
-; public: __cdecl ProvPositiveRangedType::ProvPositiveRangedType(class ProvPositiveRangedType const & __ptr64) __ptr64
-??0ProvPositiveRangedType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvPositiveRangedType::ProvPositiveRangedType(unsigned short const * __ptr64) __ptr64
-??0ProvPositiveRangedType@@QEAA@PEBG@Z
-; public: __cdecl ProvRowStatusType::ProvRowStatusType(long const & __ptr64) __ptr64
-??0ProvRowStatusType@@QEAA@AEBJ@Z
-; public: __cdecl ProvRowStatusType::ProvRowStatusType(class ProvRowStatusType const & __ptr64) __ptr64
-??0ProvRowStatusType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvRowStatusType::ProvRowStatusType(class ProvInteger const & __ptr64) __ptr64
-??0ProvRowStatusType@@QEAA@AEBVProvInteger@@@Z
-; public: __cdecl ProvRowStatusType::ProvRowStatusType(enum ProvRowStatusType::ProvRowStatusEnum const & __ptr64) __ptr64
-??0ProvRowStatusType@@QEAA@AEBW4ProvRowStatusEnum@0@@Z
-; public: __cdecl ProvRowStatusType::ProvRowStatusType(unsigned short const * __ptr64) __ptr64
-??0ProvRowStatusType@@QEAA@PEBG@Z
-; public: __cdecl ProvRowStatusType::ProvRowStatusType(void) __ptr64
-??0ProvRowStatusType@@QEAA@XZ
-; public: __cdecl ProvTimeTicks::ProvTimeTicks(class ProvTimeTicks const & __ptr64) __ptr64
-??0ProvTimeTicks@@QEAA@AEBV0@@Z
-; public: __cdecl ProvTimeTicks::ProvTimeTicks(unsigned long) __ptr64
-??0ProvTimeTicks@@QEAA@K@Z
-; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(class ProvTimeTicksType const & __ptr64) __ptr64
-??0ProvTimeTicksType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(class ProvTimeTicks const & __ptr64) __ptr64
-??0ProvTimeTicksType@@QEAA@AEBVProvTimeTicks@@@Z
-; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(unsigned long) __ptr64
-??0ProvTimeTicksType@@QEAA@K@Z
-; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(unsigned short const * __ptr64) __ptr64
-??0ProvTimeTicksType@@QEAA@PEBG@Z
-; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(void) __ptr64
-??0ProvTimeTicksType@@QEAA@XZ
-; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(class ProvUDPAddressType const & __ptr64) __ptr64
-??0ProvUDPAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(class ProvOctetString const & __ptr64) __ptr64
-??0ProvUDPAddressType@@QEAA@AEBVProvOctetString@@@Z
-; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(unsigned char const * __ptr64) __ptr64
-??0ProvUDPAddressType@@QEAA@PEBE@Z
-; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(unsigned short const * __ptr64) __ptr64
-??0ProvUDPAddressType@@QEAA@PEBG@Z
-; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(void) __ptr64
-??0ProvUDPAddressType@@QEAA@XZ
-; public: __cdecl ProvUInteger32::ProvUInteger32(class ProvUInteger32 const & __ptr64) __ptr64
-??0ProvUInteger32@@QEAA@AEBV0@@Z
-; public: __cdecl ProvUInteger32::ProvUInteger32(long) __ptr64
-??0ProvUInteger32@@QEAA@J@Z
-; private: __cdecl ProvValue::ProvValue(class ProvValue const & __ptr64) __ptr64
-??0ProvValue@@AEAA@AEBV0@@Z
-; protected: __cdecl ProvValue::ProvValue(void) __ptr64
-??0ProvValue@@IEAA@XZ
-; public: __cdecl QueryPreprocessor::QueryPreprocessor(class QueryPreprocessor const & __ptr64) __ptr64
-??0QueryPreprocessor@@QEAA@AEBV0@@Z
-; public: __cdecl QueryPreprocessor::QueryPreprocessor(void) __ptr64
-??0QueryPreprocessor@@QEAA@XZ
-; public: __cdecl WmiAndNode::WmiAndNode(class WmiAndNode const & __ptr64) __ptr64
-??0WmiAndNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiAndNode::WmiAndNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiAndNode@@QEAA@PEAVWmiTreeNode@@00@Z
-; public: __cdecl WmiNotNode::WmiNotNode(class WmiNotNode const & __ptr64) __ptr64
-??0WmiNotNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiNotNode::WmiNotNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiNotNode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiNullNode::WmiNullNode(class WmiNullNode const & __ptr64) __ptr64
-??0WmiNullNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiNullNode::WmiNullNode(unsigned short * __ptr64,unsigned long,class WmiTreeNode * __ptr64) __ptr64
-??0WmiNullNode@@QEAA@PEAGKPEAVWmiTreeNode@@@Z
-; public: __cdecl WmiNullRangeNode::WmiNullRangeNode(class WmiNullRangeNode const & __ptr64) __ptr64
-??0WmiNullRangeNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiNullRangeNode::WmiNullRangeNode(unsigned short * __ptr64,unsigned long,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiNullRangeNode@@QEAA@PEAGKPEAVWmiTreeNode@@1@Z
-; public: __cdecl WmiOperatorEqualNode::WmiOperatorEqualNode(class WmiOperatorEqualNode const & __ptr64) __ptr64
-??0WmiOperatorEqualNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorEqualNode::WmiOperatorEqualNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorEqualNode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorEqualOrGreaterNode::WmiOperatorEqualOrGreaterNode(class WmiOperatorEqualOrGreaterNode const & __ptr64) __ptr64
-??0WmiOperatorEqualOrGreaterNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorEqualOrGreaterNode::WmiOperatorEqualOrGreaterNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorEqualOrGreaterNode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorEqualOrLessNode::WmiOperatorEqualOrLessNode(class WmiOperatorEqualOrLessNode const & __ptr64) __ptr64
-??0WmiOperatorEqualOrLessNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorEqualOrLessNode::WmiOperatorEqualOrLessNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorEqualOrLessNode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorGreaterNode::WmiOperatorGreaterNode(class WmiOperatorGreaterNode const & __ptr64) __ptr64
-??0WmiOperatorGreaterNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorGreaterNode::WmiOperatorGreaterNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorGreaterNode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorIsANode::WmiOperatorIsANode(class WmiOperatorIsANode const & __ptr64) __ptr64
-??0WmiOperatorIsANode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorIsANode::WmiOperatorIsANode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorIsANode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorLessNode::WmiOperatorLessNode(class WmiOperatorLessNode const & __ptr64) __ptr64
-??0WmiOperatorLessNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorLessNode::WmiOperatorLessNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorLessNode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorLikeNode::WmiOperatorLikeNode(class WmiOperatorLikeNode const & __ptr64) __ptr64
-??0WmiOperatorLikeNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorLikeNode::WmiOperatorLikeNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorLikeNode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorNode::WmiOperatorNode(class WmiOperatorNode const & __ptr64) __ptr64
-??0WmiOperatorNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorNode::WmiOperatorNode(unsigned long,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorNode@@QEAA@KPEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorNotEqualNode::WmiOperatorNotEqualNode(class WmiOperatorNotEqualNode const & __ptr64) __ptr64
-??0WmiOperatorNotEqualNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorNotEqualNode::WmiOperatorNotEqualNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorNotEqualNode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorNotIsANode::WmiOperatorNotIsANode(class WmiOperatorNotIsANode const & __ptr64) __ptr64
-??0WmiOperatorNotIsANode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorNotIsANode::WmiOperatorNotIsANode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorNotIsANode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOperatorNotLikeNode::WmiOperatorNotLikeNode(class WmiOperatorNotLikeNode const & __ptr64) __ptr64
-??0WmiOperatorNotLikeNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOperatorNotLikeNode::WmiOperatorNotLikeNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOperatorNotLikeNode@@QEAA@PEAVWmiTreeNode@@0@Z
-; public: __cdecl WmiOrNode::WmiOrNode(class WmiOrNode const & __ptr64) __ptr64
-??0WmiOrNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiOrNode::WmiOrNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiOrNode@@QEAA@PEAVWmiTreeNode@@00@Z
-; public: __cdecl WmiRangeNode::WmiRangeNode(class WmiRangeNode const & __ptr64) __ptr64
-??0WmiRangeNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiRangeNode::WmiRangeNode(unsigned long,unsigned short * __ptr64,unsigned long,int,int,int,int,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiRangeNode@@QEAA@KPEAGKHHHHPEAVWmiTreeNode@@1@Z
-; public: __cdecl WmiSignedIntegerNode::WmiSignedIntegerNode(class WmiSignedIntegerNode const & __ptr64) __ptr64
-??0WmiSignedIntegerNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiSignedIntegerNode::WmiSignedIntegerNode(unsigned short * __ptr64,long,unsigned long,class WmiTreeNode * __ptr64) __ptr64
-??0WmiSignedIntegerNode@@QEAA@PEAGJKPEAVWmiTreeNode@@@Z
-; public: __cdecl WmiSignedIntegerRangeNode::WmiSignedIntegerRangeNode(class WmiSignedIntegerRangeNode const & __ptr64) __ptr64
-??0WmiSignedIntegerRangeNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiSignedIntegerRangeNode::WmiSignedIntegerRangeNode(unsigned short * __ptr64,unsigned long,int,int,int,int,long,long,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiSignedIntegerRangeNode@@QEAA@PEAGKHHHHJJPEAVWmiTreeNode@@1@Z
-; public: __cdecl WmiStringNode::WmiStringNode(class WmiStringNode const & __ptr64) __ptr64
-??0WmiStringNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiStringNode::WmiStringNode(unsigned short * __ptr64,unsigned short * __ptr64,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,unsigned long,class WmiTreeNode * __ptr64) __ptr64
-??0WmiStringNode@@QEAA@PEAG0W4WmiValueFunction@WmiValueNode@@1KPEAVWmiTreeNode@@@Z
-; public: __cdecl WmiStringRangeNode::WmiStringRangeNode(class WmiStringRangeNode const & __ptr64) __ptr64
-??0WmiStringRangeNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiStringRangeNode::WmiStringRangeNode(unsigned short * __ptr64,unsigned long,int,int,int,int,unsigned short * __ptr64,unsigned short * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiStringRangeNode@@QEAA@PEAGKHHHH00PEAVWmiTreeNode@@1@Z
-; public: __cdecl WmiTreeNode::WmiTreeNode(class WmiTreeNode const & __ptr64) __ptr64
-??0WmiTreeNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiTreeNode::WmiTreeNode(unsigned long,void * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiTreeNode@@QEAA@KPEAXPEAV0@11@Z
-; public: __cdecl WmiTreeNode::WmiTreeNode(class WmiTreeNode * __ptr64) __ptr64
-??0WmiTreeNode@@QEAA@PEAV0@@Z
-; public: __cdecl WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNodeIterator const & __ptr64) __ptr64
-??0WmiTreeNodeIterator@@QEAA@AEBV0@@Z
-; public: __cdecl WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNodeIterator * __ptr64) __ptr64
-??0WmiTreeNodeIterator@@QEAA@PEAV0@@Z
-; public: __cdecl WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNode * __ptr64) __ptr64
-??0WmiTreeNodeIterator@@QEAA@PEAVWmiTreeNode@@@Z
-; public: __cdecl WmiUnsignedIntegerNode::WmiUnsignedIntegerNode(class WmiUnsignedIntegerNode const & __ptr64) __ptr64
-??0WmiUnsignedIntegerNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiUnsignedIntegerNode::WmiUnsignedIntegerNode(unsigned short * __ptr64,unsigned long,unsigned long,class WmiTreeNode * __ptr64) __ptr64
-??0WmiUnsignedIntegerNode@@QEAA@PEAGKKPEAVWmiTreeNode@@@Z
-; public: __cdecl WmiUnsignedIntegerRangeNode::WmiUnsignedIntegerRangeNode(class WmiUnsignedIntegerRangeNode const & __ptr64) __ptr64
-??0WmiUnsignedIntegerRangeNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiUnsignedIntegerRangeNode::WmiUnsignedIntegerRangeNode(unsigned short * __ptr64,unsigned long,int,int,int,int,unsigned long,unsigned long,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-??0WmiUnsignedIntegerRangeNode@@QEAA@PEAGKHHHHKKPEAVWmiTreeNode@@1@Z
-; public: __cdecl WmiValueNode::WmiValueNode(class WmiValueNode const & __ptr64) __ptr64
-??0WmiValueNode@@QEAA@AEBV0@@Z
-; public: __cdecl WmiValueNode::WmiValueNode(unsigned long,unsigned short * __ptr64,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,unsigned long,class WmiTreeNode * __ptr64) __ptr64
-??0WmiValueNode@@QEAA@KPEAGW4WmiValueFunction@0@1KPEAVWmiTreeNode@@@Z
-; public: __cdecl CBString::~CBString(void) __ptr64
-??1CBString@@QEAA@XZ
-; public: __cdecl Conjunctions::~Conjunctions(void) __ptr64
-??1Conjunctions@@QEAA@XZ
-; public: __cdecl Disjunctions::~Disjunctions(void) __ptr64
-??1Disjunctions@@QEAA@XZ
-; public: virtual __cdecl PartitionSet::~PartitionSet(void) __ptr64
-??1PartitionSet@@UEAA@XZ
-; public: virtual __cdecl ProvAnalyser::~ProvAnalyser(void) __ptr64
-??1ProvAnalyser@@UEAA@XZ
-; public: virtual __cdecl ProvBitStringType::~ProvBitStringType(void) __ptr64
-??1ProvBitStringType@@UEAA@XZ
-; public: virtual __cdecl ProvCounter64::~ProvCounter64(void) __ptr64
-??1ProvCounter64@@UEAA@XZ
-; public: virtual __cdecl ProvCounter64Type::~ProvCounter64Type(void) __ptr64
-??1ProvCounter64Type@@UEAA@XZ
-; public: virtual __cdecl ProvCounter::~ProvCounter(void) __ptr64
-??1ProvCounter@@UEAA@XZ
-; public: virtual __cdecl ProvCounterType::~ProvCounterType(void) __ptr64
-??1ProvCounterType@@UEAA@XZ
-; public: virtual __cdecl ProvDateTimeType::~ProvDateTimeType(void) __ptr64
-??1ProvDateTimeType@@UEAA@XZ
-; public: virtual __cdecl ProvDisplayStringType::~ProvDisplayStringType(void) __ptr64
-??1ProvDisplayStringType@@UEAA@XZ
-; public: virtual __cdecl ProvEnumeratedType::~ProvEnumeratedType(void) __ptr64
-??1ProvEnumeratedType@@UEAA@XZ
-; public: virtual __cdecl ProvEventObject::~ProvEventObject(void) __ptr64
-??1ProvEventObject@@UEAA@XZ
-; public: virtual __cdecl ProvFixedLengthDisplayStringType::~ProvFixedLengthDisplayStringType(void) __ptr64
-??1ProvFixedLengthDisplayStringType@@UEAA@XZ
-; public: virtual __cdecl ProvFixedLengthOctetStringType::~ProvFixedLengthOctetStringType(void) __ptr64
-??1ProvFixedLengthOctetStringType@@UEAA@XZ
-; public: virtual __cdecl ProvFixedLengthOpaqueType::~ProvFixedLengthOpaqueType(void) __ptr64
-??1ProvFixedLengthOpaqueType@@UEAA@XZ
-; public: virtual __cdecl ProvFixedLengthPhysAddressType::~ProvFixedLengthPhysAddressType(void) __ptr64
-??1ProvFixedLengthPhysAddressType@@UEAA@XZ
-; public: virtual __cdecl ProvFixedType::~ProvFixedType(void) __ptr64
-??1ProvFixedType@@UEAA@XZ
-; public: virtual __cdecl ProvGauge::~ProvGauge(void) __ptr64
-??1ProvGauge@@UEAA@XZ
-; public: virtual __cdecl ProvGaugeType::~ProvGaugeType(void) __ptr64
-??1ProvGaugeType@@UEAA@XZ
-; public: virtual __cdecl ProvIPXAddressType::~ProvIPXAddressType(void) __ptr64
-??1ProvIPXAddressType@@UEAA@XZ
-; public: virtual __cdecl ProvInstanceType::~ProvInstanceType(void) __ptr64
-??1ProvInstanceType@@UEAA@XZ
-; public: virtual __cdecl ProvInteger::~ProvInteger(void) __ptr64
-??1ProvInteger@@UEAA@XZ
-; public: virtual __cdecl ProvIntegerType::~ProvIntegerType(void) __ptr64
-??1ProvIntegerType@@UEAA@XZ
-; public: virtual __cdecl ProvIpAddress::~ProvIpAddress(void) __ptr64
-??1ProvIpAddress@@UEAA@XZ
-; public: virtual __cdecl ProvIpAddressType::~ProvIpAddressType(void) __ptr64
-??1ProvIpAddressType@@UEAA@XZ
-; public: __cdecl ProvLexicon::~ProvLexicon(void) __ptr64
-??1ProvLexicon@@QEAA@XZ
-; public: virtual __cdecl ProvMacAddressType::~ProvMacAddressType(void) __ptr64
-??1ProvMacAddressType@@UEAA@XZ
-; public: virtual __cdecl ProvNegativeRangeType::~ProvNegativeRangeType(void) __ptr64
-??1ProvNegativeRangeType@@UEAA@XZ
-; public: virtual __cdecl ProvNetworkAddressType::~ProvNetworkAddressType(void) __ptr64
-??1ProvNetworkAddressType@@UEAA@XZ
-; public: virtual __cdecl ProvNull::~ProvNull(void) __ptr64
-??1ProvNull@@UEAA@XZ
-; public: virtual __cdecl ProvNullType::~ProvNullType(void) __ptr64
-??1ProvNullType@@UEAA@XZ
-; public: virtual __cdecl ProvOSIAddressType::~ProvOSIAddressType(void) __ptr64
-??1ProvOSIAddressType@@UEAA@XZ
-; public: virtual __cdecl ProvObjectIdentifier::~ProvObjectIdentifier(void) __ptr64
-??1ProvObjectIdentifier@@UEAA@XZ
-; public: virtual __cdecl ProvObjectIdentifierType::~ProvObjectIdentifierType(void) __ptr64
-??1ProvObjectIdentifierType@@UEAA@XZ
-; public: virtual __cdecl ProvOctetString::~ProvOctetString(void) __ptr64
-??1ProvOctetString@@UEAA@XZ
-; public: virtual __cdecl ProvOctetStringType::~ProvOctetStringType(void) __ptr64
-??1ProvOctetStringType@@UEAA@XZ
-; public: virtual __cdecl ProvOpaque::~ProvOpaque(void) __ptr64
-??1ProvOpaque@@UEAA@XZ
-; public: virtual __cdecl ProvOpaqueType::~ProvOpaqueType(void) __ptr64
-??1ProvOpaqueType@@UEAA@XZ
-; public: virtual __cdecl ProvPhysAddressType::~ProvPhysAddressType(void) __ptr64
-??1ProvPhysAddressType@@UEAA@XZ
-; public: virtual __cdecl ProvPositiveRangeType::~ProvPositiveRangeType(void) __ptr64
-??1ProvPositiveRangeType@@UEAA@XZ
-; public: virtual __cdecl ProvPositiveRangedType::~ProvPositiveRangedType(void) __ptr64
-??1ProvPositiveRangedType@@UEAA@XZ
-; public: virtual __cdecl ProvRowStatusType::~ProvRowStatusType(void) __ptr64
-??1ProvRowStatusType@@UEAA@XZ
-; public: virtual __cdecl ProvTimeTicks::~ProvTimeTicks(void) __ptr64
-??1ProvTimeTicks@@UEAA@XZ
-; public: virtual __cdecl ProvTimeTicksType::~ProvTimeTicksType(void) __ptr64
-??1ProvTimeTicksType@@UEAA@XZ
-; public: virtual __cdecl ProvUDPAddressType::~ProvUDPAddressType(void) __ptr64
-??1ProvUDPAddressType@@UEAA@XZ
-; public: virtual __cdecl ProvUInteger32::~ProvUInteger32(void) __ptr64
-??1ProvUInteger32@@UEAA@XZ
-; public: virtual __cdecl ProvValue::~ProvValue(void) __ptr64
-??1ProvValue@@UEAA@XZ
-; public: virtual __cdecl QueryPreprocessor::~QueryPreprocessor(void) __ptr64
-??1QueryPreprocessor@@UEAA@XZ
-; public: virtual __cdecl WmiAndNode::~WmiAndNode(void) __ptr64
-??1WmiAndNode@@UEAA@XZ
-; public: virtual __cdecl WmiNotNode::~WmiNotNode(void) __ptr64
-??1WmiNotNode@@UEAA@XZ
-; public: virtual __cdecl WmiNullNode::~WmiNullNode(void) __ptr64
-??1WmiNullNode@@UEAA@XZ
-; public: virtual __cdecl WmiNullRangeNode::~WmiNullRangeNode(void) __ptr64
-??1WmiNullRangeNode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorEqualNode::~WmiOperatorEqualNode(void) __ptr64
-??1WmiOperatorEqualNode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorEqualOrGreaterNode::~WmiOperatorEqualOrGreaterNode(void) __ptr64
-??1WmiOperatorEqualOrGreaterNode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorEqualOrLessNode::~WmiOperatorEqualOrLessNode(void) __ptr64
-??1WmiOperatorEqualOrLessNode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorGreaterNode::~WmiOperatorGreaterNode(void) __ptr64
-??1WmiOperatorGreaterNode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorIsANode::~WmiOperatorIsANode(void) __ptr64
-??1WmiOperatorIsANode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorLessNode::~WmiOperatorLessNode(void) __ptr64
-??1WmiOperatorLessNode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorLikeNode::~WmiOperatorLikeNode(void) __ptr64
-??1WmiOperatorLikeNode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorNode::~WmiOperatorNode(void) __ptr64
-??1WmiOperatorNode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorNotEqualNode::~WmiOperatorNotEqualNode(void) __ptr64
-??1WmiOperatorNotEqualNode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorNotIsANode::~WmiOperatorNotIsANode(void) __ptr64
-??1WmiOperatorNotIsANode@@UEAA@XZ
-; public: virtual __cdecl WmiOperatorNotLikeNode::~WmiOperatorNotLikeNode(void) __ptr64
-??1WmiOperatorNotLikeNode@@UEAA@XZ
-; public: virtual __cdecl WmiOrNode::~WmiOrNode(void) __ptr64
-??1WmiOrNode@@UEAA@XZ
-; public: virtual __cdecl WmiRangeNode::~WmiRangeNode(void) __ptr64
-??1WmiRangeNode@@UEAA@XZ
-; public: virtual __cdecl WmiSignedIntegerNode::~WmiSignedIntegerNode(void) __ptr64
-??1WmiSignedIntegerNode@@UEAA@XZ
-; public: virtual __cdecl WmiSignedIntegerRangeNode::~WmiSignedIntegerRangeNode(void) __ptr64
-??1WmiSignedIntegerRangeNode@@UEAA@XZ
-; public: virtual __cdecl WmiStringNode::~WmiStringNode(void) __ptr64
-??1WmiStringNode@@UEAA@XZ
-; public: virtual __cdecl WmiStringRangeNode::~WmiStringRangeNode(void) __ptr64
-??1WmiStringRangeNode@@UEAA@XZ
-; public: virtual __cdecl WmiTreeNode::~WmiTreeNode(void) __ptr64
-??1WmiTreeNode@@UEAA@XZ
-; public: virtual __cdecl WmiTreeNodeIterator::~WmiTreeNodeIterator(void) __ptr64
-??1WmiTreeNodeIterator@@UEAA@XZ
-; public: virtual __cdecl WmiUnsignedIntegerNode::~WmiUnsignedIntegerNode(void) __ptr64
-??1WmiUnsignedIntegerNode@@UEAA@XZ
-; public: virtual __cdecl WmiUnsignedIntegerRangeNode::~WmiUnsignedIntegerRangeNode(void) __ptr64
-??1WmiUnsignedIntegerRangeNode@@UEAA@XZ
-; public: virtual __cdecl WmiValueNode::~WmiValueNode(void) __ptr64
-??1WmiValueNode@@UEAA@XZ
-; public: class CBString & __ptr64 __cdecl CBString::operator=(class CBString const & __ptr64) __ptr64
-??4CBString@@QEAAAEAV0@AEBV0@@Z
-; public: class CBString const & __ptr64 __cdecl CBString::operator=(unsigned short * __ptr64) __ptr64
-??4CBString@@QEAAAEBV0@PEAG@Z
-; public: class Conjunctions & __ptr64 __cdecl Conjunctions::operator=(class Conjunctions const & __ptr64) __ptr64
-??4Conjunctions@@QEAAAEAV0@AEBV0@@Z
-; public: class Disjunctions & __ptr64 __cdecl Disjunctions::operator=(class Disjunctions const & __ptr64) __ptr64
-??4Disjunctions@@QEAAAEAV0@AEBV0@@Z
-; public: class PartitionSet & __ptr64 __cdecl PartitionSet::operator=(class PartitionSet const & __ptr64) __ptr64
-??4PartitionSet@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvAnalyser & __ptr64 __cdecl ProvAnalyser::operator=(class ProvAnalyser const & __ptr64) __ptr64
-??4ProvAnalyser@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvBitStringType & __ptr64 __cdecl ProvBitStringType::operator=(class ProvBitStringType const & __ptr64) __ptr64
-??4ProvBitStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvCounter64::operator=(class ProvCounter64 const & __ptr64) __ptr64
-??4ProvCounter64@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvCounter64Type & __ptr64 __cdecl ProvCounter64Type::operator=(class ProvCounter64Type const & __ptr64) __ptr64
-??4ProvCounter64Type@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvCounter::operator=(class ProvCounter const & __ptr64) __ptr64
-??4ProvCounter@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvCounterType & __ptr64 __cdecl ProvCounterType::operator=(class ProvCounterType const & __ptr64) __ptr64
-??4ProvCounterType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvDateTimeType & __ptr64 __cdecl ProvDateTimeType::operator=(class ProvDateTimeType const & __ptr64) __ptr64
-??4ProvDateTimeType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvDebugLog & __ptr64 __cdecl ProvDebugLog::operator=(class ProvDebugLog const & __ptr64) __ptr64
-??4ProvDebugLog@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvDisplayStringType & __ptr64 __cdecl ProvDisplayStringType::operator=(class ProvDisplayStringType const & __ptr64) __ptr64
-??4ProvDisplayStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvEnumeratedType & __ptr64 __cdecl ProvEnumeratedType::operator=(class ProvEnumeratedType const & __ptr64) __ptr64
-??4ProvEnumeratedType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvEventObject & __ptr64 __cdecl ProvEventObject::operator=(class ProvEventObject const & __ptr64) __ptr64
-??4ProvEventObject@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvFixedLengthDisplayStringType & __ptr64 __cdecl ProvFixedLengthDisplayStringType::operator=(class ProvFixedLengthDisplayStringType const & __ptr64) __ptr64
-??4ProvFixedLengthDisplayStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvFixedLengthOctetStringType & __ptr64 __cdecl ProvFixedLengthOctetStringType::operator=(class ProvFixedLengthOctetStringType const & __ptr64) __ptr64
-??4ProvFixedLengthOctetStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvFixedLengthOpaqueType & __ptr64 __cdecl ProvFixedLengthOpaqueType::operator=(class ProvFixedLengthOpaqueType const & __ptr64) __ptr64
-??4ProvFixedLengthOpaqueType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvFixedLengthPhysAddressType & __ptr64 __cdecl ProvFixedLengthPhysAddressType::operator=(class ProvFixedLengthPhysAddressType const & __ptr64) __ptr64
-??4ProvFixedLengthPhysAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvFixedType & __ptr64 __cdecl ProvFixedType::operator=(class ProvFixedType const & __ptr64) __ptr64
-??4ProvFixedType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvGauge::operator=(class ProvGauge const & __ptr64) __ptr64
-??4ProvGauge@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvGaugeType & __ptr64 __cdecl ProvGaugeType::operator=(class ProvGaugeType const & __ptr64) __ptr64
-??4ProvGaugeType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvIPXAddressType & __ptr64 __cdecl ProvIPXAddressType::operator=(class ProvIPXAddressType const & __ptr64) __ptr64
-??4ProvIPXAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvInstanceType & __ptr64 __cdecl ProvInstanceType::operator=(class ProvInstanceType const & __ptr64) __ptr64
-??4ProvInstanceType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvInteger::operator=(class ProvInteger const & __ptr64) __ptr64
-??4ProvInteger@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvIntegerType & __ptr64 __cdecl ProvIntegerType::operator=(class ProvIntegerType const & __ptr64) __ptr64
-??4ProvIntegerType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvIpAddress::operator=(class ProvIpAddress const & __ptr64) __ptr64
-??4ProvIpAddress@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvIpAddressType & __ptr64 __cdecl ProvIpAddressType::operator=(class ProvIpAddressType const & __ptr64) __ptr64
-??4ProvIpAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvLexicon & __ptr64 __cdecl ProvLexicon::operator=(class ProvLexicon const & __ptr64) __ptr64
-??4ProvLexicon@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvMacAddressType & __ptr64 __cdecl ProvMacAddressType::operator=(class ProvMacAddressType const & __ptr64) __ptr64
-??4ProvMacAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvNegativeRangeType & __ptr64 __cdecl ProvNegativeRangeType::operator=(class ProvNegativeRangeType const & __ptr64) __ptr64
-??4ProvNegativeRangeType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvNetworkAddressType & __ptr64 __cdecl ProvNetworkAddressType::operator=(class ProvNetworkAddressType const & __ptr64) __ptr64
-??4ProvNetworkAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvNull::operator=(class ProvNull const & __ptr64) __ptr64
-??4ProvNull@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvNullType & __ptr64 __cdecl ProvNullType::operator=(class ProvNullType const & __ptr64) __ptr64
-??4ProvNullType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvOSIAddressType & __ptr64 __cdecl ProvOSIAddressType::operator=(class ProvOSIAddressType const & __ptr64) __ptr64
-??4ProvOSIAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvObjectIdentifier::operator=(class ProvObjectIdentifier const & __ptr64) __ptr64
-??4ProvObjectIdentifier@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvObjectIdentifierType & __ptr64 __cdecl ProvObjectIdentifierType::operator=(class ProvObjectIdentifierType const & __ptr64) __ptr64
-??4ProvObjectIdentifierType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvOctetString::operator=(class ProvOctetString const & __ptr64) __ptr64
-??4ProvOctetString@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvOctetStringType & __ptr64 __cdecl ProvOctetStringType::operator=(class ProvOctetStringType const & __ptr64) __ptr64
-??4ProvOctetStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvOpaque::operator=(class ProvOpaque const & __ptr64) __ptr64
-??4ProvOpaque@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvOpaqueType & __ptr64 __cdecl ProvOpaqueType::operator=(class ProvOpaqueType const & __ptr64) __ptr64
-??4ProvOpaqueType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvPhysAddressType & __ptr64 __cdecl ProvPhysAddressType::operator=(class ProvPhysAddressType const & __ptr64) __ptr64
-??4ProvPhysAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvPositiveRangeType & __ptr64 __cdecl ProvPositiveRangeType::operator=(class ProvPositiveRangeType const & __ptr64) __ptr64
-??4ProvPositiveRangeType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvPositiveRangedType & __ptr64 __cdecl ProvPositiveRangedType::operator=(class ProvPositiveRangedType const & __ptr64) __ptr64
-??4ProvPositiveRangedType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvRowStatusType & __ptr64 __cdecl ProvRowStatusType::operator=(class ProvRowStatusType const & __ptr64) __ptr64
-??4ProvRowStatusType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvTimeTicks::operator=(class ProvTimeTicks const & __ptr64) __ptr64
-??4ProvTimeTicks@@QEAAAEAVProvValue@@AEBV0@@Z
-; public: class ProvTimeTicksType & __ptr64 __cdecl ProvTimeTicksType::operator=(class ProvTimeTicksType const & __ptr64) __ptr64
-??4ProvTimeTicksType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvUDPAddressType & __ptr64 __cdecl ProvUDPAddressType::operator=(class ProvUDPAddressType const & __ptr64) __ptr64
-??4ProvUDPAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class ProvValue & __ptr64 __cdecl ProvUInteger32::operator=(class ProvUInteger32 const & __ptr64) __ptr64
-??4ProvUInteger32@@QEAAAEAVProvValue@@AEBV0@@Z
-; private: class ProvValue & __ptr64 __cdecl ProvValue::operator=(class ProvValue const & __ptr64) __ptr64
-??4ProvValue@@AEAAAEAV0@AEBV0@@Z
-; public: class QueryPreprocessor & __ptr64 __cdecl QueryPreprocessor::operator=(class QueryPreprocessor const & __ptr64) __ptr64
-??4QueryPreprocessor@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiAndNode & __ptr64 __cdecl WmiAndNode::operator=(class WmiAndNode const & __ptr64) __ptr64
-??4WmiAndNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiNotNode & __ptr64 __cdecl WmiNotNode::operator=(class WmiNotNode const & __ptr64) __ptr64
-??4WmiNotNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiNullNode & __ptr64 __cdecl WmiNullNode::operator=(class WmiNullNode const & __ptr64) __ptr64
-??4WmiNullNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiNullRangeNode & __ptr64 __cdecl WmiNullRangeNode::operator=(class WmiNullRangeNode const & __ptr64) __ptr64
-??4WmiNullRangeNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorEqualNode & __ptr64 __cdecl WmiOperatorEqualNode::operator=(class WmiOperatorEqualNode const & __ptr64) __ptr64
-??4WmiOperatorEqualNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorEqualOrGreaterNode & __ptr64 __cdecl WmiOperatorEqualOrGreaterNode::operator=(class WmiOperatorEqualOrGreaterNode const & __ptr64) __ptr64
-??4WmiOperatorEqualOrGreaterNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorEqualOrLessNode & __ptr64 __cdecl WmiOperatorEqualOrLessNode::operator=(class WmiOperatorEqualOrLessNode const & __ptr64) __ptr64
-??4WmiOperatorEqualOrLessNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorGreaterNode & __ptr64 __cdecl WmiOperatorGreaterNode::operator=(class WmiOperatorGreaterNode const & __ptr64) __ptr64
-??4WmiOperatorGreaterNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorIsANode & __ptr64 __cdecl WmiOperatorIsANode::operator=(class WmiOperatorIsANode const & __ptr64) __ptr64
-??4WmiOperatorIsANode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorLessNode & __ptr64 __cdecl WmiOperatorLessNode::operator=(class WmiOperatorLessNode const & __ptr64) __ptr64
-??4WmiOperatorLessNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorLikeNode & __ptr64 __cdecl WmiOperatorLikeNode::operator=(class WmiOperatorLikeNode const & __ptr64) __ptr64
-??4WmiOperatorLikeNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorNode & __ptr64 __cdecl WmiOperatorNode::operator=(class WmiOperatorNode const & __ptr64) __ptr64
-??4WmiOperatorNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorNotEqualNode & __ptr64 __cdecl WmiOperatorNotEqualNode::operator=(class WmiOperatorNotEqualNode const & __ptr64) __ptr64
-??4WmiOperatorNotEqualNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorNotIsANode & __ptr64 __cdecl WmiOperatorNotIsANode::operator=(class WmiOperatorNotIsANode const & __ptr64) __ptr64
-??4WmiOperatorNotIsANode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOperatorNotLikeNode & __ptr64 __cdecl WmiOperatorNotLikeNode::operator=(class WmiOperatorNotLikeNode const & __ptr64) __ptr64
-??4WmiOperatorNotLikeNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiOrNode & __ptr64 __cdecl WmiOrNode::operator=(class WmiOrNode const & __ptr64) __ptr64
-??4WmiOrNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiRangeNode & __ptr64 __cdecl WmiRangeNode::operator=(class WmiRangeNode const & __ptr64) __ptr64
-??4WmiRangeNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiSignedIntegerNode & __ptr64 __cdecl WmiSignedIntegerNode::operator=(class WmiSignedIntegerNode const & __ptr64) __ptr64
-??4WmiSignedIntegerNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiSignedIntegerRangeNode & __ptr64 __cdecl WmiSignedIntegerRangeNode::operator=(class WmiSignedIntegerRangeNode const & __ptr64) __ptr64
-??4WmiSignedIntegerRangeNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiStringNode & __ptr64 __cdecl WmiStringNode::operator=(class WmiStringNode const & __ptr64) __ptr64
-??4WmiStringNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiStringRangeNode & __ptr64 __cdecl WmiStringRangeNode::operator=(class WmiStringRangeNode const & __ptr64) __ptr64
-??4WmiStringRangeNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiTreeNode & __ptr64 __cdecl WmiTreeNode::operator=(class WmiTreeNode const & __ptr64) __ptr64
-??4WmiTreeNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiTreeNodeIterator & __ptr64 __cdecl WmiTreeNodeIterator::operator=(class WmiTreeNodeIterator const & __ptr64) __ptr64
-??4WmiTreeNodeIterator@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiUnsignedIntegerNode & __ptr64 __cdecl WmiUnsignedIntegerNode::operator=(class WmiUnsignedIntegerNode const & __ptr64) __ptr64
-??4WmiUnsignedIntegerNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiUnsignedIntegerRangeNode & __ptr64 __cdecl WmiUnsignedIntegerRangeNode::operator=(class WmiUnsignedIntegerRangeNode const & __ptr64) __ptr64
-??4WmiUnsignedIntegerRangeNode@@QEAAAEAV0@AEBV0@@Z
-; public: class WmiValueNode & __ptr64 __cdecl WmiValueNode::operator=(class WmiValueNode const & __ptr64) __ptr64
-??4WmiValueNode@@QEAAAEAV0@AEBV0@@Z
-; public: int __cdecl ProvInstanceType::operator==(class ProvInstanceType const & __ptr64)const  __ptr64
-??8ProvInstanceType@@QEBAHAEBV0@@Z
-; public: int __cdecl ProvObjectIdentifier::operator==(class ProvObjectIdentifier const & __ptr64)const  __ptr64
-??8ProvObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl ProvValue::operator==(class ProvValue const & __ptr64)const  __ptr64
-??8ProvValue@@QEBAHAEBV0@@Z
-; public: int __cdecl ProvInstanceType::operator!=(class ProvInstanceType const & __ptr64)const  __ptr64
-??9ProvInstanceType@@QEBAHAEBV0@@Z
-; public: int __cdecl ProvObjectIdentifier::operator!=(class ProvObjectIdentifier const & __ptr64)const  __ptr64
-??9ProvObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl ProvValue::operator!=(class ProvValue const & __ptr64)const  __ptr64
-??9ProvValue@@QEBAHAEBV0@@Z
-; public: unsigned long & __ptr64 __cdecl ProvObjectIdentifier::operator[](unsigned long)const  __ptr64
-??AProvObjectIdentifier@@QEBAAEAKK@Z
-; public: virtual __cdecl ProvAnalyser::operator void * __ptr64(void) __ptr64
-??BProvAnalyser@@UEAAPEAXXZ
-; public: virtual __cdecl ProvInstanceType::operator void * __ptr64(void) __ptr64
-??BProvInstanceType@@UEAAPEAXXZ
-; public: virtual __cdecl ProvPositiveRangedType::operator void * __ptr64(void) __ptr64
-??BProvPositiveRangedType@@UEAAPEAXXZ
-; public: class ProvObjectIdentifier  __cdecl ProvObjectIdentifier::operator+(class ProvObjectIdentifier const & __ptr64)const  __ptr64
-??HProvObjectIdentifier@@QEBA?AV0@AEBV0@@Z
-; public: int __cdecl ProvObjectIdentifier::operator<(class ProvObjectIdentifier const & __ptr64)const  __ptr64
-??MProvObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl ProvObjectIdentifier::operator<=(class ProvObjectIdentifier const & __ptr64)const  __ptr64
-??NProvObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl ProvObjectIdentifier::operator>(class ProvObjectIdentifier const & __ptr64)const  __ptr64
-??OProvObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl ProvObjectIdentifier::operator>=(class ProvObjectIdentifier const & __ptr64)const  __ptr64
-??PProvObjectIdentifier@@QEBAHAEBV0@@Z
-; public: void * __ptr64 __cdecl ProvIpAddress::operator()(void)const  __ptr64
-??RProvIpAddress@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl ProvObjectIdentifier::operator()(void)const  __ptr64
-??RProvObjectIdentifier@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl ProvOctetString::operator()(void)const  __ptr64
-??RProvOctetString@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl ProvOpaque::operator()(void)const  __ptr64
-??RProvOpaque@@QEBAPEAXXZ
-; const  PartitionSet::`vftable'
-??_7PartitionSet@@6B@
-; const  ProvAnalyser::`vftable'
-??_7ProvAnalyser@@6B@
-; const  ProvBitStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvBitStringType@@6BProvInstanceType@@@
-; const  ProvBitStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvBitStringType@@6BProvPositiveRangedType@@@
-; const  ProvCounter64::`vftable'
-??_7ProvCounter64@@6B@
-; const  ProvCounter64Type::`vftable'
-??_7ProvCounter64Type@@6B@
-; const  ProvCounter::`vftable'
-??_7ProvCounter@@6B@
-; const  ProvCounterType::`vftable'
-??_7ProvCounterType@@6B@
-; const  ProvDateTimeType::`vftable'{for `ProvInstanceType'}
-??_7ProvDateTimeType@@6BProvInstanceType@@@
-; const  ProvDateTimeType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvDateTimeType@@6BProvPositiveRangedType@@@
-; const  ProvDisplayStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvDisplayStringType@@6BProvInstanceType@@@
-; const  ProvDisplayStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvDisplayStringType@@6BProvPositiveRangedType@@@
-; const  ProvEnumeratedType::`vftable'{for `ProvInstanceType'}
-??_7ProvEnumeratedType@@6BProvInstanceType@@@
-; const  ProvEnumeratedType::`vftable'{for `ProvNegativeRangedType'}
-??_7ProvEnumeratedType@@6BProvNegativeRangedType@@@
-; const  ProvEventObject::`vftable'
-??_7ProvEventObject@@6B@
-; const  ProvFixedLengthDisplayStringType::`vftable'
-??_7ProvFixedLengthDisplayStringType@@6B@
-; const  ProvFixedLengthDisplayStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvFixedLengthDisplayStringType@@6BProvInstanceType@@@
-; const  ProvFixedLengthDisplayStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvFixedLengthDisplayStringType@@6BProvPositiveRangedType@@@
-; const  ProvFixedLengthOctetStringType::`vftable'
-??_7ProvFixedLengthOctetStringType@@6B@
-; const  ProvFixedLengthOctetStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvFixedLengthOctetStringType@@6BProvInstanceType@@@
-; const  ProvFixedLengthOctetStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvFixedLengthOctetStringType@@6BProvPositiveRangedType@@@
-; const  ProvFixedLengthOpaqueType::`vftable'
-??_7ProvFixedLengthOpaqueType@@6B@
-; const  ProvFixedLengthOpaqueType::`vftable'{for `ProvInstanceType'}
-??_7ProvFixedLengthOpaqueType@@6BProvInstanceType@@@
-; const  ProvFixedLengthOpaqueType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvFixedLengthOpaqueType@@6BProvPositiveRangedType@@@
-; const  ProvFixedLengthPhysAddressType::`vftable'
-??_7ProvFixedLengthPhysAddressType@@6B@
-; const  ProvFixedLengthPhysAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvFixedLengthPhysAddressType@@6BProvInstanceType@@@
-; const  ProvFixedLengthPhysAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvFixedLengthPhysAddressType@@6BProvPositiveRangedType@@@
-; const  ProvFixedType::`vftable'
-??_7ProvFixedType@@6B@
-; const  ProvGauge::`vftable'
-??_7ProvGauge@@6B@
-; const  ProvGaugeType::`vftable'{for `ProvInstanceType'}
-??_7ProvGaugeType@@6BProvInstanceType@@@
-; const  ProvGaugeType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvGaugeType@@6BProvPositiveRangedType@@@
-; const  ProvIPXAddressType::`vftable'
-??_7ProvIPXAddressType@@6B@
-; const  ProvIPXAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvIPXAddressType@@6BProvInstanceType@@@
-; const  ProvIPXAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvIPXAddressType@@6BProvPositiveRangedType@@@
-; const  ProvInstanceType::`vftable'
-??_7ProvInstanceType@@6B@
-; const  ProvInteger::`vftable'
-??_7ProvInteger@@6B@
-; const  ProvIntegerType::`vftable'{for `ProvInstanceType'}
-??_7ProvIntegerType@@6BProvInstanceType@@@
-; const  ProvIntegerType::`vftable'{for `ProvNegativeRangedType'}
-??_7ProvIntegerType@@6BProvNegativeRangedType@@@
-; const  ProvIpAddress::`vftable'
-??_7ProvIpAddress@@6B@
-; const  ProvIpAddressType::`vftable'
-??_7ProvIpAddressType@@6B@
-; const  ProvMacAddressType::`vftable'
-??_7ProvMacAddressType@@6B@
-; const  ProvMacAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvMacAddressType@@6BProvInstanceType@@@
-; const  ProvMacAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvMacAddressType@@6BProvPositiveRangedType@@@
-; const  ProvNegativeRangeType::`vftable'
-??_7ProvNegativeRangeType@@6B@
-; const  ProvNetworkAddressType::`vftable'
-??_7ProvNetworkAddressType@@6B@
-; const  ProvNull::`vftable'
-??_7ProvNull@@6B@
-; const  ProvNullType::`vftable'
-??_7ProvNullType@@6B@
-; const  ProvOSIAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvOSIAddressType@@6BProvInstanceType@@@
-; const  ProvOSIAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvOSIAddressType@@6BProvPositiveRangedType@@@
-; const  ProvObjectIdentifier::`vftable'
-??_7ProvObjectIdentifier@@6B@
-; const  ProvObjectIdentifierType::`vftable'
-??_7ProvObjectIdentifierType@@6B@
-; const  ProvOctetString::`vftable'
-??_7ProvOctetString@@6B@
-; const  ProvOctetStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvOctetStringType@@6BProvInstanceType@@@
-; const  ProvOctetStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvOctetStringType@@6BProvPositiveRangedType@@@
-; const  ProvOpaque::`vftable'
-??_7ProvOpaque@@6B@
-; const  ProvOpaqueType::`vftable'{for `ProvInstanceType'}
-??_7ProvOpaqueType@@6BProvInstanceType@@@
-; const  ProvOpaqueType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvOpaqueType@@6BProvPositiveRangedType@@@
-; const  ProvPhysAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvPhysAddressType@@6BProvInstanceType@@@
-; const  ProvPhysAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvPhysAddressType@@6BProvPositiveRangedType@@@
-; const  ProvPositiveRangeType::`vftable'
-??_7ProvPositiveRangeType@@6B@
-; const  ProvPositiveRangedType::`vftable'
-??_7ProvPositiveRangedType@@6B@
-; const  ProvRowStatusType::`vftable'{for `ProvInstanceType'}
-??_7ProvRowStatusType@@6BProvInstanceType@@@
-; const  ProvRowStatusType::`vftable'{for `ProvNegativeRangedType'}
-??_7ProvRowStatusType@@6BProvNegativeRangedType@@@
-; const  ProvTimeTicks::`vftable'
-??_7ProvTimeTicks@@6B@
-; const  ProvTimeTicksType::`vftable'
-??_7ProvTimeTicksType@@6B@
-; const  ProvUDPAddressType::`vftable'
-??_7ProvUDPAddressType@@6B@
-; const  ProvUDPAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvUDPAddressType@@6BProvInstanceType@@@
-; const  ProvUDPAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvUDPAddressType@@6BProvPositiveRangedType@@@
-; const  ProvUInteger32::`vftable'
-??_7ProvUInteger32@@6B@
-; const  ProvValue::`vftable'
-??_7ProvValue@@6B@
-; const  QueryPreprocessor::`vftable'
-??_7QueryPreprocessor@@6B@
-; const  WmiAndNode::`vftable'
-??_7WmiAndNode@@6B@
-; const  WmiNotNode::`vftable'
-??_7WmiNotNode@@6B@
-; const  WmiNullNode::`vftable'
-??_7WmiNullNode@@6B@
-; const  WmiNullRangeNode::`vftable'
-??_7WmiNullRangeNode@@6B@
-; const  WmiOperatorEqualNode::`vftable'
-??_7WmiOperatorEqualNode@@6B@
-; const  WmiOperatorEqualOrGreaterNode::`vftable'
-??_7WmiOperatorEqualOrGreaterNode@@6B@
-; const  WmiOperatorEqualOrLessNode::`vftable'
-??_7WmiOperatorEqualOrLessNode@@6B@
-; const  WmiOperatorGreaterNode::`vftable'
-??_7WmiOperatorGreaterNode@@6B@
-; const  WmiOperatorIsANode::`vftable'
-??_7WmiOperatorIsANode@@6B@
-; const  WmiOperatorLessNode::`vftable'
-??_7WmiOperatorLessNode@@6B@
-; const  WmiOperatorLikeNode::`vftable'
-??_7WmiOperatorLikeNode@@6B@
-; const  WmiOperatorNode::`vftable'
-??_7WmiOperatorNode@@6B@
-; const  WmiOperatorNotEqualNode::`vftable'
-??_7WmiOperatorNotEqualNode@@6B@
-; const  WmiOperatorNotIsANode::`vftable'
-??_7WmiOperatorNotIsANode@@6B@
-; const  WmiOperatorNotLikeNode::`vftable'
-??_7WmiOperatorNotLikeNode@@6B@
-; const  WmiOrNode::`vftable'
-??_7WmiOrNode@@6B@
-; const  WmiRangeNode::`vftable'
-??_7WmiRangeNode@@6B@
-; const  WmiSignedIntegerNode::`vftable'
-??_7WmiSignedIntegerNode@@6B@
-; const  WmiSignedIntegerRangeNode::`vftable'
-??_7WmiSignedIntegerRangeNode@@6B@
-; const  WmiStringNode::`vftable'
-??_7WmiStringNode@@6B@
-; const  WmiStringRangeNode::`vftable'
-??_7WmiStringRangeNode@@6B@
-; const  WmiTreeNode::`vftable'
-??_7WmiTreeNode@@6B@
-; const  WmiTreeNodeIterator::`vftable'
-??_7WmiTreeNodeIterator@@6B@
-; const  WmiUnsignedIntegerNode::`vftable'
-??_7WmiUnsignedIntegerNode@@6B@
-; const  WmiUnsignedIntegerRangeNode::`vftable'
-??_7WmiUnsignedIntegerRangeNode@@6B@
-; const  WmiValueNode::`vftable'
-??_7WmiValueNode@@6B@
-; public: void __cdecl ProvAnalyser::`default constructor closure'(void) __ptr64
-??_FProvAnalyser@@QEAAXXZ
-; public: void __cdecl ProvDisplayStringType::`default constructor closure'(void) __ptr64
-??_FProvDisplayStringType@@QEAAXXZ
-; public: void __cdecl ProvEventObject::`default constructor closure'(void) __ptr64
-??_FProvEventObject@@QEAAXXZ
-; public: void __cdecl ProvGaugeType::`default constructor closure'(void) __ptr64
-??_FProvGaugeType@@QEAAXXZ
-; public: void __cdecl ProvInstanceType::`default constructor closure'(void) __ptr64
-??_FProvInstanceType@@QEAAXXZ
-; public: void __cdecl ProvIntegerType::`default constructor closure'(void) __ptr64
-??_FProvIntegerType@@QEAAXXZ
-; public: void __cdecl ProvOctetStringType::`default constructor closure'(void) __ptr64
-??_FProvOctetStringType@@QEAAXXZ
-; public: void __cdecl ProvOpaqueType::`default constructor closure'(void) __ptr64
-??_FProvOpaqueType@@QEAAXXZ
-; public: void __cdecl ProvPhysAddressType::`default constructor closure'(void) __ptr64
-??_FProvPhysAddressType@@QEAAXXZ
-; public: void __cdecl ProvPositiveRangedType::`default constructor closure'(void) __ptr64
-??_FProvPositiveRangedType@@QEAAXXZ
-; public: void __cdecl WmiAndNode::`default constructor closure'(void) __ptr64
-??_FWmiAndNode@@QEAAXXZ
-; public: void __cdecl WmiNotNode::`default constructor closure'(void) __ptr64
-??_FWmiNotNode@@QEAAXXZ
-; public: void __cdecl WmiOperatorEqualNode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorEqualNode@@QEAAXXZ
-; public: void __cdecl WmiOperatorEqualOrGreaterNode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorEqualOrGreaterNode@@QEAAXXZ
-; public: void __cdecl WmiOperatorEqualOrLessNode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorEqualOrLessNode@@QEAAXXZ
-; public: void __cdecl WmiOperatorGreaterNode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorGreaterNode@@QEAAXXZ
-; public: void __cdecl WmiOperatorIsANode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorIsANode@@QEAAXXZ
-; public: void __cdecl WmiOperatorLessNode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorLessNode@@QEAAXXZ
-; public: void __cdecl WmiOperatorLikeNode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorLikeNode@@QEAAXXZ
-; public: void __cdecl WmiOperatorNotEqualNode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorNotEqualNode@@QEAAXXZ
-; public: void __cdecl WmiOperatorNotIsANode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorNotIsANode@@QEAAXXZ
-; public: void __cdecl WmiOperatorNotLikeNode::`default constructor closure'(void) __ptr64
-??_FWmiOperatorNotLikeNode@@QEAAXXZ
-; public: void __cdecl WmiOrNode::`default constructor closure'(void) __ptr64
-??_FWmiOrNode@@QEAAXXZ
-; public: void __cdecl WmiTreeNode::`default constructor closure'(void) __ptr64
-??_FWmiTreeNode@@QEAAXXZ
-; protected: virtual class WmiRangeNode * __ptr64 __cdecl QueryPreprocessor::AllocInfiniteRangeNode(void * __ptr64,unsigned short * __ptr64) __ptr64
-?AllocInfiniteRangeNode@QueryPreprocessor@@MEAAPEAVWmiRangeNode@@PEAXPEAG@Z
-; protected: virtual class WmiTreeNode * __ptr64 __cdecl QueryPreprocessor::AllocTypeNode(void * __ptr64,unsigned short * __ptr64,struct tagVARIANT & __ptr64,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,class WmiTreeNode * __ptr64) __ptr64
-?AllocTypeNode@QueryPreprocessor@@MEAAPEAVWmiTreeNode@@PEAXPEAGAEAUtagVARIANT@@W4WmiValueFunction@WmiValueNode@@3PEAV2@@Z
-; protected: virtual int __cdecl ProvAnalyser::Analyse(class ProvLexicon * __ptr64,unsigned long & __ptr64,unsigned short,unsigned short const * __ptr64,unsigned long & __ptr64,int,int,int) __ptr64
-?Analyse@ProvAnalyser@@MEAAHPEAVProvLexicon@@AEAKGPEBG1HHH@Z
-; private: int __cdecl ProvBitStringType::BitStringDef(void) __ptr64
-?BitStringDef@ProvBitStringType@@AEAAHXZ
-; public: int __cdecl ProvPositiveRangedType::Check(unsigned long const & __ptr64) __ptr64
-?Check@ProvPositiveRangedType@@QEAAHAEBK@Z
-; public: void __cdecl ProvEventObject::Clear(void) __ptr64
-?Clear@ProvEventObject@@QEAAXXZ
-; public: int __cdecl WmiRangeNode::ClosedLowerBound(void) __ptr64
-?ClosedLowerBound@WmiRangeNode@@QEAAHXZ
-; public: int __cdecl WmiRangeNode::ClosedUpperBound(void) __ptr64
-?ClosedUpperBound@WmiRangeNode@@QEAAHXZ
-; public: static void __cdecl ProvDebugLog::Closedown(void)
-?Closedown@ProvDebugLog@@SAXXZ
-; protected: enum ProvObjectIdentifier::Comparison  __cdecl ProvObjectIdentifier::Compare(class ProvObjectIdentifier const & __ptr64,class ProvObjectIdentifier const & __ptr64)const  __ptr64
-?Compare@ProvObjectIdentifier@@IEBA?AW4Comparison@1@AEBV1@0@Z
-; public: long __cdecl WmiRangeNode::ComparePropertyName(class WmiRangeNode & __ptr64) __ptr64
-?ComparePropertyName@WmiRangeNode@@QEAAJAEAV1@@Z
-; public: long __cdecl WmiValueNode::ComparePropertyName(class WmiValueNode & __ptr64) __ptr64
-?ComparePropertyName@WmiValueNode@@QEAAJAEAV1@@Z
-; public: virtual void __cdecl ProvEventObject::Complete(void) __ptr64
-?Complete@ProvEventObject@@UEAAXXZ
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::ConvertToRanges(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?ConvertToRanges@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvBitStringType::Copy(void)const  __ptr64
-?Copy@ProvBitStringType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvCounter64::Copy(void)const  __ptr64
-?Copy@ProvCounter64@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvCounter64Type::Copy(void)const  __ptr64
-?Copy@ProvCounter64Type@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvCounter::Copy(void)const  __ptr64
-?Copy@ProvCounter@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvCounterType::Copy(void)const  __ptr64
-?Copy@ProvCounterType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvDateTimeType::Copy(void)const  __ptr64
-?Copy@ProvDateTimeType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvDisplayStringType::Copy(void)const  __ptr64
-?Copy@ProvDisplayStringType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvEnumeratedType::Copy(void)const  __ptr64
-?Copy@ProvEnumeratedType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvFixedLengthDisplayStringType::Copy(void)const  __ptr64
-?Copy@ProvFixedLengthDisplayStringType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvFixedLengthOctetStringType::Copy(void)const  __ptr64
-?Copy@ProvFixedLengthOctetStringType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvFixedLengthOpaqueType::Copy(void)const  __ptr64
-?Copy@ProvFixedLengthOpaqueType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvFixedLengthPhysAddressType::Copy(void)const  __ptr64
-?Copy@ProvFixedLengthPhysAddressType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvGauge::Copy(void)const  __ptr64
-?Copy@ProvGauge@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvGaugeType::Copy(void)const  __ptr64
-?Copy@ProvGaugeType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvIPXAddressType::Copy(void)const  __ptr64
-?Copy@ProvIPXAddressType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvInteger::Copy(void)const  __ptr64
-?Copy@ProvInteger@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvIntegerType::Copy(void)const  __ptr64
-?Copy@ProvIntegerType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvIpAddress::Copy(void)const  __ptr64
-?Copy@ProvIpAddress@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvIpAddressType::Copy(void)const  __ptr64
-?Copy@ProvIpAddressType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvMacAddressType::Copy(void)const  __ptr64
-?Copy@ProvMacAddressType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvNegativeRangeType * __ptr64 __cdecl ProvNegativeRangeType::Copy(void) __ptr64
-?Copy@ProvNegativeRangeType@@UEAAPEAV1@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvNetworkAddressType::Copy(void)const  __ptr64
-?Copy@ProvNetworkAddressType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvNull::Copy(void)const  __ptr64
-?Copy@ProvNull@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvNullType::Copy(void)const  __ptr64
-?Copy@ProvNullType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvOSIAddressType::Copy(void)const  __ptr64
-?Copy@ProvOSIAddressType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvObjectIdentifier::Copy(void)const  __ptr64
-?Copy@ProvObjectIdentifier@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvObjectIdentifierType::Copy(void)const  __ptr64
-?Copy@ProvObjectIdentifierType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvOctetString::Copy(void)const  __ptr64
-?Copy@ProvOctetString@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvOctetStringType::Copy(void)const  __ptr64
-?Copy@ProvOctetStringType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvOpaque::Copy(void)const  __ptr64
-?Copy@ProvOpaque@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvOpaqueType::Copy(void)const  __ptr64
-?Copy@ProvOpaqueType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvPhysAddressType::Copy(void)const  __ptr64
-?Copy@ProvPhysAddressType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvPositiveRangeType * __ptr64 __cdecl ProvPositiveRangeType::Copy(void) __ptr64
-?Copy@ProvPositiveRangeType@@UEAAPEAV1@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvRowStatusType::Copy(void)const  __ptr64
-?Copy@ProvRowStatusType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvTimeTicks::Copy(void)const  __ptr64
-?Copy@ProvTimeTicks@@UEBAPEAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvTimeTicksType::Copy(void)const  __ptr64
-?Copy@ProvTimeTicksType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvUDPAddressType::Copy(void)const  __ptr64
-?Copy@ProvUDPAddressType@@UEBAPEAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __ptr64 __cdecl ProvUInteger32::Copy(void)const  __ptr64
-?Copy@ProvUInteger32@@UEBAPEAVProvValue@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiAndNode::Copy(void) __ptr64
-?Copy@WmiAndNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiNotNode::Copy(void) __ptr64
-?Copy@WmiNotNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiNullNode::Copy(void) __ptr64
-?Copy@WmiNullNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiNullRangeNode::Copy(void) __ptr64
-?Copy@WmiNullRangeNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorEqualNode::Copy(void) __ptr64
-?Copy@WmiOperatorEqualNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorEqualOrGreaterNode::Copy(void) __ptr64
-?Copy@WmiOperatorEqualOrGreaterNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorEqualOrLessNode::Copy(void) __ptr64
-?Copy@WmiOperatorEqualOrLessNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorGreaterNode::Copy(void) __ptr64
-?Copy@WmiOperatorGreaterNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorIsANode::Copy(void) __ptr64
-?Copy@WmiOperatorIsANode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorLessNode::Copy(void) __ptr64
-?Copy@WmiOperatorLessNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorLikeNode::Copy(void) __ptr64
-?Copy@WmiOperatorLikeNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorNotEqualNode::Copy(void) __ptr64
-?Copy@WmiOperatorNotEqualNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorNotIsANode::Copy(void) __ptr64
-?Copy@WmiOperatorNotIsANode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorNotLikeNode::Copy(void) __ptr64
-?Copy@WmiOperatorNotLikeNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOrNode::Copy(void) __ptr64
-?Copy@WmiOrNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiSignedIntegerNode::Copy(void) __ptr64
-?Copy@WmiSignedIntegerNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiSignedIntegerRangeNode::Copy(void) __ptr64
-?Copy@WmiSignedIntegerRangeNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiStringNode::Copy(void) __ptr64
-?Copy@WmiStringNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiStringRangeNode::Copy(void) __ptr64
-?Copy@WmiStringRangeNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::Copy(void) __ptr64
-?Copy@WmiTreeNode@@UEAAPEAV1@XZ
-; public: virtual class WmiTreeNodeIterator * __ptr64 __cdecl WmiTreeNodeIterator::Copy(void) __ptr64
-?Copy@WmiTreeNodeIterator@@UEAAPEAV1@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiUnsignedIntegerNode::Copy(void) __ptr64
-?Copy@WmiUnsignedIntegerNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiUnsignedIntegerRangeNode::Copy(void) __ptr64
-?Copy@WmiUnsignedIntegerRangeNode@@UEAAPEAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::CopyNode(void) __ptr64
-?CopyNode@WmiTreeNode@@UEAAPEAV1@XZ
-; protected: void __cdecl QueryPreprocessor::CountDisjunctions(class WmiTreeNode * __ptr64,unsigned long & __ptr64) __ptr64
-?CountDisjunctions@QueryPreprocessor@@IEAAXPEAVWmiTreeNode@@AEAK@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::CreateDisjunctionContainer(void * __ptr64,class WmiTreeNode * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64,class Disjunctions * __ptr64 & __ptr64) __ptr64
-?CreateDisjunctionContainer@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAXPEAVWmiTreeNode@@KPEAPEAGAEAPEAVDisjunctions@@@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::CreateDisjunctions(void * __ptr64,class WmiTreeNode * __ptr64,class Disjunctions * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64,unsigned long & __ptr64) __ptr64
-?CreateDisjunctions@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAXPEAVWmiTreeNode@@PEAVDisjunctions@@KPEAPEAGAEAK@Z
-; protected: virtual class ProvLexicon * __ptr64 __cdecl ProvAnalyser::CreateLexicon(void) __ptr64
-?CreateLexicon@ProvAnalyser@@MEAAPEAVProvLexicon@@XZ
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::CreatePartitionSet(class Disjunctions * __ptr64,class PartitionSet * __ptr64 & __ptr64) __ptr64
-?CreatePartitionSet@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAVDisjunctions@@AEAPEAVPartitionSet@@@Z
-; public: class ProvObjectIdentifier * __ptr64 __cdecl ProvObjectIdentifier::Cut(class ProvObjectIdentifier & __ptr64)const  __ptr64
-?Cut@ProvObjectIdentifier@@QEBAPEAV1@AEAV1@@Z
-; private: int __cdecl ProvDateTimeType::DateTimeDef(void) __ptr64
-?DateTimeDef@ProvDateTimeType@@AEAAHXZ
-; unsigned short * __ptr64 __cdecl DbcsToUnicodeString(char const * __ptr64)
-?DbcsToUnicodeString@@YAPEAGPEBD@Z
-; public: static unsigned long __cdecl ProvAnalyser::DecCharToDecInteger(char)
-?DecCharToDecInteger@ProvAnalyser@@SAKD@Z
-; public: static char __cdecl ProvAnalyser::DecIntegerToDecChar(unsigned char)
-?DecIntegerToDecChar@ProvAnalyser@@SADE@Z
-; public: static unsigned short __cdecl ProvAnalyser::DecIntegerToDecWChar(unsigned char)
-?DecIntegerToDecWChar@ProvAnalyser@@SAGE@Z
-; public: static char __cdecl ProvAnalyser::DecIntegerToHexChar(unsigned char)
-?DecIntegerToHexChar@ProvAnalyser@@SADE@Z
-; public: static unsigned short __cdecl ProvAnalyser::DecIntegerToHexWChar(unsigned char)
-?DecIntegerToHexWChar@ProvAnalyser@@SAGE@Z
-; public: static char __cdecl ProvAnalyser::DecIntegerToOctChar(unsigned char)
-?DecIntegerToOctChar@ProvAnalyser@@SADE@Z
-; public: static unsigned short __cdecl ProvAnalyser::DecIntegerToOctWChar(unsigned char)
-?DecIntegerToOctWChar@ProvAnalyser@@SAGE@Z
-; public: static unsigned long __cdecl ProvAnalyser::DecWCharToDecInteger(unsigned short)
-?DecWCharToDecInteger@ProvAnalyser@@SAKG@Z
-; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::DisjunctiveNormalForm(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?DisjunctiveNormalForm@QueryPreprocessor@@IEAA?AW4QuadState@1@AEAPEAVWmiTreeNode@@@Z
-; private: void __cdecl ProvDateTimeType::Encode(unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64) __ptr64
-?Encode@ProvDateTimeType@@AEAAXAEBK0000000000@Z
-; private: int __cdecl ProvEnumeratedType::EnumerationDef(void) __ptr64
-?EnumerationDef@ProvEnumeratedType@@AEAAHXZ
-; protected: virtual int __cdecl ProvCounter64::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvCounter64@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvCounter64::Equivalent(class ProvCounter64 const & __ptr64)const  __ptr64
-?Equivalent@ProvCounter64@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl ProvCounter64Type::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvCounter64Type@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvCounter::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvCounter@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvCounter::Equivalent(class ProvCounter const & __ptr64)const  __ptr64
-?Equivalent@ProvCounter@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl ProvCounterType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvCounterType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvGauge::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvGauge@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvGauge::Equivalent(class ProvGauge const & __ptr64)const  __ptr64
-?Equivalent@ProvGauge@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl ProvGaugeType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvGaugeType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvInteger::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvInteger@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvInteger::Equivalent(class ProvInteger const & __ptr64)const  __ptr64
-?Equivalent@ProvInteger@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl ProvIntegerType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvIntegerType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvIpAddress::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvIpAddress@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvIpAddress::Equivalent(class ProvIpAddress const & __ptr64)const  __ptr64
-?Equivalent@ProvIpAddress@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl ProvIpAddressType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvIpAddressType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvNetworkAddressType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvNetworkAddressType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvNull::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvNull@@MEBAHAEBVProvValue@@@Z
-; protected: virtual int __cdecl ProvNullType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvNullType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: int __cdecl ProvObjectIdentifier::Equivalent(class ProvObjectIdentifier const & __ptr64)const  __ptr64
-?Equivalent@ProvObjectIdentifier@@IEBAHAEBV1@@Z
-; protected: virtual int __cdecl ProvObjectIdentifier::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvObjectIdentifier@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvObjectIdentifier::Equivalent(class ProvObjectIdentifier const & __ptr64,unsigned long)const  __ptr64
-?Equivalent@ProvObjectIdentifier@@QEBAHAEBV1@K@Z
-; protected: virtual int __cdecl ProvObjectIdentifierType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvObjectIdentifierType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvOctetString::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvOctetString@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvOctetString::Equivalent(class ProvOctetString const & __ptr64)const  __ptr64
-?Equivalent@ProvOctetString@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl ProvOctetStringType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvOctetStringType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvOpaque::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvOpaque@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvOpaque::Equivalent(class ProvOpaque const & __ptr64)const  __ptr64
-?Equivalent@ProvOpaque@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl ProvOpaqueType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvOpaqueType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvTimeTicks::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvTimeTicks@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvTimeTicks::Equivalent(class ProvTimeTicks const & __ptr64)const  __ptr64
-?Equivalent@ProvTimeTicks@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl ProvTimeTicksType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
-?Equivalent@ProvTimeTicksType@@MEBAHAEBVProvInstanceType@@@Z
-; protected: virtual int __cdecl ProvUInteger32::Equivalent(class ProvValue const & __ptr64)const  __ptr64
-?Equivalent@ProvUInteger32@@MEBAHAEBVProvValue@@@Z
-; public: int __cdecl ProvUInteger32::Equivalent(class ProvUInteger32 const & __ptr64)const  __ptr64
-?Equivalent@ProvUInteger32@@QEBAHAEBV1@@Z
-; protected: int __cdecl QueryPreprocessor::Evaluate(void * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION & __ptr64,class WmiTreeNode * __ptr64 * __ptr64) __ptr64
-?Evaluate@QueryPreprocessor@@IEAAHPEAXAEAUSQL_LEVEL_1_RPN_EXPRESSION@@PEAPEAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::EvaluateAndExpression(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?EvaluateAndExpression@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::EvaluateNotEqualExpression(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?EvaluateNotEqualExpression@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::EvaluateNotExpression(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?EvaluateNotExpression@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::EvaluateOrExpression(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?EvaluateOrExpression@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
-; public: class ProvLexicon * __ptr64 __cdecl ProvAnalyser::Get(int,int,int) __ptr64
-?Get@ProvAnalyser@@QEAAPEAVProvLexicon@@HHH@Z
-; private: class ProvLexicon * __ptr64 __cdecl ProvBitStringType::Get(void) __ptr64
-?Get@ProvBitStringType@@AEAAPEAVProvLexicon@@XZ
-; private: class ProvLexicon * __ptr64 __cdecl ProvDateTimeType::Get(void) __ptr64
-?Get@ProvDateTimeType@@AEAAPEAVProvLexicon@@XZ
-; private: class ProvLexicon * __ptr64 __cdecl ProvEnumeratedType::Get(void) __ptr64
-?Get@ProvEnumeratedType@@AEAAPEAVProvLexicon@@XZ
-; protected: class ProvLexicon * __ptr64 __cdecl ProvPositiveRangedType::Get(void) __ptr64
-?Get@ProvPositiveRangedType@@IEAAPEAVProvLexicon@@XZ
-; public: char * __ptr64 __cdecl ProvObjectIdentifier::GetAllocatedString(void)const  __ptr64
-?GetAllocatedString@ProvObjectIdentifier@@QEBAPEADXZ
-; public: unsigned long __cdecl Disjunctions::GetConjunctionCount(void) __ptr64
-?GetConjunctionCount@Disjunctions@@QEAAKXZ
-; public: enum WmiValueNode::WmiValueFunction  __cdecl WmiValueNode::GetConstantFunction(void) __ptr64
-?GetConstantFunction@WmiValueNode@@QEAA?AW4WmiValueFunction@1@XZ
-; public: void * __ptr64 __cdecl WmiTreeNode::GetData(void) __ptr64
-?GetData@WmiTreeNode@@QEAAPEAXXZ
-; public: void __cdecl WmiTreeNode::GetData(void * __ptr64 * __ptr64) __ptr64
-?GetData@WmiTreeNode@@QEAAXPEAPEAX@Z
-; public: class Conjunctions * __ptr64 __cdecl Disjunctions::GetDisjunction(unsigned long) __ptr64
-?GetDisjunction@Disjunctions@@QEAAPEAVConjunctions@@K@Z
-; public: unsigned long __cdecl Disjunctions::GetDisjunctionCount(void) __ptr64
-?GetDisjunctionCount@Disjunctions@@QEAAKXZ
-; public: void * __ptr64 __cdecl ProvEventObject::GetHandle(void) __ptr64
-?GetHandle@ProvEventObject@@QEAAPEAXXZ
-; public: unsigned long __cdecl ProvCounter64::GetHighValue(void)const  __ptr64
-?GetHighValue@ProvCounter64@@QEBAKXZ
-; public: unsigned long __cdecl WmiRangeNode::GetIndex(void) __ptr64
-?GetIndex@WmiRangeNode@@QEAAKXZ
-; public: unsigned long __cdecl WmiValueNode::GetIndex(void) __ptr64
-?GetIndex@WmiValueNode@@QEAAKXZ
-; public: enum WmiTriState  __cdecl WmiSignedIntegerRangeNode::GetIntersectingRange(class WmiSignedIntegerRangeNode & __ptr64,class WmiSignedIntegerRangeNode * __ptr64 & __ptr64) __ptr64
-?GetIntersectingRange@WmiSignedIntegerRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
-; public: enum WmiTriState  __cdecl WmiStringRangeNode::GetIntersectingRange(class WmiStringRangeNode & __ptr64,class WmiStringRangeNode * __ptr64 & __ptr64) __ptr64
-?GetIntersectingRange@WmiStringRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
-; public: enum WmiTriState  __cdecl WmiUnsignedIntegerRangeNode::GetIntersectingRange(class WmiUnsignedIntegerRangeNode & __ptr64,class WmiUnsignedIntegerRangeNode * __ptr64 & __ptr64) __ptr64
-?GetIntersectingRange@WmiUnsignedIntegerRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
-; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNodeIterator::GetIterator(void) __ptr64
-?GetIterator@WmiTreeNodeIterator@@QEAAPEAVWmiTreeNode@@XZ
-; public: unsigned long __cdecl PartitionSet::GetKeyIndex(void) __ptr64
-?GetKeyIndex@PartitionSet@@QEAAKXZ
-; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::GetLeft(void) __ptr64
-?GetLeft@WmiTreeNode@@QEAAPEAV1@XZ
-; public: void __cdecl WmiTreeNode::GetLeft(class WmiTreeNode * __ptr64 * __ptr64 & __ptr64) __ptr64
-?GetLeft@WmiTreeNode@@QEAAXAEAPEAPEAV1@@Z
-; public: unsigned long __cdecl ProvDebugLog::GetLevel(void) __ptr64
-?GetLevel@ProvDebugLog@@QEAAKXZ
-; public: int __cdecl ProvDebugLog::GetLogging(void) __ptr64
-?GetLogging@ProvDebugLog@@QEAAHXZ
-; public: unsigned long __cdecl ProvCounter64::GetLowValue(void)const  __ptr64
-?GetLowValue@ProvCounter64@@QEBAKXZ
-; public: long __cdecl ProvNegativeRangeType::GetLowerBound(void) __ptr64
-?GetLowerBound@ProvNegativeRangeType@@QEAAJXZ
-; public: unsigned long __cdecl ProvPositiveRangeType::GetLowerBound(void) __ptr64
-?GetLowerBound@ProvPositiveRangeType@@QEAAKXZ
-; public: enum WmiTriState  __cdecl WmiSignedIntegerRangeNode::GetOverlappingRange(class WmiSignedIntegerRangeNode & __ptr64,class WmiSignedIntegerRangeNode * __ptr64 & __ptr64) __ptr64
-?GetOverlappingRange@WmiSignedIntegerRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
-; public: enum WmiTriState  __cdecl WmiStringRangeNode::GetOverlappingRange(class WmiStringRangeNode & __ptr64,class WmiStringRangeNode * __ptr64 & __ptr64) __ptr64
-?GetOverlappingRange@WmiStringRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
-; public: enum WmiTriState  __cdecl WmiUnsignedIntegerRangeNode::GetOverlappingRange(class WmiUnsignedIntegerRangeNode & __ptr64,class WmiUnsignedIntegerRangeNode * __ptr64 & __ptr64) __ptr64
-?GetOverlappingRange@WmiUnsignedIntegerRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
-; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::GetParent(void) __ptr64
-?GetParent@WmiTreeNode@@QEAAPEAV1@XZ
-; public: void __cdecl WmiTreeNode::GetParent(class WmiTreeNode * __ptr64 * __ptr64 & __ptr64) __ptr64
-?GetParent@WmiTreeNode@@QEAAXAEAPEAPEAV1@@Z
-; public: class PartitionSet * __ptr64 __cdecl PartitionSet::GetPartition(unsigned long) __ptr64
-?GetPartition@PartitionSet@@QEAAPEAV1@K@Z
-; public: unsigned long __cdecl PartitionSet::GetPartitionCount(void) __ptr64
-?GetPartitionCount@PartitionSet@@QEAAKXZ
-; public: enum WmiValueNode::WmiValueFunction  __cdecl WmiValueNode::GetPropertyFunction(void) __ptr64
-?GetPropertyFunction@WmiValueNode@@QEAA?AW4WmiValueFunction@1@XZ
-; public: unsigned short * __ptr64 __cdecl WmiRangeNode::GetPropertyName(void) __ptr64
-?GetPropertyName@WmiRangeNode@@QEAAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl WmiValueNode::GetPropertyName(void) __ptr64
-?GetPropertyName@WmiValueNode@@QEAAPEAGXZ
-; public: static class ProvDebugLog * __ptr64 __cdecl ProvDebugLog::GetProvDebugLog(char)
-?GetProvDebugLog@ProvDebugLog@@SAPEAV1@D@Z
-; public: class WmiRangeNode * __ptr64 __cdecl Conjunctions::GetRange(unsigned long) __ptr64
-?GetRange@Conjunctions@@QEAAPEAVWmiRangeNode@@K@Z
-; public: class WmiRangeNode * __ptr64 __cdecl PartitionSet::GetRange(void) __ptr64
-?GetRange@PartitionSet@@QEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorEqualNode::GetRange(void) __ptr64
-?GetRange@WmiOperatorEqualNode@@UEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorEqualOrGreaterNode::GetRange(void) __ptr64
-?GetRange@WmiOperatorEqualOrGreaterNode@@UEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorEqualOrLessNode::GetRange(void) __ptr64
-?GetRange@WmiOperatorEqualOrLessNode@@UEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorGreaterNode::GetRange(void) __ptr64
-?GetRange@WmiOperatorGreaterNode@@UEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorIsANode::GetRange(void) __ptr64
-?GetRange@WmiOperatorIsANode@@UEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorLessNode::GetRange(void) __ptr64
-?GetRange@WmiOperatorLessNode@@UEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorLikeNode::GetRange(void) __ptr64
-?GetRange@WmiOperatorLikeNode@@UEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorNotEqualNode::GetRange(void) __ptr64
-?GetRange@WmiOperatorNotEqualNode@@UEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorNotIsANode::GetRange(void) __ptr64
-?GetRange@WmiOperatorNotIsANode@@UEAAPEAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorNotLikeNode::GetRange(void) __ptr64
-?GetRange@WmiOperatorNotLikeNode@@UEAAPEAVWmiRangeNode@@XZ
-; public: unsigned long __cdecl Conjunctions::GetRangeCount(void) __ptr64
-?GetRangeCount@Conjunctions@@QEAAKXZ
-; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::GetRight(void) __ptr64
-?GetRight@WmiTreeNode@@QEAAPEAV1@XZ
-; public: void __cdecl WmiTreeNode::GetRight(class WmiTreeNode * __ptr64 * __ptr64 & __ptr64) __ptr64
-?GetRight@WmiTreeNode@@QEAAXAEAPEAPEAV1@@Z
-; public: enum ProvRowStatusType::ProvRowStatusEnum  __cdecl ProvRowStatusType::GetRowStatus(void)const  __ptr64
-?GetRowStatus@ProvRowStatusType@@QEBA?AW4ProvRowStatusEnum@1@XZ
-; public: unsigned short * __ptr64 __cdecl CBString::GetString(void) __ptr64
-?GetString@CBString@@QEAAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvBitStringType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvBitStringType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvCounter64Type::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvCounter64Type@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvCounterType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvCounterType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvDateTimeType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvDateTimeType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvDisplayStringType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvDisplayStringType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvEnumeratedType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvEnumeratedType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvFixedLengthDisplayStringType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvFixedLengthDisplayStringType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvFixedLengthPhysAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvFixedLengthPhysAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvGaugeType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvGaugeType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvIPXAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvIPXAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvIntegerType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvIntegerType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvIpAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvIpAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvMacAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvMacAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvNetworkAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvNetworkAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvNullType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvNullType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvOSIAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvOSIAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvObjectIdentifierType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvObjectIdentifierType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvOctetStringType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvOctetStringType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvOpaqueType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvOpaqueType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvPhysAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvPhysAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvRowStatusType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvRowStatusType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvTimeTicksType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvTimeTicksType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl ProvUDPAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@ProvUDPAddressType@@UEBAPEAGXZ
-; private: class ProvLexicon * __ptr64 __cdecl ProvAnalyser::GetToken(int,int,int) __ptr64
-?GetToken@ProvAnalyser@@AEAAPEAVProvLexicon@@HHH@Z
-; public: enum ProvLexicon::LexiconToken  __cdecl ProvLexicon::GetToken(void) __ptr64
-?GetToken@ProvLexicon@@QEAA?AW4LexiconToken@1@XZ
-; public: unsigned long __cdecl WmiTreeNode::GetType(void) __ptr64
-?GetType@WmiTreeNode@@QEAAKXZ
-; public: long __cdecl ProvNegativeRangeType::GetUpperBound(void) __ptr64
-?GetUpperBound@ProvNegativeRangeType@@QEAAJXZ
-; public: unsigned long __cdecl ProvPositiveRangeType::GetUpperBound(void) __ptr64
-?GetUpperBound@ProvPositiveRangeType@@QEAAKXZ
-; public: unsigned long __cdecl ProvBitStringType::GetValue(unsigned short * __ptr64 * __ptr64 & __ptr64)const  __ptr64
-?GetValue@ProvBitStringType@@QEBAKAEAPEAPEAG@Z
-; public: void __cdecl ProvCounter64Type::GetValue(unsigned long & __ptr64,unsigned long & __ptr64)const  __ptr64
-?GetValue@ProvCounter64Type@@QEBAXAEAK0@Z
-; public: unsigned long __cdecl ProvCounter::GetValue(void)const  __ptr64
-?GetValue@ProvCounter@@QEBAKXZ
-; public: unsigned long __cdecl ProvCounterType::GetValue(void)const  __ptr64
-?GetValue@ProvCounterType@@QEBAKXZ
-; public: unsigned short * __ptr64 __cdecl ProvDateTimeType::GetValue(void)const  __ptr64
-?GetValue@ProvDateTimeType@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl ProvDisplayStringType::GetValue(void)const  __ptr64
-?GetValue@ProvDisplayStringType@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl ProvEnumeratedType::GetValue(void)const  __ptr64
-?GetValue@ProvEnumeratedType@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl ProvFixedLengthDisplayStringType::GetValue(void)const  __ptr64
-?GetValue@ProvFixedLengthDisplayStringType@@QEBAPEAGXZ
-; public: unsigned long __cdecl ProvGauge::GetValue(void)const  __ptr64
-?GetValue@ProvGauge@@QEBAKXZ
-; public: unsigned long __cdecl ProvGaugeType::GetValue(void)const  __ptr64
-?GetValue@ProvGaugeType@@QEBAKXZ
-; public: long __cdecl ProvInteger::GetValue(void)const  __ptr64
-?GetValue@ProvInteger@@QEBAJXZ
-; public: long __cdecl ProvIntegerType::GetValue(void)const  __ptr64
-?GetValue@ProvIntegerType@@QEBAJXZ
-; public: unsigned long __cdecl ProvIpAddress::GetValue(void)const  __ptr64
-?GetValue@ProvIpAddress@@QEBAKXZ
-; public: unsigned long __cdecl ProvIpAddressType::GetValue(void)const  __ptr64
-?GetValue@ProvIpAddressType@@QEBAKXZ
-; public: union ProvLexiconValue * __ptr64 __cdecl ProvLexicon::GetValue(void) __ptr64
-?GetValue@ProvLexicon@@QEAAPEATProvLexiconValue@@XZ
-; public: unsigned long __cdecl ProvNetworkAddressType::GetValue(void)const  __ptr64
-?GetValue@ProvNetworkAddressType@@QEBAKXZ
-; public: unsigned long * __ptr64 __cdecl ProvObjectIdentifier::GetValue(void)const  __ptr64
-?GetValue@ProvObjectIdentifier@@QEBAPEAKXZ
-; public: unsigned long * __ptr64 __cdecl ProvObjectIdentifierType::GetValue(void)const  __ptr64
-?GetValue@ProvObjectIdentifierType@@QEBAPEAKXZ
-; public: unsigned char * __ptr64 __cdecl ProvOctetString::GetValue(void)const  __ptr64
-?GetValue@ProvOctetString@@QEBAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl ProvOctetStringType::GetValue(void)const  __ptr64
-?GetValue@ProvOctetStringType@@QEBAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl ProvOpaque::GetValue(void)const  __ptr64
-?GetValue@ProvOpaque@@QEBAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl ProvOpaqueType::GetValue(void)const  __ptr64
-?GetValue@ProvOpaqueType@@QEBAPEAEXZ
-; public: unsigned short * __ptr64 __cdecl ProvRowStatusType::GetValue(void)const  __ptr64
-?GetValue@ProvRowStatusType@@QEBAPEAGXZ
-; public: unsigned long __cdecl ProvTimeTicks::GetValue(void)const  __ptr64
-?GetValue@ProvTimeTicks@@QEBAKXZ
-; public: unsigned long __cdecl ProvTimeTicksType::GetValue(void)const  __ptr64
-?GetValue@ProvTimeTicksType@@QEBAKXZ
-; public: unsigned long __cdecl ProvUInteger32::GetValue(void)const  __ptr64
-?GetValue@ProvUInteger32@@QEBAKXZ
-; public: long __cdecl WmiSignedIntegerNode::GetValue(void) __ptr64
-?GetValue@WmiSignedIntegerNode@@QEAAJXZ
-; public: unsigned short * __ptr64 __cdecl WmiStringNode::GetValue(void) __ptr64
-?GetValue@WmiStringNode@@QEAAPEAGXZ
-; public: unsigned long __cdecl WmiUnsignedIntegerNode::GetValue(void) __ptr64
-?GetValue@WmiUnsignedIntegerNode@@QEAAKXZ
-; public: unsigned long __cdecl ProvObjectIdentifier::GetValueLength(void)const  __ptr64
-?GetValueLength@ProvObjectIdentifier@@QEBAKXZ
-; public: unsigned long __cdecl ProvObjectIdentifierType::GetValueLength(void)const  __ptr64
-?GetValueLength@ProvObjectIdentifierType@@QEBAKXZ
-; public: unsigned long __cdecl ProvOctetString::GetValueLength(void)const  __ptr64
-?GetValueLength@ProvOctetString@@QEBAKXZ
-; public: unsigned long __cdecl ProvOctetStringType::GetValueLength(void)const  __ptr64
-?GetValueLength@ProvOctetStringType@@QEBAKXZ
-; public: unsigned long __cdecl ProvOpaque::GetValueLength(void)const  __ptr64
-?GetValueLength@ProvOpaque@@QEBAKXZ
-; public: unsigned long __cdecl ProvOpaqueType::GetValueLength(void)const  __ptr64
-?GetValueLength@ProvOpaqueType@@QEBAKXZ
-; public: static unsigned long __cdecl ProvAnalyser::HexCharToDecInteger(char)
-?HexCharToDecInteger@ProvAnalyser@@SAKD@Z
-; public: static unsigned long __cdecl ProvAnalyser::HexWCharToDecInteger(unsigned short)
-?HexWCharToDecInteger@ProvAnalyser@@SAKG@Z
-; public: int __cdecl WmiRangeNode::InfiniteLowerBound(void) __ptr64
-?InfiniteLowerBound@WmiRangeNode@@QEAAHXZ
-; public: int __cdecl WmiRangeNode::InfiniteUpperBound(void) __ptr64
-?InfiniteUpperBound@WmiRangeNode@@QEAAHXZ
-; protected: virtual void __cdecl ProvAnalyser::Initialise(void) __ptr64
-?Initialise@ProvAnalyser@@MEAAXXZ
-; public: enum WmiTriState  __cdecl Conjunctions::Initialize(void) __ptr64
-?Initialize@Conjunctions@@QEAA?AW4WmiTriState@@XZ
-; public: enum WmiTriState  __cdecl Disjunctions::Initialize(void) __ptr64
-?Initialize@Disjunctions@@QEAA?AW4WmiTriState@@XZ
-; public: enum WmiTriState  __cdecl PartitionSet::Initialize(unsigned long) __ptr64
-?Initialize@PartitionSet@@QEAA?AW4WmiTriState@@K@Z
-; protected: virtual void __cdecl ProvObjectIdentifier::Initialize(unsigned long const * __ptr64,unsigned long) __ptr64
-?Initialize@ProvObjectIdentifier@@MEAAXPEBKK@Z
-; protected: virtual void __cdecl ProvOctetString::Initialize(unsigned char const * __ptr64,unsigned long) __ptr64
-?Initialize@ProvOctetString@@MEAAXPEBEK@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::InsertNode(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?InsertNode@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@0@Z
-; protected: virtual enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::InvariantEvaluate(void * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?InvariantEvaluate@QueryPreprocessor@@MEAA?AW4QuadState@1@PEAXPEAVWmiTreeNode@@1@Z
-; public: static int __cdecl ProvAnalyser::IsAlpha(unsigned short)
-?IsAlpha@ProvAnalyser@@SAHG@Z
-; public: static int __cdecl ProvAnalyser::IsAlphaNumeric(unsigned short)
-?IsAlphaNumeric@ProvAnalyser@@SAHG@Z
-; public: static int __cdecl ProvAnalyser::IsDecimal(unsigned short)
-?IsDecimal@ProvAnalyser@@SAHG@Z
-; public: static int __cdecl ProvAnalyser::IsEof(unsigned short)
-?IsEof@ProvAnalyser@@SAHG@Z
-; public: static int __cdecl ProvAnalyser::IsHex(unsigned short)
-?IsHex@ProvAnalyser@@SAHG@Z
-; public: static int __cdecl ProvAnalyser::IsLeadingDecimal(unsigned short)
-?IsLeadingDecimal@ProvAnalyser@@SAHG@Z
-; public: virtual int __cdecl ProvInstanceType::IsNull(void)const  __ptr64
-?IsNull@ProvInstanceType@@UEBAHXZ
-; public: static int __cdecl ProvAnalyser::IsOctal(unsigned short)
-?IsOctal@ProvAnalyser@@SAHG@Z
-; public: virtual int __cdecl ProvCounter64Type::IsProvV1Type(void)const  __ptr64
-?IsProvV1Type@ProvCounter64Type@@UEBAHXZ
-; public: virtual int __cdecl ProvInstanceType::IsProvV1Type(void)const  __ptr64
-?IsProvV1Type@ProvInstanceType@@UEBAHXZ
-; public: virtual int __cdecl ProvInstanceType::IsProvV2CType(void)const  __ptr64
-?IsProvV2CType@ProvInstanceType@@UEBAHXZ
-; public: virtual int __cdecl ProvNullType::IsProvV2CType(void)const  __ptr64
-?IsProvV2CType@ProvNullType@@UEBAHXZ
-; public: virtual int __cdecl ProvInstanceType::IsValid(void)const  __ptr64
-?IsValid@ProvInstanceType@@UEBAHXZ
-; public: int __cdecl ProvPositiveRangedType::IsValid(void) __ptr64
-?IsValid@ProvPositiveRangedType@@QEAAHXZ
-; public: static int __cdecl ProvAnalyser::IsWhitespace(unsigned short)
-?IsWhitespace@ProvAnalyser@@SAHG@Z
-; public: int __cdecl PartitionSet::Leaf(void) __ptr64
-?Leaf@PartitionSet@@QEAAHXZ
-; public: int __cdecl WmiSignedIntegerNode::LexicographicallyAfter(long & __ptr64) __ptr64
-?LexicographicallyAfter@WmiSignedIntegerNode@@QEAAHAEAJ@Z
-; public: int __cdecl WmiStringNode::LexicographicallyAfter(unsigned short * __ptr64 & __ptr64) __ptr64
-?LexicographicallyAfter@WmiStringNode@@QEAAHAEAPEAG@Z
-; public: int __cdecl WmiUnsignedIntegerNode::LexicographicallyAfter(unsigned long & __ptr64) __ptr64
-?LexicographicallyAfter@WmiUnsignedIntegerNode@@QEAAHAEAK@Z
-; public: int __cdecl WmiSignedIntegerNode::LexicographicallyBefore(long & __ptr64) __ptr64
-?LexicographicallyBefore@WmiSignedIntegerNode@@QEAAHAEAJ@Z
-; public: int __cdecl WmiStringNode::LexicographicallyBefore(unsigned short * __ptr64 & __ptr64) __ptr64
-?LexicographicallyBefore@WmiStringNode@@QEAAHAEAPEAG@Z
-; public: int __cdecl WmiUnsignedIntegerNode::LexicographicallyBefore(unsigned long & __ptr64) __ptr64
-?LexicographicallyBefore@WmiUnsignedIntegerNode@@QEAAHAEAK@Z
-; public: long __cdecl WmiSignedIntegerRangeNode::LowerBound(void) __ptr64
-?LowerBound@WmiSignedIntegerRangeNode@@QEAAJXZ
-; public: unsigned short * __ptr64 __cdecl WmiStringRangeNode::LowerBound(void) __ptr64
-?LowerBound@WmiStringRangeNode@@QEAAPEAGXZ
-; public: unsigned long __cdecl WmiUnsignedIntegerRangeNode::LowerBound(void) __ptr64
-?LowerBound@WmiUnsignedIntegerRangeNode@@QEAAKXZ
-; private: class ProvLexicon * __ptr64 __cdecl ProvBitStringType::Match(enum ProvLexicon::LexiconToken) __ptr64
-?Match@ProvBitStringType@@AEAAPEAVProvLexicon@@W4LexiconToken@2@@Z
-; private: class ProvLexicon * __ptr64 __cdecl ProvDateTimeType::Match(enum ProvLexicon::LexiconToken) __ptr64
-?Match@ProvDateTimeType@@AEAAPEAVProvLexicon@@W4LexiconToken@2@@Z
-; private: class ProvLexicon * __ptr64 __cdecl ProvEnumeratedType::Match(enum ProvLexicon::LexiconToken) __ptr64
-?Match@ProvEnumeratedType@@AEAAPEAVProvLexicon@@W4LexiconToken@2@@Z
-; protected: class ProvLexicon * __ptr64 __cdecl ProvPositiveRangedType::Match(enum ProvLexicon::LexiconToken) __ptr64
-?Match@ProvPositiveRangedType@@IEAAPEAVProvLexicon@@W4LexiconToken@2@@Z
-; public: static unsigned long __cdecl ProvAnalyser::OctCharToDecInteger(char)
-?OctCharToDecInteger@ProvAnalyser@@SAKD@Z
-; public: static unsigned long __cdecl ProvAnalyser::OctWCharToDecInteger(unsigned short)
-?OctWCharToDecInteger@ProvAnalyser@@SAKG@Z
-; private: void __cdecl ProvObjectIdentifier::OverWrite(unsigned long const * __ptr64) __ptr64
-?OverWrite@ProvObjectIdentifier@@AEAAXPEBK@Z
-; private: void __cdecl ProvOctetString::OverWrite(unsigned char const * __ptr64) __ptr64
-?OverWrite@ProvOctetString@@AEAAXPEBE@Z
-; private: int __cdecl ProvBitStringType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvBitStringType@@AEAAHPEBG@Z
-; protected: int __cdecl ProvCounter64Type::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvCounter64Type@@IEAAHPEBG@Z
-; protected: int __cdecl ProvCounterType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvCounterType@@IEAAHPEBG@Z
-; private: int __cdecl ProvDateTimeType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvDateTimeType@@AEAAHPEBG@Z
-; private: int __cdecl ProvEnumeratedType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvEnumeratedType@@AEAAHPEBG@Z
-; protected: int __cdecl ProvFixedLengthPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvFixedLengthPhysAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvGaugeType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvGaugeType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvIPXAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvIPXAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvIntegerType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvIntegerType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvIpAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvIpAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvMacAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvMacAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvNetworkAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvNetworkAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvOSIAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvOSIAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvObjectIdentifierType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvObjectIdentifierType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvOctetStringType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvOctetStringType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvOpaqueType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvOpaqueType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvPhysAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvPositiveRangedType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvPositiveRangedType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvTimeTicksType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvTimeTicksType@@IEAAHPEBG@Z
-; protected: int __cdecl ProvUDPAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@ProvUDPAddressType@@IEAAHPEBG@Z
-; public: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::PreProcess(void * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION * __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?PreProcess@QueryPreprocessor@@QEAA?AW4QuadState@1@PEAXPEAUSQL_LEVEL_1_RPN_EXPRESSION@@AEAPEAVWmiTreeNode@@@Z
-; public: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::PreProcess(void * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION * __ptr64,class WmiTreeNode * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64,class PartitionSet * __ptr64 & __ptr64) __ptr64
-?PreProcess@QueryPreprocessor@@QEAA?AW4QuadState@1@PEAXPEAUSQL_LEVEL_1_RPN_EXPRESSION@@PEAVWmiTreeNode@@KPEAPEAGAEAPEAVPartitionSet@@@Z
-; public: int __cdecl ProvObjectIdentifier::Prefix(unsigned long,class ProvObjectIdentifier & __ptr64)const  __ptr64
-?Prefix@ProvObjectIdentifier@@QEBAHKAEAV1@@Z
-; public: virtual void __cdecl WmiAndNode::Print(void) __ptr64
-?Print@WmiAndNode@@UEAAXXZ
-; public: virtual void __cdecl WmiNotNode::Print(void) __ptr64
-?Print@WmiNotNode@@UEAAXXZ
-; public: virtual void __cdecl WmiNullNode::Print(void) __ptr64
-?Print@WmiNullNode@@UEAAXXZ
-; public: virtual void __cdecl WmiNullRangeNode::Print(void) __ptr64
-?Print@WmiNullRangeNode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorEqualNode::Print(void) __ptr64
-?Print@WmiOperatorEqualNode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorEqualOrGreaterNode::Print(void) __ptr64
-?Print@WmiOperatorEqualOrGreaterNode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorEqualOrLessNode::Print(void) __ptr64
-?Print@WmiOperatorEqualOrLessNode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorGreaterNode::Print(void) __ptr64
-?Print@WmiOperatorGreaterNode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorIsANode::Print(void) __ptr64
-?Print@WmiOperatorIsANode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorLessNode::Print(void) __ptr64
-?Print@WmiOperatorLessNode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorLikeNode::Print(void) __ptr64
-?Print@WmiOperatorLikeNode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorNotEqualNode::Print(void) __ptr64
-?Print@WmiOperatorNotEqualNode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorNotIsANode::Print(void) __ptr64
-?Print@WmiOperatorNotIsANode@@UEAAXXZ
-; public: virtual void __cdecl WmiOperatorNotLikeNode::Print(void) __ptr64
-?Print@WmiOperatorNotLikeNode@@UEAAXXZ
-; public: virtual void __cdecl WmiOrNode::Print(void) __ptr64
-?Print@WmiOrNode@@UEAAXXZ
-; public: virtual void __cdecl WmiSignedIntegerNode::Print(void) __ptr64
-?Print@WmiSignedIntegerNode@@UEAAXXZ
-; public: virtual void __cdecl WmiSignedIntegerRangeNode::Print(void) __ptr64
-?Print@WmiSignedIntegerRangeNode@@UEAAXXZ
-; public: virtual void __cdecl WmiStringNode::Print(void) __ptr64
-?Print@WmiStringNode@@UEAAXXZ
-; public: virtual void __cdecl WmiStringRangeNode::Print(void) __ptr64
-?Print@WmiStringRangeNode@@UEAAXXZ
-; public: virtual void __cdecl WmiTreeNode::Print(void) __ptr64
-?Print@WmiTreeNode@@UEAAXXZ
-; public: virtual void __cdecl WmiUnsignedIntegerNode::Print(void) __ptr64
-?Print@WmiUnsignedIntegerNode@@UEAAXXZ
-; public: virtual void __cdecl WmiUnsignedIntegerRangeNode::Print(void) __ptr64
-?Print@WmiUnsignedIntegerRangeNode@@UEAAXXZ
-; protected: void __cdecl QueryPreprocessor::PrintTree(class WmiTreeNode * __ptr64) __ptr64
-?PrintTree@QueryPreprocessor@@IEAAXPEAVWmiTreeNode@@@Z
-; public: virtual void __cdecl ProvEventObject::Process(void) __ptr64
-?Process@ProvEventObject@@UEAAXXZ
-; private: void __cdecl ProvBitStringType::PushBack(void) __ptr64
-?PushBack@ProvBitStringType@@AEAAXXZ
-; private: void __cdecl ProvDateTimeType::PushBack(void) __ptr64
-?PushBack@ProvDateTimeType@@AEAAXXZ
-; private: void __cdecl ProvEnumeratedType::PushBack(void) __ptr64
-?PushBack@ProvEnumeratedType@@AEAAXXZ
-; protected: void __cdecl ProvPositiveRangedType::PushBack(void) __ptr64
-?PushBack@ProvPositiveRangedType@@IEAAXXZ
-; public: void __cdecl ProvAnalyser::PutBack(class ProvLexicon const * __ptr64) __ptr64
-?PutBack@ProvAnalyser@@QEAAXPEBVProvLexicon@@@Z
-; public: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::Query(unsigned short * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION * __ptr64 & __ptr64) __ptr64
-?Query@QueryPreprocessor@@QEAA?AW4QuadState@1@PEAGAEAPEAUSQL_LEVEL_1_RPN_EXPRESSION@@@Z
-; protected: void __cdecl QueryPreprocessor::QuickSort(class WmiRangeNode * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
-?QuickSort@QueryPreprocessor@@IEAAXPEAPEAVWmiRangeNode@@PEAKK@Z
-; protected: int __cdecl ProvPositiveRangedType::RangeDef(void) __ptr64
-?RangeDef@ProvPositiveRangedType@@IEAAHXZ
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursiveConvertToRanges(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?RecursiveConvertToRanges@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
-; private: int __cdecl ProvBitStringType::RecursiveDef(void) __ptr64
-?RecursiveDef@ProvBitStringType@@AEAAHXZ
-; private: int __cdecl ProvEnumeratedType::RecursiveDef(void) __ptr64
-?RecursiveDef@ProvEnumeratedType@@AEAAHXZ
-; protected: int __cdecl ProvPositiveRangedType::RecursiveDef(void) __ptr64
-?RecursiveDef@ProvPositiveRangedType@@IEAAHXZ
-; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RecursiveDisjunctiveNormalForm(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?RecursiveDisjunctiveNormalForm@QueryPreprocessor@@IEAA?AW4QuadState@1@AEAPEAVWmiTreeNode@@@Z
-; protected: int __cdecl QueryPreprocessor::RecursiveEvaluate(void * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION & __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64 * __ptr64,int & __ptr64) __ptr64
-?RecursiveEvaluate@QueryPreprocessor@@IEAAHPEAXAEAUSQL_LEVEL_1_RPN_EXPRESSION@@PEAVWmiTreeNode@@PEAPEAV3@AEAH@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursiveInsertNode(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?RecursiveInsertNode@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@0@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursivePartitionSet(class Disjunctions * __ptr64,class PartitionSet * __ptr64 & __ptr64,unsigned long,unsigned long * __ptr64,unsigned long) __ptr64
-?RecursivePartitionSet@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAVDisjunctions@@AEAPEAVPartitionSet@@KPEAKK@Z
-; protected: void __cdecl QueryPreprocessor::RecursiveQuickSort(class WmiRangeNode * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long,unsigned long) __ptr64
-?RecursiveQuickSort@QueryPreprocessor@@IEAAXPEAPEAVWmiRangeNode@@PEAKKK@Z
-; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RecursiveRemoveInvariants(void * __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?RecursiveRemoveInvariants@QueryPreprocessor@@IEAA?AW4QuadState@1@PEAXAEAPEAVWmiTreeNode@@@Z
-; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RecursiveRemoveNonOverlappingRanges(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?RecursiveRemoveNonOverlappingRanges@QueryPreprocessor@@IEAA?AW4QuadState@1@AEAPEAVWmiTreeNode@@0@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursiveSort(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?RecursiveSort@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursiveSortConditionals(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?RecursiveSortConditionals@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@0@Z
-; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RemoveInvariants(void * __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?RemoveInvariants@QueryPreprocessor@@IEAA?AW4QuadState@1@PEAXAEAPEAVWmiTreeNode@@@Z
-; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RemoveNonOverlappingRanges(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?RemoveNonOverlappingRanges@QueryPreprocessor@@IEAA?AW4QuadState@1@AEAPEAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::RemoveOverlaps(unsigned long * __ptr64,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,class WmiRangeNode * __ptr64 * __ptr64) __ptr64
-?RemoveOverlaps@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAKK00PEAPEAVWmiRangeNode@@@Z
-; protected: virtual unsigned long * __ptr64 __cdecl ProvObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long,unsigned long const * __ptr64,unsigned long)const  __ptr64
-?Replicate@ProvObjectIdentifier@@MEBAPEAKPEBKK0K@Z
-; protected: virtual unsigned long * __ptr64 __cdecl ProvObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long)const  __ptr64
-?Replicate@ProvObjectIdentifier@@MEBAPEAKPEBKK@Z
-; protected: virtual unsigned char * __ptr64 __cdecl ProvOctetString::Replicate(unsigned char const * __ptr64,unsigned long) __ptr64
-?Replicate@ProvOctetString@@MEAAPEAEPEBEK@Z
-; public: int __cdecl PartitionSet::Root(void) __ptr64
-?Root@PartitionSet@@QEAAHXZ
-; public: void __cdecl ProvAnalyser::Set(unsigned short const * __ptr64) __ptr64
-?Set@ProvAnalyser@@QEAAXPEBG@Z
-; public: void __cdecl ProvEventObject::Set(void) __ptr64
-?Set@ProvEventObject@@QEAAXXZ
-; public: void * __ptr64 __cdecl WmiTreeNode::SetData(void * __ptr64) __ptr64
-?SetData@WmiTreeNode@@QEAAPEAXPEAX@Z
-; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNodeIterator::SetIterator(class WmiTreeNode * __ptr64) __ptr64
-?SetIterator@WmiTreeNodeIterator@@QEAAPEAVWmiTreeNode@@PEAV2@@Z
-; public: void __cdecl PartitionSet::SetKeyIndex(unsigned long) __ptr64
-?SetKeyIndex@PartitionSet@@QEAAXK@Z
-; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::SetLeft(class WmiTreeNode * __ptr64) __ptr64
-?SetLeft@WmiTreeNode@@QEAAPEAV1@PEAV1@@Z
-; public: void __cdecl ProvNegativeRangeType::SetLowerBound(long const & __ptr64) __ptr64
-?SetLowerBound@ProvNegativeRangeType@@QEAAXAEBJ@Z
-; public: void __cdecl ProvPositiveRangeType::SetLowerBound(unsigned long const & __ptr64) __ptr64
-?SetLowerBound@ProvPositiveRangeType@@QEAAXAEBK@Z
-; public: void __cdecl ProvInstanceType::SetNull(int) __ptr64
-?SetNull@ProvInstanceType@@QEAAXH@Z
-; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::SetParent(class WmiTreeNode * __ptr64) __ptr64
-?SetParent@WmiTreeNode@@QEAAPEAV1@PEAV1@@Z
-; public: void __cdecl PartitionSet::SetPartition(unsigned long,class PartitionSet * __ptr64) __ptr64
-?SetPartition@PartitionSet@@QEAAXKPEAV1@@Z
-; public: void __cdecl Conjunctions::SetRange(unsigned long,class WmiRangeNode * __ptr64) __ptr64
-?SetRange@Conjunctions@@QEAAXKPEAVWmiRangeNode@@@Z
-; public: void __cdecl PartitionSet::SetRange(class WmiRangeNode * __ptr64) __ptr64
-?SetRange@PartitionSet@@QEAAXPEAVWmiRangeNode@@@Z
-; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::SetRight(class WmiTreeNode * __ptr64) __ptr64
-?SetRight@WmiTreeNode@@QEAAPEAV1@PEAV1@@Z
-; public: void __cdecl ProvInstanceType::SetStatus(int) __ptr64
-?SetStatus@ProvInstanceType@@QEAAXH@Z
-; public: void __cdecl ProvPositiveRangedType::SetStatus(int const & __ptr64) __ptr64
-?SetStatus@ProvPositiveRangedType@@QEAAXAEBH@Z
-; public: void __cdecl ProvLexicon::SetToken(enum ProvLexicon::LexiconToken) __ptr64
-?SetToken@ProvLexicon@@QEAAXW4LexiconToken@1@@Z
-; public: void __cdecl WmiTreeNode::SetType(unsigned long) __ptr64
-?SetType@WmiTreeNode@@QEAAXK@Z
-; public: void __cdecl ProvNegativeRangeType::SetUpperBound(long const & __ptr64) __ptr64
-?SetUpperBound@ProvNegativeRangeType@@QEAAXAEBJ@Z
-; public: void __cdecl ProvPositiveRangeType::SetUpperBound(unsigned long const & __ptr64) __ptr64
-?SetUpperBound@ProvPositiveRangeType@@QEAAXAEBK@Z
-; public: void __cdecl ProvCounter64::SetValue(unsigned long,unsigned long) __ptr64
-?SetValue@ProvCounter64@@QEAAXKK@Z
-; public: void __cdecl ProvCounter::SetValue(unsigned long) __ptr64
-?SetValue@ProvCounter@@QEAAXK@Z
-; public: void __cdecl ProvGauge::SetValue(unsigned long) __ptr64
-?SetValue@ProvGauge@@QEAAXK@Z
-; public: void __cdecl ProvInteger::SetValue(long) __ptr64
-?SetValue@ProvInteger@@QEAAXJ@Z
-; public: void __cdecl ProvIpAddress::SetValue(unsigned long) __ptr64
-?SetValue@ProvIpAddress@@QEAAXK@Z
-; public: void __cdecl ProvObjectIdentifier::SetValue(unsigned long const * __ptr64,unsigned long) __ptr64
-?SetValue@ProvObjectIdentifier@@QEAAXPEBKK@Z
-; public: void __cdecl ProvOctetString::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
-?SetValue@ProvOctetString@@QEAAXPEBEK@Z
-; public: void __cdecl ProvOpaque::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
-?SetValue@ProvOpaque@@QEAAXPEBEK@Z
-; public: void __cdecl ProvTimeTicks::SetValue(unsigned long) __ptr64
-?SetValue@ProvTimeTicks@@QEAAXK@Z
-; public: void __cdecl ProvUInteger32::SetValue(unsigned long) __ptr64
-?SetValue@ProvUInteger32@@QEAAXK@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::Sort(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?Sort@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __cdecl QueryPreprocessor::SortConditionals(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?SortConditionals@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
-; protected: void __cdecl QueryPreprocessor::SortRanges(unsigned long,unsigned long * __ptr64,class WmiRangeNode * __ptr64 * __ptr64) __ptr64
-?SortRanges@QueryPreprocessor@@IEAAXKPEAKPEAPEAVWmiRangeNode@@@Z
-; public: static int __cdecl ProvDebugLog::Startup(void)
-?Startup@ProvDebugLog@@SAHXZ
-; public: int __cdecl ProvObjectIdentifier::Suffix(unsigned long,class ProvObjectIdentifier & __ptr64)const  __ptr64
-?Suffix@ProvObjectIdentifier@@QEBAHKAEAV1@@Z
-; protected: void __cdecl QueryPreprocessor::TransformAndOrExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformAndOrExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@1@Z
-; protected: void __cdecl QueryPreprocessor::TransformAndTrueEvaluation(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformAndTrueEvaluation@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformIntersectingRange(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformIntersectingRange@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@1@Z
-; protected: void __cdecl QueryPreprocessor::TransformNonIntersectingRange(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNonIntersectingRange@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotAndExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotAndExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotEqualExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotEqualExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotNotExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotNotExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorEqualExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorEqualExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorEqualOrGreaterExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorEqualOrGreaterExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorEqualOrLessExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorEqualOrLessExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorGreaterExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorGreaterExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorIsAExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorIsAExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorLessExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorLessExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorLikeExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorLikeExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorNotEqualExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorNotEqualExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorNotIsAExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorNotIsAExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOperatorNotLikeExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOperatorNotLikeExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformNotOrExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformNotOrExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: void __cdecl QueryPreprocessor::TransformOperatorToRange(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
-?TransformOperatorToRange@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@@Z
-; protected: void __cdecl QueryPreprocessor::TransformOrFalseEvaluation(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
-?TransformOrFalseEvaluation@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
-; protected: virtual void __cdecl ProvObjectIdentifier::UnReplicate(unsigned long * __ptr64) __ptr64
-?UnReplicate@ProvObjectIdentifier@@MEAAXPEAK@Z
-; protected: virtual void __cdecl ProvOctetString::UnReplicate(unsigned char * __ptr64) __ptr64
-?UnReplicate@ProvOctetString@@MEAAXPEAE@Z
-; unsigned short * __ptr64 __cdecl UnicodeStringAppend(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?UnicodeStringAppend@@YAPEAGPEBG0@Z
-; unsigned short * __ptr64 __cdecl UnicodeStringDuplicate(unsigned short const * __ptr64)
-?UnicodeStringDuplicate@@YAPEAGPEBG@Z
-; char * __ptr64 __cdecl UnicodeToDbcsString(unsigned short const * __ptr64)
-?UnicodeToDbcsString@@YAPEADPEBG@Z
-; public: long __cdecl WmiSignedIntegerRangeNode::UpperBound(void) __ptr64
-?UpperBound@WmiSignedIntegerRangeNode@@QEAAJXZ
-; public: unsigned short * __ptr64 __cdecl WmiStringRangeNode::UpperBound(void) __ptr64
-?UpperBound@WmiStringRangeNode@@QEAAPEAGXZ
-; public: unsigned long __cdecl WmiUnsignedIntegerRangeNode::UpperBound(void) __ptr64
-?UpperBound@WmiUnsignedIntegerRangeNode@@QEAAKXZ
-; public: virtual int __cdecl ProvEventObject::Wait(void) __ptr64
-?Wait@ProvEventObject@@UEAAHXZ
-; public: void __cdecl ProvDebugLog::Write(unsigned short const * __ptr64,...) __ptr64
-?Write@ProvDebugLog@@QEAAXPEBGZZ
-; public: void __cdecl ProvDebugLog::WriteA(char const * __ptr64,...) __ptr64
-?WriteA@ProvDebugLog@@QEAAXPEBDZZ
-; public: void __cdecl ProvDebugLog::WriteFileAndLine(char const * __ptr64,unsigned long,unsigned short const * __ptr64,...) __ptr64
-?WriteFileAndLine@ProvDebugLog@@QEAAXPEBDKPEBGZZ
-; public: void __cdecl ProvDebugLog::WriteFileAndLine(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,...) __ptr64
-?WriteFileAndLine@ProvDebugLog@@QEAAXPEBGK0ZZ
-; public: void __cdecl ProvDebugLog::WriteFileAndLineA(char const * __ptr64,unsigned long,char const * __ptr64,...) __ptr64
-?WriteFileAndLineA@ProvDebugLog@@QEAAXPEBDK0ZZ
-; public: void __cdecl ProvDebugLog::WriteFileAndLineW(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,...) __ptr64
-?WriteFileAndLineW@ProvDebugLog@@QEAAXPEBGK0ZZ
-; public: void __cdecl ProvDebugLog::WriteW(unsigned short const * __ptr64,...) __ptr64
-?WriteW@ProvDebugLog@@QEAAXPEBGZZ
-; public: static class ProvDebugLog * __ptr64  __ptr64 ProvDebugLog::s_ProvDebugLog
-?s_ProvDebugLog@ProvDebugLog@@2PEAV1@EA DATA
-; public: static long  ProvDebugLog::s_ReferenceCount
-?s_ReferenceCount@ProvDebugLog@@2JA DATA
-; public: static class ProvDebugLog *  ProvDebugLog::s_aLogs
-?s_aLogs@ProvDebugLog@@2PAV1@A DATA
+; 
+; Exports of file PROVTHRD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PROVTHRD.dll
+EXPORTS
+; PEAGPEAG::?$CompareElements(YAHPEBQEAG0@Z)
+??$CompareElements@PEAGPEAG@@YAHPEBQEAG0@Z
+; PEAG::?$HashKey(YAIPEAG@Z)
+??$HashKey@PEAG@@YAIPEAG@Z
+; public: __cdecl CBString::CBString(int) __ptr64
+??0CBString@@QEAA@H@Z
+; public: __cdecl CBString::CBString(unsigned short * __ptr64) __ptr64
+??0CBString@@QEAA@PEAG@Z
+; public: __cdecl CBString::CBString(void) __ptr64
+??0CBString@@QEAA@XZ
+; public: __cdecl Conjunctions::Conjunctions(unsigned long) __ptr64
+??0Conjunctions@@QEAA@K@Z
+; public: __cdecl Disjunctions::Disjunctions(unsigned long,unsigned long) __ptr64
+??0Disjunctions@@QEAA@KK@Z
+; public: __cdecl PartitionSet::PartitionSet(class PartitionSet const & __ptr64) __ptr64
+??0PartitionSet@@QEAA@AEBV0@@Z
+; public: __cdecl PartitionSet::PartitionSet(void) __ptr64
+??0PartitionSet@@QEAA@XZ
+; public: __cdecl ProvAnalyser::ProvAnalyser(class ProvAnalyser const & __ptr64) __ptr64
+??0ProvAnalyser@@QEAA@AEBV0@@Z
+; public: __cdecl ProvAnalyser::ProvAnalyser(unsigned short const * __ptr64) __ptr64
+??0ProvAnalyser@@QEAA@PEBG@Z
+; public: __cdecl ProvBitStringType::ProvBitStringType(class ProvBitStringType const & __ptr64) __ptr64
+??0ProvBitStringType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvBitStringType::ProvBitStringType(unsigned short const * __ptr64) __ptr64
+??0ProvBitStringType@@QEAA@PEBG@Z
+; public: __cdecl ProvBitStringType::ProvBitStringType(unsigned short const * __ptr64,class ProvOctetString const & __ptr64) __ptr64
+??0ProvBitStringType@@QEAA@PEBGAEBVProvOctetString@@@Z
+; public: __cdecl ProvBitStringType::ProvBitStringType(unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned long const & __ptr64) __ptr64
+??0ProvBitStringType@@QEAA@PEBGPEAPEBGAEBK@Z
+; public: __cdecl ProvCounter64::ProvCounter64(class ProvCounter64 const & __ptr64) __ptr64
+??0ProvCounter64@@QEAA@AEBV0@@Z
+; public: __cdecl ProvCounter64::ProvCounter64(unsigned long,unsigned long) __ptr64
+??0ProvCounter64@@QEAA@KK@Z
+; public: __cdecl ProvCounter64Type::ProvCounter64Type(class ProvCounter64Type const & __ptr64) __ptr64
+??0ProvCounter64Type@@QEAA@AEBV0@@Z
+; public: __cdecl ProvCounter64Type::ProvCounter64Type(class ProvCounter64 const & __ptr64) __ptr64
+??0ProvCounter64Type@@QEAA@AEBVProvCounter64@@@Z
+; public: __cdecl ProvCounter64Type::ProvCounter64Type(unsigned long,unsigned long) __ptr64
+??0ProvCounter64Type@@QEAA@KK@Z
+; public: __cdecl ProvCounter64Type::ProvCounter64Type(unsigned short const * __ptr64) __ptr64
+??0ProvCounter64Type@@QEAA@PEBG@Z
+; public: __cdecl ProvCounter64Type::ProvCounter64Type(void) __ptr64
+??0ProvCounter64Type@@QEAA@XZ
+; public: __cdecl ProvCounter::ProvCounter(class ProvCounter const & __ptr64) __ptr64
+??0ProvCounter@@QEAA@AEBV0@@Z
+; public: __cdecl ProvCounter::ProvCounter(unsigned long) __ptr64
+??0ProvCounter@@QEAA@K@Z
+; public: __cdecl ProvCounterType::ProvCounterType(class ProvCounterType const & __ptr64) __ptr64
+??0ProvCounterType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvCounterType::ProvCounterType(class ProvCounter const & __ptr64) __ptr64
+??0ProvCounterType@@QEAA@AEBVProvCounter@@@Z
+; public: __cdecl ProvCounterType::ProvCounterType(unsigned long) __ptr64
+??0ProvCounterType@@QEAA@K@Z
+; public: __cdecl ProvCounterType::ProvCounterType(unsigned short const * __ptr64) __ptr64
+??0ProvCounterType@@QEAA@PEBG@Z
+; public: __cdecl ProvCounterType::ProvCounterType(void) __ptr64
+??0ProvCounterType@@QEAA@XZ
+; public: __cdecl ProvDateTimeType::ProvDateTimeType(class ProvDateTimeType const & __ptr64) __ptr64
+??0ProvDateTimeType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvDateTimeType::ProvDateTimeType(class ProvOctetString const & __ptr64) __ptr64
+??0ProvDateTimeType@@QEAA@AEBVProvOctetString@@@Z
+; public: __cdecl ProvDateTimeType::ProvDateTimeType(unsigned short const * __ptr64) __ptr64
+??0ProvDateTimeType@@QEAA@PEBG@Z
+; public: __cdecl ProvDateTimeType::ProvDateTimeType(void) __ptr64
+??0ProvDateTimeType@@QEAA@XZ
+; public: __cdecl ProvDebugLog::ProvDebugLog(char) __ptr64
+??0ProvDebugLog@@QEAA@D@Z
+; public: __cdecl ProvDisplayStringType::ProvDisplayStringType(class ProvDisplayStringType const & __ptr64) __ptr64
+??0ProvDisplayStringType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvDisplayStringType::ProvDisplayStringType(class ProvOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvDisplayStringType@@QEAA@AEBVProvOctetString@@PEBG@Z
+; public: __cdecl ProvDisplayStringType::ProvDisplayStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvDisplayStringType@@QEAA@PEBG0@Z
+; public: __cdecl ProvDisplayStringType::ProvDisplayStringType(unsigned short const * __ptr64) __ptr64
+??0ProvDisplayStringType@@QEAA@PEBG@Z
+; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(class ProvEnumeratedType const & __ptr64) __ptr64
+??0ProvEnumeratedType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvEnumeratedType@@QEAA@PEBG0@Z
+; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(unsigned short const * __ptr64) __ptr64
+??0ProvEnumeratedType@@QEAA@PEBG@Z
+; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(unsigned short const * __ptr64,long const & __ptr64) __ptr64
+??0ProvEnumeratedType@@QEAA@PEBGAEBJ@Z
+; public: __cdecl ProvEnumeratedType::ProvEnumeratedType(unsigned short const * __ptr64,class ProvInteger const & __ptr64) __ptr64
+??0ProvEnumeratedType@@QEAA@PEBGAEBVProvInteger@@@Z
+; public: __cdecl ProvEventObject::ProvEventObject(class ProvEventObject const & __ptr64) __ptr64
+??0ProvEventObject@@QEAA@AEBV0@@Z
+; public: __cdecl ProvEventObject::ProvEventObject(unsigned short const * __ptr64) __ptr64
+??0ProvEventObject@@QEAA@PEBG@Z
+; public: __cdecl ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const & __ptr64) __ptr64
+??0ProvFixedLengthDisplayStringType@@QEAA@AEBK@Z
+; public: __cdecl ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const & __ptr64,class ProvOctetString const & __ptr64) __ptr64
+??0ProvFixedLengthDisplayStringType@@QEAA@AEBKAEBVProvOctetString@@@Z
+; public: __cdecl ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvFixedLengthDisplayStringType@@QEAA@AEBKPEBG@Z
+; public: __cdecl ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(class ProvFixedLengthDisplayStringType const & __ptr64) __ptr64
+??0ProvFixedLengthDisplayStringType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const & __ptr64) __ptr64
+??0ProvFixedLengthOctetStringType@@QEAA@AEBK@Z
+; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const & __ptr64,class ProvOctetString const & __ptr64) __ptr64
+??0ProvFixedLengthOctetStringType@@QEAA@AEBKAEBVProvOctetString@@@Z
+; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned char const * __ptr64) __ptr64
+??0ProvFixedLengthOctetStringType@@QEAA@AEBKPEBE@Z
+; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvFixedLengthOctetStringType@@QEAA@AEBKPEBG@Z
+; public: __cdecl ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(class ProvFixedLengthOctetStringType const & __ptr64) __ptr64
+??0ProvFixedLengthOctetStringType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const & __ptr64) __ptr64
+??0ProvFixedLengthOpaqueType@@QEAA@AEBK@Z
+; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const & __ptr64,class ProvOpaque const & __ptr64) __ptr64
+??0ProvFixedLengthOpaqueType@@QEAA@AEBKAEBVProvOpaque@@@Z
+; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned char const * __ptr64,unsigned long) __ptr64
+??0ProvFixedLengthOpaqueType@@QEAA@AEBKPEBEK@Z
+; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvFixedLengthOpaqueType@@QEAA@AEBKPEBG@Z
+; public: __cdecl ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(class ProvFixedLengthOpaqueType const & __ptr64) __ptr64
+??0ProvFixedLengthOpaqueType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const & __ptr64) __ptr64
+??0ProvFixedLengthPhysAddressType@@QEAA@AEBK@Z
+; public: __cdecl ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const & __ptr64,class ProvOctetString const & __ptr64) __ptr64
+??0ProvFixedLengthPhysAddressType@@QEAA@AEBKAEBVProvOctetString@@@Z
+; public: __cdecl ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvFixedLengthPhysAddressType@@QEAA@AEBKPEBG@Z
+; public: __cdecl ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(class ProvFixedLengthPhysAddressType const & __ptr64) __ptr64
+??0ProvFixedLengthPhysAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvFixedType::ProvFixedType(class ProvFixedType const & __ptr64) __ptr64
+??0ProvFixedType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvFixedType::ProvFixedType(unsigned long) __ptr64
+??0ProvFixedType@@QEAA@K@Z
+; public: __cdecl ProvGauge::ProvGauge(class ProvGauge const & __ptr64) __ptr64
+??0ProvGauge@@QEAA@AEBV0@@Z
+; public: __cdecl ProvGauge::ProvGauge(long) __ptr64
+??0ProvGauge@@QEAA@J@Z
+; public: __cdecl ProvGaugeType::ProvGaugeType(class ProvGaugeType const & __ptr64) __ptr64
+??0ProvGaugeType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvGaugeType::ProvGaugeType(class ProvGauge const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvGaugeType@@QEAA@AEBVProvGauge@@PEBG@Z
+; public: __cdecl ProvGaugeType::ProvGaugeType(unsigned long,unsigned short const * __ptr64) __ptr64
+??0ProvGaugeType@@QEAA@KPEBG@Z
+; public: __cdecl ProvGaugeType::ProvGaugeType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvGaugeType@@QEAA@PEBG0@Z
+; public: __cdecl ProvGaugeType::ProvGaugeType(unsigned short const * __ptr64) __ptr64
+??0ProvGaugeType@@QEAA@PEBG@Z
+; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(class ProvIPXAddressType const & __ptr64) __ptr64
+??0ProvIPXAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(class ProvOctetString const & __ptr64) __ptr64
+??0ProvIPXAddressType@@QEAA@AEBVProvOctetString@@@Z
+; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(unsigned char const * __ptr64) __ptr64
+??0ProvIPXAddressType@@QEAA@PEBE@Z
+; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(unsigned short const * __ptr64) __ptr64
+??0ProvIPXAddressType@@QEAA@PEBG@Z
+; public: __cdecl ProvIPXAddressType::ProvIPXAddressType(void) __ptr64
+??0ProvIPXAddressType@@QEAA@XZ
+; protected: __cdecl ProvInstanceType::ProvInstanceType(class ProvInstanceType const & __ptr64) __ptr64
+??0ProvInstanceType@@IEAA@AEBV0@@Z
+; protected: __cdecl ProvInstanceType::ProvInstanceType(int,int) __ptr64
+??0ProvInstanceType@@IEAA@HH@Z
+; public: __cdecl ProvInteger::ProvInteger(class ProvInteger const & __ptr64) __ptr64
+??0ProvInteger@@QEAA@AEBV0@@Z
+; public: __cdecl ProvInteger::ProvInteger(long) __ptr64
+??0ProvInteger@@QEAA@J@Z
+; public: __cdecl ProvIntegerType::ProvIntegerType(class ProvIntegerType const & __ptr64) __ptr64
+??0ProvIntegerType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvIntegerType::ProvIntegerType(class ProvInteger const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvIntegerType@@QEAA@AEBVProvInteger@@PEBG@Z
+; public: __cdecl ProvIntegerType::ProvIntegerType(long,unsigned short const * __ptr64) __ptr64
+??0ProvIntegerType@@QEAA@JPEBG@Z
+; public: __cdecl ProvIntegerType::ProvIntegerType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvIntegerType@@QEAA@PEBG0@Z
+; public: __cdecl ProvIntegerType::ProvIntegerType(unsigned short const * __ptr64) __ptr64
+??0ProvIntegerType@@QEAA@PEBG@Z
+; public: __cdecl ProvIpAddress::ProvIpAddress(class ProvIpAddress const & __ptr64) __ptr64
+??0ProvIpAddress@@QEAA@AEBV0@@Z
+; public: __cdecl ProvIpAddress::ProvIpAddress(unsigned long) __ptr64
+??0ProvIpAddress@@QEAA@K@Z
+; public: __cdecl ProvIpAddress::ProvIpAddress(char const * __ptr64) __ptr64
+??0ProvIpAddress@@QEAA@PEBD@Z
+; public: __cdecl ProvIpAddressType::ProvIpAddressType(class ProvIpAddressType const & __ptr64) __ptr64
+??0ProvIpAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvIpAddressType::ProvIpAddressType(class ProvIpAddress const & __ptr64) __ptr64
+??0ProvIpAddressType@@QEAA@AEBVProvIpAddress@@@Z
+; public: __cdecl ProvIpAddressType::ProvIpAddressType(unsigned long) __ptr64
+??0ProvIpAddressType@@QEAA@K@Z
+; public: __cdecl ProvIpAddressType::ProvIpAddressType(unsigned short const * __ptr64) __ptr64
+??0ProvIpAddressType@@QEAA@PEBG@Z
+; public: __cdecl ProvIpAddressType::ProvIpAddressType(void) __ptr64
+??0ProvIpAddressType@@QEAA@XZ
+; public: __cdecl ProvLexicon::ProvLexicon(void) __ptr64
+??0ProvLexicon@@QEAA@XZ
+; public: __cdecl ProvMacAddressType::ProvMacAddressType(class ProvMacAddressType const & __ptr64) __ptr64
+??0ProvMacAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvMacAddressType::ProvMacAddressType(class ProvOctetString const & __ptr64) __ptr64
+??0ProvMacAddressType@@QEAA@AEBVProvOctetString@@@Z
+; public: __cdecl ProvMacAddressType::ProvMacAddressType(unsigned char const * __ptr64) __ptr64
+??0ProvMacAddressType@@QEAA@PEBE@Z
+; public: __cdecl ProvMacAddressType::ProvMacAddressType(unsigned short const * __ptr64) __ptr64
+??0ProvMacAddressType@@QEAA@PEBG@Z
+; public: __cdecl ProvMacAddressType::ProvMacAddressType(void) __ptr64
+??0ProvMacAddressType@@QEAA@XZ
+; public: __cdecl ProvNegativeRangeType::ProvNegativeRangeType(class ProvNegativeRangeType const & __ptr64) __ptr64
+??0ProvNegativeRangeType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvNegativeRangeType::ProvNegativeRangeType(long,long) __ptr64
+??0ProvNegativeRangeType@@QEAA@JJ@Z
+; public: __cdecl ProvNegativeRangeType::ProvNegativeRangeType(void) __ptr64
+??0ProvNegativeRangeType@@QEAA@XZ
+; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(class ProvNetworkAddressType const & __ptr64) __ptr64
+??0ProvNetworkAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(class ProvIpAddress const & __ptr64) __ptr64
+??0ProvNetworkAddressType@@QEAA@AEBVProvIpAddress@@@Z
+; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(unsigned long) __ptr64
+??0ProvNetworkAddressType@@QEAA@K@Z
+; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(unsigned short const * __ptr64) __ptr64
+??0ProvNetworkAddressType@@QEAA@PEBG@Z
+; public: __cdecl ProvNetworkAddressType::ProvNetworkAddressType(void) __ptr64
+??0ProvNetworkAddressType@@QEAA@XZ
+; public: __cdecl ProvNull::ProvNull(void) __ptr64
+??0ProvNull@@QEAA@XZ
+; public: __cdecl ProvNullType::ProvNullType(class ProvNullType const & __ptr64) __ptr64
+??0ProvNullType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvNullType::ProvNullType(class ProvNull const & __ptr64) __ptr64
+??0ProvNullType@@QEAA@AEBVProvNull@@@Z
+; public: __cdecl ProvNullType::ProvNullType(void) __ptr64
+??0ProvNullType@@QEAA@XZ
+; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(class ProvOSIAddressType const & __ptr64) __ptr64
+??0ProvOSIAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(class ProvOctetString const & __ptr64) __ptr64
+??0ProvOSIAddressType@@QEAA@AEBVProvOctetString@@@Z
+; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(unsigned char const * __ptr64,unsigned long) __ptr64
+??0ProvOSIAddressType@@QEAA@PEBEK@Z
+; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(unsigned short const * __ptr64) __ptr64
+??0ProvOSIAddressType@@QEAA@PEBG@Z
+; public: __cdecl ProvOSIAddressType::ProvOSIAddressType(void) __ptr64
+??0ProvOSIAddressType@@QEAA@XZ
+; public: __cdecl ProvObjectIdentifier::ProvObjectIdentifier(class ProvObjectIdentifier const & __ptr64) __ptr64
+??0ProvObjectIdentifier@@QEAA@AEBV0@@Z
+; public: __cdecl ProvObjectIdentifier::ProvObjectIdentifier(char const * __ptr64) __ptr64
+??0ProvObjectIdentifier@@QEAA@PEBD@Z
+; public: __cdecl ProvObjectIdentifier::ProvObjectIdentifier(unsigned long const * __ptr64,unsigned long) __ptr64
+??0ProvObjectIdentifier@@QEAA@PEBKK@Z
+; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(class ProvObjectIdentifierType const & __ptr64) __ptr64
+??0ProvObjectIdentifierType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(class ProvObjectIdentifier const & __ptr64) __ptr64
+??0ProvObjectIdentifierType@@QEAA@AEBVProvObjectIdentifier@@@Z
+; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(unsigned short const * __ptr64) __ptr64
+??0ProvObjectIdentifierType@@QEAA@PEBG@Z
+; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(unsigned long const * __ptr64,unsigned long) __ptr64
+??0ProvObjectIdentifierType@@QEAA@PEBKK@Z
+; public: __cdecl ProvObjectIdentifierType::ProvObjectIdentifierType(void) __ptr64
+??0ProvObjectIdentifierType@@QEAA@XZ
+; public: __cdecl ProvOctetString::ProvOctetString(class ProvOctetString const & __ptr64) __ptr64
+??0ProvOctetString@@QEAA@AEBV0@@Z
+; public: __cdecl ProvOctetString::ProvOctetString(unsigned char const * __ptr64,unsigned long) __ptr64
+??0ProvOctetString@@QEAA@PEBEK@Z
+; public: __cdecl ProvOctetStringType::ProvOctetStringType(class ProvOctetStringType const & __ptr64) __ptr64
+??0ProvOctetStringType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvOctetStringType::ProvOctetStringType(class ProvOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvOctetStringType@@QEAA@AEBVProvOctetString@@PEBG@Z
+; public: __cdecl ProvOctetStringType::ProvOctetStringType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
+??0ProvOctetStringType@@QEAA@PEBEKPEBG@Z
+; public: __cdecl ProvOctetStringType::ProvOctetStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvOctetStringType@@QEAA@PEBG0@Z
+; public: __cdecl ProvOctetStringType::ProvOctetStringType(unsigned short const * __ptr64) __ptr64
+??0ProvOctetStringType@@QEAA@PEBG@Z
+; public: __cdecl ProvOpaque::ProvOpaque(class ProvOpaque const & __ptr64) __ptr64
+??0ProvOpaque@@QEAA@AEBV0@@Z
+; public: __cdecl ProvOpaque::ProvOpaque(unsigned char const * __ptr64,unsigned long) __ptr64
+??0ProvOpaque@@QEAA@PEBEK@Z
+; public: __cdecl ProvOpaqueType::ProvOpaqueType(class ProvOpaqueType const & __ptr64) __ptr64
+??0ProvOpaqueType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvOpaqueType::ProvOpaqueType(class ProvOpaque const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvOpaqueType@@QEAA@AEBVProvOpaque@@PEBG@Z
+; public: __cdecl ProvOpaqueType::ProvOpaqueType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
+??0ProvOpaqueType@@QEAA@PEBEKPEBG@Z
+; public: __cdecl ProvOpaqueType::ProvOpaqueType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvOpaqueType@@QEAA@PEBG0@Z
+; public: __cdecl ProvOpaqueType::ProvOpaqueType(unsigned short const * __ptr64) __ptr64
+??0ProvOpaqueType@@QEAA@PEBG@Z
+; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(class ProvPhysAddressType const & __ptr64) __ptr64
+??0ProvPhysAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(class ProvOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvPhysAddressType@@QEAA@AEBVProvOctetString@@PEBG@Z
+; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
+??0ProvPhysAddressType@@QEAA@PEBEKPEBG@Z
+; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0ProvPhysAddressType@@QEAA@PEBG0@Z
+; public: __cdecl ProvPhysAddressType::ProvPhysAddressType(unsigned short const * __ptr64) __ptr64
+??0ProvPhysAddressType@@QEAA@PEBG@Z
+; public: __cdecl ProvPositiveRangeType::ProvPositiveRangeType(class ProvPositiveRangeType const & __ptr64) __ptr64
+??0ProvPositiveRangeType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvPositiveRangeType::ProvPositiveRangeType(unsigned long,long) __ptr64
+??0ProvPositiveRangeType@@QEAA@KJ@Z
+; public: __cdecl ProvPositiveRangeType::ProvPositiveRangeType(void) __ptr64
+??0ProvPositiveRangeType@@QEAA@XZ
+; public: __cdecl ProvPositiveRangedType::ProvPositiveRangedType(class ProvPositiveRangedType const & __ptr64) __ptr64
+??0ProvPositiveRangedType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvPositiveRangedType::ProvPositiveRangedType(unsigned short const * __ptr64) __ptr64
+??0ProvPositiveRangedType@@QEAA@PEBG@Z
+; public: __cdecl ProvRowStatusType::ProvRowStatusType(long const & __ptr64) __ptr64
+??0ProvRowStatusType@@QEAA@AEBJ@Z
+; public: __cdecl ProvRowStatusType::ProvRowStatusType(class ProvRowStatusType const & __ptr64) __ptr64
+??0ProvRowStatusType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvRowStatusType::ProvRowStatusType(class ProvInteger const & __ptr64) __ptr64
+??0ProvRowStatusType@@QEAA@AEBVProvInteger@@@Z
+; public: __cdecl ProvRowStatusType::ProvRowStatusType(enum ProvRowStatusType::ProvRowStatusEnum const & __ptr64) __ptr64
+??0ProvRowStatusType@@QEAA@AEBW4ProvRowStatusEnum@0@@Z
+; public: __cdecl ProvRowStatusType::ProvRowStatusType(unsigned short const * __ptr64) __ptr64
+??0ProvRowStatusType@@QEAA@PEBG@Z
+; public: __cdecl ProvRowStatusType::ProvRowStatusType(void) __ptr64
+??0ProvRowStatusType@@QEAA@XZ
+; public: __cdecl ProvTimeTicks::ProvTimeTicks(class ProvTimeTicks const & __ptr64) __ptr64
+??0ProvTimeTicks@@QEAA@AEBV0@@Z
+; public: __cdecl ProvTimeTicks::ProvTimeTicks(unsigned long) __ptr64
+??0ProvTimeTicks@@QEAA@K@Z
+; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(class ProvTimeTicksType const & __ptr64) __ptr64
+??0ProvTimeTicksType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(class ProvTimeTicks const & __ptr64) __ptr64
+??0ProvTimeTicksType@@QEAA@AEBVProvTimeTicks@@@Z
+; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(unsigned long) __ptr64
+??0ProvTimeTicksType@@QEAA@K@Z
+; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(unsigned short const * __ptr64) __ptr64
+??0ProvTimeTicksType@@QEAA@PEBG@Z
+; public: __cdecl ProvTimeTicksType::ProvTimeTicksType(void) __ptr64
+??0ProvTimeTicksType@@QEAA@XZ
+; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(class ProvUDPAddressType const & __ptr64) __ptr64
+??0ProvUDPAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(class ProvOctetString const & __ptr64) __ptr64
+??0ProvUDPAddressType@@QEAA@AEBVProvOctetString@@@Z
+; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(unsigned char const * __ptr64) __ptr64
+??0ProvUDPAddressType@@QEAA@PEBE@Z
+; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(unsigned short const * __ptr64) __ptr64
+??0ProvUDPAddressType@@QEAA@PEBG@Z
+; public: __cdecl ProvUDPAddressType::ProvUDPAddressType(void) __ptr64
+??0ProvUDPAddressType@@QEAA@XZ
+; public: __cdecl ProvUInteger32::ProvUInteger32(class ProvUInteger32 const & __ptr64) __ptr64
+??0ProvUInteger32@@QEAA@AEBV0@@Z
+; public: __cdecl ProvUInteger32::ProvUInteger32(long) __ptr64
+??0ProvUInteger32@@QEAA@J@Z
+; private: __cdecl ProvValue::ProvValue(class ProvValue const & __ptr64) __ptr64
+??0ProvValue@@AEAA@AEBV0@@Z
+; protected: __cdecl ProvValue::ProvValue(void) __ptr64
+??0ProvValue@@IEAA@XZ
+; public: __cdecl QueryPreprocessor::QueryPreprocessor(class QueryPreprocessor const & __ptr64) __ptr64
+??0QueryPreprocessor@@QEAA@AEBV0@@Z
+; public: __cdecl QueryPreprocessor::QueryPreprocessor(void) __ptr64
+??0QueryPreprocessor@@QEAA@XZ
+; public: __cdecl WmiAndNode::WmiAndNode(class WmiAndNode const & __ptr64) __ptr64
+??0WmiAndNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiAndNode::WmiAndNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiAndNode@@QEAA@PEAVWmiTreeNode@@00@Z
+; public: __cdecl WmiNotNode::WmiNotNode(class WmiNotNode const & __ptr64) __ptr64
+??0WmiNotNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiNotNode::WmiNotNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiNotNode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiNullNode::WmiNullNode(class WmiNullNode const & __ptr64) __ptr64
+??0WmiNullNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiNullNode::WmiNullNode(unsigned short * __ptr64,unsigned long,class WmiTreeNode * __ptr64) __ptr64
+??0WmiNullNode@@QEAA@PEAGKPEAVWmiTreeNode@@@Z
+; public: __cdecl WmiNullRangeNode::WmiNullRangeNode(class WmiNullRangeNode const & __ptr64) __ptr64
+??0WmiNullRangeNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiNullRangeNode::WmiNullRangeNode(unsigned short * __ptr64,unsigned long,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiNullRangeNode@@QEAA@PEAGKPEAVWmiTreeNode@@1@Z
+; public: __cdecl WmiOperatorEqualNode::WmiOperatorEqualNode(class WmiOperatorEqualNode const & __ptr64) __ptr64
+??0WmiOperatorEqualNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorEqualNode::WmiOperatorEqualNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorEqualNode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorEqualOrGreaterNode::WmiOperatorEqualOrGreaterNode(class WmiOperatorEqualOrGreaterNode const & __ptr64) __ptr64
+??0WmiOperatorEqualOrGreaterNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorEqualOrGreaterNode::WmiOperatorEqualOrGreaterNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorEqualOrGreaterNode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorEqualOrLessNode::WmiOperatorEqualOrLessNode(class WmiOperatorEqualOrLessNode const & __ptr64) __ptr64
+??0WmiOperatorEqualOrLessNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorEqualOrLessNode::WmiOperatorEqualOrLessNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorEqualOrLessNode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorGreaterNode::WmiOperatorGreaterNode(class WmiOperatorGreaterNode const & __ptr64) __ptr64
+??0WmiOperatorGreaterNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorGreaterNode::WmiOperatorGreaterNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorGreaterNode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorIsANode::WmiOperatorIsANode(class WmiOperatorIsANode const & __ptr64) __ptr64
+??0WmiOperatorIsANode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorIsANode::WmiOperatorIsANode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorIsANode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorLessNode::WmiOperatorLessNode(class WmiOperatorLessNode const & __ptr64) __ptr64
+??0WmiOperatorLessNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorLessNode::WmiOperatorLessNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorLessNode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorLikeNode::WmiOperatorLikeNode(class WmiOperatorLikeNode const & __ptr64) __ptr64
+??0WmiOperatorLikeNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorLikeNode::WmiOperatorLikeNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorLikeNode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorNode::WmiOperatorNode(class WmiOperatorNode const & __ptr64) __ptr64
+??0WmiOperatorNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorNode::WmiOperatorNode(unsigned long,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorNode@@QEAA@KPEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorNotEqualNode::WmiOperatorNotEqualNode(class WmiOperatorNotEqualNode const & __ptr64) __ptr64
+??0WmiOperatorNotEqualNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorNotEqualNode::WmiOperatorNotEqualNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorNotEqualNode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorNotIsANode::WmiOperatorNotIsANode(class WmiOperatorNotIsANode const & __ptr64) __ptr64
+??0WmiOperatorNotIsANode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorNotIsANode::WmiOperatorNotIsANode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorNotIsANode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOperatorNotLikeNode::WmiOperatorNotLikeNode(class WmiOperatorNotLikeNode const & __ptr64) __ptr64
+??0WmiOperatorNotLikeNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOperatorNotLikeNode::WmiOperatorNotLikeNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOperatorNotLikeNode@@QEAA@PEAVWmiTreeNode@@0@Z
+; public: __cdecl WmiOrNode::WmiOrNode(class WmiOrNode const & __ptr64) __ptr64
+??0WmiOrNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiOrNode::WmiOrNode(class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiOrNode@@QEAA@PEAVWmiTreeNode@@00@Z
+; public: __cdecl WmiRangeNode::WmiRangeNode(class WmiRangeNode const & __ptr64) __ptr64
+??0WmiRangeNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiRangeNode::WmiRangeNode(unsigned long,unsigned short * __ptr64,unsigned long,int,int,int,int,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiRangeNode@@QEAA@KPEAGKHHHHPEAVWmiTreeNode@@1@Z
+; public: __cdecl WmiSignedIntegerNode::WmiSignedIntegerNode(class WmiSignedIntegerNode const & __ptr64) __ptr64
+??0WmiSignedIntegerNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiSignedIntegerNode::WmiSignedIntegerNode(unsigned short * __ptr64,long,unsigned long,class WmiTreeNode * __ptr64) __ptr64
+??0WmiSignedIntegerNode@@QEAA@PEAGJKPEAVWmiTreeNode@@@Z
+; public: __cdecl WmiSignedIntegerRangeNode::WmiSignedIntegerRangeNode(class WmiSignedIntegerRangeNode const & __ptr64) __ptr64
+??0WmiSignedIntegerRangeNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiSignedIntegerRangeNode::WmiSignedIntegerRangeNode(unsigned short * __ptr64,unsigned long,int,int,int,int,long,long,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiSignedIntegerRangeNode@@QEAA@PEAGKHHHHJJPEAVWmiTreeNode@@1@Z
+; public: __cdecl WmiStringNode::WmiStringNode(class WmiStringNode const & __ptr64) __ptr64
+??0WmiStringNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiStringNode::WmiStringNode(unsigned short * __ptr64,unsigned short * __ptr64,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,unsigned long,class WmiTreeNode * __ptr64) __ptr64
+??0WmiStringNode@@QEAA@PEAG0W4WmiValueFunction@WmiValueNode@@1KPEAVWmiTreeNode@@@Z
+; public: __cdecl WmiStringRangeNode::WmiStringRangeNode(class WmiStringRangeNode const & __ptr64) __ptr64
+??0WmiStringRangeNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiStringRangeNode::WmiStringRangeNode(unsigned short * __ptr64,unsigned long,int,int,int,int,unsigned short * __ptr64,unsigned short * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiStringRangeNode@@QEAA@PEAGKHHHH00PEAVWmiTreeNode@@1@Z
+; public: __cdecl WmiTreeNode::WmiTreeNode(class WmiTreeNode const & __ptr64) __ptr64
+??0WmiTreeNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiTreeNode::WmiTreeNode(unsigned long,void * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiTreeNode@@QEAA@KPEAXPEAV0@11@Z
+; public: __cdecl WmiTreeNode::WmiTreeNode(class WmiTreeNode * __ptr64) __ptr64
+??0WmiTreeNode@@QEAA@PEAV0@@Z
+; public: __cdecl WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNodeIterator const & __ptr64) __ptr64
+??0WmiTreeNodeIterator@@QEAA@AEBV0@@Z
+; public: __cdecl WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNodeIterator * __ptr64) __ptr64
+??0WmiTreeNodeIterator@@QEAA@PEAV0@@Z
+; public: __cdecl WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNode * __ptr64) __ptr64
+??0WmiTreeNodeIterator@@QEAA@PEAVWmiTreeNode@@@Z
+; public: __cdecl WmiUnsignedIntegerNode::WmiUnsignedIntegerNode(class WmiUnsignedIntegerNode const & __ptr64) __ptr64
+??0WmiUnsignedIntegerNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiUnsignedIntegerNode::WmiUnsignedIntegerNode(unsigned short * __ptr64,unsigned long,unsigned long,class WmiTreeNode * __ptr64) __ptr64
+??0WmiUnsignedIntegerNode@@QEAA@PEAGKKPEAVWmiTreeNode@@@Z
+; public: __cdecl WmiUnsignedIntegerRangeNode::WmiUnsignedIntegerRangeNode(class WmiUnsignedIntegerRangeNode const & __ptr64) __ptr64
+??0WmiUnsignedIntegerRangeNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiUnsignedIntegerRangeNode::WmiUnsignedIntegerRangeNode(unsigned short * __ptr64,unsigned long,int,int,int,int,unsigned long,unsigned long,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+??0WmiUnsignedIntegerRangeNode@@QEAA@PEAGKHHHHKKPEAVWmiTreeNode@@1@Z
+; public: __cdecl WmiValueNode::WmiValueNode(class WmiValueNode const & __ptr64) __ptr64
+??0WmiValueNode@@QEAA@AEBV0@@Z
+; public: __cdecl WmiValueNode::WmiValueNode(unsigned long,unsigned short * __ptr64,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,unsigned long,class WmiTreeNode * __ptr64) __ptr64
+??0WmiValueNode@@QEAA@KPEAGW4WmiValueFunction@0@1KPEAVWmiTreeNode@@@Z
+; public: __cdecl CBString::~CBString(void) __ptr64
+??1CBString@@QEAA@XZ
+; public: __cdecl Conjunctions::~Conjunctions(void) __ptr64
+??1Conjunctions@@QEAA@XZ
+; public: __cdecl Disjunctions::~Disjunctions(void) __ptr64
+??1Disjunctions@@QEAA@XZ
+; public: virtual __cdecl PartitionSet::~PartitionSet(void) __ptr64
+??1PartitionSet@@UEAA@XZ
+; public: virtual __cdecl ProvAnalyser::~ProvAnalyser(void) __ptr64
+??1ProvAnalyser@@UEAA@XZ
+; public: virtual __cdecl ProvBitStringType::~ProvBitStringType(void) __ptr64
+??1ProvBitStringType@@UEAA@XZ
+; public: virtual __cdecl ProvCounter64::~ProvCounter64(void) __ptr64
+??1ProvCounter64@@UEAA@XZ
+; public: virtual __cdecl ProvCounter64Type::~ProvCounter64Type(void) __ptr64
+??1ProvCounter64Type@@UEAA@XZ
+; public: virtual __cdecl ProvCounter::~ProvCounter(void) __ptr64
+??1ProvCounter@@UEAA@XZ
+; public: virtual __cdecl ProvCounterType::~ProvCounterType(void) __ptr64
+??1ProvCounterType@@UEAA@XZ
+; public: virtual __cdecl ProvDateTimeType::~ProvDateTimeType(void) __ptr64
+??1ProvDateTimeType@@UEAA@XZ
+; public: virtual __cdecl ProvDisplayStringType::~ProvDisplayStringType(void) __ptr64
+??1ProvDisplayStringType@@UEAA@XZ
+; public: virtual __cdecl ProvEnumeratedType::~ProvEnumeratedType(void) __ptr64
+??1ProvEnumeratedType@@UEAA@XZ
+; public: virtual __cdecl ProvEventObject::~ProvEventObject(void) __ptr64
+??1ProvEventObject@@UEAA@XZ
+; public: virtual __cdecl ProvFixedLengthDisplayStringType::~ProvFixedLengthDisplayStringType(void) __ptr64
+??1ProvFixedLengthDisplayStringType@@UEAA@XZ
+; public: virtual __cdecl ProvFixedLengthOctetStringType::~ProvFixedLengthOctetStringType(void) __ptr64
+??1ProvFixedLengthOctetStringType@@UEAA@XZ
+; public: virtual __cdecl ProvFixedLengthOpaqueType::~ProvFixedLengthOpaqueType(void) __ptr64
+??1ProvFixedLengthOpaqueType@@UEAA@XZ
+; public: virtual __cdecl ProvFixedLengthPhysAddressType::~ProvFixedLengthPhysAddressType(void) __ptr64
+??1ProvFixedLengthPhysAddressType@@UEAA@XZ
+; public: virtual __cdecl ProvFixedType::~ProvFixedType(void) __ptr64
+??1ProvFixedType@@UEAA@XZ
+; public: virtual __cdecl ProvGauge::~ProvGauge(void) __ptr64
+??1ProvGauge@@UEAA@XZ
+; public: virtual __cdecl ProvGaugeType::~ProvGaugeType(void) __ptr64
+??1ProvGaugeType@@UEAA@XZ
+; public: virtual __cdecl ProvIPXAddressType::~ProvIPXAddressType(void) __ptr64
+??1ProvIPXAddressType@@UEAA@XZ
+; public: virtual __cdecl ProvInstanceType::~ProvInstanceType(void) __ptr64
+??1ProvInstanceType@@UEAA@XZ
+; public: virtual __cdecl ProvInteger::~ProvInteger(void) __ptr64
+??1ProvInteger@@UEAA@XZ
+; public: virtual __cdecl ProvIntegerType::~ProvIntegerType(void) __ptr64
+??1ProvIntegerType@@UEAA@XZ
+; public: virtual __cdecl ProvIpAddress::~ProvIpAddress(void) __ptr64
+??1ProvIpAddress@@UEAA@XZ
+; public: virtual __cdecl ProvIpAddressType::~ProvIpAddressType(void) __ptr64
+??1ProvIpAddressType@@UEAA@XZ
+; public: __cdecl ProvLexicon::~ProvLexicon(void) __ptr64
+??1ProvLexicon@@QEAA@XZ
+; public: virtual __cdecl ProvMacAddressType::~ProvMacAddressType(void) __ptr64
+??1ProvMacAddressType@@UEAA@XZ
+; public: virtual __cdecl ProvNegativeRangeType::~ProvNegativeRangeType(void) __ptr64
+??1ProvNegativeRangeType@@UEAA@XZ
+; public: virtual __cdecl ProvNetworkAddressType::~ProvNetworkAddressType(void) __ptr64
+??1ProvNetworkAddressType@@UEAA@XZ
+; public: virtual __cdecl ProvNull::~ProvNull(void) __ptr64
+??1ProvNull@@UEAA@XZ
+; public: virtual __cdecl ProvNullType::~ProvNullType(void) __ptr64
+??1ProvNullType@@UEAA@XZ
+; public: virtual __cdecl ProvOSIAddressType::~ProvOSIAddressType(void) __ptr64
+??1ProvOSIAddressType@@UEAA@XZ
+; public: virtual __cdecl ProvObjectIdentifier::~ProvObjectIdentifier(void) __ptr64
+??1ProvObjectIdentifier@@UEAA@XZ
+; public: virtual __cdecl ProvObjectIdentifierType::~ProvObjectIdentifierType(void) __ptr64
+??1ProvObjectIdentifierType@@UEAA@XZ
+; public: virtual __cdecl ProvOctetString::~ProvOctetString(void) __ptr64
+??1ProvOctetString@@UEAA@XZ
+; public: virtual __cdecl ProvOctetStringType::~ProvOctetStringType(void) __ptr64
+??1ProvOctetStringType@@UEAA@XZ
+; public: virtual __cdecl ProvOpaque::~ProvOpaque(void) __ptr64
+??1ProvOpaque@@UEAA@XZ
+; public: virtual __cdecl ProvOpaqueType::~ProvOpaqueType(void) __ptr64
+??1ProvOpaqueType@@UEAA@XZ
+; public: virtual __cdecl ProvPhysAddressType::~ProvPhysAddressType(void) __ptr64
+??1ProvPhysAddressType@@UEAA@XZ
+; public: virtual __cdecl ProvPositiveRangeType::~ProvPositiveRangeType(void) __ptr64
+??1ProvPositiveRangeType@@UEAA@XZ
+; public: virtual __cdecl ProvPositiveRangedType::~ProvPositiveRangedType(void) __ptr64
+??1ProvPositiveRangedType@@UEAA@XZ
+; public: virtual __cdecl ProvRowStatusType::~ProvRowStatusType(void) __ptr64
+??1ProvRowStatusType@@UEAA@XZ
+; public: virtual __cdecl ProvTimeTicks::~ProvTimeTicks(void) __ptr64
+??1ProvTimeTicks@@UEAA@XZ
+; public: virtual __cdecl ProvTimeTicksType::~ProvTimeTicksType(void) __ptr64
+??1ProvTimeTicksType@@UEAA@XZ
+; public: virtual __cdecl ProvUDPAddressType::~ProvUDPAddressType(void) __ptr64
+??1ProvUDPAddressType@@UEAA@XZ
+; public: virtual __cdecl ProvUInteger32::~ProvUInteger32(void) __ptr64
+??1ProvUInteger32@@UEAA@XZ
+; public: virtual __cdecl ProvValue::~ProvValue(void) __ptr64
+??1ProvValue@@UEAA@XZ
+; public: virtual __cdecl QueryPreprocessor::~QueryPreprocessor(void) __ptr64
+??1QueryPreprocessor@@UEAA@XZ
+; public: virtual __cdecl WmiAndNode::~WmiAndNode(void) __ptr64
+??1WmiAndNode@@UEAA@XZ
+; public: virtual __cdecl WmiNotNode::~WmiNotNode(void) __ptr64
+??1WmiNotNode@@UEAA@XZ
+; public: virtual __cdecl WmiNullNode::~WmiNullNode(void) __ptr64
+??1WmiNullNode@@UEAA@XZ
+; public: virtual __cdecl WmiNullRangeNode::~WmiNullRangeNode(void) __ptr64
+??1WmiNullRangeNode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorEqualNode::~WmiOperatorEqualNode(void) __ptr64
+??1WmiOperatorEqualNode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorEqualOrGreaterNode::~WmiOperatorEqualOrGreaterNode(void) __ptr64
+??1WmiOperatorEqualOrGreaterNode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorEqualOrLessNode::~WmiOperatorEqualOrLessNode(void) __ptr64
+??1WmiOperatorEqualOrLessNode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorGreaterNode::~WmiOperatorGreaterNode(void) __ptr64
+??1WmiOperatorGreaterNode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorIsANode::~WmiOperatorIsANode(void) __ptr64
+??1WmiOperatorIsANode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorLessNode::~WmiOperatorLessNode(void) __ptr64
+??1WmiOperatorLessNode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorLikeNode::~WmiOperatorLikeNode(void) __ptr64
+??1WmiOperatorLikeNode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorNode::~WmiOperatorNode(void) __ptr64
+??1WmiOperatorNode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorNotEqualNode::~WmiOperatorNotEqualNode(void) __ptr64
+??1WmiOperatorNotEqualNode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorNotIsANode::~WmiOperatorNotIsANode(void) __ptr64
+??1WmiOperatorNotIsANode@@UEAA@XZ
+; public: virtual __cdecl WmiOperatorNotLikeNode::~WmiOperatorNotLikeNode(void) __ptr64
+??1WmiOperatorNotLikeNode@@UEAA@XZ
+; public: virtual __cdecl WmiOrNode::~WmiOrNode(void) __ptr64
+??1WmiOrNode@@UEAA@XZ
+; public: virtual __cdecl WmiRangeNode::~WmiRangeNode(void) __ptr64
+??1WmiRangeNode@@UEAA@XZ
+; public: virtual __cdecl WmiSignedIntegerNode::~WmiSignedIntegerNode(void) __ptr64
+??1WmiSignedIntegerNode@@UEAA@XZ
+; public: virtual __cdecl WmiSignedIntegerRangeNode::~WmiSignedIntegerRangeNode(void) __ptr64
+??1WmiSignedIntegerRangeNode@@UEAA@XZ
+; public: virtual __cdecl WmiStringNode::~WmiStringNode(void) __ptr64
+??1WmiStringNode@@UEAA@XZ
+; public: virtual __cdecl WmiStringRangeNode::~WmiStringRangeNode(void) __ptr64
+??1WmiStringRangeNode@@UEAA@XZ
+; public: virtual __cdecl WmiTreeNode::~WmiTreeNode(void) __ptr64
+??1WmiTreeNode@@UEAA@XZ
+; public: virtual __cdecl WmiTreeNodeIterator::~WmiTreeNodeIterator(void) __ptr64
+??1WmiTreeNodeIterator@@UEAA@XZ
+; public: virtual __cdecl WmiUnsignedIntegerNode::~WmiUnsignedIntegerNode(void) __ptr64
+??1WmiUnsignedIntegerNode@@UEAA@XZ
+; public: virtual __cdecl WmiUnsignedIntegerRangeNode::~WmiUnsignedIntegerRangeNode(void) __ptr64
+??1WmiUnsignedIntegerRangeNode@@UEAA@XZ
+; public: virtual __cdecl WmiValueNode::~WmiValueNode(void) __ptr64
+??1WmiValueNode@@UEAA@XZ
+; public: class CBString & __ptr64 __cdecl CBString::operator=(class CBString const & __ptr64) __ptr64
+??4CBString@@QEAAAEAV0@AEBV0@@Z
+; public: class CBString const & __ptr64 __cdecl CBString::operator=(unsigned short * __ptr64) __ptr64
+??4CBString@@QEAAAEBV0@PEAG@Z
+; public: class Conjunctions & __ptr64 __cdecl Conjunctions::operator=(class Conjunctions const & __ptr64) __ptr64
+??4Conjunctions@@QEAAAEAV0@AEBV0@@Z
+; public: class Disjunctions & __ptr64 __cdecl Disjunctions::operator=(class Disjunctions const & __ptr64) __ptr64
+??4Disjunctions@@QEAAAEAV0@AEBV0@@Z
+; public: class PartitionSet & __ptr64 __cdecl PartitionSet::operator=(class PartitionSet const & __ptr64) __ptr64
+??4PartitionSet@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvAnalyser & __ptr64 __cdecl ProvAnalyser::operator=(class ProvAnalyser const & __ptr64) __ptr64
+??4ProvAnalyser@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvBitStringType & __ptr64 __cdecl ProvBitStringType::operator=(class ProvBitStringType const & __ptr64) __ptr64
+??4ProvBitStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvCounter64::operator=(class ProvCounter64 const & __ptr64) __ptr64
+??4ProvCounter64@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvCounter64Type & __ptr64 __cdecl ProvCounter64Type::operator=(class ProvCounter64Type const & __ptr64) __ptr64
+??4ProvCounter64Type@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvCounter::operator=(class ProvCounter const & __ptr64) __ptr64
+??4ProvCounter@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvCounterType & __ptr64 __cdecl ProvCounterType::operator=(class ProvCounterType const & __ptr64) __ptr64
+??4ProvCounterType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvDateTimeType & __ptr64 __cdecl ProvDateTimeType::operator=(class ProvDateTimeType const & __ptr64) __ptr64
+??4ProvDateTimeType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvDebugLog & __ptr64 __cdecl ProvDebugLog::operator=(class ProvDebugLog const & __ptr64) __ptr64
+??4ProvDebugLog@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvDisplayStringType & __ptr64 __cdecl ProvDisplayStringType::operator=(class ProvDisplayStringType const & __ptr64) __ptr64
+??4ProvDisplayStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvEnumeratedType & __ptr64 __cdecl ProvEnumeratedType::operator=(class ProvEnumeratedType const & __ptr64) __ptr64
+??4ProvEnumeratedType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvEventObject & __ptr64 __cdecl ProvEventObject::operator=(class ProvEventObject const & __ptr64) __ptr64
+??4ProvEventObject@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvFixedLengthDisplayStringType & __ptr64 __cdecl ProvFixedLengthDisplayStringType::operator=(class ProvFixedLengthDisplayStringType const & __ptr64) __ptr64
+??4ProvFixedLengthDisplayStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvFixedLengthOctetStringType & __ptr64 __cdecl ProvFixedLengthOctetStringType::operator=(class ProvFixedLengthOctetStringType const & __ptr64) __ptr64
+??4ProvFixedLengthOctetStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvFixedLengthOpaqueType & __ptr64 __cdecl ProvFixedLengthOpaqueType::operator=(class ProvFixedLengthOpaqueType const & __ptr64) __ptr64
+??4ProvFixedLengthOpaqueType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvFixedLengthPhysAddressType & __ptr64 __cdecl ProvFixedLengthPhysAddressType::operator=(class ProvFixedLengthPhysAddressType const & __ptr64) __ptr64
+??4ProvFixedLengthPhysAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvFixedType & __ptr64 __cdecl ProvFixedType::operator=(class ProvFixedType const & __ptr64) __ptr64
+??4ProvFixedType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvGauge::operator=(class ProvGauge const & __ptr64) __ptr64
+??4ProvGauge@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvGaugeType & __ptr64 __cdecl ProvGaugeType::operator=(class ProvGaugeType const & __ptr64) __ptr64
+??4ProvGaugeType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvIPXAddressType & __ptr64 __cdecl ProvIPXAddressType::operator=(class ProvIPXAddressType const & __ptr64) __ptr64
+??4ProvIPXAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvInstanceType & __ptr64 __cdecl ProvInstanceType::operator=(class ProvInstanceType const & __ptr64) __ptr64
+??4ProvInstanceType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvInteger::operator=(class ProvInteger const & __ptr64) __ptr64
+??4ProvInteger@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvIntegerType & __ptr64 __cdecl ProvIntegerType::operator=(class ProvIntegerType const & __ptr64) __ptr64
+??4ProvIntegerType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvIpAddress::operator=(class ProvIpAddress const & __ptr64) __ptr64
+??4ProvIpAddress@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvIpAddressType & __ptr64 __cdecl ProvIpAddressType::operator=(class ProvIpAddressType const & __ptr64) __ptr64
+??4ProvIpAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvLexicon & __ptr64 __cdecl ProvLexicon::operator=(class ProvLexicon const & __ptr64) __ptr64
+??4ProvLexicon@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvMacAddressType & __ptr64 __cdecl ProvMacAddressType::operator=(class ProvMacAddressType const & __ptr64) __ptr64
+??4ProvMacAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvNegativeRangeType & __ptr64 __cdecl ProvNegativeRangeType::operator=(class ProvNegativeRangeType const & __ptr64) __ptr64
+??4ProvNegativeRangeType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvNetworkAddressType & __ptr64 __cdecl ProvNetworkAddressType::operator=(class ProvNetworkAddressType const & __ptr64) __ptr64
+??4ProvNetworkAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvNull::operator=(class ProvNull const & __ptr64) __ptr64
+??4ProvNull@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvNullType & __ptr64 __cdecl ProvNullType::operator=(class ProvNullType const & __ptr64) __ptr64
+??4ProvNullType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvOSIAddressType & __ptr64 __cdecl ProvOSIAddressType::operator=(class ProvOSIAddressType const & __ptr64) __ptr64
+??4ProvOSIAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvObjectIdentifier::operator=(class ProvObjectIdentifier const & __ptr64) __ptr64
+??4ProvObjectIdentifier@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvObjectIdentifierType & __ptr64 __cdecl ProvObjectIdentifierType::operator=(class ProvObjectIdentifierType const & __ptr64) __ptr64
+??4ProvObjectIdentifierType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvOctetString::operator=(class ProvOctetString const & __ptr64) __ptr64
+??4ProvOctetString@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvOctetStringType & __ptr64 __cdecl ProvOctetStringType::operator=(class ProvOctetStringType const & __ptr64) __ptr64
+??4ProvOctetStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvOpaque::operator=(class ProvOpaque const & __ptr64) __ptr64
+??4ProvOpaque@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvOpaqueType & __ptr64 __cdecl ProvOpaqueType::operator=(class ProvOpaqueType const & __ptr64) __ptr64
+??4ProvOpaqueType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvPhysAddressType & __ptr64 __cdecl ProvPhysAddressType::operator=(class ProvPhysAddressType const & __ptr64) __ptr64
+??4ProvPhysAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvPositiveRangeType & __ptr64 __cdecl ProvPositiveRangeType::operator=(class ProvPositiveRangeType const & __ptr64) __ptr64
+??4ProvPositiveRangeType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvPositiveRangedType & __ptr64 __cdecl ProvPositiveRangedType::operator=(class ProvPositiveRangedType const & __ptr64) __ptr64
+??4ProvPositiveRangedType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvRowStatusType & __ptr64 __cdecl ProvRowStatusType::operator=(class ProvRowStatusType const & __ptr64) __ptr64
+??4ProvRowStatusType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvTimeTicks::operator=(class ProvTimeTicks const & __ptr64) __ptr64
+??4ProvTimeTicks@@QEAAAEAVProvValue@@AEBV0@@Z
+; public: class ProvTimeTicksType & __ptr64 __cdecl ProvTimeTicksType::operator=(class ProvTimeTicksType const & __ptr64) __ptr64
+??4ProvTimeTicksType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvUDPAddressType & __ptr64 __cdecl ProvUDPAddressType::operator=(class ProvUDPAddressType const & __ptr64) __ptr64
+??4ProvUDPAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class ProvValue & __ptr64 __cdecl ProvUInteger32::operator=(class ProvUInteger32 const & __ptr64) __ptr64
+??4ProvUInteger32@@QEAAAEAVProvValue@@AEBV0@@Z
+; private: class ProvValue & __ptr64 __cdecl ProvValue::operator=(class ProvValue const & __ptr64) __ptr64
+??4ProvValue@@AEAAAEAV0@AEBV0@@Z
+; public: class QueryPreprocessor & __ptr64 __cdecl QueryPreprocessor::operator=(class QueryPreprocessor const & __ptr64) __ptr64
+??4QueryPreprocessor@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiAndNode & __ptr64 __cdecl WmiAndNode::operator=(class WmiAndNode const & __ptr64) __ptr64
+??4WmiAndNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiNotNode & __ptr64 __cdecl WmiNotNode::operator=(class WmiNotNode const & __ptr64) __ptr64
+??4WmiNotNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiNullNode & __ptr64 __cdecl WmiNullNode::operator=(class WmiNullNode const & __ptr64) __ptr64
+??4WmiNullNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiNullRangeNode & __ptr64 __cdecl WmiNullRangeNode::operator=(class WmiNullRangeNode const & __ptr64) __ptr64
+??4WmiNullRangeNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorEqualNode & __ptr64 __cdecl WmiOperatorEqualNode::operator=(class WmiOperatorEqualNode const & __ptr64) __ptr64
+??4WmiOperatorEqualNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorEqualOrGreaterNode & __ptr64 __cdecl WmiOperatorEqualOrGreaterNode::operator=(class WmiOperatorEqualOrGreaterNode const & __ptr64) __ptr64
+??4WmiOperatorEqualOrGreaterNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorEqualOrLessNode & __ptr64 __cdecl WmiOperatorEqualOrLessNode::operator=(class WmiOperatorEqualOrLessNode const & __ptr64) __ptr64
+??4WmiOperatorEqualOrLessNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorGreaterNode & __ptr64 __cdecl WmiOperatorGreaterNode::operator=(class WmiOperatorGreaterNode const & __ptr64) __ptr64
+??4WmiOperatorGreaterNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorIsANode & __ptr64 __cdecl WmiOperatorIsANode::operator=(class WmiOperatorIsANode const & __ptr64) __ptr64
+??4WmiOperatorIsANode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorLessNode & __ptr64 __cdecl WmiOperatorLessNode::operator=(class WmiOperatorLessNode const & __ptr64) __ptr64
+??4WmiOperatorLessNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorLikeNode & __ptr64 __cdecl WmiOperatorLikeNode::operator=(class WmiOperatorLikeNode const & __ptr64) __ptr64
+??4WmiOperatorLikeNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorNode & __ptr64 __cdecl WmiOperatorNode::operator=(class WmiOperatorNode const & __ptr64) __ptr64
+??4WmiOperatorNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorNotEqualNode & __ptr64 __cdecl WmiOperatorNotEqualNode::operator=(class WmiOperatorNotEqualNode const & __ptr64) __ptr64
+??4WmiOperatorNotEqualNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorNotIsANode & __ptr64 __cdecl WmiOperatorNotIsANode::operator=(class WmiOperatorNotIsANode const & __ptr64) __ptr64
+??4WmiOperatorNotIsANode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOperatorNotLikeNode & __ptr64 __cdecl WmiOperatorNotLikeNode::operator=(class WmiOperatorNotLikeNode const & __ptr64) __ptr64
+??4WmiOperatorNotLikeNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiOrNode & __ptr64 __cdecl WmiOrNode::operator=(class WmiOrNode const & __ptr64) __ptr64
+??4WmiOrNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiRangeNode & __ptr64 __cdecl WmiRangeNode::operator=(class WmiRangeNode const & __ptr64) __ptr64
+??4WmiRangeNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiSignedIntegerNode & __ptr64 __cdecl WmiSignedIntegerNode::operator=(class WmiSignedIntegerNode const & __ptr64) __ptr64
+??4WmiSignedIntegerNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiSignedIntegerRangeNode & __ptr64 __cdecl WmiSignedIntegerRangeNode::operator=(class WmiSignedIntegerRangeNode const & __ptr64) __ptr64
+??4WmiSignedIntegerRangeNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiStringNode & __ptr64 __cdecl WmiStringNode::operator=(class WmiStringNode const & __ptr64) __ptr64
+??4WmiStringNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiStringRangeNode & __ptr64 __cdecl WmiStringRangeNode::operator=(class WmiStringRangeNode const & __ptr64) __ptr64
+??4WmiStringRangeNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiTreeNode & __ptr64 __cdecl WmiTreeNode::operator=(class WmiTreeNode const & __ptr64) __ptr64
+??4WmiTreeNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiTreeNodeIterator & __ptr64 __cdecl WmiTreeNodeIterator::operator=(class WmiTreeNodeIterator const & __ptr64) __ptr64
+??4WmiTreeNodeIterator@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiUnsignedIntegerNode & __ptr64 __cdecl WmiUnsignedIntegerNode::operator=(class WmiUnsignedIntegerNode const & __ptr64) __ptr64
+??4WmiUnsignedIntegerNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiUnsignedIntegerRangeNode & __ptr64 __cdecl WmiUnsignedIntegerRangeNode::operator=(class WmiUnsignedIntegerRangeNode const & __ptr64) __ptr64
+??4WmiUnsignedIntegerRangeNode@@QEAAAEAV0@AEBV0@@Z
+; public: class WmiValueNode & __ptr64 __cdecl WmiValueNode::operator=(class WmiValueNode const & __ptr64) __ptr64
+??4WmiValueNode@@QEAAAEAV0@AEBV0@@Z
+; public: int __cdecl ProvInstanceType::operator==(class ProvInstanceType const & __ptr64)const  __ptr64
+??8ProvInstanceType@@QEBAHAEBV0@@Z
+; public: int __cdecl ProvObjectIdentifier::operator==(class ProvObjectIdentifier const & __ptr64)const  __ptr64
+??8ProvObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl ProvValue::operator==(class ProvValue const & __ptr64)const  __ptr64
+??8ProvValue@@QEBAHAEBV0@@Z
+; public: int __cdecl ProvInstanceType::operator!=(class ProvInstanceType const & __ptr64)const  __ptr64
+??9ProvInstanceType@@QEBAHAEBV0@@Z
+; public: int __cdecl ProvObjectIdentifier::operator!=(class ProvObjectIdentifier const & __ptr64)const  __ptr64
+??9ProvObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl ProvValue::operator!=(class ProvValue const & __ptr64)const  __ptr64
+??9ProvValue@@QEBAHAEBV0@@Z
+; public: unsigned long & __ptr64 __cdecl ProvObjectIdentifier::operator[](unsigned long)const  __ptr64
+??AProvObjectIdentifier@@QEBAAEAKK@Z
+; public: virtual __cdecl ProvAnalyser::operator void * __ptr64(void) __ptr64
+??BProvAnalyser@@UEAAPEAXXZ
+; public: virtual __cdecl ProvInstanceType::operator void * __ptr64(void) __ptr64
+??BProvInstanceType@@UEAAPEAXXZ
+; public: virtual __cdecl ProvPositiveRangedType::operator void * __ptr64(void) __ptr64
+??BProvPositiveRangedType@@UEAAPEAXXZ
+; public: class ProvObjectIdentifier  __cdecl ProvObjectIdentifier::operator+(class ProvObjectIdentifier const & __ptr64)const  __ptr64
+??HProvObjectIdentifier@@QEBA?AV0@AEBV0@@Z
+; public: int __cdecl ProvObjectIdentifier::operator<(class ProvObjectIdentifier const & __ptr64)const  __ptr64
+??MProvObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl ProvObjectIdentifier::operator<=(class ProvObjectIdentifier const & __ptr64)const  __ptr64
+??NProvObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl ProvObjectIdentifier::operator>(class ProvObjectIdentifier const & __ptr64)const  __ptr64
+??OProvObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl ProvObjectIdentifier::operator>=(class ProvObjectIdentifier const & __ptr64)const  __ptr64
+??PProvObjectIdentifier@@QEBAHAEBV0@@Z
+; public: void * __ptr64 __cdecl ProvIpAddress::operator()(void)const  __ptr64
+??RProvIpAddress@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl ProvObjectIdentifier::operator()(void)const  __ptr64
+??RProvObjectIdentifier@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl ProvOctetString::operator()(void)const  __ptr64
+??RProvOctetString@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl ProvOpaque::operator()(void)const  __ptr64
+??RProvOpaque@@QEBAPEAXXZ
+; const  PartitionSet::`vftable'
+??_7PartitionSet@@6B@
+; const  ProvAnalyser::`vftable'
+??_7ProvAnalyser@@6B@
+; const  ProvBitStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvBitStringType@@6BProvInstanceType@@@
+; const  ProvBitStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvBitStringType@@6BProvPositiveRangedType@@@
+; const  ProvCounter64::`vftable'
+??_7ProvCounter64@@6B@
+; const  ProvCounter64Type::`vftable'
+??_7ProvCounter64Type@@6B@
+; const  ProvCounter::`vftable'
+??_7ProvCounter@@6B@
+; const  ProvCounterType::`vftable'
+??_7ProvCounterType@@6B@
+; const  ProvDateTimeType::`vftable'{for `ProvInstanceType'}
+??_7ProvDateTimeType@@6BProvInstanceType@@@
+; const  ProvDateTimeType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvDateTimeType@@6BProvPositiveRangedType@@@
+; const  ProvDisplayStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvDisplayStringType@@6BProvInstanceType@@@
+; const  ProvDisplayStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvDisplayStringType@@6BProvPositiveRangedType@@@
+; const  ProvEnumeratedType::`vftable'{for `ProvInstanceType'}
+??_7ProvEnumeratedType@@6BProvInstanceType@@@
+; const  ProvEnumeratedType::`vftable'{for `ProvNegativeRangedType'}
+??_7ProvEnumeratedType@@6BProvNegativeRangedType@@@
+; const  ProvEventObject::`vftable'
+??_7ProvEventObject@@6B@
+; const  ProvFixedLengthDisplayStringType::`vftable'
+??_7ProvFixedLengthDisplayStringType@@6B@
+; const  ProvFixedLengthDisplayStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvFixedLengthDisplayStringType@@6BProvInstanceType@@@
+; const  ProvFixedLengthDisplayStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvFixedLengthDisplayStringType@@6BProvPositiveRangedType@@@
+; const  ProvFixedLengthOctetStringType::`vftable'
+??_7ProvFixedLengthOctetStringType@@6B@
+; const  ProvFixedLengthOctetStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvFixedLengthOctetStringType@@6BProvInstanceType@@@
+; const  ProvFixedLengthOctetStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvFixedLengthOctetStringType@@6BProvPositiveRangedType@@@
+; const  ProvFixedLengthOpaqueType::`vftable'
+??_7ProvFixedLengthOpaqueType@@6B@
+; const  ProvFixedLengthOpaqueType::`vftable'{for `ProvInstanceType'}
+??_7ProvFixedLengthOpaqueType@@6BProvInstanceType@@@
+; const  ProvFixedLengthOpaqueType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvFixedLengthOpaqueType@@6BProvPositiveRangedType@@@
+; const  ProvFixedLengthPhysAddressType::`vftable'
+??_7ProvFixedLengthPhysAddressType@@6B@
+; const  ProvFixedLengthPhysAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvFixedLengthPhysAddressType@@6BProvInstanceType@@@
+; const  ProvFixedLengthPhysAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvFixedLengthPhysAddressType@@6BProvPositiveRangedType@@@
+; const  ProvFixedType::`vftable'
+??_7ProvFixedType@@6B@
+; const  ProvGauge::`vftable'
+??_7ProvGauge@@6B@
+; const  ProvGaugeType::`vftable'{for `ProvInstanceType'}
+??_7ProvGaugeType@@6BProvInstanceType@@@
+; const  ProvGaugeType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvGaugeType@@6BProvPositiveRangedType@@@
+; const  ProvIPXAddressType::`vftable'
+??_7ProvIPXAddressType@@6B@
+; const  ProvIPXAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvIPXAddressType@@6BProvInstanceType@@@
+; const  ProvIPXAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvIPXAddressType@@6BProvPositiveRangedType@@@
+; const  ProvInstanceType::`vftable'
+??_7ProvInstanceType@@6B@
+; const  ProvInteger::`vftable'
+??_7ProvInteger@@6B@
+; const  ProvIntegerType::`vftable'{for `ProvInstanceType'}
+??_7ProvIntegerType@@6BProvInstanceType@@@
+; const  ProvIntegerType::`vftable'{for `ProvNegativeRangedType'}
+??_7ProvIntegerType@@6BProvNegativeRangedType@@@
+; const  ProvIpAddress::`vftable'
+??_7ProvIpAddress@@6B@
+; const  ProvIpAddressType::`vftable'
+??_7ProvIpAddressType@@6B@
+; const  ProvMacAddressType::`vftable'
+??_7ProvMacAddressType@@6B@
+; const  ProvMacAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvMacAddressType@@6BProvInstanceType@@@
+; const  ProvMacAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvMacAddressType@@6BProvPositiveRangedType@@@
+; const  ProvNegativeRangeType::`vftable'
+??_7ProvNegativeRangeType@@6B@
+; const  ProvNetworkAddressType::`vftable'
+??_7ProvNetworkAddressType@@6B@
+; const  ProvNull::`vftable'
+??_7ProvNull@@6B@
+; const  ProvNullType::`vftable'
+??_7ProvNullType@@6B@
+; const  ProvOSIAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvOSIAddressType@@6BProvInstanceType@@@
+; const  ProvOSIAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvOSIAddressType@@6BProvPositiveRangedType@@@
+; const  ProvObjectIdentifier::`vftable'
+??_7ProvObjectIdentifier@@6B@
+; const  ProvObjectIdentifierType::`vftable'
+??_7ProvObjectIdentifierType@@6B@
+; const  ProvOctetString::`vftable'
+??_7ProvOctetString@@6B@
+; const  ProvOctetStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvOctetStringType@@6BProvInstanceType@@@
+; const  ProvOctetStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvOctetStringType@@6BProvPositiveRangedType@@@
+; const  ProvOpaque::`vftable'
+??_7ProvOpaque@@6B@
+; const  ProvOpaqueType::`vftable'{for `ProvInstanceType'}
+??_7ProvOpaqueType@@6BProvInstanceType@@@
+; const  ProvOpaqueType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvOpaqueType@@6BProvPositiveRangedType@@@
+; const  ProvPhysAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvPhysAddressType@@6BProvInstanceType@@@
+; const  ProvPhysAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvPhysAddressType@@6BProvPositiveRangedType@@@
+; const  ProvPositiveRangeType::`vftable'
+??_7ProvPositiveRangeType@@6B@
+; const  ProvPositiveRangedType::`vftable'
+??_7ProvPositiveRangedType@@6B@
+; const  ProvRowStatusType::`vftable'{for `ProvInstanceType'}
+??_7ProvRowStatusType@@6BProvInstanceType@@@
+; const  ProvRowStatusType::`vftable'{for `ProvNegativeRangedType'}
+??_7ProvRowStatusType@@6BProvNegativeRangedType@@@
+; const  ProvTimeTicks::`vftable'
+??_7ProvTimeTicks@@6B@
+; const  ProvTimeTicksType::`vftable'
+??_7ProvTimeTicksType@@6B@
+; const  ProvUDPAddressType::`vftable'
+??_7ProvUDPAddressType@@6B@
+; const  ProvUDPAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvUDPAddressType@@6BProvInstanceType@@@
+; const  ProvUDPAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvUDPAddressType@@6BProvPositiveRangedType@@@
+; const  ProvUInteger32::`vftable'
+??_7ProvUInteger32@@6B@
+; const  ProvValue::`vftable'
+??_7ProvValue@@6B@
+; const  QueryPreprocessor::`vftable'
+??_7QueryPreprocessor@@6B@
+; const  WmiAndNode::`vftable'
+??_7WmiAndNode@@6B@
+; const  WmiNotNode::`vftable'
+??_7WmiNotNode@@6B@
+; const  WmiNullNode::`vftable'
+??_7WmiNullNode@@6B@
+; const  WmiNullRangeNode::`vftable'
+??_7WmiNullRangeNode@@6B@
+; const  WmiOperatorEqualNode::`vftable'
+??_7WmiOperatorEqualNode@@6B@
+; const  WmiOperatorEqualOrGreaterNode::`vftable'
+??_7WmiOperatorEqualOrGreaterNode@@6B@
+; const  WmiOperatorEqualOrLessNode::`vftable'
+??_7WmiOperatorEqualOrLessNode@@6B@
+; const  WmiOperatorGreaterNode::`vftable'
+??_7WmiOperatorGreaterNode@@6B@
+; const  WmiOperatorIsANode::`vftable'
+??_7WmiOperatorIsANode@@6B@
+; const  WmiOperatorLessNode::`vftable'
+??_7WmiOperatorLessNode@@6B@
+; const  WmiOperatorLikeNode::`vftable'
+??_7WmiOperatorLikeNode@@6B@
+; const  WmiOperatorNode::`vftable'
+??_7WmiOperatorNode@@6B@
+; const  WmiOperatorNotEqualNode::`vftable'
+??_7WmiOperatorNotEqualNode@@6B@
+; const  WmiOperatorNotIsANode::`vftable'
+??_7WmiOperatorNotIsANode@@6B@
+; const  WmiOperatorNotLikeNode::`vftable'
+??_7WmiOperatorNotLikeNode@@6B@
+; const  WmiOrNode::`vftable'
+??_7WmiOrNode@@6B@
+; const  WmiRangeNode::`vftable'
+??_7WmiRangeNode@@6B@
+; const  WmiSignedIntegerNode::`vftable'
+??_7WmiSignedIntegerNode@@6B@
+; const  WmiSignedIntegerRangeNode::`vftable'
+??_7WmiSignedIntegerRangeNode@@6B@
+; const  WmiStringNode::`vftable'
+??_7WmiStringNode@@6B@
+; const  WmiStringRangeNode::`vftable'
+??_7WmiStringRangeNode@@6B@
+; const  WmiTreeNode::`vftable'
+??_7WmiTreeNode@@6B@
+; const  WmiTreeNodeIterator::`vftable'
+??_7WmiTreeNodeIterator@@6B@
+; const  WmiUnsignedIntegerNode::`vftable'
+??_7WmiUnsignedIntegerNode@@6B@
+; const  WmiUnsignedIntegerRangeNode::`vftable'
+??_7WmiUnsignedIntegerRangeNode@@6B@
+; const  WmiValueNode::`vftable'
+??_7WmiValueNode@@6B@
+; public: void __cdecl ProvAnalyser::`default constructor closure'(void) __ptr64
+??_FProvAnalyser@@QEAAXXZ
+; public: void __cdecl ProvDisplayStringType::`default constructor closure'(void) __ptr64
+??_FProvDisplayStringType@@QEAAXXZ
+; public: void __cdecl ProvEventObject::`default constructor closure'(void) __ptr64
+??_FProvEventObject@@QEAAXXZ
+; public: void __cdecl ProvGaugeType::`default constructor closure'(void) __ptr64
+??_FProvGaugeType@@QEAAXXZ
+; public: void __cdecl ProvInstanceType::`default constructor closure'(void) __ptr64
+??_FProvInstanceType@@QEAAXXZ
+; public: void __cdecl ProvIntegerType::`default constructor closure'(void) __ptr64
+??_FProvIntegerType@@QEAAXXZ
+; public: void __cdecl ProvOctetStringType::`default constructor closure'(void) __ptr64
+??_FProvOctetStringType@@QEAAXXZ
+; public: void __cdecl ProvOpaqueType::`default constructor closure'(void) __ptr64
+??_FProvOpaqueType@@QEAAXXZ
+; public: void __cdecl ProvPhysAddressType::`default constructor closure'(void) __ptr64
+??_FProvPhysAddressType@@QEAAXXZ
+; public: void __cdecl ProvPositiveRangedType::`default constructor closure'(void) __ptr64
+??_FProvPositiveRangedType@@QEAAXXZ
+; public: void __cdecl WmiAndNode::`default constructor closure'(void) __ptr64
+??_FWmiAndNode@@QEAAXXZ
+; public: void __cdecl WmiNotNode::`default constructor closure'(void) __ptr64
+??_FWmiNotNode@@QEAAXXZ
+; public: void __cdecl WmiOperatorEqualNode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorEqualNode@@QEAAXXZ
+; public: void __cdecl WmiOperatorEqualOrGreaterNode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorEqualOrGreaterNode@@QEAAXXZ
+; public: void __cdecl WmiOperatorEqualOrLessNode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorEqualOrLessNode@@QEAAXXZ
+; public: void __cdecl WmiOperatorGreaterNode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorGreaterNode@@QEAAXXZ
+; public: void __cdecl WmiOperatorIsANode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorIsANode@@QEAAXXZ
+; public: void __cdecl WmiOperatorLessNode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorLessNode@@QEAAXXZ
+; public: void __cdecl WmiOperatorLikeNode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorLikeNode@@QEAAXXZ
+; public: void __cdecl WmiOperatorNotEqualNode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorNotEqualNode@@QEAAXXZ
+; public: void __cdecl WmiOperatorNotIsANode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorNotIsANode@@QEAAXXZ
+; public: void __cdecl WmiOperatorNotLikeNode::`default constructor closure'(void) __ptr64
+??_FWmiOperatorNotLikeNode@@QEAAXXZ
+; public: void __cdecl WmiOrNode::`default constructor closure'(void) __ptr64
+??_FWmiOrNode@@QEAAXXZ
+; public: void __cdecl WmiTreeNode::`default constructor closure'(void) __ptr64
+??_FWmiTreeNode@@QEAAXXZ
+; protected: virtual class WmiRangeNode * __ptr64 __cdecl QueryPreprocessor::AllocInfiniteRangeNode(void * __ptr64,unsigned short * __ptr64) __ptr64
+?AllocInfiniteRangeNode@QueryPreprocessor@@MEAAPEAVWmiRangeNode@@PEAXPEAG@Z
+; protected: virtual class WmiTreeNode * __ptr64 __cdecl QueryPreprocessor::AllocTypeNode(void * __ptr64,unsigned short * __ptr64,struct tagVARIANT & __ptr64,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,class WmiTreeNode * __ptr64) __ptr64
+?AllocTypeNode@QueryPreprocessor@@MEAAPEAVWmiTreeNode@@PEAXPEAGAEAUtagVARIANT@@W4WmiValueFunction@WmiValueNode@@3PEAV2@@Z
+; protected: virtual int __cdecl ProvAnalyser::Analyse(class ProvLexicon * __ptr64,unsigned long & __ptr64,unsigned short,unsigned short const * __ptr64,unsigned long & __ptr64,int,int,int) __ptr64
+?Analyse@ProvAnalyser@@MEAAHPEAVProvLexicon@@AEAKGPEBG1HHH@Z
+; private: int __cdecl ProvBitStringType::BitStringDef(void) __ptr64
+?BitStringDef@ProvBitStringType@@AEAAHXZ
+; public: int __cdecl ProvPositiveRangedType::Check(unsigned long const & __ptr64) __ptr64
+?Check@ProvPositiveRangedType@@QEAAHAEBK@Z
+; public: void __cdecl ProvEventObject::Clear(void) __ptr64
+?Clear@ProvEventObject@@QEAAXXZ
+; public: int __cdecl WmiRangeNode::ClosedLowerBound(void) __ptr64
+?ClosedLowerBound@WmiRangeNode@@QEAAHXZ
+; public: int __cdecl WmiRangeNode::ClosedUpperBound(void) __ptr64
+?ClosedUpperBound@WmiRangeNode@@QEAAHXZ
+; public: static void __cdecl ProvDebugLog::Closedown(void)
+?Closedown@ProvDebugLog@@SAXXZ
+; protected: enum ProvObjectIdentifier::Comparison  __cdecl ProvObjectIdentifier::Compare(class ProvObjectIdentifier const & __ptr64,class ProvObjectIdentifier const & __ptr64)const  __ptr64
+?Compare@ProvObjectIdentifier@@IEBA?AW4Comparison@1@AEBV1@0@Z
+; public: long __cdecl WmiRangeNode::ComparePropertyName(class WmiRangeNode & __ptr64) __ptr64
+?ComparePropertyName@WmiRangeNode@@QEAAJAEAV1@@Z
+; public: long __cdecl WmiValueNode::ComparePropertyName(class WmiValueNode & __ptr64) __ptr64
+?ComparePropertyName@WmiValueNode@@QEAAJAEAV1@@Z
+; public: virtual void __cdecl ProvEventObject::Complete(void) __ptr64
+?Complete@ProvEventObject@@UEAAXXZ
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::ConvertToRanges(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?ConvertToRanges@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvBitStringType::Copy(void)const  __ptr64
+?Copy@ProvBitStringType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvCounter64::Copy(void)const  __ptr64
+?Copy@ProvCounter64@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvCounter64Type::Copy(void)const  __ptr64
+?Copy@ProvCounter64Type@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvCounter::Copy(void)const  __ptr64
+?Copy@ProvCounter@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvCounterType::Copy(void)const  __ptr64
+?Copy@ProvCounterType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvDateTimeType::Copy(void)const  __ptr64
+?Copy@ProvDateTimeType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvDisplayStringType::Copy(void)const  __ptr64
+?Copy@ProvDisplayStringType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvEnumeratedType::Copy(void)const  __ptr64
+?Copy@ProvEnumeratedType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvFixedLengthDisplayStringType::Copy(void)const  __ptr64
+?Copy@ProvFixedLengthDisplayStringType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvFixedLengthOctetStringType::Copy(void)const  __ptr64
+?Copy@ProvFixedLengthOctetStringType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvFixedLengthOpaqueType::Copy(void)const  __ptr64
+?Copy@ProvFixedLengthOpaqueType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvFixedLengthPhysAddressType::Copy(void)const  __ptr64
+?Copy@ProvFixedLengthPhysAddressType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvGauge::Copy(void)const  __ptr64
+?Copy@ProvGauge@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvGaugeType::Copy(void)const  __ptr64
+?Copy@ProvGaugeType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvIPXAddressType::Copy(void)const  __ptr64
+?Copy@ProvIPXAddressType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvInteger::Copy(void)const  __ptr64
+?Copy@ProvInteger@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvIntegerType::Copy(void)const  __ptr64
+?Copy@ProvIntegerType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvIpAddress::Copy(void)const  __ptr64
+?Copy@ProvIpAddress@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvIpAddressType::Copy(void)const  __ptr64
+?Copy@ProvIpAddressType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvMacAddressType::Copy(void)const  __ptr64
+?Copy@ProvMacAddressType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvNegativeRangeType * __ptr64 __cdecl ProvNegativeRangeType::Copy(void) __ptr64
+?Copy@ProvNegativeRangeType@@UEAAPEAV1@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvNetworkAddressType::Copy(void)const  __ptr64
+?Copy@ProvNetworkAddressType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvNull::Copy(void)const  __ptr64
+?Copy@ProvNull@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvNullType::Copy(void)const  __ptr64
+?Copy@ProvNullType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvOSIAddressType::Copy(void)const  __ptr64
+?Copy@ProvOSIAddressType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvObjectIdentifier::Copy(void)const  __ptr64
+?Copy@ProvObjectIdentifier@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvObjectIdentifierType::Copy(void)const  __ptr64
+?Copy@ProvObjectIdentifierType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvOctetString::Copy(void)const  __ptr64
+?Copy@ProvOctetString@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvOctetStringType::Copy(void)const  __ptr64
+?Copy@ProvOctetStringType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvOpaque::Copy(void)const  __ptr64
+?Copy@ProvOpaque@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvOpaqueType::Copy(void)const  __ptr64
+?Copy@ProvOpaqueType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvPhysAddressType::Copy(void)const  __ptr64
+?Copy@ProvPhysAddressType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvPositiveRangeType * __ptr64 __cdecl ProvPositiveRangeType::Copy(void) __ptr64
+?Copy@ProvPositiveRangeType@@UEAAPEAV1@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvRowStatusType::Copy(void)const  __ptr64
+?Copy@ProvRowStatusType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvTimeTicks::Copy(void)const  __ptr64
+?Copy@ProvTimeTicks@@UEBAPEAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvTimeTicksType::Copy(void)const  __ptr64
+?Copy@ProvTimeTicksType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __ptr64 __cdecl ProvUDPAddressType::Copy(void)const  __ptr64
+?Copy@ProvUDPAddressType@@UEBAPEAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __ptr64 __cdecl ProvUInteger32::Copy(void)const  __ptr64
+?Copy@ProvUInteger32@@UEBAPEAVProvValue@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiAndNode::Copy(void) __ptr64
+?Copy@WmiAndNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiNotNode::Copy(void) __ptr64
+?Copy@WmiNotNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiNullNode::Copy(void) __ptr64
+?Copy@WmiNullNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiNullRangeNode::Copy(void) __ptr64
+?Copy@WmiNullRangeNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorEqualNode::Copy(void) __ptr64
+?Copy@WmiOperatorEqualNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorEqualOrGreaterNode::Copy(void) __ptr64
+?Copy@WmiOperatorEqualOrGreaterNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorEqualOrLessNode::Copy(void) __ptr64
+?Copy@WmiOperatorEqualOrLessNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorGreaterNode::Copy(void) __ptr64
+?Copy@WmiOperatorGreaterNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorIsANode::Copy(void) __ptr64
+?Copy@WmiOperatorIsANode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorLessNode::Copy(void) __ptr64
+?Copy@WmiOperatorLessNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorLikeNode::Copy(void) __ptr64
+?Copy@WmiOperatorLikeNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorNotEqualNode::Copy(void) __ptr64
+?Copy@WmiOperatorNotEqualNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorNotIsANode::Copy(void) __ptr64
+?Copy@WmiOperatorNotIsANode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOperatorNotLikeNode::Copy(void) __ptr64
+?Copy@WmiOperatorNotLikeNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiOrNode::Copy(void) __ptr64
+?Copy@WmiOrNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiSignedIntegerNode::Copy(void) __ptr64
+?Copy@WmiSignedIntegerNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiSignedIntegerRangeNode::Copy(void) __ptr64
+?Copy@WmiSignedIntegerRangeNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiStringNode::Copy(void) __ptr64
+?Copy@WmiStringNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiStringRangeNode::Copy(void) __ptr64
+?Copy@WmiStringRangeNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::Copy(void) __ptr64
+?Copy@WmiTreeNode@@UEAAPEAV1@XZ
+; public: virtual class WmiTreeNodeIterator * __ptr64 __cdecl WmiTreeNodeIterator::Copy(void) __ptr64
+?Copy@WmiTreeNodeIterator@@UEAAPEAV1@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiUnsignedIntegerNode::Copy(void) __ptr64
+?Copy@WmiUnsignedIntegerNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiUnsignedIntegerRangeNode::Copy(void) __ptr64
+?Copy@WmiUnsignedIntegerRangeNode@@UEAAPEAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::CopyNode(void) __ptr64
+?CopyNode@WmiTreeNode@@UEAAPEAV1@XZ
+; protected: void __cdecl QueryPreprocessor::CountDisjunctions(class WmiTreeNode * __ptr64,unsigned long & __ptr64) __ptr64
+?CountDisjunctions@QueryPreprocessor@@IEAAXPEAVWmiTreeNode@@AEAK@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::CreateDisjunctionContainer(void * __ptr64,class WmiTreeNode * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64,class Disjunctions * __ptr64 & __ptr64) __ptr64
+?CreateDisjunctionContainer@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAXPEAVWmiTreeNode@@KPEAPEAGAEAPEAVDisjunctions@@@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::CreateDisjunctions(void * __ptr64,class WmiTreeNode * __ptr64,class Disjunctions * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64,unsigned long & __ptr64) __ptr64
+?CreateDisjunctions@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAXPEAVWmiTreeNode@@PEAVDisjunctions@@KPEAPEAGAEAK@Z
+; protected: virtual class ProvLexicon * __ptr64 __cdecl ProvAnalyser::CreateLexicon(void) __ptr64
+?CreateLexicon@ProvAnalyser@@MEAAPEAVProvLexicon@@XZ
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::CreatePartitionSet(class Disjunctions * __ptr64,class PartitionSet * __ptr64 & __ptr64) __ptr64
+?CreatePartitionSet@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAVDisjunctions@@AEAPEAVPartitionSet@@@Z
+; public: class ProvObjectIdentifier * __ptr64 __cdecl ProvObjectIdentifier::Cut(class ProvObjectIdentifier & __ptr64)const  __ptr64
+?Cut@ProvObjectIdentifier@@QEBAPEAV1@AEAV1@@Z
+; private: int __cdecl ProvDateTimeType::DateTimeDef(void) __ptr64
+?DateTimeDef@ProvDateTimeType@@AEAAHXZ
+; unsigned short * __ptr64 __cdecl DbcsToUnicodeString(char const * __ptr64)
+?DbcsToUnicodeString@@YAPEAGPEBD@Z
+; public: static unsigned long __cdecl ProvAnalyser::DecCharToDecInteger(char)
+?DecCharToDecInteger@ProvAnalyser@@SAKD@Z
+; public: static char __cdecl ProvAnalyser::DecIntegerToDecChar(unsigned char)
+?DecIntegerToDecChar@ProvAnalyser@@SADE@Z
+; public: static unsigned short __cdecl ProvAnalyser::DecIntegerToDecWChar(unsigned char)
+?DecIntegerToDecWChar@ProvAnalyser@@SAGE@Z
+; public: static char __cdecl ProvAnalyser::DecIntegerToHexChar(unsigned char)
+?DecIntegerToHexChar@ProvAnalyser@@SADE@Z
+; public: static unsigned short __cdecl ProvAnalyser::DecIntegerToHexWChar(unsigned char)
+?DecIntegerToHexWChar@ProvAnalyser@@SAGE@Z
+; public: static char __cdecl ProvAnalyser::DecIntegerToOctChar(unsigned char)
+?DecIntegerToOctChar@ProvAnalyser@@SADE@Z
+; public: static unsigned short __cdecl ProvAnalyser::DecIntegerToOctWChar(unsigned char)
+?DecIntegerToOctWChar@ProvAnalyser@@SAGE@Z
+; public: static unsigned long __cdecl ProvAnalyser::DecWCharToDecInteger(unsigned short)
+?DecWCharToDecInteger@ProvAnalyser@@SAKG@Z
+; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::DisjunctiveNormalForm(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?DisjunctiveNormalForm@QueryPreprocessor@@IEAA?AW4QuadState@1@AEAPEAVWmiTreeNode@@@Z
+; private: void __cdecl ProvDateTimeType::Encode(unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64) __ptr64
+?Encode@ProvDateTimeType@@AEAAXAEBK0000000000@Z
+; private: int __cdecl ProvEnumeratedType::EnumerationDef(void) __ptr64
+?EnumerationDef@ProvEnumeratedType@@AEAAHXZ
+; protected: virtual int __cdecl ProvCounter64::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvCounter64@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvCounter64::Equivalent(class ProvCounter64 const & __ptr64)const  __ptr64
+?Equivalent@ProvCounter64@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl ProvCounter64Type::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvCounter64Type@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvCounter::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvCounter@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvCounter::Equivalent(class ProvCounter const & __ptr64)const  __ptr64
+?Equivalent@ProvCounter@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl ProvCounterType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvCounterType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvGauge::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvGauge@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvGauge::Equivalent(class ProvGauge const & __ptr64)const  __ptr64
+?Equivalent@ProvGauge@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl ProvGaugeType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvGaugeType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvInteger::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvInteger@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvInteger::Equivalent(class ProvInteger const & __ptr64)const  __ptr64
+?Equivalent@ProvInteger@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl ProvIntegerType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvIntegerType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvIpAddress::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvIpAddress@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvIpAddress::Equivalent(class ProvIpAddress const & __ptr64)const  __ptr64
+?Equivalent@ProvIpAddress@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl ProvIpAddressType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvIpAddressType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvNetworkAddressType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvNetworkAddressType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvNull::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvNull@@MEBAHAEBVProvValue@@@Z
+; protected: virtual int __cdecl ProvNullType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvNullType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: int __cdecl ProvObjectIdentifier::Equivalent(class ProvObjectIdentifier const & __ptr64)const  __ptr64
+?Equivalent@ProvObjectIdentifier@@IEBAHAEBV1@@Z
+; protected: virtual int __cdecl ProvObjectIdentifier::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvObjectIdentifier@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvObjectIdentifier::Equivalent(class ProvObjectIdentifier const & __ptr64,unsigned long)const  __ptr64
+?Equivalent@ProvObjectIdentifier@@QEBAHAEBV1@K@Z
+; protected: virtual int __cdecl ProvObjectIdentifierType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvObjectIdentifierType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvOctetString::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvOctetString@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvOctetString::Equivalent(class ProvOctetString const & __ptr64)const  __ptr64
+?Equivalent@ProvOctetString@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl ProvOctetStringType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvOctetStringType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvOpaque::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvOpaque@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvOpaque::Equivalent(class ProvOpaque const & __ptr64)const  __ptr64
+?Equivalent@ProvOpaque@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl ProvOpaqueType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvOpaqueType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvTimeTicks::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvTimeTicks@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvTimeTicks::Equivalent(class ProvTimeTicks const & __ptr64)const  __ptr64
+?Equivalent@ProvTimeTicks@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl ProvTimeTicksType::Equivalent(class ProvInstanceType const & __ptr64)const  __ptr64
+?Equivalent@ProvTimeTicksType@@MEBAHAEBVProvInstanceType@@@Z
+; protected: virtual int __cdecl ProvUInteger32::Equivalent(class ProvValue const & __ptr64)const  __ptr64
+?Equivalent@ProvUInteger32@@MEBAHAEBVProvValue@@@Z
+; public: int __cdecl ProvUInteger32::Equivalent(class ProvUInteger32 const & __ptr64)const  __ptr64
+?Equivalent@ProvUInteger32@@QEBAHAEBV1@@Z
+; protected: int __cdecl QueryPreprocessor::Evaluate(void * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION & __ptr64,class WmiTreeNode * __ptr64 * __ptr64) __ptr64
+?Evaluate@QueryPreprocessor@@IEAAHPEAXAEAUSQL_LEVEL_1_RPN_EXPRESSION@@PEAPEAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::EvaluateAndExpression(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?EvaluateAndExpression@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::EvaluateNotEqualExpression(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?EvaluateNotEqualExpression@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::EvaluateNotExpression(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?EvaluateNotExpression@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::EvaluateOrExpression(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?EvaluateOrExpression@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
+; public: class ProvLexicon * __ptr64 __cdecl ProvAnalyser::Get(int,int,int) __ptr64
+?Get@ProvAnalyser@@QEAAPEAVProvLexicon@@HHH@Z
+; private: class ProvLexicon * __ptr64 __cdecl ProvBitStringType::Get(void) __ptr64
+?Get@ProvBitStringType@@AEAAPEAVProvLexicon@@XZ
+; private: class ProvLexicon * __ptr64 __cdecl ProvDateTimeType::Get(void) __ptr64
+?Get@ProvDateTimeType@@AEAAPEAVProvLexicon@@XZ
+; private: class ProvLexicon * __ptr64 __cdecl ProvEnumeratedType::Get(void) __ptr64
+?Get@ProvEnumeratedType@@AEAAPEAVProvLexicon@@XZ
+; protected: class ProvLexicon * __ptr64 __cdecl ProvPositiveRangedType::Get(void) __ptr64
+?Get@ProvPositiveRangedType@@IEAAPEAVProvLexicon@@XZ
+; public: char * __ptr64 __cdecl ProvObjectIdentifier::GetAllocatedString(void)const  __ptr64
+?GetAllocatedString@ProvObjectIdentifier@@QEBAPEADXZ
+; public: unsigned long __cdecl Disjunctions::GetConjunctionCount(void) __ptr64
+?GetConjunctionCount@Disjunctions@@QEAAKXZ
+; public: enum WmiValueNode::WmiValueFunction  __cdecl WmiValueNode::GetConstantFunction(void) __ptr64
+?GetConstantFunction@WmiValueNode@@QEAA?AW4WmiValueFunction@1@XZ
+; public: void * __ptr64 __cdecl WmiTreeNode::GetData(void) __ptr64
+?GetData@WmiTreeNode@@QEAAPEAXXZ
+; public: void __cdecl WmiTreeNode::GetData(void * __ptr64 * __ptr64) __ptr64
+?GetData@WmiTreeNode@@QEAAXPEAPEAX@Z
+; public: class Conjunctions * __ptr64 __cdecl Disjunctions::GetDisjunction(unsigned long) __ptr64
+?GetDisjunction@Disjunctions@@QEAAPEAVConjunctions@@K@Z
+; public: unsigned long __cdecl Disjunctions::GetDisjunctionCount(void) __ptr64
+?GetDisjunctionCount@Disjunctions@@QEAAKXZ
+; public: void * __ptr64 __cdecl ProvEventObject::GetHandle(void) __ptr64
+?GetHandle@ProvEventObject@@QEAAPEAXXZ
+; public: unsigned long __cdecl ProvCounter64::GetHighValue(void)const  __ptr64
+?GetHighValue@ProvCounter64@@QEBAKXZ
+; public: unsigned long __cdecl WmiRangeNode::GetIndex(void) __ptr64
+?GetIndex@WmiRangeNode@@QEAAKXZ
+; public: unsigned long __cdecl WmiValueNode::GetIndex(void) __ptr64
+?GetIndex@WmiValueNode@@QEAAKXZ
+; public: enum WmiTriState  __cdecl WmiSignedIntegerRangeNode::GetIntersectingRange(class WmiSignedIntegerRangeNode & __ptr64,class WmiSignedIntegerRangeNode * __ptr64 & __ptr64) __ptr64
+?GetIntersectingRange@WmiSignedIntegerRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
+; public: enum WmiTriState  __cdecl WmiStringRangeNode::GetIntersectingRange(class WmiStringRangeNode & __ptr64,class WmiStringRangeNode * __ptr64 & __ptr64) __ptr64
+?GetIntersectingRange@WmiStringRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
+; public: enum WmiTriState  __cdecl WmiUnsignedIntegerRangeNode::GetIntersectingRange(class WmiUnsignedIntegerRangeNode & __ptr64,class WmiUnsignedIntegerRangeNode * __ptr64 & __ptr64) __ptr64
+?GetIntersectingRange@WmiUnsignedIntegerRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
+; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNodeIterator::GetIterator(void) __ptr64
+?GetIterator@WmiTreeNodeIterator@@QEAAPEAVWmiTreeNode@@XZ
+; public: unsigned long __cdecl PartitionSet::GetKeyIndex(void) __ptr64
+?GetKeyIndex@PartitionSet@@QEAAKXZ
+; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::GetLeft(void) __ptr64
+?GetLeft@WmiTreeNode@@QEAAPEAV1@XZ
+; public: void __cdecl WmiTreeNode::GetLeft(class WmiTreeNode * __ptr64 * __ptr64 & __ptr64) __ptr64
+?GetLeft@WmiTreeNode@@QEAAXAEAPEAPEAV1@@Z
+; public: unsigned long __cdecl ProvDebugLog::GetLevel(void) __ptr64
+?GetLevel@ProvDebugLog@@QEAAKXZ
+; public: int __cdecl ProvDebugLog::GetLogging(void) __ptr64
+?GetLogging@ProvDebugLog@@QEAAHXZ
+; public: unsigned long __cdecl ProvCounter64::GetLowValue(void)const  __ptr64
+?GetLowValue@ProvCounter64@@QEBAKXZ
+; public: long __cdecl ProvNegativeRangeType::GetLowerBound(void) __ptr64
+?GetLowerBound@ProvNegativeRangeType@@QEAAJXZ
+; public: unsigned long __cdecl ProvPositiveRangeType::GetLowerBound(void) __ptr64
+?GetLowerBound@ProvPositiveRangeType@@QEAAKXZ
+; public: enum WmiTriState  __cdecl WmiSignedIntegerRangeNode::GetOverlappingRange(class WmiSignedIntegerRangeNode & __ptr64,class WmiSignedIntegerRangeNode * __ptr64 & __ptr64) __ptr64
+?GetOverlappingRange@WmiSignedIntegerRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
+; public: enum WmiTriState  __cdecl WmiStringRangeNode::GetOverlappingRange(class WmiStringRangeNode & __ptr64,class WmiStringRangeNode * __ptr64 & __ptr64) __ptr64
+?GetOverlappingRange@WmiStringRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
+; public: enum WmiTriState  __cdecl WmiUnsignedIntegerRangeNode::GetOverlappingRange(class WmiUnsignedIntegerRangeNode & __ptr64,class WmiUnsignedIntegerRangeNode * __ptr64 & __ptr64) __ptr64
+?GetOverlappingRange@WmiUnsignedIntegerRangeNode@@QEAA?AW4WmiTriState@@AEAV1@AEAPEAV1@@Z
+; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::GetParent(void) __ptr64
+?GetParent@WmiTreeNode@@QEAAPEAV1@XZ
+; public: void __cdecl WmiTreeNode::GetParent(class WmiTreeNode * __ptr64 * __ptr64 & __ptr64) __ptr64
+?GetParent@WmiTreeNode@@QEAAXAEAPEAPEAV1@@Z
+; public: class PartitionSet * __ptr64 __cdecl PartitionSet::GetPartition(unsigned long) __ptr64
+?GetPartition@PartitionSet@@QEAAPEAV1@K@Z
+; public: unsigned long __cdecl PartitionSet::GetPartitionCount(void) __ptr64
+?GetPartitionCount@PartitionSet@@QEAAKXZ
+; public: enum WmiValueNode::WmiValueFunction  __cdecl WmiValueNode::GetPropertyFunction(void) __ptr64
+?GetPropertyFunction@WmiValueNode@@QEAA?AW4WmiValueFunction@1@XZ
+; public: unsigned short * __ptr64 __cdecl WmiRangeNode::GetPropertyName(void) __ptr64
+?GetPropertyName@WmiRangeNode@@QEAAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl WmiValueNode::GetPropertyName(void) __ptr64
+?GetPropertyName@WmiValueNode@@QEAAPEAGXZ
+; public: static class ProvDebugLog * __ptr64 __cdecl ProvDebugLog::GetProvDebugLog(char)
+?GetProvDebugLog@ProvDebugLog@@SAPEAV1@D@Z
+; public: class WmiRangeNode * __ptr64 __cdecl Conjunctions::GetRange(unsigned long) __ptr64
+?GetRange@Conjunctions@@QEAAPEAVWmiRangeNode@@K@Z
+; public: class WmiRangeNode * __ptr64 __cdecl PartitionSet::GetRange(void) __ptr64
+?GetRange@PartitionSet@@QEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorEqualNode::GetRange(void) __ptr64
+?GetRange@WmiOperatorEqualNode@@UEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorEqualOrGreaterNode::GetRange(void) __ptr64
+?GetRange@WmiOperatorEqualOrGreaterNode@@UEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorEqualOrLessNode::GetRange(void) __ptr64
+?GetRange@WmiOperatorEqualOrLessNode@@UEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorGreaterNode::GetRange(void) __ptr64
+?GetRange@WmiOperatorGreaterNode@@UEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorIsANode::GetRange(void) __ptr64
+?GetRange@WmiOperatorIsANode@@UEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorLessNode::GetRange(void) __ptr64
+?GetRange@WmiOperatorLessNode@@UEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorLikeNode::GetRange(void) __ptr64
+?GetRange@WmiOperatorLikeNode@@UEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorNotEqualNode::GetRange(void) __ptr64
+?GetRange@WmiOperatorNotEqualNode@@UEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorNotIsANode::GetRange(void) __ptr64
+?GetRange@WmiOperatorNotIsANode@@UEAAPEAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __ptr64 __cdecl WmiOperatorNotLikeNode::GetRange(void) __ptr64
+?GetRange@WmiOperatorNotLikeNode@@UEAAPEAVWmiRangeNode@@XZ
+; public: unsigned long __cdecl Conjunctions::GetRangeCount(void) __ptr64
+?GetRangeCount@Conjunctions@@QEAAKXZ
+; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::GetRight(void) __ptr64
+?GetRight@WmiTreeNode@@QEAAPEAV1@XZ
+; public: void __cdecl WmiTreeNode::GetRight(class WmiTreeNode * __ptr64 * __ptr64 & __ptr64) __ptr64
+?GetRight@WmiTreeNode@@QEAAXAEAPEAPEAV1@@Z
+; public: enum ProvRowStatusType::ProvRowStatusEnum  __cdecl ProvRowStatusType::GetRowStatus(void)const  __ptr64
+?GetRowStatus@ProvRowStatusType@@QEBA?AW4ProvRowStatusEnum@1@XZ
+; public: unsigned short * __ptr64 __cdecl CBString::GetString(void) __ptr64
+?GetString@CBString@@QEAAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvBitStringType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvBitStringType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvCounter64Type::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvCounter64Type@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvCounterType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvCounterType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvDateTimeType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvDateTimeType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvDisplayStringType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvDisplayStringType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvEnumeratedType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvEnumeratedType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvFixedLengthDisplayStringType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvFixedLengthDisplayStringType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvFixedLengthPhysAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvFixedLengthPhysAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvGaugeType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvGaugeType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvIPXAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvIPXAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvIntegerType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvIntegerType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvIpAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvIpAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvMacAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvMacAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvNetworkAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvNetworkAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvNullType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvNullType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvOSIAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvOSIAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvObjectIdentifierType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvObjectIdentifierType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvOctetStringType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvOctetStringType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvOpaqueType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvOpaqueType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvPhysAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvPhysAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvRowStatusType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvRowStatusType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvTimeTicksType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvTimeTicksType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl ProvUDPAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@ProvUDPAddressType@@UEBAPEAGXZ
+; private: class ProvLexicon * __ptr64 __cdecl ProvAnalyser::GetToken(int,int,int) __ptr64
+?GetToken@ProvAnalyser@@AEAAPEAVProvLexicon@@HHH@Z
+; public: enum ProvLexicon::LexiconToken  __cdecl ProvLexicon::GetToken(void) __ptr64
+?GetToken@ProvLexicon@@QEAA?AW4LexiconToken@1@XZ
+; public: unsigned long __cdecl WmiTreeNode::GetType(void) __ptr64
+?GetType@WmiTreeNode@@QEAAKXZ
+; public: long __cdecl ProvNegativeRangeType::GetUpperBound(void) __ptr64
+?GetUpperBound@ProvNegativeRangeType@@QEAAJXZ
+; public: unsigned long __cdecl ProvPositiveRangeType::GetUpperBound(void) __ptr64
+?GetUpperBound@ProvPositiveRangeType@@QEAAKXZ
+; public: unsigned long __cdecl ProvBitStringType::GetValue(unsigned short * __ptr64 * __ptr64 & __ptr64)const  __ptr64
+?GetValue@ProvBitStringType@@QEBAKAEAPEAPEAG@Z
+; public: void __cdecl ProvCounter64Type::GetValue(unsigned long & __ptr64,unsigned long & __ptr64)const  __ptr64
+?GetValue@ProvCounter64Type@@QEBAXAEAK0@Z
+; public: unsigned long __cdecl ProvCounter::GetValue(void)const  __ptr64
+?GetValue@ProvCounter@@QEBAKXZ
+; public: unsigned long __cdecl ProvCounterType::GetValue(void)const  __ptr64
+?GetValue@ProvCounterType@@QEBAKXZ
+; public: unsigned short * __ptr64 __cdecl ProvDateTimeType::GetValue(void)const  __ptr64
+?GetValue@ProvDateTimeType@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl ProvDisplayStringType::GetValue(void)const  __ptr64
+?GetValue@ProvDisplayStringType@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl ProvEnumeratedType::GetValue(void)const  __ptr64
+?GetValue@ProvEnumeratedType@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl ProvFixedLengthDisplayStringType::GetValue(void)const  __ptr64
+?GetValue@ProvFixedLengthDisplayStringType@@QEBAPEAGXZ
+; public: unsigned long __cdecl ProvGauge::GetValue(void)const  __ptr64
+?GetValue@ProvGauge@@QEBAKXZ
+; public: unsigned long __cdecl ProvGaugeType::GetValue(void)const  __ptr64
+?GetValue@ProvGaugeType@@QEBAKXZ
+; public: long __cdecl ProvInteger::GetValue(void)const  __ptr64
+?GetValue@ProvInteger@@QEBAJXZ
+; public: long __cdecl ProvIntegerType::GetValue(void)const  __ptr64
+?GetValue@ProvIntegerType@@QEBAJXZ
+; public: unsigned long __cdecl ProvIpAddress::GetValue(void)const  __ptr64
+?GetValue@ProvIpAddress@@QEBAKXZ
+; public: unsigned long __cdecl ProvIpAddressType::GetValue(void)const  __ptr64
+?GetValue@ProvIpAddressType@@QEBAKXZ
+; public: union ProvLexiconValue * __ptr64 __cdecl ProvLexicon::GetValue(void) __ptr64
+?GetValue@ProvLexicon@@QEAAPEATProvLexiconValue@@XZ
+; public: unsigned long __cdecl ProvNetworkAddressType::GetValue(void)const  __ptr64
+?GetValue@ProvNetworkAddressType@@QEBAKXZ
+; public: unsigned long * __ptr64 __cdecl ProvObjectIdentifier::GetValue(void)const  __ptr64
+?GetValue@ProvObjectIdentifier@@QEBAPEAKXZ
+; public: unsigned long * __ptr64 __cdecl ProvObjectIdentifierType::GetValue(void)const  __ptr64
+?GetValue@ProvObjectIdentifierType@@QEBAPEAKXZ
+; public: unsigned char * __ptr64 __cdecl ProvOctetString::GetValue(void)const  __ptr64
+?GetValue@ProvOctetString@@QEBAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl ProvOctetStringType::GetValue(void)const  __ptr64
+?GetValue@ProvOctetStringType@@QEBAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl ProvOpaque::GetValue(void)const  __ptr64
+?GetValue@ProvOpaque@@QEBAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl ProvOpaqueType::GetValue(void)const  __ptr64
+?GetValue@ProvOpaqueType@@QEBAPEAEXZ
+; public: unsigned short * __ptr64 __cdecl ProvRowStatusType::GetValue(void)const  __ptr64
+?GetValue@ProvRowStatusType@@QEBAPEAGXZ
+; public: unsigned long __cdecl ProvTimeTicks::GetValue(void)const  __ptr64
+?GetValue@ProvTimeTicks@@QEBAKXZ
+; public: unsigned long __cdecl ProvTimeTicksType::GetValue(void)const  __ptr64
+?GetValue@ProvTimeTicksType@@QEBAKXZ
+; public: unsigned long __cdecl ProvUInteger32::GetValue(void)const  __ptr64
+?GetValue@ProvUInteger32@@QEBAKXZ
+; public: long __cdecl WmiSignedIntegerNode::GetValue(void) __ptr64
+?GetValue@WmiSignedIntegerNode@@QEAAJXZ
+; public: unsigned short * __ptr64 __cdecl WmiStringNode::GetValue(void) __ptr64
+?GetValue@WmiStringNode@@QEAAPEAGXZ
+; public: unsigned long __cdecl WmiUnsignedIntegerNode::GetValue(void) __ptr64
+?GetValue@WmiUnsignedIntegerNode@@QEAAKXZ
+; public: unsigned long __cdecl ProvObjectIdentifier::GetValueLength(void)const  __ptr64
+?GetValueLength@ProvObjectIdentifier@@QEBAKXZ
+; public: unsigned long __cdecl ProvObjectIdentifierType::GetValueLength(void)const  __ptr64
+?GetValueLength@ProvObjectIdentifierType@@QEBAKXZ
+; public: unsigned long __cdecl ProvOctetString::GetValueLength(void)const  __ptr64
+?GetValueLength@ProvOctetString@@QEBAKXZ
+; public: unsigned long __cdecl ProvOctetStringType::GetValueLength(void)const  __ptr64
+?GetValueLength@ProvOctetStringType@@QEBAKXZ
+; public: unsigned long __cdecl ProvOpaque::GetValueLength(void)const  __ptr64
+?GetValueLength@ProvOpaque@@QEBAKXZ
+; public: unsigned long __cdecl ProvOpaqueType::GetValueLength(void)const  __ptr64
+?GetValueLength@ProvOpaqueType@@QEBAKXZ
+; public: static unsigned long __cdecl ProvAnalyser::HexCharToDecInteger(char)
+?HexCharToDecInteger@ProvAnalyser@@SAKD@Z
+; public: static unsigned long __cdecl ProvAnalyser::HexWCharToDecInteger(unsigned short)
+?HexWCharToDecInteger@ProvAnalyser@@SAKG@Z
+; public: int __cdecl WmiRangeNode::InfiniteLowerBound(void) __ptr64
+?InfiniteLowerBound@WmiRangeNode@@QEAAHXZ
+; public: int __cdecl WmiRangeNode::InfiniteUpperBound(void) __ptr64
+?InfiniteUpperBound@WmiRangeNode@@QEAAHXZ
+; protected: virtual void __cdecl ProvAnalyser::Initialise(void) __ptr64
+?Initialise@ProvAnalyser@@MEAAXXZ
+; public: enum WmiTriState  __cdecl Conjunctions::Initialize(void) __ptr64
+?Initialize@Conjunctions@@QEAA?AW4WmiTriState@@XZ
+; public: enum WmiTriState  __cdecl Disjunctions::Initialize(void) __ptr64
+?Initialize@Disjunctions@@QEAA?AW4WmiTriState@@XZ
+; public: enum WmiTriState  __cdecl PartitionSet::Initialize(unsigned long) __ptr64
+?Initialize@PartitionSet@@QEAA?AW4WmiTriState@@K@Z
+; protected: virtual void __cdecl ProvObjectIdentifier::Initialize(unsigned long const * __ptr64,unsigned long) __ptr64
+?Initialize@ProvObjectIdentifier@@MEAAXPEBKK@Z
+; protected: virtual void __cdecl ProvOctetString::Initialize(unsigned char const * __ptr64,unsigned long) __ptr64
+?Initialize@ProvOctetString@@MEAAXPEBEK@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::InsertNode(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?InsertNode@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@0@Z
+; protected: virtual enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::InvariantEvaluate(void * __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?InvariantEvaluate@QueryPreprocessor@@MEAA?AW4QuadState@1@PEAXPEAVWmiTreeNode@@1@Z
+; public: static int __cdecl ProvAnalyser::IsAlpha(unsigned short)
+?IsAlpha@ProvAnalyser@@SAHG@Z
+; public: static int __cdecl ProvAnalyser::IsAlphaNumeric(unsigned short)
+?IsAlphaNumeric@ProvAnalyser@@SAHG@Z
+; public: static int __cdecl ProvAnalyser::IsDecimal(unsigned short)
+?IsDecimal@ProvAnalyser@@SAHG@Z
+; public: static int __cdecl ProvAnalyser::IsEof(unsigned short)
+?IsEof@ProvAnalyser@@SAHG@Z
+; public: static int __cdecl ProvAnalyser::IsHex(unsigned short)
+?IsHex@ProvAnalyser@@SAHG@Z
+; public: static int __cdecl ProvAnalyser::IsLeadingDecimal(unsigned short)
+?IsLeadingDecimal@ProvAnalyser@@SAHG@Z
+; public: virtual int __cdecl ProvInstanceType::IsNull(void)const  __ptr64
+?IsNull@ProvInstanceType@@UEBAHXZ
+; public: static int __cdecl ProvAnalyser::IsOctal(unsigned short)
+?IsOctal@ProvAnalyser@@SAHG@Z
+; public: virtual int __cdecl ProvCounter64Type::IsProvV1Type(void)const  __ptr64
+?IsProvV1Type@ProvCounter64Type@@UEBAHXZ
+; public: virtual int __cdecl ProvInstanceType::IsProvV1Type(void)const  __ptr64
+?IsProvV1Type@ProvInstanceType@@UEBAHXZ
+; public: virtual int __cdecl ProvInstanceType::IsProvV2CType(void)const  __ptr64
+?IsProvV2CType@ProvInstanceType@@UEBAHXZ
+; public: virtual int __cdecl ProvNullType::IsProvV2CType(void)const  __ptr64
+?IsProvV2CType@ProvNullType@@UEBAHXZ
+; public: virtual int __cdecl ProvInstanceType::IsValid(void)const  __ptr64
+?IsValid@ProvInstanceType@@UEBAHXZ
+; public: int __cdecl ProvPositiveRangedType::IsValid(void) __ptr64
+?IsValid@ProvPositiveRangedType@@QEAAHXZ
+; public: static int __cdecl ProvAnalyser::IsWhitespace(unsigned short)
+?IsWhitespace@ProvAnalyser@@SAHG@Z
+; public: int __cdecl PartitionSet::Leaf(void) __ptr64
+?Leaf@PartitionSet@@QEAAHXZ
+; public: int __cdecl WmiSignedIntegerNode::LexicographicallyAfter(long & __ptr64) __ptr64
+?LexicographicallyAfter@WmiSignedIntegerNode@@QEAAHAEAJ@Z
+; public: int __cdecl WmiStringNode::LexicographicallyAfter(unsigned short * __ptr64 & __ptr64) __ptr64
+?LexicographicallyAfter@WmiStringNode@@QEAAHAEAPEAG@Z
+; public: int __cdecl WmiUnsignedIntegerNode::LexicographicallyAfter(unsigned long & __ptr64) __ptr64
+?LexicographicallyAfter@WmiUnsignedIntegerNode@@QEAAHAEAK@Z
+; public: int __cdecl WmiSignedIntegerNode::LexicographicallyBefore(long & __ptr64) __ptr64
+?LexicographicallyBefore@WmiSignedIntegerNode@@QEAAHAEAJ@Z
+; public: int __cdecl WmiStringNode::LexicographicallyBefore(unsigned short * __ptr64 & __ptr64) __ptr64
+?LexicographicallyBefore@WmiStringNode@@QEAAHAEAPEAG@Z
+; public: int __cdecl WmiUnsignedIntegerNode::LexicographicallyBefore(unsigned long & __ptr64) __ptr64
+?LexicographicallyBefore@WmiUnsignedIntegerNode@@QEAAHAEAK@Z
+; public: long __cdecl WmiSignedIntegerRangeNode::LowerBound(void) __ptr64
+?LowerBound@WmiSignedIntegerRangeNode@@QEAAJXZ
+; public: unsigned short * __ptr64 __cdecl WmiStringRangeNode::LowerBound(void) __ptr64
+?LowerBound@WmiStringRangeNode@@QEAAPEAGXZ
+; public: unsigned long __cdecl WmiUnsignedIntegerRangeNode::LowerBound(void) __ptr64
+?LowerBound@WmiUnsignedIntegerRangeNode@@QEAAKXZ
+; private: class ProvLexicon * __ptr64 __cdecl ProvBitStringType::Match(enum ProvLexicon::LexiconToken) __ptr64
+?Match@ProvBitStringType@@AEAAPEAVProvLexicon@@W4LexiconToken@2@@Z
+; private: class ProvLexicon * __ptr64 __cdecl ProvDateTimeType::Match(enum ProvLexicon::LexiconToken) __ptr64
+?Match@ProvDateTimeType@@AEAAPEAVProvLexicon@@W4LexiconToken@2@@Z
+; private: class ProvLexicon * __ptr64 __cdecl ProvEnumeratedType::Match(enum ProvLexicon::LexiconToken) __ptr64
+?Match@ProvEnumeratedType@@AEAAPEAVProvLexicon@@W4LexiconToken@2@@Z
+; protected: class ProvLexicon * __ptr64 __cdecl ProvPositiveRangedType::Match(enum ProvLexicon::LexiconToken) __ptr64
+?Match@ProvPositiveRangedType@@IEAAPEAVProvLexicon@@W4LexiconToken@2@@Z
+; public: static unsigned long __cdecl ProvAnalyser::OctCharToDecInteger(char)
+?OctCharToDecInteger@ProvAnalyser@@SAKD@Z
+; public: static unsigned long __cdecl ProvAnalyser::OctWCharToDecInteger(unsigned short)
+?OctWCharToDecInteger@ProvAnalyser@@SAKG@Z
+; private: void __cdecl ProvObjectIdentifier::OverWrite(unsigned long const * __ptr64) __ptr64
+?OverWrite@ProvObjectIdentifier@@AEAAXPEBK@Z
+; private: void __cdecl ProvOctetString::OverWrite(unsigned char const * __ptr64) __ptr64
+?OverWrite@ProvOctetString@@AEAAXPEBE@Z
+; private: int __cdecl ProvBitStringType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvBitStringType@@AEAAHPEBG@Z
+; protected: int __cdecl ProvCounter64Type::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvCounter64Type@@IEAAHPEBG@Z
+; protected: int __cdecl ProvCounterType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvCounterType@@IEAAHPEBG@Z
+; private: int __cdecl ProvDateTimeType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvDateTimeType@@AEAAHPEBG@Z
+; private: int __cdecl ProvEnumeratedType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvEnumeratedType@@AEAAHPEBG@Z
+; protected: int __cdecl ProvFixedLengthPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvFixedLengthPhysAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvGaugeType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvGaugeType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvIPXAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvIPXAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvIntegerType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvIntegerType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvIpAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvIpAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvMacAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvMacAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvNetworkAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvNetworkAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvOSIAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvOSIAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvObjectIdentifierType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvObjectIdentifierType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvOctetStringType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvOctetStringType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvOpaqueType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvOpaqueType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvPhysAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvPositiveRangedType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvPositiveRangedType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvTimeTicksType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvTimeTicksType@@IEAAHPEBG@Z
+; protected: int __cdecl ProvUDPAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@ProvUDPAddressType@@IEAAHPEBG@Z
+; public: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::PreProcess(void * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION * __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?PreProcess@QueryPreprocessor@@QEAA?AW4QuadState@1@PEAXPEAUSQL_LEVEL_1_RPN_EXPRESSION@@AEAPEAVWmiTreeNode@@@Z
+; public: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::PreProcess(void * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION * __ptr64,class WmiTreeNode * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64,class PartitionSet * __ptr64 & __ptr64) __ptr64
+?PreProcess@QueryPreprocessor@@QEAA?AW4QuadState@1@PEAXPEAUSQL_LEVEL_1_RPN_EXPRESSION@@PEAVWmiTreeNode@@KPEAPEAGAEAPEAVPartitionSet@@@Z
+; public: int __cdecl ProvObjectIdentifier::Prefix(unsigned long,class ProvObjectIdentifier & __ptr64)const  __ptr64
+?Prefix@ProvObjectIdentifier@@QEBAHKAEAV1@@Z
+; public: virtual void __cdecl WmiAndNode::Print(void) __ptr64
+?Print@WmiAndNode@@UEAAXXZ
+; public: virtual void __cdecl WmiNotNode::Print(void) __ptr64
+?Print@WmiNotNode@@UEAAXXZ
+; public: virtual void __cdecl WmiNullNode::Print(void) __ptr64
+?Print@WmiNullNode@@UEAAXXZ
+; public: virtual void __cdecl WmiNullRangeNode::Print(void) __ptr64
+?Print@WmiNullRangeNode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorEqualNode::Print(void) __ptr64
+?Print@WmiOperatorEqualNode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorEqualOrGreaterNode::Print(void) __ptr64
+?Print@WmiOperatorEqualOrGreaterNode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorEqualOrLessNode::Print(void) __ptr64
+?Print@WmiOperatorEqualOrLessNode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorGreaterNode::Print(void) __ptr64
+?Print@WmiOperatorGreaterNode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorIsANode::Print(void) __ptr64
+?Print@WmiOperatorIsANode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorLessNode::Print(void) __ptr64
+?Print@WmiOperatorLessNode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorLikeNode::Print(void) __ptr64
+?Print@WmiOperatorLikeNode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorNotEqualNode::Print(void) __ptr64
+?Print@WmiOperatorNotEqualNode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorNotIsANode::Print(void) __ptr64
+?Print@WmiOperatorNotIsANode@@UEAAXXZ
+; public: virtual void __cdecl WmiOperatorNotLikeNode::Print(void) __ptr64
+?Print@WmiOperatorNotLikeNode@@UEAAXXZ
+; public: virtual void __cdecl WmiOrNode::Print(void) __ptr64
+?Print@WmiOrNode@@UEAAXXZ
+; public: virtual void __cdecl WmiSignedIntegerNode::Print(void) __ptr64
+?Print@WmiSignedIntegerNode@@UEAAXXZ
+; public: virtual void __cdecl WmiSignedIntegerRangeNode::Print(void) __ptr64
+?Print@WmiSignedIntegerRangeNode@@UEAAXXZ
+; public: virtual void __cdecl WmiStringNode::Print(void) __ptr64
+?Print@WmiStringNode@@UEAAXXZ
+; public: virtual void __cdecl WmiStringRangeNode::Print(void) __ptr64
+?Print@WmiStringRangeNode@@UEAAXXZ
+; public: virtual void __cdecl WmiTreeNode::Print(void) __ptr64
+?Print@WmiTreeNode@@UEAAXXZ
+; public: virtual void __cdecl WmiUnsignedIntegerNode::Print(void) __ptr64
+?Print@WmiUnsignedIntegerNode@@UEAAXXZ
+; public: virtual void __cdecl WmiUnsignedIntegerRangeNode::Print(void) __ptr64
+?Print@WmiUnsignedIntegerRangeNode@@UEAAXXZ
+; protected: void __cdecl QueryPreprocessor::PrintTree(class WmiTreeNode * __ptr64) __ptr64
+?PrintTree@QueryPreprocessor@@IEAAXPEAVWmiTreeNode@@@Z
+; public: virtual void __cdecl ProvEventObject::Process(void) __ptr64
+?Process@ProvEventObject@@UEAAXXZ
+; private: void __cdecl ProvBitStringType::PushBack(void) __ptr64
+?PushBack@ProvBitStringType@@AEAAXXZ
+; private: void __cdecl ProvDateTimeType::PushBack(void) __ptr64
+?PushBack@ProvDateTimeType@@AEAAXXZ
+; private: void __cdecl ProvEnumeratedType::PushBack(void) __ptr64
+?PushBack@ProvEnumeratedType@@AEAAXXZ
+; protected: void __cdecl ProvPositiveRangedType::PushBack(void) __ptr64
+?PushBack@ProvPositiveRangedType@@IEAAXXZ
+; public: void __cdecl ProvAnalyser::PutBack(class ProvLexicon const * __ptr64) __ptr64
+?PutBack@ProvAnalyser@@QEAAXPEBVProvLexicon@@@Z
+; public: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::Query(unsigned short * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION * __ptr64 & __ptr64) __ptr64
+?Query@QueryPreprocessor@@QEAA?AW4QuadState@1@PEAGAEAPEAUSQL_LEVEL_1_RPN_EXPRESSION@@@Z
+; protected: void __cdecl QueryPreprocessor::QuickSort(class WmiRangeNode * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long) __ptr64
+?QuickSort@QueryPreprocessor@@IEAAXPEAPEAVWmiRangeNode@@PEAKK@Z
+; protected: int __cdecl ProvPositiveRangedType::RangeDef(void) __ptr64
+?RangeDef@ProvPositiveRangedType@@IEAAHXZ
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursiveConvertToRanges(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?RecursiveConvertToRanges@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
+; private: int __cdecl ProvBitStringType::RecursiveDef(void) __ptr64
+?RecursiveDef@ProvBitStringType@@AEAAHXZ
+; private: int __cdecl ProvEnumeratedType::RecursiveDef(void) __ptr64
+?RecursiveDef@ProvEnumeratedType@@AEAAHXZ
+; protected: int __cdecl ProvPositiveRangedType::RecursiveDef(void) __ptr64
+?RecursiveDef@ProvPositiveRangedType@@IEAAHXZ
+; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RecursiveDisjunctiveNormalForm(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?RecursiveDisjunctiveNormalForm@QueryPreprocessor@@IEAA?AW4QuadState@1@AEAPEAVWmiTreeNode@@@Z
+; protected: int __cdecl QueryPreprocessor::RecursiveEvaluate(void * __ptr64,struct SQL_LEVEL_1_RPN_EXPRESSION & __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64 * __ptr64,int & __ptr64) __ptr64
+?RecursiveEvaluate@QueryPreprocessor@@IEAAHPEAXAEAUSQL_LEVEL_1_RPN_EXPRESSION@@PEAVWmiTreeNode@@PEAPEAV3@AEAH@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursiveInsertNode(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?RecursiveInsertNode@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@0@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursivePartitionSet(class Disjunctions * __ptr64,class PartitionSet * __ptr64 & __ptr64,unsigned long,unsigned long * __ptr64,unsigned long) __ptr64
+?RecursivePartitionSet@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAVDisjunctions@@AEAPEAVPartitionSet@@KPEAKK@Z
+; protected: void __cdecl QueryPreprocessor::RecursiveQuickSort(class WmiRangeNode * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long,unsigned long) __ptr64
+?RecursiveQuickSort@QueryPreprocessor@@IEAAXPEAPEAVWmiRangeNode@@PEAKKK@Z
+; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RecursiveRemoveInvariants(void * __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?RecursiveRemoveInvariants@QueryPreprocessor@@IEAA?AW4QuadState@1@PEAXAEAPEAVWmiTreeNode@@@Z
+; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RecursiveRemoveNonOverlappingRanges(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?RecursiveRemoveNonOverlappingRanges@QueryPreprocessor@@IEAA?AW4QuadState@1@AEAPEAVWmiTreeNode@@0@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursiveSort(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?RecursiveSort@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::RecursiveSortConditionals(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?RecursiveSortConditionals@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@0@Z
+; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RemoveInvariants(void * __ptr64,class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?RemoveInvariants@QueryPreprocessor@@IEAA?AW4QuadState@1@PEAXAEAPEAVWmiTreeNode@@@Z
+; protected: enum QueryPreprocessor::QuadState  __cdecl QueryPreprocessor::RemoveNonOverlappingRanges(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?RemoveNonOverlappingRanges@QueryPreprocessor@@IEAA?AW4QuadState@1@AEAPEAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::RemoveOverlaps(unsigned long * __ptr64,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,class WmiRangeNode * __ptr64 * __ptr64) __ptr64
+?RemoveOverlaps@QueryPreprocessor@@IEAA?AW4WmiTriState@@PEAKK00PEAPEAVWmiRangeNode@@@Z
+; protected: virtual unsigned long * __ptr64 __cdecl ProvObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long,unsigned long const * __ptr64,unsigned long)const  __ptr64
+?Replicate@ProvObjectIdentifier@@MEBAPEAKPEBKK0K@Z
+; protected: virtual unsigned long * __ptr64 __cdecl ProvObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long)const  __ptr64
+?Replicate@ProvObjectIdentifier@@MEBAPEAKPEBKK@Z
+; protected: virtual unsigned char * __ptr64 __cdecl ProvOctetString::Replicate(unsigned char const * __ptr64,unsigned long) __ptr64
+?Replicate@ProvOctetString@@MEAAPEAEPEBEK@Z
+; public: int __cdecl PartitionSet::Root(void) __ptr64
+?Root@PartitionSet@@QEAAHXZ
+; public: void __cdecl ProvAnalyser::Set(unsigned short const * __ptr64) __ptr64
+?Set@ProvAnalyser@@QEAAXPEBG@Z
+; public: void __cdecl ProvEventObject::Set(void) __ptr64
+?Set@ProvEventObject@@QEAAXXZ
+; public: void * __ptr64 __cdecl WmiTreeNode::SetData(void * __ptr64) __ptr64
+?SetData@WmiTreeNode@@QEAAPEAXPEAX@Z
+; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNodeIterator::SetIterator(class WmiTreeNode * __ptr64) __ptr64
+?SetIterator@WmiTreeNodeIterator@@QEAAPEAVWmiTreeNode@@PEAV2@@Z
+; public: void __cdecl PartitionSet::SetKeyIndex(unsigned long) __ptr64
+?SetKeyIndex@PartitionSet@@QEAAXK@Z
+; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::SetLeft(class WmiTreeNode * __ptr64) __ptr64
+?SetLeft@WmiTreeNode@@QEAAPEAV1@PEAV1@@Z
+; public: void __cdecl ProvNegativeRangeType::SetLowerBound(long const & __ptr64) __ptr64
+?SetLowerBound@ProvNegativeRangeType@@QEAAXAEBJ@Z
+; public: void __cdecl ProvPositiveRangeType::SetLowerBound(unsigned long const & __ptr64) __ptr64
+?SetLowerBound@ProvPositiveRangeType@@QEAAXAEBK@Z
+; public: void __cdecl ProvInstanceType::SetNull(int) __ptr64
+?SetNull@ProvInstanceType@@QEAAXH@Z
+; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::SetParent(class WmiTreeNode * __ptr64) __ptr64
+?SetParent@WmiTreeNode@@QEAAPEAV1@PEAV1@@Z
+; public: void __cdecl PartitionSet::SetPartition(unsigned long,class PartitionSet * __ptr64) __ptr64
+?SetPartition@PartitionSet@@QEAAXKPEAV1@@Z
+; public: void __cdecl Conjunctions::SetRange(unsigned long,class WmiRangeNode * __ptr64) __ptr64
+?SetRange@Conjunctions@@QEAAXKPEAVWmiRangeNode@@@Z
+; public: void __cdecl PartitionSet::SetRange(class WmiRangeNode * __ptr64) __ptr64
+?SetRange@PartitionSet@@QEAAXPEAVWmiRangeNode@@@Z
+; public: class WmiTreeNode * __ptr64 __cdecl WmiTreeNode::SetRight(class WmiTreeNode * __ptr64) __ptr64
+?SetRight@WmiTreeNode@@QEAAPEAV1@PEAV1@@Z
+; public: void __cdecl ProvInstanceType::SetStatus(int) __ptr64
+?SetStatus@ProvInstanceType@@QEAAXH@Z
+; public: void __cdecl ProvPositiveRangedType::SetStatus(int const & __ptr64) __ptr64
+?SetStatus@ProvPositiveRangedType@@QEAAXAEBH@Z
+; public: void __cdecl ProvLexicon::SetToken(enum ProvLexicon::LexiconToken) __ptr64
+?SetToken@ProvLexicon@@QEAAXW4LexiconToken@1@@Z
+; public: void __cdecl WmiTreeNode::SetType(unsigned long) __ptr64
+?SetType@WmiTreeNode@@QEAAXK@Z
+; public: void __cdecl ProvNegativeRangeType::SetUpperBound(long const & __ptr64) __ptr64
+?SetUpperBound@ProvNegativeRangeType@@QEAAXAEBJ@Z
+; public: void __cdecl ProvPositiveRangeType::SetUpperBound(unsigned long const & __ptr64) __ptr64
+?SetUpperBound@ProvPositiveRangeType@@QEAAXAEBK@Z
+; public: void __cdecl ProvCounter64::SetValue(unsigned long,unsigned long) __ptr64
+?SetValue@ProvCounter64@@QEAAXKK@Z
+; public: void __cdecl ProvCounter::SetValue(unsigned long) __ptr64
+?SetValue@ProvCounter@@QEAAXK@Z
+; public: void __cdecl ProvGauge::SetValue(unsigned long) __ptr64
+?SetValue@ProvGauge@@QEAAXK@Z
+; public: void __cdecl ProvInteger::SetValue(long) __ptr64
+?SetValue@ProvInteger@@QEAAXJ@Z
+; public: void __cdecl ProvIpAddress::SetValue(unsigned long) __ptr64
+?SetValue@ProvIpAddress@@QEAAXK@Z
+; public: void __cdecl ProvObjectIdentifier::SetValue(unsigned long const * __ptr64,unsigned long) __ptr64
+?SetValue@ProvObjectIdentifier@@QEAAXPEBKK@Z
+; public: void __cdecl ProvOctetString::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
+?SetValue@ProvOctetString@@QEAAXPEBEK@Z
+; public: void __cdecl ProvOpaque::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
+?SetValue@ProvOpaque@@QEAAXPEBEK@Z
+; public: void __cdecl ProvTimeTicks::SetValue(unsigned long) __ptr64
+?SetValue@ProvTimeTicks@@QEAAXK@Z
+; public: void __cdecl ProvUInteger32::SetValue(unsigned long) __ptr64
+?SetValue@ProvUInteger32@@QEAAXK@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::Sort(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?Sort@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __cdecl QueryPreprocessor::SortConditionals(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?SortConditionals@QueryPreprocessor@@IEAA?AW4WmiTriState@@AEAPEAVWmiTreeNode@@@Z
+; protected: void __cdecl QueryPreprocessor::SortRanges(unsigned long,unsigned long * __ptr64,class WmiRangeNode * __ptr64 * __ptr64) __ptr64
+?SortRanges@QueryPreprocessor@@IEAAXKPEAKPEAPEAVWmiRangeNode@@@Z
+; public: static int __cdecl ProvDebugLog::Startup(void)
+?Startup@ProvDebugLog@@SAHXZ
+; public: int __cdecl ProvObjectIdentifier::Suffix(unsigned long,class ProvObjectIdentifier & __ptr64)const  __ptr64
+?Suffix@ProvObjectIdentifier@@QEBAHKAEAV1@@Z
+; protected: void __cdecl QueryPreprocessor::TransformAndOrExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformAndOrExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@1@Z
+; protected: void __cdecl QueryPreprocessor::TransformAndTrueEvaluation(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformAndTrueEvaluation@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformIntersectingRange(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformIntersectingRange@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@1@Z
+; protected: void __cdecl QueryPreprocessor::TransformNonIntersectingRange(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNonIntersectingRange@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotAndExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotAndExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotEqualExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotEqualExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotNotExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotNotExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorEqualExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorEqualExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorEqualOrGreaterExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorEqualOrGreaterExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorEqualOrLessExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorEqualOrLessExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorGreaterExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorGreaterExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorIsAExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorIsAExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorLessExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorLessExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorLikeExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorLikeExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorNotEqualExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorNotEqualExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorNotIsAExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorNotIsAExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOperatorNotLikeExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOperatorNotLikeExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformNotOrExpression(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformNotOrExpression@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: void __cdecl QueryPreprocessor::TransformOperatorToRange(class WmiTreeNode * __ptr64 & __ptr64) __ptr64
+?TransformOperatorToRange@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@@Z
+; protected: void __cdecl QueryPreprocessor::TransformOrFalseEvaluation(class WmiTreeNode * __ptr64 & __ptr64,class WmiTreeNode * __ptr64) __ptr64
+?TransformOrFalseEvaluation@QueryPreprocessor@@IEAAXAEAPEAVWmiTreeNode@@PEAV2@@Z
+; protected: virtual void __cdecl ProvObjectIdentifier::UnReplicate(unsigned long * __ptr64) __ptr64
+?UnReplicate@ProvObjectIdentifier@@MEAAXPEAK@Z
+; protected: virtual void __cdecl ProvOctetString::UnReplicate(unsigned char * __ptr64) __ptr64
+?UnReplicate@ProvOctetString@@MEAAXPEAE@Z
+; unsigned short * __ptr64 __cdecl UnicodeStringAppend(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?UnicodeStringAppend@@YAPEAGPEBG0@Z
+; unsigned short * __ptr64 __cdecl UnicodeStringDuplicate(unsigned short const * __ptr64)
+?UnicodeStringDuplicate@@YAPEAGPEBG@Z
+; char * __ptr64 __cdecl UnicodeToDbcsString(unsigned short const * __ptr64)
+?UnicodeToDbcsString@@YAPEADPEBG@Z
+; public: long __cdecl WmiSignedIntegerRangeNode::UpperBound(void) __ptr64
+?UpperBound@WmiSignedIntegerRangeNode@@QEAAJXZ
+; public: unsigned short * __ptr64 __cdecl WmiStringRangeNode::UpperBound(void) __ptr64
+?UpperBound@WmiStringRangeNode@@QEAAPEAGXZ
+; public: unsigned long __cdecl WmiUnsignedIntegerRangeNode::UpperBound(void) __ptr64
+?UpperBound@WmiUnsignedIntegerRangeNode@@QEAAKXZ
+; public: virtual int __cdecl ProvEventObject::Wait(void) __ptr64
+?Wait@ProvEventObject@@UEAAHXZ
+; public: void __cdecl ProvDebugLog::Write(unsigned short const * __ptr64,...) __ptr64
+?Write@ProvDebugLog@@QEAAXPEBGZZ
+; public: void __cdecl ProvDebugLog::WriteA(char const * __ptr64,...) __ptr64
+?WriteA@ProvDebugLog@@QEAAXPEBDZZ
+; public: void __cdecl ProvDebugLog::WriteFileAndLine(char const * __ptr64,unsigned long,unsigned short const * __ptr64,...) __ptr64
+?WriteFileAndLine@ProvDebugLog@@QEAAXPEBDKPEBGZZ
+; public: void __cdecl ProvDebugLog::WriteFileAndLine(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,...) __ptr64
+?WriteFileAndLine@ProvDebugLog@@QEAAXPEBGK0ZZ
+; public: void __cdecl ProvDebugLog::WriteFileAndLineA(char const * __ptr64,unsigned long,char const * __ptr64,...) __ptr64
+?WriteFileAndLineA@ProvDebugLog@@QEAAXPEBDK0ZZ
+; public: void __cdecl ProvDebugLog::WriteFileAndLineW(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,...) __ptr64
+?WriteFileAndLineW@ProvDebugLog@@QEAAXPEBGK0ZZ
+; public: void __cdecl ProvDebugLog::WriteW(unsigned short const * __ptr64,...) __ptr64
+?WriteW@ProvDebugLog@@QEAAXPEBGZZ
+; public: static class ProvDebugLog * __ptr64  __ptr64 ProvDebugLog::s_ProvDebugLog
+?s_ProvDebugLog@ProvDebugLog@@2PEAV1@EA DATA
+; public: static long  ProvDebugLog::s_ReferenceCount
+?s_ReferenceCount@ProvDebugLog@@2JA DATA
+; public: static class ProvDebugLog *  ProvDebugLog::s_aLogs
+?s_aLogs@ProvDebugLog@@2PAV1@A DATA
diff --git a/mingw-w64-crt/lib64/psapi.def b/mingw-w64-crt/lib64/psapi.def
index da0e9a1..6497993 100644
--- a/mingw-w64-crt/lib64/psapi.def
+++ b/mingw-w64-crt/lib64/psapi.def
@@ -1,33 +1,33 @@
-; 
-; Exports of file PSAPI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSAPI.DLL
-EXPORTS
-EmptyWorkingSet
-EnumDeviceDrivers
-EnumPageFilesA
-EnumPageFilesW
-EnumProcessModules
-EnumProcesses
-GetDeviceDriverBaseNameA
-GetDeviceDriverBaseNameW
-GetDeviceDriverFileNameA
-GetDeviceDriverFileNameW
-GetMappedFileNameA
-GetMappedFileNameW
-GetModuleBaseNameA
-GetModuleBaseNameW
-GetModuleFileNameExA
-GetModuleFileNameExW
-GetModuleInformation
-GetPerformanceInfo
-GetProcessImageFileNameA
-GetProcessImageFileNameW
-GetProcessMemoryInfo
-GetWsChanges
-InitializeProcessForWsWatch
-QueryWorkingSet
-QueryWorkingSetEx
+; 
+; Exports of file PSAPI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSAPI.DLL
+EXPORTS
+EmptyWorkingSet
+EnumDeviceDrivers
+EnumPageFilesA
+EnumPageFilesW
+EnumProcessModules
+EnumProcesses
+GetDeviceDriverBaseNameA
+GetDeviceDriverBaseNameW
+GetDeviceDriverFileNameA
+GetDeviceDriverFileNameW
+GetMappedFileNameA
+GetMappedFileNameW
+GetModuleBaseNameA
+GetModuleBaseNameW
+GetModuleFileNameExA
+GetModuleFileNameExW
+GetModuleInformation
+GetPerformanceInfo
+GetProcessImageFileNameA
+GetProcessImageFileNameW
+GetProcessMemoryInfo
+GetWsChanges
+InitializeProcessForWsWatch
+QueryWorkingSet
+QueryWorkingSetEx
diff --git a/mingw-w64-crt/lib64/psbase.def b/mingw-w64-crt/lib64/psbase.def
index 77a3097..eae79a5 100644
--- a/mingw-w64-crt/lib64/psbase.def
+++ b/mingw-w64-crt/lib64/psbase.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file PSBASE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSBASE.dll
-EXPORTS
-FPasswordChangeNotify
-SPCloseItem
-SPOpenItem
-SPAcquireContext
-SPCreateSubtype
-SPCreateType
-SPDeleteItem
-SPDeleteSubtype
-SPDeleteType
-SPEnumItems
-SPEnumSubtypes
-SPEnumTypes
-SPGetProvInfo
-SPGetProvParam
-SPGetSubtypeInfo
-SPGetTypeInfo
-SPProviderInitialize
-SPReadItem
-SPReleaseContext
-SPSetProvParam
-SPWriteItem
+; 
+; Exports of file PSBASE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSBASE.dll
+EXPORTS
+FPasswordChangeNotify
+SPCloseItem
+SPOpenItem
+SPAcquireContext
+SPCreateSubtype
+SPCreateType
+SPDeleteItem
+SPDeleteSubtype
+SPDeleteType
+SPEnumItems
+SPEnumSubtypes
+SPEnumTypes
+SPGetProvInfo
+SPGetProvParam
+SPGetSubtypeInfo
+SPGetTypeInfo
+SPProviderInitialize
+SPReadItem
+SPReleaseContext
+SPSetProvParam
+SPWriteItem
diff --git a/mingw-w64-crt/lib64/pschdprf.def b/mingw-w64-crt/lib64/pschdprf.def
index ca6bd81..615d768 100644
--- a/mingw-w64-crt/lib64/pschdprf.def
+++ b/mingw-w64-crt/lib64/pschdprf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PschdPrf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PschdPrf.dll
-EXPORTS
-ClosePschedPerformanceData
-CollectPschedPerformanceData
-OpenPschedPerformanceData
+; 
+; Exports of file PschdPrf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PschdPrf.dll
+EXPORTS
+ClosePschedPerformanceData
+CollectPschedPerformanceData
+OpenPschedPerformanceData
diff --git a/mingw-w64-crt/lib64/psnppagn.def b/mingw-w64-crt/lib64/psnppagn.def
index e91583a..fb8ef5b 100644
--- a/mingw-w64-crt/lib64/psnppagn.def
+++ b/mingw-w64-crt/lib64/psnppagn.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file PSNPPAGN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSNPPAGN.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file PSNPPAGN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSNPPAGN.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/pstorec.def b/mingw-w64-crt/lib64/pstorec.def
index 9db9bb0..5ac3d47 100644
--- a/mingw-w64-crt/lib64/pstorec.def
+++ b/mingw-w64-crt/lib64/pstorec.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file PSTOREC.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSTOREC.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-PStoreCreateInstance
-PStoreEnumProviders
+; 
+; Exports of file PSTOREC.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSTOREC.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+PStoreCreateInstance
+PStoreEnumProviders
diff --git a/mingw-w64-crt/lib64/pstorsvc.def b/mingw-w64-crt/lib64/pstorsvc.def
index d92c96d..05addb2 100644
--- a/mingw-w64-crt/lib64/pstorsvc.def
+++ b/mingw-w64-crt/lib64/pstorsvc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PSTORSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSTORSVC.dll
-EXPORTS
-PSTOREServiceMain
-ServiceEntry
-Start
+; 
+; Exports of file PSTORSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSTORSVC.dll
+EXPORTS
+PSTOREServiceMain
+ServiceEntry
+Start
diff --git a/mingw-w64-crt/lib64/qasf.def b/mingw-w64-crt/lib64/qasf.def
index e1a2233..77bd463 100644
--- a/mingw-w64-crt/lib64/qasf.def
+++ b/mingw-w64-crt/lib64/qasf.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file QASF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QASF.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file QASF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QASF.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/qcap.def b/mingw-w64-crt/lib64/qcap.def
index 6ccd9c4..e2c2566 100644
--- a/mingw-w64-crt/lib64/qcap.def
+++ b/mingw-w64-crt/lib64/qcap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file QCap.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QCap.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file QCap.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QCap.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/qdv.def b/mingw-w64-crt/lib64/qdv.def
index db7c4a0..5c92022 100644
--- a/mingw-w64-crt/lib64/qdv.def
+++ b/mingw-w64-crt/lib64/qdv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file QDV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QDV.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file QDV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QDV.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/qdvd.def b/mingw-w64-crt/lib64/qdvd.def
index 236b61f..984676c 100644
--- a/mingw-w64-crt/lib64/qdvd.def
+++ b/mingw-w64-crt/lib64/qdvd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file Qdvd.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Qdvd.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file Qdvd.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Qdvd.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/qedit.def b/mingw-w64-crt/lib64/qedit.def
index 6b9db58..4ee3850 100644
--- a/mingw-w64-crt/lib64/qedit.def
+++ b/mingw-w64-crt/lib64/qedit.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file QEdit.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QEdit.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file QEdit.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QEdit.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/qmgr.def b/mingw-w64-crt/lib64/qmgr.def
index 40b3b64..30680d2 100644
--- a/mingw-w64-crt/lib64/qmgr.def
+++ b/mingw-w64-crt/lib64/qmgr.def
@@ -1,38 +1,38 @@
-; 
-; Exports of file qmgr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY qmgr.dll
-EXPORTS
-; public: __cdecl CNestedImpersonation::CNestedImpersonation(class TokenHandle & __ptr64) __ptr64
-??0CNestedImpersonation@@QEAA@AEAVTokenHandle@@@Z
-; public: __cdecl CNestedImpersonation::CNestedImpersonation(void * __ptr64) __ptr64
-??0CNestedImpersonation@@QEAA@PEAX@Z
-; public: __cdecl CNestedImpersonation::CNestedImpersonation(void) __ptr64
-??0CNestedImpersonation@@QEAA@XZ
-; public: __cdecl PROXY_SETTINGS_CONTAINER::PROXY_SETTINGS_CONTAINER(unsigned short const * __ptr64,struct PROXY_SETTINGS const * __ptr64) __ptr64
-??0PROXY_SETTINGS_CONTAINER@@QEAA@PEBGPEBUPROXY_SETTINGS@@@Z
-; void * __ptr64 __cdecl BITSAlloc(unsigned __int64)
-?BITSAlloc@@YAPEAX_K@Z
-; void __cdecl BITSFree(void * __ptr64)
-?BITSFree@@YAXPEAX@Z
-; public: unsigned __int64 __cdecl CRangeCollection::BytesRemainingInCurrentRange(void) __ptr64
-?BytesRemainingInCurrentRange@CRangeCollection@@QEAA_KXZ
-; protected: bool __cdecl CRangeCollection::CalculateBytesTotal(void) __ptr64
-?CalculateBytesTotal@CRangeCollection@@IEAA_NXZ
-; public: long __cdecl CCredentialsContainer::Find(enum __MIDL_IBackgroundCopyJob2_0001,enum __MIDL_IBackgroundCopyJob2_0002,struct __MIDL_IBackgroundCopyJob2_0005 * __ptr64 * __ptr64)const  __ptr64
-?Find@CCredentialsContainer@@QEBAJW4__MIDL_IBackgroundCopyJob2_0001@@W4__MIDL_IBackgroundCopyJob2_0002@@PEAPEAU__MIDL_IBackgroundCopyJob2_0005@@@Z
-; unsigned long __cdecl FindInterfaceIndex(unsigned short const * __ptr64)
-?FindInterfaceIndex@@YAKPEBG@Z
-; public: long __cdecl CRangeCollection::GetSubRanges(unsigned __int64,unsigned __int64,unsigned __int64,unsigned int,class CRangeCollection * __ptr64 * __ptr64) __ptr64
-?GetSubRanges@CRangeCollection@@QEAAJ_K00IPEAPEAV1@@Z
-; class std::auto_ptr<unsigned short>  __cdecl HostFromProxyDescription(unsigned short * __ptr64)
-?HostFromProxyDescription@@YA?AV?$auto_ptr@G@std@@PEAG@Z
-ServiceMain
-; private: static struct GenericStringHandle<unsigned short>::StringData  GenericStringHandle<unsigned short>::s_EmptyString
-?s_EmptyString@?$GenericStringHandle@G@@0UStringData@1@A DATA
-BITSServiceMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file qmgr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY qmgr.dll
+EXPORTS
+; public: __cdecl CNestedImpersonation::CNestedImpersonation(class TokenHandle & __ptr64) __ptr64
+??0CNestedImpersonation@@QEAA@AEAVTokenHandle@@@Z
+; public: __cdecl CNestedImpersonation::CNestedImpersonation(void * __ptr64) __ptr64
+??0CNestedImpersonation@@QEAA@PEAX@Z
+; public: __cdecl CNestedImpersonation::CNestedImpersonation(void) __ptr64
+??0CNestedImpersonation@@QEAA@XZ
+; public: __cdecl PROXY_SETTINGS_CONTAINER::PROXY_SETTINGS_CONTAINER(unsigned short const * __ptr64,struct PROXY_SETTINGS const * __ptr64) __ptr64
+??0PROXY_SETTINGS_CONTAINER@@QEAA@PEBGPEBUPROXY_SETTINGS@@@Z
+; void * __ptr64 __cdecl BITSAlloc(unsigned __int64)
+?BITSAlloc@@YAPEAX_K@Z
+; void __cdecl BITSFree(void * __ptr64)
+?BITSFree@@YAXPEAX@Z
+; public: unsigned __int64 __cdecl CRangeCollection::BytesRemainingInCurrentRange(void) __ptr64
+?BytesRemainingInCurrentRange@CRangeCollection@@QEAA_KXZ
+; protected: bool __cdecl CRangeCollection::CalculateBytesTotal(void) __ptr64
+?CalculateBytesTotal@CRangeCollection@@IEAA_NXZ
+; public: long __cdecl CCredentialsContainer::Find(enum __MIDL_IBackgroundCopyJob2_0001,enum __MIDL_IBackgroundCopyJob2_0002,struct __MIDL_IBackgroundCopyJob2_0005 * __ptr64 * __ptr64)const  __ptr64
+?Find@CCredentialsContainer@@QEBAJW4__MIDL_IBackgroundCopyJob2_0001@@W4__MIDL_IBackgroundCopyJob2_0002@@PEAPEAU__MIDL_IBackgroundCopyJob2_0005@@@Z
+; unsigned long __cdecl FindInterfaceIndex(unsigned short const * __ptr64)
+?FindInterfaceIndex@@YAKPEBG@Z
+; public: long __cdecl CRangeCollection::GetSubRanges(unsigned __int64,unsigned __int64,unsigned __int64,unsigned int,class CRangeCollection * __ptr64 * __ptr64) __ptr64
+?GetSubRanges@CRangeCollection@@QEAAJ_K00IPEAPEAV1@@Z
+; class std::auto_ptr<unsigned short>  __cdecl HostFromProxyDescription(unsigned short * __ptr64)
+?HostFromProxyDescription@@YA?AV?$auto_ptr@G@std@@PEAG@Z
+ServiceMain
+; private: static struct GenericStringHandle<unsigned short>::StringData  GenericStringHandle<unsigned short>::s_EmptyString
+?s_EmptyString@?$GenericStringHandle@G@@0UStringData@1@A DATA
+BITSServiceMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/qmgrprxy.def b/mingw-w64-crt/lib64/qmgrprxy.def
index 190f834..bbfaf50 100644
--- a/mingw-w64-crt/lib64/qmgrprxy.def
+++ b/mingw-w64-crt/lib64/qmgrprxy.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file qmgrprxy.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY qmgrprxy.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file qmgrprxy.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY qmgrprxy.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/qosname.def b/mingw-w64-crt/lib64/qosname.def
index c67207c..e3d3bf9 100644
--- a/mingw-w64-crt/lib64/qosname.def
+++ b/mingw-w64-crt/lib64/qosname.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file qosname.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY qosname.dll
-EXPORTS
-WPUGetQOSTemplate
-WSCInstallQOSTemplate
-WSCRemoveQOSTemplate
+; 
+; Exports of file qosname.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY qosname.dll
+EXPORTS
+WPUGetQOSTemplate
+WSCInstallQOSTemplate
+WSCRemoveQOSTemplate
diff --git a/mingw-w64-crt/lib64/quartz.def b/mingw-w64-crt/lib64/quartz.def
index 6af5e6f..795e90f 100644
--- a/mingw-w64-crt/lib64/quartz.def
+++ b/mingw-w64-crt/lib64/quartz.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file QUARTZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QUARTZ.dll
-EXPORTS
-AMGetErrorTextA
-AMGetErrorTextW
-AmpFactorToDB
-DBToAmpFactor
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file QUARTZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QUARTZ.dll
+EXPORTS
+AMGetErrorTextA
+AMGetErrorTextW
+AmpFactorToDB
+DBToAmpFactor
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/query.def b/mingw-w64-crt/lib64/query.def
index c72969c..86ac59c 100644
--- a/mingw-w64-crt/lib64/query.def
+++ b/mingw-w64-crt/lib64/query.def
@@ -1,1447 +1,1447 @@
-; 
-; Exports of file query.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY query.dll
-EXPORTS
-; class CCoTaskAllocator  CoTaskAllocator
-?CoTaskAllocator@@3VCCoTaskAllocator@@A DATA
-; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct tagPROPVARIANT & __ptr64,class PMemoryAllocator & __ptr64) __ptr64
-??0CAllocStorageVariant@@QEAA@AEAUtagPROPVARIANT@@AEAVPMemoryAllocator@@@Z
-; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(class PDeSerStream & __ptr64,class PMemoryAllocator & __ptr64) __ptr64
-??0CAllocStorageVariant@@QEAA@AEAVPDeSerStream@@AEAVPMemoryAllocator@@@Z
-; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(char const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
-??0CAllocStorageVariant@@QEAA@PEBDAEAVPMemoryAllocator@@@Z
-; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(unsigned short const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
-??0CAllocStorageVariant@@QEAA@PEBGAEAVPMemoryAllocator@@@Z
-; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct _GUID const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
-??0CAllocStorageVariant@@QEAA@PEBU_GUID@@AEAVPMemoryAllocator@@@Z
-; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(enum VARENUM,unsigned long,class PMemoryAllocator & __ptr64) __ptr64
-??0CAllocStorageVariant@@QEAA@W4VARENUM@@KAEAVPMemoryAllocator@@@Z
-; public: __cdecl CCatState::CCatState(void) __ptr64
-??0CCatState@@QEAA@XZ
-; public: __cdecl CCategorizationSet::CCategorizationSet(class CCategorizationSet const & __ptr64) __ptr64
-??0CCategorizationSet@@QEAA@AEBV0@@Z
-; public: __cdecl CCategorizationSet::CCategorizationSet(unsigned int) __ptr64
-??0CCategorizationSet@@QEAA@I@Z
-; public: __cdecl CCiAdminParams::CCiAdminParams(class CLangList * __ptr64) __ptr64
-??0CCiAdminParams@@QEAA@PEAVCLangList@@@Z
-; public: __cdecl CCiRegParams::CCiRegParams(unsigned short const * __ptr64) __ptr64
-??0CCiRegParams@@QEAA@PEBG@Z
-; public: __cdecl CColumnSet::CColumnSet(unsigned int) __ptr64
-??0CColumnSet@@QEAA@I@Z
-; public: __cdecl CColumns::CColumns(class CColumns const & __ptr64) __ptr64
-??0CColumns@@QEAA@AEBV0@@Z
-; public: __cdecl CColumns::CColumns(unsigned int) __ptr64
-??0CColumns@@QEAA@I@Z
-; public: __cdecl CContentRestriction::CContentRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long,unsigned long) __ptr64
-??0CContentRestriction@@QEAA@PEBGAEBVCFullPropSpec@@KK@Z
-; public: __cdecl CDFA::CDFA(unsigned short const * __ptr64,class CTimeLimit & __ptr64,unsigned char) __ptr64
-??0CDFA@@QEAA@PEBGAEAVCTimeLimit@@E@Z
-; public: __cdecl CDbColId::CDbColId(struct _GUID const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0CDbColId@@QEAA@AEBU_GUID@@PEBG@Z
-; public: __cdecl CDbColId::CDbColId(struct tagDBID const & __ptr64) __ptr64
-??0CDbColId@@QEAA@AEBUtagDBID@@@Z
-; public: __cdecl CDbColId::CDbColId(class CDbColId const & __ptr64) __ptr64
-??0CDbColId@@QEAA@AEBV0@@Z
-; public: __cdecl CDbColId::CDbColId(void) __ptr64
-??0CDbColId@@QEAA@XZ
-; public: __cdecl CDbColumns::CDbColumns(unsigned int) __ptr64
-??0CDbColumns@@QEAA@I@Z
-; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long,unsigned long) __ptr64
-??0CDbContentRestriction@@QEAA@PEBGAEBUtagDBID@@KK@Z
-; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long,unsigned long) __ptr64
-??0CDbContentRestriction@@QEAA@PEBGAEBVCDbColumnNode@@KK@Z
-; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long) __ptr64
-??0CDbNatLangRestriction@@QEAA@PEBGAEBUtagDBID@@K@Z
-; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long) __ptr64
-??0CDbNatLangRestriction@@QEAA@PEBGAEBVCDbColumnNode@@K@Z
-; public: __cdecl CDbQueryResults::CDbQueryResults(void) __ptr64
-??0CDbQueryResults@@QEAA@XZ
-; public: __cdecl CDbSelectNode::CDbSelectNode(void) __ptr64
-??0CDbSelectNode@@QEAA@XZ
-; public: __cdecl CDbSortSet::CDbSortSet(unsigned int) __ptr64
-??0CDbSortSet@@QEAA@I@Z
-; public: __cdecl CDefColumnRegEntry::CDefColumnRegEntry(void) __ptr64
-??0CDefColumnRegEntry@@QEAA@XZ
-; public: __cdecl CDriveInfo::CDriveInfo(unsigned short const * __ptr64,unsigned long) __ptr64
-??0CDriveInfo@@QEAA@PEBGK@Z
-; public: __cdecl CDynStream::CDynStream(class PMmStream * __ptr64) __ptr64
-??0CDynStream@@QEAA@PEAVPMmStream@@@Z
-; public: __cdecl CEventItem::CEventItem(unsigned short,unsigned short,unsigned long,unsigned short,unsigned long,void const * __ptr64) __ptr64
-??0CEventItem@@QEAA@GGKGKPEBX@Z
-; public: __cdecl CEventLog::CEventLog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CEventLog@@QEAA@PEBG0@Z
-; public: __cdecl CException::CException(long) __ptr64
-??0CException@@QEAA@J@Z
-; public: __cdecl CException::CException(void) __ptr64
-??0CException@@QEAA@XZ
-; public: __cdecl CFileBuffer::CFileBuffer(class CFileMapView & __ptr64,unsigned int) __ptr64
-??0CFileBuffer@@QEAA@AEAVCFileMapView@@I@Z
-; public: __cdecl CFileMapView::CFileMapView(unsigned short const * __ptr64) __ptr64
-??0CFileMapView@@QEAA@PEBG@Z
-; public: __cdecl CFilterDaemon::CFilterDaemon(class CiProxy & __ptr64,class CCiFrameworkParams & __ptr64,class CLangList & __ptr64,unsigned char * __ptr64,unsigned long,struct ICiCFilterClient * __ptr64) __ptr64
-??0CFilterDaemon@@QEAA@AEAVCiProxy@@AEAVCCiFrameworkParams@@AEAVCLangList@@PEAEKPEAUICiCFilterClient@@@Z
-; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64) __ptr64
-??0CFullPath@@QEAA@PEBG@Z
-; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64,unsigned int) __ptr64
-??0CFullPath@@QEAA@PEBGI@Z
-; public: __cdecl CFullPropSpec::CFullPropSpec(class PDeSerStream & __ptr64) __ptr64
-??0CFullPropSpec@@QEAA@AEAVPDeSerStream@@@Z
-; public: __cdecl CFullPropSpec::CFullPropSpec(class CFullPropSpec const & __ptr64) __ptr64
-??0CFullPropSpec@@QEAA@AEBV0@@Z
-; public: __cdecl CFullPropSpec::CFullPropSpec(void) __ptr64
-??0CFullPropSpec@@QEAA@XZ
-; public: __cdecl CFwAsyncWorkItem::CFwAsyncWorkItem(class CWorkManager & __ptr64,class CWorkQueue & __ptr64) __ptr64
-??0CFwAsyncWorkItem@@QEAA@AEAVCWorkManager@@AEAVCWorkQueue@@@Z
-; public: __cdecl CFwEventItem::CFwEventItem(unsigned short,unsigned long,unsigned short,unsigned long,void * __ptr64) __ptr64
-??0CFwEventItem@@QEAA@GKGKPEAX@Z
-; public: __cdecl CGenericCiProxy::CGenericCiProxy(class CSharedNameGen & __ptr64,unsigned long,unsigned long) __ptr64
-??0CGenericCiProxy@@QEAA@AEAVCSharedNameGen@@KK@Z
-; public: __cdecl CGetDbProps::CGetDbProps(void) __ptr64
-??0CGetDbProps@@QEAA@XZ
-; public: __cdecl CImpersonateRemoteAccess::CImpersonateRemoteAccess(class CImpersonationTokenCache * __ptr64) __ptr64
-??0CImpersonateRemoteAccess@@QEAA@PEAVCImpersonationTokenCache@@@Z
-; public: __cdecl CImpersonationTokenCache::CImpersonationTokenCache(unsigned short const * __ptr64) __ptr64
-??0CImpersonationTokenCache@@QEAA@PEBG@Z
-; public: __cdecl CIndexTable::CIndexTable(class CiStorage & __ptr64,class CTransaction & __ptr64) __ptr64
-??0CIndexTable@@QEAA@AEAVCiStorage@@AEAVCTransaction@@@Z
-; public: __cdecl CInternalPropertyRestriction::CInternalPropertyRestriction(unsigned long,unsigned long,class CStorageVariant const & __ptr64,class CRestriction * __ptr64) __ptr64
-??0CInternalPropertyRestriction@@QEAA@KKAEBVCStorageVariant@@PEAVCRestriction@@@Z
-; public: __cdecl CKeyArray::CKeyArray(int,int) __ptr64
-??0CKeyArray@@QEAA@HH@Z
-; public: __cdecl CLangList::CLangList(struct ICiCLangRes * __ptr64,unsigned long) __ptr64
-??0CLangList@@QEAA@PEAUICiCLangRes@@K@Z
-; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(unsigned long) __ptr64
-??0CLocalGlobalPropertyList@@QEAA@K@Z
-; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64
-??0CLocalGlobalPropertyList@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z
-; public: __cdecl CMachineAdmin::CMachineAdmin(unsigned short const * __ptr64,int) __ptr64
-??0CMachineAdmin@@QEAA@PEBGH@Z
-; public: __cdecl CMemSerStream::CMemSerStream(unsigned int) __ptr64
-??0CMemSerStream@@QEAA@I@Z
-; public: __cdecl CMemSerStream::CMemSerStream(unsigned char * __ptr64,unsigned long) __ptr64
-??0CMemSerStream@@QEAA@PEAEK@Z
-; public: __cdecl CMetaDataMgr::CMetaDataMgr(int,enum CiVRootTypeEnum,unsigned long,unsigned short const * __ptr64) __ptr64
-??0CMetaDataMgr@@QEAA@HW4CiVRootTypeEnum@@KPEBG@Z
-; public: __cdecl CMmStream::CMmStream(unsigned long,int) __ptr64
-??0CMmStream@@QEAA@KH@Z
-; public: __cdecl CMmStreamConsecBuf::CMmStreamConsecBuf(void) __ptr64
-??0CMmStreamConsecBuf@@QEAA@XZ
-; public: __cdecl CNatLanguageRestriction::CNatLanguageRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long) __ptr64
-??0CNatLanguageRestriction@@QEAA@PEBGAEBVCFullPropSpec@@K@Z
-; public: __cdecl CNodeRestriction::CNodeRestriction(unsigned long,unsigned int) __ptr64
-??0CNodeRestriction@@QEAA@KI@Z
-; public: __cdecl CNormalizer::CNormalizer(class PNoiseList & __ptr64) __ptr64
-??0CNormalizer@@QEAA@AEAVPNoiseList@@@Z
-; public: __cdecl CPathParser::CPathParser(unsigned short const * __ptr64,unsigned long) __ptr64
-??0CPathParser@@QEAA@PEBGK@Z
-; public: __cdecl CPerfMon::CPerfMon(unsigned short const * __ptr64) __ptr64
-??0CPerfMon@@QEAA@PEBG@Z
-; public: __cdecl CPersDeComp::CPersDeComp(class PDirectory & __ptr64,unsigned long,class CPhysIndex & __ptr64,unsigned long,int,int) __ptr64
-??0CPersDeComp@@QEAA@AEAVPDirectory@@KAEAVCPhysIndex@@KHH@Z
-; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,unsigned int,class PMmStream * __ptr64,int,unsigned int,int) __ptr64
-??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KIPEAVPMmStream@@HIH@Z
-; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,class PMmStream * __ptr64,enum CPhysStorage::EOpenMode,int,unsigned int,int) __ptr64
-??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KPEAVPMmStream@@W4EOpenMode@1@HIH@Z
-; public: __cdecl CPidLookupTable::CPidLookupTable(void) __ptr64
-??0CPidLookupTable@@QEAA@XZ
-; public: __cdecl CPidRemapper::CPidRemapper(class XInterface<struct IPropertyMapper> & __ptr64) __ptr64
-??0CPidRemapper@@QEAA@AEAV?$XInterface@UIPropertyMapper@@@@@Z
-; public: __cdecl CPidRemapper::CPidRemapper(class CPidMapper const & __ptr64,class XInterface<struct IPropertyMapper> & __ptr64,class CRestriction * __ptr64,class CColumnSet * __ptr64,class CSortSet * __ptr64) __ptr64
-??0CPidRemapper@@QEAA@AEBVCPidMapper@@AEAV?$XInterface@UIPropertyMapper@@@@PEAVCRestriction@@PEAVCColumnSet@@PEAVCSortSet@@@Z
-; public: __cdecl CPropListFile::CPropListFile(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64
-??0CPropListFile@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z
-; public: __cdecl CPropNameArray::CPropNameArray(class PDeSerStream & __ptr64) __ptr64
-??0CPropNameArray@@QEAA@AEAVPDeSerStream@@@Z
-; public: __cdecl CPropNameArray::CPropNameArray(unsigned int) __ptr64
-??0CPropNameArray@@QEAA@I@Z
-; public: __cdecl CPropStoreManager::CPropStoreManager(unsigned long) __ptr64
-??0CPropStoreManager@@QEAA@K@Z
-; public: __cdecl CPropertyRestriction::CPropertyRestriction(unsigned long,class CFullPropSpec const & __ptr64,class CStorageVariant const & __ptr64) __ptr64
-??0CPropertyRestriction@@QEAA@KAEBVCFullPropSpec@@AEBVCStorageVariant@@@Z
-; public: __cdecl CPropertyRestriction::CPropertyRestriction(void) __ptr64
-??0CPropertyRestriction@@QEAA@XZ
-; public: __cdecl CPropertyStoreWids::CPropertyStoreWids(class CPropStoreManager & __ptr64) __ptr64
-??0CPropertyStoreWids@@QEAA@AEAVCPropStoreManager@@@Z
-; public: __cdecl CPropertyValueParser::CPropertyValueParser(class CQueryScanner & __ptr64,unsigned short,unsigned long) __ptr64
-??0CPropertyValueParser@@QEAA@AEAVCQueryScanner@@GK@Z
-; public: __cdecl CQueryScanner::CQueryScanner(unsigned short const * __ptr64,int,unsigned long,int) __ptr64
-??0CQueryScanner@@QEAA@PEBGHKH@Z
-; public: __cdecl CRangeKeyRepository::CRangeKeyRepository(void) __ptr64
-??0CRangeKeyRepository@@QEAA@XZ
-; public: __cdecl CRcovStrmAppendTrans::CRcovStrmAppendTrans(class PRcovStorageObj & __ptr64) __ptr64
-??0CRcovStrmAppendTrans@@QEAA@AEAVPRcovStorageObj@@@Z
-; public: __cdecl CRcovStrmMDTrans::CRcovStrmMDTrans(class PRcovStorageObj & __ptr64,enum CRcovStrmMDTrans::MDOp,unsigned long) __ptr64
-??0CRcovStrmMDTrans@@QEAA@AEAVPRcovStorageObj@@W4MDOp@0@K@Z
-; protected: __cdecl CRcovStrmTrans::CRcovStrmTrans(class PRcovStorageObj & __ptr64,enum RcovOpType) __ptr64
-??0CRcovStrmTrans@@IEAA@AEAVPRcovStorageObj@@W4RcovOpType@@@Z
-; public: __cdecl CRegAccess::CRegAccess(unsigned long,unsigned short const * __ptr64) __ptr64
-??0CRegAccess@@QEAA@KPEBG@Z
-; public: __cdecl CRegChangeEvent::CRegChangeEvent(unsigned short const * __ptr64,int) __ptr64
-??0CRegChangeEvent@@QEAA@PEBGH@Z
-; public: __cdecl CRegNotify::CRegNotify(unsigned short const * __ptr64) __ptr64
-??0CRegNotify@@QEAA@PEBG@Z
-; public: __cdecl CRequestClient::CRequestClient(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64
-??0CRequestClient@@QEAA@PEBGPEAUIDBProperties@@@Z
-; public: __cdecl CRequestQueue::CRequestQueue(unsigned int,unsigned int,unsigned int,int,unsigned int,unsigned int,struct _GUID const & __ptr64) __ptr64
-??0CRequestQueue@@QEAA@IIIHIIAEBU_GUID@@@Z
-; public: __cdecl CScopeRestriction::CScopeRestriction(unsigned short const * __ptr64,int,int) __ptr64
-??0CScopeRestriction@@QEAA@PEBGHH@Z
-; public: __cdecl CSdidLookupTable::CSdidLookupTable(void) __ptr64
-??0CSdidLookupTable@@QEAA@XZ
-; public: __cdecl CSizeSerStream::CSizeSerStream(void) __ptr64
-??0CSizeSerStream@@QEAA@XZ
-; public: __cdecl CSort::CSort(unsigned int) __ptr64
-??0CSort@@QEAA@I@Z
-; public: __cdecl CSortSet::CSortSet(unsigned int) __ptr64
-??0CSortSet@@QEAA@I@Z
-; public: __cdecl CStandardPropMapper::CStandardPropMapper(void) __ptr64
-??0CStandardPropMapper@@QEAA@XZ
-; public: __cdecl CSvcQuery::CSvcQuery(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64
-??0CSvcQuery@@QEAA@PEBGPEAUIDBProperties@@@Z
-; public: __cdecl CSynRestriction::CSynRestriction(class CKey const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
-??0CSynRestriction@@QEAA@AEBVCKey@@KKKH@Z
-; public: __cdecl CTimeLimit::CTimeLimit(unsigned long,unsigned long) __ptr64
-??0CTimeLimit@@QEAA@KK@Z
-; public: __cdecl CTransaction::CTransaction(void) __ptr64
-??0CTransaction@@QEAA@XZ
-; public: __cdecl CUnfilteredRestriction::CUnfilteredRestriction(void) __ptr64
-??0CUnfilteredRestriction@@QEAA@XZ
-; public: __cdecl CValueNormalizer::CValueNormalizer(class PKeyRepository & __ptr64) __ptr64
-??0CValueNormalizer@@QEAA@AEAVPKeyRepository@@@Z
-; public: __cdecl CVirtualString::CVirtualString(unsigned int) __ptr64
-??0CVirtualString@@QEAA@I@Z
-; public: __cdecl CWin32RegAccess::CWin32RegAccess(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CWin32RegAccess@@QEAA@PEAUHKEY__@@PEBG@Z
-; public: __cdecl CWordRestriction::CWordRestriction(class CKeyBuf const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
-??0CWordRestriction@@QEAA@AEBVCKeyBuf@@KKKH@Z
-; public: __cdecl CWorkQueue::CWorkQueue(unsigned int,enum CWorkQueue::WorkQueueType) __ptr64
-??0CWorkQueue@@QEAA@IW4WorkQueueType@0@@Z
-; public: __cdecl CiStorage::CiStorage(unsigned short const * __ptr64,struct ICiCAdviseStatus & __ptr64,unsigned long,unsigned long,int) __ptr64
-??0CiStorage@@QEAA@PEBGAEAUICiCAdviseStatus@@KKH@Z
-; public: __cdecl SStorageObject::SStorageObject(class PStorageObject * __ptr64) __ptr64
-??0SStorageObject@@QEAA@PEAVPStorageObject@@@Z
-; protected: __cdecl CAllocStorageVariant::~CAllocStorageVariant(void) __ptr64
-??1CAllocStorageVariant@@IEAA@XZ
-; public: __cdecl CCatState::~CCatState(void) __ptr64
-??1CCatState@@QEAA@XZ
-; public: __cdecl CCatalogAdmin::~CCatalogAdmin(void) __ptr64
-??1CCatalogAdmin@@QEAA@XZ
-; public: __cdecl CCatalogEnum::~CCatalogEnum(void) __ptr64
-??1CCatalogEnum@@QEAA@XZ
-; public: __cdecl CColumns::~CColumns(void) __ptr64
-??1CColumns@@QEAA@XZ
-; public: __cdecl CContentRestriction::~CContentRestriction(void) __ptr64
-??1CContentRestriction@@QEAA@XZ
-; public: __cdecl CDFA::~CDFA(void) __ptr64
-??1CDFA@@QEAA@XZ
-; public: __cdecl CDbCmdTreeNode::~CDbCmdTreeNode(void) __ptr64
-??1CDbCmdTreeNode@@QEAA@XZ
-; public: __cdecl CDbColumns::~CDbColumns(void) __ptr64
-??1CDbColumns@@QEAA@XZ
-; public: __cdecl CDbPropSet::~CDbPropSet(void) __ptr64
-??1CDbPropSet@@QEAA@XZ
-; public: __cdecl CDbQueryResults::~CDbQueryResults(void) __ptr64
-??1CDbQueryResults@@QEAA@XZ
-; public: __cdecl CDbSortSet::~CDbSortSet(void) __ptr64
-??1CDbSortSet@@QEAA@XZ
-; public: __cdecl CDynStream::~CDynStream(void) __ptr64
-??1CDynStream@@QEAA@XZ
-; public: __cdecl CEventItem::~CEventItem(void) __ptr64
-??1CEventItem@@QEAA@XZ
-; public: __cdecl CEventLog::~CEventLog(void) __ptr64
-??1CEventLog@@QEAA@XZ
-; public: __cdecl CFileMapView::~CFileMapView(void) __ptr64
-??1CFileMapView@@QEAA@XZ
-; public: __cdecl CFilterDaemon::~CFilterDaemon(void) __ptr64
-??1CFilterDaemon@@QEAA@XZ
-; public: virtual __cdecl CFwAsyncWorkItem::~CFwAsyncWorkItem(void) __ptr64
-??1CFwAsyncWorkItem@@UEAA@XZ
-; public: __cdecl CFwEventItem::~CFwEventItem(void) __ptr64
-??1CFwEventItem@@QEAA@XZ
-; public: virtual __cdecl CGenericCiProxy::~CGenericCiProxy(void) __ptr64
-??1CGenericCiProxy@@UEAA@XZ
-; public: __cdecl CImpersonateClient::~CImpersonateClient(void) __ptr64
-??1CImpersonateClient@@QEAA@XZ
-; public: __cdecl CImpersonateSystem::~CImpersonateSystem(void) __ptr64
-??1CImpersonateSystem@@QEAA@XZ
-; public: __cdecl CImpersonationTokenCache::~CImpersonationTokenCache(void) __ptr64
-??1CImpersonationTokenCache@@QEAA@XZ
-; public: __cdecl CInternalPropertyRestriction::~CInternalPropertyRestriction(void) __ptr64
-??1CInternalPropertyRestriction@@QEAA@XZ
-; public: __cdecl CKeyArray::~CKeyArray(void) __ptr64
-??1CKeyArray@@QEAA@XZ
-; public: __cdecl CLangList::~CLangList(void) __ptr64
-??1CLangList@@QEAA@XZ
-; public: __cdecl CMachineAdmin::~CMachineAdmin(void) __ptr64
-??1CMachineAdmin@@QEAA@XZ
-; public: virtual __cdecl CMemSerStream::~CMemSerStream(void) __ptr64
-??1CMemSerStream@@UEAA@XZ
-; public: __cdecl CMetaDataMgr::~CMetaDataMgr(void) __ptr64
-??1CMetaDataMgr@@QEAA@XZ
-; public: virtual __cdecl CMmStream::~CMmStream(void) __ptr64
-??1CMmStream@@UEAA@XZ
-; public: __cdecl CMmStreamConsecBuf::~CMmStreamConsecBuf(void) __ptr64
-??1CMmStreamConsecBuf@@QEAA@XZ
-; public: __cdecl CNatLanguageRestriction::~CNatLanguageRestriction(void) __ptr64
-??1CNatLanguageRestriction@@QEAA@XZ
-; public: __cdecl CNodeRestriction::~CNodeRestriction(void) __ptr64
-??1CNodeRestriction@@QEAA@XZ
-; public: __cdecl CNotRestriction::~CNotRestriction(void) __ptr64
-??1CNotRestriction@@QEAA@XZ
-; public: __cdecl COccRestriction::~COccRestriction(void) __ptr64
-??1COccRestriction@@QEAA@XZ
-; public: __cdecl CParseCommandTree::~CParseCommandTree(void) __ptr64
-??1CParseCommandTree@@QEAA@XZ
-; public: __cdecl CPerfMon::~CPerfMon(void) __ptr64
-??1CPerfMon@@QEAA@XZ
-; public: __cdecl CPhraseRestriction::~CPhraseRestriction(void) __ptr64
-??1CPhraseRestriction@@QEAA@XZ
-; public: virtual __cdecl CPhysStorage::~CPhysStorage(void) __ptr64
-??1CPhysStorage@@UEAA@XZ
-; public: __cdecl CPidLookupTable::~CPidLookupTable(void) __ptr64
-??1CPidLookupTable@@QEAA@XZ
-; public: __cdecl CPidRemapper::~CPidRemapper(void) __ptr64
-??1CPidRemapper@@QEAA@XZ
-; public: __cdecl CProcess::~CProcess(void) __ptr64
-??1CProcess@@QEAA@XZ
-; public: __cdecl CPropStoreManager::~CPropStoreManager(void) __ptr64
-??1CPropStoreManager@@QEAA@XZ
-; public: virtual __cdecl CPropertyList::~CPropertyList(void) __ptr64
-??1CPropertyList@@UEAA@XZ
-; public: __cdecl CPropertyRestriction::~CPropertyRestriction(void) __ptr64
-??1CPropertyRestriction@@QEAA@XZ
-; public: __cdecl CPropertyStore::~CPropertyStore(void) __ptr64
-??1CPropertyStore@@QEAA@XZ
-; public: __cdecl CPropertyStoreWids::~CPropertyStoreWids(void) __ptr64
-??1CPropertyStoreWids@@QEAA@XZ
-; public: __cdecl CQueryUnknown::~CQueryUnknown(void) __ptr64
-??1CQueryUnknown@@QEAA@XZ
-; public: virtual __cdecl CRangeKeyRepository::~CRangeKeyRepository(void) __ptr64
-??1CRangeKeyRepository@@UEAA@XZ
-; public: __cdecl CRegChangeEvent::~CRegChangeEvent(void) __ptr64
-??1CRegChangeEvent@@QEAA@XZ
-; protected: virtual __cdecl CRegNotify::~CRegNotify(void) __ptr64
-??1CRegNotify@@MEAA@XZ
-; public: __cdecl CRestriction::~CRestriction(void) __ptr64
-??1CRestriction@@QEAA@XZ
-; public: __cdecl CScopeAdmin::~CScopeAdmin(void) __ptr64
-??1CScopeAdmin@@QEAA@XZ
-; public: __cdecl CScopeEnum::~CScopeEnum(void) __ptr64
-??1CScopeEnum@@QEAA@XZ
-; public: __cdecl CScopeRestriction::~CScopeRestriction(void) __ptr64
-??1CScopeRestriction@@QEAA@XZ
-; public: __cdecl CSdidLookupTable::~CSdidLookupTable(void) __ptr64
-??1CSdidLookupTable@@QEAA@XZ
-; public: virtual __cdecl CSizeSerStream::~CSizeSerStream(void) __ptr64
-??1CSizeSerStream@@UEAA@XZ
-; public: __cdecl CSort::~CSort(void) __ptr64
-??1CSort@@QEAA@XZ
-; public: __cdecl CSynRestriction::~CSynRestriction(void) __ptr64
-??1CSynRestriction@@QEAA@XZ
-; public: __cdecl CVirtualString::~CVirtualString(void) __ptr64
-??1CVirtualString@@QEAA@XZ
-; public: __cdecl CWin32RegAccess::~CWin32RegAccess(void) __ptr64
-??1CWin32RegAccess@@QEAA@XZ
-; public: __cdecl CWordRestriction::~CWordRestriction(void) __ptr64
-??1CWordRestriction@@QEAA@XZ
-; public: __cdecl CWorkManager::~CWorkManager(void) __ptr64
-??1CWorkManager@@QEAA@XZ
-; public: __cdecl CWorkQueue::~CWorkQueue(void) __ptr64
-??1CWorkQueue@@QEAA@XZ
-; public: __cdecl SStorageObject::~SStorageObject(void) __ptr64
-??1SStorageObject@@QEAA@XZ
-; public: class CDbColId & __ptr64 __cdecl CDbColId::operator=(class CDbColId const & __ptr64) __ptr64
-??4CDbColId@@QEAAAEAV0@AEBV0@@Z
-; public: int __cdecl CDbColId::operator==(class CDbColId const & __ptr64)const  __ptr64
-??8CDbColId@@QEBAHAEBV0@@Z
-; public: void __cdecl CWorkManager::AbortWorkItems(void) __ptr64
-?AbortWorkItems@CWorkManager@@QEAAXXZ
-; public: void __cdecl CQueryScanner::Accept(void) __ptr64
-?Accept@CQueryScanner@@QEAAXXZ
-; public: void __cdecl CQueryScanner::AcceptCommand(void) __ptr64
-?AcceptCommand@CQueryScanner@@QEAAXXZ
-; public: void __cdecl CQueryScanner::AcceptWord(void) __ptr64
-?AcceptWord@CQueryScanner@@QEAAXXZ
-; public: int __cdecl CSdidLookupTable::AccessCheck(unsigned long,void * __ptr64,unsigned long,int & __ptr64) __ptr64
-?AccessCheck@CSdidLookupTable@@QEAAHKPEAXKAEAH@Z
-; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqLine(int) __ptr64
-?AcqLine@CQueryScanner@@QEAAPEAGH@Z
-; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPath(void) __ptr64
-?AcqPath@CQueryScanner@@QEAAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPhrase(void) __ptr64
-?AcqPhrase@CQueryScanner@@QEAAPEAGXZ
-; public: class CRangeRestriction * __ptr64 __cdecl CRangeKeyRepository::AcqRst(void) __ptr64
-?AcqRst@CRangeKeyRepository@@QEAAPEAVCRangeRestriction@@XZ
-; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqWord(void) __ptr64
-?AcqWord@CQueryScanner@@QEAAPEAGXZ
-; private: void __cdecl CPropertyStore::AcquireRead(class CReadWriteLockRecord & __ptr64) __ptr64
-?AcquireRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z
-; public: int __cdecl CDbColumns::Add(class CDbColId const & __ptr64,unsigned int) __ptr64
-?Add@CDbColumns@@QEAAHAEBVCDbColId@@I@Z
-; public: void __cdecl CDbQueryResults::Add(unsigned short * __ptr64,unsigned long) __ptr64
-?Add@CDbQueryResults@@QEAAXPEAGK@Z
-; public: int __cdecl CDbSortSet::Add(class CDbColId const & __ptr64,unsigned long,unsigned int) __ptr64
-?Add@CDbSortSet@@QEAAHAEBVCDbColId@@KI@Z
-; public: int __cdecl CDbSortSet::Add(class CDbSortKey const & __ptr64,unsigned int) __ptr64
-?Add@CDbSortSet@@QEAAHAEBVCDbSortKey@@I@Z
-; public: int __cdecl CKeyArray::Add(int,class CKey const & __ptr64) __ptr64
-?Add@CKeyArray@@QEAAHHAEBVCKey@@@Z
-; public: int __cdecl CKeyArray::Add(int,class CKeyBuf const & __ptr64) __ptr64
-?Add@CKeyArray@@QEAAHHAEBVCKeyBuf@@@Z
-; public: void __cdecl CWorkQueue::Add(class PWorkItem * __ptr64) __ptr64
-?Add@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z
-; public: void __cdecl CEventItem::AddArg(unsigned long) __ptr64
-?AddArg@CEventItem@@QEAAXK@Z
-; public: void __cdecl CEventItem::AddArg(unsigned short const * __ptr64) __ptr64
-?AddArg@CEventItem@@QEAAXPEBG@Z
-; public: void __cdecl CFwEventItem::AddArg(unsigned long) __ptr64
-?AddArg@CFwEventItem@@QEAAXK@Z
-; public: void __cdecl CFwEventItem::AddArg(unsigned short const * __ptr64) __ptr64
-?AddArg@CFwEventItem@@QEAAXPEBG@Z
-; public: void __cdecl CCatalogAdmin::AddCachedProperty(class CFullPropSpec const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
-?AddCachedProperty@CCatalogAdmin@@QEAAXAEBVCFullPropSpec@@KKKH@Z
-; public: void __cdecl CCatState::AddCatalog(class XPtrST<unsigned short> & __ptr64) __ptr64
-?AddCatalog@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
-; public: void __cdecl CMachineAdmin::AddCatalog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?AddCatalog@CMachineAdmin@@QEAAXPEBG0@Z
-; public: void __cdecl CNodeRestriction::AddChild(class CRestriction * __ptr64,unsigned int & __ptr64) __ptr64
-?AddChild@CNodeRestriction@@QEAAXPEAVCRestriction@@AEAI@Z
-; public: void __cdecl CCatState::AddDir(class XPtrST<unsigned short> & __ptr64) __ptr64
-?AddDir@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
-; public: virtual void __cdecl CPropertyList::AddEntry(class CPropEntry * __ptr64,int) __ptr64
-?AddEntry@CPropertyList@@UEAAXPEAVCPropEntry@@H@Z
-; public: void __cdecl CEventItem::AddError(unsigned long) __ptr64
-?AddError@CEventItem@@QEAAXK@Z
-; public: void __cdecl CSynRestriction::AddKey(class CKeyBuf const & __ptr64) __ptr64
-?AddKey@CSynRestriction@@QEAAXAEBVCKeyBuf@@@Z
-; public: void __cdecl CCatState::AddMachine(class XPtrST<unsigned short> & __ptr64) __ptr64
-?AddMachine@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
-; public: virtual unsigned long __cdecl CDbProperties::AddRef(void) __ptr64
-?AddRef@CDbProperties@@UEAAKXZ
-; public: virtual unsigned long __cdecl CEmptyPropertyList::AddRef(void) __ptr64
-?AddRef@CEmptyPropertyList@@UEAAKXZ
-; public: virtual unsigned long __cdecl CEnumString::AddRef(void) __ptr64
-?AddRef@CEnumString@@UEAAKXZ
-; public: virtual unsigned long __cdecl CEnumWorkid::AddRef(void) __ptr64
-?AddRef@CEnumWorkid@@UEAAKXZ
-; public: virtual unsigned long __cdecl CFwPropertyMapper::AddRef(void) __ptr64
-?AddRef@CFwPropertyMapper@@UEAAKXZ
-; public: virtual unsigned long __cdecl CQueryUnknown::AddRef(void) __ptr64
-?AddRef@CQueryUnknown@@UEAAKXZ
-; public: void __cdecl CWorkQueue::AddRefWorkThreads(void) __ptr64
-?AddRefWorkThreads@CWorkQueue@@QEAAXXZ
-; public: void __cdecl CCatalogAdmin::AddScope(unsigned short const * __ptr64,unsigned short const * __ptr64,int,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?AddScope@CCatalogAdmin@@QEAAXPEBG0H00@Z
-; public: int __cdecl CDbSortNode::AddSortColumn(struct tagDBID const & __ptr64,int,unsigned long) __ptr64
-?AddSortColumn@CDbSortNode@@QEAAHAEBUtagDBID@@HK@Z
-; public: int __cdecl CDbNestingNode::AddTable(class CDbCmdTreeNode * __ptr64) __ptr64
-?AddTable@CDbNestingNode@@QEAAHPEAVCDbCmdTreeNode@@@Z
-; public: void __cdecl CWorkManager::AddToWorkList(class CFwAsyncWorkItem * __ptr64) __ptr64
-?AddToWorkList@CWorkManager@@QEAAXPEAVCFwAsyncWorkItem@@@Z
-; public: void __cdecl CFwAsyncWorkItem::AddToWorkQueue(void) __ptr64
-?AddToWorkQueue@CFwAsyncWorkItem@@QEAAXXZ
-; public: static unsigned short * __ptr64 __cdecl CDbCmdTreeNode::AllocAndCopyWString(unsigned short const * __ptr64)
-?AllocAndCopyWString@CDbCmdTreeNode@@SAPEAGPEBG@Z
-; unsigned short * __ptr64 __cdecl AllocHeapAndCopy(unsigned short const * __ptr64,unsigned long & __ptr64)
-?AllocHeapAndCopy@@YAPEAGPEBGAEAK@Z
-; unsigned short * __ptr64 __cdecl AllocHeapAndGetWString(class PDeSerStream & __ptr64)
-?AllocHeapAndGetWString@@YAPEAGAEAVPDeSerStream@@@Z
-; public: void __cdecl CEnumString::Append(unsigned short const * __ptr64) __ptr64
-?Append@CEnumString@@QEAAXPEBG@Z
-; public: void __cdecl CEnumWorkid::Append(unsigned long) __ptr64
-?Append@CEnumWorkid@@QEAAXK@Z
-; protected: void __cdecl CDbCmdTreeNode::AppendChild(class CDbCmdTreeNode * __ptr64) __ptr64
-?AppendChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z
-; protected: int __cdecl CDbListAnchor::AppendListElement(unsigned short,struct tagDBID const & __ptr64) __ptr64
-?AppendListElement@CDbListAnchor@@IEAAHGAEBUtagDBID@@@Z
-; protected: int __cdecl CDbListAnchor::AppendListElement(class CDbCmdTreeNode * __ptr64) __ptr64
-?AppendListElement@CDbListAnchor@@IEAAHPEAVCDbCmdTreeNode@@@Z
-; public: int __cdecl CDbProjectListAnchor::AppendListElement(struct tagDBID const & __ptr64,unsigned short * __ptr64) __ptr64
-?AppendListElement@CDbProjectListAnchor@@QEAAHAEBUtagDBID@@PEAG@Z
-; public: unsigned __int64 __cdecl CPropStoreManager::BeginTransaction(void) __ptr64
-?BeginTransaction@CPropStoreManager@@QEAA_KXZ
-; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct _GUID const & __ptr64,struct IFilter * __ptr64 * __ptr64,int)
-?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@AEBU_GUID@@PEAPEAUIFilter@@H@Z
-; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct IFilter * __ptr64 * __ptr64,int)
-?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@PEAPEAUIFilter@@H@Z
-; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowBuffer(unsigned long,int,int) __ptr64
-?BorrowBuffer@CPhysStorage@@QEAAPEAKKHH@Z
-; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowNewBuffer(unsigned long) __ptr64
-?BorrowNewBuffer@CPhysStorage@@QEAAPEAKK@Z
-; void __cdecl BuildRegistryPropertiesKey(class XArray<unsigned short> & __ptr64,unsigned short const * __ptr64)
-?BuildRegistryPropertiesKey@@YAXAEAV?$XArray@G@@PEBG@Z
-; void __cdecl BuildRegistryScopesKey(class XArray<unsigned short> & __ptr64,unsigned short const * __ptr64)
-?BuildRegistryScopesKey@@YAXAEAV?$XArray@G@@PEBG@Z
-; void __cdecl CIShutdown(void)
-?CIShutdown@@YAXXZ
-; public: void __cdecl CCatState::ChangeCurrentCatalog(unsigned short const * __ptr64) __ptr64
-?ChangeCurrentCatalog@CCatState@@QEAAXPEBG@Z
-; public: void __cdecl CCatState::ChangeCurrentDepth(int) __ptr64
-?ChangeCurrentDepth@CCatState@@QEAAXH@Z
-; public: void __cdecl CCatState::ChangeCurrentMachine(unsigned short const * __ptr64) __ptr64
-?ChangeCurrentMachine@CCatState@@QEAAXPEBG@Z
-; public: void __cdecl CCatState::ChangeCurrentScope(unsigned short const * __ptr64) __ptr64
-?ChangeCurrentScope@CCatState@@QEAAXPEBG@Z
-; private: void __cdecl CPropStoreInfo::ChangeDirty(int) __ptr64
-?ChangeDirty@CPropStoreInfo@@AEAAXH@Z
-; public: long __cdecl CLocalGlobalPropertyList::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?CheckError@CLocalGlobalPropertyList@@QEAAJAEAKPEAPEAG@Z
-; public: long __cdecl CPropListFile::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?CheckError@CPropListFile@@QEAAJAEAKPEAPEAG@Z
-; public: static int __cdecl CiStorage::CheckHasIndexTable(unsigned short const * __ptr64)
-?CheckHasIndexTable@CiStorage@@SAHPEBG@Z
-CiCreateSecurityDescriptor
-; int __cdecl CiGetPassword(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64)
-?CiGetPassword@@YAHPEBG0PEAG@Z
-; void * __ptr64 __cdecl CiNtOpen(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long)
-?CiNtOpen@@YAPEAXPEBGKKK@Z
-; long __cdecl CiNtOpenNoThrow(void * __ptr64 & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long)
-?CiNtOpenNoThrow@@YAJAEAPEAXPEBGKKK@Z
-; public: void __cdecl CDbColId::Cleanup(void) __ptr64
-?Cleanup@CDbColId@@QEAAXXZ
-; protected: void __cdecl CDbCmdTreeNode::CleanupDataValue(void) __ptr64
-?CleanupDataValue@CDbCmdTreeNode@@IEAAXXZ
-; public: void __cdecl CCombinedPropertyList::ClearList(void) __ptr64
-?ClearList@CCombinedPropertyList@@QEAAXXZ
-; public: void __cdecl CPropertyList::ClearList(void) __ptr64
-?ClearList@CPropertyList@@QEAAXXZ
-; public: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::Clone(int)const  __ptr64
-?Clone@CDbCmdTreeNode@@QEBAPEAV1@H@Z
-; public: virtual long __cdecl CEnumString::Clone(struct IEnumString * __ptr64 * __ptr64) __ptr64
-?Clone@CEnumString@@UEAAJPEAPEAUIEnumString@@@Z
-; public: class CNodeRestriction * __ptr64 __cdecl CNodeRestriction::Clone(void)const  __ptr64
-?Clone@CNodeRestriction@@QEBAPEAV1@XZ
-; public: class COccRestriction * __ptr64 __cdecl COccRestriction::Clone(void)const  __ptr64
-?Clone@COccRestriction@@QEBAPEAV1@XZ
-; public: class CRestriction * __ptr64 __cdecl CRestriction::Clone(void)const  __ptr64
-?Clone@CRestriction@@QEBAPEAV1@XZ
-; public: void __cdecl CPhysStorage::Close(void) __ptr64
-?Close@CPhysStorage@@QEAAXXZ
-; protected: void __cdecl CPipeClient::Close(void) __ptr64
-?Close@CPipeClient@@IEAAXXZ
-; public: void __cdecl COLEPropManager::CPropSetMap::Close(void) __ptr64
-?Close@CPropSetMap@COLEPropManager@@QEAAXXZ
-; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecord * __ptr64) __ptr64
-?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecord@@@Z
-; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecordForWrites * __ptr64) __ptr64
-?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecordForWrites@@@Z
-; public: void __cdecl CRcovStrmAppendTrans::Commit(void) __ptr64
-?Commit@CRcovStrmAppendTrans@@QEAAXXZ
-; public: void __cdecl CRcovStrmMDTrans::Commit(void) __ptr64
-?Commit@CRcovStrmMDTrans@@QEAAXXZ
-; public: void __cdecl CRcovStrmWriteTrans::Commit(void) __ptr64
-?Commit@CRcovStrmWriteTrans@@QEAAXXZ
-; public: static int __cdecl CDriveInfo::ContainsDrive(unsigned short const * __ptr64)
-?ContainsDrive@CDriveInfo@@SAHPEBG@Z
-; public: void __cdecl CMachineAdmin::CreateSubdirs(unsigned short const * __ptr64) __ptr64
-?CreateSubdirs@CMachineAdmin@@QEAAXPEBG@Z
-; public: void __cdecl CRequestClient::DataWriteRead(void * __ptr64,unsigned long,void * __ptr64,unsigned long,unsigned long & __ptr64) __ptr64
-?DataWriteRead@CRequestClient@@QEAAXPEAXK0KAEAK@Z
-; void __cdecl DecodeEscapes(unsigned short * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64)
-?DecodeEscapes@@YAXPEAGAEAK0@Z
-; void __cdecl DecodeHtmlNumeric(unsigned short * __ptr64)
-?DecodeHtmlNumeric@@YAXPEAG@Z
-; void __cdecl DecodeURLEscapes(unsigned char * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64,unsigned long)
-?DecodeURLEscapes@@YAXPEAEAEAKPEAGK@Z
-; public: void __cdecl CPropStoreManager::DeleteRecord(unsigned long) __ptr64
-?DeleteRecord@CPropStoreManager@@QEAAXK@Z
-; public: void __cdecl CCatalogAdmin::DeleteRegistryParamNoThrow(unsigned short const * __ptr64) __ptr64
-?DeleteRegistryParamNoThrow@CCatalogAdmin@@QEAAXPEBG@Z
-; public: static unsigned int __cdecl CiStorage::DetermineDriveType(unsigned short const * __ptr64)
-?DetermineDriveType@CiStorage@@SAIPEBG@Z
-; public: int __cdecl CMachineAdmin::DisableCI(void) __ptr64
-?DisableCI@CMachineAdmin@@QEAAHXZ
-; public: void __cdecl CRegNotify::DisableNotification(void) __ptr64
-?DisableNotification@CRegNotify@@QEAAXXZ
-; public: void __cdecl CMetaDataMgr::DisableVPathNotify(void) __ptr64
-?DisableVPathNotify@CMetaDataMgr@@QEAAXXZ
-; public: void __cdecl CRequestClient::Disconnect(void) __ptr64
-?Disconnect@CRequestClient@@QEAAXXZ
-; public: long __cdecl CCopyRcovObject::DoIt(void) __ptr64
-?DoIt@CCopyRcovObject@@QEAAJXZ
-; public: long __cdecl CFilterDaemon::DoUpdates(void) __ptr64
-?DoUpdates@CFilterDaemon@@QEAAJXZ
-; public: void __cdecl CFwAsyncWorkItem::Done(void) __ptr64
-?Done@CFwAsyncWorkItem@@QEAAXXZ
-; long __cdecl DumpWorkId(unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)
-?DumpWorkId@@YAJPEBGKPEAEAEAK00K@Z
-; public: void __cdecl CPidLookupTable::Empty(void) __ptr64
-?Empty@CPidLookupTable@@QEAAXXZ
-; public: void __cdecl CPropStoreManager::Empty(void) __ptr64
-?Empty@CPropStoreManager@@QEAAXXZ
-; public: void __cdecl CRcovStrmWriteTrans::Empty(void) __ptr64
-?Empty@CRcovStrmWriteTrans@@QEAAXXZ
-; public: void __cdecl CSdidLookupTable::Empty(void) __ptr64
-?Empty@CSdidLookupTable@@QEAAXXZ
-; public: int __cdecl CMachineAdmin::EnableCI(void) __ptr64
-?EnableCI@CMachineAdmin@@QEAAHXZ
-; public: void __cdecl CMetaDataMgr::EnableVPathNotify(class CMetaDataVPathChangeCallBack * __ptr64) __ptr64
-?EnableVPathNotify@CMetaDataMgr@@QEAAXPEAVCMetaDataVPathChangeCallBack@@@Z
-; public: void __cdecl CPropStoreManager::EndTransaction(unsigned __int64,int,unsigned long,unsigned long) __ptr64
-?EndTransaction@CPropStoreManager@@QEAAX_KHKK@Z
-; public: int __cdecl CWin32RegAccess::Enum(unsigned short * __ptr64,unsigned long) __ptr64
-?Enum@CWin32RegAccess@@QEAAHPEAGK@Z
-; public: virtual long __cdecl CEmptyPropertyList::EnumPropInfo(unsigned long,unsigned short const * __ptr64 * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
-?EnumPropInfo@CEmptyPropertyList@@UEAAJKPEAPEBGPEAPEAUtagDBID@@PEAGPEAI@Z
-; public: void __cdecl CMetaDataMgr::EnumVPaths(class CMetaDataCallBack & __ptr64) __ptr64
-?EnumVPaths@CMetaDataMgr@@QEAAXAEAVCMetaDataCallBack@@@Z
-; public: void __cdecl CMetaDataMgr::EnumVServers(class CMetaDataVirtualServerCallBack & __ptr64) __ptr64
-?EnumVServers@CMetaDataMgr@@QEAAXAEAVCMetaDataVirtualServerCallBack@@@Z
-; public: static void __cdecl CiStorage::EnumerateFilesInDir(unsigned short const * __ptr64,class CEnumString & __ptr64)
-?EnumerateFilesInDir@CiStorage@@SAXPEBGAEAVCEnumString@@@Z
-; public: int __cdecl CPidLookupTable::EnumerateProperty(class CFullPropSpec & __ptr64,unsigned int & __ptr64) __ptr64
-?EnumerateProperty@CPidLookupTable@@QEAAHAEAVCFullPropSpec@@AEAI@Z
-; public: void __cdecl CRegAccess::EnumerateValues(unsigned short * __ptr64,class CRegCallBack & __ptr64) __ptr64
-?EnumerateValues@CRegAccess@@QEAAXPEAGAEAVCRegCallBack@@@Z
-; public: int __cdecl CMmStreamConsecBuf::Eof(void) __ptr64
-?Eof@CMmStreamConsecBuf@@QEAAHXZ
-; public: int __cdecl CMetaDataMgr::ExtensionHasScriptMap(unsigned short const * __ptr64) __ptr64
-?ExtensionHasScriptMap@CMetaDataMgr@@QEAAHPEBG@Z
-; public: virtual long __cdecl CPidConverter::FPSToPROPID(class CFullPropSpec const & __ptr64,unsigned long & __ptr64) __ptr64
-?FPSToPROPID@CPidConverter@@UEAAJAEBVCFullPropSpec@@AEAK@Z
-; public: void __cdecl CPropStoreManager::FastInit(class CiStorage * __ptr64) __ptr64
-?FastInit@CPropStoreManager@@QEAAXPEAVCiStorage@@@Z
-; public: void __cdecl COLEPropManager::FetchProperty(struct _GUID const & __ptr64,struct tagPROPSPEC const & __ptr64,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
-?FetchProperty@COLEPropManager@@QEAAXAEBU_GUID@@AEBUtagPROPSPEC@@PEAUtagPROPVARIANT@@PEAI@Z
-; public: int __cdecl CKeyArray::FillMax(int) __ptr64
-?FillMax@CKeyArray@@QEAAHH@Z
-; public: class CPropEntry const * __ptr64 __cdecl CEmptyPropertyList::Find(class CDbColId const & __ptr64) __ptr64
-?Find@CEmptyPropertyList@@QEAAPEBVCPropEntry@@AEBVCDbColId@@@Z
-; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(class CDbColId const & __ptr64) __ptr64
-?Find@CPropertyList@@UEAAPEBVCPropEntry@@AEBVCDbColId@@@Z
-; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(unsigned short const * __ptr64) __ptr64
-?Find@CPropertyList@@UEAAPEBVCPropEntry@@PEBG@Z
-; public: int __cdecl CPidLookupTable::FindPropid(class CFullPropSpec const & __ptr64,unsigned long & __ptr64,int) __ptr64
-?FindPropid@CPidLookupTable@@QEAAHAEBVCFullPropSpec@@AEAKH@Z
-; public: void __cdecl CDynStream::Flush(void) __ptr64
-?Flush@CDynStream@@QEAAXXZ
-; public: void __cdecl CPhysStorage::Flush(int) __ptr64
-?Flush@CPhysStorage@@QEAAXH@Z
-; public: void __cdecl CPropStoreManager::Flush(void) __ptr64
-?Flush@CPropStoreManager@@QEAAXXZ
-; public: static void __cdecl CCiOle::FlushIdle(void)
-?FlushIdle@CCiOle@@SAXXZ
-; public: struct tagDBCOMMANDTREE * __ptr64 __cdecl CTextToTree::FormFullTree(void) __ptr64
-?FormFullTree@CTextToTree@@QEAAPEAUtagDBCOMMANDTREE@@XZ
-; class CDbCmdTreeNode * __ptr64 __cdecl FormQueryTree(class CDbCmdTreeNode & __ptr64,class CCatState & __ptr64,struct IColumnMapper * __ptr64,int,int)
-?FormQueryTree@@YAPEAVCDbCmdTreeNode@@AEAV1@AEAVCCatState@@PEAUIColumnMapper@@HH@Z
-FsCiShutdown
-; public: unsigned long __cdecl CRegAccess::Get(unsigned short const * __ptr64) __ptr64
-?Get@CRegAccess@@QEAAKPEBG@Z
-; public: void __cdecl CRegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int) __ptr64
-?Get@CRegAccess@@QEAAXPEBGPEAGI@Z
-; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
-?Get@CWin32RegAccess@@QEAAHPEBGAEAK@Z
-; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int,int) __ptr64
-?Get@CWin32RegAccess@@QEAAHPEBGPEAGIH@Z
-; public: virtual long __cdecl CPropertyList::GetAllEntries(class CPropEntry * __ptr64 * __ptr64,unsigned long) __ptr64
-?GetAllEntries@CPropertyList@@UEAAJPEAPEAVCPropEntry@@K@Z
-; public: short __cdecl CAllocStorageVariant::GetBOOL(unsigned int)const  __ptr64
-?GetBOOL@CAllocStorageVariant@@QEBAFI@Z
-; public: unsigned long __cdecl CPropStoreManager::GetBackupSize(unsigned long) __ptr64
-?GetBackupSize@CPropStoreManager@@QEAAKK@Z
-; public: virtual void __cdecl CMemDeSerStream::GetBlob(unsigned char * __ptr64,unsigned long) __ptr64
-?GetBlob@CMemDeSerStream@@UEAAXPEAEK@Z
-; unsigned long __cdecl GetBrowserCodepage(class CWebServer & __ptr64,unsigned long)
-?GetBrowserCodepage@@YAKAEAVCWebServer@@K@Z
-; public: virtual unsigned char __cdecl CMemDeSerStream::GetByte(void) __ptr64
-?GetByte@CMemDeSerStream@@UEAAEXZ
-; public: unsigned short const * __ptr64 __cdecl CCatState::GetCD(void) __ptr64
-?GetCD@CCatState@@QEAAPEBGXZ
-; public: int __cdecl CWebServer::GetCGIVariable(char const * __ptr64,class XArray<unsigned short> & __ptr64,unsigned long & __ptr64) __ptr64
-?GetCGIVariable@CWebServer@@QEAAHPEBDAEAV?$XArray@G@@AEAK@Z
-; public: int __cdecl CWebServer::GetCGIVariableW(unsigned short const * __ptr64,class XArray<unsigned short> & __ptr64,unsigned long & __ptr64) __ptr64
-?GetCGIVariableW@CWebServer@@QEAAHPEBGAEAV?$XArray@G@@AEAK@Z
-; public: struct _GUID  __cdecl CAllocStorageVariant::GetCLSID(unsigned int)const  __ptr64
-?GetCLSID@CAllocStorageVariant@@QEBA?AU_GUID@@I@Z
-; public: union tagCY  __cdecl CAllocStorageVariant::GetCY(unsigned int)const  __ptr64
-?GetCY@CAllocStorageVariant@@QEBA?ATtagCY@@I@Z
-; public: unsigned short const * __ptr64 __cdecl CCatState::GetCategory(unsigned int)const  __ptr64
-?GetCategory@CCatState@@QEBAPEBGI@Z
-; public: virtual void __cdecl CMemDeSerStream::GetChar(char * __ptr64,unsigned long) __ptr64
-?GetChar@CMemDeSerStream@@UEAAXPEADK@Z
-; public: unsigned short const * __ptr64 __cdecl CCatState::GetColumn(unsigned int)const  __ptr64
-?GetColumn@CCatState@@QEBAPEBGI@Z
-; public: unsigned short __cdecl CQueryScanner::GetCommandChar(void) __ptr64
-?GetCommandChar@CQueryScanner@@QEAAGXZ
-; public: double __cdecl CAllocStorageVariant::GetDATE(unsigned int)const  __ptr64
-?GetDATE@CAllocStorageVariant@@QEBANI@Z
-; public: int __cdecl CCatalogAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
-?GetDWORDParam@CCatalogAdmin@@QEAAHPEBGAEAK@Z
-; public: int __cdecl CMachineAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
-?GetDWORDParam@CMachineAdmin@@QEAAHPEBGAEAK@Z
-; public: void __cdecl CDriveInfo::GetDiskSpace(__int64 & __ptr64,__int64 & __ptr64) __ptr64
-?GetDiskSpace@CDriveInfo@@QEAAXAEA_J0@Z
-; public: virtual double __cdecl CMemDeSerStream::GetDouble(void) __ptr64
-?GetDouble@CMemDeSerStream@@UEAANXZ
-; public: static void __cdecl CDriveInfo::GetDrive(unsigned short const * __ptr64,unsigned short * __ptr64)
-?GetDrive@CDriveInfo@@SAXPEBGPEAG@Z
-; public: unsigned char * __ptr64 __cdecl CGenericCiProxy::GetEntryBuffer(unsigned long & __ptr64) __ptr64
-?GetEntryBuffer@CGenericCiProxy@@QEAAPEAEAEAK@Z
-; public: struct _FILETIME  __cdecl CAllocStorageVariant::GetFILETIME(unsigned int)const  __ptr64
-?GetFILETIME@CAllocStorageVariant@@QEBA?AU_FILETIME@@I@Z
-; public: int __cdecl CPathParser::GetFileName(unsigned short * __ptr64,unsigned long & __ptr64)const  __ptr64
-?GetFileName@CPathParser@@QEBAHPEAGAEAK@Z
-; public: enum CDriveInfo::eFileSystem  __cdecl CDriveInfo::GetFileSystem(int) __ptr64
-?GetFileSystem@CDriveInfo@@QEAA?AW4eFileSystem@1@H@Z
-; public: virtual float __cdecl CMemDeSerStream::GetFloat(void) __ptr64
-?GetFloat@CMemDeSerStream@@UEAAMXZ
-; public: virtual void __cdecl CMemDeSerStream::GetGUID(struct _GUID & __ptr64) __ptr64
-?GetGUID@CMemDeSerStream@@UEAAXAEAU_GUID@@@Z
-; class CPropListFile * __ptr64 __cdecl GetGlobalPropListFile(void)
-?GetGlobalPropListFile@@YAPEAVCPropListFile@@XZ
-; class CStaticPropertyList * __ptr64 __cdecl GetGlobalStaticPropertyList(void)
-?GetGlobalStaticPropertyList@@YAPEAVCStaticPropertyList@@XZ
-; public: short __cdecl CAllocStorageVariant::GetI2(unsigned int)const  __ptr64
-?GetI2@CAllocStorageVariant@@QEBAFI@Z
-; public: long __cdecl CAllocStorageVariant::GetI4(unsigned int)const  __ptr64
-?GetI4@CAllocStorageVariant@@QEBAJI@Z
-; public: union _LARGE_INTEGER  __cdecl CAllocStorageVariant::GetI8(unsigned int)const  __ptr64
-?GetI8@CAllocStorageVariant@@QEBA?AT_LARGE_INTEGER@@I@Z
-; unsigned long __cdecl GetLCIDFromString(unsigned short * __ptr64)
-?GetLCIDFromString@@YAKPEAG@Z
-; public: char * __ptr64 __cdecl CAllocStorageVariant::GetLPSTR(unsigned int)const  __ptr64
-?GetLPSTR@CAllocStorageVariant@@QEBAPEADI@Z
-; public: unsigned short * __ptr64 __cdecl CAllocStorageVariant::GetLPWSTR(unsigned int)const  __ptr64
-?GetLPWSTR@CAllocStorageVariant@@QEBAPEAGI@Z
-; public: unsigned short const * __ptr64 __cdecl CCatalogAdmin::GetLocation(void) __ptr64
-?GetLocation@CCatalogAdmin@@QEAAPEBGXZ
-; public: virtual long __cdecl CMemDeSerStream::GetLong(void) __ptr64
-?GetLong@CMemDeSerStream@@UEAAJXZ
-; public: int __cdecl CQueryScanner::GetNumber(unsigned long & __ptr64,int & __ptr64) __ptr64
-?GetNumber@CQueryScanner@@QEAAHAEAKAEAH@Z
-; public: int __cdecl CQueryScanner::GetNumber(double & __ptr64) __ptr64
-?GetNumber@CQueryScanner@@QEAAHAEAN@Z
-; public: int __cdecl CQueryScanner::GetNumber(__int64 & __ptr64,int & __ptr64) __ptr64
-?GetNumber@CQueryScanner@@QEAAHAEA_JAEAH@Z
-; public: int __cdecl CQueryScanner::GetNumber(unsigned __int64 & __ptr64,int & __ptr64) __ptr64
-?GetNumber@CQueryScanner@@QEAAHAEA_KAEAH@Z
-; public: void __cdecl CKeyDeComp::GetOffset(struct BitOffset & __ptr64) __ptr64
-?GetOffset@CKeyDeComp@@QEAAXAEAUBitOffset@@@Z
-; long __cdecl GetOleDBErrorInfo(struct IUnknown * __ptr64,struct _GUID const & __ptr64,unsigned long,unsigned int,struct tagERRORINFO * __ptr64,struct IErrorInfo * __ptr64 * __ptr64)
-?GetOleDBErrorInfo@@YAJPEAUIUnknown@@AEBU_GUID@@KIPEAUtagERRORINFO@@PEAPEAUIErrorInfo@@@Z
-; long __cdecl GetOleError(class CException & __ptr64)
-?GetOleError@@YAJAEAVCException@@@Z
-; public: unsigned long __cdecl CWebServer::GetPhysicalPath(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long,unsigned long) __ptr64
-?GetPhysicalPath@CWebServer@@QEAAKPEBGPEAGKK@Z
-; public: int __cdecl CEmptyPropertyList::GetPropInfo(class CDbColId const & __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
-?GetPropInfo@CEmptyPropertyList@@QEAAHAEBVCDbColId@@PEAPEBGPEAGPEAI@Z
-; public: int __cdecl CEmptyPropertyList::GetPropInfo(unsigned short const * __ptr64,class CDbColId * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
-?GetPropInfo@CEmptyPropertyList@@QEAAHPEBGPEAPEAVCDbColId@@PEAGPEAI@Z
-; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromId(struct tagDBID const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
-?GetPropInfoFromId@CEmptyPropertyList@@UEAAJPEBUtagDBID@@PEAPEAGPEAGPEAI@Z
-; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromName(unsigned short const * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
-?GetPropInfoFromName@CEmptyPropertyList@@UEAAJPEBGPEAPEAUtagDBID@@PEAGPEAI@Z
-; public: static unsigned short __cdecl CEmptyPropertyList::GetPropType(unsigned int)
-?GetPropType@CEmptyPropertyList@@SAGI@Z
-; public: static unsigned int __cdecl CEmptyPropertyList::GetPropTypeCount(void)
-?GetPropTypeCount@CEmptyPropertyList@@SAIXZ
-; public: static unsigned short const * __ptr64 __cdecl CEmptyPropertyList::GetPropTypeName(unsigned int)
-?GetPropTypeName@CEmptyPropertyList@@SAPEBGI@Z
-; public: virtual long __cdecl CDbProperties::GetProperties(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64) __ptr64
-?GetProperties@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@@Z
-; public: void __cdecl CGetDbProps::GetProperties(struct IDBProperties * __ptr64,unsigned long) __ptr64
-?GetProperties@CGetDbProps@@QEAAXPEAUIDBProperties@@K@Z
-; public: virtual long __cdecl CDbProperties::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPINFOSET * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetPropertyInfo@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPINFOSET@@PEAPEAG@Z
-; public: float __cdecl CAllocStorageVariant::GetR4(unsigned int)const  __ptr64
-?GetR4@CAllocStorageVariant@@QEBAMI@Z
-; public: double __cdecl CAllocStorageVariant::GetR8(unsigned int)const  __ptr64
-?GetR8@CAllocStorageVariant@@QEBANI@Z
-; public: int __cdecl CMachineAdmin::GetSZParam(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
-?GetSZParam@CMachineAdmin@@QEAAHPEBGPEAGK@Z
-; long __cdecl GetScodeError(class CException & __ptr64)
-?GetScodeError@@YAJAEAVCException@@@Z
-; int __cdecl GetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64)
-?GetSecret@@YAHPEBG0PEAPEAGPEAK@Z
-; public: unsigned long __cdecl CDriveInfo::GetSectorSize(void) __ptr64
-?GetSectorSize@CDriveInfo@@QEAAKXZ
-; public: void __cdecl CCatState::GetSortProp(unsigned int,unsigned short const * __ptr64 * __ptr64,enum SORTDIR * __ptr64)const  __ptr64
-?GetSortProp@CCatState@@QEBAXIPEAPEBGPEAW4SORTDIR@@@Z
-; void __cdecl GetStackTrace(char * __ptr64,unsigned long)
-?GetStackTrace@@YAXPEADK@Z
-; public: unsigned char const * __ptr64 __cdecl CGenericCiProxy::GetStartupData(struct _GUID & __ptr64,unsigned long & __ptr64) __ptr64
-?GetStartupData@CGenericCiProxy@@QEAAPEBEAEAU_GUID@@AEAK@Z
-; public: class PStorage & __ptr64 __cdecl CPropStoreManager::GetStorage(unsigned long) __ptr64
-?GetStorage@CPropStoreManager@@QEAAAEAVPStorage@@K@Z
-; public: unsigned short * __ptr64 __cdecl CKey::GetStr(void)const  __ptr64
-?GetStr@CKey@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl CKeyBuf::GetStr(void)const  __ptr64
-?GetStr@CKeyBuf@@QEBAPEAGXZ
-; public: virtual char * __ptr64 __cdecl CMemDeSerStream::GetString(void) __ptr64
-?GetString@CMemDeSerStream@@UEAAPEADXZ
-; class CDbRestriction * __ptr64 __cdecl GetStringDbRestriction(unsigned short const * __ptr64,unsigned long,struct IColumnMapper * __ptr64,unsigned long)
-?GetStringDbRestriction@@YAPEAVCDbRestriction@@PEBGKPEAUIColumnMapper@@K@Z
-; void __cdecl GetStringFromLCID(unsigned long,unsigned short * __ptr64)
-?GetStringFromLCID@@YAXKPEAG@Z
-; public: unsigned long __cdecl CPropStoreManager::GetTotalSizeInKB(void) __ptr64
-?GetTotalSizeInKB@CPropStoreManager@@QEAAKXZ
-; public: unsigned long __cdecl CPropertyStore::GetTotalSizeInKB(void) __ptr64
-?GetTotalSizeInKB@CPropertyStore@@QEAAKXZ
-; public: virtual unsigned long __cdecl CMemDeSerStream::GetULong(void) __ptr64
-?GetULong@CMemDeSerStream@@UEAAKXZ
-; public: virtual unsigned short __cdecl CMemDeSerStream::GetUShort(void) __ptr64
-?GetUShort@CMemDeSerStream@@UEAAGXZ
-; public: void __cdecl CIndexTable::GetUserHdrInfo(unsigned int & __ptr64,int & __ptr64) __ptr64
-?GetUserHdrInfo@CIndexTable@@QEAAXAEAIAEAH@Z
-; public: unsigned long __cdecl CMetaDataMgr::GetVPathAccess(unsigned short const * __ptr64) __ptr64
-?GetVPathAccess@CMetaDataMgr@@QEAAKPEBG@Z
-; public: unsigned long __cdecl CMetaDataMgr::GetVPathAuthorization(unsigned short const * __ptr64) __ptr64
-?GetVPathAuthorization@CMetaDataMgr@@QEAAKPEBG@Z
-; public: unsigned long __cdecl CMetaDataMgr::GetVPathSSLAccess(unsigned short const * __ptr64) __ptr64
-?GetVPathSSLAccess@CMetaDataMgr@@QEAAKPEBG@Z
-; public: unsigned short const * __ptr64 __cdecl CDriveInfo::GetVolumeName(int) __ptr64
-?GetVolumeName@CDriveInfo@@QEAAPEBGH@Z
-; public: virtual void __cdecl CMemDeSerStream::GetWChar(unsigned short * __ptr64,unsigned long) __ptr64
-?GetWChar@CMemDeSerStream@@UEAAXPEAGK@Z
-; public: virtual unsigned short * __ptr64 __cdecl CMemDeSerStream::GetWString(void) __ptr64
-?GetWString@CMemDeSerStream@@UEAAPEAGXZ
-; public: long __cdecl CDbCmdTreeNode::GetWeight(void)const  __ptr64
-?GetWeight@CDbCmdTreeNode@@QEBAJXZ
-; public: void __cdecl CDynStream::Grow(class PStorage & __ptr64,unsigned long) __ptr64
-?Grow@CDynStream@@QEAAXAEAVPStorage@@K@Z
-; private: void __cdecl CVirtualString::GrowBuffer(unsigned long) __ptr64
-?GrowBuffer@CVirtualString@@AEAAXK@Z
-; void __cdecl HTMLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long)
-?HTMLEscapeW@@YAXPEBGAEAVCVirtualString@@K@Z
-; private: void __cdecl CImpersonateClient::Impersonate(void) __ptr64
-?Impersonate@CImpersonateClient@@AEAAXXZ
-; public: void __cdecl CFileMapView::Init(void) __ptr64
-?Init@CFileMapView@@QEAAXXZ
-; public: void __cdecl CMmStreamConsecBuf::Init(class PMmStream * __ptr64) __ptr64
-?Init@CMmStreamConsecBuf@@QEAAXPEAVPMmStream@@@Z
-; public: int __cdecl CPidLookupTable::Init(class PRcovStorageObj * __ptr64) __ptr64
-?Init@CPidLookupTable@@QEAAHPEAVPRcovStorageObj@@@Z
-; public: void __cdecl CRcovStorageHdr::Init(unsigned long) __ptr64
-?Init@CRcovStorageHdr@@QEAAXK@Z
-; public: void __cdecl CRegChangeEvent::Init(void) __ptr64
-?Init@CRegChangeEvent@@QEAAXXZ
-; public: int __cdecl CSdidLookupTable::Init(class CiStorage * __ptr64) __ptr64
-?Init@CSdidLookupTable@@QEAAHPEAVCiStorage@@@Z
-; public: virtual void __cdecl CPropertyList::InitIterator(void) __ptr64
-?InitIterator@CPropertyList@@UEAAXXZ
-; public: void __cdecl CImpersonationTokenCache::Initialize(unsigned short const * __ptr64,int,int,int,unsigned long,unsigned long,unsigned long) __ptr64
-?Initialize@CImpersonationTokenCache@@QEAAXPEBGHHHKKK@Z
-; public: void __cdecl CDynStream::InitializeForRead(void) __ptr64
-?InitializeForRead@CDynStream@@QEAAXXZ
-; public: void __cdecl CDynStream::InitializeForWrite(unsigned long) __ptr64
-?InitializeForWrite@CDynStream@@QEAAXK@Z
-; protected: void __cdecl CDbCmdTreeNode::InsertChild(class CDbCmdTreeNode * __ptr64) __ptr64
-?InsertChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z
-; public: int __cdecl CMachineAdmin::IsCIEnabled(void) __ptr64
-?IsCIEnabled@CMachineAdmin@@QEAAHXZ
-; public: int __cdecl CMachineAdmin::IsCIPaused(void) __ptr64
-?IsCIPaused@CMachineAdmin@@QEAAHXZ
-; public: int __cdecl CMachineAdmin::IsCIStarted(void) __ptr64
-?IsCIStarted@CMachineAdmin@@QEAAHXZ
-; public: int __cdecl CMachineAdmin::IsCIStopped(void) __ptr64
-?IsCIStopped@CMachineAdmin@@QEAAHXZ
-; public: int __cdecl CCatalogAdmin::IsCatalogInactive(void) __ptr64
-?IsCatalogInactive@CCatalogAdmin@@QEAAHXZ
-; int __cdecl IsDirectoryWritable(unsigned short const * __ptr64)
-?IsDirectoryWritable@@YAHPEBG@Z
-; public: static int __cdecl CMetaDataMgr::IsIISAdminUp(int & __ptr64)
-?IsIISAdminUp@CMetaDataMgr@@SAHAEAH@Z
-; public: static int __cdecl CImpersonateSystem::IsImpersonated(void)
-?IsImpersonated@CImpersonateSystem@@SAHXZ
-; public: int __cdecl CRestriction::IsLeaf(void)const  __ptr64
-?IsLeaf@CRestriction@@QEBAHXZ
-; int __cdecl IsNullPointerVariant(struct tagPROPVARIANT * __ptr64)
-?IsNullPointerVariant@@YAHPEAUtagPROPVARIANT@@@Z
-; public: int __cdecl CCatalogAdmin::IsPaused(void) __ptr64
-?IsPaused@CCatalogAdmin@@QEAAHXZ
-; public: static int __cdecl CImpersonateSystem::IsRunningAsSystem(void)
-?IsRunningAsSystem@CImpersonateSystem@@SAHXZ
-; public: int __cdecl CDriveInfo::IsSameDrive(unsigned short const * __ptr64) __ptr64
-?IsSameDrive@CDriveInfo@@QEAAHPEBG@Z
-; long __cdecl IsScopeValid(unsigned short const * __ptr64,unsigned int,int)
-?IsScopeValid@@YAJPEBGIH@Z
-; public: int __cdecl CCatalogAdmin::IsStarted(void) __ptr64
-?IsStarted@CCatalogAdmin@@QEAAHXZ
-; public: int __cdecl CCatalogAdmin::IsStopped(void) __ptr64
-?IsStopped@CCatalogAdmin@@QEAAHXZ
-; public: int __cdecl CAllocStorageVariant::IsValid(void)const  __ptr64
-?IsValid@CAllocStorageVariant@@QEBAHXZ
-; public: int __cdecl CNodeRestriction::IsValid(void)const  __ptr64
-?IsValid@CNodeRestriction@@QEBAHXZ
-; public: int __cdecl COccRestriction::IsValid(void)const  __ptr64
-?IsValid@COccRestriction@@QEBAHXZ
-; public: int __cdecl CRestriction::IsValid(void)const  __ptr64
-?IsValid@CRestriction@@QEBAHXZ
-; public: int __cdecl CFilterDaemon::IsWaitingForDocument(void) __ptr64
-?IsWaitingForDocument@CFilterDaemon@@QEAAHXZ
-; public: int __cdecl CDriveInfo::IsWriteProtected(void) __ptr64
-?IsWriteProtected@CDriveInfo@@QEAAHXZ
-; public: void __cdecl CLocalGlobalPropertyList::Load(unsigned short const * __ptr64 const) __ptr64
-?Load@CLocalGlobalPropertyList@@QEAAXQEBG@Z
-; unsigned long __cdecl LocaleToCodepage(unsigned long)
-?LocaleToCodepage@@YAKK@Z
-; private: unsigned long __cdecl CPropertyStore::LokNewWorkId(unsigned long,int,int) __ptr64
-?LokNewWorkId@CPropertyStore@@AEAAKKHH@Z
-; public: int __cdecl CCatStateInfo::LokUpdate(void) __ptr64
-?LokUpdate@CCatStateInfo@@QEAAHXZ
-; public: void __cdecl CPropStoreManager::LongInit(int & __ptr64,unsigned long & __ptr64,void (__cdecl*)(unsigned long,int,void const * __ptr64),void const * __ptr64) __ptr64
-?LongInit@CPropStoreManager@@QEAAXAEAHAEAKP6AXKHPEBX@Z2@Z
-; private: unsigned int __cdecl CPropStoreInfo::Lookup(unsigned long) __ptr64
-?Lookup@CPropStoreInfo@@AEAAIK@Z
-; public: unsigned long __cdecl CSdidLookupTable::LookupSDID(void * __ptr64,unsigned long) __ptr64
-?LookupSDID@CSdidLookupTable@@QEAAKPEAXK@Z
-; public: void __cdecl CPhysStorage::MakeBackupCopy(class CPhysStorage & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64
-?MakeBackupCopy@CPhysStorage@@QEAAXAEAV1@AEAVPSaveProgressTracker@@@Z
-; public: void __cdecl CPidLookupTable::MakeBackupCopy(class PRcovStorageObj & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64
-?MakeBackupCopy@CPidLookupTable@@QEAAXAEAVPRcovStorageObj@@AEAVPSaveProgressTracker@@@Z
-; public: void __cdecl CPropStoreManager::MakeBackupCopy(struct IProgressNotify * __ptr64,int & __ptr64,class CiStorage & __ptr64,struct ICiEnumWorkids * __ptr64,struct IEnumString * __ptr64 * __ptr64) __ptr64
-?MakeBackupCopy@CPropStoreManager@@QEAAXPEAUIProgressNotify@@AEAHAEAVCiStorage@@PEAUICiEnumWorkids@@PEAPEAUIEnumString@@@Z
-; long __cdecl MakeICommand(struct IUnknown * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64)
-?MakeICommand@@YAJPEAPEAUIUnknown@@PEBG1PEAU1@@Z
-; long __cdecl MakeISearch(struct ISearchQueryHits * __ptr64 * __ptr64,class CDbRestriction * __ptr64,unsigned short const * __ptr64)
-?MakeISearch@@YAJPEAPEAUISearchQueryHits@@PEAVCDbRestriction@@PEBG@Z
-; long __cdecl MakeLocalICommand(struct IUnknown * __ptr64 * __ptr64,struct ICiCDocStore * __ptr64,struct IUnknown * __ptr64)
-?MakeLocalICommand@@YAJPEAPEAUIUnknown@@PEAUICiCDocStore@@PEAU1@@Z
-; long __cdecl MakeMetadataICommand(struct IUnknown * __ptr64 * __ptr64,enum CiMetaData,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64)
-?MakeMetadataICommand@@YAJPEAPEAUIUnknown@@W4CiMetaData@@PEBG2PEAU1@@Z
-; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64) __ptr64
-?MakePath@CFullPath@@QEAAXPEBG@Z
-; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64,unsigned int) __ptr64
-?MakePath@CFullPath@@QEAAXPEBGI@Z
-; private: void __cdecl CImpersonateSystem::MakePrivileged(void) __ptr64
-?MakePrivileged@CImpersonateSystem@@AEAAXXZ
-; public: void __cdecl CMmStreamConsecBuf::Map(unsigned long) __ptr64
-?Map@CMmStreamConsecBuf@@QEAAXK@Z
-; public: int __cdecl CDynStream::MarkDirty(void) __ptr64
-?MarkDirty@CDynStream@@QEAAHXZ
-; public: void __cdecl CBaseStorageVariant::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CBaseStorageVariant@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CContentRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CContentRestriction@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CDbCmdTreeNode::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CDbCmdTreeNode@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CFullPropSpec::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CFullPropSpec@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CNatLanguageRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CNatLanguageRestriction@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CNodeRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CNodeRestriction@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CNotRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CNotRestriction@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CPropNameArray::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CPropNameArray@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CPropertyRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CPropertyRestriction@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CRestriction@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CVectorRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
-?Marshall@CVectorRestriction@@QEBAXAEAVPSerStream@@@Z
-; public: int __cdecl CBufferCache::MinPageInUse(unsigned long & __ptr64) __ptr64
-?MinPageInUse@CBufferCache@@QEAAHAEAK@Z
-; public: int __cdecl CPhysStorage::MinPageInUse(unsigned long & __ptr64) __ptr64
-?MinPageInUse@CPhysStorage@@QEAAHAEAK@Z
-; unsigned long __cdecl MultiByteToXArrayWideChar(unsigned char const * __ptr64,unsigned long,unsigned int,class XArray<unsigned short> & __ptr64)
-?MultiByteToXArrayWideChar@@YAKPEBEKIAEAV?$XArray@G@@@Z
-; unsigned __int64 __cdecl My_wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int)
-?My_wcstoui64@@YA_KPEBGPEAPEAGH@Z
-; public: unsigned long __cdecl CPidRemapper::NameToReal(class CFullPropSpec const * __ptr64) __ptr64
-?NameToReal@CPidRemapper@@QEAAKPEBVCFullPropSpec@@@Z
-; public: static struct IStemmer * __ptr64 __cdecl CCiOle::NewStemmer(struct _GUID const & __ptr64)
-?NewStemmer@CCiOle@@SAPEAUIStemmer@@AEBU_GUID@@@Z
-; public: static struct IWordBreaker * __ptr64 __cdecl CCiOle::NewWordBreaker(struct _GUID const & __ptr64)
-?NewWordBreaker@CCiOle@@SAPEAUIWordBreaker@@AEBU_GUID@@@Z
-; public: int __cdecl CCatalogEnum::Next(void) __ptr64
-?Next@CCatalogEnum@@QEAAHXZ
-; public: virtual long __cdecl CEnumString::Next(unsigned long,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Next@CEnumString@@UEAAJKPEAPEAGPEAK@Z
-; public: virtual long __cdecl CEnumWorkid::Next(unsigned long,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?Next@CEnumWorkid@@UEAAJKPEAK0@Z
-; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Next(void) __ptr64
-?Next@CPropertyList@@UEAAPEBVCPropEntry@@XZ
-; public: int __cdecl CScopeEnum::Next(void) __ptr64
-?Next@CScopeEnum@@QEAAHXZ
-; public: unsigned long __cdecl CPropertyStoreWids::NextWorkId(void) __ptr64
-?NextWorkId@CPropertyStoreWids@@QEAAKXZ
-; public: unsigned int __cdecl CCatState::NumberOfColumns(void)const  __ptr64
-?NumberOfColumns@CCatState@@QEBAIXZ
-; public: unsigned int __cdecl CCatState::NumberOfSortProps(void)const  __ptr64
-?NumberOfSortProps@CCatState@@QEBAIXZ
-; public: void __cdecl CMmStream::Open(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64
-?Open@CMmStream@@QEAAXPEBGKKKKH@Z
-; public: int __cdecl COLEPropManager::Open(class CFunnyPath const & __ptr64) __ptr64
-?Open@COLEPropManager@@QEAAHAEBVCFunnyPath@@@Z
-; public: void __cdecl CMmStream::OpenExclusive(unsigned short * __ptr64,int) __ptr64
-?OpenExclusive@CMmStream@@QEAAXPEAGH@Z
-; struct _iobuf * __ptr64 __cdecl OpenFileFromPath(unsigned short const * __ptr64)
-?OpenFileFromPath@@YAPEAU_iobuf@@PEBG@Z
-; public: class CCompositePropRecord * __ptr64 __cdecl CPropStoreManager::OpenRecord(unsigned long,unsigned char * __ptr64) __ptr64
-?OpenRecord@CPropStoreManager@@QEAAPEAVCCompositePropRecord@@KPEAE@Z
-; public: class CCompositePropRecordForWrites * __ptr64 __cdecl CPropStoreManager::OpenRecordForWrites(unsigned long,unsigned char * __ptr64) __ptr64
-?OpenRecordForWrites@CPropStoreManager@@QEAAPEAVCCompositePropRecordForWrites@@KPEAE@Z
-; long __cdecl ParseCatalogURL(unsigned short const * __ptr64,class XPtrST<unsigned short> & __ptr64,class XPtrST<unsigned short> & __ptr64)
-?ParseCatalogURL@@YAJPEBGAEAV?$XPtrST@G@@1@Z
-; public: class CRestriction * __ptr64 __cdecl CParseCommandTree::ParseExpression(class CDbCmdTreeNode * __ptr64) __ptr64
-?ParseExpression@CParseCommandTree@@QEAAPEAVCRestriction@@PEAVCDbCmdTreeNode@@@Z
-; public: static void __cdecl CPropertyList::ParseOneLine(class CQueryScanner & __ptr64,int,class XPtr<class CPropEntry> & __ptr64)
-?ParseOneLine@CPropertyList@@SAXAEAVCQueryScanner@@HAEAV?$XPtr@VCPropEntry@@@@@Z
-; public: class CDbRestriction * __ptr64 __cdecl CQueryParser::ParseQueryPhrase(void) __ptr64
-?ParseQueryPhrase@CQueryParser@@QEAAPEAVCDbRestriction@@XZ
-; class CDbColumns * __ptr64 __cdecl ParseStringColumns(unsigned short const * __ptr64,struct IColumnMapper * __ptr64,unsigned long,class PVariableSet * __ptr64,class CDynArray<unsigned short> * __ptr64)
-?ParseStringColumns@@YAPEAVCDbColumns@@PEBGPEAUIColumnMapper@@KPEAVPVariableSet@@PEAV?$CDynArray@G@@@Z
-; public: int __cdecl CCatalogAdmin::Pause(void) __ptr64
-?Pause@CCatalogAdmin@@QEAAHXZ
-; public: int __cdecl CMachineAdmin::PauseCI(void) __ptr64
-?PauseCI@CMachineAdmin@@QEAAHXZ
-; public: virtual unsigned long __cdecl CMemDeSerStream::PeekULong(void) __ptr64
-?PeekULong@CMemDeSerStream@@UEAAKXZ
-; public: unsigned long __cdecl CPidMapper::PidToRealPid(unsigned long) __ptr64
-?PidToRealPid@CPidMapper@@QEAAKK@Z
-; public: unsigned long __cdecl CStandardPropMapper::PropertyToPropId(class CFullPropSpec const & __ptr64,int) __ptr64
-?PropertyToPropId@CStandardPropMapper@@QEAAKAEBVCFullPropSpec@@H@Z
-; public: virtual long __cdecl CFwPropertyMapper::PropertyToPropid(struct tagFULLPROPSPEC const * __ptr64,int,unsigned long * __ptr64) __ptr64
-?PropertyToPropid@CFwPropertyMapper@@UEAAJPEBUtagFULLPROPSPEC@@HPEAK@Z
-; public: void __cdecl CValueNormalizer::PutMaxValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64
-?PutMaxValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z
-; public: void __cdecl CValueNormalizer::PutMinValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64
-?PutMinValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z
-; public: void __cdecl CValueNormalizer::PutValue(unsigned long,unsigned long & __ptr64,class CStorageVariant const & __ptr64) __ptr64
-?PutValue@CValueNormalizer@@QEAAXKAEAKAEBVCStorageVariant@@@Z
-; void __cdecl PutWString(class PSerStream & __ptr64,unsigned short const * __ptr64)
-?PutWString@@YAXAEAVPSerStream@@PEBG@Z
-; private: class CDbRestriction * __ptr64 __cdecl CQueryParser::Query(class CDbNodeRestriction * __ptr64) __ptr64
-?Query@CQueryParser@@AEAAPEAVCDbRestriction@@PEAVCDbNodeRestriction@@@Z
-; public: class CCatalogAdmin * __ptr64 __cdecl CCatalogEnum::QueryCatalogAdmin(void) __ptr64
-?QueryCatalogAdmin@CCatalogEnum@@QEAAPEAVCCatalogAdmin@@XZ
-; public: class CCatalogAdmin * __ptr64 __cdecl CMachineAdmin::QueryCatalogAdmin(unsigned short const * __ptr64) __ptr64
-?QueryCatalogAdmin@CMachineAdmin@@QEAAPEAVCCatalogAdmin@@PEBG@Z
-; public: class CCatalogEnum * __ptr64 __cdecl CMachineAdmin::QueryCatalogEnum(void) __ptr64
-?QueryCatalogEnum@CMachineAdmin@@QEAAPEAVCCatalogEnum@@XZ
-; public: virtual long __cdecl CDbProperties::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CDbProperties@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CEmptyPropertyList::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CEmptyPropertyList@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CEnumString::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CEnumString@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CEnumWorkid::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CEnumWorkid@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CFwPropertyMapper::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CFwPropertyMapper@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CQueryUnknown::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CQueryUnknown@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryPidLookupTable(unsigned long) __ptr64
-?QueryPidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
-; public: class CScopeAdmin * __ptr64 __cdecl CCatalogAdmin::QueryScopeAdmin(unsigned short const * __ptr64) __ptr64
-?QueryScopeAdmin@CCatalogAdmin@@QEAAPEAVCScopeAdmin@@PEBG@Z
-; public: class CScopeAdmin * __ptr64 __cdecl CScopeEnum::QueryScopeAdmin(void) __ptr64
-?QueryScopeAdmin@CScopeEnum@@QEAAPEAVCScopeAdmin@@XZ
-; public: class CScopeEnum * __ptr64 __cdecl CCatalogAdmin::QueryScopeEnum(void) __ptr64
-?QueryScopeEnum@CCatalogAdmin@@QEAAPEAVCScopeEnum@@XZ
-; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryScopeList(unsigned long) __ptr64
-?QueryScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
-; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QuerySdidLookupTable(unsigned long) __ptr64
-?QuerySdidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
-; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryVirtualScopeList(unsigned long) __ptr64
-?QueryVirtualScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
-; public: void __cdecl CPidRemapper::ReBuild(class CPidMapper const & __ptr64) __ptr64
-?ReBuild@CPidRemapper@@QEAAXAEBVCPidMapper@@@Z
-; public: void __cdecl CQueryUnknown::ReInit(unsigned long,class CRowset * __ptr64 * __ptr64) __ptr64
-?ReInit@CQueryUnknown@@QEAAXKPEAPEAVCRowset@@@Z
-; public: void __cdecl CImpersonationTokenCache::ReInitializeIISScopes(void) __ptr64
-?ReInitializeIISScopes@CImpersonationTokenCache@@QEAAXXZ
-; private: virtual void __cdecl CPhysIndex::ReOpenStream(void) __ptr64
-?ReOpenStream@CPhysIndex@@EEAAXXZ
-; public: unsigned long __cdecl CDynStream::Read(void * __ptr64,unsigned long) __ptr64
-?Read@CDynStream@@QEAAKPEAXK@Z
-; public: unsigned long __cdecl CRcovStrmTrans::Read(void * __ptr64,unsigned long) __ptr64
-?Read@CRcovStrmTrans@@QEAAKPEAXK@Z
-; public: unsigned long __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned long) __ptr64
-?Read@CRegAccess@@QEAAKPEBGK@Z
-; public: unsigned short * __ptr64 __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?Read@CRegAccess@@QEAAPEAGPEBG0@Z
-; public: int __cdecl CPropStoreManager::ReadPrimaryProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
-?ReadPrimaryProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z
-; public: int __cdecl COLEPropManager::ReadProperty(class CFullPropSpec const & __ptr64,struct tagPROPVARIANT & __ptr64) __ptr64
-?ReadProperty@COLEPropManager@@QEAAHAEBVCFullPropSpec@@AEAUtagPROPVARIANT@@@Z
-; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
-?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@@Z
-; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64
-?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@PEAEPEAI@Z
-; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
-?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KPEAUtagPROPVARIANT@@PEAI@Z
-; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
-?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z
-; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64
-?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@PEAEPEAI@Z
-; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
-?ReadProperty@CPropStoreManager@@QEAAHKKPEAUtagPROPVARIANT@@PEAI@Z
-; public: int __cdecl CPropertyStore::ReadProperty(class CPropRecordNoLock & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
-?ReadProperty@CPropertyStore@@QEAAHAEAVCPropRecordNoLock@@KPEAUtagPROPVARIANT@@PEAI@Z
-; public: int __cdecl CPropertyStore::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
-?ReadProperty@CPropertyStore@@QEAAHKKAEAUtagPROPVARIANT@@@Z
-; public: unsigned char __cdecl CDFA::Recognize(unsigned short const * __ptr64) __ptr64
-?Recognize@CDFA@@QEAAEPEBG@Z
-; public: void __cdecl CCiRegParams::Refresh(struct ICiAdminParams * __ptr64,int) __ptr64
-?Refresh@CCiRegParams@@QEAAXPEAUICiAdminParams@@H@Z
-; public: void __cdecl CDefColumnRegEntry::Refresh(int) __ptr64
-?Refresh@CDefColumnRegEntry@@QEAAXH@Z
-; public: void __cdecl CWorkQueue::RefreshParams(unsigned long,unsigned long) __ptr64
-?RefreshParams@CWorkQueue@@QEAAXKK@Z
-; public: virtual unsigned long __cdecl CDbProperties::Release(void) __ptr64
-?Release@CDbProperties@@UEAAKXZ
-; public: virtual unsigned long __cdecl CEmptyPropertyList::Release(void) __ptr64
-?Release@CEmptyPropertyList@@UEAAKXZ
-; public: virtual unsigned long __cdecl CEnumString::Release(void) __ptr64
-?Release@CEnumString@@UEAAKXZ
-; public: virtual unsigned long __cdecl CEnumWorkid::Release(void) __ptr64
-?Release@CEnumWorkid@@UEAAKXZ
-; public: virtual unsigned long __cdecl CFwPropertyMapper::Release(void) __ptr64
-?Release@CFwPropertyMapper@@UEAAKXZ
-; public: void __cdecl CImpersonateRemoteAccess::Release(void) __ptr64
-?Release@CImpersonateRemoteAccess@@QEAAXXZ
-; public: virtual unsigned long __cdecl CQueryUnknown::Release(void) __ptr64
-?Release@CQueryUnknown@@UEAAKXZ
-; public: void __cdecl CWorkQueue::Release(class CWorkThread * __ptr64) __ptr64
-?Release@CWorkQueue@@QEAAXPEAVCWorkThread@@@Z
-; private: void __cdecl CPropertyStore::ReleaseRead(class CReadWriteLockRecord & __ptr64) __ptr64
-?ReleaseRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z
-; public: void __cdecl CWorkQueue::ReleaseWorkThreads(void) __ptr64
-?ReleaseWorkThreads@CWorkQueue@@QEAAXXZ
-; public: void __cdecl CColumns::Remove(unsigned int) __ptr64
-?Remove@CColumns@@QEAAXI@Z
-; public: void __cdecl CDbSortSet::Remove(unsigned int) __ptr64
-?Remove@CDbSortSet@@QEAAXI@Z
-; public: void __cdecl CSort::Remove(unsigned int) __ptr64
-?Remove@CSort@@QEAAXI@Z
-; private: void __cdecl CWorkQueue::Remove(class CWorkThread & __ptr64) __ptr64
-?Remove@CWorkQueue@@AEAAXAEAVCWorkThread@@@Z
-; public: void __cdecl CWorkQueue::Remove(class PWorkItem * __ptr64) __ptr64
-?Remove@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z
-; public: void __cdecl CMachineAdmin::RemoveCatalog(unsigned short const * __ptr64,int) __ptr64
-?RemoveCatalog@CMachineAdmin@@QEAAXPEBGH@Z
-; public: void __cdecl CMachineAdmin::RemoveCatalogFiles(unsigned short const * __ptr64) __ptr64
-?RemoveCatalogFiles@CMachineAdmin@@QEAAXPEBG@Z
-; public: class CRestriction * __ptr64 __cdecl CNodeRestriction::RemoveChild(unsigned int) __ptr64
-?RemoveChild@CNodeRestriction@@QEAAPEAVCRestriction@@I@Z
-; protected: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::RemoveFirstChild(void) __ptr64
-?RemoveFirstChild@CDbCmdTreeNode@@IEAAPEAV1@XZ
-; public: void __cdecl CCatalogAdmin::RemoveScope(unsigned short const * __ptr64) __ptr64
-?RemoveScope@CCatalogAdmin@@QEAAXPEBG@Z
-; public: void __cdecl CPhysStorage::Reopen(int) __ptr64
-?Reopen@CPhysStorage@@QEAAXH@Z
-; public: void __cdecl CEventLog::ReportEventW(class CEventItem & __ptr64) __ptr64
-?ReportEventW@CEventLog@@QEAAXAEAVCEventItem@@@Z
-; public: void __cdecl CFwEventItem::ReportEventW(struct ICiCAdviseStatus & __ptr64) __ptr64
-?ReportEventW@CFwEventItem@@QEAAXAEAUICiCAdviseStatus@@@Z
-; public: int __cdecl CPhysStorage::RequiresFlush(unsigned long) __ptr64
-?RequiresFlush@CPhysStorage@@QEAAHK@Z
-; public: void __cdecl CRegChangeEvent::Reset(void) __ptr64
-?Reset@CRegChangeEvent@@QEAAXXZ
-; public: void __cdecl CQueryScanner::ResetBuffer(unsigned short const * __ptr64) __ptr64
-?ResetBuffer@CQueryScanner@@QEAAXPEBG@Z
-; protected: void __cdecl CAllocStorageVariant::ResetType(class PMemoryAllocator & __ptr64) __ptr64
-?ResetType@CAllocStorageVariant@@IEAAXAEAVPMemoryAllocator@@@Z
-; public: void __cdecl CProcess::Resume(void) __ptr64
-?Resume@CProcess@@QEAAXXZ
-; public: void __cdecl CPhysStorage::ReturnBuffer(unsigned long,int,int) __ptr64
-?ReturnBuffer@CPhysStorage@@QEAAXKHH@Z
-; public: void __cdecl CMmStreamConsecBuf::Rewind(void) __ptr64
-?Rewind@CMmStreamConsecBuf@@QEAAXXZ
-; unsigned long __cdecl SaComputeSize(unsigned short,struct tagSAFEARRAY & __ptr64)
-?SaComputeSize@@YAKGAEAUtagSAFEARRAY@@@Z
-; int __cdecl SaCreateAndCopy(class PMemoryAllocator & __ptr64,struct tagSAFEARRAY * __ptr64,struct tagSAFEARRAY * __ptr64 * __ptr64)
-?SaCreateAndCopy@@YAHAEAVPMemoryAllocator@@PEAUtagSAFEARRAY@@PEAPEAU2@@Z
-; int __cdecl SaCreateData(class PVarAllocator & __ptr64,unsigned short,struct tagSAFEARRAY & __ptr64,struct tagSAFEARRAY & __ptr64,int)
-?SaCreateData@@YAHAEAVPVarAllocator@@GAEAUtagSAFEARRAY@@1H@Z
-; public: int __cdecl CRcovStrmTrans::Seek(unsigned long) __ptr64
-?Seek@CRcovStrmTrans@@QEAAHK@Z
-; public: void __cdecl CDbQueryResults::Serialize(class PSerStream & __ptr64)const  __ptr64
-?Serialize@CDbQueryResults@@QEBAXAEAVPSerStream@@@Z
-; public: void __cdecl CPidRemapper::Set(class XArray<unsigned long> & __ptr64) __ptr64
-?Set@CPidRemapper@@QEAAXAEAV?$XArray@K@@@Z
-; public: void __cdecl CScopeAdmin::SetAlias(unsigned short const * __ptr64) __ptr64
-?SetAlias@CScopeAdmin@@QEAAXPEBG@Z
-; public: void __cdecl CStorageVariant::SetBOOL(short,unsigned int) __ptr64
-?SetBOOL@CStorageVariant@@QEAAXFI@Z
-; public: void __cdecl CAllocStorageVariant::SetBSTR(unsigned short * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
-?SetBSTR@CAllocStorageVariant@@QEAAXPEAGAEAVPMemoryAllocator@@@Z
-; public: void __cdecl CStorageVariant::SetBSTR(unsigned short * __ptr64,unsigned int) __ptr64
-?SetBSTR@CStorageVariant@@QEAAXPEAGI@Z
-; public: void __cdecl CPropStoreManager::SetBackupSize(unsigned long,unsigned long) __ptr64
-?SetBackupSize@CPropStoreManager@@QEAAXKK@Z
-; public: void __cdecl CCatState::SetCD(unsigned short const * __ptr64) __ptr64
-?SetCD@CCatState@@QEAAXPEBG@Z
-; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID const * __ptr64) __ptr64
-?SetCLSID@CStorageVariant@@QEAAXPEBU_GUID@@@Z
-; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID,unsigned int) __ptr64
-?SetCLSID@CStorageVariant@@QEAAXU_GUID@@I@Z
-; public: void __cdecl CStorageVariant::SetCY(union tagCY,unsigned int) __ptr64
-?SetCY@CStorageVariant@@QEAAXTtagCY@@I@Z
-; public: void __cdecl CCatState::SetCatalog(unsigned short const * __ptr64) __ptr64
-?SetCatalog@CCatState@@QEAAXPEBG@Z
-; public: void __cdecl CCatState::SetColumn(unsigned short const * __ptr64,unsigned int) __ptr64
-?SetColumn@CCatState@@QEAAXPEBGI@Z
-; private: void __cdecl CQueryParser::SetCurrentProperty(unsigned short const * __ptr64,enum PropertyType) __ptr64
-?SetCurrentProperty@CQueryParser@@AEAAXPEBGW4PropertyType@@@Z
-; public: void __cdecl CStorageVariant::SetDATE(double,unsigned int) __ptr64
-?SetDATE@CStorageVariant@@QEAAXNI@Z
-; public: void __cdecl CCatalogAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64
-?SetDWORDParam@CCatalogAdmin@@QEAAXPEBGK@Z
-; public: void __cdecl CMachineAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64
-?SetDWORDParam@CMachineAdmin@@QEAAXPEBGK@Z
-; public: void __cdecl CCatState::SetDefaultProperty(unsigned short const * __ptr64) __ptr64
-?SetDefaultProperty@CCatState@@QEAAXPEBG@Z
-; public: void __cdecl CScopeAdmin::SetExclude(int) __ptr64
-?SetExclude@CScopeAdmin@@QEAAXH@Z
-; public: void __cdecl CStorageVariant::SetFILETIME(struct _FILETIME,unsigned int) __ptr64
-?SetFILETIME@CStorageVariant@@QEAAXU_FILETIME@@I@Z
-; public: void __cdecl CStorageVariant::SetI2(short,unsigned int) __ptr64
-?SetI2@CStorageVariant@@QEAAXFI@Z
-; public: void __cdecl CStorageVariant::SetI4(long,unsigned int) __ptr64
-?SetI4@CStorageVariant@@QEAAXJI@Z
-; public: void __cdecl CStorageVariant::SetI8(union _LARGE_INTEGER,unsigned int) __ptr64
-?SetI8@CStorageVariant@@QEAAXT_LARGE_INTEGER@@I@Z
-; public: void __cdecl CStorageVariant::SetLPSTR(char const * __ptr64,unsigned int) __ptr64
-?SetLPSTR@CStorageVariant@@QEAAXPEBDI@Z
-; public: void __cdecl CStorageVariant::SetLPWSTR(unsigned short const * __ptr64,unsigned int) __ptr64
-?SetLPWSTR@CStorageVariant@@QEAAXPEBGI@Z
-; public: void __cdecl CCatState::SetLocale(unsigned short const * __ptr64) __ptr64
-?SetLocale@CCatState@@QEAAXPEBG@Z
-; public: void __cdecl CScopeAdmin::SetLogonInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,class CCatalogAdmin & __ptr64) __ptr64
-?SetLogonInfo@CScopeAdmin@@QEAAXPEBG0AEAVCCatalogAdmin@@@Z
-; public: void __cdecl CPropStoreManager::SetMappedCacheSize(unsigned long,unsigned long) __ptr64
-?SetMappedCacheSize@CPropStoreManager@@QEAAXKK@Z
-; public: void __cdecl CCatState::SetNumberOfColumns(unsigned int) __ptr64
-?SetNumberOfColumns@CCatState@@QEAAXI@Z
-; public: void __cdecl CCatState::SetNumberOfSortProps(unsigned int) __ptr64
-?SetNumberOfSortProps@CCatState@@QEAAXI@Z
-; public: void __cdecl CScopeAdmin::SetPath(unsigned short const * __ptr64) __ptr64
-?SetPath@CScopeAdmin@@QEAAXPEBG@Z
-; public: void __cdecl CContentRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64
-?SetPhrase@CContentRestriction@@QEAAXPEBG@Z
-; public: void __cdecl CNatLanguageRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64
-?SetPhrase@CNatLanguageRestriction@@QEAAXPEBG@Z
-; public: void __cdecl CGenericCiProxy::SetPriority(unsigned long,unsigned long) __ptr64
-?SetPriority@CGenericCiProxy@@QEAAXKK@Z
-; public: virtual long __cdecl CDbProperties::SetProperties(unsigned long,struct tagDBPROPSET * __ptr64 const) __ptr64
-?SetProperties@CDbProperties@@UEAAJKQEAUtagDBPROPSET@@@Z
-; public: int __cdecl CDbColId::SetProperty(unsigned short const * __ptr64) __ptr64
-?SetProperty@CDbColId@@QEAAHPEBG@Z
-; public: int __cdecl CDbPropBaseRestriction::SetProperty(struct tagDBID const & __ptr64) __ptr64
-?SetProperty@CDbPropBaseRestriction@@QEAAHAEBUtagDBID@@@Z
-; public: int __cdecl CDbPropBaseRestriction::SetProperty(class CDbColumnNode const & __ptr64) __ptr64
-?SetProperty@CDbPropBaseRestriction@@QEAAHAEBVCDbColumnNode@@@Z
-; public: int __cdecl CFullPropSpec::SetProperty(unsigned short const * __ptr64) __ptr64
-?SetProperty@CFullPropSpec@@QEAAHPEBG@Z
-; public: void __cdecl CFullPropSpec::SetProperty(unsigned long) __ptr64
-?SetProperty@CFullPropSpec@@QEAAXK@Z
-; public: void __cdecl CStorageVariant::SetR4(float,unsigned int) __ptr64
-?SetR4@CStorageVariant@@QEAAXMI@Z
-; public: void __cdecl CStorageVariant::SetR8(double,unsigned int) __ptr64
-?SetR8@CStorageVariant@@QEAAXNI@Z
-; public: int __cdecl CDbSelectNode::SetRestriction(class CDbCmdTreeNode * __ptr64) __ptr64
-?SetRestriction@CDbSelectNode@@QEAAHPEAVCDbCmdTreeNode@@@Z
-; public: static void __cdecl CImpersonateSystem::SetRunningAsSystem(void)
-?SetRunningAsSystem@CImpersonateSystem@@SAXXZ
-; public: void __cdecl CMachineAdmin::SetSZParam(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-?SetSZParam@CMachineAdmin@@QEAAXPEBG0K@Z
-; void __cdecl SetScopeProperties(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64)
-?SetScopeProperties@@YAXPEAUICommand@@IPEBQEBGPEBK11@Z
-; long __cdecl SetScopePropertiesNoThrow(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64)
-?SetScopePropertiesNoThrow@@YAJPEAUICommand@@IPEBQEBGPEBK11@Z
-; void __cdecl SetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)
-?SetSecret@@YAXPEBG00K@Z
-; public: void __cdecl CCatState::SetSortProp(unsigned short const * __ptr64,enum SORTDIR,unsigned int) __ptr64
-?SetSortProp@CCatState@@QEAAXPEBGW4SORTDIR@@I@Z
-; public: void __cdecl CStorageVariant::SetUI1(unsigned char,unsigned int) __ptr64
-?SetUI1@CStorageVariant@@QEAAXEI@Z
-; public: void __cdecl CStorageVariant::SetUI2(unsigned short,unsigned int) __ptr64
-?SetUI2@CStorageVariant@@QEAAXGI@Z
-; public: void __cdecl CStorageVariant::SetUI4(unsigned long,unsigned int) __ptr64
-?SetUI4@CStorageVariant@@QEAAXKI@Z
-; public: void __cdecl CStorageVariant::SetUI8(union _ULARGE_INTEGER,unsigned int) __ptr64
-?SetUI8@CStorageVariant@@QEAAXT_ULARGE_INTEGER@@I@Z
-; public: void __cdecl CPropertyRestriction::SetValue(struct tagBLOB & __ptr64) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXAEAUtagBLOB@@@Z
-; public: void __cdecl CPropertyRestriction::SetValue(unsigned short * __ptr64) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXPEAG@Z
-; public: void __cdecl CPropertyRestriction::SetValue(struct _GUID * __ptr64) __ptr64
-?SetValue@CPropertyRestriction@@QEAAXPEAU_GUID@@@Z
-; public: void __cdecl CDbCmdTreeNode::SetWeight(long) __ptr64
-?SetWeight@CDbCmdTreeNode@@QEAAXJ@Z
-; public: void __cdecl CPropStoreManager::Setup(unsigned long,unsigned long,unsigned long,unsigned __int64,int,unsigned long) __ptr64
-?Setup@CPropStoreManager@@QEAAXKKK_KHK@Z
-; public: void __cdecl CDynStream::Shrink(class PStorage & __ptr64,unsigned long) __ptr64
-?Shrink@CDynStream@@QEAAXAEAVPStorage@@K@Z
-; public: unsigned long __cdecl CPhysStorage::ShrinkFromFront(unsigned long,unsigned long) __ptr64
-?ShrinkFromFront@CPhysStorage@@QEAAKKK@Z
-; public: void __cdecl CPhysStorage::ShrinkToFit(void) __ptr64
-?ShrinkToFit@CPhysStorage@@QEAAXXZ
-; public: static void __cdecl CCiOle::Shutdown(void)
-?Shutdown@CCiOle@@SAXXZ
-; public: void __cdecl CPropStoreManager::Shutdown(void) __ptr64
-?Shutdown@CPropStoreManager@@QEAAXXZ
-; public: void __cdecl CWorkQueue::Shutdown(void) __ptr64
-?Shutdown@CWorkQueue@@QEAAXXZ
-; public: unsigned long __cdecl CDbQueryResults::Size(void) __ptr64
-?Size@CDbQueryResults@@QEAAKXZ
-; public: virtual long __cdecl CEnumString::Skip(unsigned long) __ptr64
-?Skip@CEnumString@@UEAAJK@Z
-; public: virtual long __cdecl CEnumWorkid::Skip(unsigned long) __ptr64
-?Skip@CEnumWorkid@@UEAAJK@Z
-; public: virtual void __cdecl CMemDeSerStream::SkipBlob(unsigned long) __ptr64
-?SkipBlob@CMemDeSerStream@@UEAAXK@Z
-; public: virtual void __cdecl CMemDeSerStream::SkipByte(void) __ptr64
-?SkipByte@CMemDeSerStream@@UEAAXXZ
-; public: virtual void __cdecl CMemDeSerStream::SkipChar(unsigned long) __ptr64
-?SkipChar@CMemDeSerStream@@UEAAXK@Z
-; public: virtual void __cdecl CMemDeSerStream::SkipDouble(void) __ptr64
-?SkipDouble@CMemDeSerStream@@UEAAXXZ
-; public: virtual void __cdecl CMemDeSerStream::SkipFloat(void) __ptr64
-?SkipFloat@CMemDeSerStream@@UEAAXXZ
-; public: virtual void __cdecl CMemDeSerStream::SkipGUID(void) __ptr64
-?SkipGUID@CMemDeSerStream@@UEAAXXZ
-; public: virtual void __cdecl CMemDeSerStream::SkipLong(void) __ptr64
-?SkipLong@CMemDeSerStream@@UEAAXXZ
-; public: virtual void __cdecl CMemDeSerStream::SkipULong(void) __ptr64
-?SkipULong@CMemDeSerStream@@UEAAXXZ
-; public: virtual void __cdecl CMemDeSerStream::SkipUShort(void) __ptr64
-?SkipUShort@CMemDeSerStream@@UEAAXXZ
-; public: virtual void __cdecl CMemDeSerStream::SkipWChar(unsigned long) __ptr64
-?SkipWChar@CMemDeSerStream@@UEAAXK@Z
-; public: int __cdecl CCatalogAdmin::Start(void) __ptr64
-?Start@CCatalogAdmin@@QEAAHXZ
-; public: int __cdecl CMachineAdmin::StartCI(void) __ptr64
-?StartCI@CMachineAdmin@@QEAAHXZ
-; public: int __cdecl CCatalogAdmin::Stop(void) __ptr64
-?Stop@CCatalogAdmin@@QEAAHXZ
-; public: int __cdecl CMachineAdmin::StopCI(void) __ptr64
-?StopCI@CMachineAdmin@@QEAAHXZ
-; public: void __cdecl CFilterDaemon::StopFiltering(void) __ptr64
-?StopFiltering@CFilterDaemon@@QEAAXXZ
-; public: unsigned int __cdecl CKey::StrLen(void)const  __ptr64
-?StrLen@CKey@@QEBAIXZ
-; public: unsigned int __cdecl CKeyBuf::StrLen(void)const  __ptr64
-?StrLen@CKeyBuf@@QEBAIXZ
-; void __cdecl SystemExceptionTranslator(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
-?SystemExceptionTranslator@@YAXIPEAU_EXCEPTION_POINTERS@@@Z
-; public: unsigned long __cdecl CRestriction::TreeCount(void)const  __ptr64
-?TreeCount@CRestriction@@QEBAKXZ
-; public: void __cdecl CMachineAdmin::TunePerformance(int,unsigned short,unsigned short) __ptr64
-?TunePerformance@CMachineAdmin@@QEAAXHGG@Z
-; void __cdecl URLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long,int)
-?URLEscapeW@@YAXPEBGAEAVCVirtualString@@KH@Z
-; public: int __cdecl CDbProperties::UnMarshall(class PDeSerStream & __ptr64) __ptr64
-?UnMarshall@CDbProperties@@QEAAHAEAVPDeSerStream@@@Z
-; public: static class CRestriction * __ptr64 __cdecl CRestriction::UnMarshall(class PDeSerStream & __ptr64)
-?UnMarshall@CRestriction@@SAPEAV1@AEAVPDeSerStream@@@Z
-; public: static class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::UnMarshallTree(class PDeSerStream & __ptr64)
-?UnMarshallTree@CDbCmdTreeNode@@SAPEAV1@AEAVPDeSerStream@@@Z
-; void __cdecl UnPickle(int,class XPtr<class CColumnSet> & __ptr64,class XPtr<class CRestriction> & __ptr64,class XPtr<class CSortSet> & __ptr64,class XPtr<class CCategorizationSet> & __ptr64,class CRowsetProperties & __ptr64,class XPtr<class CPidMapper> & __ptr64,unsigned char * __ptr64,unsigned long)
-?UnPickle@@YAXHAEAV?$XPtr@VCColumnSet@@@@AEAV?$XPtr@VCRestriction@@@@AEAV?$XPtr@VCSortSet@@@@AEAV?$XPtr@VCCategorizationSet@@@@AEAVCRowsetProperties@@AEAV?$XPtr@VCPidMapper@@@@PEAEK@Z
-; protected: void __cdecl CRcovStrmTrans::Unmap(enum CRcovStorageHdr::DataCopyNum) __ptr64
-?Unmap@CRcovStrmTrans@@IEAAXW4DataCopyNum@CRcovStorageHdr@@@Z
-; unsigned long __cdecl UpdateContentIndex(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,int)
-?UpdateContentIndex@@YAKPEBG00H@Z
-; public: void __cdecl CDiskFreeStatus::UpdateDiskLowInfo(void) __ptr64
-?UpdateDiskLowInfo@CDiskFreeStatus@@QEAAXXZ
-; int __cdecl VT_VARIANT_EQ(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
-?VT_VARIANT_EQ@@YAHAEBUtagPROPVARIANT@@0@Z
-; int __cdecl VT_VARIANT_GE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
-?VT_VARIANT_GE@@YAHAEBUtagPROPVARIANT@@0@Z
-; int __cdecl VT_VARIANT_GT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
-?VT_VARIANT_GT@@YAHAEBUtagPROPVARIANT@@0@Z
-; int __cdecl VT_VARIANT_LE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
-?VT_VARIANT_LE@@YAHAEBUtagPROPVARIANT@@0@Z
-; int __cdecl VT_VARIANT_LT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
-?VT_VARIANT_LT@@YAHAEBUtagPROPVARIANT@@0@Z
-; int __cdecl VT_VARIANT_NE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
-?VT_VARIANT_NE@@YAHAEBUtagPROPVARIANT@@0@Z
-; int __cdecl ValidateScopeRestriction(class CRestriction * __ptr64)
-?ValidateScopeRestriction@@YAHPEAVCRestriction@@@Z
-; public: void __cdecl PRcovStorageObj::VerifyConsistency(void) __ptr64
-?VerifyConsistency@PRcovStorageObj@@QEAAXXZ
-; void __cdecl VerifyThreadHasAdminPrivilege(void)
-?VerifyThreadHasAdminPrivilege@@YAXXZ
-; unsigned long __cdecl WideCharToXArrayMultiByte(unsigned short const * __ptr64,unsigned long,unsigned int,class XArray<unsigned char> & __ptr64)
-?WideCharToXArrayMultiByte@@YAKPEBGKIAEAV?$XArray@E@@@Z
-; public: void __cdecl CDynStream::Write(void * __ptr64,unsigned long) __ptr64
-?Write@CDynStream@@QEAAXPEAXK@Z
-; protected: void __cdecl CRcovStrmTrans::Write(void const * __ptr64,unsigned long) __ptr64
-?Write@CRcovStrmTrans@@IEAAXPEBXK@Z
-; public: long __cdecl CPropStoreManager::WritePrimaryProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64
-?WritePrimaryProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z
-; public: long __cdecl CPropStoreManager::WritePrimaryProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64
-?WritePrimaryProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z
-; public: long __cdecl CPropStoreManager::WriteProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64
-?WriteProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z
-; public: long __cdecl CPropStoreManager::WriteProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64
-?WriteProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z
-; public: unsigned long __cdecl CPropStoreManager::WritePropertyInNewRecord(unsigned long,class CStorageVariant const & __ptr64) __ptr64
-?WritePropertyInNewRecord@CPropStoreManager@@QEAAKKAEBVCStorageVariant@@@Z
-; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbNestingNode::_FindGroupListAnchor(void) __ptr64
-?_FindGroupListAnchor@CDbNestingNode@@AEAAPEAVCDbProjectListAnchor@@XZ
-; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbProjectNode::_FindOrAddAnchor(void) __ptr64
-?_FindOrAddAnchor@CDbProjectNode@@AEAAPEAVCDbProjectListAnchor@@XZ
-; private: class CDbSortListAnchor * __ptr64 __cdecl CDbSortNode::_FindOrAddAnchor(void) __ptr64
-?_FindOrAddAnchor@CDbSortNode@@AEAAPEAVCDbSortListAnchor@@XZ
-; private: class CDbScalarValue * __ptr64 __cdecl CDbPropertyRestriction::_FindOrAddValueNode(void) __ptr64
-?_FindOrAddValueNode@CDbPropertyRestriction@@AEAAPEAVCDbScalarValue@@XZ
-; private: int __cdecl CImpersonateRemoteAccess::_ImpersonateIf(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-?_ImpersonateIf@CImpersonateRemoteAccess@@AEAAHPEBG0K@Z
-; unsigned __int64 __cdecl _wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int)
-?_wcstoui64@@YA_KPEBGPEAPEAGH@Z
-; void __cdecl ciDelete(void * __ptr64)
-?ciDelete@@YAXPEAX@Z
-; int __cdecl ciIsValidPointer(void const * __ptr64)
-?ciIsValidPointer@@YAHPEBX@Z
-; void * __ptr64 __cdecl ciNew(unsigned __int64)
-?ciNew@@YAPEAX_K@Z
-; public: unsigned long __cdecl CFileBuffer::fgetsw(class XGrowable<unsigned short,260> & __ptr64) __ptr64
-?fgetsw@CFileBuffer@@QEAAKAEAV?$XGrowable@G$0BAE@@@@Z
-; unsigned short * __ptr64 __cdecl wcsipattern(unsigned short * __ptr64,unsigned short const * __ptr64)
-?wcsipattern@@YAPEAGPEAGPEBG@Z
-AbortMerges
-BeginCacheTransaction
-BindIFilterFromStorage
-BindIFilterFromStream
-CIBuildQueryNode
-CIBuildQueryTree
-CICreateCommand
-CIGetGlobalPropertyList
-CIMakeICommand
-CIRestrictionToFullTree
-CIState
-CITextToFullTree
-CITextToFullTreeEx
-CITextToSelectTree
-CITextToSelectTreeEx
-CiSvcMain
-CollectCIISAPIPerformanceData
-CollectCIPerformanceData
-CollectFILTERPerformanceData
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-DoneCIISAPIPerformanceData
-DoneCIPerformanceData
-DoneFILTERPerformanceData
-EndCacheTransaction
-ForceMasterMerge
-InitializeCIISAPIPerformanceData
-InitializeCIPerformanceData
-InitializeFILTERPerformanceData
-LoadBHIFilter
-LoadBinaryFilter
-LoadIFilter
-LoadIFilterEx
-LoadTextFilter
-LocateCatalogs
-LocateCatalogsA
-LocateCatalogsW
-SetCatalogState
-SetupCache
-SetupCacheEx
-StartFWCiSvcWork
-StopFWCiSvcWork
-SvcEntry_CiSvc
+; 
+; Exports of file query.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY query.dll
+EXPORTS
+; class CCoTaskAllocator  CoTaskAllocator
+?CoTaskAllocator@@3VCCoTaskAllocator@@A DATA
+; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct tagPROPVARIANT & __ptr64,class PMemoryAllocator & __ptr64) __ptr64
+??0CAllocStorageVariant@@QEAA@AEAUtagPROPVARIANT@@AEAVPMemoryAllocator@@@Z
+; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(class PDeSerStream & __ptr64,class PMemoryAllocator & __ptr64) __ptr64
+??0CAllocStorageVariant@@QEAA@AEAVPDeSerStream@@AEAVPMemoryAllocator@@@Z
+; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(char const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
+??0CAllocStorageVariant@@QEAA@PEBDAEAVPMemoryAllocator@@@Z
+; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(unsigned short const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
+??0CAllocStorageVariant@@QEAA@PEBGAEAVPMemoryAllocator@@@Z
+; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct _GUID const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
+??0CAllocStorageVariant@@QEAA@PEBU_GUID@@AEAVPMemoryAllocator@@@Z
+; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(enum VARENUM,unsigned long,class PMemoryAllocator & __ptr64) __ptr64
+??0CAllocStorageVariant@@QEAA@W4VARENUM@@KAEAVPMemoryAllocator@@@Z
+; public: __cdecl CCatState::CCatState(void) __ptr64
+??0CCatState@@QEAA@XZ
+; public: __cdecl CCategorizationSet::CCategorizationSet(class CCategorizationSet const & __ptr64) __ptr64
+??0CCategorizationSet@@QEAA@AEBV0@@Z
+; public: __cdecl CCategorizationSet::CCategorizationSet(unsigned int) __ptr64
+??0CCategorizationSet@@QEAA@I@Z
+; public: __cdecl CCiAdminParams::CCiAdminParams(class CLangList * __ptr64) __ptr64
+??0CCiAdminParams@@QEAA@PEAVCLangList@@@Z
+; public: __cdecl CCiRegParams::CCiRegParams(unsigned short const * __ptr64) __ptr64
+??0CCiRegParams@@QEAA@PEBG@Z
+; public: __cdecl CColumnSet::CColumnSet(unsigned int) __ptr64
+??0CColumnSet@@QEAA@I@Z
+; public: __cdecl CColumns::CColumns(class CColumns const & __ptr64) __ptr64
+??0CColumns@@QEAA@AEBV0@@Z
+; public: __cdecl CColumns::CColumns(unsigned int) __ptr64
+??0CColumns@@QEAA@I@Z
+; public: __cdecl CContentRestriction::CContentRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long,unsigned long) __ptr64
+??0CContentRestriction@@QEAA@PEBGAEBVCFullPropSpec@@KK@Z
+; public: __cdecl CDFA::CDFA(unsigned short const * __ptr64,class CTimeLimit & __ptr64,unsigned char) __ptr64
+??0CDFA@@QEAA@PEBGAEAVCTimeLimit@@E@Z
+; public: __cdecl CDbColId::CDbColId(struct _GUID const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0CDbColId@@QEAA@AEBU_GUID@@PEBG@Z
+; public: __cdecl CDbColId::CDbColId(struct tagDBID const & __ptr64) __ptr64
+??0CDbColId@@QEAA@AEBUtagDBID@@@Z
+; public: __cdecl CDbColId::CDbColId(class CDbColId const & __ptr64) __ptr64
+??0CDbColId@@QEAA@AEBV0@@Z
+; public: __cdecl CDbColId::CDbColId(void) __ptr64
+??0CDbColId@@QEAA@XZ
+; public: __cdecl CDbColumns::CDbColumns(unsigned int) __ptr64
+??0CDbColumns@@QEAA@I@Z
+; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long,unsigned long) __ptr64
+??0CDbContentRestriction@@QEAA@PEBGAEBUtagDBID@@KK@Z
+; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long,unsigned long) __ptr64
+??0CDbContentRestriction@@QEAA@PEBGAEBVCDbColumnNode@@KK@Z
+; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long) __ptr64
+??0CDbNatLangRestriction@@QEAA@PEBGAEBUtagDBID@@K@Z
+; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long) __ptr64
+??0CDbNatLangRestriction@@QEAA@PEBGAEBVCDbColumnNode@@K@Z
+; public: __cdecl CDbQueryResults::CDbQueryResults(void) __ptr64
+??0CDbQueryResults@@QEAA@XZ
+; public: __cdecl CDbSelectNode::CDbSelectNode(void) __ptr64
+??0CDbSelectNode@@QEAA@XZ
+; public: __cdecl CDbSortSet::CDbSortSet(unsigned int) __ptr64
+??0CDbSortSet@@QEAA@I@Z
+; public: __cdecl CDefColumnRegEntry::CDefColumnRegEntry(void) __ptr64
+??0CDefColumnRegEntry@@QEAA@XZ
+; public: __cdecl CDriveInfo::CDriveInfo(unsigned short const * __ptr64,unsigned long) __ptr64
+??0CDriveInfo@@QEAA@PEBGK@Z
+; public: __cdecl CDynStream::CDynStream(class PMmStream * __ptr64) __ptr64
+??0CDynStream@@QEAA@PEAVPMmStream@@@Z
+; public: __cdecl CEventItem::CEventItem(unsigned short,unsigned short,unsigned long,unsigned short,unsigned long,void const * __ptr64) __ptr64
+??0CEventItem@@QEAA@GGKGKPEBX@Z
+; public: __cdecl CEventLog::CEventLog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CEventLog@@QEAA@PEBG0@Z
+; public: __cdecl CException::CException(long) __ptr64
+??0CException@@QEAA@J@Z
+; public: __cdecl CException::CException(void) __ptr64
+??0CException@@QEAA@XZ
+; public: __cdecl CFileBuffer::CFileBuffer(class CFileMapView & __ptr64,unsigned int) __ptr64
+??0CFileBuffer@@QEAA@AEAVCFileMapView@@I@Z
+; public: __cdecl CFileMapView::CFileMapView(unsigned short const * __ptr64) __ptr64
+??0CFileMapView@@QEAA@PEBG@Z
+; public: __cdecl CFilterDaemon::CFilterDaemon(class CiProxy & __ptr64,class CCiFrameworkParams & __ptr64,class CLangList & __ptr64,unsigned char * __ptr64,unsigned long,struct ICiCFilterClient * __ptr64) __ptr64
+??0CFilterDaemon@@QEAA@AEAVCiProxy@@AEAVCCiFrameworkParams@@AEAVCLangList@@PEAEKPEAUICiCFilterClient@@@Z
+; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64) __ptr64
+??0CFullPath@@QEAA@PEBG@Z
+; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64,unsigned int) __ptr64
+??0CFullPath@@QEAA@PEBGI@Z
+; public: __cdecl CFullPropSpec::CFullPropSpec(class PDeSerStream & __ptr64) __ptr64
+??0CFullPropSpec@@QEAA@AEAVPDeSerStream@@@Z
+; public: __cdecl CFullPropSpec::CFullPropSpec(class CFullPropSpec const & __ptr64) __ptr64
+??0CFullPropSpec@@QEAA@AEBV0@@Z
+; public: __cdecl CFullPropSpec::CFullPropSpec(void) __ptr64
+??0CFullPropSpec@@QEAA@XZ
+; public: __cdecl CFwAsyncWorkItem::CFwAsyncWorkItem(class CWorkManager & __ptr64,class CWorkQueue & __ptr64) __ptr64
+??0CFwAsyncWorkItem@@QEAA@AEAVCWorkManager@@AEAVCWorkQueue@@@Z
+; public: __cdecl CFwEventItem::CFwEventItem(unsigned short,unsigned long,unsigned short,unsigned long,void * __ptr64) __ptr64
+??0CFwEventItem@@QEAA@GKGKPEAX@Z
+; public: __cdecl CGenericCiProxy::CGenericCiProxy(class CSharedNameGen & __ptr64,unsigned long,unsigned long) __ptr64
+??0CGenericCiProxy@@QEAA@AEAVCSharedNameGen@@KK@Z
+; public: __cdecl CGetDbProps::CGetDbProps(void) __ptr64
+??0CGetDbProps@@QEAA@XZ
+; public: __cdecl CImpersonateRemoteAccess::CImpersonateRemoteAccess(class CImpersonationTokenCache * __ptr64) __ptr64
+??0CImpersonateRemoteAccess@@QEAA@PEAVCImpersonationTokenCache@@@Z
+; public: __cdecl CImpersonationTokenCache::CImpersonationTokenCache(unsigned short const * __ptr64) __ptr64
+??0CImpersonationTokenCache@@QEAA@PEBG@Z
+; public: __cdecl CIndexTable::CIndexTable(class CiStorage & __ptr64,class CTransaction & __ptr64) __ptr64
+??0CIndexTable@@QEAA@AEAVCiStorage@@AEAVCTransaction@@@Z
+; public: __cdecl CInternalPropertyRestriction::CInternalPropertyRestriction(unsigned long,unsigned long,class CStorageVariant const & __ptr64,class CRestriction * __ptr64) __ptr64
+??0CInternalPropertyRestriction@@QEAA@KKAEBVCStorageVariant@@PEAVCRestriction@@@Z
+; public: __cdecl CKeyArray::CKeyArray(int,int) __ptr64
+??0CKeyArray@@QEAA@HH@Z
+; public: __cdecl CLangList::CLangList(struct ICiCLangRes * __ptr64,unsigned long) __ptr64
+??0CLangList@@QEAA@PEAUICiCLangRes@@K@Z
+; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(unsigned long) __ptr64
+??0CLocalGlobalPropertyList@@QEAA@K@Z
+; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64
+??0CLocalGlobalPropertyList@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z
+; public: __cdecl CMachineAdmin::CMachineAdmin(unsigned short const * __ptr64,int) __ptr64
+??0CMachineAdmin@@QEAA@PEBGH@Z
+; public: __cdecl CMemSerStream::CMemSerStream(unsigned int) __ptr64
+??0CMemSerStream@@QEAA@I@Z
+; public: __cdecl CMemSerStream::CMemSerStream(unsigned char * __ptr64,unsigned long) __ptr64
+??0CMemSerStream@@QEAA@PEAEK@Z
+; public: __cdecl CMetaDataMgr::CMetaDataMgr(int,enum CiVRootTypeEnum,unsigned long,unsigned short const * __ptr64) __ptr64
+??0CMetaDataMgr@@QEAA@HW4CiVRootTypeEnum@@KPEBG@Z
+; public: __cdecl CMmStream::CMmStream(unsigned long,int) __ptr64
+??0CMmStream@@QEAA@KH@Z
+; public: __cdecl CMmStreamConsecBuf::CMmStreamConsecBuf(void) __ptr64
+??0CMmStreamConsecBuf@@QEAA@XZ
+; public: __cdecl CNatLanguageRestriction::CNatLanguageRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long) __ptr64
+??0CNatLanguageRestriction@@QEAA@PEBGAEBVCFullPropSpec@@K@Z
+; public: __cdecl CNodeRestriction::CNodeRestriction(unsigned long,unsigned int) __ptr64
+??0CNodeRestriction@@QEAA@KI@Z
+; public: __cdecl CNormalizer::CNormalizer(class PNoiseList & __ptr64) __ptr64
+??0CNormalizer@@QEAA@AEAVPNoiseList@@@Z
+; public: __cdecl CPathParser::CPathParser(unsigned short const * __ptr64,unsigned long) __ptr64
+??0CPathParser@@QEAA@PEBGK@Z
+; public: __cdecl CPerfMon::CPerfMon(unsigned short const * __ptr64) __ptr64
+??0CPerfMon@@QEAA@PEBG@Z
+; public: __cdecl CPersDeComp::CPersDeComp(class PDirectory & __ptr64,unsigned long,class CPhysIndex & __ptr64,unsigned long,int,int) __ptr64
+??0CPersDeComp@@QEAA@AEAVPDirectory@@KAEAVCPhysIndex@@KHH@Z
+; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,unsigned int,class PMmStream * __ptr64,int,unsigned int,int) __ptr64
+??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KIPEAVPMmStream@@HIH@Z
+; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,class PMmStream * __ptr64,enum CPhysStorage::EOpenMode,int,unsigned int,int) __ptr64
+??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KPEAVPMmStream@@W4EOpenMode@1@HIH@Z
+; public: __cdecl CPidLookupTable::CPidLookupTable(void) __ptr64
+??0CPidLookupTable@@QEAA@XZ
+; public: __cdecl CPidRemapper::CPidRemapper(class XInterface<struct IPropertyMapper> & __ptr64) __ptr64
+??0CPidRemapper@@QEAA@AEAV?$XInterface@UIPropertyMapper@@@@@Z
+; public: __cdecl CPidRemapper::CPidRemapper(class CPidMapper const & __ptr64,class XInterface<struct IPropertyMapper> & __ptr64,class CRestriction * __ptr64,class CColumnSet * __ptr64,class CSortSet * __ptr64) __ptr64
+??0CPidRemapper@@QEAA@AEBVCPidMapper@@AEAV?$XInterface@UIPropertyMapper@@@@PEAVCRestriction@@PEAVCColumnSet@@PEAVCSortSet@@@Z
+; public: __cdecl CPropListFile::CPropListFile(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64
+??0CPropListFile@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z
+; public: __cdecl CPropNameArray::CPropNameArray(class PDeSerStream & __ptr64) __ptr64
+??0CPropNameArray@@QEAA@AEAVPDeSerStream@@@Z
+; public: __cdecl CPropNameArray::CPropNameArray(unsigned int) __ptr64
+??0CPropNameArray@@QEAA@I@Z
+; public: __cdecl CPropStoreManager::CPropStoreManager(unsigned long) __ptr64
+??0CPropStoreManager@@QEAA@K@Z
+; public: __cdecl CPropertyRestriction::CPropertyRestriction(unsigned long,class CFullPropSpec const & __ptr64,class CStorageVariant const & __ptr64) __ptr64
+??0CPropertyRestriction@@QEAA@KAEBVCFullPropSpec@@AEBVCStorageVariant@@@Z
+; public: __cdecl CPropertyRestriction::CPropertyRestriction(void) __ptr64
+??0CPropertyRestriction@@QEAA@XZ
+; public: __cdecl CPropertyStoreWids::CPropertyStoreWids(class CPropStoreManager & __ptr64) __ptr64
+??0CPropertyStoreWids@@QEAA@AEAVCPropStoreManager@@@Z
+; public: __cdecl CPropertyValueParser::CPropertyValueParser(class CQueryScanner & __ptr64,unsigned short,unsigned long) __ptr64
+??0CPropertyValueParser@@QEAA@AEAVCQueryScanner@@GK@Z
+; public: __cdecl CQueryScanner::CQueryScanner(unsigned short const * __ptr64,int,unsigned long,int) __ptr64
+??0CQueryScanner@@QEAA@PEBGHKH@Z
+; public: __cdecl CRangeKeyRepository::CRangeKeyRepository(void) __ptr64
+??0CRangeKeyRepository@@QEAA@XZ
+; public: __cdecl CRcovStrmAppendTrans::CRcovStrmAppendTrans(class PRcovStorageObj & __ptr64) __ptr64
+??0CRcovStrmAppendTrans@@QEAA@AEAVPRcovStorageObj@@@Z
+; public: __cdecl CRcovStrmMDTrans::CRcovStrmMDTrans(class PRcovStorageObj & __ptr64,enum CRcovStrmMDTrans::MDOp,unsigned long) __ptr64
+??0CRcovStrmMDTrans@@QEAA@AEAVPRcovStorageObj@@W4MDOp@0@K@Z
+; protected: __cdecl CRcovStrmTrans::CRcovStrmTrans(class PRcovStorageObj & __ptr64,enum RcovOpType) __ptr64
+??0CRcovStrmTrans@@IEAA@AEAVPRcovStorageObj@@W4RcovOpType@@@Z
+; public: __cdecl CRegAccess::CRegAccess(unsigned long,unsigned short const * __ptr64) __ptr64
+??0CRegAccess@@QEAA@KPEBG@Z
+; public: __cdecl CRegChangeEvent::CRegChangeEvent(unsigned short const * __ptr64,int) __ptr64
+??0CRegChangeEvent@@QEAA@PEBGH@Z
+; public: __cdecl CRegNotify::CRegNotify(unsigned short const * __ptr64) __ptr64
+??0CRegNotify@@QEAA@PEBG@Z
+; public: __cdecl CRequestClient::CRequestClient(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64
+??0CRequestClient@@QEAA@PEBGPEAUIDBProperties@@@Z
+; public: __cdecl CRequestQueue::CRequestQueue(unsigned int,unsigned int,unsigned int,int,unsigned int,unsigned int,struct _GUID const & __ptr64) __ptr64
+??0CRequestQueue@@QEAA@IIIHIIAEBU_GUID@@@Z
+; public: __cdecl CScopeRestriction::CScopeRestriction(unsigned short const * __ptr64,int,int) __ptr64
+??0CScopeRestriction@@QEAA@PEBGHH@Z
+; public: __cdecl CSdidLookupTable::CSdidLookupTable(void) __ptr64
+??0CSdidLookupTable@@QEAA@XZ
+; public: __cdecl CSizeSerStream::CSizeSerStream(void) __ptr64
+??0CSizeSerStream@@QEAA@XZ
+; public: __cdecl CSort::CSort(unsigned int) __ptr64
+??0CSort@@QEAA@I@Z
+; public: __cdecl CSortSet::CSortSet(unsigned int) __ptr64
+??0CSortSet@@QEAA@I@Z
+; public: __cdecl CStandardPropMapper::CStandardPropMapper(void) __ptr64
+??0CStandardPropMapper@@QEAA@XZ
+; public: __cdecl CSvcQuery::CSvcQuery(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64
+??0CSvcQuery@@QEAA@PEBGPEAUIDBProperties@@@Z
+; public: __cdecl CSynRestriction::CSynRestriction(class CKey const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
+??0CSynRestriction@@QEAA@AEBVCKey@@KKKH@Z
+; public: __cdecl CTimeLimit::CTimeLimit(unsigned long,unsigned long) __ptr64
+??0CTimeLimit@@QEAA@KK@Z
+; public: __cdecl CTransaction::CTransaction(void) __ptr64
+??0CTransaction@@QEAA@XZ
+; public: __cdecl CUnfilteredRestriction::CUnfilteredRestriction(void) __ptr64
+??0CUnfilteredRestriction@@QEAA@XZ
+; public: __cdecl CValueNormalizer::CValueNormalizer(class PKeyRepository & __ptr64) __ptr64
+??0CValueNormalizer@@QEAA@AEAVPKeyRepository@@@Z
+; public: __cdecl CVirtualString::CVirtualString(unsigned int) __ptr64
+??0CVirtualString@@QEAA@I@Z
+; public: __cdecl CWin32RegAccess::CWin32RegAccess(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CWin32RegAccess@@QEAA@PEAUHKEY__@@PEBG@Z
+; public: __cdecl CWordRestriction::CWordRestriction(class CKeyBuf const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
+??0CWordRestriction@@QEAA@AEBVCKeyBuf@@KKKH@Z
+; public: __cdecl CWorkQueue::CWorkQueue(unsigned int,enum CWorkQueue::WorkQueueType) __ptr64
+??0CWorkQueue@@QEAA@IW4WorkQueueType@0@@Z
+; public: __cdecl CiStorage::CiStorage(unsigned short const * __ptr64,struct ICiCAdviseStatus & __ptr64,unsigned long,unsigned long,int) __ptr64
+??0CiStorage@@QEAA@PEBGAEAUICiCAdviseStatus@@KKH@Z
+; public: __cdecl SStorageObject::SStorageObject(class PStorageObject * __ptr64) __ptr64
+??0SStorageObject@@QEAA@PEAVPStorageObject@@@Z
+; protected: __cdecl CAllocStorageVariant::~CAllocStorageVariant(void) __ptr64
+??1CAllocStorageVariant@@IEAA@XZ
+; public: __cdecl CCatState::~CCatState(void) __ptr64
+??1CCatState@@QEAA@XZ
+; public: __cdecl CCatalogAdmin::~CCatalogAdmin(void) __ptr64
+??1CCatalogAdmin@@QEAA@XZ
+; public: __cdecl CCatalogEnum::~CCatalogEnum(void) __ptr64
+??1CCatalogEnum@@QEAA@XZ
+; public: __cdecl CColumns::~CColumns(void) __ptr64
+??1CColumns@@QEAA@XZ
+; public: __cdecl CContentRestriction::~CContentRestriction(void) __ptr64
+??1CContentRestriction@@QEAA@XZ
+; public: __cdecl CDFA::~CDFA(void) __ptr64
+??1CDFA@@QEAA@XZ
+; public: __cdecl CDbCmdTreeNode::~CDbCmdTreeNode(void) __ptr64
+??1CDbCmdTreeNode@@QEAA@XZ
+; public: __cdecl CDbColumns::~CDbColumns(void) __ptr64
+??1CDbColumns@@QEAA@XZ
+; public: __cdecl CDbPropSet::~CDbPropSet(void) __ptr64
+??1CDbPropSet@@QEAA@XZ
+; public: __cdecl CDbQueryResults::~CDbQueryResults(void) __ptr64
+??1CDbQueryResults@@QEAA@XZ
+; public: __cdecl CDbSortSet::~CDbSortSet(void) __ptr64
+??1CDbSortSet@@QEAA@XZ
+; public: __cdecl CDynStream::~CDynStream(void) __ptr64
+??1CDynStream@@QEAA@XZ
+; public: __cdecl CEventItem::~CEventItem(void) __ptr64
+??1CEventItem@@QEAA@XZ
+; public: __cdecl CEventLog::~CEventLog(void) __ptr64
+??1CEventLog@@QEAA@XZ
+; public: __cdecl CFileMapView::~CFileMapView(void) __ptr64
+??1CFileMapView@@QEAA@XZ
+; public: __cdecl CFilterDaemon::~CFilterDaemon(void) __ptr64
+??1CFilterDaemon@@QEAA@XZ
+; public: virtual __cdecl CFwAsyncWorkItem::~CFwAsyncWorkItem(void) __ptr64
+??1CFwAsyncWorkItem@@UEAA@XZ
+; public: __cdecl CFwEventItem::~CFwEventItem(void) __ptr64
+??1CFwEventItem@@QEAA@XZ
+; public: virtual __cdecl CGenericCiProxy::~CGenericCiProxy(void) __ptr64
+??1CGenericCiProxy@@UEAA@XZ
+; public: __cdecl CImpersonateClient::~CImpersonateClient(void) __ptr64
+??1CImpersonateClient@@QEAA@XZ
+; public: __cdecl CImpersonateSystem::~CImpersonateSystem(void) __ptr64
+??1CImpersonateSystem@@QEAA@XZ
+; public: __cdecl CImpersonationTokenCache::~CImpersonationTokenCache(void) __ptr64
+??1CImpersonationTokenCache@@QEAA@XZ
+; public: __cdecl CInternalPropertyRestriction::~CInternalPropertyRestriction(void) __ptr64
+??1CInternalPropertyRestriction@@QEAA@XZ
+; public: __cdecl CKeyArray::~CKeyArray(void) __ptr64
+??1CKeyArray@@QEAA@XZ
+; public: __cdecl CLangList::~CLangList(void) __ptr64
+??1CLangList@@QEAA@XZ
+; public: __cdecl CMachineAdmin::~CMachineAdmin(void) __ptr64
+??1CMachineAdmin@@QEAA@XZ
+; public: virtual __cdecl CMemSerStream::~CMemSerStream(void) __ptr64
+??1CMemSerStream@@UEAA@XZ
+; public: __cdecl CMetaDataMgr::~CMetaDataMgr(void) __ptr64
+??1CMetaDataMgr@@QEAA@XZ
+; public: virtual __cdecl CMmStream::~CMmStream(void) __ptr64
+??1CMmStream@@UEAA@XZ
+; public: __cdecl CMmStreamConsecBuf::~CMmStreamConsecBuf(void) __ptr64
+??1CMmStreamConsecBuf@@QEAA@XZ
+; public: __cdecl CNatLanguageRestriction::~CNatLanguageRestriction(void) __ptr64
+??1CNatLanguageRestriction@@QEAA@XZ
+; public: __cdecl CNodeRestriction::~CNodeRestriction(void) __ptr64
+??1CNodeRestriction@@QEAA@XZ
+; public: __cdecl CNotRestriction::~CNotRestriction(void) __ptr64
+??1CNotRestriction@@QEAA@XZ
+; public: __cdecl COccRestriction::~COccRestriction(void) __ptr64
+??1COccRestriction@@QEAA@XZ
+; public: __cdecl CParseCommandTree::~CParseCommandTree(void) __ptr64
+??1CParseCommandTree@@QEAA@XZ
+; public: __cdecl CPerfMon::~CPerfMon(void) __ptr64
+??1CPerfMon@@QEAA@XZ
+; public: __cdecl CPhraseRestriction::~CPhraseRestriction(void) __ptr64
+??1CPhraseRestriction@@QEAA@XZ
+; public: virtual __cdecl CPhysStorage::~CPhysStorage(void) __ptr64
+??1CPhysStorage@@UEAA@XZ
+; public: __cdecl CPidLookupTable::~CPidLookupTable(void) __ptr64
+??1CPidLookupTable@@QEAA@XZ
+; public: __cdecl CPidRemapper::~CPidRemapper(void) __ptr64
+??1CPidRemapper@@QEAA@XZ
+; public: __cdecl CProcess::~CProcess(void) __ptr64
+??1CProcess@@QEAA@XZ
+; public: __cdecl CPropStoreManager::~CPropStoreManager(void) __ptr64
+??1CPropStoreManager@@QEAA@XZ
+; public: virtual __cdecl CPropertyList::~CPropertyList(void) __ptr64
+??1CPropertyList@@UEAA@XZ
+; public: __cdecl CPropertyRestriction::~CPropertyRestriction(void) __ptr64
+??1CPropertyRestriction@@QEAA@XZ
+; public: __cdecl CPropertyStore::~CPropertyStore(void) __ptr64
+??1CPropertyStore@@QEAA@XZ
+; public: __cdecl CPropertyStoreWids::~CPropertyStoreWids(void) __ptr64
+??1CPropertyStoreWids@@QEAA@XZ
+; public: __cdecl CQueryUnknown::~CQueryUnknown(void) __ptr64
+??1CQueryUnknown@@QEAA@XZ
+; public: virtual __cdecl CRangeKeyRepository::~CRangeKeyRepository(void) __ptr64
+??1CRangeKeyRepository@@UEAA@XZ
+; public: __cdecl CRegChangeEvent::~CRegChangeEvent(void) __ptr64
+??1CRegChangeEvent@@QEAA@XZ
+; protected: virtual __cdecl CRegNotify::~CRegNotify(void) __ptr64
+??1CRegNotify@@MEAA@XZ
+; public: __cdecl CRestriction::~CRestriction(void) __ptr64
+??1CRestriction@@QEAA@XZ
+; public: __cdecl CScopeAdmin::~CScopeAdmin(void) __ptr64
+??1CScopeAdmin@@QEAA@XZ
+; public: __cdecl CScopeEnum::~CScopeEnum(void) __ptr64
+??1CScopeEnum@@QEAA@XZ
+; public: __cdecl CScopeRestriction::~CScopeRestriction(void) __ptr64
+??1CScopeRestriction@@QEAA@XZ
+; public: __cdecl CSdidLookupTable::~CSdidLookupTable(void) __ptr64
+??1CSdidLookupTable@@QEAA@XZ
+; public: virtual __cdecl CSizeSerStream::~CSizeSerStream(void) __ptr64
+??1CSizeSerStream@@UEAA@XZ
+; public: __cdecl CSort::~CSort(void) __ptr64
+??1CSort@@QEAA@XZ
+; public: __cdecl CSynRestriction::~CSynRestriction(void) __ptr64
+??1CSynRestriction@@QEAA@XZ
+; public: __cdecl CVirtualString::~CVirtualString(void) __ptr64
+??1CVirtualString@@QEAA@XZ
+; public: __cdecl CWin32RegAccess::~CWin32RegAccess(void) __ptr64
+??1CWin32RegAccess@@QEAA@XZ
+; public: __cdecl CWordRestriction::~CWordRestriction(void) __ptr64
+??1CWordRestriction@@QEAA@XZ
+; public: __cdecl CWorkManager::~CWorkManager(void) __ptr64
+??1CWorkManager@@QEAA@XZ
+; public: __cdecl CWorkQueue::~CWorkQueue(void) __ptr64
+??1CWorkQueue@@QEAA@XZ
+; public: __cdecl SStorageObject::~SStorageObject(void) __ptr64
+??1SStorageObject@@QEAA@XZ
+; public: class CDbColId & __ptr64 __cdecl CDbColId::operator=(class CDbColId const & __ptr64) __ptr64
+??4CDbColId@@QEAAAEAV0@AEBV0@@Z
+; public: int __cdecl CDbColId::operator==(class CDbColId const & __ptr64)const  __ptr64
+??8CDbColId@@QEBAHAEBV0@@Z
+; public: void __cdecl CWorkManager::AbortWorkItems(void) __ptr64
+?AbortWorkItems@CWorkManager@@QEAAXXZ
+; public: void __cdecl CQueryScanner::Accept(void) __ptr64
+?Accept@CQueryScanner@@QEAAXXZ
+; public: void __cdecl CQueryScanner::AcceptCommand(void) __ptr64
+?AcceptCommand@CQueryScanner@@QEAAXXZ
+; public: void __cdecl CQueryScanner::AcceptWord(void) __ptr64
+?AcceptWord@CQueryScanner@@QEAAXXZ
+; public: int __cdecl CSdidLookupTable::AccessCheck(unsigned long,void * __ptr64,unsigned long,int & __ptr64) __ptr64
+?AccessCheck@CSdidLookupTable@@QEAAHKPEAXKAEAH@Z
+; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqLine(int) __ptr64
+?AcqLine@CQueryScanner@@QEAAPEAGH@Z
+; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPath(void) __ptr64
+?AcqPath@CQueryScanner@@QEAAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPhrase(void) __ptr64
+?AcqPhrase@CQueryScanner@@QEAAPEAGXZ
+; public: class CRangeRestriction * __ptr64 __cdecl CRangeKeyRepository::AcqRst(void) __ptr64
+?AcqRst@CRangeKeyRepository@@QEAAPEAVCRangeRestriction@@XZ
+; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqWord(void) __ptr64
+?AcqWord@CQueryScanner@@QEAAPEAGXZ
+; private: void __cdecl CPropertyStore::AcquireRead(class CReadWriteLockRecord & __ptr64) __ptr64
+?AcquireRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z
+; public: int __cdecl CDbColumns::Add(class CDbColId const & __ptr64,unsigned int) __ptr64
+?Add@CDbColumns@@QEAAHAEBVCDbColId@@I@Z
+; public: void __cdecl CDbQueryResults::Add(unsigned short * __ptr64,unsigned long) __ptr64
+?Add@CDbQueryResults@@QEAAXPEAGK@Z
+; public: int __cdecl CDbSortSet::Add(class CDbColId const & __ptr64,unsigned long,unsigned int) __ptr64
+?Add@CDbSortSet@@QEAAHAEBVCDbColId@@KI@Z
+; public: int __cdecl CDbSortSet::Add(class CDbSortKey const & __ptr64,unsigned int) __ptr64
+?Add@CDbSortSet@@QEAAHAEBVCDbSortKey@@I@Z
+; public: int __cdecl CKeyArray::Add(int,class CKey const & __ptr64) __ptr64
+?Add@CKeyArray@@QEAAHHAEBVCKey@@@Z
+; public: int __cdecl CKeyArray::Add(int,class CKeyBuf const & __ptr64) __ptr64
+?Add@CKeyArray@@QEAAHHAEBVCKeyBuf@@@Z
+; public: void __cdecl CWorkQueue::Add(class PWorkItem * __ptr64) __ptr64
+?Add@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z
+; public: void __cdecl CEventItem::AddArg(unsigned long) __ptr64
+?AddArg@CEventItem@@QEAAXK@Z
+; public: void __cdecl CEventItem::AddArg(unsigned short const * __ptr64) __ptr64
+?AddArg@CEventItem@@QEAAXPEBG@Z
+; public: void __cdecl CFwEventItem::AddArg(unsigned long) __ptr64
+?AddArg@CFwEventItem@@QEAAXK@Z
+; public: void __cdecl CFwEventItem::AddArg(unsigned short const * __ptr64) __ptr64
+?AddArg@CFwEventItem@@QEAAXPEBG@Z
+; public: void __cdecl CCatalogAdmin::AddCachedProperty(class CFullPropSpec const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
+?AddCachedProperty@CCatalogAdmin@@QEAAXAEBVCFullPropSpec@@KKKH@Z
+; public: void __cdecl CCatState::AddCatalog(class XPtrST<unsigned short> & __ptr64) __ptr64
+?AddCatalog@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
+; public: void __cdecl CMachineAdmin::AddCatalog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?AddCatalog@CMachineAdmin@@QEAAXPEBG0@Z
+; public: void __cdecl CNodeRestriction::AddChild(class CRestriction * __ptr64,unsigned int & __ptr64) __ptr64
+?AddChild@CNodeRestriction@@QEAAXPEAVCRestriction@@AEAI@Z
+; public: void __cdecl CCatState::AddDir(class XPtrST<unsigned short> & __ptr64) __ptr64
+?AddDir@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
+; public: virtual void __cdecl CPropertyList::AddEntry(class CPropEntry * __ptr64,int) __ptr64
+?AddEntry@CPropertyList@@UEAAXPEAVCPropEntry@@H@Z
+; public: void __cdecl CEventItem::AddError(unsigned long) __ptr64
+?AddError@CEventItem@@QEAAXK@Z
+; public: void __cdecl CSynRestriction::AddKey(class CKeyBuf const & __ptr64) __ptr64
+?AddKey@CSynRestriction@@QEAAXAEBVCKeyBuf@@@Z
+; public: void __cdecl CCatState::AddMachine(class XPtrST<unsigned short> & __ptr64) __ptr64
+?AddMachine@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
+; public: virtual unsigned long __cdecl CDbProperties::AddRef(void) __ptr64
+?AddRef@CDbProperties@@UEAAKXZ
+; public: virtual unsigned long __cdecl CEmptyPropertyList::AddRef(void) __ptr64
+?AddRef@CEmptyPropertyList@@UEAAKXZ
+; public: virtual unsigned long __cdecl CEnumString::AddRef(void) __ptr64
+?AddRef@CEnumString@@UEAAKXZ
+; public: virtual unsigned long __cdecl CEnumWorkid::AddRef(void) __ptr64
+?AddRef@CEnumWorkid@@UEAAKXZ
+; public: virtual unsigned long __cdecl CFwPropertyMapper::AddRef(void) __ptr64
+?AddRef@CFwPropertyMapper@@UEAAKXZ
+; public: virtual unsigned long __cdecl CQueryUnknown::AddRef(void) __ptr64
+?AddRef@CQueryUnknown@@UEAAKXZ
+; public: void __cdecl CWorkQueue::AddRefWorkThreads(void) __ptr64
+?AddRefWorkThreads@CWorkQueue@@QEAAXXZ
+; public: void __cdecl CCatalogAdmin::AddScope(unsigned short const * __ptr64,unsigned short const * __ptr64,int,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?AddScope@CCatalogAdmin@@QEAAXPEBG0H00@Z
+; public: int __cdecl CDbSortNode::AddSortColumn(struct tagDBID const & __ptr64,int,unsigned long) __ptr64
+?AddSortColumn@CDbSortNode@@QEAAHAEBUtagDBID@@HK@Z
+; public: int __cdecl CDbNestingNode::AddTable(class CDbCmdTreeNode * __ptr64) __ptr64
+?AddTable@CDbNestingNode@@QEAAHPEAVCDbCmdTreeNode@@@Z
+; public: void __cdecl CWorkManager::AddToWorkList(class CFwAsyncWorkItem * __ptr64) __ptr64
+?AddToWorkList@CWorkManager@@QEAAXPEAVCFwAsyncWorkItem@@@Z
+; public: void __cdecl CFwAsyncWorkItem::AddToWorkQueue(void) __ptr64
+?AddToWorkQueue@CFwAsyncWorkItem@@QEAAXXZ
+; public: static unsigned short * __ptr64 __cdecl CDbCmdTreeNode::AllocAndCopyWString(unsigned short const * __ptr64)
+?AllocAndCopyWString@CDbCmdTreeNode@@SAPEAGPEBG@Z
+; unsigned short * __ptr64 __cdecl AllocHeapAndCopy(unsigned short const * __ptr64,unsigned long & __ptr64)
+?AllocHeapAndCopy@@YAPEAGPEBGAEAK@Z
+; unsigned short * __ptr64 __cdecl AllocHeapAndGetWString(class PDeSerStream & __ptr64)
+?AllocHeapAndGetWString@@YAPEAGAEAVPDeSerStream@@@Z
+; public: void __cdecl CEnumString::Append(unsigned short const * __ptr64) __ptr64
+?Append@CEnumString@@QEAAXPEBG@Z
+; public: void __cdecl CEnumWorkid::Append(unsigned long) __ptr64
+?Append@CEnumWorkid@@QEAAXK@Z
+; protected: void __cdecl CDbCmdTreeNode::AppendChild(class CDbCmdTreeNode * __ptr64) __ptr64
+?AppendChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z
+; protected: int __cdecl CDbListAnchor::AppendListElement(unsigned short,struct tagDBID const & __ptr64) __ptr64
+?AppendListElement@CDbListAnchor@@IEAAHGAEBUtagDBID@@@Z
+; protected: int __cdecl CDbListAnchor::AppendListElement(class CDbCmdTreeNode * __ptr64) __ptr64
+?AppendListElement@CDbListAnchor@@IEAAHPEAVCDbCmdTreeNode@@@Z
+; public: int __cdecl CDbProjectListAnchor::AppendListElement(struct tagDBID const & __ptr64,unsigned short * __ptr64) __ptr64
+?AppendListElement@CDbProjectListAnchor@@QEAAHAEBUtagDBID@@PEAG@Z
+; public: unsigned __int64 __cdecl CPropStoreManager::BeginTransaction(void) __ptr64
+?BeginTransaction@CPropStoreManager@@QEAA_KXZ
+; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct _GUID const & __ptr64,struct IFilter * __ptr64 * __ptr64,int)
+?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@AEBU_GUID@@PEAPEAUIFilter@@H@Z
+; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct IFilter * __ptr64 * __ptr64,int)
+?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@PEAPEAUIFilter@@H@Z
+; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowBuffer(unsigned long,int,int) __ptr64
+?BorrowBuffer@CPhysStorage@@QEAAPEAKKHH@Z
+; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowNewBuffer(unsigned long) __ptr64
+?BorrowNewBuffer@CPhysStorage@@QEAAPEAKK@Z
+; void __cdecl BuildRegistryPropertiesKey(class XArray<unsigned short> & __ptr64,unsigned short const * __ptr64)
+?BuildRegistryPropertiesKey@@YAXAEAV?$XArray@G@@PEBG@Z
+; void __cdecl BuildRegistryScopesKey(class XArray<unsigned short> & __ptr64,unsigned short const * __ptr64)
+?BuildRegistryScopesKey@@YAXAEAV?$XArray@G@@PEBG@Z
+; void __cdecl CIShutdown(void)
+?CIShutdown@@YAXXZ
+; public: void __cdecl CCatState::ChangeCurrentCatalog(unsigned short const * __ptr64) __ptr64
+?ChangeCurrentCatalog@CCatState@@QEAAXPEBG@Z
+; public: void __cdecl CCatState::ChangeCurrentDepth(int) __ptr64
+?ChangeCurrentDepth@CCatState@@QEAAXH@Z
+; public: void __cdecl CCatState::ChangeCurrentMachine(unsigned short const * __ptr64) __ptr64
+?ChangeCurrentMachine@CCatState@@QEAAXPEBG@Z
+; public: void __cdecl CCatState::ChangeCurrentScope(unsigned short const * __ptr64) __ptr64
+?ChangeCurrentScope@CCatState@@QEAAXPEBG@Z
+; private: void __cdecl CPropStoreInfo::ChangeDirty(int) __ptr64
+?ChangeDirty@CPropStoreInfo@@AEAAXH@Z
+; public: long __cdecl CLocalGlobalPropertyList::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?CheckError@CLocalGlobalPropertyList@@QEAAJAEAKPEAPEAG@Z
+; public: long __cdecl CPropListFile::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?CheckError@CPropListFile@@QEAAJAEAKPEAPEAG@Z
+; public: static int __cdecl CiStorage::CheckHasIndexTable(unsigned short const * __ptr64)
+?CheckHasIndexTable@CiStorage@@SAHPEBG@Z
+CiCreateSecurityDescriptor
+; int __cdecl CiGetPassword(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64)
+?CiGetPassword@@YAHPEBG0PEAG@Z
+; void * __ptr64 __cdecl CiNtOpen(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long)
+?CiNtOpen@@YAPEAXPEBGKKK@Z
+; long __cdecl CiNtOpenNoThrow(void * __ptr64 & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long)
+?CiNtOpenNoThrow@@YAJAEAPEAXPEBGKKK@Z
+; public: void __cdecl CDbColId::Cleanup(void) __ptr64
+?Cleanup@CDbColId@@QEAAXXZ
+; protected: void __cdecl CDbCmdTreeNode::CleanupDataValue(void) __ptr64
+?CleanupDataValue@CDbCmdTreeNode@@IEAAXXZ
+; public: void __cdecl CCombinedPropertyList::ClearList(void) __ptr64
+?ClearList@CCombinedPropertyList@@QEAAXXZ
+; public: void __cdecl CPropertyList::ClearList(void) __ptr64
+?ClearList@CPropertyList@@QEAAXXZ
+; public: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::Clone(int)const  __ptr64
+?Clone@CDbCmdTreeNode@@QEBAPEAV1@H@Z
+; public: virtual long __cdecl CEnumString::Clone(struct IEnumString * __ptr64 * __ptr64) __ptr64
+?Clone@CEnumString@@UEAAJPEAPEAUIEnumString@@@Z
+; public: class CNodeRestriction * __ptr64 __cdecl CNodeRestriction::Clone(void)const  __ptr64
+?Clone@CNodeRestriction@@QEBAPEAV1@XZ
+; public: class COccRestriction * __ptr64 __cdecl COccRestriction::Clone(void)const  __ptr64
+?Clone@COccRestriction@@QEBAPEAV1@XZ
+; public: class CRestriction * __ptr64 __cdecl CRestriction::Clone(void)const  __ptr64
+?Clone@CRestriction@@QEBAPEAV1@XZ
+; public: void __cdecl CPhysStorage::Close(void) __ptr64
+?Close@CPhysStorage@@QEAAXXZ
+; protected: void __cdecl CPipeClient::Close(void) __ptr64
+?Close@CPipeClient@@IEAAXXZ
+; public: void __cdecl COLEPropManager::CPropSetMap::Close(void) __ptr64
+?Close@CPropSetMap@COLEPropManager@@QEAAXXZ
+; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecord * __ptr64) __ptr64
+?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecord@@@Z
+; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecordForWrites * __ptr64) __ptr64
+?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecordForWrites@@@Z
+; public: void __cdecl CRcovStrmAppendTrans::Commit(void) __ptr64
+?Commit@CRcovStrmAppendTrans@@QEAAXXZ
+; public: void __cdecl CRcovStrmMDTrans::Commit(void) __ptr64
+?Commit@CRcovStrmMDTrans@@QEAAXXZ
+; public: void __cdecl CRcovStrmWriteTrans::Commit(void) __ptr64
+?Commit@CRcovStrmWriteTrans@@QEAAXXZ
+; public: static int __cdecl CDriveInfo::ContainsDrive(unsigned short const * __ptr64)
+?ContainsDrive@CDriveInfo@@SAHPEBG@Z
+; public: void __cdecl CMachineAdmin::CreateSubdirs(unsigned short const * __ptr64) __ptr64
+?CreateSubdirs@CMachineAdmin@@QEAAXPEBG@Z
+; public: void __cdecl CRequestClient::DataWriteRead(void * __ptr64,unsigned long,void * __ptr64,unsigned long,unsigned long & __ptr64) __ptr64
+?DataWriteRead@CRequestClient@@QEAAXPEAXK0KAEAK@Z
+; void __cdecl DecodeEscapes(unsigned short * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64)
+?DecodeEscapes@@YAXPEAGAEAK0@Z
+; void __cdecl DecodeHtmlNumeric(unsigned short * __ptr64)
+?DecodeHtmlNumeric@@YAXPEAG@Z
+; void __cdecl DecodeURLEscapes(unsigned char * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64,unsigned long)
+?DecodeURLEscapes@@YAXPEAEAEAKPEAGK@Z
+; public: void __cdecl CPropStoreManager::DeleteRecord(unsigned long) __ptr64
+?DeleteRecord@CPropStoreManager@@QEAAXK@Z
+; public: void __cdecl CCatalogAdmin::DeleteRegistryParamNoThrow(unsigned short const * __ptr64) __ptr64
+?DeleteRegistryParamNoThrow@CCatalogAdmin@@QEAAXPEBG@Z
+; public: static unsigned int __cdecl CiStorage::DetermineDriveType(unsigned short const * __ptr64)
+?DetermineDriveType@CiStorage@@SAIPEBG@Z
+; public: int __cdecl CMachineAdmin::DisableCI(void) __ptr64
+?DisableCI@CMachineAdmin@@QEAAHXZ
+; public: void __cdecl CRegNotify::DisableNotification(void) __ptr64
+?DisableNotification@CRegNotify@@QEAAXXZ
+; public: void __cdecl CMetaDataMgr::DisableVPathNotify(void) __ptr64
+?DisableVPathNotify@CMetaDataMgr@@QEAAXXZ
+; public: void __cdecl CRequestClient::Disconnect(void) __ptr64
+?Disconnect@CRequestClient@@QEAAXXZ
+; public: long __cdecl CCopyRcovObject::DoIt(void) __ptr64
+?DoIt@CCopyRcovObject@@QEAAJXZ
+; public: long __cdecl CFilterDaemon::DoUpdates(void) __ptr64
+?DoUpdates@CFilterDaemon@@QEAAJXZ
+; public: void __cdecl CFwAsyncWorkItem::Done(void) __ptr64
+?Done@CFwAsyncWorkItem@@QEAAXXZ
+; long __cdecl DumpWorkId(unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)
+?DumpWorkId@@YAJPEBGKPEAEAEAK00K@Z
+; public: void __cdecl CPidLookupTable::Empty(void) __ptr64
+?Empty@CPidLookupTable@@QEAAXXZ
+; public: void __cdecl CPropStoreManager::Empty(void) __ptr64
+?Empty@CPropStoreManager@@QEAAXXZ
+; public: void __cdecl CRcovStrmWriteTrans::Empty(void) __ptr64
+?Empty@CRcovStrmWriteTrans@@QEAAXXZ
+; public: void __cdecl CSdidLookupTable::Empty(void) __ptr64
+?Empty@CSdidLookupTable@@QEAAXXZ
+; public: int __cdecl CMachineAdmin::EnableCI(void) __ptr64
+?EnableCI@CMachineAdmin@@QEAAHXZ
+; public: void __cdecl CMetaDataMgr::EnableVPathNotify(class CMetaDataVPathChangeCallBack * __ptr64) __ptr64
+?EnableVPathNotify@CMetaDataMgr@@QEAAXPEAVCMetaDataVPathChangeCallBack@@@Z
+; public: void __cdecl CPropStoreManager::EndTransaction(unsigned __int64,int,unsigned long,unsigned long) __ptr64
+?EndTransaction@CPropStoreManager@@QEAAX_KHKK@Z
+; public: int __cdecl CWin32RegAccess::Enum(unsigned short * __ptr64,unsigned long) __ptr64
+?Enum@CWin32RegAccess@@QEAAHPEAGK@Z
+; public: virtual long __cdecl CEmptyPropertyList::EnumPropInfo(unsigned long,unsigned short const * __ptr64 * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
+?EnumPropInfo@CEmptyPropertyList@@UEAAJKPEAPEBGPEAPEAUtagDBID@@PEAGPEAI@Z
+; public: void __cdecl CMetaDataMgr::EnumVPaths(class CMetaDataCallBack & __ptr64) __ptr64
+?EnumVPaths@CMetaDataMgr@@QEAAXAEAVCMetaDataCallBack@@@Z
+; public: void __cdecl CMetaDataMgr::EnumVServers(class CMetaDataVirtualServerCallBack & __ptr64) __ptr64
+?EnumVServers@CMetaDataMgr@@QEAAXAEAVCMetaDataVirtualServerCallBack@@@Z
+; public: static void __cdecl CiStorage::EnumerateFilesInDir(unsigned short const * __ptr64,class CEnumString & __ptr64)
+?EnumerateFilesInDir@CiStorage@@SAXPEBGAEAVCEnumString@@@Z
+; public: int __cdecl CPidLookupTable::EnumerateProperty(class CFullPropSpec & __ptr64,unsigned int & __ptr64) __ptr64
+?EnumerateProperty@CPidLookupTable@@QEAAHAEAVCFullPropSpec@@AEAI@Z
+; public: void __cdecl CRegAccess::EnumerateValues(unsigned short * __ptr64,class CRegCallBack & __ptr64) __ptr64
+?EnumerateValues@CRegAccess@@QEAAXPEAGAEAVCRegCallBack@@@Z
+; public: int __cdecl CMmStreamConsecBuf::Eof(void) __ptr64
+?Eof@CMmStreamConsecBuf@@QEAAHXZ
+; public: int __cdecl CMetaDataMgr::ExtensionHasScriptMap(unsigned short const * __ptr64) __ptr64
+?ExtensionHasScriptMap@CMetaDataMgr@@QEAAHPEBG@Z
+; public: virtual long __cdecl CPidConverter::FPSToPROPID(class CFullPropSpec const & __ptr64,unsigned long & __ptr64) __ptr64
+?FPSToPROPID@CPidConverter@@UEAAJAEBVCFullPropSpec@@AEAK@Z
+; public: void __cdecl CPropStoreManager::FastInit(class CiStorage * __ptr64) __ptr64
+?FastInit@CPropStoreManager@@QEAAXPEAVCiStorage@@@Z
+; public: void __cdecl COLEPropManager::FetchProperty(struct _GUID const & __ptr64,struct tagPROPSPEC const & __ptr64,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
+?FetchProperty@COLEPropManager@@QEAAXAEBU_GUID@@AEBUtagPROPSPEC@@PEAUtagPROPVARIANT@@PEAI@Z
+; public: int __cdecl CKeyArray::FillMax(int) __ptr64
+?FillMax@CKeyArray@@QEAAHH@Z
+; public: class CPropEntry const * __ptr64 __cdecl CEmptyPropertyList::Find(class CDbColId const & __ptr64) __ptr64
+?Find@CEmptyPropertyList@@QEAAPEBVCPropEntry@@AEBVCDbColId@@@Z
+; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(class CDbColId const & __ptr64) __ptr64
+?Find@CPropertyList@@UEAAPEBVCPropEntry@@AEBVCDbColId@@@Z
+; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(unsigned short const * __ptr64) __ptr64
+?Find@CPropertyList@@UEAAPEBVCPropEntry@@PEBG@Z
+; public: int __cdecl CPidLookupTable::FindPropid(class CFullPropSpec const & __ptr64,unsigned long & __ptr64,int) __ptr64
+?FindPropid@CPidLookupTable@@QEAAHAEBVCFullPropSpec@@AEAKH@Z
+; public: void __cdecl CDynStream::Flush(void) __ptr64
+?Flush@CDynStream@@QEAAXXZ
+; public: void __cdecl CPhysStorage::Flush(int) __ptr64
+?Flush@CPhysStorage@@QEAAXH@Z
+; public: void __cdecl CPropStoreManager::Flush(void) __ptr64
+?Flush@CPropStoreManager@@QEAAXXZ
+; public: static void __cdecl CCiOle::FlushIdle(void)
+?FlushIdle@CCiOle@@SAXXZ
+; public: struct tagDBCOMMANDTREE * __ptr64 __cdecl CTextToTree::FormFullTree(void) __ptr64
+?FormFullTree@CTextToTree@@QEAAPEAUtagDBCOMMANDTREE@@XZ
+; class CDbCmdTreeNode * __ptr64 __cdecl FormQueryTree(class CDbCmdTreeNode & __ptr64,class CCatState & __ptr64,struct IColumnMapper * __ptr64,int,int)
+?FormQueryTree@@YAPEAVCDbCmdTreeNode@@AEAV1@AEAVCCatState@@PEAUIColumnMapper@@HH@Z
+FsCiShutdown
+; public: unsigned long __cdecl CRegAccess::Get(unsigned short const * __ptr64) __ptr64
+?Get@CRegAccess@@QEAAKPEBG@Z
+; public: void __cdecl CRegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int) __ptr64
+?Get@CRegAccess@@QEAAXPEBGPEAGI@Z
+; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
+?Get@CWin32RegAccess@@QEAAHPEBGAEAK@Z
+; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int,int) __ptr64
+?Get@CWin32RegAccess@@QEAAHPEBGPEAGIH@Z
+; public: virtual long __cdecl CPropertyList::GetAllEntries(class CPropEntry * __ptr64 * __ptr64,unsigned long) __ptr64
+?GetAllEntries@CPropertyList@@UEAAJPEAPEAVCPropEntry@@K@Z
+; public: short __cdecl CAllocStorageVariant::GetBOOL(unsigned int)const  __ptr64
+?GetBOOL@CAllocStorageVariant@@QEBAFI@Z
+; public: unsigned long __cdecl CPropStoreManager::GetBackupSize(unsigned long) __ptr64
+?GetBackupSize@CPropStoreManager@@QEAAKK@Z
+; public: virtual void __cdecl CMemDeSerStream::GetBlob(unsigned char * __ptr64,unsigned long) __ptr64
+?GetBlob@CMemDeSerStream@@UEAAXPEAEK@Z
+; unsigned long __cdecl GetBrowserCodepage(class CWebServer & __ptr64,unsigned long)
+?GetBrowserCodepage@@YAKAEAVCWebServer@@K@Z
+; public: virtual unsigned char __cdecl CMemDeSerStream::GetByte(void) __ptr64
+?GetByte@CMemDeSerStream@@UEAAEXZ
+; public: unsigned short const * __ptr64 __cdecl CCatState::GetCD(void) __ptr64
+?GetCD@CCatState@@QEAAPEBGXZ
+; public: int __cdecl CWebServer::GetCGIVariable(char const * __ptr64,class XArray<unsigned short> & __ptr64,unsigned long & __ptr64) __ptr64
+?GetCGIVariable@CWebServer@@QEAAHPEBDAEAV?$XArray@G@@AEAK@Z
+; public: int __cdecl CWebServer::GetCGIVariableW(unsigned short const * __ptr64,class XArray<unsigned short> & __ptr64,unsigned long & __ptr64) __ptr64
+?GetCGIVariableW@CWebServer@@QEAAHPEBGAEAV?$XArray@G@@AEAK@Z
+; public: struct _GUID  __cdecl CAllocStorageVariant::GetCLSID(unsigned int)const  __ptr64
+?GetCLSID@CAllocStorageVariant@@QEBA?AU_GUID@@I@Z
+; public: union tagCY  __cdecl CAllocStorageVariant::GetCY(unsigned int)const  __ptr64
+?GetCY@CAllocStorageVariant@@QEBA?ATtagCY@@I@Z
+; public: unsigned short const * __ptr64 __cdecl CCatState::GetCategory(unsigned int)const  __ptr64
+?GetCategory@CCatState@@QEBAPEBGI@Z
+; public: virtual void __cdecl CMemDeSerStream::GetChar(char * __ptr64,unsigned long) __ptr64
+?GetChar@CMemDeSerStream@@UEAAXPEADK@Z
+; public: unsigned short const * __ptr64 __cdecl CCatState::GetColumn(unsigned int)const  __ptr64
+?GetColumn@CCatState@@QEBAPEBGI@Z
+; public: unsigned short __cdecl CQueryScanner::GetCommandChar(void) __ptr64
+?GetCommandChar@CQueryScanner@@QEAAGXZ
+; public: double __cdecl CAllocStorageVariant::GetDATE(unsigned int)const  __ptr64
+?GetDATE@CAllocStorageVariant@@QEBANI@Z
+; public: int __cdecl CCatalogAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
+?GetDWORDParam@CCatalogAdmin@@QEAAHPEBGAEAK@Z
+; public: int __cdecl CMachineAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
+?GetDWORDParam@CMachineAdmin@@QEAAHPEBGAEAK@Z
+; public: void __cdecl CDriveInfo::GetDiskSpace(__int64 & __ptr64,__int64 & __ptr64) __ptr64
+?GetDiskSpace@CDriveInfo@@QEAAXAEA_J0@Z
+; public: virtual double __cdecl CMemDeSerStream::GetDouble(void) __ptr64
+?GetDouble@CMemDeSerStream@@UEAANXZ
+; public: static void __cdecl CDriveInfo::GetDrive(unsigned short const * __ptr64,unsigned short * __ptr64)
+?GetDrive@CDriveInfo@@SAXPEBGPEAG@Z
+; public: unsigned char * __ptr64 __cdecl CGenericCiProxy::GetEntryBuffer(unsigned long & __ptr64) __ptr64
+?GetEntryBuffer@CGenericCiProxy@@QEAAPEAEAEAK@Z
+; public: struct _FILETIME  __cdecl CAllocStorageVariant::GetFILETIME(unsigned int)const  __ptr64
+?GetFILETIME@CAllocStorageVariant@@QEBA?AU_FILETIME@@I@Z
+; public: int __cdecl CPathParser::GetFileName(unsigned short * __ptr64,unsigned long & __ptr64)const  __ptr64
+?GetFileName@CPathParser@@QEBAHPEAGAEAK@Z
+; public: enum CDriveInfo::eFileSystem  __cdecl CDriveInfo::GetFileSystem(int) __ptr64
+?GetFileSystem@CDriveInfo@@QEAA?AW4eFileSystem@1@H@Z
+; public: virtual float __cdecl CMemDeSerStream::GetFloat(void) __ptr64
+?GetFloat@CMemDeSerStream@@UEAAMXZ
+; public: virtual void __cdecl CMemDeSerStream::GetGUID(struct _GUID & __ptr64) __ptr64
+?GetGUID@CMemDeSerStream@@UEAAXAEAU_GUID@@@Z
+; class CPropListFile * __ptr64 __cdecl GetGlobalPropListFile(void)
+?GetGlobalPropListFile@@YAPEAVCPropListFile@@XZ
+; class CStaticPropertyList * __ptr64 __cdecl GetGlobalStaticPropertyList(void)
+?GetGlobalStaticPropertyList@@YAPEAVCStaticPropertyList@@XZ
+; public: short __cdecl CAllocStorageVariant::GetI2(unsigned int)const  __ptr64
+?GetI2@CAllocStorageVariant@@QEBAFI@Z
+; public: long __cdecl CAllocStorageVariant::GetI4(unsigned int)const  __ptr64
+?GetI4@CAllocStorageVariant@@QEBAJI@Z
+; public: union _LARGE_INTEGER  __cdecl CAllocStorageVariant::GetI8(unsigned int)const  __ptr64
+?GetI8@CAllocStorageVariant@@QEBA?AT_LARGE_INTEGER@@I@Z
+; unsigned long __cdecl GetLCIDFromString(unsigned short * __ptr64)
+?GetLCIDFromString@@YAKPEAG@Z
+; public: char * __ptr64 __cdecl CAllocStorageVariant::GetLPSTR(unsigned int)const  __ptr64
+?GetLPSTR@CAllocStorageVariant@@QEBAPEADI@Z
+; public: unsigned short * __ptr64 __cdecl CAllocStorageVariant::GetLPWSTR(unsigned int)const  __ptr64
+?GetLPWSTR@CAllocStorageVariant@@QEBAPEAGI@Z
+; public: unsigned short const * __ptr64 __cdecl CCatalogAdmin::GetLocation(void) __ptr64
+?GetLocation@CCatalogAdmin@@QEAAPEBGXZ
+; public: virtual long __cdecl CMemDeSerStream::GetLong(void) __ptr64
+?GetLong@CMemDeSerStream@@UEAAJXZ
+; public: int __cdecl CQueryScanner::GetNumber(unsigned long & __ptr64,int & __ptr64) __ptr64
+?GetNumber@CQueryScanner@@QEAAHAEAKAEAH@Z
+; public: int __cdecl CQueryScanner::GetNumber(double & __ptr64) __ptr64
+?GetNumber@CQueryScanner@@QEAAHAEAN@Z
+; public: int __cdecl CQueryScanner::GetNumber(__int64 & __ptr64,int & __ptr64) __ptr64
+?GetNumber@CQueryScanner@@QEAAHAEA_JAEAH@Z
+; public: int __cdecl CQueryScanner::GetNumber(unsigned __int64 & __ptr64,int & __ptr64) __ptr64
+?GetNumber@CQueryScanner@@QEAAHAEA_KAEAH@Z
+; public: void __cdecl CKeyDeComp::GetOffset(struct BitOffset & __ptr64) __ptr64
+?GetOffset@CKeyDeComp@@QEAAXAEAUBitOffset@@@Z
+; long __cdecl GetOleDBErrorInfo(struct IUnknown * __ptr64,struct _GUID const & __ptr64,unsigned long,unsigned int,struct tagERRORINFO * __ptr64,struct IErrorInfo * __ptr64 * __ptr64)
+?GetOleDBErrorInfo@@YAJPEAUIUnknown@@AEBU_GUID@@KIPEAUtagERRORINFO@@PEAPEAUIErrorInfo@@@Z
+; long __cdecl GetOleError(class CException & __ptr64)
+?GetOleError@@YAJAEAVCException@@@Z
+; public: unsigned long __cdecl CWebServer::GetPhysicalPath(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long,unsigned long) __ptr64
+?GetPhysicalPath@CWebServer@@QEAAKPEBGPEAGKK@Z
+; public: int __cdecl CEmptyPropertyList::GetPropInfo(class CDbColId const & __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
+?GetPropInfo@CEmptyPropertyList@@QEAAHAEBVCDbColId@@PEAPEBGPEAGPEAI@Z
+; public: int __cdecl CEmptyPropertyList::GetPropInfo(unsigned short const * __ptr64,class CDbColId * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
+?GetPropInfo@CEmptyPropertyList@@QEAAHPEBGPEAPEAVCDbColId@@PEAGPEAI@Z
+; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromId(struct tagDBID const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
+?GetPropInfoFromId@CEmptyPropertyList@@UEAAJPEBUtagDBID@@PEAPEAGPEAGPEAI@Z
+; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromName(unsigned short const * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
+?GetPropInfoFromName@CEmptyPropertyList@@UEAAJPEBGPEAPEAUtagDBID@@PEAGPEAI@Z
+; public: static unsigned short __cdecl CEmptyPropertyList::GetPropType(unsigned int)
+?GetPropType@CEmptyPropertyList@@SAGI@Z
+; public: static unsigned int __cdecl CEmptyPropertyList::GetPropTypeCount(void)
+?GetPropTypeCount@CEmptyPropertyList@@SAIXZ
+; public: static unsigned short const * __ptr64 __cdecl CEmptyPropertyList::GetPropTypeName(unsigned int)
+?GetPropTypeName@CEmptyPropertyList@@SAPEBGI@Z
+; public: virtual long __cdecl CDbProperties::GetProperties(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64) __ptr64
+?GetProperties@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@@Z
+; public: void __cdecl CGetDbProps::GetProperties(struct IDBProperties * __ptr64,unsigned long) __ptr64
+?GetProperties@CGetDbProps@@QEAAXPEAUIDBProperties@@K@Z
+; public: virtual long __cdecl CDbProperties::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPINFOSET * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetPropertyInfo@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPINFOSET@@PEAPEAG@Z
+; public: float __cdecl CAllocStorageVariant::GetR4(unsigned int)const  __ptr64
+?GetR4@CAllocStorageVariant@@QEBAMI@Z
+; public: double __cdecl CAllocStorageVariant::GetR8(unsigned int)const  __ptr64
+?GetR8@CAllocStorageVariant@@QEBANI@Z
+; public: int __cdecl CMachineAdmin::GetSZParam(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
+?GetSZParam@CMachineAdmin@@QEAAHPEBGPEAGK@Z
+; long __cdecl GetScodeError(class CException & __ptr64)
+?GetScodeError@@YAJAEAVCException@@@Z
+; int __cdecl GetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64)
+?GetSecret@@YAHPEBG0PEAPEAGPEAK@Z
+; public: unsigned long __cdecl CDriveInfo::GetSectorSize(void) __ptr64
+?GetSectorSize@CDriveInfo@@QEAAKXZ
+; public: void __cdecl CCatState::GetSortProp(unsigned int,unsigned short const * __ptr64 * __ptr64,enum SORTDIR * __ptr64)const  __ptr64
+?GetSortProp@CCatState@@QEBAXIPEAPEBGPEAW4SORTDIR@@@Z
+; void __cdecl GetStackTrace(char * __ptr64,unsigned long)
+?GetStackTrace@@YAXPEADK@Z
+; public: unsigned char const * __ptr64 __cdecl CGenericCiProxy::GetStartupData(struct _GUID & __ptr64,unsigned long & __ptr64) __ptr64
+?GetStartupData@CGenericCiProxy@@QEAAPEBEAEAU_GUID@@AEAK@Z
+; public: class PStorage & __ptr64 __cdecl CPropStoreManager::GetStorage(unsigned long) __ptr64
+?GetStorage@CPropStoreManager@@QEAAAEAVPStorage@@K@Z
+; public: unsigned short * __ptr64 __cdecl CKey::GetStr(void)const  __ptr64
+?GetStr@CKey@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl CKeyBuf::GetStr(void)const  __ptr64
+?GetStr@CKeyBuf@@QEBAPEAGXZ
+; public: virtual char * __ptr64 __cdecl CMemDeSerStream::GetString(void) __ptr64
+?GetString@CMemDeSerStream@@UEAAPEADXZ
+; class CDbRestriction * __ptr64 __cdecl GetStringDbRestriction(unsigned short const * __ptr64,unsigned long,struct IColumnMapper * __ptr64,unsigned long)
+?GetStringDbRestriction@@YAPEAVCDbRestriction@@PEBGKPEAUIColumnMapper@@K@Z
+; void __cdecl GetStringFromLCID(unsigned long,unsigned short * __ptr64)
+?GetStringFromLCID@@YAXKPEAG@Z
+; public: unsigned long __cdecl CPropStoreManager::GetTotalSizeInKB(void) __ptr64
+?GetTotalSizeInKB@CPropStoreManager@@QEAAKXZ
+; public: unsigned long __cdecl CPropertyStore::GetTotalSizeInKB(void) __ptr64
+?GetTotalSizeInKB@CPropertyStore@@QEAAKXZ
+; public: virtual unsigned long __cdecl CMemDeSerStream::GetULong(void) __ptr64
+?GetULong@CMemDeSerStream@@UEAAKXZ
+; public: virtual unsigned short __cdecl CMemDeSerStream::GetUShort(void) __ptr64
+?GetUShort@CMemDeSerStream@@UEAAGXZ
+; public: void __cdecl CIndexTable::GetUserHdrInfo(unsigned int & __ptr64,int & __ptr64) __ptr64
+?GetUserHdrInfo@CIndexTable@@QEAAXAEAIAEAH@Z
+; public: unsigned long __cdecl CMetaDataMgr::GetVPathAccess(unsigned short const * __ptr64) __ptr64
+?GetVPathAccess@CMetaDataMgr@@QEAAKPEBG@Z
+; public: unsigned long __cdecl CMetaDataMgr::GetVPathAuthorization(unsigned short const * __ptr64) __ptr64
+?GetVPathAuthorization@CMetaDataMgr@@QEAAKPEBG@Z
+; public: unsigned long __cdecl CMetaDataMgr::GetVPathSSLAccess(unsigned short const * __ptr64) __ptr64
+?GetVPathSSLAccess@CMetaDataMgr@@QEAAKPEBG@Z
+; public: unsigned short const * __ptr64 __cdecl CDriveInfo::GetVolumeName(int) __ptr64
+?GetVolumeName@CDriveInfo@@QEAAPEBGH@Z
+; public: virtual void __cdecl CMemDeSerStream::GetWChar(unsigned short * __ptr64,unsigned long) __ptr64
+?GetWChar@CMemDeSerStream@@UEAAXPEAGK@Z
+; public: virtual unsigned short * __ptr64 __cdecl CMemDeSerStream::GetWString(void) __ptr64
+?GetWString@CMemDeSerStream@@UEAAPEAGXZ
+; public: long __cdecl CDbCmdTreeNode::GetWeight(void)const  __ptr64
+?GetWeight@CDbCmdTreeNode@@QEBAJXZ
+; public: void __cdecl CDynStream::Grow(class PStorage & __ptr64,unsigned long) __ptr64
+?Grow@CDynStream@@QEAAXAEAVPStorage@@K@Z
+; private: void __cdecl CVirtualString::GrowBuffer(unsigned long) __ptr64
+?GrowBuffer@CVirtualString@@AEAAXK@Z
+; void __cdecl HTMLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long)
+?HTMLEscapeW@@YAXPEBGAEAVCVirtualString@@K@Z
+; private: void __cdecl CImpersonateClient::Impersonate(void) __ptr64
+?Impersonate@CImpersonateClient@@AEAAXXZ
+; public: void __cdecl CFileMapView::Init(void) __ptr64
+?Init@CFileMapView@@QEAAXXZ
+; public: void __cdecl CMmStreamConsecBuf::Init(class PMmStream * __ptr64) __ptr64
+?Init@CMmStreamConsecBuf@@QEAAXPEAVPMmStream@@@Z
+; public: int __cdecl CPidLookupTable::Init(class PRcovStorageObj * __ptr64) __ptr64
+?Init@CPidLookupTable@@QEAAHPEAVPRcovStorageObj@@@Z
+; public: void __cdecl CRcovStorageHdr::Init(unsigned long) __ptr64
+?Init@CRcovStorageHdr@@QEAAXK@Z
+; public: void __cdecl CRegChangeEvent::Init(void) __ptr64
+?Init@CRegChangeEvent@@QEAAXXZ
+; public: int __cdecl CSdidLookupTable::Init(class CiStorage * __ptr64) __ptr64
+?Init@CSdidLookupTable@@QEAAHPEAVCiStorage@@@Z
+; public: virtual void __cdecl CPropertyList::InitIterator(void) __ptr64
+?InitIterator@CPropertyList@@UEAAXXZ
+; public: void __cdecl CImpersonationTokenCache::Initialize(unsigned short const * __ptr64,int,int,int,unsigned long,unsigned long,unsigned long) __ptr64
+?Initialize@CImpersonationTokenCache@@QEAAXPEBGHHHKKK@Z
+; public: void __cdecl CDynStream::InitializeForRead(void) __ptr64
+?InitializeForRead@CDynStream@@QEAAXXZ
+; public: void __cdecl CDynStream::InitializeForWrite(unsigned long) __ptr64
+?InitializeForWrite@CDynStream@@QEAAXK@Z
+; protected: void __cdecl CDbCmdTreeNode::InsertChild(class CDbCmdTreeNode * __ptr64) __ptr64
+?InsertChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z
+; public: int __cdecl CMachineAdmin::IsCIEnabled(void) __ptr64
+?IsCIEnabled@CMachineAdmin@@QEAAHXZ
+; public: int __cdecl CMachineAdmin::IsCIPaused(void) __ptr64
+?IsCIPaused@CMachineAdmin@@QEAAHXZ
+; public: int __cdecl CMachineAdmin::IsCIStarted(void) __ptr64
+?IsCIStarted@CMachineAdmin@@QEAAHXZ
+; public: int __cdecl CMachineAdmin::IsCIStopped(void) __ptr64
+?IsCIStopped@CMachineAdmin@@QEAAHXZ
+; public: int __cdecl CCatalogAdmin::IsCatalogInactive(void) __ptr64
+?IsCatalogInactive@CCatalogAdmin@@QEAAHXZ
+; int __cdecl IsDirectoryWritable(unsigned short const * __ptr64)
+?IsDirectoryWritable@@YAHPEBG@Z
+; public: static int __cdecl CMetaDataMgr::IsIISAdminUp(int & __ptr64)
+?IsIISAdminUp@CMetaDataMgr@@SAHAEAH@Z
+; public: static int __cdecl CImpersonateSystem::IsImpersonated(void)
+?IsImpersonated@CImpersonateSystem@@SAHXZ
+; public: int __cdecl CRestriction::IsLeaf(void)const  __ptr64
+?IsLeaf@CRestriction@@QEBAHXZ
+; int __cdecl IsNullPointerVariant(struct tagPROPVARIANT * __ptr64)
+?IsNullPointerVariant@@YAHPEAUtagPROPVARIANT@@@Z
+; public: int __cdecl CCatalogAdmin::IsPaused(void) __ptr64
+?IsPaused@CCatalogAdmin@@QEAAHXZ
+; public: static int __cdecl CImpersonateSystem::IsRunningAsSystem(void)
+?IsRunningAsSystem@CImpersonateSystem@@SAHXZ
+; public: int __cdecl CDriveInfo::IsSameDrive(unsigned short const * __ptr64) __ptr64
+?IsSameDrive@CDriveInfo@@QEAAHPEBG@Z
+; long __cdecl IsScopeValid(unsigned short const * __ptr64,unsigned int,int)
+?IsScopeValid@@YAJPEBGIH@Z
+; public: int __cdecl CCatalogAdmin::IsStarted(void) __ptr64
+?IsStarted@CCatalogAdmin@@QEAAHXZ
+; public: int __cdecl CCatalogAdmin::IsStopped(void) __ptr64
+?IsStopped@CCatalogAdmin@@QEAAHXZ
+; public: int __cdecl CAllocStorageVariant::IsValid(void)const  __ptr64
+?IsValid@CAllocStorageVariant@@QEBAHXZ
+; public: int __cdecl CNodeRestriction::IsValid(void)const  __ptr64
+?IsValid@CNodeRestriction@@QEBAHXZ
+; public: int __cdecl COccRestriction::IsValid(void)const  __ptr64
+?IsValid@COccRestriction@@QEBAHXZ
+; public: int __cdecl CRestriction::IsValid(void)const  __ptr64
+?IsValid@CRestriction@@QEBAHXZ
+; public: int __cdecl CFilterDaemon::IsWaitingForDocument(void) __ptr64
+?IsWaitingForDocument@CFilterDaemon@@QEAAHXZ
+; public: int __cdecl CDriveInfo::IsWriteProtected(void) __ptr64
+?IsWriteProtected@CDriveInfo@@QEAAHXZ
+; public: void __cdecl CLocalGlobalPropertyList::Load(unsigned short const * __ptr64 const) __ptr64
+?Load@CLocalGlobalPropertyList@@QEAAXQEBG@Z
+; unsigned long __cdecl LocaleToCodepage(unsigned long)
+?LocaleToCodepage@@YAKK@Z
+; private: unsigned long __cdecl CPropertyStore::LokNewWorkId(unsigned long,int,int) __ptr64
+?LokNewWorkId@CPropertyStore@@AEAAKKHH@Z
+; public: int __cdecl CCatStateInfo::LokUpdate(void) __ptr64
+?LokUpdate@CCatStateInfo@@QEAAHXZ
+; public: void __cdecl CPropStoreManager::LongInit(int & __ptr64,unsigned long & __ptr64,void (__cdecl*)(unsigned long,int,void const * __ptr64),void const * __ptr64) __ptr64
+?LongInit@CPropStoreManager@@QEAAXAEAHAEAKP6AXKHPEBX@Z2@Z
+; private: unsigned int __cdecl CPropStoreInfo::Lookup(unsigned long) __ptr64
+?Lookup@CPropStoreInfo@@AEAAIK@Z
+; public: unsigned long __cdecl CSdidLookupTable::LookupSDID(void * __ptr64,unsigned long) __ptr64
+?LookupSDID@CSdidLookupTable@@QEAAKPEAXK@Z
+; public: void __cdecl CPhysStorage::MakeBackupCopy(class CPhysStorage & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64
+?MakeBackupCopy@CPhysStorage@@QEAAXAEAV1@AEAVPSaveProgressTracker@@@Z
+; public: void __cdecl CPidLookupTable::MakeBackupCopy(class PRcovStorageObj & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64
+?MakeBackupCopy@CPidLookupTable@@QEAAXAEAVPRcovStorageObj@@AEAVPSaveProgressTracker@@@Z
+; public: void __cdecl CPropStoreManager::MakeBackupCopy(struct IProgressNotify * __ptr64,int & __ptr64,class CiStorage & __ptr64,struct ICiEnumWorkids * __ptr64,struct IEnumString * __ptr64 * __ptr64) __ptr64
+?MakeBackupCopy@CPropStoreManager@@QEAAXPEAUIProgressNotify@@AEAHAEAVCiStorage@@PEAUICiEnumWorkids@@PEAPEAUIEnumString@@@Z
+; long __cdecl MakeICommand(struct IUnknown * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64)
+?MakeICommand@@YAJPEAPEAUIUnknown@@PEBG1PEAU1@@Z
+; long __cdecl MakeISearch(struct ISearchQueryHits * __ptr64 * __ptr64,class CDbRestriction * __ptr64,unsigned short const * __ptr64)
+?MakeISearch@@YAJPEAPEAUISearchQueryHits@@PEAVCDbRestriction@@PEBG@Z
+; long __cdecl MakeLocalICommand(struct IUnknown * __ptr64 * __ptr64,struct ICiCDocStore * __ptr64,struct IUnknown * __ptr64)
+?MakeLocalICommand@@YAJPEAPEAUIUnknown@@PEAUICiCDocStore@@PEAU1@@Z
+; long __cdecl MakeMetadataICommand(struct IUnknown * __ptr64 * __ptr64,enum CiMetaData,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64)
+?MakeMetadataICommand@@YAJPEAPEAUIUnknown@@W4CiMetaData@@PEBG2PEAU1@@Z
+; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64) __ptr64
+?MakePath@CFullPath@@QEAAXPEBG@Z
+; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64,unsigned int) __ptr64
+?MakePath@CFullPath@@QEAAXPEBGI@Z
+; private: void __cdecl CImpersonateSystem::MakePrivileged(void) __ptr64
+?MakePrivileged@CImpersonateSystem@@AEAAXXZ
+; public: void __cdecl CMmStreamConsecBuf::Map(unsigned long) __ptr64
+?Map@CMmStreamConsecBuf@@QEAAXK@Z
+; public: int __cdecl CDynStream::MarkDirty(void) __ptr64
+?MarkDirty@CDynStream@@QEAAHXZ
+; public: void __cdecl CBaseStorageVariant::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CBaseStorageVariant@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CContentRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CContentRestriction@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CDbCmdTreeNode::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CDbCmdTreeNode@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CFullPropSpec::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CFullPropSpec@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CNatLanguageRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CNatLanguageRestriction@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CNodeRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CNodeRestriction@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CNotRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CNotRestriction@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CPropNameArray::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CPropNameArray@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CPropertyRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CPropertyRestriction@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CRestriction@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CVectorRestriction::Marshall(class PSerStream & __ptr64)const  __ptr64
+?Marshall@CVectorRestriction@@QEBAXAEAVPSerStream@@@Z
+; public: int __cdecl CBufferCache::MinPageInUse(unsigned long & __ptr64) __ptr64
+?MinPageInUse@CBufferCache@@QEAAHAEAK@Z
+; public: int __cdecl CPhysStorage::MinPageInUse(unsigned long & __ptr64) __ptr64
+?MinPageInUse@CPhysStorage@@QEAAHAEAK@Z
+; unsigned long __cdecl MultiByteToXArrayWideChar(unsigned char const * __ptr64,unsigned long,unsigned int,class XArray<unsigned short> & __ptr64)
+?MultiByteToXArrayWideChar@@YAKPEBEKIAEAV?$XArray@G@@@Z
+; unsigned __int64 __cdecl My_wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int)
+?My_wcstoui64@@YA_KPEBGPEAPEAGH@Z
+; public: unsigned long __cdecl CPidRemapper::NameToReal(class CFullPropSpec const * __ptr64) __ptr64
+?NameToReal@CPidRemapper@@QEAAKPEBVCFullPropSpec@@@Z
+; public: static struct IStemmer * __ptr64 __cdecl CCiOle::NewStemmer(struct _GUID const & __ptr64)
+?NewStemmer@CCiOle@@SAPEAUIStemmer@@AEBU_GUID@@@Z
+; public: static struct IWordBreaker * __ptr64 __cdecl CCiOle::NewWordBreaker(struct _GUID const & __ptr64)
+?NewWordBreaker@CCiOle@@SAPEAUIWordBreaker@@AEBU_GUID@@@Z
+; public: int __cdecl CCatalogEnum::Next(void) __ptr64
+?Next@CCatalogEnum@@QEAAHXZ
+; public: virtual long __cdecl CEnumString::Next(unsigned long,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Next@CEnumString@@UEAAJKPEAPEAGPEAK@Z
+; public: virtual long __cdecl CEnumWorkid::Next(unsigned long,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?Next@CEnumWorkid@@UEAAJKPEAK0@Z
+; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Next(void) __ptr64
+?Next@CPropertyList@@UEAAPEBVCPropEntry@@XZ
+; public: int __cdecl CScopeEnum::Next(void) __ptr64
+?Next@CScopeEnum@@QEAAHXZ
+; public: unsigned long __cdecl CPropertyStoreWids::NextWorkId(void) __ptr64
+?NextWorkId@CPropertyStoreWids@@QEAAKXZ
+; public: unsigned int __cdecl CCatState::NumberOfColumns(void)const  __ptr64
+?NumberOfColumns@CCatState@@QEBAIXZ
+; public: unsigned int __cdecl CCatState::NumberOfSortProps(void)const  __ptr64
+?NumberOfSortProps@CCatState@@QEBAIXZ
+; public: void __cdecl CMmStream::Open(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64
+?Open@CMmStream@@QEAAXPEBGKKKKH@Z
+; public: int __cdecl COLEPropManager::Open(class CFunnyPath const & __ptr64) __ptr64
+?Open@COLEPropManager@@QEAAHAEBVCFunnyPath@@@Z
+; public: void __cdecl CMmStream::OpenExclusive(unsigned short * __ptr64,int) __ptr64
+?OpenExclusive@CMmStream@@QEAAXPEAGH@Z
+; struct _iobuf * __ptr64 __cdecl OpenFileFromPath(unsigned short const * __ptr64)
+?OpenFileFromPath@@YAPEAU_iobuf@@PEBG@Z
+; public: class CCompositePropRecord * __ptr64 __cdecl CPropStoreManager::OpenRecord(unsigned long,unsigned char * __ptr64) __ptr64
+?OpenRecord@CPropStoreManager@@QEAAPEAVCCompositePropRecord@@KPEAE@Z
+; public: class CCompositePropRecordForWrites * __ptr64 __cdecl CPropStoreManager::OpenRecordForWrites(unsigned long,unsigned char * __ptr64) __ptr64
+?OpenRecordForWrites@CPropStoreManager@@QEAAPEAVCCompositePropRecordForWrites@@KPEAE@Z
+; long __cdecl ParseCatalogURL(unsigned short const * __ptr64,class XPtrST<unsigned short> & __ptr64,class XPtrST<unsigned short> & __ptr64)
+?ParseCatalogURL@@YAJPEBGAEAV?$XPtrST@G@@1@Z
+; public: class CRestriction * __ptr64 __cdecl CParseCommandTree::ParseExpression(class CDbCmdTreeNode * __ptr64) __ptr64
+?ParseExpression@CParseCommandTree@@QEAAPEAVCRestriction@@PEAVCDbCmdTreeNode@@@Z
+; public: static void __cdecl CPropertyList::ParseOneLine(class CQueryScanner & __ptr64,int,class XPtr<class CPropEntry> & __ptr64)
+?ParseOneLine@CPropertyList@@SAXAEAVCQueryScanner@@HAEAV?$XPtr@VCPropEntry@@@@@Z
+; public: class CDbRestriction * __ptr64 __cdecl CQueryParser::ParseQueryPhrase(void) __ptr64
+?ParseQueryPhrase@CQueryParser@@QEAAPEAVCDbRestriction@@XZ
+; class CDbColumns * __ptr64 __cdecl ParseStringColumns(unsigned short const * __ptr64,struct IColumnMapper * __ptr64,unsigned long,class PVariableSet * __ptr64,class CDynArray<unsigned short> * __ptr64)
+?ParseStringColumns@@YAPEAVCDbColumns@@PEBGPEAUIColumnMapper@@KPEAVPVariableSet@@PEAV?$CDynArray@G@@@Z
+; public: int __cdecl CCatalogAdmin::Pause(void) __ptr64
+?Pause@CCatalogAdmin@@QEAAHXZ
+; public: int __cdecl CMachineAdmin::PauseCI(void) __ptr64
+?PauseCI@CMachineAdmin@@QEAAHXZ
+; public: virtual unsigned long __cdecl CMemDeSerStream::PeekULong(void) __ptr64
+?PeekULong@CMemDeSerStream@@UEAAKXZ
+; public: unsigned long __cdecl CPidMapper::PidToRealPid(unsigned long) __ptr64
+?PidToRealPid@CPidMapper@@QEAAKK@Z
+; public: unsigned long __cdecl CStandardPropMapper::PropertyToPropId(class CFullPropSpec const & __ptr64,int) __ptr64
+?PropertyToPropId@CStandardPropMapper@@QEAAKAEBVCFullPropSpec@@H@Z
+; public: virtual long __cdecl CFwPropertyMapper::PropertyToPropid(struct tagFULLPROPSPEC const * __ptr64,int,unsigned long * __ptr64) __ptr64
+?PropertyToPropid@CFwPropertyMapper@@UEAAJPEBUtagFULLPROPSPEC@@HPEAK@Z
+; public: void __cdecl CValueNormalizer::PutMaxValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64
+?PutMaxValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z
+; public: void __cdecl CValueNormalizer::PutMinValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64
+?PutMinValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z
+; public: void __cdecl CValueNormalizer::PutValue(unsigned long,unsigned long & __ptr64,class CStorageVariant const & __ptr64) __ptr64
+?PutValue@CValueNormalizer@@QEAAXKAEAKAEBVCStorageVariant@@@Z
+; void __cdecl PutWString(class PSerStream & __ptr64,unsigned short const * __ptr64)
+?PutWString@@YAXAEAVPSerStream@@PEBG@Z
+; private: class CDbRestriction * __ptr64 __cdecl CQueryParser::Query(class CDbNodeRestriction * __ptr64) __ptr64
+?Query@CQueryParser@@AEAAPEAVCDbRestriction@@PEAVCDbNodeRestriction@@@Z
+; public: class CCatalogAdmin * __ptr64 __cdecl CCatalogEnum::QueryCatalogAdmin(void) __ptr64
+?QueryCatalogAdmin@CCatalogEnum@@QEAAPEAVCCatalogAdmin@@XZ
+; public: class CCatalogAdmin * __ptr64 __cdecl CMachineAdmin::QueryCatalogAdmin(unsigned short const * __ptr64) __ptr64
+?QueryCatalogAdmin@CMachineAdmin@@QEAAPEAVCCatalogAdmin@@PEBG@Z
+; public: class CCatalogEnum * __ptr64 __cdecl CMachineAdmin::QueryCatalogEnum(void) __ptr64
+?QueryCatalogEnum@CMachineAdmin@@QEAAPEAVCCatalogEnum@@XZ
+; public: virtual long __cdecl CDbProperties::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CDbProperties@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CEmptyPropertyList::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CEmptyPropertyList@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CEnumString::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CEnumString@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CEnumWorkid::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CEnumWorkid@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CFwPropertyMapper::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CFwPropertyMapper@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CQueryUnknown::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CQueryUnknown@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryPidLookupTable(unsigned long) __ptr64
+?QueryPidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
+; public: class CScopeAdmin * __ptr64 __cdecl CCatalogAdmin::QueryScopeAdmin(unsigned short const * __ptr64) __ptr64
+?QueryScopeAdmin@CCatalogAdmin@@QEAAPEAVCScopeAdmin@@PEBG@Z
+; public: class CScopeAdmin * __ptr64 __cdecl CScopeEnum::QueryScopeAdmin(void) __ptr64
+?QueryScopeAdmin@CScopeEnum@@QEAAPEAVCScopeAdmin@@XZ
+; public: class CScopeEnum * __ptr64 __cdecl CCatalogAdmin::QueryScopeEnum(void) __ptr64
+?QueryScopeEnum@CCatalogAdmin@@QEAAPEAVCScopeEnum@@XZ
+; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryScopeList(unsigned long) __ptr64
+?QueryScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
+; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QuerySdidLookupTable(unsigned long) __ptr64
+?QuerySdidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
+; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryVirtualScopeList(unsigned long) __ptr64
+?QueryVirtualScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
+; public: void __cdecl CPidRemapper::ReBuild(class CPidMapper const & __ptr64) __ptr64
+?ReBuild@CPidRemapper@@QEAAXAEBVCPidMapper@@@Z
+; public: void __cdecl CQueryUnknown::ReInit(unsigned long,class CRowset * __ptr64 * __ptr64) __ptr64
+?ReInit@CQueryUnknown@@QEAAXKPEAPEAVCRowset@@@Z
+; public: void __cdecl CImpersonationTokenCache::ReInitializeIISScopes(void) __ptr64
+?ReInitializeIISScopes@CImpersonationTokenCache@@QEAAXXZ
+; private: virtual void __cdecl CPhysIndex::ReOpenStream(void) __ptr64
+?ReOpenStream@CPhysIndex@@EEAAXXZ
+; public: unsigned long __cdecl CDynStream::Read(void * __ptr64,unsigned long) __ptr64
+?Read@CDynStream@@QEAAKPEAXK@Z
+; public: unsigned long __cdecl CRcovStrmTrans::Read(void * __ptr64,unsigned long) __ptr64
+?Read@CRcovStrmTrans@@QEAAKPEAXK@Z
+; public: unsigned long __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned long) __ptr64
+?Read@CRegAccess@@QEAAKPEBGK@Z
+; public: unsigned short * __ptr64 __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?Read@CRegAccess@@QEAAPEAGPEBG0@Z
+; public: int __cdecl CPropStoreManager::ReadPrimaryProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
+?ReadPrimaryProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z
+; public: int __cdecl COLEPropManager::ReadProperty(class CFullPropSpec const & __ptr64,struct tagPROPVARIANT & __ptr64) __ptr64
+?ReadProperty@COLEPropManager@@QEAAHAEBVCFullPropSpec@@AEAUtagPROPVARIANT@@@Z
+; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
+?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@@Z
+; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64
+?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@PEAEPEAI@Z
+; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
+?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KPEAUtagPROPVARIANT@@PEAI@Z
+; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
+?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z
+; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64
+?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@PEAEPEAI@Z
+; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
+?ReadProperty@CPropStoreManager@@QEAAHKKPEAUtagPROPVARIANT@@PEAI@Z
+; public: int __cdecl CPropertyStore::ReadProperty(class CPropRecordNoLock & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
+?ReadProperty@CPropertyStore@@QEAAHAEAVCPropRecordNoLock@@KPEAUtagPROPVARIANT@@PEAI@Z
+; public: int __cdecl CPropertyStore::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
+?ReadProperty@CPropertyStore@@QEAAHKKAEAUtagPROPVARIANT@@@Z
+; public: unsigned char __cdecl CDFA::Recognize(unsigned short const * __ptr64) __ptr64
+?Recognize@CDFA@@QEAAEPEBG@Z
+; public: void __cdecl CCiRegParams::Refresh(struct ICiAdminParams * __ptr64,int) __ptr64
+?Refresh@CCiRegParams@@QEAAXPEAUICiAdminParams@@H@Z
+; public: void __cdecl CDefColumnRegEntry::Refresh(int) __ptr64
+?Refresh@CDefColumnRegEntry@@QEAAXH@Z
+; public: void __cdecl CWorkQueue::RefreshParams(unsigned long,unsigned long) __ptr64
+?RefreshParams@CWorkQueue@@QEAAXKK@Z
+; public: virtual unsigned long __cdecl CDbProperties::Release(void) __ptr64
+?Release@CDbProperties@@UEAAKXZ
+; public: virtual unsigned long __cdecl CEmptyPropertyList::Release(void) __ptr64
+?Release@CEmptyPropertyList@@UEAAKXZ
+; public: virtual unsigned long __cdecl CEnumString::Release(void) __ptr64
+?Release@CEnumString@@UEAAKXZ
+; public: virtual unsigned long __cdecl CEnumWorkid::Release(void) __ptr64
+?Release@CEnumWorkid@@UEAAKXZ
+; public: virtual unsigned long __cdecl CFwPropertyMapper::Release(void) __ptr64
+?Release@CFwPropertyMapper@@UEAAKXZ
+; public: void __cdecl CImpersonateRemoteAccess::Release(void) __ptr64
+?Release@CImpersonateRemoteAccess@@QEAAXXZ
+; public: virtual unsigned long __cdecl CQueryUnknown::Release(void) __ptr64
+?Release@CQueryUnknown@@UEAAKXZ
+; public: void __cdecl CWorkQueue::Release(class CWorkThread * __ptr64) __ptr64
+?Release@CWorkQueue@@QEAAXPEAVCWorkThread@@@Z
+; private: void __cdecl CPropertyStore::ReleaseRead(class CReadWriteLockRecord & __ptr64) __ptr64
+?ReleaseRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z
+; public: void __cdecl CWorkQueue::ReleaseWorkThreads(void) __ptr64
+?ReleaseWorkThreads@CWorkQueue@@QEAAXXZ
+; public: void __cdecl CColumns::Remove(unsigned int) __ptr64
+?Remove@CColumns@@QEAAXI@Z
+; public: void __cdecl CDbSortSet::Remove(unsigned int) __ptr64
+?Remove@CDbSortSet@@QEAAXI@Z
+; public: void __cdecl CSort::Remove(unsigned int) __ptr64
+?Remove@CSort@@QEAAXI@Z
+; private: void __cdecl CWorkQueue::Remove(class CWorkThread & __ptr64) __ptr64
+?Remove@CWorkQueue@@AEAAXAEAVCWorkThread@@@Z
+; public: void __cdecl CWorkQueue::Remove(class PWorkItem * __ptr64) __ptr64
+?Remove@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z
+; public: void __cdecl CMachineAdmin::RemoveCatalog(unsigned short const * __ptr64,int) __ptr64
+?RemoveCatalog@CMachineAdmin@@QEAAXPEBGH@Z
+; public: void __cdecl CMachineAdmin::RemoveCatalogFiles(unsigned short const * __ptr64) __ptr64
+?RemoveCatalogFiles@CMachineAdmin@@QEAAXPEBG@Z
+; public: class CRestriction * __ptr64 __cdecl CNodeRestriction::RemoveChild(unsigned int) __ptr64
+?RemoveChild@CNodeRestriction@@QEAAPEAVCRestriction@@I@Z
+; protected: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::RemoveFirstChild(void) __ptr64
+?RemoveFirstChild@CDbCmdTreeNode@@IEAAPEAV1@XZ
+; public: void __cdecl CCatalogAdmin::RemoveScope(unsigned short const * __ptr64) __ptr64
+?RemoveScope@CCatalogAdmin@@QEAAXPEBG@Z
+; public: void __cdecl CPhysStorage::Reopen(int) __ptr64
+?Reopen@CPhysStorage@@QEAAXH@Z
+; public: void __cdecl CEventLog::ReportEventW(class CEventItem & __ptr64) __ptr64
+?ReportEventW@CEventLog@@QEAAXAEAVCEventItem@@@Z
+; public: void __cdecl CFwEventItem::ReportEventW(struct ICiCAdviseStatus & __ptr64) __ptr64
+?ReportEventW@CFwEventItem@@QEAAXAEAUICiCAdviseStatus@@@Z
+; public: int __cdecl CPhysStorage::RequiresFlush(unsigned long) __ptr64
+?RequiresFlush@CPhysStorage@@QEAAHK@Z
+; public: void __cdecl CRegChangeEvent::Reset(void) __ptr64
+?Reset@CRegChangeEvent@@QEAAXXZ
+; public: void __cdecl CQueryScanner::ResetBuffer(unsigned short const * __ptr64) __ptr64
+?ResetBuffer@CQueryScanner@@QEAAXPEBG@Z
+; protected: void __cdecl CAllocStorageVariant::ResetType(class PMemoryAllocator & __ptr64) __ptr64
+?ResetType@CAllocStorageVariant@@IEAAXAEAVPMemoryAllocator@@@Z
+; public: void __cdecl CProcess::Resume(void) __ptr64
+?Resume@CProcess@@QEAAXXZ
+; public: void __cdecl CPhysStorage::ReturnBuffer(unsigned long,int,int) __ptr64
+?ReturnBuffer@CPhysStorage@@QEAAXKHH@Z
+; public: void __cdecl CMmStreamConsecBuf::Rewind(void) __ptr64
+?Rewind@CMmStreamConsecBuf@@QEAAXXZ
+; unsigned long __cdecl SaComputeSize(unsigned short,struct tagSAFEARRAY & __ptr64)
+?SaComputeSize@@YAKGAEAUtagSAFEARRAY@@@Z
+; int __cdecl SaCreateAndCopy(class PMemoryAllocator & __ptr64,struct tagSAFEARRAY * __ptr64,struct tagSAFEARRAY * __ptr64 * __ptr64)
+?SaCreateAndCopy@@YAHAEAVPMemoryAllocator@@PEAUtagSAFEARRAY@@PEAPEAU2@@Z
+; int __cdecl SaCreateData(class PVarAllocator & __ptr64,unsigned short,struct tagSAFEARRAY & __ptr64,struct tagSAFEARRAY & __ptr64,int)
+?SaCreateData@@YAHAEAVPVarAllocator@@GAEAUtagSAFEARRAY@@1H@Z
+; public: int __cdecl CRcovStrmTrans::Seek(unsigned long) __ptr64
+?Seek@CRcovStrmTrans@@QEAAHK@Z
+; public: void __cdecl CDbQueryResults::Serialize(class PSerStream & __ptr64)const  __ptr64
+?Serialize@CDbQueryResults@@QEBAXAEAVPSerStream@@@Z
+; public: void __cdecl CPidRemapper::Set(class XArray<unsigned long> & __ptr64) __ptr64
+?Set@CPidRemapper@@QEAAXAEAV?$XArray@K@@@Z
+; public: void __cdecl CScopeAdmin::SetAlias(unsigned short const * __ptr64) __ptr64
+?SetAlias@CScopeAdmin@@QEAAXPEBG@Z
+; public: void __cdecl CStorageVariant::SetBOOL(short,unsigned int) __ptr64
+?SetBOOL@CStorageVariant@@QEAAXFI@Z
+; public: void __cdecl CAllocStorageVariant::SetBSTR(unsigned short * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
+?SetBSTR@CAllocStorageVariant@@QEAAXPEAGAEAVPMemoryAllocator@@@Z
+; public: void __cdecl CStorageVariant::SetBSTR(unsigned short * __ptr64,unsigned int) __ptr64
+?SetBSTR@CStorageVariant@@QEAAXPEAGI@Z
+; public: void __cdecl CPropStoreManager::SetBackupSize(unsigned long,unsigned long) __ptr64
+?SetBackupSize@CPropStoreManager@@QEAAXKK@Z
+; public: void __cdecl CCatState::SetCD(unsigned short const * __ptr64) __ptr64
+?SetCD@CCatState@@QEAAXPEBG@Z
+; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID const * __ptr64) __ptr64
+?SetCLSID@CStorageVariant@@QEAAXPEBU_GUID@@@Z
+; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID,unsigned int) __ptr64
+?SetCLSID@CStorageVariant@@QEAAXU_GUID@@I@Z
+; public: void __cdecl CStorageVariant::SetCY(union tagCY,unsigned int) __ptr64
+?SetCY@CStorageVariant@@QEAAXTtagCY@@I@Z
+; public: void __cdecl CCatState::SetCatalog(unsigned short const * __ptr64) __ptr64
+?SetCatalog@CCatState@@QEAAXPEBG@Z
+; public: void __cdecl CCatState::SetColumn(unsigned short const * __ptr64,unsigned int) __ptr64
+?SetColumn@CCatState@@QEAAXPEBGI@Z
+; private: void __cdecl CQueryParser::SetCurrentProperty(unsigned short const * __ptr64,enum PropertyType) __ptr64
+?SetCurrentProperty@CQueryParser@@AEAAXPEBGW4PropertyType@@@Z
+; public: void __cdecl CStorageVariant::SetDATE(double,unsigned int) __ptr64
+?SetDATE@CStorageVariant@@QEAAXNI@Z
+; public: void __cdecl CCatalogAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64
+?SetDWORDParam@CCatalogAdmin@@QEAAXPEBGK@Z
+; public: void __cdecl CMachineAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64
+?SetDWORDParam@CMachineAdmin@@QEAAXPEBGK@Z
+; public: void __cdecl CCatState::SetDefaultProperty(unsigned short const * __ptr64) __ptr64
+?SetDefaultProperty@CCatState@@QEAAXPEBG@Z
+; public: void __cdecl CScopeAdmin::SetExclude(int) __ptr64
+?SetExclude@CScopeAdmin@@QEAAXH@Z
+; public: void __cdecl CStorageVariant::SetFILETIME(struct _FILETIME,unsigned int) __ptr64
+?SetFILETIME@CStorageVariant@@QEAAXU_FILETIME@@I@Z
+; public: void __cdecl CStorageVariant::SetI2(short,unsigned int) __ptr64
+?SetI2@CStorageVariant@@QEAAXFI@Z
+; public: void __cdecl CStorageVariant::SetI4(long,unsigned int) __ptr64
+?SetI4@CStorageVariant@@QEAAXJI@Z
+; public: void __cdecl CStorageVariant::SetI8(union _LARGE_INTEGER,unsigned int) __ptr64
+?SetI8@CStorageVariant@@QEAAXT_LARGE_INTEGER@@I@Z
+; public: void __cdecl CStorageVariant::SetLPSTR(char const * __ptr64,unsigned int) __ptr64
+?SetLPSTR@CStorageVariant@@QEAAXPEBDI@Z
+; public: void __cdecl CStorageVariant::SetLPWSTR(unsigned short const * __ptr64,unsigned int) __ptr64
+?SetLPWSTR@CStorageVariant@@QEAAXPEBGI@Z
+; public: void __cdecl CCatState::SetLocale(unsigned short const * __ptr64) __ptr64
+?SetLocale@CCatState@@QEAAXPEBG@Z
+; public: void __cdecl CScopeAdmin::SetLogonInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,class CCatalogAdmin & __ptr64) __ptr64
+?SetLogonInfo@CScopeAdmin@@QEAAXPEBG0AEAVCCatalogAdmin@@@Z
+; public: void __cdecl CPropStoreManager::SetMappedCacheSize(unsigned long,unsigned long) __ptr64
+?SetMappedCacheSize@CPropStoreManager@@QEAAXKK@Z
+; public: void __cdecl CCatState::SetNumberOfColumns(unsigned int) __ptr64
+?SetNumberOfColumns@CCatState@@QEAAXI@Z
+; public: void __cdecl CCatState::SetNumberOfSortProps(unsigned int) __ptr64
+?SetNumberOfSortProps@CCatState@@QEAAXI@Z
+; public: void __cdecl CScopeAdmin::SetPath(unsigned short const * __ptr64) __ptr64
+?SetPath@CScopeAdmin@@QEAAXPEBG@Z
+; public: void __cdecl CContentRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64
+?SetPhrase@CContentRestriction@@QEAAXPEBG@Z
+; public: void __cdecl CNatLanguageRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64
+?SetPhrase@CNatLanguageRestriction@@QEAAXPEBG@Z
+; public: void __cdecl CGenericCiProxy::SetPriority(unsigned long,unsigned long) __ptr64
+?SetPriority@CGenericCiProxy@@QEAAXKK@Z
+; public: virtual long __cdecl CDbProperties::SetProperties(unsigned long,struct tagDBPROPSET * __ptr64 const) __ptr64
+?SetProperties@CDbProperties@@UEAAJKQEAUtagDBPROPSET@@@Z
+; public: int __cdecl CDbColId::SetProperty(unsigned short const * __ptr64) __ptr64
+?SetProperty@CDbColId@@QEAAHPEBG@Z
+; public: int __cdecl CDbPropBaseRestriction::SetProperty(struct tagDBID const & __ptr64) __ptr64
+?SetProperty@CDbPropBaseRestriction@@QEAAHAEBUtagDBID@@@Z
+; public: int __cdecl CDbPropBaseRestriction::SetProperty(class CDbColumnNode const & __ptr64) __ptr64
+?SetProperty@CDbPropBaseRestriction@@QEAAHAEBVCDbColumnNode@@@Z
+; public: int __cdecl CFullPropSpec::SetProperty(unsigned short const * __ptr64) __ptr64
+?SetProperty@CFullPropSpec@@QEAAHPEBG@Z
+; public: void __cdecl CFullPropSpec::SetProperty(unsigned long) __ptr64
+?SetProperty@CFullPropSpec@@QEAAXK@Z
+; public: void __cdecl CStorageVariant::SetR4(float,unsigned int) __ptr64
+?SetR4@CStorageVariant@@QEAAXMI@Z
+; public: void __cdecl CStorageVariant::SetR8(double,unsigned int) __ptr64
+?SetR8@CStorageVariant@@QEAAXNI@Z
+; public: int __cdecl CDbSelectNode::SetRestriction(class CDbCmdTreeNode * __ptr64) __ptr64
+?SetRestriction@CDbSelectNode@@QEAAHPEAVCDbCmdTreeNode@@@Z
+; public: static void __cdecl CImpersonateSystem::SetRunningAsSystem(void)
+?SetRunningAsSystem@CImpersonateSystem@@SAXXZ
+; public: void __cdecl CMachineAdmin::SetSZParam(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+?SetSZParam@CMachineAdmin@@QEAAXPEBG0K@Z
+; void __cdecl SetScopeProperties(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64)
+?SetScopeProperties@@YAXPEAUICommand@@IPEBQEBGPEBK11@Z
+; long __cdecl SetScopePropertiesNoThrow(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64)
+?SetScopePropertiesNoThrow@@YAJPEAUICommand@@IPEBQEBGPEBK11@Z
+; void __cdecl SetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)
+?SetSecret@@YAXPEBG00K@Z
+; public: void __cdecl CCatState::SetSortProp(unsigned short const * __ptr64,enum SORTDIR,unsigned int) __ptr64
+?SetSortProp@CCatState@@QEAAXPEBGW4SORTDIR@@I@Z
+; public: void __cdecl CStorageVariant::SetUI1(unsigned char,unsigned int) __ptr64
+?SetUI1@CStorageVariant@@QEAAXEI@Z
+; public: void __cdecl CStorageVariant::SetUI2(unsigned short,unsigned int) __ptr64
+?SetUI2@CStorageVariant@@QEAAXGI@Z
+; public: void __cdecl CStorageVariant::SetUI4(unsigned long,unsigned int) __ptr64
+?SetUI4@CStorageVariant@@QEAAXKI@Z
+; public: void __cdecl CStorageVariant::SetUI8(union _ULARGE_INTEGER,unsigned int) __ptr64
+?SetUI8@CStorageVariant@@QEAAXT_ULARGE_INTEGER@@I@Z
+; public: void __cdecl CPropertyRestriction::SetValue(struct tagBLOB & __ptr64) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXAEAUtagBLOB@@@Z
+; public: void __cdecl CPropertyRestriction::SetValue(unsigned short * __ptr64) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXPEAG@Z
+; public: void __cdecl CPropertyRestriction::SetValue(struct _GUID * __ptr64) __ptr64
+?SetValue@CPropertyRestriction@@QEAAXPEAU_GUID@@@Z
+; public: void __cdecl CDbCmdTreeNode::SetWeight(long) __ptr64
+?SetWeight@CDbCmdTreeNode@@QEAAXJ@Z
+; public: void __cdecl CPropStoreManager::Setup(unsigned long,unsigned long,unsigned long,unsigned __int64,int,unsigned long) __ptr64
+?Setup@CPropStoreManager@@QEAAXKKK_KHK@Z
+; public: void __cdecl CDynStream::Shrink(class PStorage & __ptr64,unsigned long) __ptr64
+?Shrink@CDynStream@@QEAAXAEAVPStorage@@K@Z
+; public: unsigned long __cdecl CPhysStorage::ShrinkFromFront(unsigned long,unsigned long) __ptr64
+?ShrinkFromFront@CPhysStorage@@QEAAKKK@Z
+; public: void __cdecl CPhysStorage::ShrinkToFit(void) __ptr64
+?ShrinkToFit@CPhysStorage@@QEAAXXZ
+; public: static void __cdecl CCiOle::Shutdown(void)
+?Shutdown@CCiOle@@SAXXZ
+; public: void __cdecl CPropStoreManager::Shutdown(void) __ptr64
+?Shutdown@CPropStoreManager@@QEAAXXZ
+; public: void __cdecl CWorkQueue::Shutdown(void) __ptr64
+?Shutdown@CWorkQueue@@QEAAXXZ
+; public: unsigned long __cdecl CDbQueryResults::Size(void) __ptr64
+?Size@CDbQueryResults@@QEAAKXZ
+; public: virtual long __cdecl CEnumString::Skip(unsigned long) __ptr64
+?Skip@CEnumString@@UEAAJK@Z
+; public: virtual long __cdecl CEnumWorkid::Skip(unsigned long) __ptr64
+?Skip@CEnumWorkid@@UEAAJK@Z
+; public: virtual void __cdecl CMemDeSerStream::SkipBlob(unsigned long) __ptr64
+?SkipBlob@CMemDeSerStream@@UEAAXK@Z
+; public: virtual void __cdecl CMemDeSerStream::SkipByte(void) __ptr64
+?SkipByte@CMemDeSerStream@@UEAAXXZ
+; public: virtual void __cdecl CMemDeSerStream::SkipChar(unsigned long) __ptr64
+?SkipChar@CMemDeSerStream@@UEAAXK@Z
+; public: virtual void __cdecl CMemDeSerStream::SkipDouble(void) __ptr64
+?SkipDouble@CMemDeSerStream@@UEAAXXZ
+; public: virtual void __cdecl CMemDeSerStream::SkipFloat(void) __ptr64
+?SkipFloat@CMemDeSerStream@@UEAAXXZ
+; public: virtual void __cdecl CMemDeSerStream::SkipGUID(void) __ptr64
+?SkipGUID@CMemDeSerStream@@UEAAXXZ
+; public: virtual void __cdecl CMemDeSerStream::SkipLong(void) __ptr64
+?SkipLong@CMemDeSerStream@@UEAAXXZ
+; public: virtual void __cdecl CMemDeSerStream::SkipULong(void) __ptr64
+?SkipULong@CMemDeSerStream@@UEAAXXZ
+; public: virtual void __cdecl CMemDeSerStream::SkipUShort(void) __ptr64
+?SkipUShort@CMemDeSerStream@@UEAAXXZ
+; public: virtual void __cdecl CMemDeSerStream::SkipWChar(unsigned long) __ptr64
+?SkipWChar@CMemDeSerStream@@UEAAXK@Z
+; public: int __cdecl CCatalogAdmin::Start(void) __ptr64
+?Start@CCatalogAdmin@@QEAAHXZ
+; public: int __cdecl CMachineAdmin::StartCI(void) __ptr64
+?StartCI@CMachineAdmin@@QEAAHXZ
+; public: int __cdecl CCatalogAdmin::Stop(void) __ptr64
+?Stop@CCatalogAdmin@@QEAAHXZ
+; public: int __cdecl CMachineAdmin::StopCI(void) __ptr64
+?StopCI@CMachineAdmin@@QEAAHXZ
+; public: void __cdecl CFilterDaemon::StopFiltering(void) __ptr64
+?StopFiltering@CFilterDaemon@@QEAAXXZ
+; public: unsigned int __cdecl CKey::StrLen(void)const  __ptr64
+?StrLen@CKey@@QEBAIXZ
+; public: unsigned int __cdecl CKeyBuf::StrLen(void)const  __ptr64
+?StrLen@CKeyBuf@@QEBAIXZ
+; void __cdecl SystemExceptionTranslator(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
+?SystemExceptionTranslator@@YAXIPEAU_EXCEPTION_POINTERS@@@Z
+; public: unsigned long __cdecl CRestriction::TreeCount(void)const  __ptr64
+?TreeCount@CRestriction@@QEBAKXZ
+; public: void __cdecl CMachineAdmin::TunePerformance(int,unsigned short,unsigned short) __ptr64
+?TunePerformance@CMachineAdmin@@QEAAXHGG@Z
+; void __cdecl URLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long,int)
+?URLEscapeW@@YAXPEBGAEAVCVirtualString@@KH@Z
+; public: int __cdecl CDbProperties::UnMarshall(class PDeSerStream & __ptr64) __ptr64
+?UnMarshall@CDbProperties@@QEAAHAEAVPDeSerStream@@@Z
+; public: static class CRestriction * __ptr64 __cdecl CRestriction::UnMarshall(class PDeSerStream & __ptr64)
+?UnMarshall@CRestriction@@SAPEAV1@AEAVPDeSerStream@@@Z
+; public: static class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::UnMarshallTree(class PDeSerStream & __ptr64)
+?UnMarshallTree@CDbCmdTreeNode@@SAPEAV1@AEAVPDeSerStream@@@Z
+; void __cdecl UnPickle(int,class XPtr<class CColumnSet> & __ptr64,class XPtr<class CRestriction> & __ptr64,class XPtr<class CSortSet> & __ptr64,class XPtr<class CCategorizationSet> & __ptr64,class CRowsetProperties & __ptr64,class XPtr<class CPidMapper> & __ptr64,unsigned char * __ptr64,unsigned long)
+?UnPickle@@YAXHAEAV?$XPtr@VCColumnSet@@@@AEAV?$XPtr@VCRestriction@@@@AEAV?$XPtr@VCSortSet@@@@AEAV?$XPtr@VCCategorizationSet@@@@AEAVCRowsetProperties@@AEAV?$XPtr@VCPidMapper@@@@PEAEK@Z
+; protected: void __cdecl CRcovStrmTrans::Unmap(enum CRcovStorageHdr::DataCopyNum) __ptr64
+?Unmap@CRcovStrmTrans@@IEAAXW4DataCopyNum@CRcovStorageHdr@@@Z
+; unsigned long __cdecl UpdateContentIndex(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,int)
+?UpdateContentIndex@@YAKPEBG00H@Z
+; public: void __cdecl CDiskFreeStatus::UpdateDiskLowInfo(void) __ptr64
+?UpdateDiskLowInfo@CDiskFreeStatus@@QEAAXXZ
+; int __cdecl VT_VARIANT_EQ(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
+?VT_VARIANT_EQ@@YAHAEBUtagPROPVARIANT@@0@Z
+; int __cdecl VT_VARIANT_GE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
+?VT_VARIANT_GE@@YAHAEBUtagPROPVARIANT@@0@Z
+; int __cdecl VT_VARIANT_GT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
+?VT_VARIANT_GT@@YAHAEBUtagPROPVARIANT@@0@Z
+; int __cdecl VT_VARIANT_LE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
+?VT_VARIANT_LE@@YAHAEBUtagPROPVARIANT@@0@Z
+; int __cdecl VT_VARIANT_LT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
+?VT_VARIANT_LT@@YAHAEBUtagPROPVARIANT@@0@Z
+; int __cdecl VT_VARIANT_NE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
+?VT_VARIANT_NE@@YAHAEBUtagPROPVARIANT@@0@Z
+; int __cdecl ValidateScopeRestriction(class CRestriction * __ptr64)
+?ValidateScopeRestriction@@YAHPEAVCRestriction@@@Z
+; public: void __cdecl PRcovStorageObj::VerifyConsistency(void) __ptr64
+?VerifyConsistency@PRcovStorageObj@@QEAAXXZ
+; void __cdecl VerifyThreadHasAdminPrivilege(void)
+?VerifyThreadHasAdminPrivilege@@YAXXZ
+; unsigned long __cdecl WideCharToXArrayMultiByte(unsigned short const * __ptr64,unsigned long,unsigned int,class XArray<unsigned char> & __ptr64)
+?WideCharToXArrayMultiByte@@YAKPEBGKIAEAV?$XArray@E@@@Z
+; public: void __cdecl CDynStream::Write(void * __ptr64,unsigned long) __ptr64
+?Write@CDynStream@@QEAAXPEAXK@Z
+; protected: void __cdecl CRcovStrmTrans::Write(void const * __ptr64,unsigned long) __ptr64
+?Write@CRcovStrmTrans@@IEAAXPEBXK@Z
+; public: long __cdecl CPropStoreManager::WritePrimaryProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64
+?WritePrimaryProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z
+; public: long __cdecl CPropStoreManager::WritePrimaryProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64
+?WritePrimaryProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z
+; public: long __cdecl CPropStoreManager::WriteProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64
+?WriteProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z
+; public: long __cdecl CPropStoreManager::WriteProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64
+?WriteProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z
+; public: unsigned long __cdecl CPropStoreManager::WritePropertyInNewRecord(unsigned long,class CStorageVariant const & __ptr64) __ptr64
+?WritePropertyInNewRecord@CPropStoreManager@@QEAAKKAEBVCStorageVariant@@@Z
+; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbNestingNode::_FindGroupListAnchor(void) __ptr64
+?_FindGroupListAnchor@CDbNestingNode@@AEAAPEAVCDbProjectListAnchor@@XZ
+; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbProjectNode::_FindOrAddAnchor(void) __ptr64
+?_FindOrAddAnchor@CDbProjectNode@@AEAAPEAVCDbProjectListAnchor@@XZ
+; private: class CDbSortListAnchor * __ptr64 __cdecl CDbSortNode::_FindOrAddAnchor(void) __ptr64
+?_FindOrAddAnchor@CDbSortNode@@AEAAPEAVCDbSortListAnchor@@XZ
+; private: class CDbScalarValue * __ptr64 __cdecl CDbPropertyRestriction::_FindOrAddValueNode(void) __ptr64
+?_FindOrAddValueNode@CDbPropertyRestriction@@AEAAPEAVCDbScalarValue@@XZ
+; private: int __cdecl CImpersonateRemoteAccess::_ImpersonateIf(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+?_ImpersonateIf@CImpersonateRemoteAccess@@AEAAHPEBG0K@Z
+; unsigned __int64 __cdecl _wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int)
+?_wcstoui64@@YA_KPEBGPEAPEAGH@Z
+; void __cdecl ciDelete(void * __ptr64)
+?ciDelete@@YAXPEAX@Z
+; int __cdecl ciIsValidPointer(void const * __ptr64)
+?ciIsValidPointer@@YAHPEBX@Z
+; void * __ptr64 __cdecl ciNew(unsigned __int64)
+?ciNew@@YAPEAX_K@Z
+; public: unsigned long __cdecl CFileBuffer::fgetsw(class XGrowable<unsigned short,260> & __ptr64) __ptr64
+?fgetsw@CFileBuffer@@QEAAKAEAV?$XGrowable@G$0BAE@@@@Z
+; unsigned short * __ptr64 __cdecl wcsipattern(unsigned short * __ptr64,unsigned short const * __ptr64)
+?wcsipattern@@YAPEAGPEAGPEBG@Z
+AbortMerges
+BeginCacheTransaction
+BindIFilterFromStorage
+BindIFilterFromStream
+CIBuildQueryNode
+CIBuildQueryTree
+CICreateCommand
+CIGetGlobalPropertyList
+CIMakeICommand
+CIRestrictionToFullTree
+CIState
+CITextToFullTree
+CITextToFullTreeEx
+CITextToSelectTree
+CITextToSelectTreeEx
+CiSvcMain
+CollectCIISAPIPerformanceData
+CollectCIPerformanceData
+CollectFILTERPerformanceData
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+DoneCIISAPIPerformanceData
+DoneCIPerformanceData
+DoneFILTERPerformanceData
+EndCacheTransaction
+ForceMasterMerge
+InitializeCIISAPIPerformanceData
+InitializeCIPerformanceData
+InitializeFILTERPerformanceData
+LoadBHIFilter
+LoadBinaryFilter
+LoadIFilter
+LoadIFilterEx
+LoadTextFilter
+LocateCatalogs
+LocateCatalogsA
+LocateCatalogsW
+SetCatalogState
+SetupCache
+SetupCacheEx
+StartFWCiSvcWork
+StopFWCiSvcWork
+SvcEntry_CiSvc
diff --git a/mingw-w64-crt/lib64/racpldlg.def b/mingw-w64-crt/lib64/racpldlg.def
index cff45c0..19d5514 100644
--- a/mingw-w64-crt/lib64/racpldlg.def
+++ b/mingw-w64-crt/lib64/racpldlg.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file RAssistance.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RAssistance.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file RAssistance.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RAssistance.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/rasadhlp.def b/mingw-w64-crt/lib64/rasadhlp.def
index e85197d..29407cb 100644
--- a/mingw-w64-crt/lib64/rasadhlp.def
+++ b/mingw-w64-crt/lib64/rasadhlp.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file rasadhlp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasadhlp.dll
-EXPORTS
-AcsHlpAttemptConnection
-AcsHlpNbConnection
-AcsHlpNoteNewConnection
-WSAttemptAutodialAddr
-WSAttemptAutodialName
-WSNoteSuccessfulHostentLookup
+; 
+; Exports of file rasadhlp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasadhlp.dll
+EXPORTS
+AcsHlpAttemptConnection
+AcsHlpNbConnection
+AcsHlpNoteNewConnection
+WSAttemptAutodialAddr
+WSAttemptAutodialName
+WSNoteSuccessfulHostentLookup
diff --git a/mingw-w64-crt/lib64/rasapi32.def b/mingw-w64-crt/lib64/rasapi32.def
index e106196..effabee 100644
--- a/mingw-w64-crt/lib64/rasapi32.def
+++ b/mingw-w64-crt/lib64/rasapi32.def
@@ -1,150 +1,150 @@
-; 
-; Exports of file RASAPI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASAPI32.dll
-EXPORTS
-DDMFreePhonebookContext
-DDMGetPhonebookInfo
-DwCloneEntry
-DwDeleteSubEntry
-DwEnumEntriesForAllUsers
-DwEnumEntryDetails
-DwRasUninitialize
-RasAutoDialSharedConnection
-RasAutodialAddressToNetwork
-RasAutodialEntryToNetwork
-RasClearConnectionStatistics
-RasClearLinkStatistics
-RasConnectionNotificationA
-RasConnectionNotificationW
-RasCreatePhonebookEntryA
-RasCreatePhonebookEntryW
-RasDeleteEntryA
-RasDeleteEntryW
-RasDeleteSubEntryA
-RasDeleteSubEntryW
-RasDialA
-RasDialW
-RasDialWow
-RasEditPhonebookEntryA
-RasEditPhonebookEntryW
-RasEnumAutodialAddressesA
-RasEnumAutodialAddressesW
-RasEnumConnectionsA
-RasEnumConnectionsW
-RasEnumConnectionsWow
-RasEnumDevicesA
-RasEnumDevicesW
-RasEnumEntriesA
-RasEnumEntriesW
-RasEnumEntriesWow
-RasFreeEapUserIdentityA
-RasFreeEapUserIdentityW
-RasGetAutodialAddressA
-RasGetAutodialAddressW
-RasGetAutodialEnableA
-RasGetAutodialEnableW
-RasGetAutodialParamA
-RasGetAutodialParamW
-RasGetConnectResponse
-RasGetConnectStatusA
-RasGetConnectStatusW
-RasGetConnectStatusWow
-RasGetConnectionStatistics
-RasGetCountryInfoA
-RasGetCountryInfoW
-RasGetCredentialsA
-RasGetCredentialsW
-RasGetCustomAuthDataA
-RasGetCustomAuthDataW
-RasGetEapUserDataA
-RasGetEapUserDataW
-RasGetEapUserIdentityA
-RasGetEapUserIdentityW
-RasGetEntryDialParamsA
-RasGetEntryDialParamsW
-RasGetEntryHrasconnA
-RasGetEntryHrasconnW
-RasGetEntryPropertiesA
-RasGetEntryPropertiesW
-RasGetErrorStringA
-RasGetErrorStringW
-RasGetErrorStringWow
-RasGetHport
-RasGetLinkStatistics
-RasGetProjectionInfoA
-RasGetProjectionInfoW
-RasGetSubEntryHandleA
-RasGetSubEntryHandleW
-RasGetSubEntryPropertiesA
-RasGetSubEntryPropertiesW
-RasHangUpA
-RasHangUpW
-RasHangUpWow
-RasInvokeEapUI
-RasIsRouterConnection
-RasIsSharedConnection
-RasQueryRedialOnLinkFailure
-RasQuerySharedAutoDial
-RasQuerySharedConnection
-RasRenameEntryA
-RasRenameEntryW
-RasScriptExecute
-RasScriptGetEventCode
-RasScriptGetIpAddress
-RasScriptInit
-RasScriptReceive
-RasScriptSend
-RasScriptTerm
-RasSetAutodialAddressA
-RasSetAutodialAddressW
-RasSetAutodialEnableA
-RasSetAutodialEnableW
-RasSetAutodialParamA
-RasSetAutodialParamW
-RasSetCredentialsA
-RasSetCredentialsW
-RasSetCustomAuthDataA
-RasSetCustomAuthDataW
-RasSetEapUserDataA
-RasSetEapUserDataW
-RasSetEntryDialParamsA
-RasSetEntryDialParamsW
-RasSetEntryPropertiesA
-RasSetEntryPropertiesW
-RasSetOldPassword
-RasSetSharedAutoDial
-RasSetSubEntryPropertiesA
-RasSetSubEntryPropertiesW
-RasValidateEntryNameA
-RasValidateEntryNameW
-RasfileClose
-RasfileDeleteLine
-RasfileFindFirstLine
-RasfileFindLastLine
-RasfileFindMarkedLine
-RasfileFindNextKeyLine
-RasfileFindNextLine
-RasfileFindPrevLine
-RasfileFindSectionLine
-RasfileGetKeyValueFields
-RasfileGetLine
-RasfileGetLineMark
-RasfileGetLineText
-RasfileGetLineType
-RasfileGetSectionName
-RasfileInsertLine
-RasfileLoad
-RasfileLoadEx
-RasfileLoadInfo
-RasfilePutKeyValueFields
-RasfilePutLineMark
-RasfilePutLineText
-RasfilePutSectionName
-RasfileWrite
-SharedAccessResponseListToString
-SharedAccessResponseStringToList
-UnInitializeRAS
+; 
+; Exports of file RASAPI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASAPI32.dll
+EXPORTS
+DDMFreePhonebookContext
+DDMGetPhonebookInfo
+DwCloneEntry
+DwDeleteSubEntry
+DwEnumEntriesForAllUsers
+DwEnumEntryDetails
+DwRasUninitialize
+RasAutoDialSharedConnection
+RasAutodialAddressToNetwork
+RasAutodialEntryToNetwork
+RasClearConnectionStatistics
+RasClearLinkStatistics
+RasConnectionNotificationA
+RasConnectionNotificationW
+RasCreatePhonebookEntryA
+RasCreatePhonebookEntryW
+RasDeleteEntryA
+RasDeleteEntryW
+RasDeleteSubEntryA
+RasDeleteSubEntryW
+RasDialA
+RasDialW
+RasDialWow
+RasEditPhonebookEntryA
+RasEditPhonebookEntryW
+RasEnumAutodialAddressesA
+RasEnumAutodialAddressesW
+RasEnumConnectionsA
+RasEnumConnectionsW
+RasEnumConnectionsWow
+RasEnumDevicesA
+RasEnumDevicesW
+RasEnumEntriesA
+RasEnumEntriesW
+RasEnumEntriesWow
+RasFreeEapUserIdentityA
+RasFreeEapUserIdentityW
+RasGetAutodialAddressA
+RasGetAutodialAddressW
+RasGetAutodialEnableA
+RasGetAutodialEnableW
+RasGetAutodialParamA
+RasGetAutodialParamW
+RasGetConnectResponse
+RasGetConnectStatusA
+RasGetConnectStatusW
+RasGetConnectStatusWow
+RasGetConnectionStatistics
+RasGetCountryInfoA
+RasGetCountryInfoW
+RasGetCredentialsA
+RasGetCredentialsW
+RasGetCustomAuthDataA
+RasGetCustomAuthDataW
+RasGetEapUserDataA
+RasGetEapUserDataW
+RasGetEapUserIdentityA
+RasGetEapUserIdentityW
+RasGetEntryDialParamsA
+RasGetEntryDialParamsW
+RasGetEntryHrasconnA
+RasGetEntryHrasconnW
+RasGetEntryPropertiesA
+RasGetEntryPropertiesW
+RasGetErrorStringA
+RasGetErrorStringW
+RasGetErrorStringWow
+RasGetHport
+RasGetLinkStatistics
+RasGetProjectionInfoA
+RasGetProjectionInfoW
+RasGetSubEntryHandleA
+RasGetSubEntryHandleW
+RasGetSubEntryPropertiesA
+RasGetSubEntryPropertiesW
+RasHangUpA
+RasHangUpW
+RasHangUpWow
+RasInvokeEapUI
+RasIsRouterConnection
+RasIsSharedConnection
+RasQueryRedialOnLinkFailure
+RasQuerySharedAutoDial
+RasQuerySharedConnection
+RasRenameEntryA
+RasRenameEntryW
+RasScriptExecute
+RasScriptGetEventCode
+RasScriptGetIpAddress
+RasScriptInit
+RasScriptReceive
+RasScriptSend
+RasScriptTerm
+RasSetAutodialAddressA
+RasSetAutodialAddressW
+RasSetAutodialEnableA
+RasSetAutodialEnableW
+RasSetAutodialParamA
+RasSetAutodialParamW
+RasSetCredentialsA
+RasSetCredentialsW
+RasSetCustomAuthDataA
+RasSetCustomAuthDataW
+RasSetEapUserDataA
+RasSetEapUserDataW
+RasSetEntryDialParamsA
+RasSetEntryDialParamsW
+RasSetEntryPropertiesA
+RasSetEntryPropertiesW
+RasSetOldPassword
+RasSetSharedAutoDial
+RasSetSubEntryPropertiesA
+RasSetSubEntryPropertiesW
+RasValidateEntryNameA
+RasValidateEntryNameW
+RasfileClose
+RasfileDeleteLine
+RasfileFindFirstLine
+RasfileFindLastLine
+RasfileFindMarkedLine
+RasfileFindNextKeyLine
+RasfileFindNextLine
+RasfileFindPrevLine
+RasfileFindSectionLine
+RasfileGetKeyValueFields
+RasfileGetLine
+RasfileGetLineMark
+RasfileGetLineText
+RasfileGetLineType
+RasfileGetSectionName
+RasfileInsertLine
+RasfileLoad
+RasfileLoadEx
+RasfileLoadInfo
+RasfilePutKeyValueFields
+RasfilePutLineMark
+RasfilePutLineText
+RasfilePutSectionName
+RasfileWrite
+SharedAccessResponseListToString
+SharedAccessResponseStringToList
+UnInitializeRAS
diff --git a/mingw-w64-crt/lib64/rasauto.def b/mingw-w64-crt/lib64/rasauto.def
index 3d21a8d..ee08c8c 100644
--- a/mingw-w64-crt/lib64/rasauto.def
+++ b/mingw-w64-crt/lib64/rasauto.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file rasauto.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasauto.dll
-EXPORTS
-ServiceMain
-SetAddressDisabledEx
+; 
+; Exports of file rasauto.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasauto.dll
+EXPORTS
+ServiceMain
+SetAddressDisabledEx
diff --git a/mingw-w64-crt/lib64/raschap.def b/mingw-w64-crt/lib64/raschap.def
index 494747c..b589ef1 100644
--- a/mingw-w64-crt/lib64/raschap.def
+++ b/mingw-w64-crt/lib64/raschap.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file RASCHAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASCHAP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-RasCpEnumProtocolIds
-RasCpGetInfo
-RasEapCreateConnectionProperties
-RasEapCreateUserProperties
-RasEapFreeMemory
-RasEapGetCredentials
-RasEapGetIdentity
-RasEapGetInfo
-RasEapInvokeConfigUI
-RasEapInvokeInteractiveUI
+; 
+; Exports of file RASCHAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASCHAP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+RasCpEnumProtocolIds
+RasCpGetInfo
+RasEapCreateConnectionProperties
+RasEapCreateUserProperties
+RasEapFreeMemory
+RasEapGetCredentials
+RasEapGetIdentity
+RasEapGetInfo
+RasEapInvokeConfigUI
+RasEapInvokeInteractiveUI
diff --git a/mingw-w64-crt/lib64/rasctrs.def b/mingw-w64-crt/lib64/rasctrs.def
index 0383b24..0ee9d14 100644
--- a/mingw-w64-crt/lib64/rasctrs.def
+++ b/mingw-w64-crt/lib64/rasctrs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file rasctrs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasctrs.dll
-EXPORTS
-OpenRasPerformanceData
-CollectRasPerformanceData
-CloseRasPerformanceData
+; 
+; Exports of file rasctrs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasctrs.dll
+EXPORTS
+OpenRasPerformanceData
+CollectRasPerformanceData
+CloseRasPerformanceData
diff --git a/mingw-w64-crt/lib64/rasdlg.def b/mingw-w64-crt/lib64/rasdlg.def
index 5892d4d..b5a82d2 100644
--- a/mingw-w64-crt/lib64/rasdlg.def
+++ b/mingw-w64-crt/lib64/rasdlg.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file RASDLG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASDLG.dll
-EXPORTS
-DwTerminalDlg
-GetRasDialOutProtocols
-RasAutodialDisableDlgA
-RasAutodialDisableDlgW
-RasAutodialQueryDlgA
-RasAutodialQueryDlgW
-RasDialDlgA
-RasDialDlgW
-RasEntryDlgA
-RasEntryDlgW
-RasMonitorDlgA
-RasMonitorDlgW
-RasPhonebookDlgA
-RasPhonebookDlgW
-RasSrvAddPropPages
-RasSrvAddWizPages
-RasSrvAllowConnectionsConfig
-RasSrvCleanupService
-RasSrvEnumConnections
-RasSrvHangupConnection
-RasSrvInitializeService
-RasSrvIsConnectionConnected
-RasSrvIsICConfigured
-RasSrvIsServiceRunning
-RasSrvQueryShowIcon
-RasUserEnableManualDial
-RasUserGetManualDial
-RasUserPrefsDlg
-RasWizCreateNewEntry
-RasWizGetNCCFlags
-RasWizGetSuggestedEntryName
-RasWizGetUserInputConnectionName
-RasWizIsEntryRenamable
-RasWizQueryMaxPageCount
-RasWizSetEntryName
-RouterEntryDlgA
-RouterEntryDlgW
+; 
+; Exports of file RASDLG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASDLG.dll
+EXPORTS
+DwTerminalDlg
+GetRasDialOutProtocols
+RasAutodialDisableDlgA
+RasAutodialDisableDlgW
+RasAutodialQueryDlgA
+RasAutodialQueryDlgW
+RasDialDlgA
+RasDialDlgW
+RasEntryDlgA
+RasEntryDlgW
+RasMonitorDlgA
+RasMonitorDlgW
+RasPhonebookDlgA
+RasPhonebookDlgW
+RasSrvAddPropPages
+RasSrvAddWizPages
+RasSrvAllowConnectionsConfig
+RasSrvCleanupService
+RasSrvEnumConnections
+RasSrvHangupConnection
+RasSrvInitializeService
+RasSrvIsConnectionConnected
+RasSrvIsICConfigured
+RasSrvIsServiceRunning
+RasSrvQueryShowIcon
+RasUserEnableManualDial
+RasUserGetManualDial
+RasUserPrefsDlg
+RasWizCreateNewEntry
+RasWizGetNCCFlags
+RasWizGetSuggestedEntryName
+RasWizGetUserInputConnectionName
+RasWizIsEntryRenamable
+RasWizQueryMaxPageCount
+RasWizSetEntryName
+RouterEntryDlgA
+RouterEntryDlgW
diff --git a/mingw-w64-crt/lib64/rasman.def b/mingw-w64-crt/lib64/rasman.def
index ab529f6..12e3d65 100644
--- a/mingw-w64-crt/lib64/rasman.def
+++ b/mingw-w64-crt/lib64/rasman.def
@@ -1,170 +1,170 @@
-; 
-; Exports of file rasman.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasman.dll
-EXPORTS
-DwRasGetHostByName
-IsRasmanProcess
-RasActivateRoute
-RasActivateRouteEx
-RasAddConnectionPort
-RasAddNotification
-RasAllocateRoute
-RasBundleClearStatistics
-RasBundleClearStatisticsEx
-RasBundleGetPort
-RasBundleGetStatistics
-RasBundleGetStatisticsEx
-RasCompressionGetInfo
-RasCompressionSetInfo
-RasConnectionEnum
-RasConnectionGetStatistics
-RasCreateConnection
-RasDeAllocateRoute
-RasDestroyConnection
-RasDeviceConnect
-RasDeviceEnum
-RasDeviceGetInfo
-RasDeviceSetInfo
-RasDoIke
-RasEnableIpSec
-RasEnumConnectionPorts
-RasEnumLanNets
-RasFindPrerequisiteEntry
-RasFreeBuffer
-RasGetBandwidthUtilization
-RasGetBestInterface
-RasGetBuffer
-RasGetCalledIdInfo
-RasGetConnectInfo
-RasGetConnectionParams
-RasGetConnectionUserData
-RasGetCustomScriptDll
-RasGetDevConfig
-RasGetDevConfigEx
-RasGetDeviceConfigInfo
-RasGetDeviceName
-RasGetDeviceNameW
-RasGetDialParams
-RasGetEapUserInfo
-RasGetFramingCapabilities
-RasGetHConnFromEntry
-RasGetHportFromConnection
-RasGetInfo
-RasGetInfoEx
-RasGetKey
-RasGetNdiswanDriverCaps
-RasGetNumPortOpen
-RasGetPortUserData
-RasGetProtocolInfo
-RasGetTimeSinceLastActivity
-RasGetUnicodeDeviceName
-RasGetUserCredentials
-RasInitialize
-RasInitializeNoWait
-RasIsIpSecEnabled
-RasIsPulseDial
-RasIsTrustedCustomDll
-RasLinkGetStatistics
-RasPnPControl
-RasPortBundle
-RasPortCancelReceive
-RasPortClearStatistics
-RasPortClose
-RasPortConnectComplete
-RasPortDisconnect
-RasPortEnum
-RasPortEnumProtocols
-RasPortFree
-RasPortGetBundle
-RasPortGetBundledPort
-RasPortGetFramingEx
-RasPortGetInfo
-RasPortGetProtocolCompression
-RasPortGetStatistics
-RasPortGetStatisticsEx
-RasPortListen
-RasPortOpen
-RasPortOpenEx
-RasPortReceive
-RasPortReceiveEx
-RasPortRegisterSlip
-RasPortReserve
-RasPortRetrieveUserData
-RasPortSend
-RasPortSetFraming
-RasPortSetFramingEx
-RasPortSetInfo
-RasPortSetProtocolCompression
-RasPortStoreUserData
-RasPppCallback
-RasPppChangePassword
-RasPppGetEapInfo
-RasPppGetInfo
-RasPppRetry
-RasPppSetEapInfo
-RasPppStart
-RasPppStarted
-RasPppStop
-RasProtocolEnum
-RasRPCBind
-RasRefConnection
-RasReferenceCustomCount
-RasReferenceRasman
-RasRegisterPnPEvent
-RasRegisterPnPHandler
-RasRegisterRedialCallback
-RasRequestNotification
-RasRpcConnect
-RasRpcConnectServer
-RasRpcDeleteEntry
-RasRpcDeviceEnum
-RasRpcDisconnect
-RasRpcDisconnectServer
-RasRpcEnumConnections
-RasRpcGetCountryInfo
-RasRpcGetDevConfig
-RasRpcGetErrorString
-RasRpcGetInstalledProtocols
-RasRpcGetInstalledProtocolsEx
-RasRpcGetSystemDirectory
-RasRpcGetUserPreferences
-RasRpcGetVersion
-RasRpcPortEnum
-RasRpcPortGetInfo
-RasRpcRemoteGetSystemDirectory
-RasRpcRemoteGetUserPreferences
-RasRpcRemoteRasDeleteEntry
-RasRpcRemoteSetUserPreferences
-RasRpcSetUserPreferences
-RasRpcUnloadDll
-RasSecurityDialogGetInfo
-RasSecurityDialogReceive
-RasSecurityDialogSend
-RasSendCreds
-RasSendNotification
-RasSendPppMessageToRasman
-RasServerPortClose
-RasSetAddressDisable
-RasSetBapPolicy
-RasSetCachedCredentials
-RasSetCalledIdInfo
-RasSetCommSettings
-RasSetConnectionParams
-RasSetConnectionUserData
-RasSetDevConfig
-RasSetDeviceConfigInfo
-RasSetDialParams
-RasSetEapLogonInfo
-RasSetEapUserInfo
-RasSetIoCompletionPort
-RasSetKey
-RasSetPortUserData
-RasSetRasdialInfo
-RasSetRouterUsage
-RasSignalNewConnection
-RasStartRasAutoIfRequired
-RasmanUninitialize
+; 
+; Exports of file rasman.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasman.dll
+EXPORTS
+DwRasGetHostByName
+IsRasmanProcess
+RasActivateRoute
+RasActivateRouteEx
+RasAddConnectionPort
+RasAddNotification
+RasAllocateRoute
+RasBundleClearStatistics
+RasBundleClearStatisticsEx
+RasBundleGetPort
+RasBundleGetStatistics
+RasBundleGetStatisticsEx
+RasCompressionGetInfo
+RasCompressionSetInfo
+RasConnectionEnum
+RasConnectionGetStatistics
+RasCreateConnection
+RasDeAllocateRoute
+RasDestroyConnection
+RasDeviceConnect
+RasDeviceEnum
+RasDeviceGetInfo
+RasDeviceSetInfo
+RasDoIke
+RasEnableIpSec
+RasEnumConnectionPorts
+RasEnumLanNets
+RasFindPrerequisiteEntry
+RasFreeBuffer
+RasGetBandwidthUtilization
+RasGetBestInterface
+RasGetBuffer
+RasGetCalledIdInfo
+RasGetConnectInfo
+RasGetConnectionParams
+RasGetConnectionUserData
+RasGetCustomScriptDll
+RasGetDevConfig
+RasGetDevConfigEx
+RasGetDeviceConfigInfo
+RasGetDeviceName
+RasGetDeviceNameW
+RasGetDialParams
+RasGetEapUserInfo
+RasGetFramingCapabilities
+RasGetHConnFromEntry
+RasGetHportFromConnection
+RasGetInfo
+RasGetInfoEx
+RasGetKey
+RasGetNdiswanDriverCaps
+RasGetNumPortOpen
+RasGetPortUserData
+RasGetProtocolInfo
+RasGetTimeSinceLastActivity
+RasGetUnicodeDeviceName
+RasGetUserCredentials
+RasInitialize
+RasInitializeNoWait
+RasIsIpSecEnabled
+RasIsPulseDial
+RasIsTrustedCustomDll
+RasLinkGetStatistics
+RasPnPControl
+RasPortBundle
+RasPortCancelReceive
+RasPortClearStatistics
+RasPortClose
+RasPortConnectComplete
+RasPortDisconnect
+RasPortEnum
+RasPortEnumProtocols
+RasPortFree
+RasPortGetBundle
+RasPortGetBundledPort
+RasPortGetFramingEx
+RasPortGetInfo
+RasPortGetProtocolCompression
+RasPortGetStatistics
+RasPortGetStatisticsEx
+RasPortListen
+RasPortOpen
+RasPortOpenEx
+RasPortReceive
+RasPortReceiveEx
+RasPortRegisterSlip
+RasPortReserve
+RasPortRetrieveUserData
+RasPortSend
+RasPortSetFraming
+RasPortSetFramingEx
+RasPortSetInfo
+RasPortSetProtocolCompression
+RasPortStoreUserData
+RasPppCallback
+RasPppChangePassword
+RasPppGetEapInfo
+RasPppGetInfo
+RasPppRetry
+RasPppSetEapInfo
+RasPppStart
+RasPppStarted
+RasPppStop
+RasProtocolEnum
+RasRPCBind
+RasRefConnection
+RasReferenceCustomCount
+RasReferenceRasman
+RasRegisterPnPEvent
+RasRegisterPnPHandler
+RasRegisterRedialCallback
+RasRequestNotification
+RasRpcConnect
+RasRpcConnectServer
+RasRpcDeleteEntry
+RasRpcDeviceEnum
+RasRpcDisconnect
+RasRpcDisconnectServer
+RasRpcEnumConnections
+RasRpcGetCountryInfo
+RasRpcGetDevConfig
+RasRpcGetErrorString
+RasRpcGetInstalledProtocols
+RasRpcGetInstalledProtocolsEx
+RasRpcGetSystemDirectory
+RasRpcGetUserPreferences
+RasRpcGetVersion
+RasRpcPortEnum
+RasRpcPortGetInfo
+RasRpcRemoteGetSystemDirectory
+RasRpcRemoteGetUserPreferences
+RasRpcRemoteRasDeleteEntry
+RasRpcRemoteSetUserPreferences
+RasRpcSetUserPreferences
+RasRpcUnloadDll
+RasSecurityDialogGetInfo
+RasSecurityDialogReceive
+RasSecurityDialogSend
+RasSendCreds
+RasSendNotification
+RasSendPppMessageToRasman
+RasServerPortClose
+RasSetAddressDisable
+RasSetBapPolicy
+RasSetCachedCredentials
+RasSetCalledIdInfo
+RasSetCommSettings
+RasSetConnectionParams
+RasSetConnectionUserData
+RasSetDevConfig
+RasSetDeviceConfigInfo
+RasSetDialParams
+RasSetEapLogonInfo
+RasSetEapUserInfo
+RasSetIoCompletionPort
+RasSetKey
+RasSetPortUserData
+RasSetRasdialInfo
+RasSetRouterUsage
+RasSignalNewConnection
+RasStartRasAutoIfRequired
+RasmanUninitialize
diff --git a/mingw-w64-crt/lib64/rasmans.def b/mingw-w64-crt/lib64/rasmans.def
index 44c0537..bdc61f8 100644
--- a/mingw-w64-crt/lib64/rasmans.def
+++ b/mingw-w64-crt/lib64/rasmans.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file rasmans.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasmans.dll
-EXPORTS
-ServiceMain
-ServiceRequestInProcess
-SetEntryDialParams
-_RasmanEngine
-_RasmanInit
+; 
+; Exports of file rasmans.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasmans.dll
+EXPORTS
+ServiceMain
+ServiceRequestInProcess
+SetEntryDialParams
+_RasmanEngine
+_RasmanInit
diff --git a/mingw-w64-crt/lib64/rasmontr.def b/mingw-w64-crt/lib64/rasmontr.def
index 8ebae62..4831aa7 100644
--- a/mingw-w64-crt/lib64/rasmontr.def
+++ b/mingw-w64-crt/lib64/rasmontr.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file RASMONTR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASMONTR.dll
-EXPORTS
-GetDiagnosticFunctions
-InitHelperDll
-RutlAlloc
-RutlAssignmentFromTokenAndDword
-RutlAssignmentFromTokens
-RutlCloseDumpFile
-RutlCreateDumpFile
-RutlDwordDup
-RutlFree
-RutlGetOsVersion
-RutlGetTagToken
-RutlIsHelpToken
-RutlParse
-RutlStrDup
+; 
+; Exports of file RASMONTR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASMONTR.dll
+EXPORTS
+GetDiagnosticFunctions
+InitHelperDll
+RutlAlloc
+RutlAssignmentFromTokenAndDword
+RutlAssignmentFromTokens
+RutlCloseDumpFile
+RutlCreateDumpFile
+RutlDwordDup
+RutlFree
+RutlGetOsVersion
+RutlGetTagToken
+RutlIsHelpToken
+RutlParse
+RutlStrDup
diff --git a/mingw-w64-crt/lib64/rasmxs.def b/mingw-w64-crt/lib64/rasmxs.def
index 32bad7d..71c50b6 100644
--- a/mingw-w64-crt/lib64/rasmxs.def
+++ b/mingw-w64-crt/lib64/rasmxs.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file rasmxs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasmxs.dll
-EXPORTS
-DeviceConnect
-DeviceDone
-DeviceEnum
-DeviceGetInfo
-DeviceListen
-DeviceSetInfo
-DeviceWork
+; 
+; Exports of file rasmxs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasmxs.dll
+EXPORTS
+DeviceConnect
+DeviceDone
+DeviceEnum
+DeviceGetInfo
+DeviceListen
+DeviceSetInfo
+DeviceWork
diff --git a/mingw-w64-crt/lib64/rasppp.def b/mingw-w64-crt/lib64/rasppp.def
index f70a2a2..d7e4582 100644
--- a/mingw-w64-crt/lib64/rasppp.def
+++ b/mingw-w64-crt/lib64/rasppp.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file rasppp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasppp.dll
-EXPORTS
-HelperResetDefaultInterfaceNet
-HelperResetDefaultInterfaceNetEx
-HelperSetDefaultInterfaceNet
-HelperSetDefaultInterfaceNetEx
-IpxCpInit
-IpxcpBind
-PppDdmBapCallbackResult
-PppDdmCallbackDone
-PppDdmChangeNotification
-PppDdmDeInit
-PppDdmInit
-PppDdmRemoveQuarantine
-PppDdmSendInterfaceInfo
-PppDdmStart
-PppDdmStop
-PppStop
-RasCpEnumProtocolIds
-RasCpGetInfo
-RasSrvrAcquireAddress
-RasSrvrActivateIp
-RasSrvrInitialize
-RasSrvrQueryServerAddresses
-RasSrvrReleaseAddress
-RasSrvrUninitialize
-SendPPPMessageToEngine
-StartPPP
-StopPPP
+; 
+; Exports of file rasppp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasppp.dll
+EXPORTS
+HelperResetDefaultInterfaceNet
+HelperResetDefaultInterfaceNetEx
+HelperSetDefaultInterfaceNet
+HelperSetDefaultInterfaceNetEx
+IpxCpInit
+IpxcpBind
+PppDdmBapCallbackResult
+PppDdmCallbackDone
+PppDdmChangeNotification
+PppDdmDeInit
+PppDdmInit
+PppDdmRemoveQuarantine
+PppDdmSendInterfaceInfo
+PppDdmStart
+PppDdmStop
+PppStop
+RasCpEnumProtocolIds
+RasCpGetInfo
+RasSrvrAcquireAddress
+RasSrvrActivateIp
+RasSrvrInitialize
+RasSrvrQueryServerAddresses
+RasSrvrReleaseAddress
+RasSrvrUninitialize
+SendPPPMessageToEngine
+StartPPP
+StopPPP
diff --git a/mingw-w64-crt/lib64/rasrad.def b/mingw-w64-crt/lib64/rasrad.def
index d896fb2..f8c039f 100644
--- a/mingw-w64-crt/lib64/rasrad.def
+++ b/mingw-w64-crt/lib64/rasrad.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file RASRAD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASRAD.dll
-EXPORTS
-Open
-Collect
-Close
-RasAcctConfigChangeNotification
-RasAcctProviderFreeAttributes
-RasAcctProviderInitialize
-RasAcctProviderInterimAccounting
-RasAcctProviderStartAccounting
-RasAcctProviderStopAccounting
-RasAcctProviderTerminate
-RasAuthConfigChangeNotification
-RasAuthProviderAuthenticateUser
-RasAuthProviderFreeAttributes
-RasAuthProviderInitialize
-RasAuthProviderTerminate
+; 
+; Exports of file RASRAD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASRAD.dll
+EXPORTS
+Open
+Collect
+Close
+RasAcctConfigChangeNotification
+RasAcctProviderFreeAttributes
+RasAcctProviderInitialize
+RasAcctProviderInterimAccounting
+RasAcctProviderStartAccounting
+RasAcctProviderStopAccounting
+RasAcctProviderTerminate
+RasAuthConfigChangeNotification
+RasAuthProviderAuthenticateUser
+RasAuthProviderFreeAttributes
+RasAuthProviderInitialize
+RasAuthProviderTerminate
diff --git a/mingw-w64-crt/lib64/rassapi.def b/mingw-w64-crt/lib64/rassapi.def
index e54b63d..df82eb6 100644
--- a/mingw-w64-crt/lib64/rassapi.def
+++ b/mingw-w64-crt/lib64/rassapi.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file RASSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASSAPI.dll
-EXPORTS
-RasAdminDLLInit
-RasAdminUserSetInfo
-RasAdminUserGetInfo
-RasAdminGetUserAccountServer
-RasAdminPortEnum
-RasAdminPortGetInfo
-RasAdminPortClearStatistics
-RasAdminServerGetInfo
-RasAdminPortDisconnect
-RasAdminFreeBuffer
-RasAdminSetUserParms
-RasAdminGetUserParms
-RasAdminCompressPhoneNumber
-RasAdminGetErrorString
+; 
+; Exports of file RASSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASSAPI.dll
+EXPORTS
+RasAdminDLLInit
+RasAdminUserSetInfo
+RasAdminUserGetInfo
+RasAdminGetUserAccountServer
+RasAdminPortEnum
+RasAdminPortGetInfo
+RasAdminPortClearStatistics
+RasAdminServerGetInfo
+RasAdminPortDisconnect
+RasAdminFreeBuffer
+RasAdminSetUserParms
+RasAdminGetUserParms
+RasAdminCompressPhoneNumber
+RasAdminGetErrorString
diff --git a/mingw-w64-crt/lib64/rasser.def b/mingw-w64-crt/lib64/rasser.def
index 9e7b19d..a0def84 100644
--- a/mingw-w64-crt/lib64/rasser.def
+++ b/mingw-w64-crt/lib64/rasser.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file rasser.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasser.dll
-EXPORTS
-PortChangeCallback
-PortClearStatistics
-PortClose
-PortCompressionSetInfo
-PortConnect
-PortDisconnect
-PortEnum
-PortGetInfo
-PortGetPortState
-PortGetStatistics
-PortInit
-PortOpen
-PortReceive
-PortReceiveComplete
-PortSend
-PortSetFraming
-PortSetINetCfg
-PortSetInfo
-PortTestSignalState
+; 
+; Exports of file rasser.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasser.dll
+EXPORTS
+PortChangeCallback
+PortClearStatistics
+PortClose
+PortCompressionSetInfo
+PortConnect
+PortDisconnect
+PortEnum
+PortGetInfo
+PortGetPortState
+PortGetStatistics
+PortInit
+PortOpen
+PortReceive
+PortReceiveComplete
+PortSend
+PortSetFraming
+PortSetINetCfg
+PortSetInfo
+PortTestSignalState
diff --git a/mingw-w64-crt/lib64/rastapi.def b/mingw-w64-crt/lib64/rastapi.def
index 04cd002..b09e396 100644
--- a/mingw-w64-crt/lib64/rastapi.def
+++ b/mingw-w64-crt/lib64/rastapi.def
@@ -1,49 +1,49 @@
-; 
-; Exports of file rastapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rastapi.dll
-EXPORTS
-AddPorts
-DeviceConnect
-DeviceDone
-DeviceEnum
-DeviceGetDevConfig
-DeviceGetDevConfigEx
-DeviceGetInfo
-DeviceListen
-DeviceSetDevConfig
-DeviceSetInfo
-DeviceWork
-EnableDeviceForDialIn
-GetConnectInfo
-GetZeroDeviceInfo
-PortChangeCallback
-PortClearStatistics
-PortClose
-PortCompressionSetInfo
-PortConnect
-PortDisconnect
-PortEnum
-PortGetIOHandle
-PortGetInfo
-PortGetPortState
-PortGetStatistics
-PortInit
-PortOpen
-PortOpenExternal
-PortReceive
-PortReceiveComplete
-PortSend
-PortSetFraming
-PortSetInfo
-PortSetIoCompletionPort
-PortTestSignalState
-RasTapiIsPulseDial
-RastapiGetCalledID
-RastapiSetCalledID
-RemovePort
-SetCommSettings
-UnloadRastapiDll
+; 
+; Exports of file rastapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rastapi.dll
+EXPORTS
+AddPorts
+DeviceConnect
+DeviceDone
+DeviceEnum
+DeviceGetDevConfig
+DeviceGetDevConfigEx
+DeviceGetInfo
+DeviceListen
+DeviceSetDevConfig
+DeviceSetInfo
+DeviceWork
+EnableDeviceForDialIn
+GetConnectInfo
+GetZeroDeviceInfo
+PortChangeCallback
+PortClearStatistics
+PortClose
+PortCompressionSetInfo
+PortConnect
+PortDisconnect
+PortEnum
+PortGetIOHandle
+PortGetInfo
+PortGetPortState
+PortGetStatistics
+PortInit
+PortOpen
+PortOpenExternal
+PortReceive
+PortReceiveComplete
+PortSend
+PortSetFraming
+PortSetInfo
+PortSetIoCompletionPort
+PortTestSignalState
+RasTapiIsPulseDial
+RastapiGetCalledID
+RastapiSetCalledID
+RemovePort
+SetCommSettings
+UnloadRastapiDll
diff --git a/mingw-w64-crt/lib64/rastls.def b/mingw-w64-crt/lib64/rastls.def
index 0b52d27..fadc71c 100644
--- a/mingw-w64-crt/lib64/rastls.def
+++ b/mingw-w64-crt/lib64/rastls.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file rastls.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rastls.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-PeapUpdateStateToTLV
-RasEapCreateConnectionProperties
-RasEapCreateUserProperties
-RasEapFreeMemory
-RasEapGetCredentials
-RasEapGetIdentity
-RasEapGetInfo
-RasEapInvokeConfigUI
-RasEapInvokeInteractiveUI
-RasEapUpdateServerConfig
+; 
+; Exports of file rastls.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rastls.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+PeapUpdateStateToTLV
+RasEapCreateConnectionProperties
+RasEapCreateUserProperties
+RasEapFreeMemory
+RasEapGetCredentials
+RasEapGetIdentity
+RasEapGetInfo
+RasEapInvokeConfigUI
+RasEapInvokeInteractiveUI
+RasEapUpdateServerConfig
diff --git a/mingw-w64-crt/lib64/rcbdyctl.def b/mingw-w64-crt/lib64/rcbdyctl.def
index fa8e376..e5da54d 100644
--- a/mingw-w64-crt/lib64/rcbdyctl.def
+++ b/mingw-w64-crt/lib64/rcbdyctl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file rcbdyctl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rcbdyctl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file rcbdyctl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rcbdyctl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/rdchost.def b/mingw-w64-crt/lib64/rdchost.def
index e178636..447d7a2 100644
--- a/mingw-w64-crt/lib64/rdchost.def
+++ b/mingw-w64-crt/lib64/rdchost.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file RDCHost.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RDCHost.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file RDCHost.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RDCHost.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/rdpcfgex.def b/mingw-w64-crt/lib64/rdpcfgex.def
index a7d3c0f..6c60349 100644
--- a/mingw-w64-crt/lib64/rdpcfgex.def
+++ b/mingw-w64-crt/lib64/rdpcfgex.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file RDPCFGEX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RDPCFGEX.dll
-EXPORTS
-ExGetCfgVersionInfo
-ExtEncryptionLevels
-ExtEnd
-ExtGetCapabilities
-ExtGetEncryptionLevelAndDescrEx
-ExtGetEncryptionLevelDescr
-ExtGetSecurityLayerDescrString
-ExtGetSecurityLayerName
-ExtSecurityLayers
-ExtStart
+; 
+; Exports of file RDPCFGEX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RDPCFGEX.dll
+EXPORTS
+ExGetCfgVersionInfo
+ExtEncryptionLevels
+ExtEnd
+ExtGetCapabilities
+ExtGetEncryptionLevelAndDescrEx
+ExtGetEncryptionLevelDescr
+ExtGetSecurityLayerDescrString
+ExtGetSecurityLayerName
+ExtSecurityLayers
+ExtStart
diff --git a/mingw-w64-crt/lib64/rdpsnd.def b/mingw-w64-crt/lib64/rdpsnd.def
index b310f63..98eae09 100644
--- a/mingw-w64-crt/lib64/rdpsnd.def
+++ b/mingw-w64-crt/lib64/rdpsnd.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file RDPSND.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RDPSND.dll
-EXPORTS
-DriverProc
-auxMessage
-midMessage
-modMessage
-mxdMessage
-widMessage
-wodMessage
+; 
+; Exports of file RDPSND.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RDPSND.dll
+EXPORTS
+DriverProc
+auxMessage
+midMessage
+modMessage
+mxdMessage
+widMessage
+wodMessage
diff --git a/mingw-w64-crt/lib64/rdpwsx.def b/mingw-w64-crt/lib64/rdpwsx.def
index 747364f..d795e9e 100644
--- a/mingw-w64-crt/lib64/rdpwsx.def
+++ b/mingw-w64-crt/lib64/rdpwsx.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file RDPWSX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RDPWSX.dll
-EXPORTS
-WsxBrokenConnection
-WsxCanLogonProceed
-WsxClearContext
-WsxConnect
-WsxConvertPublishedApp
-WsxCopyContext
-WsxDisconnect
-WsxDuplicateContext
-WsxEscape
-WsxIcaStackIoControl
-WsxInitialize
-WsxInitializeClientData
-WsxLogonNotify
-WsxSendAutoReconnectStatus
-WsxSetErrorInfo
-WsxVirtualChannelSecurity
-WsxWinStationInitialize
-WsxWinStationReInitialize
-WsxWinStationRundown
+; 
+; Exports of file RDPWSX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RDPWSX.dll
+EXPORTS
+WsxBrokenConnection
+WsxCanLogonProceed
+WsxClearContext
+WsxConnect
+WsxConvertPublishedApp
+WsxCopyContext
+WsxDisconnect
+WsxDuplicateContext
+WsxEscape
+WsxIcaStackIoControl
+WsxInitialize
+WsxInitializeClientData
+WsxLogonNotify
+WsxSendAutoReconnectStatus
+WsxSetErrorInfo
+WsxVirtualChannelSecurity
+WsxWinStationInitialize
+WsxWinStationReInitialize
+WsxWinStationRundown
diff --git a/mingw-w64-crt/lib64/regapi.def b/mingw-w64-crt/lib64/regapi.def
index ebd4f5d..27d7502 100644
--- a/mingw-w64-crt/lib64/regapi.def
+++ b/mingw-w64-crt/lib64/regapi.def
@@ -1,92 +1,92 @@
-; 
-; Exports of file REGAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY REGAPI.dll
-EXPORTS
-GetDomainName
-QueryUserProperty
-RegBuildNumberQuery
-RegCdCreateA
-RegCdCreateW
-RegCdDeleteA
-RegCdDeleteW
-RegCdEnumerateA
-RegCdEnumerateW
-RegCdQueryA
-RegCdQueryW
-RegCloseServer
-RegConsoleShadowQueryA
-RegConsoleShadowQueryW
-RegCreateUserConfigW
-RegDefaultUserConfigQueryA
-RegDefaultUserConfigQueryW
-RegDenyTSConnectionsPolicy
-RegFreeUtilityCommandList
-RegGetLicensingModePolicy
-RegGetMachinePolicy
-RegGetMachinePolicyEx
-RegGetMachinePolicyNew
-RegGetTServerVersion
-RegGetUserConfigFromUserParameters
-RegGetUserPolicy
-RegIsMachineInHelpMode
-RegIsMachinePolicyAllowHelp
-RegIsTServer
-RegIsTimeZoneRedirectionEnabled
-RegMergeUserConfigWithUserParameters
-RegOpenServerA
-RegOpenServerW
-RegPdCreateA
-RegPdCreateW
-RegPdDeleteA
-RegPdDeleteW
-RegPdEnumerateA
-RegPdEnumerateW
-RegPdQueryA
-RegPdQueryW
-RegQueryOEMId
-RegQueryUtilityCommandList
-RegSAMUserConfig
-RegUserConfigDelete
-RegUserConfigQuery
-RegUserConfigRename
-RegUserConfigSet
-RegWdCreateA
-RegWdCreateW
-RegWdDeleteA
-RegWdDeleteW
-RegWdEnumerateA
-RegWdEnumerateW
-RegWdQueryA
-RegWdQueryW
-RegWinStationAccessCheck
-RegWinStationCreateA
-RegWinStationCreateW
-RegWinStationDeleteA
-RegWinStationDeleteW
-RegWinStationEnumerateA
-RegWinStationEnumerateW
-RegWinStationQueryA
-RegWinStationQueryDefaultSecurity
-RegWinStationQueryEx
-RegWinStationQueryExNew
-RegWinStationQueryNumValueW
-RegWinStationQuerySecurityA
-RegWinStationQuerySecurityW
-RegWinStationQueryValueW
-RegWinStationQueryW
-RegWinStationSetNumValueW
-RegWinStationSetSecurityA
-RegWinStationSetSecurityW
-RegWinstationQuerySecurityConfig_Machine
-RegWinstationQuerySecurityConfig_Merged
-RegWinstationSetSecurityConfig
-SetUserProperty
-UsrPropGetString
-UsrPropGetValue
-UsrPropSetString
-UsrPropSetValue
-WaitForTSConnectionsPolicyChanges
+; 
+; Exports of file REGAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY REGAPI.dll
+EXPORTS
+GetDomainName
+QueryUserProperty
+RegBuildNumberQuery
+RegCdCreateA
+RegCdCreateW
+RegCdDeleteA
+RegCdDeleteW
+RegCdEnumerateA
+RegCdEnumerateW
+RegCdQueryA
+RegCdQueryW
+RegCloseServer
+RegConsoleShadowQueryA
+RegConsoleShadowQueryW
+RegCreateUserConfigW
+RegDefaultUserConfigQueryA
+RegDefaultUserConfigQueryW
+RegDenyTSConnectionsPolicy
+RegFreeUtilityCommandList
+RegGetLicensingModePolicy
+RegGetMachinePolicy
+RegGetMachinePolicyEx
+RegGetMachinePolicyNew
+RegGetTServerVersion
+RegGetUserConfigFromUserParameters
+RegGetUserPolicy
+RegIsMachineInHelpMode
+RegIsMachinePolicyAllowHelp
+RegIsTServer
+RegIsTimeZoneRedirectionEnabled
+RegMergeUserConfigWithUserParameters
+RegOpenServerA
+RegOpenServerW
+RegPdCreateA
+RegPdCreateW
+RegPdDeleteA
+RegPdDeleteW
+RegPdEnumerateA
+RegPdEnumerateW
+RegPdQueryA
+RegPdQueryW
+RegQueryOEMId
+RegQueryUtilityCommandList
+RegSAMUserConfig
+RegUserConfigDelete
+RegUserConfigQuery
+RegUserConfigRename
+RegUserConfigSet
+RegWdCreateA
+RegWdCreateW
+RegWdDeleteA
+RegWdDeleteW
+RegWdEnumerateA
+RegWdEnumerateW
+RegWdQueryA
+RegWdQueryW
+RegWinStationAccessCheck
+RegWinStationCreateA
+RegWinStationCreateW
+RegWinStationDeleteA
+RegWinStationDeleteW
+RegWinStationEnumerateA
+RegWinStationEnumerateW
+RegWinStationQueryA
+RegWinStationQueryDefaultSecurity
+RegWinStationQueryEx
+RegWinStationQueryExNew
+RegWinStationQueryNumValueW
+RegWinStationQuerySecurityA
+RegWinStationQuerySecurityW
+RegWinStationQueryValueW
+RegWinStationQueryW
+RegWinStationSetNumValueW
+RegWinStationSetSecurityA
+RegWinStationSetSecurityW
+RegWinstationQuerySecurityConfig_Machine
+RegWinstationQuerySecurityConfig_Merged
+RegWinstationSetSecurityConfig
+SetUserProperty
+UsrPropGetString
+UsrPropGetValue
+UsrPropSetString
+UsrPropSetValue
+WaitForTSConnectionsPolicyChanges
diff --git a/mingw-w64-crt/lib64/regsvc.def b/mingw-w64-crt/lib64/regsvc.def
index fca4eb6..867a0e3 100644
--- a/mingw-w64-crt/lib64/regsvc.def
+++ b/mingw-w64-crt/lib64/regsvc.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file regsvc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY regsvc.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file regsvc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY regsvc.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/regwizc.def b/mingw-w64-crt/lib64/regwizc.def
index c2a7f2d..583db11 100644
--- a/mingw-w64-crt/lib64/regwizc.def
+++ b/mingw-w64-crt/lib64/regwizc.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file RegWizCtrl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RegWizCtrl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file RegWizCtrl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RegWizCtrl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/remotepg.def b/mingw-w64-crt/lib64/remotepg.def
index 40a85f1..9dbb8c6 100644
--- a/mingw-w64-crt/lib64/remotepg.def
+++ b/mingw-w64-crt/lib64/remotepg.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file RemotePage.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RemotePage.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file RemotePage.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RemotePage.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/rend.def b/mingw-w64-crt/lib64/rend.def
index 896ca8a..773950e 100644
--- a/mingw-w64-crt/lib64/rend.def
+++ b/mingw-w64-crt/lib64/rend.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file rend.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rend.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file rend.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rend.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/repdrvfs.def b/mingw-w64-crt/lib64/repdrvfs.def
index 63906de..4ce2632 100644
--- a/mingw-w64-crt/lib64/repdrvfs.def
+++ b/mingw-w64-crt/lib64/repdrvfs.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file XFiles.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY XFiles.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file XFiles.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY XFiles.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/resutils.def b/mingw-w64-crt/lib64/resutils.def
index eaf6c52..30e83fd 100644
--- a/mingw-w64-crt/lib64/resutils.def
+++ b/mingw-w64-crt/lib64/resutils.def
@@ -1,80 +1,80 @@
-; 
-; Exports of file RESUTILS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RESUTILS.dll
-EXPORTS
-ClusWorkerCheckTerminate
-ClusWorkerCreate
-ClusWorkerStart
-ClusWorkerTerminate
-ResUtilAddUnknownProperties
-ResUtilCreateDirectoryTree
-ResUtilDupParameterBlock
-ResUtilDupString
-ResUtilEnumPrivateProperties
-ResUtilEnumProperties
-ResUtilEnumResources
-ResUtilEnumResourcesEx
-ResUtilExpandEnvironmentStrings
-ResUtilFindBinaryProperty
-ResUtilFindDependentDiskResourceDriveLetter
-ResUtilFindDwordProperty
-ResUtilFindExpandSzProperty
-ResUtilFindExpandedSzProperty
-ResUtilFindLongProperty
-ResUtilFindMultiSzProperty
-ResUtilFindSzProperty
-ResUtilFreeEnvironment
-ResUtilFreeParameterBlock
-ResUtilGetAllProperties
-ResUtilGetBinaryProperty
-ResUtilGetBinaryValue
-ResUtilGetCoreClusterResources
-ResUtilGetDwordProperty
-ResUtilGetDwordValue
-ResUtilGetEnvironmentWithNetName
-ResUtilGetMultiSzProperty
-ResUtilGetPrivateProperties
-ResUtilGetProperties
-ResUtilGetPropertiesToParameterBlock
-ResUtilGetProperty
-ResUtilGetPropertyFormats
-ResUtilGetPropertySize
-ResUtilGetResourceDependency
-ResUtilGetResourceDependencyByClass
-ResUtilGetResourceDependencyByName
-ResUtilGetResourceDependentIPAddressProps
-ResUtilGetResourceName
-ResUtilGetResourceNameDependency
-ResUtilGetSzProperty
-ResUtilGetSzValue
-ResUtilIsPathValid
-ResUtilIsResourceClassEqual
-ResUtilPropertyListFromParameterBlock
-ResUtilRemoveResourceServiceEnvironment
-ResUtilResourceTypesEqual
-ResUtilResourcesEqual
-ResUtilSetBinaryValue
-ResUtilSetDwordValue
-ResUtilSetExpandSzValue
-ResUtilSetMultiSzValue
-ResUtilSetPrivatePropertyList
-ResUtilSetPropertyParameterBlock
-ResUtilSetPropertyParameterBlockEx
-ResUtilSetPropertyTable
-ResUtilSetPropertyTableEx
-ResUtilSetResourceServiceEnvironment
-ResUtilSetResourceServiceStartParameters
-ResUtilSetSzValue
-ResUtilSetUnknownProperties
-ResUtilStartResourceService
-ResUtilStopResourceService
-ResUtilStopService
-ResUtilTerminateServiceProcessFromResDll
-ResUtilVerifyPrivatePropertyList
-ResUtilVerifyPropertyTable
-ResUtilVerifyResourceService
-ResUtilVerifyService
+; 
+; Exports of file RESUTILS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RESUTILS.dll
+EXPORTS
+ClusWorkerCheckTerminate
+ClusWorkerCreate
+ClusWorkerStart
+ClusWorkerTerminate
+ResUtilAddUnknownProperties
+ResUtilCreateDirectoryTree
+ResUtilDupParameterBlock
+ResUtilDupString
+ResUtilEnumPrivateProperties
+ResUtilEnumProperties
+ResUtilEnumResources
+ResUtilEnumResourcesEx
+ResUtilExpandEnvironmentStrings
+ResUtilFindBinaryProperty
+ResUtilFindDependentDiskResourceDriveLetter
+ResUtilFindDwordProperty
+ResUtilFindExpandSzProperty
+ResUtilFindExpandedSzProperty
+ResUtilFindLongProperty
+ResUtilFindMultiSzProperty
+ResUtilFindSzProperty
+ResUtilFreeEnvironment
+ResUtilFreeParameterBlock
+ResUtilGetAllProperties
+ResUtilGetBinaryProperty
+ResUtilGetBinaryValue
+ResUtilGetCoreClusterResources
+ResUtilGetDwordProperty
+ResUtilGetDwordValue
+ResUtilGetEnvironmentWithNetName
+ResUtilGetMultiSzProperty
+ResUtilGetPrivateProperties
+ResUtilGetProperties
+ResUtilGetPropertiesToParameterBlock
+ResUtilGetProperty
+ResUtilGetPropertyFormats
+ResUtilGetPropertySize
+ResUtilGetResourceDependency
+ResUtilGetResourceDependencyByClass
+ResUtilGetResourceDependencyByName
+ResUtilGetResourceDependentIPAddressProps
+ResUtilGetResourceName
+ResUtilGetResourceNameDependency
+ResUtilGetSzProperty
+ResUtilGetSzValue
+ResUtilIsPathValid
+ResUtilIsResourceClassEqual
+ResUtilPropertyListFromParameterBlock
+ResUtilRemoveResourceServiceEnvironment
+ResUtilResourceTypesEqual
+ResUtilResourcesEqual
+ResUtilSetBinaryValue
+ResUtilSetDwordValue
+ResUtilSetExpandSzValue
+ResUtilSetMultiSzValue
+ResUtilSetPrivatePropertyList
+ResUtilSetPropertyParameterBlock
+ResUtilSetPropertyParameterBlockEx
+ResUtilSetPropertyTable
+ResUtilSetPropertyTableEx
+ResUtilSetResourceServiceEnvironment
+ResUtilSetResourceServiceStartParameters
+ResUtilSetSzValue
+ResUtilSetUnknownProperties
+ResUtilStartResourceService
+ResUtilStopResourceService
+ResUtilStopService
+ResUtilTerminateServiceProcessFromResDll
+ResUtilVerifyPrivatePropertyList
+ResUtilVerifyPropertyTable
+ResUtilVerifyResourceService
+ResUtilVerifyService
diff --git a/mingw-w64-crt/lib64/riched20.def b/mingw-w64-crt/lib64/riched20.def
index 5f2b29d..4fb9288 100644
--- a/mingw-w64-crt/lib64/riched20.def
+++ b/mingw-w64-crt/lib64/riched20.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file RICHED20.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RICHED20.dll
-EXPORTS
-IID_IRichEditOle
-IID_IRichEditOleCallback
-CreateTextServices
-IID_ITextServices
-IID_ITextHost
-IID_ITextHost2
-REExtendedRegisterClass
-RichEdit10ANSIWndProc
-RichEditANSIWndProc
+; 
+; Exports of file RICHED20.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RICHED20.dll
+EXPORTS
+IID_IRichEditOle
+IID_IRichEditOleCallback
+CreateTextServices
+IID_ITextServices
+IID_ITextHost
+IID_ITextHost2
+REExtendedRegisterClass
+RichEdit10ANSIWndProc
+RichEditANSIWndProc
diff --git a/mingw-w64-crt/lib64/rnr20.def b/mingw-w64-crt/lib64/rnr20.def
index 8de2bbf..366fd47 100644
--- a/mingw-w64-crt/lib64/rnr20.def
+++ b/mingw-w64-crt/lib64/rnr20.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file RNR20.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RNR20.dll
-EXPORTS
-NSPStartup
+; 
+; Exports of file RNR20.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RNR20.dll
+EXPORTS
+NSPStartup
diff --git a/mingw-w64-crt/lib64/routetab.def b/mingw-w64-crt/lib64/routetab.def
index 7395a3c..4288262 100644
--- a/mingw-w64-crt/lib64/routetab.def
+++ b/mingw-w64-crt/lib64/routetab.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file ROUTETAB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ROUTETAB.dll
-EXPORTS
-AddRoute
-DeleteRoute
-FreeIPAddressTable
-FreeRouteTable
-GetIPAddressTable
-GetIfEntry
-GetRouteTable
-RefreshAddresses
-ReloadIPAddressTable
-SetAddrChangeNotifyEvent
+; 
+; Exports of file ROUTETAB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ROUTETAB.dll
+EXPORTS
+AddRoute
+DeleteRoute
+FreeIPAddressTable
+FreeRouteTable
+GetIPAddressTable
+GetIfEntry
+GetRouteTable
+RefreshAddresses
+ReloadIPAddressTable
+SetAddrChangeNotifyEvent
diff --git a/mingw-w64-crt/lib64/rpcns4.def b/mingw-w64-crt/lib64/rpcns4.def
index fde0230..12fead3 100644
--- a/mingw-w64-crt/lib64/rpcns4.def
+++ b/mingw-w64-crt/lib64/rpcns4.def
@@ -1,71 +1,71 @@
-; 
-; Exports of file RPCNS4.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RPCNS4.dll
-EXPORTS
-I_GetDefaultEntrySyntax
-I_RpcNsGetBuffer
-I_RpcNsNegotiateTransferSyntax
-I_RpcNsRaiseException
-I_RpcNsSendReceive
-I_RpcReBindBuffer
-RpcIfIdVectorFree
-RpcNsBindingExportA
-RpcNsBindingExportPnPA
-RpcNsBindingExportPnPW
-RpcNsBindingExportW
-RpcNsBindingImportBeginA
-RpcNsBindingImportBeginW
-RpcNsBindingImportDone
-RpcNsBindingImportNext
-RpcNsBindingLookupBeginA
-RpcNsBindingLookupBeginW
-RpcNsBindingLookupDone
-RpcNsBindingLookupNext
-RpcNsBindingSelect
-RpcNsBindingUnexportA
-RpcNsBindingUnexportPnPA
-RpcNsBindingUnexportPnPW
-RpcNsBindingUnexportW
-RpcNsEntryExpandNameA
-RpcNsEntryExpandNameW
-RpcNsEntryObjectInqBeginA
-RpcNsEntryObjectInqBeginW
-RpcNsEntryObjectInqDone
-RpcNsEntryObjectInqNext
-RpcNsGroupDeleteA
-RpcNsGroupDeleteW
-RpcNsGroupMbrAddA
-RpcNsGroupMbrAddW
-RpcNsGroupMbrInqBeginA
-RpcNsGroupMbrInqBeginW
-RpcNsGroupMbrInqDone
-RpcNsGroupMbrInqNextA
-RpcNsGroupMbrInqNextW
-RpcNsGroupMbrRemoveA
-RpcNsGroupMbrRemoveW
-RpcNsMgmtBindingUnexportA
-RpcNsMgmtBindingUnexportW
-RpcNsMgmtEntryCreateA
-RpcNsMgmtEntryCreateW
-RpcNsMgmtEntryDeleteA
-RpcNsMgmtEntryDeleteW
-RpcNsMgmtEntryInqIfIdsA
-RpcNsMgmtEntryInqIfIdsW
-RpcNsMgmtHandleSetExpAge
-RpcNsMgmtInqExpAge
-RpcNsMgmtSetExpAge
-RpcNsProfileDeleteA
-RpcNsProfileDeleteW
-RpcNsProfileEltAddA
-RpcNsProfileEltAddW
-RpcNsProfileEltInqBeginA
-RpcNsProfileEltInqBeginW
-RpcNsProfileEltInqDone
-RpcNsProfileEltInqNextA
-RpcNsProfileEltInqNextW
-RpcNsProfileEltRemoveA
-RpcNsProfileEltRemoveW
+; 
+; Exports of file RPCNS4.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RPCNS4.dll
+EXPORTS
+I_GetDefaultEntrySyntax
+I_RpcNsGetBuffer
+I_RpcNsNegotiateTransferSyntax
+I_RpcNsRaiseException
+I_RpcNsSendReceive
+I_RpcReBindBuffer
+RpcIfIdVectorFree
+RpcNsBindingExportA
+RpcNsBindingExportPnPA
+RpcNsBindingExportPnPW
+RpcNsBindingExportW
+RpcNsBindingImportBeginA
+RpcNsBindingImportBeginW
+RpcNsBindingImportDone
+RpcNsBindingImportNext
+RpcNsBindingLookupBeginA
+RpcNsBindingLookupBeginW
+RpcNsBindingLookupDone
+RpcNsBindingLookupNext
+RpcNsBindingSelect
+RpcNsBindingUnexportA
+RpcNsBindingUnexportPnPA
+RpcNsBindingUnexportPnPW
+RpcNsBindingUnexportW
+RpcNsEntryExpandNameA
+RpcNsEntryExpandNameW
+RpcNsEntryObjectInqBeginA
+RpcNsEntryObjectInqBeginW
+RpcNsEntryObjectInqDone
+RpcNsEntryObjectInqNext
+RpcNsGroupDeleteA
+RpcNsGroupDeleteW
+RpcNsGroupMbrAddA
+RpcNsGroupMbrAddW
+RpcNsGroupMbrInqBeginA
+RpcNsGroupMbrInqBeginW
+RpcNsGroupMbrInqDone
+RpcNsGroupMbrInqNextA
+RpcNsGroupMbrInqNextW
+RpcNsGroupMbrRemoveA
+RpcNsGroupMbrRemoveW
+RpcNsMgmtBindingUnexportA
+RpcNsMgmtBindingUnexportW
+RpcNsMgmtEntryCreateA
+RpcNsMgmtEntryCreateW
+RpcNsMgmtEntryDeleteA
+RpcNsMgmtEntryDeleteW
+RpcNsMgmtEntryInqIfIdsA
+RpcNsMgmtEntryInqIfIdsW
+RpcNsMgmtHandleSetExpAge
+RpcNsMgmtInqExpAge
+RpcNsMgmtSetExpAge
+RpcNsProfileDeleteA
+RpcNsProfileDeleteW
+RpcNsProfileEltAddA
+RpcNsProfileEltAddW
+RpcNsProfileEltInqBeginA
+RpcNsProfileEltInqBeginW
+RpcNsProfileEltInqDone
+RpcNsProfileEltInqNextA
+RpcNsProfileEltInqNextW
+RpcNsProfileEltRemoveA
+RpcNsProfileEltRemoveW
diff --git a/mingw-w64-crt/lib64/rpcnsh.def b/mingw-w64-crt/lib64/rpcnsh.def
index 025feb8..7065d81 100644
--- a/mingw-w64-crt/lib64/rpcnsh.def
+++ b/mingw-w64-crt/lib64/rpcnsh.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file rpcnsh.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rpcnsh.DLL
-EXPORTS
-InitHelperDll
+; 
+; Exports of file rpcnsh.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rpcnsh.DLL
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/rpcref.def b/mingw-w64-crt/lib64/rpcref.def
index 9bc2f6d..8de9fe3 100644
--- a/mingw-w64-crt/lib64/rpcref.def
+++ b/mingw-w64-crt/lib64/rpcref.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file RPCREF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RPCREF.dll
-EXPORTS
-InetinfoStartRpcServerListen
-InetinfoStopRpcServerListen
+; 
+; Exports of file RPCREF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RPCREF.dll
+EXPORTS
+InetinfoStartRpcServerListen
+InetinfoStopRpcServerListen
diff --git a/mingw-w64-crt/lib64/rpcrt4.def b/mingw-w64-crt/lib64/rpcrt4.def
index ae6b429..ae46ca9 100644
--- a/mingw-w64-crt/lib64/rpcrt4.def
+++ b/mingw-w64-crt/lib64/rpcrt4.def
@@ -1,520 +1,520 @@
-; 
-; Exports of file RPCRT4.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RPCRT4.dll
-EXPORTS
-CreateProxyFromTypeInfo
-CreateStubFromTypeInfo
-I_RpcServerTurnOnOffKeepalives
-CStdStubBuffer_AddRef
-CStdStubBuffer_Connect
-CStdStubBuffer_CountRefs
-CStdStubBuffer_DebugServerQueryInterface
-CStdStubBuffer_DebugServerRelease
-CStdStubBuffer_Disconnect
-CStdStubBuffer_Invoke
-CStdStubBuffer_IsIIDSupported
-CStdStubBuffer_QueryInterface
-DceErrorInqTextA
-DceErrorInqTextW
-DllGetClassObject
-DllInstall
-DllRegisterServer
-GlobalMutexClearExternal
-GlobalMutexRequestExternal
-IUnknown_AddRef_Proxy
-IUnknown_QueryInterface_Proxy
-IUnknown_Release_Proxy
-I_RpcAbortAsyncCall
-I_RpcAllocate
-I_RpcAsyncAbortCall
-I_RpcAsyncSetHandle
-I_RpcBCacheAllocate
-I_RpcBCacheFree
-I_RpcBindingCopy
-I_RpcBindingHandleToAsyncHandle
-I_RpcBindingInqConnId
-I_RpcBindingInqDynamicEndpoint
-I_RpcBindingInqDynamicEndpointA
-I_RpcBindingInqDynamicEndpointW
-I_RpcBindingInqLocalClientPID
-I_RpcBindingInqMarshalledTargetInfo
-I_RpcBindingInqSecurityContext
-I_RpcBindingInqTransportType
-I_RpcBindingInqWireIdForSnego
-I_RpcBindingIsClientLocal
-I_RpcBindingToStaticStringBindingW
-I_RpcClearMutex
-I_RpcConnectionInqSockBuffSize
-I_RpcConnectionSetSockBuffSize
-I_RpcDeleteMutex
-I_RpcEnableWmiTrace
-I_RpcExceptionFilter
-I_RpcFree
-I_RpcFreeBuffer
-I_RpcFreePipeBuffer
-I_RpcGetBuffer
-I_RpcGetBufferWithObject
-I_RpcGetCurrentCallHandle
-I_RpcGetExtendedError
-I_RpcIfInqTransferSyntaxes
-I_RpcLogEvent
-I_RpcMapWin32Status
-I_RpcNDRCGetWireRepresentation
-I_RpcNDRSContextEmergencyCleanup
-I_RpcNegotiateTransferSyntax
-I_RpcNsBindingSetEntryName
-I_RpcNsBindingSetEntryNameA
-I_RpcNsBindingSetEntryNameW
-I_RpcNsInterfaceExported
-I_RpcNsInterfaceUnexported
-I_RpcParseSecurity
-I_RpcPauseExecution
-I_RpcProxyNewConnection
-I_RpcReallocPipeBuffer
-I_RpcReceive
-I_RpcRecordCalloutFailure
-I_RpcReplyToClientWithStatus
-I_RpcRequestMutex
-I_RpcSNCHOption
-I_RpcSend
-I_RpcSendReceive
-I_RpcServerAllocateIpPort
-I_RpcServerCheckClientRestriction
-I_RpcServerInqAddressChangeFn
-I_RpcServerInqLocalConnAddress
-I_RpcServerInqTransportType
-I_RpcServerIsClientDisconnected
-I_RpcServerRegisterForwardFunction
-I_RpcServerSetAddressChangeFn
-I_RpcServerUseProtseq2A
-I_RpcServerUseProtseq2W
-I_RpcServerUseProtseqEp2A
-I_RpcServerUseProtseqEp2W
-I_RpcSessionStrictContextHandle
-I_RpcSetAsyncHandle
-I_RpcSsDontSerializeContext
-I_RpcSystemFunction001
-I_RpcTransConnectionAllocatePacket
-I_RpcTransConnectionFreePacket
-I_RpcTransConnectionReallocPacket
-I_RpcTransDatagramAllocate
-I_RpcTransDatagramAllocate2
-I_RpcTransDatagramFree
-I_RpcTransGetThreadEvent
-I_RpcTransIoCancelled
-I_RpcTransServerNewConnection
-I_RpcTurnOnEEInfoPropagation
-I_UuidCreate
-MesBufferHandleReset
-MesDecodeBufferHandleCreate
-MesDecodeIncrementalHandleCreate
-MesEncodeDynBufferHandleCreate
-MesEncodeFixedBufferHandleCreate
-MesEncodeIncrementalHandleCreate
-MesHandleFree
-MesIncrementalHandleReset
-MesInqProcEncodingId
-NDRCContextBinding
-NDRCContextMarshall
-NDRCContextUnmarshall
-NDRSContextMarshall
-NDRSContextMarshall2
-NDRSContextMarshallEx
-NDRSContextUnmarshall
-NDRSContextUnmarshall2
-NDRSContextUnmarshallEx
-Ndr64AsyncClientCall
-Ndr64AsyncServerCall64
-Ndr64AsyncServerCallAll
-Ndr64DcomAsyncClientCall
-Ndr64DcomAsyncStubCall
-NdrAllocate
-NdrAsyncClientCall
-NdrAsyncServerCall
-NdrByteCountPointerBufferSize
-NdrByteCountPointerFree
-NdrByteCountPointerMarshall
-NdrByteCountPointerUnmarshall
-NdrCStdStubBuffer2_Release
-NdrCStdStubBuffer_Release
-NdrClearOutParameters
-NdrClientCall2
-NdrClientCall3
-NdrClientContextMarshall
-NdrClientContextUnmarshall
-NdrClientInitialize
-NdrClientInitializeNew
-NdrComplexArrayBufferSize
-NdrComplexArrayFree
-NdrComplexArrayMarshall
-NdrComplexArrayMemorySize
-NdrComplexArrayUnmarshall
-NdrComplexStructBufferSize
-NdrComplexStructFree
-NdrComplexStructMarshall
-NdrComplexStructMemorySize
-NdrComplexStructUnmarshall
-NdrConformantArrayBufferSize
-NdrConformantArrayFree
-NdrConformantArrayMarshall
-NdrConformantArrayMemorySize
-NdrConformantArrayUnmarshall
-NdrConformantStringBufferSize
-NdrConformantStringMarshall
-NdrConformantStringMemorySize
-NdrConformantStringUnmarshall
-NdrConformantStructBufferSize
-NdrConformantStructFree
-NdrConformantStructMarshall
-NdrConformantStructMemorySize
-NdrConformantStructUnmarshall
-NdrConformantVaryingArrayBufferSize
-NdrConformantVaryingArrayFree
-NdrConformantVaryingArrayMarshall
-NdrConformantVaryingArrayMemorySize
-NdrConformantVaryingArrayUnmarshall
-NdrConformantVaryingStructBufferSize
-NdrConformantVaryingStructFree
-NdrConformantVaryingStructMarshall
-NdrConformantVaryingStructMemorySize
-NdrConformantVaryingStructUnmarshall
-NdrContextHandleInitialize
-NdrContextHandleSize
-NdrConvert
-NdrConvert2
-NdrCorrelationFree
-NdrCorrelationInitialize
-NdrCorrelationPass
-NdrCreateServerInterfaceFromStub
-NdrDcomAsyncClientCall
-NdrDcomAsyncStubCall
-NdrDllCanUnloadNow
-NdrDllGetClassObject
-NdrDllRegisterProxy
-NdrDllUnregisterProxy
-NdrEncapsulatedUnionBufferSize
-NdrEncapsulatedUnionFree
-NdrEncapsulatedUnionMarshall
-NdrEncapsulatedUnionMemorySize
-NdrEncapsulatedUnionUnmarshall
-NdrFixedArrayBufferSize
-NdrFixedArrayFree
-NdrFixedArrayMarshall
-NdrFixedArrayMemorySize
-NdrFixedArrayUnmarshall
-NdrFreeBuffer
-NdrFullPointerFree
-NdrFullPointerInsertRefId
-NdrFullPointerQueryPointer
-NdrFullPointerQueryRefId
-NdrFullPointerXlatFree
-NdrFullPointerXlatInit
-NdrGetBuffer
-NdrGetDcomProtocolVersion
-NdrGetSimpleTypeBufferAlignment
-NdrGetSimpleTypeBufferSize
-NdrGetSimpleTypeMemorySize
-NdrGetTypeFlags
-NdrGetUserMarshalInfo
-NdrInterfacePointerBufferSize
-NdrInterfacePointerFree
-NdrInterfacePointerMarshall
-NdrInterfacePointerMemorySize
-NdrInterfacePointerUnmarshall
-NdrMapCommAndFaultStatus
-NdrMesProcEncodeDecode
-NdrMesProcEncodeDecode2
-NdrMesProcEncodeDecode3
-NdrMesSimpleTypeAlignSize
-NdrMesSimpleTypeAlignSizeAll
-NdrMesSimpleTypeDecode
-NdrMesSimpleTypeDecodeAll
-NdrMesSimpleTypeEncode
-NdrMesSimpleTypeEncodeAll
-NdrMesTypeAlignSize
-NdrMesTypeAlignSize2
-NdrMesTypeAlignSize3
-NdrMesTypeDecode
-NdrMesTypeDecode2
-NdrMesTypeDecode3
-NdrMesTypeEncode
-NdrMesTypeEncode2
-NdrMesTypeEncode3
-NdrMesTypeFree2
-NdrMesTypeFree3
-NdrNonConformantStringBufferSize
-NdrNonConformantStringMarshall
-NdrNonConformantStringMemorySize
-NdrNonConformantStringUnmarshall
-NdrNonEncapsulatedUnionBufferSize
-NdrNonEncapsulatedUnionFree
-NdrNonEncapsulatedUnionMarshall
-NdrNonEncapsulatedUnionMemorySize
-NdrNonEncapsulatedUnionUnmarshall
-NdrNsGetBuffer
-NdrNsSendReceive
-NdrOleAllocate
-NdrOleFree
-NdrOutInit
-NdrPartialIgnoreClientBufferSize
-NdrPartialIgnoreClientMarshall
-NdrPartialIgnoreServerInitialize
-NdrPartialIgnoreServerUnmarshall
-NdrPointerBufferSize
-NdrPointerFree
-NdrPointerMarshall
-NdrPointerMemorySize
-NdrPointerUnmarshall
-NdrProxyErrorHandler
-NdrProxyFreeBuffer
-NdrProxyGetBuffer
-NdrProxyInitialize
-NdrProxySendReceive
-NdrRangeUnmarshall
-NdrRpcSmClientAllocate
-NdrRpcSmClientFree
-NdrRpcSmSetClientToOsf
-NdrRpcSsDefaultAllocate
-NdrRpcSsDefaultFree
-NdrRpcSsDisableAllocate
-NdrRpcSsEnableAllocate
-NdrSendReceive
-NdrServerCall2
-NdrServerCallAll
-NdrServerCallNdr64
-NdrServerContextMarshall
-NdrServerContextNewMarshall
-NdrServerContextNewUnmarshall
-NdrServerContextUnmarshall
-NdrServerInitialize
-NdrServerInitializeMarshall
-NdrServerInitializeNew
-NdrServerInitializePartial
-NdrServerInitializeUnmarshall
-NdrSimpleStructBufferSize
-NdrSimpleStructFree
-NdrSimpleStructMarshall
-NdrSimpleStructMemorySize
-NdrSimpleStructUnmarshall
-NdrSimpleTypeMarshall
-NdrSimpleTypeUnmarshall
-NdrStubCall2
-NdrStubCall3
-NdrStubForwardingFunction
-NdrStubGetBuffer
-NdrStubInitialize
-NdrStubInitializeMarshall
-NdrTypeFlags
-NdrTypeFree
-NdrTypeMarshall
-NdrTypeSize
-NdrTypeUnmarshall
-NdrUnmarshallBasetypeInline
-NdrUserMarshalBufferSize
-NdrUserMarshalFree
-NdrUserMarshalMarshall
-NdrUserMarshalMemorySize
-NdrUserMarshalSimpleTypeConvert
-NdrUserMarshalUnmarshall
-NdrVaryingArrayBufferSize
-NdrVaryingArrayFree
-NdrVaryingArrayMarshall
-NdrVaryingArrayMemorySize
-NdrVaryingArrayUnmarshall
-NdrXmitOrRepAsBufferSize
-NdrXmitOrRepAsFree
-NdrXmitOrRepAsMarshall
-NdrXmitOrRepAsMemorySize
-NdrXmitOrRepAsUnmarshall
-NdrpCreateProxy
-NdrpCreateStub
-NdrpGetProcFormatString
-NdrpGetTypeFormatString
-NdrpGetTypeGenCookie
-NdrpMemoryIncrement
-NdrpReleaseTypeFormatString
-NdrpReleaseTypeGenCookie
-NdrpSetRpcSsDefaults
-NdrpVarVtOfTypeDesc
-RpcAbortAsyncCall
-RpcAsyncAbortCall
-RpcAsyncCancelCall
-RpcAsyncCompleteCall
-RpcAsyncGetCallStatus
-RpcAsyncInitializeHandle
-RpcAsyncRegisterInfo
-RpcBindingCopy
-RpcBindingFree
-RpcBindingFromStringBindingA
-RpcBindingFromStringBindingW
-RpcBindingInqAuthClientA
-RpcBindingInqAuthClientExA
-RpcBindingInqAuthClientExW
-RpcBindingInqAuthClientW
-RpcBindingInqAuthInfoA
-RpcBindingInqAuthInfoExA
-RpcBindingInqAuthInfoExW
-RpcBindingInqAuthInfoW
-RpcBindingInqObject
-RpcBindingInqOption
-RpcBindingReset
-RpcBindingServerFromClient
-RpcBindingSetAuthInfoA
-RpcBindingSetAuthInfoExA
-RpcBindingSetAuthInfoExW
-RpcBindingSetAuthInfoW
-RpcBindingSetObject
-RpcBindingSetOption
-RpcBindingToStringBindingA
-RpcBindingToStringBindingW
-RpcBindingVectorFree
-RpcCancelAsyncCall
-RpcCancelThread
-RpcCancelThreadEx
-RpcCertGeneratePrincipalNameA
-RpcCertGeneratePrincipalNameW
-RpcCompleteAsyncCall
-RpcEpRegisterA
-RpcEpRegisterNoReplaceA
-RpcEpRegisterNoReplaceW
-RpcEpRegisterW
-RpcEpResolveBinding
-RpcEpUnregister
-RpcErrorAddRecord
-RpcErrorClearInformation
-RpcErrorEndEnumeration
-RpcErrorGetNextRecord
-RpcErrorGetNumberOfRecords
-RpcErrorLoadErrorInfo
-RpcErrorResetEnumeration
-RpcErrorSaveErrorInfo
-RpcErrorStartEnumeration
-RpcFreeAuthorizationContext
-RpcGetAsyncCallStatus
-RpcGetAuthorizationContextForClient
-RpcIfIdVectorFree
-RpcIfInqId
-RpcImpersonateClient
-RpcInitializeAsyncHandle
-RpcMgmtEnableIdleCleanup
-RpcMgmtEpEltInqBegin
-RpcMgmtEpEltInqDone
-RpcMgmtEpEltInqNextA
-RpcMgmtEpEltInqNextW
-RpcMgmtEpUnregister
-RpcMgmtInqComTimeout
-RpcMgmtInqDefaultProtectLevel
-RpcMgmtInqIfIds
-RpcMgmtInqServerPrincNameA
-RpcMgmtInqServerPrincNameW
-RpcMgmtInqStats
-RpcMgmtIsServerListening
-RpcMgmtSetAuthorizationFn
-RpcMgmtSetCancelTimeout
-RpcMgmtSetComTimeout
-RpcMgmtSetServerStackSize
-RpcMgmtStatsVectorFree
-RpcMgmtStopServerListening
-RpcMgmtWaitServerListen
-RpcNetworkInqProtseqsA
-RpcNetworkInqProtseqsW
-RpcNetworkIsProtseqValidA
-RpcNetworkIsProtseqValidW
-RpcNsBindingInqEntryNameA
-RpcNsBindingInqEntryNameW
-RpcObjectInqType
-RpcObjectSetInqFn
-RpcObjectSetType
-RpcProtseqVectorFreeA
-RpcProtseqVectorFreeW
-RpcRaiseException
-RpcRegisterAsyncInfo
-RpcRevertToSelf
-RpcRevertToSelfEx
-RpcServerInqBindings
-RpcServerInqCallAttributesA
-RpcServerInqCallAttributesW
-RpcServerInqDefaultPrincNameA
-RpcServerInqDefaultPrincNameW
-RpcServerInqIf
-RpcServerListen
-RpcServerRegisterAuthInfoA
-RpcServerRegisterAuthInfoW
-RpcServerRegisterIf
-RpcServerRegisterIf2
-RpcServerRegisterIfEx
-RpcServerTestCancel
-RpcServerUnregisterIf
-RpcServerUnregisterIfEx
-RpcServerUseAllProtseqs
-RpcServerUseAllProtseqsEx
-RpcServerUseAllProtseqsIf
-RpcServerUseAllProtseqsIfEx
-RpcServerUseProtseqA
-RpcServerUseProtseqEpA
-RpcServerUseProtseqEpExA
-RpcServerUseProtseqEpExW
-RpcServerUseProtseqEpW
-RpcServerUseProtseqExA
-RpcServerUseProtseqExW
-RpcServerUseProtseqIfA
-RpcServerUseProtseqIfExA
-RpcServerUseProtseqIfExW
-RpcServerUseProtseqIfW
-RpcServerUseProtseqW
-RpcServerYield
-RpcSmAllocate
-RpcSmClientFree
-RpcSmDestroyClientContext
-RpcSmDisableAllocate
-RpcSmEnableAllocate
-RpcSmFree
-RpcSmGetThreadHandle
-RpcSmSetClientAllocFree
-RpcSmSetThreadHandle
-RpcSmSwapClientAllocFree
-RpcSsAllocate
-RpcSsContextLockExclusive
-RpcSsContextLockShared
-RpcSsDestroyClientContext
-RpcSsDisableAllocate
-RpcSsDontSerializeContext
-RpcSsEnableAllocate
-RpcSsFree
-RpcSsGetContextBinding
-RpcSsGetThreadHandle
-RpcSsSetClientAllocFree
-RpcSsSetThreadHandle
-RpcSsSwapClientAllocFree
-RpcStringBindingComposeA
-RpcStringBindingComposeW
-RpcStringBindingParseA
-RpcStringBindingParseW
-RpcStringFreeA
-RpcStringFreeW
-RpcTestCancel
-RpcUserFree
-SimpleTypeAlignment
-SimpleTypeBufferSize
-SimpleTypeMemorySize
-TowerConstruct
-TowerExplode
-UuidCompare
-UuidCreate
-UuidCreateNil
-UuidCreateSequential
-UuidEqual
-UuidFromStringA
-UuidFromStringW
-UuidHash
-UuidIsNil
-UuidToStringA
-UuidToStringW
-pfnFreeRoutines DATA
-pfnMarshallRoutines DATA
-pfnSizeRoutines DATA
-pfnUnmarshallRoutines DATA
+; 
+; Exports of file RPCRT4.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RPCRT4.dll
+EXPORTS
+CreateProxyFromTypeInfo
+CreateStubFromTypeInfo
+I_RpcServerTurnOnOffKeepalives
+CStdStubBuffer_AddRef
+CStdStubBuffer_Connect
+CStdStubBuffer_CountRefs
+CStdStubBuffer_DebugServerQueryInterface
+CStdStubBuffer_DebugServerRelease
+CStdStubBuffer_Disconnect
+CStdStubBuffer_Invoke
+CStdStubBuffer_IsIIDSupported
+CStdStubBuffer_QueryInterface
+DceErrorInqTextA
+DceErrorInqTextW
+DllGetClassObject
+DllInstall
+DllRegisterServer
+GlobalMutexClearExternal
+GlobalMutexRequestExternal
+IUnknown_AddRef_Proxy
+IUnknown_QueryInterface_Proxy
+IUnknown_Release_Proxy
+I_RpcAbortAsyncCall
+I_RpcAllocate
+I_RpcAsyncAbortCall
+I_RpcAsyncSetHandle
+I_RpcBCacheAllocate
+I_RpcBCacheFree
+I_RpcBindingCopy
+I_RpcBindingHandleToAsyncHandle
+I_RpcBindingInqConnId
+I_RpcBindingInqDynamicEndpoint
+I_RpcBindingInqDynamicEndpointA
+I_RpcBindingInqDynamicEndpointW
+I_RpcBindingInqLocalClientPID
+I_RpcBindingInqMarshalledTargetInfo
+I_RpcBindingInqSecurityContext
+I_RpcBindingInqTransportType
+I_RpcBindingInqWireIdForSnego
+I_RpcBindingIsClientLocal
+I_RpcBindingToStaticStringBindingW
+I_RpcClearMutex
+I_RpcConnectionInqSockBuffSize
+I_RpcConnectionSetSockBuffSize
+I_RpcDeleteMutex
+I_RpcEnableWmiTrace
+I_RpcExceptionFilter
+I_RpcFree
+I_RpcFreeBuffer
+I_RpcFreePipeBuffer
+I_RpcGetBuffer
+I_RpcGetBufferWithObject
+I_RpcGetCurrentCallHandle
+I_RpcGetExtendedError
+I_RpcIfInqTransferSyntaxes
+I_RpcLogEvent
+I_RpcMapWin32Status
+I_RpcNDRCGetWireRepresentation
+I_RpcNDRSContextEmergencyCleanup
+I_RpcNegotiateTransferSyntax
+I_RpcNsBindingSetEntryName
+I_RpcNsBindingSetEntryNameA
+I_RpcNsBindingSetEntryNameW
+I_RpcNsInterfaceExported
+I_RpcNsInterfaceUnexported
+I_RpcParseSecurity
+I_RpcPauseExecution
+I_RpcProxyNewConnection
+I_RpcReallocPipeBuffer
+I_RpcReceive
+I_RpcRecordCalloutFailure
+I_RpcReplyToClientWithStatus
+I_RpcRequestMutex
+I_RpcSNCHOption
+I_RpcSend
+I_RpcSendReceive
+I_RpcServerAllocateIpPort
+I_RpcServerCheckClientRestriction
+I_RpcServerInqAddressChangeFn
+I_RpcServerInqLocalConnAddress
+I_RpcServerInqTransportType
+I_RpcServerIsClientDisconnected
+I_RpcServerRegisterForwardFunction
+I_RpcServerSetAddressChangeFn
+I_RpcServerUseProtseq2A
+I_RpcServerUseProtseq2W
+I_RpcServerUseProtseqEp2A
+I_RpcServerUseProtseqEp2W
+I_RpcSessionStrictContextHandle
+I_RpcSetAsyncHandle
+I_RpcSsDontSerializeContext
+I_RpcSystemFunction001
+I_RpcTransConnectionAllocatePacket
+I_RpcTransConnectionFreePacket
+I_RpcTransConnectionReallocPacket
+I_RpcTransDatagramAllocate
+I_RpcTransDatagramAllocate2
+I_RpcTransDatagramFree
+I_RpcTransGetThreadEvent
+I_RpcTransIoCancelled
+I_RpcTransServerNewConnection
+I_RpcTurnOnEEInfoPropagation
+I_UuidCreate
+MesBufferHandleReset
+MesDecodeBufferHandleCreate
+MesDecodeIncrementalHandleCreate
+MesEncodeDynBufferHandleCreate
+MesEncodeFixedBufferHandleCreate
+MesEncodeIncrementalHandleCreate
+MesHandleFree
+MesIncrementalHandleReset
+MesInqProcEncodingId
+NDRCContextBinding
+NDRCContextMarshall
+NDRCContextUnmarshall
+NDRSContextMarshall
+NDRSContextMarshall2
+NDRSContextMarshallEx
+NDRSContextUnmarshall
+NDRSContextUnmarshall2
+NDRSContextUnmarshallEx
+Ndr64AsyncClientCall
+Ndr64AsyncServerCall64
+Ndr64AsyncServerCallAll
+Ndr64DcomAsyncClientCall
+Ndr64DcomAsyncStubCall
+NdrAllocate
+NdrAsyncClientCall
+NdrAsyncServerCall
+NdrByteCountPointerBufferSize
+NdrByteCountPointerFree
+NdrByteCountPointerMarshall
+NdrByteCountPointerUnmarshall
+NdrCStdStubBuffer2_Release
+NdrCStdStubBuffer_Release
+NdrClearOutParameters
+NdrClientCall2
+NdrClientCall3
+NdrClientContextMarshall
+NdrClientContextUnmarshall
+NdrClientInitialize
+NdrClientInitializeNew
+NdrComplexArrayBufferSize
+NdrComplexArrayFree
+NdrComplexArrayMarshall
+NdrComplexArrayMemorySize
+NdrComplexArrayUnmarshall
+NdrComplexStructBufferSize
+NdrComplexStructFree
+NdrComplexStructMarshall
+NdrComplexStructMemorySize
+NdrComplexStructUnmarshall
+NdrConformantArrayBufferSize
+NdrConformantArrayFree
+NdrConformantArrayMarshall
+NdrConformantArrayMemorySize
+NdrConformantArrayUnmarshall
+NdrConformantStringBufferSize
+NdrConformantStringMarshall
+NdrConformantStringMemorySize
+NdrConformantStringUnmarshall
+NdrConformantStructBufferSize
+NdrConformantStructFree
+NdrConformantStructMarshall
+NdrConformantStructMemorySize
+NdrConformantStructUnmarshall
+NdrConformantVaryingArrayBufferSize
+NdrConformantVaryingArrayFree
+NdrConformantVaryingArrayMarshall
+NdrConformantVaryingArrayMemorySize
+NdrConformantVaryingArrayUnmarshall
+NdrConformantVaryingStructBufferSize
+NdrConformantVaryingStructFree
+NdrConformantVaryingStructMarshall
+NdrConformantVaryingStructMemorySize
+NdrConformantVaryingStructUnmarshall
+NdrContextHandleInitialize
+NdrContextHandleSize
+NdrConvert
+NdrConvert2
+NdrCorrelationFree
+NdrCorrelationInitialize
+NdrCorrelationPass
+NdrCreateServerInterfaceFromStub
+NdrDcomAsyncClientCall
+NdrDcomAsyncStubCall
+NdrDllCanUnloadNow
+NdrDllGetClassObject
+NdrDllRegisterProxy
+NdrDllUnregisterProxy
+NdrEncapsulatedUnionBufferSize
+NdrEncapsulatedUnionFree
+NdrEncapsulatedUnionMarshall
+NdrEncapsulatedUnionMemorySize
+NdrEncapsulatedUnionUnmarshall
+NdrFixedArrayBufferSize
+NdrFixedArrayFree
+NdrFixedArrayMarshall
+NdrFixedArrayMemorySize
+NdrFixedArrayUnmarshall
+NdrFreeBuffer
+NdrFullPointerFree
+NdrFullPointerInsertRefId
+NdrFullPointerQueryPointer
+NdrFullPointerQueryRefId
+NdrFullPointerXlatFree
+NdrFullPointerXlatInit
+NdrGetBuffer
+NdrGetDcomProtocolVersion
+NdrGetSimpleTypeBufferAlignment
+NdrGetSimpleTypeBufferSize
+NdrGetSimpleTypeMemorySize
+NdrGetTypeFlags
+NdrGetUserMarshalInfo
+NdrInterfacePointerBufferSize
+NdrInterfacePointerFree
+NdrInterfacePointerMarshall
+NdrInterfacePointerMemorySize
+NdrInterfacePointerUnmarshall
+NdrMapCommAndFaultStatus
+NdrMesProcEncodeDecode
+NdrMesProcEncodeDecode2
+NdrMesProcEncodeDecode3
+NdrMesSimpleTypeAlignSize
+NdrMesSimpleTypeAlignSizeAll
+NdrMesSimpleTypeDecode
+NdrMesSimpleTypeDecodeAll
+NdrMesSimpleTypeEncode
+NdrMesSimpleTypeEncodeAll
+NdrMesTypeAlignSize
+NdrMesTypeAlignSize2
+NdrMesTypeAlignSize3
+NdrMesTypeDecode
+NdrMesTypeDecode2
+NdrMesTypeDecode3
+NdrMesTypeEncode
+NdrMesTypeEncode2
+NdrMesTypeEncode3
+NdrMesTypeFree2
+NdrMesTypeFree3
+NdrNonConformantStringBufferSize
+NdrNonConformantStringMarshall
+NdrNonConformantStringMemorySize
+NdrNonConformantStringUnmarshall
+NdrNonEncapsulatedUnionBufferSize
+NdrNonEncapsulatedUnionFree
+NdrNonEncapsulatedUnionMarshall
+NdrNonEncapsulatedUnionMemorySize
+NdrNonEncapsulatedUnionUnmarshall
+NdrNsGetBuffer
+NdrNsSendReceive
+NdrOleAllocate
+NdrOleFree
+NdrOutInit
+NdrPartialIgnoreClientBufferSize
+NdrPartialIgnoreClientMarshall
+NdrPartialIgnoreServerInitialize
+NdrPartialIgnoreServerUnmarshall
+NdrPointerBufferSize
+NdrPointerFree
+NdrPointerMarshall
+NdrPointerMemorySize
+NdrPointerUnmarshall
+NdrProxyErrorHandler
+NdrProxyFreeBuffer
+NdrProxyGetBuffer
+NdrProxyInitialize
+NdrProxySendReceive
+NdrRangeUnmarshall
+NdrRpcSmClientAllocate
+NdrRpcSmClientFree
+NdrRpcSmSetClientToOsf
+NdrRpcSsDefaultAllocate
+NdrRpcSsDefaultFree
+NdrRpcSsDisableAllocate
+NdrRpcSsEnableAllocate
+NdrSendReceive
+NdrServerCall2
+NdrServerCallAll
+NdrServerCallNdr64
+NdrServerContextMarshall
+NdrServerContextNewMarshall
+NdrServerContextNewUnmarshall
+NdrServerContextUnmarshall
+NdrServerInitialize
+NdrServerInitializeMarshall
+NdrServerInitializeNew
+NdrServerInitializePartial
+NdrServerInitializeUnmarshall
+NdrSimpleStructBufferSize
+NdrSimpleStructFree
+NdrSimpleStructMarshall
+NdrSimpleStructMemorySize
+NdrSimpleStructUnmarshall
+NdrSimpleTypeMarshall
+NdrSimpleTypeUnmarshall
+NdrStubCall2
+NdrStubCall3
+NdrStubForwardingFunction
+NdrStubGetBuffer
+NdrStubInitialize
+NdrStubInitializeMarshall
+NdrTypeFlags
+NdrTypeFree
+NdrTypeMarshall
+NdrTypeSize
+NdrTypeUnmarshall
+NdrUnmarshallBasetypeInline
+NdrUserMarshalBufferSize
+NdrUserMarshalFree
+NdrUserMarshalMarshall
+NdrUserMarshalMemorySize
+NdrUserMarshalSimpleTypeConvert
+NdrUserMarshalUnmarshall
+NdrVaryingArrayBufferSize
+NdrVaryingArrayFree
+NdrVaryingArrayMarshall
+NdrVaryingArrayMemorySize
+NdrVaryingArrayUnmarshall
+NdrXmitOrRepAsBufferSize
+NdrXmitOrRepAsFree
+NdrXmitOrRepAsMarshall
+NdrXmitOrRepAsMemorySize
+NdrXmitOrRepAsUnmarshall
+NdrpCreateProxy
+NdrpCreateStub
+NdrpGetProcFormatString
+NdrpGetTypeFormatString
+NdrpGetTypeGenCookie
+NdrpMemoryIncrement
+NdrpReleaseTypeFormatString
+NdrpReleaseTypeGenCookie
+NdrpSetRpcSsDefaults
+NdrpVarVtOfTypeDesc
+RpcAbortAsyncCall
+RpcAsyncAbortCall
+RpcAsyncCancelCall
+RpcAsyncCompleteCall
+RpcAsyncGetCallStatus
+RpcAsyncInitializeHandle
+RpcAsyncRegisterInfo
+RpcBindingCopy
+RpcBindingFree
+RpcBindingFromStringBindingA
+RpcBindingFromStringBindingW
+RpcBindingInqAuthClientA
+RpcBindingInqAuthClientExA
+RpcBindingInqAuthClientExW
+RpcBindingInqAuthClientW
+RpcBindingInqAuthInfoA
+RpcBindingInqAuthInfoExA
+RpcBindingInqAuthInfoExW
+RpcBindingInqAuthInfoW
+RpcBindingInqObject
+RpcBindingInqOption
+RpcBindingReset
+RpcBindingServerFromClient
+RpcBindingSetAuthInfoA
+RpcBindingSetAuthInfoExA
+RpcBindingSetAuthInfoExW
+RpcBindingSetAuthInfoW
+RpcBindingSetObject
+RpcBindingSetOption
+RpcBindingToStringBindingA
+RpcBindingToStringBindingW
+RpcBindingVectorFree
+RpcCancelAsyncCall
+RpcCancelThread
+RpcCancelThreadEx
+RpcCertGeneratePrincipalNameA
+RpcCertGeneratePrincipalNameW
+RpcCompleteAsyncCall
+RpcEpRegisterA
+RpcEpRegisterNoReplaceA
+RpcEpRegisterNoReplaceW
+RpcEpRegisterW
+RpcEpResolveBinding
+RpcEpUnregister
+RpcErrorAddRecord
+RpcErrorClearInformation
+RpcErrorEndEnumeration
+RpcErrorGetNextRecord
+RpcErrorGetNumberOfRecords
+RpcErrorLoadErrorInfo
+RpcErrorResetEnumeration
+RpcErrorSaveErrorInfo
+RpcErrorStartEnumeration
+RpcFreeAuthorizationContext
+RpcGetAsyncCallStatus
+RpcGetAuthorizationContextForClient
+RpcIfIdVectorFree
+RpcIfInqId
+RpcImpersonateClient
+RpcInitializeAsyncHandle
+RpcMgmtEnableIdleCleanup
+RpcMgmtEpEltInqBegin
+RpcMgmtEpEltInqDone
+RpcMgmtEpEltInqNextA
+RpcMgmtEpEltInqNextW
+RpcMgmtEpUnregister
+RpcMgmtInqComTimeout
+RpcMgmtInqDefaultProtectLevel
+RpcMgmtInqIfIds
+RpcMgmtInqServerPrincNameA
+RpcMgmtInqServerPrincNameW
+RpcMgmtInqStats
+RpcMgmtIsServerListening
+RpcMgmtSetAuthorizationFn
+RpcMgmtSetCancelTimeout
+RpcMgmtSetComTimeout
+RpcMgmtSetServerStackSize
+RpcMgmtStatsVectorFree
+RpcMgmtStopServerListening
+RpcMgmtWaitServerListen
+RpcNetworkInqProtseqsA
+RpcNetworkInqProtseqsW
+RpcNetworkIsProtseqValidA
+RpcNetworkIsProtseqValidW
+RpcNsBindingInqEntryNameA
+RpcNsBindingInqEntryNameW
+RpcObjectInqType
+RpcObjectSetInqFn
+RpcObjectSetType
+RpcProtseqVectorFreeA
+RpcProtseqVectorFreeW
+RpcRaiseException
+RpcRegisterAsyncInfo
+RpcRevertToSelf
+RpcRevertToSelfEx
+RpcServerInqBindings
+RpcServerInqCallAttributesA
+RpcServerInqCallAttributesW
+RpcServerInqDefaultPrincNameA
+RpcServerInqDefaultPrincNameW
+RpcServerInqIf
+RpcServerListen
+RpcServerRegisterAuthInfoA
+RpcServerRegisterAuthInfoW
+RpcServerRegisterIf
+RpcServerRegisterIf2
+RpcServerRegisterIfEx
+RpcServerTestCancel
+RpcServerUnregisterIf
+RpcServerUnregisterIfEx
+RpcServerUseAllProtseqs
+RpcServerUseAllProtseqsEx
+RpcServerUseAllProtseqsIf
+RpcServerUseAllProtseqsIfEx
+RpcServerUseProtseqA
+RpcServerUseProtseqEpA
+RpcServerUseProtseqEpExA
+RpcServerUseProtseqEpExW
+RpcServerUseProtseqEpW
+RpcServerUseProtseqExA
+RpcServerUseProtseqExW
+RpcServerUseProtseqIfA
+RpcServerUseProtseqIfExA
+RpcServerUseProtseqIfExW
+RpcServerUseProtseqIfW
+RpcServerUseProtseqW
+RpcServerYield
+RpcSmAllocate
+RpcSmClientFree
+RpcSmDestroyClientContext
+RpcSmDisableAllocate
+RpcSmEnableAllocate
+RpcSmFree
+RpcSmGetThreadHandle
+RpcSmSetClientAllocFree
+RpcSmSetThreadHandle
+RpcSmSwapClientAllocFree
+RpcSsAllocate
+RpcSsContextLockExclusive
+RpcSsContextLockShared
+RpcSsDestroyClientContext
+RpcSsDisableAllocate
+RpcSsDontSerializeContext
+RpcSsEnableAllocate
+RpcSsFree
+RpcSsGetContextBinding
+RpcSsGetThreadHandle
+RpcSsSetClientAllocFree
+RpcSsSetThreadHandle
+RpcSsSwapClientAllocFree
+RpcStringBindingComposeA
+RpcStringBindingComposeW
+RpcStringBindingParseA
+RpcStringBindingParseW
+RpcStringFreeA
+RpcStringFreeW
+RpcTestCancel
+RpcUserFree
+SimpleTypeAlignment
+SimpleTypeBufferSize
+SimpleTypeMemorySize
+TowerConstruct
+TowerExplode
+UuidCompare
+UuidCreate
+UuidCreateNil
+UuidCreateSequential
+UuidEqual
+UuidFromStringA
+UuidFromStringW
+UuidHash
+UuidIsNil
+UuidToStringA
+UuidToStringW
+pfnFreeRoutines DATA
+pfnMarshallRoutines DATA
+pfnSizeRoutines DATA
+pfnUnmarshallRoutines DATA
diff --git a/mingw-w64-crt/lib64/rpcss.def b/mingw-w64-crt/lib64/rpcss.def
index b00a811..55c5473 100644
--- a/mingw-w64-crt/lib64/rpcss.def
+++ b/mingw-w64-crt/lib64/rpcss.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file RPCSS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RPCSS.dll
-EXPORTS
-ServiceMain
-CoGetComCatalog
-GetRPCSSInfo
-WhichService
+; 
+; Exports of file RPCSS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RPCSS.dll
+EXPORTS
+ServiceMain
+CoGetComCatalog
+GetRPCSSInfo
+WhichService
diff --git a/mingw-w64-crt/lib64/rsaenh.def b/mingw-w64-crt/lib64/rsaenh.def
index 415f8a7..9340859 100644
--- a/mingw-w64-crt/lib64/rsaenh.def
+++ b/mingw-w64-crt/lib64/rsaenh.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file RSAENH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RSAENH.dll
-EXPORTS
-CPAcquireContext
-CPCreateHash
-CPDecrypt
-CPDeriveKey
-CPDestroyHash
-CPDestroyKey
-CPDuplicateHash
-CPDuplicateKey
-CPEncrypt
-CPExportKey
-CPGenKey
-CPGenRandom
-CPGetHashParam
-CPGetKeyParam
-CPGetProvParam
-CPGetUserKey
-CPHashData
-CPHashSessionKey
-CPImportKey
-CPReleaseContext
-CPSetHashParam
-CPSetKeyParam
-CPSetProvParam
-CPSignHash
-CPVerifySignature
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file RSAENH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RSAENH.dll
+EXPORTS
+CPAcquireContext
+CPCreateHash
+CPDecrypt
+CPDeriveKey
+CPDestroyHash
+CPDestroyKey
+CPDuplicateHash
+CPDuplicateKey
+CPEncrypt
+CPExportKey
+CPGenKey
+CPGenRandom
+CPGetHashParam
+CPGetKeyParam
+CPGetProvParam
+CPGetUserKey
+CPHashData
+CPHashSessionKey
+CPImportKey
+CPReleaseContext
+CPSetHashParam
+CPSetKeyParam
+CPSetProvParam
+CPSignHash
+CPVerifySignature
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/rsfsaps.def b/mingw-w64-crt/lib64/rsfsaps.def
index 84bc507..b218553 100644
--- a/mingw-w64-crt/lib64/rsfsaps.def
+++ b/mingw-w64-crt/lib64/rsfsaps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ps.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ps.dll
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ps.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ps.dll
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/rshx32.def b/mingw-w64-crt/lib64/rshx32.def
index 1cb9c16..55fca6b 100644
--- a/mingw-w64-crt/lib64/rshx32.def
+++ b/mingw-w64-crt/lib64/rshx32.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file RSHX32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RSHX32.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file RSHX32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RSHX32.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/rsmps.def b/mingw-w64-crt/lib64/rsmps.def
index 8f3be99..ed34c30 100644
--- a/mingw-w64-crt/lib64/rsmps.def
+++ b/mingw-w64-crt/lib64/rsmps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file rsmps.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rsmps.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file rsmps.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rsmps.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/rtm.def b/mingw-w64-crt/lib64/rtm.def
index 39e2300..bbf9357 100644
--- a/mingw-w64-crt/lib64/rtm.def
+++ b/mingw-w64-crt/lib64/rtm.def
@@ -1,120 +1,120 @@
-; 
-; Exports of file rtm.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rtm.dll
-EXPORTS
-BestMatchInTable
-CheckTable
-CreateTable
-DeleteFromTable
-DestroyTable
-DumpTable
-EnumOverTable
-InsertIntoTable
-MgmAddGroupMembershipEntry
-MgmDeInitialize
-MgmDeRegisterMProtocol
-MgmDeleteGroupMembershipEntry
-MgmGetFirstMfe
-MgmGetFirstMfeStats
-MgmGetMfe
-MgmGetMfeStats
-MgmGetNextMfe
-MgmGetNextMfeStats
-MgmGetProtocolOnInterface
-MgmGroupEnumerationEnd
-MgmGroupEnumerationGetNext
-MgmGroupEnumerationStart
-MgmInitialize
-MgmRegisterMProtocol
-MgmReleaseInterfaceOwnership
-MgmTakeInterfaceOwnership
-NextMatchInTable
-RtmAddNextHop
-RtmAddRoute
-RtmAddRouteToDest
-RtmBlockConvertRoutesToStatic
-RtmBlockDeleteRoutes
-RtmBlockMethods
-RtmBlockSetRouteEnable
-RtmCloseEnumerationHandle
-RtmCreateDestEnum
-RtmCreateEnumerationHandle
-RtmCreateNextHopEnum
-RtmCreateRouteEnum
-RtmCreateRouteList
-RtmCreateRouteListEnum
-RtmCreateRouteTable
-RtmDeleteEnumHandle
-RtmDeleteNextHop
-RtmDeleteRoute
-RtmDeleteRouteList
-RtmDeleteRouteTable
-RtmDeleteRouteToDest
-RtmDequeueRouteChangeMessage
-RtmDereferenceHandles
-RtmDeregisterClient
-RtmDeregisterEntity
-RtmDeregisterFromChangeNotification
-RtmEnumerateGetNextRoute
-RtmFindNextHop
-RtmGetAddressFamilyInfo
-RtmGetChangeStatus
-RtmGetChangedDests
-RtmGetDestInfo
-RtmGetEntityInfo
-RtmGetEntityMethods
-RtmGetEnumDests
-RtmGetEnumNextHops
-RtmGetEnumRoutes
-RtmGetExactMatchDestination
-RtmGetExactMatchRoute
-RtmGetFirstRoute
-RtmGetInstanceInfo
-RtmGetInstances
-RtmGetLessSpecificDestination
-RtmGetListEnumRoutes
-RtmGetMostSpecificDestination
-RtmGetNetworkCount
-RtmGetNextHopInfo
-RtmGetNextHopPointer
-RtmGetNextRoute
-RtmGetOpaqueInformationPointer
-RtmGetRegisteredEntities
-RtmGetRouteAge
-RtmGetRouteInfo
-RtmGetRoutePointer
-RtmHoldDestination
-RtmIgnoreChangedDests
-RtmInsertInRouteList
-RtmInvokeMethod
-RtmIsBestRoute
-RtmIsMarkedForChangeNotification
-RtmIsRoute
-RtmLockDestination
-RtmLockNextHop
-RtmLockRoute
-RtmLookupIPDestination
-RtmMarkDestForChangeNotification
-RtmReadAddressFamilyConfig
-RtmReadInstanceConfig
-RtmReferenceHandles
-RtmRegisterClient
-RtmRegisterEntity
-RtmRegisterForChangeNotification
-RtmReleaseChangedDests
-RtmReleaseDestInfo
-RtmReleaseDests
-RtmReleaseEntities
-RtmReleaseEntityInfo
-RtmReleaseNextHopInfo
-RtmReleaseNextHops
-RtmReleaseRouteInfo
-RtmReleaseRoutes
-RtmUpdateAndUnlockRoute
-RtmWriteAddressFamilyConfig
-RtmWriteInstanceConfig
-SearchInTable
+; 
+; Exports of file rtm.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rtm.dll
+EXPORTS
+BestMatchInTable
+CheckTable
+CreateTable
+DeleteFromTable
+DestroyTable
+DumpTable
+EnumOverTable
+InsertIntoTable
+MgmAddGroupMembershipEntry
+MgmDeInitialize
+MgmDeRegisterMProtocol
+MgmDeleteGroupMembershipEntry
+MgmGetFirstMfe
+MgmGetFirstMfeStats
+MgmGetMfe
+MgmGetMfeStats
+MgmGetNextMfe
+MgmGetNextMfeStats
+MgmGetProtocolOnInterface
+MgmGroupEnumerationEnd
+MgmGroupEnumerationGetNext
+MgmGroupEnumerationStart
+MgmInitialize
+MgmRegisterMProtocol
+MgmReleaseInterfaceOwnership
+MgmTakeInterfaceOwnership
+NextMatchInTable
+RtmAddNextHop
+RtmAddRoute
+RtmAddRouteToDest
+RtmBlockConvertRoutesToStatic
+RtmBlockDeleteRoutes
+RtmBlockMethods
+RtmBlockSetRouteEnable
+RtmCloseEnumerationHandle
+RtmCreateDestEnum
+RtmCreateEnumerationHandle
+RtmCreateNextHopEnum
+RtmCreateRouteEnum
+RtmCreateRouteList
+RtmCreateRouteListEnum
+RtmCreateRouteTable
+RtmDeleteEnumHandle
+RtmDeleteNextHop
+RtmDeleteRoute
+RtmDeleteRouteList
+RtmDeleteRouteTable
+RtmDeleteRouteToDest
+RtmDequeueRouteChangeMessage
+RtmDereferenceHandles
+RtmDeregisterClient
+RtmDeregisterEntity
+RtmDeregisterFromChangeNotification
+RtmEnumerateGetNextRoute
+RtmFindNextHop
+RtmGetAddressFamilyInfo
+RtmGetChangeStatus
+RtmGetChangedDests
+RtmGetDestInfo
+RtmGetEntityInfo
+RtmGetEntityMethods
+RtmGetEnumDests
+RtmGetEnumNextHops
+RtmGetEnumRoutes
+RtmGetExactMatchDestination
+RtmGetExactMatchRoute
+RtmGetFirstRoute
+RtmGetInstanceInfo
+RtmGetInstances
+RtmGetLessSpecificDestination
+RtmGetListEnumRoutes
+RtmGetMostSpecificDestination
+RtmGetNetworkCount
+RtmGetNextHopInfo
+RtmGetNextHopPointer
+RtmGetNextRoute
+RtmGetOpaqueInformationPointer
+RtmGetRegisteredEntities
+RtmGetRouteAge
+RtmGetRouteInfo
+RtmGetRoutePointer
+RtmHoldDestination
+RtmIgnoreChangedDests
+RtmInsertInRouteList
+RtmInvokeMethod
+RtmIsBestRoute
+RtmIsMarkedForChangeNotification
+RtmIsRoute
+RtmLockDestination
+RtmLockNextHop
+RtmLockRoute
+RtmLookupIPDestination
+RtmMarkDestForChangeNotification
+RtmReadAddressFamilyConfig
+RtmReadInstanceConfig
+RtmReferenceHandles
+RtmRegisterClient
+RtmRegisterEntity
+RtmRegisterForChangeNotification
+RtmReleaseChangedDests
+RtmReleaseDestInfo
+RtmReleaseDests
+RtmReleaseEntities
+RtmReleaseEntityInfo
+RtmReleaseNextHopInfo
+RtmReleaseNextHops
+RtmReleaseRouteInfo
+RtmReleaseRoutes
+RtmUpdateAndUnlockRoute
+RtmWriteAddressFamilyConfig
+RtmWriteInstanceConfig
+SearchInTable
diff --git a/mingw-w64-crt/lib64/rtutils.def b/mingw-w64-crt/lib64/rtutils.def
index 52f7b65..2871694 100644
--- a/mingw-w64-crt/lib64/rtutils.def
+++ b/mingw-w64-crt/lib64/rtutils.def
@@ -1,51 +1,51 @@
-; 
-; Exports of file rtutils.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rtutils.dll
-EXPORTS
-LogErrorA
-LogErrorW
-LogEventA
-LogEventW
-MprSetupProtocolEnum
-MprSetupProtocolFree
-QueueWorkItem
-RouterAssert
-RouterGetErrorStringA
-RouterGetErrorStringW
-RouterLogDeregisterA
-RouterLogDeregisterW
-RouterLogEventA
-RouterLogEventDataA
-RouterLogEventDataW
-RouterLogEventExA
-RouterLogEventExW
-RouterLogEventStringA
-RouterLogEventStringW
-RouterLogEventValistExA
-RouterLogEventValistExW
-RouterLogEventW
-RouterLogRegisterA
-RouterLogRegisterW
-SetIoCompletionProc
-TraceDeregisterA
-TraceDeregisterExA
-TraceDeregisterExW
-TraceDeregisterW
-TraceDumpExA
-TraceDumpExW
-TraceGetConsoleA
-TraceGetConsoleW
-TracePrintfA
-TracePrintfExA
-TracePrintfExW
-TracePrintfW
-TracePutsExA
-TracePutsExW
-TraceRegisterExA
-TraceRegisterExW
-TraceVprintfExA
-TraceVprintfExW
+; 
+; Exports of file rtutils.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rtutils.dll
+EXPORTS
+LogErrorA
+LogErrorW
+LogEventA
+LogEventW
+MprSetupProtocolEnum
+MprSetupProtocolFree
+QueueWorkItem
+RouterAssert
+RouterGetErrorStringA
+RouterGetErrorStringW
+RouterLogDeregisterA
+RouterLogDeregisterW
+RouterLogEventA
+RouterLogEventDataA
+RouterLogEventDataW
+RouterLogEventExA
+RouterLogEventExW
+RouterLogEventStringA
+RouterLogEventStringW
+RouterLogEventValistExA
+RouterLogEventValistExW
+RouterLogEventW
+RouterLogRegisterA
+RouterLogRegisterW
+SetIoCompletionProc
+TraceDeregisterA
+TraceDeregisterExA
+TraceDeregisterExW
+TraceDeregisterW
+TraceDumpExA
+TraceDumpExW
+TraceGetConsoleA
+TraceGetConsoleW
+TracePrintfA
+TracePrintfExA
+TracePrintfExW
+TracePrintfW
+TracePutsExA
+TracePutsExW
+TraceRegisterExA
+TraceRegisterExW
+TraceVprintfExA
+TraceVprintfExW
diff --git a/mingw-w64-crt/lib64/rwnh.def b/mingw-w64-crt/lib64/rwnh.def
index a4f4cac..ca3a395 100644
--- a/mingw-w64-crt/lib64/rwnh.def
+++ b/mingw-w64-crt/lib64/rwnh.def
@@ -1,104 +1,104 @@
-; 
-; Exports of file RWNH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RWNH.dll
-EXPORTS
-; public: __cdecl CCritSection::CCritSection(void) __ptr64
-??0CCritSection@@QEAA@XZ
-; public: __cdecl CShareLockExport::CShareLockExport(void) __ptr64
-??0CShareLockExport@@QEAA@XZ
-; public: __cdecl CShareLockNH::CShareLockNH(void) __ptr64
-??0CShareLockNH@@QEAA@XZ
-; public: __cdecl CSimpleCritSection::CSimpleCritSection(void) __ptr64
-??0CSimpleCritSection@@QEAA@XZ
-; public: __cdecl CCritSection::~CCritSection(void) __ptr64
-??1CCritSection@@QEAA@XZ
-; public: __cdecl CShareLockExport::~CShareLockExport(void) __ptr64
-??1CShareLockExport@@QEAA@XZ
-; public: __cdecl CShareLockNH::~CShareLockNH(void) __ptr64
-??1CShareLockNH@@QEAA@XZ
-; public: __cdecl CSimpleCritSection::~CSimpleCritSection(void) __ptr64
-??1CSimpleCritSection@@QEAA@XZ
-; public: class CShareLockExport & __ptr64 __cdecl CShareLockExport::operator=(class CShareLockExport const & __ptr64) __ptr64
-??4CShareLockExport@@QEAAAEAV0@AEBV0@@Z
-; public: class CSimpleCritSection & __ptr64 __cdecl CSimpleCritSection::operator=(class CSimpleCritSection const & __ptr64) __ptr64
-??4CSimpleCritSection@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl CCritSection::Enter(class CWaitingThread & __ptr64) __ptr64
-?Enter@CCritSection@@QEAAXAEAVCWaitingThread@@@Z
-; public: void __cdecl CCritSection::Enter(void) __ptr64
-?Enter@CCritSection@@QEAAXXZ
-; public: void __cdecl CSimpleCritSection::Enter(class CWaitingThread & __ptr64) __ptr64
-?Enter@CSimpleCritSection@@QEAAXAEAVCWaitingThread@@@Z
-; public: void __cdecl CSimpleCritSection::Enter(void) __ptr64
-?Enter@CSimpleCritSection@@QEAAXXZ
-; public: void __cdecl CShareLockExport::ExclusiveLock(void) __ptr64
-?ExclusiveLock@CShareLockExport@@QEAAXXZ
-; public: void __cdecl CShareLockNH::ExclusiveLock(void) __ptr64
-?ExclusiveLock@CShareLockNH@@QEAAXXZ
-; public: void __cdecl CShareLockNH::ExclusiveToPartial(void) __ptr64
-?ExclusiveToPartial@CShareLockNH@@QEAAXXZ
-; public: void __cdecl CShareLockExport::ExclusiveToShared(void) __ptr64
-?ExclusiveToShared@CShareLockExport@@QEAAXXZ
-; public: void __cdecl CShareLockNH::ExclusiveToShared(void) __ptr64
-?ExclusiveToShared@CShareLockNH@@QEAAXXZ
-; public: void __cdecl CShareLockExport::ExclusiveUnlock(void) __ptr64
-?ExclusiveUnlock@CShareLockExport@@QEAAXXZ
-; public: void __cdecl CShareLockNH::ExclusiveUnlock(void) __ptr64
-?ExclusiveUnlock@CShareLockNH@@QEAAXXZ
-; public: void __cdecl CShareLockNH::FirstPartialToExclusive(void) __ptr64
-?FirstPartialToExclusive@CShareLockNH@@QEAAXXZ
-; void * __ptr64 __cdecl GetPerThreadEvent(void)
-?GetPerThreadEvent@@YAPEAXXZ
-; public: void __cdecl CCritSection::Leave(void) __ptr64
-?Leave@CCritSection@@QEAAXXZ
-; public: void __cdecl CSimpleCritSection::Leave(void) __ptr64
-?Leave@CSimpleCritSection@@QEAAXXZ
-; public: void __cdecl CShareLockNH::PartialLock(void) __ptr64
-?PartialLock@CShareLockNH@@QEAAXXZ
-; public: int __cdecl CShareLockNH::PartialToExclusive(void) __ptr64
-?PartialToExclusive@CShareLockNH@@QEAAHXZ
-; public: void __cdecl CShareLockNH::PartialToShared(void) __ptr64
-?PartialToShared@CShareLockNH@@QEAAXXZ
-; public: void __cdecl CShareLockNH::PartialUnlock(void) __ptr64
-?PartialUnlock@CShareLockNH@@QEAAXXZ
-; public: void __cdecl CShareLockExport::ShareLock(void) __ptr64
-?ShareLock@CShareLockExport@@QEAAXXZ
-; public: void __cdecl CShareLockNH::ShareLock(void) __ptr64
-?ShareLock@CShareLockNH@@QEAAXXZ
-; private: void __cdecl CShareLockNH::ShareLockInternal(void) __ptr64
-?ShareLockInternal@CShareLockNH@@AEAAXXZ
-; public: void __cdecl CShareLockExport::ShareUnlock(void) __ptr64
-?ShareUnlock@CShareLockExport@@QEAAXXZ
-; public: void __cdecl CShareLockNH::ShareUnlock(void) __ptr64
-?ShareUnlock@CShareLockNH@@QEAAXXZ
-; private: void __cdecl CShareLockNH::ShareUnlockInternal(void) __ptr64
-?ShareUnlockInternal@CShareLockNH@@AEAAXXZ
-; public: int __cdecl CShareLockExport::SharedToExclusive(void) __ptr64
-?SharedToExclusive@CShareLockExport@@QEAAHXZ
-; public: int __cdecl CShareLockNH::SharedToExclusive(void) __ptr64
-?SharedToExclusive@CShareLockNH@@QEAAHXZ
-; public: int __cdecl CShareLockNH::SharedToPartial(void) __ptr64
-?SharedToPartial@CShareLockNH@@QEAAHXZ
-; public: int __cdecl CCritSection::TryEnter(class CWaitingThread & __ptr64) __ptr64
-?TryEnter@CCritSection@@QEAAHAEAVCWaitingThread@@@Z
-; public: int __cdecl CCritSection::TryEnter(void) __ptr64
-?TryEnter@CCritSection@@QEAAHXZ
-; public: int __cdecl CSimpleCritSection::TryEnter(class CWaitingThread & __ptr64) __ptr64
-?TryEnter@CSimpleCritSection@@QEAAHAEAVCWaitingThread@@@Z
-; public: int __cdecl CSimpleCritSection::TryEnter(void) __ptr64
-?TryEnter@CSimpleCritSection@@QEAAHXZ
-; public: int __cdecl CShareLockExport::TryExclusiveLock(void) __ptr64
-?TryExclusiveLock@CShareLockExport@@QEAAHXZ
-; public: int __cdecl CShareLockNH::TryExclusiveLock(void) __ptr64
-?TryExclusiveLock@CShareLockNH@@QEAAHXZ
-; public: int __cdecl CShareLockNH::TryPartialLock(void) __ptr64
-?TryPartialLock@CShareLockNH@@QEAAHXZ
-; public: int __cdecl CShareLockExport::TryShareLock(void) __ptr64
-?TryShareLock@CShareLockExport@@QEAAHXZ
-; public: int __cdecl CShareLockNH::TryShareLock(void) __ptr64
-?TryShareLock@CShareLockNH@@QEAAHXZ
-; private: void __cdecl CShareLockNH::WakeReaders(void) __ptr64
-?WakeReaders@CShareLockNH@@AEAAXXZ
+; 
+; Exports of file RWNH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RWNH.dll
+EXPORTS
+; public: __cdecl CCritSection::CCritSection(void) __ptr64
+??0CCritSection@@QEAA@XZ
+; public: __cdecl CShareLockExport::CShareLockExport(void) __ptr64
+??0CShareLockExport@@QEAA@XZ
+; public: __cdecl CShareLockNH::CShareLockNH(void) __ptr64
+??0CShareLockNH@@QEAA@XZ
+; public: __cdecl CSimpleCritSection::CSimpleCritSection(void) __ptr64
+??0CSimpleCritSection@@QEAA@XZ
+; public: __cdecl CCritSection::~CCritSection(void) __ptr64
+??1CCritSection@@QEAA@XZ
+; public: __cdecl CShareLockExport::~CShareLockExport(void) __ptr64
+??1CShareLockExport@@QEAA@XZ
+; public: __cdecl CShareLockNH::~CShareLockNH(void) __ptr64
+??1CShareLockNH@@QEAA@XZ
+; public: __cdecl CSimpleCritSection::~CSimpleCritSection(void) __ptr64
+??1CSimpleCritSection@@QEAA@XZ
+; public: class CShareLockExport & __ptr64 __cdecl CShareLockExport::operator=(class CShareLockExport const & __ptr64) __ptr64
+??4CShareLockExport@@QEAAAEAV0@AEBV0@@Z
+; public: class CSimpleCritSection & __ptr64 __cdecl CSimpleCritSection::operator=(class CSimpleCritSection const & __ptr64) __ptr64
+??4CSimpleCritSection@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl CCritSection::Enter(class CWaitingThread & __ptr64) __ptr64
+?Enter@CCritSection@@QEAAXAEAVCWaitingThread@@@Z
+; public: void __cdecl CCritSection::Enter(void) __ptr64
+?Enter@CCritSection@@QEAAXXZ
+; public: void __cdecl CSimpleCritSection::Enter(class CWaitingThread & __ptr64) __ptr64
+?Enter@CSimpleCritSection@@QEAAXAEAVCWaitingThread@@@Z
+; public: void __cdecl CSimpleCritSection::Enter(void) __ptr64
+?Enter@CSimpleCritSection@@QEAAXXZ
+; public: void __cdecl CShareLockExport::ExclusiveLock(void) __ptr64
+?ExclusiveLock@CShareLockExport@@QEAAXXZ
+; public: void __cdecl CShareLockNH::ExclusiveLock(void) __ptr64
+?ExclusiveLock@CShareLockNH@@QEAAXXZ
+; public: void __cdecl CShareLockNH::ExclusiveToPartial(void) __ptr64
+?ExclusiveToPartial@CShareLockNH@@QEAAXXZ
+; public: void __cdecl CShareLockExport::ExclusiveToShared(void) __ptr64
+?ExclusiveToShared@CShareLockExport@@QEAAXXZ
+; public: void __cdecl CShareLockNH::ExclusiveToShared(void) __ptr64
+?ExclusiveToShared@CShareLockNH@@QEAAXXZ
+; public: void __cdecl CShareLockExport::ExclusiveUnlock(void) __ptr64
+?ExclusiveUnlock@CShareLockExport@@QEAAXXZ
+; public: void __cdecl CShareLockNH::ExclusiveUnlock(void) __ptr64
+?ExclusiveUnlock@CShareLockNH@@QEAAXXZ
+; public: void __cdecl CShareLockNH::FirstPartialToExclusive(void) __ptr64
+?FirstPartialToExclusive@CShareLockNH@@QEAAXXZ
+; void * __ptr64 __cdecl GetPerThreadEvent(void)
+?GetPerThreadEvent@@YAPEAXXZ
+; public: void __cdecl CCritSection::Leave(void) __ptr64
+?Leave@CCritSection@@QEAAXXZ
+; public: void __cdecl CSimpleCritSection::Leave(void) __ptr64
+?Leave@CSimpleCritSection@@QEAAXXZ
+; public: void __cdecl CShareLockNH::PartialLock(void) __ptr64
+?PartialLock@CShareLockNH@@QEAAXXZ
+; public: int __cdecl CShareLockNH::PartialToExclusive(void) __ptr64
+?PartialToExclusive@CShareLockNH@@QEAAHXZ
+; public: void __cdecl CShareLockNH::PartialToShared(void) __ptr64
+?PartialToShared@CShareLockNH@@QEAAXXZ
+; public: void __cdecl CShareLockNH::PartialUnlock(void) __ptr64
+?PartialUnlock@CShareLockNH@@QEAAXXZ
+; public: void __cdecl CShareLockExport::ShareLock(void) __ptr64
+?ShareLock@CShareLockExport@@QEAAXXZ
+; public: void __cdecl CShareLockNH::ShareLock(void) __ptr64
+?ShareLock@CShareLockNH@@QEAAXXZ
+; private: void __cdecl CShareLockNH::ShareLockInternal(void) __ptr64
+?ShareLockInternal@CShareLockNH@@AEAAXXZ
+; public: void __cdecl CShareLockExport::ShareUnlock(void) __ptr64
+?ShareUnlock@CShareLockExport@@QEAAXXZ
+; public: void __cdecl CShareLockNH::ShareUnlock(void) __ptr64
+?ShareUnlock@CShareLockNH@@QEAAXXZ
+; private: void __cdecl CShareLockNH::ShareUnlockInternal(void) __ptr64
+?ShareUnlockInternal@CShareLockNH@@AEAAXXZ
+; public: int __cdecl CShareLockExport::SharedToExclusive(void) __ptr64
+?SharedToExclusive@CShareLockExport@@QEAAHXZ
+; public: int __cdecl CShareLockNH::SharedToExclusive(void) __ptr64
+?SharedToExclusive@CShareLockNH@@QEAAHXZ
+; public: int __cdecl CShareLockNH::SharedToPartial(void) __ptr64
+?SharedToPartial@CShareLockNH@@QEAAHXZ
+; public: int __cdecl CCritSection::TryEnter(class CWaitingThread & __ptr64) __ptr64
+?TryEnter@CCritSection@@QEAAHAEAVCWaitingThread@@@Z
+; public: int __cdecl CCritSection::TryEnter(void) __ptr64
+?TryEnter@CCritSection@@QEAAHXZ
+; public: int __cdecl CSimpleCritSection::TryEnter(class CWaitingThread & __ptr64) __ptr64
+?TryEnter@CSimpleCritSection@@QEAAHAEAVCWaitingThread@@@Z
+; public: int __cdecl CSimpleCritSection::TryEnter(void) __ptr64
+?TryEnter@CSimpleCritSection@@QEAAHXZ
+; public: int __cdecl CShareLockExport::TryExclusiveLock(void) __ptr64
+?TryExclusiveLock@CShareLockExport@@QEAAHXZ
+; public: int __cdecl CShareLockNH::TryExclusiveLock(void) __ptr64
+?TryExclusiveLock@CShareLockNH@@QEAAHXZ
+; public: int __cdecl CShareLockNH::TryPartialLock(void) __ptr64
+?TryPartialLock@CShareLockNH@@QEAAHXZ
+; public: int __cdecl CShareLockExport::TryShareLock(void) __ptr64
+?TryShareLock@CShareLockExport@@QEAAHXZ
+; public: int __cdecl CShareLockNH::TryShareLock(void) __ptr64
+?TryShareLock@CShareLockNH@@QEAAHXZ
+; private: void __cdecl CShareLockNH::WakeReaders(void) __ptr64
+?WakeReaders@CShareLockNH@@AEAAXXZ
diff --git a/mingw-w64-crt/lib64/safrcdlg.def b/mingw-w64-crt/lib64/safrcdlg.def
index 51a3e37..da399a9 100644
--- a/mingw-w64-crt/lib64/safrcdlg.def
+++ b/mingw-w64-crt/lib64/safrcdlg.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SAFRCFileDlg.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SAFRCFileDlg.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SAFRCFileDlg.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SAFRCFileDlg.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/safrdm.def b/mingw-w64-crt/lib64/safrdm.def
index ef5e7fc..14da987 100644
--- a/mingw-w64-crt/lib64/safrdm.def
+++ b/mingw-w64-crt/lib64/safrdm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SAFrdm.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SAFrdm.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SAFrdm.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SAFrdm.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/safrslv.def b/mingw-w64-crt/lib64/safrslv.def
index cee9bbb..934cf07 100644
--- a/mingw-w64-crt/lib64/safrslv.def
+++ b/mingw-w64-crt/lib64/safrslv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SAFRSLV.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SAFRSLV.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SAFRSLV.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SAFRSLV.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/samlib.def b/mingw-w64-crt/lib64/samlib.def
index 2b6bad3..e40d498 100644
--- a/mingw-w64-crt/lib64/samlib.def
+++ b/mingw-w64-crt/lib64/samlib.def
@@ -1,73 +1,73 @@
-; 
-; Exports of file SAMLIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SAMLIB.dll
-EXPORTS
-SamAddMemberToAlias
-SamAddMemberToGroup
-SamAddMultipleMembersToAlias
-SamChangePasswordUser
-SamChangePasswordUser2
-SamChangePasswordUser3
-SamCloseHandle
-SamConnect
-SamConnectWithCreds
-SamCreateAliasInDomain
-SamCreateGroupInDomain
-SamCreateUser2InDomain
-SamCreateUserInDomain
-SamDeleteAlias
-SamDeleteGroup
-SamDeleteUser
-SamEnumerateAliasesInDomain
-SamEnumerateDomainsInSamServer
-SamEnumerateGroupsInDomain
-SamEnumerateUsersInDomain
-SamFreeMemory
-SamGetAliasMembership
-SamGetCompatibilityMode
-SamGetDisplayEnumerationIndex
-SamGetGroupsForUser
-SamGetMembersInAlias
-SamGetMembersInGroup
-SamLookupDomainInSamServer
-SamLookupIdsInDomain
-SamLookupNamesInDomain
-SamOpenAlias
-SamOpenDomain
-SamOpenGroup
-SamOpenUser
-SamQueryDisplayInformation
-SamQueryInformationAlias
-SamQueryInformationDomain
-SamQueryInformationGroup
-SamQueryInformationUser
-SamQuerySecurityObject
-SamRemoveMemberFromAlias
-SamRemoveMemberFromForeignDomain
-SamRemoveMemberFromGroup
-SamRemoveMultipleMembersFromAlias
-SamRidToSid
-SamSetInformationAlias
-SamSetInformationDomain
-SamSetInformationGroup
-SamSetInformationUser
-SamSetMemberAttributesOfGroup
-SamSetSecurityObject
-SamShutdownSamServer
-SamTestPrivateFunctionsDomain
-SamTestPrivateFunctionsUser
-SamValidatePassword
-SamiChangeKeys
-SamiChangePasswordUser
-SamiChangePasswordUser2
-SamiEncryptPasswords
-SamiGetBootKeyInformation
-SamiLmChangePasswordUser
-SamiOemChangePasswordUser2
-SamiSetBootKeyInformation
-SamiSetDSRMPassword
-SamiSetDSRMPasswordOWF
+; 
+; Exports of file SAMLIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SAMLIB.dll
+EXPORTS
+SamAddMemberToAlias
+SamAddMemberToGroup
+SamAddMultipleMembersToAlias
+SamChangePasswordUser
+SamChangePasswordUser2
+SamChangePasswordUser3
+SamCloseHandle
+SamConnect
+SamConnectWithCreds
+SamCreateAliasInDomain
+SamCreateGroupInDomain
+SamCreateUser2InDomain
+SamCreateUserInDomain
+SamDeleteAlias
+SamDeleteGroup
+SamDeleteUser
+SamEnumerateAliasesInDomain
+SamEnumerateDomainsInSamServer
+SamEnumerateGroupsInDomain
+SamEnumerateUsersInDomain
+SamFreeMemory
+SamGetAliasMembership
+SamGetCompatibilityMode
+SamGetDisplayEnumerationIndex
+SamGetGroupsForUser
+SamGetMembersInAlias
+SamGetMembersInGroup
+SamLookupDomainInSamServer
+SamLookupIdsInDomain
+SamLookupNamesInDomain
+SamOpenAlias
+SamOpenDomain
+SamOpenGroup
+SamOpenUser
+SamQueryDisplayInformation
+SamQueryInformationAlias
+SamQueryInformationDomain
+SamQueryInformationGroup
+SamQueryInformationUser
+SamQuerySecurityObject
+SamRemoveMemberFromAlias
+SamRemoveMemberFromForeignDomain
+SamRemoveMemberFromGroup
+SamRemoveMultipleMembersFromAlias
+SamRidToSid
+SamSetInformationAlias
+SamSetInformationDomain
+SamSetInformationGroup
+SamSetInformationUser
+SamSetMemberAttributesOfGroup
+SamSetSecurityObject
+SamShutdownSamServer
+SamTestPrivateFunctionsDomain
+SamTestPrivateFunctionsUser
+SamValidatePassword
+SamiChangeKeys
+SamiChangePasswordUser
+SamiChangePasswordUser2
+SamiEncryptPasswords
+SamiGetBootKeyInformation
+SamiLmChangePasswordUser
+SamiOemChangePasswordUser2
+SamiSetBootKeyInformation
+SamiSetDSRMPassword
+SamiSetDSRMPasswordOWF
diff --git a/mingw-w64-crt/lib64/samsrv.def b/mingw-w64-crt/lib64/samsrv.def
index bab51b8..640963d 100644
--- a/mingw-w64-crt/lib64/samsrv.def
+++ b/mingw-w64-crt/lib64/samsrv.def
@@ -1,170 +1,170 @@
-; 
-; Exports of file SAMSRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SAMSRV.dll
-EXPORTS
-SamIAccountRestrictions
-SamIAddDSNameToAlias
-SamIAddDSNameToGroup
-SamIAmIGC
-SamIChangePasswordForeignUser
-SamIChangePasswordForeignUser2
-SamIConnect
-SamICreateAccountByRid
-SamIDemote
-SamIDemoteUndo
-SamIDoFSMORoleChange
-SamIDsCreateObjectInDomain
-SamIDsSetObjectInformation
-SamIEnumerateAccountRids
-SamIEnumerateInterdomainTrustAccountsForUpgrade
-SamIFloatingSingleMasterOpEx
-SamIFreeSidAndAttributesList
-SamIFreeSidArray
-SamIFreeVoid
-SamIFree_SAMPR_ALIAS_INFO_BUFFER
-SamIFree_SAMPR_DISPLAY_INFO_BUFFER
-SamIFree_SAMPR_DOMAIN_INFO_BUFFER
-SamIFree_SAMPR_ENUMERATION_BUFFER
-SamIFree_SAMPR_GET_GROUPS_BUFFER
-SamIFree_SAMPR_GET_MEMBERS_BUFFER
-SamIFree_SAMPR_GROUP_INFO_BUFFER
-SamIFree_SAMPR_PSID_ARRAY
-SamIFree_SAMPR_RETURNED_USTRING_ARRAY
-SamIFree_SAMPR_SR_SECURITY_DESCRIPTOR
-SamIFree_SAMPR_ULONG_ARRAY
-SamIFree_SAMPR_USER_INFO_BUFFER
-SamIFree_UserInternal6Information
-SamIGCLookupNames
-SamIGCLookupSids
-SamIGetAliasMembership
-SamIGetBootKeyInformation
-SamIGetDefaultAdministratorName
-SamIGetDefaultComputersContainer
-SamIGetFixedAttributes
-SamIGetInterdomainTrustAccountPasswordsForUpgrade
-SamIGetPrivateData
-SamIGetResourceGroupMembershipsTransitive
-SamIGetSerialNumberDomain
-SamIGetUserLogonInformation
-SamIGetUserLogonInformation2
-SamIGetUserLogonInformationEx
-SamIHandleObjectUpdate
-SamIImpersonateNullSession
-SamIIncrementPerformanceCounter
-SamIInitialize
-SamIIsAttributeProtected
-SamIIsDownlevelDcUpgrade
-SamIIsExtendedSidMode
-SamIIsRebootAfterPromotion
-SamIIsSetupInProgress
-SamILoadDownlevelDatabase
-SamILoopbackConnect
-SamIMixedDomain
-SamIMixedDomain2
-SamINT4UpgradeInProgress
-SamINetLogonPing
-SamINotifyDelta
-SamINotifyRoleChange
-SamINotifyServerDelta
-SamIOpenAccount
-SamIOpenUserByAlternateId
-SamIPromote
-SamIPromoteUndo
-SamIQueryServerRole
-SamIQueryServerRole2
-SamIRemoveDSNameFromAlias
-SamIRemoveDSNameFromGroup
-SamIReplaceDownlevelDatabase
-SamIResetBadPwdCountOnPdc
-SamIRetrievePrimaryCredentials
-SamIRevertNullSession
-SamISameSite
-SamISetAuditingInformation
-SamISetMixedDomainFlag
-SamISetPasswordForeignUser
-SamISetPasswordForeignUser2
-SamISetPasswordInfoOnPdc
-SamISetPrivateData
-SamISetSerialNumberDomain
-SamIStorePrimaryCredentials
-SamIUPNFromUserHandle
-SamIUnLoadDownlevelDatabase
-SamIUpdateLogonStatistics
-SampAbortSingleLoopbackTask
-SampAccountControlToFlags
-SampAcquireSamLockExclusive
-SampAcquireWriteLock
-SampCommitBufferedWrites
-SampConvertNt4SdToNt5Sd
-SampDsChangePasswordUser
-SampFlagsToAccountControl
-SampGetDefaultSecurityDescriptorForClass
-SampGetSerialNumberDomain2
-SampInitializeRegistry
-SampInitializeSdConversion
-SampInvalidateDomainCache
-SampInvalidateRidRange
-SampIsAuditingEnabled
-SampNetLogonNotificationRequired
-SampNotifyAuditChange
-SampNotifyReplicatedInChange
-SampProcessSingleLoopbackTask
-SampReleaseSamLockExclusive
-SampReleaseWriteLock
-SampRtlConvertUlongToUnicodeString
-SampSetSerialNumberDomain2
-SampUsingDsData
-SampWriteGroupType
-SamrAddMemberToAlias
-SamrAddMemberToGroup
-SamrAddMultipleMembersToAlias
-SamrChangePasswordUser
-SamrCloseHandle
-SamrCreateAliasInDomain
-SamrCreateGroupInDomain
-SamrCreateUser2InDomain
-SamrCreateUserInDomain
-SamrDeleteAlias
-SamrDeleteGroup
-SamrDeleteUser
-SamrEnumerateAliasesInDomain
-SamrEnumerateDomainsInSamServer
-SamrEnumerateGroupsInDomain
-SamrEnumerateUsersInDomain
-SamrGetAliasMembership
-SamrGetGroupsForUser
-SamrGetMembersInAlias
-SamrGetMembersInGroup
-SamrGetUserDomainPasswordInformation
-SamrLookupDomainInSamServer
-SamrLookupIdsInDomain
-SamrLookupNamesInDomain
-SamrOpenAlias
-SamrOpenDomain
-SamrOpenGroup
-SamrOpenUser
-SamrQueryDisplayInformation
-SamrQueryInformationAlias
-SamrQueryInformationDomain
-SamrQueryInformationGroup
-SamrQueryInformationUser
-SamrQuerySecurityObject
-SamrRemoveMemberFromAlias
-SamrRemoveMemberFromForeignDomain
-SamrRemoveMemberFromGroup
-SamrRemoveMultipleMembersFromAlias
-SamrRidToSid
-SamrSetInformationAlias
-SamrSetInformationDomain
-SamrSetInformationGroup
-SamrSetInformationUser
-SamrSetMemberAttributesOfGroup
-SamrSetSecurityObject
-SamrShutdownSamServer
-SamrTestPrivateFunctionsDomain
-SamrTestPrivateFunctionsUser
-SamrUnicodeChangePasswordUser2
+; 
+; Exports of file SAMSRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SAMSRV.dll
+EXPORTS
+SamIAccountRestrictions
+SamIAddDSNameToAlias
+SamIAddDSNameToGroup
+SamIAmIGC
+SamIChangePasswordForeignUser
+SamIChangePasswordForeignUser2
+SamIConnect
+SamICreateAccountByRid
+SamIDemote
+SamIDemoteUndo
+SamIDoFSMORoleChange
+SamIDsCreateObjectInDomain
+SamIDsSetObjectInformation
+SamIEnumerateAccountRids
+SamIEnumerateInterdomainTrustAccountsForUpgrade
+SamIFloatingSingleMasterOpEx
+SamIFreeSidAndAttributesList
+SamIFreeSidArray
+SamIFreeVoid
+SamIFree_SAMPR_ALIAS_INFO_BUFFER
+SamIFree_SAMPR_DISPLAY_INFO_BUFFER
+SamIFree_SAMPR_DOMAIN_INFO_BUFFER
+SamIFree_SAMPR_ENUMERATION_BUFFER
+SamIFree_SAMPR_GET_GROUPS_BUFFER
+SamIFree_SAMPR_GET_MEMBERS_BUFFER
+SamIFree_SAMPR_GROUP_INFO_BUFFER
+SamIFree_SAMPR_PSID_ARRAY
+SamIFree_SAMPR_RETURNED_USTRING_ARRAY
+SamIFree_SAMPR_SR_SECURITY_DESCRIPTOR
+SamIFree_SAMPR_ULONG_ARRAY
+SamIFree_SAMPR_USER_INFO_BUFFER
+SamIFree_UserInternal6Information
+SamIGCLookupNames
+SamIGCLookupSids
+SamIGetAliasMembership
+SamIGetBootKeyInformation
+SamIGetDefaultAdministratorName
+SamIGetDefaultComputersContainer
+SamIGetFixedAttributes
+SamIGetInterdomainTrustAccountPasswordsForUpgrade
+SamIGetPrivateData
+SamIGetResourceGroupMembershipsTransitive
+SamIGetSerialNumberDomain
+SamIGetUserLogonInformation
+SamIGetUserLogonInformation2
+SamIGetUserLogonInformationEx
+SamIHandleObjectUpdate
+SamIImpersonateNullSession
+SamIIncrementPerformanceCounter
+SamIInitialize
+SamIIsAttributeProtected
+SamIIsDownlevelDcUpgrade
+SamIIsExtendedSidMode
+SamIIsRebootAfterPromotion
+SamIIsSetupInProgress
+SamILoadDownlevelDatabase
+SamILoopbackConnect
+SamIMixedDomain
+SamIMixedDomain2
+SamINT4UpgradeInProgress
+SamINetLogonPing
+SamINotifyDelta
+SamINotifyRoleChange
+SamINotifyServerDelta
+SamIOpenAccount
+SamIOpenUserByAlternateId
+SamIPromote
+SamIPromoteUndo
+SamIQueryServerRole
+SamIQueryServerRole2
+SamIRemoveDSNameFromAlias
+SamIRemoveDSNameFromGroup
+SamIReplaceDownlevelDatabase
+SamIResetBadPwdCountOnPdc
+SamIRetrievePrimaryCredentials
+SamIRevertNullSession
+SamISameSite
+SamISetAuditingInformation
+SamISetMixedDomainFlag
+SamISetPasswordForeignUser
+SamISetPasswordForeignUser2
+SamISetPasswordInfoOnPdc
+SamISetPrivateData
+SamISetSerialNumberDomain
+SamIStorePrimaryCredentials
+SamIUPNFromUserHandle
+SamIUnLoadDownlevelDatabase
+SamIUpdateLogonStatistics
+SampAbortSingleLoopbackTask
+SampAccountControlToFlags
+SampAcquireSamLockExclusive
+SampAcquireWriteLock
+SampCommitBufferedWrites
+SampConvertNt4SdToNt5Sd
+SampDsChangePasswordUser
+SampFlagsToAccountControl
+SampGetDefaultSecurityDescriptorForClass
+SampGetSerialNumberDomain2
+SampInitializeRegistry
+SampInitializeSdConversion
+SampInvalidateDomainCache
+SampInvalidateRidRange
+SampIsAuditingEnabled
+SampNetLogonNotificationRequired
+SampNotifyAuditChange
+SampNotifyReplicatedInChange
+SampProcessSingleLoopbackTask
+SampReleaseSamLockExclusive
+SampReleaseWriteLock
+SampRtlConvertUlongToUnicodeString
+SampSetSerialNumberDomain2
+SampUsingDsData
+SampWriteGroupType
+SamrAddMemberToAlias
+SamrAddMemberToGroup
+SamrAddMultipleMembersToAlias
+SamrChangePasswordUser
+SamrCloseHandle
+SamrCreateAliasInDomain
+SamrCreateGroupInDomain
+SamrCreateUser2InDomain
+SamrCreateUserInDomain
+SamrDeleteAlias
+SamrDeleteGroup
+SamrDeleteUser
+SamrEnumerateAliasesInDomain
+SamrEnumerateDomainsInSamServer
+SamrEnumerateGroupsInDomain
+SamrEnumerateUsersInDomain
+SamrGetAliasMembership
+SamrGetGroupsForUser
+SamrGetMembersInAlias
+SamrGetMembersInGroup
+SamrGetUserDomainPasswordInformation
+SamrLookupDomainInSamServer
+SamrLookupIdsInDomain
+SamrLookupNamesInDomain
+SamrOpenAlias
+SamrOpenDomain
+SamrOpenGroup
+SamrOpenUser
+SamrQueryDisplayInformation
+SamrQueryInformationAlias
+SamrQueryInformationDomain
+SamrQueryInformationGroup
+SamrQueryInformationUser
+SamrQuerySecurityObject
+SamrRemoveMemberFromAlias
+SamrRemoveMemberFromForeignDomain
+SamrRemoveMemberFromGroup
+SamrRemoveMultipleMembersFromAlias
+SamrRidToSid
+SamrSetInformationAlias
+SamrSetInformationDomain
+SamrSetInformationGroup
+SamrSetInformationUser
+SamrSetMemberAttributesOfGroup
+SamrSetSecurityObject
+SamrShutdownSamServer
+SamrTestPrivateFunctionsDomain
+SamrTestPrivateFunctionsUser
+SamrUnicodeChangePasswordUser2
diff --git a/mingw-w64-crt/lib64/sapi.def b/mingw-w64-crt/lib64/sapi.def
index dfe2295..887c50c 100644
--- a/mingw-w64-crt/lib64/sapi.def
+++ b/mingw-w64-crt/lib64/sapi.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file sapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sapi.dll
-EXPORTS
-RunSapiServer
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file sapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sapi.dll
+EXPORTS
+RunSapiServer
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/scarddlg.def b/mingw-w64-crt/lib64/scarddlg.def
index 61586ae..ef251d8 100644
--- a/mingw-w64-crt/lib64/scarddlg.def
+++ b/mingw-w64-crt/lib64/scarddlg.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file SCARDDLG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCARDDLG.dll
-EXPORTS
-GetOpenCardNameA
-GetOpenCardNameW
-SCardDlgExtendedError
-SCardUIDlgSelectCardA
-SCardUIDlgSelectCardW
-SCardUIDlgGetPINA
-SCardUIDlgChangePINA
+; 
+; Exports of file SCARDDLG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCARDDLG.dll
+EXPORTS
+GetOpenCardNameA
+GetOpenCardNameW
+SCardDlgExtendedError
+SCardUIDlgSelectCardA
+SCardUIDlgSelectCardW
+SCardUIDlgGetPINA
+SCardUIDlgChangePINA
diff --git a/mingw-w64-crt/lib64/sccbase.def b/mingw-w64-crt/lib64/sccbase.def
index 91c0cec..776b7f4 100644
--- a/mingw-w64-crt/lib64/sccbase.def
+++ b/mingw-w64-crt/lib64/sccbase.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file SCCBASE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCCBASE.dll
-EXPORTS
-CPAcquireContext
-CPAcquireContextW
-CPCreateHash
-CPDecrypt
-CPDeriveKey
-CPDestroyHash
-CPDestroyKey
-CPEncrypt
-CPExportKey
-CPGenKey
-CPGenRandom
-CPGetHashParam
-CPGetKeyParam
-CPGetProvParam
-CPGetUserKey
-CPHashData
-CPHashSessionKey
-CPImportKey
-CPReleaseContext
-CPSetHashParam
-CPSetKeyParam
-CPSetProvParam
-CPSignHash
-CPVerifySignature
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SCCBASE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCCBASE.dll
+EXPORTS
+CPAcquireContext
+CPAcquireContextW
+CPCreateHash
+CPDecrypt
+CPDeriveKey
+CPDestroyHash
+CPDestroyKey
+CPEncrypt
+CPExportKey
+CPGenKey
+CPGenRandom
+CPGetHashParam
+CPGetKeyParam
+CPGetProvParam
+CPGetUserKey
+CPHashData
+CPHashSessionKey
+CPImportKey
+CPReleaseContext
+CPSetHashParam
+CPSetKeyParam
+CPSetProvParam
+CPSignHash
+CPVerifySignature
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/sccsccp.def b/mingw-w64-crt/lib64/sccsccp.def
index 132f15a..847d865 100644
--- a/mingw-w64-crt/lib64/sccsccp.def
+++ b/mingw-w64-crt/lib64/sccsccp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SccSCCP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SccSCCP.DLL
-EXPORTS
-SCCPDllCanUnloadNow
-SCCPDllGetClassObject
-SCCPDllRegisterServer
-SCCPDllUnregisterServer
+; 
+; Exports of file SccSCCP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SccSCCP.DLL
+EXPORTS
+SCCPDllCanUnloadNow
+SCCPDllGetClassObject
+SCCPDllRegisterServer
+SCCPDllUnregisterServer
diff --git a/mingw-w64-crt/lib64/scecli.def b/mingw-w64-crt/lib64/scecli.def
index 9cbb1d0..c850a2c 100644
--- a/mingw-w64-crt/lib64/scecli.def
+++ b/mingw-w64-crt/lib64/scecli.def
@@ -1,80 +1,80 @@
-; 
-; Exports of file SCECLI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCECLI.dll
-EXPORTS
-DeltaNotify
-InitializeChangeNotify
-SceConfigureConvertedFileSecurity
-SceGenerateGroupPolicy
-SceNotifyPolicyDelta
-SceOpenPolicy
-SceProcessEFSRecoveryGPO
-SceProcessSecurityPolicyGPO
-SceProcessSecurityPolicyGPOEx
-SceSysPrep
-DllRegisterServer
-DllUnregisterServer
-SceAddToNameList
-SceAddToNameStatusList
-SceAddToObjectList
-SceAnalyzeSystem
-SceAppendSecurityProfileInfo
-SceBrowseDatabaseTable
-SceCloseProfile
-SceCommitTransaction
-SceCompareNameList
-SceCompareSecurityDescriptors
-SceConfigureSystem
-SceCopyBaseProfile
-SceCreateDirectory
-SceDcPromoCreateGPOsInSysvol
-SceDcPromoCreateGPOsInSysvolEx
-SceDcPromoteSecurity
-SceDcPromoteSecurityEx
-SceEnforceSecurityPolicyPropagation
-SceEnumerateServices
-SceFreeMemory
-SceFreeProfileMemory
-SceGenerateRollback
-SceGetAnalysisAreaSummary
-SceGetAreas
-SceGetDatabaseSetting
-SceGetDbTime
-SceGetObjectChildren
-SceGetObjectSecurity
-SceGetScpProfileDescription
-SceGetSecurityProfileInfo
-SceGetServerProductType
-SceGetTimeStamp
-SceIsSystemDatabase
-SceLookupPrivRightName
-SceOpenProfile
-SceRegisterRegValues
-SceRollbackTransaction
-SceSetDatabaseSetting
-SceSetupBackupSecurity
-SceSetupConfigureServices
-SceSetupGenerateTemplate
-SceSetupMoveSecurityFile
-SceSetupRootSecurity
-SceSetupSystemByInfName
-SceSetupUnwindSecurityFile
-SceSetupUpdateSecurityFile
-SceSetupUpdateSecurityKey
-SceSetupUpdateSecurityService
-SceStartTransaction
-SceSvcConvertSDToText
-SceSvcConvertTextToSD
-SceSvcFree
-SceSvcGetInformationTemplate
-SceSvcQueryInfo
-SceSvcSetInfo
-SceSvcSetInformationTemplate
-SceSvcUpdateInfo
-SceUpdateObjectInfo
-SceUpdateSecurityProfile
-SceWriteSecurityProfileInfo
+; 
+; Exports of file SCECLI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCECLI.dll
+EXPORTS
+DeltaNotify
+InitializeChangeNotify
+SceConfigureConvertedFileSecurity
+SceGenerateGroupPolicy
+SceNotifyPolicyDelta
+SceOpenPolicy
+SceProcessEFSRecoveryGPO
+SceProcessSecurityPolicyGPO
+SceProcessSecurityPolicyGPOEx
+SceSysPrep
+DllRegisterServer
+DllUnregisterServer
+SceAddToNameList
+SceAddToNameStatusList
+SceAddToObjectList
+SceAnalyzeSystem
+SceAppendSecurityProfileInfo
+SceBrowseDatabaseTable
+SceCloseProfile
+SceCommitTransaction
+SceCompareNameList
+SceCompareSecurityDescriptors
+SceConfigureSystem
+SceCopyBaseProfile
+SceCreateDirectory
+SceDcPromoCreateGPOsInSysvol
+SceDcPromoCreateGPOsInSysvolEx
+SceDcPromoteSecurity
+SceDcPromoteSecurityEx
+SceEnforceSecurityPolicyPropagation
+SceEnumerateServices
+SceFreeMemory
+SceFreeProfileMemory
+SceGenerateRollback
+SceGetAnalysisAreaSummary
+SceGetAreas
+SceGetDatabaseSetting
+SceGetDbTime
+SceGetObjectChildren
+SceGetObjectSecurity
+SceGetScpProfileDescription
+SceGetSecurityProfileInfo
+SceGetServerProductType
+SceGetTimeStamp
+SceIsSystemDatabase
+SceLookupPrivRightName
+SceOpenProfile
+SceRegisterRegValues
+SceRollbackTransaction
+SceSetDatabaseSetting
+SceSetupBackupSecurity
+SceSetupConfigureServices
+SceSetupGenerateTemplate
+SceSetupMoveSecurityFile
+SceSetupRootSecurity
+SceSetupSystemByInfName
+SceSetupUnwindSecurityFile
+SceSetupUpdateSecurityFile
+SceSetupUpdateSecurityKey
+SceSetupUpdateSecurityService
+SceStartTransaction
+SceSvcConvertSDToText
+SceSvcConvertTextToSD
+SceSvcFree
+SceSvcGetInformationTemplate
+SceSvcQueryInfo
+SceSvcSetInfo
+SceSvcSetInformationTemplate
+SceSvcUpdateInfo
+SceUpdateObjectInfo
+SceUpdateSecurityProfile
+SceWriteSecurityProfileInfo
diff --git a/mingw-w64-crt/lib64/scesrv.def b/mingw-w64-crt/lib64/scesrv.def
index 67f4a33..c198779 100644
--- a/mingw-w64-crt/lib64/scesrv.def
+++ b/mingw-w64-crt/lib64/scesrv.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file SCESRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCESRV.dll
-EXPORTS
-ScesrvInitializeServer
-ScesrvTerminateServer
+; 
+; Exports of file SCESRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCESRV.dll
+EXPORTS
+ScesrvInitializeServer
+ScesrvTerminateServer
diff --git a/mingw-w64-crt/lib64/schannel.def b/mingw-w64-crt/lib64/schannel.def
index 15c6996..55d6b4e 100644
--- a/mingw-w64-crt/lib64/schannel.def
+++ b/mingw-w64-crt/lib64/schannel.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file SCHANNEL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCHANNEL.dll
-EXPORTS
-AcceptSecurityContext
-AcquireCredentialsHandleA
-AcquireCredentialsHandleW
-ApplyControlToken
-CloseSslPerformanceData
-CollectSslPerformanceData
-CompleteAuthToken
-DeleteSecurityContext
-EnumerateSecurityPackagesA
-EnumerateSecurityPackagesW
-FreeContextBuffer
-FreeCredentialsHandle
-ImpersonateSecurityContext
-InitSecurityInterfaceA
-InitSecurityInterfaceW
-InitializeSecurityContextA
-InitializeSecurityContextW
-MakeSignature
-OpenSslPerformanceData
-QueryContextAttributesA
-QueryContextAttributesW
-QuerySecurityPackageInfoA
-QuerySecurityPackageInfoW
-RevertSecurityContext
-SealMessage
-SpLsaModeInitialize
-SpUserModeInitialize
-SslCrackCertificate
-SslEmptyCacheA
-SslEmptyCacheW
-SslFreeCertificate
-SslGenerateKeyPair
-SslGenerateRandomBits
-SslGetMaximumKeySize
-SslLoadCertificate
-UnsealMessage
-VerifySignature
+; 
+; Exports of file SCHANNEL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCHANNEL.dll
+EXPORTS
+AcceptSecurityContext
+AcquireCredentialsHandleA
+AcquireCredentialsHandleW
+ApplyControlToken
+CloseSslPerformanceData
+CollectSslPerformanceData
+CompleteAuthToken
+DeleteSecurityContext
+EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW
+FreeContextBuffer
+FreeCredentialsHandle
+ImpersonateSecurityContext
+InitSecurityInterfaceA
+InitSecurityInterfaceW
+InitializeSecurityContextA
+InitializeSecurityContextW
+MakeSignature
+OpenSslPerformanceData
+QueryContextAttributesA
+QueryContextAttributesW
+QuerySecurityPackageInfoA
+QuerySecurityPackageInfoW
+RevertSecurityContext
+SealMessage
+SpLsaModeInitialize
+SpUserModeInitialize
+SslCrackCertificate
+SslEmptyCacheA
+SslEmptyCacheW
+SslFreeCertificate
+SslGenerateKeyPair
+SslGenerateRandomBits
+SslGetMaximumKeySize
+SslLoadCertificate
+UnsealMessage
+VerifySignature
diff --git a/mingw-w64-crt/lib64/schedsvc.def b/mingw-w64-crt/lib64/schedsvc.def
index c0edc9b..4958c4d 100644
--- a/mingw-w64-crt/lib64/schedsvc.def
+++ b/mingw-w64-crt/lib64/schedsvc.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file schedsvc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY schedsvc.dll
-EXPORTS
-SPUninstall
-SPUninstallCallback
-SchedServiceMain
-SysPrepBackup
-SysPrepRestore
-CloseProc
-SysPrepCallback
+; 
+; Exports of file schedsvc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY schedsvc.dll
+EXPORTS
+SPUninstall
+SPUninstallCallback
+SchedServiceMain
+SysPrepBackup
+SysPrepRestore
+CloseProc
+SysPrepCallback
diff --git a/mingw-w64-crt/lib64/sclgntfy.def b/mingw-w64-crt/lib64/sclgntfy.def
index 24e1ac3..bc7a67e 100644
--- a/mingw-w64-crt/lib64/sclgntfy.def
+++ b/mingw-w64-crt/lib64/sclgntfy.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file SCLGNTFY.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCLGNTFY.dll
-EXPORTS
-WLEventLock
-WLEventLogoff
-WLEventLogon
-WLEventShutdown
-WLEventStartScreenSaver
-WLEventStartShell
-WLEventStartup
-WLEventStopScreenSaver
-WLEventUnlock
-DllRegisterServer
-DllUnregisterServer
-GenerateDefaultEFSRecoveryPolicy
+; 
+; Exports of file SCLGNTFY.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCLGNTFY.dll
+EXPORTS
+WLEventLock
+WLEventLogoff
+WLEventLogon
+WLEventShutdown
+WLEventStartScreenSaver
+WLEventStartShell
+WLEventStartup
+WLEventStopScreenSaver
+WLEventUnlock
+DllRegisterServer
+DllUnregisterServer
+GenerateDefaultEFSRecoveryPolicy
diff --git a/mingw-w64-crt/lib64/scredir.def b/mingw-w64-crt/lib64/scredir.def
index edb1ead..e84c219 100644
--- a/mingw-w64-crt/lib64/scredir.def
+++ b/mingw-w64-crt/lib64/scredir.def
@@ -1,52 +1,52 @@
-; 
-; Exports of file scredir.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY scredir.dll
-EXPORTS
-SCardReleaseBadContext
-DllRegisterServer
-DllUnregisterServer
-SCardAccessStartedEvent
-SCardAddReaderToGroupA
-SCardAddReaderToGroupW
-SCardBeginTransaction
-SCardCancel
-SCardConnectA
-SCardConnectW
-SCardControl
-SCardDisconnect
-SCardEndTransaction
-SCardEstablishContext
-SCardForgetReaderA
-SCardForgetReaderGroupA
-SCardForgetReaderGroupW
-SCardForgetReaderW
-SCardGetAttrib
-SCardGetStatusChangeA
-SCardGetStatusChangeW
-SCardIntroduceReaderA
-SCardIntroduceReaderGroupA
-SCardIntroduceReaderGroupW
-SCardIntroduceReaderW
-SCardIsValidContext
-SCardListReaderGroupsA
-SCardListReaderGroupsW
-SCardListReadersA
-SCardListReadersW
-SCardLocateCardsA
-SCardLocateCardsByATRA
-SCardLocateCardsByATRW
-SCardLocateCardsW
-SCardReconnect
-SCardReleaseContext
-SCardReleaseStartedEvent
-SCardRemoveReaderFromGroupA
-SCardRemoveReaderFromGroupW
-SCardSetAttrib
-SCardState
-SCardStatusA
-SCardStatusW
-SCardTransmit
+; 
+; Exports of file scredir.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY scredir.dll
+EXPORTS
+SCardReleaseBadContext
+DllRegisterServer
+DllUnregisterServer
+SCardAccessStartedEvent
+SCardAddReaderToGroupA
+SCardAddReaderToGroupW
+SCardBeginTransaction
+SCardCancel
+SCardConnectA
+SCardConnectW
+SCardControl
+SCardDisconnect
+SCardEndTransaction
+SCardEstablishContext
+SCardForgetReaderA
+SCardForgetReaderGroupA
+SCardForgetReaderGroupW
+SCardForgetReaderW
+SCardGetAttrib
+SCardGetStatusChangeA
+SCardGetStatusChangeW
+SCardIntroduceReaderA
+SCardIntroduceReaderGroupA
+SCardIntroduceReaderGroupW
+SCardIntroduceReaderW
+SCardIsValidContext
+SCardListReaderGroupsA
+SCardListReaderGroupsW
+SCardListReadersA
+SCardListReadersW
+SCardLocateCardsA
+SCardLocateCardsByATRA
+SCardLocateCardsByATRW
+SCardLocateCardsW
+SCardReconnect
+SCardReleaseContext
+SCardReleaseStartedEvent
+SCardRemoveReaderFromGroupA
+SCardRemoveReaderFromGroupW
+SCardSetAttrib
+SCardState
+SCardStatusA
+SCardStatusW
+SCardTransmit
diff --git a/mingw-w64-crt/lib64/script.def b/mingw-w64-crt/lib64/script.def
index 539f509..8a2ca68 100644
--- a/mingw-w64-crt/lib64/script.def
+++ b/mingw-w64-crt/lib64/script.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file SCRIPT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCRIPT.dll
-EXPORTS
-DestinationModule
-DllMain
-ModuleInitialize
-ModuleTerminate
-SourceModule
-TypeModule
-VirtualComputerModule
+; 
+; Exports of file SCRIPT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCRIPT.dll
+EXPORTS
+DestinationModule
+DllMain
+ModuleInitialize
+ModuleTerminate
+SourceModule
+TypeModule
+VirtualComputerModule
diff --git a/mingw-w64-crt/lib64/scripto.def b/mingw-w64-crt/lib64/scripto.def
index cc17a07..9d760f7 100644
--- a/mingw-w64-crt/lib64/scripto.def
+++ b/mingw-w64-crt/lib64/scripto.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file scripto.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY scripto.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file scripto.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY scripto.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/scriptpw.def b/mingw-w64-crt/lib64/scriptpw.def
index c290448..828c96c 100644
--- a/mingw-w64-crt/lib64/scriptpw.def
+++ b/mingw-w64-crt/lib64/scriptpw.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ScriptPW.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ScriptPW.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ScriptPW.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ScriptPW.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/scrobj.def b/mingw-w64-crt/lib64/scrobj.def
index 2eccc96..ba034b5 100644
--- a/mingw-w64-crt/lib64/scrobj.def
+++ b/mingw-w64-crt/lib64/scrobj.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file SCROBJ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCROBJ.dll
-EXPORTS
-GenerateTypeLib
-GenerateTypeLibW
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllRegisterServerEx
-DllRegisterServerExA
-DllRegisterServerExW
-DllUnregisterServer
-DllUnregisterServerEx
+; 
+; Exports of file SCROBJ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCROBJ.dll
+EXPORTS
+GenerateTypeLib
+GenerateTypeLibW
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllRegisterServerEx
+DllRegisterServerExA
+DllRegisterServerExW
+DllUnregisterServer
+DllUnregisterServerEx
diff --git a/mingw-w64-crt/lib64/scrptutl.def b/mingw-w64-crt/lib64/scrptutl.def
index d69f699..05e656e 100644
--- a/mingw-w64-crt/lib64/scrptutl.def
+++ b/mingw-w64-crt/lib64/scrptutl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ScrptUtl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ScrptUtl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ScrptUtl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ScrptUtl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/scrrun.def b/mingw-w64-crt/lib64/scrrun.def
index 1fee494..b088951 100644
--- a/mingw-w64-crt/lib64/scrrun.def
+++ b/mingw-w64-crt/lib64/scrrun.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file ScrRun.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ScrRun.dll
-EXPORTS
-DLLGetDocumentation
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-DoOpenPipeStream
+; 
+; Exports of file ScrRun.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ScrRun.dll
+EXPORTS
+DLLGetDocumentation
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+DoOpenPipeStream
diff --git a/mingw-w64-crt/lib64/sdhcinst.def b/mingw-w64-crt/lib64/sdhcinst.def
index c31ef0f..c0210d1 100644
--- a/mingw-w64-crt/lib64/sdhcinst.def
+++ b/mingw-w64-crt/lib64/sdhcinst.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file sdhcinst.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sdhcinst.dll
-EXPORTS
-SdClassCoInstaller
-SdClassInstall
+; 
+; Exports of file sdhcinst.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sdhcinst.dll
+EXPORTS
+SdClassCoInstaller
+SdClassInstall
diff --git a/mingw-w64-crt/lib64/sdpblb.def b/mingw-w64-crt/lib64/sdpblb.def
index bb3b17a..1c834a4 100644
--- a/mingw-w64-crt/lib64/sdpblb.def
+++ b/mingw-w64-crt/lib64/sdpblb.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file sdpblb.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sdpblb.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file sdpblb.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sdpblb.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/seclogon.def b/mingw-w64-crt/lib64/seclogon.def
index 8d51fc4..42d4535 100644
--- a/mingw-w64-crt/lib64/seclogon.def
+++ b/mingw-w64-crt/lib64/seclogon.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file seclogon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY seclogon.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-SvcEntry_Seclogon
-SvchostPushServiceGlobals
+; 
+; Exports of file seclogon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY seclogon.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+SvcEntry_Seclogon
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/secur32.def b/mingw-w64-crt/lib64/secur32.def
index 5cca988..02443b9 100644
--- a/mingw-w64-crt/lib64/secur32.def
+++ b/mingw-w64-crt/lib64/secur32.def
@@ -1,88 +1,88 @@
-; 
-; Exports of file Secur32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Secur32.dll
-EXPORTS
-SecDeleteUserModeContext
-SecInitUserModeContext
-AcceptSecurityContext
-AcquireCredentialsHandleA
-AcquireCredentialsHandleW
-AddCredentialsA
-AddCredentialsW
-AddSecurityPackageA
-AddSecurityPackageW
-ApplyControlToken
-CompleteAuthToken
-CredMarshalTargetInfo
-CredUnmarshalTargetInfo
-DecryptMessage
-DeleteSecurityContext
-DeleteSecurityPackageA
-DeleteSecurityPackageW
-EncryptMessage
-EnumerateSecurityPackagesA
-EnumerateSecurityPackagesW
-ExportSecurityContext
-FreeContextBuffer
-FreeCredentialsHandle
-GetComputerObjectNameA
-GetComputerObjectNameW
-GetSecurityUserInfo
-GetUserNameExA
-GetUserNameExW
-ImpersonateSecurityContext
-ImportSecurityContextA
-ImportSecurityContextW
-InitSecurityInterfaceA
-InitSecurityInterfaceW
-InitializeSecurityContextA
-InitializeSecurityContextW
-LsaCallAuthenticationPackage
-LsaConnectUntrusted
-LsaDeregisterLogonProcess
-LsaEnumerateLogonSessions
-LsaFreeReturnBuffer
-LsaGetLogonSessionData
-LsaLogonUser
-LsaLookupAuthenticationPackage
-LsaRegisterLogonProcess
-LsaRegisterPolicyChangeNotification
-LsaUnregisterPolicyChangeNotification
-MakeSignature
-QueryContextAttributesA
-QueryContextAttributesW
-QueryCredentialsAttributesA
-QueryCredentialsAttributesW
-QuerySecurityContextToken
-QuerySecurityPackageInfoA
-QuerySecurityPackageInfoW
-RevertSecurityContext
-SaslAcceptSecurityContext
-SaslEnumerateProfilesA
-SaslEnumerateProfilesW
-SaslGetContextOption
-SaslGetProfilePackageA
-SaslGetProfilePackageW
-SaslIdentifyPackageA
-SaslIdentifyPackageW
-SaslInitializeSecurityContextA
-SaslInitializeSecurityContextW
-SaslSetContextOption
-SealMessage
-SecCacheSspiPackages
-SecpFreeMemory
-SecpSetIPAddress
-SecpTranslateName
-SecpTranslateNameEx
-SetContextAttributesA
-SetContextAttributesW
-SetCredentialsAttributesA
-SetCredentialsAttributesW
-TranslateNameA
-TranslateNameW
-UnsealMessage
-VerifySignature
+; 
+; Exports of file Secur32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Secur32.dll
+EXPORTS
+SecDeleteUserModeContext
+SecInitUserModeContext
+AcceptSecurityContext
+AcquireCredentialsHandleA
+AcquireCredentialsHandleW
+AddCredentialsA
+AddCredentialsW
+AddSecurityPackageA
+AddSecurityPackageW
+ApplyControlToken
+CompleteAuthToken
+CredMarshalTargetInfo
+CredUnmarshalTargetInfo
+DecryptMessage
+DeleteSecurityContext
+DeleteSecurityPackageA
+DeleteSecurityPackageW
+EncryptMessage
+EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW
+ExportSecurityContext
+FreeContextBuffer
+FreeCredentialsHandle
+GetComputerObjectNameA
+GetComputerObjectNameW
+GetSecurityUserInfo
+GetUserNameExA
+GetUserNameExW
+ImpersonateSecurityContext
+ImportSecurityContextA
+ImportSecurityContextW
+InitSecurityInterfaceA
+InitSecurityInterfaceW
+InitializeSecurityContextA
+InitializeSecurityContextW
+LsaCallAuthenticationPackage
+LsaConnectUntrusted
+LsaDeregisterLogonProcess
+LsaEnumerateLogonSessions
+LsaFreeReturnBuffer
+LsaGetLogonSessionData
+LsaLogonUser
+LsaLookupAuthenticationPackage
+LsaRegisterLogonProcess
+LsaRegisterPolicyChangeNotification
+LsaUnregisterPolicyChangeNotification
+MakeSignature
+QueryContextAttributesA
+QueryContextAttributesW
+QueryCredentialsAttributesA
+QueryCredentialsAttributesW
+QuerySecurityContextToken
+QuerySecurityPackageInfoA
+QuerySecurityPackageInfoW
+RevertSecurityContext
+SaslAcceptSecurityContext
+SaslEnumerateProfilesA
+SaslEnumerateProfilesW
+SaslGetContextOption
+SaslGetProfilePackageA
+SaslGetProfilePackageW
+SaslIdentifyPackageA
+SaslIdentifyPackageW
+SaslInitializeSecurityContextA
+SaslInitializeSecurityContextW
+SaslSetContextOption
+SealMessage
+SecCacheSspiPackages
+SecpFreeMemory
+SecpSetIPAddress
+SecpTranslateName
+SecpTranslateNameEx
+SetContextAttributesA
+SetContextAttributesW
+SetCredentialsAttributesA
+SetCredentialsAttributesW
+TranslateNameA
+TranslateNameW
+UnsealMessage
+VerifySignature
diff --git a/mingw-w64-crt/lib64/security.def b/mingw-w64-crt/lib64/security.def
index c06382f..7fa29e2 100644
--- a/mingw-w64-crt/lib64/security.def
+++ b/mingw-w64-crt/lib64/security.def
@@ -1,44 +1,44 @@
-; 
-; Exports of file Security.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Security.dll
-EXPORTS
-AcceptSecurityContext
-AcquireCredentialsHandleA
-AcquireCredentialsHandleW
-AddSecurityPackageA
-AddSecurityPackageW
-ApplyControlToken
-CompleteAuthToken
-DecryptMessage
-DeleteSecurityContext
-DeleteSecurityPackageA
-DeleteSecurityPackageW
-EncryptMessage
-EnumerateSecurityPackagesA
-EnumerateSecurityPackagesW
-ExportSecurityContext
-FreeContextBuffer
-FreeCredentialsHandle
-ImpersonateSecurityContext
-ImportSecurityContextA
-ImportSecurityContextW
-InitSecurityInterfaceA
-InitSecurityInterfaceW
-InitializeSecurityContextA
-InitializeSecurityContextW
-MakeSignature
-QueryContextAttributesA
-QueryContextAttributesW
-QueryCredentialsAttributesA
-QueryCredentialsAttributesW
-QuerySecurityContextToken
-QuerySecurityPackageInfoA
-QuerySecurityPackageInfoW
-RevertSecurityContext
-SealMessage
-UnsealMessage
-VerifySignature
+; 
+; Exports of file Security.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Security.dll
+EXPORTS
+AcceptSecurityContext
+AcquireCredentialsHandleA
+AcquireCredentialsHandleW
+AddSecurityPackageA
+AddSecurityPackageW
+ApplyControlToken
+CompleteAuthToken
+DecryptMessage
+DeleteSecurityContext
+DeleteSecurityPackageA
+DeleteSecurityPackageW
+EncryptMessage
+EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW
+ExportSecurityContext
+FreeContextBuffer
+FreeCredentialsHandle
+ImpersonateSecurityContext
+ImportSecurityContextA
+ImportSecurityContextW
+InitSecurityInterfaceA
+InitSecurityInterfaceW
+InitializeSecurityContextA
+InitializeSecurityContextW
+MakeSignature
+QueryContextAttributesA
+QueryContextAttributesW
+QueryCredentialsAttributesA
+QueryCredentialsAttributesW
+QuerySecurityContextToken
+QuerySecurityPackageInfoA
+QuerySecurityPackageInfoW
+RevertSecurityContext
+SealMessage
+UnsealMessage
+VerifySignature
diff --git a/mingw-w64-crt/lib64/sendcmsg.def b/mingw-w64-crt/lib64/sendcmsg.def
index b451d6d..bb6f919 100644
--- a/mingw-w64-crt/lib64/sendcmsg.def
+++ b/mingw-w64-crt/lib64/sendcmsg.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SendCMsg.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SendCMsg.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SendCMsg.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SendCMsg.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/sendmail.def b/mingw-w64-crt/lib64/sendmail.def
index 82b5820..b5a8a86 100644
--- a/mingw-w64-crt/lib64/sendmail.def
+++ b/mingw-w64-crt/lib64/sendmail.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SendMail.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SendMail.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SendMail.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SendMail.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/sens.def b/mingw-w64-crt/lib64/sens.def
index 820c2b0..5733850 100644
--- a/mingw-w64-crt/lib64/sens.def
+++ b/mingw-w64-crt/lib64/sens.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file Sens.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Sens.dll
-EXPORTS
-ServiceMain
-SensNotifyNetconEvent
-SensNotifyRasEvent
-SensNotifyWinlogonEvent
+; 
+; Exports of file Sens.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Sens.dll
+EXPORTS
+ServiceMain
+SensNotifyNetconEvent
+SensNotifyRasEvent
+SensNotifyWinlogonEvent
diff --git a/mingw-w64-crt/lib64/sensapi.def b/mingw-w64-crt/lib64/sensapi.def
index 716c48e..a2a0d95 100644
--- a/mingw-w64-crt/lib64/sensapi.def
+++ b/mingw-w64-crt/lib64/sensapi.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file SensApi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SensApi.dll
-EXPORTS
-IsDestinationReachableA
-IsDestinationReachableW
-IsNetworkAlive
+; 
+; Exports of file SensApi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SensApi.dll
+EXPORTS
+IsDestinationReachableA
+IsDestinationReachableW
+IsNetworkAlive
diff --git a/mingw-w64-crt/lib64/senscfg.def b/mingw-w64-crt/lib64/senscfg.def
index 6c5274f..cdf3a39 100644
--- a/mingw-w64-crt/lib64/senscfg.def
+++ b/mingw-w64-crt/lib64/senscfg.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file SensCfg.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SensCfg.dll
-EXPORTS
-SensRegister
-SensUnregister
+; 
+; Exports of file SensCfg.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SensCfg.dll
+EXPORTS
+SensRegister
+SensUnregister
diff --git a/mingw-w64-crt/lib64/seo.def b/mingw-w64-crt/lib64/seo.def
index 691bd72..6aa2a52 100644
--- a/mingw-w64-crt/lib64/seo.def
+++ b/mingw-w64-crt/lib64/seo.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file SEO.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SEO.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-MCISGetBindingInMetabaseA
-MCISGetBindingInMetabaseW
-MCISInitSEOA
-MCISInitSEOW
-SEOCancelListenForEvent
-SEOCopyDictionary
-SEOCreateDictionaryFromIStream
-SEOCreateDictionaryFromMultiSzA
-SEOCreateDictionaryFromMultiSzW
-SEOCreateIStreamFromFileA
-SEOCreateIStreamFromFileW
-SEOCreateMultiSzFromDictionaryA
-SEOCreateMultiSzFromDictionaryW
-SEOListenForEvent
-SEOWriteDictionaryToIStream
+; 
+; Exports of file SEO.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SEO.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+MCISGetBindingInMetabaseA
+MCISGetBindingInMetabaseW
+MCISInitSEOA
+MCISInitSEOW
+SEOCancelListenForEvent
+SEOCopyDictionary
+SEOCreateDictionaryFromIStream
+SEOCreateDictionaryFromMultiSzA
+SEOCreateDictionaryFromMultiSzW
+SEOCreateIStreamFromFileA
+SEOCreateIStreamFromFileW
+SEOCreateMultiSzFromDictionaryA
+SEOCreateMultiSzFromDictionaryW
+SEOListenForEvent
+SEOWriteDictionaryToIStream
diff --git a/mingw-w64-crt/lib64/seos.def b/mingw-w64-crt/lib64/seos.def
index 1e3d0fe..0e3ec5f 100644
--- a/mingw-w64-crt/lib64/seos.def
+++ b/mingw-w64-crt/lib64/seos.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file SEOS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SEOS.DLL
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SEOS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SEOS.DLL
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/serialui.def b/mingw-w64-crt/lib64/serialui.def
index e5d208a..6eb77fc 100644
--- a/mingw-w64-crt/lib64/serialui.def
+++ b/mingw-w64-crt/lib64/serialui.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file SERIALUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SERIALUI.dll
-EXPORTS
-drvCommConfigDialogW
-drvCommConfigDialogA
-drvSetDefaultCommConfigW
-drvSetDefaultCommConfigA
-drvGetDefaultCommConfigW
-drvGetDefaultCommConfigA
+; 
+; Exports of file SERIALUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SERIALUI.dll
+EXPORTS
+drvCommConfigDialogW
+drvCommConfigDialogA
+drvSetDefaultCommConfigW
+drvSetDefaultCommConfigA
+drvGetDefaultCommConfigW
+drvGetDefaultCommConfigA
diff --git a/mingw-w64-crt/lib64/servdeps.def b/mingw-w64-crt/lib64/servdeps.def
index f3503b7..c721279 100644
--- a/mingw-w64-crt/lib64/servdeps.def
+++ b/mingw-w64-crt/lib64/servdeps.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ServDeps.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ServDeps.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ServDeps.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ServDeps.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/serwvdrv.def b/mingw-w64-crt/lib64/serwvdrv.def
index e3d1efe..b8c7910 100644
--- a/mingw-w64-crt/lib64/serwvdrv.def
+++ b/mingw-w64-crt/lib64/serwvdrv.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file SERWVDRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SERWVDRV.dll
-EXPORTS
-DriverProc
-widMessage
-wodMessage
+; 
+; Exports of file SERWVDRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SERWVDRV.dll
+EXPORTS
+DriverProc
+widMessage
+wodMessage
diff --git a/mingw-w64-crt/lib64/setupapi.def b/mingw-w64-crt/lib64/setupapi.def
index 486a74d..7463d97 100644
--- a/mingw-w64-crt/lib64/setupapi.def
+++ b/mingw-w64-crt/lib64/setupapi.def
@@ -1,613 +1,613 @@
-; 
-; Exports of file SETUPAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SETUPAPI.dll
-EXPORTS
-CMP_GetBlockedDriverInfo
-CMP_GetServerSideDeviceInstallFlags
-CMP_Init_Detection
-CMP_RegisterNotification
-CMP_Report_LogOn
-CMP_UnregisterNotification
-CMP_WaitNoPendingInstallEvents
-CMP_WaitServicesAvailable
-CM_Add_Empty_Log_Conf
-CM_Add_Empty_Log_Conf_Ex
-CM_Add_IDA
-CM_Add_IDW
-CM_Add_ID_ExA
-CM_Add_ID_ExW
-CM_Add_Range
-CM_Add_Res_Des
-CM_Add_Res_Des_Ex
-CM_Connect_MachineA
-CM_Connect_MachineW
-CM_Create_DevNodeA
-CM_Create_DevNodeW
-CM_Create_DevNode_ExA
-CM_Create_DevNode_ExW
-CM_Create_Range_List
-CM_Delete_Class_Key
-CM_Delete_Class_Key_Ex
-CM_Delete_DevNode_Key
-CM_Delete_DevNode_Key_Ex
-CM_Delete_Range
-CM_Detect_Resource_Conflict
-CM_Detect_Resource_Conflict_Ex
-CM_Disable_DevNode
-CM_Disable_DevNode_Ex
-CM_Disconnect_Machine
-CM_Dup_Range_List
-CM_Enable_DevNode
-CM_Enable_DevNode_Ex
-CM_Enumerate_Classes
-CM_Enumerate_Classes_Ex
-CM_Enumerate_EnumeratorsA
-CM_Enumerate_EnumeratorsW
-CM_Enumerate_Enumerators_ExA
-CM_Enumerate_Enumerators_ExW
-CM_Find_Range
-CM_First_Range
-CM_Free_Log_Conf
-CM_Free_Log_Conf_Ex
-CM_Free_Log_Conf_Handle
-CM_Free_Range_List
-CM_Free_Res_Des
-CM_Free_Res_Des_Ex
-CM_Free_Res_Des_Handle
-CM_Free_Resource_Conflict_Handle
-CM_Get_Child
-CM_Get_Child_Ex
-CM_Get_Class_Key_NameA
-CM_Get_Class_Key_NameW
-CM_Get_Class_Key_Name_ExA
-CM_Get_Class_Key_Name_ExW
-CM_Get_Class_NameA
-CM_Get_Class_NameW
-CM_Get_Class_Name_ExA
-CM_Get_Class_Name_ExW
-CM_Get_Class_Registry_PropertyA
-CM_Get_Class_Registry_PropertyW
-CM_Get_Depth
-CM_Get_Depth_Ex
-CM_Get_DevNode_Custom_PropertyA
-CM_Get_DevNode_Custom_PropertyW
-CM_Get_DevNode_Custom_Property_ExA
-CM_Get_DevNode_Custom_Property_ExW
-CM_Get_DevNode_Registry_PropertyA
-CM_Get_DevNode_Registry_PropertyW
-CM_Get_DevNode_Registry_Property_ExA
-CM_Get_DevNode_Registry_Property_ExW
-CM_Get_DevNode_Status
-CM_Get_DevNode_Status_Ex
-CM_Get_Device_IDA
-CM_Get_Device_IDW
-CM_Get_Device_ID_ExA
-CM_Get_Device_ID_ExW
-CM_Get_Device_ID_ListA
-CM_Get_Device_ID_ListW
-CM_Get_Device_ID_List_ExA
-CM_Get_Device_ID_List_ExW
-CM_Get_Device_ID_List_SizeA
-CM_Get_Device_ID_List_SizeW
-CM_Get_Device_ID_List_Size_ExA
-CM_Get_Device_ID_List_Size_ExW
-CM_Get_Device_ID_Size
-CM_Get_Device_ID_Size_Ex
-CM_Get_Device_Interface_AliasA
-CM_Get_Device_Interface_AliasW
-CM_Get_Device_Interface_Alias_ExA
-CM_Get_Device_Interface_Alias_ExW
-CM_Get_Device_Interface_ListA
-CM_Get_Device_Interface_ListW
-CM_Get_Device_Interface_List_ExA
-CM_Get_Device_Interface_List_ExW
-CM_Get_Device_Interface_List_SizeA
-CM_Get_Device_Interface_List_SizeW
-CM_Get_Device_Interface_List_Size_ExA
-CM_Get_Device_Interface_List_Size_ExW
-CM_Get_First_Log_Conf
-CM_Get_First_Log_Conf_Ex
-CM_Get_Global_State
-CM_Get_Global_State_Ex
-CM_Get_HW_Prof_FlagsA
-CM_Get_HW_Prof_FlagsW
-CM_Get_HW_Prof_Flags_ExA
-CM_Get_HW_Prof_Flags_ExW
-CM_Get_Hardware_Profile_InfoA
-CM_Get_Hardware_Profile_InfoW
-CM_Get_Hardware_Profile_Info_ExA
-CM_Get_Hardware_Profile_Info_ExW
-CM_Get_Log_Conf_Priority
-CM_Get_Log_Conf_Priority_Ex
-CM_Get_Next_Log_Conf
-CM_Get_Next_Log_Conf_Ex
-CM_Get_Next_Res_Des
-CM_Get_Next_Res_Des_Ex
-CM_Get_Parent
-CM_Get_Parent_Ex
-CM_Get_Res_Des_Data
-CM_Get_Res_Des_Data_Ex
-CM_Get_Res_Des_Data_Size
-CM_Get_Res_Des_Data_Size_Ex
-CM_Get_Resource_Conflict_Count
-CM_Get_Resource_Conflict_DetailsA
-CM_Get_Resource_Conflict_DetailsW
-CM_Get_Sibling
-CM_Get_Sibling_Ex
-CM_Get_Version
-CM_Get_Version_Ex
-CM_Intersect_Range_List
-CM_Invert_Range_List
-CM_Is_Dock_Station_Present
-CM_Is_Dock_Station_Present_Ex
-CM_Is_Version_Available
-CM_Is_Version_Available_Ex
-CM_Locate_DevNodeA
-CM_Locate_DevNodeW
-CM_Locate_DevNode_ExA
-CM_Locate_DevNode_ExW
-CM_Merge_Range_List
-CM_Modify_Res_Des
-CM_Modify_Res_Des_Ex
-CM_Move_DevNode
-CM_Move_DevNode_Ex
-CM_Next_Range
-CM_Open_Class_KeyA
-CM_Open_Class_KeyW
-CM_Open_Class_Key_ExA
-CM_Open_Class_Key_ExW
-CM_Open_DevNode_Key
-CM_Open_DevNode_Key_Ex
-CM_Query_And_Remove_SubTreeA
-CM_Query_And_Remove_SubTreeW
-CM_Query_And_Remove_SubTree_ExA
-CM_Query_And_Remove_SubTree_ExW
-CM_Query_Arbitrator_Free_Data
-CM_Query_Arbitrator_Free_Data_Ex
-CM_Query_Arbitrator_Free_Size
-CM_Query_Arbitrator_Free_Size_Ex
-CM_Query_Remove_SubTree
-CM_Query_Remove_SubTree_Ex
-CM_Query_Resource_Conflict_List
-CM_Reenumerate_DevNode
-CM_Reenumerate_DevNode_Ex
-CM_Register_Device_Driver
-CM_Register_Device_Driver_Ex
-CM_Register_Device_InterfaceA
-CM_Register_Device_InterfaceW
-CM_Register_Device_Interface_ExA
-CM_Register_Device_Interface_ExW
-CM_Remove_SubTree
-CM_Remove_SubTree_Ex
-CM_Request_Device_EjectA
-CM_Request_Device_EjectW
-CM_Request_Device_Eject_ExA
-CM_Request_Device_Eject_ExW
-CM_Request_Eject_PC
-CM_Request_Eject_PC_Ex
-CM_Run_Detection
-CM_Run_Detection_Ex
-CM_Set_Class_Registry_PropertyA
-CM_Set_Class_Registry_PropertyW
-CM_Set_DevNode_Problem
-CM_Set_DevNode_Problem_Ex
-CM_Set_DevNode_Registry_PropertyA
-CM_Set_DevNode_Registry_PropertyW
-CM_Set_DevNode_Registry_Property_ExA
-CM_Set_DevNode_Registry_Property_ExW
-CM_Set_HW_Prof
-CM_Set_HW_Prof_Ex
-CM_Set_HW_Prof_FlagsA
-CM_Set_HW_Prof_FlagsW
-CM_Set_HW_Prof_Flags_ExA
-CM_Set_HW_Prof_Flags_ExW
-CM_Setup_DevNode
-CM_Setup_DevNode_Ex
-CM_Test_Range_Available
-CM_Uninstall_DevNode
-CM_Uninstall_DevNode_Ex
-CM_Unregister_Device_InterfaceA
-CM_Unregister_Device_InterfaceW
-CM_Unregister_Device_Interface_ExA
-CM_Unregister_Device_Interface_ExW
-DoesUserHavePrivilege
-ExtensionPropSheetPageProc
-InstallCatalog
-InstallHinfSection
-InstallHinfSectionA
-InstallHinfSectionW
-IsUserAdmin
-MyFree
-MyMalloc
-MyRealloc
-SetupAddInstallSectionToDiskSpaceListA
-SetupAddInstallSectionToDiskSpaceListW
-SetupAddSectionToDiskSpaceListA
-SetupAddSectionToDiskSpaceListW
-SetupAddToDiskSpaceListA
-SetupAddToDiskSpaceListW
-SetupAddToSourceListA
-SetupAddToSourceListW
-SetupAdjustDiskSpaceListA
-SetupAdjustDiskSpaceListW
-SetupBackupErrorA
-SetupBackupErrorW
-SetupCancelTemporarySourceList
-SetupCloseFileQueue
-SetupCloseInfFile
-SetupCloseLog
-SetupCommitFileQueue
-SetupCommitFileQueueA
-SetupCommitFileQueueW
-SetupConfigureWmiFromInfSectionA
-SetupConfigureWmiFromInfSectionW
-SetupCopyErrorA
-SetupCopyErrorW
-SetupCopyOEMInfA
-SetupCopyOEMInfW
-SetupCreateDiskSpaceListA
-SetupCreateDiskSpaceListW
-SetupDecompressOrCopyFileA
-SetupDecompressOrCopyFileW
-SetupDefaultQueueCallback
-SetupDefaultQueueCallbackA
-SetupDefaultQueueCallbackW
-SetupDeleteErrorA
-SetupDeleteErrorW
-SetupDestroyDiskSpaceList
-SetupDiAskForOEMDisk
-SetupDiBuildClassInfoList
-SetupDiBuildClassInfoListExA
-SetupDiBuildClassInfoListExW
-SetupDiBuildDriverInfoList
-SetupDiCallClassInstaller
-SetupDiCancelDriverInfoSearch
-SetupDiChangeState
-SetupDiClassGuidsFromNameA
-SetupDiClassGuidsFromNameExA
-SetupDiClassGuidsFromNameExW
-SetupDiClassGuidsFromNameW
-SetupDiClassNameFromGuidA
-SetupDiClassNameFromGuidExA
-SetupDiClassNameFromGuidExW
-SetupDiClassNameFromGuidW
-SetupDiCreateDevRegKeyA
-SetupDiCreateDevRegKeyW
-SetupDiCreateDeviceInfoA
-SetupDiCreateDeviceInfoList
-SetupDiCreateDeviceInfoListExA
-SetupDiCreateDeviceInfoListExW
-SetupDiCreateDeviceInfoW
-SetupDiCreateDeviceInterfaceA
-SetupDiCreateDeviceInterfaceRegKeyA
-SetupDiCreateDeviceInterfaceRegKeyW
-SetupDiCreateDeviceInterfaceW
-SetupDiDeleteDevRegKey
-SetupDiDeleteDeviceInfo
-SetupDiDeleteDeviceInterfaceData
-SetupDiDeleteDeviceInterfaceRegKey
-SetupDiDestroyClassImageList
-SetupDiDestroyDeviceInfoList
-SetupDiDestroyDriverInfoList
-SetupDiDrawMiniIcon
-SetupDiEnumDeviceInfo
-SetupDiEnumDeviceInterfaces
-SetupDiEnumDriverInfoA
-SetupDiEnumDriverInfoW
-SetupDiGetActualModelsSectionA
-SetupDiGetActualModelsSectionW
-SetupDiGetActualSectionToInstallA
-SetupDiGetActualSectionToInstallExA
-SetupDiGetActualSectionToInstallExW
-SetupDiGetActualSectionToInstallW
-SetupDiGetClassBitmapIndex
-SetupDiGetClassDescriptionA
-SetupDiGetClassDescriptionExA
-SetupDiGetClassDescriptionExW
-SetupDiGetClassDescriptionW
-SetupDiGetClassDevPropertySheetsA
-SetupDiGetClassDevPropertySheetsW
-SetupDiGetClassDevsA
-SetupDiGetClassDevsExA
-SetupDiGetClassDevsExW
-SetupDiGetClassDevsW
-SetupDiGetClassImageIndex
-SetupDiGetClassImageList
-SetupDiGetClassImageListExA
-SetupDiGetClassImageListExW
-SetupDiGetClassInstallParamsA
-SetupDiGetClassInstallParamsW
-SetupDiGetClassRegistryPropertyA
-SetupDiGetClassRegistryPropertyW
-SetupDiGetCustomDevicePropertyA
-SetupDiGetCustomDevicePropertyW
-SetupDiGetDeviceInfoListClass
-SetupDiGetDeviceInfoListDetailA
-SetupDiGetDeviceInfoListDetailW
-SetupDiGetDeviceInstallParamsA
-SetupDiGetDeviceInstallParamsW
-SetupDiGetDeviceInstanceIdA
-SetupDiGetDeviceInstanceIdW
-SetupDiGetDeviceInterfaceAlias
-SetupDiGetDeviceInterfaceDetailA
-SetupDiGetDeviceInterfaceDetailW
-SetupDiGetDeviceRegistryPropertyA
-SetupDiGetDeviceRegistryPropertyW
-SetupDiGetDriverInfoDetailA
-SetupDiGetDriverInfoDetailW
-SetupDiGetDriverInstallParamsA
-SetupDiGetDriverInstallParamsW
-SetupDiGetHwProfileFriendlyNameA
-SetupDiGetHwProfileFriendlyNameExA
-SetupDiGetHwProfileFriendlyNameExW
-SetupDiGetHwProfileFriendlyNameW
-SetupDiGetHwProfileList
-SetupDiGetHwProfileListExA
-SetupDiGetHwProfileListExW
-SetupDiGetINFClassA
-SetupDiGetINFClassW
-SetupDiGetSelectedDevice
-SetupDiGetSelectedDriverA
-SetupDiGetSelectedDriverW
-SetupDiGetWizardPage
-SetupDiInstallClassA
-SetupDiInstallClassExA
-SetupDiInstallClassExW
-SetupDiInstallClassW
-SetupDiInstallDevice
-SetupDiInstallDeviceInterfaces
-SetupDiInstallDriverFiles
-SetupDiLoadClassIcon
-SetupDiMoveDuplicateDevice
-SetupDiOpenClassRegKey
-SetupDiOpenClassRegKeyExA
-SetupDiOpenClassRegKeyExW
-SetupDiOpenDevRegKey
-SetupDiOpenDeviceInfoA
-SetupDiOpenDeviceInfoW
-SetupDiOpenDeviceInterfaceA
-SetupDiOpenDeviceInterfaceRegKey
-SetupDiOpenDeviceInterfaceW
-SetupDiRegisterCoDeviceInstallers
-SetupDiRegisterDeviceInfo
-SetupDiRemoveDevice
-SetupDiRemoveDeviceInterface
-SetupDiRestartDevices
-SetupDiSelectBestCompatDrv
-SetupDiSelectDevice
-SetupDiSelectOEMDrv
-SetupDiSetClassInstallParamsA
-SetupDiSetClassInstallParamsW
-SetupDiSetClassRegistryPropertyA
-SetupDiSetClassRegistryPropertyW
-SetupDiSetDeviceInstallParamsA
-SetupDiSetDeviceInstallParamsW
-SetupDiSetDeviceInterfaceDefault
-SetupDiSetDeviceRegistryPropertyA
-SetupDiSetDeviceRegistryPropertyW
-SetupDiSetDriverInstallParamsA
-SetupDiSetDriverInstallParamsW
-SetupDiSetSelectedDevice
-SetupDiSetSelectedDriverA
-SetupDiSetSelectedDriverW
-SetupDiUnremoveDevice
-SetupDuplicateDiskSpaceListA
-SetupDuplicateDiskSpaceListW
-SetupEnumInfSectionsA
-SetupEnumInfSectionsW
-SetupFindFirstLineA
-SetupFindFirstLineW
-SetupFindNextLine
-SetupFindNextMatchLineA
-SetupFindNextMatchLineW
-SetupFreeSourceListA
-SetupFreeSourceListW
-SetupGetBackupInformationA
-SetupGetBackupInformationW
-SetupGetBinaryField
-SetupGetFieldCount
-SetupGetFileCompressionInfoA
-SetupGetFileCompressionInfoExA
-SetupGetFileCompressionInfoExW
-SetupGetFileCompressionInfoW
-SetupGetFileQueueCount
-SetupGetFileQueueFlags
-SetupGetInfFileListA
-SetupGetInfFileListW
-SetupGetInfInformationA
-SetupGetInfInformationW
-SetupGetInfSections
-SetupGetIntField
-SetupGetLineByIndexA
-SetupGetLineByIndexW
-SetupGetLineCountA
-SetupGetLineCountW
-SetupGetLineTextA
-SetupGetLineTextW
-SetupGetMultiSzFieldA
-SetupGetMultiSzFieldW
-SetupGetNonInteractiveMode
-SetupGetSourceFileLocationA
-SetupGetSourceFileLocationW
-SetupGetSourceFileSizeA
-SetupGetSourceFileSizeW
-SetupGetSourceInfoA
-SetupGetSourceInfoW
-SetupGetStringFieldA
-SetupGetStringFieldW
-SetupGetTargetPathA
-SetupGetTargetPathW
-SetupInitDefaultQueueCallback
-SetupInitDefaultQueueCallbackEx
-SetupInitializeFileLogA
-SetupInitializeFileLogW
-SetupInstallFileA
-SetupInstallFileExA
-SetupInstallFileExW
-SetupInstallFileW
-SetupInstallFilesFromInfSectionA
-SetupInstallFilesFromInfSectionW
-SetupInstallFromInfSectionA
-SetupInstallFromInfSectionW
-SetupInstallServicesFromInfSectionA
-SetupInstallServicesFromInfSectionExA
-SetupInstallServicesFromInfSectionExW
-SetupInstallServicesFromInfSectionW
-SetupIterateCabinetA
-SetupIterateCabinetW
-SetupLogErrorA
-SetupLogErrorW
-SetupLogFileA
-SetupLogFileW
-SetupOpenAppendInfFileA
-SetupOpenAppendInfFileW
-SetupOpenFileQueue
-SetupOpenInfFileA
-SetupOpenInfFileW
-SetupOpenLog
-SetupOpenMasterInf
-SetupPrepareQueueForRestoreA
-SetupPrepareQueueForRestoreW
-SetupPromptForDiskA
-SetupPromptForDiskW
-SetupPromptReboot
-SetupQueryDrivesInDiskSpaceListA
-SetupQueryDrivesInDiskSpaceListW
-SetupQueryFileLogA
-SetupQueryFileLogW
-SetupQueryInfFileInformationA
-SetupQueryInfFileInformationW
-SetupQueryInfOriginalFileInformationA
-SetupQueryInfOriginalFileInformationW
-SetupQueryInfVersionInformationA
-SetupQueryInfVersionInformationW
-SetupQuerySourceListA
-SetupQuerySourceListW
-SetupQuerySpaceRequiredOnDriveA
-SetupQuerySpaceRequiredOnDriveW
-SetupQueueCopyA
-SetupQueueCopyIndirectA
-SetupQueueCopyIndirectW
-SetupQueueCopySectionA
-SetupQueueCopySectionW
-SetupQueueCopyW
-SetupQueueDefaultCopyA
-SetupQueueDefaultCopyW
-SetupQueueDeleteA
-SetupQueueDeleteSectionA
-SetupQueueDeleteSectionW
-SetupQueueDeleteW
-SetupQueueRenameA
-SetupQueueRenameSectionA
-SetupQueueRenameSectionW
-SetupQueueRenameW
-SetupRemoveFileLogEntryA
-SetupRemoveFileLogEntryW
-SetupRemoveFromDiskSpaceListA
-SetupRemoveFromDiskSpaceListW
-SetupRemoveFromSourceListA
-SetupRemoveFromSourceListW
-SetupRemoveInstallSectionFromDiskSpaceListA
-SetupRemoveInstallSectionFromDiskSpaceListW
-SetupRemoveSectionFromDiskSpaceListA
-SetupRemoveSectionFromDiskSpaceListW
-SetupRenameErrorA
-SetupRenameErrorW
-SetupScanFileQueue
-SetupScanFileQueueA
-SetupScanFileQueueW
-SetupSetDirectoryIdA
-SetupSetDirectoryIdExA
-SetupSetDirectoryIdExW
-SetupSetDirectoryIdW
-SetupSetFileQueueAlternatePlatformA
-SetupSetFileQueueAlternatePlatformW
-SetupSetFileQueueFlags
-SetupSetNonInteractiveMode
-SetupSetPlatformPathOverrideA
-SetupSetPlatformPathOverrideW
-SetupSetSourceListA
-SetupSetSourceListW
-SetupTermDefaultQueueCallback
-SetupTerminateFileLog
-SetupUninstallNewlyCopiedInfs
-SetupUninstallOEMInfA
-SetupUninstallOEMInfW
-SetupVerifyInfFileA
-SetupVerifyInfFileW
-UnicodeToMultiByte
-VerifyCatalogFile
-pSetupAccessRunOnceNodeList
-pSetupAcquireSCMLock
-pSetupAddMiniIconToList
-pSetupAddTagToGroupOrderListEntry
-pSetupAppendStringToMultiSz
-pSetupCaptureAndConvertAnsiArg
-pSetupCenterWindowRelativeToParent
-pSetupConcatenatePaths
-pSetupDestroyRunOnceNodeList
-pSetupDiGetDeviceInfoContext
-pSetupDiSetDeviceInfoContext
-pSetupDoesUserHavePrivilege
-pSetupDuplicateString
-pSetupEnablePrivilege
-pSetupFree
-pSetupFreeStringArray
-pSetupGetCurrentDriverSigningPolicy
-pSetupGetField
-pSetupGetFileTitle
-pSetupGetGlobalFlags
-pSetupGetInfSections
-pSetupGetQueueFlags
-pSetupGetRealSystemTime
-pSetupGetVersionInfoFromImage
-pSetupGuidFromString
-pSetupHandleFailedVerification
-pSetupInfCacheBuild
-pSetupInfIsFromOemLocation
-pSetupInstallCatalog
-pSetupInstallStopEx
-pSetupIsGuidNull
-pSetupIsLocalSystem
-pSetupIsUserAdmin
-pSetupMakeSurePathExists
-pSetupMalloc
-pSetupModifyGlobalFlags
-pSetupMultiByteToUnicode
-pSetupOpenAndMapFileForRead
-pSetupOutOfMemory
-pSetupQueryMultiSzValueToArray
-pSetupRealloc
-pSetupRegistryDelnode
-pSetupRetrieveServiceConfig
-pSetupSetArrayToMultiSzValue
-pSetupSetGlobalFlags
-pSetupSetNoDriverPrompts
-pSetupSetQueueFlags
-pSetupSetSystemSourcePath
-pSetupShouldDeviceBeExcluded
-pSetupStringFromGuid
-pSetupStringTableAddString
-pSetupStringTableAddStringEx
-pSetupStringTableDestroy
-pSetupStringTableDuplicate
-pSetupStringTableEnum
-pSetupStringTableGetExtraData
-pSetupStringTableInitialize
-pSetupStringTableInitializeEx
-pSetupStringTableLookUpString
-pSetupStringTableLookUpStringEx
-pSetupStringTableSetExtraData
-pSetupStringTableStringFromId
-pSetupStringTableStringFromIdEx
-pSetupUnicodeToMultiByte
-pSetupUnmapAndCloseFile
-pSetupVerifyCatalogFile
-pSetupVerifyFile
-pSetupVerifyQueuedCatalogs
-pSetupWriteLogEntry
-pSetupWriteLogError
+; 
+; Exports of file SETUPAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SETUPAPI.dll
+EXPORTS
+CMP_GetBlockedDriverInfo
+CMP_GetServerSideDeviceInstallFlags
+CMP_Init_Detection
+CMP_RegisterNotification
+CMP_Report_LogOn
+CMP_UnregisterNotification
+CMP_WaitNoPendingInstallEvents
+CMP_WaitServicesAvailable
+CM_Add_Empty_Log_Conf
+CM_Add_Empty_Log_Conf_Ex
+CM_Add_IDA
+CM_Add_IDW
+CM_Add_ID_ExA
+CM_Add_ID_ExW
+CM_Add_Range
+CM_Add_Res_Des
+CM_Add_Res_Des_Ex
+CM_Connect_MachineA
+CM_Connect_MachineW
+CM_Create_DevNodeA
+CM_Create_DevNodeW
+CM_Create_DevNode_ExA
+CM_Create_DevNode_ExW
+CM_Create_Range_List
+CM_Delete_Class_Key
+CM_Delete_Class_Key_Ex
+CM_Delete_DevNode_Key
+CM_Delete_DevNode_Key_Ex
+CM_Delete_Range
+CM_Detect_Resource_Conflict
+CM_Detect_Resource_Conflict_Ex
+CM_Disable_DevNode
+CM_Disable_DevNode_Ex
+CM_Disconnect_Machine
+CM_Dup_Range_List
+CM_Enable_DevNode
+CM_Enable_DevNode_Ex
+CM_Enumerate_Classes
+CM_Enumerate_Classes_Ex
+CM_Enumerate_EnumeratorsA
+CM_Enumerate_EnumeratorsW
+CM_Enumerate_Enumerators_ExA
+CM_Enumerate_Enumerators_ExW
+CM_Find_Range
+CM_First_Range
+CM_Free_Log_Conf
+CM_Free_Log_Conf_Ex
+CM_Free_Log_Conf_Handle
+CM_Free_Range_List
+CM_Free_Res_Des
+CM_Free_Res_Des_Ex
+CM_Free_Res_Des_Handle
+CM_Free_Resource_Conflict_Handle
+CM_Get_Child
+CM_Get_Child_Ex
+CM_Get_Class_Key_NameA
+CM_Get_Class_Key_NameW
+CM_Get_Class_Key_Name_ExA
+CM_Get_Class_Key_Name_ExW
+CM_Get_Class_NameA
+CM_Get_Class_NameW
+CM_Get_Class_Name_ExA
+CM_Get_Class_Name_ExW
+CM_Get_Class_Registry_PropertyA
+CM_Get_Class_Registry_PropertyW
+CM_Get_Depth
+CM_Get_Depth_Ex
+CM_Get_DevNode_Custom_PropertyA
+CM_Get_DevNode_Custom_PropertyW
+CM_Get_DevNode_Custom_Property_ExA
+CM_Get_DevNode_Custom_Property_ExW
+CM_Get_DevNode_Registry_PropertyA
+CM_Get_DevNode_Registry_PropertyW
+CM_Get_DevNode_Registry_Property_ExA
+CM_Get_DevNode_Registry_Property_ExW
+CM_Get_DevNode_Status
+CM_Get_DevNode_Status_Ex
+CM_Get_Device_IDA
+CM_Get_Device_IDW
+CM_Get_Device_ID_ExA
+CM_Get_Device_ID_ExW
+CM_Get_Device_ID_ListA
+CM_Get_Device_ID_ListW
+CM_Get_Device_ID_List_ExA
+CM_Get_Device_ID_List_ExW
+CM_Get_Device_ID_List_SizeA
+CM_Get_Device_ID_List_SizeW
+CM_Get_Device_ID_List_Size_ExA
+CM_Get_Device_ID_List_Size_ExW
+CM_Get_Device_ID_Size
+CM_Get_Device_ID_Size_Ex
+CM_Get_Device_Interface_AliasA
+CM_Get_Device_Interface_AliasW
+CM_Get_Device_Interface_Alias_ExA
+CM_Get_Device_Interface_Alias_ExW
+CM_Get_Device_Interface_ListA
+CM_Get_Device_Interface_ListW
+CM_Get_Device_Interface_List_ExA
+CM_Get_Device_Interface_List_ExW
+CM_Get_Device_Interface_List_SizeA
+CM_Get_Device_Interface_List_SizeW
+CM_Get_Device_Interface_List_Size_ExA
+CM_Get_Device_Interface_List_Size_ExW
+CM_Get_First_Log_Conf
+CM_Get_First_Log_Conf_Ex
+CM_Get_Global_State
+CM_Get_Global_State_Ex
+CM_Get_HW_Prof_FlagsA
+CM_Get_HW_Prof_FlagsW
+CM_Get_HW_Prof_Flags_ExA
+CM_Get_HW_Prof_Flags_ExW
+CM_Get_Hardware_Profile_InfoA
+CM_Get_Hardware_Profile_InfoW
+CM_Get_Hardware_Profile_Info_ExA
+CM_Get_Hardware_Profile_Info_ExW
+CM_Get_Log_Conf_Priority
+CM_Get_Log_Conf_Priority_Ex
+CM_Get_Next_Log_Conf
+CM_Get_Next_Log_Conf_Ex
+CM_Get_Next_Res_Des
+CM_Get_Next_Res_Des_Ex
+CM_Get_Parent
+CM_Get_Parent_Ex
+CM_Get_Res_Des_Data
+CM_Get_Res_Des_Data_Ex
+CM_Get_Res_Des_Data_Size
+CM_Get_Res_Des_Data_Size_Ex
+CM_Get_Resource_Conflict_Count
+CM_Get_Resource_Conflict_DetailsA
+CM_Get_Resource_Conflict_DetailsW
+CM_Get_Sibling
+CM_Get_Sibling_Ex
+CM_Get_Version
+CM_Get_Version_Ex
+CM_Intersect_Range_List
+CM_Invert_Range_List
+CM_Is_Dock_Station_Present
+CM_Is_Dock_Station_Present_Ex
+CM_Is_Version_Available
+CM_Is_Version_Available_Ex
+CM_Locate_DevNodeA
+CM_Locate_DevNodeW
+CM_Locate_DevNode_ExA
+CM_Locate_DevNode_ExW
+CM_Merge_Range_List
+CM_Modify_Res_Des
+CM_Modify_Res_Des_Ex
+CM_Move_DevNode
+CM_Move_DevNode_Ex
+CM_Next_Range
+CM_Open_Class_KeyA
+CM_Open_Class_KeyW
+CM_Open_Class_Key_ExA
+CM_Open_Class_Key_ExW
+CM_Open_DevNode_Key
+CM_Open_DevNode_Key_Ex
+CM_Query_And_Remove_SubTreeA
+CM_Query_And_Remove_SubTreeW
+CM_Query_And_Remove_SubTree_ExA
+CM_Query_And_Remove_SubTree_ExW
+CM_Query_Arbitrator_Free_Data
+CM_Query_Arbitrator_Free_Data_Ex
+CM_Query_Arbitrator_Free_Size
+CM_Query_Arbitrator_Free_Size_Ex
+CM_Query_Remove_SubTree
+CM_Query_Remove_SubTree_Ex
+CM_Query_Resource_Conflict_List
+CM_Reenumerate_DevNode
+CM_Reenumerate_DevNode_Ex
+CM_Register_Device_Driver
+CM_Register_Device_Driver_Ex
+CM_Register_Device_InterfaceA
+CM_Register_Device_InterfaceW
+CM_Register_Device_Interface_ExA
+CM_Register_Device_Interface_ExW
+CM_Remove_SubTree
+CM_Remove_SubTree_Ex
+CM_Request_Device_EjectA
+CM_Request_Device_EjectW
+CM_Request_Device_Eject_ExA
+CM_Request_Device_Eject_ExW
+CM_Request_Eject_PC
+CM_Request_Eject_PC_Ex
+CM_Run_Detection
+CM_Run_Detection_Ex
+CM_Set_Class_Registry_PropertyA
+CM_Set_Class_Registry_PropertyW
+CM_Set_DevNode_Problem
+CM_Set_DevNode_Problem_Ex
+CM_Set_DevNode_Registry_PropertyA
+CM_Set_DevNode_Registry_PropertyW
+CM_Set_DevNode_Registry_Property_ExA
+CM_Set_DevNode_Registry_Property_ExW
+CM_Set_HW_Prof
+CM_Set_HW_Prof_Ex
+CM_Set_HW_Prof_FlagsA
+CM_Set_HW_Prof_FlagsW
+CM_Set_HW_Prof_Flags_ExA
+CM_Set_HW_Prof_Flags_ExW
+CM_Setup_DevNode
+CM_Setup_DevNode_Ex
+CM_Test_Range_Available
+CM_Uninstall_DevNode
+CM_Uninstall_DevNode_Ex
+CM_Unregister_Device_InterfaceA
+CM_Unregister_Device_InterfaceW
+CM_Unregister_Device_Interface_ExA
+CM_Unregister_Device_Interface_ExW
+DoesUserHavePrivilege
+ExtensionPropSheetPageProc
+InstallCatalog
+InstallHinfSection
+InstallHinfSectionA
+InstallHinfSectionW
+IsUserAdmin
+MyFree
+MyMalloc
+MyRealloc
+SetupAddInstallSectionToDiskSpaceListA
+SetupAddInstallSectionToDiskSpaceListW
+SetupAddSectionToDiskSpaceListA
+SetupAddSectionToDiskSpaceListW
+SetupAddToDiskSpaceListA
+SetupAddToDiskSpaceListW
+SetupAddToSourceListA
+SetupAddToSourceListW
+SetupAdjustDiskSpaceListA
+SetupAdjustDiskSpaceListW
+SetupBackupErrorA
+SetupBackupErrorW
+SetupCancelTemporarySourceList
+SetupCloseFileQueue
+SetupCloseInfFile
+SetupCloseLog
+SetupCommitFileQueue
+SetupCommitFileQueueA
+SetupCommitFileQueueW
+SetupConfigureWmiFromInfSectionA
+SetupConfigureWmiFromInfSectionW
+SetupCopyErrorA
+SetupCopyErrorW
+SetupCopyOEMInfA
+SetupCopyOEMInfW
+SetupCreateDiskSpaceListA
+SetupCreateDiskSpaceListW
+SetupDecompressOrCopyFileA
+SetupDecompressOrCopyFileW
+SetupDefaultQueueCallback
+SetupDefaultQueueCallbackA
+SetupDefaultQueueCallbackW
+SetupDeleteErrorA
+SetupDeleteErrorW
+SetupDestroyDiskSpaceList
+SetupDiAskForOEMDisk
+SetupDiBuildClassInfoList
+SetupDiBuildClassInfoListExA
+SetupDiBuildClassInfoListExW
+SetupDiBuildDriverInfoList
+SetupDiCallClassInstaller
+SetupDiCancelDriverInfoSearch
+SetupDiChangeState
+SetupDiClassGuidsFromNameA
+SetupDiClassGuidsFromNameExA
+SetupDiClassGuidsFromNameExW
+SetupDiClassGuidsFromNameW
+SetupDiClassNameFromGuidA
+SetupDiClassNameFromGuidExA
+SetupDiClassNameFromGuidExW
+SetupDiClassNameFromGuidW
+SetupDiCreateDevRegKeyA
+SetupDiCreateDevRegKeyW
+SetupDiCreateDeviceInfoA
+SetupDiCreateDeviceInfoList
+SetupDiCreateDeviceInfoListExA
+SetupDiCreateDeviceInfoListExW
+SetupDiCreateDeviceInfoW
+SetupDiCreateDeviceInterfaceA
+SetupDiCreateDeviceInterfaceRegKeyA
+SetupDiCreateDeviceInterfaceRegKeyW
+SetupDiCreateDeviceInterfaceW
+SetupDiDeleteDevRegKey
+SetupDiDeleteDeviceInfo
+SetupDiDeleteDeviceInterfaceData
+SetupDiDeleteDeviceInterfaceRegKey
+SetupDiDestroyClassImageList
+SetupDiDestroyDeviceInfoList
+SetupDiDestroyDriverInfoList
+SetupDiDrawMiniIcon
+SetupDiEnumDeviceInfo
+SetupDiEnumDeviceInterfaces
+SetupDiEnumDriverInfoA
+SetupDiEnumDriverInfoW
+SetupDiGetActualModelsSectionA
+SetupDiGetActualModelsSectionW
+SetupDiGetActualSectionToInstallA
+SetupDiGetActualSectionToInstallExA
+SetupDiGetActualSectionToInstallExW
+SetupDiGetActualSectionToInstallW
+SetupDiGetClassBitmapIndex
+SetupDiGetClassDescriptionA
+SetupDiGetClassDescriptionExA
+SetupDiGetClassDescriptionExW
+SetupDiGetClassDescriptionW
+SetupDiGetClassDevPropertySheetsA
+SetupDiGetClassDevPropertySheetsW
+SetupDiGetClassDevsA
+SetupDiGetClassDevsExA
+SetupDiGetClassDevsExW
+SetupDiGetClassDevsW
+SetupDiGetClassImageIndex
+SetupDiGetClassImageList
+SetupDiGetClassImageListExA
+SetupDiGetClassImageListExW
+SetupDiGetClassInstallParamsA
+SetupDiGetClassInstallParamsW
+SetupDiGetClassRegistryPropertyA
+SetupDiGetClassRegistryPropertyW
+SetupDiGetCustomDevicePropertyA
+SetupDiGetCustomDevicePropertyW
+SetupDiGetDeviceInfoListClass
+SetupDiGetDeviceInfoListDetailA
+SetupDiGetDeviceInfoListDetailW
+SetupDiGetDeviceInstallParamsA
+SetupDiGetDeviceInstallParamsW
+SetupDiGetDeviceInstanceIdA
+SetupDiGetDeviceInstanceIdW
+SetupDiGetDeviceInterfaceAlias
+SetupDiGetDeviceInterfaceDetailA
+SetupDiGetDeviceInterfaceDetailW
+SetupDiGetDeviceRegistryPropertyA
+SetupDiGetDeviceRegistryPropertyW
+SetupDiGetDriverInfoDetailA
+SetupDiGetDriverInfoDetailW
+SetupDiGetDriverInstallParamsA
+SetupDiGetDriverInstallParamsW
+SetupDiGetHwProfileFriendlyNameA
+SetupDiGetHwProfileFriendlyNameExA
+SetupDiGetHwProfileFriendlyNameExW
+SetupDiGetHwProfileFriendlyNameW
+SetupDiGetHwProfileList
+SetupDiGetHwProfileListExA
+SetupDiGetHwProfileListExW
+SetupDiGetINFClassA
+SetupDiGetINFClassW
+SetupDiGetSelectedDevice
+SetupDiGetSelectedDriverA
+SetupDiGetSelectedDriverW
+SetupDiGetWizardPage
+SetupDiInstallClassA
+SetupDiInstallClassExA
+SetupDiInstallClassExW
+SetupDiInstallClassW
+SetupDiInstallDevice
+SetupDiInstallDeviceInterfaces
+SetupDiInstallDriverFiles
+SetupDiLoadClassIcon
+SetupDiMoveDuplicateDevice
+SetupDiOpenClassRegKey
+SetupDiOpenClassRegKeyExA
+SetupDiOpenClassRegKeyExW
+SetupDiOpenDevRegKey
+SetupDiOpenDeviceInfoA
+SetupDiOpenDeviceInfoW
+SetupDiOpenDeviceInterfaceA
+SetupDiOpenDeviceInterfaceRegKey
+SetupDiOpenDeviceInterfaceW
+SetupDiRegisterCoDeviceInstallers
+SetupDiRegisterDeviceInfo
+SetupDiRemoveDevice
+SetupDiRemoveDeviceInterface
+SetupDiRestartDevices
+SetupDiSelectBestCompatDrv
+SetupDiSelectDevice
+SetupDiSelectOEMDrv
+SetupDiSetClassInstallParamsA
+SetupDiSetClassInstallParamsW
+SetupDiSetClassRegistryPropertyA
+SetupDiSetClassRegistryPropertyW
+SetupDiSetDeviceInstallParamsA
+SetupDiSetDeviceInstallParamsW
+SetupDiSetDeviceInterfaceDefault
+SetupDiSetDeviceRegistryPropertyA
+SetupDiSetDeviceRegistryPropertyW
+SetupDiSetDriverInstallParamsA
+SetupDiSetDriverInstallParamsW
+SetupDiSetSelectedDevice
+SetupDiSetSelectedDriverA
+SetupDiSetSelectedDriverW
+SetupDiUnremoveDevice
+SetupDuplicateDiskSpaceListA
+SetupDuplicateDiskSpaceListW
+SetupEnumInfSectionsA
+SetupEnumInfSectionsW
+SetupFindFirstLineA
+SetupFindFirstLineW
+SetupFindNextLine
+SetupFindNextMatchLineA
+SetupFindNextMatchLineW
+SetupFreeSourceListA
+SetupFreeSourceListW
+SetupGetBackupInformationA
+SetupGetBackupInformationW
+SetupGetBinaryField
+SetupGetFieldCount
+SetupGetFileCompressionInfoA
+SetupGetFileCompressionInfoExA
+SetupGetFileCompressionInfoExW
+SetupGetFileCompressionInfoW
+SetupGetFileQueueCount
+SetupGetFileQueueFlags
+SetupGetInfFileListA
+SetupGetInfFileListW
+SetupGetInfInformationA
+SetupGetInfInformationW
+SetupGetInfSections
+SetupGetIntField
+SetupGetLineByIndexA
+SetupGetLineByIndexW
+SetupGetLineCountA
+SetupGetLineCountW
+SetupGetLineTextA
+SetupGetLineTextW
+SetupGetMultiSzFieldA
+SetupGetMultiSzFieldW
+SetupGetNonInteractiveMode
+SetupGetSourceFileLocationA
+SetupGetSourceFileLocationW
+SetupGetSourceFileSizeA
+SetupGetSourceFileSizeW
+SetupGetSourceInfoA
+SetupGetSourceInfoW
+SetupGetStringFieldA
+SetupGetStringFieldW
+SetupGetTargetPathA
+SetupGetTargetPathW
+SetupInitDefaultQueueCallback
+SetupInitDefaultQueueCallbackEx
+SetupInitializeFileLogA
+SetupInitializeFileLogW
+SetupInstallFileA
+SetupInstallFileExA
+SetupInstallFileExW
+SetupInstallFileW
+SetupInstallFilesFromInfSectionA
+SetupInstallFilesFromInfSectionW
+SetupInstallFromInfSectionA
+SetupInstallFromInfSectionW
+SetupInstallServicesFromInfSectionA
+SetupInstallServicesFromInfSectionExA
+SetupInstallServicesFromInfSectionExW
+SetupInstallServicesFromInfSectionW
+SetupIterateCabinetA
+SetupIterateCabinetW
+SetupLogErrorA
+SetupLogErrorW
+SetupLogFileA
+SetupLogFileW
+SetupOpenAppendInfFileA
+SetupOpenAppendInfFileW
+SetupOpenFileQueue
+SetupOpenInfFileA
+SetupOpenInfFileW
+SetupOpenLog
+SetupOpenMasterInf
+SetupPrepareQueueForRestoreA
+SetupPrepareQueueForRestoreW
+SetupPromptForDiskA
+SetupPromptForDiskW
+SetupPromptReboot
+SetupQueryDrivesInDiskSpaceListA
+SetupQueryDrivesInDiskSpaceListW
+SetupQueryFileLogA
+SetupQueryFileLogW
+SetupQueryInfFileInformationA
+SetupQueryInfFileInformationW
+SetupQueryInfOriginalFileInformationA
+SetupQueryInfOriginalFileInformationW
+SetupQueryInfVersionInformationA
+SetupQueryInfVersionInformationW
+SetupQuerySourceListA
+SetupQuerySourceListW
+SetupQuerySpaceRequiredOnDriveA
+SetupQuerySpaceRequiredOnDriveW
+SetupQueueCopyA
+SetupQueueCopyIndirectA
+SetupQueueCopyIndirectW
+SetupQueueCopySectionA
+SetupQueueCopySectionW
+SetupQueueCopyW
+SetupQueueDefaultCopyA
+SetupQueueDefaultCopyW
+SetupQueueDeleteA
+SetupQueueDeleteSectionA
+SetupQueueDeleteSectionW
+SetupQueueDeleteW
+SetupQueueRenameA
+SetupQueueRenameSectionA
+SetupQueueRenameSectionW
+SetupQueueRenameW
+SetupRemoveFileLogEntryA
+SetupRemoveFileLogEntryW
+SetupRemoveFromDiskSpaceListA
+SetupRemoveFromDiskSpaceListW
+SetupRemoveFromSourceListA
+SetupRemoveFromSourceListW
+SetupRemoveInstallSectionFromDiskSpaceListA
+SetupRemoveInstallSectionFromDiskSpaceListW
+SetupRemoveSectionFromDiskSpaceListA
+SetupRemoveSectionFromDiskSpaceListW
+SetupRenameErrorA
+SetupRenameErrorW
+SetupScanFileQueue
+SetupScanFileQueueA
+SetupScanFileQueueW
+SetupSetDirectoryIdA
+SetupSetDirectoryIdExA
+SetupSetDirectoryIdExW
+SetupSetDirectoryIdW
+SetupSetFileQueueAlternatePlatformA
+SetupSetFileQueueAlternatePlatformW
+SetupSetFileQueueFlags
+SetupSetNonInteractiveMode
+SetupSetPlatformPathOverrideA
+SetupSetPlatformPathOverrideW
+SetupSetSourceListA
+SetupSetSourceListW
+SetupTermDefaultQueueCallback
+SetupTerminateFileLog
+SetupUninstallNewlyCopiedInfs
+SetupUninstallOEMInfA
+SetupUninstallOEMInfW
+SetupVerifyInfFileA
+SetupVerifyInfFileW
+UnicodeToMultiByte
+VerifyCatalogFile
+pSetupAccessRunOnceNodeList
+pSetupAcquireSCMLock
+pSetupAddMiniIconToList
+pSetupAddTagToGroupOrderListEntry
+pSetupAppendStringToMultiSz
+pSetupCaptureAndConvertAnsiArg
+pSetupCenterWindowRelativeToParent
+pSetupConcatenatePaths
+pSetupDestroyRunOnceNodeList
+pSetupDiGetDeviceInfoContext
+pSetupDiSetDeviceInfoContext
+pSetupDoesUserHavePrivilege
+pSetupDuplicateString
+pSetupEnablePrivilege
+pSetupFree
+pSetupFreeStringArray
+pSetupGetCurrentDriverSigningPolicy
+pSetupGetField
+pSetupGetFileTitle
+pSetupGetGlobalFlags
+pSetupGetInfSections
+pSetupGetQueueFlags
+pSetupGetRealSystemTime
+pSetupGetVersionInfoFromImage
+pSetupGuidFromString
+pSetupHandleFailedVerification
+pSetupInfCacheBuild
+pSetupInfIsFromOemLocation
+pSetupInstallCatalog
+pSetupInstallStopEx
+pSetupIsGuidNull
+pSetupIsLocalSystem
+pSetupIsUserAdmin
+pSetupMakeSurePathExists
+pSetupMalloc
+pSetupModifyGlobalFlags
+pSetupMultiByteToUnicode
+pSetupOpenAndMapFileForRead
+pSetupOutOfMemory
+pSetupQueryMultiSzValueToArray
+pSetupRealloc
+pSetupRegistryDelnode
+pSetupRetrieveServiceConfig
+pSetupSetArrayToMultiSzValue
+pSetupSetGlobalFlags
+pSetupSetNoDriverPrompts
+pSetupSetQueueFlags
+pSetupSetSystemSourcePath
+pSetupShouldDeviceBeExcluded
+pSetupStringFromGuid
+pSetupStringTableAddString
+pSetupStringTableAddStringEx
+pSetupStringTableDestroy
+pSetupStringTableDuplicate
+pSetupStringTableEnum
+pSetupStringTableGetExtraData
+pSetupStringTableInitialize
+pSetupStringTableInitializeEx
+pSetupStringTableLookUpString
+pSetupStringTableLookUpStringEx
+pSetupStringTableSetExtraData
+pSetupStringTableStringFromId
+pSetupStringTableStringFromIdEx
+pSetupUnicodeToMultiByte
+pSetupUnmapAndCloseFile
+pSetupVerifyCatalogFile
+pSetupVerifyFile
+pSetupVerifyQueuedCatalogs
+pSetupWriteLogEntry
+pSetupWriteLogError
diff --git a/mingw-w64-crt/lib64/setupqry.def b/mingw-w64-crt/lib64/setupqry.def
index 6b1b814..73d029c 100644
--- a/mingw-w64-crt/lib64/setupqry.def
+++ b/mingw-w64-crt/lib64/setupqry.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file setupqry.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY setupqry.dll
-EXPORTS
-IndexSrv
+; 
+; Exports of file setupqry.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY setupqry.dll
+EXPORTS
+IndexSrv
diff --git a/mingw-w64-crt/lib64/sfc.def b/mingw-w64-crt/lib64/sfc.def
index 1163e3f..f528a33 100644
--- a/mingw-w64-crt/lib64/sfc.def
+++ b/mingw-w64-crt/lib64/sfc.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file sfc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sfc.dll
-EXPORTS
-SRSetRestorePoint
-SRSetRestorePointA
-SRSetRestorePointW
-SfcGetNextProtectedFile
-SfcIsFileProtected
-SfcWLEventLogoff
-SfcWLEventLogon
-SfpVerifyFile
+; 
+; Exports of file sfc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sfc.dll
+EXPORTS
+SRSetRestorePoint
+SRSetRestorePointA
+SRSetRestorePointW
+SfcGetNextProtectedFile
+SfcIsFileProtected
+SfcWLEventLogoff
+SfcWLEventLogon
+SfpVerifyFile
diff --git a/mingw-w64-crt/lib64/sfc_os.def b/mingw-w64-crt/lib64/sfc_os.def
index d36eb77..e53a986 100644
--- a/mingw-w64-crt/lib64/sfc_os.def
+++ b/mingw-w64-crt/lib64/sfc_os.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file sfc_os.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sfc_os.dll
-EXPORTS
-SfcGetNextProtectedFile
-SfcIsFileProtected
-SfcWLEventLogoff
-SfcWLEventLogon
+; 
+; Exports of file sfc_os.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sfc_os.dll
+EXPORTS
+SfcGetNextProtectedFile
+SfcIsFileProtected
+SfcWLEventLogoff
+SfcWLEventLogon
diff --git a/mingw-w64-crt/lib64/sfcfiles.def b/mingw-w64-crt/lib64/sfcfiles.def
index 61d2ed5..25d6b53 100644
--- a/mingw-w64-crt/lib64/sfcfiles.def
+++ b/mingw-w64-crt/lib64/sfcfiles.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file sfcfiles.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sfcfiles.dll
-EXPORTS
-SfcGetFiles
+; 
+; Exports of file sfcfiles.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sfcfiles.dll
+EXPORTS
+SfcGetFiles
diff --git a/mingw-w64-crt/lib64/sfmapi.def b/mingw-w64-crt/lib64/sfmapi.def
index d83c935..2ea8c83 100644
--- a/mingw-w64-crt/lib64/sfmapi.def
+++ b/mingw-w64-crt/lib64/sfmapi.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file SFMAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SFMAPI.dll
-EXPORTS
-AfpAdminBufferFree
-AfpAdminConnect
-AfpAdminConnectionClose
-AfpAdminConnectionEnum
-AfpAdminDirectoryGetInfo
-AfpAdminDirectorySetInfo
-AfpAdminDisconnect
-AfpAdminETCMapAdd
-AfpAdminETCMapAssociate
-AfpAdminETCMapDelete
-AfpAdminETCMapGetInfo
-AfpAdminETCMapSetInfo
-AfpAdminFileClose
-AfpAdminFileEnum
-AfpAdminFinderSetInfo
-AfpAdminInvalidVolumeDelete
-AfpAdminInvalidVolumeEnum
-AfpAdminMessageSend
-AfpAdminProfileClear
-AfpAdminProfileGet
-AfpAdminServerGetInfo
-AfpAdminServerSetInfo
-AfpAdminSessionClose
-AfpAdminSessionEnum
-AfpAdminStatisticsClear
-AfpAdminStatisticsGet
-AfpAdminStatisticsGetEx
-AfpAdminVolumeAdd
-AfpAdminVolumeDelete
-AfpAdminVolumeEnum
-AfpAdminVolumeGetInfo
-AfpAdminVolumeSetInfo
+; 
+; Exports of file SFMAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SFMAPI.dll
+EXPORTS
+AfpAdminBufferFree
+AfpAdminConnect
+AfpAdminConnectionClose
+AfpAdminConnectionEnum
+AfpAdminDirectoryGetInfo
+AfpAdminDirectorySetInfo
+AfpAdminDisconnect
+AfpAdminETCMapAdd
+AfpAdminETCMapAssociate
+AfpAdminETCMapDelete
+AfpAdminETCMapGetInfo
+AfpAdminETCMapSetInfo
+AfpAdminFileClose
+AfpAdminFileEnum
+AfpAdminFinderSetInfo
+AfpAdminInvalidVolumeDelete
+AfpAdminInvalidVolumeEnum
+AfpAdminMessageSend
+AfpAdminProfileClear
+AfpAdminProfileGet
+AfpAdminServerGetInfo
+AfpAdminServerSetInfo
+AfpAdminSessionClose
+AfpAdminSessionEnum
+AfpAdminStatisticsClear
+AfpAdminStatisticsGet
+AfpAdminStatisticsGetEx
+AfpAdminVolumeAdd
+AfpAdminVolumeDelete
+AfpAdminVolumeEnum
+AfpAdminVolumeGetInfo
+AfpAdminVolumeSetInfo
diff --git a/mingw-w64-crt/lib64/shdocvw.def b/mingw-w64-crt/lib64/shdocvw.def
index a1b5255..5adb045 100644
--- a/mingw-w64-crt/lib64/shdocvw.def
+++ b/mingw-w64-crt/lib64/shdocvw.def
@@ -1,36 +1,36 @@
-; 
-; Exports of file SHDOCVW.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SHDOCVW.dll
-EXPORTS
-AddUrlToFavorites
-DllCanUnloadNow
-DllGetClassObject
-DllGetVersion
-DllInstall
-DllRegisterServer
-DllRegisterWindowClasses
-DllUnregisterServer
-DoAddToFavDlg
-DoAddToFavDlgW
-DoFileDownload
-DoFileDownloadEx
-DoOrganizeFavDlg
-DoOrganizeFavDlgW
-DoPrivacyDlg
-HlinkFindFrame
-HlinkFrameNavigate
-HlinkFrameNavigateNHL
-IEWriteErrorLog
-ImportPrivacySettings
-SHAddSubscribeFavorite
-OpenURL
-SHGetIDispatchForFolder
-SetQueryNetSessionCount
-SetShellOfflineState
-SoftwareUpdateMessageBox
-URLQualifyA
-URLQualifyW
+; 
+; Exports of file SHDOCVW.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SHDOCVW.dll
+EXPORTS
+AddUrlToFavorites
+DllCanUnloadNow
+DllGetClassObject
+DllGetVersion
+DllInstall
+DllRegisterServer
+DllRegisterWindowClasses
+DllUnregisterServer
+DoAddToFavDlg
+DoAddToFavDlgW
+DoFileDownload
+DoFileDownloadEx
+DoOrganizeFavDlg
+DoOrganizeFavDlgW
+DoPrivacyDlg
+HlinkFindFrame
+HlinkFrameNavigate
+HlinkFrameNavigateNHL
+IEWriteErrorLog
+ImportPrivacySettings
+SHAddSubscribeFavorite
+OpenURL
+SHGetIDispatchForFolder
+SetQueryNetSessionCount
+SetShellOfflineState
+SoftwareUpdateMessageBox
+URLQualifyA
+URLQualifyW
diff --git a/mingw-w64-crt/lib64/shell32.def b/mingw-w64-crt/lib64/shell32.def
index e0d3224..209941b 100644
--- a/mingw-w64-crt/lib64/shell32.def
+++ b/mingw-w64-crt/lib64/shell32.def
@@ -1,317 +1,317 @@
-; 
-; Exports of file SHELL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SHELL32.dll
-EXPORTS
-SHChangeNotifyRegister
-SHDefExtractIconA
-SHChangeNotifyDeregister
-SHDefExtractIconW
-PifMgr_OpenProperties
-PifMgr_GetProperties
-PifMgr_SetProperties
-PifMgr_CloseProperties
-SHStartNetConnectionDialogW
-ILFindLastID
-ILRemoveLastID
-ILClone
-ILCloneFirst
-ILIsEqual
-DAD_DragEnterEx2
-ILIsParent
-ILFindChild
-ILCombine
-ILLoadFromStream
-ILSaveToStream
-SHILCreateFromPath
-IsLFNDriveA
-IsLFNDriveW
-PathIsExe
-PathMakeUniqueName
-PathQualify
-PathResolve
-RestartDialog
-PickIconDlg
-GetFileNameFromBrowse
-DriveType
-IsNetDrive
-Shell_MergeMenus
-SHGetSetSettings
-Shell_GetImageLists
-Shell_GetCachedImageIndex
-SHShellFolderView_Message
-SHCreateStdEnumFmtEtc
-PathYetAnotherMakeUniqueName
-SHMapPIDLToSystemImageListIndex
-SHOpenPropSheetW
-OpenAs_RunDLL
-OpenRegStream
-SHDoDragDrop
-SHCloneSpecialIDList
-SHFindFiles
-PathGetShortPath
-SHGetRealIDL
-SHRestricted
-OpenAs_RunDLLA
-SHCoCreateInstance
-SignalFileOpen
-OpenAs_RunDLLW
-Activate_RunDLL
-AppCompat_RunDLLW
-CheckEscapesA
-CheckEscapesW
-CommandLineToArgvW
-Control_FillCache_RunDLL
-Control_FillCache_RunDLLA
-Control_FillCache_RunDLLW
-Control_RunDLL
-Control_RunDLLA
-Control_RunDLLAsUserW
-Control_RunDLLW
-DllCanUnloadNow
-DllGetClassObject
-IsLFNDrive
-DllGetVersion
-SHFlushClipboard
-DllInstall
-DllRegisterServer
-DAD_AutoScroll
-DAD_DragEnterEx
-DAD_DragLeave
-DllUnregisterServer
-DAD_DragMove
-DoEnvironmentSubstA
-DAD_SetDragImage
-DAD_ShowDragImage
-DoEnvironmentSubstW
-DragAcceptFiles
-DragFinish
-DragQueryFile
-DragQueryFileA
-DragQueryFileAorW
-DragQueryFileW
-SHCLSIDFromString
-SHMapIDListToImageListIndexAsync
-SHFind_InitMenuPopup
-DragQueryPoint
-SHLoadOLE
-ILGetSize
-ILGetNext
-ILAppendID
-ILFree
-ILCreateFromPath
-SHRunControlPanel
-SHSimpleIDListFromPath
-Win32DeleteFile
-SHCreateDirectory
-CallCPLEntry16
-SHAddFromPropSheetExtArray
-SHCreatePropSheetExtArray
-SHDestroyPropSheetExtArray
-SHReplaceFromPropSheetExtArray
-PathCleanupSpec
-SHValidateUNC
-SHCreateShellFolderViewEx
-SHSetInstanceExplorer
-SHObjectProperties
-SHGetNewLinkInfoA
-SHGetNewLinkInfoW
-ShellMessageBoxW
-ShellMessageBoxA
-ILCreateFromPathA
-ILCreateFromPathW
-SHUpdateImageA
-SHUpdateImageW
-SHHandleUpdateImage
-SHFree
-SHAlloc
-DuplicateIcon
-ExtractAssociatedIconA
-ExtractAssociatedIconExA
-ExtractAssociatedIconExW
-ExtractAssociatedIconW
-ExtractIconA
-ExtractIconEx
-ExtractIconExA
-ExtractIconExW
-ExtractIconResInfoA
-ExtractIconResInfoW
-ExtractIconW
-ExtractVersionResource16W
-FindExeDlgProc
-FindExecutableA
-FindExecutableW
-FreeIconList
-InternalExtractIconListA
-InternalExtractIconListW
-PathIsSlowW
-PathIsSlowA
-SHTestTokenMembership
-Options_RunDLL
-SHCreateShellFolderView
-Options_RunDLLA
-Options_RunDLLW
-PrintersGetCommand_RunDLL
-PrintersGetCommand_RunDLLA
-PrintersGetCommand_RunDLLW
-RealShellExecuteA
-RealShellExecuteExA
-RealShellExecuteExW
-RealShellExecuteW
-RegenerateUserEnvironment
-SHAddToRecentDocs
-SHAppBarMessage
-SHBindToParent
-SHBrowseForFolder
-SHBrowseForFolderA
-SHBrowseForFolderW
-SHChangeNotify
-SHChangeNotifySuspendResume
-SHCreateDirectoryExA
-SHCreateDirectoryExW
-SHCreateLocalServerRunDll
-SHCreateProcessAsUserW
-SHCreateQueryCancelAutoPlayMoniker
-SHCreateShellItem
-SHEmptyRecycleBinA
-SHEmptyRecycleBinW
-SHEnableServiceObject
-SHEnumerateUnreadMailAccountsW
-SHExtractIconsW
-SHFileOperation
-SHFileOperationA
-SHFileOperationW
-SHFormatDrive
-SHFreeNameMappings
-SHGetDataFromIDListA
-SHGetDataFromIDListW
-SHGetDesktopFolder
-SHGetDiskFreeSpaceA
-SHGetDiskFreeSpaceExA
-SHGetDiskFreeSpaceExW
-SHGetFileInfo
-SHGetFileInfoA
-SHGetFileInfoW
-SHGetFolderLocation
-SHGetFolderPathA
-SHGetFolderPathAndSubDirA
-SHGetFolderPathAndSubDirW
-SHGetFolderPathW
-SHGetIconOverlayIndexA
-SHGetIconOverlayIndexW
-SHGetInstanceExplorer
-SHGetMalloc
-SHGetNewLinkInfo
-SHGetPathFromIDList
-SHGetPathFromIDListA
-SHGetPathFromIDListW
-SHGetSettings
-SHGetSpecialFolderLocation
-SHGetSpecialFolderPathA
-SHGetSpecialFolderPathW
-SHGetUnreadMailCountW
-SHHelpShortcuts_RunDLL
-SHHelpShortcuts_RunDLLA
-SHHelpShortcuts_RunDLLW
-SHInvokePrinterCommandA
-SHInvokePrinterCommandW
-SHIsFileAvailableOffline
-SHLoadInProc
-SHLoadNonloadedIconOverlayIdentifiers
-SHOpenFolderAndSelectItems
-SHParseDisplayName
-SHPathPrepareForWriteA
-SHPathPrepareForWriteW
-SHQueryRecycleBinA
-SHQueryRecycleBinW
-SHSetLocalizedName
-SHSetUnreadMailCountW
-SHUpdateRecycleBinIcon
-SheChangeDirA
-SheChangeDirExA
-SheChangeDirExW
-SheChangeDirW
-SheConvertPathW
-SheFullPathA
-SheFullPathW
-SheGetCurDrive
-SheGetDirA
-SheGetDirExW
-SheGetDirW
-SheGetPathOffsetW
-SheRemoveQuotesA
-SheRemoveQuotesW
-SheSetCurDrive
-SheShortenPathA
-SheShortenPathW
-ShellAboutA
-ShellAboutW
-ShellExec_RunDLL
-ShellExec_RunDLLA
-ShellExec_RunDLLW
-ShellExecuteA
-ShellExecuteEx
-ShellExecuteExA
-ShellExecuteExW
-ShellExecuteW
-ShellHookProc
-Shell_NotifyIcon
-Shell_NotifyIconA
-Shell_NotifyIconW
-StrChrA
-StrChrIA
-StrChrIW
-StrChrW
-StrCmpNA
-StrCmpNIA
-StrCmpNIW
-StrCmpNW
-StrCpyNA
-StrCpyNW
-StrNCmpA
-StrNCmpIA
-StrNCmpIW
-StrNCmpW
-StrNCpyA
-StrNCpyW
-StrRChrA
-StrRChrIA
-StrRChrIW
-StrRChrW
-StrRStrA
-StrRStrIA
-StrRStrIW
-StrRStrW
-StrStrA
-StrStrIA
-StrStrIW
-StrStrW
-WOWShellExecute
-SHAllocShared
-SHLockShared
-SHUnlockShared
-SHFreeShared
-RealDriveType
-SHFlushSFCache
-SHChangeNotification_Lock
-SHChangeNotification_Unlock
-WriteCabinetState
-PathProcessCommand
-ReadCabinetState
-IsUserAnAdmin
-SHPropStgCreate
-SHPropStgReadMultiple
-SHPropStgWriteMultiple
-CDefFolderMenu_Create
-CDefFolderMenu_Create2
-SHGetSetFolderCustomSettingsW
-SHMultiFileProperties
-SHGetImageList
-RestartDialogEx
-SHCreateFileExtractIconW
-SHLimitInputEdit
-SHGetShellStyleHInstance
-SHGetAttributesFromDataObject
+; 
+; Exports of file SHELL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SHELL32.dll
+EXPORTS
+SHChangeNotifyRegister
+SHDefExtractIconA
+SHChangeNotifyDeregister
+SHDefExtractIconW
+PifMgr_OpenProperties
+PifMgr_GetProperties
+PifMgr_SetProperties
+PifMgr_CloseProperties
+SHStartNetConnectionDialogW
+ILFindLastID
+ILRemoveLastID
+ILClone
+ILCloneFirst
+ILIsEqual
+DAD_DragEnterEx2
+ILIsParent
+ILFindChild
+ILCombine
+ILLoadFromStream
+ILSaveToStream
+SHILCreateFromPath
+IsLFNDriveA
+IsLFNDriveW
+PathIsExe
+PathMakeUniqueName
+PathQualify
+PathResolve
+RestartDialog
+PickIconDlg
+GetFileNameFromBrowse
+DriveType
+IsNetDrive
+Shell_MergeMenus
+SHGetSetSettings
+Shell_GetImageLists
+Shell_GetCachedImageIndex
+SHShellFolderView_Message
+SHCreateStdEnumFmtEtc
+PathYetAnotherMakeUniqueName
+SHMapPIDLToSystemImageListIndex
+SHOpenPropSheetW
+OpenAs_RunDLL
+OpenRegStream
+SHDoDragDrop
+SHCloneSpecialIDList
+SHFindFiles
+PathGetShortPath
+SHGetRealIDL
+SHRestricted
+OpenAs_RunDLLA
+SHCoCreateInstance
+SignalFileOpen
+OpenAs_RunDLLW
+Activate_RunDLL
+AppCompat_RunDLLW
+CheckEscapesA
+CheckEscapesW
+CommandLineToArgvW
+Control_FillCache_RunDLL
+Control_FillCache_RunDLLA
+Control_FillCache_RunDLLW
+Control_RunDLL
+Control_RunDLLA
+Control_RunDLLAsUserW
+Control_RunDLLW
+DllCanUnloadNow
+DllGetClassObject
+IsLFNDrive
+DllGetVersion
+SHFlushClipboard
+DllInstall
+DllRegisterServer
+DAD_AutoScroll
+DAD_DragEnterEx
+DAD_DragLeave
+DllUnregisterServer
+DAD_DragMove
+DoEnvironmentSubstA
+DAD_SetDragImage
+DAD_ShowDragImage
+DoEnvironmentSubstW
+DragAcceptFiles
+DragFinish
+DragQueryFile
+DragQueryFileA
+DragQueryFileAorW
+DragQueryFileW
+SHCLSIDFromString
+SHMapIDListToImageListIndexAsync
+SHFind_InitMenuPopup
+DragQueryPoint
+SHLoadOLE
+ILGetSize
+ILGetNext
+ILAppendID
+ILFree
+ILCreateFromPath
+SHRunControlPanel
+SHSimpleIDListFromPath
+Win32DeleteFile
+SHCreateDirectory
+CallCPLEntry16
+SHAddFromPropSheetExtArray
+SHCreatePropSheetExtArray
+SHDestroyPropSheetExtArray
+SHReplaceFromPropSheetExtArray
+PathCleanupSpec
+SHValidateUNC
+SHCreateShellFolderViewEx
+SHSetInstanceExplorer
+SHObjectProperties
+SHGetNewLinkInfoA
+SHGetNewLinkInfoW
+ShellMessageBoxW
+ShellMessageBoxA
+ILCreateFromPathA
+ILCreateFromPathW
+SHUpdateImageA
+SHUpdateImageW
+SHHandleUpdateImage
+SHFree
+SHAlloc
+DuplicateIcon
+ExtractAssociatedIconA
+ExtractAssociatedIconExA
+ExtractAssociatedIconExW
+ExtractAssociatedIconW
+ExtractIconA
+ExtractIconEx
+ExtractIconExA
+ExtractIconExW
+ExtractIconResInfoA
+ExtractIconResInfoW
+ExtractIconW
+ExtractVersionResource16W
+FindExeDlgProc
+FindExecutableA
+FindExecutableW
+FreeIconList
+InternalExtractIconListA
+InternalExtractIconListW
+PathIsSlowW
+PathIsSlowA
+SHTestTokenMembership
+Options_RunDLL
+SHCreateShellFolderView
+Options_RunDLLA
+Options_RunDLLW
+PrintersGetCommand_RunDLL
+PrintersGetCommand_RunDLLA
+PrintersGetCommand_RunDLLW
+RealShellExecuteA
+RealShellExecuteExA
+RealShellExecuteExW
+RealShellExecuteW
+RegenerateUserEnvironment
+SHAddToRecentDocs
+SHAppBarMessage
+SHBindToParent
+SHBrowseForFolder
+SHBrowseForFolderA
+SHBrowseForFolderW
+SHChangeNotify
+SHChangeNotifySuspendResume
+SHCreateDirectoryExA
+SHCreateDirectoryExW
+SHCreateLocalServerRunDll
+SHCreateProcessAsUserW
+SHCreateQueryCancelAutoPlayMoniker
+SHCreateShellItem
+SHEmptyRecycleBinA
+SHEmptyRecycleBinW
+SHEnableServiceObject
+SHEnumerateUnreadMailAccountsW
+SHExtractIconsW
+SHFileOperation
+SHFileOperationA
+SHFileOperationW
+SHFormatDrive
+SHFreeNameMappings
+SHGetDataFromIDListA
+SHGetDataFromIDListW
+SHGetDesktopFolder
+SHGetDiskFreeSpaceA
+SHGetDiskFreeSpaceExA
+SHGetDiskFreeSpaceExW
+SHGetFileInfo
+SHGetFileInfoA
+SHGetFileInfoW
+SHGetFolderLocation
+SHGetFolderPathA
+SHGetFolderPathAndSubDirA
+SHGetFolderPathAndSubDirW
+SHGetFolderPathW
+SHGetIconOverlayIndexA
+SHGetIconOverlayIndexW
+SHGetInstanceExplorer
+SHGetMalloc
+SHGetNewLinkInfo
+SHGetPathFromIDList
+SHGetPathFromIDListA
+SHGetPathFromIDListW
+SHGetSettings
+SHGetSpecialFolderLocation
+SHGetSpecialFolderPathA
+SHGetSpecialFolderPathW
+SHGetUnreadMailCountW
+SHHelpShortcuts_RunDLL
+SHHelpShortcuts_RunDLLA
+SHHelpShortcuts_RunDLLW
+SHInvokePrinterCommandA
+SHInvokePrinterCommandW
+SHIsFileAvailableOffline
+SHLoadInProc
+SHLoadNonloadedIconOverlayIdentifiers
+SHOpenFolderAndSelectItems
+SHParseDisplayName
+SHPathPrepareForWriteA
+SHPathPrepareForWriteW
+SHQueryRecycleBinA
+SHQueryRecycleBinW
+SHSetLocalizedName
+SHSetUnreadMailCountW
+SHUpdateRecycleBinIcon
+SheChangeDirA
+SheChangeDirExA
+SheChangeDirExW
+SheChangeDirW
+SheConvertPathW
+SheFullPathA
+SheFullPathW
+SheGetCurDrive
+SheGetDirA
+SheGetDirExW
+SheGetDirW
+SheGetPathOffsetW
+SheRemoveQuotesA
+SheRemoveQuotesW
+SheSetCurDrive
+SheShortenPathA
+SheShortenPathW
+ShellAboutA
+ShellAboutW
+ShellExec_RunDLL
+ShellExec_RunDLLA
+ShellExec_RunDLLW
+ShellExecuteA
+ShellExecuteEx
+ShellExecuteExA
+ShellExecuteExW
+ShellExecuteW
+ShellHookProc
+Shell_NotifyIcon
+Shell_NotifyIconA
+Shell_NotifyIconW
+StrChrA
+StrChrIA
+StrChrIW
+StrChrW
+StrCmpNA
+StrCmpNIA
+StrCmpNIW
+StrCmpNW
+StrCpyNA
+StrCpyNW
+StrNCmpA
+StrNCmpIA
+StrNCmpIW
+StrNCmpW
+StrNCpyA
+StrNCpyW
+StrRChrA
+StrRChrIA
+StrRChrIW
+StrRChrW
+StrRStrA
+StrRStrIA
+StrRStrIW
+StrRStrW
+StrStrA
+StrStrIA
+StrStrIW
+StrStrW
+WOWShellExecute
+SHAllocShared
+SHLockShared
+SHUnlockShared
+SHFreeShared
+RealDriveType
+SHFlushSFCache
+SHChangeNotification_Lock
+SHChangeNotification_Unlock
+WriteCabinetState
+PathProcessCommand
+ReadCabinetState
+IsUserAnAdmin
+SHPropStgCreate
+SHPropStgReadMultiple
+SHPropStgWriteMultiple
+CDefFolderMenu_Create
+CDefFolderMenu_Create2
+SHGetSetFolderCustomSettingsW
+SHMultiFileProperties
+SHGetImageList
+RestartDialogEx
+SHCreateFileExtractIconW
+SHLimitInputEdit
+SHGetShellStyleHInstance
+SHGetAttributesFromDataObject
diff --git a/mingw-w64-crt/lib64/shfolder.def b/mingw-w64-crt/lib64/shfolder.def
index 766d286..e8ef7be 100644
--- a/mingw-w64-crt/lib64/shfolder.def
+++ b/mingw-w64-crt/lib64/shfolder.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file SHFOLDER.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SHFOLDER.dll
-EXPORTS
-SHGetFolderPathA
-SHGetFolderPathW
+; 
+; Exports of file SHFOLDER.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SHFOLDER.dll
+EXPORTS
+SHGetFolderPathA
+SHGetFolderPathW
diff --git a/mingw-w64-crt/lib64/shgina.def b/mingw-w64-crt/lib64/shgina.def
index 9c39132..deb3f17 100644
--- a/mingw-w64-crt/lib64/shgina.def
+++ b/mingw-w64-crt/lib64/shgina.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file SHGINA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SHGINA.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SHGINA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SHGINA.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/shimeng.def b/mingw-w64-crt/lib64/shimeng.def
index 4455127..2d131b8 100644
--- a/mingw-w64-crt/lib64/shimeng.def
+++ b/mingw-w64-crt/lib64/shimeng.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file ShimEng.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ShimEng.dll
-EXPORTS
-SE_DllLoaded
-SE_DllUnloaded
-SE_DynamicShim
-SE_DynamicUnshim
-SE_InstallAfterInit
-SE_InstallBeforeInit
-SE_IsShimDll
-SE_ProcessDying
-SE_RemoveNTVDMTask
-SE_ShimNTVDM
+; 
+; Exports of file ShimEng.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ShimEng.dll
+EXPORTS
+SE_DllLoaded
+SE_DllUnloaded
+SE_DynamicShim
+SE_DynamicUnshim
+SE_InstallAfterInit
+SE_InstallBeforeInit
+SE_IsShimDll
+SE_ProcessDying
+SE_RemoveNTVDMTask
+SE_ShimNTVDM
diff --git a/mingw-w64-crt/lib64/shimgvw.def b/mingw-w64-crt/lib64/shimgvw.def
index 8648076..3a99995 100644
--- a/mingw-w64-crt/lib64/shimgvw.def
+++ b/mingw-w64-crt/lib64/shimgvw.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file shimgvw.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY shimgvw.DLL
-EXPORTS
-ImageView_COMServer
-ImageView_Fullscreen
-ImageView_FullscreenA
-ImageView_FullscreenW
-ImageView_PrintTo
-ImageView_PrintToA
-ImageView_PrintToW
-imageview_fullscreenW
-ConvertDIBSECTIONToThumbnail
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file shimgvw.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY shimgvw.DLL
+EXPORTS
+ImageView_COMServer
+ImageView_Fullscreen
+ImageView_FullscreenA
+ImageView_FullscreenW
+ImageView_PrintTo
+ImageView_PrintToA
+ImageView_PrintToW
+imageview_fullscreenW
+ConvertDIBSECTIONToThumbnail
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/shlwapi.def b/mingw-w64-crt/lib64/shlwapi.def
index dbf6be3..47508c3 100644
--- a/mingw-w64-crt/lib64/shlwapi.def
+++ b/mingw-w64-crt/lib64/shlwapi.def
@@ -1,323 +1,323 @@
-; 
-; Exports of file SHLWAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SHLWAPI.dll
-EXPORTS
-SHAllocShared
-SHLockShared
-SHUnlockShared
-SHFreeShared
-GetAcceptLanguagesA
-GetAcceptLanguagesW
-SHCreateThread
-IsCharSpaceW
-StrCmpCA
-StrCmpCW
-StrCmpICA
-StrCmpICW
-AssocCreate
-SHLoadIndirectString
-SHGetViewStatePropertyBag
-DelayLoadFailureHook
-IsInternetESCEnabled
-AssocGetPerceivedType
-AssocIsDangerous
-AssocQueryKeyA
-AssocQueryKeyW
-AssocQueryStringA
-AssocQueryStringByKeyA
-AssocQueryStringByKeyW
-AssocQueryStringW
-ChrCmpIA
-ChrCmpIW
-ColorAdjustLuma
-ColorHLSToRGB
-ColorRGBToHLS
-DllGetVersion
-GetMenuPosFromID
-HashData
-IntlStrEqWorkerA
-IntlStrEqWorkerW
-IsCharSpaceA
-PathAddBackslashA
-PathAddBackslashW
-PathAddExtensionA
-PathAddExtensionW
-PathAppendA
-PathAppendW
-PathBuildRootA
-PathBuildRootW
-PathCanonicalizeA
-PathCanonicalizeW
-PathCombineA
-PathCombineW
-PathCommonPrefixA
-PathCommonPrefixW
-PathCompactPathA
-PathCompactPathExA
-PathCompactPathExW
-PathCompactPathW
-PathCreateFromUrlA
-PathCreateFromUrlW
-PathFileExistsA
-PathFileExistsW
-PathFindExtensionA
-PathFindExtensionW
-PathFindFileNameA
-PathFindFileNameW
-PathFindNextComponentA
-PathFindNextComponentW
-PathFindOnPathA
-PathFindOnPathW
-PathFindSuffixArrayA
-PathFindSuffixArrayW
-PathGetArgsA
-PathGetArgsW
-PathGetCharTypeA
-PathGetCharTypeW
-PathGetDriveNumberA
-PathGetDriveNumberW
-PathIsContentTypeA
-PathIsContentTypeW
-PathIsDirectoryA
-PathIsDirectoryEmptyA
-PathIsDirectoryEmptyW
-PathIsDirectoryW
-PathIsFileSpecA
-PathIsFileSpecW
-PathIsLFNFileSpecA
-PathIsLFNFileSpecW
-PathIsNetworkPathA
-PathIsNetworkPathW
-PathIsPrefixA
-PathIsPrefixW
-PathIsRelativeA
-PathIsRelativeW
-PathIsRootA
-PathIsRootW
-PathIsSameRootA
-PathIsSameRootW
-PathIsSystemFolderA
-PathIsSystemFolderW
-PathIsUNCA
-PathIsUNCServerA
-PathIsUNCServerShareA
-PathIsUNCServerShareW
-PathIsUNCServerW
-PathIsUNCW
-PathIsURLA
-PathIsURLW
-PathMakePrettyA
-PathMakePrettyW
-PathMakeSystemFolderA
-PathMakeSystemFolderW
-PathMatchSpecA
-PathMatchSpecW
-PathParseIconLocationA
-PathParseIconLocationW
-PathQuoteSpacesA
-PathQuoteSpacesW
-PathRelativePathToA
-PathRelativePathToW
-PathRemoveArgsA
-PathRemoveArgsW
-PathRemoveBackslashA
-PathRemoveBackslashW
-PathRemoveBlanksA
-PathRemoveBlanksW
-PathRemoveExtensionA
-PathRemoveExtensionW
-PathRemoveFileSpecA
-PathRemoveFileSpecW
-PathRenameExtensionA
-PathRenameExtensionW
-PathSearchAndQualifyA
-PathSearchAndQualifyW
-PathSetDlgItemPathA
-PathSetDlgItemPathW
-PathSkipRootA
-PathSkipRootW
-PathStripPathA
-PathStripPathW
-PathStripToRootA
-PathStripToRootW
-PathUnExpandEnvStringsA
-PathUnExpandEnvStringsW
-PathUndecorateA
-PathUndecorateW
-PathUnmakeSystemFolderA
-PathUnmakeSystemFolderW
-PathUnquoteSpacesA
-PathUnquoteSpacesW
-SHAutoComplete
-SHCopyKeyA
-SHCopyKeyW
-SHCreateShellPalette
-SHCreateStreamOnFileA
-SHCreateStreamOnFileEx
-SHCreateStreamOnFileW
-SHCreateStreamWrapper
-SHCreateThreadRef
-SHDeleteEmptyKeyA
-SHDeleteEmptyKeyW
-SHDeleteKeyA
-SHDeleteKeyW
-SHDeleteOrphanKeyA
-SHDeleteOrphanKeyW
-SHDeleteValueA
-SHDeleteValueW
-SHEnumKeyExA
-SHEnumKeyExW
-SHEnumValueA
-SHEnumValueW
-SHGetInverseCMAP
-SHGetThreadRef
-SHGetValueA
-SHGetValueW
-SHIsLowMemoryMachine
-SHOpenRegStream2A
-SHOpenRegStream2W
-SHOpenRegStreamA
-SHOpenRegStreamW
-SHQueryInfoKeyA
-SHQueryInfoKeyW
-SHQueryValueExA
-SHQueryValueExW
-SHRegCloseUSKey
-SHRegCreateUSKeyA
-SHRegCreateUSKeyW
-SHRegDeleteEmptyUSKeyA
-SHRegDeleteEmptyUSKeyW
-SHRegDeleteUSValueA
-SHRegDeleteUSValueW
-SHRegDuplicateHKey
-SHRegEnumUSKeyA
-SHRegEnumUSKeyW
-SHRegEnumUSValueA
-SHRegEnumUSValueW
-SHRegGetBoolUSValueA
-SHRegGetBoolUSValueW
-SHRegGetPathA
-SHRegGetPathW
-SHRegGetUSValueA
-SHRegGetUSValueW
-SHRegGetValueA
-SHRegGetValueW
-SHRegOpenUSKeyA
-SHRegOpenUSKeyW
-SHRegQueryInfoUSKeyA
-SHRegQueryInfoUSKeyW
-SHRegQueryUSValueA
-SHRegQueryUSValueW
-SHRegSetPathA
-SHRegSetPathW
-SHRegSetUSValueA
-SHRegSetUSValueW
-SHRegWriteUSValueA
-SHRegWriteUSValueW
-SHRegisterValidateTemplate
-SHReleaseThreadRef
-SHSetThreadRef
-SHSetValueA
-SHSetValueW
-SHSkipJunction
-SHStrDupA
-SHStrDupW
-StrCSpnA
-StrCSpnIA
-StrCSpnIW
-StrCSpnW
-StrCatBuffA
-StrCatBuffW
-StrCatChainW
-StrCatW
-StrChrA
-StrChrIA
-StrChrIW
-StrChrNIW
-StrChrNW
-StrChrW
-StrCmpIW
-StrCmpLogicalW
-StrCmpNA
-StrCmpNIA
-StrCmpNIW
-StrCmpNW
-StrCmpW
-StrCpyNW
-StrCpyW
-StrDupA
-StrDupW
-StrFormatByteSize64A
-StrFormatByteSizeA
-StrFormatByteSizeW
-StrFormatKBSizeA
-StrFormatKBSizeW
-StrFromTimeIntervalA
-StrFromTimeIntervalW
-StrIsIntlEqualA
-StrIsIntlEqualW
-StrNCatA
-StrNCatW
-StrPBrkA
-StrPBrkW
-StrRChrA
-StrRChrIA
-StrRChrIW
-StrRChrW
-StrRStrIA
-StrRStrIW
-StrRetToBSTR
-StrRetToBufA
-StrRetToBufW
-StrRetToStrA
-StrRetToStrW
-StrSpnA
-StrSpnW
-StrStrA
-StrStrIA
-StrStrIW
-StrStrNIW
-StrStrNW
-StrStrW
-StrToInt64ExA
-StrToInt64ExW
-StrToIntA
-StrToIntExA
-StrToIntExW
-StrToIntW
-StrTrimA
-StrTrimW
-UrlApplySchemeA
-UrlApplySchemeW
-UrlCanonicalizeA
-UrlCanonicalizeW
-UrlCombineA
-UrlCombineW
-UrlCompareA
-UrlCompareW
-UrlCreateFromPathA
-UrlCreateFromPathW
-UrlEscapeA
-UrlEscapeW
-UrlGetLocationA
-UrlGetLocationW
-UrlGetPartA
-UrlGetPartW
-UrlHashA
-UrlHashW
-UrlIsA
-UrlIsNoHistoryA
-UrlIsNoHistoryW
-UrlIsOpaqueA
-UrlIsOpaqueW
-UrlIsW
-UrlUnescapeA
-UrlUnescapeW
-wnsprintfA
-wnsprintfW
-wvnsprintfA
-wvnsprintfW
+; 
+; Exports of file SHLWAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SHLWAPI.dll
+EXPORTS
+SHAllocShared
+SHLockShared
+SHUnlockShared
+SHFreeShared
+GetAcceptLanguagesA
+GetAcceptLanguagesW
+SHCreateThread
+IsCharSpaceW
+StrCmpCA
+StrCmpCW
+StrCmpICA
+StrCmpICW
+AssocCreate
+SHLoadIndirectString
+SHGetViewStatePropertyBag
+DelayLoadFailureHook
+IsInternetESCEnabled
+AssocGetPerceivedType
+AssocIsDangerous
+AssocQueryKeyA
+AssocQueryKeyW
+AssocQueryStringA
+AssocQueryStringByKeyA
+AssocQueryStringByKeyW
+AssocQueryStringW
+ChrCmpIA
+ChrCmpIW
+ColorAdjustLuma
+ColorHLSToRGB
+ColorRGBToHLS
+DllGetVersion
+GetMenuPosFromID
+HashData
+IntlStrEqWorkerA
+IntlStrEqWorkerW
+IsCharSpaceA
+PathAddBackslashA
+PathAddBackslashW
+PathAddExtensionA
+PathAddExtensionW
+PathAppendA
+PathAppendW
+PathBuildRootA
+PathBuildRootW
+PathCanonicalizeA
+PathCanonicalizeW
+PathCombineA
+PathCombineW
+PathCommonPrefixA
+PathCommonPrefixW
+PathCompactPathA
+PathCompactPathExA
+PathCompactPathExW
+PathCompactPathW
+PathCreateFromUrlA
+PathCreateFromUrlW
+PathFileExistsA
+PathFileExistsW
+PathFindExtensionA
+PathFindExtensionW
+PathFindFileNameA
+PathFindFileNameW
+PathFindNextComponentA
+PathFindNextComponentW
+PathFindOnPathA
+PathFindOnPathW
+PathFindSuffixArrayA
+PathFindSuffixArrayW
+PathGetArgsA
+PathGetArgsW
+PathGetCharTypeA
+PathGetCharTypeW
+PathGetDriveNumberA
+PathGetDriveNumberW
+PathIsContentTypeA
+PathIsContentTypeW
+PathIsDirectoryA
+PathIsDirectoryEmptyA
+PathIsDirectoryEmptyW
+PathIsDirectoryW
+PathIsFileSpecA
+PathIsFileSpecW
+PathIsLFNFileSpecA
+PathIsLFNFileSpecW
+PathIsNetworkPathA
+PathIsNetworkPathW
+PathIsPrefixA
+PathIsPrefixW
+PathIsRelativeA
+PathIsRelativeW
+PathIsRootA
+PathIsRootW
+PathIsSameRootA
+PathIsSameRootW
+PathIsSystemFolderA
+PathIsSystemFolderW
+PathIsUNCA
+PathIsUNCServerA
+PathIsUNCServerShareA
+PathIsUNCServerShareW
+PathIsUNCServerW
+PathIsUNCW
+PathIsURLA
+PathIsURLW
+PathMakePrettyA
+PathMakePrettyW
+PathMakeSystemFolderA
+PathMakeSystemFolderW
+PathMatchSpecA
+PathMatchSpecW
+PathParseIconLocationA
+PathParseIconLocationW
+PathQuoteSpacesA
+PathQuoteSpacesW
+PathRelativePathToA
+PathRelativePathToW
+PathRemoveArgsA
+PathRemoveArgsW
+PathRemoveBackslashA
+PathRemoveBackslashW
+PathRemoveBlanksA
+PathRemoveBlanksW
+PathRemoveExtensionA
+PathRemoveExtensionW
+PathRemoveFileSpecA
+PathRemoveFileSpecW
+PathRenameExtensionA
+PathRenameExtensionW
+PathSearchAndQualifyA
+PathSearchAndQualifyW
+PathSetDlgItemPathA
+PathSetDlgItemPathW
+PathSkipRootA
+PathSkipRootW
+PathStripPathA
+PathStripPathW
+PathStripToRootA
+PathStripToRootW
+PathUnExpandEnvStringsA
+PathUnExpandEnvStringsW
+PathUndecorateA
+PathUndecorateW
+PathUnmakeSystemFolderA
+PathUnmakeSystemFolderW
+PathUnquoteSpacesA
+PathUnquoteSpacesW
+SHAutoComplete
+SHCopyKeyA
+SHCopyKeyW
+SHCreateShellPalette
+SHCreateStreamOnFileA
+SHCreateStreamOnFileEx
+SHCreateStreamOnFileW
+SHCreateStreamWrapper
+SHCreateThreadRef
+SHDeleteEmptyKeyA
+SHDeleteEmptyKeyW
+SHDeleteKeyA
+SHDeleteKeyW
+SHDeleteOrphanKeyA
+SHDeleteOrphanKeyW
+SHDeleteValueA
+SHDeleteValueW
+SHEnumKeyExA
+SHEnumKeyExW
+SHEnumValueA
+SHEnumValueW
+SHGetInverseCMAP
+SHGetThreadRef
+SHGetValueA
+SHGetValueW
+SHIsLowMemoryMachine
+SHOpenRegStream2A
+SHOpenRegStream2W
+SHOpenRegStreamA
+SHOpenRegStreamW
+SHQueryInfoKeyA
+SHQueryInfoKeyW
+SHQueryValueExA
+SHQueryValueExW
+SHRegCloseUSKey
+SHRegCreateUSKeyA
+SHRegCreateUSKeyW
+SHRegDeleteEmptyUSKeyA
+SHRegDeleteEmptyUSKeyW
+SHRegDeleteUSValueA
+SHRegDeleteUSValueW
+SHRegDuplicateHKey
+SHRegEnumUSKeyA
+SHRegEnumUSKeyW
+SHRegEnumUSValueA
+SHRegEnumUSValueW
+SHRegGetBoolUSValueA
+SHRegGetBoolUSValueW
+SHRegGetPathA
+SHRegGetPathW
+SHRegGetUSValueA
+SHRegGetUSValueW
+SHRegGetValueA
+SHRegGetValueW
+SHRegOpenUSKeyA
+SHRegOpenUSKeyW
+SHRegQueryInfoUSKeyA
+SHRegQueryInfoUSKeyW
+SHRegQueryUSValueA
+SHRegQueryUSValueW
+SHRegSetPathA
+SHRegSetPathW
+SHRegSetUSValueA
+SHRegSetUSValueW
+SHRegWriteUSValueA
+SHRegWriteUSValueW
+SHRegisterValidateTemplate
+SHReleaseThreadRef
+SHSetThreadRef
+SHSetValueA
+SHSetValueW
+SHSkipJunction
+SHStrDupA
+SHStrDupW
+StrCSpnA
+StrCSpnIA
+StrCSpnIW
+StrCSpnW
+StrCatBuffA
+StrCatBuffW
+StrCatChainW
+StrCatW
+StrChrA
+StrChrIA
+StrChrIW
+StrChrNIW
+StrChrNW
+StrChrW
+StrCmpIW
+StrCmpLogicalW
+StrCmpNA
+StrCmpNIA
+StrCmpNIW
+StrCmpNW
+StrCmpW
+StrCpyNW
+StrCpyW
+StrDupA
+StrDupW
+StrFormatByteSize64A
+StrFormatByteSizeA
+StrFormatByteSizeW
+StrFormatKBSizeA
+StrFormatKBSizeW
+StrFromTimeIntervalA
+StrFromTimeIntervalW
+StrIsIntlEqualA
+StrIsIntlEqualW
+StrNCatA
+StrNCatW
+StrPBrkA
+StrPBrkW
+StrRChrA
+StrRChrIA
+StrRChrIW
+StrRChrW
+StrRStrIA
+StrRStrIW
+StrRetToBSTR
+StrRetToBufA
+StrRetToBufW
+StrRetToStrA
+StrRetToStrW
+StrSpnA
+StrSpnW
+StrStrA
+StrStrIA
+StrStrIW
+StrStrNIW
+StrStrNW
+StrStrW
+StrToInt64ExA
+StrToInt64ExW
+StrToIntA
+StrToIntExA
+StrToIntExW
+StrToIntW
+StrTrimA
+StrTrimW
+UrlApplySchemeA
+UrlApplySchemeW
+UrlCanonicalizeA
+UrlCanonicalizeW
+UrlCombineA
+UrlCombineW
+UrlCompareA
+UrlCompareW
+UrlCreateFromPathA
+UrlCreateFromPathW
+UrlEscapeA
+UrlEscapeW
+UrlGetLocationA
+UrlGetLocationW
+UrlGetPartA
+UrlGetPartW
+UrlHashA
+UrlHashW
+UrlIsA
+UrlIsNoHistoryA
+UrlIsNoHistoryW
+UrlIsOpaqueA
+UrlIsOpaqueW
+UrlIsW
+UrlUnescapeA
+UrlUnescapeW
+wnsprintfA
+wnsprintfW
+wvnsprintfA
+wvnsprintfW
diff --git a/mingw-w64-crt/lib64/shmedia.def b/mingw-w64-crt/lib64/shmedia.def
index 48f19d1..fe023ad 100644
--- a/mingw-w64-crt/lib64/shmedia.def
+++ b/mingw-w64-crt/lib64/shmedia.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SHMEDIA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SHMEDIA.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SHMEDIA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SHMEDIA.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/shscrap.def b/mingw-w64-crt/lib64/shscrap.def
index cbcf421..8f1a66c 100644
--- a/mingw-w64-crt/lib64/shscrap.def
+++ b/mingw-w64-crt/lib64/shscrap.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file SHSCRAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SHSCRAP.dll
-EXPORTS
-Scrap_CreateFromDataObject
-DllCanUnloadNow
-DllGetClassObject
-OpenScrap_RunDLL
-OpenScrap_RunDLLA
-OpenScrap_RunDLLW
+; 
+; Exports of file SHSCRAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SHSCRAP.dll
+EXPORTS
+Scrap_CreateFromDataObject
+DllCanUnloadNow
+DllGetClassObject
+OpenScrap_RunDLL
+OpenScrap_RunDLLA
+OpenScrap_RunDLLW
diff --git a/mingw-w64-crt/lib64/shsvcs.def b/mingw-w64-crt/lib64/shsvcs.def
index 894a178..a1b7c9c 100644
--- a/mingw-w64-crt/lib64/shsvcs.def
+++ b/mingw-w64-crt/lib64/shsvcs.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file SHSVCS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SHSVCS.dll
-EXPORTS
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-HardwareDetectionServiceMain
-ThemeServiceMain
-CreateHardwareEventMoniker
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file SHSVCS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SHSVCS.dll
+EXPORTS
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+HardwareDetectionServiceMain
+ThemeServiceMain
+CreateHardwareEventMoniker
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/sigtab.def b/mingw-w64-crt/lib64/sigtab.def
index 54eaf9f..1a171d8 100644
--- a/mingw-w64-crt/lib64/sigtab.def
+++ b/mingw-w64-crt/lib64/sigtab.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file SIGTAB.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SIGTAB.DLL
-EXPORTS
-DriverSigningDialog
+; 
+; Exports of file SIGTAB.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SIGTAB.DLL
+EXPORTS
+DriverSigningDialog
diff --git a/mingw-w64-crt/lib64/simptcp.def b/mingw-w64-crt/lib64/simptcp.def
index a9b9a76..1d975e8 100644
--- a/mingw-w64-crt/lib64/simptcp.def
+++ b/mingw-w64-crt/lib64/simptcp.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file simptcp.exe
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY simptcp.exe
-EXPORTS
-ServiceEntry
+; 
+; Exports of file simptcp.exe
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY simptcp.exe
+EXPORTS
+ServiceEntry
diff --git a/mingw-w64-crt/lib64/sisbkup.def b/mingw-w64-crt/lib64/sisbkup.def
index b3a6896..508e699 100644
--- a/mingw-w64-crt/lib64/sisbkup.def
+++ b/mingw-w64-crt/lib64/sisbkup.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file sisbkup.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sisbkup.dll
-EXPORTS
-SisCSFilesToBackupForLink
-SisCreateBackupStructure
-SisCreateRestoreStructure
-SisFreeAllocatedMemory
-SisFreeBackupStructure
-SisFreeRestoreStructure
-SisRestoredCommonStoreFile
-SisRestoredLink
+; 
+; Exports of file sisbkup.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sisbkup.dll
+EXPORTS
+SisCSFilesToBackupForLink
+SisCreateBackupStructure
+SisCreateRestoreStructure
+SisFreeAllocatedMemory
+SisFreeBackupStructure
+SisFreeRestoreStructure
+SisRestoredCommonStoreFile
+SisRestoredLink
diff --git a/mingw-w64-crt/lib64/skdll.def b/mingw-w64-crt/lib64/skdll.def
index 89bba27..6f86073 100644
--- a/mingw-w64-crt/lib64/skdll.def
+++ b/mingw-w64-crt/lib64/skdll.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file SKDLL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SKDLL.dll
-EXPORTS
-SKEY_SystemParametersInfo
+; 
+; Exports of file SKDLL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SKDLL.dll
+EXPORTS
+SKEY_SystemParametersInfo
diff --git a/mingw-w64-crt/lib64/slayerxp.def b/mingw-w64-crt/lib64/slayerxp.def
index e2d7432..e3a71b0 100644
--- a/mingw-w64-crt/lib64/slayerxp.def
+++ b/mingw-w64-crt/lib64/slayerxp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SlayerXP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SlayerXP.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SlayerXP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SlayerXP.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/slbcsp.def b/mingw-w64-crt/lib64/slbcsp.def
index b6b269c..650f7b9 100644
--- a/mingw-w64-crt/lib64/slbcsp.def
+++ b/mingw-w64-crt/lib64/slbcsp.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file SLBCSP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SLBCSP.dll
-EXPORTS
-CPAcquireContext
-CPSetHashParam
-CPSetKeyParam
-CPSetProvParam
-CPCreateHash
-CPDecrypt
-CPDeriveKey
-CPDestroyHash
-CPDestroyKey
-CPDuplicateHash
-CPDuplicateKey
-CPEncrypt
-CPExportKey
-CPGenKey
-CPGenRandom
-CPGetHashParam
-CPGetKeyParam
-CPGetProvParam
-CPGetUserKey
-CPHashData
-CPHashSessionKey
-CPImportKey
-CPReleaseContext
-CPSignHash
-CPVerifySignature
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SLBCSP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SLBCSP.dll
+EXPORTS
+CPAcquireContext
+CPSetHashParam
+CPSetKeyParam
+CPSetProvParam
+CPCreateHash
+CPDecrypt
+CPDeriveKey
+CPDestroyHash
+CPDestroyKey
+CPDuplicateHash
+CPDuplicateKey
+CPEncrypt
+CPExportKey
+CPGenKey
+CPGenRandom
+CPGetHashParam
+CPGetKeyParam
+CPGetProvParam
+CPGetUserKey
+CPHashData
+CPHashSessionKey
+CPImportKey
+CPReleaseContext
+CPSignHash
+CPVerifySignature
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/slbiop.def b/mingw-w64-crt/lib64/slbiop.def
index f7b97e5..c39992c 100644
--- a/mingw-w64-crt/lib64/slbiop.def
+++ b/mingw-w64-crt/lib64/slbiop.def
@@ -1,877 +1,877 @@
-; 
-; Exports of file SlbIop.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SlbIop.dll
-EXPORTS
-; public: __cdecl scu::ExcTemplate<2,unsigned long>::ExcTemplate<2,unsigned long>(class ExcTemplate<2,unsigned long>::ExcTemplate<2,unsigned long> const & __ptr64) __ptr64
-??0?$ExcTemplate@$01K@scu@@QEAA@AEBV01@@Z
-; public: __cdecl scu::ExcTemplate<2,unsigned long>::ExcTemplate<2,unsigned long>(unsigned long) __ptr64
-??0?$ExcTemplate@$01K@scu@@QEAA@K@Z
-; public: __cdecl scu::SecureArray<char>::SecureArray<char>(class SecureArray<char>::SecureArray<char> const & __ptr64) __ptr64
-??0?$SecureArray@D@scu@@QEAA@AEBV01@@Z
-; public: __cdecl scu::SecureArray<char>::SecureArray<char>(char * __ptr64,unsigned __int64) __ptr64
-??0?$SecureArray@D@scu@@QEAA@PEAD_K@Z
-; public: __cdecl scu::SecureArray<char>::SecureArray<char>(char const * __ptr64,unsigned __int64) __ptr64
-??0?$SecureArray@D@scu@@QEAA@PEBD_K@Z
-; public: __cdecl scu::SecureArray<char>::SecureArray<char>(void) __ptr64
-??0?$SecureArray@D@scu@@QEAA@XZ
-; public: __cdecl scu::SecureArray<char>::SecureArray<char>(unsigned __int64) __ptr64
-??0?$SecureArray@D@scu@@QEAA@_K@Z
-; public: __cdecl scu::SecureArray<char>::SecureArray<char>(unsigned __int64,char const & __ptr64) __ptr64
-??0?$SecureArray@D@scu@@QEAA@_KAEBD@Z
-; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(class SecureArray<unsigned char>::SecureArray<unsigned char> const & __ptr64) __ptr64
-??0?$SecureArray@E@scu@@QEAA@AEBV01@@Z
-; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(unsigned char * __ptr64,unsigned __int64) __ptr64
-??0?$SecureArray@E@scu@@QEAA@PEAE_K@Z
-; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(unsigned char const * __ptr64,unsigned __int64) __ptr64
-??0?$SecureArray@E@scu@@QEAA@PEBE_K@Z
-; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(void) __ptr64
-??0?$SecureArray@E@scu@@QEAA@XZ
-; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(unsigned __int64) __ptr64
-??0?$SecureArray@E@scu@@QEAA@_K@Z
-; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(unsigned __int64,unsigned char const & __ptr64) __ptr64
-??0?$SecureArray@E@scu@@QEAA@_KAEBE@Z
-; public: __cdecl std::auto_ptr<class iop::CSharedMarker>::auto_ptr<class iop::CSharedMarker>(class auto_ptr<class iop::CSharedMarker>::auto_ptr<class iop::CSharedMarker> const & __ptr64) __ptr64
-??0?$auto_ptr@VCSharedMarker@iop@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::auto_ptr<class iop::CSharedMarker>::auto_ptr<class iop::CSharedMarker>(class iop::CSharedMarker * __ptr64) __ptr64
-??0?$auto_ptr@VCSharedMarker@iop@@@std@@QEAA@PEAVCSharedMarker@iop@@@Z
-; public: __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::auto_ptr<class iop::RMHangProcDeathSynchObjects>(class auto_ptr<class iop::RMHangProcDeathSynchObjects>::auto_ptr<class iop::RMHangProcDeathSynchObjects> const & __ptr64) __ptr64
-??0?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::auto_ptr<class iop::RMHangProcDeathSynchObjects>(class iop::RMHangProcDeathSynchObjects * __ptr64) __ptr64
-??0?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAA@PEAVRMHangProcDeathSynchObjects@iop@@@Z
-; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > const & __ptr64) __ptr64
-??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::allocator<class iop::FilePathComponent> const & __ptr64) __ptr64
-??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@AEBV?$allocator@VFilePathComponent@iop@@@1@@Z
-; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(class iop::FilePathComponent const * __ptr64,class iop::FilePathComponent const * __ptr64,class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::allocator<class iop::FilePathComponent> const & __ptr64) __ptr64
-??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@PEBVFilePathComponent@iop@@0AEBV?$allocator@VFilePathComponent@iop@@@1@@Z
-; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::allocator<class iop::FilePathComponent> const & __ptr64) __ptr64
-??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@Vconst_iterator@01@0AEBV?$allocator@VFilePathComponent@iop@@@1@@Z
-; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(unsigned __int64,class iop::FilePathComponent const & __ptr64,class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::allocator<class iop::FilePathComponent> const & __ptr64) __ptr64
-??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@_KAEBVFilePathComponent@iop@@AEBV?$allocator@VFilePathComponent@iop@@@1@@Z
-; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(class vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > const & __ptr64) __ptr64
-??0?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(class vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::allocator<struct iop::EventInfo * __ptr64> const & __ptr64) __ptr64
-??0?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@AEBV?$allocator@PEAUEventInfo@iop@@@1@@Z
-; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,class vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::allocator<struct iop::EventInfo * __ptr64> const & __ptr64) __ptr64
-??0?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@PEBQEAUEventInfo@iop@@0AEBV?$allocator@PEAUEventInfo@iop@@@1@@Z
-; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64,class vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::allocator<struct iop::EventInfo * __ptr64> const & __ptr64) __ptr64
-??0?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@_KAEBQEAUEventInfo@iop@@AEBV?$allocator@PEAUEventInfo@iop@@@1@@Z
-; public: __cdecl iop::CAccessCard::CAccessCard(unsigned __int64,char const * __ptr64,unsigned __int64,unsigned long) __ptr64
-??0CAccessCard@iop@@QEAA@_KPEBD0K@Z
-; public: __cdecl iop::CCryptoCard::CCryptoCard(unsigned __int64,char const * __ptr64,unsigned __int64,unsigned long) __ptr64
-??0CCryptoCard@iop@@QEAA@_KPEBD0K@Z
-; public: __cdecl iop::CIOP::CIOP(void) __ptr64
-??0CIOP@iop@@QEAA@XZ
-; public: __cdecl iop::CIOPCriticalSection::CIOPCriticalSection(class CIOPCriticalSection::CIOPLock * __ptr64) __ptr64
-??0CIOPCriticalSection@iop@@QEAA@PEAVCIOPLock@1@@Z
-; public: __cdecl iop::CIOPLock::CIOPLock(char const * __ptr64) __ptr64
-??0CIOPLock@iop@@QEAA@PEBD@Z
-; public: __cdecl iop::CIOPMutex::CIOPMutex(class CIOPMutex::CIOPLock * __ptr64) __ptr64
-??0CIOPMutex@iop@@QEAA@PEAVCIOPLock@1@@Z
-; public: __cdecl iop::CLockWrap::CLockWrap(class CLockWrap::CIOPLock * __ptr64) __ptr64
-??0CLockWrap@iop@@QEAA@PEAVCIOPLock@1@@Z
-; public: __cdecl iop::CMarker::CMarker(class CMarker::CMarker const & __ptr64) __ptr64
-??0CMarker@iop@@QEAA@AEBV01@@Z
-; public: __cdecl iop::CMarker::CMarker(enum CMarker::CMarker::MarkerType const & __ptr64) __ptr64
-??0CMarker@iop@@QEAA@AEBW4MarkerType@01@@Z
-; public: __cdecl iop::CMarker::CMarker(enum CMarker::CMarker::MarkerType,struct _GUID const & __ptr64,__int64 const & __ptr64) __ptr64
-??0CMarker@iop@@QEAA@W4MarkerType@01@AEBU_GUID@@AEB_J@Z
-; public: __cdecl iop::CPrivateKeyBlob::CPrivateKeyBlob(class CPrivateKeyBlob::CPrivateKeyBlob const & __ptr64) __ptr64
-??0CPrivateKeyBlob@iop@@QEAA@AEBV01@@Z
-; public: __cdecl iop::CPrivateKeyBlob::CPrivateKeyBlob(void) __ptr64
-??0CPrivateKeyBlob@iop@@QEAA@XZ
-; public: __cdecl iop::CPublicKeyBlob::CPublicKeyBlob(class CPublicKeyBlob::CPublicKeyBlob const & __ptr64) __ptr64
-??0CPublicKeyBlob@iop@@QEAA@AEBV01@@Z
-; public: __cdecl iop::CPublicKeyBlob::CPublicKeyBlob(void) __ptr64
-??0CPublicKeyBlob@iop@@QEAA@XZ
-; public: __cdecl iop::CSCardLock::CSCardLock(class CSCardLock::CIOPLock * __ptr64) __ptr64
-??0CSCardLock@iop@@QEAA@PEAVCIOPLock@1@@Z
-; public: __cdecl iop::CSmartCard::CSmartCard(unsigned __int64,char const * __ptr64,unsigned __int64,unsigned long) __ptr64
-??0CSmartCard@iop@@QEAA@_KPEBD0K@Z
-; public: __cdecl iop::CSmartCard::Exception::Exception(class CSmartCard::Exception::Exception const & __ptr64) __ptr64
-??0Exception@CSmartCard@iop@@QEAA@AEBV012@@Z
-; public: __cdecl iop::CSmartCard::Exception::Exception(enum CSmartCard::Exception::CauseCode,unsigned char,unsigned char,unsigned short) __ptr64
-??0Exception@CSmartCard@iop@@QEAA@W4CauseCode@12@EEG@Z
-; protected: __cdecl scu::Exception::Exception(enum Exception::Exception::FacilityCode) __ptr64
-??0Exception@scu@@IEAA@W4FacilityCode@01@@Z
-; public: __cdecl scu::Exception::Exception(class Exception::Exception const & __ptr64) __ptr64
-??0Exception@scu@@QEAA@AEBV01@@Z
-; public: __cdecl iop::FilePath::FilePath(class FilePath::FilePath const & __ptr64) __ptr64
-??0FilePath@iop@@QEAA@AEBV01@@Z
-; public: __cdecl iop::FilePath::FilePath(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >) __ptr64
-??0FilePath@iop@@QEAA@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z
-; public: __cdecl iop::FilePath::FilePath(void) __ptr64
-??0FilePath@iop@@QEAA@XZ
-; public: __cdecl iop::FilePathComponent::FilePathComponent(class FilePathComponent::FilePathComponent const & __ptr64) __ptr64
-??0FilePathComponent@iop@@QEAA@AEBV01@@Z
-; public: __cdecl iop::FilePathComponent::FilePathComponent(unsigned short) __ptr64
-??0FilePathComponent@iop@@QEAA@G@Z
-; public: __cdecl iop::FilePathComponent::FilePathComponent(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >) __ptr64
-??0FilePathComponent@iop@@QEAA@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z
-; public: __cdecl scu::OsException::OsException(class OsException::OsException const & __ptr64) __ptr64
-??0OsException@scu@@QEAA@AEBV01@@Z
-; public: __cdecl scu::OsException::OsException(long) __ptr64
-??0OsException@scu@@QEAA@J@Z
-; public: __cdecl scu::OsException::OsException(unsigned long) __ptr64
-??0OsException@scu@@QEAA@K@Z
-; public: virtual __cdecl scu::ExcTemplate<2,unsigned long>::~ExcTemplate<2,unsigned long>(void) __ptr64
-??1?$ExcTemplate@$01K@scu@@UEAA@XZ
-; public: __cdecl scu::SecureArray<char>::~SecureArray<char>(void) __ptr64
-??1?$SecureArray@D@scu@@QEAA@XZ
-; public: __cdecl scu::SecureArray<unsigned char>::~SecureArray<unsigned char>(void) __ptr64
-??1?$SecureArray@E@scu@@QEAA@XZ
-; public: __cdecl std::auto_ptr<class iop::CSharedMarker>::~auto_ptr<class iop::CSharedMarker>(void) __ptr64
-??1?$auto_ptr@VCSharedMarker@iop@@@std@@QEAA@XZ
-; public: __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::~auto_ptr<class iop::RMHangProcDeathSynchObjects>(void) __ptr64
-??1?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAA@XZ
-; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::~list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(void) __ptr64
-??1?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@XZ
-; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::~vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(void) __ptr64
-??1?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@XZ
-; public: virtual __cdecl iop::CAccessCard::~CAccessCard(void) __ptr64
-??1CAccessCard@iop@@UEAA@XZ
-; public: virtual __cdecl iop::CCryptoCard::~CCryptoCard(void) __ptr64
-??1CCryptoCard@iop@@UEAA@XZ
-; public: __cdecl iop::CIOP::~CIOP(void) __ptr64
-??1CIOP@iop@@QEAA@XZ
-; public: __cdecl iop::CIOPCriticalSection::~CIOPCriticalSection(void) __ptr64
-??1CIOPCriticalSection@iop@@QEAA@XZ
-; public: virtual __cdecl iop::CIOPLock::~CIOPLock(void) __ptr64
-??1CIOPLock@iop@@UEAA@XZ
-; public: __cdecl iop::CIOPMutex::~CIOPMutex(void) __ptr64
-??1CIOPMutex@iop@@QEAA@XZ
-; public: __cdecl iop::CLockWrap::~CLockWrap(void) __ptr64
-??1CLockWrap@iop@@QEAA@XZ
-; public: virtual __cdecl iop::CMarker::~CMarker(void) __ptr64
-??1CMarker@iop@@UEAA@XZ
-; public: virtual __cdecl iop::CPrivateKeyBlob::~CPrivateKeyBlob(void) __ptr64
-??1CPrivateKeyBlob@iop@@UEAA@XZ
-; public: virtual __cdecl iop::CPublicKeyBlob::~CPublicKeyBlob(void) __ptr64
-??1CPublicKeyBlob@iop@@UEAA@XZ
-; public: __cdecl iop::CSCardLock::~CSCardLock(void) __ptr64
-??1CSCardLock@iop@@QEAA@XZ
-; public: virtual __cdecl iop::CSmartCard::~CSmartCard(void) __ptr64
-??1CSmartCard@iop@@UEAA@XZ
-; public: virtual __cdecl iop::CSmartCard::Exception::~Exception(void) __ptr64
-??1Exception@CSmartCard@iop@@UEAA@XZ
-; public: virtual __cdecl scu::Exception::~Exception(void) __ptr64
-??1Exception@scu@@UEAA@XZ
-; public: virtual __cdecl iop::FilePath::~FilePath(void) __ptr64
-??1FilePath@iop@@UEAA@XZ
-; public: virtual __cdecl iop::FilePathComponent::~FilePathComponent(void) __ptr64
-??1FilePathComponent@iop@@UEAA@XZ
-; public: virtual __cdecl scu::OsException::~OsException(void) __ptr64
-??1OsException@scu@@UEAA@XZ
-; public: class scu::ExcTemplate<2,unsigned long> & __ptr64 __cdecl scu::ExcTemplate<2,unsigned long>::operator=(class scu::ExcTemplate<2,unsigned long> const & __ptr64) __ptr64
-??4?$ExcTemplate@$01K@scu@@QEAAAEAV01@AEBV01@@Z
-; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::operator=(char const & __ptr64) __ptr64
-??4?$SecureArray@D@scu@@QEAAAEAV01@AEBD@Z
-; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::operator=(class scu::SecureArray<char> const & __ptr64) __ptr64
-??4?$SecureArray@D@scu@@QEAAAEAV01@AEBV01@@Z
-; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator=(unsigned char const & __ptr64) __ptr64
-??4?$SecureArray@E@scu@@QEAAAEAV01@AEBE@Z
-; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator=(class scu::SecureArray<unsigned char> const & __ptr64) __ptr64
-??4?$SecureArray@E@scu@@QEAAAEAV01@AEBV01@@Z
-; public: class std::auto_ptr<class iop::CSharedMarker> & __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::operator=(class std::auto_ptr<class iop::CSharedMarker> const & __ptr64) __ptr64
-??4?$auto_ptr@VCSharedMarker@iop@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::auto_ptr<class iop::RMHangProcDeathSynchObjects> & __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::operator=(class std::auto_ptr<class iop::RMHangProcDeathSynchObjects> const & __ptr64) __ptr64
-??4?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::operator=(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > const & __ptr64) __ptr64
-??4?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::operator=(class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > const & __ptr64) __ptr64
-??4?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::CIOP & __ptr64 __cdecl iop::CIOP::operator=(class iop::CIOP const & __ptr64) __ptr64
-??4CIOP@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::CIOPCriticalSection & __ptr64 __cdecl iop::CIOPCriticalSection::operator=(class iop::CIOPCriticalSection const & __ptr64) __ptr64
-??4CIOPCriticalSection@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::CIOPMutex & __ptr64 __cdecl iop::CIOPMutex::operator=(class iop::CIOPMutex const & __ptr64) __ptr64
-??4CIOPMutex@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::CLockWrap & __ptr64 __cdecl iop::CLockWrap::operator=(class iop::CLockWrap const & __ptr64) __ptr64
-??4CLockWrap@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::CMarker & __ptr64 __cdecl iop::CMarker::operator=(class iop::CMarker const & __ptr64) __ptr64
-??4CMarker@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::CPrivateKeyBlob & __ptr64 __cdecl iop::CPrivateKeyBlob::operator=(class iop::CPrivateKeyBlob const & __ptr64) __ptr64
-??4CPrivateKeyBlob@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::CPublicKeyBlob & __ptr64 __cdecl iop::CPublicKeyBlob::operator=(class iop::CPublicKeyBlob const & __ptr64) __ptr64
-??4CPublicKeyBlob@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::CSCardLock & __ptr64 __cdecl iop::CSCardLock::operator=(class iop::CSCardLock const & __ptr64) __ptr64
-??4CSCardLock@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::CSmartCard::Exception & __ptr64 __cdecl iop::CSmartCard::Exception::operator=(class iop::CSmartCard::Exception const & __ptr64) __ptr64
-??4Exception@CSmartCard@iop@@QEAAAEAV012@AEBV012@@Z
-; public: class scu::Exception & __ptr64 __cdecl scu::Exception::operator=(class scu::Exception const & __ptr64) __ptr64
-??4Exception@scu@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::FilePath & __ptr64 __cdecl iop::FilePath::operator=(class iop::FilePath const & __ptr64) __ptr64
-??4FilePath@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class iop::FilePathComponent & __ptr64 __cdecl iop::FilePathComponent::operator=(class iop::FilePathComponent const & __ptr64) __ptr64
-??4FilePathComponent@iop@@QEAAAEAV01@AEBV01@@Z
-; public: class scu::OsException & __ptr64 __cdecl scu::OsException::operator=(class scu::OsException const & __ptr64) __ptr64
-??4OsException@scu@@QEAAAEAV01@AEBV01@@Z
-; bool __cdecl iop::operator==(class iop::CMarker const & __ptr64,class iop::CMarker const & __ptr64)
-??8iop@@YA_NAEBVCMarker@0@0@Z
-; bool __cdecl iop::operator!=(class iop::CMarker const & __ptr64,class iop::CMarker const & __ptr64)
-??9iop@@YA_NAEBVCMarker@0@0@Z
-; public: char & __ptr64 __cdecl scu::SecureArray<char>::operator[](unsigned __int64) __ptr64
-??A?$SecureArray@D@scu@@QEAAAEAD_K@Z
-; public: char const & __ptr64 __cdecl scu::SecureArray<char>::operator[](unsigned __int64)const  __ptr64
-??A?$SecureArray@D@scu@@QEBAAEBD_K@Z
-; public: unsigned char & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator[](unsigned __int64) __ptr64
-??A?$SecureArray@E@scu@@QEAAAEAE_K@Z
-; public: unsigned char const & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator[](unsigned __int64)const  __ptr64
-??A?$SecureArray@E@scu@@QEBAAEBE_K@Z
-; public: struct iop::EventInfo * __ptr64 & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::operator[](unsigned __int64) __ptr64
-??A?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAPEAUEventInfo@iop@@_K@Z
-; public: struct iop::EventInfo * __ptr64 const & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::operator[](unsigned __int64)const  __ptr64
-??A?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAAEBQEAUEventInfo@iop@@_K@Z
-; public: class iop::FilePathComponent & __ptr64 __cdecl iop::FilePath::operator[](unsigned int) __ptr64
-??AFilePath@iop@@QEAAAEAVFilePathComponent@1@I@Z
-; public: class iop::CSharedMarker * __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::operator->(void)const  __ptr64
-??C?$auto_ptr@VCSharedMarker@iop@@@std@@QEBAPEAVCSharedMarker@iop@@XZ
-; public: class iop::RMHangProcDeathSynchObjects * __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::operator->(void)const  __ptr64
-??C?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEBAPEAVRMHangProcDeathSynchObjects@iop@@XZ
-; public: char & __ptr64 __cdecl scu::SecureArray<char>::operator*(void) __ptr64
-??D?$SecureArray@D@scu@@QEAAAEADXZ
-; public: char const & __ptr64 __cdecl scu::SecureArray<char>::operator*(void)const  __ptr64
-??D?$SecureArray@D@scu@@QEBAAEBDXZ
-; public: unsigned char & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator*(void) __ptr64
-??D?$SecureArray@E@scu@@QEAAAEAEXZ
-; public: unsigned char const & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator*(void)const  __ptr64
-??D?$SecureArray@E@scu@@QEBAAEBEXZ
-; public: class iop::CSharedMarker & __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::operator*(void)const  __ptr64
-??D?$auto_ptr@VCSharedMarker@iop@@@std@@QEBAAEAVCSharedMarker@iop@@XZ
-; public: class iop::RMHangProcDeathSynchObjects & __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::operator*(void)const  __ptr64
-??D?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEBAAEAVRMHangProcDeathSynchObjects@iop@@XZ
-; public: class iop::FilePath const & __ptr64 __cdecl iop::FilePath::operator+=(class iop::FilePathComponent) __ptr64
-??YFilePath@iop@@QEAAAEBV01@VFilePathComponent@1@@Z
-; const  scu::ExcTemplate<2,unsigned long>::`vftable'
-??_7?$ExcTemplate@$01K@scu@@6B@
-; const  iop::CAccessCard::`vftable'
-??_7CAccessCard@iop@@6B@
-; const  iop::CCryptoCard::`vftable'
-??_7CCryptoCard@iop@@6B@
-; const  iop::CIOPLock::`vftable'
-??_7CIOPLock@iop@@6B@
-; const  iop::CMarker::`vftable'
-??_7CMarker@iop@@6B@
-; const  iop::CPrivateKeyBlob::`vftable'
-??_7CPrivateKeyBlob@iop@@6B@
-; const  iop::CPublicKeyBlob::`vftable'
-??_7CPublicKeyBlob@iop@@6B@
-; const  iop::CSmartCard::`vftable'
-??_7CSmartCard@iop@@6B@
-; const  iop::CSmartCard::Exception::`vftable'
-??_7Exception@CSmartCard@iop@@6B@
-; const  scu::Exception::`vftable'
-??_7Exception@scu@@6B@
-; const  iop::FilePath::`vftable'
-??_7FilePath@iop@@6B@
-; const  iop::FilePathComponent::`vftable'
-??_7FilePathComponent@iop@@6B@
-; const  scu::OsException::`vftable'
-??_7OsException@scu@@6B@
-; public: void __cdecl std::auto_ptr<class iop::CSharedMarker>::`default constructor closure'(void) __ptr64
-??_F?$auto_ptr@VCSharedMarker@iop@@@std@@QEAAXXZ
-; public: void __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::`default constructor closure'(void) __ptr64
-??_F?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::`default constructor closure'(void) __ptr64
-??_F?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::`default constructor closure'(void) __ptr64
-??_F?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXXZ
-; protected: void __cdecl iop::CCryptoCard::AccessToCryptoACL(bool * __ptr64,struct iop::CryptoACL * __ptr64) __ptr64
-?AccessToCryptoACL@CCryptoCard@iop@@IEAAXPEA_NPEAUCryptoACL@2@@Z
-; public: virtual void __cdecl iop::CAccessCard::BlockApplet(void) __ptr64
-?BlockApplet@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::BlockApplet(void) __ptr64
-?BlockApplet@CSmartCard@iop@@UEAAXXZ
-; public: unsigned long __cdecl scu::ExcTemplate<2,unsigned long>::Cause(void)const  __ptr64
-?Cause@?$ExcTemplate@$01K@scu@@QEBAKXZ
-; public: enum iop::CSmartCard::CauseCode  __cdecl iop::CSmartCard::Exception::Cause(void)const  __ptr64
-?Cause@Exception@CSmartCard@iop@@QEBA?AW4CauseCode@23@XZ
-; public: virtual void __cdecl iop::CAccessCard::ChangeACL(unsigned char const * __ptr64) __ptr64
-?ChangeACL@CAccessCard@iop@@UEAAXPEBE@Z
-; public: virtual void __cdecl iop::CCryptoCard::ChangeACL(unsigned char const * __ptr64) __ptr64
-?ChangeACL@CCryptoCard@iop@@UEAAXPEBE@Z
-; public: virtual void __cdecl iop::CSmartCard::ChangeACL(unsigned char const * __ptr64) __ptr64
-?ChangeACL@CSmartCard@iop@@UEAAXPEBE@Z
-; public: virtual void __cdecl iop::CAccessCard::ChangeCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
-?ChangeCHV@CAccessCard@iop@@UEAAXEPEBE0@Z
-; public: virtual void __cdecl iop::CAccessCard::ChangeCHV(unsigned char,unsigned char const * __ptr64) __ptr64
-?ChangeCHV@CAccessCard@iop@@UEAAXEPEBE@Z
-; public: virtual void __cdecl iop::CCryptoCard::ChangeCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
-?ChangeCHV@CCryptoCard@iop@@UEAAXEPEBE0@Z
-; public: virtual void __cdecl iop::CCryptoCard::ChangeCHV(unsigned char,unsigned char const * __ptr64) __ptr64
-?ChangeCHV@CCryptoCard@iop@@UEAAXEPEBE@Z
-; public: virtual void __cdecl iop::CSmartCard::ChangeCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
-?ChangeCHV@CSmartCard@iop@@UEAAXEPEBE0@Z
-; public: virtual void __cdecl iop::CSmartCard::ChangeCHV(unsigned char,unsigned char const * __ptr64) __ptr64
-?ChangeCHV@CSmartCard@iop@@UEAAXEPEBE@Z
-; public: virtual void __cdecl iop::CAccessCard::ChangeTransportKey(unsigned char const * __ptr64) __ptr64
-?ChangeTransportKey@CAccessCard@iop@@UEAAXPEBE@Z
-; public: virtual void __cdecl iop::CCryptoCard::ChangeTransportKey(unsigned char const * __ptr64) __ptr64
-?ChangeTransportKey@CCryptoCard@iop@@UEAAXPEBE@Z
-; public: virtual void __cdecl iop::CSmartCard::ChangeTransportKey(unsigned char const * __ptr64) __ptr64
-?ChangeTransportKey@CSmartCard@iop@@UEAAXPEBE@Z
-; public: virtual void __cdecl iop::CAccessCard::ChangeUnblockKey(unsigned char,unsigned char const * __ptr64) __ptr64
-?ChangeUnblockKey@CAccessCard@iop@@UEAAXEPEBE@Z
-; public: virtual void __cdecl iop::CCryptoCard::ChangeUnblockKey(unsigned char,unsigned char const * __ptr64) __ptr64
-?ChangeUnblockKey@CCryptoCard@iop@@UEAAXEPEBE@Z
-; public: virtual void __cdecl iop::CSmartCard::ChangeUnblockKey(unsigned char,unsigned char const * __ptr64) __ptr64
-?ChangeUnblockKey@CSmartCard@iop@@UEAAXEPEBE@Z
-; public: class iop::FilePathComponent  __cdecl iop::FilePath::ChopTail(void) __ptr64
-?ChopTail@FilePath@iop@@QEAA?AVFilePathComponent@2@XZ
-; public: unsigned char __cdecl iop::CSmartCard::Exception::Class(void)const  __ptr64
-?Class@Exception@CSmartCard@iop@@QEBAEXZ
-; public: void __cdecl iop::FilePath::Clear(void) __ptr64
-?Clear@FilePath@iop@@QEAAXXZ
-; void __cdecl iop::Clear(class iop::CPrivateKeyBlob & __ptr64)
-?Clear@iop@@YAXAEAVCPrivateKeyBlob@1@@Z
-; void __cdecl iop::Clear(class iop::CPublicKeyBlob & __ptr64)
-?Clear@iop@@YAXAEAVCPublicKeyBlob@1@@Z
-; private: void __cdecl scu::SecureArray<char>::ClearDataStore(void) __ptr64
-?ClearDataStore@?$SecureArray@D@scu@@AEAAXXZ
-; private: void __cdecl scu::SecureArray<unsigned char>::ClearDataStore(void) __ptr64
-?ClearDataStore@?$SecureArray@E@scu@@AEAAXXZ
-; public: virtual class scu::Exception * __ptr64 __cdecl scu::ExcTemplate<2,unsigned long>::Clone(void)const  __ptr64
-?Clone@?$ExcTemplate@$01K@scu@@UEBAPEAVException@2@XZ
-; public: virtual class scu::Exception * __ptr64 __cdecl iop::CSmartCard::Exception::Clone(void)const  __ptr64
-?Clone@Exception@CSmartCard@iop@@UEBAPEAV1scu@@XZ
-; public: virtual class scu::Exception * __ptr64 __cdecl scu::OsException::Clone(void)const  __ptr64
-?Clone@OsException@scu@@UEBAPEAVException@2@XZ
-; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >  __cdecl iop::FilePath::Components(void) __ptr64
-?Components@FilePath@iop@@QEAA?AV?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@XZ
-; public: class iop::CSmartCard * __ptr64 __cdecl iop::CIOP::Connect(char const * __ptr64,bool) __ptr64
-?Connect@CIOP@iop@@QEAAPEAVCSmartCard@2@PEBD_N@Z
-; private: class iop::CSmartCard * __ptr64 __cdecl iop::CIOP::CreateCard(unsigned char const * __ptr64,unsigned long,unsigned __int64,char const * __ptr64,unsigned long) __ptr64
-?CreateCard@CIOP@iop@@AEAAPEAVCSmartCard@2@PEBEK_KPEBDK@Z
-; public: virtual void __cdecl iop::CAccessCard::CreateFileA(struct iop::FILE_HEADER const * __ptr64) __ptr64
-?CreateFileA@CAccessCard@iop@@UEAAXPEBUFILE_HEADER@2@@Z
-; public: virtual void __cdecl iop::CCryptoCard::CreateFileA(struct iop::FILE_HEADER const * __ptr64) __ptr64
-?CreateFileA@CCryptoCard@iop@@UEAAXPEBUFILE_HEADER@2@@Z
-; public: virtual void __cdecl iop::CSmartCard::CreateFileA(struct iop::FILE_HEADER const * __ptr64) __ptr64
-?CreateFileA@CSmartCard@iop@@UEAAXPEBUFILE_HEADER@2@@Z
-; public: struct _RTL_CRITICAL_SECTION * __ptr64 __cdecl iop::CIOPLock::CriticalSection(void) __ptr64
-?CriticalSection@CIOPLock@iop@@QEAAPEAU_RTL_CRITICAL_SECTION@@XZ
-; protected: void __cdecl iop::CCryptoCard::CryptoToAccessACL(unsigned char * __ptr64,unsigned char,unsigned char,unsigned char) __ptr64
-?CryptoToAccessACL@CCryptoCard@iop@@IEAAXPEAEEEE@Z
-; public: void __cdecl iop::CIOPLock::DecrementRefCount(void) __ptr64
-?DecrementRefCount@CIOPLock@iop@@QEAAXXZ
-; protected: virtual void __cdecl iop::CAccessCard::DefaultDispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
-?DefaultDispatchError@CAccessCard@iop@@MEBAXEEG@Z
-; protected: virtual void __cdecl iop::CCryptoCard::DefaultDispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
-?DefaultDispatchError@CCryptoCard@iop@@MEBAXEEG@Z
-; protected: virtual void __cdecl iop::CSmartCard::DefaultDispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
-?DefaultDispatchError@CSmartCard@iop@@MEBAXEEG@Z
-; public: virtual void __cdecl iop::CAccessCard::DeleteApplet(void) __ptr64
-?DeleteApplet@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::DeleteApplet(void) __ptr64
-?DeleteApplet@CSmartCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CAccessCard::DeleteFileA(unsigned short) __ptr64
-?DeleteFileA@CAccessCard@iop@@UEAAXG@Z
-; public: virtual void __cdecl iop::CCryptoCard::DeleteFileA(unsigned short) __ptr64
-?DeleteFileA@CCryptoCard@iop@@UEAAXG@Z
-; public: virtual void __cdecl iop::CSmartCard::DeleteFileA(unsigned short) __ptr64
-?DeleteFileA@CSmartCard@iop@@UEAAXG@Z
-; public: virtual char const * __ptr64 __cdecl scu::ExcTemplate<2,unsigned long>::Description(void)const  __ptr64
-?Description@?$ExcTemplate@$01K@scu@@UEBAPEBDXZ
-; public: virtual char const * __ptr64 __cdecl iop::CSmartCard::Exception::Description(void)const  __ptr64
-?Description@Exception@CSmartCard@iop@@UEBAPEBDXZ
-; public: virtual char const * __ptr64 __cdecl scu::Exception::Description(void)const  __ptr64
-?Description@Exception@scu@@UEBAPEBDXZ
-; public: virtual char const * __ptr64 __cdecl scu::OsException::Description(void)const  __ptr64
-?Description@OsException@scu@@UEBAPEBDXZ
-; public: virtual void __cdecl iop::CAccessCard::Directory(unsigned char,struct iop::FILE_HEADER * __ptr64) __ptr64
-?Directory@CAccessCard@iop@@UEAAXEPEAUFILE_HEADER@2@@Z
-; public: virtual void __cdecl iop::CCryptoCard::Directory(unsigned char,struct iop::FILE_HEADER * __ptr64) __ptr64
-?Directory@CCryptoCard@iop@@UEAAXEPEAUFILE_HEADER@2@@Z
-; public: virtual void __cdecl iop::CSmartCard::Directory(unsigned char,struct iop::FILE_HEADER * __ptr64) __ptr64
-?Directory@CSmartCard@iop@@UEAAXEPEAUFILE_HEADER@2@@Z
-; public: void __cdecl iop::CSmartCard::Dirty(bool) __ptr64
-?Dirty@CSmartCard@iop@@QEAAX_N@Z
-; public: bool __cdecl iop::CSmartCard::Dirty(void)const  __ptr64
-?Dirty@CSmartCard@iop@@QEBA_NXZ
-; protected: virtual void __cdecl iop::CAccessCard::DispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
-?DispatchError@CAccessCard@iop@@MEBAXEEG@Z
-; protected: virtual void __cdecl iop::CCryptoCard::DispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
-?DispatchError@CCryptoCard@iop@@MEBAXEEG@Z
-; protected: virtual void __cdecl iop::CSmartCard::DispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
-?DispatchError@CSmartCard@iop@@MEBAXEEG@Z
-; protected: virtual void __cdecl iop::CAccessCard::DoReadBlock(unsigned short,unsigned char * __ptr64,unsigned char) __ptr64
-?DoReadBlock@CAccessCard@iop@@MEAAXGPEAEE@Z
-; protected: virtual void __cdecl iop::CCryptoCard::DoReadBlock(unsigned short,unsigned char * __ptr64,unsigned char) __ptr64
-?DoReadBlock@CCryptoCard@iop@@MEAAXGPEAEE@Z
-; protected: virtual void __cdecl iop::CAccessCard::DoWriteBlock(unsigned short,unsigned char const * __ptr64,unsigned char) __ptr64
-?DoWriteBlock@CAccessCard@iop@@MEAAXGPEBEE@Z
-; protected: virtual void __cdecl iop::CCryptoCard::DoWriteBlock(unsigned short,unsigned char const * __ptr64,unsigned char) __ptr64
-?DoWriteBlock@CCryptoCard@iop@@MEAAXGPEBEE@Z
-; public: virtual unsigned long __cdecl scu::ExcTemplate<2,unsigned long>::Error(void)const  __ptr64
-?Error@?$ExcTemplate@$01K@scu@@UEBAKXZ
-; public: virtual unsigned long __cdecl iop::CSmartCard::Exception::Error(void)const  __ptr64
-?Error@Exception@CSmartCard@iop@@UEBAKXZ
-; public: virtual void __cdecl iop::CAccessCard::ExecuteInstall(unsigned char const * __ptr64,unsigned char) __ptr64
-?ExecuteInstall@CAccessCard@iop@@UEAAXPEBEE@Z
-; public: virtual void __cdecl iop::CSmartCard::ExecuteInstall(unsigned char const * __ptr64,unsigned char) __ptr64
-?ExecuteInstall@CSmartCard@iop@@UEAAXPEBEE@Z
-; public: virtual void __cdecl iop::CAccessCard::ExecuteMain(void) __ptr64
-?ExecuteMain@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::ExecuteMain(void) __ptr64
-?ExecuteMain@CSmartCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CAccessCard::ExternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
-?ExternalAuth@CAccessCard@iop@@UEAAXW4KeyType@2@EEPEBE@Z
-; public: virtual void __cdecl iop::CCryptoCard::ExternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
-?ExternalAuth@CCryptoCard@iop@@UEAAXW4KeyType@2@EEPEBE@Z
-; public: virtual void __cdecl iop::CSmartCard::ExternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
-?ExternalAuth@CSmartCard@iop@@UEAAXW4KeyType@2@EEPEBE@Z
-; public: enum scu::Exception::FacilityCode  __cdecl scu::Exception::Facility(void)const  __ptr64
-?Facility@Exception@scu@@QEBA?AW4FacilityCode@12@XZ
-; public: void __cdecl iop::CSmartCard::FireEvents(int,unsigned long,unsigned char * __ptr64) __ptr64
-?FireEvents@CSmartCard@iop@@QEAAXHKPEAE@Z
-; protected: unsigned char __cdecl iop::CSmartCard::FormatPath(char * __ptr64,char const * __ptr64) __ptr64
-?FormatPath@CSmartCard@iop@@IEAAEPEADPEBD@Z
-; public: virtual class iop::CPublicKeyBlob  __cdecl iop::CCryptoCard::GenerateKeyPair(unsigned char const * __ptr64,unsigned short,unsigned char,enum iop::KeyType) __ptr64
-?GenerateKeyPair@CCryptoCard@iop@@UEAA?AVCPublicKeyBlob@2@PEBEGEW4KeyType@2@@Z
-; public: virtual class iop::CPublicKeyBlob  __cdecl iop::CSmartCard::GenerateKeyPair(unsigned char const * __ptr64,unsigned short,unsigned char,enum iop::KeyType) __ptr64
-?GenerateKeyPair@CSmartCard@iop@@UEAA?AVCPublicKeyBlob@2@PEBEGEW4KeyType@2@@Z
-; public: virtual void __cdecl iop::CCryptoCard::GetACL(unsigned char * __ptr64) __ptr64
-?GetACL@CCryptoCard@iop@@UEAAXPEAE@Z
-; public: virtual void __cdecl iop::CSmartCard::GetACL(unsigned char * __ptr64) __ptr64
-?GetACL@CSmartCard@iop@@UEAAXPEAE@Z
-; public: virtual void __cdecl iop::CAccessCard::GetChallenge(unsigned long,unsigned char * __ptr64) __ptr64
-?GetChallenge@CAccessCard@iop@@UEAAXKPEAE@Z
-; public: virtual void __cdecl iop::CCryptoCard::GetChallenge(unsigned long,unsigned char * __ptr64) __ptr64
-?GetChallenge@CCryptoCard@iop@@UEAAXKPEAE@Z
-; public: virtual void __cdecl iop::CSmartCard::GetChallenge(unsigned long,unsigned char * __ptr64) __ptr64
-?GetChallenge@CSmartCard@iop@@UEAAXKPEAE@Z
-; public: void __cdecl iop::CSmartCard::GetCurrentDir(char * __ptr64) __ptr64
-?GetCurrentDir@CSmartCard@iop@@QEAAXPEAD@Z
-; public: void __cdecl iop::CSmartCard::GetCurrentFile(char * __ptr64) __ptr64
-?GetCurrentFile@CSmartCard@iop@@QEAAXPEAD@Z
-; public: virtual void __cdecl iop::CSmartCard::GetResponse(unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
-?GetResponse@CSmartCard@iop@@UEAAXEEPEAE@Z
-; public: virtual void __cdecl iop::CAccessCard::GetSerial(unsigned char * __ptr64,unsigned __int64 & __ptr64) __ptr64
-?GetSerial@CAccessCard@iop@@UEAAXPEAEAEA_K@Z
-; public: virtual void __cdecl iop::CCryptoCard::GetSerial(unsigned char * __ptr64,unsigned __int64 & __ptr64) __ptr64
-?GetSerial@CCryptoCard@iop@@UEAAXPEAEAEA_K@Z
-; public: virtual void __cdecl iop::CSmartCard::GetSerial(unsigned char * __ptr64,unsigned __int64 & __ptr64) __ptr64
-?GetSerial@CSmartCard@iop@@UEAAXPEAEAEA_K@Z
-; public: unsigned short __cdecl iop::FilePathComponent::GetShortID(void) __ptr64
-?GetShortID@FilePathComponent@iop@@QEAAGXZ
-; public: void __cdecl iop::CSmartCard::GetState(unsigned long & __ptr64,unsigned long & __ptr64) __ptr64
-?GetState@CSmartCard@iop@@QEAAXAEAK0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl iop::FilePathComponent::GetStringID(void) __ptr64
-?GetStringID@FilePathComponent@iop@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl iop::FilePath::GetStringPath(void) __ptr64
-?GetStringPath@FilePath@iop@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ
-; public: class iop::FilePath  __cdecl iop::FilePath::GreatestCommonPrefix(class iop::FilePath & __ptr64) __ptr64
-?GreatestCommonPrefix@FilePath@iop@@QEAA?AV12@AEAV12@@Z
-; public: bool __cdecl iop::CSmartCard::HasProperty(unsigned short) __ptr64
-?HasProperty@CSmartCard@iop@@QEAA_NG@Z
-; public: class iop::FilePathComponent  __cdecl iop::FilePath::Head(void) __ptr64
-?Head@FilePath@iop@@QEAA?AVFilePathComponent@2@XZ
-; public: void __cdecl iop::CIOPLock::IncrementRefCount(void) __ptr64
-?IncrementRefCount@CIOPLock@iop@@QEAAXXZ
-; public: void __cdecl iop::CIOPLock::Init(class iop::CSmartCard * __ptr64) __ptr64
-?Init@CIOPLock@iop@@QEAAXPEAVCSmartCard@2@@Z
-; public: static void __cdecl iop::CIOP::InitIOPSecurityAttrs(class CSecurityAttributes * __ptr64)
-?InitIOPSecurityAttrs@CIOP@iop@@SAXPEAVCSecurityAttributes@@@Z
-; public: unsigned char __cdecl iop::CSmartCard::Exception::Ins(void)const  __ptr64
-?Ins@Exception@CSmartCard@iop@@QEBAEXZ
-; public: virtual void __cdecl iop::CAccessCard::InternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64,unsigned char * __ptr64) __ptr64
-?InternalAuth@CAccessCard@iop@@UEAAXW4KeyType@2@EEPEBEPEAE@Z
-; public: virtual void __cdecl iop::CCryptoCard::InternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64,unsigned char * __ptr64) __ptr64
-?InternalAuth@CCryptoCard@iop@@UEAAXW4KeyType@2@EEPEBEPEAE@Z
-; public: virtual void __cdecl iop::CSmartCard::InternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64,unsigned char * __ptr64) __ptr64
-?InternalAuth@CSmartCard@iop@@UEAAXW4KeyType@2@EEPEBEPEAE@Z
-; public: bool __cdecl iop::FilePath::IsEmpty(void) __ptr64
-?IsEmpty@FilePath@iop@@QEAA_NXZ
-; public: static void __cdecl iop::CIOP::ListKnownCards(char * __ptr64,int & __ptr64)
-?ListKnownCards@CIOP@iop@@SAXPEADAEAH@Z
-; public: void __cdecl iop::CIOP::ListReaders(char * __ptr64,int & __ptr64) __ptr64
-?ListReaders@CIOP@iop@@QEAAXPEADAEAH@Z
-; public: class iop::CIOPLock * __ptr64 __cdecl iop::CSmartCard::Lock(void) __ptr64
-?Lock@CSmartCard@iop@@QEAAPEAVCIOPLock@2@XZ
-; public: virtual void __cdecl iop::CAccessCard::LogoutAll(void) __ptr64
-?LogoutAll@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CCryptoCard::LogoutAll(void) __ptr64
-?LogoutAll@CCryptoCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::LogoutAll(void) __ptr64
-?LogoutAll@CSmartCard@iop@@UEAAXXZ
-; public: void * __ptr64 __cdecl iop::CIOPLock::MutexHandle(void) __ptr64
-?MutexHandle@CIOPLock@iop@@QEAAPEAXXZ
-; public: unsigned char __cdecl iop::FilePath::NumComponents(void) __ptr64
-?NumComponents@FilePath@iop@@QEAAEXZ
-; private: void __cdecl iop::CSmartCard::ProcessReturnStatus(unsigned char,unsigned char,unsigned short) __ptr64
-?ProcessReturnStatus@CSmartCard@iop@@AEAAXEEG@Z
-; public: virtual void __cdecl scu::ExcTemplate<2,unsigned long>::Raise(void)const  __ptr64
-?Raise@?$ExcTemplate@$01K@scu@@UEBAXXZ
-; public: virtual void __cdecl iop::CSmartCard::Exception::Raise(void)const  __ptr64
-?Raise@Exception@CSmartCard@iop@@UEBAXXZ
-; public: virtual void __cdecl scu::OsException::Raise(void)const  __ptr64
-?Raise@OsException@scu@@UEBAXXZ
-; public: void __cdecl iop::CSmartCard::ReConnect(void) __ptr64
-?ReConnect@CSmartCard@iop@@QEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::ReadBinary(unsigned short,unsigned short,unsigned char * __ptr64) __ptr64
-?ReadBinary@CSmartCard@iop@@UEAAXGGPEAE@Z
-; public: virtual void __cdecl iop::CAccessCard::ReadPublicKey(class iop::CPublicKeyBlob * __ptr64,unsigned char) __ptr64
-?ReadPublicKey@CAccessCard@iop@@UEAAXPEAVCPublicKeyBlob@2@E@Z
-; public: virtual void __cdecl iop::CCryptoCard::ReadPublicKey(class iop::CPublicKeyBlob * __ptr64,unsigned char) __ptr64
-?ReadPublicKey@CCryptoCard@iop@@UEAAXPEAVCPublicKeyBlob@2@E@Z
-; public: virtual void __cdecl iop::CSmartCard::ReadPublicKey(class iop::CPublicKeyBlob * __ptr64,unsigned char) __ptr64
-?ReadPublicKey@CSmartCard@iop@@UEAAXPEAVCPublicKeyBlob@2@E@Z
-; public: virtual void __cdecl iop::CAccessCard::ReadRecord(unsigned char,unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
-?ReadRecord@CAccessCard@iop@@UEAAXEEEPEAE@Z
-; public: virtual void __cdecl iop::CSmartCard::ReadRecord(unsigned char,unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
-?ReadRecord@CSmartCard@iop@@UEAAXEEEPEAE@Z
-; public: long __cdecl iop::CIOPLock::RefCount(void) __ptr64
-?RefCount@CIOPLock@iop@@QEAAJXZ
-; public: static void __cdecl iop::CIOP::RegisterCard(char const * __ptr64,unsigned char const * __ptr64,unsigned char,unsigned char const * __ptr64,unsigned char,unsigned char const * __ptr64,enum iop::cardType)
-?RegisterCard@CIOP@iop@@SAXPEBDPEBEE1E1W4cardType@2@@Z
-; public: static void __cdecl iop::CIOP::RegisterDefaultCards(void)
-?RegisterDefaultCards@CIOP@iop@@SAXXZ
-; public: unsigned long __cdecl iop::CSmartCard::RegisterEvent(void (__cdecl*)(void * __ptr64,int,unsigned long,unsigned char * __ptr64),void * __ptr64) __ptr64
-?RegisterEvent@CSmartCard@iop@@QEAAKP6AXPEAXHKPEAE@Z0@Z
-; protected: void __cdecl iop::CSmartCard::RequireSelect(void) __ptr64
-?RequireSelect@CSmartCard@iop@@IEAAXXZ
-; public: void __cdecl iop::CSmartCard::ResetCard(void) __ptr64
-?ResetCard@CSmartCard@iop@@QEAAXXZ
-; public: virtual void __cdecl iop::CAccessCard::ResetInstance(void) __ptr64
-?ResetInstance@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::ResetInstance(void) __ptr64
-?ResetInstance@CSmartCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CAccessCard::ResetProgram(void) __ptr64
-?ResetProgram@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::ResetProgram(void) __ptr64
-?ResetProgram@CSmartCard@iop@@UEAAXXZ
-; public: void __cdecl iop::CSmartCard::ResetSelect(void) __ptr64
-?ResetSelect@CSmartCard@iop@@QEAAXXZ
-; protected: void __cdecl iop::CSmartCard::ResponseLengthAvailable(unsigned char) __ptr64
-?ResponseLengthAvailable@CSmartCard@iop@@IEAAXE@Z
-; protected: unsigned char __cdecl iop::CSmartCard::ResponseLengthAvailable(void)const  __ptr64
-?ResponseLengthAvailable@CSmartCard@iop@@IEBAEXZ
-; public: static class iop::FilePath  __cdecl iop::FilePath::Root(void)
-?Root@FilePath@iop@@SA?AV12@XZ
-; protected: virtual void __cdecl iop::CAccessCard::Select(unsigned short) __ptr64
-?Select@CAccessCard@iop@@MEAAXG@Z
-; public: virtual void __cdecl iop::CAccessCard::Select(char const * __ptr64,struct iop::FILE_HEADER * __ptr64,bool) __ptr64
-?Select@CAccessCard@iop@@UEAAXPEBDPEAUFILE_HEADER@2@_N@Z
-; protected: virtual void __cdecl iop::CCryptoCard::Select(unsigned short) __ptr64
-?Select@CCryptoCard@iop@@MEAAXG@Z
-; public: virtual void __cdecl iop::CCryptoCard::Select(char const * __ptr64,struct iop::FILE_HEADER * __ptr64,bool) __ptr64
-?Select@CCryptoCard@iop@@UEAAXPEBDPEAUFILE_HEADER@2@_N@Z
-; public: virtual void __cdecl iop::CSmartCard::Select(char const * __ptr64,struct iop::FILE_HEADER * __ptr64,bool) __ptr64
-?Select@CSmartCard@iop@@UEAAXPEBDPEAUFILE_HEADER@2@_N@Z
-; public: virtual void __cdecl iop::CAccessCard::SelectCardlet(unsigned char const * __ptr64,unsigned char) __ptr64
-?SelectCardlet@CAccessCard@iop@@UEAAXPEBEE@Z
-; public: virtual void __cdecl iop::CSmartCard::SelectCardlet(unsigned char const * __ptr64,unsigned char) __ptr64
-?SelectCardlet@CSmartCard@iop@@UEAAXPEBEE@Z
-; public: virtual void __cdecl iop::CAccessCard::SelectLoader(void) __ptr64
-?SelectLoader@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::SelectLoader(void) __ptr64
-?SelectLoader@CSmartCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CAccessCard::SelectParent(void) __ptr64
-?SelectParent@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CCryptoCard::SelectParent(void) __ptr64
-?SelectParent@CCryptoCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::SelectParent(void) __ptr64
-?SelectParent@CSmartCard@iop@@UEAAXXZ
-; public: void __cdecl iop::CSmartCard::SendCardAPDU(unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char const * __ptr64,unsigned char,unsigned char * __ptr64) __ptr64
-?SendCardAPDU@CSmartCard@iop@@QEAAXEEEEEPEBEEPEAE@Z
-; public: virtual void __cdecl iop::CAccessCard::SetCurrentAsLoader(void) __ptr64
-?SetCurrentAsLoader@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::SetCurrentAsLoader(void) __ptr64
-?SetCurrentAsLoader@CSmartCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CAccessCard::SetDefaultAsLoader(void) __ptr64
-?SetDefaultAsLoader@CAccessCard@iop@@UEAAXXZ
-; public: virtual void __cdecl iop::CSmartCard::SetDefaultAsLoader(void) __ptr64
-?SetDefaultAsLoader@CSmartCard@iop@@UEAAXXZ
-; private: void __cdecl scu::SecureArray<char>::SetupFromBuffer(char const * __ptr64,unsigned __int64) __ptr64
-?SetupFromBuffer@?$SecureArray@D@scu@@AEAAXPEBD_K@Z
-; private: void __cdecl scu::SecureArray<unsigned char>::SetupFromBuffer(unsigned char const * __ptr64,unsigned __int64) __ptr64
-?SetupFromBuffer@?$SecureArray@E@scu@@AEAAXPEBE_K@Z
-; public: class iop::CSmartCard * __ptr64 __cdecl iop::CIOPLock::SmartCard(void) __ptr64
-?SmartCard@CIOPLock@iop@@QEAAPEAVCSmartCard@2@XZ
-; public: unsigned short __cdecl iop::CSmartCard::Exception::Status(void)const  __ptr64
-?Status@Exception@CSmartCard@iop@@QEBAGXZ
-; protected: virtual bool __cdecl iop::CAccessCard::SupportLogout(void) __ptr64
-?SupportLogout@CAccessCard@iop@@MEAA_NXZ
-; protected: virtual bool __cdecl iop::CCryptoCard::SupportLogout(void) __ptr64
-?SupportLogout@CCryptoCard@iop@@MEAA_NXZ
-; public: class iop::FilePathComponent  __cdecl iop::FilePath::Tail(void) __ptr64
-?Tail@FilePath@iop@@QEAA?AVFilePathComponent@2@XZ
-; public: virtual void __cdecl iop::CAccessCard::UnblockCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
-?UnblockCHV@CAccessCard@iop@@UEAAXEPEBE0@Z
-; public: virtual void __cdecl iop::CCryptoCard::UnblockCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
-?UnblockCHV@CCryptoCard@iop@@UEAAXEPEBE0@Z
-; public: virtual void __cdecl iop::CSmartCard::UnblockCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
-?UnblockCHV@CSmartCard@iop@@UEAAXEPEBE0@Z
-; public: bool __cdecl iop::CSmartCard::UnregisterEvent(unsigned long) __ptr64
-?UnregisterEvent@CSmartCard@iop@@QEAA_NK@Z
-; public: virtual void __cdecl iop::CAccessCard::UpdateRecord(unsigned char,unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
-?UpdateRecord@CAccessCard@iop@@UEAAXEEEPEAE@Z
-; public: virtual void __cdecl iop::CSmartCard::UpdateRecord(unsigned char,unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
-?UpdateRecord@CSmartCard@iop@@UEAAXEEEPEAE@Z
-; private: bool __cdecl iop::CAccessCard::ValidClassByte(unsigned char) __ptr64
-?ValidClassByte@CAccessCard@iop@@AEAA_NE@Z
-; public: virtual void __cdecl iop::CAccessCard::ValidateProgram(unsigned char const * __ptr64,unsigned char) __ptr64
-?ValidateProgram@CAccessCard@iop@@UEAAXPEBEE@Z
-; public: virtual void __cdecl iop::CSmartCard::ValidateProgram(unsigned char const * __ptr64,unsigned char) __ptr64
-?ValidateProgram@CSmartCard@iop@@UEAAXPEBEE@Z
-; public: virtual void __cdecl iop::CAccessCard::VerifyCHV(unsigned char,unsigned char const * __ptr64) __ptr64
-?VerifyCHV@CAccessCard@iop@@UEAAXEPEBE@Z
-; public: virtual void __cdecl iop::CCryptoCard::VerifyCHV(unsigned char,unsigned char const * __ptr64) __ptr64
-?VerifyCHV@CCryptoCard@iop@@UEAAXEPEBE@Z
-; public: virtual void __cdecl iop::CSmartCard::VerifyCHV(unsigned char,unsigned char const * __ptr64) __ptr64
-?VerifyCHV@CSmartCard@iop@@UEAAXEPEBE@Z
-; public: virtual void __cdecl iop::CAccessCard::VerifyKey(unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
-?VerifyKey@CAccessCard@iop@@UEAAXEEPEBE@Z
-; public: virtual void __cdecl iop::CCryptoCard::VerifyKey(unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
-?VerifyKey@CCryptoCard@iop@@UEAAXEEPEBE@Z
-; public: virtual void __cdecl iop::CSmartCard::VerifyKey(unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
-?VerifyKey@CSmartCard@iop@@UEAAXEEPEBE@Z
-; public: virtual void __cdecl iop::CAccessCard::VerifyTransportKey(unsigned char const * __ptr64) __ptr64
-?VerifyTransportKey@CAccessCard@iop@@UEAAXPEBE@Z
-; public: virtual void __cdecl iop::CCryptoCard::VerifyTransportKey(unsigned char const * __ptr64) __ptr64
-?VerifyTransportKey@CCryptoCard@iop@@UEAAXPEBE@Z
-; public: virtual void __cdecl iop::CSmartCard::VerifyTransportKey(unsigned char const * __ptr64) __ptr64
-?VerifyTransportKey@CSmartCard@iop@@UEAAXPEBE@Z
-; public: static bool __cdecl iop::CIOP::WaitForSCManager(void)
-?WaitForSCManager@CIOP@iop@@SA_NXZ
-; public: virtual void __cdecl iop::CSmartCard::WriteBinary(unsigned short,unsigned short,unsigned char const * __ptr64) __ptr64
-?WriteBinary@CSmartCard@iop@@UEAAXGGPEBE@Z
-; private: void __cdecl iop::CSmartCard::WriteBlock(unsigned short,unsigned char const * __ptr64,unsigned char) __ptr64
-?WriteBlock@CSmartCard@iop@@AEAAXGPEBEE@Z
-; public: virtual void __cdecl iop::CAccessCard::WritePrivateKey(class iop::CPrivateKeyBlob,unsigned char) __ptr64
-?WritePrivateKey@CAccessCard@iop@@UEAAXVCPrivateKeyBlob@2@E@Z
-; public: virtual void __cdecl iop::CCryptoCard::WritePrivateKey(class iop::CPrivateKeyBlob,unsigned char) __ptr64
-?WritePrivateKey@CCryptoCard@iop@@UEAAXVCPrivateKeyBlob@2@E@Z
-; public: virtual void __cdecl iop::CSmartCard::WritePrivateKey(class iop::CPrivateKeyBlob,unsigned char) __ptr64
-?WritePrivateKey@CSmartCard@iop@@UEAAXVCPrivateKeyBlob@2@E@Z
-; public: virtual void __cdecl iop::CAccessCard::WritePublicKey(class iop::CPublicKeyBlob,unsigned char) __ptr64
-?WritePublicKey@CAccessCard@iop@@UEAAXVCPublicKeyBlob@2@E@Z
-; public: virtual void __cdecl iop::CCryptoCard::WritePublicKey(class iop::CPublicKeyBlob,unsigned char) __ptr64
-?WritePublicKey@CCryptoCard@iop@@UEAAXVCPublicKeyBlob@2@E@Z
-; public: virtual void __cdecl iop::CSmartCard::WritePublicKey(class iop::CPublicKeyBlob,unsigned char) __ptr64
-?WritePublicKey@CSmartCard@iop@@UEAAXVCPublicKeyBlob@2@E@Z
-; protected: struct std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Node * __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Buynode(struct std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Node * __ptr64,struct std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Node * __ptr64) __ptr64
-?_Buynode@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@IEAAPEAU_Node@12@PEAU312@0@Z
-; protected: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Destroy(struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64 * __ptr64) __ptr64
-?_Destroy@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@IEAAXPEAPEAUEventInfo@iop@@0@Z
-; public: bool __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Eq(class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > const & __ptr64)const  __ptr64
-?_Eq@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_NAEBV12@@Z
-; protected: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Freenode(struct std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Node * __ptr64) __ptr64
-?_Freenode@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@IEAAXPEAU_Node@12@@Z
-; public: bool __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Lt(class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > const & __ptr64)const  __ptr64
-?_Lt@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_NAEBV12@@Z
-; protected: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Splice(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
-?_Splice@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@IEAAXViterator@12@AEAV12@00@Z
-; protected: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Ucopy(struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 * __ptr64) __ptr64
-?_Ucopy@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@IEAAPEAPEAUEventInfo@iop@@PEBQEAU34@0PEAPEAU34@@Z
-; protected: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Ufill(struct iop::EventInfo * __ptr64 * __ptr64,unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
-?_Ufill@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@IEAAXPEAPEAUEventInfo@iop@@_KAEBQEAU34@@Z
-; protected: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Xran(void)const  __ptr64
-?_Xran@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@IEBAXXZ
-; protected: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Xran(void)const  __ptr64
-?_Xran@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@IEBAXXZ
-; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::append(char const * __ptr64,unsigned __int64) __ptr64
-?append@?$SecureArray@D@scu@@QEAAAEAV12@PEBD_K@Z
-; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::append(unsigned __int64,char const & __ptr64) __ptr64
-?append@?$SecureArray@D@scu@@QEAAAEAV12@_KAEBD@Z
-; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::append(unsigned char const * __ptr64,unsigned __int64) __ptr64
-?append@?$SecureArray@E@scu@@QEAAAEAV12@PEBE_K@Z
-; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::append(unsigned __int64,unsigned char const & __ptr64) __ptr64
-?append@?$SecureArray@E@scu@@QEAAAEAV12@_KAEBE@Z
-; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::append_string(unsigned __int64,char const & __ptr64) __ptr64
-?append_string@?$SecureArray@D@scu@@QEAAAEAV12@_KAEBD@Z
-; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::append_string(unsigned __int64,unsigned char const & __ptr64) __ptr64
-?append_string@?$SecureArray@E@scu@@QEAAAEAV12@_KAEBE@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::assign(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator) __ptr64
-?assign@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXVconst_iterator@12@0@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::assign(unsigned __int64,class iop::FilePathComponent const & __ptr64) __ptr64
-?assign@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAX_KAEBVFilePathComponent@iop@@@Z
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::assign(struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64) __ptr64
-?assign@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXPEBQEAUEventInfo@iop@@0@Z
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::assign(unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
-?assign@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAX_KAEBQEAUEventInfo@iop@@@Z
-; public: struct iop::EventInfo * __ptr64 & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::at(unsigned __int64) __ptr64
-?at@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAPEAUEventInfo@iop@@_K@Z
-; public: struct iop::EventInfo * __ptr64 const & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::at(unsigned __int64)const  __ptr64
-?at@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAAEBQEAUEventInfo@iop@@_K@Z
-; public: class iop::FilePathComponent & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::back(void) __ptr64
-?back@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAAEAVFilePathComponent@iop@@XZ
-; public: class iop::FilePathComponent const & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::back(void)const  __ptr64
-?back@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBAAEBVFilePathComponent@iop@@XZ
-; public: struct iop::EventInfo * __ptr64 & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::back(void) __ptr64
-?back@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAPEAUEventInfo@iop@@XZ
-; public: struct iop::EventInfo * __ptr64 const & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::back(void)const  __ptr64
-?back@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAAEBQEAUEventInfo@iop@@XZ
-; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::begin(void) __ptr64
-?begin@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@XZ
-; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::begin(void)const  __ptr64
-?begin@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
-; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::begin(void) __ptr64
-?begin@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@XZ
-; public: struct iop::EventInfo * __ptr64 const * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::begin(void)const  __ptr64
-?begin@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAPEBQEAUEventInfo@iop@@XZ
-; public: unsigned __int64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::capacity(void)const  __ptr64
-?capacity@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_KXZ
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::clear(void) __ptr64
-?clear@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::clear(void) __ptr64
-?clear@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXXZ
-; public: char * __ptr64 __cdecl scu::SecureArray<char>::data(void) __ptr64
-?data@?$SecureArray@D@scu@@QEAAPEADXZ
-; public: char const * __ptr64 __cdecl scu::SecureArray<char>::data(void)const  __ptr64
-?data@?$SecureArray@D@scu@@QEBAPEBDXZ
-; public: unsigned char * __ptr64 __cdecl scu::SecureArray<unsigned char>::data(void) __ptr64
-?data@?$SecureArray@E@scu@@QEAAPEAEXZ
-; public: unsigned char const * __ptr64 __cdecl scu::SecureArray<unsigned char>::data(void)const  __ptr64
-?data@?$SecureArray@E@scu@@QEBAPEBEXZ
-; public: bool __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::empty(void)const  __ptr64
-?empty@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA_NXZ
-; public: bool __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::empty(void)const  __ptr64
-?empty@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_NXZ
-; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::end(void) __ptr64
-?end@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@XZ
-; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::end(void)const  __ptr64
-?end@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
-; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::end(void) __ptr64
-?end@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@XZ
-; public: struct iop::EventInfo * __ptr64 const * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::end(void)const  __ptr64
-?end@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAPEBQEAUEventInfo@iop@@XZ
-; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::erase(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
-?erase@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@V312@0@Z
-; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::erase(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
-?erase@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@V312@@Z
-; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::erase(struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64 * __ptr64) __ptr64
-?erase@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@PEAPEAU34@0@Z
-; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::erase(struct iop::EventInfo * __ptr64 * __ptr64) __ptr64
-?erase@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@PEAPEAU34@@Z
-; public: class iop::FilePathComponent & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::front(void) __ptr64
-?front@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAAEAVFilePathComponent@iop@@XZ
-; public: class iop::FilePathComponent const & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::front(void)const  __ptr64
-?front@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBAAEBVFilePathComponent@iop@@XZ
-; public: struct iop::EventInfo * __ptr64 & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::front(void) __ptr64
-?front@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAPEAUEventInfo@iop@@XZ
-; public: struct iop::EventInfo * __ptr64 const & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::front(void)const  __ptr64
-?front@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAAEBQEAUEventInfo@iop@@XZ
-; public: class iop::CSharedMarker * __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::get(void)const  __ptr64
-?get@?$auto_ptr@VCSharedMarker@iop@@@std@@QEBAPEAVCSharedMarker@iop@@XZ
-; public: class iop::RMHangProcDeathSynchObjects * __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::get(void)const  __ptr64
-?get@?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEBAPEAVRMHangProcDeathSynchObjects@iop@@XZ
-; public: void __cdecl iop::CSmartCard::getATR(unsigned char * __ptr64,unsigned char & __ptr64) __ptr64
-?getATR@CSmartCard@iop@@QEAAXPEAEAEAE@Z
-; public: unsigned __int64 __cdecl iop::CSmartCard::getCardHandle(void) __ptr64
-?getCardHandle@CSmartCard@iop@@QEAA_KXZ
-; public: char const * __ptr64 __cdecl iop::CSmartCard::getCardName(void)const  __ptr64
-?getCardName@CSmartCard@iop@@QEBAPEBDXZ
-; public: class std::allocator<class iop::FilePathComponent>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::get_allocator(void)const  __ptr64
-?get_allocator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AV?$allocator@VFilePathComponent@iop@@@2@XZ
-; public: class std::allocator<struct iop::EventInfo * __ptr64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::get_allocator(void)const  __ptr64
-?get_allocator@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA?AV?$allocator@PEAUEventInfo@iop@@@2@XZ
-; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::insert(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class iop::FilePathComponent const & __ptr64) __ptr64
-?insert@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@V312@AEBVFilePathComponent@iop@@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::insert(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class iop::FilePathComponent const * __ptr64,class iop::FilePathComponent const * __ptr64) __ptr64
-?insert@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@PEBVFilePathComponent@iop@@1@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::insert(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator) __ptr64
-?insert@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@Vconst_iterator@12@1@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::insert(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,unsigned __int64,class iop::FilePathComponent const & __ptr64) __ptr64
-?insert@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@_KAEBVFilePathComponent@iop@@@Z
-; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::insert(struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
-?insert@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@PEAPEAU34@AEBQEAU34@@Z
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::insert(struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64) __ptr64
-?insert@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXPEAPEAUEventInfo@iop@@PEBQEAU34@1@Z
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::insert(struct iop::EventInfo * __ptr64 * __ptr64,unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
-?insert@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXPEAPEAUEventInfo@iop@@_KAEBQEAU34@@Z
-; public: unsigned __int64 __cdecl scu::SecureArray<char>::length(void)const  __ptr64
-?length@?$SecureArray@D@scu@@QEBA_KXZ
-; public: unsigned __int64 __cdecl scu::SecureArray<unsigned char>::length(void)const  __ptr64
-?length@?$SecureArray@E@scu@@QEBA_KXZ
-; public: unsigned __int64 __cdecl scu::SecureArray<char>::length_string(void)const  __ptr64
-?length_string@?$SecureArray@D@scu@@QEBA_KXZ
-; public: unsigned __int64 __cdecl scu::SecureArray<unsigned char>::length_string(void)const  __ptr64
-?length_string@?$SecureArray@E@scu@@QEBA_KXZ
-; public: unsigned __int64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::max_size(void)const  __ptr64
-?max_size@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA_KXZ
-; public: unsigned __int64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::max_size(void)const  __ptr64
-?max_size@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_KXZ
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::merge(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64) __ptr64
-?merge@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::merge(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64,struct std::greater<class iop::FilePathComponent>) __ptr64
-?merge@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEAV12@U?$greater@VFilePathComponent@iop@@@2@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::pop_back(void) __ptr64
-?pop_back@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::pop_back(void) __ptr64
-?pop_back@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::pop_front(void) __ptr64
-?pop_front@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::push_back(class iop::FilePathComponent const & __ptr64) __ptr64
-?push_back@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEBVFilePathComponent@iop@@@Z
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::push_back(struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
-?push_back@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXAEBQEAUEventInfo@iop@@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::push_front(class iop::FilePathComponent const & __ptr64) __ptr64
-?push_front@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEBVFilePathComponent@iop@@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class iop::FilePathComponent,class iop::FilePathComponent & __ptr64,class iop::FilePathComponent * __ptr64,__int64>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::rbegin(void) __ptr64
-?rbegin@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@VFilePathComponent@iop@@AEAV45@PEAV45@_J@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class iop::FilePathComponent,class iop::FilePathComponent const & __ptr64,class iop::FilePathComponent const * __ptr64,__int64>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::rbegin(void)const  __ptr64
-?rbegin@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@VFilePathComponent@iop@@AEBV45@PEBV45@_J@2@XZ
-; public: class std::reverse_iterator<struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64,struct iop::EventInfo * __ptr64 & __ptr64,struct iop::EventInfo * __ptr64 * __ptr64,__int64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::rbegin(void) __ptr64
-?rbegin@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA?AV?$reverse_iterator@PEAPEAUEventInfo@iop@@PEAU12@AEAPEAU12@PEAPEAU12@_J@2@XZ
-; public: class std::reverse_iterator<struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64,struct iop::EventInfo * __ptr64 const & __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,__int64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::rbegin(void)const  __ptr64
-?rbegin@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA?AV?$reverse_iterator@PEBQEAUEventInfo@iop@@PEAU12@AEBQEAU12@PEBQEAU12@_J@2@XZ
-; public: class iop::CSharedMarker * __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::release(void)const  __ptr64
-?release@?$auto_ptr@VCSharedMarker@iop@@@std@@QEBAPEAVCSharedMarker@iop@@XZ
-; public: class iop::RMHangProcDeathSynchObjects * __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::release(void)const  __ptr64
-?release@?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEBAPEAVRMHangProcDeathSynchObjects@iop@@XZ
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::remove(class iop::FilePathComponent const & __ptr64) __ptr64
-?remove@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEBVFilePathComponent@iop@@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::remove_if(class std::binder2nd<struct std::not_equal_to<class iop::FilePathComponent> >) __ptr64
-?remove_if@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXV?$binder2nd@U?$not_equal_to@VFilePathComponent@iop@@@std@@@2@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class iop::FilePathComponent,class iop::FilePathComponent & __ptr64,class iop::FilePathComponent * __ptr64,__int64>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::rend(void) __ptr64
-?rend@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@VFilePathComponent@iop@@AEAV45@PEAV45@_J@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class iop::FilePathComponent,class iop::FilePathComponent const & __ptr64,class iop::FilePathComponent const * __ptr64,__int64>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::rend(void)const  __ptr64
-?rend@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@VFilePathComponent@iop@@AEBV45@PEBV45@_J@2@XZ
-; public: class std::reverse_iterator<struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64,struct iop::EventInfo * __ptr64 & __ptr64,struct iop::EventInfo * __ptr64 * __ptr64,__int64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::rend(void) __ptr64
-?rend@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA?AV?$reverse_iterator@PEAPEAUEventInfo@iop@@PEAU12@AEAPEAU12@PEAPEAU12@_J@2@XZ
-; public: class std::reverse_iterator<struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64,struct iop::EventInfo * __ptr64 const & __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,__int64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::rend(void)const  __ptr64
-?rend@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA?AV?$reverse_iterator@PEBQEAUEventInfo@iop@@PEAU12@AEBQEAU12@PEBQEAU12@_J@2@XZ
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::reserve(unsigned __int64) __ptr64
-?reserve@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAX_K@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::resize(unsigned __int64,class iop::FilePathComponent) __ptr64
-?resize@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAX_KVFilePathComponent@iop@@@Z
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::resize(unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
-?resize@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAX_KAEBQEAUEventInfo@iop@@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::reverse(void) __ptr64
-?reverse@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
-; public: void __cdecl iop::CSmartCard::setCardName(char const * __ptr64) __ptr64
-?setCardName@CSmartCard@iop@@QEAAXPEBD@Z
-; public: unsigned __int64 __cdecl scu::SecureArray<char>::size(void)const  __ptr64
-?size@?$SecureArray@D@scu@@QEBA_KXZ
-; public: unsigned __int64 __cdecl scu::SecureArray<unsigned char>::size(void)const  __ptr64
-?size@?$SecureArray@E@scu@@QEBA_KXZ
-; public: unsigned __int64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::size(void)const  __ptr64
-?size@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA_KXZ
-; public: unsigned __int64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::size(void)const  __ptr64
-?size@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_KXZ
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::sort(struct std::greater<class iop::FilePathComponent>) __ptr64
-?sort@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXU?$greater@VFilePathComponent@iop@@@2@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::sort(void) __ptr64
-?sort@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::splice(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
-?splice@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@AEAV12@00@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::splice(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
-?splice@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@AEAV12@0@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::splice(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64) __ptr64
-?splice@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@AEAV12@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::swap(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64) __ptr64
-?swap@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::swap(class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > & __ptr64) __ptr64
-?swap@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::unique(struct std::not_equal_to<class iop::FilePathComponent>) __ptr64
-?unique@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXU?$not_equal_to@VFilePathComponent@iop@@@2@@Z
-; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::unique(void) __ptr64
-?unique@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
-DllGetVersion
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SlbIop.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SlbIop.dll
+EXPORTS
+; public: __cdecl scu::ExcTemplate<2,unsigned long>::ExcTemplate<2,unsigned long>(class ExcTemplate<2,unsigned long>::ExcTemplate<2,unsigned long> const & __ptr64) __ptr64
+??0?$ExcTemplate@$01K@scu@@QEAA@AEBV01@@Z
+; public: __cdecl scu::ExcTemplate<2,unsigned long>::ExcTemplate<2,unsigned long>(unsigned long) __ptr64
+??0?$ExcTemplate@$01K@scu@@QEAA@K@Z
+; public: __cdecl scu::SecureArray<char>::SecureArray<char>(class SecureArray<char>::SecureArray<char> const & __ptr64) __ptr64
+??0?$SecureArray@D@scu@@QEAA@AEBV01@@Z
+; public: __cdecl scu::SecureArray<char>::SecureArray<char>(char * __ptr64,unsigned __int64) __ptr64
+??0?$SecureArray@D@scu@@QEAA@PEAD_K@Z
+; public: __cdecl scu::SecureArray<char>::SecureArray<char>(char const * __ptr64,unsigned __int64) __ptr64
+??0?$SecureArray@D@scu@@QEAA@PEBD_K@Z
+; public: __cdecl scu::SecureArray<char>::SecureArray<char>(void) __ptr64
+??0?$SecureArray@D@scu@@QEAA@XZ
+; public: __cdecl scu::SecureArray<char>::SecureArray<char>(unsigned __int64) __ptr64
+??0?$SecureArray@D@scu@@QEAA@_K@Z
+; public: __cdecl scu::SecureArray<char>::SecureArray<char>(unsigned __int64,char const & __ptr64) __ptr64
+??0?$SecureArray@D@scu@@QEAA@_KAEBD@Z
+; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(class SecureArray<unsigned char>::SecureArray<unsigned char> const & __ptr64) __ptr64
+??0?$SecureArray@E@scu@@QEAA@AEBV01@@Z
+; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(unsigned char * __ptr64,unsigned __int64) __ptr64
+??0?$SecureArray@E@scu@@QEAA@PEAE_K@Z
+; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(unsigned char const * __ptr64,unsigned __int64) __ptr64
+??0?$SecureArray@E@scu@@QEAA@PEBE_K@Z
+; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(void) __ptr64
+??0?$SecureArray@E@scu@@QEAA@XZ
+; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(unsigned __int64) __ptr64
+??0?$SecureArray@E@scu@@QEAA@_K@Z
+; public: __cdecl scu::SecureArray<unsigned char>::SecureArray<unsigned char>(unsigned __int64,unsigned char const & __ptr64) __ptr64
+??0?$SecureArray@E@scu@@QEAA@_KAEBE@Z
+; public: __cdecl std::auto_ptr<class iop::CSharedMarker>::auto_ptr<class iop::CSharedMarker>(class auto_ptr<class iop::CSharedMarker>::auto_ptr<class iop::CSharedMarker> const & __ptr64) __ptr64
+??0?$auto_ptr@VCSharedMarker@iop@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::auto_ptr<class iop::CSharedMarker>::auto_ptr<class iop::CSharedMarker>(class iop::CSharedMarker * __ptr64) __ptr64
+??0?$auto_ptr@VCSharedMarker@iop@@@std@@QEAA@PEAVCSharedMarker@iop@@@Z
+; public: __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::auto_ptr<class iop::RMHangProcDeathSynchObjects>(class auto_ptr<class iop::RMHangProcDeathSynchObjects>::auto_ptr<class iop::RMHangProcDeathSynchObjects> const & __ptr64) __ptr64
+??0?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::auto_ptr<class iop::RMHangProcDeathSynchObjects>(class iop::RMHangProcDeathSynchObjects * __ptr64) __ptr64
+??0?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAA@PEAVRMHangProcDeathSynchObjects@iop@@@Z
+; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > const & __ptr64) __ptr64
+??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::allocator<class iop::FilePathComponent> const & __ptr64) __ptr64
+??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@AEBV?$allocator@VFilePathComponent@iop@@@1@@Z
+; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(class iop::FilePathComponent const * __ptr64,class iop::FilePathComponent const * __ptr64,class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::allocator<class iop::FilePathComponent> const & __ptr64) __ptr64
+??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@PEBVFilePathComponent@iop@@0AEBV?$allocator@VFilePathComponent@iop@@@1@@Z
+; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::allocator<class iop::FilePathComponent> const & __ptr64) __ptr64
+??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@Vconst_iterator@01@0AEBV?$allocator@VFilePathComponent@iop@@@1@@Z
+; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(unsigned __int64,class iop::FilePathComponent const & __ptr64,class list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::allocator<class iop::FilePathComponent> const & __ptr64) __ptr64
+??0?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@_KAEBVFilePathComponent@iop@@AEBV?$allocator@VFilePathComponent@iop@@@1@@Z
+; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(class vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > const & __ptr64) __ptr64
+??0?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(class vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::allocator<struct iop::EventInfo * __ptr64> const & __ptr64) __ptr64
+??0?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@AEBV?$allocator@PEAUEventInfo@iop@@@1@@Z
+; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,class vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::allocator<struct iop::EventInfo * __ptr64> const & __ptr64) __ptr64
+??0?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@PEBQEAUEventInfo@iop@@0AEBV?$allocator@PEAUEventInfo@iop@@@1@@Z
+; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64,class vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::allocator<struct iop::EventInfo * __ptr64> const & __ptr64) __ptr64
+??0?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@_KAEBQEAUEventInfo@iop@@AEBV?$allocator@PEAUEventInfo@iop@@@1@@Z
+; public: __cdecl iop::CAccessCard::CAccessCard(unsigned __int64,char const * __ptr64,unsigned __int64,unsigned long) __ptr64
+??0CAccessCard@iop@@QEAA@_KPEBD0K@Z
+; public: __cdecl iop::CCryptoCard::CCryptoCard(unsigned __int64,char const * __ptr64,unsigned __int64,unsigned long) __ptr64
+??0CCryptoCard@iop@@QEAA@_KPEBD0K@Z
+; public: __cdecl iop::CIOP::CIOP(void) __ptr64
+??0CIOP@iop@@QEAA@XZ
+; public: __cdecl iop::CIOPCriticalSection::CIOPCriticalSection(class CIOPCriticalSection::CIOPLock * __ptr64) __ptr64
+??0CIOPCriticalSection@iop@@QEAA@PEAVCIOPLock@1@@Z
+; public: __cdecl iop::CIOPLock::CIOPLock(char const * __ptr64) __ptr64
+??0CIOPLock@iop@@QEAA@PEBD@Z
+; public: __cdecl iop::CIOPMutex::CIOPMutex(class CIOPMutex::CIOPLock * __ptr64) __ptr64
+??0CIOPMutex@iop@@QEAA@PEAVCIOPLock@1@@Z
+; public: __cdecl iop::CLockWrap::CLockWrap(class CLockWrap::CIOPLock * __ptr64) __ptr64
+??0CLockWrap@iop@@QEAA@PEAVCIOPLock@1@@Z
+; public: __cdecl iop::CMarker::CMarker(class CMarker::CMarker const & __ptr64) __ptr64
+??0CMarker@iop@@QEAA@AEBV01@@Z
+; public: __cdecl iop::CMarker::CMarker(enum CMarker::CMarker::MarkerType const & __ptr64) __ptr64
+??0CMarker@iop@@QEAA@AEBW4MarkerType@01@@Z
+; public: __cdecl iop::CMarker::CMarker(enum CMarker::CMarker::MarkerType,struct _GUID const & __ptr64,__int64 const & __ptr64) __ptr64
+??0CMarker@iop@@QEAA@W4MarkerType@01@AEBU_GUID@@AEB_J@Z
+; public: __cdecl iop::CPrivateKeyBlob::CPrivateKeyBlob(class CPrivateKeyBlob::CPrivateKeyBlob const & __ptr64) __ptr64
+??0CPrivateKeyBlob@iop@@QEAA@AEBV01@@Z
+; public: __cdecl iop::CPrivateKeyBlob::CPrivateKeyBlob(void) __ptr64
+??0CPrivateKeyBlob@iop@@QEAA@XZ
+; public: __cdecl iop::CPublicKeyBlob::CPublicKeyBlob(class CPublicKeyBlob::CPublicKeyBlob const & __ptr64) __ptr64
+??0CPublicKeyBlob@iop@@QEAA@AEBV01@@Z
+; public: __cdecl iop::CPublicKeyBlob::CPublicKeyBlob(void) __ptr64
+??0CPublicKeyBlob@iop@@QEAA@XZ
+; public: __cdecl iop::CSCardLock::CSCardLock(class CSCardLock::CIOPLock * __ptr64) __ptr64
+??0CSCardLock@iop@@QEAA@PEAVCIOPLock@1@@Z
+; public: __cdecl iop::CSmartCard::CSmartCard(unsigned __int64,char const * __ptr64,unsigned __int64,unsigned long) __ptr64
+??0CSmartCard@iop@@QEAA@_KPEBD0K@Z
+; public: __cdecl iop::CSmartCard::Exception::Exception(class CSmartCard::Exception::Exception const & __ptr64) __ptr64
+??0Exception@CSmartCard@iop@@QEAA@AEBV012@@Z
+; public: __cdecl iop::CSmartCard::Exception::Exception(enum CSmartCard::Exception::CauseCode,unsigned char,unsigned char,unsigned short) __ptr64
+??0Exception@CSmartCard@iop@@QEAA@W4CauseCode@12@EEG@Z
+; protected: __cdecl scu::Exception::Exception(enum Exception::Exception::FacilityCode) __ptr64
+??0Exception@scu@@IEAA@W4FacilityCode@01@@Z
+; public: __cdecl scu::Exception::Exception(class Exception::Exception const & __ptr64) __ptr64
+??0Exception@scu@@QEAA@AEBV01@@Z
+; public: __cdecl iop::FilePath::FilePath(class FilePath::FilePath const & __ptr64) __ptr64
+??0FilePath@iop@@QEAA@AEBV01@@Z
+; public: __cdecl iop::FilePath::FilePath(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >) __ptr64
+??0FilePath@iop@@QEAA@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z
+; public: __cdecl iop::FilePath::FilePath(void) __ptr64
+??0FilePath@iop@@QEAA@XZ
+; public: __cdecl iop::FilePathComponent::FilePathComponent(class FilePathComponent::FilePathComponent const & __ptr64) __ptr64
+??0FilePathComponent@iop@@QEAA@AEBV01@@Z
+; public: __cdecl iop::FilePathComponent::FilePathComponent(unsigned short) __ptr64
+??0FilePathComponent@iop@@QEAA@G@Z
+; public: __cdecl iop::FilePathComponent::FilePathComponent(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >) __ptr64
+??0FilePathComponent@iop@@QEAA@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z
+; public: __cdecl scu::OsException::OsException(class OsException::OsException const & __ptr64) __ptr64
+??0OsException@scu@@QEAA@AEBV01@@Z
+; public: __cdecl scu::OsException::OsException(long) __ptr64
+??0OsException@scu@@QEAA@J@Z
+; public: __cdecl scu::OsException::OsException(unsigned long) __ptr64
+??0OsException@scu@@QEAA@K@Z
+; public: virtual __cdecl scu::ExcTemplate<2,unsigned long>::~ExcTemplate<2,unsigned long>(void) __ptr64
+??1?$ExcTemplate@$01K@scu@@UEAA@XZ
+; public: __cdecl scu::SecureArray<char>::~SecureArray<char>(void) __ptr64
+??1?$SecureArray@D@scu@@QEAA@XZ
+; public: __cdecl scu::SecureArray<unsigned char>::~SecureArray<unsigned char>(void) __ptr64
+??1?$SecureArray@E@scu@@QEAA@XZ
+; public: __cdecl std::auto_ptr<class iop::CSharedMarker>::~auto_ptr<class iop::CSharedMarker>(void) __ptr64
+??1?$auto_ptr@VCSharedMarker@iop@@@std@@QEAA@XZ
+; public: __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::~auto_ptr<class iop::RMHangProcDeathSynchObjects>(void) __ptr64
+??1?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAA@XZ
+; public: __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::~list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >(void) __ptr64
+??1?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA@XZ
+; public: __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::~vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >(void) __ptr64
+??1?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA@XZ
+; public: virtual __cdecl iop::CAccessCard::~CAccessCard(void) __ptr64
+??1CAccessCard@iop@@UEAA@XZ
+; public: virtual __cdecl iop::CCryptoCard::~CCryptoCard(void) __ptr64
+??1CCryptoCard@iop@@UEAA@XZ
+; public: __cdecl iop::CIOP::~CIOP(void) __ptr64
+??1CIOP@iop@@QEAA@XZ
+; public: __cdecl iop::CIOPCriticalSection::~CIOPCriticalSection(void) __ptr64
+??1CIOPCriticalSection@iop@@QEAA@XZ
+; public: virtual __cdecl iop::CIOPLock::~CIOPLock(void) __ptr64
+??1CIOPLock@iop@@UEAA@XZ
+; public: __cdecl iop::CIOPMutex::~CIOPMutex(void) __ptr64
+??1CIOPMutex@iop@@QEAA@XZ
+; public: __cdecl iop::CLockWrap::~CLockWrap(void) __ptr64
+??1CLockWrap@iop@@QEAA@XZ
+; public: virtual __cdecl iop::CMarker::~CMarker(void) __ptr64
+??1CMarker@iop@@UEAA@XZ
+; public: virtual __cdecl iop::CPrivateKeyBlob::~CPrivateKeyBlob(void) __ptr64
+??1CPrivateKeyBlob@iop@@UEAA@XZ
+; public: virtual __cdecl iop::CPublicKeyBlob::~CPublicKeyBlob(void) __ptr64
+??1CPublicKeyBlob@iop@@UEAA@XZ
+; public: __cdecl iop::CSCardLock::~CSCardLock(void) __ptr64
+??1CSCardLock@iop@@QEAA@XZ
+; public: virtual __cdecl iop::CSmartCard::~CSmartCard(void) __ptr64
+??1CSmartCard@iop@@UEAA@XZ
+; public: virtual __cdecl iop::CSmartCard::Exception::~Exception(void) __ptr64
+??1Exception@CSmartCard@iop@@UEAA@XZ
+; public: virtual __cdecl scu::Exception::~Exception(void) __ptr64
+??1Exception@scu@@UEAA@XZ
+; public: virtual __cdecl iop::FilePath::~FilePath(void) __ptr64
+??1FilePath@iop@@UEAA@XZ
+; public: virtual __cdecl iop::FilePathComponent::~FilePathComponent(void) __ptr64
+??1FilePathComponent@iop@@UEAA@XZ
+; public: virtual __cdecl scu::OsException::~OsException(void) __ptr64
+??1OsException@scu@@UEAA@XZ
+; public: class scu::ExcTemplate<2,unsigned long> & __ptr64 __cdecl scu::ExcTemplate<2,unsigned long>::operator=(class scu::ExcTemplate<2,unsigned long> const & __ptr64) __ptr64
+??4?$ExcTemplate@$01K@scu@@QEAAAEAV01@AEBV01@@Z
+; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::operator=(char const & __ptr64) __ptr64
+??4?$SecureArray@D@scu@@QEAAAEAV01@AEBD@Z
+; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::operator=(class scu::SecureArray<char> const & __ptr64) __ptr64
+??4?$SecureArray@D@scu@@QEAAAEAV01@AEBV01@@Z
+; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator=(unsigned char const & __ptr64) __ptr64
+??4?$SecureArray@E@scu@@QEAAAEAV01@AEBE@Z
+; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator=(class scu::SecureArray<unsigned char> const & __ptr64) __ptr64
+??4?$SecureArray@E@scu@@QEAAAEAV01@AEBV01@@Z
+; public: class std::auto_ptr<class iop::CSharedMarker> & __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::operator=(class std::auto_ptr<class iop::CSharedMarker> const & __ptr64) __ptr64
+??4?$auto_ptr@VCSharedMarker@iop@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::auto_ptr<class iop::RMHangProcDeathSynchObjects> & __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::operator=(class std::auto_ptr<class iop::RMHangProcDeathSynchObjects> const & __ptr64) __ptr64
+??4?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::operator=(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > const & __ptr64) __ptr64
+??4?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::operator=(class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > const & __ptr64) __ptr64
+??4?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::CIOP & __ptr64 __cdecl iop::CIOP::operator=(class iop::CIOP const & __ptr64) __ptr64
+??4CIOP@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::CIOPCriticalSection & __ptr64 __cdecl iop::CIOPCriticalSection::operator=(class iop::CIOPCriticalSection const & __ptr64) __ptr64
+??4CIOPCriticalSection@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::CIOPMutex & __ptr64 __cdecl iop::CIOPMutex::operator=(class iop::CIOPMutex const & __ptr64) __ptr64
+??4CIOPMutex@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::CLockWrap & __ptr64 __cdecl iop::CLockWrap::operator=(class iop::CLockWrap const & __ptr64) __ptr64
+??4CLockWrap@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::CMarker & __ptr64 __cdecl iop::CMarker::operator=(class iop::CMarker const & __ptr64) __ptr64
+??4CMarker@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::CPrivateKeyBlob & __ptr64 __cdecl iop::CPrivateKeyBlob::operator=(class iop::CPrivateKeyBlob const & __ptr64) __ptr64
+??4CPrivateKeyBlob@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::CPublicKeyBlob & __ptr64 __cdecl iop::CPublicKeyBlob::operator=(class iop::CPublicKeyBlob const & __ptr64) __ptr64
+??4CPublicKeyBlob@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::CSCardLock & __ptr64 __cdecl iop::CSCardLock::operator=(class iop::CSCardLock const & __ptr64) __ptr64
+??4CSCardLock@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::CSmartCard::Exception & __ptr64 __cdecl iop::CSmartCard::Exception::operator=(class iop::CSmartCard::Exception const & __ptr64) __ptr64
+??4Exception@CSmartCard@iop@@QEAAAEAV012@AEBV012@@Z
+; public: class scu::Exception & __ptr64 __cdecl scu::Exception::operator=(class scu::Exception const & __ptr64) __ptr64
+??4Exception@scu@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::FilePath & __ptr64 __cdecl iop::FilePath::operator=(class iop::FilePath const & __ptr64) __ptr64
+??4FilePath@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class iop::FilePathComponent & __ptr64 __cdecl iop::FilePathComponent::operator=(class iop::FilePathComponent const & __ptr64) __ptr64
+??4FilePathComponent@iop@@QEAAAEAV01@AEBV01@@Z
+; public: class scu::OsException & __ptr64 __cdecl scu::OsException::operator=(class scu::OsException const & __ptr64) __ptr64
+??4OsException@scu@@QEAAAEAV01@AEBV01@@Z
+; bool __cdecl iop::operator==(class iop::CMarker const & __ptr64,class iop::CMarker const & __ptr64)
+??8iop@@YA_NAEBVCMarker@0@0@Z
+; bool __cdecl iop::operator!=(class iop::CMarker const & __ptr64,class iop::CMarker const & __ptr64)
+??9iop@@YA_NAEBVCMarker@0@0@Z
+; public: char & __ptr64 __cdecl scu::SecureArray<char>::operator[](unsigned __int64) __ptr64
+??A?$SecureArray@D@scu@@QEAAAEAD_K@Z
+; public: char const & __ptr64 __cdecl scu::SecureArray<char>::operator[](unsigned __int64)const  __ptr64
+??A?$SecureArray@D@scu@@QEBAAEBD_K@Z
+; public: unsigned char & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator[](unsigned __int64) __ptr64
+??A?$SecureArray@E@scu@@QEAAAEAE_K@Z
+; public: unsigned char const & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator[](unsigned __int64)const  __ptr64
+??A?$SecureArray@E@scu@@QEBAAEBE_K@Z
+; public: struct iop::EventInfo * __ptr64 & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::operator[](unsigned __int64) __ptr64
+??A?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAPEAUEventInfo@iop@@_K@Z
+; public: struct iop::EventInfo * __ptr64 const & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::operator[](unsigned __int64)const  __ptr64
+??A?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAAEBQEAUEventInfo@iop@@_K@Z
+; public: class iop::FilePathComponent & __ptr64 __cdecl iop::FilePath::operator[](unsigned int) __ptr64
+??AFilePath@iop@@QEAAAEAVFilePathComponent@1@I@Z
+; public: class iop::CSharedMarker * __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::operator->(void)const  __ptr64
+??C?$auto_ptr@VCSharedMarker@iop@@@std@@QEBAPEAVCSharedMarker@iop@@XZ
+; public: class iop::RMHangProcDeathSynchObjects * __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::operator->(void)const  __ptr64
+??C?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEBAPEAVRMHangProcDeathSynchObjects@iop@@XZ
+; public: char & __ptr64 __cdecl scu::SecureArray<char>::operator*(void) __ptr64
+??D?$SecureArray@D@scu@@QEAAAEADXZ
+; public: char const & __ptr64 __cdecl scu::SecureArray<char>::operator*(void)const  __ptr64
+??D?$SecureArray@D@scu@@QEBAAEBDXZ
+; public: unsigned char & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator*(void) __ptr64
+??D?$SecureArray@E@scu@@QEAAAEAEXZ
+; public: unsigned char const & __ptr64 __cdecl scu::SecureArray<unsigned char>::operator*(void)const  __ptr64
+??D?$SecureArray@E@scu@@QEBAAEBEXZ
+; public: class iop::CSharedMarker & __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::operator*(void)const  __ptr64
+??D?$auto_ptr@VCSharedMarker@iop@@@std@@QEBAAEAVCSharedMarker@iop@@XZ
+; public: class iop::RMHangProcDeathSynchObjects & __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::operator*(void)const  __ptr64
+??D?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEBAAEAVRMHangProcDeathSynchObjects@iop@@XZ
+; public: class iop::FilePath const & __ptr64 __cdecl iop::FilePath::operator+=(class iop::FilePathComponent) __ptr64
+??YFilePath@iop@@QEAAAEBV01@VFilePathComponent@1@@Z
+; const  scu::ExcTemplate<2,unsigned long>::`vftable'
+??_7?$ExcTemplate@$01K@scu@@6B@
+; const  iop::CAccessCard::`vftable'
+??_7CAccessCard@iop@@6B@
+; const  iop::CCryptoCard::`vftable'
+??_7CCryptoCard@iop@@6B@
+; const  iop::CIOPLock::`vftable'
+??_7CIOPLock@iop@@6B@
+; const  iop::CMarker::`vftable'
+??_7CMarker@iop@@6B@
+; const  iop::CPrivateKeyBlob::`vftable'
+??_7CPrivateKeyBlob@iop@@6B@
+; const  iop::CPublicKeyBlob::`vftable'
+??_7CPublicKeyBlob@iop@@6B@
+; const  iop::CSmartCard::`vftable'
+??_7CSmartCard@iop@@6B@
+; const  iop::CSmartCard::Exception::`vftable'
+??_7Exception@CSmartCard@iop@@6B@
+; const  scu::Exception::`vftable'
+??_7Exception@scu@@6B@
+; const  iop::FilePath::`vftable'
+??_7FilePath@iop@@6B@
+; const  iop::FilePathComponent::`vftable'
+??_7FilePathComponent@iop@@6B@
+; const  scu::OsException::`vftable'
+??_7OsException@scu@@6B@
+; public: void __cdecl std::auto_ptr<class iop::CSharedMarker>::`default constructor closure'(void) __ptr64
+??_F?$auto_ptr@VCSharedMarker@iop@@@std@@QEAAXXZ
+; public: void __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::`default constructor closure'(void) __ptr64
+??_F?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::`default constructor closure'(void) __ptr64
+??_F?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::`default constructor closure'(void) __ptr64
+??_F?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXXZ
+; protected: void __cdecl iop::CCryptoCard::AccessToCryptoACL(bool * __ptr64,struct iop::CryptoACL * __ptr64) __ptr64
+?AccessToCryptoACL@CCryptoCard@iop@@IEAAXPEA_NPEAUCryptoACL@2@@Z
+; public: virtual void __cdecl iop::CAccessCard::BlockApplet(void) __ptr64
+?BlockApplet@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::BlockApplet(void) __ptr64
+?BlockApplet@CSmartCard@iop@@UEAAXXZ
+; public: unsigned long __cdecl scu::ExcTemplate<2,unsigned long>::Cause(void)const  __ptr64
+?Cause@?$ExcTemplate@$01K@scu@@QEBAKXZ
+; public: enum iop::CSmartCard::CauseCode  __cdecl iop::CSmartCard::Exception::Cause(void)const  __ptr64
+?Cause@Exception@CSmartCard@iop@@QEBA?AW4CauseCode@23@XZ
+; public: virtual void __cdecl iop::CAccessCard::ChangeACL(unsigned char const * __ptr64) __ptr64
+?ChangeACL@CAccessCard@iop@@UEAAXPEBE@Z
+; public: virtual void __cdecl iop::CCryptoCard::ChangeACL(unsigned char const * __ptr64) __ptr64
+?ChangeACL@CCryptoCard@iop@@UEAAXPEBE@Z
+; public: virtual void __cdecl iop::CSmartCard::ChangeACL(unsigned char const * __ptr64) __ptr64
+?ChangeACL@CSmartCard@iop@@UEAAXPEBE@Z
+; public: virtual void __cdecl iop::CAccessCard::ChangeCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
+?ChangeCHV@CAccessCard@iop@@UEAAXEPEBE0@Z
+; public: virtual void __cdecl iop::CAccessCard::ChangeCHV(unsigned char,unsigned char const * __ptr64) __ptr64
+?ChangeCHV@CAccessCard@iop@@UEAAXEPEBE@Z
+; public: virtual void __cdecl iop::CCryptoCard::ChangeCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
+?ChangeCHV@CCryptoCard@iop@@UEAAXEPEBE0@Z
+; public: virtual void __cdecl iop::CCryptoCard::ChangeCHV(unsigned char,unsigned char const * __ptr64) __ptr64
+?ChangeCHV@CCryptoCard@iop@@UEAAXEPEBE@Z
+; public: virtual void __cdecl iop::CSmartCard::ChangeCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
+?ChangeCHV@CSmartCard@iop@@UEAAXEPEBE0@Z
+; public: virtual void __cdecl iop::CSmartCard::ChangeCHV(unsigned char,unsigned char const * __ptr64) __ptr64
+?ChangeCHV@CSmartCard@iop@@UEAAXEPEBE@Z
+; public: virtual void __cdecl iop::CAccessCard::ChangeTransportKey(unsigned char const * __ptr64) __ptr64
+?ChangeTransportKey@CAccessCard@iop@@UEAAXPEBE@Z
+; public: virtual void __cdecl iop::CCryptoCard::ChangeTransportKey(unsigned char const * __ptr64) __ptr64
+?ChangeTransportKey@CCryptoCard@iop@@UEAAXPEBE@Z
+; public: virtual void __cdecl iop::CSmartCard::ChangeTransportKey(unsigned char const * __ptr64) __ptr64
+?ChangeTransportKey@CSmartCard@iop@@UEAAXPEBE@Z
+; public: virtual void __cdecl iop::CAccessCard::ChangeUnblockKey(unsigned char,unsigned char const * __ptr64) __ptr64
+?ChangeUnblockKey@CAccessCard@iop@@UEAAXEPEBE@Z
+; public: virtual void __cdecl iop::CCryptoCard::ChangeUnblockKey(unsigned char,unsigned char const * __ptr64) __ptr64
+?ChangeUnblockKey@CCryptoCard@iop@@UEAAXEPEBE@Z
+; public: virtual void __cdecl iop::CSmartCard::ChangeUnblockKey(unsigned char,unsigned char const * __ptr64) __ptr64
+?ChangeUnblockKey@CSmartCard@iop@@UEAAXEPEBE@Z
+; public: class iop::FilePathComponent  __cdecl iop::FilePath::ChopTail(void) __ptr64
+?ChopTail@FilePath@iop@@QEAA?AVFilePathComponent@2@XZ
+; public: unsigned char __cdecl iop::CSmartCard::Exception::Class(void)const  __ptr64
+?Class@Exception@CSmartCard@iop@@QEBAEXZ
+; public: void __cdecl iop::FilePath::Clear(void) __ptr64
+?Clear@FilePath@iop@@QEAAXXZ
+; void __cdecl iop::Clear(class iop::CPrivateKeyBlob & __ptr64)
+?Clear@iop@@YAXAEAVCPrivateKeyBlob@1@@Z
+; void __cdecl iop::Clear(class iop::CPublicKeyBlob & __ptr64)
+?Clear@iop@@YAXAEAVCPublicKeyBlob@1@@Z
+; private: void __cdecl scu::SecureArray<char>::ClearDataStore(void) __ptr64
+?ClearDataStore@?$SecureArray@D@scu@@AEAAXXZ
+; private: void __cdecl scu::SecureArray<unsigned char>::ClearDataStore(void) __ptr64
+?ClearDataStore@?$SecureArray@E@scu@@AEAAXXZ
+; public: virtual class scu::Exception * __ptr64 __cdecl scu::ExcTemplate<2,unsigned long>::Clone(void)const  __ptr64
+?Clone@?$ExcTemplate@$01K@scu@@UEBAPEAVException@2@XZ
+; public: virtual class scu::Exception * __ptr64 __cdecl iop::CSmartCard::Exception::Clone(void)const  __ptr64
+?Clone@Exception@CSmartCard@iop@@UEBAPEAV1scu@@XZ
+; public: virtual class scu::Exception * __ptr64 __cdecl scu::OsException::Clone(void)const  __ptr64
+?Clone@OsException@scu@@UEBAPEAVException@2@XZ
+; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >  __cdecl iop::FilePath::Components(void) __ptr64
+?Components@FilePath@iop@@QEAA?AV?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@XZ
+; public: class iop::CSmartCard * __ptr64 __cdecl iop::CIOP::Connect(char const * __ptr64,bool) __ptr64
+?Connect@CIOP@iop@@QEAAPEAVCSmartCard@2@PEBD_N@Z
+; private: class iop::CSmartCard * __ptr64 __cdecl iop::CIOP::CreateCard(unsigned char const * __ptr64,unsigned long,unsigned __int64,char const * __ptr64,unsigned long) __ptr64
+?CreateCard@CIOP@iop@@AEAAPEAVCSmartCard@2@PEBEK_KPEBDK@Z
+; public: virtual void __cdecl iop::CAccessCard::CreateFileA(struct iop::FILE_HEADER const * __ptr64) __ptr64
+?CreateFileA@CAccessCard@iop@@UEAAXPEBUFILE_HEADER@2@@Z
+; public: virtual void __cdecl iop::CCryptoCard::CreateFileA(struct iop::FILE_HEADER const * __ptr64) __ptr64
+?CreateFileA@CCryptoCard@iop@@UEAAXPEBUFILE_HEADER@2@@Z
+; public: virtual void __cdecl iop::CSmartCard::CreateFileA(struct iop::FILE_HEADER const * __ptr64) __ptr64
+?CreateFileA@CSmartCard@iop@@UEAAXPEBUFILE_HEADER@2@@Z
+; public: struct _RTL_CRITICAL_SECTION * __ptr64 __cdecl iop::CIOPLock::CriticalSection(void) __ptr64
+?CriticalSection@CIOPLock@iop@@QEAAPEAU_RTL_CRITICAL_SECTION@@XZ
+; protected: void __cdecl iop::CCryptoCard::CryptoToAccessACL(unsigned char * __ptr64,unsigned char,unsigned char,unsigned char) __ptr64
+?CryptoToAccessACL@CCryptoCard@iop@@IEAAXPEAEEEE@Z
+; public: void __cdecl iop::CIOPLock::DecrementRefCount(void) __ptr64
+?DecrementRefCount@CIOPLock@iop@@QEAAXXZ
+; protected: virtual void __cdecl iop::CAccessCard::DefaultDispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
+?DefaultDispatchError@CAccessCard@iop@@MEBAXEEG@Z
+; protected: virtual void __cdecl iop::CCryptoCard::DefaultDispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
+?DefaultDispatchError@CCryptoCard@iop@@MEBAXEEG@Z
+; protected: virtual void __cdecl iop::CSmartCard::DefaultDispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
+?DefaultDispatchError@CSmartCard@iop@@MEBAXEEG@Z
+; public: virtual void __cdecl iop::CAccessCard::DeleteApplet(void) __ptr64
+?DeleteApplet@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::DeleteApplet(void) __ptr64
+?DeleteApplet@CSmartCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CAccessCard::DeleteFileA(unsigned short) __ptr64
+?DeleteFileA@CAccessCard@iop@@UEAAXG@Z
+; public: virtual void __cdecl iop::CCryptoCard::DeleteFileA(unsigned short) __ptr64
+?DeleteFileA@CCryptoCard@iop@@UEAAXG@Z
+; public: virtual void __cdecl iop::CSmartCard::DeleteFileA(unsigned short) __ptr64
+?DeleteFileA@CSmartCard@iop@@UEAAXG@Z
+; public: virtual char const * __ptr64 __cdecl scu::ExcTemplate<2,unsigned long>::Description(void)const  __ptr64
+?Description@?$ExcTemplate@$01K@scu@@UEBAPEBDXZ
+; public: virtual char const * __ptr64 __cdecl iop::CSmartCard::Exception::Description(void)const  __ptr64
+?Description@Exception@CSmartCard@iop@@UEBAPEBDXZ
+; public: virtual char const * __ptr64 __cdecl scu::Exception::Description(void)const  __ptr64
+?Description@Exception@scu@@UEBAPEBDXZ
+; public: virtual char const * __ptr64 __cdecl scu::OsException::Description(void)const  __ptr64
+?Description@OsException@scu@@UEBAPEBDXZ
+; public: virtual void __cdecl iop::CAccessCard::Directory(unsigned char,struct iop::FILE_HEADER * __ptr64) __ptr64
+?Directory@CAccessCard@iop@@UEAAXEPEAUFILE_HEADER@2@@Z
+; public: virtual void __cdecl iop::CCryptoCard::Directory(unsigned char,struct iop::FILE_HEADER * __ptr64) __ptr64
+?Directory@CCryptoCard@iop@@UEAAXEPEAUFILE_HEADER@2@@Z
+; public: virtual void __cdecl iop::CSmartCard::Directory(unsigned char,struct iop::FILE_HEADER * __ptr64) __ptr64
+?Directory@CSmartCard@iop@@UEAAXEPEAUFILE_HEADER@2@@Z
+; public: void __cdecl iop::CSmartCard::Dirty(bool) __ptr64
+?Dirty@CSmartCard@iop@@QEAAX_N@Z
+; public: bool __cdecl iop::CSmartCard::Dirty(void)const  __ptr64
+?Dirty@CSmartCard@iop@@QEBA_NXZ
+; protected: virtual void __cdecl iop::CAccessCard::DispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
+?DispatchError@CAccessCard@iop@@MEBAXEEG@Z
+; protected: virtual void __cdecl iop::CCryptoCard::DispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
+?DispatchError@CCryptoCard@iop@@MEBAXEEG@Z
+; protected: virtual void __cdecl iop::CSmartCard::DispatchError(unsigned char,unsigned char,unsigned short)const  __ptr64
+?DispatchError@CSmartCard@iop@@MEBAXEEG@Z
+; protected: virtual void __cdecl iop::CAccessCard::DoReadBlock(unsigned short,unsigned char * __ptr64,unsigned char) __ptr64
+?DoReadBlock@CAccessCard@iop@@MEAAXGPEAEE@Z
+; protected: virtual void __cdecl iop::CCryptoCard::DoReadBlock(unsigned short,unsigned char * __ptr64,unsigned char) __ptr64
+?DoReadBlock@CCryptoCard@iop@@MEAAXGPEAEE@Z
+; protected: virtual void __cdecl iop::CAccessCard::DoWriteBlock(unsigned short,unsigned char const * __ptr64,unsigned char) __ptr64
+?DoWriteBlock@CAccessCard@iop@@MEAAXGPEBEE@Z
+; protected: virtual void __cdecl iop::CCryptoCard::DoWriteBlock(unsigned short,unsigned char const * __ptr64,unsigned char) __ptr64
+?DoWriteBlock@CCryptoCard@iop@@MEAAXGPEBEE@Z
+; public: virtual unsigned long __cdecl scu::ExcTemplate<2,unsigned long>::Error(void)const  __ptr64
+?Error@?$ExcTemplate@$01K@scu@@UEBAKXZ
+; public: virtual unsigned long __cdecl iop::CSmartCard::Exception::Error(void)const  __ptr64
+?Error@Exception@CSmartCard@iop@@UEBAKXZ
+; public: virtual void __cdecl iop::CAccessCard::ExecuteInstall(unsigned char const * __ptr64,unsigned char) __ptr64
+?ExecuteInstall@CAccessCard@iop@@UEAAXPEBEE@Z
+; public: virtual void __cdecl iop::CSmartCard::ExecuteInstall(unsigned char const * __ptr64,unsigned char) __ptr64
+?ExecuteInstall@CSmartCard@iop@@UEAAXPEBEE@Z
+; public: virtual void __cdecl iop::CAccessCard::ExecuteMain(void) __ptr64
+?ExecuteMain@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::ExecuteMain(void) __ptr64
+?ExecuteMain@CSmartCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CAccessCard::ExternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
+?ExternalAuth@CAccessCard@iop@@UEAAXW4KeyType@2@EEPEBE@Z
+; public: virtual void __cdecl iop::CCryptoCard::ExternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
+?ExternalAuth@CCryptoCard@iop@@UEAAXW4KeyType@2@EEPEBE@Z
+; public: virtual void __cdecl iop::CSmartCard::ExternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
+?ExternalAuth@CSmartCard@iop@@UEAAXW4KeyType@2@EEPEBE@Z
+; public: enum scu::Exception::FacilityCode  __cdecl scu::Exception::Facility(void)const  __ptr64
+?Facility@Exception@scu@@QEBA?AW4FacilityCode@12@XZ
+; public: void __cdecl iop::CSmartCard::FireEvents(int,unsigned long,unsigned char * __ptr64) __ptr64
+?FireEvents@CSmartCard@iop@@QEAAXHKPEAE@Z
+; protected: unsigned char __cdecl iop::CSmartCard::FormatPath(char * __ptr64,char const * __ptr64) __ptr64
+?FormatPath@CSmartCard@iop@@IEAAEPEADPEBD@Z
+; public: virtual class iop::CPublicKeyBlob  __cdecl iop::CCryptoCard::GenerateKeyPair(unsigned char const * __ptr64,unsigned short,unsigned char,enum iop::KeyType) __ptr64
+?GenerateKeyPair@CCryptoCard@iop@@UEAA?AVCPublicKeyBlob@2@PEBEGEW4KeyType@2@@Z
+; public: virtual class iop::CPublicKeyBlob  __cdecl iop::CSmartCard::GenerateKeyPair(unsigned char const * __ptr64,unsigned short,unsigned char,enum iop::KeyType) __ptr64
+?GenerateKeyPair@CSmartCard@iop@@UEAA?AVCPublicKeyBlob@2@PEBEGEW4KeyType@2@@Z
+; public: virtual void __cdecl iop::CCryptoCard::GetACL(unsigned char * __ptr64) __ptr64
+?GetACL@CCryptoCard@iop@@UEAAXPEAE@Z
+; public: virtual void __cdecl iop::CSmartCard::GetACL(unsigned char * __ptr64) __ptr64
+?GetACL@CSmartCard@iop@@UEAAXPEAE@Z
+; public: virtual void __cdecl iop::CAccessCard::GetChallenge(unsigned long,unsigned char * __ptr64) __ptr64
+?GetChallenge@CAccessCard@iop@@UEAAXKPEAE@Z
+; public: virtual void __cdecl iop::CCryptoCard::GetChallenge(unsigned long,unsigned char * __ptr64) __ptr64
+?GetChallenge@CCryptoCard@iop@@UEAAXKPEAE@Z
+; public: virtual void __cdecl iop::CSmartCard::GetChallenge(unsigned long,unsigned char * __ptr64) __ptr64
+?GetChallenge@CSmartCard@iop@@UEAAXKPEAE@Z
+; public: void __cdecl iop::CSmartCard::GetCurrentDir(char * __ptr64) __ptr64
+?GetCurrentDir@CSmartCard@iop@@QEAAXPEAD@Z
+; public: void __cdecl iop::CSmartCard::GetCurrentFile(char * __ptr64) __ptr64
+?GetCurrentFile@CSmartCard@iop@@QEAAXPEAD@Z
+; public: virtual void __cdecl iop::CSmartCard::GetResponse(unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
+?GetResponse@CSmartCard@iop@@UEAAXEEPEAE@Z
+; public: virtual void __cdecl iop::CAccessCard::GetSerial(unsigned char * __ptr64,unsigned __int64 & __ptr64) __ptr64
+?GetSerial@CAccessCard@iop@@UEAAXPEAEAEA_K@Z
+; public: virtual void __cdecl iop::CCryptoCard::GetSerial(unsigned char * __ptr64,unsigned __int64 & __ptr64) __ptr64
+?GetSerial@CCryptoCard@iop@@UEAAXPEAEAEA_K@Z
+; public: virtual void __cdecl iop::CSmartCard::GetSerial(unsigned char * __ptr64,unsigned __int64 & __ptr64) __ptr64
+?GetSerial@CSmartCard@iop@@UEAAXPEAEAEA_K@Z
+; public: unsigned short __cdecl iop::FilePathComponent::GetShortID(void) __ptr64
+?GetShortID@FilePathComponent@iop@@QEAAGXZ
+; public: void __cdecl iop::CSmartCard::GetState(unsigned long & __ptr64,unsigned long & __ptr64) __ptr64
+?GetState@CSmartCard@iop@@QEAAXAEAK0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl iop::FilePathComponent::GetStringID(void) __ptr64
+?GetStringID@FilePathComponent@iop@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl iop::FilePath::GetStringPath(void) __ptr64
+?GetStringPath@FilePath@iop@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ
+; public: class iop::FilePath  __cdecl iop::FilePath::GreatestCommonPrefix(class iop::FilePath & __ptr64) __ptr64
+?GreatestCommonPrefix@FilePath@iop@@QEAA?AV12@AEAV12@@Z
+; public: bool __cdecl iop::CSmartCard::HasProperty(unsigned short) __ptr64
+?HasProperty@CSmartCard@iop@@QEAA_NG@Z
+; public: class iop::FilePathComponent  __cdecl iop::FilePath::Head(void) __ptr64
+?Head@FilePath@iop@@QEAA?AVFilePathComponent@2@XZ
+; public: void __cdecl iop::CIOPLock::IncrementRefCount(void) __ptr64
+?IncrementRefCount@CIOPLock@iop@@QEAAXXZ
+; public: void __cdecl iop::CIOPLock::Init(class iop::CSmartCard * __ptr64) __ptr64
+?Init@CIOPLock@iop@@QEAAXPEAVCSmartCard@2@@Z
+; public: static void __cdecl iop::CIOP::InitIOPSecurityAttrs(class CSecurityAttributes * __ptr64)
+?InitIOPSecurityAttrs@CIOP@iop@@SAXPEAVCSecurityAttributes@@@Z
+; public: unsigned char __cdecl iop::CSmartCard::Exception::Ins(void)const  __ptr64
+?Ins@Exception@CSmartCard@iop@@QEBAEXZ
+; public: virtual void __cdecl iop::CAccessCard::InternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64,unsigned char * __ptr64) __ptr64
+?InternalAuth@CAccessCard@iop@@UEAAXW4KeyType@2@EEPEBEPEAE@Z
+; public: virtual void __cdecl iop::CCryptoCard::InternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64,unsigned char * __ptr64) __ptr64
+?InternalAuth@CCryptoCard@iop@@UEAAXW4KeyType@2@EEPEBEPEAE@Z
+; public: virtual void __cdecl iop::CSmartCard::InternalAuth(enum iop::KeyType,unsigned char,unsigned char,unsigned char const * __ptr64,unsigned char * __ptr64) __ptr64
+?InternalAuth@CSmartCard@iop@@UEAAXW4KeyType@2@EEPEBEPEAE@Z
+; public: bool __cdecl iop::FilePath::IsEmpty(void) __ptr64
+?IsEmpty@FilePath@iop@@QEAA_NXZ
+; public: static void __cdecl iop::CIOP::ListKnownCards(char * __ptr64,int & __ptr64)
+?ListKnownCards@CIOP@iop@@SAXPEADAEAH@Z
+; public: void __cdecl iop::CIOP::ListReaders(char * __ptr64,int & __ptr64) __ptr64
+?ListReaders@CIOP@iop@@QEAAXPEADAEAH@Z
+; public: class iop::CIOPLock * __ptr64 __cdecl iop::CSmartCard::Lock(void) __ptr64
+?Lock@CSmartCard@iop@@QEAAPEAVCIOPLock@2@XZ
+; public: virtual void __cdecl iop::CAccessCard::LogoutAll(void) __ptr64
+?LogoutAll@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CCryptoCard::LogoutAll(void) __ptr64
+?LogoutAll@CCryptoCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::LogoutAll(void) __ptr64
+?LogoutAll@CSmartCard@iop@@UEAAXXZ
+; public: void * __ptr64 __cdecl iop::CIOPLock::MutexHandle(void) __ptr64
+?MutexHandle@CIOPLock@iop@@QEAAPEAXXZ
+; public: unsigned char __cdecl iop::FilePath::NumComponents(void) __ptr64
+?NumComponents@FilePath@iop@@QEAAEXZ
+; private: void __cdecl iop::CSmartCard::ProcessReturnStatus(unsigned char,unsigned char,unsigned short) __ptr64
+?ProcessReturnStatus@CSmartCard@iop@@AEAAXEEG@Z
+; public: virtual void __cdecl scu::ExcTemplate<2,unsigned long>::Raise(void)const  __ptr64
+?Raise@?$ExcTemplate@$01K@scu@@UEBAXXZ
+; public: virtual void __cdecl iop::CSmartCard::Exception::Raise(void)const  __ptr64
+?Raise@Exception@CSmartCard@iop@@UEBAXXZ
+; public: virtual void __cdecl scu::OsException::Raise(void)const  __ptr64
+?Raise@OsException@scu@@UEBAXXZ
+; public: void __cdecl iop::CSmartCard::ReConnect(void) __ptr64
+?ReConnect@CSmartCard@iop@@QEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::ReadBinary(unsigned short,unsigned short,unsigned char * __ptr64) __ptr64
+?ReadBinary@CSmartCard@iop@@UEAAXGGPEAE@Z
+; public: virtual void __cdecl iop::CAccessCard::ReadPublicKey(class iop::CPublicKeyBlob * __ptr64,unsigned char) __ptr64
+?ReadPublicKey@CAccessCard@iop@@UEAAXPEAVCPublicKeyBlob@2@E@Z
+; public: virtual void __cdecl iop::CCryptoCard::ReadPublicKey(class iop::CPublicKeyBlob * __ptr64,unsigned char) __ptr64
+?ReadPublicKey@CCryptoCard@iop@@UEAAXPEAVCPublicKeyBlob@2@E@Z
+; public: virtual void __cdecl iop::CSmartCard::ReadPublicKey(class iop::CPublicKeyBlob * __ptr64,unsigned char) __ptr64
+?ReadPublicKey@CSmartCard@iop@@UEAAXPEAVCPublicKeyBlob@2@E@Z
+; public: virtual void __cdecl iop::CAccessCard::ReadRecord(unsigned char,unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
+?ReadRecord@CAccessCard@iop@@UEAAXEEEPEAE@Z
+; public: virtual void __cdecl iop::CSmartCard::ReadRecord(unsigned char,unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
+?ReadRecord@CSmartCard@iop@@UEAAXEEEPEAE@Z
+; public: long __cdecl iop::CIOPLock::RefCount(void) __ptr64
+?RefCount@CIOPLock@iop@@QEAAJXZ
+; public: static void __cdecl iop::CIOP::RegisterCard(char const * __ptr64,unsigned char const * __ptr64,unsigned char,unsigned char const * __ptr64,unsigned char,unsigned char const * __ptr64,enum iop::cardType)
+?RegisterCard@CIOP@iop@@SAXPEBDPEBEE1E1W4cardType@2@@Z
+; public: static void __cdecl iop::CIOP::RegisterDefaultCards(void)
+?RegisterDefaultCards@CIOP@iop@@SAXXZ
+; public: unsigned long __cdecl iop::CSmartCard::RegisterEvent(void (__cdecl*)(void * __ptr64,int,unsigned long,unsigned char * __ptr64),void * __ptr64) __ptr64
+?RegisterEvent@CSmartCard@iop@@QEAAKP6AXPEAXHKPEAE@Z0@Z
+; protected: void __cdecl iop::CSmartCard::RequireSelect(void) __ptr64
+?RequireSelect@CSmartCard@iop@@IEAAXXZ
+; public: void __cdecl iop::CSmartCard::ResetCard(void) __ptr64
+?ResetCard@CSmartCard@iop@@QEAAXXZ
+; public: virtual void __cdecl iop::CAccessCard::ResetInstance(void) __ptr64
+?ResetInstance@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::ResetInstance(void) __ptr64
+?ResetInstance@CSmartCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CAccessCard::ResetProgram(void) __ptr64
+?ResetProgram@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::ResetProgram(void) __ptr64
+?ResetProgram@CSmartCard@iop@@UEAAXXZ
+; public: void __cdecl iop::CSmartCard::ResetSelect(void) __ptr64
+?ResetSelect@CSmartCard@iop@@QEAAXXZ
+; protected: void __cdecl iop::CSmartCard::ResponseLengthAvailable(unsigned char) __ptr64
+?ResponseLengthAvailable@CSmartCard@iop@@IEAAXE@Z
+; protected: unsigned char __cdecl iop::CSmartCard::ResponseLengthAvailable(void)const  __ptr64
+?ResponseLengthAvailable@CSmartCard@iop@@IEBAEXZ
+; public: static class iop::FilePath  __cdecl iop::FilePath::Root(void)
+?Root@FilePath@iop@@SA?AV12@XZ
+; protected: virtual void __cdecl iop::CAccessCard::Select(unsigned short) __ptr64
+?Select@CAccessCard@iop@@MEAAXG@Z
+; public: virtual void __cdecl iop::CAccessCard::Select(char const * __ptr64,struct iop::FILE_HEADER * __ptr64,bool) __ptr64
+?Select@CAccessCard@iop@@UEAAXPEBDPEAUFILE_HEADER@2@_N@Z
+; protected: virtual void __cdecl iop::CCryptoCard::Select(unsigned short) __ptr64
+?Select@CCryptoCard@iop@@MEAAXG@Z
+; public: virtual void __cdecl iop::CCryptoCard::Select(char const * __ptr64,struct iop::FILE_HEADER * __ptr64,bool) __ptr64
+?Select@CCryptoCard@iop@@UEAAXPEBDPEAUFILE_HEADER@2@_N@Z
+; public: virtual void __cdecl iop::CSmartCard::Select(char const * __ptr64,struct iop::FILE_HEADER * __ptr64,bool) __ptr64
+?Select@CSmartCard@iop@@UEAAXPEBDPEAUFILE_HEADER@2@_N@Z
+; public: virtual void __cdecl iop::CAccessCard::SelectCardlet(unsigned char const * __ptr64,unsigned char) __ptr64
+?SelectCardlet@CAccessCard@iop@@UEAAXPEBEE@Z
+; public: virtual void __cdecl iop::CSmartCard::SelectCardlet(unsigned char const * __ptr64,unsigned char) __ptr64
+?SelectCardlet@CSmartCard@iop@@UEAAXPEBEE@Z
+; public: virtual void __cdecl iop::CAccessCard::SelectLoader(void) __ptr64
+?SelectLoader@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::SelectLoader(void) __ptr64
+?SelectLoader@CSmartCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CAccessCard::SelectParent(void) __ptr64
+?SelectParent@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CCryptoCard::SelectParent(void) __ptr64
+?SelectParent@CCryptoCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::SelectParent(void) __ptr64
+?SelectParent@CSmartCard@iop@@UEAAXXZ
+; public: void __cdecl iop::CSmartCard::SendCardAPDU(unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char const * __ptr64,unsigned char,unsigned char * __ptr64) __ptr64
+?SendCardAPDU@CSmartCard@iop@@QEAAXEEEEEPEBEEPEAE@Z
+; public: virtual void __cdecl iop::CAccessCard::SetCurrentAsLoader(void) __ptr64
+?SetCurrentAsLoader@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::SetCurrentAsLoader(void) __ptr64
+?SetCurrentAsLoader@CSmartCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CAccessCard::SetDefaultAsLoader(void) __ptr64
+?SetDefaultAsLoader@CAccessCard@iop@@UEAAXXZ
+; public: virtual void __cdecl iop::CSmartCard::SetDefaultAsLoader(void) __ptr64
+?SetDefaultAsLoader@CSmartCard@iop@@UEAAXXZ
+; private: void __cdecl scu::SecureArray<char>::SetupFromBuffer(char const * __ptr64,unsigned __int64) __ptr64
+?SetupFromBuffer@?$SecureArray@D@scu@@AEAAXPEBD_K@Z
+; private: void __cdecl scu::SecureArray<unsigned char>::SetupFromBuffer(unsigned char const * __ptr64,unsigned __int64) __ptr64
+?SetupFromBuffer@?$SecureArray@E@scu@@AEAAXPEBE_K@Z
+; public: class iop::CSmartCard * __ptr64 __cdecl iop::CIOPLock::SmartCard(void) __ptr64
+?SmartCard@CIOPLock@iop@@QEAAPEAVCSmartCard@2@XZ
+; public: unsigned short __cdecl iop::CSmartCard::Exception::Status(void)const  __ptr64
+?Status@Exception@CSmartCard@iop@@QEBAGXZ
+; protected: virtual bool __cdecl iop::CAccessCard::SupportLogout(void) __ptr64
+?SupportLogout@CAccessCard@iop@@MEAA_NXZ
+; protected: virtual bool __cdecl iop::CCryptoCard::SupportLogout(void) __ptr64
+?SupportLogout@CCryptoCard@iop@@MEAA_NXZ
+; public: class iop::FilePathComponent  __cdecl iop::FilePath::Tail(void) __ptr64
+?Tail@FilePath@iop@@QEAA?AVFilePathComponent@2@XZ
+; public: virtual void __cdecl iop::CAccessCard::UnblockCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
+?UnblockCHV@CAccessCard@iop@@UEAAXEPEBE0@Z
+; public: virtual void __cdecl iop::CCryptoCard::UnblockCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
+?UnblockCHV@CCryptoCard@iop@@UEAAXEPEBE0@Z
+; public: virtual void __cdecl iop::CSmartCard::UnblockCHV(unsigned char,unsigned char const * __ptr64,unsigned char const * __ptr64) __ptr64
+?UnblockCHV@CSmartCard@iop@@UEAAXEPEBE0@Z
+; public: bool __cdecl iop::CSmartCard::UnregisterEvent(unsigned long) __ptr64
+?UnregisterEvent@CSmartCard@iop@@QEAA_NK@Z
+; public: virtual void __cdecl iop::CAccessCard::UpdateRecord(unsigned char,unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
+?UpdateRecord@CAccessCard@iop@@UEAAXEEEPEAE@Z
+; public: virtual void __cdecl iop::CSmartCard::UpdateRecord(unsigned char,unsigned char,unsigned char,unsigned char * __ptr64) __ptr64
+?UpdateRecord@CSmartCard@iop@@UEAAXEEEPEAE@Z
+; private: bool __cdecl iop::CAccessCard::ValidClassByte(unsigned char) __ptr64
+?ValidClassByte@CAccessCard@iop@@AEAA_NE@Z
+; public: virtual void __cdecl iop::CAccessCard::ValidateProgram(unsigned char const * __ptr64,unsigned char) __ptr64
+?ValidateProgram@CAccessCard@iop@@UEAAXPEBEE@Z
+; public: virtual void __cdecl iop::CSmartCard::ValidateProgram(unsigned char const * __ptr64,unsigned char) __ptr64
+?ValidateProgram@CSmartCard@iop@@UEAAXPEBEE@Z
+; public: virtual void __cdecl iop::CAccessCard::VerifyCHV(unsigned char,unsigned char const * __ptr64) __ptr64
+?VerifyCHV@CAccessCard@iop@@UEAAXEPEBE@Z
+; public: virtual void __cdecl iop::CCryptoCard::VerifyCHV(unsigned char,unsigned char const * __ptr64) __ptr64
+?VerifyCHV@CCryptoCard@iop@@UEAAXEPEBE@Z
+; public: virtual void __cdecl iop::CSmartCard::VerifyCHV(unsigned char,unsigned char const * __ptr64) __ptr64
+?VerifyCHV@CSmartCard@iop@@UEAAXEPEBE@Z
+; public: virtual void __cdecl iop::CAccessCard::VerifyKey(unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
+?VerifyKey@CAccessCard@iop@@UEAAXEEPEBE@Z
+; public: virtual void __cdecl iop::CCryptoCard::VerifyKey(unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
+?VerifyKey@CCryptoCard@iop@@UEAAXEEPEBE@Z
+; public: virtual void __cdecl iop::CSmartCard::VerifyKey(unsigned char,unsigned char,unsigned char const * __ptr64) __ptr64
+?VerifyKey@CSmartCard@iop@@UEAAXEEPEBE@Z
+; public: virtual void __cdecl iop::CAccessCard::VerifyTransportKey(unsigned char const * __ptr64) __ptr64
+?VerifyTransportKey@CAccessCard@iop@@UEAAXPEBE@Z
+; public: virtual void __cdecl iop::CCryptoCard::VerifyTransportKey(unsigned char const * __ptr64) __ptr64
+?VerifyTransportKey@CCryptoCard@iop@@UEAAXPEBE@Z
+; public: virtual void __cdecl iop::CSmartCard::VerifyTransportKey(unsigned char const * __ptr64) __ptr64
+?VerifyTransportKey@CSmartCard@iop@@UEAAXPEBE@Z
+; public: static bool __cdecl iop::CIOP::WaitForSCManager(void)
+?WaitForSCManager@CIOP@iop@@SA_NXZ
+; public: virtual void __cdecl iop::CSmartCard::WriteBinary(unsigned short,unsigned short,unsigned char const * __ptr64) __ptr64
+?WriteBinary@CSmartCard@iop@@UEAAXGGPEBE@Z
+; private: void __cdecl iop::CSmartCard::WriteBlock(unsigned short,unsigned char const * __ptr64,unsigned char) __ptr64
+?WriteBlock@CSmartCard@iop@@AEAAXGPEBEE@Z
+; public: virtual void __cdecl iop::CAccessCard::WritePrivateKey(class iop::CPrivateKeyBlob,unsigned char) __ptr64
+?WritePrivateKey@CAccessCard@iop@@UEAAXVCPrivateKeyBlob@2@E@Z
+; public: virtual void __cdecl iop::CCryptoCard::WritePrivateKey(class iop::CPrivateKeyBlob,unsigned char) __ptr64
+?WritePrivateKey@CCryptoCard@iop@@UEAAXVCPrivateKeyBlob@2@E@Z
+; public: virtual void __cdecl iop::CSmartCard::WritePrivateKey(class iop::CPrivateKeyBlob,unsigned char) __ptr64
+?WritePrivateKey@CSmartCard@iop@@UEAAXVCPrivateKeyBlob@2@E@Z
+; public: virtual void __cdecl iop::CAccessCard::WritePublicKey(class iop::CPublicKeyBlob,unsigned char) __ptr64
+?WritePublicKey@CAccessCard@iop@@UEAAXVCPublicKeyBlob@2@E@Z
+; public: virtual void __cdecl iop::CCryptoCard::WritePublicKey(class iop::CPublicKeyBlob,unsigned char) __ptr64
+?WritePublicKey@CCryptoCard@iop@@UEAAXVCPublicKeyBlob@2@E@Z
+; public: virtual void __cdecl iop::CSmartCard::WritePublicKey(class iop::CPublicKeyBlob,unsigned char) __ptr64
+?WritePublicKey@CSmartCard@iop@@UEAAXVCPublicKeyBlob@2@E@Z
+; protected: struct std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Node * __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Buynode(struct std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Node * __ptr64,struct std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Node * __ptr64) __ptr64
+?_Buynode@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@IEAAPEAU_Node@12@PEAU312@0@Z
+; protected: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Destroy(struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64 * __ptr64) __ptr64
+?_Destroy@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@IEAAXPEAPEAUEventInfo@iop@@0@Z
+; public: bool __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Eq(class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > const & __ptr64)const  __ptr64
+?_Eq@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_NAEBV12@@Z
+; protected: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Freenode(struct std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Node * __ptr64) __ptr64
+?_Freenode@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@IEAAXPEAU_Node@12@@Z
+; public: bool __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Lt(class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > const & __ptr64)const  __ptr64
+?_Lt@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_NAEBV12@@Z
+; protected: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Splice(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
+?_Splice@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@IEAAXViterator@12@AEAV12@00@Z
+; protected: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Ucopy(struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 * __ptr64) __ptr64
+?_Ucopy@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@IEAAPEAPEAUEventInfo@iop@@PEBQEAU34@0PEAPEAU34@@Z
+; protected: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Ufill(struct iop::EventInfo * __ptr64 * __ptr64,unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
+?_Ufill@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@IEAAXPEAPEAUEventInfo@iop@@_KAEBQEAU34@@Z
+; protected: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::_Xran(void)const  __ptr64
+?_Xran@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@IEBAXXZ
+; protected: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::_Xran(void)const  __ptr64
+?_Xran@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@IEBAXXZ
+; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::append(char const * __ptr64,unsigned __int64) __ptr64
+?append@?$SecureArray@D@scu@@QEAAAEAV12@PEBD_K@Z
+; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::append(unsigned __int64,char const & __ptr64) __ptr64
+?append@?$SecureArray@D@scu@@QEAAAEAV12@_KAEBD@Z
+; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::append(unsigned char const * __ptr64,unsigned __int64) __ptr64
+?append@?$SecureArray@E@scu@@QEAAAEAV12@PEBE_K@Z
+; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::append(unsigned __int64,unsigned char const & __ptr64) __ptr64
+?append@?$SecureArray@E@scu@@QEAAAEAV12@_KAEBE@Z
+; public: class scu::SecureArray<char> & __ptr64 __cdecl scu::SecureArray<char>::append_string(unsigned __int64,char const & __ptr64) __ptr64
+?append_string@?$SecureArray@D@scu@@QEAAAEAV12@_KAEBD@Z
+; public: class scu::SecureArray<unsigned char> & __ptr64 __cdecl scu::SecureArray<unsigned char>::append_string(unsigned __int64,unsigned char const & __ptr64) __ptr64
+?append_string@?$SecureArray@E@scu@@QEAAAEAV12@_KAEBE@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::assign(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator) __ptr64
+?assign@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXVconst_iterator@12@0@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::assign(unsigned __int64,class iop::FilePathComponent const & __ptr64) __ptr64
+?assign@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAX_KAEBVFilePathComponent@iop@@@Z
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::assign(struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64) __ptr64
+?assign@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXPEBQEAUEventInfo@iop@@0@Z
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::assign(unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
+?assign@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAX_KAEBQEAUEventInfo@iop@@@Z
+; public: struct iop::EventInfo * __ptr64 & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::at(unsigned __int64) __ptr64
+?at@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAPEAUEventInfo@iop@@_K@Z
+; public: struct iop::EventInfo * __ptr64 const & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::at(unsigned __int64)const  __ptr64
+?at@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAAEBQEAUEventInfo@iop@@_K@Z
+; public: class iop::FilePathComponent & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::back(void) __ptr64
+?back@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAAEAVFilePathComponent@iop@@XZ
+; public: class iop::FilePathComponent const & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::back(void)const  __ptr64
+?back@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBAAEBVFilePathComponent@iop@@XZ
+; public: struct iop::EventInfo * __ptr64 & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::back(void) __ptr64
+?back@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAPEAUEventInfo@iop@@XZ
+; public: struct iop::EventInfo * __ptr64 const & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::back(void)const  __ptr64
+?back@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAAEBQEAUEventInfo@iop@@XZ
+; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::begin(void) __ptr64
+?begin@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@XZ
+; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::begin(void)const  __ptr64
+?begin@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
+; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::begin(void) __ptr64
+?begin@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@XZ
+; public: struct iop::EventInfo * __ptr64 const * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::begin(void)const  __ptr64
+?begin@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAPEBQEAUEventInfo@iop@@XZ
+; public: unsigned __int64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::capacity(void)const  __ptr64
+?capacity@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_KXZ
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::clear(void) __ptr64
+?clear@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::clear(void) __ptr64
+?clear@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXXZ
+; public: char * __ptr64 __cdecl scu::SecureArray<char>::data(void) __ptr64
+?data@?$SecureArray@D@scu@@QEAAPEADXZ
+; public: char const * __ptr64 __cdecl scu::SecureArray<char>::data(void)const  __ptr64
+?data@?$SecureArray@D@scu@@QEBAPEBDXZ
+; public: unsigned char * __ptr64 __cdecl scu::SecureArray<unsigned char>::data(void) __ptr64
+?data@?$SecureArray@E@scu@@QEAAPEAEXZ
+; public: unsigned char const * __ptr64 __cdecl scu::SecureArray<unsigned char>::data(void)const  __ptr64
+?data@?$SecureArray@E@scu@@QEBAPEBEXZ
+; public: bool __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::empty(void)const  __ptr64
+?empty@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA_NXZ
+; public: bool __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::empty(void)const  __ptr64
+?empty@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_NXZ
+; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::end(void) __ptr64
+?end@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@XZ
+; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::end(void)const  __ptr64
+?end@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
+; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::end(void) __ptr64
+?end@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@XZ
+; public: struct iop::EventInfo * __ptr64 const * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::end(void)const  __ptr64
+?end@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAPEBQEAUEventInfo@iop@@XZ
+; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::erase(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
+?erase@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@V312@0@Z
+; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::erase(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
+?erase@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@V312@@Z
+; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::erase(struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64 * __ptr64) __ptr64
+?erase@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@PEAPEAU34@0@Z
+; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::erase(struct iop::EventInfo * __ptr64 * __ptr64) __ptr64
+?erase@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@PEAPEAU34@@Z
+; public: class iop::FilePathComponent & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::front(void) __ptr64
+?front@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAAEAVFilePathComponent@iop@@XZ
+; public: class iop::FilePathComponent const & __ptr64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::front(void)const  __ptr64
+?front@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBAAEBVFilePathComponent@iop@@XZ
+; public: struct iop::EventInfo * __ptr64 & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::front(void) __ptr64
+?front@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAAEAPEAUEventInfo@iop@@XZ
+; public: struct iop::EventInfo * __ptr64 const & __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::front(void)const  __ptr64
+?front@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBAAEBQEAUEventInfo@iop@@XZ
+; public: class iop::CSharedMarker * __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::get(void)const  __ptr64
+?get@?$auto_ptr@VCSharedMarker@iop@@@std@@QEBAPEAVCSharedMarker@iop@@XZ
+; public: class iop::RMHangProcDeathSynchObjects * __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::get(void)const  __ptr64
+?get@?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEBAPEAVRMHangProcDeathSynchObjects@iop@@XZ
+; public: void __cdecl iop::CSmartCard::getATR(unsigned char * __ptr64,unsigned char & __ptr64) __ptr64
+?getATR@CSmartCard@iop@@QEAAXPEAEAEAE@Z
+; public: unsigned __int64 __cdecl iop::CSmartCard::getCardHandle(void) __ptr64
+?getCardHandle@CSmartCard@iop@@QEAA_KXZ
+; public: char const * __ptr64 __cdecl iop::CSmartCard::getCardName(void)const  __ptr64
+?getCardName@CSmartCard@iop@@QEBAPEBDXZ
+; public: class std::allocator<class iop::FilePathComponent>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::get_allocator(void)const  __ptr64
+?get_allocator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AV?$allocator@VFilePathComponent@iop@@@2@XZ
+; public: class std::allocator<struct iop::EventInfo * __ptr64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::get_allocator(void)const  __ptr64
+?get_allocator@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA?AV?$allocator@PEAUEventInfo@iop@@@2@XZ
+; public: class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::insert(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class iop::FilePathComponent const & __ptr64) __ptr64
+?insert@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AViterator@12@V312@AEBVFilePathComponent@iop@@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::insert(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class iop::FilePathComponent const * __ptr64,class iop::FilePathComponent const * __ptr64) __ptr64
+?insert@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@PEBVFilePathComponent@iop@@1@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::insert(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator) __ptr64
+?insert@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@Vconst_iterator@12@1@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::insert(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,unsigned __int64,class iop::FilePathComponent const & __ptr64) __ptr64
+?insert@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@_KAEBVFilePathComponent@iop@@@Z
+; public: struct iop::EventInfo * __ptr64 * __ptr64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::insert(struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
+?insert@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAPEAPEAUEventInfo@iop@@PEAPEAU34@AEBQEAU34@@Z
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::insert(struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64) __ptr64
+?insert@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXPEAPEAUEventInfo@iop@@PEBQEAU34@1@Z
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::insert(struct iop::EventInfo * __ptr64 * __ptr64,unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
+?insert@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXPEAPEAUEventInfo@iop@@_KAEBQEAU34@@Z
+; public: unsigned __int64 __cdecl scu::SecureArray<char>::length(void)const  __ptr64
+?length@?$SecureArray@D@scu@@QEBA_KXZ
+; public: unsigned __int64 __cdecl scu::SecureArray<unsigned char>::length(void)const  __ptr64
+?length@?$SecureArray@E@scu@@QEBA_KXZ
+; public: unsigned __int64 __cdecl scu::SecureArray<char>::length_string(void)const  __ptr64
+?length_string@?$SecureArray@D@scu@@QEBA_KXZ
+; public: unsigned __int64 __cdecl scu::SecureArray<unsigned char>::length_string(void)const  __ptr64
+?length_string@?$SecureArray@E@scu@@QEBA_KXZ
+; public: unsigned __int64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::max_size(void)const  __ptr64
+?max_size@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA_KXZ
+; public: unsigned __int64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::max_size(void)const  __ptr64
+?max_size@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_KXZ
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::merge(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64) __ptr64
+?merge@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::merge(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64,struct std::greater<class iop::FilePathComponent>) __ptr64
+?merge@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEAV12@U?$greater@VFilePathComponent@iop@@@2@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::pop_back(void) __ptr64
+?pop_back@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::pop_back(void) __ptr64
+?pop_back@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::pop_front(void) __ptr64
+?pop_front@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::push_back(class iop::FilePathComponent const & __ptr64) __ptr64
+?push_back@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEBVFilePathComponent@iop@@@Z
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::push_back(struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
+?push_back@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXAEBQEAUEventInfo@iop@@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::push_front(class iop::FilePathComponent const & __ptr64) __ptr64
+?push_front@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEBVFilePathComponent@iop@@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class iop::FilePathComponent,class iop::FilePathComponent & __ptr64,class iop::FilePathComponent * __ptr64,__int64>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::rbegin(void) __ptr64
+?rbegin@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@VFilePathComponent@iop@@AEAV45@PEAV45@_J@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class iop::FilePathComponent,class iop::FilePathComponent const & __ptr64,class iop::FilePathComponent const * __ptr64,__int64>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::rbegin(void)const  __ptr64
+?rbegin@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@VFilePathComponent@iop@@AEBV45@PEBV45@_J@2@XZ
+; public: class std::reverse_iterator<struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64,struct iop::EventInfo * __ptr64 & __ptr64,struct iop::EventInfo * __ptr64 * __ptr64,__int64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::rbegin(void) __ptr64
+?rbegin@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA?AV?$reverse_iterator@PEAPEAUEventInfo@iop@@PEAU12@AEAPEAU12@PEAPEAU12@_J@2@XZ
+; public: class std::reverse_iterator<struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64,struct iop::EventInfo * __ptr64 const & __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,__int64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::rbegin(void)const  __ptr64
+?rbegin@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA?AV?$reverse_iterator@PEBQEAUEventInfo@iop@@PEAU12@AEBQEAU12@PEBQEAU12@_J@2@XZ
+; public: class iop::CSharedMarker * __ptr64 __cdecl std::auto_ptr<class iop::CSharedMarker>::release(void)const  __ptr64
+?release@?$auto_ptr@VCSharedMarker@iop@@@std@@QEBAPEAVCSharedMarker@iop@@XZ
+; public: class iop::RMHangProcDeathSynchObjects * __ptr64 __cdecl std::auto_ptr<class iop::RMHangProcDeathSynchObjects>::release(void)const  __ptr64
+?release@?$auto_ptr@VRMHangProcDeathSynchObjects@iop@@@std@@QEBAPEAVRMHangProcDeathSynchObjects@iop@@XZ
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::remove(class iop::FilePathComponent const & __ptr64) __ptr64
+?remove@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEBVFilePathComponent@iop@@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::remove_if(class std::binder2nd<struct std::not_equal_to<class iop::FilePathComponent> >) __ptr64
+?remove_if@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXV?$binder2nd@U?$not_equal_to@VFilePathComponent@iop@@@std@@@2@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class iop::FilePathComponent,class iop::FilePathComponent & __ptr64,class iop::FilePathComponent * __ptr64,__int64>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::rend(void) __ptr64
+?rend@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@VFilePathComponent@iop@@AEAV45@PEAV45@_J@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::const_iterator,class iop::FilePathComponent,class iop::FilePathComponent const & __ptr64,class iop::FilePathComponent const * __ptr64,__int64>  __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::rend(void)const  __ptr64
+?rend@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@VFilePathComponent@iop@@AEBV45@PEBV45@_J@2@XZ
+; public: class std::reverse_iterator<struct iop::EventInfo * __ptr64 * __ptr64,struct iop::EventInfo * __ptr64,struct iop::EventInfo * __ptr64 & __ptr64,struct iop::EventInfo * __ptr64 * __ptr64,__int64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::rend(void) __ptr64
+?rend@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAA?AV?$reverse_iterator@PEAPEAUEventInfo@iop@@PEAU12@AEAPEAU12@PEAPEAU12@_J@2@XZ
+; public: class std::reverse_iterator<struct iop::EventInfo * __ptr64 const * __ptr64,struct iop::EventInfo * __ptr64,struct iop::EventInfo * __ptr64 const & __ptr64,struct iop::EventInfo * __ptr64 const * __ptr64,__int64>  __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::rend(void)const  __ptr64
+?rend@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA?AV?$reverse_iterator@PEBQEAUEventInfo@iop@@PEAU12@AEBQEAU12@PEBQEAU12@_J@2@XZ
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::reserve(unsigned __int64) __ptr64
+?reserve@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAX_K@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::resize(unsigned __int64,class iop::FilePathComponent) __ptr64
+?resize@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAX_KVFilePathComponent@iop@@@Z
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::resize(unsigned __int64,struct iop::EventInfo * __ptr64 const & __ptr64) __ptr64
+?resize@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAX_KAEBQEAUEventInfo@iop@@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::reverse(void) __ptr64
+?reverse@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
+; public: void __cdecl iop::CSmartCard::setCardName(char const * __ptr64) __ptr64
+?setCardName@CSmartCard@iop@@QEAAXPEBD@Z
+; public: unsigned __int64 __cdecl scu::SecureArray<char>::size(void)const  __ptr64
+?size@?$SecureArray@D@scu@@QEBA_KXZ
+; public: unsigned __int64 __cdecl scu::SecureArray<unsigned char>::size(void)const  __ptr64
+?size@?$SecureArray@E@scu@@QEBA_KXZ
+; public: unsigned __int64 __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::size(void)const  __ptr64
+?size@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEBA_KXZ
+; public: unsigned __int64 __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::size(void)const  __ptr64
+?size@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEBA_KXZ
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::sort(struct std::greater<class iop::FilePathComponent>) __ptr64
+?sort@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXU?$greater@VFilePathComponent@iop@@@2@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::sort(void) __ptr64
+?sort@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::splice(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
+?splice@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@AEAV12@00@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::splice(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator) __ptr64
+?splice@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@AEAV12@0@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::splice(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::iterator,class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64) __ptr64
+?splice@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXViterator@12@AEAV12@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::swap(class std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> > & __ptr64) __ptr64
+?swap@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> >::swap(class std::vector<struct iop::EventInfo * __ptr64,class std::allocator<struct iop::EventInfo * __ptr64> > & __ptr64) __ptr64
+?swap@?$vector@PEAUEventInfo@iop@@V?$allocator@PEAUEventInfo@iop@@@std@@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::unique(struct std::not_equal_to<class iop::FilePathComponent>) __ptr64
+?unique@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXU?$not_equal_to@VFilePathComponent@iop@@@2@@Z
+; public: void __cdecl std::list<class iop::FilePathComponent,class std::allocator<class iop::FilePathComponent> >::unique(void) __ptr64
+?unique@?$list@VFilePathComponent@iop@@V?$allocator@VFilePathComponent@iop@@@std@@@std@@QEAAXXZ
+DllGetVersion
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/smlogcfg.def b/mingw-w64-crt/lib64/smlogcfg.def
index 156f418..ade1564 100644
--- a/mingw-w64-crt/lib64/smlogcfg.def
+++ b/mingw-w64-crt/lib64/smlogcfg.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SmLogCfg.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SmLogCfg.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SmLogCfg.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SmLogCfg.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/smtpadm.def b/mingw-w64-crt/lib64/smtpadm.def
index b6ce239..9e227fd 100644
--- a/mingw-w64-crt/lib64/smtpadm.def
+++ b/mingw-w64-crt/lib64/smtpadm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SMTPADM.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SMTPADM.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SMTPADM.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SMTPADM.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/smtpapi.def b/mingw-w64-crt/lib64/smtpapi.def
index 3f5af64..0e1accf 100644
--- a/mingw-w64-crt/lib64/smtpapi.def
+++ b/mingw-w64-crt/lib64/smtpapi.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file SMTPAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SMTPAPI.dll
-EXPORTS
-SmtpBackupRoutingTable
-SmtpClearStatistics
-SmtpCreateDistList
-SmtpCreateDistListMember
-SmtpCreateUser
-SmtpDeleteDistList
-SmtpDeleteDistListMember
-SmtpDeleteUser
-SmtpDisconnectUser
-SmtpGetAdminInformation
-SmtpGetConnectedUserList
-SmtpGetNameList
-SmtpGetNameListFromList
-SmtpGetUserProps
-SmtpGetVRootSize
-SmtpQueryStatistics
-SmtpSetAdminInformation
-SmtpSetUserProps
+; 
+; Exports of file SMTPAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SMTPAPI.dll
+EXPORTS
+SmtpBackupRoutingTable
+SmtpClearStatistics
+SmtpCreateDistList
+SmtpCreateDistListMember
+SmtpCreateUser
+SmtpDeleteDistList
+SmtpDeleteDistListMember
+SmtpDeleteUser
+SmtpDisconnectUser
+SmtpGetAdminInformation
+SmtpGetConnectedUserList
+SmtpGetNameList
+SmtpGetNameListFromList
+SmtpGetUserProps
+SmtpGetVRootSize
+SmtpQueryStatistics
+SmtpSetAdminInformation
+SmtpSetUserProps
diff --git a/mingw-w64-crt/lib64/smtpcons.def b/mingw-w64-crt/lib64/smtpcons.def
index 732078d..a379bbf 100644
--- a/mingw-w64-crt/lib64/smtpcons.def
+++ b/mingw-w64-crt/lib64/smtpcons.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SMTPCONS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SMTPCONS.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SMTPCONS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SMTPCONS.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/smtpctrs.def b/mingw-w64-crt/lib64/smtpctrs.def
index 5b2bb09..4059c3b 100644
--- a/mingw-w64-crt/lib64/smtpctrs.def
+++ b/mingw-w64-crt/lib64/smtpctrs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file SMTPCTRS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SMTPCTRS.dll
-EXPORTS
-OpenSmtpPerformanceData
-CollectSmtpPerformanceData
-CloseSmtpPerformanceData
+; 
+; Exports of file SMTPCTRS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SMTPCTRS.dll
+EXPORTS
+OpenSmtpPerformanceData
+CollectSmtpPerformanceData
+CloseSmtpPerformanceData
diff --git a/mingw-w64-crt/lib64/smtpsnap.def b/mingw-w64-crt/lib64/smtpsnap.def
index 42518c0..c58dc7e 100644
--- a/mingw-w64-crt/lib64/smtpsnap.def
+++ b/mingw-w64-crt/lib64/smtpsnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file smtpsnap.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY smtpsnap.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file smtpsnap.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY smtpsnap.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/smtpsvc.def b/mingw-w64-crt/lib64/smtpsvc.def
index 4731f1e..5f82e0f 100644
--- a/mingw-w64-crt/lib64/smtpsvc.def
+++ b/mingw-w64-crt/lib64/smtpsvc.def
@@ -1,343 +1,343 @@
-; 
-; Exports of file SMTPSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SMTPSVC.dll
-EXPORTS
-; public: __cdecl HASH_TABLE::HASH_TABLE(class HASH_TABLE const & __ptr64) __ptr64
-??0HASH_TABLE@@QEAA@AEBV0@@Z
-; public: __cdecl HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const & __ptr64) __ptr64
-??0HT_ELEMENT@@QEAA@AEBV0@@Z
-; public: __cdecl HT_ELEMENT::HT_ELEMENT(void) __ptr64
-??0HT_ELEMENT@@QEAA@XZ
-; public: __cdecl IIS_CTL::IIS_CTL(class IIS_CTL const & __ptr64) __ptr64
-??0IIS_CTL@@QEAA@AEBV0@@Z
-; public: __cdecl IIS_SERVER_CERT::IIS_SERVER_CERT(class IIS_SERVER_CERT const & __ptr64) __ptr64
-??0IIS_SERVER_CERT@@QEAA@AEBV0@@Z
-; public: __cdecl IIS_SERVICE::IIS_SERVICE(class IIS_SERVICE const & __ptr64) __ptr64
-??0IIS_SERVICE@@QEAA@AEBV0@@Z
-; public: __cdecl IIS_SSL_INFO::IIS_SSL_INFO(class IIS_SSL_INFO const & __ptr64) __ptr64
-??0IIS_SSL_INFO@@QEAA@AEBV0@@Z
-; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
-??0LOGGING@@QEAA@AEBV0@@Z
-; public: virtual __cdecl HASH_TABLE::~HASH_TABLE(void) __ptr64
-??1HASH_TABLE@@UEAA@XZ
-; public: virtual __cdecl HT_ELEMENT::~HT_ELEMENT(void) __ptr64
-??1HT_ELEMENT@@UEAA@XZ
-; public: class HASH_TABLE & __ptr64 __cdecl HASH_TABLE::operator=(class HASH_TABLE const & __ptr64) __ptr64
-??4HASH_TABLE@@QEAAAEAV0@AEBV0@@Z
-; public: class HT_ELEMENT & __ptr64 __cdecl HT_ELEMENT::operator=(class HT_ELEMENT const & __ptr64) __ptr64
-??4HT_ELEMENT@@QEAAAEAV0@AEBV0@@Z
-; public: class IIS_CTL & __ptr64 __cdecl IIS_CTL::operator=(class IIS_CTL const & __ptr64) __ptr64
-??4IIS_CTL@@QEAAAEAV0@AEBV0@@Z
-; public: class IIS_SERVER_CERT & __ptr64 __cdecl IIS_SERVER_CERT::operator=(class IIS_SERVER_CERT const & __ptr64) __ptr64
-??4IIS_SERVER_CERT@@QEAAAEAV0@AEBV0@@Z
-; public: class IIS_SERVICE & __ptr64 __cdecl IIS_SERVICE::operator=(class IIS_SERVICE const & __ptr64) __ptr64
-??4IIS_SERVICE@@QEAAAEAV0@AEBV0@@Z
-; public: class IIS_SSL_INFO & __ptr64 __cdecl IIS_SSL_INFO::operator=(class IIS_SSL_INFO const & __ptr64) __ptr64
-??4IIS_SSL_INFO@@QEAAAEAV0@AEBV0@@Z
-; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
-??4LOGGING@@QEAAAEAV0@AEBV0@@Z
-; public: class TSVC_CACHE & __ptr64 __cdecl TSVC_CACHE::operator=(class TSVC_CACHE const & __ptr64) __ptr64
-??4TSVC_CACHE@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl INET_PARSER::operator+=(int) __ptr64
-??YINET_PARSER@@QEAAXH@Z
-; const  HASH_TABLE::`vftable'
-??_7HASH_TABLE@@6B@
-; const  HT_ELEMENT::`vftable'
-??_7HT_ELEMENT@@6B@
-; const  IIS_SERVICE::`vftable'
-??_7IIS_SERVICE@@6B@
-; public: void __cdecl IIS_SERVER_INSTANCE::AcquireFastLock(void) __ptr64
-?AcquireFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVICE::AcquireServiceLock(int) __ptr64
-?AcquireServiceLock@IIS_SERVICE@@QEAAXH@Z
-; private: static void __cdecl IIS_VROOT_TABLE::AddRefRecord(void const * __ptr64,int)
-?AddRefRecord@IIS_VROOT_TABLE@@CAXPEBXH@Z
-; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64)const  __ptr64
-?CalculateHash@HASH_TABLE@@UEBAKPEBD@Z
-; private: int __cdecl IIS_SSL_INFO::CheckSignature(void) __ptr64
-?CheckSignature@IIS_SSL_INFO@@AEAAHXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::CleanupAfterConstructorFailure(void) __ptr64
-?CleanupAfterConstructorFailure@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::DecrementCurrentConnections(void) __ptr64
-?DecrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: unsigned long __cdecl IIS_SERVICE::DelayCurrentServiceCtrlOperation(unsigned long) __ptr64
-?DelayCurrentServiceCtrlOperation@IIS_SERVICE@@QEAAKK@Z
-; public: virtual long __cdecl MIME_MAP_ENTRY::Dereference(void) __ptr64
-?Dereference@MIME_MAP_ENTRY@@UEAAJXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::DoServerNameCheck(void)const  __ptr64
-?DoServerNameCheck@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: char * __ptr64 __cdecl INET_PARSER::EatNonWhite(void) __ptr64
-?EatNonWhite@INET_PARSER@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl INET_PARSER::EatWhite(void) __ptr64
-?EatWhite@INET_PARSER@@QEAAPEADXZ
-; public: virtual int __cdecl COMMON_METADATA::FinishPrivateProperties(class BUFFER * __ptr64,unsigned long,int) __ptr64
-?FinishPrivateProperties@COMMON_METADATA@@UEAAHPEAVBUFFER@@KH@Z
-; public: unsigned long __cdecl HASH_TABLE::FlushElements(void) __ptr64
-?FlushElements@HASH_TABLE@@QEAAKXZ
-; public: unsigned long __cdecl TSVC_CACHE::GetInstanceId(void)const  __ptr64
-?GetInstanceId@TSVC_CACHE@@QEBAKXZ
-; public: void __cdecl IIS_SERVICE::GetMDInstancePath(unsigned long,char * __ptr64) __ptr64
-?GetMDInstancePath@IIS_SERVICE@@QEAAXKPEAD@Z
-; public: void * __ptr64 __cdecl TSVC_CACHE::GetServerInstance(void)const  __ptr64
-?GetServerInstance@TSVC_CACHE@@QEBAPEAXXZ
-; private: virtual unsigned long __cdecl IIS_SERVICE::GetServiceConfigInfoSize(unsigned long) __ptr64
-?GetServiceConfigInfoSize@IIS_SERVICE@@EEAAKK@Z
-; public: unsigned long __cdecl TSVC_CACHE::GetServiceId(void)const  __ptr64
-?GetServiceId@TSVC_CACHE@@QEBAKXZ
-; public: class CACHED_TOKEN * __ptr64 __cdecl TCP_AUTHENT::GetToken(void)const  __ptr64
-?GetToken@TCP_AUTHENT@@QEBAPEAVCACHED_TOKEN@@XZ
-; public: class TSVC_CACHE & __ptr64 __cdecl IIS_SERVER_INSTANCE::GetTsvcCache(void) __ptr64
-?GetTsvcCache@IIS_SERVER_INSTANCE@@QEAAAEAVTSVC_CACHE@@XZ
-; public: void * __ptr64 __cdecl TCP_AUTHENT::GetUserHandle(void) __ptr64
-?GetUserHandle@TCP_AUTHENT@@QEAAPEAXXZ
-; public: virtual int __cdecl COMMON_METADATA::HandlePrivateProperty(char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,struct _METADATA_GETALL_INTERNAL_RECORD * __ptr64,void * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,struct _METADATA_ERROR_INFO * __ptr64) __ptr64
-?HandlePrivateProperty@COMMON_METADATA@@UEAAHPEADPEAVIIS_SERVER_INSTANCE@@PEAU_METADATA_GETALL_INTERNAL_RECORD@@PEAXPEAVBUFFER@@PEAKPEAU_METADATA_ERROR_INFO@@@Z
-; public: int __cdecl IIS_SERVER_INSTANCE::HasNormalBindings(void)const  __ptr64
-?HasNormalBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::HasSecureBindings(void)const  __ptr64
-?HasSecureBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::IncrementCurrentConnections(void) __ptr64
-?IncrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: int __cdecl IIS_SERVICE::IsActive(void)const  __ptr64
-?IsActive@IIS_SERVICE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsAutoStart(void)const  __ptr64
-?IsAutoStart@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsClusterEnabled(void)const  __ptr64
-?IsClusterEnabled@IIS_SERVER_INSTANCE@@QEBAHXZ
-; private: int __cdecl IIS_SSL_INFO::IsDefaultCTL(void) __ptr64
-?IsDefaultCTL@IIS_SSL_INFO@@AEAAHXZ
-; public: int __cdecl IIS_SSL_INFO::IsDefaultCertificate(void) __ptr64
-?IsDefaultCertificate@IIS_SSL_INFO@@QEAAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsDownLevelInstance(void)const  __ptr64
-?IsDownLevelInstance@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_CERT::IsFortezzaCert(void) __ptr64
-?IsFortezzaCert@IIS_SERVER_CERT@@QEAAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::IsLoggingEnabledA(void)const  __ptr64
-?IsLoggingEnabledA@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: virtual int __cdecl MIME_MAP_ENTRY::IsMatch(char const * __ptr64,unsigned long)const  __ptr64
-?IsMatch@MIME_MAP_ENTRY@@UEBAHPEBDK@Z
-; public: int __cdecl IIS_SERVICE::IsMultiInstance(void)const  __ptr64
-?IsMultiInstance@IIS_SERVICE@@QEBAHXZ
-; public: int __cdecl IIS_SERVICE::IsSystemDBCS(void)const  __ptr64
-?IsSystemDBCS@IIS_SERVICE@@QEBAHXZ
-; public: int __cdecl HASH_TABLE::IsValid(void)const  __ptr64
-?IsValid@HASH_TABLE@@QEBAHXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::IsValid(void)const  __ptr64
-?IsValid@TS_OPEN_FILE_INFO@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::LoadStr(class STR & __ptr64,unsigned long,int)const  __ptr64
-?LoadStr@IIS_SERVER_INSTANCE@@QEBAHAEAVSTR@@KH@Z
-; public: void __cdecl IIS_SSL_INFO::Lock(void) __ptr64
-?Lock@IIS_SSL_INFO@@QEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::LockConvertExclusive(void) __ptr64
-?LockConvertExclusive@IIS_VROOT_TABLE@@QEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::LockExclusive(void) __ptr64
-?LockExclusive@IIS_VROOT_TABLE@@QEAAXXZ
-; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
-?LockExclusive@LOGGING@@AEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::LockShared(void) __ptr64
-?LockShared@IIS_VROOT_TABLE@@QEAAXXZ
-; private: void __cdecl LOGGING::LockShared(void) __ptr64
-?LockShared@LOGGING@@AEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForRead(void) __ptr64
-?LockThisForRead@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForWrite(void) __ptr64
-?LockThisForWrite@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVICE::LogEvent(unsigned long,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
-?LogEvent@IIS_SERVICE@@QEAAXKGQEAPEBDK@Z
-; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64) __ptr64
-?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBD@Z
-; public: char * __ptr64 __cdecl INET_PARSER::NextItem(void) __ptr64
-?NextItem@INET_PARSER@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl INET_PARSER::NextParam(void) __ptr64
-?NextParam@INET_PARSER@@QEAAPEADXZ
-; public: void __cdecl MIME_MAP::Print(void) __ptr64
-?Print@MIME_MAP@@QEAAXXZ
-; public: virtual void __cdecl MIME_MAP_ENTRY::Print(void)const  __ptr64
-?Print@MIME_MAP_ENTRY@@UEBAXXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExOutstanding(void)const  __ptr64
-?QueryAcceptExOutstanding@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExTimeout(void)const  __ptr64
-?QueryAcceptExTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: virtual class IIS_SSL_INFO * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryAndReferenceSSLInfoObj(void) __ptr64
-?QueryAndReferenceSSLInfoObj@IIS_SERVER_INSTANCE@@UEAAPEAVIIS_SSL_INFO@@XZ
-; public: unsigned long __cdecl TS_OPEN_FILE_INFO::QueryAttributes(void)const  __ptr64
-?QueryAttributes@TS_OPEN_FILE_INFO@@QEBAKXZ
-; public: void * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryBandwidthInfo(void)const  __ptr64
-?QueryBandwidthInfo@IIS_SERVER_INSTANCE@@QEBAPEAXXZ
-; public: class IIS_CTL * __ptr64 __cdecl IIS_SSL_INFO::QueryCTL(void) __ptr64
-?QueryCTL@IIS_SSL_INFO@@QEAAPEAVIIS_CTL@@XZ
-; public: struct _CTL_CONTEXT const * __ptr64 __cdecl IIS_CTL::QueryCTLContext(void) __ptr64
-?QueryCTLContext@IIS_CTL@@QEAAPEBU_CTL_CONTEXT@@XZ
-; public: struct _CERT_CONTEXT const * __ptr64 __cdecl IIS_SERVER_CERT::QueryCertContext(void) __ptr64
-?QueryCertContext@IIS_SERVER_CERT@@QEAAPEBU_CERT_CONTEXT@@XZ
-; public: struct _CERT_CONTEXT const * __ptr64 * __ptr64 __cdecl IIS_SERVER_CERT::QueryCertContextAddr(void) __ptr64
-?QueryCertContextAddr@IIS_SERVER_CERT@@QEAAPEAPEBU_CERT_CONTEXT@@XZ
-; public: class IIS_SERVER_CERT * __ptr64 __cdecl IIS_SSL_INFO::QueryCertificate(void) __ptr64
-?QueryCertificate@IIS_SSL_INFO@@QEAAPEAVIIS_SERVER_CERT@@XZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryConnectionTimeout(void)const  __ptr64
-?QueryConnectionTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryContainer(void) __ptr64
-?QueryContainer@IIS_SERVER_CERT@@QEAAPEADXZ
-; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCredHandle(void) __ptr64
-?QueryCredHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
-; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCtxtHandle(void) __ptr64
-?QueryCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryCurrentConnections(void)const  __ptr64
-?QueryCurrentConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceError(void)const  __ptr64
-?QueryCurrentServiceError@IIS_SERVICE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceState(void)const  __ptr64
-?QueryCurrentServiceState@IIS_SERVICE@@QEBAKXZ
-; public: unsigned short __cdecl IIS_SERVER_INSTANCE::QueryDefaultPort(void)const  __ptr64
-?QueryDefaultPort@IIS_SERVER_INSTANCE@@QEBAGXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryDownLevelInstance(void)const  __ptr64
-?QueryDownLevelInstance@IIS_SERVICE@@QEBAKXZ
-; public: char * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryETag(void)const  __ptr64
-?QueryETag@TS_OPEN_FILE_INFO@@QEBAPEADXZ
-; public: class EVENT_LOG * __ptr64 __cdecl IIS_SERVICE::QueryEventLog(void) __ptr64
-?QueryEventLog@IIS_SERVICE@@QEAAPEAVEVENT_LOG@@XZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryInstanceCount(void)const  __ptr64
-?QueryInstanceCount@IIS_SERVICE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryInstanceId(void)const  __ptr64
-?QueryInstanceId@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: virtual char const * __ptr64 __cdecl MIME_MAP_ENTRY::QueryKey(void)const  __ptr64
-?QueryKey@MIME_MAP_ENTRY@@UEBAPEBDXZ
-; public: virtual unsigned long __cdecl MIME_MAP_ENTRY::QueryKeyLen(void)const  __ptr64
-?QueryKeyLen@MIME_MAP_ENTRY@@UEBAKXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::QueryLastWriteTime(struct _FILETIME * __ptr64)const  __ptr64
-?QueryLastWriteTime@TS_OPEN_FILE_INFO@@QEBAHPEAU_FILETIME@@@Z
-; public: unsigned short * __ptr64 __cdecl IIS_CTL::QueryListIdentifier(void) __ptr64
-?QueryListIdentifier@IIS_CTL@@QEAAPEAGXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogAnonymous(void)const  __ptr64
-?QueryLogAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogNonAnonymous(void)const  __ptr64
-?QueryLogNonAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
-; public: char * __ptr64 __cdecl IIS_CTL::QueryMBPath(void) __ptr64
-?QueryMBPath@IIS_CTL@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryMBPath(void) __ptr64
-?QueryMBPath@IIS_SERVER_CERT@@QEAAPEADXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDPath(void)const  __ptr64
-?QueryMDPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryMDPath(void)const  __ptr64
-?QueryMDPath@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDPathLen(void)const  __ptr64
-?QueryMDPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDVRPath(void)const  __ptr64
-?QueryMDVRPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDVRPathLen(void)const  __ptr64
-?QueryMDVRPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxConnections(void)const  __ptr64
-?QueryMaxConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxEndpointConnections(void)const  __ptr64
-?QueryMaxEndpointConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: class MIME_MAP * __ptr64 __cdecl IIS_SERVICE::QueryMimeMap(void)const  __ptr64
-?QueryMimeMap@IIS_SERVICE@@QEBAPEAVMIME_MAP@@XZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryModuleName(void)const  __ptr64
-?QueryModuleName@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVER_CERT::QueryOpenFlags(void) __ptr64
-?QueryOpenFlags@IIS_SERVER_CERT@@QEAAKXZ
-; public: void * __ptr64 __cdecl IIS_CTL::QueryOriginalStore(void) __ptr64
-?QueryOriginalStore@IIS_CTL@@QEAAPEAXXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryProviderName(void) __ptr64
-?QueryProviderName@IIS_SERVER_CERT@@QEAAPEADXZ
-; public: unsigned long __cdecl IIS_SERVER_CERT::QueryProviderType(void) __ptr64
-?QueryProviderType@IIS_SERVER_CERT@@QEAAKXZ
-; public: long * __ptr64 __cdecl RefBlob::QueryRefCount(void) __ptr64
-?QueryRefCount@RefBlob@@QEAAPEAJXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRegParamKey(void)const  __ptr64
-?QueryRegParamKey@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryRegParamKey(void)const  __ptr64
-?QueryRegParamKey@IIS_SERVICE@@QEBAPEBDXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRoot(void)const  __ptr64
-?QueryRoot@IIS_SERVER_INSTANCE@@QEBAPEADXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QuerySavedState(void)const  __ptr64
-?QuerySavedState@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerSize(void)const  __ptr64
-?QueryServerSize@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerState(void)const  __ptr64
-?QueryServerState@IIS_SERVER_INSTANCE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceComment(void)const  __ptr64
-?QueryServiceComment@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryServiceId(void)const  __ptr64
-?QueryServiceId@IIS_SERVICE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceName(void)const  __ptr64
-?QueryServiceName@IIS_SERVICE@@QEBAPEBDXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryServiceSpecificExitCode(void)const  __ptr64
-?QueryServiceSpecificExitCode@IIS_SERVICE@@QEBAKXZ
-; public: unsigned long __cdecl IIS_SERVICE::QueryShutdownScheduleId(void)const  __ptr64
-?QueryShutdownScheduleId@IIS_SERVICE@@QEBAKXZ
-; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QuerySiteName(void)const  __ptr64
-?QuerySiteName@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(union _LARGE_INTEGER & __ptr64)const  __ptr64
-?QuerySize@TS_OPEN_FILE_INFO@@QEBAHAEAT_LARGE_INTEGER@@@Z
-; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(unsigned long * __ptr64,unsigned long * __ptr64)const  __ptr64
-?QuerySize@TS_OPEN_FILE_INFO@@QEBAHPEAK0@Z
-; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QuerySslCtxtHandle(void) __ptr64
-?QuerySslCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
-; public: unsigned long __cdecl IIS_CTL::QueryStatus(void) __ptr64
-?QueryStatus@IIS_CTL@@QEAAKXZ
-; public: void * __ptr64 __cdecl IIS_SERVER_CERT::QueryStoreHandle(void) __ptr64
-?QueryStoreHandle@IIS_SERVER_CERT@@QEAAPEAXXZ
-; public: char * __ptr64 __cdecl IIS_CTL::QueryStoreName(void) __ptr64
-?QueryStoreName@IIS_CTL@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryStoreName(void) __ptr64
-?QueryStoreName@IIS_SERVER_CERT@@QEAAPEADXZ
-; public: unsigned long __cdecl IIS_VROOT_TABLE::QueryVrootCount(void) __ptr64
-?QueryVrootCount@IIS_VROOT_TABLE@@QEAAKXZ
-; public: class IIS_VROOT_TABLE * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryVrootTable(void) __ptr64
-?QueryVrootTable@IIS_SERVER_INSTANCE@@QEAAPEAVIIS_VROOT_TABLE@@XZ
-; public: virtual long __cdecl MIME_MAP_ENTRY::Reference(void) __ptr64
-?Reference@MIME_MAP_ENTRY@@UEAAJXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::ReleaseFastLock(void) __ptr64
-?ReleaseFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: void __cdecl IIS_SERVICE::ReleaseServiceLock(int) __ptr64
-?ReleaseServiceLock@IIS_SERVICE@@QEAAXH@Z
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveNormalBindings(void) __ptr64
-?RemoveNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveSecureBindings(void) __ptr64
-?RemoveSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: void __cdecl INET_PARSER::RestoreBuffer(void) __ptr64
-?RestoreBuffer@INET_PARSER@@QEAAXXZ
-; public: int __cdecl TS_OPEN_FILE_INFO::RetrieveHttpInfo(char * __ptr64,int * __ptr64) __ptr64
-?RetrieveHttpInfo@TS_OPEN_FILE_INFO@@QEAAHPEADPEAH@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::SaveServerState(void) __ptr64
-?SaveServerState@IIS_SERVER_INSTANCE@@QEAAXXZ
-ServiceEntry
-; public: void __cdecl COMMON_METADATA::SetAccessPerms(unsigned long) __ptr64
-?SetAccessPerms@COMMON_METADATA@@QEAAXK@Z
-; public: void __cdecl TSVC_CACHE::SetParameters(unsigned long,unsigned long,void * __ptr64) __ptr64
-?SetParameters@TSVC_CACHE@@QEAAXKKPEAX@Z
-; public: void __cdecl IIS_SERVICE::SetServiceComment(char * __ptr64) __ptr64
-?SetServiceComment@IIS_SERVICE@@QEAAXPEAD@Z
-; public: void __cdecl IIS_SERVICE::SetServiceSpecificExitCode(unsigned long) __ptr64
-?SetServiceSpecificExitCode@IIS_SERVICE@@QEAAXK@Z
-; public: void __cdecl IIS_SERVER_INSTANCE::SetZapRegKey(void) __ptr64
-?SetZapRegKey@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: unsigned long __cdecl IIS_SERVER_CERT::Status(void) __ptr64
-?Status@IIS_SERVER_CERT@@QEAAKXZ
-; public: virtual void __cdecl IIS_SERVICE::StopInstanceProcs(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
-?StopInstanceProcs@IIS_SERVICE@@UEAAXPEAVIIS_SERVER_INSTANCE@@@Z
-; public: void __cdecl IIS_SSL_INFO::Unlock(void) __ptr64
-?Unlock@IIS_SSL_INFO@@QEAAXXZ
-; public: void __cdecl IIS_VROOT_TABLE::Unlock(void) __ptr64
-?Unlock@IIS_VROOT_TABLE@@QEAAXXZ
-; private: void __cdecl LOGGING::Unlock(void) __ptr64
-?Unlock@LOGGING@@AEAAXXZ
-; public: void __cdecl IIS_SERVER_INSTANCE::UnlockThis(void) __ptr64
-?UnlockThis@IIS_SERVER_INSTANCE@@QEAAXXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateNormalBindings(void) __ptr64
-?UpdateNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateSecureBindings(void) __ptr64
-?UpdateSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
-; private: int __cdecl IIS_SERVER_CERT::UseProgrammaticPINEntry(class MB * __ptr64) __ptr64
-?UseProgrammaticPINEntry@IIS_SERVER_CERT@@AEAAHPEAVMB@@@Z
-; public: int __cdecl TS_OPEN_FILE_INFO::WeakETag(void)const  __ptr64
-?WeakETag@TS_OPEN_FILE_INFO@@QEBAHXZ
-; int __cdecl uudecode(char * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,int)
-?uudecode@@YAHPEADPEAVBUFFER@@PEAKH@Z
-; int __cdecl uuencode(unsigned char * __ptr64,unsigned long,class BUFFER * __ptr64,int)
-?uuencode@@YAHPEAEKPEAVBUFFER@@H@Z
+; 
+; Exports of file SMTPSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SMTPSVC.dll
+EXPORTS
+; public: __cdecl HASH_TABLE::HASH_TABLE(class HASH_TABLE const & __ptr64) __ptr64
+??0HASH_TABLE@@QEAA@AEBV0@@Z
+; public: __cdecl HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const & __ptr64) __ptr64
+??0HT_ELEMENT@@QEAA@AEBV0@@Z
+; public: __cdecl HT_ELEMENT::HT_ELEMENT(void) __ptr64
+??0HT_ELEMENT@@QEAA@XZ
+; public: __cdecl IIS_CTL::IIS_CTL(class IIS_CTL const & __ptr64) __ptr64
+??0IIS_CTL@@QEAA@AEBV0@@Z
+; public: __cdecl IIS_SERVER_CERT::IIS_SERVER_CERT(class IIS_SERVER_CERT const & __ptr64) __ptr64
+??0IIS_SERVER_CERT@@QEAA@AEBV0@@Z
+; public: __cdecl IIS_SERVICE::IIS_SERVICE(class IIS_SERVICE const & __ptr64) __ptr64
+??0IIS_SERVICE@@QEAA@AEBV0@@Z
+; public: __cdecl IIS_SSL_INFO::IIS_SSL_INFO(class IIS_SSL_INFO const & __ptr64) __ptr64
+??0IIS_SSL_INFO@@QEAA@AEBV0@@Z
+; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
+??0LOGGING@@QEAA@AEBV0@@Z
+; public: virtual __cdecl HASH_TABLE::~HASH_TABLE(void) __ptr64
+??1HASH_TABLE@@UEAA@XZ
+; public: virtual __cdecl HT_ELEMENT::~HT_ELEMENT(void) __ptr64
+??1HT_ELEMENT@@UEAA@XZ
+; public: class HASH_TABLE & __ptr64 __cdecl HASH_TABLE::operator=(class HASH_TABLE const & __ptr64) __ptr64
+??4HASH_TABLE@@QEAAAEAV0@AEBV0@@Z
+; public: class HT_ELEMENT & __ptr64 __cdecl HT_ELEMENT::operator=(class HT_ELEMENT const & __ptr64) __ptr64
+??4HT_ELEMENT@@QEAAAEAV0@AEBV0@@Z
+; public: class IIS_CTL & __ptr64 __cdecl IIS_CTL::operator=(class IIS_CTL const & __ptr64) __ptr64
+??4IIS_CTL@@QEAAAEAV0@AEBV0@@Z
+; public: class IIS_SERVER_CERT & __ptr64 __cdecl IIS_SERVER_CERT::operator=(class IIS_SERVER_CERT const & __ptr64) __ptr64
+??4IIS_SERVER_CERT@@QEAAAEAV0@AEBV0@@Z
+; public: class IIS_SERVICE & __ptr64 __cdecl IIS_SERVICE::operator=(class IIS_SERVICE const & __ptr64) __ptr64
+??4IIS_SERVICE@@QEAAAEAV0@AEBV0@@Z
+; public: class IIS_SSL_INFO & __ptr64 __cdecl IIS_SSL_INFO::operator=(class IIS_SSL_INFO const & __ptr64) __ptr64
+??4IIS_SSL_INFO@@QEAAAEAV0@AEBV0@@Z
+; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
+??4LOGGING@@QEAAAEAV0@AEBV0@@Z
+; public: class TSVC_CACHE & __ptr64 __cdecl TSVC_CACHE::operator=(class TSVC_CACHE const & __ptr64) __ptr64
+??4TSVC_CACHE@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl INET_PARSER::operator+=(int) __ptr64
+??YINET_PARSER@@QEAAXH@Z
+; const  HASH_TABLE::`vftable'
+??_7HASH_TABLE@@6B@
+; const  HT_ELEMENT::`vftable'
+??_7HT_ELEMENT@@6B@
+; const  IIS_SERVICE::`vftable'
+??_7IIS_SERVICE@@6B@
+; public: void __cdecl IIS_SERVER_INSTANCE::AcquireFastLock(void) __ptr64
+?AcquireFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVICE::AcquireServiceLock(int) __ptr64
+?AcquireServiceLock@IIS_SERVICE@@QEAAXH@Z
+; private: static void __cdecl IIS_VROOT_TABLE::AddRefRecord(void const * __ptr64,int)
+?AddRefRecord@IIS_VROOT_TABLE@@CAXPEBXH@Z
+; public: virtual unsigned long __cdecl HASH_TABLE::CalculateHash(char const * __ptr64)const  __ptr64
+?CalculateHash@HASH_TABLE@@UEBAKPEBD@Z
+; private: int __cdecl IIS_SSL_INFO::CheckSignature(void) __ptr64
+?CheckSignature@IIS_SSL_INFO@@AEAAHXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::CleanupAfterConstructorFailure(void) __ptr64
+?CleanupAfterConstructorFailure@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::DecrementCurrentConnections(void) __ptr64
+?DecrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: unsigned long __cdecl IIS_SERVICE::DelayCurrentServiceCtrlOperation(unsigned long) __ptr64
+?DelayCurrentServiceCtrlOperation@IIS_SERVICE@@QEAAKK@Z
+; public: virtual long __cdecl MIME_MAP_ENTRY::Dereference(void) __ptr64
+?Dereference@MIME_MAP_ENTRY@@UEAAJXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::DoServerNameCheck(void)const  __ptr64
+?DoServerNameCheck@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: char * __ptr64 __cdecl INET_PARSER::EatNonWhite(void) __ptr64
+?EatNonWhite@INET_PARSER@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl INET_PARSER::EatWhite(void) __ptr64
+?EatWhite@INET_PARSER@@QEAAPEADXZ
+; public: virtual int __cdecl COMMON_METADATA::FinishPrivateProperties(class BUFFER * __ptr64,unsigned long,int) __ptr64
+?FinishPrivateProperties@COMMON_METADATA@@UEAAHPEAVBUFFER@@KH@Z
+; public: unsigned long __cdecl HASH_TABLE::FlushElements(void) __ptr64
+?FlushElements@HASH_TABLE@@QEAAKXZ
+; public: unsigned long __cdecl TSVC_CACHE::GetInstanceId(void)const  __ptr64
+?GetInstanceId@TSVC_CACHE@@QEBAKXZ
+; public: void __cdecl IIS_SERVICE::GetMDInstancePath(unsigned long,char * __ptr64) __ptr64
+?GetMDInstancePath@IIS_SERVICE@@QEAAXKPEAD@Z
+; public: void * __ptr64 __cdecl TSVC_CACHE::GetServerInstance(void)const  __ptr64
+?GetServerInstance@TSVC_CACHE@@QEBAPEAXXZ
+; private: virtual unsigned long __cdecl IIS_SERVICE::GetServiceConfigInfoSize(unsigned long) __ptr64
+?GetServiceConfigInfoSize@IIS_SERVICE@@EEAAKK@Z
+; public: unsigned long __cdecl TSVC_CACHE::GetServiceId(void)const  __ptr64
+?GetServiceId@TSVC_CACHE@@QEBAKXZ
+; public: class CACHED_TOKEN * __ptr64 __cdecl TCP_AUTHENT::GetToken(void)const  __ptr64
+?GetToken@TCP_AUTHENT@@QEBAPEAVCACHED_TOKEN@@XZ
+; public: class TSVC_CACHE & __ptr64 __cdecl IIS_SERVER_INSTANCE::GetTsvcCache(void) __ptr64
+?GetTsvcCache@IIS_SERVER_INSTANCE@@QEAAAEAVTSVC_CACHE@@XZ
+; public: void * __ptr64 __cdecl TCP_AUTHENT::GetUserHandle(void) __ptr64
+?GetUserHandle@TCP_AUTHENT@@QEAAPEAXXZ
+; public: virtual int __cdecl COMMON_METADATA::HandlePrivateProperty(char * __ptr64,class IIS_SERVER_INSTANCE * __ptr64,struct _METADATA_GETALL_INTERNAL_RECORD * __ptr64,void * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,struct _METADATA_ERROR_INFO * __ptr64) __ptr64
+?HandlePrivateProperty@COMMON_METADATA@@UEAAHPEADPEAVIIS_SERVER_INSTANCE@@PEAU_METADATA_GETALL_INTERNAL_RECORD@@PEAXPEAVBUFFER@@PEAKPEAU_METADATA_ERROR_INFO@@@Z
+; public: int __cdecl IIS_SERVER_INSTANCE::HasNormalBindings(void)const  __ptr64
+?HasNormalBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::HasSecureBindings(void)const  __ptr64
+?HasSecureBindings@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::IncrementCurrentConnections(void) __ptr64
+?IncrementCurrentConnections@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: int __cdecl IIS_SERVICE::IsActive(void)const  __ptr64
+?IsActive@IIS_SERVICE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsAutoStart(void)const  __ptr64
+?IsAutoStart@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsClusterEnabled(void)const  __ptr64
+?IsClusterEnabled@IIS_SERVER_INSTANCE@@QEBAHXZ
+; private: int __cdecl IIS_SSL_INFO::IsDefaultCTL(void) __ptr64
+?IsDefaultCTL@IIS_SSL_INFO@@AEAAHXZ
+; public: int __cdecl IIS_SSL_INFO::IsDefaultCertificate(void) __ptr64
+?IsDefaultCertificate@IIS_SSL_INFO@@QEAAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsDownLevelInstance(void)const  __ptr64
+?IsDownLevelInstance@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_CERT::IsFortezzaCert(void) __ptr64
+?IsFortezzaCert@IIS_SERVER_CERT@@QEAAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::IsLoggingEnabledA(void)const  __ptr64
+?IsLoggingEnabledA@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: virtual int __cdecl MIME_MAP_ENTRY::IsMatch(char const * __ptr64,unsigned long)const  __ptr64
+?IsMatch@MIME_MAP_ENTRY@@UEBAHPEBDK@Z
+; public: int __cdecl IIS_SERVICE::IsMultiInstance(void)const  __ptr64
+?IsMultiInstance@IIS_SERVICE@@QEBAHXZ
+; public: int __cdecl IIS_SERVICE::IsSystemDBCS(void)const  __ptr64
+?IsSystemDBCS@IIS_SERVICE@@QEBAHXZ
+; public: int __cdecl HASH_TABLE::IsValid(void)const  __ptr64
+?IsValid@HASH_TABLE@@QEBAHXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::IsValid(void)const  __ptr64
+?IsValid@TS_OPEN_FILE_INFO@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::LoadStr(class STR & __ptr64,unsigned long,int)const  __ptr64
+?LoadStr@IIS_SERVER_INSTANCE@@QEBAHAEAVSTR@@KH@Z
+; public: void __cdecl IIS_SSL_INFO::Lock(void) __ptr64
+?Lock@IIS_SSL_INFO@@QEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::LockConvertExclusive(void) __ptr64
+?LockConvertExclusive@IIS_VROOT_TABLE@@QEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::LockExclusive(void) __ptr64
+?LockExclusive@IIS_VROOT_TABLE@@QEAAXXZ
+; private: void __cdecl LOGGING::LockExclusive(void) __ptr64
+?LockExclusive@LOGGING@@AEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::LockShared(void) __ptr64
+?LockShared@IIS_VROOT_TABLE@@QEAAXXZ
+; private: void __cdecl LOGGING::LockShared(void) __ptr64
+?LockShared@LOGGING@@AEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForRead(void) __ptr64
+?LockThisForRead@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::LockThisForWrite(void) __ptr64
+?LockThisForWrite@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVICE::LogEvent(unsigned long,unsigned short,char const * __ptr64 * __ptr64 const,unsigned long) __ptr64
+?LogEvent@IIS_SERVICE@@QEAAXKGQEAPEBDK@Z
+; public: class HT_ELEMENT * __ptr64 __cdecl HASH_TABLE::Lookup(char const * __ptr64) __ptr64
+?Lookup@HASH_TABLE@@QEAAPEAVHT_ELEMENT@@PEBD@Z
+; public: char * __ptr64 __cdecl INET_PARSER::NextItem(void) __ptr64
+?NextItem@INET_PARSER@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl INET_PARSER::NextParam(void) __ptr64
+?NextParam@INET_PARSER@@QEAAPEADXZ
+; public: void __cdecl MIME_MAP::Print(void) __ptr64
+?Print@MIME_MAP@@QEAAXXZ
+; public: virtual void __cdecl MIME_MAP_ENTRY::Print(void)const  __ptr64
+?Print@MIME_MAP_ENTRY@@UEBAXXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExOutstanding(void)const  __ptr64
+?QueryAcceptExOutstanding@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryAcceptExTimeout(void)const  __ptr64
+?QueryAcceptExTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: virtual class IIS_SSL_INFO * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryAndReferenceSSLInfoObj(void) __ptr64
+?QueryAndReferenceSSLInfoObj@IIS_SERVER_INSTANCE@@UEAAPEAVIIS_SSL_INFO@@XZ
+; public: unsigned long __cdecl TS_OPEN_FILE_INFO::QueryAttributes(void)const  __ptr64
+?QueryAttributes@TS_OPEN_FILE_INFO@@QEBAKXZ
+; public: void * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryBandwidthInfo(void)const  __ptr64
+?QueryBandwidthInfo@IIS_SERVER_INSTANCE@@QEBAPEAXXZ
+; public: class IIS_CTL * __ptr64 __cdecl IIS_SSL_INFO::QueryCTL(void) __ptr64
+?QueryCTL@IIS_SSL_INFO@@QEAAPEAVIIS_CTL@@XZ
+; public: struct _CTL_CONTEXT const * __ptr64 __cdecl IIS_CTL::QueryCTLContext(void) __ptr64
+?QueryCTLContext@IIS_CTL@@QEAAPEBU_CTL_CONTEXT@@XZ
+; public: struct _CERT_CONTEXT const * __ptr64 __cdecl IIS_SERVER_CERT::QueryCertContext(void) __ptr64
+?QueryCertContext@IIS_SERVER_CERT@@QEAAPEBU_CERT_CONTEXT@@XZ
+; public: struct _CERT_CONTEXT const * __ptr64 * __ptr64 __cdecl IIS_SERVER_CERT::QueryCertContextAddr(void) __ptr64
+?QueryCertContextAddr@IIS_SERVER_CERT@@QEAAPEAPEBU_CERT_CONTEXT@@XZ
+; public: class IIS_SERVER_CERT * __ptr64 __cdecl IIS_SSL_INFO::QueryCertificate(void) __ptr64
+?QueryCertificate@IIS_SSL_INFO@@QEAAPEAVIIS_SERVER_CERT@@XZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryConnectionTimeout(void)const  __ptr64
+?QueryConnectionTimeout@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryContainer(void) __ptr64
+?QueryContainer@IIS_SERVER_CERT@@QEAAPEADXZ
+; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCredHandle(void) __ptr64
+?QueryCredHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
+; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QueryCtxtHandle(void) __ptr64
+?QueryCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryCurrentConnections(void)const  __ptr64
+?QueryCurrentConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceError(void)const  __ptr64
+?QueryCurrentServiceError@IIS_SERVICE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryCurrentServiceState(void)const  __ptr64
+?QueryCurrentServiceState@IIS_SERVICE@@QEBAKXZ
+; public: unsigned short __cdecl IIS_SERVER_INSTANCE::QueryDefaultPort(void)const  __ptr64
+?QueryDefaultPort@IIS_SERVER_INSTANCE@@QEBAGXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryDownLevelInstance(void)const  __ptr64
+?QueryDownLevelInstance@IIS_SERVICE@@QEBAKXZ
+; public: char * __ptr64 __cdecl TS_OPEN_FILE_INFO::QueryETag(void)const  __ptr64
+?QueryETag@TS_OPEN_FILE_INFO@@QEBAPEADXZ
+; public: class EVENT_LOG * __ptr64 __cdecl IIS_SERVICE::QueryEventLog(void) __ptr64
+?QueryEventLog@IIS_SERVICE@@QEAAPEAVEVENT_LOG@@XZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryInstanceCount(void)const  __ptr64
+?QueryInstanceCount@IIS_SERVICE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryInstanceId(void)const  __ptr64
+?QueryInstanceId@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: virtual char const * __ptr64 __cdecl MIME_MAP_ENTRY::QueryKey(void)const  __ptr64
+?QueryKey@MIME_MAP_ENTRY@@UEBAPEBDXZ
+; public: virtual unsigned long __cdecl MIME_MAP_ENTRY::QueryKeyLen(void)const  __ptr64
+?QueryKeyLen@MIME_MAP_ENTRY@@UEBAKXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::QueryLastWriteTime(struct _FILETIME * __ptr64)const  __ptr64
+?QueryLastWriteTime@TS_OPEN_FILE_INFO@@QEBAHPEAU_FILETIME@@@Z
+; public: unsigned short * __ptr64 __cdecl IIS_CTL::QueryListIdentifier(void) __ptr64
+?QueryListIdentifier@IIS_CTL@@QEAAPEAGXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogAnonymous(void)const  __ptr64
+?QueryLogAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: int __cdecl IIS_SERVER_INSTANCE::QueryLogNonAnonymous(void)const  __ptr64
+?QueryLogNonAnonymous@IIS_SERVER_INSTANCE@@QEBAHXZ
+; public: char * __ptr64 __cdecl IIS_CTL::QueryMBPath(void) __ptr64
+?QueryMBPath@IIS_CTL@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryMBPath(void) __ptr64
+?QueryMBPath@IIS_SERVER_CERT@@QEAAPEADXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDPath(void)const  __ptr64
+?QueryMDPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryMDPath(void)const  __ptr64
+?QueryMDPath@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDPathLen(void)const  __ptr64
+?QueryMDPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryMDVRPath(void)const  __ptr64
+?QueryMDVRPath@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMDVRPathLen(void)const  __ptr64
+?QueryMDVRPathLen@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxConnections(void)const  __ptr64
+?QueryMaxConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryMaxEndpointConnections(void)const  __ptr64
+?QueryMaxEndpointConnections@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: class MIME_MAP * __ptr64 __cdecl IIS_SERVICE::QueryMimeMap(void)const  __ptr64
+?QueryMimeMap@IIS_SERVICE@@QEBAPEAVMIME_MAP@@XZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryModuleName(void)const  __ptr64
+?QueryModuleName@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVER_CERT::QueryOpenFlags(void) __ptr64
+?QueryOpenFlags@IIS_SERVER_CERT@@QEAAKXZ
+; public: void * __ptr64 __cdecl IIS_CTL::QueryOriginalStore(void) __ptr64
+?QueryOriginalStore@IIS_CTL@@QEAAPEAXXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryProviderName(void) __ptr64
+?QueryProviderName@IIS_SERVER_CERT@@QEAAPEADXZ
+; public: unsigned long __cdecl IIS_SERVER_CERT::QueryProviderType(void) __ptr64
+?QueryProviderType@IIS_SERVER_CERT@@QEAAKXZ
+; public: long * __ptr64 __cdecl RefBlob::QueryRefCount(void) __ptr64
+?QueryRefCount@RefBlob@@QEAAPEAJXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRegParamKey(void)const  __ptr64
+?QueryRegParamKey@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryRegParamKey(void)const  __ptr64
+?QueryRegParamKey@IIS_SERVICE@@QEBAPEBDXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryRoot(void)const  __ptr64
+?QueryRoot@IIS_SERVER_INSTANCE@@QEBAPEADXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QuerySavedState(void)const  __ptr64
+?QuerySavedState@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerSize(void)const  __ptr64
+?QueryServerSize@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::QueryServerState(void)const  __ptr64
+?QueryServerState@IIS_SERVER_INSTANCE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceComment(void)const  __ptr64
+?QueryServiceComment@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryServiceId(void)const  __ptr64
+?QueryServiceId@IIS_SERVICE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVICE::QueryServiceName(void)const  __ptr64
+?QueryServiceName@IIS_SERVICE@@QEBAPEBDXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryServiceSpecificExitCode(void)const  __ptr64
+?QueryServiceSpecificExitCode@IIS_SERVICE@@QEBAKXZ
+; public: unsigned long __cdecl IIS_SERVICE::QueryShutdownScheduleId(void)const  __ptr64
+?QueryShutdownScheduleId@IIS_SERVICE@@QEBAKXZ
+; public: char const * __ptr64 __cdecl IIS_SERVER_INSTANCE::QuerySiteName(void)const  __ptr64
+?QuerySiteName@IIS_SERVER_INSTANCE@@QEBAPEBDXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(union _LARGE_INTEGER & __ptr64)const  __ptr64
+?QuerySize@TS_OPEN_FILE_INFO@@QEBAHAEAT_LARGE_INTEGER@@@Z
+; public: int __cdecl TS_OPEN_FILE_INFO::QuerySize(unsigned long * __ptr64,unsigned long * __ptr64)const  __ptr64
+?QuerySize@TS_OPEN_FILE_INFO@@QEBAHPEAK0@Z
+; public: struct _SecHandle * __ptr64 __cdecl TCP_AUTHENT::QuerySslCtxtHandle(void) __ptr64
+?QuerySslCtxtHandle@TCP_AUTHENT@@QEAAPEAU_SecHandle@@XZ
+; public: unsigned long __cdecl IIS_CTL::QueryStatus(void) __ptr64
+?QueryStatus@IIS_CTL@@QEAAKXZ
+; public: void * __ptr64 __cdecl IIS_SERVER_CERT::QueryStoreHandle(void) __ptr64
+?QueryStoreHandle@IIS_SERVER_CERT@@QEAAPEAXXZ
+; public: char * __ptr64 __cdecl IIS_CTL::QueryStoreName(void) __ptr64
+?QueryStoreName@IIS_CTL@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl IIS_SERVER_CERT::QueryStoreName(void) __ptr64
+?QueryStoreName@IIS_SERVER_CERT@@QEAAPEADXZ
+; public: unsigned long __cdecl IIS_VROOT_TABLE::QueryVrootCount(void) __ptr64
+?QueryVrootCount@IIS_VROOT_TABLE@@QEAAKXZ
+; public: class IIS_VROOT_TABLE * __ptr64 __cdecl IIS_SERVER_INSTANCE::QueryVrootTable(void) __ptr64
+?QueryVrootTable@IIS_SERVER_INSTANCE@@QEAAPEAVIIS_VROOT_TABLE@@XZ
+; public: virtual long __cdecl MIME_MAP_ENTRY::Reference(void) __ptr64
+?Reference@MIME_MAP_ENTRY@@UEAAJXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::ReleaseFastLock(void) __ptr64
+?ReleaseFastLock@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: void __cdecl IIS_SERVICE::ReleaseServiceLock(int) __ptr64
+?ReleaseServiceLock@IIS_SERVICE@@QEAAXH@Z
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveNormalBindings(void) __ptr64
+?RemoveNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::RemoveSecureBindings(void) __ptr64
+?RemoveSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: void __cdecl INET_PARSER::RestoreBuffer(void) __ptr64
+?RestoreBuffer@INET_PARSER@@QEAAXXZ
+; public: int __cdecl TS_OPEN_FILE_INFO::RetrieveHttpInfo(char * __ptr64,int * __ptr64) __ptr64
+?RetrieveHttpInfo@TS_OPEN_FILE_INFO@@QEAAHPEADPEAH@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::SaveServerState(void) __ptr64
+?SaveServerState@IIS_SERVER_INSTANCE@@QEAAXXZ
+ServiceEntry
+; public: void __cdecl COMMON_METADATA::SetAccessPerms(unsigned long) __ptr64
+?SetAccessPerms@COMMON_METADATA@@QEAAXK@Z
+; public: void __cdecl TSVC_CACHE::SetParameters(unsigned long,unsigned long,void * __ptr64) __ptr64
+?SetParameters@TSVC_CACHE@@QEAAXKKPEAX@Z
+; public: void __cdecl IIS_SERVICE::SetServiceComment(char * __ptr64) __ptr64
+?SetServiceComment@IIS_SERVICE@@QEAAXPEAD@Z
+; public: void __cdecl IIS_SERVICE::SetServiceSpecificExitCode(unsigned long) __ptr64
+?SetServiceSpecificExitCode@IIS_SERVICE@@QEAAXK@Z
+; public: void __cdecl IIS_SERVER_INSTANCE::SetZapRegKey(void) __ptr64
+?SetZapRegKey@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: unsigned long __cdecl IIS_SERVER_CERT::Status(void) __ptr64
+?Status@IIS_SERVER_CERT@@QEAAKXZ
+; public: virtual void __cdecl IIS_SERVICE::StopInstanceProcs(class IIS_SERVER_INSTANCE * __ptr64) __ptr64
+?StopInstanceProcs@IIS_SERVICE@@UEAAXPEAVIIS_SERVER_INSTANCE@@@Z
+; public: void __cdecl IIS_SSL_INFO::Unlock(void) __ptr64
+?Unlock@IIS_SSL_INFO@@QEAAXXZ
+; public: void __cdecl IIS_VROOT_TABLE::Unlock(void) __ptr64
+?Unlock@IIS_VROOT_TABLE@@QEAAXXZ
+; private: void __cdecl LOGGING::Unlock(void) __ptr64
+?Unlock@LOGGING@@AEAAXXZ
+; public: void __cdecl IIS_SERVER_INSTANCE::UnlockThis(void) __ptr64
+?UnlockThis@IIS_SERVER_INSTANCE@@QEAAXXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateNormalBindings(void) __ptr64
+?UpdateNormalBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; public: unsigned long __cdecl IIS_SERVER_INSTANCE::UpdateSecureBindings(void) __ptr64
+?UpdateSecureBindings@IIS_SERVER_INSTANCE@@QEAAKXZ
+; private: int __cdecl IIS_SERVER_CERT::UseProgrammaticPINEntry(class MB * __ptr64) __ptr64
+?UseProgrammaticPINEntry@IIS_SERVER_CERT@@AEAAHPEAVMB@@@Z
+; public: int __cdecl TS_OPEN_FILE_INFO::WeakETag(void)const  __ptr64
+?WeakETag@TS_OPEN_FILE_INFO@@QEBAHXZ
+; int __cdecl uudecode(char * __ptr64,class BUFFER * __ptr64,unsigned long * __ptr64,int)
+?uudecode@@YAHPEADPEAVBUFFER@@PEAKH@Z
+; int __cdecl uuencode(unsigned char * __ptr64,unsigned long,class BUFFER * __ptr64,int)
+?uuencode@@YAHPEAEKPEAVBUFFER@@H@Z
diff --git a/mingw-w64-crt/lib64/sniffpol.def b/mingw-w64-crt/lib64/sniffpol.def
index 42186d1..0f9a89b 100644
--- a/mingw-w64-crt/lib64/sniffpol.def
+++ b/mingw-w64-crt/lib64/sniffpol.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SniffPol.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SniffPol.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SniffPol.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SniffPol.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/snmpapi.def b/mingw-w64-crt/lib64/snmpapi.def
index ac8a57c..d5828bc 100644
--- a/mingw-w64-crt/lib64/snmpapi.def
+++ b/mingw-w64-crt/lib64/snmpapi.def
@@ -1,46 +1,46 @@
-; 
-; Exports of file snmpapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY snmpapi.dll
-EXPORTS
-SnmpSvcAddrIsIpx
-SnmpSvcAddrToSocket
-SnmpSvcGetEnterpriseOID
-SnmpSvcGetUptime
-SnmpSvcGetUptimeFromTime
-SnmpSvcInitUptime
-SnmpSvcSetLogLevel
-SnmpSvcSetLogType
-SnmpTfxClose
-SnmpTfxOpen
-SnmpTfxQuery
-SnmpUtilAnsiToUnicode
-SnmpUtilAsnAnyCpy
-SnmpUtilAsnAnyFree
-SnmpUtilDbgPrint
-SnmpUtilIdsToA
-SnmpUtilMemAlloc
-SnmpUtilMemFree
-SnmpUtilMemReAlloc
-SnmpUtilOctetsCmp
-SnmpUtilOctetsCpy
-SnmpUtilOctetsFree
-SnmpUtilOctetsNCmp
-SnmpUtilOidAppend
-SnmpUtilOidCmp
-SnmpUtilOidCpy
-SnmpUtilOidFree
-SnmpUtilOidNCmp
-SnmpUtilOidToA
-SnmpUtilPrintAsnAny
-SnmpUtilPrintOid
-SnmpUtilUTF8ToUnicode
-SnmpUtilUnicodeToAnsi
-SnmpUtilUnicodeToUTF8
-SnmpUtilVarBindCpy
-SnmpUtilVarBindFree
-SnmpUtilVarBindListCpy
-SnmpUtilVarBindListFree
+; 
+; Exports of file snmpapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY snmpapi.dll
+EXPORTS
+SnmpSvcAddrIsIpx
+SnmpSvcAddrToSocket
+SnmpSvcGetEnterpriseOID
+SnmpSvcGetUptime
+SnmpSvcGetUptimeFromTime
+SnmpSvcInitUptime
+SnmpSvcSetLogLevel
+SnmpSvcSetLogType
+SnmpTfxClose
+SnmpTfxOpen
+SnmpTfxQuery
+SnmpUtilAnsiToUnicode
+SnmpUtilAsnAnyCpy
+SnmpUtilAsnAnyFree
+SnmpUtilDbgPrint
+SnmpUtilIdsToA
+SnmpUtilMemAlloc
+SnmpUtilMemFree
+SnmpUtilMemReAlloc
+SnmpUtilOctetsCmp
+SnmpUtilOctetsCpy
+SnmpUtilOctetsFree
+SnmpUtilOctetsNCmp
+SnmpUtilOidAppend
+SnmpUtilOidCmp
+SnmpUtilOidCpy
+SnmpUtilOidFree
+SnmpUtilOidNCmp
+SnmpUtilOidToA
+SnmpUtilPrintAsnAny
+SnmpUtilPrintOid
+SnmpUtilUTF8ToUnicode
+SnmpUtilUnicodeToAnsi
+SnmpUtilUnicodeToUTF8
+SnmpUtilVarBindCpy
+SnmpUtilVarBindFree
+SnmpUtilVarBindListCpy
+SnmpUtilVarBindListFree
diff --git a/mingw-w64-crt/lib64/snmpcl.def b/mingw-w64-crt/lib64/snmpcl.def
index 048b35d..b6ef0e8 100644
--- a/mingw-w64-crt/lib64/snmpcl.def
+++ b/mingw-w64-crt/lib64/snmpcl.def
@@ -1,2150 +1,2150 @@
-; 
-; Exports of file snmpcl.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY snmpcl.dll
-EXPORTS
-; public: __cdecl CBString::CBString(int) __ptr64
-??0CBString@@QEAA@H@Z
-; public: __cdecl CBString::CBString(unsigned short * __ptr64) __ptr64
-??0CBString@@QEAA@PEAG@Z
-; public: __cdecl CBString::CBString(void) __ptr64
-??0CBString@@QEAA@XZ
-; public: __cdecl GeneralException::GeneralException(class GeneralException const & __ptr64) __ptr64
-??0GeneralException@@QEAA@AEBV0@@Z
-; public: __cdecl GeneralException::GeneralException(class SnmpErrorReport const & __ptr64,char * __ptr64,int,unsigned long) __ptr64
-??0GeneralException@@QEAA@AEBVSnmpErrorReport@@PEADHK@Z
-; public: __cdecl GeneralException::GeneralException(enum SnmpError,enum SnmpStatus,char * __ptr64,int,unsigned long) __ptr64
-??0GeneralException@@QEAA@W4SnmpError@@W4SnmpStatus@@PEADHK@Z
-; public: __cdecl GetNextOperation::GetNextOperation(class SnmpSession & __ptr64,class SnmpAutoRetrieveOperation & __ptr64) __ptr64
-??0GetNextOperation@@QEAA@AEAVSnmpSession@@AEAVSnmpAutoRetrieveOperation@@@Z
-; public: __cdecl GetNextOperation::GetNextOperation(class GetNextOperation const & __ptr64) __ptr64
-??0GetNextOperation@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpAnalyser::SnmpAnalyser(class SnmpAnalyser const & __ptr64) __ptr64
-??0SnmpAnalyser@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpAnalyser::SnmpAnalyser(unsigned short const * __ptr64) __ptr64
-??0SnmpAnalyser@@QEAA@PEBG@Z
-; protected: __cdecl SnmpAutoRetrieveOperation::SnmpAutoRetrieveOperation(class SnmpSession & __ptr64) __ptr64
-??0SnmpAutoRetrieveOperation@@IEAA@AEAVSnmpSession@@@Z
-; public: __cdecl SnmpAutoRetrieveOperation::SnmpAutoRetrieveOperation(class SnmpAutoRetrieveOperation const & __ptr64) __ptr64
-??0SnmpAutoRetrieveOperation@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpBitStringType::SnmpBitStringType(class SnmpBitStringType const & __ptr64) __ptr64
-??0SnmpBitStringType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpBitStringType::SnmpBitStringType(unsigned short const * __ptr64) __ptr64
-??0SnmpBitStringType@@QEAA@PEBG@Z
-; public: __cdecl SnmpBitStringType::SnmpBitStringType(unsigned short const * __ptr64,class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpBitStringType@@QEAA@PEBGAEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpBitStringType::SnmpBitStringType(unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned long const & __ptr64) __ptr64
-??0SnmpBitStringType@@QEAA@PEBGPEAPEBGAEBK@Z
-; protected: __cdecl SnmpClassLibrary::SnmpClassLibrary(void) __ptr64
-??0SnmpClassLibrary@@IEAA@XZ
-; public: __cdecl SnmpClassLibrary::SnmpClassLibrary(class SnmpClassLibrary const & __ptr64) __ptr64
-??0SnmpClassLibrary@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpCommunityBasedSecurity::SnmpCommunityBasedSecurity(class SnmpCommunityBasedSecurity const & __ptr64) __ptr64
-??0SnmpCommunityBasedSecurity@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpCommunityBasedSecurity::SnmpCommunityBasedSecurity(class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpCommunityBasedSecurity@@QEAA@AEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpCommunityBasedSecurity::SnmpCommunityBasedSecurity(char const * __ptr64) __ptr64
-??0SnmpCommunityBasedSecurity@@QEAA@PEBD@Z
-; public: __cdecl SnmpCounter64::SnmpCounter64(class SnmpCounter64 const & __ptr64) __ptr64
-??0SnmpCounter64@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpCounter64::SnmpCounter64(unsigned long,unsigned long) __ptr64
-??0SnmpCounter64@@QEAA@KK@Z
-; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(class SnmpCounter64Type const & __ptr64) __ptr64
-??0SnmpCounter64Type@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(class SnmpCounter64 const & __ptr64) __ptr64
-??0SnmpCounter64Type@@QEAA@AEBVSnmpCounter64@@@Z
-; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(unsigned long,unsigned long) __ptr64
-??0SnmpCounter64Type@@QEAA@KK@Z
-; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(unsigned short const * __ptr64) __ptr64
-??0SnmpCounter64Type@@QEAA@PEBG@Z
-; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(void) __ptr64
-??0SnmpCounter64Type@@QEAA@XZ
-; public: __cdecl SnmpCounter::SnmpCounter(class SnmpCounter const & __ptr64) __ptr64
-??0SnmpCounter@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpCounter::SnmpCounter(unsigned long) __ptr64
-??0SnmpCounter@@QEAA@K@Z
-; public: __cdecl SnmpCounterType::SnmpCounterType(class SnmpCounterType const & __ptr64) __ptr64
-??0SnmpCounterType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpCounterType::SnmpCounterType(class SnmpCounter const & __ptr64) __ptr64
-??0SnmpCounterType@@QEAA@AEBVSnmpCounter@@@Z
-; public: __cdecl SnmpCounterType::SnmpCounterType(unsigned long) __ptr64
-??0SnmpCounterType@@QEAA@K@Z
-; public: __cdecl SnmpCounterType::SnmpCounterType(unsigned short const * __ptr64) __ptr64
-??0SnmpCounterType@@QEAA@PEBG@Z
-; public: __cdecl SnmpCounterType::SnmpCounterType(void) __ptr64
-??0SnmpCounterType@@QEAA@XZ
-; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(class SnmpDateTimeType const & __ptr64) __ptr64
-??0SnmpDateTimeType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpDateTimeType@@QEAA@AEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(unsigned short const * __ptr64) __ptr64
-??0SnmpDateTimeType@@QEAA@PEBG@Z
-; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(void) __ptr64
-??0SnmpDateTimeType@@QEAA@XZ
-; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(class SnmpDisplayStringType const & __ptr64) __ptr64
-??0SnmpDisplayStringType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(class SnmpOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpDisplayStringType@@QEAA@AEBVSnmpOctetString@@PEBG@Z
-; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpDisplayStringType@@QEAA@PEBG0@Z
-; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(unsigned short const * __ptr64) __ptr64
-??0SnmpDisplayStringType@@QEAA@PEBG@Z
-; public: __cdecl SnmpEncodeDecode::SnmpEncodeDecode(class SnmpEncodeDecode const & __ptr64) __ptr64
-??0SnmpEncodeDecode@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpEncodeDecode::SnmpEncodeDecode(void) __ptr64
-??0SnmpEncodeDecode@@QEAA@XZ
-; public: __cdecl SnmpEndOfMibView::SnmpEndOfMibView(void) __ptr64
-??0SnmpEndOfMibView@@QEAA@XZ
-; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(class SnmpEnumeratedType const & __ptr64) __ptr64
-??0SnmpEnumeratedType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpEnumeratedType@@QEAA@PEBG0@Z
-; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64) __ptr64
-??0SnmpEnumeratedType@@QEAA@PEBG@Z
-; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64,long const & __ptr64) __ptr64
-??0SnmpEnumeratedType@@QEAA@PEBGAEBJ@Z
-; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64,class SnmpInteger const & __ptr64) __ptr64
-??0SnmpEnumeratedType@@QEAA@PEBGAEBVSnmpInteger@@@Z
-; public: __cdecl SnmpErrorReport::SnmpErrorReport(class SnmpErrorReport const & __ptr64) __ptr64
-??0SnmpErrorReport@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpErrorReport::SnmpErrorReport(enum SnmpError,enum SnmpStatus,unsigned long) __ptr64
-??0SnmpErrorReport@@QEAA@W4SnmpError@@W4SnmpStatus@@K@Z
-; public: __cdecl SnmpErrorReport::SnmpErrorReport(void) __ptr64
-??0SnmpErrorReport@@QEAA@XZ
-; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(unsigned long const & __ptr64) __ptr64
-??0SnmpFixedLengthDisplayStringType@@QEAA@AEBK@Z
-; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(unsigned long const & __ptr64,class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpFixedLengthDisplayStringType@@QEAA@AEBKAEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpFixedLengthDisplayStringType@@QEAA@AEBKPEBG@Z
-; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(class SnmpFixedLengthDisplayStringType const & __ptr64) __ptr64
-??0SnmpFixedLengthDisplayStringType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64) __ptr64
-??0SnmpFixedLengthOctetStringType@@QEAA@AEBK@Z
-; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64,class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpFixedLengthOctetStringType@@QEAA@AEBKAEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned char const * __ptr64) __ptr64
-??0SnmpFixedLengthOctetStringType@@QEAA@AEBKPEBE@Z
-; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpFixedLengthOctetStringType@@QEAA@AEBKPEBG@Z
-; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(class SnmpFixedLengthOctetStringType const & __ptr64) __ptr64
-??0SnmpFixedLengthOctetStringType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64) __ptr64
-??0SnmpFixedLengthOpaqueType@@QEAA@AEBK@Z
-; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64,class SnmpOpaque const & __ptr64) __ptr64
-??0SnmpFixedLengthOpaqueType@@QEAA@AEBKAEBVSnmpOpaque@@@Z
-; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned char const * __ptr64,unsigned long) __ptr64
-??0SnmpFixedLengthOpaqueType@@QEAA@AEBKPEBEK@Z
-; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpFixedLengthOpaqueType@@QEAA@AEBKPEBG@Z
-; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(class SnmpFixedLengthOpaqueType const & __ptr64) __ptr64
-??0SnmpFixedLengthOpaqueType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(unsigned long const & __ptr64) __ptr64
-??0SnmpFixedLengthPhysAddressType@@QEAA@AEBK@Z
-; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(unsigned long const & __ptr64,class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpFixedLengthPhysAddressType@@QEAA@AEBKAEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpFixedLengthPhysAddressType@@QEAA@AEBKPEBG@Z
-; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(class SnmpFixedLengthPhysAddressType const & __ptr64) __ptr64
-??0SnmpFixedLengthPhysAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpFixedType::SnmpFixedType(class SnmpFixedType const & __ptr64) __ptr64
-??0SnmpFixedType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpFixedType::SnmpFixedType(unsigned long) __ptr64
-??0SnmpFixedType@@QEAA@K@Z
-; public: __cdecl SnmpGauge::SnmpGauge(class SnmpGauge const & __ptr64) __ptr64
-??0SnmpGauge@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpGauge::SnmpGauge(long) __ptr64
-??0SnmpGauge@@QEAA@J@Z
-; public: __cdecl SnmpGaugeType::SnmpGaugeType(class SnmpGaugeType const & __ptr64) __ptr64
-??0SnmpGaugeType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpGaugeType::SnmpGaugeType(class SnmpGauge const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpGaugeType@@QEAA@AEBVSnmpGauge@@PEBG@Z
-; public: __cdecl SnmpGaugeType::SnmpGaugeType(unsigned long,unsigned short const * __ptr64) __ptr64
-??0SnmpGaugeType@@QEAA@KPEBG@Z
-; public: __cdecl SnmpGaugeType::SnmpGaugeType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpGaugeType@@QEAA@PEBG0@Z
-; public: __cdecl SnmpGaugeType::SnmpGaugeType(unsigned short const * __ptr64) __ptr64
-??0SnmpGaugeType@@QEAA@PEBG@Z
-; public: __cdecl SnmpGetNextOperation::SnmpGetNextOperation(class SnmpSession & __ptr64) __ptr64
-??0SnmpGetNextOperation@@QEAA@AEAVSnmpSession@@@Z
-; public: __cdecl SnmpGetNextOperation::SnmpGetNextOperation(class SnmpGetNextOperation const & __ptr64) __ptr64
-??0SnmpGetNextOperation@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpGetOperation::SnmpGetOperation(class SnmpSession & __ptr64) __ptr64
-??0SnmpGetOperation@@QEAA@AEAVSnmpSession@@@Z
-; public: __cdecl SnmpGetOperation::SnmpGetOperation(class SnmpGetOperation const & __ptr64) __ptr64
-??0SnmpGetOperation@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(class SnmpIPXAddressType const & __ptr64) __ptr64
-??0SnmpIPXAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpIPXAddressType@@QEAA@AEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(unsigned char const * __ptr64) __ptr64
-??0SnmpIPXAddressType@@QEAA@PEBE@Z
-; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(unsigned short const * __ptr64) __ptr64
-??0SnmpIPXAddressType@@QEAA@PEBG@Z
-; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(void) __ptr64
-??0SnmpIPXAddressType@@QEAA@XZ
-; protected: __cdecl SnmpImpSession::SnmpImpSession(class SnmpTransport & __ptr64,class SnmpSecurity & __ptr64,class SnmpEncodeDecode & __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
-??0SnmpImpSession@@IEAA@AEAVSnmpTransport@@AEAVSnmpSecurity@@AEAVSnmpEncodeDecode@@KKKK@Z
-; public: __cdecl SnmpImpTransport::SnmpImpTransport(class SnmpSession & __ptr64,class SnmpTransportAddress const & __ptr64) __ptr64
-??0SnmpImpTransport@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportAddress@@@Z
-; protected: __cdecl SnmpInstanceType::SnmpInstanceType(class SnmpInstanceType const & __ptr64) __ptr64
-??0SnmpInstanceType@@IEAA@AEBV0@@Z
-; protected: __cdecl SnmpInstanceType::SnmpInstanceType(int,int) __ptr64
-??0SnmpInstanceType@@IEAA@HH@Z
-; public: __cdecl SnmpInteger::SnmpInteger(class SnmpInteger const & __ptr64) __ptr64
-??0SnmpInteger@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpInteger::SnmpInteger(long) __ptr64
-??0SnmpInteger@@QEAA@J@Z
-; public: __cdecl SnmpIntegerType::SnmpIntegerType(class SnmpIntegerType const & __ptr64) __ptr64
-??0SnmpIntegerType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpIntegerType::SnmpIntegerType(class SnmpInteger const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpIntegerType@@QEAA@AEBVSnmpInteger@@PEBG@Z
-; public: __cdecl SnmpIntegerType::SnmpIntegerType(long,unsigned short const * __ptr64) __ptr64
-??0SnmpIntegerType@@QEAA@JPEBG@Z
-; public: __cdecl SnmpIntegerType::SnmpIntegerType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpIntegerType@@QEAA@PEBG0@Z
-; public: __cdecl SnmpIntegerType::SnmpIntegerType(unsigned short const * __ptr64) __ptr64
-??0SnmpIntegerType@@QEAA@PEBG@Z
-; public: __cdecl SnmpIpAddress::SnmpIpAddress(class SnmpIpAddress const & __ptr64) __ptr64
-??0SnmpIpAddress@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpIpAddress::SnmpIpAddress(unsigned long) __ptr64
-??0SnmpIpAddress@@QEAA@K@Z
-; public: __cdecl SnmpIpAddress::SnmpIpAddress(char const * __ptr64) __ptr64
-??0SnmpIpAddress@@QEAA@PEBD@Z
-; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(class SnmpIpAddressType const & __ptr64) __ptr64
-??0SnmpIpAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(class SnmpIpAddress const & __ptr64) __ptr64
-??0SnmpIpAddressType@@QEAA@AEBVSnmpIpAddress@@@Z
-; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(unsigned long) __ptr64
-??0SnmpIpAddressType@@QEAA@K@Z
-; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(unsigned short const * __ptr64) __ptr64
-??0SnmpIpAddressType@@QEAA@PEBG@Z
-; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(void) __ptr64
-??0SnmpIpAddressType@@QEAA@XZ
-; public: __cdecl SnmpIpxImp::SnmpIpxImp(class SnmpSession & __ptr64,class SnmpTransportIpxAddress const & __ptr64) __ptr64
-??0SnmpIpxImp@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpxAddress@@@Z
-; public: __cdecl SnmpIpxImp::SnmpIpxImp(class SnmpSession & __ptr64,char const * __ptr64) __ptr64
-??0SnmpIpxImp@@QEAA@AEAVSnmpSession@@PEBD@Z
-; public: __cdecl SnmpIpxImp::SnmpIpxImp(class SnmpSession & __ptr64,unsigned char const * __ptr64) __ptr64
-??0SnmpIpxImp@@QEAA@AEAVSnmpSession@@PEBE@Z
-; public: __cdecl SnmpIpxTransport::SnmpIpxTransport(class SnmpSession & __ptr64,class SnmpTransportIpxAddress const & __ptr64) __ptr64
-??0SnmpIpxTransport@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpxAddress@@@Z
-; public: __cdecl SnmpLexicon::SnmpLexicon(void) __ptr64
-??0SnmpLexicon@@QEAA@XZ
-; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(class SnmpMacAddressType const & __ptr64) __ptr64
-??0SnmpMacAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpMacAddressType@@QEAA@AEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(unsigned char const * __ptr64) __ptr64
-??0SnmpMacAddressType@@QEAA@PEBE@Z
-; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(unsigned short const * __ptr64) __ptr64
-??0SnmpMacAddressType@@QEAA@PEBG@Z
-; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(void) __ptr64
-??0SnmpMacAddressType@@QEAA@XZ
-; public: __cdecl SnmpNegativeRangeType::SnmpNegativeRangeType(class SnmpNegativeRangeType const & __ptr64) __ptr64
-??0SnmpNegativeRangeType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpNegativeRangeType::SnmpNegativeRangeType(long,long) __ptr64
-??0SnmpNegativeRangeType@@QEAA@JJ@Z
-; public: __cdecl SnmpNegativeRangeType::SnmpNegativeRangeType(void) __ptr64
-??0SnmpNegativeRangeType@@QEAA@XZ
-; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(class SnmpNetworkAddressType const & __ptr64) __ptr64
-??0SnmpNetworkAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(class SnmpIpAddress const & __ptr64) __ptr64
-??0SnmpNetworkAddressType@@QEAA@AEBVSnmpIpAddress@@@Z
-; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(unsigned long) __ptr64
-??0SnmpNetworkAddressType@@QEAA@K@Z
-; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(unsigned short const * __ptr64) __ptr64
-??0SnmpNetworkAddressType@@QEAA@PEBG@Z
-; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(void) __ptr64
-??0SnmpNetworkAddressType@@QEAA@XZ
-; public: __cdecl SnmpNoSuchInstance::SnmpNoSuchInstance(void) __ptr64
-??0SnmpNoSuchInstance@@QEAA@XZ
-; public: __cdecl SnmpNoSuchObject::SnmpNoSuchObject(void) __ptr64
-??0SnmpNoSuchObject@@QEAA@XZ
-; public: __cdecl SnmpNull::SnmpNull(void) __ptr64
-??0SnmpNull@@QEAA@XZ
-; public: __cdecl SnmpNullType::SnmpNullType(class SnmpNullType const & __ptr64) __ptr64
-??0SnmpNullType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpNullType::SnmpNullType(class SnmpNull const & __ptr64) __ptr64
-??0SnmpNullType@@QEAA@AEBVSnmpNull@@@Z
-; public: __cdecl SnmpNullType::SnmpNullType(void) __ptr64
-??0SnmpNullType@@QEAA@XZ
-; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(class SnmpOSIAddressType const & __ptr64) __ptr64
-??0SnmpOSIAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpOSIAddressType@@QEAA@AEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(unsigned char const * __ptr64,unsigned long) __ptr64
-??0SnmpOSIAddressType@@QEAA@PEBEK@Z
-; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(unsigned short const * __ptr64) __ptr64
-??0SnmpOSIAddressType@@QEAA@PEBG@Z
-; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(void) __ptr64
-??0SnmpOSIAddressType@@QEAA@XZ
-; public: __cdecl SnmpObjectIdentifier::SnmpObjectIdentifier(class SnmpObjectIdentifier const & __ptr64) __ptr64
-??0SnmpObjectIdentifier@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpObjectIdentifier::SnmpObjectIdentifier(char const * __ptr64) __ptr64
-??0SnmpObjectIdentifier@@QEAA@PEBD@Z
-; public: __cdecl SnmpObjectIdentifier::SnmpObjectIdentifier(unsigned long const * __ptr64,unsigned long) __ptr64
-??0SnmpObjectIdentifier@@QEAA@PEBKK@Z
-; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(class SnmpObjectIdentifierType const & __ptr64) __ptr64
-??0SnmpObjectIdentifierType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(class SnmpObjectIdentifier const & __ptr64) __ptr64
-??0SnmpObjectIdentifierType@@QEAA@AEBVSnmpObjectIdentifier@@@Z
-; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(unsigned short const * __ptr64) __ptr64
-??0SnmpObjectIdentifierType@@QEAA@PEBG@Z
-; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(unsigned long const * __ptr64,unsigned long) __ptr64
-??0SnmpObjectIdentifierType@@QEAA@PEBKK@Z
-; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(void) __ptr64
-??0SnmpObjectIdentifierType@@QEAA@XZ
-; public: __cdecl SnmpOctetString::SnmpOctetString(class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpOctetString@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpOctetString::SnmpOctetString(unsigned char const * __ptr64,unsigned long) __ptr64
-??0SnmpOctetString@@QEAA@PEBEK@Z
-; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(class SnmpOctetStringType const & __ptr64) __ptr64
-??0SnmpOctetStringType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(class SnmpOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpOctetStringType@@QEAA@AEBVSnmpOctetString@@PEBG@Z
-; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
-??0SnmpOctetStringType@@QEAA@PEBEKPEBG@Z
-; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpOctetStringType@@QEAA@PEBG0@Z
-; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(unsigned short const * __ptr64) __ptr64
-??0SnmpOctetStringType@@QEAA@PEBG@Z
-; public: __cdecl SnmpOpaque::SnmpOpaque(class SnmpOpaque const & __ptr64) __ptr64
-??0SnmpOpaque@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpOpaque::SnmpOpaque(unsigned char const * __ptr64,unsigned long) __ptr64
-??0SnmpOpaque@@QEAA@PEBEK@Z
-; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(class SnmpOpaqueType const & __ptr64) __ptr64
-??0SnmpOpaqueType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(class SnmpOpaque const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpOpaqueType@@QEAA@AEBVSnmpOpaque@@PEBG@Z
-; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
-??0SnmpOpaqueType@@QEAA@PEBEKPEBG@Z
-; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpOpaqueType@@QEAA@PEBG0@Z
-; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(unsigned short const * __ptr64) __ptr64
-??0SnmpOpaqueType@@QEAA@PEBG@Z
-; protected: __cdecl SnmpOperation::SnmpOperation(class SnmpSession & __ptr64) __ptr64
-??0SnmpOperation@@IEAA@AEAVSnmpSession@@@Z
-; public: __cdecl SnmpOperation::SnmpOperation(class SnmpOperation const & __ptr64) __ptr64
-??0SnmpOperation@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpPdu::SnmpPdu(class SnmpPdu & __ptr64) __ptr64
-??0SnmpPdu@@QEAA@AEAV0@@Z
-; public: __cdecl SnmpPdu::SnmpPdu(unsigned char const * __ptr64,unsigned long const & __ptr64) __ptr64
-??0SnmpPdu@@QEAA@PEBEAEBK@Z
-; public: __cdecl SnmpPdu::SnmpPdu(void) __ptr64
-??0SnmpPdu@@QEAA@XZ
-; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(class SnmpPhysAddressType const & __ptr64) __ptr64
-??0SnmpPhysAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(class SnmpOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpPhysAddressType@@QEAA@AEBVSnmpOctetString@@PEBG@Z
-; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
-??0SnmpPhysAddressType@@QEAA@PEBEKPEBG@Z
-; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpPhysAddressType@@QEAA@PEBG0@Z
-; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(unsigned short const * __ptr64) __ptr64
-??0SnmpPhysAddressType@@QEAA@PEBG@Z
-; public: __cdecl SnmpPositiveRangeType::SnmpPositiveRangeType(class SnmpPositiveRangeType const & __ptr64) __ptr64
-??0SnmpPositiveRangeType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpPositiveRangeType::SnmpPositiveRangeType(unsigned long,long) __ptr64
-??0SnmpPositiveRangeType@@QEAA@KJ@Z
-; public: __cdecl SnmpPositiveRangeType::SnmpPositiveRangeType(void) __ptr64
-??0SnmpPositiveRangeType@@QEAA@XZ
-; public: __cdecl SnmpPositiveRangedType::SnmpPositiveRangedType(class SnmpPositiveRangedType const & __ptr64) __ptr64
-??0SnmpPositiveRangedType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpPositiveRangedType::SnmpPositiveRangedType(unsigned short const * __ptr64) __ptr64
-??0SnmpPositiveRangedType@@QEAA@PEBG@Z
-; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(long const & __ptr64) __ptr64
-??0SnmpRowStatusType@@QEAA@AEBJ@Z
-; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(class SnmpRowStatusType const & __ptr64) __ptr64
-??0SnmpRowStatusType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(class SnmpInteger const & __ptr64) __ptr64
-??0SnmpRowStatusType@@QEAA@AEBVSnmpInteger@@@Z
-; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(enum SnmpRowStatusType::SnmpRowStatusEnum const & __ptr64) __ptr64
-??0SnmpRowStatusType@@QEAA@AEBW4SnmpRowStatusEnum@0@@Z
-; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(unsigned short const * __ptr64) __ptr64
-??0SnmpRowStatusType@@QEAA@PEBG@Z
-; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(void) __ptr64
-??0SnmpRowStatusType@@QEAA@XZ
-; private: __cdecl SnmpSecurity::SnmpSecurity(class SnmpSecurity const & __ptr64) __ptr64
-??0SnmpSecurity@@AEAA@AEBV0@@Z
-; protected: __cdecl SnmpSecurity::SnmpSecurity(void) __ptr64
-??0SnmpSecurity@@IEAA@XZ
-; private: __cdecl SnmpSession::SnmpSession(class SnmpSession const & __ptr64) __ptr64
-??0SnmpSession@@AEAA@AEBV0@@Z
-; protected: __cdecl SnmpSession::SnmpSession(class SnmpTransport & __ptr64,class SnmpSecurity & __ptr64,class SnmpEncodeDecode & __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
-??0SnmpSession@@IEAA@AEAVSnmpTransport@@AEAVSnmpSecurity@@AEAVSnmpEncodeDecode@@KKKK@Z
-; public: __cdecl SnmpSetOperation::SnmpSetOperation(class SnmpSession & __ptr64) __ptr64
-??0SnmpSetOperation@@QEAA@AEAVSnmpSession@@@Z
-; public: __cdecl SnmpSetOperation::SnmpSetOperation(class SnmpSetOperation const & __ptr64) __ptr64
-??0SnmpSetOperation@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpTimeTicks::SnmpTimeTicks(class SnmpTimeTicks const & __ptr64) __ptr64
-??0SnmpTimeTicks@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpTimeTicks::SnmpTimeTicks(unsigned long) __ptr64
-??0SnmpTimeTicks@@QEAA@K@Z
-; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(class SnmpTimeTicksType const & __ptr64) __ptr64
-??0SnmpTimeTicksType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(class SnmpTimeTicks const & __ptr64) __ptr64
-??0SnmpTimeTicksType@@QEAA@AEBVSnmpTimeTicks@@@Z
-; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(unsigned long) __ptr64
-??0SnmpTimeTicksType@@QEAA@K@Z
-; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(unsigned short const * __ptr64) __ptr64
-??0SnmpTimeTicksType@@QEAA@PEBG@Z
-; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(void) __ptr64
-??0SnmpTimeTicksType@@QEAA@XZ
-; private: __cdecl SnmpTransport::SnmpTransport(class SnmpTransport const & __ptr64) __ptr64
-??0SnmpTransport@@AEAA@AEBV0@@Z
-; protected: __cdecl SnmpTransport::SnmpTransport(class SnmpSession & __ptr64,class SnmpTransportAddress const & __ptr64) __ptr64
-??0SnmpTransport@@IEAA@AEAVSnmpSession@@AEBVSnmpTransportAddress@@@Z
-; private: __cdecl SnmpTransportAddress::SnmpTransportAddress(class SnmpTransportAddress const & __ptr64) __ptr64
-??0SnmpTransportAddress@@AEAA@AEBV0@@Z
-; protected: __cdecl SnmpTransportAddress::SnmpTransportAddress(void) __ptr64
-??0SnmpTransportAddress@@IEAA@XZ
-; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(class SnmpTransportIpAddress const & __ptr64) __ptr64
-??0SnmpTransportIpAddress@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(unsigned long) __ptr64
-??0SnmpTransportIpAddress@@QEAA@K@Z
-; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(char const * __ptr64,unsigned long) __ptr64
-??0SnmpTransportIpAddress@@QEAA@PEBDK@Z
-; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(unsigned char const * __ptr64,unsigned short) __ptr64
-??0SnmpTransportIpAddress@@QEAA@PEBEG@Z
-; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(void) __ptr64
-??0SnmpTransportIpAddress@@QEAA@XZ
-; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(class SnmpTransportIpxAddress const & __ptr64) __ptr64
-??0SnmpTransportIpxAddress@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(char const * __ptr64) __ptr64
-??0SnmpTransportIpxAddress@@QEAA@PEBD@Z
-; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(unsigned char const * __ptr64,unsigned short) __ptr64
-??0SnmpTransportIpxAddress@@QEAA@PEBEG@Z
-; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(void) __ptr64
-??0SnmpTransportIpxAddress@@QEAA@XZ
-; protected: __cdecl SnmpTrapReceiver::SnmpTrapReceiver(void) __ptr64
-??0SnmpTrapReceiver@@IEAA@XZ
-; public: __cdecl SnmpTrapReceiver::SnmpTrapReceiver(class SnmpTrapReceiver const & __ptr64) __ptr64
-??0SnmpTrapReceiver@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(class SnmpUDPAddressType const & __ptr64) __ptr64
-??0SnmpUDPAddressType@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(class SnmpOctetString const & __ptr64) __ptr64
-??0SnmpUDPAddressType@@QEAA@AEBVSnmpOctetString@@@Z
-; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(unsigned char const * __ptr64) __ptr64
-??0SnmpUDPAddressType@@QEAA@PEBE@Z
-; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(unsigned short const * __ptr64) __ptr64
-??0SnmpUDPAddressType@@QEAA@PEBG@Z
-; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(void) __ptr64
-??0SnmpUDPAddressType@@QEAA@XZ
-; public: __cdecl SnmpUInteger32::SnmpUInteger32(class SnmpUInteger32 const & __ptr64) __ptr64
-??0SnmpUInteger32@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpUInteger32::SnmpUInteger32(long) __ptr64
-??0SnmpUInteger32@@QEAA@J@Z
-; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(class SnmpUInteger32Type const & __ptr64) __ptr64
-??0SnmpUInteger32Type@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(class SnmpUInteger32 const & __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpUInteger32Type@@QEAA@AEBVSnmpUInteger32@@PEBG@Z
-; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(unsigned long,unsigned short const * __ptr64) __ptr64
-??0SnmpUInteger32Type@@QEAA@KPEBG@Z
-; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0SnmpUInteger32Type@@QEAA@PEBG0@Z
-; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(unsigned short const * __ptr64) __ptr64
-??0SnmpUInteger32Type@@QEAA@PEBG@Z
-; public: __cdecl SnmpUdpIpImp::SnmpUdpIpImp(class SnmpSession & __ptr64,class SnmpTransportIpAddress const & __ptr64) __ptr64
-??0SnmpUdpIpImp@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpAddress@@@Z
-; public: __cdecl SnmpUdpIpImp::SnmpUdpIpImp(class SnmpSession & __ptr64,char const * __ptr64,unsigned long) __ptr64
-??0SnmpUdpIpImp@@QEAA@AEAVSnmpSession@@PEBDK@Z
-; public: __cdecl SnmpUdpIpImp::SnmpUdpIpImp(class SnmpSession & __ptr64,unsigned char const * __ptr64) __ptr64
-??0SnmpUdpIpImp@@QEAA@AEAVSnmpSession@@PEBE@Z
-; public: __cdecl SnmpUdpIpTransport::SnmpUdpIpTransport(class SnmpSession & __ptr64,class SnmpTransportIpAddress const & __ptr64) __ptr64
-??0SnmpUdpIpTransport@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpAddress@@@Z
-; public: __cdecl SnmpV1EncodeDecode::SnmpV1EncodeDecode(class SnmpV1EncodeDecode const & __ptr64) __ptr64
-??0SnmpV1EncodeDecode@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpV1EncodeDecode::SnmpV1EncodeDecode(void) __ptr64
-??0SnmpV1EncodeDecode@@QEAA@XZ
-; public: __cdecl SnmpV1OverIp::SnmpV1OverIp(char const * __ptr64,unsigned long,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
-??0SnmpV1OverIp@@QEAA@PEBDK0KKKK@Z
-; public: __cdecl SnmpV1OverIpx::SnmpV1OverIpx(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
-??0SnmpV1OverIpx@@QEAA@PEBD0KKKK@Z
-; public: __cdecl SnmpV2CEncodeDecode::SnmpV2CEncodeDecode(class SnmpV2CEncodeDecode const & __ptr64) __ptr64
-??0SnmpV2CEncodeDecode@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpV2CEncodeDecode::SnmpV2CEncodeDecode(void) __ptr64
-??0SnmpV2CEncodeDecode@@QEAA@XZ
-; public: __cdecl SnmpV2COverIp::SnmpV2COverIp(char const * __ptr64,unsigned long,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
-??0SnmpV2COverIp@@QEAA@PEBDK0KKKK@Z
-; public: __cdecl SnmpV2COverIpx::SnmpV2COverIpx(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
-??0SnmpV2COverIpx@@QEAA@PEBD0KKKK@Z
-; private: __cdecl SnmpValue::SnmpValue(class SnmpValue const & __ptr64) __ptr64
-??0SnmpValue@@AEAA@AEBV0@@Z
-; protected: __cdecl SnmpValue::SnmpValue(void) __ptr64
-??0SnmpValue@@IEAA@XZ
-; public: __cdecl SnmpVarBind::SnmpVarBind(class SnmpVarBind const & __ptr64) __ptr64
-??0SnmpVarBind@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpVarBind::SnmpVarBind(class SnmpObjectIdentifier const & __ptr64,class SnmpValue const & __ptr64) __ptr64
-??0SnmpVarBind@@QEAA@AEBVSnmpObjectIdentifier@@AEBVSnmpValue@@@Z
-; public: __cdecl SnmpVarBindList::SnmpVarBindList(class SnmpVarBindList & __ptr64) __ptr64
-??0SnmpVarBindList@@QEAA@AEAV0@@Z
-; public: __cdecl SnmpVarBindList::SnmpVarBindList(void) __ptr64
-??0SnmpVarBindList@@QEAA@XZ
-; public: __cdecl SnmpVarBindListNode::SnmpVarBindListNode(class SnmpVarBind & __ptr64) __ptr64
-??0SnmpVarBindListNode@@QEAA@AEAVSnmpVarBind@@@Z
-; public: __cdecl SnmpVarBindListNode::SnmpVarBindListNode(class SnmpVarBind const & __ptr64) __ptr64
-??0SnmpVarBindListNode@@QEAA@AEBVSnmpVarBind@@@Z
-; public: __cdecl SnmpVarBindListNode::SnmpVarBindListNode(class SnmpVarBind const * __ptr64) __ptr64
-??0SnmpVarBindListNode@@QEAA@PEBVSnmpVarBind@@@Z
-; public: __cdecl CBString::~CBString(void) __ptr64
-??1CBString@@QEAA@XZ
-; public: virtual __cdecl GeneralException::~GeneralException(void) __ptr64
-??1GeneralException@@UEAA@XZ
-; public: virtual __cdecl GetNextOperation::~GetNextOperation(void) __ptr64
-??1GetNextOperation@@UEAA@XZ
-; public: virtual __cdecl SnmpAnalyser::~SnmpAnalyser(void) __ptr64
-??1SnmpAnalyser@@UEAA@XZ
-; public: virtual __cdecl SnmpAutoRetrieveOperation::~SnmpAutoRetrieveOperation(void) __ptr64
-??1SnmpAutoRetrieveOperation@@UEAA@XZ
-; public: virtual __cdecl SnmpBitStringType::~SnmpBitStringType(void) __ptr64
-??1SnmpBitStringType@@UEAA@XZ
-; public: virtual __cdecl SnmpClassLibrary::~SnmpClassLibrary(void) __ptr64
-??1SnmpClassLibrary@@UEAA@XZ
-; public: virtual __cdecl SnmpCommunityBasedSecurity::~SnmpCommunityBasedSecurity(void) __ptr64
-??1SnmpCommunityBasedSecurity@@UEAA@XZ
-; public: virtual __cdecl SnmpCounter64::~SnmpCounter64(void) __ptr64
-??1SnmpCounter64@@UEAA@XZ
-; public: virtual __cdecl SnmpCounter64Type::~SnmpCounter64Type(void) __ptr64
-??1SnmpCounter64Type@@UEAA@XZ
-; public: virtual __cdecl SnmpCounter::~SnmpCounter(void) __ptr64
-??1SnmpCounter@@UEAA@XZ
-; public: virtual __cdecl SnmpCounterType::~SnmpCounterType(void) __ptr64
-??1SnmpCounterType@@UEAA@XZ
-; public: virtual __cdecl SnmpDateTimeType::~SnmpDateTimeType(void) __ptr64
-??1SnmpDateTimeType@@UEAA@XZ
-; public: virtual __cdecl SnmpDisplayStringType::~SnmpDisplayStringType(void) __ptr64
-??1SnmpDisplayStringType@@UEAA@XZ
-; public: virtual __cdecl SnmpEncodeDecode::~SnmpEncodeDecode(void) __ptr64
-??1SnmpEncodeDecode@@UEAA@XZ
-; public: virtual __cdecl SnmpEndOfMibView::~SnmpEndOfMibView(void) __ptr64
-??1SnmpEndOfMibView@@UEAA@XZ
-; public: virtual __cdecl SnmpEnumeratedType::~SnmpEnumeratedType(void) __ptr64
-??1SnmpEnumeratedType@@UEAA@XZ
-; public: virtual __cdecl SnmpErrorReport::~SnmpErrorReport(void) __ptr64
-??1SnmpErrorReport@@UEAA@XZ
-; public: virtual __cdecl SnmpFixedLengthDisplayStringType::~SnmpFixedLengthDisplayStringType(void) __ptr64
-??1SnmpFixedLengthDisplayStringType@@UEAA@XZ
-; public: virtual __cdecl SnmpFixedLengthOctetStringType::~SnmpFixedLengthOctetStringType(void) __ptr64
-??1SnmpFixedLengthOctetStringType@@UEAA@XZ
-; public: virtual __cdecl SnmpFixedLengthOpaqueType::~SnmpFixedLengthOpaqueType(void) __ptr64
-??1SnmpFixedLengthOpaqueType@@UEAA@XZ
-; public: virtual __cdecl SnmpFixedLengthPhysAddressType::~SnmpFixedLengthPhysAddressType(void) __ptr64
-??1SnmpFixedLengthPhysAddressType@@UEAA@XZ
-; public: virtual __cdecl SnmpFixedType::~SnmpFixedType(void) __ptr64
-??1SnmpFixedType@@UEAA@XZ
-; public: virtual __cdecl SnmpGauge::~SnmpGauge(void) __ptr64
-??1SnmpGauge@@UEAA@XZ
-; public: virtual __cdecl SnmpGaugeType::~SnmpGaugeType(void) __ptr64
-??1SnmpGaugeType@@UEAA@XZ
-; public: virtual __cdecl SnmpGetNextOperation::~SnmpGetNextOperation(void) __ptr64
-??1SnmpGetNextOperation@@UEAA@XZ
-; public: virtual __cdecl SnmpGetOperation::~SnmpGetOperation(void) __ptr64
-??1SnmpGetOperation@@UEAA@XZ
-; public: virtual __cdecl SnmpIPXAddressType::~SnmpIPXAddressType(void) __ptr64
-??1SnmpIPXAddressType@@UEAA@XZ
-; public: virtual __cdecl SnmpImpSession::~SnmpImpSession(void) __ptr64
-??1SnmpImpSession@@UEAA@XZ
-; public: virtual __cdecl SnmpImpTransport::~SnmpImpTransport(void) __ptr64
-??1SnmpImpTransport@@UEAA@XZ
-; public: virtual __cdecl SnmpInstanceType::~SnmpInstanceType(void) __ptr64
-??1SnmpInstanceType@@UEAA@XZ
-; public: virtual __cdecl SnmpInteger::~SnmpInteger(void) __ptr64
-??1SnmpInteger@@UEAA@XZ
-; public: virtual __cdecl SnmpIntegerType::~SnmpIntegerType(void) __ptr64
-??1SnmpIntegerType@@UEAA@XZ
-; public: virtual __cdecl SnmpIpAddress::~SnmpIpAddress(void) __ptr64
-??1SnmpIpAddress@@UEAA@XZ
-; public: virtual __cdecl SnmpIpAddressType::~SnmpIpAddressType(void) __ptr64
-??1SnmpIpAddressType@@UEAA@XZ
-; public: virtual __cdecl SnmpIpxImp::~SnmpIpxImp(void) __ptr64
-??1SnmpIpxImp@@UEAA@XZ
-; public: virtual __cdecl SnmpIpxTransport::~SnmpIpxTransport(void) __ptr64
-??1SnmpIpxTransport@@UEAA@XZ
-; public: __cdecl SnmpLexicon::~SnmpLexicon(void) __ptr64
-??1SnmpLexicon@@QEAA@XZ
-; public: virtual __cdecl SnmpMacAddressType::~SnmpMacAddressType(void) __ptr64
-??1SnmpMacAddressType@@UEAA@XZ
-; public: virtual __cdecl SnmpNegativeRangeType::~SnmpNegativeRangeType(void) __ptr64
-??1SnmpNegativeRangeType@@UEAA@XZ
-; public: virtual __cdecl SnmpNetworkAddressType::~SnmpNetworkAddressType(void) __ptr64
-??1SnmpNetworkAddressType@@UEAA@XZ
-; public: virtual __cdecl SnmpNoSuchInstance::~SnmpNoSuchInstance(void) __ptr64
-??1SnmpNoSuchInstance@@UEAA@XZ
-; public: virtual __cdecl SnmpNoSuchObject::~SnmpNoSuchObject(void) __ptr64
-??1SnmpNoSuchObject@@UEAA@XZ
-; public: virtual __cdecl SnmpNull::~SnmpNull(void) __ptr64
-??1SnmpNull@@UEAA@XZ
-; public: virtual __cdecl SnmpNullType::~SnmpNullType(void) __ptr64
-??1SnmpNullType@@UEAA@XZ
-; public: virtual __cdecl SnmpOSIAddressType::~SnmpOSIAddressType(void) __ptr64
-??1SnmpOSIAddressType@@UEAA@XZ
-; public: virtual __cdecl SnmpObjectIdentifier::~SnmpObjectIdentifier(void) __ptr64
-??1SnmpObjectIdentifier@@UEAA@XZ
-; public: virtual __cdecl SnmpObjectIdentifierType::~SnmpObjectIdentifierType(void) __ptr64
-??1SnmpObjectIdentifierType@@UEAA@XZ
-; public: virtual __cdecl SnmpOctetString::~SnmpOctetString(void) __ptr64
-??1SnmpOctetString@@UEAA@XZ
-; public: virtual __cdecl SnmpOctetStringType::~SnmpOctetStringType(void) __ptr64
-??1SnmpOctetStringType@@UEAA@XZ
-; public: virtual __cdecl SnmpOpaque::~SnmpOpaque(void) __ptr64
-??1SnmpOpaque@@UEAA@XZ
-; public: virtual __cdecl SnmpOpaqueType::~SnmpOpaqueType(void) __ptr64
-??1SnmpOpaqueType@@UEAA@XZ
-; public: virtual __cdecl SnmpOperation::~SnmpOperation(void) __ptr64
-??1SnmpOperation@@UEAA@XZ
-; public: virtual __cdecl SnmpPdu::~SnmpPdu(void) __ptr64
-??1SnmpPdu@@UEAA@XZ
-; public: virtual __cdecl SnmpPhysAddressType::~SnmpPhysAddressType(void) __ptr64
-??1SnmpPhysAddressType@@UEAA@XZ
-; public: virtual __cdecl SnmpPositiveRangeType::~SnmpPositiveRangeType(void) __ptr64
-??1SnmpPositiveRangeType@@UEAA@XZ
-; public: virtual __cdecl SnmpPositiveRangedType::~SnmpPositiveRangedType(void) __ptr64
-??1SnmpPositiveRangedType@@UEAA@XZ
-; public: virtual __cdecl SnmpRowStatusType::~SnmpRowStatusType(void) __ptr64
-??1SnmpRowStatusType@@UEAA@XZ
-; public: virtual __cdecl SnmpSecurity::~SnmpSecurity(void) __ptr64
-??1SnmpSecurity@@UEAA@XZ
-; public: virtual __cdecl SnmpSession::~SnmpSession(void) __ptr64
-??1SnmpSession@@UEAA@XZ
-; public: virtual __cdecl SnmpSetOperation::~SnmpSetOperation(void) __ptr64
-??1SnmpSetOperation@@UEAA@XZ
-; public: virtual __cdecl SnmpTimeTicks::~SnmpTimeTicks(void) __ptr64
-??1SnmpTimeTicks@@UEAA@XZ
-; public: virtual __cdecl SnmpTimeTicksType::~SnmpTimeTicksType(void) __ptr64
-??1SnmpTimeTicksType@@UEAA@XZ
-; public: virtual __cdecl SnmpTransport::~SnmpTransport(void) __ptr64
-??1SnmpTransport@@UEAA@XZ
-; public: virtual __cdecl SnmpTransportAddress::~SnmpTransportAddress(void) __ptr64
-??1SnmpTransportAddress@@UEAA@XZ
-; public: virtual __cdecl SnmpTransportIpAddress::~SnmpTransportIpAddress(void) __ptr64
-??1SnmpTransportIpAddress@@UEAA@XZ
-; public: virtual __cdecl SnmpTransportIpxAddress::~SnmpTransportIpxAddress(void) __ptr64
-??1SnmpTransportIpxAddress@@UEAA@XZ
-; public: __cdecl SnmpTrapReceiver::~SnmpTrapReceiver(void) __ptr64
-??1SnmpTrapReceiver@@QEAA@XZ
-; public: virtual __cdecl SnmpUDPAddressType::~SnmpUDPAddressType(void) __ptr64
-??1SnmpUDPAddressType@@UEAA@XZ
-; public: virtual __cdecl SnmpUInteger32::~SnmpUInteger32(void) __ptr64
-??1SnmpUInteger32@@UEAA@XZ
-; public: virtual __cdecl SnmpUInteger32Type::~SnmpUInteger32Type(void) __ptr64
-??1SnmpUInteger32Type@@UEAA@XZ
-; public: virtual __cdecl SnmpUdpIpImp::~SnmpUdpIpImp(void) __ptr64
-??1SnmpUdpIpImp@@UEAA@XZ
-; public: virtual __cdecl SnmpUdpIpTransport::~SnmpUdpIpTransport(void) __ptr64
-??1SnmpUdpIpTransport@@UEAA@XZ
-; public: virtual __cdecl SnmpV1EncodeDecode::~SnmpV1EncodeDecode(void) __ptr64
-??1SnmpV1EncodeDecode@@UEAA@XZ
-; public: virtual __cdecl SnmpV1OverIp::~SnmpV1OverIp(void) __ptr64
-??1SnmpV1OverIp@@UEAA@XZ
-; public: virtual __cdecl SnmpV1OverIpx::~SnmpV1OverIpx(void) __ptr64
-??1SnmpV1OverIpx@@UEAA@XZ
-; public: virtual __cdecl SnmpV2CEncodeDecode::~SnmpV2CEncodeDecode(void) __ptr64
-??1SnmpV2CEncodeDecode@@UEAA@XZ
-; public: virtual __cdecl SnmpV2COverIp::~SnmpV2COverIp(void) __ptr64
-??1SnmpV2COverIp@@UEAA@XZ
-; public: virtual __cdecl SnmpV2COverIpx::~SnmpV2COverIpx(void) __ptr64
-??1SnmpV2COverIpx@@UEAA@XZ
-; public: virtual __cdecl SnmpValue::~SnmpValue(void) __ptr64
-??1SnmpValue@@UEAA@XZ
-; public: virtual __cdecl SnmpVarBind::~SnmpVarBind(void) __ptr64
-??1SnmpVarBind@@UEAA@XZ
-; public: __cdecl SnmpVarBindList::~SnmpVarBindList(void) __ptr64
-??1SnmpVarBindList@@QEAA@XZ
-; public: __cdecl SnmpVarBindListNode::~SnmpVarBindListNode(void) __ptr64
-??1SnmpVarBindListNode@@QEAA@XZ
-; public: class CBString & __ptr64 __cdecl CBString::operator=(class CBString const & __ptr64) __ptr64
-??4CBString@@QEAAAEAV0@AEBV0@@Z
-; public: class CBString const & __ptr64 __cdecl CBString::operator=(unsigned short * __ptr64) __ptr64
-??4CBString@@QEAAAEBV0@PEAG@Z
-; public: class GeneralException & __ptr64 __cdecl GeneralException::operator=(class GeneralException const & __ptr64) __ptr64
-??4GeneralException@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpAnalyser & __ptr64 __cdecl SnmpAnalyser::operator=(class SnmpAnalyser const & __ptr64) __ptr64
-??4SnmpAnalyser@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpAutoRetrieveOperation & __ptr64 __cdecl SnmpAutoRetrieveOperation::operator=(class SnmpAutoRetrieveOperation const & __ptr64) __ptr64
-??4SnmpAutoRetrieveOperation@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpBitStringType & __ptr64 __cdecl SnmpBitStringType::operator=(class SnmpBitStringType const & __ptr64) __ptr64
-??4SnmpBitStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpClassLibrary & __ptr64 __cdecl SnmpClassLibrary::operator=(class SnmpClassLibrary const & __ptr64) __ptr64
-??4SnmpClassLibrary@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpCommunityBasedSecurity & __ptr64 __cdecl SnmpCommunityBasedSecurity::operator=(class SnmpCommunityBasedSecurity const & __ptr64) __ptr64
-??4SnmpCommunityBasedSecurity@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpCounter64::operator=(class SnmpCounter64 const & __ptr64) __ptr64
-??4SnmpCounter64@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpCounter64Type & __ptr64 __cdecl SnmpCounter64Type::operator=(class SnmpCounter64Type const & __ptr64) __ptr64
-??4SnmpCounter64Type@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpCounter::operator=(class SnmpCounter const & __ptr64) __ptr64
-??4SnmpCounter@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpCounterType & __ptr64 __cdecl SnmpCounterType::operator=(class SnmpCounterType const & __ptr64) __ptr64
-??4SnmpCounterType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpDateTimeType & __ptr64 __cdecl SnmpDateTimeType::operator=(class SnmpDateTimeType const & __ptr64) __ptr64
-??4SnmpDateTimeType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpDisplayStringType & __ptr64 __cdecl SnmpDisplayStringType::operator=(class SnmpDisplayStringType const & __ptr64) __ptr64
-??4SnmpDisplayStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpEncodeDecode & __ptr64 __cdecl SnmpEncodeDecode::operator=(class SnmpEncodeDecode const & __ptr64) __ptr64
-??4SnmpEncodeDecode@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpEndOfMibView::operator=(class SnmpEndOfMibView const & __ptr64) __ptr64
-??4SnmpEndOfMibView@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpEnumeratedType & __ptr64 __cdecl SnmpEnumeratedType::operator=(class SnmpEnumeratedType const & __ptr64) __ptr64
-??4SnmpEnumeratedType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpErrorReport & __ptr64 __cdecl SnmpErrorReport::operator=(class SnmpErrorReport const & __ptr64) __ptr64
-??4SnmpErrorReport@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpFixedLengthDisplayStringType & __ptr64 __cdecl SnmpFixedLengthDisplayStringType::operator=(class SnmpFixedLengthDisplayStringType const & __ptr64) __ptr64
-??4SnmpFixedLengthDisplayStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpFixedLengthOctetStringType & __ptr64 __cdecl SnmpFixedLengthOctetStringType::operator=(class SnmpFixedLengthOctetStringType const & __ptr64) __ptr64
-??4SnmpFixedLengthOctetStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpFixedLengthOpaqueType & __ptr64 __cdecl SnmpFixedLengthOpaqueType::operator=(class SnmpFixedLengthOpaqueType const & __ptr64) __ptr64
-??4SnmpFixedLengthOpaqueType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpFixedLengthPhysAddressType & __ptr64 __cdecl SnmpFixedLengthPhysAddressType::operator=(class SnmpFixedLengthPhysAddressType const & __ptr64) __ptr64
-??4SnmpFixedLengthPhysAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpFixedType & __ptr64 __cdecl SnmpFixedType::operator=(class SnmpFixedType const & __ptr64) __ptr64
-??4SnmpFixedType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpGauge::operator=(class SnmpGauge const & __ptr64) __ptr64
-??4SnmpGauge@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpGaugeType & __ptr64 __cdecl SnmpGaugeType::operator=(class SnmpGaugeType const & __ptr64) __ptr64
-??4SnmpGaugeType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpIPXAddressType & __ptr64 __cdecl SnmpIPXAddressType::operator=(class SnmpIPXAddressType const & __ptr64) __ptr64
-??4SnmpIPXAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpInstanceType & __ptr64 __cdecl SnmpInstanceType::operator=(class SnmpInstanceType const & __ptr64) __ptr64
-??4SnmpInstanceType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpInteger::operator=(class SnmpInteger const & __ptr64) __ptr64
-??4SnmpInteger@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpIntegerType & __ptr64 __cdecl SnmpIntegerType::operator=(class SnmpIntegerType const & __ptr64) __ptr64
-??4SnmpIntegerType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpIpAddress::operator=(class SnmpIpAddress const & __ptr64) __ptr64
-??4SnmpIpAddress@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpIpAddressType & __ptr64 __cdecl SnmpIpAddressType::operator=(class SnmpIpAddressType const & __ptr64) __ptr64
-??4SnmpIpAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpLexicon & __ptr64 __cdecl SnmpLexicon::operator=(class SnmpLexicon const & __ptr64) __ptr64
-??4SnmpLexicon@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpMacAddressType & __ptr64 __cdecl SnmpMacAddressType::operator=(class SnmpMacAddressType const & __ptr64) __ptr64
-??4SnmpMacAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpNegativeRangeType & __ptr64 __cdecl SnmpNegativeRangeType::operator=(class SnmpNegativeRangeType const & __ptr64) __ptr64
-??4SnmpNegativeRangeType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpNetworkAddressType & __ptr64 __cdecl SnmpNetworkAddressType::operator=(class SnmpNetworkAddressType const & __ptr64) __ptr64
-??4SnmpNetworkAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpNoSuchInstance::operator=(class SnmpNoSuchInstance const & __ptr64) __ptr64
-??4SnmpNoSuchInstance@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpNoSuchObject::operator=(class SnmpNoSuchObject const & __ptr64) __ptr64
-??4SnmpNoSuchObject@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpNull::operator=(class SnmpNull const & __ptr64) __ptr64
-??4SnmpNull@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpNullType & __ptr64 __cdecl SnmpNullType::operator=(class SnmpNullType const & __ptr64) __ptr64
-??4SnmpNullType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpOSIAddressType & __ptr64 __cdecl SnmpOSIAddressType::operator=(class SnmpOSIAddressType const & __ptr64) __ptr64
-??4SnmpOSIAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpObjectIdentifier::operator=(class SnmpObjectIdentifier const & __ptr64) __ptr64
-??4SnmpObjectIdentifier@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpObjectIdentifierType & __ptr64 __cdecl SnmpObjectIdentifierType::operator=(class SnmpObjectIdentifierType const & __ptr64) __ptr64
-??4SnmpObjectIdentifierType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpOctetString::operator=(class SnmpOctetString const & __ptr64) __ptr64
-??4SnmpOctetString@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpOctetStringType & __ptr64 __cdecl SnmpOctetStringType::operator=(class SnmpOctetStringType const & __ptr64) __ptr64
-??4SnmpOctetStringType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpOpaque::operator=(class SnmpOpaque const & __ptr64) __ptr64
-??4SnmpOpaque@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpOpaqueType & __ptr64 __cdecl SnmpOpaqueType::operator=(class SnmpOpaqueType const & __ptr64) __ptr64
-??4SnmpOpaqueType@@QEAAAEAV0@AEBV0@@Z
-; private: class SnmpOperation & __ptr64 __cdecl SnmpOperation::operator=(class SnmpOperation const & __ptr64) __ptr64
-??4SnmpOperation@@AEAAAEAV0@AEBV0@@Z
-; public: class SnmpPdu & __ptr64 __cdecl SnmpPdu::operator=(class SnmpPdu const & __ptr64) __ptr64
-??4SnmpPdu@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpPhysAddressType & __ptr64 __cdecl SnmpPhysAddressType::operator=(class SnmpPhysAddressType const & __ptr64) __ptr64
-??4SnmpPhysAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpPositiveRangeType & __ptr64 __cdecl SnmpPositiveRangeType::operator=(class SnmpPositiveRangeType const & __ptr64) __ptr64
-??4SnmpPositiveRangeType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpPositiveRangedType & __ptr64 __cdecl SnmpPositiveRangedType::operator=(class SnmpPositiveRangedType const & __ptr64) __ptr64
-??4SnmpPositiveRangedType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpRowStatusType & __ptr64 __cdecl SnmpRowStatusType::operator=(class SnmpRowStatusType const & __ptr64) __ptr64
-??4SnmpRowStatusType@@QEAAAEAV0@AEBV0@@Z
-; private: class SnmpSecurity & __ptr64 __cdecl SnmpSecurity::operator=(class SnmpSecurity const & __ptr64) __ptr64
-??4SnmpSecurity@@AEAAAEAV0@AEBV0@@Z
-; private: class SnmpSession & __ptr64 __cdecl SnmpSession::operator=(class SnmpSession const & __ptr64) __ptr64
-??4SnmpSession@@AEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpTimeTicks::operator=(class SnmpTimeTicks const & __ptr64) __ptr64
-??4SnmpTimeTicks@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpTimeTicksType & __ptr64 __cdecl SnmpTimeTicksType::operator=(class SnmpTimeTicksType const & __ptr64) __ptr64
-??4SnmpTimeTicksType@@QEAAAEAV0@AEBV0@@Z
-; private: class SnmpTransport & __ptr64 __cdecl SnmpTransport::operator=(class SnmpTransport const & __ptr64) __ptr64
-??4SnmpTransport@@AEAAAEAV0@AEBV0@@Z
-; private: class SnmpTransportAddress & __ptr64 __cdecl SnmpTransportAddress::operator=(class SnmpTransportAddress const & __ptr64) __ptr64
-??4SnmpTransportAddress@@AEAAAEAV0@AEBV0@@Z
-; public: class SnmpTransportIpAddress & __ptr64 __cdecl SnmpTransportIpAddress::operator=(class SnmpTransportIpAddress const & __ptr64) __ptr64
-??4SnmpTransportIpAddress@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpTransportIpAddress & __ptr64 __cdecl SnmpTransportIpAddress::operator=(unsigned char const * __ptr64) __ptr64
-??4SnmpTransportIpAddress@@QEAAAEAV0@PEBE@Z
-; public: class SnmpTransportIpxAddress & __ptr64 __cdecl SnmpTransportIpxAddress::operator=(class SnmpTransportIpxAddress const & __ptr64) __ptr64
-??4SnmpTransportIpxAddress@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpTransportIpxAddress & __ptr64 __cdecl SnmpTransportIpxAddress::operator=(unsigned char const * __ptr64) __ptr64
-??4SnmpTransportIpxAddress@@QEAAAEAV0@PEBE@Z
-; public: class SnmpTrapReceiver & __ptr64 __cdecl SnmpTrapReceiver::operator=(class SnmpTrapReceiver const & __ptr64) __ptr64
-??4SnmpTrapReceiver@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpUDPAddressType & __ptr64 __cdecl SnmpUDPAddressType::operator=(class SnmpUDPAddressType const & __ptr64) __ptr64
-??4SnmpUDPAddressType@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpValue & __ptr64 __cdecl SnmpUInteger32::operator=(class SnmpUInteger32 const & __ptr64) __ptr64
-??4SnmpUInteger32@@QEAAAEAVSnmpValue@@AEBV0@@Z
-; public: class SnmpUInteger32Type & __ptr64 __cdecl SnmpUInteger32Type::operator=(class SnmpUInteger32Type const & __ptr64) __ptr64
-??4SnmpUInteger32Type@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpV1EncodeDecode & __ptr64 __cdecl SnmpV1EncodeDecode::operator=(class SnmpV1EncodeDecode const & __ptr64) __ptr64
-??4SnmpV1EncodeDecode@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpV2CEncodeDecode & __ptr64 __cdecl SnmpV2CEncodeDecode::operator=(class SnmpV2CEncodeDecode const & __ptr64) __ptr64
-??4SnmpV2CEncodeDecode@@QEAAAEAV0@AEBV0@@Z
-; private: class SnmpValue & __ptr64 __cdecl SnmpValue::operator=(class SnmpValue const & __ptr64) __ptr64
-??4SnmpValue@@AEAAAEAV0@AEBV0@@Z
-; public: class SnmpVarBind & __ptr64 __cdecl SnmpVarBind::operator=(class SnmpVarBind const & __ptr64) __ptr64
-??4SnmpVarBind@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpVarBindList & __ptr64 __cdecl SnmpVarBindList::operator=(class SnmpVarBindList & __ptr64) __ptr64
-??4SnmpVarBindList@@QEAAAEAV0@AEAV0@@Z
-; public: class SnmpVarBindListNode & __ptr64 __cdecl SnmpVarBindListNode::operator=(class SnmpVarBindListNode const & __ptr64) __ptr64
-??4SnmpVarBindListNode@@QEAAAEAV0@AEBV0@@Z
-; public: int __cdecl SnmpInstanceType::operator==(class SnmpInstanceType const & __ptr64)const  __ptr64
-??8SnmpInstanceType@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpObjectIdentifier::operator==(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-??8SnmpObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpTransportIpAddress::operator==(class SnmpTransportIpAddress const & __ptr64)const  __ptr64
-??8SnmpTransportIpAddress@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpTransportIpxAddress::operator==(class SnmpTransportIpxAddress const & __ptr64)const  __ptr64
-??8SnmpTransportIpxAddress@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpValue::operator==(class SnmpValue const & __ptr64)const  __ptr64
-??8SnmpValue@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpInstanceType::operator!=(class SnmpInstanceType const & __ptr64)const  __ptr64
-??9SnmpInstanceType@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpObjectIdentifier::operator!=(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-??9SnmpObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpTransportIpAddress::operator!=(class SnmpTransportIpAddress const & __ptr64)const  __ptr64
-??9SnmpTransportIpAddress@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpTransportIpxAddress::operator!=(class SnmpTransportIpxAddress const & __ptr64)const  __ptr64
-??9SnmpTransportIpxAddress@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpValue::operator!=(class SnmpValue const & __ptr64)const  __ptr64
-??9SnmpValue@@QEBAHAEBV0@@Z
-; public: unsigned long & __ptr64 __cdecl SnmpObjectIdentifier::operator[](unsigned long)const  __ptr64
-??ASnmpObjectIdentifier@@QEBAAEAKK@Z
-; public: virtual unsigned char __cdecl SnmpTransportIpAddress::operator[](unsigned short)const  __ptr64
-??ASnmpTransportIpAddress@@UEBAEG@Z
-; public: virtual unsigned char __cdecl SnmpTransportIpxAddress::operator[](unsigned short)const  __ptr64
-??ASnmpTransportIpxAddress@@UEBAEG@Z
-; public: class SnmpVarBind * __ptr64 __cdecl SnmpVarBindList::operator[](unsigned int) __ptr64
-??ASnmpVarBindList@@QEAAPEAVSnmpVarBind@@I@Z
-; public: virtual __cdecl SnmpAnalyser::operator void * __ptr64(void) __ptr64
-??BSnmpAnalyser@@UEAAPEAXXZ
-; public: virtual __cdecl SnmpCommunityBasedSecurity::operator void * __ptr64(void)const  __ptr64
-??BSnmpCommunityBasedSecurity@@UEBAPEAXXZ
-; public: __cdecl SnmpErrorReport::operator void * __ptr64(void)const  __ptr64
-??BSnmpErrorReport@@QEBAPEAXXZ
-; public: __cdecl SnmpImpSession::operator void * __ptr64(void)const  __ptr64
-??BSnmpImpSession@@QEBAPEAXXZ
-; public: virtual __cdecl SnmpInstanceType::operator void * __ptr64(void) __ptr64
-??BSnmpInstanceType@@UEAAPEAXXZ
-; public: __cdecl SnmpOperation::operator void * __ptr64(void)const  __ptr64
-??BSnmpOperation@@QEBAPEAXXZ
-; public: __cdecl SnmpPdu::operator void * __ptr64(void)const  __ptr64
-??BSnmpPdu@@QEBAPEAXXZ
-; public: virtual __cdecl SnmpPositiveRangedType::operator void * __ptr64(void) __ptr64
-??BSnmpPositiveRangedType@@UEAAPEAXXZ
-; public: virtual __cdecl SnmpTransportIpAddress::operator void * __ptr64(void)const  __ptr64
-??BSnmpTransportIpAddress@@UEBAPEAXXZ
-; public: virtual __cdecl SnmpTransportIpxAddress::operator void * __ptr64(void)const  __ptr64
-??BSnmpTransportIpxAddress@@UEBAPEAXXZ
-; public: class SnmpObjectIdentifier  __cdecl SnmpObjectIdentifier::operator+(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-??HSnmpObjectIdentifier@@QEBA?AV0@AEBV0@@Z
-; public: int __cdecl SnmpObjectIdentifier::operator<(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-??MSnmpObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpObjectIdentifier::operator<=(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-??NSnmpObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpObjectIdentifier::operator>(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-??OSnmpObjectIdentifier@@QEBAHAEBV0@@Z
-; public: int __cdecl SnmpObjectIdentifier::operator>=(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-??PSnmpObjectIdentifier@@QEBAHAEBV0@@Z
-; public: virtual void * __ptr64 __cdecl SnmpCommunityBasedSecurity::operator()(void)const  __ptr64
-??RSnmpCommunityBasedSecurity@@UEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpEncodeDecode::operator()(void)const  __ptr64
-??RSnmpEncodeDecode@@UEBAPEAXXZ
-; public: void * __ptr64 __cdecl SnmpErrorReport::operator()(void)const  __ptr64
-??RSnmpErrorReport@@QEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpImpSession::operator()(void)const  __ptr64
-??RSnmpImpSession@@UEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpImpTransport::operator()(void)const  __ptr64
-??RSnmpImpTransport@@UEBAPEAXXZ
-; public: void * __ptr64 __cdecl SnmpIpAddress::operator()(void)const  __ptr64
-??RSnmpIpAddress@@QEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpIpxImp::operator()(void)const  __ptr64
-??RSnmpIpxImp@@UEBAPEAXXZ
-; public: void * __ptr64 __cdecl SnmpObjectIdentifier::operator()(void)const  __ptr64
-??RSnmpObjectIdentifier@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl SnmpOctetString::operator()(void)const  __ptr64
-??RSnmpOctetString@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl SnmpOpaque::operator()(void)const  __ptr64
-??RSnmpOpaque@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl SnmpOperation::operator()(void)const  __ptr64
-??RSnmpOperation@@QEBAPEAXXZ
-; public: void * __ptr64 __cdecl SnmpPdu::operator()(void)const  __ptr64
-??RSnmpPdu@@QEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpTransportIpAddress::operator()(void)const  __ptr64
-??RSnmpTransportIpAddress@@UEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpTransportIpxAddress::operator()(void)const  __ptr64
-??RSnmpTransportIpxAddress@@UEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpUdpIpImp::operator()(void)const  __ptr64
-??RSnmpUdpIpImp@@UEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpV1OverIp::operator()(void)const  __ptr64
-??RSnmpV1OverIp@@UEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpV1OverIpx::operator()(void)const  __ptr64
-??RSnmpV1OverIpx@@UEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpV2COverIp::operator()(void)const  __ptr64
-??RSnmpV2COverIp@@UEBAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpV2COverIpx::operator()(void)const  __ptr64
-??RSnmpV2COverIpx@@UEBAPEAXXZ
-; const  GeneralException::`vftable'
-??_7GeneralException@@6B@
-; const  GetNextOperation::`vftable'
-??_7GetNextOperation@@6B@
-; const  SnmpAnalyser::`vftable'
-??_7SnmpAnalyser@@6B@
-; const  SnmpAutoRetrieveOperation::`vftable'
-??_7SnmpAutoRetrieveOperation@@6B@
-; const  SnmpBitStringType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpBitStringType@@6BSnmpInstanceType@@@
-; const  SnmpBitStringType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpBitStringType@@6BSnmpPositiveRangedType@@@
-; const  SnmpClassLibrary::`vftable'
-??_7SnmpClassLibrary@@6B@
-; const  SnmpCommunityBasedSecurity::`vftable'
-??_7SnmpCommunityBasedSecurity@@6B@
-; const  SnmpCounter64::`vftable'
-??_7SnmpCounter64@@6B@
-; const  SnmpCounter64Type::`vftable'
-??_7SnmpCounter64Type@@6B@
-; const  SnmpCounter::`vftable'
-??_7SnmpCounter@@6B@
-; const  SnmpCounterType::`vftable'
-??_7SnmpCounterType@@6B@
-; const  SnmpDateTimeType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpDateTimeType@@6BSnmpInstanceType@@@
-; const  SnmpDateTimeType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpDateTimeType@@6BSnmpPositiveRangedType@@@
-; const  SnmpDisplayStringType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpDisplayStringType@@6BSnmpInstanceType@@@
-; const  SnmpDisplayStringType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpDisplayStringType@@6BSnmpPositiveRangedType@@@
-; const  SnmpEncodeDecode::`vftable'
-??_7SnmpEncodeDecode@@6B@
-; const  SnmpEndOfMibView::`vftable'
-??_7SnmpEndOfMibView@@6B@
-; const  SnmpEnumeratedType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpEnumeratedType@@6BSnmpInstanceType@@@
-; const  SnmpEnumeratedType::`vftable'{for `SnmpNegativeRangedType'}
-??_7SnmpEnumeratedType@@6BSnmpNegativeRangedType@@@
-; const  SnmpErrorReport::`vftable'
-??_7SnmpErrorReport@@6B@
-; const  SnmpFixedLengthDisplayStringType::`vftable'
-??_7SnmpFixedLengthDisplayStringType@@6B@
-; const  SnmpFixedLengthDisplayStringType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpFixedLengthDisplayStringType@@6BSnmpInstanceType@@@
-; const  SnmpFixedLengthDisplayStringType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpFixedLengthDisplayStringType@@6BSnmpPositiveRangedType@@@
-; const  SnmpFixedLengthOctetStringType::`vftable'
-??_7SnmpFixedLengthOctetStringType@@6B@
-; const  SnmpFixedLengthOctetStringType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpFixedLengthOctetStringType@@6BSnmpInstanceType@@@
-; const  SnmpFixedLengthOctetStringType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpFixedLengthOctetStringType@@6BSnmpPositiveRangedType@@@
-; const  SnmpFixedLengthOpaqueType::`vftable'
-??_7SnmpFixedLengthOpaqueType@@6B@
-; const  SnmpFixedLengthOpaqueType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpFixedLengthOpaqueType@@6BSnmpInstanceType@@@
-; const  SnmpFixedLengthOpaqueType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpFixedLengthOpaqueType@@6BSnmpPositiveRangedType@@@
-; const  SnmpFixedLengthPhysAddressType::`vftable'
-??_7SnmpFixedLengthPhysAddressType@@6B@
-; const  SnmpFixedLengthPhysAddressType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpFixedLengthPhysAddressType@@6BSnmpInstanceType@@@
-; const  SnmpFixedLengthPhysAddressType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpFixedLengthPhysAddressType@@6BSnmpPositiveRangedType@@@
-; const  SnmpFixedType::`vftable'
-??_7SnmpFixedType@@6B@
-; const  SnmpGauge::`vftable'
-??_7SnmpGauge@@6B@
-; const  SnmpGaugeType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpGaugeType@@6BSnmpInstanceType@@@
-; const  SnmpGaugeType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpGaugeType@@6BSnmpPositiveRangedType@@@
-; const  SnmpGetNextOperation::`vftable'
-??_7SnmpGetNextOperation@@6B@
-; const  SnmpGetOperation::`vftable'
-??_7SnmpGetOperation@@6B@
-; const  SnmpIPXAddressType::`vftable'
-??_7SnmpIPXAddressType@@6B@
-; const  SnmpIPXAddressType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpIPXAddressType@@6BSnmpInstanceType@@@
-; const  SnmpIPXAddressType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpIPXAddressType@@6BSnmpPositiveRangedType@@@
-; const  SnmpImpSession::`vftable'
-??_7SnmpImpSession@@6B@
-; const  SnmpImpTransport::`vftable'
-??_7SnmpImpTransport@@6B@
-; const  SnmpInstanceType::`vftable'
-??_7SnmpInstanceType@@6B@
-; const  SnmpInteger::`vftable'
-??_7SnmpInteger@@6B@
-; const  SnmpIntegerType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpIntegerType@@6BSnmpInstanceType@@@
-; const  SnmpIntegerType::`vftable'{for `SnmpNegativeRangedType'}
-??_7SnmpIntegerType@@6BSnmpNegativeRangedType@@@
-; const  SnmpIpAddress::`vftable'
-??_7SnmpIpAddress@@6B@
-; const  SnmpIpAddressType::`vftable'
-??_7SnmpIpAddressType@@6B@
-; const  SnmpIpxImp::`vftable'{for `SnmpIpxTransport'}
-??_7SnmpIpxImp@@6BSnmpIpxTransport@@@
-; const  SnmpIpxImp::`vftable'{for `SnmpTransportIpxAddress'}
-??_7SnmpIpxImp@@6BSnmpTransportIpxAddress@@@
-; const  SnmpIpxTransport::`vftable'
-??_7SnmpIpxTransport@@6B@
-; const  SnmpMacAddressType::`vftable'
-??_7SnmpMacAddressType@@6B@
-; const  SnmpMacAddressType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpMacAddressType@@6BSnmpInstanceType@@@
-; const  SnmpMacAddressType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpMacAddressType@@6BSnmpPositiveRangedType@@@
-; const  SnmpNegativeRangeType::`vftable'
-??_7SnmpNegativeRangeType@@6B@
-; const  SnmpNetworkAddressType::`vftable'
-??_7SnmpNetworkAddressType@@6B@
-; const  SnmpNoSuchInstance::`vftable'
-??_7SnmpNoSuchInstance@@6B@
-; const  SnmpNoSuchObject::`vftable'
-??_7SnmpNoSuchObject@@6B@
-; const  SnmpNull::`vftable'
-??_7SnmpNull@@6B@
-; const  SnmpNullType::`vftable'
-??_7SnmpNullType@@6B@
-; const  SnmpOSIAddressType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpOSIAddressType@@6BSnmpInstanceType@@@
-; const  SnmpOSIAddressType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpOSIAddressType@@6BSnmpPositiveRangedType@@@
-; const  SnmpObjectIdentifier::`vftable'
-??_7SnmpObjectIdentifier@@6B@
-; const  SnmpObjectIdentifierType::`vftable'
-??_7SnmpObjectIdentifierType@@6B@
-; const  SnmpOctetString::`vftable'
-??_7SnmpOctetString@@6B@
-; const  SnmpOctetStringType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpOctetStringType@@6BSnmpInstanceType@@@
-; const  SnmpOctetStringType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpOctetStringType@@6BSnmpPositiveRangedType@@@
-; const  SnmpOpaque::`vftable'
-??_7SnmpOpaque@@6B@
-; const  SnmpOpaqueType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpOpaqueType@@6BSnmpInstanceType@@@
-; const  SnmpOpaqueType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpOpaqueType@@6BSnmpPositiveRangedType@@@
-; const  SnmpOperation::`vftable'
-??_7SnmpOperation@@6B@
-; const  SnmpPdu::`vftable'
-??_7SnmpPdu@@6B@
-; const  SnmpPhysAddressType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpPhysAddressType@@6BSnmpInstanceType@@@
-; const  SnmpPhysAddressType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpPhysAddressType@@6BSnmpPositiveRangedType@@@
-; const  SnmpPositiveRangeType::`vftable'
-??_7SnmpPositiveRangeType@@6B@
-; const  SnmpPositiveRangedType::`vftable'
-??_7SnmpPositiveRangedType@@6B@
-; const  SnmpRowStatusType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpRowStatusType@@6BSnmpInstanceType@@@
-; const  SnmpRowStatusType::`vftable'{for `SnmpNegativeRangedType'}
-??_7SnmpRowStatusType@@6BSnmpNegativeRangedType@@@
-; const  SnmpSecurity::`vftable'
-??_7SnmpSecurity@@6B@
-; const  SnmpSession::`vftable'
-??_7SnmpSession@@6B@
-; const  SnmpSetOperation::`vftable'
-??_7SnmpSetOperation@@6B@
-; const  SnmpTimeTicks::`vftable'
-??_7SnmpTimeTicks@@6B@
-; const  SnmpTimeTicksType::`vftable'
-??_7SnmpTimeTicksType@@6B@
-; const  SnmpTransport::`vftable'
-??_7SnmpTransport@@6B@
-; const  SnmpTransportAddress::`vftable'
-??_7SnmpTransportAddress@@6B@
-; const  SnmpTransportIpAddress::`vftable'
-??_7SnmpTransportIpAddress@@6B@
-; const  SnmpTransportIpxAddress::`vftable'
-??_7SnmpTransportIpxAddress@@6B@
-; const  SnmpTrapReceiver::`vftable'
-??_7SnmpTrapReceiver@@6B@
-; const  SnmpUDPAddressType::`vftable'
-??_7SnmpUDPAddressType@@6B@
-; const  SnmpUDPAddressType::`vftable'{for `SnmpInstanceType'}
-??_7SnmpUDPAddressType@@6BSnmpInstanceType@@@
-; const  SnmpUDPAddressType::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpUDPAddressType@@6BSnmpPositiveRangedType@@@
-; const  SnmpUInteger32::`vftable'
-??_7SnmpUInteger32@@6B@
-; const  SnmpUInteger32Type::`vftable'{for `SnmpInstanceType'}
-??_7SnmpUInteger32Type@@6BSnmpInstanceType@@@
-; const  SnmpUInteger32Type::`vftable'{for `SnmpPositiveRangedType'}
-??_7SnmpUInteger32Type@@6BSnmpPositiveRangedType@@@
-; const  SnmpUdpIpImp::`vftable'{for `SnmpTransportIpAddress'}
-??_7SnmpUdpIpImp@@6BSnmpTransportIpAddress@@@
-; const  SnmpUdpIpImp::`vftable'{for `SnmpUdpIpTransport'}
-??_7SnmpUdpIpImp@@6BSnmpUdpIpTransport@@@
-; const  SnmpUdpIpTransport::`vftable'
-??_7SnmpUdpIpTransport@@6B@
-; const  SnmpV1EncodeDecode::`vftable'
-??_7SnmpV1EncodeDecode@@6B@
-; const  SnmpV1OverIp::`vftable'{for `SnmpCommunityBasedSecurity'}
-??_7SnmpV1OverIp@@6BSnmpCommunityBasedSecurity@@@
-; const  SnmpV1OverIp::`vftable'{for `SnmpImpSession'}
-??_7SnmpV1OverIp@@6BSnmpImpSession@@@
-; const  SnmpV1OverIp::`vftable'{for `SnmpTransportIpAddress'}
-??_7SnmpV1OverIp@@6BSnmpTransportIpAddress@@@
-; const  SnmpV1OverIp::`vftable'{for `SnmpUdpIpTransport'}
-??_7SnmpV1OverIp@@6BSnmpUdpIpTransport@@@
-; const  SnmpV1OverIp::`vftable'{for `SnmpV1EncodeDecode'}
-??_7SnmpV1OverIp@@6BSnmpV1EncodeDecode@@@
-; const  SnmpV1OverIpx::`vftable'{for `SnmpCommunityBasedSecurity'}
-??_7SnmpV1OverIpx@@6BSnmpCommunityBasedSecurity@@@
-; const  SnmpV1OverIpx::`vftable'{for `SnmpImpSession'}
-??_7SnmpV1OverIpx@@6BSnmpImpSession@@@
-; const  SnmpV1OverIpx::`vftable'{for `SnmpIpxTransport'}
-??_7SnmpV1OverIpx@@6BSnmpIpxTransport@@@
-; const  SnmpV1OverIpx::`vftable'{for `SnmpTransportIpxAddress'}
-??_7SnmpV1OverIpx@@6BSnmpTransportIpxAddress@@@
-; const  SnmpV1OverIpx::`vftable'{for `SnmpV1EncodeDecode'}
-??_7SnmpV1OverIpx@@6BSnmpV1EncodeDecode@@@
-; const  SnmpV2CEncodeDecode::`vftable'
-??_7SnmpV2CEncodeDecode@@6B@
-; const  SnmpV2COverIp::`vftable'{for `SnmpCommunityBasedSecurity'}
-??_7SnmpV2COverIp@@6BSnmpCommunityBasedSecurity@@@
-; const  SnmpV2COverIp::`vftable'{for `SnmpImpSession'}
-??_7SnmpV2COverIp@@6BSnmpImpSession@@@
-; const  SnmpV2COverIp::`vftable'{for `SnmpTransportIpAddress'}
-??_7SnmpV2COverIp@@6BSnmpTransportIpAddress@@@
-; const  SnmpV2COverIp::`vftable'{for `SnmpUdpIpTransport'}
-??_7SnmpV2COverIp@@6BSnmpUdpIpTransport@@@
-; const  SnmpV2COverIp::`vftable'{for `SnmpV2CEncodeDecode'}
-??_7SnmpV2COverIp@@6BSnmpV2CEncodeDecode@@@
-; const  SnmpV2COverIpx::`vftable'{for `SnmpCommunityBasedSecurity'}
-??_7SnmpV2COverIpx@@6BSnmpCommunityBasedSecurity@@@
-; const  SnmpV2COverIpx::`vftable'{for `SnmpImpSession'}
-??_7SnmpV2COverIpx@@6BSnmpImpSession@@@
-; const  SnmpV2COverIpx::`vftable'{for `SnmpIpxTransport'}
-??_7SnmpV2COverIpx@@6BSnmpIpxTransport@@@
-; const  SnmpV2COverIpx::`vftable'{for `SnmpTransportIpxAddress'}
-??_7SnmpV2COverIpx@@6BSnmpTransportIpxAddress@@@
-; const  SnmpV2COverIpx::`vftable'{for `SnmpV2CEncodeDecode'}
-??_7SnmpV2COverIpx@@6BSnmpV2CEncodeDecode@@@
-; const  SnmpValue::`vftable'
-??_7SnmpValue@@6B@
-; const  SnmpVarBind::`vftable'
-??_7SnmpVarBind@@6B@
-; public: void __cdecl SnmpAnalyser::`default constructor closure'(void) __ptr64
-??_FSnmpAnalyser@@QEAAXXZ
-; public: void __cdecl SnmpCommunityBasedSecurity::`default constructor closure'(void) __ptr64
-??_FSnmpCommunityBasedSecurity@@QEAAXXZ
-; public: void __cdecl SnmpDisplayStringType::`default constructor closure'(void) __ptr64
-??_FSnmpDisplayStringType@@QEAAXXZ
-; public: void __cdecl SnmpGaugeType::`default constructor closure'(void) __ptr64
-??_FSnmpGaugeType@@QEAAXXZ
-; public: void __cdecl SnmpInstanceType::`default constructor closure'(void) __ptr64
-??_FSnmpInstanceType@@QEAAXXZ
-; public: void __cdecl SnmpIntegerType::`default constructor closure'(void) __ptr64
-??_FSnmpIntegerType@@QEAAXXZ
-; public: void __cdecl SnmpOctetStringType::`default constructor closure'(void) __ptr64
-??_FSnmpOctetStringType@@QEAAXXZ
-; public: void __cdecl SnmpOpaqueType::`default constructor closure'(void) __ptr64
-??_FSnmpOpaqueType@@QEAAXXZ
-; public: void __cdecl SnmpPhysAddressType::`default constructor closure'(void) __ptr64
-??_FSnmpPhysAddressType@@QEAAXXZ
-; public: void __cdecl SnmpPositiveRangedType::`default constructor closure'(void) __ptr64
-??_FSnmpPositiveRangedType@@QEAAXXZ
-; public: void __cdecl SnmpUInteger32Type::`default constructor closure'(void) __ptr64
-??_FSnmpUInteger32Type@@QEAAXXZ
-; public: void __cdecl SnmpVarBindList::Add(class SnmpVarBind const & __ptr64) __ptr64
-?Add@SnmpVarBindList@@QEAAXAEBVSnmpVarBind@@@Z
-; public: void __cdecl SnmpVarBindList::AddNoReallocate(class SnmpVarBind & __ptr64) __ptr64
-?AddNoReallocate@SnmpVarBindList@@QEAAXAEAVSnmpVarBind@@@Z
-; protected: virtual int __cdecl SnmpAnalyser::Analyse(class SnmpLexicon * __ptr64,unsigned long & __ptr64,unsigned short,unsigned short const * __ptr64,unsigned long & __ptr64,int,int,int) __ptr64
-?Analyse@SnmpAnalyser@@MEAAHPEAVSnmpLexicon@@AEAKGPEBG1HHH@Z
-; private: int __cdecl SnmpBitStringType::BitStringDef(void) __ptr64
-?BitStringDef@SnmpBitStringType@@AEAAHXZ
-; public: void __cdecl GetNextOperation::CancelRequest(void) __ptr64
-?CancelRequest@GetNextOperation@@QEAAXXZ
-; public: void __cdecl SnmpAutoRetrieveOperation::CancelRequest(void) __ptr64
-?CancelRequest@SnmpAutoRetrieveOperation@@QEAAXXZ
-; public: void __cdecl SnmpOperation::CancelRequest(void) __ptr64
-?CancelRequest@SnmpOperation@@QEAAXXZ
-; public: class SnmpVarBindList * __ptr64 __cdecl SnmpVarBindList::Car(unsigned int) __ptr64
-?Car@SnmpVarBindList@@QEAAPEAV1@I@Z
-; public: class SnmpVarBindList * __ptr64 __cdecl SnmpVarBindList::Cdr(unsigned int) __ptr64
-?Cdr@SnmpVarBindList@@QEAAPEAV1@I@Z
-; public: int __cdecl SnmpPositiveRangedType::Check(unsigned long const & __ptr64) __ptr64
-?Check@SnmpPositiveRangedType@@QEAAHAEBK@Z
-; private: void __cdecl SnmpOperation::CheckOperationDeletion(void) __ptr64
-?CheckOperationDeletion@SnmpOperation@@AEAAXXZ
-; private: void __cdecl GetNextOperation::Cleanup(void) __ptr64
-?Cleanup@GetNextOperation@@AEAAXXZ
-; public: static void __cdecl SnmpClassLibrary::Closedown(void)
-?Closedown@SnmpClassLibrary@@SAXXZ
-; protected: enum SnmpObjectIdentifier::Comparison  __cdecl SnmpObjectIdentifier::Compare(class SnmpObjectIdentifier const & __ptr64,class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Compare@SnmpObjectIdentifier@@IEBA?AW4Comparison@1@AEBV1@0@Z
-; int __cdecl CompareElements(class SnmpObjectIdentifierType * __ptr64,class SnmpObjectIdentifierType * __ptr64)
-?CompareElements@@YAHPEAVSnmpObjectIdentifierType@@0@Z
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpBitStringType::Copy(void)const  __ptr64
-?Copy@SnmpBitStringType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpSecurity * __ptr64 __cdecl SnmpCommunityBasedSecurity::Copy(void)const  __ptr64
-?Copy@SnmpCommunityBasedSecurity@@UEBAPEAVSnmpSecurity@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpCounter64::Copy(void)const  __ptr64
-?Copy@SnmpCounter64@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpCounter64Type::Copy(void)const  __ptr64
-?Copy@SnmpCounter64Type@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpCounter::Copy(void)const  __ptr64
-?Copy@SnmpCounter@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpCounterType::Copy(void)const  __ptr64
-?Copy@SnmpCounterType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpDateTimeType::Copy(void)const  __ptr64
-?Copy@SnmpDateTimeType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpDisplayStringType::Copy(void)const  __ptr64
-?Copy@SnmpDisplayStringType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpEndOfMibView::Copy(void)const  __ptr64
-?Copy@SnmpEndOfMibView@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpEnumeratedType::Copy(void)const  __ptr64
-?Copy@SnmpEnumeratedType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthDisplayStringType::Copy(void)const  __ptr64
-?Copy@SnmpFixedLengthDisplayStringType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthOctetStringType::Copy(void)const  __ptr64
-?Copy@SnmpFixedLengthOctetStringType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthOpaqueType::Copy(void)const  __ptr64
-?Copy@SnmpFixedLengthOpaqueType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthPhysAddressType::Copy(void)const  __ptr64
-?Copy@SnmpFixedLengthPhysAddressType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpGauge::Copy(void)const  __ptr64
-?Copy@SnmpGauge@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpGaugeType::Copy(void)const  __ptr64
-?Copy@SnmpGaugeType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpIPXAddressType::Copy(void)const  __ptr64
-?Copy@SnmpIPXAddressType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpInteger::Copy(void)const  __ptr64
-?Copy@SnmpInteger@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpIntegerType::Copy(void)const  __ptr64
-?Copy@SnmpIntegerType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpIpAddress::Copy(void)const  __ptr64
-?Copy@SnmpIpAddress@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpIpAddressType::Copy(void)const  __ptr64
-?Copy@SnmpIpAddressType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpMacAddressType::Copy(void)const  __ptr64
-?Copy@SnmpMacAddressType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpNegativeRangeType * __ptr64 __cdecl SnmpNegativeRangeType::Copy(void) __ptr64
-?Copy@SnmpNegativeRangeType@@UEAAPEAV1@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpNetworkAddressType::Copy(void)const  __ptr64
-?Copy@SnmpNetworkAddressType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpNoSuchInstance::Copy(void)const  __ptr64
-?Copy@SnmpNoSuchInstance@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpNoSuchObject::Copy(void)const  __ptr64
-?Copy@SnmpNoSuchObject@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpNull::Copy(void)const  __ptr64
-?Copy@SnmpNull@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpNullType::Copy(void)const  __ptr64
-?Copy@SnmpNullType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpOSIAddressType::Copy(void)const  __ptr64
-?Copy@SnmpOSIAddressType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpObjectIdentifier::Copy(void)const  __ptr64
-?Copy@SnmpObjectIdentifier@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpObjectIdentifierType::Copy(void)const  __ptr64
-?Copy@SnmpObjectIdentifierType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpOctetString::Copy(void)const  __ptr64
-?Copy@SnmpOctetString@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpOctetStringType::Copy(void)const  __ptr64
-?Copy@SnmpOctetStringType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpOpaque::Copy(void)const  __ptr64
-?Copy@SnmpOpaque@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpOpaqueType::Copy(void)const  __ptr64
-?Copy@SnmpOpaqueType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpPhysAddressType::Copy(void)const  __ptr64
-?Copy@SnmpPhysAddressType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpPositiveRangeType * __ptr64 __cdecl SnmpPositiveRangeType::Copy(void) __ptr64
-?Copy@SnmpPositiveRangeType@@UEAAPEAV1@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpRowStatusType::Copy(void)const  __ptr64
-?Copy@SnmpRowStatusType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpTimeTicks::Copy(void)const  __ptr64
-?Copy@SnmpTimeTicks@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpTimeTicksType::Copy(void)const  __ptr64
-?Copy@SnmpTimeTicksType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpTransportAddress * __ptr64 __cdecl SnmpTransportIpAddress::Copy(void)const  __ptr64
-?Copy@SnmpTransportIpAddress@@UEBAPEAVSnmpTransportAddress@@XZ
-; public: virtual class SnmpTransportAddress * __ptr64 __cdecl SnmpTransportIpxAddress::Copy(void)const  __ptr64
-?Copy@SnmpTransportIpxAddress@@UEBAPEAVSnmpTransportAddress@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpUDPAddressType::Copy(void)const  __ptr64
-?Copy@SnmpUDPAddressType@@UEBAPEAVSnmpInstanceType@@XZ
-; public: virtual class SnmpValue * __ptr64 __cdecl SnmpUInteger32::Copy(void)const  __ptr64
-?Copy@SnmpUInteger32@@UEBAPEAVSnmpValue@@XZ
-; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpUInteger32Type::Copy(void)const  __ptr64
-?Copy@SnmpUInteger32Type@@UEBAPEAVSnmpInstanceType@@XZ
-; public: class SnmpVarBindList * __ptr64 __cdecl SnmpVarBindList::CopySegment(unsigned int) __ptr64
-?CopySegment@SnmpVarBindList@@QEAAPEAV1@I@Z
-; protected: virtual class SnmpLexicon * __ptr64 __cdecl SnmpAnalyser::CreateLexicon(void) __ptr64
-?CreateLexicon@SnmpAnalyser@@MEAAPEAVSnmpLexicon@@XZ
-; public: class SnmpObjectIdentifier * __ptr64 __cdecl SnmpObjectIdentifier::Cut(class SnmpObjectIdentifier & __ptr64)const  __ptr64
-?Cut@SnmpObjectIdentifier@@QEBAPEAV1@AEAV1@@Z
-; private: int __cdecl SnmpDateTimeType::DateTimeDef(void) __ptr64
-?DateTimeDef@SnmpDateTimeType@@AEAAHXZ
-; unsigned short * __ptr64 __cdecl DbcsToUnicodeString(char const * __ptr64)
-?DbcsToUnicodeString@@YAPEAGPEBD@Z
-; public: static unsigned long __cdecl SnmpAnalyser::DecCharToDecInteger(char)
-?DecCharToDecInteger@SnmpAnalyser@@SAKD@Z
-; public: static char __cdecl SnmpAnalyser::DecIntegerToDecChar(unsigned char)
-?DecIntegerToDecChar@SnmpAnalyser@@SADE@Z
-; public: static unsigned short __cdecl SnmpAnalyser::DecIntegerToDecWChar(unsigned char)
-?DecIntegerToDecWChar@SnmpAnalyser@@SAGE@Z
-; public: static char __cdecl SnmpAnalyser::DecIntegerToHexChar(unsigned char)
-?DecIntegerToHexChar@SnmpAnalyser@@SADE@Z
-; public: static unsigned short __cdecl SnmpAnalyser::DecIntegerToHexWChar(unsigned char)
-?DecIntegerToHexWChar@SnmpAnalyser@@SAGE@Z
-; public: static char __cdecl SnmpAnalyser::DecIntegerToOctChar(unsigned char)
-?DecIntegerToOctChar@SnmpAnalyser@@SADE@Z
-; public: static unsigned short __cdecl SnmpAnalyser::DecIntegerToOctWChar(unsigned char)
-?DecIntegerToOctWChar@SnmpAnalyser@@SAGE@Z
-; public: static unsigned long __cdecl SnmpAnalyser::DecWCharToDecInteger(unsigned short)
-?DecWCharToDecInteger@SnmpAnalyser@@SAKG@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounter64Type::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpCounter64Type@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounterType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpCounterType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOctetStringType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpFixedLengthOctetStringType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOpaqueType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpFixedLengthOpaqueType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpGaugeType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpGaugeType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIntegerType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpIntegerType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIpAddressType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpIpAddressType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNetworkAddressType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpNetworkAddressType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNullType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpNullType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpObjectIdentifierType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpObjectIdentifierType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOctetStringType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpOctetStringType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOpaqueType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpOpaqueType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpTimeTicksType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpTimeTicksType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpUInteger32Type::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
-?Decode@SnmpUInteger32Type@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual int __cdecl SnmpEncodeDecode::DecodeFrame(class SnmpPdu & __ptr64,long,enum SnmpEncodeDecode::PduType,class SnmpErrorReport & __ptr64,class SnmpVarBindList * __ptr64 & __ptr64,class SnmpCommunityBasedSecurity * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
-?DecodeFrame@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@JW4PduType@1@AEAVSnmpErrorReport@@AEAPEAVSnmpVarBindList@@AEAPEAVSnmpCommunityBasedSecurity@@AEAPEAVSnmpTransportAddress@@5@Z
-; public: virtual int __cdecl SnmpEncodeDecode::DecodeFrame(void * __ptr64,class SnmpPdu & __ptr64) __ptr64
-?DecodeFrame@SnmpEncodeDecode@@UEAAHPEAXAEAVSnmpPdu@@@Z
-; public: virtual void __cdecl SnmpImpSession::DeregisterOperation(class SnmpOperation & __ptr64) __ptr64
-?DeregisterOperation@SnmpImpSession@@UEAAXAEAVSnmpOperation@@@Z
-; public: void __cdecl GetNextOperation::DestroyOperation(void) __ptr64
-?DestroyOperation@GetNextOperation@@QEAAXXZ
-; protected: void __cdecl SnmpAutoRetrieveOperation::DestroyOperation(void) __ptr64
-?DestroyOperation@SnmpAutoRetrieveOperation@@IEAAXXZ
-; protected: void __cdecl SnmpOperation::DestroyOperation(void) __ptr64
-?DestroyOperation@SnmpOperation@@IEAAXXZ
-; protected: void __cdecl SnmpVarBindList::DestroyPosition(class SnmpVarBindList::ListPosition * __ptr64) __ptr64
-?DestroyPosition@SnmpVarBindList@@IEAAXPEAVListPosition@1@@Z
-; public: int __cdecl SnmpTrapReceiver::DestroyReceiver(void) __ptr64
-?DestroyReceiver@SnmpTrapReceiver@@QEAAHXZ
-; public: virtual int __cdecl SnmpImpSession::DestroySession(void) __ptr64
-?DestroySession@SnmpImpSession@@UEAAHXZ
-; protected: static int __cdecl SnmpEncodeDecode::DestroyStaticComponents(void)
-?DestroyStaticComponents@SnmpEncodeDecode@@KAHXZ
-; public: int __cdecl SnmpVarBindList::Empty(void)const  __ptr64
-?Empty@SnmpVarBindList@@QEBAHXZ
-; protected: void __cdecl SnmpVarBindList::EmptyLookupTable(void) __ptr64
-?EmptyLookupTable@SnmpVarBindList@@IEAAXXZ
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounter64Type::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpCounter64Type@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounterType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpCounterType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; private: void __cdecl SnmpDateTimeType::Encode(unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64) __ptr64
-?Encode@SnmpDateTimeType@@AEAAXAEBK0000000000@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOctetStringType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpFixedLengthOctetStringType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOpaqueType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpFixedLengthOpaqueType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpGaugeType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpGaugeType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIntegerType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpIntegerType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIpAddressType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpIpAddressType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNetworkAddressType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpNetworkAddressType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNullType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpNullType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpObjectIdentifierType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpObjectIdentifierType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOctetStringType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpOctetStringType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOpaqueType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpOpaqueType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpTimeTicksType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpTimeTicksType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual class SnmpObjectIdentifier  __cdecl SnmpUInteger32Type::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Encode@SnmpUInteger32Type@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
-; public: virtual int __cdecl SnmpEncodeDecode::EncodeFrame(class SnmpPdu & __ptr64,long,enum SnmpEncodeDecode::PduType,class SnmpErrorReport & __ptr64,class SnmpVarBindList & __ptr64,class SnmpCommunityBasedSecurity * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
-?EncodeFrame@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@JW4PduType@1@AEAVSnmpErrorReport@@AEAVSnmpVarBindList@@AEAPEAVSnmpCommunityBasedSecurity@@AEAPEAVSnmpTransportAddress@@5@Z
-; public: virtual int __cdecl SnmpEncodeDecode::EncodeFrame(class SnmpPdu & __ptr64,void * __ptr64) __ptr64
-?EncodeFrame@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@PEAX@Z
-; private: int __cdecl SnmpEnumeratedType::EnumerationDef(void) __ptr64
-?EnumerationDef@SnmpEnumeratedType@@AEAAHXZ
-; protected: virtual int __cdecl SnmpCounter64::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpCounter64@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpCounter64::Equivalent(class SnmpCounter64 const & __ptr64)const  __ptr64
-?Equivalent@SnmpCounter64@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpCounter64Type::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpCounter64Type@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpCounter::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpCounter@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpCounter::Equivalent(class SnmpCounter const & __ptr64)const  __ptr64
-?Equivalent@SnmpCounter@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpCounterType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpCounterType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpEndOfMibView::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpEndOfMibView@@MEBAHAEBVSnmpValue@@@Z
-; protected: virtual int __cdecl SnmpGauge::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpGauge@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpGauge::Equivalent(class SnmpGauge const & __ptr64)const  __ptr64
-?Equivalent@SnmpGauge@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpGaugeType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpGaugeType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpInteger::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpInteger@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpInteger::Equivalent(class SnmpInteger const & __ptr64)const  __ptr64
-?Equivalent@SnmpInteger@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpIntegerType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpIntegerType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpIpAddress::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpIpAddress@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpIpAddress::Equivalent(class SnmpIpAddress const & __ptr64)const  __ptr64
-?Equivalent@SnmpIpAddress@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpIpAddressType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpIpAddressType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpNetworkAddressType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpNetworkAddressType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpNoSuchInstance::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpNoSuchInstance@@MEBAHAEBVSnmpValue@@@Z
-; protected: virtual int __cdecl SnmpNoSuchObject::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpNoSuchObject@@MEBAHAEBVSnmpValue@@@Z
-; protected: virtual int __cdecl SnmpNull::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpNull@@MEBAHAEBVSnmpValue@@@Z
-; protected: virtual int __cdecl SnmpNullType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpNullType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: int __cdecl SnmpObjectIdentifier::Equivalent(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
-?Equivalent@SnmpObjectIdentifier@@IEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpObjectIdentifier::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpObjectIdentifier@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpObjectIdentifier::Equivalent(class SnmpObjectIdentifier const & __ptr64,unsigned long)const  __ptr64
-?Equivalent@SnmpObjectIdentifier@@QEBAHAEBV1@K@Z
-; protected: virtual int __cdecl SnmpObjectIdentifierType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpObjectIdentifierType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpOctetString::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpOctetString@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpOctetString::Equivalent(class SnmpOctetString const & __ptr64)const  __ptr64
-?Equivalent@SnmpOctetString@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpOctetStringType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpOctetStringType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpOpaque::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpOpaque@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpOpaque::Equivalent(class SnmpOpaque const & __ptr64)const  __ptr64
-?Equivalent@SnmpOpaque@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpOpaqueType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpOpaqueType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpTimeTicks::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpTimeTicks@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpTimeTicks::Equivalent(class SnmpTimeTicks const & __ptr64)const  __ptr64
-?Equivalent@SnmpTimeTicks@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpTimeTicksType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpTimeTicksType@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual int __cdecl SnmpUInteger32::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
-?Equivalent@SnmpUInteger32@@MEBAHAEBVSnmpValue@@@Z
-; public: int __cdecl SnmpUInteger32::Equivalent(class SnmpUInteger32 const & __ptr64)const  __ptr64
-?Equivalent@SnmpUInteger32@@QEBAHAEBV1@@Z
-; protected: virtual int __cdecl SnmpUInteger32Type::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
-?Equivalent@SnmpUInteger32Type@@MEBAHAEBVSnmpInstanceType@@@Z
-; protected: virtual long __cdecl SnmpAutoRetrieveOperation::EvaluateNextRequest(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind & __ptr64) __ptr64
-?EvaluateNextRequest@SnmpAutoRetrieveOperation@@MEAAJAEBKAEBVSnmpVarBind@@1AEAV2@@Z
-; protected: virtual void __cdecl GetNextOperation::FrameOverRun(void) __ptr64
-?FrameOverRun@GetNextOperation@@MEAAXXZ
-; protected: virtual void __cdecl SnmpAutoRetrieveOperation::FrameOverRun(void) __ptr64
-?FrameOverRun@SnmpAutoRetrieveOperation@@MEAAXXZ
-; protected: virtual void __cdecl SnmpOperation::FrameOverRun(void) __ptr64
-?FrameOverRun@SnmpOperation@@MEAAXXZ
-; protected: virtual void __cdecl GetNextOperation::FrameTooBig(void) __ptr64
-?FrameTooBig@GetNextOperation@@MEAAXXZ
-; protected: virtual void __cdecl SnmpAutoRetrieveOperation::FrameTooBig(void) __ptr64
-?FrameTooBig@SnmpAutoRetrieveOperation@@MEAAXXZ
-; protected: virtual void __cdecl SnmpOperation::FrameTooBig(void) __ptr64
-?FrameTooBig@SnmpOperation@@MEAAXXZ
-; private: void __cdecl SnmpPdu::FreeFrame(void) __ptr64
-?FreeFrame@SnmpPdu@@AEAAXXZ
-; protected: void __cdecl SnmpVarBindList::FreeList(void) __ptr64
-?FreeList@SnmpVarBindList@@IEAAXXZ
-; private: void __cdecl SnmpPdu::FreePdu(void) __ptr64
-?FreePdu@SnmpPdu@@AEAAXXZ
-; public: class SnmpLexicon * __ptr64 __cdecl SnmpAnalyser::Get(int,int,int) __ptr64
-?Get@SnmpAnalyser@@QEAAPEAVSnmpLexicon@@HHH@Z
-; private: class SnmpLexicon * __ptr64 __cdecl SnmpBitStringType::Get(void) __ptr64
-?Get@SnmpBitStringType@@AEAAPEAVSnmpLexicon@@XZ
-; private: class SnmpLexicon * __ptr64 __cdecl SnmpDateTimeType::Get(void) __ptr64
-?Get@SnmpDateTimeType@@AEAAPEAVSnmpLexicon@@XZ
-; private: class SnmpLexicon * __ptr64 __cdecl SnmpEnumeratedType::Get(void) __ptr64
-?Get@SnmpEnumeratedType@@AEAAPEAVSnmpLexicon@@XZ
-; protected: class SnmpLexicon * __ptr64 __cdecl SnmpPositiveRangedType::Get(void) __ptr64
-?Get@SnmpPositiveRangedType@@IEAAPEAVSnmpLexicon@@XZ
-; public: class SnmpVarBind const * __ptr64 __cdecl SnmpVarBindList::Get(void)const  __ptr64
-?Get@SnmpVarBindList@@QEBAPEBVSnmpVarBind@@XZ
-; public: virtual char * __ptr64 __cdecl SnmpTransportIpAddress::GetAddress(void) __ptr64
-?GetAddress@SnmpTransportIpAddress@@UEAAPEADXZ
-; public: virtual unsigned short __cdecl SnmpTransportIpAddress::GetAddress(unsigned char * __ptr64,unsigned short)const  __ptr64
-?GetAddress@SnmpTransportIpAddress@@UEBAGPEAEG@Z
-; public: virtual char * __ptr64 __cdecl SnmpTransportIpxAddress::GetAddress(void) __ptr64
-?GetAddress@SnmpTransportIpxAddress@@UEAAPEADXZ
-; public: virtual unsigned short __cdecl SnmpTransportIpxAddress::GetAddress(unsigned char * __ptr64,unsigned short)const  __ptr64
-?GetAddress@SnmpTransportIpxAddress@@UEBAGPEAEG@Z
-; public: virtual unsigned short __cdecl SnmpTransportIpAddress::GetAddressLength(void)const  __ptr64
-?GetAddressLength@SnmpTransportIpAddress@@UEBAGXZ
-; public: virtual unsigned short __cdecl SnmpTransportIpxAddress::GetAddressLength(void)const  __ptr64
-?GetAddressLength@SnmpTransportIpxAddress@@UEBAGXZ
-; public: char * __ptr64 __cdecl SnmpObjectIdentifier::GetAllocatedString(void)const  __ptr64
-?GetAllocatedString@SnmpObjectIdentifier@@QEBAPEADXZ
-; public: char const * __ptr64 __cdecl SnmpCommunityBasedSecurity::GetCommunityName(void)const  __ptr64
-?GetCommunityName@SnmpCommunityBasedSecurity@@QEBAPEBDXZ
-; public: void __cdecl SnmpCommunityBasedSecurity::GetCommunityName(class SnmpOctetString & __ptr64)const  __ptr64
-?GetCommunityName@SnmpCommunityBasedSecurity@@QEBAXAEAVSnmpOctetString@@@Z
-; public: virtual int __cdecl SnmpEncodeDecode::GetCommunityName(class SnmpPdu & __ptr64,class SnmpCommunityBasedSecurity & __ptr64) __ptr64
-?GetCommunityName@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpCommunityBasedSecurity@@@Z
-; public: virtual class SnmpCommunityBasedSecurity & __ptr64 __cdecl SnmpPdu::GetCommunityName(void) __ptr64
-?GetCommunityName@SnmpPdu@@UEAAAEAVSnmpCommunityBasedSecurity@@XZ
-; public: int __cdecl SnmpVarBindList::GetCurrentIndex(void)const  __ptr64
-?GetCurrentIndex@SnmpVarBindList@@QEBAHXZ
-; public: virtual int __cdecl SnmpEncodeDecode::GetDestinationAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
-?GetDestinationAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAPEAVSnmpTransportAddress@@@Z
-; public: virtual class SnmpTransportAddress & __ptr64 __cdecl SnmpPdu::GetDestinationAddress(void) __ptr64
-?GetDestinationAddress@SnmpPdu@@UEAAAEAVSnmpTransportAddress@@XZ
-; public: enum SnmpError  __cdecl SnmpErrorReport::GetError(void)const  __ptr64
-?GetError@SnmpErrorReport@@QEBA?AW4SnmpError@@XZ
-; public: virtual int __cdecl SnmpEncodeDecode::GetErrorReport(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
-?GetErrorReport@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
-; public: virtual class SnmpErrorReport & __ptr64 __cdecl SnmpPdu::GetErrorReport(void) __ptr64
-?GetErrorReport@SnmpPdu@@UEAAAEAVSnmpErrorReport@@XZ
-; public: char * __ptr64 __cdecl GeneralException::GetFile(void) __ptr64
-?GetFile@GeneralException@@QEAAPEADXZ
-; public: unsigned long __cdecl SnmpSession::GetFlowControlWindow(void)const  __ptr64
-?GetFlowControlWindow@SnmpSession@@QEBAKXZ
-; public: unsigned char * __ptr64 __cdecl SnmpPdu::GetFrame(void)const  __ptr64
-?GetFrame@SnmpPdu@@QEBAPEAEXZ
-; public: unsigned long __cdecl SnmpPdu::GetFrameLength(void)const  __ptr64
-?GetFrameLength@SnmpPdu@@QEBAKXZ
-; public: unsigned long __cdecl SnmpCounter64::GetHighValue(void)const  __ptr64
-?GetHighValue@SnmpCounter64@@QEBAKXZ
-; public: unsigned long __cdecl SnmpErrorReport::GetIndex(void)const  __ptr64
-?GetIndex@SnmpErrorReport@@QEBAKXZ
-; public: class SnmpObjectIdentifier & __ptr64 __cdecl SnmpVarBind::GetInstance(void)const  __ptr64
-?GetInstance@SnmpVarBind@@QEBAAEAVSnmpObjectIdentifier@@XZ
-; private: int __cdecl SnmpTransportIpAddress::GetIpAddress(char const * __ptr64) __ptr64
-?GetIpAddress@SnmpTransportIpAddress@@AEAAHPEBD@Z
-; private: int __cdecl SnmpTransportIpxAddress::GetIpxAddress(char const * __ptr64) __ptr64
-?GetIpxAddress@SnmpTransportIpxAddress@@AEAAHPEBD@Z
-; public: unsigned int __cdecl SnmpVarBindList::GetLength(void)const  __ptr64
-?GetLength@SnmpVarBindList@@QEBAIXZ
-; public: int __cdecl GeneralException::GetLine(void) __ptr64
-?GetLine@GeneralException@@QEAAHXZ
-; public: unsigned long __cdecl SnmpCounter64::GetLowValue(void)const  __ptr64
-?GetLowValue@SnmpCounter64@@QEBAKXZ
-; public: long __cdecl SnmpNegativeRangeType::GetLowerBound(void) __ptr64
-?GetLowerBound@SnmpNegativeRangeType@@QEAAJXZ
-; public: unsigned long __cdecl SnmpPositiveRangeType::GetLowerBound(void) __ptr64
-?GetLowerBound@SnmpPositiveRangeType@@QEAAKXZ
-; public: class SnmpVarBindListNode * __ptr64 __cdecl SnmpVarBindListNode::GetNext(void) __ptr64
-?GetNext@SnmpVarBindListNode@@QEAAPEAV1@XZ
-; private: class SnmpOperation * __ptr64 __cdecl SnmpImpSession::GetOperation(unsigned long) __ptr64
-?GetOperation@SnmpImpSession@@AEAAPEAVSnmpOperation@@K@Z
-; public: virtual int __cdecl SnmpEncodeDecode::GetPduType(class SnmpPdu & __ptr64,enum SnmpEncodeDecode::PduType & __ptr64) __ptr64
-?GetPduType@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAW4PduType@1@@Z
-; protected: virtual enum SnmpEncodeDecode::PduType  __cdecl SnmpGetNextOperation::GetPduType(void) __ptr64
-?GetPduType@SnmpGetNextOperation@@MEAA?AW4PduType@SnmpEncodeDecode@@XZ
-; protected: virtual enum SnmpEncodeDecode::PduType  __cdecl SnmpGetOperation::GetPduType(void) __ptr64
-?GetPduType@SnmpGetOperation@@MEAA?AW4PduType@SnmpEncodeDecode@@XZ
-; public: virtual enum SnmpEncodeDecode::PduType & __ptr64 __cdecl SnmpPdu::GetPduType(void) __ptr64
-?GetPduType@SnmpPdu@@UEAAAEAW4PduType@SnmpEncodeDecode@@XZ
-; protected: virtual enum SnmpEncodeDecode::PduType  __cdecl SnmpSetOperation::GetPduType(void) __ptr64
-?GetPduType@SnmpSetOperation@@MEAA?AW4PduType@SnmpEncodeDecode@@XZ
-; protected: class SnmpVarBindList::ListPosition * __ptr64 __cdecl SnmpVarBindList::GetPosition(void) __ptr64
-?GetPosition@SnmpVarBindList@@IEAAPEAVListPosition@1@XZ
-; public: class SnmpVarBindListNode * __ptr64 __cdecl SnmpVarBindListNode::GetPrevious(void) __ptr64
-?GetPrevious@SnmpVarBindListNode@@QEAAPEAV1@XZ
-; public: virtual int __cdecl SnmpEncodeDecode::GetRequestId(class SnmpPdu & __ptr64,long & __ptr64) __ptr64
-?GetRequestId@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAJ@Z
-; public: virtual long & __ptr64 __cdecl SnmpPdu::GetRequestId(void) __ptr64
-?GetRequestId@SnmpPdu@@UEAAAEAJXZ
-; public: unsigned long __cdecl SnmpSession::GetRetryCount(void)const  __ptr64
-?GetRetryCount@SnmpSession@@QEBAKXZ
-; public: unsigned long __cdecl SnmpSession::GetRetryTimeout(void)const  __ptr64
-?GetRetryTimeout@SnmpSession@@QEBAKXZ
-; public: enum SnmpRowStatusType::SnmpRowStatusEnum  __cdecl SnmpRowStatusType::GetRowStatus(void)const  __ptr64
-?GetRowStatus@SnmpRowStatusType@@QEBA?AW4SnmpRowStatusEnum@1@XZ
-; public: virtual class SnmpEncodeDecode & __ptr64 __cdecl SnmpImpSession::GetSnmpEncodeDecode(void)const  __ptr64
-?GetSnmpEncodeDecode@SnmpImpSession@@UEBAAEAVSnmpEncodeDecode@@XZ
-; public: virtual class SnmpSecurity & __ptr64 __cdecl SnmpImpSession::GetSnmpSecurity(void)const  __ptr64
-?GetSnmpSecurity@SnmpImpSession@@UEBAAEAVSnmpSecurity@@XZ
-; public: virtual int __cdecl SnmpEncodeDecode::GetSourceAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
-?GetSourceAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAPEAVSnmpTransportAddress@@@Z
-; public: virtual class SnmpTransportAddress & __ptr64 __cdecl SnmpPdu::GetSourceAddress(void) __ptr64
-?GetSourceAddress@SnmpPdu@@UEAAAEAVSnmpTransportAddress@@XZ
-; public: enum SnmpStatus  __cdecl SnmpErrorReport::GetStatus(void)const  __ptr64
-?GetStatus@SnmpErrorReport@@QEBA?AW4SnmpStatus@@XZ
-; public: unsigned short * __ptr64 __cdecl CBString::GetString(void) __ptr64
-?GetString@CBString@@QEAAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpBitStringType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpBitStringType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpCounter64Type::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpCounter64Type@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpCounterType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpCounterType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpDateTimeType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpDateTimeType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpDisplayStringType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpDisplayStringType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpEnumeratedType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpEnumeratedType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpFixedLengthDisplayStringType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpFixedLengthDisplayStringType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpFixedLengthPhysAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpFixedLengthPhysAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpGaugeType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpGaugeType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpIPXAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpIPXAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpIntegerType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpIntegerType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpIpAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpIpAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpMacAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpMacAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpNetworkAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpNetworkAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpNullType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpNullType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpOSIAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpOSIAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpObjectIdentifierType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpObjectIdentifierType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpOctetStringType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpOctetStringType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpOpaqueType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpOpaqueType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpPhysAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpPhysAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpRowStatusType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpRowStatusType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpTimeTicksType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpTimeTicksType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpUDPAddressType::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpUDPAddressType@@UEBAPEAGXZ
-; public: virtual unsigned short * __ptr64 __cdecl SnmpUInteger32Type::GetStringValue(void)const  __ptr64
-?GetStringValue@SnmpUInteger32Type@@UEBAPEAGXZ
-; private: class SnmpLexicon * __ptr64 __cdecl SnmpAnalyser::GetToken(int,int,int) __ptr64
-?GetToken@SnmpAnalyser@@AEAAPEAVSnmpLexicon@@HHH@Z
-; public: enum SnmpLexicon::LexiconToken  __cdecl SnmpLexicon::GetToken(void) __ptr64
-?GetToken@SnmpLexicon@@QEAA?AW4LexiconToken@1@XZ
-; public: virtual class SnmpTransportAddress & __ptr64 __cdecl SnmpTransport::GetTransportAddress(void) __ptr64
-?GetTransportAddress@SnmpTransport@@UEAAAEAVSnmpTransportAddress@@XZ
-; public: virtual class SnmpTransport & __ptr64 __cdecl SnmpImpSession::GetTransportProtocol(void)const  __ptr64
-?GetTransportProtocol@SnmpImpSession@@UEBAAEAVSnmpTransport@@XZ
-; public: long __cdecl SnmpNegativeRangeType::GetUpperBound(void) __ptr64
-?GetUpperBound@SnmpNegativeRangeType@@QEAAJXZ
-; public: unsigned long __cdecl SnmpPositiveRangeType::GetUpperBound(void) __ptr64
-?GetUpperBound@SnmpPositiveRangeType@@QEAAKXZ
-; public: unsigned long __cdecl SnmpBitStringType::GetValue(unsigned short * __ptr64 * __ptr64 & __ptr64)const  __ptr64
-?GetValue@SnmpBitStringType@@QEBAKAEAPEAPEAG@Z
-; public: void __cdecl SnmpCounter64Type::GetValue(unsigned long & __ptr64,unsigned long & __ptr64)const  __ptr64
-?GetValue@SnmpCounter64Type@@QEBAXAEAK0@Z
-; public: unsigned long __cdecl SnmpCounter::GetValue(void)const  __ptr64
-?GetValue@SnmpCounter@@QEBAKXZ
-; public: unsigned long __cdecl SnmpCounterType::GetValue(void)const  __ptr64
-?GetValue@SnmpCounterType@@QEBAKXZ
-; public: unsigned short * __ptr64 __cdecl SnmpDateTimeType::GetValue(void)const  __ptr64
-?GetValue@SnmpDateTimeType@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl SnmpDisplayStringType::GetValue(void)const  __ptr64
-?GetValue@SnmpDisplayStringType@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl SnmpEnumeratedType::GetValue(void)const  __ptr64
-?GetValue@SnmpEnumeratedType@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl SnmpFixedLengthDisplayStringType::GetValue(void)const  __ptr64
-?GetValue@SnmpFixedLengthDisplayStringType@@QEBAPEAGXZ
-; public: unsigned long __cdecl SnmpGauge::GetValue(void)const  __ptr64
-?GetValue@SnmpGauge@@QEBAKXZ
-; public: unsigned long __cdecl SnmpGaugeType::GetValue(void)const  __ptr64
-?GetValue@SnmpGaugeType@@QEBAKXZ
-; public: long __cdecl SnmpInteger::GetValue(void)const  __ptr64
-?GetValue@SnmpInteger@@QEBAJXZ
-; public: long __cdecl SnmpIntegerType::GetValue(void)const  __ptr64
-?GetValue@SnmpIntegerType@@QEBAJXZ
-; public: unsigned long __cdecl SnmpIpAddress::GetValue(void)const  __ptr64
-?GetValue@SnmpIpAddress@@QEBAKXZ
-; public: unsigned long __cdecl SnmpIpAddressType::GetValue(void)const  __ptr64
-?GetValue@SnmpIpAddressType@@QEBAKXZ
-; public: union SnmpLexiconValue * __ptr64 __cdecl SnmpLexicon::GetValue(void) __ptr64
-?GetValue@SnmpLexicon@@QEAAPEATSnmpLexiconValue@@XZ
-; public: unsigned long __cdecl SnmpNetworkAddressType::GetValue(void)const  __ptr64
-?GetValue@SnmpNetworkAddressType@@QEBAKXZ
-; public: unsigned long * __ptr64 __cdecl SnmpObjectIdentifier::GetValue(void)const  __ptr64
-?GetValue@SnmpObjectIdentifier@@QEBAPEAKXZ
-; public: unsigned long * __ptr64 __cdecl SnmpObjectIdentifierType::GetValue(void)const  __ptr64
-?GetValue@SnmpObjectIdentifierType@@QEBAPEAKXZ
-; public: unsigned char * __ptr64 __cdecl SnmpOctetString::GetValue(void)const  __ptr64
-?GetValue@SnmpOctetString@@QEBAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl SnmpOctetStringType::GetValue(void)const  __ptr64
-?GetValue@SnmpOctetStringType@@QEBAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl SnmpOpaque::GetValue(void)const  __ptr64
-?GetValue@SnmpOpaque@@QEBAPEAEXZ
-; public: unsigned char * __ptr64 __cdecl SnmpOpaqueType::GetValue(void)const  __ptr64
-?GetValue@SnmpOpaqueType@@QEBAPEAEXZ
-; public: unsigned short * __ptr64 __cdecl SnmpRowStatusType::GetValue(void)const  __ptr64
-?GetValue@SnmpRowStatusType@@QEBAPEAGXZ
-; public: unsigned long __cdecl SnmpTimeTicks::GetValue(void)const  __ptr64
-?GetValue@SnmpTimeTicks@@QEBAKXZ
-; public: unsigned long __cdecl SnmpTimeTicksType::GetValue(void)const  __ptr64
-?GetValue@SnmpTimeTicksType@@QEBAKXZ
-; public: unsigned long __cdecl SnmpUInteger32::GetValue(void)const  __ptr64
-?GetValue@SnmpUInteger32@@QEBAKXZ
-; public: unsigned long __cdecl SnmpUInteger32Type::GetValue(void)const  __ptr64
-?GetValue@SnmpUInteger32Type@@QEBAKXZ
-; public: class SnmpValue & __ptr64 __cdecl SnmpVarBind::GetValue(void)const  __ptr64
-?GetValue@SnmpVarBind@@QEBAAEAVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpCounter64Type::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpCounter64Type@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpCounterType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpCounterType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpGaugeType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpGaugeType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpIntegerType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpIntegerType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpIpAddressType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpIpAddressType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpNetworkAddressType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpNetworkAddressType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpNullType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpNullType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpObjectIdentifierType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpObjectIdentifierType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpOctetStringType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpOctetStringType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpOpaqueType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpOpaqueType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpTimeTicksType::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpTimeTicksType@@UEBAPEBVSnmpValue@@XZ
-; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpUInteger32Type::GetValueEncoding(void)const  __ptr64
-?GetValueEncoding@SnmpUInteger32Type@@UEBAPEBVSnmpValue@@XZ
-; public: unsigned long __cdecl SnmpObjectIdentifier::GetValueLength(void)const  __ptr64
-?GetValueLength@SnmpObjectIdentifier@@QEBAKXZ
-; public: unsigned long __cdecl SnmpObjectIdentifierType::GetValueLength(void)const  __ptr64
-?GetValueLength@SnmpObjectIdentifierType@@QEBAKXZ
-; public: unsigned long __cdecl SnmpOctetString::GetValueLength(void)const  __ptr64
-?GetValueLength@SnmpOctetString@@QEBAKXZ
-; public: unsigned long __cdecl SnmpOctetStringType::GetValueLength(void)const  __ptr64
-?GetValueLength@SnmpOctetStringType@@QEBAKXZ
-; public: unsigned long __cdecl SnmpOpaque::GetValueLength(void)const  __ptr64
-?GetValueLength@SnmpOpaque@@QEBAKXZ
-; public: unsigned long __cdecl SnmpOpaqueType::GetValueLength(void)const  __ptr64
-?GetValueLength@SnmpOpaqueType@@QEBAKXZ
-; public: class SnmpVarBind * __ptr64 __cdecl SnmpVarBindListNode::GetVarBind(void) __ptr64
-?GetVarBind@SnmpVarBindListNode@@QEAAPEAVSnmpVarBind@@XZ
-; public: virtual int __cdecl SnmpEncodeDecode::GetVarbindList(class SnmpPdu & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
-?GetVarbindList@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpVarBindList@@@Z
-; public: virtual class SnmpVarBindList & __ptr64 __cdecl SnmpPdu::GetVarbindList(void) __ptr64
-?GetVarbindList@SnmpPdu@@UEAAAEAVSnmpVarBindList@@XZ
-; public: unsigned long __cdecl SnmpSession::GetVarbindsPerPdu(void)const  __ptr64
-?GetVarbindsPerPdu@SnmpSession@@QEBAKXZ
-; protected: void * __ptr64 __cdecl SnmpEncodeDecode::GetWinSnmpSession(void) __ptr64
-?GetWinSnmpSession@SnmpEncodeDecode@@IEAAPEAXXZ
-; protected: void __cdecl SnmpVarBindList::GoBackward(class SnmpVarBindListNode * __ptr64,unsigned int) __ptr64
-?GoBackward@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@I@Z
-; protected: void __cdecl SnmpVarBindList::GoForward(class SnmpVarBindListNode * __ptr64,unsigned int) __ptr64
-?GoForward@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@I@Z
-; protected: int __cdecl SnmpVarBindList::GotoIndex(unsigned int) __ptr64
-?GotoIndex@SnmpVarBindList@@IEAAHI@Z
-; protected: void __cdecl SnmpVarBindList::GotoPosition(class SnmpVarBindList::ListPosition * __ptr64) __ptr64
-?GotoPosition@SnmpVarBindList@@IEAAXPEAVListPosition@1@@Z
-; private: void __cdecl SnmpImpSession::HandleDeletionEvent(void) __ptr64
-?HandleDeletionEvent@SnmpImpSession@@AEAAXXZ
-; private: void __cdecl SnmpImpSession::HandleSentFrame(unsigned long,class SnmpOperation * __ptr64) __ptr64
-?HandleSentFrame@SnmpImpSession@@AEAAXKPEAVSnmpOperation@@@Z
-; protected: virtual void __cdecl SnmpImpTransport::HandleSentFrame(unsigned long) __ptr64
-?HandleSentFrame@SnmpImpTransport@@MEAAXK@Z
-; public: static unsigned long __cdecl SnmpAnalyser::HexCharToDecInteger(char)
-?HexCharToDecInteger@SnmpAnalyser@@SAKD@Z
-; public: static unsigned long __cdecl SnmpAnalyser::HexWCharToDecInteger(unsigned short)
-?HexWCharToDecInteger@SnmpAnalyser@@SAKG@Z
-; protected: virtual void __cdecl SnmpAnalyser::Initialise(void) __ptr64
-?Initialise@SnmpAnalyser@@MEAAXXZ
-; protected: void __cdecl SnmpCommunityBasedSecurity::Initialize(void) __ptr64
-?Initialize@SnmpCommunityBasedSecurity@@IEAAXXZ
-; protected: virtual void __cdecl SnmpObjectIdentifier::Initialize(unsigned long const * __ptr64,unsigned long) __ptr64
-?Initialize@SnmpObjectIdentifier@@MEAAXPEBKK@Z
-; protected: virtual void __cdecl SnmpOctetString::Initialize(unsigned char const * __ptr64,unsigned long) __ptr64
-?Initialize@SnmpOctetString@@MEAAXPEBEK@Z
-; private: void __cdecl SnmpPdu::Initialize(unsigned char const * __ptr64,unsigned long const & __ptr64) __ptr64
-?Initialize@SnmpPdu@@AEAAXPEBEAEBK@Z
-; protected: void __cdecl SnmpVarBindList::Initialize(class SnmpVarBindList & __ptr64) __ptr64
-?Initialize@SnmpVarBindList@@IEAAXAEAV1@@Z
-; private: void __cdecl SnmpPdu::InitializeObject(class SnmpPdu & __ptr64) __ptr64
-?InitializeObject@SnmpPdu@@AEAAXAEAV1@@Z
-; protected: static int __cdecl SnmpEncodeDecode::InitializeStaticComponents(void)
-?InitializeStaticComponents@SnmpEncodeDecode@@KAHXZ
-; private: void __cdecl SnmpV1EncodeDecode::InitializeVariables(void) __ptr64
-?InitializeVariables@SnmpV1EncodeDecode@@AEAAXXZ
-; private: void __cdecl SnmpV2CEncodeDecode::InitializeVariables(void) __ptr64
-?InitializeVariables@SnmpV2CEncodeDecode@@AEAAXXZ
-; protected: void __cdecl SnmpVarBindList::Insert(class SnmpVarBindListNode * __ptr64,class SnmpVarBindListNode * __ptr64) __ptr64
-?Insert@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@0@Z
-; public: static int __cdecl SnmpAnalyser::IsAlpha(unsigned short)
-?IsAlpha@SnmpAnalyser@@SAHG@Z
-; public: static int __cdecl SnmpAnalyser::IsAlphaNumeric(unsigned short)
-?IsAlphaNumeric@SnmpAnalyser@@SAHG@Z
-; public: static int __cdecl SnmpAnalyser::IsDecimal(unsigned short)
-?IsDecimal@SnmpAnalyser@@SAHG@Z
-; public: static int __cdecl SnmpAnalyser::IsEof(unsigned short)
-?IsEof@SnmpAnalyser@@SAHG@Z
-; public: static int __cdecl SnmpAnalyser::IsHex(unsigned short)
-?IsHex@SnmpAnalyser@@SAHG@Z
-; public: static int __cdecl SnmpAnalyser::IsLeadingDecimal(unsigned short)
-?IsLeadingDecimal@SnmpAnalyser@@SAHG@Z
-; public: virtual int __cdecl SnmpInstanceType::IsNull(void)const  __ptr64
-?IsNull@SnmpInstanceType@@UEBAHXZ
-; public: static int __cdecl SnmpAnalyser::IsOctal(unsigned short)
-?IsOctal@SnmpAnalyser@@SAHG@Z
-; public: int __cdecl SnmpTrapReceiver::IsRegistered(void) __ptr64
-?IsRegistered@SnmpTrapReceiver@@QEAAHXZ
-; public: virtual int __cdecl SnmpCounter64Type::IsSNMPV1Type(void)const  __ptr64
-?IsSNMPV1Type@SnmpCounter64Type@@UEBAHXZ
-; public: virtual int __cdecl SnmpInstanceType::IsSNMPV1Type(void)const  __ptr64
-?IsSNMPV1Type@SnmpInstanceType@@UEBAHXZ
-; public: virtual int __cdecl SnmpInstanceType::IsSNMPV2CType(void)const  __ptr64
-?IsSNMPV2CType@SnmpInstanceType@@UEBAHXZ
-; public: virtual int __cdecl SnmpNullType::IsSNMPV2CType(void)const  __ptr64
-?IsSNMPV2CType@SnmpNullType@@UEBAHXZ
-; public: virtual int __cdecl SnmpInstanceType::IsValid(void)const  __ptr64
-?IsValid@SnmpInstanceType@@UEBAHXZ
-; public: int __cdecl SnmpPositiveRangedType::IsValid(void) __ptr64
-?IsValid@SnmpPositiveRangedType@@QEAAHXZ
-; public: virtual int __cdecl SnmpTransportIpAddress::IsValid(void)const  __ptr64
-?IsValid@SnmpTransportIpAddress@@UEBAHXZ
-; public: virtual int __cdecl SnmpTransportIpxAddress::IsValid(void)const  __ptr64
-?IsValid@SnmpTransportIpxAddress@@UEBAHXZ
-; public: static int __cdecl SnmpAnalyser::IsWhitespace(unsigned short)
-?IsWhitespace@SnmpAnalyser@@SAHG@Z
-; private: class SnmpLexicon * __ptr64 __cdecl SnmpBitStringType::Match(enum SnmpLexicon::LexiconToken) __ptr64
-?Match@SnmpBitStringType@@AEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
-; private: class SnmpLexicon * __ptr64 __cdecl SnmpDateTimeType::Match(enum SnmpLexicon::LexiconToken) __ptr64
-?Match@SnmpDateTimeType@@AEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
-; private: class SnmpLexicon * __ptr64 __cdecl SnmpEnumeratedType::Match(enum SnmpLexicon::LexiconToken) __ptr64
-?Match@SnmpEnumeratedType@@AEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
-; protected: class SnmpLexicon * __ptr64 __cdecl SnmpPositiveRangedType::Match(enum SnmpLexicon::LexiconToken) __ptr64
-?Match@SnmpPositiveRangedType@@IEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
-; public: int __cdecl SnmpVarBindList::Next(void) __ptr64
-?Next@SnmpVarBindList@@QEAAHXZ
-; private: void __cdecl SnmpImpSession::NotifyOperation(unsigned long,class SnmpPdu const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?NotifyOperation@SnmpImpSession@@AEAAXKAEBVSnmpPdu@@AEBVSnmpErrorReport@@@Z
-; public: static unsigned long __cdecl SnmpAnalyser::OctCharToDecInteger(char)
-?OctCharToDecInteger@SnmpAnalyser@@SAKD@Z
-; public: static unsigned long __cdecl SnmpAnalyser::OctWCharToDecInteger(unsigned short)
-?OctWCharToDecInteger@SnmpAnalyser@@SAKG@Z
-; private: void __cdecl SnmpObjectIdentifier::OverWrite(unsigned long const * __ptr64) __ptr64
-?OverWrite@SnmpObjectIdentifier@@AEAAXPEBK@Z
-; private: void __cdecl SnmpOctetString::OverWrite(unsigned char const * __ptr64) __ptr64
-?OverWrite@SnmpOctetString@@AEAAXPEBE@Z
-; private: int __cdecl SnmpBitStringType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpBitStringType@@AEAAHPEBG@Z
-; protected: int __cdecl SnmpCounter64Type::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpCounter64Type@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpCounterType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpCounterType@@IEAAHPEBG@Z
-; private: int __cdecl SnmpDateTimeType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpDateTimeType@@AEAAHPEBG@Z
-; private: int __cdecl SnmpEnumeratedType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpEnumeratedType@@AEAAHPEBG@Z
-; protected: int __cdecl SnmpFixedLengthPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpFixedLengthPhysAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpGaugeType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpGaugeType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpIPXAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpIPXAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpIntegerType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpIntegerType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpIpAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpIpAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpMacAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpMacAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpNetworkAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpNetworkAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpOSIAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpOSIAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpObjectIdentifierType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpObjectIdentifierType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpOctetStringType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpOctetStringType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpOpaqueType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpOpaqueType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpPhysAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpPositiveRangedType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpPositiveRangedType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpTimeTicksType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpTimeTicksType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpUDPAddressType::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpUDPAddressType@@IEAAHPEBG@Z
-; protected: int __cdecl SnmpUInteger32Type::Parse(unsigned short const * __ptr64) __ptr64
-?Parse@SnmpUInteger32Type@@IEAAHPEBG@Z
-; private: void __cdecl SnmpImpSession::PostSentFrameEvent(unsigned long,class SnmpOperation & __ptr64,class SnmpErrorReport) __ptr64
-?PostSentFrameEvent@SnmpImpSession@@AEAAXKAEAVSnmpOperation@@VSnmpErrorReport@@@Z
-; public: int __cdecl SnmpObjectIdentifier::Prefix(unsigned long,class SnmpObjectIdentifier & __ptr64)const  __ptr64
-?Prefix@SnmpObjectIdentifier@@QEBAHKAEAV1@@Z
-; private: long __cdecl SnmpOperation::ProcessInternalEvent(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64) __ptr64
-?ProcessInternalEvent@SnmpOperation@@AEAAJPEAUHWND__@@I_K_J@Z
-; private: int __cdecl GetNextOperation::ProcessRow(void) __ptr64
-?ProcessRow@GetNextOperation@@AEAAHXZ
-; private: void __cdecl SnmpBitStringType::PushBack(void) __ptr64
-?PushBack@SnmpBitStringType@@AEAAXXZ
-; private: void __cdecl SnmpDateTimeType::PushBack(void) __ptr64
-?PushBack@SnmpDateTimeType@@AEAAXXZ
-; private: void __cdecl SnmpEnumeratedType::PushBack(void) __ptr64
-?PushBack@SnmpEnumeratedType@@AEAAXXZ
-; protected: void __cdecl SnmpPositiveRangedType::PushBack(void) __ptr64
-?PushBack@SnmpPositiveRangedType@@IEAAXXZ
-; public: void __cdecl SnmpAnalyser::PutBack(class SnmpLexicon const * __ptr64) __ptr64
-?PutBack@SnmpAnalyser@@QEAAXPEBVSnmpLexicon@@@Z
-; protected: int __cdecl SnmpPositiveRangedType::RangeDef(void) __ptr64
-?RangeDef@SnmpPositiveRangedType@@IEAAHXZ
-; private: void __cdecl SnmpOperation::ReceiveErroredResponse(unsigned long,class SnmpVarBindList & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveErroredResponse@SnmpOperation@@AEAAXKAEAVSnmpVarBindList@@AEBVSnmpErrorReport@@@Z
-; protected: virtual void __cdecl GetNextOperation::ReceiveErroredVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveErroredVarBindResponse@GetNextOperation@@MEAAXAEBKAEBVSnmpVarBind@@AEBVSnmpErrorReport@@@Z
-; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveErroredVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveErroredVarBindResponse@SnmpAutoRetrieveOperation@@MEAAXAEBKAEBVSnmpVarBind@@AEBVSnmpErrorReport@@@Z
-; protected: virtual void __cdecl SnmpOperation::ReceiveErroredVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveErroredVarBindResponse@SnmpOperation@@MEAAXAEBKAEBVSnmpVarBind@@AEBVSnmpErrorReport@@@Z
-; public: void __cdecl SnmpAutoRetrieveOperation::ReceiveFrame(unsigned long,class SnmpPdu const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveFrame@SnmpAutoRetrieveOperation@@QEAAXKAEBVSnmpPdu@@AEBVSnmpErrorReport@@@Z
-; public: void __cdecl SnmpOperation::ReceiveFrame(unsigned long,class SnmpPdu const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveFrame@SnmpOperation@@QEAAXKAEBVSnmpPdu@@AEBVSnmpErrorReport@@@Z
-; protected: virtual void __cdecl GetNextOperation::ReceiveResponse(void) __ptr64
-?ReceiveResponse@GetNextOperation@@MEAAXXZ
-; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveResponse(void) __ptr64
-?ReceiveResponse@SnmpAutoRetrieveOperation@@MEAAXXZ
-; protected: virtual void __cdecl SnmpOperation::ReceiveResponse(void) __ptr64
-?ReceiveResponse@SnmpOperation@@MEAAXXZ
-; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveRowResponse(void) __ptr64
-?ReceiveRowResponse@SnmpAutoRetrieveOperation@@MEAAXXZ
-; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveRowVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveRowVarBindResponse@SnmpAutoRetrieveOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
-; protected: virtual void __cdecl GetNextOperation::ReceiveVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveVarBindResponse@GetNextOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
-; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveVarBindResponse@SnmpAutoRetrieveOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
-; protected: virtual void __cdecl SnmpOperation::ReceiveVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
-?ReceiveVarBindResponse@SnmpOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
-; private: int __cdecl SnmpBitStringType::RecursiveDef(void) __ptr64
-?RecursiveDef@SnmpBitStringType@@AEAAHXZ
-; private: int __cdecl SnmpEnumeratedType::RecursiveDef(void) __ptr64
-?RecursiveDef@SnmpEnumeratedType@@AEAAHXZ
-; protected: int __cdecl SnmpPositiveRangedType::RecursiveDef(void) __ptr64
-?RecursiveDef@SnmpPositiveRangedType@@IEAAHXZ
-; public: virtual void __cdecl SnmpImpSession::RegisterOperation(class SnmpOperation & __ptr64) __ptr64
-?RegisterOperation@SnmpImpSession@@UEAAXAEAVSnmpOperation@@@Z
-; protected: void __cdecl SnmpVarBindList::Release(class SnmpVarBindListNode * __ptr64) __ptr64
-?Release@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@@Z
-; public: void __cdecl SnmpVarBindList::Remove(void) __ptr64
-?Remove@SnmpVarBindList@@QEAAXXZ
-; protected: virtual unsigned long * __ptr64 __cdecl SnmpObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long,unsigned long const * __ptr64,unsigned long)const  __ptr64
-?Replicate@SnmpObjectIdentifier@@MEBAPEAKPEBKK0K@Z
-; protected: virtual unsigned long * __ptr64 __cdecl SnmpObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long)const  __ptr64
-?Replicate@SnmpObjectIdentifier@@MEBAPEAKPEBKK@Z
-; protected: virtual unsigned char * __ptr64 __cdecl SnmpOctetString::Replicate(unsigned char const * __ptr64,unsigned long) __ptr64
-?Replicate@SnmpOctetString@@MEAAPEAEPEBEK@Z
-; protected: virtual void __cdecl SnmpVarBind::Replicate(class SnmpObjectIdentifier const & __ptr64,class SnmpValue const & __ptr64) __ptr64
-?Replicate@SnmpVarBind@@MEAAXAEBVSnmpObjectIdentifier@@AEBVSnmpValue@@@Z
-; public: void __cdecl SnmpVarBindList::Reset(void) __ptr64
-?Reset@SnmpVarBindList@@QEAAXXZ
-; public: static unsigned long __cdecl SnmpImpSession::RetryCount(unsigned long)
-?RetryCount@SnmpImpSession@@SAKK@Z
-; public: static unsigned long __cdecl SnmpImpSession::RetryTimeout(unsigned long)
-?RetryTimeout@SnmpImpSession@@SAKK@Z
-; public: virtual class SnmpErrorReport  __cdecl SnmpCommunityBasedSecurity::Secure(class SnmpEncodeDecode & __ptr64,class SnmpPdu & __ptr64) __ptr64
-?Secure@SnmpCommunityBasedSecurity@@UEAA?AVSnmpErrorReport@@AEAVSnmpEncodeDecode@@AEAVSnmpPdu@@@Z
-; private: void __cdecl GetNextOperation::Send(void) __ptr64
-?Send@GetNextOperation@@AEAAXXZ
-; private: void __cdecl SnmpOperation::SendFrame(class VBList & __ptr64) __ptr64
-?SendFrame@SnmpOperation@@AEAAXAEAVVBList@@@Z
-; public: void __cdecl GetNextOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
-?SendRequest@GetNextOperation@@QEAAXAEAVSnmpVarBindList@@0@Z
-; public: virtual void __cdecl GetNextOperation::SendRequest(class SnmpVarBindList & __ptr64) __ptr64
-?SendRequest@GetNextOperation@@UEAAXAEAVSnmpVarBindList@@@Z
-; public: virtual void __cdecl SnmpAutoRetrieveOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
-?SendRequest@SnmpAutoRetrieveOperation@@UEAAXAEAVSnmpVarBindList@@0@Z
-; public: virtual void __cdecl SnmpAutoRetrieveOperation::SendRequest(class SnmpVarBindList & __ptr64) __ptr64
-?SendRequest@SnmpAutoRetrieveOperation@@UEAAXAEAVSnmpVarBindList@@@Z
-; private: void __cdecl SnmpOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpSecurity * __ptr64) __ptr64
-?SendRequest@SnmpOperation@@AEAAXAEAVSnmpVarBindList@@PEAVSnmpSecurity@@@Z
-; public: virtual void __cdecl SnmpOperation::SendRequest(class SnmpVarBindList & __ptr64) __ptr64
-?SendRequest@SnmpOperation@@UEAAXAEAVSnmpVarBindList@@@Z
-; public: virtual void __cdecl SnmpOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpSecurity & __ptr64) __ptr64
-?SendRequest@SnmpOperation@@UEAAXAEAVSnmpVarBindList@@AEAVSnmpSecurity@@@Z
-; private: void __cdecl SnmpOperation::SendVarBindList(class SnmpVarBindList & __ptr64,unsigned int,unsigned long) __ptr64
-?SendVarBindList@SnmpOperation@@AEAAXAEAVSnmpVarBindList@@IK@Z
-; protected: virtual void __cdecl GetNextOperation::SentFrame(unsigned long,class SnmpErrorReport const & __ptr64) __ptr64
-?SentFrame@GetNextOperation@@MEAAXKAEBVSnmpErrorReport@@@Z
-; public: virtual void __cdecl SnmpAutoRetrieveOperation::SentFrame(unsigned long,class SnmpErrorReport const & __ptr64) __ptr64
-?SentFrame@SnmpAutoRetrieveOperation@@UEAAXKAEBVSnmpErrorReport@@@Z
-; public: virtual void __cdecl SnmpOperation::SentFrame(unsigned long,class SnmpErrorReport const & __ptr64) __ptr64
-?SentFrame@SnmpOperation@@UEAAXKAEBVSnmpErrorReport@@@Z
-; public: virtual class SnmpErrorReport  __cdecl SnmpImpSession::SessionCancelFrame(unsigned long) __ptr64
-?SessionCancelFrame@SnmpImpSession@@UEAA?AVSnmpErrorReport@@K@Z
-; protected: virtual void __cdecl SnmpSession::SessionFlowControlOff(void) __ptr64
-?SessionFlowControlOff@SnmpSession@@MEAAXXZ
-; protected: virtual void __cdecl SnmpSession::SessionFlowControlOn(void) __ptr64
-?SessionFlowControlOn@SnmpSession@@MEAAXXZ
-; public: virtual void __cdecl SnmpImpSession::SessionReceiveFrame(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
-?SessionReceiveFrame@SnmpImpSession@@UEAAXAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
-; public: virtual void __cdecl SnmpImpSession::SessionSendFrame(class SnmpOperation & __ptr64,unsigned long & __ptr64,class SnmpPdu & __ptr64) __ptr64
-?SessionSendFrame@SnmpImpSession@@UEAAXAEAVSnmpOperation@@AEAKAEAVSnmpPdu@@@Z
-; public: virtual void __cdecl SnmpImpSession::SessionSendFrame(class SnmpOperation & __ptr64,unsigned long & __ptr64,class SnmpPdu & __ptr64,class SnmpSecurity & __ptr64) __ptr64
-?SessionSendFrame@SnmpImpSession@@UEAAXAEAVSnmpOperation@@AEAKAEAVSnmpPdu@@AEAVSnmpSecurity@@@Z
-; public: virtual void __cdecl SnmpImpSession::SessionSentFrame(unsigned long,class SnmpErrorReport & __ptr64) __ptr64
-?SessionSentFrame@SnmpImpSession@@UEAAXKAEAVSnmpErrorReport@@@Z
-; public: void __cdecl SnmpAnalyser::Set(unsigned short const * __ptr64) __ptr64
-?Set@SnmpAnalyser@@QEAAXPEBG@Z
-; public: void __cdecl SnmpCommunityBasedSecurity::SetCommunityName(class SnmpOctetString const & __ptr64) __ptr64
-?SetCommunityName@SnmpCommunityBasedSecurity@@QEAAXAEBVSnmpOctetString@@@Z
-; public: void __cdecl SnmpCommunityBasedSecurity::SetCommunityName(char const * __ptr64) __ptr64
-?SetCommunityName@SnmpCommunityBasedSecurity@@QEAAXPEBD@Z
-; public: virtual int __cdecl SnmpEncodeDecode::SetCommunityName(class SnmpPdu & __ptr64,class SnmpCommunityBasedSecurity & __ptr64) __ptr64
-?SetCommunityName@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpCommunityBasedSecurity@@@Z
-; public: virtual int __cdecl SnmpPdu::SetCommunityName(class SnmpCommunityBasedSecurity & __ptr64) __ptr64
-?SetCommunityName@SnmpPdu@@UEAAHAEAVSnmpCommunityBasedSecurity@@@Z
-; public: virtual int __cdecl SnmpEncodeDecode::SetDestinationAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress & __ptr64) __ptr64
-?SetDestinationAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpTransportAddress@@@Z
-; public: virtual int __cdecl SnmpPdu::SetDestinationAddress(class SnmpTransportAddress & __ptr64) __ptr64
-?SetDestinationAddress@SnmpPdu@@UEAAHAEAVSnmpTransportAddress@@@Z
-; public: void __cdecl SnmpErrorReport::SetError(enum SnmpError) __ptr64
-?SetError@SnmpErrorReport@@QEAAXW4SnmpError@@@Z
-; public: virtual int __cdecl SnmpEncodeDecode::SetErrorReport(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
-?SetErrorReport@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
-; public: virtual int __cdecl SnmpPdu::SetErrorReport(class SnmpErrorReport & __ptr64) __ptr64
-?SetErrorReport@SnmpPdu@@UEAAHAEAVSnmpErrorReport@@@Z
-; public: void __cdecl SnmpErrorReport::SetIndex(unsigned long) __ptr64
-?SetIndex@SnmpErrorReport@@QEAAXK@Z
-; public: void __cdecl SnmpNegativeRangeType::SetLowerBound(long const & __ptr64) __ptr64
-?SetLowerBound@SnmpNegativeRangeType@@QEAAXAEBJ@Z
-; public: void __cdecl SnmpPositiveRangeType::SetLowerBound(unsigned long const & __ptr64) __ptr64
-?SetLowerBound@SnmpPositiveRangeType@@QEAAXAEBK@Z
-; public: void __cdecl SnmpVarBindListNode::SetNext(class SnmpVarBindListNode * __ptr64) __ptr64
-?SetNext@SnmpVarBindListNode@@QEAAXPEAV1@@Z
-; public: void __cdecl SnmpInstanceType::SetNull(int) __ptr64
-?SetNull@SnmpInstanceType@@QEAAXH@Z
-; public: void __cdecl SnmpPdu::SetPdu(class SnmpPdu & __ptr64) __ptr64
-?SetPdu@SnmpPdu@@QEAAXAEAV1@@Z
-; public: void __cdecl SnmpPdu::SetPdu(unsigned char const * __ptr64,unsigned long) __ptr64
-?SetPdu@SnmpPdu@@QEAAXPEBEK@Z
-; public: virtual int __cdecl SnmpEncodeDecode::SetPduType(class SnmpPdu & __ptr64,enum SnmpEncodeDecode::PduType) __ptr64
-?SetPduType@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@W4PduType@1@@Z
-; public: virtual int __cdecl SnmpPdu::SetPduType(enum SnmpEncodeDecode::PduType) __ptr64
-?SetPduType@SnmpPdu@@UEAAHW4PduType@SnmpEncodeDecode@@@Z
-; public: void __cdecl SnmpVarBindListNode::SetPrevious(class SnmpVarBindListNode * __ptr64) __ptr64
-?SetPrevious@SnmpVarBindListNode@@QEAAXPEAV1@@Z
-; public: virtual int __cdecl SnmpEncodeDecode::SetRequestId(class SnmpPdu & __ptr64,long) __ptr64
-?SetRequestId@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@J@Z
-; public: virtual int __cdecl SnmpPdu::SetRequestId(long) __ptr64
-?SetRequestId@SnmpPdu@@UEAAHJ@Z
-; public: virtual int __cdecl SnmpEncodeDecode::SetSourceAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress & __ptr64) __ptr64
-?SetSourceAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpTransportAddress@@@Z
-; public: virtual int __cdecl SnmpPdu::SetSourceAddress(class SnmpTransportAddress & __ptr64) __ptr64
-?SetSourceAddress@SnmpPdu@@UEAAHAEAVSnmpTransportAddress@@@Z
-; public: void __cdecl SnmpErrorReport::SetStatus(enum SnmpStatus) __ptr64
-?SetStatus@SnmpErrorReport@@QEAAXW4SnmpStatus@@@Z
-; public: void __cdecl SnmpInstanceType::SetStatus(int) __ptr64
-?SetStatus@SnmpInstanceType@@QEAAXH@Z
-; public: void __cdecl SnmpPositiveRangedType::SetStatus(int const & __ptr64) __ptr64
-?SetStatus@SnmpPositiveRangedType@@QEAAXAEBH@Z
-; public: void __cdecl SnmpLexicon::SetToken(enum SnmpLexicon::LexiconToken) __ptr64
-?SetToken@SnmpLexicon@@QEAAXW4LexiconToken@1@@Z
-; protected: virtual void __cdecl SnmpV1EncodeDecode::SetTranslateMode(void) __ptr64
-?SetTranslateMode@SnmpV1EncodeDecode@@MEAAXXZ
-; protected: virtual void __cdecl SnmpV2CEncodeDecode::SetTranslateMode(void) __ptr64
-?SetTranslateMode@SnmpV2CEncodeDecode@@MEAAXXZ
-; public: void __cdecl SnmpNegativeRangeType::SetUpperBound(long const & __ptr64) __ptr64
-?SetUpperBound@SnmpNegativeRangeType@@QEAAXAEBJ@Z
-; public: void __cdecl SnmpPositiveRangeType::SetUpperBound(unsigned long const & __ptr64) __ptr64
-?SetUpperBound@SnmpPositiveRangeType@@QEAAXAEBK@Z
-; public: void __cdecl SnmpCounter64::SetValue(unsigned long,unsigned long) __ptr64
-?SetValue@SnmpCounter64@@QEAAXKK@Z
-; public: void __cdecl SnmpCounter::SetValue(unsigned long) __ptr64
-?SetValue@SnmpCounter@@QEAAXK@Z
-; public: void __cdecl SnmpGauge::SetValue(unsigned long) __ptr64
-?SetValue@SnmpGauge@@QEAAXK@Z
-; public: void __cdecl SnmpInteger::SetValue(long) __ptr64
-?SetValue@SnmpInteger@@QEAAXJ@Z
-; public: void __cdecl SnmpIpAddress::SetValue(unsigned long) __ptr64
-?SetValue@SnmpIpAddress@@QEAAXK@Z
-; public: void __cdecl SnmpObjectIdentifier::SetValue(unsigned long const * __ptr64,unsigned long) __ptr64
-?SetValue@SnmpObjectIdentifier@@QEAAXPEBKK@Z
-; public: void __cdecl SnmpOctetString::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
-?SetValue@SnmpOctetString@@QEAAXPEBEK@Z
-; public: void __cdecl SnmpOpaque::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
-?SetValue@SnmpOpaque@@QEAAXPEBEK@Z
-; public: void __cdecl SnmpTimeTicks::SetValue(unsigned long) __ptr64
-?SetValue@SnmpTimeTicks@@QEAAXK@Z
-; public: void __cdecl SnmpUInteger32::SetValue(unsigned long) __ptr64
-?SetValue@SnmpUInteger32@@QEAAXK@Z
-; public: virtual int __cdecl SnmpEncodeDecode::SetVarBindList(class SnmpPdu & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
-?SetVarBindList@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpVarBindList@@@Z
-; public: virtual int __cdecl SnmpPdu::SetVarBindList(class SnmpVarBindList & __ptr64) __ptr64
-?SetVarBindList@SnmpPdu@@UEAAHAEAVSnmpVarBindList@@@Z
-; public: static int __cdecl SnmpClassLibrary::Startup(void)
-?Startup@SnmpClassLibrary@@SAHXZ
-; public: int __cdecl SnmpObjectIdentifier::Suffix(unsigned long,class SnmpObjectIdentifier & __ptr64)const  __ptr64
-?Suffix@SnmpObjectIdentifier@@QEBAHKAEAV1@@Z
-; protected: virtual void __cdecl SnmpImpTransport::TransportFlowControlOff(void) __ptr64
-?TransportFlowControlOff@SnmpImpTransport@@MEAAXXZ
-; protected: virtual void __cdecl SnmpImpTransport::TransportFlowControlOn(void) __ptr64
-?TransportFlowControlOn@SnmpImpTransport@@MEAAXXZ
-; public: virtual void __cdecl SnmpImpTransport::TransportReceiveFrame(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
-?TransportReceiveFrame@SnmpImpTransport@@UEAAXAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
-; public: virtual void __cdecl SnmpImpTransport::TransportSendFrame(unsigned long & __ptr64,class SnmpPdu & __ptr64) __ptr64
-?TransportSendFrame@SnmpImpTransport@@UEAAXAEAKAEAVSnmpPdu@@@Z
-; public: virtual void __cdecl SnmpImpTransport::TransportSentFrame(unsigned long,class SnmpErrorReport & __ptr64) __ptr64
-?TransportSentFrame@SnmpImpTransport@@UEAAXKAEAVSnmpErrorReport@@@Z
-; protected: virtual void __cdecl SnmpObjectIdentifier::UnReplicate(unsigned long * __ptr64) __ptr64
-?UnReplicate@SnmpObjectIdentifier@@MEAAXPEAK@Z
-; protected: virtual void __cdecl SnmpOctetString::UnReplicate(unsigned char * __ptr64) __ptr64
-?UnReplicate@SnmpOctetString@@MEAAXPEAE@Z
-; unsigned short * __ptr64 __cdecl UnicodeStringAppend(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?UnicodeStringAppend@@YAPEAGPEBG0@Z
-; unsigned short * __ptr64 __cdecl UnicodeStringDuplicate(unsigned short const * __ptr64)
-?UnicodeStringDuplicate@@YAPEAGPEBG@Z
-; char * __ptr64 __cdecl UnicodeToDbcsString(unsigned short const * __ptr64)
-?UnicodeToDbcsString@@YAPEADPEBG@Z
-; public: static int __cdecl SnmpTransportIpAddress::ValidateAddress(char const * __ptr64,unsigned long)
-?ValidateAddress@SnmpTransportIpAddress@@SAHPEBDK@Z
-; public: static int __cdecl SnmpTransportIpxAddress::ValidateAddress(char const * __ptr64)
-?ValidateAddress@SnmpTransportIpxAddress@@SAHPEBD@Z
-; public: static unsigned long __cdecl SnmpImpSession::VarbindsPerPdu(unsigned long)
-?VarbindsPerPdu@SnmpImpSession@@SAKK@Z
-; public: static unsigned long __cdecl SnmpImpSession::WindowSize(unsigned long)
-?WindowSize@SnmpImpSession@@SAKK@Z
-; private: static unsigned long  SnmpImpTransport::next_transport_frame_id
-?next_transport_frame_id@SnmpImpTransport@@0KA DATA
-; protected: static class CriticalSection  SnmpEncodeDecode::s_CriticalSection
-?s_CriticalSection@SnmpEncodeDecode@@1VCriticalSection@@A DATA
-; protected: static long  SnmpClassLibrary::s_ReferenceCount
-?s_ReferenceCount@SnmpClassLibrary@@1JA DATA
+; 
+; Exports of file snmpcl.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY snmpcl.dll
+EXPORTS
+; public: __cdecl CBString::CBString(int) __ptr64
+??0CBString@@QEAA@H@Z
+; public: __cdecl CBString::CBString(unsigned short * __ptr64) __ptr64
+??0CBString@@QEAA@PEAG@Z
+; public: __cdecl CBString::CBString(void) __ptr64
+??0CBString@@QEAA@XZ
+; public: __cdecl GeneralException::GeneralException(class GeneralException const & __ptr64) __ptr64
+??0GeneralException@@QEAA@AEBV0@@Z
+; public: __cdecl GeneralException::GeneralException(class SnmpErrorReport const & __ptr64,char * __ptr64,int,unsigned long) __ptr64
+??0GeneralException@@QEAA@AEBVSnmpErrorReport@@PEADHK@Z
+; public: __cdecl GeneralException::GeneralException(enum SnmpError,enum SnmpStatus,char * __ptr64,int,unsigned long) __ptr64
+??0GeneralException@@QEAA@W4SnmpError@@W4SnmpStatus@@PEADHK@Z
+; public: __cdecl GetNextOperation::GetNextOperation(class SnmpSession & __ptr64,class SnmpAutoRetrieveOperation & __ptr64) __ptr64
+??0GetNextOperation@@QEAA@AEAVSnmpSession@@AEAVSnmpAutoRetrieveOperation@@@Z
+; public: __cdecl GetNextOperation::GetNextOperation(class GetNextOperation const & __ptr64) __ptr64
+??0GetNextOperation@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpAnalyser::SnmpAnalyser(class SnmpAnalyser const & __ptr64) __ptr64
+??0SnmpAnalyser@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpAnalyser::SnmpAnalyser(unsigned short const * __ptr64) __ptr64
+??0SnmpAnalyser@@QEAA@PEBG@Z
+; protected: __cdecl SnmpAutoRetrieveOperation::SnmpAutoRetrieveOperation(class SnmpSession & __ptr64) __ptr64
+??0SnmpAutoRetrieveOperation@@IEAA@AEAVSnmpSession@@@Z
+; public: __cdecl SnmpAutoRetrieveOperation::SnmpAutoRetrieveOperation(class SnmpAutoRetrieveOperation const & __ptr64) __ptr64
+??0SnmpAutoRetrieveOperation@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpBitStringType::SnmpBitStringType(class SnmpBitStringType const & __ptr64) __ptr64
+??0SnmpBitStringType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpBitStringType::SnmpBitStringType(unsigned short const * __ptr64) __ptr64
+??0SnmpBitStringType@@QEAA@PEBG@Z
+; public: __cdecl SnmpBitStringType::SnmpBitStringType(unsigned short const * __ptr64,class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpBitStringType@@QEAA@PEBGAEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpBitStringType::SnmpBitStringType(unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned long const & __ptr64) __ptr64
+??0SnmpBitStringType@@QEAA@PEBGPEAPEBGAEBK@Z
+; protected: __cdecl SnmpClassLibrary::SnmpClassLibrary(void) __ptr64
+??0SnmpClassLibrary@@IEAA@XZ
+; public: __cdecl SnmpClassLibrary::SnmpClassLibrary(class SnmpClassLibrary const & __ptr64) __ptr64
+??0SnmpClassLibrary@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpCommunityBasedSecurity::SnmpCommunityBasedSecurity(class SnmpCommunityBasedSecurity const & __ptr64) __ptr64
+??0SnmpCommunityBasedSecurity@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpCommunityBasedSecurity::SnmpCommunityBasedSecurity(class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpCommunityBasedSecurity@@QEAA@AEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpCommunityBasedSecurity::SnmpCommunityBasedSecurity(char const * __ptr64) __ptr64
+??0SnmpCommunityBasedSecurity@@QEAA@PEBD@Z
+; public: __cdecl SnmpCounter64::SnmpCounter64(class SnmpCounter64 const & __ptr64) __ptr64
+??0SnmpCounter64@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpCounter64::SnmpCounter64(unsigned long,unsigned long) __ptr64
+??0SnmpCounter64@@QEAA@KK@Z
+; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(class SnmpCounter64Type const & __ptr64) __ptr64
+??0SnmpCounter64Type@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(class SnmpCounter64 const & __ptr64) __ptr64
+??0SnmpCounter64Type@@QEAA@AEBVSnmpCounter64@@@Z
+; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(unsigned long,unsigned long) __ptr64
+??0SnmpCounter64Type@@QEAA@KK@Z
+; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(unsigned short const * __ptr64) __ptr64
+??0SnmpCounter64Type@@QEAA@PEBG@Z
+; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(void) __ptr64
+??0SnmpCounter64Type@@QEAA@XZ
+; public: __cdecl SnmpCounter::SnmpCounter(class SnmpCounter const & __ptr64) __ptr64
+??0SnmpCounter@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpCounter::SnmpCounter(unsigned long) __ptr64
+??0SnmpCounter@@QEAA@K@Z
+; public: __cdecl SnmpCounterType::SnmpCounterType(class SnmpCounterType const & __ptr64) __ptr64
+??0SnmpCounterType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpCounterType::SnmpCounterType(class SnmpCounter const & __ptr64) __ptr64
+??0SnmpCounterType@@QEAA@AEBVSnmpCounter@@@Z
+; public: __cdecl SnmpCounterType::SnmpCounterType(unsigned long) __ptr64
+??0SnmpCounterType@@QEAA@K@Z
+; public: __cdecl SnmpCounterType::SnmpCounterType(unsigned short const * __ptr64) __ptr64
+??0SnmpCounterType@@QEAA@PEBG@Z
+; public: __cdecl SnmpCounterType::SnmpCounterType(void) __ptr64
+??0SnmpCounterType@@QEAA@XZ
+; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(class SnmpDateTimeType const & __ptr64) __ptr64
+??0SnmpDateTimeType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpDateTimeType@@QEAA@AEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(unsigned short const * __ptr64) __ptr64
+??0SnmpDateTimeType@@QEAA@PEBG@Z
+; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(void) __ptr64
+??0SnmpDateTimeType@@QEAA@XZ
+; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(class SnmpDisplayStringType const & __ptr64) __ptr64
+??0SnmpDisplayStringType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(class SnmpOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpDisplayStringType@@QEAA@AEBVSnmpOctetString@@PEBG@Z
+; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpDisplayStringType@@QEAA@PEBG0@Z
+; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(unsigned short const * __ptr64) __ptr64
+??0SnmpDisplayStringType@@QEAA@PEBG@Z
+; public: __cdecl SnmpEncodeDecode::SnmpEncodeDecode(class SnmpEncodeDecode const & __ptr64) __ptr64
+??0SnmpEncodeDecode@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpEncodeDecode::SnmpEncodeDecode(void) __ptr64
+??0SnmpEncodeDecode@@QEAA@XZ
+; public: __cdecl SnmpEndOfMibView::SnmpEndOfMibView(void) __ptr64
+??0SnmpEndOfMibView@@QEAA@XZ
+; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(class SnmpEnumeratedType const & __ptr64) __ptr64
+??0SnmpEnumeratedType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpEnumeratedType@@QEAA@PEBG0@Z
+; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64) __ptr64
+??0SnmpEnumeratedType@@QEAA@PEBG@Z
+; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64,long const & __ptr64) __ptr64
+??0SnmpEnumeratedType@@QEAA@PEBGAEBJ@Z
+; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64,class SnmpInteger const & __ptr64) __ptr64
+??0SnmpEnumeratedType@@QEAA@PEBGAEBVSnmpInteger@@@Z
+; public: __cdecl SnmpErrorReport::SnmpErrorReport(class SnmpErrorReport const & __ptr64) __ptr64
+??0SnmpErrorReport@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpErrorReport::SnmpErrorReport(enum SnmpError,enum SnmpStatus,unsigned long) __ptr64
+??0SnmpErrorReport@@QEAA@W4SnmpError@@W4SnmpStatus@@K@Z
+; public: __cdecl SnmpErrorReport::SnmpErrorReport(void) __ptr64
+??0SnmpErrorReport@@QEAA@XZ
+; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(unsigned long const & __ptr64) __ptr64
+??0SnmpFixedLengthDisplayStringType@@QEAA@AEBK@Z
+; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(unsigned long const & __ptr64,class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpFixedLengthDisplayStringType@@QEAA@AEBKAEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpFixedLengthDisplayStringType@@QEAA@AEBKPEBG@Z
+; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(class SnmpFixedLengthDisplayStringType const & __ptr64) __ptr64
+??0SnmpFixedLengthDisplayStringType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64) __ptr64
+??0SnmpFixedLengthOctetStringType@@QEAA@AEBK@Z
+; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64,class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpFixedLengthOctetStringType@@QEAA@AEBKAEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned char const * __ptr64) __ptr64
+??0SnmpFixedLengthOctetStringType@@QEAA@AEBKPEBE@Z
+; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpFixedLengthOctetStringType@@QEAA@AEBKPEBG@Z
+; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(class SnmpFixedLengthOctetStringType const & __ptr64) __ptr64
+??0SnmpFixedLengthOctetStringType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64) __ptr64
+??0SnmpFixedLengthOpaqueType@@QEAA@AEBK@Z
+; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64,class SnmpOpaque const & __ptr64) __ptr64
+??0SnmpFixedLengthOpaqueType@@QEAA@AEBKAEBVSnmpOpaque@@@Z
+; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned char const * __ptr64,unsigned long) __ptr64
+??0SnmpFixedLengthOpaqueType@@QEAA@AEBKPEBEK@Z
+; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpFixedLengthOpaqueType@@QEAA@AEBKPEBG@Z
+; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(class SnmpFixedLengthOpaqueType const & __ptr64) __ptr64
+??0SnmpFixedLengthOpaqueType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(unsigned long const & __ptr64) __ptr64
+??0SnmpFixedLengthPhysAddressType@@QEAA@AEBK@Z
+; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(unsigned long const & __ptr64,class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpFixedLengthPhysAddressType@@QEAA@AEBKAEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpFixedLengthPhysAddressType@@QEAA@AEBKPEBG@Z
+; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(class SnmpFixedLengthPhysAddressType const & __ptr64) __ptr64
+??0SnmpFixedLengthPhysAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpFixedType::SnmpFixedType(class SnmpFixedType const & __ptr64) __ptr64
+??0SnmpFixedType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpFixedType::SnmpFixedType(unsigned long) __ptr64
+??0SnmpFixedType@@QEAA@K@Z
+; public: __cdecl SnmpGauge::SnmpGauge(class SnmpGauge const & __ptr64) __ptr64
+??0SnmpGauge@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpGauge::SnmpGauge(long) __ptr64
+??0SnmpGauge@@QEAA@J@Z
+; public: __cdecl SnmpGaugeType::SnmpGaugeType(class SnmpGaugeType const & __ptr64) __ptr64
+??0SnmpGaugeType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpGaugeType::SnmpGaugeType(class SnmpGauge const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpGaugeType@@QEAA@AEBVSnmpGauge@@PEBG@Z
+; public: __cdecl SnmpGaugeType::SnmpGaugeType(unsigned long,unsigned short const * __ptr64) __ptr64
+??0SnmpGaugeType@@QEAA@KPEBG@Z
+; public: __cdecl SnmpGaugeType::SnmpGaugeType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpGaugeType@@QEAA@PEBG0@Z
+; public: __cdecl SnmpGaugeType::SnmpGaugeType(unsigned short const * __ptr64) __ptr64
+??0SnmpGaugeType@@QEAA@PEBG@Z
+; public: __cdecl SnmpGetNextOperation::SnmpGetNextOperation(class SnmpSession & __ptr64) __ptr64
+??0SnmpGetNextOperation@@QEAA@AEAVSnmpSession@@@Z
+; public: __cdecl SnmpGetNextOperation::SnmpGetNextOperation(class SnmpGetNextOperation const & __ptr64) __ptr64
+??0SnmpGetNextOperation@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpGetOperation::SnmpGetOperation(class SnmpSession & __ptr64) __ptr64
+??0SnmpGetOperation@@QEAA@AEAVSnmpSession@@@Z
+; public: __cdecl SnmpGetOperation::SnmpGetOperation(class SnmpGetOperation const & __ptr64) __ptr64
+??0SnmpGetOperation@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(class SnmpIPXAddressType const & __ptr64) __ptr64
+??0SnmpIPXAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpIPXAddressType@@QEAA@AEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(unsigned char const * __ptr64) __ptr64
+??0SnmpIPXAddressType@@QEAA@PEBE@Z
+; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(unsigned short const * __ptr64) __ptr64
+??0SnmpIPXAddressType@@QEAA@PEBG@Z
+; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(void) __ptr64
+??0SnmpIPXAddressType@@QEAA@XZ
+; protected: __cdecl SnmpImpSession::SnmpImpSession(class SnmpTransport & __ptr64,class SnmpSecurity & __ptr64,class SnmpEncodeDecode & __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
+??0SnmpImpSession@@IEAA@AEAVSnmpTransport@@AEAVSnmpSecurity@@AEAVSnmpEncodeDecode@@KKKK@Z
+; public: __cdecl SnmpImpTransport::SnmpImpTransport(class SnmpSession & __ptr64,class SnmpTransportAddress const & __ptr64) __ptr64
+??0SnmpImpTransport@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportAddress@@@Z
+; protected: __cdecl SnmpInstanceType::SnmpInstanceType(class SnmpInstanceType const & __ptr64) __ptr64
+??0SnmpInstanceType@@IEAA@AEBV0@@Z
+; protected: __cdecl SnmpInstanceType::SnmpInstanceType(int,int) __ptr64
+??0SnmpInstanceType@@IEAA@HH@Z
+; public: __cdecl SnmpInteger::SnmpInteger(class SnmpInteger const & __ptr64) __ptr64
+??0SnmpInteger@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpInteger::SnmpInteger(long) __ptr64
+??0SnmpInteger@@QEAA@J@Z
+; public: __cdecl SnmpIntegerType::SnmpIntegerType(class SnmpIntegerType const & __ptr64) __ptr64
+??0SnmpIntegerType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpIntegerType::SnmpIntegerType(class SnmpInteger const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpIntegerType@@QEAA@AEBVSnmpInteger@@PEBG@Z
+; public: __cdecl SnmpIntegerType::SnmpIntegerType(long,unsigned short const * __ptr64) __ptr64
+??0SnmpIntegerType@@QEAA@JPEBG@Z
+; public: __cdecl SnmpIntegerType::SnmpIntegerType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpIntegerType@@QEAA@PEBG0@Z
+; public: __cdecl SnmpIntegerType::SnmpIntegerType(unsigned short const * __ptr64) __ptr64
+??0SnmpIntegerType@@QEAA@PEBG@Z
+; public: __cdecl SnmpIpAddress::SnmpIpAddress(class SnmpIpAddress const & __ptr64) __ptr64
+??0SnmpIpAddress@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpIpAddress::SnmpIpAddress(unsigned long) __ptr64
+??0SnmpIpAddress@@QEAA@K@Z
+; public: __cdecl SnmpIpAddress::SnmpIpAddress(char const * __ptr64) __ptr64
+??0SnmpIpAddress@@QEAA@PEBD@Z
+; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(class SnmpIpAddressType const & __ptr64) __ptr64
+??0SnmpIpAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(class SnmpIpAddress const & __ptr64) __ptr64
+??0SnmpIpAddressType@@QEAA@AEBVSnmpIpAddress@@@Z
+; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(unsigned long) __ptr64
+??0SnmpIpAddressType@@QEAA@K@Z
+; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(unsigned short const * __ptr64) __ptr64
+??0SnmpIpAddressType@@QEAA@PEBG@Z
+; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(void) __ptr64
+??0SnmpIpAddressType@@QEAA@XZ
+; public: __cdecl SnmpIpxImp::SnmpIpxImp(class SnmpSession & __ptr64,class SnmpTransportIpxAddress const & __ptr64) __ptr64
+??0SnmpIpxImp@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpxAddress@@@Z
+; public: __cdecl SnmpIpxImp::SnmpIpxImp(class SnmpSession & __ptr64,char const * __ptr64) __ptr64
+??0SnmpIpxImp@@QEAA@AEAVSnmpSession@@PEBD@Z
+; public: __cdecl SnmpIpxImp::SnmpIpxImp(class SnmpSession & __ptr64,unsigned char const * __ptr64) __ptr64
+??0SnmpIpxImp@@QEAA@AEAVSnmpSession@@PEBE@Z
+; public: __cdecl SnmpIpxTransport::SnmpIpxTransport(class SnmpSession & __ptr64,class SnmpTransportIpxAddress const & __ptr64) __ptr64
+??0SnmpIpxTransport@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpxAddress@@@Z
+; public: __cdecl SnmpLexicon::SnmpLexicon(void) __ptr64
+??0SnmpLexicon@@QEAA@XZ
+; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(class SnmpMacAddressType const & __ptr64) __ptr64
+??0SnmpMacAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpMacAddressType@@QEAA@AEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(unsigned char const * __ptr64) __ptr64
+??0SnmpMacAddressType@@QEAA@PEBE@Z
+; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(unsigned short const * __ptr64) __ptr64
+??0SnmpMacAddressType@@QEAA@PEBG@Z
+; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(void) __ptr64
+??0SnmpMacAddressType@@QEAA@XZ
+; public: __cdecl SnmpNegativeRangeType::SnmpNegativeRangeType(class SnmpNegativeRangeType const & __ptr64) __ptr64
+??0SnmpNegativeRangeType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpNegativeRangeType::SnmpNegativeRangeType(long,long) __ptr64
+??0SnmpNegativeRangeType@@QEAA@JJ@Z
+; public: __cdecl SnmpNegativeRangeType::SnmpNegativeRangeType(void) __ptr64
+??0SnmpNegativeRangeType@@QEAA@XZ
+; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(class SnmpNetworkAddressType const & __ptr64) __ptr64
+??0SnmpNetworkAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(class SnmpIpAddress const & __ptr64) __ptr64
+??0SnmpNetworkAddressType@@QEAA@AEBVSnmpIpAddress@@@Z
+; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(unsigned long) __ptr64
+??0SnmpNetworkAddressType@@QEAA@K@Z
+; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(unsigned short const * __ptr64) __ptr64
+??0SnmpNetworkAddressType@@QEAA@PEBG@Z
+; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(void) __ptr64
+??0SnmpNetworkAddressType@@QEAA@XZ
+; public: __cdecl SnmpNoSuchInstance::SnmpNoSuchInstance(void) __ptr64
+??0SnmpNoSuchInstance@@QEAA@XZ
+; public: __cdecl SnmpNoSuchObject::SnmpNoSuchObject(void) __ptr64
+??0SnmpNoSuchObject@@QEAA@XZ
+; public: __cdecl SnmpNull::SnmpNull(void) __ptr64
+??0SnmpNull@@QEAA@XZ
+; public: __cdecl SnmpNullType::SnmpNullType(class SnmpNullType const & __ptr64) __ptr64
+??0SnmpNullType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpNullType::SnmpNullType(class SnmpNull const & __ptr64) __ptr64
+??0SnmpNullType@@QEAA@AEBVSnmpNull@@@Z
+; public: __cdecl SnmpNullType::SnmpNullType(void) __ptr64
+??0SnmpNullType@@QEAA@XZ
+; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(class SnmpOSIAddressType const & __ptr64) __ptr64
+??0SnmpOSIAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpOSIAddressType@@QEAA@AEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(unsigned char const * __ptr64,unsigned long) __ptr64
+??0SnmpOSIAddressType@@QEAA@PEBEK@Z
+; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(unsigned short const * __ptr64) __ptr64
+??0SnmpOSIAddressType@@QEAA@PEBG@Z
+; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(void) __ptr64
+??0SnmpOSIAddressType@@QEAA@XZ
+; public: __cdecl SnmpObjectIdentifier::SnmpObjectIdentifier(class SnmpObjectIdentifier const & __ptr64) __ptr64
+??0SnmpObjectIdentifier@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpObjectIdentifier::SnmpObjectIdentifier(char const * __ptr64) __ptr64
+??0SnmpObjectIdentifier@@QEAA@PEBD@Z
+; public: __cdecl SnmpObjectIdentifier::SnmpObjectIdentifier(unsigned long const * __ptr64,unsigned long) __ptr64
+??0SnmpObjectIdentifier@@QEAA@PEBKK@Z
+; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(class SnmpObjectIdentifierType const & __ptr64) __ptr64
+??0SnmpObjectIdentifierType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(class SnmpObjectIdentifier const & __ptr64) __ptr64
+??0SnmpObjectIdentifierType@@QEAA@AEBVSnmpObjectIdentifier@@@Z
+; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(unsigned short const * __ptr64) __ptr64
+??0SnmpObjectIdentifierType@@QEAA@PEBG@Z
+; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(unsigned long const * __ptr64,unsigned long) __ptr64
+??0SnmpObjectIdentifierType@@QEAA@PEBKK@Z
+; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(void) __ptr64
+??0SnmpObjectIdentifierType@@QEAA@XZ
+; public: __cdecl SnmpOctetString::SnmpOctetString(class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpOctetString@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpOctetString::SnmpOctetString(unsigned char const * __ptr64,unsigned long) __ptr64
+??0SnmpOctetString@@QEAA@PEBEK@Z
+; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(class SnmpOctetStringType const & __ptr64) __ptr64
+??0SnmpOctetStringType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(class SnmpOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpOctetStringType@@QEAA@AEBVSnmpOctetString@@PEBG@Z
+; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
+??0SnmpOctetStringType@@QEAA@PEBEKPEBG@Z
+; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpOctetStringType@@QEAA@PEBG0@Z
+; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(unsigned short const * __ptr64) __ptr64
+??0SnmpOctetStringType@@QEAA@PEBG@Z
+; public: __cdecl SnmpOpaque::SnmpOpaque(class SnmpOpaque const & __ptr64) __ptr64
+??0SnmpOpaque@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpOpaque::SnmpOpaque(unsigned char const * __ptr64,unsigned long) __ptr64
+??0SnmpOpaque@@QEAA@PEBEK@Z
+; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(class SnmpOpaqueType const & __ptr64) __ptr64
+??0SnmpOpaqueType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(class SnmpOpaque const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpOpaqueType@@QEAA@AEBVSnmpOpaque@@PEBG@Z
+; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
+??0SnmpOpaqueType@@QEAA@PEBEKPEBG@Z
+; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpOpaqueType@@QEAA@PEBG0@Z
+; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(unsigned short const * __ptr64) __ptr64
+??0SnmpOpaqueType@@QEAA@PEBG@Z
+; protected: __cdecl SnmpOperation::SnmpOperation(class SnmpSession & __ptr64) __ptr64
+??0SnmpOperation@@IEAA@AEAVSnmpSession@@@Z
+; public: __cdecl SnmpOperation::SnmpOperation(class SnmpOperation const & __ptr64) __ptr64
+??0SnmpOperation@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpPdu::SnmpPdu(class SnmpPdu & __ptr64) __ptr64
+??0SnmpPdu@@QEAA@AEAV0@@Z
+; public: __cdecl SnmpPdu::SnmpPdu(unsigned char const * __ptr64,unsigned long const & __ptr64) __ptr64
+??0SnmpPdu@@QEAA@PEBEAEBK@Z
+; public: __cdecl SnmpPdu::SnmpPdu(void) __ptr64
+??0SnmpPdu@@QEAA@XZ
+; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(class SnmpPhysAddressType const & __ptr64) __ptr64
+??0SnmpPhysAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(class SnmpOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpPhysAddressType@@QEAA@AEBVSnmpOctetString@@PEBG@Z
+; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
+??0SnmpPhysAddressType@@QEAA@PEBEKPEBG@Z
+; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpPhysAddressType@@QEAA@PEBG0@Z
+; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(unsigned short const * __ptr64) __ptr64
+??0SnmpPhysAddressType@@QEAA@PEBG@Z
+; public: __cdecl SnmpPositiveRangeType::SnmpPositiveRangeType(class SnmpPositiveRangeType const & __ptr64) __ptr64
+??0SnmpPositiveRangeType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpPositiveRangeType::SnmpPositiveRangeType(unsigned long,long) __ptr64
+??0SnmpPositiveRangeType@@QEAA@KJ@Z
+; public: __cdecl SnmpPositiveRangeType::SnmpPositiveRangeType(void) __ptr64
+??0SnmpPositiveRangeType@@QEAA@XZ
+; public: __cdecl SnmpPositiveRangedType::SnmpPositiveRangedType(class SnmpPositiveRangedType const & __ptr64) __ptr64
+??0SnmpPositiveRangedType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpPositiveRangedType::SnmpPositiveRangedType(unsigned short const * __ptr64) __ptr64
+??0SnmpPositiveRangedType@@QEAA@PEBG@Z
+; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(long const & __ptr64) __ptr64
+??0SnmpRowStatusType@@QEAA@AEBJ@Z
+; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(class SnmpRowStatusType const & __ptr64) __ptr64
+??0SnmpRowStatusType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(class SnmpInteger const & __ptr64) __ptr64
+??0SnmpRowStatusType@@QEAA@AEBVSnmpInteger@@@Z
+; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(enum SnmpRowStatusType::SnmpRowStatusEnum const & __ptr64) __ptr64
+??0SnmpRowStatusType@@QEAA@AEBW4SnmpRowStatusEnum@0@@Z
+; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(unsigned short const * __ptr64) __ptr64
+??0SnmpRowStatusType@@QEAA@PEBG@Z
+; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(void) __ptr64
+??0SnmpRowStatusType@@QEAA@XZ
+; private: __cdecl SnmpSecurity::SnmpSecurity(class SnmpSecurity const & __ptr64) __ptr64
+??0SnmpSecurity@@AEAA@AEBV0@@Z
+; protected: __cdecl SnmpSecurity::SnmpSecurity(void) __ptr64
+??0SnmpSecurity@@IEAA@XZ
+; private: __cdecl SnmpSession::SnmpSession(class SnmpSession const & __ptr64) __ptr64
+??0SnmpSession@@AEAA@AEBV0@@Z
+; protected: __cdecl SnmpSession::SnmpSession(class SnmpTransport & __ptr64,class SnmpSecurity & __ptr64,class SnmpEncodeDecode & __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
+??0SnmpSession@@IEAA@AEAVSnmpTransport@@AEAVSnmpSecurity@@AEAVSnmpEncodeDecode@@KKKK@Z
+; public: __cdecl SnmpSetOperation::SnmpSetOperation(class SnmpSession & __ptr64) __ptr64
+??0SnmpSetOperation@@QEAA@AEAVSnmpSession@@@Z
+; public: __cdecl SnmpSetOperation::SnmpSetOperation(class SnmpSetOperation const & __ptr64) __ptr64
+??0SnmpSetOperation@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpTimeTicks::SnmpTimeTicks(class SnmpTimeTicks const & __ptr64) __ptr64
+??0SnmpTimeTicks@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpTimeTicks::SnmpTimeTicks(unsigned long) __ptr64
+??0SnmpTimeTicks@@QEAA@K@Z
+; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(class SnmpTimeTicksType const & __ptr64) __ptr64
+??0SnmpTimeTicksType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(class SnmpTimeTicks const & __ptr64) __ptr64
+??0SnmpTimeTicksType@@QEAA@AEBVSnmpTimeTicks@@@Z
+; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(unsigned long) __ptr64
+??0SnmpTimeTicksType@@QEAA@K@Z
+; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(unsigned short const * __ptr64) __ptr64
+??0SnmpTimeTicksType@@QEAA@PEBG@Z
+; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(void) __ptr64
+??0SnmpTimeTicksType@@QEAA@XZ
+; private: __cdecl SnmpTransport::SnmpTransport(class SnmpTransport const & __ptr64) __ptr64
+??0SnmpTransport@@AEAA@AEBV0@@Z
+; protected: __cdecl SnmpTransport::SnmpTransport(class SnmpSession & __ptr64,class SnmpTransportAddress const & __ptr64) __ptr64
+??0SnmpTransport@@IEAA@AEAVSnmpSession@@AEBVSnmpTransportAddress@@@Z
+; private: __cdecl SnmpTransportAddress::SnmpTransportAddress(class SnmpTransportAddress const & __ptr64) __ptr64
+??0SnmpTransportAddress@@AEAA@AEBV0@@Z
+; protected: __cdecl SnmpTransportAddress::SnmpTransportAddress(void) __ptr64
+??0SnmpTransportAddress@@IEAA@XZ
+; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(class SnmpTransportIpAddress const & __ptr64) __ptr64
+??0SnmpTransportIpAddress@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(unsigned long) __ptr64
+??0SnmpTransportIpAddress@@QEAA@K@Z
+; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(char const * __ptr64,unsigned long) __ptr64
+??0SnmpTransportIpAddress@@QEAA@PEBDK@Z
+; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(unsigned char const * __ptr64,unsigned short) __ptr64
+??0SnmpTransportIpAddress@@QEAA@PEBEG@Z
+; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(void) __ptr64
+??0SnmpTransportIpAddress@@QEAA@XZ
+; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(class SnmpTransportIpxAddress const & __ptr64) __ptr64
+??0SnmpTransportIpxAddress@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(char const * __ptr64) __ptr64
+??0SnmpTransportIpxAddress@@QEAA@PEBD@Z
+; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(unsigned char const * __ptr64,unsigned short) __ptr64
+??0SnmpTransportIpxAddress@@QEAA@PEBEG@Z
+; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(void) __ptr64
+??0SnmpTransportIpxAddress@@QEAA@XZ
+; protected: __cdecl SnmpTrapReceiver::SnmpTrapReceiver(void) __ptr64
+??0SnmpTrapReceiver@@IEAA@XZ
+; public: __cdecl SnmpTrapReceiver::SnmpTrapReceiver(class SnmpTrapReceiver const & __ptr64) __ptr64
+??0SnmpTrapReceiver@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(class SnmpUDPAddressType const & __ptr64) __ptr64
+??0SnmpUDPAddressType@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(class SnmpOctetString const & __ptr64) __ptr64
+??0SnmpUDPAddressType@@QEAA@AEBVSnmpOctetString@@@Z
+; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(unsigned char const * __ptr64) __ptr64
+??0SnmpUDPAddressType@@QEAA@PEBE@Z
+; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(unsigned short const * __ptr64) __ptr64
+??0SnmpUDPAddressType@@QEAA@PEBG@Z
+; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(void) __ptr64
+??0SnmpUDPAddressType@@QEAA@XZ
+; public: __cdecl SnmpUInteger32::SnmpUInteger32(class SnmpUInteger32 const & __ptr64) __ptr64
+??0SnmpUInteger32@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpUInteger32::SnmpUInteger32(long) __ptr64
+??0SnmpUInteger32@@QEAA@J@Z
+; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(class SnmpUInteger32Type const & __ptr64) __ptr64
+??0SnmpUInteger32Type@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(class SnmpUInteger32 const & __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpUInteger32Type@@QEAA@AEBVSnmpUInteger32@@PEBG@Z
+; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(unsigned long,unsigned short const * __ptr64) __ptr64
+??0SnmpUInteger32Type@@QEAA@KPEBG@Z
+; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0SnmpUInteger32Type@@QEAA@PEBG0@Z
+; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(unsigned short const * __ptr64) __ptr64
+??0SnmpUInteger32Type@@QEAA@PEBG@Z
+; public: __cdecl SnmpUdpIpImp::SnmpUdpIpImp(class SnmpSession & __ptr64,class SnmpTransportIpAddress const & __ptr64) __ptr64
+??0SnmpUdpIpImp@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpAddress@@@Z
+; public: __cdecl SnmpUdpIpImp::SnmpUdpIpImp(class SnmpSession & __ptr64,char const * __ptr64,unsigned long) __ptr64
+??0SnmpUdpIpImp@@QEAA@AEAVSnmpSession@@PEBDK@Z
+; public: __cdecl SnmpUdpIpImp::SnmpUdpIpImp(class SnmpSession & __ptr64,unsigned char const * __ptr64) __ptr64
+??0SnmpUdpIpImp@@QEAA@AEAVSnmpSession@@PEBE@Z
+; public: __cdecl SnmpUdpIpTransport::SnmpUdpIpTransport(class SnmpSession & __ptr64,class SnmpTransportIpAddress const & __ptr64) __ptr64
+??0SnmpUdpIpTransport@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpAddress@@@Z
+; public: __cdecl SnmpV1EncodeDecode::SnmpV1EncodeDecode(class SnmpV1EncodeDecode const & __ptr64) __ptr64
+??0SnmpV1EncodeDecode@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpV1EncodeDecode::SnmpV1EncodeDecode(void) __ptr64
+??0SnmpV1EncodeDecode@@QEAA@XZ
+; public: __cdecl SnmpV1OverIp::SnmpV1OverIp(char const * __ptr64,unsigned long,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
+??0SnmpV1OverIp@@QEAA@PEBDK0KKKK@Z
+; public: __cdecl SnmpV1OverIpx::SnmpV1OverIpx(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
+??0SnmpV1OverIpx@@QEAA@PEBD0KKKK@Z
+; public: __cdecl SnmpV2CEncodeDecode::SnmpV2CEncodeDecode(class SnmpV2CEncodeDecode const & __ptr64) __ptr64
+??0SnmpV2CEncodeDecode@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpV2CEncodeDecode::SnmpV2CEncodeDecode(void) __ptr64
+??0SnmpV2CEncodeDecode@@QEAA@XZ
+; public: __cdecl SnmpV2COverIp::SnmpV2COverIp(char const * __ptr64,unsigned long,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
+??0SnmpV2COverIp@@QEAA@PEBDK0KKKK@Z
+; public: __cdecl SnmpV2COverIpx::SnmpV2COverIpx(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
+??0SnmpV2COverIpx@@QEAA@PEBD0KKKK@Z
+; private: __cdecl SnmpValue::SnmpValue(class SnmpValue const & __ptr64) __ptr64
+??0SnmpValue@@AEAA@AEBV0@@Z
+; protected: __cdecl SnmpValue::SnmpValue(void) __ptr64
+??0SnmpValue@@IEAA@XZ
+; public: __cdecl SnmpVarBind::SnmpVarBind(class SnmpVarBind const & __ptr64) __ptr64
+??0SnmpVarBind@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpVarBind::SnmpVarBind(class SnmpObjectIdentifier const & __ptr64,class SnmpValue const & __ptr64) __ptr64
+??0SnmpVarBind@@QEAA@AEBVSnmpObjectIdentifier@@AEBVSnmpValue@@@Z
+; public: __cdecl SnmpVarBindList::SnmpVarBindList(class SnmpVarBindList & __ptr64) __ptr64
+??0SnmpVarBindList@@QEAA@AEAV0@@Z
+; public: __cdecl SnmpVarBindList::SnmpVarBindList(void) __ptr64
+??0SnmpVarBindList@@QEAA@XZ
+; public: __cdecl SnmpVarBindListNode::SnmpVarBindListNode(class SnmpVarBind & __ptr64) __ptr64
+??0SnmpVarBindListNode@@QEAA@AEAVSnmpVarBind@@@Z
+; public: __cdecl SnmpVarBindListNode::SnmpVarBindListNode(class SnmpVarBind const & __ptr64) __ptr64
+??0SnmpVarBindListNode@@QEAA@AEBVSnmpVarBind@@@Z
+; public: __cdecl SnmpVarBindListNode::SnmpVarBindListNode(class SnmpVarBind const * __ptr64) __ptr64
+??0SnmpVarBindListNode@@QEAA@PEBVSnmpVarBind@@@Z
+; public: __cdecl CBString::~CBString(void) __ptr64
+??1CBString@@QEAA@XZ
+; public: virtual __cdecl GeneralException::~GeneralException(void) __ptr64
+??1GeneralException@@UEAA@XZ
+; public: virtual __cdecl GetNextOperation::~GetNextOperation(void) __ptr64
+??1GetNextOperation@@UEAA@XZ
+; public: virtual __cdecl SnmpAnalyser::~SnmpAnalyser(void) __ptr64
+??1SnmpAnalyser@@UEAA@XZ
+; public: virtual __cdecl SnmpAutoRetrieveOperation::~SnmpAutoRetrieveOperation(void) __ptr64
+??1SnmpAutoRetrieveOperation@@UEAA@XZ
+; public: virtual __cdecl SnmpBitStringType::~SnmpBitStringType(void) __ptr64
+??1SnmpBitStringType@@UEAA@XZ
+; public: virtual __cdecl SnmpClassLibrary::~SnmpClassLibrary(void) __ptr64
+??1SnmpClassLibrary@@UEAA@XZ
+; public: virtual __cdecl SnmpCommunityBasedSecurity::~SnmpCommunityBasedSecurity(void) __ptr64
+??1SnmpCommunityBasedSecurity@@UEAA@XZ
+; public: virtual __cdecl SnmpCounter64::~SnmpCounter64(void) __ptr64
+??1SnmpCounter64@@UEAA@XZ
+; public: virtual __cdecl SnmpCounter64Type::~SnmpCounter64Type(void) __ptr64
+??1SnmpCounter64Type@@UEAA@XZ
+; public: virtual __cdecl SnmpCounter::~SnmpCounter(void) __ptr64
+??1SnmpCounter@@UEAA@XZ
+; public: virtual __cdecl SnmpCounterType::~SnmpCounterType(void) __ptr64
+??1SnmpCounterType@@UEAA@XZ
+; public: virtual __cdecl SnmpDateTimeType::~SnmpDateTimeType(void) __ptr64
+??1SnmpDateTimeType@@UEAA@XZ
+; public: virtual __cdecl SnmpDisplayStringType::~SnmpDisplayStringType(void) __ptr64
+??1SnmpDisplayStringType@@UEAA@XZ
+; public: virtual __cdecl SnmpEncodeDecode::~SnmpEncodeDecode(void) __ptr64
+??1SnmpEncodeDecode@@UEAA@XZ
+; public: virtual __cdecl SnmpEndOfMibView::~SnmpEndOfMibView(void) __ptr64
+??1SnmpEndOfMibView@@UEAA@XZ
+; public: virtual __cdecl SnmpEnumeratedType::~SnmpEnumeratedType(void) __ptr64
+??1SnmpEnumeratedType@@UEAA@XZ
+; public: virtual __cdecl SnmpErrorReport::~SnmpErrorReport(void) __ptr64
+??1SnmpErrorReport@@UEAA@XZ
+; public: virtual __cdecl SnmpFixedLengthDisplayStringType::~SnmpFixedLengthDisplayStringType(void) __ptr64
+??1SnmpFixedLengthDisplayStringType@@UEAA@XZ
+; public: virtual __cdecl SnmpFixedLengthOctetStringType::~SnmpFixedLengthOctetStringType(void) __ptr64
+??1SnmpFixedLengthOctetStringType@@UEAA@XZ
+; public: virtual __cdecl SnmpFixedLengthOpaqueType::~SnmpFixedLengthOpaqueType(void) __ptr64
+??1SnmpFixedLengthOpaqueType@@UEAA@XZ
+; public: virtual __cdecl SnmpFixedLengthPhysAddressType::~SnmpFixedLengthPhysAddressType(void) __ptr64
+??1SnmpFixedLengthPhysAddressType@@UEAA@XZ
+; public: virtual __cdecl SnmpFixedType::~SnmpFixedType(void) __ptr64
+??1SnmpFixedType@@UEAA@XZ
+; public: virtual __cdecl SnmpGauge::~SnmpGauge(void) __ptr64
+??1SnmpGauge@@UEAA@XZ
+; public: virtual __cdecl SnmpGaugeType::~SnmpGaugeType(void) __ptr64
+??1SnmpGaugeType@@UEAA@XZ
+; public: virtual __cdecl SnmpGetNextOperation::~SnmpGetNextOperation(void) __ptr64
+??1SnmpGetNextOperation@@UEAA@XZ
+; public: virtual __cdecl SnmpGetOperation::~SnmpGetOperation(void) __ptr64
+??1SnmpGetOperation@@UEAA@XZ
+; public: virtual __cdecl SnmpIPXAddressType::~SnmpIPXAddressType(void) __ptr64
+??1SnmpIPXAddressType@@UEAA@XZ
+; public: virtual __cdecl SnmpImpSession::~SnmpImpSession(void) __ptr64
+??1SnmpImpSession@@UEAA@XZ
+; public: virtual __cdecl SnmpImpTransport::~SnmpImpTransport(void) __ptr64
+??1SnmpImpTransport@@UEAA@XZ
+; public: virtual __cdecl SnmpInstanceType::~SnmpInstanceType(void) __ptr64
+??1SnmpInstanceType@@UEAA@XZ
+; public: virtual __cdecl SnmpInteger::~SnmpInteger(void) __ptr64
+??1SnmpInteger@@UEAA@XZ
+; public: virtual __cdecl SnmpIntegerType::~SnmpIntegerType(void) __ptr64
+??1SnmpIntegerType@@UEAA@XZ
+; public: virtual __cdecl SnmpIpAddress::~SnmpIpAddress(void) __ptr64
+??1SnmpIpAddress@@UEAA@XZ
+; public: virtual __cdecl SnmpIpAddressType::~SnmpIpAddressType(void) __ptr64
+??1SnmpIpAddressType@@UEAA@XZ
+; public: virtual __cdecl SnmpIpxImp::~SnmpIpxImp(void) __ptr64
+??1SnmpIpxImp@@UEAA@XZ
+; public: virtual __cdecl SnmpIpxTransport::~SnmpIpxTransport(void) __ptr64
+??1SnmpIpxTransport@@UEAA@XZ
+; public: __cdecl SnmpLexicon::~SnmpLexicon(void) __ptr64
+??1SnmpLexicon@@QEAA@XZ
+; public: virtual __cdecl SnmpMacAddressType::~SnmpMacAddressType(void) __ptr64
+??1SnmpMacAddressType@@UEAA@XZ
+; public: virtual __cdecl SnmpNegativeRangeType::~SnmpNegativeRangeType(void) __ptr64
+??1SnmpNegativeRangeType@@UEAA@XZ
+; public: virtual __cdecl SnmpNetworkAddressType::~SnmpNetworkAddressType(void) __ptr64
+??1SnmpNetworkAddressType@@UEAA@XZ
+; public: virtual __cdecl SnmpNoSuchInstance::~SnmpNoSuchInstance(void) __ptr64
+??1SnmpNoSuchInstance@@UEAA@XZ
+; public: virtual __cdecl SnmpNoSuchObject::~SnmpNoSuchObject(void) __ptr64
+??1SnmpNoSuchObject@@UEAA@XZ
+; public: virtual __cdecl SnmpNull::~SnmpNull(void) __ptr64
+??1SnmpNull@@UEAA@XZ
+; public: virtual __cdecl SnmpNullType::~SnmpNullType(void) __ptr64
+??1SnmpNullType@@UEAA@XZ
+; public: virtual __cdecl SnmpOSIAddressType::~SnmpOSIAddressType(void) __ptr64
+??1SnmpOSIAddressType@@UEAA@XZ
+; public: virtual __cdecl SnmpObjectIdentifier::~SnmpObjectIdentifier(void) __ptr64
+??1SnmpObjectIdentifier@@UEAA@XZ
+; public: virtual __cdecl SnmpObjectIdentifierType::~SnmpObjectIdentifierType(void) __ptr64
+??1SnmpObjectIdentifierType@@UEAA@XZ
+; public: virtual __cdecl SnmpOctetString::~SnmpOctetString(void) __ptr64
+??1SnmpOctetString@@UEAA@XZ
+; public: virtual __cdecl SnmpOctetStringType::~SnmpOctetStringType(void) __ptr64
+??1SnmpOctetStringType@@UEAA@XZ
+; public: virtual __cdecl SnmpOpaque::~SnmpOpaque(void) __ptr64
+??1SnmpOpaque@@UEAA@XZ
+; public: virtual __cdecl SnmpOpaqueType::~SnmpOpaqueType(void) __ptr64
+??1SnmpOpaqueType@@UEAA@XZ
+; public: virtual __cdecl SnmpOperation::~SnmpOperation(void) __ptr64
+??1SnmpOperation@@UEAA@XZ
+; public: virtual __cdecl SnmpPdu::~SnmpPdu(void) __ptr64
+??1SnmpPdu@@UEAA@XZ
+; public: virtual __cdecl SnmpPhysAddressType::~SnmpPhysAddressType(void) __ptr64
+??1SnmpPhysAddressType@@UEAA@XZ
+; public: virtual __cdecl SnmpPositiveRangeType::~SnmpPositiveRangeType(void) __ptr64
+??1SnmpPositiveRangeType@@UEAA@XZ
+; public: virtual __cdecl SnmpPositiveRangedType::~SnmpPositiveRangedType(void) __ptr64
+??1SnmpPositiveRangedType@@UEAA@XZ
+; public: virtual __cdecl SnmpRowStatusType::~SnmpRowStatusType(void) __ptr64
+??1SnmpRowStatusType@@UEAA@XZ
+; public: virtual __cdecl SnmpSecurity::~SnmpSecurity(void) __ptr64
+??1SnmpSecurity@@UEAA@XZ
+; public: virtual __cdecl SnmpSession::~SnmpSession(void) __ptr64
+??1SnmpSession@@UEAA@XZ
+; public: virtual __cdecl SnmpSetOperation::~SnmpSetOperation(void) __ptr64
+??1SnmpSetOperation@@UEAA@XZ
+; public: virtual __cdecl SnmpTimeTicks::~SnmpTimeTicks(void) __ptr64
+??1SnmpTimeTicks@@UEAA@XZ
+; public: virtual __cdecl SnmpTimeTicksType::~SnmpTimeTicksType(void) __ptr64
+??1SnmpTimeTicksType@@UEAA@XZ
+; public: virtual __cdecl SnmpTransport::~SnmpTransport(void) __ptr64
+??1SnmpTransport@@UEAA@XZ
+; public: virtual __cdecl SnmpTransportAddress::~SnmpTransportAddress(void) __ptr64
+??1SnmpTransportAddress@@UEAA@XZ
+; public: virtual __cdecl SnmpTransportIpAddress::~SnmpTransportIpAddress(void) __ptr64
+??1SnmpTransportIpAddress@@UEAA@XZ
+; public: virtual __cdecl SnmpTransportIpxAddress::~SnmpTransportIpxAddress(void) __ptr64
+??1SnmpTransportIpxAddress@@UEAA@XZ
+; public: __cdecl SnmpTrapReceiver::~SnmpTrapReceiver(void) __ptr64
+??1SnmpTrapReceiver@@QEAA@XZ
+; public: virtual __cdecl SnmpUDPAddressType::~SnmpUDPAddressType(void) __ptr64
+??1SnmpUDPAddressType@@UEAA@XZ
+; public: virtual __cdecl SnmpUInteger32::~SnmpUInteger32(void) __ptr64
+??1SnmpUInteger32@@UEAA@XZ
+; public: virtual __cdecl SnmpUInteger32Type::~SnmpUInteger32Type(void) __ptr64
+??1SnmpUInteger32Type@@UEAA@XZ
+; public: virtual __cdecl SnmpUdpIpImp::~SnmpUdpIpImp(void) __ptr64
+??1SnmpUdpIpImp@@UEAA@XZ
+; public: virtual __cdecl SnmpUdpIpTransport::~SnmpUdpIpTransport(void) __ptr64
+??1SnmpUdpIpTransport@@UEAA@XZ
+; public: virtual __cdecl SnmpV1EncodeDecode::~SnmpV1EncodeDecode(void) __ptr64
+??1SnmpV1EncodeDecode@@UEAA@XZ
+; public: virtual __cdecl SnmpV1OverIp::~SnmpV1OverIp(void) __ptr64
+??1SnmpV1OverIp@@UEAA@XZ
+; public: virtual __cdecl SnmpV1OverIpx::~SnmpV1OverIpx(void) __ptr64
+??1SnmpV1OverIpx@@UEAA@XZ
+; public: virtual __cdecl SnmpV2CEncodeDecode::~SnmpV2CEncodeDecode(void) __ptr64
+??1SnmpV2CEncodeDecode@@UEAA@XZ
+; public: virtual __cdecl SnmpV2COverIp::~SnmpV2COverIp(void) __ptr64
+??1SnmpV2COverIp@@UEAA@XZ
+; public: virtual __cdecl SnmpV2COverIpx::~SnmpV2COverIpx(void) __ptr64
+??1SnmpV2COverIpx@@UEAA@XZ
+; public: virtual __cdecl SnmpValue::~SnmpValue(void) __ptr64
+??1SnmpValue@@UEAA@XZ
+; public: virtual __cdecl SnmpVarBind::~SnmpVarBind(void) __ptr64
+??1SnmpVarBind@@UEAA@XZ
+; public: __cdecl SnmpVarBindList::~SnmpVarBindList(void) __ptr64
+??1SnmpVarBindList@@QEAA@XZ
+; public: __cdecl SnmpVarBindListNode::~SnmpVarBindListNode(void) __ptr64
+??1SnmpVarBindListNode@@QEAA@XZ
+; public: class CBString & __ptr64 __cdecl CBString::operator=(class CBString const & __ptr64) __ptr64
+??4CBString@@QEAAAEAV0@AEBV0@@Z
+; public: class CBString const & __ptr64 __cdecl CBString::operator=(unsigned short * __ptr64) __ptr64
+??4CBString@@QEAAAEBV0@PEAG@Z
+; public: class GeneralException & __ptr64 __cdecl GeneralException::operator=(class GeneralException const & __ptr64) __ptr64
+??4GeneralException@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpAnalyser & __ptr64 __cdecl SnmpAnalyser::operator=(class SnmpAnalyser const & __ptr64) __ptr64
+??4SnmpAnalyser@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpAutoRetrieveOperation & __ptr64 __cdecl SnmpAutoRetrieveOperation::operator=(class SnmpAutoRetrieveOperation const & __ptr64) __ptr64
+??4SnmpAutoRetrieveOperation@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpBitStringType & __ptr64 __cdecl SnmpBitStringType::operator=(class SnmpBitStringType const & __ptr64) __ptr64
+??4SnmpBitStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpClassLibrary & __ptr64 __cdecl SnmpClassLibrary::operator=(class SnmpClassLibrary const & __ptr64) __ptr64
+??4SnmpClassLibrary@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpCommunityBasedSecurity & __ptr64 __cdecl SnmpCommunityBasedSecurity::operator=(class SnmpCommunityBasedSecurity const & __ptr64) __ptr64
+??4SnmpCommunityBasedSecurity@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpCounter64::operator=(class SnmpCounter64 const & __ptr64) __ptr64
+??4SnmpCounter64@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpCounter64Type & __ptr64 __cdecl SnmpCounter64Type::operator=(class SnmpCounter64Type const & __ptr64) __ptr64
+??4SnmpCounter64Type@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpCounter::operator=(class SnmpCounter const & __ptr64) __ptr64
+??4SnmpCounter@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpCounterType & __ptr64 __cdecl SnmpCounterType::operator=(class SnmpCounterType const & __ptr64) __ptr64
+??4SnmpCounterType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpDateTimeType & __ptr64 __cdecl SnmpDateTimeType::operator=(class SnmpDateTimeType const & __ptr64) __ptr64
+??4SnmpDateTimeType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpDisplayStringType & __ptr64 __cdecl SnmpDisplayStringType::operator=(class SnmpDisplayStringType const & __ptr64) __ptr64
+??4SnmpDisplayStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpEncodeDecode & __ptr64 __cdecl SnmpEncodeDecode::operator=(class SnmpEncodeDecode const & __ptr64) __ptr64
+??4SnmpEncodeDecode@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpEndOfMibView::operator=(class SnmpEndOfMibView const & __ptr64) __ptr64
+??4SnmpEndOfMibView@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpEnumeratedType & __ptr64 __cdecl SnmpEnumeratedType::operator=(class SnmpEnumeratedType const & __ptr64) __ptr64
+??4SnmpEnumeratedType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpErrorReport & __ptr64 __cdecl SnmpErrorReport::operator=(class SnmpErrorReport const & __ptr64) __ptr64
+??4SnmpErrorReport@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpFixedLengthDisplayStringType & __ptr64 __cdecl SnmpFixedLengthDisplayStringType::operator=(class SnmpFixedLengthDisplayStringType const & __ptr64) __ptr64
+??4SnmpFixedLengthDisplayStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpFixedLengthOctetStringType & __ptr64 __cdecl SnmpFixedLengthOctetStringType::operator=(class SnmpFixedLengthOctetStringType const & __ptr64) __ptr64
+??4SnmpFixedLengthOctetStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpFixedLengthOpaqueType & __ptr64 __cdecl SnmpFixedLengthOpaqueType::operator=(class SnmpFixedLengthOpaqueType const & __ptr64) __ptr64
+??4SnmpFixedLengthOpaqueType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpFixedLengthPhysAddressType & __ptr64 __cdecl SnmpFixedLengthPhysAddressType::operator=(class SnmpFixedLengthPhysAddressType const & __ptr64) __ptr64
+??4SnmpFixedLengthPhysAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpFixedType & __ptr64 __cdecl SnmpFixedType::operator=(class SnmpFixedType const & __ptr64) __ptr64
+??4SnmpFixedType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpGauge::operator=(class SnmpGauge const & __ptr64) __ptr64
+??4SnmpGauge@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpGaugeType & __ptr64 __cdecl SnmpGaugeType::operator=(class SnmpGaugeType const & __ptr64) __ptr64
+??4SnmpGaugeType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpIPXAddressType & __ptr64 __cdecl SnmpIPXAddressType::operator=(class SnmpIPXAddressType const & __ptr64) __ptr64
+??4SnmpIPXAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpInstanceType & __ptr64 __cdecl SnmpInstanceType::operator=(class SnmpInstanceType const & __ptr64) __ptr64
+??4SnmpInstanceType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpInteger::operator=(class SnmpInteger const & __ptr64) __ptr64
+??4SnmpInteger@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpIntegerType & __ptr64 __cdecl SnmpIntegerType::operator=(class SnmpIntegerType const & __ptr64) __ptr64
+??4SnmpIntegerType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpIpAddress::operator=(class SnmpIpAddress const & __ptr64) __ptr64
+??4SnmpIpAddress@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpIpAddressType & __ptr64 __cdecl SnmpIpAddressType::operator=(class SnmpIpAddressType const & __ptr64) __ptr64
+??4SnmpIpAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpLexicon & __ptr64 __cdecl SnmpLexicon::operator=(class SnmpLexicon const & __ptr64) __ptr64
+??4SnmpLexicon@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpMacAddressType & __ptr64 __cdecl SnmpMacAddressType::operator=(class SnmpMacAddressType const & __ptr64) __ptr64
+??4SnmpMacAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpNegativeRangeType & __ptr64 __cdecl SnmpNegativeRangeType::operator=(class SnmpNegativeRangeType const & __ptr64) __ptr64
+??4SnmpNegativeRangeType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpNetworkAddressType & __ptr64 __cdecl SnmpNetworkAddressType::operator=(class SnmpNetworkAddressType const & __ptr64) __ptr64
+??4SnmpNetworkAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpNoSuchInstance::operator=(class SnmpNoSuchInstance const & __ptr64) __ptr64
+??4SnmpNoSuchInstance@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpNoSuchObject::operator=(class SnmpNoSuchObject const & __ptr64) __ptr64
+??4SnmpNoSuchObject@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpNull::operator=(class SnmpNull const & __ptr64) __ptr64
+??4SnmpNull@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpNullType & __ptr64 __cdecl SnmpNullType::operator=(class SnmpNullType const & __ptr64) __ptr64
+??4SnmpNullType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpOSIAddressType & __ptr64 __cdecl SnmpOSIAddressType::operator=(class SnmpOSIAddressType const & __ptr64) __ptr64
+??4SnmpOSIAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpObjectIdentifier::operator=(class SnmpObjectIdentifier const & __ptr64) __ptr64
+??4SnmpObjectIdentifier@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpObjectIdentifierType & __ptr64 __cdecl SnmpObjectIdentifierType::operator=(class SnmpObjectIdentifierType const & __ptr64) __ptr64
+??4SnmpObjectIdentifierType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpOctetString::operator=(class SnmpOctetString const & __ptr64) __ptr64
+??4SnmpOctetString@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpOctetStringType & __ptr64 __cdecl SnmpOctetStringType::operator=(class SnmpOctetStringType const & __ptr64) __ptr64
+??4SnmpOctetStringType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpOpaque::operator=(class SnmpOpaque const & __ptr64) __ptr64
+??4SnmpOpaque@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpOpaqueType & __ptr64 __cdecl SnmpOpaqueType::operator=(class SnmpOpaqueType const & __ptr64) __ptr64
+??4SnmpOpaqueType@@QEAAAEAV0@AEBV0@@Z
+; private: class SnmpOperation & __ptr64 __cdecl SnmpOperation::operator=(class SnmpOperation const & __ptr64) __ptr64
+??4SnmpOperation@@AEAAAEAV0@AEBV0@@Z
+; public: class SnmpPdu & __ptr64 __cdecl SnmpPdu::operator=(class SnmpPdu const & __ptr64) __ptr64
+??4SnmpPdu@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpPhysAddressType & __ptr64 __cdecl SnmpPhysAddressType::operator=(class SnmpPhysAddressType const & __ptr64) __ptr64
+??4SnmpPhysAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpPositiveRangeType & __ptr64 __cdecl SnmpPositiveRangeType::operator=(class SnmpPositiveRangeType const & __ptr64) __ptr64
+??4SnmpPositiveRangeType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpPositiveRangedType & __ptr64 __cdecl SnmpPositiveRangedType::operator=(class SnmpPositiveRangedType const & __ptr64) __ptr64
+??4SnmpPositiveRangedType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpRowStatusType & __ptr64 __cdecl SnmpRowStatusType::operator=(class SnmpRowStatusType const & __ptr64) __ptr64
+??4SnmpRowStatusType@@QEAAAEAV0@AEBV0@@Z
+; private: class SnmpSecurity & __ptr64 __cdecl SnmpSecurity::operator=(class SnmpSecurity const & __ptr64) __ptr64
+??4SnmpSecurity@@AEAAAEAV0@AEBV0@@Z
+; private: class SnmpSession & __ptr64 __cdecl SnmpSession::operator=(class SnmpSession const & __ptr64) __ptr64
+??4SnmpSession@@AEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpTimeTicks::operator=(class SnmpTimeTicks const & __ptr64) __ptr64
+??4SnmpTimeTicks@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpTimeTicksType & __ptr64 __cdecl SnmpTimeTicksType::operator=(class SnmpTimeTicksType const & __ptr64) __ptr64
+??4SnmpTimeTicksType@@QEAAAEAV0@AEBV0@@Z
+; private: class SnmpTransport & __ptr64 __cdecl SnmpTransport::operator=(class SnmpTransport const & __ptr64) __ptr64
+??4SnmpTransport@@AEAAAEAV0@AEBV0@@Z
+; private: class SnmpTransportAddress & __ptr64 __cdecl SnmpTransportAddress::operator=(class SnmpTransportAddress const & __ptr64) __ptr64
+??4SnmpTransportAddress@@AEAAAEAV0@AEBV0@@Z
+; public: class SnmpTransportIpAddress & __ptr64 __cdecl SnmpTransportIpAddress::operator=(class SnmpTransportIpAddress const & __ptr64) __ptr64
+??4SnmpTransportIpAddress@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpTransportIpAddress & __ptr64 __cdecl SnmpTransportIpAddress::operator=(unsigned char const * __ptr64) __ptr64
+??4SnmpTransportIpAddress@@QEAAAEAV0@PEBE@Z
+; public: class SnmpTransportIpxAddress & __ptr64 __cdecl SnmpTransportIpxAddress::operator=(class SnmpTransportIpxAddress const & __ptr64) __ptr64
+??4SnmpTransportIpxAddress@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpTransportIpxAddress & __ptr64 __cdecl SnmpTransportIpxAddress::operator=(unsigned char const * __ptr64) __ptr64
+??4SnmpTransportIpxAddress@@QEAAAEAV0@PEBE@Z
+; public: class SnmpTrapReceiver & __ptr64 __cdecl SnmpTrapReceiver::operator=(class SnmpTrapReceiver const & __ptr64) __ptr64
+??4SnmpTrapReceiver@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpUDPAddressType & __ptr64 __cdecl SnmpUDPAddressType::operator=(class SnmpUDPAddressType const & __ptr64) __ptr64
+??4SnmpUDPAddressType@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpValue & __ptr64 __cdecl SnmpUInteger32::operator=(class SnmpUInteger32 const & __ptr64) __ptr64
+??4SnmpUInteger32@@QEAAAEAVSnmpValue@@AEBV0@@Z
+; public: class SnmpUInteger32Type & __ptr64 __cdecl SnmpUInteger32Type::operator=(class SnmpUInteger32Type const & __ptr64) __ptr64
+??4SnmpUInteger32Type@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpV1EncodeDecode & __ptr64 __cdecl SnmpV1EncodeDecode::operator=(class SnmpV1EncodeDecode const & __ptr64) __ptr64
+??4SnmpV1EncodeDecode@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpV2CEncodeDecode & __ptr64 __cdecl SnmpV2CEncodeDecode::operator=(class SnmpV2CEncodeDecode const & __ptr64) __ptr64
+??4SnmpV2CEncodeDecode@@QEAAAEAV0@AEBV0@@Z
+; private: class SnmpValue & __ptr64 __cdecl SnmpValue::operator=(class SnmpValue const & __ptr64) __ptr64
+??4SnmpValue@@AEAAAEAV0@AEBV0@@Z
+; public: class SnmpVarBind & __ptr64 __cdecl SnmpVarBind::operator=(class SnmpVarBind const & __ptr64) __ptr64
+??4SnmpVarBind@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpVarBindList & __ptr64 __cdecl SnmpVarBindList::operator=(class SnmpVarBindList & __ptr64) __ptr64
+??4SnmpVarBindList@@QEAAAEAV0@AEAV0@@Z
+; public: class SnmpVarBindListNode & __ptr64 __cdecl SnmpVarBindListNode::operator=(class SnmpVarBindListNode const & __ptr64) __ptr64
+??4SnmpVarBindListNode@@QEAAAEAV0@AEBV0@@Z
+; public: int __cdecl SnmpInstanceType::operator==(class SnmpInstanceType const & __ptr64)const  __ptr64
+??8SnmpInstanceType@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpObjectIdentifier::operator==(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+??8SnmpObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpTransportIpAddress::operator==(class SnmpTransportIpAddress const & __ptr64)const  __ptr64
+??8SnmpTransportIpAddress@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpTransportIpxAddress::operator==(class SnmpTransportIpxAddress const & __ptr64)const  __ptr64
+??8SnmpTransportIpxAddress@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpValue::operator==(class SnmpValue const & __ptr64)const  __ptr64
+??8SnmpValue@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpInstanceType::operator!=(class SnmpInstanceType const & __ptr64)const  __ptr64
+??9SnmpInstanceType@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpObjectIdentifier::operator!=(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+??9SnmpObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpTransportIpAddress::operator!=(class SnmpTransportIpAddress const & __ptr64)const  __ptr64
+??9SnmpTransportIpAddress@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpTransportIpxAddress::operator!=(class SnmpTransportIpxAddress const & __ptr64)const  __ptr64
+??9SnmpTransportIpxAddress@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpValue::operator!=(class SnmpValue const & __ptr64)const  __ptr64
+??9SnmpValue@@QEBAHAEBV0@@Z
+; public: unsigned long & __ptr64 __cdecl SnmpObjectIdentifier::operator[](unsigned long)const  __ptr64
+??ASnmpObjectIdentifier@@QEBAAEAKK@Z
+; public: virtual unsigned char __cdecl SnmpTransportIpAddress::operator[](unsigned short)const  __ptr64
+??ASnmpTransportIpAddress@@UEBAEG@Z
+; public: virtual unsigned char __cdecl SnmpTransportIpxAddress::operator[](unsigned short)const  __ptr64
+??ASnmpTransportIpxAddress@@UEBAEG@Z
+; public: class SnmpVarBind * __ptr64 __cdecl SnmpVarBindList::operator[](unsigned int) __ptr64
+??ASnmpVarBindList@@QEAAPEAVSnmpVarBind@@I@Z
+; public: virtual __cdecl SnmpAnalyser::operator void * __ptr64(void) __ptr64
+??BSnmpAnalyser@@UEAAPEAXXZ
+; public: virtual __cdecl SnmpCommunityBasedSecurity::operator void * __ptr64(void)const  __ptr64
+??BSnmpCommunityBasedSecurity@@UEBAPEAXXZ
+; public: __cdecl SnmpErrorReport::operator void * __ptr64(void)const  __ptr64
+??BSnmpErrorReport@@QEBAPEAXXZ
+; public: __cdecl SnmpImpSession::operator void * __ptr64(void)const  __ptr64
+??BSnmpImpSession@@QEBAPEAXXZ
+; public: virtual __cdecl SnmpInstanceType::operator void * __ptr64(void) __ptr64
+??BSnmpInstanceType@@UEAAPEAXXZ
+; public: __cdecl SnmpOperation::operator void * __ptr64(void)const  __ptr64
+??BSnmpOperation@@QEBAPEAXXZ
+; public: __cdecl SnmpPdu::operator void * __ptr64(void)const  __ptr64
+??BSnmpPdu@@QEBAPEAXXZ
+; public: virtual __cdecl SnmpPositiveRangedType::operator void * __ptr64(void) __ptr64
+??BSnmpPositiveRangedType@@UEAAPEAXXZ
+; public: virtual __cdecl SnmpTransportIpAddress::operator void * __ptr64(void)const  __ptr64
+??BSnmpTransportIpAddress@@UEBAPEAXXZ
+; public: virtual __cdecl SnmpTransportIpxAddress::operator void * __ptr64(void)const  __ptr64
+??BSnmpTransportIpxAddress@@UEBAPEAXXZ
+; public: class SnmpObjectIdentifier  __cdecl SnmpObjectIdentifier::operator+(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+??HSnmpObjectIdentifier@@QEBA?AV0@AEBV0@@Z
+; public: int __cdecl SnmpObjectIdentifier::operator<(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+??MSnmpObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpObjectIdentifier::operator<=(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+??NSnmpObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpObjectIdentifier::operator>(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+??OSnmpObjectIdentifier@@QEBAHAEBV0@@Z
+; public: int __cdecl SnmpObjectIdentifier::operator>=(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+??PSnmpObjectIdentifier@@QEBAHAEBV0@@Z
+; public: virtual void * __ptr64 __cdecl SnmpCommunityBasedSecurity::operator()(void)const  __ptr64
+??RSnmpCommunityBasedSecurity@@UEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpEncodeDecode::operator()(void)const  __ptr64
+??RSnmpEncodeDecode@@UEBAPEAXXZ
+; public: void * __ptr64 __cdecl SnmpErrorReport::operator()(void)const  __ptr64
+??RSnmpErrorReport@@QEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpImpSession::operator()(void)const  __ptr64
+??RSnmpImpSession@@UEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpImpTransport::operator()(void)const  __ptr64
+??RSnmpImpTransport@@UEBAPEAXXZ
+; public: void * __ptr64 __cdecl SnmpIpAddress::operator()(void)const  __ptr64
+??RSnmpIpAddress@@QEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpIpxImp::operator()(void)const  __ptr64
+??RSnmpIpxImp@@UEBAPEAXXZ
+; public: void * __ptr64 __cdecl SnmpObjectIdentifier::operator()(void)const  __ptr64
+??RSnmpObjectIdentifier@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl SnmpOctetString::operator()(void)const  __ptr64
+??RSnmpOctetString@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl SnmpOpaque::operator()(void)const  __ptr64
+??RSnmpOpaque@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl SnmpOperation::operator()(void)const  __ptr64
+??RSnmpOperation@@QEBAPEAXXZ
+; public: void * __ptr64 __cdecl SnmpPdu::operator()(void)const  __ptr64
+??RSnmpPdu@@QEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpTransportIpAddress::operator()(void)const  __ptr64
+??RSnmpTransportIpAddress@@UEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpTransportIpxAddress::operator()(void)const  __ptr64
+??RSnmpTransportIpxAddress@@UEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpUdpIpImp::operator()(void)const  __ptr64
+??RSnmpUdpIpImp@@UEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpV1OverIp::operator()(void)const  __ptr64
+??RSnmpV1OverIp@@UEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpV1OverIpx::operator()(void)const  __ptr64
+??RSnmpV1OverIpx@@UEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpV2COverIp::operator()(void)const  __ptr64
+??RSnmpV2COverIp@@UEBAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpV2COverIpx::operator()(void)const  __ptr64
+??RSnmpV2COverIpx@@UEBAPEAXXZ
+; const  GeneralException::`vftable'
+??_7GeneralException@@6B@
+; const  GetNextOperation::`vftable'
+??_7GetNextOperation@@6B@
+; const  SnmpAnalyser::`vftable'
+??_7SnmpAnalyser@@6B@
+; const  SnmpAutoRetrieveOperation::`vftable'
+??_7SnmpAutoRetrieveOperation@@6B@
+; const  SnmpBitStringType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpBitStringType@@6BSnmpInstanceType@@@
+; const  SnmpBitStringType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpBitStringType@@6BSnmpPositiveRangedType@@@
+; const  SnmpClassLibrary::`vftable'
+??_7SnmpClassLibrary@@6B@
+; const  SnmpCommunityBasedSecurity::`vftable'
+??_7SnmpCommunityBasedSecurity@@6B@
+; const  SnmpCounter64::`vftable'
+??_7SnmpCounter64@@6B@
+; const  SnmpCounter64Type::`vftable'
+??_7SnmpCounter64Type@@6B@
+; const  SnmpCounter::`vftable'
+??_7SnmpCounter@@6B@
+; const  SnmpCounterType::`vftable'
+??_7SnmpCounterType@@6B@
+; const  SnmpDateTimeType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpDateTimeType@@6BSnmpInstanceType@@@
+; const  SnmpDateTimeType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpDateTimeType@@6BSnmpPositiveRangedType@@@
+; const  SnmpDisplayStringType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpDisplayStringType@@6BSnmpInstanceType@@@
+; const  SnmpDisplayStringType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpDisplayStringType@@6BSnmpPositiveRangedType@@@
+; const  SnmpEncodeDecode::`vftable'
+??_7SnmpEncodeDecode@@6B@
+; const  SnmpEndOfMibView::`vftable'
+??_7SnmpEndOfMibView@@6B@
+; const  SnmpEnumeratedType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpEnumeratedType@@6BSnmpInstanceType@@@
+; const  SnmpEnumeratedType::`vftable'{for `SnmpNegativeRangedType'}
+??_7SnmpEnumeratedType@@6BSnmpNegativeRangedType@@@
+; const  SnmpErrorReport::`vftable'
+??_7SnmpErrorReport@@6B@
+; const  SnmpFixedLengthDisplayStringType::`vftable'
+??_7SnmpFixedLengthDisplayStringType@@6B@
+; const  SnmpFixedLengthDisplayStringType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpFixedLengthDisplayStringType@@6BSnmpInstanceType@@@
+; const  SnmpFixedLengthDisplayStringType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpFixedLengthDisplayStringType@@6BSnmpPositiveRangedType@@@
+; const  SnmpFixedLengthOctetStringType::`vftable'
+??_7SnmpFixedLengthOctetStringType@@6B@
+; const  SnmpFixedLengthOctetStringType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpFixedLengthOctetStringType@@6BSnmpInstanceType@@@
+; const  SnmpFixedLengthOctetStringType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpFixedLengthOctetStringType@@6BSnmpPositiveRangedType@@@
+; const  SnmpFixedLengthOpaqueType::`vftable'
+??_7SnmpFixedLengthOpaqueType@@6B@
+; const  SnmpFixedLengthOpaqueType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpFixedLengthOpaqueType@@6BSnmpInstanceType@@@
+; const  SnmpFixedLengthOpaqueType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpFixedLengthOpaqueType@@6BSnmpPositiveRangedType@@@
+; const  SnmpFixedLengthPhysAddressType::`vftable'
+??_7SnmpFixedLengthPhysAddressType@@6B@
+; const  SnmpFixedLengthPhysAddressType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpFixedLengthPhysAddressType@@6BSnmpInstanceType@@@
+; const  SnmpFixedLengthPhysAddressType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpFixedLengthPhysAddressType@@6BSnmpPositiveRangedType@@@
+; const  SnmpFixedType::`vftable'
+??_7SnmpFixedType@@6B@
+; const  SnmpGauge::`vftable'
+??_7SnmpGauge@@6B@
+; const  SnmpGaugeType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpGaugeType@@6BSnmpInstanceType@@@
+; const  SnmpGaugeType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpGaugeType@@6BSnmpPositiveRangedType@@@
+; const  SnmpGetNextOperation::`vftable'
+??_7SnmpGetNextOperation@@6B@
+; const  SnmpGetOperation::`vftable'
+??_7SnmpGetOperation@@6B@
+; const  SnmpIPXAddressType::`vftable'
+??_7SnmpIPXAddressType@@6B@
+; const  SnmpIPXAddressType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpIPXAddressType@@6BSnmpInstanceType@@@
+; const  SnmpIPXAddressType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpIPXAddressType@@6BSnmpPositiveRangedType@@@
+; const  SnmpImpSession::`vftable'
+??_7SnmpImpSession@@6B@
+; const  SnmpImpTransport::`vftable'
+??_7SnmpImpTransport@@6B@
+; const  SnmpInstanceType::`vftable'
+??_7SnmpInstanceType@@6B@
+; const  SnmpInteger::`vftable'
+??_7SnmpInteger@@6B@
+; const  SnmpIntegerType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpIntegerType@@6BSnmpInstanceType@@@
+; const  SnmpIntegerType::`vftable'{for `SnmpNegativeRangedType'}
+??_7SnmpIntegerType@@6BSnmpNegativeRangedType@@@
+; const  SnmpIpAddress::`vftable'
+??_7SnmpIpAddress@@6B@
+; const  SnmpIpAddressType::`vftable'
+??_7SnmpIpAddressType@@6B@
+; const  SnmpIpxImp::`vftable'{for `SnmpIpxTransport'}
+??_7SnmpIpxImp@@6BSnmpIpxTransport@@@
+; const  SnmpIpxImp::`vftable'{for `SnmpTransportIpxAddress'}
+??_7SnmpIpxImp@@6BSnmpTransportIpxAddress@@@
+; const  SnmpIpxTransport::`vftable'
+??_7SnmpIpxTransport@@6B@
+; const  SnmpMacAddressType::`vftable'
+??_7SnmpMacAddressType@@6B@
+; const  SnmpMacAddressType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpMacAddressType@@6BSnmpInstanceType@@@
+; const  SnmpMacAddressType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpMacAddressType@@6BSnmpPositiveRangedType@@@
+; const  SnmpNegativeRangeType::`vftable'
+??_7SnmpNegativeRangeType@@6B@
+; const  SnmpNetworkAddressType::`vftable'
+??_7SnmpNetworkAddressType@@6B@
+; const  SnmpNoSuchInstance::`vftable'
+??_7SnmpNoSuchInstance@@6B@
+; const  SnmpNoSuchObject::`vftable'
+??_7SnmpNoSuchObject@@6B@
+; const  SnmpNull::`vftable'
+??_7SnmpNull@@6B@
+; const  SnmpNullType::`vftable'
+??_7SnmpNullType@@6B@
+; const  SnmpOSIAddressType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpOSIAddressType@@6BSnmpInstanceType@@@
+; const  SnmpOSIAddressType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpOSIAddressType@@6BSnmpPositiveRangedType@@@
+; const  SnmpObjectIdentifier::`vftable'
+??_7SnmpObjectIdentifier@@6B@
+; const  SnmpObjectIdentifierType::`vftable'
+??_7SnmpObjectIdentifierType@@6B@
+; const  SnmpOctetString::`vftable'
+??_7SnmpOctetString@@6B@
+; const  SnmpOctetStringType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpOctetStringType@@6BSnmpInstanceType@@@
+; const  SnmpOctetStringType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpOctetStringType@@6BSnmpPositiveRangedType@@@
+; const  SnmpOpaque::`vftable'
+??_7SnmpOpaque@@6B@
+; const  SnmpOpaqueType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpOpaqueType@@6BSnmpInstanceType@@@
+; const  SnmpOpaqueType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpOpaqueType@@6BSnmpPositiveRangedType@@@
+; const  SnmpOperation::`vftable'
+??_7SnmpOperation@@6B@
+; const  SnmpPdu::`vftable'
+??_7SnmpPdu@@6B@
+; const  SnmpPhysAddressType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpPhysAddressType@@6BSnmpInstanceType@@@
+; const  SnmpPhysAddressType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpPhysAddressType@@6BSnmpPositiveRangedType@@@
+; const  SnmpPositiveRangeType::`vftable'
+??_7SnmpPositiveRangeType@@6B@
+; const  SnmpPositiveRangedType::`vftable'
+??_7SnmpPositiveRangedType@@6B@
+; const  SnmpRowStatusType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpRowStatusType@@6BSnmpInstanceType@@@
+; const  SnmpRowStatusType::`vftable'{for `SnmpNegativeRangedType'}
+??_7SnmpRowStatusType@@6BSnmpNegativeRangedType@@@
+; const  SnmpSecurity::`vftable'
+??_7SnmpSecurity@@6B@
+; const  SnmpSession::`vftable'
+??_7SnmpSession@@6B@
+; const  SnmpSetOperation::`vftable'
+??_7SnmpSetOperation@@6B@
+; const  SnmpTimeTicks::`vftable'
+??_7SnmpTimeTicks@@6B@
+; const  SnmpTimeTicksType::`vftable'
+??_7SnmpTimeTicksType@@6B@
+; const  SnmpTransport::`vftable'
+??_7SnmpTransport@@6B@
+; const  SnmpTransportAddress::`vftable'
+??_7SnmpTransportAddress@@6B@
+; const  SnmpTransportIpAddress::`vftable'
+??_7SnmpTransportIpAddress@@6B@
+; const  SnmpTransportIpxAddress::`vftable'
+??_7SnmpTransportIpxAddress@@6B@
+; const  SnmpTrapReceiver::`vftable'
+??_7SnmpTrapReceiver@@6B@
+; const  SnmpUDPAddressType::`vftable'
+??_7SnmpUDPAddressType@@6B@
+; const  SnmpUDPAddressType::`vftable'{for `SnmpInstanceType'}
+??_7SnmpUDPAddressType@@6BSnmpInstanceType@@@
+; const  SnmpUDPAddressType::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpUDPAddressType@@6BSnmpPositiveRangedType@@@
+; const  SnmpUInteger32::`vftable'
+??_7SnmpUInteger32@@6B@
+; const  SnmpUInteger32Type::`vftable'{for `SnmpInstanceType'}
+??_7SnmpUInteger32Type@@6BSnmpInstanceType@@@
+; const  SnmpUInteger32Type::`vftable'{for `SnmpPositiveRangedType'}
+??_7SnmpUInteger32Type@@6BSnmpPositiveRangedType@@@
+; const  SnmpUdpIpImp::`vftable'{for `SnmpTransportIpAddress'}
+??_7SnmpUdpIpImp@@6BSnmpTransportIpAddress@@@
+; const  SnmpUdpIpImp::`vftable'{for `SnmpUdpIpTransport'}
+??_7SnmpUdpIpImp@@6BSnmpUdpIpTransport@@@
+; const  SnmpUdpIpTransport::`vftable'
+??_7SnmpUdpIpTransport@@6B@
+; const  SnmpV1EncodeDecode::`vftable'
+??_7SnmpV1EncodeDecode@@6B@
+; const  SnmpV1OverIp::`vftable'{for `SnmpCommunityBasedSecurity'}
+??_7SnmpV1OverIp@@6BSnmpCommunityBasedSecurity@@@
+; const  SnmpV1OverIp::`vftable'{for `SnmpImpSession'}
+??_7SnmpV1OverIp@@6BSnmpImpSession@@@
+; const  SnmpV1OverIp::`vftable'{for `SnmpTransportIpAddress'}
+??_7SnmpV1OverIp@@6BSnmpTransportIpAddress@@@
+; const  SnmpV1OverIp::`vftable'{for `SnmpUdpIpTransport'}
+??_7SnmpV1OverIp@@6BSnmpUdpIpTransport@@@
+; const  SnmpV1OverIp::`vftable'{for `SnmpV1EncodeDecode'}
+??_7SnmpV1OverIp@@6BSnmpV1EncodeDecode@@@
+; const  SnmpV1OverIpx::`vftable'{for `SnmpCommunityBasedSecurity'}
+??_7SnmpV1OverIpx@@6BSnmpCommunityBasedSecurity@@@
+; const  SnmpV1OverIpx::`vftable'{for `SnmpImpSession'}
+??_7SnmpV1OverIpx@@6BSnmpImpSession@@@
+; const  SnmpV1OverIpx::`vftable'{for `SnmpIpxTransport'}
+??_7SnmpV1OverIpx@@6BSnmpIpxTransport@@@
+; const  SnmpV1OverIpx::`vftable'{for `SnmpTransportIpxAddress'}
+??_7SnmpV1OverIpx@@6BSnmpTransportIpxAddress@@@
+; const  SnmpV1OverIpx::`vftable'{for `SnmpV1EncodeDecode'}
+??_7SnmpV1OverIpx@@6BSnmpV1EncodeDecode@@@
+; const  SnmpV2CEncodeDecode::`vftable'
+??_7SnmpV2CEncodeDecode@@6B@
+; const  SnmpV2COverIp::`vftable'{for `SnmpCommunityBasedSecurity'}
+??_7SnmpV2COverIp@@6BSnmpCommunityBasedSecurity@@@
+; const  SnmpV2COverIp::`vftable'{for `SnmpImpSession'}
+??_7SnmpV2COverIp@@6BSnmpImpSession@@@
+; const  SnmpV2COverIp::`vftable'{for `SnmpTransportIpAddress'}
+??_7SnmpV2COverIp@@6BSnmpTransportIpAddress@@@
+; const  SnmpV2COverIp::`vftable'{for `SnmpUdpIpTransport'}
+??_7SnmpV2COverIp@@6BSnmpUdpIpTransport@@@
+; const  SnmpV2COverIp::`vftable'{for `SnmpV2CEncodeDecode'}
+??_7SnmpV2COverIp@@6BSnmpV2CEncodeDecode@@@
+; const  SnmpV2COverIpx::`vftable'{for `SnmpCommunityBasedSecurity'}
+??_7SnmpV2COverIpx@@6BSnmpCommunityBasedSecurity@@@
+; const  SnmpV2COverIpx::`vftable'{for `SnmpImpSession'}
+??_7SnmpV2COverIpx@@6BSnmpImpSession@@@
+; const  SnmpV2COverIpx::`vftable'{for `SnmpIpxTransport'}
+??_7SnmpV2COverIpx@@6BSnmpIpxTransport@@@
+; const  SnmpV2COverIpx::`vftable'{for `SnmpTransportIpxAddress'}
+??_7SnmpV2COverIpx@@6BSnmpTransportIpxAddress@@@
+; const  SnmpV2COverIpx::`vftable'{for `SnmpV2CEncodeDecode'}
+??_7SnmpV2COverIpx@@6BSnmpV2CEncodeDecode@@@
+; const  SnmpValue::`vftable'
+??_7SnmpValue@@6B@
+; const  SnmpVarBind::`vftable'
+??_7SnmpVarBind@@6B@
+; public: void __cdecl SnmpAnalyser::`default constructor closure'(void) __ptr64
+??_FSnmpAnalyser@@QEAAXXZ
+; public: void __cdecl SnmpCommunityBasedSecurity::`default constructor closure'(void) __ptr64
+??_FSnmpCommunityBasedSecurity@@QEAAXXZ
+; public: void __cdecl SnmpDisplayStringType::`default constructor closure'(void) __ptr64
+??_FSnmpDisplayStringType@@QEAAXXZ
+; public: void __cdecl SnmpGaugeType::`default constructor closure'(void) __ptr64
+??_FSnmpGaugeType@@QEAAXXZ
+; public: void __cdecl SnmpInstanceType::`default constructor closure'(void) __ptr64
+??_FSnmpInstanceType@@QEAAXXZ
+; public: void __cdecl SnmpIntegerType::`default constructor closure'(void) __ptr64
+??_FSnmpIntegerType@@QEAAXXZ
+; public: void __cdecl SnmpOctetStringType::`default constructor closure'(void) __ptr64
+??_FSnmpOctetStringType@@QEAAXXZ
+; public: void __cdecl SnmpOpaqueType::`default constructor closure'(void) __ptr64
+??_FSnmpOpaqueType@@QEAAXXZ
+; public: void __cdecl SnmpPhysAddressType::`default constructor closure'(void) __ptr64
+??_FSnmpPhysAddressType@@QEAAXXZ
+; public: void __cdecl SnmpPositiveRangedType::`default constructor closure'(void) __ptr64
+??_FSnmpPositiveRangedType@@QEAAXXZ
+; public: void __cdecl SnmpUInteger32Type::`default constructor closure'(void) __ptr64
+??_FSnmpUInteger32Type@@QEAAXXZ
+; public: void __cdecl SnmpVarBindList::Add(class SnmpVarBind const & __ptr64) __ptr64
+?Add@SnmpVarBindList@@QEAAXAEBVSnmpVarBind@@@Z
+; public: void __cdecl SnmpVarBindList::AddNoReallocate(class SnmpVarBind & __ptr64) __ptr64
+?AddNoReallocate@SnmpVarBindList@@QEAAXAEAVSnmpVarBind@@@Z
+; protected: virtual int __cdecl SnmpAnalyser::Analyse(class SnmpLexicon * __ptr64,unsigned long & __ptr64,unsigned short,unsigned short const * __ptr64,unsigned long & __ptr64,int,int,int) __ptr64
+?Analyse@SnmpAnalyser@@MEAAHPEAVSnmpLexicon@@AEAKGPEBG1HHH@Z
+; private: int __cdecl SnmpBitStringType::BitStringDef(void) __ptr64
+?BitStringDef@SnmpBitStringType@@AEAAHXZ
+; public: void __cdecl GetNextOperation::CancelRequest(void) __ptr64
+?CancelRequest@GetNextOperation@@QEAAXXZ
+; public: void __cdecl SnmpAutoRetrieveOperation::CancelRequest(void) __ptr64
+?CancelRequest@SnmpAutoRetrieveOperation@@QEAAXXZ
+; public: void __cdecl SnmpOperation::CancelRequest(void) __ptr64
+?CancelRequest@SnmpOperation@@QEAAXXZ
+; public: class SnmpVarBindList * __ptr64 __cdecl SnmpVarBindList::Car(unsigned int) __ptr64
+?Car@SnmpVarBindList@@QEAAPEAV1@I@Z
+; public: class SnmpVarBindList * __ptr64 __cdecl SnmpVarBindList::Cdr(unsigned int) __ptr64
+?Cdr@SnmpVarBindList@@QEAAPEAV1@I@Z
+; public: int __cdecl SnmpPositiveRangedType::Check(unsigned long const & __ptr64) __ptr64
+?Check@SnmpPositiveRangedType@@QEAAHAEBK@Z
+; private: void __cdecl SnmpOperation::CheckOperationDeletion(void) __ptr64
+?CheckOperationDeletion@SnmpOperation@@AEAAXXZ
+; private: void __cdecl GetNextOperation::Cleanup(void) __ptr64
+?Cleanup@GetNextOperation@@AEAAXXZ
+; public: static void __cdecl SnmpClassLibrary::Closedown(void)
+?Closedown@SnmpClassLibrary@@SAXXZ
+; protected: enum SnmpObjectIdentifier::Comparison  __cdecl SnmpObjectIdentifier::Compare(class SnmpObjectIdentifier const & __ptr64,class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Compare@SnmpObjectIdentifier@@IEBA?AW4Comparison@1@AEBV1@0@Z
+; int __cdecl CompareElements(class SnmpObjectIdentifierType * __ptr64,class SnmpObjectIdentifierType * __ptr64)
+?CompareElements@@YAHPEAVSnmpObjectIdentifierType@@0@Z
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpBitStringType::Copy(void)const  __ptr64
+?Copy@SnmpBitStringType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpSecurity * __ptr64 __cdecl SnmpCommunityBasedSecurity::Copy(void)const  __ptr64
+?Copy@SnmpCommunityBasedSecurity@@UEBAPEAVSnmpSecurity@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpCounter64::Copy(void)const  __ptr64
+?Copy@SnmpCounter64@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpCounter64Type::Copy(void)const  __ptr64
+?Copy@SnmpCounter64Type@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpCounter::Copy(void)const  __ptr64
+?Copy@SnmpCounter@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpCounterType::Copy(void)const  __ptr64
+?Copy@SnmpCounterType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpDateTimeType::Copy(void)const  __ptr64
+?Copy@SnmpDateTimeType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpDisplayStringType::Copy(void)const  __ptr64
+?Copy@SnmpDisplayStringType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpEndOfMibView::Copy(void)const  __ptr64
+?Copy@SnmpEndOfMibView@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpEnumeratedType::Copy(void)const  __ptr64
+?Copy@SnmpEnumeratedType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthDisplayStringType::Copy(void)const  __ptr64
+?Copy@SnmpFixedLengthDisplayStringType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthOctetStringType::Copy(void)const  __ptr64
+?Copy@SnmpFixedLengthOctetStringType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthOpaqueType::Copy(void)const  __ptr64
+?Copy@SnmpFixedLengthOpaqueType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthPhysAddressType::Copy(void)const  __ptr64
+?Copy@SnmpFixedLengthPhysAddressType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpGauge::Copy(void)const  __ptr64
+?Copy@SnmpGauge@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpGaugeType::Copy(void)const  __ptr64
+?Copy@SnmpGaugeType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpIPXAddressType::Copy(void)const  __ptr64
+?Copy@SnmpIPXAddressType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpInteger::Copy(void)const  __ptr64
+?Copy@SnmpInteger@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpIntegerType::Copy(void)const  __ptr64
+?Copy@SnmpIntegerType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpIpAddress::Copy(void)const  __ptr64
+?Copy@SnmpIpAddress@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpIpAddressType::Copy(void)const  __ptr64
+?Copy@SnmpIpAddressType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpMacAddressType::Copy(void)const  __ptr64
+?Copy@SnmpMacAddressType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpNegativeRangeType * __ptr64 __cdecl SnmpNegativeRangeType::Copy(void) __ptr64
+?Copy@SnmpNegativeRangeType@@UEAAPEAV1@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpNetworkAddressType::Copy(void)const  __ptr64
+?Copy@SnmpNetworkAddressType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpNoSuchInstance::Copy(void)const  __ptr64
+?Copy@SnmpNoSuchInstance@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpNoSuchObject::Copy(void)const  __ptr64
+?Copy@SnmpNoSuchObject@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpNull::Copy(void)const  __ptr64
+?Copy@SnmpNull@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpNullType::Copy(void)const  __ptr64
+?Copy@SnmpNullType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpOSIAddressType::Copy(void)const  __ptr64
+?Copy@SnmpOSIAddressType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpObjectIdentifier::Copy(void)const  __ptr64
+?Copy@SnmpObjectIdentifier@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpObjectIdentifierType::Copy(void)const  __ptr64
+?Copy@SnmpObjectIdentifierType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpOctetString::Copy(void)const  __ptr64
+?Copy@SnmpOctetString@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpOctetStringType::Copy(void)const  __ptr64
+?Copy@SnmpOctetStringType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpOpaque::Copy(void)const  __ptr64
+?Copy@SnmpOpaque@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpOpaqueType::Copy(void)const  __ptr64
+?Copy@SnmpOpaqueType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpPhysAddressType::Copy(void)const  __ptr64
+?Copy@SnmpPhysAddressType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpPositiveRangeType * __ptr64 __cdecl SnmpPositiveRangeType::Copy(void) __ptr64
+?Copy@SnmpPositiveRangeType@@UEAAPEAV1@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpRowStatusType::Copy(void)const  __ptr64
+?Copy@SnmpRowStatusType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpTimeTicks::Copy(void)const  __ptr64
+?Copy@SnmpTimeTicks@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpTimeTicksType::Copy(void)const  __ptr64
+?Copy@SnmpTimeTicksType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpTransportAddress * __ptr64 __cdecl SnmpTransportIpAddress::Copy(void)const  __ptr64
+?Copy@SnmpTransportIpAddress@@UEBAPEAVSnmpTransportAddress@@XZ
+; public: virtual class SnmpTransportAddress * __ptr64 __cdecl SnmpTransportIpxAddress::Copy(void)const  __ptr64
+?Copy@SnmpTransportIpxAddress@@UEBAPEAVSnmpTransportAddress@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpUDPAddressType::Copy(void)const  __ptr64
+?Copy@SnmpUDPAddressType@@UEBAPEAVSnmpInstanceType@@XZ
+; public: virtual class SnmpValue * __ptr64 __cdecl SnmpUInteger32::Copy(void)const  __ptr64
+?Copy@SnmpUInteger32@@UEBAPEAVSnmpValue@@XZ
+; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpUInteger32Type::Copy(void)const  __ptr64
+?Copy@SnmpUInteger32Type@@UEBAPEAVSnmpInstanceType@@XZ
+; public: class SnmpVarBindList * __ptr64 __cdecl SnmpVarBindList::CopySegment(unsigned int) __ptr64
+?CopySegment@SnmpVarBindList@@QEAAPEAV1@I@Z
+; protected: virtual class SnmpLexicon * __ptr64 __cdecl SnmpAnalyser::CreateLexicon(void) __ptr64
+?CreateLexicon@SnmpAnalyser@@MEAAPEAVSnmpLexicon@@XZ
+; public: class SnmpObjectIdentifier * __ptr64 __cdecl SnmpObjectIdentifier::Cut(class SnmpObjectIdentifier & __ptr64)const  __ptr64
+?Cut@SnmpObjectIdentifier@@QEBAPEAV1@AEAV1@@Z
+; private: int __cdecl SnmpDateTimeType::DateTimeDef(void) __ptr64
+?DateTimeDef@SnmpDateTimeType@@AEAAHXZ
+; unsigned short * __ptr64 __cdecl DbcsToUnicodeString(char const * __ptr64)
+?DbcsToUnicodeString@@YAPEAGPEBD@Z
+; public: static unsigned long __cdecl SnmpAnalyser::DecCharToDecInteger(char)
+?DecCharToDecInteger@SnmpAnalyser@@SAKD@Z
+; public: static char __cdecl SnmpAnalyser::DecIntegerToDecChar(unsigned char)
+?DecIntegerToDecChar@SnmpAnalyser@@SADE@Z
+; public: static unsigned short __cdecl SnmpAnalyser::DecIntegerToDecWChar(unsigned char)
+?DecIntegerToDecWChar@SnmpAnalyser@@SAGE@Z
+; public: static char __cdecl SnmpAnalyser::DecIntegerToHexChar(unsigned char)
+?DecIntegerToHexChar@SnmpAnalyser@@SADE@Z
+; public: static unsigned short __cdecl SnmpAnalyser::DecIntegerToHexWChar(unsigned char)
+?DecIntegerToHexWChar@SnmpAnalyser@@SAGE@Z
+; public: static char __cdecl SnmpAnalyser::DecIntegerToOctChar(unsigned char)
+?DecIntegerToOctChar@SnmpAnalyser@@SADE@Z
+; public: static unsigned short __cdecl SnmpAnalyser::DecIntegerToOctWChar(unsigned char)
+?DecIntegerToOctWChar@SnmpAnalyser@@SAGE@Z
+; public: static unsigned long __cdecl SnmpAnalyser::DecWCharToDecInteger(unsigned short)
+?DecWCharToDecInteger@SnmpAnalyser@@SAKG@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounter64Type::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpCounter64Type@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounterType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpCounterType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOctetStringType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpFixedLengthOctetStringType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOpaqueType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpFixedLengthOpaqueType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpGaugeType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpGaugeType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIntegerType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpIntegerType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIpAddressType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpIpAddressType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNetworkAddressType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpNetworkAddressType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNullType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpNullType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpObjectIdentifierType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpObjectIdentifierType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOctetStringType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpOctetStringType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOpaqueType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpOpaqueType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpTimeTicksType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpTimeTicksType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpUInteger32Type::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
+?Decode@SnmpUInteger32Type@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual int __cdecl SnmpEncodeDecode::DecodeFrame(class SnmpPdu & __ptr64,long,enum SnmpEncodeDecode::PduType,class SnmpErrorReport & __ptr64,class SnmpVarBindList * __ptr64 & __ptr64,class SnmpCommunityBasedSecurity * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
+?DecodeFrame@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@JW4PduType@1@AEAVSnmpErrorReport@@AEAPEAVSnmpVarBindList@@AEAPEAVSnmpCommunityBasedSecurity@@AEAPEAVSnmpTransportAddress@@5@Z
+; public: virtual int __cdecl SnmpEncodeDecode::DecodeFrame(void * __ptr64,class SnmpPdu & __ptr64) __ptr64
+?DecodeFrame@SnmpEncodeDecode@@UEAAHPEAXAEAVSnmpPdu@@@Z
+; public: virtual void __cdecl SnmpImpSession::DeregisterOperation(class SnmpOperation & __ptr64) __ptr64
+?DeregisterOperation@SnmpImpSession@@UEAAXAEAVSnmpOperation@@@Z
+; public: void __cdecl GetNextOperation::DestroyOperation(void) __ptr64
+?DestroyOperation@GetNextOperation@@QEAAXXZ
+; protected: void __cdecl SnmpAutoRetrieveOperation::DestroyOperation(void) __ptr64
+?DestroyOperation@SnmpAutoRetrieveOperation@@IEAAXXZ
+; protected: void __cdecl SnmpOperation::DestroyOperation(void) __ptr64
+?DestroyOperation@SnmpOperation@@IEAAXXZ
+; protected: void __cdecl SnmpVarBindList::DestroyPosition(class SnmpVarBindList::ListPosition * __ptr64) __ptr64
+?DestroyPosition@SnmpVarBindList@@IEAAXPEAVListPosition@1@@Z
+; public: int __cdecl SnmpTrapReceiver::DestroyReceiver(void) __ptr64
+?DestroyReceiver@SnmpTrapReceiver@@QEAAHXZ
+; public: virtual int __cdecl SnmpImpSession::DestroySession(void) __ptr64
+?DestroySession@SnmpImpSession@@UEAAHXZ
+; protected: static int __cdecl SnmpEncodeDecode::DestroyStaticComponents(void)
+?DestroyStaticComponents@SnmpEncodeDecode@@KAHXZ
+; public: int __cdecl SnmpVarBindList::Empty(void)const  __ptr64
+?Empty@SnmpVarBindList@@QEBAHXZ
+; protected: void __cdecl SnmpVarBindList::EmptyLookupTable(void) __ptr64
+?EmptyLookupTable@SnmpVarBindList@@IEAAXXZ
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounter64Type::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpCounter64Type@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounterType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpCounterType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; private: void __cdecl SnmpDateTimeType::Encode(unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64) __ptr64
+?Encode@SnmpDateTimeType@@AEAAXAEBK0000000000@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOctetStringType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpFixedLengthOctetStringType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOpaqueType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpFixedLengthOpaqueType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpGaugeType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpGaugeType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIntegerType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpIntegerType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIpAddressType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpIpAddressType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNetworkAddressType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpNetworkAddressType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNullType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpNullType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpObjectIdentifierType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpObjectIdentifierType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOctetStringType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpOctetStringType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOpaqueType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpOpaqueType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpTimeTicksType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpTimeTicksType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual class SnmpObjectIdentifier  __cdecl SnmpUInteger32Type::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Encode@SnmpUInteger32Type@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
+; public: virtual int __cdecl SnmpEncodeDecode::EncodeFrame(class SnmpPdu & __ptr64,long,enum SnmpEncodeDecode::PduType,class SnmpErrorReport & __ptr64,class SnmpVarBindList & __ptr64,class SnmpCommunityBasedSecurity * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
+?EncodeFrame@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@JW4PduType@1@AEAVSnmpErrorReport@@AEAVSnmpVarBindList@@AEAPEAVSnmpCommunityBasedSecurity@@AEAPEAVSnmpTransportAddress@@5@Z
+; public: virtual int __cdecl SnmpEncodeDecode::EncodeFrame(class SnmpPdu & __ptr64,void * __ptr64) __ptr64
+?EncodeFrame@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@PEAX@Z
+; private: int __cdecl SnmpEnumeratedType::EnumerationDef(void) __ptr64
+?EnumerationDef@SnmpEnumeratedType@@AEAAHXZ
+; protected: virtual int __cdecl SnmpCounter64::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpCounter64@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpCounter64::Equivalent(class SnmpCounter64 const & __ptr64)const  __ptr64
+?Equivalent@SnmpCounter64@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpCounter64Type::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpCounter64Type@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpCounter::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpCounter@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpCounter::Equivalent(class SnmpCounter const & __ptr64)const  __ptr64
+?Equivalent@SnmpCounter@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpCounterType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpCounterType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpEndOfMibView::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpEndOfMibView@@MEBAHAEBVSnmpValue@@@Z
+; protected: virtual int __cdecl SnmpGauge::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpGauge@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpGauge::Equivalent(class SnmpGauge const & __ptr64)const  __ptr64
+?Equivalent@SnmpGauge@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpGaugeType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpGaugeType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpInteger::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpInteger@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpInteger::Equivalent(class SnmpInteger const & __ptr64)const  __ptr64
+?Equivalent@SnmpInteger@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpIntegerType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpIntegerType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpIpAddress::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpIpAddress@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpIpAddress::Equivalent(class SnmpIpAddress const & __ptr64)const  __ptr64
+?Equivalent@SnmpIpAddress@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpIpAddressType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpIpAddressType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpNetworkAddressType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpNetworkAddressType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpNoSuchInstance::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpNoSuchInstance@@MEBAHAEBVSnmpValue@@@Z
+; protected: virtual int __cdecl SnmpNoSuchObject::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpNoSuchObject@@MEBAHAEBVSnmpValue@@@Z
+; protected: virtual int __cdecl SnmpNull::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpNull@@MEBAHAEBVSnmpValue@@@Z
+; protected: virtual int __cdecl SnmpNullType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpNullType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: int __cdecl SnmpObjectIdentifier::Equivalent(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
+?Equivalent@SnmpObjectIdentifier@@IEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpObjectIdentifier::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpObjectIdentifier@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpObjectIdentifier::Equivalent(class SnmpObjectIdentifier const & __ptr64,unsigned long)const  __ptr64
+?Equivalent@SnmpObjectIdentifier@@QEBAHAEBV1@K@Z
+; protected: virtual int __cdecl SnmpObjectIdentifierType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpObjectIdentifierType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpOctetString::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpOctetString@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpOctetString::Equivalent(class SnmpOctetString const & __ptr64)const  __ptr64
+?Equivalent@SnmpOctetString@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpOctetStringType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpOctetStringType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpOpaque::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpOpaque@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpOpaque::Equivalent(class SnmpOpaque const & __ptr64)const  __ptr64
+?Equivalent@SnmpOpaque@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpOpaqueType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpOpaqueType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpTimeTicks::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpTimeTicks@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpTimeTicks::Equivalent(class SnmpTimeTicks const & __ptr64)const  __ptr64
+?Equivalent@SnmpTimeTicks@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpTimeTicksType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpTimeTicksType@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual int __cdecl SnmpUInteger32::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
+?Equivalent@SnmpUInteger32@@MEBAHAEBVSnmpValue@@@Z
+; public: int __cdecl SnmpUInteger32::Equivalent(class SnmpUInteger32 const & __ptr64)const  __ptr64
+?Equivalent@SnmpUInteger32@@QEBAHAEBV1@@Z
+; protected: virtual int __cdecl SnmpUInteger32Type::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
+?Equivalent@SnmpUInteger32Type@@MEBAHAEBVSnmpInstanceType@@@Z
+; protected: virtual long __cdecl SnmpAutoRetrieveOperation::EvaluateNextRequest(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind & __ptr64) __ptr64
+?EvaluateNextRequest@SnmpAutoRetrieveOperation@@MEAAJAEBKAEBVSnmpVarBind@@1AEAV2@@Z
+; protected: virtual void __cdecl GetNextOperation::FrameOverRun(void) __ptr64
+?FrameOverRun@GetNextOperation@@MEAAXXZ
+; protected: virtual void __cdecl SnmpAutoRetrieveOperation::FrameOverRun(void) __ptr64
+?FrameOverRun@SnmpAutoRetrieveOperation@@MEAAXXZ
+; protected: virtual void __cdecl SnmpOperation::FrameOverRun(void) __ptr64
+?FrameOverRun@SnmpOperation@@MEAAXXZ
+; protected: virtual void __cdecl GetNextOperation::FrameTooBig(void) __ptr64
+?FrameTooBig@GetNextOperation@@MEAAXXZ
+; protected: virtual void __cdecl SnmpAutoRetrieveOperation::FrameTooBig(void) __ptr64
+?FrameTooBig@SnmpAutoRetrieveOperation@@MEAAXXZ
+; protected: virtual void __cdecl SnmpOperation::FrameTooBig(void) __ptr64
+?FrameTooBig@SnmpOperation@@MEAAXXZ
+; private: void __cdecl SnmpPdu::FreeFrame(void) __ptr64
+?FreeFrame@SnmpPdu@@AEAAXXZ
+; protected: void __cdecl SnmpVarBindList::FreeList(void) __ptr64
+?FreeList@SnmpVarBindList@@IEAAXXZ
+; private: void __cdecl SnmpPdu::FreePdu(void) __ptr64
+?FreePdu@SnmpPdu@@AEAAXXZ
+; public: class SnmpLexicon * __ptr64 __cdecl SnmpAnalyser::Get(int,int,int) __ptr64
+?Get@SnmpAnalyser@@QEAAPEAVSnmpLexicon@@HHH@Z
+; private: class SnmpLexicon * __ptr64 __cdecl SnmpBitStringType::Get(void) __ptr64
+?Get@SnmpBitStringType@@AEAAPEAVSnmpLexicon@@XZ
+; private: class SnmpLexicon * __ptr64 __cdecl SnmpDateTimeType::Get(void) __ptr64
+?Get@SnmpDateTimeType@@AEAAPEAVSnmpLexicon@@XZ
+; private: class SnmpLexicon * __ptr64 __cdecl SnmpEnumeratedType::Get(void) __ptr64
+?Get@SnmpEnumeratedType@@AEAAPEAVSnmpLexicon@@XZ
+; protected: class SnmpLexicon * __ptr64 __cdecl SnmpPositiveRangedType::Get(void) __ptr64
+?Get@SnmpPositiveRangedType@@IEAAPEAVSnmpLexicon@@XZ
+; public: class SnmpVarBind const * __ptr64 __cdecl SnmpVarBindList::Get(void)const  __ptr64
+?Get@SnmpVarBindList@@QEBAPEBVSnmpVarBind@@XZ
+; public: virtual char * __ptr64 __cdecl SnmpTransportIpAddress::GetAddress(void) __ptr64
+?GetAddress@SnmpTransportIpAddress@@UEAAPEADXZ
+; public: virtual unsigned short __cdecl SnmpTransportIpAddress::GetAddress(unsigned char * __ptr64,unsigned short)const  __ptr64
+?GetAddress@SnmpTransportIpAddress@@UEBAGPEAEG@Z
+; public: virtual char * __ptr64 __cdecl SnmpTransportIpxAddress::GetAddress(void) __ptr64
+?GetAddress@SnmpTransportIpxAddress@@UEAAPEADXZ
+; public: virtual unsigned short __cdecl SnmpTransportIpxAddress::GetAddress(unsigned char * __ptr64,unsigned short)const  __ptr64
+?GetAddress@SnmpTransportIpxAddress@@UEBAGPEAEG@Z
+; public: virtual unsigned short __cdecl SnmpTransportIpAddress::GetAddressLength(void)const  __ptr64
+?GetAddressLength@SnmpTransportIpAddress@@UEBAGXZ
+; public: virtual unsigned short __cdecl SnmpTransportIpxAddress::GetAddressLength(void)const  __ptr64
+?GetAddressLength@SnmpTransportIpxAddress@@UEBAGXZ
+; public: char * __ptr64 __cdecl SnmpObjectIdentifier::GetAllocatedString(void)const  __ptr64
+?GetAllocatedString@SnmpObjectIdentifier@@QEBAPEADXZ
+; public: char const * __ptr64 __cdecl SnmpCommunityBasedSecurity::GetCommunityName(void)const  __ptr64
+?GetCommunityName@SnmpCommunityBasedSecurity@@QEBAPEBDXZ
+; public: void __cdecl SnmpCommunityBasedSecurity::GetCommunityName(class SnmpOctetString & __ptr64)const  __ptr64
+?GetCommunityName@SnmpCommunityBasedSecurity@@QEBAXAEAVSnmpOctetString@@@Z
+; public: virtual int __cdecl SnmpEncodeDecode::GetCommunityName(class SnmpPdu & __ptr64,class SnmpCommunityBasedSecurity & __ptr64) __ptr64
+?GetCommunityName@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpCommunityBasedSecurity@@@Z
+; public: virtual class SnmpCommunityBasedSecurity & __ptr64 __cdecl SnmpPdu::GetCommunityName(void) __ptr64
+?GetCommunityName@SnmpPdu@@UEAAAEAVSnmpCommunityBasedSecurity@@XZ
+; public: int __cdecl SnmpVarBindList::GetCurrentIndex(void)const  __ptr64
+?GetCurrentIndex@SnmpVarBindList@@QEBAHXZ
+; public: virtual int __cdecl SnmpEncodeDecode::GetDestinationAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
+?GetDestinationAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAPEAVSnmpTransportAddress@@@Z
+; public: virtual class SnmpTransportAddress & __ptr64 __cdecl SnmpPdu::GetDestinationAddress(void) __ptr64
+?GetDestinationAddress@SnmpPdu@@UEAAAEAVSnmpTransportAddress@@XZ
+; public: enum SnmpError  __cdecl SnmpErrorReport::GetError(void)const  __ptr64
+?GetError@SnmpErrorReport@@QEBA?AW4SnmpError@@XZ
+; public: virtual int __cdecl SnmpEncodeDecode::GetErrorReport(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
+?GetErrorReport@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
+; public: virtual class SnmpErrorReport & __ptr64 __cdecl SnmpPdu::GetErrorReport(void) __ptr64
+?GetErrorReport@SnmpPdu@@UEAAAEAVSnmpErrorReport@@XZ
+; public: char * __ptr64 __cdecl GeneralException::GetFile(void) __ptr64
+?GetFile@GeneralException@@QEAAPEADXZ
+; public: unsigned long __cdecl SnmpSession::GetFlowControlWindow(void)const  __ptr64
+?GetFlowControlWindow@SnmpSession@@QEBAKXZ
+; public: unsigned char * __ptr64 __cdecl SnmpPdu::GetFrame(void)const  __ptr64
+?GetFrame@SnmpPdu@@QEBAPEAEXZ
+; public: unsigned long __cdecl SnmpPdu::GetFrameLength(void)const  __ptr64
+?GetFrameLength@SnmpPdu@@QEBAKXZ
+; public: unsigned long __cdecl SnmpCounter64::GetHighValue(void)const  __ptr64
+?GetHighValue@SnmpCounter64@@QEBAKXZ
+; public: unsigned long __cdecl SnmpErrorReport::GetIndex(void)const  __ptr64
+?GetIndex@SnmpErrorReport@@QEBAKXZ
+; public: class SnmpObjectIdentifier & __ptr64 __cdecl SnmpVarBind::GetInstance(void)const  __ptr64
+?GetInstance@SnmpVarBind@@QEBAAEAVSnmpObjectIdentifier@@XZ
+; private: int __cdecl SnmpTransportIpAddress::GetIpAddress(char const * __ptr64) __ptr64
+?GetIpAddress@SnmpTransportIpAddress@@AEAAHPEBD@Z
+; private: int __cdecl SnmpTransportIpxAddress::GetIpxAddress(char const * __ptr64) __ptr64
+?GetIpxAddress@SnmpTransportIpxAddress@@AEAAHPEBD@Z
+; public: unsigned int __cdecl SnmpVarBindList::GetLength(void)const  __ptr64
+?GetLength@SnmpVarBindList@@QEBAIXZ
+; public: int __cdecl GeneralException::GetLine(void) __ptr64
+?GetLine@GeneralException@@QEAAHXZ
+; public: unsigned long __cdecl SnmpCounter64::GetLowValue(void)const  __ptr64
+?GetLowValue@SnmpCounter64@@QEBAKXZ
+; public: long __cdecl SnmpNegativeRangeType::GetLowerBound(void) __ptr64
+?GetLowerBound@SnmpNegativeRangeType@@QEAAJXZ
+; public: unsigned long __cdecl SnmpPositiveRangeType::GetLowerBound(void) __ptr64
+?GetLowerBound@SnmpPositiveRangeType@@QEAAKXZ
+; public: class SnmpVarBindListNode * __ptr64 __cdecl SnmpVarBindListNode::GetNext(void) __ptr64
+?GetNext@SnmpVarBindListNode@@QEAAPEAV1@XZ
+; private: class SnmpOperation * __ptr64 __cdecl SnmpImpSession::GetOperation(unsigned long) __ptr64
+?GetOperation@SnmpImpSession@@AEAAPEAVSnmpOperation@@K@Z
+; public: virtual int __cdecl SnmpEncodeDecode::GetPduType(class SnmpPdu & __ptr64,enum SnmpEncodeDecode::PduType & __ptr64) __ptr64
+?GetPduType@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAW4PduType@1@@Z
+; protected: virtual enum SnmpEncodeDecode::PduType  __cdecl SnmpGetNextOperation::GetPduType(void) __ptr64
+?GetPduType@SnmpGetNextOperation@@MEAA?AW4PduType@SnmpEncodeDecode@@XZ
+; protected: virtual enum SnmpEncodeDecode::PduType  __cdecl SnmpGetOperation::GetPduType(void) __ptr64
+?GetPduType@SnmpGetOperation@@MEAA?AW4PduType@SnmpEncodeDecode@@XZ
+; public: virtual enum SnmpEncodeDecode::PduType & __ptr64 __cdecl SnmpPdu::GetPduType(void) __ptr64
+?GetPduType@SnmpPdu@@UEAAAEAW4PduType@SnmpEncodeDecode@@XZ
+; protected: virtual enum SnmpEncodeDecode::PduType  __cdecl SnmpSetOperation::GetPduType(void) __ptr64
+?GetPduType@SnmpSetOperation@@MEAA?AW4PduType@SnmpEncodeDecode@@XZ
+; protected: class SnmpVarBindList::ListPosition * __ptr64 __cdecl SnmpVarBindList::GetPosition(void) __ptr64
+?GetPosition@SnmpVarBindList@@IEAAPEAVListPosition@1@XZ
+; public: class SnmpVarBindListNode * __ptr64 __cdecl SnmpVarBindListNode::GetPrevious(void) __ptr64
+?GetPrevious@SnmpVarBindListNode@@QEAAPEAV1@XZ
+; public: virtual int __cdecl SnmpEncodeDecode::GetRequestId(class SnmpPdu & __ptr64,long & __ptr64) __ptr64
+?GetRequestId@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAJ@Z
+; public: virtual long & __ptr64 __cdecl SnmpPdu::GetRequestId(void) __ptr64
+?GetRequestId@SnmpPdu@@UEAAAEAJXZ
+; public: unsigned long __cdecl SnmpSession::GetRetryCount(void)const  __ptr64
+?GetRetryCount@SnmpSession@@QEBAKXZ
+; public: unsigned long __cdecl SnmpSession::GetRetryTimeout(void)const  __ptr64
+?GetRetryTimeout@SnmpSession@@QEBAKXZ
+; public: enum SnmpRowStatusType::SnmpRowStatusEnum  __cdecl SnmpRowStatusType::GetRowStatus(void)const  __ptr64
+?GetRowStatus@SnmpRowStatusType@@QEBA?AW4SnmpRowStatusEnum@1@XZ
+; public: virtual class SnmpEncodeDecode & __ptr64 __cdecl SnmpImpSession::GetSnmpEncodeDecode(void)const  __ptr64
+?GetSnmpEncodeDecode@SnmpImpSession@@UEBAAEAVSnmpEncodeDecode@@XZ
+; public: virtual class SnmpSecurity & __ptr64 __cdecl SnmpImpSession::GetSnmpSecurity(void)const  __ptr64
+?GetSnmpSecurity@SnmpImpSession@@UEBAAEAVSnmpSecurity@@XZ
+; public: virtual int __cdecl SnmpEncodeDecode::GetSourceAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
+?GetSourceAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAPEAVSnmpTransportAddress@@@Z
+; public: virtual class SnmpTransportAddress & __ptr64 __cdecl SnmpPdu::GetSourceAddress(void) __ptr64
+?GetSourceAddress@SnmpPdu@@UEAAAEAVSnmpTransportAddress@@XZ
+; public: enum SnmpStatus  __cdecl SnmpErrorReport::GetStatus(void)const  __ptr64
+?GetStatus@SnmpErrorReport@@QEBA?AW4SnmpStatus@@XZ
+; public: unsigned short * __ptr64 __cdecl CBString::GetString(void) __ptr64
+?GetString@CBString@@QEAAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpBitStringType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpBitStringType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpCounter64Type::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpCounter64Type@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpCounterType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpCounterType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpDateTimeType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpDateTimeType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpDisplayStringType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpDisplayStringType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpEnumeratedType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpEnumeratedType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpFixedLengthDisplayStringType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpFixedLengthDisplayStringType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpFixedLengthPhysAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpFixedLengthPhysAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpGaugeType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpGaugeType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpIPXAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpIPXAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpIntegerType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpIntegerType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpIpAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpIpAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpMacAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpMacAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpNetworkAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpNetworkAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpNullType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpNullType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpOSIAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpOSIAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpObjectIdentifierType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpObjectIdentifierType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpOctetStringType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpOctetStringType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpOpaqueType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpOpaqueType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpPhysAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpPhysAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpRowStatusType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpRowStatusType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpTimeTicksType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpTimeTicksType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpUDPAddressType::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpUDPAddressType@@UEBAPEAGXZ
+; public: virtual unsigned short * __ptr64 __cdecl SnmpUInteger32Type::GetStringValue(void)const  __ptr64
+?GetStringValue@SnmpUInteger32Type@@UEBAPEAGXZ
+; private: class SnmpLexicon * __ptr64 __cdecl SnmpAnalyser::GetToken(int,int,int) __ptr64
+?GetToken@SnmpAnalyser@@AEAAPEAVSnmpLexicon@@HHH@Z
+; public: enum SnmpLexicon::LexiconToken  __cdecl SnmpLexicon::GetToken(void) __ptr64
+?GetToken@SnmpLexicon@@QEAA?AW4LexiconToken@1@XZ
+; public: virtual class SnmpTransportAddress & __ptr64 __cdecl SnmpTransport::GetTransportAddress(void) __ptr64
+?GetTransportAddress@SnmpTransport@@UEAAAEAVSnmpTransportAddress@@XZ
+; public: virtual class SnmpTransport & __ptr64 __cdecl SnmpImpSession::GetTransportProtocol(void)const  __ptr64
+?GetTransportProtocol@SnmpImpSession@@UEBAAEAVSnmpTransport@@XZ
+; public: long __cdecl SnmpNegativeRangeType::GetUpperBound(void) __ptr64
+?GetUpperBound@SnmpNegativeRangeType@@QEAAJXZ
+; public: unsigned long __cdecl SnmpPositiveRangeType::GetUpperBound(void) __ptr64
+?GetUpperBound@SnmpPositiveRangeType@@QEAAKXZ
+; public: unsigned long __cdecl SnmpBitStringType::GetValue(unsigned short * __ptr64 * __ptr64 & __ptr64)const  __ptr64
+?GetValue@SnmpBitStringType@@QEBAKAEAPEAPEAG@Z
+; public: void __cdecl SnmpCounter64Type::GetValue(unsigned long & __ptr64,unsigned long & __ptr64)const  __ptr64
+?GetValue@SnmpCounter64Type@@QEBAXAEAK0@Z
+; public: unsigned long __cdecl SnmpCounter::GetValue(void)const  __ptr64
+?GetValue@SnmpCounter@@QEBAKXZ
+; public: unsigned long __cdecl SnmpCounterType::GetValue(void)const  __ptr64
+?GetValue@SnmpCounterType@@QEBAKXZ
+; public: unsigned short * __ptr64 __cdecl SnmpDateTimeType::GetValue(void)const  __ptr64
+?GetValue@SnmpDateTimeType@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl SnmpDisplayStringType::GetValue(void)const  __ptr64
+?GetValue@SnmpDisplayStringType@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl SnmpEnumeratedType::GetValue(void)const  __ptr64
+?GetValue@SnmpEnumeratedType@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl SnmpFixedLengthDisplayStringType::GetValue(void)const  __ptr64
+?GetValue@SnmpFixedLengthDisplayStringType@@QEBAPEAGXZ
+; public: unsigned long __cdecl SnmpGauge::GetValue(void)const  __ptr64
+?GetValue@SnmpGauge@@QEBAKXZ
+; public: unsigned long __cdecl SnmpGaugeType::GetValue(void)const  __ptr64
+?GetValue@SnmpGaugeType@@QEBAKXZ
+; public: long __cdecl SnmpInteger::GetValue(void)const  __ptr64
+?GetValue@SnmpInteger@@QEBAJXZ
+; public: long __cdecl SnmpIntegerType::GetValue(void)const  __ptr64
+?GetValue@SnmpIntegerType@@QEBAJXZ
+; public: unsigned long __cdecl SnmpIpAddress::GetValue(void)const  __ptr64
+?GetValue@SnmpIpAddress@@QEBAKXZ
+; public: unsigned long __cdecl SnmpIpAddressType::GetValue(void)const  __ptr64
+?GetValue@SnmpIpAddressType@@QEBAKXZ
+; public: union SnmpLexiconValue * __ptr64 __cdecl SnmpLexicon::GetValue(void) __ptr64
+?GetValue@SnmpLexicon@@QEAAPEATSnmpLexiconValue@@XZ
+; public: unsigned long __cdecl SnmpNetworkAddressType::GetValue(void)const  __ptr64
+?GetValue@SnmpNetworkAddressType@@QEBAKXZ
+; public: unsigned long * __ptr64 __cdecl SnmpObjectIdentifier::GetValue(void)const  __ptr64
+?GetValue@SnmpObjectIdentifier@@QEBAPEAKXZ
+; public: unsigned long * __ptr64 __cdecl SnmpObjectIdentifierType::GetValue(void)const  __ptr64
+?GetValue@SnmpObjectIdentifierType@@QEBAPEAKXZ
+; public: unsigned char * __ptr64 __cdecl SnmpOctetString::GetValue(void)const  __ptr64
+?GetValue@SnmpOctetString@@QEBAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl SnmpOctetStringType::GetValue(void)const  __ptr64
+?GetValue@SnmpOctetStringType@@QEBAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl SnmpOpaque::GetValue(void)const  __ptr64
+?GetValue@SnmpOpaque@@QEBAPEAEXZ
+; public: unsigned char * __ptr64 __cdecl SnmpOpaqueType::GetValue(void)const  __ptr64
+?GetValue@SnmpOpaqueType@@QEBAPEAEXZ
+; public: unsigned short * __ptr64 __cdecl SnmpRowStatusType::GetValue(void)const  __ptr64
+?GetValue@SnmpRowStatusType@@QEBAPEAGXZ
+; public: unsigned long __cdecl SnmpTimeTicks::GetValue(void)const  __ptr64
+?GetValue@SnmpTimeTicks@@QEBAKXZ
+; public: unsigned long __cdecl SnmpTimeTicksType::GetValue(void)const  __ptr64
+?GetValue@SnmpTimeTicksType@@QEBAKXZ
+; public: unsigned long __cdecl SnmpUInteger32::GetValue(void)const  __ptr64
+?GetValue@SnmpUInteger32@@QEBAKXZ
+; public: unsigned long __cdecl SnmpUInteger32Type::GetValue(void)const  __ptr64
+?GetValue@SnmpUInteger32Type@@QEBAKXZ
+; public: class SnmpValue & __ptr64 __cdecl SnmpVarBind::GetValue(void)const  __ptr64
+?GetValue@SnmpVarBind@@QEBAAEAVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpCounter64Type::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpCounter64Type@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpCounterType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpCounterType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpGaugeType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpGaugeType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpIntegerType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpIntegerType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpIpAddressType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpIpAddressType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpNetworkAddressType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpNetworkAddressType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpNullType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpNullType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpObjectIdentifierType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpObjectIdentifierType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpOctetStringType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpOctetStringType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpOpaqueType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpOpaqueType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpTimeTicksType::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpTimeTicksType@@UEBAPEBVSnmpValue@@XZ
+; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpUInteger32Type::GetValueEncoding(void)const  __ptr64
+?GetValueEncoding@SnmpUInteger32Type@@UEBAPEBVSnmpValue@@XZ
+; public: unsigned long __cdecl SnmpObjectIdentifier::GetValueLength(void)const  __ptr64
+?GetValueLength@SnmpObjectIdentifier@@QEBAKXZ
+; public: unsigned long __cdecl SnmpObjectIdentifierType::GetValueLength(void)const  __ptr64
+?GetValueLength@SnmpObjectIdentifierType@@QEBAKXZ
+; public: unsigned long __cdecl SnmpOctetString::GetValueLength(void)const  __ptr64
+?GetValueLength@SnmpOctetString@@QEBAKXZ
+; public: unsigned long __cdecl SnmpOctetStringType::GetValueLength(void)const  __ptr64
+?GetValueLength@SnmpOctetStringType@@QEBAKXZ
+; public: unsigned long __cdecl SnmpOpaque::GetValueLength(void)const  __ptr64
+?GetValueLength@SnmpOpaque@@QEBAKXZ
+; public: unsigned long __cdecl SnmpOpaqueType::GetValueLength(void)const  __ptr64
+?GetValueLength@SnmpOpaqueType@@QEBAKXZ
+; public: class SnmpVarBind * __ptr64 __cdecl SnmpVarBindListNode::GetVarBind(void) __ptr64
+?GetVarBind@SnmpVarBindListNode@@QEAAPEAVSnmpVarBind@@XZ
+; public: virtual int __cdecl SnmpEncodeDecode::GetVarbindList(class SnmpPdu & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
+?GetVarbindList@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpVarBindList@@@Z
+; public: virtual class SnmpVarBindList & __ptr64 __cdecl SnmpPdu::GetVarbindList(void) __ptr64
+?GetVarbindList@SnmpPdu@@UEAAAEAVSnmpVarBindList@@XZ
+; public: unsigned long __cdecl SnmpSession::GetVarbindsPerPdu(void)const  __ptr64
+?GetVarbindsPerPdu@SnmpSession@@QEBAKXZ
+; protected: void * __ptr64 __cdecl SnmpEncodeDecode::GetWinSnmpSession(void) __ptr64
+?GetWinSnmpSession@SnmpEncodeDecode@@IEAAPEAXXZ
+; protected: void __cdecl SnmpVarBindList::GoBackward(class SnmpVarBindListNode * __ptr64,unsigned int) __ptr64
+?GoBackward@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@I@Z
+; protected: void __cdecl SnmpVarBindList::GoForward(class SnmpVarBindListNode * __ptr64,unsigned int) __ptr64
+?GoForward@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@I@Z
+; protected: int __cdecl SnmpVarBindList::GotoIndex(unsigned int) __ptr64
+?GotoIndex@SnmpVarBindList@@IEAAHI@Z
+; protected: void __cdecl SnmpVarBindList::GotoPosition(class SnmpVarBindList::ListPosition * __ptr64) __ptr64
+?GotoPosition@SnmpVarBindList@@IEAAXPEAVListPosition@1@@Z
+; private: void __cdecl SnmpImpSession::HandleDeletionEvent(void) __ptr64
+?HandleDeletionEvent@SnmpImpSession@@AEAAXXZ
+; private: void __cdecl SnmpImpSession::HandleSentFrame(unsigned long,class SnmpOperation * __ptr64) __ptr64
+?HandleSentFrame@SnmpImpSession@@AEAAXKPEAVSnmpOperation@@@Z
+; protected: virtual void __cdecl SnmpImpTransport::HandleSentFrame(unsigned long) __ptr64
+?HandleSentFrame@SnmpImpTransport@@MEAAXK@Z
+; public: static unsigned long __cdecl SnmpAnalyser::HexCharToDecInteger(char)
+?HexCharToDecInteger@SnmpAnalyser@@SAKD@Z
+; public: static unsigned long __cdecl SnmpAnalyser::HexWCharToDecInteger(unsigned short)
+?HexWCharToDecInteger@SnmpAnalyser@@SAKG@Z
+; protected: virtual void __cdecl SnmpAnalyser::Initialise(void) __ptr64
+?Initialise@SnmpAnalyser@@MEAAXXZ
+; protected: void __cdecl SnmpCommunityBasedSecurity::Initialize(void) __ptr64
+?Initialize@SnmpCommunityBasedSecurity@@IEAAXXZ
+; protected: virtual void __cdecl SnmpObjectIdentifier::Initialize(unsigned long const * __ptr64,unsigned long) __ptr64
+?Initialize@SnmpObjectIdentifier@@MEAAXPEBKK@Z
+; protected: virtual void __cdecl SnmpOctetString::Initialize(unsigned char const * __ptr64,unsigned long) __ptr64
+?Initialize@SnmpOctetString@@MEAAXPEBEK@Z
+; private: void __cdecl SnmpPdu::Initialize(unsigned char const * __ptr64,unsigned long const & __ptr64) __ptr64
+?Initialize@SnmpPdu@@AEAAXPEBEAEBK@Z
+; protected: void __cdecl SnmpVarBindList::Initialize(class SnmpVarBindList & __ptr64) __ptr64
+?Initialize@SnmpVarBindList@@IEAAXAEAV1@@Z
+; private: void __cdecl SnmpPdu::InitializeObject(class SnmpPdu & __ptr64) __ptr64
+?InitializeObject@SnmpPdu@@AEAAXAEAV1@@Z
+; protected: static int __cdecl SnmpEncodeDecode::InitializeStaticComponents(void)
+?InitializeStaticComponents@SnmpEncodeDecode@@KAHXZ
+; private: void __cdecl SnmpV1EncodeDecode::InitializeVariables(void) __ptr64
+?InitializeVariables@SnmpV1EncodeDecode@@AEAAXXZ
+; private: void __cdecl SnmpV2CEncodeDecode::InitializeVariables(void) __ptr64
+?InitializeVariables@SnmpV2CEncodeDecode@@AEAAXXZ
+; protected: void __cdecl SnmpVarBindList::Insert(class SnmpVarBindListNode * __ptr64,class SnmpVarBindListNode * __ptr64) __ptr64
+?Insert@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@0@Z
+; public: static int __cdecl SnmpAnalyser::IsAlpha(unsigned short)
+?IsAlpha@SnmpAnalyser@@SAHG@Z
+; public: static int __cdecl SnmpAnalyser::IsAlphaNumeric(unsigned short)
+?IsAlphaNumeric@SnmpAnalyser@@SAHG@Z
+; public: static int __cdecl SnmpAnalyser::IsDecimal(unsigned short)
+?IsDecimal@SnmpAnalyser@@SAHG@Z
+; public: static int __cdecl SnmpAnalyser::IsEof(unsigned short)
+?IsEof@SnmpAnalyser@@SAHG@Z
+; public: static int __cdecl SnmpAnalyser::IsHex(unsigned short)
+?IsHex@SnmpAnalyser@@SAHG@Z
+; public: static int __cdecl SnmpAnalyser::IsLeadingDecimal(unsigned short)
+?IsLeadingDecimal@SnmpAnalyser@@SAHG@Z
+; public: virtual int __cdecl SnmpInstanceType::IsNull(void)const  __ptr64
+?IsNull@SnmpInstanceType@@UEBAHXZ
+; public: static int __cdecl SnmpAnalyser::IsOctal(unsigned short)
+?IsOctal@SnmpAnalyser@@SAHG@Z
+; public: int __cdecl SnmpTrapReceiver::IsRegistered(void) __ptr64
+?IsRegistered@SnmpTrapReceiver@@QEAAHXZ
+; public: virtual int __cdecl SnmpCounter64Type::IsSNMPV1Type(void)const  __ptr64
+?IsSNMPV1Type@SnmpCounter64Type@@UEBAHXZ
+; public: virtual int __cdecl SnmpInstanceType::IsSNMPV1Type(void)const  __ptr64
+?IsSNMPV1Type@SnmpInstanceType@@UEBAHXZ
+; public: virtual int __cdecl SnmpInstanceType::IsSNMPV2CType(void)const  __ptr64
+?IsSNMPV2CType@SnmpInstanceType@@UEBAHXZ
+; public: virtual int __cdecl SnmpNullType::IsSNMPV2CType(void)const  __ptr64
+?IsSNMPV2CType@SnmpNullType@@UEBAHXZ
+; public: virtual int __cdecl SnmpInstanceType::IsValid(void)const  __ptr64
+?IsValid@SnmpInstanceType@@UEBAHXZ
+; public: int __cdecl SnmpPositiveRangedType::IsValid(void) __ptr64
+?IsValid@SnmpPositiveRangedType@@QEAAHXZ
+; public: virtual int __cdecl SnmpTransportIpAddress::IsValid(void)const  __ptr64
+?IsValid@SnmpTransportIpAddress@@UEBAHXZ
+; public: virtual int __cdecl SnmpTransportIpxAddress::IsValid(void)const  __ptr64
+?IsValid@SnmpTransportIpxAddress@@UEBAHXZ
+; public: static int __cdecl SnmpAnalyser::IsWhitespace(unsigned short)
+?IsWhitespace@SnmpAnalyser@@SAHG@Z
+; private: class SnmpLexicon * __ptr64 __cdecl SnmpBitStringType::Match(enum SnmpLexicon::LexiconToken) __ptr64
+?Match@SnmpBitStringType@@AEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
+; private: class SnmpLexicon * __ptr64 __cdecl SnmpDateTimeType::Match(enum SnmpLexicon::LexiconToken) __ptr64
+?Match@SnmpDateTimeType@@AEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
+; private: class SnmpLexicon * __ptr64 __cdecl SnmpEnumeratedType::Match(enum SnmpLexicon::LexiconToken) __ptr64
+?Match@SnmpEnumeratedType@@AEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
+; protected: class SnmpLexicon * __ptr64 __cdecl SnmpPositiveRangedType::Match(enum SnmpLexicon::LexiconToken) __ptr64
+?Match@SnmpPositiveRangedType@@IEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
+; public: int __cdecl SnmpVarBindList::Next(void) __ptr64
+?Next@SnmpVarBindList@@QEAAHXZ
+; private: void __cdecl SnmpImpSession::NotifyOperation(unsigned long,class SnmpPdu const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?NotifyOperation@SnmpImpSession@@AEAAXKAEBVSnmpPdu@@AEBVSnmpErrorReport@@@Z
+; public: static unsigned long __cdecl SnmpAnalyser::OctCharToDecInteger(char)
+?OctCharToDecInteger@SnmpAnalyser@@SAKD@Z
+; public: static unsigned long __cdecl SnmpAnalyser::OctWCharToDecInteger(unsigned short)
+?OctWCharToDecInteger@SnmpAnalyser@@SAKG@Z
+; private: void __cdecl SnmpObjectIdentifier::OverWrite(unsigned long const * __ptr64) __ptr64
+?OverWrite@SnmpObjectIdentifier@@AEAAXPEBK@Z
+; private: void __cdecl SnmpOctetString::OverWrite(unsigned char const * __ptr64) __ptr64
+?OverWrite@SnmpOctetString@@AEAAXPEBE@Z
+; private: int __cdecl SnmpBitStringType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpBitStringType@@AEAAHPEBG@Z
+; protected: int __cdecl SnmpCounter64Type::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpCounter64Type@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpCounterType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpCounterType@@IEAAHPEBG@Z
+; private: int __cdecl SnmpDateTimeType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpDateTimeType@@AEAAHPEBG@Z
+; private: int __cdecl SnmpEnumeratedType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpEnumeratedType@@AEAAHPEBG@Z
+; protected: int __cdecl SnmpFixedLengthPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpFixedLengthPhysAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpGaugeType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpGaugeType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpIPXAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpIPXAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpIntegerType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpIntegerType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpIpAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpIpAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpMacAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpMacAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpNetworkAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpNetworkAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpOSIAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpOSIAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpObjectIdentifierType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpObjectIdentifierType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpOctetStringType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpOctetStringType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpOpaqueType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpOpaqueType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpPhysAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpPositiveRangedType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpPositiveRangedType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpTimeTicksType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpTimeTicksType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpUDPAddressType::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpUDPAddressType@@IEAAHPEBG@Z
+; protected: int __cdecl SnmpUInteger32Type::Parse(unsigned short const * __ptr64) __ptr64
+?Parse@SnmpUInteger32Type@@IEAAHPEBG@Z
+; private: void __cdecl SnmpImpSession::PostSentFrameEvent(unsigned long,class SnmpOperation & __ptr64,class SnmpErrorReport) __ptr64
+?PostSentFrameEvent@SnmpImpSession@@AEAAXKAEAVSnmpOperation@@VSnmpErrorReport@@@Z
+; public: int __cdecl SnmpObjectIdentifier::Prefix(unsigned long,class SnmpObjectIdentifier & __ptr64)const  __ptr64
+?Prefix@SnmpObjectIdentifier@@QEBAHKAEAV1@@Z
+; private: long __cdecl SnmpOperation::ProcessInternalEvent(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64) __ptr64
+?ProcessInternalEvent@SnmpOperation@@AEAAJPEAUHWND__@@I_K_J@Z
+; private: int __cdecl GetNextOperation::ProcessRow(void) __ptr64
+?ProcessRow@GetNextOperation@@AEAAHXZ
+; private: void __cdecl SnmpBitStringType::PushBack(void) __ptr64
+?PushBack@SnmpBitStringType@@AEAAXXZ
+; private: void __cdecl SnmpDateTimeType::PushBack(void) __ptr64
+?PushBack@SnmpDateTimeType@@AEAAXXZ
+; private: void __cdecl SnmpEnumeratedType::PushBack(void) __ptr64
+?PushBack@SnmpEnumeratedType@@AEAAXXZ
+; protected: void __cdecl SnmpPositiveRangedType::PushBack(void) __ptr64
+?PushBack@SnmpPositiveRangedType@@IEAAXXZ
+; public: void __cdecl SnmpAnalyser::PutBack(class SnmpLexicon const * __ptr64) __ptr64
+?PutBack@SnmpAnalyser@@QEAAXPEBVSnmpLexicon@@@Z
+; protected: int __cdecl SnmpPositiveRangedType::RangeDef(void) __ptr64
+?RangeDef@SnmpPositiveRangedType@@IEAAHXZ
+; private: void __cdecl SnmpOperation::ReceiveErroredResponse(unsigned long,class SnmpVarBindList & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveErroredResponse@SnmpOperation@@AEAAXKAEAVSnmpVarBindList@@AEBVSnmpErrorReport@@@Z
+; protected: virtual void __cdecl GetNextOperation::ReceiveErroredVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveErroredVarBindResponse@GetNextOperation@@MEAAXAEBKAEBVSnmpVarBind@@AEBVSnmpErrorReport@@@Z
+; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveErroredVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveErroredVarBindResponse@SnmpAutoRetrieveOperation@@MEAAXAEBKAEBVSnmpVarBind@@AEBVSnmpErrorReport@@@Z
+; protected: virtual void __cdecl SnmpOperation::ReceiveErroredVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveErroredVarBindResponse@SnmpOperation@@MEAAXAEBKAEBVSnmpVarBind@@AEBVSnmpErrorReport@@@Z
+; public: void __cdecl SnmpAutoRetrieveOperation::ReceiveFrame(unsigned long,class SnmpPdu const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveFrame@SnmpAutoRetrieveOperation@@QEAAXKAEBVSnmpPdu@@AEBVSnmpErrorReport@@@Z
+; public: void __cdecl SnmpOperation::ReceiveFrame(unsigned long,class SnmpPdu const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveFrame@SnmpOperation@@QEAAXKAEBVSnmpPdu@@AEBVSnmpErrorReport@@@Z
+; protected: virtual void __cdecl GetNextOperation::ReceiveResponse(void) __ptr64
+?ReceiveResponse@GetNextOperation@@MEAAXXZ
+; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveResponse(void) __ptr64
+?ReceiveResponse@SnmpAutoRetrieveOperation@@MEAAXXZ
+; protected: virtual void __cdecl SnmpOperation::ReceiveResponse(void) __ptr64
+?ReceiveResponse@SnmpOperation@@MEAAXXZ
+; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveRowResponse(void) __ptr64
+?ReceiveRowResponse@SnmpAutoRetrieveOperation@@MEAAXXZ
+; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveRowVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveRowVarBindResponse@SnmpAutoRetrieveOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
+; protected: virtual void __cdecl GetNextOperation::ReceiveVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveVarBindResponse@GetNextOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
+; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveVarBindResponse@SnmpAutoRetrieveOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
+; protected: virtual void __cdecl SnmpOperation::ReceiveVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
+?ReceiveVarBindResponse@SnmpOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
+; private: int __cdecl SnmpBitStringType::RecursiveDef(void) __ptr64
+?RecursiveDef@SnmpBitStringType@@AEAAHXZ
+; private: int __cdecl SnmpEnumeratedType::RecursiveDef(void) __ptr64
+?RecursiveDef@SnmpEnumeratedType@@AEAAHXZ
+; protected: int __cdecl SnmpPositiveRangedType::RecursiveDef(void) __ptr64
+?RecursiveDef@SnmpPositiveRangedType@@IEAAHXZ
+; public: virtual void __cdecl SnmpImpSession::RegisterOperation(class SnmpOperation & __ptr64) __ptr64
+?RegisterOperation@SnmpImpSession@@UEAAXAEAVSnmpOperation@@@Z
+; protected: void __cdecl SnmpVarBindList::Release(class SnmpVarBindListNode * __ptr64) __ptr64
+?Release@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@@Z
+; public: void __cdecl SnmpVarBindList::Remove(void) __ptr64
+?Remove@SnmpVarBindList@@QEAAXXZ
+; protected: virtual unsigned long * __ptr64 __cdecl SnmpObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long,unsigned long const * __ptr64,unsigned long)const  __ptr64
+?Replicate@SnmpObjectIdentifier@@MEBAPEAKPEBKK0K@Z
+; protected: virtual unsigned long * __ptr64 __cdecl SnmpObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long)const  __ptr64
+?Replicate@SnmpObjectIdentifier@@MEBAPEAKPEBKK@Z
+; protected: virtual unsigned char * __ptr64 __cdecl SnmpOctetString::Replicate(unsigned char const * __ptr64,unsigned long) __ptr64
+?Replicate@SnmpOctetString@@MEAAPEAEPEBEK@Z
+; protected: virtual void __cdecl SnmpVarBind::Replicate(class SnmpObjectIdentifier const & __ptr64,class SnmpValue const & __ptr64) __ptr64
+?Replicate@SnmpVarBind@@MEAAXAEBVSnmpObjectIdentifier@@AEBVSnmpValue@@@Z
+; public: void __cdecl SnmpVarBindList::Reset(void) __ptr64
+?Reset@SnmpVarBindList@@QEAAXXZ
+; public: static unsigned long __cdecl SnmpImpSession::RetryCount(unsigned long)
+?RetryCount@SnmpImpSession@@SAKK@Z
+; public: static unsigned long __cdecl SnmpImpSession::RetryTimeout(unsigned long)
+?RetryTimeout@SnmpImpSession@@SAKK@Z
+; public: virtual class SnmpErrorReport  __cdecl SnmpCommunityBasedSecurity::Secure(class SnmpEncodeDecode & __ptr64,class SnmpPdu & __ptr64) __ptr64
+?Secure@SnmpCommunityBasedSecurity@@UEAA?AVSnmpErrorReport@@AEAVSnmpEncodeDecode@@AEAVSnmpPdu@@@Z
+; private: void __cdecl GetNextOperation::Send(void) __ptr64
+?Send@GetNextOperation@@AEAAXXZ
+; private: void __cdecl SnmpOperation::SendFrame(class VBList & __ptr64) __ptr64
+?SendFrame@SnmpOperation@@AEAAXAEAVVBList@@@Z
+; public: void __cdecl GetNextOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
+?SendRequest@GetNextOperation@@QEAAXAEAVSnmpVarBindList@@0@Z
+; public: virtual void __cdecl GetNextOperation::SendRequest(class SnmpVarBindList & __ptr64) __ptr64
+?SendRequest@GetNextOperation@@UEAAXAEAVSnmpVarBindList@@@Z
+; public: virtual void __cdecl SnmpAutoRetrieveOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
+?SendRequest@SnmpAutoRetrieveOperation@@UEAAXAEAVSnmpVarBindList@@0@Z
+; public: virtual void __cdecl SnmpAutoRetrieveOperation::SendRequest(class SnmpVarBindList & __ptr64) __ptr64
+?SendRequest@SnmpAutoRetrieveOperation@@UEAAXAEAVSnmpVarBindList@@@Z
+; private: void __cdecl SnmpOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpSecurity * __ptr64) __ptr64
+?SendRequest@SnmpOperation@@AEAAXAEAVSnmpVarBindList@@PEAVSnmpSecurity@@@Z
+; public: virtual void __cdecl SnmpOperation::SendRequest(class SnmpVarBindList & __ptr64) __ptr64
+?SendRequest@SnmpOperation@@UEAAXAEAVSnmpVarBindList@@@Z
+; public: virtual void __cdecl SnmpOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpSecurity & __ptr64) __ptr64
+?SendRequest@SnmpOperation@@UEAAXAEAVSnmpVarBindList@@AEAVSnmpSecurity@@@Z
+; private: void __cdecl SnmpOperation::SendVarBindList(class SnmpVarBindList & __ptr64,unsigned int,unsigned long) __ptr64
+?SendVarBindList@SnmpOperation@@AEAAXAEAVSnmpVarBindList@@IK@Z
+; protected: virtual void __cdecl GetNextOperation::SentFrame(unsigned long,class SnmpErrorReport const & __ptr64) __ptr64
+?SentFrame@GetNextOperation@@MEAAXKAEBVSnmpErrorReport@@@Z
+; public: virtual void __cdecl SnmpAutoRetrieveOperation::SentFrame(unsigned long,class SnmpErrorReport const & __ptr64) __ptr64
+?SentFrame@SnmpAutoRetrieveOperation@@UEAAXKAEBVSnmpErrorReport@@@Z
+; public: virtual void __cdecl SnmpOperation::SentFrame(unsigned long,class SnmpErrorReport const & __ptr64) __ptr64
+?SentFrame@SnmpOperation@@UEAAXKAEBVSnmpErrorReport@@@Z
+; public: virtual class SnmpErrorReport  __cdecl SnmpImpSession::SessionCancelFrame(unsigned long) __ptr64
+?SessionCancelFrame@SnmpImpSession@@UEAA?AVSnmpErrorReport@@K@Z
+; protected: virtual void __cdecl SnmpSession::SessionFlowControlOff(void) __ptr64
+?SessionFlowControlOff@SnmpSession@@MEAAXXZ
+; protected: virtual void __cdecl SnmpSession::SessionFlowControlOn(void) __ptr64
+?SessionFlowControlOn@SnmpSession@@MEAAXXZ
+; public: virtual void __cdecl SnmpImpSession::SessionReceiveFrame(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
+?SessionReceiveFrame@SnmpImpSession@@UEAAXAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
+; public: virtual void __cdecl SnmpImpSession::SessionSendFrame(class SnmpOperation & __ptr64,unsigned long & __ptr64,class SnmpPdu & __ptr64) __ptr64
+?SessionSendFrame@SnmpImpSession@@UEAAXAEAVSnmpOperation@@AEAKAEAVSnmpPdu@@@Z
+; public: virtual void __cdecl SnmpImpSession::SessionSendFrame(class SnmpOperation & __ptr64,unsigned long & __ptr64,class SnmpPdu & __ptr64,class SnmpSecurity & __ptr64) __ptr64
+?SessionSendFrame@SnmpImpSession@@UEAAXAEAVSnmpOperation@@AEAKAEAVSnmpPdu@@AEAVSnmpSecurity@@@Z
+; public: virtual void __cdecl SnmpImpSession::SessionSentFrame(unsigned long,class SnmpErrorReport & __ptr64) __ptr64
+?SessionSentFrame@SnmpImpSession@@UEAAXKAEAVSnmpErrorReport@@@Z
+; public: void __cdecl SnmpAnalyser::Set(unsigned short const * __ptr64) __ptr64
+?Set@SnmpAnalyser@@QEAAXPEBG@Z
+; public: void __cdecl SnmpCommunityBasedSecurity::SetCommunityName(class SnmpOctetString const & __ptr64) __ptr64
+?SetCommunityName@SnmpCommunityBasedSecurity@@QEAAXAEBVSnmpOctetString@@@Z
+; public: void __cdecl SnmpCommunityBasedSecurity::SetCommunityName(char const * __ptr64) __ptr64
+?SetCommunityName@SnmpCommunityBasedSecurity@@QEAAXPEBD@Z
+; public: virtual int __cdecl SnmpEncodeDecode::SetCommunityName(class SnmpPdu & __ptr64,class SnmpCommunityBasedSecurity & __ptr64) __ptr64
+?SetCommunityName@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpCommunityBasedSecurity@@@Z
+; public: virtual int __cdecl SnmpPdu::SetCommunityName(class SnmpCommunityBasedSecurity & __ptr64) __ptr64
+?SetCommunityName@SnmpPdu@@UEAAHAEAVSnmpCommunityBasedSecurity@@@Z
+; public: virtual int __cdecl SnmpEncodeDecode::SetDestinationAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress & __ptr64) __ptr64
+?SetDestinationAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpTransportAddress@@@Z
+; public: virtual int __cdecl SnmpPdu::SetDestinationAddress(class SnmpTransportAddress & __ptr64) __ptr64
+?SetDestinationAddress@SnmpPdu@@UEAAHAEAVSnmpTransportAddress@@@Z
+; public: void __cdecl SnmpErrorReport::SetError(enum SnmpError) __ptr64
+?SetError@SnmpErrorReport@@QEAAXW4SnmpError@@@Z
+; public: virtual int __cdecl SnmpEncodeDecode::SetErrorReport(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
+?SetErrorReport@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
+; public: virtual int __cdecl SnmpPdu::SetErrorReport(class SnmpErrorReport & __ptr64) __ptr64
+?SetErrorReport@SnmpPdu@@UEAAHAEAVSnmpErrorReport@@@Z
+; public: void __cdecl SnmpErrorReport::SetIndex(unsigned long) __ptr64
+?SetIndex@SnmpErrorReport@@QEAAXK@Z
+; public: void __cdecl SnmpNegativeRangeType::SetLowerBound(long const & __ptr64) __ptr64
+?SetLowerBound@SnmpNegativeRangeType@@QEAAXAEBJ@Z
+; public: void __cdecl SnmpPositiveRangeType::SetLowerBound(unsigned long const & __ptr64) __ptr64
+?SetLowerBound@SnmpPositiveRangeType@@QEAAXAEBK@Z
+; public: void __cdecl SnmpVarBindListNode::SetNext(class SnmpVarBindListNode * __ptr64) __ptr64
+?SetNext@SnmpVarBindListNode@@QEAAXPEAV1@@Z
+; public: void __cdecl SnmpInstanceType::SetNull(int) __ptr64
+?SetNull@SnmpInstanceType@@QEAAXH@Z
+; public: void __cdecl SnmpPdu::SetPdu(class SnmpPdu & __ptr64) __ptr64
+?SetPdu@SnmpPdu@@QEAAXAEAV1@@Z
+; public: void __cdecl SnmpPdu::SetPdu(unsigned char const * __ptr64,unsigned long) __ptr64
+?SetPdu@SnmpPdu@@QEAAXPEBEK@Z
+; public: virtual int __cdecl SnmpEncodeDecode::SetPduType(class SnmpPdu & __ptr64,enum SnmpEncodeDecode::PduType) __ptr64
+?SetPduType@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@W4PduType@1@@Z
+; public: virtual int __cdecl SnmpPdu::SetPduType(enum SnmpEncodeDecode::PduType) __ptr64
+?SetPduType@SnmpPdu@@UEAAHW4PduType@SnmpEncodeDecode@@@Z
+; public: void __cdecl SnmpVarBindListNode::SetPrevious(class SnmpVarBindListNode * __ptr64) __ptr64
+?SetPrevious@SnmpVarBindListNode@@QEAAXPEAV1@@Z
+; public: virtual int __cdecl SnmpEncodeDecode::SetRequestId(class SnmpPdu & __ptr64,long) __ptr64
+?SetRequestId@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@J@Z
+; public: virtual int __cdecl SnmpPdu::SetRequestId(long) __ptr64
+?SetRequestId@SnmpPdu@@UEAAHJ@Z
+; public: virtual int __cdecl SnmpEncodeDecode::SetSourceAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress & __ptr64) __ptr64
+?SetSourceAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpTransportAddress@@@Z
+; public: virtual int __cdecl SnmpPdu::SetSourceAddress(class SnmpTransportAddress & __ptr64) __ptr64
+?SetSourceAddress@SnmpPdu@@UEAAHAEAVSnmpTransportAddress@@@Z
+; public: void __cdecl SnmpErrorReport::SetStatus(enum SnmpStatus) __ptr64
+?SetStatus@SnmpErrorReport@@QEAAXW4SnmpStatus@@@Z
+; public: void __cdecl SnmpInstanceType::SetStatus(int) __ptr64
+?SetStatus@SnmpInstanceType@@QEAAXH@Z
+; public: void __cdecl SnmpPositiveRangedType::SetStatus(int const & __ptr64) __ptr64
+?SetStatus@SnmpPositiveRangedType@@QEAAXAEBH@Z
+; public: void __cdecl SnmpLexicon::SetToken(enum SnmpLexicon::LexiconToken) __ptr64
+?SetToken@SnmpLexicon@@QEAAXW4LexiconToken@1@@Z
+; protected: virtual void __cdecl SnmpV1EncodeDecode::SetTranslateMode(void) __ptr64
+?SetTranslateMode@SnmpV1EncodeDecode@@MEAAXXZ
+; protected: virtual void __cdecl SnmpV2CEncodeDecode::SetTranslateMode(void) __ptr64
+?SetTranslateMode@SnmpV2CEncodeDecode@@MEAAXXZ
+; public: void __cdecl SnmpNegativeRangeType::SetUpperBound(long const & __ptr64) __ptr64
+?SetUpperBound@SnmpNegativeRangeType@@QEAAXAEBJ@Z
+; public: void __cdecl SnmpPositiveRangeType::SetUpperBound(unsigned long const & __ptr64) __ptr64
+?SetUpperBound@SnmpPositiveRangeType@@QEAAXAEBK@Z
+; public: void __cdecl SnmpCounter64::SetValue(unsigned long,unsigned long) __ptr64
+?SetValue@SnmpCounter64@@QEAAXKK@Z
+; public: void __cdecl SnmpCounter::SetValue(unsigned long) __ptr64
+?SetValue@SnmpCounter@@QEAAXK@Z
+; public: void __cdecl SnmpGauge::SetValue(unsigned long) __ptr64
+?SetValue@SnmpGauge@@QEAAXK@Z
+; public: void __cdecl SnmpInteger::SetValue(long) __ptr64
+?SetValue@SnmpInteger@@QEAAXJ@Z
+; public: void __cdecl SnmpIpAddress::SetValue(unsigned long) __ptr64
+?SetValue@SnmpIpAddress@@QEAAXK@Z
+; public: void __cdecl SnmpObjectIdentifier::SetValue(unsigned long const * __ptr64,unsigned long) __ptr64
+?SetValue@SnmpObjectIdentifier@@QEAAXPEBKK@Z
+; public: void __cdecl SnmpOctetString::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
+?SetValue@SnmpOctetString@@QEAAXPEBEK@Z
+; public: void __cdecl SnmpOpaque::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
+?SetValue@SnmpOpaque@@QEAAXPEBEK@Z
+; public: void __cdecl SnmpTimeTicks::SetValue(unsigned long) __ptr64
+?SetValue@SnmpTimeTicks@@QEAAXK@Z
+; public: void __cdecl SnmpUInteger32::SetValue(unsigned long) __ptr64
+?SetValue@SnmpUInteger32@@QEAAXK@Z
+; public: virtual int __cdecl SnmpEncodeDecode::SetVarBindList(class SnmpPdu & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
+?SetVarBindList@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpVarBindList@@@Z
+; public: virtual int __cdecl SnmpPdu::SetVarBindList(class SnmpVarBindList & __ptr64) __ptr64
+?SetVarBindList@SnmpPdu@@UEAAHAEAVSnmpVarBindList@@@Z
+; public: static int __cdecl SnmpClassLibrary::Startup(void)
+?Startup@SnmpClassLibrary@@SAHXZ
+; public: int __cdecl SnmpObjectIdentifier::Suffix(unsigned long,class SnmpObjectIdentifier & __ptr64)const  __ptr64
+?Suffix@SnmpObjectIdentifier@@QEBAHKAEAV1@@Z
+; protected: virtual void __cdecl SnmpImpTransport::TransportFlowControlOff(void) __ptr64
+?TransportFlowControlOff@SnmpImpTransport@@MEAAXXZ
+; protected: virtual void __cdecl SnmpImpTransport::TransportFlowControlOn(void) __ptr64
+?TransportFlowControlOn@SnmpImpTransport@@MEAAXXZ
+; public: virtual void __cdecl SnmpImpTransport::TransportReceiveFrame(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
+?TransportReceiveFrame@SnmpImpTransport@@UEAAXAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
+; public: virtual void __cdecl SnmpImpTransport::TransportSendFrame(unsigned long & __ptr64,class SnmpPdu & __ptr64) __ptr64
+?TransportSendFrame@SnmpImpTransport@@UEAAXAEAKAEAVSnmpPdu@@@Z
+; public: virtual void __cdecl SnmpImpTransport::TransportSentFrame(unsigned long,class SnmpErrorReport & __ptr64) __ptr64
+?TransportSentFrame@SnmpImpTransport@@UEAAXKAEAVSnmpErrorReport@@@Z
+; protected: virtual void __cdecl SnmpObjectIdentifier::UnReplicate(unsigned long * __ptr64) __ptr64
+?UnReplicate@SnmpObjectIdentifier@@MEAAXPEAK@Z
+; protected: virtual void __cdecl SnmpOctetString::UnReplicate(unsigned char * __ptr64) __ptr64
+?UnReplicate@SnmpOctetString@@MEAAXPEAE@Z
+; unsigned short * __ptr64 __cdecl UnicodeStringAppend(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?UnicodeStringAppend@@YAPEAGPEBG0@Z
+; unsigned short * __ptr64 __cdecl UnicodeStringDuplicate(unsigned short const * __ptr64)
+?UnicodeStringDuplicate@@YAPEAGPEBG@Z
+; char * __ptr64 __cdecl UnicodeToDbcsString(unsigned short const * __ptr64)
+?UnicodeToDbcsString@@YAPEADPEBG@Z
+; public: static int __cdecl SnmpTransportIpAddress::ValidateAddress(char const * __ptr64,unsigned long)
+?ValidateAddress@SnmpTransportIpAddress@@SAHPEBDK@Z
+; public: static int __cdecl SnmpTransportIpxAddress::ValidateAddress(char const * __ptr64)
+?ValidateAddress@SnmpTransportIpxAddress@@SAHPEBD@Z
+; public: static unsigned long __cdecl SnmpImpSession::VarbindsPerPdu(unsigned long)
+?VarbindsPerPdu@SnmpImpSession@@SAKK@Z
+; public: static unsigned long __cdecl SnmpImpSession::WindowSize(unsigned long)
+?WindowSize@SnmpImpSession@@SAKK@Z
+; private: static unsigned long  SnmpImpTransport::next_transport_frame_id
+?next_transport_frame_id@SnmpImpTransport@@0KA DATA
+; protected: static class CriticalSection  SnmpEncodeDecode::s_CriticalSection
+?s_CriticalSection@SnmpEncodeDecode@@1VCriticalSection@@A DATA
+; protected: static long  SnmpClassLibrary::s_ReferenceCount
+?s_ReferenceCount@SnmpClassLibrary@@1JA DATA
diff --git a/mingw-w64-crt/lib64/snmpincl.def b/mingw-w64-crt/lib64/snmpincl.def
index f567574..4599e08 100644
--- a/mingw-w64-crt/lib64/snmpincl.def
+++ b/mingw-w64-crt/lib64/snmpincl.def
@@ -1,262 +1,262 @@
-; 
-; Exports of file SNMPINCL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SNMPINCL.dll
-EXPORTS
-; public: __cdecl WbemSnmpClassObject::WbemSnmpClassObject(class WbemSnmpClassObject const & __ptr64) __ptr64
-??0WbemSnmpClassObject@@QEAA@AEBV0@@Z
-; public: __cdecl WbemSnmpClassObject::WbemSnmpClassObject(unsigned short const * __ptr64,int) __ptr64
-??0WbemSnmpClassObject@@QEAA@PEBGH@Z
-; public: __cdecl WbemSnmpClassObject::WbemSnmpClassObject(void) __ptr64
-??0WbemSnmpClassObject@@QEAA@XZ
-; public: __cdecl WbemSnmpErrorObject::WbemSnmpErrorObject(class WbemSnmpErrorObject const & __ptr64) __ptr64
-??0WbemSnmpErrorObject@@QEAA@AEBV0@@Z
-; public: __cdecl WbemSnmpErrorObject::WbemSnmpErrorObject(void) __ptr64
-??0WbemSnmpErrorObject@@QEAA@XZ
-; public: __cdecl WbemSnmpProperty::WbemSnmpProperty(class WbemSnmpProperty const & __ptr64) __ptr64
-??0WbemSnmpProperty@@QEAA@AEBV0@@Z
-; public: __cdecl WbemSnmpProperty::WbemSnmpProperty(unsigned short const * __ptr64) __ptr64
-??0WbemSnmpProperty@@QEAA@PEBG@Z
-; public: __cdecl WbemSnmpQualifier::WbemSnmpQualifier(class WbemSnmpQualifier const & __ptr64) __ptr64
-??0WbemSnmpQualifier@@QEAA@AEBV0@@Z
-; public: __cdecl WbemSnmpQualifier::WbemSnmpQualifier(unsigned short const * __ptr64,class SnmpInstanceType const * __ptr64) __ptr64
-??0WbemSnmpQualifier@@QEAA@PEBGPEBVSnmpInstanceType@@@Z
-; public: virtual __cdecl WbemSnmpClassObject::~WbemSnmpClassObject(void) __ptr64
-??1WbemSnmpClassObject@@UEAA@XZ
-; public: virtual __cdecl WbemSnmpErrorObject::~WbemSnmpErrorObject(void) __ptr64
-??1WbemSnmpErrorObject@@UEAA@XZ
-; public: virtual __cdecl WbemSnmpProperty::~WbemSnmpProperty(void) __ptr64
-??1WbemSnmpProperty@@UEAA@XZ
-; public: virtual __cdecl WbemSnmpQualifier::~WbemSnmpQualifier(void) __ptr64
-??1WbemSnmpQualifier@@UEAA@XZ
-; public: class WbemSnmpClassObject & __ptr64 __cdecl WbemSnmpClassObject::operator=(class WbemSnmpClassObject const & __ptr64) __ptr64
-??4WbemSnmpClassObject@@QEAAAEAV0@AEBV0@@Z
-; public: class WbemSnmpErrorObject & __ptr64 __cdecl WbemSnmpErrorObject::operator=(class WbemSnmpErrorObject const & __ptr64) __ptr64
-??4WbemSnmpErrorObject@@QEAAAEAV0@AEBV0@@Z
-; public: class WbemSnmpProperty & __ptr64 __cdecl WbemSnmpProperty::operator=(class WbemSnmpProperty const & __ptr64) __ptr64
-??4WbemSnmpProperty@@QEAAAEAV0@AEBV0@@Z
-; public: class WbemSnmpQualifier & __ptr64 __cdecl WbemSnmpQualifier::operator=(class WbemSnmpQualifier const & __ptr64) __ptr64
-??4WbemSnmpQualifier@@QEAAAEAV0@AEBV0@@Z
-; const  WbemSnmpClassObject::`vftable'
-??_7WbemSnmpClassObject@@6B@
-; const  WbemSnmpErrorObject::`vftable'
-??_7WbemSnmpErrorObject@@6B@
-; const  WbemSnmpProperty::`vftable'
-??_7WbemSnmpProperty@@6B@
-; const  WbemSnmpQualifier::`vftable'
-??_7WbemSnmpQualifier@@6B@
-; private: void __cdecl WbemSnmpClassObject::AddKeyedProperty(class WbemSnmpProperty * __ptr64) __ptr64
-?AddKeyedProperty@WbemSnmpClassObject@@AEAAXPEAVWbemSnmpProperty@@@Z
-; public: int __cdecl WbemSnmpClassObject::AddKeyedProperty(unsigned short * __ptr64) __ptr64
-?AddKeyedProperty@WbemSnmpClassObject@@QEAAHPEAG@Z
-; public: int __cdecl WbemSnmpClassObject::AddProperty(unsigned short * __ptr64) __ptr64
-?AddProperty@WbemSnmpClassObject@@QEAAHPEAG@Z
-; public: int __cdecl WbemSnmpClassObject::AddProperty(class WbemSnmpProperty * __ptr64) __ptr64
-?AddProperty@WbemSnmpClassObject@@QEAAHPEAVWbemSnmpProperty@@@Z
-; public: int __cdecl WbemSnmpClassObject::AddQualifier(unsigned short * __ptr64) __ptr64
-?AddQualifier@WbemSnmpClassObject@@QEAAHPEAG@Z
-; public: int __cdecl WbemSnmpClassObject::AddQualifier(class WbemSnmpQualifier * __ptr64) __ptr64
-?AddQualifier@WbemSnmpClassObject@@QEAAHPEAVWbemSnmpQualifier@@@Z
-; public: int __cdecl WbemSnmpProperty::AddQualifier(unsigned short * __ptr64) __ptr64
-?AddQualifier@WbemSnmpProperty@@QEAAHPEAG@Z
-; public: int __cdecl WbemSnmpProperty::AddQualifier(class WbemSnmpQualifier * __ptr64) __ptr64
-?AddQualifier@WbemSnmpProperty@@QEAAHPEAVWbemSnmpQualifier@@@Z
-; public: virtual int __cdecl WbemSnmpClassObject::Check(class WbemSnmpErrorObject & __ptr64) __ptr64
-?Check@WbemSnmpClassObject@@UEAAHAEAVWbemSnmpErrorObject@@@Z
-; public: virtual int __cdecl WbemSnmpProperty::Check(class WbemSnmpErrorObject & __ptr64) __ptr64
-?Check@WbemSnmpProperty@@UEAAHAEAVWbemSnmpErrorObject@@@Z
-; public: void __cdecl WbemSnmpClassObject::DeleteProperty(unsigned short * __ptr64) __ptr64
-?DeleteProperty@WbemSnmpClassObject@@QEAAXPEAG@Z
-; public: int __cdecl WbemSnmpProperty::Encode(struct tagVARIANT const & __ptr64,class SnmpObjectIdentifier & __ptr64) __ptr64
-?Encode@WbemSnmpProperty@@QEAAHAEBUtagVARIANT@@AEAVSnmpObjectIdentifier@@@Z
-; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::FindKeyProperty(unsigned short * __ptr64)const  __ptr64
-?FindKeyProperty@WbemSnmpClassObject@@QEBAPEAVWbemSnmpProperty@@PEAG@Z
-; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::FindProperty(unsigned short * __ptr64)const  __ptr64
-?FindProperty@WbemSnmpClassObject@@QEBAPEAVWbemSnmpProperty@@PEAG@Z
-; public: class WbemSnmpQualifier * __ptr64 __cdecl WbemSnmpClassObject::FindQualifier(unsigned short * __ptr64)const  __ptr64
-?FindQualifier@WbemSnmpClassObject@@QEBAPEAVWbemSnmpQualifier@@PEAG@Z
-; public: class WbemSnmpQualifier * __ptr64 __cdecl WbemSnmpProperty::FindQualifier(unsigned short * __ptr64)const  __ptr64
-?FindQualifier@WbemSnmpProperty@@QEBAPEAVWbemSnmpQualifier@@PEAG@Z
-; public: int __cdecl WbemSnmpClassObject::Get(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64) __ptr64
-?Get@WbemSnmpClassObject@@QEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@@Z
-; public: long __cdecl WbemSnmpProperty::GetCimType(void) __ptr64
-?GetCimType@WbemSnmpProperty@@QEAAJXZ
-; public: unsigned short * __ptr64 __cdecl WbemSnmpClassObject::GetClassNameW(void)const  __ptr64
-?GetClassNameW@WbemSnmpClassObject@@QEBAPEAGXZ
-; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::GetCurrentProperty(void) __ptr64
-?GetCurrentProperty@WbemSnmpClassObject@@QEAAPEAVWbemSnmpProperty@@XZ
-; public: long __cdecl WbemSnmpProperty::GetHandle(void) __ptr64
-?GetHandle@WbemSnmpProperty@@QEAAJXZ
-; public: unsigned long __cdecl WbemSnmpProperty::GetKeyOrder(void) __ptr64
-?GetKeyOrder@WbemSnmpProperty@@QEAAKXZ
-; public: unsigned long __cdecl WbemSnmpClassObject::GetKeyPropertyCount(void) __ptr64
-?GetKeyPropertyCount@WbemSnmpClassObject@@QEAAKXZ
-; public: unsigned short * __ptr64 __cdecl WbemSnmpErrorObject::GetMessageW(void) __ptr64
-?GetMessageW@WbemSnmpErrorObject@@QEAAPEAGXZ
-; private: int __cdecl WbemSnmpClassObject::GetMosClassObject(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64) __ptr64
-?GetMosClassObject@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@@Z
-; private: int __cdecl WbemSnmpClassObject::GetMosClassObjectProperties(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64) __ptr64
-?GetMosClassObjectProperties@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@@Z
-; private: int __cdecl WbemSnmpClassObject::GetMosClassObjectPropertyQualifiers(class WbemSnmpErrorObject & __ptr64,class WbemSnmpProperty * __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
-?GetMosClassObjectPropertyQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAVWbemSnmpProperty@@PEAUIWbemQualifierSet@@@Z
-; private: int __cdecl WbemSnmpClassObject::GetMosClassObjectQualifiers(class WbemSnmpErrorObject & __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
-?GetMosClassObjectQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemQualifierSet@@@Z
-; public: unsigned short * __ptr64 __cdecl WbemSnmpProperty::GetName(void)const  __ptr64
-?GetName@WbemSnmpProperty@@QEBAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl WbemSnmpQualifier::GetName(void)const  __ptr64
-?GetName@WbemSnmpQualifier@@QEBAPEAGXZ
-; public: unsigned long __cdecl WbemSnmpClassObject::GetNumberOfAccessible(void) __ptr64
-?GetNumberOfAccessible@WbemSnmpClassObject@@QEAAKXZ
-; public: unsigned long __cdecl WbemSnmpClassObject::GetPropertyCount(void) __ptr64
-?GetPropertyCount@WbemSnmpClassObject@@QEAAKXZ
-; public: unsigned long __cdecl WbemSnmpClassObject::GetQualifierCount(void) __ptr64
-?GetQualifierCount@WbemSnmpClassObject@@QEAAKXZ
-; public: unsigned long __cdecl WbemSnmpProperty::GetQualifierCount(void) __ptr64
-?GetQualifierCount@WbemSnmpProperty@@QEAAKXZ
-; public: enum tag_WBEMSNMPSTATUS  __cdecl WbemSnmpErrorObject::GetStatus(void) __ptr64
-?GetStatus@WbemSnmpErrorObject@@QEAA?AW4tag_WBEMSNMPSTATUS@@XZ
-; public: int __cdecl WbemSnmpProperty::GetTag(void) __ptr64
-?GetTag@WbemSnmpProperty@@QEAAHXZ
-; public: unsigned long __cdecl WbemSnmpProperty::GetTextualConvention(void) __ptr64
-?GetTextualConvention@WbemSnmpProperty@@QEAAKXZ
-; public: int __cdecl WbemSnmpProperty::GetValue(struct tagVARIANT & __ptr64,long & __ptr64)const  __ptr64
-?GetValue@WbemSnmpProperty@@QEBAHAEAUtagVARIANT@@AEAJ@Z
-; public: class SnmpInstanceType * __ptr64 __cdecl WbemSnmpProperty::GetValue(void)const  __ptr64
-?GetValue@WbemSnmpProperty@@QEBAPEAVSnmpInstanceType@@XZ
-; public: int __cdecl WbemSnmpQualifier::GetValue(struct tagVARIANT & __ptr64)const  __ptr64
-?GetValue@WbemSnmpQualifier@@QEBAHAEAUtagVARIANT@@@Z
-; public: class SnmpInstanceType * __ptr64 __cdecl WbemSnmpQualifier::GetValue(void)const  __ptr64
-?GetValue@WbemSnmpQualifier@@QEBAPEAVSnmpInstanceType@@XZ
-; public: unsigned short __cdecl WbemSnmpProperty::GetValueVariantEncodedType(void)const  __ptr64
-?GetValueVariantEncodedType@WbemSnmpProperty@@QEBAGXZ
-; public: unsigned short __cdecl WbemSnmpProperty::GetValueVariantType(void)const  __ptr64
-?GetValueVariantType@WbemSnmpProperty@@QEBAGXZ
-; public: unsigned short __cdecl WbemSnmpQualifier::GetValueVariantType(void)const  __ptr64
-?GetValueVariantType@WbemSnmpQualifier@@QEBAGXZ
-; public: enum tag_WBEMSTATUS  __cdecl WbemSnmpErrorObject::GetWbemStatus(void) __ptr64
-?GetWbemStatus@WbemSnmpErrorObject@@QEAA?AW4tag_WBEMSTATUS@@XZ
-; public: int __cdecl WbemSnmpClassObject::GotoProperty(class WbemSnmpProperty * __ptr64) __ptr64
-?GotoProperty@WbemSnmpClassObject@@QEAAHPEAVWbemSnmpProperty@@@Z
-; public: int __cdecl WbemSnmpClassObject::IsClass(void) __ptr64
-?IsClass@WbemSnmpClassObject@@QEAAHXZ
-; public: int __cdecl WbemSnmpProperty::IsKey(void) __ptr64
-?IsKey@WbemSnmpProperty@@QEAAHXZ
-; public: int __cdecl WbemSnmpClassObject::IsKeyed(void) __ptr64
-?IsKeyed@WbemSnmpClassObject@@QEAAHXZ
-; public: int __cdecl WbemSnmpProperty::IsNull(void) __ptr64
-?IsNull@WbemSnmpProperty@@QEAAHXZ
-; public: int __cdecl WbemSnmpQualifier::IsPropagatable(void)const  __ptr64
-?IsPropagatable@WbemSnmpQualifier@@QEBAHXZ
-; public: int __cdecl WbemSnmpClassObject::IsReadable(void) __ptr64
-?IsReadable@WbemSnmpClassObject@@QEAAHXZ
-; public: int __cdecl WbemSnmpProperty::IsReadable(void) __ptr64
-?IsReadable@WbemSnmpProperty@@QEAAHXZ
-; public: int __cdecl WbemSnmpProperty::IsSNMPV1Type(void) __ptr64
-?IsSNMPV1Type@WbemSnmpProperty@@QEAAHXZ
-; public: int __cdecl WbemSnmpProperty::IsSNMPV2CType(void) __ptr64
-?IsSNMPV2CType@WbemSnmpProperty@@QEAAHXZ
-; public: int __cdecl WbemSnmpClassObject::IsSingleton(void) __ptr64
-?IsSingleton@WbemSnmpClassObject@@QEAAHXZ
-; public: int __cdecl WbemSnmpClassObject::IsVirtual(void) __ptr64
-?IsVirtual@WbemSnmpClassObject@@QEAAHXZ
-; public: int __cdecl WbemSnmpProperty::IsVirtualKey(void) __ptr64
-?IsVirtualKey@WbemSnmpProperty@@QEAAHXZ
-; public: int __cdecl WbemSnmpClassObject::IsWritable(void) __ptr64
-?IsWritable@WbemSnmpClassObject@@QEAAHXZ
-; public: int __cdecl WbemSnmpProperty::IsWritable(void) __ptr64
-?IsWritable@WbemSnmpProperty@@QEAAHXZ
-; public: int __cdecl WbemSnmpClassObject::Merge(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
-?Merge@WbemSnmpClassObject@@QEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
-; private: int __cdecl WbemSnmpClassObject::MergeMosClassObject(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
-?MergeMosClassObject@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
-; private: int __cdecl WbemSnmpClassObject::MergeMosClassObjectProperties(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
-?MergeMosClassObjectProperties@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
-; private: int __cdecl WbemSnmpClassObject::MergeMosClassObjectPropertyQualifiers(class WbemSnmpErrorObject & __ptr64,class WbemSnmpProperty * __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
-?MergeMosClassObjectPropertyQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAVWbemSnmpProperty@@PEAUIWbemQualifierSet@@@Z
-; private: int __cdecl WbemSnmpClassObject::MergeMosClassObjectQualifiers(class WbemSnmpErrorObject & __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
-?MergeMosClassObjectQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemQualifierSet@@@Z
-; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::NextKeyProperty(void) __ptr64
-?NextKeyProperty@WbemSnmpClassObject@@QEAAPEAVWbemSnmpProperty@@XZ
-; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::NextProperty(void) __ptr64
-?NextProperty@WbemSnmpClassObject@@QEAAPEAVWbemSnmpProperty@@XZ
-; public: class WbemSnmpQualifier * __ptr64 __cdecl WbemSnmpClassObject::NextQualifier(void) __ptr64
-?NextQualifier@WbemSnmpClassObject@@QEAAPEAVWbemSnmpQualifier@@XZ
-; public: class WbemSnmpQualifier * __ptr64 __cdecl WbemSnmpProperty::NextQualifier(void) __ptr64
-?NextQualifier@WbemSnmpProperty@@QEAAPEAVWbemSnmpQualifier@@XZ
-; public: void __cdecl WbemSnmpClassObject::ResetKeyProperty(void) __ptr64
-?ResetKeyProperty@WbemSnmpClassObject@@QEAAXXZ
-; public: void __cdecl WbemSnmpClassObject::ResetProperty(void) __ptr64
-?ResetProperty@WbemSnmpClassObject@@QEAAXXZ
-; public: void __cdecl WbemSnmpClassObject::ResetQualifier(void) __ptr64
-?ResetQualifier@WbemSnmpClassObject@@QEAAXXZ
-; public: void __cdecl WbemSnmpProperty::ResetQualifier(void) __ptr64
-?ResetQualifier@WbemSnmpProperty@@QEAAXXZ
-; public: int __cdecl WbemSnmpClassObject::Set(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
-?Set@WbemSnmpClassObject@@QEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
-; public: void __cdecl WbemSnmpProperty::SetHandle(long) __ptr64
-?SetHandle@WbemSnmpProperty@@QEAAXJ@Z
-; public: void __cdecl WbemSnmpClassObject::SetIsClass(int) __ptr64
-?SetIsClass@WbemSnmpClassObject@@QEAAXH@Z
-; public: void __cdecl WbemSnmpProperty::SetKey(int) __ptr64
-?SetKey@WbemSnmpProperty@@QEAAXH@Z
-; public: void __cdecl WbemSnmpProperty::SetKeyOrder(unsigned long) __ptr64
-?SetKeyOrder@WbemSnmpProperty@@QEAAXK@Z
-; public: void __cdecl WbemSnmpClassObject::SetKeyed(int) __ptr64
-?SetKeyed@WbemSnmpClassObject@@QEAAXH@Z
-; public: void __cdecl WbemSnmpErrorObject::SetMessage(unsigned short * __ptr64) __ptr64
-?SetMessage@WbemSnmpErrorObject@@QEAAXPEAG@Z
-; private: int __cdecl WbemSnmpClassObject::SetMosClassObject(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
-?SetMosClassObject@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
-; private: int __cdecl WbemSnmpClassObject::SetMosClassObjectProperties(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
-?SetMosClassObjectProperties@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
-; private: int __cdecl WbemSnmpClassObject::SetMosClassObjectPropertyQualifiers(class WbemSnmpErrorObject & __ptr64,class WbemSnmpProperty * __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
-?SetMosClassObjectPropertyQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAVWbemSnmpProperty@@PEAUIWbemQualifierSet@@@Z
-; private: int __cdecl WbemSnmpClassObject::SetMosClassObjectQualifiers(class WbemSnmpErrorObject & __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
-?SetMosClassObjectQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemQualifierSet@@@Z
-; public: void __cdecl WbemSnmpClassObject::SetNumberOfAccessible(unsigned long) __ptr64
-?SetNumberOfAccessible@WbemSnmpClassObject@@QEAAXK@Z
-; public: void __cdecl WbemSnmpClassObject::SetReadable(int) __ptr64
-?SetReadable@WbemSnmpClassObject@@QEAAXH@Z
-; public: void __cdecl WbemSnmpProperty::SetReadable(int) __ptr64
-?SetReadable@WbemSnmpProperty@@QEAAXH@Z
-; public: void __cdecl WbemSnmpClassObject::SetSingleton(int) __ptr64
-?SetSingleton@WbemSnmpClassObject@@QEAAXH@Z
-; public: void __cdecl WbemSnmpErrorObject::SetStatus(enum tag_WBEMSNMPSTATUS) __ptr64
-?SetStatus@WbemSnmpErrorObject@@QEAAXW4tag_WBEMSNMPSTATUS@@@Z
-; public: void __cdecl WbemSnmpProperty::SetTag(int) __ptr64
-?SetTag@WbemSnmpProperty@@QEAAXH@Z
-; public: void __cdecl WbemSnmpProperty::SetTextualConvention(unsigned long) __ptr64
-?SetTextualConvention@WbemSnmpProperty@@QEAAXK@Z
-; public: int __cdecl WbemSnmpProperty::SetValue(struct tagVARIANT const & __ptr64,long const & __ptr64,enum WbemPropertyValueCheck) __ptr64
-?SetValue@WbemSnmpProperty@@QEAAHAEBUtagVARIANT@@AEBJW4WbemPropertyValueCheck@@@Z
-; public: int __cdecl WbemSnmpProperty::SetValue(struct IWbemClassObject * __ptr64,class SnmpValue const * __ptr64,enum WbemPropertyValueCheck) __ptr64
-?SetValue@WbemSnmpProperty@@QEAAHPEAUIWbemClassObject@@PEBVSnmpValue@@W4WbemPropertyValueCheck@@@Z
-; public: int __cdecl WbemSnmpProperty::SetValue(unsigned short const * __ptr64,enum WbemPropertyValueCheck) __ptr64
-?SetValue@WbemSnmpProperty@@QEAAHPEBGW4WbemPropertyValueCheck@@@Z
-; public: int __cdecl WbemSnmpProperty::SetValue(class SnmpInstanceType const * __ptr64,enum WbemPropertyValueCheck) __ptr64
-?SetValue@WbemSnmpProperty@@QEAAHPEBVSnmpInstanceType@@W4WbemPropertyValueCheck@@@Z
-; public: int __cdecl WbemSnmpProperty::SetValue(class SnmpValue const * __ptr64,enum WbemPropertyValueCheck) __ptr64
-?SetValue@WbemSnmpProperty@@QEAAHPEBVSnmpValue@@W4WbemPropertyValueCheck@@@Z
-; public: int __cdecl WbemSnmpQualifier::SetValue(struct tagVARIANT const & __ptr64) __ptr64
-?SetValue@WbemSnmpQualifier@@QEAAHAEBUtagVARIANT@@@Z
-; public: int __cdecl WbemSnmpQualifier::SetValue(struct IWbemQualifierSet * __ptr64,class SnmpInstanceType const & __ptr64) __ptr64
-?SetValue@WbemSnmpQualifier@@QEAAHPEAUIWbemQualifierSet@@AEBVSnmpInstanceType@@@Z
-; public: int __cdecl WbemSnmpQualifier::SetValue(class SnmpInstanceType const * __ptr64) __ptr64
-?SetValue@WbemSnmpQualifier@@QEAAHPEBVSnmpInstanceType@@@Z
-; public: void __cdecl WbemSnmpClassObject::SetVirtual(int) __ptr64
-?SetVirtual@WbemSnmpClassObject@@QEAAXH@Z
-; public: void __cdecl WbemSnmpProperty::SetVirtualKey(int) __ptr64
-?SetVirtualKey@WbemSnmpProperty@@QEAAXH@Z
-; public: void __cdecl WbemSnmpErrorObject::SetWbemStatus(enum tag_WBEMSTATUS) __ptr64
-?SetWbemStatus@WbemSnmpErrorObject@@QEAAXW4tag_WBEMSTATUS@@@Z
-; public: void __cdecl WbemSnmpClassObject::SetWritable(int) __ptr64
-?SetWritable@WbemSnmpClassObject@@QEAAXH@Z
-; public: void __cdecl WbemSnmpProperty::SetWritable(int) __ptr64
-?SetWritable@WbemSnmpProperty@@QEAAXH@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SNMPINCL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SNMPINCL.dll
+EXPORTS
+; public: __cdecl WbemSnmpClassObject::WbemSnmpClassObject(class WbemSnmpClassObject const & __ptr64) __ptr64
+??0WbemSnmpClassObject@@QEAA@AEBV0@@Z
+; public: __cdecl WbemSnmpClassObject::WbemSnmpClassObject(unsigned short const * __ptr64,int) __ptr64
+??0WbemSnmpClassObject@@QEAA@PEBGH@Z
+; public: __cdecl WbemSnmpClassObject::WbemSnmpClassObject(void) __ptr64
+??0WbemSnmpClassObject@@QEAA@XZ
+; public: __cdecl WbemSnmpErrorObject::WbemSnmpErrorObject(class WbemSnmpErrorObject const & __ptr64) __ptr64
+??0WbemSnmpErrorObject@@QEAA@AEBV0@@Z
+; public: __cdecl WbemSnmpErrorObject::WbemSnmpErrorObject(void) __ptr64
+??0WbemSnmpErrorObject@@QEAA@XZ
+; public: __cdecl WbemSnmpProperty::WbemSnmpProperty(class WbemSnmpProperty const & __ptr64) __ptr64
+??0WbemSnmpProperty@@QEAA@AEBV0@@Z
+; public: __cdecl WbemSnmpProperty::WbemSnmpProperty(unsigned short const * __ptr64) __ptr64
+??0WbemSnmpProperty@@QEAA@PEBG@Z
+; public: __cdecl WbemSnmpQualifier::WbemSnmpQualifier(class WbemSnmpQualifier const & __ptr64) __ptr64
+??0WbemSnmpQualifier@@QEAA@AEBV0@@Z
+; public: __cdecl WbemSnmpQualifier::WbemSnmpQualifier(unsigned short const * __ptr64,class SnmpInstanceType const * __ptr64) __ptr64
+??0WbemSnmpQualifier@@QEAA@PEBGPEBVSnmpInstanceType@@@Z
+; public: virtual __cdecl WbemSnmpClassObject::~WbemSnmpClassObject(void) __ptr64
+??1WbemSnmpClassObject@@UEAA@XZ
+; public: virtual __cdecl WbemSnmpErrorObject::~WbemSnmpErrorObject(void) __ptr64
+??1WbemSnmpErrorObject@@UEAA@XZ
+; public: virtual __cdecl WbemSnmpProperty::~WbemSnmpProperty(void) __ptr64
+??1WbemSnmpProperty@@UEAA@XZ
+; public: virtual __cdecl WbemSnmpQualifier::~WbemSnmpQualifier(void) __ptr64
+??1WbemSnmpQualifier@@UEAA@XZ
+; public: class WbemSnmpClassObject & __ptr64 __cdecl WbemSnmpClassObject::operator=(class WbemSnmpClassObject const & __ptr64) __ptr64
+??4WbemSnmpClassObject@@QEAAAEAV0@AEBV0@@Z
+; public: class WbemSnmpErrorObject & __ptr64 __cdecl WbemSnmpErrorObject::operator=(class WbemSnmpErrorObject const & __ptr64) __ptr64
+??4WbemSnmpErrorObject@@QEAAAEAV0@AEBV0@@Z
+; public: class WbemSnmpProperty & __ptr64 __cdecl WbemSnmpProperty::operator=(class WbemSnmpProperty const & __ptr64) __ptr64
+??4WbemSnmpProperty@@QEAAAEAV0@AEBV0@@Z
+; public: class WbemSnmpQualifier & __ptr64 __cdecl WbemSnmpQualifier::operator=(class WbemSnmpQualifier const & __ptr64) __ptr64
+??4WbemSnmpQualifier@@QEAAAEAV0@AEBV0@@Z
+; const  WbemSnmpClassObject::`vftable'
+??_7WbemSnmpClassObject@@6B@
+; const  WbemSnmpErrorObject::`vftable'
+??_7WbemSnmpErrorObject@@6B@
+; const  WbemSnmpProperty::`vftable'
+??_7WbemSnmpProperty@@6B@
+; const  WbemSnmpQualifier::`vftable'
+??_7WbemSnmpQualifier@@6B@
+; private: void __cdecl WbemSnmpClassObject::AddKeyedProperty(class WbemSnmpProperty * __ptr64) __ptr64
+?AddKeyedProperty@WbemSnmpClassObject@@AEAAXPEAVWbemSnmpProperty@@@Z
+; public: int __cdecl WbemSnmpClassObject::AddKeyedProperty(unsigned short * __ptr64) __ptr64
+?AddKeyedProperty@WbemSnmpClassObject@@QEAAHPEAG@Z
+; public: int __cdecl WbemSnmpClassObject::AddProperty(unsigned short * __ptr64) __ptr64
+?AddProperty@WbemSnmpClassObject@@QEAAHPEAG@Z
+; public: int __cdecl WbemSnmpClassObject::AddProperty(class WbemSnmpProperty * __ptr64) __ptr64
+?AddProperty@WbemSnmpClassObject@@QEAAHPEAVWbemSnmpProperty@@@Z
+; public: int __cdecl WbemSnmpClassObject::AddQualifier(unsigned short * __ptr64) __ptr64
+?AddQualifier@WbemSnmpClassObject@@QEAAHPEAG@Z
+; public: int __cdecl WbemSnmpClassObject::AddQualifier(class WbemSnmpQualifier * __ptr64) __ptr64
+?AddQualifier@WbemSnmpClassObject@@QEAAHPEAVWbemSnmpQualifier@@@Z
+; public: int __cdecl WbemSnmpProperty::AddQualifier(unsigned short * __ptr64) __ptr64
+?AddQualifier@WbemSnmpProperty@@QEAAHPEAG@Z
+; public: int __cdecl WbemSnmpProperty::AddQualifier(class WbemSnmpQualifier * __ptr64) __ptr64
+?AddQualifier@WbemSnmpProperty@@QEAAHPEAVWbemSnmpQualifier@@@Z
+; public: virtual int __cdecl WbemSnmpClassObject::Check(class WbemSnmpErrorObject & __ptr64) __ptr64
+?Check@WbemSnmpClassObject@@UEAAHAEAVWbemSnmpErrorObject@@@Z
+; public: virtual int __cdecl WbemSnmpProperty::Check(class WbemSnmpErrorObject & __ptr64) __ptr64
+?Check@WbemSnmpProperty@@UEAAHAEAVWbemSnmpErrorObject@@@Z
+; public: void __cdecl WbemSnmpClassObject::DeleteProperty(unsigned short * __ptr64) __ptr64
+?DeleteProperty@WbemSnmpClassObject@@QEAAXPEAG@Z
+; public: int __cdecl WbemSnmpProperty::Encode(struct tagVARIANT const & __ptr64,class SnmpObjectIdentifier & __ptr64) __ptr64
+?Encode@WbemSnmpProperty@@QEAAHAEBUtagVARIANT@@AEAVSnmpObjectIdentifier@@@Z
+; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::FindKeyProperty(unsigned short * __ptr64)const  __ptr64
+?FindKeyProperty@WbemSnmpClassObject@@QEBAPEAVWbemSnmpProperty@@PEAG@Z
+; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::FindProperty(unsigned short * __ptr64)const  __ptr64
+?FindProperty@WbemSnmpClassObject@@QEBAPEAVWbemSnmpProperty@@PEAG@Z
+; public: class WbemSnmpQualifier * __ptr64 __cdecl WbemSnmpClassObject::FindQualifier(unsigned short * __ptr64)const  __ptr64
+?FindQualifier@WbemSnmpClassObject@@QEBAPEAVWbemSnmpQualifier@@PEAG@Z
+; public: class WbemSnmpQualifier * __ptr64 __cdecl WbemSnmpProperty::FindQualifier(unsigned short * __ptr64)const  __ptr64
+?FindQualifier@WbemSnmpProperty@@QEBAPEAVWbemSnmpQualifier@@PEAG@Z
+; public: int __cdecl WbemSnmpClassObject::Get(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64) __ptr64
+?Get@WbemSnmpClassObject@@QEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@@Z
+; public: long __cdecl WbemSnmpProperty::GetCimType(void) __ptr64
+?GetCimType@WbemSnmpProperty@@QEAAJXZ
+; public: unsigned short * __ptr64 __cdecl WbemSnmpClassObject::GetClassNameW(void)const  __ptr64
+?GetClassNameW@WbemSnmpClassObject@@QEBAPEAGXZ
+; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::GetCurrentProperty(void) __ptr64
+?GetCurrentProperty@WbemSnmpClassObject@@QEAAPEAVWbemSnmpProperty@@XZ
+; public: long __cdecl WbemSnmpProperty::GetHandle(void) __ptr64
+?GetHandle@WbemSnmpProperty@@QEAAJXZ
+; public: unsigned long __cdecl WbemSnmpProperty::GetKeyOrder(void) __ptr64
+?GetKeyOrder@WbemSnmpProperty@@QEAAKXZ
+; public: unsigned long __cdecl WbemSnmpClassObject::GetKeyPropertyCount(void) __ptr64
+?GetKeyPropertyCount@WbemSnmpClassObject@@QEAAKXZ
+; public: unsigned short * __ptr64 __cdecl WbemSnmpErrorObject::GetMessageW(void) __ptr64
+?GetMessageW@WbemSnmpErrorObject@@QEAAPEAGXZ
+; private: int __cdecl WbemSnmpClassObject::GetMosClassObject(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64) __ptr64
+?GetMosClassObject@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@@Z
+; private: int __cdecl WbemSnmpClassObject::GetMosClassObjectProperties(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64) __ptr64
+?GetMosClassObjectProperties@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@@Z
+; private: int __cdecl WbemSnmpClassObject::GetMosClassObjectPropertyQualifiers(class WbemSnmpErrorObject & __ptr64,class WbemSnmpProperty * __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
+?GetMosClassObjectPropertyQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAVWbemSnmpProperty@@PEAUIWbemQualifierSet@@@Z
+; private: int __cdecl WbemSnmpClassObject::GetMosClassObjectQualifiers(class WbemSnmpErrorObject & __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
+?GetMosClassObjectQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemQualifierSet@@@Z
+; public: unsigned short * __ptr64 __cdecl WbemSnmpProperty::GetName(void)const  __ptr64
+?GetName@WbemSnmpProperty@@QEBAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl WbemSnmpQualifier::GetName(void)const  __ptr64
+?GetName@WbemSnmpQualifier@@QEBAPEAGXZ
+; public: unsigned long __cdecl WbemSnmpClassObject::GetNumberOfAccessible(void) __ptr64
+?GetNumberOfAccessible@WbemSnmpClassObject@@QEAAKXZ
+; public: unsigned long __cdecl WbemSnmpClassObject::GetPropertyCount(void) __ptr64
+?GetPropertyCount@WbemSnmpClassObject@@QEAAKXZ
+; public: unsigned long __cdecl WbemSnmpClassObject::GetQualifierCount(void) __ptr64
+?GetQualifierCount@WbemSnmpClassObject@@QEAAKXZ
+; public: unsigned long __cdecl WbemSnmpProperty::GetQualifierCount(void) __ptr64
+?GetQualifierCount@WbemSnmpProperty@@QEAAKXZ
+; public: enum tag_WBEMSNMPSTATUS  __cdecl WbemSnmpErrorObject::GetStatus(void) __ptr64
+?GetStatus@WbemSnmpErrorObject@@QEAA?AW4tag_WBEMSNMPSTATUS@@XZ
+; public: int __cdecl WbemSnmpProperty::GetTag(void) __ptr64
+?GetTag@WbemSnmpProperty@@QEAAHXZ
+; public: unsigned long __cdecl WbemSnmpProperty::GetTextualConvention(void) __ptr64
+?GetTextualConvention@WbemSnmpProperty@@QEAAKXZ
+; public: int __cdecl WbemSnmpProperty::GetValue(struct tagVARIANT & __ptr64,long & __ptr64)const  __ptr64
+?GetValue@WbemSnmpProperty@@QEBAHAEAUtagVARIANT@@AEAJ@Z
+; public: class SnmpInstanceType * __ptr64 __cdecl WbemSnmpProperty::GetValue(void)const  __ptr64
+?GetValue@WbemSnmpProperty@@QEBAPEAVSnmpInstanceType@@XZ
+; public: int __cdecl WbemSnmpQualifier::GetValue(struct tagVARIANT & __ptr64)const  __ptr64
+?GetValue@WbemSnmpQualifier@@QEBAHAEAUtagVARIANT@@@Z
+; public: class SnmpInstanceType * __ptr64 __cdecl WbemSnmpQualifier::GetValue(void)const  __ptr64
+?GetValue@WbemSnmpQualifier@@QEBAPEAVSnmpInstanceType@@XZ
+; public: unsigned short __cdecl WbemSnmpProperty::GetValueVariantEncodedType(void)const  __ptr64
+?GetValueVariantEncodedType@WbemSnmpProperty@@QEBAGXZ
+; public: unsigned short __cdecl WbemSnmpProperty::GetValueVariantType(void)const  __ptr64
+?GetValueVariantType@WbemSnmpProperty@@QEBAGXZ
+; public: unsigned short __cdecl WbemSnmpQualifier::GetValueVariantType(void)const  __ptr64
+?GetValueVariantType@WbemSnmpQualifier@@QEBAGXZ
+; public: enum tag_WBEMSTATUS  __cdecl WbemSnmpErrorObject::GetWbemStatus(void) __ptr64
+?GetWbemStatus@WbemSnmpErrorObject@@QEAA?AW4tag_WBEMSTATUS@@XZ
+; public: int __cdecl WbemSnmpClassObject::GotoProperty(class WbemSnmpProperty * __ptr64) __ptr64
+?GotoProperty@WbemSnmpClassObject@@QEAAHPEAVWbemSnmpProperty@@@Z
+; public: int __cdecl WbemSnmpClassObject::IsClass(void) __ptr64
+?IsClass@WbemSnmpClassObject@@QEAAHXZ
+; public: int __cdecl WbemSnmpProperty::IsKey(void) __ptr64
+?IsKey@WbemSnmpProperty@@QEAAHXZ
+; public: int __cdecl WbemSnmpClassObject::IsKeyed(void) __ptr64
+?IsKeyed@WbemSnmpClassObject@@QEAAHXZ
+; public: int __cdecl WbemSnmpProperty::IsNull(void) __ptr64
+?IsNull@WbemSnmpProperty@@QEAAHXZ
+; public: int __cdecl WbemSnmpQualifier::IsPropagatable(void)const  __ptr64
+?IsPropagatable@WbemSnmpQualifier@@QEBAHXZ
+; public: int __cdecl WbemSnmpClassObject::IsReadable(void) __ptr64
+?IsReadable@WbemSnmpClassObject@@QEAAHXZ
+; public: int __cdecl WbemSnmpProperty::IsReadable(void) __ptr64
+?IsReadable@WbemSnmpProperty@@QEAAHXZ
+; public: int __cdecl WbemSnmpProperty::IsSNMPV1Type(void) __ptr64
+?IsSNMPV1Type@WbemSnmpProperty@@QEAAHXZ
+; public: int __cdecl WbemSnmpProperty::IsSNMPV2CType(void) __ptr64
+?IsSNMPV2CType@WbemSnmpProperty@@QEAAHXZ
+; public: int __cdecl WbemSnmpClassObject::IsSingleton(void) __ptr64
+?IsSingleton@WbemSnmpClassObject@@QEAAHXZ
+; public: int __cdecl WbemSnmpClassObject::IsVirtual(void) __ptr64
+?IsVirtual@WbemSnmpClassObject@@QEAAHXZ
+; public: int __cdecl WbemSnmpProperty::IsVirtualKey(void) __ptr64
+?IsVirtualKey@WbemSnmpProperty@@QEAAHXZ
+; public: int __cdecl WbemSnmpClassObject::IsWritable(void) __ptr64
+?IsWritable@WbemSnmpClassObject@@QEAAHXZ
+; public: int __cdecl WbemSnmpProperty::IsWritable(void) __ptr64
+?IsWritable@WbemSnmpProperty@@QEAAHXZ
+; public: int __cdecl WbemSnmpClassObject::Merge(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
+?Merge@WbemSnmpClassObject@@QEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
+; private: int __cdecl WbemSnmpClassObject::MergeMosClassObject(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
+?MergeMosClassObject@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
+; private: int __cdecl WbemSnmpClassObject::MergeMosClassObjectProperties(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
+?MergeMosClassObjectProperties@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
+; private: int __cdecl WbemSnmpClassObject::MergeMosClassObjectPropertyQualifiers(class WbemSnmpErrorObject & __ptr64,class WbemSnmpProperty * __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
+?MergeMosClassObjectPropertyQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAVWbemSnmpProperty@@PEAUIWbemQualifierSet@@@Z
+; private: int __cdecl WbemSnmpClassObject::MergeMosClassObjectQualifiers(class WbemSnmpErrorObject & __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
+?MergeMosClassObjectQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemQualifierSet@@@Z
+; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::NextKeyProperty(void) __ptr64
+?NextKeyProperty@WbemSnmpClassObject@@QEAAPEAVWbemSnmpProperty@@XZ
+; public: class WbemSnmpProperty * __ptr64 __cdecl WbemSnmpClassObject::NextProperty(void) __ptr64
+?NextProperty@WbemSnmpClassObject@@QEAAPEAVWbemSnmpProperty@@XZ
+; public: class WbemSnmpQualifier * __ptr64 __cdecl WbemSnmpClassObject::NextQualifier(void) __ptr64
+?NextQualifier@WbemSnmpClassObject@@QEAAPEAVWbemSnmpQualifier@@XZ
+; public: class WbemSnmpQualifier * __ptr64 __cdecl WbemSnmpProperty::NextQualifier(void) __ptr64
+?NextQualifier@WbemSnmpProperty@@QEAAPEAVWbemSnmpQualifier@@XZ
+; public: void __cdecl WbemSnmpClassObject::ResetKeyProperty(void) __ptr64
+?ResetKeyProperty@WbemSnmpClassObject@@QEAAXXZ
+; public: void __cdecl WbemSnmpClassObject::ResetProperty(void) __ptr64
+?ResetProperty@WbemSnmpClassObject@@QEAAXXZ
+; public: void __cdecl WbemSnmpClassObject::ResetQualifier(void) __ptr64
+?ResetQualifier@WbemSnmpClassObject@@QEAAXXZ
+; public: void __cdecl WbemSnmpProperty::ResetQualifier(void) __ptr64
+?ResetQualifier@WbemSnmpProperty@@QEAAXXZ
+; public: int __cdecl WbemSnmpClassObject::Set(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
+?Set@WbemSnmpClassObject@@QEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
+; public: void __cdecl WbemSnmpProperty::SetHandle(long) __ptr64
+?SetHandle@WbemSnmpProperty@@QEAAXJ@Z
+; public: void __cdecl WbemSnmpClassObject::SetIsClass(int) __ptr64
+?SetIsClass@WbemSnmpClassObject@@QEAAXH@Z
+; public: void __cdecl WbemSnmpProperty::SetKey(int) __ptr64
+?SetKey@WbemSnmpProperty@@QEAAXH@Z
+; public: void __cdecl WbemSnmpProperty::SetKeyOrder(unsigned long) __ptr64
+?SetKeyOrder@WbemSnmpProperty@@QEAAXK@Z
+; public: void __cdecl WbemSnmpClassObject::SetKeyed(int) __ptr64
+?SetKeyed@WbemSnmpClassObject@@QEAAXH@Z
+; public: void __cdecl WbemSnmpErrorObject::SetMessage(unsigned short * __ptr64) __ptr64
+?SetMessage@WbemSnmpErrorObject@@QEAAXPEAG@Z
+; private: int __cdecl WbemSnmpClassObject::SetMosClassObject(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
+?SetMosClassObject@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
+; private: int __cdecl WbemSnmpClassObject::SetMosClassObjectProperties(class WbemSnmpErrorObject & __ptr64,struct IWbemClassObject * __ptr64,int) __ptr64
+?SetMosClassObjectProperties@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemClassObject@@H@Z
+; private: int __cdecl WbemSnmpClassObject::SetMosClassObjectPropertyQualifiers(class WbemSnmpErrorObject & __ptr64,class WbemSnmpProperty * __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
+?SetMosClassObjectPropertyQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAVWbemSnmpProperty@@PEAUIWbemQualifierSet@@@Z
+; private: int __cdecl WbemSnmpClassObject::SetMosClassObjectQualifiers(class WbemSnmpErrorObject & __ptr64,struct IWbemQualifierSet * __ptr64) __ptr64
+?SetMosClassObjectQualifiers@WbemSnmpClassObject@@AEAAHAEAVWbemSnmpErrorObject@@PEAUIWbemQualifierSet@@@Z
+; public: void __cdecl WbemSnmpClassObject::SetNumberOfAccessible(unsigned long) __ptr64
+?SetNumberOfAccessible@WbemSnmpClassObject@@QEAAXK@Z
+; public: void __cdecl WbemSnmpClassObject::SetReadable(int) __ptr64
+?SetReadable@WbemSnmpClassObject@@QEAAXH@Z
+; public: void __cdecl WbemSnmpProperty::SetReadable(int) __ptr64
+?SetReadable@WbemSnmpProperty@@QEAAXH@Z
+; public: void __cdecl WbemSnmpClassObject::SetSingleton(int) __ptr64
+?SetSingleton@WbemSnmpClassObject@@QEAAXH@Z
+; public: void __cdecl WbemSnmpErrorObject::SetStatus(enum tag_WBEMSNMPSTATUS) __ptr64
+?SetStatus@WbemSnmpErrorObject@@QEAAXW4tag_WBEMSNMPSTATUS@@@Z
+; public: void __cdecl WbemSnmpProperty::SetTag(int) __ptr64
+?SetTag@WbemSnmpProperty@@QEAAXH@Z
+; public: void __cdecl WbemSnmpProperty::SetTextualConvention(unsigned long) __ptr64
+?SetTextualConvention@WbemSnmpProperty@@QEAAXK@Z
+; public: int __cdecl WbemSnmpProperty::SetValue(struct tagVARIANT const & __ptr64,long const & __ptr64,enum WbemPropertyValueCheck) __ptr64
+?SetValue@WbemSnmpProperty@@QEAAHAEBUtagVARIANT@@AEBJW4WbemPropertyValueCheck@@@Z
+; public: int __cdecl WbemSnmpProperty::SetValue(struct IWbemClassObject * __ptr64,class SnmpValue const * __ptr64,enum WbemPropertyValueCheck) __ptr64
+?SetValue@WbemSnmpProperty@@QEAAHPEAUIWbemClassObject@@PEBVSnmpValue@@W4WbemPropertyValueCheck@@@Z
+; public: int __cdecl WbemSnmpProperty::SetValue(unsigned short const * __ptr64,enum WbemPropertyValueCheck) __ptr64
+?SetValue@WbemSnmpProperty@@QEAAHPEBGW4WbemPropertyValueCheck@@@Z
+; public: int __cdecl WbemSnmpProperty::SetValue(class SnmpInstanceType const * __ptr64,enum WbemPropertyValueCheck) __ptr64
+?SetValue@WbemSnmpProperty@@QEAAHPEBVSnmpInstanceType@@W4WbemPropertyValueCheck@@@Z
+; public: int __cdecl WbemSnmpProperty::SetValue(class SnmpValue const * __ptr64,enum WbemPropertyValueCheck) __ptr64
+?SetValue@WbemSnmpProperty@@QEAAHPEBVSnmpValue@@W4WbemPropertyValueCheck@@@Z
+; public: int __cdecl WbemSnmpQualifier::SetValue(struct tagVARIANT const & __ptr64) __ptr64
+?SetValue@WbemSnmpQualifier@@QEAAHAEBUtagVARIANT@@@Z
+; public: int __cdecl WbemSnmpQualifier::SetValue(struct IWbemQualifierSet * __ptr64,class SnmpInstanceType const & __ptr64) __ptr64
+?SetValue@WbemSnmpQualifier@@QEAAHPEAUIWbemQualifierSet@@AEBVSnmpInstanceType@@@Z
+; public: int __cdecl WbemSnmpQualifier::SetValue(class SnmpInstanceType const * __ptr64) __ptr64
+?SetValue@WbemSnmpQualifier@@QEAAHPEBVSnmpInstanceType@@@Z
+; public: void __cdecl WbemSnmpClassObject::SetVirtual(int) __ptr64
+?SetVirtual@WbemSnmpClassObject@@QEAAXH@Z
+; public: void __cdecl WbemSnmpProperty::SetVirtualKey(int) __ptr64
+?SetVirtualKey@WbemSnmpProperty@@QEAAXH@Z
+; public: void __cdecl WbemSnmpErrorObject::SetWbemStatus(enum tag_WBEMSTATUS) __ptr64
+?SetWbemStatus@WbemSnmpErrorObject@@QEAAXW4tag_WBEMSTATUS@@@Z
+; public: void __cdecl WbemSnmpClassObject::SetWritable(int) __ptr64
+?SetWritable@WbemSnmpClassObject@@QEAAXH@Z
+; public: void __cdecl WbemSnmpProperty::SetWritable(int) __ptr64
+?SetWritable@WbemSnmpProperty@@QEAAXH@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/snmpmib.def b/mingw-w64-crt/lib64/snmpmib.def
index dcd8eef..98e677d 100644
--- a/mingw-w64-crt/lib64/snmpmib.def
+++ b/mingw-w64-crt/lib64/snmpmib.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SNMPMIB.exe
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SNMPMIB.exe
-EXPORTS
-SnmpExtensionInit
-SnmpExtensionMonitor
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file SNMPMIB.exe
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SNMPMIB.exe
+EXPORTS
+SnmpExtensionInit
+SnmpExtensionMonitor
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/snmpsmir.def b/mingw-w64-crt/lib64/snmpsmir.def
index bae25c5..9213f5b 100644
--- a/mingw-w64-crt/lib64/snmpsmir.def
+++ b/mingw-w64-crt/lib64/snmpsmir.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SNMPSMIR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SNMPSMIR.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SNMPSMIR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SNMPSMIR.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/snmpsnap.def b/mingw-w64-crt/lib64/snmpsnap.def
index 8dad383..5519e77 100644
--- a/mingw-w64-crt/lib64/snmpsnap.def
+++ b/mingw-w64-crt/lib64/snmpsnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SnmpSnap.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SnmpSnap.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SnmpSnap.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SnmpSnap.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/snmpstup.def b/mingw-w64-crt/lib64/snmpstup.def
index 341bdf0..028243f 100644
--- a/mingw-w64-crt/lib64/snmpstup.def
+++ b/mingw-w64-crt/lib64/snmpstup.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file snmpstup.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY snmpstup.dll
-EXPORTS
-DllRegisterServer
+; 
+; Exports of file snmpstup.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY snmpstup.dll
+EXPORTS
+DllRegisterServer
diff --git a/mingw-w64-crt/lib64/snmpthrd.def b/mingw-w64-crt/lib64/snmpthrd.def
index c18f25d..988d06e 100644
--- a/mingw-w64-crt/lib64/snmpthrd.def
+++ b/mingw-w64-crt/lib64/snmpthrd.def
@@ -1,162 +1,162 @@
-; 
-; Exports of file SNMPTHRD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SNMPTHRD.dll
-EXPORTS
-; protected: __cdecl SnmpAbstractTaskObject::SnmpAbstractTaskObject(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0SnmpAbstractTaskObject@@IEAA@PEBG0K@Z
-; public: __cdecl SnmpAbstractTaskObject::SnmpAbstractTaskObject(class SnmpAbstractTaskObject const & __ptr64) __ptr64
-??0SnmpAbstractTaskObject@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpEventObject::SnmpEventObject(class SnmpEventObject const & __ptr64) __ptr64
-??0SnmpEventObject@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpEventObject::SnmpEventObject(unsigned short const * __ptr64) __ptr64
-??0SnmpEventObject@@QEAA@PEBG@Z
-; public: __cdecl SnmpTaskObject::SnmpTaskObject(class SnmpTaskObject const & __ptr64) __ptr64
-??0SnmpTaskObject@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpTaskObject::SnmpTaskObject(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0SnmpTaskObject@@QEAA@PEBG00K@Z
-; public: __cdecl SnmpThreadObject::SnmpThreadObject(class SnmpThreadObject const & __ptr64) __ptr64
-??0SnmpThreadObject@@QEAA@AEBV0@@Z
-; public: __cdecl SnmpThreadObject::SnmpThreadObject(char const * __ptr64,unsigned long) __ptr64
-??0SnmpThreadObject@@QEAA@PEBDK@Z
-; public: virtual __cdecl SnmpAbstractTaskObject::~SnmpAbstractTaskObject(void) __ptr64
-??1SnmpAbstractTaskObject@@UEAA@XZ
-; public: virtual __cdecl SnmpEventObject::~SnmpEventObject(void) __ptr64
-??1SnmpEventObject@@UEAA@XZ
-; public: virtual __cdecl SnmpTaskObject::~SnmpTaskObject(void) __ptr64
-??1SnmpTaskObject@@UEAA@XZ
-; public: virtual __cdecl SnmpThreadObject::~SnmpThreadObject(void) __ptr64
-??1SnmpThreadObject@@UEAA@XZ
-; public: class SnmpAbstractTaskObject & __ptr64 __cdecl SnmpAbstractTaskObject::operator=(class SnmpAbstractTaskObject const & __ptr64) __ptr64
-??4SnmpAbstractTaskObject@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpDebugLog & __ptr64 __cdecl SnmpDebugLog::operator=(class SnmpDebugLog const & __ptr64) __ptr64
-??4SnmpDebugLog@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpEventObject & __ptr64 __cdecl SnmpEventObject::operator=(class SnmpEventObject const & __ptr64) __ptr64
-??4SnmpEventObject@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpTaskObject & __ptr64 __cdecl SnmpTaskObject::operator=(class SnmpTaskObject const & __ptr64) __ptr64
-??4SnmpTaskObject@@QEAAAEAV0@AEBV0@@Z
-; public: class SnmpThreadObject & __ptr64 __cdecl SnmpThreadObject::operator=(class SnmpThreadObject const & __ptr64) __ptr64
-??4SnmpThreadObject@@QEAAAEAV0@AEBV0@@Z
-; const  SnmpAbstractTaskObject::`vftable'
-??_7SnmpAbstractTaskObject@@6B@
-; const  SnmpEventObject::`vftable'
-??_7SnmpEventObject@@6B@
-; const  SnmpTaskObject::`vftable'
-??_7SnmpTaskObject@@6B@
-; const  SnmpThreadObject::`vftable'
-??_7SnmpThreadObject@@6B@
-; public: void __cdecl SnmpAbstractTaskObject::`default constructor closure'(void) __ptr64
-??_FSnmpAbstractTaskObject@@QEAAXXZ
-; public: void __cdecl SnmpEventObject::`default constructor closure'(void) __ptr64
-??_FSnmpEventObject@@QEAAXXZ
-; public: void __cdecl SnmpTaskObject::`default constructor closure'(void) __ptr64
-??_FSnmpTaskObject@@QEAAXXZ
-; public: void __cdecl SnmpThreadObject::`default constructor closure'(void) __ptr64
-??_FSnmpThreadObject@@QEAAXXZ
-; public: virtual void __cdecl SnmpAbstractTaskObject::Acknowledge(void) __ptr64
-?Acknowledge@SnmpAbstractTaskObject@@UEAAXXZ
-; private: void __cdecl SnmpAbstractTaskObject::AttachTaskToThread(class SnmpThreadObject & __ptr64) __ptr64
-?AttachTaskToThread@SnmpAbstractTaskObject@@AEAAXAEAVSnmpThreadObject@@@Z
-; public: void __cdecl SnmpThreadObject::BeginThread(void) __ptr64
-?BeginThread@SnmpThreadObject@@QEAAXXZ
-; public: void __cdecl SnmpEventObject::Clear(void) __ptr64
-?Clear@SnmpEventObject@@QEAAXXZ
-; public: static void __cdecl SnmpThreadObject::Closedown(void)
-?Closedown@SnmpThreadObject@@SAXXZ
-; public: virtual void __cdecl SnmpAbstractTaskObject::Complete(void) __ptr64
-?Complete@SnmpAbstractTaskObject@@UEAAXXZ
-; public: virtual void __cdecl SnmpEventObject::Complete(void) __ptr64
-?Complete@SnmpEventObject@@UEAAXXZ
-; private: void __cdecl SnmpThreadObject::ConstructEventContainer(void) __ptr64
-?ConstructEventContainer@SnmpThreadObject@@AEAAXXZ
-; private: void __cdecl SnmpAbstractTaskObject::DetachTaskFromThread(class SnmpThreadObject & __ptr64) __ptr64
-?DetachTaskFromThread@SnmpAbstractTaskObject@@AEAAXAEAVSnmpThreadObject@@@Z
-; public: virtual void __cdecl SnmpAbstractTaskObject::Exec(void) __ptr64
-?Exec@SnmpAbstractTaskObject@@UEAAXXZ
-; public: virtual void __cdecl SnmpTaskObject::Exec(void) __ptr64
-?Exec@SnmpTaskObject@@UEAAXXZ
-; private: void * __ptr64 * __ptr64 __cdecl SnmpThreadObject::GetEventHandles(void) __ptr64
-?GetEventHandles@SnmpThreadObject@@AEAAPEAPEAXXZ
-; private: unsigned long __cdecl SnmpThreadObject::GetEventHandlesSize(void) __ptr64
-?GetEventHandlesSize@SnmpThreadObject@@AEAAKXZ
-; public: void * __ptr64 __cdecl SnmpEventObject::GetHandle(void) __ptr64
-?GetHandle@SnmpEventObject@@QEAAPEAXXZ
-; public: virtual void * __ptr64 __cdecl SnmpTaskObject::GetHandle(void) __ptr64
-?GetHandle@SnmpTaskObject@@UEAAPEAXXZ
-; private: class SnmpAbstractTaskObject * __ptr64 __cdecl SnmpThreadObject::GetTaskObject(void * __ptr64 & __ptr64) __ptr64
-?GetTaskObject@SnmpThreadObject@@AEAAPEAVSnmpAbstractTaskObject@@AEAPEAX@Z
-; public: void * __ptr64 __cdecl SnmpThreadObject::GetThreadHandle(void) __ptr64
-?GetThreadHandle@SnmpThreadObject@@QEAAPEAXXZ
-; private: void * __ptr64 * __ptr64 __cdecl SnmpThreadObject::GetThreadHandleReference(void) __ptr64
-?GetThreadHandleReference@SnmpThreadObject@@AEAAPEAPEAXXZ
-; public: unsigned long __cdecl SnmpThreadObject::GetThreadId(void) __ptr64
-?GetThreadId@SnmpThreadObject@@QEAAKXZ
-; public: static class SnmpThreadObject * __ptr64 __cdecl SnmpThreadObject::GetThreadObject(void)
-?GetThreadObject@SnmpThreadObject@@SAPEAV1@XZ
-; public: virtual void __cdecl SnmpThreadObject::Initialise(void) __ptr64
-?Initialise@SnmpThreadObject@@UEAAXXZ
-; public: void __cdecl SnmpThreadObject::PostSignalThreadShutdown(void) __ptr64
-?PostSignalThreadShutdown@SnmpThreadObject@@QEAAXXZ
-; public: virtual void __cdecl SnmpAbstractTaskObject::Process(void) __ptr64
-?Process@SnmpAbstractTaskObject@@UEAAXXZ
-; public: virtual void __cdecl SnmpEventObject::Process(void) __ptr64
-?Process@SnmpEventObject@@UEAAXXZ
-; private: virtual void __cdecl SnmpThreadObject::Process(void) __ptr64
-?Process@SnmpThreadObject@@EEAAXXZ
-; private: static void __cdecl SnmpThreadObject::ProcessAttach(void)
-?ProcessAttach@SnmpThreadObject@@CAXXZ
-; private: static void __cdecl SnmpThreadObject::ProcessDetach(int)
-?ProcessDetach@SnmpThreadObject@@CAXH@Z
-; public: int __cdecl SnmpThreadObject::ReapTask(class SnmpAbstractTaskObject & __ptr64) __ptr64
-?ReapTask@SnmpThreadObject@@QEAAHAEAVSnmpAbstractTaskObject@@@Z
-; private: int __cdecl SnmpThreadObject::RegisterThread(void) __ptr64
-?RegisterThread@SnmpThreadObject@@AEAAHXZ
-; private: int __cdecl SnmpThreadObject::RemoveThread(void) __ptr64
-?RemoveThread@SnmpThreadObject@@AEAAHXZ
-; private: void __cdecl SnmpThreadObject::RotateTask(class SnmpAbstractTaskObject * __ptr64) __ptr64
-?RotateTask@SnmpThreadObject@@AEAAXPEAVSnmpAbstractTaskObject@@@Z
-; public: int __cdecl SnmpThreadObject::ScheduleTask(class SnmpAbstractTaskObject & __ptr64) __ptr64
-?ScheduleTask@SnmpThreadObject@@QEAAHAEAVSnmpAbstractTaskObject@@@Z
-; public: void __cdecl SnmpEventObject::Set(void) __ptr64
-?Set@SnmpEventObject@@QEAAXXZ
-; public: void __cdecl SnmpThreadObject::SignalThreadShutdown(void) __ptr64
-?SignalThreadShutdown@SnmpThreadObject@@QEAAXXZ
-; public: static int __cdecl SnmpThreadObject::Startup(void)
-?Startup@SnmpThreadObject@@SAHXZ
-; private: void __cdecl SnmpThreadObject::TerminateThread(void) __ptr64
-?TerminateThread@SnmpThreadObject@@AEAAXXZ
-; private: static void __cdecl SnmpThreadObject::ThreadExecutionProcedure(void * __ptr64)
-?ThreadExecutionProcedure@SnmpThreadObject@@CAXPEAX@Z
-; public: virtual void __cdecl SnmpAbstractTaskObject::TimedOut(void) __ptr64
-?TimedOut@SnmpAbstractTaskObject@@UEAAXXZ
-; public: virtual void __cdecl SnmpThreadObject::TimedOut(void) __ptr64
-?TimedOut@SnmpThreadObject@@UEAAXXZ
-; public: virtual void __cdecl SnmpThreadObject::Uninitialise(void) __ptr64
-?Uninitialise@SnmpThreadObject@@UEAAXXZ
-; public: virtual int __cdecl SnmpAbstractTaskObject::Wait(int) __ptr64
-?Wait@SnmpAbstractTaskObject@@UEAAHH@Z
-; public: virtual int __cdecl SnmpEventObject::Wait(void) __ptr64
-?Wait@SnmpEventObject@@UEAAHXZ
-; private: virtual int __cdecl SnmpThreadObject::Wait(void) __ptr64
-?Wait@SnmpThreadObject@@EEAAHXZ
-; public: virtual int __cdecl SnmpAbstractTaskObject::WaitAcknowledgement(int) __ptr64
-?WaitAcknowledgement@SnmpAbstractTaskObject@@UEAAHH@Z
-; private: int __cdecl SnmpAbstractTaskObject::WaitAcknowledgementDispatch(class SnmpThreadObject * __ptr64,void * __ptr64,int & __ptr64) __ptr64
-?WaitAcknowledgementDispatch@SnmpAbstractTaskObject@@AEAAHPEAVSnmpThreadObject@@PEAXAEAH@Z
-; private: int __cdecl SnmpAbstractTaskObject::WaitDispatch(class SnmpThreadObject * __ptr64,void * __ptr64,int & __ptr64) __ptr64
-?WaitDispatch@SnmpAbstractTaskObject@@AEAAHPEAVSnmpThreadObject@@PEAXAEAH@Z
-; private: int __cdecl SnmpThreadObject::WaitDispatch(unsigned long,int & __ptr64) __ptr64
-?WaitDispatch@SnmpThreadObject@@AEAAHKAEAH@Z
-; public: int __cdecl SnmpThreadObject::WaitForStartup(void) __ptr64
-?WaitForStartup@SnmpThreadObject@@QEAAHXZ
-; private: static class CCriticalSection  SnmpThreadObject::s_Lock
-?s_Lock@SnmpThreadObject@@0VCCriticalSection@@A DATA
-; public: static long  SnmpThreadObject::s_ReferenceCount
-?s_ReferenceCount@SnmpThreadObject@@2JA DATA
-; public: static class ProvDebugLog * __ptr64  __ptr64 SnmpDebugLog::s_SnmpDebugLog
-?s_SnmpDebugLog@SnmpDebugLog@@2PEAVProvDebugLog@@EA DATA
-; private: static class SnmpMap<unsigned long,unsigned long,class SnmpThreadObject * __ptr64,class SnmpThreadObject * __ptr64>  SnmpThreadObject::s_ThreadContainer
-?s_ThreadContainer@SnmpThreadObject@@0V?$SnmpMap@KKPEAVSnmpThreadObject@@PEAV1@@@A DATA
+; 
+; Exports of file SNMPTHRD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SNMPTHRD.dll
+EXPORTS
+; protected: __cdecl SnmpAbstractTaskObject::SnmpAbstractTaskObject(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0SnmpAbstractTaskObject@@IEAA@PEBG0K@Z
+; public: __cdecl SnmpAbstractTaskObject::SnmpAbstractTaskObject(class SnmpAbstractTaskObject const & __ptr64) __ptr64
+??0SnmpAbstractTaskObject@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpEventObject::SnmpEventObject(class SnmpEventObject const & __ptr64) __ptr64
+??0SnmpEventObject@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpEventObject::SnmpEventObject(unsigned short const * __ptr64) __ptr64
+??0SnmpEventObject@@QEAA@PEBG@Z
+; public: __cdecl SnmpTaskObject::SnmpTaskObject(class SnmpTaskObject const & __ptr64) __ptr64
+??0SnmpTaskObject@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpTaskObject::SnmpTaskObject(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0SnmpTaskObject@@QEAA@PEBG00K@Z
+; public: __cdecl SnmpThreadObject::SnmpThreadObject(class SnmpThreadObject const & __ptr64) __ptr64
+??0SnmpThreadObject@@QEAA@AEBV0@@Z
+; public: __cdecl SnmpThreadObject::SnmpThreadObject(char const * __ptr64,unsigned long) __ptr64
+??0SnmpThreadObject@@QEAA@PEBDK@Z
+; public: virtual __cdecl SnmpAbstractTaskObject::~SnmpAbstractTaskObject(void) __ptr64
+??1SnmpAbstractTaskObject@@UEAA@XZ
+; public: virtual __cdecl SnmpEventObject::~SnmpEventObject(void) __ptr64
+??1SnmpEventObject@@UEAA@XZ
+; public: virtual __cdecl SnmpTaskObject::~SnmpTaskObject(void) __ptr64
+??1SnmpTaskObject@@UEAA@XZ
+; public: virtual __cdecl SnmpThreadObject::~SnmpThreadObject(void) __ptr64
+??1SnmpThreadObject@@UEAA@XZ
+; public: class SnmpAbstractTaskObject & __ptr64 __cdecl SnmpAbstractTaskObject::operator=(class SnmpAbstractTaskObject const & __ptr64) __ptr64
+??4SnmpAbstractTaskObject@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpDebugLog & __ptr64 __cdecl SnmpDebugLog::operator=(class SnmpDebugLog const & __ptr64) __ptr64
+??4SnmpDebugLog@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpEventObject & __ptr64 __cdecl SnmpEventObject::operator=(class SnmpEventObject const & __ptr64) __ptr64
+??4SnmpEventObject@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpTaskObject & __ptr64 __cdecl SnmpTaskObject::operator=(class SnmpTaskObject const & __ptr64) __ptr64
+??4SnmpTaskObject@@QEAAAEAV0@AEBV0@@Z
+; public: class SnmpThreadObject & __ptr64 __cdecl SnmpThreadObject::operator=(class SnmpThreadObject const & __ptr64) __ptr64
+??4SnmpThreadObject@@QEAAAEAV0@AEBV0@@Z
+; const  SnmpAbstractTaskObject::`vftable'
+??_7SnmpAbstractTaskObject@@6B@
+; const  SnmpEventObject::`vftable'
+??_7SnmpEventObject@@6B@
+; const  SnmpTaskObject::`vftable'
+??_7SnmpTaskObject@@6B@
+; const  SnmpThreadObject::`vftable'
+??_7SnmpThreadObject@@6B@
+; public: void __cdecl SnmpAbstractTaskObject::`default constructor closure'(void) __ptr64
+??_FSnmpAbstractTaskObject@@QEAAXXZ
+; public: void __cdecl SnmpEventObject::`default constructor closure'(void) __ptr64
+??_FSnmpEventObject@@QEAAXXZ
+; public: void __cdecl SnmpTaskObject::`default constructor closure'(void) __ptr64
+??_FSnmpTaskObject@@QEAAXXZ
+; public: void __cdecl SnmpThreadObject::`default constructor closure'(void) __ptr64
+??_FSnmpThreadObject@@QEAAXXZ
+; public: virtual void __cdecl SnmpAbstractTaskObject::Acknowledge(void) __ptr64
+?Acknowledge@SnmpAbstractTaskObject@@UEAAXXZ
+; private: void __cdecl SnmpAbstractTaskObject::AttachTaskToThread(class SnmpThreadObject & __ptr64) __ptr64
+?AttachTaskToThread@SnmpAbstractTaskObject@@AEAAXAEAVSnmpThreadObject@@@Z
+; public: void __cdecl SnmpThreadObject::BeginThread(void) __ptr64
+?BeginThread@SnmpThreadObject@@QEAAXXZ
+; public: void __cdecl SnmpEventObject::Clear(void) __ptr64
+?Clear@SnmpEventObject@@QEAAXXZ
+; public: static void __cdecl SnmpThreadObject::Closedown(void)
+?Closedown@SnmpThreadObject@@SAXXZ
+; public: virtual void __cdecl SnmpAbstractTaskObject::Complete(void) __ptr64
+?Complete@SnmpAbstractTaskObject@@UEAAXXZ
+; public: virtual void __cdecl SnmpEventObject::Complete(void) __ptr64
+?Complete@SnmpEventObject@@UEAAXXZ
+; private: void __cdecl SnmpThreadObject::ConstructEventContainer(void) __ptr64
+?ConstructEventContainer@SnmpThreadObject@@AEAAXXZ
+; private: void __cdecl SnmpAbstractTaskObject::DetachTaskFromThread(class SnmpThreadObject & __ptr64) __ptr64
+?DetachTaskFromThread@SnmpAbstractTaskObject@@AEAAXAEAVSnmpThreadObject@@@Z
+; public: virtual void __cdecl SnmpAbstractTaskObject::Exec(void) __ptr64
+?Exec@SnmpAbstractTaskObject@@UEAAXXZ
+; public: virtual void __cdecl SnmpTaskObject::Exec(void) __ptr64
+?Exec@SnmpTaskObject@@UEAAXXZ
+; private: void * __ptr64 * __ptr64 __cdecl SnmpThreadObject::GetEventHandles(void) __ptr64
+?GetEventHandles@SnmpThreadObject@@AEAAPEAPEAXXZ
+; private: unsigned long __cdecl SnmpThreadObject::GetEventHandlesSize(void) __ptr64
+?GetEventHandlesSize@SnmpThreadObject@@AEAAKXZ
+; public: void * __ptr64 __cdecl SnmpEventObject::GetHandle(void) __ptr64
+?GetHandle@SnmpEventObject@@QEAAPEAXXZ
+; public: virtual void * __ptr64 __cdecl SnmpTaskObject::GetHandle(void) __ptr64
+?GetHandle@SnmpTaskObject@@UEAAPEAXXZ
+; private: class SnmpAbstractTaskObject * __ptr64 __cdecl SnmpThreadObject::GetTaskObject(void * __ptr64 & __ptr64) __ptr64
+?GetTaskObject@SnmpThreadObject@@AEAAPEAVSnmpAbstractTaskObject@@AEAPEAX@Z
+; public: void * __ptr64 __cdecl SnmpThreadObject::GetThreadHandle(void) __ptr64
+?GetThreadHandle@SnmpThreadObject@@QEAAPEAXXZ
+; private: void * __ptr64 * __ptr64 __cdecl SnmpThreadObject::GetThreadHandleReference(void) __ptr64
+?GetThreadHandleReference@SnmpThreadObject@@AEAAPEAPEAXXZ
+; public: unsigned long __cdecl SnmpThreadObject::GetThreadId(void) __ptr64
+?GetThreadId@SnmpThreadObject@@QEAAKXZ
+; public: static class SnmpThreadObject * __ptr64 __cdecl SnmpThreadObject::GetThreadObject(void)
+?GetThreadObject@SnmpThreadObject@@SAPEAV1@XZ
+; public: virtual void __cdecl SnmpThreadObject::Initialise(void) __ptr64
+?Initialise@SnmpThreadObject@@UEAAXXZ
+; public: void __cdecl SnmpThreadObject::PostSignalThreadShutdown(void) __ptr64
+?PostSignalThreadShutdown@SnmpThreadObject@@QEAAXXZ
+; public: virtual void __cdecl SnmpAbstractTaskObject::Process(void) __ptr64
+?Process@SnmpAbstractTaskObject@@UEAAXXZ
+; public: virtual void __cdecl SnmpEventObject::Process(void) __ptr64
+?Process@SnmpEventObject@@UEAAXXZ
+; private: virtual void __cdecl SnmpThreadObject::Process(void) __ptr64
+?Process@SnmpThreadObject@@EEAAXXZ
+; private: static void __cdecl SnmpThreadObject::ProcessAttach(void)
+?ProcessAttach@SnmpThreadObject@@CAXXZ
+; private: static void __cdecl SnmpThreadObject::ProcessDetach(int)
+?ProcessDetach@SnmpThreadObject@@CAXH@Z
+; public: int __cdecl SnmpThreadObject::ReapTask(class SnmpAbstractTaskObject & __ptr64) __ptr64
+?ReapTask@SnmpThreadObject@@QEAAHAEAVSnmpAbstractTaskObject@@@Z
+; private: int __cdecl SnmpThreadObject::RegisterThread(void) __ptr64
+?RegisterThread@SnmpThreadObject@@AEAAHXZ
+; private: int __cdecl SnmpThreadObject::RemoveThread(void) __ptr64
+?RemoveThread@SnmpThreadObject@@AEAAHXZ
+; private: void __cdecl SnmpThreadObject::RotateTask(class SnmpAbstractTaskObject * __ptr64) __ptr64
+?RotateTask@SnmpThreadObject@@AEAAXPEAVSnmpAbstractTaskObject@@@Z
+; public: int __cdecl SnmpThreadObject::ScheduleTask(class SnmpAbstractTaskObject & __ptr64) __ptr64
+?ScheduleTask@SnmpThreadObject@@QEAAHAEAVSnmpAbstractTaskObject@@@Z
+; public: void __cdecl SnmpEventObject::Set(void) __ptr64
+?Set@SnmpEventObject@@QEAAXXZ
+; public: void __cdecl SnmpThreadObject::SignalThreadShutdown(void) __ptr64
+?SignalThreadShutdown@SnmpThreadObject@@QEAAXXZ
+; public: static int __cdecl SnmpThreadObject::Startup(void)
+?Startup@SnmpThreadObject@@SAHXZ
+; private: void __cdecl SnmpThreadObject::TerminateThread(void) __ptr64
+?TerminateThread@SnmpThreadObject@@AEAAXXZ
+; private: static void __cdecl SnmpThreadObject::ThreadExecutionProcedure(void * __ptr64)
+?ThreadExecutionProcedure@SnmpThreadObject@@CAXPEAX@Z
+; public: virtual void __cdecl SnmpAbstractTaskObject::TimedOut(void) __ptr64
+?TimedOut@SnmpAbstractTaskObject@@UEAAXXZ
+; public: virtual void __cdecl SnmpThreadObject::TimedOut(void) __ptr64
+?TimedOut@SnmpThreadObject@@UEAAXXZ
+; public: virtual void __cdecl SnmpThreadObject::Uninitialise(void) __ptr64
+?Uninitialise@SnmpThreadObject@@UEAAXXZ
+; public: virtual int __cdecl SnmpAbstractTaskObject::Wait(int) __ptr64
+?Wait@SnmpAbstractTaskObject@@UEAAHH@Z
+; public: virtual int __cdecl SnmpEventObject::Wait(void) __ptr64
+?Wait@SnmpEventObject@@UEAAHXZ
+; private: virtual int __cdecl SnmpThreadObject::Wait(void) __ptr64
+?Wait@SnmpThreadObject@@EEAAHXZ
+; public: virtual int __cdecl SnmpAbstractTaskObject::WaitAcknowledgement(int) __ptr64
+?WaitAcknowledgement@SnmpAbstractTaskObject@@UEAAHH@Z
+; private: int __cdecl SnmpAbstractTaskObject::WaitAcknowledgementDispatch(class SnmpThreadObject * __ptr64,void * __ptr64,int & __ptr64) __ptr64
+?WaitAcknowledgementDispatch@SnmpAbstractTaskObject@@AEAAHPEAVSnmpThreadObject@@PEAXAEAH@Z
+; private: int __cdecl SnmpAbstractTaskObject::WaitDispatch(class SnmpThreadObject * __ptr64,void * __ptr64,int & __ptr64) __ptr64
+?WaitDispatch@SnmpAbstractTaskObject@@AEAAHPEAVSnmpThreadObject@@PEAXAEAH@Z
+; private: int __cdecl SnmpThreadObject::WaitDispatch(unsigned long,int & __ptr64) __ptr64
+?WaitDispatch@SnmpThreadObject@@AEAAHKAEAH@Z
+; public: int __cdecl SnmpThreadObject::WaitForStartup(void) __ptr64
+?WaitForStartup@SnmpThreadObject@@QEAAHXZ
+; private: static class CCriticalSection  SnmpThreadObject::s_Lock
+?s_Lock@SnmpThreadObject@@0VCCriticalSection@@A DATA
+; public: static long  SnmpThreadObject::s_ReferenceCount
+?s_ReferenceCount@SnmpThreadObject@@2JA DATA
+; public: static class ProvDebugLog * __ptr64  __ptr64 SnmpDebugLog::s_SnmpDebugLog
+?s_SnmpDebugLog@SnmpDebugLog@@2PEAVProvDebugLog@@EA DATA
+; private: static class SnmpMap<unsigned long,unsigned long,class SnmpThreadObject * __ptr64,class SnmpThreadObject * __ptr64>  SnmpThreadObject::s_ThreadContainer
+?s_ThreadContainer@SnmpThreadObject@@0V?$SnmpMap@KKPEAVSnmpThreadObject@@PEAV1@@@A DATA
diff --git a/mingw-w64-crt/lib64/snprfdll.def b/mingw-w64-crt/lib64/snprfdll.def
index 4086e86..7ed0320 100644
--- a/mingw-w64-crt/lib64/snprfdll.def
+++ b/mingw-w64-crt/lib64/snprfdll.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file ExPrfDll.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ExPrfDll.dll
-EXPORTS
-NTFSDrvClose
-NTFSDrvCollect
-NTFSDrvOpen
+; 
+; Exports of file ExPrfDll.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ExPrfDll.dll
+EXPORTS
+NTFSDrvClose
+NTFSDrvCollect
+NTFSDrvOpen
diff --git a/mingw-w64-crt/lib64/softkbd.def b/mingw-w64-crt/lib64/softkbd.def
index 0a01af8..17934b8 100644
--- a/mingw-w64-crt/lib64/softkbd.def
+++ b/mingw-w64-crt/lib64/softkbd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file KbdLayout.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KbdLayout.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file KbdLayout.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KbdLayout.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/softkey.def b/mingw-w64-crt/lib64/softkey.def
index ff61143..1b55473 100644
--- a/mingw-w64-crt/lib64/softkey.def
+++ b/mingw-w64-crt/lib64/softkey.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file main.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY main.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file main.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY main.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/softpub.def b/mingw-w64-crt/lib64/softpub.def
index bb180fe..6d22637 100644
--- a/mingw-w64-crt/lib64/softpub.def
+++ b/mingw-w64-crt/lib64/softpub.def
@@ -1,32 +1,32 @@
-; 
-; Exports of file SOFTPUB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SOFTPUB.dll
-EXPORTS
-GenericChainCertificateTrust
-GenericChainFinalProv
-HTTPSCertificateTrust
-SoftpubDefCertInit
-SoftpubFreeDefUsageCallData
-SoftpubLoadDefUsageCallData
-AddPersonalTrustDBPages
-DllRegisterServer
-DllUnregisterServer
-DriverCleanupPolicy
-DriverFinalPolicy
-DriverInitializePolicy
-FindCertsByIssuer
-HTTPSFinalProv
-OfficeCleanupPolicy
-OfficeInitializePolicy
-OpenPersonalTrustDBDialog
-SoftpubAuthenticode
-SoftpubCheckCert
-SoftpubCleanup
-SoftpubDumpStructure
-SoftpubInitialize
-SoftpubLoadMessage
-SoftpubLoadSignature
+; 
+; Exports of file SOFTPUB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SOFTPUB.dll
+EXPORTS
+GenericChainCertificateTrust
+GenericChainFinalProv
+HTTPSCertificateTrust
+SoftpubDefCertInit
+SoftpubFreeDefUsageCallData
+SoftpubLoadDefUsageCallData
+AddPersonalTrustDBPages
+DllRegisterServer
+DllUnregisterServer
+DriverCleanupPolicy
+DriverFinalPolicy
+DriverInitializePolicy
+FindCertsByIssuer
+HTTPSFinalProv
+OfficeCleanupPolicy
+OfficeInitializePolicy
+OpenPersonalTrustDBDialog
+SoftpubAuthenticode
+SoftpubCheckCert
+SoftpubCleanup
+SoftpubDumpStructure
+SoftpubInitialize
+SoftpubLoadMessage
+SoftpubLoadSignature
diff --git a/mingw-w64-crt/lib64/spcommon.def b/mingw-w64-crt/lib64/spcommon.def
index 148d9c0..86bf9a4 100644
--- a/mingw-w64-crt/lib64/spcommon.def
+++ b/mingw-w64-crt/lib64/spcommon.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file spcommon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY spcommon.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file spcommon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY spcommon.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/spoolss.def b/mingw-w64-crt/lib64/spoolss.def
index fef82dd..94479a9 100644
--- a/mingw-w64-crt/lib64/spoolss.def
+++ b/mingw-w64-crt/lib64/spoolss.def
@@ -1,186 +1,186 @@
-; 
-; Exports of file SPOOLSS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SPOOLSS.DLL
-EXPORTS
-pszDbgAllocMsgA
-vDbgLogError
-AbortPrinter
-AddDriverCatalog
-AddFormW
-AddJobW
-AddMonitorW
-AddPerMachineConnectionW
-AddPortExW
-AddPortW
-AddPrintProcessorW
-AddPrintProvidorW
-AddPrinterConnectionW
-AddPrinterDriverExW
-AddPrinterDriverW
-AddPrinterExW
-AddPrinterW
-AdjustPointers
-AdjustPointersInStructuresArray
-AlignKMPtr
-AlignRpcPtr
-AllocSplStr
-AllowRemoteCalls
-AppendPrinterNotifyInfoData
-BuildOtherNamesFromMachineName
-CacheAddName
-CacheCreateAndAddNode
-CacheCreateAndAddNodeWithIPAddresses
-CacheDeleteNode
-CacheIsNameCluster
-CacheIsNameInNodeList
-CallDrvDevModeConversion
-CallRouterFindFirstPrinterChangeNotification
-CheckLocalCall
-ClosePrinter
-ClusterSplClose
-ClusterSplIsAlive
-ClusterSplOpen
-ConfigurePortW
-CreatePrinterIC
-DbgGetPointers
-DeleteFormW
-DeleteMonitorW
-DeletePerMachineConnectionW
-DeletePortW
-DeletePrintProcessorW
-DeletePrintProvidorW
-DeletePrinter
-DeletePrinterConnectionW
-DeletePrinterDataExW
-DeletePrinterDataW
-DeletePrinterDriverExW
-DeletePrinterDriverW
-DeletePrinterIC
-DeletePrinterKeyW
-DllAllocSplMem
-DllFreeSplMem
-DllFreeSplStr
-EndDocPrinter
-EndPagePrinter
-EnumFormsW
-EnumJobsW
-EnumMonitorsW
-EnumPerMachineConnectionsW
-EnumPortsW
-EnumPrintProcessorDatatypesW
-EnumPrintProcessorsW
-EnumPrinterDataExW
-EnumPrinterDataW
-EnumPrinterDriversW
-EnumPrinterKeyW
-EnumPrintersW
-FindClosePrinterChangeNotification
-FlushPrinter
-FormatPrinterForRegistryKey
-FormatRegistryKeyForPrinter
-FreeOtherNames
-GetClientUserHandle
-GetFormW
-GetJobAttributes
-GetJobW
-GetNetworkId
-GetPrintProcessorDirectoryW
-GetPrinterDataExW
-GetPrinterDataW
-GetPrinterDriverDirectoryW
-GetPrinterDriverExW
-GetPrinterDriverW
-GetPrinterW
-GetServerPolicy
-GetShrinkedSize
-ImpersonatePrinterClient
-InitializeRouter
-IsNamedPipeRpcCall
-LoadDriver
-LoadDriverFiletoConvertDevmode
-LoadDriverWithVersion
-LogWmiTraceEvent
-MIDL_user_allocate1
-MIDL_user_free1
-MarshallDownStructure
-MarshallDownStructuresArray
-MarshallUpStructure
-MarshallUpStructuresArray
-OldGetPrinterDriverW
-OpenPrinterExW
-OpenPrinterPortW
-OpenPrinterW
-PackStrings
-PartialReplyPrinterChangeNotification
-PlayGdiScriptOnPrinterIC
-PrinterHandleRundown
-PrinterMessageBoxW
-ProvidorFindClosePrinterChangeNotification
-ProvidorFindFirstPrinterChangeNotification
-ReadPrinter
-ReallocSplMem
-ReallocSplStr
-RemoteFindFirstPrinterChangeNotification
-ReplyClosePrinter
-ReplyOpenPrinter
-ReplyPrinterChangeNotification
-ResetPrinterW
-RevertToPrinterSelf
-RouterAllocBidiMem
-RouterAllocBidiResponseContainer
-RouterAllocPrinterNotifyInfo
-RouterFindFirstPrinterChangeNotification
-RouterFindNextPrinterChangeNotification
-RouterFreeBidiMem
-RouterFreePrinterNotifyInfo
-RouterRefreshPrinterChangeNotification
-RouterReplyPrinter
-ScheduleJob
-SeekPrinter
-SendRecvBidiData
-SetAllocFailCount
-SetFormW
-SetJobW
-SetPortW
-SetPrinterDataExW
-SetPrinterDataW
-SetPrinterW
-SplCloseSpoolFileHandle
-SplCommitSpoolData
-SplDriverUnloadComplete
-SplGetSpoolFileInfo
-SplInitializeWinSpoolDrv
-SplIsSessionZero
-SplIsUpgrade
-SplPowerEvent
-SplProcessPnPEvent
-SplPromptUIInUsersSession
-SplReadPrinter
-SplRegisterForDeviceEvents
-SplShutDownRouter
-SplUnregisterForDeviceEvents
-SpoolerFindClosePrinterChangeNotification
-SpoolerFindFirstPrinterChangeNotification
-SpoolerFindNextPrinterChangeNotification
-SpoolerFreePrinterNotifyInfo
-SpoolerHasInitialized
-SpoolerInit
-StartDocPrinterW
-StartPagePrinter
-UndoAlignKMPtr
-UndoAlignRpcPtr
-UnloadDriver
-UnloadDriverFile
-UpdateBufferSize
-UpdatePrinterRegAll
-UpdatePrinterRegUser
-WaitForPrinterChange
-WaitForSpoolerInitialization
-WritePrinter
-XcvDataW
-bGetDevModePerUser
-bSetDevModePerUser
+; 
+; Exports of file SPOOLSS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SPOOLSS.DLL
+EXPORTS
+pszDbgAllocMsgA
+vDbgLogError
+AbortPrinter
+AddDriverCatalog
+AddFormW
+AddJobW
+AddMonitorW
+AddPerMachineConnectionW
+AddPortExW
+AddPortW
+AddPrintProcessorW
+AddPrintProvidorW
+AddPrinterConnectionW
+AddPrinterDriverExW
+AddPrinterDriverW
+AddPrinterExW
+AddPrinterW
+AdjustPointers
+AdjustPointersInStructuresArray
+AlignKMPtr
+AlignRpcPtr
+AllocSplStr
+AllowRemoteCalls
+AppendPrinterNotifyInfoData
+BuildOtherNamesFromMachineName
+CacheAddName
+CacheCreateAndAddNode
+CacheCreateAndAddNodeWithIPAddresses
+CacheDeleteNode
+CacheIsNameCluster
+CacheIsNameInNodeList
+CallDrvDevModeConversion
+CallRouterFindFirstPrinterChangeNotification
+CheckLocalCall
+ClosePrinter
+ClusterSplClose
+ClusterSplIsAlive
+ClusterSplOpen
+ConfigurePortW
+CreatePrinterIC
+DbgGetPointers
+DeleteFormW
+DeleteMonitorW
+DeletePerMachineConnectionW
+DeletePortW
+DeletePrintProcessorW
+DeletePrintProvidorW
+DeletePrinter
+DeletePrinterConnectionW
+DeletePrinterDataExW
+DeletePrinterDataW
+DeletePrinterDriverExW
+DeletePrinterDriverW
+DeletePrinterIC
+DeletePrinterKeyW
+DllAllocSplMem
+DllFreeSplMem
+DllFreeSplStr
+EndDocPrinter
+EndPagePrinter
+EnumFormsW
+EnumJobsW
+EnumMonitorsW
+EnumPerMachineConnectionsW
+EnumPortsW
+EnumPrintProcessorDatatypesW
+EnumPrintProcessorsW
+EnumPrinterDataExW
+EnumPrinterDataW
+EnumPrinterDriversW
+EnumPrinterKeyW
+EnumPrintersW
+FindClosePrinterChangeNotification
+FlushPrinter
+FormatPrinterForRegistryKey
+FormatRegistryKeyForPrinter
+FreeOtherNames
+GetClientUserHandle
+GetFormW
+GetJobAttributes
+GetJobW
+GetNetworkId
+GetPrintProcessorDirectoryW
+GetPrinterDataExW
+GetPrinterDataW
+GetPrinterDriverDirectoryW
+GetPrinterDriverExW
+GetPrinterDriverW
+GetPrinterW
+GetServerPolicy
+GetShrinkedSize
+ImpersonatePrinterClient
+InitializeRouter
+IsNamedPipeRpcCall
+LoadDriver
+LoadDriverFiletoConvertDevmode
+LoadDriverWithVersion
+LogWmiTraceEvent
+MIDL_user_allocate1
+MIDL_user_free1
+MarshallDownStructure
+MarshallDownStructuresArray
+MarshallUpStructure
+MarshallUpStructuresArray
+OldGetPrinterDriverW
+OpenPrinterExW
+OpenPrinterPortW
+OpenPrinterW
+PackStrings
+PartialReplyPrinterChangeNotification
+PlayGdiScriptOnPrinterIC
+PrinterHandleRundown
+PrinterMessageBoxW
+ProvidorFindClosePrinterChangeNotification
+ProvidorFindFirstPrinterChangeNotification
+ReadPrinter
+ReallocSplMem
+ReallocSplStr
+RemoteFindFirstPrinterChangeNotification
+ReplyClosePrinter
+ReplyOpenPrinter
+ReplyPrinterChangeNotification
+ResetPrinterW
+RevertToPrinterSelf
+RouterAllocBidiMem
+RouterAllocBidiResponseContainer
+RouterAllocPrinterNotifyInfo
+RouterFindFirstPrinterChangeNotification
+RouterFindNextPrinterChangeNotification
+RouterFreeBidiMem
+RouterFreePrinterNotifyInfo
+RouterRefreshPrinterChangeNotification
+RouterReplyPrinter
+ScheduleJob
+SeekPrinter
+SendRecvBidiData
+SetAllocFailCount
+SetFormW
+SetJobW
+SetPortW
+SetPrinterDataExW
+SetPrinterDataW
+SetPrinterW
+SplCloseSpoolFileHandle
+SplCommitSpoolData
+SplDriverUnloadComplete
+SplGetSpoolFileInfo
+SplInitializeWinSpoolDrv
+SplIsSessionZero
+SplIsUpgrade
+SplPowerEvent
+SplProcessPnPEvent
+SplPromptUIInUsersSession
+SplReadPrinter
+SplRegisterForDeviceEvents
+SplShutDownRouter
+SplUnregisterForDeviceEvents
+SpoolerFindClosePrinterChangeNotification
+SpoolerFindFirstPrinterChangeNotification
+SpoolerFindNextPrinterChangeNotification
+SpoolerFreePrinterNotifyInfo
+SpoolerHasInitialized
+SpoolerInit
+StartDocPrinterW
+StartPagePrinter
+UndoAlignKMPtr
+UndoAlignRpcPtr
+UnloadDriver
+UnloadDriverFile
+UpdateBufferSize
+UpdatePrinterRegAll
+UpdatePrinterRegUser
+WaitForPrinterChange
+WaitForSpoolerInitialization
+WritePrinter
+XcvDataW
+bGetDevModePerUser
+bSetDevModePerUser
diff --git a/mingw-w64-crt/lib64/sptip.def b/mingw-w64-crt/lib64/sptip.def
index a91e66d..3f75839 100644
--- a/mingw-w64-crt/lib64/sptip.def
+++ b/mingw-w64-crt/lib64/sptip.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file SPTIP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SPTIP.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SPTIP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SPTIP.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/spttseng.def b/mingw-w64-crt/lib64/spttseng.def
index e5b2137..5ecd974 100644
--- a/mingw-w64-crt/lib64/spttseng.def
+++ b/mingw-w64-crt/lib64/spttseng.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file spttseng.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY spttseng.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file spttseng.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY spttseng.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/sqlsrv32.def b/mingw-w64-crt/lib64/sqlsrv32.def
index 6dc5d41..cf153cb 100644
--- a/mingw-w64-crt/lib64/sqlsrv32.def
+++ b/mingw-w64-crt/lib64/sqlsrv32.def
@@ -1,98 +1,98 @@
-; 
-; Exports of file SQLSRV32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SQLSRV32.dll
-EXPORTS
-SQLBindCol
-SQLCancel
-SQLColAttributeW
-SQLConnectW
-SQLDescribeColW
-SQLDisconnect
-SQLExecDirectW
-SQLExecute
-SQLFetch
-SQLFreeStmt
-SQLGetCursorNameW
-SQLNumResultCols
-SQLPrepareW
-SQLRowCount
-SQLSetCursorNameW
-SQLBulkOperations
-SQLColumnsW
-SQLDriverConnectW
-SQLGetConnectOptionW
-SQLGetData
-SQLGetFunctions
-SQLGetInfoW
-SQLGetTypeInfoW
-SQLParamData
-SQLPutData
-SQLSetConnectOptionW
-SQLSpecialColumnsW
-SQLStatisticsW
-SQLTablesW
-SQLBrowseConnectW
-SQLColumnPrivilegesW
-SQLDescribeParam
-SQLExtendedFetch
-SQLForeignKeysW
-SQLMoreResults
-SQLNativeSqlW
-SQLNumParams
-SQLParamOptions
-SQLPrimaryKeysW
-SQLProcedureColumnsW
-SQLProceduresW
-SQLSetPos
-SQLSetScrollOptions
-SQLTablePrivilegesW
-SQLBindParameter
-SQLAllocHandle
-SQLCloseCursor
-SQLCopyDesc
-SQLEndTran
-SQLFreeHandle
-SQLGetConnectAttrW
-SQLGetDescFieldW
-SQLGetDescRecW
-SQLGetDiagFieldW
-SQLGetDiagRecW
-SQLGetEnvAttr
-SQLGetStmtAttrW
-SQLSetConnectAttrW
-SQLSetDescFieldW
-SQLSetDescRec
-SQLSetEnvAttr
-SQLSetStmtAttrW
-SQLFetchScroll
-LibMain
-ConfigDSNW
-ConfigDriverW
-SQLDebug
-BCP_batch
-BCP_bind
-BCP_colfmt
-BCP_collen
-BCP_colptr
-BCP_columns
-BCP_control
-BCP_done
-BCP_init
-BCP_exec
-BCP_moretext
-BCP_sendrow
-BCP_readfmt
-BCP_writefmt
-ConnectDlgProc
-WizDSNDlgProc
-WizIntSecurityDlgProc
-WizDatabaseDlgProc
-WizLanguageDlgProc
-FinishDlgProc
-TestDlgProc
-BCP_getcolfmt
-BCP_setcolfmt
+; 
+; Exports of file SQLSRV32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SQLSRV32.dll
+EXPORTS
+SQLBindCol
+SQLCancel
+SQLColAttributeW
+SQLConnectW
+SQLDescribeColW
+SQLDisconnect
+SQLExecDirectW
+SQLExecute
+SQLFetch
+SQLFreeStmt
+SQLGetCursorNameW
+SQLNumResultCols
+SQLPrepareW
+SQLRowCount
+SQLSetCursorNameW
+SQLBulkOperations
+SQLColumnsW
+SQLDriverConnectW
+SQLGetConnectOptionW
+SQLGetData
+SQLGetFunctions
+SQLGetInfoW
+SQLGetTypeInfoW
+SQLParamData
+SQLPutData
+SQLSetConnectOptionW
+SQLSpecialColumnsW
+SQLStatisticsW
+SQLTablesW
+SQLBrowseConnectW
+SQLColumnPrivilegesW
+SQLDescribeParam
+SQLExtendedFetch
+SQLForeignKeysW
+SQLMoreResults
+SQLNativeSqlW
+SQLNumParams
+SQLParamOptions
+SQLPrimaryKeysW
+SQLProcedureColumnsW
+SQLProceduresW
+SQLSetPos
+SQLSetScrollOptions
+SQLTablePrivilegesW
+SQLBindParameter
+SQLAllocHandle
+SQLCloseCursor
+SQLCopyDesc
+SQLEndTran
+SQLFreeHandle
+SQLGetConnectAttrW
+SQLGetDescFieldW
+SQLGetDescRecW
+SQLGetDiagFieldW
+SQLGetDiagRecW
+SQLGetEnvAttr
+SQLGetStmtAttrW
+SQLSetConnectAttrW
+SQLSetDescFieldW
+SQLSetDescRec
+SQLSetEnvAttr
+SQLSetStmtAttrW
+SQLFetchScroll
+LibMain
+ConfigDSNW
+ConfigDriverW
+SQLDebug
+BCP_batch
+BCP_bind
+BCP_colfmt
+BCP_collen
+BCP_colptr
+BCP_columns
+BCP_control
+BCP_done
+BCP_init
+BCP_exec
+BCP_moretext
+BCP_sendrow
+BCP_readfmt
+BCP_writefmt
+ConnectDlgProc
+WizDSNDlgProc
+WizIntSecurityDlgProc
+WizDatabaseDlgProc
+WizLanguageDlgProc
+FinishDlgProc
+TestDlgProc
+BCP_getcolfmt
+BCP_setcolfmt
diff --git a/mingw-w64-crt/lib64/sqlxmlx.def b/mingw-w64-crt/lib64/sqlxmlx.def
index b1737a3..f3c32f1 100644
--- a/mingw-w64-crt/lib64/sqlxmlx.def
+++ b/mingw-w64-crt/lib64/sqlxmlx.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file SQLXMLX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SQLXMLX.dll
-EXPORTS
-DllMain
-ExecuteToStream
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SQLXMLX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SQLXMLX.dll
+EXPORTS
+DllMain
+ExecuteToStream
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/srchctls.def b/mingw-w64-crt/lib64/srchctls.def
index 19c5ee1..5e9b722 100644
--- a/mingw-w64-crt/lib64/srchctls.def
+++ b/mingw-w64-crt/lib64/srchctls.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file srchctls.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY srchctls.dll
-EXPORTS
-InitializeSearchControls
-UninitializeSearchControls
-CreateSpellEdit
+; 
+; Exports of file srchctls.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY srchctls.dll
+EXPORTS
+InitializeSearchControls
+UninitializeSearchControls
+CreateSpellEdit
diff --git a/mingw-w64-crt/lib64/srchui.def b/mingw-w64-crt/lib64/srchui.def
index e5167d8..82b0f15 100644
--- a/mingw-w64-crt/lib64/srchui.def
+++ b/mingw-w64-crt/lib64/srchui.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file srchui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY srchui.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file srchui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY srchui.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/srclient.def b/mingw-w64-crt/lib64/srclient.def
index 8149a97..ecc20af 100644
--- a/mingw-w64-crt/lib64/srclient.def
+++ b/mingw-w64-crt/lib64/srclient.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file SRCLIENT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SRCLIENT.dll
-EXPORTS
-CreateFirstRunRp
-CreateSnapshot
-DisableFIFO
-DisableSR
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-EnableFIFO
-EnableSR
-EnableSREx
-ResetSR
-RestoreSnapshot
-SRCompress
-SRFifo
-SRFreeze
-SRNotify
-SRPrintState
-SRRegisterSnapshotCallback
-SRRemoveRestorePoint
-SRSetRestorePointA
-SRSetRestorePointW
-SRSwitchLog
-SRUnregisterSnapshotCallback
-SRUpdateDSSize
-SRUpdateMonitoredListA
-SRUpdateMonitoredListW
+; 
+; Exports of file SRCLIENT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SRCLIENT.dll
+EXPORTS
+CreateFirstRunRp
+CreateSnapshot
+DisableFIFO
+DisableSR
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+EnableFIFO
+EnableSR
+EnableSREx
+ResetSR
+RestoreSnapshot
+SRCompress
+SRFifo
+SRFreeze
+SRNotify
+SRPrintState
+SRRegisterSnapshotCallback
+SRRemoveRestorePoint
+SRSetRestorePointA
+SRSetRestorePointW
+SRSwitchLog
+SRUnregisterSnapshotCallback
+SRUpdateDSSize
+SRUpdateMonitoredListA
+SRUpdateMonitoredListW
diff --git a/mingw-w64-crt/lib64/srrstr.def b/mingw-w64-crt/lib64/srrstr.def
index 23cabd5..20b9895 100644
--- a/mingw-w64-crt/lib64/srrstr.def
+++ b/mingw-w64-crt/lib64/srrstr.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file SRRSTR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SRRSTR.dll
-EXPORTS
-DllMain
-IsSRFrozen
-CheckPrivilegesForRestore
-SRGetCplPropPage
-PrepareRestore
-InitiateRestore
-ResumeRestore
-InitializeChangeNotify
-PasswordChangeNotify
-InvokeDiskCleanup
+; 
+; Exports of file SRRSTR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SRRSTR.dll
+EXPORTS
+DllMain
+IsSRFrozen
+CheckPrivilegesForRestore
+SRGetCplPropPage
+PrepareRestore
+InitiateRestore
+ResumeRestore
+InitializeChangeNotify
+PasswordChangeNotify
+InvokeDiskCleanup
diff --git a/mingw-w64-crt/lib64/srsvc.def b/mingw-w64-crt/lib64/srsvc.def
index 12d518a..101d122 100644
--- a/mingw-w64-crt/lib64/srsvc.def
+++ b/mingw-w64-crt/lib64/srsvc.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file SRSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SRSVC.dll
-EXPORTS
-DllMain
-ServiceMain
+; 
+; Exports of file SRSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SRSVC.dll
+EXPORTS
+DllMain
+ServiceMain
diff --git a/mingw-w64-crt/lib64/srvsvc.def b/mingw-w64-crt/lib64/srvsvc.def
index f528b99..a5343f6 100644
--- a/mingw-w64-crt/lib64/srvsvc.def
+++ b/mingw-w64-crt/lib64/srvsvc.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file srvsvc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY srvsvc.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file srvsvc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY srvsvc.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/ssdpapi.def b/mingw-w64-crt/lib64/ssdpapi.def
index 10ea545..0a4f1ca 100644
--- a/mingw-w64-crt/lib64/ssdpapi.def
+++ b/mingw-w64-crt/lib64/ssdpapi.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file SSDPAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SSDPAPI.dll
-EXPORTS
-CleanupCache
-DHDisableDeviceHost
-DHEnableDeviceHost
-DHSetICSInterfaces
-DHSetICSOff
-DeregisterNotification
-DeregisterService
-DeregisterServiceByUSN
-FindServices
-FindServicesCallback
-FindServicesCancel
-FindServicesClose
-FreeSsdpMessage
-GetFirstService
-GetNextService
-RegisterNotification
-RegisterService
-SsdpCleanup
-SsdpStartup
+; 
+; Exports of file SSDPAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SSDPAPI.dll
+EXPORTS
+CleanupCache
+DHDisableDeviceHost
+DHEnableDeviceHost
+DHSetICSInterfaces
+DHSetICSOff
+DeregisterNotification
+DeregisterService
+DeregisterServiceByUSN
+FindServices
+FindServicesCallback
+FindServicesCancel
+FindServicesClose
+FreeSsdpMessage
+GetFirstService
+GetNextService
+RegisterNotification
+RegisterService
+SsdpCleanup
+SsdpStartup
diff --git a/mingw-w64-crt/lib64/ssdpsrv.def b/mingw-w64-crt/lib64/ssdpsrv.def
index a5cbb49..81dfb65 100644
--- a/mingw-w64-crt/lib64/ssdpsrv.def
+++ b/mingw-w64-crt/lib64/ssdpsrv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file ssdpsrv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ssdpsrv.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file ssdpsrv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ssdpsrv.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/ssinc.def b/mingw-w64-crt/lib64/ssinc.def
index 9abcb22..2f4640e 100644
--- a/mingw-w64-crt/lib64/ssinc.def
+++ b/mingw-w64-crt/lib64/ssinc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file SSINC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SSINC.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file SSINC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SSINC.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/sstub.def b/mingw-w64-crt/lib64/sstub.def
index 5c8ac9a..d99243d 100644
--- a/mingw-w64-crt/lib64/sstub.def
+++ b/mingw-w64-crt/lib64/sstub.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SStub.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SStub.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SStub.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SStub.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/staxmem.def b/mingw-w64-crt/lib64/staxmem.def
index cb6bcbc..1ee4b8b 100644
--- a/mingw-w64-crt/lib64/staxmem.def
+++ b/mingw-w64-crt/lib64/staxmem.def
@@ -1,42 +1,42 @@
-; 
-; Exports of file STAXMEM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY STAXMEM.dll
-EXPORTS
-ExchAlloc
-ExchFree
-ExchHeapAlloc
-ExchHeapCompact
-ExchHeapCreate
-ExchHeapDestroy
-ExchHeapFree
-ExchHeapLock
-ExchHeapReAlloc
-ExchHeapSize
-ExchHeapUnlock
-ExchHeapValidate
-ExchHeapWalk
-ExchMHeapAlloc
-ExchMHeapAllocDebug
-ExchMHeapCreate
-ExchMHeapDestroy
-ExchMHeapFree
-ExchMHeapReAlloc
-ExchMHeapReAllocDebug
-ExchMHeapSize
-ExchReAlloc
-ExchSize
-ExchmemFormatSymbol
-ExchmemGetCallStack
-ExchmemReloadSymbols
-MpHeapAlloc
-MpHeapCompact
-MpHeapCreate
-MpHeapDestroy
-MpHeapFree
-MpHeapGetStatistics
-MpHeapReAlloc
-MpHeapValidate
+; 
+; Exports of file STAXMEM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY STAXMEM.dll
+EXPORTS
+ExchAlloc
+ExchFree
+ExchHeapAlloc
+ExchHeapCompact
+ExchHeapCreate
+ExchHeapDestroy
+ExchHeapFree
+ExchHeapLock
+ExchHeapReAlloc
+ExchHeapSize
+ExchHeapUnlock
+ExchHeapValidate
+ExchHeapWalk
+ExchMHeapAlloc
+ExchMHeapAllocDebug
+ExchMHeapCreate
+ExchMHeapDestroy
+ExchMHeapFree
+ExchMHeapReAlloc
+ExchMHeapReAllocDebug
+ExchMHeapSize
+ExchReAlloc
+ExchSize
+ExchmemFormatSymbol
+ExchmemGetCallStack
+ExchmemReloadSymbols
+MpHeapAlloc
+MpHeapCompact
+MpHeapCreate
+MpHeapDestroy
+MpHeapFree
+MpHeapGetStatistics
+MpHeapReAlloc
+MpHeapValidate
diff --git a/mingw-w64-crt/lib64/stclient.def b/mingw-w64-crt/lib64/stclient.def
index 612bf4e..270bf1d 100644
--- a/mingw-w64-crt/lib64/stclient.def
+++ b/mingw-w64-crt/lib64/stclient.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file stclient.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY stclient.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file stclient.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY stclient.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/stdprov.def b/mingw-w64-crt/lib64/stdprov.def
index b23f292..b066810 100644
--- a/mingw-w64-crt/lib64/stdprov.def
+++ b/mingw-w64-crt/lib64/stdprov.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file stdprov.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY stdprov.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file stdprov.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY stdprov.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/sti.def b/mingw-w64-crt/lib64/sti.def
index 15c8eed..874f2e8 100644
--- a/mingw-w64-crt/lib64/sti.def
+++ b/mingw-w64-crt/lib64/sti.def
@@ -1,42 +1,42 @@
-; 
-; Exports of file STI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY STI.dll
-EXPORTS
-; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
-??0BUFFER@@QEAA@I@Z
-; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
-??0BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
-??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
-; public: __cdecl BUFFER::~BUFFER(void) __ptr64
-??1BUFFER@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
-??1BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
-??1BUFFER_CHAIN_ITEM@@QEAA@XZ
-; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
-??_FBUFFER@@QEAAXXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
-??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
-; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
-?QueryPtr@BUFFER@@QEBAPEAXXZ
-; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
-?QuerySize@BUFFER@@QEBAIXZ
-; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
-?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
-?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
-MigrateRegisteredSTIAppsForWIAEvents
-RegSTIforWia
-StiCreateInstance
-StiCreateInstanceA
-StiCreateInstanceW
+; 
+; Exports of file STI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY STI.dll
+EXPORTS
+; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
+??0BUFFER@@QEAA@I@Z
+; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
+??0BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
+??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
+; public: __cdecl BUFFER::~BUFFER(void) __ptr64
+??1BUFFER@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
+??1BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
+??1BUFFER_CHAIN_ITEM@@QEAA@XZ
+; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
+??_FBUFFER@@QEAAXXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
+??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
+; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
+?QueryPtr@BUFFER@@QEBAPEAXXZ
+; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
+?QuerySize@BUFFER@@QEBAIXZ
+; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
+?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
+?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
+MigrateRegisteredSTIAppsForWIAEvents
+RegSTIforWia
+StiCreateInstance
+StiCreateInstanceA
+StiCreateInstanceW
diff --git a/mingw-w64-crt/lib64/sti_ci.def b/mingw-w64-crt/lib64/sti_ci.def
index f49a5e1..9669360 100644
--- a/mingw-w64-crt/lib64/sti_ci.def
+++ b/mingw-w64-crt/lib64/sti_ci.def
@@ -1,43 +1,43 @@
-; 
-; Exports of file sti_ci.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sti_ci.dll
-EXPORTS
-; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
-??0BUFFER@@QEAA@I@Z
-; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
-??0BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
-??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
-; public: __cdecl BUFFER::~BUFFER(void) __ptr64
-??1BUFFER@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
-??1BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
-??1BUFFER_CHAIN_ITEM@@QEAA@XZ
-; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
-??_FBUFFER@@QEAAXXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
-??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
-AddDevice
-InstallWiaService
-MigrateDevice
-; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
-?QueryPtr@BUFFER@@QEBAPEAXXZ
-; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
-?QuerySize@BUFFER@@QEBAIXZ
-; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
-?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
-?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
-WiaAddDevice
-WiaCreatePortList
-WiaCreateWizardMenu
-WiaDestroyPortList
-WiaRemoveDevice
-ClassInstall
-CoinstallerEntry
-PTPCoinstallerEntry
+; 
+; Exports of file sti_ci.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sti_ci.dll
+EXPORTS
+; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
+??0BUFFER@@QEAA@I@Z
+; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
+??0BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
+??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
+; public: __cdecl BUFFER::~BUFFER(void) __ptr64
+??1BUFFER@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
+??1BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
+??1BUFFER_CHAIN_ITEM@@QEAA@XZ
+; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
+??_FBUFFER@@QEAAXXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
+??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
+AddDevice
+InstallWiaService
+MigrateDevice
+; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
+?QueryPtr@BUFFER@@QEBAPEAXXZ
+; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
+?QuerySize@BUFFER@@QEBAIXZ
+; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
+?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
+?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
+WiaAddDevice
+WiaCreatePortList
+WiaCreateWizardMenu
+WiaDestroyPortList
+WiaRemoveDevice
+ClassInstall
+CoinstallerEntry
+PTPCoinstallerEntry
diff --git a/mingw-w64-crt/lib64/stobject.def b/mingw-w64-crt/lib64/stobject.def
index 470d69f..4cc3e05 100644
--- a/mingw-w64-crt/lib64/stobject.def
+++ b/mingw-w64-crt/lib64/stobject.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file stobject.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY stobject.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file stobject.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY stobject.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/storprop.def b/mingw-w64-crt/lib64/storprop.def
index 6136e68..451241a 100644
--- a/mingw-w64-crt/lib64/storprop.def
+++ b/mingw-w64-crt/lib64/storprop.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file PROPPAGE.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PROPPAGE.DLL
-EXPORTS
-CdromDisableDigitalPlayback
-CdromEnableDigitalPlayback
-CdromIsDigitalPlaybackEnabled
-CdromKnownGoodDigitalPlayback
-DiskClassInstaller
-DvdClassInstaller
-DvdLauncher
-DvdPropPageProvider
-IdePropPageProvider
-VolumePropPageProvider
+; 
+; Exports of file PROPPAGE.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PROPPAGE.DLL
+EXPORTS
+CdromDisableDigitalPlayback
+CdromEnableDigitalPlayback
+CdromIsDigitalPlaybackEnabled
+CdromKnownGoodDigitalPlayback
+DiskClassInstaller
+DvdClassInstaller
+DvdLauncher
+DvdPropPageProvider
+IdePropPageProvider
+VolumePropPageProvider
diff --git a/mingw-w64-crt/lib64/streamci.def b/mingw-w64-crt/lib64/streamci.def
index 16c6a41..8cbfc9c 100644
--- a/mingw-w64-crt/lib64/streamci.def
+++ b/mingw-w64-crt/lib64/streamci.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file streamci.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY streamci.dll
-EXPORTS
-StreamingDeviceClassInstaller
-StreamingDeviceRemove
-StreamingDeviceRemoveA
-StreamingDeviceRemoveW
-StreamingDeviceSetup
-StreamingDeviceSetupA
-StreamingDeviceSetupW
-SwEnumCoInstaller
+; 
+; Exports of file streamci.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY streamci.dll
+EXPORTS
+StreamingDeviceClassInstaller
+StreamingDeviceRemove
+StreamingDeviceRemoveA
+StreamingDeviceRemoveW
+StreamingDeviceSetup
+StreamingDeviceSetupA
+StreamingDeviceSetupW
+SwEnumCoInstaller
diff --git a/mingw-w64-crt/lib64/strmfilt.def b/mingw-w64-crt/lib64/strmfilt.def
index 085c7be..fd1a049 100644
--- a/mingw-w64-crt/lib64/strmfilt.def
+++ b/mingw-w64-crt/lib64/strmfilt.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file strmfilt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY strmfilt.dll
-EXPORTS
-IsapiFilterInitialize
-IsapiFilterTerminate
-StreamFilterClientInitialize
-StreamFilterClientStart
-StreamFilterClientStop
-StreamFilterClientTerminate
-StreamFilterInitialize
-StreamFilterStart
-StreamFilterStop
-StreamFilterTerminate
-DllMain
+; 
+; Exports of file strmfilt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY strmfilt.dll
+EXPORTS
+IsapiFilterInitialize
+IsapiFilterTerminate
+StreamFilterClientInitialize
+StreamFilterClientStart
+StreamFilterClientStop
+StreamFilterClientTerminate
+StreamFilterInitialize
+StreamFilterStart
+StreamFilterStop
+StreamFilterTerminate
+DllMain
diff --git a/mingw-w64-crt/lib64/svcext.def b/mingw-w64-crt/lib64/svcext.def
index d737203..8f5a175 100644
--- a/mingw-w64-crt/lib64/svcext.def
+++ b/mingw-w64-crt/lib64/svcext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SVCEXT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SVCEXT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SVCEXT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SVCEXT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/svcpack.def b/mingw-w64-crt/lib64/svcpack.def
index 3c378ea..b68dd83 100644
--- a/mingw-w64-crt/lib64/svcpack.def
+++ b/mingw-w64-crt/lib64/svcpack.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file SVCPACK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SVCPACK.dll
-EXPORTS
-SvcPackCallbackRoutine
+; 
+; Exports of file SVCPACK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SVCPACK.dll
+EXPORTS
+SvcPackCallbackRoutine
diff --git a/mingw-w64-crt/lib64/swprv.def b/mingw-w64-crt/lib64/swprv.def
index 51f02df..77d65b9 100644
--- a/mingw-w64-crt/lib64/swprv.def
+++ b/mingw-w64-crt/lib64/swprv.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file swprv.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY swprv.DLL
-EXPORTS
-ServiceMain
-; void __cdecl VssFreeSnapshotProperties(struct _VSS_SNAPSHOT_PROP * __ptr64)
-?VssFreeSnapshotProperties@@YAXPEAU_VSS_SNAPSHOT_PROP@@@Z
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file swprv.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY swprv.DLL
+EXPORTS
+ServiceMain
+; void __cdecl VssFreeSnapshotProperties(struct _VSS_SNAPSHOT_PROP * __ptr64)
+?VssFreeSnapshotProperties@@YAXPEAU_VSS_SNAPSHOT_PROP@@@Z
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/sxs.def b/mingw-w64-crt/lib64/sxs.def
index 0a86a79..6c97968 100644
--- a/mingw-w64-crt/lib64/sxs.def
+++ b/mingw-w64-crt/lib64/sxs.def
@@ -1,38 +1,38 @@
-; 
-; Exports of file sxs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sxs.dll
-EXPORTS
-SxsFindClrClassInformation
-SxsFindClrSurrogateInformation
-SxsLookupClrGuid
-SxsRunDllInstallAssembly
-SxsRunDllInstallAssemblyW
-SxspGenerateManifestPathOnAssemblyIdentity
-SxspGeneratePolicyPathOnAssemblyIdentity
-SxspRunDllDeleteDirectory
-SxspRunDllDeleteDirectoryW
-CreateAssemblyCache
-CreateAssemblyNameObject
-DllInstall
-SxsBeginAssemblyInstall
-SxsEndAssemblyInstall
-SxsGenerateActivationContext
-SxsInstallW
-SxsOleAut32MapConfiguredClsidToReferenceClsid
-SxsOleAut32MapIIDOrCLSIDToTypeLibrary
-SxsOleAut32MapIIDToProxyStubCLSID
-SxsOleAut32MapIIDToTLBPath
-SxsOleAut32MapReferenceClsidToConfiguredClsid
-SxsOleAut32RedirectTypeLibrary
-SxsProbeAssemblyInstallation
-SxsProtectionGatherEntriesW
-SxsProtectionNotifyW
-SxsProtectionPerformScanNow
-SxsProtectionUserLogoffEvent
-SxsProtectionUserLogonEvent
-SxsQueryManifestInformation
-SxsUninstallW
+; 
+; Exports of file sxs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sxs.dll
+EXPORTS
+SxsFindClrClassInformation
+SxsFindClrSurrogateInformation
+SxsLookupClrGuid
+SxsRunDllInstallAssembly
+SxsRunDllInstallAssemblyW
+SxspGenerateManifestPathOnAssemblyIdentity
+SxspGeneratePolicyPathOnAssemblyIdentity
+SxspRunDllDeleteDirectory
+SxspRunDllDeleteDirectoryW
+CreateAssemblyCache
+CreateAssemblyNameObject
+DllInstall
+SxsBeginAssemblyInstall
+SxsEndAssemblyInstall
+SxsGenerateActivationContext
+SxsInstallW
+SxsOleAut32MapConfiguredClsidToReferenceClsid
+SxsOleAut32MapIIDOrCLSIDToTypeLibrary
+SxsOleAut32MapIIDToProxyStubCLSID
+SxsOleAut32MapIIDToTLBPath
+SxsOleAut32MapReferenceClsidToConfiguredClsid
+SxsOleAut32RedirectTypeLibrary
+SxsProbeAssemblyInstallation
+SxsProtectionGatherEntriesW
+SxsProtectionNotifyW
+SxsProtectionPerformScanNow
+SxsProtectionUserLogoffEvent
+SxsProtectionUserLogonEvent
+SxsQueryManifestInformation
+SxsUninstallW
diff --git a/mingw-w64-crt/lib64/synceng.def b/mingw-w64-crt/lib64/synceng.def
index 2363a84..60d50ad 100644
--- a/mingw-w64-crt/lib64/synceng.def
+++ b/mingw-w64-crt/lib64/synceng.def
@@ -1,44 +1,44 @@
-; 
-; Exports of file SYNCENG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SYNCENG.dll
-EXPORTS
-AddAllTwinsToTwinList
-AddFolderTwin
-AddObjectTwin
-AddTwinToTwinList
-AnyTwins
-BeginReconciliation
-ClearBriefcaseCache
-CloseBriefcase
-CompareFileStamps
-CountSourceFolderTwins
-CreateFolderTwinList
-CreateRecList
-CreateTwinList
-DeleteBriefcase
-DeleteTwin
-DestroyFolderTwinList
-DestroyRecList
-DestroyTwinList
-EndReconciliation
-FindBriefcaseClose
-FindFirstBriefcase
-FindNextBriefcase
-GetFileStamp
-GetFolderTwinStatus
-GetObjectTwinHandle
-GetOpenBriefcaseInfo
-GetVolumeDescription
-IsFolderTwin
-IsOrphanObjectTwin
-IsPathOnVolume
-OpenBriefcase
-ReconcileItem
-ReleaseTwinHandle
-RemoveAllTwinsFromTwinList
-RemoveTwinFromTwinList
-SaveBriefcase
+; 
+; Exports of file SYNCENG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SYNCENG.dll
+EXPORTS
+AddAllTwinsToTwinList
+AddFolderTwin
+AddObjectTwin
+AddTwinToTwinList
+AnyTwins
+BeginReconciliation
+ClearBriefcaseCache
+CloseBriefcase
+CompareFileStamps
+CountSourceFolderTwins
+CreateFolderTwinList
+CreateRecList
+CreateTwinList
+DeleteBriefcase
+DeleteTwin
+DestroyFolderTwinList
+DestroyRecList
+DestroyTwinList
+EndReconciliation
+FindBriefcaseClose
+FindFirstBriefcase
+FindNextBriefcase
+GetFileStamp
+GetFolderTwinStatus
+GetObjectTwinHandle
+GetOpenBriefcaseInfo
+GetVolumeDescription
+IsFolderTwin
+IsOrphanObjectTwin
+IsPathOnVolume
+OpenBriefcase
+ReconcileItem
+ReleaseTwinHandle
+RemoveAllTwinsFromTwinList
+RemoveTwinFromTwinList
+SaveBriefcase
diff --git a/mingw-w64-crt/lib64/syncui.def b/mingw-w64-crt/lib64/syncui.def
index f9657ba..a80d23a 100644
--- a/mingw-w64-crt/lib64/syncui.def
+++ b/mingw-w64-crt/lib64/syncui.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file SYNCUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SYNCUI.dll
-EXPORTS
-Briefcase_Create
-Briefcase_Intro
-Briefcase_CreateW
-Briefcase_CreateA
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file SYNCUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SYNCUI.dll
+EXPORTS
+Briefcase_Create
+Briefcase_Intro
+Briefcase_CreateW
+Briefcase_CreateA
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/sysinv.def b/mingw-w64-crt/lib64/sysinv.def
index 6c838bd..fa3a55c 100644
--- a/mingw-w64-crt/lib64/sysinv.def
+++ b/mingw-w64-crt/lib64/sysinv.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file SysInv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SysInv.dll
-EXPORTS
-GetSystemInventoryA
-GetSystemInventoryW
+; 
+; Exports of file SysInv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SysInv.dll
+EXPORTS
+GetSystemInventoryA
+GetSystemInventoryW
diff --git a/mingw-w64-crt/lib64/sysmod.def b/mingw-w64-crt/lib64/sysmod.def
index 82c447e..802ca26 100644
--- a/mingw-w64-crt/lib64/sysmod.def
+++ b/mingw-w64-crt/lib64/sysmod.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file SYSMOD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SYSMOD.dll
-EXPORTS
-DestinationModule
-DllMain
-ModuleInitialize
-ModuleTerminate
-SourceModule
-TypeModule
-VirtualComputerModule
+; 
+; Exports of file SYSMOD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SYSMOD.dll
+EXPORTS
+DestinationModule
+DllMain
+ModuleInitialize
+ModuleTerminate
+SourceModule
+TypeModule
+VirtualComputerModule
diff --git a/mingw-w64-crt/lib64/syssetup.def b/mingw-w64-crt/lib64/syssetup.def
index 0c64717..35aa8cf 100644
--- a/mingw-w64-crt/lib64/syssetup.def
+++ b/mingw-w64-crt/lib64/syssetup.def
@@ -1,96 +1,96 @@
-; 
-; Exports of file SYSSETUP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SYSSETUP.dll
-EXPORTS
-AsrAddSifEntryA
-AsrAddSifEntryW
-AsrCreateStateFileA
-AsrCreateStateFileW
-AsrFreeContext
-AsrRestorePlugPlayRegistryData
-AsrpGetLocalDiskInfo
-AsrpGetLocalVolumeInfo
-AsrpRestoreNonCriticalDisksW
-ComputerClassInstaller
-CreateLocalAdminAccount
-CreateLocalAdminAccountEx
-CreateLocalUserAccount
-CriticalDeviceCoInstaller
-DevInstallW
-DeviceBayClassInstaller
-DiskPropPageProvider
-DoInstallComponentInfs
-EisaUpHalCoInstaller
-GenerateName
-GetAnswerFileSetting
-HdcClassInstaller
-InitializeSetupLog
-InstallWindowsNt
-InvokeExternalApplicationEx
-KeyboardClassInstaller
-LegacyDriverPropPageProvider
-MigrateExceptionPackages
-MouseClassInstaller
-NtApmClassInstaller
-OpkCheckVersion
-PS2MousePropPageProvider
-PnPInitializationThread
-PrepareForAudit
-RepairStartMenuItems
-ReportError
-RunOEMExtraTasks
-ScsiClassInstaller
-SetAccountsDomainSid
-SetupAddOrRemoveTestCertificate
-SetupChangeFontSize
-SetupChangeLocale
-SetupChangeLocaleEx
-SetupCreateOptionalComponentsPage
-SetupDestroyLanguageList
-SetupDestroyPhoneList
-SetupEnumerateRegisteredOsComponents
-SetupExtendPartition
-SetupGetGeoOptions
-SetupGetInstallMode
-SetupGetKeyboardOptions
-SetupGetLocaleOptions
-SetupGetProductType
-SetupGetSetupInfo
-SetupGetValidEula
-SetupIEHardeningSettings
-SetupInfObjectInstallActionW
-SetupInstallCatalog
-SetupMapTapiToIso
-SetupOobeBnk
-SetupOobeCleanup
-SetupOobeInitDebugLog
-SetupOobeInitPostServices
-SetupOobeInitPreServices
-SetupPidGen3
-SetupQueryRegisteredOsComponent
-SetupQueryRegisteredOsComponentsOrder
-SetupReadPhoneList
-SetupRegisterOsComponent
-SetupSetAdminPassword
-SetupSetDisplay
-SetupSetIntlOptions
-SetupSetRegisteredOsComponentsOrder
-SetupSetSetupInfo
-SetupShellSettings
-SetupStartService
-SetupUnRegisterOsComponent
-StorageCoInstaller
-SystemUpdateUserProfileDirectory
-TapeClassInstaller
-TapePropPageProvider
-TerminateSetupLog
-UpdatePnpDeviceDrivers
-UpgradePrinters
-ViewSetupActionLog
-VolumeClassInstaller
-pSetupDebugPrint
-pSetuplogSfcError
+; 
+; Exports of file SYSSETUP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SYSSETUP.dll
+EXPORTS
+AsrAddSifEntryA
+AsrAddSifEntryW
+AsrCreateStateFileA
+AsrCreateStateFileW
+AsrFreeContext
+AsrRestorePlugPlayRegistryData
+AsrpGetLocalDiskInfo
+AsrpGetLocalVolumeInfo
+AsrpRestoreNonCriticalDisksW
+ComputerClassInstaller
+CreateLocalAdminAccount
+CreateLocalAdminAccountEx
+CreateLocalUserAccount
+CriticalDeviceCoInstaller
+DevInstallW
+DeviceBayClassInstaller
+DiskPropPageProvider
+DoInstallComponentInfs
+EisaUpHalCoInstaller
+GenerateName
+GetAnswerFileSetting
+HdcClassInstaller
+InitializeSetupLog
+InstallWindowsNt
+InvokeExternalApplicationEx
+KeyboardClassInstaller
+LegacyDriverPropPageProvider
+MigrateExceptionPackages
+MouseClassInstaller
+NtApmClassInstaller
+OpkCheckVersion
+PS2MousePropPageProvider
+PnPInitializationThread
+PrepareForAudit
+RepairStartMenuItems
+ReportError
+RunOEMExtraTasks
+ScsiClassInstaller
+SetAccountsDomainSid
+SetupAddOrRemoveTestCertificate
+SetupChangeFontSize
+SetupChangeLocale
+SetupChangeLocaleEx
+SetupCreateOptionalComponentsPage
+SetupDestroyLanguageList
+SetupDestroyPhoneList
+SetupEnumerateRegisteredOsComponents
+SetupExtendPartition
+SetupGetGeoOptions
+SetupGetInstallMode
+SetupGetKeyboardOptions
+SetupGetLocaleOptions
+SetupGetProductType
+SetupGetSetupInfo
+SetupGetValidEula
+SetupIEHardeningSettings
+SetupInfObjectInstallActionW
+SetupInstallCatalog
+SetupMapTapiToIso
+SetupOobeBnk
+SetupOobeCleanup
+SetupOobeInitDebugLog
+SetupOobeInitPostServices
+SetupOobeInitPreServices
+SetupPidGen3
+SetupQueryRegisteredOsComponent
+SetupQueryRegisteredOsComponentsOrder
+SetupReadPhoneList
+SetupRegisterOsComponent
+SetupSetAdminPassword
+SetupSetDisplay
+SetupSetIntlOptions
+SetupSetRegisteredOsComponentsOrder
+SetupSetSetupInfo
+SetupShellSettings
+SetupStartService
+SetupUnRegisterOsComponent
+StorageCoInstaller
+SystemUpdateUserProfileDirectory
+TapeClassInstaller
+TapePropPageProvider
+TerminateSetupLog
+UpdatePnpDeviceDrivers
+UpgradePrinters
+ViewSetupActionLog
+VolumeClassInstaller
+pSetupDebugPrint
+pSetuplogSfcError
diff --git a/mingw-w64-crt/lib64/t2embed.def b/mingw-w64-crt/lib64/t2embed.def
index f431e6b..d11f792 100644
--- a/mingw-w64-crt/lib64/t2embed.def
+++ b/mingw-w64-crt/lib64/t2embed.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file t2embed.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY t2embed.dll
-EXPORTS
-TTCharToUnicode
-TTDeleteEmbeddedFont
-TTEmbedFont
-TTEmbedFontEx
-TTEmbedFontFromFileA
-TTEnableEmbeddingForFacename
-TTGetEmbeddedFontInfo
-TTGetEmbeddingType
-TTGetNewFontName
-TTIsEmbeddingEnabled
-TTIsEmbeddingEnabledForFacename
-TTLoadEmbeddedFont
-TTRunValidationTests
-TTRunValidationTestsEx
+; 
+; Exports of file t2embed.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY t2embed.dll
+EXPORTS
+TTCharToUnicode
+TTDeleteEmbeddedFont
+TTEmbedFont
+TTEmbedFontEx
+TTEmbedFontFromFileA
+TTEnableEmbeddingForFacename
+TTGetEmbeddedFontInfo
+TTGetEmbeddingType
+TTGetNewFontName
+TTIsEmbeddingEnabled
+TTIsEmbeddingEnabledForFacename
+TTLoadEmbeddedFont
+TTRunValidationTests
+TTRunValidationTestsEx
diff --git a/mingw-w64-crt/lib64/tapi3.def b/mingw-w64-crt/lib64/tapi3.def
index 3b361e7..1b358cc 100644
--- a/mingw-w64-crt/lib64/tapi3.def
+++ b/mingw-w64-crt/lib64/tapi3.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file tapi3.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY tapi3.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file tapi3.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY tapi3.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/tapi32.def b/mingw-w64-crt/lib64/tapi32.def
index b2041b0..9907663 100644
--- a/mingw-w64-crt/lib64/tapi32.def
+++ b/mingw-w64-crt/lib64/tapi32.def
@@ -1,286 +1,286 @@
-; 
-; Exports of file TAPI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TAPI32.dll
-EXPORTS
-GetTapi16CallbackMsg
-LAddrParamsInited
-LOpenDialAsst
-LocWizardDlgProc
-MMCAddProvider
-MMCConfigProvider
-MMCGetAvailableProviders
-MMCGetDeviceFlags
-MMCGetLineInfo
-MMCGetLineStatus
-MMCGetPhoneInfo
-MMCGetPhoneStatus
-MMCGetProviderList
-MMCGetServerConfig
-MMCInitialize
-MMCRemoveProvider
-MMCSetLineInfo
-MMCSetPhoneInfo
-MMCSetServerConfig
-MMCShutdown
-NonAsyncEventThread
-TAPIWndProc
-TUISPIDLLCallback
-internalConfig
-internalCreateDefLocation
-internalNewLocationW
-internalPerformance
-internalRemoveLocation
-internalRenameLocationW
-lineAccept
-lineAddProvider
-lineAddProviderA
-lineAddProviderW
-lineAddToConference
-lineAgentSpecific
-lineAnswer
-lineBlindTransfer
-lineBlindTransferA
-lineBlindTransferW
-lineClose
-lineCompleteCall
-lineCompleteTransfer
-lineConfigDialog
-lineConfigDialogA
-lineConfigDialogEdit
-lineConfigDialogEditA
-lineConfigDialogEditW
-lineConfigDialogW
-lineConfigProvider
-lineCreateAgentA
-lineCreateAgentSessionA
-lineCreateAgentSessionW
-lineCreateAgentW
-lineDeallocateCall
-lineDevSpecific
-lineDevSpecificFeature
-lineDial
-lineDialA
-lineDialW
-lineDrop
-lineForward
-lineForwardA
-lineForwardW
-lineGatherDigits
-lineGatherDigitsA
-lineGatherDigitsW
-lineGenerateDigits
-lineGenerateDigitsA
-lineGenerateDigitsW
-lineGenerateTone
-lineGetAddressCaps
-lineGetAddressCapsA
-lineGetAddressCapsW
-lineGetAddressID
-lineGetAddressIDA
-lineGetAddressIDW
-lineGetAddressStatus
-lineGetAddressStatusA
-lineGetAddressStatusW
-lineGetAgentActivityListA
-lineGetAgentActivityListW
-lineGetAgentCapsA
-lineGetAgentCapsW
-lineGetAgentGroupListA
-lineGetAgentGroupListW
-lineGetAgentInfo
-lineGetAgentSessionInfo
-lineGetAgentSessionList
-lineGetAgentStatusA
-lineGetAgentStatusW
-lineGetAppPriority
-lineGetAppPriorityA
-lineGetAppPriorityW
-lineGetCallInfo
-lineGetCallInfoA
-lineGetCallInfoW
-lineGetCallStatus
-lineGetConfRelatedCalls
-lineGetCountry
-lineGetCountryA
-lineGetCountryW
-lineGetDevCaps
-lineGetDevCapsA
-lineGetDevCapsW
-lineGetDevConfig
-lineGetDevConfigA
-lineGetDevConfigW
-lineGetGroupListA
-lineGetGroupListW
-lineGetID
-lineGetIDA
-lineGetIDW
-lineGetIcon
-lineGetIconA
-lineGetIconW
-lineGetLineDevStatus
-lineGetLineDevStatusA
-lineGetLineDevStatusW
-lineGetMessage
-lineGetNewCalls
-lineGetNumRings
-lineGetProviderList
-lineGetProviderListA
-lineGetProviderListW
-lineGetProxyStatus
-lineGetQueueInfo
-lineGetQueueListA
-lineGetQueueListW
-lineGetRequest
-lineGetRequestA
-lineGetRequestW
-lineGetStatusMessages
-lineGetTranslateCaps
-lineGetTranslateCapsA
-lineGetTranslateCapsW
-lineHandoff
-lineHandoffA
-lineHandoffW
-lineHold
-lineInitialize
-lineInitializeExA
-lineInitializeExW
-lineMakeCall
-lineMakeCallA
-lineMakeCallW
-lineMonitorDigits
-lineMonitorMedia
-lineMonitorTones
-lineNegotiateAPIVersion
-lineNegotiateExtVersion
-lineOpen
-lineOpenA
-lineOpenW
-linePark
-lineParkA
-lineParkW
-linePickup
-linePickupA
-linePickupW
-linePrepareAddToConference
-linePrepareAddToConferenceA
-linePrepareAddToConferenceW
-lineProxyMessage
-lineProxyResponse
-lineRedirect
-lineRedirectA
-lineRedirectW
-lineRegisterRequestRecipient
-lineReleaseUserUserInfo
-lineRemoveFromConference
-lineRemoveProvider
-lineSecureCall
-lineSendUserUserInfo
-lineSetAgentActivity
-lineSetAgentGroup
-lineSetAgentMeasurementPeriod
-lineSetAgentSessionState
-lineSetAgentState
-lineSetAgentStateEx
-lineSetAppPriority
-lineSetAppPriorityA
-lineSetAppPriorityW
-lineSetAppSpecific
-lineSetCallData
-lineSetCallParams
-lineSetCallPrivilege
-lineSetCallQualityOfService
-lineSetCallTreatment
-lineSetCurrentLocation
-lineSetDevConfig
-lineSetDevConfigA
-lineSetDevConfigW
-lineSetLineDevStatus
-lineSetMediaControl
-lineSetMediaMode
-lineSetNumRings
-lineSetQueueMeasurementPeriod
-lineSetStatusMessages
-lineSetTerminal
-lineSetTollList
-lineSetTollListA
-lineSetTollListW
-lineSetupConference
-lineSetupConferenceA
-lineSetupConferenceW
-lineSetupTransfer
-lineSetupTransferA
-lineSetupTransferW
-lineShutdown
-lineSwapHold
-lineTranslateAddress
-lineTranslateAddressA
-lineTranslateAddressW
-lineTranslateDialog
-lineTranslateDialogA
-lineTranslateDialogW
-lineUncompleteCall
-lineUnhold
-lineUnpark
-lineUnparkA
-lineUnparkW
-phoneClose
-phoneConfigDialog
-phoneConfigDialogA
-phoneConfigDialogW
-phoneDevSpecific
-phoneGetButtonInfo
-phoneGetButtonInfoA
-phoneGetButtonInfoW
-phoneGetData
-phoneGetDevCaps
-phoneGetDevCapsA
-phoneGetDevCapsW
-phoneGetDisplay
-phoneGetGain
-phoneGetHookSwitch
-phoneGetID
-phoneGetIDA
-phoneGetIDW
-phoneGetIcon
-phoneGetIconA
-phoneGetIconW
-phoneGetLamp
-phoneGetMessage
-phoneGetRing
-phoneGetStatus
-phoneGetStatusA
-phoneGetStatusMessages
-phoneGetStatusW
-phoneGetVolume
-phoneInitialize
-phoneInitializeExA
-phoneInitializeExW
-phoneNegotiateAPIVersion
-phoneNegotiateExtVersion
-phoneOpen
-phoneSetButtonInfo
-phoneSetButtonInfoA
-phoneSetButtonInfoW
-phoneSetData
-phoneSetDisplay
-phoneSetGain
-phoneSetHookSwitch
-phoneSetLamp
-phoneSetRing
-phoneSetStatusMessages
-phoneSetVolume
-phoneShutdown
-tapiGetLocationInfo
-tapiGetLocationInfoA
-tapiGetLocationInfoW
-tapiRequestDrop
-tapiRequestMakeCall
-tapiRequestMakeCallA
-tapiRequestMakeCallW
-tapiRequestMediaCall
-tapiRequestMediaCallA
-tapiRequestMediaCallW
+; 
+; Exports of file TAPI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TAPI32.dll
+EXPORTS
+GetTapi16CallbackMsg
+LAddrParamsInited
+LOpenDialAsst
+LocWizardDlgProc
+MMCAddProvider
+MMCConfigProvider
+MMCGetAvailableProviders
+MMCGetDeviceFlags
+MMCGetLineInfo
+MMCGetLineStatus
+MMCGetPhoneInfo
+MMCGetPhoneStatus
+MMCGetProviderList
+MMCGetServerConfig
+MMCInitialize
+MMCRemoveProvider
+MMCSetLineInfo
+MMCSetPhoneInfo
+MMCSetServerConfig
+MMCShutdown
+NonAsyncEventThread
+TAPIWndProc
+TUISPIDLLCallback
+internalConfig
+internalCreateDefLocation
+internalNewLocationW
+internalPerformance
+internalRemoveLocation
+internalRenameLocationW
+lineAccept
+lineAddProvider
+lineAddProviderA
+lineAddProviderW
+lineAddToConference
+lineAgentSpecific
+lineAnswer
+lineBlindTransfer
+lineBlindTransferA
+lineBlindTransferW
+lineClose
+lineCompleteCall
+lineCompleteTransfer
+lineConfigDialog
+lineConfigDialogA
+lineConfigDialogEdit
+lineConfigDialogEditA
+lineConfigDialogEditW
+lineConfigDialogW
+lineConfigProvider
+lineCreateAgentA
+lineCreateAgentSessionA
+lineCreateAgentSessionW
+lineCreateAgentW
+lineDeallocateCall
+lineDevSpecific
+lineDevSpecificFeature
+lineDial
+lineDialA
+lineDialW
+lineDrop
+lineForward
+lineForwardA
+lineForwardW
+lineGatherDigits
+lineGatherDigitsA
+lineGatherDigitsW
+lineGenerateDigits
+lineGenerateDigitsA
+lineGenerateDigitsW
+lineGenerateTone
+lineGetAddressCaps
+lineGetAddressCapsA
+lineGetAddressCapsW
+lineGetAddressID
+lineGetAddressIDA
+lineGetAddressIDW
+lineGetAddressStatus
+lineGetAddressStatusA
+lineGetAddressStatusW
+lineGetAgentActivityListA
+lineGetAgentActivityListW
+lineGetAgentCapsA
+lineGetAgentCapsW
+lineGetAgentGroupListA
+lineGetAgentGroupListW
+lineGetAgentInfo
+lineGetAgentSessionInfo
+lineGetAgentSessionList
+lineGetAgentStatusA
+lineGetAgentStatusW
+lineGetAppPriority
+lineGetAppPriorityA
+lineGetAppPriorityW
+lineGetCallInfo
+lineGetCallInfoA
+lineGetCallInfoW
+lineGetCallStatus
+lineGetConfRelatedCalls
+lineGetCountry
+lineGetCountryA
+lineGetCountryW
+lineGetDevCaps
+lineGetDevCapsA
+lineGetDevCapsW
+lineGetDevConfig
+lineGetDevConfigA
+lineGetDevConfigW
+lineGetGroupListA
+lineGetGroupListW
+lineGetID
+lineGetIDA
+lineGetIDW
+lineGetIcon
+lineGetIconA
+lineGetIconW
+lineGetLineDevStatus
+lineGetLineDevStatusA
+lineGetLineDevStatusW
+lineGetMessage
+lineGetNewCalls
+lineGetNumRings
+lineGetProviderList
+lineGetProviderListA
+lineGetProviderListW
+lineGetProxyStatus
+lineGetQueueInfo
+lineGetQueueListA
+lineGetQueueListW
+lineGetRequest
+lineGetRequestA
+lineGetRequestW
+lineGetStatusMessages
+lineGetTranslateCaps
+lineGetTranslateCapsA
+lineGetTranslateCapsW
+lineHandoff
+lineHandoffA
+lineHandoffW
+lineHold
+lineInitialize
+lineInitializeExA
+lineInitializeExW
+lineMakeCall
+lineMakeCallA
+lineMakeCallW
+lineMonitorDigits
+lineMonitorMedia
+lineMonitorTones
+lineNegotiateAPIVersion
+lineNegotiateExtVersion
+lineOpen
+lineOpenA
+lineOpenW
+linePark
+lineParkA
+lineParkW
+linePickup
+linePickupA
+linePickupW
+linePrepareAddToConference
+linePrepareAddToConferenceA
+linePrepareAddToConferenceW
+lineProxyMessage
+lineProxyResponse
+lineRedirect
+lineRedirectA
+lineRedirectW
+lineRegisterRequestRecipient
+lineReleaseUserUserInfo
+lineRemoveFromConference
+lineRemoveProvider
+lineSecureCall
+lineSendUserUserInfo
+lineSetAgentActivity
+lineSetAgentGroup
+lineSetAgentMeasurementPeriod
+lineSetAgentSessionState
+lineSetAgentState
+lineSetAgentStateEx
+lineSetAppPriority
+lineSetAppPriorityA
+lineSetAppPriorityW
+lineSetAppSpecific
+lineSetCallData
+lineSetCallParams
+lineSetCallPrivilege
+lineSetCallQualityOfService
+lineSetCallTreatment
+lineSetCurrentLocation
+lineSetDevConfig
+lineSetDevConfigA
+lineSetDevConfigW
+lineSetLineDevStatus
+lineSetMediaControl
+lineSetMediaMode
+lineSetNumRings
+lineSetQueueMeasurementPeriod
+lineSetStatusMessages
+lineSetTerminal
+lineSetTollList
+lineSetTollListA
+lineSetTollListW
+lineSetupConference
+lineSetupConferenceA
+lineSetupConferenceW
+lineSetupTransfer
+lineSetupTransferA
+lineSetupTransferW
+lineShutdown
+lineSwapHold
+lineTranslateAddress
+lineTranslateAddressA
+lineTranslateAddressW
+lineTranslateDialog
+lineTranslateDialogA
+lineTranslateDialogW
+lineUncompleteCall
+lineUnhold
+lineUnpark
+lineUnparkA
+lineUnparkW
+phoneClose
+phoneConfigDialog
+phoneConfigDialogA
+phoneConfigDialogW
+phoneDevSpecific
+phoneGetButtonInfo
+phoneGetButtonInfoA
+phoneGetButtonInfoW
+phoneGetData
+phoneGetDevCaps
+phoneGetDevCapsA
+phoneGetDevCapsW
+phoneGetDisplay
+phoneGetGain
+phoneGetHookSwitch
+phoneGetID
+phoneGetIDA
+phoneGetIDW
+phoneGetIcon
+phoneGetIconA
+phoneGetIconW
+phoneGetLamp
+phoneGetMessage
+phoneGetRing
+phoneGetStatus
+phoneGetStatusA
+phoneGetStatusMessages
+phoneGetStatusW
+phoneGetVolume
+phoneInitialize
+phoneInitializeExA
+phoneInitializeExW
+phoneNegotiateAPIVersion
+phoneNegotiateExtVersion
+phoneOpen
+phoneSetButtonInfo
+phoneSetButtonInfoA
+phoneSetButtonInfoW
+phoneSetData
+phoneSetDisplay
+phoneSetGain
+phoneSetHookSwitch
+phoneSetLamp
+phoneSetRing
+phoneSetStatusMessages
+phoneSetVolume
+phoneShutdown
+tapiGetLocationInfo
+tapiGetLocationInfoA
+tapiGetLocationInfoW
+tapiRequestDrop
+tapiRequestMakeCall
+tapiRequestMakeCallA
+tapiRequestMakeCallW
+tapiRequestMediaCall
+tapiRequestMediaCallA
+tapiRequestMediaCallW
diff --git a/mingw-w64-crt/lib64/tapiperf.def b/mingw-w64-crt/lib64/tapiperf.def
index c7fa72e..8bd1785 100644
--- a/mingw-w64-crt/lib64/tapiperf.def
+++ b/mingw-w64-crt/lib64/tapiperf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file TAPIPERF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TAPIPERF.dll
-EXPORTS
-CloseTapiPerformanceData
-CollectTapiPerformanceData
-OpenTapiPerformanceData
+; 
+; Exports of file TAPIPERF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TAPIPERF.dll
+EXPORTS
+CloseTapiPerformanceData
+CollectTapiPerformanceData
+OpenTapiPerformanceData
diff --git a/mingw-w64-crt/lib64/tapisrv.def b/mingw-w64-crt/lib64/tapisrv.def
index 0c34553..6b08af3 100644
--- a/mingw-w64-crt/lib64/tapisrv.def
+++ b/mingw-w64-crt/lib64/tapisrv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file tapisrv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY tapisrv.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file tapisrv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY tapisrv.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/tcpmib.def b/mingw-w64-crt/lib64/tcpmib.def
index 514900b..7225be9 100644
--- a/mingw-w64-crt/lib64/tcpmib.def
+++ b/mingw-w64-crt/lib64/tcpmib.def
@@ -1,72 +1,72 @@
-; 
-; Exports of file TCPMIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TCPMIB.dll
-EXPORTS
-; public: __cdecl CTcpMib::CTcpMib(class CTcpMib const & __ptr64) __ptr64
-??0CTcpMib@@QEAA@AEBV0@@Z
-; public: __cdecl CTcpMib::CTcpMib(void) __ptr64
-??0CTcpMib@@QEAA@XZ
-; public: __cdecl CTcpMibABC::CTcpMibABC(class CTcpMibABC const & __ptr64) __ptr64
-??0CTcpMibABC@@QEAA@AEBV0@@Z
-; public: __cdecl CTcpMibABC::CTcpMibABC(void) __ptr64
-??0CTcpMibABC@@QEAA@XZ
-; public: virtual __cdecl CTcpMib::~CTcpMib(void) __ptr64
-??1CTcpMib@@UEAA@XZ
-; public: virtual __cdecl CTcpMibABC::~CTcpMibABC(void) __ptr64
-??1CTcpMibABC@@UEAA@XZ
-; public: class CTcpMib & __ptr64 __cdecl CTcpMib::operator=(class CTcpMib const & __ptr64) __ptr64
-??4CTcpMib@@QEAAAEAV0@AEBV0@@Z
-; public: class CTcpMibABC & __ptr64 __cdecl CTcpMibABC::operator=(class CTcpMibABC const & __ptr64) __ptr64
-??4CTcpMibABC@@QEAAAEAV0@AEBV0@@Z
-; const  CTcpMib::`vftable'
-??_7CTcpMib@@6B@
-; const  CTcpMibABC::`vftable'
-??_7CTcpMibABC@@6B@
-; private: void __cdecl CTcpMib::EnterCSection(void) __ptr64
-?EnterCSection@CTcpMib@@AEAAXXZ
-; private: void __cdecl CTcpMib::ExitCSection(void) __ptr64
-?ExitCSection@CTcpMib@@AEAAXXZ
-; public: virtual unsigned long __cdecl CTcpMib::GetDeviceDescription(char const * __ptr64,char const * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long) __ptr64
-?GetDeviceDescription@CTcpMib@@UEAAKPEBD0KPEAGK@Z
-; public: virtual unsigned long __cdecl CTcpMib::GetDeviceHWAddress(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
-?GetDeviceHWAddress@CTcpMib@@UEAAKPEBD0KKPEAG@Z
-; public: virtual unsigned long __cdecl CTcpMib::GetDeviceName(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
-?GetDeviceName@CTcpMib@@UEAAKPEBD0KKPEAG@Z
-; public: virtual unsigned long __cdecl CTcpMib::GetNextRequestId(unsigned long * __ptr64) __ptr64
-?GetNextRequestId@CTcpMib@@UEAAKPEAK@Z
-; private: static unsigned long __cdecl CTcpMib::GetStatusFromVBL(void * __ptr64,struct smiVALUE * __ptr64,struct smiVALUE * __ptr64,struct smiVALUE * __ptr64)
-?GetStatusFromVBL@CTcpMib@@CAKPEAXPEAUsmiVALUE@@11@Z
-; public: virtual unsigned long __cdecl CTcpMib::InitSnmp(void) __ptr64
-?InitSnmp@CTcpMib@@UEAAKXZ
-; public: int __cdecl CTcpMib::IsValid(void)const  __ptr64
-?IsValid@CTcpMib@@QEBAHXZ
-; private: static int __cdecl CTcpMib::MapAsynchToPortStatus(unsigned long,struct _PORT_INFO_3W * __ptr64)
-?MapAsynchToPortStatus@CTcpMib@@CAHKPEAU_PORT_INFO_3W@@@Z
-; public: virtual unsigned long __cdecl CTcpMib::RegisterDeviceStatusCallback(unsigned long (__cdecl*)(int,char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned long),void * __ptr64 * __ptr64) __ptr64
-?RegisterDeviceStatusCallback@CTcpMib@@UEAAKP6AKHPEBD0KKK@ZPEAPEAX@Z
-; public: virtual unsigned long __cdecl CTcpMib::RequestDeviceStatus(void * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-?RequestDeviceStatus@CTcpMib@@UEAAKPEAXKPEBG1K@Z
-; private: static unsigned long __cdecl CTcpMib::SnmpCallback(void * __ptr64,void * __ptr64,unsigned int,unsigned __int64,__int64,void * __ptr64)
-?SnmpCallback@CTcpMib@@CAKPEAX0I_K_J0@Z
-; public: unsigned long __cdecl CTcpMib::SnmpGet(char const * __ptr64,char const * __ptr64,unsigned long,struct SnmpVarBindList * __ptr64) __ptr64
-?SnmpGet@CTcpMib@@QEAAKPEBD0KPEAUSnmpVarBindList@@@Z
-; public: virtual unsigned long __cdecl CTcpMib::SnmpGet(char const * __ptr64,char const * __ptr64,unsigned long,struct AsnObjectIdentifier * __ptr64,struct SnmpVarBindList * __ptr64) __ptr64
-?SnmpGet@CTcpMib@@UEAAKPEBD0KPEAUAsnObjectIdentifier@@PEAUSnmpVarBindList@@@Z
-; public: unsigned long __cdecl CTcpMib::SnmpGetNext(char const * __ptr64,char const * __ptr64,unsigned long,struct SnmpVarBindList * __ptr64) __ptr64
-?SnmpGetNext@CTcpMib@@QEAAKPEBD0KPEAUSnmpVarBindList@@@Z
-; public: virtual unsigned long __cdecl CTcpMib::SnmpGetNext(char const * __ptr64,char const * __ptr64,unsigned long,struct AsnObjectIdentifier * __ptr64,struct SnmpVarBindList * __ptr64) __ptr64
-?SnmpGetNext@CTcpMib@@UEAAKPEBD0KPEAUAsnObjectIdentifier@@PEAUSnmpVarBindList@@@Z
-; public: unsigned long __cdecl CTcpMib::SnmpWalk(char const * __ptr64,char const * __ptr64,unsigned long,struct SnmpVarBindList * __ptr64) __ptr64
-?SnmpWalk@CTcpMib@@QEAAKPEBD0KPEAUSnmpVarBindList@@@Z
-; public: virtual unsigned long __cdecl CTcpMib::SnmpWalk(char const * __ptr64,char const * __ptr64,unsigned long,struct AsnObjectIdentifier * __ptr64,struct SnmpVarBindList * __ptr64) __ptr64
-?SnmpWalk@CTcpMib@@UEAAKPEBD0KPEAUAsnObjectIdentifier@@PEAUSnmpVarBindList@@@Z
-; public: virtual int __cdecl CTcpMib::SupportsPrinterMib(char const * __ptr64,char const * __ptr64,unsigned long,int * __ptr64) __ptr64
-?SupportsPrinterMib@CTcpMib@@UEAAHPEBD0KPEAH@Z
-; public: virtual void __cdecl CTcpMib::UnInitSnmp(void) __ptr64
-?UnInitSnmp@CTcpMib@@UEAAXXZ
-GetTcpMibPtr
-Ping
+; 
+; Exports of file TCPMIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TCPMIB.dll
+EXPORTS
+; public: __cdecl CTcpMib::CTcpMib(class CTcpMib const & __ptr64) __ptr64
+??0CTcpMib@@QEAA@AEBV0@@Z
+; public: __cdecl CTcpMib::CTcpMib(void) __ptr64
+??0CTcpMib@@QEAA@XZ
+; public: __cdecl CTcpMibABC::CTcpMibABC(class CTcpMibABC const & __ptr64) __ptr64
+??0CTcpMibABC@@QEAA@AEBV0@@Z
+; public: __cdecl CTcpMibABC::CTcpMibABC(void) __ptr64
+??0CTcpMibABC@@QEAA@XZ
+; public: virtual __cdecl CTcpMib::~CTcpMib(void) __ptr64
+??1CTcpMib@@UEAA@XZ
+; public: virtual __cdecl CTcpMibABC::~CTcpMibABC(void) __ptr64
+??1CTcpMibABC@@UEAA@XZ
+; public: class CTcpMib & __ptr64 __cdecl CTcpMib::operator=(class CTcpMib const & __ptr64) __ptr64
+??4CTcpMib@@QEAAAEAV0@AEBV0@@Z
+; public: class CTcpMibABC & __ptr64 __cdecl CTcpMibABC::operator=(class CTcpMibABC const & __ptr64) __ptr64
+??4CTcpMibABC@@QEAAAEAV0@AEBV0@@Z
+; const  CTcpMib::`vftable'
+??_7CTcpMib@@6B@
+; const  CTcpMibABC::`vftable'
+??_7CTcpMibABC@@6B@
+; private: void __cdecl CTcpMib::EnterCSection(void) __ptr64
+?EnterCSection@CTcpMib@@AEAAXXZ
+; private: void __cdecl CTcpMib::ExitCSection(void) __ptr64
+?ExitCSection@CTcpMib@@AEAAXXZ
+; public: virtual unsigned long __cdecl CTcpMib::GetDeviceDescription(char const * __ptr64,char const * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long) __ptr64
+?GetDeviceDescription@CTcpMib@@UEAAKPEBD0KPEAGK@Z
+; public: virtual unsigned long __cdecl CTcpMib::GetDeviceHWAddress(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
+?GetDeviceHWAddress@CTcpMib@@UEAAKPEBD0KKPEAG@Z
+; public: virtual unsigned long __cdecl CTcpMib::GetDeviceName(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
+?GetDeviceName@CTcpMib@@UEAAKPEBD0KKPEAG@Z
+; public: virtual unsigned long __cdecl CTcpMib::GetNextRequestId(unsigned long * __ptr64) __ptr64
+?GetNextRequestId@CTcpMib@@UEAAKPEAK@Z
+; private: static unsigned long __cdecl CTcpMib::GetStatusFromVBL(void * __ptr64,struct smiVALUE * __ptr64,struct smiVALUE * __ptr64,struct smiVALUE * __ptr64)
+?GetStatusFromVBL@CTcpMib@@CAKPEAXPEAUsmiVALUE@@11@Z
+; public: virtual unsigned long __cdecl CTcpMib::InitSnmp(void) __ptr64
+?InitSnmp@CTcpMib@@UEAAKXZ
+; public: int __cdecl CTcpMib::IsValid(void)const  __ptr64
+?IsValid@CTcpMib@@QEBAHXZ
+; private: static int __cdecl CTcpMib::MapAsynchToPortStatus(unsigned long,struct _PORT_INFO_3W * __ptr64)
+?MapAsynchToPortStatus@CTcpMib@@CAHKPEAU_PORT_INFO_3W@@@Z
+; public: virtual unsigned long __cdecl CTcpMib::RegisterDeviceStatusCallback(unsigned long (__cdecl*)(int,char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned long),void * __ptr64 * __ptr64) __ptr64
+?RegisterDeviceStatusCallback@CTcpMib@@UEAAKP6AKHPEBD0KKK@ZPEAPEAX@Z
+; public: virtual unsigned long __cdecl CTcpMib::RequestDeviceStatus(void * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+?RequestDeviceStatus@CTcpMib@@UEAAKPEAXKPEBG1K@Z
+; private: static unsigned long __cdecl CTcpMib::SnmpCallback(void * __ptr64,void * __ptr64,unsigned int,unsigned __int64,__int64,void * __ptr64)
+?SnmpCallback@CTcpMib@@CAKPEAX0I_K_J0@Z
+; public: unsigned long __cdecl CTcpMib::SnmpGet(char const * __ptr64,char const * __ptr64,unsigned long,struct SnmpVarBindList * __ptr64) __ptr64
+?SnmpGet@CTcpMib@@QEAAKPEBD0KPEAUSnmpVarBindList@@@Z
+; public: virtual unsigned long __cdecl CTcpMib::SnmpGet(char const * __ptr64,char const * __ptr64,unsigned long,struct AsnObjectIdentifier * __ptr64,struct SnmpVarBindList * __ptr64) __ptr64
+?SnmpGet@CTcpMib@@UEAAKPEBD0KPEAUAsnObjectIdentifier@@PEAUSnmpVarBindList@@@Z
+; public: unsigned long __cdecl CTcpMib::SnmpGetNext(char const * __ptr64,char const * __ptr64,unsigned long,struct SnmpVarBindList * __ptr64) __ptr64
+?SnmpGetNext@CTcpMib@@QEAAKPEBD0KPEAUSnmpVarBindList@@@Z
+; public: virtual unsigned long __cdecl CTcpMib::SnmpGetNext(char const * __ptr64,char const * __ptr64,unsigned long,struct AsnObjectIdentifier * __ptr64,struct SnmpVarBindList * __ptr64) __ptr64
+?SnmpGetNext@CTcpMib@@UEAAKPEBD0KPEAUAsnObjectIdentifier@@PEAUSnmpVarBindList@@@Z
+; public: unsigned long __cdecl CTcpMib::SnmpWalk(char const * __ptr64,char const * __ptr64,unsigned long,struct SnmpVarBindList * __ptr64) __ptr64
+?SnmpWalk@CTcpMib@@QEAAKPEBD0KPEAUSnmpVarBindList@@@Z
+; public: virtual unsigned long __cdecl CTcpMib::SnmpWalk(char const * __ptr64,char const * __ptr64,unsigned long,struct AsnObjectIdentifier * __ptr64,struct SnmpVarBindList * __ptr64) __ptr64
+?SnmpWalk@CTcpMib@@UEAAKPEBD0KPEAUAsnObjectIdentifier@@PEAUSnmpVarBindList@@@Z
+; public: virtual int __cdecl CTcpMib::SupportsPrinterMib(char const * __ptr64,char const * __ptr64,unsigned long,int * __ptr64) __ptr64
+?SupportsPrinterMib@CTcpMib@@UEAAHPEBD0KPEAH@Z
+; public: virtual void __cdecl CTcpMib::UnInitSnmp(void) __ptr64
+?UnInitSnmp@CTcpMib@@UEAAXXZ
+GetTcpMibPtr
+Ping
diff --git a/mingw-w64-crt/lib64/tcpmon.def b/mingw-w64-crt/lib64/tcpmon.def
index 19f9806..cbd12c1 100644
--- a/mingw-w64-crt/lib64/tcpmon.def
+++ b/mingw-w64-crt/lib64/tcpmon.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file TCPMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TCPMON.dll
-EXPORTS
-; public: __cdecl CPortABC::CPortABC(class CPortABC const & __ptr64) __ptr64
-??0CPortABC@@QEAA@AEBV0@@Z
-; public: __cdecl CPortABC::CPortABC(void) __ptr64
-??0CPortABC@@QEAA@XZ
-; public: __cdecl CTcpMibABC::CTcpMibABC(class CTcpMibABC const & __ptr64) __ptr64
-??0CTcpMibABC@@QEAA@AEBV0@@Z
-; public: __cdecl CTcpMibABC::CTcpMibABC(void) __ptr64
-??0CTcpMibABC@@QEAA@XZ
-; public: virtual __cdecl CPortABC::~CPortABC(void) __ptr64
-??1CPortABC@@UEAA@XZ
-; public: virtual __cdecl CTcpMibABC::~CTcpMibABC(void) __ptr64
-??1CTcpMibABC@@UEAA@XZ
-; public: class CPortABC & __ptr64 __cdecl CPortABC::operator=(class CPortABC const & __ptr64) __ptr64
-??4CPortABC@@QEAAAEAV0@AEBV0@@Z
-; public: class CTcpMibABC & __ptr64 __cdecl CTcpMibABC::operator=(class CTcpMibABC const & __ptr64) __ptr64
-??4CTcpMibABC@@QEAAAEAV0@AEBV0@@Z
-; const  CPortABC::`vftable'
-??_7CPortABC@@6B@
-; const  CTcpMibABC::`vftable'
-??_7CTcpMibABC@@6B@
-; public: virtual unsigned long __cdecl CPortABC::Read(void * __ptr64 const,unsigned char * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?Read@CPortABC@@UEAAKQEAXPEAEKPEAK@Z
-InitializePrintMonitor2
+; 
+; Exports of file TCPMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TCPMON.dll
+EXPORTS
+; public: __cdecl CPortABC::CPortABC(class CPortABC const & __ptr64) __ptr64
+??0CPortABC@@QEAA@AEBV0@@Z
+; public: __cdecl CPortABC::CPortABC(void) __ptr64
+??0CPortABC@@QEAA@XZ
+; public: __cdecl CTcpMibABC::CTcpMibABC(class CTcpMibABC const & __ptr64) __ptr64
+??0CTcpMibABC@@QEAA@AEBV0@@Z
+; public: __cdecl CTcpMibABC::CTcpMibABC(void) __ptr64
+??0CTcpMibABC@@QEAA@XZ
+; public: virtual __cdecl CPortABC::~CPortABC(void) __ptr64
+??1CPortABC@@UEAA@XZ
+; public: virtual __cdecl CTcpMibABC::~CTcpMibABC(void) __ptr64
+??1CTcpMibABC@@UEAA@XZ
+; public: class CPortABC & __ptr64 __cdecl CPortABC::operator=(class CPortABC const & __ptr64) __ptr64
+??4CPortABC@@QEAAAEAV0@AEBV0@@Z
+; public: class CTcpMibABC & __ptr64 __cdecl CTcpMibABC::operator=(class CTcpMibABC const & __ptr64) __ptr64
+??4CTcpMibABC@@QEAAAEAV0@AEBV0@@Z
+; const  CPortABC::`vftable'
+??_7CPortABC@@6B@
+; const  CTcpMibABC::`vftable'
+??_7CTcpMibABC@@6B@
+; public: virtual unsigned long __cdecl CPortABC::Read(void * __ptr64 const,unsigned char * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?Read@CPortABC@@UEAAKQEAXPEAEKPEAK@Z
+InitializePrintMonitor2
diff --git a/mingw-w64-crt/lib64/tcpmonui.def b/mingw-w64-crt/lib64/tcpmonui.def
index 53555f8..91467f5 100644
--- a/mingw-w64-crt/lib64/tcpmonui.def
+++ b/mingw-w64-crt/lib64/tcpmonui.def
@@ -1,33 +1,33 @@
-; 
-; Exports of file TCPMonUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TCPMonUI.dll
-EXPORTS
-; public: __cdecl CPortABC::CPortABC(class CPortABC const & __ptr64) __ptr64
-??0CPortABC@@QEAA@AEBV0@@Z
-; public: __cdecl CPortABC::CPortABC(void) __ptr64
-??0CPortABC@@QEAA@XZ
-; public: __cdecl CTcpMibABC::CTcpMibABC(class CTcpMibABC const & __ptr64) __ptr64
-??0CTcpMibABC@@QEAA@AEBV0@@Z
-; public: __cdecl CTcpMibABC::CTcpMibABC(void) __ptr64
-??0CTcpMibABC@@QEAA@XZ
-; public: virtual __cdecl CPortABC::~CPortABC(void) __ptr64
-??1CPortABC@@UEAA@XZ
-; public: virtual __cdecl CTcpMibABC::~CTcpMibABC(void) __ptr64
-??1CTcpMibABC@@UEAA@XZ
-; public: class CPortABC & __ptr64 __cdecl CPortABC::operator=(class CPortABC const & __ptr64) __ptr64
-??4CPortABC@@QEAAAEAV0@AEBV0@@Z
-; public: class CTcpMibABC & __ptr64 __cdecl CTcpMibABC::operator=(class CTcpMibABC const & __ptr64) __ptr64
-??4CTcpMibABC@@QEAAAEAV0@AEBV0@@Z
-; const  CPortABC::`vftable'
-??_7CPortABC@@6B@
-; const  CTcpMibABC::`vftable'
-??_7CTcpMibABC@@6B@
-; public: virtual unsigned long __cdecl CPortABC::Read(void * __ptr64 const,unsigned char * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?Read@CPortABC@@UEAAKQEAXPEAEKPEAK@Z
-InitializePrintMonitorUI
-LocalAddPortUI
-LocalConfigurePortUI
+; 
+; Exports of file TCPMonUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TCPMonUI.dll
+EXPORTS
+; public: __cdecl CPortABC::CPortABC(class CPortABC const & __ptr64) __ptr64
+??0CPortABC@@QEAA@AEBV0@@Z
+; public: __cdecl CPortABC::CPortABC(void) __ptr64
+??0CPortABC@@QEAA@XZ
+; public: __cdecl CTcpMibABC::CTcpMibABC(class CTcpMibABC const & __ptr64) __ptr64
+??0CTcpMibABC@@QEAA@AEBV0@@Z
+; public: __cdecl CTcpMibABC::CTcpMibABC(void) __ptr64
+??0CTcpMibABC@@QEAA@XZ
+; public: virtual __cdecl CPortABC::~CPortABC(void) __ptr64
+??1CPortABC@@UEAA@XZ
+; public: virtual __cdecl CTcpMibABC::~CTcpMibABC(void) __ptr64
+??1CTcpMibABC@@UEAA@XZ
+; public: class CPortABC & __ptr64 __cdecl CPortABC::operator=(class CPortABC const & __ptr64) __ptr64
+??4CPortABC@@QEAAAEAV0@AEBV0@@Z
+; public: class CTcpMibABC & __ptr64 __cdecl CTcpMibABC::operator=(class CTcpMibABC const & __ptr64) __ptr64
+??4CTcpMibABC@@QEAAAEAV0@AEBV0@@Z
+; const  CPortABC::`vftable'
+??_7CPortABC@@6B@
+; const  CTcpMibABC::`vftable'
+??_7CTcpMibABC@@6B@
+; public: virtual unsigned long __cdecl CPortABC::Read(void * __ptr64 const,unsigned char * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?Read@CPortABC@@UEAAKQEAXPEAEKPEAK@Z
+InitializePrintMonitorUI
+LocalAddPortUI
+LocalConfigurePortUI
diff --git a/mingw-w64-crt/lib64/termmgr.def b/mingw-w64-crt/lib64/termmgr.def
index c807573..2f03fe9 100644
--- a/mingw-w64-crt/lib64/termmgr.def
+++ b/mingw-w64-crt/lib64/termmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file termmgr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY termmgr.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file termmgr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY termmgr.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/termsrv.def b/mingw-w64-crt/lib64/termsrv.def
index 93de668..23049c6 100644
--- a/mingw-w64-crt/lib64/termsrv.def
+++ b/mingw-w64-crt/lib64/termsrv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file TERMSRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TERMSRV.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file TERMSRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TERMSRV.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/thawbrkr.def b/mingw-w64-crt/lib64/thawbrkr.def
index bed4eee..54c2904 100644
--- a/mingw-w64-crt/lib64/thawbrkr.def
+++ b/mingw-w64-crt/lib64/thawbrkr.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file thawbrkr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY thawbrkr.dll
-EXPORTS
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file thawbrkr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY thawbrkr.dll
+EXPORTS
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/themeui.def b/mingw-w64-crt/lib64/themeui.def
index 1bc45b3..a488a38 100644
--- a/mingw-w64-crt/lib64/themeui.def
+++ b/mingw-w64-crt/lib64/themeui.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ThemeUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ThemeUI.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ThemeUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ThemeUI.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/tlntsvrp.def b/mingw-w64-crt/lib64/tlntsvrp.def
index 8d0fd01..b3bfee7 100644
--- a/mingw-w64-crt/lib64/tlntsvrp.def
+++ b/mingw-w64-crt/lib64/tlntsvrp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file TlntSvrPS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TlntSvrPS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file TlntSvrPS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TlntSvrPS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/traffic.def b/mingw-w64-crt/lib64/traffic.def
index a6c2c5d..8b95a2a 100644
--- a/mingw-w64-crt/lib64/traffic.def
+++ b/mingw-w64-crt/lib64/traffic.def
@@ -1,28 +1,28 @@
-; 
-; Exports of file TRAFFIC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TRAFFIC.dll
-EXPORTS
-TcAddFilter
-TcAddFlow
-TcCloseInterface
-TcDeleteFilter
-TcDeleteFlow
-TcDeregisterClient
-TcEnumerateFlows
-TcEnumerateInterfaces
-TcGetFlowNameA
-TcGetFlowNameW
-TcModifyFlow
-TcOpenInterfaceA
-TcOpenInterfaceW
-TcQueryFlowA
-TcQueryFlowW
-TcQueryInterface
-TcRegisterClient
-TcSetFlowA
-TcSetFlowW
-TcSetInterface
+; 
+; Exports of file TRAFFIC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TRAFFIC.dll
+EXPORTS
+TcAddFilter
+TcAddFlow
+TcCloseInterface
+TcDeleteFilter
+TcDeleteFlow
+TcDeregisterClient
+TcEnumerateFlows
+TcEnumerateInterfaces
+TcGetFlowNameA
+TcGetFlowNameW
+TcModifyFlow
+TcOpenInterfaceA
+TcOpenInterfaceW
+TcQueryFlowA
+TcQueryFlowW
+TcQueryInterface
+TcRegisterClient
+TcSetFlowA
+TcSetFlowW
+TcSetInterface
diff --git a/mingw-w64-crt/lib64/trialoc.def b/mingw-w64-crt/lib64/trialoc.def
index c8783c1..80ca49b 100644
--- a/mingw-w64-crt/lib64/trialoc.def
+++ b/mingw-w64-crt/lib64/trialoc.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file trialoc.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY trialoc.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file trialoc.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY trialoc.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/trkwks.def b/mingw-w64-crt/lib64/trkwks.def
index da1939d..547a6be 100644
--- a/mingw-w64-crt/lib64/trkwks.def
+++ b/mingw-w64-crt/lib64/trkwks.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file trkwks.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY trkwks.dll
-EXPORTS
-ServiceEntry
-ServiceMain
+; 
+; Exports of file trkwks.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY trkwks.dll
+EXPORTS
+ServiceEntry
+ServiceMain
diff --git a/mingw-w64-crt/lib64/tsappcmp.def b/mingw-w64-crt/lib64/tsappcmp.def
index baf529c..5fa9efc 100644
--- a/mingw-w64-crt/lib64/tsappcmp.def
+++ b/mingw-w64-crt/lib64/tsappcmp.def
@@ -1,37 +1,37 @@
-; 
-; Exports of file TSAPPCMP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TSAPPCMP.dll
-EXPORTS
-TermServPrepareAppInstallDueMSI
-TermServProcessAppInstallDueMSI
-GetTermsrCompatFlags
-GetTermsrCompatFlagsEx
-TermsrvAdjustPhyMemLimits
-TermsrvBuildIniFileName
-TermsrvBuildSysIniPath
-TermsrvCORIniFile
-TermsrvCheckNewIniFiles
-TermsrvConvertSysRootToUserDir
-TermsrvCopyIniFile
-TermsrvCreateRegEntry
-TermsrvDeleteKey
-TermsrvDeleteValue
-TermsrvFormatObjectName
-TermsrvGetComputerName
-TermsrvGetPreSetValue
-TermsrvGetString
-TermsrvGetWindowsDirectoryA
-TermsrvGetWindowsDirectoryW
-TermsrvLogInstallIniFile
-TermsrvLogInstallIniFileEx
-TermsrvOpenRegEntry
-TermsrvOpenUserClasses
-TermsrvRemoveClassesKey
-TermsrvRestoreKey
-TermsrvSetKeySecurity
-TermsrvSetValueKey
-TermsrvUpdateAllUserMenu
+; 
+; Exports of file TSAPPCMP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TSAPPCMP.dll
+EXPORTS
+TermServPrepareAppInstallDueMSI
+TermServProcessAppInstallDueMSI
+GetTermsrCompatFlags
+GetTermsrCompatFlagsEx
+TermsrvAdjustPhyMemLimits
+TermsrvBuildIniFileName
+TermsrvBuildSysIniPath
+TermsrvCORIniFile
+TermsrvCheckNewIniFiles
+TermsrvConvertSysRootToUserDir
+TermsrvCopyIniFile
+TermsrvCreateRegEntry
+TermsrvDeleteKey
+TermsrvDeleteValue
+TermsrvFormatObjectName
+TermsrvGetComputerName
+TermsrvGetPreSetValue
+TermsrvGetString
+TermsrvGetWindowsDirectoryA
+TermsrvGetWindowsDirectoryW
+TermsrvLogInstallIniFile
+TermsrvLogInstallIniFileEx
+TermsrvOpenRegEntry
+TermsrvOpenUserClasses
+TermsrvRemoveClassesKey
+TermsrvRestoreKey
+TermsrvSetKeySecurity
+TermsrvSetValueKey
+TermsrvUpdateAllUserMenu
diff --git a/mingw-w64-crt/lib64/tsbyuv.def b/mingw-w64-crt/lib64/tsbyuv.def
index 6439828..4d1b187 100644
--- a/mingw-w64-crt/lib64/tsbyuv.def
+++ b/mingw-w64-crt/lib64/tsbyuv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file TSBYUV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TSBYUV.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file TSBYUV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TSBYUV.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/tscfgwmi.def b/mingw-w64-crt/lib64/tscfgwmi.def
index eb92ae9..5ac7fb6 100644
--- a/mingw-w64-crt/lib64/tscfgwmi.def
+++ b/mingw-w64-crt/lib64/tscfgwmi.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file TSCfgWmi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TSCfgWmi.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file TSCfgWmi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TSCfgWmi.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/tsd32.def b/mingw-w64-crt/lib64/tsd32.def
index 7dcd6d8..c63b7af 100644
--- a/mingw-w64-crt/lib64/tsd32.def
+++ b/mingw-w64-crt/lib64/tsd32.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file tsd32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY tsd32.dll
-EXPORTS
-TrueSpeech_Version
-TrueSpeech_Init
-TrueSpeech_Term
-TrueSpeech_Encod
-TrueSpeech_Decod
-TrueSpeech_Reset
+; 
+; Exports of file tsd32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY tsd32.dll
+EXPORTS
+TrueSpeech_Version
+TrueSpeech_Init
+TrueSpeech_Term
+TrueSpeech_Encod
+TrueSpeech_Decod
+TrueSpeech_Reset
diff --git a/mingw-w64-crt/lib64/tshoot.def b/mingw-w64-crt/lib64/tshoot.def
index 0e73fd5..8422f16 100644
--- a/mingw-w64-crt/lib64/tshoot.def
+++ b/mingw-w64-crt/lib64/tshoot.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file TSHOOT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TSHOOT.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file TSHOOT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TSHOOT.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/tsoc.def b/mingw-w64-crt/lib64/tsoc.def
index 1a0a6b4..75322ff 100644
--- a/mingw-w64-crt/lib64/tsoc.def
+++ b/mingw-w64-crt/lib64/tsoc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file tsoc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY tsoc.dll
-EXPORTS
-HydraOc
-SysPrepBackup
-SysPrepRestore
+; 
+; Exports of file tsoc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY tsoc.dll
+EXPORTS
+HydraOc
+SysPrepBackup
+SysPrepRestore
diff --git a/mingw-w64-crt/lib64/twext.def b/mingw-w64-crt/lib64/twext.def
index 6cac42f..f2e4468 100644
--- a/mingw-w64-crt/lib64/twext.def
+++ b/mingw-w64-crt/lib64/twext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file twext.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY twext.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file twext.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY twext.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/txflog.def b/mingw-w64-crt/lib64/txflog.def
index dabbe69..42833d8 100644
--- a/mingw-w64-crt/lib64/txflog.def
+++ b/mingw-w64-crt/lib64/txflog.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file TxfLogDll.Dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY TxfLogDll.Dll
-EXPORTS
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file TxfLogDll.Dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY TxfLogDll.Dll
+EXPORTS
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/udhisapi.def b/mingw-w64-crt/lib64/udhisapi.def
index 1f4882f..19f88bb 100644
--- a/mingw-w64-crt/lib64/udhisapi.def
+++ b/mingw-w64-crt/lib64/udhisapi.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file isapitst.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY isapitst.DLL
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file isapitst.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY isapitst.DLL
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/ufat.def b/mingw-w64-crt/lib64/ufat.def
index 02d0ecd..8314b9d 100644
--- a/mingw-w64-crt/lib64/ufat.def
+++ b/mingw-w64-crt/lib64/ufat.def
@@ -1,113 +1,113 @@
-; 
-; Exports of file UFAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY UFAT.dll
-EXPORTS
-; public: __cdecl CLUSTER_CHAIN::CLUSTER_CHAIN(void) __ptr64
-??0CLUSTER_CHAIN@@QEAA@XZ
-; public: __cdecl EA_HEADER::EA_HEADER(void) __ptr64
-??0EA_HEADER@@QEAA@XZ
-; public: __cdecl EA_SET::EA_SET(void) __ptr64
-??0EA_SET@@QEAA@XZ
-; public: __cdecl FAT_DIRENT::FAT_DIRENT(void) __ptr64
-??0FAT_DIRENT@@QEAA@XZ
-; public: __cdecl FAT_SA::FAT_SA(void) __ptr64
-??0FAT_SA@@QEAA@XZ
-; public: __cdecl FILEDIR::FILEDIR(void) __ptr64
-??0FILEDIR@@QEAA@XZ
-; public: __cdecl REAL_FAT_SA::REAL_FAT_SA(void) __ptr64
-??0REAL_FAT_SA@@QEAA@XZ
-; public: __cdecl ROOTDIR::ROOTDIR(void) __ptr64
-??0ROOTDIR@@QEAA@XZ
-; public: virtual __cdecl CLUSTER_CHAIN::~CLUSTER_CHAIN(void) __ptr64
-??1CLUSTER_CHAIN@@UEAA@XZ
-; public: virtual __cdecl EA_HEADER::~EA_HEADER(void) __ptr64
-??1EA_HEADER@@UEAA@XZ
-; public: virtual __cdecl EA_SET::~EA_SET(void) __ptr64
-??1EA_SET@@UEAA@XZ
-; public: virtual __cdecl FAT_DIRENT::~FAT_DIRENT(void) __ptr64
-??1FAT_DIRENT@@UEAA@XZ
-; public: virtual __cdecl FAT_SA::~FAT_SA(void) __ptr64
-??1FAT_SA@@UEAA@XZ
-; public: virtual __cdecl FILEDIR::~FILEDIR(void) __ptr64
-??1FILEDIR@@UEAA@XZ
-; public: virtual __cdecl REAL_FAT_SA::~REAL_FAT_SA(void) __ptr64
-??1REAL_FAT_SA@@UEAA@XZ
-; public: virtual __cdecl ROOTDIR::~ROOTDIR(void) __ptr64
-??1ROOTDIR@@UEAA@XZ
-; public: unsigned long __cdecl FAT::AllocChain(unsigned long,unsigned long * __ptr64) __ptr64
-?AllocChain@FAT@@QEAAKKPEAK@Z
-; public: void __cdecl FAT::FreeChain(unsigned long) __ptr64
-?FreeChain@FAT@@QEAAXK@Z
-; public: struct _EA * __ptr64 __cdecl EA_SET::GetEa(unsigned long,long * __ptr64,unsigned char * __ptr64) __ptr64
-?GetEa@EA_SET@@QEAAPEAU_EA@@KPEAJPEAE@Z
-; private: unsigned long __cdecl FAT::Index12(unsigned long)const  __ptr64
-?Index12@FAT@@AEBAKK@Z
-; public: unsigned char __cdecl REAL_FAT_SA::InitFATChkDirty(class LOG_IO_DP_DRIVE * __ptr64,class MESSAGE * __ptr64) __ptr64
-?InitFATChkDirty@REAL_FAT_SA@@QEAAEPEAVLOG_IO_DP_DRIVE@@PEAVMESSAGE@@@Z
-; public: unsigned char __cdecl CLUSTER_CHAIN::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long,unsigned long) __ptr64
-?Initialize@CLUSTER_CHAIN@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@KK@Z
-; public: unsigned char __cdecl EA_HEADER::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long,unsigned long) __ptr64
-?Initialize@EA_HEADER@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@KK@Z
-; public: unsigned char __cdecl EA_SET::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long,unsigned long) __ptr64
-?Initialize@EA_SET@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@KK@Z
-; public: unsigned char __cdecl FAT_DIRENT::Initialize(void * __ptr64) __ptr64
-?Initialize@FAT_DIRENT@@QEAAEPEAX@Z
-; public: unsigned char __cdecl FAT_DIRENT::Initialize(void * __ptr64,unsigned char) __ptr64
-?Initialize@FAT_DIRENT@@QEAAEPEAXE@Z
-; public: unsigned char __cdecl FILEDIR::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long) __ptr64
-?Initialize@FILEDIR@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@K@Z
-; public: virtual unsigned char __cdecl REAL_FAT_SA::Initialize(class LOG_IO_DP_DRIVE * __ptr64,class MESSAGE * __ptr64,unsigned char) __ptr64
-?Initialize@REAL_FAT_SA@@UEAAEPEAVLOG_IO_DP_DRIVE@@PEAVMESSAGE@@E@Z
-; public: unsigned char __cdecl ROOTDIR::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,unsigned long,long) __ptr64
-?Initialize@ROOTDIR@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@KJ@Z
-; public: unsigned char __cdecl FAT_DIRENT::IsValidCreationTime(void)const  __ptr64
-?IsValidCreationTime@FAT_DIRENT@@QEBAEXZ
-; public: unsigned char __cdecl FAT_DIRENT::IsValidLastAccessTime(void)const  __ptr64
-?IsValidLastAccessTime@FAT_DIRENT@@QEBAEXZ
-; public: unsigned char __cdecl FAT_DIRENT::IsValidLastWriteTime(void)const  __ptr64
-?IsValidLastWriteTime@FAT_DIRENT@@QEBAEXZ
-; public: unsigned long __cdecl FAT::QueryAllocatedClusters(void)const  __ptr64
-?QueryAllocatedClusters@FAT@@QEBAKXZ
-; public: unsigned char __cdecl FAT_SA::QueryCensusAndRelocate(struct _CENSUS_REPORT * __ptr64,class INTSTACK * __ptr64,unsigned char * __ptr64) __ptr64
-?QueryCensusAndRelocate@FAT_SA@@QEAAEPEAU_CENSUS_REPORT@@PEAVINTSTACK@@PEAE@Z
-; public: unsigned char __cdecl FAT_DIRENT::QueryCreationTime(union _LARGE_INTEGER * __ptr64)const  __ptr64
-?QueryCreationTime@FAT_DIRENT@@QEBAEPEAT_LARGE_INTEGER@@@Z
-; public: unsigned short __cdecl EA_HEADER::QueryEaSetClusterNumber(unsigned short)const  __ptr64
-?QueryEaSetClusterNumber@EA_HEADER@@QEBAGG@Z
-; public: unsigned long __cdecl FAT_SA::QueryFileStartingCluster(class WSTRING const * __ptr64,class HMEM * __ptr64,class FATDIR * __ptr64 * __ptr64,unsigned char * __ptr64,class FAT_DIRENT * __ptr64) __ptr64
-?QueryFileStartingCluster@FAT_SA@@QEAAKPEBVWSTRING@@PEAVHMEM@@PEAPEAVFATDIR@@PEAEPEAVFAT_DIRENT@@@Z
-; public: unsigned long __cdecl REAL_FAT_SA::QueryFreeSectors(void)const  __ptr64
-?QueryFreeSectors@REAL_FAT_SA@@QEBAKXZ
-; public: unsigned char __cdecl FAT_DIRENT::QueryLastAccessTime(union _LARGE_INTEGER * __ptr64)const  __ptr64
-?QueryLastAccessTime@FAT_DIRENT@@QEBAEPEAT_LARGE_INTEGER@@@Z
-; public: unsigned char __cdecl FAT_DIRENT::QueryLastWriteTime(union _LARGE_INTEGER * __ptr64)const  __ptr64
-?QueryLastWriteTime@FAT_DIRENT@@QEBAEPEAT_LARGE_INTEGER@@@Z
-; public: unsigned long __cdecl FAT::QueryLengthOfChain(unsigned long,unsigned long * __ptr64)const  __ptr64
-?QueryLengthOfChain@FAT@@QEBAKKPEAK@Z
-; public: unsigned char __cdecl FATDIR::QueryLongName(long,class WSTRING * __ptr64) __ptr64
-?QueryLongName@FATDIR@@QEAAEJPEAVWSTRING@@@Z
-; public: unsigned char __cdecl FAT_DIRENT::QueryName(class WSTRING * __ptr64)const  __ptr64
-?QueryName@FAT_DIRENT@@QEBAEPEAVWSTRING@@@Z
-; public: unsigned long __cdecl FAT::QueryNthCluster(unsigned long,unsigned long)const  __ptr64
-?QueryNthCluster@FAT@@QEBAKKK@Z
-; public: virtual unsigned char __cdecl CLUSTER_CHAIN::Read(void) __ptr64
-?Read@CLUSTER_CHAIN@@UEAAEXZ
-; public: virtual unsigned char __cdecl EA_SET::Read(void) __ptr64
-?Read@EA_SET@@UEAAEXZ
-; public: virtual unsigned char __cdecl REAL_FAT_SA::Read(class MESSAGE * __ptr64) __ptr64
-?Read@REAL_FAT_SA@@UEAAEPEAVMESSAGE@@@Z
-; public: void * __ptr64 __cdecl FATDIR::SearchForDirEntry(class WSTRING const * __ptr64) __ptr64
-?SearchForDirEntry@FATDIR@@QEAAPEAXPEBVWSTRING@@@Z
-; private: void __cdecl FAT::Set12(unsigned long,unsigned long) __ptr64
-?Set12@FAT@@AEAAXKK@Z
-; public: virtual unsigned char __cdecl CLUSTER_CHAIN::Write(void) __ptr64
-?Write@CLUSTER_CHAIN@@UEAAEXZ
-Chkdsk
-ChkdskEx
-Format
-FormatEx
-Recover
+; 
+; Exports of file UFAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY UFAT.dll
+EXPORTS
+; public: __cdecl CLUSTER_CHAIN::CLUSTER_CHAIN(void) __ptr64
+??0CLUSTER_CHAIN@@QEAA@XZ
+; public: __cdecl EA_HEADER::EA_HEADER(void) __ptr64
+??0EA_HEADER@@QEAA@XZ
+; public: __cdecl EA_SET::EA_SET(void) __ptr64
+??0EA_SET@@QEAA@XZ
+; public: __cdecl FAT_DIRENT::FAT_DIRENT(void) __ptr64
+??0FAT_DIRENT@@QEAA@XZ
+; public: __cdecl FAT_SA::FAT_SA(void) __ptr64
+??0FAT_SA@@QEAA@XZ
+; public: __cdecl FILEDIR::FILEDIR(void) __ptr64
+??0FILEDIR@@QEAA@XZ
+; public: __cdecl REAL_FAT_SA::REAL_FAT_SA(void) __ptr64
+??0REAL_FAT_SA@@QEAA@XZ
+; public: __cdecl ROOTDIR::ROOTDIR(void) __ptr64
+??0ROOTDIR@@QEAA@XZ
+; public: virtual __cdecl CLUSTER_CHAIN::~CLUSTER_CHAIN(void) __ptr64
+??1CLUSTER_CHAIN@@UEAA@XZ
+; public: virtual __cdecl EA_HEADER::~EA_HEADER(void) __ptr64
+??1EA_HEADER@@UEAA@XZ
+; public: virtual __cdecl EA_SET::~EA_SET(void) __ptr64
+??1EA_SET@@UEAA@XZ
+; public: virtual __cdecl FAT_DIRENT::~FAT_DIRENT(void) __ptr64
+??1FAT_DIRENT@@UEAA@XZ
+; public: virtual __cdecl FAT_SA::~FAT_SA(void) __ptr64
+??1FAT_SA@@UEAA@XZ
+; public: virtual __cdecl FILEDIR::~FILEDIR(void) __ptr64
+??1FILEDIR@@UEAA@XZ
+; public: virtual __cdecl REAL_FAT_SA::~REAL_FAT_SA(void) __ptr64
+??1REAL_FAT_SA@@UEAA@XZ
+; public: virtual __cdecl ROOTDIR::~ROOTDIR(void) __ptr64
+??1ROOTDIR@@UEAA@XZ
+; public: unsigned long __cdecl FAT::AllocChain(unsigned long,unsigned long * __ptr64) __ptr64
+?AllocChain@FAT@@QEAAKKPEAK@Z
+; public: void __cdecl FAT::FreeChain(unsigned long) __ptr64
+?FreeChain@FAT@@QEAAXK@Z
+; public: struct _EA * __ptr64 __cdecl EA_SET::GetEa(unsigned long,long * __ptr64,unsigned char * __ptr64) __ptr64
+?GetEa@EA_SET@@QEAAPEAU_EA@@KPEAJPEAE@Z
+; private: unsigned long __cdecl FAT::Index12(unsigned long)const  __ptr64
+?Index12@FAT@@AEBAKK@Z
+; public: unsigned char __cdecl REAL_FAT_SA::InitFATChkDirty(class LOG_IO_DP_DRIVE * __ptr64,class MESSAGE * __ptr64) __ptr64
+?InitFATChkDirty@REAL_FAT_SA@@QEAAEPEAVLOG_IO_DP_DRIVE@@PEAVMESSAGE@@@Z
+; public: unsigned char __cdecl CLUSTER_CHAIN::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long,unsigned long) __ptr64
+?Initialize@CLUSTER_CHAIN@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@KK@Z
+; public: unsigned char __cdecl EA_HEADER::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long,unsigned long) __ptr64
+?Initialize@EA_HEADER@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@KK@Z
+; public: unsigned char __cdecl EA_SET::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long,unsigned long) __ptr64
+?Initialize@EA_SET@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@KK@Z
+; public: unsigned char __cdecl FAT_DIRENT::Initialize(void * __ptr64) __ptr64
+?Initialize@FAT_DIRENT@@QEAAEPEAX@Z
+; public: unsigned char __cdecl FAT_DIRENT::Initialize(void * __ptr64,unsigned char) __ptr64
+?Initialize@FAT_DIRENT@@QEAAEPEAXE@Z
+; public: unsigned char __cdecl FILEDIR::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long) __ptr64
+?Initialize@FILEDIR@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@K@Z
+; public: virtual unsigned char __cdecl REAL_FAT_SA::Initialize(class LOG_IO_DP_DRIVE * __ptr64,class MESSAGE * __ptr64,unsigned char) __ptr64
+?Initialize@REAL_FAT_SA@@UEAAEPEAVLOG_IO_DP_DRIVE@@PEAVMESSAGE@@E@Z
+; public: unsigned char __cdecl ROOTDIR::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,unsigned long,long) __ptr64
+?Initialize@ROOTDIR@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@KJ@Z
+; public: unsigned char __cdecl FAT_DIRENT::IsValidCreationTime(void)const  __ptr64
+?IsValidCreationTime@FAT_DIRENT@@QEBAEXZ
+; public: unsigned char __cdecl FAT_DIRENT::IsValidLastAccessTime(void)const  __ptr64
+?IsValidLastAccessTime@FAT_DIRENT@@QEBAEXZ
+; public: unsigned char __cdecl FAT_DIRENT::IsValidLastWriteTime(void)const  __ptr64
+?IsValidLastWriteTime@FAT_DIRENT@@QEBAEXZ
+; public: unsigned long __cdecl FAT::QueryAllocatedClusters(void)const  __ptr64
+?QueryAllocatedClusters@FAT@@QEBAKXZ
+; public: unsigned char __cdecl FAT_SA::QueryCensusAndRelocate(struct _CENSUS_REPORT * __ptr64,class INTSTACK * __ptr64,unsigned char * __ptr64) __ptr64
+?QueryCensusAndRelocate@FAT_SA@@QEAAEPEAU_CENSUS_REPORT@@PEAVINTSTACK@@PEAE@Z
+; public: unsigned char __cdecl FAT_DIRENT::QueryCreationTime(union _LARGE_INTEGER * __ptr64)const  __ptr64
+?QueryCreationTime@FAT_DIRENT@@QEBAEPEAT_LARGE_INTEGER@@@Z
+; public: unsigned short __cdecl EA_HEADER::QueryEaSetClusterNumber(unsigned short)const  __ptr64
+?QueryEaSetClusterNumber@EA_HEADER@@QEBAGG@Z
+; public: unsigned long __cdecl FAT_SA::QueryFileStartingCluster(class WSTRING const * __ptr64,class HMEM * __ptr64,class FATDIR * __ptr64 * __ptr64,unsigned char * __ptr64,class FAT_DIRENT * __ptr64) __ptr64
+?QueryFileStartingCluster@FAT_SA@@QEAAKPEBVWSTRING@@PEAVHMEM@@PEAPEAVFATDIR@@PEAEPEAVFAT_DIRENT@@@Z
+; public: unsigned long __cdecl REAL_FAT_SA::QueryFreeSectors(void)const  __ptr64
+?QueryFreeSectors@REAL_FAT_SA@@QEBAKXZ
+; public: unsigned char __cdecl FAT_DIRENT::QueryLastAccessTime(union _LARGE_INTEGER * __ptr64)const  __ptr64
+?QueryLastAccessTime@FAT_DIRENT@@QEBAEPEAT_LARGE_INTEGER@@@Z
+; public: unsigned char __cdecl FAT_DIRENT::QueryLastWriteTime(union _LARGE_INTEGER * __ptr64)const  __ptr64
+?QueryLastWriteTime@FAT_DIRENT@@QEBAEPEAT_LARGE_INTEGER@@@Z
+; public: unsigned long __cdecl FAT::QueryLengthOfChain(unsigned long,unsigned long * __ptr64)const  __ptr64
+?QueryLengthOfChain@FAT@@QEBAKKPEAK@Z
+; public: unsigned char __cdecl FATDIR::QueryLongName(long,class WSTRING * __ptr64) __ptr64
+?QueryLongName@FATDIR@@QEAAEJPEAVWSTRING@@@Z
+; public: unsigned char __cdecl FAT_DIRENT::QueryName(class WSTRING * __ptr64)const  __ptr64
+?QueryName@FAT_DIRENT@@QEBAEPEAVWSTRING@@@Z
+; public: unsigned long __cdecl FAT::QueryNthCluster(unsigned long,unsigned long)const  __ptr64
+?QueryNthCluster@FAT@@QEBAKKK@Z
+; public: virtual unsigned char __cdecl CLUSTER_CHAIN::Read(void) __ptr64
+?Read@CLUSTER_CHAIN@@UEAAEXZ
+; public: virtual unsigned char __cdecl EA_SET::Read(void) __ptr64
+?Read@EA_SET@@UEAAEXZ
+; public: virtual unsigned char __cdecl REAL_FAT_SA::Read(class MESSAGE * __ptr64) __ptr64
+?Read@REAL_FAT_SA@@UEAAEPEAVMESSAGE@@@Z
+; public: void * __ptr64 __cdecl FATDIR::SearchForDirEntry(class WSTRING const * __ptr64) __ptr64
+?SearchForDirEntry@FATDIR@@QEAAPEAXPEBVWSTRING@@@Z
+; private: void __cdecl FAT::Set12(unsigned long,unsigned long) __ptr64
+?Set12@FAT@@AEAAXKK@Z
+; public: virtual unsigned char __cdecl CLUSTER_CHAIN::Write(void) __ptr64
+?Write@CLUSTER_CHAIN@@UEAAEXZ
+Chkdsk
+ChkdskEx
+Format
+FormatEx
+Recover
diff --git a/mingw-w64-crt/lib64/uihelper.def b/mingw-w64-crt/lib64/uihelper.def
index 5ec6f99..bd7702d 100644
--- a/mingw-w64-crt/lib64/uihelper.def
+++ b/mingw-w64-crt/lib64/uihelper.def
@@ -1,1086 +1,1086 @@
-; 
-; Exports of file uihelper.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY uihelper.DLL
-EXPORTS
-; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
-??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@AEBV01@@Z
-; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
-??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
-; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
-??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@AEBV01@@Z
-; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
-??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
-; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(class CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
-??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@AEBV01@@Z
-; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(void) __ptr64
-??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class IIS::CString const * __ptr64,class IIS::CString const * __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@PEBVCString@IIS@@0AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@Vconst_iterator@01@0AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned __int64,class IIS::CString const & __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@_KAEBVCString@IIS@@AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl CBlob::CBlob(class CBlob const & __ptr64) __ptr64
-??0CBlob@@QEAA@AEBV0@@Z
-; public: __cdecl CBlob::CBlob(unsigned long,unsigned char * __ptr64,int) __ptr64
-??0CBlob@@QEAA@KPEAEH@Z
-; public: __cdecl CBlob::CBlob(void) __ptr64
-??0CBlob@@QEAA@XZ
-; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo & __ptr64) __ptr64
-??0CComAuthInfo@@QEAA@AEAV0@@Z
-; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo * __ptr64) __ptr64
-??0CComAuthInfo@@QEAA@PEAV0@@Z
-; public: __cdecl CComAuthInfo::CComAuthInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CComAuthInfo@@QEAA@PEBG00@Z
-; public: __cdecl CError::CError(class CError const & __ptr64) __ptr64
-??0CError@@QEAA@AEBV0@@Z
-; public: __cdecl CError::CError(long) __ptr64
-??0CError@@QEAA@J@Z
-; public: __cdecl CError::CError(unsigned long) __ptr64
-??0CError@@QEAA@K@Z
-; public: __cdecl CError::CError(void) __ptr64
-??0CError@@QEAA@XZ
-; public: __cdecl CFileChooser::CFileChooser(class CFileChooser const & __ptr64) __ptr64
-??0CFileChooser@@QEAA@AEBV0@@Z
-; public: __cdecl CFileChooser::CFileChooser(void) __ptr64
-??0CFileChooser@@QEAA@XZ
-; public: __cdecl CIISApplication::CIISApplication(class CIISApplication & __ptr64) __ptr64
-??0CIISApplication@@QEAA@AEAV0@@Z
-; public: __cdecl CIISApplication::CIISApplication(class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CIISApplication@@QEAA@PEAVCComAuthInfo@@PEBG@Z
-; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
-??0CIISInterface@@QEAA@AEAV0@@Z
-; public: __cdecl CIISInterface::CIISInterface(class CComAuthInfo * __ptr64,long) __ptr64
-??0CIISInterface@@QEAA@PEAVCComAuthInfo@@J@Z
-; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
-??0CIISSvcControl@@QEAA@AEAV0@@Z
-; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl * __ptr64) __ptr64
-??0CIISSvcControl@@QEAA@PEAV0@@Z
-; public: __cdecl CIISSvcControl::CIISSvcControl(class CComAuthInfo * __ptr64) __ptr64
-??0CIISSvcControl@@QEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
-??0CMetaBack@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaBack::CMetaBack(class CComAuthInfo * __ptr64) __ptr64
-??0CMetaBack@@QEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
-??0CMetaEnumerator@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(int,class CMetaKey * __ptr64) __ptr64
-??0CMetaEnumerator@@QEAA@HPEAVCMetaKey@@@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0CMetaEnumerator@@QEAA@PEAVCComAuthInfo@@PEBGK@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0CMetaEnumerator@@QEAA@PEAVCMetaInterface@@PEBGK@Z
-; protected: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface * __ptr64) __ptr64
-??0CMetaInterface@@IEAA@PEAV0@@Z
-; protected: __cdecl CMetaInterface::CMetaInterface(class CComAuthInfo * __ptr64) __ptr64
-??0CMetaInterface@@IEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface & __ptr64) __ptr64
-??0CMetaInterface@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CMetaKey & __ptr64) __ptr64
-??0CMetaKey@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaKey::CMetaKey(int,class CMetaKey * __ptr64) __ptr64
-??0CMetaKey@@QEAA@HPEAV0@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64) __ptr64
-??0CMetaKey@@QEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-??0CMetaKey@@QEAA@PEAVCComAuthInfo@@PEBGKK@Z
-; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64) __ptr64
-??0CMetaKey@@QEAA@PEAVCMetaInterface@@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-??0CMetaKey@@QEAA@PEAVCMetaInterface@@PEBGKK@Z
-; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
-??0CMetabasePath@@QEAA@AEBV0@@Z
-; public: __cdecl CMetabasePath::CMetabasePath(int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CMetabasePath@@QEAA@HPEBG000@Z
-; public: __cdecl CMetabasePath::CMetabasePath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CMetabasePath@@QEAA@PEBGK00@Z
-; public: __cdecl CStrPassword::CStrPassword(class CStrPassword & __ptr64) __ptr64
-??0CStrPassword@@QEAA@AEAV0@@Z
-; public: __cdecl CStrPassword::CStrPassword(unsigned short * __ptr64) __ptr64
-??0CStrPassword@@QEAA@PEAG@Z
-; public: __cdecl CStrPassword::CStrPassword(unsigned short const * __ptr64) __ptr64
-??0CStrPassword@@QEAA@PEBG@Z
-; public: __cdecl CStrPassword::CStrPassword(void) __ptr64
-??0CStrPassword@@QEAA@XZ
-; public: __cdecl IIS::CString::CString(class CString::CString const & __ptr64) __ptr64
-??0CString@IIS@@QEAA@AEBV01@@Z
-; public: __cdecl IIS::CString::CString(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
-??0CString@IIS@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z
-; public: __cdecl IIS::CString::CString(class ATL::CComBSTR const & __ptr64) __ptr64
-??0CString@IIS@@QEAA@AEBVCComBSTR@ATL@@@Z
-; public: __cdecl IIS::CString::CString(unsigned short,int) __ptr64
-??0CString@IIS@@QEAA@GH@Z
-; public: __cdecl IIS::CString::CString(char const * __ptr64) __ptr64
-??0CString@IIS@@QEAA@PEBD@Z
-; public: __cdecl IIS::CString::CString(unsigned short const * __ptr64) __ptr64
-??0CString@IIS@@QEAA@PEBG@Z
-; public: __cdecl IIS::CString::CString(void) __ptr64
-??0CString@IIS@@QEAA@XZ
-; public: __cdecl CStringListEx::CStringListEx(class CStringListEx const & __ptr64) __ptr64
-??0CStringListEx@@QEAA@AEBV0@@Z
-; public: __cdecl CStringListEx::CStringListEx(void) __ptr64
-??0CStringListEx@@QEAA@XZ
-; protected: __cdecl CWamInterface::CWamInterface(class CWamInterface * __ptr64) __ptr64
-??0CWamInterface@@IEAA@PEAV0@@Z
-; protected: __cdecl CWamInterface::CWamInterface(class CComAuthInfo * __ptr64) __ptr64
-??0CWamInterface@@IEAA@PEAVCComAuthInfo@@@Z
-; public: __cdecl CWamInterface::CWamInterface(class CWamInterface & __ptr64) __ptr64
-??0CWamInterface@@QEAA@AEAV0@@Z
-; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
-??1?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
-; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
-??1?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
-; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::~CWindowImplRoot<class ATL::CWindow>(void) __ptr64
-??1?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void) __ptr64
-??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@XZ
-; public: __cdecl CBlob::~CBlob(void) __ptr64
-??1CBlob@@QEAA@XZ
-; public: __cdecl CComAuthInfo::~CComAuthInfo(void) __ptr64
-??1CComAuthInfo@@QEAA@XZ
-; public: __cdecl CError::~CError(void) __ptr64
-??1CError@@QEAA@XZ
-; public: __cdecl CFileChooser::~CFileChooser(void) __ptr64
-??1CFileChooser@@QEAA@XZ
-; public: virtual __cdecl CIISApplication::~CIISApplication(void) __ptr64
-??1CIISApplication@@UEAA@XZ
-; public: __cdecl CIISInterface::~CIISInterface(void) __ptr64
-??1CIISInterface@@QEAA@XZ
-; public: virtual __cdecl CIISSvcControl::~CIISSvcControl(void) __ptr64
-??1CIISSvcControl@@UEAA@XZ
-; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
-??1CMetaBack@@UEAA@XZ
-; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
-??1CMetaEnumerator@@UEAA@XZ
-; public: virtual __cdecl CMetaInterface::~CMetaInterface(void) __ptr64
-??1CMetaInterface@@UEAA@XZ
-; public: virtual __cdecl CMetaKey::~CMetaKey(void) __ptr64
-??1CMetaKey@@UEAA@XZ
-; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
-??1CMetabasePath@@QEAA@XZ
-; public: __cdecl CStrPassword::~CStrPassword(void) __ptr64
-??1CStrPassword@@QEAA@XZ
-; public: __cdecl IIS::CString::~CString(void) __ptr64
-??1CString@IIS@@QEAA@XZ
-; public: __cdecl CStringListEx::~CStringListEx(void) __ptr64
-??1CStringListEx@@QEAA@XZ
-; public: virtual __cdecl CWamInterface::~CWamInterface(void) __ptr64
-??1CWamInterface@@UEAA@XZ
-; public: class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
-??4?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAAEAV01@AEBV01@@Z
-; public: class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
-??4?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAAEAV01@AEBV01@@Z
-; public: class ATL::CWindowImplRoot<class ATL::CWindow> & __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::operator=(class ATL::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
-??4?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAAAEAV01@AEBV01@@Z
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::operator=(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
-??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class CBlob & __ptr64 __cdecl CBlob::operator=(class CBlob const & __ptr64) __ptr64
-??4CBlob@@QEAAAEAV0@AEBV0@@Z
-; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo & __ptr64) __ptr64
-??4CComAuthInfo@@QEAAAEAV0@AEAV0@@Z
-; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo * __ptr64) __ptr64
-??4CComAuthInfo@@QEAAAEAV0@PEAV0@@Z
-; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(unsigned short const * __ptr64) __ptr64
-??4CComAuthInfo@@QEAAAEAV0@PEBG@Z
-; public: class CError const & __ptr64 __cdecl CError::operator=(class CError const & __ptr64) __ptr64
-??4CError@@QEAAAEBV0@AEBV0@@Z
-; public: class CError const & __ptr64 __cdecl CError::operator=(long) __ptr64
-??4CError@@QEAAAEBV0@J@Z
-; public: class CFileChooser & __ptr64 __cdecl CFileChooser::operator=(class CFileChooser const & __ptr64) __ptr64
-??4CFileChooser@@QEAAAEAV0@AEBV0@@Z
-; public: class CIISApplication & __ptr64 __cdecl CIISApplication::operator=(class CIISApplication & __ptr64) __ptr64
-??4CIISApplication@@QEAAAEAV0@AEAV0@@Z
-; public: class CIISInterface & __ptr64 __cdecl CIISInterface::operator=(class CIISInterface & __ptr64) __ptr64
-??4CIISInterface@@QEAAAEAV0@AEAV0@@Z
-; public: class CIISSvcControl & __ptr64 __cdecl CIISSvcControl::operator=(class CIISSvcControl & __ptr64) __ptr64
-??4CIISSvcControl@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaBack & __ptr64 __cdecl CMetaBack::operator=(class CMetaBack & __ptr64) __ptr64
-??4CMetaBack@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaEnumerator & __ptr64 __cdecl CMetaEnumerator::operator=(class CMetaEnumerator & __ptr64) __ptr64
-??4CMetaEnumerator@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaInterface & __ptr64 __cdecl CMetaInterface::operator=(class CMetaInterface & __ptr64) __ptr64
-??4CMetaInterface@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaKey & __ptr64 __cdecl CMetaKey::operator=(class CMetaKey & __ptr64) __ptr64
-??4CMetaKey@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetabasePath & __ptr64 __cdecl CMetabasePath::operator=(class CMetabasePath const & __ptr64) __ptr64
-??4CMetabasePath@@QEAAAEAV0@AEBV0@@Z
-; public: class CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(class CStrPassword & __ptr64) __ptr64
-??4CStrPassword@@QEAAAEBV0@AEAV0@@Z
-; public: class CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(unsigned short const * __ptr64) __ptr64
-??4CStrPassword@@QEAAAEBV0@PEBG@Z
-; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(class IIS::CString const & __ptr64) __ptr64
-??4CString@IIS@@QEAAAEBV01@AEBV01@@Z
-; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(char) __ptr64
-??4CString@IIS@@QEAAAEBV01@D@Z
-; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(unsigned short) __ptr64
-??4CString@IIS@@QEAAAEBV01@G@Z
-; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(unsigned char const * __ptr64) __ptr64
-??4CString@IIS@@QEAAAEBV01@PEBE@Z
-; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(unsigned short const * __ptr64) __ptr64
-??4CString@IIS@@QEAAAEBV01@PEBG@Z
-; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringListEx const & __ptr64) __ptr64
-??4CStringListEx@@QEAAAEAV0@AEBV0@@Z
-; public: class CWamInterface & __ptr64 __cdecl CWamInterface::operator=(class CWamInterface & __ptr64) __ptr64
-??4CWamInterface@@QEAAAEAV0@AEAV0@@Z
-; public: int __cdecl CBlob::operator==(class CBlob const & __ptr64)const  __ptr64
-??8CBlob@@QEBAHAEBV0@@Z
-; public: int const  __cdecl CError::operator==(class CError & __ptr64) __ptr64
-??8CError@@QEAA?BHAEAV0@@Z
-; public: int const  __cdecl CError::operator==(long) __ptr64
-??8CError@@QEAA?BHJ@Z
-; public: bool __cdecl CStrPassword::operator==(class CStrPassword & __ptr64) __ptr64
-??8CStrPassword@@QEAA_NAEAV0@@Z
-; public: int __cdecl CBlob::operator!=(class CBlob const & __ptr64)const  __ptr64
-??9CBlob@@QEBAHAEBV0@@Z
-; public: int const  __cdecl CError::operator!=(class CError & __ptr64) __ptr64
-??9CError@@QEAA?BHAEAV0@@Z
-; public: int const  __cdecl CError::operator!=(long) __ptr64
-??9CError@@QEAA?BHJ@Z
-; public: bool __cdecl CStrPassword::operator!=(class CStrPassword & __ptr64) __ptr64
-??9CStrPassword@@QEAA_NAEAV0@@Z
-; public: unsigned short __cdecl IIS::CString::operator[](int)const  __ptr64
-??ACString@IIS@@QEBAGH@Z
-; public: __cdecl CComAuthInfo::operator unsigned short * __ptr64(void) __ptr64
-??BCComAuthInfo@@QEAAPEAGXZ
-; public: __cdecl CComAuthInfo::operator class CComAuthInfo * __ptr64(void) __ptr64
-??BCComAuthInfo@@QEAAPEAV0@XZ
-; public: __cdecl CError::operator unsigned short const * __ptr64(void) __ptr64
-??BCError@@QEAAPEBGXZ
-; public: __cdecl CError::operator int const (void)const  __ptr64
-??BCError@@QEBA?BHXZ
-; public: __cdecl CError::operator long const (void)const  __ptr64
-??BCError@@QEBA?BJXZ
-; public: __cdecl CError::operator unsigned long const (void)const  __ptr64
-??BCError@@QEBA?BKXZ
-; public: __cdecl CIISInterface::operator int(void)const  __ptr64
-??BCIISInterface@@QEBAHXZ
-; public: __cdecl CIISInterface::operator long(void)const  __ptr64
-??BCIISInterface@@QEBAJXZ
-; public: __cdecl CMetaKey::operator int(void)const  __ptr64
-??BCMetaKey@@QEBAHXZ
-; public: __cdecl CMetaKey::operator unsigned long(void)const  __ptr64
-??BCMetaKey@@QEBAKXZ
-; public: __cdecl CMetaKey::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCMetaKey@@QEBAPEBGXZ
-; public: __cdecl CMetabasePath::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCMetabasePath@@QEBAPEBGXZ
-; public: __cdecl CStrPassword::operator class IIS::CString(void) __ptr64
-??BCStrPassword@@QEAA?AVCString@IIS@@XZ
-; public: __cdecl IIS::CString::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCString@IIS@@QEBAPEBGXZ
-; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(class IIS::CString const & __ptr64) __ptr64
-??YCString@IIS@@QEAAAEBV01@AEBV01@@Z
-; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(char) __ptr64
-??YCString@IIS@@QEAAAEBV01@D@Z
-; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(unsigned short) __ptr64
-??YCString@IIS@@QEAAAEBV01@G@Z
-; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(unsigned short const * __ptr64) __ptr64
-??YCString@IIS@@QEAAAEBV01@PEBG@Z
-; const  CFileChooser::`vftable'
-??_7CFileChooser@@6B@
-; const  CIISApplication::`vftable'{for `CMetaKey'}
-??_7CIISApplication@@6BCMetaKey@@@
-; const  CIISApplication::`vftable'{for `CWamInterface'}
-??_7CIISApplication@@6BCWamInterface@@@
-; const  CIISInterface::`vftable'
-??_7CIISInterface@@6B@
-; const  CIISSvcControl::`vftable'
-??_7CIISSvcControl@@6B@
-; const  CMetaBack::`vftable'{for `CMetaInterface'}
-??_7CMetaBack@@6BCMetaInterface@@@
-; const  CMetaBack::`vftable'{for `CWamInterface'}
-??_7CMetaBack@@6BCWamInterface@@@
-; const  CMetaEnumerator::`vftable'
-??_7CMetaEnumerator@@6B@
-; const  CMetaInterface::`vftable'
-??_7CMetaInterface@@6B@
-; const  CMetaKey::`vftable'
-??_7CMetaKey@@6B@
-; const  CWamInterface::`vftable'
-??_7CWamInterface@@6B@
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void) __ptr64
-??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl CComAuthInfo::`default constructor closure'(void) __ptr64
-??_FCComAuthInfo@@QEAAXXZ
-; public: void __cdecl CMetabasePath::`default constructor closure'(void) __ptr64
-??_FCMetabasePath@@QEAAXXZ
-; public: void __cdecl CFileChooser::AddExtension(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int) __ptr64
-?AddExtension@CFileChooser@@QEAAXPEAUHINSTANCE__@@II@Z
-; public: void __cdecl CFileChooser::AddExtension(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?AddExtension@CFileChooser@@QEAAXPEBG0@Z
-; protected: long __cdecl CMetaInterface::AddKey(unsigned long,unsigned short const * __ptr64) __ptr64
-?AddKey@CMetaInterface@@IEAAJKPEBG@Z
-; public: long __cdecl CMetaKey::AddKey(unsigned short const * __ptr64) __ptr64
-?AddKey@CMetaKey@@QEAAJPEBG@Z
-; public: unsigned int __cdecl CError::AddOverride(long,unsigned int) __ptr64
-?AddOverride@CError@@QEAAIJI@Z
-; public: void __cdecl CFileChooser::AddStyle(unsigned long) __ptr64
-?AddStyle@CFileChooser@@QEAAXK@Z
-; protected: static int __cdecl CError::AllocateStatics(void)
-?AllocateStatics@CError@@KAHXZ
-; protected: long __cdecl CWamInterface::AppCreate(unsigned short const * __ptr64,unsigned long) __ptr64
-?AppCreate@CWamInterface@@IEAAJPEBGK@Z
-; protected: long __cdecl CWamInterface::AppDelete(unsigned short const * __ptr64,int) __ptr64
-?AppDelete@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppDeleteRecoverable(unsigned short const * __ptr64,int) __ptr64
-?AppDeleteRecoverable@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppGetStatus(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?AppGetStatus@CWamInterface@@IEAAJPEBGPEAK@Z
-; protected: long __cdecl CWamInterface::AppRecover(unsigned short const * __ptr64,int) __ptr64
-?AppRecover@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppUnLoad(unsigned short const * __ptr64,int) __ptr64
-?AppUnLoad@CWamInterface@@IEAAJPEBGH@Z
-; protected: void __cdecl CMetabasePath::AppendPath(unsigned long) __ptr64
-?AppendPath@CMetabasePath@@IEAAXK@Z
-; protected: void __cdecl CMetabasePath::AppendPath(unsigned short const * __ptr64) __ptr64
-?AppendPath@CMetabasePath@@IEAAXPEBG@Z
-; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64) __ptr64
-?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@@Z
-; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64,unsigned long) __ptr64
-?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@K@Z
-; protected: virtual long __cdecl CIISSvcControl::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CIISSvcControl@@MEAAJXZ
-; protected: virtual long __cdecl CMetaBack::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CMetaBack@@MEAAJXZ
-; protected: virtual long __cdecl CMetaInterface::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CMetaInterface@@MEAAJXZ
-; protected: virtual long __cdecl CWamInterface::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CWamInterface@@MEAAJXZ
-; protected: static int __cdecl CError::AreStaticsAllocated(void)
-?AreStaticsAllocated@CError@@KAHXZ
-; public: long __cdecl CMetaBack::Backup(unsigned short const * __ptr64) __ptr64
-?Backup@CMetaBack@@QEAAJPEBG@Z
-; protected: long __cdecl CMetaInterface::Backup(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?Backup@CMetaInterface@@IEAAJPEBGKK@Z
-; protected: int __cdecl CFileChooser::BrowseForFile(class IIS::CString & __ptr64,class IIS::CString & __ptr64) __ptr64
-?BrowseForFile@CFileChooser@@IEAAHAEAVCString@IIS@@0@Z
-; protected: int __cdecl CFileChooser::BrowseForFolder(class IIS::CString & __ptr64) __ptr64
-?BrowseForFolder@CFileChooser@@IEAAHAEAVCString@IIS@@@Z
-; public: int __cdecl CFileChooser::BrowseForFolderCallback(struct HWND__ * __ptr64,unsigned int,__int64) __ptr64
-?BrowseForFolderCallback@CFileChooser@@QEAAHPEAUHWND__@@I_J@Z
-; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?BuildMetaPath@CMetabasePath@@IEAAXPEBG000@Z
-; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?BuildMetaPath@CMetabasePath@@IEAAXPEBGK00@Z
-; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
-; public: long __cdecl CMetaKey::CheckDescendants(unsigned long,class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
-?CheckDescendants@CMetaKey@@QEAAJKPEAVCComAuthInfo@@PEBG@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::CleanMetaPath(class CMetabasePath & __ptr64)
-?CleanMetaPath@CMetabasePath@@SAPEBGAEAV1@@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::CleanMetaPath(class IIS::CString & __ptr64)
-?CleanMetaPath@CMetabasePath@@SAPEBGAEAVCString@IIS@@@Z
-; public: void __cdecl CBlob::CleanUp(void) __ptr64
-?CleanUp@CBlob@@QEAAXXZ
-; public: void __cdecl CStringListEx::Clear(void) __ptr64
-?Clear@CStringListEx@@QEAAXXZ
-; private: void __cdecl CStrPassword::ClearPasswordBuffers(void) __ptr64
-?ClearPasswordBuffers@CStrPassword@@AEAAXXZ
-; public: long __cdecl CMetaKey::Close(void) __ptr64
-?Close@CMetaKey@@QEAAJXZ
-; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
-?CloseKey@CMetaInterface@@IEAAJK@Z
-; public: int __cdecl IIS::CString::Collate(unsigned short const * __ptr64)const  __ptr64
-?Collate@CString@IIS@@QEBAHPEBG@Z
-; protected: void __cdecl CIISApplication::CommonConstruct(void) __ptr64
-?CommonConstruct@CIISApplication@@IEAAXXZ
-; public: int __cdecl CStrPassword::Compare(class CStrPassword & __ptr64)const  __ptr64
-?Compare@CStrPassword@@QEBAHAEAV1@@Z
-; public: int __cdecl CStrPassword::Compare(class IIS::CString & __ptr64)const  __ptr64
-?Compare@CStrPassword@@QEBAHAEAVCString@IIS@@@Z
-; public: int __cdecl CStrPassword::Compare(unsigned short const * __ptr64)const  __ptr64
-?Compare@CStrPassword@@QEBAHPEBG@Z
-; public: int __cdecl IIS::CString::Compare(unsigned short const * __ptr64)const  __ptr64
-?Compare@CString@IIS@@QEBAHPEBG@Z
-; public: int __cdecl IIS::CString::CompareNoCase(unsigned short const * __ptr64)const  __ptr64
-?CompareNoCase@CString@IIS@@QEBAHPEBG@Z
-; protected: class CError const & __ptr64 __cdecl CError::Construct(class CError const & __ptr64) __ptr64
-?Construct@CError@@IEAAAEBV1@AEBV1@@Z
-; protected: class CError const & __ptr64 __cdecl CError::Construct(long) __ptr64
-?Construct@CError@@IEAAAEBV1@J@Z
-; public: unsigned long __cdecl CStringListEx::ConvertFromDoubleNullList(unsigned short const * __ptr64,int) __ptr64
-?ConvertFromDoubleNullList@CStringListEx@@QEAAKPEBGH@Z
-; public: unsigned long __cdecl CStringListEx::ConvertToDoubleNullList(unsigned long & __ptr64,unsigned short * __ptr64 & __ptr64) __ptr64
-?ConvertToDoubleNullList@CStringListEx@@QEAAKAEAKAEAPEAG@Z
-; public: long __cdecl CMetaKey::ConvertToParentPath(int) __ptr64
-?ConvertToParentPath@CMetaKey@@QEAAJH@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::ConvertToParentPath(class CMetabasePath & __ptr64)
-?ConvertToParentPath@CMetabasePath@@SAPEBGAEAV1@@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::ConvertToParentPath(class IIS::CString & __ptr64)
-?ConvertToParentPath@CMetabasePath@@SAPEBGAEAVCString@IIS@@@Z
-; protected: long __cdecl CMetaInterface::CopyData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
-?CopyData@CMetaInterface@@IEAAJKPEBGK0KKKH@Z
-; protected: long __cdecl CMetaInterface::CopyKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int,int) __ptr64
-?CopyKey@CMetaInterface@@IEAAJKPEBGK0HH@Z
-; public: void __cdecl CStrPassword::CopyTo(class CStrPassword & __ptr64) __ptr64
-?CopyTo@CStrPassword@@QEAAXAEAV1@@Z
-; public: void __cdecl CStrPassword::CopyTo(class IIS::CString & __ptr64) __ptr64
-?CopyTo@CStrPassword@@QEAAXAEAVCString@IIS@@@Z
-; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,void * __ptr64) __ptr64
-?Create@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIPEAX@Z
-; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,unsigned short,void * __ptr64) __ptr64
-?Create@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIGPEAX@Z
-; public: long __cdecl CIISApplication::Create(unsigned short const * __ptr64,unsigned long) __ptr64
-?Create@CIISApplication@@QEAAJPEBGK@Z
-; protected: long __cdecl CIISInterface::Create(int,struct _GUID const * __ptr64 const,struct _GUID const * __ptr64 const,int * __ptr64,struct IUnknown * __ptr64 * __ptr64) __ptr64
-?Create@CIISInterface@@IEAAJHQEBU_GUID@@0PEAHPEAPEAUIUnknown@@@Z
-; protected: long __cdecl CIISSvcControl::Create(void) __ptr64
-?Create@CIISSvcControl@@IEAAJXZ
-; protected: long __cdecl CMetaInterface::Create(void) __ptr64
-?Create@CMetaInterface@@IEAAJXZ
-; protected: long __cdecl CWamInterface::Create(void) __ptr64
-?Create@CWamInterface@@IEAAJXZ
-; protected: void __cdecl CFileChooser::CreateDefaultPathForRead(void) __ptr64
-?CreateDefaultPathForRead@CFileChooser@@IEAAXXZ
-; protected: void __cdecl CFileChooser::CreateFilter(class IIS::CString & __ptr64,class IIS::CString & __ptr64) __ptr64
-?CreateFilter@CFileChooser@@IEAAXAEAVCString@IIS@@0@Z
-; public: long __cdecl CMetaKey::CreatePathFromFailedOpen(void) __ptr64
-?CreatePathFromFailedOpen@CMetaKey@@QEAAJXZ
-; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(unsigned long)const  __ptr64
-?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@K@Z
-; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(void)const  __ptr64
-?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@XZ
-; protected: static long __cdecl CError::CvtToInternalFormat(long)
-?CvtToInternalFormat@CError@@KAJJ@Z
-; protected: static void __cdecl CError::DeAllocateStatics(void)
-?DeAllocateStatics@CError@@KAXXZ
-; long __cdecl DecryptMemoryPassword(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long)
-?DecryptMemoryPassword@@YAJPEAGPEAPEAGK@Z
-; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(unsigned int,unsigned __int64,__int64) __ptr64
-?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JI_K_J@Z
-; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(void) __ptr64
-?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JXZ
-; public: static int __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::DefaultReflectionHandler(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64)
-?DefaultReflectionHandler@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@SAHPEAUHWND__@@I_K_JAEA_J@Z
-; public: long __cdecl CIISApplication::Delete(int) __ptr64
-?Delete@CIISApplication@@QEAAJH@Z
-; public: long __cdecl CMetaBack::Delete(unsigned short const * __ptr64,unsigned long) __ptr64
-?Delete@CMetaBack@@QEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::DeleteAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?DeleteAllData@CMetaInterface@@IEAAJKPEBGKK@Z
-; protected: long __cdecl CMetaInterface::DeleteBackup(unsigned short const * __ptr64,unsigned long) __ptr64
-?DeleteBackup@CMetaInterface@@IEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteChildKeys@CMetaInterface@@IEAAJKPEBG@Z
-; protected: long __cdecl CMetaInterface::DeleteData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?DeleteData@CMetaInterface@@IEAAJKPEBGKK@Z
-; protected: long __cdecl CMetaInterface::DeleteKey(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteKey@CMetaInterface@@IEAAJKPEBG@Z
-; public: long __cdecl CMetaKey::DeleteKey(unsigned short const * __ptr64) __ptr64
-?DeleteKey@CMetaKey@@QEAAJPEBG@Z
-; public: long __cdecl CIISApplication::DeleteRecoverable(int) __ptr64
-?DeleteRecoverable@CIISApplication@@QEAAJH@Z
-; public: long __cdecl CMetaKey::DeleteValue(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteValue@CMetaKey@@QEAAJKPEBG@Z
-; public: void __cdecl CStrPassword::DestroyClearTextPassword(unsigned short * __ptr64)const  __ptr64
-?DestroyClearTextPassword@CStrPassword@@QEBAXPEAG@Z
-; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DestroyWindow(void) __ptr64
-?DestroyWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHXZ
-; public: long __cdecl CMetaKey::DoesPathExist(unsigned short const * __ptr64) __ptr64
-?DoesPathExist@CMetaKey@@QEAAJPEBG@Z
-; void __cdecl EditHideBalloon(void)
-?EditHideBalloon@@YAXXZ
-; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,unsigned int)
-?EditShowBalloon@@YAXPEAUHWND__@@PEAUHINSTANCE__@@I@Z
-; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,unsigned short const * __ptr64)
-?EditShowBalloon@@YAXPEAUHWND__@@PEBG@Z
-; __int64 __cdecl Edit_ShowBalloonTipHandler(struct HWND__ * __ptr64,unsigned short const * __ptr64)
-?Edit_ShowBalloonTipHandler@@YA_JPEAUHWND__@@PEBG@Z
-; public: void __cdecl CStrPassword::Empty(void) __ptr64
-?Empty@CStrPassword@@QEAAXXZ
-; public: void __cdecl IIS::CString::Empty(void) __ptr64
-?Empty@CString@IIS@@QEAAXXZ
-; long __cdecl EncryptMemoryPassword(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64)
-?EncryptMemoryPassword@@YAJPEAGPEAPEAGPEAK@Z
-; protected: long __cdecl CMetaInterface::EnumBackups(unsigned short * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
-?EnumBackups@CMetaInterface@@IEAAJPEAGPEAKPEAU_FILETIME@@K@Z
-; protected: long __cdecl CMetaInterface::EnumData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?EnumData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@KPEAK@Z
-; protected: long __cdecl CMetaInterface::EnumKeys(unsigned long,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
-?EnumKeys@CMetaInterface@@IEAAJKPEBGPEAGK@Z
-; protected: int __cdecl CError::ExpandEscapeCode(unsigned short * __ptr64,unsigned long,unsigned short * __ptr64 & __ptr64,class IIS::CString & __ptr64,long & __ptr64)const  __ptr64
-?ExpandEscapeCode@CError@@IEBAHPEAGKAEAPEAGAEAVCString@IIS@@AEAJ@Z
-; protected: int __cdecl CFileChooser::ExtractArgs(unsigned short * __ptr64) __ptr64
-?ExtractArgs@CFileChooser@@IEAAHPEAG@Z
-; protected: int __cdecl CFileChooser::ExtractPath(unsigned short * __ptr64) __ptr64
-?ExtractPath@CFileChooser@@IEAAHPEAG@Z
-; public: int __cdecl CError::Failed(void)const  __ptr64
-?Failed@CError@@QEBAHXZ
-; public: static int __cdecl CError::Failed(long)
-?Failed@CError@@SAHJ@Z
-; public: int __cdecl IIS::CString::Find(unsigned short)const  __ptr64
-?Find@CString@IIS@@QEBAHG@Z
-; public: int __cdecl IIS::CString::Find(unsigned short const * __ptr64)const  __ptr64
-?Find@CString@IIS@@QEBAHPEBG@Z
-; protected: static unsigned short const * __ptr64 __cdecl CError::FindFacility(unsigned long)
-?FindFacility@CError@@KAPEBGK@Z
-; public: int __cdecl IIS::CString::FindOneOf(unsigned short const * __ptr64)const  __ptr64
-?FindOneOf@CString@IIS@@QEBAHPEBG@Z
-; public: void __cdecl IIS::CString::Format(struct HINSTANCE__ * __ptr64,unsigned int,...) __ptr64
-?Format@CString@IIS@@QEAAXPEAUHINSTANCE__@@IZZ
-; public: void __cdecl IIS::CString::Format(unsigned short const * __ptr64,...) __ptr64
-?Format@CString@IIS@@QEAAXPEBGZZ
-; public: int __cdecl IIS::CString::FormatMessageW(struct HINSTANCE__ * __ptr64,unsigned int,...) __ptr64
-?FormatMessageW@CString@IIS@@QEAAHPEAUHINSTANCE__@@IZZ
-; public: int __cdecl IIS::CString::FormatMessageW(unsigned short const * __ptr64,...) __ptr64
-?FormatMessageW@CString@IIS@@QEAAHPEBGZZ
-; public: void __cdecl IIS::CString::FormatV(unsigned short const * __ptr64,char * __ptr64) __ptr64
-?FormatV@CString@IIS@@QEAAXPEBGPEAD@Z
-; public: void __cdecl CComAuthInfo::FreeServerInfoStruct(struct _COSERVERINFO * __ptr64)const  __ptr64
-?FreeServerInfoStruct@CComAuthInfo@@QEBAXPEAU_COSERVERINFO@@@Z
-; unsigned short const * __ptr64 __cdecl GenerateRegistryKey(class IIS::CString & __ptr64,unsigned short const * __ptr64)
-?GenerateRegistryKey@@YAPEBGAEAVCString@IIS@@PEBG@Z
-; public: long __cdecl CMetaInterface::GetAdminInterface2(struct IMSAdminBase2W * __ptr64 * __ptr64) __ptr64
-?GetAdminInterface2@CMetaInterface@@QEAAJPEAPEAUIMSAdminBase2W@@@Z
-; protected: long __cdecl CMetaInterface::GetAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
-?GetAllData@CMetaInterface@@IEAAJKPEBGKKKPEAK1KPEAE1@Z
-; protected: long __cdecl CMetaKey::GetAllData(unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64 * __ptr64,unsigned short const * __ptr64) __ptr64
-?GetAllData@CMetaKey@@IEAAJKKKPEAK0PEAPEAEPEBG@Z
-; public: unsigned short __cdecl IIS::CString::GetAt(int)const  __ptr64
-?GetAt@CString@IIS@@QEBAGH@Z
-; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
-?GetBase@CMetaKey@@QEBAKXZ
-; public: int __cdecl CStrPassword::GetByteLength(void)const  __ptr64
-?GetByteLength@CStrPassword@@QEBAHXZ
-; public: unsigned short * __ptr64 __cdecl CStrPassword::GetClearTextPassword(void) __ptr64
-?GetClearTextPassword@CStrPassword@@QEAAPEAGXZ
-; public: struct tagMSG const * __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::GetCurrentMessage(void)const  __ptr64
-?GetCurrentMessage@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEBAPEBUtagMSG@@XZ
-; public: unsigned char * __ptr64 __cdecl CBlob::GetData(void) __ptr64
-?GetData@CBlob@@QEAAPEAEXZ
-; protected: long __cdecl CMetaInterface::GetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long * __ptr64) __ptr64
-?GetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@PEAK@Z
-; protected: long __cdecl CMetaInterface::GetDataPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetDataPaths@CMetaInterface@@IEAAJKPEBGKKKPEAGPEAK@Z
-; public: long __cdecl CMetaKey::GetDataPaths(class CStringListEx & __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
-?GetDataPaths@CMetaKey@@QEAAJAEAVCStringListEx@@KKPEBG@Z
-; public: unsigned long __cdecl CFileChooser::GetFileName(class IIS::CString & __ptr64) __ptr64
-?GetFileName@CFileChooser@@QEAAKAEAVCString@IIS@@@Z
-; protected: int __cdecl CFileChooser::GetFilterIndex(class IIS::CString const & __ptr64) __ptr64
-?GetFilterIndex@CFileChooser@@IEAAHAEBVCString@IIS@@@Z
-; public: unsigned long __cdecl CMetaKey::GetHandle(void)const  __ptr64
-?GetHandle@CMetaKey@@QEBAKXZ
-; public: unsigned long __cdecl CMetaEnumerator::GetIndex(void) __ptr64
-?GetIndex@CMetaEnumerator@@QEAAKXZ
-; public: static unsigned long __cdecl CMetabasePath::GetInstanceNumber(unsigned short const * __ptr64)
-?GetInstanceNumber@CMetabasePath@@SAKPEBG@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetInstancePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetInstancePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: struct IMSAdminBaseW * __ptr64 __cdecl CMetaInterface::GetInterface(void) __ptr64
-?GetInterface@CMetaInterface@@QEAAPEAUIMSAdminBaseW@@XZ
-; protected: long __cdecl CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
-?GetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetLastNodeName(unsigned short const * __ptr64,class IIS::CString & __ptr64)
-?GetLastNodeName@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@@Z
-; public: void __cdecl CError::GetLastWinError(void) __ptr64
-?GetLastWinError@CError@@QEAAXXZ
-; public: int __cdecl CStrPassword::GetLength(void)const  __ptr64
-?GetLength@CStrPassword@@QEBAHXZ
-; public: int __cdecl IIS::CString::GetLength(void)const  __ptr64
-?GetLength@CString@IIS@@QEBAHXZ
-; public: static int __cdecl CMetaKey::GetMDFieldDef(unsigned long,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64)
-?GetMDFieldDef@CMetaKey@@SAHKAEAK000@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetMachinePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetMachinePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: unsigned long __cdecl CFileChooser::GetOfnFlags(void) __ptr64
-?GetOfnFlags@CFileChooser@@QEAAKXZ
-; public: static int __cdecl CMetaKey::GetPropertyDescription(unsigned long,class IIS::CString & __ptr64)
-?GetPropertyDescription@CMetaKey@@SAHKAEAVCString@IIS@@@Z
-; protected: long __cdecl CMetaKey::GetPropertyValue(unsigned long,unsigned long & __ptr64,void * __ptr64 & __ptr64,unsigned long * __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?GetPropertyValue@CMetaKey@@IEAAJKAEAKAEAPEAXPEAKPEAHPEBG2@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetRootPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetRootPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServiceInfoPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,unsigned short const * __ptr64)
-?GetServiceInfoPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@0@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServicePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetServicePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: unsigned long __cdecl CBlob::GetSize(void)const  __ptr64
-?GetSize@CBlob@@QEBAKXZ
-; int __cdecl GetSpecialPathRealPath(class IIS::CString const & __ptr64,class IIS::CString & __ptr64)
-?GetSpecialPathRealPath@@YAHAEBVCString@IIS@@AEAV12@@Z
-; public: unsigned long __cdecl CFileChooser::GetStyle(void)const  __ptr64
-?GetStyle@CFileChooser@@QEBAKXZ
-; protected: void __cdecl CFileChooser::GetText(unsigned short * __ptr64) __ptr64
-?GetText@CFileChooser@@IEAAXPEAG@Z
-; int __cdecl GetVolumeInformationSystemFlags(unsigned short const * __ptr64,unsigned long * __ptr64)
-?GetVolumeInformationSystemFlags@@YAHPEBGPEAK@Z
-; public: virtual __int64 (__cdecl*__cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWindowProc(void) __ptr64)(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?GetWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAP6A_JPEAUHWND__@@I_K_J@ZXZ
-; public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)
-?GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ
-; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndExStyle(unsigned long)
-?GetWndExStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
-; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndStyle(unsigned long)
-?GetWndStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
-; public: long __cdecl CError::HResult(void)const  __ptr64
-?HResult@CError@@QEBAJXZ
-; public: static long __cdecl CError::HResult(long)
-?HResult@CError@@SAJJ@Z
-; protected: int __cdecl CFileChooser::HasEditFocus(void) __ptr64
-?HasEditFocus@CFileChooser@@IEAAHXZ
-; protected: int __cdecl CIISSvcControl::HasInterface(void)const  __ptr64
-?HasInterface@CIISSvcControl@@IEBAHXZ
-; protected: int __cdecl CMetaInterface::HasInterface(void)const  __ptr64
-?HasInterface@CMetaInterface@@IEBAHXZ
-; protected: int __cdecl CWamInterface::HasInterface(void)const  __ptr64
-?HasInterface@CWamInterface@@IEBAHXZ
-; protected: int __cdecl CError::HasOverride(unsigned int * __ptr64)const  __ptr64
-?HasOverride@CError@@IEBAHPEAI@Z
-; public: int __cdecl CFileChooser::Init(class ATL::CWindow * __ptr64,unsigned long,unsigned int,unsigned int) __ptr64
-?Init@CFileChooser@@QEAAHPEAVCWindow@ATL@@KII@Z
-; int __cdecl IsBiDiLocalizedSystem(void)
-?IsBiDiLocalizedSystem@@YAHXZ
-; int __cdecl IsDevicePath(class IIS::CString const & __ptr64)
-?IsDevicePath@@YAHAEBVCString@IIS@@@Z
-; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
-?IsEmpty@CBlob@@QEBAHXZ
-; public: int __cdecl CStrPassword::IsEmpty(void)const  __ptr64
-?IsEmpty@CStrPassword@@QEBAHXZ
-; public: bool __cdecl IIS::CString::IsEmpty(void)const  __ptr64
-?IsEmpty@CString@IIS@@QEBA_NXZ
-; public: int __cdecl CIISApplication::IsEnabledApplication(void)const  __ptr64
-?IsEnabledApplication@CIISApplication@@QEBAHXZ
-; public: int __cdecl CMetaKey::IsHomeDirectoryPath(void)const  __ptr64
-?IsHomeDirectoryPath@CMetaKey@@QEBAHXZ
-; public: int __cdecl CMetabasePath::IsHomeDirectoryPath(void)const  __ptr64
-?IsHomeDirectoryPath@CMetabasePath@@QEBAHXZ
-; public: static int __cdecl CMetabasePath::IsHomeDirectoryPath(unsigned short const * __ptr64)
-?IsHomeDirectoryPath@CMetabasePath@@SAHPEBG@Z
-; public: int __cdecl CIISApplication::IsInproc(void)const  __ptr64
-?IsInproc@CIISApplication@@QEBAHXZ
-; public: int __cdecl CComAuthInfo::IsLocal(void)const  __ptr64
-?IsLocal@CComAuthInfo@@QEBAHXZ
-; public: int __cdecl CIISInterface::IsLocal(void)const  __ptr64
-?IsLocal@CIISInterface@@QEBAHXZ
-; public: static int __cdecl CMetabasePath::IsMasterInstance(unsigned short const * __ptr64)
-?IsMasterInstance@CMetabasePath@@SAHPEBG@Z
-; public: int __cdecl CMetaKey::IsOpen(void)const  __ptr64
-?IsOpen@CMetaKey@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsOutOfProc(void)const  __ptr64
-?IsOutOfProc@CIISApplication@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsPooledProc(void)const  __ptr64
-?IsPooledProc@CIISApplication@@QEBAHXZ
-; public: static int __cdecl CMetaKey::IsPropertyInheritable(unsigned long)
-?IsPropertyInheritable@CMetaKey@@SAHK@Z
-; public: static int __cdecl CMetabasePath::IsSeparator(unsigned short)
-?IsSeparator@CMetabasePath@@SAHG@Z
-; int __cdecl IsServerLocal(unsigned short const * __ptr64)
-?IsServerLocal@@YAHPEBG@Z
-; int __cdecl IsSpecialPath(class IIS::CString const & __ptr64,int)
-?IsSpecialPath@@YAHAEBVCString@IIS@@H@Z
-; protected: int __cdecl CFileChooser::IsValidChar(unsigned int,int) __ptr64
-?IsValidChar@CFileChooser@@IEAAHIH@Z
-; int __cdecl IsValidFilePath(struct HWND__ * __ptr64,unsigned short const * __ptr64,int)
-?IsValidFilePath@@YAHPEAUHWND__@@PEBGH@Z
-; int __cdecl IsValidFolderPath(struct HWND__ * __ptr64,unsigned short const * __ptr64,int)
-?IsValidFolderPath@@YAHPEAUHWND__@@PEBGH@Z
-; int __cdecl IsValidName(unsigned short const * __ptr64)
-?IsValidName@@YAHPEBG@Z
-; int __cdecl IsValidPath(unsigned short const * __ptr64)
-?IsValidPath@@YAHPEBG@Z
-; protected: int __cdecl CFileChooser::IsValidPath(unsigned short const * __ptr64) __ptr64
-?IsValidPath@CFileChooser@@IEAAHPEBG@Z
-; int __cdecl IsValidUNCFolderPath(struct HWND__ * __ptr64,unsigned short const * __ptr64)
-?IsValidUNCFolderPath@@YAHPEAUHWND__@@PEBG@Z
-; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
-?Kill@CIISSvcControl@@QEAAJXZ
-; public: class IIS::CString  __cdecl IIS::CString::Left(int)const  __ptr64
-?Left@CString@IIS@@QEBA?AV12@H@Z
-; public: int __cdecl IIS::CString::LoadStringW(struct HINSTANCE__ * __ptr64,unsigned int) __ptr64
-?LoadStringW@CString@IIS@@QEAAHPEAUHINSTANCE__@@I@Z
-; public: void __cdecl IIS::CString::MakeLower(void) __ptr64
-?MakeLower@CString@IIS@@QEAAXXZ
-; public: void __cdecl IIS::CString::MakeReverse(void) __ptr64
-?MakeReverse@CString@IIS@@QEAAXXZ
-; public: void __cdecl IIS::CString::MakeUpper(void) __ptr64
-?MakeUpper@CString@IIS@@QEAAXXZ
-; public: static int __cdecl CMetaKey::MapMDIDToTableIndex(unsigned long)
-?MapMDIDToTableIndex@CMetaKey@@SAHK@Z
-; public: int __cdecl CError::MessageBoxFormat(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int,unsigned int,...)const  __ptr64
-?MessageBoxFormat@CError@@QEBAHPEAUHINSTANCE__@@IIIZZ
-; public: int __cdecl CError::MessageBoxOnFailure(unsigned int,unsigned int)const  __ptr64
-?MessageBoxOnFailure@CError@@QEBAHII@Z
-; public: int __cdecl CError::MessageBoxW(unsigned int,unsigned int)const  __ptr64
-?MessageBoxW@CError@@QEBAHII@Z
-; public: class IIS::CString  __cdecl IIS::CString::Mid(int)const  __ptr64
-?Mid@CString@IIS@@QEBA?AV12@H@Z
-; public: class IIS::CString  __cdecl IIS::CString::Mid(int,int)const  __ptr64
-?Mid@CString@IIS@@QEBA?AV12@HH@Z
-; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
-?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
-; public: long __cdecl CMetaEnumerator::Next(unsigned long & __ptr64,class IIS::CString & __ptr64,unsigned short const * __ptr64) __ptr64
-?Next@CMetaEnumerator@@QEAAJAEAKAEAVCString@IIS@@PEBG@Z
-; public: long __cdecl CMetaEnumerator::Next(class IIS::CString & __ptr64,unsigned short const * __ptr64) __ptr64
-?Next@CMetaEnumerator@@QEAAJAEAVCString@IIS@@PEBG@Z
-; protected: void __cdecl CFileChooser::OnBrowseBtn(void) __ptr64
-?OnBrowseBtn@CFileChooser@@IEAAXXZ
-; public: void __cdecl CFileChooser::OnEditChange(void) __ptr64
-?OnEditChange@CFileChooser@@QEAAXXZ
-; protected: __int64 __cdecl CFileChooser::OnEditChar(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
-?OnEditChar@CFileChooser@@IEAA_JI_K_JAEAH@Z
-; protected: __int64 __cdecl CFileChooser::OnEditKillFocus(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
-?OnEditKillFocus@CFileChooser@@IEAA_JI_K_JAEAH@Z
-; protected: __int64 __cdecl CFileChooser::OnEditSetFocus(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
-?OnEditSetFocus@CFileChooser@@IEAA_JI_K_JAEAH@Z
-; public: virtual void __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::OnFinalMessage(struct HWND__ * __ptr64) __ptr64
-?OnFinalMessage@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAXPEAUHWND__@@@Z
-; public: void __cdecl CFileChooser::OnPaste(void) __ptr64
-?OnPaste@CFileChooser@@QEAAXXZ
-; protected: __int64 __cdecl CFileChooser::OnSetBrowseState(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
-?OnSetBrowseState@CFileChooser@@IEAA_JI_K_JAEAH@Z
-; public: long __cdecl CMetaKey::Open(unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
-?Open@CMetaKey@@QEAAJKPEBGK@Z
-; public: int __cdecl CFileChooser::OpenForRead(void) __ptr64
-?OpenForRead@CFileChooser@@QEAAHXZ
-; protected: long __cdecl CMetaInterface::OpenKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?OpenKey@CMetaInterface@@IEAAJKPEBGKPEAK@Z
-; public: void __cdecl CMetaEnumerator::Pop(void) __ptr64
-?Pop@CMetaEnumerator@@QEAAXXZ
-; public: virtual int __cdecl CFileChooser::ProcessWindowMessage(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64,unsigned long) __ptr64
-?ProcessWindowMessage@CFileChooser@@UEAAHPEAUHWND__@@I_K_JAEA_JK@Z
-; public: void __cdecl CMetaEnumerator::Push(void) __ptr64
-?Push@CMetaEnumerator@@QEAAXXZ
-; public: void __cdecl CStringListEx::PushBack(unsigned short const * __ptr64) __ptr64
-?PushBack@CStringListEx@@QEAAXPEBG@Z
-; public: unsigned long __cdecl CIISApplication::QueryAppState(void)const  __ptr64
-?QueryAppState@CIISApplication@@QEBAKXZ
-; public: class CComAuthInfo * __ptr64 __cdecl CIISInterface::QueryAuthInfo(void) __ptr64
-?QueryAuthInfo@CIISInterface@@QEAAPEAVCComAuthInfo@@XZ
-; public: unsigned long __cdecl CMetaKey::QueryFlags(void)const  __ptr64
-?QueryFlags@CMetaKey@@QEBAKXZ
-; public: unsigned short const * __ptr64 __cdecl CMetaKey::QueryMetaPath(void)const  __ptr64
-?QueryMetaPath@CMetaKey@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CMetabasePath::QueryMetaPath(void)const  __ptr64
-?QueryMetaPath@CMetabasePath@@QEBAPEBGXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryPassword(void)const  __ptr64
-?QueryPassword@CComAuthInfo@@QEBAPEAGXZ
-; public: virtual long __cdecl CIISApplication::QueryResult(void)const  __ptr64
-?QueryResult@CIISApplication@@UEBAJXZ
-; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
-?QueryResult@CIISInterface@@UEBAJXZ
-; public: virtual long __cdecl CMetaBack::QueryResult(void)const  __ptr64
-?QueryResult@CMetaBack@@UEBAJXZ
-; public: virtual long __cdecl CMetaKey::QueryResult(void)const  __ptr64
-?QueryResult@CMetaKey@@UEBAJXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryServerName(void)const  __ptr64
-?QueryServerName@CComAuthInfo@@QEBAPEAGXZ
-; public: unsigned short const * __ptr64 __cdecl CIISInterface::QueryServerName(void)const  __ptr64
-?QueryServerName@CIISInterface@@QEBAPEBGXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryUserName(void)const  __ptr64
-?QueryUserName@CComAuthInfo@@QEBAPEAGXZ
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,int & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAHPEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,unsigned long & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAKPEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class ATL::CComBSTR & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCComBSTR@ATL@@PEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBGPEAK@Z
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAVCStringListEx@@PEAHPEBGPEAK@Z
-; public: unsigned short const * __ptr64 __cdecl CIISApplication::QueryWamPath(void)const  __ptr64
-?QueryWamPath@CIISApplication@@QEBAPEBGXZ
-; public: long __cdecl CMetaKey::ReOpen(unsigned long) __ptr64
-?ReOpen@CMetaKey@@QEAAJK@Z
-; public: long __cdecl CMetaKey::ReOpen(void) __ptr64
-?ReOpen@CMetaKey@@QEAAJXZ
-; public: long __cdecl CIISSvcControl::Reboot(unsigned long,int) __ptr64
-?Reboot@CIISSvcControl@@QEAAJKH@Z
-; public: long __cdecl CIISApplication::Recover(int) __ptr64
-?Recover@CIISApplication@@QEAAJH@Z
-; public: __int64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::ReflectNotifications(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
-?ReflectNotifications@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA_JI_K_JAEAH@Z
-; public: long __cdecl CIISApplication::RefreshAppState(void) __ptr64
-?RefreshAppState@CIISApplication@@QEAAJXZ
-; public: long __cdecl CMetaInterface::Regenerate(void) __ptr64
-?Regenerate@CMetaInterface@@QEAAJXZ
-; public: static void __cdecl CError::RegisterFacility(unsigned long,char const * __ptr64)
-?RegisterFacility@CError@@SAXKPEBD@Z
-; public: void __cdecl CError::RemoveAllOverrides(void) __ptr64
-?RemoveAllOverrides@CError@@QEAAXXZ
-; public: void __cdecl CComAuthInfo::RemoveImpersonation(void) __ptr64
-?RemoveImpersonation@CComAuthInfo@@QEAAXXZ
-; public: void __cdecl CError::RemoveOverride(long) __ptr64
-?RemoveOverride@CError@@QEAAXJ@Z
-; public: void __cdecl CFileChooser::RemoveStyle(unsigned long) __ptr64
-?RemoveStyle@CFileChooser@@QEAAXK@Z
-; protected: long __cdecl CMetaInterface::RenameKey(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?RenameKey@CMetaInterface@@IEAAJKPEBG0@Z
-; public: long __cdecl CMetaKey::RenameKey(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?RenameKey@CMetaKey@@QEAAJPEBG0@Z
-; public: void __cdecl CError::Reset(void) __ptr64
-?Reset@CError@@QEAAXXZ
-; public: void __cdecl CMetaBack::Reset(void) __ptr64
-?Reset@CMetaBack@@QEAAXXZ
-; public: void __cdecl CMetaEnumerator::Reset(unsigned long) __ptr64
-?Reset@CMetaEnumerator@@QEAAXK@Z
-; public: long __cdecl CMetaBack::Restore(unsigned short const * __ptr64,unsigned long) __ptr64
-?Restore@CMetaBack@@QEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?Restore@CMetaInterface@@IEAAJPEBGKK@Z
-; public: int __cdecl IIS::CString::ReverseFind(unsigned short)const  __ptr64
-?ReverseFind@CString@IIS@@QEBAHG@Z
-; public: class IIS::CString  __cdecl IIS::CString::Right(int)const  __ptr64
-?Right@CString@IIS@@QEBA?AV12@H@Z
-; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
-?SaveData@CMetaInterface@@QEAAJXZ
-; public: void __cdecl IIS::CString::SetAt(int,unsigned short) __ptr64
-?SetAt@CString@IIS@@QEAAXHG@Z
-; protected: void __cdecl CFileChooser::SetCompactedPath(unsigned short const * __ptr64) __ptr64
-?SetCompactedPath@CFileChooser@@IEAAXPEBG@Z
-; protected: void __cdecl CComAuthInfo::SetComputerNameW(unsigned short const * __ptr64) __ptr64
-?SetComputerNameW@CComAuthInfo@@IEAAXPEBG@Z
-; protected: long __cdecl CMetaInterface::SetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64) __ptr64
-?SetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@@Z
-; public: void __cdecl CFileChooser::SetDialogTitle(unsigned short const * __ptr64) __ptr64
-?SetDialogTitle@CFileChooser@@QEAAXPEBG@Z
-; public: void __cdecl CComAuthInfo::SetImpersonation(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetImpersonation@CComAuthInfo@@QEAAXPEBG0@Z
-; protected: long __cdecl CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
-?SetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
-; public: void __cdecl CError::SetLastWinError(void)const  __ptr64
-?SetLastWinError@CError@@QEBAXXZ
-; public: void __cdecl CFileChooser::SetOfnFlags(unsigned long) __ptr64
-?SetOfnFlags@CFileChooser@@QEAAXK@Z
-; public: void __cdecl CFileChooser::SetPath(class IIS::CString const & __ptr64) __ptr64
-?SetPath@CFileChooser@@QEAAXAEBVCString@IIS@@@Z
-; protected: void __cdecl CFileChooser::SetPathToEdit(unsigned short const * __ptr64) __ptr64
-?SetPathToEdit@CFileChooser@@IEAAXPEBG@Z
-; protected: long __cdecl CMetaKey::SetPropertyValue(unsigned long,unsigned long,void * __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetPropertyValue@CMetaKey@@IEAAJKKPEAXPEAHPEBG@Z
-; public: unsigned long __cdecl CFileChooser::SetStyle(unsigned long) __ptr64
-?SetStyle@CFileChooser@@QEAAKK@Z
-; public: void __cdecl CBlob::SetValue(unsigned long,unsigned char * __ptr64,int) __ptr64
-?SetValue@CBlob@@QEAAXKPEAEH@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCStringListEx@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,int,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKHPEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,unsigned long,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKKPEAHPEBG@Z
-; public: class IIS::CString  __cdecl IIS::CString::SpanExcluding(unsigned short const * __ptr64)const  __ptr64
-?SpanExcluding@CString@IIS@@QEBA?AV12@PEBG@Z
-; public: class IIS::CString  __cdecl IIS::CString::SpanIncluding(unsigned short const * __ptr64)const  __ptr64
-?SpanIncluding@CString@IIS@@QEBA?AV12@PEBG@Z
-; public: static void __cdecl CMetabasePath::SplitMetaPathAtInstance(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString & __ptr64)
-?SplitMetaPathAtInstance@CMetabasePath@@SAXPEBGAEAVCString@IIS@@1@Z
-; public: static int __cdecl CComAuthInfo::SplitUserNameAndDomain(class IIS::CString & __ptr64,class IIS::CString & __ptr64)
-?SplitUserNameAndDomain@CComAuthInfo@@SAHAEAVCString@IIS@@0@Z
-; public: long __cdecl CIISSvcControl::Start(unsigned long) __ptr64
-?Start@CIISSvcControl@@QEAAJK@Z
-; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::StartWindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?StartWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
-; public: long __cdecl CIISSvcControl::Status(unsigned long,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?Status@CIISSvcControl@@QEAAJKPEAEPEAK1@Z
-; public: long __cdecl CIISSvcControl::Stop(unsigned long,int) __ptr64
-?Stop@CIISSvcControl@@QEAAJKH@Z
-; public: void __cdecl CComAuthInfo::StorePassword(unsigned short const * __ptr64) __ptr64
-?StorePassword@CComAuthInfo@@QEAAXPEBG@Z
-; public: int __cdecl CFileChooser::StyleBitSet(unsigned long) __ptr64
-?StyleBitSet@CFileChooser@@QEAAHK@Z
-; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::SubclassWindow(struct HWND__ * __ptr64) __ptr64
-?SubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHPEAUHWND__@@@Z
-; public: int __cdecl CError::Succeeded(void)const  __ptr64
-?Succeeded@CError@@QEBAHXZ
-; public: static int __cdecl CError::Succeeded(long)
-?Succeeded@CError@@SAHJ@Z
-; public: virtual int __cdecl CIISApplication::Succeeded(void)const  __ptr64
-?Succeeded@CIISApplication@@UEBAHXZ
-; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
-?Succeeded@CIISInterface@@UEBAHXZ
-; public: virtual int __cdecl CMetaBack::Succeeded(void)const  __ptr64
-?Succeeded@CMetaBack@@UEBAHXZ
-; public: virtual int __cdecl CMetaKey::Succeeded(void)const  __ptr64
-?Succeeded@CMetaKey@@UEBAHXZ
-; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
-?SupportsPooledProc@CWamInterface@@QEBAHXZ
-; public: long __cdecl CError::TextFromHRESULT(class IIS::CString & __ptr64)const  __ptr64
-?TextFromHRESULT@CError@@QEBAJAEAVCString@IIS@@@Z
-; public: long __cdecl CError::TextFromHRESULT(unsigned short * __ptr64,unsigned long)const  __ptr64
-?TextFromHRESULT@CError@@QEBAJPEAGK@Z
-; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(class IIS::CString & __ptr64)const  __ptr64
-?TextFromHRESULTExpand@CError@@QEBAPEBGAEAVCString@IIS@@@Z
-; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(unsigned short * __ptr64,unsigned long,long * __ptr64)const  __ptr64
-?TextFromHRESULTExpand@CError@@QEBAPEBGPEAGKPEAJ@Z
-; public: void __cdecl IIS::CString::TrimLeft(void) __ptr64
-?TrimLeft@CString@IIS@@QEAAXXZ
-; public: void __cdecl IIS::CString::TrimRight(void) __ptr64
-?TrimRight@CString@IIS@@QEAAXXZ
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::TruncatePath(int,unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?TruncatePath@CMetabasePath@@SAPEBGHPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: long __cdecl CIISApplication::Unload(int) __ptr64
-?Unload@CIISApplication@@QEAAJH@Z
-; public: static void __cdecl CError::UnregisterFacility(unsigned long)
-?UnregisterFacility@CError@@SAXK@Z
-; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::UnsubclassWindow(int) __ptr64
-?UnsubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@H@Z
-; public: int __cdecl CComAuthInfo::UsesImpersonation(void)const  __ptr64
-?UsesImpersonation@CComAuthInfo@@QEBAHXZ
-; public: static unsigned long __cdecl CComAuthInfo::VerifyUserPassword(unsigned short const * __ptr64,unsigned short const * __ptr64)
-?VerifyUserPassword@CComAuthInfo@@SAKPEBG0@Z
-; public: unsigned long __cdecl CError::Win32Error(void)const  __ptr64
-?Win32Error@CError@@QEBAKXZ
-; public: static unsigned long __cdecl CError::Win32Error(long)
-?Win32Error@CError@@SAKJ@Z
-; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::WindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?WindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
-; public: long __cdecl CIISApplication::WriteFriendlyName(unsigned short const * __ptr64) __ptr64
-?WriteFriendlyName@CIISApplication@@QEAAJPEBG@Z
-; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Buynode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
-?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAPEAU_Node@12@PEAU312@0@Z
-; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Freenode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
-?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXPEAU_Node@12@@Z
-; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXViterator@12@AEAV12@00@Z
-; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const  __ptr64
-?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEBAXXZ
-; protected: static class IIS::CString const  CMetabasePath::_anySep
-?_anySep@CMetabasePath@@1VCString@IIS@@B DATA
-; protected: static unsigned short const  CMetabasePath::_chSep
-?_chSep@CMetabasePath@@1GB
-; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszMachine
-?_cszMachine@CMetabasePath@@1QEBGEB
-; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszRoot
-?_cszRoot@CMetabasePath@@1QEBGEB
-; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszSep
-?_cszSep@CMetabasePath@@1QEBGEB
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
-?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXVconst_iterator@12@0@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned __int64,class IIS::CString const & __ptr64) __ptr64
-?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KAEBVCString@IIS@@@Z
-; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void) __ptr64
-?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
-; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const  __ptr64
-?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void) __ptr64
-?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const  __ptr64
-?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void) __ptr64
-?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: bool __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const  __ptr64
-?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_NXZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void) __ptr64
-?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const  __ptr64
-?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@0@Z
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@@Z
-; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void) __ptr64
-?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
-; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const  __ptr64
-?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
-; public: class std::allocator<class IIS::CString>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const  __ptr64
-?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$allocator@VCString@IIS@@@2@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const & __ptr64) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@AEBVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const * __ptr64,class IIS::CString const * __ptr64) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@PEBVCString@IIS@@1@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@Vconst_iterator@12@1@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,unsigned __int64,class IIS::CString const & __ptr64) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@_KAEBVCString@IIS@@@Z
-; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const  __ptr64
-?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
-?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,struct std::greater<class IIS::CString>) __ptr64
-?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@U?$greater@VCString@IIS@@@2@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void) __ptr64
-?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void) __ptr64
-?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const & __ptr64) __ptr64
-?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const & __ptr64) __ptr64
-?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void) __ptr64
-?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const  __ptr64
-?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const & __ptr64) __ptr64
-?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >) __ptr64
-?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXV?$binder2nd@U?$not_equal_to@VCString@IIS@@@std@@@2@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void) __ptr64
-?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const  __ptr64
-?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned __int64,class IIS::CString) __ptr64
-?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void) __ptr64
-?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; protected: static unsigned long  CError::s_cdwFacilities
-?s_cdwFacilities@CError@@1KA DATA
-; protected: static long  CError::s_cdwMaxLMErr
-?s_cdwMaxLMErr@CError@@1JA DATA
-; protected: static long  CError::s_cdwMaxWSErr
-?s_cdwMaxWSErr@CError@@1JA DATA
-; protected: static long  CError::s_cdwMinLMErr
-?s_cdwMinLMErr@CError@@1JA DATA
-; protected: static long  CError::s_cdwMinWSErr
-?s_cdwMinWSErr@CError@@1JA DATA
-; protected: static unsigned short const  CError::s_chEscNumber
-?s_chEscNumber@CError@@1GB
-; protected: static unsigned short const  CError::s_chEscText
-?s_chEscText@CError@@1GB
-; protected: static unsigned short const  CError::s_chEscape
-?s_chEscape@CError@@1GB
-; protected: static unsigned short const * __ptr64 *  CError::s_cszFacility
-?s_cszFacility@CError@@1PAPEBGA DATA
-; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszLMDLL
-?s_cszLMDLL@CError@@1PEBGEB DATA
-; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszWSDLL
-?s_cszWSDLL@CError@@1PEBGEB DATA
-; protected: static int  CError::s_fAllocated
-?s_fAllocated@CError@@1HA DATA
-; protected: static class CFacilityMap * __ptr64  __ptr64 CError::s_pmapFacilities
-?s_pmapFacilities@CError@@1PEAVCFacilityMap@@EA DATA
-; protected: static class IIS::CString * __ptr64  __ptr64 CError::s_pstrDefError
-?s_pstrDefError@CError@@1PEAVCString@IIS@@EA DATA
-; protected: static class IIS::CString * __ptr64  __ptr64 CError::s_pstrDefSuccs
-?s_pstrDefSuccs@CError@@1PEAVCString@IIS@@EA DATA
-; protected: static struct CMetaKey::tagMDFIELDDEF const * const  CMetaKey::s_rgMetaTable
-?s_rgMetaTable@CMetaKey@@1QBUtagMDFIELDDEF@1@B
-; protected: static unsigned short const * __ptr64 const  __ptr64 CMetaBack::s_szMasterAppRoot
-?s_szMasterAppRoot@CMetaBack@@1QEBGEB
-; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const  __ptr64
-?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>) __ptr64
-?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$greater@VCString@IIS@@@2@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void) __ptr64
-?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@00@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@0@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
-?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>) __ptr64
-?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$not_equal_to@VCString@IIS@@@2@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void) __ptr64
-?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; struct _ATL_WNDCLASSINFOW  `public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)'::`2'::wc
-?wc@?1??GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ@4U4@A DATA
+; 
+; Exports of file uihelper.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY uihelper.DLL
+EXPORTS
+; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
+??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@AEBV01@@Z
+; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
+??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
+; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
+??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@AEBV01@@Z
+; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
+??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
+; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(class CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
+??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@AEBV01@@Z
+; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(void) __ptr64
+??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class IIS::CString const * __ptr64,class IIS::CString const * __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@PEBVCString@IIS@@0AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@Vconst_iterator@01@0AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned __int64,class IIS::CString const & __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@_KAEBVCString@IIS@@AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl CBlob::CBlob(class CBlob const & __ptr64) __ptr64
+??0CBlob@@QEAA@AEBV0@@Z
+; public: __cdecl CBlob::CBlob(unsigned long,unsigned char * __ptr64,int) __ptr64
+??0CBlob@@QEAA@KPEAEH@Z
+; public: __cdecl CBlob::CBlob(void) __ptr64
+??0CBlob@@QEAA@XZ
+; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo & __ptr64) __ptr64
+??0CComAuthInfo@@QEAA@AEAV0@@Z
+; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo * __ptr64) __ptr64
+??0CComAuthInfo@@QEAA@PEAV0@@Z
+; public: __cdecl CComAuthInfo::CComAuthInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CComAuthInfo@@QEAA@PEBG00@Z
+; public: __cdecl CError::CError(class CError const & __ptr64) __ptr64
+??0CError@@QEAA@AEBV0@@Z
+; public: __cdecl CError::CError(long) __ptr64
+??0CError@@QEAA@J@Z
+; public: __cdecl CError::CError(unsigned long) __ptr64
+??0CError@@QEAA@K@Z
+; public: __cdecl CError::CError(void) __ptr64
+??0CError@@QEAA@XZ
+; public: __cdecl CFileChooser::CFileChooser(class CFileChooser const & __ptr64) __ptr64
+??0CFileChooser@@QEAA@AEBV0@@Z
+; public: __cdecl CFileChooser::CFileChooser(void) __ptr64
+??0CFileChooser@@QEAA@XZ
+; public: __cdecl CIISApplication::CIISApplication(class CIISApplication & __ptr64) __ptr64
+??0CIISApplication@@QEAA@AEAV0@@Z
+; public: __cdecl CIISApplication::CIISApplication(class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CIISApplication@@QEAA@PEAVCComAuthInfo@@PEBG@Z
+; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
+??0CIISInterface@@QEAA@AEAV0@@Z
+; public: __cdecl CIISInterface::CIISInterface(class CComAuthInfo * __ptr64,long) __ptr64
+??0CIISInterface@@QEAA@PEAVCComAuthInfo@@J@Z
+; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
+??0CIISSvcControl@@QEAA@AEAV0@@Z
+; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl * __ptr64) __ptr64
+??0CIISSvcControl@@QEAA@PEAV0@@Z
+; public: __cdecl CIISSvcControl::CIISSvcControl(class CComAuthInfo * __ptr64) __ptr64
+??0CIISSvcControl@@QEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
+??0CMetaBack@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaBack::CMetaBack(class CComAuthInfo * __ptr64) __ptr64
+??0CMetaBack@@QEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
+??0CMetaEnumerator@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(int,class CMetaKey * __ptr64) __ptr64
+??0CMetaEnumerator@@QEAA@HPEAVCMetaKey@@@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0CMetaEnumerator@@QEAA@PEAVCComAuthInfo@@PEBGK@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0CMetaEnumerator@@QEAA@PEAVCMetaInterface@@PEBGK@Z
+; protected: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface * __ptr64) __ptr64
+??0CMetaInterface@@IEAA@PEAV0@@Z
+; protected: __cdecl CMetaInterface::CMetaInterface(class CComAuthInfo * __ptr64) __ptr64
+??0CMetaInterface@@IEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface & __ptr64) __ptr64
+??0CMetaInterface@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CMetaKey & __ptr64) __ptr64
+??0CMetaKey@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaKey::CMetaKey(int,class CMetaKey * __ptr64) __ptr64
+??0CMetaKey@@QEAA@HPEAV0@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64) __ptr64
+??0CMetaKey@@QEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+??0CMetaKey@@QEAA@PEAVCComAuthInfo@@PEBGKK@Z
+; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64) __ptr64
+??0CMetaKey@@QEAA@PEAVCMetaInterface@@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+??0CMetaKey@@QEAA@PEAVCMetaInterface@@PEBGKK@Z
+; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
+??0CMetabasePath@@QEAA@AEBV0@@Z
+; public: __cdecl CMetabasePath::CMetabasePath(int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CMetabasePath@@QEAA@HPEBG000@Z
+; public: __cdecl CMetabasePath::CMetabasePath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CMetabasePath@@QEAA@PEBGK00@Z
+; public: __cdecl CStrPassword::CStrPassword(class CStrPassword & __ptr64) __ptr64
+??0CStrPassword@@QEAA@AEAV0@@Z
+; public: __cdecl CStrPassword::CStrPassword(unsigned short * __ptr64) __ptr64
+??0CStrPassword@@QEAA@PEAG@Z
+; public: __cdecl CStrPassword::CStrPassword(unsigned short const * __ptr64) __ptr64
+??0CStrPassword@@QEAA@PEBG@Z
+; public: __cdecl CStrPassword::CStrPassword(void) __ptr64
+??0CStrPassword@@QEAA@XZ
+; public: __cdecl IIS::CString::CString(class CString::CString const & __ptr64) __ptr64
+??0CString@IIS@@QEAA@AEBV01@@Z
+; public: __cdecl IIS::CString::CString(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
+??0CString@IIS@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z
+; public: __cdecl IIS::CString::CString(class ATL::CComBSTR const & __ptr64) __ptr64
+??0CString@IIS@@QEAA@AEBVCComBSTR@ATL@@@Z
+; public: __cdecl IIS::CString::CString(unsigned short,int) __ptr64
+??0CString@IIS@@QEAA@GH@Z
+; public: __cdecl IIS::CString::CString(char const * __ptr64) __ptr64
+??0CString@IIS@@QEAA@PEBD@Z
+; public: __cdecl IIS::CString::CString(unsigned short const * __ptr64) __ptr64
+??0CString@IIS@@QEAA@PEBG@Z
+; public: __cdecl IIS::CString::CString(void) __ptr64
+??0CString@IIS@@QEAA@XZ
+; public: __cdecl CStringListEx::CStringListEx(class CStringListEx const & __ptr64) __ptr64
+??0CStringListEx@@QEAA@AEBV0@@Z
+; public: __cdecl CStringListEx::CStringListEx(void) __ptr64
+??0CStringListEx@@QEAA@XZ
+; protected: __cdecl CWamInterface::CWamInterface(class CWamInterface * __ptr64) __ptr64
+??0CWamInterface@@IEAA@PEAV0@@Z
+; protected: __cdecl CWamInterface::CWamInterface(class CComAuthInfo * __ptr64) __ptr64
+??0CWamInterface@@IEAA@PEAVCComAuthInfo@@@Z
+; public: __cdecl CWamInterface::CWamInterface(class CWamInterface & __ptr64) __ptr64
+??0CWamInterface@@QEAA@AEAV0@@Z
+; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
+??1?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
+; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
+??1?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
+; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::~CWindowImplRoot<class ATL::CWindow>(void) __ptr64
+??1?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void) __ptr64
+??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@XZ
+; public: __cdecl CBlob::~CBlob(void) __ptr64
+??1CBlob@@QEAA@XZ
+; public: __cdecl CComAuthInfo::~CComAuthInfo(void) __ptr64
+??1CComAuthInfo@@QEAA@XZ
+; public: __cdecl CError::~CError(void) __ptr64
+??1CError@@QEAA@XZ
+; public: __cdecl CFileChooser::~CFileChooser(void) __ptr64
+??1CFileChooser@@QEAA@XZ
+; public: virtual __cdecl CIISApplication::~CIISApplication(void) __ptr64
+??1CIISApplication@@UEAA@XZ
+; public: __cdecl CIISInterface::~CIISInterface(void) __ptr64
+??1CIISInterface@@QEAA@XZ
+; public: virtual __cdecl CIISSvcControl::~CIISSvcControl(void) __ptr64
+??1CIISSvcControl@@UEAA@XZ
+; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
+??1CMetaBack@@UEAA@XZ
+; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
+??1CMetaEnumerator@@UEAA@XZ
+; public: virtual __cdecl CMetaInterface::~CMetaInterface(void) __ptr64
+??1CMetaInterface@@UEAA@XZ
+; public: virtual __cdecl CMetaKey::~CMetaKey(void) __ptr64
+??1CMetaKey@@UEAA@XZ
+; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
+??1CMetabasePath@@QEAA@XZ
+; public: __cdecl CStrPassword::~CStrPassword(void) __ptr64
+??1CStrPassword@@QEAA@XZ
+; public: __cdecl IIS::CString::~CString(void) __ptr64
+??1CString@IIS@@QEAA@XZ
+; public: __cdecl CStringListEx::~CStringListEx(void) __ptr64
+??1CStringListEx@@QEAA@XZ
+; public: virtual __cdecl CWamInterface::~CWamInterface(void) __ptr64
+??1CWamInterface@@UEAA@XZ
+; public: class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
+??4?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAAEAV01@AEBV01@@Z
+; public: class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
+??4?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAAEAV01@AEBV01@@Z
+; public: class ATL::CWindowImplRoot<class ATL::CWindow> & __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::operator=(class ATL::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
+??4?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAAAEAV01@AEBV01@@Z
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::operator=(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
+??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class CBlob & __ptr64 __cdecl CBlob::operator=(class CBlob const & __ptr64) __ptr64
+??4CBlob@@QEAAAEAV0@AEBV0@@Z
+; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo & __ptr64) __ptr64
+??4CComAuthInfo@@QEAAAEAV0@AEAV0@@Z
+; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo * __ptr64) __ptr64
+??4CComAuthInfo@@QEAAAEAV0@PEAV0@@Z
+; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(unsigned short const * __ptr64) __ptr64
+??4CComAuthInfo@@QEAAAEAV0@PEBG@Z
+; public: class CError const & __ptr64 __cdecl CError::operator=(class CError const & __ptr64) __ptr64
+??4CError@@QEAAAEBV0@AEBV0@@Z
+; public: class CError const & __ptr64 __cdecl CError::operator=(long) __ptr64
+??4CError@@QEAAAEBV0@J@Z
+; public: class CFileChooser & __ptr64 __cdecl CFileChooser::operator=(class CFileChooser const & __ptr64) __ptr64
+??4CFileChooser@@QEAAAEAV0@AEBV0@@Z
+; public: class CIISApplication & __ptr64 __cdecl CIISApplication::operator=(class CIISApplication & __ptr64) __ptr64
+??4CIISApplication@@QEAAAEAV0@AEAV0@@Z
+; public: class CIISInterface & __ptr64 __cdecl CIISInterface::operator=(class CIISInterface & __ptr64) __ptr64
+??4CIISInterface@@QEAAAEAV0@AEAV0@@Z
+; public: class CIISSvcControl & __ptr64 __cdecl CIISSvcControl::operator=(class CIISSvcControl & __ptr64) __ptr64
+??4CIISSvcControl@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaBack & __ptr64 __cdecl CMetaBack::operator=(class CMetaBack & __ptr64) __ptr64
+??4CMetaBack@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaEnumerator & __ptr64 __cdecl CMetaEnumerator::operator=(class CMetaEnumerator & __ptr64) __ptr64
+??4CMetaEnumerator@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaInterface & __ptr64 __cdecl CMetaInterface::operator=(class CMetaInterface & __ptr64) __ptr64
+??4CMetaInterface@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaKey & __ptr64 __cdecl CMetaKey::operator=(class CMetaKey & __ptr64) __ptr64
+??4CMetaKey@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetabasePath & __ptr64 __cdecl CMetabasePath::operator=(class CMetabasePath const & __ptr64) __ptr64
+??4CMetabasePath@@QEAAAEAV0@AEBV0@@Z
+; public: class CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(class CStrPassword & __ptr64) __ptr64
+??4CStrPassword@@QEAAAEBV0@AEAV0@@Z
+; public: class CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(unsigned short const * __ptr64) __ptr64
+??4CStrPassword@@QEAAAEBV0@PEBG@Z
+; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(class IIS::CString const & __ptr64) __ptr64
+??4CString@IIS@@QEAAAEBV01@AEBV01@@Z
+; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(char) __ptr64
+??4CString@IIS@@QEAAAEBV01@D@Z
+; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(unsigned short) __ptr64
+??4CString@IIS@@QEAAAEBV01@G@Z
+; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(unsigned char const * __ptr64) __ptr64
+??4CString@IIS@@QEAAAEBV01@PEBE@Z
+; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(unsigned short const * __ptr64) __ptr64
+??4CString@IIS@@QEAAAEBV01@PEBG@Z
+; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringListEx const & __ptr64) __ptr64
+??4CStringListEx@@QEAAAEAV0@AEBV0@@Z
+; public: class CWamInterface & __ptr64 __cdecl CWamInterface::operator=(class CWamInterface & __ptr64) __ptr64
+??4CWamInterface@@QEAAAEAV0@AEAV0@@Z
+; public: int __cdecl CBlob::operator==(class CBlob const & __ptr64)const  __ptr64
+??8CBlob@@QEBAHAEBV0@@Z
+; public: int const  __cdecl CError::operator==(class CError & __ptr64) __ptr64
+??8CError@@QEAA?BHAEAV0@@Z
+; public: int const  __cdecl CError::operator==(long) __ptr64
+??8CError@@QEAA?BHJ@Z
+; public: bool __cdecl CStrPassword::operator==(class CStrPassword & __ptr64) __ptr64
+??8CStrPassword@@QEAA_NAEAV0@@Z
+; public: int __cdecl CBlob::operator!=(class CBlob const & __ptr64)const  __ptr64
+??9CBlob@@QEBAHAEBV0@@Z
+; public: int const  __cdecl CError::operator!=(class CError & __ptr64) __ptr64
+??9CError@@QEAA?BHAEAV0@@Z
+; public: int const  __cdecl CError::operator!=(long) __ptr64
+??9CError@@QEAA?BHJ@Z
+; public: bool __cdecl CStrPassword::operator!=(class CStrPassword & __ptr64) __ptr64
+??9CStrPassword@@QEAA_NAEAV0@@Z
+; public: unsigned short __cdecl IIS::CString::operator[](int)const  __ptr64
+??ACString@IIS@@QEBAGH@Z
+; public: __cdecl CComAuthInfo::operator unsigned short * __ptr64(void) __ptr64
+??BCComAuthInfo@@QEAAPEAGXZ
+; public: __cdecl CComAuthInfo::operator class CComAuthInfo * __ptr64(void) __ptr64
+??BCComAuthInfo@@QEAAPEAV0@XZ
+; public: __cdecl CError::operator unsigned short const * __ptr64(void) __ptr64
+??BCError@@QEAAPEBGXZ
+; public: __cdecl CError::operator int const (void)const  __ptr64
+??BCError@@QEBA?BHXZ
+; public: __cdecl CError::operator long const (void)const  __ptr64
+??BCError@@QEBA?BJXZ
+; public: __cdecl CError::operator unsigned long const (void)const  __ptr64
+??BCError@@QEBA?BKXZ
+; public: __cdecl CIISInterface::operator int(void)const  __ptr64
+??BCIISInterface@@QEBAHXZ
+; public: __cdecl CIISInterface::operator long(void)const  __ptr64
+??BCIISInterface@@QEBAJXZ
+; public: __cdecl CMetaKey::operator int(void)const  __ptr64
+??BCMetaKey@@QEBAHXZ
+; public: __cdecl CMetaKey::operator unsigned long(void)const  __ptr64
+??BCMetaKey@@QEBAKXZ
+; public: __cdecl CMetaKey::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCMetaKey@@QEBAPEBGXZ
+; public: __cdecl CMetabasePath::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCMetabasePath@@QEBAPEBGXZ
+; public: __cdecl CStrPassword::operator class IIS::CString(void) __ptr64
+??BCStrPassword@@QEAA?AVCString@IIS@@XZ
+; public: __cdecl IIS::CString::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCString@IIS@@QEBAPEBGXZ
+; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(class IIS::CString const & __ptr64) __ptr64
+??YCString@IIS@@QEAAAEBV01@AEBV01@@Z
+; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(char) __ptr64
+??YCString@IIS@@QEAAAEBV01@D@Z
+; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(unsigned short) __ptr64
+??YCString@IIS@@QEAAAEBV01@G@Z
+; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(unsigned short const * __ptr64) __ptr64
+??YCString@IIS@@QEAAAEBV01@PEBG@Z
+; const  CFileChooser::`vftable'
+??_7CFileChooser@@6B@
+; const  CIISApplication::`vftable'{for `CMetaKey'}
+??_7CIISApplication@@6BCMetaKey@@@
+; const  CIISApplication::`vftable'{for `CWamInterface'}
+??_7CIISApplication@@6BCWamInterface@@@
+; const  CIISInterface::`vftable'
+??_7CIISInterface@@6B@
+; const  CIISSvcControl::`vftable'
+??_7CIISSvcControl@@6B@
+; const  CMetaBack::`vftable'{for `CMetaInterface'}
+??_7CMetaBack@@6BCMetaInterface@@@
+; const  CMetaBack::`vftable'{for `CWamInterface'}
+??_7CMetaBack@@6BCWamInterface@@@
+; const  CMetaEnumerator::`vftable'
+??_7CMetaEnumerator@@6B@
+; const  CMetaInterface::`vftable'
+??_7CMetaInterface@@6B@
+; const  CMetaKey::`vftable'
+??_7CMetaKey@@6B@
+; const  CWamInterface::`vftable'
+??_7CWamInterface@@6B@
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void) __ptr64
+??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl CComAuthInfo::`default constructor closure'(void) __ptr64
+??_FCComAuthInfo@@QEAAXXZ
+; public: void __cdecl CMetabasePath::`default constructor closure'(void) __ptr64
+??_FCMetabasePath@@QEAAXXZ
+; public: void __cdecl CFileChooser::AddExtension(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int) __ptr64
+?AddExtension@CFileChooser@@QEAAXPEAUHINSTANCE__@@II@Z
+; public: void __cdecl CFileChooser::AddExtension(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?AddExtension@CFileChooser@@QEAAXPEBG0@Z
+; protected: long __cdecl CMetaInterface::AddKey(unsigned long,unsigned short const * __ptr64) __ptr64
+?AddKey@CMetaInterface@@IEAAJKPEBG@Z
+; public: long __cdecl CMetaKey::AddKey(unsigned short const * __ptr64) __ptr64
+?AddKey@CMetaKey@@QEAAJPEBG@Z
+; public: unsigned int __cdecl CError::AddOverride(long,unsigned int) __ptr64
+?AddOverride@CError@@QEAAIJI@Z
+; public: void __cdecl CFileChooser::AddStyle(unsigned long) __ptr64
+?AddStyle@CFileChooser@@QEAAXK@Z
+; protected: static int __cdecl CError::AllocateStatics(void)
+?AllocateStatics@CError@@KAHXZ
+; protected: long __cdecl CWamInterface::AppCreate(unsigned short const * __ptr64,unsigned long) __ptr64
+?AppCreate@CWamInterface@@IEAAJPEBGK@Z
+; protected: long __cdecl CWamInterface::AppDelete(unsigned short const * __ptr64,int) __ptr64
+?AppDelete@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppDeleteRecoverable(unsigned short const * __ptr64,int) __ptr64
+?AppDeleteRecoverable@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppGetStatus(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?AppGetStatus@CWamInterface@@IEAAJPEBGPEAK@Z
+; protected: long __cdecl CWamInterface::AppRecover(unsigned short const * __ptr64,int) __ptr64
+?AppRecover@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppUnLoad(unsigned short const * __ptr64,int) __ptr64
+?AppUnLoad@CWamInterface@@IEAAJPEBGH@Z
+; protected: void __cdecl CMetabasePath::AppendPath(unsigned long) __ptr64
+?AppendPath@CMetabasePath@@IEAAXK@Z
+; protected: void __cdecl CMetabasePath::AppendPath(unsigned short const * __ptr64) __ptr64
+?AppendPath@CMetabasePath@@IEAAXPEBG@Z
+; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64) __ptr64
+?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@@Z
+; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64,unsigned long) __ptr64
+?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@K@Z
+; protected: virtual long __cdecl CIISSvcControl::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CIISSvcControl@@MEAAJXZ
+; protected: virtual long __cdecl CMetaBack::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CMetaBack@@MEAAJXZ
+; protected: virtual long __cdecl CMetaInterface::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CMetaInterface@@MEAAJXZ
+; protected: virtual long __cdecl CWamInterface::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CWamInterface@@MEAAJXZ
+; protected: static int __cdecl CError::AreStaticsAllocated(void)
+?AreStaticsAllocated@CError@@KAHXZ
+; public: long __cdecl CMetaBack::Backup(unsigned short const * __ptr64) __ptr64
+?Backup@CMetaBack@@QEAAJPEBG@Z
+; protected: long __cdecl CMetaInterface::Backup(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?Backup@CMetaInterface@@IEAAJPEBGKK@Z
+; protected: int __cdecl CFileChooser::BrowseForFile(class IIS::CString & __ptr64,class IIS::CString & __ptr64) __ptr64
+?BrowseForFile@CFileChooser@@IEAAHAEAVCString@IIS@@0@Z
+; protected: int __cdecl CFileChooser::BrowseForFolder(class IIS::CString & __ptr64) __ptr64
+?BrowseForFolder@CFileChooser@@IEAAHAEAVCString@IIS@@@Z
+; public: int __cdecl CFileChooser::BrowseForFolderCallback(struct HWND__ * __ptr64,unsigned int,__int64) __ptr64
+?BrowseForFolderCallback@CFileChooser@@QEAAHPEAUHWND__@@I_J@Z
+; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?BuildMetaPath@CMetabasePath@@IEAAXPEBG000@Z
+; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?BuildMetaPath@CMetabasePath@@IEAAXPEBGK00@Z
+; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
+; public: long __cdecl CMetaKey::CheckDescendants(unsigned long,class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
+?CheckDescendants@CMetaKey@@QEAAJKPEAVCComAuthInfo@@PEBG@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::CleanMetaPath(class CMetabasePath & __ptr64)
+?CleanMetaPath@CMetabasePath@@SAPEBGAEAV1@@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::CleanMetaPath(class IIS::CString & __ptr64)
+?CleanMetaPath@CMetabasePath@@SAPEBGAEAVCString@IIS@@@Z
+; public: void __cdecl CBlob::CleanUp(void) __ptr64
+?CleanUp@CBlob@@QEAAXXZ
+; public: void __cdecl CStringListEx::Clear(void) __ptr64
+?Clear@CStringListEx@@QEAAXXZ
+; private: void __cdecl CStrPassword::ClearPasswordBuffers(void) __ptr64
+?ClearPasswordBuffers@CStrPassword@@AEAAXXZ
+; public: long __cdecl CMetaKey::Close(void) __ptr64
+?Close@CMetaKey@@QEAAJXZ
+; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
+?CloseKey@CMetaInterface@@IEAAJK@Z
+; public: int __cdecl IIS::CString::Collate(unsigned short const * __ptr64)const  __ptr64
+?Collate@CString@IIS@@QEBAHPEBG@Z
+; protected: void __cdecl CIISApplication::CommonConstruct(void) __ptr64
+?CommonConstruct@CIISApplication@@IEAAXXZ
+; public: int __cdecl CStrPassword::Compare(class CStrPassword & __ptr64)const  __ptr64
+?Compare@CStrPassword@@QEBAHAEAV1@@Z
+; public: int __cdecl CStrPassword::Compare(class IIS::CString & __ptr64)const  __ptr64
+?Compare@CStrPassword@@QEBAHAEAVCString@IIS@@@Z
+; public: int __cdecl CStrPassword::Compare(unsigned short const * __ptr64)const  __ptr64
+?Compare@CStrPassword@@QEBAHPEBG@Z
+; public: int __cdecl IIS::CString::Compare(unsigned short const * __ptr64)const  __ptr64
+?Compare@CString@IIS@@QEBAHPEBG@Z
+; public: int __cdecl IIS::CString::CompareNoCase(unsigned short const * __ptr64)const  __ptr64
+?CompareNoCase@CString@IIS@@QEBAHPEBG@Z
+; protected: class CError const & __ptr64 __cdecl CError::Construct(class CError const & __ptr64) __ptr64
+?Construct@CError@@IEAAAEBV1@AEBV1@@Z
+; protected: class CError const & __ptr64 __cdecl CError::Construct(long) __ptr64
+?Construct@CError@@IEAAAEBV1@J@Z
+; public: unsigned long __cdecl CStringListEx::ConvertFromDoubleNullList(unsigned short const * __ptr64,int) __ptr64
+?ConvertFromDoubleNullList@CStringListEx@@QEAAKPEBGH@Z
+; public: unsigned long __cdecl CStringListEx::ConvertToDoubleNullList(unsigned long & __ptr64,unsigned short * __ptr64 & __ptr64) __ptr64
+?ConvertToDoubleNullList@CStringListEx@@QEAAKAEAKAEAPEAG@Z
+; public: long __cdecl CMetaKey::ConvertToParentPath(int) __ptr64
+?ConvertToParentPath@CMetaKey@@QEAAJH@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::ConvertToParentPath(class CMetabasePath & __ptr64)
+?ConvertToParentPath@CMetabasePath@@SAPEBGAEAV1@@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::ConvertToParentPath(class IIS::CString & __ptr64)
+?ConvertToParentPath@CMetabasePath@@SAPEBGAEAVCString@IIS@@@Z
+; protected: long __cdecl CMetaInterface::CopyData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
+?CopyData@CMetaInterface@@IEAAJKPEBGK0KKKH@Z
+; protected: long __cdecl CMetaInterface::CopyKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int,int) __ptr64
+?CopyKey@CMetaInterface@@IEAAJKPEBGK0HH@Z
+; public: void __cdecl CStrPassword::CopyTo(class CStrPassword & __ptr64) __ptr64
+?CopyTo@CStrPassword@@QEAAXAEAV1@@Z
+; public: void __cdecl CStrPassword::CopyTo(class IIS::CString & __ptr64) __ptr64
+?CopyTo@CStrPassword@@QEAAXAEAVCString@IIS@@@Z
+; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,void * __ptr64) __ptr64
+?Create@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIPEAX@Z
+; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,unsigned short,void * __ptr64) __ptr64
+?Create@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIGPEAX@Z
+; public: long __cdecl CIISApplication::Create(unsigned short const * __ptr64,unsigned long) __ptr64
+?Create@CIISApplication@@QEAAJPEBGK@Z
+; protected: long __cdecl CIISInterface::Create(int,struct _GUID const * __ptr64 const,struct _GUID const * __ptr64 const,int * __ptr64,struct IUnknown * __ptr64 * __ptr64) __ptr64
+?Create@CIISInterface@@IEAAJHQEBU_GUID@@0PEAHPEAPEAUIUnknown@@@Z
+; protected: long __cdecl CIISSvcControl::Create(void) __ptr64
+?Create@CIISSvcControl@@IEAAJXZ
+; protected: long __cdecl CMetaInterface::Create(void) __ptr64
+?Create@CMetaInterface@@IEAAJXZ
+; protected: long __cdecl CWamInterface::Create(void) __ptr64
+?Create@CWamInterface@@IEAAJXZ
+; protected: void __cdecl CFileChooser::CreateDefaultPathForRead(void) __ptr64
+?CreateDefaultPathForRead@CFileChooser@@IEAAXXZ
+; protected: void __cdecl CFileChooser::CreateFilter(class IIS::CString & __ptr64,class IIS::CString & __ptr64) __ptr64
+?CreateFilter@CFileChooser@@IEAAXAEAVCString@IIS@@0@Z
+; public: long __cdecl CMetaKey::CreatePathFromFailedOpen(void) __ptr64
+?CreatePathFromFailedOpen@CMetaKey@@QEAAJXZ
+; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(unsigned long)const  __ptr64
+?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@K@Z
+; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(void)const  __ptr64
+?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@XZ
+; protected: static long __cdecl CError::CvtToInternalFormat(long)
+?CvtToInternalFormat@CError@@KAJJ@Z
+; protected: static void __cdecl CError::DeAllocateStatics(void)
+?DeAllocateStatics@CError@@KAXXZ
+; long __cdecl DecryptMemoryPassword(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long)
+?DecryptMemoryPassword@@YAJPEAGPEAPEAGK@Z
+; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(unsigned int,unsigned __int64,__int64) __ptr64
+?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JI_K_J@Z
+; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(void) __ptr64
+?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JXZ
+; public: static int __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::DefaultReflectionHandler(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64)
+?DefaultReflectionHandler@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@SAHPEAUHWND__@@I_K_JAEA_J@Z
+; public: long __cdecl CIISApplication::Delete(int) __ptr64
+?Delete@CIISApplication@@QEAAJH@Z
+; public: long __cdecl CMetaBack::Delete(unsigned short const * __ptr64,unsigned long) __ptr64
+?Delete@CMetaBack@@QEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::DeleteAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?DeleteAllData@CMetaInterface@@IEAAJKPEBGKK@Z
+; protected: long __cdecl CMetaInterface::DeleteBackup(unsigned short const * __ptr64,unsigned long) __ptr64
+?DeleteBackup@CMetaInterface@@IEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteChildKeys@CMetaInterface@@IEAAJKPEBG@Z
+; protected: long __cdecl CMetaInterface::DeleteData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?DeleteData@CMetaInterface@@IEAAJKPEBGKK@Z
+; protected: long __cdecl CMetaInterface::DeleteKey(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteKey@CMetaInterface@@IEAAJKPEBG@Z
+; public: long __cdecl CMetaKey::DeleteKey(unsigned short const * __ptr64) __ptr64
+?DeleteKey@CMetaKey@@QEAAJPEBG@Z
+; public: long __cdecl CIISApplication::DeleteRecoverable(int) __ptr64
+?DeleteRecoverable@CIISApplication@@QEAAJH@Z
+; public: long __cdecl CMetaKey::DeleteValue(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteValue@CMetaKey@@QEAAJKPEBG@Z
+; public: void __cdecl CStrPassword::DestroyClearTextPassword(unsigned short * __ptr64)const  __ptr64
+?DestroyClearTextPassword@CStrPassword@@QEBAXPEAG@Z
+; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DestroyWindow(void) __ptr64
+?DestroyWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHXZ
+; public: long __cdecl CMetaKey::DoesPathExist(unsigned short const * __ptr64) __ptr64
+?DoesPathExist@CMetaKey@@QEAAJPEBG@Z
+; void __cdecl EditHideBalloon(void)
+?EditHideBalloon@@YAXXZ
+; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,unsigned int)
+?EditShowBalloon@@YAXPEAUHWND__@@PEAUHINSTANCE__@@I@Z
+; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,unsigned short const * __ptr64)
+?EditShowBalloon@@YAXPEAUHWND__@@PEBG@Z
+; __int64 __cdecl Edit_ShowBalloonTipHandler(struct HWND__ * __ptr64,unsigned short const * __ptr64)
+?Edit_ShowBalloonTipHandler@@YA_JPEAUHWND__@@PEBG@Z
+; public: void __cdecl CStrPassword::Empty(void) __ptr64
+?Empty@CStrPassword@@QEAAXXZ
+; public: void __cdecl IIS::CString::Empty(void) __ptr64
+?Empty@CString@IIS@@QEAAXXZ
+; long __cdecl EncryptMemoryPassword(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64)
+?EncryptMemoryPassword@@YAJPEAGPEAPEAGPEAK@Z
+; protected: long __cdecl CMetaInterface::EnumBackups(unsigned short * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
+?EnumBackups@CMetaInterface@@IEAAJPEAGPEAKPEAU_FILETIME@@K@Z
+; protected: long __cdecl CMetaInterface::EnumData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?EnumData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@KPEAK@Z
+; protected: long __cdecl CMetaInterface::EnumKeys(unsigned long,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
+?EnumKeys@CMetaInterface@@IEAAJKPEBGPEAGK@Z
+; protected: int __cdecl CError::ExpandEscapeCode(unsigned short * __ptr64,unsigned long,unsigned short * __ptr64 & __ptr64,class IIS::CString & __ptr64,long & __ptr64)const  __ptr64
+?ExpandEscapeCode@CError@@IEBAHPEAGKAEAPEAGAEAVCString@IIS@@AEAJ@Z
+; protected: int __cdecl CFileChooser::ExtractArgs(unsigned short * __ptr64) __ptr64
+?ExtractArgs@CFileChooser@@IEAAHPEAG@Z
+; protected: int __cdecl CFileChooser::ExtractPath(unsigned short * __ptr64) __ptr64
+?ExtractPath@CFileChooser@@IEAAHPEAG@Z
+; public: int __cdecl CError::Failed(void)const  __ptr64
+?Failed@CError@@QEBAHXZ
+; public: static int __cdecl CError::Failed(long)
+?Failed@CError@@SAHJ@Z
+; public: int __cdecl IIS::CString::Find(unsigned short)const  __ptr64
+?Find@CString@IIS@@QEBAHG@Z
+; public: int __cdecl IIS::CString::Find(unsigned short const * __ptr64)const  __ptr64
+?Find@CString@IIS@@QEBAHPEBG@Z
+; protected: static unsigned short const * __ptr64 __cdecl CError::FindFacility(unsigned long)
+?FindFacility@CError@@KAPEBGK@Z
+; public: int __cdecl IIS::CString::FindOneOf(unsigned short const * __ptr64)const  __ptr64
+?FindOneOf@CString@IIS@@QEBAHPEBG@Z
+; public: void __cdecl IIS::CString::Format(struct HINSTANCE__ * __ptr64,unsigned int,...) __ptr64
+?Format@CString@IIS@@QEAAXPEAUHINSTANCE__@@IZZ
+; public: void __cdecl IIS::CString::Format(unsigned short const * __ptr64,...) __ptr64
+?Format@CString@IIS@@QEAAXPEBGZZ
+; public: int __cdecl IIS::CString::FormatMessageW(struct HINSTANCE__ * __ptr64,unsigned int,...) __ptr64
+?FormatMessageW@CString@IIS@@QEAAHPEAUHINSTANCE__@@IZZ
+; public: int __cdecl IIS::CString::FormatMessageW(unsigned short const * __ptr64,...) __ptr64
+?FormatMessageW@CString@IIS@@QEAAHPEBGZZ
+; public: void __cdecl IIS::CString::FormatV(unsigned short const * __ptr64,char * __ptr64) __ptr64
+?FormatV@CString@IIS@@QEAAXPEBGPEAD@Z
+; public: void __cdecl CComAuthInfo::FreeServerInfoStruct(struct _COSERVERINFO * __ptr64)const  __ptr64
+?FreeServerInfoStruct@CComAuthInfo@@QEBAXPEAU_COSERVERINFO@@@Z
+; unsigned short const * __ptr64 __cdecl GenerateRegistryKey(class IIS::CString & __ptr64,unsigned short const * __ptr64)
+?GenerateRegistryKey@@YAPEBGAEAVCString@IIS@@PEBG@Z
+; public: long __cdecl CMetaInterface::GetAdminInterface2(struct IMSAdminBase2W * __ptr64 * __ptr64) __ptr64
+?GetAdminInterface2@CMetaInterface@@QEAAJPEAPEAUIMSAdminBase2W@@@Z
+; protected: long __cdecl CMetaInterface::GetAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
+?GetAllData@CMetaInterface@@IEAAJKPEBGKKKPEAK1KPEAE1@Z
+; protected: long __cdecl CMetaKey::GetAllData(unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64 * __ptr64,unsigned short const * __ptr64) __ptr64
+?GetAllData@CMetaKey@@IEAAJKKKPEAK0PEAPEAEPEBG@Z
+; public: unsigned short __cdecl IIS::CString::GetAt(int)const  __ptr64
+?GetAt@CString@IIS@@QEBAGH@Z
+; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
+?GetBase@CMetaKey@@QEBAKXZ
+; public: int __cdecl CStrPassword::GetByteLength(void)const  __ptr64
+?GetByteLength@CStrPassword@@QEBAHXZ
+; public: unsigned short * __ptr64 __cdecl CStrPassword::GetClearTextPassword(void) __ptr64
+?GetClearTextPassword@CStrPassword@@QEAAPEAGXZ
+; public: struct tagMSG const * __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::GetCurrentMessage(void)const  __ptr64
+?GetCurrentMessage@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEBAPEBUtagMSG@@XZ
+; public: unsigned char * __ptr64 __cdecl CBlob::GetData(void) __ptr64
+?GetData@CBlob@@QEAAPEAEXZ
+; protected: long __cdecl CMetaInterface::GetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long * __ptr64) __ptr64
+?GetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@PEAK@Z
+; protected: long __cdecl CMetaInterface::GetDataPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetDataPaths@CMetaInterface@@IEAAJKPEBGKKKPEAGPEAK@Z
+; public: long __cdecl CMetaKey::GetDataPaths(class CStringListEx & __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
+?GetDataPaths@CMetaKey@@QEAAJAEAVCStringListEx@@KKPEBG@Z
+; public: unsigned long __cdecl CFileChooser::GetFileName(class IIS::CString & __ptr64) __ptr64
+?GetFileName@CFileChooser@@QEAAKAEAVCString@IIS@@@Z
+; protected: int __cdecl CFileChooser::GetFilterIndex(class IIS::CString const & __ptr64) __ptr64
+?GetFilterIndex@CFileChooser@@IEAAHAEBVCString@IIS@@@Z
+; public: unsigned long __cdecl CMetaKey::GetHandle(void)const  __ptr64
+?GetHandle@CMetaKey@@QEBAKXZ
+; public: unsigned long __cdecl CMetaEnumerator::GetIndex(void) __ptr64
+?GetIndex@CMetaEnumerator@@QEAAKXZ
+; public: static unsigned long __cdecl CMetabasePath::GetInstanceNumber(unsigned short const * __ptr64)
+?GetInstanceNumber@CMetabasePath@@SAKPEBG@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetInstancePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetInstancePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: struct IMSAdminBaseW * __ptr64 __cdecl CMetaInterface::GetInterface(void) __ptr64
+?GetInterface@CMetaInterface@@QEAAPEAUIMSAdminBaseW@@XZ
+; protected: long __cdecl CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
+?GetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetLastNodeName(unsigned short const * __ptr64,class IIS::CString & __ptr64)
+?GetLastNodeName@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@@Z
+; public: void __cdecl CError::GetLastWinError(void) __ptr64
+?GetLastWinError@CError@@QEAAXXZ
+; public: int __cdecl CStrPassword::GetLength(void)const  __ptr64
+?GetLength@CStrPassword@@QEBAHXZ
+; public: int __cdecl IIS::CString::GetLength(void)const  __ptr64
+?GetLength@CString@IIS@@QEBAHXZ
+; public: static int __cdecl CMetaKey::GetMDFieldDef(unsigned long,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64)
+?GetMDFieldDef@CMetaKey@@SAHKAEAK000@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetMachinePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetMachinePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: unsigned long __cdecl CFileChooser::GetOfnFlags(void) __ptr64
+?GetOfnFlags@CFileChooser@@QEAAKXZ
+; public: static int __cdecl CMetaKey::GetPropertyDescription(unsigned long,class IIS::CString & __ptr64)
+?GetPropertyDescription@CMetaKey@@SAHKAEAVCString@IIS@@@Z
+; protected: long __cdecl CMetaKey::GetPropertyValue(unsigned long,unsigned long & __ptr64,void * __ptr64 & __ptr64,unsigned long * __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?GetPropertyValue@CMetaKey@@IEAAJKAEAKAEAPEAXPEAKPEAHPEBG2@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetRootPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetRootPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServiceInfoPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,unsigned short const * __ptr64)
+?GetServiceInfoPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@0@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServicePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetServicePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: unsigned long __cdecl CBlob::GetSize(void)const  __ptr64
+?GetSize@CBlob@@QEBAKXZ
+; int __cdecl GetSpecialPathRealPath(class IIS::CString const & __ptr64,class IIS::CString & __ptr64)
+?GetSpecialPathRealPath@@YAHAEBVCString@IIS@@AEAV12@@Z
+; public: unsigned long __cdecl CFileChooser::GetStyle(void)const  __ptr64
+?GetStyle@CFileChooser@@QEBAKXZ
+; protected: void __cdecl CFileChooser::GetText(unsigned short * __ptr64) __ptr64
+?GetText@CFileChooser@@IEAAXPEAG@Z
+; int __cdecl GetVolumeInformationSystemFlags(unsigned short const * __ptr64,unsigned long * __ptr64)
+?GetVolumeInformationSystemFlags@@YAHPEBGPEAK@Z
+; public: virtual __int64 (__cdecl*__cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWindowProc(void) __ptr64)(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?GetWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAP6A_JPEAUHWND__@@I_K_J@ZXZ
+; public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)
+?GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ
+; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndExStyle(unsigned long)
+?GetWndExStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
+; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndStyle(unsigned long)
+?GetWndStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
+; public: long __cdecl CError::HResult(void)const  __ptr64
+?HResult@CError@@QEBAJXZ
+; public: static long __cdecl CError::HResult(long)
+?HResult@CError@@SAJJ@Z
+; protected: int __cdecl CFileChooser::HasEditFocus(void) __ptr64
+?HasEditFocus@CFileChooser@@IEAAHXZ
+; protected: int __cdecl CIISSvcControl::HasInterface(void)const  __ptr64
+?HasInterface@CIISSvcControl@@IEBAHXZ
+; protected: int __cdecl CMetaInterface::HasInterface(void)const  __ptr64
+?HasInterface@CMetaInterface@@IEBAHXZ
+; protected: int __cdecl CWamInterface::HasInterface(void)const  __ptr64
+?HasInterface@CWamInterface@@IEBAHXZ
+; protected: int __cdecl CError::HasOverride(unsigned int * __ptr64)const  __ptr64
+?HasOverride@CError@@IEBAHPEAI@Z
+; public: int __cdecl CFileChooser::Init(class ATL::CWindow * __ptr64,unsigned long,unsigned int,unsigned int) __ptr64
+?Init@CFileChooser@@QEAAHPEAVCWindow@ATL@@KII@Z
+; int __cdecl IsBiDiLocalizedSystem(void)
+?IsBiDiLocalizedSystem@@YAHXZ
+; int __cdecl IsDevicePath(class IIS::CString const & __ptr64)
+?IsDevicePath@@YAHAEBVCString@IIS@@@Z
+; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
+?IsEmpty@CBlob@@QEBAHXZ
+; public: int __cdecl CStrPassword::IsEmpty(void)const  __ptr64
+?IsEmpty@CStrPassword@@QEBAHXZ
+; public: bool __cdecl IIS::CString::IsEmpty(void)const  __ptr64
+?IsEmpty@CString@IIS@@QEBA_NXZ
+; public: int __cdecl CIISApplication::IsEnabledApplication(void)const  __ptr64
+?IsEnabledApplication@CIISApplication@@QEBAHXZ
+; public: int __cdecl CMetaKey::IsHomeDirectoryPath(void)const  __ptr64
+?IsHomeDirectoryPath@CMetaKey@@QEBAHXZ
+; public: int __cdecl CMetabasePath::IsHomeDirectoryPath(void)const  __ptr64
+?IsHomeDirectoryPath@CMetabasePath@@QEBAHXZ
+; public: static int __cdecl CMetabasePath::IsHomeDirectoryPath(unsigned short const * __ptr64)
+?IsHomeDirectoryPath@CMetabasePath@@SAHPEBG@Z
+; public: int __cdecl CIISApplication::IsInproc(void)const  __ptr64
+?IsInproc@CIISApplication@@QEBAHXZ
+; public: int __cdecl CComAuthInfo::IsLocal(void)const  __ptr64
+?IsLocal@CComAuthInfo@@QEBAHXZ
+; public: int __cdecl CIISInterface::IsLocal(void)const  __ptr64
+?IsLocal@CIISInterface@@QEBAHXZ
+; public: static int __cdecl CMetabasePath::IsMasterInstance(unsigned short const * __ptr64)
+?IsMasterInstance@CMetabasePath@@SAHPEBG@Z
+; public: int __cdecl CMetaKey::IsOpen(void)const  __ptr64
+?IsOpen@CMetaKey@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsOutOfProc(void)const  __ptr64
+?IsOutOfProc@CIISApplication@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsPooledProc(void)const  __ptr64
+?IsPooledProc@CIISApplication@@QEBAHXZ
+; public: static int __cdecl CMetaKey::IsPropertyInheritable(unsigned long)
+?IsPropertyInheritable@CMetaKey@@SAHK@Z
+; public: static int __cdecl CMetabasePath::IsSeparator(unsigned short)
+?IsSeparator@CMetabasePath@@SAHG@Z
+; int __cdecl IsServerLocal(unsigned short const * __ptr64)
+?IsServerLocal@@YAHPEBG@Z
+; int __cdecl IsSpecialPath(class IIS::CString const & __ptr64,int)
+?IsSpecialPath@@YAHAEBVCString@IIS@@H@Z
+; protected: int __cdecl CFileChooser::IsValidChar(unsigned int,int) __ptr64
+?IsValidChar@CFileChooser@@IEAAHIH@Z
+; int __cdecl IsValidFilePath(struct HWND__ * __ptr64,unsigned short const * __ptr64,int)
+?IsValidFilePath@@YAHPEAUHWND__@@PEBGH@Z
+; int __cdecl IsValidFolderPath(struct HWND__ * __ptr64,unsigned short const * __ptr64,int)
+?IsValidFolderPath@@YAHPEAUHWND__@@PEBGH@Z
+; int __cdecl IsValidName(unsigned short const * __ptr64)
+?IsValidName@@YAHPEBG@Z
+; int __cdecl IsValidPath(unsigned short const * __ptr64)
+?IsValidPath@@YAHPEBG@Z
+; protected: int __cdecl CFileChooser::IsValidPath(unsigned short const * __ptr64) __ptr64
+?IsValidPath@CFileChooser@@IEAAHPEBG@Z
+; int __cdecl IsValidUNCFolderPath(struct HWND__ * __ptr64,unsigned short const * __ptr64)
+?IsValidUNCFolderPath@@YAHPEAUHWND__@@PEBG@Z
+; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
+?Kill@CIISSvcControl@@QEAAJXZ
+; public: class IIS::CString  __cdecl IIS::CString::Left(int)const  __ptr64
+?Left@CString@IIS@@QEBA?AV12@H@Z
+; public: int __cdecl IIS::CString::LoadStringW(struct HINSTANCE__ * __ptr64,unsigned int) __ptr64
+?LoadStringW@CString@IIS@@QEAAHPEAUHINSTANCE__@@I@Z
+; public: void __cdecl IIS::CString::MakeLower(void) __ptr64
+?MakeLower@CString@IIS@@QEAAXXZ
+; public: void __cdecl IIS::CString::MakeReverse(void) __ptr64
+?MakeReverse@CString@IIS@@QEAAXXZ
+; public: void __cdecl IIS::CString::MakeUpper(void) __ptr64
+?MakeUpper@CString@IIS@@QEAAXXZ
+; public: static int __cdecl CMetaKey::MapMDIDToTableIndex(unsigned long)
+?MapMDIDToTableIndex@CMetaKey@@SAHK@Z
+; public: int __cdecl CError::MessageBoxFormat(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int,unsigned int,...)const  __ptr64
+?MessageBoxFormat@CError@@QEBAHPEAUHINSTANCE__@@IIIZZ
+; public: int __cdecl CError::MessageBoxOnFailure(unsigned int,unsigned int)const  __ptr64
+?MessageBoxOnFailure@CError@@QEBAHII@Z
+; public: int __cdecl CError::MessageBoxW(unsigned int,unsigned int)const  __ptr64
+?MessageBoxW@CError@@QEBAHII@Z
+; public: class IIS::CString  __cdecl IIS::CString::Mid(int)const  __ptr64
+?Mid@CString@IIS@@QEBA?AV12@H@Z
+; public: class IIS::CString  __cdecl IIS::CString::Mid(int,int)const  __ptr64
+?Mid@CString@IIS@@QEBA?AV12@HH@Z
+; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
+?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
+; public: long __cdecl CMetaEnumerator::Next(unsigned long & __ptr64,class IIS::CString & __ptr64,unsigned short const * __ptr64) __ptr64
+?Next@CMetaEnumerator@@QEAAJAEAKAEAVCString@IIS@@PEBG@Z
+; public: long __cdecl CMetaEnumerator::Next(class IIS::CString & __ptr64,unsigned short const * __ptr64) __ptr64
+?Next@CMetaEnumerator@@QEAAJAEAVCString@IIS@@PEBG@Z
+; protected: void __cdecl CFileChooser::OnBrowseBtn(void) __ptr64
+?OnBrowseBtn@CFileChooser@@IEAAXXZ
+; public: void __cdecl CFileChooser::OnEditChange(void) __ptr64
+?OnEditChange@CFileChooser@@QEAAXXZ
+; protected: __int64 __cdecl CFileChooser::OnEditChar(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
+?OnEditChar@CFileChooser@@IEAA_JI_K_JAEAH@Z
+; protected: __int64 __cdecl CFileChooser::OnEditKillFocus(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
+?OnEditKillFocus@CFileChooser@@IEAA_JI_K_JAEAH@Z
+; protected: __int64 __cdecl CFileChooser::OnEditSetFocus(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
+?OnEditSetFocus@CFileChooser@@IEAA_JI_K_JAEAH@Z
+; public: virtual void __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::OnFinalMessage(struct HWND__ * __ptr64) __ptr64
+?OnFinalMessage@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAXPEAUHWND__@@@Z
+; public: void __cdecl CFileChooser::OnPaste(void) __ptr64
+?OnPaste@CFileChooser@@QEAAXXZ
+; protected: __int64 __cdecl CFileChooser::OnSetBrowseState(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
+?OnSetBrowseState@CFileChooser@@IEAA_JI_K_JAEAH@Z
+; public: long __cdecl CMetaKey::Open(unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
+?Open@CMetaKey@@QEAAJKPEBGK@Z
+; public: int __cdecl CFileChooser::OpenForRead(void) __ptr64
+?OpenForRead@CFileChooser@@QEAAHXZ
+; protected: long __cdecl CMetaInterface::OpenKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?OpenKey@CMetaInterface@@IEAAJKPEBGKPEAK@Z
+; public: void __cdecl CMetaEnumerator::Pop(void) __ptr64
+?Pop@CMetaEnumerator@@QEAAXXZ
+; public: virtual int __cdecl CFileChooser::ProcessWindowMessage(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64,unsigned long) __ptr64
+?ProcessWindowMessage@CFileChooser@@UEAAHPEAUHWND__@@I_K_JAEA_JK@Z
+; public: void __cdecl CMetaEnumerator::Push(void) __ptr64
+?Push@CMetaEnumerator@@QEAAXXZ
+; public: void __cdecl CStringListEx::PushBack(unsigned short const * __ptr64) __ptr64
+?PushBack@CStringListEx@@QEAAXPEBG@Z
+; public: unsigned long __cdecl CIISApplication::QueryAppState(void)const  __ptr64
+?QueryAppState@CIISApplication@@QEBAKXZ
+; public: class CComAuthInfo * __ptr64 __cdecl CIISInterface::QueryAuthInfo(void) __ptr64
+?QueryAuthInfo@CIISInterface@@QEAAPEAVCComAuthInfo@@XZ
+; public: unsigned long __cdecl CMetaKey::QueryFlags(void)const  __ptr64
+?QueryFlags@CMetaKey@@QEBAKXZ
+; public: unsigned short const * __ptr64 __cdecl CMetaKey::QueryMetaPath(void)const  __ptr64
+?QueryMetaPath@CMetaKey@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CMetabasePath::QueryMetaPath(void)const  __ptr64
+?QueryMetaPath@CMetabasePath@@QEBAPEBGXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryPassword(void)const  __ptr64
+?QueryPassword@CComAuthInfo@@QEBAPEAGXZ
+; public: virtual long __cdecl CIISApplication::QueryResult(void)const  __ptr64
+?QueryResult@CIISApplication@@UEBAJXZ
+; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
+?QueryResult@CIISInterface@@UEBAJXZ
+; public: virtual long __cdecl CMetaBack::QueryResult(void)const  __ptr64
+?QueryResult@CMetaBack@@UEBAJXZ
+; public: virtual long __cdecl CMetaKey::QueryResult(void)const  __ptr64
+?QueryResult@CMetaKey@@UEBAJXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryServerName(void)const  __ptr64
+?QueryServerName@CComAuthInfo@@QEBAPEAGXZ
+; public: unsigned short const * __ptr64 __cdecl CIISInterface::QueryServerName(void)const  __ptr64
+?QueryServerName@CIISInterface@@QEBAPEBGXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryUserName(void)const  __ptr64
+?QueryUserName@CComAuthInfo@@QEBAPEAGXZ
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,int & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAHPEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,unsigned long & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAKPEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class ATL::CComBSTR & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCComBSTR@ATL@@PEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBGPEAK@Z
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAVCStringListEx@@PEAHPEBGPEAK@Z
+; public: unsigned short const * __ptr64 __cdecl CIISApplication::QueryWamPath(void)const  __ptr64
+?QueryWamPath@CIISApplication@@QEBAPEBGXZ
+; public: long __cdecl CMetaKey::ReOpen(unsigned long) __ptr64
+?ReOpen@CMetaKey@@QEAAJK@Z
+; public: long __cdecl CMetaKey::ReOpen(void) __ptr64
+?ReOpen@CMetaKey@@QEAAJXZ
+; public: long __cdecl CIISSvcControl::Reboot(unsigned long,int) __ptr64
+?Reboot@CIISSvcControl@@QEAAJKH@Z
+; public: long __cdecl CIISApplication::Recover(int) __ptr64
+?Recover@CIISApplication@@QEAAJH@Z
+; public: __int64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::ReflectNotifications(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
+?ReflectNotifications@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA_JI_K_JAEAH@Z
+; public: long __cdecl CIISApplication::RefreshAppState(void) __ptr64
+?RefreshAppState@CIISApplication@@QEAAJXZ
+; public: long __cdecl CMetaInterface::Regenerate(void) __ptr64
+?Regenerate@CMetaInterface@@QEAAJXZ
+; public: static void __cdecl CError::RegisterFacility(unsigned long,char const * __ptr64)
+?RegisterFacility@CError@@SAXKPEBD@Z
+; public: void __cdecl CError::RemoveAllOverrides(void) __ptr64
+?RemoveAllOverrides@CError@@QEAAXXZ
+; public: void __cdecl CComAuthInfo::RemoveImpersonation(void) __ptr64
+?RemoveImpersonation@CComAuthInfo@@QEAAXXZ
+; public: void __cdecl CError::RemoveOverride(long) __ptr64
+?RemoveOverride@CError@@QEAAXJ@Z
+; public: void __cdecl CFileChooser::RemoveStyle(unsigned long) __ptr64
+?RemoveStyle@CFileChooser@@QEAAXK@Z
+; protected: long __cdecl CMetaInterface::RenameKey(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?RenameKey@CMetaInterface@@IEAAJKPEBG0@Z
+; public: long __cdecl CMetaKey::RenameKey(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?RenameKey@CMetaKey@@QEAAJPEBG0@Z
+; public: void __cdecl CError::Reset(void) __ptr64
+?Reset@CError@@QEAAXXZ
+; public: void __cdecl CMetaBack::Reset(void) __ptr64
+?Reset@CMetaBack@@QEAAXXZ
+; public: void __cdecl CMetaEnumerator::Reset(unsigned long) __ptr64
+?Reset@CMetaEnumerator@@QEAAXK@Z
+; public: long __cdecl CMetaBack::Restore(unsigned short const * __ptr64,unsigned long) __ptr64
+?Restore@CMetaBack@@QEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?Restore@CMetaInterface@@IEAAJPEBGKK@Z
+; public: int __cdecl IIS::CString::ReverseFind(unsigned short)const  __ptr64
+?ReverseFind@CString@IIS@@QEBAHG@Z
+; public: class IIS::CString  __cdecl IIS::CString::Right(int)const  __ptr64
+?Right@CString@IIS@@QEBA?AV12@H@Z
+; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
+?SaveData@CMetaInterface@@QEAAJXZ
+; public: void __cdecl IIS::CString::SetAt(int,unsigned short) __ptr64
+?SetAt@CString@IIS@@QEAAXHG@Z
+; protected: void __cdecl CFileChooser::SetCompactedPath(unsigned short const * __ptr64) __ptr64
+?SetCompactedPath@CFileChooser@@IEAAXPEBG@Z
+; protected: void __cdecl CComAuthInfo::SetComputerNameW(unsigned short const * __ptr64) __ptr64
+?SetComputerNameW@CComAuthInfo@@IEAAXPEBG@Z
+; protected: long __cdecl CMetaInterface::SetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64) __ptr64
+?SetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@@Z
+; public: void __cdecl CFileChooser::SetDialogTitle(unsigned short const * __ptr64) __ptr64
+?SetDialogTitle@CFileChooser@@QEAAXPEBG@Z
+; public: void __cdecl CComAuthInfo::SetImpersonation(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetImpersonation@CComAuthInfo@@QEAAXPEBG0@Z
+; protected: long __cdecl CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
+?SetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
+; public: void __cdecl CError::SetLastWinError(void)const  __ptr64
+?SetLastWinError@CError@@QEBAXXZ
+; public: void __cdecl CFileChooser::SetOfnFlags(unsigned long) __ptr64
+?SetOfnFlags@CFileChooser@@QEAAXK@Z
+; public: void __cdecl CFileChooser::SetPath(class IIS::CString const & __ptr64) __ptr64
+?SetPath@CFileChooser@@QEAAXAEBVCString@IIS@@@Z
+; protected: void __cdecl CFileChooser::SetPathToEdit(unsigned short const * __ptr64) __ptr64
+?SetPathToEdit@CFileChooser@@IEAAXPEBG@Z
+; protected: long __cdecl CMetaKey::SetPropertyValue(unsigned long,unsigned long,void * __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetPropertyValue@CMetaKey@@IEAAJKKPEAXPEAHPEBG@Z
+; public: unsigned long __cdecl CFileChooser::SetStyle(unsigned long) __ptr64
+?SetStyle@CFileChooser@@QEAAKK@Z
+; public: void __cdecl CBlob::SetValue(unsigned long,unsigned char * __ptr64,int) __ptr64
+?SetValue@CBlob@@QEAAXKPEAEH@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCStringListEx@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,int,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKHPEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,unsigned long,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKKPEAHPEBG@Z
+; public: class IIS::CString  __cdecl IIS::CString::SpanExcluding(unsigned short const * __ptr64)const  __ptr64
+?SpanExcluding@CString@IIS@@QEBA?AV12@PEBG@Z
+; public: class IIS::CString  __cdecl IIS::CString::SpanIncluding(unsigned short const * __ptr64)const  __ptr64
+?SpanIncluding@CString@IIS@@QEBA?AV12@PEBG@Z
+; public: static void __cdecl CMetabasePath::SplitMetaPathAtInstance(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString & __ptr64)
+?SplitMetaPathAtInstance@CMetabasePath@@SAXPEBGAEAVCString@IIS@@1@Z
+; public: static int __cdecl CComAuthInfo::SplitUserNameAndDomain(class IIS::CString & __ptr64,class IIS::CString & __ptr64)
+?SplitUserNameAndDomain@CComAuthInfo@@SAHAEAVCString@IIS@@0@Z
+; public: long __cdecl CIISSvcControl::Start(unsigned long) __ptr64
+?Start@CIISSvcControl@@QEAAJK@Z
+; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::StartWindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?StartWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
+; public: long __cdecl CIISSvcControl::Status(unsigned long,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?Status@CIISSvcControl@@QEAAJKPEAEPEAK1@Z
+; public: long __cdecl CIISSvcControl::Stop(unsigned long,int) __ptr64
+?Stop@CIISSvcControl@@QEAAJKH@Z
+; public: void __cdecl CComAuthInfo::StorePassword(unsigned short const * __ptr64) __ptr64
+?StorePassword@CComAuthInfo@@QEAAXPEBG@Z
+; public: int __cdecl CFileChooser::StyleBitSet(unsigned long) __ptr64
+?StyleBitSet@CFileChooser@@QEAAHK@Z
+; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::SubclassWindow(struct HWND__ * __ptr64) __ptr64
+?SubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHPEAUHWND__@@@Z
+; public: int __cdecl CError::Succeeded(void)const  __ptr64
+?Succeeded@CError@@QEBAHXZ
+; public: static int __cdecl CError::Succeeded(long)
+?Succeeded@CError@@SAHJ@Z
+; public: virtual int __cdecl CIISApplication::Succeeded(void)const  __ptr64
+?Succeeded@CIISApplication@@UEBAHXZ
+; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
+?Succeeded@CIISInterface@@UEBAHXZ
+; public: virtual int __cdecl CMetaBack::Succeeded(void)const  __ptr64
+?Succeeded@CMetaBack@@UEBAHXZ
+; public: virtual int __cdecl CMetaKey::Succeeded(void)const  __ptr64
+?Succeeded@CMetaKey@@UEBAHXZ
+; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
+?SupportsPooledProc@CWamInterface@@QEBAHXZ
+; public: long __cdecl CError::TextFromHRESULT(class IIS::CString & __ptr64)const  __ptr64
+?TextFromHRESULT@CError@@QEBAJAEAVCString@IIS@@@Z
+; public: long __cdecl CError::TextFromHRESULT(unsigned short * __ptr64,unsigned long)const  __ptr64
+?TextFromHRESULT@CError@@QEBAJPEAGK@Z
+; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(class IIS::CString & __ptr64)const  __ptr64
+?TextFromHRESULTExpand@CError@@QEBAPEBGAEAVCString@IIS@@@Z
+; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(unsigned short * __ptr64,unsigned long,long * __ptr64)const  __ptr64
+?TextFromHRESULTExpand@CError@@QEBAPEBGPEAGKPEAJ@Z
+; public: void __cdecl IIS::CString::TrimLeft(void) __ptr64
+?TrimLeft@CString@IIS@@QEAAXXZ
+; public: void __cdecl IIS::CString::TrimRight(void) __ptr64
+?TrimRight@CString@IIS@@QEAAXXZ
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::TruncatePath(int,unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?TruncatePath@CMetabasePath@@SAPEBGHPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: long __cdecl CIISApplication::Unload(int) __ptr64
+?Unload@CIISApplication@@QEAAJH@Z
+; public: static void __cdecl CError::UnregisterFacility(unsigned long)
+?UnregisterFacility@CError@@SAXK@Z
+; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::UnsubclassWindow(int) __ptr64
+?UnsubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@H@Z
+; public: int __cdecl CComAuthInfo::UsesImpersonation(void)const  __ptr64
+?UsesImpersonation@CComAuthInfo@@QEBAHXZ
+; public: static unsigned long __cdecl CComAuthInfo::VerifyUserPassword(unsigned short const * __ptr64,unsigned short const * __ptr64)
+?VerifyUserPassword@CComAuthInfo@@SAKPEBG0@Z
+; public: unsigned long __cdecl CError::Win32Error(void)const  __ptr64
+?Win32Error@CError@@QEBAKXZ
+; public: static unsigned long __cdecl CError::Win32Error(long)
+?Win32Error@CError@@SAKJ@Z
+; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::WindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?WindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
+; public: long __cdecl CIISApplication::WriteFriendlyName(unsigned short const * __ptr64) __ptr64
+?WriteFriendlyName@CIISApplication@@QEAAJPEBG@Z
+; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Buynode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
+?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAPEAU_Node@12@PEAU312@0@Z
+; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Freenode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
+?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXPEAU_Node@12@@Z
+; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXViterator@12@AEAV12@00@Z
+; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const  __ptr64
+?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEBAXXZ
+; protected: static class IIS::CString const  CMetabasePath::_anySep
+?_anySep@CMetabasePath@@1VCString@IIS@@B DATA
+; protected: static unsigned short const  CMetabasePath::_chSep
+?_chSep@CMetabasePath@@1GB
+; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszMachine
+?_cszMachine@CMetabasePath@@1QEBGEB
+; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszRoot
+?_cszRoot@CMetabasePath@@1QEBGEB
+; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszSep
+?_cszSep@CMetabasePath@@1QEBGEB
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
+?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXVconst_iterator@12@0@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned __int64,class IIS::CString const & __ptr64) __ptr64
+?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KAEBVCString@IIS@@@Z
+; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void) __ptr64
+?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
+; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const  __ptr64
+?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void) __ptr64
+?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const  __ptr64
+?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void) __ptr64
+?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: bool __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const  __ptr64
+?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_NXZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void) __ptr64
+?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const  __ptr64
+?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@0@Z
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@@Z
+; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void) __ptr64
+?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
+; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const  __ptr64
+?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
+; public: class std::allocator<class IIS::CString>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const  __ptr64
+?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$allocator@VCString@IIS@@@2@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const & __ptr64) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@AEBVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const * __ptr64,class IIS::CString const * __ptr64) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@PEBVCString@IIS@@1@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@Vconst_iterator@12@1@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,unsigned __int64,class IIS::CString const & __ptr64) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@_KAEBVCString@IIS@@@Z
+; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const  __ptr64
+?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
+?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,struct std::greater<class IIS::CString>) __ptr64
+?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@U?$greater@VCString@IIS@@@2@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void) __ptr64
+?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void) __ptr64
+?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const & __ptr64) __ptr64
+?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const & __ptr64) __ptr64
+?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void) __ptr64
+?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const  __ptr64
+?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const & __ptr64) __ptr64
+?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >) __ptr64
+?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXV?$binder2nd@U?$not_equal_to@VCString@IIS@@@std@@@2@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void) __ptr64
+?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const  __ptr64
+?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned __int64,class IIS::CString) __ptr64
+?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void) __ptr64
+?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; protected: static unsigned long  CError::s_cdwFacilities
+?s_cdwFacilities@CError@@1KA DATA
+; protected: static long  CError::s_cdwMaxLMErr
+?s_cdwMaxLMErr@CError@@1JA DATA
+; protected: static long  CError::s_cdwMaxWSErr
+?s_cdwMaxWSErr@CError@@1JA DATA
+; protected: static long  CError::s_cdwMinLMErr
+?s_cdwMinLMErr@CError@@1JA DATA
+; protected: static long  CError::s_cdwMinWSErr
+?s_cdwMinWSErr@CError@@1JA DATA
+; protected: static unsigned short const  CError::s_chEscNumber
+?s_chEscNumber@CError@@1GB
+; protected: static unsigned short const  CError::s_chEscText
+?s_chEscText@CError@@1GB
+; protected: static unsigned short const  CError::s_chEscape
+?s_chEscape@CError@@1GB
+; protected: static unsigned short const * __ptr64 *  CError::s_cszFacility
+?s_cszFacility@CError@@1PAPEBGA DATA
+; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszLMDLL
+?s_cszLMDLL@CError@@1PEBGEB DATA
+; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszWSDLL
+?s_cszWSDLL@CError@@1PEBGEB DATA
+; protected: static int  CError::s_fAllocated
+?s_fAllocated@CError@@1HA DATA
+; protected: static class CFacilityMap * __ptr64  __ptr64 CError::s_pmapFacilities
+?s_pmapFacilities@CError@@1PEAVCFacilityMap@@EA DATA
+; protected: static class IIS::CString * __ptr64  __ptr64 CError::s_pstrDefError
+?s_pstrDefError@CError@@1PEAVCString@IIS@@EA DATA
+; protected: static class IIS::CString * __ptr64  __ptr64 CError::s_pstrDefSuccs
+?s_pstrDefSuccs@CError@@1PEAVCString@IIS@@EA DATA
+; protected: static struct CMetaKey::tagMDFIELDDEF const * const  CMetaKey::s_rgMetaTable
+?s_rgMetaTable@CMetaKey@@1QBUtagMDFIELDDEF@1@B
+; protected: static unsigned short const * __ptr64 const  __ptr64 CMetaBack::s_szMasterAppRoot
+?s_szMasterAppRoot@CMetaBack@@1QEBGEB
+; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const  __ptr64
+?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>) __ptr64
+?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$greater@VCString@IIS@@@2@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void) __ptr64
+?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@00@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@0@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
+?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>) __ptr64
+?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$not_equal_to@VCString@IIS@@@2@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void) __ptr64
+?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; struct _ATL_WNDCLASSINFOW  `public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)'::`2'::wc
+?wc@?1??GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ@4U4@A DATA
diff --git a/mingw-w64-crt/lib64/ulib.def b/mingw-w64-crt/lib64/ulib.def
index b606cb9..18fa5cc 100644
--- a/mingw-w64-crt/lib64/ulib.def
+++ b/mingw-w64-crt/lib64/ulib.def
@@ -1,796 +1,796 @@
-; 
-; 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
+; 
+; 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
diff --git a/mingw-w64-crt/lib64/umandlg.def b/mingw-w64-crt/lib64/umandlg.def
index d62efe2..eb7b0c2 100644
--- a/mingw-w64-crt/lib64/umandlg.def
+++ b/mingw-w64-crt/lib64/umandlg.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file UMANDLG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY UMANDLG.dll
-EXPORTS
-UManDlg
+; 
+; Exports of file UMANDLG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY UMANDLG.dll
+EXPORTS
+UManDlg
diff --git a/mingw-w64-crt/lib64/umdmxfrm.def b/mingw-w64-crt/lib64/umdmxfrm.def
index e572c19..7be0c5b 100644
--- a/mingw-w64-crt/lib64/umdmxfrm.def
+++ b/mingw-w64-crt/lib64/umdmxfrm.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file umdmxfrm.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY umdmxfrm.dll
-EXPORTS
-GetXformInfo
+; 
+; Exports of file umdmxfrm.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY umdmxfrm.dll
+EXPORTS
+GetXformInfo
diff --git a/mingw-w64-crt/lib64/umpnpmgr.def b/mingw-w64-crt/lib64/umpnpmgr.def
index 26b01da..bb521bb 100644
--- a/mingw-w64-crt/lib64/umpnpmgr.def
+++ b/mingw-w64-crt/lib64/umpnpmgr.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file umpnpmgr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY umpnpmgr.dll
-EXPORTS
-DeleteServicePlugPlayRegKeys
-PNP_GetDeviceList
-PNP_GetDeviceListSize
-PNP_GetDeviceRegProp
-PNP_HwProfFlags
-PNP_SetActiveService
-RegisterScmCallback
-RegisterServiceNotification
-SvcEntry_PlugPlay
+; 
+; Exports of file umpnpmgr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY umpnpmgr.dll
+EXPORTS
+DeleteServicePlugPlayRegKeys
+PNP_GetDeviceList
+PNP_GetDeviceListSize
+PNP_GetDeviceRegProp
+PNP_HwProfFlags
+PNP_SetActiveService
+RegisterScmCallback
+RegisterServiceNotification
+SvcEntry_PlugPlay
diff --git a/mingw-w64-crt/lib64/uniime.def b/mingw-w64-crt/lib64/uniime.def
index 7081780..5c31983 100644
--- a/mingw-w64-crt/lib64/uniime.def
+++ b/mingw-w64-crt/lib64/uniime.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file UNIIME.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY UNIIME.DLL
-EXPORTS
-UniSearchPhrasePredictionA
-UniSearchPhrasePredictionW
+; 
+; Exports of file UNIIME.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY UNIIME.DLL
+EXPORTS
+UniSearchPhrasePredictionA
+UniSearchPhrasePredictionW
diff --git a/mingw-w64-crt/lib64/unimdmat.def b/mingw-w64-crt/lib64/unimdmat.def
index 4d9ecc4..e9d8e10 100644
--- a/mingw-w64-crt/lib64/unimdmat.def
+++ b/mingw-w64-crt/lib64/unimdmat.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file UNIMDMAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY UNIMDMAT.dll
-EXPORTS
-UmInitializeModemDriver
-UmDeinitializeModemDriver
-UmOpenModem
-UmCloseModem
-UmInitModem
-UmMonitorModem
-UmAnswerModem
-UmDialModem
-UmHangupModem
-UmGenerateDigit
-UmSetSpeakerPhoneState
-UmDuplicateDeviceHandle
-UmAbortCurrentModemCommand
-UmSetPassthroughMode
-UmIssueCommand
-UmWaveAction
-UmLogStringA
-UmGetDiagnostics
-UmLogDiagnostics
+; 
+; Exports of file UNIMDMAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY UNIMDMAT.dll
+EXPORTS
+UmInitializeModemDriver
+UmDeinitializeModemDriver
+UmOpenModem
+UmCloseModem
+UmInitModem
+UmMonitorModem
+UmAnswerModem
+UmDialModem
+UmHangupModem
+UmGenerateDigit
+UmSetSpeakerPhoneState
+UmDuplicateDeviceHandle
+UmAbortCurrentModemCommand
+UmSetPassthroughMode
+UmIssueCommand
+UmWaveAction
+UmLogStringA
+UmGetDiagnostics
+UmLogDiagnostics
diff --git a/mingw-w64-crt/lib64/uniplat.def b/mingw-w64-crt/lib64/uniplat.def
index fa44ba4..2d70f03 100644
--- a/mingw-w64-crt/lib64/uniplat.def
+++ b/mingw-w64-crt/lib64/uniplat.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file uniplat.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY uniplat.dll
-EXPORTS
-UmPlatformInitialize
-UmPlatformDeinitialize
-UnimodemReadFileEx
-UnimodemWriteFileEx
-UnimodemDeviceIoControlEx
-UnimodemWaitCommEventEx
-UnimodemQueueUserAPC
-CreateUnimodemTimer
-FreeUnimodemTimer
-SetUnimodemTimer
-CancelUnimodemTimer
-CreateOverStructPool
-DestroyOverStructPool
-AllocateOverStructEx
-FreeOverStruct
-ReinitOverStruct
-SyncDeviceIoControl
-WinntIsWorkstation
-UnimodemNotifyTSP
-StartMonitorThread
-StopMonitorThread
-MonitorHandle
-StopMonitoringHandle
-CallBeginning
-CallEnding
-ResetCallCount
+; 
+; Exports of file uniplat.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY uniplat.dll
+EXPORTS
+UmPlatformInitialize
+UmPlatformDeinitialize
+UnimodemReadFileEx
+UnimodemWriteFileEx
+UnimodemDeviceIoControlEx
+UnimodemWaitCommEventEx
+UnimodemQueueUserAPC
+CreateUnimodemTimer
+FreeUnimodemTimer
+SetUnimodemTimer
+CancelUnimodemTimer
+CreateOverStructPool
+DestroyOverStructPool
+AllocateOverStructEx
+FreeOverStruct
+ReinitOverStruct
+SyncDeviceIoControl
+WinntIsWorkstation
+UnimodemNotifyTSP
+StartMonitorThread
+StopMonitorThread
+MonitorHandle
+StopMonitoringHandle
+CallBeginning
+CallEnding
+ResetCallCount
diff --git a/mingw-w64-crt/lib64/untfs.def b/mingw-w64-crt/lib64/untfs.def
index e7e44d0..45739a2 100644
--- a/mingw-w64-crt/lib64/untfs.def
+++ b/mingw-w64-crt/lib64/untfs.def
@@ -1,300 +1,300 @@
-; 
-; Exports of file UNTFS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY UNTFS.dll
-EXPORTS
-; public: __cdecl NTFS_ATTRIBUTE::NTFS_ATTRIBUTE(void) __ptr64
-??0NTFS_ATTRIBUTE@@QEAA@XZ
-; public: __cdecl NTFS_ATTRIBUTE_DEFINITION_TABLE::NTFS_ATTRIBUTE_DEFINITION_TABLE(void) __ptr64
-??0NTFS_ATTRIBUTE_DEFINITION_TABLE@@QEAA@XZ
-; public: __cdecl NTFS_ATTRIBUTE_LIST::NTFS_ATTRIBUTE_LIST(void) __ptr64
-??0NTFS_ATTRIBUTE_LIST@@QEAA@XZ
-; public: __cdecl NTFS_ATTRIBUTE_RECORD::NTFS_ATTRIBUTE_RECORD(void) __ptr64
-??0NTFS_ATTRIBUTE_RECORD@@QEAA@XZ
-; public: __cdecl NTFS_BAD_CLUSTER_FILE::NTFS_BAD_CLUSTER_FILE(void) __ptr64
-??0NTFS_BAD_CLUSTER_FILE@@QEAA@XZ
-; public: __cdecl NTFS_BITMAP::NTFS_BITMAP(void) __ptr64
-??0NTFS_BITMAP@@QEAA@XZ
-; public: __cdecl NTFS_BITMAP_FILE::NTFS_BITMAP_FILE(void) __ptr64
-??0NTFS_BITMAP_FILE@@QEAA@XZ
-; public: __cdecl NTFS_BOOT_FILE::NTFS_BOOT_FILE(void) __ptr64
-??0NTFS_BOOT_FILE@@QEAA@XZ
-; public: __cdecl NTFS_CLUSTER_RUN::NTFS_CLUSTER_RUN(void) __ptr64
-??0NTFS_CLUSTER_RUN@@QEAA@XZ
-; public: __cdecl NTFS_EXTENT_LIST::NTFS_EXTENT_LIST(void) __ptr64
-??0NTFS_EXTENT_LIST@@QEAA@XZ
-; public: __cdecl NTFS_FILE_RECORD_SEGMENT::NTFS_FILE_RECORD_SEGMENT(void) __ptr64
-??0NTFS_FILE_RECORD_SEGMENT@@QEAA@XZ
-; public: __cdecl NTFS_FRS_STRUCTURE::NTFS_FRS_STRUCTURE(void) __ptr64
-??0NTFS_FRS_STRUCTURE@@QEAA@XZ
-; public: __cdecl NTFS_INDEX_TREE::NTFS_INDEX_TREE(void) __ptr64
-??0NTFS_INDEX_TREE@@QEAA@XZ
-; public: __cdecl NTFS_LOG_FILE::NTFS_LOG_FILE(void) __ptr64
-??0NTFS_LOG_FILE@@QEAA@XZ
-; public: __cdecl NTFS_MFT_FILE::NTFS_MFT_FILE(void) __ptr64
-??0NTFS_MFT_FILE@@QEAA@XZ
-; public: __cdecl NTFS_MFT_INFO::NTFS_MFT_INFO(void) __ptr64
-??0NTFS_MFT_INFO@@QEAA@XZ
-; public: __cdecl NTFS_REFLECTED_MASTER_FILE_TABLE::NTFS_REFLECTED_MASTER_FILE_TABLE(void) __ptr64
-??0NTFS_REFLECTED_MASTER_FILE_TABLE@@QEAA@XZ
-; public: __cdecl NTFS_SA::NTFS_SA(void) __ptr64
-??0NTFS_SA@@QEAA@XZ
-; public: __cdecl NTFS_UPCASE_FILE::NTFS_UPCASE_FILE(void) __ptr64
-??0NTFS_UPCASE_FILE@@QEAA@XZ
-; public: __cdecl NTFS_UPCASE_TABLE::NTFS_UPCASE_TABLE(void) __ptr64
-??0NTFS_UPCASE_TABLE@@QEAA@XZ
-; public: __cdecl RA_PROCESS_FILE::RA_PROCESS_FILE(void) __ptr64
-??0RA_PROCESS_FILE@@QEAA@XZ
-; public: __cdecl RA_PROCESS_SD::RA_PROCESS_SD(void) __ptr64
-??0RA_PROCESS_SD@@QEAA@XZ
-; public: virtual __cdecl NTFS_ATTRIBUTE::~NTFS_ATTRIBUTE(void) __ptr64
-??1NTFS_ATTRIBUTE@@UEAA@XZ
-; public: virtual __cdecl NTFS_ATTRIBUTE_DEFINITION_TABLE::~NTFS_ATTRIBUTE_DEFINITION_TABLE(void) __ptr64
-??1NTFS_ATTRIBUTE_DEFINITION_TABLE@@UEAA@XZ
-; public: virtual __cdecl NTFS_ATTRIBUTE_LIST::~NTFS_ATTRIBUTE_LIST(void) __ptr64
-??1NTFS_ATTRIBUTE_LIST@@UEAA@XZ
-; public: virtual __cdecl NTFS_ATTRIBUTE_RECORD::~NTFS_ATTRIBUTE_RECORD(void) __ptr64
-??1NTFS_ATTRIBUTE_RECORD@@UEAA@XZ
-; public: virtual __cdecl NTFS_BAD_CLUSTER_FILE::~NTFS_BAD_CLUSTER_FILE(void) __ptr64
-??1NTFS_BAD_CLUSTER_FILE@@UEAA@XZ
-; public: virtual __cdecl NTFS_BITMAP::~NTFS_BITMAP(void) __ptr64
-??1NTFS_BITMAP@@UEAA@XZ
-; public: virtual __cdecl NTFS_BITMAP_FILE::~NTFS_BITMAP_FILE(void) __ptr64
-??1NTFS_BITMAP_FILE@@UEAA@XZ
-; public: virtual __cdecl NTFS_BOOT_FILE::~NTFS_BOOT_FILE(void) __ptr64
-??1NTFS_BOOT_FILE@@UEAA@XZ
-; public: virtual __cdecl NTFS_CLUSTER_RUN::~NTFS_CLUSTER_RUN(void) __ptr64
-??1NTFS_CLUSTER_RUN@@UEAA@XZ
-; public: virtual __cdecl NTFS_EXTENT_LIST::~NTFS_EXTENT_LIST(void) __ptr64
-??1NTFS_EXTENT_LIST@@UEAA@XZ
-; public: virtual __cdecl NTFS_FILE_RECORD_SEGMENT::~NTFS_FILE_RECORD_SEGMENT(void) __ptr64
-??1NTFS_FILE_RECORD_SEGMENT@@UEAA@XZ
-; public: virtual __cdecl NTFS_FRS_STRUCTURE::~NTFS_FRS_STRUCTURE(void) __ptr64
-??1NTFS_FRS_STRUCTURE@@UEAA@XZ
-; public: virtual __cdecl NTFS_INDEX_TREE::~NTFS_INDEX_TREE(void) __ptr64
-??1NTFS_INDEX_TREE@@UEAA@XZ
-; public: virtual __cdecl NTFS_LOG_FILE::~NTFS_LOG_FILE(void) __ptr64
-??1NTFS_LOG_FILE@@UEAA@XZ
-; public: virtual __cdecl NTFS_MFT_FILE::~NTFS_MFT_FILE(void) __ptr64
-??1NTFS_MFT_FILE@@UEAA@XZ
-; public: virtual __cdecl NTFS_MFT_INFO::~NTFS_MFT_INFO(void) __ptr64
-??1NTFS_MFT_INFO@@UEAA@XZ
-; public: virtual __cdecl NTFS_REFLECTED_MASTER_FILE_TABLE::~NTFS_REFLECTED_MASTER_FILE_TABLE(void) __ptr64
-??1NTFS_REFLECTED_MASTER_FILE_TABLE@@UEAA@XZ
-; public: virtual __cdecl NTFS_SA::~NTFS_SA(void) __ptr64
-??1NTFS_SA@@UEAA@XZ
-; public: virtual __cdecl NTFS_UPCASE_FILE::~NTFS_UPCASE_FILE(void) __ptr64
-??1NTFS_UPCASE_FILE@@UEAA@XZ
-; public: virtual __cdecl NTFS_UPCASE_TABLE::~NTFS_UPCASE_TABLE(void) __ptr64
-??1NTFS_UPCASE_TABLE@@UEAA@XZ
-; public: virtual __cdecl RA_PROCESS_FILE::~RA_PROCESS_FILE(void) __ptr64
-??1RA_PROCESS_FILE@@UEAA@XZ
-; public: virtual __cdecl RA_PROCESS_SD::~RA_PROCESS_SD(void) __ptr64
-??1RA_PROCESS_SD@@UEAA@XZ
-; public: unsigned char __cdecl NTFS_EXTENT_LIST::AddExtent(class BIG_INT,class BIG_INT,class BIG_INT) __ptr64
-?AddExtent@NTFS_EXTENT_LIST@@QEAAEVBIG_INT@@00@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::AddFileNameAttribute(struct _FILE_NAME * __ptr64) __ptr64
-?AddFileNameAttribute@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAU_FILE_NAME@@@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::AddSecurityDescriptor(enum _CANNED_SECURITY_TYPE,class NTFS_BITMAP * __ptr64) __ptr64
-?AddSecurityDescriptor@NTFS_FILE_RECORD_SEGMENT@@QEAAEW4_CANNED_SECURITY_TYPE@@PEAVNTFS_BITMAP@@@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::AddSecurityDescriptorData(class NTFS_ATTRIBUTE * __ptr64,void * __ptr64,struct _SECURITY_ENTRY * __ptr64 * __ptr64,unsigned long,enum _CANNED_SECURITY_TYPE,class NTFS_BITMAP * __ptr64,unsigned char) __ptr64
-?AddSecurityDescriptorData@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAXPEAPEAU_SECURITY_ENTRY@@KW4_CANNED_SECURITY_TYPE@@PEAVNTFS_BITMAP@@E@Z
-; public: unsigned char __cdecl NTFS_MASTER_FILE_TABLE::AllocateFileRecordSegment(class BIG_INT * __ptr64,unsigned char) __ptr64
-?AllocateFileRecordSegment@NTFS_MASTER_FILE_TABLE@@QEAAEPEAVBIG_INT@@E@Z
-; public: static unsigned char __cdecl NTFS_MFT_INFO::CompareDupInfo(void * __ptr64,struct _FILE_NAME * __ptr64)
-?CompareDupInfo@NTFS_MFT_INFO@@SAEPEAXPEAU_FILE_NAME@@@Z
-; public: static unsigned char __cdecl NTFS_MFT_INFO::CompareFileName(void * __ptr64,unsigned long,struct _FILE_NAME * __ptr64,unsigned short * __ptr64)
-?CompareFileName@NTFS_MFT_INFO@@SAEPEAXKPEAU_FILE_NAME@@PEAG@Z
-; private: static void __cdecl NTFS_MFT_INFO::ComputeDupInfoSignature(struct _DUPLICATED_INFORMATION * __ptr64,unsigned char * __ptr64 const)
-?ComputeDupInfoSignature@NTFS_MFT_INFO@@CAXPEAU_DUPLICATED_INFORMATION@@QEAE@Z
-; private: static void __cdecl NTFS_MFT_INFO::ComputeFileNameSignature(unsigned long,struct _FILE_NAME * __ptr64,unsigned char * __ptr64 const)
-?ComputeFileNameSignature@NTFS_MFT_INFO@@CAXKPEAU_FILE_NAME@@QEAE@Z
-; public: unsigned char __cdecl NTFS_INDEX_TREE::CopyIterator(class NTFS_INDEX_TREE * __ptr64) __ptr64
-?CopyIterator@NTFS_INDEX_TREE@@QEAAEPEAV1@@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Create(struct _STANDARD_INFORMATION const * __ptr64,unsigned short) __ptr64
-?Create@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEBU_STANDARD_INFORMATION@@G@Z
-; public: unsigned char __cdecl NTFS_LOG_FILE::CreateDataAttribute(class BIG_INT,unsigned long,class NTFS_BITMAP * __ptr64) __ptr64
-?CreateDataAttribute@NTFS_LOG_FILE@@QEAAEVBIG_INT@@KPEAVNTFS_BITMAP@@@Z
-; public: unsigned char __cdecl NTFS_SA::CreateElementaryStructures(class NTFS_BITMAP * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,class NUMBER_SET const * __ptr64,unsigned char,unsigned char,class MESSAGE * __ptr64,struct BIOS_PARAMETER_BLOCK * __ptr64,class WSTRING const * __ptr64) __ptr64
-?CreateElementaryStructures@NTFS_SA@@QEAAEPEAVNTFS_BITMAP@@KKKKPEBVNUMBER_SET@@EEPEAVMESSAGE@@PEAUBIOS_PARAMETER_BLOCK@@PEBVWSTRING@@@Z
-; public: unsigned char __cdecl NTFS_MASTER_FILE_TABLE::Extend(unsigned long) __ptr64
-?Extend@NTFS_MASTER_FILE_TABLE@@QEAAEK@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Flush(class NTFS_BITMAP * __ptr64,class NTFS_INDEX_TREE * __ptr64,unsigned char) __ptr64
-?Flush@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_BITMAP@@PEAVNTFS_INDEX_TREE@@E@Z
-; public: unsigned char __cdecl NTFS_MFT_FILE::Flush(void) __ptr64
-?Flush@NTFS_MFT_FILE@@QEAAEXZ
-; public: struct _INDEX_ENTRY const * __ptr64 __cdecl NTFS_INDEX_TREE::GetNext(unsigned long * __ptr64,unsigned char * __ptr64,unsigned char) __ptr64
-?GetNext@NTFS_INDEX_TREE@@QEAAPEBU_INDEX_ENTRY@@PEAKPEAEE@Z
-; public: struct _ATTRIBUTE_LIST_ENTRY const * __ptr64 __cdecl NTFS_ATTRIBUTE_LIST::GetNextAttributeListEntry(struct _ATTRIBUTE_LIST_ENTRY const * __ptr64)const  __ptr64
-?GetNextAttributeListEntry@NTFS_ATTRIBUTE_LIST@@QEBAPEBU_ATTRIBUTE_LIST_ENTRY@@PEBU2@@Z
-; public: void * __ptr64 __cdecl NTFS_FRS_STRUCTURE::GetNextAttributeRecord(void const * __ptr64,class MESSAGE * __ptr64,unsigned char * __ptr64) __ptr64
-?GetNextAttributeRecord@NTFS_FRS_STRUCTURE@@QEAAPEAXPEBXPEAVMESSAGE@@PEAE@Z
-; public: unsigned char __cdecl NTFS_ATTRIBUTE::Initialize(class LOG_IO_DP_DRIVE * __ptr64,unsigned long,class NTFS_EXTENT_LIST const * __ptr64,class BIG_INT,class BIG_INT,unsigned long,class WSTRING const * __ptr64,unsigned short) __ptr64
-?Initialize@NTFS_ATTRIBUTE@@QEAAEPEAVLOG_IO_DP_DRIVE@@KPEBVNTFS_EXTENT_LIST@@VBIG_INT@@2KPEBVWSTRING@@G@Z
-; public: unsigned char __cdecl NTFS_ATTRIBUTE::Initialize(class LOG_IO_DP_DRIVE * __ptr64,unsigned long,void const * __ptr64,unsigned long,unsigned long,class WSTRING const * __ptr64,unsigned short) __ptr64
-?Initialize@NTFS_ATTRIBUTE@@QEAAEPEAVLOG_IO_DP_DRIVE@@KPEBXKKPEBVWSTRING@@G@Z
-; public: unsigned char __cdecl NTFS_ATTRIBUTE_DEFINITION_TABLE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64,unsigned char) __ptr64
-?Initialize@NTFS_ATTRIBUTE_DEFINITION_TABLE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@E@Z
-; public: unsigned char __cdecl NTFS_ATTRIBUTE_RECORD::Initialize(class IO_DP_DRIVE * __ptr64,void * __ptr64) __ptr64
-?Initialize@NTFS_ATTRIBUTE_RECORD@@QEAAEPEAVIO_DP_DRIVE@@PEAX@Z
-; public: unsigned char __cdecl NTFS_BAD_CLUSTER_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_BAD_CLUSTER_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_BITMAP::Initialize(class BIG_INT,unsigned char,class LOG_IO_DP_DRIVE * __ptr64,unsigned long) __ptr64
-?Initialize@NTFS_BITMAP@@QEAAEVBIG_INT@@EPEAVLOG_IO_DP_DRIVE@@K@Z
-; public: unsigned char __cdecl NTFS_BITMAP_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_BITMAP_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_BOOT_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_BOOT_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_CLUSTER_RUN::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class BIG_INT,unsigned long,unsigned long) __ptr64
-?Initialize@NTFS_CLUSTER_RUN@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@VBIG_INT@@KK@Z
-; public: unsigned char __cdecl NTFS_EXTENT_LIST::Initialize(class BIG_INT,class BIG_INT) __ptr64
-?Initialize@NTFS_EXTENT_LIST@@QEAAEVBIG_INT@@0@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Initialize(class BIG_INT,unsigned long,class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_FILE_RECORD_SEGMENT@@QEAAEVBIG_INT@@KPEAVNTFS_MASTER_FILE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Initialize(class BIG_INT,class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_FILE_RECORD_SEGMENT@@QEAAEVBIG_INT@@PEAVNTFS_MASTER_FILE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Initialize(class BIG_INT,class NTFS_MFT_FILE * __ptr64) __ptr64
-?Initialize@NTFS_FILE_RECORD_SEGMENT@@QEAAEVBIG_INT@@PEAVNTFS_MFT_FILE@@@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Initialize(void) __ptr64
-?Initialize@NTFS_FILE_RECORD_SEGMENT@@QEAAEXZ
-; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class BIG_INT,unsigned long,class BIG_INT,unsigned long,class NTFS_UPCASE_TABLE * __ptr64,unsigned long) __ptr64
-?Initialize@NTFS_FRS_STRUCTURE@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@VBIG_INT@@K2KPEAVNTFS_UPCASE_TABLE@@K@Z
-; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::Initialize(class MEM * __ptr64,class NTFS_ATTRIBUTE * __ptr64,class BIG_INT,unsigned long,class BIG_INT,unsigned long,class NTFS_UPCASE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_FRS_STRUCTURE@@QEAAEPEAVMEM@@PEAVNTFS_ATTRIBUTE@@VBIG_INT@@K2KPEAVNTFS_UPCASE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::Initialize(class MEM * __ptr64,class NTFS_ATTRIBUTE * __ptr64,class BIG_INT,unsigned long,unsigned long,class BIG_INT,unsigned long,class NTFS_UPCASE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_FRS_STRUCTURE@@QEAAEPEAVMEM@@PEAVNTFS_ATTRIBUTE@@VBIG_INT@@KK2KPEAVNTFS_UPCASE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_INDEX_TREE::Initialize(unsigned long,class LOG_IO_DP_DRIVE * __ptr64,unsigned long,class NTFS_BITMAP * __ptr64,class NTFS_UPCASE_TABLE * __ptr64,unsigned long,unsigned long,unsigned long,class WSTRING const * __ptr64) __ptr64
-?Initialize@NTFS_INDEX_TREE@@QEAAEKPEAVLOG_IO_DP_DRIVE@@KPEAVNTFS_BITMAP@@PEAVNTFS_UPCASE_TABLE@@KKKPEBVWSTRING@@@Z
-; public: unsigned char __cdecl NTFS_INDEX_TREE::Initialize(class LOG_IO_DP_DRIVE * __ptr64,unsigned long,class NTFS_BITMAP * __ptr64,class NTFS_UPCASE_TABLE * __ptr64,unsigned long,class NTFS_FILE_RECORD_SEGMENT * __ptr64,class WSTRING const * __ptr64) __ptr64
-?Initialize@NTFS_INDEX_TREE@@QEAAEPEAVLOG_IO_DP_DRIVE@@KPEAVNTFS_BITMAP@@PEAVNTFS_UPCASE_TABLE@@KPEAVNTFS_FILE_RECORD_SEGMENT@@PEBVWSTRING@@@Z
-; public: unsigned char __cdecl NTFS_LOG_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_LOG_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_MFT_FILE::Initialize(class LOG_IO_DP_DRIVE * __ptr64,class BIG_INT,unsigned long,unsigned long,class BIG_INT,class NTFS_BITMAP * __ptr64,class NTFS_UPCASE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_MFT_FILE@@QEAAEPEAVLOG_IO_DP_DRIVE@@VBIG_INT@@KK1PEAVNTFS_BITMAP@@PEAVNTFS_UPCASE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_MFT_INFO::Initialize(class BIG_INT,class NTFS_UPCASE_TABLE * __ptr64,unsigned char,unsigned char,unsigned __int64) __ptr64
-?Initialize@NTFS_MFT_INFO@@QEAAEVBIG_INT@@PEAVNTFS_UPCASE_TABLE@@EE_K@Z
-; public: unsigned char __cdecl NTFS_MFT_INFO::Initialize(void) __ptr64
-?Initialize@NTFS_MFT_INFO@@QEAAEXZ
-; public: unsigned char __cdecl NTFS_REFLECTED_MASTER_FILE_TABLE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_REFLECTED_MASTER_FILE_TABLE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_SA::Initialize(class LOG_IO_DP_DRIVE * __ptr64,class MESSAGE * __ptr64,class BIG_INT,class BIG_INT) __ptr64
-?Initialize@NTFS_SA@@QEAAEPEAVLOG_IO_DP_DRIVE@@PEAVMESSAGE@@VBIG_INT@@2@Z
-; public: unsigned char __cdecl NTFS_UPCASE_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
-?Initialize@NTFS_UPCASE_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_UPCASE_TABLE::Initialize(class NTFS_ATTRIBUTE * __ptr64) __ptr64
-?Initialize@NTFS_UPCASE_TABLE@@QEAAEPEAVNTFS_ATTRIBUTE@@@Z
-; public: static unsigned char __cdecl RA_PROCESS_FILE::Initialize(class NTFS_SA * __ptr64,class BIG_INT,class BIG_INT * __ptr64,unsigned long * __ptr64,class NTFS_FRS_STRUCTURE * __ptr64,class NTFS_FRS_STRUCTURE * __ptr64,class HMEM * __ptr64,class HMEM * __ptr64,void * __ptr64,void * __ptr64,class NTFS_ATTRIBUTE * __ptr64,class NTFS_UPCASE_TABLE * __ptr64)
-?Initialize@RA_PROCESS_FILE@@SAEPEAVNTFS_SA@@VBIG_INT@@PEAV3@PEAKPEAVNTFS_FRS_STRUCTURE@@4PEAVHMEM@@5PEAX6PEAVNTFS_ATTRIBUTE@@PEAVNTFS_UPCASE_TABLE@@@Z
-; public: static unsigned char __cdecl RA_PROCESS_SD::Initialize(class NTFS_SA * __ptr64,class BIG_INT,class BIG_INT * __ptr64,unsigned long * __ptr64,class NTFS_FILE_RECORD_SEGMENT * __ptr64,class NTFS_FILE_RECORD_SEGMENT * __ptr64,void * __ptr64,void * __ptr64,class NTFS_MASTER_FILE_TABLE * __ptr64)
-?Initialize@RA_PROCESS_SD@@SAEPEAVNTFS_SA@@VBIG_INT@@PEAV3@PEAKPEAVNTFS_FILE_RECORD_SEGMENT@@4PEAX5PEAVNTFS_MASTER_FILE_TABLE@@@Z
-; public: unsigned char __cdecl NTFS_INDEX_TREE::InsertEntry(unsigned long,void * __ptr64,struct _MFT_SEGMENT_REFERENCE,unsigned char) __ptr64
-?InsertEntry@NTFS_INDEX_TREE@@QEAAEKPEAXU_MFT_SEGMENT_REFERENCE@@E@Z
-; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::InsertIntoFile(class NTFS_FILE_RECORD_SEGMENT * __ptr64,class NTFS_BITMAP * __ptr64) __ptr64
-?InsertIntoFile@NTFS_ATTRIBUTE@@UEAAEPEAVNTFS_FILE_RECORD_SEGMENT@@PEAVNTFS_BITMAP@@@Z
-; public: unsigned char __cdecl NTFS_BITMAP::IsAllocated(class BIG_INT,class BIG_INT)const  __ptr64
-?IsAllocated@NTFS_BITMAP@@QEBAEVBIG_INT@@0@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::IsAttributePresent(unsigned long,class WSTRING const * __ptr64,unsigned char) __ptr64
-?IsAttributePresent@NTFS_FILE_RECORD_SEGMENT@@QEAAEKPEBVWSTRING@@E@Z
-; public: static unsigned char __cdecl NTFS_SA::IsDosName(struct _FILE_NAME const * __ptr64)
-?IsDosName@NTFS_SA@@SAEPEBU_FILE_NAME@@@Z
-; public: unsigned char __cdecl NTFS_BITMAP::IsFree(class BIG_INT,class BIG_INT)const  __ptr64
-?IsFree@NTFS_BITMAP@@QEBAEVBIG_INT@@0@Z
-; public: static unsigned char __cdecl NTFS_SA::IsNtfsName(struct _FILE_NAME const * __ptr64)
-?IsNtfsName@NTFS_SA@@SAEPEBU_FILE_NAME@@@Z
-; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::MakeNonresident(class NTFS_BITMAP * __ptr64) __ptr64
-?MakeNonresident@NTFS_ATTRIBUTE@@UEAAEPEAVNTFS_BITMAP@@@Z
-; long __cdecl NtfsUpcaseCompare(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,class NTFS_UPCASE_TABLE const * __ptr64,unsigned char)
-?NtfsUpcaseCompare@@YAJPEBGK0KPEBVNTFS_UPCASE_TABLE@@E@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::QueryAttribute(class NTFS_ATTRIBUTE * __ptr64,unsigned char * __ptr64,unsigned long,class WSTRING const * __ptr64) __ptr64
-?QueryAttribute@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAEKPEBVWSTRING@@@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::QueryAttributeByOrdinal(class NTFS_ATTRIBUTE * __ptr64,unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
-?QueryAttributeByOrdinal@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAEKK@Z
-; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::QueryAttributeList(class NTFS_ATTRIBUTE_LIST * __ptr64) __ptr64
-?QueryAttributeList@NTFS_FRS_STRUCTURE@@QEAAEPEAVNTFS_ATTRIBUTE_LIST@@@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::QueryAttributeListAttribute(class NTFS_ATTRIBUTE * __ptr64,unsigned char * __ptr64) __ptr64
-?QueryAttributeListAttribute@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAE@Z
-; public: unsigned char __cdecl NTFS_SA::QueryClusterFactor(void)const  __ptr64
-?QueryClusterFactor@NTFS_SA@@QEBAEXZ
-; public: static unsigned long __cdecl NTFS_SA::QueryDefaultClustersPerIndexBuffer(class DP_DRIVE const * __ptr64,unsigned long)
-?QueryDefaultClustersPerIndexBuffer@NTFS_SA@@SAKPEBVDP_DRIVE@@K@Z
-; public: unsigned char __cdecl NTFS_INDEX_TREE::QueryEntry(unsigned long,void * __ptr64,unsigned long,struct _INDEX_ENTRY * __ptr64 * __ptr64,class NTFS_INDEX_BUFFER * __ptr64 * __ptr64,unsigned char * __ptr64) __ptr64
-?QueryEntry@NTFS_INDEX_TREE@@QEAAEKPEAXKPEAPEAU_INDEX_ENTRY@@PEAPEAVNTFS_INDEX_BUFFER@@PEAE@Z
-; public: unsigned char __cdecl NTFS_EXTENT_LIST::QueryExtent(unsigned long,class BIG_INT * __ptr64,class BIG_INT * __ptr64,class BIG_INT * __ptr64)const  __ptr64
-?QueryExtent@NTFS_EXTENT_LIST@@QEBAEKPEAVBIG_INT@@00@Z
-; public: unsigned char __cdecl NTFS_ATTRIBUTE_RECORD::QueryExtentList(class NTFS_EXTENT_LIST * __ptr64)const  __ptr64
-?QueryExtentList@NTFS_ATTRIBUTE_RECORD@@QEBAEPEAVNTFS_EXTENT_LIST@@@Z
-; public: unsigned char __cdecl NTFS_INDEX_TREE::QueryFileReference(unsigned long,void * __ptr64,unsigned long,struct _MFT_SEGMENT_REFERENCE * __ptr64,unsigned char * __ptr64) __ptr64
-?QueryFileReference@NTFS_INDEX_TREE@@QEAAEKPEAXKPEAU_MFT_SEGMENT_REFERENCE@@PEAE@Z
-; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::QueryFileSizes(class BIG_INT * __ptr64,class BIG_INT * __ptr64,unsigned char * __ptr64) __ptr64
-?QueryFileSizes@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVBIG_INT@@0PEAE@Z
-; public: static unsigned char __cdecl NTFS_MFT_INFO::QueryFlags(void * __ptr64,unsigned short)
-?QueryFlags@NTFS_MFT_INFO@@SAEPEAXG@Z
-; public: unsigned char __cdecl NTFS_SA::QueryFrsFromPath(class WSTRING const * __ptr64,class NTFS_MASTER_FILE_TABLE * __ptr64,class NTFS_BITMAP * __ptr64,class NTFS_FILE_RECORD_SEGMENT * __ptr64,unsigned char * __ptr64,unsigned char * __ptr64) __ptr64
-?QueryFrsFromPath@NTFS_SA@@QEAAEPEBVWSTRING@@PEAVNTFS_MASTER_FILE_TABLE@@PEAVNTFS_BITMAP@@PEAVNTFS_FILE_RECORD_SEGMENT@@PEAE4@Z
-; public: unsigned char __cdecl NTFS_EXTENT_LIST::QueryLcnFromVcn(class BIG_INT,class BIG_INT * __ptr64,class BIG_INT * __ptr64)const  __ptr64
-?QueryLcnFromVcn@NTFS_EXTENT_LIST@@QEBAEVBIG_INT@@PEAV2@1@Z
-; public: unsigned char __cdecl NTFS_ATTRIBUTE_RECORD::QueryName(class WSTRING * __ptr64)const  __ptr64
-?QueryName@NTFS_ATTRIBUTE_RECORD@@QEBAEPEAVWSTRING@@@Z
-; public: unsigned char __cdecl NTFS_ATTRIBUTE_LIST::QueryNextEntry(struct _ATTR_LIST_CURR_ENTRY * __ptr64,unsigned long * __ptr64,class BIG_INT * __ptr64,struct _MFT_SEGMENT_REFERENCE * __ptr64,unsigned short * __ptr64,class WSTRING * __ptr64)const  __ptr64
-?QueryNextEntry@NTFS_ATTRIBUTE_LIST@@QEBAEPEAU_ATTR_LIST_CURR_ENTRY@@PEAKPEAVBIG_INT@@PEAU_MFT_SEGMENT_REFERENCE@@PEAGPEAVWSTRING@@@Z
-; public: unsigned long __cdecl NTFS_EXTENT_LIST::QueryNumberOfExtents(void)const  __ptr64
-?QueryNumberOfExtents@NTFS_EXTENT_LIST@@QEBAKXZ
-; public: static unsigned long __cdecl NTFS_SA::QuerySectorsInElementaryStructures(class DP_DRIVE const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long)
-?QuerySectorsInElementaryStructures@NTFS_SA@@SAKPEBVDP_DRIVE@@KKKK@Z
-; public: static struct _MFT_SEGMENT_REFERENCE  __cdecl NTFS_MFT_INFO::QuerySegmentReference(void * __ptr64)
-?QuerySegmentReference@NTFS_MFT_INFO@@SA?AU_MFT_SEGMENT_REFERENCE@@PEAX@Z
-; public: unsigned short __cdecl NTFS_SA::QueryVolumeFlagsAndLabel(unsigned char * __ptr64,unsigned char * __ptr64,unsigned char * __ptr64,class WSTRING * __ptr64) __ptr64
-?QueryVolumeFlagsAndLabel@NTFS_SA@@QEAAGPEAE00PEAVWSTRING@@@Z
-; public: unsigned char __cdecl NTFS_ATTRIBUTE::Read(void * __ptr64,class BIG_INT,unsigned long,unsigned long * __ptr64) __ptr64
-?Read@NTFS_ATTRIBUTE@@QEAAEPEAXVBIG_INT@@KPEAK@Z
-; public: virtual unsigned char __cdecl NTFS_FRS_STRUCTURE::Read(void) __ptr64
-?Read@NTFS_FRS_STRUCTURE@@UEAAEXZ
-; public: virtual unsigned char __cdecl NTFS_MFT_FILE::Read(void) __ptr64
-?Read@NTFS_MFT_FILE@@UEAAEXZ
-; public: unsigned char __cdecl NTFS_SA::Read(class MESSAGE * __ptr64) __ptr64
-?Read@NTFS_SA@@QEAAEPEAVMESSAGE@@@Z
-; public: virtual unsigned char __cdecl NTFS_SA::Read(void) __ptr64
-?Read@NTFS_SA@@UEAAEXZ
-; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::ReadAgain(class BIG_INT) __ptr64
-?ReadAgain@NTFS_FRS_STRUCTURE@@QEAAEVBIG_INT@@@Z
-; public: unsigned char __cdecl NTFS_ATTRIBUTE_LIST::ReadList(void) __ptr64
-?ReadList@NTFS_ATTRIBUTE_LIST@@QEAAEXZ
-; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::ReadNext(class BIG_INT) __ptr64
-?ReadNext@NTFS_FRS_STRUCTURE@@QEAAEVBIG_INT@@@Z
-; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::ReadSet(class TLINK * __ptr64) __ptr64
-?ReadSet@NTFS_FRS_STRUCTURE@@QEAAEPEAVTLINK@@@Z
-; public: void __cdecl NTFS_CLUSTER_RUN::Relocate(class BIG_INT) __ptr64
-?Relocate@NTFS_CLUSTER_RUN@@QEAAXVBIG_INT@@@Z
-; public: void __cdecl NTFS_INDEX_TREE::ResetIterator(void) __ptr64
-?ResetIterator@NTFS_INDEX_TREE@@QEAAXXZ
-; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::Resize(class BIG_INT,class NTFS_BITMAP * __ptr64) __ptr64
-?Resize@NTFS_ATTRIBUTE@@UEAAEVBIG_INT@@PEAVNTFS_BITMAP@@@Z
-; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::SafeQueryAttribute(unsigned long,class NTFS_ATTRIBUTE * __ptr64,class NTFS_ATTRIBUTE * __ptr64) __ptr64
-?SafeQueryAttribute@NTFS_FRS_STRUCTURE@@QEAAEKPEAVNTFS_ATTRIBUTE@@0@Z
-; public: unsigned char __cdecl NTFS_INDEX_TREE::Save(class NTFS_FILE_RECORD_SEGMENT * __ptr64) __ptr64
-?Save@NTFS_INDEX_TREE@@QEAAEPEAVNTFS_FILE_RECORD_SEGMENT@@@Z
-; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::SetSparse(class BIG_INT,class NTFS_BITMAP * __ptr64) __ptr64
-?SetSparse@NTFS_ATTRIBUTE@@UEAAEVBIG_INT@@PEAVNTFS_BITMAP@@@Z
-; public: unsigned char __cdecl NTFS_SA::SetVolumeFlag(unsigned short,unsigned char * __ptr64) __ptr64
-?SetVolumeFlag@NTFS_SA@@QEAAEGPEAE@Z
-; public: unsigned char __cdecl NTFS_SA::TakeCensus(class NTFS_MASTER_FILE_TABLE * __ptr64,unsigned long,struct NTFS_CENSUS_INFO * __ptr64) __ptr64
-?TakeCensus@NTFS_SA@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@KPEAUNTFS_CENSUS_INFO@@@Z
-; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::Write(void const * __ptr64,class BIG_INT,unsigned long,unsigned long * __ptr64,class NTFS_BITMAP * __ptr64) __ptr64
-?Write@NTFS_ATTRIBUTE@@UEAAEPEBXVBIG_INT@@KPEAKPEAVNTFS_BITMAP@@@Z
-; public: unsigned char __cdecl NTFS_BITMAP::Write(class NTFS_ATTRIBUTE * __ptr64,class NTFS_BITMAP * __ptr64) __ptr64
-?Write@NTFS_BITMAP@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAV1@@Z
-; public: virtual unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Write(void) __ptr64
-?Write@NTFS_FILE_RECORD_SEGMENT@@UEAAEXZ
-; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::Write(void) __ptr64
-?Write@NTFS_FRS_STRUCTURE@@QEAAEXZ
-; public: unsigned char __cdecl NTFS_SA::WriteRemainingBootCode(void) __ptr64
-?WriteRemainingBootCode@NTFS_SA@@QEAAEXZ
-Chkdsk
-ChkdskEx
-Extend
-Format
-FormatEx
-Recover
+; 
+; Exports of file UNTFS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY UNTFS.dll
+EXPORTS
+; public: __cdecl NTFS_ATTRIBUTE::NTFS_ATTRIBUTE(void) __ptr64
+??0NTFS_ATTRIBUTE@@QEAA@XZ
+; public: __cdecl NTFS_ATTRIBUTE_DEFINITION_TABLE::NTFS_ATTRIBUTE_DEFINITION_TABLE(void) __ptr64
+??0NTFS_ATTRIBUTE_DEFINITION_TABLE@@QEAA@XZ
+; public: __cdecl NTFS_ATTRIBUTE_LIST::NTFS_ATTRIBUTE_LIST(void) __ptr64
+??0NTFS_ATTRIBUTE_LIST@@QEAA@XZ
+; public: __cdecl NTFS_ATTRIBUTE_RECORD::NTFS_ATTRIBUTE_RECORD(void) __ptr64
+??0NTFS_ATTRIBUTE_RECORD@@QEAA@XZ
+; public: __cdecl NTFS_BAD_CLUSTER_FILE::NTFS_BAD_CLUSTER_FILE(void) __ptr64
+??0NTFS_BAD_CLUSTER_FILE@@QEAA@XZ
+; public: __cdecl NTFS_BITMAP::NTFS_BITMAP(void) __ptr64
+??0NTFS_BITMAP@@QEAA@XZ
+; public: __cdecl NTFS_BITMAP_FILE::NTFS_BITMAP_FILE(void) __ptr64
+??0NTFS_BITMAP_FILE@@QEAA@XZ
+; public: __cdecl NTFS_BOOT_FILE::NTFS_BOOT_FILE(void) __ptr64
+??0NTFS_BOOT_FILE@@QEAA@XZ
+; public: __cdecl NTFS_CLUSTER_RUN::NTFS_CLUSTER_RUN(void) __ptr64
+??0NTFS_CLUSTER_RUN@@QEAA@XZ
+; public: __cdecl NTFS_EXTENT_LIST::NTFS_EXTENT_LIST(void) __ptr64
+??0NTFS_EXTENT_LIST@@QEAA@XZ
+; public: __cdecl NTFS_FILE_RECORD_SEGMENT::NTFS_FILE_RECORD_SEGMENT(void) __ptr64
+??0NTFS_FILE_RECORD_SEGMENT@@QEAA@XZ
+; public: __cdecl NTFS_FRS_STRUCTURE::NTFS_FRS_STRUCTURE(void) __ptr64
+??0NTFS_FRS_STRUCTURE@@QEAA@XZ
+; public: __cdecl NTFS_INDEX_TREE::NTFS_INDEX_TREE(void) __ptr64
+??0NTFS_INDEX_TREE@@QEAA@XZ
+; public: __cdecl NTFS_LOG_FILE::NTFS_LOG_FILE(void) __ptr64
+??0NTFS_LOG_FILE@@QEAA@XZ
+; public: __cdecl NTFS_MFT_FILE::NTFS_MFT_FILE(void) __ptr64
+??0NTFS_MFT_FILE@@QEAA@XZ
+; public: __cdecl NTFS_MFT_INFO::NTFS_MFT_INFO(void) __ptr64
+??0NTFS_MFT_INFO@@QEAA@XZ
+; public: __cdecl NTFS_REFLECTED_MASTER_FILE_TABLE::NTFS_REFLECTED_MASTER_FILE_TABLE(void) __ptr64
+??0NTFS_REFLECTED_MASTER_FILE_TABLE@@QEAA@XZ
+; public: __cdecl NTFS_SA::NTFS_SA(void) __ptr64
+??0NTFS_SA@@QEAA@XZ
+; public: __cdecl NTFS_UPCASE_FILE::NTFS_UPCASE_FILE(void) __ptr64
+??0NTFS_UPCASE_FILE@@QEAA@XZ
+; public: __cdecl NTFS_UPCASE_TABLE::NTFS_UPCASE_TABLE(void) __ptr64
+??0NTFS_UPCASE_TABLE@@QEAA@XZ
+; public: __cdecl RA_PROCESS_FILE::RA_PROCESS_FILE(void) __ptr64
+??0RA_PROCESS_FILE@@QEAA@XZ
+; public: __cdecl RA_PROCESS_SD::RA_PROCESS_SD(void) __ptr64
+??0RA_PROCESS_SD@@QEAA@XZ
+; public: virtual __cdecl NTFS_ATTRIBUTE::~NTFS_ATTRIBUTE(void) __ptr64
+??1NTFS_ATTRIBUTE@@UEAA@XZ
+; public: virtual __cdecl NTFS_ATTRIBUTE_DEFINITION_TABLE::~NTFS_ATTRIBUTE_DEFINITION_TABLE(void) __ptr64
+??1NTFS_ATTRIBUTE_DEFINITION_TABLE@@UEAA@XZ
+; public: virtual __cdecl NTFS_ATTRIBUTE_LIST::~NTFS_ATTRIBUTE_LIST(void) __ptr64
+??1NTFS_ATTRIBUTE_LIST@@UEAA@XZ
+; public: virtual __cdecl NTFS_ATTRIBUTE_RECORD::~NTFS_ATTRIBUTE_RECORD(void) __ptr64
+??1NTFS_ATTRIBUTE_RECORD@@UEAA@XZ
+; public: virtual __cdecl NTFS_BAD_CLUSTER_FILE::~NTFS_BAD_CLUSTER_FILE(void) __ptr64
+??1NTFS_BAD_CLUSTER_FILE@@UEAA@XZ
+; public: virtual __cdecl NTFS_BITMAP::~NTFS_BITMAP(void) __ptr64
+??1NTFS_BITMAP@@UEAA@XZ
+; public: virtual __cdecl NTFS_BITMAP_FILE::~NTFS_BITMAP_FILE(void) __ptr64
+??1NTFS_BITMAP_FILE@@UEAA@XZ
+; public: virtual __cdecl NTFS_BOOT_FILE::~NTFS_BOOT_FILE(void) __ptr64
+??1NTFS_BOOT_FILE@@UEAA@XZ
+; public: virtual __cdecl NTFS_CLUSTER_RUN::~NTFS_CLUSTER_RUN(void) __ptr64
+??1NTFS_CLUSTER_RUN@@UEAA@XZ
+; public: virtual __cdecl NTFS_EXTENT_LIST::~NTFS_EXTENT_LIST(void) __ptr64
+??1NTFS_EXTENT_LIST@@UEAA@XZ
+; public: virtual __cdecl NTFS_FILE_RECORD_SEGMENT::~NTFS_FILE_RECORD_SEGMENT(void) __ptr64
+??1NTFS_FILE_RECORD_SEGMENT@@UEAA@XZ
+; public: virtual __cdecl NTFS_FRS_STRUCTURE::~NTFS_FRS_STRUCTURE(void) __ptr64
+??1NTFS_FRS_STRUCTURE@@UEAA@XZ
+; public: virtual __cdecl NTFS_INDEX_TREE::~NTFS_INDEX_TREE(void) __ptr64
+??1NTFS_INDEX_TREE@@UEAA@XZ
+; public: virtual __cdecl NTFS_LOG_FILE::~NTFS_LOG_FILE(void) __ptr64
+??1NTFS_LOG_FILE@@UEAA@XZ
+; public: virtual __cdecl NTFS_MFT_FILE::~NTFS_MFT_FILE(void) __ptr64
+??1NTFS_MFT_FILE@@UEAA@XZ
+; public: virtual __cdecl NTFS_MFT_INFO::~NTFS_MFT_INFO(void) __ptr64
+??1NTFS_MFT_INFO@@UEAA@XZ
+; public: virtual __cdecl NTFS_REFLECTED_MASTER_FILE_TABLE::~NTFS_REFLECTED_MASTER_FILE_TABLE(void) __ptr64
+??1NTFS_REFLECTED_MASTER_FILE_TABLE@@UEAA@XZ
+; public: virtual __cdecl NTFS_SA::~NTFS_SA(void) __ptr64
+??1NTFS_SA@@UEAA@XZ
+; public: virtual __cdecl NTFS_UPCASE_FILE::~NTFS_UPCASE_FILE(void) __ptr64
+??1NTFS_UPCASE_FILE@@UEAA@XZ
+; public: virtual __cdecl NTFS_UPCASE_TABLE::~NTFS_UPCASE_TABLE(void) __ptr64
+??1NTFS_UPCASE_TABLE@@UEAA@XZ
+; public: virtual __cdecl RA_PROCESS_FILE::~RA_PROCESS_FILE(void) __ptr64
+??1RA_PROCESS_FILE@@UEAA@XZ
+; public: virtual __cdecl RA_PROCESS_SD::~RA_PROCESS_SD(void) __ptr64
+??1RA_PROCESS_SD@@UEAA@XZ
+; public: unsigned char __cdecl NTFS_EXTENT_LIST::AddExtent(class BIG_INT,class BIG_INT,class BIG_INT) __ptr64
+?AddExtent@NTFS_EXTENT_LIST@@QEAAEVBIG_INT@@00@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::AddFileNameAttribute(struct _FILE_NAME * __ptr64) __ptr64
+?AddFileNameAttribute@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAU_FILE_NAME@@@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::AddSecurityDescriptor(enum _CANNED_SECURITY_TYPE,class NTFS_BITMAP * __ptr64) __ptr64
+?AddSecurityDescriptor@NTFS_FILE_RECORD_SEGMENT@@QEAAEW4_CANNED_SECURITY_TYPE@@PEAVNTFS_BITMAP@@@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::AddSecurityDescriptorData(class NTFS_ATTRIBUTE * __ptr64,void * __ptr64,struct _SECURITY_ENTRY * __ptr64 * __ptr64,unsigned long,enum _CANNED_SECURITY_TYPE,class NTFS_BITMAP * __ptr64,unsigned char) __ptr64
+?AddSecurityDescriptorData@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAXPEAPEAU_SECURITY_ENTRY@@KW4_CANNED_SECURITY_TYPE@@PEAVNTFS_BITMAP@@E@Z
+; public: unsigned char __cdecl NTFS_MASTER_FILE_TABLE::AllocateFileRecordSegment(class BIG_INT * __ptr64,unsigned char) __ptr64
+?AllocateFileRecordSegment@NTFS_MASTER_FILE_TABLE@@QEAAEPEAVBIG_INT@@E@Z
+; public: static unsigned char __cdecl NTFS_MFT_INFO::CompareDupInfo(void * __ptr64,struct _FILE_NAME * __ptr64)
+?CompareDupInfo@NTFS_MFT_INFO@@SAEPEAXPEAU_FILE_NAME@@@Z
+; public: static unsigned char __cdecl NTFS_MFT_INFO::CompareFileName(void * __ptr64,unsigned long,struct _FILE_NAME * __ptr64,unsigned short * __ptr64)
+?CompareFileName@NTFS_MFT_INFO@@SAEPEAXKPEAU_FILE_NAME@@PEAG@Z
+; private: static void __cdecl NTFS_MFT_INFO::ComputeDupInfoSignature(struct _DUPLICATED_INFORMATION * __ptr64,unsigned char * __ptr64 const)
+?ComputeDupInfoSignature@NTFS_MFT_INFO@@CAXPEAU_DUPLICATED_INFORMATION@@QEAE@Z
+; private: static void __cdecl NTFS_MFT_INFO::ComputeFileNameSignature(unsigned long,struct _FILE_NAME * __ptr64,unsigned char * __ptr64 const)
+?ComputeFileNameSignature@NTFS_MFT_INFO@@CAXKPEAU_FILE_NAME@@QEAE@Z
+; public: unsigned char __cdecl NTFS_INDEX_TREE::CopyIterator(class NTFS_INDEX_TREE * __ptr64) __ptr64
+?CopyIterator@NTFS_INDEX_TREE@@QEAAEPEAV1@@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Create(struct _STANDARD_INFORMATION const * __ptr64,unsigned short) __ptr64
+?Create@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEBU_STANDARD_INFORMATION@@G@Z
+; public: unsigned char __cdecl NTFS_LOG_FILE::CreateDataAttribute(class BIG_INT,unsigned long,class NTFS_BITMAP * __ptr64) __ptr64
+?CreateDataAttribute@NTFS_LOG_FILE@@QEAAEVBIG_INT@@KPEAVNTFS_BITMAP@@@Z
+; public: unsigned char __cdecl NTFS_SA::CreateElementaryStructures(class NTFS_BITMAP * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,class NUMBER_SET const * __ptr64,unsigned char,unsigned char,class MESSAGE * __ptr64,struct BIOS_PARAMETER_BLOCK * __ptr64,class WSTRING const * __ptr64) __ptr64
+?CreateElementaryStructures@NTFS_SA@@QEAAEPEAVNTFS_BITMAP@@KKKKPEBVNUMBER_SET@@EEPEAVMESSAGE@@PEAUBIOS_PARAMETER_BLOCK@@PEBVWSTRING@@@Z
+; public: unsigned char __cdecl NTFS_MASTER_FILE_TABLE::Extend(unsigned long) __ptr64
+?Extend@NTFS_MASTER_FILE_TABLE@@QEAAEK@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Flush(class NTFS_BITMAP * __ptr64,class NTFS_INDEX_TREE * __ptr64,unsigned char) __ptr64
+?Flush@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_BITMAP@@PEAVNTFS_INDEX_TREE@@E@Z
+; public: unsigned char __cdecl NTFS_MFT_FILE::Flush(void) __ptr64
+?Flush@NTFS_MFT_FILE@@QEAAEXZ
+; public: struct _INDEX_ENTRY const * __ptr64 __cdecl NTFS_INDEX_TREE::GetNext(unsigned long * __ptr64,unsigned char * __ptr64,unsigned char) __ptr64
+?GetNext@NTFS_INDEX_TREE@@QEAAPEBU_INDEX_ENTRY@@PEAKPEAEE@Z
+; public: struct _ATTRIBUTE_LIST_ENTRY const * __ptr64 __cdecl NTFS_ATTRIBUTE_LIST::GetNextAttributeListEntry(struct _ATTRIBUTE_LIST_ENTRY const * __ptr64)const  __ptr64
+?GetNextAttributeListEntry@NTFS_ATTRIBUTE_LIST@@QEBAPEBU_ATTRIBUTE_LIST_ENTRY@@PEBU2@@Z
+; public: void * __ptr64 __cdecl NTFS_FRS_STRUCTURE::GetNextAttributeRecord(void const * __ptr64,class MESSAGE * __ptr64,unsigned char * __ptr64) __ptr64
+?GetNextAttributeRecord@NTFS_FRS_STRUCTURE@@QEAAPEAXPEBXPEAVMESSAGE@@PEAE@Z
+; public: unsigned char __cdecl NTFS_ATTRIBUTE::Initialize(class LOG_IO_DP_DRIVE * __ptr64,unsigned long,class NTFS_EXTENT_LIST const * __ptr64,class BIG_INT,class BIG_INT,unsigned long,class WSTRING const * __ptr64,unsigned short) __ptr64
+?Initialize@NTFS_ATTRIBUTE@@QEAAEPEAVLOG_IO_DP_DRIVE@@KPEBVNTFS_EXTENT_LIST@@VBIG_INT@@2KPEBVWSTRING@@G@Z
+; public: unsigned char __cdecl NTFS_ATTRIBUTE::Initialize(class LOG_IO_DP_DRIVE * __ptr64,unsigned long,void const * __ptr64,unsigned long,unsigned long,class WSTRING const * __ptr64,unsigned short) __ptr64
+?Initialize@NTFS_ATTRIBUTE@@QEAAEPEAVLOG_IO_DP_DRIVE@@KPEBXKKPEBVWSTRING@@G@Z
+; public: unsigned char __cdecl NTFS_ATTRIBUTE_DEFINITION_TABLE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64,unsigned char) __ptr64
+?Initialize@NTFS_ATTRIBUTE_DEFINITION_TABLE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@E@Z
+; public: unsigned char __cdecl NTFS_ATTRIBUTE_RECORD::Initialize(class IO_DP_DRIVE * __ptr64,void * __ptr64) __ptr64
+?Initialize@NTFS_ATTRIBUTE_RECORD@@QEAAEPEAVIO_DP_DRIVE@@PEAX@Z
+; public: unsigned char __cdecl NTFS_BAD_CLUSTER_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_BAD_CLUSTER_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_BITMAP::Initialize(class BIG_INT,unsigned char,class LOG_IO_DP_DRIVE * __ptr64,unsigned long) __ptr64
+?Initialize@NTFS_BITMAP@@QEAAEVBIG_INT@@EPEAVLOG_IO_DP_DRIVE@@K@Z
+; public: unsigned char __cdecl NTFS_BITMAP_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_BITMAP_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_BOOT_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_BOOT_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_CLUSTER_RUN::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class BIG_INT,unsigned long,unsigned long) __ptr64
+?Initialize@NTFS_CLUSTER_RUN@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@VBIG_INT@@KK@Z
+; public: unsigned char __cdecl NTFS_EXTENT_LIST::Initialize(class BIG_INT,class BIG_INT) __ptr64
+?Initialize@NTFS_EXTENT_LIST@@QEAAEVBIG_INT@@0@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Initialize(class BIG_INT,unsigned long,class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_FILE_RECORD_SEGMENT@@QEAAEVBIG_INT@@KPEAVNTFS_MASTER_FILE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Initialize(class BIG_INT,class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_FILE_RECORD_SEGMENT@@QEAAEVBIG_INT@@PEAVNTFS_MASTER_FILE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Initialize(class BIG_INT,class NTFS_MFT_FILE * __ptr64) __ptr64
+?Initialize@NTFS_FILE_RECORD_SEGMENT@@QEAAEVBIG_INT@@PEAVNTFS_MFT_FILE@@@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Initialize(void) __ptr64
+?Initialize@NTFS_FILE_RECORD_SEGMENT@@QEAAEXZ
+; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class BIG_INT,unsigned long,class BIG_INT,unsigned long,class NTFS_UPCASE_TABLE * __ptr64,unsigned long) __ptr64
+?Initialize@NTFS_FRS_STRUCTURE@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@VBIG_INT@@K2KPEAVNTFS_UPCASE_TABLE@@K@Z
+; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::Initialize(class MEM * __ptr64,class NTFS_ATTRIBUTE * __ptr64,class BIG_INT,unsigned long,class BIG_INT,unsigned long,class NTFS_UPCASE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_FRS_STRUCTURE@@QEAAEPEAVMEM@@PEAVNTFS_ATTRIBUTE@@VBIG_INT@@K2KPEAVNTFS_UPCASE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::Initialize(class MEM * __ptr64,class NTFS_ATTRIBUTE * __ptr64,class BIG_INT,unsigned long,unsigned long,class BIG_INT,unsigned long,class NTFS_UPCASE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_FRS_STRUCTURE@@QEAAEPEAVMEM@@PEAVNTFS_ATTRIBUTE@@VBIG_INT@@KK2KPEAVNTFS_UPCASE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_INDEX_TREE::Initialize(unsigned long,class LOG_IO_DP_DRIVE * __ptr64,unsigned long,class NTFS_BITMAP * __ptr64,class NTFS_UPCASE_TABLE * __ptr64,unsigned long,unsigned long,unsigned long,class WSTRING const * __ptr64) __ptr64
+?Initialize@NTFS_INDEX_TREE@@QEAAEKPEAVLOG_IO_DP_DRIVE@@KPEAVNTFS_BITMAP@@PEAVNTFS_UPCASE_TABLE@@KKKPEBVWSTRING@@@Z
+; public: unsigned char __cdecl NTFS_INDEX_TREE::Initialize(class LOG_IO_DP_DRIVE * __ptr64,unsigned long,class NTFS_BITMAP * __ptr64,class NTFS_UPCASE_TABLE * __ptr64,unsigned long,class NTFS_FILE_RECORD_SEGMENT * __ptr64,class WSTRING const * __ptr64) __ptr64
+?Initialize@NTFS_INDEX_TREE@@QEAAEPEAVLOG_IO_DP_DRIVE@@KPEAVNTFS_BITMAP@@PEAVNTFS_UPCASE_TABLE@@KPEAVNTFS_FILE_RECORD_SEGMENT@@PEBVWSTRING@@@Z
+; public: unsigned char __cdecl NTFS_LOG_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_LOG_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_MFT_FILE::Initialize(class LOG_IO_DP_DRIVE * __ptr64,class BIG_INT,unsigned long,unsigned long,class BIG_INT,class NTFS_BITMAP * __ptr64,class NTFS_UPCASE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_MFT_FILE@@QEAAEPEAVLOG_IO_DP_DRIVE@@VBIG_INT@@KK1PEAVNTFS_BITMAP@@PEAVNTFS_UPCASE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_MFT_INFO::Initialize(class BIG_INT,class NTFS_UPCASE_TABLE * __ptr64,unsigned char,unsigned char,unsigned __int64) __ptr64
+?Initialize@NTFS_MFT_INFO@@QEAAEVBIG_INT@@PEAVNTFS_UPCASE_TABLE@@EE_K@Z
+; public: unsigned char __cdecl NTFS_MFT_INFO::Initialize(void) __ptr64
+?Initialize@NTFS_MFT_INFO@@QEAAEXZ
+; public: unsigned char __cdecl NTFS_REFLECTED_MASTER_FILE_TABLE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_REFLECTED_MASTER_FILE_TABLE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_SA::Initialize(class LOG_IO_DP_DRIVE * __ptr64,class MESSAGE * __ptr64,class BIG_INT,class BIG_INT) __ptr64
+?Initialize@NTFS_SA@@QEAAEPEAVLOG_IO_DP_DRIVE@@PEAVMESSAGE@@VBIG_INT@@2@Z
+; public: unsigned char __cdecl NTFS_UPCASE_FILE::Initialize(class NTFS_MASTER_FILE_TABLE * __ptr64) __ptr64
+?Initialize@NTFS_UPCASE_FILE@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_UPCASE_TABLE::Initialize(class NTFS_ATTRIBUTE * __ptr64) __ptr64
+?Initialize@NTFS_UPCASE_TABLE@@QEAAEPEAVNTFS_ATTRIBUTE@@@Z
+; public: static unsigned char __cdecl RA_PROCESS_FILE::Initialize(class NTFS_SA * __ptr64,class BIG_INT,class BIG_INT * __ptr64,unsigned long * __ptr64,class NTFS_FRS_STRUCTURE * __ptr64,class NTFS_FRS_STRUCTURE * __ptr64,class HMEM * __ptr64,class HMEM * __ptr64,void * __ptr64,void * __ptr64,class NTFS_ATTRIBUTE * __ptr64,class NTFS_UPCASE_TABLE * __ptr64)
+?Initialize@RA_PROCESS_FILE@@SAEPEAVNTFS_SA@@VBIG_INT@@PEAV3@PEAKPEAVNTFS_FRS_STRUCTURE@@4PEAVHMEM@@5PEAX6PEAVNTFS_ATTRIBUTE@@PEAVNTFS_UPCASE_TABLE@@@Z
+; public: static unsigned char __cdecl RA_PROCESS_SD::Initialize(class NTFS_SA * __ptr64,class BIG_INT,class BIG_INT * __ptr64,unsigned long * __ptr64,class NTFS_FILE_RECORD_SEGMENT * __ptr64,class NTFS_FILE_RECORD_SEGMENT * __ptr64,void * __ptr64,void * __ptr64,class NTFS_MASTER_FILE_TABLE * __ptr64)
+?Initialize@RA_PROCESS_SD@@SAEPEAVNTFS_SA@@VBIG_INT@@PEAV3@PEAKPEAVNTFS_FILE_RECORD_SEGMENT@@4PEAX5PEAVNTFS_MASTER_FILE_TABLE@@@Z
+; public: unsigned char __cdecl NTFS_INDEX_TREE::InsertEntry(unsigned long,void * __ptr64,struct _MFT_SEGMENT_REFERENCE,unsigned char) __ptr64
+?InsertEntry@NTFS_INDEX_TREE@@QEAAEKPEAXU_MFT_SEGMENT_REFERENCE@@E@Z
+; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::InsertIntoFile(class NTFS_FILE_RECORD_SEGMENT * __ptr64,class NTFS_BITMAP * __ptr64) __ptr64
+?InsertIntoFile@NTFS_ATTRIBUTE@@UEAAEPEAVNTFS_FILE_RECORD_SEGMENT@@PEAVNTFS_BITMAP@@@Z
+; public: unsigned char __cdecl NTFS_BITMAP::IsAllocated(class BIG_INT,class BIG_INT)const  __ptr64
+?IsAllocated@NTFS_BITMAP@@QEBAEVBIG_INT@@0@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::IsAttributePresent(unsigned long,class WSTRING const * __ptr64,unsigned char) __ptr64
+?IsAttributePresent@NTFS_FILE_RECORD_SEGMENT@@QEAAEKPEBVWSTRING@@E@Z
+; public: static unsigned char __cdecl NTFS_SA::IsDosName(struct _FILE_NAME const * __ptr64)
+?IsDosName@NTFS_SA@@SAEPEBU_FILE_NAME@@@Z
+; public: unsigned char __cdecl NTFS_BITMAP::IsFree(class BIG_INT,class BIG_INT)const  __ptr64
+?IsFree@NTFS_BITMAP@@QEBAEVBIG_INT@@0@Z
+; public: static unsigned char __cdecl NTFS_SA::IsNtfsName(struct _FILE_NAME const * __ptr64)
+?IsNtfsName@NTFS_SA@@SAEPEBU_FILE_NAME@@@Z
+; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::MakeNonresident(class NTFS_BITMAP * __ptr64) __ptr64
+?MakeNonresident@NTFS_ATTRIBUTE@@UEAAEPEAVNTFS_BITMAP@@@Z
+; long __cdecl NtfsUpcaseCompare(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,class NTFS_UPCASE_TABLE const * __ptr64,unsigned char)
+?NtfsUpcaseCompare@@YAJPEBGK0KPEBVNTFS_UPCASE_TABLE@@E@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::QueryAttribute(class NTFS_ATTRIBUTE * __ptr64,unsigned char * __ptr64,unsigned long,class WSTRING const * __ptr64) __ptr64
+?QueryAttribute@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAEKPEBVWSTRING@@@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::QueryAttributeByOrdinal(class NTFS_ATTRIBUTE * __ptr64,unsigned char * __ptr64,unsigned long,unsigned long) __ptr64
+?QueryAttributeByOrdinal@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAEKK@Z
+; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::QueryAttributeList(class NTFS_ATTRIBUTE_LIST * __ptr64) __ptr64
+?QueryAttributeList@NTFS_FRS_STRUCTURE@@QEAAEPEAVNTFS_ATTRIBUTE_LIST@@@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::QueryAttributeListAttribute(class NTFS_ATTRIBUTE * __ptr64,unsigned char * __ptr64) __ptr64
+?QueryAttributeListAttribute@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAE@Z
+; public: unsigned char __cdecl NTFS_SA::QueryClusterFactor(void)const  __ptr64
+?QueryClusterFactor@NTFS_SA@@QEBAEXZ
+; public: static unsigned long __cdecl NTFS_SA::QueryDefaultClustersPerIndexBuffer(class DP_DRIVE const * __ptr64,unsigned long)
+?QueryDefaultClustersPerIndexBuffer@NTFS_SA@@SAKPEBVDP_DRIVE@@K@Z
+; public: unsigned char __cdecl NTFS_INDEX_TREE::QueryEntry(unsigned long,void * __ptr64,unsigned long,struct _INDEX_ENTRY * __ptr64 * __ptr64,class NTFS_INDEX_BUFFER * __ptr64 * __ptr64,unsigned char * __ptr64) __ptr64
+?QueryEntry@NTFS_INDEX_TREE@@QEAAEKPEAXKPEAPEAU_INDEX_ENTRY@@PEAPEAVNTFS_INDEX_BUFFER@@PEAE@Z
+; public: unsigned char __cdecl NTFS_EXTENT_LIST::QueryExtent(unsigned long,class BIG_INT * __ptr64,class BIG_INT * __ptr64,class BIG_INT * __ptr64)const  __ptr64
+?QueryExtent@NTFS_EXTENT_LIST@@QEBAEKPEAVBIG_INT@@00@Z
+; public: unsigned char __cdecl NTFS_ATTRIBUTE_RECORD::QueryExtentList(class NTFS_EXTENT_LIST * __ptr64)const  __ptr64
+?QueryExtentList@NTFS_ATTRIBUTE_RECORD@@QEBAEPEAVNTFS_EXTENT_LIST@@@Z
+; public: unsigned char __cdecl NTFS_INDEX_TREE::QueryFileReference(unsigned long,void * __ptr64,unsigned long,struct _MFT_SEGMENT_REFERENCE * __ptr64,unsigned char * __ptr64) __ptr64
+?QueryFileReference@NTFS_INDEX_TREE@@QEAAEKPEAXKPEAU_MFT_SEGMENT_REFERENCE@@PEAE@Z
+; public: unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::QueryFileSizes(class BIG_INT * __ptr64,class BIG_INT * __ptr64,unsigned char * __ptr64) __ptr64
+?QueryFileSizes@NTFS_FILE_RECORD_SEGMENT@@QEAAEPEAVBIG_INT@@0PEAE@Z
+; public: static unsigned char __cdecl NTFS_MFT_INFO::QueryFlags(void * __ptr64,unsigned short)
+?QueryFlags@NTFS_MFT_INFO@@SAEPEAXG@Z
+; public: unsigned char __cdecl NTFS_SA::QueryFrsFromPath(class WSTRING const * __ptr64,class NTFS_MASTER_FILE_TABLE * __ptr64,class NTFS_BITMAP * __ptr64,class NTFS_FILE_RECORD_SEGMENT * __ptr64,unsigned char * __ptr64,unsigned char * __ptr64) __ptr64
+?QueryFrsFromPath@NTFS_SA@@QEAAEPEBVWSTRING@@PEAVNTFS_MASTER_FILE_TABLE@@PEAVNTFS_BITMAP@@PEAVNTFS_FILE_RECORD_SEGMENT@@PEAE4@Z
+; public: unsigned char __cdecl NTFS_EXTENT_LIST::QueryLcnFromVcn(class BIG_INT,class BIG_INT * __ptr64,class BIG_INT * __ptr64)const  __ptr64
+?QueryLcnFromVcn@NTFS_EXTENT_LIST@@QEBAEVBIG_INT@@PEAV2@1@Z
+; public: unsigned char __cdecl NTFS_ATTRIBUTE_RECORD::QueryName(class WSTRING * __ptr64)const  __ptr64
+?QueryName@NTFS_ATTRIBUTE_RECORD@@QEBAEPEAVWSTRING@@@Z
+; public: unsigned char __cdecl NTFS_ATTRIBUTE_LIST::QueryNextEntry(struct _ATTR_LIST_CURR_ENTRY * __ptr64,unsigned long * __ptr64,class BIG_INT * __ptr64,struct _MFT_SEGMENT_REFERENCE * __ptr64,unsigned short * __ptr64,class WSTRING * __ptr64)const  __ptr64
+?QueryNextEntry@NTFS_ATTRIBUTE_LIST@@QEBAEPEAU_ATTR_LIST_CURR_ENTRY@@PEAKPEAVBIG_INT@@PEAU_MFT_SEGMENT_REFERENCE@@PEAGPEAVWSTRING@@@Z
+; public: unsigned long __cdecl NTFS_EXTENT_LIST::QueryNumberOfExtents(void)const  __ptr64
+?QueryNumberOfExtents@NTFS_EXTENT_LIST@@QEBAKXZ
+; public: static unsigned long __cdecl NTFS_SA::QuerySectorsInElementaryStructures(class DP_DRIVE const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long)
+?QuerySectorsInElementaryStructures@NTFS_SA@@SAKPEBVDP_DRIVE@@KKKK@Z
+; public: static struct _MFT_SEGMENT_REFERENCE  __cdecl NTFS_MFT_INFO::QuerySegmentReference(void * __ptr64)
+?QuerySegmentReference@NTFS_MFT_INFO@@SA?AU_MFT_SEGMENT_REFERENCE@@PEAX@Z
+; public: unsigned short __cdecl NTFS_SA::QueryVolumeFlagsAndLabel(unsigned char * __ptr64,unsigned char * __ptr64,unsigned char * __ptr64,class WSTRING * __ptr64) __ptr64
+?QueryVolumeFlagsAndLabel@NTFS_SA@@QEAAGPEAE00PEAVWSTRING@@@Z
+; public: unsigned char __cdecl NTFS_ATTRIBUTE::Read(void * __ptr64,class BIG_INT,unsigned long,unsigned long * __ptr64) __ptr64
+?Read@NTFS_ATTRIBUTE@@QEAAEPEAXVBIG_INT@@KPEAK@Z
+; public: virtual unsigned char __cdecl NTFS_FRS_STRUCTURE::Read(void) __ptr64
+?Read@NTFS_FRS_STRUCTURE@@UEAAEXZ
+; public: virtual unsigned char __cdecl NTFS_MFT_FILE::Read(void) __ptr64
+?Read@NTFS_MFT_FILE@@UEAAEXZ
+; public: unsigned char __cdecl NTFS_SA::Read(class MESSAGE * __ptr64) __ptr64
+?Read@NTFS_SA@@QEAAEPEAVMESSAGE@@@Z
+; public: virtual unsigned char __cdecl NTFS_SA::Read(void) __ptr64
+?Read@NTFS_SA@@UEAAEXZ
+; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::ReadAgain(class BIG_INT) __ptr64
+?ReadAgain@NTFS_FRS_STRUCTURE@@QEAAEVBIG_INT@@@Z
+; public: unsigned char __cdecl NTFS_ATTRIBUTE_LIST::ReadList(void) __ptr64
+?ReadList@NTFS_ATTRIBUTE_LIST@@QEAAEXZ
+; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::ReadNext(class BIG_INT) __ptr64
+?ReadNext@NTFS_FRS_STRUCTURE@@QEAAEVBIG_INT@@@Z
+; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::ReadSet(class TLINK * __ptr64) __ptr64
+?ReadSet@NTFS_FRS_STRUCTURE@@QEAAEPEAVTLINK@@@Z
+; public: void __cdecl NTFS_CLUSTER_RUN::Relocate(class BIG_INT) __ptr64
+?Relocate@NTFS_CLUSTER_RUN@@QEAAXVBIG_INT@@@Z
+; public: void __cdecl NTFS_INDEX_TREE::ResetIterator(void) __ptr64
+?ResetIterator@NTFS_INDEX_TREE@@QEAAXXZ
+; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::Resize(class BIG_INT,class NTFS_BITMAP * __ptr64) __ptr64
+?Resize@NTFS_ATTRIBUTE@@UEAAEVBIG_INT@@PEAVNTFS_BITMAP@@@Z
+; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::SafeQueryAttribute(unsigned long,class NTFS_ATTRIBUTE * __ptr64,class NTFS_ATTRIBUTE * __ptr64) __ptr64
+?SafeQueryAttribute@NTFS_FRS_STRUCTURE@@QEAAEKPEAVNTFS_ATTRIBUTE@@0@Z
+; public: unsigned char __cdecl NTFS_INDEX_TREE::Save(class NTFS_FILE_RECORD_SEGMENT * __ptr64) __ptr64
+?Save@NTFS_INDEX_TREE@@QEAAEPEAVNTFS_FILE_RECORD_SEGMENT@@@Z
+; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::SetSparse(class BIG_INT,class NTFS_BITMAP * __ptr64) __ptr64
+?SetSparse@NTFS_ATTRIBUTE@@UEAAEVBIG_INT@@PEAVNTFS_BITMAP@@@Z
+; public: unsigned char __cdecl NTFS_SA::SetVolumeFlag(unsigned short,unsigned char * __ptr64) __ptr64
+?SetVolumeFlag@NTFS_SA@@QEAAEGPEAE@Z
+; public: unsigned char __cdecl NTFS_SA::TakeCensus(class NTFS_MASTER_FILE_TABLE * __ptr64,unsigned long,struct NTFS_CENSUS_INFO * __ptr64) __ptr64
+?TakeCensus@NTFS_SA@@QEAAEPEAVNTFS_MASTER_FILE_TABLE@@KPEAUNTFS_CENSUS_INFO@@@Z
+; public: virtual unsigned char __cdecl NTFS_ATTRIBUTE::Write(void const * __ptr64,class BIG_INT,unsigned long,unsigned long * __ptr64,class NTFS_BITMAP * __ptr64) __ptr64
+?Write@NTFS_ATTRIBUTE@@UEAAEPEBXVBIG_INT@@KPEAKPEAVNTFS_BITMAP@@@Z
+; public: unsigned char __cdecl NTFS_BITMAP::Write(class NTFS_ATTRIBUTE * __ptr64,class NTFS_BITMAP * __ptr64) __ptr64
+?Write@NTFS_BITMAP@@QEAAEPEAVNTFS_ATTRIBUTE@@PEAV1@@Z
+; public: virtual unsigned char __cdecl NTFS_FILE_RECORD_SEGMENT::Write(void) __ptr64
+?Write@NTFS_FILE_RECORD_SEGMENT@@UEAAEXZ
+; public: unsigned char __cdecl NTFS_FRS_STRUCTURE::Write(void) __ptr64
+?Write@NTFS_FRS_STRUCTURE@@QEAAEXZ
+; public: unsigned char __cdecl NTFS_SA::WriteRemainingBootCode(void) __ptr64
+?WriteRemainingBootCode@NTFS_SA@@QEAAEXZ
+Chkdsk
+ChkdskEx
+Extend
+Format
+FormatEx
+Recover
diff --git a/mingw-w64-crt/lib64/upnp.def b/mingw-w64-crt/lib64/upnp.def
index 5a53bc3..3b7910a 100644
--- a/mingw-w64-crt/lib64/upnp.def
+++ b/mingw-w64-crt/lib64/upnp.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file UPnP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY UPnP.DLL
-EXPORTS
-HrRehydratorCreateServiceObject
-HrRehydratorInvokeServiceAction
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file UPnP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY UPnP.DLL
+EXPORTS
+HrRehydratorCreateServiceObject
+HrRehydratorInvokeServiceAction
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/upnphost.def b/mingw-w64-crt/lib64/upnphost.def
index 08d8483..ee2f736 100644
--- a/mingw-w64-crt/lib64/upnphost.def
+++ b/mingw-w64-crt/lib64/upnphost.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file upnphost.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY upnphost.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-ServiceMain
+; 
+; Exports of file upnphost.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY upnphost.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+ServiceMain
diff --git a/mingw-w64-crt/lib64/upnpui.def b/mingw-w64-crt/lib64/upnpui.def
index d60a4b7..29315dc 100644
--- a/mingw-w64-crt/lib64/upnpui.def
+++ b/mingw-w64-crt/lib64/upnpui.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file upnpui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY upnpui.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-InstallUPnPUI
-IsUPnPUIInstalled
-UnInstallUPnPUI
+; 
+; Exports of file upnpui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY upnpui.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+InstallUPnPUI
+IsUPnPUIInstalled
+UnInstallUPnPUI
diff --git a/mingw-w64-crt/lib64/ureg.def b/mingw-w64-crt/lib64/ureg.def
index a9891e6..819f10e 100644
--- a/mingw-w64-crt/lib64/ureg.def
+++ b/mingw-w64-crt/lib64/ureg.def
@@ -1,58 +1,58 @@
-; 
-; Exports of file UREG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY UREG.dll
-EXPORTS
-; public: __cdecl REGISTRY::REGISTRY(void) __ptr64
-??0REGISTRY@@QEAA@XZ
-; public: __cdecl REGISTRY_KEY_INFO::REGISTRY_KEY_INFO(void) __ptr64
-??0REGISTRY_KEY_INFO@@QEAA@XZ
-; public: __cdecl REGISTRY_VALUE_ENTRY::REGISTRY_VALUE_ENTRY(void) __ptr64
-??0REGISTRY_VALUE_ENTRY@@QEAA@XZ
-; public: virtual __cdecl REGISTRY::~REGISTRY(void) __ptr64
-??1REGISTRY@@UEAA@XZ
-; public: unsigned char __cdecl REGISTRY::AddValueEntry(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class REGISTRY_VALUE_ENTRY const * __ptr64,unsigned char,unsigned long * __ptr64) __ptr64
-?AddValueEntry@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVREGISTRY_VALUE_ENTRY@@EPEAK@Z
-; public: unsigned char __cdecl REGISTRY::CreateKey(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64,unsigned char) __ptr64
-?CreateKey@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@1PEAKE@Z
-; public: unsigned char __cdecl REGISTRY::DeleteKey(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
-?DeleteKey@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
-; public: unsigned char __cdecl REGISTRY::DeleteValueEntry(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
-?DeleteValueEntry@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
-; public: unsigned char __cdecl REGISTRY::DoesKeyExist(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
-?DoesKeyExist@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAK@Z
-; public: unsigned char __cdecl REGISTRY::DoesValueExist(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
-?DoesValueExist@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@11PEAK@Z
-; public: unsigned char __cdecl REGISTRY::EnableRootNotification(enum _PREDEFINED_KEY,void * __ptr64,unsigned long,unsigned char) __ptr64
-?EnableRootNotification@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAXKE@Z
-; public: unsigned char __cdecl REGISTRY::Initialize(class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
-?Initialize@REGISTRY@@QEAAEPEBVWSTRING@@PEAK@Z
-; public: unsigned char __cdecl REGISTRY_KEY_INFO::Initialize(class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned long,class WSTRING const * __ptr64,struct _SECURITY_ATTRIBUTES * __ptr64) __ptr64
-?Initialize@REGISTRY_KEY_INFO@@QEAAEPEBVWSTRING@@0K0PEAU_SECURITY_ATTRIBUTES@@@Z
-; public: unsigned char __cdecl REGISTRY_VALUE_ENTRY::Initialize(class WSTRING const * __ptr64,unsigned long,enum _REG_TYPE,unsigned char const * __ptr64,unsigned long) __ptr64
-?Initialize@REGISTRY_VALUE_ENTRY@@QEAAEPEBVWSTRING@@KW4_REG_TYPE@@PEBEK@Z
-; public: unsigned char __cdecl REGISTRY::IsAccessAllowed(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?IsAccessAllowed@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@KPEAK@Z
-; public: unsigned char __cdecl REGISTRY::LoadHive(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
-?LoadHive@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
-; public: unsigned char __cdecl REGISTRY::QueryKeyInfo(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryKeyInfo@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAVREGISTRY_KEY_INFO@@PEAK@Z
-; public: unsigned char __cdecl REGISTRY::QueryKeySecurity(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO const * __ptr64,unsigned long,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryKeySecurity@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVREGISTRY_KEY_INFO@@KPEAPEAXPEAK@Z
-; public: unsigned char __cdecl REGISTRY::QuerySubKeysInfo(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class ARRAY * __ptr64,unsigned long * __ptr64) __ptr64
-?QuerySubKeysInfo@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAVARRAY@@PEAK@Z
-; public: unsigned char __cdecl REGISTRY::QueryValues(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class ARRAY * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValues@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAVARRAY@@PEAK@Z
-; public: unsigned char __cdecl REGISTRY::RestoreKeyFromFile(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned char,unsigned long * __ptr64) __ptr64
-?RestoreKeyFromFile@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@EPEAK@Z
-; public: unsigned char __cdecl REGISTRY::SaveKeyToFile(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
-?SaveKeyToFile@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
-; public: unsigned char __cdecl REGISTRY::SetKeySecurity(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long,void * __ptr64,unsigned long * __ptr64,unsigned char) __ptr64
-?SetKeySecurity@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@KPEAXPEAKE@Z
-; public: unsigned char __cdecl REGISTRY::UnLoadHive(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64) __ptr64
-?UnLoadHive@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEAK@Z
-; public: unsigned char __cdecl REGISTRY::UpdateKeyInfo(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64) __ptr64
-?UpdateKeyInfo@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEAK@Z
+; 
+; Exports of file UREG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY UREG.dll
+EXPORTS
+; public: __cdecl REGISTRY::REGISTRY(void) __ptr64
+??0REGISTRY@@QEAA@XZ
+; public: __cdecl REGISTRY_KEY_INFO::REGISTRY_KEY_INFO(void) __ptr64
+??0REGISTRY_KEY_INFO@@QEAA@XZ
+; public: __cdecl REGISTRY_VALUE_ENTRY::REGISTRY_VALUE_ENTRY(void) __ptr64
+??0REGISTRY_VALUE_ENTRY@@QEAA@XZ
+; public: virtual __cdecl REGISTRY::~REGISTRY(void) __ptr64
+??1REGISTRY@@UEAA@XZ
+; public: unsigned char __cdecl REGISTRY::AddValueEntry(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class REGISTRY_VALUE_ENTRY const * __ptr64,unsigned char,unsigned long * __ptr64) __ptr64
+?AddValueEntry@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVREGISTRY_VALUE_ENTRY@@EPEAK@Z
+; public: unsigned char __cdecl REGISTRY::CreateKey(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64,unsigned char) __ptr64
+?CreateKey@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@1PEAKE@Z
+; public: unsigned char __cdecl REGISTRY::DeleteKey(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
+?DeleteKey@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
+; public: unsigned char __cdecl REGISTRY::DeleteValueEntry(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
+?DeleteValueEntry@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
+; public: unsigned char __cdecl REGISTRY::DoesKeyExist(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
+?DoesKeyExist@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAK@Z
+; public: unsigned char __cdecl REGISTRY::DoesValueExist(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
+?DoesValueExist@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@11PEAK@Z
+; public: unsigned char __cdecl REGISTRY::EnableRootNotification(enum _PREDEFINED_KEY,void * __ptr64,unsigned long,unsigned char) __ptr64
+?EnableRootNotification@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAXKE@Z
+; public: unsigned char __cdecl REGISTRY::Initialize(class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
+?Initialize@REGISTRY@@QEAAEPEBVWSTRING@@PEAK@Z
+; public: unsigned char __cdecl REGISTRY_KEY_INFO::Initialize(class WSTRING const * __ptr64,class WSTRING const * __ptr64,unsigned long,class WSTRING const * __ptr64,struct _SECURITY_ATTRIBUTES * __ptr64) __ptr64
+?Initialize@REGISTRY_KEY_INFO@@QEAAEPEBVWSTRING@@0K0PEAU_SECURITY_ATTRIBUTES@@@Z
+; public: unsigned char __cdecl REGISTRY_VALUE_ENTRY::Initialize(class WSTRING const * __ptr64,unsigned long,enum _REG_TYPE,unsigned char const * __ptr64,unsigned long) __ptr64
+?Initialize@REGISTRY_VALUE_ENTRY@@QEAAEPEBVWSTRING@@KW4_REG_TYPE@@PEBEK@Z
+; public: unsigned char __cdecl REGISTRY::IsAccessAllowed(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?IsAccessAllowed@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@KPEAK@Z
+; public: unsigned char __cdecl REGISTRY::LoadHive(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
+?LoadHive@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
+; public: unsigned char __cdecl REGISTRY::QueryKeyInfo(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryKeyInfo@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAVREGISTRY_KEY_INFO@@PEAK@Z
+; public: unsigned char __cdecl REGISTRY::QueryKeySecurity(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO const * __ptr64,unsigned long,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryKeySecurity@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVREGISTRY_KEY_INFO@@KPEAPEAXPEAK@Z
+; public: unsigned char __cdecl REGISTRY::QuerySubKeysInfo(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class ARRAY * __ptr64,unsigned long * __ptr64) __ptr64
+?QuerySubKeysInfo@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAVARRAY@@PEAK@Z
+; public: unsigned char __cdecl REGISTRY::QueryValues(enum _PREDEFINED_KEY,class WSTRING const * __ptr64,class WSTRING const * __ptr64,class ARRAY * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValues@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEBVWSTRING@@1PEAVARRAY@@PEAK@Z
+; public: unsigned char __cdecl REGISTRY::RestoreKeyFromFile(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned char,unsigned long * __ptr64) __ptr64
+?RestoreKeyFromFile@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@EPEAK@Z
+; public: unsigned char __cdecl REGISTRY::SaveKeyToFile(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,class WSTRING const * __ptr64,unsigned long * __ptr64) __ptr64
+?SaveKeyToFile@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEBVWSTRING@@PEAK@Z
+; public: unsigned char __cdecl REGISTRY::SetKeySecurity(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long,void * __ptr64,unsigned long * __ptr64,unsigned char) __ptr64
+?SetKeySecurity@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@KPEAXPEAKE@Z
+; public: unsigned char __cdecl REGISTRY::UnLoadHive(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64) __ptr64
+?UnLoadHive@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEAK@Z
+; public: unsigned char __cdecl REGISTRY::UpdateKeyInfo(enum _PREDEFINED_KEY,class REGISTRY_KEY_INFO * __ptr64,unsigned long * __ptr64) __ptr64
+?UpdateKeyInfo@REGISTRY@@QEAAEW4_PREDEFINED_KEY@@PEAVREGISTRY_KEY_INFO@@PEAK@Z
diff --git a/mingw-w64-crt/lib64/url.def b/mingw-w64-crt/lib64/url.def
index b1fd38e..8043f02 100644
--- a/mingw-w64-crt/lib64/url.def
+++ b/mingw-w64-crt/lib64/url.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file URL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY URL.dll
-EXPORTS
-AddMIMEFileTypesPS
-AutodialHookCallback
-DllCanUnloadNow
-DllGetClassObject
-FileProtocolHandler
-FileProtocolHandlerA
-InetIsOffline
-MIMEAssociationDialogA
-MIMEAssociationDialogW
-MailToProtocolHandler
-MailToProtocolHandlerA
-NewsProtocolHandler
-NewsProtocolHandlerA
-OpenURL
-OpenURLA
-TelnetProtocolHandler
-TelnetProtocolHandlerA
-TranslateURLA
-TranslateURLW
-URLAssociationDialogA
-URLAssociationDialogW
+; 
+; Exports of file URL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY URL.dll
+EXPORTS
+AddMIMEFileTypesPS
+AutodialHookCallback
+DllCanUnloadNow
+DllGetClassObject
+FileProtocolHandler
+FileProtocolHandlerA
+InetIsOffline
+MIMEAssociationDialogA
+MIMEAssociationDialogW
+MailToProtocolHandler
+MailToProtocolHandlerA
+NewsProtocolHandler
+NewsProtocolHandlerA
+OpenURL
+OpenURLA
+TelnetProtocolHandler
+TelnetProtocolHandlerA
+TranslateURLA
+TranslateURLW
+URLAssociationDialogA
+URLAssociationDialogW
diff --git a/mingw-w64-crt/lib64/urlauth.def b/mingw-w64-crt/lib64/urlauth.def
index 3713068..4dc6e7b 100644
--- a/mingw-w64-crt/lib64/urlauth.def
+++ b/mingw-w64-crt/lib64/urlauth.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file URLAUTH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY URLAUTH.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file URLAUTH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY URLAUTH.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/urlmon.def b/mingw-w64-crt/lib64/urlmon.def
index 21220c3..2a10219 100644
--- a/mingw-w64-crt/lib64/urlmon.def
+++ b/mingw-w64-crt/lib64/urlmon.def
@@ -1,96 +1,96 @@
-; 
-; Exports of file urlmon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY urlmon.dll
-EXPORTS
-AsyncGetClassBits
-AsyncInstallDistributionUnit
-BindAsyncMoniker
-CDLGetLongPathNameA
-CDLGetLongPathNameW
-CoGetClassObjectFromURL
-CoInstall
-CoInternetCombineUrl
-CoInternetCompareUrl
-CoInternetCreateSecurityManager
-CoInternetCreateZoneManager
-CoInternetFeatureSettingsChanged
-CoInternetGetProtocolFlags
-CoInternetGetSecurityUrl
-CoInternetGetSession
-CoInternetIsFeatureEnabled
-CoInternetIsFeatureEnabledForUrl
-CoInternetIsFeatureZoneElevationEnabled
-CoInternetParseUrl
-CoInternetQueryInfo
-CoInternetSetFeatureEnabled
-CompareSecurityIds
-CompatFlagsFromClsid
-CopyBindInfo
-CopyStgMedium
-CreateAsyncBindCtx
-CreateAsyncBindCtxEx
-CreateFormatEnumerator
-CreateURLMoniker
-CreateURLMonikerEx
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllRegisterServerEx
-DllUnregisterServer
-Extract
-FaultInIEFeature
-FindMediaType
-FindMediaTypeClass
-FindMimeFromData
-GetAddSitesFileUrl
-GetClassFileOrMime
-GetClassURL
-GetComponentIDFromCLSSPEC
-GetMarkOfTheWeb
-GetSoftwareUpdateInfo
-HlinkGoBack
-HlinkGoForward
-HlinkNavigateMoniker
-HlinkNavigateString
-HlinkSimpleNavigateToMoniker
-HlinkSimpleNavigateToString
-InstallFlash
-IsAsyncMoniker
-IsJITInProgress
-IsLoggingEnabledA
-IsLoggingEnabledW
-IsValidURL
-MkParseDisplayNameEx
-ObtainUserAgentString
-PrivateCoInstall
-RegisterBindStatusCallback
-RegisterFormatEnumerator
-RegisterMediaTypeClass
-RegisterMediaTypes
-ReleaseBindInfo
-RevokeBindStatusCallback
-RevokeFormatEnumerator
-SetSoftwareUpdateAdvertisementState
-ShowTrustAlertDialog
-URLDownloadA
-URLDownloadToCacheFileA
-URLDownloadToCacheFileW
-URLDownloadToFileA
-URLDownloadToFileW
-URLDownloadW
-URLOpenBlockingStreamA
-URLOpenBlockingStreamW
-URLOpenPullStreamA
-URLOpenPullStreamW
-URLOpenStreamA
-URLOpenStreamW
-UrlMkBuildVersion
-UrlMkGetSessionOption
-UrlMkSetSessionOption
-WriteHitLogging
-ZonesReInit
+; 
+; Exports of file urlmon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY urlmon.dll
+EXPORTS
+AsyncGetClassBits
+AsyncInstallDistributionUnit
+BindAsyncMoniker
+CDLGetLongPathNameA
+CDLGetLongPathNameW
+CoGetClassObjectFromURL
+CoInstall
+CoInternetCombineUrl
+CoInternetCompareUrl
+CoInternetCreateSecurityManager
+CoInternetCreateZoneManager
+CoInternetFeatureSettingsChanged
+CoInternetGetProtocolFlags
+CoInternetGetSecurityUrl
+CoInternetGetSession
+CoInternetIsFeatureEnabled
+CoInternetIsFeatureEnabledForUrl
+CoInternetIsFeatureZoneElevationEnabled
+CoInternetParseUrl
+CoInternetQueryInfo
+CoInternetSetFeatureEnabled
+CompareSecurityIds
+CompatFlagsFromClsid
+CopyBindInfo
+CopyStgMedium
+CreateAsyncBindCtx
+CreateAsyncBindCtxEx
+CreateFormatEnumerator
+CreateURLMoniker
+CreateURLMonikerEx
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllRegisterServerEx
+DllUnregisterServer
+Extract
+FaultInIEFeature
+FindMediaType
+FindMediaTypeClass
+FindMimeFromData
+GetAddSitesFileUrl
+GetClassFileOrMime
+GetClassURL
+GetComponentIDFromCLSSPEC
+GetMarkOfTheWeb
+GetSoftwareUpdateInfo
+HlinkGoBack
+HlinkGoForward
+HlinkNavigateMoniker
+HlinkNavigateString
+HlinkSimpleNavigateToMoniker
+HlinkSimpleNavigateToString
+InstallFlash
+IsAsyncMoniker
+IsJITInProgress
+IsLoggingEnabledA
+IsLoggingEnabledW
+IsValidURL
+MkParseDisplayNameEx
+ObtainUserAgentString
+PrivateCoInstall
+RegisterBindStatusCallback
+RegisterFormatEnumerator
+RegisterMediaTypeClass
+RegisterMediaTypes
+ReleaseBindInfo
+RevokeBindStatusCallback
+RevokeFormatEnumerator
+SetSoftwareUpdateAdvertisementState
+ShowTrustAlertDialog
+URLDownloadA
+URLDownloadToCacheFileA
+URLDownloadToCacheFileW
+URLDownloadToFileA
+URLDownloadToFileW
+URLDownloadW
+URLOpenBlockingStreamA
+URLOpenBlockingStreamW
+URLOpenPullStreamA
+URLOpenPullStreamW
+URLOpenStreamA
+URLOpenStreamW
+UrlMkBuildVersion
+UrlMkGetSessionOption
+UrlMkSetSessionOption
+WriteHitLogging
+ZonesReInit
diff --git a/mingw-w64-crt/lib64/usbmon.def b/mingw-w64-crt/lib64/usbmon.def
index 91d21f8..3d47d59 100644
--- a/mingw-w64-crt/lib64/usbmon.def
+++ b/mingw-w64-crt/lib64/usbmon.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file USBMON.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY USBMON.DLL
-EXPORTS
-DllMain
-InitializePrintMonitor
+; 
+; Exports of file USBMON.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY USBMON.DLL
+EXPORTS
+DllMain
+InitializePrintMonitor
diff --git a/mingw-w64-crt/lib64/user32.def b/mingw-w64-crt/lib64/user32.def
index 197d869..1560e09 100644
--- a/mingw-w64-crt/lib64/user32.def
+++ b/mingw-w64-crt/lib64/user32.def
@@ -1,753 +1,753 @@
-; 
-; Exports of file USER32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY USER32.dll
-EXPORTS
-ActivateKeyboardLayout
-AdjustWindowRect
-AdjustWindowRectEx
-AlignRects
-AllowForegroundActivation
-AllowSetForegroundWindow
-AnimateWindow
-AnyPopup
-AppendMenuA
-AppendMenuW
-ArrangeIconicWindows
-AttachThreadInput
-BeginDeferWindowPos
-BeginPaint
-BlockInput
-BringWindowToTop
-BroadcastSystemMessage
-BroadcastSystemMessageA
-BroadcastSystemMessageExA
-BroadcastSystemMessageExW
-BroadcastSystemMessageW
-BuildReasonArray
-CalcMenuBar
-CallMsgFilter
-CallMsgFilterA
-CallMsgFilterW
-CallNextHookEx
-CallWindowProcA
-CallWindowProcW
-CascadeChildWindows
-CascadeWindows
-ChangeClipboardChain
-ChangeDisplaySettingsA
-ChangeDisplaySettingsExA
-ChangeDisplaySettingsExW
-ChangeDisplaySettingsW
-ChangeMenuA
-ChangeMenuW
-CharLowerA
-CharLowerBuffA
-CharLowerBuffW
-CharLowerW
-CharNextA
-CharNextExA
-CharNextW
-CharPrevA
-CharPrevExA
-CharPrevW
-CharToOemA
-CharToOemBuffA
-CharToOemBuffW
-CharToOemW
-CharUpperA
-CharUpperBuffA
-CharUpperBuffW
-CharUpperW
-CheckDlgButton
-CheckMenuItem
-CheckMenuRadioItem
-CheckRadioButton
-ChildWindowFromPoint
-ChildWindowFromPointEx
-CliImmSetHotKey
-ClientThreadSetup
-ClientToScreen
-ClipCursor
-CloseClipboard
-CloseDesktop
-CloseTouchInputHandle
-CloseWindow
-CloseWindowStation
-CopyAcceleratorTableA
-CopyAcceleratorTableW
-CopyIcon
-CopyImage
-CopyRect
-CountClipboardFormats
-CreateAcceleratorTableA
-CreateAcceleratorTableW
-CreateCaret
-CreateCursor
-CreateDesktopA
-CreateDesktopW
-CreateDialogIndirectParamA
-CreateDialogIndirectParamAorW
-CreateDialogIndirectParamW
-CreateDialogParamA
-CreateDialogParamW
-CreateIcon
-CreateIconFromResource
-CreateIconFromResourceEx
-CreateIconIndirect
-CreateMDIWindowA
-CreateMDIWindowW
-CreateMenu
-CreatePopupMenu
-CreateSystemThreads
-CreateWindowExA
-CreateWindowExW
-CreateWindowStationA
-CreateWindowStationW
-CsrBroadcastSystemMessageExW
-CtxInitUser32
-DdeAbandonTransaction
-DdeAccessData
-DdeAddData
-DdeClientTransaction
-DdeCmpStringHandles
-DdeConnect
-DdeConnectList
-DdeCreateDataHandle
-DdeCreateStringHandleA
-DdeCreateStringHandleW
-DdeDisconnect
-DdeDisconnectList
-DdeEnableCallback
-DdeFreeDataHandle
-DdeFreeStringHandle
-DdeGetData
-DdeGetLastError
-DdeGetQualityOfService
-DdeImpersonateClient
-DdeInitializeA
-DdeInitializeW
-DdeKeepStringHandle
-DdeNameService
-DdePostAdvise
-DdeQueryConvInfo
-DdeQueryNextServer
-DdeQueryStringA
-DdeQueryStringW
-DdeReconnect
-DdeSetQualityOfService
-DdeSetUserHandle
-DdeUnaccessData
-DdeUninitialize
-DefDlgProcA
-DefDlgProcW
-DefFrameProcA
-DefFrameProcW
-DefMDIChildProcA
-DefMDIChildProcW
-DefRawInputProc
-DefWindowProcA
-DefWindowProcW
-DeferWindowPos
-DeleteMenu
-DeregisterShellHookWindow
-DestroyAcceleratorTable
-DestroyCaret
-DestroyCursor
-DestroyIcon
-DestroyMenu
-DestroyReasons
-DestroyWindow
-DeviceEventWorker
-DialogBoxIndirectParamA
-DialogBoxIndirectParamAorW
-DialogBoxIndirectParamW
-DialogBoxParamA
-DialogBoxParamW
-DisableProcessWindowsGhosting
-DispatchMessageA
-DispatchMessageW
-DisplayExitWindowsWarnings
-DlgDirListA
-DlgDirListComboBoxA
-DlgDirListComboBoxW
-DlgDirListW
-DlgDirSelectComboBoxExA
-DlgDirSelectComboBoxExW
-DlgDirSelectExA
-DlgDirSelectExW
-DragDetect
-DragObject
-DrawAnimatedRects
-DrawCaption
-DrawCaptionTempA
-DrawCaptionTempW
-DrawEdge
-DrawFocusRect
-DrawFrame
-DrawFrameControl
-DrawIcon
-DrawIconEx
-DrawMenuBar
-DrawMenuBarTemp
-DrawStateA
-DrawStateW
-DrawTextA
-DrawTextExA
-DrawTextExW
-DrawTextW
-EditWndProc
-EmptyClipboard
-EnableMenuItem
-EnableScrollBar
-EnableWindow
-EndDeferWindowPos
-EndDialog
-EndMenu
-EndPaint
-EndTask
-EnterReaderModeHelper
-EnumChildWindows
-EnumClipboardFormats
-EnumDesktopWindows
-EnumDesktopsA
-EnumDesktopsW
-EnumDisplayDevicesA
-EnumDisplayDevicesW
-EnumDisplayMonitors
-EnumDisplaySettingsA
-EnumDisplaySettingsExA
-EnumDisplaySettingsExW
-EnumDisplaySettingsW
-EnumPropsA
-EnumPropsExA
-EnumPropsExW
-EnumPropsW
-EnumThreadWindows
-EnumWindowStationsA
-EnumWindowStationsW
-EnumWindows
-EqualRect
-ExcludeUpdateRgn
-ExitWindowsEx
-FillRect
-FindWindowA
-FindWindowExA
-FindWindowExW
-FindWindowW
-FlashWindow
-FlashWindowEx
-FrameRect
-FreeDDElParam
-GetActiveWindow
-GetAltTabInfo
-GetAltTabInfoA
-GetAltTabInfoW
-GetAncestor
-GetAppCompatFlags
-GetAppCompatFlags2
-GetAsyncKeyState
-GetCapture
-GetCaretBlinkTime
-GetCaretPos
-GetClassInfoA
-GetClassInfoExA
-GetClassInfoExW
-GetClassInfoW
-GetClassLongA
-GetClassLongPtrA
-GetClassLongPtrW
-GetClassLongW
-GetClassNameA
-GetClassNameW
-GetClassWord
-GetClientRect
-GetClipCursor
-GetClipboardData
-GetClipboardFormatNameA
-GetClipboardFormatNameW
-GetClipboardOwner
-GetClipboardSequenceNumber
-GetClipboardViewer
-GetComboBoxInfo
-GetCursor
-GetCursorFrameInfo
-GetCursorInfo
-GetCursorPos
-GetDC
-GetDCEx
-GetDesktopWindow
-GetDialogBaseUnits
-GetDlgCtrlID
-GetDlgItem
-GetDlgItemInt
-GetDlgItemTextA
-GetDlgItemTextW
-GetDoubleClickTime
-GetFocus
-GetForegroundWindow
-GetGUIThreadInfo
-GetGuiResources
-GetIconInfo
-GetInputDesktop
-GetInputState
-GetInternalWindowPos
-GetKBCodePage
-GetKeyNameTextA
-GetKeyNameTextW
-GetKeyState
-GetKeyboardLayout
-GetKeyboardLayoutList
-GetKeyboardLayoutNameA
-GetKeyboardLayoutNameW
-GetKeyboardState
-GetKeyboardType
-GetLastActivePopup
-GetLastInputInfo
-GetLayeredWindowAttributes
-GetListBoxInfo
-GetMenu
-GetMenuBarInfo
-GetMenuCheckMarkDimensions
-GetMenuContextHelpId
-GetMenuDefaultItem
-GetMenuInfo
-GetMenuItemCount
-GetMenuItemID
-GetMenuItemInfoA
-GetMenuItemInfoW
-GetMenuItemRect
-GetMenuState
-GetMenuStringA
-GetMenuStringW
-GetMessageA
-GetMessageExtraInfo
-GetMessagePos
-GetMessageTime
-GetMessageW
-GetMonitorInfoA
-GetMonitorInfoW
-GetMouseMovePointsEx
-GetNextDlgGroupItem
-GetNextDlgTabItem
-GetOpenClipboardWindow
-GetParent
-GetPriorityClipboardFormat
-GetProcessDefaultLayout
-GetProcessWindowStation
-GetProgmanWindow
-GetPropA
-GetPropW
-GetQueueStatus
-GetRawInputBuffer
-GetRawInputData
-GetRawInputDeviceInfoA
-GetRawInputDeviceInfoW
-GetRawInputDeviceList
-GetReasonTitleFromReasonCode
-GetRegisteredRawInputDevices
-GetScrollBarInfo
-GetScrollInfo
-GetScrollPos
-GetScrollRange
-GetShellWindow
-GetSubMenu
-GetSysColor
-GetSysColorBrush
-GetSystemMenu
-GetSystemMetrics
-GetTabbedTextExtentA
-GetTabbedTextExtentW
-GetTaskmanWindow
-GetThreadDesktop
-GetTitleBarInfo
-GetTopWindow
-GetTouchInputInfo
-GetUpdateRect
-GetUpdateRgn
-GetUserObjectInformationA
-GetUserObjectInformationW
-GetUserObjectSecurity
-GetWinStationInfo
-GetWindow
-GetWindowContextHelpId
-GetWindowDC
-GetWindowInfo
-GetWindowLongA
-GetWindowLongPtrA
-GetWindowLongPtrW
-GetWindowLongW
-GetWindowModuleFileName
-GetWindowModuleFileNameA
-GetWindowModuleFileNameW
-GetWindowPlacement
-GetWindowRect
-GetWindowRgn
-GetWindowRgnBox
-GetWindowTextA
-GetWindowTextLengthA
-GetWindowTextLengthW
-GetWindowTextW
-GetWindowThreadProcessId
-GetWindowWord
-GrayStringA
-GrayStringW
-HideCaret
-HiliteMenuItem
-IMPGetIMEA
-IMPGetIMEW
-IMPQueryIMEA
-IMPQueryIMEW
-IMPSetIMEA
-IMPSetIMEW
-ImpersonateDdeClientWindow
-InSendMessage
-InSendMessageEx
-InflateRect
-InitializeLpkHooks
-InsertMenuA
-InsertMenuItemA
-InsertMenuItemW
-InsertMenuW
-InternalGetWindowText
-IntersectRect
-InvalidateRect
-InvalidateRgn
-InvertRect
-IsCharAlphaA
-IsCharAlphaNumericA
-IsCharAlphaNumericW
-IsCharAlphaW
-IsCharLowerA
-IsCharLowerW
-IsCharUpperA
-IsCharUpperW
-IsChild
-IsClipboardFormatAvailable
-IsDialogMessage
-IsDialogMessageA
-IsDialogMessageW
-IsDlgButtonChecked
-IsGUIThread
-IsHungAppWindow
-IsIconic
-IsMenu
-IsProcess16Bit
-IsRectEmpty
-IsSETEnabled
-IsServerSideWindow
-IsTouchWindow
-IsWinEventHookInstalled
-IsWindow
-IsWindowEnabled
-IsWindowInDestroy
-IsWindowUnicode
-IsWindowVisible
-IsWow64Message
-IsZoomed
-KillSystemTimer
-KillTimer
-LoadAcceleratorsA
-LoadAcceleratorsW
-LoadBitmapA
-LoadBitmapW
-LoadCursorA
-LoadCursorFromFileA
-LoadCursorFromFileW
-LoadCursorW
-LoadIconA
-LoadIconW
-LoadImageA
-LoadImageW
-LoadKeyboardLayoutA
-LoadKeyboardLayoutEx
-LoadKeyboardLayoutW
-LoadLocalFonts
-LoadMenuA
-LoadMenuIndirectA
-LoadMenuIndirectW
-LoadMenuW
-LoadRemoteFonts
-LoadStringA
-LoadStringW
-LockSetForegroundWindow
-LockWindowStation
-LockWindowUpdate
-LockWorkStation
-LookupIconIdFromDirectory
-LookupIconIdFromDirectoryEx
-MBToWCSEx
-MB_GetString
-MapDialogRect
-MapVirtualKeyA
-MapVirtualKeyExA
-MapVirtualKeyExW
-MapVirtualKeyW
-MapWindowPoints
-MenuItemFromPoint
-MenuWindowProcA
-MenuWindowProcW
-MessageBeep
-MessageBoxA
-MessageBoxExA
-MessageBoxExW
-MessageBoxIndirectA
-MessageBoxIndirectW
-MessageBoxTimeoutA
-MessageBoxTimeoutW
-MessageBoxW
-ModifyMenuA
-ModifyMenuW
-MonitorFromPoint
-MonitorFromRect
-MonitorFromWindow
-MoveWindow
-MsgWaitForMultipleObjects
-MsgWaitForMultipleObjectsEx
-NotifyWinEvent
-OemKeyScan
-OemToCharA
-OemToCharBuffA
-OemToCharBuffW
-OemToCharW
-OffsetRect
-OpenClipboard
-OpenDesktopA
-OpenDesktopW
-OpenIcon
-OpenInputDesktop
-OpenWindowStationA
-OpenWindowStationW
-PackDDElParam
-PaintDesktop
-PaintMenuBar
-PeekMessageA
-PeekMessageW
-PostMessageA
-PostMessageW
-PostQuitMessage
-PostThreadMessageA
-PostThreadMessageW
-PrintWindow
-PrivateExtractIconExA
-PrivateExtractIconExW
-PrivateExtractIconsA
-PrivateExtractIconsW
-PtInRect
-QuerySendMessage
-RealChildWindowFromPoint
-RealGetWindowClass
-RealGetWindowClassA
-RealGetWindowClassW
-ReasonCodeNeedsBugID
-ReasonCodeNeedsComment
-RecordShutdownReason
-RedrawWindow
-RegisterClassA
-RegisterClassExA
-RegisterClassExW
-RegisterClassW
-RegisterClipboardFormatA
-RegisterClipboardFormatW
-RegisterDeviceNotificationA
-RegisterDeviceNotificationW
-RegisterHotKey
-RegisterLogonProcess
-RegisterMessagePumpHook
-RegisterPowerSettingNotification
-RegisterRawInputDevices
-RegisterServicesProcess
-RegisterShellHookWindow
-RegisterSystemThread
-RegisterTasklist
-RegisterTouchWindow
-RegisterUserApiHook
-RegisterWindowMessageA
-RegisterWindowMessageW
-ReleaseCapture
-ReleaseDC
-RemoveMenu
-RemovePropA
-RemovePropW
-ReplyMessage
-ResolveDesktopForWOW
-ReuseDDElParam
-ScreenToClient
-ScrollChildren
-ScrollDC
-ScrollWindow
-ScrollWindowEx
-SendDlgItemMessageA
-SendDlgItemMessageW
-SendIMEMessageExA
-SendIMEMessageExW
-SendInput
-SendMessageA
-SendMessageCallbackA
-SendMessageCallbackW
-SendMessageTimeoutA
-SendMessageTimeoutW
-SendMessageW
-SendNotifyMessageA
-SendNotifyMessageW
-SetActiveWindow
-SetCapture
-SetCaretBlinkTime
-SetCaretPos
-SetClassLongA
-SetClassLongPtrA
-SetClassLongPtrW
-SetClassLongW
-SetClassWord
-SetClipboardData
-SetClipboardViewer
-SetConsoleReserveKeys
-SetCursor
-SetCursorContents
-SetCursorPos
-SetDebugErrorLevel
-SetDeskWallpaper
-SetDlgItemInt
-SetDlgItemTextA
-SetDlgItemTextW
-SetDoubleClickTime
-SetFocus
-SetForegroundWindow
-SetInternalWindowPos
-SetKeyboardState
-SetLastErrorEx
-SetLayeredWindowAttributes
-SetLogonNotifyWindow
-SetMenu
-SetMenuContextHelpId
-SetMenuDefaultItem
-SetMenuInfo
-SetMenuItemBitmaps
-SetMenuItemInfoA
-SetMenuItemInfoW
-SetMessageExtraInfo
-SetMessageQueue
-SetParent
-SetProcessDefaultLayout
-SetProcessWindowStation
-SetProgmanWindow
-SetPropA
-SetPropW
-SetRect
-SetRectEmpty
-SetScrollInfo
-SetScrollPos
-SetScrollRange
-SetShellWindow
-SetShellWindowEx
-SetSysColors
-SetSysColorsTemp
-SetSystemCursor
-SetSystemMenu
-SetSystemTimer
-SetTaskmanWindow
-SetThreadDesktop
-SetTimer
-SetUserObjectInformationA
-SetUserObjectInformationW
-SetUserObjectSecurity
-SetWinEventHook
-SetWindowContextHelpId
-SetWindowLongA
-SetWindowLongPtrA
-SetWindowLongPtrW
-SetWindowLongW
-SetWindowPlacement
-SetWindowPos
-SetWindowRgn
-SetWindowStationUser
-SetWindowTextA
-SetWindowTextW
-SetWindowWord
-SetWindowsHookA
-SetWindowsHookExA
-SetWindowsHookExW
-SetWindowsHookW
-ShowCaret
-ShowCursor
-ShowOwnedPopups
-ShowScrollBar
-ShowStartGlass
-ShowWindow
-ShowWindowAsync
-SoftModalMessageBox
-SubtractRect
-SwapMouseButton
-SwitchDesktop
-SwitchToThisWindow
-SystemParametersInfoA
-SystemParametersInfoW
-TabbedTextOutA
-TabbedTextOutW
-TileChildWindows
-TileWindows
-ToAscii
-ToAsciiEx
-ToUnicode
-ToUnicodeEx
-TrackMouseEvent
-TrackPopupMenu
-TrackPopupMenuEx
-TranslateAccelerator
-TranslateAcceleratorA
-TranslateAcceleratorW
-TranslateMDISysAccel
-TranslateMessage
-TranslateMessageEx
-UnhookWinEvent
-UnhookWindowsHook
-UnhookWindowsHookEx
-UnionRect
-UnloadKeyboardLayout
-UnlockWindowStation
-UnpackDDElParam
-UnregisterClassA
-UnregisterClassW
-UnregisterDeviceNotification
-UnregisterHotKey
-UnregisterMessagePumpHook
-UnregisterPowerSettingNotification
-UnregisterTouchWindow
-UnregisterUserApiHook
-UpdateLayeredWindow
-UpdateLayeredWindowIndirect
-UpdatePerUserSystemParameters
-UpdateWindow
-User32InitializeImmEntryTable
-UserClientDllInitialize
-UserHandleGrantAccess
-UserLpkPSMTextOut
-UserLpkTabbedTextOut
-UserRealizePalette
-UserRegisterWowHandlers
-ValidateRect
-ValidateRgn
-VkKeyScanA
-VkKeyScanExA
-VkKeyScanExW
-VkKeyScanW
-WCSToMBEx
-WINNLSEnableIME
-WINNLSGetEnableStatus
-WINNLSGetIMEHotkey
-WaitForInputIdle
-WaitMessage
-Win32PoolAllocationStats
-WinHelpA
-WinHelpW
-WindowFromDC
-WindowFromPoint
-keybd_event
-mouse_event
-wsprintfA
-wsprintfW
-wvsprintfA
-wvsprintfW
+; 
+; Exports of file USER32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY USER32.dll
+EXPORTS
+ActivateKeyboardLayout
+AdjustWindowRect
+AdjustWindowRectEx
+AlignRects
+AllowForegroundActivation
+AllowSetForegroundWindow
+AnimateWindow
+AnyPopup
+AppendMenuA
+AppendMenuW
+ArrangeIconicWindows
+AttachThreadInput
+BeginDeferWindowPos
+BeginPaint
+BlockInput
+BringWindowToTop
+BroadcastSystemMessage
+BroadcastSystemMessageA
+BroadcastSystemMessageExA
+BroadcastSystemMessageExW
+BroadcastSystemMessageW
+BuildReasonArray
+CalcMenuBar
+CallMsgFilter
+CallMsgFilterA
+CallMsgFilterW
+CallNextHookEx
+CallWindowProcA
+CallWindowProcW
+CascadeChildWindows
+CascadeWindows
+ChangeClipboardChain
+ChangeDisplaySettingsA
+ChangeDisplaySettingsExA
+ChangeDisplaySettingsExW
+ChangeDisplaySettingsW
+ChangeMenuA
+ChangeMenuW
+CharLowerA
+CharLowerBuffA
+CharLowerBuffW
+CharLowerW
+CharNextA
+CharNextExA
+CharNextW
+CharPrevA
+CharPrevExA
+CharPrevW
+CharToOemA
+CharToOemBuffA
+CharToOemBuffW
+CharToOemW
+CharUpperA
+CharUpperBuffA
+CharUpperBuffW
+CharUpperW
+CheckDlgButton
+CheckMenuItem
+CheckMenuRadioItem
+CheckRadioButton
+ChildWindowFromPoint
+ChildWindowFromPointEx
+CliImmSetHotKey
+ClientThreadSetup
+ClientToScreen
+ClipCursor
+CloseClipboard
+CloseDesktop
+CloseTouchInputHandle
+CloseWindow
+CloseWindowStation
+CopyAcceleratorTableA
+CopyAcceleratorTableW
+CopyIcon
+CopyImage
+CopyRect
+CountClipboardFormats
+CreateAcceleratorTableA
+CreateAcceleratorTableW
+CreateCaret
+CreateCursor
+CreateDesktopA
+CreateDesktopW
+CreateDialogIndirectParamA
+CreateDialogIndirectParamAorW
+CreateDialogIndirectParamW
+CreateDialogParamA
+CreateDialogParamW
+CreateIcon
+CreateIconFromResource
+CreateIconFromResourceEx
+CreateIconIndirect
+CreateMDIWindowA
+CreateMDIWindowW
+CreateMenu
+CreatePopupMenu
+CreateSystemThreads
+CreateWindowExA
+CreateWindowExW
+CreateWindowStationA
+CreateWindowStationW
+CsrBroadcastSystemMessageExW
+CtxInitUser32
+DdeAbandonTransaction
+DdeAccessData
+DdeAddData
+DdeClientTransaction
+DdeCmpStringHandles
+DdeConnect
+DdeConnectList
+DdeCreateDataHandle
+DdeCreateStringHandleA
+DdeCreateStringHandleW
+DdeDisconnect
+DdeDisconnectList
+DdeEnableCallback
+DdeFreeDataHandle
+DdeFreeStringHandle
+DdeGetData
+DdeGetLastError
+DdeGetQualityOfService
+DdeImpersonateClient
+DdeInitializeA
+DdeInitializeW
+DdeKeepStringHandle
+DdeNameService
+DdePostAdvise
+DdeQueryConvInfo
+DdeQueryNextServer
+DdeQueryStringA
+DdeQueryStringW
+DdeReconnect
+DdeSetQualityOfService
+DdeSetUserHandle
+DdeUnaccessData
+DdeUninitialize
+DefDlgProcA
+DefDlgProcW
+DefFrameProcA
+DefFrameProcW
+DefMDIChildProcA
+DefMDIChildProcW
+DefRawInputProc
+DefWindowProcA
+DefWindowProcW
+DeferWindowPos
+DeleteMenu
+DeregisterShellHookWindow
+DestroyAcceleratorTable
+DestroyCaret
+DestroyCursor
+DestroyIcon
+DestroyMenu
+DestroyReasons
+DestroyWindow
+DeviceEventWorker
+DialogBoxIndirectParamA
+DialogBoxIndirectParamAorW
+DialogBoxIndirectParamW
+DialogBoxParamA
+DialogBoxParamW
+DisableProcessWindowsGhosting
+DispatchMessageA
+DispatchMessageW
+DisplayExitWindowsWarnings
+DlgDirListA
+DlgDirListComboBoxA
+DlgDirListComboBoxW
+DlgDirListW
+DlgDirSelectComboBoxExA
+DlgDirSelectComboBoxExW
+DlgDirSelectExA
+DlgDirSelectExW
+DragDetect
+DragObject
+DrawAnimatedRects
+DrawCaption
+DrawCaptionTempA
+DrawCaptionTempW
+DrawEdge
+DrawFocusRect
+DrawFrame
+DrawFrameControl
+DrawIcon
+DrawIconEx
+DrawMenuBar
+DrawMenuBarTemp
+DrawStateA
+DrawStateW
+DrawTextA
+DrawTextExA
+DrawTextExW
+DrawTextW
+EditWndProc
+EmptyClipboard
+EnableMenuItem
+EnableScrollBar
+EnableWindow
+EndDeferWindowPos
+EndDialog
+EndMenu
+EndPaint
+EndTask
+EnterReaderModeHelper
+EnumChildWindows
+EnumClipboardFormats
+EnumDesktopWindows
+EnumDesktopsA
+EnumDesktopsW
+EnumDisplayDevicesA
+EnumDisplayDevicesW
+EnumDisplayMonitors
+EnumDisplaySettingsA
+EnumDisplaySettingsExA
+EnumDisplaySettingsExW
+EnumDisplaySettingsW
+EnumPropsA
+EnumPropsExA
+EnumPropsExW
+EnumPropsW
+EnumThreadWindows
+EnumWindowStationsA
+EnumWindowStationsW
+EnumWindows
+EqualRect
+ExcludeUpdateRgn
+ExitWindowsEx
+FillRect
+FindWindowA
+FindWindowExA
+FindWindowExW
+FindWindowW
+FlashWindow
+FlashWindowEx
+FrameRect
+FreeDDElParam
+GetActiveWindow
+GetAltTabInfo
+GetAltTabInfoA
+GetAltTabInfoW
+GetAncestor
+GetAppCompatFlags
+GetAppCompatFlags2
+GetAsyncKeyState
+GetCapture
+GetCaretBlinkTime
+GetCaretPos
+GetClassInfoA
+GetClassInfoExA
+GetClassInfoExW
+GetClassInfoW
+GetClassLongA
+GetClassLongPtrA
+GetClassLongPtrW
+GetClassLongW
+GetClassNameA
+GetClassNameW
+GetClassWord
+GetClientRect
+GetClipCursor
+GetClipboardData
+GetClipboardFormatNameA
+GetClipboardFormatNameW
+GetClipboardOwner
+GetClipboardSequenceNumber
+GetClipboardViewer
+GetComboBoxInfo
+GetCursor
+GetCursorFrameInfo
+GetCursorInfo
+GetCursorPos
+GetDC
+GetDCEx
+GetDesktopWindow
+GetDialogBaseUnits
+GetDlgCtrlID
+GetDlgItem
+GetDlgItemInt
+GetDlgItemTextA
+GetDlgItemTextW
+GetDoubleClickTime
+GetFocus
+GetForegroundWindow
+GetGUIThreadInfo
+GetGuiResources
+GetIconInfo
+GetInputDesktop
+GetInputState
+GetInternalWindowPos
+GetKBCodePage
+GetKeyNameTextA
+GetKeyNameTextW
+GetKeyState
+GetKeyboardLayout
+GetKeyboardLayoutList
+GetKeyboardLayoutNameA
+GetKeyboardLayoutNameW
+GetKeyboardState
+GetKeyboardType
+GetLastActivePopup
+GetLastInputInfo
+GetLayeredWindowAttributes
+GetListBoxInfo
+GetMenu
+GetMenuBarInfo
+GetMenuCheckMarkDimensions
+GetMenuContextHelpId
+GetMenuDefaultItem
+GetMenuInfo
+GetMenuItemCount
+GetMenuItemID
+GetMenuItemInfoA
+GetMenuItemInfoW
+GetMenuItemRect
+GetMenuState
+GetMenuStringA
+GetMenuStringW
+GetMessageA
+GetMessageExtraInfo
+GetMessagePos
+GetMessageTime
+GetMessageW
+GetMonitorInfoA
+GetMonitorInfoW
+GetMouseMovePointsEx
+GetNextDlgGroupItem
+GetNextDlgTabItem
+GetOpenClipboardWindow
+GetParent
+GetPriorityClipboardFormat
+GetProcessDefaultLayout
+GetProcessWindowStation
+GetProgmanWindow
+GetPropA
+GetPropW
+GetQueueStatus
+GetRawInputBuffer
+GetRawInputData
+GetRawInputDeviceInfoA
+GetRawInputDeviceInfoW
+GetRawInputDeviceList
+GetReasonTitleFromReasonCode
+GetRegisteredRawInputDevices
+GetScrollBarInfo
+GetScrollInfo
+GetScrollPos
+GetScrollRange
+GetShellWindow
+GetSubMenu
+GetSysColor
+GetSysColorBrush
+GetSystemMenu
+GetSystemMetrics
+GetTabbedTextExtentA
+GetTabbedTextExtentW
+GetTaskmanWindow
+GetThreadDesktop
+GetTitleBarInfo
+GetTopWindow
+GetTouchInputInfo
+GetUpdateRect
+GetUpdateRgn
+GetUserObjectInformationA
+GetUserObjectInformationW
+GetUserObjectSecurity
+GetWinStationInfo
+GetWindow
+GetWindowContextHelpId
+GetWindowDC
+GetWindowInfo
+GetWindowLongA
+GetWindowLongPtrA
+GetWindowLongPtrW
+GetWindowLongW
+GetWindowModuleFileName
+GetWindowModuleFileNameA
+GetWindowModuleFileNameW
+GetWindowPlacement
+GetWindowRect
+GetWindowRgn
+GetWindowRgnBox
+GetWindowTextA
+GetWindowTextLengthA
+GetWindowTextLengthW
+GetWindowTextW
+GetWindowThreadProcessId
+GetWindowWord
+GrayStringA
+GrayStringW
+HideCaret
+HiliteMenuItem
+IMPGetIMEA
+IMPGetIMEW
+IMPQueryIMEA
+IMPQueryIMEW
+IMPSetIMEA
+IMPSetIMEW
+ImpersonateDdeClientWindow
+InSendMessage
+InSendMessageEx
+InflateRect
+InitializeLpkHooks
+InsertMenuA
+InsertMenuItemA
+InsertMenuItemW
+InsertMenuW
+InternalGetWindowText
+IntersectRect
+InvalidateRect
+InvalidateRgn
+InvertRect
+IsCharAlphaA
+IsCharAlphaNumericA
+IsCharAlphaNumericW
+IsCharAlphaW
+IsCharLowerA
+IsCharLowerW
+IsCharUpperA
+IsCharUpperW
+IsChild
+IsClipboardFormatAvailable
+IsDialogMessage
+IsDialogMessageA
+IsDialogMessageW
+IsDlgButtonChecked
+IsGUIThread
+IsHungAppWindow
+IsIconic
+IsMenu
+IsProcess16Bit
+IsRectEmpty
+IsSETEnabled
+IsServerSideWindow
+IsTouchWindow
+IsWinEventHookInstalled
+IsWindow
+IsWindowEnabled
+IsWindowInDestroy
+IsWindowUnicode
+IsWindowVisible
+IsWow64Message
+IsZoomed
+KillSystemTimer
+KillTimer
+LoadAcceleratorsA
+LoadAcceleratorsW
+LoadBitmapA
+LoadBitmapW
+LoadCursorA
+LoadCursorFromFileA
+LoadCursorFromFileW
+LoadCursorW
+LoadIconA
+LoadIconW
+LoadImageA
+LoadImageW
+LoadKeyboardLayoutA
+LoadKeyboardLayoutEx
+LoadKeyboardLayoutW
+LoadLocalFonts
+LoadMenuA
+LoadMenuIndirectA
+LoadMenuIndirectW
+LoadMenuW
+LoadRemoteFonts
+LoadStringA
+LoadStringW
+LockSetForegroundWindow
+LockWindowStation
+LockWindowUpdate
+LockWorkStation
+LookupIconIdFromDirectory
+LookupIconIdFromDirectoryEx
+MBToWCSEx
+MB_GetString
+MapDialogRect
+MapVirtualKeyA
+MapVirtualKeyExA
+MapVirtualKeyExW
+MapVirtualKeyW
+MapWindowPoints
+MenuItemFromPoint
+MenuWindowProcA
+MenuWindowProcW
+MessageBeep
+MessageBoxA
+MessageBoxExA
+MessageBoxExW
+MessageBoxIndirectA
+MessageBoxIndirectW
+MessageBoxTimeoutA
+MessageBoxTimeoutW
+MessageBoxW
+ModifyMenuA
+ModifyMenuW
+MonitorFromPoint
+MonitorFromRect
+MonitorFromWindow
+MoveWindow
+MsgWaitForMultipleObjects
+MsgWaitForMultipleObjectsEx
+NotifyWinEvent
+OemKeyScan
+OemToCharA
+OemToCharBuffA
+OemToCharBuffW
+OemToCharW
+OffsetRect
+OpenClipboard
+OpenDesktopA
+OpenDesktopW
+OpenIcon
+OpenInputDesktop
+OpenWindowStationA
+OpenWindowStationW
+PackDDElParam
+PaintDesktop
+PaintMenuBar
+PeekMessageA
+PeekMessageW
+PostMessageA
+PostMessageW
+PostQuitMessage
+PostThreadMessageA
+PostThreadMessageW
+PrintWindow
+PrivateExtractIconExA
+PrivateExtractIconExW
+PrivateExtractIconsA
+PrivateExtractIconsW
+PtInRect
+QuerySendMessage
+RealChildWindowFromPoint
+RealGetWindowClass
+RealGetWindowClassA
+RealGetWindowClassW
+ReasonCodeNeedsBugID
+ReasonCodeNeedsComment
+RecordShutdownReason
+RedrawWindow
+RegisterClassA
+RegisterClassExA
+RegisterClassExW
+RegisterClassW
+RegisterClipboardFormatA
+RegisterClipboardFormatW
+RegisterDeviceNotificationA
+RegisterDeviceNotificationW
+RegisterHotKey
+RegisterLogonProcess
+RegisterMessagePumpHook
+RegisterPowerSettingNotification
+RegisterRawInputDevices
+RegisterServicesProcess
+RegisterShellHookWindow
+RegisterSystemThread
+RegisterTasklist
+RegisterTouchWindow
+RegisterUserApiHook
+RegisterWindowMessageA
+RegisterWindowMessageW
+ReleaseCapture
+ReleaseDC
+RemoveMenu
+RemovePropA
+RemovePropW
+ReplyMessage
+ResolveDesktopForWOW
+ReuseDDElParam
+ScreenToClient
+ScrollChildren
+ScrollDC
+ScrollWindow
+ScrollWindowEx
+SendDlgItemMessageA
+SendDlgItemMessageW
+SendIMEMessageExA
+SendIMEMessageExW
+SendInput
+SendMessageA
+SendMessageCallbackA
+SendMessageCallbackW
+SendMessageTimeoutA
+SendMessageTimeoutW
+SendMessageW
+SendNotifyMessageA
+SendNotifyMessageW
+SetActiveWindow
+SetCapture
+SetCaretBlinkTime
+SetCaretPos
+SetClassLongA
+SetClassLongPtrA
+SetClassLongPtrW
+SetClassLongW
+SetClassWord
+SetClipboardData
+SetClipboardViewer
+SetConsoleReserveKeys
+SetCursor
+SetCursorContents
+SetCursorPos
+SetDebugErrorLevel
+SetDeskWallpaper
+SetDlgItemInt
+SetDlgItemTextA
+SetDlgItemTextW
+SetDoubleClickTime
+SetFocus
+SetForegroundWindow
+SetInternalWindowPos
+SetKeyboardState
+SetLastErrorEx
+SetLayeredWindowAttributes
+SetLogonNotifyWindow
+SetMenu
+SetMenuContextHelpId
+SetMenuDefaultItem
+SetMenuInfo
+SetMenuItemBitmaps
+SetMenuItemInfoA
+SetMenuItemInfoW
+SetMessageExtraInfo
+SetMessageQueue
+SetParent
+SetProcessDefaultLayout
+SetProcessWindowStation
+SetProgmanWindow
+SetPropA
+SetPropW
+SetRect
+SetRectEmpty
+SetScrollInfo
+SetScrollPos
+SetScrollRange
+SetShellWindow
+SetShellWindowEx
+SetSysColors
+SetSysColorsTemp
+SetSystemCursor
+SetSystemMenu
+SetSystemTimer
+SetTaskmanWindow
+SetThreadDesktop
+SetTimer
+SetUserObjectInformationA
+SetUserObjectInformationW
+SetUserObjectSecurity
+SetWinEventHook
+SetWindowContextHelpId
+SetWindowLongA
+SetWindowLongPtrA
+SetWindowLongPtrW
+SetWindowLongW
+SetWindowPlacement
+SetWindowPos
+SetWindowRgn
+SetWindowStationUser
+SetWindowTextA
+SetWindowTextW
+SetWindowWord
+SetWindowsHookA
+SetWindowsHookExA
+SetWindowsHookExW
+SetWindowsHookW
+ShowCaret
+ShowCursor
+ShowOwnedPopups
+ShowScrollBar
+ShowStartGlass
+ShowWindow
+ShowWindowAsync
+SoftModalMessageBox
+SubtractRect
+SwapMouseButton
+SwitchDesktop
+SwitchToThisWindow
+SystemParametersInfoA
+SystemParametersInfoW
+TabbedTextOutA
+TabbedTextOutW
+TileChildWindows
+TileWindows
+ToAscii
+ToAsciiEx
+ToUnicode
+ToUnicodeEx
+TrackMouseEvent
+TrackPopupMenu
+TrackPopupMenuEx
+TranslateAccelerator
+TranslateAcceleratorA
+TranslateAcceleratorW
+TranslateMDISysAccel
+TranslateMessage
+TranslateMessageEx
+UnhookWinEvent
+UnhookWindowsHook
+UnhookWindowsHookEx
+UnionRect
+UnloadKeyboardLayout
+UnlockWindowStation
+UnpackDDElParam
+UnregisterClassA
+UnregisterClassW
+UnregisterDeviceNotification
+UnregisterHotKey
+UnregisterMessagePumpHook
+UnregisterPowerSettingNotification
+UnregisterTouchWindow
+UnregisterUserApiHook
+UpdateLayeredWindow
+UpdateLayeredWindowIndirect
+UpdatePerUserSystemParameters
+UpdateWindow
+User32InitializeImmEntryTable
+UserClientDllInitialize
+UserHandleGrantAccess
+UserLpkPSMTextOut
+UserLpkTabbedTextOut
+UserRealizePalette
+UserRegisterWowHandlers
+ValidateRect
+ValidateRgn
+VkKeyScanA
+VkKeyScanExA
+VkKeyScanExW
+VkKeyScanW
+WCSToMBEx
+WINNLSEnableIME
+WINNLSGetEnableStatus
+WINNLSGetIMEHotkey
+WaitForInputIdle
+WaitMessage
+Win32PoolAllocationStats
+WinHelpA
+WinHelpW
+WindowFromDC
+WindowFromPoint
+keybd_event
+mouse_event
+wsprintfA
+wsprintfW
+wvsprintfA
+wvsprintfW
diff --git a/mingw-w64-crt/lib64/userenv.def b/mingw-w64-crt/lib64/userenv.def
index fb5f2d3..7ffda7f 100644
--- a/mingw-w64-crt/lib64/userenv.def
+++ b/mingw-w64-crt/lib64/userenv.def
@@ -1,56 +1,56 @@
-; 
-; Exports of file USERENV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY USERENV.dll
-EXPORTS
-CreateEnvironmentBlock
-DeleteProfileA
-DeleteProfileW
-DestroyEnvironmentBlock
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-EnterCriticalPolicySection
-ExpandEnvironmentStringsForUserA
-ExpandEnvironmentStringsForUserW
-ForceSyncFgPolicy
-FreeGPOListA
-FreeGPOListW
-GenerateRsopPolicy
-GetAllUsersProfileDirectoryA
-GetAllUsersProfileDirectoryW
-GetAppliedGPOListA
-GetAppliedGPOListW
-GetDefaultUserProfileDirectoryA
-GetDefaultUserProfileDirectoryW
-GetGPOListA
-GetGPOListW
-GetNextFgPolicyRefreshInfo
-GetPreviousFgPolicyRefreshInfo
-GetProfileType
-GetProfilesDirectoryA
-GetProfilesDirectoryW
-GetUserProfileDirectoryA
-GetUserProfileDirectoryW
-LeaveCriticalPolicySection
-LoadUserProfileA
-LoadUserProfileW
-ProcessGroupPolicyCompleted
-ProcessGroupPolicyCompletedEx
-RefreshPolicy
-RefreshPolicyEx
-RegisterGPNotification
-RsopAccessCheckByType
-RsopFileAccessCheck
-RsopLoggingEnabled
-RsopResetPolicySettingStatus
-RsopSetPolicySettingStatus
-UnloadUserProfile
-UnregisterGPNotification
-WaitForMachinePolicyForegroundProcessing
-WaitForUserPolicyForegroundProcessing
+; 
+; Exports of file USERENV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY USERENV.dll
+EXPORTS
+CreateEnvironmentBlock
+DeleteProfileA
+DeleteProfileW
+DestroyEnvironmentBlock
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+EnterCriticalPolicySection
+ExpandEnvironmentStringsForUserA
+ExpandEnvironmentStringsForUserW
+ForceSyncFgPolicy
+FreeGPOListA
+FreeGPOListW
+GenerateRsopPolicy
+GetAllUsersProfileDirectoryA
+GetAllUsersProfileDirectoryW
+GetAppliedGPOListA
+GetAppliedGPOListW
+GetDefaultUserProfileDirectoryA
+GetDefaultUserProfileDirectoryW
+GetGPOListA
+GetGPOListW
+GetNextFgPolicyRefreshInfo
+GetPreviousFgPolicyRefreshInfo
+GetProfileType
+GetProfilesDirectoryA
+GetProfilesDirectoryW
+GetUserProfileDirectoryA
+GetUserProfileDirectoryW
+LeaveCriticalPolicySection
+LoadUserProfileA
+LoadUserProfileW
+ProcessGroupPolicyCompleted
+ProcessGroupPolicyCompletedEx
+RefreshPolicy
+RefreshPolicyEx
+RegisterGPNotification
+RsopAccessCheckByType
+RsopFileAccessCheck
+RsopLoggingEnabled
+RsopResetPolicySettingStatus
+RsopSetPolicySettingStatus
+UnloadUserProfile
+UnregisterGPNotification
+WaitForMachinePolicyForegroundProcessing
+WaitForUserPolicyForegroundProcessing
diff --git a/mingw-w64-crt/lib64/usp10.def b/mingw-w64-crt/lib64/usp10.def
index c6483d9..1d06cad 100644
--- a/mingw-w64-crt/lib64/usp10.def
+++ b/mingw-w64-crt/lib64/usp10.def
@@ -1,43 +1,43 @@
-; 
-; Exports of file USP10.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY USP10.dll
-EXPORTS
-LpkPresent
-ScriptApplyDigitSubstitution
-ScriptApplyLogicalWidth
-ScriptBreak
-ScriptCPtoX
-ScriptCacheGetHeight
-ScriptFreeCache
-ScriptGetCMap
-ScriptGetFontProperties
-ScriptGetGlyphABCWidth
-ScriptGetLogicalWidths
-ScriptGetProperties
-ScriptIsComplex
-ScriptItemize
-ScriptJustify
-ScriptLayout
-ScriptPlace
-ScriptRecordDigitSubstitution
-ScriptShape
-ScriptStringAnalyse
-ScriptStringCPtoX
-ScriptStringFree
-ScriptStringGetLogicalWidths
-ScriptStringGetOrder
-ScriptStringOut
-ScriptStringValidate
-ScriptStringXtoCP
-ScriptString_pLogAttr
-ScriptString_pSize
-ScriptString_pcOutChars
-ScriptTextOut
-ScriptXtoCP
-UspAllocCache
-UspAllocTemp
-UspFreeMem
+; 
+; Exports of file USP10.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY USP10.dll
+EXPORTS
+LpkPresent
+ScriptApplyDigitSubstitution
+ScriptApplyLogicalWidth
+ScriptBreak
+ScriptCPtoX
+ScriptCacheGetHeight
+ScriptFreeCache
+ScriptGetCMap
+ScriptGetFontProperties
+ScriptGetGlyphABCWidth
+ScriptGetLogicalWidths
+ScriptGetProperties
+ScriptIsComplex
+ScriptItemize
+ScriptJustify
+ScriptLayout
+ScriptPlace
+ScriptRecordDigitSubstitution
+ScriptShape
+ScriptStringAnalyse
+ScriptStringCPtoX
+ScriptStringFree
+ScriptStringGetLogicalWidths
+ScriptStringGetOrder
+ScriptStringOut
+ScriptStringValidate
+ScriptStringXtoCP
+ScriptString_pLogAttr
+ScriptString_pSize
+ScriptString_pcOutChars
+ScriptTextOut
+ScriptXtoCP
+UspAllocCache
+UspAllocTemp
+UspFreeMem
diff --git a/mingw-w64-crt/lib64/utildll.def b/mingw-w64-crt/lib64/utildll.def
index 233fa40..bdbe97b 100644
--- a/mingw-w64-crt/lib64/utildll.def
+++ b/mingw-w64-crt/lib64/utildll.def
@@ -1,44 +1,44 @@
-; 
-; Exports of file UTILDLL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY UTILDLL.dll
-EXPORTS
-AsyncDeviceEnumerate
-CachedGetUserFromSid
-CalculateDiffTime
-CalculateElapsedTime
-CompareElapsedTime
-ConfigureModem
-CtxGetAnyDCName
-CurrentDateTimeString
-DateTimeString
-ElapsedTimeString
-EnumerateMultiUserServers
-FormDecoratedAsyncDeviceName
-GetAssociatedPortName
-GetSystemMessageA
-GetSystemMessageW
-GetUnknownString
-GetUserFromSid
-HaveAnonymousUsersChanged
-InitializeAnonymousUserCompareList
-InstallModem
-IsPartOfDomain
-NetBIOSDeviceEnumerate
-NetworkDeviceEnumerate
-ParseDecoratedAsyncDeviceName
-QueryCurrentWinStation
-RegGetNetworkDeviceName
-RegGetNetworkServiceName
-SetupAsyncCdConfig
-StandardErrorMessage
-StrAsyncConnectState
-StrConnectState
-StrProcessState
-StrSdClass
-StrSystemWaitReason
-TestUserForAdmin
-WinEnumerateDevices
+; 
+; Exports of file UTILDLL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY UTILDLL.dll
+EXPORTS
+AsyncDeviceEnumerate
+CachedGetUserFromSid
+CalculateDiffTime
+CalculateElapsedTime
+CompareElapsedTime
+ConfigureModem
+CtxGetAnyDCName
+CurrentDateTimeString
+DateTimeString
+ElapsedTimeString
+EnumerateMultiUserServers
+FormDecoratedAsyncDeviceName
+GetAssociatedPortName
+GetSystemMessageA
+GetSystemMessageW
+GetUnknownString
+GetUserFromSid
+HaveAnonymousUsersChanged
+InitializeAnonymousUserCompareList
+InstallModem
+IsPartOfDomain
+NetBIOSDeviceEnumerate
+NetworkDeviceEnumerate
+ParseDecoratedAsyncDeviceName
+QueryCurrentWinStation
+RegGetNetworkDeviceName
+RegGetNetworkServiceName
+SetupAsyncCdConfig
+StandardErrorMessage
+StrAsyncConnectState
+StrConnectState
+StrProcessState
+StrSdClass
+StrSystemWaitReason
+TestUserForAdmin
+WinEnumerateDevices
diff --git a/mingw-w64-crt/lib64/uxtheme.def b/mingw-w64-crt/lib64/uxtheme.def
index 3166809..cd84643 100644
--- a/mingw-w64-crt/lib64/uxtheme.def
+++ b/mingw-w64-crt/lib64/uxtheme.def
@@ -1,67 +1,67 @@
-; 
-; Exports of file UxTheme.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY UxTheme.dll
-EXPORTS
-BeginBufferedPaint
-BufferedPaintClear
-BufferedPaintInit
-BufferedPaintSetAlpha
-BufferedPaintUnInit
-CloseThemeData
-DrawThemeBackground
-DrawThemeEdge
-DrawThemeIcon
-DrawThemeParentBackground
-DrawThemeText
-EnableThemeDialogTexture
-EnableTheming
-EndBufferedPaint
-GetCurrentThemeName
-DrawThemeBackgroundEx
-GetBufferedPaintBits
-GetBufferedPaintDC
-GetBufferedPaintTargetDC
-GetBufferedPaintTargetRect
-GetThemeAppProperties
-GetThemeBackgroundContentRect
-GetThemeBackgroundExtent
-GetThemeBackgroundRegion
-GetThemeBool
-GetThemeColor
-GetThemeDocumentationProperty
-GetThemeEnumValue
-GetThemeFilename
-GetThemeFont
-GetThemeInt
-GetThemeIntList
-GetThemeMargins
-GetThemeMetric
-GetThemePartSize
-GetThemePosition
-GetThemePropertyOrigin
-GetThemeRect
-GetThemeString
-GetThemeSysBool
-GetThemeSysColor
-GetThemeSysColorBrush
-GetThemeSysFont
-GetThemeSysInt
-GetThemeSysSize
-GetThemeSysString
-GetThemeTextExtent
-GetThemeTextMetrics
-GetWindowTheme
-HitTestThemeBackground
-IsAppThemed
-IsThemeActive
-IsThemeBackgroundPartiallyTransparent
-IsThemeDialogTextureEnabled
-IsThemePartDefined
-OpenThemeData
-SetThemeAppProperties
-SetWindowTheme
-ThemeInitApiHook
+; 
+; Exports of file UxTheme.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY UxTheme.dll
+EXPORTS
+BeginBufferedPaint
+BufferedPaintClear
+BufferedPaintInit
+BufferedPaintSetAlpha
+BufferedPaintUnInit
+CloseThemeData
+DrawThemeBackground
+DrawThemeEdge
+DrawThemeIcon
+DrawThemeParentBackground
+DrawThemeText
+EnableThemeDialogTexture
+EnableTheming
+EndBufferedPaint
+GetCurrentThemeName
+DrawThemeBackgroundEx
+GetBufferedPaintBits
+GetBufferedPaintDC
+GetBufferedPaintTargetDC
+GetBufferedPaintTargetRect
+GetThemeAppProperties
+GetThemeBackgroundContentRect
+GetThemeBackgroundExtent
+GetThemeBackgroundRegion
+GetThemeBool
+GetThemeColor
+GetThemeDocumentationProperty
+GetThemeEnumValue
+GetThemeFilename
+GetThemeFont
+GetThemeInt
+GetThemeIntList
+GetThemeMargins
+GetThemeMetric
+GetThemePartSize
+GetThemePosition
+GetThemePropertyOrigin
+GetThemeRect
+GetThemeString
+GetThemeSysBool
+GetThemeSysColor
+GetThemeSysColorBrush
+GetThemeSysFont
+GetThemeSysInt
+GetThemeSysSize
+GetThemeSysString
+GetThemeTextExtent
+GetThemeTextMetrics
+GetWindowTheme
+HitTestThemeBackground
+IsAppThemed
+IsThemeActive
+IsThemeBackgroundPartiallyTransparent
+IsThemeDialogTextureEnabled
+IsThemePartDefined
+OpenThemeData
+SetThemeAppProperties
+SetWindowTheme
+ThemeInitApiHook
diff --git a/mingw-w64-crt/lib64/vbscript.def b/mingw-w64-crt/lib64/vbscript.def
index aef4ce2..8fccce4 100644
--- a/mingw-w64-crt/lib64/vbscript.def
+++ b/mingw-w64-crt/lib64/vbscript.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file VBSCRIPT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY VBSCRIPT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file VBSCRIPT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY VBSCRIPT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/vds_ps.def b/mingw-w64-crt/lib64/vds_ps.def
index 98beea1..d4e9528 100644
--- a/mingw-w64-crt/lib64/vds_ps.def
+++ b/mingw-w64-crt/lib64/vds_ps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file vds_ps.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY vds_ps.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file vds_ps.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY vds_ps.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/vdsbas.def b/mingw-w64-crt/lib64/vdsbas.def
index 2003855..1056093 100644
--- a/mingw-w64-crt/lib64/vdsbas.def
+++ b/mingw-w64-crt/lib64/vdsbas.def
@@ -1,234 +1,234 @@
-; 
-; Exports of file bprovider.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY bprovider.DLL
-EXPORTS
-; public: __cdecl CVdsHandleImpl<-1>::CVdsHandleImpl<-1>(void) __ptr64
-??0?$CVdsHandleImpl@$0?0@@QEAA@XZ
-; public: __cdecl CVdsHandleImpl<0>::CVdsHandleImpl<0>(void) __ptr64
-??0?$CVdsHandleImpl@$0A@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<char>::CVdsHeapPtr<char>(void) __ptr64
-??0?$CVdsHeapPtr@D@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<unsigned char>::CVdsHeapPtr<unsigned char>(void) __ptr64
-??0?$CVdsHeapPtr@E@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<unsigned short>::CVdsHeapPtr<unsigned short>(void) __ptr64
-??0?$CVdsHeapPtr@G@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>::CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>(void) __ptr64
-??0?$CVdsHeapPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _BOOT_ENTRY>::CVdsHeapPtr<struct _BOOT_ENTRY>(void) __ptr64
-??0?$CVdsHeapPtr@U_BOOT_ENTRY@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::CVdsHeapPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
-??0?$CVdsHeapPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _FILE_PATH>::CVdsHeapPtr<struct _FILE_PATH>(void) __ptr64
-??0?$CVdsHeapPtr@U_FILE_PATH@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::CVdsHeapPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>(void) __ptr64
-??0?$CVdsHeapPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
-??0?$CVdsHeapPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _VOLMGR_HIDDEN_VOLUMES>::CVdsHeapPtr<struct _VOLMGR_HIDDEN_VOLUMES>(void) __ptr64
-??0?$CVdsHeapPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<char>::CVdsPtr<char>(void) __ptr64
-??0?$CVdsPtr@D@@QEAA@XZ
-; public: __cdecl CVdsPtr<unsigned char>::CVdsPtr<unsigned char>(void) __ptr64
-??0?$CVdsPtr@E@@QEAA@XZ
-; public: __cdecl CVdsPtr<unsigned short>::CVdsPtr<unsigned short>(void) __ptr64
-??0?$CVdsPtr@G@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::CVdsPtr<struct _AUCTION_THREAD_PARAMETER>(void) __ptr64
-??0?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _BOOT_ENTRY>::CVdsPtr<struct _BOOT_ENTRY>(void) __ptr64
-??0?$CVdsPtr@U_BOOT_ENTRY@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
-??0?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _FILE_PATH>::CVdsPtr<struct _FILE_PATH>(void) __ptr64
-??0?$CVdsPtr@U_FILE_PATH@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>(void) __ptr64
-??0?$CVdsPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
-??0?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>::CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>(void) __ptr64
-??0?$CVdsPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAA@XZ
-; public: __cdecl CPrvEnumObject::CPrvEnumObject(void) __ptr64
-??0CPrvEnumObject@@QEAA@XZ
-; public: __cdecl CVdsCriticalSection::CVdsCriticalSection(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
-??0CVdsCriticalSection@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
-; public: __cdecl CVdsPnPNotificationBase::CVdsPnPNotificationBase(void) __ptr64
-??0CVdsPnPNotificationBase@@QEAA@XZ
-; public: __cdecl CVdsStructuredExceptionTranslator::CVdsStructuredExceptionTranslator(void) __ptr64
-??0CVdsStructuredExceptionTranslator@@QEAA@XZ
-; public: __cdecl CVdsUnlockIt::CVdsUnlockIt(long & __ptr64) __ptr64
-??0CVdsUnlockIt@@QEAA@AEAJ@Z
-; public: __cdecl CVdsHandleImpl<-1>::~CVdsHandleImpl<-1>(void) __ptr64
-??1?$CVdsHandleImpl@$0?0@@QEAA@XZ
-; public: __cdecl CVdsHandleImpl<0>::~CVdsHandleImpl<0>(void) __ptr64
-??1?$CVdsHandleImpl@$0A@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<char>::~CVdsHeapPtr<char>(void) __ptr64
-??1?$CVdsHeapPtr@D@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<unsigned char>::~CVdsHeapPtr<unsigned char>(void) __ptr64
-??1?$CVdsHeapPtr@E@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<unsigned short>::~CVdsHeapPtr<unsigned short>(void) __ptr64
-??1?$CVdsHeapPtr@G@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>::~CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>(void) __ptr64
-??1?$CVdsHeapPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _BOOT_ENTRY>::~CVdsHeapPtr<struct _BOOT_ENTRY>(void) __ptr64
-??1?$CVdsHeapPtr@U_BOOT_ENTRY@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::~CVdsHeapPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
-??1?$CVdsHeapPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _FILE_PATH>::~CVdsHeapPtr<struct _FILE_PATH>(void) __ptr64
-??1?$CVdsHeapPtr@U_FILE_PATH@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::~CVdsHeapPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>(void) __ptr64
-??1?$CVdsHeapPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::~CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
-??1?$CVdsHeapPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _VOLMGR_HIDDEN_VOLUMES>::~CVdsHeapPtr<struct _VOLMGR_HIDDEN_VOLUMES>(void) __ptr64
-??1?$CVdsHeapPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<char>::~CVdsPtr<char>(void) __ptr64
-??1?$CVdsPtr@D@@QEAA@XZ
-; public: __cdecl CVdsPtr<unsigned char>::~CVdsPtr<unsigned char>(void) __ptr64
-??1?$CVdsPtr@E@@QEAA@XZ
-; public: __cdecl CVdsPtr<unsigned short>::~CVdsPtr<unsigned short>(void) __ptr64
-??1?$CVdsPtr@G@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::~CVdsPtr<struct _AUCTION_THREAD_PARAMETER>(void) __ptr64
-??1?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _BOOT_ENTRY>::~CVdsPtr<struct _BOOT_ENTRY>(void) __ptr64
-??1?$CVdsPtr@U_BOOT_ENTRY@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::~CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
-??1?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _FILE_PATH>::~CVdsPtr<struct _FILE_PATH>(void) __ptr64
-??1?$CVdsPtr@U_FILE_PATH@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::~CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>(void) __ptr64
-??1?$CVdsPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::~CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
-??1?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>::~CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>(void) __ptr64
-??1?$CVdsPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAA@XZ
-; public: __cdecl CPrvEnumObject::~CPrvEnumObject(void) __ptr64
-??1CPrvEnumObject@@QEAA@XZ
-; public: __cdecl CVdsCriticalSection::~CVdsCriticalSection(void) __ptr64
-??1CVdsCriticalSection@@QEAA@XZ
-; public: __cdecl CVdsDebugLog::~CVdsDebugLog(void) __ptr64
-??1CVdsDebugLog@@QEAA@XZ
-; public: __cdecl CVdsPnPNotificationBase::~CVdsPnPNotificationBase(void) __ptr64
-??1CVdsPnPNotificationBase@@QEAA@XZ
-; public: __cdecl CVdsStructuredExceptionTranslator::~CVdsStructuredExceptionTranslator(void) __ptr64
-??1CVdsStructuredExceptionTranslator@@QEAA@XZ
-; public: __cdecl CVdsUnlockIt::~CVdsUnlockIt(void) __ptr64
-??1CVdsUnlockIt@@QEAA@XZ
-; public: void * __ptr64 __cdecl CVdsHandleImpl<0>::operator=(void * __ptr64) __ptr64
-??4?$CVdsHandleImpl@$0A@@@QEAAPEAXPEAX@Z
-; public: char * __ptr64 __cdecl CVdsHeapPtr<char>::operator=(char * __ptr64) __ptr64
-??4?$CVdsHeapPtr@D@@QEAAPEADPEAD@Z
-; public: unsigned char * __ptr64 __cdecl CVdsHeapPtr<unsigned char>::operator=(unsigned char * __ptr64) __ptr64
-??4?$CVdsHeapPtr@E@@QEAAPEAEPEAE@Z
-; public: unsigned short * __ptr64 __cdecl CVdsHeapPtr<unsigned short>::operator=(unsigned short * __ptr64) __ptr64
-??4?$CVdsHeapPtr@G@@QEAAPEAGPEAG@Z
-; public: struct _AUCTION_THREAD_PARAMETER * __ptr64 __cdecl CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>::operator=(struct _AUCTION_THREAD_PARAMETER * __ptr64) __ptr64
-??4?$CVdsHeapPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAAPEAU_AUCTION_THREAD_PARAMETER@@PEAU1@@Z
-; public: struct _BOOT_ENTRY * __ptr64 __cdecl CVdsHeapPtr<struct _BOOT_ENTRY>::operator=(struct _BOOT_ENTRY * __ptr64) __ptr64
-??4?$CVdsHeapPtr@U_BOOT_ENTRY@@@@QEAAPEAU_BOOT_ENTRY@@PEAU1@@Z
-; public: struct _FILE_PATH * __ptr64 __cdecl CVdsHeapPtr<struct _FILE_PATH>::operator=(struct _FILE_PATH * __ptr64) __ptr64
-??4?$CVdsHeapPtr@U_FILE_PATH@@@@QEAAPEAU_FILE_PATH@@PEAU1@@Z
-; public: struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::operator=(struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64) __ptr64
-??4?$CVdsHeapPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@PEAU1@@Z
-; public: bool __cdecl CVdsHandleImpl<0>::operator==(void * __ptr64)const  __ptr64
-??8?$CVdsHandleImpl@$0A@@@QEBA_NPEAX@Z
-; public: bool __cdecl CVdsPtr<char>::operator==(char * __ptr64)const  __ptr64
-??8?$CVdsPtr@D@@QEBA_NPEAD@Z
-; public: bool __cdecl CVdsPtr<unsigned char>::operator==(unsigned char * __ptr64)const  __ptr64
-??8?$CVdsPtr@E@@QEBA_NPEAE@Z
-; public: bool __cdecl CVdsPtr<unsigned short>::operator==(unsigned short * __ptr64)const  __ptr64
-??8?$CVdsPtr@G@@QEBA_NPEAG@Z
-; public: bool __cdecl CVdsPtr<struct _BOOT_ENTRY>::operator==(struct _BOOT_ENTRY * __ptr64)const  __ptr64
-??8?$CVdsPtr@U_BOOT_ENTRY@@@@QEBA_NPEAU_BOOT_ENTRY@@@Z
-; public: bool __cdecl CVdsPtr<struct _FILE_PATH>::operator==(struct _FILE_PATH * __ptr64)const  __ptr64
-??8?$CVdsPtr@U_FILE_PATH@@@@QEBA_NPEAU_FILE_PATH@@@Z
-; public: bool __cdecl CVdsHandleImpl<0>::operator!=(void * __ptr64)const  __ptr64
-??9?$CVdsHandleImpl@$0A@@@QEBA_NPEAX@Z
-; public: bool __cdecl CVdsPtr<unsigned char>::operator!=(unsigned char * __ptr64)const  __ptr64
-??9?$CVdsPtr@E@@QEBA_NPEAE@Z
-; public: bool __cdecl CVdsPtr<unsigned short>::operator!=(unsigned short * __ptr64)const  __ptr64
-??9?$CVdsPtr@G@@QEBA_NPEAG@Z
-; public: bool __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::operator!=(struct _AUCTION_THREAD_PARAMETER * __ptr64)const  __ptr64
-??9?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEBA_NPEAU_AUCTION_THREAD_PARAMETER@@@Z
-; public: char & __ptr64 __cdecl CVdsPtr<char>::operator[](unsigned long) __ptr64
-??A?$CVdsPtr@D@@QEAAAEADK@Z
-; public: __cdecl CVdsHandleImpl<-1>::operator void * __ptr64(void) __ptr64
-??B?$CVdsHandleImpl@$0?0@@QEAAPEAXXZ
-; public: __cdecl CVdsHandleImpl<0>::operator void * __ptr64(void) __ptr64
-??B?$CVdsHandleImpl@$0A@@@QEAAPEAXXZ
-; public: __cdecl CVdsPtr<char>::operator char * __ptr64(void)const  __ptr64
-??B?$CVdsPtr@D@@QEBAPEADXZ
-; public: __cdecl CVdsPtr<unsigned char>::operator unsigned char * __ptr64(void)const  __ptr64
-??B?$CVdsPtr@E@@QEBAPEAEXZ
-; public: __cdecl CVdsPtr<unsigned short>::operator unsigned short * __ptr64(void)const  __ptr64
-??B?$CVdsPtr@G@@QEBAPEAGXZ
-; public: __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::operator struct _AUCTION_THREAD_PARAMETER * __ptr64(void)const  __ptr64
-??B?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEBAPEAU_AUCTION_THREAD_PARAMETER@@XZ
-; public: __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::operator struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64(void)const  __ptr64
-??B?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEBAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@XZ
-; public: __cdecl CVdsPtr<struct _FILE_PATH>::operator struct _FILE_PATH * __ptr64(void)const  __ptr64
-??B?$CVdsPtr@U_FILE_PATH@@@@QEBAPEAU_FILE_PATH@@XZ
-; public: __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::operator struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64(void)const  __ptr64
-??B?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEBAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@XZ
-; public: struct _AUCTION_THREAD_PARAMETER * __ptr64 __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::operator->(void)const  __ptr64
-??C?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEBAPEAU_AUCTION_THREAD_PARAMETER@@XZ
-; public: struct _BOOT_ENTRY * __ptr64 __cdecl CVdsPtr<struct _BOOT_ENTRY>::operator->(void)const  __ptr64
-??C?$CVdsPtr@U_BOOT_ENTRY@@@@QEBAPEAU_BOOT_ENTRY@@XZ
-; public: struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::operator->(void)const  __ptr64
-??C?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEBAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@XZ
-; public: struct _FILE_PATH * __ptr64 __cdecl CVdsPtr<struct _FILE_PATH>::operator->(void)const  __ptr64
-??C?$CVdsPtr@U_FILE_PATH@@@@QEBAPEAU_FILE_PATH@@XZ
-; public: struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::operator->(void)const  __ptr64
-??C?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEBAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@XZ
-; public: void * __ptr64 * __ptr64 __cdecl CVdsHandleImpl<-1>::operator&(void) __ptr64
-??I?$CVdsHandleImpl@$0?0@@QEAAPEAPEAXXZ
-; public: unsigned short * __ptr64 * __ptr64 __cdecl CVdsPtr<unsigned short>::operator&(void) __ptr64
-??I?$CVdsPtr@G@@QEAAPEAPEAGXZ
-; public: struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64 * __ptr64 __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::operator&(void) __ptr64
-??I?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@XZ
-; public: struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64 * __ptr64 __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::operator&(void) __ptr64
-??I?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@XZ
-; public: void __cdecl CVdsAsyncObjectBase::AllowCancel(void) __ptr64
-?AllowCancel@CVdsAsyncObjectBase@@QEAAXXZ
-; public: void __cdecl CVdsPtr<unsigned short>::Attach(unsigned short * __ptr64) __ptr64
-?Attach@?$CVdsPtr@G@@QEAAXPEAG@Z
-; public: void __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::Attach(struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64) __ptr64
-?Attach@?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAXPEAU_DRIVE_LAYOUT_INFORMATION_EX@@@Z
-; public: void __cdecl CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::Attach(struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W * __ptr64) __ptr64
-?Attach@?$CVdsPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAAXPEAU_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@Z
-; public: void __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::Attach(struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64) __ptr64
-?Attach@?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAXPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@Z
-; public: void __cdecl CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>::Attach(struct _VOLMGR_HIDDEN_VOLUMES * __ptr64) __ptr64
-?Attach@?$CVdsPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAAXPEAU_VOLMGR_HIDDEN_VOLUMES@@@Z
-; public: void __cdecl CVdsHandleImpl<-1>::Close(void) __ptr64
-?Close@?$CVdsHandleImpl@$0?0@@QEAAXXZ
-; public: void * __ptr64 __cdecl CVdsHandleImpl<-1>::Detach(void) __ptr64
-?Detach@?$CVdsHandleImpl@$0?0@@QEAAPEAXXZ
-; public: unsigned short * __ptr64 __cdecl CVdsPtr<unsigned short>::Detach(void) __ptr64
-?Detach@?$CVdsPtr@G@@QEAAPEAGXZ
-; public: struct _AUCTION_THREAD_PARAMETER * __ptr64 __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::Detach(void) __ptr64
-?Detach@?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAAPEAU_AUCTION_THREAD_PARAMETER@@XZ
-; public: struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::Detach(void) __ptr64
-?Detach@?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@XZ
-; public: struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::Detach(void) __ptr64
-?Detach@?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@XZ
-; public: void __cdecl CVdsAsyncObjectBase::DisallowCancel(void) __ptr64
-?DisallowCancel@CVdsAsyncObjectBase@@QEAAXXZ
-; public: enum __MIDL___MIDL_itf_vdsswprv_0000_0002  __cdecl CVdsAsyncObjectBase::GetOutputType(void) __ptr64
-?GetOutputType@CVdsAsyncObjectBase@@QEAA?AW4__MIDL___MIDL_itf_vdsswprv_0000_0002@@XZ
-; public: int __cdecl CVdsAsyncObjectBase::IsCancelRequested(void) __ptr64
-?IsCancelRequested@CVdsAsyncObjectBase@@QEAAHXZ
-; public: void __cdecl CVdsAsyncObjectBase::SetOutputType(enum __MIDL___MIDL_itf_vdsswprv_0000_0002) __ptr64
-?SetOutputType@CVdsAsyncObjectBase@@QEAAXW4__MIDL___MIDL_itf_vdsswprv_0000_0002@@@Z
-; public: void __cdecl CPrvEnumObject::SetPositionToLast(void) __ptr64
-?SetPositionToLast@CPrvEnumObject@@QEAAXXZ
-; public: int __cdecl CVdsDebugLog::TracingLogEnabled(void) __ptr64
-?TracingLogEnabled@CVdsDebugLog@@QEAAHXZ
-; public: void __cdecl CVdsAsyncObjectBase::ZeroAsyncOut(void) __ptr64
-?ZeroAsyncOut@CVdsAsyncObjectBase@@QEAAXXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file bprovider.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY bprovider.DLL
+EXPORTS
+; public: __cdecl CVdsHandleImpl<-1>::CVdsHandleImpl<-1>(void) __ptr64
+??0?$CVdsHandleImpl@$0?0@@QEAA@XZ
+; public: __cdecl CVdsHandleImpl<0>::CVdsHandleImpl<0>(void) __ptr64
+??0?$CVdsHandleImpl@$0A@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<char>::CVdsHeapPtr<char>(void) __ptr64
+??0?$CVdsHeapPtr@D@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<unsigned char>::CVdsHeapPtr<unsigned char>(void) __ptr64
+??0?$CVdsHeapPtr@E@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<unsigned short>::CVdsHeapPtr<unsigned short>(void) __ptr64
+??0?$CVdsHeapPtr@G@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>::CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>(void) __ptr64
+??0?$CVdsHeapPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _BOOT_ENTRY>::CVdsHeapPtr<struct _BOOT_ENTRY>(void) __ptr64
+??0?$CVdsHeapPtr@U_BOOT_ENTRY@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::CVdsHeapPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
+??0?$CVdsHeapPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _FILE_PATH>::CVdsHeapPtr<struct _FILE_PATH>(void) __ptr64
+??0?$CVdsHeapPtr@U_FILE_PATH@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::CVdsHeapPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>(void) __ptr64
+??0?$CVdsHeapPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
+??0?$CVdsHeapPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _VOLMGR_HIDDEN_VOLUMES>::CVdsHeapPtr<struct _VOLMGR_HIDDEN_VOLUMES>(void) __ptr64
+??0?$CVdsHeapPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<char>::CVdsPtr<char>(void) __ptr64
+??0?$CVdsPtr@D@@QEAA@XZ
+; public: __cdecl CVdsPtr<unsigned char>::CVdsPtr<unsigned char>(void) __ptr64
+??0?$CVdsPtr@E@@QEAA@XZ
+; public: __cdecl CVdsPtr<unsigned short>::CVdsPtr<unsigned short>(void) __ptr64
+??0?$CVdsPtr@G@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::CVdsPtr<struct _AUCTION_THREAD_PARAMETER>(void) __ptr64
+??0?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _BOOT_ENTRY>::CVdsPtr<struct _BOOT_ENTRY>(void) __ptr64
+??0?$CVdsPtr@U_BOOT_ENTRY@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
+??0?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _FILE_PATH>::CVdsPtr<struct _FILE_PATH>(void) __ptr64
+??0?$CVdsPtr@U_FILE_PATH@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>(void) __ptr64
+??0?$CVdsPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
+??0?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>::CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>(void) __ptr64
+??0?$CVdsPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAA@XZ
+; public: __cdecl CPrvEnumObject::CPrvEnumObject(void) __ptr64
+??0CPrvEnumObject@@QEAA@XZ
+; public: __cdecl CVdsCriticalSection::CVdsCriticalSection(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
+??0CVdsCriticalSection@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
+; public: __cdecl CVdsPnPNotificationBase::CVdsPnPNotificationBase(void) __ptr64
+??0CVdsPnPNotificationBase@@QEAA@XZ
+; public: __cdecl CVdsStructuredExceptionTranslator::CVdsStructuredExceptionTranslator(void) __ptr64
+??0CVdsStructuredExceptionTranslator@@QEAA@XZ
+; public: __cdecl CVdsUnlockIt::CVdsUnlockIt(long & __ptr64) __ptr64
+??0CVdsUnlockIt@@QEAA@AEAJ@Z
+; public: __cdecl CVdsHandleImpl<-1>::~CVdsHandleImpl<-1>(void) __ptr64
+??1?$CVdsHandleImpl@$0?0@@QEAA@XZ
+; public: __cdecl CVdsHandleImpl<0>::~CVdsHandleImpl<0>(void) __ptr64
+??1?$CVdsHandleImpl@$0A@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<char>::~CVdsHeapPtr<char>(void) __ptr64
+??1?$CVdsHeapPtr@D@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<unsigned char>::~CVdsHeapPtr<unsigned char>(void) __ptr64
+??1?$CVdsHeapPtr@E@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<unsigned short>::~CVdsHeapPtr<unsigned short>(void) __ptr64
+??1?$CVdsHeapPtr@G@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>::~CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>(void) __ptr64
+??1?$CVdsHeapPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _BOOT_ENTRY>::~CVdsHeapPtr<struct _BOOT_ENTRY>(void) __ptr64
+??1?$CVdsHeapPtr@U_BOOT_ENTRY@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::~CVdsHeapPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
+??1?$CVdsHeapPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _FILE_PATH>::~CVdsHeapPtr<struct _FILE_PATH>(void) __ptr64
+??1?$CVdsHeapPtr@U_FILE_PATH@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::~CVdsHeapPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>(void) __ptr64
+??1?$CVdsHeapPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::~CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
+??1?$CVdsHeapPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _VOLMGR_HIDDEN_VOLUMES>::~CVdsHeapPtr<struct _VOLMGR_HIDDEN_VOLUMES>(void) __ptr64
+??1?$CVdsHeapPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<char>::~CVdsPtr<char>(void) __ptr64
+??1?$CVdsPtr@D@@QEAA@XZ
+; public: __cdecl CVdsPtr<unsigned char>::~CVdsPtr<unsigned char>(void) __ptr64
+??1?$CVdsPtr@E@@QEAA@XZ
+; public: __cdecl CVdsPtr<unsigned short>::~CVdsPtr<unsigned short>(void) __ptr64
+??1?$CVdsPtr@G@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::~CVdsPtr<struct _AUCTION_THREAD_PARAMETER>(void) __ptr64
+??1?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _BOOT_ENTRY>::~CVdsPtr<struct _BOOT_ENTRY>(void) __ptr64
+??1?$CVdsPtr@U_BOOT_ENTRY@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::~CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
+??1?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _FILE_PATH>::~CVdsPtr<struct _FILE_PATH>(void) __ptr64
+??1?$CVdsPtr@U_FILE_PATH@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::~CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>(void) __ptr64
+??1?$CVdsPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::~CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>(void) __ptr64
+??1?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>::~CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>(void) __ptr64
+??1?$CVdsPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAA@XZ
+; public: __cdecl CPrvEnumObject::~CPrvEnumObject(void) __ptr64
+??1CPrvEnumObject@@QEAA@XZ
+; public: __cdecl CVdsCriticalSection::~CVdsCriticalSection(void) __ptr64
+??1CVdsCriticalSection@@QEAA@XZ
+; public: __cdecl CVdsDebugLog::~CVdsDebugLog(void) __ptr64
+??1CVdsDebugLog@@QEAA@XZ
+; public: __cdecl CVdsPnPNotificationBase::~CVdsPnPNotificationBase(void) __ptr64
+??1CVdsPnPNotificationBase@@QEAA@XZ
+; public: __cdecl CVdsStructuredExceptionTranslator::~CVdsStructuredExceptionTranslator(void) __ptr64
+??1CVdsStructuredExceptionTranslator@@QEAA@XZ
+; public: __cdecl CVdsUnlockIt::~CVdsUnlockIt(void) __ptr64
+??1CVdsUnlockIt@@QEAA@XZ
+; public: void * __ptr64 __cdecl CVdsHandleImpl<0>::operator=(void * __ptr64) __ptr64
+??4?$CVdsHandleImpl@$0A@@@QEAAPEAXPEAX@Z
+; public: char * __ptr64 __cdecl CVdsHeapPtr<char>::operator=(char * __ptr64) __ptr64
+??4?$CVdsHeapPtr@D@@QEAAPEADPEAD@Z
+; public: unsigned char * __ptr64 __cdecl CVdsHeapPtr<unsigned char>::operator=(unsigned char * __ptr64) __ptr64
+??4?$CVdsHeapPtr@E@@QEAAPEAEPEAE@Z
+; public: unsigned short * __ptr64 __cdecl CVdsHeapPtr<unsigned short>::operator=(unsigned short * __ptr64) __ptr64
+??4?$CVdsHeapPtr@G@@QEAAPEAGPEAG@Z
+; public: struct _AUCTION_THREAD_PARAMETER * __ptr64 __cdecl CVdsHeapPtr<struct _AUCTION_THREAD_PARAMETER>::operator=(struct _AUCTION_THREAD_PARAMETER * __ptr64) __ptr64
+??4?$CVdsHeapPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAAPEAU_AUCTION_THREAD_PARAMETER@@PEAU1@@Z
+; public: struct _BOOT_ENTRY * __ptr64 __cdecl CVdsHeapPtr<struct _BOOT_ENTRY>::operator=(struct _BOOT_ENTRY * __ptr64) __ptr64
+??4?$CVdsHeapPtr@U_BOOT_ENTRY@@@@QEAAPEAU_BOOT_ENTRY@@PEAU1@@Z
+; public: struct _FILE_PATH * __ptr64 __cdecl CVdsHeapPtr<struct _FILE_PATH>::operator=(struct _FILE_PATH * __ptr64) __ptr64
+??4?$CVdsHeapPtr@U_FILE_PATH@@@@QEAAPEAU_FILE_PATH@@PEAU1@@Z
+; public: struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsHeapPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::operator=(struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64) __ptr64
+??4?$CVdsHeapPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@PEAU1@@Z
+; public: bool __cdecl CVdsHandleImpl<0>::operator==(void * __ptr64)const  __ptr64
+??8?$CVdsHandleImpl@$0A@@@QEBA_NPEAX@Z
+; public: bool __cdecl CVdsPtr<char>::operator==(char * __ptr64)const  __ptr64
+??8?$CVdsPtr@D@@QEBA_NPEAD@Z
+; public: bool __cdecl CVdsPtr<unsigned char>::operator==(unsigned char * __ptr64)const  __ptr64
+??8?$CVdsPtr@E@@QEBA_NPEAE@Z
+; public: bool __cdecl CVdsPtr<unsigned short>::operator==(unsigned short * __ptr64)const  __ptr64
+??8?$CVdsPtr@G@@QEBA_NPEAG@Z
+; public: bool __cdecl CVdsPtr<struct _BOOT_ENTRY>::operator==(struct _BOOT_ENTRY * __ptr64)const  __ptr64
+??8?$CVdsPtr@U_BOOT_ENTRY@@@@QEBA_NPEAU_BOOT_ENTRY@@@Z
+; public: bool __cdecl CVdsPtr<struct _FILE_PATH>::operator==(struct _FILE_PATH * __ptr64)const  __ptr64
+??8?$CVdsPtr@U_FILE_PATH@@@@QEBA_NPEAU_FILE_PATH@@@Z
+; public: bool __cdecl CVdsHandleImpl<0>::operator!=(void * __ptr64)const  __ptr64
+??9?$CVdsHandleImpl@$0A@@@QEBA_NPEAX@Z
+; public: bool __cdecl CVdsPtr<unsigned char>::operator!=(unsigned char * __ptr64)const  __ptr64
+??9?$CVdsPtr@E@@QEBA_NPEAE@Z
+; public: bool __cdecl CVdsPtr<unsigned short>::operator!=(unsigned short * __ptr64)const  __ptr64
+??9?$CVdsPtr@G@@QEBA_NPEAG@Z
+; public: bool __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::operator!=(struct _AUCTION_THREAD_PARAMETER * __ptr64)const  __ptr64
+??9?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEBA_NPEAU_AUCTION_THREAD_PARAMETER@@@Z
+; public: char & __ptr64 __cdecl CVdsPtr<char>::operator[](unsigned long) __ptr64
+??A?$CVdsPtr@D@@QEAAAEADK@Z
+; public: __cdecl CVdsHandleImpl<-1>::operator void * __ptr64(void) __ptr64
+??B?$CVdsHandleImpl@$0?0@@QEAAPEAXXZ
+; public: __cdecl CVdsHandleImpl<0>::operator void * __ptr64(void) __ptr64
+??B?$CVdsHandleImpl@$0A@@@QEAAPEAXXZ
+; public: __cdecl CVdsPtr<char>::operator char * __ptr64(void)const  __ptr64
+??B?$CVdsPtr@D@@QEBAPEADXZ
+; public: __cdecl CVdsPtr<unsigned char>::operator unsigned char * __ptr64(void)const  __ptr64
+??B?$CVdsPtr@E@@QEBAPEAEXZ
+; public: __cdecl CVdsPtr<unsigned short>::operator unsigned short * __ptr64(void)const  __ptr64
+??B?$CVdsPtr@G@@QEBAPEAGXZ
+; public: __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::operator struct _AUCTION_THREAD_PARAMETER * __ptr64(void)const  __ptr64
+??B?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEBAPEAU_AUCTION_THREAD_PARAMETER@@XZ
+; public: __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::operator struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64(void)const  __ptr64
+??B?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEBAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@XZ
+; public: __cdecl CVdsPtr<struct _FILE_PATH>::operator struct _FILE_PATH * __ptr64(void)const  __ptr64
+??B?$CVdsPtr@U_FILE_PATH@@@@QEBAPEAU_FILE_PATH@@XZ
+; public: __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::operator struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64(void)const  __ptr64
+??B?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEBAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@XZ
+; public: struct _AUCTION_THREAD_PARAMETER * __ptr64 __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::operator->(void)const  __ptr64
+??C?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEBAPEAU_AUCTION_THREAD_PARAMETER@@XZ
+; public: struct _BOOT_ENTRY * __ptr64 __cdecl CVdsPtr<struct _BOOT_ENTRY>::operator->(void)const  __ptr64
+??C?$CVdsPtr@U_BOOT_ENTRY@@@@QEBAPEAU_BOOT_ENTRY@@XZ
+; public: struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::operator->(void)const  __ptr64
+??C?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEBAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@XZ
+; public: struct _FILE_PATH * __ptr64 __cdecl CVdsPtr<struct _FILE_PATH>::operator->(void)const  __ptr64
+??C?$CVdsPtr@U_FILE_PATH@@@@QEBAPEAU_FILE_PATH@@XZ
+; public: struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::operator->(void)const  __ptr64
+??C?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEBAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@XZ
+; public: void * __ptr64 * __ptr64 __cdecl CVdsHandleImpl<-1>::operator&(void) __ptr64
+??I?$CVdsHandleImpl@$0?0@@QEAAPEAPEAXXZ
+; public: unsigned short * __ptr64 * __ptr64 __cdecl CVdsPtr<unsigned short>::operator&(void) __ptr64
+??I?$CVdsPtr@G@@QEAAPEAPEAGXZ
+; public: struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64 * __ptr64 __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::operator&(void) __ptr64
+??I?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@XZ
+; public: struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64 * __ptr64 __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::operator&(void) __ptr64
+??I?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@XZ
+; public: void __cdecl CVdsAsyncObjectBase::AllowCancel(void) __ptr64
+?AllowCancel@CVdsAsyncObjectBase@@QEAAXXZ
+; public: void __cdecl CVdsPtr<unsigned short>::Attach(unsigned short * __ptr64) __ptr64
+?Attach@?$CVdsPtr@G@@QEAAXPEAG@Z
+; public: void __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::Attach(struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64) __ptr64
+?Attach@?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAXPEAU_DRIVE_LAYOUT_INFORMATION_EX@@@Z
+; public: void __cdecl CVdsPtr<struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W>::Attach(struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W * __ptr64) __ptr64
+?Attach@?$CVdsPtr@U_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@@QEAAXPEAU_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@Z
+; public: void __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::Attach(struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64) __ptr64
+?Attach@?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAXPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@Z
+; public: void __cdecl CVdsPtr<struct _VOLMGR_HIDDEN_VOLUMES>::Attach(struct _VOLMGR_HIDDEN_VOLUMES * __ptr64) __ptr64
+?Attach@?$CVdsPtr@U_VOLMGR_HIDDEN_VOLUMES@@@@QEAAXPEAU_VOLMGR_HIDDEN_VOLUMES@@@Z
+; public: void __cdecl CVdsHandleImpl<-1>::Close(void) __ptr64
+?Close@?$CVdsHandleImpl@$0?0@@QEAAXXZ
+; public: void * __ptr64 __cdecl CVdsHandleImpl<-1>::Detach(void) __ptr64
+?Detach@?$CVdsHandleImpl@$0?0@@QEAAPEAXXZ
+; public: unsigned short * __ptr64 __cdecl CVdsPtr<unsigned short>::Detach(void) __ptr64
+?Detach@?$CVdsPtr@G@@QEAAPEAGXZ
+; public: struct _AUCTION_THREAD_PARAMETER * __ptr64 __cdecl CVdsPtr<struct _AUCTION_THREAD_PARAMETER>::Detach(void) __ptr64
+?Detach@?$CVdsPtr@U_AUCTION_THREAD_PARAMETER@@@@QEAAPEAU_AUCTION_THREAD_PARAMETER@@XZ
+; public: struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsPtr<struct _DRIVE_LAYOUT_INFORMATION_EX>::Detach(void) __ptr64
+?Detach@?$CVdsPtr@U_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@XZ
+; public: struct _VDS_DRIVE_LAYOUT_INFORMATION_EX * __ptr64 __cdecl CVdsPtr<struct _VDS_DRIVE_LAYOUT_INFORMATION_EX>::Detach(void) __ptr64
+?Detach@?$CVdsPtr@U_VDS_DRIVE_LAYOUT_INFORMATION_EX@@@@QEAAPEAU_VDS_DRIVE_LAYOUT_INFORMATION_EX@@XZ
+; public: void __cdecl CVdsAsyncObjectBase::DisallowCancel(void) __ptr64
+?DisallowCancel@CVdsAsyncObjectBase@@QEAAXXZ
+; public: enum __MIDL___MIDL_itf_vdsswprv_0000_0002  __cdecl CVdsAsyncObjectBase::GetOutputType(void) __ptr64
+?GetOutputType@CVdsAsyncObjectBase@@QEAA?AW4__MIDL___MIDL_itf_vdsswprv_0000_0002@@XZ
+; public: int __cdecl CVdsAsyncObjectBase::IsCancelRequested(void) __ptr64
+?IsCancelRequested@CVdsAsyncObjectBase@@QEAAHXZ
+; public: void __cdecl CVdsAsyncObjectBase::SetOutputType(enum __MIDL___MIDL_itf_vdsswprv_0000_0002) __ptr64
+?SetOutputType@CVdsAsyncObjectBase@@QEAAXW4__MIDL___MIDL_itf_vdsswprv_0000_0002@@@Z
+; public: void __cdecl CPrvEnumObject::SetPositionToLast(void) __ptr64
+?SetPositionToLast@CPrvEnumObject@@QEAAXXZ
+; public: int __cdecl CVdsDebugLog::TracingLogEnabled(void) __ptr64
+?TracingLogEnabled@CVdsDebugLog@@QEAAHXZ
+; public: void __cdecl CVdsAsyncObjectBase::ZeroAsyncOut(void) __ptr64
+?ZeroAsyncOut@CVdsAsyncObjectBase@@QEAAXXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/vdsdyndr.def b/mingw-w64-crt/lib64/vdsdyndr.def
index eaeb283..34ca4c1 100644
--- a/mingw-w64-crt/lib64/vdsdyndr.def
+++ b/mingw-w64-crt/lib64/vdsdyndr.def
@@ -1,50 +1,50 @@
-; 
-; Exports of file vdsdyndr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY vdsdyndr.DLL
-EXPORTS
-; public: __cdecl CPrvEnumObject::CPrvEnumObject(void) __ptr64
-??0CPrvEnumObject@@QEAA@XZ
-; public: __cdecl CVdsCriticalSection::CVdsCriticalSection(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
-??0CVdsCriticalSection@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
-; public: __cdecl CVdsPnPNotificationBase::CVdsPnPNotificationBase(void) __ptr64
-??0CVdsPnPNotificationBase@@QEAA@XZ
-; public: __cdecl CVdsStructuredExceptionTranslator::CVdsStructuredExceptionTranslator(void) __ptr64
-??0CVdsStructuredExceptionTranslator@@QEAA@XZ
-; public: __cdecl CVdsUnlockIt::CVdsUnlockIt(long & __ptr64) __ptr64
-??0CVdsUnlockIt@@QEAA@AEAJ@Z
-; public: __cdecl CPrvEnumObject::~CPrvEnumObject(void) __ptr64
-??1CPrvEnumObject@@QEAA@XZ
-; public: __cdecl CVdsCriticalSection::~CVdsCriticalSection(void) __ptr64
-??1CVdsCriticalSection@@QEAA@XZ
-; public: __cdecl CVdsDebugLog::~CVdsDebugLog(void) __ptr64
-??1CVdsDebugLog@@QEAA@XZ
-; public: __cdecl CVdsPnPNotificationBase::~CVdsPnPNotificationBase(void) __ptr64
-??1CVdsPnPNotificationBase@@QEAA@XZ
-; public: __cdecl CVdsStructuredExceptionTranslator::~CVdsStructuredExceptionTranslator(void) __ptr64
-??1CVdsStructuredExceptionTranslator@@QEAA@XZ
-; public: __cdecl CVdsUnlockIt::~CVdsUnlockIt(void) __ptr64
-??1CVdsUnlockIt@@QEAA@XZ
-; public: void __cdecl CVdsAsyncObjectBase::AllowCancel(void) __ptr64
-?AllowCancel@CVdsAsyncObjectBase@@QEAAXXZ
-; public: void __cdecl CVdsAsyncObjectBase::DisallowCancel(void) __ptr64
-?DisallowCancel@CVdsAsyncObjectBase@@QEAAXXZ
-; public: enum __MIDL___MIDL_itf_vdsswprv_0000_0002  __cdecl CVdsAsyncObjectBase::GetOutputType(void) __ptr64
-?GetOutputType@CVdsAsyncObjectBase@@QEAA?AW4__MIDL___MIDL_itf_vdsswprv_0000_0002@@XZ
-; public: int __cdecl CVdsAsyncObjectBase::IsCancelRequested(void) __ptr64
-?IsCancelRequested@CVdsAsyncObjectBase@@QEAAHXZ
-; public: void __cdecl CVdsAsyncObjectBase::SetOutputType(enum __MIDL___MIDL_itf_vdsswprv_0000_0002) __ptr64
-?SetOutputType@CVdsAsyncObjectBase@@QEAAXW4__MIDL___MIDL_itf_vdsswprv_0000_0002@@@Z
-; public: void __cdecl CPrvEnumObject::SetPositionToLast(void) __ptr64
-?SetPositionToLast@CPrvEnumObject@@QEAAXXZ
-; public: int __cdecl CVdsDebugLog::TracingLogEnabled(void) __ptr64
-?TracingLogEnabled@CVdsDebugLog@@QEAAHXZ
-; public: void __cdecl CVdsAsyncObjectBase::ZeroAsyncOut(void) __ptr64
-?ZeroAsyncOut@CVdsAsyncObjectBase@@QEAAXXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file vdsdyndr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY vdsdyndr.DLL
+EXPORTS
+; public: __cdecl CPrvEnumObject::CPrvEnumObject(void) __ptr64
+??0CPrvEnumObject@@QEAA@XZ
+; public: __cdecl CVdsCriticalSection::CVdsCriticalSection(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
+??0CVdsCriticalSection@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
+; public: __cdecl CVdsPnPNotificationBase::CVdsPnPNotificationBase(void) __ptr64
+??0CVdsPnPNotificationBase@@QEAA@XZ
+; public: __cdecl CVdsStructuredExceptionTranslator::CVdsStructuredExceptionTranslator(void) __ptr64
+??0CVdsStructuredExceptionTranslator@@QEAA@XZ
+; public: __cdecl CVdsUnlockIt::CVdsUnlockIt(long & __ptr64) __ptr64
+??0CVdsUnlockIt@@QEAA@AEAJ@Z
+; public: __cdecl CPrvEnumObject::~CPrvEnumObject(void) __ptr64
+??1CPrvEnumObject@@QEAA@XZ
+; public: __cdecl CVdsCriticalSection::~CVdsCriticalSection(void) __ptr64
+??1CVdsCriticalSection@@QEAA@XZ
+; public: __cdecl CVdsDebugLog::~CVdsDebugLog(void) __ptr64
+??1CVdsDebugLog@@QEAA@XZ
+; public: __cdecl CVdsPnPNotificationBase::~CVdsPnPNotificationBase(void) __ptr64
+??1CVdsPnPNotificationBase@@QEAA@XZ
+; public: __cdecl CVdsStructuredExceptionTranslator::~CVdsStructuredExceptionTranslator(void) __ptr64
+??1CVdsStructuredExceptionTranslator@@QEAA@XZ
+; public: __cdecl CVdsUnlockIt::~CVdsUnlockIt(void) __ptr64
+??1CVdsUnlockIt@@QEAA@XZ
+; public: void __cdecl CVdsAsyncObjectBase::AllowCancel(void) __ptr64
+?AllowCancel@CVdsAsyncObjectBase@@QEAAXXZ
+; public: void __cdecl CVdsAsyncObjectBase::DisallowCancel(void) __ptr64
+?DisallowCancel@CVdsAsyncObjectBase@@QEAAXXZ
+; public: enum __MIDL___MIDL_itf_vdsswprv_0000_0002  __cdecl CVdsAsyncObjectBase::GetOutputType(void) __ptr64
+?GetOutputType@CVdsAsyncObjectBase@@QEAA?AW4__MIDL___MIDL_itf_vdsswprv_0000_0002@@XZ
+; public: int __cdecl CVdsAsyncObjectBase::IsCancelRequested(void) __ptr64
+?IsCancelRequested@CVdsAsyncObjectBase@@QEAAHXZ
+; public: void __cdecl CVdsAsyncObjectBase::SetOutputType(enum __MIDL___MIDL_itf_vdsswprv_0000_0002) __ptr64
+?SetOutputType@CVdsAsyncObjectBase@@QEAAXW4__MIDL___MIDL_itf_vdsswprv_0000_0002@@@Z
+; public: void __cdecl CPrvEnumObject::SetPositionToLast(void) __ptr64
+?SetPositionToLast@CPrvEnumObject@@QEAAXXZ
+; public: int __cdecl CVdsDebugLog::TracingLogEnabled(void) __ptr64
+?TracingLogEnabled@CVdsDebugLog@@QEAAHXZ
+; public: void __cdecl CVdsAsyncObjectBase::ZeroAsyncOut(void) __ptr64
+?ZeroAsyncOut@CVdsAsyncObjectBase@@QEAAXXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/vdsutil.def b/mingw-w64-crt/lib64/vdsutil.def
index 72675af..7a8fdab 100644
--- a/mingw-w64-crt/lib64/vdsutil.def
+++ b/mingw-w64-crt/lib64/vdsutil.def
@@ -1,267 +1,267 @@
-; 
-; Exports of file vdsutil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY vdsutil.dll
-EXPORTS
-; public: __cdecl CVdsHandleImpl<-1>::CVdsHandleImpl<-1>(void) __ptr64
-??0?$CVdsHandleImpl@$0?0@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>::CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>(void) __ptr64
-??0?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>::CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>(void) __ptr64
-??0?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>(void) __ptr64
-??0?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>(void) __ptr64
-??0?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAA@XZ
-; public: __cdecl CPrvEnumObject::CPrvEnumObject(void) __ptr64
-??0CPrvEnumObject@@QEAA@XZ
-; public: __cdecl CVdsAsyncObjectBase::CVdsAsyncObjectBase(void) __ptr64
-??0CVdsAsyncObjectBase@@QEAA@XZ
-; public: __cdecl CVdsCallTracer::CVdsCallTracer(unsigned long,char const * __ptr64) __ptr64
-??0CVdsCallTracer@@QEAA@KPEBD@Z
-; public: __cdecl CVdsCriticalSection::CVdsCriticalSection(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
-??0CVdsCriticalSection@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
-; public: __cdecl CVdsDebugLog::CVdsDebugLog(int) __ptr64
-??0CVdsDebugLog@@QEAA@H@Z
-; public: __cdecl CVdsPnPNotificationBase::CVdsPnPNotificationBase(void) __ptr64
-??0CVdsPnPNotificationBase@@QEAA@XZ
-; public: __cdecl CVdsStructuredExceptionTranslator::CVdsStructuredExceptionTranslator(void) __ptr64
-??0CVdsStructuredExceptionTranslator@@QEAA@XZ
-; public: __cdecl CVdsUnlockIt::CVdsUnlockIt(long & __ptr64) __ptr64
-??0CVdsUnlockIt@@QEAA@AEAJ@Z
-; public: __cdecl CVdsHandleImpl<-1>::~CVdsHandleImpl<-1>(void) __ptr64
-??1?$CVdsHandleImpl@$0?0@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>::~CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>(void) __ptr64
-??1?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAA@XZ
-; public: __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>::~CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>(void) __ptr64
-??1?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::~CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>(void) __ptr64
-??1?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAA@XZ
-; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::~CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>(void) __ptr64
-??1?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAA@XZ
-; public: __cdecl CPrvEnumObject::~CPrvEnumObject(void) __ptr64
-??1CPrvEnumObject@@QEAA@XZ
-; public: __cdecl CVdsAsyncObjectBase::~CVdsAsyncObjectBase(void) __ptr64
-??1CVdsAsyncObjectBase@@QEAA@XZ
-; public: __cdecl CVdsCallTracer::~CVdsCallTracer(void) __ptr64
-??1CVdsCallTracer@@QEAA@XZ
-; public: __cdecl CVdsCriticalSection::~CVdsCriticalSection(void) __ptr64
-??1CVdsCriticalSection@@QEAA@XZ
-; public: __cdecl CVdsDebugLog::~CVdsDebugLog(void) __ptr64
-??1CVdsDebugLog@@QEAA@XZ
-; public: __cdecl CVdsPnPNotificationBase::~CVdsPnPNotificationBase(void) __ptr64
-??1CVdsPnPNotificationBase@@QEAA@XZ
-; public: __cdecl CVdsStructuredExceptionTranslator::~CVdsStructuredExceptionTranslator(void) __ptr64
-??1CVdsStructuredExceptionTranslator@@QEAA@XZ
-; public: __cdecl CVdsUnlockIt::~CVdsUnlockIt(void) __ptr64
-??1CVdsUnlockIt@@QEAA@XZ
-; public: void * __ptr64 __cdecl CVdsHandleImpl<-1>::operator=(void * __ptr64) __ptr64
-??4?$CVdsHandleImpl@$0?0@@QEAAPEAXPEAX@Z
-; public: struct _MOUNTMGR_MOUNT_POINT * __ptr64 __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>::operator=(struct _MOUNTMGR_MOUNT_POINT * __ptr64) __ptr64
-??4?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAAPEAU_MOUNTMGR_MOUNT_POINT@@PEAU1@@Z
-; public: struct _MOUNTMGR_MOUNT_POINTS * __ptr64 __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>::operator=(struct _MOUNTMGR_MOUNT_POINTS * __ptr64) __ptr64
-??4?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAAPEAU_MOUNTMGR_MOUNT_POINTS@@PEAU1@@Z
-; public: bool __cdecl CVdsHandleImpl<-1>::operator==(void * __ptr64)const  __ptr64
-??8?$CVdsHandleImpl@$0?0@@QEBA_NPEAX@Z
-; public: bool __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::operator==(struct _MOUNTMGR_MOUNT_POINT * __ptr64)const  __ptr64
-??8?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEBA_NPEAU_MOUNTMGR_MOUNT_POINT@@@Z
-; public: bool __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::operator==(struct _MOUNTMGR_MOUNT_POINTS * __ptr64)const  __ptr64
-??8?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEBA_NPEAU_MOUNTMGR_MOUNT_POINTS@@@Z
-; public: __cdecl CVdsHandleImpl<-1>::operator void * __ptr64(void) __ptr64
-??B?$CVdsHandleImpl@$0?0@@QEAAPEAXXZ
-; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::operator struct _MOUNTMGR_MOUNT_POINT * __ptr64(void)const  __ptr64
-??B?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEBAPEAU_MOUNTMGR_MOUNT_POINT@@XZ
-; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::operator struct _MOUNTMGR_MOUNT_POINTS * __ptr64(void)const  __ptr64
-??B?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEBAPEAU_MOUNTMGR_MOUNT_POINTS@@XZ
-; public: struct _MOUNTMGR_MOUNT_POINT * __ptr64 __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::operator->(void)const  __ptr64
-??C?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEBAPEAU_MOUNTMGR_MOUNT_POINT@@XZ
-; public: struct _MOUNTMGR_MOUNT_POINTS * __ptr64 __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::operator->(void)const  __ptr64
-??C?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEBAPEAU_MOUNTMGR_MOUNT_POINTS@@XZ
-; public: void * __ptr64 * __ptr64 __cdecl CVdsHandleImpl<-1>::operator&(void) __ptr64
-??I?$CVdsHandleImpl@$0?0@@QEAAPEAPEAXXZ
-; bool __cdecl operator<(struct _GUID const & __ptr64,struct _GUID const & __ptr64)
-??M@YA_NAEBU_GUID@@0@Z
-; unsigned long __cdecl AddEventSource(unsigned short * __ptr64,struct HINSTANCE__ * __ptr64)
-?AddEventSource@@YAKPEAGPEAUHINSTANCE__@@@Z
-; public: void __cdecl CVdsAsyncObjectBase::AllowCancel(void) __ptr64
-?AllowCancel@CVdsAsyncObjectBase@@QEAAXXZ
-; public: long __cdecl CPrvEnumObject::Append(struct IUnknown * __ptr64) __ptr64
-?Append@CPrvEnumObject@@QEAAJPEAUIUnknown@@@Z
-; long __cdecl AssignTempVolumeName(unsigned short * __ptr64,unsigned short * __ptr64 const)
-?AssignTempVolumeName@@YAJPEAGQEAG@Z
-; public: virtual long __cdecl CVdsAsyncObjectBase::Cancel(void) __ptr64
-?Cancel@CVdsAsyncObjectBase@@UEAAJXZ
-; public: void __cdecl CPrvEnumObject::Clear(void) __ptr64
-?Clear@CPrvEnumObject@@QEAAXXZ
-; public: virtual long __cdecl CPrvEnumObject::Clone(struct IEnumVdsObject * __ptr64 * __ptr64) __ptr64
-?Clone@CPrvEnumObject@@UEAAJPEAPEAUIEnumVdsObject@@@Z
-; void __cdecl CoFreeStringArray(unsigned short * __ptr64 * __ptr64,long)
-?CoFreeStringArray@@YAXPEAPEAGJ@Z
-; unsigned long __cdecl CreateDeviceInfoSet(unsigned short * __ptr64,void * __ptr64 * __ptr64,struct _SP_DEVINFO_DATA * __ptr64)
-?CreateDeviceInfoSet@@YAKPEAGPEAPEAXPEAU_SP_DEVINFO_DATA@@@Z
-; private: unsigned long __cdecl CVdsPnPNotificationBase::CreateListenThread(void) __ptr64
-?CreateListenThread@CVdsPnPNotificationBase@@AEAAKXZ
-; public: void * __ptr64 __cdecl CVdsHandleImpl<-1>::Detach(void) __ptr64
-?Detach@?$CVdsHandleImpl@$0?0@@QEAAPEAXXZ
-; public: void __cdecl CVdsAsyncObjectBase::DisallowCancel(void) __ptr64
-?DisallowCancel@CVdsAsyncObjectBase@@QEAAXXZ
-; void __cdecl GarbageCollectDriveLetters(void)
-?GarbageCollectDriveLetters@@YAXXZ
-; unsigned long __cdecl GetDeviceAndMediaType(void * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
-?GetDeviceAndMediaType@@YAKPEAXPEAK1@Z
-; unsigned long __cdecl GetDeviceLocation(void * __ptr64,struct _VDS_DISK_PROP * __ptr64)
-?GetDeviceLocation@@YAKPEAXPEAU_VDS_DISK_PROP@@@Z
-; unsigned long __cdecl GetDeviceName(void * __ptr64,int,unsigned short * __ptr64 const)
-?GetDeviceName@@YAKPEAXHQEAG@Z
-; unsigned long __cdecl GetDeviceNumber(void * __ptr64,struct _STORAGE_DEVICE_NUMBER * __ptr64)
-?GetDeviceNumber@@YAKPEAXPEAU_STORAGE_DEVICE_NUMBER@@@Z
-; unsigned long __cdecl GetDeviceRegistryProperty(unsigned long,unsigned long,unsigned char * __ptr64 * __ptr64,unsigned long)
-?GetDeviceRegistryProperty@@YAKKKPEAPEAEK@Z
-; unsigned long __cdecl GetDeviceRegistryProperty(void * __ptr64,struct _SP_DEVINFO_DATA * __ptr64,unsigned long,unsigned char * __ptr64 * __ptr64,unsigned long)
-?GetDeviceRegistryProperty@@YAKPEAXPEAU_SP_DEVINFO_DATA@@KPEAPEAEK@Z
-; unsigned long __cdecl GetDiskLayout(void * __ptr64,struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64 * __ptr64)
-?GetDiskLayout@@YAKPEAXPEAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@@Z
-; unsigned long __cdecl GetInterfaceDetailData(void * __ptr64,struct _SP_DEVICE_INTERFACE_DATA * __ptr64,struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W * __ptr64 * __ptr64)
-?GetInterfaceDetailData@@YAKPEAXPEAU_SP_DEVICE_INTERFACE_DATA@@PEAPEAU_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@Z
-; unsigned long __cdecl GetIsRemovable(void * __ptr64,int * __ptr64)
-?GetIsRemovable@@YAKPEAXPEAH@Z
-; unsigned long __cdecl GetMediaGeometry(void * __ptr64,unsigned long,struct _DISK_GEOMETRY * __ptr64)
-?GetMediaGeometry@@YAKPEAXKPEAU_DISK_GEOMETRY@@@Z
-; unsigned long __cdecl GetMediaGeometry(void * __ptr64,struct _VDS_DISK_PROP * __ptr64)
-?GetMediaGeometry@@YAKPEAXPEAU_VDS_DISK_PROP@@@Z
-; public: enum __MIDL___MIDL_itf_vdscmlyr_0000_0002  __cdecl CVdsAsyncObjectBase::GetOutputType(void) __ptr64
-?GetOutputType@CVdsAsyncObjectBase@@QEAA?AW4__MIDL___MIDL_itf_vdscmlyr_0000_0002@@XZ
-; unsigned long __cdecl GetPartitionInformation(void * __ptr64,struct _PARTITION_INFORMATION_EX * __ptr64)
-?GetPartitionInformation@@YAKPEAXPEAU_PARTITION_INFORMATION_EX@@@Z
-; unsigned long __cdecl GetVolumeDiskExtentInfo(void * __ptr64,struct _VOLUME_DISK_EXTENTS * __ptr64 * __ptr64)
-?GetVolumeDiskExtentInfo@@YAKPEAXPEAPEAU_VOLUME_DISK_EXTENTS@@@Z
-; long __cdecl GetVolumeName(unsigned short * __ptr64,unsigned short * __ptr64)
-?GetVolumeName@@YAJPEAG0@Z
-; unsigned long __cdecl GetVolumeSize(unsigned short * __ptr64,unsigned __int64 * __ptr64)
-?GetVolumeSize@@YAKPEAGPEA_K@Z
-; public: struct HWND__ * __ptr64 __cdecl CVdsPnPNotificationBase::GetWindowHandle(void) __ptr64
-?GetWindowHandle@CVdsPnPNotificationBase@@QEAAPEAUHWND__@@XZ
-; protected: int __cdecl CVdsPnPNotificationBase::HasMatchingNotification(unsigned __int64,unsigned long) __ptr64
-?HasMatchingNotification@CVdsPnPNotificationBase@@IEAAH_KK@Z
-; public: static unsigned long __cdecl CVdsAsyncObjectBase::Initialize(void)
-?Initialize@CVdsAsyncObjectBase@@SAKXZ
-; public: unsigned long __cdecl CVdsPnPNotificationBase::Initialize(void) __ptr64
-?Initialize@CVdsPnPNotificationBase@@QEAAKXZ
-; unsigned long __cdecl InitializeSecurityDescriptor(unsigned long,void * __ptr64,struct _ACL * __ptr64 * __ptr64,void * __ptr64 * __ptr64,void * __ptr64 * __ptr64,void * __ptr64 * __ptr64)
-?InitializeSecurityDescriptor@@YAKKPEAXPEAPEAU_ACL@@PEAPEAX22@Z
-; public: int __cdecl CVdsAsyncObjectBase::IsCancelRequested(void) __ptr64
-?IsCancelRequested@CVdsAsyncObjectBase@@QEAAHXZ
-; int __cdecl IsDeviceFullyInstalled(unsigned short * __ptr64)
-?IsDeviceFullyInstalled@@YAHPEAG@Z
-; int __cdecl IsDiskClustered(void * __ptr64)
-?IsDiskClustered@@YAHPEAX@Z
-; public: int __cdecl CVdsAsyncObjectBase::IsFinished(void) __ptr64
-?IsFinished@CVdsAsyncObjectBase@@QEAAHXZ
-; long __cdecl IsLocalComputer(unsigned short * __ptr64)
-?IsLocalComputer@@YAJPEAG@Z
-; int __cdecl IsMediaPresent(void * __ptr64)
-?IsMediaPresent@@YAHPEAX@Z
-; int __cdecl IsNoAutoMount(void)
-?IsNoAutoMount@@YAHXZ
-; int __cdecl IsWinPE(void)
-?IsWinPE@@YAHXZ
-; unsigned long __cdecl LockDismountVolume(void * __ptr64,int)
-?LockDismountVolume@@YAKPEAXH@Z
-; unsigned long __cdecl LockVolume(void * __ptr64)
-?LockVolume@@YAKPEAX@Z
-; public: void __cdecl CVdsDebugLog::Log(unsigned long,unsigned long,int,char * __ptr64,char * __ptr64) __ptr64
-?Log@CVdsDebugLog@@QEAAXKKHPEAD0@Z
-; public: void __cdecl CVdsDebugLog::Log(unsigned long,unsigned long,int,char * __ptr64,...) __ptr64
-?Log@CVdsDebugLog@@QEAAXKKHPEADZZ
-; void __cdecl LogError(unsigned short * __ptr64,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64,char * __ptr64)
-?LogError@@YAXPEAGKKPEAXKK0PEAD@Z
-; void __cdecl LogEvent(unsigned short * __ptr64,unsigned long,unsigned short,unsigned long,void * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64 const)
-?LogEvent@@YAXPEAGKGKPEAXKQEAPEAG@Z
-; void __cdecl LogInfo(unsigned short * __ptr64,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned short * __ptr64,char * __ptr64)
-?LogInfo@@YAXPEAGKKPEAXK0PEAD@Z
-; void __cdecl LogWarning(unsigned short * __ptr64,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64,char * __ptr64)
-?LogWarning@@YAXPEAGKKPEAXKK0PEAD@Z
-; unsigned long __cdecl MountVolume(unsigned short * __ptr64)
-?MountVolume@@YAKPEAG@Z
-; public: virtual long __cdecl CPrvEnumObject::Next(unsigned long,struct IUnknown * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?Next@CPrvEnumObject@@UEAAJKPEAPEAUIUnknown@@PEAK@Z
-; private: unsigned long __cdecl CVdsPnPNotificationBase::NotificationThread(void * __ptr64) __ptr64
-?NotificationThread@CVdsPnPNotificationBase@@AEAAKPEAX@Z
-; private: static unsigned long __cdecl CVdsPnPNotificationBase::NotificationThreadEntry(void * __ptr64)
-?NotificationThreadEntry@CVdsPnPNotificationBase@@CAKPEAX@Z
-; unsigned long __cdecl OpenDevice(unsigned short * __ptr64,unsigned long,void * __ptr64 * __ptr64)
-?OpenDevice@@YAKPEAGKPEAPEAX@Z
-; long __cdecl QueryObjects(struct IUnknown * __ptr64,struct IEnumVdsObject * __ptr64 * __ptr64,struct _RTL_CRITICAL_SECTION & __ptr64)
-?QueryObjects@@YAJPEAUIUnknown@@PEAPEAUIEnumVdsObject@@AEAU_RTL_CRITICAL_SECTION@@@Z
-; public: virtual long __cdecl CVdsAsyncObjectBase::QueryStatus(long * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryStatus@CVdsAsyncObjectBase@@UEAAJPEAJPEAK@Z
-; public: unsigned long __cdecl CVdsPnPNotificationBase::Register(struct _NotificationListeningRequest * __ptr64,unsigned long) __ptr64
-?Register@CVdsPnPNotificationBase@@QEAAKPEAU_NotificationListeningRequest@@K@Z
-; public: unsigned long __cdecl CVdsPnPNotificationBase::RegisterHandle(void * __ptr64,void * __ptr64 * __ptr64) __ptr64
-?RegisterHandle@CVdsPnPNotificationBase@@QEAAKPEAXPEAPEAX@Z
-; long __cdecl RegisterProvider(struct _GUID,struct _GUID,unsigned short * __ptr64,enum _VDS_PROVIDER_TYPE,unsigned short * __ptr64,unsigned short * __ptr64,struct _GUID)
-?RegisterProvider@@YAJU_GUID@@0PEAGW4_VDS_PROVIDER_TYPE@@110@Z
-; unsigned long __cdecl RemoveEventSource(unsigned short * __ptr64)
-?RemoveEventSource@@YAKPEAG@Z
-; void __cdecl RemoveTempVolumeName(unsigned short * __ptr64,unsigned short * __ptr64)
-?RemoveTempVolumeName@@YAXPEAG0@Z
-; public: virtual long __cdecl CPrvEnumObject::Reset(void) __ptr64
-?Reset@CPrvEnumObject@@UEAAJXZ
-; public: void __cdecl CVdsAsyncObjectBase::SetCompletionStatus(long,unsigned long) __ptr64
-?SetCompletionStatus@CVdsAsyncObjectBase@@QEAAXJK@Z
-; unsigned long __cdecl SetDiskLayout(void * __ptr64,struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64)
-?SetDiskLayout@@YAKPEAXPEAU_DRIVE_LAYOUT_INFORMATION_EX@@@Z
-; public: void __cdecl CVdsAsyncObjectBase::SetOutputType(enum __MIDL___MIDL_itf_vdscmlyr_0000_0002) __ptr64
-?SetOutputType@CVdsAsyncObjectBase@@QEAAXW4__MIDL___MIDL_itf_vdscmlyr_0000_0002@@@Z
-; public: void __cdecl CPrvEnumObject::SetPositionToLast(void) __ptr64
-?SetPositionToLast@CPrvEnumObject@@QEAAXXZ
-; public: void __cdecl CVdsAsyncObjectBase::Signal(void) __ptr64
-?Signal@CVdsAsyncObjectBase@@QEAAXXZ
-; public: virtual long __cdecl CPrvEnumObject::Skip(unsigned long) __ptr64
-?Skip@CPrvEnumObject@@UEAAJK@Z
-; public: int __cdecl CVdsDebugLog::TracingLogEnabled(void) __ptr64
-?TracingLogEnabled@CVdsDebugLog@@QEAAHXZ
-; public: static void __cdecl CVdsAsyncObjectBase::Uninitialize(void)
-?Uninitialize@CVdsAsyncObjectBase@@SAXXZ
-; public: void __cdecl CVdsPnPNotificationBase::Uninitialize(void) __ptr64
-?Uninitialize@CVdsPnPNotificationBase@@QEAAXXZ
-; public: void __cdecl CVdsPnPNotificationBase::Unregister(struct _NotificationListeningRequest * __ptr64) __ptr64
-?Unregister@CVdsPnPNotificationBase@@QEAAXPEAU_NotificationListeningRequest@@@Z
-; public: void __cdecl CVdsPnPNotificationBase::UnregisterHandle(void * __ptr64) __ptr64
-?UnregisterHandle@CVdsPnPNotificationBase@@QEAAXPEAX@Z
-; long __cdecl UnregisterProvider(struct _GUID)
-?UnregisterProvider@@YAJU_GUID@@@Z
-; unsigned short * __ptr64 __cdecl VdsAllocateEmptyString(void)
-?VdsAllocateEmptyString@@YAPEAGXZ
-; void * __ptr64 __cdecl VdsHeapAlloc(void * __ptr64,unsigned long,unsigned __int64)
-?VdsHeapAlloc@@YAPEAXPEAXK_K@Z
-; int __cdecl VdsHeapFree(void * __ptr64,unsigned long,void * __ptr64)
-?VdsHeapFree@@YAHPEAXK0@Z
-; unsigned long __cdecl VdsInitializeCriticalSection(struct _RTL_CRITICAL_SECTION * __ptr64)
-?VdsInitializeCriticalSection@@YAKPEAU_RTL_CRITICAL_SECTION@@@Z
-; public: static void __cdecl CVdsStructuredExceptionTranslator::VdsSeTranslator(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
-?VdsSeTranslator@CVdsStructuredExceptionTranslator@@SAXIPEAU_EXCEPTION_POINTERS@@@Z
-; void __cdecl VdsTrace(unsigned long,char * __ptr64,...)
-?VdsTrace@@YAXKPEADZZ
-; void __cdecl VdsTraceEx(unsigned long,unsigned long,char * __ptr64,...)
-?VdsTraceEx@@YAXKKPEADZZ
-; void __cdecl VdsTraceExHelper(unsigned long,unsigned long,char * __ptr64,char * __ptr64)
-?VdsTraceExHelper@@YAXKKPEAD0@Z
-; void __cdecl VdsTraceExW(unsigned long,unsigned long,unsigned short * __ptr64,...)
-?VdsTraceExW@@YAXKKPEAGZZ
-; void __cdecl VdsTraceExWHelper(unsigned long,unsigned long,unsigned short * __ptr64,char * __ptr64)
-?VdsTraceExWHelper@@YAXKKPEAGPEAD@Z
-; void __cdecl VdsTraceW(unsigned long,unsigned short * __ptr64,...)
-?VdsTraceW@@YAXKPEAGZZ
-; public: long __cdecl CVdsAsyncObjectBase::WaitImpl(long * __ptr64) __ptr64
-?WaitImpl@CVdsAsyncObjectBase@@QEAAJPEAJ@Z
-; private: static __int64 __cdecl CVdsPnPNotificationBase::WindowProcEntry(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?WindowProcEntry@CVdsPnPNotificationBase@@CA_JPEAUHWND__@@I_K_J@Z
-; public: void __cdecl CVdsAsyncObjectBase::ZeroAsyncOut(void) __ptr64
-?ZeroAsyncOut@CVdsAsyncObjectBase@@QEAAXXZ
-DllMain
-RegisterVdsFabric
-UnregisterVdsFabric
+; 
+; Exports of file vdsutil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY vdsutil.dll
+EXPORTS
+; public: __cdecl CVdsHandleImpl<-1>::CVdsHandleImpl<-1>(void) __ptr64
+??0?$CVdsHandleImpl@$0?0@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>::CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>(void) __ptr64
+??0?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>::CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>(void) __ptr64
+??0?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>(void) __ptr64
+??0?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>(void) __ptr64
+??0?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAA@XZ
+; public: __cdecl CPrvEnumObject::CPrvEnumObject(void) __ptr64
+??0CPrvEnumObject@@QEAA@XZ
+; public: __cdecl CVdsAsyncObjectBase::CVdsAsyncObjectBase(void) __ptr64
+??0CVdsAsyncObjectBase@@QEAA@XZ
+; public: __cdecl CVdsCallTracer::CVdsCallTracer(unsigned long,char const * __ptr64) __ptr64
+??0CVdsCallTracer@@QEAA@KPEBD@Z
+; public: __cdecl CVdsCriticalSection::CVdsCriticalSection(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
+??0CVdsCriticalSection@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
+; public: __cdecl CVdsDebugLog::CVdsDebugLog(int) __ptr64
+??0CVdsDebugLog@@QEAA@H@Z
+; public: __cdecl CVdsPnPNotificationBase::CVdsPnPNotificationBase(void) __ptr64
+??0CVdsPnPNotificationBase@@QEAA@XZ
+; public: __cdecl CVdsStructuredExceptionTranslator::CVdsStructuredExceptionTranslator(void) __ptr64
+??0CVdsStructuredExceptionTranslator@@QEAA@XZ
+; public: __cdecl CVdsUnlockIt::CVdsUnlockIt(long & __ptr64) __ptr64
+??0CVdsUnlockIt@@QEAA@AEAJ@Z
+; public: __cdecl CVdsHandleImpl<-1>::~CVdsHandleImpl<-1>(void) __ptr64
+??1?$CVdsHandleImpl@$0?0@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>::~CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>(void) __ptr64
+??1?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAA@XZ
+; public: __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>::~CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>(void) __ptr64
+??1?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::~CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>(void) __ptr64
+??1?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAA@XZ
+; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::~CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>(void) __ptr64
+??1?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAA@XZ
+; public: __cdecl CPrvEnumObject::~CPrvEnumObject(void) __ptr64
+??1CPrvEnumObject@@QEAA@XZ
+; public: __cdecl CVdsAsyncObjectBase::~CVdsAsyncObjectBase(void) __ptr64
+??1CVdsAsyncObjectBase@@QEAA@XZ
+; public: __cdecl CVdsCallTracer::~CVdsCallTracer(void) __ptr64
+??1CVdsCallTracer@@QEAA@XZ
+; public: __cdecl CVdsCriticalSection::~CVdsCriticalSection(void) __ptr64
+??1CVdsCriticalSection@@QEAA@XZ
+; public: __cdecl CVdsDebugLog::~CVdsDebugLog(void) __ptr64
+??1CVdsDebugLog@@QEAA@XZ
+; public: __cdecl CVdsPnPNotificationBase::~CVdsPnPNotificationBase(void) __ptr64
+??1CVdsPnPNotificationBase@@QEAA@XZ
+; public: __cdecl CVdsStructuredExceptionTranslator::~CVdsStructuredExceptionTranslator(void) __ptr64
+??1CVdsStructuredExceptionTranslator@@QEAA@XZ
+; public: __cdecl CVdsUnlockIt::~CVdsUnlockIt(void) __ptr64
+??1CVdsUnlockIt@@QEAA@XZ
+; public: void * __ptr64 __cdecl CVdsHandleImpl<-1>::operator=(void * __ptr64) __ptr64
+??4?$CVdsHandleImpl@$0?0@@QEAAPEAXPEAX@Z
+; public: struct _MOUNTMGR_MOUNT_POINT * __ptr64 __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINT>::operator=(struct _MOUNTMGR_MOUNT_POINT * __ptr64) __ptr64
+??4?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEAAPEAU_MOUNTMGR_MOUNT_POINT@@PEAU1@@Z
+; public: struct _MOUNTMGR_MOUNT_POINTS * __ptr64 __cdecl CVdsHeapPtr<struct _MOUNTMGR_MOUNT_POINTS>::operator=(struct _MOUNTMGR_MOUNT_POINTS * __ptr64) __ptr64
+??4?$CVdsHeapPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEAAPEAU_MOUNTMGR_MOUNT_POINTS@@PEAU1@@Z
+; public: bool __cdecl CVdsHandleImpl<-1>::operator==(void * __ptr64)const  __ptr64
+??8?$CVdsHandleImpl@$0?0@@QEBA_NPEAX@Z
+; public: bool __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::operator==(struct _MOUNTMGR_MOUNT_POINT * __ptr64)const  __ptr64
+??8?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEBA_NPEAU_MOUNTMGR_MOUNT_POINT@@@Z
+; public: bool __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::operator==(struct _MOUNTMGR_MOUNT_POINTS * __ptr64)const  __ptr64
+??8?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEBA_NPEAU_MOUNTMGR_MOUNT_POINTS@@@Z
+; public: __cdecl CVdsHandleImpl<-1>::operator void * __ptr64(void) __ptr64
+??B?$CVdsHandleImpl@$0?0@@QEAAPEAXXZ
+; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::operator struct _MOUNTMGR_MOUNT_POINT * __ptr64(void)const  __ptr64
+??B?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEBAPEAU_MOUNTMGR_MOUNT_POINT@@XZ
+; public: __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::operator struct _MOUNTMGR_MOUNT_POINTS * __ptr64(void)const  __ptr64
+??B?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEBAPEAU_MOUNTMGR_MOUNT_POINTS@@XZ
+; public: struct _MOUNTMGR_MOUNT_POINT * __ptr64 __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINT>::operator->(void)const  __ptr64
+??C?$CVdsPtr@U_MOUNTMGR_MOUNT_POINT@@@@QEBAPEAU_MOUNTMGR_MOUNT_POINT@@XZ
+; public: struct _MOUNTMGR_MOUNT_POINTS * __ptr64 __cdecl CVdsPtr<struct _MOUNTMGR_MOUNT_POINTS>::operator->(void)const  __ptr64
+??C?$CVdsPtr@U_MOUNTMGR_MOUNT_POINTS@@@@QEBAPEAU_MOUNTMGR_MOUNT_POINTS@@XZ
+; public: void * __ptr64 * __ptr64 __cdecl CVdsHandleImpl<-1>::operator&(void) __ptr64
+??I?$CVdsHandleImpl@$0?0@@QEAAPEAPEAXXZ
+; bool __cdecl operator<(struct _GUID const & __ptr64,struct _GUID const & __ptr64)
+??M@YA_NAEBU_GUID@@0@Z
+; unsigned long __cdecl AddEventSource(unsigned short * __ptr64,struct HINSTANCE__ * __ptr64)
+?AddEventSource@@YAKPEAGPEAUHINSTANCE__@@@Z
+; public: void __cdecl CVdsAsyncObjectBase::AllowCancel(void) __ptr64
+?AllowCancel@CVdsAsyncObjectBase@@QEAAXXZ
+; public: long __cdecl CPrvEnumObject::Append(struct IUnknown * __ptr64) __ptr64
+?Append@CPrvEnumObject@@QEAAJPEAUIUnknown@@@Z
+; long __cdecl AssignTempVolumeName(unsigned short * __ptr64,unsigned short * __ptr64 const)
+?AssignTempVolumeName@@YAJPEAGQEAG@Z
+; public: virtual long __cdecl CVdsAsyncObjectBase::Cancel(void) __ptr64
+?Cancel@CVdsAsyncObjectBase@@UEAAJXZ
+; public: void __cdecl CPrvEnumObject::Clear(void) __ptr64
+?Clear@CPrvEnumObject@@QEAAXXZ
+; public: virtual long __cdecl CPrvEnumObject::Clone(struct IEnumVdsObject * __ptr64 * __ptr64) __ptr64
+?Clone@CPrvEnumObject@@UEAAJPEAPEAUIEnumVdsObject@@@Z
+; void __cdecl CoFreeStringArray(unsigned short * __ptr64 * __ptr64,long)
+?CoFreeStringArray@@YAXPEAPEAGJ@Z
+; unsigned long __cdecl CreateDeviceInfoSet(unsigned short * __ptr64,void * __ptr64 * __ptr64,struct _SP_DEVINFO_DATA * __ptr64)
+?CreateDeviceInfoSet@@YAKPEAGPEAPEAXPEAU_SP_DEVINFO_DATA@@@Z
+; private: unsigned long __cdecl CVdsPnPNotificationBase::CreateListenThread(void) __ptr64
+?CreateListenThread@CVdsPnPNotificationBase@@AEAAKXZ
+; public: void * __ptr64 __cdecl CVdsHandleImpl<-1>::Detach(void) __ptr64
+?Detach@?$CVdsHandleImpl@$0?0@@QEAAPEAXXZ
+; public: void __cdecl CVdsAsyncObjectBase::DisallowCancel(void) __ptr64
+?DisallowCancel@CVdsAsyncObjectBase@@QEAAXXZ
+; void __cdecl GarbageCollectDriveLetters(void)
+?GarbageCollectDriveLetters@@YAXXZ
+; unsigned long __cdecl GetDeviceAndMediaType(void * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
+?GetDeviceAndMediaType@@YAKPEAXPEAK1@Z
+; unsigned long __cdecl GetDeviceLocation(void * __ptr64,struct _VDS_DISK_PROP * __ptr64)
+?GetDeviceLocation@@YAKPEAXPEAU_VDS_DISK_PROP@@@Z
+; unsigned long __cdecl GetDeviceName(void * __ptr64,int,unsigned short * __ptr64 const)
+?GetDeviceName@@YAKPEAXHQEAG@Z
+; unsigned long __cdecl GetDeviceNumber(void * __ptr64,struct _STORAGE_DEVICE_NUMBER * __ptr64)
+?GetDeviceNumber@@YAKPEAXPEAU_STORAGE_DEVICE_NUMBER@@@Z
+; unsigned long __cdecl GetDeviceRegistryProperty(unsigned long,unsigned long,unsigned char * __ptr64 * __ptr64,unsigned long)
+?GetDeviceRegistryProperty@@YAKKKPEAPEAEK@Z
+; unsigned long __cdecl GetDeviceRegistryProperty(void * __ptr64,struct _SP_DEVINFO_DATA * __ptr64,unsigned long,unsigned char * __ptr64 * __ptr64,unsigned long)
+?GetDeviceRegistryProperty@@YAKPEAXPEAU_SP_DEVINFO_DATA@@KPEAPEAEK@Z
+; unsigned long __cdecl GetDiskLayout(void * __ptr64,struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64 * __ptr64)
+?GetDiskLayout@@YAKPEAXPEAPEAU_DRIVE_LAYOUT_INFORMATION_EX@@@Z
+; unsigned long __cdecl GetInterfaceDetailData(void * __ptr64,struct _SP_DEVICE_INTERFACE_DATA * __ptr64,struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W * __ptr64 * __ptr64)
+?GetInterfaceDetailData@@YAKPEAXPEAU_SP_DEVICE_INTERFACE_DATA@@PEAPEAU_SP_DEVICE_INTERFACE_DETAIL_DATA_W@@@Z
+; unsigned long __cdecl GetIsRemovable(void * __ptr64,int * __ptr64)
+?GetIsRemovable@@YAKPEAXPEAH@Z
+; unsigned long __cdecl GetMediaGeometry(void * __ptr64,unsigned long,struct _DISK_GEOMETRY * __ptr64)
+?GetMediaGeometry@@YAKPEAXKPEAU_DISK_GEOMETRY@@@Z
+; unsigned long __cdecl GetMediaGeometry(void * __ptr64,struct _VDS_DISK_PROP * __ptr64)
+?GetMediaGeometry@@YAKPEAXPEAU_VDS_DISK_PROP@@@Z
+; public: enum __MIDL___MIDL_itf_vdscmlyr_0000_0002  __cdecl CVdsAsyncObjectBase::GetOutputType(void) __ptr64
+?GetOutputType@CVdsAsyncObjectBase@@QEAA?AW4__MIDL___MIDL_itf_vdscmlyr_0000_0002@@XZ
+; unsigned long __cdecl GetPartitionInformation(void * __ptr64,struct _PARTITION_INFORMATION_EX * __ptr64)
+?GetPartitionInformation@@YAKPEAXPEAU_PARTITION_INFORMATION_EX@@@Z
+; unsigned long __cdecl GetVolumeDiskExtentInfo(void * __ptr64,struct _VOLUME_DISK_EXTENTS * __ptr64 * __ptr64)
+?GetVolumeDiskExtentInfo@@YAKPEAXPEAPEAU_VOLUME_DISK_EXTENTS@@@Z
+; long __cdecl GetVolumeName(unsigned short * __ptr64,unsigned short * __ptr64)
+?GetVolumeName@@YAJPEAG0@Z
+; unsigned long __cdecl GetVolumeSize(unsigned short * __ptr64,unsigned __int64 * __ptr64)
+?GetVolumeSize@@YAKPEAGPEA_K@Z
+; public: struct HWND__ * __ptr64 __cdecl CVdsPnPNotificationBase::GetWindowHandle(void) __ptr64
+?GetWindowHandle@CVdsPnPNotificationBase@@QEAAPEAUHWND__@@XZ
+; protected: int __cdecl CVdsPnPNotificationBase::HasMatchingNotification(unsigned __int64,unsigned long) __ptr64
+?HasMatchingNotification@CVdsPnPNotificationBase@@IEAAH_KK@Z
+; public: static unsigned long __cdecl CVdsAsyncObjectBase::Initialize(void)
+?Initialize@CVdsAsyncObjectBase@@SAKXZ
+; public: unsigned long __cdecl CVdsPnPNotificationBase::Initialize(void) __ptr64
+?Initialize@CVdsPnPNotificationBase@@QEAAKXZ
+; unsigned long __cdecl InitializeSecurityDescriptor(unsigned long,void * __ptr64,struct _ACL * __ptr64 * __ptr64,void * __ptr64 * __ptr64,void * __ptr64 * __ptr64,void * __ptr64 * __ptr64)
+?InitializeSecurityDescriptor@@YAKKPEAXPEAPEAU_ACL@@PEAPEAX22@Z
+; public: int __cdecl CVdsAsyncObjectBase::IsCancelRequested(void) __ptr64
+?IsCancelRequested@CVdsAsyncObjectBase@@QEAAHXZ
+; int __cdecl IsDeviceFullyInstalled(unsigned short * __ptr64)
+?IsDeviceFullyInstalled@@YAHPEAG@Z
+; int __cdecl IsDiskClustered(void * __ptr64)
+?IsDiskClustered@@YAHPEAX@Z
+; public: int __cdecl CVdsAsyncObjectBase::IsFinished(void) __ptr64
+?IsFinished@CVdsAsyncObjectBase@@QEAAHXZ
+; long __cdecl IsLocalComputer(unsigned short * __ptr64)
+?IsLocalComputer@@YAJPEAG@Z
+; int __cdecl IsMediaPresent(void * __ptr64)
+?IsMediaPresent@@YAHPEAX@Z
+; int __cdecl IsNoAutoMount(void)
+?IsNoAutoMount@@YAHXZ
+; int __cdecl IsWinPE(void)
+?IsWinPE@@YAHXZ
+; unsigned long __cdecl LockDismountVolume(void * __ptr64,int)
+?LockDismountVolume@@YAKPEAXH@Z
+; unsigned long __cdecl LockVolume(void * __ptr64)
+?LockVolume@@YAKPEAX@Z
+; public: void __cdecl CVdsDebugLog::Log(unsigned long,unsigned long,int,char * __ptr64,char * __ptr64) __ptr64
+?Log@CVdsDebugLog@@QEAAXKKHPEAD0@Z
+; public: void __cdecl CVdsDebugLog::Log(unsigned long,unsigned long,int,char * __ptr64,...) __ptr64
+?Log@CVdsDebugLog@@QEAAXKKHPEADZZ
+; void __cdecl LogError(unsigned short * __ptr64,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64,char * __ptr64)
+?LogError@@YAXPEAGKKPEAXKK0PEAD@Z
+; void __cdecl LogEvent(unsigned short * __ptr64,unsigned long,unsigned short,unsigned long,void * __ptr64,unsigned long,unsigned short * __ptr64 * __ptr64 const)
+?LogEvent@@YAXPEAGKGKPEAXKQEAPEAG@Z
+; void __cdecl LogInfo(unsigned short * __ptr64,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned short * __ptr64,char * __ptr64)
+?LogInfo@@YAXPEAGKKPEAXK0PEAD@Z
+; void __cdecl LogWarning(unsigned short * __ptr64,unsigned long,unsigned long,void * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64,char * __ptr64)
+?LogWarning@@YAXPEAGKKPEAXKK0PEAD@Z
+; unsigned long __cdecl MountVolume(unsigned short * __ptr64)
+?MountVolume@@YAKPEAG@Z
+; public: virtual long __cdecl CPrvEnumObject::Next(unsigned long,struct IUnknown * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?Next@CPrvEnumObject@@UEAAJKPEAPEAUIUnknown@@PEAK@Z
+; private: unsigned long __cdecl CVdsPnPNotificationBase::NotificationThread(void * __ptr64) __ptr64
+?NotificationThread@CVdsPnPNotificationBase@@AEAAKPEAX@Z
+; private: static unsigned long __cdecl CVdsPnPNotificationBase::NotificationThreadEntry(void * __ptr64)
+?NotificationThreadEntry@CVdsPnPNotificationBase@@CAKPEAX@Z
+; unsigned long __cdecl OpenDevice(unsigned short * __ptr64,unsigned long,void * __ptr64 * __ptr64)
+?OpenDevice@@YAKPEAGKPEAPEAX@Z
+; long __cdecl QueryObjects(struct IUnknown * __ptr64,struct IEnumVdsObject * __ptr64 * __ptr64,struct _RTL_CRITICAL_SECTION & __ptr64)
+?QueryObjects@@YAJPEAUIUnknown@@PEAPEAUIEnumVdsObject@@AEAU_RTL_CRITICAL_SECTION@@@Z
+; public: virtual long __cdecl CVdsAsyncObjectBase::QueryStatus(long * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryStatus@CVdsAsyncObjectBase@@UEAAJPEAJPEAK@Z
+; public: unsigned long __cdecl CVdsPnPNotificationBase::Register(struct _NotificationListeningRequest * __ptr64,unsigned long) __ptr64
+?Register@CVdsPnPNotificationBase@@QEAAKPEAU_NotificationListeningRequest@@K@Z
+; public: unsigned long __cdecl CVdsPnPNotificationBase::RegisterHandle(void * __ptr64,void * __ptr64 * __ptr64) __ptr64
+?RegisterHandle@CVdsPnPNotificationBase@@QEAAKPEAXPEAPEAX@Z
+; long __cdecl RegisterProvider(struct _GUID,struct _GUID,unsigned short * __ptr64,enum _VDS_PROVIDER_TYPE,unsigned short * __ptr64,unsigned short * __ptr64,struct _GUID)
+?RegisterProvider@@YAJU_GUID@@0PEAGW4_VDS_PROVIDER_TYPE@@110@Z
+; unsigned long __cdecl RemoveEventSource(unsigned short * __ptr64)
+?RemoveEventSource@@YAKPEAG@Z
+; void __cdecl RemoveTempVolumeName(unsigned short * __ptr64,unsigned short * __ptr64)
+?RemoveTempVolumeName@@YAXPEAG0@Z
+; public: virtual long __cdecl CPrvEnumObject::Reset(void) __ptr64
+?Reset@CPrvEnumObject@@UEAAJXZ
+; public: void __cdecl CVdsAsyncObjectBase::SetCompletionStatus(long,unsigned long) __ptr64
+?SetCompletionStatus@CVdsAsyncObjectBase@@QEAAXJK@Z
+; unsigned long __cdecl SetDiskLayout(void * __ptr64,struct _DRIVE_LAYOUT_INFORMATION_EX * __ptr64)
+?SetDiskLayout@@YAKPEAXPEAU_DRIVE_LAYOUT_INFORMATION_EX@@@Z
+; public: void __cdecl CVdsAsyncObjectBase::SetOutputType(enum __MIDL___MIDL_itf_vdscmlyr_0000_0002) __ptr64
+?SetOutputType@CVdsAsyncObjectBase@@QEAAXW4__MIDL___MIDL_itf_vdscmlyr_0000_0002@@@Z
+; public: void __cdecl CPrvEnumObject::SetPositionToLast(void) __ptr64
+?SetPositionToLast@CPrvEnumObject@@QEAAXXZ
+; public: void __cdecl CVdsAsyncObjectBase::Signal(void) __ptr64
+?Signal@CVdsAsyncObjectBase@@QEAAXXZ
+; public: virtual long __cdecl CPrvEnumObject::Skip(unsigned long) __ptr64
+?Skip@CPrvEnumObject@@UEAAJK@Z
+; public: int __cdecl CVdsDebugLog::TracingLogEnabled(void) __ptr64
+?TracingLogEnabled@CVdsDebugLog@@QEAAHXZ
+; public: static void __cdecl CVdsAsyncObjectBase::Uninitialize(void)
+?Uninitialize@CVdsAsyncObjectBase@@SAXXZ
+; public: void __cdecl CVdsPnPNotificationBase::Uninitialize(void) __ptr64
+?Uninitialize@CVdsPnPNotificationBase@@QEAAXXZ
+; public: void __cdecl CVdsPnPNotificationBase::Unregister(struct _NotificationListeningRequest * __ptr64) __ptr64
+?Unregister@CVdsPnPNotificationBase@@QEAAXPEAU_NotificationListeningRequest@@@Z
+; public: void __cdecl CVdsPnPNotificationBase::UnregisterHandle(void * __ptr64) __ptr64
+?UnregisterHandle@CVdsPnPNotificationBase@@QEAAXPEAX@Z
+; long __cdecl UnregisterProvider(struct _GUID)
+?UnregisterProvider@@YAJU_GUID@@@Z
+; unsigned short * __ptr64 __cdecl VdsAllocateEmptyString(void)
+?VdsAllocateEmptyString@@YAPEAGXZ
+; void * __ptr64 __cdecl VdsHeapAlloc(void * __ptr64,unsigned long,unsigned __int64)
+?VdsHeapAlloc@@YAPEAXPEAXK_K@Z
+; int __cdecl VdsHeapFree(void * __ptr64,unsigned long,void * __ptr64)
+?VdsHeapFree@@YAHPEAXK0@Z
+; unsigned long __cdecl VdsInitializeCriticalSection(struct _RTL_CRITICAL_SECTION * __ptr64)
+?VdsInitializeCriticalSection@@YAKPEAU_RTL_CRITICAL_SECTION@@@Z
+; public: static void __cdecl CVdsStructuredExceptionTranslator::VdsSeTranslator(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
+?VdsSeTranslator@CVdsStructuredExceptionTranslator@@SAXIPEAU_EXCEPTION_POINTERS@@@Z
+; void __cdecl VdsTrace(unsigned long,char * __ptr64,...)
+?VdsTrace@@YAXKPEADZZ
+; void __cdecl VdsTraceEx(unsigned long,unsigned long,char * __ptr64,...)
+?VdsTraceEx@@YAXKKPEADZZ
+; void __cdecl VdsTraceExHelper(unsigned long,unsigned long,char * __ptr64,char * __ptr64)
+?VdsTraceExHelper@@YAXKKPEAD0@Z
+; void __cdecl VdsTraceExW(unsigned long,unsigned long,unsigned short * __ptr64,...)
+?VdsTraceExW@@YAXKKPEAGZZ
+; void __cdecl VdsTraceExWHelper(unsigned long,unsigned long,unsigned short * __ptr64,char * __ptr64)
+?VdsTraceExWHelper@@YAXKKPEAGPEAD@Z
+; void __cdecl VdsTraceW(unsigned long,unsigned short * __ptr64,...)
+?VdsTraceW@@YAXKPEAGZZ
+; public: long __cdecl CVdsAsyncObjectBase::WaitImpl(long * __ptr64) __ptr64
+?WaitImpl@CVdsAsyncObjectBase@@QEAAJPEAJ@Z
+; private: static __int64 __cdecl CVdsPnPNotificationBase::WindowProcEntry(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?WindowProcEntry@CVdsPnPNotificationBase@@CA_JPEAUHWND__@@I_K_J@Z
+; public: void __cdecl CVdsAsyncObjectBase::ZeroAsyncOut(void) __ptr64
+?ZeroAsyncOut@CVdsAsyncObjectBase@@QEAAXXZ
+DllMain
+RegisterVdsFabric
+UnregisterVdsFabric
diff --git a/mingw-w64-crt/lib64/vdswmi.def b/mingw-w64-crt/lib64/vdswmi.def
index cb25865..17fcc35 100644
--- a/mingw-w64-crt/lib64/vdswmi.def
+++ b/mingw-w64-crt/lib64/vdswmi.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file vdswmi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY vdswmi.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file vdswmi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY vdswmi.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/verifier.def b/mingw-w64-crt/lib64/verifier.def
index c3676a6..bac610a 100644
--- a/mingw-w64-crt/lib64/verifier.def
+++ b/mingw-w64-crt/lib64/verifier.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file VERIFIER.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY VERIFIER.dll
-EXPORTS
-VerifierAddFreeMemoryCallback
-VerifierCreateRpcPageHeap
-VerifierDeleteFreeMemoryCallback
-VerifierDestroyRpcPageHeap
-VerifierDisableFaultInjectionExclusionRange
-VerifierDisableFaultInjectionTargetRange
-VerifierEnableFaultInjectionExclusionRange
-VerifierEnableFaultInjectionTargetRange
-VerifierEnumerateResource
-VerifierIsCurrentThreadHoldingLocks
-VerifierIsDllEntryActive
-VerifierLogMessage
-VerifierQueryRuntimeFlags
-VerifierSetFaultInjectionProbability
-VerifierSetFlags
-VerifierSetRuntimeFlags
-VerifierStopMessage
+; 
+; Exports of file VERIFIER.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY VERIFIER.dll
+EXPORTS
+VerifierAddFreeMemoryCallback
+VerifierCreateRpcPageHeap
+VerifierDeleteFreeMemoryCallback
+VerifierDestroyRpcPageHeap
+VerifierDisableFaultInjectionExclusionRange
+VerifierDisableFaultInjectionTargetRange
+VerifierEnableFaultInjectionExclusionRange
+VerifierEnableFaultInjectionTargetRange
+VerifierEnumerateResource
+VerifierIsCurrentThreadHoldingLocks
+VerifierIsDllEntryActive
+VerifierLogMessage
+VerifierQueryRuntimeFlags
+VerifierSetFaultInjectionProbability
+VerifierSetFlags
+VerifierSetRuntimeFlags
+VerifierStopMessage
diff --git a/mingw-w64-crt/lib64/version.def b/mingw-w64-crt/lib64/version.def
index 082960a..08e8577 100644
--- a/mingw-w64-crt/lib64/version.def
+++ b/mingw-w64-crt/lib64/version.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file VERSION.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY "VERSION.dll"
-EXPORTS
-GetFileVersionInfoA
-GetFileVersionInfoSizeA
-GetFileVersionInfoSizeW
-GetFileVersionInfoW
-VerFindFileA
-VerFindFileW
-VerInstallFileA
-VerInstallFileW
-VerLanguageNameA
-VerLanguageNameW
-VerQueryValueA
-VerQueryValueIndexA
-VerQueryValueIndexW
-VerQueryValueW
+; 
+; Exports of file VERSION.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY "VERSION.dll"
+EXPORTS
+GetFileVersionInfoA
+GetFileVersionInfoSizeA
+GetFileVersionInfoSizeW
+GetFileVersionInfoW
+VerFindFileA
+VerFindFileW
+VerInstallFileA
+VerInstallFileW
+VerLanguageNameA
+VerLanguageNameW
+VerQueryValueA
+VerQueryValueIndexA
+VerQueryValueIndexW
+VerQueryValueW
diff --git a/mingw-w64-crt/lib64/vgx.def b/mingw-w64-crt/lib64/vgx.def
index 3b8ef8f..e65f742 100644
--- a/mingw-w64-crt/lib64/vgx.def
+++ b/mingw-w64-crt/lib64/vgx.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file VGX.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY VGX.DLL
-EXPORTS
-$DllMain$_gdiplus
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-MsoAssertSzProcVar
-MsoFFeature
-MsoFInitOffice
-MsoFSetFeature
+; 
+; Exports of file VGX.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY VGX.DLL
+EXPORTS
+$DllMain$_gdiplus
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+MsoAssertSzProcVar
+MsoFFeature
+MsoFInitOffice
+MsoFSetFeature
diff --git a/mingw-w64-crt/lib64/viewprov.def b/mingw-w64-crt/lib64/viewprov.def
index f25a32b..20f8af5 100644
--- a/mingw-w64-crt/lib64/viewprov.def
+++ b/mingw-w64-crt/lib64/viewprov.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file VIEWPROV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY VIEWPROV.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file VIEWPROV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY VIEWPROV.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/vmx_mode.def b/mingw-w64-crt/lib64/vmx_mode.def
index 1ca5dd7..2ae9d01 100644
--- a/mingw-w64-crt/lib64/vmx_mode.def
+++ b/mingw-w64-crt/lib64/vmx_mode.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file VMX_MODE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY VMX_MODE.dll
-EXPORTS
-VMX_ModeChange
+; 
+; Exports of file VMX_MODE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY VMX_MODE.dll
+EXPORTS
+VMX_ModeChange
diff --git a/mingw-w64-crt/lib64/vss_ps.def b/mingw-w64-crt/lib64/vss_ps.def
index de0b078..d8daab3 100644
--- a/mingw-w64-crt/lib64/vss_ps.def
+++ b/mingw-w64-crt/lib64/vss_ps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file vss_ps.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY vss_ps.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file vss_ps.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY vss_ps.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/vssapi.def b/mingw-w64-crt/lib64/vssapi.def
index bc42016..d7b06c1 100644
--- a/mingw-w64-crt/lib64/vssapi.def
+++ b/mingw-w64-crt/lib64/vssapi.def
@@ -1,125 +1,125 @@
-; 
-; Exports of file VSSAPI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY VSSAPI.DLL
-EXPORTS
-SimulateSnapshotFreeze
-SimulateSnapshotThaw
-IsVolumeSnapshotted
-VssFreeSnapshotProperties
-ShouldBlockRevert
-; public: __cdecl CVssJetWriter::CVssJetWriter(void) __ptr64
-??0CVssJetWriter@@QEAA@XZ
-; public: __cdecl CVssWriter::CVssWriter(void) __ptr64
-??0CVssWriter@@QEAA@XZ
-; public: virtual __cdecl CVssJetWriter::~CVssJetWriter(void) __ptr64
-??1CVssJetWriter@@UEAA@XZ
-; public: virtual __cdecl CVssWriter::~CVssWriter(void) __ptr64
-??1CVssWriter@@UEAA@XZ
-; protected: bool __cdecl CVssWriter::AreComponentsSelected(void)const  __ptr64
-?AreComponentsSelected@CVssWriter@@IEBA_NXZ
-; long __cdecl CreateVssBackupComponents(class IVssBackupComponents * __ptr64 * __ptr64)
-?CreateVssBackupComponents@@YAJPEAPEAVIVssBackupComponents@@@Z
-; long __cdecl CreateVssExamineWriterMetadata(unsigned short * __ptr64,class IVssExamineWriterMetadata * __ptr64 * __ptr64)
-?CreateVssExamineWriterMetadata@@YAJPEAGPEAPEAVIVssExamineWriterMetadata@@@Z
-; long __cdecl CreateVssSnapshotSetDescription(struct _GUID,long,class IVssSnapshotSetDescription * __ptr64 * __ptr64)
-?CreateVssSnapshotSetDescription@@YAJU_GUID@@JPEAPEAVIVssSnapshotSetDescription@@@Z
-; protected: enum _VSS_BACKUP_TYPE  __cdecl CVssWriter::GetBackupType(void)const  __ptr64
-?GetBackupType@CVssWriter@@IEBA?AW4_VSS_BACKUP_TYPE@@XZ
-; protected: long __cdecl CVssWriter::GetContext(void)const  __ptr64
-?GetContext@CVssWriter@@IEBAJXZ
-; protected: enum _VSS_APPLICATION_LEVEL  __cdecl CVssWriter::GetCurrentLevel(void)const  __ptr64
-?GetCurrentLevel@CVssWriter@@IEBA?AW4_VSS_APPLICATION_LEVEL@@XZ
-; protected: struct _GUID  __cdecl CVssWriter::GetCurrentSnapshotSetId(void)const  __ptr64
-?GetCurrentSnapshotSetId@CVssWriter@@IEBA?AU_GUID@@XZ
-; protected: unsigned short const * __ptr64 * __ptr64 __cdecl CVssWriter::GetCurrentVolumeArray(void)const  __ptr64
-?GetCurrentVolumeArray@CVssWriter@@IEBAPEAPEBGXZ
-; protected: unsigned int __cdecl CVssWriter::GetCurrentVolumeCount(void)const  __ptr64
-?GetCurrentVolumeCount@CVssWriter@@IEBAIXZ
-; protected: enum _VSS_RESTORE_TYPE  __cdecl CVssWriter::GetRestoreType(void)const  __ptr64
-?GetRestoreType@CVssWriter@@IEBA?AW4_VSS_RESTORE_TYPE@@XZ
-; protected: long __cdecl CVssWriter::GetSnapshotDeviceName(unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64)const  __ptr64
-?GetSnapshotDeviceName@CVssWriter@@IEBAJPEBGPEAPEBG@Z
-; public: long __cdecl CVssJetWriter::Initialize(struct _GUID,unsigned short const * __ptr64,bool,bool,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?Initialize@CVssJetWriter@@QEAAJU_GUID@@PEBG_N211@Z
-; public: long __cdecl CVssWriter::Initialize(struct _GUID,unsigned short const * __ptr64,enum VSS_USAGE_TYPE,enum VSS_SOURCE_TYPE,enum _VSS_APPLICATION_LEVEL,unsigned long,enum VSS_ALTERNATE_WRITER_STATE,bool,unsigned short const * __ptr64) __ptr64
-?Initialize@CVssWriter@@QEAAJU_GUID@@PEBGW4VSS_USAGE_TYPE@@W4VSS_SOURCE_TYPE@@W4_VSS_APPLICATION_LEVEL@@KW4VSS_ALTERNATE_WRITER_STATE@@_N1@Z
-; public: long __cdecl CVssWriter::InstallAlternateWriter(struct _GUID,struct _GUID) __ptr64
-?InstallAlternateWriter@CVssWriter@@QEAAJU_GUID@@0@Z
-; protected: bool __cdecl CVssWriter::IsBootableSystemStateBackedUp(void)const  __ptr64
-?IsBootableSystemStateBackedUp@CVssWriter@@IEBA_NXZ
-; protected: bool __cdecl CVssWriter::IsPartialFileSupportEnabled(void)const  __ptr64
-?IsPartialFileSupportEnabled@CVssWriter@@IEBA_NXZ
-; protected: bool __cdecl CVssWriter::IsPathAffected(unsigned short const * __ptr64)const  __ptr64
-?IsPathAffected@CVssWriter@@IEBA_NPEBG@Z
-; long __cdecl LoadVssSnapshotSetDescription(unsigned short const * __ptr64,class IVssSnapshotSetDescription * __ptr64 * __ptr64,struct _GUID)
-?LoadVssSnapshotSetDescription@@YAJPEBGPEAPEAVIVssSnapshotSetDescription@@U_GUID@@@Z
-; public: virtual void __cdecl CVssJetWriter::OnAbortBegin(void) __ptr64
-?OnAbortBegin@CVssJetWriter@@UEAAXXZ
-; public: virtual void __cdecl CVssJetWriter::OnAbortEnd(void) __ptr64
-?OnAbortEnd@CVssJetWriter@@UEAAXXZ
-; public: virtual bool __cdecl CVssWriter::OnBackOffIOOnVolume(unsigned short * __ptr64,struct _GUID,struct _GUID) __ptr64
-?OnBackOffIOOnVolume@CVssWriter@@UEAA_NPEAGU_GUID@@1@Z
-; public: virtual bool __cdecl CVssWriter::OnBackupComplete(class IVssWriterComponents * __ptr64) __ptr64
-?OnBackupComplete@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssJetWriter::OnBackupCompleteBegin(class IVssWriterComponents * __ptr64) __ptr64
-?OnBackupCompleteBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssJetWriter::OnBackupCompleteEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
-?OnBackupCompleteEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
-; public: virtual bool __cdecl CVssWriter::OnBackupShutdown(struct _GUID) __ptr64
-?OnBackupShutdown@CVssWriter@@UEAA_NU_GUID@@@Z
-; public: virtual bool __cdecl CVssWriter::OnContinueIOOnVolume(unsigned short * __ptr64,struct _GUID,struct _GUID) __ptr64
-?OnContinueIOOnVolume@CVssWriter@@UEAA_NPEAGU_GUID@@1@Z
-; public: virtual bool __cdecl CVssJetWriter::OnFreezeBegin(void) __ptr64
-?OnFreezeBegin@CVssJetWriter@@UEAA_NXZ
-; public: virtual bool __cdecl CVssJetWriter::OnFreezeEnd(bool) __ptr64
-?OnFreezeEnd@CVssJetWriter@@UEAA_N_N@Z
-; public: virtual bool __cdecl CVssJetWriter::OnIdentify(class IVssCreateWriterMetadata * __ptr64) __ptr64
-?OnIdentify@CVssJetWriter@@UEAA_NPEAVIVssCreateWriterMetadata@@@Z
-; public: virtual bool __cdecl CVssWriter::OnIdentify(class IVssCreateWriterMetadata * __ptr64) __ptr64
-?OnIdentify@CVssWriter@@UEAA_NPEAVIVssCreateWriterMetadata@@@Z
-; public: virtual bool __cdecl CVssWriter::OnPostRestore(class IVssWriterComponents * __ptr64) __ptr64
-?OnPostRestore@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssJetWriter::OnPostRestoreBegin(class IVssWriterComponents * __ptr64) __ptr64
-?OnPostRestoreBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssJetWriter::OnPostRestoreEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
-?OnPostRestoreEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
-; public: virtual bool __cdecl CVssJetWriter::OnPostSnapshot(class IVssWriterComponents * __ptr64) __ptr64
-?OnPostSnapshot@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssWriter::OnPostSnapshot(class IVssWriterComponents * __ptr64) __ptr64
-?OnPostSnapshot@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssWriter::OnPreRestore(class IVssWriterComponents * __ptr64) __ptr64
-?OnPreRestore@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssJetWriter::OnPreRestoreBegin(class IVssWriterComponents * __ptr64) __ptr64
-?OnPreRestoreBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssJetWriter::OnPreRestoreEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
-?OnPreRestoreEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
-; public: virtual bool __cdecl CVssWriter::OnPrepareBackup(class IVssWriterComponents * __ptr64) __ptr64
-?OnPrepareBackup@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssJetWriter::OnPrepareBackupBegin(class IVssWriterComponents * __ptr64) __ptr64
-?OnPrepareBackupBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
-; public: virtual bool __cdecl CVssJetWriter::OnPrepareBackupEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
-?OnPrepareBackupEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
-; public: virtual bool __cdecl CVssJetWriter::OnPrepareSnapshotBegin(void) __ptr64
-?OnPrepareSnapshotBegin@CVssJetWriter@@UEAA_NXZ
-; public: virtual bool __cdecl CVssJetWriter::OnPrepareSnapshotEnd(bool) __ptr64
-?OnPrepareSnapshotEnd@CVssJetWriter@@UEAA_N_N@Z
-; public: virtual bool __cdecl CVssJetWriter::OnThawBegin(void) __ptr64
-?OnThawBegin@CVssJetWriter@@UEAA_NXZ
-; public: virtual bool __cdecl CVssJetWriter::OnThawEnd(bool) __ptr64
-?OnThawEnd@CVssJetWriter@@UEAA_N_N@Z
-; public: virtual bool __cdecl CVssWriter::OnVSSApplicationStartup(void) __ptr64
-?OnVSSApplicationStartup@CVssWriter@@UEAA_NXZ
-; public: virtual bool __cdecl CVssWriter::OnVSSShutdown(void) __ptr64
-?OnVSSShutdown@CVssWriter@@UEAA_NXZ
-; protected: long __cdecl CVssWriter::SetWriterFailure(long) __ptr64
-?SetWriterFailure@CVssWriter@@IEAAJJ@Z
-; public: long __cdecl CVssWriter::Subscribe(unsigned long) __ptr64
-?Subscribe@CVssWriter@@QEAAJK@Z
-; public: void __cdecl CVssJetWriter::Uninitialize(void) __ptr64
-?Uninitialize@CVssJetWriter@@QEAAXXZ
-; public: long __cdecl CVssWriter::Unsubscribe(void) __ptr64
-?Unsubscribe@CVssWriter@@QEAAJXZ
+; 
+; Exports of file VSSAPI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY VSSAPI.DLL
+EXPORTS
+SimulateSnapshotFreeze
+SimulateSnapshotThaw
+IsVolumeSnapshotted
+VssFreeSnapshotProperties
+ShouldBlockRevert
+; public: __cdecl CVssJetWriter::CVssJetWriter(void) __ptr64
+??0CVssJetWriter@@QEAA@XZ
+; public: __cdecl CVssWriter::CVssWriter(void) __ptr64
+??0CVssWriter@@QEAA@XZ
+; public: virtual __cdecl CVssJetWriter::~CVssJetWriter(void) __ptr64
+??1CVssJetWriter@@UEAA@XZ
+; public: virtual __cdecl CVssWriter::~CVssWriter(void) __ptr64
+??1CVssWriter@@UEAA@XZ
+; protected: bool __cdecl CVssWriter::AreComponentsSelected(void)const  __ptr64
+?AreComponentsSelected@CVssWriter@@IEBA_NXZ
+; long __cdecl CreateVssBackupComponents(class IVssBackupComponents * __ptr64 * __ptr64)
+?CreateVssBackupComponents@@YAJPEAPEAVIVssBackupComponents@@@Z
+; long __cdecl CreateVssExamineWriterMetadata(unsigned short * __ptr64,class IVssExamineWriterMetadata * __ptr64 * __ptr64)
+?CreateVssExamineWriterMetadata@@YAJPEAGPEAPEAVIVssExamineWriterMetadata@@@Z
+; long __cdecl CreateVssSnapshotSetDescription(struct _GUID,long,class IVssSnapshotSetDescription * __ptr64 * __ptr64)
+?CreateVssSnapshotSetDescription@@YAJU_GUID@@JPEAPEAVIVssSnapshotSetDescription@@@Z
+; protected: enum _VSS_BACKUP_TYPE  __cdecl CVssWriter::GetBackupType(void)const  __ptr64
+?GetBackupType@CVssWriter@@IEBA?AW4_VSS_BACKUP_TYPE@@XZ
+; protected: long __cdecl CVssWriter::GetContext(void)const  __ptr64
+?GetContext@CVssWriter@@IEBAJXZ
+; protected: enum _VSS_APPLICATION_LEVEL  __cdecl CVssWriter::GetCurrentLevel(void)const  __ptr64
+?GetCurrentLevel@CVssWriter@@IEBA?AW4_VSS_APPLICATION_LEVEL@@XZ
+; protected: struct _GUID  __cdecl CVssWriter::GetCurrentSnapshotSetId(void)const  __ptr64
+?GetCurrentSnapshotSetId@CVssWriter@@IEBA?AU_GUID@@XZ
+; protected: unsigned short const * __ptr64 * __ptr64 __cdecl CVssWriter::GetCurrentVolumeArray(void)const  __ptr64
+?GetCurrentVolumeArray@CVssWriter@@IEBAPEAPEBGXZ
+; protected: unsigned int __cdecl CVssWriter::GetCurrentVolumeCount(void)const  __ptr64
+?GetCurrentVolumeCount@CVssWriter@@IEBAIXZ
+; protected: enum _VSS_RESTORE_TYPE  __cdecl CVssWriter::GetRestoreType(void)const  __ptr64
+?GetRestoreType@CVssWriter@@IEBA?AW4_VSS_RESTORE_TYPE@@XZ
+; protected: long __cdecl CVssWriter::GetSnapshotDeviceName(unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64)const  __ptr64
+?GetSnapshotDeviceName@CVssWriter@@IEBAJPEBGPEAPEBG@Z
+; public: long __cdecl CVssJetWriter::Initialize(struct _GUID,unsigned short const * __ptr64,bool,bool,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?Initialize@CVssJetWriter@@QEAAJU_GUID@@PEBG_N211@Z
+; public: long __cdecl CVssWriter::Initialize(struct _GUID,unsigned short const * __ptr64,enum VSS_USAGE_TYPE,enum VSS_SOURCE_TYPE,enum _VSS_APPLICATION_LEVEL,unsigned long,enum VSS_ALTERNATE_WRITER_STATE,bool,unsigned short const * __ptr64) __ptr64
+?Initialize@CVssWriter@@QEAAJU_GUID@@PEBGW4VSS_USAGE_TYPE@@W4VSS_SOURCE_TYPE@@W4_VSS_APPLICATION_LEVEL@@KW4VSS_ALTERNATE_WRITER_STATE@@_N1@Z
+; public: long __cdecl CVssWriter::InstallAlternateWriter(struct _GUID,struct _GUID) __ptr64
+?InstallAlternateWriter@CVssWriter@@QEAAJU_GUID@@0@Z
+; protected: bool __cdecl CVssWriter::IsBootableSystemStateBackedUp(void)const  __ptr64
+?IsBootableSystemStateBackedUp@CVssWriter@@IEBA_NXZ
+; protected: bool __cdecl CVssWriter::IsPartialFileSupportEnabled(void)const  __ptr64
+?IsPartialFileSupportEnabled@CVssWriter@@IEBA_NXZ
+; protected: bool __cdecl CVssWriter::IsPathAffected(unsigned short const * __ptr64)const  __ptr64
+?IsPathAffected@CVssWriter@@IEBA_NPEBG@Z
+; long __cdecl LoadVssSnapshotSetDescription(unsigned short const * __ptr64,class IVssSnapshotSetDescription * __ptr64 * __ptr64,struct _GUID)
+?LoadVssSnapshotSetDescription@@YAJPEBGPEAPEAVIVssSnapshotSetDescription@@U_GUID@@@Z
+; public: virtual void __cdecl CVssJetWriter::OnAbortBegin(void) __ptr64
+?OnAbortBegin@CVssJetWriter@@UEAAXXZ
+; public: virtual void __cdecl CVssJetWriter::OnAbortEnd(void) __ptr64
+?OnAbortEnd@CVssJetWriter@@UEAAXXZ
+; public: virtual bool __cdecl CVssWriter::OnBackOffIOOnVolume(unsigned short * __ptr64,struct _GUID,struct _GUID) __ptr64
+?OnBackOffIOOnVolume@CVssWriter@@UEAA_NPEAGU_GUID@@1@Z
+; public: virtual bool __cdecl CVssWriter::OnBackupComplete(class IVssWriterComponents * __ptr64) __ptr64
+?OnBackupComplete@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssJetWriter::OnBackupCompleteBegin(class IVssWriterComponents * __ptr64) __ptr64
+?OnBackupCompleteBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssJetWriter::OnBackupCompleteEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
+?OnBackupCompleteEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
+; public: virtual bool __cdecl CVssWriter::OnBackupShutdown(struct _GUID) __ptr64
+?OnBackupShutdown@CVssWriter@@UEAA_NU_GUID@@@Z
+; public: virtual bool __cdecl CVssWriter::OnContinueIOOnVolume(unsigned short * __ptr64,struct _GUID,struct _GUID) __ptr64
+?OnContinueIOOnVolume@CVssWriter@@UEAA_NPEAGU_GUID@@1@Z
+; public: virtual bool __cdecl CVssJetWriter::OnFreezeBegin(void) __ptr64
+?OnFreezeBegin@CVssJetWriter@@UEAA_NXZ
+; public: virtual bool __cdecl CVssJetWriter::OnFreezeEnd(bool) __ptr64
+?OnFreezeEnd@CVssJetWriter@@UEAA_N_N@Z
+; public: virtual bool __cdecl CVssJetWriter::OnIdentify(class IVssCreateWriterMetadata * __ptr64) __ptr64
+?OnIdentify@CVssJetWriter@@UEAA_NPEAVIVssCreateWriterMetadata@@@Z
+; public: virtual bool __cdecl CVssWriter::OnIdentify(class IVssCreateWriterMetadata * __ptr64) __ptr64
+?OnIdentify@CVssWriter@@UEAA_NPEAVIVssCreateWriterMetadata@@@Z
+; public: virtual bool __cdecl CVssWriter::OnPostRestore(class IVssWriterComponents * __ptr64) __ptr64
+?OnPostRestore@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssJetWriter::OnPostRestoreBegin(class IVssWriterComponents * __ptr64) __ptr64
+?OnPostRestoreBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssJetWriter::OnPostRestoreEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
+?OnPostRestoreEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
+; public: virtual bool __cdecl CVssJetWriter::OnPostSnapshot(class IVssWriterComponents * __ptr64) __ptr64
+?OnPostSnapshot@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssWriter::OnPostSnapshot(class IVssWriterComponents * __ptr64) __ptr64
+?OnPostSnapshot@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssWriter::OnPreRestore(class IVssWriterComponents * __ptr64) __ptr64
+?OnPreRestore@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssJetWriter::OnPreRestoreBegin(class IVssWriterComponents * __ptr64) __ptr64
+?OnPreRestoreBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssJetWriter::OnPreRestoreEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
+?OnPreRestoreEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
+; public: virtual bool __cdecl CVssWriter::OnPrepareBackup(class IVssWriterComponents * __ptr64) __ptr64
+?OnPrepareBackup@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssJetWriter::OnPrepareBackupBegin(class IVssWriterComponents * __ptr64) __ptr64
+?OnPrepareBackupBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z
+; public: virtual bool __cdecl CVssJetWriter::OnPrepareBackupEnd(class IVssWriterComponents * __ptr64,bool) __ptr64
+?OnPrepareBackupEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z
+; public: virtual bool __cdecl CVssJetWriter::OnPrepareSnapshotBegin(void) __ptr64
+?OnPrepareSnapshotBegin@CVssJetWriter@@UEAA_NXZ
+; public: virtual bool __cdecl CVssJetWriter::OnPrepareSnapshotEnd(bool) __ptr64
+?OnPrepareSnapshotEnd@CVssJetWriter@@UEAA_N_N@Z
+; public: virtual bool __cdecl CVssJetWriter::OnThawBegin(void) __ptr64
+?OnThawBegin@CVssJetWriter@@UEAA_NXZ
+; public: virtual bool __cdecl CVssJetWriter::OnThawEnd(bool) __ptr64
+?OnThawEnd@CVssJetWriter@@UEAA_N_N@Z
+; public: virtual bool __cdecl CVssWriter::OnVSSApplicationStartup(void) __ptr64
+?OnVSSApplicationStartup@CVssWriter@@UEAA_NXZ
+; public: virtual bool __cdecl CVssWriter::OnVSSShutdown(void) __ptr64
+?OnVSSShutdown@CVssWriter@@UEAA_NXZ
+; protected: long __cdecl CVssWriter::SetWriterFailure(long) __ptr64
+?SetWriterFailure@CVssWriter@@IEAAJJ@Z
+; public: long __cdecl CVssWriter::Subscribe(unsigned long) __ptr64
+?Subscribe@CVssWriter@@QEAAJK@Z
+; public: void __cdecl CVssJetWriter::Uninitialize(void) __ptr64
+?Uninitialize@CVssJetWriter@@QEAAXXZ
+; public: long __cdecl CVssWriter::Unsubscribe(void) __ptr64
+?Unsubscribe@CVssWriter@@QEAAJXZ
diff --git a/mingw-w64-crt/lib64/vsswmi.def b/mingw-w64-crt/lib64/vsswmi.def
index fbeb096..bc5aadb 100644
--- a/mingw-w64-crt/lib64/vsswmi.def
+++ b/mingw-w64-crt/lib64/vsswmi.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file vsswmi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY vsswmi.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file vsswmi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY vsswmi.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/w32time.def b/mingw-w64-crt/lib64/w32time.def
index 5db724f..a61bcb5 100644
--- a/mingw-w64-crt/lib64/w32time.def
+++ b/mingw-w64-crt/lib64/w32time.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file w32time.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY w32time.dll
-EXPORTS
-fnW32TmRegisterServiceCtrlHandlerEx DATA
-fnW32TmSetServiceStatus DATA
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-SvchostEntry_W32Time
-SvchostPushServiceGlobals
-TimeProvClose
-TimeProvCommand
-TimeProvOpen
-W32TimeBufferFree
-W32TimeDcPromo
-W32TimeGetNetlogonServiceBits
-W32TimeQueryConfig
-W32TimeQueryHardwareProviderStatus
-W32TimeQueryNTPProviderStatus
-W32TimeSetConfig
-W32TimeSyncNow
-W32TimeVerifyJoinConfig
-W32TimeVerifyUnjoinConfig
-W32TmServiceMain
+; 
+; Exports of file w32time.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY w32time.dll
+EXPORTS
+fnW32TmRegisterServiceCtrlHandlerEx DATA
+fnW32TmSetServiceStatus DATA
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+SvchostEntry_W32Time
+SvchostPushServiceGlobals
+TimeProvClose
+TimeProvCommand
+TimeProvOpen
+W32TimeBufferFree
+W32TimeDcPromo
+W32TimeGetNetlogonServiceBits
+W32TimeQueryConfig
+W32TimeQueryHardwareProviderStatus
+W32TimeQueryNTPProviderStatus
+W32TimeSetConfig
+W32TimeSyncNow
+W32TimeVerifyJoinConfig
+W32TimeVerifyUnjoinConfig
+W32TmServiceMain
diff --git a/mingw-w64-crt/lib64/w32topl.def b/mingw-w64-crt/lib64/w32topl.def
index be7a701..1ed5f31 100644
--- a/mingw-w64-crt/lib64/w32topl.def
+++ b/mingw-w64-crt/lib64/w32topl.def
@@ -1,87 +1,87 @@
-; 
-; Exports of file W32TOPL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY W32TOPL.dll
-EXPORTS
-ToplAddEdgeSetToGraph
-ToplAddEdgeToGraph
-ToplDeleteComponents
-ToplDeleteGraphState
-ToplDeleteSpanningTreeEdges
-ToplEdgeAssociate
-ToplEdgeCreate
-ToplEdgeDestroy
-ToplEdgeDisassociate
-ToplEdgeFree
-ToplEdgeGetFromVertex
-ToplEdgeGetToVertex
-ToplEdgeGetWeight
-ToplEdgeInit
-ToplEdgeSetFromVertex
-ToplEdgeSetToVertex
-ToplEdgeSetVtx
-ToplEdgeSetWeight
-ToplFree
-ToplGetAlwaysSchedule
-ToplGetSpanningTreeEdgesForVtx
-ToplGraphAddVertex
-ToplGraphCreate
-ToplGraphDestroy
-ToplGraphFindEdgesForMST
-ToplGraphFree
-ToplGraphInit
-ToplGraphMakeRing
-ToplGraphNumberOfVertices
-ToplGraphRemoveVertex
-ToplGraphSetVertexIter
-ToplHeapCreate
-ToplHeapDestroy
-ToplHeapExtractMin
-ToplHeapInsert
-ToplHeapIsElementOf
-ToplHeapIsEmpty
-ToplIsToplException
-ToplIterAdvance
-ToplIterCreate
-ToplIterFree
-ToplIterGetObject
-ToplListAddElem
-ToplListCreate
-ToplListFree
-ToplListNumberOfElements
-ToplListRemoveElem
-ToplListSetIter
-ToplMakeGraphState
-ToplPScheduleValid
-ToplSTHeapAdd
-ToplSTHeapCostReduced
-ToplSTHeapDestroy
-ToplSTHeapExtractMin
-ToplSTHeapInit
-ToplScheduleCacheCreate
-ToplScheduleCacheDestroy
-ToplScheduleCreate
-ToplScheduleDuration
-ToplScheduleExportReadonly
-ToplScheduleImport
-ToplScheduleIsEqual
-ToplScheduleMaxUnavailable
-ToplScheduleMerge
-ToplScheduleNumEntries
-ToplScheduleValid
-ToplSetAllocator
-ToplVertexCreate
-ToplVertexDestroy
-ToplVertexFree
-ToplVertexGetId
-ToplVertexGetInEdge
-ToplVertexGetOutEdge
-ToplVertexGetParent
-ToplVertexInit
-ToplVertexNumberOfInEdges
-ToplVertexNumberOfOutEdges
-ToplVertexSetId
-ToplVertexSetParent
+; 
+; Exports of file W32TOPL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY W32TOPL.dll
+EXPORTS
+ToplAddEdgeSetToGraph
+ToplAddEdgeToGraph
+ToplDeleteComponents
+ToplDeleteGraphState
+ToplDeleteSpanningTreeEdges
+ToplEdgeAssociate
+ToplEdgeCreate
+ToplEdgeDestroy
+ToplEdgeDisassociate
+ToplEdgeFree
+ToplEdgeGetFromVertex
+ToplEdgeGetToVertex
+ToplEdgeGetWeight
+ToplEdgeInit
+ToplEdgeSetFromVertex
+ToplEdgeSetToVertex
+ToplEdgeSetVtx
+ToplEdgeSetWeight
+ToplFree
+ToplGetAlwaysSchedule
+ToplGetSpanningTreeEdgesForVtx
+ToplGraphAddVertex
+ToplGraphCreate
+ToplGraphDestroy
+ToplGraphFindEdgesForMST
+ToplGraphFree
+ToplGraphInit
+ToplGraphMakeRing
+ToplGraphNumberOfVertices
+ToplGraphRemoveVertex
+ToplGraphSetVertexIter
+ToplHeapCreate
+ToplHeapDestroy
+ToplHeapExtractMin
+ToplHeapInsert
+ToplHeapIsElementOf
+ToplHeapIsEmpty
+ToplIsToplException
+ToplIterAdvance
+ToplIterCreate
+ToplIterFree
+ToplIterGetObject
+ToplListAddElem
+ToplListCreate
+ToplListFree
+ToplListNumberOfElements
+ToplListRemoveElem
+ToplListSetIter
+ToplMakeGraphState
+ToplPScheduleValid
+ToplSTHeapAdd
+ToplSTHeapCostReduced
+ToplSTHeapDestroy
+ToplSTHeapExtractMin
+ToplSTHeapInit
+ToplScheduleCacheCreate
+ToplScheduleCacheDestroy
+ToplScheduleCreate
+ToplScheduleDuration
+ToplScheduleExportReadonly
+ToplScheduleImport
+ToplScheduleIsEqual
+ToplScheduleMaxUnavailable
+ToplScheduleMerge
+ToplScheduleNumEntries
+ToplScheduleValid
+ToplSetAllocator
+ToplVertexCreate
+ToplVertexDestroy
+ToplVertexFree
+ToplVertexGetId
+ToplVertexGetInEdge
+ToplVertexGetOutEdge
+ToplVertexGetParent
+ToplVertexInit
+ToplVertexNumberOfInEdges
+ToplVertexNumberOfOutEdges
+ToplVertexSetId
+ToplVertexSetParent
diff --git a/mingw-w64-crt/lib64/w3cache.def b/mingw-w64-crt/lib64/w3cache.def
index 4cb2a3a..69e6765 100644
--- a/mingw-w64-crt/lib64/w3cache.def
+++ b/mingw-w64-crt/lib64/w3cache.def
@@ -1,82 +1,82 @@
-; 
-; Exports of file W3CACHE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY W3CACHE.dll
-EXPORTS
-; public: __cdecl CACHE_ENTRY::CACHE_ENTRY(class CACHE_ENTRY const & __ptr64) __ptr64
-??0CACHE_ENTRY@@QEAA@AEBV0@@Z
-; public: __cdecl CACHE_ENTRY::CACHE_ENTRY(class OBJECT_CACHE * __ptr64,unsigned long) __ptr64
-??0CACHE_ENTRY@@QEAA@PEAVOBJECT_CACHE@@K@Z
-; public: __cdecl OBJECT_CACHE::OBJECT_CACHE(void) __ptr64
-??0OBJECT_CACHE@@QEAA@XZ
-; protected: virtual __cdecl CACHE_ENTRY::~CACHE_ENTRY(void) __ptr64
-??1CACHE_ENTRY@@MEAA@XZ
-; public: virtual __cdecl OBJECT_CACHE::~OBJECT_CACHE(void) __ptr64
-??1OBJECT_CACHE@@UEAA@XZ
-; public: class CACHE_ENTRY & __ptr64 __cdecl CACHE_ENTRY::operator=(class CACHE_ENTRY const & __ptr64) __ptr64
-??4CACHE_ENTRY@@QEAAAEAV0@AEBV0@@Z
-; const  CACHE_ENTRY::`vftable'
-??_7CACHE_ENTRY@@6B@
-; public: long __cdecl OBJECT_CACHE::AddCacheEntry(class CACHE_ENTRY * __ptr64) __ptr64
-?AddCacheEntry@OBJECT_CACHE@@QEAAJPEAVCACHE_ENTRY@@@Z
-; public: long __cdecl CACHE_ENTRY::AddDirmonInvalidator(struct DIRMON_CONFIG * __ptr64) __ptr64
-?AddDirmonInvalidator@CACHE_ENTRY@@QEAAJPEAUDIRMON_CONFIG@@@Z
-; public: long __cdecl OBJECT_CACHE::AddDirmonInvalidator(struct DIRMON_CONFIG * __ptr64,class CDirMonitorEntry * __ptr64 * __ptr64) __ptr64
-?AddDirmonInvalidator@OBJECT_CACHE@@QEAAJPEAUDIRMON_CONFIG@@PEAPEAVCDirMonitorEntry@@@Z
-; public: int __cdecl CACHE_ENTRY::CheckSignature(void)const  __ptr64
-?CheckSignature@CACHE_ENTRY@@QEBAHXZ
-; public: virtual int __cdecl CACHE_ENTRY::Checkout(class CACHE_USER * __ptr64) __ptr64
-?Checkout@CACHE_ENTRY@@UEAAHPEAVCACHE_USER@@@Z
-; public: void __cdecl OBJECT_CACHE::CleanupCacheEntryListItems(struct _LIST_ENTRY * __ptr64) __ptr64
-?CleanupCacheEntryListItems@OBJECT_CACHE@@QEAAXPEAU_LIST_ENTRY@@@Z
-; public: void __cdecl CACHE_ENTRY::DereferenceCacheEntry(void) __ptr64
-?DereferenceCacheEntry@CACHE_ENTRY@@QEAAXXZ
-; public: long __cdecl OBJECT_CACHE::FindCacheEntry(class CACHE_KEY * __ptr64,class CACHE_ENTRY * __ptr64 * __ptr64,int * __ptr64) __ptr64
-?FindCacheEntry@OBJECT_CACHE@@QEAAJPEAVCACHE_KEY@@PEAPEAVCACHE_ENTRY@@PEAH@Z
-; public: void __cdecl OBJECT_CACHE::FlushByRegChange(struct _LIST_ENTRY * __ptr64) __ptr64
-?FlushByRegChange@OBJECT_CACHE@@QEAAXPEAU_LIST_ENTRY@@@Z
-; public: long __cdecl OBJECT_CACHE::FlushCacheEntry(class CACHE_KEY * __ptr64) __ptr64
-?FlushCacheEntry@OBJECT_CACHE@@QEAAJPEAVCACHE_KEY@@@Z
-; public: void __cdecl CACHE_ENTRY::LockCacheEntry(void) __ptr64
-?LockCacheEntry@CACHE_ENTRY@@QEAAXXZ
-; public: class OBJECT_CACHE * __ptr64 __cdecl CACHE_ENTRY::QueryCache(void)const  __ptr64
-?QueryCache@CACHE_ENTRY@@QEBAPEAVOBJECT_CACHE@@XZ
-; public: int __cdecl CACHE_ENTRY::QueryCached(void)const  __ptr64
-?QueryCached@CACHE_ENTRY@@QEBAHXZ
-; public: int __cdecl CACHE_ENTRY::QueryIsFlushed(void)const  __ptr64
-?QueryIsFlushed@CACHE_ENTRY@@QEBAHXZ
-; public: virtual int __cdecl CACHE_ENTRY::QueryIsOkToFlushDirmon(unsigned short * __ptr64,unsigned long) __ptr64
-?QueryIsOkToFlushDirmon@CACHE_ENTRY@@UEAAHPEAGK@Z
-; public: int __cdecl CACHE_ENTRY::QueryIsOkToFlushMetadata(unsigned short * __ptr64,unsigned long) __ptr64
-?QueryIsOkToFlushMetadata@CACHE_ENTRY@@QEAAHPEAGK@Z
-; public: virtual int __cdecl CACHE_ENTRY::QueryIsOkToFlushTTL(void) __ptr64
-?QueryIsOkToFlushTTL@CACHE_ENTRY@@UEAAHXZ
-; public: virtual class STRU * __ptr64 __cdecl CACHE_ENTRY::QueryMetadataPath(void) __ptr64
-?QueryMetadataPath@CACHE_ENTRY@@UEAAPEAVSTRU@@XZ
-; public: void __cdecl CACHE_ENTRY::ReferenceCacheEntry(void) __ptr64
-?ReferenceCacheEntry@CACHE_ENTRY@@QEAAXXZ
-; public: long __cdecl OBJECT_CACHE::SetCacheConfiguration(unsigned long,unsigned long,unsigned long,struct CACHE_HINT_CONFIG * __ptr64) __ptr64
-?SetCacheConfiguration@OBJECT_CACHE@@QEAAJKKKPEAUCACHE_HINT_CONFIG@@@Z
-; public: void __cdecl CACHE_ENTRY::SetCached(int) __ptr64
-?SetCached@CACHE_ENTRY@@QEAAXH@Z
-; public: void __cdecl CACHE_ENTRY::SetFlushed(void) __ptr64
-?SetFlushed@CACHE_ENTRY@@QEAAXXZ
-; public: void __cdecl CACHE_ENTRY::UnlockCacheEntry(void) __ptr64
-?UnlockCacheEntry@CACHE_ENTRY@@QEAAXXZ
-; public: void __cdecl OBJECT_CACHE::UnregisterScavenger(void) __ptr64
-?UnregisterScavenger@OBJECT_CACHE@@QEAAXXZ
-; long __cdecl W3CacheDoMetadataInvalidation(unsigned short * __ptr64,unsigned long)
-?W3CacheDoMetadataInvalidation@@YAJPEAGK@Z
-; void __cdecl W3CacheFlushAllCaches(void)
-?W3CacheFlushAllCaches@@YAXXZ
-; long __cdecl W3CacheInitialize(struct IMSAdminBaseW * __ptr64)
-?W3CacheInitialize@@YAJPEAUIMSAdminBaseW@@@Z
-; long __cdecl W3CacheRegisterCache(class OBJECT_CACHE * __ptr64)
-?W3CacheRegisterCache@@YAJPEAVOBJECT_CACHE@@@Z
-; void __cdecl W3CacheTerminate(void)
-?W3CacheTerminate@@YAXXZ
-; long __cdecl W3CacheUnregisterCache(class OBJECT_CACHE * __ptr64)
-?W3CacheUnregisterCache@@YAJPEAVOBJECT_CACHE@@@Z
+; 
+; Exports of file W3CACHE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY W3CACHE.dll
+EXPORTS
+; public: __cdecl CACHE_ENTRY::CACHE_ENTRY(class CACHE_ENTRY const & __ptr64) __ptr64
+??0CACHE_ENTRY@@QEAA@AEBV0@@Z
+; public: __cdecl CACHE_ENTRY::CACHE_ENTRY(class OBJECT_CACHE * __ptr64,unsigned long) __ptr64
+??0CACHE_ENTRY@@QEAA@PEAVOBJECT_CACHE@@K@Z
+; public: __cdecl OBJECT_CACHE::OBJECT_CACHE(void) __ptr64
+??0OBJECT_CACHE@@QEAA@XZ
+; protected: virtual __cdecl CACHE_ENTRY::~CACHE_ENTRY(void) __ptr64
+??1CACHE_ENTRY@@MEAA@XZ
+; public: virtual __cdecl OBJECT_CACHE::~OBJECT_CACHE(void) __ptr64
+??1OBJECT_CACHE@@UEAA@XZ
+; public: class CACHE_ENTRY & __ptr64 __cdecl CACHE_ENTRY::operator=(class CACHE_ENTRY const & __ptr64) __ptr64
+??4CACHE_ENTRY@@QEAAAEAV0@AEBV0@@Z
+; const  CACHE_ENTRY::`vftable'
+??_7CACHE_ENTRY@@6B@
+; public: long __cdecl OBJECT_CACHE::AddCacheEntry(class CACHE_ENTRY * __ptr64) __ptr64
+?AddCacheEntry@OBJECT_CACHE@@QEAAJPEAVCACHE_ENTRY@@@Z
+; public: long __cdecl CACHE_ENTRY::AddDirmonInvalidator(struct DIRMON_CONFIG * __ptr64) __ptr64
+?AddDirmonInvalidator@CACHE_ENTRY@@QEAAJPEAUDIRMON_CONFIG@@@Z
+; public: long __cdecl OBJECT_CACHE::AddDirmonInvalidator(struct DIRMON_CONFIG * __ptr64,class CDirMonitorEntry * __ptr64 * __ptr64) __ptr64
+?AddDirmonInvalidator@OBJECT_CACHE@@QEAAJPEAUDIRMON_CONFIG@@PEAPEAVCDirMonitorEntry@@@Z
+; public: int __cdecl CACHE_ENTRY::CheckSignature(void)const  __ptr64
+?CheckSignature@CACHE_ENTRY@@QEBAHXZ
+; public: virtual int __cdecl CACHE_ENTRY::Checkout(class CACHE_USER * __ptr64) __ptr64
+?Checkout@CACHE_ENTRY@@UEAAHPEAVCACHE_USER@@@Z
+; public: void __cdecl OBJECT_CACHE::CleanupCacheEntryListItems(struct _LIST_ENTRY * __ptr64) __ptr64
+?CleanupCacheEntryListItems@OBJECT_CACHE@@QEAAXPEAU_LIST_ENTRY@@@Z
+; public: void __cdecl CACHE_ENTRY::DereferenceCacheEntry(void) __ptr64
+?DereferenceCacheEntry@CACHE_ENTRY@@QEAAXXZ
+; public: long __cdecl OBJECT_CACHE::FindCacheEntry(class CACHE_KEY * __ptr64,class CACHE_ENTRY * __ptr64 * __ptr64,int * __ptr64) __ptr64
+?FindCacheEntry@OBJECT_CACHE@@QEAAJPEAVCACHE_KEY@@PEAPEAVCACHE_ENTRY@@PEAH@Z
+; public: void __cdecl OBJECT_CACHE::FlushByRegChange(struct _LIST_ENTRY * __ptr64) __ptr64
+?FlushByRegChange@OBJECT_CACHE@@QEAAXPEAU_LIST_ENTRY@@@Z
+; public: long __cdecl OBJECT_CACHE::FlushCacheEntry(class CACHE_KEY * __ptr64) __ptr64
+?FlushCacheEntry@OBJECT_CACHE@@QEAAJPEAVCACHE_KEY@@@Z
+; public: void __cdecl CACHE_ENTRY::LockCacheEntry(void) __ptr64
+?LockCacheEntry@CACHE_ENTRY@@QEAAXXZ
+; public: class OBJECT_CACHE * __ptr64 __cdecl CACHE_ENTRY::QueryCache(void)const  __ptr64
+?QueryCache@CACHE_ENTRY@@QEBAPEAVOBJECT_CACHE@@XZ
+; public: int __cdecl CACHE_ENTRY::QueryCached(void)const  __ptr64
+?QueryCached@CACHE_ENTRY@@QEBAHXZ
+; public: int __cdecl CACHE_ENTRY::QueryIsFlushed(void)const  __ptr64
+?QueryIsFlushed@CACHE_ENTRY@@QEBAHXZ
+; public: virtual int __cdecl CACHE_ENTRY::QueryIsOkToFlushDirmon(unsigned short * __ptr64,unsigned long) __ptr64
+?QueryIsOkToFlushDirmon@CACHE_ENTRY@@UEAAHPEAGK@Z
+; public: int __cdecl CACHE_ENTRY::QueryIsOkToFlushMetadata(unsigned short * __ptr64,unsigned long) __ptr64
+?QueryIsOkToFlushMetadata@CACHE_ENTRY@@QEAAHPEAGK@Z
+; public: virtual int __cdecl CACHE_ENTRY::QueryIsOkToFlushTTL(void) __ptr64
+?QueryIsOkToFlushTTL@CACHE_ENTRY@@UEAAHXZ
+; public: virtual class STRU * __ptr64 __cdecl CACHE_ENTRY::QueryMetadataPath(void) __ptr64
+?QueryMetadataPath@CACHE_ENTRY@@UEAAPEAVSTRU@@XZ
+; public: void __cdecl CACHE_ENTRY::ReferenceCacheEntry(void) __ptr64
+?ReferenceCacheEntry@CACHE_ENTRY@@QEAAXXZ
+; public: long __cdecl OBJECT_CACHE::SetCacheConfiguration(unsigned long,unsigned long,unsigned long,struct CACHE_HINT_CONFIG * __ptr64) __ptr64
+?SetCacheConfiguration@OBJECT_CACHE@@QEAAJKKKPEAUCACHE_HINT_CONFIG@@@Z
+; public: void __cdecl CACHE_ENTRY::SetCached(int) __ptr64
+?SetCached@CACHE_ENTRY@@QEAAXH@Z
+; public: void __cdecl CACHE_ENTRY::SetFlushed(void) __ptr64
+?SetFlushed@CACHE_ENTRY@@QEAAXXZ
+; public: void __cdecl CACHE_ENTRY::UnlockCacheEntry(void) __ptr64
+?UnlockCacheEntry@CACHE_ENTRY@@QEAAXXZ
+; public: void __cdecl OBJECT_CACHE::UnregisterScavenger(void) __ptr64
+?UnregisterScavenger@OBJECT_CACHE@@QEAAXXZ
+; long __cdecl W3CacheDoMetadataInvalidation(unsigned short * __ptr64,unsigned long)
+?W3CacheDoMetadataInvalidation@@YAJPEAGK@Z
+; void __cdecl W3CacheFlushAllCaches(void)
+?W3CacheFlushAllCaches@@YAXXZ
+; long __cdecl W3CacheInitialize(struct IMSAdminBaseW * __ptr64)
+?W3CacheInitialize@@YAJPEAUIMSAdminBaseW@@@Z
+; long __cdecl W3CacheRegisterCache(class OBJECT_CACHE * __ptr64)
+?W3CacheRegisterCache@@YAJPEAVOBJECT_CACHE@@@Z
+; void __cdecl W3CacheTerminate(void)
+?W3CacheTerminate@@YAXXZ
+; long __cdecl W3CacheUnregisterCache(class OBJECT_CACHE * __ptr64)
+?W3CacheUnregisterCache@@YAJPEAVOBJECT_CACHE@@@Z
diff --git a/mingw-w64-crt/lib64/w3comlog.def b/mingw-w64-crt/lib64/w3comlog.def
index 817c24b..bf28d86 100644
--- a/mingw-w64-crt/lib64/w3comlog.def
+++ b/mingw-w64-crt/lib64/w3comlog.def
@@ -1,36 +1,36 @@
-; 
-; Exports of file W3COMLOG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY W3COMLOG.dll
-EXPORTS
-; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
-??0LOGGING@@QEAA@AEBV0@@Z
-; public: __cdecl LOGGING::LOGGING(void) __ptr64
-??0LOGGING@@QEAA@XZ
-; private: __cdecl LOGGING::~LOGGING(void) __ptr64
-??1LOGGING@@AEAA@XZ
-; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
-??4LOGGING@@QEAAAEAV0@AEBV0@@Z
-; public: long __cdecl LOGGING::ActivateLogging(char const * __ptr64,unsigned short const * __ptr64,struct IMSAdminBaseW * __ptr64,int) __ptr64
-?ActivateLogging@LOGGING@@QEAAJPEBDPEBGPEAUIMSAdminBaseW@@H@Z
-; public: void __cdecl LOGGING::AddRef(void) __ptr64
-?AddRef@LOGGING@@QEAAXXZ
-; public: static long __cdecl LOGGING::Initialize(void)
-?Initialize@LOGGING@@SAJXZ
-; public: int __cdecl LOGGING::IsRequiredExtraLoggingFields(void)const  __ptr64
-?IsRequiredExtraLoggingFields@LOGGING@@QEBAHXZ
-; public: void __cdecl LOGGING::LogInformation(class LOG_CONTEXT * __ptr64) __ptr64
-?LogInformation@LOGGING@@QEAAXPEAVLOG_CONTEXT@@@Z
-; public: int __cdecl LOGGING::QueryDoCustomLogging(void)const  __ptr64
-?QueryDoCustomLogging@LOGGING@@QEBAHXZ
-; public: int __cdecl LOGGING::QueryDoUlLogging(void)const  __ptr64
-?QueryDoUlLogging@LOGGING@@QEBAHXZ
-; public: class MULTISZA const * __ptr64 __cdecl LOGGING::QueryExtraLoggingFields(void)const  __ptr64
-?QueryExtraLoggingFields@LOGGING@@QEBAPEBVMULTISZA@@XZ
-; public: void __cdecl LOGGING::Release(void) __ptr64
-?Release@LOGGING@@QEAAXXZ
-; public: static void __cdecl LOGGING::Terminate(void)
-?Terminate@LOGGING@@SAXXZ
+; 
+; Exports of file W3COMLOG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY W3COMLOG.dll
+EXPORTS
+; public: __cdecl LOGGING::LOGGING(class LOGGING const & __ptr64) __ptr64
+??0LOGGING@@QEAA@AEBV0@@Z
+; public: __cdecl LOGGING::LOGGING(void) __ptr64
+??0LOGGING@@QEAA@XZ
+; private: __cdecl LOGGING::~LOGGING(void) __ptr64
+??1LOGGING@@AEAA@XZ
+; public: class LOGGING & __ptr64 __cdecl LOGGING::operator=(class LOGGING const & __ptr64) __ptr64
+??4LOGGING@@QEAAAEAV0@AEBV0@@Z
+; public: long __cdecl LOGGING::ActivateLogging(char const * __ptr64,unsigned short const * __ptr64,struct IMSAdminBaseW * __ptr64,int) __ptr64
+?ActivateLogging@LOGGING@@QEAAJPEBDPEBGPEAUIMSAdminBaseW@@H@Z
+; public: void __cdecl LOGGING::AddRef(void) __ptr64
+?AddRef@LOGGING@@QEAAXXZ
+; public: static long __cdecl LOGGING::Initialize(void)
+?Initialize@LOGGING@@SAJXZ
+; public: int __cdecl LOGGING::IsRequiredExtraLoggingFields(void)const  __ptr64
+?IsRequiredExtraLoggingFields@LOGGING@@QEBAHXZ
+; public: void __cdecl LOGGING::LogInformation(class LOG_CONTEXT * __ptr64) __ptr64
+?LogInformation@LOGGING@@QEAAXPEAVLOG_CONTEXT@@@Z
+; public: int __cdecl LOGGING::QueryDoCustomLogging(void)const  __ptr64
+?QueryDoCustomLogging@LOGGING@@QEBAHXZ
+; public: int __cdecl LOGGING::QueryDoUlLogging(void)const  __ptr64
+?QueryDoUlLogging@LOGGING@@QEBAHXZ
+; public: class MULTISZA const * __ptr64 __cdecl LOGGING::QueryExtraLoggingFields(void)const  __ptr64
+?QueryExtraLoggingFields@LOGGING@@QEBAPEBVMULTISZA@@XZ
+; public: void __cdecl LOGGING::Release(void) __ptr64
+?Release@LOGGING@@QEAAXXZ
+; public: static void __cdecl LOGGING::Terminate(void)
+?Terminate@LOGGING@@SAXXZ
diff --git a/mingw-w64-crt/lib64/w3core.def b/mingw-w64-crt/lib64/w3core.def
index eddb442..233b675 100644
--- a/mingw-w64-crt/lib64/w3core.def
+++ b/mingw-w64-crt/lib64/w3core.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file w3core.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY w3core.dll
-EXPORTS
-; int __cdecl FindInETagList(char const * __ptr64,char const * __ptr64,int)
-?FindInETagList@@YAHPEBD0H@Z
-; public: static class W3_FILE_INFO_CACHE * __ptr64 __cdecl W3_FILE_INFO_CACHE::GetFileCache(void)
-?GetFileCache@W3_FILE_INFO_CACHE@@SAPEAV1@XZ
-; public: long __cdecl W3_FILE_INFO_CACHE::GetFileInfo(class STRU & __ptr64,struct DIRMON_CONFIG * __ptr64,class CACHE_USER * __ptr64,int,class W3_FILE_INFO * __ptr64 * __ptr64,struct FILE_CACHE_ASYNC_CONTEXT * __ptr64,int * __ptr64,int,int,struct _ETW_TRACE_INFO * __ptr64) __ptr64
-?GetFileInfo@W3_FILE_INFO_CACHE@@QEAAJAEAVSTRU@@PEAUDIRMON_CONFIG@@PEAVCACHE_USER@@HPEAPEAVW3_FILE_INFO@@PEAUFILE_CACHE_ASYNC_CONTEXT@@PEAHHHPEAU_ETW_TRACE_INFO@@@Z
-; public: int __cdecl W3_FILE_INFO::SetAssociatedObject(class ASSOCIATED_FILE_OBJECT * __ptr64) __ptr64
-?SetAssociatedObject@W3_FILE_INFO@@QEAAHPEAVASSOCIATED_FILE_OBJECT@@@Z
-UlW3Start
+; 
+; Exports of file w3core.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY w3core.dll
+EXPORTS
+; int __cdecl FindInETagList(char const * __ptr64,char const * __ptr64,int)
+?FindInETagList@@YAHPEBD0H@Z
+; public: static class W3_FILE_INFO_CACHE * __ptr64 __cdecl W3_FILE_INFO_CACHE::GetFileCache(void)
+?GetFileCache@W3_FILE_INFO_CACHE@@SAPEAV1@XZ
+; public: long __cdecl W3_FILE_INFO_CACHE::GetFileInfo(class STRU & __ptr64,struct DIRMON_CONFIG * __ptr64,class CACHE_USER * __ptr64,int,class W3_FILE_INFO * __ptr64 * __ptr64,struct FILE_CACHE_ASYNC_CONTEXT * __ptr64,int * __ptr64,int,int,struct _ETW_TRACE_INFO * __ptr64) __ptr64
+?GetFileInfo@W3_FILE_INFO_CACHE@@QEAAJAEAVSTRU@@PEAUDIRMON_CONFIG@@PEAVCACHE_USER@@HPEAPEAVW3_FILE_INFO@@PEAUFILE_CACHE_ASYNC_CONTEXT@@PEAHHHPEAU_ETW_TRACE_INFO@@@Z
+; public: int __cdecl W3_FILE_INFO::SetAssociatedObject(class ASSOCIATED_FILE_OBJECT * __ptr64) __ptr64
+?SetAssociatedObject@W3_FILE_INFO@@QEAAHPEAVASSOCIATED_FILE_OBJECT@@@Z
+UlW3Start
diff --git a/mingw-w64-crt/lib64/w3ctrlps.def b/mingw-w64-crt/lib64/w3ctrlps.def
index 51a89f8..246e374 100644
--- a/mingw-w64-crt/lib64/w3ctrlps.def
+++ b/mingw-w64-crt/lib64/w3ctrlps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file w3ctrlps.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY w3ctrlps.dll
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file w3ctrlps.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY w3ctrlps.dll
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/w3ctrs.def b/mingw-w64-crt/lib64/w3ctrs.def
index dfc9a4d..559c055 100644
--- a/mingw-w64-crt/lib64/w3ctrs.def
+++ b/mingw-w64-crt/lib64/w3ctrs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file W3CTRS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY W3CTRS.dll
-EXPORTS
-OpenW3PerformanceData
-CollectW3PerformanceData
-CloseW3PerformanceData
+; 
+; Exports of file W3CTRS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY W3CTRS.dll
+EXPORTS
+OpenW3PerformanceData
+CollectW3PerformanceData
+CloseW3PerformanceData
diff --git a/mingw-w64-crt/lib64/w3dt.def b/mingw-w64-crt/lib64/w3dt.def
index 459b2c5..a4b4fe4 100644
--- a/mingw-w64-crt/lib64/w3dt.def
+++ b/mingw-w64-crt/lib64/w3dt.def
@@ -1,28 +1,28 @@
-; 
-; Exports of file w3dt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY w3dt.dll
-EXPORTS
-; public: class IPM_MESSAGE_PIPE & __ptr64 __cdecl IPM_MESSAGE_PIPE::operator=(class IPM_MESSAGE_PIPE const & __ptr64) __ptr64
-??4IPM_MESSAGE_PIPE@@QEAAAEAV0@AEBV0@@Z
-UlAtqAddFragmentToCache
-UlAtqAllocateMemory
-UlAtqFlushUlCache
-UlAtqFreeContext
-UlAtqGetContextProperty
-UlAtqInduceShutdown
-UlAtqInitialize
-UlAtqReadFragmentFromCache
-UlAtqReceiveClientCertificate
-UlAtqReceiveEntityBody
-UlAtqRemoveFragmentFromCache
-UlAtqSendEntityBody
-UlAtqSendHttpResponse
-UlAtqSetContextProperty
-UlAtqSetUnhealthy
-UlAtqStartListen
-UlAtqTerminate
-UlAtqWaitForDisconnect
+; 
+; Exports of file w3dt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY w3dt.dll
+EXPORTS
+; public: class IPM_MESSAGE_PIPE & __ptr64 __cdecl IPM_MESSAGE_PIPE::operator=(class IPM_MESSAGE_PIPE const & __ptr64) __ptr64
+??4IPM_MESSAGE_PIPE@@QEAAAEAV0@AEBV0@@Z
+UlAtqAddFragmentToCache
+UlAtqAllocateMemory
+UlAtqFlushUlCache
+UlAtqFreeContext
+UlAtqGetContextProperty
+UlAtqInduceShutdown
+UlAtqInitialize
+UlAtqReadFragmentFromCache
+UlAtqReceiveClientCertificate
+UlAtqReceiveEntityBody
+UlAtqRemoveFragmentFromCache
+UlAtqSendEntityBody
+UlAtqSendHttpResponse
+UlAtqSetContextProperty
+UlAtqSetUnhealthy
+UlAtqStartListen
+UlAtqTerminate
+UlAtqWaitForDisconnect
diff --git a/mingw-w64-crt/lib64/w3ext.def b/mingw-w64-crt/lib64/w3ext.def
index 3bcda3b..d414a52 100644
--- a/mingw-w64-crt/lib64/w3ext.def
+++ b/mingw-w64-crt/lib64/w3ext.def
@@ -1,556 +1,556 @@
-; 
-; Exports of file w3ext.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY w3ext.DLL
-EXPORTS
-; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
-??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@AEBV01@@Z
-; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
-??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
-; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
-??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@AEBV01@@Z
-; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
-??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
-; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(class CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
-??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@AEBV01@@Z
-; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(void) __ptr64
-??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV01@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class IIS::CString const * __ptr64,class IIS::CString const * __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@PEBVCString@IIS@@0AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@Vconst_iterator@01@0AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned __int64,class IIS::CString const & __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@_KAEBVCString@IIS@@AEBV?$allocator@VCString@IIS@@@1@@Z
-; public: __cdecl CError::CError(class CError const & __ptr64) __ptr64
-??0CError@@QEAA@AEBV0@@Z
-; public: __cdecl CError::CError(long) __ptr64
-??0CError@@QEAA@J@Z
-; public: __cdecl CError::CError(unsigned long) __ptr64
-??0CError@@QEAA@K@Z
-; public: __cdecl CError::CError(void) __ptr64
-??0CError@@QEAA@XZ
-; public: __cdecl CFileChooser::CFileChooser(class CFileChooser const & __ptr64) __ptr64
-??0CFileChooser@@QEAA@AEBV0@@Z
-; public: __cdecl CFileChooser::CFileChooser(void) __ptr64
-??0CFileChooser@@QEAA@XZ
-; public: __cdecl CIISApplication::CIISApplication(class CIISApplication & __ptr64) __ptr64
-??0CIISApplication@@QEAA@AEAV0@@Z
-; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
-??0CIISInterface@@QEAA@AEAV0@@Z
-; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
-??0CIISSvcControl@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
-??0CMetaBack@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
-??0CMetaEnumerator@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface & __ptr64) __ptr64
-??0CMetaInterface@@QEAA@AEAV0@@Z
-; public: __cdecl CMetaKey::CMetaKey(class CMetaKey & __ptr64) __ptr64
-??0CMetaKey@@QEAA@AEAV0@@Z
-; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
-??0CMetabasePath@@QEAA@AEBV0@@Z
-; public: __cdecl CStringListEx::CStringListEx(class CStringListEx const & __ptr64) __ptr64
-??0CStringListEx@@QEAA@AEBV0@@Z
-; public: __cdecl CWamInterface::CWamInterface(class CWamInterface & __ptr64) __ptr64
-??0CWamInterface@@QEAA@AEAV0@@Z
-; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
-??1?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
-; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
-??1?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
-; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::~CWindowImplRoot<class ATL::CWindow>(void) __ptr64
-??1?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
-; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void) __ptr64
-??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@XZ
-; public: __cdecl CBlob::~CBlob(void) __ptr64
-??1CBlob@@QEAA@XZ
-; public: __cdecl CComAuthInfo::~CComAuthInfo(void) __ptr64
-??1CComAuthInfo@@QEAA@XZ
-; public: __cdecl CFileChooser::~CFileChooser(void) __ptr64
-??1CFileChooser@@QEAA@XZ
-; public: virtual __cdecl CIISApplication::~CIISApplication(void) __ptr64
-??1CIISApplication@@UEAA@XZ
-; public: __cdecl CIISInterface::~CIISInterface(void) __ptr64
-??1CIISInterface@@QEAA@XZ
-; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
-??1CMetaBack@@UEAA@XZ
-; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
-??1CMetaEnumerator@@UEAA@XZ
-; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
-??1CMetabasePath@@QEAA@XZ
-; public: class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
-??4?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAAEAV01@AEBV01@@Z
-; public: class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
-??4?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAAEAV01@AEBV01@@Z
-; public: class ATL::CWindowImplRoot<class ATL::CWindow> & __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::operator=(class ATL::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
-??4?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAAAEAV01@AEBV01@@Z
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::operator=(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
-??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
-; public: class CError const & __ptr64 __cdecl CError::operator=(class CError const & __ptr64) __ptr64
-??4CError@@QEAAAEBV0@AEBV0@@Z
-; public: class CError const & __ptr64 __cdecl CError::operator=(long) __ptr64
-??4CError@@QEAAAEBV0@J@Z
-; public: class CFileChooser & __ptr64 __cdecl CFileChooser::operator=(class CFileChooser const & __ptr64) __ptr64
-??4CFileChooser@@QEAAAEAV0@AEBV0@@Z
-; public: class CIISApplication & __ptr64 __cdecl CIISApplication::operator=(class CIISApplication & __ptr64) __ptr64
-??4CIISApplication@@QEAAAEAV0@AEAV0@@Z
-; public: class CIISInterface & __ptr64 __cdecl CIISInterface::operator=(class CIISInterface & __ptr64) __ptr64
-??4CIISInterface@@QEAAAEAV0@AEAV0@@Z
-; public: class CIISSvcControl & __ptr64 __cdecl CIISSvcControl::operator=(class CIISSvcControl & __ptr64) __ptr64
-??4CIISSvcControl@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaBack & __ptr64 __cdecl CMetaBack::operator=(class CMetaBack & __ptr64) __ptr64
-??4CMetaBack@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaEnumerator & __ptr64 __cdecl CMetaEnumerator::operator=(class CMetaEnumerator & __ptr64) __ptr64
-??4CMetaEnumerator@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaInterface & __ptr64 __cdecl CMetaInterface::operator=(class CMetaInterface & __ptr64) __ptr64
-??4CMetaInterface@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetaKey & __ptr64 __cdecl CMetaKey::operator=(class CMetaKey & __ptr64) __ptr64
-??4CMetaKey@@QEAAAEAV0@AEAV0@@Z
-; public: class CMetabasePath & __ptr64 __cdecl CMetabasePath::operator=(class CMetabasePath const & __ptr64) __ptr64
-??4CMetabasePath@@QEAAAEAV0@AEBV0@@Z
-; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringListEx const & __ptr64) __ptr64
-??4CStringListEx@@QEAAAEAV0@AEBV0@@Z
-; public: class CWamInterface & __ptr64 __cdecl CWamInterface::operator=(class CWamInterface & __ptr64) __ptr64
-??4CWamInterface@@QEAAAEAV0@AEAV0@@Z
-; public: int const  __cdecl CError::operator==(class CError & __ptr64) __ptr64
-??8CError@@QEAA?BHAEAV0@@Z
-; public: int const  __cdecl CError::operator==(long) __ptr64
-??8CError@@QEAA?BHJ@Z
-; public: int __cdecl CBlob::operator!=(class CBlob const & __ptr64)const  __ptr64
-??9CBlob@@QEBAHAEBV0@@Z
-; public: int const  __cdecl CError::operator!=(class CError & __ptr64) __ptr64
-??9CError@@QEAA?BHAEAV0@@Z
-; public: int const  __cdecl CError::operator!=(long) __ptr64
-??9CError@@QEAA?BHJ@Z
-; public: bool __cdecl CStrPassword::operator!=(class CStrPassword & __ptr64) __ptr64
-??9CStrPassword@@QEAA_NAEAV0@@Z
-; public: __cdecl CComAuthInfo::operator unsigned short * __ptr64(void) __ptr64
-??BCComAuthInfo@@QEAAPEAGXZ
-; public: __cdecl CComAuthInfo::operator class CComAuthInfo * __ptr64(void) __ptr64
-??BCComAuthInfo@@QEAAPEAV0@XZ
-; public: __cdecl CError::operator unsigned short const * __ptr64(void) __ptr64
-??BCError@@QEAAPEBGXZ
-; public: __cdecl CError::operator int const (void)const  __ptr64
-??BCError@@QEBA?BHXZ
-; public: __cdecl CError::operator long const (void)const  __ptr64
-??BCError@@QEBA?BJXZ
-; public: __cdecl CError::operator unsigned long const (void)const  __ptr64
-??BCError@@QEBA?BKXZ
-; public: __cdecl CIISInterface::operator int(void)const  __ptr64
-??BCIISInterface@@QEBAHXZ
-; public: __cdecl CIISInterface::operator long(void)const  __ptr64
-??BCIISInterface@@QEBAJXZ
-; public: __cdecl CMetaKey::operator int(void)const  __ptr64
-??BCMetaKey@@QEBAHXZ
-; public: __cdecl CMetaKey::operator unsigned long(void)const  __ptr64
-??BCMetaKey@@QEBAKXZ
-; public: __cdecl CMetaKey::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCMetaKey@@QEBAPEBGXZ
-; public: __cdecl CMetabasePath::operator unsigned short const * __ptr64(void)const  __ptr64
-??BCMetabasePath@@QEBAPEBGXZ
-; const  CFileChooser::`vftable'
-??_7CFileChooser@@6B@
-; const  CIISApplication::`vftable'{for `CMetaKey'}
-??_7CIISApplication@@6BCMetaKey@@@
-; const  CIISApplication::`vftable'{for `CWamInterface'}
-??_7CIISApplication@@6BCWamInterface@@@
-; const  CIISInterface::`vftable'
-??_7CIISInterface@@6B@
-; const  CIISSvcControl::`vftable'
-??_7CIISSvcControl@@6B@
-; const  CMetaBack::`vftable'{for `CMetaInterface'}
-??_7CMetaBack@@6BCMetaInterface@@@
-; const  CMetaBack::`vftable'{for `CWamInterface'}
-??_7CMetaBack@@6BCWamInterface@@@
-; const  CMetaEnumerator::`vftable'
-??_7CMetaEnumerator@@6B@
-; const  CMetaInterface::`vftable'
-??_7CMetaInterface@@6B@
-; const  CMetaKey::`vftable'
-??_7CMetaKey@@6B@
-; const  CWamInterface::`vftable'
-??_7CWamInterface@@6B@
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void) __ptr64
-??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl CComAuthInfo::`default constructor closure'(void) __ptr64
-??_FCComAuthInfo@@QEAAXXZ
-; public: void __cdecl CMetabasePath::`default constructor closure'(void) __ptr64
-??_FCMetabasePath@@QEAAXXZ
-; protected: long __cdecl CMetaInterface::AddKey(unsigned long,unsigned short const * __ptr64) __ptr64
-?AddKey@CMetaInterface@@IEAAJKPEBG@Z
-; public: long __cdecl CMetaKey::AddKey(unsigned short const * __ptr64) __ptr64
-?AddKey@CMetaKey@@QEAAJPEBG@Z
-; public: void __cdecl CFileChooser::AddStyle(unsigned long) __ptr64
-?AddStyle@CFileChooser@@QEAAXK@Z
-; protected: long __cdecl CWamInterface::AppDelete(unsigned short const * __ptr64,int) __ptr64
-?AppDelete@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppDeleteRecoverable(unsigned short const * __ptr64,int) __ptr64
-?AppDeleteRecoverable@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppGetStatus(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?AppGetStatus@CWamInterface@@IEAAJPEBGPEAK@Z
-; protected: long __cdecl CWamInterface::AppRecover(unsigned short const * __ptr64,int) __ptr64
-?AppRecover@CWamInterface@@IEAAJPEBGH@Z
-; protected: long __cdecl CWamInterface::AppUnLoad(unsigned short const * __ptr64,int) __ptr64
-?AppUnLoad@CWamInterface@@IEAAJPEBGH@Z
-; protected: virtual long __cdecl CIISSvcControl::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CIISSvcControl@@MEAAJXZ
-; protected: virtual long __cdecl CMetaBack::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CMetaBack@@MEAAJXZ
-; protected: virtual long __cdecl CMetaInterface::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CMetaInterface@@MEAAJXZ
-; protected: virtual long __cdecl CWamInterface::ApplyProxyBlanket(void) __ptr64
-?ApplyProxyBlanket@CWamInterface@@MEAAJXZ
-; public: long __cdecl CMetaBack::Backup(unsigned short const * __ptr64) __ptr64
-?Backup@CMetaBack@@QEAAJPEBG@Z
-; protected: long __cdecl CMetaInterface::Backup(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?Backup@CMetaInterface@@IEAAJPEBGKK@Z
-; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
-; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
-?CloseKey@CMetaInterface@@IEAAJK@Z
-; protected: long __cdecl CMetaInterface::CopyData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
-?CopyData@CMetaInterface@@IEAAJKPEBGK0KKKH@Z
-; protected: long __cdecl CMetaInterface::CopyKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int,int) __ptr64
-?CopyKey@CMetaInterface@@IEAAJKPEBGK0HH@Z
-; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,void * __ptr64) __ptr64
-?Create@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIPEAX@Z
-; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,unsigned short,void * __ptr64) __ptr64
-?Create@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIGPEAX@Z
-; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(unsigned int,unsigned __int64,__int64) __ptr64
-?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JI_K_J@Z
-; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(void) __ptr64
-?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JXZ
-; public: static int __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::DefaultReflectionHandler(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64)
-?DefaultReflectionHandler@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@SAHPEAUHWND__@@I_K_JAEA_J@Z
-; public: long __cdecl CIISApplication::Delete(int) __ptr64
-?Delete@CIISApplication@@QEAAJH@Z
-; public: long __cdecl CMetaBack::Delete(unsigned short const * __ptr64,unsigned long) __ptr64
-?Delete@CMetaBack@@QEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::DeleteAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?DeleteAllData@CMetaInterface@@IEAAJKPEBGKK@Z
-; protected: long __cdecl CMetaInterface::DeleteBackup(unsigned short const * __ptr64,unsigned long) __ptr64
-?DeleteBackup@CMetaInterface@@IEAAJPEBGK@Z
-; protected: long __cdecl CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteChildKeys@CMetaInterface@@IEAAJKPEBG@Z
-; protected: long __cdecl CMetaInterface::DeleteData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?DeleteData@CMetaInterface@@IEAAJKPEBGKK@Z
-; protected: long __cdecl CMetaInterface::DeleteKey(unsigned long,unsigned short const * __ptr64) __ptr64
-?DeleteKey@CMetaInterface@@IEAAJKPEBG@Z
-; public: long __cdecl CMetaKey::DeleteKey(unsigned short const * __ptr64) __ptr64
-?DeleteKey@CMetaKey@@QEAAJPEBG@Z
-; public: long __cdecl CIISApplication::DeleteRecoverable(int) __ptr64
-?DeleteRecoverable@CIISApplication@@QEAAJH@Z
-; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DestroyWindow(void) __ptr64
-?DestroyWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHXZ
-; protected: long __cdecl CMetaInterface::EnumBackups(unsigned short * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
-?EnumBackups@CMetaInterface@@IEAAJPEAGPEAKPEAU_FILETIME@@K@Z
-; protected: long __cdecl CMetaInterface::EnumData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?EnumData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@KPEAK@Z
-; protected: long __cdecl CMetaInterface::EnumKeys(unsigned long,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
-?EnumKeys@CMetaInterface@@IEAAJKPEBGPEAGK@Z
-; public: int __cdecl CError::Failed(void)const  __ptr64
-?Failed@CError@@QEBAHXZ
-; public: static int __cdecl CError::Failed(long)
-?Failed@CError@@SAHJ@Z
-; protected: long __cdecl CMetaInterface::GetAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
-?GetAllData@CMetaInterface@@IEAAJKPEBGKKKPEAK1KPEAE1@Z
-; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
-?GetBase@CMetaKey@@QEBAKXZ
-; public: struct tagMSG const * __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::GetCurrentMessage(void)const  __ptr64
-?GetCurrentMessage@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEBAPEBUtagMSG@@XZ
-; public: unsigned char * __ptr64 __cdecl CBlob::GetData(void) __ptr64
-?GetData@CBlob@@QEAAPEAEXZ
-; protected: long __cdecl CMetaInterface::GetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long * __ptr64) __ptr64
-?GetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@PEAK@Z
-; protected: long __cdecl CMetaInterface::GetDataPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetDataPaths@CMetaInterface@@IEAAJKPEBGKKKPEAGPEAK@Z
-; public: unsigned long __cdecl CMetaKey::GetHandle(void)const  __ptr64
-?GetHandle@CMetaKey@@QEBAKXZ
-; public: unsigned long __cdecl CMetaEnumerator::GetIndex(void) __ptr64
-?GetIndex@CMetaEnumerator@@QEAAKXZ
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetInstancePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetInstancePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: struct IMSAdminBaseW * __ptr64 __cdecl CMetaInterface::GetInterface(void) __ptr64
-?GetInterface@CMetaInterface@@QEAAPEAUIMSAdminBaseW@@XZ
-; protected: long __cdecl CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
-?GetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
-; public: void __cdecl CError::GetLastWinError(void) __ptr64
-?GetLastWinError@CError@@QEAAXXZ
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetMachinePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetMachinePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: unsigned long __cdecl CFileChooser::GetOfnFlags(void) __ptr64
-?GetOfnFlags@CFileChooser@@QEAAKXZ
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetRootPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetRootPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServicePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
-?GetServicePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
-; public: unsigned long __cdecl CBlob::GetSize(void)const  __ptr64
-?GetSize@CBlob@@QEBAKXZ
-; public: unsigned long __cdecl CFileChooser::GetStyle(void)const  __ptr64
-?GetStyle@CFileChooser@@QEBAKXZ
-; public: virtual __int64 (__cdecl*__cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWindowProc(void) __ptr64)(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?GetWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAP6A_JPEAUHWND__@@I_K_J@ZXZ
-; public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)
-?GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ
-; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndExStyle(unsigned long)
-?GetWndExStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
-; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndStyle(unsigned long)
-?GetWndStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
-; public: long __cdecl CError::HResult(void)const  __ptr64
-?HResult@CError@@QEBAJXZ
-; public: static long __cdecl CError::HResult(long)
-?HResult@CError@@SAJJ@Z
-; protected: int __cdecl CIISSvcControl::HasInterface(void)const  __ptr64
-?HasInterface@CIISSvcControl@@IEBAHXZ
-; protected: int __cdecl CMetaInterface::HasInterface(void)const  __ptr64
-?HasInterface@CMetaInterface@@IEBAHXZ
-; protected: int __cdecl CWamInterface::HasInterface(void)const  __ptr64
-?HasInterface@CWamInterface@@IEBAHXZ
-; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
-?IsEmpty@CBlob@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsEnabledApplication(void)const  __ptr64
-?IsEnabledApplication@CIISApplication@@QEBAHXZ
-; public: int __cdecl CMetaKey::IsHomeDirectoryPath(void)const  __ptr64
-?IsHomeDirectoryPath@CMetaKey@@QEBAHXZ
-; public: int __cdecl CMetabasePath::IsHomeDirectoryPath(void)const  __ptr64
-?IsHomeDirectoryPath@CMetabasePath@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsInproc(void)const  __ptr64
-?IsInproc@CIISApplication@@QEBAHXZ
-; public: int __cdecl CComAuthInfo::IsLocal(void)const  __ptr64
-?IsLocal@CComAuthInfo@@QEBAHXZ
-; public: int __cdecl CIISInterface::IsLocal(void)const  __ptr64
-?IsLocal@CIISInterface@@QEBAHXZ
-; public: int __cdecl CMetaKey::IsOpen(void)const  __ptr64
-?IsOpen@CMetaKey@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsOutOfProc(void)const  __ptr64
-?IsOutOfProc@CIISApplication@@QEBAHXZ
-; public: int __cdecl CIISApplication::IsPooledProc(void)const  __ptr64
-?IsPooledProc@CIISApplication@@QEBAHXZ
-; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
-?Kill@CIISSvcControl@@QEAAJXZ
-; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
-?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
-; public: virtual void __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::OnFinalMessage(struct HWND__ * __ptr64) __ptr64
-?OnFinalMessage@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAXPEAUHWND__@@@Z
-; public: int __cdecl CFileChooser::OpenForRead(void) __ptr64
-?OpenForRead@CFileChooser@@QEAAHXZ
-; protected: long __cdecl CMetaInterface::OpenKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?OpenKey@CMetaInterface@@IEAAJKPEBGKPEAK@Z
-; public: void __cdecl CMetaEnumerator::Pop(void) __ptr64
-?Pop@CMetaEnumerator@@QEAAXXZ
-; public: virtual int __cdecl CFileChooser::ProcessWindowMessage(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64,unsigned long) __ptr64
-?ProcessWindowMessage@CFileChooser@@UEAAHPEAUHWND__@@I_K_JAEA_JK@Z
-; public: void __cdecl CMetaEnumerator::Push(void) __ptr64
-?Push@CMetaEnumerator@@QEAAXXZ
-; public: unsigned long __cdecl CIISApplication::QueryAppState(void)const  __ptr64
-?QueryAppState@CIISApplication@@QEBAKXZ
-; public: class CComAuthInfo * __ptr64 __cdecl CIISInterface::QueryAuthInfo(void) __ptr64
-?QueryAuthInfo@CIISInterface@@QEAAPEAVCComAuthInfo@@XZ
-; public: unsigned long __cdecl CMetaKey::QueryFlags(void)const  __ptr64
-?QueryFlags@CMetaKey@@QEBAKXZ
-; public: unsigned short const * __ptr64 __cdecl CMetaKey::QueryMetaPath(void)const  __ptr64
-?QueryMetaPath@CMetaKey@@QEBAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CMetabasePath::QueryMetaPath(void)const  __ptr64
-?QueryMetaPath@CMetabasePath@@QEBAPEBGXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryPassword(void)const  __ptr64
-?QueryPassword@CComAuthInfo@@QEBAPEAGXZ
-; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
-?QueryResult@CIISInterface@@UEBAJXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryServerName(void)const  __ptr64
-?QueryServerName@CComAuthInfo@@QEBAPEAGXZ
-; public: unsigned short const * __ptr64 __cdecl CIISInterface::QueryServerName(void)const  __ptr64
-?QueryServerName@CIISInterface@@QEBAPEBGXZ
-; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryUserName(void)const  __ptr64
-?QueryUserName@CComAuthInfo@@QEBAPEAGXZ
-; public: long __cdecl CMetaKey::QueryValue(unsigned long,int & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryValue@CMetaKey@@QEAAJKAEAHPEAHPEBGPEAK@Z
-; public: unsigned short const * __ptr64 __cdecl CIISApplication::QueryWamPath(void)const  __ptr64
-?QueryWamPath@CIISApplication@@QEBAPEBGXZ
-; public: long __cdecl CMetaKey::ReOpen(unsigned long) __ptr64
-?ReOpen@CMetaKey@@QEAAJK@Z
-; public: long __cdecl CMetaKey::ReOpen(void) __ptr64
-?ReOpen@CMetaKey@@QEAAJXZ
-; public: long __cdecl CIISSvcControl::Reboot(unsigned long,int) __ptr64
-?Reboot@CIISSvcControl@@QEAAJKH@Z
-; public: long __cdecl CIISApplication::Recover(int) __ptr64
-?Recover@CIISApplication@@QEAAJH@Z
-; public: __int64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::ReflectNotifications(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
-?ReflectNotifications@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA_JI_K_JAEAH@Z
-; public: void __cdecl CError::RemoveOverride(long) __ptr64
-?RemoveOverride@CError@@QEAAXJ@Z
-; public: void __cdecl CFileChooser::RemoveStyle(unsigned long) __ptr64
-?RemoveStyle@CFileChooser@@QEAAXK@Z
-; protected: long __cdecl CMetaInterface::RenameKey(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?RenameKey@CMetaInterface@@IEAAJKPEBG0@Z
-; public: long __cdecl CMetaKey::RenameKey(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?RenameKey@CMetaKey@@QEAAJPEBG0@Z
-; public: void __cdecl CError::Reset(void) __ptr64
-?Reset@CError@@QEAAXXZ
-; public: void __cdecl CMetaBack::Reset(void) __ptr64
-?Reset@CMetaBack@@QEAAXXZ
-; public: void __cdecl CMetaEnumerator::Reset(unsigned long) __ptr64
-?Reset@CMetaEnumerator@@QEAAXK@Z
-; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
-?Restore@CMetaInterface@@IEAAJPEBGKK@Z
-; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
-?SaveData@CMetaInterface@@QEAAJXZ
-; protected: long __cdecl CMetaInterface::SetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64) __ptr64
-?SetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@@Z
-; public: void __cdecl CFileChooser::SetDialogTitle(unsigned short const * __ptr64) __ptr64
-?SetDialogTitle@CFileChooser@@QEAAXPEBG@Z
-; protected: long __cdecl CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
-?SetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
-; public: void __cdecl CError::SetLastWinError(void)const  __ptr64
-?SetLastWinError@CError@@QEBAXXZ
-; public: void __cdecl CFileChooser::SetOfnFlags(unsigned long) __ptr64
-?SetOfnFlags@CFileChooser@@QEAAXK@Z
-; public: unsigned long __cdecl CFileChooser::SetStyle(unsigned long) __ptr64
-?SetStyle@CFileChooser@@QEAAKK@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,int,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKHPEAHPEBG@Z
-; public: long __cdecl CMetaKey::SetValue(unsigned long,unsigned long,int * __ptr64,unsigned short const * __ptr64) __ptr64
-?SetValue@CMetaKey@@QEAAJKKPEAHPEBG@Z
-; public: long __cdecl CIISSvcControl::Start(unsigned long) __ptr64
-?Start@CIISSvcControl@@QEAAJK@Z
-; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::StartWindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?StartWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
-; public: long __cdecl CIISSvcControl::Status(unsigned long,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?Status@CIISSvcControl@@QEAAJKPEAEPEAK1@Z
-; public: long __cdecl CIISSvcControl::Stop(unsigned long,int) __ptr64
-?Stop@CIISSvcControl@@QEAAJKH@Z
-; public: void __cdecl CComAuthInfo::StorePassword(unsigned short const * __ptr64) __ptr64
-?StorePassword@CComAuthInfo@@QEAAXPEBG@Z
-; public: int __cdecl CFileChooser::StyleBitSet(unsigned long) __ptr64
-?StyleBitSet@CFileChooser@@QEAAHK@Z
-; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::SubclassWindow(struct HWND__ * __ptr64) __ptr64
-?SubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHPEAUHWND__@@@Z
-; public: int __cdecl CError::Succeeded(void)const  __ptr64
-?Succeeded@CError@@QEBAHXZ
-; public: static int __cdecl CError::Succeeded(long)
-?Succeeded@CError@@SAHJ@Z
-; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
-?Succeeded@CIISInterface@@UEBAHXZ
-; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
-?SupportsPooledProc@CWamInterface@@QEBAHXZ
-; public: long __cdecl CIISApplication::Unload(int) __ptr64
-?Unload@CIISApplication@@QEAAJH@Z
-; public: static void __cdecl CError::UnregisterFacility(unsigned long)
-?UnregisterFacility@CError@@SAXK@Z
-; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::UnsubclassWindow(int) __ptr64
-?UnsubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@H@Z
-; public: int __cdecl CComAuthInfo::UsesImpersonation(void)const  __ptr64
-?UsesImpersonation@CComAuthInfo@@QEBAHXZ
-; public: unsigned long __cdecl CError::Win32Error(void)const  __ptr64
-?Win32Error@CError@@QEBAKXZ
-; public: static unsigned long __cdecl CError::Win32Error(long)
-?Win32Error@CError@@SAKJ@Z
-; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::WindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
-?WindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
-; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Buynode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
-?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAPEAU_Node@12@PEAU312@0@Z
-; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Freenode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
-?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXPEAU_Node@12@@Z
-; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXViterator@12@AEAV12@00@Z
-; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const  __ptr64
-?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEBAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
-?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXVconst_iterator@12@0@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned __int64,class IIS::CString const & __ptr64) __ptr64
-?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KAEBVCString@IIS@@@Z
-; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void) __ptr64
-?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
-; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const  __ptr64
-?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void) __ptr64
-?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const  __ptr64
-?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void) __ptr64
-?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: bool __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const  __ptr64
-?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_NXZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void) __ptr64
-?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const  __ptr64
-?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@0@Z
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@@Z
-; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void) __ptr64
-?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
-; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const  __ptr64
-?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
-; public: class std::allocator<class IIS::CString>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const  __ptr64
-?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$allocator@VCString@IIS@@@2@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const & __ptr64) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@AEBVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const * __ptr64,class IIS::CString const * __ptr64) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@PEBVCString@IIS@@1@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@Vconst_iterator@12@1@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,unsigned __int64,class IIS::CString const & __ptr64) __ptr64
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@_KAEBVCString@IIS@@@Z
-; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const  __ptr64
-?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
-?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,struct std::greater<class IIS::CString>) __ptr64
-?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@U?$greater@VCString@IIS@@@2@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void) __ptr64
-?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void) __ptr64
-?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const & __ptr64) __ptr64
-?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const & __ptr64) __ptr64
-?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void) __ptr64
-?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const  __ptr64
-?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const & __ptr64) __ptr64
-?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >) __ptr64
-?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXV?$binder2nd@U?$not_equal_to@VCString@IIS@@@std@@@2@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void) __ptr64
-?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const  __ptr64
-?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned __int64,class IIS::CString) __ptr64
-?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KVCString@IIS@@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void) __ptr64
-?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const  __ptr64
-?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>) __ptr64
-?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$greater@VCString@IIS@@@2@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void) __ptr64
-?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@00@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@0@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
-?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>) __ptr64
-?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$not_equal_to@VCString@IIS@@@2@@Z
-; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void) __ptr64
-?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
-; struct _ATL_WNDCLASSINFOW  `public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)'::`2'::wc
-?wc@?1??GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ@4U4@A DATA
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file w3ext.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY w3ext.DLL
+EXPORTS
+; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
+??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@AEBV01@@Z
+; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
+??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
+; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
+??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@AEBV01@@Z
+; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
+??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
+; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(class CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
+??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@AEBV01@@Z
+; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(void) __ptr64
+??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV01@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class IIS::CString const * __ptr64,class IIS::CString const * __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@PEBVCString@IIS@@0AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@Vconst_iterator@01@0AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned __int64,class IIS::CString const & __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@_KAEBVCString@IIS@@AEBV?$allocator@VCString@IIS@@@1@@Z
+; public: __cdecl CError::CError(class CError const & __ptr64) __ptr64
+??0CError@@QEAA@AEBV0@@Z
+; public: __cdecl CError::CError(long) __ptr64
+??0CError@@QEAA@J@Z
+; public: __cdecl CError::CError(unsigned long) __ptr64
+??0CError@@QEAA@K@Z
+; public: __cdecl CError::CError(void) __ptr64
+??0CError@@QEAA@XZ
+; public: __cdecl CFileChooser::CFileChooser(class CFileChooser const & __ptr64) __ptr64
+??0CFileChooser@@QEAA@AEBV0@@Z
+; public: __cdecl CFileChooser::CFileChooser(void) __ptr64
+??0CFileChooser@@QEAA@XZ
+; public: __cdecl CIISApplication::CIISApplication(class CIISApplication & __ptr64) __ptr64
+??0CIISApplication@@QEAA@AEAV0@@Z
+; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
+??0CIISInterface@@QEAA@AEAV0@@Z
+; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
+??0CIISSvcControl@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
+??0CMetaBack@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
+??0CMetaEnumerator@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface & __ptr64) __ptr64
+??0CMetaInterface@@QEAA@AEAV0@@Z
+; public: __cdecl CMetaKey::CMetaKey(class CMetaKey & __ptr64) __ptr64
+??0CMetaKey@@QEAA@AEAV0@@Z
+; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
+??0CMetabasePath@@QEAA@AEBV0@@Z
+; public: __cdecl CStringListEx::CStringListEx(class CStringListEx const & __ptr64) __ptr64
+??0CStringListEx@@QEAA@AEBV0@@Z
+; public: __cdecl CWamInterface::CWamInterface(class CWamInterface & __ptr64) __ptr64
+??0CWamInterface@@QEAA@AEAV0@@Z
+; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
+??1?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
+; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
+??1?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
+; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::~CWindowImplRoot<class ATL::CWindow>(void) __ptr64
+??1?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
+; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void) __ptr64
+??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@XZ
+; public: __cdecl CBlob::~CBlob(void) __ptr64
+??1CBlob@@QEAA@XZ
+; public: __cdecl CComAuthInfo::~CComAuthInfo(void) __ptr64
+??1CComAuthInfo@@QEAA@XZ
+; public: __cdecl CFileChooser::~CFileChooser(void) __ptr64
+??1CFileChooser@@QEAA@XZ
+; public: virtual __cdecl CIISApplication::~CIISApplication(void) __ptr64
+??1CIISApplication@@UEAA@XZ
+; public: __cdecl CIISInterface::~CIISInterface(void) __ptr64
+??1CIISInterface@@QEAA@XZ
+; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
+??1CMetaBack@@UEAA@XZ
+; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
+??1CMetaEnumerator@@UEAA@XZ
+; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
+??1CMetabasePath@@QEAA@XZ
+; public: class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
+??4?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAAEAV01@AEBV01@@Z
+; public: class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
+??4?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAAEAV01@AEBV01@@Z
+; public: class ATL::CWindowImplRoot<class ATL::CWindow> & __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::operator=(class ATL::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
+??4?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAAAEAV01@AEBV01@@Z
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::operator=(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
+??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
+; public: class CError const & __ptr64 __cdecl CError::operator=(class CError const & __ptr64) __ptr64
+??4CError@@QEAAAEBV0@AEBV0@@Z
+; public: class CError const & __ptr64 __cdecl CError::operator=(long) __ptr64
+??4CError@@QEAAAEBV0@J@Z
+; public: class CFileChooser & __ptr64 __cdecl CFileChooser::operator=(class CFileChooser const & __ptr64) __ptr64
+??4CFileChooser@@QEAAAEAV0@AEBV0@@Z
+; public: class CIISApplication & __ptr64 __cdecl CIISApplication::operator=(class CIISApplication & __ptr64) __ptr64
+??4CIISApplication@@QEAAAEAV0@AEAV0@@Z
+; public: class CIISInterface & __ptr64 __cdecl CIISInterface::operator=(class CIISInterface & __ptr64) __ptr64
+??4CIISInterface@@QEAAAEAV0@AEAV0@@Z
+; public: class CIISSvcControl & __ptr64 __cdecl CIISSvcControl::operator=(class CIISSvcControl & __ptr64) __ptr64
+??4CIISSvcControl@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaBack & __ptr64 __cdecl CMetaBack::operator=(class CMetaBack & __ptr64) __ptr64
+??4CMetaBack@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaEnumerator & __ptr64 __cdecl CMetaEnumerator::operator=(class CMetaEnumerator & __ptr64) __ptr64
+??4CMetaEnumerator@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaInterface & __ptr64 __cdecl CMetaInterface::operator=(class CMetaInterface & __ptr64) __ptr64
+??4CMetaInterface@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetaKey & __ptr64 __cdecl CMetaKey::operator=(class CMetaKey & __ptr64) __ptr64
+??4CMetaKey@@QEAAAEAV0@AEAV0@@Z
+; public: class CMetabasePath & __ptr64 __cdecl CMetabasePath::operator=(class CMetabasePath const & __ptr64) __ptr64
+??4CMetabasePath@@QEAAAEAV0@AEBV0@@Z
+; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringListEx const & __ptr64) __ptr64
+??4CStringListEx@@QEAAAEAV0@AEBV0@@Z
+; public: class CWamInterface & __ptr64 __cdecl CWamInterface::operator=(class CWamInterface & __ptr64) __ptr64
+??4CWamInterface@@QEAAAEAV0@AEAV0@@Z
+; public: int const  __cdecl CError::operator==(class CError & __ptr64) __ptr64
+??8CError@@QEAA?BHAEAV0@@Z
+; public: int const  __cdecl CError::operator==(long) __ptr64
+??8CError@@QEAA?BHJ@Z
+; public: int __cdecl CBlob::operator!=(class CBlob const & __ptr64)const  __ptr64
+??9CBlob@@QEBAHAEBV0@@Z
+; public: int const  __cdecl CError::operator!=(class CError & __ptr64) __ptr64
+??9CError@@QEAA?BHAEAV0@@Z
+; public: int const  __cdecl CError::operator!=(long) __ptr64
+??9CError@@QEAA?BHJ@Z
+; public: bool __cdecl CStrPassword::operator!=(class CStrPassword & __ptr64) __ptr64
+??9CStrPassword@@QEAA_NAEAV0@@Z
+; public: __cdecl CComAuthInfo::operator unsigned short * __ptr64(void) __ptr64
+??BCComAuthInfo@@QEAAPEAGXZ
+; public: __cdecl CComAuthInfo::operator class CComAuthInfo * __ptr64(void) __ptr64
+??BCComAuthInfo@@QEAAPEAV0@XZ
+; public: __cdecl CError::operator unsigned short const * __ptr64(void) __ptr64
+??BCError@@QEAAPEBGXZ
+; public: __cdecl CError::operator int const (void)const  __ptr64
+??BCError@@QEBA?BHXZ
+; public: __cdecl CError::operator long const (void)const  __ptr64
+??BCError@@QEBA?BJXZ
+; public: __cdecl CError::operator unsigned long const (void)const  __ptr64
+??BCError@@QEBA?BKXZ
+; public: __cdecl CIISInterface::operator int(void)const  __ptr64
+??BCIISInterface@@QEBAHXZ
+; public: __cdecl CIISInterface::operator long(void)const  __ptr64
+??BCIISInterface@@QEBAJXZ
+; public: __cdecl CMetaKey::operator int(void)const  __ptr64
+??BCMetaKey@@QEBAHXZ
+; public: __cdecl CMetaKey::operator unsigned long(void)const  __ptr64
+??BCMetaKey@@QEBAKXZ
+; public: __cdecl CMetaKey::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCMetaKey@@QEBAPEBGXZ
+; public: __cdecl CMetabasePath::operator unsigned short const * __ptr64(void)const  __ptr64
+??BCMetabasePath@@QEBAPEBGXZ
+; const  CFileChooser::`vftable'
+??_7CFileChooser@@6B@
+; const  CIISApplication::`vftable'{for `CMetaKey'}
+??_7CIISApplication@@6BCMetaKey@@@
+; const  CIISApplication::`vftable'{for `CWamInterface'}
+??_7CIISApplication@@6BCWamInterface@@@
+; const  CIISInterface::`vftable'
+??_7CIISInterface@@6B@
+; const  CIISSvcControl::`vftable'
+??_7CIISSvcControl@@6B@
+; const  CMetaBack::`vftable'{for `CMetaInterface'}
+??_7CMetaBack@@6BCMetaInterface@@@
+; const  CMetaBack::`vftable'{for `CWamInterface'}
+??_7CMetaBack@@6BCWamInterface@@@
+; const  CMetaEnumerator::`vftable'
+??_7CMetaEnumerator@@6B@
+; const  CMetaInterface::`vftable'
+??_7CMetaInterface@@6B@
+; const  CMetaKey::`vftable'
+??_7CMetaKey@@6B@
+; const  CWamInterface::`vftable'
+??_7CWamInterface@@6B@
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void) __ptr64
+??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl CComAuthInfo::`default constructor closure'(void) __ptr64
+??_FCComAuthInfo@@QEAAXXZ
+; public: void __cdecl CMetabasePath::`default constructor closure'(void) __ptr64
+??_FCMetabasePath@@QEAAXXZ
+; protected: long __cdecl CMetaInterface::AddKey(unsigned long,unsigned short const * __ptr64) __ptr64
+?AddKey@CMetaInterface@@IEAAJKPEBG@Z
+; public: long __cdecl CMetaKey::AddKey(unsigned short const * __ptr64) __ptr64
+?AddKey@CMetaKey@@QEAAJPEBG@Z
+; public: void __cdecl CFileChooser::AddStyle(unsigned long) __ptr64
+?AddStyle@CFileChooser@@QEAAXK@Z
+; protected: long __cdecl CWamInterface::AppDelete(unsigned short const * __ptr64,int) __ptr64
+?AppDelete@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppDeleteRecoverable(unsigned short const * __ptr64,int) __ptr64
+?AppDeleteRecoverable@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppGetStatus(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?AppGetStatus@CWamInterface@@IEAAJPEBGPEAK@Z
+; protected: long __cdecl CWamInterface::AppRecover(unsigned short const * __ptr64,int) __ptr64
+?AppRecover@CWamInterface@@IEAAJPEBGH@Z
+; protected: long __cdecl CWamInterface::AppUnLoad(unsigned short const * __ptr64,int) __ptr64
+?AppUnLoad@CWamInterface@@IEAAJPEBGH@Z
+; protected: virtual long __cdecl CIISSvcControl::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CIISSvcControl@@MEAAJXZ
+; protected: virtual long __cdecl CMetaBack::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CMetaBack@@MEAAJXZ
+; protected: virtual long __cdecl CMetaInterface::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CMetaInterface@@MEAAJXZ
+; protected: virtual long __cdecl CWamInterface::ApplyProxyBlanket(void) __ptr64
+?ApplyProxyBlanket@CWamInterface@@MEAAJXZ
+; public: long __cdecl CMetaBack::Backup(unsigned short const * __ptr64) __ptr64
+?Backup@CMetaBack@@QEAAJPEBG@Z
+; protected: long __cdecl CMetaInterface::Backup(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?Backup@CMetaInterface@@IEAAJPEBGKK@Z
+; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
+; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
+?CloseKey@CMetaInterface@@IEAAJK@Z
+; protected: long __cdecl CMetaInterface::CopyData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
+?CopyData@CMetaInterface@@IEAAJKPEBGK0KKKH@Z
+; protected: long __cdecl CMetaInterface::CopyKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int,int) __ptr64
+?CopyKey@CMetaInterface@@IEAAJKPEBGK0HH@Z
+; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,void * __ptr64) __ptr64
+?Create@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIPEAX@Z
+; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,unsigned short,void * __ptr64) __ptr64
+?Create@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIGPEAX@Z
+; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(unsigned int,unsigned __int64,__int64) __ptr64
+?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JI_K_J@Z
+; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(void) __ptr64
+?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JXZ
+; public: static int __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::DefaultReflectionHandler(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64)
+?DefaultReflectionHandler@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@SAHPEAUHWND__@@I_K_JAEA_J@Z
+; public: long __cdecl CIISApplication::Delete(int) __ptr64
+?Delete@CIISApplication@@QEAAJH@Z
+; public: long __cdecl CMetaBack::Delete(unsigned short const * __ptr64,unsigned long) __ptr64
+?Delete@CMetaBack@@QEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::DeleteAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?DeleteAllData@CMetaInterface@@IEAAJKPEBGKK@Z
+; protected: long __cdecl CMetaInterface::DeleteBackup(unsigned short const * __ptr64,unsigned long) __ptr64
+?DeleteBackup@CMetaInterface@@IEAAJPEBGK@Z
+; protected: long __cdecl CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteChildKeys@CMetaInterface@@IEAAJKPEBG@Z
+; protected: long __cdecl CMetaInterface::DeleteData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?DeleteData@CMetaInterface@@IEAAJKPEBGKK@Z
+; protected: long __cdecl CMetaInterface::DeleteKey(unsigned long,unsigned short const * __ptr64) __ptr64
+?DeleteKey@CMetaInterface@@IEAAJKPEBG@Z
+; public: long __cdecl CMetaKey::DeleteKey(unsigned short const * __ptr64) __ptr64
+?DeleteKey@CMetaKey@@QEAAJPEBG@Z
+; public: long __cdecl CIISApplication::DeleteRecoverable(int) __ptr64
+?DeleteRecoverable@CIISApplication@@QEAAJH@Z
+; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DestroyWindow(void) __ptr64
+?DestroyWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHXZ
+; protected: long __cdecl CMetaInterface::EnumBackups(unsigned short * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
+?EnumBackups@CMetaInterface@@IEAAJPEAGPEAKPEAU_FILETIME@@K@Z
+; protected: long __cdecl CMetaInterface::EnumData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?EnumData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@KPEAK@Z
+; protected: long __cdecl CMetaInterface::EnumKeys(unsigned long,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
+?EnumKeys@CMetaInterface@@IEAAJKPEBGPEAGK@Z
+; public: int __cdecl CError::Failed(void)const  __ptr64
+?Failed@CError@@QEBAHXZ
+; public: static int __cdecl CError::Failed(long)
+?Failed@CError@@SAHJ@Z
+; protected: long __cdecl CMetaInterface::GetAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
+?GetAllData@CMetaInterface@@IEAAJKPEBGKKKPEAK1KPEAE1@Z
+; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
+?GetBase@CMetaKey@@QEBAKXZ
+; public: struct tagMSG const * __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::GetCurrentMessage(void)const  __ptr64
+?GetCurrentMessage@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEBAPEBUtagMSG@@XZ
+; public: unsigned char * __ptr64 __cdecl CBlob::GetData(void) __ptr64
+?GetData@CBlob@@QEAAPEAEXZ
+; protected: long __cdecl CMetaInterface::GetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long * __ptr64) __ptr64
+?GetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@PEAK@Z
+; protected: long __cdecl CMetaInterface::GetDataPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetDataPaths@CMetaInterface@@IEAAJKPEBGKKKPEAGPEAK@Z
+; public: unsigned long __cdecl CMetaKey::GetHandle(void)const  __ptr64
+?GetHandle@CMetaKey@@QEBAKXZ
+; public: unsigned long __cdecl CMetaEnumerator::GetIndex(void) __ptr64
+?GetIndex@CMetaEnumerator@@QEAAKXZ
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetInstancePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetInstancePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: struct IMSAdminBaseW * __ptr64 __cdecl CMetaInterface::GetInterface(void) __ptr64
+?GetInterface@CMetaInterface@@QEAAPEAUIMSAdminBaseW@@XZ
+; protected: long __cdecl CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
+?GetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
+; public: void __cdecl CError::GetLastWinError(void) __ptr64
+?GetLastWinError@CError@@QEAAXXZ
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetMachinePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetMachinePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: unsigned long __cdecl CFileChooser::GetOfnFlags(void) __ptr64
+?GetOfnFlags@CFileChooser@@QEAAKXZ
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetRootPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetRootPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServicePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
+?GetServicePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
+; public: unsigned long __cdecl CBlob::GetSize(void)const  __ptr64
+?GetSize@CBlob@@QEBAKXZ
+; public: unsigned long __cdecl CFileChooser::GetStyle(void)const  __ptr64
+?GetStyle@CFileChooser@@QEBAKXZ
+; public: virtual __int64 (__cdecl*__cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWindowProc(void) __ptr64)(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?GetWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAP6A_JPEAUHWND__@@I_K_J@ZXZ
+; public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)
+?GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ
+; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndExStyle(unsigned long)
+?GetWndExStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
+; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndStyle(unsigned long)
+?GetWndStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
+; public: long __cdecl CError::HResult(void)const  __ptr64
+?HResult@CError@@QEBAJXZ
+; public: static long __cdecl CError::HResult(long)
+?HResult@CError@@SAJJ@Z
+; protected: int __cdecl CIISSvcControl::HasInterface(void)const  __ptr64
+?HasInterface@CIISSvcControl@@IEBAHXZ
+; protected: int __cdecl CMetaInterface::HasInterface(void)const  __ptr64
+?HasInterface@CMetaInterface@@IEBAHXZ
+; protected: int __cdecl CWamInterface::HasInterface(void)const  __ptr64
+?HasInterface@CWamInterface@@IEBAHXZ
+; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
+?IsEmpty@CBlob@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsEnabledApplication(void)const  __ptr64
+?IsEnabledApplication@CIISApplication@@QEBAHXZ
+; public: int __cdecl CMetaKey::IsHomeDirectoryPath(void)const  __ptr64
+?IsHomeDirectoryPath@CMetaKey@@QEBAHXZ
+; public: int __cdecl CMetabasePath::IsHomeDirectoryPath(void)const  __ptr64
+?IsHomeDirectoryPath@CMetabasePath@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsInproc(void)const  __ptr64
+?IsInproc@CIISApplication@@QEBAHXZ
+; public: int __cdecl CComAuthInfo::IsLocal(void)const  __ptr64
+?IsLocal@CComAuthInfo@@QEBAHXZ
+; public: int __cdecl CIISInterface::IsLocal(void)const  __ptr64
+?IsLocal@CIISInterface@@QEBAHXZ
+; public: int __cdecl CMetaKey::IsOpen(void)const  __ptr64
+?IsOpen@CMetaKey@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsOutOfProc(void)const  __ptr64
+?IsOutOfProc@CIISApplication@@QEBAHXZ
+; public: int __cdecl CIISApplication::IsPooledProc(void)const  __ptr64
+?IsPooledProc@CIISApplication@@QEBAHXZ
+; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
+?Kill@CIISSvcControl@@QEAAJXZ
+; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
+?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
+; public: virtual void __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::OnFinalMessage(struct HWND__ * __ptr64) __ptr64
+?OnFinalMessage@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAXPEAUHWND__@@@Z
+; public: int __cdecl CFileChooser::OpenForRead(void) __ptr64
+?OpenForRead@CFileChooser@@QEAAHXZ
+; protected: long __cdecl CMetaInterface::OpenKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?OpenKey@CMetaInterface@@IEAAJKPEBGKPEAK@Z
+; public: void __cdecl CMetaEnumerator::Pop(void) __ptr64
+?Pop@CMetaEnumerator@@QEAAXXZ
+; public: virtual int __cdecl CFileChooser::ProcessWindowMessage(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64,unsigned long) __ptr64
+?ProcessWindowMessage@CFileChooser@@UEAAHPEAUHWND__@@I_K_JAEA_JK@Z
+; public: void __cdecl CMetaEnumerator::Push(void) __ptr64
+?Push@CMetaEnumerator@@QEAAXXZ
+; public: unsigned long __cdecl CIISApplication::QueryAppState(void)const  __ptr64
+?QueryAppState@CIISApplication@@QEBAKXZ
+; public: class CComAuthInfo * __ptr64 __cdecl CIISInterface::QueryAuthInfo(void) __ptr64
+?QueryAuthInfo@CIISInterface@@QEAAPEAVCComAuthInfo@@XZ
+; public: unsigned long __cdecl CMetaKey::QueryFlags(void)const  __ptr64
+?QueryFlags@CMetaKey@@QEBAKXZ
+; public: unsigned short const * __ptr64 __cdecl CMetaKey::QueryMetaPath(void)const  __ptr64
+?QueryMetaPath@CMetaKey@@QEBAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CMetabasePath::QueryMetaPath(void)const  __ptr64
+?QueryMetaPath@CMetabasePath@@QEBAPEBGXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryPassword(void)const  __ptr64
+?QueryPassword@CComAuthInfo@@QEBAPEAGXZ
+; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
+?QueryResult@CIISInterface@@UEBAJXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryServerName(void)const  __ptr64
+?QueryServerName@CComAuthInfo@@QEBAPEAGXZ
+; public: unsigned short const * __ptr64 __cdecl CIISInterface::QueryServerName(void)const  __ptr64
+?QueryServerName@CIISInterface@@QEBAPEBGXZ
+; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryUserName(void)const  __ptr64
+?QueryUserName@CComAuthInfo@@QEBAPEAGXZ
+; public: long __cdecl CMetaKey::QueryValue(unsigned long,int & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryValue@CMetaKey@@QEAAJKAEAHPEAHPEBGPEAK@Z
+; public: unsigned short const * __ptr64 __cdecl CIISApplication::QueryWamPath(void)const  __ptr64
+?QueryWamPath@CIISApplication@@QEBAPEBGXZ
+; public: long __cdecl CMetaKey::ReOpen(unsigned long) __ptr64
+?ReOpen@CMetaKey@@QEAAJK@Z
+; public: long __cdecl CMetaKey::ReOpen(void) __ptr64
+?ReOpen@CMetaKey@@QEAAJXZ
+; public: long __cdecl CIISSvcControl::Reboot(unsigned long,int) __ptr64
+?Reboot@CIISSvcControl@@QEAAJKH@Z
+; public: long __cdecl CIISApplication::Recover(int) __ptr64
+?Recover@CIISApplication@@QEAAJH@Z
+; public: __int64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::ReflectNotifications(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
+?ReflectNotifications@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA_JI_K_JAEAH@Z
+; public: void __cdecl CError::RemoveOverride(long) __ptr64
+?RemoveOverride@CError@@QEAAXJ@Z
+; public: void __cdecl CFileChooser::RemoveStyle(unsigned long) __ptr64
+?RemoveStyle@CFileChooser@@QEAAXK@Z
+; protected: long __cdecl CMetaInterface::RenameKey(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?RenameKey@CMetaInterface@@IEAAJKPEBG0@Z
+; public: long __cdecl CMetaKey::RenameKey(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?RenameKey@CMetaKey@@QEAAJPEBG0@Z
+; public: void __cdecl CError::Reset(void) __ptr64
+?Reset@CError@@QEAAXXZ
+; public: void __cdecl CMetaBack::Reset(void) __ptr64
+?Reset@CMetaBack@@QEAAXXZ
+; public: void __cdecl CMetaEnumerator::Reset(unsigned long) __ptr64
+?Reset@CMetaEnumerator@@QEAAXK@Z
+; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
+?Restore@CMetaInterface@@IEAAJPEBGKK@Z
+; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
+?SaveData@CMetaInterface@@QEAAJXZ
+; protected: long __cdecl CMetaInterface::SetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64) __ptr64
+?SetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@@Z
+; public: void __cdecl CFileChooser::SetDialogTitle(unsigned short const * __ptr64) __ptr64
+?SetDialogTitle@CFileChooser@@QEAAXPEBG@Z
+; protected: long __cdecl CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
+?SetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
+; public: void __cdecl CError::SetLastWinError(void)const  __ptr64
+?SetLastWinError@CError@@QEBAXXZ
+; public: void __cdecl CFileChooser::SetOfnFlags(unsigned long) __ptr64
+?SetOfnFlags@CFileChooser@@QEAAXK@Z
+; public: unsigned long __cdecl CFileChooser::SetStyle(unsigned long) __ptr64
+?SetStyle@CFileChooser@@QEAAKK@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,int,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKHPEAHPEBG@Z
+; public: long __cdecl CMetaKey::SetValue(unsigned long,unsigned long,int * __ptr64,unsigned short const * __ptr64) __ptr64
+?SetValue@CMetaKey@@QEAAJKKPEAHPEBG@Z
+; public: long __cdecl CIISSvcControl::Start(unsigned long) __ptr64
+?Start@CIISSvcControl@@QEAAJK@Z
+; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::StartWindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?StartWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
+; public: long __cdecl CIISSvcControl::Status(unsigned long,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?Status@CIISSvcControl@@QEAAJKPEAEPEAK1@Z
+; public: long __cdecl CIISSvcControl::Stop(unsigned long,int) __ptr64
+?Stop@CIISSvcControl@@QEAAJKH@Z
+; public: void __cdecl CComAuthInfo::StorePassword(unsigned short const * __ptr64) __ptr64
+?StorePassword@CComAuthInfo@@QEAAXPEBG@Z
+; public: int __cdecl CFileChooser::StyleBitSet(unsigned long) __ptr64
+?StyleBitSet@CFileChooser@@QEAAHK@Z
+; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::SubclassWindow(struct HWND__ * __ptr64) __ptr64
+?SubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHPEAUHWND__@@@Z
+; public: int __cdecl CError::Succeeded(void)const  __ptr64
+?Succeeded@CError@@QEBAHXZ
+; public: static int __cdecl CError::Succeeded(long)
+?Succeeded@CError@@SAHJ@Z
+; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
+?Succeeded@CIISInterface@@UEBAHXZ
+; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
+?SupportsPooledProc@CWamInterface@@QEBAHXZ
+; public: long __cdecl CIISApplication::Unload(int) __ptr64
+?Unload@CIISApplication@@QEAAJH@Z
+; public: static void __cdecl CError::UnregisterFacility(unsigned long)
+?UnregisterFacility@CError@@SAXK@Z
+; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::UnsubclassWindow(int) __ptr64
+?UnsubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@H@Z
+; public: int __cdecl CComAuthInfo::UsesImpersonation(void)const  __ptr64
+?UsesImpersonation@CComAuthInfo@@QEBAHXZ
+; public: unsigned long __cdecl CError::Win32Error(void)const  __ptr64
+?Win32Error@CError@@QEBAKXZ
+; public: static unsigned long __cdecl CError::Win32Error(long)
+?Win32Error@CError@@SAKJ@Z
+; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::WindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
+?WindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
+; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Buynode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
+?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAPEAU_Node@12@PEAU312@0@Z
+; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Freenode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
+?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXPEAU_Node@12@@Z
+; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXViterator@12@AEAV12@00@Z
+; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const  __ptr64
+?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEBAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
+?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXVconst_iterator@12@0@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned __int64,class IIS::CString const & __ptr64) __ptr64
+?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KAEBVCString@IIS@@@Z
+; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void) __ptr64
+?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
+; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const  __ptr64
+?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void) __ptr64
+?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const  __ptr64
+?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void) __ptr64
+?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: bool __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const  __ptr64
+?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_NXZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void) __ptr64
+?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const  __ptr64
+?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@0@Z
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@@Z
+; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void) __ptr64
+?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
+; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const  __ptr64
+?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
+; public: class std::allocator<class IIS::CString>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const  __ptr64
+?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$allocator@VCString@IIS@@@2@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const & __ptr64) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@AEBVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const * __ptr64,class IIS::CString const * __ptr64) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@PEBVCString@IIS@@1@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@Vconst_iterator@12@1@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,unsigned __int64,class IIS::CString const & __ptr64) __ptr64
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@_KAEBVCString@IIS@@@Z
+; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const  __ptr64
+?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
+?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,struct std::greater<class IIS::CString>) __ptr64
+?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@U?$greater@VCString@IIS@@@2@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void) __ptr64
+?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void) __ptr64
+?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const & __ptr64) __ptr64
+?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const & __ptr64) __ptr64
+?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void) __ptr64
+?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const  __ptr64
+?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const & __ptr64) __ptr64
+?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >) __ptr64
+?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXV?$binder2nd@U?$not_equal_to@VCString@IIS@@@std@@@2@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void) __ptr64
+?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const  __ptr64
+?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned __int64,class IIS::CString) __ptr64
+?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KVCString@IIS@@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void) __ptr64
+?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const  __ptr64
+?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>) __ptr64
+?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$greater@VCString@IIS@@@2@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void) __ptr64
+?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@00@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@0@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
+?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>) __ptr64
+?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$not_equal_to@VCString@IIS@@@2@@Z
+; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void) __ptr64
+?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
+; struct _ATL_WNDCLASSINFOW  `public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)'::`2'::wc
+?wc@?1??GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ@4U4@A DATA
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/w3isapi.def b/mingw-w64-crt/lib64/w3isapi.def
index 9cf494f..4dea32b 100644
--- a/mingw-w64-crt/lib64/w3isapi.def
+++ b/mingw-w64-crt/lib64/w3isapi.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file w3isapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY w3isapi.dll
-EXPORTS
-InitModule
-ProcessIsapiCompletion
-ProcessIsapiRequest
-TerminateModule
+; 
+; Exports of file w3isapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY w3isapi.dll
+EXPORTS
+InitModule
+ProcessIsapiCompletion
+ProcessIsapiRequest
+TerminateModule
diff --git a/mingw-w64-crt/lib64/w3ssl.def b/mingw-w64-crt/lib64/w3ssl.def
index 80a0dcc..39f4956 100644
--- a/mingw-w64-crt/lib64/w3ssl.def
+++ b/mingw-w64-crt/lib64/w3ssl.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file w3ssl.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY w3ssl.dll
-EXPORTS
-HTTPFilterServiceMain
-ServiceEntry
+; 
+; Exports of file w3ssl.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY w3ssl.dll
+EXPORTS
+HTTPFilterServiceMain
+ServiceEntry
diff --git a/mingw-w64-crt/lib64/w3tp.def b/mingw-w64-crt/lib64/w3tp.def
index 1a09ee9..bb4b520 100644
--- a/mingw-w64-crt/lib64/w3tp.def
+++ b/mingw-w64-crt/lib64/w3tp.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file W3TP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY W3TP.dll
-EXPORTS
-; private: __cdecl THREAD_POOL::THREAD_POOL(void) __ptr64
-??0THREAD_POOL@@AEAA@XZ
-; private: __cdecl THREAD_POOL::~THREAD_POOL(void) __ptr64
-??1THREAD_POOL@@AEAA@XZ
-; public: int __cdecl THREAD_POOL::BindIoCompletionCallback(void * __ptr64,void (__cdecl*)(unsigned long,unsigned long,struct _OVERLAPPED * __ptr64),unsigned long) __ptr64
-?BindIoCompletionCallback@THREAD_POOL@@QEAAHPEAXP6AXKKPEAU_OVERLAPPED@@@ZK@Z
-; public: static int __cdecl THREAD_POOL::CreateThreadPool(class THREAD_POOL * __ptr64 * __ptr64,struct THREAD_POOL_CONFIG * __ptr64)
-?CreateThreadPool@THREAD_POOL@@SAHPEAPEAV1@PEAUTHREAD_POOL_CONFIG@@@Z
-; public: void __cdecl THREAD_POOL::GetStats(unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetStats@THREAD_POOL@@QEAAXPEAK00@Z
-; public: int __cdecl THREAD_POOL::PostCompletion(unsigned long,void (__cdecl*)(unsigned long,unsigned long,struct _OVERLAPPED * __ptr64),struct _OVERLAPPED * __ptr64) __ptr64
-?PostCompletion@THREAD_POOL@@QEAAHKP6AXKKPEAU_OVERLAPPED@@@Z0@Z
-; public: unsigned __int64 __cdecl THREAD_POOL::SetInfo(enum THREAD_POOL_INFO,unsigned __int64) __ptr64
-?SetInfo@THREAD_POOL@@QEAA_KW4THREAD_POOL_INFO@@_K@Z
-; public: void __cdecl THREAD_POOL::TerminateThreadPool(void) __ptr64
-?TerminateThreadPool@THREAD_POOL@@QEAAXXZ
-ThreadPoolBindIoCompletionCallback
-ThreadPoolGetStats
-ThreadPoolInitialize
-ThreadPoolPostCompletion
-ThreadPoolSetInfo
-ThreadPoolTerminate
-DllMain
+; 
+; Exports of file W3TP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY W3TP.dll
+EXPORTS
+; private: __cdecl THREAD_POOL::THREAD_POOL(void) __ptr64
+??0THREAD_POOL@@AEAA@XZ
+; private: __cdecl THREAD_POOL::~THREAD_POOL(void) __ptr64
+??1THREAD_POOL@@AEAA@XZ
+; public: int __cdecl THREAD_POOL::BindIoCompletionCallback(void * __ptr64,void (__cdecl*)(unsigned long,unsigned long,struct _OVERLAPPED * __ptr64),unsigned long) __ptr64
+?BindIoCompletionCallback@THREAD_POOL@@QEAAHPEAXP6AXKKPEAU_OVERLAPPED@@@ZK@Z
+; public: static int __cdecl THREAD_POOL::CreateThreadPool(class THREAD_POOL * __ptr64 * __ptr64,struct THREAD_POOL_CONFIG * __ptr64)
+?CreateThreadPool@THREAD_POOL@@SAHPEAPEAV1@PEAUTHREAD_POOL_CONFIG@@@Z
+; public: void __cdecl THREAD_POOL::GetStats(unsigned long * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetStats@THREAD_POOL@@QEAAXPEAK00@Z
+; public: int __cdecl THREAD_POOL::PostCompletion(unsigned long,void (__cdecl*)(unsigned long,unsigned long,struct _OVERLAPPED * __ptr64),struct _OVERLAPPED * __ptr64) __ptr64
+?PostCompletion@THREAD_POOL@@QEAAHKP6AXKKPEAU_OVERLAPPED@@@Z0@Z
+; public: unsigned __int64 __cdecl THREAD_POOL::SetInfo(enum THREAD_POOL_INFO,unsigned __int64) __ptr64
+?SetInfo@THREAD_POOL@@QEAA_KW4THREAD_POOL_INFO@@_K@Z
+; public: void __cdecl THREAD_POOL::TerminateThreadPool(void) __ptr64
+?TerminateThreadPool@THREAD_POOL@@QEAAXXZ
+ThreadPoolBindIoCompletionCallback
+ThreadPoolGetStats
+ThreadPoolInitialize
+ThreadPoolPostCompletion
+ThreadPoolSetInfo
+ThreadPoolTerminate
+DllMain
diff --git a/mingw-w64-crt/lib64/wADROT.def b/mingw-w64-crt/lib64/wADROT.def
index 000543b..47fce9a 100644
--- a/mingw-w64-crt/lib64/wADROT.def
+++ b/mingw-w64-crt/lib64/wADROT.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AdRot.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AdRot.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AdRot.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AdRot.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wAcLayers.def b/mingw-w64-crt/lib64/wAcLayers.def
index df8a899..97bbbd9 100644
--- a/mingw-w64-crt/lib64/wAcLayers.def
+++ b/mingw-w64-crt/lib64/wAcLayers.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file NULL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NULL.dll
-EXPORTS
-GetHookAPIs
-NotifyShims
+; 
+; Exports of file NULL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NULL.dll
+EXPORTS
+GetHookAPIs
+NotifyShims
diff --git a/mingw-w64-crt/lib64/wAcLua.def b/mingw-w64-crt/lib64/wAcLua.def
index e951a21..832108d 100644
--- a/mingw-w64-crt/lib64/wAcLua.def
+++ b/mingw-w64-crt/lib64/wAcLua.def
@@ -1,70 +1,70 @@
-; 
-; Exports of file NULL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NULL.dll
-EXPORTS
-GetHookAPIs
-LuacRegOpenKeyW
-NotifyShims
-LuaCopyFileW
-LuaCreateDirectoryW
-LuaCreateFileW
-LuaDeleteFileW
-LuaFSInit
-LuaGetFileAttributesW
-LuaGetPrivateProfileIntW
-LuaGetPrivateProfileSectionW
-LuaGetPrivateProfileStringW
-LuaGetPrivateProfileStructW
-LuaGetTempFileNameW
-LuaMoveFileW
-LuaRegCloseKey
-LuaRegCreateKeyExW
-LuaRegCreateKeyW
-LuaRegDeleteKeyW
-LuaRegEnumKeyExW
-LuaRegEnumKeyW
-LuaRegEnumValueW
-LuaRegInit
-LuaRegOpenKeyExW
-LuaRegOpenKeyW
-LuaRegQueryValueExW
-LuaRegQueryValueW
-LuaRegSetValueExW
-LuaRegSetValueW
-LuaRemoveDirectoryW
-LuaSetFileAttributesW
-LuaShouldApplyShim
-LuaWritePrivateProfileSectionW
-LuaWritePrivateProfileStringW
-LuaWritePrivateProfileStructW
-LuacCreateFileW
-LuacDeleteFileW
-LuacFSCleanup
-LuacFSInit
-LuacFindFirstFileW
-LuacGetFileAttributesW
-LuacRegCleanup
-LuacRegCloseKey
-LuacRegDeleteKeyW
-LuacRegEnumKeyExW
-LuacRegEnumKeyW
-LuacRegInit
-LuacRegOpenKeyExW
-LuacRemoveDirectoryW
-LuatCopyFileW
-LuatCreateDirectoryW
-LuatCreateFileW
-LuatDeleteFileW
-LuatFSCleanup
-LuatFSInit
-LuatGetTempFileNameW
-LuatMoveFileW
-LuatRemoveDirectoryW
-LuatSetFileAttributesW
-LuatWritePrivateProfileSectionW
-LuatWritePrivateProfileStringW
-LuatWritePrivateProfileStructW
+; 
+; Exports of file NULL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NULL.dll
+EXPORTS
+GetHookAPIs
+LuacRegOpenKeyW
+NotifyShims
+LuaCopyFileW
+LuaCreateDirectoryW
+LuaCreateFileW
+LuaDeleteFileW
+LuaFSInit
+LuaGetFileAttributesW
+LuaGetPrivateProfileIntW
+LuaGetPrivateProfileSectionW
+LuaGetPrivateProfileStringW
+LuaGetPrivateProfileStructW
+LuaGetTempFileNameW
+LuaMoveFileW
+LuaRegCloseKey
+LuaRegCreateKeyExW
+LuaRegCreateKeyW
+LuaRegDeleteKeyW
+LuaRegEnumKeyExW
+LuaRegEnumKeyW
+LuaRegEnumValueW
+LuaRegInit
+LuaRegOpenKeyExW
+LuaRegOpenKeyW
+LuaRegQueryValueExW
+LuaRegQueryValueW
+LuaRegSetValueExW
+LuaRegSetValueW
+LuaRemoveDirectoryW
+LuaSetFileAttributesW
+LuaShouldApplyShim
+LuaWritePrivateProfileSectionW
+LuaWritePrivateProfileStringW
+LuaWritePrivateProfileStructW
+LuacCreateFileW
+LuacDeleteFileW
+LuacFSCleanup
+LuacFSInit
+LuacFindFirstFileW
+LuacGetFileAttributesW
+LuacRegCleanup
+LuacRegCloseKey
+LuacRegDeleteKeyW
+LuacRegEnumKeyExW
+LuacRegEnumKeyW
+LuacRegInit
+LuacRegOpenKeyExW
+LuacRemoveDirectoryW
+LuatCopyFileW
+LuatCreateDirectoryW
+LuatCreateFileW
+LuatDeleteFileW
+LuatFSCleanup
+LuatFSInit
+LuatGetTempFileNameW
+LuatMoveFileW
+LuatRemoveDirectoryW
+LuatSetFileAttributesW
+LuatWritePrivateProfileSectionW
+LuatWritePrivateProfileStringW
+LuatWritePrivateProfileStructW
diff --git a/mingw-w64-crt/lib64/wAcSpecfc.def b/mingw-w64-crt/lib64/wAcSpecfc.def
index df8a899..97bbbd9 100644
--- a/mingw-w64-crt/lib64/wAcSpecfc.def
+++ b/mingw-w64-crt/lib64/wAcSpecfc.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file NULL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NULL.dll
-EXPORTS
-GetHookAPIs
-NotifyShims
+; 
+; Exports of file NULL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NULL.dll
+EXPORTS
+GetHookAPIs
+NotifyShims
diff --git a/mingw-w64-crt/lib64/wAcXtrnal.def b/mingw-w64-crt/lib64/wAcXtrnal.def
index 3f6f19b..a55b7d8 100644
--- a/mingw-w64-crt/lib64/wAcXtrnal.def
+++ b/mingw-w64-crt/lib64/wAcXtrnal.def
@@ -1,369 +1,369 @@
-; 
-; Exports of file NULL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NULL.dll
-EXPORTS
-GetHookAPIs
-glAccum
-glAlphaFunc
-glAreTexturesResident
-glArrayElement
-glBegin
-glBindTexture
-glBitmap
-glBlendFunc
-glCallList
-glCallLists
-glClear
-glClearAccum
-glClearColor
-glClearDepth
-glClearIndex
-glClearStencil
-glClipPlane
-glColor3b
-glColor3bv
-glColor3d
-glColor3dv
-glColor3f
-glColor3fv
-glColor3i
-glColor3iv
-glColor3s
-glColor3sv
-glColor3ub
-glColor3ubv
-glColor3ui
-glColor3uiv
-glColor3us
-glColor3usv
-glColor4b
-glColor4bv
-glColor4d
-glColor4dv
-glColor4f
-glColor4fv
-glColor4i
-glColor4iv
-glColor4s
-glColor4sv
-glColor4ub
-glColor4ubv
-glColor4ui
-glColor4uiv
-glColor4us
-glColor4usv
-glColorMask
-glColorMaterial
-glColorPointer
-glCopyPixels
-glCopyTexImage1D
-glCopyTexImage2D
-glCopyTexSubImage1D
-glCopyTexSubImage2D
-glCullFace
-glDeleteLists
-glDeleteTextures
-glDepthFunc
-glDepthMask
-glDepthRange
-glDisable
-glDisableClientState
-glDrawArrays
-glDrawBuffer
-glDrawElements
-glDrawPixels
-glEdgeFlag
-glEdgeFlagPointer
-glEdgeFlagv
-glEnable
-glEnableClientState
-glEnd
-glEndList
-glEvalCoord1d
-glEvalCoord1dv
-glEvalCoord1f
-glEvalCoord1fv
-glEvalCoord2d
-glEvalCoord2dv
-glEvalCoord2f
-glEvalCoord2fv
-glEvalMesh1
-glEvalMesh2
-glEvalPoint1
-glEvalPoint2
-glFeedbackBuffer
-glFinish
-glFlush
-glFogf
-glFogfv
-glFogi
-glFogiv
-glFrontFace
-glFrustum
-glGenLists
-glGenTextures
-glGetBooleanv
-glGetClipPlane
-glGetDoublev
-glGetError
-glGetFloatv
-glGetIntegerv
-glGetLightfv
-glGetLightiv
-glGetMapdv
-glGetMapfv
-glGetMapiv
-glGetMaterialfv
-glGetMaterialiv
-glGetPixelMapfv
-glGetPixelMapuiv
-glGetPixelMapusv
-glGetPointerv
-glGetPolygonStipple
-glGetString
-glGetTexEnvfv
-glGetTexEnviv
-glGetTexGendv
-glGetTexGenfv
-glGetTexGeniv
-glGetTexImage
-glGetTexLevelParameterfv
-glGetTexLevelParameteriv
-glGetTexParameterfv
-glGetTexParameteriv
-glHint
-glIndexMask
-glIndexPointer
-glIndexd
-glIndexdv
-glIndexf
-glIndexfv
-glIndexi
-glIndexiv
-glIndexs
-glIndexsv
-glIndexub
-glIndexubv
-glInitNames
-glInterleavedArrays
-glIsEnabled
-glIsList
-glIsTexture
-glLightModelf
-glLightModelfv
-glLightModeli
-glLightModeliv
-glLightf
-glLightfv
-glLighti
-glLightiv
-glLineStipple
-glLineWidth
-glListBase
-glLoadIdentity
-glLoadMatrixd
-glLoadMatrixf
-glLoadName
-glLogicOp
-glMap1d
-glMap1f
-glMap2d
-glMap2f
-glMapGrid1d
-glMapGrid1f
-glMapGrid2d
-glMapGrid2f
-glMaterialf
-glMaterialfv
-glMateriali
-glMaterialiv
-glMatrixMode
-glMultMatrixd
-glMultMatrixf
-glNewList
-glNormal3b
-glNormal3bv
-glNormal3d
-glNormal3dv
-glNormal3f
-glNormal3fv
-glNormal3i
-glNormal3iv
-glNormal3s
-glNormal3sv
-glNormalPointer
-glOrtho
-glPassThrough
-glPixelMapfv
-glPixelMapuiv
-glPixelMapusv
-glPixelStoref
-glPixelStorei
-glPixelTransferf
-glPixelTransferi
-glPixelZoom
-glPointSize
-glPolygonMode
-glPolygonOffset
-glPolygonStipple
-glPopAttrib
-glPopClientAttrib
-glPopMatrix
-glPopName
-glPrioritizeTextures
-glPushAttrib
-glPushClientAttrib
-glPushMatrix
-glPushName
-glRasterPos2d
-glRasterPos2dv
-glRasterPos2f
-glRasterPos2fv
-glRasterPos2i
-glRasterPos2iv
-glRasterPos2s
-glRasterPos2sv
-glRasterPos3d
-glRasterPos3dv
-glRasterPos3f
-glRasterPos3fv
-glRasterPos3i
-glRasterPos3iv
-glRasterPos3s
-glRasterPos3sv
-glRasterPos4d
-glRasterPos4dv
-glRasterPos4f
-glRasterPos4fv
-glRasterPos4i
-glRasterPos4iv
-glRasterPos4s
-glRasterPos4sv
-glReadBuffer
-glReadPixels
-glRectd
-glRectdv
-glRectf
-glRectfv
-glRecti
-glRectiv
-glRects
-glRectsv
-glRenderMode
-glRotated
-glRotatef
-glScaled
-glScalef
-glScissor
-glSelectBuffer
-glShadeModel
-glStencilFunc
-glStencilMask
-glStencilOp
-glTexCoord1d
-glTexCoord1dv
-glTexCoord1f
-glTexCoord1fv
-glTexCoord1i
-glTexCoord1iv
-glTexCoord1s
-glTexCoord1sv
-glTexCoord2d
-glTexCoord2dv
-glTexCoord2f
-glTexCoord2fv
-glTexCoord2i
-glTexCoord2iv
-glTexCoord2s
-glTexCoord2sv
-glTexCoord3d
-glTexCoord3dv
-glTexCoord3f
-glTexCoord3fv
-glTexCoord3i
-glTexCoord3iv
-glTexCoord3s
-glTexCoord3sv
-glTexCoord4d
-glTexCoord4dv
-glTexCoord4f
-glTexCoord4fv
-glTexCoord4i
-glTexCoord4iv
-glTexCoord4s
-glTexCoord4sv
-glTexCoordPointer
-glTexEnvf
-glTexEnvfv
-glTexEnvi
-glTexEnviv
-glTexGend
-glTexGendv
-glTexGenf
-glTexGenfv
-glTexGeni
-glTexGeniv
-glTexImage1D
-glTexImage2D
-glTexParameterf
-glTexParameterfv
-glTexParameteri
-glTexParameteriv
-glTexSubImage1D
-glTexSubImage2D
-glTranslated
-glTranslatef
-glVertex2d
-glVertex2dv
-glVertex2f
-glVertex2fv
-glVertex2i
-glVertex2iv
-glVertex2s
-glVertex2sv
-glVertex3d
-glVertex3dv
-glVertex3f
-glVertex3fv
-glVertex3i
-glVertex3iv
-glVertex3s
-glVertex3sv
-glVertex4d
-glVertex4dv
-glVertex4f
-glVertex4fv
-glVertex4i
-glVertex4iv
-glVertex4s
-glVertex4sv
-glVertexPointer
-glViewport
-wglChoosePixelFormat
-wglCopyContext
-wglCreateLayerContext
-wglDescribeLayerPlane
-wglDescribePixelFormat
-wglGetDefaultProcAddress
-wglGetLayerPaletteEntries
-wglGetPixelFormat
-wglRealizeLayerPalette
-wglSetLayerPaletteEntries
-wglSetPixelFormat
-wglShareLists
-wglSwapBuffers
-wglSwapLayerBuffers
-wglUseFontBitmapsA
-wglUseFontBitmapsW
-wglUseFontOutlinesA
-wglUseFontOutlinesW
-wglCreateContext
-wglDeleteContext
-wglGetCurrentContext
-wglGetCurrentDC
-wglGetProcAddress
-wglMakeCurrent
+; 
+; Exports of file NULL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NULL.dll
+EXPORTS
+GetHookAPIs
+glAccum
+glAlphaFunc
+glAreTexturesResident
+glArrayElement
+glBegin
+glBindTexture
+glBitmap
+glBlendFunc
+glCallList
+glCallLists
+glClear
+glClearAccum
+glClearColor
+glClearDepth
+glClearIndex
+glClearStencil
+glClipPlane
+glColor3b
+glColor3bv
+glColor3d
+glColor3dv
+glColor3f
+glColor3fv
+glColor3i
+glColor3iv
+glColor3s
+glColor3sv
+glColor3ub
+glColor3ubv
+glColor3ui
+glColor3uiv
+glColor3us
+glColor3usv
+glColor4b
+glColor4bv
+glColor4d
+glColor4dv
+glColor4f
+glColor4fv
+glColor4i
+glColor4iv
+glColor4s
+glColor4sv
+glColor4ub
+glColor4ubv
+glColor4ui
+glColor4uiv
+glColor4us
+glColor4usv
+glColorMask
+glColorMaterial
+glColorPointer
+glCopyPixels
+glCopyTexImage1D
+glCopyTexImage2D
+glCopyTexSubImage1D
+glCopyTexSubImage2D
+glCullFace
+glDeleteLists
+glDeleteTextures
+glDepthFunc
+glDepthMask
+glDepthRange
+glDisable
+glDisableClientState
+glDrawArrays
+glDrawBuffer
+glDrawElements
+glDrawPixels
+glEdgeFlag
+glEdgeFlagPointer
+glEdgeFlagv
+glEnable
+glEnableClientState
+glEnd
+glEndList
+glEvalCoord1d
+glEvalCoord1dv
+glEvalCoord1f
+glEvalCoord1fv
+glEvalCoord2d
+glEvalCoord2dv
+glEvalCoord2f
+glEvalCoord2fv
+glEvalMesh1
+glEvalMesh2
+glEvalPoint1
+glEvalPoint2
+glFeedbackBuffer
+glFinish
+glFlush
+glFogf
+glFogfv
+glFogi
+glFogiv
+glFrontFace
+glFrustum
+glGenLists
+glGenTextures
+glGetBooleanv
+glGetClipPlane
+glGetDoublev
+glGetError
+glGetFloatv
+glGetIntegerv
+glGetLightfv
+glGetLightiv
+glGetMapdv
+glGetMapfv
+glGetMapiv
+glGetMaterialfv
+glGetMaterialiv
+glGetPixelMapfv
+glGetPixelMapuiv
+glGetPixelMapusv
+glGetPointerv
+glGetPolygonStipple
+glGetString
+glGetTexEnvfv
+glGetTexEnviv
+glGetTexGendv
+glGetTexGenfv
+glGetTexGeniv
+glGetTexImage
+glGetTexLevelParameterfv
+glGetTexLevelParameteriv
+glGetTexParameterfv
+glGetTexParameteriv
+glHint
+glIndexMask
+glIndexPointer
+glIndexd
+glIndexdv
+glIndexf
+glIndexfv
+glIndexi
+glIndexiv
+glIndexs
+glIndexsv
+glIndexub
+glIndexubv
+glInitNames
+glInterleavedArrays
+glIsEnabled
+glIsList
+glIsTexture
+glLightModelf
+glLightModelfv
+glLightModeli
+glLightModeliv
+glLightf
+glLightfv
+glLighti
+glLightiv
+glLineStipple
+glLineWidth
+glListBase
+glLoadIdentity
+glLoadMatrixd
+glLoadMatrixf
+glLoadName
+glLogicOp
+glMap1d
+glMap1f
+glMap2d
+glMap2f
+glMapGrid1d
+glMapGrid1f
+glMapGrid2d
+glMapGrid2f
+glMaterialf
+glMaterialfv
+glMateriali
+glMaterialiv
+glMatrixMode
+glMultMatrixd
+glMultMatrixf
+glNewList
+glNormal3b
+glNormal3bv
+glNormal3d
+glNormal3dv
+glNormal3f
+glNormal3fv
+glNormal3i
+glNormal3iv
+glNormal3s
+glNormal3sv
+glNormalPointer
+glOrtho
+glPassThrough
+glPixelMapfv
+glPixelMapuiv
+glPixelMapusv
+glPixelStoref
+glPixelStorei
+glPixelTransferf
+glPixelTransferi
+glPixelZoom
+glPointSize
+glPolygonMode
+glPolygonOffset
+glPolygonStipple
+glPopAttrib
+glPopClientAttrib
+glPopMatrix
+glPopName
+glPrioritizeTextures
+glPushAttrib
+glPushClientAttrib
+glPushMatrix
+glPushName
+glRasterPos2d
+glRasterPos2dv
+glRasterPos2f
+glRasterPos2fv
+glRasterPos2i
+glRasterPos2iv
+glRasterPos2s
+glRasterPos2sv
+glRasterPos3d
+glRasterPos3dv
+glRasterPos3f
+glRasterPos3fv
+glRasterPos3i
+glRasterPos3iv
+glRasterPos3s
+glRasterPos3sv
+glRasterPos4d
+glRasterPos4dv
+glRasterPos4f
+glRasterPos4fv
+glRasterPos4i
+glRasterPos4iv
+glRasterPos4s
+glRasterPos4sv
+glReadBuffer
+glReadPixels
+glRectd
+glRectdv
+glRectf
+glRectfv
+glRecti
+glRectiv
+glRects
+glRectsv
+glRenderMode
+glRotated
+glRotatef
+glScaled
+glScalef
+glScissor
+glSelectBuffer
+glShadeModel
+glStencilFunc
+glStencilMask
+glStencilOp
+glTexCoord1d
+glTexCoord1dv
+glTexCoord1f
+glTexCoord1fv
+glTexCoord1i
+glTexCoord1iv
+glTexCoord1s
+glTexCoord1sv
+glTexCoord2d
+glTexCoord2dv
+glTexCoord2f
+glTexCoord2fv
+glTexCoord2i
+glTexCoord2iv
+glTexCoord2s
+glTexCoord2sv
+glTexCoord3d
+glTexCoord3dv
+glTexCoord3f
+glTexCoord3fv
+glTexCoord3i
+glTexCoord3iv
+glTexCoord3s
+glTexCoord3sv
+glTexCoord4d
+glTexCoord4dv
+glTexCoord4f
+glTexCoord4fv
+glTexCoord4i
+glTexCoord4iv
+glTexCoord4s
+glTexCoord4sv
+glTexCoordPointer
+glTexEnvf
+glTexEnvfv
+glTexEnvi
+glTexEnviv
+glTexGend
+glTexGendv
+glTexGenf
+glTexGenfv
+glTexGeni
+glTexGeniv
+glTexImage1D
+glTexImage2D
+glTexParameterf
+glTexParameterfv
+glTexParameteri
+glTexParameteriv
+glTexSubImage1D
+glTexSubImage2D
+glTranslated
+glTranslatef
+glVertex2d
+glVertex2dv
+glVertex2f
+glVertex2fv
+glVertex2i
+glVertex2iv
+glVertex2s
+glVertex2sv
+glVertex3d
+glVertex3dv
+glVertex3f
+glVertex3fv
+glVertex3i
+glVertex3iv
+glVertex3s
+glVertex3sv
+glVertex4d
+glVertex4dv
+glVertex4f
+glVertex4fv
+glVertex4i
+glVertex4iv
+glVertex4s
+glVertex4sv
+glVertexPointer
+glViewport
+wglChoosePixelFormat
+wglCopyContext
+wglCreateLayerContext
+wglDescribeLayerPlane
+wglDescribePixelFormat
+wglGetDefaultProcAddress
+wglGetLayerPaletteEntries
+wglGetPixelFormat
+wglRealizeLayerPalette
+wglSetLayerPaletteEntries
+wglSetPixelFormat
+wglShareLists
+wglSwapBuffers
+wglSwapLayerBuffers
+wglUseFontBitmapsA
+wglUseFontBitmapsW
+wglUseFontOutlinesA
+wglUseFontOutlinesW
+wglCreateContext
+wglDeleteContext
+wglGetCurrentContext
+wglGetCurrentDC
+wglGetProcAddress
+wglMakeCurrent
diff --git a/mingw-w64-crt/lib64/wCHTSKDIC.def b/mingw-w64-crt/lib64/wCHTSKDIC.def
index 06ab0c3..6ad133d 100644
--- a/mingw-w64-crt/lib64/wCHTSKDIC.def
+++ b/mingw-w64-crt/lib64/wCHTSKDIC.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file imeskdic.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imeskdic.dll
-EXPORTS
-CreateIImeSkdicInstance
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file imeskdic.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imeskdic.dll
+EXPORTS
+CreateIImeSkdicInstance
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wCHTSKF.def b/mingw-w64-crt/lib64/wCHTSKF.def
index ff61143..1b55473 100644
--- a/mingw-w64-crt/lib64/wCHTSKF.def
+++ b/mingw-w64-crt/lib64/wCHTSKF.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file main.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY main.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file main.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY main.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wCINTIME.def b/mingw-w64-crt/lib64/wCINTIME.def
index 8253a9b..cfd9d7f 100644
--- a/mingw-w64-crt/lib64/wCINTIME.def
+++ b/mingw-w64-crt/lib64/wCINTIME.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file CINTIME.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CINTIME.DLL
-EXPORTS
-UniCreateInstLInstance
+; 
+; Exports of file CINTIME.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CINTIME.DLL
+EXPORTS
+UniCreateInstLInstance
diff --git a/mingw-w64-crt/lib64/wCmnclim.def b/mingw-w64-crt/lib64/wCmnclim.def
index 1f37909..5de22ed 100644
--- a/mingw-w64-crt/lib64/wCmnclim.def
+++ b/mingw-w64-crt/lib64/wCmnclim.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ZoneClientM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ZoneClientM.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file ZoneClientM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ZoneClientM.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wContRot.def b/mingw-w64-crt/lib64/wContRot.def
index 5e8f676..37fbaa9 100644
--- a/mingw-w64-crt/lib64/wContRot.def
+++ b/mingw-w64-crt/lib64/wContRot.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CONTROT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CONTROT.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CONTROT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CONTROT.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wHMMAPI.def b/mingw-w64-crt/lib64/wHMMAPI.def
index ed5a1f5..dd84d8c 100644
--- a/mingw-w64-crt/lib64/wHMMAPI.def
+++ b/mingw-w64-crt/lib64/wHMMAPI.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file HMMAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HMMAPI.dll
-EXPORTS
-MAPIFreeBuffer
-DllRegisterServer
-DllUnregisterServer
-MAPISendDocuments
-MAPILogon
-MAPILogoff
-MAPISendMail
-MAPISaveMail
-MAPIReadMail
-MAPIFindNext
-MAPIDeleteMail
-MAPIAddress
-MAPIDetails
-MAPIResolveName
-BMAPISendMail
-BMAPISaveMail
-BMAPIReadMail
-BMAPIGetReadMail
-BMAPIFindNext
-BMAPIAddress
-BMAPIGetAddress
-BMAPIDetails
-BMAPIResolveName
-MailToProtocolHandler
-OpenInboxHandler
-AddService
-RemoveService
+; 
+; Exports of file HMMAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HMMAPI.dll
+EXPORTS
+MAPIFreeBuffer
+DllRegisterServer
+DllUnregisterServer
+MAPISendDocuments
+MAPILogon
+MAPILogoff
+MAPISendMail
+MAPISaveMail
+MAPIReadMail
+MAPIFindNext
+MAPIDeleteMail
+MAPIAddress
+MAPIDetails
+MAPIResolveName
+BMAPISendMail
+BMAPISaveMail
+BMAPIReadMail
+BMAPIGetReadMail
+BMAPIFindNext
+BMAPIAddress
+BMAPIGetAddress
+BMAPIDetails
+BMAPIResolveName
+MailToProtocolHandler
+OpenInboxHandler
+AddService
+RemoveService
diff --git a/mingw-w64-crt/lib64/wKBDAL.def b/mingw-w64-crt/lib64/wKBDAL.def
index ccae5bc..e12fbb0 100644
--- a/mingw-w64-crt/lib64/wKBDAL.def
+++ b/mingw-w64-crt/lib64/wKBDAL.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDAL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDAL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDAL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDAL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wMSCTF.def b/mingw-w64-crt/lib64/wMSCTF.def
index 71783dd..7f5ce6b 100644
--- a/mingw-w64-crt/lib64/wMSCTF.def
+++ b/mingw-w64-crt/lib64/wMSCTF.def
@@ -1,47 +1,47 @@
-; 
-; Exports of file MSCTF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSCTF.dll
-EXPORTS
-TF_GetLangIcon
-TF_GetMlngHKL
-TF_GetMlngIconIndex
-TF_GetThreadFlags
-TF_InatExtractIcon
-TF_InitMlngInfo
-TF_IsInMarshaling
-TF_MlngInfoCount
-TF_RunInputCPL
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-SetInputScope
-SetInputScopeXML
-SetInputScopes
-TF_CUASAppFix
-TF_CheckThreadInputIdle
-TF_ClearLangBarAddIns
-TF_CreateCategoryMgr
-TF_CreateCicLoadMutex
-TF_CreateDisplayAttributeMgr
-TF_CreateInputProcessorProfiles
-TF_CreateLangBarItemMgr
-TF_CreateLangBarMgr
-TF_CreateThreadMgr
-TF_DllDetachInOther
-TF_GetGlobalCompartment
-TF_GetInputScope
-TF_GetThreadMgr
-TF_InitSystem
-TF_InvalidAssemblyListCache
-TF_InvalidAssemblyListCacheIfExist
-TF_IsCtfmonRunning
-TF_IsFullScreenWindowAcitvated
-TF_PostAllThreadMsg
-TF_RegisterLangBarAddIn
-TF_UninitSystem
-TF_UnregisterLangBarAddIn
+; 
+; Exports of file MSCTF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSCTF.dll
+EXPORTS
+TF_GetLangIcon
+TF_GetMlngHKL
+TF_GetMlngIconIndex
+TF_GetThreadFlags
+TF_InatExtractIcon
+TF_InitMlngInfo
+TF_IsInMarshaling
+TF_MlngInfoCount
+TF_RunInputCPL
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+SetInputScope
+SetInputScopeXML
+SetInputScopes
+TF_CUASAppFix
+TF_CheckThreadInputIdle
+TF_ClearLangBarAddIns
+TF_CreateCategoryMgr
+TF_CreateCicLoadMutex
+TF_CreateDisplayAttributeMgr
+TF_CreateInputProcessorProfiles
+TF_CreateLangBarItemMgr
+TF_CreateLangBarMgr
+TF_CreateThreadMgr
+TF_DllDetachInOther
+TF_GetGlobalCompartment
+TF_GetInputScope
+TF_GetThreadMgr
+TF_InitSystem
+TF_InvalidAssemblyListCache
+TF_InvalidAssemblyListCacheIfExist
+TF_IsCtfmonRunning
+TF_IsFullScreenWindowAcitvated
+TF_PostAllThreadMsg
+TF_RegisterLangBarAddIn
+TF_UninitSystem
+TF_UnregisterLangBarAddIn
diff --git a/mingw-w64-crt/lib64/wMSCTFP.def b/mingw-w64-crt/lib64/wMSCTFP.def
index 01ec734..a37750e 100644
--- a/mingw-w64-crt/lib64/wMSCTFP.def
+++ b/mingw-w64-crt/lib64/wMSCTFP.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSCTFP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSCTFP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file MSCTFP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSCTFP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/wMSIMTF.def b/mingw-w64-crt/lib64/wMSIMTF.def
index 312eec3..d92915b 100644
--- a/mingw-w64-crt/lib64/wMSIMTF.def
+++ b/mingw-w64-crt/lib64/wMSIMTF.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file msimtf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msimtf.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-MsimtfIsGuidMapEnable
-MsimtfIsWindowFiltered
+; 
+; Exports of file msimtf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msimtf.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+MsimtfIsGuidMapEnable
+MsimtfIsWindowFiltered
diff --git a/mingw-w64-crt/lib64/wNEXTLINK.def b/mingw-w64-crt/lib64/wNEXTLINK.def
index 67957ca..9c6b40c 100644
--- a/mingw-w64-crt/lib64/wNEXTLINK.def
+++ b/mingw-w64-crt/lib64/wNEXTLINK.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NextLink.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NextLink.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NextLink.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NextLink.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wPADRS404.def b/mingw-w64-crt/lib64/wPADRS404.def
index 3033285..68bd4b5 100644
--- a/mingw-w64-crt/lib64/wPADRS404.def
+++ b/mingw-w64-crt/lib64/wPADRS404.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file resmain.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY resmain.dll
-EXPORTS
-PadHelp_HandleContextPopup
-PadHelp_HandleHelp
+; 
+; Exports of file resmain.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY resmain.dll
+EXPORTS
+PadHelp_HandleContextPopup
+PadHelp_HandleHelp
diff --git a/mingw-w64-crt/lib64/wPINTLCSA.def b/mingw-w64-crt/lib64/wPINTLCSA.def
index d28b95e..8bed44e 100644
--- a/mingw-w64-crt/lib64/wPINTLCSA.def
+++ b/mingw-w64-crt/lib64/wPINTLCSA.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IMESKF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IMESKF.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IMESKF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IMESKF.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wPINTLCSD.def b/mingw-w64-crt/lib64/wPINTLCSD.def
index b186da3..19e60b6 100644
--- a/mingw-w64-crt/lib64/wPINTLCSD.def
+++ b/mingw-w64-crt/lib64/wPINTLCSD.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file IMESKDic.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IMESKDic.dll
-EXPORTS
-CreateIImeSkdicInstance
+; 
+; Exports of file IMESKDic.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IMESKDic.dll
+EXPORTS
+CreateIImeSkdicInstance
diff --git a/mingw-w64-crt/lib64/waaaamon.def b/mingw-w64-crt/lib64/waaaamon.def
index f850336..0daad50 100644
--- a/mingw-w64-crt/lib64/waaaamon.def
+++ b/mingw-w64-crt/lib64/waaaamon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file AAAAMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AAAAMON.dll
-EXPORTS
-InitHelperDll
+; 
+; Exports of file AAAAMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AAAAMON.dll
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/wab32.def b/mingw-w64-crt/lib64/wab32.def
index c777f0e..f73fda1 100644
--- a/mingw-w64-crt/lib64/wab32.def
+++ b/mingw-w64-crt/lib64/wab32.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file WAB32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WAB32.dll
-EXPORTS
-WABOpen
-WABCreateIProp
-WABOpenEx
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WAB32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WAB32.dll
+EXPORTS
+WABOpen
+WABCreateIProp
+WABOpenEx
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wabfind.def b/mingw-w64-crt/lib64/wabfind.def
index 7d94b0c..485ff38 100644
--- a/mingw-w64-crt/lib64/wabfind.def
+++ b/mingw-w64-crt/lib64/wabfind.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WABFIND.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WABFIND.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WABFIND.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WABFIND.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wabimp.def b/mingw-w64-crt/lib64/wabimp.def
index 182a147..0698a63 100644
--- a/mingw-w64-crt/lib64/wabimp.def
+++ b/mingw-w64-crt/lib64/wabimp.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file WABIMP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WABIMP.dll
-EXPORTS
-NetscapeImport
-NetscapeExport
-EudoraImport
-EudoraExport
-Athena16Import
-Athena16Export
-PABImport
-PABExport
-CSVImport
-CSVExport
-LDIFImport
-MessengerImport
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WABIMP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WABIMP.dll
+EXPORTS
+NetscapeImport
+NetscapeExport
+EudoraImport
+EudoraExport
+Athena16Import
+Athena16Export
+PABImport
+PABExport
+CSVImport
+CSVExport
+LDIFImport
+MessengerImport
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wacledit.def b/mingw-w64-crt/lib64/wacledit.def
index fa3e180..da55b74 100644
--- a/mingw-w64-crt/lib64/wacledit.def
+++ b/mingw-w64-crt/lib64/wacledit.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file ACLEDIT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ACLEDIT.dll
-EXPORTS
-EditAuditInfo
-EditOwnerInfo
-EditPermissionInfo
-DllMain
-FMExtensionProcW
-SedDiscretionaryAclEditor
-SedSystemAclEditor
-SedTakeOwnership
+; 
+; Exports of file ACLEDIT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ACLEDIT.dll
+EXPORTS
+EditAuditInfo
+EditOwnerInfo
+EditPermissionInfo
+DllMain
+FMExtensionProcW
+SedDiscretionaryAclEditor
+SedSystemAclEditor
+SedTakeOwnership
diff --git a/mingw-w64-crt/lib64/waclui.def b/mingw-w64-crt/lib64/waclui.def
index 32b577b..41468b7 100644
--- a/mingw-w64-crt/lib64/waclui.def
+++ b/mingw-w64-crt/lib64/waclui.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file ACLUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ACLUI.dll
-EXPORTS
-CreateSecurityPage
-EditSecurity
-IID_ISecurityInformation
+; 
+; Exports of file ACLUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ACLUI.dll
+EXPORTS
+CreateSecurityPage
+EditSecurity
+IID_ISecurityInformation
diff --git a/mingw-w64-crt/lib64/wactiveds.def b/mingw-w64-crt/lib64/wactiveds.def
index a1e8866..a0a2c72 100644
--- a/mingw-w64-crt/lib64/wactiveds.def
+++ b/mingw-w64-crt/lib64/wactiveds.def
@@ -1,39 +1,39 @@
-; 
-; Exports of file ACTIVEDS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ACTIVEDS.dll
-EXPORTS
-ADsGetObject
-ADsBuildEnumerator
-ADsFreeEnumerator
-ADsEnumerateNext
-ADsBuildVarArrayStr
-ADsBuildVarArrayInt
-ADsOpenObject
-DllCanUnloadNow
-DllGetClassObject
-ADsSetLastError
-ADsGetLastError
-AllocADsMem
-FreeADsMem
-ReallocADsMem
-AllocADsStr
-FreeADsStr
-ReallocADsStr
-ADsEncodeBinaryData
-PropVariantToAdsType
-AdsTypeToPropVariant
-AdsFreeAdsValues
-ADsDecodeBinaryData
-AdsTypeToPropVariant2
-PropVariantToAdsType2
-ConvertSecDescriptorToVariant
-ConvertSecurityDescriptorToSecDes
-BinarySDToSecurityDescriptor
-SecurityDescriptorToBinarySD
-ConvertTrusteeToSid
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ACTIVEDS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ACTIVEDS.dll
+EXPORTS
+ADsGetObject
+ADsBuildEnumerator
+ADsFreeEnumerator
+ADsEnumerateNext
+ADsBuildVarArrayStr
+ADsBuildVarArrayInt
+ADsOpenObject
+DllCanUnloadNow
+DllGetClassObject
+ADsSetLastError
+ADsGetLastError
+AllocADsMem
+FreeADsMem
+ReallocADsMem
+AllocADsStr
+FreeADsStr
+ReallocADsStr
+ADsEncodeBinaryData
+PropVariantToAdsType
+AdsTypeToPropVariant
+AdsFreeAdsValues
+ADsDecodeBinaryData
+AdsTypeToPropVariant2
+PropVariantToAdsType2
+ConvertSecDescriptorToVariant
+ConvertSecurityDescriptorToSecDes
+BinarySDToSecurityDescriptor
+SecurityDescriptorToBinarySD
+ConvertTrusteeToSid
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wactxprxy.def b/mingw-w64-crt/lib64/wactxprxy.def
index 7219c0e..5f0e36c 100644
--- a/mingw-w64-crt/lib64/wactxprxy.def
+++ b/mingw-w64-crt/lib64/wactxprxy.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file SWEEPRX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SWEEPRX.dll
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SWEEPRX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SWEEPRX.dll
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wacwow64.def b/mingw-w64-crt/lib64/wacwow64.def
index df8a899..97bbbd9 100644
--- a/mingw-w64-crt/lib64/wacwow64.def
+++ b/mingw-w64-crt/lib64/wacwow64.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file NULL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NULL.dll
-EXPORTS
-GetHookAPIs
-NotifyShims
+; 
+; Exports of file NULL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NULL.dll
+EXPORTS
+GetHookAPIs
+NotifyShims
diff --git a/mingw-w64-crt/lib64/wadmparse.def b/mingw-w64-crt/lib64/wadmparse.def
index d0726e6..ea0cc84 100644
--- a/mingw-w64-crt/lib64/wadmparse.def
+++ b/mingw-w64-crt/lib64/wadmparse.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file admparse.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY admparse.dll
-EXPORTS
-DllMain
-IsAdmDirty
-ResetAdmDirtyFlag
-AdmClose
-AdmFinishedA
-AdmFinishedW
-AdmInitA
-AdmInitW
-AdmResetA
-AdmResetW
-AdmSaveData
-CheckDuplicateKeysA
-CheckDuplicateKeysW
-CreateAdmUiA
-CreateAdmUiW
-GetAdmCategoriesA
-GetAdmCategoriesW
-GetFontInfoA
-GetFontInfoW
+; 
+; Exports of file admparse.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY admparse.dll
+EXPORTS
+DllMain
+IsAdmDirty
+ResetAdmDirtyFlag
+AdmClose
+AdmFinishedA
+AdmFinishedW
+AdmInitA
+AdmInitW
+AdmResetA
+AdmResetW
+AdmSaveData
+CheckDuplicateKeysA
+CheckDuplicateKeysW
+CreateAdmUiA
+CreateAdmUiW
+GetAdmCategoriesA
+GetAdmCategoriesW
+GetFontInfoA
+GetFontInfoW
diff --git a/mingw-w64-crt/lib64/wadmwprx.def b/mingw-w64-crt/lib64/wadmwprx.def
index 08eee3d..390b043 100644
--- a/mingw-w64-crt/lib64/wadmwprx.def
+++ b/mingw-w64-crt/lib64/wadmwprx.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ADMWPROX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADMWPROX.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-ReleaseObjectSecurityContextW
+; 
+; Exports of file ADMWPROX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADMWPROX.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+ReleaseObjectSecurityContextW
diff --git a/mingw-w64-crt/lib64/wadptif.def b/mingw-w64-crt/lib64/wadptif.def
index 5ddcb4e..db0b9ca 100644
--- a/mingw-w64-crt/lib64/wadptif.def
+++ b/mingw-w64-crt/lib64/wadptif.def
@@ -1,48 +1,48 @@
-; 
-; Exports of file adptif.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY adptif.dll
-EXPORTS
-CreateSocketPort
-DeleteSocketPort
-FwBindFwInterfaceToAdapter
-FwConnectionRequestFailed
-FwCreateInterface
-FwDeleteInterface
-FwDisableFwInterface
-FwEnableFwInterface
-FwGetInterface
-FwGetNotificationResult
-FwGetStaticNetbiosNames
-FwIsStarted
-FwNotifyConnectionRequest
-FwSetInterface
-FwSetStaticNetbiosNames
-FwStart
-FwStop
-FwUnbindFwInterfaceFromAdapter
-FwUpdateConfig
-FwUpdateRouteTable
-GetAdapterNameFromMacAddrW
-GetAdapterNameW
-GetFilters
-IpxAdjustIoCompletionParams
-IpxCreateAdapterConfigurationPort
-IpxDeleteAdapterConfigurationPort
-IpxDoesRouteExist
-IpxGetAdapterConfig
-IpxGetAdapterList
-IpxGetOverlappedResult
-IpxGetQueuedAdapterConfigurationStatus
-IpxGetQueuedCompletionStatus
-IpxPostQueuedCompletionStatus
-IpxRecvPacket
-IpxSendPacket
-IpxWanCreateAdapterConfigurationPort
-IpxWanQueryInactivityTimer
-IpxWanSetAdapterConfiguration
-ServiceMain
-SetFilters
+; 
+; Exports of file adptif.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY adptif.dll
+EXPORTS
+CreateSocketPort
+DeleteSocketPort
+FwBindFwInterfaceToAdapter
+FwConnectionRequestFailed
+FwCreateInterface
+FwDeleteInterface
+FwDisableFwInterface
+FwEnableFwInterface
+FwGetInterface
+FwGetNotificationResult
+FwGetStaticNetbiosNames
+FwIsStarted
+FwNotifyConnectionRequest
+FwSetInterface
+FwSetStaticNetbiosNames
+FwStart
+FwStop
+FwUnbindFwInterfaceFromAdapter
+FwUpdateConfig
+FwUpdateRouteTable
+GetAdapterNameFromMacAddrW
+GetAdapterNameW
+GetFilters
+IpxAdjustIoCompletionParams
+IpxCreateAdapterConfigurationPort
+IpxDeleteAdapterConfigurationPort
+IpxDoesRouteExist
+IpxGetAdapterConfig
+IpxGetAdapterList
+IpxGetOverlappedResult
+IpxGetQueuedAdapterConfigurationStatus
+IpxGetQueuedCompletionStatus
+IpxPostQueuedCompletionStatus
+IpxRecvPacket
+IpxSendPacket
+IpxWanCreateAdapterConfigurationPort
+IpxWanQueryInactivityTimer
+IpxWanSetAdapterConfiguration
+ServiceMain
+SetFilters
diff --git a/mingw-w64-crt/lib64/wadsiis.def b/mingw-w64-crt/lib64/wadsiis.def
index 9c91df5..62fc625 100644
--- a/mingw-w64-crt/lib64/wadsiis.def
+++ b/mingw-w64-crt/lib64/wadsiis.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ADSIIS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADSIIS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ADSIIS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADSIIS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wadsldp.def b/mingw-w64-crt/lib64/wadsldp.def
index f84e448..3454059 100644
--- a/mingw-w64-crt/lib64/wadsldp.def
+++ b/mingw-w64-crt/lib64/wadsldp.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file adsldp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY adsldp.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file adsldp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY adsldp.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wadsldpc.def b/mingw-w64-crt/lib64/wadsldpc.def
index 00b9fe6..5715c56 100644
--- a/mingw-w64-crt/lib64/wadsldpc.def
+++ b/mingw-w64-crt/lib64/wadsldpc.def
@@ -1,188 +1,188 @@
-; 
-; Exports of file adsldpc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY adsldpc.dll
-EXPORTS
-; public: __thiscall CLexer::CLexer(void)
-??0CLexer@@QAE@XZ
-; public: __thiscall CLexer::~CLexer(void)
-??1CLexer@@QAE@XZ
-ADsAbandonSearch
-ADsCloseSearchHandle
-ADsCreateAttributeDefinition
-ADsCreateClassDefinition
-ADsCreateDSObject
-ADsCreateDSObjectExt
-ADsDeleteAttributeDefinition
-ADsDeleteClassDefinition
-ADsDeleteDSObject
-ADsEnumAttributes
-ADsEnumClasses
-ADsExecuteSearch
-ADsFreeColumn
-ADsGetColumn
-ADsGetFirstRow
-ADsGetNextColumnName
-ADsGetNextRow
-ADsGetObjectAttributes
-ADsGetPreviousRow
-ADsHelperGetCurrentRowMessage
-ADsObject
-ADsSetObjectAttributes
-ADsSetSearchPreference
-ADsWriteAttributeDefinition
-ADsWriteClassDefinition
-AdsTypeToLdapTypeCopyConstruct
-AdsTypeToLdapTypeCopyDNWithBinary
-AdsTypeToLdapTypeCopyDNWithString
-AdsTypeToLdapTypeCopyGeneralizedTime
-AdsTypeToLdapTypeCopyTime
-BerBvFree
-BerEncodingQuotaControl
-BuildADsParentPath
-BuildADsParentPathFromObjectInfo2
-BuildADsParentPathFromObjectInfo
-BuildADsPathFromLDAPPath2
-BuildADsPathFromLDAPPath
-BuildADsPathFromParent
-BuildLDAPPathFromADsPath2
-BuildLDAPPathFromADsPath
-ChangeSeparator
-Component
-ConvertSidToString
-ConvertSidToU2Trustee
-ConvertU2TrusteeToSid
-FindEntryInSearchTable
-FindSearchTableIndex
-FreeObjectInfo
-GetDefaultServer
-GetDisplayName
-GetDomainDNSNameForDomain
-GetLDAPTypeName
-; public: long __thiscall CLexer::GetNextToken(unsigned short *,unsigned long *)
-?GetNextToken@CLexer@@QAEJPAGPAK@Z
-GetSyntaxOfAttribute
-InitObjectInfo
-; public: long __thiscall CLexer::InitializePath(unsigned short *)
-?InitializePath@CLexer@@QAEJPAG@Z
-IsGCNamespace
-LdapAddExtS
-LdapAddS
-LdapAttributeFree
-LdapCacheAddRef
-LdapCloseObject
-LdapCompareExt
-LdapControlFree
-LdapControlsFree
-LdapCountEntries
-LdapCrackUserDNtoNTLMUser2
-LdapCrackUserDNtoNTLMUser
-LdapCreatePageControl
-LdapDeleteExtS
-LdapDeleteS
-LdapFirstAttribute
-LdapFirstEntry
-LdapGetDn
-LdapGetNextPageS
-LdapGetSchemaObjectCount
-LdapGetSubSchemaSubEntryPath
-LdapGetSyntaxIdOfAttribute
-LdapGetSyntaxOfAttributeOnServer
-LdapGetValues
-LdapGetValuesLen
-LdapInitializeSearchPreferences
-LdapIsClassNameValidOnServer
-LdapMakeSchemaCacheObsolete
-LdapMemFree
-LdapModDnS
-LdapModifyExtS
-LdapModifyS
-LdapMsgFree
-LdapNextAttribute
-LdapNextEntry
-LdapOpenObject2
-LdapOpenObject
-LdapParsePageControl
-LdapParseResult
-LdapReadAttribute2
-LdapReadAttribute
-LdapReadAttributeFast
-LdapRenameExtS
-LdapResult
-LdapSearch
-LdapSearchAbandonPage
-LdapSearchExtS
-LdapSearchInitPage
-LdapSearchS
-LdapSearchST
-LdapTypeBinaryToString
-LdapTypeCopyConstruct
-LdapTypeFreeLdapModList
-LdapTypeFreeLdapModObject
-LdapTypeFreeLdapObjects
-LdapTypeToAdsTypeDNWithBinary
-LdapTypeToAdsTypeDNWithString
-LdapTypeToAdsTypeGeneralizedTime
-LdapTypeToAdsTypeUTCTime
-LdapValueFree
-LdapValueFreeLen
-LdapcKeepHandleAround
-LdapcSetStickyServer
-PathName
-ReadPagingSupportedAttr
-ReadSecurityDescriptorControlType
-ReadServerSupportsIsADControl
-SchemaAddRef
-SchemaClose
-SchemaGetClassInfo
-SchemaGetClassInfoByIndex
-SchemaGetObjectCount
-SchemaGetPropertyInfo
-SchemaGetPropertyInfoByIndex
-SchemaGetStringsFromStringTable
-SchemaGetSyntaxOfAttribute
-SchemaIsClassAContainer
-SchemaOpen
-; public: void __thiscall CLexer::SetAtDisabler(int)
-?SetAtDisabler@CLexer@@QAEXH@Z
-; public: void __thiscall CLexer::SetExclaimnationDisabler(int)
-?SetExclaimnationDisabler@CLexer@@QAEXH@Z
-; public: void __thiscall CLexer::SetFSlashDisabler(int)
-?SetFSlashDisabler@CLexer@@QAEXH@Z
-SortAndRemoveDuplicateOIDs
-UnMarshallLDAPToLDAPSynID
-intcmp
-ADSIAbandonSearch
-ADSICloseDSObject
-ADSICloseSearchHandle
-ADSICreateDSObject
-ADSIDeleteDSObject
-ADSIExecuteSearch
-ADSIFreeColumn
-ADSIGetColumn
-ADSIGetFirstRow
-ADSIGetNextColumnName
-ADSIGetNextRow
-ADSIGetObjectAttributes
-ADSIGetPreviousRow
-ADSIModifyRdn
-ADSIOpenDSObject
-ADSISetObjectAttributes
-ADSISetSearchPreference
-ADsDecodeBinaryData
-ADsEncodeBinaryData
-ADsGetLastError
-ADsSetLastError
-AdsTypeFreeAdsObjects
-AllocADsMem
-AllocADsStr
-FreeADsMem
-FreeADsStr
-LdapTypeToAdsTypeCopyConstruct
-MapADSTypeToLDAPType
-MapLDAPTypeToADSType
-ReallocADsMem
-ReallocADsStr
+; 
+; Exports of file adsldpc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY adsldpc.dll
+EXPORTS
+; public: __thiscall CLexer::CLexer(void)
+??0CLexer@@QAE@XZ
+; public: __thiscall CLexer::~CLexer(void)
+??1CLexer@@QAE@XZ
+ADsAbandonSearch
+ADsCloseSearchHandle
+ADsCreateAttributeDefinition
+ADsCreateClassDefinition
+ADsCreateDSObject
+ADsCreateDSObjectExt
+ADsDeleteAttributeDefinition
+ADsDeleteClassDefinition
+ADsDeleteDSObject
+ADsEnumAttributes
+ADsEnumClasses
+ADsExecuteSearch
+ADsFreeColumn
+ADsGetColumn
+ADsGetFirstRow
+ADsGetNextColumnName
+ADsGetNextRow
+ADsGetObjectAttributes
+ADsGetPreviousRow
+ADsHelperGetCurrentRowMessage
+ADsObject
+ADsSetObjectAttributes
+ADsSetSearchPreference
+ADsWriteAttributeDefinition
+ADsWriteClassDefinition
+AdsTypeToLdapTypeCopyConstruct
+AdsTypeToLdapTypeCopyDNWithBinary
+AdsTypeToLdapTypeCopyDNWithString
+AdsTypeToLdapTypeCopyGeneralizedTime
+AdsTypeToLdapTypeCopyTime
+BerBvFree
+BerEncodingQuotaControl
+BuildADsParentPath
+BuildADsParentPathFromObjectInfo2
+BuildADsParentPathFromObjectInfo
+BuildADsPathFromLDAPPath2
+BuildADsPathFromLDAPPath
+BuildADsPathFromParent
+BuildLDAPPathFromADsPath2
+BuildLDAPPathFromADsPath
+ChangeSeparator
+Component
+ConvertSidToString
+ConvertSidToU2Trustee
+ConvertU2TrusteeToSid
+FindEntryInSearchTable
+FindSearchTableIndex
+FreeObjectInfo
+GetDefaultServer
+GetDisplayName
+GetDomainDNSNameForDomain
+GetLDAPTypeName
+; public: long __thiscall CLexer::GetNextToken(unsigned short *,unsigned long *)
+?GetNextToken@CLexer@@QAEJPAGPAK@Z
+GetSyntaxOfAttribute
+InitObjectInfo
+; public: long __thiscall CLexer::InitializePath(unsigned short *)
+?InitializePath@CLexer@@QAEJPAG@Z
+IsGCNamespace
+LdapAddExtS
+LdapAddS
+LdapAttributeFree
+LdapCacheAddRef
+LdapCloseObject
+LdapCompareExt
+LdapControlFree
+LdapControlsFree
+LdapCountEntries
+LdapCrackUserDNtoNTLMUser2
+LdapCrackUserDNtoNTLMUser
+LdapCreatePageControl
+LdapDeleteExtS
+LdapDeleteS
+LdapFirstAttribute
+LdapFirstEntry
+LdapGetDn
+LdapGetNextPageS
+LdapGetSchemaObjectCount
+LdapGetSubSchemaSubEntryPath
+LdapGetSyntaxIdOfAttribute
+LdapGetSyntaxOfAttributeOnServer
+LdapGetValues
+LdapGetValuesLen
+LdapInitializeSearchPreferences
+LdapIsClassNameValidOnServer
+LdapMakeSchemaCacheObsolete
+LdapMemFree
+LdapModDnS
+LdapModifyExtS
+LdapModifyS
+LdapMsgFree
+LdapNextAttribute
+LdapNextEntry
+LdapOpenObject2
+LdapOpenObject
+LdapParsePageControl
+LdapParseResult
+LdapReadAttribute2
+LdapReadAttribute
+LdapReadAttributeFast
+LdapRenameExtS
+LdapResult
+LdapSearch
+LdapSearchAbandonPage
+LdapSearchExtS
+LdapSearchInitPage
+LdapSearchS
+LdapSearchST
+LdapTypeBinaryToString
+LdapTypeCopyConstruct
+LdapTypeFreeLdapModList
+LdapTypeFreeLdapModObject
+LdapTypeFreeLdapObjects
+LdapTypeToAdsTypeDNWithBinary
+LdapTypeToAdsTypeDNWithString
+LdapTypeToAdsTypeGeneralizedTime
+LdapTypeToAdsTypeUTCTime
+LdapValueFree
+LdapValueFreeLen
+LdapcKeepHandleAround
+LdapcSetStickyServer
+PathName
+ReadPagingSupportedAttr
+ReadSecurityDescriptorControlType
+ReadServerSupportsIsADControl
+SchemaAddRef
+SchemaClose
+SchemaGetClassInfo
+SchemaGetClassInfoByIndex
+SchemaGetObjectCount
+SchemaGetPropertyInfo
+SchemaGetPropertyInfoByIndex
+SchemaGetStringsFromStringTable
+SchemaGetSyntaxOfAttribute
+SchemaIsClassAContainer
+SchemaOpen
+; public: void __thiscall CLexer::SetAtDisabler(int)
+?SetAtDisabler@CLexer@@QAEXH@Z
+; public: void __thiscall CLexer::SetExclaimnationDisabler(int)
+?SetExclaimnationDisabler@CLexer@@QAEXH@Z
+; public: void __thiscall CLexer::SetFSlashDisabler(int)
+?SetFSlashDisabler@CLexer@@QAEXH@Z
+SortAndRemoveDuplicateOIDs
+UnMarshallLDAPToLDAPSynID
+intcmp
+ADSIAbandonSearch
+ADSICloseDSObject
+ADSICloseSearchHandle
+ADSICreateDSObject
+ADSIDeleteDSObject
+ADSIExecuteSearch
+ADSIFreeColumn
+ADSIGetColumn
+ADSIGetFirstRow
+ADSIGetNextColumnName
+ADSIGetNextRow
+ADSIGetObjectAttributes
+ADSIGetPreviousRow
+ADSIModifyRdn
+ADSIOpenDSObject
+ADSISetObjectAttributes
+ADSISetSearchPreference
+ADsDecodeBinaryData
+ADsEncodeBinaryData
+ADsGetLastError
+ADsSetLastError
+AdsTypeFreeAdsObjects
+AllocADsMem
+AllocADsStr
+FreeADsMem
+FreeADsStr
+LdapTypeToAdsTypeCopyConstruct
+MapADSTypeToLDAPType
+MapLDAPTypeToADSType
+ReallocADsMem
+ReallocADsStr
diff --git a/mingw-w64-crt/lib64/wadsmsext.def b/mingw-w64-crt/lib64/wadsmsext.def
index 28f5608..fb75e0e 100644
--- a/mingw-w64-crt/lib64/wadsmsext.def
+++ b/mingw-w64-crt/lib64/wadsmsext.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file adsmsext.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY adsmsext.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file adsmsext.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY adsmsext.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wadsnt.def b/mingw-w64-crt/lib64/wadsnt.def
index d2c4555..2af8b80 100644
--- a/mingw-w64-crt/lib64/wadsnt.def
+++ b/mingw-w64-crt/lib64/wadsnt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ADSNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADSNT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file ADSNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADSNT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wadvapi32.def b/mingw-w64-crt/lib64/wadvapi32.def
index cec1159..35a6229 100644
--- a/mingw-w64-crt/lib64/wadvapi32.def
+++ b/mingw-w64-crt/lib64/wadvapi32.def
@@ -1,692 +1,692 @@
-; 
-; Exports of file ADVAPI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADVAPI32.dll
-EXPORTS
-I_ScGetCurrentGroupStateW
-A_SHAFinal
-A_SHAInit
-A_SHAUpdate
-AbortSystemShutdownA
-AbortSystemShutdownW
-AccessCheck
-AccessCheckAndAuditAlarmA
-AccessCheckAndAuditAlarmW
-AccessCheckByType
-AccessCheckByTypeAndAuditAlarmA
-AccessCheckByTypeAndAuditAlarmW
-AccessCheckByTypeResultList
-AccessCheckByTypeResultListAndAuditAlarmA
-AccessCheckByTypeResultListAndAuditAlarmByHandleA
-AccessCheckByTypeResultListAndAuditAlarmByHandleW
-AccessCheckByTypeResultListAndAuditAlarmW
-AddAccessAllowedAce
-AddAccessAllowedAceEx
-AddAccessAllowedObjectAce
-AddAccessDeniedAce
-AddAccessDeniedAceEx
-AddAccessDeniedObjectAce
-AddAce
-AddAuditAccessAce
-AddAuditAccessAceEx
-AddAuditAccessObjectAce
-AddUsersToEncryptedFile
-AdjustTokenGroups
-AdjustTokenPrivileges
-AllocateAndInitializeSid
-AllocateLocallyUniqueId
-AreAllAccessesGranted
-AreAnyAccessesGranted
-BackupEventLogA
-BackupEventLogW
-BuildExplicitAccessWithNameA
-BuildExplicitAccessWithNameW
-BuildImpersonateExplicitAccessWithNameA
-BuildImpersonateExplicitAccessWithNameW
-BuildImpersonateTrusteeA
-BuildImpersonateTrusteeW
-BuildSecurityDescriptorA
-BuildSecurityDescriptorW
-BuildTrusteeWithNameA
-BuildTrusteeWithNameW
-BuildTrusteeWithObjectsAndNameA
-BuildTrusteeWithObjectsAndNameW
-BuildTrusteeWithObjectsAndSidA
-BuildTrusteeWithObjectsAndSidW
-BuildTrusteeWithSidA
-BuildTrusteeWithSidW
-CancelOverlappedAccess
-ChangeServiceConfig2A
-ChangeServiceConfig2W
-ChangeServiceConfigA
-ChangeServiceConfigW
-CheckTokenMembership
-ClearEventLogA
-ClearEventLogW
-CloseCodeAuthzLevel
-CloseEncryptedFileRaw
-CloseEventLog
-CloseServiceHandle
-CloseTrace
-CommandLineFromMsiDescriptor
-ComputeAccessTokenFromCodeAuthzLevel
-ControlService
-ControlTraceA
-ControlTraceW
-ConvertAccessToSecurityDescriptorA
-ConvertAccessToSecurityDescriptorW
-ConvertSDToStringSDRootDomainA
-ConvertSDToStringSDRootDomainW
-ConvertSecurityDescriptorToAccessA
-ConvertSecurityDescriptorToAccessNamedA
-ConvertSecurityDescriptorToAccessNamedW
-ConvertSecurityDescriptorToAccessW
-ConvertSecurityDescriptorToStringSecurityDescriptorA
-ConvertSecurityDescriptorToStringSecurityDescriptorW
-ConvertSidToStringSidA
-ConvertSidToStringSidW
-ConvertStringSDToSDDomainA
-ConvertStringSDToSDDomainW
-ConvertStringSDToSDRootDomainA
-ConvertStringSDToSDRootDomainW
-ConvertStringSecurityDescriptorToSecurityDescriptorA
-ConvertStringSecurityDescriptorToSecurityDescriptorW
-ConvertStringSidToSidA
-ConvertStringSidToSidW
-ConvertToAutoInheritPrivateObjectSecurity
-CopySid
-CreateCodeAuthzLevel
-CreatePrivateObjectSecurity
-CreatePrivateObjectSecurityEx
-CreatePrivateObjectSecurityWithMultipleInheritance
-CreateProcessAsUserA
-CreateProcessAsUserW
-CreateProcessWithLogonW
-CreateProcessWithTokenW
-CreateRestrictedToken
-CreateServiceA
-CreateServiceW
-CreateTraceInstanceId
-CreateWellKnownSid
-CredDeleteA
-CredDeleteW
-CredEnumerateA
-CredEnumerateW
-CredFree
-CredGetSessionTypes
-CredGetTargetInfoA
-CredGetTargetInfoW
-CredIsMarshaledCredentialA
-CredIsMarshaledCredentialW
-CredMarshalCredentialA
-CredMarshalCredentialW
-CredProfileLoaded
-CredReadA
-CredReadDomainCredentialsA
-CredReadDomainCredentialsW
-CredReadW
-CredRenameA
-CredRenameW
-CredUnmarshalCredentialA
-CredUnmarshalCredentialW
-CredWriteA
-CredWriteDomainCredentialsA
-CredWriteDomainCredentialsW
-CredWriteW
-CredpConvertCredential
-CredpConvertTargetInfo
-CredpDecodeCredential
-CredpEncodeCredential
-CryptAcquireContextA
-CryptAcquireContextW
-CryptContextAddRef
-CryptCreateHash
-CryptDecrypt
-CryptDeriveKey
-CryptDestroyHash
-CryptDestroyKey
-CryptDuplicateHash
-CryptDuplicateKey
-CryptEncrypt
-CryptEnumProviderTypesA
-CryptEnumProviderTypesW
-CryptEnumProvidersA
-CryptEnumProvidersW
-CryptExportKey
-CryptGenKey
-CryptGenRandom
-CryptGetDefaultProviderA
-CryptGetDefaultProviderW
-CryptGetHashParam
-CryptGetKeyParam
-CryptGetProvParam
-CryptGetUserKey
-CryptHashData
-CryptHashSessionKey
-CryptImportKey
-CryptReleaseContext
-CryptSetHashParam
-CryptSetKeyParam
-CryptSetProvParam
-CryptSetProviderA
-CryptSetProviderExA
-CryptSetProviderExW
-CryptSetProviderW
-CryptSignHashA
-CryptSignHashW
-CryptVerifySignatureA
-CryptVerifySignatureW
-DecryptFileA
-DecryptFileW
-DeleteAce
-DeleteService
-DeregisterEventSource
-DestroyPrivateObjectSecurity
-DuplicateEncryptionInfoFile
-DuplicateToken
-DuplicateTokenEx
-ElfBackupEventLogFileA
-ElfBackupEventLogFileW
-ElfChangeNotify
-ElfClearEventLogFileA
-ElfClearEventLogFileW
-ElfCloseEventLog
-ElfDeregisterEventSource
-ElfFlushEventLog
-ElfNumberOfRecords
-ElfOldestRecord
-ElfOpenBackupEventLogA
-ElfOpenBackupEventLogW
-ElfOpenEventLogA
-ElfOpenEventLogW
-ElfReadEventLogA
-ElfReadEventLogW
-ElfRegisterEventSourceA
-ElfRegisterEventSourceW
-ElfReportEventA
-ElfReportEventAndSourceW
-ElfReportEventW
-EnableTrace
-EncryptFileA
-EncryptFileW
-EncryptedFileKeyInfo
-EncryptionDisable
-EnumDependentServicesA
-EnumDependentServicesW
-EnumServiceGroupW
-EnumServicesStatusA
-EnumServicesStatusExA
-EnumServicesStatusExW
-EnumServicesStatusW
-EnumerateTraceGuids
-EqualDomainSid
-EqualPrefixSid
-EqualSid
-FileEncryptionStatusA
-FileEncryptionStatusW
-FindFirstFreeAce
-FlushTraceA
-FlushTraceW
-FreeEncryptedFileKeyInfo
-FreeEncryptionCertificateHashList
-FreeInheritedFromArray
-FreeSid
-GetAccessPermissionsForObjectA
-GetAccessPermissionsForObjectW
-GetAce
-GetAclInformation
-GetAuditedPermissionsFromAclA
-GetAuditedPermissionsFromAclW
-GetCurrentHwProfileA
-GetCurrentHwProfileW
-GetEffectiveRightsFromAclA
-GetEffectiveRightsFromAclW
-GetEventLogInformation
-GetExplicitEntriesFromAclA
-GetExplicitEntriesFromAclW
-GetFileSecurityA
-GetFileSecurityW
-GetInformationCodeAuthzLevelW
-GetInformationCodeAuthzPolicyW
-GetInheritanceSourceA
-GetInheritanceSourceW
-GetKernelObjectSecurity
-GetLengthSid
-GetLocalManagedApplicationData
-GetLocalManagedApplications
-GetManagedApplicationCategories
-GetManagedApplications
-GetMultipleTrusteeA
-GetMultipleTrusteeOperationA
-GetMultipleTrusteeOperationW
-GetMultipleTrusteeW
-GetNamedSecurityInfoA
-GetNamedSecurityInfoExA
-GetNamedSecurityInfoExW
-GetNamedSecurityInfoW
-GetNumberOfEventLogRecords
-GetOldestEventLogRecord
-GetOverlappedAccessResults
-GetPrivateObjectSecurity
-GetSecurityDescriptorControl
-GetSecurityDescriptorDacl
-GetSecurityDescriptorGroup
-GetSecurityDescriptorLength
-GetSecurityDescriptorOwner
-GetSecurityDescriptorRMControl
-GetSecurityDescriptorSacl
-GetSecurityInfo
-GetSecurityInfoExA
-GetSecurityInfoExW
-GetServiceDisplayNameA
-GetServiceDisplayNameW
-GetServiceKeyNameA
-GetServiceKeyNameW
-GetSidIdentifierAuthority
-GetSidLengthRequired
-GetSidSubAuthority
-GetSidSubAuthorityCount
-GetTokenInformation
-GetTraceEnableFlags
-GetTraceEnableLevel
-GetTraceLoggerHandle
-GetTrusteeFormA
-GetTrusteeFormW
-GetTrusteeNameA
-GetTrusteeNameW
-GetTrusteeTypeA
-GetTrusteeTypeW
-GetUserNameA
-GetUserNameW
-GetWindowsAccountDomainSid
-I_QueryTagInformation
-I_ScIsSecurityProcess
-I_ScPnPGetServiceName
-I_ScSendTSMessage
-I_ScSetServiceBitsA
-I_ScSetServiceBitsW
-IdentifyCodeAuthzLevelW
-ImpersonateAnonymousToken
-ImpersonateLoggedOnUser
-ImpersonateNamedPipeClient
-ImpersonateSelf
-InitializeAcl
-InitializeSecurityDescriptor
-InitializeSid
-InitiateSystemShutdownA
-InitiateSystemShutdownExA
-InitiateSystemShutdownExW
-InitiateSystemShutdownW
-InstallApplication
-IsTextUnicode
-IsTokenRestricted
-IsTokenUntrusted
-IsValidAcl
-IsValidSecurityDescriptor
-IsValidSid
-IsWellKnownSid
-LockServiceDatabase
-LogonUserA
-LogonUserExA
-LogonUserExW
-LogonUserW
-LookupAccountNameA
-LookupAccountNameW
-LookupAccountSidA
-LookupAccountSidW
-LookupPrivilegeDisplayNameA
-LookupPrivilegeDisplayNameW
-LookupPrivilegeNameA
-LookupPrivilegeNameW
-LookupPrivilegeValueA
-LookupPrivilegeValueW
-LookupSecurityDescriptorPartsA
-LookupSecurityDescriptorPartsW
-LsaAddAccountRights
-LsaAddPrivilegesToAccount
-LsaClearAuditLog
-LsaClose
-LsaCreateAccount
-LsaCreateSecret
-LsaCreateTrustedDomain
-LsaCreateTrustedDomainEx
-LsaDelete
-LsaDeleteTrustedDomain
-LsaEnumerateAccountRights
-LsaEnumerateAccounts
-LsaEnumerateAccountsWithUserRight
-LsaEnumeratePrivileges
-LsaEnumeratePrivilegesOfAccount
-LsaEnumerateTrustedDomains
-LsaEnumerateTrustedDomainsEx
-LsaFreeMemory
-LsaGetQuotasForAccount
-LsaGetRemoteUserName
-LsaGetSystemAccessAccount
-LsaGetUserName
-LsaICLookupNames
-LsaICLookupNamesWithCreds
-LsaICLookupSids
-LsaICLookupSidsWithCreds
-LsaLookupNames2
-LsaLookupNames
-LsaLookupPrivilegeDisplayName
-LsaLookupPrivilegeName
-LsaLookupPrivilegeValue
-LsaLookupSids
-LsaNtStatusToWinError
-LsaOpenAccount
-LsaOpenPolicy
-LsaOpenPolicySce
-LsaOpenSecret
-LsaOpenTrustedDomain
-LsaOpenTrustedDomainByName
-LsaQueryDomainInformationPolicy
-LsaQueryForestTrustInformation
-LsaQueryInfoTrustedDomain
-LsaQueryInformationPolicy
-LsaQuerySecret
-LsaQuerySecurityObject
-LsaQueryTrustedDomainInfo
-LsaQueryTrustedDomainInfoByName
-LsaRemoveAccountRights
-LsaRemovePrivilegesFromAccount
-LsaRetrievePrivateData
-LsaSetDomainInformationPolicy
-LsaSetForestTrustInformation
-LsaSetInformationPolicy
-LsaSetInformationTrustedDomain
-LsaSetQuotasForAccount
-LsaSetSecret
-LsaSetSecurityObject
-LsaSetSystemAccessAccount
-LsaSetTrustedDomainInfoByName
-LsaSetTrustedDomainInformation
-LsaStorePrivateData
-MD4Final
-MD4Init
-MD4Update
-MD5Final
-MD5Init
-MD5Update
-MSChapSrvChangePassword2
-MSChapSrvChangePassword
-MakeAbsoluteSD2
-MakeAbsoluteSD
-MakeSelfRelativeSD
-MapGenericMask
-NotifyBootConfigStatus
-NotifyChangeEventLog
-ObjectCloseAuditAlarmA
-ObjectCloseAuditAlarmW
-ObjectDeleteAuditAlarmA
-ObjectDeleteAuditAlarmW
-ObjectOpenAuditAlarmA
-ObjectOpenAuditAlarmW
-ObjectPrivilegeAuditAlarmA
-ObjectPrivilegeAuditAlarmW
-OpenBackupEventLogA
-OpenBackupEventLogW
-OpenEncryptedFileRawA
-OpenEncryptedFileRawW
-OpenEventLogA
-OpenEventLogW
-OpenProcessToken
-OpenSCManagerA
-OpenSCManagerW
-OpenServiceA
-OpenServiceW
-OpenThreadToken
-OpenTraceA
-OpenTraceW
-PrivilegeCheck
-PrivilegedServiceAuditAlarmA
-PrivilegedServiceAuditAlarmW
-ProcessIdleTasks
-ProcessTrace
-QueryAllTracesA
-QueryAllTracesW
-QueryRecoveryAgentsOnEncryptedFile
-QueryServiceConfig2A
-QueryServiceConfig2W
-QueryServiceConfigA
-QueryServiceConfigW
-QueryServiceLockStatusA
-QueryServiceLockStatusW
-QueryServiceObjectSecurity
-QueryServiceStatus
-QueryServiceStatusEx
-QueryTraceA
-QueryTraceW
-QueryUsersOnEncryptedFile
-ReadEncryptedFileRaw
-ReadEventLogA
-ReadEventLogW
-RegCloseKey
-RegConnectRegistryA
-RegConnectRegistryExA
-RegConnectRegistryExW
-RegConnectRegistryW
-RegCreateKeyA
-RegCreateKeyExA
-RegCreateKeyExW
-RegCreateKeyW
-RegDeleteKeyA
-RegDeleteKeyExA
-RegDeleteKeyExW
-RegDeleteKeyW
-RegDeleteValueA
-RegDeleteValueW
-RegDisablePredefinedCache
-RegDisableReflectionKey
-RegEnableReflectionKey
-RegEnumKeyA
-RegEnumKeyExA
-RegEnumKeyExW
-RegEnumKeyW
-RegEnumValueA
-RegEnumValueW
-RegFlushKey
-RegGetKeySecurity
-RegGetValueA
-RegGetValueW
-RegLoadKeyA
-RegLoadKeyW
-RegNotifyChangeKeyValue
-RegOpenCurrentUser
-RegOpenKeyA
-RegOpenKeyExA
-RegOpenKeyExW
-RegOpenKeyW
-RegOpenUserClassesRoot
-RegOverridePredefKey
-RegQueryInfoKeyA
-RegQueryInfoKeyW
-RegQueryMultipleValuesA
-RegQueryMultipleValuesW
-RegQueryReflectionKey
-RegQueryValueA
-RegQueryValueExA
-RegQueryValueExW
-RegQueryValueW
-RegReplaceKeyA
-RegReplaceKeyW
-RegRestoreKeyA
-RegRestoreKeyW
-RegSaveKeyA
-RegSaveKeyExA
-RegSaveKeyExW
-RegSaveKeyW
-RegSetKeySecurity
-RegSetValueA
-RegSetValueExA
-RegSetValueExW
-RegSetValueW
-RegUnLoadKeyA
-RegUnLoadKeyW
-RegisterEventSourceA
-RegisterEventSourceW
-RegisterIdleTask
-RegisterServiceCtrlHandlerA
-RegisterServiceCtrlHandlerExA
-RegisterServiceCtrlHandlerExW
-RegisterServiceCtrlHandlerW
-RegisterTraceGuidsA
-RegisterTraceGuidsW
-RemoveTraceCallback
-RemoveUsersFromEncryptedFile
-ReportEventA
-ReportEventW
-RevertToSelf
-SaferCloseLevel
-SaferComputeTokenFromLevel
-SaferCreateLevel
-SaferGetLevelInformation
-SaferGetPolicyInformation
-SaferIdentifyLevel
-SaferRecordEventLogEntry
-SaferSetLevelInformation
-SaferSetPolicyInformation
-SaferiChangeRegistryScope
-SaferiCompareTokenLevels
-SaferiIsExecutableFileType
-SaferiPopulateDefaultsInRegistry
-SaferiRecordEventLogEntry
-SaferiReplaceProcessThreadTokens
-SaferiSearchMatchingHashRules
-SetAclInformation
-SetEntriesInAccessListA
-SetEntriesInAccessListW
-SetEntriesInAclA
-SetEntriesInAclW
-SetEntriesInAuditListA
-SetEntriesInAuditListW
-SetFileSecurityA
-SetFileSecurityW
-SetInformationCodeAuthzLevelW
-SetInformationCodeAuthzPolicyW
-SetKernelObjectSecurity
-SetNamedSecurityInfoA
-SetNamedSecurityInfoExA
-SetNamedSecurityInfoExW
-SetNamedSecurityInfoW
-SetPrivateObjectSecurity
-SetPrivateObjectSecurityEx
-SetSecurityDescriptorControl
-SetSecurityDescriptorDacl
-SetSecurityDescriptorGroup
-SetSecurityDescriptorOwner
-SetSecurityDescriptorRMControl
-SetSecurityDescriptorSacl
-SetSecurityInfo
-SetSecurityInfoExA
-SetSecurityInfoExW
-SetServiceBits
-SetServiceObjectSecurity
-SetServiceStatus
-SetThreadToken
-SetTokenInformation
-SetTraceCallback
-SetUserFileEncryptionKey
-StartServiceA
-StartServiceCtrlDispatcherA
-StartServiceCtrlDispatcherW
-StartServiceW
-StartTraceA
-StartTraceW
-StopTraceA
-StopTraceW
-SystemFunction001
-SystemFunction002
-SystemFunction003
-SystemFunction004
-SystemFunction005
-SystemFunction006
-SystemFunction007
-SystemFunction008
-SystemFunction009
-SystemFunction010
-SystemFunction011
-SystemFunction012
-SystemFunction013
-SystemFunction014
-SystemFunction015
-SystemFunction016
-SystemFunction017
-SystemFunction018
-SystemFunction019
-SystemFunction020
-SystemFunction021
-SystemFunction022
-SystemFunction023
-SystemFunction024
-SystemFunction025
-SystemFunction026
-SystemFunction027
-SystemFunction028
-SystemFunction029
-SystemFunction030
-SystemFunction031
-SystemFunction032
-SystemFunction033
-SystemFunction034
-SystemFunction035
-SystemFunction036
-SystemFunction040
-SystemFunction041
-TraceEvent
-TraceEventInstance
-TraceMessage
-TraceMessageVa
-TreeResetNamedSecurityInfoA
-TreeResetNamedSecurityInfoW
-TrusteeAccessToObjectA
-TrusteeAccessToObjectW
-UninstallApplication
-UnlockServiceDatabase
-UnregisterIdleTask
-UnregisterTraceGuids
-UpdateTraceA
-UpdateTraceW
-WdmWmiServiceMain
-WmiCloseBlock
-WmiCloseTraceWithCursor
-WmiConvertTimestamp
-WmiDevInstToInstanceNameA
-WmiDevInstToInstanceNameW
-WmiEnumerateGuids
-WmiExecuteMethodA
-WmiExecuteMethodW
-WmiFileHandleToInstanceNameA
-WmiFileHandleToInstanceNameW
-WmiFreeBuffer
-WmiGetFirstTraceOffset
-WmiGetNextEvent
-WmiGetTraceHeader
-WmiMofEnumerateResourcesA
-WmiMofEnumerateResourcesW
-WmiNotificationRegistrationA
-WmiNotificationRegistrationW
-WmiOpenBlock
-WmiOpenTraceWithCursor
-WmiParseTraceEvent
-WmiQueryAllDataA
-WmiQueryAllDataMultipleA
-WmiQueryAllDataMultipleW
-WmiQueryAllDataW
-WmiQueryGuidInformation
-WmiQuerySingleInstanceA
-WmiQuerySingleInstanceMultipleA
-WmiQuerySingleInstanceMultipleW
-WmiQuerySingleInstanceW
-WmiReceiveNotificationsA
-WmiReceiveNotificationsW
-WmiSetSingleInstanceA
-WmiSetSingleInstanceW
-WmiSetSingleItemA
-WmiSetSingleItemW
-Wow64Win32ApiEntry
-WriteEncryptedFileRaw
+; 
+; Exports of file ADVAPI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADVAPI32.dll
+EXPORTS
+I_ScGetCurrentGroupStateW
+A_SHAFinal
+A_SHAInit
+A_SHAUpdate
+AbortSystemShutdownA
+AbortSystemShutdownW
+AccessCheck
+AccessCheckAndAuditAlarmA
+AccessCheckAndAuditAlarmW
+AccessCheckByType
+AccessCheckByTypeAndAuditAlarmA
+AccessCheckByTypeAndAuditAlarmW
+AccessCheckByTypeResultList
+AccessCheckByTypeResultListAndAuditAlarmA
+AccessCheckByTypeResultListAndAuditAlarmByHandleA
+AccessCheckByTypeResultListAndAuditAlarmByHandleW
+AccessCheckByTypeResultListAndAuditAlarmW
+AddAccessAllowedAce
+AddAccessAllowedAceEx
+AddAccessAllowedObjectAce
+AddAccessDeniedAce
+AddAccessDeniedAceEx
+AddAccessDeniedObjectAce
+AddAce
+AddAuditAccessAce
+AddAuditAccessAceEx
+AddAuditAccessObjectAce
+AddUsersToEncryptedFile
+AdjustTokenGroups
+AdjustTokenPrivileges
+AllocateAndInitializeSid
+AllocateLocallyUniqueId
+AreAllAccessesGranted
+AreAnyAccessesGranted
+BackupEventLogA
+BackupEventLogW
+BuildExplicitAccessWithNameA
+BuildExplicitAccessWithNameW
+BuildImpersonateExplicitAccessWithNameA
+BuildImpersonateExplicitAccessWithNameW
+BuildImpersonateTrusteeA
+BuildImpersonateTrusteeW
+BuildSecurityDescriptorA
+BuildSecurityDescriptorW
+BuildTrusteeWithNameA
+BuildTrusteeWithNameW
+BuildTrusteeWithObjectsAndNameA
+BuildTrusteeWithObjectsAndNameW
+BuildTrusteeWithObjectsAndSidA
+BuildTrusteeWithObjectsAndSidW
+BuildTrusteeWithSidA
+BuildTrusteeWithSidW
+CancelOverlappedAccess
+ChangeServiceConfig2A
+ChangeServiceConfig2W
+ChangeServiceConfigA
+ChangeServiceConfigW
+CheckTokenMembership
+ClearEventLogA
+ClearEventLogW
+CloseCodeAuthzLevel
+CloseEncryptedFileRaw
+CloseEventLog
+CloseServiceHandle
+CloseTrace
+CommandLineFromMsiDescriptor
+ComputeAccessTokenFromCodeAuthzLevel
+ControlService
+ControlTraceA
+ControlTraceW
+ConvertAccessToSecurityDescriptorA
+ConvertAccessToSecurityDescriptorW
+ConvertSDToStringSDRootDomainA
+ConvertSDToStringSDRootDomainW
+ConvertSecurityDescriptorToAccessA
+ConvertSecurityDescriptorToAccessNamedA
+ConvertSecurityDescriptorToAccessNamedW
+ConvertSecurityDescriptorToAccessW
+ConvertSecurityDescriptorToStringSecurityDescriptorA
+ConvertSecurityDescriptorToStringSecurityDescriptorW
+ConvertSidToStringSidA
+ConvertSidToStringSidW
+ConvertStringSDToSDDomainA
+ConvertStringSDToSDDomainW
+ConvertStringSDToSDRootDomainA
+ConvertStringSDToSDRootDomainW
+ConvertStringSecurityDescriptorToSecurityDescriptorA
+ConvertStringSecurityDescriptorToSecurityDescriptorW
+ConvertStringSidToSidA
+ConvertStringSidToSidW
+ConvertToAutoInheritPrivateObjectSecurity
+CopySid
+CreateCodeAuthzLevel
+CreatePrivateObjectSecurity
+CreatePrivateObjectSecurityEx
+CreatePrivateObjectSecurityWithMultipleInheritance
+CreateProcessAsUserA
+CreateProcessAsUserW
+CreateProcessWithLogonW
+CreateProcessWithTokenW
+CreateRestrictedToken
+CreateServiceA
+CreateServiceW
+CreateTraceInstanceId
+CreateWellKnownSid
+CredDeleteA
+CredDeleteW
+CredEnumerateA
+CredEnumerateW
+CredFree
+CredGetSessionTypes
+CredGetTargetInfoA
+CredGetTargetInfoW
+CredIsMarshaledCredentialA
+CredIsMarshaledCredentialW
+CredMarshalCredentialA
+CredMarshalCredentialW
+CredProfileLoaded
+CredReadA
+CredReadDomainCredentialsA
+CredReadDomainCredentialsW
+CredReadW
+CredRenameA
+CredRenameW
+CredUnmarshalCredentialA
+CredUnmarshalCredentialW
+CredWriteA
+CredWriteDomainCredentialsA
+CredWriteDomainCredentialsW
+CredWriteW
+CredpConvertCredential
+CredpConvertTargetInfo
+CredpDecodeCredential
+CredpEncodeCredential
+CryptAcquireContextA
+CryptAcquireContextW
+CryptContextAddRef
+CryptCreateHash
+CryptDecrypt
+CryptDeriveKey
+CryptDestroyHash
+CryptDestroyKey
+CryptDuplicateHash
+CryptDuplicateKey
+CryptEncrypt
+CryptEnumProviderTypesA
+CryptEnumProviderTypesW
+CryptEnumProvidersA
+CryptEnumProvidersW
+CryptExportKey
+CryptGenKey
+CryptGenRandom
+CryptGetDefaultProviderA
+CryptGetDefaultProviderW
+CryptGetHashParam
+CryptGetKeyParam
+CryptGetProvParam
+CryptGetUserKey
+CryptHashData
+CryptHashSessionKey
+CryptImportKey
+CryptReleaseContext
+CryptSetHashParam
+CryptSetKeyParam
+CryptSetProvParam
+CryptSetProviderA
+CryptSetProviderExA
+CryptSetProviderExW
+CryptSetProviderW
+CryptSignHashA
+CryptSignHashW
+CryptVerifySignatureA
+CryptVerifySignatureW
+DecryptFileA
+DecryptFileW
+DeleteAce
+DeleteService
+DeregisterEventSource
+DestroyPrivateObjectSecurity
+DuplicateEncryptionInfoFile
+DuplicateToken
+DuplicateTokenEx
+ElfBackupEventLogFileA
+ElfBackupEventLogFileW
+ElfChangeNotify
+ElfClearEventLogFileA
+ElfClearEventLogFileW
+ElfCloseEventLog
+ElfDeregisterEventSource
+ElfFlushEventLog
+ElfNumberOfRecords
+ElfOldestRecord
+ElfOpenBackupEventLogA
+ElfOpenBackupEventLogW
+ElfOpenEventLogA
+ElfOpenEventLogW
+ElfReadEventLogA
+ElfReadEventLogW
+ElfRegisterEventSourceA
+ElfRegisterEventSourceW
+ElfReportEventA
+ElfReportEventAndSourceW
+ElfReportEventW
+EnableTrace
+EncryptFileA
+EncryptFileW
+EncryptedFileKeyInfo
+EncryptionDisable
+EnumDependentServicesA
+EnumDependentServicesW
+EnumServiceGroupW
+EnumServicesStatusA
+EnumServicesStatusExA
+EnumServicesStatusExW
+EnumServicesStatusW
+EnumerateTraceGuids
+EqualDomainSid
+EqualPrefixSid
+EqualSid
+FileEncryptionStatusA
+FileEncryptionStatusW
+FindFirstFreeAce
+FlushTraceA
+FlushTraceW
+FreeEncryptedFileKeyInfo
+FreeEncryptionCertificateHashList
+FreeInheritedFromArray
+FreeSid
+GetAccessPermissionsForObjectA
+GetAccessPermissionsForObjectW
+GetAce
+GetAclInformation
+GetAuditedPermissionsFromAclA
+GetAuditedPermissionsFromAclW
+GetCurrentHwProfileA
+GetCurrentHwProfileW
+GetEffectiveRightsFromAclA
+GetEffectiveRightsFromAclW
+GetEventLogInformation
+GetExplicitEntriesFromAclA
+GetExplicitEntriesFromAclW
+GetFileSecurityA
+GetFileSecurityW
+GetInformationCodeAuthzLevelW
+GetInformationCodeAuthzPolicyW
+GetInheritanceSourceA
+GetInheritanceSourceW
+GetKernelObjectSecurity
+GetLengthSid
+GetLocalManagedApplicationData
+GetLocalManagedApplications
+GetManagedApplicationCategories
+GetManagedApplications
+GetMultipleTrusteeA
+GetMultipleTrusteeOperationA
+GetMultipleTrusteeOperationW
+GetMultipleTrusteeW
+GetNamedSecurityInfoA
+GetNamedSecurityInfoExA
+GetNamedSecurityInfoExW
+GetNamedSecurityInfoW
+GetNumberOfEventLogRecords
+GetOldestEventLogRecord
+GetOverlappedAccessResults
+GetPrivateObjectSecurity
+GetSecurityDescriptorControl
+GetSecurityDescriptorDacl
+GetSecurityDescriptorGroup
+GetSecurityDescriptorLength
+GetSecurityDescriptorOwner
+GetSecurityDescriptorRMControl
+GetSecurityDescriptorSacl
+GetSecurityInfo
+GetSecurityInfoExA
+GetSecurityInfoExW
+GetServiceDisplayNameA
+GetServiceDisplayNameW
+GetServiceKeyNameA
+GetServiceKeyNameW
+GetSidIdentifierAuthority
+GetSidLengthRequired
+GetSidSubAuthority
+GetSidSubAuthorityCount
+GetTokenInformation
+GetTraceEnableFlags
+GetTraceEnableLevel
+GetTraceLoggerHandle
+GetTrusteeFormA
+GetTrusteeFormW
+GetTrusteeNameA
+GetTrusteeNameW
+GetTrusteeTypeA
+GetTrusteeTypeW
+GetUserNameA
+GetUserNameW
+GetWindowsAccountDomainSid
+I_QueryTagInformation
+I_ScIsSecurityProcess
+I_ScPnPGetServiceName
+I_ScSendTSMessage
+I_ScSetServiceBitsA
+I_ScSetServiceBitsW
+IdentifyCodeAuthzLevelW
+ImpersonateAnonymousToken
+ImpersonateLoggedOnUser
+ImpersonateNamedPipeClient
+ImpersonateSelf
+InitializeAcl
+InitializeSecurityDescriptor
+InitializeSid
+InitiateSystemShutdownA
+InitiateSystemShutdownExA
+InitiateSystemShutdownExW
+InitiateSystemShutdownW
+InstallApplication
+IsTextUnicode
+IsTokenRestricted
+IsTokenUntrusted
+IsValidAcl
+IsValidSecurityDescriptor
+IsValidSid
+IsWellKnownSid
+LockServiceDatabase
+LogonUserA
+LogonUserExA
+LogonUserExW
+LogonUserW
+LookupAccountNameA
+LookupAccountNameW
+LookupAccountSidA
+LookupAccountSidW
+LookupPrivilegeDisplayNameA
+LookupPrivilegeDisplayNameW
+LookupPrivilegeNameA
+LookupPrivilegeNameW
+LookupPrivilegeValueA
+LookupPrivilegeValueW
+LookupSecurityDescriptorPartsA
+LookupSecurityDescriptorPartsW
+LsaAddAccountRights
+LsaAddPrivilegesToAccount
+LsaClearAuditLog
+LsaClose
+LsaCreateAccount
+LsaCreateSecret
+LsaCreateTrustedDomain
+LsaCreateTrustedDomainEx
+LsaDelete
+LsaDeleteTrustedDomain
+LsaEnumerateAccountRights
+LsaEnumerateAccounts
+LsaEnumerateAccountsWithUserRight
+LsaEnumeratePrivileges
+LsaEnumeratePrivilegesOfAccount
+LsaEnumerateTrustedDomains
+LsaEnumerateTrustedDomainsEx
+LsaFreeMemory
+LsaGetQuotasForAccount
+LsaGetRemoteUserName
+LsaGetSystemAccessAccount
+LsaGetUserName
+LsaICLookupNames
+LsaICLookupNamesWithCreds
+LsaICLookupSids
+LsaICLookupSidsWithCreds
+LsaLookupNames2
+LsaLookupNames
+LsaLookupPrivilegeDisplayName
+LsaLookupPrivilegeName
+LsaLookupPrivilegeValue
+LsaLookupSids
+LsaNtStatusToWinError
+LsaOpenAccount
+LsaOpenPolicy
+LsaOpenPolicySce
+LsaOpenSecret
+LsaOpenTrustedDomain
+LsaOpenTrustedDomainByName
+LsaQueryDomainInformationPolicy
+LsaQueryForestTrustInformation
+LsaQueryInfoTrustedDomain
+LsaQueryInformationPolicy
+LsaQuerySecret
+LsaQuerySecurityObject
+LsaQueryTrustedDomainInfo
+LsaQueryTrustedDomainInfoByName
+LsaRemoveAccountRights
+LsaRemovePrivilegesFromAccount
+LsaRetrievePrivateData
+LsaSetDomainInformationPolicy
+LsaSetForestTrustInformation
+LsaSetInformationPolicy
+LsaSetInformationTrustedDomain
+LsaSetQuotasForAccount
+LsaSetSecret
+LsaSetSecurityObject
+LsaSetSystemAccessAccount
+LsaSetTrustedDomainInfoByName
+LsaSetTrustedDomainInformation
+LsaStorePrivateData
+MD4Final
+MD4Init
+MD4Update
+MD5Final
+MD5Init
+MD5Update
+MSChapSrvChangePassword2
+MSChapSrvChangePassword
+MakeAbsoluteSD2
+MakeAbsoluteSD
+MakeSelfRelativeSD
+MapGenericMask
+NotifyBootConfigStatus
+NotifyChangeEventLog
+ObjectCloseAuditAlarmA
+ObjectCloseAuditAlarmW
+ObjectDeleteAuditAlarmA
+ObjectDeleteAuditAlarmW
+ObjectOpenAuditAlarmA
+ObjectOpenAuditAlarmW
+ObjectPrivilegeAuditAlarmA
+ObjectPrivilegeAuditAlarmW
+OpenBackupEventLogA
+OpenBackupEventLogW
+OpenEncryptedFileRawA
+OpenEncryptedFileRawW
+OpenEventLogA
+OpenEventLogW
+OpenProcessToken
+OpenSCManagerA
+OpenSCManagerW
+OpenServiceA
+OpenServiceW
+OpenThreadToken
+OpenTraceA
+OpenTraceW
+PrivilegeCheck
+PrivilegedServiceAuditAlarmA
+PrivilegedServiceAuditAlarmW
+ProcessIdleTasks
+ProcessTrace
+QueryAllTracesA
+QueryAllTracesW
+QueryRecoveryAgentsOnEncryptedFile
+QueryServiceConfig2A
+QueryServiceConfig2W
+QueryServiceConfigA
+QueryServiceConfigW
+QueryServiceLockStatusA
+QueryServiceLockStatusW
+QueryServiceObjectSecurity
+QueryServiceStatus
+QueryServiceStatusEx
+QueryTraceA
+QueryTraceW
+QueryUsersOnEncryptedFile
+ReadEncryptedFileRaw
+ReadEventLogA
+ReadEventLogW
+RegCloseKey
+RegConnectRegistryA
+RegConnectRegistryExA
+RegConnectRegistryExW
+RegConnectRegistryW
+RegCreateKeyA
+RegCreateKeyExA
+RegCreateKeyExW
+RegCreateKeyW
+RegDeleteKeyA
+RegDeleteKeyExA
+RegDeleteKeyExW
+RegDeleteKeyW
+RegDeleteValueA
+RegDeleteValueW
+RegDisablePredefinedCache
+RegDisableReflectionKey
+RegEnableReflectionKey
+RegEnumKeyA
+RegEnumKeyExA
+RegEnumKeyExW
+RegEnumKeyW
+RegEnumValueA
+RegEnumValueW
+RegFlushKey
+RegGetKeySecurity
+RegGetValueA
+RegGetValueW
+RegLoadKeyA
+RegLoadKeyW
+RegNotifyChangeKeyValue
+RegOpenCurrentUser
+RegOpenKeyA
+RegOpenKeyExA
+RegOpenKeyExW
+RegOpenKeyW
+RegOpenUserClassesRoot
+RegOverridePredefKey
+RegQueryInfoKeyA
+RegQueryInfoKeyW
+RegQueryMultipleValuesA
+RegQueryMultipleValuesW
+RegQueryReflectionKey
+RegQueryValueA
+RegQueryValueExA
+RegQueryValueExW
+RegQueryValueW
+RegReplaceKeyA
+RegReplaceKeyW
+RegRestoreKeyA
+RegRestoreKeyW
+RegSaveKeyA
+RegSaveKeyExA
+RegSaveKeyExW
+RegSaveKeyW
+RegSetKeySecurity
+RegSetValueA
+RegSetValueExA
+RegSetValueExW
+RegSetValueW
+RegUnLoadKeyA
+RegUnLoadKeyW
+RegisterEventSourceA
+RegisterEventSourceW
+RegisterIdleTask
+RegisterServiceCtrlHandlerA
+RegisterServiceCtrlHandlerExA
+RegisterServiceCtrlHandlerExW
+RegisterServiceCtrlHandlerW
+RegisterTraceGuidsA
+RegisterTraceGuidsW
+RemoveTraceCallback
+RemoveUsersFromEncryptedFile
+ReportEventA
+ReportEventW
+RevertToSelf
+SaferCloseLevel
+SaferComputeTokenFromLevel
+SaferCreateLevel
+SaferGetLevelInformation
+SaferGetPolicyInformation
+SaferIdentifyLevel
+SaferRecordEventLogEntry
+SaferSetLevelInformation
+SaferSetPolicyInformation
+SaferiChangeRegistryScope
+SaferiCompareTokenLevels
+SaferiIsExecutableFileType
+SaferiPopulateDefaultsInRegistry
+SaferiRecordEventLogEntry
+SaferiReplaceProcessThreadTokens
+SaferiSearchMatchingHashRules
+SetAclInformation
+SetEntriesInAccessListA
+SetEntriesInAccessListW
+SetEntriesInAclA
+SetEntriesInAclW
+SetEntriesInAuditListA
+SetEntriesInAuditListW
+SetFileSecurityA
+SetFileSecurityW
+SetInformationCodeAuthzLevelW
+SetInformationCodeAuthzPolicyW
+SetKernelObjectSecurity
+SetNamedSecurityInfoA
+SetNamedSecurityInfoExA
+SetNamedSecurityInfoExW
+SetNamedSecurityInfoW
+SetPrivateObjectSecurity
+SetPrivateObjectSecurityEx
+SetSecurityDescriptorControl
+SetSecurityDescriptorDacl
+SetSecurityDescriptorGroup
+SetSecurityDescriptorOwner
+SetSecurityDescriptorRMControl
+SetSecurityDescriptorSacl
+SetSecurityInfo
+SetSecurityInfoExA
+SetSecurityInfoExW
+SetServiceBits
+SetServiceObjectSecurity
+SetServiceStatus
+SetThreadToken
+SetTokenInformation
+SetTraceCallback
+SetUserFileEncryptionKey
+StartServiceA
+StartServiceCtrlDispatcherA
+StartServiceCtrlDispatcherW
+StartServiceW
+StartTraceA
+StartTraceW
+StopTraceA
+StopTraceW
+SystemFunction001
+SystemFunction002
+SystemFunction003
+SystemFunction004
+SystemFunction005
+SystemFunction006
+SystemFunction007
+SystemFunction008
+SystemFunction009
+SystemFunction010
+SystemFunction011
+SystemFunction012
+SystemFunction013
+SystemFunction014
+SystemFunction015
+SystemFunction016
+SystemFunction017
+SystemFunction018
+SystemFunction019
+SystemFunction020
+SystemFunction021
+SystemFunction022
+SystemFunction023
+SystemFunction024
+SystemFunction025
+SystemFunction026
+SystemFunction027
+SystemFunction028
+SystemFunction029
+SystemFunction030
+SystemFunction031
+SystemFunction032
+SystemFunction033
+SystemFunction034
+SystemFunction035
+SystemFunction036
+SystemFunction040
+SystemFunction041
+TraceEvent
+TraceEventInstance
+TraceMessage
+TraceMessageVa
+TreeResetNamedSecurityInfoA
+TreeResetNamedSecurityInfoW
+TrusteeAccessToObjectA
+TrusteeAccessToObjectW
+UninstallApplication
+UnlockServiceDatabase
+UnregisterIdleTask
+UnregisterTraceGuids
+UpdateTraceA
+UpdateTraceW
+WdmWmiServiceMain
+WmiCloseBlock
+WmiCloseTraceWithCursor
+WmiConvertTimestamp
+WmiDevInstToInstanceNameA
+WmiDevInstToInstanceNameW
+WmiEnumerateGuids
+WmiExecuteMethodA
+WmiExecuteMethodW
+WmiFileHandleToInstanceNameA
+WmiFileHandleToInstanceNameW
+WmiFreeBuffer
+WmiGetFirstTraceOffset
+WmiGetNextEvent
+WmiGetTraceHeader
+WmiMofEnumerateResourcesA
+WmiMofEnumerateResourcesW
+WmiNotificationRegistrationA
+WmiNotificationRegistrationW
+WmiOpenBlock
+WmiOpenTraceWithCursor
+WmiParseTraceEvent
+WmiQueryAllDataA
+WmiQueryAllDataMultipleA
+WmiQueryAllDataMultipleW
+WmiQueryAllDataW
+WmiQueryGuidInformation
+WmiQuerySingleInstanceA
+WmiQuerySingleInstanceMultipleA
+WmiQuerySingleInstanceMultipleW
+WmiQuerySingleInstanceW
+WmiReceiveNotificationsA
+WmiReceiveNotificationsW
+WmiSetSingleInstanceA
+WmiSetSingleInstanceW
+WmiSetSingleItemA
+WmiSetSingleItemW
+Wow64Win32ApiEntry
+WriteEncryptedFileRaw
diff --git a/mingw-w64-crt/lib64/wadvpack.def b/mingw-w64-crt/lib64/wadvpack.def
index 3414309..6e9bf14 100644
--- a/mingw-w64-crt/lib64/wadvpack.def
+++ b/mingw-w64-crt/lib64/wadvpack.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file ADVPACK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ADVPACK.dll
-EXPORTS
-AddDelBackupEntry
-AdvInstallFile
-CloseINFEngine
-DelNode
-DelNodeRunDLL32
-DllMain
-DoInfInstall
-ExecuteCab
-ExtractFiles
-FileSaveMarkNotExist
-FileSaveRestore
-FileSaveRestoreOnINF
-GetVersionFromFile
-GetVersionFromFileEx
-IsNTAdmin
-LaunchINFSection
-LaunchINFSectionEx
-NeedReboot
-NeedRebootInit
-OpenINFEngine
-RebootCheckOnInstall
-RegInstall
-RegRestoreAll
-RegSaveRestore
-RegSaveRestoreOnINF
-RegisterOCX
-RunSetupCommand
-SetPerUserSecValues
-TranslateInfString
-TranslateInfStringEx
-UserInstStubWrapper
-UserUnInstStubWrapper
+; 
+; Exports of file ADVPACK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ADVPACK.dll
+EXPORTS
+AddDelBackupEntry
+AdvInstallFile
+CloseINFEngine
+DelNode
+DelNodeRunDLL32
+DllMain
+DoInfInstall
+ExecuteCab
+ExtractFiles
+FileSaveMarkNotExist
+FileSaveRestore
+FileSaveRestoreOnINF
+GetVersionFromFile
+GetVersionFromFileEx
+IsNTAdmin
+LaunchINFSection
+LaunchINFSectionEx
+NeedReboot
+NeedRebootInit
+OpenINFEngine
+RebootCheckOnInstall
+RegInstall
+RegRestoreAll
+RegSaveRestore
+RegSaveRestoreOnINF
+RegisterOCX
+RunSetupCommand
+SetPerUserSecValues
+TranslateInfString
+TranslateInfStringEx
+UserInstStubWrapper
+UserUnInstStubWrapper
diff --git a/mingw-w64-crt/lib64/waelupsvc.def b/mingw-w64-crt/lib64/waelupsvc.def
index 7edbdd6..539eae5 100644
--- a/mingw-w64-crt/lib64/waelupsvc.def
+++ b/mingw-w64-crt/lib64/waelupsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file AELUPSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AELUPSVC.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file AELUPSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AELUPSVC.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/wagentanm.def b/mingw-w64-crt/lib64/wagentanm.def
index 9805666..13512f9 100644
--- a/mingw-w64-crt/lib64/wagentanm.def
+++ b/mingw-w64-crt/lib64/wagentanm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentAnm.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentAnm.DLL
-EXPORTS
-CreateAgentAnimA
-CreateAgentAnimW
-CreateAgentRenderA
-CreateAgentRenderW
+; 
+; Exports of file AgentAnm.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentAnm.DLL
+EXPORTS
+CreateAgentAnimA
+CreateAgentAnimW
+CreateAgentRenderA
+CreateAgentRenderW
diff --git a/mingw-w64-crt/lib64/wagentctl.def b/mingw-w64-crt/lib64/wagentctl.def
index cb66c70..5268b0e 100644
--- a/mingw-w64-crt/lib64/wagentctl.def
+++ b/mingw-w64-crt/lib64/wagentctl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentCtl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentCtl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentCtl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentCtl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wagentdp2.def b/mingw-w64-crt/lib64/wagentdp2.def
index 98aacdf..e871f01 100644
--- a/mingw-w64-crt/lib64/wagentdp2.def
+++ b/mingw-w64-crt/lib64/wagentdp2.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentDP2.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentDP2.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentDP2.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentDP2.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wagentdpv.def b/mingw-w64-crt/lib64/wagentdpv.def
index cec0839..9ed5b08 100644
--- a/mingw-w64-crt/lib64/wagentdpv.def
+++ b/mingw-w64-crt/lib64/wagentdpv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentDPv.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentDPv.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentDPv.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentDPv.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wagentmpx.def b/mingw-w64-crt/lib64/wagentmpx.def
index bbaeee1..d628249 100644
--- a/mingw-w64-crt/lib64/wagentmpx.def
+++ b/mingw-w64-crt/lib64/wagentmpx.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentMPx.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentMPx.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentMPx.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentMPx.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wagentpsh.def b/mingw-w64-crt/lib64/wagentpsh.def
index e811f37..e94b12a 100644
--- a/mingw-w64-crt/lib64/wagentpsh.def
+++ b/mingw-w64-crt/lib64/wagentpsh.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentPsh.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentPsh.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentPsh.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentPsh.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wagentsr.def b/mingw-w64-crt/lib64/wagentsr.def
index c0f2b77..a15533d 100644
--- a/mingw-w64-crt/lib64/wagentsr.def
+++ b/mingw-w64-crt/lib64/wagentsr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgentSR.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgentSR.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgentSR.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgentSR.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wagtintl.def b/mingw-w64-crt/lib64/wagtintl.def
index 847e1dd..e03c9c5 100644
--- a/mingw-w64-crt/lib64/wagtintl.def
+++ b/mingw-w64-crt/lib64/wagtintl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file AgtIntl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AgtIntl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AgtIntl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AgtIntl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wair300pp.def b/mingw-w64-crt/lib64/wair300pp.def
index 3f2a537..b0e808f 100644
--- a/mingw-w64-crt/lib64/wair300pp.def
+++ b/mingw-w64-crt/lib64/wair300pp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file air300pp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY air300pp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-AirCardDevicePropPage
+; 
+; Exports of file air300pp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY air300pp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+AirCardDevicePropPage
diff --git a/mingw-w64-crt/lib64/wam.def b/mingw-w64-crt/lib64/wam.def
index 419d191..3d33eb5 100644
--- a/mingw-w64-crt/lib64/wam.def
+++ b/mingw-w64-crt/lib64/wam.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WAM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WAM.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WAM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WAM.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wamps.def b/mingw-w64-crt/lib64/wamps.def
index f3184b4..80f5e91 100644
--- a/mingw-w64-crt/lib64/wamps.def
+++ b/mingw-w64-crt/lib64/wamps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file isapips.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY isapips.dll
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file isapips.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY isapips.dll
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wamreg.def b/mingw-w64-crt/lib64/wamreg.def
index 369aaa8..41b6ab5 100644
--- a/mingw-w64-crt/lib64/wamreg.def
+++ b/mingw-w64-crt/lib64/wamreg.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file wamreg.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wamreg.DLL
-EXPORTS
-CreateIISPackage
-DeleteIISPackage
-WamReg_RegisterSinkNotify
-WamReg_UnRegisterSinkNotify
-InstallWam
-UnInstallWam
-CreateCOMPlusApplication
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wamreg.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wamreg.DLL
+EXPORTS
+CreateIISPackage
+DeleteIISPackage
+WamReg_RegisterSinkNotify
+WamReg_UnRegisterSinkNotify
+InstallWam
+UnInstallWam
+CreateCOMPlusApplication
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wamregps.def b/mingw-w64-crt/lib64/wamregps.def
index 203300f..1462010 100644
--- a/mingw-w64-crt/lib64/wamregps.def
+++ b/mingw-w64-crt/lib64/wamregps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file WAMREGPS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WAMREGPS.DLL
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WAMREGPS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WAMREGPS.DLL
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wamstream.def b/mingw-w64-crt/lib64/wamstream.def
index fbcacca..58af561 100644
--- a/mingw-w64-crt/lib64/wamstream.def
+++ b/mingw-w64-crt/lib64/wamstream.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file amstream.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY amstream.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file amstream.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY amstream.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wapcups.def b/mingw-w64-crt/lib64/wapcups.def
index 9b9099d..dd1f20c 100644
--- a/mingw-w64-crt/lib64/wapcups.def
+++ b/mingw-w64-crt/lib64/wapcups.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file apcups.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY apcups.dll
-EXPORTS
-UPSCancelWait
-UPSGetState
-UPSInit
-UPSStop
-UPSTurnOff
-UPSWaitForStateChange
+; 
+; Exports of file apcups.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY apcups.dll
+EXPORTS
+UPSCancelWait
+UPSGetState
+UPSInit
+UPSStop
+UPSTurnOff
+UPSWaitForStateChange
diff --git a/mingw-w64-crt/lib64/wapphelp.def b/mingw-w64-crt/lib64/wapphelp.def
index 52b9ed7..8bf71ad 100644
--- a/mingw-w64-crt/lib64/wapphelp.def
+++ b/mingw-w64-crt/lib64/wapphelp.def
@@ -1,166 +1,166 @@
-; 
-; Exports of file apphelp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY apphelp.dll
-EXPORTS
-AllowPermLayer
-ApphelpCheckExe
-ApphelpCheckIME
-ApphelpCheckInstallShieldPackage
-ApphelpCheckMsiPackage
-ApphelpCheckRunApp
-ApphelpCheckShellObject
-ApphelpFixMsiPackage
-ApphelpFixMsiPackageExe
-ApphelpFreeFileAttributes
-ApphelpGetFileAttributes
-ApphelpGetNTVDMInfo
-ApphelpGetShimDebugLevel
-ApphelpQueryModuleData
-ApphelpReleaseExe
-ApphelpShowDialog
-ApphelpShowUI
-ApphelpUpdateCacheEntry
-GetPermLayers
-SdbBeginWriteListTag
-SdbBuildCompatEnvVariables
-SdbCloseApphelpInformation
-SdbCloseDatabase
-SdbCloseDatabaseWrite
-SdbCloseLocalDatabase
-SdbCommitIndexes
-SdbCreateDatabase
-SdbCreateHelpCenterURL
-SdbCreateMsiTransformFile
-SdbDeclareIndex
-SdbDeletePermLayerKeys
-SdbEndWriteListTag
-SdbEnumMsiTransforms
-SdbEscapeApphelpURL
-SdbFindCustomActionForPackage
-SdbFindFirstDWORDIndexedTag
-SdbFindFirstGUIDIndexedTag
-SdbFindFirstMsiPackage
-SdbFindFirstMsiPackage_Str
-SdbFindFirstNamedTag
-SdbFindFirstStringIndexedTag
-SdbFindFirstTag
-SdbFindFirstTagRef
-SdbFindMsiPackageByID
-SdbFindNextDWORDIndexedTag
-SdbFindNextGUIDIndexedTag
-SdbFindNextMsiPackage
-SdbFindNextStringIndexedTag
-SdbFindNextTag
-SdbFindNextTagRef
-SdbFormatAttribute
-SdbFreeDatabaseInformation
-SdbFreeFileAttributes
-SdbFreeFileInfo
-SdbFreeFlagInfo
-SdbGUIDFromString
-SdbGUIDToString
-SdbGetAppCompatDataSize
-SdbGetAppPatchDir
-SdbGetBinaryTagData
-SdbGetDatabaseGUID
-SdbGetDatabaseID
-SdbGetDatabaseInformation
-SdbGetDatabaseInformationByName
-SdbGetDatabaseMatch
-SdbGetDatabaseVersion
-SdbGetDllPath
-SdbGetEntryFlags
-SdbGetFileAttributes
-SdbGetFileInfo
-SdbGetFirstChild
-SdbGetImageType
-SdbGetIndex
-SdbGetItemFromItemRef
-SdbGetLayerName
-SdbGetLayerTagRef
-SdbGetLocalPDB
-SdbGetMatchingExe
-SdbGetMsiPackageInformation
-SdbGetNamedLayer
-SdbGetNextChild
-SdbGetNthUserSdb
-SdbGetPDBFromGUID
-SdbGetPermLayerKeys
-SdbGetShowDebugInfoOption
-SdbGetShowDebugInfoOptionValue
-SdbGetStandardDatabaseGUID
-SdbGetStringTagPtr
-SdbGetTagDataSize
-SdbGetTagFromTagID
-SdbGrabMatchingInfo
-SdbGrabMatchingInfoEx
-SdbInitDatabase
-SdbInitDatabaseEx
-SdbIsNullGUID
-SdbIsTagrefFromLocalDB
-SdbIsTagrefFromMainDB
-SdbMakeIndexKeyFromString
-SdbOpenApphelpDetailsDatabase
-SdbOpenApphelpDetailsDatabaseSP
-SdbOpenApphelpInformation
-SdbOpenApphelpInformationByID
-SdbOpenDatabase
-SdbOpenLocalDatabase
-SdbPackAppCompatData
-SdbQueryApphelpInformation
-SdbQueryData
-SdbQueryDataEx
-SdbQueryDataExTagID
-SdbQueryFlagInfo
-SdbQueryFlagMask
-SdbReadApphelpData
-SdbReadApphelpDetailsData
-SdbReadBYTETag
-SdbReadBYTETagRef
-SdbReadBinaryTag
-SdbReadDWORDTag
-SdbReadDWORDTagRef
-SdbReadEntryInformation
-SdbReadMsiTransformInfo
-SdbReadPatchBits
-SdbReadQWORDTag
-SdbReadQWORDTagRef
-SdbReadStringTag
-SdbReadStringTagRef
-SdbReadWORDTag
-SdbReadWORDTagRef
-SdbRegisterDatabase
-SdbRegisterDatabaseEx
-SdbReleaseDatabase
-SdbReleaseMatchingExe
-SdbResolveDatabase
-SdbSetApphelpDebugParameters
-SdbSetEntryFlags
-SdbSetImageType
-SdbSetPermLayerKeys
-SdbShowApphelpDialog
-SdbStartIndexing
-SdbStopIndexing
-SdbTagIDToTagRef
-SdbTagRefToTagID
-SdbTagToString
-SdbUnpackAppCompatData
-SdbUnregisterDatabase
-SdbWriteBYTETag
-SdbWriteBinaryTag
-SdbWriteBinaryTagFromFile
-SdbWriteDWORDTag
-SdbWriteNULLTag
-SdbWriteQWORDTag
-SdbWriteStringRefTag
-SdbWriteStringTag
-SdbWriteStringTagDirect
-SdbWriteWORDTag
-SetPermLayers
-ShimDbgPrint
-ShimDumpCache
-ShimFlushCache
+; 
+; Exports of file apphelp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY apphelp.dll
+EXPORTS
+AllowPermLayer
+ApphelpCheckExe
+ApphelpCheckIME
+ApphelpCheckInstallShieldPackage
+ApphelpCheckMsiPackage
+ApphelpCheckRunApp
+ApphelpCheckShellObject
+ApphelpFixMsiPackage
+ApphelpFixMsiPackageExe
+ApphelpFreeFileAttributes
+ApphelpGetFileAttributes
+ApphelpGetNTVDMInfo
+ApphelpGetShimDebugLevel
+ApphelpQueryModuleData
+ApphelpReleaseExe
+ApphelpShowDialog
+ApphelpShowUI
+ApphelpUpdateCacheEntry
+GetPermLayers
+SdbBeginWriteListTag
+SdbBuildCompatEnvVariables
+SdbCloseApphelpInformation
+SdbCloseDatabase
+SdbCloseDatabaseWrite
+SdbCloseLocalDatabase
+SdbCommitIndexes
+SdbCreateDatabase
+SdbCreateHelpCenterURL
+SdbCreateMsiTransformFile
+SdbDeclareIndex
+SdbDeletePermLayerKeys
+SdbEndWriteListTag
+SdbEnumMsiTransforms
+SdbEscapeApphelpURL
+SdbFindCustomActionForPackage
+SdbFindFirstDWORDIndexedTag
+SdbFindFirstGUIDIndexedTag
+SdbFindFirstMsiPackage
+SdbFindFirstMsiPackage_Str
+SdbFindFirstNamedTag
+SdbFindFirstStringIndexedTag
+SdbFindFirstTag
+SdbFindFirstTagRef
+SdbFindMsiPackageByID
+SdbFindNextDWORDIndexedTag
+SdbFindNextGUIDIndexedTag
+SdbFindNextMsiPackage
+SdbFindNextStringIndexedTag
+SdbFindNextTag
+SdbFindNextTagRef
+SdbFormatAttribute
+SdbFreeDatabaseInformation
+SdbFreeFileAttributes
+SdbFreeFileInfo
+SdbFreeFlagInfo
+SdbGUIDFromString
+SdbGUIDToString
+SdbGetAppCompatDataSize
+SdbGetAppPatchDir
+SdbGetBinaryTagData
+SdbGetDatabaseGUID
+SdbGetDatabaseID
+SdbGetDatabaseInformation
+SdbGetDatabaseInformationByName
+SdbGetDatabaseMatch
+SdbGetDatabaseVersion
+SdbGetDllPath
+SdbGetEntryFlags
+SdbGetFileAttributes
+SdbGetFileInfo
+SdbGetFirstChild
+SdbGetImageType
+SdbGetIndex
+SdbGetItemFromItemRef
+SdbGetLayerName
+SdbGetLayerTagRef
+SdbGetLocalPDB
+SdbGetMatchingExe
+SdbGetMsiPackageInformation
+SdbGetNamedLayer
+SdbGetNextChild
+SdbGetNthUserSdb
+SdbGetPDBFromGUID
+SdbGetPermLayerKeys
+SdbGetShowDebugInfoOption
+SdbGetShowDebugInfoOptionValue
+SdbGetStandardDatabaseGUID
+SdbGetStringTagPtr
+SdbGetTagDataSize
+SdbGetTagFromTagID
+SdbGrabMatchingInfo
+SdbGrabMatchingInfoEx
+SdbInitDatabase
+SdbInitDatabaseEx
+SdbIsNullGUID
+SdbIsTagrefFromLocalDB
+SdbIsTagrefFromMainDB
+SdbMakeIndexKeyFromString
+SdbOpenApphelpDetailsDatabase
+SdbOpenApphelpDetailsDatabaseSP
+SdbOpenApphelpInformation
+SdbOpenApphelpInformationByID
+SdbOpenDatabase
+SdbOpenLocalDatabase
+SdbPackAppCompatData
+SdbQueryApphelpInformation
+SdbQueryData
+SdbQueryDataEx
+SdbQueryDataExTagID
+SdbQueryFlagInfo
+SdbQueryFlagMask
+SdbReadApphelpData
+SdbReadApphelpDetailsData
+SdbReadBYTETag
+SdbReadBYTETagRef
+SdbReadBinaryTag
+SdbReadDWORDTag
+SdbReadDWORDTagRef
+SdbReadEntryInformation
+SdbReadMsiTransformInfo
+SdbReadPatchBits
+SdbReadQWORDTag
+SdbReadQWORDTagRef
+SdbReadStringTag
+SdbReadStringTagRef
+SdbReadWORDTag
+SdbReadWORDTagRef
+SdbRegisterDatabase
+SdbRegisterDatabaseEx
+SdbReleaseDatabase
+SdbReleaseMatchingExe
+SdbResolveDatabase
+SdbSetApphelpDebugParameters
+SdbSetEntryFlags
+SdbSetImageType
+SdbSetPermLayerKeys
+SdbShowApphelpDialog
+SdbStartIndexing
+SdbStopIndexing
+SdbTagIDToTagRef
+SdbTagRefToTagID
+SdbTagToString
+SdbUnpackAppCompatData
+SdbUnregisterDatabase
+SdbWriteBYTETag
+SdbWriteBinaryTag
+SdbWriteBinaryTagFromFile
+SdbWriteDWORDTag
+SdbWriteNULLTag
+SdbWriteQWORDTag
+SdbWriteStringRefTag
+SdbWriteStringTag
+SdbWriteStringTagDirect
+SdbWriteWORDTag
+SetPermLayers
+ShimDbgPrint
+ShimDumpCache
+ShimFlushCache
diff --git a/mingw-w64-crt/lib64/wappmgmts.def b/mingw-w64-crt/lib64/wappmgmts.def
index dc3851c..d2f2749 100644
--- a/mingw-w64-crt/lib64/wappmgmts.def
+++ b/mingw-w64-crt/lib64/wappmgmts.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file APPMGMTS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY APPMGMTS.dll
-EXPORTS
-CsSetOptions
-CsCreateClassStore
-CsEnumApps
-CsGetAppCategories
-CsGetClassAccess
-CsGetClassStore
-CsGetClassStorePath
-CsRegisterAppCategory
-CsServerGetClassStore
-CsUnregisterAppCategory
-GenerateGroupPolicy
-IID_IClassAdmin
-ProcessGroupPolicyObjectsEx
-ReleaseAppCategoryInfoList
-ReleasePackageDetail
-ReleasePackageInfo
-ServiceMain
+; 
+; Exports of file APPMGMTS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY APPMGMTS.dll
+EXPORTS
+CsSetOptions
+CsCreateClassStore
+CsEnumApps
+CsGetAppCategories
+CsGetClassAccess
+CsGetClassStore
+CsGetClassStorePath
+CsRegisterAppCategory
+CsServerGetClassStore
+CsUnregisterAppCategory
+GenerateGroupPolicy
+IID_IClassAdmin
+ProcessGroupPolicyObjectsEx
+ReleaseAppCategoryInfoList
+ReleasePackageDetail
+ReleasePackageInfo
+ServiceMain
diff --git a/mingw-w64-crt/lib64/wappmgr.def b/mingw-w64-crt/lib64/wappmgr.def
index 77752d9..f75bfb8 100644
--- a/mingw-w64-crt/lib64/wappmgr.def
+++ b/mingw-w64-crt/lib64/wappmgr.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file SNAPIN.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SNAPIN.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GenerateScript
+; 
+; Exports of file SNAPIN.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SNAPIN.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GenerateScript
diff --git a/mingw-w64-crt/lib64/wasp.def b/mingw-w64-crt/lib64/wasp.def
index c6a118e..b73ae21 100644
--- a/mingw-w64-crt/lib64/wasp.def
+++ b/mingw-w64-crt/lib64/wasp.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file asp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY asp.dll
-EXPORTS
-AspStatusHtmlDump
-DllRegisterServer
-DllUnregisterServer
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file asp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY asp.dll
+EXPORTS
+AspStatusHtmlDump
+DllRegisterServer
+DllUnregisterServer
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/waspperf.def b/mingw-w64-crt/lib64/waspperf.def
index bf0c0f3..e75e71a 100644
--- a/mingw-w64-crt/lib64/waspperf.def
+++ b/mingw-w64-crt/lib64/waspperf.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file aspperf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY aspperf.dll
-EXPORTS
-OpenASPPerformanceData
-CollectASPPerformanceData
-CloseASPPerformanceData
-RegisterAXS
-UnRegisterAXS
+; 
+; Exports of file aspperf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY aspperf.dll
+EXPORTS
+OpenASPPerformanceData
+CollectASPPerformanceData
+CloseASPPerformanceData
+RegisterAXS
+UnRegisterAXS
diff --git a/mingw-w64-crt/lib64/wasycfilt.def b/mingw-w64-crt/lib64/wasycfilt.def
index 6afdc3a..476e072 100644
--- a/mingw-w64-crt/lib64/wasycfilt.def
+++ b/mingw-w64-crt/lib64/wasycfilt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ASYCFILT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ASYCFILT.dll
-EXPORTS
-DllCanUnloadNow
-FilterCreateInstance
+; 
+; Exports of file ASYCFILT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ASYCFILT.dll
+EXPORTS
+DllCanUnloadNow
+FilterCreateInstance
diff --git a/mingw-w64-crt/lib64/watkctrs.def b/mingw-w64-crt/lib64/watkctrs.def
index 4392004..c65ac1c 100644
--- a/mingw-w64-crt/lib64/watkctrs.def
+++ b/mingw-w64-crt/lib64/watkctrs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file atkctrs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY atkctrs.dll
-EXPORTS
-OpenAtkPerformanceData
-CollectAtkPerformanceData
-CloseAtkPerformanceData
+; 
+; Exports of file atkctrs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY atkctrs.dll
+EXPORTS
+OpenAtkPerformanceData
+CollectAtkPerformanceData
+CloseAtkPerformanceData
diff --git a/mingw-w64-crt/lib64/watl.def b/mingw-w64-crt/lib64/watl.def
index cab539e..5a96a12 100644
--- a/mingw-w64-crt/lib64/watl.def
+++ b/mingw-w64-crt/lib64/watl.def
@@ -1,60 +1,60 @@
-; 
-; Exports of file ATL.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ATL.DLL
-EXPORTS
-AtlAdvise
-AtlUnadvise
-AtlFreeMarshalStream
-AtlMarshalPtrInProc
-AtlUnmarshalPtr
-AtlModuleGetClassObject
-AtlModuleInit
-AtlModuleRegisterClassObjects
-AtlModuleRegisterServer
-AtlModuleRegisterTypeLib
-AtlModuleRevokeClassObjects
-AtlModuleTerm
-AtlModuleUnregisterServer
-AtlModuleUpdateRegistryFromResourceD
-AtlWaitWithMessageLoop
-AtlSetErrorInfo
-AtlCreateTargetDC
-AtlHiMetricToPixel
-AtlPixelToHiMetric
-AtlDevModeW2A
-AtlComPtrAssign
-AtlComQIPtrAssign
-AtlInternalQueryInterface
-DllCanUnloadNow
-AtlGetVersion
-AtlAxDialogBoxW
-AtlAxDialogBoxA
-AtlAxCreateDialogW
-AtlAxCreateDialogA
-AtlAxCreateControl
-AtlAxCreateControlEx
-AtlAxAttachControl
-AtlAxWinInit
-AtlModuleAddCreateWndData
-AtlModuleExtractCreateWndData
-AtlModuleRegisterWndClassInfoW
-AtlModuleRegisterWndClassInfoA
-AtlAxGetControl
-AtlAxGetHost
-AtlRegisterClassCategoriesHelper
-AtlIPersistStreamInit_Load
-AtlIPersistStreamInit_Save
-AtlIPersistPropertyBag_Load
-AtlIPersistPropertyBag_Save
-AtlGetObjectSourceInterface
-AtlModuleUnRegisterTypeLib
-AtlModuleLoadTypeLib
-AtlModuleUnregisterServerEx
-AtlModuleAddTermFunc
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ATL.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ATL.DLL
+EXPORTS
+AtlAdvise
+AtlUnadvise
+AtlFreeMarshalStream
+AtlMarshalPtrInProc
+AtlUnmarshalPtr
+AtlModuleGetClassObject
+AtlModuleInit
+AtlModuleRegisterClassObjects
+AtlModuleRegisterServer
+AtlModuleRegisterTypeLib
+AtlModuleRevokeClassObjects
+AtlModuleTerm
+AtlModuleUnregisterServer
+AtlModuleUpdateRegistryFromResourceD
+AtlWaitWithMessageLoop
+AtlSetErrorInfo
+AtlCreateTargetDC
+AtlHiMetricToPixel
+AtlPixelToHiMetric
+AtlDevModeW2A
+AtlComPtrAssign
+AtlComQIPtrAssign
+AtlInternalQueryInterface
+DllCanUnloadNow
+AtlGetVersion
+AtlAxDialogBoxW
+AtlAxDialogBoxA
+AtlAxCreateDialogW
+AtlAxCreateDialogA
+AtlAxCreateControl
+AtlAxCreateControlEx
+AtlAxAttachControl
+AtlAxWinInit
+AtlModuleAddCreateWndData
+AtlModuleExtractCreateWndData
+AtlModuleRegisterWndClassInfoW
+AtlModuleRegisterWndClassInfoA
+AtlAxGetControl
+AtlAxGetHost
+AtlRegisterClassCategoriesHelper
+AtlIPersistStreamInit_Load
+AtlIPersistStreamInit_Save
+AtlIPersistPropertyBag_Load
+AtlIPersistPropertyBag_Save
+AtlGetObjectSourceInterface
+AtlModuleUnRegisterTypeLib
+AtlModuleLoadTypeLib
+AtlModuleUnregisterServerEx
+AtlModuleAddTermFunc
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/watmlib.def b/mingw-w64-crt/lib64/watmlib.def
index be1ec0b..9d670b3 100644
--- a/mingw-w64-crt/lib64/watmlib.def
+++ b/mingw-w64-crt/lib64/watmlib.def
@@ -1,84 +1,84 @@
-; 
-; Exports of file ATMLIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ATMLIB.dll
-EXPORTS
-ATMAddFont
-ATMAddFontA
-ATMAddFontEx
-ATMAddFontExA
-ATMAddFontExW
-ATMAddFontW
-ATMBBoxBaseXYShowText
-ATMBBoxBaseXYShowTextA
-ATMBBoxBaseXYShowTextW
-ATMBeginFontChange
-ATMClient
-ATMEndFontChange
-ATMEnumFonts
-ATMEnumFontsA
-ATMEnumFontsW
-ATMEnumMMFonts
-ATMEnumMMFontsA
-ATMEnumMMFontsW
-ATMFinish
-ATMFontAvailable
-ATMFontAvailableA
-ATMFontAvailableW
-ATMFontSelected
-ATMFontStatus
-ATMFontStatusA
-ATMFontStatusW
-ATMForceFontChange
-ATMGetBuildStr
-ATMGetBuildStrA
-ATMGetBuildStrW
-ATMGetFontBBox
-ATMGetFontInfo
-ATMGetFontInfoA
-ATMGetFontInfoW
-ATMGetFontPaths
-ATMGetFontPathsA
-ATMGetFontPathsW
-ATMGetGlyphList
-ATMGetGlyphListA
-ATMGetGlyphListW
-ATMGetMenuName
-ATMGetMenuNameA
-ATMGetMenuNameW
-ATMGetNtmFields
-ATMGetNtmFieldsA
-ATMGetNtmFieldsW
-ATMGetOutline
-ATMGetOutlineA
-ATMGetOutlineW
-ATMGetPostScriptName
-ATMGetPostScriptNameA
-ATMGetPostScriptNameW
-ATMGetVersion
-ATMGetVersionEx
-ATMGetVersionExA
-ATMGetVersionExW
-ATMInstallSubstFontA
-ATMInstallSubstFontW
-ATMMakePFM
-ATMMakePFMA
-ATMMakePFMW
-ATMMakePSS
-ATMMakePSSA
-ATMMakePSSW
-ATMProperlyLoaded
-ATMRemoveFont
-ATMRemoveFontA
-ATMRemoveFontW
-ATMRemoveSubstFontA
-ATMRemoveSubstFontW
-ATMSelectEncoding
-ATMSelectObject
-ATMSetFlags
-ATMXYShowText
-ATMXYShowTextA
-ATMXYShowTextW
+; 
+; Exports of file ATMLIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ATMLIB.dll
+EXPORTS
+ATMAddFont
+ATMAddFontA
+ATMAddFontEx
+ATMAddFontExA
+ATMAddFontExW
+ATMAddFontW
+ATMBBoxBaseXYShowText
+ATMBBoxBaseXYShowTextA
+ATMBBoxBaseXYShowTextW
+ATMBeginFontChange
+ATMClient
+ATMEndFontChange
+ATMEnumFonts
+ATMEnumFontsA
+ATMEnumFontsW
+ATMEnumMMFonts
+ATMEnumMMFontsA
+ATMEnumMMFontsW
+ATMFinish
+ATMFontAvailable
+ATMFontAvailableA
+ATMFontAvailableW
+ATMFontSelected
+ATMFontStatus
+ATMFontStatusA
+ATMFontStatusW
+ATMForceFontChange
+ATMGetBuildStr
+ATMGetBuildStrA
+ATMGetBuildStrW
+ATMGetFontBBox
+ATMGetFontInfo
+ATMGetFontInfoA
+ATMGetFontInfoW
+ATMGetFontPaths
+ATMGetFontPathsA
+ATMGetFontPathsW
+ATMGetGlyphList
+ATMGetGlyphListA
+ATMGetGlyphListW
+ATMGetMenuName
+ATMGetMenuNameA
+ATMGetMenuNameW
+ATMGetNtmFields
+ATMGetNtmFieldsA
+ATMGetNtmFieldsW
+ATMGetOutline
+ATMGetOutlineA
+ATMGetOutlineW
+ATMGetPostScriptName
+ATMGetPostScriptNameA
+ATMGetPostScriptNameW
+ATMGetVersion
+ATMGetVersionEx
+ATMGetVersionExA
+ATMGetVersionExW
+ATMInstallSubstFontA
+ATMInstallSubstFontW
+ATMMakePFM
+ATMMakePFMA
+ATMMakePFMW
+ATMMakePSS
+ATMMakePSSA
+ATMMakePSSW
+ATMProperlyLoaded
+ATMRemoveFont
+ATMRemoveFontA
+ATMRemoveFontW
+ATMRemoveSubstFontA
+ATMRemoveSubstFontW
+ATMSelectEncoding
+ATMSelectObject
+ATMSetFlags
+ATMXYShowText
+ATMXYShowTextA
+ATMXYShowTextW
diff --git a/mingw-w64-crt/lib64/watmpvcno.def b/mingw-w64-crt/lib64/watmpvcno.def
index b214c78..94699a0 100644
--- a/mingw-w64-crt/lib64/watmpvcno.def
+++ b/mingw-w64-crt/lib64/watmpvcno.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SFILTER2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SFILTER2.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SFILTER2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SFILTER2.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/waudiodev.def b/mingw-w64-crt/lib64/waudiodev.def
index 64f98ed..429dee9 100644
--- a/mingw-w64-crt/lib64/waudiodev.def
+++ b/mingw-w64-crt/lib64/waudiodev.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file SHMEDIA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SHMEDIA.dll
-EXPORTS
-_CDefFolderMenu_MergeMenu@16
-_CIDLData_CreateFromIDArray@16
-_ConnectToConnectionPoint@24
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-_GUIDFromStringW@8
-_GetUIVersion@0
-_IUnknown_AtomicRelease@4
-_IUnknown_GetWindow@8
-_IUnknown_QueryService@16
-_IUnknown_Set@8
-_IUnknown_SetSite@8
-_IsOS@4
-_ParseURLW@8
-_SHAnsiToUnicode@12
-_SHCoCreateInstanceAC@20
-_SHFormatDateTimeW@16
-_SHGetMenuFromID@8
-_SHGetObjectCompatFlags@8
-_SHInvokeCommandOnContextMenu@20
-_SHInvokeCommandsOnContextMenu@24
-_SHLoadRegUIStringW@16
-_SHStringFromGUIDW@12
-_SHUnicodeToAnsi@12
+; 
+; Exports of file SHMEDIA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SHMEDIA.dll
+EXPORTS
+_CDefFolderMenu_MergeMenu@16
+_CIDLData_CreateFromIDArray@16
+_ConnectToConnectionPoint@24
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+_GUIDFromStringW@8
+_GetUIVersion@0
+_IUnknown_AtomicRelease@4
+_IUnknown_GetWindow@8
+_IUnknown_QueryService@16
+_IUnknown_Set@8
+_IUnknown_SetSite@8
+_IsOS@4
+_ParseURLW@8
+_SHAnsiToUnicode@12
+_SHCoCreateInstanceAC@20
+_SHFormatDateTimeW@16
+_SHGetMenuFromID@8
+_SHGetObjectCompatFlags@8
+_SHInvokeCommandOnContextMenu@20
+_SHInvokeCommandsOnContextMenu@24
+_SHLoadRegUIStringW@16
+_SHStringFromGUIDW@12
+_SHUnicodeToAnsi@12
diff --git a/mingw-w64-crt/lib64/waudiosrv.def b/mingw-w64-crt/lib64/waudiosrv.def
index 2e2b106..5e576da 100644
--- a/mingw-w64-crt/lib64/waudiosrv.def
+++ b/mingw-w64-crt/lib64/waudiosrv.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file AUDIOSRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AUDIOSRV.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file AUDIOSRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AUDIOSRV.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/wauthz.def b/mingw-w64-crt/lib64/wauthz.def
index 7f34cad..b08914f 100644
--- a/mingw-w64-crt/lib64/wauthz.def
+++ b/mingw-w64-crt/lib64/wauthz.def
@@ -1,49 +1,49 @@
-; 
-; Exports of file AUTHZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AUTHZ.dll
-EXPORTS
-AuthzAccessCheck
-AuthzAddSidsToContext
-AuthzCachedAccessCheck
-AuthzEnumerateSecurityEventSources
-AuthzFreeAuditEvent
-AuthzFreeContext
-AuthzFreeHandle
-AuthzFreeResourceManager
-AuthzGetInformationFromContext
-AuthzInitializeContextFromAuthzContext
-AuthzInitializeContextFromSid
-AuthzInitializeContextFromToken
-AuthzInitializeObjectAccessAuditEvent
-AuthzInitializeObjectAccessAuditEvent2
-AuthzInitializeResourceManager
-AuthzInstallSecurityEventSource
-AuthzOpenObjectAudit
-AuthzRegisterSecurityEventSource
-AuthzReportSecurityEvent
-AuthzReportSecurityEventFromParams
-AuthzUninstallSecurityEventSource
-AuthzUnregisterSecurityEventSource
-AuthziAllocateAuditParams
-AuthziFreeAuditEventType
-AuthziFreeAuditParams
-AuthziFreeAuditQueue
-AuthziInitializeAuditEvent
-AuthziInitializeAuditEventType
-AuthziInitializeAuditParams
-AuthziInitializeAuditParamsFromArray
-AuthziInitializeAuditParamsWithRM
-AuthziInitializeAuditQueue
-AuthziInitializeContextFromSid
-AuthziLogAuditEvent
-AuthziModifyAuditEvent2
-AuthziModifyAuditEvent
-AuthziModifyAuditEventType
-AuthziModifyAuditQueue
-AuthziQueryAuditPolicy
-AuthziSetAuditPolicy
-AuthziSourceAudit
+; 
+; Exports of file AUTHZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AUTHZ.dll
+EXPORTS
+AuthzAccessCheck
+AuthzAddSidsToContext
+AuthzCachedAccessCheck
+AuthzEnumerateSecurityEventSources
+AuthzFreeAuditEvent
+AuthzFreeContext
+AuthzFreeHandle
+AuthzFreeResourceManager
+AuthzGetInformationFromContext
+AuthzInitializeContextFromAuthzContext
+AuthzInitializeContextFromSid
+AuthzInitializeContextFromToken
+AuthzInitializeObjectAccessAuditEvent
+AuthzInitializeObjectAccessAuditEvent2
+AuthzInitializeResourceManager
+AuthzInstallSecurityEventSource
+AuthzOpenObjectAudit
+AuthzRegisterSecurityEventSource
+AuthzReportSecurityEvent
+AuthzReportSecurityEventFromParams
+AuthzUninstallSecurityEventSource
+AuthzUnregisterSecurityEventSource
+AuthziAllocateAuditParams
+AuthziFreeAuditEventType
+AuthziFreeAuditParams
+AuthziFreeAuditQueue
+AuthziInitializeAuditEvent
+AuthziInitializeAuditEventType
+AuthziInitializeAuditParams
+AuthziInitializeAuditParamsFromArray
+AuthziInitializeAuditParamsWithRM
+AuthziInitializeAuditQueue
+AuthziInitializeContextFromSid
+AuthziLogAuditEvent
+AuthziModifyAuditEvent2
+AuthziModifyAuditEvent
+AuthziModifyAuditEventType
+AuthziModifyAuditQueue
+AuthziQueryAuditPolicy
+AuthziSetAuditPolicy
+AuthziSourceAudit
diff --git a/mingw-w64-crt/lib64/wautodisc.def b/mingw-w64-crt/lib64/wautodisc.def
index 73b2358..ed4f51b 100644
--- a/mingw-w64-crt/lib64/wautodisc.def
+++ b/mingw-w64-crt/lib64/wautodisc.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file AutoDisc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AutoDisc.dll
-EXPORTS
-AddEmailToAutoComplete
-AutoDiscoverAndOpenEmail
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file AutoDisc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AutoDisc.dll
+EXPORTS
+AddEmailToAutoComplete
+AutoDiscoverAndOpenEmail
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wavemsp.def b/mingw-w64-crt/lib64/wavemsp.def
index d557214..8bab568 100644
--- a/mingw-w64-crt/lib64/wavemsp.def
+++ b/mingw-w64-crt/lib64/wavemsp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wavemsp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wavemsp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wavemsp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wavemsp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wavicap32.def b/mingw-w64-crt/lib64/wavicap32.def
index e7c11f0..2cc01bb 100644
--- a/mingw-w64-crt/lib64/wavicap32.def
+++ b/mingw-w64-crt/lib64/wavicap32.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file AVICAP32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AVICAP32.dll
-EXPORTS
-AppCleanup
-capCreateCaptureWindowA
-capCreateCaptureWindowW
-capGetDriverDescriptionA
-capGetDriverDescriptionW
-videoThunk32
+; 
+; Exports of file AVICAP32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AVICAP32.dll
+EXPORTS
+AppCleanup
+capCreateCaptureWindowA
+capCreateCaptureWindowW
+capGetDriverDescriptionA
+capGetDriverDescriptionW
+videoThunk32
diff --git a/mingw-w64-crt/lib64/wavifil32.def b/mingw-w64-crt/lib64/wavifil32.def
index a69f4e0..aa7591a 100644
--- a/mingw-w64-crt/lib64/wavifil32.def
+++ b/mingw-w64-crt/lib64/wavifil32.def
@@ -1,84 +1,84 @@
-; 
-; Exports of file AVIFIL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AVIFIL32.dll
-EXPORTS
-AVIBuildFilter
-AVIBuildFilterA
-AVIBuildFilterW
-AVIClearClipboard
-AVIFileAddRef
-AVIFileCreateStream
-AVIFileCreateStreamA
-AVIFileCreateStreamW
-AVIFileEndRecord
-AVIFileExit
-AVIFileGetStream
-AVIFileInfo
-AVIFileInfoA
-AVIFileInfoW
-AVIFileInit
-AVIFileOpen
-AVIFileOpenA
-AVIFileOpenW
-AVIFileReadData
-AVIFileRelease
-AVIFileWriteData
-AVIGetFromClipboard
-AVIMakeCompressedStream
-AVIMakeFileFromStreams
-AVIMakeStreamFromClipboard
-AVIPutFileOnClipboard
-AVISave
-AVISaveA
-AVISaveOptions
-AVISaveOptionsFree
-AVISaveV
-AVISaveVA
-AVISaveVW
-AVISaveW
-AVIStreamAddRef
-AVIStreamBeginStreaming
-AVIStreamCreate
-AVIStreamEndStreaming
-AVIStreamFindSample
-AVIStreamGetFrame
-AVIStreamGetFrameClose
-AVIStreamGetFrameOpen
-AVIStreamInfo
-AVIStreamInfoA
-AVIStreamInfoW
-AVIStreamLength
-AVIStreamOpenFromFile
-AVIStreamOpenFromFileA
-AVIStreamOpenFromFileW
-AVIStreamRead
-AVIStreamReadData
-AVIStreamReadFormat
-AVIStreamRelease
-AVIStreamSampleToTime
-AVIStreamSetFormat
-AVIStreamStart
-AVIStreamTimeToSample
-AVIStreamWrite
-AVIStreamWriteData
-CreateEditableStream
-DllCanUnloadNow
-DllGetClassObject
-EditStreamClone
-EditStreamCopy
-EditStreamCut
-EditStreamPaste
-EditStreamSetInfo
-EditStreamSetInfoA
-EditStreamSetInfoW
-EditStreamSetName
-EditStreamSetNameA
-EditStreamSetNameW
-IID_IAVIEditStream
-IID_IAVIFile
-IID_IAVIStream
-IID_IGetFrame
+; 
+; Exports of file AVIFIL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AVIFIL32.dll
+EXPORTS
+AVIBuildFilter
+AVIBuildFilterA
+AVIBuildFilterW
+AVIClearClipboard
+AVIFileAddRef
+AVIFileCreateStream
+AVIFileCreateStreamA
+AVIFileCreateStreamW
+AVIFileEndRecord
+AVIFileExit
+AVIFileGetStream
+AVIFileInfo
+AVIFileInfoA
+AVIFileInfoW
+AVIFileInit
+AVIFileOpen
+AVIFileOpenA
+AVIFileOpenW
+AVIFileReadData
+AVIFileRelease
+AVIFileWriteData
+AVIGetFromClipboard
+AVIMakeCompressedStream
+AVIMakeFileFromStreams
+AVIMakeStreamFromClipboard
+AVIPutFileOnClipboard
+AVISave
+AVISaveA
+AVISaveOptions
+AVISaveOptionsFree
+AVISaveV
+AVISaveVA
+AVISaveVW
+AVISaveW
+AVIStreamAddRef
+AVIStreamBeginStreaming
+AVIStreamCreate
+AVIStreamEndStreaming
+AVIStreamFindSample
+AVIStreamGetFrame
+AVIStreamGetFrameClose
+AVIStreamGetFrameOpen
+AVIStreamInfo
+AVIStreamInfoA
+AVIStreamInfoW
+AVIStreamLength
+AVIStreamOpenFromFile
+AVIStreamOpenFromFileA
+AVIStreamOpenFromFileW
+AVIStreamRead
+AVIStreamReadData
+AVIStreamReadFormat
+AVIStreamRelease
+AVIStreamSampleToTime
+AVIStreamSetFormat
+AVIStreamStart
+AVIStreamTimeToSample
+AVIStreamWrite
+AVIStreamWriteData
+CreateEditableStream
+DllCanUnloadNow
+DllGetClassObject
+EditStreamClone
+EditStreamCopy
+EditStreamCut
+EditStreamPaste
+EditStreamSetInfo
+EditStreamSetInfoA
+EditStreamSetInfoW
+EditStreamSetName
+EditStreamSetNameA
+EditStreamSetNameW
+IID_IAVIEditStream
+IID_IAVIFile
+IID_IAVIStream
+IID_IGetFrame
diff --git a/mingw-w64-crt/lib64/wavmcoxp.def b/mingw-w64-crt/lib64/wavmcoxp.def
index abb2c34..67a2e1e 100644
--- a/mingw-w64-crt/lib64/wavmcoxp.def
+++ b/mingw-w64-crt/lib64/wavmcoxp.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file AVMCOINS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AVMCOINS.DLL
-EXPORTS
-AVMCoInstall
+; 
+; Exports of file AVMCOINS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AVMCOINS.DLL
+EXPORTS
+AVMCoInstall
diff --git a/mingw-w64-crt/lib64/wazroles.def b/mingw-w64-crt/lib64/wazroles.def
index e7afdf4..09c210c 100644
--- a/mingw-w64-crt/lib64/wazroles.def
+++ b/mingw-w64-crt/lib64/wazroles.def
@@ -1,52 +1,52 @@
-; 
-; Exports of file azroles.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY azroles.DLL
-EXPORTS
-AzAddPropertyItem
-AzApplicationClose
-AzApplicationCreate
-AzApplicationDelete
-AzApplicationEnum
-AzApplicationOpen
-AzAuthorizationStoreDelete
-AzCloseHandle
-AzContextAccessCheck
-AzContextGetAssignedScopesPage
-AzContextGetRoles
-AzFreeMemory
-AzGetProperty
-AzGroupCreate
-AzGroupDelete
-AzGroupEnum
-AzGroupOpen
-AzInitialize
-AzInitializeContextFromName
-AzInitializeContextFromToken
-AzOperationCreate
-AzOperationDelete
-AzOperationEnum
-AzOperationOpen
-AzRemovePropertyItem
-AzRoleCreate
-AzRoleDelete
-AzRoleEnum
-AzRoleOpen
-AzScopeCreate
-AzScopeDelete
-AzScopeEnum
-AzScopeOpen
-AzSetProperty
-AzSubmit
-AzTaskCreate
-AzTaskDelete
-AzTaskEnum
-AzTaskOpen
-AzUpdateCache
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file azroles.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY azroles.DLL
+EXPORTS
+AzAddPropertyItem
+AzApplicationClose
+AzApplicationCreate
+AzApplicationDelete
+AzApplicationEnum
+AzApplicationOpen
+AzAuthorizationStoreDelete
+AzCloseHandle
+AzContextAccessCheck
+AzContextGetAssignedScopesPage
+AzContextGetRoles
+AzFreeMemory
+AzGetProperty
+AzGroupCreate
+AzGroupDelete
+AzGroupEnum
+AzGroupOpen
+AzInitialize
+AzInitializeContextFromName
+AzInitializeContextFromToken
+AzOperationCreate
+AzOperationDelete
+AzOperationEnum
+AzOperationOpen
+AzRemovePropertyItem
+AzRoleCreate
+AzRoleDelete
+AzRoleEnum
+AzRoleOpen
+AzScopeCreate
+AzScopeDelete
+AzScopeEnum
+AzScopeOpen
+AzSetProperty
+AzSubmit
+AzTaskCreate
+AzTaskDelete
+AzTaskEnum
+AzTaskOpen
+AzUpdateCache
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wazroleui.def b/mingw-w64-crt/lib64/wazroleui.def
index 29efdf8..13f8eb6 100644
--- a/mingw-w64-crt/lib64/wazroleui.def
+++ b/mingw-w64-crt/lib64/wazroleui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file azroleui.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY azroleui.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file azroleui.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY azroleui.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbatmeter.def b/mingw-w64-crt/lib64/wbatmeter.def
index d15302c..fbcf010 100644
--- a/mingw-w64-crt/lib64/wbatmeter.def
+++ b/mingw-w64-crt/lib64/wbatmeter.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file BatMeter.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BatMeter.dll
-EXPORTS
-BatMeterCapabilities
-CreateBatMeter
-DestroyBatMeter
-PowerCapabilities
-UpdateBatMeter
+; 
+; Exports of file BatMeter.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BatMeter.dll
+EXPORTS
+BatMeterCapabilities
+CreateBatMeter
+DestroyBatMeter
+PowerCapabilities
+UpdateBatMeter
diff --git a/mingw-w64-crt/lib64/wbatt.def b/mingw-w64-crt/lib64/wbatt.def
index 11edd24..77e9d8e 100644
--- a/mingw-w64-crt/lib64/wbatt.def
+++ b/mingw-w64-crt/lib64/wbatt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file batt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY batt.dll
-EXPORTS
-BatteryClassCoInstaller
-BatteryClassInstall
+; 
+; Exports of file batt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY batt.dll
+EXPORTS
+BatteryClassCoInstaller
+BatteryClassInstall
diff --git a/mingw-w64-crt/lib64/wbckg.def b/mingw-w64-crt/lib64/wbckg.def
index 00a48f9..56283e0 100644
--- a/mingw-w64-crt/lib64/wbckg.def
+++ b/mingw-w64-crt/lib64/wbckg.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file Backgammon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Backgammon.dll
-EXPORTS
-ZoneClientExit
-ZoneClientGameAddKibitzer
-ZoneClientGameDelete
-ZoneClientGameNew
-ZoneClientGameProcessMessage
-ZoneClientGameRemoveKibitzer
-ZoneClientInternalName
-ZoneClientMain
-ZoneClientMessageHandler
-ZoneClientName
-ZoneClientVersion
-ZoneGameDllDelete
-ZoneGameDllInit
+; 
+; Exports of file Backgammon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Backgammon.dll
+EXPORTS
+ZoneClientExit
+ZoneClientGameAddKibitzer
+ZoneClientGameDelete
+ZoneClientGameNew
+ZoneClientGameProcessMessage
+ZoneClientGameRemoveKibitzer
+ZoneClientInternalName
+ZoneClientMain
+ZoneClientMessageHandler
+ZoneClientName
+ZoneClientVersion
+ZoneGameDllDelete
+ZoneGameDllInit
diff --git a/mingw-w64-crt/lib64/wbckgres.def b/mingw-w64-crt/lib64/wbckgres.def
index 21fc2b5..95e6aa7 100644
--- a/mingw-w64-crt/lib64/wbckgres.def
+++ b/mingw-w64-crt/lib64/wbckgres.def
@@ -1,8 +1,8 @@
-; 
-; Exports of file BackgammonRes.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BackgammonRes.dll
-EXPORTS
+; 
+; Exports of file BackgammonRes.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BackgammonRes.dll
+EXPORTS
diff --git a/mingw-w64-crt/lib64/wbemcntl.def b/mingw-w64-crt/lib64/wbemcntl.def
index 5693f24..678fc33 100644
--- a/mingw-w64-crt/lib64/wbemcntl.def
+++ b/mingw-w64-crt/lib64/wbemcntl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WbemCntl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WbemCntl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WbemCntl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WbemCntl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbemcomn.def b/mingw-w64-crt/lib64/wbemcomn.def
index 0485fe5..9e467a1 100644
--- a/mingw-w64-crt/lib64/wbemcomn.def
+++ b/mingw-w64-crt/lib64/wbemcomn.def
@@ -1,2316 +1,2316 @@
-; 
-; Exports of file wbemcomn.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wbemcomn.dll
-EXPORTS
-; public: __cdecl CLockableFlexArray<class CStaticCritSec>::CLockableFlexArray<class CStaticCritSec>(class CLockableFlexArray<class CStaticCritSec> & __ptr64) __ptr64
-??0?$CLockableFlexArray@VCStaticCritSec@@@@QEAA@AEAV0@@Z
-; public: __cdecl CLockableFlexArray<class CStaticCritSec>::CLockableFlexArray<class CStaticCritSec>(void) __ptr64
-??0?$CLockableFlexArray@VCStaticCritSec@@@@QEAA@XZ
-; public: __cdecl C9XAce::C9XAce(class C9XAce const & __ptr64) __ptr64
-??0C9XAce@@QEAA@AEBV0@@Z
-; public: __cdecl C9XAce::C9XAce(unsigned long,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
-??0C9XAce@@QEAA@KKKPEAG@Z
-; public: __cdecl C9XAce::C9XAce(void) __ptr64
-??0C9XAce@@QEAA@XZ
-; public: __cdecl CAbstractQl1Parser::CAbstractQl1Parser(class CAbstractQl1Parser const & __ptr64) __ptr64
-??0CAbstractQl1Parser@@QEAA@AEBV0@@Z
-; public: __cdecl CAbstractQl1Parser::CAbstractQl1Parser(class CGenLexSource * __ptr64) __ptr64
-??0CAbstractQl1Parser@@QEAA@PEAVCGenLexSource@@@Z
-; public: __cdecl CArena::CArena(class CArena const & __ptr64) __ptr64
-??0CArena@@QEAA@AEBV0@@Z
-; public: __cdecl CArena::CArena(void) __ptr64
-??0CArena@@QEAA@XZ
-; public: __cdecl CBaseAce::CBaseAce(class CBaseAce const & __ptr64) __ptr64
-??0CBaseAce@@QEAA@AEBV0@@Z
-; public: __cdecl CBaseAce::CBaseAce(void) __ptr64
-??0CBaseAce@@QEAA@XZ
-; protected: __cdecl CBasicUnloadInstruction::CBasicUnloadInstruction(void) __ptr64
-??0CBasicUnloadInstruction@@IEAA@XZ
-; public: __cdecl CBasicUnloadInstruction::CBasicUnloadInstruction(class CBasicUnloadInstruction const & __ptr64) __ptr64
-??0CBasicUnloadInstruction@@QEAA@AEBV0@@Z
-; public: __cdecl CBasicUnloadInstruction::CBasicUnloadInstruction(class CWbemInterval) __ptr64
-??0CBasicUnloadInstruction@@QEAA@VCWbemInterval@@@Z
-; public: __cdecl CBuffer::CBuffer(class CBuffer const & __ptr64) __ptr64
-??0CBuffer@@QEAA@AEBV0@@Z
-; public: __cdecl CBuffer::CBuffer(unsigned char * __ptr64,unsigned long,int) __ptr64
-??0CBuffer@@QEAA@PEAEKH@Z
-; public: __cdecl CCheckedInCritSec::CCheckedInCritSec(class CCritSec * __ptr64) __ptr64
-??0CCheckedInCritSec@@QEAA@PEAVCCritSec@@@Z
-; public: __cdecl CContainerControl::CContainerControl(class CContainerControl const & __ptr64) __ptr64
-??0CContainerControl@@QEAA@AEBV0@@Z
-; public: __cdecl CContainerControl::CContainerControl(struct IUnknown * __ptr64) __ptr64
-??0CContainerControl@@QEAA@PEAUIUnknown@@@Z
-; public: __cdecl CCritSec::CCritSec(void) __ptr64
-??0CCritSec@@QEAA@XZ
-; public: __cdecl CDMTFParser::CDMTFParser(unsigned short const * __ptr64) __ptr64
-??0CDMTFParser@@QEAA@PEBG@Z
-; public: __cdecl CDatePart::CDatePart(void) __ptr64
-??0CDatePart@@QEAA@XZ
-; protected: __cdecl CDateTimeParser::CDateTimeParser(void) __ptr64
-??0CDateTimeParser@@IEAA@XZ
-; public: __cdecl CDateTimeParser::CDateTimeParser(unsigned short const * __ptr64) __ptr64
-??0CDateTimeParser@@QEAA@PEBG@Z
-; public: __cdecl CEnterWbemCriticalSection::CEnterWbemCriticalSection(class CWbemCriticalSection * __ptr64,unsigned long) __ptr64
-??0CEnterWbemCriticalSection@@QEAA@PEAVCWbemCriticalSection@@K@Z
-; public: __cdecl CEventLog::CEventLog(class CEventLog const & __ptr64) __ptr64
-??0CEventLog@@QEAA@AEBV0@@Z
-; public: __cdecl CEventLog::CEventLog(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
-??0CEventLog@@QEAA@PEBG0K@Z
-; public: __cdecl CEventLogRecord::CEventLogRecord(class CEventLogRecord & __ptr64) __ptr64
-??0CEventLogRecord@@QEAA@AEAV0@@Z
-; public: __cdecl CEventLogRecord::CEventLogRecord(unsigned short,unsigned long,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString) __ptr64
-??0CEventLogRecord@@QEAA@GKVCInsertionString@@000000000@Z
-; public: __cdecl CExecQueue::CExecQueue(class CExecQueue & __ptr64) __ptr64
-??0CExecQueue@@QEAA@AEAV0@@Z
-; public: __cdecl CExecQueue::CExecQueue(void) __ptr64
-??0CExecQueue@@QEAA@XZ
-; public: __cdecl CExecRequest::CExecRequest(class CExecRequest const & __ptr64) __ptr64
-??0CExecRequest@@QEAA@AEBV0@@Z
-; public: __cdecl CExecRequest::CExecRequest(void) __ptr64
-??0CExecRequest@@QEAA@XZ
-; public: __cdecl CFlexArray::CFlexArray(class CFlexArray & __ptr64) __ptr64
-??0CFlexArray@@QEAA@AEAV0@@Z
-; public: __cdecl CFlexArray::CFlexArray(int,int) __ptr64
-??0CFlexArray@@QEAA@HH@Z
-; public: __cdecl CFlexQueue::CFlexQueue(int) __ptr64
-??0CFlexQueue@@QEAA@H@Z
-; public: __cdecl CHaltable::CHaltable(class CHaltable const & __ptr64) __ptr64
-??0CHaltable@@QEAA@AEBV0@@Z
-; public: __cdecl CHaltable::CHaltable(void) __ptr64
-??0CHaltable@@QEAA@XZ
-; public: __cdecl CHex::CHex(long) __ptr64
-??0CHex@@QEAA@J@Z
-; public: __cdecl CIdentitySecurity::CIdentitySecurity(class CIdentitySecurity const & __ptr64) __ptr64
-??0CIdentitySecurity@@QEAA@AEBV0@@Z
-; public: __cdecl CIdentitySecurity::CIdentitySecurity(bool) __ptr64
-??0CIdentitySecurity@@QEAA@_N@Z
-; public: __cdecl CIdentityTest::CIdentityTest(class CIdentityTest const & __ptr64) __ptr64
-??0CIdentityTest@@QEAA@AEBV0@@Z
-; public: __cdecl CIdentityTest::CIdentityTest(class CTimerInstruction * __ptr64) __ptr64
-??0CIdentityTest@@QEAA@PEAVCTimerInstruction@@@Z
-; public: __cdecl CInCritSec::CInCritSec(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
-??0CInCritSec@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
-; public: __cdecl CInsertionString::CInsertionString(class CInsertionString const & __ptr64) __ptr64
-??0CInsertionString@@QEAA@AEBV0@@Z
-; public: __cdecl CInsertionString::CInsertionString(long) __ptr64
-??0CInsertionString@@QEAA@J@Z
-; public: __cdecl CInsertionString::CInsertionString(char const * __ptr64) __ptr64
-??0CInsertionString@@QEAA@PEBD@Z
-; public: __cdecl CInsertionString::CInsertionString(unsigned short const * __ptr64) __ptr64
-??0CInsertionString@@QEAA@PEBG@Z
-; public: __cdecl CInsertionString::CInsertionString(class CHex) __ptr64
-??0CInsertionString@@QEAA@VCHex@@@Z
-; public: __cdecl CInsertionString::CInsertionString(void) __ptr64
-??0CInsertionString@@QEAA@XZ
-; public: __cdecl CInstructionQueue::CInstructionQueue(void) __ptr64
-??0CInstructionQueue@@QEAA@XZ
-; public: __cdecl CInstructionTest::CInstructionTest(class CInstructionTest const & __ptr64) __ptr64
-??0CInstructionTest@@QEAA@AEBV0@@Z
-; public: __cdecl CInstructionTest::CInstructionTest(void) __ptr64
-??0CInstructionTest@@QEAA@XZ
-; public: __cdecl CLifeControl::CLifeControl(class CLifeControl const & __ptr64) __ptr64
-??0CLifeControl@@QEAA@AEBV0@@Z
-; public: __cdecl CLifeControl::CLifeControl(void) __ptr64
-??0CLifeControl@@QEAA@XZ
-; public: __cdecl CLike::CLike(class CLike const & __ptr64) __ptr64
-??0CLike@@QEAA@AEBV0@@Z
-; public: __cdecl CLike::CLike(unsigned short const * __ptr64,unsigned short) __ptr64
-??0CLike@@QEAA@PEBGG@Z
-; public: __cdecl CLike::CLike(void) __ptr64
-??0CLike@@QEAA@XZ
-; public: __cdecl CLimitControl::CLimitControl(class CLimitControl const & __ptr64) __ptr64
-??0CLimitControl@@QEAA@AEBV0@@Z
-; public: __cdecl CLimitControl::CLimitControl(void) __ptr64
-??0CLimitControl@@QEAA@XZ
-; public: __cdecl CMRCICompression::CMRCICompression(void) __ptr64
-??0CMRCICompression@@QEAA@XZ
-; public: __cdecl CMRCIControl::CMRCIControl(void) __ptr64
-??0CMRCIControl@@QEAA@XZ
-; public: __cdecl CMinMaxLimitControl::CMinMaxLimitControl(class CMinMaxLimitControl const & __ptr64) __ptr64
-??0CMinMaxLimitControl@@QEAA@AEBV0@@Z
-; public: __cdecl CMinMaxLimitControl::CMinMaxLimitControl(int,unsigned short const * __ptr64) __ptr64
-??0CMinMaxLimitControl@@QEAA@HPEBG@Z
-; public: __cdecl CNtAce::CNtAce(class CNtAce const & __ptr64) __ptr64
-??0CNtAce@@QEAA@AEBV0@@Z
-; public: __cdecl CNtAce::CNtAce(unsigned long,unsigned long,unsigned long,class CNtSid & __ptr64) __ptr64
-??0CNtAce@@QEAA@KKKAEAVCNtSid@@@Z
-; public: __cdecl CNtAce::CNtAce(unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-??0CNtAce@@QEAA@KKKPEAG0@Z
-; public: __cdecl CNtAce::CNtAce(struct _ACCESS_ALLOWED_ACE * __ptr64) __ptr64
-??0CNtAce@@QEAA@PEAU_ACCESS_ALLOWED_ACE@@@Z
-; public: __cdecl CNtAce::CNtAce(void) __ptr64
-??0CNtAce@@QEAA@XZ
-; public: __cdecl CNtAcl::CNtAcl(class CNtAcl const & __ptr64) __ptr64
-??0CNtAcl@@QEAA@AEBV0@@Z
-; public: __cdecl CNtAcl::CNtAcl(unsigned long) __ptr64
-??0CNtAcl@@QEAA@K@Z
-; public: __cdecl CNtAcl::CNtAcl(struct _ACL * __ptr64) __ptr64
-??0CNtAcl@@QEAA@PEAU_ACL@@@Z
-; public: __cdecl CNtSecurityDescriptor::CNtSecurityDescriptor(class CNtSecurityDescriptor & __ptr64) __ptr64
-??0CNtSecurityDescriptor@@QEAA@AEAV0@@Z
-; public: __cdecl CNtSecurityDescriptor::CNtSecurityDescriptor(void * __ptr64,int) __ptr64
-??0CNtSecurityDescriptor@@QEAA@PEAXH@Z
-; public: __cdecl CNtSecurityDescriptor::CNtSecurityDescriptor(void) __ptr64
-??0CNtSecurityDescriptor@@QEAA@XZ
-; public: __cdecl CNtSid::CNtSid(class CNtSid const & __ptr64) __ptr64
-??0CNtSid@@QEAA@AEBV0@@Z
-; public: __cdecl CNtSid::CNtSid(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-??0CNtSid@@QEAA@PEAG0@Z
-; public: __cdecl CNtSid::CNtSid(void * __ptr64) __ptr64
-??0CNtSid@@QEAA@PEAX@Z
-; public: __cdecl CNtSid::CNtSid(enum CNtSid::SidType) __ptr64
-??0CNtSid@@QEAA@W4SidType@0@@Z
-; public: __cdecl CNtSid::CNtSid(void) __ptr64
-??0CNtSid@@QEAA@XZ
-; public: __cdecl CPropertyName::CPropertyName(class CPropertyName const & __ptr64) __ptr64
-??0CPropertyName@@QEAA@AEBV0@@Z
-; public: __cdecl CPropertyName::CPropertyName(void) __ptr64
-??0CPropertyName@@QEAA@XZ
-; public: __cdecl CQl1ParseSink::CQl1ParseSink(class CQl1ParseSink const & __ptr64) __ptr64
-??0CQl1ParseSink@@QEAA@AEBV0@@Z
-; public: __cdecl CQl1ParseSink::CQl1ParseSink(void) __ptr64
-??0CQl1ParseSink@@QEAA@XZ
-; public: __cdecl CRegistryMinMaxLimitControl::CRegistryMinMaxLimitControl(class CRegistryMinMaxLimitControl const & __ptr64) __ptr64
-??0CRegistryMinMaxLimitControl@@QEAA@AEBV0@@Z
-; public: __cdecl CRegistryMinMaxLimitControl::CRegistryMinMaxLimitControl(int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-??0CRegistryMinMaxLimitControl@@QEAA@HPEBG0000@Z
-; public: __cdecl CSafeArray::CSafeArray(class CSafeArray & __ptr64) __ptr64
-??0CSafeArray@@QEAA@AEAV0@@Z
-; public: __cdecl CSafeArray::CSafeArray(int,int,int,int) __ptr64
-??0CSafeArray@@QEAA@HHHH@Z
-; public: __cdecl CSafeArray::CSafeArray(struct tagSAFEARRAY * __ptr64,int,int,int) __ptr64
-??0CSafeArray@@QEAA@PEAUtagSAFEARRAY@@HHH@Z
-; public: __cdecl CStaticCritSec::CStaticCritSec(void) __ptr64
-??0CStaticCritSec@@QEAA@XZ
-; public: __cdecl CTextTemplate::CTextTemplate(class CTextTemplate const & __ptr64) __ptr64
-??0CTextTemplate@@QEAA@AEBV0@@Z
-; public: __cdecl CTextTemplate::CTextTemplate(unsigned short const * __ptr64) __ptr64
-??0CTextTemplate@@QEAA@PEBG@Z
-; public: __cdecl CTimerGenerator::CTimerGenerator(class CTimerGenerator const & __ptr64) __ptr64
-??0CTimerGenerator@@QEAA@AEBV0@@Z
-; public: __cdecl CTimerGenerator::CTimerGenerator(void) __ptr64
-??0CTimerGenerator@@QEAA@XZ
-; public: __cdecl CTimerInstruction::CTimerInstruction(class CTimerInstruction const & __ptr64) __ptr64
-??0CTimerInstruction@@QEAA@AEBV0@@Z
-; public: __cdecl CTimerInstruction::CTimerInstruction(void) __ptr64
-??0CTimerInstruction@@QEAA@XZ
-; public: __cdecl CUnk::CUnk(class CUnk const & __ptr64) __ptr64
-??0CUnk@@QEAA@AEBV0@@Z
-; public: __cdecl CUnk::CUnk(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
-??0CUnk@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
-; public: __cdecl CUnkInternal::CUnkInternal(class CUnkInternal const & __ptr64) __ptr64
-??0CUnkInternal@@QEAA@AEBV0@@Z
-; public: __cdecl CUnkInternal::CUnkInternal(class CLifeControl * __ptr64) __ptr64
-??0CUnkInternal@@QEAA@PEAVCLifeControl@@@Z
-; public: __cdecl CUnloadInstruction::CUnloadInstruction(class CUnloadInstruction const & __ptr64) __ptr64
-??0CUnloadInstruction@@QEAA@AEBV0@@Z
-; public: __cdecl CUnloadInstruction::CUnloadInstruction(unsigned short const * __ptr64,struct IWbemContext * __ptr64) __ptr64
-??0CUnloadInstruction@@QEAA@PEBGPEAUIWbemContext@@@Z
-; public: __cdecl CVar::CVar(class CVar const & __ptr64) __ptr64
-??0CVar@@QEAA@AEBV0@@Z
-; public: __cdecl CVar::CVar(char) __ptr64
-??0CVar@@QEAA@D@Z
-; public: __cdecl CVar::CVar(unsigned char) __ptr64
-??0CVar@@QEAA@E@Z
-; public: __cdecl CVar::CVar(short) __ptr64
-??0CVar@@QEAA@F@Z
-; public: __cdecl CVar::CVar(short,int) __ptr64
-??0CVar@@QEAA@FH@Z
-; public: __cdecl CVar::CVar(unsigned short) __ptr64
-??0CVar@@QEAA@G@Z
-; public: __cdecl CVar::CVar(int,unsigned short * __ptr64) __ptr64
-??0CVar@@QEAA@HPEAG@Z
-; public: __cdecl CVar::CVar(int,struct tagSAFEARRAY * __ptr64) __ptr64
-??0CVar@@QEAA@HPEAUtagSAFEARRAY@@@Z
-; public: __cdecl CVar::CVar(int,class auto_bstr) __ptr64
-??0CVar@@QEAA@HVauto_bstr@@@Z
-; public: __cdecl CVar::CVar(long) __ptr64
-??0CVar@@QEAA@J@Z
-; public: __cdecl CVar::CVar(unsigned long) __ptr64
-??0CVar@@QEAA@K@Z
-; public: __cdecl CVar::CVar(float) __ptr64
-??0CVar@@QEAA@M@Z
-; public: __cdecl CVar::CVar(double) __ptr64
-??0CVar@@QEAA@N@Z
-; public: __cdecl CVar::CVar(char * __ptr64,int) __ptr64
-??0CVar@@QEAA@PEADH@Z
-; public: __cdecl CVar::CVar(unsigned short * __ptr64,int) __ptr64
-??0CVar@@QEAA@PEAGH@Z
-; public: __cdecl CVar::CVar(struct _FILETIME * __ptr64) __ptr64
-??0CVar@@QEAA@PEAU_FILETIME@@@Z
-; public: __cdecl CVar::CVar(struct _GUID * __ptr64,int) __ptr64
-??0CVar@@QEAA@PEAU_GUID@@H@Z
-; public: __cdecl CVar::CVar(struct tagBLOB * __ptr64,int) __ptr64
-??0CVar@@QEAA@PEAUtagBLOB@@H@Z
-; public: __cdecl CVar::CVar(struct tagVARIANT * __ptr64) __ptr64
-??0CVar@@QEAA@PEAUtagVARIANT@@@Z
-; public: __cdecl CVar::CVar(class CVarVector * __ptr64,int) __ptr64
-??0CVar@@QEAA@PEAVCVarVector@@H@Z
-; public: __cdecl CVar::CVar(void) __ptr64
-??0CVar@@QEAA@XZ
-; public: __cdecl CVarVector::CVarVector(class CVarVector & __ptr64) __ptr64
-??0CVarVector@@QEAA@AEAV0@@Z
-; public: __cdecl CVarVector::CVarVector(int,int,int) __ptr64
-??0CVarVector@@QEAA@HHH@Z
-; public: __cdecl CVarVector::CVarVector(int,struct tagSAFEARRAY * __ptr64,int) __ptr64
-??0CVarVector@@QEAA@HPEAUtagSAFEARRAY@@H@Z
-; public: __cdecl CVarVector::CVarVector(void) __ptr64
-??0CVarVector@@QEAA@XZ
-; public: __cdecl CWQLScanner::CWQLScanner(class CWQLScanner & __ptr64) __ptr64
-??0CWQLScanner@@QEAA@AEAV0@@Z
-; public: __cdecl CWQLScanner::CWQLScanner(class CGenLexSource * __ptr64) __ptr64
-??0CWQLScanner@@QEAA@PEAVCGenLexSource@@@Z
-; public: __cdecl CWStringArray::CWStringArray(class CWStringArray & __ptr64) __ptr64
-??0CWStringArray@@QEAA@AEAV0@@Z
-; public: __cdecl CWStringArray::CWStringArray(int,int) __ptr64
-??0CWStringArray@@QEAA@HH@Z
-; private: __cdecl CWbemCallSecurity::CWbemCallSecurity(class CWbemCallSecurity const & __ptr64) __ptr64
-??0CWbemCallSecurity@@AEAA@AEBV0@@Z
-; private: __cdecl CWbemCallSecurity::CWbemCallSecurity(void) __ptr64
-??0CWbemCallSecurity@@AEAA@XZ
-; public: __cdecl CWbemCriticalSection::CWbemCriticalSection(void) __ptr64
-??0CWbemCriticalSection@@QEAA@XZ
-; protected: __cdecl CWbemInterval::CWbemInterval(unsigned long) __ptr64
-??0CWbemInterval@@IEAA@K@Z
-; public: __cdecl CWbemInterval::CWbemInterval(void) __ptr64
-??0CWbemInterval@@QEAA@XZ
-; protected: __cdecl CWbemTime::CWbemTime(__int64) __ptr64
-??0CWbemTime@@IEAA@_J@Z
-; public: __cdecl CWbemTime::CWbemTime(class CWbemTime const & __ptr64) __ptr64
-??0CWbemTime@@QEAA@AEBV0@@Z
-; public: __cdecl CWbemTime::CWbemTime(void) __ptr64
-??0CWbemTime@@QEAA@XZ
-; public: __cdecl CWbemTimeSpan::CWbemTimeSpan(int,int,int,int,int,int,int) __ptr64
-??0CWbemTimeSpan@@QEAA@HHHHHHH@Z
-; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(class CWin32DefaultArena const & __ptr64) __ptr64
-??0CWin32DefaultArena@@QEAA@AEBV0@@Z
-; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(void) __ptr64
-??0CWin32DefaultArena@@QEAA@XZ
-; public: __cdecl QL1_Parser::QL1_Parser(class QL1_Parser const & __ptr64) __ptr64
-??0QL1_Parser@@QEAA@AEBV0@@Z
-; public: __cdecl QL1_Parser::QL1_Parser(class CGenLexSource * __ptr64) __ptr64
-??0QL1_Parser@@QEAA@PEAVCGenLexSource@@@Z
-; public: __cdecl QL_LEVEL_1_RPN_EXPRESSION::QL_LEVEL_1_RPN_EXPRESSION(struct QL_LEVEL_1_RPN_EXPRESSION const & __ptr64) __ptr64
-??0QL_LEVEL_1_RPN_EXPRESSION@@QEAA@AEBU0@@Z
-; public: __cdecl QL_LEVEL_1_RPN_EXPRESSION::QL_LEVEL_1_RPN_EXPRESSION(void) __ptr64
-??0QL_LEVEL_1_RPN_EXPRESSION@@QEAA@XZ
-; public: __cdecl QL_LEVEL_1_TOKEN::QL_LEVEL_1_TOKEN(struct QL_LEVEL_1_TOKEN const & __ptr64) __ptr64
-??0QL_LEVEL_1_TOKEN@@QEAA@AEBU0@@Z
-; public: __cdecl QL_LEVEL_1_TOKEN::QL_LEVEL_1_TOKEN(void) __ptr64
-??0QL_LEVEL_1_TOKEN@@QEAA@XZ
-; public: __cdecl Registry::Registry(unsigned short * __ptr64,unsigned long) __ptr64
-??0Registry@@QEAA@PEAGK@Z
-; public: __cdecl Registry::Registry(struct HKEY__ * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
-??0Registry@@QEAA@PEAUHKEY__@@KKPEAG@Z
-; public: __cdecl Registry::Registry(struct HKEY__ * __ptr64,unsigned long,unsigned short * __ptr64) __ptr64
-??0Registry@@QEAA@PEAUHKEY__@@KPEAG@Z
-; public: __cdecl Registry::Registry(void) __ptr64
-??0Registry@@QEAA@XZ
-; public: __cdecl WString::WString(class WString const & __ptr64) __ptr64
-??0WString@@QEAA@AEBV0@@Z
-; public: __cdecl WString::WString(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
-??0WString@@QEAA@KPEAUHINSTANCE__@@@Z
-; public: __cdecl WString::WString(unsigned short * __ptr64,int) __ptr64
-??0WString@@QEAA@PEAGH@Z
-; public: __cdecl WString::WString(char const * __ptr64) __ptr64
-??0WString@@QEAA@PEBD@Z
-; public: __cdecl WString::WString(unsigned short const * __ptr64) __ptr64
-??0WString@@QEAA@PEBG@Z
-; public: __cdecl WString::WString(void) __ptr64
-??0WString@@QEAA@XZ
-; public: __cdecl std::_Lockit::_Lockit(void) __ptr64
-??0_Lockit@std@@QEAA@XZ
-; public: __cdecl CLockableFlexArray<class CStaticCritSec>::~CLockableFlexArray<class CStaticCritSec>(void) __ptr64
-??1?$CLockableFlexArray@VCStaticCritSec@@@@QEAA@XZ
-; public: virtual __cdecl C9XAce::~C9XAce(void) __ptr64
-??1C9XAce@@UEAA@XZ
-; public: virtual __cdecl CAbstractQl1Parser::~CAbstractQl1Parser(void) __ptr64
-??1CAbstractQl1Parser@@UEAA@XZ
-; public: virtual __cdecl CBaseAce::~CBaseAce(void) __ptr64
-??1CBaseAce@@UEAA@XZ
-; public: virtual __cdecl CBasicUnloadInstruction::~CBasicUnloadInstruction(void) __ptr64
-??1CBasicUnloadInstruction@@UEAA@XZ
-; public: __cdecl CBuffer::~CBuffer(void) __ptr64
-??1CBuffer@@QEAA@XZ
-; public: __cdecl CCheckedInCritSec::~CCheckedInCritSec(void) __ptr64
-??1CCheckedInCritSec@@QEAA@XZ
-; public: __cdecl CCritSec::~CCritSec(void) __ptr64
-??1CCritSec@@QEAA@XZ
-; public: __cdecl CDMTFParser::~CDMTFParser(void) __ptr64
-??1CDMTFParser@@QEAA@XZ
-; public: __cdecl CDatePart::~CDatePart(void) __ptr64
-??1CDatePart@@QEAA@XZ
-; public: __cdecl CDateTimeParser::~CDateTimeParser(void) __ptr64
-??1CDateTimeParser@@QEAA@XZ
-; public: __cdecl CEnterWbemCriticalSection::~CEnterWbemCriticalSection(void) __ptr64
-??1CEnterWbemCriticalSection@@QEAA@XZ
-; public: __cdecl CEventLog::~CEventLog(void) __ptr64
-??1CEventLog@@QEAA@XZ
-; public: __cdecl CEventLogRecord::~CEventLogRecord(void) __ptr64
-??1CEventLogRecord@@QEAA@XZ
-; public: __cdecl CExecQueue::~CExecQueue(void) __ptr64
-??1CExecQueue@@QEAA@XZ
-; public: virtual __cdecl CExecRequest::~CExecRequest(void) __ptr64
-??1CExecRequest@@UEAA@XZ
-; public: __cdecl CFlexArray::~CFlexArray(void) __ptr64
-??1CFlexArray@@QEAA@XZ
-; public: __cdecl CFlexQueue::~CFlexQueue(void) __ptr64
-??1CFlexQueue@@QEAA@XZ
-; public: virtual __cdecl CHaltable::~CHaltable(void) __ptr64
-??1CHaltable@@UEAA@XZ
-; public: __cdecl CIdentitySecurity::~CIdentitySecurity(void) __ptr64
-??1CIdentitySecurity@@QEAA@XZ
-; public: __cdecl CIdentityTest::~CIdentityTest(void) __ptr64
-??1CIdentityTest@@QEAA@XZ
-; public: __cdecl CInCritSec::~CInCritSec(void) __ptr64
-??1CInCritSec@@QEAA@XZ
-; public: __cdecl CInsertionString::~CInsertionString(void) __ptr64
-??1CInsertionString@@QEAA@XZ
-; public: __cdecl CInstructionQueue::~CInstructionQueue(void) __ptr64
-??1CInstructionQueue@@QEAA@XZ
-; public: __cdecl CLike::~CLike(void) __ptr64
-??1CLike@@QEAA@XZ
-; public: virtual __cdecl CLimitControl::~CLimitControl(void) __ptr64
-??1CLimitControl@@UEAA@XZ
-; public: __cdecl CMRCICompression::~CMRCICompression(void) __ptr64
-??1CMRCICompression@@QEAA@XZ
-; public: virtual __cdecl CMinMaxLimitControl::~CMinMaxLimitControl(void) __ptr64
-??1CMinMaxLimitControl@@UEAA@XZ
-; public: virtual __cdecl CNtAce::~CNtAce(void) __ptr64
-??1CNtAce@@UEAA@XZ
-; public: __cdecl CNtAcl::~CNtAcl(void) __ptr64
-??1CNtAcl@@QEAA@XZ
-; public: __cdecl CNtSecurityDescriptor::~CNtSecurityDescriptor(void) __ptr64
-??1CNtSecurityDescriptor@@QEAA@XZ
-; public: __cdecl CNtSid::~CNtSid(void) __ptr64
-??1CNtSid@@QEAA@XZ
-; public: __cdecl CPropertyName::~CPropertyName(void) __ptr64
-??1CPropertyName@@QEAA@XZ
-; public: virtual __cdecl CRegistryMinMaxLimitControl::~CRegistryMinMaxLimitControl(void) __ptr64
-??1CRegistryMinMaxLimitControl@@UEAA@XZ
-; public: __cdecl CSafeArray::~CSafeArray(void) __ptr64
-??1CSafeArray@@QEAA@XZ
-; public: __cdecl CStaticCritSec::~CStaticCritSec(void) __ptr64
-??1CStaticCritSec@@QEAA@XZ
-; public: __cdecl CTextTemplate::~CTextTemplate(void) __ptr64
-??1CTextTemplate@@QEAA@XZ
-; public: virtual __cdecl CTimerGenerator::~CTimerGenerator(void) __ptr64
-??1CTimerGenerator@@UEAA@XZ
-; public: virtual __cdecl CTimerInstruction::~CTimerInstruction(void) __ptr64
-??1CTimerInstruction@@UEAA@XZ
-; public: virtual __cdecl CUnk::~CUnk(void) __ptr64
-??1CUnk@@UEAA@XZ
-; public: virtual __cdecl CUnkInternal::~CUnkInternal(void) __ptr64
-??1CUnkInternal@@UEAA@XZ
-; public: virtual __cdecl CUnloadInstruction::~CUnloadInstruction(void) __ptr64
-??1CUnloadInstruction@@UEAA@XZ
-; public: __cdecl CVar::~CVar(void) __ptr64
-??1CVar@@QEAA@XZ
-; public: __cdecl CVarVector::~CVarVector(void) __ptr64
-??1CVarVector@@QEAA@XZ
-; public: __cdecl CWQLScanner::~CWQLScanner(void) __ptr64
-??1CWQLScanner@@QEAA@XZ
-; public: __cdecl CWStringArray::~CWStringArray(void) __ptr64
-??1CWStringArray@@QEAA@XZ
-; private: __cdecl CWbemCallSecurity::~CWbemCallSecurity(void) __ptr64
-??1CWbemCallSecurity@@AEAA@XZ
-; public: __cdecl CWbemCriticalSection::~CWbemCriticalSection(void) __ptr64
-??1CWbemCriticalSection@@QEAA@XZ
-; public: __cdecl CWin32DefaultArena::~CWin32DefaultArena(void) __ptr64
-??1CWin32DefaultArena@@QEAA@XZ
-; public: virtual __cdecl QL1_Parser::~QL1_Parser(void) __ptr64
-??1QL1_Parser@@UEAA@XZ
-; public: __cdecl QL_LEVEL_1_RPN_EXPRESSION::~QL_LEVEL_1_RPN_EXPRESSION(void) __ptr64
-??1QL_LEVEL_1_RPN_EXPRESSION@@QEAA@XZ
-; public: __cdecl QL_LEVEL_1_TOKEN::~QL_LEVEL_1_TOKEN(void) __ptr64
-??1QL_LEVEL_1_TOKEN@@QEAA@XZ
-; public: __cdecl Registry::~Registry(void) __ptr64
-??1Registry@@QEAA@XZ
-; public: __cdecl WString::~WString(void) __ptr64
-??1WString@@QEAA@XZ
-; public: __cdecl std::_Lockit::~_Lockit(void) __ptr64
-??1_Lockit@std@@QEAA@XZ
-; public: class CLockableFlexArray<class CStaticCritSec> & __ptr64 __cdecl CLockableFlexArray<class CStaticCritSec>::operator=(class CLockableFlexArray<class CStaticCritSec> & __ptr64) __ptr64
-??4?$CLockableFlexArray@VCStaticCritSec@@@@QEAAAEAV0@AEAV0@@Z
-; public: class C9XAce & __ptr64 __cdecl C9XAce::operator=(class C9XAce const & __ptr64) __ptr64
-??4C9XAce@@QEAAAEAV0@AEBV0@@Z
-; public: class CAbstractQl1Parser & __ptr64 __cdecl CAbstractQl1Parser::operator=(class CAbstractQl1Parser const & __ptr64) __ptr64
-??4CAbstractQl1Parser@@QEAAAEAV0@AEBV0@@Z
-; public: class CArena & __ptr64 __cdecl CArena::operator=(class CArena const & __ptr64) __ptr64
-??4CArena@@QEAAAEAV0@AEBV0@@Z
-; public: class CBaseAce & __ptr64 __cdecl CBaseAce::operator=(class CBaseAce const & __ptr64) __ptr64
-??4CBaseAce@@QEAAAEAV0@AEBV0@@Z
-; public: class CBaseMrciCompression & __ptr64 __cdecl CBaseMrciCompression::operator=(class CBaseMrciCompression const & __ptr64) __ptr64
-??4CBaseMrciCompression@@QEAAAEAV0@AEBV0@@Z
-; public: class CBasicUnloadInstruction & __ptr64 __cdecl CBasicUnloadInstruction::operator=(class CBasicUnloadInstruction const & __ptr64) __ptr64
-??4CBasicUnloadInstruction@@QEAAAEAV0@AEBV0@@Z
-; public: class CBuffer & __ptr64 __cdecl CBuffer::operator=(class CBuffer const & __ptr64) __ptr64
-??4CBuffer@@QEAAAEAV0@AEBV0@@Z
-; public: class CCheckedInCritSec & __ptr64 __cdecl CCheckedInCritSec::operator=(class CCheckedInCritSec const & __ptr64) __ptr64
-??4CCheckedInCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CContainerControl & __ptr64 __cdecl CContainerControl::operator=(class CContainerControl const & __ptr64) __ptr64
-??4CContainerControl@@QEAAAEAV0@AEBV0@@Z
-; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
-??4CCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CDMTFParser & __ptr64 __cdecl CDMTFParser::operator=(class CDMTFParser const & __ptr64) __ptr64
-??4CDMTFParser@@QEAAAEAV0@AEBV0@@Z
-; public: class CDatePart & __ptr64 __cdecl CDatePart::operator=(class CDatePart const & __ptr64) __ptr64
-??4CDatePart@@QEAAAEAV0@AEBV0@@Z
-; public: class CDateTimeParser & __ptr64 __cdecl CDateTimeParser::operator=(class CDateTimeParser const & __ptr64) __ptr64
-??4CDateTimeParser@@QEAAAEAV0@AEBV0@@Z
-; public: class CEnterWbemCriticalSection & __ptr64 __cdecl CEnterWbemCriticalSection::operator=(class CEnterWbemCriticalSection const & __ptr64) __ptr64
-??4CEnterWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
-; public: class CEventLog & __ptr64 __cdecl CEventLog::operator=(class CEventLog const & __ptr64) __ptr64
-??4CEventLog@@QEAAAEAV0@AEBV0@@Z
-; public: class CEventLogRecord & __ptr64 __cdecl CEventLogRecord::operator=(class CEventLogRecord & __ptr64) __ptr64
-??4CEventLogRecord@@QEAAAEAV0@AEAV0@@Z
-; public: class CExecQueue & __ptr64 __cdecl CExecQueue::operator=(class CExecQueue & __ptr64) __ptr64
-??4CExecQueue@@QEAAAEAV0@AEAV0@@Z
-; public: class CExecRequest & __ptr64 __cdecl CExecRequest::operator=(class CExecRequest const & __ptr64) __ptr64
-??4CExecRequest@@QEAAAEAV0@AEBV0@@Z
-; public: class CFlexArray & __ptr64 __cdecl CFlexArray::operator=(class CFlexArray & __ptr64) __ptr64
-??4CFlexArray@@QEAAAEAV0@AEAV0@@Z
-; public: class CFlexQueue & __ptr64 __cdecl CFlexQueue::operator=(class CFlexQueue const & __ptr64) __ptr64
-??4CFlexQueue@@QEAAAEAV0@AEBV0@@Z
-; public: class CHaltable & __ptr64 __cdecl CHaltable::operator=(class CHaltable const & __ptr64) __ptr64
-??4CHaltable@@QEAAAEAV0@AEBV0@@Z
-; public: class CHex & __ptr64 __cdecl CHex::operator=(class CHex const & __ptr64) __ptr64
-??4CHex@@QEAAAEAV0@AEBV0@@Z
-; public: class CIdentitySecurity & __ptr64 __cdecl CIdentitySecurity::operator=(class CIdentitySecurity const & __ptr64) __ptr64
-??4CIdentitySecurity@@QEAAAEAV0@AEBV0@@Z
-; public: class CIdentityTest & __ptr64 __cdecl CIdentityTest::operator=(class CIdentityTest const & __ptr64) __ptr64
-??4CIdentityTest@@QEAAAEAV0@AEBV0@@Z
-; public: class CInCritSec & __ptr64 __cdecl CInCritSec::operator=(class CInCritSec const & __ptr64) __ptr64
-??4CInCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CInsertionString & __ptr64 __cdecl CInsertionString::operator=(class CInsertionString const & __ptr64) __ptr64
-??4CInsertionString@@QEAAAEAV0@AEBV0@@Z
-; public: class CInstructionQueue & __ptr64 __cdecl CInstructionQueue::operator=(class CInstructionQueue const & __ptr64) __ptr64
-??4CInstructionQueue@@QEAAAEAV0@AEBV0@@Z
-; public: class CInstructionTest & __ptr64 __cdecl CInstructionTest::operator=(class CInstructionTest const & __ptr64) __ptr64
-??4CInstructionTest@@QEAAAEAV0@AEBV0@@Z
-; public: class CLifeControl & __ptr64 __cdecl CLifeControl::operator=(class CLifeControl const & __ptr64) __ptr64
-??4CLifeControl@@QEAAAEAV0@AEBV0@@Z
-; public: class CLike & __ptr64 __cdecl CLike::operator=(class CLike const & __ptr64) __ptr64
-??4CLike@@QEAAAEAV0@AEBV0@@Z
-; public: class CLimitControl & __ptr64 __cdecl CLimitControl::operator=(class CLimitControl const & __ptr64) __ptr64
-??4CLimitControl@@QEAAAEAV0@AEBV0@@Z
-; public: class CMRCICompression & __ptr64 __cdecl CMRCICompression::operator=(class CMRCICompression const & __ptr64) __ptr64
-??4CMRCICompression@@QEAAAEAV0@AEBV0@@Z
-; public: class CMRCIControl & __ptr64 __cdecl CMRCIControl::operator=(class CMRCIControl const & __ptr64) __ptr64
-??4CMRCIControl@@QEAAAEAV0@AEBV0@@Z
-; public: class CMinMaxLimitControl & __ptr64 __cdecl CMinMaxLimitControl::operator=(class CMinMaxLimitControl const & __ptr64) __ptr64
-??4CMinMaxLimitControl@@QEAAAEAV0@AEBV0@@Z
-; public: class CNtAce & __ptr64 __cdecl CNtAce::operator=(class CNtAce const & __ptr64) __ptr64
-??4CNtAce@@QEAAAEAV0@AEBV0@@Z
-; public: class CNtAcl & __ptr64 __cdecl CNtAcl::operator=(class CNtAcl const & __ptr64) __ptr64
-??4CNtAcl@@QEAAAEAV0@AEBV0@@Z
-; public: class CNtSecurity & __ptr64 __cdecl CNtSecurity::operator=(class CNtSecurity const & __ptr64) __ptr64
-??4CNtSecurity@@QEAAAEAV0@AEBV0@@Z
-; public: class CNtSecurityDescriptor & __ptr64 __cdecl CNtSecurityDescriptor::operator=(class CNtSecurityDescriptor & __ptr64) __ptr64
-??4CNtSecurityDescriptor@@QEAAAEAV0@AEAV0@@Z
-; public: class CNtSid & __ptr64 __cdecl CNtSid::operator=(class CNtSid const & __ptr64) __ptr64
-??4CNtSid@@QEAAAEAV0@AEBV0@@Z
-; public: class CPersistentConfig & __ptr64 __cdecl CPersistentConfig::operator=(class CPersistentConfig const & __ptr64) __ptr64
-??4CPersistentConfig@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl CPropertyName::operator=(struct _tag_WbemPropertyName const & __ptr64) __ptr64
-??4CPropertyName@@QEAAXAEBU_tag_WbemPropertyName@@@Z
-; public: void __cdecl CPropertyName::operator=(class CPropertyName const & __ptr64) __ptr64
-??4CPropertyName@@QEAAXAEBV0@@Z
-; public: class CQl1ParseSink & __ptr64 __cdecl CQl1ParseSink::operator=(class CQl1ParseSink const & __ptr64) __ptr64
-??4CQl1ParseSink@@QEAAAEAV0@AEBV0@@Z
-; public: class CRegistryMinMaxLimitControl & __ptr64 __cdecl CRegistryMinMaxLimitControl::operator=(class CRegistryMinMaxLimitControl const & __ptr64) __ptr64
-??4CRegistryMinMaxLimitControl@@QEAAAEAV0@AEBV0@@Z
-; public: class CSafeArray & __ptr64 __cdecl CSafeArray::operator=(class CSafeArray & __ptr64) __ptr64
-??4CSafeArray@@QEAAAEAV0@AEAV0@@Z
-; public: class CSmallArrayBlob & __ptr64 __cdecl CSmallArrayBlob::operator=(class CSmallArrayBlob const & __ptr64) __ptr64
-??4CSmallArrayBlob@@QEAAAEAV0@AEBV0@@Z
-; public: class CStaticCritSec & __ptr64 __cdecl CStaticCritSec::operator=(class CStaticCritSec const & __ptr64) __ptr64
-??4CStaticCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CTextTemplate & __ptr64 __cdecl CTextTemplate::operator=(class CTextTemplate const & __ptr64) __ptr64
-??4CTextTemplate@@QEAAAEAV0@AEBV0@@Z
-; public: class CTimerGenerator & __ptr64 __cdecl CTimerGenerator::operator=(class CTimerGenerator const & __ptr64) __ptr64
-??4CTimerGenerator@@QEAAAEAV0@AEBV0@@Z
-; public: class CTimerInstruction & __ptr64 __cdecl CTimerInstruction::operator=(class CTimerInstruction const & __ptr64) __ptr64
-??4CTimerInstruction@@QEAAAEAV0@AEBV0@@Z
-; public: class CUnk & __ptr64 __cdecl CUnk::operator=(class CUnk const & __ptr64) __ptr64
-??4CUnk@@QEAAAEAV0@AEBV0@@Z
-; public: class CUnkInternal & __ptr64 __cdecl CUnkInternal::operator=(class CUnkInternal const & __ptr64) __ptr64
-??4CUnkInternal@@QEAAAEAV0@AEBV0@@Z
-; public: class CUnloadInstruction & __ptr64 __cdecl CUnloadInstruction::operator=(class CUnloadInstruction const & __ptr64) __ptr64
-??4CUnloadInstruction@@QEAAAEAV0@AEBV0@@Z
-; public: class CVar & __ptr64 __cdecl CVar::operator=(class CVar const & __ptr64) __ptr64
-??4CVar@@QEAAAEAV0@AEBV0@@Z
-; public: class CVarVector & __ptr64 __cdecl CVarVector::operator=(class CVarVector & __ptr64) __ptr64
-??4CVarVector@@QEAAAEAV0@AEAV0@@Z
-; public: class CWQLScanner & __ptr64 __cdecl CWQLScanner::operator=(class CWQLScanner & __ptr64) __ptr64
-??4CWQLScanner@@QEAAAEAV0@AEAV0@@Z
-; public: class CWStringArray & __ptr64 __cdecl CWStringArray::operator=(class CWStringArray & __ptr64) __ptr64
-??4CWStringArray@@QEAAAEAV0@AEAV0@@Z
-; private: class CWbemCallSecurity & __ptr64 __cdecl CWbemCallSecurity::operator=(class CWbemCallSecurity const & __ptr64) __ptr64
-??4CWbemCallSecurity@@AEAAAEAV0@AEBV0@@Z
-; public: class CWbemCriticalSection & __ptr64 __cdecl CWbemCriticalSection::operator=(class CWbemCriticalSection const & __ptr64) __ptr64
-??4CWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemInterval & __ptr64 __cdecl CWbemInterval::operator=(class CWbemInterval const & __ptr64) __ptr64
-??4CWbemInterval@@QEAAAEAV0@AEBV0@@Z
-; public: void __cdecl CWbemTime::operator=(class CWbemTime const & __ptr64) __ptr64
-??4CWbemTime@@QEAAXAEBV0@@Z
-; public: class CWbemTimeSpan & __ptr64 __cdecl CWbemTimeSpan::operator=(class CWbemTimeSpan const & __ptr64) __ptr64
-??4CWbemTimeSpan@@QEAAAEAV0@AEBV0@@Z
-; public: class CWin32DefaultArena & __ptr64 __cdecl CWin32DefaultArena::operator=(class CWin32DefaultArena const & __ptr64) __ptr64
-??4CWin32DefaultArena@@QEAAAEAV0@AEBV0@@Z
-; public: class MD5 & __ptr64 __cdecl MD5::operator=(class MD5 const & __ptr64) __ptr64
-??4MD5@@QEAAAEAV0@AEBV0@@Z
-; public: class QL1_Parser & __ptr64 __cdecl QL1_Parser::operator=(class QL1_Parser const & __ptr64) __ptr64
-??4QL1_Parser@@QEAAAEAV0@AEBV0@@Z
-; public: struct QL_LEVEL_1_RPN_EXPRESSION & __ptr64 __cdecl QL_LEVEL_1_RPN_EXPRESSION::operator=(struct QL_LEVEL_1_RPN_EXPRESSION const & __ptr64) __ptr64
-??4QL_LEVEL_1_RPN_EXPRESSION@@QEAAAEAU0@AEBU0@@Z
-; public: struct QL_LEVEL_1_TOKEN & __ptr64 __cdecl QL_LEVEL_1_TOKEN::operator=(struct QL_LEVEL_1_TOKEN const & __ptr64) __ptr64
-??4QL_LEVEL_1_TOKEN@@QEAAAEAU0@AEBU0@@Z
-; public: struct QL_LEVEL_1_TOKEN & __ptr64 __cdecl QL_LEVEL_1_TOKEN::operator=(struct _tag_WbemQl1Token const & __ptr64) __ptr64
-??4QL_LEVEL_1_TOKEN@@QEAAAEAU0@AEBU_tag_WbemQl1Token@@@Z
-; public: class Registry & __ptr64 __cdecl Registry::operator=(class Registry const & __ptr64) __ptr64
-??4Registry@@QEAAAEAV0@AEBV0@@Z
-; public: class WString & __ptr64 __cdecl WString::operator=(class WString const & __ptr64) __ptr64
-??4WString@@QEAAAEAV0@AEBV0@@Z
-; public: class WString & __ptr64 __cdecl WString::operator=(unsigned short const * __ptr64) __ptr64
-??4WString@@QEAAAEAV0@PEBG@Z
-; public: class std::_Lockit & __ptr64 __cdecl std::_Lockit::operator=(class std::_Lockit const & __ptr64) __ptr64
-??4_Lockit@std@@QEAAAEAV01@AEBV01@@Z
-; public: int __cdecl CEventLogRecord::operator==(class CEventLogRecord const & __ptr64) __ptr64
-??8CEventLogRecord@@QEAAHAEBV0@@Z
-; public: int __cdecl CNtSid::operator==(class CNtSid & __ptr64) __ptr64
-??8CNtSid@@QEAAHAEAV0@@Z
-; public: int __cdecl CPropertyName::operator==(struct _tag_WbemPropertyName const & __ptr64) __ptr64
-??8CPropertyName@@QEAAHAEBU_tag_WbemPropertyName@@@Z
-; public: int __cdecl CVar::operator==(class CVar & __ptr64) __ptr64
-??8CVar@@QEAAHAEAV0@@Z
-; public: int __cdecl CVarVector::operator==(class CVarVector & __ptr64) __ptr64
-??8CVarVector@@QEAAHAEAV0@@Z
-; public: void * __ptr64 & __ptr64 __cdecl CFlexArray::operator[](int) __ptr64
-??ACFlexArray@@QEAAAEAPEAXH@Z
-; public: void * __ptr64 __cdecl CFlexArray::operator[](int)const  __ptr64
-??ACFlexArray@@QEBAPEAXH@Z
-; public: void * __ptr64 __cdecl CSmallArrayBlob::operator[](int)const  __ptr64
-??ACSmallArrayBlob@@QEBAPEAXH@Z
-; public: class CVar & __ptr64 __cdecl CVarVector::operator[](int) __ptr64
-??ACVarVector@@QEAAAEAVCVar@@H@Z
-; public: unsigned short * __ptr64 __cdecl CWStringArray::operator[](int)const  __ptr64
-??ACWStringArray@@QEBAPEAGH@Z
-; public: unsigned short __cdecl WString::operator[](int)const  __ptr64
-??AWString@@QEBAGH@Z
-; public: __cdecl CHex::operator long(void) __ptr64
-??BCHex@@QEAAJXZ
-; public: __cdecl CVar::operator struct _FILETIME(void) __ptr64
-??BCVar@@QEAA?AU_FILETIME@@XZ
-; public: __cdecl CVar::operator char(void) __ptr64
-??BCVar@@QEAADXZ
-; public: __cdecl CVar::operator unsigned char(void) __ptr64
-??BCVar@@QEAAEXZ
-; public: __cdecl CVar::operator short(void) __ptr64
-??BCVar@@QEAAFXZ
-; public: __cdecl CVar::operator unsigned short(void) __ptr64
-??BCVar@@QEAAGXZ
-; public: __cdecl CVar::operator long(void) __ptr64
-??BCVar@@QEAAJXZ
-; public: __cdecl CVar::operator unsigned long(void) __ptr64
-??BCVar@@QEAAKXZ
-; public: __cdecl CVar::operator float(void) __ptr64
-??BCVar@@QEAAMXZ
-; public: __cdecl CVar::operator double(void) __ptr64
-??BCVar@@QEAANXZ
-; public: __cdecl CVar::operator char * __ptr64(void) __ptr64
-??BCVar@@QEAAPEADXZ
-; public: __cdecl CVar::operator unsigned short * __ptr64(void) __ptr64
-??BCVar@@QEAAPEAGXZ
-; public: __cdecl CVar::operator struct _GUID * __ptr64(void) __ptr64
-??BCVar@@QEAAPEAU_GUID@@XZ
-; public: __cdecl CVar::operator struct tagBLOB * __ptr64(void) __ptr64
-??BCVar@@QEAAPEAUtagBLOB@@XZ
-; public: __cdecl CVar::operator class CVarVector * __ptr64(void) __ptr64
-??BCVar@@QEAAPEAVCVarVector@@XZ
-; public: __cdecl WString::operator unsigned short * __ptr64(void) __ptr64
-??BWString@@QEAAPEAGXZ
-; public: __cdecl WString::operator unsigned short const * __ptr64(void)const  __ptr64
-??BWString@@QEBAPEBGXZ
-; public: class CWbemInterval  __cdecl CWbemInterval::operator*(double)const  __ptr64
-??DCWbemInterval@@QEBA?AV0@N@Z
-; public: class CWbemTime  __cdecl CWbemTime::operator-(class CWbemTimeSpan const & __ptr64)const  __ptr64
-??GCWbemTime@@QEBA?AV0@AEBVCWbemTimeSpan@@@Z
-; public: class CWbemInterval  __cdecl CWbemTime::operator-(class CWbemTime const & __ptr64)const  __ptr64
-??GCWbemTime@@QEBA?AVCWbemInterval@@AEBV0@@Z
-; public: class CWbemInterval  __cdecl CWbemInterval::operator+(class CWbemInterval)const  __ptr64
-??HCWbemInterval@@QEBA?AV0@V0@@Z
-; public: class CWbemTime  __cdecl CWbemTime::operator+(class CWbemInterval const & __ptr64)const  __ptr64
-??HCWbemTime@@QEBA?AV0@AEBVCWbemInterval@@@Z
-; public: class CWbemTime  __cdecl CWbemTime::operator+(class CWbemTimeSpan const & __ptr64)const  __ptr64
-??HCWbemTime@@QEBA?AV0@AEBVCWbemTimeSpan@@@Z
-; public: int __cdecl CWbemInterval::operator<(class CWbemInterval) __ptr64
-??MCWbemInterval@@QEAAHV0@@Z
-; public: int __cdecl CWbemTime::operator<(class CWbemTime const & __ptr64)const  __ptr64
-??MCWbemTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WString::operator<(unsigned short const * __ptr64)const  __ptr64
-??MWString@@QEBAHPEBG@Z
-; public: int __cdecl CWbemTime::operator<=(class CWbemTime const & __ptr64)const  __ptr64
-??NCWbemTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WString::operator<=(unsigned short const * __ptr64)const  __ptr64
-??NWString@@QEBAHPEBG@Z
-; public: int __cdecl CWbemInterval::operator>(class CWbemInterval) __ptr64
-??OCWbemInterval@@QEAAHV0@@Z
-; public: int __cdecl CWbemTime::operator>(class CWbemTime const & __ptr64)const  __ptr64
-??OCWbemTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WString::operator>(unsigned short const * __ptr64)const  __ptr64
-??OWString@@QEBAHPEBG@Z
-; public: int __cdecl CWbemTime::operator>=(class CWbemTime const & __ptr64)const  __ptr64
-??PCWbemTime@@QEBAHAEBV0@@Z
-; public: int __cdecl WString::operator>=(unsigned short const * __ptr64)const  __ptr64
-??PWString@@QEBAHPEBG@Z
-; public: virtual int __cdecl CIdentityTest::operator()(class CTimerInstruction * __ptr64) __ptr64
-??RCIdentityTest@@UEAAHPEAVCTimerInstruction@@@Z
-; public: class WString  __cdecl WString::operator()(int,int)const  __ptr64
-??RWString@@QEBA?AV0@HH@Z
-; public: void __cdecl CWbemInterval::operator+=(class CWbemInterval) __ptr64
-??YCWbemInterval@@QEAAXV0@@Z
-; public: class WString & __ptr64 __cdecl WString::operator+=(class WString const & __ptr64) __ptr64
-??YWString@@QEAAAEAV0@AEBV0@@Z
-; public: class WString & __ptr64 __cdecl WString::operator+=(unsigned short) __ptr64
-??YWString@@QEAAAEAV0@G@Z
-; public: class WString & __ptr64 __cdecl WString::operator+=(unsigned short const * __ptr64) __ptr64
-??YWString@@QEAAAEAV0@PEBG@Z
-; const  C9XAce::`vftable'
-??_7C9XAce@@6B@
-; const  CAbstractQl1Parser::`vftable'
-??_7CAbstractQl1Parser@@6B@
-; const  CArena::`vftable'
-??_7CArena@@6B@
-; const  CBaseAce::`vftable'
-??_7CBaseAce@@6B@
-; const  CBasicUnloadInstruction::`vftable'
-??_7CBasicUnloadInstruction@@6B@
-; const  CBuffer::`vftable'
-??_7CBuffer@@6B@
-; const  CContainerControl::`vftable'
-??_7CContainerControl@@6B@
-; const  CExecQueue::`vftable'
-??_7CExecQueue@@6B@
-; const  CExecRequest::`vftable'
-??_7CExecRequest@@6B@
-; const  CHaltable::`vftable'
-??_7CHaltable@@6B@
-; const  CIdentityTest::`vftable'
-??_7CIdentityTest@@6B@
-; const  CInstructionTest::`vftable'
-??_7CInstructionTest@@6B@
-; const  CLifeControl::`vftable'
-??_7CLifeControl@@6B@
-; const  CLimitControl::`vftable'
-??_7CLimitControl@@6B@
-; const  CMinMaxLimitControl::`vftable'
-??_7CMinMaxLimitControl@@6B@
-; const  CNtAce::`vftable'
-??_7CNtAce@@6B@
-; const  CQl1ParseSink::`vftable'
-??_7CQl1ParseSink@@6B@
-; const  CRegistryMinMaxLimitControl::`vftable'
-??_7CRegistryMinMaxLimitControl@@6B@
-; const  CTimerGenerator::`vftable'
-??_7CTimerGenerator@@6B@
-; const  CTimerInstruction::`vftable'
-??_7CTimerInstruction@@6B@
-; const  CUnk::`vftable'
-??_7CUnk@@6B@
-; const  CUnkInternal::`vftable'
-??_7CUnkInternal@@6B@
-; const  CUnloadInstruction::`vftable'
-??_7CUnloadInstruction@@6B@
-; const  CWbemCallSecurity::`vftable'
-??_7CWbemCallSecurity@@6B@
-; const  CWin32DefaultArena::`vftable'
-??_7CWin32DefaultArena@@6B@
-; const  QL1_Parser::`vftable'
-??_7QL1_Parser@@6B@
-; const  QL_LEVEL_1_RPN_EXPRESSION::`vftable'
-??_7QL_LEVEL_1_RPN_EXPRESSION@@6B@
-; public: void __cdecl CBuffer::`default constructor closure'(void) __ptr64
-??_FCBuffer@@QEAAXXZ
-; public: void __cdecl CEventLog::`default constructor closure'(void) __ptr64
-??_FCEventLog@@QEAAXXZ
-; public: void __cdecl CFlexArray::`default constructor closure'(void) __ptr64
-??_FCFlexArray@@QEAAXXZ
-; public: void __cdecl CFlexQueue::`default constructor closure'(void) __ptr64
-??_FCFlexQueue@@QEAAXXZ
-; public: void __cdecl CNtAcl::`default constructor closure'(void) __ptr64
-??_FCNtAcl@@QEAAXXZ
-; public: void __cdecl CTextTemplate::`default constructor closure'(void) __ptr64
-??_FCTextTemplate@@QEAAXXZ
-; public: void __cdecl CUnk::`default constructor closure'(void) __ptr64
-??_FCUnk@@QEAAXXZ
-; public: void __cdecl CWStringArray::`default constructor closure'(void) __ptr64
-??_FCWStringArray@@QEAAXXZ
-; public: void __cdecl CMRCIControl::AbortCompression(void) __ptr64
-?AbortCompression@CMRCIControl@@QEAAXXZ
-; public: int __cdecl CMRCIControl::AbortRequested(void) __ptr64
-?AbortRequested@CMRCIControl@@QEAAHXZ
-; public: long __cdecl CSafeArray::Access(void * __ptr64 * __ptr64) __ptr64
-?Access@CSafeArray@@QEAAJPEAPEAX@Z
-; public: int __cdecl CIdentitySecurity::AccessCheck(void) __ptr64
-?AccessCheck@CIdentitySecurity@@QEAAHXZ
-; public: long __cdecl CVarVector::AccessRawArray(void * __ptr64 * __ptr64) __ptr64
-?AccessRawArray@CVarVector@@QEAAJPEAPEAX@Z
-; public: int __cdecl CFlexArray::Add(void * __ptr64) __ptr64
-?Add@CFlexArray@@QEAAHPEAX@Z
-; public: virtual long __cdecl CMinMaxLimitControl::Add(unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
-?Add@CMinMaxLimitControl@@UEAAJKKPEAK@Z
-; public: int __cdecl CVarVector::Add(class CVar & __ptr64) __ptr64
-?Add@CVarVector@@QEAAHAEAVCVar@@@Z
-; public: int __cdecl CVarVector::Add(class CVar * __ptr64) __ptr64
-?Add@CVarVector@@QEAAHPEAVCVar@@@Z
-; public: int __cdecl CWStringArray::Add(unsigned short const * __ptr64) __ptr64
-?Add@CWStringArray@@QEAAHPEBG@Z
-; public: int __cdecl CNtAcl::AddAce(class CNtAce * __ptr64) __ptr64
-?AddAce@CNtAcl@@QEAAHPEAVCNtAce@@@Z
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddAggregationProperty(class CPropertyName const & __ptr64) __ptr64
-?AddAggregationProperty@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBVCPropertyName@@@Z
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddAllAggregationProperties(void) __ptr64
-?AddAllAggregationProperties@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXXZ
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddAllProperties(void) __ptr64
-?AddAllProperties@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXXZ
-; protected: void __cdecl CAbstractQl1Parser::AddAppropriateToken(struct _tag_WbemQl1Token const & __ptr64) __ptr64
-?AddAppropriateToken@CAbstractQl1Parser@@IEAAXAEBU_tag_WbemQl1Token@@@Z
-; public: int __cdecl CSafeArray::AddBSTR(unsigned short * __ptr64) __ptr64
-?AddBSTR@CSafeArray@@QEAAHPEAG@Z
-; public: int __cdecl CSafeArray::AddBool(short) __ptr64
-?AddBool@CSafeArray@@QEAAHF@Z
-; public: int __cdecl CSafeArray::AddByte(unsigned char) __ptr64
-?AddByte@CSafeArray@@QEAAHE@Z
-; public: int __cdecl CSafeArray::AddDispatch(struct IDispatch * __ptr64) __ptr64
-?AddDispatch@CSafeArray@@QEAAHPEAUIDispatch@@@Z
-; public: int __cdecl CSafeArray::AddDouble(double) __ptr64
-?AddDouble@CSafeArray@@QEAAHN@Z
-; public: void __cdecl CPropertyName::AddElement(unsigned short const * __ptr64) __ptr64
-?AddElement@CPropertyName@@QEAAXPEBG@Z
-; public: int __cdecl CSafeArray::AddFloat(float) __ptr64
-?AddFloat@CSafeArray@@QEAAHM@Z
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddHavingToken(struct _tag_WbemQl1Token const & __ptr64) __ptr64
-?AddHavingToken@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBU_tag_WbemQl1Token@@@Z
-; protected: void __cdecl CEventLogRecord::AddInsertionString(class CInsertionString & __ptr64) __ptr64
-?AddInsertionString@CEventLogRecord@@IEAAXAEAVCInsertionString@@@Z
-; public: int __cdecl CSafeArray::AddLong(long) __ptr64
-?AddLong@CSafeArray@@QEAAHJ@Z
-; public: virtual long __cdecl CLimitControl::AddMember(void) __ptr64
-?AddMember@CLimitControl@@UEAAJXZ
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddProperty(class CPropertyName const & __ptr64) __ptr64
-?AddProperty@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBVCPropertyName@@@Z
-; protected: void __cdecl CEventLog::AddRecord(class CEventLogRecord * __ptr64) __ptr64
-?AddRecord@CEventLog@@IEAAXPEAVCEventLogRecord@@@Z
-; public: virtual void __cdecl CBasicUnloadInstruction::AddRef(void) __ptr64
-?AddRef@CBasicUnloadInstruction@@UEAAXXZ
-; public: virtual unsigned long __cdecl CBuffer::AddRef(void) __ptr64
-?AddRef@CBuffer@@UEAAKXZ
-; public: virtual void __cdecl CContainerControl::AddRef(struct IUnknown * __ptr64) __ptr64
-?AddRef@CContainerControl@@UEAAXPEAUIUnknown@@@Z
-; public: void __cdecl CExecQueue::AddRef(void) __ptr64
-?AddRef@CExecQueue@@QEAAXXZ
-; public: virtual unsigned long __cdecl CUnk::AddRef(void) __ptr64
-?AddRef@CUnk@@UEAAKXZ
-; public: virtual unsigned long __cdecl CUnkInternal::AddRef(void) __ptr64
-?AddRef@CUnkInternal@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemCallSecurity::AddRef(void) __ptr64
-?AddRef@CWbemCallSecurity@@UEAAKXZ
-; public: void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddRef(void) __ptr64
-?AddRef@QL_LEVEL_1_RPN_EXPRESSION@@QEAAXXZ
-; private: int __cdecl CSafeArray::AddScalar(union SA_ArrayScalar) __ptr64
-?AddScalar@CSafeArray@@AEAAHTSA_ArrayScalar@@@Z
-; public: int __cdecl CSafeArray::AddShort(short) __ptr64
-?AddShort@CSafeArray@@QEAAHF@Z
-; public: void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddToken(struct QL_LEVEL_1_TOKEN const & __ptr64) __ptr64
-?AddToken@QL_LEVEL_1_RPN_EXPRESSION@@QEAAXAEBUQL_LEVEL_1_TOKEN@@@Z
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddToken(struct _tag_WbemQl1Token const & __ptr64) __ptr64
-?AddToken@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBU_tag_WbemQl1Token@@@Z
-; public: int __cdecl CSafeArray::AddUnknown(struct IUnknown * __ptr64) __ptr64
-?AddUnknown@CSafeArray@@QEAAHPEAUIUnknown@@@Z
-; public: int __cdecl CSafeArray::AddVariant(struct tagVARIANT * __ptr64) __ptr64
-?AddVariant@CSafeArray@@QEAAHPEAUtagVARIANT@@@Z
-; protected: virtual void __cdecl CExecQueue::AdjustInitialPriority(class CExecRequest * __ptr64) __ptr64
-?AdjustInitialPriority@CExecQueue@@MEAAXPEAVCExecRequest@@@Z
-; protected: virtual void __cdecl CExecQueue::AdjustPriorityForPassing(class CExecRequest * __ptr64) __ptr64
-?AdjustPriorityForPassing@CExecQueue@@MEAAXPEAVCExecRequest@@@Z
-; void __cdecl AdjustPrivIfLocalSystem(void * __ptr64)
-?AdjustPrivIfLocalSystem@@YAXPEAX@Z
-; public: long __cdecl CBuffer::Advance(unsigned long) __ptr64
-?Advance@CBuffer@@QEAAJK@Z
-; public: unsigned short * __ptr64 __cdecl CWQLScanner::AliasToTable(unsigned short * __ptr64) __ptr64
-?AliasToTable@CWQLScanner@@QEAAQEAGPEAG@Z
-; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Alloc(unsigned __int64) __ptr64
-?Alloc@CWin32DefaultArena@@UEAAPEAX_K@Z
-; protected: unsigned short * __ptr64 __cdecl CDateTimeParser::AllocAmPm(void) __ptr64
-?AllocAmPm@CDateTimeParser@@IEAAPEAGXZ
-; int __cdecl AllocWCHARToMBS(unsigned short * __ptr64,char * __ptr64 * __ptr64)
-?AllocWCHARToMBS@@YAHPEAGPEAPEAD@Z
-; public: unsigned short * __ptr64 __cdecl CTextTemplate::Apply(struct IWbemClassObject * __ptr64) __ptr64
-?Apply@CTextTemplate@@QEAAPEAGPEAUIWbemClassObject@@@Z
-; public: void __cdecl CFlexArray::Bind(class CFlexArray & __ptr64) __ptr64
-?Bind@CFlexArray@@QEAAXAEAV1@@Z
-; public: void __cdecl WString::BindPtr(unsigned short * __ptr64) __ptr64
-?BindPtr@WString@@QEAAXPEAG@Z
-; void __cdecl BlobAssign(struct tagBLOB * __ptr64,void * __ptr64,unsigned long,int)
-?BlobAssign@@YAXPEAUtagBLOB@@PEAXKH@Z
-; void __cdecl BlobClear(struct tagBLOB * __ptr64)
-?BlobClear@@YAXPEAUtagBLOB@@@Z
-; struct tagBLOB  __cdecl BlobCopy(struct tagBLOB const * __ptr64)
-?BlobCopy@@YA?AUtagBLOB@@PEBU1@@Z
-; unsigned long __cdecl BreakOnDbgAndRenterLoop(void)
-?BreakOnDbgAndRenterLoop@@YAKXZ
-; public: void __cdecl CInstructionQueue::BreakWait(void) __ptr64
-?BreakWait@CInstructionQueue@@QEAAXXZ
-; private: int __cdecl CWQLScanner::BuildSWQLColRef(class CFlexArray & __ptr64,struct SWQLColRef & __ptr64) __ptr64
-?BuildSWQLColRef@CWQLScanner@@AEAAHAEAVCFlexArray@@AEAUSWQLColRef@@@Z
-; protected: virtual unsigned long __cdecl CExecQueue::CalcSitOutPenalty(long) __ptr64
-?CalcSitOutPenalty@CExecQueue@@MEAAKJ@Z
-; public: int __cdecl CVar::CanDelete(void) __ptr64
-?CanDelete@CVar@@QEAAHXZ
-; public: long __cdecl CInstructionQueue::Change(class CTimerInstruction * __ptr64,class CWbemTime) __ptr64
-?Change@CInstructionQueue@@QEAAJPEAVCTimerInstruction@@VCWbemTime@@@Z
-; public: int __cdecl CVar::ChangeTypeTo(unsigned short) __ptr64
-?ChangeTypeTo@CVar@@QEAAHG@Z
-; public: int __cdecl CVar::ChangeTypeToEx(unsigned short,unsigned long) __ptr64
-?ChangeTypeToEx@CVar@@QEAAHGK@Z
-; long __cdecl ChangeVariantToCIMTYPE(struct tagVARIANT * __ptr64,struct tagVARIANT * __ptr64,long)
-?ChangeVariantToCIMTYPE@@YAJPEAUtagVARIANT@@0J@Z
-; public: static int __cdecl CDateTimeParser::CheckDMTFDateTimeFormat(unsigned short const * __ptr64,int,int)
-?CheckDMTFDateTimeFormat@CDateTimeParser@@SAHPEBGHH@Z
-; protected: int __cdecl CDateTimeParser::CheckDMTFDateTimeFormatInternal(unsigned short const * __ptr64) __ptr64
-?CheckDMTFDateTimeFormatInternal@CDateTimeParser@@IEAAHPEBG@Z
-; public: static int __cdecl CDateTimeParser::CheckDMTFDateTimeInterval(unsigned short const * __ptr64)
-?CheckDMTFDateTimeInterval@CDateTimeParser@@SAHPEBG@Z
-; protected: int __cdecl CDateTimeParser::CheckDateFormat(unsigned short const * __ptr64,int) __ptr64
-?CheckDateFormat@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::CheckTimeFormat(unsigned short const * __ptr64,int) __ptr64
-?CheckTimeFormat@CDateTimeParser@@IEAAHPEBGH@Z
-; private: void __cdecl CSafeArray::CheckType(int) __ptr64
-?CheckType@CSafeArray@@AEAAXH@Z
-; public: static void __cdecl CUnloadInstruction::Clear(void)
-?Clear@CUnloadInstruction@@SAXXZ
-; private: void __cdecl CWQLScanner::ClearPropRefs(void) __ptr64
-?ClearPropRefs@CWQLScanner@@AEAAXXZ
-; private: void __cdecl CWQLScanner::ClearTableRefs(void) __ptr64
-?ClearTableRefs@CWQLScanner@@AEAAXXZ
-; private: void __cdecl CWQLScanner::ClearTokens(void) __ptr64
-?ClearTokens@CWQLScanner@@AEAAXXZ
-; public: virtual long __cdecl CBuffer::Clone(struct IStream * __ptr64 * __ptr64) __ptr64
-?Clone@CBuffer@@UEAAJPEAPEAUIStream@@@Z
-; public: void * __ptr64 * __ptr64 __cdecl CSmallArrayBlob::CloneData(void) __ptr64
-?CloneData@CSmallArrayBlob@@QEAAPEAPEAXXZ
-; public: virtual long __cdecl CWbemCallSecurity::CloneThreadContext(int) __ptr64
-?CloneThreadContext@CWbemCallSecurity@@UEAAJH@Z
-; private: long __cdecl CWbemCallSecurity::CloneThreadToken(unsigned long) __ptr64
-?CloneThreadToken@CWbemCallSecurity@@AEAAJK@Z
-; public: int __cdecl CEventLog::Close(void) __ptr64
-?Close@CEventLog@@QEAAHXZ
-; public: virtual long __cdecl CBuffer::Commit(unsigned long) __ptr64
-?Commit@CBuffer@@UEAAJK@Z
-; protected: static int __cdecl CFlexArray::CompareEls(void const * __ptr64,void const * __ptr64)
-?CompareEls@CFlexArray@@KAHPEBX0@Z
-; protected: static int __cdecl CSmallArrayBlob::CompareEls(void const * __ptr64,void const * __ptr64)
-?CompareEls@CSmallArrayBlob@@KAHPEBX0@Z
-; public: int __cdecl CVar::CompareTo(class CVar & __ptr64,int) __ptr64
-?CompareTo@CVar@@QEAAHAEAV1@H@Z
-; public: int __cdecl CVarVector::CompareTo(class CVarVector & __ptr64,int) __ptr64
-?CompareTo@CVarVector@@QEAAHAEAV1@H@Z
-; public: void __cdecl CFlexArray::Compress(void) __ptr64
-?Compress@CFlexArray@@QEAAXXZ
-; public: void __cdecl CWStringArray::Compress(void) __ptr64
-?Compress@CWStringArray@@QEAAXXZ
-; public: unsigned int __cdecl CMRCICompression::CompressBuffer(unsigned char * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long,enum CMRCICompression::CompressionLevel) __ptr64
-?CompressBuffer@CMRCICompression@@QEAAIPEAEK0KW4CompressionLevel@1@@Z
-; public: int __cdecl CMRCICompression::CompressFile(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,enum CMRCICompression::CompressionLevel,class CMRCIControl * __ptr64) __ptr64
-?CompressFile@CMRCICompression@@QEAAHPEBG0KW4CompressionLevel@1@PEAVCMRCIControl@@@Z
-; protected: int __cdecl CMRCICompression::CompressFileV1(int,int,unsigned long,enum CMRCICompression::CompressionLevel,class CMRCIControl * __ptr64) __ptr64
-?CompressFileV1@CMRCICompression@@IEAAHHHKW4CompressionLevel@1@PEAVCMRCIControl@@@Z
-; protected: long __cdecl CMinMaxLimitControl::ComputePenalty(unsigned long,unsigned long,unsigned long * __ptr64,int * __ptr64) __ptr64
-?ComputePenalty@CMinMaxLimitControl@@IEAAJKKPEAKPEAH@Z
-; private: void __cdecl CTextTemplate::ConcatWithoutQuotes(class WString & __ptr64,unsigned short * __ptr64 & __ptr64) __ptr64
-?ConcatWithoutQuotes@CTextTemplate@@AEAAXAEAVWString@@AEAPEAG@Z
-; public: int __cdecl CNtAcl::ContainsSid(class CNtSid & __ptr64,unsigned char & __ptr64) __ptr64
-?ContainsSid@CNtAcl@@QEAAHAEAVCNtSid@@AEAE@Z
-; public: static void __cdecl MD5::ContinueTransform(void * __ptr64,unsigned int,unsigned char * __ptr64 const)
-?ContinueTransform@MD5@@SAXPEAXIQEAE@Z
-; protected: void __cdecl CSmallArrayBlob::CopyData(class CSmallArrayBlob * __ptr64) __ptr64
-?CopyData@CSmallArrayBlob@@IEAAXPEAV1@@Z
-; public: int __cdecl CFlexArray::CopyDataFrom(class CFlexArray const & __ptr64) __ptr64
-?CopyDataFrom@CFlexArray@@QEAAHAEBV1@@Z
-; public: virtual long __cdecl CBuffer::CopyTo(struct IStream * __ptr64,union _ULARGE_INTEGER,union _ULARGE_INTEGER * __ptr64,union _ULARGE_INTEGER * __ptr64) __ptr64
-?CopyTo@CBuffer@@UEAAJPEAUIStream@@T_ULARGE_INTEGER@@PEAT3@2@Z
-; public: int __cdecl CNtSid::CopyTo(void * __ptr64) __ptr64
-?CopyTo@CNtSid@@QEAAHPEAX@Z
-; public: int __cdecl CWQLScanner::CountQuery(void) __ptr64
-?CountQuery@CWQLScanner@@QEAAHXZ
-; public: static class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::CreateBlob(int)
-?CreateBlob@CSmallArrayBlob@@SAPEAV1@H@Z
-; public: static class IWbemCallSecurity * __ptr64 __cdecl CWbemCallSecurity::CreateInst(void)
-?CreateInst@CWbemCallSecurity@@SAPEAVIWbemCallSecurity@@XZ
-; protected: virtual int __cdecl CExecQueue::CreateNewThread(void) __ptr64
-?CreateNewThread@CExecQueue@@MEAAHXZ
-; int __cdecl CriticalFailADAPTrace(char const * __ptr64)
-?CriticalFailADAPTrace@@YAHPEBD@Z
-; public: int __cdecl CAbstractQl1Parser::CurrentLine(void) __ptr64
-?CurrentLine@CAbstractQl1Parser@@QEAAHXZ
-; public: unsigned short * __ptr64 __cdecl CAbstractQl1Parser::CurrentToken(void) __ptr64
-?CurrentToken@CAbstractQl1Parser@@QEAAPEAGXZ
-; protected: int __cdecl CDateTimeParser::DateFormat10(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?DateFormat10@CDateTimeParser@@IEAAHPEBG0H@Z
-; protected: int __cdecl CDateTimeParser::DateFormat11(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?DateFormat11@CDateTimeParser@@IEAAHPEBG0H@Z
-; protected: int __cdecl CDateTimeParser::DateFormat12(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?DateFormat12@CDateTimeParser@@IEAAHPEBG0H@Z
-; protected: int __cdecl CDateTimeParser::DateFormat13(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?DateFormat13@CDateTimeParser@@IEAAHPEBG0H@Z
-; protected: int __cdecl CDateTimeParser::DateFormat14(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?DateFormat14@CDateTimeParser@@IEAAHPEBG0H@Z
-; protected: int __cdecl CDateTimeParser::DateFormat15(unsigned short const * __ptr64,int) __ptr64
-?DateFormat15@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::DateFormat1(unsigned short const * __ptr64,int) __ptr64
-?DateFormat1@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::DateFormat2(unsigned short const * __ptr64,int) __ptr64
-?DateFormat2@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::DateFormat3(unsigned short const * __ptr64,int) __ptr64
-?DateFormat3@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::DateFormat4(unsigned short const * __ptr64,int) __ptr64
-?DateFormat4@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::DateFormat5(unsigned short const * __ptr64,int) __ptr64
-?DateFormat5@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::DateFormat6(unsigned short const * __ptr64,int) __ptr64
-?DateFormat6@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::DateFormat7(unsigned short const * __ptr64,int) __ptr64
-?DateFormat7@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::DateFormat8(unsigned short const * __ptr64,int) __ptr64
-?DateFormat8@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::DateFormat9(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?DateFormat9@CDateTimeParser@@IEAAHPEBG0H@Z
-; public: void __cdecl CFlexArray::DebugDump(void) __ptr64
-?DebugDump@CFlexArray@@QEAAXXZ
-; int __cdecl DebugTrace(char,char const * __ptr64,...)
-?DebugTrace@@YAHDPEBDZZ
-; protected: void __cdecl CFlexQueue::DecrementIndex(int & __ptr64) __ptr64
-?DecrementIndex@CFlexQueue@@IEAAXAEAH@Z
-; public: int __cdecl CNtAcl::DeleteAce(int) __ptr64
-?DeleteAce@CNtAcl@@QEAAHH@Z
-; protected: void __cdecl CAbstractQl1Parser::DeletePropertyName(void) __ptr64
-?DeletePropertyName@CAbstractQl1Parser@@IEAAXXZ
-; public: int __cdecl CWStringArray::DeleteStr(int) __ptr64
-?DeleteStr@CWStringArray@@QEAAHH@Z
-; private: void __cdecl WString::DeleteString(unsigned short * __ptr64) __ptr64
-?DeleteString@WString@@AEAAXPEAG@Z
-; public: int __cdecl Registry::DeleteValue(unsigned short * __ptr64) __ptr64
-?DeleteValue@Registry@@QEAAHPEAG@Z
-; public: void * __ptr64 __cdecl CFlexQueue::Dequeue(void) __ptr64
-?Dequeue@CFlexQueue@@QEAAPEAXXZ
-; public: long __cdecl CInstructionQueue::Dequeue(class CTimerInstruction * __ptr64 & __ptr64,class CWbemTime & __ptr64) __ptr64
-?Dequeue@CInstructionQueue@@QEAAJAEAPEAVCTimerInstruction@@AEAVCWbemTime@@@Z
-; public: virtual bool __cdecl C9XAce::Deserialize(unsigned char * __ptr64) __ptr64
-?Deserialize@C9XAce@@UEAA_NPEAE@Z
-; public: virtual bool __cdecl CNtAce::Deserialize(unsigned char * __ptr64) __ptr64
-?Deserialize@CNtAce@@UEAA_NPEAE@Z
-; public: static void __cdecl CWStringArray::Difference(class CWStringArray & __ptr64,class CWStringArray & __ptr64,class CWStringArray & __ptr64)
-?Difference@CWStringArray@@SAXAEAV1@00@Z
-; protected: bool __cdecl CLike::DoLike(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short) __ptr64
-?DoLike@CLike@@IEAA_NPEBG0G@Z
-; protected: virtual int __cdecl CExecQueue::DoesNeedNewThread(class CExecRequest * __ptr64) __ptr64
-?DoesNeedNewThread@CExecQueue@@MEAAHPEAVCExecRequest@@@Z
-; public: int __cdecl CVarVector::DoesVectorTypeMatchArrayType(void) __ptr64
-?DoesVectorTypeMatchArrayType@CVarVector@@QEAAHXZ
-; public: void __cdecl CWQLScanner::Dump(void) __ptr64
-?Dump@CWQLScanner@@QEAAXXZ
-; public: void __cdecl QL_LEVEL_1_RPN_EXPRESSION::Dump(char const * __ptr64) __ptr64
-?Dump@QL_LEVEL_1_RPN_EXPRESSION@@QEAAXPEBD@Z
-; public: void __cdecl QL_LEVEL_1_TOKEN::Dump(struct _iobuf * __ptr64) __ptr64
-?Dump@QL_LEVEL_1_TOKEN@@QEAAXPEAU_iobuf@@@Z
-; public: virtual void __cdecl CExecRequest::DumpError(void) __ptr64
-?DumpError@CExecRequest@@UEAAXXZ
-; public: int __cdecl CVar::DumpText(struct _iobuf * __ptr64) __ptr64
-?DumpText@CVar@@QEAAHPEAU_iobuf@@@Z
-; public: int __cdecl CSafeArray::ElementSize(void) __ptr64
-?ElementSize@CSafeArray@@QEAAHXZ
-; public: void __cdecl CFlexArray::Empty(void) __ptr64
-?Empty@CFlexArray@@QEAAXXZ
-; public: void __cdecl CPropertyName::Empty(void) __ptr64
-?Empty@CPropertyName@@QEAAXXZ
-; public: void __cdecl CSafeArray::Empty(void) __ptr64
-?Empty@CSafeArray@@QEAAXXZ
-; public: void __cdecl CVar::Empty(void) __ptr64
-?Empty@CVar@@QEAAXXZ
-; public: void __cdecl CVarVector::Empty(void) __ptr64
-?Empty@CVarVector@@QEAAXXZ
-; public: void __cdecl CWStringArray::Empty(void) __ptr64
-?Empty@CWStringArray@@QEAAXXZ
-; public: void __cdecl WString::Empty(void) __ptr64
-?Empty@WString@@QEAAXXZ
-; long __cdecl EnableAllPrivileges(unsigned long)
-?EnableAllPrivileges@@YAJK@Z
-; int __cdecl EnablePrivilege(unsigned long,unsigned short const * __ptr64)
-?EnablePrivilege@@YAHKPEBG@Z
-; private: bool __cdecl CIdentitySecurity::EncryptedCall(void) __ptr64
-?EncryptedCall@CIdentitySecurity@@AEAA_NXZ
-; public: virtual long __cdecl CExecQueue::Enqueue(class CExecRequest * __ptr64,void * __ptr64 * __ptr64) __ptr64
-?Enqueue@CExecQueue@@UEAAJPEAVCExecRequest@@PEAPEAX@Z
-; public: bool __cdecl CFlexQueue::Enqueue(void * __ptr64) __ptr64
-?Enqueue@CFlexQueue@@QEAA_NPEAX@Z
-; public: long __cdecl CInstructionQueue::Enqueue(class CWbemTime,class CTimerInstruction * __ptr64) __ptr64
-?Enqueue@CInstructionQueue@@QEAAJVCWbemTime@@PEAVCTimerInstruction@@@Z
-; public: long __cdecl CExecQueue::EnqueueAndWait(class CExecRequest * __ptr64) __ptr64
-?EnqueueAndWait@CExecQueue@@QEAAJPEAVCExecRequest@@@Z
-; public: long __cdecl CExecQueue::EnqueueWithoutSleep(class CExecRequest * __ptr64,void * __ptr64 * __ptr64) __ptr64
-?EnqueueWithoutSleep@CExecQueue@@QEAAJPEAVCExecRequest@@PEAPEAX@Z
-; protected: void __cdecl CPropertyName::EnsureAllocated(long) __ptr64
-?EnsureAllocated@CPropertyName@@IEAAXJ@Z
-; public: int __cdecl CFlexArray::EnsureExtent(int) __ptr64
-?EnsureExtent@CFlexArray@@QEAAHH@Z
-; protected: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::EnsureExtent(int) __ptr64
-?EnsureExtent@CSmallArrayBlob@@IEAAPEAV1@H@Z
-; private: void __cdecl CTimerGenerator::EnsureRunning(void) __ptr64
-?EnsureRunning@CTimerGenerator@@AEAAXXZ
-; private: void __cdecl CBuffer::EnsureSize(unsigned long) __ptr64
-?EnsureSize@CBuffer@@AEAAXK@Z
-; public: void __cdecl CCheckedInCritSec::Enter(void) __ptr64
-?Enter@CCheckedInCritSec@@QEAAXXZ
-; public: void __cdecl CCritSec::Enter(void) __ptr64
-?Enter@CCritSec@@QEAAXXZ
-; public: void __cdecl CExecQueue::Enter(void) __ptr64
-?Enter@CExecQueue@@QEAAXXZ
-; public: void __cdecl CStaticCritSec::Enter(void) __ptr64
-?Enter@CStaticCritSec@@QEAAXXZ
-; public: int __cdecl CWbemCriticalSection::Enter(unsigned long) __ptr64
-?Enter@CWbemCriticalSection@@QEAAHK@Z
-; public: int __cdecl WString::Equal(unsigned short const * __ptr64)const  __ptr64
-?Equal@WString@@QEBAHPEBG@Z
-; public: int __cdecl WString::EqualNoCase(unsigned short const * __ptr64)const  __ptr64
-?EqualNoCase@WString@@QEBAHPEBG@Z
-; int __cdecl ErrorTrace(char,char const * __ptr64,...)
-?ErrorTrace@@YAHDPEBDZZ
-; public: class WString  __cdecl WString::EscapeQuotes(void)const  __ptr64
-?EscapeQuotes@WString@@QEBA?AV1@XZ
-; protected: virtual int __cdecl CExecQueue::Execute(class CExecQueue::CThreadRecord * __ptr64) __ptr64
-?Execute@CExecQueue@@MEAAHPEAVCThreadRecord@1@@Z
-; unsigned short * __ptr64 __cdecl ExtractMachineName(unsigned short * __ptr64)
-?ExtractMachineName@@YAPEAGPEAG@Z
-; private: struct WSLexToken * __ptr64 __cdecl CWQLScanner::ExtractNext(int) __ptr64
-?ExtractNext@CWQLScanner@@AEAAPEAUWSLexToken@@H@Z
-; private: int __cdecl CWQLScanner::ExtractSelectType(void) __ptr64
-?ExtractSelectType@CWQLScanner@@AEAAHXZ
-; public: int __cdecl WString::ExtractToken(unsigned short,class WString & __ptr64) __ptr64
-?ExtractToken@WString@@QEAAHGAEAV1@@Z
-; public: int __cdecl WString::ExtractToken(unsigned short const * __ptr64,class WString & __ptr64) __ptr64
-?ExtractToken@WString@@QEAAHPEBGAEAV1@@Z
-; private: void __cdecl CSafeArray::Fatal(char const * __ptr64) __ptr64
-?Fatal@CSafeArray@@AEAAXPEBD@Z
-; private: int __cdecl CPersistentConfig::FileExists(unsigned short const * __ptr64) __ptr64
-?FileExists@CPersistentConfig@@AEAAHPEBG@Z
-; public: void __cdecl CVarVector::FillCVarAt(int,class CVar & __ptr64) __ptr64
-?FillCVarAt@CVarVector@@QEAAXHAEAVCVar@@@Z
-; public: int __cdecl CDateTimeParser::FillDMTF(unsigned short * __ptr64,unsigned __int64) __ptr64
-?FillDMTF@CDateTimeParser@@QEAAHPEAG_K@Z
-; public: void __cdecl CVar::FillVariant(struct tagVARIANT * __ptr64,int) __ptr64
-?FillVariant@CVar@@QEAAXPEAUtagVARIANT@@H@Z
-; public: int __cdecl CWStringArray::FindStr(unsigned short const * __ptr64,int) __ptr64
-?FindStr@CWStringArray@@QEAAHPEBGH@Z
-; protected: int __cdecl CAbstractQl1Parser::FlipOperator(int) __ptr64
-?FlipOperator@CAbstractQl1Parser@@IEAAHH@Z
-; public: virtual int __cdecl CWin32DefaultArena::Free(void * __ptr64) __ptr64
-?Free@CWin32DefaultArena@@UEAAHPEAX@Z
-; public: __int64 __cdecl CWbemTime::Get100nss(void)const  __ptr64
-?Get100nss@CWbemTime@@QEBA_JXZ
-; public: struct SNtAbsoluteSD * __ptr64 __cdecl CNtSecurityDescriptor::GetAbsoluteCopy(void) __ptr64
-?GetAbsoluteCopy@CNtSecurityDescriptor@@QEAAPEAUSNtAbsoluteSD@@XZ
-; public: virtual unsigned long __cdecl C9XAce::GetAccessMask(void) __ptr64
-?GetAccessMask@C9XAce@@UEAAKXZ
-; public: virtual unsigned long __cdecl CNtAce::GetAccessMask(void) __ptr64
-?GetAccessMask@CNtAce@@UEAAKXZ
-; long __cdecl GetAccessToken(void * __ptr64 & __ptr64)
-?GetAccessToken@@YAJAEAPEAX@Z
-; public: int __cdecl CNtAcl::GetAce(int,class CNtAce & __ptr64) __ptr64
-?GetAce@CNtAcl@@QEAAHHAEAVCNtAce@@@Z
-; public: class CNtAce * __ptr64 __cdecl CNtAcl::GetAce(int) __ptr64
-?GetAce@CNtAcl@@QEAAPEAVCNtAce@@H@Z
-; public: int __cdecl CNtAcl::GetAclSizeInfo(unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
-?GetAclSizeInfo@CNtAcl@@QEAAHPEAK0@Z
-; public: virtual long __cdecl CWbemCallSecurity::GetActiveImpersonation(void) __ptr64
-?GetActiveImpersonation@CWbemCallSecurity@@UEAAJXZ
-; public: int __cdecl CSafeArray::GetActualVarType(unsigned short * __ptr64) __ptr64
-?GetActualVarType@CSafeArray@@QEAAHPEAG@Z
-; public: static void * __ptr64 __cdecl CWin32DefaultArena::GetArenaHeap(void)
-?GetArenaHeap@CWin32DefaultArena@@SAPEAXXZ
-; public: struct tagSAFEARRAY * __ptr64 __cdecl CSafeArray::GetArray(void) __ptr64
-?GetArray@CSafeArray@@QEAAPEAUtagSAFEARRAY@@XZ
-; public: struct tagSAFEARRAY * __ptr64 __cdecl CSafeArray::GetArrayCopy(void) __ptr64
-?GetArrayCopy@CSafeArray@@QEAAPEAUtagSAFEARRAY@@XZ
-; public: void * __ptr64 * __ptr64 __cdecl CFlexArray::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CFlexArray@@QEAAPEAPEAXXZ
-; public: void * __ptr64 const * __ptr64 __cdecl CFlexArray::GetArrayPtr(void)const  __ptr64
-?GetArrayPtr@CFlexArray@@QEBAPEBQEAXXZ
-; public: void * __ptr64 * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CSmallArrayBlob@@QEAAPEAPEAXXZ
-; public: void * __ptr64 const * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void)const  __ptr64
-?GetArrayPtr@CSmallArrayBlob@@QEBAPEBQEAXXZ
-; public: unsigned short const * __ptr64 * __ptr64 __cdecl CWStringArray::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CWStringArray@@QEAAPEAPEBGXZ
-; public: void * __ptr64 __cdecl CFlexArray::GetAt(int)const  __ptr64
-?GetAt@CFlexArray@@QEBAPEAXH@Z
-; public: void * __ptr64 __cdecl CSmallArrayBlob::GetAt(int)const  __ptr64
-?GetAt@CSmallArrayBlob@@QEBAPEAXH@Z
-; public: class CVar & __ptr64 __cdecl CVarVector::GetAt(int) __ptr64
-?GetAt@CVarVector@@QEAAAEAVCVar@@H@Z
-; public: unsigned short * __ptr64 __cdecl CWStringArray::GetAt(int)const  __ptr64
-?GetAt@CWStringArray@@QEBAPEAGH@Z
-; public: virtual unsigned long __cdecl CWbemCallSecurity::GetAuthenticationId(struct _LUID & __ptr64) __ptr64
-?GetAuthenticationId@CWbemCallSecurity@@UEAAKAEAU_LUID@@@Z
-; public: unsigned short * __ptr64 __cdecl CVar::GetBSTR(void) __ptr64
-?GetBSTR@CVar@@QEAAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl CSafeArray::GetBSTRAt(int) __ptr64
-?GetBSTRAt@CSafeArray@@QEAAPEAGH@Z
-; public: unsigned short * __ptr64 __cdecl CSafeArray::GetBSTRAtThrow(int) __ptr64
-?GetBSTRAtThrow@CSafeArray@@QEAAPEAGH@Z
-; public: int __cdecl Registry::GetBinary(unsigned short * __ptr64,unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?GetBinary@Registry@@QEAAHPEAGPEAPEAEPEAK@Z
-; public: struct tagBLOB * __ptr64 __cdecl CVar::GetBlob(void) __ptr64
-?GetBlob@CVar@@QEAAPEAUtagBLOB@@XZ
-; public: short __cdecl CVar::GetBool(void) __ptr64
-?GetBool@CVar@@QEAAFXZ
-; public: short __cdecl CSafeArray::GetBoolAt(int) __ptr64
-?GetBoolAt@CSafeArray@@QEAAFH@Z
-; public: unsigned char __cdecl CVar::GetByte(void) __ptr64
-?GetByte@CVar@@QEAAEXZ
-; public: unsigned char __cdecl CSafeArray::GetByteAt(int) __ptr64
-?GetByteAt@CSafeArray@@QEAAEH@Z
-; public: unsigned short const * __ptr64 __cdecl CWbemCallSecurity::GetCallerIdentity(void) __ptr64
-?GetCallerIdentity@CWbemCallSecurity@@QEAAPEBGXZ
-; public: char __cdecl CVar::GetChar(void) __ptr64
-?GetChar@CVar@@QEAADXZ
-; public: struct _GUID * __ptr64 __cdecl CVar::GetClsId(void) __ptr64
-?GetClsId@CVar@@QEAAPEAU_GUID@@XZ
-; public: static int __cdecl CMRCICompression::GetCompressedFileInfo(unsigned short const * __ptr64,enum CMRCICompression::CompressionLevel & __ptr64,unsigned long & __ptr64,struct _FILETIME & __ptr64,__int64 & __ptr64)
-?GetCompressedFileInfo@CMRCICompression@@SAHPEBGAEAW4CompressionLevel@1@AEAKAEAU_FILETIME@@AEA_J@Z
-; public: class CWbemTime  __cdecl CEventLogRecord::GetCreationTime(void) __ptr64
-?GetCreationTime@CEventLogRecord@@QEAA?AVCWbemTime@@XZ
-; private: int __cdecl CWbemTime::GetDMTF(int,unsigned long,unsigned short * __ptr64) __ptr64
-?GetDMTF@CWbemTime@@AEAAHHKPEAG@Z
-; public: unsigned long __cdecl CVar::GetDWORD(void) __ptr64
-?GetDWORD@CVar@@QEAAKXZ
-; public: int __cdecl Registry::GetDWORD(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetDWORD@Registry@@QEAAHPEAGPEAK@Z
-; public: int __cdecl Registry::GetDWORDStr(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetDWORDStr@Registry@@QEAAHPEAGPEAK@Z
-; public: int __cdecl CNtSecurityDescriptor::GetDacl(class CNtAcl & __ptr64) __ptr64
-?GetDacl@CNtSecurityDescriptor@@QEAAHAEAVCNtAcl@@@Z
-; public: class CNtAcl * __ptr64 __cdecl CNtSecurityDescriptor::GetDacl(void) __ptr64
-?GetDacl@CNtSecurityDescriptor@@QEAAPEAVCNtAcl@@XZ
-; public: unsigned char __cdecl CDateTimeParser::GetDay(void) __ptr64
-?GetDay@CDateTimeParser@@QEAAEXZ
-; public: struct IDispatch * __ptr64 __cdecl CVar::GetDispatch(void) __ptr64
-?GetDispatch@CVar@@QEAAPEAUIDispatch@@XZ
-; public: struct IDispatch * __ptr64 __cdecl CSafeArray::GetDispatchAt(int) __ptr64
-?GetDispatchAt@CSafeArray@@QEAAPEAUIDispatch@@H@Z
-; public: double __cdecl CVar::GetDouble(void) __ptr64
-?GetDouble@CVar@@QEAANXZ
-; public: double __cdecl CSafeArray::GetDoubleAt(int) __ptr64
-?GetDoubleAt@CSafeArray@@QEAANH@Z
-; public: int __cdecl CVarVector::GetElementSize(void) __ptr64
-?GetElementSize@CVarVector@@QEAAHXZ
-; public: struct IUnknown * __ptr64 __cdecl CVar::GetEmbeddedObject(void) __ptr64
-?GetEmbeddedObject@CVar@@QEAAPEAUIUnknown@@XZ
-; public: unsigned short const * __ptr64 __cdecl CLike::GetExpression(void) __ptr64
-?GetExpression@CLike@@QEAAPEBGXZ
-; public: int __cdecl CWbemTime::GetFILETIME(struct _FILETIME * __ptr64)const  __ptr64
-?GetFILETIME@CWbemTime@@QEBAHPEAU_FILETIME@@@Z
-; public: struct _FILETIME  __cdecl CVar::GetFileTime(void) __ptr64
-?GetFileTime@CVar@@QEAA?AU_FILETIME@@XZ
-; public: virtual class CWbemTime  __cdecl CBasicUnloadInstruction::GetFirstFiringTime(void)const  __ptr64
-?GetFirstFiringTime@CBasicUnloadInstruction@@UEBA?AVCWbemTime@@XZ
-; public: virtual class CWbemTime  __cdecl CUnloadInstruction::GetFirstFiringTime(void)const  __ptr64
-?GetFirstFiringTime@CUnloadInstruction@@UEBA?AVCWbemTime@@XZ
-; public: virtual int __cdecl C9XAce::GetFlags(void) __ptr64
-?GetFlags@C9XAce@@UEAAHXZ
-; public: virtual int __cdecl CNtAce::GetFlags(void) __ptr64
-?GetFlags@CNtAce@@UEAAHXZ
-; public: float __cdecl CVar::GetFloat(void) __ptr64
-?GetFloat@CVar@@QEAAMXZ
-; public: float __cdecl CSafeArray::GetFloatAt(int) __ptr64
-?GetFloatAt@CSafeArray@@QEAAMH@Z
-; private: unsigned short * __ptr64 __cdecl CPersistentConfig::GetFullFilename(unsigned short const * __ptr64) __ptr64
-?GetFullFilename@CPersistentConfig@@AEAAPEAGPEBG@Z
-; public: virtual long __cdecl C9XAce::GetFullUserName2(unsigned short * __ptr64 * __ptr64) __ptr64
-?GetFullUserName2@C9XAce@@UEAAJPEAPEAG@Z
-; public: virtual long __cdecl CNtAce::GetFullUserName2(unsigned short * __ptr64 * __ptr64) __ptr64
-?GetFullUserName2@CNtAce@@UEAAJPEAPEAG@Z
-; public: class CNtSid * __ptr64 __cdecl CNtSecurityDescriptor::GetGroup(void) __ptr64
-?GetGroup@CNtSecurityDescriptor@@QEAAPEAVCNtSid@@XZ
-; public: void * __ptr64 __cdecl CPropertyName::GetHandle(void) __ptr64
-?GetHandle@CPropertyName@@QEAAPEAXXZ
-; public: unsigned char __cdecl CDateTimeParser::GetHours(void) __ptr64
-?GetHours@CDateTimeParser@@QEAAEXZ
-; protected: virtual unsigned long __cdecl CExecQueue::GetIdleTimeout(class CExecQueue::CThreadRecord * __ptr64) __ptr64
-?GetIdleTimeout@CExecQueue@@MEAAKPEAVCThreadRecord@1@@Z
-; public: unsigned long __cdecl CBuffer::GetIndex(void) __ptr64
-?GetIndex@CBuffer@@QEAAKXZ
-; public: static class CWbemInterval  __cdecl CWbemInterval::GetInfinity(void)
-?GetInfinity@CWbemInterval@@SA?AV1@XZ
-; public: static class CWbemTime  __cdecl CWbemTime::GetInfinity(void)
-?GetInfinity@CWbemTime@@SA?AV1@XZ
-; public: int __cdecl CNtSid::GetInfo(unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?GetInfo@CNtSid@@QEAAHPEAPEAG0PEAK@Z
-; public: struct IUnknown * __ptr64 __cdecl CUnk::GetInnerUnknown(void) __ptr64
-?GetInnerUnknown@CUnk@@QEAAPEAUIUnknown@@XZ
-; public: virtual int __cdecl CBasicUnloadInstruction::GetInstructionType(void) __ptr64
-?GetInstructionType@CBasicUnloadInstruction@@UEAAHXZ
-; public: char * __ptr64 __cdecl CVar::GetLPSTR(void) __ptr64
-?GetLPSTR@CVar@@QEAAPEADXZ
-; public: char * __ptr64 __cdecl WString::GetLPSTR(void)const  __ptr64
-?GetLPSTR@WString@@QEBAPEADXZ
-; public: unsigned short * __ptr64 __cdecl CVar::GetLPWSTR(void) __ptr64
-?GetLPWSTR@CVar@@QEAAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl WString::GetLToken(unsigned short)const  __ptr64
-?GetLToken@WString@@QEBAPEAGG@Z
-; public: long __cdecl Registry::GetLastError(void) __ptr64
-?GetLastError@Registry@@QEAAJXZ
-; protected: void __cdecl CDateTimeParser::GetLocalInfoAndAlloc(unsigned long,unsigned short * __ptr64 & __ptr64) __ptr64
-?GetLocalInfoAndAlloc@CDateTimeParser@@IEAAXKAEAPEAG@Z
-; public: static long __cdecl CWbemTime::GetLocalOffsetForDate(struct _SYSTEMTIME const * __ptr64)
-?GetLocalOffsetForDate@CWbemTime@@SAJPEBU_SYSTEMTIME@@@Z
-; public: long __cdecl CWbemCriticalSection::GetLockCount(void) __ptr64
-?GetLockCount@CWbemCriticalSection@@QEAAJXZ
-; unsigned long __cdecl GetLoggingLevelEnabled(void)
-?GetLoggingLevelEnabled@@YAKXZ
-; public: long __cdecl CVar::GetLong(void) __ptr64
-?GetLong@CVar@@QEAAJXZ
-; public: long __cdecl CSafeArray::GetLongAt(int) __ptr64
-?GetLongAt@CSafeArray@@QEAAJH@Z
-; public: unsigned int __cdecl CDateTimeParser::GetMicroseconds(void) __ptr64
-?GetMicroseconds@CDateTimeParser@@QEAAIXZ
-; public: unsigned long __cdecl CWbemInterval::GetMilliseconds(void)const  __ptr64
-?GetMilliseconds@CWbemInterval@@QEBAKXZ
-; public: unsigned char __cdecl CDateTimeParser::GetMinutes(void) __ptr64
-?GetMinutes@CDateTimeParser@@QEAAEXZ
-; public: unsigned char __cdecl CDateTimeParser::GetMonth(void) __ptr64
-?GetMonth@CDateTimeParser@@QEAAEXZ
-; public: unsigned short * __ptr64 __cdecl Registry::GetMultiStr(unsigned short * __ptr64,unsigned long & __ptr64) __ptr64
-?GetMultiStr@Registry@@QEAAPEAGPEAGAEAK@Z
-; public: struct tagSAFEARRAY * __ptr64 __cdecl CVar::GetNewSafeArray(void) __ptr64
-?GetNewSafeArray@CVar@@QEAAPEAUtagSAFEARRAY@@XZ
-; public: struct tagSAFEARRAY * __ptr64 __cdecl CVarVector::GetNewSafeArray(void) __ptr64
-?GetNewSafeArray@CVarVector@@QEAAPEAUtagSAFEARRAY@@XZ
-; public: struct tagVARIANT * __ptr64 __cdecl CVar::GetNewVariant(void) __ptr64
-?GetNewVariant@CVar@@QEAAPEAUtagVARIANT@@XZ
-; public: class CExecRequest * __ptr64 __cdecl CExecRequest::GetNext(void) __ptr64
-?GetNext@CExecRequest@@QEAAPEAV1@XZ
-; public: virtual class CWbemTime  __cdecl CBasicUnloadInstruction::GetNextFiringTime(class CWbemTime,long * __ptr64)const  __ptr64
-?GetNextFiringTime@CBasicUnloadInstruction@@UEBA?AVCWbemTime@@V2@PEAJ@Z
-; public: int __cdecl CNtAcl::GetNumAces(void) __ptr64
-?GetNumAces@CNtAcl@@QEAAHXZ
-; public: long __cdecl CPropertyName::GetNumElements(void)const  __ptr64
-?GetNumElements@CPropertyName@@QEBAJXZ
-; public: long __cdecl CInstructionQueue::GetNumInstructions(void) __ptr64
-?GetNumInstructions@CInstructionQueue@@QEAAJXZ
-; public: unsigned short __cdecl CEventLogRecord::GetNumStrings(void) __ptr64
-?GetNumStrings@CEventLogRecord@@QEAAGXZ
-; public: int __cdecl CVar::GetOleType(void) __ptr64
-?GetOleType@CVar@@QEAAHXZ
-; public: class CNtSid * __ptr64 __cdecl CNtSecurityDescriptor::GetOwner(void) __ptr64
-?GetOwner@CNtSecurityDescriptor@@QEAAPEAVCNtSid@@XZ
-; public: unsigned long __cdecl CWbemCriticalSection::GetOwningThreadId(void) __ptr64
-?GetOwningThreadId@CWbemCriticalSection@@QEAAKXZ
-; public: long __cdecl CDatePart::GetPart(int,int * __ptr64) __ptr64
-?GetPart@CDatePart@@QEAAJHPEAH@Z
-; public: unsigned short * __ptr64 __cdecl CUnloadInstruction::GetPath(void) __ptr64
-?GetPath@CUnloadInstruction@@QEAAQEAGXZ
-; public: int __cdecl CPersistentConfig::GetPersistentCfgValue(unsigned long,unsigned long & __ptr64) __ptr64
-?GetPersistentCfgValue@CPersistentConfig@@QEAAHKAEAK@Z
-; public: virtual long __cdecl CWbemCallSecurity::GetPotentialImpersonation(void) __ptr64
-?GetPotentialImpersonation@CWbemCallSecurity@@UEAAJXZ
-; protected: void __cdecl CDateTimeParser::GetPreferedDateFormat(void) __ptr64
-?GetPreferedDateFormat@CDateTimeParser@@IEAAXXZ
-; public: long __cdecl CExecRequest::GetPriority(void) __ptr64
-?GetPriority@CExecRequest@@QEAAJXZ
-; private: unsigned short * __ptr64 __cdecl CTextTemplate::GetPropertyFromIUnknown(unsigned short * __ptr64,struct IUnknown * __ptr64) __ptr64
-?GetPropertyFromIUnknown@CTextTemplate@@AEAAPEAGPEAGPEAUIUnknown@@@Z
-; public: struct _ACCESS_ALLOWED_ACE * __ptr64 __cdecl CNtAce::GetPtr(void) __ptr64
-?GetPtr@CNtAce@@QEAAPEAU_ACCESS_ALLOWED_ACE@@XZ
-; public: struct _ACL * __ptr64 __cdecl CNtAcl::GetPtr(void) __ptr64
-?GetPtr@CNtAcl@@QEAAPEAU_ACL@@XZ
-; public: void * __ptr64 __cdecl CNtSecurityDescriptor::GetPtr(void) __ptr64
-?GetPtr@CNtSecurityDescriptor@@QEAAPEAXXZ
-; public: void * __ptr64 __cdecl CNtSid::GetPtr(void) __ptr64
-?GetPtr@CNtSid@@QEAAPEAXXZ
-; public: int __cdecl QL1_Parser::GetQueryClass(unsigned short * __ptr64,int) __ptr64
-?GetQueryClass@QL1_Parser@@QEAAHPEAGH@Z
-; public: int __cdecl CFlexQueue::GetQueueSize(void)const  __ptr64
-?GetQueueSize@CFlexQueue@@QEBAHXZ
-; public: long __cdecl CVarVector::GetRawArrayData(void * __ptr64,int) __ptr64
-?GetRawArrayData@CVarVector@@QEAAJPEAXH@Z
-; public: unsigned char * __ptr64 __cdecl CBuffer::GetRawData(void) __ptr64
-?GetRawData@CBuffer@@QEAAPEAEXZ
-; public: int __cdecl CSafeArray::GetRawData(void * __ptr64,int) __ptr64
-?GetRawData@CSafeArray@@QEAAHPEAXH@Z
-; public: void * __ptr64 __cdecl CVar::GetRawData(void) __ptr64
-?GetRawData@CVar@@QEAAPEAXXZ
-; public: long __cdecl CWbemCriticalSection::GetRecursionCount(void) __ptr64
-?GetRecursionCount@CWbemCriticalSection@@QEAAJXZ
-; public: int __cdecl CWQLScanner::GetReferencedAliases(class CWStringArray & __ptr64) __ptr64
-?GetReferencedAliases@CWQLScanner@@QEAAHAEAVCWStringArray@@@Z
-; public: int __cdecl CWQLScanner::GetReferencedTables(class CWStringArray & __ptr64) __ptr64
-?GetReferencedTables@CWQLScanner@@QEAAHAEAVCWStringArray@@@Z
-; public: int __cdecl CWbemTime::GetSYSTEMTIME(struct _SYSTEMTIME * __ptr64)const  __ptr64
-?GetSYSTEMTIME@CWbemTime@@QEBAHPEAU_SYSTEMTIME@@@Z
-; public: class CNtAcl * __ptr64 __cdecl CNtSecurityDescriptor::GetSacl(void) __ptr64
-?GetSacl@CNtSecurityDescriptor@@QEAAPEAVCNtAcl@@XZ
-; public: struct tagSAFEARRAY * __ptr64 __cdecl CVarVector::GetSafeArray(int) __ptr64
-?GetSafeArray@CVarVector@@QEAAPEAUtagSAFEARRAY@@H@Z
-; private: union SA_ArrayScalar  __cdecl CSafeArray::GetScalarAt(int) __ptr64
-?GetScalarAt@CSafeArray@@AEAA?ATSA_ArrayScalar@@H@Z
-; public: unsigned char __cdecl CDateTimeParser::GetSeconds(void) __ptr64
-?GetSeconds@CDateTimeParser@@QEAAEXZ
-; public: unsigned long __cdecl CWbemInterval::GetSeconds(void)const  __ptr64
-?GetSeconds@CWbemInterval@@QEBAKXZ
-; public: class CFlexArray const * __ptr64 __cdecl CWQLScanner::GetSelectedColumns(void) __ptr64
-?GetSelectedColumns@CWQLScanner@@QEAAPEBVCFlexArray@@XZ
-; public: virtual unsigned long __cdecl C9XAce::GetSerializedSize(void) __ptr64
-?GetSerializedSize@C9XAce@@UEAAKXZ
-; public: virtual unsigned long __cdecl CNtAce::GetSerializedSize(void) __ptr64
-?GetSerializedSize@CNtAce@@UEAAKXZ
-; public: short __cdecl CVar::GetShort(void) __ptr64
-?GetShort@CVar@@QEAAFXZ
-; public: short __cdecl CSafeArray::GetShortAt(int) __ptr64
-?GetShortAt@CSafeArray@@QEAAFH@Z
-; public: int __cdecl CNtAce::GetSid(class CNtSid & __ptr64) __ptr64
-?GetSid@CNtAce@@QEAAHAEAVCNtSid@@@Z
-; public: class CNtSid * __ptr64 __cdecl CNtAce::GetSid(void) __ptr64
-?GetSid@CNtAce@@QEAAPEAVCNtSid@@XZ
-; private: long __cdecl CIdentitySecurity::GetSidFromThreadOrProcess(class CNtSid & __ptr64) __ptr64
-?GetSidFromThreadOrProcess@CIdentitySecurity@@AEAAJAEAVCNtSid@@@Z
-; protected: unsigned short const * __ptr64 __cdecl CAbstractQl1Parser::GetSinglePropertyName(void) __ptr64
-?GetSinglePropertyName@CAbstractQl1Parser@@IEAAPEBGXZ
-; public: unsigned long __cdecl CExecQueue::GetSitoutPenalty(void) __ptr64
-?GetSitoutPenalty@CExecQueue@@QEAAKXZ
-; public: unsigned long __cdecl CBuffer::GetSize(void) __ptr64
-?GetSize@CBuffer@@QEAAKXZ
-; public: unsigned long __cdecl CNtAce::GetSize(void) __ptr64
-?GetSize@CNtAce@@QEAAKXZ
-; public: unsigned long __cdecl CNtAcl::GetSize(void) __ptr64
-?GetSize@CNtAcl@@QEAAKXZ
-; public: unsigned long __cdecl CNtSecurityDescriptor::GetSize(void) __ptr64
-?GetSize@CNtSecurityDescriptor@@QEAAKXZ
-; public: unsigned long __cdecl CNtSid::GetSize(void) __ptr64
-?GetSize@CNtSid@@QEAAKXZ
-; public: virtual unsigned long __cdecl C9XAce::GetStatus(void) __ptr64
-?GetStatus@C9XAce@@UEAAKXZ
-; public: virtual unsigned long __cdecl CNtAce::GetStatus(void) __ptr64
-?GetStatus@CNtAce@@UEAAKXZ
-; public: unsigned long __cdecl CNtAcl::GetStatus(void) __ptr64
-?GetStatus@CNtAcl@@QEAAKXZ
-; public: unsigned long __cdecl CNtSecurityDescriptor::GetStatus(void) __ptr64
-?GetStatus@CNtSecurityDescriptor@@QEAAKXZ
-; public: unsigned long __cdecl CNtSid::GetStatus(void) __ptr64
-?GetStatus@CNtSid@@QEAAKXZ
-; public: int __cdecl Registry::GetStr(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
-?GetStr@Registry@@QEAAHPEAGPEAPEAG@Z
-; public: unsigned short const * __ptr64 __cdecl CInsertionString::GetString(void) __ptr64
-?GetString@CInsertionString@@QEAAPEBGXZ
-; public: unsigned short const * __ptr64 __cdecl CEventLogRecord::GetStringAt(int) __ptr64
-?GetStringAt@CEventLogRecord@@QEAAPEBGH@Z
-; public: unsigned short const * __ptr64 __cdecl CPropertyName::GetStringAt(long)const  __ptr64
-?GetStringAt@CPropertyName@@QEBAPEBGJ@Z
-; public: unsigned short * __ptr64 __cdecl CPropertyName::GetText(void) __ptr64
-?GetText@CPropertyName@@QEAAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl CVar::GetText(long,long,unsigned short const * __ptr64) __ptr64
-?GetText@CVar@@QEAAPEAGJJPEBG@Z
-; public: unsigned short * __ptr64 __cdecl CVarVector::GetText(long,long) __ptr64
-?GetText@CVarVector@@QEAAPEAGJJ@Z
-; public: unsigned short * __ptr64 __cdecl QL_LEVEL_1_RPN_EXPRESSION::GetText(void) __ptr64
-?GetText@QL_LEVEL_1_RPN_EXPRESSION@@QEAAPEAGXZ
-; public: unsigned short * __ptr64 __cdecl QL_LEVEL_1_TOKEN::GetText(void) __ptr64
-?GetText@QL_LEVEL_1_TOKEN@@QEAAPEAGXZ
-; public: int __cdecl CNtSid::GetTextSid(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetTextSid@CNtSid@@QEAAHPEAGPEAK@Z
-; public: static class CWbemTime  __cdecl CWbemTime::GetTickCount(void)
-?GetTickCount@CWbemTime@@SA?AV1@XZ
-; public: static unsigned long __cdecl CExecQueue::GetTlsIndex(void)
-?GetTlsIndex@CExecQueue@@SAKXZ
-; public: virtual void * __ptr64 __cdecl CWbemCallSecurity::GetToken(void) __ptr64
-?GetToken@CWbemCallSecurity@@UEAAPEAXXZ
-; public: virtual int __cdecl C9XAce::GetType(void) __ptr64
-?GetType@C9XAce@@UEAAHXZ
-; public: virtual unsigned short const * __ptr64 __cdecl CExecQueue::GetType(void) __ptr64
-?GetType@CExecQueue@@UEAAPEBGXZ
-; public: virtual int __cdecl CNtAce::GetType(void) __ptr64
-?GetType@CNtAce@@UEAAHXZ
-; public: int __cdecl CSafeArray::GetType(void) __ptr64
-?GetType@CSafeArray@@QEAAHXZ
-; public: int __cdecl CVar::GetType(void) __ptr64
-?GetType@CVar@@QEAAHXZ
-; public: int __cdecl CVarVector::GetType(void) __ptr64
-?GetType@CVarVector@@QEAAHXZ
-; public: int __cdecl Registry::GetType(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
-?GetType@Registry@@QEAAHPEAGPEAK@Z
-; public: unsigned short * __ptr64 __cdecl CVar::GetTypeText(void) __ptr64
-?GetTypeText@CVar@@QEAAPEAGXZ
-; public: int __cdecl CDateTimeParser::GetUTC(void) __ptr64
-?GetUTC@CDateTimeParser@@QEAAHXZ
-; public: struct IUnknown * __ptr64 __cdecl CUnk::GetUnknown(void) __ptr64
-?GetUnknown@CUnk@@QEAAPEAUIUnknown@@XZ
-; public: struct IUnknown * __ptr64 __cdecl CUnkInternal::GetUnknown(void) __ptr64
-?GetUnknown@CUnkInternal@@QEAAPEAUIUnknown@@XZ
-; public: struct IUnknown * __ptr64 __cdecl CVar::GetUnknown(void) __ptr64
-?GetUnknown@CVar@@QEAAPEAUIUnknown@@XZ
-; public: struct IUnknown * __ptr64 __cdecl CSafeArray::GetUnknownAt(int) __ptr64
-?GetUnknownAt@CSafeArray@@QEAAPEAUIUnknown@@H@Z
-; public: int __cdecl CDMTFParser::GetValue(int) __ptr64
-?GetValue@CDMTFParser@@QEAAHH@Z
-; public: class CVarVector * __ptr64 __cdecl CVar::GetVarVector(void) __ptr64
-?GetVarVector@CVar@@QEAAPEAVCVarVector@@XZ
-; public: struct tagVARIANT  __cdecl CSafeArray::GetVariantAt(int) __ptr64
-?GetVariantAt@CSafeArray@@QEAA?AUtagVARIANT@@H@Z
-; unsigned short * __ptr64 __cdecl GetWMIADAPCmdLine(int)
-?GetWMIADAPCmdLine@@YAPEAGH@Z
-; public: void * __ptr64 __cdecl CExecRequest::GetWhenDoneHandle(void) __ptr64
-?GetWhenDoneHandle@CExecRequest@@QEAAPEAXXZ
-; public: unsigned short __cdecl CVar::GetWord(void) __ptr64
-?GetWord@CVar@@QEAAGXZ
-; public: unsigned int __cdecl CDateTimeParser::GetYear(void) __ptr64
-?GetYear@CDateTimeParser@@QEAAIXZ
-; public: static class CWbemTime  __cdecl CWbemTime::GetZero(void)
-?GetZero@CWbemTime@@SA?AV1@XZ
-; protected: bool __cdecl CFlexQueue::Grow(void) __ptr64
-?Grow@CFlexQueue@@IEAA_NXZ
-; protected: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::Grow(void) __ptr64
-?Grow@CSmallArrayBlob@@IEAAPEAV1@XZ
-; public: long __cdecl CHaltable::Halt(void) __ptr64
-?Halt@CHaltable@@QEAAJXZ
-; private: unsigned short * __ptr64 __cdecl CTextTemplate::HandleEmbeddedObjectProperties(unsigned short * __ptr64,struct IWbemClassObject * __ptr64) __ptr64
-?HandleEmbeddedObjectProperties@CTextTemplate@@AEAAPEAGPEAGPEAUIWbemClassObject@@@Z
-; public: int __cdecl CNtSecurityDescriptor::HasOwner(void) __ptr64
-?HasOwner@CNtSecurityDescriptor@@QEAAHXZ
-; public: virtual long __cdecl CWbemCallSecurity::ImpersonateClient(void) __ptr64
-?ImpersonateClient@CWbemCallSecurity@@UEAAJXZ
-; public: virtual void __cdecl CQl1ParseSink::InOrder(long) __ptr64
-?InOrder@CQl1ParseSink@@UEAAXJ@Z
-; protected: void __cdecl CFlexQueue::IncrementIndex(int & __ptr64) __ptr64
-?IncrementIndex@CFlexQueue@@IEAAXAEAH@Z
-; public: void __cdecl CPropertyName::Init(void) __ptr64
-?Init@CPropertyName@@QEAAXXZ
-; private: void __cdecl CVar::Init(void) __ptr64
-?Init@CVar@@AEAAXXZ
-; protected: static void __cdecl CExecQueue::InitTls(void)
-?InitTls@CExecQueue@@KAXXZ
-; protected: static void __cdecl CAbstractQl1Parser::InitToken(struct _tag_WbemQl1Token * __ptr64)
-?InitToken@CAbstractQl1Parser@@KAXPEAU_tag_WbemQl1Token@@@Z
-; protected: void __cdecl CSmallArrayBlob::Initialize(int) __ptr64
-?Initialize@CSmallArrayBlob@@IEAAXH@Z
-; public: virtual int __cdecl CUnk::Initialize(void) __ptr64
-?Initialize@CUnk@@UEAAHXZ
-; protected: virtual long __cdecl CExecQueue::InitializeThread(void) __ptr64
-?InitializeThread@CExecQueue@@MEAAJXZ
-; public: int __cdecl CFlexArray::InsertAt(int,void * __ptr64) __ptr64
-?InsertAt@CFlexArray@@QEAAHHPEAX@Z
-; public: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::InsertAt(int,void * __ptr64) __ptr64
-?InsertAt@CSmallArrayBlob@@QEAAPEAV1@HPEAX@Z
-; public: int __cdecl CVarVector::InsertAt(int,class CVar & __ptr64) __ptr64
-?InsertAt@CVarVector@@QEAAHHAEAVCVar@@@Z
-; public: int __cdecl CWStringArray::InsertAt(int,unsigned short const * __ptr64) __ptr64
-?InsertAt@CWStringArray@@QEAAHHPEBG@Z
-; public: unsigned long __cdecl CUnkInternal::InternalAddRef(void) __ptr64
-?InternalAddRef@CUnkInternal@@QEAAKXZ
-; public: long __cdecl CUnkInternal::InternalQueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?InternalQueryInterface@CUnkInternal@@QEAAJAEBU_GUID@@PEAPEAX@Z
-; public: long __cdecl CVarVector::InternalRawArrayAccess(void) __ptr64
-?InternalRawArrayAccess@CVarVector@@QEAAJXZ
-; public: unsigned long __cdecl CUnkInternal::InternalRelease(void) __ptr64
-?InternalRelease@CUnkInternal@@QEAAKXZ
-; public: static void __cdecl CWStringArray::Intersection(class CWStringArray & __ptr64,class CWStringArray & __ptr64,class CWStringArray & __ptr64)
-?Intersection@CWStringArray@@SAXAEAV1@00@Z
-; int __cdecl IsAdmin(void * __ptr64)
-?IsAdmin@@YAHPEAX@Z
-; protected: virtual int __cdecl CExecQueue::IsAppropriateThread(void) __ptr64
-?IsAppropriateThread@CExecQueue@@MEAAHXZ
-; public: int __cdecl CVar::IsDataNull(void) __ptr64
-?IsDataNull@CVar@@QEAAHXZ
-; private: int __cdecl CTextTemplate::IsEmbeddedObjectProperty(unsigned short * __ptr64) __ptr64
-?IsEmbeddedObjectProperty@CTextTemplate@@AEAAHPEAG@Z
-; public: int __cdecl CInsertionString::IsEmpty(void) __ptr64
-?IsEmpty@CInsertionString@@QEAAHXZ
-; public: int __cdecl CInstructionQueue::IsEmpty(void) __ptr64
-?IsEmpty@CInstructionQueue@@QEAAHXZ
-; public: int __cdecl CCheckedInCritSec::IsEntered(void) __ptr64
-?IsEntered@CCheckedInCritSec@@QEAAHXZ
-; public: int __cdecl CEnterWbemCriticalSection::IsEntered(void) __ptr64
-?IsEntered@CEnterWbemCriticalSection@@QEAAHXZ
-; public: int __cdecl CWbemInterval::IsFinite(void)const  __ptr64
-?IsFinite@CWbemInterval@@QEBAHXZ
-; public: int __cdecl CWbemTime::IsFinite(void)const  __ptr64
-?IsFinite@CWbemTime@@QEBAHXZ
-; public: int __cdecl CHaltable::IsHalted(void) __ptr64
-?IsHalted@CHaltable@@QEAAHXZ
-; protected: virtual int __cdecl CExecQueue::IsIdleTooLong(class CExecQueue::CThreadRecord * __ptr64,unsigned long) __ptr64
-?IsIdleTooLong@CExecQueue@@MEAAHPEAVCThreadRecord@1@K@Z
-; public: virtual int __cdecl CWbemCallSecurity::IsImpersonating(void) __ptr64
-?IsImpersonating@CWbemCallSecurity@@UEAAHXZ
-; int __cdecl IsInAdminGroup(void)
-?IsInAdminGroup@@YAHXZ
-; public: bool __cdecl CDMTFParser::IsInterval(void) __ptr64
-?IsInterval@CDMTFParser@@QEAA_NXZ
-; int __cdecl IsLocalService(void * __ptr64)
-?IsLocalService@@YAHPEAX@Z
-; int __cdecl IsNT(void)
-?IsNT@@YAHXZ
-; int __cdecl IsNetworkService(void * __ptr64)
-?IsNetworkService@@YAHPEAX@Z
-; int __cdecl IsNtSetupRunning(void)
-?IsNtSetupRunning@@YAHXZ
-; public: int __cdecl CVar::IsNull(void) __ptr64
-?IsNull@CVar@@QEAAHXZ
-; public: bool __cdecl CExecRequest::IsOk(void) __ptr64
-?IsOk@CExecRequest@@QEAA_NXZ
-; public: int __cdecl CVarVector::IsOptimized(void) __ptr64
-?IsOptimized@CVarVector@@QEAAHXZ
-; bool __cdecl IsPrivilegePresent(void * __ptr64,unsigned short const * __ptr64)
-?IsPrivilegePresent@@YA_NPEAXPEBG@Z
-; protected: virtual int __cdecl CExecQueue::IsSTA(void) __ptr64
-?IsSTA@CExecQueue@@MEAAHXZ
-; public: static int __cdecl CExecQueue::IsSTAThread(void)
-?IsSTAThread@CExecQueue@@SAHXZ
-; protected: virtual int __cdecl CExecQueue::IsSuitableThread(class CExecQueue::CThreadRecord * __ptr64,class CExecRequest * __ptr64) __ptr64
-?IsSuitableThread@CExecQueue@@MEAAHPEAVCThreadRecord@1@PEAVCExecRequest@@@Z
-; public: bool __cdecl CDMTFParser::IsUsed(int) __ptr64
-?IsUsed@CDMTFParser@@QEAA_NH@Z
-; public: bool __cdecl CNtSid::IsUser(void) __ptr64
-?IsUser@CNtSid@@QEAA_NXZ
-; public: static int __cdecl CNtSecurity::IsUserInGroup(void * __ptr64,class CNtSid & __ptr64)
-?IsUserInGroup@CNtSecurity@@SAHPEAXAEAVCNtSid@@@Z
-; public: bool __cdecl CDMTFParser::IsValid(void) __ptr64
-?IsValid@CDMTFParser@@QEAA_NXZ
-; public: int __cdecl CNtAcl::IsValid(void) __ptr64
-?IsValid@CNtAcl@@QEAAHXZ
-; public: int __cdecl CNtSecurityDescriptor::IsValid(void) __ptr64
-?IsValid@CNtSecurityDescriptor@@QEAAHXZ
-; public: int __cdecl CNtSid::IsValid(void) __ptr64
-?IsValid@CNtSid@@QEAAHXZ
-; protected: int __cdecl CDateTimeParser::IsValidAmPmString(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64 const) __ptr64
-?IsValidAmPmString@CDateTimeParser@@IEAAHPEAGPEBGQEAPEAG@Z
-; protected: int __cdecl CDateTimeParser::IsValidColonMillisecond(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
-?IsValidColonMillisecond@CDateTimeParser@@IEAAHPEAGPEBG@Z
-; public: int __cdecl CDateTimeParser::IsValidDateTime(void) __ptr64
-?IsValidDateTime@CDateTimeParser@@QEAAHXZ
-; protected: int __cdecl CDateTimeParser::IsValidDayNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
-?IsValidDayNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
-; protected: int __cdecl CDateTimeParser::IsValidDotMillisecond(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
-?IsValidDotMillisecond@CDateTimeParser@@IEAAHPEAGPEBG@Z
-; int __cdecl IsValidElementName2(unsigned short const * __ptr64,unsigned long,int)
-?IsValidElementName2@@YAHPEBGKH@Z
-; int __cdecl IsValidElementName(unsigned short const * __ptr64,unsigned long)
-?IsValidElementName@@YAHPEBGK@Z
-; protected: int __cdecl CDateTimeParser::IsValidHourNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
-?IsValidHourNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
-; protected: int __cdecl CDateTimeParser::IsValidMinuteNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
-?IsValidMinuteNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
-; protected: int __cdecl CDateTimeParser::IsValidMonthNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
-?IsValidMonthNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
-; protected: int __cdecl CDateTimeParser::IsValidMonthString(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64 const,unsigned short * __ptr64 * __ptr64 const) __ptr64
-?IsValidMonthString@CDateTimeParser@@IEAAHPEAGPEBGQEAPEAG2@Z
-; protected: int __cdecl CDateTimeParser::IsValidSecondNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
-?IsValidSecondNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
-; public: static int __cdecl CVarVector::IsValidVectorArray(int,struct tagSAFEARRAY * __ptr64)
-?IsValidVectorArray@CVarVector@@SAHHPEAUtagSAFEARRAY@@@Z
-; public: static int __cdecl CVarVector::IsValidVectorType(int)
-?IsValidVectorType@CVarVector@@SAHH@Z
-; protected: int __cdecl CDateTimeParser::IsValidYearMonthDayNumber(unsigned short * __ptr64) __ptr64
-?IsValidYearMonthDayNumber@CDateTimeParser@@IEAAHPEAG@Z
-; protected: int __cdecl CDateTimeParser::IsValidYearNumber(unsigned short * __ptr64,unsigned short const * __ptr64,int) __ptr64
-?IsValidYearNumber@CDateTimeParser@@IEAAHPEAGPEBGH@Z
-; int __cdecl IsW2KOrMore(void)
-?IsW2KOrMore@@YAHXZ
-; public: bool __cdecl CDMTFParser::IsWildcard(int) __ptr64
-?IsWildcard@CDMTFParser@@QEAA_NH@Z
-; public: int __cdecl CWbemInterval::IsZero(void)const  __ptr64
-?IsZero@CWbemInterval@@QEBAHXZ
-; public: int __cdecl CWbemTime::IsZero(void)const  __ptr64
-?IsZero@CWbemTime@@QEBAHXZ
-; public: void __cdecl CCheckedInCritSec::Leave(void) __ptr64
-?Leave@CCheckedInCritSec@@QEAAXXZ
-; public: void __cdecl CCritSec::Leave(void) __ptr64
-?Leave@CCritSec@@QEAAXXZ
-; public: void __cdecl CExecQueue::Leave(void) __ptr64
-?Leave@CExecQueue@@QEAAXXZ
-; public: void __cdecl CStaticCritSec::Leave(void) __ptr64
-?Leave@CStaticCritSec@@QEAAXXZ
-; public: void __cdecl CWbemCriticalSection::Leave(void) __ptr64
-?Leave@CWbemCriticalSection@@QEAAXXZ
-; public: int __cdecl WString::Length(void)const  __ptr64
-?Length@WString@@QEBAHXZ
-; public: void __cdecl CLockableFlexArray<class CStaticCritSec>::Lock(void) __ptr64
-?Lock@?$CLockableFlexArray@VCStaticCritSec@@@@QEAAXXZ
-; public: virtual long __cdecl CBuffer::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long) __ptr64
-?LockRegion@CBuffer@@UEAAJT_ULARGE_INTEGER@@0K@Z
-; protected: virtual void __cdecl CExecQueue::LogError(class CExecRequest * __ptr64,int) __ptr64
-?LogError@CExecQueue@@MEAAXPEAVCExecRequest@@H@Z
-; int __cdecl LoggingLevelEnabled(unsigned long)
-?LoggingLevelEnabled@@YAHK@Z
-; public: static class CWbemCallSecurity * __ptr64 __cdecl CWbemCallSecurity::MakeInternalCopyOfThread(void)
-?MakeInternalCopyOfThread@CWbemCallSecurity@@SAPEAV1@XZ
-; public: int __cdecl CVarVector::MakeOptimized(int,int,int) __ptr64
-?MakeOptimized@CVarVector@@QEAAHHHH@Z
-; public: virtual long __cdecl CTimerInstruction::MarkForRemoval(void) __ptr64
-?MarkForRemoval@CTimerInstruction@@UEAAJXZ
-; public: bool __cdecl CLike::Match(unsigned short const * __ptr64) __ptr64
-?Match@CLike@@QEAA_NPEBG@Z
-; protected: bool __cdecl CLike::MatchSet(unsigned short const * __ptr64,unsigned short const * __ptr64,int & __ptr64) __ptr64
-?MatchSet@CLike@@IEAA_NPEBG0AEAH@Z
-; public: int __cdecl Registry::MoveToSubkey(unsigned short * __ptr64) __ptr64
-?MoveToSubkey@Registry@@QEAAHPEAG@Z
-; public: unsigned int __cdecl CBaseMrciCompression::Mrci1Decompress(unsigned char * __ptr64,unsigned int,unsigned char * __ptr64,unsigned int) __ptr64
-?Mrci1Decompress@CBaseMrciCompression@@QEAAIPEAEI0I@Z
-; public: unsigned int __cdecl CBaseMrciCompression::Mrci1MaxCompress(unsigned char * __ptr64,unsigned int,unsigned char * __ptr64,unsigned int) __ptr64
-?Mrci1MaxCompress@CBaseMrciCompression@@QEAAIPEAEI0I@Z
-; public: unsigned int __cdecl CBaseMrciCompression::Mrci2Decompress(unsigned char * __ptr64,unsigned int,unsigned char * __ptr64,unsigned int) __ptr64
-?Mrci2Decompress@CBaseMrciCompression@@QEAAIPEAEI0I@Z
-; public: unsigned int __cdecl CBaseMrciCompression::Mrci2MaxCompress(unsigned char * __ptr64,unsigned int,unsigned char * __ptr64,unsigned int) __ptr64
-?Mrci2MaxCompress@CBaseMrciCompression@@QEAAIPEAEI0I@Z
-; protected: virtual int __cdecl CAbstractQl1Parser::Next(int) __ptr64
-?Next@CAbstractQl1Parser@@MEAAHH@Z
-; private: int __cdecl CWQLScanner::Next(void) __ptr64
-?Next@CWQLScanner@@AEAAHXZ
-; int __cdecl NormalizeCimDateTime(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64)
-?NormalizeCimDateTime@@YAHPEBGPEAPEAG@Z
-; protected: virtual void __cdecl CTimerGenerator::NotifyStartingThread(void) __ptr64
-?NotifyStartingThread@CTimerGenerator@@MEAAXXZ
-; protected: virtual void __cdecl CTimerGenerator::NotifyStoppingThread(void) __ptr64
-?NotifyStoppingThread@CTimerGenerator@@MEAAXXZ
-; public: virtual int __cdecl CContainerControl::ObjectCreated(struct IUnknown * __ptr64) __ptr64
-?ObjectCreated@CContainerControl@@UEAAHPEAUIUnknown@@@Z
-; public: virtual void __cdecl CContainerControl::ObjectDestroyed(struct IUnknown * __ptr64) __ptr64
-?ObjectDestroyed@CContainerControl@@UEAAXPEAUIUnknown@@@Z
-; public: virtual int __cdecl CUnk::OnInitialize(void) __ptr64
-?OnInitialize@CUnk@@UEAAHXZ
-; public: int __cdecl CEventLog::Open(void) __ptr64
-?Open@CEventLog@@QEAAHXZ
-; public: int __cdecl Registry::Open(struct HKEY__ * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
-?Open@Registry@@QEAAHPEAUHKEY__@@PEAGK@Z
-; public: class CNtAcl * __ptr64 __cdecl CNtAcl::OrderAces(void) __ptr64
-?OrderAces@CNtAcl@@QEAAPEAV1@XZ
-; public: int __cdecl CAbstractQl1Parser::Parse(class CQl1ParseSink * __ptr64,int) __ptr64
-?Parse@CAbstractQl1Parser@@QEAAHPEAVCQl1ParseSink@@H@Z
-; public: int __cdecl CWQLScanner::Parse(void) __ptr64
-?Parse@CWQLScanner@@QEAAHXZ
-; public: int __cdecl QL1_Parser::Parse(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64 * __ptr64) __ptr64
-?Parse@QL1_Parser@@QEAAHPEAPEAUQL_LEVEL_1_RPN_EXPRESSION@@@Z
-; protected: void __cdecl CDMTFParser::ParseAbsolute(unsigned short const * __ptr64) __ptr64
-?ParseAbsolute@CDMTFParser@@IEAAXPEBG@Z
-; protected: void __cdecl CDMTFParser::ParseDate(unsigned short const * __ptr64) __ptr64
-?ParseDate@CDMTFParser@@IEAAXPEBG@Z
-; protected: void __cdecl CDMTFParser::ParseInterval(unsigned short const * __ptr64) __ptr64
-?ParseInterval@CDMTFParser@@IEAAXPEBG@Z
-; protected: int __cdecl CDMTFParser::ParsePart(unsigned short const * __ptr64,int,int,int * __ptr64,int,int) __ptr64
-?ParsePart@CDMTFParser@@IEAAHPEBGHHPEAHHH@Z
-; public: void * __ptr64 __cdecl CFlexQueue::Peek(void) __ptr64
-?Peek@CFlexQueue@@QEAAPEAXXZ
-; private: unsigned short * __ptr64 __cdecl CTextTemplate::ProcessArray(struct tagVARIANT const & __ptr64,unsigned short * __ptr64) __ptr64
-?ProcessArray@CTextTemplate@@AEAAPEAGAEBUtagVARIANT@@PEAG@Z
-; private: int __cdecl CWQLScanner::Pushback(struct WSLexToken * __ptr64) __ptr64
-?Pushback@CWQLScanner@@AEAAHPEAUWSLexToken@@@Z
-; public: virtual long __cdecl CWbemCallSecurity::QueryBlanket(unsigned long * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
-?QueryBlanket@CWbemCallSecurity@@UEAAJPEAK0PEAPEAG00PEAPEAX0@Z
-; public: virtual long __cdecl CBuffer::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CBuffer@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CUnk::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CUnk@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CUnkInternal::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CUnkInternal@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: virtual long __cdecl CWbemCallSecurity::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
-?QueryInterface@CWbemCallSecurity@@UEAAJAEBU_GUID@@PEAPEAX@Z
-; public: static unsigned long __cdecl CExecQueue::QueueUnblockedWaitForSingleObject(void * __ptr64,unsigned long)
-?QueueUnblockedWaitForSingleObject@CExecQueue@@SAKPEAXK@Z
-; public: static unsigned long __cdecl CExecQueue::QueueWaitForSingleObject(void * __ptr64,unsigned long)
-?QueueWaitForSingleObject@CExecQueue@@SAKPEAXK@Z
-; public: virtual long __cdecl CBuffer::Read(void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?Read@CBuffer@@UEAAJPEAXKPEAK@Z
-; int __cdecl ReadI64(unsigned short const * __ptr64,__int64 & __ptr64 __ptr64)
-?ReadI64@@YAHPEBGAEFA_J@Z
-; public: long __cdecl CBuffer::ReadLPWSTR(unsigned short const * __ptr64 & __ptr64) __ptr64
-?ReadLPWSTR@CBuffer@@QEAAJAEAPEBG@Z
-; int __cdecl ReadUI64(unsigned short const * __ptr64,unsigned __int64 & __ptr64 __ptr64)
-?ReadUI64@@YAHPEBGAEFA_K@Z
-; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Realloc(void * __ptr64,unsigned __int64) __ptr64
-?Realloc@CWin32DefaultArena@@UEAAPEAXPEAX_K@Z
-; private: int __cdecl CWQLScanner::ReduceSql89Joins(void) __ptr64
-?ReduceSql89Joins@CWQLScanner@@AEAAHXZ
-; private: int __cdecl CWQLScanner::ReduceSql92Joins(void) __ptr64
-?ReduceSql92Joins@CWQLScanner@@AEAAHXZ
-; protected: static void __cdecl CExecQueue::Register(class CExecQueue::CThreadRecord * __ptr64)
-?Register@CExecQueue@@KAXPEAVCThreadRecord@1@@Z
-; void __cdecl RegisterDLL(struct HINSTANCE__ * __ptr64,struct _GUID,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
-?RegisterDLL@@YAXPEAUHINSTANCE__@@U_GUID@@PEAG22@Z
-; long __cdecl RegisterDllAppid(struct HINSTANCE__ * __ptr64,struct _GUID,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
-?RegisterDllAppid@@YAJPEAUHINSTANCE__@@U_GUID@@PEAG222@Z
-; public: virtual void __cdecl CBasicUnloadInstruction::Release(void) __ptr64
-?Release@CBasicUnloadInstruction@@UEAAXXZ
-; public: virtual unsigned long __cdecl CBuffer::Release(void) __ptr64
-?Release@CBuffer@@UEAAKXZ
-; public: virtual void __cdecl CContainerControl::Release(struct IUnknown * __ptr64) __ptr64
-?Release@CContainerControl@@UEAAXPEAUIUnknown@@@Z
-; public: void __cdecl CExecQueue::Release(void) __ptr64
-?Release@CExecQueue@@QEAAXXZ
-; public: virtual unsigned long __cdecl CUnk::Release(void) __ptr64
-?Release@CUnk@@UEAAKXZ
-; public: virtual unsigned long __cdecl CUnkInternal::Release(void) __ptr64
-?Release@CUnkInternal@@UEAAKXZ
-; public: virtual unsigned long __cdecl CWbemCallSecurity::Release(void) __ptr64
-?Release@CWbemCallSecurity@@UEAAKXZ
-; public: void __cdecl QL_LEVEL_1_RPN_EXPRESSION::Release(void) __ptr64
-?Release@QL_LEVEL_1_RPN_EXPRESSION@@QEAAXXZ
-; public: class CWbemInterval  __cdecl CWbemTime::RemainsUntil(class CWbemTime const & __ptr64)const  __ptr64
-?RemainsUntil@CWbemTime@@QEBA?AVCWbemInterval@@AEBV1@@Z
-; public: long __cdecl CInstructionQueue::Remove(class CInstructionTest * __ptr64,class CTimerInstruction * __ptr64 * __ptr64) __ptr64
-?Remove@CInstructionQueue@@QEAAJPEAVCInstructionTest@@PEAPEAVCTimerInstruction@@@Z
-; public: virtual long __cdecl CMinMaxLimitControl::Remove(unsigned long) __ptr64
-?Remove@CMinMaxLimitControl@@UEAAJK@Z
-; public: long __cdecl CTimerGenerator::Remove(class CInstructionTest * __ptr64) __ptr64
-?Remove@CTimerGenerator@@QEAAJPEAVCInstructionTest@@@Z
-; public: int __cdecl CFlexArray::RemoveAt(int) __ptr64
-?RemoveAt@CFlexArray@@QEAAHH@Z
-; public: int __cdecl CSafeArray::RemoveAt(int) __ptr64
-?RemoveAt@CSafeArray@@QEAAHH@Z
-; public: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::RemoveAt(int,void * __ptr64 * __ptr64) __ptr64
-?RemoveAt@CSmallArrayBlob@@QEAAPEAV1@HPEAPEAX@Z
-; public: int __cdecl CVarVector::RemoveAt(int) __ptr64
-?RemoveAt@CVarVector@@QEAAHH@Z
-; public: int __cdecl CWStringArray::RemoveAt(int) __ptr64
-?RemoveAt@CWStringArray@@QEAAHH@Z
-; public: virtual long __cdecl CLimitControl::RemoveMember(void) __ptr64
-?RemoveMember@CLimitControl@@UEAAJXZ
-; public: int __cdecl CWStringArray::ReplaceAt(int,unsigned short * __ptr64) __ptr64
-?ReplaceAt@CWStringArray@@QEAAHHPEAG@Z
-; public: static unsigned short * __ptr64 __cdecl QL1_Parser::ReplaceClassName(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,unsigned short const * __ptr64)
-?ReplaceClassName@QL1_Parser@@SAPEAGPEAUQL_LEVEL_1_RPN_EXPRESSION@@PEBG@Z
-; public: int __cdecl CEventLog::Report(unsigned short,unsigned long,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString) __ptr64
-?Report@CEventLog@@QEAAHGKVCInsertionString@@000000000@Z
-; public: bool __cdecl CFlexQueue::Requeue(void * __ptr64) __ptr64
-?Requeue@CFlexQueue@@QEAA_NPEAX@Z
-; public: long __cdecl CRegistryMinMaxLimitControl::Reread(void) __ptr64
-?Reread@CRegistryMinMaxLimitControl@@QEAAJXZ
-; public: virtual void __cdecl CUnloadInstruction::Reread(struct IWbemContext * __ptr64) __ptr64
-?Reread@CUnloadInstruction@@UEAAXPEAUIWbemContext@@@Z
-; public: void __cdecl CBuffer::Reset(void) __ptr64
-?Reset@CBuffer@@QEAAXXZ
-; public: void __cdecl CMRCIControl::Reset(void) __ptr64
-?Reset@CMRCIControl@@QEAAXXZ
-; protected: void __cdecl CDateTimeParser::ResetDate(int) __ptr64
-?ResetDate@CDateTimeParser@@IEAAXH@Z
-; protected: void __cdecl CDateTimeParser::ResetDateTime(int) __ptr64
-?ResetDateTime@CDateTimeParser@@IEAAXH@Z
-; protected: void __cdecl CDateTimeParser::ResetTime(int) __ptr64
-?ResetTime@CDateTimeParser@@IEAAXH@Z
-; public: int __cdecl CNtAcl::Resize(unsigned long) __ptr64
-?Resize@CNtAcl@@QEAAHK@Z
-; public: long __cdecl CHaltable::Resume(void) __ptr64
-?Resume@CHaltable@@QEAAJXZ
-; public: long __cdecl CHaltable::ResumeAll(void) __ptr64
-?ResumeAll@CHaltable@@QEAAJXZ
-; long __cdecl RetrieveSidFromCall(class CNtSid & __ptr64)
-?RetrieveSidFromCall@@YAJAEAVCNtSid@@@Z
-; private: long __cdecl CIdentitySecurity::RetrieveSidFromCall(class CNtSid & __ptr64) __ptr64
-?RetrieveSidFromCall@CIdentitySecurity@@AEAAJAEAVCNtSid@@@Z
-; long __cdecl RetrieveSidFromToken(void * __ptr64,class CNtSid & __ptr64)
-?RetrieveSidFromToken@@YAJPEAXAEAVCNtSid@@@Z
-; private: unsigned short * __ptr64 __cdecl CTextTemplate::ReturnEscapedReturns(unsigned short * __ptr64) __ptr64
-?ReturnEscapedReturns@CTextTemplate@@AEAAPEAGPEAG@Z
-; public: virtual long __cdecl CBuffer::Revert(void) __ptr64
-?Revert@CBuffer@@UEAAJXZ
-; public: virtual long __cdecl CWbemCallSecurity::RevertToSelf(void) __ptr64
-?RevertToSelf@CWbemCallSecurity@@UEAAJXZ
-; public: void __cdecl CTimerGenerator::ScheduleFreeUnusedLibraries(void) __ptr64
-?ScheduleFreeUnusedLibraries@CTimerGenerator@@QEAAXXZ
-; private: static unsigned long __cdecl CTimerGenerator::SchedulerThread(void * __ptr64)
-?SchedulerThread@CTimerGenerator@@CAKPEAX@Z
-; protected: int __cdecl CEventLog::SearchForRecord(class CEventLogRecord * __ptr64) __ptr64
-?SearchForRecord@CEventLog@@IEAAHPEAVCEventLogRecord@@@Z
-; protected: virtual class CExecRequest * __ptr64 __cdecl CExecQueue::SearchForSuitableRequest(class CExecQueue::CThreadRecord * __ptr64) __ptr64
-?SearchForSuitableRequest@CExecQueue@@MEAAPEAVCExecRequest@@PEAVCThreadRecord@1@@Z
-; public: virtual long __cdecl CBuffer::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER * __ptr64) __ptr64
-?Seek@CBuffer@@UEAAJT_LARGE_INTEGER@@KPEAT_ULARGE_INTEGER@@@Z
-; private: int __cdecl CWQLScanner::SelectList(void) __ptr64
-?SelectList@CWQLScanner@@AEAAHXZ
-; public: virtual bool __cdecl C9XAce::Serialize(unsigned char * __ptr64,unsigned __int64) __ptr64
-?Serialize@C9XAce@@UEAA_NPEAE_K@Z
-; public: virtual bool __cdecl CNtAce::Serialize(unsigned char * __ptr64,unsigned __int64) __ptr64
-?Serialize@CNtAce@@UEAA_NPEAE_K@Z
-; public: void __cdecl CWbemTime::Set100nss(__int64) __ptr64
-?Set100nss@CWbemTime@@QEAAX_J@Z
-; public: long __cdecl CTimerGenerator::Set(class CTimerInstruction * __ptr64,class CWbemTime) __ptr64
-?Set@CTimerGenerator@@QEAAJPEAVCTimerInstruction@@VCWbemTime@@@Z
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetAggregated(void) __ptr64
-?SetAggregated@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXXZ
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetAggregationTolerance(struct _tag_WbemQl1Tolerance const & __ptr64) __ptr64
-?SetAggregationTolerance@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBU_tag_WbemQl1Tolerance@@@Z
-; public: void __cdecl CVar::SetAsNull(void) __ptr64
-?SetAsNull@CVar@@QEAAXXZ
-; public: void __cdecl CFlexArray::SetAt(int,void * __ptr64) __ptr64
-?SetAt@CFlexArray@@QEAAXHPEAX@Z
-; public: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::SetAt(int,void * __ptr64,void * __ptr64 * __ptr64) __ptr64
-?SetAt@CSmallArrayBlob@@QEAAPEAV1@HPEAXPEAPEAX@Z
-; public: int __cdecl CWStringArray::SetAt(int,unsigned short const * __ptr64) __ptr64
-?SetAt@CWStringArray@@QEAAHHPEBG@Z
-; public: int __cdecl CVar::SetBSTR(unsigned short * __ptr64) __ptr64
-?SetBSTR@CVar@@QEAAHPEAG@Z
-; public: int __cdecl CVar::SetBSTR(class auto_bstr) __ptr64
-?SetBSTR@CVar@@QEAAHVauto_bstr@@@Z
-; public: int __cdecl CSafeArray::SetBSTRAt(int,unsigned short * __ptr64) __ptr64
-?SetBSTRAt@CSafeArray@@QEAAHHPEAG@Z
-; public: int __cdecl Registry::SetBinary(unsigned short * __ptr64,unsigned char * __ptr64,unsigned long) __ptr64
-?SetBinary@Registry@@QEAAHPEAGPEAEK@Z
-; public: void __cdecl CVar::SetBlob(struct tagBLOB * __ptr64,int) __ptr64
-?SetBlob@CVar@@QEAAXPEAUtagBLOB@@H@Z
-; public: void __cdecl CVar::SetBool(short) __ptr64
-?SetBool@CVar@@QEAAXF@Z
-; public: int __cdecl CSafeArray::SetBoolAt(int,short) __ptr64
-?SetBoolAt@CSafeArray@@QEAAHHF@Z
-; public: void __cdecl CVar::SetByte(unsigned char) __ptr64
-?SetByte@CVar@@QEAAXE@Z
-; public: int __cdecl CSafeArray::SetByteAt(int,unsigned char) __ptr64
-?SetByteAt@CSafeArray@@QEAAHHE@Z
-; public: void __cdecl CVar::SetCanDelete(int) __ptr64
-?SetCanDelete@CVar@@QEAAXH@Z
-; public: void __cdecl CVar::SetChar(char) __ptr64
-?SetChar@CVar@@QEAAXD@Z
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetClassName(unsigned short const * __ptr64) __ptr64
-?SetClassName@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXPEBG@Z
-; public: void __cdecl CVar::SetClsId(struct _GUID * __ptr64,int) __ptr64
-?SetClsId@CVar@@QEAAXPEAU_GUID@@H@Z
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetCountQuery(void) __ptr64
-?SetCountQuery@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXXZ
-; public: int __cdecl CWbemTime::SetDMTF(unsigned short const * __ptr64) __ptr64
-?SetDMTF@CWbemTime@@QEAAHPEBG@Z
-; public: void __cdecl CVar::SetDWORD(unsigned long) __ptr64
-?SetDWORD@CVar@@QEAAXK@Z
-; public: int __cdecl Registry::SetDWORD(unsigned short * __ptr64,unsigned long) __ptr64
-?SetDWORD@Registry@@QEAAHPEAGK@Z
-; public: int __cdecl Registry::SetDWORDStr(unsigned short * __ptr64,unsigned long) __ptr64
-?SetDWORDStr@Registry@@QEAAHPEAGK@Z
-; public: int __cdecl CNtSecurityDescriptor::SetDacl(class CNtAcl * __ptr64) __ptr64
-?SetDacl@CNtSecurityDescriptor@@QEAAHPEAVCNtAcl@@@Z
-; public: long __cdecl CDatePart::SetDate(char const * __ptr64) __ptr64
-?SetDate@CDatePart@@QEAAJPEBD@Z
-; public: long __cdecl CDatePart::SetDate(unsigned short const * __ptr64) __ptr64
-?SetDate@CDatePart@@QEAAJPEBG@Z
-; public: int __cdecl CDateTimeParser::SetDateTime(unsigned short const * __ptr64) __ptr64
-?SetDateTime@CDateTimeParser@@QEAAHPEBG@Z
-; public: void __cdecl CSafeArray::SetDestructorPolicy(int) __ptr64
-?SetDestructorPolicy@CSafeArray@@QEAAXH@Z
-; public: void __cdecl CVar::SetDispatch(struct IDispatch * __ptr64) __ptr64
-?SetDispatch@CVar@@QEAAXPEAUIDispatch@@@Z
-; public: int __cdecl CSafeArray::SetDispatchAt(int,struct IDispatch * __ptr64) __ptr64
-?SetDispatchAt@CSafeArray@@QEAAHHPEAUIDispatch@@@Z
-; public: void __cdecl CVar::SetDouble(double) __ptr64
-?SetDouble@CVar@@QEAAXN@Z
-; public: int __cdecl CSafeArray::SetDoubleAt(int,double) __ptr64
-?SetDoubleAt@CSafeArray@@QEAAHHN@Z
-; public: void __cdecl CVar::SetEmbeddedObject(struct IUnknown * __ptr64) __ptr64
-?SetEmbeddedObject@CVar@@QEAAXPEAUIUnknown@@@Z
-; public: int __cdecl Registry::SetExpandStr(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?SetExpandStr@Registry@@QEAAHPEAG0@Z
-; public: void __cdecl CLike::SetExpression(unsigned short const * __ptr64,unsigned short) __ptr64
-?SetExpression@CLike@@QEAAXPEBGG@Z
-; public: static void __cdecl CStaticCritSec::SetFailure(void)
-?SetFailure@CStaticCritSec@@SAXXZ
-; public: void __cdecl CVar::SetFileTime(struct _FILETIME * __ptr64) __ptr64
-?SetFileTime@CVar@@QEAAXPEAU_FILETIME@@@Z
-; public: int __cdecl CWbemTime::SetFileTime(struct _FILETIME const & __ptr64) __ptr64
-?SetFileTime@CWbemTime@@QEAAHAEBU_FILETIME@@@Z
-; public: virtual void __cdecl C9XAce::SetFlags(long) __ptr64
-?SetFlags@C9XAce@@UEAAXJ@Z
-; public: virtual void __cdecl CNtAce::SetFlags(long) __ptr64
-?SetFlags@CNtAce@@UEAAXJ@Z
-; public: void __cdecl CVar::SetFloat(float) __ptr64
-?SetFloat@CVar@@QEAAXM@Z
-; public: int __cdecl CSafeArray::SetFloatAt(int,float) __ptr64
-?SetFloatAt@CSafeArray@@QEAAHHM@Z
-; public: int __cdecl CNtSecurityDescriptor::SetFromAbsoluteCopy(struct SNtAbsoluteSD * __ptr64) __ptr64
-?SetFromAbsoluteCopy@CNtSecurityDescriptor@@QEAAHPEAUSNtAbsoluteSD@@@Z
-; public: int __cdecl CNtSecurityDescriptor::SetGroup(class CNtSid * __ptr64) __ptr64
-?SetGroup@CNtSecurityDescriptor@@QEAAHPEAVCNtSid@@@Z
-; public: void __cdecl CSafeArray::SetGrowGranularity(int) __ptr64
-?SetGrowGranularity@CSafeArray@@QEAAXH@Z
-; public: void __cdecl CPropertyName::SetHandle(void * __ptr64) __ptr64
-?SetHandle@CPropertyName@@QEAAXPEAX@Z
-; public: void __cdecl CExecQueue::SetIdleTimeout(unsigned long) __ptr64
-?SetIdleTimeout@CExecQueue@@QEAAXK@Z
-; public: void __cdecl CBasicUnloadInstruction::SetInterval(class CWbemInterval & __ptr64) __ptr64
-?SetInterval@CBasicUnloadInstruction@@QEAAXAEAVCWbemInterval@@@Z
-; public: int __cdecl CVar::SetLPSTR(char * __ptr64,int) __ptr64
-?SetLPSTR@CVar@@QEAAHPEADH@Z
-; public: int __cdecl CVar::SetLPWSTR(unsigned short * __ptr64,int) __ptr64
-?SetLPWSTR@CVar@@QEAAHPEAGH@Z
-; public: void __cdecl CVar::SetLong(long) __ptr64
-?SetLong@CVar@@QEAAXJ@Z
-; public: int __cdecl CSafeArray::SetLongAt(int,long) __ptr64
-?SetLongAt@CSafeArray@@QEAAHHJ@Z
-; public: void __cdecl CMinMaxLimitControl::SetMax(unsigned long) __ptr64
-?SetMax@CMinMaxLimitControl@@QEAAXK@Z
-; public: void __cdecl CWbemInterval::SetMilliseconds(unsigned long) __ptr64
-?SetMilliseconds@CWbemInterval@@QEAAXK@Z
-; public: void __cdecl CMinMaxLimitControl::SetMin(unsigned long) __ptr64
-?SetMin@CMinMaxLimitControl@@QEAAXK@Z
-; public: int __cdecl Registry::SetMultiStr(unsigned short * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
-?SetMultiStr@Registry@@QEAAHPEAG0K@Z
-; public: void __cdecl CExecRequest::SetNext(class CExecRequest * __ptr64) __ptr64
-?SetNext@CExecRequest@@QEAAXPEAV1@@Z
-; int __cdecl SetObjectAccess2(void * __ptr64)
-?SetObjectAccess2@@YAHPEAX@Z
-; public: void __cdecl CExecQueue::SetOverflowIdleTimeout(unsigned long) __ptr64
-?SetOverflowIdleTimeout@CExecQueue@@QEAAXK@Z
-; public: int __cdecl CNtSecurityDescriptor::SetOwner(class CNtSid * __ptr64) __ptr64
-?SetOwner@CNtSecurityDescriptor@@QEAAHPEAVCNtSid@@@Z
-; public: int __cdecl CPersistentConfig::SetPersistentCfgValue(unsigned long,unsigned long) __ptr64
-?SetPersistentCfgValue@CPersistentConfig@@QEAAHKK@Z
-; public: void __cdecl CExecRequest::SetPriority(long) __ptr64
-?SetPriority@CExecRequest@@QEAAXJ@Z
-; public: void __cdecl CVar::SetRaw(int,void * __ptr64,int) __ptr64
-?SetRaw@CVar@@QEAAXHPEAXH@Z
-; public: void __cdecl CVarVector::SetRawArrayBinding(int) __ptr64
-?SetRawArrayBinding@CVarVector@@QEAAXH@Z
-; public: long __cdecl CVarVector::SetRawArrayData(void * __ptr64,int,int) __ptr64
-?SetRawArrayData@CVarVector@@QEAAJPEAXHH@Z
-; public: void __cdecl CSafeArray::SetRawArrayMaxElement(int) __ptr64
-?SetRawArrayMaxElement@CSafeArray@@QEAAXH@Z
-; public: int __cdecl CVarVector::SetRawArraySize(int) __ptr64
-?SetRawArraySize@CVarVector@@QEAAHH@Z
-; public: int __cdecl CSafeArray::SetRawData(void * __ptr64,int,int) __ptr64
-?SetRawData@CSafeArray@@QEAAHPEAXHH@Z
-; public: void __cdecl CExecQueue::SetRequestLimits(long,long,long) __ptr64
-?SetRequestLimits@CExecQueue@@QEAAXJJJ@Z
-; public: int __cdecl CNtSecurityDescriptor::SetSacl(class CNtAcl * __ptr64) __ptr64
-?SetSacl@CNtSecurityDescriptor@@QEAAHPEAVCNtAcl@@@Z
-; public: void __cdecl CVar::SetSafeArray(int,struct tagSAFEARRAY * __ptr64) __ptr64
-?SetSafeArray@CVar@@QEAAXHPEAUtagSAFEARRAY@@@Z
-; private: int __cdecl CSafeArray::SetScalarAt(int,union SA_ArrayScalar) __ptr64
-?SetScalarAt@CSafeArray@@AEAAHHTSA_ArrayScalar@@@Z
-; public: void __cdecl CVar::SetShort(short) __ptr64
-?SetShort@CVar@@QEAAXF@Z
-; public: int __cdecl CSafeArray::SetShortAt(int,short) __ptr64
-?SetShortAt@CSafeArray@@QEAAHHF@Z
-; public: long __cdecl CBuffer::SetSize(unsigned long) __ptr64
-?SetSize@CBuffer@@QEAAJK@Z
-; public: virtual long __cdecl CBuffer::SetSize(union _ULARGE_INTEGER) __ptr64
-?SetSize@CBuffer@@UEAAJT_ULARGE_INTEGER@@@Z
-; public: void __cdecl CFlexArray::SetSize(int) __ptr64
-?SetSize@CFlexArray@@QEAAXH@Z
-; public: void __cdecl CMinMaxLimitControl::SetSleepAtMax(unsigned long) __ptr64
-?SetSleepAtMax@CMinMaxLimitControl@@QEAAXK@Z
-; public: int __cdecl Registry::SetStr(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
-?SetStr@Registry@@QEAAHPEAG0@Z
-; public: int __cdecl CWbemTime::SetSystemTime(struct _SYSTEMTIME const & __ptr64) __ptr64
-?SetSystemTime@CWbemTime@@QEAAHAEBU_SYSTEMTIME@@@Z
-; public: void __cdecl CTextTemplate::SetTemplate(unsigned short const * __ptr64) __ptr64
-?SetTemplate@CTextTemplate@@QEAAXPEBG@Z
-; public: void __cdecl CExecQueue::SetThreadLimits(long,long,long) __ptr64
-?SetThreadLimits@CExecQueue@@QEAAXJJJ@Z
-; public: void __cdecl CUnloadInstruction::SetToDefault(void) __ptr64
-?SetToDefault@CUnloadInstruction@@QEAAXXZ
-; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetTolerance(struct _tag_WbemQl1Tolerance const & __ptr64) __ptr64
-?SetTolerance@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBU_tag_WbemQl1Tolerance@@@Z
-; public: void __cdecl CVar::SetUnknown(struct IUnknown * __ptr64) __ptr64
-?SetUnknown@CVar@@QEAAXPEAUIUnknown@@@Z
-; public: int __cdecl CSafeArray::SetUnknownAt(int,struct IUnknown * __ptr64) __ptr64
-?SetUnknownAt@CSafeArray@@QEAAHHPEAUIUnknown@@@Z
-; public: void __cdecl CVar::SetVarVector(class CVarVector * __ptr64,int) __ptr64
-?SetVarVector@CVar@@QEAAXPEAVCVarVector@@H@Z
-; public: int __cdecl CVar::SetVariant(struct tagVARIANT * __ptr64,int) __ptr64
-?SetVariant@CVar@@QEAAHPEAUtagVARIANT@@H@Z
-; public: int __cdecl CSafeArray::SetVariantAt(int,struct tagVARIANT * __ptr64) __ptr64
-?SetVariantAt@CSafeArray@@QEAAHHPEAUtagVARIANT@@@Z
-; public: void __cdecl CExecRequest::SetWhenDoneHandle(void * __ptr64) __ptr64
-?SetWhenDoneHandle@CExecRequest@@QEAAXPEAX@Z
-; public: void __cdecl CVar::SetWord(unsigned short) __ptr64
-?SetWord@CVar@@QEAAXG@Z
-; protected: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::Shrink(void) __ptr64
-?Shrink@CSmallArrayBlob@@IEAAPEAV1@XZ
-; protected: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::ShrinkIfNeeded(void) __ptr64
-?ShrinkIfNeeded@CSmallArrayBlob@@IEAAPEAV1@XZ
-; public: void __cdecl CExecQueue::Shutdown(void) __ptr64
-?Shutdown@CExecQueue@@QEAAXXZ
-; public: virtual long __cdecl CTimerGenerator::Shutdown(void) __ptr64
-?Shutdown@CTimerGenerator@@UEAAJXZ
-; protected: virtual void __cdecl CExecQueue::ShutdownThread(class CExecQueue::CThreadRecord * __ptr64) __ptr64
-?ShutdownThread@CExecQueue@@MEAAXPEAVCThreadRecord@1@@Z
-; protected: virtual void __cdecl CExecQueue::SitOutPenalty(long) __ptr64
-?SitOutPenalty@CExecQueue@@MEAAXJ@Z
-; public: int __cdecl CFlexArray::Size(void)const  __ptr64
-?Size@CFlexArray@@QEBAHXZ
-; public: int __cdecl CSafeArray::Size(void) __ptr64
-?Size@CSafeArray@@QEAAHXZ
-; public: int __cdecl CSmallArrayBlob::Size(void)const  __ptr64
-?Size@CSmallArrayBlob@@QEBAHXZ
-; public: int __cdecl CVarVector::Size(void) __ptr64
-?Size@CVarVector@@QEAAHXZ
-; public: int __cdecl CWStringArray::Size(void)const  __ptr64
-?Size@CWStringArray@@QEBAHXZ
-; public: void __cdecl CFlexArray::Sort(void) __ptr64
-?Sort@CFlexArray@@QEAAXXZ
-; public: void __cdecl CSmallArrayBlob::Sort(void) __ptr64
-?Sort@CSmallArrayBlob@@QEAAXXZ
-; public: void __cdecl CWStringArray::Sort(void) __ptr64
-?Sort@CWStringArray@@QEAAXXZ
-; public: virtual long __cdecl CBuffer::Stat(struct tagSTATSTG * __ptr64,unsigned long) __ptr64
-?Stat@CBuffer@@UEAAJPEAUtagSTATSTG@@K@Z
-; public: int __cdecl CSafeArray::Status(void) __ptr64
-?Status@CSafeArray@@QEAAHXZ
-; public: int __cdecl CVar::Status(void) __ptr64
-?Status@CVar@@QEAAHXZ
-; public: int __cdecl CVarVector::Status(void) __ptr64
-?Status@CVarVector@@QEAAHXZ
-; public: class WString & __ptr64 __cdecl WString::StripToToken(unsigned short,int) __ptr64
-?StripToToken@WString@@QEAAAEAV1@GH@Z
-; private: int __cdecl CWQLScanner::StripWhereClause(void) __ptr64
-?StripWhereClause@CWQLScanner@@AEAAHXZ
-; public: class WString & __ptr64 __cdecl WString::StripWs(int) __ptr64
-?StripWs@WString@@QEAAAEAV1@H@Z
-; public: void __cdecl CBasicUnloadInstruction::Terminate(void) __ptr64
-?Terminate@CBasicUnloadInstruction@@QEAAXXZ
-; long __cdecl TestDirExistAndCreateWithSDIfNotThere(unsigned short * __ptr64,unsigned short * __ptr64)
-?TestDirExistAndCreateWithSDIfNotThere@@YAJPEAG0@Z
-; protected: virtual void __cdecl CExecQueue::ThreadMain(class CExecQueue::CThreadRecord * __ptr64) __ptr64
-?ThreadMain@CExecQueue@@MEAAXPEAVCThreadRecord@1@@Z
-; long __cdecl Throttle(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)
-?Throttle@@YAJKKKKK@Z
-; public: void __cdecl CPersistentConfig::TidyUp(void) __ptr64
-?TidyUp@CPersistentConfig@@QEAAXXZ
-; protected: int __cdecl CDateTimeParser::TimeFormat1(unsigned short const * __ptr64,int) __ptr64
-?TimeFormat1@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::TimeFormat2(unsigned short const * __ptr64,int) __ptr64
-?TimeFormat2@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::TimeFormat3(unsigned short const * __ptr64,int) __ptr64
-?TimeFormat3@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::TimeFormat4(unsigned short const * __ptr64,int) __ptr64
-?TimeFormat4@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::TimeFormat5(unsigned short const * __ptr64,int) __ptr64
-?TimeFormat5@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::TimeFormat6(unsigned short const * __ptr64,int) __ptr64
-?TimeFormat6@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::TimeFormat7(unsigned short const * __ptr64,int) __ptr64
-?TimeFormat7@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::TimeFormat8(unsigned short const * __ptr64,int) __ptr64
-?TimeFormat8@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: int __cdecl CDateTimeParser::TimeFormat9(unsigned short const * __ptr64,int) __ptr64
-?TimeFormat9@CDateTimeParser@@IEAAHPEBGH@Z
-; protected: class CWbemInterval  __cdecl CInstructionQueue::TimeToWait(void) __ptr64
-?TimeToWait@CInstructionQueue@@IEAA?AVCWbemInterval@@XZ
-; public: int __cdecl CVar::ToSingleChar(void) __ptr64
-?ToSingleChar@CVar@@QEAAHXZ
-; public: int __cdecl CVarVector::ToSingleChar(void) __ptr64
-?ToSingleChar@CVarVector@@QEAAHXZ
-; public: int __cdecl CVar::ToUI4(void) __ptr64
-?ToUI4@CVar@@QEAAHXZ
-; public: int __cdecl CVarVector::ToUI4(void) __ptr64
-?ToUI4@CVarVector@@QEAAHXZ
-; protected: void __cdecl CInstructionQueue::TouchHead(void) __ptr64
-?TouchHead@CInstructionQueue@@IEAAXXZ
-; public: static void __cdecl MD5::Transform(void * __ptr64,unsigned int,unsigned char * __ptr64 const)
-?Transform@MD5@@SAXPEAXIQEAE@Z
-; protected: static unsigned long __cdecl CAbstractQl1Parser::TranslateIntrinsic(unsigned short const * __ptr64)
-?TranslateIntrinsic@CAbstractQl1Parser@@KAKPEBG@Z
-; public: void __cdecl CFlexArray::Trim(void) __ptr64
-?Trim@CFlexArray@@QEAAXXZ
-; public: int __cdecl CSafeArray::Trim(void) __ptr64
-?Trim@CSafeArray@@QEAAHXZ
-; public: void __cdecl CSmallArrayBlob::Trim(void) __ptr64
-?Trim@CSmallArrayBlob@@QEAAXXZ
-; public: class WString & __ptr64 __cdecl WString::TruncAtLToken(unsigned short) __ptr64
-?TruncAtLToken@WString@@QEAAAEAV1@G@Z
-; public: class WString & __ptr64 __cdecl WString::TruncAtRToken(unsigned short) __ptr64
-?TruncAtRToken@WString@@QEAAAEAV1@G@Z
-; public: static unsigned short * __ptr64 __cdecl CVar::TypeToText(int)
-?TypeToText@CVar@@SAPEAGH@Z
-; void __cdecl UnRegisterDLL(struct _GUID,unsigned short * __ptr64)
-?UnRegisterDLL@@YAXU_GUID@@PEAG@Z
-; public: long __cdecl CSafeArray::Unaccess(void) __ptr64
-?Unaccess@CSafeArray@@QEAAJXZ
-; public: long __cdecl CVarVector::UnaccessRawArray(void) __ptr64
-?UnaccessRawArray@CVarVector@@QEAAJXZ
-; public: void * __ptr64 * __ptr64 __cdecl CFlexArray::UnbindPtr(void) __ptr64
-?UnbindPtr@CFlexArray@@QEAAPEAPEAXXZ
-; public: unsigned short * __ptr64 __cdecl WString::UnbindPtr(void) __ptr64
-?UnbindPtr@WString@@QEAAPEAGXZ
-; protected: virtual unsigned long __cdecl CExecQueue::UnblockedWaitForSingleObject(void * __ptr64,unsigned long,class CExecQueue::CThreadRecord * __ptr64) __ptr64
-?UnblockedWaitForSingleObject@CExecQueue@@MEAAKPEAXKPEAVCThreadRecord@1@@Z
-; public: unsigned int __cdecl CMRCICompression::UncompressBuffer(unsigned char * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long,enum CMRCICompression::CompressionLevel) __ptr64
-?UncompressBuffer@CMRCICompression@@QEAAIPEAEK0KW4CompressionLevel@1@@Z
-; public: int __cdecl CMRCICompression::UncompressFile(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
-?UncompressFile@CMRCICompression@@QEAAHPEBG0@Z
-; protected: int __cdecl CMRCICompression::UncompressFileV1(int,int) __ptr64
-?UncompressFileV1@CMRCICompression@@IEAAHHH@Z
-; protected: virtual void __cdecl CExecQueue::UninitializeThread(void) __ptr64
-?UninitializeThread@CExecQueue@@MEAAXXZ
-; public: static void __cdecl CWStringArray::Union(class CWStringArray & __ptr64,class CWStringArray & __ptr64,class CWStringArray & __ptr64)
-?Union@CWStringArray@@SAXAEAV1@00@Z
-; public: void __cdecl CLockableFlexArray<class CStaticCritSec>::Unlock(void) __ptr64
-?Unlock@?$CLockableFlexArray@VCStaticCritSec@@@@QEAAXXZ
-; public: virtual long __cdecl CBuffer::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long) __ptr64
-?UnlockRegion@CBuffer@@UEAAJT_ULARGE_INTEGER@@0K@Z
-; public: void * __ptr64 __cdecl CFlexQueue::Unqueue(void) __ptr64
-?Unqueue@CFlexQueue@@QEAAPEAXXZ
-; public: void __cdecl WString::Unquote(void) __ptr64
-?Unquote@WString@@QEAAXXZ
-; long __cdecl UnregisterDllAppid(struct _GUID)
-?UnregisterDllAppid@@YAJU_GUID@@@Z
-; public: static int __cdecl CWin32DefaultArena::ValidateMemSize(int)
-?ValidateMemSize@CWin32DefaultArena@@SAHH@Z
-; public: long __cdecl CInstructionQueue::WaitAndPeek(class CTimerInstruction * __ptr64 & __ptr64,class CWbemTime & __ptr64) __ptr64
-?WaitAndPeek@CInstructionQueue@@QEAAJAEAPEAVCTimerInstruction@@AEAVCWbemTime@@@Z
-; public: long __cdecl CHaltable::WaitForResumption(void) __ptr64
-?WaitForResumption@CHaltable@@QEAAJXZ
-; protected: virtual unsigned long __cdecl CExecQueue::WaitForSingleObjectWhileBusy(void * __ptr64,unsigned long,class CExecQueue::CThreadRecord * __ptr64) __ptr64
-?WaitForSingleObjectWhileBusy@CExecQueue@@MEAAKPEAXKPEAVCThreadRecord@1@@Z
-; int __cdecl WbemCreateDirectory(unsigned short const * __ptr64)
-?WbemCreateDirectory@@YAHPEBG@Z
-; int __cdecl WbemGetMachineShutdown(void)
-?WbemGetMachineShutdown@@YAHXZ
-; public: static void __cdecl CWin32DefaultArena::WbemHeapFree(void)
-?WbemHeapFree@CWin32DefaultArena@@SAXXZ
-; public: static int __cdecl CWin32DefaultArena::WbemHeapInitialize(void * __ptr64)
-?WbemHeapInitialize@CWin32DefaultArena@@SAHPEAX@Z
-; public: static void * __ptr64 __cdecl CWin32DefaultArena::WbemMemAlloc(unsigned __int64)
-?WbemMemAlloc@CWin32DefaultArena@@SAPEAX_K@Z
-; public: static int __cdecl CWin32DefaultArena::WbemMemFree(void * __ptr64)
-?WbemMemFree@CWin32DefaultArena@@SAHPEAX@Z
-; public: static void * __ptr64 __cdecl CWin32DefaultArena::WbemMemReAlloc(void * __ptr64,unsigned __int64)
-?WbemMemReAlloc@CWin32DefaultArena@@SAPEAXPEAX_K@Z
-; public: static unsigned __int64 __cdecl CWin32DefaultArena::WbemMemSize(void * __ptr64)
-?WbemMemSize@CWin32DefaultArena@@SA_KPEAX@Z
-; public: static int __cdecl CWin32DefaultArena::WbemOutOfMemory(void)
-?WbemOutOfMemory@CWin32DefaultArena@@SAHXZ
-; long __cdecl WbemSetDynamicCloaking(struct IUnknown * __ptr64,unsigned long,unsigned long)
-?WbemSetDynamicCloaking@@YAJPEAUIUnknown@@KK@Z
-; int __cdecl WbemSetMachineShutdown(int)
-?WbemSetMachineShutdown@@YAHH@Z
-; public: static unsigned short * __ptr64 __cdecl CWin32DefaultArena::WbemSysAllocString(unsigned short const * __ptr64)
-?WbemSysAllocString@CWin32DefaultArena@@SAPEAGPEBG@Z
-; public: static unsigned short * __ptr64 __cdecl CWin32DefaultArena::WbemSysAllocStringByteLen(char const * __ptr64,unsigned int)
-?WbemSysAllocStringByteLen@CWin32DefaultArena@@SAPEAGPEBDI@Z
-; public: static unsigned short * __ptr64 __cdecl CWin32DefaultArena::WbemSysAllocStringLen(unsigned short const * __ptr64,unsigned int)
-?WbemSysAllocStringLen@CWin32DefaultArena@@SAPEAGPEBGI@Z
-; public: static void __cdecl CWin32DefaultArena::WbemSysFreeString(unsigned short * __ptr64)
-?WbemSysFreeString@CWin32DefaultArena@@SAXPEAG@Z
-; public: static int __cdecl CWin32DefaultArena::WbemSysReAllocString(unsigned short * __ptr64 * __ptr64,unsigned short const * __ptr64)
-?WbemSysReAllocString@CWin32DefaultArena@@SAHPEAPEAGPEBG@Z
-; public: static int __cdecl CWin32DefaultArena::WbemSysReAllocStringLen(unsigned short * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned int)
-?WbemSysReAllocStringLen@CWin32DefaultArena@@SAHPEAPEAGPEBGI@Z
-; long __cdecl WbemVariantChangeType(struct tagVARIANT * __ptr64,struct tagVARIANT * __ptr64,unsigned short)
-?WbemVariantChangeType@@YAJPEAUtagVARIANT@@0G@Z
-; public: int __cdecl WString::WildcardTest(unsigned short const * __ptr64)const  __ptr64
-?WildcardTest@WString@@QEBAHPEBG@Z
-; int __cdecl WinPEKey(void)
-?WinPEKey@@YAHXZ
-; public: virtual long __cdecl CBuffer::Write(void const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
-?Write@CBuffer@@UEAAJPEBXKPEAK@Z
-; public: long __cdecl CBuffer::WriteLPWSTR(unsigned short const * __ptr64) __ptr64
-?WriteLPWSTR@CBuffer@@QEAAJPEBG@Z
-; protected: static unsigned long __cdecl CExecQueue::_ThreadEntry(void * __ptr64)
-?_ThreadEntry@CExecQueue@@KAKPEAX@Z
-; protected: int __cdecl CAbstractQl1Parser::aggregate_by(void) __ptr64
-?aggregate_by@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::aggregate_within(void) __ptr64
-?aggregate_within@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::aggregation_params(void) __ptr64
-?aggregation_params@CAbstractQl1Parser@@IEAAHXZ
-; private: static int  CStaticCritSec::anyFailed_
-?anyFailed_@CStaticCritSec@@0HA DATA
-; public: static int __cdecl CStaticCritSec::anyFailure(void)
-?anyFailure@CStaticCritSec@@SAHXZ
-; int __cdecl bAreWeLocal(unsigned short * __ptr64)
-?bAreWeLocal@@YAHPEAG@Z
-; private: void __cdecl CBaseMrciCompression::charbuf(unsigned int) __ptr64
-?charbuf@CBaseMrciCompression@@AEAAXI@Z
-; protected: int __cdecl CAbstractQl1Parser::class_name(void) __ptr64
-?class_name@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::comp_operator(void) __ptr64
-?comp_operator@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::equiv_operator(void) __ptr64
-?equiv_operator@CAbstractQl1Parser@@IEAAHXZ
-; private: void __cdecl CBaseMrciCompression::expandstring(unsigned char * __ptr64 * __ptr64,unsigned int,unsigned int) __ptr64
-?expandstring@CBaseMrciCompression@@AEAAXPEAPEAEII@Z
-; protected: int __cdecl CAbstractQl1Parser::expr2(void) __ptr64
-?expr2@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::expr(void) __ptr64
-?expr@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::finalize(void) __ptr64
-?finalize@CAbstractQl1Parser@@IEAAHXZ
-; private: unsigned int __cdecl CBaseMrciCompression::getbit(void) __ptr64
-?getbit@CBaseMrciCompression@@AEAAIXZ
-; private: unsigned int __cdecl CBaseMrciCompression::getbits(unsigned int) __ptr64
-?getbits@CBaseMrciCompression@@AEAAII@Z
-; private: void __cdecl CBaseMrciCompression::inithash(void) __ptr64
-?inithash@CBaseMrciCompression@@AEAAXXZ
-; public: bool __cdecl CHaltable::isValid(void) __ptr64
-?isValid@CHaltable@@QEAA_NXZ
-; protected: int __cdecl CAbstractQl1Parser::is_operator(void) __ptr64
-?is_operator@CAbstractQl1Parser@@IEAAHXZ
-; int __cdecl isunialpha(unsigned short)
-?isunialpha@@YAHG@Z
-; int __cdecl isunialphanum(unsigned short)
-?isunialphanum@@YAHG@Z
-; protected: int __cdecl CAbstractQl1Parser::leading_ident_expr(void) __ptr64
-?leading_ident_expr@CAbstractQl1Parser@@IEAAHXZ
-; private: static class CDirectoryPath  CPersistentConfig::m_Directory
-?m_Directory@CPersistentConfig@@0VCDirectoryPath@@A DATA
-; private: void __cdecl CBaseMrciCompression::mrci1outsingle(unsigned int) __ptr64
-?mrci1outsingle@CBaseMrciCompression@@AEAAXI@Z
-; private: void __cdecl CBaseMrciCompression::mrci1outstring(unsigned int,unsigned int) __ptr64
-?mrci1outstring@CBaseMrciCompression@@AEAAXII@Z
-; private: void __cdecl CBaseMrciCompression::mrci2outsingle(unsigned int) __ptr64
-?mrci2outsingle@CBaseMrciCompression@@AEAAXI@Z
-; private: void __cdecl CBaseMrciCompression::mrci2outstring(unsigned int,unsigned int) __ptr64
-?mrci2outstring@CBaseMrciCompression@@AEAAXII@Z
-; unsigned long  mstatic_dwTlsIndex
-?mstatic_dwTlsIndex@@3KA DATA
-; protected: static long  CExecQueue::mstatic_lNumInits
-?mstatic_lNumInits@CExecQueue@@1JA DATA
-; protected: int __cdecl CAbstractQl1Parser::opt_aggregation(void) __ptr64
-?opt_aggregation@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::opt_having(void) __ptr64
-?opt_having@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::opt_where(void) __ptr64
-?opt_where@CAbstractQl1Parser@@IEAAHXZ
-; private: void __cdecl CBaseMrciCompression::outlength(unsigned int) __ptr64
-?outlength@CBaseMrciCompression@@AEAAXI@Z
-; protected: int __cdecl CAbstractQl1Parser::parse(int) __ptr64
-?parse@CAbstractQl1Parser@@IEAAHH@Z
-; protected: int __cdecl CAbstractQl1Parser::parse_property_name(class CPropertyName & __ptr64) __ptr64
-?parse_property_name@CAbstractQl1Parser@@IEAAHAEAVCPropertyName@@@Z
-; protected: int __cdecl CAbstractQl1Parser::prop_list(void) __ptr64
-?prop_list@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::prop_list_2(void) __ptr64
-?prop_list_2@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::property_name(void) __ptr64
-?property_name@CAbstractQl1Parser@@IEAAHXZ
-; private: void __cdecl CBaseMrciCompression::putbits(unsigned int,unsigned int) __ptr64
-?putbits@CBaseMrciCompression@@AEAAXII@Z
-; protected: int __cdecl CAbstractQl1Parser::rel_operator(void) __ptr64
-?rel_operator@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::simple_expr(void) __ptr64
-?simple_expr@CAbstractQl1Parser@@IEAAHXZ
-; public: static class CWbemInterval  __cdecl CBasicUnloadInstruction::staticRead(struct IWbemServices * __ptr64,struct IWbemContext * __ptr64,unsigned short const * __ptr64)
-?staticRead@CBasicUnloadInstruction@@SA?AVCWbemInterval@@PEAUIWbemServices@@PEAUIWbemContext@@PEBG@Z
-; protected: int __cdecl CAbstractQl1Parser::term2(void) __ptr64
-?term2@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::term(void) __ptr64
-?term@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::tolerance(void) __ptr64
-?tolerance@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::trailing_const_expr(void) __ptr64
-?trailing_const_expr@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::trailing_ident_expr(void) __ptr64
-?trailing_ident_expr@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::trailing_or_null(void) __ptr64
-?trailing_or_null@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::trailing_prop_expr(void) __ptr64
-?trailing_prop_expr@CAbstractQl1Parser@@IEAAHXZ
-; protected: int __cdecl CAbstractQl1Parser::typed_constant(void) __ptr64
-?typed_constant@CAbstractQl1Parser@@IEAAHXZ
+; 
+; Exports of file wbemcomn.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wbemcomn.dll
+EXPORTS
+; public: __cdecl CLockableFlexArray<class CStaticCritSec>::CLockableFlexArray<class CStaticCritSec>(class CLockableFlexArray<class CStaticCritSec> & __ptr64) __ptr64
+??0?$CLockableFlexArray@VCStaticCritSec@@@@QEAA@AEAV0@@Z
+; public: __cdecl CLockableFlexArray<class CStaticCritSec>::CLockableFlexArray<class CStaticCritSec>(void) __ptr64
+??0?$CLockableFlexArray@VCStaticCritSec@@@@QEAA@XZ
+; public: __cdecl C9XAce::C9XAce(class C9XAce const & __ptr64) __ptr64
+??0C9XAce@@QEAA@AEBV0@@Z
+; public: __cdecl C9XAce::C9XAce(unsigned long,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
+??0C9XAce@@QEAA@KKKPEAG@Z
+; public: __cdecl C9XAce::C9XAce(void) __ptr64
+??0C9XAce@@QEAA@XZ
+; public: __cdecl CAbstractQl1Parser::CAbstractQl1Parser(class CAbstractQl1Parser const & __ptr64) __ptr64
+??0CAbstractQl1Parser@@QEAA@AEBV0@@Z
+; public: __cdecl CAbstractQl1Parser::CAbstractQl1Parser(class CGenLexSource * __ptr64) __ptr64
+??0CAbstractQl1Parser@@QEAA@PEAVCGenLexSource@@@Z
+; public: __cdecl CArena::CArena(class CArena const & __ptr64) __ptr64
+??0CArena@@QEAA@AEBV0@@Z
+; public: __cdecl CArena::CArena(void) __ptr64
+??0CArena@@QEAA@XZ
+; public: __cdecl CBaseAce::CBaseAce(class CBaseAce const & __ptr64) __ptr64
+??0CBaseAce@@QEAA@AEBV0@@Z
+; public: __cdecl CBaseAce::CBaseAce(void) __ptr64
+??0CBaseAce@@QEAA@XZ
+; protected: __cdecl CBasicUnloadInstruction::CBasicUnloadInstruction(void) __ptr64
+??0CBasicUnloadInstruction@@IEAA@XZ
+; public: __cdecl CBasicUnloadInstruction::CBasicUnloadInstruction(class CBasicUnloadInstruction const & __ptr64) __ptr64
+??0CBasicUnloadInstruction@@QEAA@AEBV0@@Z
+; public: __cdecl CBasicUnloadInstruction::CBasicUnloadInstruction(class CWbemInterval) __ptr64
+??0CBasicUnloadInstruction@@QEAA@VCWbemInterval@@@Z
+; public: __cdecl CBuffer::CBuffer(class CBuffer const & __ptr64) __ptr64
+??0CBuffer@@QEAA@AEBV0@@Z
+; public: __cdecl CBuffer::CBuffer(unsigned char * __ptr64,unsigned long,int) __ptr64
+??0CBuffer@@QEAA@PEAEKH@Z
+; public: __cdecl CCheckedInCritSec::CCheckedInCritSec(class CCritSec * __ptr64) __ptr64
+??0CCheckedInCritSec@@QEAA@PEAVCCritSec@@@Z
+; public: __cdecl CContainerControl::CContainerControl(class CContainerControl const & __ptr64) __ptr64
+??0CContainerControl@@QEAA@AEBV0@@Z
+; public: __cdecl CContainerControl::CContainerControl(struct IUnknown * __ptr64) __ptr64
+??0CContainerControl@@QEAA@PEAUIUnknown@@@Z
+; public: __cdecl CCritSec::CCritSec(void) __ptr64
+??0CCritSec@@QEAA@XZ
+; public: __cdecl CDMTFParser::CDMTFParser(unsigned short const * __ptr64) __ptr64
+??0CDMTFParser@@QEAA@PEBG@Z
+; public: __cdecl CDatePart::CDatePart(void) __ptr64
+??0CDatePart@@QEAA@XZ
+; protected: __cdecl CDateTimeParser::CDateTimeParser(void) __ptr64
+??0CDateTimeParser@@IEAA@XZ
+; public: __cdecl CDateTimeParser::CDateTimeParser(unsigned short const * __ptr64) __ptr64
+??0CDateTimeParser@@QEAA@PEBG@Z
+; public: __cdecl CEnterWbemCriticalSection::CEnterWbemCriticalSection(class CWbemCriticalSection * __ptr64,unsigned long) __ptr64
+??0CEnterWbemCriticalSection@@QEAA@PEAVCWbemCriticalSection@@K@Z
+; public: __cdecl CEventLog::CEventLog(class CEventLog const & __ptr64) __ptr64
+??0CEventLog@@QEAA@AEBV0@@Z
+; public: __cdecl CEventLog::CEventLog(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
+??0CEventLog@@QEAA@PEBG0K@Z
+; public: __cdecl CEventLogRecord::CEventLogRecord(class CEventLogRecord & __ptr64) __ptr64
+??0CEventLogRecord@@QEAA@AEAV0@@Z
+; public: __cdecl CEventLogRecord::CEventLogRecord(unsigned short,unsigned long,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString) __ptr64
+??0CEventLogRecord@@QEAA@GKVCInsertionString@@000000000@Z
+; public: __cdecl CExecQueue::CExecQueue(class CExecQueue & __ptr64) __ptr64
+??0CExecQueue@@QEAA@AEAV0@@Z
+; public: __cdecl CExecQueue::CExecQueue(void) __ptr64
+??0CExecQueue@@QEAA@XZ
+; public: __cdecl CExecRequest::CExecRequest(class CExecRequest const & __ptr64) __ptr64
+??0CExecRequest@@QEAA@AEBV0@@Z
+; public: __cdecl CExecRequest::CExecRequest(void) __ptr64
+??0CExecRequest@@QEAA@XZ
+; public: __cdecl CFlexArray::CFlexArray(class CFlexArray & __ptr64) __ptr64
+??0CFlexArray@@QEAA@AEAV0@@Z
+; public: __cdecl CFlexArray::CFlexArray(int,int) __ptr64
+??0CFlexArray@@QEAA@HH@Z
+; public: __cdecl CFlexQueue::CFlexQueue(int) __ptr64
+??0CFlexQueue@@QEAA@H@Z
+; public: __cdecl CHaltable::CHaltable(class CHaltable const & __ptr64) __ptr64
+??0CHaltable@@QEAA@AEBV0@@Z
+; public: __cdecl CHaltable::CHaltable(void) __ptr64
+??0CHaltable@@QEAA@XZ
+; public: __cdecl CHex::CHex(long) __ptr64
+??0CHex@@QEAA@J@Z
+; public: __cdecl CIdentitySecurity::CIdentitySecurity(class CIdentitySecurity const & __ptr64) __ptr64
+??0CIdentitySecurity@@QEAA@AEBV0@@Z
+; public: __cdecl CIdentitySecurity::CIdentitySecurity(bool) __ptr64
+??0CIdentitySecurity@@QEAA@_N@Z
+; public: __cdecl CIdentityTest::CIdentityTest(class CIdentityTest const & __ptr64) __ptr64
+??0CIdentityTest@@QEAA@AEBV0@@Z
+; public: __cdecl CIdentityTest::CIdentityTest(class CTimerInstruction * __ptr64) __ptr64
+??0CIdentityTest@@QEAA@PEAVCTimerInstruction@@@Z
+; public: __cdecl CInCritSec::CInCritSec(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
+??0CInCritSec@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
+; public: __cdecl CInsertionString::CInsertionString(class CInsertionString const & __ptr64) __ptr64
+??0CInsertionString@@QEAA@AEBV0@@Z
+; public: __cdecl CInsertionString::CInsertionString(long) __ptr64
+??0CInsertionString@@QEAA@J@Z
+; public: __cdecl CInsertionString::CInsertionString(char const * __ptr64) __ptr64
+??0CInsertionString@@QEAA@PEBD@Z
+; public: __cdecl CInsertionString::CInsertionString(unsigned short const * __ptr64) __ptr64
+??0CInsertionString@@QEAA@PEBG@Z
+; public: __cdecl CInsertionString::CInsertionString(class CHex) __ptr64
+??0CInsertionString@@QEAA@VCHex@@@Z
+; public: __cdecl CInsertionString::CInsertionString(void) __ptr64
+??0CInsertionString@@QEAA@XZ
+; public: __cdecl CInstructionQueue::CInstructionQueue(void) __ptr64
+??0CInstructionQueue@@QEAA@XZ
+; public: __cdecl CInstructionTest::CInstructionTest(class CInstructionTest const & __ptr64) __ptr64
+??0CInstructionTest@@QEAA@AEBV0@@Z
+; public: __cdecl CInstructionTest::CInstructionTest(void) __ptr64
+??0CInstructionTest@@QEAA@XZ
+; public: __cdecl CLifeControl::CLifeControl(class CLifeControl const & __ptr64) __ptr64
+??0CLifeControl@@QEAA@AEBV0@@Z
+; public: __cdecl CLifeControl::CLifeControl(void) __ptr64
+??0CLifeControl@@QEAA@XZ
+; public: __cdecl CLike::CLike(class CLike const & __ptr64) __ptr64
+??0CLike@@QEAA@AEBV0@@Z
+; public: __cdecl CLike::CLike(unsigned short const * __ptr64,unsigned short) __ptr64
+??0CLike@@QEAA@PEBGG@Z
+; public: __cdecl CLike::CLike(void) __ptr64
+??0CLike@@QEAA@XZ
+; public: __cdecl CLimitControl::CLimitControl(class CLimitControl const & __ptr64) __ptr64
+??0CLimitControl@@QEAA@AEBV0@@Z
+; public: __cdecl CLimitControl::CLimitControl(void) __ptr64
+??0CLimitControl@@QEAA@XZ
+; public: __cdecl CMRCICompression::CMRCICompression(void) __ptr64
+??0CMRCICompression@@QEAA@XZ
+; public: __cdecl CMRCIControl::CMRCIControl(void) __ptr64
+??0CMRCIControl@@QEAA@XZ
+; public: __cdecl CMinMaxLimitControl::CMinMaxLimitControl(class CMinMaxLimitControl const & __ptr64) __ptr64
+??0CMinMaxLimitControl@@QEAA@AEBV0@@Z
+; public: __cdecl CMinMaxLimitControl::CMinMaxLimitControl(int,unsigned short const * __ptr64) __ptr64
+??0CMinMaxLimitControl@@QEAA@HPEBG@Z
+; public: __cdecl CNtAce::CNtAce(class CNtAce const & __ptr64) __ptr64
+??0CNtAce@@QEAA@AEBV0@@Z
+; public: __cdecl CNtAce::CNtAce(unsigned long,unsigned long,unsigned long,class CNtSid & __ptr64) __ptr64
+??0CNtAce@@QEAA@KKKAEAVCNtSid@@@Z
+; public: __cdecl CNtAce::CNtAce(unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+??0CNtAce@@QEAA@KKKPEAG0@Z
+; public: __cdecl CNtAce::CNtAce(struct _ACCESS_ALLOWED_ACE * __ptr64) __ptr64
+??0CNtAce@@QEAA@PEAU_ACCESS_ALLOWED_ACE@@@Z
+; public: __cdecl CNtAce::CNtAce(void) __ptr64
+??0CNtAce@@QEAA@XZ
+; public: __cdecl CNtAcl::CNtAcl(class CNtAcl const & __ptr64) __ptr64
+??0CNtAcl@@QEAA@AEBV0@@Z
+; public: __cdecl CNtAcl::CNtAcl(unsigned long) __ptr64
+??0CNtAcl@@QEAA@K@Z
+; public: __cdecl CNtAcl::CNtAcl(struct _ACL * __ptr64) __ptr64
+??0CNtAcl@@QEAA@PEAU_ACL@@@Z
+; public: __cdecl CNtSecurityDescriptor::CNtSecurityDescriptor(class CNtSecurityDescriptor & __ptr64) __ptr64
+??0CNtSecurityDescriptor@@QEAA@AEAV0@@Z
+; public: __cdecl CNtSecurityDescriptor::CNtSecurityDescriptor(void * __ptr64,int) __ptr64
+??0CNtSecurityDescriptor@@QEAA@PEAXH@Z
+; public: __cdecl CNtSecurityDescriptor::CNtSecurityDescriptor(void) __ptr64
+??0CNtSecurityDescriptor@@QEAA@XZ
+; public: __cdecl CNtSid::CNtSid(class CNtSid const & __ptr64) __ptr64
+??0CNtSid@@QEAA@AEBV0@@Z
+; public: __cdecl CNtSid::CNtSid(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+??0CNtSid@@QEAA@PEAG0@Z
+; public: __cdecl CNtSid::CNtSid(void * __ptr64) __ptr64
+??0CNtSid@@QEAA@PEAX@Z
+; public: __cdecl CNtSid::CNtSid(enum CNtSid::SidType) __ptr64
+??0CNtSid@@QEAA@W4SidType@0@@Z
+; public: __cdecl CNtSid::CNtSid(void) __ptr64
+??0CNtSid@@QEAA@XZ
+; public: __cdecl CPropertyName::CPropertyName(class CPropertyName const & __ptr64) __ptr64
+??0CPropertyName@@QEAA@AEBV0@@Z
+; public: __cdecl CPropertyName::CPropertyName(void) __ptr64
+??0CPropertyName@@QEAA@XZ
+; public: __cdecl CQl1ParseSink::CQl1ParseSink(class CQl1ParseSink const & __ptr64) __ptr64
+??0CQl1ParseSink@@QEAA@AEBV0@@Z
+; public: __cdecl CQl1ParseSink::CQl1ParseSink(void) __ptr64
+??0CQl1ParseSink@@QEAA@XZ
+; public: __cdecl CRegistryMinMaxLimitControl::CRegistryMinMaxLimitControl(class CRegistryMinMaxLimitControl const & __ptr64) __ptr64
+??0CRegistryMinMaxLimitControl@@QEAA@AEBV0@@Z
+; public: __cdecl CRegistryMinMaxLimitControl::CRegistryMinMaxLimitControl(int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+??0CRegistryMinMaxLimitControl@@QEAA@HPEBG0000@Z
+; public: __cdecl CSafeArray::CSafeArray(class CSafeArray & __ptr64) __ptr64
+??0CSafeArray@@QEAA@AEAV0@@Z
+; public: __cdecl CSafeArray::CSafeArray(int,int,int,int) __ptr64
+??0CSafeArray@@QEAA@HHHH@Z
+; public: __cdecl CSafeArray::CSafeArray(struct tagSAFEARRAY * __ptr64,int,int,int) __ptr64
+??0CSafeArray@@QEAA@PEAUtagSAFEARRAY@@HHH@Z
+; public: __cdecl CStaticCritSec::CStaticCritSec(void) __ptr64
+??0CStaticCritSec@@QEAA@XZ
+; public: __cdecl CTextTemplate::CTextTemplate(class CTextTemplate const & __ptr64) __ptr64
+??0CTextTemplate@@QEAA@AEBV0@@Z
+; public: __cdecl CTextTemplate::CTextTemplate(unsigned short const * __ptr64) __ptr64
+??0CTextTemplate@@QEAA@PEBG@Z
+; public: __cdecl CTimerGenerator::CTimerGenerator(class CTimerGenerator const & __ptr64) __ptr64
+??0CTimerGenerator@@QEAA@AEBV0@@Z
+; public: __cdecl CTimerGenerator::CTimerGenerator(void) __ptr64
+??0CTimerGenerator@@QEAA@XZ
+; public: __cdecl CTimerInstruction::CTimerInstruction(class CTimerInstruction const & __ptr64) __ptr64
+??0CTimerInstruction@@QEAA@AEBV0@@Z
+; public: __cdecl CTimerInstruction::CTimerInstruction(void) __ptr64
+??0CTimerInstruction@@QEAA@XZ
+; public: __cdecl CUnk::CUnk(class CUnk const & __ptr64) __ptr64
+??0CUnk@@QEAA@AEBV0@@Z
+; public: __cdecl CUnk::CUnk(class CLifeControl * __ptr64,struct IUnknown * __ptr64) __ptr64
+??0CUnk@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
+; public: __cdecl CUnkInternal::CUnkInternal(class CUnkInternal const & __ptr64) __ptr64
+??0CUnkInternal@@QEAA@AEBV0@@Z
+; public: __cdecl CUnkInternal::CUnkInternal(class CLifeControl * __ptr64) __ptr64
+??0CUnkInternal@@QEAA@PEAVCLifeControl@@@Z
+; public: __cdecl CUnloadInstruction::CUnloadInstruction(class CUnloadInstruction const & __ptr64) __ptr64
+??0CUnloadInstruction@@QEAA@AEBV0@@Z
+; public: __cdecl CUnloadInstruction::CUnloadInstruction(unsigned short const * __ptr64,struct IWbemContext * __ptr64) __ptr64
+??0CUnloadInstruction@@QEAA@PEBGPEAUIWbemContext@@@Z
+; public: __cdecl CVar::CVar(class CVar const & __ptr64) __ptr64
+??0CVar@@QEAA@AEBV0@@Z
+; public: __cdecl CVar::CVar(char) __ptr64
+??0CVar@@QEAA@D@Z
+; public: __cdecl CVar::CVar(unsigned char) __ptr64
+??0CVar@@QEAA@E@Z
+; public: __cdecl CVar::CVar(short) __ptr64
+??0CVar@@QEAA@F@Z
+; public: __cdecl CVar::CVar(short,int) __ptr64
+??0CVar@@QEAA@FH@Z
+; public: __cdecl CVar::CVar(unsigned short) __ptr64
+??0CVar@@QEAA@G@Z
+; public: __cdecl CVar::CVar(int,unsigned short * __ptr64) __ptr64
+??0CVar@@QEAA@HPEAG@Z
+; public: __cdecl CVar::CVar(int,struct tagSAFEARRAY * __ptr64) __ptr64
+??0CVar@@QEAA@HPEAUtagSAFEARRAY@@@Z
+; public: __cdecl CVar::CVar(int,class auto_bstr) __ptr64
+??0CVar@@QEAA@HVauto_bstr@@@Z
+; public: __cdecl CVar::CVar(long) __ptr64
+??0CVar@@QEAA@J@Z
+; public: __cdecl CVar::CVar(unsigned long) __ptr64
+??0CVar@@QEAA@K@Z
+; public: __cdecl CVar::CVar(float) __ptr64
+??0CVar@@QEAA@M@Z
+; public: __cdecl CVar::CVar(double) __ptr64
+??0CVar@@QEAA@N@Z
+; public: __cdecl CVar::CVar(char * __ptr64,int) __ptr64
+??0CVar@@QEAA@PEADH@Z
+; public: __cdecl CVar::CVar(unsigned short * __ptr64,int) __ptr64
+??0CVar@@QEAA@PEAGH@Z
+; public: __cdecl CVar::CVar(struct _FILETIME * __ptr64) __ptr64
+??0CVar@@QEAA@PEAU_FILETIME@@@Z
+; public: __cdecl CVar::CVar(struct _GUID * __ptr64,int) __ptr64
+??0CVar@@QEAA@PEAU_GUID@@H@Z
+; public: __cdecl CVar::CVar(struct tagBLOB * __ptr64,int) __ptr64
+??0CVar@@QEAA@PEAUtagBLOB@@H@Z
+; public: __cdecl CVar::CVar(struct tagVARIANT * __ptr64) __ptr64
+??0CVar@@QEAA@PEAUtagVARIANT@@@Z
+; public: __cdecl CVar::CVar(class CVarVector * __ptr64,int) __ptr64
+??0CVar@@QEAA@PEAVCVarVector@@H@Z
+; public: __cdecl CVar::CVar(void) __ptr64
+??0CVar@@QEAA@XZ
+; public: __cdecl CVarVector::CVarVector(class CVarVector & __ptr64) __ptr64
+??0CVarVector@@QEAA@AEAV0@@Z
+; public: __cdecl CVarVector::CVarVector(int,int,int) __ptr64
+??0CVarVector@@QEAA@HHH@Z
+; public: __cdecl CVarVector::CVarVector(int,struct tagSAFEARRAY * __ptr64,int) __ptr64
+??0CVarVector@@QEAA@HPEAUtagSAFEARRAY@@H@Z
+; public: __cdecl CVarVector::CVarVector(void) __ptr64
+??0CVarVector@@QEAA@XZ
+; public: __cdecl CWQLScanner::CWQLScanner(class CWQLScanner & __ptr64) __ptr64
+??0CWQLScanner@@QEAA@AEAV0@@Z
+; public: __cdecl CWQLScanner::CWQLScanner(class CGenLexSource * __ptr64) __ptr64
+??0CWQLScanner@@QEAA@PEAVCGenLexSource@@@Z
+; public: __cdecl CWStringArray::CWStringArray(class CWStringArray & __ptr64) __ptr64
+??0CWStringArray@@QEAA@AEAV0@@Z
+; public: __cdecl CWStringArray::CWStringArray(int,int) __ptr64
+??0CWStringArray@@QEAA@HH@Z
+; private: __cdecl CWbemCallSecurity::CWbemCallSecurity(class CWbemCallSecurity const & __ptr64) __ptr64
+??0CWbemCallSecurity@@AEAA@AEBV0@@Z
+; private: __cdecl CWbemCallSecurity::CWbemCallSecurity(void) __ptr64
+??0CWbemCallSecurity@@AEAA@XZ
+; public: __cdecl CWbemCriticalSection::CWbemCriticalSection(void) __ptr64
+??0CWbemCriticalSection@@QEAA@XZ
+; protected: __cdecl CWbemInterval::CWbemInterval(unsigned long) __ptr64
+??0CWbemInterval@@IEAA@K@Z
+; public: __cdecl CWbemInterval::CWbemInterval(void) __ptr64
+??0CWbemInterval@@QEAA@XZ
+; protected: __cdecl CWbemTime::CWbemTime(__int64) __ptr64
+??0CWbemTime@@IEAA@_J@Z
+; public: __cdecl CWbemTime::CWbemTime(class CWbemTime const & __ptr64) __ptr64
+??0CWbemTime@@QEAA@AEBV0@@Z
+; public: __cdecl CWbemTime::CWbemTime(void) __ptr64
+??0CWbemTime@@QEAA@XZ
+; public: __cdecl CWbemTimeSpan::CWbemTimeSpan(int,int,int,int,int,int,int) __ptr64
+??0CWbemTimeSpan@@QEAA@HHHHHHH@Z
+; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(class CWin32DefaultArena const & __ptr64) __ptr64
+??0CWin32DefaultArena@@QEAA@AEBV0@@Z
+; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(void) __ptr64
+??0CWin32DefaultArena@@QEAA@XZ
+; public: __cdecl QL1_Parser::QL1_Parser(class QL1_Parser const & __ptr64) __ptr64
+??0QL1_Parser@@QEAA@AEBV0@@Z
+; public: __cdecl QL1_Parser::QL1_Parser(class CGenLexSource * __ptr64) __ptr64
+??0QL1_Parser@@QEAA@PEAVCGenLexSource@@@Z
+; public: __cdecl QL_LEVEL_1_RPN_EXPRESSION::QL_LEVEL_1_RPN_EXPRESSION(struct QL_LEVEL_1_RPN_EXPRESSION const & __ptr64) __ptr64
+??0QL_LEVEL_1_RPN_EXPRESSION@@QEAA@AEBU0@@Z
+; public: __cdecl QL_LEVEL_1_RPN_EXPRESSION::QL_LEVEL_1_RPN_EXPRESSION(void) __ptr64
+??0QL_LEVEL_1_RPN_EXPRESSION@@QEAA@XZ
+; public: __cdecl QL_LEVEL_1_TOKEN::QL_LEVEL_1_TOKEN(struct QL_LEVEL_1_TOKEN const & __ptr64) __ptr64
+??0QL_LEVEL_1_TOKEN@@QEAA@AEBU0@@Z
+; public: __cdecl QL_LEVEL_1_TOKEN::QL_LEVEL_1_TOKEN(void) __ptr64
+??0QL_LEVEL_1_TOKEN@@QEAA@XZ
+; public: __cdecl Registry::Registry(unsigned short * __ptr64,unsigned long) __ptr64
+??0Registry@@QEAA@PEAGK@Z
+; public: __cdecl Registry::Registry(struct HKEY__ * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
+??0Registry@@QEAA@PEAUHKEY__@@KKPEAG@Z
+; public: __cdecl Registry::Registry(struct HKEY__ * __ptr64,unsigned long,unsigned short * __ptr64) __ptr64
+??0Registry@@QEAA@PEAUHKEY__@@KPEAG@Z
+; public: __cdecl Registry::Registry(void) __ptr64
+??0Registry@@QEAA@XZ
+; public: __cdecl WString::WString(class WString const & __ptr64) __ptr64
+??0WString@@QEAA@AEBV0@@Z
+; public: __cdecl WString::WString(unsigned long,struct HINSTANCE__ * __ptr64) __ptr64
+??0WString@@QEAA@KPEAUHINSTANCE__@@@Z
+; public: __cdecl WString::WString(unsigned short * __ptr64,int) __ptr64
+??0WString@@QEAA@PEAGH@Z
+; public: __cdecl WString::WString(char const * __ptr64) __ptr64
+??0WString@@QEAA@PEBD@Z
+; public: __cdecl WString::WString(unsigned short const * __ptr64) __ptr64
+??0WString@@QEAA@PEBG@Z
+; public: __cdecl WString::WString(void) __ptr64
+??0WString@@QEAA@XZ
+; public: __cdecl std::_Lockit::_Lockit(void) __ptr64
+??0_Lockit@std@@QEAA@XZ
+; public: __cdecl CLockableFlexArray<class CStaticCritSec>::~CLockableFlexArray<class CStaticCritSec>(void) __ptr64
+??1?$CLockableFlexArray@VCStaticCritSec@@@@QEAA@XZ
+; public: virtual __cdecl C9XAce::~C9XAce(void) __ptr64
+??1C9XAce@@UEAA@XZ
+; public: virtual __cdecl CAbstractQl1Parser::~CAbstractQl1Parser(void) __ptr64
+??1CAbstractQl1Parser@@UEAA@XZ
+; public: virtual __cdecl CBaseAce::~CBaseAce(void) __ptr64
+??1CBaseAce@@UEAA@XZ
+; public: virtual __cdecl CBasicUnloadInstruction::~CBasicUnloadInstruction(void) __ptr64
+??1CBasicUnloadInstruction@@UEAA@XZ
+; public: __cdecl CBuffer::~CBuffer(void) __ptr64
+??1CBuffer@@QEAA@XZ
+; public: __cdecl CCheckedInCritSec::~CCheckedInCritSec(void) __ptr64
+??1CCheckedInCritSec@@QEAA@XZ
+; public: __cdecl CCritSec::~CCritSec(void) __ptr64
+??1CCritSec@@QEAA@XZ
+; public: __cdecl CDMTFParser::~CDMTFParser(void) __ptr64
+??1CDMTFParser@@QEAA@XZ
+; public: __cdecl CDatePart::~CDatePart(void) __ptr64
+??1CDatePart@@QEAA@XZ
+; public: __cdecl CDateTimeParser::~CDateTimeParser(void) __ptr64
+??1CDateTimeParser@@QEAA@XZ
+; public: __cdecl CEnterWbemCriticalSection::~CEnterWbemCriticalSection(void) __ptr64
+??1CEnterWbemCriticalSection@@QEAA@XZ
+; public: __cdecl CEventLog::~CEventLog(void) __ptr64
+??1CEventLog@@QEAA@XZ
+; public: __cdecl CEventLogRecord::~CEventLogRecord(void) __ptr64
+??1CEventLogRecord@@QEAA@XZ
+; public: __cdecl CExecQueue::~CExecQueue(void) __ptr64
+??1CExecQueue@@QEAA@XZ
+; public: virtual __cdecl CExecRequest::~CExecRequest(void) __ptr64
+??1CExecRequest@@UEAA@XZ
+; public: __cdecl CFlexArray::~CFlexArray(void) __ptr64
+??1CFlexArray@@QEAA@XZ
+; public: __cdecl CFlexQueue::~CFlexQueue(void) __ptr64
+??1CFlexQueue@@QEAA@XZ
+; public: virtual __cdecl CHaltable::~CHaltable(void) __ptr64
+??1CHaltable@@UEAA@XZ
+; public: __cdecl CIdentitySecurity::~CIdentitySecurity(void) __ptr64
+??1CIdentitySecurity@@QEAA@XZ
+; public: __cdecl CIdentityTest::~CIdentityTest(void) __ptr64
+??1CIdentityTest@@QEAA@XZ
+; public: __cdecl CInCritSec::~CInCritSec(void) __ptr64
+??1CInCritSec@@QEAA@XZ
+; public: __cdecl CInsertionString::~CInsertionString(void) __ptr64
+??1CInsertionString@@QEAA@XZ
+; public: __cdecl CInstructionQueue::~CInstructionQueue(void) __ptr64
+??1CInstructionQueue@@QEAA@XZ
+; public: __cdecl CLike::~CLike(void) __ptr64
+??1CLike@@QEAA@XZ
+; public: virtual __cdecl CLimitControl::~CLimitControl(void) __ptr64
+??1CLimitControl@@UEAA@XZ
+; public: __cdecl CMRCICompression::~CMRCICompression(void) __ptr64
+??1CMRCICompression@@QEAA@XZ
+; public: virtual __cdecl CMinMaxLimitControl::~CMinMaxLimitControl(void) __ptr64
+??1CMinMaxLimitControl@@UEAA@XZ
+; public: virtual __cdecl CNtAce::~CNtAce(void) __ptr64
+??1CNtAce@@UEAA@XZ
+; public: __cdecl CNtAcl::~CNtAcl(void) __ptr64
+??1CNtAcl@@QEAA@XZ
+; public: __cdecl CNtSecurityDescriptor::~CNtSecurityDescriptor(void) __ptr64
+??1CNtSecurityDescriptor@@QEAA@XZ
+; public: __cdecl CNtSid::~CNtSid(void) __ptr64
+??1CNtSid@@QEAA@XZ
+; public: __cdecl CPropertyName::~CPropertyName(void) __ptr64
+??1CPropertyName@@QEAA@XZ
+; public: virtual __cdecl CRegistryMinMaxLimitControl::~CRegistryMinMaxLimitControl(void) __ptr64
+??1CRegistryMinMaxLimitControl@@UEAA@XZ
+; public: __cdecl CSafeArray::~CSafeArray(void) __ptr64
+??1CSafeArray@@QEAA@XZ
+; public: __cdecl CStaticCritSec::~CStaticCritSec(void) __ptr64
+??1CStaticCritSec@@QEAA@XZ
+; public: __cdecl CTextTemplate::~CTextTemplate(void) __ptr64
+??1CTextTemplate@@QEAA@XZ
+; public: virtual __cdecl CTimerGenerator::~CTimerGenerator(void) __ptr64
+??1CTimerGenerator@@UEAA@XZ
+; public: virtual __cdecl CTimerInstruction::~CTimerInstruction(void) __ptr64
+??1CTimerInstruction@@UEAA@XZ
+; public: virtual __cdecl CUnk::~CUnk(void) __ptr64
+??1CUnk@@UEAA@XZ
+; public: virtual __cdecl CUnkInternal::~CUnkInternal(void) __ptr64
+??1CUnkInternal@@UEAA@XZ
+; public: virtual __cdecl CUnloadInstruction::~CUnloadInstruction(void) __ptr64
+??1CUnloadInstruction@@UEAA@XZ
+; public: __cdecl CVar::~CVar(void) __ptr64
+??1CVar@@QEAA@XZ
+; public: __cdecl CVarVector::~CVarVector(void) __ptr64
+??1CVarVector@@QEAA@XZ
+; public: __cdecl CWQLScanner::~CWQLScanner(void) __ptr64
+??1CWQLScanner@@QEAA@XZ
+; public: __cdecl CWStringArray::~CWStringArray(void) __ptr64
+??1CWStringArray@@QEAA@XZ
+; private: __cdecl CWbemCallSecurity::~CWbemCallSecurity(void) __ptr64
+??1CWbemCallSecurity@@AEAA@XZ
+; public: __cdecl CWbemCriticalSection::~CWbemCriticalSection(void) __ptr64
+??1CWbemCriticalSection@@QEAA@XZ
+; public: __cdecl CWin32DefaultArena::~CWin32DefaultArena(void) __ptr64
+??1CWin32DefaultArena@@QEAA@XZ
+; public: virtual __cdecl QL1_Parser::~QL1_Parser(void) __ptr64
+??1QL1_Parser@@UEAA@XZ
+; public: __cdecl QL_LEVEL_1_RPN_EXPRESSION::~QL_LEVEL_1_RPN_EXPRESSION(void) __ptr64
+??1QL_LEVEL_1_RPN_EXPRESSION@@QEAA@XZ
+; public: __cdecl QL_LEVEL_1_TOKEN::~QL_LEVEL_1_TOKEN(void) __ptr64
+??1QL_LEVEL_1_TOKEN@@QEAA@XZ
+; public: __cdecl Registry::~Registry(void) __ptr64
+??1Registry@@QEAA@XZ
+; public: __cdecl WString::~WString(void) __ptr64
+??1WString@@QEAA@XZ
+; public: __cdecl std::_Lockit::~_Lockit(void) __ptr64
+??1_Lockit@std@@QEAA@XZ
+; public: class CLockableFlexArray<class CStaticCritSec> & __ptr64 __cdecl CLockableFlexArray<class CStaticCritSec>::operator=(class CLockableFlexArray<class CStaticCritSec> & __ptr64) __ptr64
+??4?$CLockableFlexArray@VCStaticCritSec@@@@QEAAAEAV0@AEAV0@@Z
+; public: class C9XAce & __ptr64 __cdecl C9XAce::operator=(class C9XAce const & __ptr64) __ptr64
+??4C9XAce@@QEAAAEAV0@AEBV0@@Z
+; public: class CAbstractQl1Parser & __ptr64 __cdecl CAbstractQl1Parser::operator=(class CAbstractQl1Parser const & __ptr64) __ptr64
+??4CAbstractQl1Parser@@QEAAAEAV0@AEBV0@@Z
+; public: class CArena & __ptr64 __cdecl CArena::operator=(class CArena const & __ptr64) __ptr64
+??4CArena@@QEAAAEAV0@AEBV0@@Z
+; public: class CBaseAce & __ptr64 __cdecl CBaseAce::operator=(class CBaseAce const & __ptr64) __ptr64
+??4CBaseAce@@QEAAAEAV0@AEBV0@@Z
+; public: class CBaseMrciCompression & __ptr64 __cdecl CBaseMrciCompression::operator=(class CBaseMrciCompression const & __ptr64) __ptr64
+??4CBaseMrciCompression@@QEAAAEAV0@AEBV0@@Z
+; public: class CBasicUnloadInstruction & __ptr64 __cdecl CBasicUnloadInstruction::operator=(class CBasicUnloadInstruction const & __ptr64) __ptr64
+??4CBasicUnloadInstruction@@QEAAAEAV0@AEBV0@@Z
+; public: class CBuffer & __ptr64 __cdecl CBuffer::operator=(class CBuffer const & __ptr64) __ptr64
+??4CBuffer@@QEAAAEAV0@AEBV0@@Z
+; public: class CCheckedInCritSec & __ptr64 __cdecl CCheckedInCritSec::operator=(class CCheckedInCritSec const & __ptr64) __ptr64
+??4CCheckedInCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CContainerControl & __ptr64 __cdecl CContainerControl::operator=(class CContainerControl const & __ptr64) __ptr64
+??4CContainerControl@@QEAAAEAV0@AEBV0@@Z
+; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
+??4CCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CDMTFParser & __ptr64 __cdecl CDMTFParser::operator=(class CDMTFParser const & __ptr64) __ptr64
+??4CDMTFParser@@QEAAAEAV0@AEBV0@@Z
+; public: class CDatePart & __ptr64 __cdecl CDatePart::operator=(class CDatePart const & __ptr64) __ptr64
+??4CDatePart@@QEAAAEAV0@AEBV0@@Z
+; public: class CDateTimeParser & __ptr64 __cdecl CDateTimeParser::operator=(class CDateTimeParser const & __ptr64) __ptr64
+??4CDateTimeParser@@QEAAAEAV0@AEBV0@@Z
+; public: class CEnterWbemCriticalSection & __ptr64 __cdecl CEnterWbemCriticalSection::operator=(class CEnterWbemCriticalSection const & __ptr64) __ptr64
+??4CEnterWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
+; public: class CEventLog & __ptr64 __cdecl CEventLog::operator=(class CEventLog const & __ptr64) __ptr64
+??4CEventLog@@QEAAAEAV0@AEBV0@@Z
+; public: class CEventLogRecord & __ptr64 __cdecl CEventLogRecord::operator=(class CEventLogRecord & __ptr64) __ptr64
+??4CEventLogRecord@@QEAAAEAV0@AEAV0@@Z
+; public: class CExecQueue & __ptr64 __cdecl CExecQueue::operator=(class CExecQueue & __ptr64) __ptr64
+??4CExecQueue@@QEAAAEAV0@AEAV0@@Z
+; public: class CExecRequest & __ptr64 __cdecl CExecRequest::operator=(class CExecRequest const & __ptr64) __ptr64
+??4CExecRequest@@QEAAAEAV0@AEBV0@@Z
+; public: class CFlexArray & __ptr64 __cdecl CFlexArray::operator=(class CFlexArray & __ptr64) __ptr64
+??4CFlexArray@@QEAAAEAV0@AEAV0@@Z
+; public: class CFlexQueue & __ptr64 __cdecl CFlexQueue::operator=(class CFlexQueue const & __ptr64) __ptr64
+??4CFlexQueue@@QEAAAEAV0@AEBV0@@Z
+; public: class CHaltable & __ptr64 __cdecl CHaltable::operator=(class CHaltable const & __ptr64) __ptr64
+??4CHaltable@@QEAAAEAV0@AEBV0@@Z
+; public: class CHex & __ptr64 __cdecl CHex::operator=(class CHex const & __ptr64) __ptr64
+??4CHex@@QEAAAEAV0@AEBV0@@Z
+; public: class CIdentitySecurity & __ptr64 __cdecl CIdentitySecurity::operator=(class CIdentitySecurity const & __ptr64) __ptr64
+??4CIdentitySecurity@@QEAAAEAV0@AEBV0@@Z
+; public: class CIdentityTest & __ptr64 __cdecl CIdentityTest::operator=(class CIdentityTest const & __ptr64) __ptr64
+??4CIdentityTest@@QEAAAEAV0@AEBV0@@Z
+; public: class CInCritSec & __ptr64 __cdecl CInCritSec::operator=(class CInCritSec const & __ptr64) __ptr64
+??4CInCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CInsertionString & __ptr64 __cdecl CInsertionString::operator=(class CInsertionString const & __ptr64) __ptr64
+??4CInsertionString@@QEAAAEAV0@AEBV0@@Z
+; public: class CInstructionQueue & __ptr64 __cdecl CInstructionQueue::operator=(class CInstructionQueue const & __ptr64) __ptr64
+??4CInstructionQueue@@QEAAAEAV0@AEBV0@@Z
+; public: class CInstructionTest & __ptr64 __cdecl CInstructionTest::operator=(class CInstructionTest const & __ptr64) __ptr64
+??4CInstructionTest@@QEAAAEAV0@AEBV0@@Z
+; public: class CLifeControl & __ptr64 __cdecl CLifeControl::operator=(class CLifeControl const & __ptr64) __ptr64
+??4CLifeControl@@QEAAAEAV0@AEBV0@@Z
+; public: class CLike & __ptr64 __cdecl CLike::operator=(class CLike const & __ptr64) __ptr64
+??4CLike@@QEAAAEAV0@AEBV0@@Z
+; public: class CLimitControl & __ptr64 __cdecl CLimitControl::operator=(class CLimitControl const & __ptr64) __ptr64
+??4CLimitControl@@QEAAAEAV0@AEBV0@@Z
+; public: class CMRCICompression & __ptr64 __cdecl CMRCICompression::operator=(class CMRCICompression const & __ptr64) __ptr64
+??4CMRCICompression@@QEAAAEAV0@AEBV0@@Z
+; public: class CMRCIControl & __ptr64 __cdecl CMRCIControl::operator=(class CMRCIControl const & __ptr64) __ptr64
+??4CMRCIControl@@QEAAAEAV0@AEBV0@@Z
+; public: class CMinMaxLimitControl & __ptr64 __cdecl CMinMaxLimitControl::operator=(class CMinMaxLimitControl const & __ptr64) __ptr64
+??4CMinMaxLimitControl@@QEAAAEAV0@AEBV0@@Z
+; public: class CNtAce & __ptr64 __cdecl CNtAce::operator=(class CNtAce const & __ptr64) __ptr64
+??4CNtAce@@QEAAAEAV0@AEBV0@@Z
+; public: class CNtAcl & __ptr64 __cdecl CNtAcl::operator=(class CNtAcl const & __ptr64) __ptr64
+??4CNtAcl@@QEAAAEAV0@AEBV0@@Z
+; public: class CNtSecurity & __ptr64 __cdecl CNtSecurity::operator=(class CNtSecurity const & __ptr64) __ptr64
+??4CNtSecurity@@QEAAAEAV0@AEBV0@@Z
+; public: class CNtSecurityDescriptor & __ptr64 __cdecl CNtSecurityDescriptor::operator=(class CNtSecurityDescriptor & __ptr64) __ptr64
+??4CNtSecurityDescriptor@@QEAAAEAV0@AEAV0@@Z
+; public: class CNtSid & __ptr64 __cdecl CNtSid::operator=(class CNtSid const & __ptr64) __ptr64
+??4CNtSid@@QEAAAEAV0@AEBV0@@Z
+; public: class CPersistentConfig & __ptr64 __cdecl CPersistentConfig::operator=(class CPersistentConfig const & __ptr64) __ptr64
+??4CPersistentConfig@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl CPropertyName::operator=(struct _tag_WbemPropertyName const & __ptr64) __ptr64
+??4CPropertyName@@QEAAXAEBU_tag_WbemPropertyName@@@Z
+; public: void __cdecl CPropertyName::operator=(class CPropertyName const & __ptr64) __ptr64
+??4CPropertyName@@QEAAXAEBV0@@Z
+; public: class CQl1ParseSink & __ptr64 __cdecl CQl1ParseSink::operator=(class CQl1ParseSink const & __ptr64) __ptr64
+??4CQl1ParseSink@@QEAAAEAV0@AEBV0@@Z
+; public: class CRegistryMinMaxLimitControl & __ptr64 __cdecl CRegistryMinMaxLimitControl::operator=(class CRegistryMinMaxLimitControl const & __ptr64) __ptr64
+??4CRegistryMinMaxLimitControl@@QEAAAEAV0@AEBV0@@Z
+; public: class CSafeArray & __ptr64 __cdecl CSafeArray::operator=(class CSafeArray & __ptr64) __ptr64
+??4CSafeArray@@QEAAAEAV0@AEAV0@@Z
+; public: class CSmallArrayBlob & __ptr64 __cdecl CSmallArrayBlob::operator=(class CSmallArrayBlob const & __ptr64) __ptr64
+??4CSmallArrayBlob@@QEAAAEAV0@AEBV0@@Z
+; public: class CStaticCritSec & __ptr64 __cdecl CStaticCritSec::operator=(class CStaticCritSec const & __ptr64) __ptr64
+??4CStaticCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CTextTemplate & __ptr64 __cdecl CTextTemplate::operator=(class CTextTemplate const & __ptr64) __ptr64
+??4CTextTemplate@@QEAAAEAV0@AEBV0@@Z
+; public: class CTimerGenerator & __ptr64 __cdecl CTimerGenerator::operator=(class CTimerGenerator const & __ptr64) __ptr64
+??4CTimerGenerator@@QEAAAEAV0@AEBV0@@Z
+; public: class CTimerInstruction & __ptr64 __cdecl CTimerInstruction::operator=(class CTimerInstruction const & __ptr64) __ptr64
+??4CTimerInstruction@@QEAAAEAV0@AEBV0@@Z
+; public: class CUnk & __ptr64 __cdecl CUnk::operator=(class CUnk const & __ptr64) __ptr64
+??4CUnk@@QEAAAEAV0@AEBV0@@Z
+; public: class CUnkInternal & __ptr64 __cdecl CUnkInternal::operator=(class CUnkInternal const & __ptr64) __ptr64
+??4CUnkInternal@@QEAAAEAV0@AEBV0@@Z
+; public: class CUnloadInstruction & __ptr64 __cdecl CUnloadInstruction::operator=(class CUnloadInstruction const & __ptr64) __ptr64
+??4CUnloadInstruction@@QEAAAEAV0@AEBV0@@Z
+; public: class CVar & __ptr64 __cdecl CVar::operator=(class CVar const & __ptr64) __ptr64
+??4CVar@@QEAAAEAV0@AEBV0@@Z
+; public: class CVarVector & __ptr64 __cdecl CVarVector::operator=(class CVarVector & __ptr64) __ptr64
+??4CVarVector@@QEAAAEAV0@AEAV0@@Z
+; public: class CWQLScanner & __ptr64 __cdecl CWQLScanner::operator=(class CWQLScanner & __ptr64) __ptr64
+??4CWQLScanner@@QEAAAEAV0@AEAV0@@Z
+; public: class CWStringArray & __ptr64 __cdecl CWStringArray::operator=(class CWStringArray & __ptr64) __ptr64
+??4CWStringArray@@QEAAAEAV0@AEAV0@@Z
+; private: class CWbemCallSecurity & __ptr64 __cdecl CWbemCallSecurity::operator=(class CWbemCallSecurity const & __ptr64) __ptr64
+??4CWbemCallSecurity@@AEAAAEAV0@AEBV0@@Z
+; public: class CWbemCriticalSection & __ptr64 __cdecl CWbemCriticalSection::operator=(class CWbemCriticalSection const & __ptr64) __ptr64
+??4CWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemInterval & __ptr64 __cdecl CWbemInterval::operator=(class CWbemInterval const & __ptr64) __ptr64
+??4CWbemInterval@@QEAAAEAV0@AEBV0@@Z
+; public: void __cdecl CWbemTime::operator=(class CWbemTime const & __ptr64) __ptr64
+??4CWbemTime@@QEAAXAEBV0@@Z
+; public: class CWbemTimeSpan & __ptr64 __cdecl CWbemTimeSpan::operator=(class CWbemTimeSpan const & __ptr64) __ptr64
+??4CWbemTimeSpan@@QEAAAEAV0@AEBV0@@Z
+; public: class CWin32DefaultArena & __ptr64 __cdecl CWin32DefaultArena::operator=(class CWin32DefaultArena const & __ptr64) __ptr64
+??4CWin32DefaultArena@@QEAAAEAV0@AEBV0@@Z
+; public: class MD5 & __ptr64 __cdecl MD5::operator=(class MD5 const & __ptr64) __ptr64
+??4MD5@@QEAAAEAV0@AEBV0@@Z
+; public: class QL1_Parser & __ptr64 __cdecl QL1_Parser::operator=(class QL1_Parser const & __ptr64) __ptr64
+??4QL1_Parser@@QEAAAEAV0@AEBV0@@Z
+; public: struct QL_LEVEL_1_RPN_EXPRESSION & __ptr64 __cdecl QL_LEVEL_1_RPN_EXPRESSION::operator=(struct QL_LEVEL_1_RPN_EXPRESSION const & __ptr64) __ptr64
+??4QL_LEVEL_1_RPN_EXPRESSION@@QEAAAEAU0@AEBU0@@Z
+; public: struct QL_LEVEL_1_TOKEN & __ptr64 __cdecl QL_LEVEL_1_TOKEN::operator=(struct QL_LEVEL_1_TOKEN const & __ptr64) __ptr64
+??4QL_LEVEL_1_TOKEN@@QEAAAEAU0@AEBU0@@Z
+; public: struct QL_LEVEL_1_TOKEN & __ptr64 __cdecl QL_LEVEL_1_TOKEN::operator=(struct _tag_WbemQl1Token const & __ptr64) __ptr64
+??4QL_LEVEL_1_TOKEN@@QEAAAEAU0@AEBU_tag_WbemQl1Token@@@Z
+; public: class Registry & __ptr64 __cdecl Registry::operator=(class Registry const & __ptr64) __ptr64
+??4Registry@@QEAAAEAV0@AEBV0@@Z
+; public: class WString & __ptr64 __cdecl WString::operator=(class WString const & __ptr64) __ptr64
+??4WString@@QEAAAEAV0@AEBV0@@Z
+; public: class WString & __ptr64 __cdecl WString::operator=(unsigned short const * __ptr64) __ptr64
+??4WString@@QEAAAEAV0@PEBG@Z
+; public: class std::_Lockit & __ptr64 __cdecl std::_Lockit::operator=(class std::_Lockit const & __ptr64) __ptr64
+??4_Lockit@std@@QEAAAEAV01@AEBV01@@Z
+; public: int __cdecl CEventLogRecord::operator==(class CEventLogRecord const & __ptr64) __ptr64
+??8CEventLogRecord@@QEAAHAEBV0@@Z
+; public: int __cdecl CNtSid::operator==(class CNtSid & __ptr64) __ptr64
+??8CNtSid@@QEAAHAEAV0@@Z
+; public: int __cdecl CPropertyName::operator==(struct _tag_WbemPropertyName const & __ptr64) __ptr64
+??8CPropertyName@@QEAAHAEBU_tag_WbemPropertyName@@@Z
+; public: int __cdecl CVar::operator==(class CVar & __ptr64) __ptr64
+??8CVar@@QEAAHAEAV0@@Z
+; public: int __cdecl CVarVector::operator==(class CVarVector & __ptr64) __ptr64
+??8CVarVector@@QEAAHAEAV0@@Z
+; public: void * __ptr64 & __ptr64 __cdecl CFlexArray::operator[](int) __ptr64
+??ACFlexArray@@QEAAAEAPEAXH@Z
+; public: void * __ptr64 __cdecl CFlexArray::operator[](int)const  __ptr64
+??ACFlexArray@@QEBAPEAXH@Z
+; public: void * __ptr64 __cdecl CSmallArrayBlob::operator[](int)const  __ptr64
+??ACSmallArrayBlob@@QEBAPEAXH@Z
+; public: class CVar & __ptr64 __cdecl CVarVector::operator[](int) __ptr64
+??ACVarVector@@QEAAAEAVCVar@@H@Z
+; public: unsigned short * __ptr64 __cdecl CWStringArray::operator[](int)const  __ptr64
+??ACWStringArray@@QEBAPEAGH@Z
+; public: unsigned short __cdecl WString::operator[](int)const  __ptr64
+??AWString@@QEBAGH@Z
+; public: __cdecl CHex::operator long(void) __ptr64
+??BCHex@@QEAAJXZ
+; public: __cdecl CVar::operator struct _FILETIME(void) __ptr64
+??BCVar@@QEAA?AU_FILETIME@@XZ
+; public: __cdecl CVar::operator char(void) __ptr64
+??BCVar@@QEAADXZ
+; public: __cdecl CVar::operator unsigned char(void) __ptr64
+??BCVar@@QEAAEXZ
+; public: __cdecl CVar::operator short(void) __ptr64
+??BCVar@@QEAAFXZ
+; public: __cdecl CVar::operator unsigned short(void) __ptr64
+??BCVar@@QEAAGXZ
+; public: __cdecl CVar::operator long(void) __ptr64
+??BCVar@@QEAAJXZ
+; public: __cdecl CVar::operator unsigned long(void) __ptr64
+??BCVar@@QEAAKXZ
+; public: __cdecl CVar::operator float(void) __ptr64
+??BCVar@@QEAAMXZ
+; public: __cdecl CVar::operator double(void) __ptr64
+??BCVar@@QEAANXZ
+; public: __cdecl CVar::operator char * __ptr64(void) __ptr64
+??BCVar@@QEAAPEADXZ
+; public: __cdecl CVar::operator unsigned short * __ptr64(void) __ptr64
+??BCVar@@QEAAPEAGXZ
+; public: __cdecl CVar::operator struct _GUID * __ptr64(void) __ptr64
+??BCVar@@QEAAPEAU_GUID@@XZ
+; public: __cdecl CVar::operator struct tagBLOB * __ptr64(void) __ptr64
+??BCVar@@QEAAPEAUtagBLOB@@XZ
+; public: __cdecl CVar::operator class CVarVector * __ptr64(void) __ptr64
+??BCVar@@QEAAPEAVCVarVector@@XZ
+; public: __cdecl WString::operator unsigned short * __ptr64(void) __ptr64
+??BWString@@QEAAPEAGXZ
+; public: __cdecl WString::operator unsigned short const * __ptr64(void)const  __ptr64
+??BWString@@QEBAPEBGXZ
+; public: class CWbemInterval  __cdecl CWbemInterval::operator*(double)const  __ptr64
+??DCWbemInterval@@QEBA?AV0@N@Z
+; public: class CWbemTime  __cdecl CWbemTime::operator-(class CWbemTimeSpan const & __ptr64)const  __ptr64
+??GCWbemTime@@QEBA?AV0@AEBVCWbemTimeSpan@@@Z
+; public: class CWbemInterval  __cdecl CWbemTime::operator-(class CWbemTime const & __ptr64)const  __ptr64
+??GCWbemTime@@QEBA?AVCWbemInterval@@AEBV0@@Z
+; public: class CWbemInterval  __cdecl CWbemInterval::operator+(class CWbemInterval)const  __ptr64
+??HCWbemInterval@@QEBA?AV0@V0@@Z
+; public: class CWbemTime  __cdecl CWbemTime::operator+(class CWbemInterval const & __ptr64)const  __ptr64
+??HCWbemTime@@QEBA?AV0@AEBVCWbemInterval@@@Z
+; public: class CWbemTime  __cdecl CWbemTime::operator+(class CWbemTimeSpan const & __ptr64)const  __ptr64
+??HCWbemTime@@QEBA?AV0@AEBVCWbemTimeSpan@@@Z
+; public: int __cdecl CWbemInterval::operator<(class CWbemInterval) __ptr64
+??MCWbemInterval@@QEAAHV0@@Z
+; public: int __cdecl CWbemTime::operator<(class CWbemTime const & __ptr64)const  __ptr64
+??MCWbemTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WString::operator<(unsigned short const * __ptr64)const  __ptr64
+??MWString@@QEBAHPEBG@Z
+; public: int __cdecl CWbemTime::operator<=(class CWbemTime const & __ptr64)const  __ptr64
+??NCWbemTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WString::operator<=(unsigned short const * __ptr64)const  __ptr64
+??NWString@@QEBAHPEBG@Z
+; public: int __cdecl CWbemInterval::operator>(class CWbemInterval) __ptr64
+??OCWbemInterval@@QEAAHV0@@Z
+; public: int __cdecl CWbemTime::operator>(class CWbemTime const & __ptr64)const  __ptr64
+??OCWbemTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WString::operator>(unsigned short const * __ptr64)const  __ptr64
+??OWString@@QEBAHPEBG@Z
+; public: int __cdecl CWbemTime::operator>=(class CWbemTime const & __ptr64)const  __ptr64
+??PCWbemTime@@QEBAHAEBV0@@Z
+; public: int __cdecl WString::operator>=(unsigned short const * __ptr64)const  __ptr64
+??PWString@@QEBAHPEBG@Z
+; public: virtual int __cdecl CIdentityTest::operator()(class CTimerInstruction * __ptr64) __ptr64
+??RCIdentityTest@@UEAAHPEAVCTimerInstruction@@@Z
+; public: class WString  __cdecl WString::operator()(int,int)const  __ptr64
+??RWString@@QEBA?AV0@HH@Z
+; public: void __cdecl CWbemInterval::operator+=(class CWbemInterval) __ptr64
+??YCWbemInterval@@QEAAXV0@@Z
+; public: class WString & __ptr64 __cdecl WString::operator+=(class WString const & __ptr64) __ptr64
+??YWString@@QEAAAEAV0@AEBV0@@Z
+; public: class WString & __ptr64 __cdecl WString::operator+=(unsigned short) __ptr64
+??YWString@@QEAAAEAV0@G@Z
+; public: class WString & __ptr64 __cdecl WString::operator+=(unsigned short const * __ptr64) __ptr64
+??YWString@@QEAAAEAV0@PEBG@Z
+; const  C9XAce::`vftable'
+??_7C9XAce@@6B@
+; const  CAbstractQl1Parser::`vftable'
+??_7CAbstractQl1Parser@@6B@
+; const  CArena::`vftable'
+??_7CArena@@6B@
+; const  CBaseAce::`vftable'
+??_7CBaseAce@@6B@
+; const  CBasicUnloadInstruction::`vftable'
+??_7CBasicUnloadInstruction@@6B@
+; const  CBuffer::`vftable'
+??_7CBuffer@@6B@
+; const  CContainerControl::`vftable'
+??_7CContainerControl@@6B@
+; const  CExecQueue::`vftable'
+??_7CExecQueue@@6B@
+; const  CExecRequest::`vftable'
+??_7CExecRequest@@6B@
+; const  CHaltable::`vftable'
+??_7CHaltable@@6B@
+; const  CIdentityTest::`vftable'
+??_7CIdentityTest@@6B@
+; const  CInstructionTest::`vftable'
+??_7CInstructionTest@@6B@
+; const  CLifeControl::`vftable'
+??_7CLifeControl@@6B@
+; const  CLimitControl::`vftable'
+??_7CLimitControl@@6B@
+; const  CMinMaxLimitControl::`vftable'
+??_7CMinMaxLimitControl@@6B@
+; const  CNtAce::`vftable'
+??_7CNtAce@@6B@
+; const  CQl1ParseSink::`vftable'
+??_7CQl1ParseSink@@6B@
+; const  CRegistryMinMaxLimitControl::`vftable'
+??_7CRegistryMinMaxLimitControl@@6B@
+; const  CTimerGenerator::`vftable'
+??_7CTimerGenerator@@6B@
+; const  CTimerInstruction::`vftable'
+??_7CTimerInstruction@@6B@
+; const  CUnk::`vftable'
+??_7CUnk@@6B@
+; const  CUnkInternal::`vftable'
+??_7CUnkInternal@@6B@
+; const  CUnloadInstruction::`vftable'
+??_7CUnloadInstruction@@6B@
+; const  CWbemCallSecurity::`vftable'
+??_7CWbemCallSecurity@@6B@
+; const  CWin32DefaultArena::`vftable'
+??_7CWin32DefaultArena@@6B@
+; const  QL1_Parser::`vftable'
+??_7QL1_Parser@@6B@
+; const  QL_LEVEL_1_RPN_EXPRESSION::`vftable'
+??_7QL_LEVEL_1_RPN_EXPRESSION@@6B@
+; public: void __cdecl CBuffer::`default constructor closure'(void) __ptr64
+??_FCBuffer@@QEAAXXZ
+; public: void __cdecl CEventLog::`default constructor closure'(void) __ptr64
+??_FCEventLog@@QEAAXXZ
+; public: void __cdecl CFlexArray::`default constructor closure'(void) __ptr64
+??_FCFlexArray@@QEAAXXZ
+; public: void __cdecl CFlexQueue::`default constructor closure'(void) __ptr64
+??_FCFlexQueue@@QEAAXXZ
+; public: void __cdecl CNtAcl::`default constructor closure'(void) __ptr64
+??_FCNtAcl@@QEAAXXZ
+; public: void __cdecl CTextTemplate::`default constructor closure'(void) __ptr64
+??_FCTextTemplate@@QEAAXXZ
+; public: void __cdecl CUnk::`default constructor closure'(void) __ptr64
+??_FCUnk@@QEAAXXZ
+; public: void __cdecl CWStringArray::`default constructor closure'(void) __ptr64
+??_FCWStringArray@@QEAAXXZ
+; public: void __cdecl CMRCIControl::AbortCompression(void) __ptr64
+?AbortCompression@CMRCIControl@@QEAAXXZ
+; public: int __cdecl CMRCIControl::AbortRequested(void) __ptr64
+?AbortRequested@CMRCIControl@@QEAAHXZ
+; public: long __cdecl CSafeArray::Access(void * __ptr64 * __ptr64) __ptr64
+?Access@CSafeArray@@QEAAJPEAPEAX@Z
+; public: int __cdecl CIdentitySecurity::AccessCheck(void) __ptr64
+?AccessCheck@CIdentitySecurity@@QEAAHXZ
+; public: long __cdecl CVarVector::AccessRawArray(void * __ptr64 * __ptr64) __ptr64
+?AccessRawArray@CVarVector@@QEAAJPEAPEAX@Z
+; public: int __cdecl CFlexArray::Add(void * __ptr64) __ptr64
+?Add@CFlexArray@@QEAAHPEAX@Z
+; public: virtual long __cdecl CMinMaxLimitControl::Add(unsigned long,unsigned long,unsigned long * __ptr64) __ptr64
+?Add@CMinMaxLimitControl@@UEAAJKKPEAK@Z
+; public: int __cdecl CVarVector::Add(class CVar & __ptr64) __ptr64
+?Add@CVarVector@@QEAAHAEAVCVar@@@Z
+; public: int __cdecl CVarVector::Add(class CVar * __ptr64) __ptr64
+?Add@CVarVector@@QEAAHPEAVCVar@@@Z
+; public: int __cdecl CWStringArray::Add(unsigned short const * __ptr64) __ptr64
+?Add@CWStringArray@@QEAAHPEBG@Z
+; public: int __cdecl CNtAcl::AddAce(class CNtAce * __ptr64) __ptr64
+?AddAce@CNtAcl@@QEAAHPEAVCNtAce@@@Z
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddAggregationProperty(class CPropertyName const & __ptr64) __ptr64
+?AddAggregationProperty@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBVCPropertyName@@@Z
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddAllAggregationProperties(void) __ptr64
+?AddAllAggregationProperties@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXXZ
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddAllProperties(void) __ptr64
+?AddAllProperties@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXXZ
+; protected: void __cdecl CAbstractQl1Parser::AddAppropriateToken(struct _tag_WbemQl1Token const & __ptr64) __ptr64
+?AddAppropriateToken@CAbstractQl1Parser@@IEAAXAEBU_tag_WbemQl1Token@@@Z
+; public: int __cdecl CSafeArray::AddBSTR(unsigned short * __ptr64) __ptr64
+?AddBSTR@CSafeArray@@QEAAHPEAG@Z
+; public: int __cdecl CSafeArray::AddBool(short) __ptr64
+?AddBool@CSafeArray@@QEAAHF@Z
+; public: int __cdecl CSafeArray::AddByte(unsigned char) __ptr64
+?AddByte@CSafeArray@@QEAAHE@Z
+; public: int __cdecl CSafeArray::AddDispatch(struct IDispatch * __ptr64) __ptr64
+?AddDispatch@CSafeArray@@QEAAHPEAUIDispatch@@@Z
+; public: int __cdecl CSafeArray::AddDouble(double) __ptr64
+?AddDouble@CSafeArray@@QEAAHN@Z
+; public: void __cdecl CPropertyName::AddElement(unsigned short const * __ptr64) __ptr64
+?AddElement@CPropertyName@@QEAAXPEBG@Z
+; public: int __cdecl CSafeArray::AddFloat(float) __ptr64
+?AddFloat@CSafeArray@@QEAAHM@Z
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddHavingToken(struct _tag_WbemQl1Token const & __ptr64) __ptr64
+?AddHavingToken@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBU_tag_WbemQl1Token@@@Z
+; protected: void __cdecl CEventLogRecord::AddInsertionString(class CInsertionString & __ptr64) __ptr64
+?AddInsertionString@CEventLogRecord@@IEAAXAEAVCInsertionString@@@Z
+; public: int __cdecl CSafeArray::AddLong(long) __ptr64
+?AddLong@CSafeArray@@QEAAHJ@Z
+; public: virtual long __cdecl CLimitControl::AddMember(void) __ptr64
+?AddMember@CLimitControl@@UEAAJXZ
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddProperty(class CPropertyName const & __ptr64) __ptr64
+?AddProperty@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBVCPropertyName@@@Z
+; protected: void __cdecl CEventLog::AddRecord(class CEventLogRecord * __ptr64) __ptr64
+?AddRecord@CEventLog@@IEAAXPEAVCEventLogRecord@@@Z
+; public: virtual void __cdecl CBasicUnloadInstruction::AddRef(void) __ptr64
+?AddRef@CBasicUnloadInstruction@@UEAAXXZ
+; public: virtual unsigned long __cdecl CBuffer::AddRef(void) __ptr64
+?AddRef@CBuffer@@UEAAKXZ
+; public: virtual void __cdecl CContainerControl::AddRef(struct IUnknown * __ptr64) __ptr64
+?AddRef@CContainerControl@@UEAAXPEAUIUnknown@@@Z
+; public: void __cdecl CExecQueue::AddRef(void) __ptr64
+?AddRef@CExecQueue@@QEAAXXZ
+; public: virtual unsigned long __cdecl CUnk::AddRef(void) __ptr64
+?AddRef@CUnk@@UEAAKXZ
+; public: virtual unsigned long __cdecl CUnkInternal::AddRef(void) __ptr64
+?AddRef@CUnkInternal@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemCallSecurity::AddRef(void) __ptr64
+?AddRef@CWbemCallSecurity@@UEAAKXZ
+; public: void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddRef(void) __ptr64
+?AddRef@QL_LEVEL_1_RPN_EXPRESSION@@QEAAXXZ
+; private: int __cdecl CSafeArray::AddScalar(union SA_ArrayScalar) __ptr64
+?AddScalar@CSafeArray@@AEAAHTSA_ArrayScalar@@@Z
+; public: int __cdecl CSafeArray::AddShort(short) __ptr64
+?AddShort@CSafeArray@@QEAAHF@Z
+; public: void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddToken(struct QL_LEVEL_1_TOKEN const & __ptr64) __ptr64
+?AddToken@QL_LEVEL_1_RPN_EXPRESSION@@QEAAXAEBUQL_LEVEL_1_TOKEN@@@Z
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::AddToken(struct _tag_WbemQl1Token const & __ptr64) __ptr64
+?AddToken@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBU_tag_WbemQl1Token@@@Z
+; public: int __cdecl CSafeArray::AddUnknown(struct IUnknown * __ptr64) __ptr64
+?AddUnknown@CSafeArray@@QEAAHPEAUIUnknown@@@Z
+; public: int __cdecl CSafeArray::AddVariant(struct tagVARIANT * __ptr64) __ptr64
+?AddVariant@CSafeArray@@QEAAHPEAUtagVARIANT@@@Z
+; protected: virtual void __cdecl CExecQueue::AdjustInitialPriority(class CExecRequest * __ptr64) __ptr64
+?AdjustInitialPriority@CExecQueue@@MEAAXPEAVCExecRequest@@@Z
+; protected: virtual void __cdecl CExecQueue::AdjustPriorityForPassing(class CExecRequest * __ptr64) __ptr64
+?AdjustPriorityForPassing@CExecQueue@@MEAAXPEAVCExecRequest@@@Z
+; void __cdecl AdjustPrivIfLocalSystem(void * __ptr64)
+?AdjustPrivIfLocalSystem@@YAXPEAX@Z
+; public: long __cdecl CBuffer::Advance(unsigned long) __ptr64
+?Advance@CBuffer@@QEAAJK@Z
+; public: unsigned short * __ptr64 __cdecl CWQLScanner::AliasToTable(unsigned short * __ptr64) __ptr64
+?AliasToTable@CWQLScanner@@QEAAQEAGPEAG@Z
+; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Alloc(unsigned __int64) __ptr64
+?Alloc@CWin32DefaultArena@@UEAAPEAX_K@Z
+; protected: unsigned short * __ptr64 __cdecl CDateTimeParser::AllocAmPm(void) __ptr64
+?AllocAmPm@CDateTimeParser@@IEAAPEAGXZ
+; int __cdecl AllocWCHARToMBS(unsigned short * __ptr64,char * __ptr64 * __ptr64)
+?AllocWCHARToMBS@@YAHPEAGPEAPEAD@Z
+; public: unsigned short * __ptr64 __cdecl CTextTemplate::Apply(struct IWbemClassObject * __ptr64) __ptr64
+?Apply@CTextTemplate@@QEAAPEAGPEAUIWbemClassObject@@@Z
+; public: void __cdecl CFlexArray::Bind(class CFlexArray & __ptr64) __ptr64
+?Bind@CFlexArray@@QEAAXAEAV1@@Z
+; public: void __cdecl WString::BindPtr(unsigned short * __ptr64) __ptr64
+?BindPtr@WString@@QEAAXPEAG@Z
+; void __cdecl BlobAssign(struct tagBLOB * __ptr64,void * __ptr64,unsigned long,int)
+?BlobAssign@@YAXPEAUtagBLOB@@PEAXKH@Z
+; void __cdecl BlobClear(struct tagBLOB * __ptr64)
+?BlobClear@@YAXPEAUtagBLOB@@@Z
+; struct tagBLOB  __cdecl BlobCopy(struct tagBLOB const * __ptr64)
+?BlobCopy@@YA?AUtagBLOB@@PEBU1@@Z
+; unsigned long __cdecl BreakOnDbgAndRenterLoop(void)
+?BreakOnDbgAndRenterLoop@@YAKXZ
+; public: void __cdecl CInstructionQueue::BreakWait(void) __ptr64
+?BreakWait@CInstructionQueue@@QEAAXXZ
+; private: int __cdecl CWQLScanner::BuildSWQLColRef(class CFlexArray & __ptr64,struct SWQLColRef & __ptr64) __ptr64
+?BuildSWQLColRef@CWQLScanner@@AEAAHAEAVCFlexArray@@AEAUSWQLColRef@@@Z
+; protected: virtual unsigned long __cdecl CExecQueue::CalcSitOutPenalty(long) __ptr64
+?CalcSitOutPenalty@CExecQueue@@MEAAKJ@Z
+; public: int __cdecl CVar::CanDelete(void) __ptr64
+?CanDelete@CVar@@QEAAHXZ
+; public: long __cdecl CInstructionQueue::Change(class CTimerInstruction * __ptr64,class CWbemTime) __ptr64
+?Change@CInstructionQueue@@QEAAJPEAVCTimerInstruction@@VCWbemTime@@@Z
+; public: int __cdecl CVar::ChangeTypeTo(unsigned short) __ptr64
+?ChangeTypeTo@CVar@@QEAAHG@Z
+; public: int __cdecl CVar::ChangeTypeToEx(unsigned short,unsigned long) __ptr64
+?ChangeTypeToEx@CVar@@QEAAHGK@Z
+; long __cdecl ChangeVariantToCIMTYPE(struct tagVARIANT * __ptr64,struct tagVARIANT * __ptr64,long)
+?ChangeVariantToCIMTYPE@@YAJPEAUtagVARIANT@@0J@Z
+; public: static int __cdecl CDateTimeParser::CheckDMTFDateTimeFormat(unsigned short const * __ptr64,int,int)
+?CheckDMTFDateTimeFormat@CDateTimeParser@@SAHPEBGHH@Z
+; protected: int __cdecl CDateTimeParser::CheckDMTFDateTimeFormatInternal(unsigned short const * __ptr64) __ptr64
+?CheckDMTFDateTimeFormatInternal@CDateTimeParser@@IEAAHPEBG@Z
+; public: static int __cdecl CDateTimeParser::CheckDMTFDateTimeInterval(unsigned short const * __ptr64)
+?CheckDMTFDateTimeInterval@CDateTimeParser@@SAHPEBG@Z
+; protected: int __cdecl CDateTimeParser::CheckDateFormat(unsigned short const * __ptr64,int) __ptr64
+?CheckDateFormat@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::CheckTimeFormat(unsigned short const * __ptr64,int) __ptr64
+?CheckTimeFormat@CDateTimeParser@@IEAAHPEBGH@Z
+; private: void __cdecl CSafeArray::CheckType(int) __ptr64
+?CheckType@CSafeArray@@AEAAXH@Z
+; public: static void __cdecl CUnloadInstruction::Clear(void)
+?Clear@CUnloadInstruction@@SAXXZ
+; private: void __cdecl CWQLScanner::ClearPropRefs(void) __ptr64
+?ClearPropRefs@CWQLScanner@@AEAAXXZ
+; private: void __cdecl CWQLScanner::ClearTableRefs(void) __ptr64
+?ClearTableRefs@CWQLScanner@@AEAAXXZ
+; private: void __cdecl CWQLScanner::ClearTokens(void) __ptr64
+?ClearTokens@CWQLScanner@@AEAAXXZ
+; public: virtual long __cdecl CBuffer::Clone(struct IStream * __ptr64 * __ptr64) __ptr64
+?Clone@CBuffer@@UEAAJPEAPEAUIStream@@@Z
+; public: void * __ptr64 * __ptr64 __cdecl CSmallArrayBlob::CloneData(void) __ptr64
+?CloneData@CSmallArrayBlob@@QEAAPEAPEAXXZ
+; public: virtual long __cdecl CWbemCallSecurity::CloneThreadContext(int) __ptr64
+?CloneThreadContext@CWbemCallSecurity@@UEAAJH@Z
+; private: long __cdecl CWbemCallSecurity::CloneThreadToken(unsigned long) __ptr64
+?CloneThreadToken@CWbemCallSecurity@@AEAAJK@Z
+; public: int __cdecl CEventLog::Close(void) __ptr64
+?Close@CEventLog@@QEAAHXZ
+; public: virtual long __cdecl CBuffer::Commit(unsigned long) __ptr64
+?Commit@CBuffer@@UEAAJK@Z
+; protected: static int __cdecl CFlexArray::CompareEls(void const * __ptr64,void const * __ptr64)
+?CompareEls@CFlexArray@@KAHPEBX0@Z
+; protected: static int __cdecl CSmallArrayBlob::CompareEls(void const * __ptr64,void const * __ptr64)
+?CompareEls@CSmallArrayBlob@@KAHPEBX0@Z
+; public: int __cdecl CVar::CompareTo(class CVar & __ptr64,int) __ptr64
+?CompareTo@CVar@@QEAAHAEAV1@H@Z
+; public: int __cdecl CVarVector::CompareTo(class CVarVector & __ptr64,int) __ptr64
+?CompareTo@CVarVector@@QEAAHAEAV1@H@Z
+; public: void __cdecl CFlexArray::Compress(void) __ptr64
+?Compress@CFlexArray@@QEAAXXZ
+; public: void __cdecl CWStringArray::Compress(void) __ptr64
+?Compress@CWStringArray@@QEAAXXZ
+; public: unsigned int __cdecl CMRCICompression::CompressBuffer(unsigned char * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long,enum CMRCICompression::CompressionLevel) __ptr64
+?CompressBuffer@CMRCICompression@@QEAAIPEAEK0KW4CompressionLevel@1@@Z
+; public: int __cdecl CMRCICompression::CompressFile(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long,enum CMRCICompression::CompressionLevel,class CMRCIControl * __ptr64) __ptr64
+?CompressFile@CMRCICompression@@QEAAHPEBG0KW4CompressionLevel@1@PEAVCMRCIControl@@@Z
+; protected: int __cdecl CMRCICompression::CompressFileV1(int,int,unsigned long,enum CMRCICompression::CompressionLevel,class CMRCIControl * __ptr64) __ptr64
+?CompressFileV1@CMRCICompression@@IEAAHHHKW4CompressionLevel@1@PEAVCMRCIControl@@@Z
+; protected: long __cdecl CMinMaxLimitControl::ComputePenalty(unsigned long,unsigned long,unsigned long * __ptr64,int * __ptr64) __ptr64
+?ComputePenalty@CMinMaxLimitControl@@IEAAJKKPEAKPEAH@Z
+; private: void __cdecl CTextTemplate::ConcatWithoutQuotes(class WString & __ptr64,unsigned short * __ptr64 & __ptr64) __ptr64
+?ConcatWithoutQuotes@CTextTemplate@@AEAAXAEAVWString@@AEAPEAG@Z
+; public: int __cdecl CNtAcl::ContainsSid(class CNtSid & __ptr64,unsigned char & __ptr64) __ptr64
+?ContainsSid@CNtAcl@@QEAAHAEAVCNtSid@@AEAE@Z
+; public: static void __cdecl MD5::ContinueTransform(void * __ptr64,unsigned int,unsigned char * __ptr64 const)
+?ContinueTransform@MD5@@SAXPEAXIQEAE@Z
+; protected: void __cdecl CSmallArrayBlob::CopyData(class CSmallArrayBlob * __ptr64) __ptr64
+?CopyData@CSmallArrayBlob@@IEAAXPEAV1@@Z
+; public: int __cdecl CFlexArray::CopyDataFrom(class CFlexArray const & __ptr64) __ptr64
+?CopyDataFrom@CFlexArray@@QEAAHAEBV1@@Z
+; public: virtual long __cdecl CBuffer::CopyTo(struct IStream * __ptr64,union _ULARGE_INTEGER,union _ULARGE_INTEGER * __ptr64,union _ULARGE_INTEGER * __ptr64) __ptr64
+?CopyTo@CBuffer@@UEAAJPEAUIStream@@T_ULARGE_INTEGER@@PEAT3@2@Z
+; public: int __cdecl CNtSid::CopyTo(void * __ptr64) __ptr64
+?CopyTo@CNtSid@@QEAAHPEAX@Z
+; public: int __cdecl CWQLScanner::CountQuery(void) __ptr64
+?CountQuery@CWQLScanner@@QEAAHXZ
+; public: static class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::CreateBlob(int)
+?CreateBlob@CSmallArrayBlob@@SAPEAV1@H@Z
+; public: static class IWbemCallSecurity * __ptr64 __cdecl CWbemCallSecurity::CreateInst(void)
+?CreateInst@CWbemCallSecurity@@SAPEAVIWbemCallSecurity@@XZ
+; protected: virtual int __cdecl CExecQueue::CreateNewThread(void) __ptr64
+?CreateNewThread@CExecQueue@@MEAAHXZ
+; int __cdecl CriticalFailADAPTrace(char const * __ptr64)
+?CriticalFailADAPTrace@@YAHPEBD@Z
+; public: int __cdecl CAbstractQl1Parser::CurrentLine(void) __ptr64
+?CurrentLine@CAbstractQl1Parser@@QEAAHXZ
+; public: unsigned short * __ptr64 __cdecl CAbstractQl1Parser::CurrentToken(void) __ptr64
+?CurrentToken@CAbstractQl1Parser@@QEAAPEAGXZ
+; protected: int __cdecl CDateTimeParser::DateFormat10(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?DateFormat10@CDateTimeParser@@IEAAHPEBG0H@Z
+; protected: int __cdecl CDateTimeParser::DateFormat11(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?DateFormat11@CDateTimeParser@@IEAAHPEBG0H@Z
+; protected: int __cdecl CDateTimeParser::DateFormat12(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?DateFormat12@CDateTimeParser@@IEAAHPEBG0H@Z
+; protected: int __cdecl CDateTimeParser::DateFormat13(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?DateFormat13@CDateTimeParser@@IEAAHPEBG0H@Z
+; protected: int __cdecl CDateTimeParser::DateFormat14(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?DateFormat14@CDateTimeParser@@IEAAHPEBG0H@Z
+; protected: int __cdecl CDateTimeParser::DateFormat15(unsigned short const * __ptr64,int) __ptr64
+?DateFormat15@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::DateFormat1(unsigned short const * __ptr64,int) __ptr64
+?DateFormat1@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::DateFormat2(unsigned short const * __ptr64,int) __ptr64
+?DateFormat2@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::DateFormat3(unsigned short const * __ptr64,int) __ptr64
+?DateFormat3@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::DateFormat4(unsigned short const * __ptr64,int) __ptr64
+?DateFormat4@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::DateFormat5(unsigned short const * __ptr64,int) __ptr64
+?DateFormat5@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::DateFormat6(unsigned short const * __ptr64,int) __ptr64
+?DateFormat6@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::DateFormat7(unsigned short const * __ptr64,int) __ptr64
+?DateFormat7@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::DateFormat8(unsigned short const * __ptr64,int) __ptr64
+?DateFormat8@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::DateFormat9(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?DateFormat9@CDateTimeParser@@IEAAHPEBG0H@Z
+; public: void __cdecl CFlexArray::DebugDump(void) __ptr64
+?DebugDump@CFlexArray@@QEAAXXZ
+; int __cdecl DebugTrace(char,char const * __ptr64,...)
+?DebugTrace@@YAHDPEBDZZ
+; protected: void __cdecl CFlexQueue::DecrementIndex(int & __ptr64) __ptr64
+?DecrementIndex@CFlexQueue@@IEAAXAEAH@Z
+; public: int __cdecl CNtAcl::DeleteAce(int) __ptr64
+?DeleteAce@CNtAcl@@QEAAHH@Z
+; protected: void __cdecl CAbstractQl1Parser::DeletePropertyName(void) __ptr64
+?DeletePropertyName@CAbstractQl1Parser@@IEAAXXZ
+; public: int __cdecl CWStringArray::DeleteStr(int) __ptr64
+?DeleteStr@CWStringArray@@QEAAHH@Z
+; private: void __cdecl WString::DeleteString(unsigned short * __ptr64) __ptr64
+?DeleteString@WString@@AEAAXPEAG@Z
+; public: int __cdecl Registry::DeleteValue(unsigned short * __ptr64) __ptr64
+?DeleteValue@Registry@@QEAAHPEAG@Z
+; public: void * __ptr64 __cdecl CFlexQueue::Dequeue(void) __ptr64
+?Dequeue@CFlexQueue@@QEAAPEAXXZ
+; public: long __cdecl CInstructionQueue::Dequeue(class CTimerInstruction * __ptr64 & __ptr64,class CWbemTime & __ptr64) __ptr64
+?Dequeue@CInstructionQueue@@QEAAJAEAPEAVCTimerInstruction@@AEAVCWbemTime@@@Z
+; public: virtual bool __cdecl C9XAce::Deserialize(unsigned char * __ptr64) __ptr64
+?Deserialize@C9XAce@@UEAA_NPEAE@Z
+; public: virtual bool __cdecl CNtAce::Deserialize(unsigned char * __ptr64) __ptr64
+?Deserialize@CNtAce@@UEAA_NPEAE@Z
+; public: static void __cdecl CWStringArray::Difference(class CWStringArray & __ptr64,class CWStringArray & __ptr64,class CWStringArray & __ptr64)
+?Difference@CWStringArray@@SAXAEAV1@00@Z
+; protected: bool __cdecl CLike::DoLike(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short) __ptr64
+?DoLike@CLike@@IEAA_NPEBG0G@Z
+; protected: virtual int __cdecl CExecQueue::DoesNeedNewThread(class CExecRequest * __ptr64) __ptr64
+?DoesNeedNewThread@CExecQueue@@MEAAHPEAVCExecRequest@@@Z
+; public: int __cdecl CVarVector::DoesVectorTypeMatchArrayType(void) __ptr64
+?DoesVectorTypeMatchArrayType@CVarVector@@QEAAHXZ
+; public: void __cdecl CWQLScanner::Dump(void) __ptr64
+?Dump@CWQLScanner@@QEAAXXZ
+; public: void __cdecl QL_LEVEL_1_RPN_EXPRESSION::Dump(char const * __ptr64) __ptr64
+?Dump@QL_LEVEL_1_RPN_EXPRESSION@@QEAAXPEBD@Z
+; public: void __cdecl QL_LEVEL_1_TOKEN::Dump(struct _iobuf * __ptr64) __ptr64
+?Dump@QL_LEVEL_1_TOKEN@@QEAAXPEAU_iobuf@@@Z
+; public: virtual void __cdecl CExecRequest::DumpError(void) __ptr64
+?DumpError@CExecRequest@@UEAAXXZ
+; public: int __cdecl CVar::DumpText(struct _iobuf * __ptr64) __ptr64
+?DumpText@CVar@@QEAAHPEAU_iobuf@@@Z
+; public: int __cdecl CSafeArray::ElementSize(void) __ptr64
+?ElementSize@CSafeArray@@QEAAHXZ
+; public: void __cdecl CFlexArray::Empty(void) __ptr64
+?Empty@CFlexArray@@QEAAXXZ
+; public: void __cdecl CPropertyName::Empty(void) __ptr64
+?Empty@CPropertyName@@QEAAXXZ
+; public: void __cdecl CSafeArray::Empty(void) __ptr64
+?Empty@CSafeArray@@QEAAXXZ
+; public: void __cdecl CVar::Empty(void) __ptr64
+?Empty@CVar@@QEAAXXZ
+; public: void __cdecl CVarVector::Empty(void) __ptr64
+?Empty@CVarVector@@QEAAXXZ
+; public: void __cdecl CWStringArray::Empty(void) __ptr64
+?Empty@CWStringArray@@QEAAXXZ
+; public: void __cdecl WString::Empty(void) __ptr64
+?Empty@WString@@QEAAXXZ
+; long __cdecl EnableAllPrivileges(unsigned long)
+?EnableAllPrivileges@@YAJK@Z
+; int __cdecl EnablePrivilege(unsigned long,unsigned short const * __ptr64)
+?EnablePrivilege@@YAHKPEBG@Z
+; private: bool __cdecl CIdentitySecurity::EncryptedCall(void) __ptr64
+?EncryptedCall@CIdentitySecurity@@AEAA_NXZ
+; public: virtual long __cdecl CExecQueue::Enqueue(class CExecRequest * __ptr64,void * __ptr64 * __ptr64) __ptr64
+?Enqueue@CExecQueue@@UEAAJPEAVCExecRequest@@PEAPEAX@Z
+; public: bool __cdecl CFlexQueue::Enqueue(void * __ptr64) __ptr64
+?Enqueue@CFlexQueue@@QEAA_NPEAX@Z
+; public: long __cdecl CInstructionQueue::Enqueue(class CWbemTime,class CTimerInstruction * __ptr64) __ptr64
+?Enqueue@CInstructionQueue@@QEAAJVCWbemTime@@PEAVCTimerInstruction@@@Z
+; public: long __cdecl CExecQueue::EnqueueAndWait(class CExecRequest * __ptr64) __ptr64
+?EnqueueAndWait@CExecQueue@@QEAAJPEAVCExecRequest@@@Z
+; public: long __cdecl CExecQueue::EnqueueWithoutSleep(class CExecRequest * __ptr64,void * __ptr64 * __ptr64) __ptr64
+?EnqueueWithoutSleep@CExecQueue@@QEAAJPEAVCExecRequest@@PEAPEAX@Z
+; protected: void __cdecl CPropertyName::EnsureAllocated(long) __ptr64
+?EnsureAllocated@CPropertyName@@IEAAXJ@Z
+; public: int __cdecl CFlexArray::EnsureExtent(int) __ptr64
+?EnsureExtent@CFlexArray@@QEAAHH@Z
+; protected: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::EnsureExtent(int) __ptr64
+?EnsureExtent@CSmallArrayBlob@@IEAAPEAV1@H@Z
+; private: void __cdecl CTimerGenerator::EnsureRunning(void) __ptr64
+?EnsureRunning@CTimerGenerator@@AEAAXXZ
+; private: void __cdecl CBuffer::EnsureSize(unsigned long) __ptr64
+?EnsureSize@CBuffer@@AEAAXK@Z
+; public: void __cdecl CCheckedInCritSec::Enter(void) __ptr64
+?Enter@CCheckedInCritSec@@QEAAXXZ
+; public: void __cdecl CCritSec::Enter(void) __ptr64
+?Enter@CCritSec@@QEAAXXZ
+; public: void __cdecl CExecQueue::Enter(void) __ptr64
+?Enter@CExecQueue@@QEAAXXZ
+; public: void __cdecl CStaticCritSec::Enter(void) __ptr64
+?Enter@CStaticCritSec@@QEAAXXZ
+; public: int __cdecl CWbemCriticalSection::Enter(unsigned long) __ptr64
+?Enter@CWbemCriticalSection@@QEAAHK@Z
+; public: int __cdecl WString::Equal(unsigned short const * __ptr64)const  __ptr64
+?Equal@WString@@QEBAHPEBG@Z
+; public: int __cdecl WString::EqualNoCase(unsigned short const * __ptr64)const  __ptr64
+?EqualNoCase@WString@@QEBAHPEBG@Z
+; int __cdecl ErrorTrace(char,char const * __ptr64,...)
+?ErrorTrace@@YAHDPEBDZZ
+; public: class WString  __cdecl WString::EscapeQuotes(void)const  __ptr64
+?EscapeQuotes@WString@@QEBA?AV1@XZ
+; protected: virtual int __cdecl CExecQueue::Execute(class CExecQueue::CThreadRecord * __ptr64) __ptr64
+?Execute@CExecQueue@@MEAAHPEAVCThreadRecord@1@@Z
+; unsigned short * __ptr64 __cdecl ExtractMachineName(unsigned short * __ptr64)
+?ExtractMachineName@@YAPEAGPEAG@Z
+; private: struct WSLexToken * __ptr64 __cdecl CWQLScanner::ExtractNext(int) __ptr64
+?ExtractNext@CWQLScanner@@AEAAPEAUWSLexToken@@H@Z
+; private: int __cdecl CWQLScanner::ExtractSelectType(void) __ptr64
+?ExtractSelectType@CWQLScanner@@AEAAHXZ
+; public: int __cdecl WString::ExtractToken(unsigned short,class WString & __ptr64) __ptr64
+?ExtractToken@WString@@QEAAHGAEAV1@@Z
+; public: int __cdecl WString::ExtractToken(unsigned short const * __ptr64,class WString & __ptr64) __ptr64
+?ExtractToken@WString@@QEAAHPEBGAEAV1@@Z
+; private: void __cdecl CSafeArray::Fatal(char const * __ptr64) __ptr64
+?Fatal@CSafeArray@@AEAAXPEBD@Z
+; private: int __cdecl CPersistentConfig::FileExists(unsigned short const * __ptr64) __ptr64
+?FileExists@CPersistentConfig@@AEAAHPEBG@Z
+; public: void __cdecl CVarVector::FillCVarAt(int,class CVar & __ptr64) __ptr64
+?FillCVarAt@CVarVector@@QEAAXHAEAVCVar@@@Z
+; public: int __cdecl CDateTimeParser::FillDMTF(unsigned short * __ptr64,unsigned __int64) __ptr64
+?FillDMTF@CDateTimeParser@@QEAAHPEAG_K@Z
+; public: void __cdecl CVar::FillVariant(struct tagVARIANT * __ptr64,int) __ptr64
+?FillVariant@CVar@@QEAAXPEAUtagVARIANT@@H@Z
+; public: int __cdecl CWStringArray::FindStr(unsigned short const * __ptr64,int) __ptr64
+?FindStr@CWStringArray@@QEAAHPEBGH@Z
+; protected: int __cdecl CAbstractQl1Parser::FlipOperator(int) __ptr64
+?FlipOperator@CAbstractQl1Parser@@IEAAHH@Z
+; public: virtual int __cdecl CWin32DefaultArena::Free(void * __ptr64) __ptr64
+?Free@CWin32DefaultArena@@UEAAHPEAX@Z
+; public: __int64 __cdecl CWbemTime::Get100nss(void)const  __ptr64
+?Get100nss@CWbemTime@@QEBA_JXZ
+; public: struct SNtAbsoluteSD * __ptr64 __cdecl CNtSecurityDescriptor::GetAbsoluteCopy(void) __ptr64
+?GetAbsoluteCopy@CNtSecurityDescriptor@@QEAAPEAUSNtAbsoluteSD@@XZ
+; public: virtual unsigned long __cdecl C9XAce::GetAccessMask(void) __ptr64
+?GetAccessMask@C9XAce@@UEAAKXZ
+; public: virtual unsigned long __cdecl CNtAce::GetAccessMask(void) __ptr64
+?GetAccessMask@CNtAce@@UEAAKXZ
+; long __cdecl GetAccessToken(void * __ptr64 & __ptr64)
+?GetAccessToken@@YAJAEAPEAX@Z
+; public: int __cdecl CNtAcl::GetAce(int,class CNtAce & __ptr64) __ptr64
+?GetAce@CNtAcl@@QEAAHHAEAVCNtAce@@@Z
+; public: class CNtAce * __ptr64 __cdecl CNtAcl::GetAce(int) __ptr64
+?GetAce@CNtAcl@@QEAAPEAVCNtAce@@H@Z
+; public: int __cdecl CNtAcl::GetAclSizeInfo(unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
+?GetAclSizeInfo@CNtAcl@@QEAAHPEAK0@Z
+; public: virtual long __cdecl CWbemCallSecurity::GetActiveImpersonation(void) __ptr64
+?GetActiveImpersonation@CWbemCallSecurity@@UEAAJXZ
+; public: int __cdecl CSafeArray::GetActualVarType(unsigned short * __ptr64) __ptr64
+?GetActualVarType@CSafeArray@@QEAAHPEAG@Z
+; public: static void * __ptr64 __cdecl CWin32DefaultArena::GetArenaHeap(void)
+?GetArenaHeap@CWin32DefaultArena@@SAPEAXXZ
+; public: struct tagSAFEARRAY * __ptr64 __cdecl CSafeArray::GetArray(void) __ptr64
+?GetArray@CSafeArray@@QEAAPEAUtagSAFEARRAY@@XZ
+; public: struct tagSAFEARRAY * __ptr64 __cdecl CSafeArray::GetArrayCopy(void) __ptr64
+?GetArrayCopy@CSafeArray@@QEAAPEAUtagSAFEARRAY@@XZ
+; public: void * __ptr64 * __ptr64 __cdecl CFlexArray::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CFlexArray@@QEAAPEAPEAXXZ
+; public: void * __ptr64 const * __ptr64 __cdecl CFlexArray::GetArrayPtr(void)const  __ptr64
+?GetArrayPtr@CFlexArray@@QEBAPEBQEAXXZ
+; public: void * __ptr64 * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CSmallArrayBlob@@QEAAPEAPEAXXZ
+; public: void * __ptr64 const * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void)const  __ptr64
+?GetArrayPtr@CSmallArrayBlob@@QEBAPEBQEAXXZ
+; public: unsigned short const * __ptr64 * __ptr64 __cdecl CWStringArray::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CWStringArray@@QEAAPEAPEBGXZ
+; public: void * __ptr64 __cdecl CFlexArray::GetAt(int)const  __ptr64
+?GetAt@CFlexArray@@QEBAPEAXH@Z
+; public: void * __ptr64 __cdecl CSmallArrayBlob::GetAt(int)const  __ptr64
+?GetAt@CSmallArrayBlob@@QEBAPEAXH@Z
+; public: class CVar & __ptr64 __cdecl CVarVector::GetAt(int) __ptr64
+?GetAt@CVarVector@@QEAAAEAVCVar@@H@Z
+; public: unsigned short * __ptr64 __cdecl CWStringArray::GetAt(int)const  __ptr64
+?GetAt@CWStringArray@@QEBAPEAGH@Z
+; public: virtual unsigned long __cdecl CWbemCallSecurity::GetAuthenticationId(struct _LUID & __ptr64) __ptr64
+?GetAuthenticationId@CWbemCallSecurity@@UEAAKAEAU_LUID@@@Z
+; public: unsigned short * __ptr64 __cdecl CVar::GetBSTR(void) __ptr64
+?GetBSTR@CVar@@QEAAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl CSafeArray::GetBSTRAt(int) __ptr64
+?GetBSTRAt@CSafeArray@@QEAAPEAGH@Z
+; public: unsigned short * __ptr64 __cdecl CSafeArray::GetBSTRAtThrow(int) __ptr64
+?GetBSTRAtThrow@CSafeArray@@QEAAPEAGH@Z
+; public: int __cdecl Registry::GetBinary(unsigned short * __ptr64,unsigned char * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?GetBinary@Registry@@QEAAHPEAGPEAPEAEPEAK@Z
+; public: struct tagBLOB * __ptr64 __cdecl CVar::GetBlob(void) __ptr64
+?GetBlob@CVar@@QEAAPEAUtagBLOB@@XZ
+; public: short __cdecl CVar::GetBool(void) __ptr64
+?GetBool@CVar@@QEAAFXZ
+; public: short __cdecl CSafeArray::GetBoolAt(int) __ptr64
+?GetBoolAt@CSafeArray@@QEAAFH@Z
+; public: unsigned char __cdecl CVar::GetByte(void) __ptr64
+?GetByte@CVar@@QEAAEXZ
+; public: unsigned char __cdecl CSafeArray::GetByteAt(int) __ptr64
+?GetByteAt@CSafeArray@@QEAAEH@Z
+; public: unsigned short const * __ptr64 __cdecl CWbemCallSecurity::GetCallerIdentity(void) __ptr64
+?GetCallerIdentity@CWbemCallSecurity@@QEAAPEBGXZ
+; public: char __cdecl CVar::GetChar(void) __ptr64
+?GetChar@CVar@@QEAADXZ
+; public: struct _GUID * __ptr64 __cdecl CVar::GetClsId(void) __ptr64
+?GetClsId@CVar@@QEAAPEAU_GUID@@XZ
+; public: static int __cdecl CMRCICompression::GetCompressedFileInfo(unsigned short const * __ptr64,enum CMRCICompression::CompressionLevel & __ptr64,unsigned long & __ptr64,struct _FILETIME & __ptr64,__int64 & __ptr64)
+?GetCompressedFileInfo@CMRCICompression@@SAHPEBGAEAW4CompressionLevel@1@AEAKAEAU_FILETIME@@AEA_J@Z
+; public: class CWbemTime  __cdecl CEventLogRecord::GetCreationTime(void) __ptr64
+?GetCreationTime@CEventLogRecord@@QEAA?AVCWbemTime@@XZ
+; private: int __cdecl CWbemTime::GetDMTF(int,unsigned long,unsigned short * __ptr64) __ptr64
+?GetDMTF@CWbemTime@@AEAAHHKPEAG@Z
+; public: unsigned long __cdecl CVar::GetDWORD(void) __ptr64
+?GetDWORD@CVar@@QEAAKXZ
+; public: int __cdecl Registry::GetDWORD(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetDWORD@Registry@@QEAAHPEAGPEAK@Z
+; public: int __cdecl Registry::GetDWORDStr(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetDWORDStr@Registry@@QEAAHPEAGPEAK@Z
+; public: int __cdecl CNtSecurityDescriptor::GetDacl(class CNtAcl & __ptr64) __ptr64
+?GetDacl@CNtSecurityDescriptor@@QEAAHAEAVCNtAcl@@@Z
+; public: class CNtAcl * __ptr64 __cdecl CNtSecurityDescriptor::GetDacl(void) __ptr64
+?GetDacl@CNtSecurityDescriptor@@QEAAPEAVCNtAcl@@XZ
+; public: unsigned char __cdecl CDateTimeParser::GetDay(void) __ptr64
+?GetDay@CDateTimeParser@@QEAAEXZ
+; public: struct IDispatch * __ptr64 __cdecl CVar::GetDispatch(void) __ptr64
+?GetDispatch@CVar@@QEAAPEAUIDispatch@@XZ
+; public: struct IDispatch * __ptr64 __cdecl CSafeArray::GetDispatchAt(int) __ptr64
+?GetDispatchAt@CSafeArray@@QEAAPEAUIDispatch@@H@Z
+; public: double __cdecl CVar::GetDouble(void) __ptr64
+?GetDouble@CVar@@QEAANXZ
+; public: double __cdecl CSafeArray::GetDoubleAt(int) __ptr64
+?GetDoubleAt@CSafeArray@@QEAANH@Z
+; public: int __cdecl CVarVector::GetElementSize(void) __ptr64
+?GetElementSize@CVarVector@@QEAAHXZ
+; public: struct IUnknown * __ptr64 __cdecl CVar::GetEmbeddedObject(void) __ptr64
+?GetEmbeddedObject@CVar@@QEAAPEAUIUnknown@@XZ
+; public: unsigned short const * __ptr64 __cdecl CLike::GetExpression(void) __ptr64
+?GetExpression@CLike@@QEAAPEBGXZ
+; public: int __cdecl CWbemTime::GetFILETIME(struct _FILETIME * __ptr64)const  __ptr64
+?GetFILETIME@CWbemTime@@QEBAHPEAU_FILETIME@@@Z
+; public: struct _FILETIME  __cdecl CVar::GetFileTime(void) __ptr64
+?GetFileTime@CVar@@QEAA?AU_FILETIME@@XZ
+; public: virtual class CWbemTime  __cdecl CBasicUnloadInstruction::GetFirstFiringTime(void)const  __ptr64
+?GetFirstFiringTime@CBasicUnloadInstruction@@UEBA?AVCWbemTime@@XZ
+; public: virtual class CWbemTime  __cdecl CUnloadInstruction::GetFirstFiringTime(void)const  __ptr64
+?GetFirstFiringTime@CUnloadInstruction@@UEBA?AVCWbemTime@@XZ
+; public: virtual int __cdecl C9XAce::GetFlags(void) __ptr64
+?GetFlags@C9XAce@@UEAAHXZ
+; public: virtual int __cdecl CNtAce::GetFlags(void) __ptr64
+?GetFlags@CNtAce@@UEAAHXZ
+; public: float __cdecl CVar::GetFloat(void) __ptr64
+?GetFloat@CVar@@QEAAMXZ
+; public: float __cdecl CSafeArray::GetFloatAt(int) __ptr64
+?GetFloatAt@CSafeArray@@QEAAMH@Z
+; private: unsigned short * __ptr64 __cdecl CPersistentConfig::GetFullFilename(unsigned short const * __ptr64) __ptr64
+?GetFullFilename@CPersistentConfig@@AEAAPEAGPEBG@Z
+; public: virtual long __cdecl C9XAce::GetFullUserName2(unsigned short * __ptr64 * __ptr64) __ptr64
+?GetFullUserName2@C9XAce@@UEAAJPEAPEAG@Z
+; public: virtual long __cdecl CNtAce::GetFullUserName2(unsigned short * __ptr64 * __ptr64) __ptr64
+?GetFullUserName2@CNtAce@@UEAAJPEAPEAG@Z
+; public: class CNtSid * __ptr64 __cdecl CNtSecurityDescriptor::GetGroup(void) __ptr64
+?GetGroup@CNtSecurityDescriptor@@QEAAPEAVCNtSid@@XZ
+; public: void * __ptr64 __cdecl CPropertyName::GetHandle(void) __ptr64
+?GetHandle@CPropertyName@@QEAAPEAXXZ
+; public: unsigned char __cdecl CDateTimeParser::GetHours(void) __ptr64
+?GetHours@CDateTimeParser@@QEAAEXZ
+; protected: virtual unsigned long __cdecl CExecQueue::GetIdleTimeout(class CExecQueue::CThreadRecord * __ptr64) __ptr64
+?GetIdleTimeout@CExecQueue@@MEAAKPEAVCThreadRecord@1@@Z
+; public: unsigned long __cdecl CBuffer::GetIndex(void) __ptr64
+?GetIndex@CBuffer@@QEAAKXZ
+; public: static class CWbemInterval  __cdecl CWbemInterval::GetInfinity(void)
+?GetInfinity@CWbemInterval@@SA?AV1@XZ
+; public: static class CWbemTime  __cdecl CWbemTime::GetInfinity(void)
+?GetInfinity@CWbemTime@@SA?AV1@XZ
+; public: int __cdecl CNtSid::GetInfo(unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?GetInfo@CNtSid@@QEAAHPEAPEAG0PEAK@Z
+; public: struct IUnknown * __ptr64 __cdecl CUnk::GetInnerUnknown(void) __ptr64
+?GetInnerUnknown@CUnk@@QEAAPEAUIUnknown@@XZ
+; public: virtual int __cdecl CBasicUnloadInstruction::GetInstructionType(void) __ptr64
+?GetInstructionType@CBasicUnloadInstruction@@UEAAHXZ
+; public: char * __ptr64 __cdecl CVar::GetLPSTR(void) __ptr64
+?GetLPSTR@CVar@@QEAAPEADXZ
+; public: char * __ptr64 __cdecl WString::GetLPSTR(void)const  __ptr64
+?GetLPSTR@WString@@QEBAPEADXZ
+; public: unsigned short * __ptr64 __cdecl CVar::GetLPWSTR(void) __ptr64
+?GetLPWSTR@CVar@@QEAAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl WString::GetLToken(unsigned short)const  __ptr64
+?GetLToken@WString@@QEBAPEAGG@Z
+; public: long __cdecl Registry::GetLastError(void) __ptr64
+?GetLastError@Registry@@QEAAJXZ
+; protected: void __cdecl CDateTimeParser::GetLocalInfoAndAlloc(unsigned long,unsigned short * __ptr64 & __ptr64) __ptr64
+?GetLocalInfoAndAlloc@CDateTimeParser@@IEAAXKAEAPEAG@Z
+; public: static long __cdecl CWbemTime::GetLocalOffsetForDate(struct _SYSTEMTIME const * __ptr64)
+?GetLocalOffsetForDate@CWbemTime@@SAJPEBU_SYSTEMTIME@@@Z
+; public: long __cdecl CWbemCriticalSection::GetLockCount(void) __ptr64
+?GetLockCount@CWbemCriticalSection@@QEAAJXZ
+; unsigned long __cdecl GetLoggingLevelEnabled(void)
+?GetLoggingLevelEnabled@@YAKXZ
+; public: long __cdecl CVar::GetLong(void) __ptr64
+?GetLong@CVar@@QEAAJXZ
+; public: long __cdecl CSafeArray::GetLongAt(int) __ptr64
+?GetLongAt@CSafeArray@@QEAAJH@Z
+; public: unsigned int __cdecl CDateTimeParser::GetMicroseconds(void) __ptr64
+?GetMicroseconds@CDateTimeParser@@QEAAIXZ
+; public: unsigned long __cdecl CWbemInterval::GetMilliseconds(void)const  __ptr64
+?GetMilliseconds@CWbemInterval@@QEBAKXZ
+; public: unsigned char __cdecl CDateTimeParser::GetMinutes(void) __ptr64
+?GetMinutes@CDateTimeParser@@QEAAEXZ
+; public: unsigned char __cdecl CDateTimeParser::GetMonth(void) __ptr64
+?GetMonth@CDateTimeParser@@QEAAEXZ
+; public: unsigned short * __ptr64 __cdecl Registry::GetMultiStr(unsigned short * __ptr64,unsigned long & __ptr64) __ptr64
+?GetMultiStr@Registry@@QEAAPEAGPEAGAEAK@Z
+; public: struct tagSAFEARRAY * __ptr64 __cdecl CVar::GetNewSafeArray(void) __ptr64
+?GetNewSafeArray@CVar@@QEAAPEAUtagSAFEARRAY@@XZ
+; public: struct tagSAFEARRAY * __ptr64 __cdecl CVarVector::GetNewSafeArray(void) __ptr64
+?GetNewSafeArray@CVarVector@@QEAAPEAUtagSAFEARRAY@@XZ
+; public: struct tagVARIANT * __ptr64 __cdecl CVar::GetNewVariant(void) __ptr64
+?GetNewVariant@CVar@@QEAAPEAUtagVARIANT@@XZ
+; public: class CExecRequest * __ptr64 __cdecl CExecRequest::GetNext(void) __ptr64
+?GetNext@CExecRequest@@QEAAPEAV1@XZ
+; public: virtual class CWbemTime  __cdecl CBasicUnloadInstruction::GetNextFiringTime(class CWbemTime,long * __ptr64)const  __ptr64
+?GetNextFiringTime@CBasicUnloadInstruction@@UEBA?AVCWbemTime@@V2@PEAJ@Z
+; public: int __cdecl CNtAcl::GetNumAces(void) __ptr64
+?GetNumAces@CNtAcl@@QEAAHXZ
+; public: long __cdecl CPropertyName::GetNumElements(void)const  __ptr64
+?GetNumElements@CPropertyName@@QEBAJXZ
+; public: long __cdecl CInstructionQueue::GetNumInstructions(void) __ptr64
+?GetNumInstructions@CInstructionQueue@@QEAAJXZ
+; public: unsigned short __cdecl CEventLogRecord::GetNumStrings(void) __ptr64
+?GetNumStrings@CEventLogRecord@@QEAAGXZ
+; public: int __cdecl CVar::GetOleType(void) __ptr64
+?GetOleType@CVar@@QEAAHXZ
+; public: class CNtSid * __ptr64 __cdecl CNtSecurityDescriptor::GetOwner(void) __ptr64
+?GetOwner@CNtSecurityDescriptor@@QEAAPEAVCNtSid@@XZ
+; public: unsigned long __cdecl CWbemCriticalSection::GetOwningThreadId(void) __ptr64
+?GetOwningThreadId@CWbemCriticalSection@@QEAAKXZ
+; public: long __cdecl CDatePart::GetPart(int,int * __ptr64) __ptr64
+?GetPart@CDatePart@@QEAAJHPEAH@Z
+; public: unsigned short * __ptr64 __cdecl CUnloadInstruction::GetPath(void) __ptr64
+?GetPath@CUnloadInstruction@@QEAAQEAGXZ
+; public: int __cdecl CPersistentConfig::GetPersistentCfgValue(unsigned long,unsigned long & __ptr64) __ptr64
+?GetPersistentCfgValue@CPersistentConfig@@QEAAHKAEAK@Z
+; public: virtual long __cdecl CWbemCallSecurity::GetPotentialImpersonation(void) __ptr64
+?GetPotentialImpersonation@CWbemCallSecurity@@UEAAJXZ
+; protected: void __cdecl CDateTimeParser::GetPreferedDateFormat(void) __ptr64
+?GetPreferedDateFormat@CDateTimeParser@@IEAAXXZ
+; public: long __cdecl CExecRequest::GetPriority(void) __ptr64
+?GetPriority@CExecRequest@@QEAAJXZ
+; private: unsigned short * __ptr64 __cdecl CTextTemplate::GetPropertyFromIUnknown(unsigned short * __ptr64,struct IUnknown * __ptr64) __ptr64
+?GetPropertyFromIUnknown@CTextTemplate@@AEAAPEAGPEAGPEAUIUnknown@@@Z
+; public: struct _ACCESS_ALLOWED_ACE * __ptr64 __cdecl CNtAce::GetPtr(void) __ptr64
+?GetPtr@CNtAce@@QEAAPEAU_ACCESS_ALLOWED_ACE@@XZ
+; public: struct _ACL * __ptr64 __cdecl CNtAcl::GetPtr(void) __ptr64
+?GetPtr@CNtAcl@@QEAAPEAU_ACL@@XZ
+; public: void * __ptr64 __cdecl CNtSecurityDescriptor::GetPtr(void) __ptr64
+?GetPtr@CNtSecurityDescriptor@@QEAAPEAXXZ
+; public: void * __ptr64 __cdecl CNtSid::GetPtr(void) __ptr64
+?GetPtr@CNtSid@@QEAAPEAXXZ
+; public: int __cdecl QL1_Parser::GetQueryClass(unsigned short * __ptr64,int) __ptr64
+?GetQueryClass@QL1_Parser@@QEAAHPEAGH@Z
+; public: int __cdecl CFlexQueue::GetQueueSize(void)const  __ptr64
+?GetQueueSize@CFlexQueue@@QEBAHXZ
+; public: long __cdecl CVarVector::GetRawArrayData(void * __ptr64,int) __ptr64
+?GetRawArrayData@CVarVector@@QEAAJPEAXH@Z
+; public: unsigned char * __ptr64 __cdecl CBuffer::GetRawData(void) __ptr64
+?GetRawData@CBuffer@@QEAAPEAEXZ
+; public: int __cdecl CSafeArray::GetRawData(void * __ptr64,int) __ptr64
+?GetRawData@CSafeArray@@QEAAHPEAXH@Z
+; public: void * __ptr64 __cdecl CVar::GetRawData(void) __ptr64
+?GetRawData@CVar@@QEAAPEAXXZ
+; public: long __cdecl CWbemCriticalSection::GetRecursionCount(void) __ptr64
+?GetRecursionCount@CWbemCriticalSection@@QEAAJXZ
+; public: int __cdecl CWQLScanner::GetReferencedAliases(class CWStringArray & __ptr64) __ptr64
+?GetReferencedAliases@CWQLScanner@@QEAAHAEAVCWStringArray@@@Z
+; public: int __cdecl CWQLScanner::GetReferencedTables(class CWStringArray & __ptr64) __ptr64
+?GetReferencedTables@CWQLScanner@@QEAAHAEAVCWStringArray@@@Z
+; public: int __cdecl CWbemTime::GetSYSTEMTIME(struct _SYSTEMTIME * __ptr64)const  __ptr64
+?GetSYSTEMTIME@CWbemTime@@QEBAHPEAU_SYSTEMTIME@@@Z
+; public: class CNtAcl * __ptr64 __cdecl CNtSecurityDescriptor::GetSacl(void) __ptr64
+?GetSacl@CNtSecurityDescriptor@@QEAAPEAVCNtAcl@@XZ
+; public: struct tagSAFEARRAY * __ptr64 __cdecl CVarVector::GetSafeArray(int) __ptr64
+?GetSafeArray@CVarVector@@QEAAPEAUtagSAFEARRAY@@H@Z
+; private: union SA_ArrayScalar  __cdecl CSafeArray::GetScalarAt(int) __ptr64
+?GetScalarAt@CSafeArray@@AEAA?ATSA_ArrayScalar@@H@Z
+; public: unsigned char __cdecl CDateTimeParser::GetSeconds(void) __ptr64
+?GetSeconds@CDateTimeParser@@QEAAEXZ
+; public: unsigned long __cdecl CWbemInterval::GetSeconds(void)const  __ptr64
+?GetSeconds@CWbemInterval@@QEBAKXZ
+; public: class CFlexArray const * __ptr64 __cdecl CWQLScanner::GetSelectedColumns(void) __ptr64
+?GetSelectedColumns@CWQLScanner@@QEAAPEBVCFlexArray@@XZ
+; public: virtual unsigned long __cdecl C9XAce::GetSerializedSize(void) __ptr64
+?GetSerializedSize@C9XAce@@UEAAKXZ
+; public: virtual unsigned long __cdecl CNtAce::GetSerializedSize(void) __ptr64
+?GetSerializedSize@CNtAce@@UEAAKXZ
+; public: short __cdecl CVar::GetShort(void) __ptr64
+?GetShort@CVar@@QEAAFXZ
+; public: short __cdecl CSafeArray::GetShortAt(int) __ptr64
+?GetShortAt@CSafeArray@@QEAAFH@Z
+; public: int __cdecl CNtAce::GetSid(class CNtSid & __ptr64) __ptr64
+?GetSid@CNtAce@@QEAAHAEAVCNtSid@@@Z
+; public: class CNtSid * __ptr64 __cdecl CNtAce::GetSid(void) __ptr64
+?GetSid@CNtAce@@QEAAPEAVCNtSid@@XZ
+; private: long __cdecl CIdentitySecurity::GetSidFromThreadOrProcess(class CNtSid & __ptr64) __ptr64
+?GetSidFromThreadOrProcess@CIdentitySecurity@@AEAAJAEAVCNtSid@@@Z
+; protected: unsigned short const * __ptr64 __cdecl CAbstractQl1Parser::GetSinglePropertyName(void) __ptr64
+?GetSinglePropertyName@CAbstractQl1Parser@@IEAAPEBGXZ
+; public: unsigned long __cdecl CExecQueue::GetSitoutPenalty(void) __ptr64
+?GetSitoutPenalty@CExecQueue@@QEAAKXZ
+; public: unsigned long __cdecl CBuffer::GetSize(void) __ptr64
+?GetSize@CBuffer@@QEAAKXZ
+; public: unsigned long __cdecl CNtAce::GetSize(void) __ptr64
+?GetSize@CNtAce@@QEAAKXZ
+; public: unsigned long __cdecl CNtAcl::GetSize(void) __ptr64
+?GetSize@CNtAcl@@QEAAKXZ
+; public: unsigned long __cdecl CNtSecurityDescriptor::GetSize(void) __ptr64
+?GetSize@CNtSecurityDescriptor@@QEAAKXZ
+; public: unsigned long __cdecl CNtSid::GetSize(void) __ptr64
+?GetSize@CNtSid@@QEAAKXZ
+; public: virtual unsigned long __cdecl C9XAce::GetStatus(void) __ptr64
+?GetStatus@C9XAce@@UEAAKXZ
+; public: virtual unsigned long __cdecl CNtAce::GetStatus(void) __ptr64
+?GetStatus@CNtAce@@UEAAKXZ
+; public: unsigned long __cdecl CNtAcl::GetStatus(void) __ptr64
+?GetStatus@CNtAcl@@QEAAKXZ
+; public: unsigned long __cdecl CNtSecurityDescriptor::GetStatus(void) __ptr64
+?GetStatus@CNtSecurityDescriptor@@QEAAKXZ
+; public: unsigned long __cdecl CNtSid::GetStatus(void) __ptr64
+?GetStatus@CNtSid@@QEAAKXZ
+; public: int __cdecl Registry::GetStr(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
+?GetStr@Registry@@QEAAHPEAGPEAPEAG@Z
+; public: unsigned short const * __ptr64 __cdecl CInsertionString::GetString(void) __ptr64
+?GetString@CInsertionString@@QEAAPEBGXZ
+; public: unsigned short const * __ptr64 __cdecl CEventLogRecord::GetStringAt(int) __ptr64
+?GetStringAt@CEventLogRecord@@QEAAPEBGH@Z
+; public: unsigned short const * __ptr64 __cdecl CPropertyName::GetStringAt(long)const  __ptr64
+?GetStringAt@CPropertyName@@QEBAPEBGJ@Z
+; public: unsigned short * __ptr64 __cdecl CPropertyName::GetText(void) __ptr64
+?GetText@CPropertyName@@QEAAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl CVar::GetText(long,long,unsigned short const * __ptr64) __ptr64
+?GetText@CVar@@QEAAPEAGJJPEBG@Z
+; public: unsigned short * __ptr64 __cdecl CVarVector::GetText(long,long) __ptr64
+?GetText@CVarVector@@QEAAPEAGJJ@Z
+; public: unsigned short * __ptr64 __cdecl QL_LEVEL_1_RPN_EXPRESSION::GetText(void) __ptr64
+?GetText@QL_LEVEL_1_RPN_EXPRESSION@@QEAAPEAGXZ
+; public: unsigned short * __ptr64 __cdecl QL_LEVEL_1_TOKEN::GetText(void) __ptr64
+?GetText@QL_LEVEL_1_TOKEN@@QEAAPEAGXZ
+; public: int __cdecl CNtSid::GetTextSid(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetTextSid@CNtSid@@QEAAHPEAGPEAK@Z
+; public: static class CWbemTime  __cdecl CWbemTime::GetTickCount(void)
+?GetTickCount@CWbemTime@@SA?AV1@XZ
+; public: static unsigned long __cdecl CExecQueue::GetTlsIndex(void)
+?GetTlsIndex@CExecQueue@@SAKXZ
+; public: virtual void * __ptr64 __cdecl CWbemCallSecurity::GetToken(void) __ptr64
+?GetToken@CWbemCallSecurity@@UEAAPEAXXZ
+; public: virtual int __cdecl C9XAce::GetType(void) __ptr64
+?GetType@C9XAce@@UEAAHXZ
+; public: virtual unsigned short const * __ptr64 __cdecl CExecQueue::GetType(void) __ptr64
+?GetType@CExecQueue@@UEAAPEBGXZ
+; public: virtual int __cdecl CNtAce::GetType(void) __ptr64
+?GetType@CNtAce@@UEAAHXZ
+; public: int __cdecl CSafeArray::GetType(void) __ptr64
+?GetType@CSafeArray@@QEAAHXZ
+; public: int __cdecl CVar::GetType(void) __ptr64
+?GetType@CVar@@QEAAHXZ
+; public: int __cdecl CVarVector::GetType(void) __ptr64
+?GetType@CVarVector@@QEAAHXZ
+; public: int __cdecl Registry::GetType(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
+?GetType@Registry@@QEAAHPEAGPEAK@Z
+; public: unsigned short * __ptr64 __cdecl CVar::GetTypeText(void) __ptr64
+?GetTypeText@CVar@@QEAAPEAGXZ
+; public: int __cdecl CDateTimeParser::GetUTC(void) __ptr64
+?GetUTC@CDateTimeParser@@QEAAHXZ
+; public: struct IUnknown * __ptr64 __cdecl CUnk::GetUnknown(void) __ptr64
+?GetUnknown@CUnk@@QEAAPEAUIUnknown@@XZ
+; public: struct IUnknown * __ptr64 __cdecl CUnkInternal::GetUnknown(void) __ptr64
+?GetUnknown@CUnkInternal@@QEAAPEAUIUnknown@@XZ
+; public: struct IUnknown * __ptr64 __cdecl CVar::GetUnknown(void) __ptr64
+?GetUnknown@CVar@@QEAAPEAUIUnknown@@XZ
+; public: struct IUnknown * __ptr64 __cdecl CSafeArray::GetUnknownAt(int) __ptr64
+?GetUnknownAt@CSafeArray@@QEAAPEAUIUnknown@@H@Z
+; public: int __cdecl CDMTFParser::GetValue(int) __ptr64
+?GetValue@CDMTFParser@@QEAAHH@Z
+; public: class CVarVector * __ptr64 __cdecl CVar::GetVarVector(void) __ptr64
+?GetVarVector@CVar@@QEAAPEAVCVarVector@@XZ
+; public: struct tagVARIANT  __cdecl CSafeArray::GetVariantAt(int) __ptr64
+?GetVariantAt@CSafeArray@@QEAA?AUtagVARIANT@@H@Z
+; unsigned short * __ptr64 __cdecl GetWMIADAPCmdLine(int)
+?GetWMIADAPCmdLine@@YAPEAGH@Z
+; public: void * __ptr64 __cdecl CExecRequest::GetWhenDoneHandle(void) __ptr64
+?GetWhenDoneHandle@CExecRequest@@QEAAPEAXXZ
+; public: unsigned short __cdecl CVar::GetWord(void) __ptr64
+?GetWord@CVar@@QEAAGXZ
+; public: unsigned int __cdecl CDateTimeParser::GetYear(void) __ptr64
+?GetYear@CDateTimeParser@@QEAAIXZ
+; public: static class CWbemTime  __cdecl CWbemTime::GetZero(void)
+?GetZero@CWbemTime@@SA?AV1@XZ
+; protected: bool __cdecl CFlexQueue::Grow(void) __ptr64
+?Grow@CFlexQueue@@IEAA_NXZ
+; protected: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::Grow(void) __ptr64
+?Grow@CSmallArrayBlob@@IEAAPEAV1@XZ
+; public: long __cdecl CHaltable::Halt(void) __ptr64
+?Halt@CHaltable@@QEAAJXZ
+; private: unsigned short * __ptr64 __cdecl CTextTemplate::HandleEmbeddedObjectProperties(unsigned short * __ptr64,struct IWbemClassObject * __ptr64) __ptr64
+?HandleEmbeddedObjectProperties@CTextTemplate@@AEAAPEAGPEAGPEAUIWbemClassObject@@@Z
+; public: int __cdecl CNtSecurityDescriptor::HasOwner(void) __ptr64
+?HasOwner@CNtSecurityDescriptor@@QEAAHXZ
+; public: virtual long __cdecl CWbemCallSecurity::ImpersonateClient(void) __ptr64
+?ImpersonateClient@CWbemCallSecurity@@UEAAJXZ
+; public: virtual void __cdecl CQl1ParseSink::InOrder(long) __ptr64
+?InOrder@CQl1ParseSink@@UEAAXJ@Z
+; protected: void __cdecl CFlexQueue::IncrementIndex(int & __ptr64) __ptr64
+?IncrementIndex@CFlexQueue@@IEAAXAEAH@Z
+; public: void __cdecl CPropertyName::Init(void) __ptr64
+?Init@CPropertyName@@QEAAXXZ
+; private: void __cdecl CVar::Init(void) __ptr64
+?Init@CVar@@AEAAXXZ
+; protected: static void __cdecl CExecQueue::InitTls(void)
+?InitTls@CExecQueue@@KAXXZ
+; protected: static void __cdecl CAbstractQl1Parser::InitToken(struct _tag_WbemQl1Token * __ptr64)
+?InitToken@CAbstractQl1Parser@@KAXPEAU_tag_WbemQl1Token@@@Z
+; protected: void __cdecl CSmallArrayBlob::Initialize(int) __ptr64
+?Initialize@CSmallArrayBlob@@IEAAXH@Z
+; public: virtual int __cdecl CUnk::Initialize(void) __ptr64
+?Initialize@CUnk@@UEAAHXZ
+; protected: virtual long __cdecl CExecQueue::InitializeThread(void) __ptr64
+?InitializeThread@CExecQueue@@MEAAJXZ
+; public: int __cdecl CFlexArray::InsertAt(int,void * __ptr64) __ptr64
+?InsertAt@CFlexArray@@QEAAHHPEAX@Z
+; public: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::InsertAt(int,void * __ptr64) __ptr64
+?InsertAt@CSmallArrayBlob@@QEAAPEAV1@HPEAX@Z
+; public: int __cdecl CVarVector::InsertAt(int,class CVar & __ptr64) __ptr64
+?InsertAt@CVarVector@@QEAAHHAEAVCVar@@@Z
+; public: int __cdecl CWStringArray::InsertAt(int,unsigned short const * __ptr64) __ptr64
+?InsertAt@CWStringArray@@QEAAHHPEBG@Z
+; public: unsigned long __cdecl CUnkInternal::InternalAddRef(void) __ptr64
+?InternalAddRef@CUnkInternal@@QEAAKXZ
+; public: long __cdecl CUnkInternal::InternalQueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?InternalQueryInterface@CUnkInternal@@QEAAJAEBU_GUID@@PEAPEAX@Z
+; public: long __cdecl CVarVector::InternalRawArrayAccess(void) __ptr64
+?InternalRawArrayAccess@CVarVector@@QEAAJXZ
+; public: unsigned long __cdecl CUnkInternal::InternalRelease(void) __ptr64
+?InternalRelease@CUnkInternal@@QEAAKXZ
+; public: static void __cdecl CWStringArray::Intersection(class CWStringArray & __ptr64,class CWStringArray & __ptr64,class CWStringArray & __ptr64)
+?Intersection@CWStringArray@@SAXAEAV1@00@Z
+; int __cdecl IsAdmin(void * __ptr64)
+?IsAdmin@@YAHPEAX@Z
+; protected: virtual int __cdecl CExecQueue::IsAppropriateThread(void) __ptr64
+?IsAppropriateThread@CExecQueue@@MEAAHXZ
+; public: int __cdecl CVar::IsDataNull(void) __ptr64
+?IsDataNull@CVar@@QEAAHXZ
+; private: int __cdecl CTextTemplate::IsEmbeddedObjectProperty(unsigned short * __ptr64) __ptr64
+?IsEmbeddedObjectProperty@CTextTemplate@@AEAAHPEAG@Z
+; public: int __cdecl CInsertionString::IsEmpty(void) __ptr64
+?IsEmpty@CInsertionString@@QEAAHXZ
+; public: int __cdecl CInstructionQueue::IsEmpty(void) __ptr64
+?IsEmpty@CInstructionQueue@@QEAAHXZ
+; public: int __cdecl CCheckedInCritSec::IsEntered(void) __ptr64
+?IsEntered@CCheckedInCritSec@@QEAAHXZ
+; public: int __cdecl CEnterWbemCriticalSection::IsEntered(void) __ptr64
+?IsEntered@CEnterWbemCriticalSection@@QEAAHXZ
+; public: int __cdecl CWbemInterval::IsFinite(void)const  __ptr64
+?IsFinite@CWbemInterval@@QEBAHXZ
+; public: int __cdecl CWbemTime::IsFinite(void)const  __ptr64
+?IsFinite@CWbemTime@@QEBAHXZ
+; public: int __cdecl CHaltable::IsHalted(void) __ptr64
+?IsHalted@CHaltable@@QEAAHXZ
+; protected: virtual int __cdecl CExecQueue::IsIdleTooLong(class CExecQueue::CThreadRecord * __ptr64,unsigned long) __ptr64
+?IsIdleTooLong@CExecQueue@@MEAAHPEAVCThreadRecord@1@K@Z
+; public: virtual int __cdecl CWbemCallSecurity::IsImpersonating(void) __ptr64
+?IsImpersonating@CWbemCallSecurity@@UEAAHXZ
+; int __cdecl IsInAdminGroup(void)
+?IsInAdminGroup@@YAHXZ
+; public: bool __cdecl CDMTFParser::IsInterval(void) __ptr64
+?IsInterval@CDMTFParser@@QEAA_NXZ
+; int __cdecl IsLocalService(void * __ptr64)
+?IsLocalService@@YAHPEAX@Z
+; int __cdecl IsNT(void)
+?IsNT@@YAHXZ
+; int __cdecl IsNetworkService(void * __ptr64)
+?IsNetworkService@@YAHPEAX@Z
+; int __cdecl IsNtSetupRunning(void)
+?IsNtSetupRunning@@YAHXZ
+; public: int __cdecl CVar::IsNull(void) __ptr64
+?IsNull@CVar@@QEAAHXZ
+; public: bool __cdecl CExecRequest::IsOk(void) __ptr64
+?IsOk@CExecRequest@@QEAA_NXZ
+; public: int __cdecl CVarVector::IsOptimized(void) __ptr64
+?IsOptimized@CVarVector@@QEAAHXZ
+; bool __cdecl IsPrivilegePresent(void * __ptr64,unsigned short const * __ptr64)
+?IsPrivilegePresent@@YA_NPEAXPEBG@Z
+; protected: virtual int __cdecl CExecQueue::IsSTA(void) __ptr64
+?IsSTA@CExecQueue@@MEAAHXZ
+; public: static int __cdecl CExecQueue::IsSTAThread(void)
+?IsSTAThread@CExecQueue@@SAHXZ
+; protected: virtual int __cdecl CExecQueue::IsSuitableThread(class CExecQueue::CThreadRecord * __ptr64,class CExecRequest * __ptr64) __ptr64
+?IsSuitableThread@CExecQueue@@MEAAHPEAVCThreadRecord@1@PEAVCExecRequest@@@Z
+; public: bool __cdecl CDMTFParser::IsUsed(int) __ptr64
+?IsUsed@CDMTFParser@@QEAA_NH@Z
+; public: bool __cdecl CNtSid::IsUser(void) __ptr64
+?IsUser@CNtSid@@QEAA_NXZ
+; public: static int __cdecl CNtSecurity::IsUserInGroup(void * __ptr64,class CNtSid & __ptr64)
+?IsUserInGroup@CNtSecurity@@SAHPEAXAEAVCNtSid@@@Z
+; public: bool __cdecl CDMTFParser::IsValid(void) __ptr64
+?IsValid@CDMTFParser@@QEAA_NXZ
+; public: int __cdecl CNtAcl::IsValid(void) __ptr64
+?IsValid@CNtAcl@@QEAAHXZ
+; public: int __cdecl CNtSecurityDescriptor::IsValid(void) __ptr64
+?IsValid@CNtSecurityDescriptor@@QEAAHXZ
+; public: int __cdecl CNtSid::IsValid(void) __ptr64
+?IsValid@CNtSid@@QEAAHXZ
+; protected: int __cdecl CDateTimeParser::IsValidAmPmString(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64 const) __ptr64
+?IsValidAmPmString@CDateTimeParser@@IEAAHPEAGPEBGQEAPEAG@Z
+; protected: int __cdecl CDateTimeParser::IsValidColonMillisecond(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
+?IsValidColonMillisecond@CDateTimeParser@@IEAAHPEAGPEBG@Z
+; public: int __cdecl CDateTimeParser::IsValidDateTime(void) __ptr64
+?IsValidDateTime@CDateTimeParser@@QEAAHXZ
+; protected: int __cdecl CDateTimeParser::IsValidDayNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
+?IsValidDayNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
+; protected: int __cdecl CDateTimeParser::IsValidDotMillisecond(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
+?IsValidDotMillisecond@CDateTimeParser@@IEAAHPEAGPEBG@Z
+; int __cdecl IsValidElementName2(unsigned short const * __ptr64,unsigned long,int)
+?IsValidElementName2@@YAHPEBGKH@Z
+; int __cdecl IsValidElementName(unsigned short const * __ptr64,unsigned long)
+?IsValidElementName@@YAHPEBGK@Z
+; protected: int __cdecl CDateTimeParser::IsValidHourNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
+?IsValidHourNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
+; protected: int __cdecl CDateTimeParser::IsValidMinuteNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
+?IsValidMinuteNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
+; protected: int __cdecl CDateTimeParser::IsValidMonthNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
+?IsValidMonthNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
+; protected: int __cdecl CDateTimeParser::IsValidMonthString(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64 const,unsigned short * __ptr64 * __ptr64 const) __ptr64
+?IsValidMonthString@CDateTimeParser@@IEAAHPEAGPEBGQEAPEAG2@Z
+; protected: int __cdecl CDateTimeParser::IsValidSecondNumber(unsigned short * __ptr64,unsigned short const * __ptr64) __ptr64
+?IsValidSecondNumber@CDateTimeParser@@IEAAHPEAGPEBG@Z
+; public: static int __cdecl CVarVector::IsValidVectorArray(int,struct tagSAFEARRAY * __ptr64)
+?IsValidVectorArray@CVarVector@@SAHHPEAUtagSAFEARRAY@@@Z
+; public: static int __cdecl CVarVector::IsValidVectorType(int)
+?IsValidVectorType@CVarVector@@SAHH@Z
+; protected: int __cdecl CDateTimeParser::IsValidYearMonthDayNumber(unsigned short * __ptr64) __ptr64
+?IsValidYearMonthDayNumber@CDateTimeParser@@IEAAHPEAG@Z
+; protected: int __cdecl CDateTimeParser::IsValidYearNumber(unsigned short * __ptr64,unsigned short const * __ptr64,int) __ptr64
+?IsValidYearNumber@CDateTimeParser@@IEAAHPEAGPEBGH@Z
+; int __cdecl IsW2KOrMore(void)
+?IsW2KOrMore@@YAHXZ
+; public: bool __cdecl CDMTFParser::IsWildcard(int) __ptr64
+?IsWildcard@CDMTFParser@@QEAA_NH@Z
+; public: int __cdecl CWbemInterval::IsZero(void)const  __ptr64
+?IsZero@CWbemInterval@@QEBAHXZ
+; public: int __cdecl CWbemTime::IsZero(void)const  __ptr64
+?IsZero@CWbemTime@@QEBAHXZ
+; public: void __cdecl CCheckedInCritSec::Leave(void) __ptr64
+?Leave@CCheckedInCritSec@@QEAAXXZ
+; public: void __cdecl CCritSec::Leave(void) __ptr64
+?Leave@CCritSec@@QEAAXXZ
+; public: void __cdecl CExecQueue::Leave(void) __ptr64
+?Leave@CExecQueue@@QEAAXXZ
+; public: void __cdecl CStaticCritSec::Leave(void) __ptr64
+?Leave@CStaticCritSec@@QEAAXXZ
+; public: void __cdecl CWbemCriticalSection::Leave(void) __ptr64
+?Leave@CWbemCriticalSection@@QEAAXXZ
+; public: int __cdecl WString::Length(void)const  __ptr64
+?Length@WString@@QEBAHXZ
+; public: void __cdecl CLockableFlexArray<class CStaticCritSec>::Lock(void) __ptr64
+?Lock@?$CLockableFlexArray@VCStaticCritSec@@@@QEAAXXZ
+; public: virtual long __cdecl CBuffer::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long) __ptr64
+?LockRegion@CBuffer@@UEAAJT_ULARGE_INTEGER@@0K@Z
+; protected: virtual void __cdecl CExecQueue::LogError(class CExecRequest * __ptr64,int) __ptr64
+?LogError@CExecQueue@@MEAAXPEAVCExecRequest@@H@Z
+; int __cdecl LoggingLevelEnabled(unsigned long)
+?LoggingLevelEnabled@@YAHK@Z
+; public: static class CWbemCallSecurity * __ptr64 __cdecl CWbemCallSecurity::MakeInternalCopyOfThread(void)
+?MakeInternalCopyOfThread@CWbemCallSecurity@@SAPEAV1@XZ
+; public: int __cdecl CVarVector::MakeOptimized(int,int,int) __ptr64
+?MakeOptimized@CVarVector@@QEAAHHHH@Z
+; public: virtual long __cdecl CTimerInstruction::MarkForRemoval(void) __ptr64
+?MarkForRemoval@CTimerInstruction@@UEAAJXZ
+; public: bool __cdecl CLike::Match(unsigned short const * __ptr64) __ptr64
+?Match@CLike@@QEAA_NPEBG@Z
+; protected: bool __cdecl CLike::MatchSet(unsigned short const * __ptr64,unsigned short const * __ptr64,int & __ptr64) __ptr64
+?MatchSet@CLike@@IEAA_NPEBG0AEAH@Z
+; public: int __cdecl Registry::MoveToSubkey(unsigned short * __ptr64) __ptr64
+?MoveToSubkey@Registry@@QEAAHPEAG@Z
+; public: unsigned int __cdecl CBaseMrciCompression::Mrci1Decompress(unsigned char * __ptr64,unsigned int,unsigned char * __ptr64,unsigned int) __ptr64
+?Mrci1Decompress@CBaseMrciCompression@@QEAAIPEAEI0I@Z
+; public: unsigned int __cdecl CBaseMrciCompression::Mrci1MaxCompress(unsigned char * __ptr64,unsigned int,unsigned char * __ptr64,unsigned int) __ptr64
+?Mrci1MaxCompress@CBaseMrciCompression@@QEAAIPEAEI0I@Z
+; public: unsigned int __cdecl CBaseMrciCompression::Mrci2Decompress(unsigned char * __ptr64,unsigned int,unsigned char * __ptr64,unsigned int) __ptr64
+?Mrci2Decompress@CBaseMrciCompression@@QEAAIPEAEI0I@Z
+; public: unsigned int __cdecl CBaseMrciCompression::Mrci2MaxCompress(unsigned char * __ptr64,unsigned int,unsigned char * __ptr64,unsigned int) __ptr64
+?Mrci2MaxCompress@CBaseMrciCompression@@QEAAIPEAEI0I@Z
+; protected: virtual int __cdecl CAbstractQl1Parser::Next(int) __ptr64
+?Next@CAbstractQl1Parser@@MEAAHH@Z
+; private: int __cdecl CWQLScanner::Next(void) __ptr64
+?Next@CWQLScanner@@AEAAHXZ
+; int __cdecl NormalizeCimDateTime(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64)
+?NormalizeCimDateTime@@YAHPEBGPEAPEAG@Z
+; protected: virtual void __cdecl CTimerGenerator::NotifyStartingThread(void) __ptr64
+?NotifyStartingThread@CTimerGenerator@@MEAAXXZ
+; protected: virtual void __cdecl CTimerGenerator::NotifyStoppingThread(void) __ptr64
+?NotifyStoppingThread@CTimerGenerator@@MEAAXXZ
+; public: virtual int __cdecl CContainerControl::ObjectCreated(struct IUnknown * __ptr64) __ptr64
+?ObjectCreated@CContainerControl@@UEAAHPEAUIUnknown@@@Z
+; public: virtual void __cdecl CContainerControl::ObjectDestroyed(struct IUnknown * __ptr64) __ptr64
+?ObjectDestroyed@CContainerControl@@UEAAXPEAUIUnknown@@@Z
+; public: virtual int __cdecl CUnk::OnInitialize(void) __ptr64
+?OnInitialize@CUnk@@UEAAHXZ
+; public: int __cdecl CEventLog::Open(void) __ptr64
+?Open@CEventLog@@QEAAHXZ
+; public: int __cdecl Registry::Open(struct HKEY__ * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
+?Open@Registry@@QEAAHPEAUHKEY__@@PEAGK@Z
+; public: class CNtAcl * __ptr64 __cdecl CNtAcl::OrderAces(void) __ptr64
+?OrderAces@CNtAcl@@QEAAPEAV1@XZ
+; public: int __cdecl CAbstractQl1Parser::Parse(class CQl1ParseSink * __ptr64,int) __ptr64
+?Parse@CAbstractQl1Parser@@QEAAHPEAVCQl1ParseSink@@H@Z
+; public: int __cdecl CWQLScanner::Parse(void) __ptr64
+?Parse@CWQLScanner@@QEAAHXZ
+; public: int __cdecl QL1_Parser::Parse(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64 * __ptr64) __ptr64
+?Parse@QL1_Parser@@QEAAHPEAPEAUQL_LEVEL_1_RPN_EXPRESSION@@@Z
+; protected: void __cdecl CDMTFParser::ParseAbsolute(unsigned short const * __ptr64) __ptr64
+?ParseAbsolute@CDMTFParser@@IEAAXPEBG@Z
+; protected: void __cdecl CDMTFParser::ParseDate(unsigned short const * __ptr64) __ptr64
+?ParseDate@CDMTFParser@@IEAAXPEBG@Z
+; protected: void __cdecl CDMTFParser::ParseInterval(unsigned short const * __ptr64) __ptr64
+?ParseInterval@CDMTFParser@@IEAAXPEBG@Z
+; protected: int __cdecl CDMTFParser::ParsePart(unsigned short const * __ptr64,int,int,int * __ptr64,int,int) __ptr64
+?ParsePart@CDMTFParser@@IEAAHPEBGHHPEAHHH@Z
+; public: void * __ptr64 __cdecl CFlexQueue::Peek(void) __ptr64
+?Peek@CFlexQueue@@QEAAPEAXXZ
+; private: unsigned short * __ptr64 __cdecl CTextTemplate::ProcessArray(struct tagVARIANT const & __ptr64,unsigned short * __ptr64) __ptr64
+?ProcessArray@CTextTemplate@@AEAAPEAGAEBUtagVARIANT@@PEAG@Z
+; private: int __cdecl CWQLScanner::Pushback(struct WSLexToken * __ptr64) __ptr64
+?Pushback@CWQLScanner@@AEAAHPEAUWSLexToken@@@Z
+; public: virtual long __cdecl CWbemCallSecurity::QueryBlanket(unsigned long * __ptr64,unsigned long * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
+?QueryBlanket@CWbemCallSecurity@@UEAAJPEAK0PEAPEAG00PEAPEAX0@Z
+; public: virtual long __cdecl CBuffer::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CBuffer@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CUnk::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CUnk@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CUnkInternal::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CUnkInternal@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: virtual long __cdecl CWbemCallSecurity::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
+?QueryInterface@CWbemCallSecurity@@UEAAJAEBU_GUID@@PEAPEAX@Z
+; public: static unsigned long __cdecl CExecQueue::QueueUnblockedWaitForSingleObject(void * __ptr64,unsigned long)
+?QueueUnblockedWaitForSingleObject@CExecQueue@@SAKPEAXK@Z
+; public: static unsigned long __cdecl CExecQueue::QueueWaitForSingleObject(void * __ptr64,unsigned long)
+?QueueWaitForSingleObject@CExecQueue@@SAKPEAXK@Z
+; public: virtual long __cdecl CBuffer::Read(void * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?Read@CBuffer@@UEAAJPEAXKPEAK@Z
+; int __cdecl ReadI64(unsigned short const * __ptr64,__int64 & __ptr64 __ptr64)
+?ReadI64@@YAHPEBGAEFA_J@Z
+; public: long __cdecl CBuffer::ReadLPWSTR(unsigned short const * __ptr64 & __ptr64) __ptr64
+?ReadLPWSTR@CBuffer@@QEAAJAEAPEBG@Z
+; int __cdecl ReadUI64(unsigned short const * __ptr64,unsigned __int64 & __ptr64 __ptr64)
+?ReadUI64@@YAHPEBGAEFA_K@Z
+; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Realloc(void * __ptr64,unsigned __int64) __ptr64
+?Realloc@CWin32DefaultArena@@UEAAPEAXPEAX_K@Z
+; private: int __cdecl CWQLScanner::ReduceSql89Joins(void) __ptr64
+?ReduceSql89Joins@CWQLScanner@@AEAAHXZ
+; private: int __cdecl CWQLScanner::ReduceSql92Joins(void) __ptr64
+?ReduceSql92Joins@CWQLScanner@@AEAAHXZ
+; protected: static void __cdecl CExecQueue::Register(class CExecQueue::CThreadRecord * __ptr64)
+?Register@CExecQueue@@KAXPEAVCThreadRecord@1@@Z
+; void __cdecl RegisterDLL(struct HINSTANCE__ * __ptr64,struct _GUID,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
+?RegisterDLL@@YAXPEAUHINSTANCE__@@U_GUID@@PEAG22@Z
+; long __cdecl RegisterDllAppid(struct HINSTANCE__ * __ptr64,struct _GUID,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
+?RegisterDllAppid@@YAJPEAUHINSTANCE__@@U_GUID@@PEAG222@Z
+; public: virtual void __cdecl CBasicUnloadInstruction::Release(void) __ptr64
+?Release@CBasicUnloadInstruction@@UEAAXXZ
+; public: virtual unsigned long __cdecl CBuffer::Release(void) __ptr64
+?Release@CBuffer@@UEAAKXZ
+; public: virtual void __cdecl CContainerControl::Release(struct IUnknown * __ptr64) __ptr64
+?Release@CContainerControl@@UEAAXPEAUIUnknown@@@Z
+; public: void __cdecl CExecQueue::Release(void) __ptr64
+?Release@CExecQueue@@QEAAXXZ
+; public: virtual unsigned long __cdecl CUnk::Release(void) __ptr64
+?Release@CUnk@@UEAAKXZ
+; public: virtual unsigned long __cdecl CUnkInternal::Release(void) __ptr64
+?Release@CUnkInternal@@UEAAKXZ
+; public: virtual unsigned long __cdecl CWbemCallSecurity::Release(void) __ptr64
+?Release@CWbemCallSecurity@@UEAAKXZ
+; public: void __cdecl QL_LEVEL_1_RPN_EXPRESSION::Release(void) __ptr64
+?Release@QL_LEVEL_1_RPN_EXPRESSION@@QEAAXXZ
+; public: class CWbemInterval  __cdecl CWbemTime::RemainsUntil(class CWbemTime const & __ptr64)const  __ptr64
+?RemainsUntil@CWbemTime@@QEBA?AVCWbemInterval@@AEBV1@@Z
+; public: long __cdecl CInstructionQueue::Remove(class CInstructionTest * __ptr64,class CTimerInstruction * __ptr64 * __ptr64) __ptr64
+?Remove@CInstructionQueue@@QEAAJPEAVCInstructionTest@@PEAPEAVCTimerInstruction@@@Z
+; public: virtual long __cdecl CMinMaxLimitControl::Remove(unsigned long) __ptr64
+?Remove@CMinMaxLimitControl@@UEAAJK@Z
+; public: long __cdecl CTimerGenerator::Remove(class CInstructionTest * __ptr64) __ptr64
+?Remove@CTimerGenerator@@QEAAJPEAVCInstructionTest@@@Z
+; public: int __cdecl CFlexArray::RemoveAt(int) __ptr64
+?RemoveAt@CFlexArray@@QEAAHH@Z
+; public: int __cdecl CSafeArray::RemoveAt(int) __ptr64
+?RemoveAt@CSafeArray@@QEAAHH@Z
+; public: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::RemoveAt(int,void * __ptr64 * __ptr64) __ptr64
+?RemoveAt@CSmallArrayBlob@@QEAAPEAV1@HPEAPEAX@Z
+; public: int __cdecl CVarVector::RemoveAt(int) __ptr64
+?RemoveAt@CVarVector@@QEAAHH@Z
+; public: int __cdecl CWStringArray::RemoveAt(int) __ptr64
+?RemoveAt@CWStringArray@@QEAAHH@Z
+; public: virtual long __cdecl CLimitControl::RemoveMember(void) __ptr64
+?RemoveMember@CLimitControl@@UEAAJXZ
+; public: int __cdecl CWStringArray::ReplaceAt(int,unsigned short * __ptr64) __ptr64
+?ReplaceAt@CWStringArray@@QEAAHHPEAG@Z
+; public: static unsigned short * __ptr64 __cdecl QL1_Parser::ReplaceClassName(struct QL_LEVEL_1_RPN_EXPRESSION * __ptr64,unsigned short const * __ptr64)
+?ReplaceClassName@QL1_Parser@@SAPEAGPEAUQL_LEVEL_1_RPN_EXPRESSION@@PEBG@Z
+; public: int __cdecl CEventLog::Report(unsigned short,unsigned long,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString,class CInsertionString) __ptr64
+?Report@CEventLog@@QEAAHGKVCInsertionString@@000000000@Z
+; public: bool __cdecl CFlexQueue::Requeue(void * __ptr64) __ptr64
+?Requeue@CFlexQueue@@QEAA_NPEAX@Z
+; public: long __cdecl CRegistryMinMaxLimitControl::Reread(void) __ptr64
+?Reread@CRegistryMinMaxLimitControl@@QEAAJXZ
+; public: virtual void __cdecl CUnloadInstruction::Reread(struct IWbemContext * __ptr64) __ptr64
+?Reread@CUnloadInstruction@@UEAAXPEAUIWbemContext@@@Z
+; public: void __cdecl CBuffer::Reset(void) __ptr64
+?Reset@CBuffer@@QEAAXXZ
+; public: void __cdecl CMRCIControl::Reset(void) __ptr64
+?Reset@CMRCIControl@@QEAAXXZ
+; protected: void __cdecl CDateTimeParser::ResetDate(int) __ptr64
+?ResetDate@CDateTimeParser@@IEAAXH@Z
+; protected: void __cdecl CDateTimeParser::ResetDateTime(int) __ptr64
+?ResetDateTime@CDateTimeParser@@IEAAXH@Z
+; protected: void __cdecl CDateTimeParser::ResetTime(int) __ptr64
+?ResetTime@CDateTimeParser@@IEAAXH@Z
+; public: int __cdecl CNtAcl::Resize(unsigned long) __ptr64
+?Resize@CNtAcl@@QEAAHK@Z
+; public: long __cdecl CHaltable::Resume(void) __ptr64
+?Resume@CHaltable@@QEAAJXZ
+; public: long __cdecl CHaltable::ResumeAll(void) __ptr64
+?ResumeAll@CHaltable@@QEAAJXZ
+; long __cdecl RetrieveSidFromCall(class CNtSid & __ptr64)
+?RetrieveSidFromCall@@YAJAEAVCNtSid@@@Z
+; private: long __cdecl CIdentitySecurity::RetrieveSidFromCall(class CNtSid & __ptr64) __ptr64
+?RetrieveSidFromCall@CIdentitySecurity@@AEAAJAEAVCNtSid@@@Z
+; long __cdecl RetrieveSidFromToken(void * __ptr64,class CNtSid & __ptr64)
+?RetrieveSidFromToken@@YAJPEAXAEAVCNtSid@@@Z
+; private: unsigned short * __ptr64 __cdecl CTextTemplate::ReturnEscapedReturns(unsigned short * __ptr64) __ptr64
+?ReturnEscapedReturns@CTextTemplate@@AEAAPEAGPEAG@Z
+; public: virtual long __cdecl CBuffer::Revert(void) __ptr64
+?Revert@CBuffer@@UEAAJXZ
+; public: virtual long __cdecl CWbemCallSecurity::RevertToSelf(void) __ptr64
+?RevertToSelf@CWbemCallSecurity@@UEAAJXZ
+; public: void __cdecl CTimerGenerator::ScheduleFreeUnusedLibraries(void) __ptr64
+?ScheduleFreeUnusedLibraries@CTimerGenerator@@QEAAXXZ
+; private: static unsigned long __cdecl CTimerGenerator::SchedulerThread(void * __ptr64)
+?SchedulerThread@CTimerGenerator@@CAKPEAX@Z
+; protected: int __cdecl CEventLog::SearchForRecord(class CEventLogRecord * __ptr64) __ptr64
+?SearchForRecord@CEventLog@@IEAAHPEAVCEventLogRecord@@@Z
+; protected: virtual class CExecRequest * __ptr64 __cdecl CExecQueue::SearchForSuitableRequest(class CExecQueue::CThreadRecord * __ptr64) __ptr64
+?SearchForSuitableRequest@CExecQueue@@MEAAPEAVCExecRequest@@PEAVCThreadRecord@1@@Z
+; public: virtual long __cdecl CBuffer::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER * __ptr64) __ptr64
+?Seek@CBuffer@@UEAAJT_LARGE_INTEGER@@KPEAT_ULARGE_INTEGER@@@Z
+; private: int __cdecl CWQLScanner::SelectList(void) __ptr64
+?SelectList@CWQLScanner@@AEAAHXZ
+; public: virtual bool __cdecl C9XAce::Serialize(unsigned char * __ptr64,unsigned __int64) __ptr64
+?Serialize@C9XAce@@UEAA_NPEAE_K@Z
+; public: virtual bool __cdecl CNtAce::Serialize(unsigned char * __ptr64,unsigned __int64) __ptr64
+?Serialize@CNtAce@@UEAA_NPEAE_K@Z
+; public: void __cdecl CWbemTime::Set100nss(__int64) __ptr64
+?Set100nss@CWbemTime@@QEAAX_J@Z
+; public: long __cdecl CTimerGenerator::Set(class CTimerInstruction * __ptr64,class CWbemTime) __ptr64
+?Set@CTimerGenerator@@QEAAJPEAVCTimerInstruction@@VCWbemTime@@@Z
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetAggregated(void) __ptr64
+?SetAggregated@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXXZ
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetAggregationTolerance(struct _tag_WbemQl1Tolerance const & __ptr64) __ptr64
+?SetAggregationTolerance@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBU_tag_WbemQl1Tolerance@@@Z
+; public: void __cdecl CVar::SetAsNull(void) __ptr64
+?SetAsNull@CVar@@QEAAXXZ
+; public: void __cdecl CFlexArray::SetAt(int,void * __ptr64) __ptr64
+?SetAt@CFlexArray@@QEAAXHPEAX@Z
+; public: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::SetAt(int,void * __ptr64,void * __ptr64 * __ptr64) __ptr64
+?SetAt@CSmallArrayBlob@@QEAAPEAV1@HPEAXPEAPEAX@Z
+; public: int __cdecl CWStringArray::SetAt(int,unsigned short const * __ptr64) __ptr64
+?SetAt@CWStringArray@@QEAAHHPEBG@Z
+; public: int __cdecl CVar::SetBSTR(unsigned short * __ptr64) __ptr64
+?SetBSTR@CVar@@QEAAHPEAG@Z
+; public: int __cdecl CVar::SetBSTR(class auto_bstr) __ptr64
+?SetBSTR@CVar@@QEAAHVauto_bstr@@@Z
+; public: int __cdecl CSafeArray::SetBSTRAt(int,unsigned short * __ptr64) __ptr64
+?SetBSTRAt@CSafeArray@@QEAAHHPEAG@Z
+; public: int __cdecl Registry::SetBinary(unsigned short * __ptr64,unsigned char * __ptr64,unsigned long) __ptr64
+?SetBinary@Registry@@QEAAHPEAGPEAEK@Z
+; public: void __cdecl CVar::SetBlob(struct tagBLOB * __ptr64,int) __ptr64
+?SetBlob@CVar@@QEAAXPEAUtagBLOB@@H@Z
+; public: void __cdecl CVar::SetBool(short) __ptr64
+?SetBool@CVar@@QEAAXF@Z
+; public: int __cdecl CSafeArray::SetBoolAt(int,short) __ptr64
+?SetBoolAt@CSafeArray@@QEAAHHF@Z
+; public: void __cdecl CVar::SetByte(unsigned char) __ptr64
+?SetByte@CVar@@QEAAXE@Z
+; public: int __cdecl CSafeArray::SetByteAt(int,unsigned char) __ptr64
+?SetByteAt@CSafeArray@@QEAAHHE@Z
+; public: void __cdecl CVar::SetCanDelete(int) __ptr64
+?SetCanDelete@CVar@@QEAAXH@Z
+; public: void __cdecl CVar::SetChar(char) __ptr64
+?SetChar@CVar@@QEAAXD@Z
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetClassName(unsigned short const * __ptr64) __ptr64
+?SetClassName@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXPEBG@Z
+; public: void __cdecl CVar::SetClsId(struct _GUID * __ptr64,int) __ptr64
+?SetClsId@CVar@@QEAAXPEAU_GUID@@H@Z
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetCountQuery(void) __ptr64
+?SetCountQuery@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXXZ
+; public: int __cdecl CWbemTime::SetDMTF(unsigned short const * __ptr64) __ptr64
+?SetDMTF@CWbemTime@@QEAAHPEBG@Z
+; public: void __cdecl CVar::SetDWORD(unsigned long) __ptr64
+?SetDWORD@CVar@@QEAAXK@Z
+; public: int __cdecl Registry::SetDWORD(unsigned short * __ptr64,unsigned long) __ptr64
+?SetDWORD@Registry@@QEAAHPEAGK@Z
+; public: int __cdecl Registry::SetDWORDStr(unsigned short * __ptr64,unsigned long) __ptr64
+?SetDWORDStr@Registry@@QEAAHPEAGK@Z
+; public: int __cdecl CNtSecurityDescriptor::SetDacl(class CNtAcl * __ptr64) __ptr64
+?SetDacl@CNtSecurityDescriptor@@QEAAHPEAVCNtAcl@@@Z
+; public: long __cdecl CDatePart::SetDate(char const * __ptr64) __ptr64
+?SetDate@CDatePart@@QEAAJPEBD@Z
+; public: long __cdecl CDatePart::SetDate(unsigned short const * __ptr64) __ptr64
+?SetDate@CDatePart@@QEAAJPEBG@Z
+; public: int __cdecl CDateTimeParser::SetDateTime(unsigned short const * __ptr64) __ptr64
+?SetDateTime@CDateTimeParser@@QEAAHPEBG@Z
+; public: void __cdecl CSafeArray::SetDestructorPolicy(int) __ptr64
+?SetDestructorPolicy@CSafeArray@@QEAAXH@Z
+; public: void __cdecl CVar::SetDispatch(struct IDispatch * __ptr64) __ptr64
+?SetDispatch@CVar@@QEAAXPEAUIDispatch@@@Z
+; public: int __cdecl CSafeArray::SetDispatchAt(int,struct IDispatch * __ptr64) __ptr64
+?SetDispatchAt@CSafeArray@@QEAAHHPEAUIDispatch@@@Z
+; public: void __cdecl CVar::SetDouble(double) __ptr64
+?SetDouble@CVar@@QEAAXN@Z
+; public: int __cdecl CSafeArray::SetDoubleAt(int,double) __ptr64
+?SetDoubleAt@CSafeArray@@QEAAHHN@Z
+; public: void __cdecl CVar::SetEmbeddedObject(struct IUnknown * __ptr64) __ptr64
+?SetEmbeddedObject@CVar@@QEAAXPEAUIUnknown@@@Z
+; public: int __cdecl Registry::SetExpandStr(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?SetExpandStr@Registry@@QEAAHPEAG0@Z
+; public: void __cdecl CLike::SetExpression(unsigned short const * __ptr64,unsigned short) __ptr64
+?SetExpression@CLike@@QEAAXPEBGG@Z
+; public: static void __cdecl CStaticCritSec::SetFailure(void)
+?SetFailure@CStaticCritSec@@SAXXZ
+; public: void __cdecl CVar::SetFileTime(struct _FILETIME * __ptr64) __ptr64
+?SetFileTime@CVar@@QEAAXPEAU_FILETIME@@@Z
+; public: int __cdecl CWbemTime::SetFileTime(struct _FILETIME const & __ptr64) __ptr64
+?SetFileTime@CWbemTime@@QEAAHAEBU_FILETIME@@@Z
+; public: virtual void __cdecl C9XAce::SetFlags(long) __ptr64
+?SetFlags@C9XAce@@UEAAXJ@Z
+; public: virtual void __cdecl CNtAce::SetFlags(long) __ptr64
+?SetFlags@CNtAce@@UEAAXJ@Z
+; public: void __cdecl CVar::SetFloat(float) __ptr64
+?SetFloat@CVar@@QEAAXM@Z
+; public: int __cdecl CSafeArray::SetFloatAt(int,float) __ptr64
+?SetFloatAt@CSafeArray@@QEAAHHM@Z
+; public: int __cdecl CNtSecurityDescriptor::SetFromAbsoluteCopy(struct SNtAbsoluteSD * __ptr64) __ptr64
+?SetFromAbsoluteCopy@CNtSecurityDescriptor@@QEAAHPEAUSNtAbsoluteSD@@@Z
+; public: int __cdecl CNtSecurityDescriptor::SetGroup(class CNtSid * __ptr64) __ptr64
+?SetGroup@CNtSecurityDescriptor@@QEAAHPEAVCNtSid@@@Z
+; public: void __cdecl CSafeArray::SetGrowGranularity(int) __ptr64
+?SetGrowGranularity@CSafeArray@@QEAAXH@Z
+; public: void __cdecl CPropertyName::SetHandle(void * __ptr64) __ptr64
+?SetHandle@CPropertyName@@QEAAXPEAX@Z
+; public: void __cdecl CExecQueue::SetIdleTimeout(unsigned long) __ptr64
+?SetIdleTimeout@CExecQueue@@QEAAXK@Z
+; public: void __cdecl CBasicUnloadInstruction::SetInterval(class CWbemInterval & __ptr64) __ptr64
+?SetInterval@CBasicUnloadInstruction@@QEAAXAEAVCWbemInterval@@@Z
+; public: int __cdecl CVar::SetLPSTR(char * __ptr64,int) __ptr64
+?SetLPSTR@CVar@@QEAAHPEADH@Z
+; public: int __cdecl CVar::SetLPWSTR(unsigned short * __ptr64,int) __ptr64
+?SetLPWSTR@CVar@@QEAAHPEAGH@Z
+; public: void __cdecl CVar::SetLong(long) __ptr64
+?SetLong@CVar@@QEAAXJ@Z
+; public: int __cdecl CSafeArray::SetLongAt(int,long) __ptr64
+?SetLongAt@CSafeArray@@QEAAHHJ@Z
+; public: void __cdecl CMinMaxLimitControl::SetMax(unsigned long) __ptr64
+?SetMax@CMinMaxLimitControl@@QEAAXK@Z
+; public: void __cdecl CWbemInterval::SetMilliseconds(unsigned long) __ptr64
+?SetMilliseconds@CWbemInterval@@QEAAXK@Z
+; public: void __cdecl CMinMaxLimitControl::SetMin(unsigned long) __ptr64
+?SetMin@CMinMaxLimitControl@@QEAAXK@Z
+; public: int __cdecl Registry::SetMultiStr(unsigned short * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
+?SetMultiStr@Registry@@QEAAHPEAG0K@Z
+; public: void __cdecl CExecRequest::SetNext(class CExecRequest * __ptr64) __ptr64
+?SetNext@CExecRequest@@QEAAXPEAV1@@Z
+; int __cdecl SetObjectAccess2(void * __ptr64)
+?SetObjectAccess2@@YAHPEAX@Z
+; public: void __cdecl CExecQueue::SetOverflowIdleTimeout(unsigned long) __ptr64
+?SetOverflowIdleTimeout@CExecQueue@@QEAAXK@Z
+; public: int __cdecl CNtSecurityDescriptor::SetOwner(class CNtSid * __ptr64) __ptr64
+?SetOwner@CNtSecurityDescriptor@@QEAAHPEAVCNtSid@@@Z
+; public: int __cdecl CPersistentConfig::SetPersistentCfgValue(unsigned long,unsigned long) __ptr64
+?SetPersistentCfgValue@CPersistentConfig@@QEAAHKK@Z
+; public: void __cdecl CExecRequest::SetPriority(long) __ptr64
+?SetPriority@CExecRequest@@QEAAXJ@Z
+; public: void __cdecl CVar::SetRaw(int,void * __ptr64,int) __ptr64
+?SetRaw@CVar@@QEAAXHPEAXH@Z
+; public: void __cdecl CVarVector::SetRawArrayBinding(int) __ptr64
+?SetRawArrayBinding@CVarVector@@QEAAXH@Z
+; public: long __cdecl CVarVector::SetRawArrayData(void * __ptr64,int,int) __ptr64
+?SetRawArrayData@CVarVector@@QEAAJPEAXHH@Z
+; public: void __cdecl CSafeArray::SetRawArrayMaxElement(int) __ptr64
+?SetRawArrayMaxElement@CSafeArray@@QEAAXH@Z
+; public: int __cdecl CVarVector::SetRawArraySize(int) __ptr64
+?SetRawArraySize@CVarVector@@QEAAHH@Z
+; public: int __cdecl CSafeArray::SetRawData(void * __ptr64,int,int) __ptr64
+?SetRawData@CSafeArray@@QEAAHPEAXHH@Z
+; public: void __cdecl CExecQueue::SetRequestLimits(long,long,long) __ptr64
+?SetRequestLimits@CExecQueue@@QEAAXJJJ@Z
+; public: int __cdecl CNtSecurityDescriptor::SetSacl(class CNtAcl * __ptr64) __ptr64
+?SetSacl@CNtSecurityDescriptor@@QEAAHPEAVCNtAcl@@@Z
+; public: void __cdecl CVar::SetSafeArray(int,struct tagSAFEARRAY * __ptr64) __ptr64
+?SetSafeArray@CVar@@QEAAXHPEAUtagSAFEARRAY@@@Z
+; private: int __cdecl CSafeArray::SetScalarAt(int,union SA_ArrayScalar) __ptr64
+?SetScalarAt@CSafeArray@@AEAAHHTSA_ArrayScalar@@@Z
+; public: void __cdecl CVar::SetShort(short) __ptr64
+?SetShort@CVar@@QEAAXF@Z
+; public: int __cdecl CSafeArray::SetShortAt(int,short) __ptr64
+?SetShortAt@CSafeArray@@QEAAHHF@Z
+; public: long __cdecl CBuffer::SetSize(unsigned long) __ptr64
+?SetSize@CBuffer@@QEAAJK@Z
+; public: virtual long __cdecl CBuffer::SetSize(union _ULARGE_INTEGER) __ptr64
+?SetSize@CBuffer@@UEAAJT_ULARGE_INTEGER@@@Z
+; public: void __cdecl CFlexArray::SetSize(int) __ptr64
+?SetSize@CFlexArray@@QEAAXH@Z
+; public: void __cdecl CMinMaxLimitControl::SetSleepAtMax(unsigned long) __ptr64
+?SetSleepAtMax@CMinMaxLimitControl@@QEAAXK@Z
+; public: int __cdecl Registry::SetStr(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
+?SetStr@Registry@@QEAAHPEAG0@Z
+; public: int __cdecl CWbemTime::SetSystemTime(struct _SYSTEMTIME const & __ptr64) __ptr64
+?SetSystemTime@CWbemTime@@QEAAHAEBU_SYSTEMTIME@@@Z
+; public: void __cdecl CTextTemplate::SetTemplate(unsigned short const * __ptr64) __ptr64
+?SetTemplate@CTextTemplate@@QEAAXPEBG@Z
+; public: void __cdecl CExecQueue::SetThreadLimits(long,long,long) __ptr64
+?SetThreadLimits@CExecQueue@@QEAAXJJJ@Z
+; public: void __cdecl CUnloadInstruction::SetToDefault(void) __ptr64
+?SetToDefault@CUnloadInstruction@@QEAAXXZ
+; public: virtual void __cdecl QL_LEVEL_1_RPN_EXPRESSION::SetTolerance(struct _tag_WbemQl1Tolerance const & __ptr64) __ptr64
+?SetTolerance@QL_LEVEL_1_RPN_EXPRESSION@@UEAAXAEBU_tag_WbemQl1Tolerance@@@Z
+; public: void __cdecl CVar::SetUnknown(struct IUnknown * __ptr64) __ptr64
+?SetUnknown@CVar@@QEAAXPEAUIUnknown@@@Z
+; public: int __cdecl CSafeArray::SetUnknownAt(int,struct IUnknown * __ptr64) __ptr64
+?SetUnknownAt@CSafeArray@@QEAAHHPEAUIUnknown@@@Z
+; public: void __cdecl CVar::SetVarVector(class CVarVector * __ptr64,int) __ptr64
+?SetVarVector@CVar@@QEAAXPEAVCVarVector@@H@Z
+; public: int __cdecl CVar::SetVariant(struct tagVARIANT * __ptr64,int) __ptr64
+?SetVariant@CVar@@QEAAHPEAUtagVARIANT@@H@Z
+; public: int __cdecl CSafeArray::SetVariantAt(int,struct tagVARIANT * __ptr64) __ptr64
+?SetVariantAt@CSafeArray@@QEAAHHPEAUtagVARIANT@@@Z
+; public: void __cdecl CExecRequest::SetWhenDoneHandle(void * __ptr64) __ptr64
+?SetWhenDoneHandle@CExecRequest@@QEAAXPEAX@Z
+; public: void __cdecl CVar::SetWord(unsigned short) __ptr64
+?SetWord@CVar@@QEAAXG@Z
+; protected: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::Shrink(void) __ptr64
+?Shrink@CSmallArrayBlob@@IEAAPEAV1@XZ
+; protected: class CSmallArrayBlob * __ptr64 __cdecl CSmallArrayBlob::ShrinkIfNeeded(void) __ptr64
+?ShrinkIfNeeded@CSmallArrayBlob@@IEAAPEAV1@XZ
+; public: void __cdecl CExecQueue::Shutdown(void) __ptr64
+?Shutdown@CExecQueue@@QEAAXXZ
+; public: virtual long __cdecl CTimerGenerator::Shutdown(void) __ptr64
+?Shutdown@CTimerGenerator@@UEAAJXZ
+; protected: virtual void __cdecl CExecQueue::ShutdownThread(class CExecQueue::CThreadRecord * __ptr64) __ptr64
+?ShutdownThread@CExecQueue@@MEAAXPEAVCThreadRecord@1@@Z
+; protected: virtual void __cdecl CExecQueue::SitOutPenalty(long) __ptr64
+?SitOutPenalty@CExecQueue@@MEAAXJ@Z
+; public: int __cdecl CFlexArray::Size(void)const  __ptr64
+?Size@CFlexArray@@QEBAHXZ
+; public: int __cdecl CSafeArray::Size(void) __ptr64
+?Size@CSafeArray@@QEAAHXZ
+; public: int __cdecl CSmallArrayBlob::Size(void)const  __ptr64
+?Size@CSmallArrayBlob@@QEBAHXZ
+; public: int __cdecl CVarVector::Size(void) __ptr64
+?Size@CVarVector@@QEAAHXZ
+; public: int __cdecl CWStringArray::Size(void)const  __ptr64
+?Size@CWStringArray@@QEBAHXZ
+; public: void __cdecl CFlexArray::Sort(void) __ptr64
+?Sort@CFlexArray@@QEAAXXZ
+; public: void __cdecl CSmallArrayBlob::Sort(void) __ptr64
+?Sort@CSmallArrayBlob@@QEAAXXZ
+; public: void __cdecl CWStringArray::Sort(void) __ptr64
+?Sort@CWStringArray@@QEAAXXZ
+; public: virtual long __cdecl CBuffer::Stat(struct tagSTATSTG * __ptr64,unsigned long) __ptr64
+?Stat@CBuffer@@UEAAJPEAUtagSTATSTG@@K@Z
+; public: int __cdecl CSafeArray::Status(void) __ptr64
+?Status@CSafeArray@@QEAAHXZ
+; public: int __cdecl CVar::Status(void) __ptr64
+?Status@CVar@@QEAAHXZ
+; public: int __cdecl CVarVector::Status(void) __ptr64
+?Status@CVarVector@@QEAAHXZ
+; public: class WString & __ptr64 __cdecl WString::StripToToken(unsigned short,int) __ptr64
+?StripToToken@WString@@QEAAAEAV1@GH@Z
+; private: int __cdecl CWQLScanner::StripWhereClause(void) __ptr64
+?StripWhereClause@CWQLScanner@@AEAAHXZ
+; public: class WString & __ptr64 __cdecl WString::StripWs(int) __ptr64
+?StripWs@WString@@QEAAAEAV1@H@Z
+; public: void __cdecl CBasicUnloadInstruction::Terminate(void) __ptr64
+?Terminate@CBasicUnloadInstruction@@QEAAXXZ
+; long __cdecl TestDirExistAndCreateWithSDIfNotThere(unsigned short * __ptr64,unsigned short * __ptr64)
+?TestDirExistAndCreateWithSDIfNotThere@@YAJPEAG0@Z
+; protected: virtual void __cdecl CExecQueue::ThreadMain(class CExecQueue::CThreadRecord * __ptr64) __ptr64
+?ThreadMain@CExecQueue@@MEAAXPEAVCThreadRecord@1@@Z
+; long __cdecl Throttle(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)
+?Throttle@@YAJKKKKK@Z
+; public: void __cdecl CPersistentConfig::TidyUp(void) __ptr64
+?TidyUp@CPersistentConfig@@QEAAXXZ
+; protected: int __cdecl CDateTimeParser::TimeFormat1(unsigned short const * __ptr64,int) __ptr64
+?TimeFormat1@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::TimeFormat2(unsigned short const * __ptr64,int) __ptr64
+?TimeFormat2@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::TimeFormat3(unsigned short const * __ptr64,int) __ptr64
+?TimeFormat3@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::TimeFormat4(unsigned short const * __ptr64,int) __ptr64
+?TimeFormat4@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::TimeFormat5(unsigned short const * __ptr64,int) __ptr64
+?TimeFormat5@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::TimeFormat6(unsigned short const * __ptr64,int) __ptr64
+?TimeFormat6@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::TimeFormat7(unsigned short const * __ptr64,int) __ptr64
+?TimeFormat7@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::TimeFormat8(unsigned short const * __ptr64,int) __ptr64
+?TimeFormat8@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: int __cdecl CDateTimeParser::TimeFormat9(unsigned short const * __ptr64,int) __ptr64
+?TimeFormat9@CDateTimeParser@@IEAAHPEBGH@Z
+; protected: class CWbemInterval  __cdecl CInstructionQueue::TimeToWait(void) __ptr64
+?TimeToWait@CInstructionQueue@@IEAA?AVCWbemInterval@@XZ
+; public: int __cdecl CVar::ToSingleChar(void) __ptr64
+?ToSingleChar@CVar@@QEAAHXZ
+; public: int __cdecl CVarVector::ToSingleChar(void) __ptr64
+?ToSingleChar@CVarVector@@QEAAHXZ
+; public: int __cdecl CVar::ToUI4(void) __ptr64
+?ToUI4@CVar@@QEAAHXZ
+; public: int __cdecl CVarVector::ToUI4(void) __ptr64
+?ToUI4@CVarVector@@QEAAHXZ
+; protected: void __cdecl CInstructionQueue::TouchHead(void) __ptr64
+?TouchHead@CInstructionQueue@@IEAAXXZ
+; public: static void __cdecl MD5::Transform(void * __ptr64,unsigned int,unsigned char * __ptr64 const)
+?Transform@MD5@@SAXPEAXIQEAE@Z
+; protected: static unsigned long __cdecl CAbstractQl1Parser::TranslateIntrinsic(unsigned short const * __ptr64)
+?TranslateIntrinsic@CAbstractQl1Parser@@KAKPEBG@Z
+; public: void __cdecl CFlexArray::Trim(void) __ptr64
+?Trim@CFlexArray@@QEAAXXZ
+; public: int __cdecl CSafeArray::Trim(void) __ptr64
+?Trim@CSafeArray@@QEAAHXZ
+; public: void __cdecl CSmallArrayBlob::Trim(void) __ptr64
+?Trim@CSmallArrayBlob@@QEAAXXZ
+; public: class WString & __ptr64 __cdecl WString::TruncAtLToken(unsigned short) __ptr64
+?TruncAtLToken@WString@@QEAAAEAV1@G@Z
+; public: class WString & __ptr64 __cdecl WString::TruncAtRToken(unsigned short) __ptr64
+?TruncAtRToken@WString@@QEAAAEAV1@G@Z
+; public: static unsigned short * __ptr64 __cdecl CVar::TypeToText(int)
+?TypeToText@CVar@@SAPEAGH@Z
+; void __cdecl UnRegisterDLL(struct _GUID,unsigned short * __ptr64)
+?UnRegisterDLL@@YAXU_GUID@@PEAG@Z
+; public: long __cdecl CSafeArray::Unaccess(void) __ptr64
+?Unaccess@CSafeArray@@QEAAJXZ
+; public: long __cdecl CVarVector::UnaccessRawArray(void) __ptr64
+?UnaccessRawArray@CVarVector@@QEAAJXZ
+; public: void * __ptr64 * __ptr64 __cdecl CFlexArray::UnbindPtr(void) __ptr64
+?UnbindPtr@CFlexArray@@QEAAPEAPEAXXZ
+; public: unsigned short * __ptr64 __cdecl WString::UnbindPtr(void) __ptr64
+?UnbindPtr@WString@@QEAAPEAGXZ
+; protected: virtual unsigned long __cdecl CExecQueue::UnblockedWaitForSingleObject(void * __ptr64,unsigned long,class CExecQueue::CThreadRecord * __ptr64) __ptr64
+?UnblockedWaitForSingleObject@CExecQueue@@MEAAKPEAXKPEAVCThreadRecord@1@@Z
+; public: unsigned int __cdecl CMRCICompression::UncompressBuffer(unsigned char * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long,enum CMRCICompression::CompressionLevel) __ptr64
+?UncompressBuffer@CMRCICompression@@QEAAIPEAEK0KW4CompressionLevel@1@@Z
+; public: int __cdecl CMRCICompression::UncompressFile(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
+?UncompressFile@CMRCICompression@@QEAAHPEBG0@Z
+; protected: int __cdecl CMRCICompression::UncompressFileV1(int,int) __ptr64
+?UncompressFileV1@CMRCICompression@@IEAAHHH@Z
+; protected: virtual void __cdecl CExecQueue::UninitializeThread(void) __ptr64
+?UninitializeThread@CExecQueue@@MEAAXXZ
+; public: static void __cdecl CWStringArray::Union(class CWStringArray & __ptr64,class CWStringArray & __ptr64,class CWStringArray & __ptr64)
+?Union@CWStringArray@@SAXAEAV1@00@Z
+; public: void __cdecl CLockableFlexArray<class CStaticCritSec>::Unlock(void) __ptr64
+?Unlock@?$CLockableFlexArray@VCStaticCritSec@@@@QEAAXXZ
+; public: virtual long __cdecl CBuffer::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long) __ptr64
+?UnlockRegion@CBuffer@@UEAAJT_ULARGE_INTEGER@@0K@Z
+; public: void * __ptr64 __cdecl CFlexQueue::Unqueue(void) __ptr64
+?Unqueue@CFlexQueue@@QEAAPEAXXZ
+; public: void __cdecl WString::Unquote(void) __ptr64
+?Unquote@WString@@QEAAXXZ
+; long __cdecl UnregisterDllAppid(struct _GUID)
+?UnregisterDllAppid@@YAJU_GUID@@@Z
+; public: static int __cdecl CWin32DefaultArena::ValidateMemSize(int)
+?ValidateMemSize@CWin32DefaultArena@@SAHH@Z
+; public: long __cdecl CInstructionQueue::WaitAndPeek(class CTimerInstruction * __ptr64 & __ptr64,class CWbemTime & __ptr64) __ptr64
+?WaitAndPeek@CInstructionQueue@@QEAAJAEAPEAVCTimerInstruction@@AEAVCWbemTime@@@Z
+; public: long __cdecl CHaltable::WaitForResumption(void) __ptr64
+?WaitForResumption@CHaltable@@QEAAJXZ
+; protected: virtual unsigned long __cdecl CExecQueue::WaitForSingleObjectWhileBusy(void * __ptr64,unsigned long,class CExecQueue::CThreadRecord * __ptr64) __ptr64
+?WaitForSingleObjectWhileBusy@CExecQueue@@MEAAKPEAXKPEAVCThreadRecord@1@@Z
+; int __cdecl WbemCreateDirectory(unsigned short const * __ptr64)
+?WbemCreateDirectory@@YAHPEBG@Z
+; int __cdecl WbemGetMachineShutdown(void)
+?WbemGetMachineShutdown@@YAHXZ
+; public: static void __cdecl CWin32DefaultArena::WbemHeapFree(void)
+?WbemHeapFree@CWin32DefaultArena@@SAXXZ
+; public: static int __cdecl CWin32DefaultArena::WbemHeapInitialize(void * __ptr64)
+?WbemHeapInitialize@CWin32DefaultArena@@SAHPEAX@Z
+; public: static void * __ptr64 __cdecl CWin32DefaultArena::WbemMemAlloc(unsigned __int64)
+?WbemMemAlloc@CWin32DefaultArena@@SAPEAX_K@Z
+; public: static int __cdecl CWin32DefaultArena::WbemMemFree(void * __ptr64)
+?WbemMemFree@CWin32DefaultArena@@SAHPEAX@Z
+; public: static void * __ptr64 __cdecl CWin32DefaultArena::WbemMemReAlloc(void * __ptr64,unsigned __int64)
+?WbemMemReAlloc@CWin32DefaultArena@@SAPEAXPEAX_K@Z
+; public: static unsigned __int64 __cdecl CWin32DefaultArena::WbemMemSize(void * __ptr64)
+?WbemMemSize@CWin32DefaultArena@@SA_KPEAX@Z
+; public: static int __cdecl CWin32DefaultArena::WbemOutOfMemory(void)
+?WbemOutOfMemory@CWin32DefaultArena@@SAHXZ
+; long __cdecl WbemSetDynamicCloaking(struct IUnknown * __ptr64,unsigned long,unsigned long)
+?WbemSetDynamicCloaking@@YAJPEAUIUnknown@@KK@Z
+; int __cdecl WbemSetMachineShutdown(int)
+?WbemSetMachineShutdown@@YAHH@Z
+; public: static unsigned short * __ptr64 __cdecl CWin32DefaultArena::WbemSysAllocString(unsigned short const * __ptr64)
+?WbemSysAllocString@CWin32DefaultArena@@SAPEAGPEBG@Z
+; public: static unsigned short * __ptr64 __cdecl CWin32DefaultArena::WbemSysAllocStringByteLen(char const * __ptr64,unsigned int)
+?WbemSysAllocStringByteLen@CWin32DefaultArena@@SAPEAGPEBDI@Z
+; public: static unsigned short * __ptr64 __cdecl CWin32DefaultArena::WbemSysAllocStringLen(unsigned short const * __ptr64,unsigned int)
+?WbemSysAllocStringLen@CWin32DefaultArena@@SAPEAGPEBGI@Z
+; public: static void __cdecl CWin32DefaultArena::WbemSysFreeString(unsigned short * __ptr64)
+?WbemSysFreeString@CWin32DefaultArena@@SAXPEAG@Z
+; public: static int __cdecl CWin32DefaultArena::WbemSysReAllocString(unsigned short * __ptr64 * __ptr64,unsigned short const * __ptr64)
+?WbemSysReAllocString@CWin32DefaultArena@@SAHPEAPEAGPEBG@Z
+; public: static int __cdecl CWin32DefaultArena::WbemSysReAllocStringLen(unsigned short * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned int)
+?WbemSysReAllocStringLen@CWin32DefaultArena@@SAHPEAPEAGPEBGI@Z
+; long __cdecl WbemVariantChangeType(struct tagVARIANT * __ptr64,struct tagVARIANT * __ptr64,unsigned short)
+?WbemVariantChangeType@@YAJPEAUtagVARIANT@@0G@Z
+; public: int __cdecl WString::WildcardTest(unsigned short const * __ptr64)const  __ptr64
+?WildcardTest@WString@@QEBAHPEBG@Z
+; int __cdecl WinPEKey(void)
+?WinPEKey@@YAHXZ
+; public: virtual long __cdecl CBuffer::Write(void const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
+?Write@CBuffer@@UEAAJPEBXKPEAK@Z
+; public: long __cdecl CBuffer::WriteLPWSTR(unsigned short const * __ptr64) __ptr64
+?WriteLPWSTR@CBuffer@@QEAAJPEBG@Z
+; protected: static unsigned long __cdecl CExecQueue::_ThreadEntry(void * __ptr64)
+?_ThreadEntry@CExecQueue@@KAKPEAX@Z
+; protected: int __cdecl CAbstractQl1Parser::aggregate_by(void) __ptr64
+?aggregate_by@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::aggregate_within(void) __ptr64
+?aggregate_within@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::aggregation_params(void) __ptr64
+?aggregation_params@CAbstractQl1Parser@@IEAAHXZ
+; private: static int  CStaticCritSec::anyFailed_
+?anyFailed_@CStaticCritSec@@0HA DATA
+; public: static int __cdecl CStaticCritSec::anyFailure(void)
+?anyFailure@CStaticCritSec@@SAHXZ
+; int __cdecl bAreWeLocal(unsigned short * __ptr64)
+?bAreWeLocal@@YAHPEAG@Z
+; private: void __cdecl CBaseMrciCompression::charbuf(unsigned int) __ptr64
+?charbuf@CBaseMrciCompression@@AEAAXI@Z
+; protected: int __cdecl CAbstractQl1Parser::class_name(void) __ptr64
+?class_name@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::comp_operator(void) __ptr64
+?comp_operator@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::equiv_operator(void) __ptr64
+?equiv_operator@CAbstractQl1Parser@@IEAAHXZ
+; private: void __cdecl CBaseMrciCompression::expandstring(unsigned char * __ptr64 * __ptr64,unsigned int,unsigned int) __ptr64
+?expandstring@CBaseMrciCompression@@AEAAXPEAPEAEII@Z
+; protected: int __cdecl CAbstractQl1Parser::expr2(void) __ptr64
+?expr2@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::expr(void) __ptr64
+?expr@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::finalize(void) __ptr64
+?finalize@CAbstractQl1Parser@@IEAAHXZ
+; private: unsigned int __cdecl CBaseMrciCompression::getbit(void) __ptr64
+?getbit@CBaseMrciCompression@@AEAAIXZ
+; private: unsigned int __cdecl CBaseMrciCompression::getbits(unsigned int) __ptr64
+?getbits@CBaseMrciCompression@@AEAAII@Z
+; private: void __cdecl CBaseMrciCompression::inithash(void) __ptr64
+?inithash@CBaseMrciCompression@@AEAAXXZ
+; public: bool __cdecl CHaltable::isValid(void) __ptr64
+?isValid@CHaltable@@QEAA_NXZ
+; protected: int __cdecl CAbstractQl1Parser::is_operator(void) __ptr64
+?is_operator@CAbstractQl1Parser@@IEAAHXZ
+; int __cdecl isunialpha(unsigned short)
+?isunialpha@@YAHG@Z
+; int __cdecl isunialphanum(unsigned short)
+?isunialphanum@@YAHG@Z
+; protected: int __cdecl CAbstractQl1Parser::leading_ident_expr(void) __ptr64
+?leading_ident_expr@CAbstractQl1Parser@@IEAAHXZ
+; private: static class CDirectoryPath  CPersistentConfig::m_Directory
+?m_Directory@CPersistentConfig@@0VCDirectoryPath@@A DATA
+; private: void __cdecl CBaseMrciCompression::mrci1outsingle(unsigned int) __ptr64
+?mrci1outsingle@CBaseMrciCompression@@AEAAXI@Z
+; private: void __cdecl CBaseMrciCompression::mrci1outstring(unsigned int,unsigned int) __ptr64
+?mrci1outstring@CBaseMrciCompression@@AEAAXII@Z
+; private: void __cdecl CBaseMrciCompression::mrci2outsingle(unsigned int) __ptr64
+?mrci2outsingle@CBaseMrciCompression@@AEAAXI@Z
+; private: void __cdecl CBaseMrciCompression::mrci2outstring(unsigned int,unsigned int) __ptr64
+?mrci2outstring@CBaseMrciCompression@@AEAAXII@Z
+; unsigned long  mstatic_dwTlsIndex
+?mstatic_dwTlsIndex@@3KA DATA
+; protected: static long  CExecQueue::mstatic_lNumInits
+?mstatic_lNumInits@CExecQueue@@1JA DATA
+; protected: int __cdecl CAbstractQl1Parser::opt_aggregation(void) __ptr64
+?opt_aggregation@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::opt_having(void) __ptr64
+?opt_having@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::opt_where(void) __ptr64
+?opt_where@CAbstractQl1Parser@@IEAAHXZ
+; private: void __cdecl CBaseMrciCompression::outlength(unsigned int) __ptr64
+?outlength@CBaseMrciCompression@@AEAAXI@Z
+; protected: int __cdecl CAbstractQl1Parser::parse(int) __ptr64
+?parse@CAbstractQl1Parser@@IEAAHH@Z
+; protected: int __cdecl CAbstractQl1Parser::parse_property_name(class CPropertyName & __ptr64) __ptr64
+?parse_property_name@CAbstractQl1Parser@@IEAAHAEAVCPropertyName@@@Z
+; protected: int __cdecl CAbstractQl1Parser::prop_list(void) __ptr64
+?prop_list@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::prop_list_2(void) __ptr64
+?prop_list_2@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::property_name(void) __ptr64
+?property_name@CAbstractQl1Parser@@IEAAHXZ
+; private: void __cdecl CBaseMrciCompression::putbits(unsigned int,unsigned int) __ptr64
+?putbits@CBaseMrciCompression@@AEAAXII@Z
+; protected: int __cdecl CAbstractQl1Parser::rel_operator(void) __ptr64
+?rel_operator@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::simple_expr(void) __ptr64
+?simple_expr@CAbstractQl1Parser@@IEAAHXZ
+; public: static class CWbemInterval  __cdecl CBasicUnloadInstruction::staticRead(struct IWbemServices * __ptr64,struct IWbemContext * __ptr64,unsigned short const * __ptr64)
+?staticRead@CBasicUnloadInstruction@@SA?AVCWbemInterval@@PEAUIWbemServices@@PEAUIWbemContext@@PEBG@Z
+; protected: int __cdecl CAbstractQl1Parser::term2(void) __ptr64
+?term2@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::term(void) __ptr64
+?term@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::tolerance(void) __ptr64
+?tolerance@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::trailing_const_expr(void) __ptr64
+?trailing_const_expr@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::trailing_ident_expr(void) __ptr64
+?trailing_ident_expr@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::trailing_or_null(void) __ptr64
+?trailing_or_null@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::trailing_prop_expr(void) __ptr64
+?trailing_prop_expr@CAbstractQl1Parser@@IEAAHXZ
+; protected: int __cdecl CAbstractQl1Parser::typed_constant(void) __ptr64
+?typed_constant@CAbstractQl1Parser@@IEAAHXZ
diff --git a/mingw-w64-crt/lib64/wbemcons.def b/mingw-w64-crt/lib64/wbemcons.def
index 73f5ab7..1d154b5 100644
--- a/mingw-w64-crt/lib64/wbemcons.def
+++ b/mingw-w64-crt/lib64/wbemcons.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WBEMCONS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WBEMCONS.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WBEMCONS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WBEMCONS.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbemcore.def b/mingw-w64-crt/lib64/wbemcore.def
index 2924c22..ce174e1 100644
--- a/mingw-w64-crt/lib64/wbemcore.def
+++ b/mingw-w64-crt/lib64/wbemcore.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file WBEMCORE.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WBEMCORE.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-Reinitialize
-Shutdown
+; 
+; Exports of file WBEMCORE.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WBEMCORE.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+Reinitialize
+Shutdown
diff --git a/mingw-w64-crt/lib64/wbemdisp.def b/mingw-w64-crt/lib64/wbemdisp.def
index 8eb237f..1386101 100644
--- a/mingw-w64-crt/lib64/wbemdisp.def
+++ b/mingw-w64-crt/lib64/wbemdisp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wbemdisp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wbemdisp.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wbemdisp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wbemdisp.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbemess.def b/mingw-w64-crt/lib64/wbemess.def
index 898666f..3ca1978 100644
--- a/mingw-w64-crt/lib64/wbemess.def
+++ b/mingw-w64-crt/lib64/wbemess.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wbemess.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wbemess.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wbemess.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wbemess.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbemperf.def b/mingw-w64-crt/lib64/wbemperf.def
index cdb8896..f44ff1f 100644
--- a/mingw-w64-crt/lib64/wbemperf.def
+++ b/mingw-w64-crt/lib64/wbemperf.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WBEMPERF.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WBEMPERF.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WBEMPERF.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WBEMPERF.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbemprox.def b/mingw-w64-crt/lib64/wbemprox.def
index 24be75f..18ad635 100644
--- a/mingw-w64-crt/lib64/wbemprox.def
+++ b/mingw-w64-crt/lib64/wbemprox.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wbemprox.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wbemprox.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wbemprox.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wbemprox.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbemsvc.def b/mingw-w64-crt/lib64/wbemsvc.def
index 108c772..9bbb9ed 100644
--- a/mingw-w64-crt/lib64/wbemsvc.def
+++ b/mingw-w64-crt/lib64/wbemsvc.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WBEMSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WBEMSVC.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WBEMSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WBEMSVC.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbemupgd.def b/mingw-w64-crt/lib64/wbemupgd.def
index aec4ba3..606f07d 100644
--- a/mingw-w64-crt/lib64/wbemupgd.def
+++ b/mingw-w64-crt/lib64/wbemupgd.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file WbemUpgd.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WbemUpgd.dll
-EXPORTS
-CheckWMISetup
-LoadMofFiles
-MUI_InstallMFLFiles
-OcEntry
-RepairWMISetup
-DllInstall
-DllRegisterServer
+; 
+; Exports of file WbemUpgd.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WbemUpgd.dll
+EXPORTS
+CheckWMISetup
+LoadMofFiles
+MUI_InstallMFLFiles
+OcEntry
+RepairWMISetup
+DllInstall
+DllRegisterServer
diff --git a/mingw-w64-crt/lib64/wbidispl.def b/mingw-w64-crt/lib64/wbidispl.def
index 80cb7ca..0dba649 100644
--- a/mingw-w64-crt/lib64/wbidispl.def
+++ b/mingw-w64-crt/lib64/wbidispl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file bidispl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY bidispl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file bidispl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY bidispl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbitsprx2.def b/mingw-w64-crt/lib64/wbitsprx2.def
index eec389c..d420202 100644
--- a/mingw-w64-crt/lib64/wbitsprx2.def
+++ b/mingw-w64-crt/lib64/wbitsprx2.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file bitsprx2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY bitsprx2.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file bitsprx2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY bitsprx2.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbitsprx3.def b/mingw-w64-crt/lib64/wbitsprx3.def
index 3f1a187..c22e16e 100644
--- a/mingw-w64-crt/lib64/wbitsprx3.def
+++ b/mingw-w64-crt/lib64/wbitsprx3.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file bitsprx3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY bitsprx3.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file bitsprx3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY bitsprx3.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wblackbox.def b/mingw-w64-crt/lib64/wblackbox.def
index f9c0186..4f73255 100644
--- a/mingw-w64-crt/lib64/wblackbox.def
+++ b/mingw-w64-crt/lib64/wblackbox.def
@@ -1,43 +1,43 @@
-; 
-; Exports of file BlackBox_noint3.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BlackBox_noint3.DLL
-EXPORTS
-; protected: __thiscall IBlackBox::IBlackBox(class IBlackBox const &)
-??0IBlackBox@@IAE@ABV0@@Z
-; protected: __thiscall IBlackBox::IBlackBox(void)
-??0IBlackBox@@IAE@XZ
-; protected: __thiscall IBlackBoxEx2::IBlackBoxEx2(class IBlackBoxEx2 const &)
-??0IBlackBoxEx2@@IAE@ABV0@@Z
-; protected: __thiscall IBlackBoxEx2::IBlackBoxEx2(void)
-??0IBlackBoxEx2@@IAE@XZ
-; protected: __thiscall IBlackBoxEx::IBlackBoxEx(class IBlackBoxEx const &)
-??0IBlackBoxEx@@IAE@ABV0@@Z
-; protected: __thiscall IBlackBoxEx::IBlackBoxEx(void)
-??0IBlackBoxEx@@IAE@XZ
-; public: virtual __thiscall IBlackBox::~IBlackBox(void)
-??1IBlackBox@@UAE@XZ
-; public: virtual __thiscall IBlackBoxEx2::~IBlackBoxEx2(void)
-??1IBlackBoxEx2@@UAE@XZ
-; public: virtual __thiscall IBlackBoxEx::~IBlackBoxEx(void)
-??1IBlackBoxEx@@UAE@XZ
-; const  IBlackBox::`vftable'
-??_7IBlackBox@@6B@
-; const  IBlackBoxEx2::`vftable'{for `IBlackBox'}
-??_7IBlackBoxEx2@@6BIBlackBox@@@
-; const  IBlackBoxEx2::`vftable'{for `IUnknown'}
-??_7IBlackBoxEx2@@6BIUnknown@@@
-; const  IBlackBoxEx::`vftable'{for `IBlackBox'}
-??_7IBlackBoxEx@@6BIBlackBox@@@
-; const  IBlackBoxEx::`vftable'{for `IUnknown'}
-??_7IBlackBoxEx@@6BIUnknown@@@
-DllMain
-DllRegisterServer
-DllUnregisterServer
-GetHWID
-IBlackBox_CreateInstance2
-IBlackBox_CreateInstance
-IBlackBox_CreateInstanceEx
+; 
+; Exports of file BlackBox_noint3.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BlackBox_noint3.DLL
+EXPORTS
+; protected: __thiscall IBlackBox::IBlackBox(class IBlackBox const &)
+??0IBlackBox@@IAE@ABV0@@Z
+; protected: __thiscall IBlackBox::IBlackBox(void)
+??0IBlackBox@@IAE@XZ
+; protected: __thiscall IBlackBoxEx2::IBlackBoxEx2(class IBlackBoxEx2 const &)
+??0IBlackBoxEx2@@IAE@ABV0@@Z
+; protected: __thiscall IBlackBoxEx2::IBlackBoxEx2(void)
+??0IBlackBoxEx2@@IAE@XZ
+; protected: __thiscall IBlackBoxEx::IBlackBoxEx(class IBlackBoxEx const &)
+??0IBlackBoxEx@@IAE@ABV0@@Z
+; protected: __thiscall IBlackBoxEx::IBlackBoxEx(void)
+??0IBlackBoxEx@@IAE@XZ
+; public: virtual __thiscall IBlackBox::~IBlackBox(void)
+??1IBlackBox@@UAE@XZ
+; public: virtual __thiscall IBlackBoxEx2::~IBlackBoxEx2(void)
+??1IBlackBoxEx2@@UAE@XZ
+; public: virtual __thiscall IBlackBoxEx::~IBlackBoxEx(void)
+??1IBlackBoxEx@@UAE@XZ
+; const  IBlackBox::`vftable'
+??_7IBlackBox@@6B@
+; const  IBlackBoxEx2::`vftable'{for `IBlackBox'}
+??_7IBlackBoxEx2@@6BIBlackBox@@@
+; const  IBlackBoxEx2::`vftable'{for `IUnknown'}
+??_7IBlackBoxEx2@@6BIUnknown@@@
+; const  IBlackBoxEx::`vftable'{for `IBlackBox'}
+??_7IBlackBoxEx@@6BIBlackBox@@@
+; const  IBlackBoxEx::`vftable'{for `IUnknown'}
+??_7IBlackBoxEx@@6BIUnknown@@@
+DllMain
+DllRegisterServer
+DllUnregisterServer
+GetHWID
+IBlackBox_CreateInstance2
+IBlackBox_CreateInstance
+IBlackBox_CreateInstanceEx
diff --git a/mingw-w64-crt/lib64/wbrowscap.def b/mingw-w64-crt/lib64/wbrowscap.def
index fb496fa..a551333 100644
--- a/mingw-w64-crt/lib64/wbrowscap.def
+++ b/mingw-w64-crt/lib64/wbrowscap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file BrowsCap.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BrowsCap.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file BrowsCap.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BrowsCap.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbrowser.def b/mingw-w64-crt/lib64/wbrowser.def
index 432cc66..570f077 100644
--- a/mingw-w64-crt/lib64/wbrowser.def
+++ b/mingw-w64-crt/lib64/wbrowser.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file browser.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY browser.dll
-EXPORTS
-I_BrowserServerEnumForXactsrv
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file browser.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY browser.dll
+EXPORTS
+I_BrowserServerEnumForXactsrv
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/wbrowseui.def b/mingw-w64-crt/lib64/wbrowseui.def
index f4ee5aa..48b782f 100644
--- a/mingw-w64-crt/lib64/wbrowseui.def
+++ b/mingw-w64-crt/lib64/wbrowseui.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file BROWSEUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BROWSEUI.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllGetVersion
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file BROWSEUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BROWSEUI.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllGetVersion
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wbrowsewm.def b/mingw-w64-crt/lib64/wbrowsewm.def
index e9f0ada..df46d21 100644
--- a/mingw-w64-crt/lib64/wbrowsewm.def
+++ b/mingw-w64-crt/lib64/wbrowsewm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file BrowseWM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY BrowseWM.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file BrowseWM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY BrowseWM.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wc_eucdb.def b/mingw-w64-crt/lib64/wc_eucdb.def
index e5fd1b9..08d800c 100644
--- a/mingw-w64-crt/lib64/wc_eucdb.def
+++ b/mingw-w64-crt/lib64/wc_eucdb.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file c_eucdb.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY c_eucdb.dll
-EXPORTS
-NlsDllCodePageTranslation
+; 
+; Exports of file c_eucdb.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY c_eucdb.dll
+EXPORTS
+NlsDllCodePageTranslation
diff --git a/mingw-w64-crt/lib64/wc_g18030.def b/mingw-w64-crt/lib64/wc_g18030.def
index d9f8796..c5a3031 100644
--- a/mingw-w64-crt/lib64/wc_g18030.def
+++ b/mingw-w64-crt/lib64/wc_g18030.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file c_gb18030.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY c_gb18030.dll
-EXPORTS
-BytesToUnicode
-NlsDllCodePageTranslation
-UnicodeToBytes
+; 
+; Exports of file c_gb18030.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY c_gb18030.dll
+EXPORTS
+BytesToUnicode
+NlsDllCodePageTranslation
+UnicodeToBytes
diff --git a/mingw-w64-crt/lib64/wc_is2022.def b/mingw-w64-crt/lib64/wc_is2022.def
index fe2c744..2df3e3d 100644
--- a/mingw-w64-crt/lib64/wc_is2022.def
+++ b/mingw-w64-crt/lib64/wc_is2022.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file c_is2022.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY c_is2022.dll
-EXPORTS
-NlsDllCodePageTranslation
+; 
+; Exports of file c_is2022.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY c_is2022.dll
+EXPORTS
+NlsDllCodePageTranslation
diff --git a/mingw-w64-crt/lib64/wc_iscii.def b/mingw-w64-crt/lib64/wc_iscii.def
index b3f3bbf..eef8668 100644
--- a/mingw-w64-crt/lib64/wc_iscii.def
+++ b/mingw-w64-crt/lib64/wc_iscii.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file c_iscii.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY c_iscii.dll
-EXPORTS
-NlsDllCodePageTranslation
+; 
+; Exports of file c_iscii.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY c_iscii.dll
+EXPORTS
+NlsDllCodePageTranslation
diff --git a/mingw-w64-crt/lib64/wc_snadb.def b/mingw-w64-crt/lib64/wc_snadb.def
index bf951e9..94be723 100644
--- a/mingw-w64-crt/lib64/wc_snadb.def
+++ b/mingw-w64-crt/lib64/wc_snadb.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file c_snadb.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY c_snadb.dll
-EXPORTS
-NlsDllCodePageTranslation
+; 
+; Exports of file c_snadb.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY c_snadb.dll
+EXPORTS
+NlsDllCodePageTranslation
diff --git a/mingw-w64-crt/lib64/wcabinet.def b/mingw-w64-crt/lib64/wcabinet.def
index 8925352..17cc720 100644
--- a/mingw-w64-crt/lib64/wcabinet.def
+++ b/mingw-w64-crt/lib64/wcabinet.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file Cabinet.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Cabinet.dll
-EXPORTS
-GetDllVersion
-DllGetVersion
-Extract
-DeleteExtractedFiles
-FCICreate
-FCIAddFile
-FCIFlushFolder
-FCIFlushCabinet
-FCIDestroy
-FDICreate
-FDIIsCabinet
-FDICopy
-FDIDestroy
-FDITruncateCabinet
+; 
+; Exports of file Cabinet.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Cabinet.dll
+EXPORTS
+GetDllVersion
+DllGetVersion
+Extract
+DeleteExtractedFiles
+FCICreate
+FCIAddFile
+FCIFlushFolder
+FCIFlushCabinet
+FCIDestroy
+FDICreate
+FDIIsCabinet
+FDICopy
+FDIDestroy
+FDITruncateCabinet
diff --git a/mingw-w64-crt/lib64/wcabview.def b/mingw-w64-crt/lib64/wcabview.def
index a18cd14..0aa5210 100644
--- a/mingw-w64-crt/lib64/wcabview.def
+++ b/mingw-w64-crt/lib64/wcabview.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file CABVIEW.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CABVIEW.dll
-EXPORTS
-Uninstall
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CABVIEW.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CABVIEW.dll
+EXPORTS
+Uninstall
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcamocx.def b/mingw-w64-crt/lib64/wcamocx.def
index ed6ec38..b447a64 100644
--- a/mingw-w64-crt/lib64/wcamocx.def
+++ b/mingw-w64-crt/lib64/wcamocx.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file camocx.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY camocx.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file camocx.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY camocx.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcards.def b/mingw-w64-crt/lib64/wcards.def
index 3efcc77..f473405 100644
--- a/mingw-w64-crt/lib64/wcards.def
+++ b/mingw-w64-crt/lib64/wcards.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file CARDS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CARDS.dll
-EXPORTS
-WEP
-cdtAnimate
-cdtDraw
-cdtDrawExt
-cdtInit
-cdtTerm
+; 
+; Exports of file CARDS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CARDS.dll
+EXPORTS
+WEP
+cdtAnimate
+cdtDraw
+cdtDrawExt
+cdtInit
+cdtTerm
diff --git a/mingw-w64-crt/lib64/wcatsrv.def b/mingw-w64-crt/lib64/wcatsrv.def
index 1191d07..ee5add5 100644
--- a/mingw-w64-crt/lib64/wcatsrv.def
+++ b/mingw-w64-crt/lib64/wcatsrv.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file catsrv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY catsrv.dll
-EXPORTS
-; long __stdcall CancelWriteICR(struct IComponentRecords * *)
-?CancelWriteICR@@YGJPAPAUIComponentRecords@@@Z
-CreateComponentLibraryTS
-GetCatalogCRMClerk
-; long __stdcall GetReadICR(int,struct IComponentRecords * *)
-?GetReadICR@@YGJHPAPAUIComponentRecords@@@Z
-; long __stdcall GetWriteICR(struct IComponentRecords * *)
-?GetWriteICR@@YGJPAPAUIComponentRecords@@@Z
-OpenComponentLibrarySharedTS
-OpenComponentLibraryTS
-; void __stdcall ReleaseReadICR(struct IComponentRecords * *)
-?ReleaseReadICR@@YGXPAPAUIComponentRecords@@@Z
-; long __stdcall SaveWriteICR(struct IComponentRecords * *)
-?SaveWriteICR@@YGJPAPAUIComponentRecords@@@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file catsrv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY catsrv.dll
+EXPORTS
+; long __stdcall CancelWriteICR(struct IComponentRecords * *)
+?CancelWriteICR@@YGJPAPAUIComponentRecords@@@Z
+CreateComponentLibraryTS
+GetCatalogCRMClerk
+; long __stdcall GetReadICR(int,struct IComponentRecords * *)
+?GetReadICR@@YGJHPAPAUIComponentRecords@@@Z
+; long __stdcall GetWriteICR(struct IComponentRecords * *)
+?GetWriteICR@@YGJPAPAUIComponentRecords@@@Z
+OpenComponentLibrarySharedTS
+OpenComponentLibraryTS
+; void __stdcall ReleaseReadICR(struct IComponentRecords * *)
+?ReleaseReadICR@@YGXPAPAUIComponentRecords@@@Z
+; long __stdcall SaveWriteICR(struct IComponentRecords * *)
+?SaveWriteICR@@YGJPAPAUIComponentRecords@@@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcatsrvps.def b/mingw-w64-crt/lib64/wcatsrvps.def
index 00c99ac..158c122 100644
--- a/mingw-w64-crt/lib64/wcatsrvps.def
+++ b/mingw-w64-crt/lib64/wcatsrvps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file catsrvps.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY catsrvps.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file catsrvps.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY catsrvps.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/wcatsrvut.def b/mingw-w64-crt/lib64/wcatsrvut.def
index be2101e..74c948c 100644
--- a/mingw-w64-crt/lib64/wcatsrvut.def
+++ b/mingw-w64-crt/lib64/wcatsrvut.def
@@ -1,56 +1,56 @@
-; 
-; Exports of file catsrvut.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY catsrvut.DLL
-EXPORTS
-; public: __thiscall CComPlusComponent::CComPlusComponent(class CComPlusComponent const &)
-??0CComPlusComponent@@QAE@ABV0@@Z
-; public: __thiscall CComPlusInterface::CComPlusInterface(class CComPlusInterface const &)
-??0CComPlusInterface@@QAE@ABV0@@Z
-; public: __thiscall CComPlusMethod::CComPlusMethod(class CComPlusMethod const &)
-??0CComPlusMethod@@QAE@ABV0@@Z
-; public: __thiscall CComPlusObject::CComPlusObject(class CComPlusObject const &)
-??0CComPlusObject@@QAE@ABV0@@Z
-; public: virtual __thiscall CComPlusComponent::~CComPlusComponent(void)
-??1CComPlusComponent@@UAE@XZ
-; public: virtual __thiscall CComPlusInterface::~CComPlusInterface(void)
-??1CComPlusInterface@@UAE@XZ
-; public: class CComPlusComponent & __thiscall CComPlusComponent::operator=(class CComPlusComponent const &)
-??4CComPlusComponent@@QAEAAV0@ABV0@@Z
-; public: class CComPlusInterface & __thiscall CComPlusInterface::operator=(class CComPlusInterface const &)
-??4CComPlusInterface@@QAEAAV0@ABV0@@Z
-; public: class CComPlusMethod & __thiscall CComPlusMethod::operator=(class CComPlusMethod const &)
-??4CComPlusMethod@@QAEAAV0@ABV0@@Z
-; public: class CComPlusObject & __thiscall CComPlusObject::operator=(class CComPlusObject const &)
-??4CComPlusObject@@QAEAAV0@ABV0@@Z
-; public: class CComPlusTypelib & __thiscall CComPlusTypelib::operator=(class CComPlusTypelib const &)
-??4CComPlusTypelib@@QAEAAV0@ABV0@@Z
-; const  CComPlusComponent::`vftable'
-??_7CComPlusComponent@@6B@
-; const  CComPlusInterface::`vftable'
-??_7CComPlusInterface@@6B@
-; const  CComPlusMethod::`vftable'
-??_7CComPlusMethod@@6B@
-; const  CComPlusObject::`vftable'
-??_7CComPlusObject@@6B@
-; public: struct ITypeLib * __thiscall CComPlusTypelib::GetITypeLib(void)
-?GetITypeLib@CComPlusTypelib@@QAEPAUITypeLib@@XZ
-RegDBBackup
-RegDBRestore
-StartMTSTOCOM
-WinlogonHandlePendingInfOperations
-CGMIsAdministrator
-COMPlusUninstallActionW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-FindAssemblyModulesW
-ManagedRequestW
-QueryUserDllW
-RunMTSToCom
-SysprepComplus2
-SysprepComplus
+; 
+; Exports of file catsrvut.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY catsrvut.DLL
+EXPORTS
+; public: __thiscall CComPlusComponent::CComPlusComponent(class CComPlusComponent const &)
+??0CComPlusComponent@@QAE@ABV0@@Z
+; public: __thiscall CComPlusInterface::CComPlusInterface(class CComPlusInterface const &)
+??0CComPlusInterface@@QAE@ABV0@@Z
+; public: __thiscall CComPlusMethod::CComPlusMethod(class CComPlusMethod const &)
+??0CComPlusMethod@@QAE@ABV0@@Z
+; public: __thiscall CComPlusObject::CComPlusObject(class CComPlusObject const &)
+??0CComPlusObject@@QAE@ABV0@@Z
+; public: virtual __thiscall CComPlusComponent::~CComPlusComponent(void)
+??1CComPlusComponent@@UAE@XZ
+; public: virtual __thiscall CComPlusInterface::~CComPlusInterface(void)
+??1CComPlusInterface@@UAE@XZ
+; public: class CComPlusComponent & __thiscall CComPlusComponent::operator=(class CComPlusComponent const &)
+??4CComPlusComponent@@QAEAAV0@ABV0@@Z
+; public: class CComPlusInterface & __thiscall CComPlusInterface::operator=(class CComPlusInterface const &)
+??4CComPlusInterface@@QAEAAV0@ABV0@@Z
+; public: class CComPlusMethod & __thiscall CComPlusMethod::operator=(class CComPlusMethod const &)
+??4CComPlusMethod@@QAEAAV0@ABV0@@Z
+; public: class CComPlusObject & __thiscall CComPlusObject::operator=(class CComPlusObject const &)
+??4CComPlusObject@@QAEAAV0@ABV0@@Z
+; public: class CComPlusTypelib & __thiscall CComPlusTypelib::operator=(class CComPlusTypelib const &)
+??4CComPlusTypelib@@QAEAAV0@ABV0@@Z
+; const  CComPlusComponent::`vftable'
+??_7CComPlusComponent@@6B@
+; const  CComPlusInterface::`vftable'
+??_7CComPlusInterface@@6B@
+; const  CComPlusMethod::`vftable'
+??_7CComPlusMethod@@6B@
+; const  CComPlusObject::`vftable'
+??_7CComPlusObject@@6B@
+; public: struct ITypeLib * __thiscall CComPlusTypelib::GetITypeLib(void)
+?GetITypeLib@CComPlusTypelib@@QAEPAUITypeLib@@XZ
+RegDBBackup
+RegDBRestore
+StartMTSTOCOM
+WinlogonHandlePendingInfOperations
+CGMIsAdministrator
+COMPlusUninstallActionW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+FindAssemblyModulesW
+ManagedRequestW
+QueryUserDllW
+RunMTSToCom
+SysprepComplus2
+SysprepComplus
diff --git a/mingw-w64-crt/lib64/wccfgnt.def b/mingw-w64-crt/lib64/wccfgnt.def
index a89d1e3..2a925ae 100644
--- a/mingw-w64-crt/lib64/wccfgnt.def
+++ b/mingw-w64-crt/lib64/wccfgnt.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file ICFGNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICFGNT.dll
-EXPORTS
-IcfgSetInstallSourcePath
-InetSetAutodialAddress
-IcfgGetLastInstallErrorText
-IcfgInstallInetComponents
-IcfgInstallModem
-IcfgIsFileSharingTurnedOn
-IcfgIsGlobalDNS
-IcfgNeedInetComponents
-IcfgNeedModem
-IcfgRemoveGlobalDNS
-IcfgStartServices
-IcfgTurnOffFileSharing
-InetGetAutodial
-InetGetSupportedPlatform
-InetSetAutodial
+; 
+; Exports of file ICFGNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICFGNT.dll
+EXPORTS
+IcfgSetInstallSourcePath
+InetSetAutodialAddress
+IcfgGetLastInstallErrorText
+IcfgInstallInetComponents
+IcfgInstallModem
+IcfgIsFileSharingTurnedOn
+IcfgIsGlobalDNS
+IcfgNeedInetComponents
+IcfgNeedModem
+IcfgRemoveGlobalDNS
+IcfgStartServices
+IcfgTurnOffFileSharing
+InetGetAutodial
+InetGetSupportedPlatform
+InetSetAutodial
diff --git a/mingw-w64-crt/lib64/wcdfview.def b/mingw-w64-crt/lib64/wcdfview.def
index 3a947b7..7b88614 100644
--- a/mingw-w64-crt/lib64/wcdfview.def
+++ b/mingw-w64-crt/lib64/wcdfview.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file CdfView.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CdfView.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-OpenChannel
-ParseDesktopComponent
-Subscribe
-SubscribeToCDF
+; 
+; Exports of file CdfView.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CdfView.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+OpenChannel
+ParseDesktopComponent
+Subscribe
+SubscribeToCDF
diff --git a/mingw-w64-crt/lib64/wcdosys.def b/mingw-w64-crt/lib64/wcdosys.def
index ccee859..de67a44 100644
--- a/mingw-w64-crt/lib64/wcdosys.def
+++ b/mingw-w64-crt/lib64/wcdosys.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CdoSys.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CdoSys.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CdoSys.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CdoSys.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcertcli.def b/mingw-w64-crt/lib64/wcertcli.def
index d595935..06ae3e8 100644
--- a/mingw-w64-crt/lib64/wcertcli.def
+++ b/mingw-w64-crt/lib64/wcertcli.def
@@ -1,89 +1,89 @@
-; 
-; Exports of file certcli.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY certcli.dll
-EXPORTS
-CAAccessCheck
-CAAccessCheckEx
-CAAddCACertificateType
-CACertTypeAccessCheck
-CACertTypeAccessCheckEx
-CACertTypeGetSecurity
-CACertTypeQuery
-CACertTypeRegisterQuery
-CACertTypeSetSecurity
-CACertTypeUnregisterQuery
-CACloneCertType
-CACloseCA
-CACloseCertType
-CACountCAs
-CACountCertTypes
-CACreateAutoEnrollmentObjectEx
-CACreateCertType
-CACreateLocalAutoEnrollmentObject
-CACreateNewCA
-CADeleteCA
-CADeleteCertType
-CADeleteLocalAutoEnrollmentObject
-CAEnumCertTypes
-CAEnumCertTypesEx
-CAEnumCertTypesForCA
-CAEnumCertTypesForCAEx
-CAEnumFirstCA
-CAEnumNextCA
-CAEnumNextCertType
-CAFindByCertType
-CAFindByIssuerDN
-CAFindByName
-CAFindCertTypeByName
-CAFreeCAProperty
-CAFreeCertTypeExtensions
-CAFreeCertTypeProperty
-CAGetCACertificate
-CAGetCAExpiration
-CAGetCAFlags
-CAGetCAProperty
-CAGetCASecurity
-CAGetCertTypeExpiration
-CAGetCertTypeExtensions
-CAGetCertTypeExtensionsEx
-CAGetCertTypeFlags
-CAGetCertTypeFlagsEx
-CAGetCertTypeKeySpec
-CAGetCertTypeProperty
-CAGetCertTypePropertyEx
-CAGetDN
-CAInstallDefaultCertType
-CAIsCertTypeCurrent
-CAOIDAdd
-CAOIDCreateNew
-CAOIDDelete
-CAOIDFreeLdapURL
-CAOIDFreeProperty
-CAOIDGetLdapURL
-CAOIDGetProperty
-CAOIDSetProperty
-CARemoveCACertificateType
-CASetCACertificate
-CASetCAExpiration
-CASetCAFlags
-CASetCAProperty
-CASetCASecurity
-CASetCertTypeExpiration
-CASetCertTypeExtension
-CASetCertTypeFlags
-CASetCertTypeFlagsEx
-CASetCertTypeKeySpec
-CASetCertTypeProperty
-CASetCertTypePropertyEx
-CAUpdateCA
-CAUpdateCertType
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file certcli.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY certcli.dll
+EXPORTS
+CAAccessCheck
+CAAccessCheckEx
+CAAddCACertificateType
+CACertTypeAccessCheck
+CACertTypeAccessCheckEx
+CACertTypeGetSecurity
+CACertTypeQuery
+CACertTypeRegisterQuery
+CACertTypeSetSecurity
+CACertTypeUnregisterQuery
+CACloneCertType
+CACloseCA
+CACloseCertType
+CACountCAs
+CACountCertTypes
+CACreateAutoEnrollmentObjectEx
+CACreateCertType
+CACreateLocalAutoEnrollmentObject
+CACreateNewCA
+CADeleteCA
+CADeleteCertType
+CADeleteLocalAutoEnrollmentObject
+CAEnumCertTypes
+CAEnumCertTypesEx
+CAEnumCertTypesForCA
+CAEnumCertTypesForCAEx
+CAEnumFirstCA
+CAEnumNextCA
+CAEnumNextCertType
+CAFindByCertType
+CAFindByIssuerDN
+CAFindByName
+CAFindCertTypeByName
+CAFreeCAProperty
+CAFreeCertTypeExtensions
+CAFreeCertTypeProperty
+CAGetCACertificate
+CAGetCAExpiration
+CAGetCAFlags
+CAGetCAProperty
+CAGetCASecurity
+CAGetCertTypeExpiration
+CAGetCertTypeExtensions
+CAGetCertTypeExtensionsEx
+CAGetCertTypeFlags
+CAGetCertTypeFlagsEx
+CAGetCertTypeKeySpec
+CAGetCertTypeProperty
+CAGetCertTypePropertyEx
+CAGetDN
+CAInstallDefaultCertType
+CAIsCertTypeCurrent
+CAOIDAdd
+CAOIDCreateNew
+CAOIDDelete
+CAOIDFreeLdapURL
+CAOIDFreeProperty
+CAOIDGetLdapURL
+CAOIDGetProperty
+CAOIDSetProperty
+CARemoveCACertificateType
+CASetCACertificate
+CASetCAExpiration
+CASetCAFlags
+CASetCAProperty
+CASetCASecurity
+CASetCertTypeExpiration
+CASetCertTypeExtension
+CASetCertTypeFlags
+CASetCertTypeFlagsEx
+CASetCertTypeKeySpec
+CASetCertTypeProperty
+CASetCertTypePropertyEx
+CAUpdateCA
+CAUpdateCertType
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/wcertmgr.def b/mingw-w64-crt/lib64/wcertmgr.def
index 286efdd..9ffa779 100644
--- a/mingw-w64-crt/lib64/wcertmgr.def
+++ b/mingw-w64-crt/lib64/wcertmgr.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file CertMgr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CertMgr.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CertMgr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CertMgr.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcertobj.def b/mingw-w64-crt/lib64/wcertobj.def
index 19e51e0..59fca1b 100644
--- a/mingw-w64-crt/lib64/wcertobj.def
+++ b/mingw-w64-crt/lib64/wcertobj.def
@@ -1,466 +1,466 @@
-; 
-; Exports of file CertObj.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CertObj.DLL
-EXPORTS
-; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> > const &)
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@ABV?$allocator@VCString@IIS@@@1@@Z
-; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned int,class IIS::CString const &,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@IABVCString@IIS@@ABV?$allocator@VCString@IIS@@@1@@Z
-; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class IIS::CString const *,class IIS::CString const *,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@PBVCString@IIS@@0ABV?$allocator@VCString@IIS@@@1@@Z
-; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
-??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@Vconst_iterator@01@0ABV?$allocator@VCString@IIS@@@1@@Z
-; public: __thiscall CError::CError(class CError const &)
-??0CError@@QAE@ABV0@@Z
-; public: __thiscall CError::CError(long)
-??0CError@@QAE@J@Z
-; public: __thiscall CError::CError(unsigned long)
-??0CError@@QAE@K@Z
-; public: __thiscall CError::CError(void)
-??0CError@@QAE@XZ
-; public: __thiscall CIISApplication::CIISApplication(class CIISApplication &)
-??0CIISApplication@@QAE@AAV0@@Z
-; public: __thiscall CIISInterface::CIISInterface(class CIISInterface &)
-??0CIISInterface@@QAE@AAV0@@Z
-; public: __thiscall CIISSvcControl::CIISSvcControl(class CIISSvcControl &)
-??0CIISSvcControl@@QAE@AAV0@@Z
-; public: __thiscall CMetaBack::CMetaBack(class CMetaBack &)
-??0CMetaBack@@QAE@AAV0@@Z
-; public: __thiscall CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator &)
-??0CMetaEnumerator@@QAE@AAV0@@Z
-; public: __thiscall CMetaInterface::CMetaInterface(class CMetaInterface &)
-??0CMetaInterface@@QAE@AAV0@@Z
-; public: __thiscall CMetaKey::CMetaKey(class CMetaKey &)
-??0CMetaKey@@QAE@AAV0@@Z
-; public: __thiscall CMetabasePath::CMetabasePath(class CMetabasePath const &)
-??0CMetabasePath@@QAE@ABV0@@Z
-; public: __thiscall CStringListEx::CStringListEx(class CStringListEx const &)
-??0CStringListEx@@QAE@ABV0@@Z
-; public: __thiscall CWamInterface::CWamInterface(class CWamInterface &)
-??0CWamInterface@@QAE@AAV0@@Z
-; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void)
-??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@XZ
-; public: __thiscall CBlob::~CBlob(void)
-??1CBlob@@QAE@XZ
-; public: __thiscall CComAuthInfo::~CComAuthInfo(void)
-??1CComAuthInfo@@QAE@XZ
-; public: virtual __thiscall CIISApplication::~CIISApplication(void)
-??1CIISApplication@@UAE@XZ
-; public: __thiscall CIISInterface::~CIISInterface(void)
-??1CIISInterface@@QAE@XZ
-; public: virtual __thiscall CMetaBack::~CMetaBack(void)
-??1CMetaBack@@UAE@XZ
-; public: virtual __thiscall CMetaEnumerator::~CMetaEnumerator(void)
-??1CMetaEnumerator@@UAE@XZ
-; public: __thiscall CMetabasePath::~CMetabasePath(void)
-??1CMetabasePath@@QAE@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::operator=(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > const &)
-??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class CError const & __thiscall CError::operator=(class CError const &)
-??4CError@@QAEABV0@ABV0@@Z
-; public: class CError const & __thiscall CError::operator=(long)
-??4CError@@QAEABV0@J@Z
-; public: class CIISApplication & __thiscall CIISApplication::operator=(class CIISApplication &)
-??4CIISApplication@@QAEAAV0@AAV0@@Z
-; public: class CIISInterface & __thiscall CIISInterface::operator=(class CIISInterface &)
-??4CIISInterface@@QAEAAV0@AAV0@@Z
-; public: class CIISSvcControl & __thiscall CIISSvcControl::operator=(class CIISSvcControl &)
-??4CIISSvcControl@@QAEAAV0@AAV0@@Z
-; public: class CMetaBack & __thiscall CMetaBack::operator=(class CMetaBack &)
-??4CMetaBack@@QAEAAV0@AAV0@@Z
-; public: class CMetaEnumerator & __thiscall CMetaEnumerator::operator=(class CMetaEnumerator &)
-??4CMetaEnumerator@@QAEAAV0@AAV0@@Z
-; public: class CMetaInterface & __thiscall CMetaInterface::operator=(class CMetaInterface &)
-??4CMetaInterface@@QAEAAV0@AAV0@@Z
-; public: class CMetaKey & __thiscall CMetaKey::operator=(class CMetaKey &)
-??4CMetaKey@@QAEAAV0@AAV0@@Z
-; public: class CMetabasePath & __thiscall CMetabasePath::operator=(class CMetabasePath const &)
-??4CMetabasePath@@QAEAAV0@ABV0@@Z
-; public: class CStringListEx & __thiscall CStringListEx::operator=(class CStringListEx const &)
-??4CStringListEx@@QAEAAV0@ABV0@@Z
-; public: class CWamInterface & __thiscall CWamInterface::operator=(class CWamInterface &)
-??4CWamInterface@@QAEAAV0@AAV0@@Z
-; public: int const  __thiscall CError::operator==(class CError &)
-??8CError@@QAE?BHAAV0@@Z
-; public: int const  __thiscall CError::operator==(long)
-??8CError@@QAE?BHJ@Z
-; public: int __thiscall CBlob::operator!=(class CBlob const &)const 
-??9CBlob@@QBEHABV0@@Z
-; public: int const  __thiscall CError::operator!=(class CError &)
-??9CError@@QAE?BHAAV0@@Z
-; public: int const  __thiscall CError::operator!=(long)
-??9CError@@QAE?BHJ@Z
-; public: bool __thiscall CStrPassword::operator!=(class CStrPassword &)
-??9CStrPassword@@QAE_NAAV0@@Z
-; public: __thiscall CComAuthInfo::operator unsigned short *(void)
-??BCComAuthInfo@@QAEPAGXZ
-; public: __thiscall CComAuthInfo::operator class CComAuthInfo *(void)
-??BCComAuthInfo@@QAEPAV0@XZ
-; public: __thiscall CError::operator unsigned short const *(void)
-??BCError@@QAEPBGXZ
-; public: __thiscall CError::operator int const (void)const 
-??BCError@@QBE?BHXZ
-; public: __thiscall CError::operator long const (void)const 
-??BCError@@QBE?BJXZ
-; public: __thiscall CError::operator unsigned long const (void)const 
-??BCError@@QBE?BKXZ
-; public: __thiscall CIISInterface::operator int(void)const 
-??BCIISInterface@@QBEHXZ
-; public: __thiscall CIISInterface::operator long(void)const 
-??BCIISInterface@@QBEJXZ
-; public: __thiscall CMetaKey::operator int(void)const 
-??BCMetaKey@@QBEHXZ
-; public: __thiscall CMetaKey::operator unsigned long(void)const 
-??BCMetaKey@@QBEKXZ
-; public: __thiscall CMetaKey::operator unsigned short const *(void)const 
-??BCMetaKey@@QBEPBGXZ
-; public: __thiscall CMetabasePath::operator unsigned short const *(void)const 
-??BCMetabasePath@@QBEPBGXZ
-; const  CIISApplication::`vftable'{for `CMetaKey'}
-??_7CIISApplication@@6BCMetaKey@@@
-; const  CIISApplication::`vftable'{for `CWamInterface'}
-??_7CIISApplication@@6BCWamInterface@@@
-; const  CIISInterface::`vftable'
-??_7CIISInterface@@6B@
-; const  CIISSvcControl::`vftable'
-??_7CIISSvcControl@@6B@
-; const  CMetaBack::`vftable'{for `CMetaInterface'}
-??_7CMetaBack@@6BCMetaInterface@@@
-; const  CMetaBack::`vftable'{for `CWamInterface'}
-??_7CMetaBack@@6BCWamInterface@@@
-; const  CMetaEnumerator::`vftable'
-??_7CMetaEnumerator@@6B@
-; const  CMetaInterface::`vftable'
-??_7CMetaInterface@@6B@
-; const  CMetaKey::`vftable'
-??_7CMetaKey@@6B@
-; const  CWamInterface::`vftable'
-??_7CWamInterface@@6B@
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void)
-??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
-; public: void __thiscall CComAuthInfo::`default constructor closure'(void)
-??_FCComAuthInfo@@QAEXXZ
-; public: void __thiscall CMetabasePath::`default constructor closure'(void)
-??_FCMetabasePath@@QAEXXZ
-; protected: long __thiscall CMetaInterface::AddKey(unsigned long,unsigned short const *)
-?AddKey@CMetaInterface@@IAEJKPBG@Z
-; public: long __thiscall CMetaKey::AddKey(unsigned short const *)
-?AddKey@CMetaKey@@QAEJPBG@Z
-; protected: long __thiscall CWamInterface::AppDelete(unsigned short const *,int)
-?AppDelete@CWamInterface@@IAEJPBGH@Z
-; protected: long __thiscall CWamInterface::AppDeleteRecoverable(unsigned short const *,int)
-?AppDeleteRecoverable@CWamInterface@@IAEJPBGH@Z
-; protected: long __thiscall CWamInterface::AppGetStatus(unsigned short const *,unsigned long *)
-?AppGetStatus@CWamInterface@@IAEJPBGPAK@Z
-; protected: long __thiscall CWamInterface::AppRecover(unsigned short const *,int)
-?AppRecover@CWamInterface@@IAEJPBGH@Z
-; protected: long __thiscall CWamInterface::AppUnLoad(unsigned short const *,int)
-?AppUnLoad@CWamInterface@@IAEJPBGH@Z
-; protected: virtual long __thiscall CIISSvcControl::ApplyProxyBlanket(void)
-?ApplyProxyBlanket@CIISSvcControl@@MAEJXZ
-; protected: virtual long __thiscall CMetaBack::ApplyProxyBlanket(void)
-?ApplyProxyBlanket@CMetaBack@@MAEJXZ
-; protected: virtual long __thiscall CMetaInterface::ApplyProxyBlanket(void)
-?ApplyProxyBlanket@CMetaInterface@@MAEJXZ
-; protected: virtual long __thiscall CWamInterface::ApplyProxyBlanket(void)
-?ApplyProxyBlanket@CWamInterface@@MAEJXZ
-; public: long __thiscall CMetaBack::Backup(unsigned short const *)
-?Backup@CMetaBack@@QAEJPBG@Z
-; protected: long __thiscall CMetaInterface::Backup(unsigned short const *,unsigned long,unsigned long)
-?Backup@CMetaInterface@@IAEJPBGKK@Z
-; public: virtual long __thiscall CIISInterface::ChangeProxyBlanket(unsigned short const *,unsigned short const *)
-?ChangeProxyBlanket@CIISInterface@@UAEJPBG0@Z
-; protected: long __thiscall CMetaInterface::CloseKey(unsigned long)
-?CloseKey@CMetaInterface@@IAEJK@Z
-; protected: long __thiscall CMetaInterface::CopyData(unsigned long,unsigned short const *,unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,int)
-?CopyData@CMetaInterface@@IAEJKPBGK0KKKH@Z
-; protected: long __thiscall CMetaInterface::CopyKey(unsigned long,unsigned short const *,unsigned long,unsigned short const *,int,int)
-?CopyKey@CMetaInterface@@IAEJKPBGK0HH@Z
-; public: long __thiscall CIISApplication::Delete(int)
-?Delete@CIISApplication@@QAEJH@Z
-; public: long __thiscall CMetaBack::Delete(unsigned short const *,unsigned long)
-?Delete@CMetaBack@@QAEJPBGK@Z
-; protected: long __thiscall CMetaInterface::DeleteAllData(unsigned long,unsigned short const *,unsigned long,unsigned long)
-?DeleteAllData@CMetaInterface@@IAEJKPBGKK@Z
-; protected: long __thiscall CMetaInterface::DeleteBackup(unsigned short const *,unsigned long)
-?DeleteBackup@CMetaInterface@@IAEJPBGK@Z
-; protected: long __thiscall CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const *)
-?DeleteChildKeys@CMetaInterface@@IAEJKPBG@Z
-; protected: long __thiscall CMetaInterface::DeleteData(unsigned long,unsigned short const *,unsigned long,unsigned long)
-?DeleteData@CMetaInterface@@IAEJKPBGKK@Z
-; protected: long __thiscall CMetaInterface::DeleteKey(unsigned long,unsigned short const *)
-?DeleteKey@CMetaInterface@@IAEJKPBG@Z
-; public: long __thiscall CMetaKey::DeleteKey(unsigned short const *)
-?DeleteKey@CMetaKey@@QAEJPBG@Z
-; public: long __thiscall CIISApplication::DeleteRecoverable(int)
-?DeleteRecoverable@CIISApplication@@QAEJH@Z
-; protected: long __thiscall CMetaInterface::EnumBackups(unsigned short *,unsigned long *,struct _FILETIME *,unsigned long)
-?EnumBackups@CMetaInterface@@IAEJPAGPAKPAU_FILETIME@@K@Z
-; protected: long __thiscall CMetaInterface::EnumData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long,unsigned long *)
-?EnumData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@KPAK@Z
-; protected: long __thiscall CMetaInterface::EnumKeys(unsigned long,unsigned short const *,unsigned short *,unsigned long)
-?EnumKeys@CMetaInterface@@IAEJKPBGPAGK@Z
-; public: int __thiscall CError::Failed(void)const 
-?Failed@CError@@QBEHXZ
-; public: static int __stdcall CError::Failed(long)
-?Failed@CError@@SGHJ@Z
-; protected: long __thiscall CMetaInterface::GetAllData(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,unsigned long,unsigned char *,unsigned long *)
-?GetAllData@CMetaInterface@@IAEJKPBGKKKPAK1KPAE1@Z
-; public: unsigned long __thiscall CMetaKey::GetBase(void)const 
-?GetBase@CMetaKey@@QBEKXZ
-; public: unsigned char * __thiscall CBlob::GetData(void)
-?GetData@CBlob@@QAEPAEXZ
-; protected: long __thiscall CMetaInterface::GetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long *)
-?GetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@PAK@Z
-; protected: long __thiscall CMetaInterface::GetDataPaths(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned short *,unsigned long *)
-?GetDataPaths@CMetaInterface@@IAEJKPBGKKKPAGPAK@Z
-; public: unsigned long __thiscall CMetaKey::GetHandle(void)const 
-?GetHandle@CMetaKey@@QBEKXZ
-; public: unsigned long __thiscall CMetaEnumerator::GetIndex(void)
-?GetIndex@CMetaEnumerator@@QAEKXZ
-; public: static unsigned short const * __stdcall CMetabasePath::GetInstancePath(unsigned short const *,class IIS::CString &,class IIS::CString *)
-?GetInstancePath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
-; public: struct IMSAdminBaseW * __thiscall CMetaInterface::GetInterface(void)
-?GetInterface@CMetaInterface@@QAEPAUIMSAdminBaseW@@XZ
-; protected: long __thiscall CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
-?GetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
-; public: void __thiscall CError::GetLastWinError(void)
-?GetLastWinError@CError@@QAEXXZ
-; public: static unsigned short const * __stdcall CMetabasePath::GetMachinePath(unsigned short const *,class IIS::CString &,class IIS::CString *)
-?GetMachinePath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
-; public: static unsigned short const * __stdcall CMetabasePath::GetRootPath(unsigned short const *,class IIS::CString &,class IIS::CString *)
-?GetRootPath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
-; public: static unsigned short const * __stdcall CMetabasePath::GetServicePath(unsigned short const *,class IIS::CString &,class IIS::CString *)
-?GetServicePath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
-; public: unsigned long __thiscall CBlob::GetSize(void)const 
-?GetSize@CBlob@@QBEKXZ
-; public: long __thiscall CError::HResult(void)const 
-?HResult@CError@@QBEJXZ
-; public: static long __stdcall CError::HResult(long)
-?HResult@CError@@SGJJ@Z
-; protected: int __thiscall CIISSvcControl::HasInterface(void)const 
-?HasInterface@CIISSvcControl@@IBEHXZ
-; protected: int __thiscall CMetaInterface::HasInterface(void)const 
-?HasInterface@CMetaInterface@@IBEHXZ
-; protected: int __thiscall CWamInterface::HasInterface(void)const 
-?HasInterface@CWamInterface@@IBEHXZ
-; public: int __thiscall CBlob::IsEmpty(void)const 
-?IsEmpty@CBlob@@QBEHXZ
-; public: int __thiscall CIISApplication::IsEnabledApplication(void)const 
-?IsEnabledApplication@CIISApplication@@QBEHXZ
-; public: int __thiscall CMetaKey::IsHomeDirectoryPath(void)const 
-?IsHomeDirectoryPath@CMetaKey@@QBEHXZ
-; public: int __thiscall CMetabasePath::IsHomeDirectoryPath(void)const 
-?IsHomeDirectoryPath@CMetabasePath@@QBEHXZ
-; public: int __thiscall CIISApplication::IsInproc(void)const 
-?IsInproc@CIISApplication@@QBEHXZ
-; public: int __thiscall CComAuthInfo::IsLocal(void)const 
-?IsLocal@CComAuthInfo@@QBEHXZ
-; public: int __thiscall CIISInterface::IsLocal(void)const 
-?IsLocal@CIISInterface@@QBEHXZ
-; public: int __thiscall CMetaKey::IsOpen(void)const 
-?IsOpen@CMetaKey@@QBEHXZ
-; public: int __thiscall CIISApplication::IsOutOfProc(void)const 
-?IsOutOfProc@CIISApplication@@QBEHXZ
-; public: int __thiscall CIISApplication::IsPooledProc(void)const 
-?IsPooledProc@CIISApplication@@QBEHXZ
-; public: long __thiscall CIISSvcControl::Kill(void)
-?Kill@CIISSvcControl@@QAEJXZ
-; public: long __thiscall CMetaBack::Next(unsigned long *,unsigned short *,struct _FILETIME *)
-?Next@CMetaBack@@QAEJPAKPAGPAU_FILETIME@@@Z
-; protected: long __thiscall CMetaInterface::OpenKey(unsigned long,unsigned short const *,unsigned long,unsigned long *)
-?OpenKey@CMetaInterface@@IAEJKPBGKPAK@Z
-; public: void __thiscall CMetaEnumerator::Pop(void)
-?Pop@CMetaEnumerator@@QAEXXZ
-; public: void __thiscall CMetaEnumerator::Push(void)
-?Push@CMetaEnumerator@@QAEXXZ
-; public: unsigned long __thiscall CIISApplication::QueryAppState(void)const 
-?QueryAppState@CIISApplication@@QBEKXZ
-; public: class CComAuthInfo * __thiscall CIISInterface::QueryAuthInfo(void)
-?QueryAuthInfo@CIISInterface@@QAEPAVCComAuthInfo@@XZ
-; public: unsigned long __thiscall CMetaKey::QueryFlags(void)const 
-?QueryFlags@CMetaKey@@QBEKXZ
-; public: unsigned short const * __thiscall CMetaKey::QueryMetaPath(void)const 
-?QueryMetaPath@CMetaKey@@QBEPBGXZ
-; public: unsigned short const * __thiscall CMetabasePath::QueryMetaPath(void)const 
-?QueryMetaPath@CMetabasePath@@QBEPBGXZ
-; public: unsigned short * __thiscall CComAuthInfo::QueryPassword(void)const 
-?QueryPassword@CComAuthInfo@@QBEPAGXZ
-; public: virtual long __thiscall CIISInterface::QueryResult(void)const 
-?QueryResult@CIISInterface@@UBEJXZ
-; public: unsigned short * __thiscall CComAuthInfo::QueryServerName(void)const 
-?QueryServerName@CComAuthInfo@@QBEPAGXZ
-; public: unsigned short const * __thiscall CIISInterface::QueryServerName(void)const 
-?QueryServerName@CIISInterface@@QBEPBGXZ
-; public: unsigned short * __thiscall CComAuthInfo::QueryUserName(void)const 
-?QueryUserName@CComAuthInfo@@QBEPAGXZ
-; public: long __thiscall CMetaKey::QueryValue(unsigned long,int &,int *,unsigned short const *,unsigned long *)
-?QueryValue@CMetaKey@@QAEJKAAHPAHPBGPAK@Z
-; public: unsigned short const * __thiscall CIISApplication::QueryWamPath(void)const 
-?QueryWamPath@CIISApplication@@QBEPBGXZ
-; public: long __thiscall CMetaKey::ReOpen(unsigned long)
-?ReOpen@CMetaKey@@QAEJK@Z
-; public: long __thiscall CMetaKey::ReOpen(void)
-?ReOpen@CMetaKey@@QAEJXZ
-; public: long __thiscall CIISSvcControl::Reboot(unsigned long,int)
-?Reboot@CIISSvcControl@@QAEJKH@Z
-; public: long __thiscall CIISApplication::Recover(int)
-?Recover@CIISApplication@@QAEJH@Z
-; public: void __thiscall CError::RemoveOverride(long)
-?RemoveOverride@CError@@QAEXJ@Z
-; protected: long __thiscall CMetaInterface::RenameKey(unsigned long,unsigned short const *,unsigned short const *)
-?RenameKey@CMetaInterface@@IAEJKPBG0@Z
-; public: long __thiscall CMetaKey::RenameKey(unsigned short const *,unsigned short const *)
-?RenameKey@CMetaKey@@QAEJPBG0@Z
-; public: void __thiscall CError::Reset(void)
-?Reset@CError@@QAEXXZ
-; public: void __thiscall CMetaBack::Reset(void)
-?Reset@CMetaBack@@QAEXXZ
-; public: void __thiscall CMetaEnumerator::Reset(unsigned long)
-?Reset@CMetaEnumerator@@QAEXK@Z
-; protected: long __thiscall CMetaInterface::Restore(unsigned short const *,unsigned long,unsigned long)
-?Restore@CMetaInterface@@IAEJPBGKK@Z
-; public: long __thiscall CMetaInterface::SaveData(void)
-?SaveData@CMetaInterface@@QAEJXZ
-; protected: long __thiscall CMetaInterface::SetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *)
-?SetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@@Z
-; protected: long __thiscall CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
-?SetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
-; public: void __thiscall CError::SetLastWinError(void)const 
-?SetLastWinError@CError@@QBEXXZ
-; public: long __thiscall CMetaKey::SetValue(unsigned long,class IIS::CString &,int *,unsigned short const *)
-?SetValue@CMetaKey@@QAEJKAAVCString@IIS@@PAHPBG@Z
-; public: long __thiscall CMetaKey::SetValue(unsigned long,int,int *,unsigned short const *)
-?SetValue@CMetaKey@@QAEJKHPAHPBG@Z
-; public: long __thiscall CMetaKey::SetValue(unsigned long,unsigned long,int *,unsigned short const *)
-?SetValue@CMetaKey@@QAEJKKPAHPBG@Z
-; public: long __thiscall CIISSvcControl::Start(unsigned long)
-?Start@CIISSvcControl@@QAEJK@Z
-; public: long __thiscall CIISSvcControl::Status(unsigned long,unsigned char *,unsigned long *,unsigned long *)
-?Status@CIISSvcControl@@QAEJKPAEPAK1@Z
-; public: long __thiscall CIISSvcControl::Stop(unsigned long,int)
-?Stop@CIISSvcControl@@QAEJKH@Z
-; public: void __thiscall CComAuthInfo::StorePassword(unsigned short const *)
-?StorePassword@CComAuthInfo@@QAEXPBG@Z
-; public: int __thiscall CError::Succeeded(void)const 
-?Succeeded@CError@@QBEHXZ
-; public: static int __stdcall CError::Succeeded(long)
-?Succeeded@CError@@SGHJ@Z
-; public: virtual int __thiscall CIISInterface::Succeeded(void)const 
-?Succeeded@CIISInterface@@UBEHXZ
-; public: int __thiscall CWamInterface::SupportsPooledProc(void)const 
-?SupportsPooledProc@CWamInterface@@QBEHXZ
-; public: long __thiscall CIISApplication::Unload(int)
-?Unload@CIISApplication@@QAEJH@Z
-; public: static void __stdcall CError::UnregisterFacility(unsigned long)
-?UnregisterFacility@CError@@SGXK@Z
-; public: int __thiscall CComAuthInfo::UsesImpersonation(void)const 
-?UsesImpersonation@CComAuthInfo@@QBEHXZ
-; public: unsigned long __thiscall CError::Win32Error(void)const 
-?Win32Error@CError@@QBEKXZ
-; public: static unsigned long __stdcall CError::Win32Error(long)
-?Win32Error@CError@@SGKJ@Z
-; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Buynode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node *,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node *)
-?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IAEPAU_Node@12@PAU312@0@Z
-; protected: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Freenode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node *)
-?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IAEXPAU_Node@12@@Z
-; protected: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
-?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IAEXViterator@12@AAV12@00@Z
-; protected: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const 
-?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IBEXXZ
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned int,class IIS::CString const &)
-?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXIABVCString@IIS@@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator)
-?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXVconst_iterator@12@0@Z
-; public: class IIS::CString & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)
-?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEAAVCString@IIS@@XZ
-; public: class IIS::CString const & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const 
-?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEABVCString@IIS@@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)
-?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const 
-?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AVconst_iterator@12@XZ
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void)
-?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
-; public: bool __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const 
-?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE_NXZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)
-?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const 
-?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AVconst_iterator@12@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
-?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@V312@0@Z
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
-?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@V312@@Z
-; public: class IIS::CString & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)
-?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEAAVCString@IIS@@XZ
-; public: class IIS::CString const & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const 
-?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEABVCString@IIS@@XZ
-; public: class std::allocator<class IIS::CString>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const 
-?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AV?$allocator@VCString@IIS@@@2@XZ
-; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const &)
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@V312@ABVCString@IIS@@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,unsigned int,class IIS::CString const &)
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@IABVCString@IIS@@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const *,class IIS::CString const *)
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@PBVCString@IIS@@1@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator)
-?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@Vconst_iterator@12@1@Z
-; public: unsigned int __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const 
-?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEIXZ
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &)
-?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXAAV12@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &,struct std::greater<class IIS::CString>)
-?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXAAV12@U?$greater@VCString@IIS@@@2@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void)
-?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void)
-?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const &)
-?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXABVCString@IIS@@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const &)
-?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXABVCString@IIS@@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString &,class IIS::CString *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)
-?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AAV45@PAV45@H@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const &,class IIS::CString const *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const 
-?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@ABV45@PBV45@H@2@XZ
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const &)
-?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXABVCString@IIS@@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >)
-?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXV?$binder2nd@U?$not_equal_to@VCString@IIS@@@std@@@2@@Z
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString &,class IIS::CString *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)
-?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AAV45@PAV45@H@2@XZ
-; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const &,class IIS::CString const *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const 
-?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@ABV45@PBV45@H@2@XZ
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned int,class IIS::CString)
-?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXIVCString@IIS@@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void)
-?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
-; public: unsigned int __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const 
-?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEIXZ
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>)
-?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXU?$greater@VCString@IIS@@@2@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void)
-?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@AAV12@00@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@AAV12@0@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &)
-?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@AAV12@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &)
-?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXAAV12@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>)
-?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXU?$not_equal_to@VCString@IIS@@@2@@Z
-; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void)
-?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CertObj.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CertObj.DLL
+EXPORTS
+; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> > const &)
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@ABV?$allocator@VCString@IIS@@@1@@Z
+; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned int,class IIS::CString const &,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@IABVCString@IIS@@ABV?$allocator@VCString@IIS@@@1@@Z
+; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class IIS::CString const *,class IIS::CString const *,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@PBVCString@IIS@@0ABV?$allocator@VCString@IIS@@@1@@Z
+; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
+??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@Vconst_iterator@01@0ABV?$allocator@VCString@IIS@@@1@@Z
+; public: __thiscall CError::CError(class CError const &)
+??0CError@@QAE@ABV0@@Z
+; public: __thiscall CError::CError(long)
+??0CError@@QAE@J@Z
+; public: __thiscall CError::CError(unsigned long)
+??0CError@@QAE@K@Z
+; public: __thiscall CError::CError(void)
+??0CError@@QAE@XZ
+; public: __thiscall CIISApplication::CIISApplication(class CIISApplication &)
+??0CIISApplication@@QAE@AAV0@@Z
+; public: __thiscall CIISInterface::CIISInterface(class CIISInterface &)
+??0CIISInterface@@QAE@AAV0@@Z
+; public: __thiscall CIISSvcControl::CIISSvcControl(class CIISSvcControl &)
+??0CIISSvcControl@@QAE@AAV0@@Z
+; public: __thiscall CMetaBack::CMetaBack(class CMetaBack &)
+??0CMetaBack@@QAE@AAV0@@Z
+; public: __thiscall CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator &)
+??0CMetaEnumerator@@QAE@AAV0@@Z
+; public: __thiscall CMetaInterface::CMetaInterface(class CMetaInterface &)
+??0CMetaInterface@@QAE@AAV0@@Z
+; public: __thiscall CMetaKey::CMetaKey(class CMetaKey &)
+??0CMetaKey@@QAE@AAV0@@Z
+; public: __thiscall CMetabasePath::CMetabasePath(class CMetabasePath const &)
+??0CMetabasePath@@QAE@ABV0@@Z
+; public: __thiscall CStringListEx::CStringListEx(class CStringListEx const &)
+??0CStringListEx@@QAE@ABV0@@Z
+; public: __thiscall CWamInterface::CWamInterface(class CWamInterface &)
+??0CWamInterface@@QAE@AAV0@@Z
+; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void)
+??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@XZ
+; public: __thiscall CBlob::~CBlob(void)
+??1CBlob@@QAE@XZ
+; public: __thiscall CComAuthInfo::~CComAuthInfo(void)
+??1CComAuthInfo@@QAE@XZ
+; public: virtual __thiscall CIISApplication::~CIISApplication(void)
+??1CIISApplication@@UAE@XZ
+; public: __thiscall CIISInterface::~CIISInterface(void)
+??1CIISInterface@@QAE@XZ
+; public: virtual __thiscall CMetaBack::~CMetaBack(void)
+??1CMetaBack@@UAE@XZ
+; public: virtual __thiscall CMetaEnumerator::~CMetaEnumerator(void)
+??1CMetaEnumerator@@UAE@XZ
+; public: __thiscall CMetabasePath::~CMetabasePath(void)
+??1CMetabasePath@@QAE@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::operator=(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > const &)
+??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class CError const & __thiscall CError::operator=(class CError const &)
+??4CError@@QAEABV0@ABV0@@Z
+; public: class CError const & __thiscall CError::operator=(long)
+??4CError@@QAEABV0@J@Z
+; public: class CIISApplication & __thiscall CIISApplication::operator=(class CIISApplication &)
+??4CIISApplication@@QAEAAV0@AAV0@@Z
+; public: class CIISInterface & __thiscall CIISInterface::operator=(class CIISInterface &)
+??4CIISInterface@@QAEAAV0@AAV0@@Z
+; public: class CIISSvcControl & __thiscall CIISSvcControl::operator=(class CIISSvcControl &)
+??4CIISSvcControl@@QAEAAV0@AAV0@@Z
+; public: class CMetaBack & __thiscall CMetaBack::operator=(class CMetaBack &)
+??4CMetaBack@@QAEAAV0@AAV0@@Z
+; public: class CMetaEnumerator & __thiscall CMetaEnumerator::operator=(class CMetaEnumerator &)
+??4CMetaEnumerator@@QAEAAV0@AAV0@@Z
+; public: class CMetaInterface & __thiscall CMetaInterface::operator=(class CMetaInterface &)
+??4CMetaInterface@@QAEAAV0@AAV0@@Z
+; public: class CMetaKey & __thiscall CMetaKey::operator=(class CMetaKey &)
+??4CMetaKey@@QAEAAV0@AAV0@@Z
+; public: class CMetabasePath & __thiscall CMetabasePath::operator=(class CMetabasePath const &)
+??4CMetabasePath@@QAEAAV0@ABV0@@Z
+; public: class CStringListEx & __thiscall CStringListEx::operator=(class CStringListEx const &)
+??4CStringListEx@@QAEAAV0@ABV0@@Z
+; public: class CWamInterface & __thiscall CWamInterface::operator=(class CWamInterface &)
+??4CWamInterface@@QAEAAV0@AAV0@@Z
+; public: int const  __thiscall CError::operator==(class CError &)
+??8CError@@QAE?BHAAV0@@Z
+; public: int const  __thiscall CError::operator==(long)
+??8CError@@QAE?BHJ@Z
+; public: int __thiscall CBlob::operator!=(class CBlob const &)const 
+??9CBlob@@QBEHABV0@@Z
+; public: int const  __thiscall CError::operator!=(class CError &)
+??9CError@@QAE?BHAAV0@@Z
+; public: int const  __thiscall CError::operator!=(long)
+??9CError@@QAE?BHJ@Z
+; public: bool __thiscall CStrPassword::operator!=(class CStrPassword &)
+??9CStrPassword@@QAE_NAAV0@@Z
+; public: __thiscall CComAuthInfo::operator unsigned short *(void)
+??BCComAuthInfo@@QAEPAGXZ
+; public: __thiscall CComAuthInfo::operator class CComAuthInfo *(void)
+??BCComAuthInfo@@QAEPAV0@XZ
+; public: __thiscall CError::operator unsigned short const *(void)
+??BCError@@QAEPBGXZ
+; public: __thiscall CError::operator int const (void)const 
+??BCError@@QBE?BHXZ
+; public: __thiscall CError::operator long const (void)const 
+??BCError@@QBE?BJXZ
+; public: __thiscall CError::operator unsigned long const (void)const 
+??BCError@@QBE?BKXZ
+; public: __thiscall CIISInterface::operator int(void)const 
+??BCIISInterface@@QBEHXZ
+; public: __thiscall CIISInterface::operator long(void)const 
+??BCIISInterface@@QBEJXZ
+; public: __thiscall CMetaKey::operator int(void)const 
+??BCMetaKey@@QBEHXZ
+; public: __thiscall CMetaKey::operator unsigned long(void)const 
+??BCMetaKey@@QBEKXZ
+; public: __thiscall CMetaKey::operator unsigned short const *(void)const 
+??BCMetaKey@@QBEPBGXZ
+; public: __thiscall CMetabasePath::operator unsigned short const *(void)const 
+??BCMetabasePath@@QBEPBGXZ
+; const  CIISApplication::`vftable'{for `CMetaKey'}
+??_7CIISApplication@@6BCMetaKey@@@
+; const  CIISApplication::`vftable'{for `CWamInterface'}
+??_7CIISApplication@@6BCWamInterface@@@
+; const  CIISInterface::`vftable'
+??_7CIISInterface@@6B@
+; const  CIISSvcControl::`vftable'
+??_7CIISSvcControl@@6B@
+; const  CMetaBack::`vftable'{for `CMetaInterface'}
+??_7CMetaBack@@6BCMetaInterface@@@
+; const  CMetaBack::`vftable'{for `CWamInterface'}
+??_7CMetaBack@@6BCWamInterface@@@
+; const  CMetaEnumerator::`vftable'
+??_7CMetaEnumerator@@6B@
+; const  CMetaInterface::`vftable'
+??_7CMetaInterface@@6B@
+; const  CMetaKey::`vftable'
+??_7CMetaKey@@6B@
+; const  CWamInterface::`vftable'
+??_7CWamInterface@@6B@
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void)
+??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
+; public: void __thiscall CComAuthInfo::`default constructor closure'(void)
+??_FCComAuthInfo@@QAEXXZ
+; public: void __thiscall CMetabasePath::`default constructor closure'(void)
+??_FCMetabasePath@@QAEXXZ
+; protected: long __thiscall CMetaInterface::AddKey(unsigned long,unsigned short const *)
+?AddKey@CMetaInterface@@IAEJKPBG@Z
+; public: long __thiscall CMetaKey::AddKey(unsigned short const *)
+?AddKey@CMetaKey@@QAEJPBG@Z
+; protected: long __thiscall CWamInterface::AppDelete(unsigned short const *,int)
+?AppDelete@CWamInterface@@IAEJPBGH@Z
+; protected: long __thiscall CWamInterface::AppDeleteRecoverable(unsigned short const *,int)
+?AppDeleteRecoverable@CWamInterface@@IAEJPBGH@Z
+; protected: long __thiscall CWamInterface::AppGetStatus(unsigned short const *,unsigned long *)
+?AppGetStatus@CWamInterface@@IAEJPBGPAK@Z
+; protected: long __thiscall CWamInterface::AppRecover(unsigned short const *,int)
+?AppRecover@CWamInterface@@IAEJPBGH@Z
+; protected: long __thiscall CWamInterface::AppUnLoad(unsigned short const *,int)
+?AppUnLoad@CWamInterface@@IAEJPBGH@Z
+; protected: virtual long __thiscall CIISSvcControl::ApplyProxyBlanket(void)
+?ApplyProxyBlanket@CIISSvcControl@@MAEJXZ
+; protected: virtual long __thiscall CMetaBack::ApplyProxyBlanket(void)
+?ApplyProxyBlanket@CMetaBack@@MAEJXZ
+; protected: virtual long __thiscall CMetaInterface::ApplyProxyBlanket(void)
+?ApplyProxyBlanket@CMetaInterface@@MAEJXZ
+; protected: virtual long __thiscall CWamInterface::ApplyProxyBlanket(void)
+?ApplyProxyBlanket@CWamInterface@@MAEJXZ
+; public: long __thiscall CMetaBack::Backup(unsigned short const *)
+?Backup@CMetaBack@@QAEJPBG@Z
+; protected: long __thiscall CMetaInterface::Backup(unsigned short const *,unsigned long,unsigned long)
+?Backup@CMetaInterface@@IAEJPBGKK@Z
+; public: virtual long __thiscall CIISInterface::ChangeProxyBlanket(unsigned short const *,unsigned short const *)
+?ChangeProxyBlanket@CIISInterface@@UAEJPBG0@Z
+; protected: long __thiscall CMetaInterface::CloseKey(unsigned long)
+?CloseKey@CMetaInterface@@IAEJK@Z
+; protected: long __thiscall CMetaInterface::CopyData(unsigned long,unsigned short const *,unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,int)
+?CopyData@CMetaInterface@@IAEJKPBGK0KKKH@Z
+; protected: long __thiscall CMetaInterface::CopyKey(unsigned long,unsigned short const *,unsigned long,unsigned short const *,int,int)
+?CopyKey@CMetaInterface@@IAEJKPBGK0HH@Z
+; public: long __thiscall CIISApplication::Delete(int)
+?Delete@CIISApplication@@QAEJH@Z
+; public: long __thiscall CMetaBack::Delete(unsigned short const *,unsigned long)
+?Delete@CMetaBack@@QAEJPBGK@Z
+; protected: long __thiscall CMetaInterface::DeleteAllData(unsigned long,unsigned short const *,unsigned long,unsigned long)
+?DeleteAllData@CMetaInterface@@IAEJKPBGKK@Z
+; protected: long __thiscall CMetaInterface::DeleteBackup(unsigned short const *,unsigned long)
+?DeleteBackup@CMetaInterface@@IAEJPBGK@Z
+; protected: long __thiscall CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const *)
+?DeleteChildKeys@CMetaInterface@@IAEJKPBG@Z
+; protected: long __thiscall CMetaInterface::DeleteData(unsigned long,unsigned short const *,unsigned long,unsigned long)
+?DeleteData@CMetaInterface@@IAEJKPBGKK@Z
+; protected: long __thiscall CMetaInterface::DeleteKey(unsigned long,unsigned short const *)
+?DeleteKey@CMetaInterface@@IAEJKPBG@Z
+; public: long __thiscall CMetaKey::DeleteKey(unsigned short const *)
+?DeleteKey@CMetaKey@@QAEJPBG@Z
+; public: long __thiscall CIISApplication::DeleteRecoverable(int)
+?DeleteRecoverable@CIISApplication@@QAEJH@Z
+; protected: long __thiscall CMetaInterface::EnumBackups(unsigned short *,unsigned long *,struct _FILETIME *,unsigned long)
+?EnumBackups@CMetaInterface@@IAEJPAGPAKPAU_FILETIME@@K@Z
+; protected: long __thiscall CMetaInterface::EnumData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long,unsigned long *)
+?EnumData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@KPAK@Z
+; protected: long __thiscall CMetaInterface::EnumKeys(unsigned long,unsigned short const *,unsigned short *,unsigned long)
+?EnumKeys@CMetaInterface@@IAEJKPBGPAGK@Z
+; public: int __thiscall CError::Failed(void)const 
+?Failed@CError@@QBEHXZ
+; public: static int __stdcall CError::Failed(long)
+?Failed@CError@@SGHJ@Z
+; protected: long __thiscall CMetaInterface::GetAllData(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,unsigned long,unsigned char *,unsigned long *)
+?GetAllData@CMetaInterface@@IAEJKPBGKKKPAK1KPAE1@Z
+; public: unsigned long __thiscall CMetaKey::GetBase(void)const 
+?GetBase@CMetaKey@@QBEKXZ
+; public: unsigned char * __thiscall CBlob::GetData(void)
+?GetData@CBlob@@QAEPAEXZ
+; protected: long __thiscall CMetaInterface::GetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long *)
+?GetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@PAK@Z
+; protected: long __thiscall CMetaInterface::GetDataPaths(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned short *,unsigned long *)
+?GetDataPaths@CMetaInterface@@IAEJKPBGKKKPAGPAK@Z
+; public: unsigned long __thiscall CMetaKey::GetHandle(void)const 
+?GetHandle@CMetaKey@@QBEKXZ
+; public: unsigned long __thiscall CMetaEnumerator::GetIndex(void)
+?GetIndex@CMetaEnumerator@@QAEKXZ
+; public: static unsigned short const * __stdcall CMetabasePath::GetInstancePath(unsigned short const *,class IIS::CString &,class IIS::CString *)
+?GetInstancePath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
+; public: struct IMSAdminBaseW * __thiscall CMetaInterface::GetInterface(void)
+?GetInterface@CMetaInterface@@QAEPAUIMSAdminBaseW@@XZ
+; protected: long __thiscall CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
+?GetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
+; public: void __thiscall CError::GetLastWinError(void)
+?GetLastWinError@CError@@QAEXXZ
+; public: static unsigned short const * __stdcall CMetabasePath::GetMachinePath(unsigned short const *,class IIS::CString &,class IIS::CString *)
+?GetMachinePath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
+; public: static unsigned short const * __stdcall CMetabasePath::GetRootPath(unsigned short const *,class IIS::CString &,class IIS::CString *)
+?GetRootPath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
+; public: static unsigned short const * __stdcall CMetabasePath::GetServicePath(unsigned short const *,class IIS::CString &,class IIS::CString *)
+?GetServicePath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
+; public: unsigned long __thiscall CBlob::GetSize(void)const 
+?GetSize@CBlob@@QBEKXZ
+; public: long __thiscall CError::HResult(void)const 
+?HResult@CError@@QBEJXZ
+; public: static long __stdcall CError::HResult(long)
+?HResult@CError@@SGJJ@Z
+; protected: int __thiscall CIISSvcControl::HasInterface(void)const 
+?HasInterface@CIISSvcControl@@IBEHXZ
+; protected: int __thiscall CMetaInterface::HasInterface(void)const 
+?HasInterface@CMetaInterface@@IBEHXZ
+; protected: int __thiscall CWamInterface::HasInterface(void)const 
+?HasInterface@CWamInterface@@IBEHXZ
+; public: int __thiscall CBlob::IsEmpty(void)const 
+?IsEmpty@CBlob@@QBEHXZ
+; public: int __thiscall CIISApplication::IsEnabledApplication(void)const 
+?IsEnabledApplication@CIISApplication@@QBEHXZ
+; public: int __thiscall CMetaKey::IsHomeDirectoryPath(void)const 
+?IsHomeDirectoryPath@CMetaKey@@QBEHXZ
+; public: int __thiscall CMetabasePath::IsHomeDirectoryPath(void)const 
+?IsHomeDirectoryPath@CMetabasePath@@QBEHXZ
+; public: int __thiscall CIISApplication::IsInproc(void)const 
+?IsInproc@CIISApplication@@QBEHXZ
+; public: int __thiscall CComAuthInfo::IsLocal(void)const 
+?IsLocal@CComAuthInfo@@QBEHXZ
+; public: int __thiscall CIISInterface::IsLocal(void)const 
+?IsLocal@CIISInterface@@QBEHXZ
+; public: int __thiscall CMetaKey::IsOpen(void)const 
+?IsOpen@CMetaKey@@QBEHXZ
+; public: int __thiscall CIISApplication::IsOutOfProc(void)const 
+?IsOutOfProc@CIISApplication@@QBEHXZ
+; public: int __thiscall CIISApplication::IsPooledProc(void)const 
+?IsPooledProc@CIISApplication@@QBEHXZ
+; public: long __thiscall CIISSvcControl::Kill(void)
+?Kill@CIISSvcControl@@QAEJXZ
+; public: long __thiscall CMetaBack::Next(unsigned long *,unsigned short *,struct _FILETIME *)
+?Next@CMetaBack@@QAEJPAKPAGPAU_FILETIME@@@Z
+; protected: long __thiscall CMetaInterface::OpenKey(unsigned long,unsigned short const *,unsigned long,unsigned long *)
+?OpenKey@CMetaInterface@@IAEJKPBGKPAK@Z
+; public: void __thiscall CMetaEnumerator::Pop(void)
+?Pop@CMetaEnumerator@@QAEXXZ
+; public: void __thiscall CMetaEnumerator::Push(void)
+?Push@CMetaEnumerator@@QAEXXZ
+; public: unsigned long __thiscall CIISApplication::QueryAppState(void)const 
+?QueryAppState@CIISApplication@@QBEKXZ
+; public: class CComAuthInfo * __thiscall CIISInterface::QueryAuthInfo(void)
+?QueryAuthInfo@CIISInterface@@QAEPAVCComAuthInfo@@XZ
+; public: unsigned long __thiscall CMetaKey::QueryFlags(void)const 
+?QueryFlags@CMetaKey@@QBEKXZ
+; public: unsigned short const * __thiscall CMetaKey::QueryMetaPath(void)const 
+?QueryMetaPath@CMetaKey@@QBEPBGXZ
+; public: unsigned short const * __thiscall CMetabasePath::QueryMetaPath(void)const 
+?QueryMetaPath@CMetabasePath@@QBEPBGXZ
+; public: unsigned short * __thiscall CComAuthInfo::QueryPassword(void)const 
+?QueryPassword@CComAuthInfo@@QBEPAGXZ
+; public: virtual long __thiscall CIISInterface::QueryResult(void)const 
+?QueryResult@CIISInterface@@UBEJXZ
+; public: unsigned short * __thiscall CComAuthInfo::QueryServerName(void)const 
+?QueryServerName@CComAuthInfo@@QBEPAGXZ
+; public: unsigned short const * __thiscall CIISInterface::QueryServerName(void)const 
+?QueryServerName@CIISInterface@@QBEPBGXZ
+; public: unsigned short * __thiscall CComAuthInfo::QueryUserName(void)const 
+?QueryUserName@CComAuthInfo@@QBEPAGXZ
+; public: long __thiscall CMetaKey::QueryValue(unsigned long,int &,int *,unsigned short const *,unsigned long *)
+?QueryValue@CMetaKey@@QAEJKAAHPAHPBGPAK@Z
+; public: unsigned short const * __thiscall CIISApplication::QueryWamPath(void)const 
+?QueryWamPath@CIISApplication@@QBEPBGXZ
+; public: long __thiscall CMetaKey::ReOpen(unsigned long)
+?ReOpen@CMetaKey@@QAEJK@Z
+; public: long __thiscall CMetaKey::ReOpen(void)
+?ReOpen@CMetaKey@@QAEJXZ
+; public: long __thiscall CIISSvcControl::Reboot(unsigned long,int)
+?Reboot@CIISSvcControl@@QAEJKH@Z
+; public: long __thiscall CIISApplication::Recover(int)
+?Recover@CIISApplication@@QAEJH@Z
+; public: void __thiscall CError::RemoveOverride(long)
+?RemoveOverride@CError@@QAEXJ@Z
+; protected: long __thiscall CMetaInterface::RenameKey(unsigned long,unsigned short const *,unsigned short const *)
+?RenameKey@CMetaInterface@@IAEJKPBG0@Z
+; public: long __thiscall CMetaKey::RenameKey(unsigned short const *,unsigned short const *)
+?RenameKey@CMetaKey@@QAEJPBG0@Z
+; public: void __thiscall CError::Reset(void)
+?Reset@CError@@QAEXXZ
+; public: void __thiscall CMetaBack::Reset(void)
+?Reset@CMetaBack@@QAEXXZ
+; public: void __thiscall CMetaEnumerator::Reset(unsigned long)
+?Reset@CMetaEnumerator@@QAEXK@Z
+; protected: long __thiscall CMetaInterface::Restore(unsigned short const *,unsigned long,unsigned long)
+?Restore@CMetaInterface@@IAEJPBGKK@Z
+; public: long __thiscall CMetaInterface::SaveData(void)
+?SaveData@CMetaInterface@@QAEJXZ
+; protected: long __thiscall CMetaInterface::SetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *)
+?SetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@@Z
+; protected: long __thiscall CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
+?SetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
+; public: void __thiscall CError::SetLastWinError(void)const 
+?SetLastWinError@CError@@QBEXXZ
+; public: long __thiscall CMetaKey::SetValue(unsigned long,class IIS::CString &,int *,unsigned short const *)
+?SetValue@CMetaKey@@QAEJKAAVCString@IIS@@PAHPBG@Z
+; public: long __thiscall CMetaKey::SetValue(unsigned long,int,int *,unsigned short const *)
+?SetValue@CMetaKey@@QAEJKHPAHPBG@Z
+; public: long __thiscall CMetaKey::SetValue(unsigned long,unsigned long,int *,unsigned short const *)
+?SetValue@CMetaKey@@QAEJKKPAHPBG@Z
+; public: long __thiscall CIISSvcControl::Start(unsigned long)
+?Start@CIISSvcControl@@QAEJK@Z
+; public: long __thiscall CIISSvcControl::Status(unsigned long,unsigned char *,unsigned long *,unsigned long *)
+?Status@CIISSvcControl@@QAEJKPAEPAK1@Z
+; public: long __thiscall CIISSvcControl::Stop(unsigned long,int)
+?Stop@CIISSvcControl@@QAEJKH@Z
+; public: void __thiscall CComAuthInfo::StorePassword(unsigned short const *)
+?StorePassword@CComAuthInfo@@QAEXPBG@Z
+; public: int __thiscall CError::Succeeded(void)const 
+?Succeeded@CError@@QBEHXZ
+; public: static int __stdcall CError::Succeeded(long)
+?Succeeded@CError@@SGHJ@Z
+; public: virtual int __thiscall CIISInterface::Succeeded(void)const 
+?Succeeded@CIISInterface@@UBEHXZ
+; public: int __thiscall CWamInterface::SupportsPooledProc(void)const 
+?SupportsPooledProc@CWamInterface@@QBEHXZ
+; public: long __thiscall CIISApplication::Unload(int)
+?Unload@CIISApplication@@QAEJH@Z
+; public: static void __stdcall CError::UnregisterFacility(unsigned long)
+?UnregisterFacility@CError@@SGXK@Z
+; public: int __thiscall CComAuthInfo::UsesImpersonation(void)const 
+?UsesImpersonation@CComAuthInfo@@QBEHXZ
+; public: unsigned long __thiscall CError::Win32Error(void)const 
+?Win32Error@CError@@QBEKXZ
+; public: static unsigned long __stdcall CError::Win32Error(long)
+?Win32Error@CError@@SGKJ@Z
+; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Buynode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node *,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node *)
+?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IAEPAU_Node@12@PAU312@0@Z
+; protected: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Freenode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node *)
+?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IAEXPAU_Node@12@@Z
+; protected: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
+?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IAEXViterator@12@AAV12@00@Z
+; protected: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const 
+?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IBEXXZ
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned int,class IIS::CString const &)
+?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXIABVCString@IIS@@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator)
+?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXVconst_iterator@12@0@Z
+; public: class IIS::CString & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)
+?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEAAVCString@IIS@@XZ
+; public: class IIS::CString const & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const 
+?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEABVCString@IIS@@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)
+?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const 
+?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AVconst_iterator@12@XZ
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void)
+?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
+; public: bool __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const 
+?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE_NXZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)
+?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const 
+?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AVconst_iterator@12@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
+?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@V312@0@Z
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
+?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@V312@@Z
+; public: class IIS::CString & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)
+?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEAAVCString@IIS@@XZ
+; public: class IIS::CString const & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const 
+?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEABVCString@IIS@@XZ
+; public: class std::allocator<class IIS::CString>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const 
+?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AV?$allocator@VCString@IIS@@@2@XZ
+; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const &)
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@V312@ABVCString@IIS@@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,unsigned int,class IIS::CString const &)
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@IABVCString@IIS@@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const *,class IIS::CString const *)
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@PBVCString@IIS@@1@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator)
+?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@Vconst_iterator@12@1@Z
+; public: unsigned int __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const 
+?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEIXZ
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &)
+?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXAAV12@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &,struct std::greater<class IIS::CString>)
+?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXAAV12@U?$greater@VCString@IIS@@@2@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void)
+?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void)
+?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const &)
+?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXABVCString@IIS@@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const &)
+?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXABVCString@IIS@@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString &,class IIS::CString *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)
+?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AAV45@PAV45@H@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const &,class IIS::CString const *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const 
+?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@ABV45@PBV45@H@2@XZ
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const &)
+?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXABVCString@IIS@@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >)
+?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXV?$binder2nd@U?$not_equal_to@VCString@IIS@@@std@@@2@@Z
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString &,class IIS::CString *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)
+?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AAV45@PAV45@H@2@XZ
+; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const &,class IIS::CString const *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const 
+?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@ABV45@PBV45@H@2@XZ
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned int,class IIS::CString)
+?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXIVCString@IIS@@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void)
+?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
+; public: unsigned int __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const 
+?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEIXZ
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>)
+?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXU?$greater@VCString@IIS@@@2@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void)
+?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@AAV12@00@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@AAV12@0@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &)
+?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@AAV12@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &)
+?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXAAV12@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>)
+?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXU?$not_equal_to@VCString@IIS@@@2@@Z
+; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void)
+?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcewmdm.def b/mingw-w64-crt/lib64/wcewmdm.def
index 68aa3d9..95ad860 100644
--- a/mingw-w64-crt/lib64/wcewmdm.def
+++ b/mingw-w64-crt/lib64/wcewmdm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CEWMDM.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CEWMDM.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CEWMDM.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CEWMDM.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcfgmgr32.def b/mingw-w64-crt/lib64/wcfgmgr32.def
index bd7ab12..b6f2973 100644
--- a/mingw-w64-crt/lib64/wcfgmgr32.def
+++ b/mingw-w64-crt/lib64/wcfgmgr32.def
@@ -1,204 +1,204 @@
-; 
-; Exports of file CFGMGR32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CFGMGR32.dll
-EXPORTS
-CMP_Init_Detection
-CMP_RegisterNotification
-CMP_Report_LogOn
-CMP_UnregisterNotification
-CMP_WaitNoPendingInstallEvents
-CMP_WaitServicesAvailable
-CM_Add_Empty_Log_Conf
-CM_Add_Empty_Log_Conf_Ex
-CM_Add_IDA
-CM_Add_IDW
-CM_Add_ID_ExA
-CM_Add_ID_ExW
-CM_Add_Range
-CM_Add_Res_Des
-CM_Add_Res_Des_Ex
-CM_Connect_MachineA
-CM_Connect_MachineW
-CM_Create_DevNodeA
-CM_Create_DevNodeW
-CM_Create_DevNode_ExA
-CM_Create_DevNode_ExW
-CM_Create_Range_List
-CM_Delete_Class_Key
-CM_Delete_Class_Key_Ex
-CM_Delete_DevNode_Key
-CM_Delete_DevNode_Key_Ex
-CM_Delete_Range
-CM_Detect_Resource_Conflict
-CM_Detect_Resource_Conflict_Ex
-CM_Disable_DevNode
-CM_Disable_DevNode_Ex
-CM_Disconnect_Machine
-CM_Dup_Range_List
-CM_Enable_DevNode
-CM_Enable_DevNode_Ex
-CM_Enumerate_Classes
-CM_Enumerate_Classes_Ex
-CM_Enumerate_EnumeratorsA
-CM_Enumerate_EnumeratorsW
-CM_Enumerate_Enumerators_ExA
-CM_Enumerate_Enumerators_ExW
-CM_Find_Range
-CM_First_Range
-CM_Free_Log_Conf
-CM_Free_Log_Conf_Ex
-CM_Free_Log_Conf_Handle
-CM_Free_Range_List
-CM_Free_Res_Des
-CM_Free_Res_Des_Ex
-CM_Free_Res_Des_Handle
-CM_Free_Resource_Conflict_Handle
-CM_Get_Child
-CM_Get_Child_Ex
-CM_Get_Class_Key_NameA
-CM_Get_Class_Key_NameW
-CM_Get_Class_Key_Name_ExA
-CM_Get_Class_Key_Name_ExW
-CM_Get_Class_NameA
-CM_Get_Class_NameW
-CM_Get_Class_Name_ExA
-CM_Get_Class_Name_ExW
-CM_Get_Class_Registry_PropertyA
-CM_Get_Class_Registry_PropertyW
-CM_Get_Depth
-CM_Get_Depth_Ex
-CM_Get_DevNode_Registry_PropertyA
-CM_Get_DevNode_Registry_PropertyW
-CM_Get_DevNode_Registry_Property_ExA
-CM_Get_DevNode_Registry_Property_ExW
-CM_Get_DevNode_Status
-CM_Get_DevNode_Status_Ex
-CM_Get_Device_IDA
-CM_Get_Device_IDW
-CM_Get_Device_ID_ExA
-CM_Get_Device_ID_ExW
-CM_Get_Device_ID_ListA
-CM_Get_Device_ID_ListW
-CM_Get_Device_ID_List_ExA
-CM_Get_Device_ID_List_ExW
-CM_Get_Device_ID_List_SizeA
-CM_Get_Device_ID_List_SizeW
-CM_Get_Device_ID_List_Size_ExA
-CM_Get_Device_ID_List_Size_ExW
-CM_Get_Device_ID_Size
-CM_Get_Device_ID_Size_Ex
-CM_Get_Device_Interface_AliasA
-CM_Get_Device_Interface_AliasW
-CM_Get_Device_Interface_Alias_ExA
-CM_Get_Device_Interface_Alias_ExW
-CM_Get_Device_Interface_ListA
-CM_Get_Device_Interface_ListW
-CM_Get_Device_Interface_List_ExA
-CM_Get_Device_Interface_List_ExW
-CM_Get_Device_Interface_List_SizeA
-CM_Get_Device_Interface_List_SizeW
-CM_Get_Device_Interface_List_Size_ExA
-CM_Get_Device_Interface_List_Size_ExW
-CM_Get_First_Log_Conf
-CM_Get_First_Log_Conf_Ex
-CM_Get_Global_State
-CM_Get_Global_State_Ex
-CM_Get_HW_Prof_FlagsA
-CM_Get_HW_Prof_FlagsW
-CM_Get_HW_Prof_Flags_ExA
-CM_Get_HW_Prof_Flags_ExW
-CM_Get_Hardware_Profile_InfoA
-CM_Get_Hardware_Profile_InfoW
-CM_Get_Hardware_Profile_Info_ExA
-CM_Get_Hardware_Profile_Info_ExW
-CM_Get_Log_Conf_Priority
-CM_Get_Log_Conf_Priority_Ex
-CM_Get_Next_Log_Conf
-CM_Get_Next_Log_Conf_Ex
-CM_Get_Next_Res_Des
-CM_Get_Next_Res_Des_Ex
-CM_Get_Parent
-CM_Get_Parent_Ex
-CM_Get_Res_Des_Data
-CM_Get_Res_Des_Data_Ex
-CM_Get_Res_Des_Data_Size
-CM_Get_Res_Des_Data_Size_Ex
-CM_Get_Resource_Conflict_Count
-CM_Get_Resource_Conflict_DetailsA
-CM_Get_Resource_Conflict_DetailsW
-CM_Get_Sibling
-CM_Get_Sibling_Ex
-CM_Get_Version
-CM_Get_Version_Ex
-CM_Intersect_Range_List
-CM_Invert_Range_List
-CM_Is_Dock_Station_Present
-CM_Is_Dock_Station_Present_Ex
-CM_Locate_DevNodeA
-CM_Locate_DevNodeW
-CM_Locate_DevNode_ExA
-CM_Locate_DevNode_ExW
-CM_Merge_Range_List
-CM_Modify_Res_Des
-CM_Modify_Res_Des_Ex
-CM_Move_DevNode
-CM_Move_DevNode_Ex
-CM_Next_Range
-CM_Open_Class_KeyA
-CM_Open_Class_KeyW
-CM_Open_Class_Key_ExA
-CM_Open_Class_Key_ExW
-CM_Open_DevNode_Key
-CM_Open_DevNode_Key_Ex
-CM_Query_And_Remove_SubTreeA
-CM_Query_And_Remove_SubTreeW
-CM_Query_And_Remove_SubTree_ExA
-CM_Query_And_Remove_SubTree_ExW
-CM_Query_Arbitrator_Free_Data
-CM_Query_Arbitrator_Free_Data_Ex
-CM_Query_Arbitrator_Free_Size
-CM_Query_Arbitrator_Free_Size_Ex
-CM_Query_Remove_SubTree
-CM_Query_Remove_SubTree_Ex
-CM_Query_Resource_Conflict_List
-CM_Reenumerate_DevNode
-CM_Reenumerate_DevNode_Ex
-CM_Register_Device_Driver
-CM_Register_Device_Driver_Ex
-CM_Register_Device_InterfaceA
-CM_Register_Device_InterfaceW
-CM_Register_Device_Interface_ExA
-CM_Register_Device_Interface_ExW
-CM_Remove_SubTree
-CM_Remove_SubTree_Ex
-CM_Request_Eject_PC
-CM_Request_Eject_PC_Ex
-CM_Run_Detection
-CM_Run_Detection_Ex
-CM_Set_Class_Registry_PropertyA
-CM_Set_Class_Registry_PropertyW
-CM_Set_DevNode_Problem
-CM_Set_DevNode_Problem_Ex
-CM_Set_DevNode_Registry_PropertyA
-CM_Set_DevNode_Registry_PropertyW
-CM_Set_DevNode_Registry_Property_ExA
-CM_Set_DevNode_Registry_Property_ExW
-CM_Set_HW_Prof
-CM_Set_HW_Prof_Ex
-CM_Set_HW_Prof_FlagsA
-CM_Set_HW_Prof_FlagsW
-CM_Set_HW_Prof_Flags_ExA
-CM_Set_HW_Prof_Flags_ExW
-CM_Setup_DevNode
-CM_Setup_DevNode_Ex
-CM_Test_Range_Available
-CM_Uninstall_DevNode
-CM_Uninstall_DevNode_Ex
-CM_Unregister_Device_InterfaceA
-CM_Unregister_Device_InterfaceW
-CM_Unregister_Device_Interface_ExA
-CM_Unregister_Device_Interface_ExW
+; 
+; Exports of file CFGMGR32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CFGMGR32.dll
+EXPORTS
+CMP_Init_Detection
+CMP_RegisterNotification
+CMP_Report_LogOn
+CMP_UnregisterNotification
+CMP_WaitNoPendingInstallEvents
+CMP_WaitServicesAvailable
+CM_Add_Empty_Log_Conf
+CM_Add_Empty_Log_Conf_Ex
+CM_Add_IDA
+CM_Add_IDW
+CM_Add_ID_ExA
+CM_Add_ID_ExW
+CM_Add_Range
+CM_Add_Res_Des
+CM_Add_Res_Des_Ex
+CM_Connect_MachineA
+CM_Connect_MachineW
+CM_Create_DevNodeA
+CM_Create_DevNodeW
+CM_Create_DevNode_ExA
+CM_Create_DevNode_ExW
+CM_Create_Range_List
+CM_Delete_Class_Key
+CM_Delete_Class_Key_Ex
+CM_Delete_DevNode_Key
+CM_Delete_DevNode_Key_Ex
+CM_Delete_Range
+CM_Detect_Resource_Conflict
+CM_Detect_Resource_Conflict_Ex
+CM_Disable_DevNode
+CM_Disable_DevNode_Ex
+CM_Disconnect_Machine
+CM_Dup_Range_List
+CM_Enable_DevNode
+CM_Enable_DevNode_Ex
+CM_Enumerate_Classes
+CM_Enumerate_Classes_Ex
+CM_Enumerate_EnumeratorsA
+CM_Enumerate_EnumeratorsW
+CM_Enumerate_Enumerators_ExA
+CM_Enumerate_Enumerators_ExW
+CM_Find_Range
+CM_First_Range
+CM_Free_Log_Conf
+CM_Free_Log_Conf_Ex
+CM_Free_Log_Conf_Handle
+CM_Free_Range_List
+CM_Free_Res_Des
+CM_Free_Res_Des_Ex
+CM_Free_Res_Des_Handle
+CM_Free_Resource_Conflict_Handle
+CM_Get_Child
+CM_Get_Child_Ex
+CM_Get_Class_Key_NameA
+CM_Get_Class_Key_NameW
+CM_Get_Class_Key_Name_ExA
+CM_Get_Class_Key_Name_ExW
+CM_Get_Class_NameA
+CM_Get_Class_NameW
+CM_Get_Class_Name_ExA
+CM_Get_Class_Name_ExW
+CM_Get_Class_Registry_PropertyA
+CM_Get_Class_Registry_PropertyW
+CM_Get_Depth
+CM_Get_Depth_Ex
+CM_Get_DevNode_Registry_PropertyA
+CM_Get_DevNode_Registry_PropertyW
+CM_Get_DevNode_Registry_Property_ExA
+CM_Get_DevNode_Registry_Property_ExW
+CM_Get_DevNode_Status
+CM_Get_DevNode_Status_Ex
+CM_Get_Device_IDA
+CM_Get_Device_IDW
+CM_Get_Device_ID_ExA
+CM_Get_Device_ID_ExW
+CM_Get_Device_ID_ListA
+CM_Get_Device_ID_ListW
+CM_Get_Device_ID_List_ExA
+CM_Get_Device_ID_List_ExW
+CM_Get_Device_ID_List_SizeA
+CM_Get_Device_ID_List_SizeW
+CM_Get_Device_ID_List_Size_ExA
+CM_Get_Device_ID_List_Size_ExW
+CM_Get_Device_ID_Size
+CM_Get_Device_ID_Size_Ex
+CM_Get_Device_Interface_AliasA
+CM_Get_Device_Interface_AliasW
+CM_Get_Device_Interface_Alias_ExA
+CM_Get_Device_Interface_Alias_ExW
+CM_Get_Device_Interface_ListA
+CM_Get_Device_Interface_ListW
+CM_Get_Device_Interface_List_ExA
+CM_Get_Device_Interface_List_ExW
+CM_Get_Device_Interface_List_SizeA
+CM_Get_Device_Interface_List_SizeW
+CM_Get_Device_Interface_List_Size_ExA
+CM_Get_Device_Interface_List_Size_ExW
+CM_Get_First_Log_Conf
+CM_Get_First_Log_Conf_Ex
+CM_Get_Global_State
+CM_Get_Global_State_Ex
+CM_Get_HW_Prof_FlagsA
+CM_Get_HW_Prof_FlagsW
+CM_Get_HW_Prof_Flags_ExA
+CM_Get_HW_Prof_Flags_ExW
+CM_Get_Hardware_Profile_InfoA
+CM_Get_Hardware_Profile_InfoW
+CM_Get_Hardware_Profile_Info_ExA
+CM_Get_Hardware_Profile_Info_ExW
+CM_Get_Log_Conf_Priority
+CM_Get_Log_Conf_Priority_Ex
+CM_Get_Next_Log_Conf
+CM_Get_Next_Log_Conf_Ex
+CM_Get_Next_Res_Des
+CM_Get_Next_Res_Des_Ex
+CM_Get_Parent
+CM_Get_Parent_Ex
+CM_Get_Res_Des_Data
+CM_Get_Res_Des_Data_Ex
+CM_Get_Res_Des_Data_Size
+CM_Get_Res_Des_Data_Size_Ex
+CM_Get_Resource_Conflict_Count
+CM_Get_Resource_Conflict_DetailsA
+CM_Get_Resource_Conflict_DetailsW
+CM_Get_Sibling
+CM_Get_Sibling_Ex
+CM_Get_Version
+CM_Get_Version_Ex
+CM_Intersect_Range_List
+CM_Invert_Range_List
+CM_Is_Dock_Station_Present
+CM_Is_Dock_Station_Present_Ex
+CM_Locate_DevNodeA
+CM_Locate_DevNodeW
+CM_Locate_DevNode_ExA
+CM_Locate_DevNode_ExW
+CM_Merge_Range_List
+CM_Modify_Res_Des
+CM_Modify_Res_Des_Ex
+CM_Move_DevNode
+CM_Move_DevNode_Ex
+CM_Next_Range
+CM_Open_Class_KeyA
+CM_Open_Class_KeyW
+CM_Open_Class_Key_ExA
+CM_Open_Class_Key_ExW
+CM_Open_DevNode_Key
+CM_Open_DevNode_Key_Ex
+CM_Query_And_Remove_SubTreeA
+CM_Query_And_Remove_SubTreeW
+CM_Query_And_Remove_SubTree_ExA
+CM_Query_And_Remove_SubTree_ExW
+CM_Query_Arbitrator_Free_Data
+CM_Query_Arbitrator_Free_Data_Ex
+CM_Query_Arbitrator_Free_Size
+CM_Query_Arbitrator_Free_Size_Ex
+CM_Query_Remove_SubTree
+CM_Query_Remove_SubTree_Ex
+CM_Query_Resource_Conflict_List
+CM_Reenumerate_DevNode
+CM_Reenumerate_DevNode_Ex
+CM_Register_Device_Driver
+CM_Register_Device_Driver_Ex
+CM_Register_Device_InterfaceA
+CM_Register_Device_InterfaceW
+CM_Register_Device_Interface_ExA
+CM_Register_Device_Interface_ExW
+CM_Remove_SubTree
+CM_Remove_SubTree_Ex
+CM_Request_Eject_PC
+CM_Request_Eject_PC_Ex
+CM_Run_Detection
+CM_Run_Detection_Ex
+CM_Set_Class_Registry_PropertyA
+CM_Set_Class_Registry_PropertyW
+CM_Set_DevNode_Problem
+CM_Set_DevNode_Problem_Ex
+CM_Set_DevNode_Registry_PropertyA
+CM_Set_DevNode_Registry_PropertyW
+CM_Set_DevNode_Registry_Property_ExA
+CM_Set_DevNode_Registry_Property_ExW
+CM_Set_HW_Prof
+CM_Set_HW_Prof_Ex
+CM_Set_HW_Prof_FlagsA
+CM_Set_HW_Prof_FlagsW
+CM_Set_HW_Prof_Flags_ExA
+CM_Set_HW_Prof_Flags_ExW
+CM_Setup_DevNode
+CM_Setup_DevNode_Ex
+CM_Test_Range_Available
+CM_Uninstall_DevNode
+CM_Uninstall_DevNode_Ex
+CM_Unregister_Device_InterfaceA
+CM_Unregister_Device_InterfaceW
+CM_Unregister_Device_Interface_ExA
+CM_Unregister_Device_Interface_ExW
diff --git a/mingw-w64-crt/lib64/wchkr.def b/mingw-w64-crt/lib64/wchkr.def
index a81e2ad..ddfb00c 100644
--- a/mingw-w64-crt/lib64/wchkr.def
+++ b/mingw-w64-crt/lib64/wchkr.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file Checkers.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Checkers.dll
-EXPORTS
-ZoneClientMain
-ZoneClientExit
-ZoneClientGameAddKibitzer
-ZoneClientGameDelete
-ZoneClientGameNew
-ZoneClientGameProcessMessage
-ZoneClientGameRemoveKibitzer
-ZoneClientInternalName
-ZoneClientMessageHandler
-ZoneClientName
-ZoneClientVersion
-ZoneGameDllDelete
-ZoneGameDllInit
+; 
+; Exports of file Checkers.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Checkers.dll
+EXPORTS
+ZoneClientMain
+ZoneClientExit
+ZoneClientGameAddKibitzer
+ZoneClientGameDelete
+ZoneClientGameNew
+ZoneClientGameProcessMessage
+ZoneClientGameRemoveKibitzer
+ZoneClientInternalName
+ZoneClientMessageHandler
+ZoneClientName
+ZoneClientVersion
+ZoneGameDllDelete
+ZoneGameDllInit
diff --git a/mingw-w64-crt/lib64/wchsbrkr.def b/mingw-w64-crt/lib64/wchsbrkr.def
index b017c13..c26ecdd 100644
--- a/mingw-w64-crt/lib64/wchsbrkr.def
+++ b/mingw-w64-crt/lib64/wchsbrkr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ChsBrKr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ChsBrKr.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ChsBrKr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ChsBrKr.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wchtbrkr.def b/mingw-w64-crt/lib64/wchtbrkr.def
index db9eadb..d4aa4ad 100644
--- a/mingw-w64-crt/lib64/wchtbrkr.def
+++ b/mingw-w64-crt/lib64/wchtbrkr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CHTBRKR.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CHTBRKR.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CHTBRKR.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CHTBRKR.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wciadmin.def b/mingw-w64-crt/lib64/wciadmin.def
index c573903..d3711db 100644
--- a/mingw-w64-crt/lib64/wciadmin.def
+++ b/mingw-w64-crt/lib64/wciadmin.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CIADMIN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CIADMIN.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CIADMIN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CIADMIN.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcic.def b/mingw-w64-crt/lib64/wcic.def
index 1fa7548..0360360 100644
--- a/mingw-w64-crt/lib64/wcic.def
+++ b/mingw-w64-crt/lib64/wcic.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file cic.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cic.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file cic.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cic.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wciodm.def b/mingw-w64-crt/lib64/wciodm.def
index 38980cd..033c26b 100644
--- a/mingw-w64-crt/lib64/wciodm.def
+++ b/mingw-w64-crt/lib64/wciodm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ciodm.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ciodm.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ciodm.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ciodm.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wclb.def b/mingw-w64-crt/lib64/wclb.def
index fb33e16..be973a0 100644
--- a/mingw-w64-crt/lib64/wclb.def
+++ b/mingw-w64-crt/lib64/wclb.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file clb.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY clb.dll
-EXPORTS
-ClbAddData
-ClbSetColumnWidths
-ClbStyleW
-ClbWndProc
-CustomControlInfoW
+; 
+; Exports of file clb.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY clb.dll
+EXPORTS
+ClbAddData
+ClbSetColumnWidths
+ClbStyleW
+ClbWndProc
+CustomControlInfoW
diff --git a/mingw-w64-crt/lib64/wclbcatex.def b/mingw-w64-crt/lib64/wclbcatex.def
index 21708ae..4a7f62d 100644
--- a/mingw-w64-crt/lib64/wclbcatex.def
+++ b/mingw-w64-crt/lib64/wclbcatex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COLBCAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COLBCAT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file COLBCAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COLBCAT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wclbcatq.def b/mingw-w64-crt/lib64/wclbcatq.def
index 4e6871f..3e51e06 100644
--- a/mingw-w64-crt/lib64/wclbcatq.def
+++ b/mingw-w64-crt/lib64/wclbcatq.def
@@ -1,67 +1,67 @@
-; 
-; Exports of file CLBCatQ.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CLBCatQ.DLL
-EXPORTS
-ActivatorUpdateForIsRouterChanges
-; void __stdcall ClearList(class CStructArray *)
-?ClearList@@YGXPAVCStructArray@@@Z
-CoRegCleanup
-; long __stdcall CreateComponentLibraryTS(unsigned short const *,long,struct IComponentRecords * *)
-?CreateComponentLibraryTS@@YGJPBGJPAPAUIComponentRecords@@@Z
-; long __stdcall DataConvert(unsigned short,unsigned short,unsigned long,unsigned long *,void *,void *,unsigned long,unsigned long,unsigned long *,unsigned char,unsigned char,unsigned long)
-?DataConvert@@YGJGGKPAKPAX1KK0EEK@Z
-DeleteAllActivatorsForClsid
-; void __stdcall DestroyStgDatabase(class StgDatabase *)
-?DestroyStgDatabase@@YGXPAVStgDatabase@@@Z
-DowngradeAPL
-; long __stdcall GetDataConversion(struct IDataConvert * *)
-?GetDataConversion@@YGJPAPAUIDataConvert@@@Z
-; class CGetDataConversion * __stdcall GetDataConvertObject(void)
-?GetDataConvertObject@@YGPAVCGetDataConversion@@XZ
-GetGlobalBabyJITEnabled
-; long __stdcall GetPropValue(unsigned short,long *,void *,int,int *,struct tagDBPROP &)
-?GetPropValue@@YGJGPAJPAXHPAHAAUtagDBPROP@@@Z
-; long __stdcall GetStgDatabase(class StgDatabase * *)
-?GetStgDatabase@@YGJPAPAVStgDatabase@@@Z
-; void __stdcall InitErrors(unsigned long *)
-?InitErrors@@YGXPAK@Z
-; long __stdcall OpenComponentLibrarySharedTS(unsigned short const *,unsigned short const *,unsigned long,struct _SECURITY_ATTRIBUTES *,long,struct IComponentRecords * *)
-?OpenComponentLibrarySharedTS@@YGJPBG0KPAU_SECURITY_ATTRIBUTES@@JPAPAUIComponentRecords@@@Z
-; long __stdcall OpenComponentLibraryTS(unsigned short const *,long,struct IComponentRecords * *)
-?OpenComponentLibraryTS@@YGJPBGJPAPAUIComponentRecords@@@Z
-; long __cdecl PostError(long,...)
-?PostError@@YAJJZZ
-; void __stdcall ShutDownDataConversion(void)
-?ShutDownDataConversion@@YGXXZ
-UpdateFromAppChange
-UpdateFromComponentChange
-CLSIDFromStringByBitness
-CheckMemoryGates
-ComPlusEnablePartitions
-ComPlusEnableRemoteAccess
-ComPlusMigrate
-ComPlusPartitionsEnabled
-ComPlusRemoteAccessEnabled
-CreateComponentLibraryEx
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetCatalogObject2
-GetCatalogObject
-GetComputerObject
-GetSimpleTableDispenser
-InprocServer32FromString
-OpenComponentLibraryEx
-OpenComponentLibraryOnMemEx
-OpenComponentLibraryOnStreamEx
-OpenComponentLibrarySharedEx
-ServerGetApplicationType
-SetSetupOpen
-SetSetupSave
-SetupOpen
-SetupSave
+; 
+; Exports of file CLBCatQ.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CLBCatQ.DLL
+EXPORTS
+ActivatorUpdateForIsRouterChanges
+; void __stdcall ClearList(class CStructArray *)
+?ClearList@@YGXPAVCStructArray@@@Z
+CoRegCleanup
+; long __stdcall CreateComponentLibraryTS(unsigned short const *,long,struct IComponentRecords * *)
+?CreateComponentLibraryTS@@YGJPBGJPAPAUIComponentRecords@@@Z
+; long __stdcall DataConvert(unsigned short,unsigned short,unsigned long,unsigned long *,void *,void *,unsigned long,unsigned long,unsigned long *,unsigned char,unsigned char,unsigned long)
+?DataConvert@@YGJGGKPAKPAX1KK0EEK@Z
+DeleteAllActivatorsForClsid
+; void __stdcall DestroyStgDatabase(class StgDatabase *)
+?DestroyStgDatabase@@YGXPAVStgDatabase@@@Z
+DowngradeAPL
+; long __stdcall GetDataConversion(struct IDataConvert * *)
+?GetDataConversion@@YGJPAPAUIDataConvert@@@Z
+; class CGetDataConversion * __stdcall GetDataConvertObject(void)
+?GetDataConvertObject@@YGPAVCGetDataConversion@@XZ
+GetGlobalBabyJITEnabled
+; long __stdcall GetPropValue(unsigned short,long *,void *,int,int *,struct tagDBPROP &)
+?GetPropValue@@YGJGPAJPAXHPAHAAUtagDBPROP@@@Z
+; long __stdcall GetStgDatabase(class StgDatabase * *)
+?GetStgDatabase@@YGJPAPAVStgDatabase@@@Z
+; void __stdcall InitErrors(unsigned long *)
+?InitErrors@@YGXPAK@Z
+; long __stdcall OpenComponentLibrarySharedTS(unsigned short const *,unsigned short const *,unsigned long,struct _SECURITY_ATTRIBUTES *,long,struct IComponentRecords * *)
+?OpenComponentLibrarySharedTS@@YGJPBG0KPAU_SECURITY_ATTRIBUTES@@JPAPAUIComponentRecords@@@Z
+; long __stdcall OpenComponentLibraryTS(unsigned short const *,long,struct IComponentRecords * *)
+?OpenComponentLibraryTS@@YGJPBGJPAPAUIComponentRecords@@@Z
+; long __cdecl PostError(long,...)
+?PostError@@YAJJZZ
+; void __stdcall ShutDownDataConversion(void)
+?ShutDownDataConversion@@YGXXZ
+UpdateFromAppChange
+UpdateFromComponentChange
+CLSIDFromStringByBitness
+CheckMemoryGates
+ComPlusEnablePartitions
+ComPlusEnableRemoteAccess
+ComPlusMigrate
+ComPlusPartitionsEnabled
+ComPlusRemoteAccessEnabled
+CreateComponentLibraryEx
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetCatalogObject2
+GetCatalogObject
+GetComputerObject
+GetSimpleTableDispenser
+InprocServer32FromString
+OpenComponentLibraryEx
+OpenComponentLibraryOnMemEx
+OpenComponentLibraryOnStreamEx
+OpenComponentLibrarySharedEx
+ServerGetApplicationType
+SetSetupOpen
+SetSetupSave
+SetupOpen
+SetupSave
diff --git a/mingw-w64-crt/lib64/wclusapi.def b/mingw-w64-crt/lib64/wclusapi.def
index 24cc3d6..4b35c45 100644
--- a/mingw-w64-crt/lib64/wclusapi.def
+++ b/mingw-w64-crt/lib64/wclusapi.def
@@ -1,123 +1,123 @@
-; 
-; Exports of file CLUSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CLUSAPI.dll
-EXPORTS
-AddClusterResourceDependency
-AddClusterResourceNode
-BackupClusterDatabase
-CanResourceBeDependent
-ChangeClusterResourceGroup
-CloseCluster
-CloseClusterGroup
-CloseClusterNetInterface
-CloseClusterNetwork
-CloseClusterNode
-CloseClusterNotifyPort
-CloseClusterResource
-ClusterCloseEnum
-ClusterControl
-ClusterEnum
-ClusterGetEnumCount
-ClusterGroupCloseEnum
-ClusterGroupControl
-ClusterGroupEnum
-ClusterGroupGetEnumCount
-ClusterGroupOpenEnum
-ClusterNetInterfaceControl
-ClusterNetworkCloseEnum
-ClusterNetworkControl
-ClusterNetworkEnum
-ClusterNetworkGetEnumCount
-ClusterNetworkOpenEnum
-ClusterNodeCloseEnum
-ClusterNodeControl
-ClusterNodeEnum
-ClusterNodeGetEnumCount
-ClusterNodeOpenEnum
-ClusterOpenEnum
-ClusterRegCloseKey
-ClusterRegCreateKey
-ClusterRegDeleteKey
-ClusterRegDeleteValue
-ClusterRegEnumKey
-ClusterRegEnumValue
-ClusterRegGetKeySecurity
-ClusterRegOpenKey
-ClusterRegQueryInfoKey
-ClusterRegQueryValue
-ClusterRegSetKeySecurity
-ClusterRegSetValue
-ClusterResourceCloseEnum
-ClusterResourceControl
-ClusterResourceEnum
-ClusterResourceGetEnumCount
-ClusterResourceOpenEnum
-ClusterResourceTypeCloseEnum
-ClusterResourceTypeControl
-ClusterResourceTypeEnum
-ClusterResourceTypeGetEnumCount
-ClusterResourceTypeOpenEnum
-CreateClusterGroup
-CreateClusterNotifyPort
-CreateClusterResource
-CreateClusterResourceType
-DeleteClusterGroup
-DeleteClusterResource
-DeleteClusterResourceType
-EvictClusterNode
-EvictClusterNodeEx
-FailClusterResource
-GetClusterFromGroup
-GetClusterFromNetInterface
-GetClusterFromNetwork
-GetClusterFromNode
-GetClusterFromResource
-GetClusterGroupKey
-GetClusterGroupState
-GetClusterInformation
-GetClusterKey
-GetClusterNetInterface
-GetClusterNetInterfaceKey
-GetClusterNetInterfaceState
-GetClusterNetworkId
-GetClusterNetworkKey
-GetClusterNetworkState
-GetClusterNodeId
-GetClusterNodeKey
-GetClusterNodeState
-GetClusterNotify
-GetClusterQuorumResource
-GetClusterResourceKey
-GetClusterResourceNetworkName
-GetClusterResourceState
-GetClusterResourceTypeKey
-GetNodeClusterState
-MoveClusterGroup
-OfflineClusterGroup
-OfflineClusterResource
-OnlineClusterGroup
-OnlineClusterResource
-OpenCluster
-OpenClusterGroup
-OpenClusterNetInterface
-OpenClusterNetwork
-OpenClusterNode
-OpenClusterResource
-PauseClusterNode
-RegisterClusterNotify
-RemoveClusterResourceDependency
-RemoveClusterResourceNode
-RestoreClusterDatabase
-ResumeClusterNode
-SetClusterGroupName
-SetClusterGroupNodeList
-SetClusterName
-SetClusterNetworkName
-SetClusterNetworkPriorityOrder
-SetClusterQuorumResource
-SetClusterResourceName
-SetClusterServiceAccountPassword
+; 
+; Exports of file CLUSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CLUSAPI.dll
+EXPORTS
+AddClusterResourceDependency
+AddClusterResourceNode
+BackupClusterDatabase
+CanResourceBeDependent
+ChangeClusterResourceGroup
+CloseCluster
+CloseClusterGroup
+CloseClusterNetInterface
+CloseClusterNetwork
+CloseClusterNode
+CloseClusterNotifyPort
+CloseClusterResource
+ClusterCloseEnum
+ClusterControl
+ClusterEnum
+ClusterGetEnumCount
+ClusterGroupCloseEnum
+ClusterGroupControl
+ClusterGroupEnum
+ClusterGroupGetEnumCount
+ClusterGroupOpenEnum
+ClusterNetInterfaceControl
+ClusterNetworkCloseEnum
+ClusterNetworkControl
+ClusterNetworkEnum
+ClusterNetworkGetEnumCount
+ClusterNetworkOpenEnum
+ClusterNodeCloseEnum
+ClusterNodeControl
+ClusterNodeEnum
+ClusterNodeGetEnumCount
+ClusterNodeOpenEnum
+ClusterOpenEnum
+ClusterRegCloseKey
+ClusterRegCreateKey
+ClusterRegDeleteKey
+ClusterRegDeleteValue
+ClusterRegEnumKey
+ClusterRegEnumValue
+ClusterRegGetKeySecurity
+ClusterRegOpenKey
+ClusterRegQueryInfoKey
+ClusterRegQueryValue
+ClusterRegSetKeySecurity
+ClusterRegSetValue
+ClusterResourceCloseEnum
+ClusterResourceControl
+ClusterResourceEnum
+ClusterResourceGetEnumCount
+ClusterResourceOpenEnum
+ClusterResourceTypeCloseEnum
+ClusterResourceTypeControl
+ClusterResourceTypeEnum
+ClusterResourceTypeGetEnumCount
+ClusterResourceTypeOpenEnum
+CreateClusterGroup
+CreateClusterNotifyPort
+CreateClusterResource
+CreateClusterResourceType
+DeleteClusterGroup
+DeleteClusterResource
+DeleteClusterResourceType
+EvictClusterNode
+EvictClusterNodeEx
+FailClusterResource
+GetClusterFromGroup
+GetClusterFromNetInterface
+GetClusterFromNetwork
+GetClusterFromNode
+GetClusterFromResource
+GetClusterGroupKey
+GetClusterGroupState
+GetClusterInformation
+GetClusterKey
+GetClusterNetInterface
+GetClusterNetInterfaceKey
+GetClusterNetInterfaceState
+GetClusterNetworkId
+GetClusterNetworkKey
+GetClusterNetworkState
+GetClusterNodeId
+GetClusterNodeKey
+GetClusterNodeState
+GetClusterNotify
+GetClusterQuorumResource
+GetClusterResourceKey
+GetClusterResourceNetworkName
+GetClusterResourceState
+GetClusterResourceTypeKey
+GetNodeClusterState
+MoveClusterGroup
+OfflineClusterGroup
+OfflineClusterResource
+OnlineClusterGroup
+OnlineClusterResource
+OpenCluster
+OpenClusterGroup
+OpenClusterNetInterface
+OpenClusterNetwork
+OpenClusterNode
+OpenClusterResource
+PauseClusterNode
+RegisterClusterNotify
+RemoveClusterResourceDependency
+RemoveClusterResourceNode
+RestoreClusterDatabase
+ResumeClusterNode
+SetClusterGroupName
+SetClusterGroupNodeList
+SetClusterName
+SetClusterNetworkName
+SetClusterNetworkPriorityOrder
+SetClusterQuorumResource
+SetClusterResourceName
+SetClusterServiceAccountPassword
diff --git a/mingw-w64-crt/lib64/wcmcfg32.def b/mingw-w64-crt/lib64/wcmcfg32.def
index bc65176..1dbe1c9 100644
--- a/mingw-w64-crt/lib64/wcmcfg32.def
+++ b/mingw-w64-crt/lib64/wcmcfg32.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file cmcfg32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmcfg32.dll
-EXPORTS
-CmstpExtensionProc
-CMConfig
-_CMConfig@8
-CMConfigEx
+; 
+; Exports of file cmcfg32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmcfg32.dll
+EXPORTS
+CmstpExtensionProc
+CMConfig
+_CMConfig@8
+CMConfigEx
diff --git a/mingw-w64-crt/lib64/wcmdial32.def b/mingw-w64-crt/lib64/wcmdial32.def
index 615aa38..778c201 100644
--- a/mingw-w64-crt/lib64/wcmdial32.def
+++ b/mingw-w64-crt/lib64/wcmdial32.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file cmdial32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmdial32.dll
-EXPORTS
-AutoDialFunc
-InetDialHandler
-_AutoDialFunc@16
-CmCustomDialDlg
-CmCustomHangUp
-CmReConnect
-GetCustomProperty
-_InetDialHandler@16
-RasCustomDeleteEntryNotify
-RasCustomDial
-RasCustomDialDlg
-RasCustomEntryDlg
-RasCustomHangUp
+; 
+; Exports of file cmdial32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmdial32.dll
+EXPORTS
+AutoDialFunc
+InetDialHandler
+_AutoDialFunc@16
+CmCustomDialDlg
+CmCustomHangUp
+CmReConnect
+GetCustomProperty
+_InetDialHandler@16
+RasCustomDeleteEntryNotify
+RasCustomDial
+RasCustomDialDlg
+RasCustomEntryDlg
+RasCustomHangUp
diff --git a/mingw-w64-crt/lib64/wcmpbk32.def b/mingw-w64-crt/lib64/wcmpbk32.def
index db55ac7..9d7303f 100644
--- a/mingw-w64-crt/lib64/wcmpbk32.def
+++ b/mingw-w64-crt/lib64/wcmpbk32.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file cmpbk32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmpbk32.dll
-EXPORTS
-PhoneBookCopyFilter
-PhoneBookEnumCountries
-PhoneBookEnumNumbers
-PhoneBookEnumNumbersWithRegionsZero
-PhoneBookEnumRegions
-PhoneBookFreeFilter
-PhoneBookGetCountryId
-PhoneBookGetCountryNameA
-PhoneBookGetCountryNameW
-PhoneBookGetCurrentCountryId
-PhoneBookGetPhoneCanonicalA
-PhoneBookGetPhoneDUNA
-PhoneBookGetPhoneDescA
-PhoneBookGetPhoneDispA
-PhoneBookGetPhoneNonCanonicalA
-PhoneBookGetPhoneType
-PhoneBookGetRegionNameA
-PhoneBookHasPhoneType
-PhoneBookLoad
-PhoneBookMatchFilter
-PhoneBookMergeChanges
-PhoneBookParseInfoA
-PhoneBookUnload
+; 
+; Exports of file cmpbk32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmpbk32.dll
+EXPORTS
+PhoneBookCopyFilter
+PhoneBookEnumCountries
+PhoneBookEnumNumbers
+PhoneBookEnumNumbersWithRegionsZero
+PhoneBookEnumRegions
+PhoneBookFreeFilter
+PhoneBookGetCountryId
+PhoneBookGetCountryNameA
+PhoneBookGetCountryNameW
+PhoneBookGetCurrentCountryId
+PhoneBookGetPhoneCanonicalA
+PhoneBookGetPhoneDUNA
+PhoneBookGetPhoneDescA
+PhoneBookGetPhoneDispA
+PhoneBookGetPhoneNonCanonicalA
+PhoneBookGetPhoneType
+PhoneBookGetRegionNameA
+PhoneBookHasPhoneType
+PhoneBookLoad
+PhoneBookMatchFilter
+PhoneBookMergeChanges
+PhoneBookParseInfoA
+PhoneBookUnload
diff --git a/mingw-w64-crt/lib64/wcmsetACL.def b/mingw-w64-crt/lib64/wcmsetACL.def
index f2c3945..9b748b4 100644
--- a/mingw-w64-crt/lib64/wcmsetACL.def
+++ b/mingw-w64-crt/lib64/wcmsetACL.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file cmSetACL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmSetACL.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file cmSetACL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmSetACL.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcmutil.def b/mingw-w64-crt/lib64/wcmutil.def
index 50e91e7..172b20c 100644
--- a/mingw-w64-crt/lib64/wcmutil.def
+++ b/mingw-w64-crt/lib64/wcmutil.def
@@ -1,254 +1,254 @@
-; 
-; Exports of file cmutil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cmutil.dll
-EXPORTS
-; public: __thiscall CIniA::CIniA(struct HINSTANCE__ *,char const *,char const *,char const *,char const *)
-??0CIniA@@QAE@PAUHINSTANCE__@@PBD111@Z
-; public: __thiscall CIniW::CIniW(struct HINSTANCE__ *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
-??0CIniW@@QAE@PAUHINSTANCE__@@PBG111@Z
-; public: __thiscall CRandom::CRandom(unsigned int)
-??0CRandom@@QAE@I@Z
-; public: __thiscall CRandom::CRandom(void)
-??0CRandom@@QAE@XZ
-; public: __thiscall CmLogFile::CmLogFile(void)
-??0CmLogFile@@QAE@XZ
-; public: __thiscall CIniA::~CIniA(void)
-??1CIniA@@QAE@XZ
-; public: __thiscall CIniW::~CIniW(void)
-??1CIniW@@QAE@XZ
-; public: __thiscall CmLogFile::~CmLogFile(void)
-??1CmLogFile@@QAE@XZ
-; public: class CIniA & __thiscall CIniA::operator=(class CIniA const &)
-??4CIniA@@QAEAAV0@ABV0@@Z
-; public: class CIniW & __thiscall CIniW::operator=(class CIniW const &)
-??4CIniW@@QAEAAV0@ABV0@@Z
-; public: class CRandom & __thiscall CRandom::operator=(class CRandom const &)
-??4CRandom@@QAEAAV0@ABV0@@Z
-; public: class CmLogFile & __thiscall CmLogFile::operator=(class CmLogFile const &)
-??4CmLogFile@@QAEAAV0@ABV0@@Z
-; public: void __thiscall CIniA::`default constructor closure'(void)
-??_FCIniA@@QAEXXZ
-; public: void __thiscall CIniW::`default constructor closure'(void)
-??_FCIniW@@QAEXXZ
-; public: void __thiscall CmLogFile::Banner(void)
-?Banner@CmLogFile@@QAEXXZ
-; protected: int __thiscall CIniA::CIniA_DeleteEntryFromReg(struct HKEY__ *,char const *,char const *)const 
-?CIniA_DeleteEntryFromReg@CIniA@@IBEHPAUHKEY__@@PBD1@Z
-; protected: unsigned char * __thiscall CIniA::CIniA_GetEntryFromReg(struct HKEY__ *,char const *,char const *,unsigned long,unsigned long)const 
-?CIniA_GetEntryFromReg@CIniA@@IBEPAEPAUHKEY__@@PBD1KK@Z
-; protected: int __thiscall CIniA::CIniA_WriteEntryToReg(struct HKEY__ *,char const *,char const *,unsigned char const *,unsigned long,unsigned long)const 
-?CIniA_WriteEntryToReg@CIniA@@IBEHPAUHKEY__@@PBD1PBEKK@Z
-; protected: int __thiscall CIniW::CIniW_DeleteEntryFromReg(struct HKEY__ *,unsigned short const *,unsigned short const *)const 
-?CIniW_DeleteEntryFromReg@CIniW@@IBEHPAUHKEY__@@PBG1@Z
-; protected: unsigned char * __thiscall CIniW::CIniW_GetEntryFromReg(struct HKEY__ *,unsigned short const *,unsigned short const *,unsigned long,unsigned long)const 
-?CIniW_GetEntryFromReg@CIniW@@IBEPAEPAUHKEY__@@PBG1KK@Z
-; protected: int __thiscall CIniW::CIniW_WriteEntryToReg(struct HKEY__ *,unsigned short const *,unsigned short const *,unsigned char const *,unsigned long,unsigned long)const 
-?CIniW_WriteEntryToReg@CIniW@@IBEHPAUHKEY__@@PBG1PBEKK@Z
-; protected: static void __stdcall CIniA::CIni_SetFile(char * *,char const *)
-?CIni_SetFile@CIniA@@KGXPAPADPBD@Z
-; protected: static void __stdcall CIniW::CIni_SetFile(unsigned short * *,unsigned short const *)
-?CIni_SetFile@CIniW@@KGXPAPAGPBG@Z
-; public: void __thiscall CIniA::Clear(void)
-?Clear@CIniA@@QAEXXZ
-; public: void __thiscall CIniW::Clear(void)
-?Clear@CIniW@@QAEXXZ
-; public: void __thiscall CmLogFile::Clear(int)
-?Clear@CmLogFile@@QAEXH@Z
-; private: long __thiscall CmLogFile::CloseFile(void)
-?CloseFile@CmLogFile@@AAEJXZ
-CmAtolA
-CmAtolW
-CmBuildFullPathFromRelativeA
-CmBuildFullPathFromRelativeW
-CmCompareStringA
-CmCompareStringW
-CmConvertRelativePathA
-CmConvertRelativePathW
-CmEndOfStrA
-CmEndOfStrW
-CmFmtMsgA
-CmFmtMsgW
-CmFree
-CmIsDigitA
-CmIsDigitW
-CmIsSpaceA
-CmIsSpaceW
-CmLoadIconA
-CmLoadIconW
-CmLoadImage
-CmLoadImageA
-CmLoadImageW
-CmLoadSmallIconA
-CmLoadSmallIconW
-CmLoadStringA
-CmLoadStringW
-CmMalloc
-CmMoveMemory
-CmParsePathA
-CmParsePathW
-CmRealloc
-CmStrCatAllocA
-CmStrCatAllocW
-CmStrCpyAllocA
-CmStrCpyAllocW
-CmStrStrA
-CmStrStrW
-CmStrTrimA
-CmStrTrimW
-CmStrchrA
-CmStrchrW
-CmStripFileNameA
-CmStripFileNameW
-CmStripPathAndExtA
-CmStripPathAndExtW
-CmStrrchrA
-CmStrrchrW
-CmStrtokA
-CmStrtokW
-CmWinHelp
-; public: long __thiscall CmLogFile::DeInit(void)
-?DeInit@CmLogFile@@QAEJXZ
-; private: void __thiscall CmLogFile::FormatWrite(enum _CMLOG_ITEM,unsigned short *)
-?FormatWrite@CmLogFile@@AAEXW4_CMLOG_ITEM@@PAG@Z
-; public: int __thiscall CIniA::GPPB(char const *,char const *,int)const 
-?GPPB@CIniA@@QBEHPBD0H@Z
-; public: int __thiscall CIniW::GPPB(unsigned short const *,unsigned short const *,int)const 
-?GPPB@CIniW@@QBEHPBG0H@Z
-; public: unsigned long __thiscall CIniA::GPPI(char const *,char const *,unsigned long)const 
-?GPPI@CIniA@@QBEKPBD0K@Z
-; public: unsigned long __thiscall CIniW::GPPI(unsigned short const *,unsigned short const *,unsigned long)const 
-?GPPI@CIniW@@QBEKPBG0K@Z
-; public: char * __thiscall CIniA::GPPS(char const *,char const *,char const *)const 
-?GPPS@CIniA@@QBEPADPBD00@Z
-; public: unsigned short * __thiscall CIniW::GPPS(unsigned short const *,unsigned short const *,unsigned short const *)const 
-?GPPS@CIniW@@QBEPAGPBG00@Z
-; public: int __thiscall CRandom::Generate(void)
-?Generate@CRandom@@QAEHXZ
-; public: char const * __thiscall CIniA::GetFile(void)const 
-?GetFile@CIniA@@QBEPBDXZ
-; public: unsigned short const * __thiscall CIniW::GetFile(void)const 
-?GetFile@CIniW@@QBEPBGXZ
-; public: struct HINSTANCE__ * __thiscall CIniA::GetHInst(void)const 
-?GetHInst@CIniA@@QBEPAUHINSTANCE__@@XZ
-; public: struct HINSTANCE__ * __thiscall CIniW::GetHInst(void)const 
-?GetHInst@CIniW@@QBEPAUHINSTANCE__@@XZ
-; public: unsigned short const * __thiscall CmLogFile::GetLogFilePath(void)
-?GetLogFilePath@CmLogFile@@QAEPBGXZ
-GetOSBuildNumber
-GetOSMajorVersion
-GetOSVersion
-; public: char const * __thiscall CIniA::GetPrimaryFile(void)const 
-?GetPrimaryFile@CIniA@@QBEPBDXZ
-; public: unsigned short const * __thiscall CIniW::GetPrimaryFile(void)const 
-?GetPrimaryFile@CIniW@@QBEPBGXZ
-; public: char const * __thiscall CIniA::GetPrimaryRegPath(void)const 
-?GetPrimaryRegPath@CIniA@@QBEPBDXZ
-; public: unsigned short const * __thiscall CIniW::GetPrimaryRegPath(void)const 
-?GetPrimaryRegPath@CIniW@@QBEPBGXZ
-; public: char const * __thiscall CIniA::GetRegPath(void)const 
-?GetRegPath@CIniA@@QBEPBDXZ
-; public: unsigned short const * __thiscall CIniW::GetRegPath(void)const 
-?GetRegPath@CIniW@@QBEPBGXZ
-; public: char const * __thiscall CIniA::GetSection(void)const 
-?GetSection@CIniA@@QBEPBDXZ
-; public: unsigned short const * __thiscall CIniW::GetSection(void)const 
-?GetSection@CIniW@@QBEPBGXZ
-; public: void __thiscall CRandom::Init(unsigned long)
-?Init@CRandom@@QAEXK@Z
-; public: long __thiscall CmLogFile::Init(struct HINSTANCE__ *,int,char const *)
-?Init@CmLogFile@@QAEJPAUHINSTANCE__@@HPBD@Z
-; public: long __thiscall CmLogFile::Init(struct HINSTANCE__ *,int,unsigned short const *)
-?Init@CmLogFile@@QAEJPAUHINSTANCE__@@HPBG@Z
-; public: int __thiscall CmLogFile::IsEnabled(void)
-?IsEnabled@CmLogFile@@QAEHXZ
-IsFarEastNonOSR2Win95
-IsLogonAsSystem
-; protected: char * __thiscall CIniA::LoadEntry(char const *)const 
-?LoadEntry@CIniA@@IBEPADPBD@Z
-; protected: unsigned short * __thiscall CIniW::LoadEntry(unsigned short const *)const 
-?LoadEntry@CIniW@@IBEPAGPBG@Z
-; public: char * __thiscall CIniA::LoadSection(char const *)const 
-?LoadSection@CIniA@@QBEPADPBD@Z
-; public: unsigned short * __thiscall CIniW::LoadSection(unsigned short const *)const 
-?LoadSection@CIniW@@QBEPAGPBG@Z
-; public: void __cdecl CmLogFile::Log(enum _CMLOG_ITEM,...)
-?Log@CmLogFile@@QAAXW4_CMLOG_ITEM@@ZZ
-MakeBold
-; private: long __thiscall CmLogFile::OpenFile(void)
-?OpenFile@CmLogFile@@AAEJXZ
-ReleaseBold
-; public: void __thiscall CIniA::SetEntry(char const *)
-?SetEntry@CIniA@@QAEXPBD@Z
-; public: void __thiscall CIniW::SetEntry(unsigned short const *)
-?SetEntry@CIniW@@QAEXPBG@Z
-; public: void __thiscall CIniA::SetEntryFromIdx(unsigned long)
-?SetEntryFromIdx@CIniA@@QAEXK@Z
-; public: void __thiscall CIniW::SetEntryFromIdx(unsigned long)
-?SetEntryFromIdx@CIniW@@QAEXK@Z
-; public: void __thiscall CIniA::SetFile(char const *)
-?SetFile@CIniA@@QAEXPBD@Z
-; public: void __thiscall CIniW::SetFile(unsigned short const *)
-?SetFile@CIniW@@QAEXPBG@Z
-; public: void __thiscall CIniA::SetHInst(struct HINSTANCE__ *)
-?SetHInst@CIniA@@QAEXPAUHINSTANCE__@@@Z
-; public: void __thiscall CIniW::SetHInst(struct HINSTANCE__ *)
-?SetHInst@CIniW@@QAEXPAUHINSTANCE__@@@Z
-; public: void __thiscall CIniA::SetICSDataPath(char const *)
-?SetICSDataPath@CIniA@@QAEXPBD@Z
-; public: void __thiscall CIniW::SetICSDataPath(unsigned short const *)
-?SetICSDataPath@CIniW@@QAEXPBG@Z
-; public: long __thiscall CmLogFile::SetParams(int,unsigned long,char const *)
-?SetParams@CmLogFile@@QAEJHKPBD@Z
-; public: long __thiscall CmLogFile::SetParams(int,unsigned long,unsigned short const *)
-?SetParams@CmLogFile@@QAEJHKPBG@Z
-; public: void __thiscall CIniA::SetPrimaryFile(char const *)
-?SetPrimaryFile@CIniA@@QAEXPBD@Z
-; public: void __thiscall CIniW::SetPrimaryFile(unsigned short const *)
-?SetPrimaryFile@CIniW@@QAEXPBG@Z
-; public: void __thiscall CIniA::SetPrimaryRegPath(char const *)
-?SetPrimaryRegPath@CIniA@@QAEXPBD@Z
-; public: void __thiscall CIniW::SetPrimaryRegPath(unsigned short const *)
-?SetPrimaryRegPath@CIniW@@QAEXPBG@Z
-; public: void __thiscall CIniA::SetReadICSData(int)
-?SetReadICSData@CIniA@@QAEXH@Z
-; public: void __thiscall CIniW::SetReadICSData(int)
-?SetReadICSData@CIniW@@QAEXH@Z
-; public: void __thiscall CIniA::SetRegPath(char const *)
-?SetRegPath@CIniA@@QAEXPBD@Z
-; public: void __thiscall CIniW::SetRegPath(unsigned short const *)
-?SetRegPath@CIniW@@QAEXPBG@Z
-; public: void __thiscall CIniA::SetSection(char const *)
-?SetSection@CIniA@@QAEXPBD@Z
-; public: void __thiscall CIniW::SetSection(unsigned short const *)
-?SetSection@CIniW@@QAEXPBG@Z
-; public: void __thiscall CIniA::SetWriteICSData(int)
-?SetWriteICSData@CIniA@@QAEXH@Z
-; public: void __thiscall CIniW::SetWriteICSData(int)
-?SetWriteICSData@CIniW@@QAEXH@Z
-; public: long __thiscall CmLogFile::Start(int)
-?Start@CmLogFile@@QAEJH@Z
-; public: long __thiscall CmLogFile::Stop(void)
-?Stop@CmLogFile@@QAEJXZ
-SzToWz
-SzToWzWithAlloc
-UpdateFont
-; public: void __thiscall CIniA::WPPB(char const *,char const *,int)
-?WPPB@CIniA@@QAEXPBD0H@Z
-; public: void __thiscall CIniW::WPPB(unsigned short const *,unsigned short const *,int)
-?WPPB@CIniW@@QAEXPBG0H@Z
-; public: void __thiscall CIniA::WPPI(char const *,char const *,unsigned long)
-?WPPI@CIniA@@QAEXPBD0K@Z
-; public: void __thiscall CIniW::WPPI(unsigned short const *,unsigned short const *,unsigned long)
-?WPPI@CIniW@@QAEXPBG0K@Z
-; public: void __thiscall CIniA::WPPS(char const *,char const *,char const *)
-?WPPS@CIniA@@QAEXPBD00@Z
-; public: void __thiscall CIniW::WPPS(unsigned short const *,unsigned short const *,unsigned short const *)
-?WPPS@CIniW@@QAEXPBG00@Z
-; private: long __thiscall CmLogFile::Write(unsigned short *)
-?Write@CmLogFile@@AAEJPAG@Z
-WzToSz
-WzToSzWithAlloc
+; 
+; Exports of file cmutil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cmutil.dll
+EXPORTS
+; public: __thiscall CIniA::CIniA(struct HINSTANCE__ *,char const *,char const *,char const *,char const *)
+??0CIniA@@QAE@PAUHINSTANCE__@@PBD111@Z
+; public: __thiscall CIniW::CIniW(struct HINSTANCE__ *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
+??0CIniW@@QAE@PAUHINSTANCE__@@PBG111@Z
+; public: __thiscall CRandom::CRandom(unsigned int)
+??0CRandom@@QAE@I@Z
+; public: __thiscall CRandom::CRandom(void)
+??0CRandom@@QAE@XZ
+; public: __thiscall CmLogFile::CmLogFile(void)
+??0CmLogFile@@QAE@XZ
+; public: __thiscall CIniA::~CIniA(void)
+??1CIniA@@QAE@XZ
+; public: __thiscall CIniW::~CIniW(void)
+??1CIniW@@QAE@XZ
+; public: __thiscall CmLogFile::~CmLogFile(void)
+??1CmLogFile@@QAE@XZ
+; public: class CIniA & __thiscall CIniA::operator=(class CIniA const &)
+??4CIniA@@QAEAAV0@ABV0@@Z
+; public: class CIniW & __thiscall CIniW::operator=(class CIniW const &)
+??4CIniW@@QAEAAV0@ABV0@@Z
+; public: class CRandom & __thiscall CRandom::operator=(class CRandom const &)
+??4CRandom@@QAEAAV0@ABV0@@Z
+; public: class CmLogFile & __thiscall CmLogFile::operator=(class CmLogFile const &)
+??4CmLogFile@@QAEAAV0@ABV0@@Z
+; public: void __thiscall CIniA::`default constructor closure'(void)
+??_FCIniA@@QAEXXZ
+; public: void __thiscall CIniW::`default constructor closure'(void)
+??_FCIniW@@QAEXXZ
+; public: void __thiscall CmLogFile::Banner(void)
+?Banner@CmLogFile@@QAEXXZ
+; protected: int __thiscall CIniA::CIniA_DeleteEntryFromReg(struct HKEY__ *,char const *,char const *)const 
+?CIniA_DeleteEntryFromReg@CIniA@@IBEHPAUHKEY__@@PBD1@Z
+; protected: unsigned char * __thiscall CIniA::CIniA_GetEntryFromReg(struct HKEY__ *,char const *,char const *,unsigned long,unsigned long)const 
+?CIniA_GetEntryFromReg@CIniA@@IBEPAEPAUHKEY__@@PBD1KK@Z
+; protected: int __thiscall CIniA::CIniA_WriteEntryToReg(struct HKEY__ *,char const *,char const *,unsigned char const *,unsigned long,unsigned long)const 
+?CIniA_WriteEntryToReg@CIniA@@IBEHPAUHKEY__@@PBD1PBEKK@Z
+; protected: int __thiscall CIniW::CIniW_DeleteEntryFromReg(struct HKEY__ *,unsigned short const *,unsigned short const *)const 
+?CIniW_DeleteEntryFromReg@CIniW@@IBEHPAUHKEY__@@PBG1@Z
+; protected: unsigned char * __thiscall CIniW::CIniW_GetEntryFromReg(struct HKEY__ *,unsigned short const *,unsigned short const *,unsigned long,unsigned long)const 
+?CIniW_GetEntryFromReg@CIniW@@IBEPAEPAUHKEY__@@PBG1KK@Z
+; protected: int __thiscall CIniW::CIniW_WriteEntryToReg(struct HKEY__ *,unsigned short const *,unsigned short const *,unsigned char const *,unsigned long,unsigned long)const 
+?CIniW_WriteEntryToReg@CIniW@@IBEHPAUHKEY__@@PBG1PBEKK@Z
+; protected: static void __stdcall CIniA::CIni_SetFile(char * *,char const *)
+?CIni_SetFile@CIniA@@KGXPAPADPBD@Z
+; protected: static void __stdcall CIniW::CIni_SetFile(unsigned short * *,unsigned short const *)
+?CIni_SetFile@CIniW@@KGXPAPAGPBG@Z
+; public: void __thiscall CIniA::Clear(void)
+?Clear@CIniA@@QAEXXZ
+; public: void __thiscall CIniW::Clear(void)
+?Clear@CIniW@@QAEXXZ
+; public: void __thiscall CmLogFile::Clear(int)
+?Clear@CmLogFile@@QAEXH@Z
+; private: long __thiscall CmLogFile::CloseFile(void)
+?CloseFile@CmLogFile@@AAEJXZ
+CmAtolA
+CmAtolW
+CmBuildFullPathFromRelativeA
+CmBuildFullPathFromRelativeW
+CmCompareStringA
+CmCompareStringW
+CmConvertRelativePathA
+CmConvertRelativePathW
+CmEndOfStrA
+CmEndOfStrW
+CmFmtMsgA
+CmFmtMsgW
+CmFree
+CmIsDigitA
+CmIsDigitW
+CmIsSpaceA
+CmIsSpaceW
+CmLoadIconA
+CmLoadIconW
+CmLoadImage
+CmLoadImageA
+CmLoadImageW
+CmLoadSmallIconA
+CmLoadSmallIconW
+CmLoadStringA
+CmLoadStringW
+CmMalloc
+CmMoveMemory
+CmParsePathA
+CmParsePathW
+CmRealloc
+CmStrCatAllocA
+CmStrCatAllocW
+CmStrCpyAllocA
+CmStrCpyAllocW
+CmStrStrA
+CmStrStrW
+CmStrTrimA
+CmStrTrimW
+CmStrchrA
+CmStrchrW
+CmStripFileNameA
+CmStripFileNameW
+CmStripPathAndExtA
+CmStripPathAndExtW
+CmStrrchrA
+CmStrrchrW
+CmStrtokA
+CmStrtokW
+CmWinHelp
+; public: long __thiscall CmLogFile::DeInit(void)
+?DeInit@CmLogFile@@QAEJXZ
+; private: void __thiscall CmLogFile::FormatWrite(enum _CMLOG_ITEM,unsigned short *)
+?FormatWrite@CmLogFile@@AAEXW4_CMLOG_ITEM@@PAG@Z
+; public: int __thiscall CIniA::GPPB(char const *,char const *,int)const 
+?GPPB@CIniA@@QBEHPBD0H@Z
+; public: int __thiscall CIniW::GPPB(unsigned short const *,unsigned short const *,int)const 
+?GPPB@CIniW@@QBEHPBG0H@Z
+; public: unsigned long __thiscall CIniA::GPPI(char const *,char const *,unsigned long)const 
+?GPPI@CIniA@@QBEKPBD0K@Z
+; public: unsigned long __thiscall CIniW::GPPI(unsigned short const *,unsigned short const *,unsigned long)const 
+?GPPI@CIniW@@QBEKPBG0K@Z
+; public: char * __thiscall CIniA::GPPS(char const *,char const *,char const *)const 
+?GPPS@CIniA@@QBEPADPBD00@Z
+; public: unsigned short * __thiscall CIniW::GPPS(unsigned short const *,unsigned short const *,unsigned short const *)const 
+?GPPS@CIniW@@QBEPAGPBG00@Z
+; public: int __thiscall CRandom::Generate(void)
+?Generate@CRandom@@QAEHXZ
+; public: char const * __thiscall CIniA::GetFile(void)const 
+?GetFile@CIniA@@QBEPBDXZ
+; public: unsigned short const * __thiscall CIniW::GetFile(void)const 
+?GetFile@CIniW@@QBEPBGXZ
+; public: struct HINSTANCE__ * __thiscall CIniA::GetHInst(void)const 
+?GetHInst@CIniA@@QBEPAUHINSTANCE__@@XZ
+; public: struct HINSTANCE__ * __thiscall CIniW::GetHInst(void)const 
+?GetHInst@CIniW@@QBEPAUHINSTANCE__@@XZ
+; public: unsigned short const * __thiscall CmLogFile::GetLogFilePath(void)
+?GetLogFilePath@CmLogFile@@QAEPBGXZ
+GetOSBuildNumber
+GetOSMajorVersion
+GetOSVersion
+; public: char const * __thiscall CIniA::GetPrimaryFile(void)const 
+?GetPrimaryFile@CIniA@@QBEPBDXZ
+; public: unsigned short const * __thiscall CIniW::GetPrimaryFile(void)const 
+?GetPrimaryFile@CIniW@@QBEPBGXZ
+; public: char const * __thiscall CIniA::GetPrimaryRegPath(void)const 
+?GetPrimaryRegPath@CIniA@@QBEPBDXZ
+; public: unsigned short const * __thiscall CIniW::GetPrimaryRegPath(void)const 
+?GetPrimaryRegPath@CIniW@@QBEPBGXZ
+; public: char const * __thiscall CIniA::GetRegPath(void)const 
+?GetRegPath@CIniA@@QBEPBDXZ
+; public: unsigned short const * __thiscall CIniW::GetRegPath(void)const 
+?GetRegPath@CIniW@@QBEPBGXZ
+; public: char const * __thiscall CIniA::GetSection(void)const 
+?GetSection@CIniA@@QBEPBDXZ
+; public: unsigned short const * __thiscall CIniW::GetSection(void)const 
+?GetSection@CIniW@@QBEPBGXZ
+; public: void __thiscall CRandom::Init(unsigned long)
+?Init@CRandom@@QAEXK@Z
+; public: long __thiscall CmLogFile::Init(struct HINSTANCE__ *,int,char const *)
+?Init@CmLogFile@@QAEJPAUHINSTANCE__@@HPBD@Z
+; public: long __thiscall CmLogFile::Init(struct HINSTANCE__ *,int,unsigned short const *)
+?Init@CmLogFile@@QAEJPAUHINSTANCE__@@HPBG@Z
+; public: int __thiscall CmLogFile::IsEnabled(void)
+?IsEnabled@CmLogFile@@QAEHXZ
+IsFarEastNonOSR2Win95
+IsLogonAsSystem
+; protected: char * __thiscall CIniA::LoadEntry(char const *)const 
+?LoadEntry@CIniA@@IBEPADPBD@Z
+; protected: unsigned short * __thiscall CIniW::LoadEntry(unsigned short const *)const 
+?LoadEntry@CIniW@@IBEPAGPBG@Z
+; public: char * __thiscall CIniA::LoadSection(char const *)const 
+?LoadSection@CIniA@@QBEPADPBD@Z
+; public: unsigned short * __thiscall CIniW::LoadSection(unsigned short const *)const 
+?LoadSection@CIniW@@QBEPAGPBG@Z
+; public: void __cdecl CmLogFile::Log(enum _CMLOG_ITEM,...)
+?Log@CmLogFile@@QAAXW4_CMLOG_ITEM@@ZZ
+MakeBold
+; private: long __thiscall CmLogFile::OpenFile(void)
+?OpenFile@CmLogFile@@AAEJXZ
+ReleaseBold
+; public: void __thiscall CIniA::SetEntry(char const *)
+?SetEntry@CIniA@@QAEXPBD@Z
+; public: void __thiscall CIniW::SetEntry(unsigned short const *)
+?SetEntry@CIniW@@QAEXPBG@Z
+; public: void __thiscall CIniA::SetEntryFromIdx(unsigned long)
+?SetEntryFromIdx@CIniA@@QAEXK@Z
+; public: void __thiscall CIniW::SetEntryFromIdx(unsigned long)
+?SetEntryFromIdx@CIniW@@QAEXK@Z
+; public: void __thiscall CIniA::SetFile(char const *)
+?SetFile@CIniA@@QAEXPBD@Z
+; public: void __thiscall CIniW::SetFile(unsigned short const *)
+?SetFile@CIniW@@QAEXPBG@Z
+; public: void __thiscall CIniA::SetHInst(struct HINSTANCE__ *)
+?SetHInst@CIniA@@QAEXPAUHINSTANCE__@@@Z
+; public: void __thiscall CIniW::SetHInst(struct HINSTANCE__ *)
+?SetHInst@CIniW@@QAEXPAUHINSTANCE__@@@Z
+; public: void __thiscall CIniA::SetICSDataPath(char const *)
+?SetICSDataPath@CIniA@@QAEXPBD@Z
+; public: void __thiscall CIniW::SetICSDataPath(unsigned short const *)
+?SetICSDataPath@CIniW@@QAEXPBG@Z
+; public: long __thiscall CmLogFile::SetParams(int,unsigned long,char const *)
+?SetParams@CmLogFile@@QAEJHKPBD@Z
+; public: long __thiscall CmLogFile::SetParams(int,unsigned long,unsigned short const *)
+?SetParams@CmLogFile@@QAEJHKPBG@Z
+; public: void __thiscall CIniA::SetPrimaryFile(char const *)
+?SetPrimaryFile@CIniA@@QAEXPBD@Z
+; public: void __thiscall CIniW::SetPrimaryFile(unsigned short const *)
+?SetPrimaryFile@CIniW@@QAEXPBG@Z
+; public: void __thiscall CIniA::SetPrimaryRegPath(char const *)
+?SetPrimaryRegPath@CIniA@@QAEXPBD@Z
+; public: void __thiscall CIniW::SetPrimaryRegPath(unsigned short const *)
+?SetPrimaryRegPath@CIniW@@QAEXPBG@Z
+; public: void __thiscall CIniA::SetReadICSData(int)
+?SetReadICSData@CIniA@@QAEXH@Z
+; public: void __thiscall CIniW::SetReadICSData(int)
+?SetReadICSData@CIniW@@QAEXH@Z
+; public: void __thiscall CIniA::SetRegPath(char const *)
+?SetRegPath@CIniA@@QAEXPBD@Z
+; public: void __thiscall CIniW::SetRegPath(unsigned short const *)
+?SetRegPath@CIniW@@QAEXPBG@Z
+; public: void __thiscall CIniA::SetSection(char const *)
+?SetSection@CIniA@@QAEXPBD@Z
+; public: void __thiscall CIniW::SetSection(unsigned short const *)
+?SetSection@CIniW@@QAEXPBG@Z
+; public: void __thiscall CIniA::SetWriteICSData(int)
+?SetWriteICSData@CIniA@@QAEXH@Z
+; public: void __thiscall CIniW::SetWriteICSData(int)
+?SetWriteICSData@CIniW@@QAEXH@Z
+; public: long __thiscall CmLogFile::Start(int)
+?Start@CmLogFile@@QAEJH@Z
+; public: long __thiscall CmLogFile::Stop(void)
+?Stop@CmLogFile@@QAEJXZ
+SzToWz
+SzToWzWithAlloc
+UpdateFont
+; public: void __thiscall CIniA::WPPB(char const *,char const *,int)
+?WPPB@CIniA@@QAEXPBD0H@Z
+; public: void __thiscall CIniW::WPPB(unsigned short const *,unsigned short const *,int)
+?WPPB@CIniW@@QAEXPBG0H@Z
+; public: void __thiscall CIniA::WPPI(char const *,char const *,unsigned long)
+?WPPI@CIniA@@QAEXPBD0K@Z
+; public: void __thiscall CIniW::WPPI(unsigned short const *,unsigned short const *,unsigned long)
+?WPPI@CIniW@@QAEXPBG0K@Z
+; public: void __thiscall CIniA::WPPS(char const *,char const *,char const *)
+?WPPS@CIniA@@QAEXPBD00@Z
+; public: void __thiscall CIniW::WPPS(unsigned short const *,unsigned short const *,unsigned short const *)
+?WPPS@CIniW@@QAEXPBG00@Z
+; private: long __thiscall CmLogFile::Write(unsigned short *)
+?Write@CmLogFile@@AAEJPAG@Z
+WzToSz
+WzToSzWithAlloc
diff --git a/mingw-w64-crt/lib64/wcnbjmon.def b/mingw-w64-crt/lib64/wcnbjmon.def
index d22fe1b..6694a45 100644
--- a/mingw-w64-crt/lib64/wcnbjmon.def
+++ b/mingw-w64-crt/lib64/wcnbjmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file CNBJMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CNBJMON.dll
-EXPORTS
-InitializePrintMonitor
+; 
+; Exports of file CNBJMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CNBJMON.dll
+EXPORTS
+InitializePrintMonitor
diff --git a/mingw-w64-crt/lib64/wcnetcfg.def b/mingw-w64-crt/lib64/wcnetcfg.def
index a5f6c53..73cb518 100644
--- a/mingw-w64-crt/lib64/wcnetcfg.def
+++ b/mingw-w64-crt/lib64/wcnetcfg.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CNETCFG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CNETCFG.dll
-EXPORTS
-InetConfigSystem
-InetNeedModem
-InetNeedSystemComponents
-InetStartServices
+; 
+; Exports of file CNETCFG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CNETCFG.dll
+EXPORTS
+InetConfigSystem
+InetNeedModem
+InetNeedSystemComponents
+InetStartServices
diff --git a/mingw-w64-crt/lib64/wcnvfat.def b/mingw-w64-crt/lib64/wcnvfat.def
index d7fe046..6dc6dee 100644
--- a/mingw-w64-crt/lib64/wcnvfat.def
+++ b/mingw-w64-crt/lib64/wcnvfat.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file CUFAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CUFAT.dll
-EXPORTS
-IsConversionAvailable
-ConvertFAT
+; 
+; Exports of file CUFAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CUFAT.dll
+EXPORTS
+IsConversionAvailable
+ConvertFAT
diff --git a/mingw-w64-crt/lib64/wcolbact.def b/mingw-w64-crt/lib64/wcolbact.def
index 07358bb..3832c74 100644
--- a/mingw-w64-crt/lib64/wcolbact.def
+++ b/mingw-w64-crt/lib64/wcolbact.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file colbact.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY colbact.DLL
-EXPORTS
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetClassInfoForCurrentUser
-GetDefaultPartitionForCurrentUser
-GetDefaultPartitionForSid
-PartitionAccessCheck
+; 
+; Exports of file colbact.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY colbact.DLL
+EXPORTS
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetClassInfoForCurrentUser
+GetDefaultPartitionForCurrentUser
+GetDefaultPartitionForSid
+PartitionAccessCheck
diff --git a/mingw-w64-crt/lib64/wcomaddin.def b/mingw-w64-crt/lib64/wcomaddin.def
index 0f7b0ee..3aaa441 100644
--- a/mingw-w64-crt/lib64/wcomaddin.def
+++ b/mingw-w64-crt/lib64/wcomaddin.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COMADDIN.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMADDIN.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file COMADDIN.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMADDIN.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcomadmin.def b/mingw-w64-crt/lib64/wcomadmin.def
index a032f67..472f7a9 100644
--- a/mingw-w64-crt/lib64/wcomadmin.def
+++ b/mingw-w64-crt/lib64/wcomadmin.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COMADMIN.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMADMIN.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file COMADMIN.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMADMIN.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcomcat.def b/mingw-w64-crt/lib64/wcomcat.def
index d2e0734..42e4118 100644
--- a/mingw-w64-crt/lib64/wcomcat.def
+++ b/mingw-w64-crt/lib64/wcomcat.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COMCAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMCAT.dll
-EXPORTS
-DllGetClassObject
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file COMCAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMCAT.dll
+EXPORTS
+DllGetClassObject
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcomctl32.def b/mingw-w64-crt/lib64/wcomctl32.def
index 9e2d323..6ef3115 100644
--- a/mingw-w64-crt/lib64/wcomctl32.def
+++ b/mingw-w64-crt/lib64/wcomctl32.def
@@ -1,116 +1,116 @@
-; 
-; Exports of file COMCTL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMCTL32.dll
-EXPORTS
-MenuHelp
-ShowHideMenuCtl
-GetEffectiveClientRect
-DrawStatusTextA
-CreateStatusWindowA
-CreateToolbar
-CreateMappedBitmap
-CreatePropertySheetPage
-MakeDragList
-LBItemFromPt
-DrawInsert
-CreateUpDownControl
-InitCommonControls
-CreatePropertySheetPageA
-CreatePropertySheetPageW
-CreateStatusWindow
-CreateStatusWindowW
-CreateToolbarEx
-DestroyPropertySheetPage
-DllGetVersion
-DllInstall
-DrawStatusText
-DrawStatusTextW
-FlatSB_EnableScrollBar
-FlatSB_GetScrollInfo
-FlatSB_GetScrollPos
-FlatSB_GetScrollProp
-FlatSB_GetScrollRange
-FlatSB_SetScrollInfo
-FlatSB_SetScrollPos
-FlatSB_SetScrollProp
-FlatSB_SetScrollRange
-FlatSB_ShowScrollBar
-GetMUILanguage
-ImageList_Add
-ImageList_AddIcon
-ImageList_AddMasked
-ImageList_BeginDrag
-ImageList_Copy
-ImageList_Create
-ImageList_Destroy
-ImageList_DragEnter
-ImageList_DragLeave
-ImageList_DragMove
-ImageList_DragShowNolock
-ImageList_Draw
-ImageList_DrawEx
-ImageList_DrawIndirect
-ImageList_Duplicate
-ImageList_EndDrag
-ImageList_GetBkColor
-ImageList_GetDragImage
-ImageList_GetFlags
-ImageList_GetIcon
-ImageList_GetIconSize
-ImageList_GetImageCount
-ImageList_GetImageInfo
-ImageList_GetImageRect
-ImageList_LoadImage
-ImageList_LoadImageA
-ImageList_LoadImageW
-ImageList_Merge
-ImageList_Read
-ImageList_Remove
-ImageList_Replace
-ImageList_ReplaceIcon
-ImageList_SetBkColor
-ImageList_SetDragCursorImage
-ImageList_SetFilter
-ImageList_SetFlags
-ImageList_SetIconSize
-ImageList_SetImageCount
-ImageList_SetOverlayImage
-ImageList_Write
-InitCommonControlsEx
-InitMUILanguage
-InitializeFlatSB
-PropertySheet
-PropertySheetA
-PropertySheetW
-RegisterClassNameW
-UninitializeFlatSB
-_TrackMouseEvent
-FreeMRUList
-Str_SetPtrW
-DSA_Create
-DSA_Destroy
-DSA_GetItemPtr
-DSA_InsertItem
-DSA_DeleteAllItems
-DPA_Create
-DPA_Destroy
-DPA_GetPtr
-DPA_InsertPtr
-DPA_SetPtr
-DPA_DeletePtr
-DPA_DeleteAllPtrs
-DPA_Sort
-DPA_Search
-DPA_EnumCallback
-DPA_DestroyCallback
-DSA_DestroyCallback
-CreateMRUListW
-AddMRUStringW
-EnumMRUListW
-SetWindowSubclass
-RemoveWindowSubclass
-DefSubclassProc
+; 
+; Exports of file COMCTL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMCTL32.dll
+EXPORTS
+MenuHelp
+ShowHideMenuCtl
+GetEffectiveClientRect
+DrawStatusTextA
+CreateStatusWindowA
+CreateToolbar
+CreateMappedBitmap
+CreatePropertySheetPage
+MakeDragList
+LBItemFromPt
+DrawInsert
+CreateUpDownControl
+InitCommonControls
+CreatePropertySheetPageA
+CreatePropertySheetPageW
+CreateStatusWindow
+CreateStatusWindowW
+CreateToolbarEx
+DestroyPropertySheetPage
+DllGetVersion
+DllInstall
+DrawStatusText
+DrawStatusTextW
+FlatSB_EnableScrollBar
+FlatSB_GetScrollInfo
+FlatSB_GetScrollPos
+FlatSB_GetScrollProp
+FlatSB_GetScrollRange
+FlatSB_SetScrollInfo
+FlatSB_SetScrollPos
+FlatSB_SetScrollProp
+FlatSB_SetScrollRange
+FlatSB_ShowScrollBar
+GetMUILanguage
+ImageList_Add
+ImageList_AddIcon
+ImageList_AddMasked
+ImageList_BeginDrag
+ImageList_Copy
+ImageList_Create
+ImageList_Destroy
+ImageList_DragEnter
+ImageList_DragLeave
+ImageList_DragMove
+ImageList_DragShowNolock
+ImageList_Draw
+ImageList_DrawEx
+ImageList_DrawIndirect
+ImageList_Duplicate
+ImageList_EndDrag
+ImageList_GetBkColor
+ImageList_GetDragImage
+ImageList_GetFlags
+ImageList_GetIcon
+ImageList_GetIconSize
+ImageList_GetImageCount
+ImageList_GetImageInfo
+ImageList_GetImageRect
+ImageList_LoadImage
+ImageList_LoadImageA
+ImageList_LoadImageW
+ImageList_Merge
+ImageList_Read
+ImageList_Remove
+ImageList_Replace
+ImageList_ReplaceIcon
+ImageList_SetBkColor
+ImageList_SetDragCursorImage
+ImageList_SetFilter
+ImageList_SetFlags
+ImageList_SetIconSize
+ImageList_SetImageCount
+ImageList_SetOverlayImage
+ImageList_Write
+InitCommonControlsEx
+InitMUILanguage
+InitializeFlatSB
+PropertySheet
+PropertySheetA
+PropertySheetW
+RegisterClassNameW
+UninitializeFlatSB
+_TrackMouseEvent
+FreeMRUList
+Str_SetPtrW
+DSA_Create
+DSA_Destroy
+DSA_GetItemPtr
+DSA_InsertItem
+DSA_DeleteAllItems
+DPA_Create
+DPA_Destroy
+DPA_GetPtr
+DPA_InsertPtr
+DPA_SetPtr
+DPA_DeletePtr
+DPA_DeleteAllPtrs
+DPA_Sort
+DPA_Search
+DPA_EnumCallback
+DPA_DestroyCallback
+DSA_DestroyCallback
+CreateMRUListW
+AddMRUStringW
+EnumMRUListW
+SetWindowSubclass
+RemoveWindowSubclass
+DefSubclassProc
diff --git a/mingw-w64-crt/lib64/wcomdlg32.def b/mingw-w64-crt/lib64/wcomdlg32.def
index 46cfa9b..3ba3d4f 100644
--- a/mingw-w64-crt/lib64/wcomdlg32.def
+++ b/mingw-w64-crt/lib64/wcomdlg32.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file comdlg32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY comdlg32.dll
-EXPORTS
-ChooseColorA
-ChooseColorW
-ChooseFontA
-ChooseFontW
-CommDlgExtendedError
-FindTextA
-FindTextW
-GetFileTitleA
-GetFileTitleW
-GetOpenFileNameA
-GetOpenFileNameW
-GetSaveFileNameA
-GetSaveFileNameW
-LoadAlterBitmap
-PageSetupDlgA
-PageSetupDlgW
-PrintDlgA
-PrintDlgExA
-PrintDlgExW
-PrintDlgW
-ReplaceTextA
-ReplaceTextW
-Ssync_ANSI_UNICODE_Struct_For_WOW
-WantArrows
-dwLBSubclass
-dwOKSubclass
+; 
+; Exports of file comdlg32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY comdlg32.dll
+EXPORTS
+ChooseColorA
+ChooseColorW
+ChooseFontA
+ChooseFontW
+CommDlgExtendedError
+FindTextA
+FindTextW
+GetFileTitleA
+GetFileTitleW
+GetOpenFileNameA
+GetOpenFileNameW
+GetSaveFileNameA
+GetSaveFileNameW
+LoadAlterBitmap
+PageSetupDlgA
+PageSetupDlgW
+PrintDlgA
+PrintDlgExA
+PrintDlgExW
+PrintDlgW
+ReplaceTextA
+ReplaceTextW
+Ssync_ANSI_UNICODE_Struct_For_WOW
+WantArrows
+dwLBSubclass
+dwOKSubclass
diff --git a/mingw-w64-crt/lib64/wcompatUI.def b/mingw-w64-crt/lib64/wcompatUI.def
index 393d9c3..53b2009 100644
--- a/mingw-w64-crt/lib64/wcompatUI.def
+++ b/mingw-w64-crt/lib64/wcompatUI.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file CompatUI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CompatUI.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CompatUI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CompatUI.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcompstui.def b/mingw-w64-crt/lib64/wcompstui.def
index 4e6df85..240a6cc 100644
--- a/mingw-w64-crt/lib64/wcompstui.def
+++ b/mingw-w64-crt/lib64/wcompstui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file COMPSTUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMPSTUI.dll
-EXPORTS
-CommonPropertySheetUIA
-CommonPropertySheetUIW
-GetCPSUIUserData
-SetCPSUIUserData
+; 
+; Exports of file COMPSTUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMPSTUI.dll
+EXPORTS
+CommonPropertySheetUIA
+CommonPropertySheetUIW
+GetCPSUIUserData
+SetCPSUIUserData
diff --git a/mingw-w64-crt/lib64/wcomres.def b/mingw-w64-crt/lib64/wcomres.def
index efccf6e..079ad06 100644
--- a/mingw-w64-crt/lib64/wcomres.def
+++ b/mingw-w64-crt/lib64/wcomres.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file COMRes.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY COMRes.dll
-EXPORTS
-COMResModuleInstance
+; 
+; Exports of file COMRes.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY COMRes.dll
+EXPORTS
+COMResModuleInstance
diff --git a/mingw-w64-crt/lib64/wcomsnap.def b/mingw-w64-crt/lib64/wcomsnap.def
index ed65699..86dfec0 100644
--- a/mingw-w64-crt/lib64/wcomsnap.def
+++ b/mingw-w64-crt/lib64/wcomsnap.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ComSnap.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ComSnap.DLL
-EXPORTS
-InstallDsExtension
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ComSnap.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ComSnap.DLL
+EXPORTS
+InstallDsExtension
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcomsvcs.def b/mingw-w64-crt/lib64/wcomsvcs.def
index 3a08be0..0aff8de 100644
--- a/mingw-w64-crt/lib64/wcomsvcs.def
+++ b/mingw-w64-crt/lib64/wcomsvcs.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file comsvcs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY comsvcs.dll
-EXPORTS
-CosGetCallContext
-GetMTAThreadPoolMetrics
-CoCreateActivity
-CoEnterServiceDomain
-CoLeaveServiceDomain
-CoLoadServices
-ComSvcsExceptionFilter
-ComSvcsLogError
-DispManGetContext
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetManagedExtensions
-GetObjectContext
-GetTrkSvrObject
-MTSCreateActivity
-MiniDumpW
-RecycleSurrogate
-RegisterComEvents
-SafeRef
+; 
+; Exports of file comsvcs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY comsvcs.dll
+EXPORTS
+CosGetCallContext
+GetMTAThreadPoolMetrics
+CoCreateActivity
+CoEnterServiceDomain
+CoLeaveServiceDomain
+CoLoadServices
+ComSvcsExceptionFilter
+ComSvcsLogError
+DispManGetContext
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetManagedExtensions
+GetObjectContext
+GetTrkSvrObject
+MTSCreateActivity
+MiniDumpW
+RecycleSurrogate
+RegisterComEvents
+SafeRef
diff --git a/mingw-w64-crt/lib64/wcomuid.def b/mingw-w64-crt/lib64/wcomuid.def
index ba04311..cfaf8e3 100644
--- a/mingw-w64-crt/lib64/wcomuid.def
+++ b/mingw-w64-crt/lib64/wcomuid.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ComUID.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ComUID.DLL
-EXPORTS
-CreateDCOMSecurityUIPage
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ComUID.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ComUID.DLL
+EXPORTS
+CreateDCOMSecurityUIPage
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wconfmsp.def b/mingw-w64-crt/lib64/wconfmsp.def
index 985fcd2..3ff84cc 100644
--- a/mingw-w64-crt/lib64/wconfmsp.def
+++ b/mingw-w64-crt/lib64/wconfmsp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file confmsp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY confmsp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file confmsp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY confmsp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wconsole.def b/mingw-w64-crt/lib64/wconsole.def
index 4806658..f60a1f6 100644
--- a/mingw-w64-crt/lib64/wconsole.def
+++ b/mingw-w64-crt/lib64/wconsole.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file Console.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Console.dll
-EXPORTS
-CPlApplet
+; 
+; Exports of file Console.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Console.dll
+EXPORTS
+CPlApplet
diff --git a/mingw-w64-crt/lib64/wcorpol.def b/mingw-w64-crt/lib64/wcorpol.def
index c1aa29c..42f08b9 100644
--- a/mingw-w64-crt/lib64/wcorpol.def
+++ b/mingw-w64-crt/lib64/wcorpol.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file corpol.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY corpol.dll
-EXPORTS
-CORLockDownProvider
-CORPolicyEE
-CORPolicyProvider
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
-GetPublisher
-GetUnsignedPermissions
+; 
+; Exports of file corpol.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY corpol.dll
+EXPORTS
+CORLockDownProvider
+CORPolicyEE
+CORPolicyProvider
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
+GetPublisher
+GetUnsignedPermissions
diff --git a/mingw-w64-crt/lib64/wcredui.def b/mingw-w64-crt/lib64/wcredui.def
index 0460540..f0ae9b3 100644
--- a/mingw-w64-crt/lib64/wcredui.def
+++ b/mingw-w64-crt/lib64/wcredui.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file credui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY credui.dll
-EXPORTS
-CredUICmdLinePromptForCredentialsA
-CredUICmdLinePromptForCredentialsW
-CredUIConfirmCredentialsA
-CredUIConfirmCredentialsW
-CredUIInitControls
-CredUIParseUserNameA
-CredUIParseUserNameW
-CredUIPromptForCredentialsA
-CredUIPromptForCredentialsW
-CredUIReadSSOCredA
-CredUIReadSSOCredW
-CredUIStoreSSOCredA
-CredUIStoreSSOCredW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file credui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY credui.dll
+EXPORTS
+CredUICmdLinePromptForCredentialsA
+CredUICmdLinePromptForCredentialsW
+CredUIConfirmCredentialsA
+CredUIConfirmCredentialsW
+CredUIInitControls
+CredUIParseUserNameA
+CredUIParseUserNameW
+CredUIPromptForCredentialsA
+CredUIPromptForCredentialsW
+CredUIReadSSOCredA
+CredUIReadSSOCredW
+CredUIStoreSSOCredA
+CredUIStoreSSOCredW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcrtdll.def b/mingw-w64-crt/lib64/wcrtdll.def
index 7bad93c..ab46914 100644
--- a/mingw-w64-crt/lib64/wcrtdll.def
+++ b/mingw-w64-crt/lib64/wcrtdll.def
@@ -1,541 +1,541 @@
-; 
-; Exports of file CRTDLL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRTDLL.dll
-EXPORTS
-; void * __cdecl operator new(unsigned int)
-??2@YAPAXI@Z
-; void __cdecl operator delete(void *)
-??3@YAXPAX@Z
-; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
-?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
-_CIacos
-_CIasin
-_CIatan
-_CIatan2
-_CIcos
-_CIcosh
-_CIexp
-_CIfmod
-_CIlog
-_CIlog10
-_CIpow
-_CIsin
-_CIsinh
-_CIsqrt
-_CItan
-_CItanh
-_HUGE_dll DATA
-_XcptFilter
-__GetMainArgs
-__argc_dll DATA
-__argv_dll DATA
-__dllonexit
-__doserrno
-__fpecode
-__isascii
-__iscsym
-__iscsymf
-__mb_cur_max_dll DATA
-__pxcptinfoptrs
-__threadhandle
-__threadid
-__toascii
-_abnormal_termination
-_access
-_acmdln_dll DATA
-_aexit_rtn_dll DATA
-_amsg_exit
-_assert
-_basemajor_dll DATA
-_baseminor_dll DATA
-_baseversion_dll DATA
-_beep
-_beginthread
-_c_exit
-_cabs
-_cexit
-_cgets
-_chdir
-_chdrive
-_chgsign
-_chmod
-_chsize
-_clearfp
-_close
-_commit
-_commode_dll DATA
-_control87
-_controlfp
-_copysign
-_cprintf
-_cpumode_dll DATA
-_cputs
-_creat
-_cscanf
-_ctype DATA
-_cwait
-_daylight_dll DATA
-_dup
-_dup2
-_ecvt
-_endthread
-_environ_dll DATA
-_eof
-_errno
-_except_handler2
-_execl
-_execle
-_execlp
-_execlpe
-_execv
-_execve
-_execvp
-_execvpe
-_exit
-_expand
-_fcloseall
-_fcvt
-_fdopen
-_fgetchar
-_fgetwchar
-_filbuf
-_fileinfo_dll DATA
-_filelength
-_fileno
-_findclose
-_findfirst
-_findnext
-_finite
-_flsbuf
-_flushall
-_fmode_dll DATA
-_fpclass
-_fpieee_flt
-_fpreset
-_fputchar
-_fputwchar
-_fsopen
-_fstat
-_ftime
-_ftol
-_fullpath
-_futime
-_gcvt
-_get_osfhandle
-_getch
-_getche
-_getcwd
-_getdcwd
-_getdiskfree
-_getdllprocaddr
-_getdrive
-_getdrives
-_getpid
-_getsystime
-_getw
-_global_unwind2
-_heapchk
-_heapmin
-_heapset
-_heapwalk
-_hypot
-_initterm
-_iob DATA
-_isatty
-_isctype
-_ismbbalnum
-_ismbbalpha
-_ismbbgraph
-_ismbbkalnum
-_ismbbkana
-_ismbbkpunct
-_ismbblead
-_ismbbprint
-_ismbbpunct
-_ismbbtrail
-_ismbcalpha
-_ismbcdigit
-_ismbchira
-_ismbckata
-_ismbcl0
-_ismbcl1
-_ismbcl2
-_ismbclegal
-_ismbclower
-_ismbcprint
-_ismbcspace
-_ismbcsymbol
-_ismbcupper
-_ismbslead
-_ismbstrail
-_isnan
-_itoa
-_itow
-_j0
-_j1
-_jn
-_kbhit
-_lfind
-_loaddll
-_local_unwind2
-_locking
-_logb
-_lrotl
-_lrotr
-_lsearch
-_lseek
-_ltoa
-_ltow
-_makepath
-_matherr
-_mbbtombc
-_mbbtype
-_mbccpy
-_mbcjistojms
-_mbcjmstojis
-_mbclen
-_mbctohira
-_mbctokata
-_mbctolower
-_mbctombb
-_mbctoupper
-_mbctype DATA
-_mbsbtype
-_mbscat
-_mbschr
-_mbscmp
-_mbscpy
-_mbscspn
-_mbsdec
-_mbsdup
-_mbsicmp
-_mbsinc
-_mbslen
-_mbslwr
-_mbsnbcat
-_mbsnbcmp
-_mbsnbcnt
-_mbsnbcpy
-_mbsnbicmp
-_mbsnbset
-_mbsncat
-_mbsnccnt
-_mbsncmp
-_mbsncpy
-_mbsnextc
-_mbsnicmp
-_mbsninc
-_mbsnset
-_mbspbrk
-_mbsrchr
-_mbsrev
-_mbsset
-_mbsspn
-_mbsspnp
-_mbsstr
-_mbstok
-_mbstrlen
-_mbsupr
-_memccpy
-_memicmp
-_mkdir
-_mktemp
-_msize
-_nextafter
-_onexit
-_open
-_open_osfhandle
-_osmajor_dll DATA
-_osminor_dll DATA
-_osmode_dll DATA
-_osver_dll DATA
-_osversion_dll DATA
-_pclose
-_pctype_dll DATA
-_pgmptr_dll DATA
-_pipe
-_popen
-_purecall
-_putch
-_putenv
-_putw
-_pwctype_dll DATA
-_read
-_rmdir
-_rmtmp
-_rotl
-_rotr
-_scalb
-_searchenv
-_seterrormode
-_setjmp
-_setmode
-_setsystime
-_sleep
-_snprintf
-_snwprintf
-_sopen
-_spawnl
-_spawnle
-_spawnlp
-_spawnlpe
-_spawnv
-_spawnve
-_spawnvp
-_spawnvpe
-_splitpath
-_stat
-_statusfp
-_strcmpi
-_strdate
-_strdec
-_strdup
-_strerror
-_stricmp
-_stricoll
-_strinc
-_strlwr
-_strncnt
-_strnextc
-_strnicmp
-_strninc
-_strnset
-_strrev
-_strset
-_strspnp
-_strtime
-_strupr
-_swab
-_sys_errlist DATA
-_sys_nerr_dll DATA
-_tell
-_tempnam
-_timezone_dll DATA
-_tolower
-_toupper
-_tzname DATA
-_tzset
-_ultoa
-_ultow
-_umask
-_ungetch
-_unlink
-_unloaddll
-_utime
-_vsnprintf
-_vsnwprintf
-_wcsdup
-_wcsicmp
-_wcsicoll
-_wcslwr
-_wcsnicmp
-_wcsnset
-_wcsrev
-_wcsset
-_wcsupr
-_winmajor_dll DATA
-_winminor_dll DATA
-_winver_dll DATA
-_write
-_wtoi
-_wtol
-_y0
-_y1
-_yn
-abort
-abs
-acos
-asctime
-asin
-atan
-atan2
-atexit DATA
-atof
-atoi
-atol
-bsearch
-calloc
-ceil
-clearerr
-clock
-cos
-cosh
-ctime DATA
-;_ctime32 = ctime
-difftime
-div
-exit
-exp
-fabs
-fclose
-feof
-ferror
-fflush
-fgetc
-fgetpos
-fgets
-fgetwc
-floor
-fmod
-fopen
-fprintf
-fputc
-fputs
-fputwc
-fread
-free
-freopen
-frexp
-fscanf
-fseek
-fsetpos
-ftell
-fwprintf
-fwrite
-fwscanf
-getc
-getchar
-getenv
-gets
-gmtime DATA
-;_gmtime32 = gmtime
-is_wctype
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-isleadbyte
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalnum
-iswalpha
-iswascii
-iswcntrl
-iswctype
-iswdigit
-iswgraph
-iswlower
-iswprint
-iswpunct
-iswspace
-iswupper
-iswxdigit
-isxdigit
-labs
-ldexp
-ldiv
-localeconv
-localtime DATA
-;_localtime32 = localtime
-log
-log10
-malloc
-mblen
-mbstowcs
-mbtowc
-memchr
-memcmp
-memcpy
-memmove
-memset
-mktime DATA
-;_mktime32 = mktime
-modf
-perror
-pow
-printf
-putc
-putchar
-puts
-qsort
-raise
-rand
-realloc
-remove
-rename
-rewind
-scanf
-setbuf
-setlocale
-setvbuf
-signal
-sin
-sinh
-sprintf
-sqrt
-srand
-sscanf
-strcat
-strchr
-strcmp
-strcoll
-strcpy
-strcspn
-strerror
-strftime
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtod
-strtok
-strtol
-strtoul
-strxfrm
-swprintf
-swscanf
-system
-tan
-tanh
-time DATA
-;_time32 = time
-tmpfile
-tmpnam
-tolower
-toupper
-towlower
-towupper
-ungetc
-ungetwc
-vfprintf
-vfwprintf
-vprintf
-vsprintf
-vswprintf
-vwprintf
-wcscat
-wcschr
-wcscmp
-wcscoll
-wcscpy
-wcscspn
-wcsftime
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstod
-wcstok
-wcstol
-wcstombs
-wcstoul
-wcsxfrm
-wctomb
-wprintf
-wscanf
+; 
+; Exports of file CRTDLL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRTDLL.dll
+EXPORTS
+; void * __cdecl operator new(unsigned int)
+??2@YAPAXI@Z
+; void __cdecl operator delete(void *)
+??3@YAXPAX@Z
+; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
+?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
+_CIacos
+_CIasin
+_CIatan
+_CIatan2
+_CIcos
+_CIcosh
+_CIexp
+_CIfmod
+_CIlog
+_CIlog10
+_CIpow
+_CIsin
+_CIsinh
+_CIsqrt
+_CItan
+_CItanh
+_HUGE_dll DATA
+_XcptFilter
+__GetMainArgs
+__argc_dll DATA
+__argv_dll DATA
+__dllonexit
+__doserrno
+__fpecode
+__isascii
+__iscsym
+__iscsymf
+__mb_cur_max_dll DATA
+__pxcptinfoptrs
+__threadhandle
+__threadid
+__toascii
+_abnormal_termination
+_access
+_acmdln_dll DATA
+_aexit_rtn_dll DATA
+_amsg_exit
+_assert
+_basemajor_dll DATA
+_baseminor_dll DATA
+_baseversion_dll DATA
+_beep
+_beginthread
+_c_exit
+_cabs
+_cexit
+_cgets
+_chdir
+_chdrive
+_chgsign
+_chmod
+_chsize
+_clearfp
+_close
+_commit
+_commode_dll DATA
+_control87
+_controlfp
+_copysign
+_cprintf
+_cpumode_dll DATA
+_cputs
+_creat
+_cscanf
+_ctype DATA
+_cwait
+_daylight_dll DATA
+_dup
+_dup2
+_ecvt
+_endthread
+_environ_dll DATA
+_eof
+_errno
+_except_handler2
+_execl
+_execle
+_execlp
+_execlpe
+_execv
+_execve
+_execvp
+_execvpe
+_exit
+_expand
+_fcloseall
+_fcvt
+_fdopen
+_fgetchar
+_fgetwchar
+_filbuf
+_fileinfo_dll DATA
+_filelength
+_fileno
+_findclose
+_findfirst
+_findnext
+_finite
+_flsbuf
+_flushall
+_fmode_dll DATA
+_fpclass
+_fpieee_flt
+_fpreset
+_fputchar
+_fputwchar
+_fsopen
+_fstat
+_ftime
+_ftol
+_fullpath
+_futime
+_gcvt
+_get_osfhandle
+_getch
+_getche
+_getcwd
+_getdcwd
+_getdiskfree
+_getdllprocaddr
+_getdrive
+_getdrives
+_getpid
+_getsystime
+_getw
+_global_unwind2
+_heapchk
+_heapmin
+_heapset
+_heapwalk
+_hypot
+_initterm
+_iob DATA
+_isatty
+_isctype
+_ismbbalnum
+_ismbbalpha
+_ismbbgraph
+_ismbbkalnum
+_ismbbkana
+_ismbbkpunct
+_ismbblead
+_ismbbprint
+_ismbbpunct
+_ismbbtrail
+_ismbcalpha
+_ismbcdigit
+_ismbchira
+_ismbckata
+_ismbcl0
+_ismbcl1
+_ismbcl2
+_ismbclegal
+_ismbclower
+_ismbcprint
+_ismbcspace
+_ismbcsymbol
+_ismbcupper
+_ismbslead
+_ismbstrail
+_isnan
+_itoa
+_itow
+_j0
+_j1
+_jn
+_kbhit
+_lfind
+_loaddll
+_local_unwind2
+_locking
+_logb
+_lrotl
+_lrotr
+_lsearch
+_lseek
+_ltoa
+_ltow
+_makepath
+_matherr
+_mbbtombc
+_mbbtype
+_mbccpy
+_mbcjistojms
+_mbcjmstojis
+_mbclen
+_mbctohira
+_mbctokata
+_mbctolower
+_mbctombb
+_mbctoupper
+_mbctype DATA
+_mbsbtype
+_mbscat
+_mbschr
+_mbscmp
+_mbscpy
+_mbscspn
+_mbsdec
+_mbsdup
+_mbsicmp
+_mbsinc
+_mbslen
+_mbslwr
+_mbsnbcat
+_mbsnbcmp
+_mbsnbcnt
+_mbsnbcpy
+_mbsnbicmp
+_mbsnbset
+_mbsncat
+_mbsnccnt
+_mbsncmp
+_mbsncpy
+_mbsnextc
+_mbsnicmp
+_mbsninc
+_mbsnset
+_mbspbrk
+_mbsrchr
+_mbsrev
+_mbsset
+_mbsspn
+_mbsspnp
+_mbsstr
+_mbstok
+_mbstrlen
+_mbsupr
+_memccpy
+_memicmp
+_mkdir
+_mktemp
+_msize
+_nextafter
+_onexit
+_open
+_open_osfhandle
+_osmajor_dll DATA
+_osminor_dll DATA
+_osmode_dll DATA
+_osver_dll DATA
+_osversion_dll DATA
+_pclose
+_pctype_dll DATA
+_pgmptr_dll DATA
+_pipe
+_popen
+_purecall
+_putch
+_putenv
+_putw
+_pwctype_dll DATA
+_read
+_rmdir
+_rmtmp
+_rotl
+_rotr
+_scalb
+_searchenv
+_seterrormode
+_setjmp
+_setmode
+_setsystime
+_sleep
+_snprintf
+_snwprintf
+_sopen
+_spawnl
+_spawnle
+_spawnlp
+_spawnlpe
+_spawnv
+_spawnve
+_spawnvp
+_spawnvpe
+_splitpath
+_stat
+_statusfp
+_strcmpi
+_strdate
+_strdec
+_strdup
+_strerror
+_stricmp
+_stricoll
+_strinc
+_strlwr
+_strncnt
+_strnextc
+_strnicmp
+_strninc
+_strnset
+_strrev
+_strset
+_strspnp
+_strtime
+_strupr
+_swab
+_sys_errlist DATA
+_sys_nerr_dll DATA
+_tell
+_tempnam
+_timezone_dll DATA
+_tolower
+_toupper
+_tzname DATA
+_tzset
+_ultoa
+_ultow
+_umask
+_ungetch
+_unlink
+_unloaddll
+_utime
+_vsnprintf
+_vsnwprintf
+_wcsdup
+_wcsicmp
+_wcsicoll
+_wcslwr
+_wcsnicmp
+_wcsnset
+_wcsrev
+_wcsset
+_wcsupr
+_winmajor_dll DATA
+_winminor_dll DATA
+_winver_dll DATA
+_write
+_wtoi
+_wtol
+_y0
+_y1
+_yn
+abort
+abs
+acos
+asctime
+asin
+atan
+atan2
+atexit DATA
+atof
+atoi
+atol
+bsearch
+calloc
+ceil
+clearerr
+clock
+cos
+cosh
+ctime DATA
+;_ctime32 = ctime
+difftime
+div
+exit
+exp
+fabs
+fclose
+feof
+ferror
+fflush
+fgetc
+fgetpos
+fgets
+fgetwc
+floor
+fmod
+fopen
+fprintf
+fputc
+fputs
+fputwc
+fread
+free
+freopen
+frexp
+fscanf
+fseek
+fsetpos
+ftell
+fwprintf
+fwrite
+fwscanf
+getc
+getchar
+getenv
+gets
+gmtime DATA
+;_gmtime32 = gmtime
+is_wctype
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+isleadbyte
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalnum
+iswalpha
+iswascii
+iswcntrl
+iswctype
+iswdigit
+iswgraph
+iswlower
+iswprint
+iswpunct
+iswspace
+iswupper
+iswxdigit
+isxdigit
+labs
+ldexp
+ldiv
+localeconv
+localtime DATA
+;_localtime32 = localtime
+log
+log10
+malloc
+mblen
+mbstowcs
+mbtowc
+memchr
+memcmp
+memcpy
+memmove
+memset
+mktime DATA
+;_mktime32 = mktime
+modf
+perror
+pow
+printf
+putc
+putchar
+puts
+qsort
+raise
+rand
+realloc
+remove
+rename
+rewind
+scanf
+setbuf
+setlocale
+setvbuf
+signal
+sin
+sinh
+sprintf
+sqrt
+srand
+sscanf
+strcat
+strchr
+strcmp
+strcoll
+strcpy
+strcspn
+strerror
+strftime
+strlen
+strncat
+strncmp
+strncpy
+strpbrk
+strrchr
+strspn
+strstr
+strtod
+strtok
+strtol
+strtoul
+strxfrm
+swprintf
+swscanf
+system
+tan
+tanh
+time DATA
+;_time32 = time
+tmpfile
+tmpnam
+tolower
+toupper
+towlower
+towupper
+ungetc
+ungetwc
+vfprintf
+vfwprintf
+vprintf
+vsprintf
+vswprintf
+vwprintf
+wcscat
+wcschr
+wcscmp
+wcscoll
+wcscpy
+wcscspn
+wcsftime
+wcslen
+wcsncat
+wcsncmp
+wcsncpy
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstod
+wcstok
+wcstol
+wcstombs
+wcstoul
+wcsxfrm
+wctomb
+wprintf
+wscanf
diff --git a/mingw-w64-crt/lib64/wcrypt32.def b/mingw-w64-crt/lib64/wcrypt32.def
index daa0b3e..c35c698 100644
--- a/mingw-w64-crt/lib64/wcrypt32.def
+++ b/mingw-w64-crt/lib64/wcrypt32.def
@@ -1,286 +1,286 @@
-; 
-; Exports of file CRYPT32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPT32.dll
-EXPORTS
-ChainWlxLogoffEvent
-CloseCertPerformanceData
-CollectCertPerformanceData
-OpenCertPerformanceData
-CertAddCRLContextToStore
-CertAddCRLLinkToStore
-CertAddCTLContextToStore
-CertAddCTLLinkToStore
-CertAddCertificateContextToStore
-CertAddCertificateLinkToStore
-CertAddEncodedCRLToStore
-CertAddEncodedCTLToStore
-CertAddEncodedCertificateToStore
-CertAddEncodedCertificateToSystemStoreA
-CertAddEncodedCertificateToSystemStoreW
-CertAddEnhancedKeyUsageIdentifier
-CertAddSerializedElementToStore
-CertAddStoreToCollection
-CertAlgIdToOID
-CertCloseStore
-CertCompareCertificate
-CertCompareCertificateName
-CertCompareIntegerBlob
-CertComparePublicKeyInfo
-CertControlStore
-CertCreateCRLContext
-CertCreateCTLContext
-CertCreateCTLEntryFromCertificateContextProperties
-CertCreateCertificateChainEngine
-CertCreateCertificateContext
-CertCreateContext
-CertCreateSelfSignCertificate
-CertDeleteCRLFromStore
-CertDeleteCTLFromStore
-CertDeleteCertificateFromStore
-CertDuplicateCRLContext
-CertDuplicateCTLContext
-CertDuplicateCertificateChain
-CertDuplicateCertificateContext
-CertDuplicateStore
-CertEnumCRLContextProperties
-CertEnumCRLsInStore
-CertEnumCTLContextProperties
-CertEnumCTLsInStore
-CertEnumCertificateContextProperties
-CertEnumCertificatesInStore
-CertEnumPhysicalStore
-CertEnumSubjectInSortedCTL
-CertEnumSystemStore
-CertEnumSystemStoreLocation
-CertFindAttribute
-CertFindCRLInStore
-CertFindCTLInStore
-CertFindCertificateInCRL
-CertFindCertificateInStore
-CertFindChainInStore
-CertFindExtension
-CertFindRDNAttr
-CertFindSubjectInCTL
-CertFindSubjectInSortedCTL
-CertFreeCRLContext
-CertFreeCTLContext
-CertFreeCertificateChain
-CertFreeCertificateChainEngine
-CertFreeCertificateContext
-CertGetCRLContextProperty
-CertGetCRLFromStore
-CertGetCTLContextProperty
-CertGetCertificateChain
-CertGetCertificateContextProperty
-CertGetEnhancedKeyUsage
-CertGetIntendedKeyUsage
-CertGetIssuerCertificateFromStore
-CertGetNameStringA
-CertGetNameStringW
-CertGetPublicKeyLength
-CertGetStoreProperty
-CertGetSubjectCertificateFromStore
-CertGetValidUsages
-CertIsRDNAttrsInCertificateName
-CertIsValidCRLForCertificate
-CertNameToStrA
-CertNameToStrW
-CertOIDToAlgId
-CertOpenStore
-CertOpenSystemStoreA
-CertOpenSystemStoreW
-CertRDNValueToStrA
-CertRDNValueToStrW
-CertRegisterPhysicalStore
-CertRegisterSystemStore
-CertRemoveEnhancedKeyUsageIdentifier
-CertRemoveStoreFromCollection
-CertResyncCertificateChainEngine
-CertSaveStore
-CertSerializeCRLStoreElement
-CertSerializeCTLStoreElement
-CertSerializeCertificateStoreElement
-CertSetCRLContextProperty
-CertSetCTLContextProperty
-CertSetCertificateContextPropertiesFromCTLEntry
-CertSetCertificateContextProperty
-CertSetEnhancedKeyUsage
-CertSetStoreProperty
-CertStrToNameA
-CertStrToNameW
-CertUnregisterPhysicalStore
-CertUnregisterSystemStore
-CertVerifyCRLRevocation
-CertVerifyCRLTimeValidity
-CertVerifyCTLUsage
-CertVerifyCertificateChainPolicy
-CertVerifyRevocation
-CertVerifySubjectCertificateContext
-CertVerifyTimeValidity
-CertVerifyValidityNesting
-CreateFileU
-CryptAcquireCertificatePrivateKey
-CryptAcquireContextU
-CryptBinaryToStringA
-CryptBinaryToStringW
-CryptCloseAsyncHandle
-CryptCreateAsyncHandle
-CryptCreateKeyIdentifierFromCSP
-CryptDecodeMessage
-CryptDecodeObject
-CryptDecodeObjectEx
-CryptDecryptAndVerifyMessageSignature
-CryptDecryptMessage
-CryptEncodeObject
-CryptEncodeObjectEx
-CryptEncryptMessage
-CryptEnumKeyIdentifierProperties
-CryptEnumOIDFunction
-CryptEnumOIDInfo
-CryptEnumProvidersU
-CryptExportPKCS8
-CryptExportPublicKeyInfo
-CryptExportPublicKeyInfoEx
-CryptFindCertificateKeyProvInfo
-CryptFindLocalizedName
-CryptFindOIDInfo
-CryptFormatObject
-CryptFreeOIDFunctionAddress
-CryptGetAsyncParam
-CryptGetDefaultOIDDllList
-CryptGetDefaultOIDFunctionAddress
-CryptGetKeyIdentifierProperty
-CryptGetMessageCertificates
-CryptGetMessageSignerCount
-CryptGetOIDFunctionAddress
-CryptGetOIDFunctionValue
-CryptHashCertificate
-CryptHashMessage
-CryptHashPublicKeyInfo
-CryptHashToBeSigned
-CryptImportPKCS8
-CryptImportPublicKeyInfo
-CryptImportPublicKeyInfoEx
-CryptInitOIDFunctionSet
-CryptInstallDefaultContext
-CryptInstallOIDFunctionAddress
-CryptLoadSip
-CryptMemAlloc
-CryptMemFree
-CryptMemRealloc
-CryptMsgCalculateEncodedLength
-CryptMsgClose
-CryptMsgControl
-CryptMsgCountersign
-CryptMsgCountersignEncoded
-CryptMsgDuplicate
-CryptMsgEncodeAndSignCTL
-CryptMsgGetAndVerifySigner
-CryptMsgGetParam
-CryptMsgOpenToDecode
-CryptMsgOpenToEncode
-CryptMsgSignCTL
-CryptMsgUpdate
-CryptMsgVerifyCountersignatureEncoded
-CryptMsgVerifyCountersignatureEncodedEx
-CryptProtectData
-CryptProtectMemory
-CryptQueryObject
-CryptRegisterDefaultOIDFunction
-CryptRegisterOIDFunction
-CryptRegisterOIDInfo
-CryptSIPAddProvider
-CryptSIPCreateIndirectData
-CryptSIPGetSignedDataMsg
-CryptSIPLoad
-CryptSIPPutSignedDataMsg
-CryptSIPRemoveProvider
-CryptSIPRemoveSignedDataMsg
-CryptSIPRetrieveSubjectGuid
-CryptSIPRetrieveSubjectGuidForCatalogFile
-CryptSIPVerifyIndirectData
-CryptSetAsyncParam
-CryptSetKeyIdentifierProperty
-CryptSetOIDFunctionValue
-CryptSetProviderU
-CryptSignAndEncodeCertificate
-CryptSignAndEncryptMessage
-CryptSignCertificate
-CryptSignHashU
-CryptSignMessage
-CryptSignMessageWithKey
-CryptStringToBinaryA
-CryptStringToBinaryW
-CryptUninstallDefaultContext
-CryptUnprotectData
-CryptUnprotectMemory
-CryptUnregisterDefaultOIDFunction
-CryptUnregisterOIDFunction
-CryptUnregisterOIDInfo
-CryptVerifyCertificateSignature
-CryptVerifyCertificateSignatureEx
-CryptVerifyDetachedMessageHash
-CryptVerifyDetachedMessageSignature
-CryptVerifyMessageHash
-CryptVerifyMessageSignature
-CryptVerifyMessageSignatureWithKey
-CryptVerifySignatureU
-I_CertProtectFunction
-I_CertSrvProtectFunction
-I_CertSyncStore
-I_CertUpdateStore
-I_CryptAddRefLruEntry
-I_CryptAddSmartCardCertToStore
-I_CryptAllocTls
-I_CryptCreateLruCache
-I_CryptCreateLruEntry
-I_CryptDetachTls
-I_CryptDisableLruOfEntries
-I_CryptEnableLruOfEntries
-I_CryptEnumMatchingLruEntries
-I_CryptFindLruEntry
-I_CryptFindLruEntryData
-I_CryptFindSmartCardCertInStore
-I_CryptFlushLruCache
-I_CryptFreeLruCache
-I_CryptFreeTls
-I_CryptGetAsn1Decoder
-I_CryptGetAsn1Encoder
-I_CryptGetDefaultCryptProv
-I_CryptGetDefaultCryptProvForEncrypt
-I_CryptGetFileVersion
-I_CryptGetLruEntryData
-I_CryptGetLruEntryIdentifier
-I_CryptGetOssGlobal
-I_CryptGetTls
-I_CryptInsertLruEntry
-I_CryptInstallAsn1Module
-I_CryptInstallOssGlobal
-I_CryptReadTrustedPublisherDWORDValueFromRegistry
-I_CryptRegisterSmartCardStore
-I_CryptReleaseLruEntry
-I_CryptRemoveLruEntry
-I_CryptSetTls
-I_CryptTouchLruEntry
-I_CryptUninstallAsn1Module
-I_CryptUninstallOssGlobal
-I_CryptUnregisterSmartCardStore
-I_CryptWalkAllLruCacheEntries
-PFXExportCertStore
-PFXExportCertStoreEx
-PFXImportCertStore
-PFXIsPFXBlob
-PFXVerifyPassword
-RegCreateHKCUKeyExU
-RegCreateKeyExU
-RegDeleteValueU
-RegEnumValueU
-RegOpenHKCUKeyExU
-RegOpenKeyExU
-RegQueryInfoKeyU
-RegQueryValueExU
-RegSetValueExU
+; 
+; Exports of file CRYPT32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPT32.dll
+EXPORTS
+ChainWlxLogoffEvent
+CloseCertPerformanceData
+CollectCertPerformanceData
+OpenCertPerformanceData
+CertAddCRLContextToStore
+CertAddCRLLinkToStore
+CertAddCTLContextToStore
+CertAddCTLLinkToStore
+CertAddCertificateContextToStore
+CertAddCertificateLinkToStore
+CertAddEncodedCRLToStore
+CertAddEncodedCTLToStore
+CertAddEncodedCertificateToStore
+CertAddEncodedCertificateToSystemStoreA
+CertAddEncodedCertificateToSystemStoreW
+CertAddEnhancedKeyUsageIdentifier
+CertAddSerializedElementToStore
+CertAddStoreToCollection
+CertAlgIdToOID
+CertCloseStore
+CertCompareCertificate
+CertCompareCertificateName
+CertCompareIntegerBlob
+CertComparePublicKeyInfo
+CertControlStore
+CertCreateCRLContext
+CertCreateCTLContext
+CertCreateCTLEntryFromCertificateContextProperties
+CertCreateCertificateChainEngine
+CertCreateCertificateContext
+CertCreateContext
+CertCreateSelfSignCertificate
+CertDeleteCRLFromStore
+CertDeleteCTLFromStore
+CertDeleteCertificateFromStore
+CertDuplicateCRLContext
+CertDuplicateCTLContext
+CertDuplicateCertificateChain
+CertDuplicateCertificateContext
+CertDuplicateStore
+CertEnumCRLContextProperties
+CertEnumCRLsInStore
+CertEnumCTLContextProperties
+CertEnumCTLsInStore
+CertEnumCertificateContextProperties
+CertEnumCertificatesInStore
+CertEnumPhysicalStore
+CertEnumSubjectInSortedCTL
+CertEnumSystemStore
+CertEnumSystemStoreLocation
+CertFindAttribute
+CertFindCRLInStore
+CertFindCTLInStore
+CertFindCertificateInCRL
+CertFindCertificateInStore
+CertFindChainInStore
+CertFindExtension
+CertFindRDNAttr
+CertFindSubjectInCTL
+CertFindSubjectInSortedCTL
+CertFreeCRLContext
+CertFreeCTLContext
+CertFreeCertificateChain
+CertFreeCertificateChainEngine
+CertFreeCertificateContext
+CertGetCRLContextProperty
+CertGetCRLFromStore
+CertGetCTLContextProperty
+CertGetCertificateChain
+CertGetCertificateContextProperty
+CertGetEnhancedKeyUsage
+CertGetIntendedKeyUsage
+CertGetIssuerCertificateFromStore
+CertGetNameStringA
+CertGetNameStringW
+CertGetPublicKeyLength
+CertGetStoreProperty
+CertGetSubjectCertificateFromStore
+CertGetValidUsages
+CertIsRDNAttrsInCertificateName
+CertIsValidCRLForCertificate
+CertNameToStrA
+CertNameToStrW
+CertOIDToAlgId
+CertOpenStore
+CertOpenSystemStoreA
+CertOpenSystemStoreW
+CertRDNValueToStrA
+CertRDNValueToStrW
+CertRegisterPhysicalStore
+CertRegisterSystemStore
+CertRemoveEnhancedKeyUsageIdentifier
+CertRemoveStoreFromCollection
+CertResyncCertificateChainEngine
+CertSaveStore
+CertSerializeCRLStoreElement
+CertSerializeCTLStoreElement
+CertSerializeCertificateStoreElement
+CertSetCRLContextProperty
+CertSetCTLContextProperty
+CertSetCertificateContextPropertiesFromCTLEntry
+CertSetCertificateContextProperty
+CertSetEnhancedKeyUsage
+CertSetStoreProperty
+CertStrToNameA
+CertStrToNameW
+CertUnregisterPhysicalStore
+CertUnregisterSystemStore
+CertVerifyCRLRevocation
+CertVerifyCRLTimeValidity
+CertVerifyCTLUsage
+CertVerifyCertificateChainPolicy
+CertVerifyRevocation
+CertVerifySubjectCertificateContext
+CertVerifyTimeValidity
+CertVerifyValidityNesting
+CreateFileU
+CryptAcquireCertificatePrivateKey
+CryptAcquireContextU
+CryptBinaryToStringA
+CryptBinaryToStringW
+CryptCloseAsyncHandle
+CryptCreateAsyncHandle
+CryptCreateKeyIdentifierFromCSP
+CryptDecodeMessage
+CryptDecodeObject
+CryptDecodeObjectEx
+CryptDecryptAndVerifyMessageSignature
+CryptDecryptMessage
+CryptEncodeObject
+CryptEncodeObjectEx
+CryptEncryptMessage
+CryptEnumKeyIdentifierProperties
+CryptEnumOIDFunction
+CryptEnumOIDInfo
+CryptEnumProvidersU
+CryptExportPKCS8
+CryptExportPublicKeyInfo
+CryptExportPublicKeyInfoEx
+CryptFindCertificateKeyProvInfo
+CryptFindLocalizedName
+CryptFindOIDInfo
+CryptFormatObject
+CryptFreeOIDFunctionAddress
+CryptGetAsyncParam
+CryptGetDefaultOIDDllList
+CryptGetDefaultOIDFunctionAddress
+CryptGetKeyIdentifierProperty
+CryptGetMessageCertificates
+CryptGetMessageSignerCount
+CryptGetOIDFunctionAddress
+CryptGetOIDFunctionValue
+CryptHashCertificate
+CryptHashMessage
+CryptHashPublicKeyInfo
+CryptHashToBeSigned
+CryptImportPKCS8
+CryptImportPublicKeyInfo
+CryptImportPublicKeyInfoEx
+CryptInitOIDFunctionSet
+CryptInstallDefaultContext
+CryptInstallOIDFunctionAddress
+CryptLoadSip
+CryptMemAlloc
+CryptMemFree
+CryptMemRealloc
+CryptMsgCalculateEncodedLength
+CryptMsgClose
+CryptMsgControl
+CryptMsgCountersign
+CryptMsgCountersignEncoded
+CryptMsgDuplicate
+CryptMsgEncodeAndSignCTL
+CryptMsgGetAndVerifySigner
+CryptMsgGetParam
+CryptMsgOpenToDecode
+CryptMsgOpenToEncode
+CryptMsgSignCTL
+CryptMsgUpdate
+CryptMsgVerifyCountersignatureEncoded
+CryptMsgVerifyCountersignatureEncodedEx
+CryptProtectData
+CryptProtectMemory
+CryptQueryObject
+CryptRegisterDefaultOIDFunction
+CryptRegisterOIDFunction
+CryptRegisterOIDInfo
+CryptSIPAddProvider
+CryptSIPCreateIndirectData
+CryptSIPGetSignedDataMsg
+CryptSIPLoad
+CryptSIPPutSignedDataMsg
+CryptSIPRemoveProvider
+CryptSIPRemoveSignedDataMsg
+CryptSIPRetrieveSubjectGuid
+CryptSIPRetrieveSubjectGuidForCatalogFile
+CryptSIPVerifyIndirectData
+CryptSetAsyncParam
+CryptSetKeyIdentifierProperty
+CryptSetOIDFunctionValue
+CryptSetProviderU
+CryptSignAndEncodeCertificate
+CryptSignAndEncryptMessage
+CryptSignCertificate
+CryptSignHashU
+CryptSignMessage
+CryptSignMessageWithKey
+CryptStringToBinaryA
+CryptStringToBinaryW
+CryptUninstallDefaultContext
+CryptUnprotectData
+CryptUnprotectMemory
+CryptUnregisterDefaultOIDFunction
+CryptUnregisterOIDFunction
+CryptUnregisterOIDInfo
+CryptVerifyCertificateSignature
+CryptVerifyCertificateSignatureEx
+CryptVerifyDetachedMessageHash
+CryptVerifyDetachedMessageSignature
+CryptVerifyMessageHash
+CryptVerifyMessageSignature
+CryptVerifyMessageSignatureWithKey
+CryptVerifySignatureU
+I_CertProtectFunction
+I_CertSrvProtectFunction
+I_CertSyncStore
+I_CertUpdateStore
+I_CryptAddRefLruEntry
+I_CryptAddSmartCardCertToStore
+I_CryptAllocTls
+I_CryptCreateLruCache
+I_CryptCreateLruEntry
+I_CryptDetachTls
+I_CryptDisableLruOfEntries
+I_CryptEnableLruOfEntries
+I_CryptEnumMatchingLruEntries
+I_CryptFindLruEntry
+I_CryptFindLruEntryData
+I_CryptFindSmartCardCertInStore
+I_CryptFlushLruCache
+I_CryptFreeLruCache
+I_CryptFreeTls
+I_CryptGetAsn1Decoder
+I_CryptGetAsn1Encoder
+I_CryptGetDefaultCryptProv
+I_CryptGetDefaultCryptProvForEncrypt
+I_CryptGetFileVersion
+I_CryptGetLruEntryData
+I_CryptGetLruEntryIdentifier
+I_CryptGetOssGlobal
+I_CryptGetTls
+I_CryptInsertLruEntry
+I_CryptInstallAsn1Module
+I_CryptInstallOssGlobal
+I_CryptReadTrustedPublisherDWORDValueFromRegistry
+I_CryptRegisterSmartCardStore
+I_CryptReleaseLruEntry
+I_CryptRemoveLruEntry
+I_CryptSetTls
+I_CryptTouchLruEntry
+I_CryptUninstallAsn1Module
+I_CryptUninstallOssGlobal
+I_CryptUnregisterSmartCardStore
+I_CryptWalkAllLruCacheEntries
+PFXExportCertStore
+PFXExportCertStoreEx
+PFXImportCertStore
+PFXIsPFXBlob
+PFXVerifyPassword
+RegCreateHKCUKeyExU
+RegCreateKeyExU
+RegDeleteValueU
+RegEnumValueU
+RegOpenHKCUKeyExU
+RegOpenKeyExU
+RegQueryInfoKeyU
+RegQueryValueExU
+RegSetValueExU
diff --git a/mingw-w64-crt/lib64/wcryptdlg.def b/mingw-w64-crt/lib64/wcryptdlg.def
index 4dc4dc2..f78a362 100644
--- a/mingw-w64-crt/lib64/wcryptdlg.def
+++ b/mingw-w64-crt/lib64/wcryptdlg.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file CRYPTDLG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTDLG.dll
-EXPORTS
-CertConfigureTrustA
-CertConfigureTrustW
-CertTrustCertPolicy
-CertTrustCleanup
-CertTrustFinalPolicy
-CertTrustInit
-DecodeAttrSequence
-DecodeRecipientID
-EncodeAttrSequence
-EncodeRecipientID
-FormatPKIXEmailProtection
-FormatVerisignExtension
-CertModifyCertificatesToTrust
-CertSelectCertificateA
-CertSelectCertificateW
-CertViewPropertiesA
-CertViewPropertiesW
-DllRegisterServer
-DllUnregisterServer
-GetFriendlyNameOfCertA
-GetFriendlyNameOfCertW
+; 
+; Exports of file CRYPTDLG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTDLG.dll
+EXPORTS
+CertConfigureTrustA
+CertConfigureTrustW
+CertTrustCertPolicy
+CertTrustCleanup
+CertTrustFinalPolicy
+CertTrustInit
+DecodeAttrSequence
+DecodeRecipientID
+EncodeAttrSequence
+EncodeRecipientID
+FormatPKIXEmailProtection
+FormatVerisignExtension
+CertModifyCertificatesToTrust
+CertSelectCertificateA
+CertSelectCertificateW
+CertViewPropertiesA
+CertViewPropertiesW
+DllRegisterServer
+DllUnregisterServer
+GetFriendlyNameOfCertA
+GetFriendlyNameOfCertW
diff --git a/mingw-w64-crt/lib64/wcryptdll.def b/mingw-w64-crt/lib64/wcryptdll.def
index 7bd2857..84daf80 100644
--- a/mingw-w64-crt/lib64/wcryptdll.def
+++ b/mingw-w64-crt/lib64/wcryptdll.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file cryptdll.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cryptdll.dll
-EXPORTS
-CDBuildIntegrityVect
-CDBuildVect
-CDFindCommonCSystem
-CDFindCommonCSystemWithKey
-CDGenerateRandomBits
-CDLocateCSystem
-CDLocateCheckSum
-CDLocateRng
-CDRegisterCSystem
-CDRegisterCheckSum
-CDRegisterRng
-MD5Final
-MD5Init
-MD5Update
+; 
+; Exports of file cryptdll.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cryptdll.dll
+EXPORTS
+CDBuildIntegrityVect
+CDBuildVect
+CDFindCommonCSystem
+CDFindCommonCSystemWithKey
+CDGenerateRandomBits
+CDLocateCSystem
+CDLocateCheckSum
+CDLocateRng
+CDRegisterCSystem
+CDRegisterCheckSum
+CDRegisterRng
+MD5Final
+MD5Init
+MD5Update
diff --git a/mingw-w64-crt/lib64/wcryptext.def b/mingw-w64-crt/lib64/wcryptext.def
index 669ade4..d2ff477 100644
--- a/mingw-w64-crt/lib64/wcryptext.def
+++ b/mingw-w64-crt/lib64/wcryptext.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file CRYPTEXT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTEXT.dll
-EXPORTS
-CryptExtAddCER
-CryptExtAddCERW
-CryptExtAddCRL
-CryptExtAddCRLW
-CryptExtAddCTL
-CryptExtAddCTLW
-CryptExtAddP7R
-CryptExtAddP7RW
-CryptExtAddPFX
-CryptExtAddPFXW
-CryptExtAddSPC
-CryptExtAddSPCW
-CryptExtOpenCAT
-CryptExtOpenCATW
-CryptExtOpenCER
-CryptExtOpenCERW
-CryptExtOpenCRL
-CryptExtOpenCRLW
-CryptExtOpenCTL
-CryptExtOpenCTLW
-CryptExtOpenP10
-CryptExtOpenP10W
-CryptExtOpenP7R
-CryptExtOpenP7RW
-CryptExtOpenPKCS7
-CryptExtOpenPKCS7W
-CryptExtOpenSTR
-CryptExtOpenSTRW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CRYPTEXT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTEXT.dll
+EXPORTS
+CryptExtAddCER
+CryptExtAddCERW
+CryptExtAddCRL
+CryptExtAddCRLW
+CryptExtAddCTL
+CryptExtAddCTLW
+CryptExtAddP7R
+CryptExtAddP7RW
+CryptExtAddPFX
+CryptExtAddPFXW
+CryptExtAddSPC
+CryptExtAddSPCW
+CryptExtOpenCAT
+CryptExtOpenCATW
+CryptExtOpenCER
+CryptExtOpenCERW
+CryptExtOpenCRL
+CryptExtOpenCRLW
+CryptExtOpenCTL
+CryptExtOpenCTLW
+CryptExtOpenP10
+CryptExtOpenP10W
+CryptExtOpenP7R
+CryptExtOpenP7RW
+CryptExtOpenPKCS7
+CryptExtOpenPKCS7W
+CryptExtOpenSTR
+CryptExtOpenSTRW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcryptnet.def b/mingw-w64-crt/lib64/wcryptnet.def
index ff467f5..3e05108 100644
--- a/mingw-w64-crt/lib64/wcryptnet.def
+++ b/mingw-w64-crt/lib64/wcryptnet.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file CRYPTNET.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTNET.dll
-EXPORTS
-CertDllVerifyCTLUsage
-CertDllVerifyRevocation
-CryptnetWlxLogoffEvent
-LdapProvOpenStore
-CryptCancelAsyncRetrieval
-CryptFlushTimeValidObject
-CryptGetObjectUrl
-CryptGetTimeValidObject
-CryptInstallCancelRetrieval
-CryptRetrieveObjectByUrlA
-CryptRetrieveObjectByUrlW
-CryptUninstallCancelRetrieval
-DllRegisterServer
-DllUnregisterServer
-I_CryptNetEnumUrlCacheEntry
-I_CryptNetGetHostNameFromUrl
-I_CryptNetGetUserDsStoreUrl
-I_CryptNetIsConnected
+; 
+; Exports of file CRYPTNET.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTNET.dll
+EXPORTS
+CertDllVerifyCTLUsage
+CertDllVerifyRevocation
+CryptnetWlxLogoffEvent
+LdapProvOpenStore
+CryptCancelAsyncRetrieval
+CryptFlushTimeValidObject
+CryptGetObjectUrl
+CryptGetTimeValidObject
+CryptInstallCancelRetrieval
+CryptRetrieveObjectByUrlA
+CryptRetrieveObjectByUrlW
+CryptUninstallCancelRetrieval
+DllRegisterServer
+DllUnregisterServer
+I_CryptNetEnumUrlCacheEntry
+I_CryptNetGetHostNameFromUrl
+I_CryptNetGetUserDsStoreUrl
+I_CryptNetIsConnected
diff --git a/mingw-w64-crt/lib64/wcryptsvc.def b/mingw-w64-crt/lib64/wcryptsvc.def
index 3969c5c..70d6763 100644
--- a/mingw-w64-crt/lib64/wcryptsvc.def
+++ b/mingw-w64-crt/lib64/wcryptsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file CRYPTSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTSVC.dll
-EXPORTS
-CryptServiceMain
+; 
+; Exports of file CRYPTSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTSVC.dll
+EXPORTS
+CryptServiceMain
diff --git a/mingw-w64-crt/lib64/wcryptui.def b/mingw-w64-crt/lib64/wcryptui.def
index f218c64..39e361c 100644
--- a/mingw-w64-crt/lib64/wcryptui.def
+++ b/mingw-w64-crt/lib64/wcryptui.def
@@ -1,56 +1,56 @@
-; 
-; Exports of file CRYPTUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CRYPTUI.dll
-EXPORTS
-ACUIProviderInvokeUI
-CryptUIDlgCertMgr
-CryptUIDlgFreeCAContext
-CryptUIDlgSelectCA
-CryptUIDlgSelectCertificateA
-CryptUIDlgSelectCertificateFromStore
-CryptUIDlgSelectCertificateW
-CryptUIDlgSelectStoreA
-CryptUIDlgSelectStoreW
-CryptUIDlgViewCRLA
-CryptUIDlgViewCRLW
-CryptUIDlgViewCTLA
-CryptUIDlgViewCTLW
-CryptUIDlgViewCertificateA
-CryptUIDlgViewCertificatePropertiesA
-CryptUIDlgViewCertificatePropertiesW
-CryptUIDlgViewCertificateW
-CryptUIDlgViewContext
-CryptUIDlgViewSignerInfoA
-CryptUIDlgViewSignerInfoW
-CryptUIFreeCertificatePropertiesPagesA
-CryptUIFreeCertificatePropertiesPagesW
-CryptUIFreeViewSignaturesPagesA
-CryptUIFreeViewSignaturesPagesW
-CryptUIGetCertificatePropertiesPagesA
-CryptUIGetCertificatePropertiesPagesW
-CryptUIGetViewSignaturesPagesA
-CryptUIGetViewSignaturesPagesW
-CryptUIStartCertMgr
-CryptUIWizBuildCTL
-CryptUIWizCertRequest
-CryptUIWizCreateCertRequestNoDS
-CryptUIWizDigitalSign
-CryptUIWizExport
-CryptUIWizFreeCertRequestNoDS
-CryptUIWizFreeDigitalSignContext
-CryptUIWizImport
-CryptUIWizQueryCertRequestNoDS
-CryptUIWizSubmitCertRequestNoDS
-DllRegisterServer
-DllUnregisterServer
-EnrollmentCOMObjectFactory_getInstance
-I_CryptUIProtect
-I_CryptUIProtectFailure
-LocalEnroll
-LocalEnrollNoDS
-RetrievePKCS7FromCA
-WizardFree
+; 
+; Exports of file CRYPTUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CRYPTUI.dll
+EXPORTS
+ACUIProviderInvokeUI
+CryptUIDlgCertMgr
+CryptUIDlgFreeCAContext
+CryptUIDlgSelectCA
+CryptUIDlgSelectCertificateA
+CryptUIDlgSelectCertificateFromStore
+CryptUIDlgSelectCertificateW
+CryptUIDlgSelectStoreA
+CryptUIDlgSelectStoreW
+CryptUIDlgViewCRLA
+CryptUIDlgViewCRLW
+CryptUIDlgViewCTLA
+CryptUIDlgViewCTLW
+CryptUIDlgViewCertificateA
+CryptUIDlgViewCertificatePropertiesA
+CryptUIDlgViewCertificatePropertiesW
+CryptUIDlgViewCertificateW
+CryptUIDlgViewContext
+CryptUIDlgViewSignerInfoA
+CryptUIDlgViewSignerInfoW
+CryptUIFreeCertificatePropertiesPagesA
+CryptUIFreeCertificatePropertiesPagesW
+CryptUIFreeViewSignaturesPagesA
+CryptUIFreeViewSignaturesPagesW
+CryptUIGetCertificatePropertiesPagesA
+CryptUIGetCertificatePropertiesPagesW
+CryptUIGetViewSignaturesPagesA
+CryptUIGetViewSignaturesPagesW
+CryptUIStartCertMgr
+CryptUIWizBuildCTL
+CryptUIWizCertRequest
+CryptUIWizCreateCertRequestNoDS
+CryptUIWizDigitalSign
+CryptUIWizExport
+CryptUIWizFreeCertRequestNoDS
+CryptUIWizFreeDigitalSignContext
+CryptUIWizImport
+CryptUIWizQueryCertRequestNoDS
+CryptUIWizSubmitCertRequestNoDS
+DllRegisterServer
+DllUnregisterServer
+EnrollmentCOMObjectFactory_getInstance
+I_CryptUIProtect
+I_CryptUIProtectFailure
+LocalEnroll
+LocalEnrollNoDS
+RetrievePKCS7FromCA
+WizardFree
diff --git a/mingw-w64-crt/lib64/wcsapi3t1.def b/mingw-w64-crt/lib64/wcsapi3t1.def
index e5196c0..9bb4941 100644
--- a/mingw-w64-crt/lib64/wcsapi3t1.def
+++ b/mingw-w64-crt/lib64/wcsapi3t1.def
@@ -1,24 +1,24 @@
-; 
-; Exports of file csapi3t1.nbbt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY "csapi3t1.nbbt.dll"
-EXPORTS
-SpellerSetDllName
-SpellerVersion
-SpellerInit
-SpellerTerminate
-SpellerOpenLex
-SpellerCloseLex
-SpellerSetOptions
-SpellerGetOptions
-SpellerAddChangeUdr
-SpellerAddUdr
-SpellerBuiltinUdr
-SpellerCheck
-SpellerClearUdr
-SpellerDelUdr
-SpellerGetListUdr
-SpellerGetSizeUdr
+; 
+; Exports of file csapi3t1.nbbt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY "csapi3t1.nbbt.dll"
+EXPORTS
+SpellerSetDllName
+SpellerVersion
+SpellerInit
+SpellerTerminate
+SpellerOpenLex
+SpellerCloseLex
+SpellerSetOptions
+SpellerGetOptions
+SpellerAddChangeUdr
+SpellerAddUdr
+SpellerBuiltinUdr
+SpellerCheck
+SpellerClearUdr
+SpellerDelUdr
+SpellerGetListUdr
+SpellerGetSizeUdr
diff --git a/mingw-w64-crt/lib64/wcscdll.def b/mingw-w64-crt/lib64/wcscdll.def
index 44ac268..d01b645 100644
--- a/mingw-w64-crt/lib64/wcscdll.def
+++ b/mingw-w64-crt/lib64/wcscdll.def
@@ -1,76 +1,76 @@
-; 
-; Exports of file CSCDLL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CSCDLL.dll
-EXPORTS
-MprServiceProc
-ReInt_WndProc
-LogonHappened
-LogoffHappened
-Update
-RefreshConnections
-BreakConnections
-CheckCSC
-CSCIsCSCEnabled
-CSCFindClose
-CSCSetMaxSpace
-CSCFreeSpace
-CheckCSCEx
-CSCDoEnableDisable
-CSCPinFileA
-CSCUnpinFileA
-CSCQueryFileStatusA
-CSCFindFirstFileA
-CSCFindNextFileA
-CSCDeleteA
-CSCFillSparseFilesA
-CSCMergeShareA
-CSCCopyReplicaA
-CSCEnumForStatsA
-CSCIsServerOfflineA
-CSCGetSpaceUsageA
-CSCTransitionServerOnlineA
-CSCCheckShareOnlineA
-CSCDoLocalRenameA
-CSCEnumForStatsExA
-CSCFindFirstFileForSidA
-CSCQueryFileStatusExA
-CSCQueryShareStatusA
-CSCPurgeUnpinnedFiles
-CSCPinFileW
-CSCUnpinFileW
-CSCQueryFileStatusW
-CSCFindFirstFileW
-CSCFindNextFileW
-CSCDeleteW
-CSCFillSparseFilesW
-CSCMergeShareW
-CSCCopyReplicaW
-CSCEnumForStatsW
-CSCIsServerOfflineW
-CSCGetSpaceUsageW
-CSCTransitionServerOnlineW
-CSCCheckShareOnlineW
-CSCDoLocalRenameW
-CSCEnumForStatsExW
-CSCDoLocalRenameExW
-CSCCheckShareOnlineExW
-CSCBeginSynchronizationW
-CSCEndSynchronizationW
-CSCFindFirstFileForSidW
-CSCEncryptDecryptDatabase
-CSCQueryDatabaseStatus
-CSCQueryFileStatusExW
-CSCQueryShareStatusW
-CSCShareIdToShareName
-WinlogonLogonEvent
-WinlogonLogoffEvent
-WinlogonScreenSaverEvent
-WinlogonShutdownEvent
-WinlogonLockEvent
-WinlogonUnlockEvent
-WinlogonStartShellEvent
-WinlogonStartupEvent
+; 
+; Exports of file CSCDLL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CSCDLL.dll
+EXPORTS
+MprServiceProc
+ReInt_WndProc
+LogonHappened
+LogoffHappened
+Update
+RefreshConnections
+BreakConnections
+CheckCSC
+CSCIsCSCEnabled
+CSCFindClose
+CSCSetMaxSpace
+CSCFreeSpace
+CheckCSCEx
+CSCDoEnableDisable
+CSCPinFileA
+CSCUnpinFileA
+CSCQueryFileStatusA
+CSCFindFirstFileA
+CSCFindNextFileA
+CSCDeleteA
+CSCFillSparseFilesA
+CSCMergeShareA
+CSCCopyReplicaA
+CSCEnumForStatsA
+CSCIsServerOfflineA
+CSCGetSpaceUsageA
+CSCTransitionServerOnlineA
+CSCCheckShareOnlineA
+CSCDoLocalRenameA
+CSCEnumForStatsExA
+CSCFindFirstFileForSidA
+CSCQueryFileStatusExA
+CSCQueryShareStatusA
+CSCPurgeUnpinnedFiles
+CSCPinFileW
+CSCUnpinFileW
+CSCQueryFileStatusW
+CSCFindFirstFileW
+CSCFindNextFileW
+CSCDeleteW
+CSCFillSparseFilesW
+CSCMergeShareW
+CSCCopyReplicaW
+CSCEnumForStatsW
+CSCIsServerOfflineW
+CSCGetSpaceUsageW
+CSCTransitionServerOnlineW
+CSCCheckShareOnlineW
+CSCDoLocalRenameW
+CSCEnumForStatsExW
+CSCDoLocalRenameExW
+CSCCheckShareOnlineExW
+CSCBeginSynchronizationW
+CSCEndSynchronizationW
+CSCFindFirstFileForSidW
+CSCEncryptDecryptDatabase
+CSCQueryDatabaseStatus
+CSCQueryFileStatusExW
+CSCQueryShareStatusW
+CSCShareIdToShareName
+WinlogonLogonEvent
+WinlogonLogoffEvent
+WinlogonScreenSaverEvent
+WinlogonShutdownEvent
+WinlogonLockEvent
+WinlogonUnlockEvent
+WinlogonStartShellEvent
+WinlogonStartupEvent
diff --git a/mingw-w64-crt/lib64/wcscui.def b/mingw-w64-crt/lib64/wcscui.def
index 4a83c30..cc258e1 100644
--- a/mingw-w64-crt/lib64/wcscui.def
+++ b/mingw-w64-crt/lib64/wcscui.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file CSCUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CSCUI.dll
-EXPORTS
-CSCUIOptionsPropertySheet
-ProcessGroupPolicy
-CSCOptions_RunDLL
-CSCOptions_RunDLLA
-CSCOptions_RunDLLW
-CSCUIInitialize
-CSCUIMsgProcess
-CSCUIRemoveFolderFromCache
-CSCUISetState
-CscPolicyProcessing_RunDLLW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file CSCUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CSCUI.dll
+EXPORTS
+CSCUIOptionsPropertySheet
+ProcessGroupPolicy
+CSCOptions_RunDLL
+CSCOptions_RunDLLA
+CSCOptions_RunDLLW
+CSCUIInitialize
+CSCUIMsgProcess
+CSCUIRemoveFolderFromCache
+CSCUISetState
+CscPolicyProcessing_RunDLLW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcsseqchk.def b/mingw-w64-crt/lib64/wcsseqchk.def
index 4e20204..3a5668d 100644
--- a/mingw-w64-crt/lib64/wcsseqchk.def
+++ b/mingw-w64-crt/lib64/wcsseqchk.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file CSSEQCHK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CSSEQCHK.dll
-EXPORTS
-DllGetClassObject
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
-ISCCreateObject
-ISCDestroyObject
-ISCCheckSequence
-ISCGetContext
-ISCGetCurrentState
-ISCSetCurrentState
-ISCMacroSequenceCheck
-ISCDecodeCommand
-ISCDecodeCommandEx
+; 
+; Exports of file CSSEQCHK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CSSEQCHK.dll
+EXPORTS
+DllGetClassObject
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
+ISCCreateObject
+ISCDestroyObject
+ISCCheckSequence
+ISCGetContext
+ISCGetCurrentState
+ISCSetCurrentState
+ISCMacroSequenceCheck
+ISCDecodeCommand
+ISCDecodeCommandEx
diff --git a/mingw-w64-crt/lib64/wctl3d32.def b/mingw-w64-crt/lib64/wctl3d32.def
index 97ff761..3e3b97c 100644
--- a/mingw-w64-crt/lib64/wctl3d32.def
+++ b/mingw-w64-crt/lib64/wctl3d32.def
@@ -1,33 +1,33 @@
-; 
-; Exports of file CTL3D32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CTL3D32.dll
-EXPORTS
-Ctl3dGetVer
-Ctl3dSubclassDlg
-Ctl3dSubclassCtl
-Ctl3dCtlColor
-Ctl3dEnabled
-Ctl3dColorChange
-BtnWndProc3d
-EditWndProc3d
-ListWndProc3d
-ComboWndProc3d
-StaticWndProc3d
-Ctl3dRegister
-Ctl3dUnregister
-Ctl3dAutoSubclass
-Ctl3dDlgProc
-Ctl3dCtlColorEx
-Ctl3dSetStyle
-Ctl3dDlgFramePaint
-Ctl3dSubclassDlgEx
-Ctl3dWinIniChange
-Ctl3dIsAutoSubclass
-Ctl3dUnAutoSubclass
-Ctl3dSubclassCtlEx
-Ctl3dUnsubclassCtl
-Ctl3dAutoSubclassEx
+; 
+; Exports of file CTL3D32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CTL3D32.dll
+EXPORTS
+Ctl3dGetVer
+Ctl3dSubclassDlg
+Ctl3dSubclassCtl
+Ctl3dCtlColor
+Ctl3dEnabled
+Ctl3dColorChange
+BtnWndProc3d
+EditWndProc3d
+ListWndProc3d
+ComboWndProc3d
+StaticWndProc3d
+Ctl3dRegister
+Ctl3dUnregister
+Ctl3dAutoSubclass
+Ctl3dDlgProc
+Ctl3dCtlColorEx
+Ctl3dSetStyle
+Ctl3dDlgFramePaint
+Ctl3dSubclassDlgEx
+Ctl3dWinIniChange
+Ctl3dIsAutoSubclass
+Ctl3dUnAutoSubclass
+Ctl3dSubclassCtlEx
+Ctl3dUnsubclassCtl
+Ctl3dAutoSubclassEx
diff --git a/mingw-w64-crt/lib64/wcustsat.def b/mingw-w64-crt/lib64/wcustsat.def
index 41a08fe..ff988be 100644
--- a/mingw-w64-crt/lib64/wcustsat.def
+++ b/mingw-w64-crt/lib64/wcustsat.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file custsat.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY custsat.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file custsat.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY custsat.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wcyycoins.def b/mingw-w64-crt/lib64/wcyycoins.def
index 0e78f41..23573d7 100644
--- a/mingw-w64-crt/lib64/wcyycoins.def
+++ b/mingw-w64-crt/lib64/wcyycoins.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file CYYCOINS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CYYCOINS.DLL
-EXPORTS
-CyclomyCoInstaller
-CyclomyPropPageProvider
-LibMain
+; 
+; Exports of file CYYCOINS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CYYCOINS.DLL
+EXPORTS
+CyclomyCoInstaller
+CyclomyPropPageProvider
+LibMain
diff --git a/mingw-w64-crt/lib64/wcyyports.def b/mingw-w64-crt/lib64/wcyyports.def
index c275abb..88a4d28 100644
--- a/mingw-w64-crt/lib64/wcyyports.def
+++ b/mingw-w64-crt/lib64/wcyyports.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file CYYPORTS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CYYPORTS.DLL
-EXPORTS
-CyyportAdvancedDialog
-CyyportCoInstaller
-LibMain
+; 
+; Exports of file CYYPORTS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CYYPORTS.DLL
+EXPORTS
+CyyportAdvancedDialog
+CyyportCoInstaller
+LibMain
diff --git a/mingw-w64-crt/lib64/wcyzcoins.def b/mingw-w64-crt/lib64/wcyzcoins.def
index e1e5baf..1fba487 100644
--- a/mingw-w64-crt/lib64/wcyzcoins.def
+++ b/mingw-w64-crt/lib64/wcyzcoins.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file CYZCOINS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CYZCOINS.DLL
-EXPORTS
-CycladzCoInstaller
-CycladzPropPageProvider
-LibMain
+; 
+; Exports of file CYZCOINS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CYZCOINS.DLL
+EXPORTS
+CycladzCoInstaller
+CycladzPropPageProvider
+LibMain
diff --git a/mingw-w64-crt/lib64/wcyzports.def b/mingw-w64-crt/lib64/wcyzports.def
index 550fea2..9387b2a 100644
--- a/mingw-w64-crt/lib64/wcyzports.def
+++ b/mingw-w64-crt/lib64/wcyzports.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file CYZPORTS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY CYZPORTS.DLL
-EXPORTS
-CyzportAdvancedDialog
-CyzportCoInstaller
-LibMain
+; 
+; Exports of file CYZPORTS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY CYZPORTS.DLL
+EXPORTS
+CyzportAdvancedDialog
+CyzportCoInstaller
+LibMain
diff --git a/mingw-w64-crt/lib64/wd3d8.def b/mingw-w64-crt/lib64/wd3d8.def
index e1bad09..cc84ee4 100644
--- a/mingw-w64-crt/lib64/wd3d8.def
+++ b/mingw-w64-crt/lib64/wd3d8.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file d3d8.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3d8.dll
-EXPORTS
-CheckFullscreen
-ValidatePixelShader
-ValidateVertexShader
-DebugSetMute
-Direct3DCreate8
+; 
+; Exports of file d3d8.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3d8.dll
+EXPORTS
+CheckFullscreen
+ValidatePixelShader
+ValidateVertexShader
+DebugSetMute
+Direct3DCreate8
diff --git a/mingw-w64-crt/lib64/wd3d8thk.def b/mingw-w64-crt/lib64/wd3d8thk.def
index e266fbe..00bb0ee 100644
--- a/mingw-w64-crt/lib64/wd3d8thk.def
+++ b/mingw-w64-crt/lib64/wd3d8thk.def
@@ -1,64 +1,64 @@
-; 
-; Exports of file d3d8thk.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3d8thk.dll
-EXPORTS
-OsThunkD3dContextCreate
-OsThunkD3dContextDestroy
-OsThunkD3dContextDestroyAll
-OsThunkD3dDrawPrimitives2
-OsThunkD3dValidateTextureStageState
-OsThunkDdAddAttachedSurface
-OsThunkDdAlphaBlt
-OsThunkDdAttachSurface
-OsThunkDdBeginMoCompFrame
-OsThunkDdBlt
-OsThunkDdCanCreateD3DBuffer
-OsThunkDdCanCreateSurface
-OsThunkDdColorControl
-OsThunkDdCreateD3DBuffer
-OsThunkDdCreateDirectDrawObject
-OsThunkDdCreateMoComp
-OsThunkDdCreateSurface
-OsThunkDdCreateSurfaceEx
-OsThunkDdCreateSurfaceObject
-OsThunkDdDeleteDirectDrawObject
-OsThunkDdDeleteSurfaceObject
-OsThunkDdDestroyD3DBuffer
-OsThunkDdDestroyMoComp
-OsThunkDdDestroySurface
-OsThunkDdEndMoCompFrame
-OsThunkDdFlip
-OsThunkDdFlipToGDISurface
-OsThunkDdGetAvailDriverMemory
-OsThunkDdGetBltStatus
-OsThunkDdGetDC
-OsThunkDdGetDriverInfo
-OsThunkDdGetDriverState
-OsThunkDdGetDxHandle
-OsThunkDdGetFlipStatus
-OsThunkDdGetInternalMoCompInfo
-OsThunkDdGetMoCompBuffInfo
-OsThunkDdGetMoCompFormats
-OsThunkDdGetMoCompGuids
-OsThunkDdGetScanLine
-OsThunkDdLock
-OsThunkDdLockD3D
-OsThunkDdQueryDirectDrawObject
-OsThunkDdQueryMoCompStatus
-OsThunkDdReenableDirectDrawObject
-OsThunkDdReleaseDC
-OsThunkDdRenderMoComp
-OsThunkDdResetVisrgn
-OsThunkDdSetColorKey
-OsThunkDdSetExclusiveMode
-OsThunkDdSetGammaRamp
-OsThunkDdSetOverlayPosition
-OsThunkDdUnattachSurface
-OsThunkDdUnlock
-OsThunkDdUnlockD3D
-OsThunkDdUpdateOverlay
-OsThunkDdWaitForVerticalBlank
+; 
+; Exports of file d3d8thk.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3d8thk.dll
+EXPORTS
+OsThunkD3dContextCreate
+OsThunkD3dContextDestroy
+OsThunkD3dContextDestroyAll
+OsThunkD3dDrawPrimitives2
+OsThunkD3dValidateTextureStageState
+OsThunkDdAddAttachedSurface
+OsThunkDdAlphaBlt
+OsThunkDdAttachSurface
+OsThunkDdBeginMoCompFrame
+OsThunkDdBlt
+OsThunkDdCanCreateD3DBuffer
+OsThunkDdCanCreateSurface
+OsThunkDdColorControl
+OsThunkDdCreateD3DBuffer
+OsThunkDdCreateDirectDrawObject
+OsThunkDdCreateMoComp
+OsThunkDdCreateSurface
+OsThunkDdCreateSurfaceEx
+OsThunkDdCreateSurfaceObject
+OsThunkDdDeleteDirectDrawObject
+OsThunkDdDeleteSurfaceObject
+OsThunkDdDestroyD3DBuffer
+OsThunkDdDestroyMoComp
+OsThunkDdDestroySurface
+OsThunkDdEndMoCompFrame
+OsThunkDdFlip
+OsThunkDdFlipToGDISurface
+OsThunkDdGetAvailDriverMemory
+OsThunkDdGetBltStatus
+OsThunkDdGetDC
+OsThunkDdGetDriverInfo
+OsThunkDdGetDriverState
+OsThunkDdGetDxHandle
+OsThunkDdGetFlipStatus
+OsThunkDdGetInternalMoCompInfo
+OsThunkDdGetMoCompBuffInfo
+OsThunkDdGetMoCompFormats
+OsThunkDdGetMoCompGuids
+OsThunkDdGetScanLine
+OsThunkDdLock
+OsThunkDdLockD3D
+OsThunkDdQueryDirectDrawObject
+OsThunkDdQueryMoCompStatus
+OsThunkDdReenableDirectDrawObject
+OsThunkDdReleaseDC
+OsThunkDdRenderMoComp
+OsThunkDdResetVisrgn
+OsThunkDdSetColorKey
+OsThunkDdSetExclusiveMode
+OsThunkDdSetGammaRamp
+OsThunkDdSetOverlayPosition
+OsThunkDdUnattachSurface
+OsThunkDdUnlock
+OsThunkDdUnlockD3D
+OsThunkDdUpdateOverlay
+OsThunkDdWaitForVerticalBlank
diff --git a/mingw-w64-crt/lib64/wd3d9.def b/mingw-w64-crt/lib64/wd3d9.def
index 17ece02..d928ba8 100644
--- a/mingw-w64-crt/lib64/wd3d9.def
+++ b/mingw-w64-crt/lib64/wd3d9.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file d3d9.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3d9.dll
-EXPORTS
-CheckFullscreen
-Direct3DShaderValidatorCreate9
-PSGPError
-PSGPSampleTexture
-D3DPERF_BeginEvent
-D3DPERF_EndEvent
-D3DPERF_GetStatus
-D3DPERF_QueryRepeatFrame
-D3DPERF_SetMarker
-D3DPERF_SetOptions
-D3DPERF_SetRegion
-DebugSetLevel
-DebugSetMute
-Direct3DCreate9
+; 
+; Exports of file d3d9.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3d9.dll
+EXPORTS
+CheckFullscreen
+Direct3DShaderValidatorCreate9
+PSGPError
+PSGPSampleTexture
+D3DPERF_BeginEvent
+D3DPERF_EndEvent
+D3DPERF_GetStatus
+D3DPERF_QueryRepeatFrame
+D3DPERF_SetMarker
+D3DPERF_SetOptions
+D3DPERF_SetRegion
+DebugSetLevel
+DebugSetMute
+Direct3DCreate9
diff --git a/mingw-w64-crt/lib64/wd3dim.def b/mingw-w64-crt/lib64/wd3dim.def
index 3e2c89d..408015a 100644
--- a/mingw-w64-crt/lib64/wd3dim.def
+++ b/mingw-w64-crt/lib64/wd3dim.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file d3dim.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3dim.dll
-EXPORTS
-D3DFree
-D3DMalloc
-D3DRealloc
-Direct3DCreateDevice
-Direct3DCreateTexture
-Direct3DGetSWRastZPixFmts
-Direct3DCreate
-Direct3D_HALCleanUp
-FlushD3DDevices2
-FlushD3DDevices
-PaletteAssociateNotify
-PaletteUpdateNotify
-SurfaceFlipNotify
+; 
+; Exports of file d3dim.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3dim.dll
+EXPORTS
+D3DFree
+D3DMalloc
+D3DRealloc
+Direct3DCreateDevice
+Direct3DCreateTexture
+Direct3DGetSWRastZPixFmts
+Direct3DCreate
+Direct3D_HALCleanUp
+FlushD3DDevices2
+FlushD3DDevices
+PaletteAssociateNotify
+PaletteUpdateNotify
+SurfaceFlipNotify
diff --git a/mingw-w64-crt/lib64/wd3dim700.def b/mingw-w64-crt/lib64/wd3dim700.def
index b2cebed..bf0e28b 100644
--- a/mingw-w64-crt/lib64/wd3dim700.def
+++ b/mingw-w64-crt/lib64/wd3dim700.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file d3dim700.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3dim700.dll
-EXPORTS
-D3DFree
-D3DMalloc
-D3DRealloc
-Direct3DCreateDevice
-CreateTexture
-D3DBreakVBLock
-D3DTextureUpdate
-DestroyTexture
-Direct3DCreate
-Direct3D_HALCleanUp
-FlushD3DDevices
-GetLOD
-GetPriority
-PaletteAssociateNotify
-PaletteUpdateNotify
-SetLOD
-SetPriority
-SurfaceFlipNotify
+; 
+; Exports of file d3dim700.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3dim700.dll
+EXPORTS
+D3DFree
+D3DMalloc
+D3DRealloc
+Direct3DCreateDevice
+CreateTexture
+D3DBreakVBLock
+D3DTextureUpdate
+DestroyTexture
+Direct3DCreate
+Direct3D_HALCleanUp
+FlushD3DDevices
+GetLOD
+GetPriority
+PaletteAssociateNotify
+PaletteUpdateNotify
+SetLOD
+SetPriority
+SurfaceFlipNotify
diff --git a/mingw-w64-crt/lib64/wd3dpmesh.def b/mingw-w64-crt/lib64/wd3dpmesh.def
index 8d558e7..e3b000e 100644
--- a/mingw-w64-crt/lib64/wd3dpmesh.def
+++ b/mingw-w64-crt/lib64/wd3dpmesh.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file d3dpmesh.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3dpmesh.dll
-EXPORTS
-CreateD3DRMPMeshVisual
+; 
+; Exports of file d3dpmesh.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3dpmesh.dll
+EXPORTS
+CreateD3DRMPMeshVisual
diff --git a/mingw-w64-crt/lib64/wd3dramp.def b/mingw-w64-crt/lib64/wd3dramp.def
index ccf3f48..3436621 100644
--- a/mingw-w64-crt/lib64/wd3dramp.def
+++ b/mingw-w64-crt/lib64/wd3dramp.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file d3dramp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3dramp.dll
-EXPORTS
-RampOldTri
-g_RampOld_BeadTbl DATA
+; 
+; Exports of file d3dramp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3dramp.dll
+EXPORTS
+RampOldTri
+g_RampOld_BeadTbl DATA
diff --git a/mingw-w64-crt/lib64/wd3drm.def b/mingw-w64-crt/lib64/wd3drm.def
index 5b608a9..58a022c 100644
--- a/mingw-w64-crt/lib64/wd3drm.def
+++ b/mingw-w64-crt/lib64/wd3drm.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file d3drm.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3drm.dll
-EXPORTS
-D3DRMColorGetAlpha
-D3DRMColorGetBlue
-D3DRMColorGetGreen
-D3DRMColorGetRed
-D3DRMCreateColorRGB
-D3DRMCreateColorRGBA
-D3DRMMatrixFromQuaternion
-D3DRMQuaternionFromRotation
-D3DRMQuaternionMultiply
-D3DRMQuaternionSlerp
-D3DRMVectorAdd
-D3DRMVectorCrossProduct
-D3DRMVectorDotProduct
-D3DRMVectorModulus
-D3DRMVectorNormalize
-D3DRMVectorRandom
-D3DRMVectorReflect
-D3DRMVectorRotate
-D3DRMVectorScale
-D3DRMVectorSubtract
-Direct3DRMCreate
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file d3drm.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3drm.dll
+EXPORTS
+D3DRMColorGetAlpha
+D3DRMColorGetBlue
+D3DRMColorGetGreen
+D3DRMColorGetRed
+D3DRMCreateColorRGB
+D3DRMCreateColorRGBA
+D3DRMMatrixFromQuaternion
+D3DRMQuaternionFromRotation
+D3DRMQuaternionMultiply
+D3DRMQuaternionSlerp
+D3DRMVectorAdd
+D3DRMVectorCrossProduct
+D3DRMVectorDotProduct
+D3DRMVectorModulus
+D3DRMVectorNormalize
+D3DRMVectorRandom
+D3DRMVectorReflect
+D3DRMVectorRotate
+D3DRMVectorScale
+D3DRMVectorSubtract
+Direct3DRMCreate
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wd3dxof.def b/mingw-w64-crt/lib64/wd3dxof.def
index 0086e47..a1b8a01 100644
--- a/mingw-w64-crt/lib64/wd3dxof.def
+++ b/mingw-w64-crt/lib64/wd3dxof.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file d3dxof.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY d3dxof.dll
-EXPORTS
-DirectXFileCreate
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file d3dxof.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY d3dxof.dll
+EXPORTS
+DirectXFileCreate
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wdanim.def b/mingw-w64-crt/lib64/wdanim.def
index 4069fce..4c842f7 100644
--- a/mingw-w64-crt/lib64/wdanim.def
+++ b/mingw-w64-crt/lib64/wdanim.def
@@ -1,1192 +1,1192 @@
-; 
-; Exports of file DANIM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DANIM.dll
-EXPORTS
-; class CRBvr * __stdcall COMToCRBvr(struct IUnknown *)
-?COMToCRBvr@@YGPAVCRBvr@@PAUIUnknown@@@Z
-; class CRNumber * __stdcall CRAbs(class CRNumber *)
-?CRAbs@@YGPAVCRNumber@@PAV1@@Z
-; class CRNumber * __stdcall CRAcos(class CRNumber *)
-?CRAcos@@YGPAVCRNumber@@PAV1@@Z
-; bool __stdcall CRAcquireGCLock(void)
-?CRAcquireGCLock@@YG_NXZ
-; class CRNumber * __stdcall CRAdd(class CRNumber *,class CRNumber *)
-?CRAdd@@YGPAVCRNumber@@PAV1@0@Z
-; class CRPoint2 * __stdcall CRAdd(class CRPoint2 *,class CRVector2 *)
-?CRAdd@@YGPAVCRPoint2@@PAV1@PAVCRVector2@@@Z
-; class CRPoint3 * __stdcall CRAdd(class CRPoint3 *,class CRVector3 *)
-?CRAdd@@YGPAVCRPoint3@@PAV1@PAVCRVector3@@@Z
-; class CRVector2 * __stdcall CRAdd(class CRVector2 *,class CRVector2 *)
-?CRAdd@@YGPAVCRVector2@@PAV1@0@Z
-; class CRVector3 * __stdcall CRAdd(class CRVector3 *,class CRVector3 *)
-?CRAdd@@YGPAVCRVector3@@PAV1@0@Z
-; bool __stdcall CRAddBvrToRun(class CRView *,class CRBvr *,bool,long *)
-?CRAddBvrToRun@@YG_NPAVCRView@@PAVCRBvr@@_NPAJ@Z
-; long __stdcall CRAddElement(class CRArray *,class CRBvr *,unsigned long)
-?CRAddElement@@YGJPAVCRArray@@PAVCRBvr@@K@Z
-; class CRGeometry * __stdcall CRAddPickData(class CRGeometry *,struct IUnknown *,bool)
-?CRAddPickData@@YGPAVCRGeometry@@PAV1@PAUIUnknown@@_N@Z
-; class CRImage * __stdcall CRAddPickData(class CRImage *,struct IUnknown *,bool)
-?CRAddPickData@@YGPAVCRImage@@PAV1@PAUIUnknown@@_N@Z
-; bool __stdcall CRAddRefGC(void *)
-?CRAddRefGC@@YG_NPAX@Z
-; bool __stdcall CRAddSite(class CRSite *)
-?CRAddSite@@YG_NPAVCRSite@@@Z
-; class CREvent * __stdcall CRAlways(void)
-?CRAlways@@YGPAVCREvent@@XZ
-; class CRGeometry * __stdcall CRAmbientColor(class CRGeometry *,class CRColor *)
-?CRAmbientColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
-; class CRGeometry * __stdcall CRAmbientLight(void)
-?CRAmbientLight@@YGPAVCRGeometry@@XZ
-; class CRBoolean * __stdcall CRAnd(class CRBoolean *,class CRBoolean *)
-?CRAnd@@YGPAVCRBoolean@@PAV1@0@Z
-; class CREvent * __stdcall CRAndEvent(class CREvent *,class CREvent *)
-?CRAndEvent@@YGPAVCREvent@@PAV1@0@Z
-; class CRFontStyle * __stdcall CRAntiAliasing(class CRFontStyle *,double)
-?CRAntiAliasing@@YGPAVCRFontStyle@@PAV1@N@Z
-; class CRLineStyle * __stdcall CRAntiAliasing(class CRLineStyle *,double)
-?CRAntiAliasing@@YGPAVCRLineStyle@@PAV1@N@Z
-; class CREvent * __stdcall CRAppTriggeredEvent(void)
-?CRAppTriggeredEvent@@YGPAVCREvent@@XZ
-; class CRDXTransformResult * __stdcall CRApplyDXTransform(struct IUnknown *,long,class CRBvr * *,class CRBvr *)
-?CRApplyDXTransform@@YGPAVCRDXTransformResult@@PAUIUnknown@@JPAPAVCRBvr@@PAV3@@Z
-; class CRColor * __stdcall CRAqua(void)
-?CRAqua@@YGPAVCRColor@@XZ
-; class CRPath2 * __stdcall CRArc(double,double,double,double)
-?CRArc@@YGPAVCRPath2@@NNNN@Z
-; class CRPath2 * __stdcall CRArcRadians(double,double,double,double)
-?CRArcRadians@@YGPAVCRPath2@@NNNN@Z
-; class CRPath2 * __stdcall CRArcRadians(class CRNumber *,class CRNumber *,class CRNumber *,class CRNumber *)
-?CRArcRadians@@YGPAVCRPath2@@PAVCRNumber@@000@Z
-; class CRNumber * __stdcall CRAsin(class CRNumber *)
-?CRAsin@@YGPAVCRNumber@@PAV1@@Z
-; class CRNumber * __stdcall CRAtan2(class CRNumber *,class CRNumber *)
-?CRAtan2@@YGPAVCRNumber@@PAV1@0@Z
-; class CRNumber * __stdcall CRAtan(class CRNumber *)
-?CRAtan@@YGPAVCRNumber@@PAV1@@Z
-; class CREvent * __stdcall CRAttachData(class CREvent *,class CRBvr *)
-?CRAttachData@@YGPAVCREvent@@PAV1@PAVCRBvr@@@Z
-; class CRBvr * __stdcall CRBSpline(int,long,class CRNumber * * const,long,class CRBvr * * const,long,class CRNumber * * const,class CRNumber *,enum CR_BVR_TYPEID)
-?CRBSpline@@YGPAVCRBvr@@HJQAPAVCRNumber@@JQAPAV1@J0PAV2@W4CR_BVR_TYPEID@@@Z
-; class CRGeometry * __stdcall CRBillboard(class CRGeometry *,class CRVector3 *)
-?CRBillboard@@YGPAVCRGeometry@@PAV1@PAVCRVector3@@@Z
-; class CRColor * __stdcall CRBlack(void)
-?CRBlack@@YGPAVCRColor@@XZ
-; class CRGeometry * __stdcall CRBlendTextureDiffuse(class CRGeometry *,class CRBoolean *)
-?CRBlendTextureDiffuse@@YGPAVCRGeometry@@PAV1@PAVCRBoolean@@@Z
-; class CRColor * __stdcall CRBlue(void)
-?CRBlue@@YGPAVCRColor@@XZ
-; class CRFontStyle * __stdcall CRBold(class CRFontStyle *)
-?CRBold@@YGPAVCRFontStyle@@PAV1@@Z
-; class CRBbox2 * __stdcall CRBoundingBox(class CRImage *)
-?CRBoundingBox@@YGPAVCRBbox2@@PAVCRImage@@@Z
-; class CRBbox2 * __stdcall CRBoundingBox(class CRPath2 *,class CRLineStyle *)
-?CRBoundingBox@@YGPAVCRBbox2@@PAVCRPath2@@PAVCRLineStyle@@@Z
-; class CRBbox3 * __stdcall CRBoundingBox(class CRGeometry *)
-?CRBoundingBox@@YGPAVCRBbox3@@PAVCRGeometry@@@Z
-; class CRBvr * __stdcall CRBvrApplyPreference(class CRBvr *,unsigned short *,struct tagVARIANT)
-?CRBvrApplyPreference@@YGPAVCRBvr@@PAV1@PAGUtagVARIANT@@@Z
-; bool __stdcall CRBvrToCOM(class CRBvr *,struct _GUID const &,void * *)
-?CRBvrToCOM@@YG_NPAVCRBvr@@ABU_GUID@@PAPAX@Z
-; class CRNumber * __stdcall CRCeiling(class CRNumber *)
-?CRCeiling@@YGPAVCRNumber@@PAV1@@Z
-; void __stdcall CRClearLastError(void)
-?CRClearLastError@@YGXXZ
-; class CRMatte * __stdcall CRClearMatte(void)
-?CRClearMatte@@YGPAVCRMatte@@XZ
-; class CRImage * __stdcall CRClip(class CRImage *,class CRMatte *)
-?CRClip@@YGPAVCRImage@@PAV1@PAVCRMatte@@@Z
-; class CRImage * __stdcall CRClipPolygonImage(class CRImage *,class CRArray *)
-?CRClipPolygonImage@@YGPAVCRImage@@PAV1@PAVCRArray@@@Z
-; class CRPath2 * __stdcall CRClose(class CRPath2 *)
-?CRClose@@YGPAVCRPath2@@PAV1@@Z
-; class CRColor * __stdcall CRColorHsl(double,double,double)
-?CRColorHsl@@YGPAVCRColor@@NNN@Z
-; class CRColor * __stdcall CRColorHsl(class CRNumber *,class CRNumber *,class CRNumber *)
-?CRColorHsl@@YGPAVCRColor@@PAVCRNumber@@00@Z
-; class CRImage * __stdcall CRColorKey(class CRImage *,class CRColor *)
-?CRColorKey@@YGPAVCRImage@@PAV1@PAVCRColor@@@Z
-; class CRColor * __stdcall CRColorRgb255(short,short,short)
-?CRColorRgb255@@YGPAVCRColor@@FFF@Z
-; class CRColor * __stdcall CRColorRgb(double,double,double)
-?CRColorRgb@@YGPAVCRColor@@NNN@Z
-; class CRColor * __stdcall CRColorRgb(class CRNumber *,class CRNumber *,class CRNumber *)
-?CRColorRgb@@YGPAVCRColor@@PAVCRNumber@@00@Z
-; class CRTransform2 * __stdcall CRCompose2(class CRTransform2 *,class CRTransform2 *)
-?CRCompose2@@YGPAVCRTransform2@@PAV1@0@Z
-; class CRTransform2 * __stdcall CRCompose2(class CRArray *)
-?CRCompose2@@YGPAVCRTransform2@@PAVCRArray@@@Z
-; class CRTransform3 * __stdcall CRCompose3(class CRTransform3 *,class CRTransform3 *)
-?CRCompose3@@YGPAVCRTransform3@@PAV1@0@Z
-; class CRTransform3 * __stdcall CRCompose3(class CRArray *)
-?CRCompose3@@YGPAVCRTransform3@@PAVCRArray@@@Z
-; class CRPath2 * __stdcall CRConcat(class CRPath2 *,class CRPath2 *)
-?CRConcat@@YGPAVCRPath2@@PAV1@0@Z
-; class CRPath2 * __stdcall CRConcat(class CRArray *)
-?CRConcat@@YGPAVCRPath2@@PAVCRArray@@@Z
-; class CRString * __stdcall CRConcatString(class CRString *,class CRString *)
-?CRConcatString@@YGPAVCRString@@PAV1@0@Z
-; class CRBvr * __stdcall CRCond(class CRBoolean *,class CRBvr *,class CRBvr *)
-?CRCond@@YGPAVCRBvr@@PAVCRBoolean@@PAV1@1@Z
-; bool __stdcall CRConnect(struct HINSTANCE__ *)
-?CRConnect@@YG_NPAUHINSTANCE__@@@Z
-; class CRNumber * __stdcall CRCos(class CRNumber *)
-?CRCos@@YGPAVCRNumber@@PAV1@@Z
-; class CRArray * __stdcall CRCreateArray(long,double * const,enum CR_BVR_TYPEID)
-?CRCreateArray@@YGPAVCRArray@@JQANW4CR_BVR_TYPEID@@@Z
-; class CRArray * __stdcall CRCreateArray(long,class CRBvr * * const,unsigned long)
-?CRCreateArray@@YGPAVCRArray@@JQAPAVCRBvr@@K@Z
-; class CRBoolean * __stdcall CRCreateBoolean(bool)
-?CRCreateBoolean@@YGPAVCRBoolean@@_N@Z
-; class CRNumber * __stdcall CRCreateNumber(double)
-?CRCreateNumber@@YGPAVCRNumber@@N@Z
-; class CRPoint2 * __stdcall CRCreatePoint2(double,double)
-?CRCreatePoint2@@YGPAVCRPoint2@@NN@Z
-; class CRPoint2 * __stdcall CRCreatePoint2(class CRNumber *,class CRNumber *)
-?CRCreatePoint2@@YGPAVCRPoint2@@PAVCRNumber@@0@Z
-; class CRPoint3 * __stdcall CRCreatePoint3(double,double,double)
-?CRCreatePoint3@@YGPAVCRPoint3@@NNN@Z
-; class CRPoint3 * __stdcall CRCreatePoint3(class CRNumber *,class CRNumber *,class CRNumber *)
-?CRCreatePoint3@@YGPAVCRPoint3@@PAVCRNumber@@00@Z
-; class CRString * __stdcall CRCreateString(unsigned short *)
-?CRCreateString@@YGPAVCRString@@PAG@Z
-; class CRTuple * __stdcall CRCreateTuple(long,class CRBvr * * const)
-?CRCreateTuple@@YGPAVCRTuple@@JQAPAVCRBvr@@@Z
-; class CRUserData * __stdcall CRCreateUserData(struct IUnknown *)
-?CRCreateUserData@@YGPAVCRUserData@@PAUIUnknown@@@Z
-; class CRVector2 * __stdcall CRCreateVector2(double,double)
-?CRCreateVector2@@YGPAVCRVector2@@NN@Z
-; class CRVector2 * __stdcall CRCreateVector2(class CRNumber *,class CRNumber *)
-?CRCreateVector2@@YGPAVCRVector2@@PAVCRNumber@@0@Z
-; class CRVector3 * __stdcall CRCreateVector3(double,double,double)
-?CRCreateVector3@@YGPAVCRVector3@@NNN@Z
-; class CRVector3 * __stdcall CRCreateVector3(class CRNumber *,class CRNumber *,class CRNumber *)
-?CRCreateVector3@@YGPAVCRVector3@@PAVCRNumber@@00@Z
-; class CRView * __stdcall CRCreateView(void)
-?CRCreateView@@YGPAVCRView@@XZ
-; class CRImage * __stdcall CRCrop(class CRImage *,class CRPoint2 *,class CRPoint2 *)
-?CRCrop@@YGPAVCRImage@@PAV1@PAVCRPoint2@@1@Z
-; class CRVector3 * __stdcall CRCross(class CRVector3 *,class CRVector3 *)
-?CRCross@@YGPAVCRVector3@@PAV1@0@Z
-; class CRPath2 * __stdcall CRCubicBSplinePath(class CRArray *,class CRArray *)
-?CRCubicBSplinePath@@YGPAVCRPath2@@PAVCRArray@@0@Z
-; class CRColor * __stdcall CRCyan(void)
-?CRCyan@@YGPAVCRColor@@XZ
-; class CRGeometry * __stdcall CRD3DRMTexture(class CRGeometry *,struct IUnknown *)
-?CRD3DRMTexture@@YGPAVCRGeometry@@PAV1@PAUIUnknown@@@Z
-; class CRLineStyle * __stdcall CRDash(class CRLineStyle *,class CRDashStyle *)
-?CRDash@@YGPAVCRLineStyle@@PAV1@PAVCRDashStyle@@@Z
-; class CRLineStyle * __stdcall CRDashEx(class CRLineStyle *,unsigned long)
-?CRDashEx@@YGPAVCRLineStyle@@PAV1@K@Z
-; class CRDashStyle * __stdcall CRDashStyleDashed(void)
-?CRDashStyleDashed@@YGPAVCRDashStyle@@XZ
-; class CRDashStyle * __stdcall CRDashStyleSolid(void)
-?CRDashStyleSolid@@YGPAVCRDashStyle@@XZ
-; class CRFontStyle * __stdcall CRDefaultFont(void)
-?CRDefaultFont@@YGPAVCRFontStyle@@XZ
-; class CRLineStyle * __stdcall CRDefaultLineStyle(void)
-?CRDefaultLineStyle@@YGPAVCRLineStyle@@XZ
-; class CRMicrophone * __stdcall CRDefaultMicrophone(void)
-?CRDefaultMicrophone@@YGPAVCRMicrophone@@XZ
-; class CRCamera * __stdcall CRDepth(class CRCamera *,double)
-?CRDepth@@YGPAVCRCamera@@PAV1@N@Z
-; class CRCamera * __stdcall CRDepth(class CRCamera *,class CRNumber *)
-?CRDepth@@YGPAVCRCamera@@PAV1@PAVCRNumber@@@Z
-; class CRCamera * __stdcall CRDepthResolution(class CRCamera *,double)
-?CRDepthResolution@@YGPAVCRCamera@@PAV1@N@Z
-; class CRCamera * __stdcall CRDepthResolution(class CRCamera *,class CRNumber *)
-?CRDepthResolution@@YGPAVCRCamera@@PAV1@PAVCRNumber@@@Z
-; class CRNumber * __stdcall CRDerivative(class CRNumber *)
-?CRDerivative@@YGPAVCRNumber@@PAV1@@Z
-; class CRVector2 * __stdcall CRDerivative(class CRVector2 *)
-?CRDerivative@@YGPAVCRVector2@@PAV1@@Z
-; class CRVector2 * __stdcall CRDerivative(class CRPoint2 *)
-?CRDerivative@@YGPAVCRVector2@@PAVCRPoint2@@@Z
-; class CRVector3 * __stdcall CRDerivative(class CRVector3 *)
-?CRDerivative@@YGPAVCRVector3@@PAV1@@Z
-; class CRVector3 * __stdcall CRDerivative(class CRPoint3 *)
-?CRDerivative@@YGPAVCRVector3@@PAVCRPoint3@@@Z
-; void __stdcall CRDestroyView(class CRView *)
-?CRDestroyView@@YGXPAVCRView@@@Z
-; class CRLineStyle * __stdcall CRDetail(class CRLineStyle *)
-?CRDetail@@YGPAVCRLineStyle@@PAV1@@Z
-; class CRImage * __stdcall CRDetectableEmptyImage(void)
-?CRDetectableEmptyImage@@YGPAVCRImage@@XZ
-; class CRMatte * __stdcall CRDifferenceMatte(class CRMatte *,class CRMatte *)
-?CRDifferenceMatte@@YGPAVCRMatte@@PAV1@0@Z
-; class CRGeometry * __stdcall CRDiffuseColor(class CRGeometry *,class CRColor *)
-?CRDiffuseColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
-; class CRGeometry * __stdcall CRDirectionalLight(void)
-?CRDirectionalLight@@YGPAVCRGeometry@@XZ
-; bool __stdcall CRDisconnect(struct HINSTANCE__ *)
-?CRDisconnect@@YG_NPAUHINSTANCE__@@@Z
-; class CRNumber * __stdcall CRDistance(class CRPoint2 *,class CRPoint2 *)
-?CRDistance@@YGPAVCRNumber@@PAVCRPoint2@@0@Z
-; class CRNumber * __stdcall CRDistance(class CRPoint3 *,class CRPoint3 *)
-?CRDistance@@YGPAVCRNumber@@PAVCRPoint3@@0@Z
-; class CRNumber * __stdcall CRDistanceSquared(class CRPoint2 *,class CRPoint2 *)
-?CRDistanceSquared@@YGPAVCRNumber@@PAVCRPoint2@@0@Z
-; class CRNumber * __stdcall CRDistanceSquared(class CRPoint3 *,class CRPoint3 *)
-?CRDistanceSquared@@YGPAVCRNumber@@PAVCRPoint3@@0@Z
-; class CRNumber * __stdcall CRDiv(class CRNumber *,class CRNumber *)
-?CRDiv@@YGPAVCRNumber@@PAV1@0@Z
-; class CRVector2 * __stdcall CRDiv(class CRVector2 *,double)
-?CRDiv@@YGPAVCRVector2@@PAV1@N@Z
-; class CRVector2 * __stdcall CRDiv(class CRVector2 *,class CRNumber *)
-?CRDiv@@YGPAVCRVector2@@PAV1@PAVCRNumber@@@Z
-; class CRVector3 * __stdcall CRDiv(class CRVector3 *,double)
-?CRDiv@@YGPAVCRVector3@@PAV1@N@Z
-; class CRVector3 * __stdcall CRDiv(class CRVector3 *,class CRNumber *)
-?CRDiv@@YGPAVCRVector3@@PAV1@PAVCRNumber@@@Z
-; bool __stdcall CRDoGC(void)
-?CRDoGC@@YG_NXZ
-; class CRNumber * __stdcall CRDot(class CRVector2 *,class CRVector2 *)
-?CRDot@@YGPAVCRNumber@@PAVCRVector2@@0@Z
-; class CRNumber * __stdcall CRDot(class CRVector3 *,class CRVector3 *)
-?CRDot@@YGPAVCRNumber@@PAVCRVector3@@0@Z
-; class CRImage * __stdcall CRDraw(class CRPath2 *,class CRLineStyle *)
-?CRDraw@@YGPAVCRImage@@PAVCRPath2@@PAVCRLineStyle@@@Z
-; class CRBvr * __stdcall CRDuration(class CRBvr *,double)
-?CRDuration@@YGPAVCRBvr@@PAV1@N@Z
-; class CRBvr * __stdcall CRDuration(class CRBvr *,class CRNumber *)
-?CRDuration@@YGPAVCRBvr@@PAV1@PAVCRNumber@@@Z
-; class CRBoolean * __stdcall CREQ(class CRNumber *,class CRNumber *)
-?CREQ@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
-; class CRGeometry * __stdcall CREmissiveColor(class CRGeometry *,class CRColor *)
-?CREmissiveColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
-; class CRColor * __stdcall CREmptyColor(void)
-?CREmptyColor@@YGPAVCRColor@@XZ
-; class CRGeometry * __stdcall CREmptyGeometry(void)
-?CREmptyGeometry@@YGPAVCRGeometry@@XZ
-; class CRImage * __stdcall CREmptyImage(void)
-?CREmptyImage@@YGPAVCRImage@@XZ
-; class CRLineStyle * __stdcall CREmptyLineStyle(void)
-?CREmptyLineStyle@@YGPAVCRLineStyle@@XZ
-; class CRMontage * __stdcall CREmptyMontage(void)
-?CREmptyMontage@@YGPAVCRMontage@@XZ
-; class CRLineStyle * __stdcall CREnd(class CRLineStyle *,class CREndStyle *)
-?CREnd@@YGPAVCRLineStyle@@PAV1@PAVCREndStyle@@@Z
-; class CRBvr * __stdcall CREndEvent(class CRBvr *)
-?CREndEvent@@YGPAVCRBvr@@PAV1@@Z
-; class CRLineStyle * __stdcall CREndEx(class CRLineStyle *,unsigned long)
-?CREndEx@@YGPAVCRLineStyle@@PAV1@K@Z
-; class CREndStyle * __stdcall CREndStyleFlat(void)
-?CREndStyleFlat@@YGPAVCREndStyle@@XZ
-; class CREndStyle * __stdcall CREndStyleRound(void)
-?CREndStyleRound@@YGPAVCREndStyle@@XZ
-; class CREndStyle * __stdcall CREndStyleSquare(void)
-?CREndStyleSquare@@YGPAVCREndStyle@@XZ
-; class CRNumber * __stdcall CRExp(class CRNumber *)
-?CRExp@@YGPAVCRNumber@@PAV1@@Z
-; class CRBvr * __stdcall CRExtendedAttrib(class CRBvr *,unsigned short *,struct tagVARIANT)
-?CRExtendedAttrib@@YGPAVCRBvr@@PAV1@PAGUtagVARIANT@@@Z
-; double __stdcall CRExtract(class CRNumber *)
-?CRExtract@@YGNPAVCRNumber@@@Z
-; unsigned short * __stdcall CRExtract(class CRString *)
-?CRExtract@@YGPAGPAVCRString@@@Z
-; bool __stdcall CRExtract(class CRBoolean *)
-?CRExtract@@YG_NPAVCRBoolean@@@Z
-; class CRBoolean * __stdcall CRFalse(void)
-?CRFalse@@YGPAVCRBoolean@@XZ
-; class CRFontStyle * __stdcall CRFamily(class CRFontStyle *,unsigned short *)
-?CRFamily@@YGPAVCRFontStyle@@PAV1@PAG@Z
-; class CRFontStyle * __stdcall CRFamily(class CRFontStyle *,class CRString *)
-?CRFamily@@YGPAVCRFontStyle@@PAV1@PAVCRString@@@Z
-; class CRImage * __stdcall CRFill(class CRPath2 *,class CRLineStyle *,class CRImage *)
-?CRFill@@YGPAVCRImage@@PAVCRPath2@@PAVCRLineStyle@@PAV1@@Z
-; class CRMatte * __stdcall CRFillMatte(class CRPath2 *)
-?CRFillMatte@@YGPAVCRMatte@@PAVCRPath2@@@Z
-; class CRBvr * __stdcall CRFirst(class CRPair *)
-?CRFirst@@YGPAVCRBvr@@PAVCRPair@@@Z
-; class CRNumber * __stdcall CRFloor(class CRNumber *)
-?CRFloor@@YGPAVCRNumber@@PAV1@@Z
-; class CRTransform2 * __stdcall CRFollowPath(class CRPath2 *,double)
-?CRFollowPath@@YGPAVCRTransform2@@PAVCRPath2@@N@Z
-; class CRTransform2 * __stdcall CRFollowPath(class CRPath2 *,class CRNumber *)
-?CRFollowPath@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
-; class CRTransform2 * __stdcall CRFollowPathAngle(class CRPath2 *,double)
-?CRFollowPathAngle@@YGPAVCRTransform2@@PAVCRPath2@@N@Z
-; class CRTransform2 * __stdcall CRFollowPathAngle(class CRPath2 *,class CRNumber *)
-?CRFollowPathAngle@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
-; class CRTransform2 * __stdcall CRFollowPathAngleEval(class CRPath2 *,class CRNumber *)
-?CRFollowPathAngleEval@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
-; class CRTransform2 * __stdcall CRFollowPathAngleUpright(class CRPath2 *,double)
-?CRFollowPathAngleUpright@@YGPAVCRTransform2@@PAVCRPath2@@N@Z
-; class CRTransform2 * __stdcall CRFollowPathAngleUpright(class CRPath2 *,class CRNumber *)
-?CRFollowPathAngleUpright@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
-; class CRTransform2 * __stdcall CRFollowPathAngleUprightEval(class CRPath2 *,class CRNumber *)
-?CRFollowPathAngleUprightEval@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
-; class CRTransform2 * __stdcall CRFollowPathEval(class CRPath2 *,class CRNumber *)
-?CRFollowPathEval@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
-; class CRFontStyle * __stdcall CRFont(unsigned short *,double,class CRColor *)
-?CRFont@@YGPAVCRFontStyle@@PAGNPAVCRColor@@@Z
-; class CRFontStyle * __stdcall CRFont(class CRString *,class CRNumber *,class CRColor *)
-?CRFont@@YGPAVCRFontStyle@@PAVCRString@@PAVCRNumber@@PAVCRColor@@@Z
-; class CRColor * __stdcall CRFuchsia(void)
-?CRFuchsia@@YGPAVCRColor@@XZ
-; class CRBoolean * __stdcall CRGT(class CRNumber *,class CRNumber *)
-?CRGT@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
-; class CRBoolean * __stdcall CRGTE(class CRNumber *,class CRNumber *)
-?CRGTE@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
-; class CRSound * __stdcall CRGain(class CRSound *,double)
-?CRGain@@YGPAVCRSound@@PAV1@N@Z
-; class CRSound * __stdcall CRGain(class CRSound *,class CRNumber *)
-?CRGain@@YGPAVCRSound@@PAV1@PAVCRNumber@@@Z
-; enum CR_BVR_TYPEID  __stdcall CRGetArrayTypeId(class CRBvr *)
-?CRGetArrayTypeId@@YG?AW4CR_BVR_TYPEID@@PAVCRBvr@@@Z
-; class CRNumber * __stdcall CRGetBlue(class CRColor *)
-?CRGetBlue@@YGPAVCRNumber@@PAVCRColor@@@Z
-; class CREvent * __stdcall CRGetCompletionEvent(class CRImportationResult *)
-?CRGetCompletionEvent@@YGPAVCREvent@@PAVCRImportationResult@@@Z
-; bool __stdcall CRGetCompositeDirectlyToTarget(class CRView *)
-?CRGetCompositeDirectlyToTarget@@YG_NPAVCRView@@@Z
-; double __stdcall CRGetConstDuration(class CREvent *)
-?CRGetConstDuration@@YGNPAVCREvent@@@Z
-; struct HDC__ * __stdcall CRGetDC(class CRView *)
-?CRGetDC@@YGPAUHDC__@@PAVCRView@@@Z
-; bool __stdcall CRGetDDD3DRM(class CRView *,struct IUnknown * *,struct IUnknown * *)
-?CRGetDDD3DRM@@YG_NPAVCRView@@PAPAUIUnknown@@1@Z
-; struct IUnknown * __stdcall CRGetData(class CRUserData *)
-?CRGetData@@YGPAUIUnknown@@PAVCRUserData@@@Z
-; struct IUnknown * __stdcall CRGetDirectDrawSurface(class CRView *)
-?CRGetDirectDrawSurface@@YGPAUIUnknown@@PAVCRView@@@Z
-; class CRNumber * __stdcall CRGetDuration(class CRImportationResult *)
-?CRGetDuration@@YGPAVCRNumber@@PAVCRImportationResult@@@Z
-; class CRBvr * __stdcall CRGetElement(class CRArray *,long)
-?CRGetElement@@YGPAVCRBvr@@PAVCRArray@@J@Z
-; class CREvent * __stdcall CRGetEvent(class CRPickableResult *)
-?CRGetEvent@@YGPAVCREvent@@PAVCRPickableResult@@@Z
-; class CRGeometry * __stdcall CRGetGeometry(class CRImportationResult *)
-?CRGetGeometry@@YGPAVCRGeometry@@PAVCRImportationResult@@@Z
-; class CRGeometry * __stdcall CRGetGeometry(class CRPickableResult *)
-?CRGetGeometry@@YGPAVCRGeometry@@PAVCRPickableResult@@@Z
-; class CRNumber * __stdcall CRGetGreen(class CRColor *)
-?CRGetGreen@@YGPAVCRNumber@@PAVCRColor@@@Z
-; class CRNumber * __stdcall CRGetHue(class CRColor *)
-?CRGetHue@@YGPAVCRNumber@@PAVCRColor@@@Z
-; class CRImage * __stdcall CRGetImage(class CRImportationResult *)
-?CRGetImage@@YGPAVCRImage@@PAVCRImportationResult@@@Z
-; class CRImage * __stdcall CRGetImage(class CRPickableResult *)
-?CRGetImage@@YGPAVCRImage@@PAVCRPickableResult@@@Z
-; float __stdcall CRGetImportPriority(class CRBvr *)
-?CRGetImportPriority@@YGMPAVCRBvr@@@Z
-; long __stdcall CRGetInvalidatedRects(class CRView *,unsigned long,long,struct tagRECT *)
-?CRGetInvalidatedRects@@YGJPAVCRView@@KJPAUtagRECT@@@Z
-; long __stdcall CRGetLastError(void)
-?CRGetLastError@@YGJXZ
-; unsigned short const * __stdcall CRGetLastErrorString(void)
-?CRGetLastErrorString@@YGPBGXZ
-; class CRNumber * __stdcall CRGetLightness(class CRColor *)
-?CRGetLightness@@YGPAVCRNumber@@PAVCRColor@@@Z
-; class CRBvr * __stdcall CRGetModifiableBvr(class CRBvr *)
-?CRGetModifiableBvr@@YGPAVCRBvr@@PAV1@@Z
-; class CRBvr * __stdcall CRGetOutputBvr(class CRDXTransformResult *)
-?CRGetOutputBvr@@YGPAVCRBvr@@PAVCRDXTransformResult@@@Z
-; bool __stdcall CRGetPreference(class CRView *,unsigned short *,struct tagVARIANT *)
-?CRGetPreference@@YG_NPAVCRView@@PAGPAUtagVARIANT@@@Z
-; class CRNumber * __stdcall CRGetProgress(class CRImportationResult *)
-?CRGetProgress@@YGPAVCRNumber@@PAVCRImportationResult@@@Z
-; bool __stdcall CRGetRMDevice(class CRView *,struct IUnknown * *,unsigned long *)
-?CRGetRMDevice@@YG_NPAVCRView@@PAPAUIUnknown@@PAK@Z
-; class CRNumber * __stdcall CRGetRed(class CRColor *)
-?CRGetRed@@YGPAVCRNumber@@PAVCRColor@@@Z
-; class CRNumber * __stdcall CRGetSaturation(class CRColor *)
-?CRGetSaturation@@YGPAVCRNumber@@PAVCRColor@@@Z
-; struct IServiceProvider * __stdcall CRGetServiceProvider(class CRView *)
-?CRGetServiceProvider@@YGPAUIServiceProvider@@PAVCRView@@@Z
-; double __stdcall CRGetSimulationTime(class CRView *)
-?CRGetSimulationTime@@YGNPAVCRView@@@Z
-; class CRViewSite * __stdcall CRGetSite(class CRView *)
-?CRGetSite@@YGPAVCRViewSite@@PAVCRView@@@Z
-; class CRNumber * __stdcall CRGetSize(class CRImportationResult *)
-?CRGetSize@@YGPAVCRNumber@@PAVCRImportationResult@@@Z
-; class CRSound * __stdcall CRGetSound(class CRImportationResult *)
-?CRGetSound@@YGPAVCRSound@@PAVCRImportationResult@@@Z
-; struct IUnknown * __stdcall CRGetTransform(class CRDXTransformResult *)
-?CRGetTransform@@YGPAUIUnknown@@PAVCRDXTransformResult@@@Z
-; enum CR_BVR_TYPEID  __stdcall CRGetTypeId(class CRBvr *)
-?CRGetTypeId@@YG?AW4CR_BVR_TYPEID@@PAVCRBvr@@@Z
-; struct HWND__ * __stdcall CRGetWindow(class CRView *)
-?CRGetWindow@@YGPAUHWND__@@PAVCRView@@@Z
-; class CRNumber * __stdcall CRGetX(class CRPoint2 *)
-?CRGetX@@YGPAVCRNumber@@PAVCRPoint2@@@Z
-; class CRNumber * __stdcall CRGetX(class CRPoint3 *)
-?CRGetX@@YGPAVCRNumber@@PAVCRPoint3@@@Z
-; class CRNumber * __stdcall CRGetX(class CRVector2 *)
-?CRGetX@@YGPAVCRNumber@@PAVCRVector2@@@Z
-; class CRNumber * __stdcall CRGetX(class CRVector3 *)
-?CRGetX@@YGPAVCRNumber@@PAVCRVector3@@@Z
-; class CRNumber * __stdcall CRGetY(class CRPoint2 *)
-?CRGetY@@YGPAVCRNumber@@PAVCRPoint2@@@Z
-; class CRNumber * __stdcall CRGetY(class CRPoint3 *)
-?CRGetY@@YGPAVCRNumber@@PAVCRPoint3@@@Z
-; class CRNumber * __stdcall CRGetY(class CRVector2 *)
-?CRGetY@@YGPAVCRNumber@@PAVCRVector2@@@Z
-; class CRNumber * __stdcall CRGetY(class CRVector3 *)
-?CRGetY@@YGPAVCRNumber@@PAVCRVector3@@@Z
-; class CRNumber * __stdcall CRGetZ(class CRPoint3 *)
-?CRGetZ@@YGPAVCRNumber@@PAVCRPoint3@@@Z
-; class CRNumber * __stdcall CRGetZ(class CRVector3 *)
-?CRGetZ@@YGPAVCRNumber@@PAVCRVector3@@@Z
-; class CRNumber * __stdcall CRGlobalTime(void)
-?CRGlobalTime@@YGPAVCRNumber@@XZ
-; class CRImage * __stdcall CRGradientHorizontal(class CRColor *,class CRColor *,double)
-?CRGradientHorizontal@@YGPAVCRImage@@PAVCRColor@@0N@Z
-; class CRImage * __stdcall CRGradientHorizontal(class CRColor *,class CRColor *,class CRNumber *)
-?CRGradientHorizontal@@YGPAVCRImage@@PAVCRColor@@0PAVCRNumber@@@Z
-; class CRImage * __stdcall CRGradientPolygon(class CRArray *,class CRArray *)
-?CRGradientPolygon@@YGPAVCRImage@@PAVCRArray@@0@Z
-; class CRImage * __stdcall CRGradientSquare(class CRColor *,class CRColor *,class CRColor *,class CRColor *)
-?CRGradientSquare@@YGPAVCRImage@@PAVCRColor@@000@Z
-; class CRColor * __stdcall CRGray(void)
-?CRGray@@YGPAVCRColor@@XZ
-; class CRColor * __stdcall CRGreen(void)
-?CRGreen@@YGPAVCRColor@@XZ
-; class CRImage * __stdcall CRHatchBackwardDiagonal(class CRColor *,double)
-?CRHatchBackwardDiagonal@@YGPAVCRImage@@PAVCRColor@@N@Z
-; class CRImage * __stdcall CRHatchBackwardDiagonal(class CRColor *,class CRNumber *)
-?CRHatchBackwardDiagonal@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
-; class CRImage * __stdcall CRHatchCross(class CRColor *,double)
-?CRHatchCross@@YGPAVCRImage@@PAVCRColor@@N@Z
-; class CRImage * __stdcall CRHatchCross(class CRColor *,class CRNumber *)
-?CRHatchCross@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
-; class CRImage * __stdcall CRHatchDiagonalCross(class CRColor *,double)
-?CRHatchDiagonalCross@@YGPAVCRImage@@PAVCRColor@@N@Z
-; class CRImage * __stdcall CRHatchDiagonalCross(class CRColor *,class CRNumber *)
-?CRHatchDiagonalCross@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
-; class CRImage * __stdcall CRHatchForwardDiagonal(class CRColor *,double)
-?CRHatchForwardDiagonal@@YGPAVCRImage@@PAVCRColor@@N@Z
-; class CRImage * __stdcall CRHatchForwardDiagonal(class CRColor *,class CRNumber *)
-?CRHatchForwardDiagonal@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
-; class CRImage * __stdcall CRHatchHorizontal(class CRColor *,double)
-?CRHatchHorizontal@@YGPAVCRImage@@PAVCRColor@@N@Z
-; class CRImage * __stdcall CRHatchHorizontal(class CRColor *,class CRNumber *)
-?CRHatchHorizontal@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
-; class CRImage * __stdcall CRHatchVertical(class CRColor *,double)
-?CRHatchVertical@@YGPAVCRImage@@PAVCRColor@@N@Z
-; class CRImage * __stdcall CRHatchVertical(class CRColor *,class CRNumber *)
-?CRHatchVertical@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
-; class CRBvr * __stdcall CRHook(class CRBvr *,class CRBvrHook *)
-?CRHook@@YGPAVCRBvr@@PAV1@PAVCRBvrHook@@@Z
-; class CRTransform2 * __stdcall CRIdentityTransform2(void)
-?CRIdentityTransform2@@YGPAVCRTransform2@@XZ
-; class CRTransform3 * __stdcall CRIdentityTransform3(void)
-?CRIdentityTransform3@@YGPAVCRTransform3@@XZ
-; class CRMontage * __stdcall CRImageMontage(class CRImage *,double)
-?CRImageMontage@@YGPAVCRMontage@@PAVCRImage@@N@Z
-; class CRMontage * __stdcall CRImageMontageAnim(class CRImage *,class CRNumber *)
-?CRImageMontageAnim@@YGPAVCRMontage@@PAVCRImage@@PAVCRNumber@@@Z
-; class CRImage * __stdcall CRImageQuality(class CRImage *,unsigned long)
-?CRImageQuality@@YGPAVCRImage@@PAV1@K@Z
-; bool __stdcall CRImportCancel(class CRBvr *)
-?CRImportCancel@@YG_NPAVCRBvr@@@Z
-; class CRGeometry * __stdcall CRImportDirect3DRMVisual(struct IUnknown *)
-?CRImportDirect3DRMVisual@@YGPAVCRGeometry@@PAUIUnknown@@@Z
-; class CRGeometry * __stdcall CRImportDirect3DRMVisualWrapped(struct IUnknown *,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
-?CRImportDirect3DRMVisualWrapped@@YGPAVCRGeometry@@PAUIUnknown@@JNNNNNNNNNNNNNK@Z
-; class CRImage * __stdcall CRImportDirectDrawSurface(struct IUnknown *,class CREvent *)
-?CRImportDirectDrawSurface@@YGPAVCRImage@@PAUIUnknown@@PAVCREvent@@@Z
-; unsigned long __stdcall CRImportGeometry(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,class CRGeometry *,class CRGeometry * *,class CREvent * *,class CRNumber * *,class CRNumber * *)
-?CRImportGeometry@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@PAVCRGeometry@@PAPAV3@PAPAVCREvent@@PAPAVCRNumber@@6@Z
-; unsigned long __stdcall CRImportGeometryWrapped(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,class CRGeometry *,class CRGeometry * *,class CREvent * *,class CRNumber * *,class CRNumber * *,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
-?CRImportGeometryWrapped@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@PAVCRGeometry@@PAPAV3@PAPAVCREvent@@PAPAVCRNumber@@6JNNNNNNNNNNNNNK@Z
-; unsigned long __stdcall CRImportImage(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,bool,unsigned char,unsigned char,unsigned char,class CRImage *,class CRImage * *,class CREvent * *,class CRNumber * *,class CRNumber * *)
-?CRImportImage@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@_NEEEPAVCRImage@@PAPAV3@PAPAVCREvent@@PAPAVCRNumber@@7@Z
-; class CRImportationResult * __stdcall CRImportMedia(unsigned short *,void *,enum CR_MEDIA_SOURCE,void * * const,unsigned long,class CRImportSite *)
-?CRImportMedia@@YGPAVCRImportationResult@@PAGPAXW4CR_MEDIA_SOURCE@@QAPAXKPAVCRImportSite@@@Z
-; unsigned long __stdcall CRImportMovie(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,bool,class CRImage *,class CRSound *,class CRImage * *,class CRSound * *,class CRNumber * *,class CREvent * *,class CRNumber * *,class CRNumber * *)
-?CRImportMovie@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@_NPAVCRImage@@PAVCRSound@@PAPAV3@PAPAV4@PAPAVCRNumber@@PAPAVCREvent@@88@Z
-; unsigned long __stdcall CRImportSound(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,bool,class CRSound *,class CRSound * *,class CRNumber * *,class CREvent * *,class CRNumber * *,class CRNumber * *)
-?CRImportSound@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@_NPAVCRSound@@PAPAV3@PAPAVCRNumber@@PAPAVCREvent@@66@Z
-; long __stdcall CRImportStatus(class CRBvr *)
-?CRImportStatus@@YGJPAVCRBvr@@@Z
-; class CRBvr * __stdcall CRImportance(class CRBvr *,double)
-?CRImportance@@YGPAVCRBvr@@PAV1@N@Z
-; bool __stdcall CRInit(class CRBvr *,class CRBvr *)
-?CRInit@@YG_NPAVCRBvr@@0@Z
-; class CRNumber * __stdcall CRIntegral(class CRNumber *)
-?CRIntegral@@YGPAVCRNumber@@PAV1@@Z
-; class CRVector2 * __stdcall CRIntegral(class CRVector2 *)
-?CRIntegral@@YGPAVCRVector2@@PAV1@@Z
-; class CRVector3 * __stdcall CRIntegral(class CRVector3 *)
-?CRIntegral@@YGPAVCRVector3@@PAV1@@Z
-; class CRNumber * __stdcall CRInterpolate(double,double,double)
-?CRInterpolate@@YGPAVCRNumber@@NNN@Z
-; class CRNumber * __stdcall CRInterpolate(class CRNumber *,class CRNumber *,class CRNumber *)
-?CRInterpolate@@YGPAVCRNumber@@PAV1@00@Z
-; class CRMatte * __stdcall CRIntersectMatte(class CRMatte *,class CRMatte *)
-?CRIntersectMatte@@YGPAVCRMatte@@PAV1@0@Z
-; class CRTransform2 * __stdcall CRInverse(class CRTransform2 *)
-?CRInverse@@YGPAVCRTransform2@@PAV1@@Z
-; class CRTransform3 * __stdcall CRInverse(class CRTransform3 *)
-?CRInverse@@YGPAVCRTransform3@@PAV1@@Z
-; bool __stdcall CRIsConnected(struct HINSTANCE__ *)
-?CRIsConnected@@YG_NPAUHINSTANCE__@@@Z
-; bool __stdcall CRIsConstantBvr(class CRBvr *)
-?CRIsConstantBvr@@YG_NPAVCRBvr@@@Z
-; bool __stdcall CRIsImport(class CRBvr *)
-?CRIsImport@@YG_NPAVCRBvr@@@Z
-; bool __stdcall CRIsModifiableBvr(class CRBvr *)
-?CRIsModifiableBvr@@YG_NPAVCRBvr@@@Z
-; bool __stdcall CRIsReady(class CRBvr *,bool)
-?CRIsReady@@YG_NPAVCRBvr@@_N@Z
-; class CRBoolean * __stdcall CRIsSingular(class CRTransform2 *)
-?CRIsSingular@@YGPAVCRBoolean@@PAVCRTransform2@@@Z
-; class CRBoolean * __stdcall CRIsSingular(class CRTransform3 *)
-?CRIsSingular@@YGPAVCRBoolean@@PAVCRTransform3@@@Z
-; class CRFontStyle * __stdcall CRItalic(class CRFontStyle *)
-?CRItalic@@YGPAVCRFontStyle@@PAV1@@Z
-; class CRLineStyle * __stdcall CRJoin(class CRLineStyle *,class CRJoinStyle *)
-?CRJoin@@YGPAVCRLineStyle@@PAV1@PAVCRJoinStyle@@@Z
-; class CRLineStyle * __stdcall CRJoinEx(class CRLineStyle *,unsigned long)
-?CRJoinEx@@YGPAVCRLineStyle@@PAV1@K@Z
-; class CRJoinStyle * __stdcall CRJoinStyleBevel(void)
-?CRJoinStyleBevel@@YGPAVCRJoinStyle@@XZ
-; class CRJoinStyle * __stdcall CRJoinStyleMiter(void)
-?CRJoinStyleMiter@@YGPAVCRJoinStyle@@XZ
-; class CRJoinStyle * __stdcall CRJoinStyleRound(void)
-?CRJoinStyleRound@@YGPAVCRJoinStyle@@XZ
-; class CREvent * __stdcall CRKeyDown(long)
-?CRKeyDown@@YGPAVCREvent@@J@Z
-; class CRBoolean * __stdcall CRKeyState(class CRNumber *)
-?CRKeyState@@YGPAVCRBoolean@@PAVCRNumber@@@Z
-; class CREvent * __stdcall CRKeyUp(long)
-?CRKeyUp@@YGPAVCREvent@@J@Z
-; class CRBoolean * __stdcall CRLT(class CRNumber *,class CRNumber *)
-?CRLT@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
-; class CRBoolean * __stdcall CRLTE(class CRNumber *,class CRNumber *)
-?CRLTE@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
-; class CREvent * __stdcall CRLeftButtonDown(void)
-?CRLeftButtonDown@@YGPAVCREvent@@XZ
-; class CRBoolean * __stdcall CRLeftButtonState(void)
-?CRLeftButtonState@@YGPAVCRBoolean@@XZ
-; class CREvent * __stdcall CRLeftButtonUp(void)
-?CRLeftButtonUp@@YGPAVCREvent@@XZ
-; long __stdcall CRLength(class CRTuple *)
-?CRLength@@YGJPAVCRTuple@@@Z
-; class CRNumber * __stdcall CRLength(class CRArray *)
-?CRLength@@YGPAVCRNumber@@PAVCRArray@@@Z
-; class CRNumber * __stdcall CRLength(class CRVector2 *)
-?CRLength@@YGPAVCRNumber@@PAVCRVector2@@@Z
-; class CRNumber * __stdcall CRLength(class CRVector3 *)
-?CRLength@@YGPAVCRNumber@@PAVCRVector3@@@Z
-; class CRNumber * __stdcall CRLengthSquared(class CRVector2 *)
-?CRLengthSquared@@YGPAVCRNumber@@PAVCRVector2@@@Z
-; class CRNumber * __stdcall CRLengthSquared(class CRVector3 *)
-?CRLengthSquared@@YGPAVCRNumber@@PAVCRVector3@@@Z
-; class CRGeometry * __stdcall CRLightAttenuation(class CRGeometry *,double,double,double)
-?CRLightAttenuation@@YGPAVCRGeometry@@PAV1@NNN@Z
-; class CRGeometry * __stdcall CRLightAttenuation(class CRGeometry *,class CRNumber *,class CRNumber *,class CRNumber *)
-?CRLightAttenuation@@YGPAVCRGeometry@@PAV1@PAVCRNumber@@11@Z
-; class CRGeometry * __stdcall CRLightColor(class CRGeometry *,class CRColor *)
-?CRLightColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
-; class CRGeometry * __stdcall CRLightRange(class CRGeometry *,double)
-?CRLightRange@@YGPAVCRGeometry@@PAV1@N@Z
-; class CRGeometry * __stdcall CRLightRange(class CRGeometry *,class CRNumber *)
-?CRLightRange@@YGPAVCRGeometry@@PAV1@PAVCRNumber@@@Z
-; class CRGeometry * __stdcall CRLighting(class CRGeometry *,class CRBoolean *)
-?CRLighting@@YGPAVCRGeometry@@PAV1@PAVCRBoolean@@@Z
-; class CRColor * __stdcall CRLime(void)
-?CRLime@@YGPAVCRColor@@XZ
-; class CRPath2 * __stdcall CRLine(class CRPoint2 *,class CRPoint2 *)
-?CRLine@@YGPAVCRPath2@@PAVCRPoint2@@0@Z
-; class CRLineStyle * __stdcall CRLineColor(class CRLineStyle *,class CRColor *)
-?CRLineColor@@YGPAVCRLineStyle@@PAV1@PAVCRColor@@@Z
-; class CRImage * __stdcall CRLinearGradientMulticolor(class CRArray *,class CRArray *)
-?CRLinearGradientMulticolor@@YGPAVCRImage@@PAVCRArray@@0@Z
-; class CRNumber * __stdcall CRLn(class CRNumber *)
-?CRLn@@YGPAVCRNumber@@PAV1@@Z
-; class CRNumber * __stdcall CRLocalTime(void)
-?CRLocalTime@@YGPAVCRNumber@@XZ
-; class CRNumber * __stdcall CRLog10(class CRNumber *)
-?CRLog10@@YGPAVCRNumber@@PAV1@@Z
-; class CRTransform3 * __stdcall CRLookAtFrom(class CRPoint3 *,class CRPoint3 *,class CRVector3 *)
-?CRLookAtFrom@@YGPAVCRTransform3@@PAVCRPoint3@@0PAVCRVector3@@@Z
-; class CRSound * __stdcall CRLoop(class CRSound *)
-?CRLoop@@YGPAVCRSound@@PAV1@@Z
-; class CRColor * __stdcall CRMagenta(void)
-?CRMagenta@@YGPAVCRColor@@XZ
-; class CRImage * __stdcall CRMapToUnitSquare(class CRImage *)
-?CRMapToUnitSquare@@YGPAVCRImage@@PAV1@@Z
-; class CRColor * __stdcall CRMaroon(void)
-?CRMaroon@@YGPAVCRColor@@XZ
-; class CRPoint2 * __stdcall CRMax(class CRBbox2 *)
-?CRMax@@YGPAVCRPoint2@@PAVCRBbox2@@@Z
-; class CRPoint3 * __stdcall CRMax(class CRBbox3 *)
-?CRMax@@YGPAVCRPoint3@@PAVCRBbox3@@@Z
-; class CRPoint2 * __stdcall CRMin(class CRBbox2 *)
-?CRMin@@YGPAVCRPoint2@@PAVCRBbox2@@@Z
-; class CRPoint3 * __stdcall CRMin(class CRBbox3 *)
-?CRMin@@YGPAVCRPoint3@@PAVCRBbox3@@@Z
-; class CRLineStyle * __stdcall CRMiterLimit(class CRLineStyle *,double)
-?CRMiterLimit@@YGPAVCRLineStyle@@PAV1@N@Z
-; class CRLineStyle * __stdcall CRMiterLimit(class CRLineStyle *,class CRNumber *)
-?CRMiterLimit@@YGPAVCRLineStyle@@PAV1@PAVCRNumber@@@Z
-; class CRSound * __stdcall CRMix(class CRSound *,class CRSound *)
-?CRMix@@YGPAVCRSound@@PAV1@0@Z
-; class CRSound * __stdcall CRMix(class CRArray *)
-?CRMix@@YGPAVCRSound@@PAVCRArray@@@Z
-; class CRNumber * __stdcall CRMod(class CRNumber *,class CRNumber *)
-?CRMod@@YGPAVCRNumber@@PAV1@0@Z
-; class CRGeometry * __stdcall CRModelClip(class CRGeometry *,class CRPoint3 *,class CRVector3 *)
-?CRModelClip@@YGPAVCRGeometry@@PAV1@PAVCRPoint3@@PAVCRVector3@@@Z
-; class CRBvr * __stdcall CRModifiableBvr(class CRBvr *,unsigned long)
-?CRModifiableBvr@@YGPAVCRBvr@@PAV1@K@Z
-; class CRNumber * __stdcall CRModifiableNumber(double)
-?CRModifiableNumber@@YGPAVCRNumber@@N@Z
-; class CRString * __stdcall CRModifiableString(unsigned short *)
-?CRModifiableString@@YGPAVCRString@@PAG@Z
-; class CRPoint2 * __stdcall CRMousePosition(void)
-?CRMousePosition@@YGPAVCRPoint2@@XZ
-; class CRNumber * __stdcall CRMul(class CRNumber *,class CRNumber *)
-?CRMul@@YGPAVCRNumber@@PAV1@0@Z
-; class CRVector2 * __stdcall CRMul(class CRVector2 *,double)
-?CRMul@@YGPAVCRVector2@@PAV1@N@Z
-; class CRVector2 * __stdcall CRMul(class CRVector2 *,class CRNumber *)
-?CRMul@@YGPAVCRVector2@@PAV1@PAVCRNumber@@@Z
-; class CRVector3 * __stdcall CRMul(class CRVector3 *,double)
-?CRMul@@YGPAVCRVector3@@PAV1@N@Z
-; class CRVector3 * __stdcall CRMul(class CRVector3 *,class CRNumber *)
-?CRMul@@YGPAVCRVector3@@PAV1@PAVCRNumber@@@Z
-; class CRBoolean * __stdcall CRNE(class CRNumber *,class CRNumber *)
-?CRNE@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
-; class CRColor * __stdcall CRNavy(void)
-?CRNavy@@YGPAVCRColor@@XZ
-; class CRNumber * __stdcall CRNeg(class CRNumber *)
-?CRNeg@@YGPAVCRNumber@@PAV1@@Z
-; class CRVector2 * __stdcall CRNeg(class CRVector2 *)
-?CRNeg@@YGPAVCRVector2@@PAV1@@Z
-; class CRVector3 * __stdcall CRNeg(class CRVector3 *)
-?CRNeg@@YGPAVCRVector3@@PAV1@@Z
-; class CREvent * __stdcall CRNever(void)
-?CRNever@@YGPAVCREvent@@XZ
-; class CRVector2 * __stdcall CRNormalize(class CRVector2 *)
-?CRNormalize@@YGPAVCRVector2@@PAV1@@Z
-; class CRVector3 * __stdcall CRNormalize(class CRVector3 *)
-?CRNormalize@@YGPAVCRVector3@@PAV1@@Z
-; class CRBoolean * __stdcall CRNot(class CRBoolean *)
-?CRNot@@YGPAVCRBoolean@@PAV1@@Z
-; class CREvent * __stdcall CRNotEvent(class CREvent *)
-?CRNotEvent@@YGPAVCREvent@@PAV1@@Z
-; class CREvent * __stdcall CRNotify(class CREvent *,class CRUntilNotifier *)
-?CRNotify@@YGPAVCREvent@@PAV1@PAVCRUntilNotifier@@@Z
-; class CRBvr * __stdcall CRNth(class CRArray *,class CRNumber *)
-?CRNth@@YGPAVCRBvr@@PAVCRArray@@PAVCRNumber@@@Z
-; class CRBvr * __stdcall CRNth(class CRTuple *,long)
-?CRNth@@YGPAVCRBvr@@PAVCRTuple@@J@Z
-; class CRColor * __stdcall CROlive(void)
-?CROlive@@YGPAVCRColor@@XZ
-; bool __stdcall CROnFocus(class CRView *,bool)
-?CROnFocus@@YG_NPAVCRView@@_N@Z
-; bool __stdcall CROnKey(class CRView *,double,long,bool,unsigned char)
-?CROnKey@@YG_NPAVCRView@@NJ_NE@Z
-; bool __stdcall CROnMouseButton(class CRView *,double,long,long,unsigned char,bool,unsigned char)
-?CROnMouseButton@@YG_NPAVCRView@@NJJE_NE@Z
-; bool __stdcall CROnMouseLeave(class CRView *,double)
-?CROnMouseLeave@@YG_NPAVCRView@@N@Z
-; bool __stdcall CROnMouseMove(class CRView *,double,long,long,unsigned char)
-?CROnMouseMove@@YG_NPAVCRView@@NJJE@Z
-; class CRGeometry * __stdcall CROpacity(class CRGeometry *,double)
-?CROpacity@@YGPAVCRGeometry@@PAV1@N@Z
-; class CRGeometry * __stdcall CROpacity(class CRGeometry *,class CRNumber *)
-?CROpacity@@YGPAVCRGeometry@@PAV1@PAVCRNumber@@@Z
-; class CRImage * __stdcall CROpacity(class CRImage *,double)
-?CROpacity@@YGPAVCRImage@@PAV1@N@Z
-; class CRImage * __stdcall CROpacity(class CRImage *,class CRNumber *)
-?CROpacity@@YGPAVCRImage@@PAV1@PAVCRNumber@@@Z
-; class CRMatte * __stdcall CROpaqueMatte(void)
-?CROpaqueMatte@@YGPAVCRMatte@@XZ
-; class CRBoolean * __stdcall CROr(class CRBoolean *,class CRBoolean *)
-?CROr@@YGPAVCRBoolean@@PAV1@0@Z
-; class CREvent * __stdcall CROrEvent(class CREvent *,class CREvent *)
-?CROrEvent@@YGPAVCREvent@@PAV1@0@Z
-; class CRPoint2 * __stdcall CROrigin2(void)
-?CROrigin2@@YGPAVCRPoint2@@XZ
-; class CRPoint3 * __stdcall CROrigin3(void)
-?CROrigin3@@YGPAVCRPoint3@@XZ
-; class CRPath2 * __stdcall CROval(double,double)
-?CROval@@YGPAVCRPath2@@NN@Z
-; class CRPath2 * __stdcall CROval(class CRNumber *,class CRNumber *)
-?CROval@@YGPAVCRPath2@@PAVCRNumber@@0@Z
-; class CRImage * __stdcall CROverlay(class CRImage *,class CRImage *)
-?CROverlay@@YGPAVCRImage@@PAV1@0@Z
-; class CRImage * __stdcall CROverlay(class CRArray *)
-?CROverlay@@YGPAVCRImage@@PAVCRArray@@@Z
-; class CRSound * __stdcall CRPan(class CRSound *,double)
-?CRPan@@YGPAVCRSound@@PAV1@N@Z
-; class CRSound * __stdcall CRPan(class CRSound *,class CRNumber *)
-?CRPan@@YGPAVCRSound@@PAV1@PAVCRNumber@@@Z
-; class CRCamera * __stdcall CRParallelCamera(double)
-?CRParallelCamera@@YGPAVCRCamera@@N@Z
-; class CRCamera * __stdcall CRParallelCameraAnim(class CRNumber *)
-?CRParallelCameraAnim@@YGPAVCRCamera@@PAVCRNumber@@@Z
-; class CRTransform2 * __stdcall CRParallelTransform2(class CRTransform3 *)
-?CRParallelTransform2@@YGPAVCRTransform2@@PAVCRTransform3@@@Z
-; bool __stdcall CRPauseModel(class CRView *)
-?CRPauseModel@@YG_NPAVCRView@@@Z
-; class CRCamera * __stdcall CRPerspectiveCamera(double,double)
-?CRPerspectiveCamera@@YGPAVCRCamera@@NN@Z
-; class CRCamera * __stdcall CRPerspectiveCameraAnim(class CRNumber *,class CRNumber *)
-?CRPerspectiveCameraAnim@@YGPAVCRCamera@@PAVCRNumber@@0@Z
-; class CRSound * __stdcall CRPhase(class CRSound *,double)
-?CRPhase@@YGPAVCRSound@@PAV1@N@Z
-; class CRSound * __stdcall CRPhase(class CRSound *,class CRNumber *)
-?CRPhase@@YGPAVCRSound@@PAV1@PAVCRNumber@@@Z
-; class CRPickableResult * __stdcall CRPickable(class CRGeometry *)
-?CRPickable@@YGPAVCRPickableResult@@PAVCRGeometry@@@Z
-; class CRPickableResult * __stdcall CRPickable(class CRImage *)
-?CRPickable@@YGPAVCRPickableResult@@PAVCRImage@@@Z
-; class CRPickableResult * __stdcall CRPickableOccluded(class CRGeometry *)
-?CRPickableOccluded@@YGPAVCRPickableResult@@PAVCRGeometry@@@Z
-; class CRPickableResult * __stdcall CRPickableOccluded(class CRImage *)
-?CRPickableOccluded@@YGPAVCRPickableResult@@PAVCRImage@@@Z
-; class CRPath2 * __stdcall CRPie(double,double,double,double)
-?CRPie@@YGPAVCRPath2@@NNNN@Z
-; class CRPath2 * __stdcall CRPieRadians(double,double,double,double)
-?CRPieRadians@@YGPAVCRPath2@@NNNN@Z
-; class CRPath2 * __stdcall CRPieRadians(class CRNumber *,class CRNumber *,class CRNumber *,class CRNumber *)
-?CRPieRadians@@YGPAVCRPath2@@PAVCRNumber@@000@Z
-; class CRNumber * __stdcall CRPixel(void)
-?CRPixel@@YGPAVCRNumber@@XZ
-; class CRPoint2 * __stdcall CRPoint2Polar(double,double)
-?CRPoint2Polar@@YGPAVCRPoint2@@NN@Z
-; class CRPoint2 * __stdcall CRPoint2Polar(class CRNumber *,class CRNumber *)
-?CRPoint2Polar@@YGPAVCRPoint2@@PAVCRNumber@@0@Z
-; class CRPoint3 * __stdcall CRPoint3Spherical(double,double,double)
-?CRPoint3Spherical@@YGPAVCRPoint3@@NNN@Z
-; class CRPoint3 * __stdcall CRPoint3Spherical(class CRNumber *,class CRNumber *,class CRNumber *)
-?CRPoint3Spherical@@YGPAVCRPoint3@@PAVCRNumber@@00@Z
-; class CRGeometry * __stdcall CRPointLight(void)
-?CRPointLight@@YGPAVCRGeometry@@XZ
-; class CRNumber * __stdcall CRPolarCoordAngle(class CRPoint2 *)
-?CRPolarCoordAngle@@YGPAVCRNumber@@PAVCRPoint2@@@Z
-; class CRNumber * __stdcall CRPolarCoordAngle(class CRVector2 *)
-?CRPolarCoordAngle@@YGPAVCRNumber@@PAVCRVector2@@@Z
-; class CRNumber * __stdcall CRPolarCoordLength(class CRPoint2 *)
-?CRPolarCoordLength@@YGPAVCRNumber@@PAVCRPoint2@@@Z
-; class CRNumber * __stdcall CRPolarCoordLength(class CRVector2 *)
-?CRPolarCoordLength@@YGPAVCRNumber@@PAVCRVector2@@@Z
-; class CRPath2 * __stdcall CRPolydrawPath(double *,unsigned int,double *,unsigned int)
-?CRPolydrawPath@@YGPAVCRPath2@@PANI0I@Z
-; class CRPath2 * __stdcall CRPolydrawPath(class CRArray *,class CRArray *)
-?CRPolydrawPath@@YGPAVCRPath2@@PAVCRArray@@0@Z
-; class CRPath2 * __stdcall CRPolyline(class CRArray *)
-?CRPolyline@@YGPAVCRPath2@@PAVCRArray@@@Z
-; class CRNumber * __stdcall CRPow(class CRNumber *,class CRNumber *)
-?CRPow@@YGPAVCRNumber@@PAV1@0@Z
-; class CREvent * __stdcall CRPredicate(class CRBoolean *)
-?CRPredicate@@YGPAVCREvent@@PAVCRBoolean@@@Z
-; class CRPoint2 * __stdcall CRProject(class CRPoint3 *,class CRCamera *)
-?CRProject@@YGPAVCRPoint2@@PAVCRPoint3@@PAVCRCamera@@@Z
-; bool __stdcall CRPropagate(class CRView *)
-?CRPropagate@@YG_NPAVCRView@@@Z
-; class CRColor * __stdcall CRPurple(void)
-?CRPurple@@YGPAVCRColor@@XZ
-; bool __stdcall CRPutPreference(class CRView *,unsigned short *,struct tagVARIANT)
-?CRPutPreference@@YG_NPAVCRView@@PAGUtagVARIANT@@@Z
-; unsigned long __stdcall CRQueryHitPoint(class CRView *,unsigned long,struct tagRECT const *,struct tagPOINT,long)
-?CRQueryHitPoint@@YGKPAVCRView@@KPBUtagRECT@@UtagPOINT@@J@Z
-; long __stdcall CRQueryHitPointEx(class CRView *,long,unsigned long *,double *,struct tagRECT const *,struct tagPOINT)
-?CRQueryHitPointEx@@YGJPAVCRView@@JPAKPANPBUtagRECT@@UtagPOINT@@@Z
-; class CRImage * __stdcall CRRadialGradientMulticolor(class CRArray *,class CRArray *)
-?CRRadialGradientMulticolor@@YGPAVCRImage@@PAVCRArray@@0@Z
-; class CRImage * __stdcall CRRadialGradientPolygon(class CRColor *,class CRColor *,class CRArray *,double)
-?CRRadialGradientPolygon@@YGPAVCRImage@@PAVCRColor@@0PAVCRArray@@N@Z
-; class CRImage * __stdcall CRRadialGradientPolygon(class CRColor *,class CRColor *,class CRArray *,class CRNumber *)
-?CRRadialGradientPolygon@@YGPAVCRImage@@PAVCRColor@@0PAVCRArray@@PAVCRNumber@@@Z
-; class CRImage * __stdcall CRRadialGradientRegularPoly(class CRColor *,class CRColor *,double,double)
-?CRRadialGradientRegularPoly@@YGPAVCRImage@@PAVCRColor@@0NN@Z
-; class CRImage * __stdcall CRRadialGradientRegularPoly(class CRColor *,class CRColor *,class CRNumber *,class CRNumber *)
-?CRRadialGradientRegularPoly@@YGPAVCRImage@@PAVCRColor@@0PAVCRNumber@@1@Z
-; class CRImage * __stdcall CRRadialGradientSquare(class CRColor *,class CRColor *,double)
-?CRRadialGradientSquare@@YGPAVCRImage@@PAVCRColor@@0N@Z
-; class CRImage * __stdcall CRRadialGradientSquare(class CRColor *,class CRColor *,class CRNumber *)
-?CRRadialGradientSquare@@YGPAVCRImage@@PAVCRColor@@0PAVCRNumber@@@Z
-; class CRSound * __stdcall CRRate(class CRSound *,double)
-?CRRate@@YGPAVCRSound@@PAV1@N@Z
-; class CRSound * __stdcall CRRate(class CRSound *,class CRNumber *)
-?CRRate@@YGPAVCRSound@@PAV1@PAVCRNumber@@@Z
-; class CRPath2 * __stdcall CRRay(class CRPoint2 *)
-?CRRay@@YGPAVCRPath2@@PAVCRPoint2@@@Z
-; class CRPath2 * __stdcall CRRect(double,double)
-?CRRect@@YGPAVCRPath2@@NN@Z
-; class CRPath2 * __stdcall CRRect(class CRNumber *,class CRNumber *)
-?CRRect@@YGPAVCRPath2@@PAVCRNumber@@0@Z
-; class CRColor * __stdcall CRRed(void)
-?CRRed@@YGPAVCRColor@@XZ
-; bool __stdcall CRReleaseGC(void *)
-?CRReleaseGC@@YG_NPAX@Z
-; bool __stdcall CRReleaseGCLock(void)
-?CRReleaseGCLock@@YG_NXZ
-; bool __stdcall CRRemoveElement(class CRArray *,long)
-?CRRemoveElement@@YG_NPAVCRArray@@J@Z
-; bool __stdcall CRRemoveRunningBvr(class CRView *,long)
-?CRRemoveRunningBvr@@YG_NPAVCRView@@J@Z
-; bool __stdcall CRRemoveSite(class CRSite *)
-?CRRemoveSite@@YG_NPAVCRSite@@@Z
-; class CRImage * __stdcall CRRender(class CRGeometry *,class CRCamera *)
-?CRRender@@YGPAVCRImage@@PAVCRGeometry@@PAVCRCamera@@@Z
-; class CRImage * __stdcall CRRender(class CRMontage *)
-?CRRender@@YGPAVCRImage@@PAVCRMontage@@@Z
-; bool __stdcall CRRender(class CRView *)
-?CRRender@@YG_NPAVCRView@@@Z
-; class CRImage * __stdcall CRRenderResolution(class CRImage *,long,long)
-?CRRenderResolution@@YGPAVCRImage@@PAV1@JJ@Z
-; class CRSound * __stdcall CRRenderSound(class CRGeometry *,class CRMicrophone *)
-?CRRenderSound@@YGPAVCRSound@@PAVCRGeometry@@PAVCRMicrophone@@@Z
-; bool __stdcall CRRepaint(class CRView *,long,long,long,long)
-?CRRepaint@@YG_NPAVCRView@@JJJJ@Z
-; class CRBvr * __stdcall CRRepeat(class CRBvr *,long)
-?CRRepeat@@YGPAVCRBvr@@PAV1@J@Z
-; class CRBvr * __stdcall CRRepeatForever(class CRBvr *)
-?CRRepeatForever@@YGPAVCRBvr@@PAV1@@Z
-; bool __stdcall CRResumeModel(class CRView *)
-?CRResumeModel@@YG_NPAVCRView@@@Z
-; class CREvent * __stdcall CRRightButtonDown(void)
-?CRRightButtonDown@@YGPAVCREvent@@XZ
-; class CRBoolean * __stdcall CRRightButtonState(void)
-?CRRightButtonState@@YGPAVCRBoolean@@XZ
-; class CREvent * __stdcall CRRightButtonUp(void)
-?CRRightButtonUp@@YGPAVCREvent@@XZ
-; class CRTransform2 * __stdcall CRRotate2(double)
-?CRRotate2@@YGPAVCRTransform2@@N@Z
-; class CRTransform2 * __stdcall CRRotate2(class CRNumber *)
-?CRRotate2@@YGPAVCRTransform2@@PAVCRNumber@@@Z
-; class CRTransform2 * __stdcall CRRotate2Degrees(double)
-?CRRotate2Degrees@@YGPAVCRTransform2@@N@Z
-; class CRTransform3 * __stdcall CRRotate3(class CRVector3 *,double)
-?CRRotate3@@YGPAVCRTransform3@@PAVCRVector3@@N@Z
-; class CRTransform3 * __stdcall CRRotate3(class CRVector3 *,class CRNumber *)
-?CRRotate3@@YGPAVCRTransform3@@PAVCRVector3@@PAVCRNumber@@@Z
-; class CRNumber * __stdcall CRRound(class CRNumber *)
-?CRRound@@YGPAVCRNumber@@PAV1@@Z
-; class CRPath2 * __stdcall CRRoundRect(double,double,double,double)
-?CRRoundRect@@YGPAVCRPath2@@NNNN@Z
-; class CRPath2 * __stdcall CRRoundRect(class CRNumber *,class CRNumber *,class CRNumber *,class CRNumber *)
-?CRRoundRect@@YGPAVCRPath2@@PAVCRNumber@@000@Z
-; class CRBvr * __stdcall CRRunOnce(class CRBvr *)
-?CRRunOnce@@YGPAVCRBvr@@PAV1@@Z
-; class CRBvr * __stdcall CRSampleAtLocalTime(class CRBvr *,double)
-?CRSampleAtLocalTime@@YGPAVCRBvr@@PAV1@N@Z
-; class CRTransform2 * __stdcall CRScale2(double,double)
-?CRScale2@@YGPAVCRTransform2@@NN@Z
-; class CRTransform2 * __stdcall CRScale2(class CRNumber *,class CRNumber *)
-?CRScale2@@YGPAVCRTransform2@@PAVCRNumber@@0@Z
-; class CRTransform2 * __stdcall CRScale2(class CRVector2 *)
-?CRScale2@@YGPAVCRTransform2@@PAVCRVector2@@@Z
-; class CRTransform2 * __stdcall CRScale2Uniform(double)
-?CRScale2Uniform@@YGPAVCRTransform2@@N@Z
-; class CRTransform2 * __stdcall CRScale2Uniform(class CRNumber *)
-?CRScale2Uniform@@YGPAVCRTransform2@@PAVCRNumber@@@Z
-; class CRTransform3 * __stdcall CRScale3(double,double,double)
-?CRScale3@@YGPAVCRTransform3@@NNN@Z
-; class CRTransform3 * __stdcall CRScale3(class CRNumber *,class CRNumber *,class CRNumber *)
-?CRScale3@@YGPAVCRTransform3@@PAVCRNumber@@00@Z
-; class CRTransform3 * __stdcall CRScale3(class CRVector3 *)
-?CRScale3@@YGPAVCRTransform3@@PAVCRVector3@@@Z
-; class CRTransform3 * __stdcall CRScale3Uniform(double)
-?CRScale3Uniform@@YGPAVCRTransform3@@N@Z
-; class CRTransform3 * __stdcall CRScale3Uniform(class CRNumber *)
-?CRScale3Uniform@@YGPAVCRTransform3@@PAVCRNumber@@@Z
-; class CRBvr * __stdcall CRSecond(class CRPair *)
-?CRSecond@@YGPAVCRBvr@@PAVCRPair@@@Z
-; class CRNumber * __stdcall CRSeededRandom(double)
-?CRSeededRandom@@YGPAVCRNumber@@N@Z
-; class CRBvr * __stdcall CRSequence(class CRBvr *,class CRBvr *)
-?CRSequence@@YGPAVCRBvr@@PAV1@0@Z
-; class CRBvr * __stdcall CRSequenceArray(long,class CRBvr * * const)
-?CRSequenceArray@@YGPAVCRBvr@@JQAPAV1@@Z
-; bool __stdcall CRSetBvrAsProperty(class CRDXTransformResult *,unsigned short const *,class CRBvr *)
-?CRSetBvrAsProperty@@YG_NPAVCRDXTransformResult@@PBGPAVCRBvr@@@Z
-; bool __stdcall CRSetClipRect(class CRView *,long,long,long,long)
-?CRSetClipRect@@YG_NPAVCRView@@JJJJ@Z
-; bool __stdcall CRSetCompositeDirectlyToTarget(class CRView *,bool)
-?CRSetCompositeDirectlyToTarget@@YG_NPAVCRView@@_N@Z
-; bool __stdcall CRSetDC(class CRView *,struct HDC__ *)
-?CRSetDC@@YG_NPAVCRView@@PAUHDC__@@@Z
-; bool __stdcall CRSetDirectDrawSurface(class CRView *,struct IUnknown *)
-?CRSetDirectDrawSurface@@YG_NPAVCRView@@PAUIUnknown@@@Z
-; bool __stdcall CRSetElement(class CRArray *,long,class CRBvr *,long)
-?CRSetElement@@YG_NPAVCRArray@@JPAVCRBvr@@J@Z
-; bool __stdcall CRSetImportPriority(class CRBvr *,float)
-?CRSetImportPriority@@YG_NPAVCRBvr@@M@Z
-; void __stdcall CRSetLastError(long,unsigned short const *)
-?CRSetLastError@@YGXJPBG@Z
-; bool __stdcall CRSetServiceProvider(class CRView *,struct IServiceProvider *)
-?CRSetServiceProvider@@YG_NPAVCRView@@PAUIServiceProvider@@@Z
-; bool __stdcall CRSetSite(class CRView *,class CRViewSite *)
-?CRSetSite@@YG_NPAVCRView@@PAVCRViewSite@@@Z
-; bool __stdcall CRSetViewport(class CRView *,long,long,long,long)
-?CRSetViewport@@YG_NPAVCRView@@JJJJ@Z
-; bool __stdcall CRSetWindow(class CRView *,struct HWND__ *)
-?CRSetWindow@@YG_NPAVCRView@@PAUHWND__@@@Z
-; class CRGeometry * __stdcall CRShadow(class CRGeometry *,class CRGeometry *,class CRPoint3 *,class CRVector3 *)
-?CRShadow@@YGPAVCRGeometry@@PAV1@0PAVCRPoint3@@PAVCRVector3@@@Z
-; class CRSound * __stdcall CRSilence(void)
-?CRSilence@@YGPAVCRSound@@XZ
-; class CRColor * __stdcall CRSilver(void)
-?CRSilver@@YGPAVCRColor@@XZ
-; class CRNumber * __stdcall CRSin(class CRNumber *)
-?CRSin@@YGPAVCRNumber@@PAV1@@Z
-; class CRSound * __stdcall CRSinSynth(void)
-?CRSinSynth@@YGPAVCRSound@@XZ
-; class CRFontStyle * __stdcall CRSize(class CRFontStyle *,double)
-?CRSize@@YGPAVCRFontStyle@@PAV1@N@Z
-; class CRFontStyle * __stdcall CRSize(class CRFontStyle *,class CRNumber *)
-?CRSize@@YGPAVCRFontStyle@@PAV1@PAVCRNumber@@@Z
-; class CRNumber * __stdcall CRSlowInSlowOut(double,double,double,double)
-?CRSlowInSlowOut@@YGPAVCRNumber@@NNNN@Z
-; class CRNumber * __stdcall CRSlowInSlowOut(class CRNumber *,class CRNumber *,class CRNumber *,class CRNumber *)
-?CRSlowInSlowOut@@YGPAVCRNumber@@PAV1@000@Z
-; class CREvent * __stdcall CRSnapshot(class CREvent *,class CRBvr *)
-?CRSnapshot@@YGPAVCREvent@@PAV1@PAVCRBvr@@@Z
-; class CRImage * __stdcall CRSolidColorImage(class CRColor *)
-?CRSolidColorImage@@YGPAVCRImage@@PAVCRColor@@@Z
-; class CRGeometry * __stdcall CRSoundSource(class CRSound *)
-?CRSoundSource@@YGPAVCRGeometry@@PAVCRSound@@@Z
-; class CRGeometry * __stdcall CRSpecularColor(class CRGeometry *,class CRColor *)
-?CRSpecularColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
-; class CRGeometry * __stdcall CRSpecularExponent(class CRGeometry *,double)
-?CRSpecularExponent@@YGPAVCRGeometry@@PAV1@N@Z
-; class CRGeometry * __stdcall CRSpecularExponentAnim(class CRGeometry *,class CRNumber *)
-?CRSpecularExponentAnim@@YGPAVCRGeometry@@PAV1@PAVCRNumber@@@Z
-; class CRNumber * __stdcall CRSphericalCoordLength(class CRPoint3 *)
-?CRSphericalCoordLength@@YGPAVCRNumber@@PAVCRPoint3@@@Z
-; class CRNumber * __stdcall CRSphericalCoordLength(class CRVector3 *)
-?CRSphericalCoordLength@@YGPAVCRNumber@@PAVCRVector3@@@Z
-; class CRNumber * __stdcall CRSphericalCoordXYAngle(class CRPoint3 *)
-?CRSphericalCoordXYAngle@@YGPAVCRNumber@@PAVCRPoint3@@@Z
-; class CRNumber * __stdcall CRSphericalCoordXYAngle(class CRVector3 *)
-?CRSphericalCoordXYAngle@@YGPAVCRNumber@@PAVCRVector3@@@Z
-; class CRNumber * __stdcall CRSphericalCoordYZAngle(class CRPoint3 *)
-?CRSphericalCoordYZAngle@@YGPAVCRNumber@@PAVCRPoint3@@@Z
-; class CRNumber * __stdcall CRSphericalCoordYZAngle(class CRVector3 *)
-?CRSphericalCoordYZAngle@@YGPAVCRNumber@@PAVCRVector3@@@Z
-; class CRGeometry * __stdcall CRSpotLight(class CRNumber *,class CRNumber *)
-?CRSpotLight@@YGPAVCRGeometry@@PAVCRNumber@@0@Z
-; class CRGeometry * __stdcall CRSpotLight(class CRNumber *,double)
-?CRSpotLight@@YGPAVCRGeometry@@PAVCRNumber@@N@Z
-; class CRNumber * __stdcall CRSqrt(class CRNumber *)
-?CRSqrt@@YGPAVCRNumber@@PAV1@@Z
-; bool __stdcall CRStartModel(class CRView *,class CRImage *,class CRSound *,double,unsigned long,bool *)
-?CRStartModel@@YG_NPAVCRView@@PAVCRImage@@PAVCRSound@@NKPA_N@Z
-; bool __stdcall CRStopModel(class CRView *)
-?CRStopModel@@YG_NPAVCRView@@@Z
-; class CRFontStyle * __stdcall CRStrikethrough(class CRFontStyle *)
-?CRStrikethrough@@YGPAVCRFontStyle@@PAV1@@Z
-; class CRImage * __stdcall CRStringImage(unsigned short *,class CRFontStyle *)
-?CRStringImage@@YGPAVCRImage@@PAGPAVCRFontStyle@@@Z
-; class CRImage * __stdcall CRStringImage(class CRString *,class CRFontStyle *)
-?CRStringImage@@YGPAVCRImage@@PAVCRString@@PAVCRFontStyle@@@Z
-; class CRPath2 * __stdcall CRStringPath(unsigned short *,class CRFontStyle *)
-?CRStringPath@@YGPAVCRPath2@@PAGPAVCRFontStyle@@@Z
-; class CRPath2 * __stdcall CRStringPath(class CRString *,class CRFontStyle *)
-?CRStringPath@@YGPAVCRPath2@@PAVCRString@@PAVCRFontStyle@@@Z
-; class CRNumber * __stdcall CRSub(class CRNumber *,class CRNumber *)
-?CRSub@@YGPAVCRNumber@@PAV1@0@Z
-; class CRPoint2 * __stdcall CRSub(class CRPoint2 *,class CRVector2 *)
-?CRSub@@YGPAVCRPoint2@@PAV1@PAVCRVector2@@@Z
-; class CRPoint3 * __stdcall CRSub(class CRPoint3 *,class CRVector3 *)
-?CRSub@@YGPAVCRPoint3@@PAV1@PAVCRVector3@@@Z
-; class CRVector2 * __stdcall CRSub(class CRVector2 *,class CRVector2 *)
-?CRSub@@YGPAVCRVector2@@PAV1@0@Z
-; class CRVector2 * __stdcall CRSub(class CRPoint2 *,class CRPoint2 *)
-?CRSub@@YGPAVCRVector2@@PAVCRPoint2@@0@Z
-; class CRVector3 * __stdcall CRSub(class CRVector3 *,class CRVector3 *)
-?CRSub@@YGPAVCRVector3@@PAV1@0@Z
-; class CRVector3 * __stdcall CRSub(class CRPoint3 *,class CRPoint3 *)
-?CRSub@@YGPAVCRVector3@@PAVCRPoint3@@0@Z
-; class CRBvr * __stdcall CRSubstituteTime(class CRBvr *,class CRNumber *)
-?CRSubstituteTime@@YGPAVCRBvr@@PAV1@PAVCRNumber@@@Z
-; bool __stdcall CRSwitchTo(class CRBvr *,class CRBvr *,bool,unsigned long,double)
-?CRSwitchTo@@YG_NPAVCRBvr@@0_NKN@Z
-; bool __stdcall CRSwitchToBool(class CRBoolean *,bool)
-?CRSwitchToBool@@YG_NPAVCRBoolean@@_N@Z
-; bool __stdcall CRSwitchToNumber(class CRNumber *,double)
-?CRSwitchToNumber@@YG_NPAVCRNumber@@N@Z
-; bool __stdcall CRSwitchToString(class CRString *,unsigned short *)
-?CRSwitchToString@@YG_NPAVCRString@@PAG@Z
-; class CRNumber * __stdcall CRTan(class CRNumber *)
-?CRTan@@YGPAVCRNumber@@PAV1@@Z
-; class CRColor * __stdcall CRTeal(void)
-?CRTeal@@YGPAVCRColor@@XZ
-; class CRFontStyle * __stdcall CRTextColor(class CRFontStyle *,class CRColor *)
-?CRTextColor@@YGPAVCRFontStyle@@PAV1@PAVCRColor@@@Z
-; class CRImage * __stdcall CRTextImage(unsigned short *,class CRFontStyle *)
-?CRTextImage@@YGPAVCRImage@@PAGPAVCRFontStyle@@@Z
-; class CRImage * __stdcall CRTextImage(class CRString *,class CRFontStyle *)
-?CRTextImage@@YGPAVCRImage@@PAVCRString@@PAVCRFontStyle@@@Z
-; class CRMatte * __stdcall CRTextMatte(class CRString *,class CRFontStyle *)
-?CRTextMatte@@YGPAVCRMatte@@PAVCRString@@PAVCRFontStyle@@@Z
-; class CRPath2 * __stdcall CRTextPath(class CRString *,class CRFontStyle *)
-?CRTextPath@@YGPAVCRPath2@@PAVCRString@@PAVCRFontStyle@@@Z
-; class CRGeometry * __stdcall CRTexture(class CRGeometry *,class CRImage *)
-?CRTexture@@YGPAVCRGeometry@@PAV1@PAVCRImage@@@Z
-; class CRGeometry * __stdcall CRTextureImage(class CRGeometry *,class CRImage *)
-?CRTextureImage@@YGPAVCRGeometry@@PAV1@PAVCRImage@@@Z
-; class CREvent * __stdcall CRThenEvent(class CREvent *,class CREvent *)
-?CRThenEvent@@YGPAVCREvent@@PAV1@0@Z
-; bool __stdcall CRTick(class CRView *,double,bool *)
-?CRTick@@YG_NPAVCRView@@NPA_N@Z
-; class CRImage * __stdcall CRTile(class CRImage *)
-?CRTile@@YGPAVCRImage@@PAV1@@Z
-; class CREvent * __stdcall CRTimer(double)
-?CRTimer@@YGPAVCREvent@@N@Z
-; class CREvent * __stdcall CRTimer(class CRNumber *)
-?CRTimer@@YGPAVCREvent@@PAVCRNumber@@@Z
-; class CRNumber * __stdcall CRToDegrees(class CRNumber *)
-?CRToDegrees@@YGPAVCRNumber@@PAV1@@Z
-; class CRNumber * __stdcall CRToRadians(class CRNumber *)
-?CRToRadians@@YGPAVCRNumber@@PAV1@@Z
-; class CRString * __stdcall CRToString(class CRNumber *,class CRNumber *)
-?CRToString@@YGPAVCRString@@PAVCRNumber@@0@Z
-; class CRString * __stdcall CRToString(class CRNumber *,double)
-?CRToString@@YGPAVCRString@@PAVCRNumber@@N@Z
-; class CRTransform2 * __stdcall CRTransform3x2(double *,unsigned int)
-?CRTransform3x2@@YGPAVCRTransform2@@PANI@Z
-; class CRTransform2 * __stdcall CRTransform3x2(class CRArray *)
-?CRTransform3x2@@YGPAVCRTransform2@@PAVCRArray@@@Z
-; class CRTransform3 * __stdcall CRTransform4x4(class CRArray *)
-?CRTransform4x4@@YGPAVCRTransform3@@PAVCRArray@@@Z
-; class CRCamera * __stdcall CRTransform(class CRCamera *,class CRTransform3 *)
-?CRTransform@@YGPAVCRCamera@@PAV1@PAVCRTransform3@@@Z
-; class CRGeometry * __stdcall CRTransform(class CRGeometry *,class CRTransform3 *)
-?CRTransform@@YGPAVCRGeometry@@PAV1@PAVCRTransform3@@@Z
-; class CRImage * __stdcall CRTransform(class CRImage *,class CRTransform2 *)
-?CRTransform@@YGPAVCRImage@@PAV1@PAVCRTransform2@@@Z
-; class CRMatte * __stdcall CRTransform(class CRMatte *,class CRTransform2 *)
-?CRTransform@@YGPAVCRMatte@@PAV1@PAVCRTransform2@@@Z
-; class CRMicrophone * __stdcall CRTransform(class CRMicrophone *,class CRTransform3 *)
-?CRTransform@@YGPAVCRMicrophone@@PAV1@PAVCRTransform3@@@Z
-; class CRPath2 * __stdcall CRTransform(class CRPath2 *,class CRTransform2 *)
-?CRTransform@@YGPAVCRPath2@@PAV1@PAVCRTransform2@@@Z
-; class CRPoint2 * __stdcall CRTransform(class CRPoint2 *,class CRTransform2 *)
-?CRTransform@@YGPAVCRPoint2@@PAV1@PAVCRTransform2@@@Z
-; class CRPoint3 * __stdcall CRTransform(class CRPoint3 *,class CRTransform3 *)
-?CRTransform@@YGPAVCRPoint3@@PAV1@PAVCRTransform3@@@Z
-; class CRVector2 * __stdcall CRTransform(class CRVector2 *,class CRTransform2 *)
-?CRTransform@@YGPAVCRVector2@@PAV1@PAVCRTransform2@@@Z
-; class CRVector3 * __stdcall CRTransform(class CRVector3 *,class CRTransform3 *)
-?CRTransform@@YGPAVCRVector3@@PAV1@PAVCRTransform3@@@Z
-; class CRFontStyle * __stdcall CRTransformCharacters(class CRFontStyle *,class CRTransform2 *)
-?CRTransformCharacters@@YGPAVCRFontStyle@@PAV1@PAVCRTransform2@@@Z
-; class CRImage * __stdcall CRTransformColorRGB(class CRImage *,class CRTransform3 *)
-?CRTransformColorRGB@@YGPAVCRImage@@PAV1@PAVCRTransform3@@@Z
-; class CRTransform2 * __stdcall CRTranslate2(double,double)
-?CRTranslate2@@YGPAVCRTransform2@@NN@Z
-; class CRTransform2 * __stdcall CRTranslate2(class CRNumber *,class CRNumber *)
-?CRTranslate2@@YGPAVCRTransform2@@PAVCRNumber@@0@Z
-; class CRTransform2 * __stdcall CRTranslate2(class CRPoint2 *)
-?CRTranslate2@@YGPAVCRTransform2@@PAVCRPoint2@@@Z
-; class CRTransform2 * __stdcall CRTranslate2(class CRVector2 *)
-?CRTranslate2@@YGPAVCRTransform2@@PAVCRVector2@@@Z
-; class CRTransform3 * __stdcall CRTranslate3(double,double,double)
-?CRTranslate3@@YGPAVCRTransform3@@NNN@Z
-; class CRTransform3 * __stdcall CRTranslate3(class CRNumber *,class CRNumber *,class CRNumber *)
-?CRTranslate3@@YGPAVCRTransform3@@PAVCRNumber@@00@Z
-; class CRTransform3 * __stdcall CRTranslate3(class CRPoint3 *)
-?CRTranslate3@@YGPAVCRTransform3@@PAVCRPoint3@@@Z
-; class CRTransform3 * __stdcall CRTranslate3(class CRVector3 *)
-?CRTranslate3@@YGPAVCRTransform3@@PAVCRVector3@@@Z
-; class CRGeometry * __stdcall CRTriMesh(class TriMeshData &)
-?CRTriMesh@@YGPAVCRGeometry@@AAVTriMeshData@@@Z
-; bool __stdcall CRTriggerEvent(class CREvent *,class CRBvr *)
-?CRTriggerEvent@@YG_NPAVCREvent@@PAVCRBvr@@@Z
-; class CRBoolean * __stdcall CRTrue(void)
-?CRTrue@@YGPAVCRBoolean@@XZ
-; class CRFontStyle * __stdcall CRUnderline(class CRFontStyle *)
-?CRUnderline@@YGPAVCRFontStyle@@PAV1@@Z
-; class CRGeometry * __stdcall CRUndetectable(class CRGeometry *)
-?CRUndetectable@@YGPAVCRGeometry@@PAV1@@Z
-; class CRImage * __stdcall CRUndetectable(class CRImage *)
-?CRUndetectable@@YGPAVCRImage@@PAV1@@Z
-; class CRArray * __stdcall CRUninitializedArray(class CRArray *)
-?CRUninitializedArray@@YGPAVCRArray@@PAV1@@Z
-; class CRBvr * __stdcall CRUninitializedBvr(enum CR_BVR_TYPEID)
-?CRUninitializedBvr@@YGPAVCRBvr@@W4CR_BVR_TYPEID@@@Z
-; class CRTuple * __stdcall CRUninitializedTuple(class CRTuple *)
-?CRUninitializedTuple@@YGPAVCRTuple@@PAV1@@Z
-; class CRGeometry * __stdcall CRUnionGeometry(class CRGeometry *,class CRGeometry *)
-?CRUnionGeometry@@YGPAVCRGeometry@@PAV1@0@Z
-; class CRGeometry * __stdcall CRUnionGeometry(class CRArray *)
-?CRUnionGeometry@@YGPAVCRGeometry@@PAVCRArray@@@Z
-; class CRMatte * __stdcall CRUnionMatte(class CRMatte *,class CRMatte *)
-?CRUnionMatte@@YGPAVCRMatte@@PAV1@0@Z
-; class CRMontage * __stdcall CRUnionMontage(class CRMontage *,class CRMontage *)
-?CRUnionMontage@@YGPAVCRMontage@@PAV1@0@Z
-; class CRMontage * __stdcall CRUnionMontageArray(class CRArray *)
-?CRUnionMontageArray@@YGPAVCRMontage@@PAVCRArray@@@Z
-; class CRBvr * __stdcall CRUntil(class CRBvr *,class CREvent *,class CRBvr *)
-?CRUntil@@YGPAVCRBvr@@PAV1@PAVCREvent@@0@Z
-; class CRBvr * __stdcall CRUntilEx(class CRBvr *,class CREvent *)
-?CRUntilEx@@YGPAVCRBvr@@PAV1@PAVCREvent@@@Z
-; class CRBvr * __stdcall CRUntilNotify(class CRBvr *,class CREvent *,class CRUntilNotifier *)
-?CRUntilNotify@@YGPAVCRBvr@@PAV1@PAVCREvent@@PAVCRUntilNotifier@@@Z
-; class CRVector2 * __stdcall CRVector2Polar(double,double)
-?CRVector2Polar@@YGPAVCRVector2@@NN@Z
-; class CRVector2 * __stdcall CRVector2Polar(class CRNumber *,class CRNumber *)
-?CRVector2Polar@@YGPAVCRVector2@@PAVCRNumber@@0@Z
-; class CRVector3 * __stdcall CRVector3Spherical(double,double,double)
-?CRVector3Spherical@@YGPAVCRVector3@@NNN@Z
-; class CRVector3 * __stdcall CRVector3Spherical(class CRNumber *,class CRNumber *,class CRNumber *)
-?CRVector3Spherical@@YGPAVCRVector3@@PAVCRNumber@@00@Z
-; unsigned short const * __stdcall CRVersionString(void)
-?CRVersionString@@YGPBGXZ
-; class CRNumber * __stdcall CRViewFrameRate(void)
-?CRViewFrameRate@@YGPAVCRNumber@@XZ
-; class CRNumber * __stdcall CRViewTimeDelta(void)
-?CRViewTimeDelta@@YGPAVCRNumber@@XZ
-; class CRFontStyle * __stdcall CRWeight(class CRFontStyle *,double)
-?CRWeight@@YGPAVCRFontStyle@@PAV1@N@Z
-; class CRFontStyle * __stdcall CRWeight(class CRFontStyle *,class CRNumber *)
-?CRWeight@@YGPAVCRFontStyle@@PAV1@PAVCRNumber@@@Z
-; class CRColor * __stdcall CRWhite(void)
-?CRWhite@@YGPAVCRColor@@XZ
-; class CRLineStyle * __stdcall CRWidth(class CRLineStyle *,double)
-?CRWidth@@YGPAVCRLineStyle@@PAV1@N@Z
-; class CRLineStyle * __stdcall CRWidth(class CRLineStyle *,class CRNumber *)
-?CRWidth@@YGPAVCRLineStyle@@PAV1@PAVCRNumber@@@Z
-; class CRTransform2 * __stdcall CRXShear2(double)
-?CRXShear2@@YGPAVCRTransform2@@N@Z
-; class CRTransform2 * __stdcall CRXShear2(class CRNumber *)
-?CRXShear2@@YGPAVCRTransform2@@PAVCRNumber@@@Z
-; class CRTransform3 * __stdcall CRXShear3(double,double)
-?CRXShear3@@YGPAVCRTransform3@@NN@Z
-; class CRTransform3 * __stdcall CRXShear3(class CRNumber *,class CRNumber *)
-?CRXShear3@@YGPAVCRTransform3@@PAVCRNumber@@0@Z
-; class CRVector2 * __stdcall CRXVector2(void)
-?CRXVector2@@YGPAVCRVector2@@XZ
-; class CRVector3 * __stdcall CRXVector3(void)
-?CRXVector3@@YGPAVCRVector3@@XZ
-; class CRTransform2 * __stdcall CRYShear2(double)
-?CRYShear2@@YGPAVCRTransform2@@N@Z
-; class CRTransform2 * __stdcall CRYShear2(class CRNumber *)
-?CRYShear2@@YGPAVCRTransform2@@PAVCRNumber@@@Z
-; class CRTransform3 * __stdcall CRYShear3(double,double)
-?CRYShear3@@YGPAVCRTransform3@@NN@Z
-; class CRTransform3 * __stdcall CRYShear3(class CRNumber *,class CRNumber *)
-?CRYShear3@@YGPAVCRTransform3@@PAVCRNumber@@0@Z
-; class CRVector2 * __stdcall CRYVector2(void)
-?CRYVector2@@YGPAVCRVector2@@XZ
-; class CRVector3 * __stdcall CRYVector3(void)
-?CRYVector3@@YGPAVCRVector3@@XZ
-; class CRColor * __stdcall CRYellow(void)
-?CRYellow@@YGPAVCRColor@@XZ
-; class CRTransform3 * __stdcall CRZShear3(double,double)
-?CRZShear3@@YGPAVCRTransform3@@NN@Z
-; class CRTransform3 * __stdcall CRZShear3(class CRNumber *,class CRNumber *)
-?CRZShear3@@YGPAVCRTransform3@@PAVCRNumber@@0@Z
-; class CRVector3 * __stdcall CRZVector3(void)
-?CRZVector3@@YGPAVCRVector3@@XZ
-; class CRVector2 * __stdcall CRZeroVector2(void)
-?CRZeroVector2@@YGPAVCRVector2@@XZ
-; class CRVector3 * __stdcall CRZeroVector3(void)
-?CRZeroVector3@@YGPAVCRVector3@@XZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DANIM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DANIM.dll
+EXPORTS
+; class CRBvr * __stdcall COMToCRBvr(struct IUnknown *)
+?COMToCRBvr@@YGPAVCRBvr@@PAUIUnknown@@@Z
+; class CRNumber * __stdcall CRAbs(class CRNumber *)
+?CRAbs@@YGPAVCRNumber@@PAV1@@Z
+; class CRNumber * __stdcall CRAcos(class CRNumber *)
+?CRAcos@@YGPAVCRNumber@@PAV1@@Z
+; bool __stdcall CRAcquireGCLock(void)
+?CRAcquireGCLock@@YG_NXZ
+; class CRNumber * __stdcall CRAdd(class CRNumber *,class CRNumber *)
+?CRAdd@@YGPAVCRNumber@@PAV1@0@Z
+; class CRPoint2 * __stdcall CRAdd(class CRPoint2 *,class CRVector2 *)
+?CRAdd@@YGPAVCRPoint2@@PAV1@PAVCRVector2@@@Z
+; class CRPoint3 * __stdcall CRAdd(class CRPoint3 *,class CRVector3 *)
+?CRAdd@@YGPAVCRPoint3@@PAV1@PAVCRVector3@@@Z
+; class CRVector2 * __stdcall CRAdd(class CRVector2 *,class CRVector2 *)
+?CRAdd@@YGPAVCRVector2@@PAV1@0@Z
+; class CRVector3 * __stdcall CRAdd(class CRVector3 *,class CRVector3 *)
+?CRAdd@@YGPAVCRVector3@@PAV1@0@Z
+; bool __stdcall CRAddBvrToRun(class CRView *,class CRBvr *,bool,long *)
+?CRAddBvrToRun@@YG_NPAVCRView@@PAVCRBvr@@_NPAJ@Z
+; long __stdcall CRAddElement(class CRArray *,class CRBvr *,unsigned long)
+?CRAddElement@@YGJPAVCRArray@@PAVCRBvr@@K@Z
+; class CRGeometry * __stdcall CRAddPickData(class CRGeometry *,struct IUnknown *,bool)
+?CRAddPickData@@YGPAVCRGeometry@@PAV1@PAUIUnknown@@_N@Z
+; class CRImage * __stdcall CRAddPickData(class CRImage *,struct IUnknown *,bool)
+?CRAddPickData@@YGPAVCRImage@@PAV1@PAUIUnknown@@_N@Z
+; bool __stdcall CRAddRefGC(void *)
+?CRAddRefGC@@YG_NPAX@Z
+; bool __stdcall CRAddSite(class CRSite *)
+?CRAddSite@@YG_NPAVCRSite@@@Z
+; class CREvent * __stdcall CRAlways(void)
+?CRAlways@@YGPAVCREvent@@XZ
+; class CRGeometry * __stdcall CRAmbientColor(class CRGeometry *,class CRColor *)
+?CRAmbientColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
+; class CRGeometry * __stdcall CRAmbientLight(void)
+?CRAmbientLight@@YGPAVCRGeometry@@XZ
+; class CRBoolean * __stdcall CRAnd(class CRBoolean *,class CRBoolean *)
+?CRAnd@@YGPAVCRBoolean@@PAV1@0@Z
+; class CREvent * __stdcall CRAndEvent(class CREvent *,class CREvent *)
+?CRAndEvent@@YGPAVCREvent@@PAV1@0@Z
+; class CRFontStyle * __stdcall CRAntiAliasing(class CRFontStyle *,double)
+?CRAntiAliasing@@YGPAVCRFontStyle@@PAV1@N@Z
+; class CRLineStyle * __stdcall CRAntiAliasing(class CRLineStyle *,double)
+?CRAntiAliasing@@YGPAVCRLineStyle@@PAV1@N@Z
+; class CREvent * __stdcall CRAppTriggeredEvent(void)
+?CRAppTriggeredEvent@@YGPAVCREvent@@XZ
+; class CRDXTransformResult * __stdcall CRApplyDXTransform(struct IUnknown *,long,class CRBvr * *,class CRBvr *)
+?CRApplyDXTransform@@YGPAVCRDXTransformResult@@PAUIUnknown@@JPAPAVCRBvr@@PAV3@@Z
+; class CRColor * __stdcall CRAqua(void)
+?CRAqua@@YGPAVCRColor@@XZ
+; class CRPath2 * __stdcall CRArc(double,double,double,double)
+?CRArc@@YGPAVCRPath2@@NNNN@Z
+; class CRPath2 * __stdcall CRArcRadians(double,double,double,double)
+?CRArcRadians@@YGPAVCRPath2@@NNNN@Z
+; class CRPath2 * __stdcall CRArcRadians(class CRNumber *,class CRNumber *,class CRNumber *,class CRNumber *)
+?CRArcRadians@@YGPAVCRPath2@@PAVCRNumber@@000@Z
+; class CRNumber * __stdcall CRAsin(class CRNumber *)
+?CRAsin@@YGPAVCRNumber@@PAV1@@Z
+; class CRNumber * __stdcall CRAtan2(class CRNumber *,class CRNumber *)
+?CRAtan2@@YGPAVCRNumber@@PAV1@0@Z
+; class CRNumber * __stdcall CRAtan(class CRNumber *)
+?CRAtan@@YGPAVCRNumber@@PAV1@@Z
+; class CREvent * __stdcall CRAttachData(class CREvent *,class CRBvr *)
+?CRAttachData@@YGPAVCREvent@@PAV1@PAVCRBvr@@@Z
+; class CRBvr * __stdcall CRBSpline(int,long,class CRNumber * * const,long,class CRBvr * * const,long,class CRNumber * * const,class CRNumber *,enum CR_BVR_TYPEID)
+?CRBSpline@@YGPAVCRBvr@@HJQAPAVCRNumber@@JQAPAV1@J0PAV2@W4CR_BVR_TYPEID@@@Z
+; class CRGeometry * __stdcall CRBillboard(class CRGeometry *,class CRVector3 *)
+?CRBillboard@@YGPAVCRGeometry@@PAV1@PAVCRVector3@@@Z
+; class CRColor * __stdcall CRBlack(void)
+?CRBlack@@YGPAVCRColor@@XZ
+; class CRGeometry * __stdcall CRBlendTextureDiffuse(class CRGeometry *,class CRBoolean *)
+?CRBlendTextureDiffuse@@YGPAVCRGeometry@@PAV1@PAVCRBoolean@@@Z
+; class CRColor * __stdcall CRBlue(void)
+?CRBlue@@YGPAVCRColor@@XZ
+; class CRFontStyle * __stdcall CRBold(class CRFontStyle *)
+?CRBold@@YGPAVCRFontStyle@@PAV1@@Z
+; class CRBbox2 * __stdcall CRBoundingBox(class CRImage *)
+?CRBoundingBox@@YGPAVCRBbox2@@PAVCRImage@@@Z
+; class CRBbox2 * __stdcall CRBoundingBox(class CRPath2 *,class CRLineStyle *)
+?CRBoundingBox@@YGPAVCRBbox2@@PAVCRPath2@@PAVCRLineStyle@@@Z
+; class CRBbox3 * __stdcall CRBoundingBox(class CRGeometry *)
+?CRBoundingBox@@YGPAVCRBbox3@@PAVCRGeometry@@@Z
+; class CRBvr * __stdcall CRBvrApplyPreference(class CRBvr *,unsigned short *,struct tagVARIANT)
+?CRBvrApplyPreference@@YGPAVCRBvr@@PAV1@PAGUtagVARIANT@@@Z
+; bool __stdcall CRBvrToCOM(class CRBvr *,struct _GUID const &,void * *)
+?CRBvrToCOM@@YG_NPAVCRBvr@@ABU_GUID@@PAPAX@Z
+; class CRNumber * __stdcall CRCeiling(class CRNumber *)
+?CRCeiling@@YGPAVCRNumber@@PAV1@@Z
+; void __stdcall CRClearLastError(void)
+?CRClearLastError@@YGXXZ
+; class CRMatte * __stdcall CRClearMatte(void)
+?CRClearMatte@@YGPAVCRMatte@@XZ
+; class CRImage * __stdcall CRClip(class CRImage *,class CRMatte *)
+?CRClip@@YGPAVCRImage@@PAV1@PAVCRMatte@@@Z
+; class CRImage * __stdcall CRClipPolygonImage(class CRImage *,class CRArray *)
+?CRClipPolygonImage@@YGPAVCRImage@@PAV1@PAVCRArray@@@Z
+; class CRPath2 * __stdcall CRClose(class CRPath2 *)
+?CRClose@@YGPAVCRPath2@@PAV1@@Z
+; class CRColor * __stdcall CRColorHsl(double,double,double)
+?CRColorHsl@@YGPAVCRColor@@NNN@Z
+; class CRColor * __stdcall CRColorHsl(class CRNumber *,class CRNumber *,class CRNumber *)
+?CRColorHsl@@YGPAVCRColor@@PAVCRNumber@@00@Z
+; class CRImage * __stdcall CRColorKey(class CRImage *,class CRColor *)
+?CRColorKey@@YGPAVCRImage@@PAV1@PAVCRColor@@@Z
+; class CRColor * __stdcall CRColorRgb255(short,short,short)
+?CRColorRgb255@@YGPAVCRColor@@FFF@Z
+; class CRColor * __stdcall CRColorRgb(double,double,double)
+?CRColorRgb@@YGPAVCRColor@@NNN@Z
+; class CRColor * __stdcall CRColorRgb(class CRNumber *,class CRNumber *,class CRNumber *)
+?CRColorRgb@@YGPAVCRColor@@PAVCRNumber@@00@Z
+; class CRTransform2 * __stdcall CRCompose2(class CRTransform2 *,class CRTransform2 *)
+?CRCompose2@@YGPAVCRTransform2@@PAV1@0@Z
+; class CRTransform2 * __stdcall CRCompose2(class CRArray *)
+?CRCompose2@@YGPAVCRTransform2@@PAVCRArray@@@Z
+; class CRTransform3 * __stdcall CRCompose3(class CRTransform3 *,class CRTransform3 *)
+?CRCompose3@@YGPAVCRTransform3@@PAV1@0@Z
+; class CRTransform3 * __stdcall CRCompose3(class CRArray *)
+?CRCompose3@@YGPAVCRTransform3@@PAVCRArray@@@Z
+; class CRPath2 * __stdcall CRConcat(class CRPath2 *,class CRPath2 *)
+?CRConcat@@YGPAVCRPath2@@PAV1@0@Z
+; class CRPath2 * __stdcall CRConcat(class CRArray *)
+?CRConcat@@YGPAVCRPath2@@PAVCRArray@@@Z
+; class CRString * __stdcall CRConcatString(class CRString *,class CRString *)
+?CRConcatString@@YGPAVCRString@@PAV1@0@Z
+; class CRBvr * __stdcall CRCond(class CRBoolean *,class CRBvr *,class CRBvr *)
+?CRCond@@YGPAVCRBvr@@PAVCRBoolean@@PAV1@1@Z
+; bool __stdcall CRConnect(struct HINSTANCE__ *)
+?CRConnect@@YG_NPAUHINSTANCE__@@@Z
+; class CRNumber * __stdcall CRCos(class CRNumber *)
+?CRCos@@YGPAVCRNumber@@PAV1@@Z
+; class CRArray * __stdcall CRCreateArray(long,double * const,enum CR_BVR_TYPEID)
+?CRCreateArray@@YGPAVCRArray@@JQANW4CR_BVR_TYPEID@@@Z
+; class CRArray * __stdcall CRCreateArray(long,class CRBvr * * const,unsigned long)
+?CRCreateArray@@YGPAVCRArray@@JQAPAVCRBvr@@K@Z
+; class CRBoolean * __stdcall CRCreateBoolean(bool)
+?CRCreateBoolean@@YGPAVCRBoolean@@_N@Z
+; class CRNumber * __stdcall CRCreateNumber(double)
+?CRCreateNumber@@YGPAVCRNumber@@N@Z
+; class CRPoint2 * __stdcall CRCreatePoint2(double,double)
+?CRCreatePoint2@@YGPAVCRPoint2@@NN@Z
+; class CRPoint2 * __stdcall CRCreatePoint2(class CRNumber *,class CRNumber *)
+?CRCreatePoint2@@YGPAVCRPoint2@@PAVCRNumber@@0@Z
+; class CRPoint3 * __stdcall CRCreatePoint3(double,double,double)
+?CRCreatePoint3@@YGPAVCRPoint3@@NNN@Z
+; class CRPoint3 * __stdcall CRCreatePoint3(class CRNumber *,class CRNumber *,class CRNumber *)
+?CRCreatePoint3@@YGPAVCRPoint3@@PAVCRNumber@@00@Z
+; class CRString * __stdcall CRCreateString(unsigned short *)
+?CRCreateString@@YGPAVCRString@@PAG@Z
+; class CRTuple * __stdcall CRCreateTuple(long,class CRBvr * * const)
+?CRCreateTuple@@YGPAVCRTuple@@JQAPAVCRBvr@@@Z
+; class CRUserData * __stdcall CRCreateUserData(struct IUnknown *)
+?CRCreateUserData@@YGPAVCRUserData@@PAUIUnknown@@@Z
+; class CRVector2 * __stdcall CRCreateVector2(double,double)
+?CRCreateVector2@@YGPAVCRVector2@@NN@Z
+; class CRVector2 * __stdcall CRCreateVector2(class CRNumber *,class CRNumber *)
+?CRCreateVector2@@YGPAVCRVector2@@PAVCRNumber@@0@Z
+; class CRVector3 * __stdcall CRCreateVector3(double,double,double)
+?CRCreateVector3@@YGPAVCRVector3@@NNN@Z
+; class CRVector3 * __stdcall CRCreateVector3(class CRNumber *,class CRNumber *,class CRNumber *)
+?CRCreateVector3@@YGPAVCRVector3@@PAVCRNumber@@00@Z
+; class CRView * __stdcall CRCreateView(void)
+?CRCreateView@@YGPAVCRView@@XZ
+; class CRImage * __stdcall CRCrop(class CRImage *,class CRPoint2 *,class CRPoint2 *)
+?CRCrop@@YGPAVCRImage@@PAV1@PAVCRPoint2@@1@Z
+; class CRVector3 * __stdcall CRCross(class CRVector3 *,class CRVector3 *)
+?CRCross@@YGPAVCRVector3@@PAV1@0@Z
+; class CRPath2 * __stdcall CRCubicBSplinePath(class CRArray *,class CRArray *)
+?CRCubicBSplinePath@@YGPAVCRPath2@@PAVCRArray@@0@Z
+; class CRColor * __stdcall CRCyan(void)
+?CRCyan@@YGPAVCRColor@@XZ
+; class CRGeometry * __stdcall CRD3DRMTexture(class CRGeometry *,struct IUnknown *)
+?CRD3DRMTexture@@YGPAVCRGeometry@@PAV1@PAUIUnknown@@@Z
+; class CRLineStyle * __stdcall CRDash(class CRLineStyle *,class CRDashStyle *)
+?CRDash@@YGPAVCRLineStyle@@PAV1@PAVCRDashStyle@@@Z
+; class CRLineStyle * __stdcall CRDashEx(class CRLineStyle *,unsigned long)
+?CRDashEx@@YGPAVCRLineStyle@@PAV1@K@Z
+; class CRDashStyle * __stdcall CRDashStyleDashed(void)
+?CRDashStyleDashed@@YGPAVCRDashStyle@@XZ
+; class CRDashStyle * __stdcall CRDashStyleSolid(void)
+?CRDashStyleSolid@@YGPAVCRDashStyle@@XZ
+; class CRFontStyle * __stdcall CRDefaultFont(void)
+?CRDefaultFont@@YGPAVCRFontStyle@@XZ
+; class CRLineStyle * __stdcall CRDefaultLineStyle(void)
+?CRDefaultLineStyle@@YGPAVCRLineStyle@@XZ
+; class CRMicrophone * __stdcall CRDefaultMicrophone(void)
+?CRDefaultMicrophone@@YGPAVCRMicrophone@@XZ
+; class CRCamera * __stdcall CRDepth(class CRCamera *,double)
+?CRDepth@@YGPAVCRCamera@@PAV1@N@Z
+; class CRCamera * __stdcall CRDepth(class CRCamera *,class CRNumber *)
+?CRDepth@@YGPAVCRCamera@@PAV1@PAVCRNumber@@@Z
+; class CRCamera * __stdcall CRDepthResolution(class CRCamera *,double)
+?CRDepthResolution@@YGPAVCRCamera@@PAV1@N@Z
+; class CRCamera * __stdcall CRDepthResolution(class CRCamera *,class CRNumber *)
+?CRDepthResolution@@YGPAVCRCamera@@PAV1@PAVCRNumber@@@Z
+; class CRNumber * __stdcall CRDerivative(class CRNumber *)
+?CRDerivative@@YGPAVCRNumber@@PAV1@@Z
+; class CRVector2 * __stdcall CRDerivative(class CRVector2 *)
+?CRDerivative@@YGPAVCRVector2@@PAV1@@Z
+; class CRVector2 * __stdcall CRDerivative(class CRPoint2 *)
+?CRDerivative@@YGPAVCRVector2@@PAVCRPoint2@@@Z
+; class CRVector3 * __stdcall CRDerivative(class CRVector3 *)
+?CRDerivative@@YGPAVCRVector3@@PAV1@@Z
+; class CRVector3 * __stdcall CRDerivative(class CRPoint3 *)
+?CRDerivative@@YGPAVCRVector3@@PAVCRPoint3@@@Z
+; void __stdcall CRDestroyView(class CRView *)
+?CRDestroyView@@YGXPAVCRView@@@Z
+; class CRLineStyle * __stdcall CRDetail(class CRLineStyle *)
+?CRDetail@@YGPAVCRLineStyle@@PAV1@@Z
+; class CRImage * __stdcall CRDetectableEmptyImage(void)
+?CRDetectableEmptyImage@@YGPAVCRImage@@XZ
+; class CRMatte * __stdcall CRDifferenceMatte(class CRMatte *,class CRMatte *)
+?CRDifferenceMatte@@YGPAVCRMatte@@PAV1@0@Z
+; class CRGeometry * __stdcall CRDiffuseColor(class CRGeometry *,class CRColor *)
+?CRDiffuseColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
+; class CRGeometry * __stdcall CRDirectionalLight(void)
+?CRDirectionalLight@@YGPAVCRGeometry@@XZ
+; bool __stdcall CRDisconnect(struct HINSTANCE__ *)
+?CRDisconnect@@YG_NPAUHINSTANCE__@@@Z
+; class CRNumber * __stdcall CRDistance(class CRPoint2 *,class CRPoint2 *)
+?CRDistance@@YGPAVCRNumber@@PAVCRPoint2@@0@Z
+; class CRNumber * __stdcall CRDistance(class CRPoint3 *,class CRPoint3 *)
+?CRDistance@@YGPAVCRNumber@@PAVCRPoint3@@0@Z
+; class CRNumber * __stdcall CRDistanceSquared(class CRPoint2 *,class CRPoint2 *)
+?CRDistanceSquared@@YGPAVCRNumber@@PAVCRPoint2@@0@Z
+; class CRNumber * __stdcall CRDistanceSquared(class CRPoint3 *,class CRPoint3 *)
+?CRDistanceSquared@@YGPAVCRNumber@@PAVCRPoint3@@0@Z
+; class CRNumber * __stdcall CRDiv(class CRNumber *,class CRNumber *)
+?CRDiv@@YGPAVCRNumber@@PAV1@0@Z
+; class CRVector2 * __stdcall CRDiv(class CRVector2 *,double)
+?CRDiv@@YGPAVCRVector2@@PAV1@N@Z
+; class CRVector2 * __stdcall CRDiv(class CRVector2 *,class CRNumber *)
+?CRDiv@@YGPAVCRVector2@@PAV1@PAVCRNumber@@@Z
+; class CRVector3 * __stdcall CRDiv(class CRVector3 *,double)
+?CRDiv@@YGPAVCRVector3@@PAV1@N@Z
+; class CRVector3 * __stdcall CRDiv(class CRVector3 *,class CRNumber *)
+?CRDiv@@YGPAVCRVector3@@PAV1@PAVCRNumber@@@Z
+; bool __stdcall CRDoGC(void)
+?CRDoGC@@YG_NXZ
+; class CRNumber * __stdcall CRDot(class CRVector2 *,class CRVector2 *)
+?CRDot@@YGPAVCRNumber@@PAVCRVector2@@0@Z
+; class CRNumber * __stdcall CRDot(class CRVector3 *,class CRVector3 *)
+?CRDot@@YGPAVCRNumber@@PAVCRVector3@@0@Z
+; class CRImage * __stdcall CRDraw(class CRPath2 *,class CRLineStyle *)
+?CRDraw@@YGPAVCRImage@@PAVCRPath2@@PAVCRLineStyle@@@Z
+; class CRBvr * __stdcall CRDuration(class CRBvr *,double)
+?CRDuration@@YGPAVCRBvr@@PAV1@N@Z
+; class CRBvr * __stdcall CRDuration(class CRBvr *,class CRNumber *)
+?CRDuration@@YGPAVCRBvr@@PAV1@PAVCRNumber@@@Z
+; class CRBoolean * __stdcall CREQ(class CRNumber *,class CRNumber *)
+?CREQ@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
+; class CRGeometry * __stdcall CREmissiveColor(class CRGeometry *,class CRColor *)
+?CREmissiveColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
+; class CRColor * __stdcall CREmptyColor(void)
+?CREmptyColor@@YGPAVCRColor@@XZ
+; class CRGeometry * __stdcall CREmptyGeometry(void)
+?CREmptyGeometry@@YGPAVCRGeometry@@XZ
+; class CRImage * __stdcall CREmptyImage(void)
+?CREmptyImage@@YGPAVCRImage@@XZ
+; class CRLineStyle * __stdcall CREmptyLineStyle(void)
+?CREmptyLineStyle@@YGPAVCRLineStyle@@XZ
+; class CRMontage * __stdcall CREmptyMontage(void)
+?CREmptyMontage@@YGPAVCRMontage@@XZ
+; class CRLineStyle * __stdcall CREnd(class CRLineStyle *,class CREndStyle *)
+?CREnd@@YGPAVCRLineStyle@@PAV1@PAVCREndStyle@@@Z
+; class CRBvr * __stdcall CREndEvent(class CRBvr *)
+?CREndEvent@@YGPAVCRBvr@@PAV1@@Z
+; class CRLineStyle * __stdcall CREndEx(class CRLineStyle *,unsigned long)
+?CREndEx@@YGPAVCRLineStyle@@PAV1@K@Z
+; class CREndStyle * __stdcall CREndStyleFlat(void)
+?CREndStyleFlat@@YGPAVCREndStyle@@XZ
+; class CREndStyle * __stdcall CREndStyleRound(void)
+?CREndStyleRound@@YGPAVCREndStyle@@XZ
+; class CREndStyle * __stdcall CREndStyleSquare(void)
+?CREndStyleSquare@@YGPAVCREndStyle@@XZ
+; class CRNumber * __stdcall CRExp(class CRNumber *)
+?CRExp@@YGPAVCRNumber@@PAV1@@Z
+; class CRBvr * __stdcall CRExtendedAttrib(class CRBvr *,unsigned short *,struct tagVARIANT)
+?CRExtendedAttrib@@YGPAVCRBvr@@PAV1@PAGUtagVARIANT@@@Z
+; double __stdcall CRExtract(class CRNumber *)
+?CRExtract@@YGNPAVCRNumber@@@Z
+; unsigned short * __stdcall CRExtract(class CRString *)
+?CRExtract@@YGPAGPAVCRString@@@Z
+; bool __stdcall CRExtract(class CRBoolean *)
+?CRExtract@@YG_NPAVCRBoolean@@@Z
+; class CRBoolean * __stdcall CRFalse(void)
+?CRFalse@@YGPAVCRBoolean@@XZ
+; class CRFontStyle * __stdcall CRFamily(class CRFontStyle *,unsigned short *)
+?CRFamily@@YGPAVCRFontStyle@@PAV1@PAG@Z
+; class CRFontStyle * __stdcall CRFamily(class CRFontStyle *,class CRString *)
+?CRFamily@@YGPAVCRFontStyle@@PAV1@PAVCRString@@@Z
+; class CRImage * __stdcall CRFill(class CRPath2 *,class CRLineStyle *,class CRImage *)
+?CRFill@@YGPAVCRImage@@PAVCRPath2@@PAVCRLineStyle@@PAV1@@Z
+; class CRMatte * __stdcall CRFillMatte(class CRPath2 *)
+?CRFillMatte@@YGPAVCRMatte@@PAVCRPath2@@@Z
+; class CRBvr * __stdcall CRFirst(class CRPair *)
+?CRFirst@@YGPAVCRBvr@@PAVCRPair@@@Z
+; class CRNumber * __stdcall CRFloor(class CRNumber *)
+?CRFloor@@YGPAVCRNumber@@PAV1@@Z
+; class CRTransform2 * __stdcall CRFollowPath(class CRPath2 *,double)
+?CRFollowPath@@YGPAVCRTransform2@@PAVCRPath2@@N@Z
+; class CRTransform2 * __stdcall CRFollowPath(class CRPath2 *,class CRNumber *)
+?CRFollowPath@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
+; class CRTransform2 * __stdcall CRFollowPathAngle(class CRPath2 *,double)
+?CRFollowPathAngle@@YGPAVCRTransform2@@PAVCRPath2@@N@Z
+; class CRTransform2 * __stdcall CRFollowPathAngle(class CRPath2 *,class CRNumber *)
+?CRFollowPathAngle@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
+; class CRTransform2 * __stdcall CRFollowPathAngleEval(class CRPath2 *,class CRNumber *)
+?CRFollowPathAngleEval@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
+; class CRTransform2 * __stdcall CRFollowPathAngleUpright(class CRPath2 *,double)
+?CRFollowPathAngleUpright@@YGPAVCRTransform2@@PAVCRPath2@@N@Z
+; class CRTransform2 * __stdcall CRFollowPathAngleUpright(class CRPath2 *,class CRNumber *)
+?CRFollowPathAngleUpright@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
+; class CRTransform2 * __stdcall CRFollowPathAngleUprightEval(class CRPath2 *,class CRNumber *)
+?CRFollowPathAngleUprightEval@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
+; class CRTransform2 * __stdcall CRFollowPathEval(class CRPath2 *,class CRNumber *)
+?CRFollowPathEval@@YGPAVCRTransform2@@PAVCRPath2@@PAVCRNumber@@@Z
+; class CRFontStyle * __stdcall CRFont(unsigned short *,double,class CRColor *)
+?CRFont@@YGPAVCRFontStyle@@PAGNPAVCRColor@@@Z
+; class CRFontStyle * __stdcall CRFont(class CRString *,class CRNumber *,class CRColor *)
+?CRFont@@YGPAVCRFontStyle@@PAVCRString@@PAVCRNumber@@PAVCRColor@@@Z
+; class CRColor * __stdcall CRFuchsia(void)
+?CRFuchsia@@YGPAVCRColor@@XZ
+; class CRBoolean * __stdcall CRGT(class CRNumber *,class CRNumber *)
+?CRGT@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
+; class CRBoolean * __stdcall CRGTE(class CRNumber *,class CRNumber *)
+?CRGTE@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
+; class CRSound * __stdcall CRGain(class CRSound *,double)
+?CRGain@@YGPAVCRSound@@PAV1@N@Z
+; class CRSound * __stdcall CRGain(class CRSound *,class CRNumber *)
+?CRGain@@YGPAVCRSound@@PAV1@PAVCRNumber@@@Z
+; enum CR_BVR_TYPEID  __stdcall CRGetArrayTypeId(class CRBvr *)
+?CRGetArrayTypeId@@YG?AW4CR_BVR_TYPEID@@PAVCRBvr@@@Z
+; class CRNumber * __stdcall CRGetBlue(class CRColor *)
+?CRGetBlue@@YGPAVCRNumber@@PAVCRColor@@@Z
+; class CREvent * __stdcall CRGetCompletionEvent(class CRImportationResult *)
+?CRGetCompletionEvent@@YGPAVCREvent@@PAVCRImportationResult@@@Z
+; bool __stdcall CRGetCompositeDirectlyToTarget(class CRView *)
+?CRGetCompositeDirectlyToTarget@@YG_NPAVCRView@@@Z
+; double __stdcall CRGetConstDuration(class CREvent *)
+?CRGetConstDuration@@YGNPAVCREvent@@@Z
+; struct HDC__ * __stdcall CRGetDC(class CRView *)
+?CRGetDC@@YGPAUHDC__@@PAVCRView@@@Z
+; bool __stdcall CRGetDDD3DRM(class CRView *,struct IUnknown * *,struct IUnknown * *)
+?CRGetDDD3DRM@@YG_NPAVCRView@@PAPAUIUnknown@@1@Z
+; struct IUnknown * __stdcall CRGetData(class CRUserData *)
+?CRGetData@@YGPAUIUnknown@@PAVCRUserData@@@Z
+; struct IUnknown * __stdcall CRGetDirectDrawSurface(class CRView *)
+?CRGetDirectDrawSurface@@YGPAUIUnknown@@PAVCRView@@@Z
+; class CRNumber * __stdcall CRGetDuration(class CRImportationResult *)
+?CRGetDuration@@YGPAVCRNumber@@PAVCRImportationResult@@@Z
+; class CRBvr * __stdcall CRGetElement(class CRArray *,long)
+?CRGetElement@@YGPAVCRBvr@@PAVCRArray@@J@Z
+; class CREvent * __stdcall CRGetEvent(class CRPickableResult *)
+?CRGetEvent@@YGPAVCREvent@@PAVCRPickableResult@@@Z
+; class CRGeometry * __stdcall CRGetGeometry(class CRImportationResult *)
+?CRGetGeometry@@YGPAVCRGeometry@@PAVCRImportationResult@@@Z
+; class CRGeometry * __stdcall CRGetGeometry(class CRPickableResult *)
+?CRGetGeometry@@YGPAVCRGeometry@@PAVCRPickableResult@@@Z
+; class CRNumber * __stdcall CRGetGreen(class CRColor *)
+?CRGetGreen@@YGPAVCRNumber@@PAVCRColor@@@Z
+; class CRNumber * __stdcall CRGetHue(class CRColor *)
+?CRGetHue@@YGPAVCRNumber@@PAVCRColor@@@Z
+; class CRImage * __stdcall CRGetImage(class CRImportationResult *)
+?CRGetImage@@YGPAVCRImage@@PAVCRImportationResult@@@Z
+; class CRImage * __stdcall CRGetImage(class CRPickableResult *)
+?CRGetImage@@YGPAVCRImage@@PAVCRPickableResult@@@Z
+; float __stdcall CRGetImportPriority(class CRBvr *)
+?CRGetImportPriority@@YGMPAVCRBvr@@@Z
+; long __stdcall CRGetInvalidatedRects(class CRView *,unsigned long,long,struct tagRECT *)
+?CRGetInvalidatedRects@@YGJPAVCRView@@KJPAUtagRECT@@@Z
+; long __stdcall CRGetLastError(void)
+?CRGetLastError@@YGJXZ
+; unsigned short const * __stdcall CRGetLastErrorString(void)
+?CRGetLastErrorString@@YGPBGXZ
+; class CRNumber * __stdcall CRGetLightness(class CRColor *)
+?CRGetLightness@@YGPAVCRNumber@@PAVCRColor@@@Z
+; class CRBvr * __stdcall CRGetModifiableBvr(class CRBvr *)
+?CRGetModifiableBvr@@YGPAVCRBvr@@PAV1@@Z
+; class CRBvr * __stdcall CRGetOutputBvr(class CRDXTransformResult *)
+?CRGetOutputBvr@@YGPAVCRBvr@@PAVCRDXTransformResult@@@Z
+; bool __stdcall CRGetPreference(class CRView *,unsigned short *,struct tagVARIANT *)
+?CRGetPreference@@YG_NPAVCRView@@PAGPAUtagVARIANT@@@Z
+; class CRNumber * __stdcall CRGetProgress(class CRImportationResult *)
+?CRGetProgress@@YGPAVCRNumber@@PAVCRImportationResult@@@Z
+; bool __stdcall CRGetRMDevice(class CRView *,struct IUnknown * *,unsigned long *)
+?CRGetRMDevice@@YG_NPAVCRView@@PAPAUIUnknown@@PAK@Z
+; class CRNumber * __stdcall CRGetRed(class CRColor *)
+?CRGetRed@@YGPAVCRNumber@@PAVCRColor@@@Z
+; class CRNumber * __stdcall CRGetSaturation(class CRColor *)
+?CRGetSaturation@@YGPAVCRNumber@@PAVCRColor@@@Z
+; struct IServiceProvider * __stdcall CRGetServiceProvider(class CRView *)
+?CRGetServiceProvider@@YGPAUIServiceProvider@@PAVCRView@@@Z
+; double __stdcall CRGetSimulationTime(class CRView *)
+?CRGetSimulationTime@@YGNPAVCRView@@@Z
+; class CRViewSite * __stdcall CRGetSite(class CRView *)
+?CRGetSite@@YGPAVCRViewSite@@PAVCRView@@@Z
+; class CRNumber * __stdcall CRGetSize(class CRImportationResult *)
+?CRGetSize@@YGPAVCRNumber@@PAVCRImportationResult@@@Z
+; class CRSound * __stdcall CRGetSound(class CRImportationResult *)
+?CRGetSound@@YGPAVCRSound@@PAVCRImportationResult@@@Z
+; struct IUnknown * __stdcall CRGetTransform(class CRDXTransformResult *)
+?CRGetTransform@@YGPAUIUnknown@@PAVCRDXTransformResult@@@Z
+; enum CR_BVR_TYPEID  __stdcall CRGetTypeId(class CRBvr *)
+?CRGetTypeId@@YG?AW4CR_BVR_TYPEID@@PAVCRBvr@@@Z
+; struct HWND__ * __stdcall CRGetWindow(class CRView *)
+?CRGetWindow@@YGPAUHWND__@@PAVCRView@@@Z
+; class CRNumber * __stdcall CRGetX(class CRPoint2 *)
+?CRGetX@@YGPAVCRNumber@@PAVCRPoint2@@@Z
+; class CRNumber * __stdcall CRGetX(class CRPoint3 *)
+?CRGetX@@YGPAVCRNumber@@PAVCRPoint3@@@Z
+; class CRNumber * __stdcall CRGetX(class CRVector2 *)
+?CRGetX@@YGPAVCRNumber@@PAVCRVector2@@@Z
+; class CRNumber * __stdcall CRGetX(class CRVector3 *)
+?CRGetX@@YGPAVCRNumber@@PAVCRVector3@@@Z
+; class CRNumber * __stdcall CRGetY(class CRPoint2 *)
+?CRGetY@@YGPAVCRNumber@@PAVCRPoint2@@@Z
+; class CRNumber * __stdcall CRGetY(class CRPoint3 *)
+?CRGetY@@YGPAVCRNumber@@PAVCRPoint3@@@Z
+; class CRNumber * __stdcall CRGetY(class CRVector2 *)
+?CRGetY@@YGPAVCRNumber@@PAVCRVector2@@@Z
+; class CRNumber * __stdcall CRGetY(class CRVector3 *)
+?CRGetY@@YGPAVCRNumber@@PAVCRVector3@@@Z
+; class CRNumber * __stdcall CRGetZ(class CRPoint3 *)
+?CRGetZ@@YGPAVCRNumber@@PAVCRPoint3@@@Z
+; class CRNumber * __stdcall CRGetZ(class CRVector3 *)
+?CRGetZ@@YGPAVCRNumber@@PAVCRVector3@@@Z
+; class CRNumber * __stdcall CRGlobalTime(void)
+?CRGlobalTime@@YGPAVCRNumber@@XZ
+; class CRImage * __stdcall CRGradientHorizontal(class CRColor *,class CRColor *,double)
+?CRGradientHorizontal@@YGPAVCRImage@@PAVCRColor@@0N@Z
+; class CRImage * __stdcall CRGradientHorizontal(class CRColor *,class CRColor *,class CRNumber *)
+?CRGradientHorizontal@@YGPAVCRImage@@PAVCRColor@@0PAVCRNumber@@@Z
+; class CRImage * __stdcall CRGradientPolygon(class CRArray *,class CRArray *)
+?CRGradientPolygon@@YGPAVCRImage@@PAVCRArray@@0@Z
+; class CRImage * __stdcall CRGradientSquare(class CRColor *,class CRColor *,class CRColor *,class CRColor *)
+?CRGradientSquare@@YGPAVCRImage@@PAVCRColor@@000@Z
+; class CRColor * __stdcall CRGray(void)
+?CRGray@@YGPAVCRColor@@XZ
+; class CRColor * __stdcall CRGreen(void)
+?CRGreen@@YGPAVCRColor@@XZ
+; class CRImage * __stdcall CRHatchBackwardDiagonal(class CRColor *,double)
+?CRHatchBackwardDiagonal@@YGPAVCRImage@@PAVCRColor@@N@Z
+; class CRImage * __stdcall CRHatchBackwardDiagonal(class CRColor *,class CRNumber *)
+?CRHatchBackwardDiagonal@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
+; class CRImage * __stdcall CRHatchCross(class CRColor *,double)
+?CRHatchCross@@YGPAVCRImage@@PAVCRColor@@N@Z
+; class CRImage * __stdcall CRHatchCross(class CRColor *,class CRNumber *)
+?CRHatchCross@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
+; class CRImage * __stdcall CRHatchDiagonalCross(class CRColor *,double)
+?CRHatchDiagonalCross@@YGPAVCRImage@@PAVCRColor@@N@Z
+; class CRImage * __stdcall CRHatchDiagonalCross(class CRColor *,class CRNumber *)
+?CRHatchDiagonalCross@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
+; class CRImage * __stdcall CRHatchForwardDiagonal(class CRColor *,double)
+?CRHatchForwardDiagonal@@YGPAVCRImage@@PAVCRColor@@N@Z
+; class CRImage * __stdcall CRHatchForwardDiagonal(class CRColor *,class CRNumber *)
+?CRHatchForwardDiagonal@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
+; class CRImage * __stdcall CRHatchHorizontal(class CRColor *,double)
+?CRHatchHorizontal@@YGPAVCRImage@@PAVCRColor@@N@Z
+; class CRImage * __stdcall CRHatchHorizontal(class CRColor *,class CRNumber *)
+?CRHatchHorizontal@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
+; class CRImage * __stdcall CRHatchVertical(class CRColor *,double)
+?CRHatchVertical@@YGPAVCRImage@@PAVCRColor@@N@Z
+; class CRImage * __stdcall CRHatchVertical(class CRColor *,class CRNumber *)
+?CRHatchVertical@@YGPAVCRImage@@PAVCRColor@@PAVCRNumber@@@Z
+; class CRBvr * __stdcall CRHook(class CRBvr *,class CRBvrHook *)
+?CRHook@@YGPAVCRBvr@@PAV1@PAVCRBvrHook@@@Z
+; class CRTransform2 * __stdcall CRIdentityTransform2(void)
+?CRIdentityTransform2@@YGPAVCRTransform2@@XZ
+; class CRTransform3 * __stdcall CRIdentityTransform3(void)
+?CRIdentityTransform3@@YGPAVCRTransform3@@XZ
+; class CRMontage * __stdcall CRImageMontage(class CRImage *,double)
+?CRImageMontage@@YGPAVCRMontage@@PAVCRImage@@N@Z
+; class CRMontage * __stdcall CRImageMontageAnim(class CRImage *,class CRNumber *)
+?CRImageMontageAnim@@YGPAVCRMontage@@PAVCRImage@@PAVCRNumber@@@Z
+; class CRImage * __stdcall CRImageQuality(class CRImage *,unsigned long)
+?CRImageQuality@@YGPAVCRImage@@PAV1@K@Z
+; bool __stdcall CRImportCancel(class CRBvr *)
+?CRImportCancel@@YG_NPAVCRBvr@@@Z
+; class CRGeometry * __stdcall CRImportDirect3DRMVisual(struct IUnknown *)
+?CRImportDirect3DRMVisual@@YGPAVCRGeometry@@PAUIUnknown@@@Z
+; class CRGeometry * __stdcall CRImportDirect3DRMVisualWrapped(struct IUnknown *,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
+?CRImportDirect3DRMVisualWrapped@@YGPAVCRGeometry@@PAUIUnknown@@JNNNNNNNNNNNNNK@Z
+; class CRImage * __stdcall CRImportDirectDrawSurface(struct IUnknown *,class CREvent *)
+?CRImportDirectDrawSurface@@YGPAVCRImage@@PAUIUnknown@@PAVCREvent@@@Z
+; unsigned long __stdcall CRImportGeometry(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,class CRGeometry *,class CRGeometry * *,class CREvent * *,class CRNumber * *,class CRNumber * *)
+?CRImportGeometry@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@PAVCRGeometry@@PAPAV3@PAPAVCREvent@@PAPAVCRNumber@@6@Z
+; unsigned long __stdcall CRImportGeometryWrapped(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,class CRGeometry *,class CRGeometry * *,class CREvent * *,class CRNumber * *,class CRNumber * *,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
+?CRImportGeometryWrapped@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@PAVCRGeometry@@PAPAV3@PAPAVCREvent@@PAPAVCRNumber@@6JNNNNNNNNNNNNNK@Z
+; unsigned long __stdcall CRImportImage(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,bool,unsigned char,unsigned char,unsigned char,class CRImage *,class CRImage * *,class CREvent * *,class CRNumber * *,class CRNumber * *)
+?CRImportImage@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@_NEEEPAVCRImage@@PAPAV3@PAPAVCREvent@@PAPAVCRNumber@@7@Z
+; class CRImportationResult * __stdcall CRImportMedia(unsigned short *,void *,enum CR_MEDIA_SOURCE,void * * const,unsigned long,class CRImportSite *)
+?CRImportMedia@@YGPAVCRImportationResult@@PAGPAXW4CR_MEDIA_SOURCE@@QAPAXKPAVCRImportSite@@@Z
+; unsigned long __stdcall CRImportMovie(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,bool,class CRImage *,class CRSound *,class CRImage * *,class CRSound * *,class CRNumber * *,class CREvent * *,class CRNumber * *,class CRNumber * *)
+?CRImportMovie@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@_NPAVCRImage@@PAVCRSound@@PAPAV3@PAPAV4@PAPAVCRNumber@@PAPAVCREvent@@88@Z
+; unsigned long __stdcall CRImportSound(unsigned short const *,unsigned short const *,class CRImportSite *,struct IBindHost *,bool,class CRSound *,class CRSound * *,class CRNumber * *,class CREvent * *,class CRNumber * *,class CRNumber * *)
+?CRImportSound@@YGKPBG0PAVCRImportSite@@PAUIBindHost@@_NPAVCRSound@@PAPAV3@PAPAVCRNumber@@PAPAVCREvent@@66@Z
+; long __stdcall CRImportStatus(class CRBvr *)
+?CRImportStatus@@YGJPAVCRBvr@@@Z
+; class CRBvr * __stdcall CRImportance(class CRBvr *,double)
+?CRImportance@@YGPAVCRBvr@@PAV1@N@Z
+; bool __stdcall CRInit(class CRBvr *,class CRBvr *)
+?CRInit@@YG_NPAVCRBvr@@0@Z
+; class CRNumber * __stdcall CRIntegral(class CRNumber *)
+?CRIntegral@@YGPAVCRNumber@@PAV1@@Z
+; class CRVector2 * __stdcall CRIntegral(class CRVector2 *)
+?CRIntegral@@YGPAVCRVector2@@PAV1@@Z
+; class CRVector3 * __stdcall CRIntegral(class CRVector3 *)
+?CRIntegral@@YGPAVCRVector3@@PAV1@@Z
+; class CRNumber * __stdcall CRInterpolate(double,double,double)
+?CRInterpolate@@YGPAVCRNumber@@NNN@Z
+; class CRNumber * __stdcall CRInterpolate(class CRNumber *,class CRNumber *,class CRNumber *)
+?CRInterpolate@@YGPAVCRNumber@@PAV1@00@Z
+; class CRMatte * __stdcall CRIntersectMatte(class CRMatte *,class CRMatte *)
+?CRIntersectMatte@@YGPAVCRMatte@@PAV1@0@Z
+; class CRTransform2 * __stdcall CRInverse(class CRTransform2 *)
+?CRInverse@@YGPAVCRTransform2@@PAV1@@Z
+; class CRTransform3 * __stdcall CRInverse(class CRTransform3 *)
+?CRInverse@@YGPAVCRTransform3@@PAV1@@Z
+; bool __stdcall CRIsConnected(struct HINSTANCE__ *)
+?CRIsConnected@@YG_NPAUHINSTANCE__@@@Z
+; bool __stdcall CRIsConstantBvr(class CRBvr *)
+?CRIsConstantBvr@@YG_NPAVCRBvr@@@Z
+; bool __stdcall CRIsImport(class CRBvr *)
+?CRIsImport@@YG_NPAVCRBvr@@@Z
+; bool __stdcall CRIsModifiableBvr(class CRBvr *)
+?CRIsModifiableBvr@@YG_NPAVCRBvr@@@Z
+; bool __stdcall CRIsReady(class CRBvr *,bool)
+?CRIsReady@@YG_NPAVCRBvr@@_N@Z
+; class CRBoolean * __stdcall CRIsSingular(class CRTransform2 *)
+?CRIsSingular@@YGPAVCRBoolean@@PAVCRTransform2@@@Z
+; class CRBoolean * __stdcall CRIsSingular(class CRTransform3 *)
+?CRIsSingular@@YGPAVCRBoolean@@PAVCRTransform3@@@Z
+; class CRFontStyle * __stdcall CRItalic(class CRFontStyle *)
+?CRItalic@@YGPAVCRFontStyle@@PAV1@@Z
+; class CRLineStyle * __stdcall CRJoin(class CRLineStyle *,class CRJoinStyle *)
+?CRJoin@@YGPAVCRLineStyle@@PAV1@PAVCRJoinStyle@@@Z
+; class CRLineStyle * __stdcall CRJoinEx(class CRLineStyle *,unsigned long)
+?CRJoinEx@@YGPAVCRLineStyle@@PAV1@K@Z
+; class CRJoinStyle * __stdcall CRJoinStyleBevel(void)
+?CRJoinStyleBevel@@YGPAVCRJoinStyle@@XZ
+; class CRJoinStyle * __stdcall CRJoinStyleMiter(void)
+?CRJoinStyleMiter@@YGPAVCRJoinStyle@@XZ
+; class CRJoinStyle * __stdcall CRJoinStyleRound(void)
+?CRJoinStyleRound@@YGPAVCRJoinStyle@@XZ
+; class CREvent * __stdcall CRKeyDown(long)
+?CRKeyDown@@YGPAVCREvent@@J@Z
+; class CRBoolean * __stdcall CRKeyState(class CRNumber *)
+?CRKeyState@@YGPAVCRBoolean@@PAVCRNumber@@@Z
+; class CREvent * __stdcall CRKeyUp(long)
+?CRKeyUp@@YGPAVCREvent@@J@Z
+; class CRBoolean * __stdcall CRLT(class CRNumber *,class CRNumber *)
+?CRLT@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
+; class CRBoolean * __stdcall CRLTE(class CRNumber *,class CRNumber *)
+?CRLTE@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
+; class CREvent * __stdcall CRLeftButtonDown(void)
+?CRLeftButtonDown@@YGPAVCREvent@@XZ
+; class CRBoolean * __stdcall CRLeftButtonState(void)
+?CRLeftButtonState@@YGPAVCRBoolean@@XZ
+; class CREvent * __stdcall CRLeftButtonUp(void)
+?CRLeftButtonUp@@YGPAVCREvent@@XZ
+; long __stdcall CRLength(class CRTuple *)
+?CRLength@@YGJPAVCRTuple@@@Z
+; class CRNumber * __stdcall CRLength(class CRArray *)
+?CRLength@@YGPAVCRNumber@@PAVCRArray@@@Z
+; class CRNumber * __stdcall CRLength(class CRVector2 *)
+?CRLength@@YGPAVCRNumber@@PAVCRVector2@@@Z
+; class CRNumber * __stdcall CRLength(class CRVector3 *)
+?CRLength@@YGPAVCRNumber@@PAVCRVector3@@@Z
+; class CRNumber * __stdcall CRLengthSquared(class CRVector2 *)
+?CRLengthSquared@@YGPAVCRNumber@@PAVCRVector2@@@Z
+; class CRNumber * __stdcall CRLengthSquared(class CRVector3 *)
+?CRLengthSquared@@YGPAVCRNumber@@PAVCRVector3@@@Z
+; class CRGeometry * __stdcall CRLightAttenuation(class CRGeometry *,double,double,double)
+?CRLightAttenuation@@YGPAVCRGeometry@@PAV1@NNN@Z
+; class CRGeometry * __stdcall CRLightAttenuation(class CRGeometry *,class CRNumber *,class CRNumber *,class CRNumber *)
+?CRLightAttenuation@@YGPAVCRGeometry@@PAV1@PAVCRNumber@@11@Z
+; class CRGeometry * __stdcall CRLightColor(class CRGeometry *,class CRColor *)
+?CRLightColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
+; class CRGeometry * __stdcall CRLightRange(class CRGeometry *,double)
+?CRLightRange@@YGPAVCRGeometry@@PAV1@N@Z
+; class CRGeometry * __stdcall CRLightRange(class CRGeometry *,class CRNumber *)
+?CRLightRange@@YGPAVCRGeometry@@PAV1@PAVCRNumber@@@Z
+; class CRGeometry * __stdcall CRLighting(class CRGeometry *,class CRBoolean *)
+?CRLighting@@YGPAVCRGeometry@@PAV1@PAVCRBoolean@@@Z
+; class CRColor * __stdcall CRLime(void)
+?CRLime@@YGPAVCRColor@@XZ
+; class CRPath2 * __stdcall CRLine(class CRPoint2 *,class CRPoint2 *)
+?CRLine@@YGPAVCRPath2@@PAVCRPoint2@@0@Z
+; class CRLineStyle * __stdcall CRLineColor(class CRLineStyle *,class CRColor *)
+?CRLineColor@@YGPAVCRLineStyle@@PAV1@PAVCRColor@@@Z
+; class CRImage * __stdcall CRLinearGradientMulticolor(class CRArray *,class CRArray *)
+?CRLinearGradientMulticolor@@YGPAVCRImage@@PAVCRArray@@0@Z
+; class CRNumber * __stdcall CRLn(class CRNumber *)
+?CRLn@@YGPAVCRNumber@@PAV1@@Z
+; class CRNumber * __stdcall CRLocalTime(void)
+?CRLocalTime@@YGPAVCRNumber@@XZ
+; class CRNumber * __stdcall CRLog10(class CRNumber *)
+?CRLog10@@YGPAVCRNumber@@PAV1@@Z
+; class CRTransform3 * __stdcall CRLookAtFrom(class CRPoint3 *,class CRPoint3 *,class CRVector3 *)
+?CRLookAtFrom@@YGPAVCRTransform3@@PAVCRPoint3@@0PAVCRVector3@@@Z
+; class CRSound * __stdcall CRLoop(class CRSound *)
+?CRLoop@@YGPAVCRSound@@PAV1@@Z
+; class CRColor * __stdcall CRMagenta(void)
+?CRMagenta@@YGPAVCRColor@@XZ
+; class CRImage * __stdcall CRMapToUnitSquare(class CRImage *)
+?CRMapToUnitSquare@@YGPAVCRImage@@PAV1@@Z
+; class CRColor * __stdcall CRMaroon(void)
+?CRMaroon@@YGPAVCRColor@@XZ
+; class CRPoint2 * __stdcall CRMax(class CRBbox2 *)
+?CRMax@@YGPAVCRPoint2@@PAVCRBbox2@@@Z
+; class CRPoint3 * __stdcall CRMax(class CRBbox3 *)
+?CRMax@@YGPAVCRPoint3@@PAVCRBbox3@@@Z
+; class CRPoint2 * __stdcall CRMin(class CRBbox2 *)
+?CRMin@@YGPAVCRPoint2@@PAVCRBbox2@@@Z
+; class CRPoint3 * __stdcall CRMin(class CRBbox3 *)
+?CRMin@@YGPAVCRPoint3@@PAVCRBbox3@@@Z
+; class CRLineStyle * __stdcall CRMiterLimit(class CRLineStyle *,double)
+?CRMiterLimit@@YGPAVCRLineStyle@@PAV1@N@Z
+; class CRLineStyle * __stdcall CRMiterLimit(class CRLineStyle *,class CRNumber *)
+?CRMiterLimit@@YGPAVCRLineStyle@@PAV1@PAVCRNumber@@@Z
+; class CRSound * __stdcall CRMix(class CRSound *,class CRSound *)
+?CRMix@@YGPAVCRSound@@PAV1@0@Z
+; class CRSound * __stdcall CRMix(class CRArray *)
+?CRMix@@YGPAVCRSound@@PAVCRArray@@@Z
+; class CRNumber * __stdcall CRMod(class CRNumber *,class CRNumber *)
+?CRMod@@YGPAVCRNumber@@PAV1@0@Z
+; class CRGeometry * __stdcall CRModelClip(class CRGeometry *,class CRPoint3 *,class CRVector3 *)
+?CRModelClip@@YGPAVCRGeometry@@PAV1@PAVCRPoint3@@PAVCRVector3@@@Z
+; class CRBvr * __stdcall CRModifiableBvr(class CRBvr *,unsigned long)
+?CRModifiableBvr@@YGPAVCRBvr@@PAV1@K@Z
+; class CRNumber * __stdcall CRModifiableNumber(double)
+?CRModifiableNumber@@YGPAVCRNumber@@N@Z
+; class CRString * __stdcall CRModifiableString(unsigned short *)
+?CRModifiableString@@YGPAVCRString@@PAG@Z
+; class CRPoint2 * __stdcall CRMousePosition(void)
+?CRMousePosition@@YGPAVCRPoint2@@XZ
+; class CRNumber * __stdcall CRMul(class CRNumber *,class CRNumber *)
+?CRMul@@YGPAVCRNumber@@PAV1@0@Z
+; class CRVector2 * __stdcall CRMul(class CRVector2 *,double)
+?CRMul@@YGPAVCRVector2@@PAV1@N@Z
+; class CRVector2 * __stdcall CRMul(class CRVector2 *,class CRNumber *)
+?CRMul@@YGPAVCRVector2@@PAV1@PAVCRNumber@@@Z
+; class CRVector3 * __stdcall CRMul(class CRVector3 *,double)
+?CRMul@@YGPAVCRVector3@@PAV1@N@Z
+; class CRVector3 * __stdcall CRMul(class CRVector3 *,class CRNumber *)
+?CRMul@@YGPAVCRVector3@@PAV1@PAVCRNumber@@@Z
+; class CRBoolean * __stdcall CRNE(class CRNumber *,class CRNumber *)
+?CRNE@@YGPAVCRBoolean@@PAVCRNumber@@0@Z
+; class CRColor * __stdcall CRNavy(void)
+?CRNavy@@YGPAVCRColor@@XZ
+; class CRNumber * __stdcall CRNeg(class CRNumber *)
+?CRNeg@@YGPAVCRNumber@@PAV1@@Z
+; class CRVector2 * __stdcall CRNeg(class CRVector2 *)
+?CRNeg@@YGPAVCRVector2@@PAV1@@Z
+; class CRVector3 * __stdcall CRNeg(class CRVector3 *)
+?CRNeg@@YGPAVCRVector3@@PAV1@@Z
+; class CREvent * __stdcall CRNever(void)
+?CRNever@@YGPAVCREvent@@XZ
+; class CRVector2 * __stdcall CRNormalize(class CRVector2 *)
+?CRNormalize@@YGPAVCRVector2@@PAV1@@Z
+; class CRVector3 * __stdcall CRNormalize(class CRVector3 *)
+?CRNormalize@@YGPAVCRVector3@@PAV1@@Z
+; class CRBoolean * __stdcall CRNot(class CRBoolean *)
+?CRNot@@YGPAVCRBoolean@@PAV1@@Z
+; class CREvent * __stdcall CRNotEvent(class CREvent *)
+?CRNotEvent@@YGPAVCREvent@@PAV1@@Z
+; class CREvent * __stdcall CRNotify(class CREvent *,class CRUntilNotifier *)
+?CRNotify@@YGPAVCREvent@@PAV1@PAVCRUntilNotifier@@@Z
+; class CRBvr * __stdcall CRNth(class CRArray *,class CRNumber *)
+?CRNth@@YGPAVCRBvr@@PAVCRArray@@PAVCRNumber@@@Z
+; class CRBvr * __stdcall CRNth(class CRTuple *,long)
+?CRNth@@YGPAVCRBvr@@PAVCRTuple@@J@Z
+; class CRColor * __stdcall CROlive(void)
+?CROlive@@YGPAVCRColor@@XZ
+; bool __stdcall CROnFocus(class CRView *,bool)
+?CROnFocus@@YG_NPAVCRView@@_N@Z
+; bool __stdcall CROnKey(class CRView *,double,long,bool,unsigned char)
+?CROnKey@@YG_NPAVCRView@@NJ_NE@Z
+; bool __stdcall CROnMouseButton(class CRView *,double,long,long,unsigned char,bool,unsigned char)
+?CROnMouseButton@@YG_NPAVCRView@@NJJE_NE@Z
+; bool __stdcall CROnMouseLeave(class CRView *,double)
+?CROnMouseLeave@@YG_NPAVCRView@@N@Z
+; bool __stdcall CROnMouseMove(class CRView *,double,long,long,unsigned char)
+?CROnMouseMove@@YG_NPAVCRView@@NJJE@Z
+; class CRGeometry * __stdcall CROpacity(class CRGeometry *,double)
+?CROpacity@@YGPAVCRGeometry@@PAV1@N@Z
+; class CRGeometry * __stdcall CROpacity(class CRGeometry *,class CRNumber *)
+?CROpacity@@YGPAVCRGeometry@@PAV1@PAVCRNumber@@@Z
+; class CRImage * __stdcall CROpacity(class CRImage *,double)
+?CROpacity@@YGPAVCRImage@@PAV1@N@Z
+; class CRImage * __stdcall CROpacity(class CRImage *,class CRNumber *)
+?CROpacity@@YGPAVCRImage@@PAV1@PAVCRNumber@@@Z
+; class CRMatte * __stdcall CROpaqueMatte(void)
+?CROpaqueMatte@@YGPAVCRMatte@@XZ
+; class CRBoolean * __stdcall CROr(class CRBoolean *,class CRBoolean *)
+?CROr@@YGPAVCRBoolean@@PAV1@0@Z
+; class CREvent * __stdcall CROrEvent(class CREvent *,class CREvent *)
+?CROrEvent@@YGPAVCREvent@@PAV1@0@Z
+; class CRPoint2 * __stdcall CROrigin2(void)
+?CROrigin2@@YGPAVCRPoint2@@XZ
+; class CRPoint3 * __stdcall CROrigin3(void)
+?CROrigin3@@YGPAVCRPoint3@@XZ
+; class CRPath2 * __stdcall CROval(double,double)
+?CROval@@YGPAVCRPath2@@NN@Z
+; class CRPath2 * __stdcall CROval(class CRNumber *,class CRNumber *)
+?CROval@@YGPAVCRPath2@@PAVCRNumber@@0@Z
+; class CRImage * __stdcall CROverlay(class CRImage *,class CRImage *)
+?CROverlay@@YGPAVCRImage@@PAV1@0@Z
+; class CRImage * __stdcall CROverlay(class CRArray *)
+?CROverlay@@YGPAVCRImage@@PAVCRArray@@@Z
+; class CRSound * __stdcall CRPan(class CRSound *,double)
+?CRPan@@YGPAVCRSound@@PAV1@N@Z
+; class CRSound * __stdcall CRPan(class CRSound *,class CRNumber *)
+?CRPan@@YGPAVCRSound@@PAV1@PAVCRNumber@@@Z
+; class CRCamera * __stdcall CRParallelCamera(double)
+?CRParallelCamera@@YGPAVCRCamera@@N@Z
+; class CRCamera * __stdcall CRParallelCameraAnim(class CRNumber *)
+?CRParallelCameraAnim@@YGPAVCRCamera@@PAVCRNumber@@@Z
+; class CRTransform2 * __stdcall CRParallelTransform2(class CRTransform3 *)
+?CRParallelTransform2@@YGPAVCRTransform2@@PAVCRTransform3@@@Z
+; bool __stdcall CRPauseModel(class CRView *)
+?CRPauseModel@@YG_NPAVCRView@@@Z
+; class CRCamera * __stdcall CRPerspectiveCamera(double,double)
+?CRPerspectiveCamera@@YGPAVCRCamera@@NN@Z
+; class CRCamera * __stdcall CRPerspectiveCameraAnim(class CRNumber *,class CRNumber *)
+?CRPerspectiveCameraAnim@@YGPAVCRCamera@@PAVCRNumber@@0@Z
+; class CRSound * __stdcall CRPhase(class CRSound *,double)
+?CRPhase@@YGPAVCRSound@@PAV1@N@Z
+; class CRSound * __stdcall CRPhase(class CRSound *,class CRNumber *)
+?CRPhase@@YGPAVCRSound@@PAV1@PAVCRNumber@@@Z
+; class CRPickableResult * __stdcall CRPickable(class CRGeometry *)
+?CRPickable@@YGPAVCRPickableResult@@PAVCRGeometry@@@Z
+; class CRPickableResult * __stdcall CRPickable(class CRImage *)
+?CRPickable@@YGPAVCRPickableResult@@PAVCRImage@@@Z
+; class CRPickableResult * __stdcall CRPickableOccluded(class CRGeometry *)
+?CRPickableOccluded@@YGPAVCRPickableResult@@PAVCRGeometry@@@Z
+; class CRPickableResult * __stdcall CRPickableOccluded(class CRImage *)
+?CRPickableOccluded@@YGPAVCRPickableResult@@PAVCRImage@@@Z
+; class CRPath2 * __stdcall CRPie(double,double,double,double)
+?CRPie@@YGPAVCRPath2@@NNNN@Z
+; class CRPath2 * __stdcall CRPieRadians(double,double,double,double)
+?CRPieRadians@@YGPAVCRPath2@@NNNN@Z
+; class CRPath2 * __stdcall CRPieRadians(class CRNumber *,class CRNumber *,class CRNumber *,class CRNumber *)
+?CRPieRadians@@YGPAVCRPath2@@PAVCRNumber@@000@Z
+; class CRNumber * __stdcall CRPixel(void)
+?CRPixel@@YGPAVCRNumber@@XZ
+; class CRPoint2 * __stdcall CRPoint2Polar(double,double)
+?CRPoint2Polar@@YGPAVCRPoint2@@NN@Z
+; class CRPoint2 * __stdcall CRPoint2Polar(class CRNumber *,class CRNumber *)
+?CRPoint2Polar@@YGPAVCRPoint2@@PAVCRNumber@@0@Z
+; class CRPoint3 * __stdcall CRPoint3Spherical(double,double,double)
+?CRPoint3Spherical@@YGPAVCRPoint3@@NNN@Z
+; class CRPoint3 * __stdcall CRPoint3Spherical(class CRNumber *,class CRNumber *,class CRNumber *)
+?CRPoint3Spherical@@YGPAVCRPoint3@@PAVCRNumber@@00@Z
+; class CRGeometry * __stdcall CRPointLight(void)
+?CRPointLight@@YGPAVCRGeometry@@XZ
+; class CRNumber * __stdcall CRPolarCoordAngle(class CRPoint2 *)
+?CRPolarCoordAngle@@YGPAVCRNumber@@PAVCRPoint2@@@Z
+; class CRNumber * __stdcall CRPolarCoordAngle(class CRVector2 *)
+?CRPolarCoordAngle@@YGPAVCRNumber@@PAVCRVector2@@@Z
+; class CRNumber * __stdcall CRPolarCoordLength(class CRPoint2 *)
+?CRPolarCoordLength@@YGPAVCRNumber@@PAVCRPoint2@@@Z
+; class CRNumber * __stdcall CRPolarCoordLength(class CRVector2 *)
+?CRPolarCoordLength@@YGPAVCRNumber@@PAVCRVector2@@@Z
+; class CRPath2 * __stdcall CRPolydrawPath(double *,unsigned int,double *,unsigned int)
+?CRPolydrawPath@@YGPAVCRPath2@@PANI0I@Z
+; class CRPath2 * __stdcall CRPolydrawPath(class CRArray *,class CRArray *)
+?CRPolydrawPath@@YGPAVCRPath2@@PAVCRArray@@0@Z
+; class CRPath2 * __stdcall CRPolyline(class CRArray *)
+?CRPolyline@@YGPAVCRPath2@@PAVCRArray@@@Z
+; class CRNumber * __stdcall CRPow(class CRNumber *,class CRNumber *)
+?CRPow@@YGPAVCRNumber@@PAV1@0@Z
+; class CREvent * __stdcall CRPredicate(class CRBoolean *)
+?CRPredicate@@YGPAVCREvent@@PAVCRBoolean@@@Z
+; class CRPoint2 * __stdcall CRProject(class CRPoint3 *,class CRCamera *)
+?CRProject@@YGPAVCRPoint2@@PAVCRPoint3@@PAVCRCamera@@@Z
+; bool __stdcall CRPropagate(class CRView *)
+?CRPropagate@@YG_NPAVCRView@@@Z
+; class CRColor * __stdcall CRPurple(void)
+?CRPurple@@YGPAVCRColor@@XZ
+; bool __stdcall CRPutPreference(class CRView *,unsigned short *,struct tagVARIANT)
+?CRPutPreference@@YG_NPAVCRView@@PAGUtagVARIANT@@@Z
+; unsigned long __stdcall CRQueryHitPoint(class CRView *,unsigned long,struct tagRECT const *,struct tagPOINT,long)
+?CRQueryHitPoint@@YGKPAVCRView@@KPBUtagRECT@@UtagPOINT@@J@Z
+; long __stdcall CRQueryHitPointEx(class CRView *,long,unsigned long *,double *,struct tagRECT const *,struct tagPOINT)
+?CRQueryHitPointEx@@YGJPAVCRView@@JPAKPANPBUtagRECT@@UtagPOINT@@@Z
+; class CRImage * __stdcall CRRadialGradientMulticolor(class CRArray *,class CRArray *)
+?CRRadialGradientMulticolor@@YGPAVCRImage@@PAVCRArray@@0@Z
+; class CRImage * __stdcall CRRadialGradientPolygon(class CRColor *,class CRColor *,class CRArray *,double)
+?CRRadialGradientPolygon@@YGPAVCRImage@@PAVCRColor@@0PAVCRArray@@N@Z
+; class CRImage * __stdcall CRRadialGradientPolygon(class CRColor *,class CRColor *,class CRArray *,class CRNumber *)
+?CRRadialGradientPolygon@@YGPAVCRImage@@PAVCRColor@@0PAVCRArray@@PAVCRNumber@@@Z
+; class CRImage * __stdcall CRRadialGradientRegularPoly(class CRColor *,class CRColor *,double,double)
+?CRRadialGradientRegularPoly@@YGPAVCRImage@@PAVCRColor@@0NN@Z
+; class CRImage * __stdcall CRRadialGradientRegularPoly(class CRColor *,class CRColor *,class CRNumber *,class CRNumber *)
+?CRRadialGradientRegularPoly@@YGPAVCRImage@@PAVCRColor@@0PAVCRNumber@@1@Z
+; class CRImage * __stdcall CRRadialGradientSquare(class CRColor *,class CRColor *,double)
+?CRRadialGradientSquare@@YGPAVCRImage@@PAVCRColor@@0N@Z
+; class CRImage * __stdcall CRRadialGradientSquare(class CRColor *,class CRColor *,class CRNumber *)
+?CRRadialGradientSquare@@YGPAVCRImage@@PAVCRColor@@0PAVCRNumber@@@Z
+; class CRSound * __stdcall CRRate(class CRSound *,double)
+?CRRate@@YGPAVCRSound@@PAV1@N@Z
+; class CRSound * __stdcall CRRate(class CRSound *,class CRNumber *)
+?CRRate@@YGPAVCRSound@@PAV1@PAVCRNumber@@@Z
+; class CRPath2 * __stdcall CRRay(class CRPoint2 *)
+?CRRay@@YGPAVCRPath2@@PAVCRPoint2@@@Z
+; class CRPath2 * __stdcall CRRect(double,double)
+?CRRect@@YGPAVCRPath2@@NN@Z
+; class CRPath2 * __stdcall CRRect(class CRNumber *,class CRNumber *)
+?CRRect@@YGPAVCRPath2@@PAVCRNumber@@0@Z
+; class CRColor * __stdcall CRRed(void)
+?CRRed@@YGPAVCRColor@@XZ
+; bool __stdcall CRReleaseGC(void *)
+?CRReleaseGC@@YG_NPAX@Z
+; bool __stdcall CRReleaseGCLock(void)
+?CRReleaseGCLock@@YG_NXZ
+; bool __stdcall CRRemoveElement(class CRArray *,long)
+?CRRemoveElement@@YG_NPAVCRArray@@J@Z
+; bool __stdcall CRRemoveRunningBvr(class CRView *,long)
+?CRRemoveRunningBvr@@YG_NPAVCRView@@J@Z
+; bool __stdcall CRRemoveSite(class CRSite *)
+?CRRemoveSite@@YG_NPAVCRSite@@@Z
+; class CRImage * __stdcall CRRender(class CRGeometry *,class CRCamera *)
+?CRRender@@YGPAVCRImage@@PAVCRGeometry@@PAVCRCamera@@@Z
+; class CRImage * __stdcall CRRender(class CRMontage *)
+?CRRender@@YGPAVCRImage@@PAVCRMontage@@@Z
+; bool __stdcall CRRender(class CRView *)
+?CRRender@@YG_NPAVCRView@@@Z
+; class CRImage * __stdcall CRRenderResolution(class CRImage *,long,long)
+?CRRenderResolution@@YGPAVCRImage@@PAV1@JJ@Z
+; class CRSound * __stdcall CRRenderSound(class CRGeometry *,class CRMicrophone *)
+?CRRenderSound@@YGPAVCRSound@@PAVCRGeometry@@PAVCRMicrophone@@@Z
+; bool __stdcall CRRepaint(class CRView *,long,long,long,long)
+?CRRepaint@@YG_NPAVCRView@@JJJJ@Z
+; class CRBvr * __stdcall CRRepeat(class CRBvr *,long)
+?CRRepeat@@YGPAVCRBvr@@PAV1@J@Z
+; class CRBvr * __stdcall CRRepeatForever(class CRBvr *)
+?CRRepeatForever@@YGPAVCRBvr@@PAV1@@Z
+; bool __stdcall CRResumeModel(class CRView *)
+?CRResumeModel@@YG_NPAVCRView@@@Z
+; class CREvent * __stdcall CRRightButtonDown(void)
+?CRRightButtonDown@@YGPAVCREvent@@XZ
+; class CRBoolean * __stdcall CRRightButtonState(void)
+?CRRightButtonState@@YGPAVCRBoolean@@XZ
+; class CREvent * __stdcall CRRightButtonUp(void)
+?CRRightButtonUp@@YGPAVCREvent@@XZ
+; class CRTransform2 * __stdcall CRRotate2(double)
+?CRRotate2@@YGPAVCRTransform2@@N@Z
+; class CRTransform2 * __stdcall CRRotate2(class CRNumber *)
+?CRRotate2@@YGPAVCRTransform2@@PAVCRNumber@@@Z
+; class CRTransform2 * __stdcall CRRotate2Degrees(double)
+?CRRotate2Degrees@@YGPAVCRTransform2@@N@Z
+; class CRTransform3 * __stdcall CRRotate3(class CRVector3 *,double)
+?CRRotate3@@YGPAVCRTransform3@@PAVCRVector3@@N@Z
+; class CRTransform3 * __stdcall CRRotate3(class CRVector3 *,class CRNumber *)
+?CRRotate3@@YGPAVCRTransform3@@PAVCRVector3@@PAVCRNumber@@@Z
+; class CRNumber * __stdcall CRRound(class CRNumber *)
+?CRRound@@YGPAVCRNumber@@PAV1@@Z
+; class CRPath2 * __stdcall CRRoundRect(double,double,double,double)
+?CRRoundRect@@YGPAVCRPath2@@NNNN@Z
+; class CRPath2 * __stdcall CRRoundRect(class CRNumber *,class CRNumber *,class CRNumber *,class CRNumber *)
+?CRRoundRect@@YGPAVCRPath2@@PAVCRNumber@@000@Z
+; class CRBvr * __stdcall CRRunOnce(class CRBvr *)
+?CRRunOnce@@YGPAVCRBvr@@PAV1@@Z
+; class CRBvr * __stdcall CRSampleAtLocalTime(class CRBvr *,double)
+?CRSampleAtLocalTime@@YGPAVCRBvr@@PAV1@N@Z
+; class CRTransform2 * __stdcall CRScale2(double,double)
+?CRScale2@@YGPAVCRTransform2@@NN@Z
+; class CRTransform2 * __stdcall CRScale2(class CRNumber *,class CRNumber *)
+?CRScale2@@YGPAVCRTransform2@@PAVCRNumber@@0@Z
+; class CRTransform2 * __stdcall CRScale2(class CRVector2 *)
+?CRScale2@@YGPAVCRTransform2@@PAVCRVector2@@@Z
+; class CRTransform2 * __stdcall CRScale2Uniform(double)
+?CRScale2Uniform@@YGPAVCRTransform2@@N@Z
+; class CRTransform2 * __stdcall CRScale2Uniform(class CRNumber *)
+?CRScale2Uniform@@YGPAVCRTransform2@@PAVCRNumber@@@Z
+; class CRTransform3 * __stdcall CRScale3(double,double,double)
+?CRScale3@@YGPAVCRTransform3@@NNN@Z
+; class CRTransform3 * __stdcall CRScale3(class CRNumber *,class CRNumber *,class CRNumber *)
+?CRScale3@@YGPAVCRTransform3@@PAVCRNumber@@00@Z
+; class CRTransform3 * __stdcall CRScale3(class CRVector3 *)
+?CRScale3@@YGPAVCRTransform3@@PAVCRVector3@@@Z
+; class CRTransform3 * __stdcall CRScale3Uniform(double)
+?CRScale3Uniform@@YGPAVCRTransform3@@N@Z
+; class CRTransform3 * __stdcall CRScale3Uniform(class CRNumber *)
+?CRScale3Uniform@@YGPAVCRTransform3@@PAVCRNumber@@@Z
+; class CRBvr * __stdcall CRSecond(class CRPair *)
+?CRSecond@@YGPAVCRBvr@@PAVCRPair@@@Z
+; class CRNumber * __stdcall CRSeededRandom(double)
+?CRSeededRandom@@YGPAVCRNumber@@N@Z
+; class CRBvr * __stdcall CRSequence(class CRBvr *,class CRBvr *)
+?CRSequence@@YGPAVCRBvr@@PAV1@0@Z
+; class CRBvr * __stdcall CRSequenceArray(long,class CRBvr * * const)
+?CRSequenceArray@@YGPAVCRBvr@@JQAPAV1@@Z
+; bool __stdcall CRSetBvrAsProperty(class CRDXTransformResult *,unsigned short const *,class CRBvr *)
+?CRSetBvrAsProperty@@YG_NPAVCRDXTransformResult@@PBGPAVCRBvr@@@Z
+; bool __stdcall CRSetClipRect(class CRView *,long,long,long,long)
+?CRSetClipRect@@YG_NPAVCRView@@JJJJ@Z
+; bool __stdcall CRSetCompositeDirectlyToTarget(class CRView *,bool)
+?CRSetCompositeDirectlyToTarget@@YG_NPAVCRView@@_N@Z
+; bool __stdcall CRSetDC(class CRView *,struct HDC__ *)
+?CRSetDC@@YG_NPAVCRView@@PAUHDC__@@@Z
+; bool __stdcall CRSetDirectDrawSurface(class CRView *,struct IUnknown *)
+?CRSetDirectDrawSurface@@YG_NPAVCRView@@PAUIUnknown@@@Z
+; bool __stdcall CRSetElement(class CRArray *,long,class CRBvr *,long)
+?CRSetElement@@YG_NPAVCRArray@@JPAVCRBvr@@J@Z
+; bool __stdcall CRSetImportPriority(class CRBvr *,float)
+?CRSetImportPriority@@YG_NPAVCRBvr@@M@Z
+; void __stdcall CRSetLastError(long,unsigned short const *)
+?CRSetLastError@@YGXJPBG@Z
+; bool __stdcall CRSetServiceProvider(class CRView *,struct IServiceProvider *)
+?CRSetServiceProvider@@YG_NPAVCRView@@PAUIServiceProvider@@@Z
+; bool __stdcall CRSetSite(class CRView *,class CRViewSite *)
+?CRSetSite@@YG_NPAVCRView@@PAVCRViewSite@@@Z
+; bool __stdcall CRSetViewport(class CRView *,long,long,long,long)
+?CRSetViewport@@YG_NPAVCRView@@JJJJ@Z
+; bool __stdcall CRSetWindow(class CRView *,struct HWND__ *)
+?CRSetWindow@@YG_NPAVCRView@@PAUHWND__@@@Z
+; class CRGeometry * __stdcall CRShadow(class CRGeometry *,class CRGeometry *,class CRPoint3 *,class CRVector3 *)
+?CRShadow@@YGPAVCRGeometry@@PAV1@0PAVCRPoint3@@PAVCRVector3@@@Z
+; class CRSound * __stdcall CRSilence(void)
+?CRSilence@@YGPAVCRSound@@XZ
+; class CRColor * __stdcall CRSilver(void)
+?CRSilver@@YGPAVCRColor@@XZ
+; class CRNumber * __stdcall CRSin(class CRNumber *)
+?CRSin@@YGPAVCRNumber@@PAV1@@Z
+; class CRSound * __stdcall CRSinSynth(void)
+?CRSinSynth@@YGPAVCRSound@@XZ
+; class CRFontStyle * __stdcall CRSize(class CRFontStyle *,double)
+?CRSize@@YGPAVCRFontStyle@@PAV1@N@Z
+; class CRFontStyle * __stdcall CRSize(class CRFontStyle *,class CRNumber *)
+?CRSize@@YGPAVCRFontStyle@@PAV1@PAVCRNumber@@@Z
+; class CRNumber * __stdcall CRSlowInSlowOut(double,double,double,double)
+?CRSlowInSlowOut@@YGPAVCRNumber@@NNNN@Z
+; class CRNumber * __stdcall CRSlowInSlowOut(class CRNumber *,class CRNumber *,class CRNumber *,class CRNumber *)
+?CRSlowInSlowOut@@YGPAVCRNumber@@PAV1@000@Z
+; class CREvent * __stdcall CRSnapshot(class CREvent *,class CRBvr *)
+?CRSnapshot@@YGPAVCREvent@@PAV1@PAVCRBvr@@@Z
+; class CRImage * __stdcall CRSolidColorImage(class CRColor *)
+?CRSolidColorImage@@YGPAVCRImage@@PAVCRColor@@@Z
+; class CRGeometry * __stdcall CRSoundSource(class CRSound *)
+?CRSoundSource@@YGPAVCRGeometry@@PAVCRSound@@@Z
+; class CRGeometry * __stdcall CRSpecularColor(class CRGeometry *,class CRColor *)
+?CRSpecularColor@@YGPAVCRGeometry@@PAV1@PAVCRColor@@@Z
+; class CRGeometry * __stdcall CRSpecularExponent(class CRGeometry *,double)
+?CRSpecularExponent@@YGPAVCRGeometry@@PAV1@N@Z
+; class CRGeometry * __stdcall CRSpecularExponentAnim(class CRGeometry *,class CRNumber *)
+?CRSpecularExponentAnim@@YGPAVCRGeometry@@PAV1@PAVCRNumber@@@Z
+; class CRNumber * __stdcall CRSphericalCoordLength(class CRPoint3 *)
+?CRSphericalCoordLength@@YGPAVCRNumber@@PAVCRPoint3@@@Z
+; class CRNumber * __stdcall CRSphericalCoordLength(class CRVector3 *)
+?CRSphericalCoordLength@@YGPAVCRNumber@@PAVCRVector3@@@Z
+; class CRNumber * __stdcall CRSphericalCoordXYAngle(class CRPoint3 *)
+?CRSphericalCoordXYAngle@@YGPAVCRNumber@@PAVCRPoint3@@@Z
+; class CRNumber * __stdcall CRSphericalCoordXYAngle(class CRVector3 *)
+?CRSphericalCoordXYAngle@@YGPAVCRNumber@@PAVCRVector3@@@Z
+; class CRNumber * __stdcall CRSphericalCoordYZAngle(class CRPoint3 *)
+?CRSphericalCoordYZAngle@@YGPAVCRNumber@@PAVCRPoint3@@@Z
+; class CRNumber * __stdcall CRSphericalCoordYZAngle(class CRVector3 *)
+?CRSphericalCoordYZAngle@@YGPAVCRNumber@@PAVCRVector3@@@Z
+; class CRGeometry * __stdcall CRSpotLight(class CRNumber *,class CRNumber *)
+?CRSpotLight@@YGPAVCRGeometry@@PAVCRNumber@@0@Z
+; class CRGeometry * __stdcall CRSpotLight(class CRNumber *,double)
+?CRSpotLight@@YGPAVCRGeometry@@PAVCRNumber@@N@Z
+; class CRNumber * __stdcall CRSqrt(class CRNumber *)
+?CRSqrt@@YGPAVCRNumber@@PAV1@@Z
+; bool __stdcall CRStartModel(class CRView *,class CRImage *,class CRSound *,double,unsigned long,bool *)
+?CRStartModel@@YG_NPAVCRView@@PAVCRImage@@PAVCRSound@@NKPA_N@Z
+; bool __stdcall CRStopModel(class CRView *)
+?CRStopModel@@YG_NPAVCRView@@@Z
+; class CRFontStyle * __stdcall CRStrikethrough(class CRFontStyle *)
+?CRStrikethrough@@YGPAVCRFontStyle@@PAV1@@Z
+; class CRImage * __stdcall CRStringImage(unsigned short *,class CRFontStyle *)
+?CRStringImage@@YGPAVCRImage@@PAGPAVCRFontStyle@@@Z
+; class CRImage * __stdcall CRStringImage(class CRString *,class CRFontStyle *)
+?CRStringImage@@YGPAVCRImage@@PAVCRString@@PAVCRFontStyle@@@Z
+; class CRPath2 * __stdcall CRStringPath(unsigned short *,class CRFontStyle *)
+?CRStringPath@@YGPAVCRPath2@@PAGPAVCRFontStyle@@@Z
+; class CRPath2 * __stdcall CRStringPath(class CRString *,class CRFontStyle *)
+?CRStringPath@@YGPAVCRPath2@@PAVCRString@@PAVCRFontStyle@@@Z
+; class CRNumber * __stdcall CRSub(class CRNumber *,class CRNumber *)
+?CRSub@@YGPAVCRNumber@@PAV1@0@Z
+; class CRPoint2 * __stdcall CRSub(class CRPoint2 *,class CRVector2 *)
+?CRSub@@YGPAVCRPoint2@@PAV1@PAVCRVector2@@@Z
+; class CRPoint3 * __stdcall CRSub(class CRPoint3 *,class CRVector3 *)
+?CRSub@@YGPAVCRPoint3@@PAV1@PAVCRVector3@@@Z
+; class CRVector2 * __stdcall CRSub(class CRVector2 *,class CRVector2 *)
+?CRSub@@YGPAVCRVector2@@PAV1@0@Z
+; class CRVector2 * __stdcall CRSub(class CRPoint2 *,class CRPoint2 *)
+?CRSub@@YGPAVCRVector2@@PAVCRPoint2@@0@Z
+; class CRVector3 * __stdcall CRSub(class CRVector3 *,class CRVector3 *)
+?CRSub@@YGPAVCRVector3@@PAV1@0@Z
+; class CRVector3 * __stdcall CRSub(class CRPoint3 *,class CRPoint3 *)
+?CRSub@@YGPAVCRVector3@@PAVCRPoint3@@0@Z
+; class CRBvr * __stdcall CRSubstituteTime(class CRBvr *,class CRNumber *)
+?CRSubstituteTime@@YGPAVCRBvr@@PAV1@PAVCRNumber@@@Z
+; bool __stdcall CRSwitchTo(class CRBvr *,class CRBvr *,bool,unsigned long,double)
+?CRSwitchTo@@YG_NPAVCRBvr@@0_NKN@Z
+; bool __stdcall CRSwitchToBool(class CRBoolean *,bool)
+?CRSwitchToBool@@YG_NPAVCRBoolean@@_N@Z
+; bool __stdcall CRSwitchToNumber(class CRNumber *,double)
+?CRSwitchToNumber@@YG_NPAVCRNumber@@N@Z
+; bool __stdcall CRSwitchToString(class CRString *,unsigned short *)
+?CRSwitchToString@@YG_NPAVCRString@@PAG@Z
+; class CRNumber * __stdcall CRTan(class CRNumber *)
+?CRTan@@YGPAVCRNumber@@PAV1@@Z
+; class CRColor * __stdcall CRTeal(void)
+?CRTeal@@YGPAVCRColor@@XZ
+; class CRFontStyle * __stdcall CRTextColor(class CRFontStyle *,class CRColor *)
+?CRTextColor@@YGPAVCRFontStyle@@PAV1@PAVCRColor@@@Z
+; class CRImage * __stdcall CRTextImage(unsigned short *,class CRFontStyle *)
+?CRTextImage@@YGPAVCRImage@@PAGPAVCRFontStyle@@@Z
+; class CRImage * __stdcall CRTextImage(class CRString *,class CRFontStyle *)
+?CRTextImage@@YGPAVCRImage@@PAVCRString@@PAVCRFontStyle@@@Z
+; class CRMatte * __stdcall CRTextMatte(class CRString *,class CRFontStyle *)
+?CRTextMatte@@YGPAVCRMatte@@PAVCRString@@PAVCRFontStyle@@@Z
+; class CRPath2 * __stdcall CRTextPath(class CRString *,class CRFontStyle *)
+?CRTextPath@@YGPAVCRPath2@@PAVCRString@@PAVCRFontStyle@@@Z
+; class CRGeometry * __stdcall CRTexture(class CRGeometry *,class CRImage *)
+?CRTexture@@YGPAVCRGeometry@@PAV1@PAVCRImage@@@Z
+; class CRGeometry * __stdcall CRTextureImage(class CRGeometry *,class CRImage *)
+?CRTextureImage@@YGPAVCRGeometry@@PAV1@PAVCRImage@@@Z
+; class CREvent * __stdcall CRThenEvent(class CREvent *,class CREvent *)
+?CRThenEvent@@YGPAVCREvent@@PAV1@0@Z
+; bool __stdcall CRTick(class CRView *,double,bool *)
+?CRTick@@YG_NPAVCRView@@NPA_N@Z
+; class CRImage * __stdcall CRTile(class CRImage *)
+?CRTile@@YGPAVCRImage@@PAV1@@Z
+; class CREvent * __stdcall CRTimer(double)
+?CRTimer@@YGPAVCREvent@@N@Z
+; class CREvent * __stdcall CRTimer(class CRNumber *)
+?CRTimer@@YGPAVCREvent@@PAVCRNumber@@@Z
+; class CRNumber * __stdcall CRToDegrees(class CRNumber *)
+?CRToDegrees@@YGPAVCRNumber@@PAV1@@Z
+; class CRNumber * __stdcall CRToRadians(class CRNumber *)
+?CRToRadians@@YGPAVCRNumber@@PAV1@@Z
+; class CRString * __stdcall CRToString(class CRNumber *,class CRNumber *)
+?CRToString@@YGPAVCRString@@PAVCRNumber@@0@Z
+; class CRString * __stdcall CRToString(class CRNumber *,double)
+?CRToString@@YGPAVCRString@@PAVCRNumber@@N@Z
+; class CRTransform2 * __stdcall CRTransform3x2(double *,unsigned int)
+?CRTransform3x2@@YGPAVCRTransform2@@PANI@Z
+; class CRTransform2 * __stdcall CRTransform3x2(class CRArray *)
+?CRTransform3x2@@YGPAVCRTransform2@@PAVCRArray@@@Z
+; class CRTransform3 * __stdcall CRTransform4x4(class CRArray *)
+?CRTransform4x4@@YGPAVCRTransform3@@PAVCRArray@@@Z
+; class CRCamera * __stdcall CRTransform(class CRCamera *,class CRTransform3 *)
+?CRTransform@@YGPAVCRCamera@@PAV1@PAVCRTransform3@@@Z
+; class CRGeometry * __stdcall CRTransform(class CRGeometry *,class CRTransform3 *)
+?CRTransform@@YGPAVCRGeometry@@PAV1@PAVCRTransform3@@@Z
+; class CRImage * __stdcall CRTransform(class CRImage *,class CRTransform2 *)
+?CRTransform@@YGPAVCRImage@@PAV1@PAVCRTransform2@@@Z
+; class CRMatte * __stdcall CRTransform(class CRMatte *,class CRTransform2 *)
+?CRTransform@@YGPAVCRMatte@@PAV1@PAVCRTransform2@@@Z
+; class CRMicrophone * __stdcall CRTransform(class CRMicrophone *,class CRTransform3 *)
+?CRTransform@@YGPAVCRMicrophone@@PAV1@PAVCRTransform3@@@Z
+; class CRPath2 * __stdcall CRTransform(class CRPath2 *,class CRTransform2 *)
+?CRTransform@@YGPAVCRPath2@@PAV1@PAVCRTransform2@@@Z
+; class CRPoint2 * __stdcall CRTransform(class CRPoint2 *,class CRTransform2 *)
+?CRTransform@@YGPAVCRPoint2@@PAV1@PAVCRTransform2@@@Z
+; class CRPoint3 * __stdcall CRTransform(class CRPoint3 *,class CRTransform3 *)
+?CRTransform@@YGPAVCRPoint3@@PAV1@PAVCRTransform3@@@Z
+; class CRVector2 * __stdcall CRTransform(class CRVector2 *,class CRTransform2 *)
+?CRTransform@@YGPAVCRVector2@@PAV1@PAVCRTransform2@@@Z
+; class CRVector3 * __stdcall CRTransform(class CRVector3 *,class CRTransform3 *)
+?CRTransform@@YGPAVCRVector3@@PAV1@PAVCRTransform3@@@Z
+; class CRFontStyle * __stdcall CRTransformCharacters(class CRFontStyle *,class CRTransform2 *)
+?CRTransformCharacters@@YGPAVCRFontStyle@@PAV1@PAVCRTransform2@@@Z
+; class CRImage * __stdcall CRTransformColorRGB(class CRImage *,class CRTransform3 *)
+?CRTransformColorRGB@@YGPAVCRImage@@PAV1@PAVCRTransform3@@@Z
+; class CRTransform2 * __stdcall CRTranslate2(double,double)
+?CRTranslate2@@YGPAVCRTransform2@@NN@Z
+; class CRTransform2 * __stdcall CRTranslate2(class CRNumber *,class CRNumber *)
+?CRTranslate2@@YGPAVCRTransform2@@PAVCRNumber@@0@Z
+; class CRTransform2 * __stdcall CRTranslate2(class CRPoint2 *)
+?CRTranslate2@@YGPAVCRTransform2@@PAVCRPoint2@@@Z
+; class CRTransform2 * __stdcall CRTranslate2(class CRVector2 *)
+?CRTranslate2@@YGPAVCRTransform2@@PAVCRVector2@@@Z
+; class CRTransform3 * __stdcall CRTranslate3(double,double,double)
+?CRTranslate3@@YGPAVCRTransform3@@NNN@Z
+; class CRTransform3 * __stdcall CRTranslate3(class CRNumber *,class CRNumber *,class CRNumber *)
+?CRTranslate3@@YGPAVCRTransform3@@PAVCRNumber@@00@Z
+; class CRTransform3 * __stdcall CRTranslate3(class CRPoint3 *)
+?CRTranslate3@@YGPAVCRTransform3@@PAVCRPoint3@@@Z
+; class CRTransform3 * __stdcall CRTranslate3(class CRVector3 *)
+?CRTranslate3@@YGPAVCRTransform3@@PAVCRVector3@@@Z
+; class CRGeometry * __stdcall CRTriMesh(class TriMeshData &)
+?CRTriMesh@@YGPAVCRGeometry@@AAVTriMeshData@@@Z
+; bool __stdcall CRTriggerEvent(class CREvent *,class CRBvr *)
+?CRTriggerEvent@@YG_NPAVCREvent@@PAVCRBvr@@@Z
+; class CRBoolean * __stdcall CRTrue(void)
+?CRTrue@@YGPAVCRBoolean@@XZ
+; class CRFontStyle * __stdcall CRUnderline(class CRFontStyle *)
+?CRUnderline@@YGPAVCRFontStyle@@PAV1@@Z
+; class CRGeometry * __stdcall CRUndetectable(class CRGeometry *)
+?CRUndetectable@@YGPAVCRGeometry@@PAV1@@Z
+; class CRImage * __stdcall CRUndetectable(class CRImage *)
+?CRUndetectable@@YGPAVCRImage@@PAV1@@Z
+; class CRArray * __stdcall CRUninitializedArray(class CRArray *)
+?CRUninitializedArray@@YGPAVCRArray@@PAV1@@Z
+; class CRBvr * __stdcall CRUninitializedBvr(enum CR_BVR_TYPEID)
+?CRUninitializedBvr@@YGPAVCRBvr@@W4CR_BVR_TYPEID@@@Z
+; class CRTuple * __stdcall CRUninitializedTuple(class CRTuple *)
+?CRUninitializedTuple@@YGPAVCRTuple@@PAV1@@Z
+; class CRGeometry * __stdcall CRUnionGeometry(class CRGeometry *,class CRGeometry *)
+?CRUnionGeometry@@YGPAVCRGeometry@@PAV1@0@Z
+; class CRGeometry * __stdcall CRUnionGeometry(class CRArray *)
+?CRUnionGeometry@@YGPAVCRGeometry@@PAVCRArray@@@Z
+; class CRMatte * __stdcall CRUnionMatte(class CRMatte *,class CRMatte *)
+?CRUnionMatte@@YGPAVCRMatte@@PAV1@0@Z
+; class CRMontage * __stdcall CRUnionMontage(class CRMontage *,class CRMontage *)
+?CRUnionMontage@@YGPAVCRMontage@@PAV1@0@Z
+; class CRMontage * __stdcall CRUnionMontageArray(class CRArray *)
+?CRUnionMontageArray@@YGPAVCRMontage@@PAVCRArray@@@Z
+; class CRBvr * __stdcall CRUntil(class CRBvr *,class CREvent *,class CRBvr *)
+?CRUntil@@YGPAVCRBvr@@PAV1@PAVCREvent@@0@Z
+; class CRBvr * __stdcall CRUntilEx(class CRBvr *,class CREvent *)
+?CRUntilEx@@YGPAVCRBvr@@PAV1@PAVCREvent@@@Z
+; class CRBvr * __stdcall CRUntilNotify(class CRBvr *,class CREvent *,class CRUntilNotifier *)
+?CRUntilNotify@@YGPAVCRBvr@@PAV1@PAVCREvent@@PAVCRUntilNotifier@@@Z
+; class CRVector2 * __stdcall CRVector2Polar(double,double)
+?CRVector2Polar@@YGPAVCRVector2@@NN@Z
+; class CRVector2 * __stdcall CRVector2Polar(class CRNumber *,class CRNumber *)
+?CRVector2Polar@@YGPAVCRVector2@@PAVCRNumber@@0@Z
+; class CRVector3 * __stdcall CRVector3Spherical(double,double,double)
+?CRVector3Spherical@@YGPAVCRVector3@@NNN@Z
+; class CRVector3 * __stdcall CRVector3Spherical(class CRNumber *,class CRNumber *,class CRNumber *)
+?CRVector3Spherical@@YGPAVCRVector3@@PAVCRNumber@@00@Z
+; unsigned short const * __stdcall CRVersionString(void)
+?CRVersionString@@YGPBGXZ
+; class CRNumber * __stdcall CRViewFrameRate(void)
+?CRViewFrameRate@@YGPAVCRNumber@@XZ
+; class CRNumber * __stdcall CRViewTimeDelta(void)
+?CRViewTimeDelta@@YGPAVCRNumber@@XZ
+; class CRFontStyle * __stdcall CRWeight(class CRFontStyle *,double)
+?CRWeight@@YGPAVCRFontStyle@@PAV1@N@Z
+; class CRFontStyle * __stdcall CRWeight(class CRFontStyle *,class CRNumber *)
+?CRWeight@@YGPAVCRFontStyle@@PAV1@PAVCRNumber@@@Z
+; class CRColor * __stdcall CRWhite(void)
+?CRWhite@@YGPAVCRColor@@XZ
+; class CRLineStyle * __stdcall CRWidth(class CRLineStyle *,double)
+?CRWidth@@YGPAVCRLineStyle@@PAV1@N@Z
+; class CRLineStyle * __stdcall CRWidth(class CRLineStyle *,class CRNumber *)
+?CRWidth@@YGPAVCRLineStyle@@PAV1@PAVCRNumber@@@Z
+; class CRTransform2 * __stdcall CRXShear2(double)
+?CRXShear2@@YGPAVCRTransform2@@N@Z
+; class CRTransform2 * __stdcall CRXShear2(class CRNumber *)
+?CRXShear2@@YGPAVCRTransform2@@PAVCRNumber@@@Z
+; class CRTransform3 * __stdcall CRXShear3(double,double)
+?CRXShear3@@YGPAVCRTransform3@@NN@Z
+; class CRTransform3 * __stdcall CRXShear3(class CRNumber *,class CRNumber *)
+?CRXShear3@@YGPAVCRTransform3@@PAVCRNumber@@0@Z
+; class CRVector2 * __stdcall CRXVector2(void)
+?CRXVector2@@YGPAVCRVector2@@XZ
+; class CRVector3 * __stdcall CRXVector3(void)
+?CRXVector3@@YGPAVCRVector3@@XZ
+; class CRTransform2 * __stdcall CRYShear2(double)
+?CRYShear2@@YGPAVCRTransform2@@N@Z
+; class CRTransform2 * __stdcall CRYShear2(class CRNumber *)
+?CRYShear2@@YGPAVCRTransform2@@PAVCRNumber@@@Z
+; class CRTransform3 * __stdcall CRYShear3(double,double)
+?CRYShear3@@YGPAVCRTransform3@@NN@Z
+; class CRTransform3 * __stdcall CRYShear3(class CRNumber *,class CRNumber *)
+?CRYShear3@@YGPAVCRTransform3@@PAVCRNumber@@0@Z
+; class CRVector2 * __stdcall CRYVector2(void)
+?CRYVector2@@YGPAVCRVector2@@XZ
+; class CRVector3 * __stdcall CRYVector3(void)
+?CRYVector3@@YGPAVCRVector3@@XZ
+; class CRColor * __stdcall CRYellow(void)
+?CRYellow@@YGPAVCRColor@@XZ
+; class CRTransform3 * __stdcall CRZShear3(double,double)
+?CRZShear3@@YGPAVCRTransform3@@NN@Z
+; class CRTransform3 * __stdcall CRZShear3(class CRNumber *,class CRNumber *)
+?CRZShear3@@YGPAVCRTransform3@@PAVCRNumber@@0@Z
+; class CRVector3 * __stdcall CRZVector3(void)
+?CRZVector3@@YGPAVCRVector3@@XZ
+; class CRVector2 * __stdcall CRZeroVector2(void)
+?CRZeroVector2@@YGPAVCRVector2@@XZ
+; class CRVector3 * __stdcall CRZeroVector3(void)
+?CRZeroVector3@@YGPAVCRVector3@@XZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdao360.def b/mingw-w64-crt/lib64/wdao360.def
index 357a349..d042c36 100644
--- a/mingw-w64-crt/lib64/wdao360.def
+++ b/mingw-w64-crt/lib64/wdao360.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DAO360.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DAO360.dll
-EXPORTS
-DllGetClassObject
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
-DllRegisterServerEx
+; 
+; Exports of file DAO360.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DAO360.dll
+EXPORTS
+DllGetClassObject
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
+DllRegisterServerEx
diff --git a/mingw-w64-crt/lib64/wdataclen.def b/mingw-w64-crt/lib64/wdataclen.def
index 32449ea..5a9f5c1 100644
--- a/mingw-w64-crt/lib64/wdataclen.def
+++ b/mingw-w64-crt/lib64/wdataclen.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DATACLEN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DATACLEN.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DATACLEN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DATACLEN.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdatime.def b/mingw-w64-crt/lib64/wdatime.def
index 50d187b..6f4820a 100644
--- a/mingw-w64-crt/lib64/wdatime.def
+++ b/mingw-w64-crt/lib64/wdatime.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DATIME.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DATIME.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DATIME.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DATIME.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdavclnt.def b/mingw-w64-crt/lib64/wdavclnt.def
index 0155d8d..5599667 100644
--- a/mingw-w64-crt/lib64/wdavclnt.def
+++ b/mingw-w64-crt/lib64/wdavclnt.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file davclnt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY davclnt.dll
-EXPORTS
-DavFreeUsedDiskSpace
-DavGetDiskSpaceUsage
-DavGetTheLockOwnerOfTheFile
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-NPAddConnection3
-NPAddConnection
-NPCancelConnection
-NPCloseEnum
-NPEnumResource
-NPFormatNetworkName
-NPGetCaps
-NPGetConnection
-NPGetResourceInformation
-NPGetResourceParent
-NPGetUniversalName
-NPGetUser
-NPOpenEnum
+; 
+; Exports of file davclnt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY davclnt.dll
+EXPORTS
+DavFreeUsedDiskSpace
+DavGetDiskSpaceUsage
+DavGetTheLockOwnerOfTheFile
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+NPAddConnection3
+NPAddConnection
+NPCancelConnection
+NPCloseEnum
+NPEnumResource
+NPFormatNetworkName
+NPGetCaps
+NPGetConnection
+NPGetResourceInformation
+NPGetResourceParent
+NPGetUniversalName
+NPGetUser
+NPOpenEnum
diff --git a/mingw-w64-crt/lib64/wdavcprox.def b/mingw-w64-crt/lib64/wdavcprox.def
index 613fff4..a5df187 100644
--- a/mingw-w64-crt/lib64/wdavcprox.def
+++ b/mingw-w64-crt/lib64/wdavcprox.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DAVCPROX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DAVCPROX.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DAVCPROX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DAVCPROX.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdbgeng.def b/mingw-w64-crt/lib64/wdbgeng.def
index cda8422..b95faea 100644
--- a/mingw-w64-crt/lib64/wdbgeng.def
+++ b/mingw-w64-crt/lib64/wdbgeng.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file dbgeng.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dbgeng.dll
-EXPORTS
-DebugConnect
-DebugCreate
+; 
+; Exports of file dbgeng.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dbgeng.dll
+EXPORTS
+DebugConnect
+DebugCreate
diff --git a/mingw-w64-crt/lib64/wdbghelp.def b/mingw-w64-crt/lib64/wdbghelp.def
index dd95369..e91a94c 100644
--- a/mingw-w64-crt/lib64/wdbghelp.def
+++ b/mingw-w64-crt/lib64/wdbghelp.def
@@ -1,117 +1,117 @@
-; 
-; Exports of file dbghelp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dbghelp.dll
-EXPORTS
-DbgHelpCreateUserDump
-DbgHelpCreateUserDumpW
-EnumDirTree
-EnumerateLoadedModules64
-EnumerateLoadedModules
-ExtensionApiVersion
-FindDebugInfoFile
-FindDebugInfoFileEx
-FindExecutableImage
-FindExecutableImageEx
-FindFileInPath
-FindFileInSearchPath
-GetTimestampForLoadedLibrary
-ImageDirectoryEntryToData
-ImageDirectoryEntryToDataEx
-ImageNtHeader
-ImageRvaToSection
-ImageRvaToVa
-ImagehlpApiVersion
-ImagehlpApiVersionEx
-MakeSureDirectoryPathExists
-MapDebugInformation
-MiniDumpReadDumpStream
-MiniDumpWriteDump
-SearchTreeForFile
-StackWalk64
-StackWalk
-SymAddSymbol
-SymCleanup
-SymDeleteSymbol
-SymEnumLines
-SymEnumSourceFiles
-SymEnumSym
-SymEnumSymbols
-SymEnumSymbolsForAddr
-SymEnumTypes
-SymEnumerateModules64
-SymEnumerateModules
-SymEnumerateSymbols64
-SymEnumerateSymbols
-SymEnumerateSymbolsW64
-SymEnumerateSymbolsW
-SymFindFileInPath
-SymFromAddr
-SymFromName
-SymFromToken
-SymFunctionTableAccess64
-SymFunctionTableAccess
-SymGetFileLineOffsets64
-SymGetHomeDirectory
-SymGetLineFromAddr64
-SymGetLineFromAddr
-SymGetLineFromName64
-SymGetLineFromName
-SymGetLineNext64
-SymGetLineNext
-SymGetLinePrev64
-SymGetLinePrev
-SymGetModuleBase64
-SymGetModuleBase
-SymGetModuleInfo64
-SymGetModuleInfo
-SymGetModuleInfoW64
-SymGetModuleInfoW
-SymGetOptions
-SymGetSearchPath
-SymGetSymFromAddr64
-SymGetSymFromAddr
-SymGetSymFromName64
-SymGetSymFromName
-SymGetSymNext64
-SymGetSymNext
-SymGetSymPrev64
-SymGetSymPrev
-SymGetTypeFromName
-SymGetTypeInfo
-SymInitialize
-SymLoadModule64
-SymLoadModule
-SymLoadModuleEx
-SymMatchFileName
-SymMatchString
-SymRegisterCallback64
-SymRegisterCallback
-SymRegisterFunctionEntryCallback64
-SymRegisterFunctionEntryCallback
-SymSetContext
-SymSetHomeDirectory
-SymSetOptions
-SymSetParentWindow
-SymSetSearchPath
-SymUnDName64
-SymUnDName
-SymUnloadModule64
-SymUnloadModule
-UnDecorateSymbolName
-UnmapDebugInformation
-WinDbgExtensionDllInit
-dbghelp
-dh
-fptr
-lm
-lmi
-omap
-srcfiles
-stackdbg
-sym
-symsrv
-vc7fpo
+; 
+; Exports of file dbghelp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dbghelp.dll
+EXPORTS
+DbgHelpCreateUserDump
+DbgHelpCreateUserDumpW
+EnumDirTree
+EnumerateLoadedModules64
+EnumerateLoadedModules
+ExtensionApiVersion
+FindDebugInfoFile
+FindDebugInfoFileEx
+FindExecutableImage
+FindExecutableImageEx
+FindFileInPath
+FindFileInSearchPath
+GetTimestampForLoadedLibrary
+ImageDirectoryEntryToData
+ImageDirectoryEntryToDataEx
+ImageNtHeader
+ImageRvaToSection
+ImageRvaToVa
+ImagehlpApiVersion
+ImagehlpApiVersionEx
+MakeSureDirectoryPathExists
+MapDebugInformation
+MiniDumpReadDumpStream
+MiniDumpWriteDump
+SearchTreeForFile
+StackWalk64
+StackWalk
+SymAddSymbol
+SymCleanup
+SymDeleteSymbol
+SymEnumLines
+SymEnumSourceFiles
+SymEnumSym
+SymEnumSymbols
+SymEnumSymbolsForAddr
+SymEnumTypes
+SymEnumerateModules64
+SymEnumerateModules
+SymEnumerateSymbols64
+SymEnumerateSymbols
+SymEnumerateSymbolsW64
+SymEnumerateSymbolsW
+SymFindFileInPath
+SymFromAddr
+SymFromName
+SymFromToken
+SymFunctionTableAccess64
+SymFunctionTableAccess
+SymGetFileLineOffsets64
+SymGetHomeDirectory
+SymGetLineFromAddr64
+SymGetLineFromAddr
+SymGetLineFromName64
+SymGetLineFromName
+SymGetLineNext64
+SymGetLineNext
+SymGetLinePrev64
+SymGetLinePrev
+SymGetModuleBase64
+SymGetModuleBase
+SymGetModuleInfo64
+SymGetModuleInfo
+SymGetModuleInfoW64
+SymGetModuleInfoW
+SymGetOptions
+SymGetSearchPath
+SymGetSymFromAddr64
+SymGetSymFromAddr
+SymGetSymFromName64
+SymGetSymFromName
+SymGetSymNext64
+SymGetSymNext
+SymGetSymPrev64
+SymGetSymPrev
+SymGetTypeFromName
+SymGetTypeInfo
+SymInitialize
+SymLoadModule64
+SymLoadModule
+SymLoadModuleEx
+SymMatchFileName
+SymMatchString
+SymRegisterCallback64
+SymRegisterCallback
+SymRegisterFunctionEntryCallback64
+SymRegisterFunctionEntryCallback
+SymSetContext
+SymSetHomeDirectory
+SymSetOptions
+SymSetParentWindow
+SymSetSearchPath
+SymUnDName64
+SymUnDName
+SymUnloadModule64
+SymUnloadModule
+UnDecorateSymbolName
+UnmapDebugInformation
+WinDbgExtensionDllInit
+dbghelp
+dh
+fptr
+lm
+lmi
+omap
+srcfiles
+stackdbg
+sym
+symsrv
+vc7fpo
diff --git a/mingw-w64-crt/lib64/wdbnetlib.def b/mingw-w64-crt/lib64/wdbnetlib.def
index 8d21804..6e9b18a 100644
--- a/mingw-w64-crt/lib64/wdbnetlib.def
+++ b/mingw-w64-crt/lib64/wdbnetlib.def
@@ -1,36 +1,36 @@
-; 
-; Exports of file DBnetlib.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DBnetlib.dll
-EXPORTS
-ConnectionObjectSize
-ConnectionRead
-ConnectionWrite
-ConnectionTransact
-ConnectionWriteOOB
-ConnectionMode
-ConnectionStatus
-ConnectionOpen
-ConnectionClose
-ConnectionCheckForData
-ConnectionError
-ConnectionVer
-ConnectionSqlVer
-ConnectionServerEnum
-ConnectionServerEnumW
-ConnectionOpenW
-ConnectionErrorW
-ConnectionOption
-ConnectionGetSvrUser
-InitEnumServers
-GetNextEnumeration
-CloseEnumServers
-InitSSPIPackage
-TermSSPIPackage
-InitSession
-TermSession
-GenClientContext
-ConnectionFlushCache
+; 
+; Exports of file DBnetlib.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DBnetlib.dll
+EXPORTS
+ConnectionObjectSize
+ConnectionRead
+ConnectionWrite
+ConnectionTransact
+ConnectionWriteOOB
+ConnectionMode
+ConnectionStatus
+ConnectionOpen
+ConnectionClose
+ConnectionCheckForData
+ConnectionError
+ConnectionVer
+ConnectionSqlVer
+ConnectionServerEnum
+ConnectionServerEnumW
+ConnectionOpenW
+ConnectionErrorW
+ConnectionOption
+ConnectionGetSvrUser
+InitEnumServers
+GetNextEnumeration
+CloseEnumServers
+InitSSPIPackage
+TermSSPIPackage
+InitSession
+TermSession
+GenClientContext
+ConnectionFlushCache
diff --git a/mingw-w64-crt/lib64/wdciman32.def b/mingw-w64-crt/lib64/wdciman32.def
index 691c579..97f19fb 100644
--- a/mingw-w64-crt/lib64/wdciman32.def
+++ b/mingw-w64-crt/lib64/wdciman32.def
@@ -1,28 +1,28 @@
-; 
-; Exports of file DCIMAN32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DCIMAN32.dll
-EXPORTS
-DCIBeginAccess
-DCICloseProvider
-DCICreateOffscreen
-DCICreateOverlay
-DCICreatePrimary
-DCIDestroy
-DCIDraw
-DCIEndAccess
-DCIEnum
-DCIOpenProvider
-DCISetClipList
-DCISetDestination
-DCISetSrcDestClip
-GetDCRegionData
-GetWindowRegionData
-WinWatchClose
-WinWatchDidStatusChange
-WinWatchGetClipList
-WinWatchNotify
-WinWatchOpen
+; 
+; Exports of file DCIMAN32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DCIMAN32.dll
+EXPORTS
+DCIBeginAccess
+DCICloseProvider
+DCICreateOffscreen
+DCICreateOverlay
+DCICreatePrimary
+DCIDestroy
+DCIDraw
+DCIEndAccess
+DCIEnum
+DCIOpenProvider
+DCISetClipList
+DCISetDestination
+DCISetSrcDestClip
+GetDCRegionData
+GetWindowRegionData
+WinWatchClose
+WinWatchDidStatusChange
+WinWatchGetClipList
+WinWatchNotify
+WinWatchOpen
diff --git a/mingw-w64-crt/lib64/wddraw.def b/mingw-w64-crt/lib64/wddraw.def
index 292b514..9354696 100644
--- a/mingw-w64-crt/lib64/wddraw.def
+++ b/mingw-w64-crt/lib64/wddraw.def
@@ -1,30 +1,30 @@
-; 
-; Exports of file DDRAW.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DDRAW.dll
-EXPORTS
-AcquireDDThreadLock
-CheckFullscreen
-CompleteCreateSysmemSurface
-D3DParseUnknownCommand
-DDGetAttachedSurfaceLcl
-DDInternalLock
-DDInternalUnlock
-DSoundHelp
-DirectDrawCreate
-DirectDrawCreateClipper
-DirectDrawCreateEx
-DirectDrawEnumerateA
-DirectDrawEnumerateExA
-DirectDrawEnumerateExW
-DirectDrawEnumerateW
-DllCanUnloadNow
-DllGetClassObject
-GetDDSurfaceLocal
-GetOLEThunkData
-GetSurfaceFromDC
-RegisterSpecialCase
-ReleaseDDThreadLock
+; 
+; Exports of file DDRAW.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DDRAW.dll
+EXPORTS
+AcquireDDThreadLock
+CheckFullscreen
+CompleteCreateSysmemSurface
+D3DParseUnknownCommand
+DDGetAttachedSurfaceLcl
+DDInternalLock
+DDInternalUnlock
+DSoundHelp
+DirectDrawCreate
+DirectDrawCreateClipper
+DirectDrawCreateEx
+DirectDrawEnumerateA
+DirectDrawEnumerateExA
+DirectDrawEnumerateExW
+DirectDrawEnumerateW
+DllCanUnloadNow
+DllGetClassObject
+GetDDSurfaceLocal
+GetOLEThunkData
+GetSurfaceFromDC
+RegisterSpecialCase
+ReleaseDDThreadLock
diff --git a/mingw-w64-crt/lib64/wddrawex.def b/mingw-w64-crt/lib64/wddrawex.def
index 25f667a..5f906bc 100644
--- a/mingw-w64-crt/lib64/wddrawex.def
+++ b/mingw-w64-crt/lib64/wddrawex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DDRAWEX.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DDRAWEX.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DDRAWEX.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DDRAWEX.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdeskadp.def b/mingw-w64-crt/lib64/wdeskadp.def
index e23c025..29ff12b 100644
--- a/mingw-w64-crt/lib64/wdeskadp.def
+++ b/mingw-w64-crt/lib64/wdeskadp.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file deskadp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY deskadp.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file deskadp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY deskadp.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wdeskmon.def b/mingw-w64-crt/lib64/wdeskmon.def
index 624475e..972de2f 100644
--- a/mingw-w64-crt/lib64/wdeskmon.def
+++ b/mingw-w64-crt/lib64/wdeskmon.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file deskmon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY deskmon.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file deskmon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY deskmon.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wdeskperf.def b/mingw-w64-crt/lib64/wdeskperf.def
index eb36717..7a75a93 100644
--- a/mingw-w64-crt/lib64/wdeskperf.def
+++ b/mingw-w64-crt/lib64/wdeskperf.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file deskperf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY deskperf.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file deskperf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY deskperf.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wdevenum.def b/mingw-w64-crt/lib64/wdevenum.def
index dea5041..f46ec5b 100644
--- a/mingw-w64-crt/lib64/wdevenum.def
+++ b/mingw-w64-crt/lib64/wdevenum.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DEVENUM.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DEVENUM.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DEVENUM.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DEVENUM.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdfsshlex.def b/mingw-w64-crt/lib64/wdfsshlex.def
index 73c39a6..2f8bc69 100644
--- a/mingw-w64-crt/lib64/wdfsshlex.def
+++ b/mingw-w64-crt/lib64/wdfsshlex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DfsShlEx.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DfsShlEx.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DfsShlEx.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DfsShlEx.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdgconfig.def b/mingw-w64-crt/lib64/wdgconfig.def
index c9414f0..4ef9990 100644
--- a/mingw-w64-crt/lib64/wdgconfig.def
+++ b/mingw-w64-crt/lib64/wdgconfig.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DGCONFIG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DGCONFIG.dll
-EXPORTS
-DigiPortCoInstaller
-DGConfigEntryPoint
-DigiAsyncCoInstaller
-DigiAsyncPropPage
+; 
+; Exports of file DGCONFIG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DGCONFIG.dll
+EXPORTS
+DigiPortCoInstaller
+DGConfigEntryPoint
+DigiAsyncCoInstaller
+DigiAsyncPropPage
diff --git a/mingw-w64-crt/lib64/wdgnet.def b/mingw-w64-crt/lib64/wdgnet.def
index 1dd0a6b..97b8d87 100644
--- a/mingw-w64-crt/lib64/wdgnet.def
+++ b/mingw-w64-crt/lib64/wdgnet.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file Dgnet.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Dgnet.DLL
-EXPORTS
-InitHelperDll
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file Dgnet.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Dgnet.DLL
+EXPORTS
+InitHelperDll
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdgsetup.def b/mingw-w64-crt/lib64/wdgsetup.def
index 9dd052d..024c7a5 100644
--- a/mingw-w64-crt/lib64/wdgsetup.def
+++ b/mingw-w64-crt/lib64/wdgsetup.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DGSETUP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DGSETUP.dll
-EXPORTS
-DigiMultiPortCoInstaller
+; 
+; Exports of file DGSETUP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DGSETUP.dll
+EXPORTS
+DigiMultiPortCoInstaller
diff --git a/mingw-w64-crt/lib64/wdhcpcsvc.def b/mingw-w64-crt/lib64/wdhcpcsvc.def
index 9fd4f74..22b292b 100644
--- a/mingw-w64-crt/lib64/wdhcpcsvc.def
+++ b/mingw-w64-crt/lib64/wdhcpcsvc.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file DHCPCSVC.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DHCPCSVC.DLL
-EXPORTS
-DhcpAcquireParameters
-DhcpAcquireParametersByBroadcast
-DhcpCApiCleanup
-DhcpCApiInitialize
-DhcpDeRegisterOptions
-DhcpDeRegisterParamChange
-DhcpDelPersistentRequestParams
-DhcpEnumClasses
-DhcpFallbackRefreshParams
-DhcpHandlePnPEvent
-DhcpLeaseIpAddress
-DhcpLeaseIpAddressEx
-DhcpNotifyConfigChange
-DhcpNotifyConfigChangeEx
-DhcpNotifyMediaReconnected
-DhcpOpenGlobalEvent
-DhcpPersistentRequestParams
-DhcpRegisterOptions
-DhcpRegisterParamChange
-DhcpReleaseIpAddressLease
-DhcpReleaseIpAddressLeaseEx
-DhcpReleaseParameters
-DhcpRemoveDNSRegistrations
-DhcpRenewIpAddressLease
-DhcpRenewIpAddressLeaseEx
-DhcpRequestOptions
-DhcpRequestParams
-DhcpStaticRefreshParams
-DhcpUndoRequestParams
-McastApiCleanup
-McastApiStartup
-McastEnumerateScopes
-McastGenUID
-McastReleaseAddress
-McastRenewAddress
-McastRequestAddress
-ServiceMain
+; 
+; Exports of file DHCPCSVC.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DHCPCSVC.DLL
+EXPORTS
+DhcpAcquireParameters
+DhcpAcquireParametersByBroadcast
+DhcpCApiCleanup
+DhcpCApiInitialize
+DhcpDeRegisterOptions
+DhcpDeRegisterParamChange
+DhcpDelPersistentRequestParams
+DhcpEnumClasses
+DhcpFallbackRefreshParams
+DhcpHandlePnPEvent
+DhcpLeaseIpAddress
+DhcpLeaseIpAddressEx
+DhcpNotifyConfigChange
+DhcpNotifyConfigChangeEx
+DhcpNotifyMediaReconnected
+DhcpOpenGlobalEvent
+DhcpPersistentRequestParams
+DhcpRegisterOptions
+DhcpRegisterParamChange
+DhcpReleaseIpAddressLease
+DhcpReleaseIpAddressLeaseEx
+DhcpReleaseParameters
+DhcpRemoveDNSRegistrations
+DhcpRenewIpAddressLease
+DhcpRenewIpAddressLeaseEx
+DhcpRequestOptions
+DhcpRequestParams
+DhcpStaticRefreshParams
+DhcpUndoRequestParams
+McastApiCleanup
+McastApiStartup
+McastEnumerateScopes
+McastGenUID
+McastReleaseAddress
+McastRenewAddress
+McastRequestAddress
+ServiceMain
diff --git a/mingw-w64-crt/lib64/wdhcpmon.def b/mingw-w64-crt/lib64/wdhcpmon.def
index 7402c7f..6d7e8ee 100644
--- a/mingw-w64-crt/lib64/wdhcpmon.def
+++ b/mingw-w64-crt/lib64/wdhcpmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DHCPMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DHCPMON.dll
-EXPORTS
-InitHelperDll
+; 
+; Exports of file DHCPMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DHCPMON.dll
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/wdhcpsapi.def b/mingw-w64-crt/lib64/wdhcpsapi.def
index 4e0c269..9c4fb52 100644
--- a/mingw-w64-crt/lib64/wdhcpsapi.def
+++ b/mingw-w64-crt/lib64/wdhcpsapi.def
@@ -1,101 +1,101 @@
-; 
-; Exports of file DHCPSAPI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DHCPSAPI.DLL
-EXPORTS
-DhcpAddMScopeElement
-DhcpAddServer
-DhcpAddSubnetElement
-DhcpAddSubnetElementV4
-DhcpAddSubnetElementV5
-DhcpAuditLogGetParams
-DhcpAuditLogSetParams
-DhcpCreateClass
-DhcpCreateClientInfo
-DhcpCreateClientInfoV4
-DhcpCreateOption
-DhcpCreateOptionV5
-DhcpCreateSubnet
-DhcpDeleteClass
-DhcpDeleteClientInfo
-DhcpDeleteMClientInfo
-DhcpDeleteMScope
-DhcpDeleteServer
-DhcpDeleteSubnet
-DhcpDeleteSuperScopeV4
-DhcpDsCleanup
-DhcpDsClearHostServerEntries
-DhcpDsInit
-DhcpEnumClasses
-DhcpEnumMScopeClients
-DhcpEnumMScopeElements
-DhcpEnumMScopes
-DhcpEnumOptionValues
-DhcpEnumOptionValuesV5
-DhcpEnumOptions
-DhcpEnumOptionsV5
-DhcpEnumServers
-DhcpEnumSubnetClients
-DhcpEnumSubnetClientsV4
-DhcpEnumSubnetClientsV5
-DhcpEnumSubnetElements
-DhcpEnumSubnetElementsV4
-DhcpEnumSubnetElementsV5
-DhcpEnumSubnets
-DhcpGetAllOptionValues
-DhcpGetAllOptions
-DhcpGetClassInfo
-DhcpGetClientInfo
-DhcpGetClientInfoV4
-DhcpGetClientOptions
-DhcpGetMCastMibInfo
-DhcpGetMScopeInfo
-DhcpGetMibInfo
-DhcpGetOptionInfo
-DhcpGetOptionInfoV5
-DhcpGetOptionValue
-DhcpGetOptionValueV5
-DhcpGetServerBindingInfo
-DhcpGetSubnetInfo
-DhcpGetSuperScopeInfoV4
-DhcpGetThreadOptions
-DhcpGetVersion
-DhcpModifyClass
-DhcpRemoveMScopeElement
-DhcpRemoveOption
-DhcpRemoveOptionV5
-DhcpRemoveOptionValue
-DhcpRemoveOptionValueV5
-DhcpRemoveSubnetElement
-DhcpRemoveSubnetElementV4
-DhcpRemoveSubnetElementV5
-DhcpRpcFreeMemory
-DhcpScanDatabase
-DhcpScanMDatabase
-DhcpServerBackupDatabase
-DhcpServerGetConfig
-DhcpServerGetConfigV4
-DhcpServerQueryAttribute
-DhcpServerQueryAttributes
-DhcpServerQueryDnsRegCredentials
-DhcpServerRedoAuthorization
-DhcpServerRestoreDatabase
-DhcpServerSetConfig
-DhcpServerSetConfigV4
-DhcpServerSetDnsRegCredentials
-DhcpSetClientInfo
-DhcpSetClientInfoV4
-DhcpSetMScopeInfo
-DhcpSetOptionInfo
-DhcpSetOptionInfoV5
-DhcpSetOptionValue
-DhcpSetOptionValueV5
-DhcpSetOptionValues
-DhcpSetOptionValuesV5
-DhcpSetServerBindingInfo
-DhcpSetSubnetInfo
-DhcpSetSuperScopeV4
-DhcpSetThreadOptions
+; 
+; Exports of file DHCPSAPI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DHCPSAPI.DLL
+EXPORTS
+DhcpAddMScopeElement
+DhcpAddServer
+DhcpAddSubnetElement
+DhcpAddSubnetElementV4
+DhcpAddSubnetElementV5
+DhcpAuditLogGetParams
+DhcpAuditLogSetParams
+DhcpCreateClass
+DhcpCreateClientInfo
+DhcpCreateClientInfoV4
+DhcpCreateOption
+DhcpCreateOptionV5
+DhcpCreateSubnet
+DhcpDeleteClass
+DhcpDeleteClientInfo
+DhcpDeleteMClientInfo
+DhcpDeleteMScope
+DhcpDeleteServer
+DhcpDeleteSubnet
+DhcpDeleteSuperScopeV4
+DhcpDsCleanup
+DhcpDsClearHostServerEntries
+DhcpDsInit
+DhcpEnumClasses
+DhcpEnumMScopeClients
+DhcpEnumMScopeElements
+DhcpEnumMScopes
+DhcpEnumOptionValues
+DhcpEnumOptionValuesV5
+DhcpEnumOptions
+DhcpEnumOptionsV5
+DhcpEnumServers
+DhcpEnumSubnetClients
+DhcpEnumSubnetClientsV4
+DhcpEnumSubnetClientsV5
+DhcpEnumSubnetElements
+DhcpEnumSubnetElementsV4
+DhcpEnumSubnetElementsV5
+DhcpEnumSubnets
+DhcpGetAllOptionValues
+DhcpGetAllOptions
+DhcpGetClassInfo
+DhcpGetClientInfo
+DhcpGetClientInfoV4
+DhcpGetClientOptions
+DhcpGetMCastMibInfo
+DhcpGetMScopeInfo
+DhcpGetMibInfo
+DhcpGetOptionInfo
+DhcpGetOptionInfoV5
+DhcpGetOptionValue
+DhcpGetOptionValueV5
+DhcpGetServerBindingInfo
+DhcpGetSubnetInfo
+DhcpGetSuperScopeInfoV4
+DhcpGetThreadOptions
+DhcpGetVersion
+DhcpModifyClass
+DhcpRemoveMScopeElement
+DhcpRemoveOption
+DhcpRemoveOptionV5
+DhcpRemoveOptionValue
+DhcpRemoveOptionValueV5
+DhcpRemoveSubnetElement
+DhcpRemoveSubnetElementV4
+DhcpRemoveSubnetElementV5
+DhcpRpcFreeMemory
+DhcpScanDatabase
+DhcpScanMDatabase
+DhcpServerBackupDatabase
+DhcpServerGetConfig
+DhcpServerGetConfigV4
+DhcpServerQueryAttribute
+DhcpServerQueryAttributes
+DhcpServerQueryDnsRegCredentials
+DhcpServerRedoAuthorization
+DhcpServerRestoreDatabase
+DhcpServerSetConfig
+DhcpServerSetConfigV4
+DhcpServerSetDnsRegCredentials
+DhcpSetClientInfo
+DhcpSetClientInfoV4
+DhcpSetMScopeInfo
+DhcpSetOptionInfo
+DhcpSetOptionInfoV5
+DhcpSetOptionValue
+DhcpSetOptionValueV5
+DhcpSetOptionValues
+DhcpSetOptionValuesV5
+DhcpSetServerBindingInfo
+DhcpSetSubnetInfo
+DhcpSetSuperScopeV4
+DhcpSetThreadOptions
diff --git a/mingw-w64-crt/lib64/wdiactfrm.def b/mingw-w64-crt/lib64/wdiactfrm.def
index 77fd479..c68012f 100644
--- a/mingw-w64-crt/lib64/wdiactfrm.def
+++ b/mingw-w64-crt/lib64/wdiactfrm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file diactfrm.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY diactfrm.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file diactfrm.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY diactfrm.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdigest.def b/mingw-w64-crt/lib64/wdigest.def
index e64d945..b252fff 100644
--- a/mingw-w64-crt/lib64/wdigest.def
+++ b/mingw-w64-crt/lib64/wdigest.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file wdigest.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wdigest.dll
-EXPORTS
-SpInitialize
-CredentialUpdateRegister
-SsiCredentialsUpdateNotify
-CredentialUpdateFree
-CredentialUpdateNotify
-SpLsaModeInitialize
-SpUserModeInitialize
-SsiCredentialsUpdateFree
-SpInstanceInit
+; 
+; Exports of file wdigest.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wdigest.dll
+EXPORTS
+SpInitialize
+CredentialUpdateRegister
+SsiCredentialsUpdateNotify
+CredentialUpdateFree
+CredentialUpdateNotify
+SpLsaModeInitialize
+SpUserModeInitialize
+SsiCredentialsUpdateFree
+SpInstanceInit
diff --git a/mingw-w64-crt/lib64/wdigiinf.def b/mingw-w64-crt/lib64/wdigiinf.def
index 21bb289..2acbe8f 100644
--- a/mingw-w64-crt/lib64/wdigiinf.def
+++ b/mingw-w64-crt/lib64/wdigiinf.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file DigiInf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DigiInf.dll
-EXPORTS
-INFEntryPoint
-Configure
-Remove
-Update
-AddModemSettingsToRAS
-DigiDxbCoInstaller
-DigiDxbClientCoInstaller
+; 
+; Exports of file DigiInf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DigiInf.dll
+EXPORTS
+INFEntryPoint
+Configure
+Remove
+Update
+AddModemSettingsToRAS
+DigiDxbCoInstaller
+DigiDxbClientCoInstaller
diff --git a/mingw-w64-crt/lib64/wdigirlpt.def b/mingw-w64-crt/lib64/wdigirlpt.def
index 8de698c..b0a6a9b 100644
--- a/mingw-w64-crt/lib64/wdigirlpt.def
+++ b/mingw-w64-crt/lib64/wdigirlpt.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file DigiRlPt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DigiRlPt.dll
-EXPORTS
-DigiPortCoInstaller
-DigiRealPortPropPageProvider
-RealPortCoInstaller
+; 
+; Exports of file DigiRlPt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DigiRlPt.dll
+EXPORTS
+DigiPortCoInstaller
+DigiRealPortPropPageProvider
+RealPortCoInstaller
diff --git a/mingw-w64-crt/lib64/wdimap.def b/mingw-w64-crt/lib64/wdimap.def
index 8ca1245..a7bb0d0 100644
--- a/mingw-w64-crt/lib64/wdimap.def
+++ b/mingw-w64-crt/lib64/wdimap.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file DIMAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DIMAP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file DIMAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DIMAP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wdimsntfy.def b/mingw-w64-crt/lib64/wdimsntfy.def
index b14edf4..f3bf096 100644
--- a/mingw-w64-crt/lib64/wdimsntfy.def
+++ b/mingw-w64-crt/lib64/wdimsntfy.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file dimsntfy.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dimsntfy.dll
-EXPORTS
-WlDimsLock
-WlDimsLogoff
-WlDimsLogon
-WlDimsShutdown
-WlDimsStartShell
-WlDimsStartup
-WlDimsUnlock
+; 
+; Exports of file dimsntfy.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dimsntfy.dll
+EXPORTS
+WlDimsLock
+WlDimsLogoff
+WlDimsLogon
+WlDimsShutdown
+WlDimsStartShell
+WlDimsStartup
+WlDimsUnlock
diff --git a/mingw-w64-crt/lib64/wdimsroam.def b/mingw-w64-crt/lib64/wdimsroam.def
index 1cbed5e..774650f 100644
--- a/mingw-w64-crt/lib64/wdimsroam.def
+++ b/mingw-w64-crt/lib64/wdimsroam.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file dimsroam.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dimsroam.dll
-EXPORTS
-DimsRoamEntry
+; 
+; Exports of file dimsroam.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dimsroam.dll
+EXPORTS
+DimsRoamEntry
diff --git a/mingw-w64-crt/lib64/wdinput.def b/mingw-w64-crt/lib64/wdinput.def
index c8f122a..99a0332 100644
--- a/mingw-w64-crt/lib64/wdinput.def
+++ b/mingw-w64-crt/lib64/wdinput.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file DINPUT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DINPUT.dll
-EXPORTS
-DirectInputCreateA
-DirectInputCreateEx
-DirectInputCreateW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DINPUT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DINPUT.dll
+EXPORTS
+DirectInputCreateA
+DirectInputCreateEx
+DirectInputCreateW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdinput8.def b/mingw-w64-crt/lib64/wdinput8.def
index bc8edc4..7ba9b33 100644
--- a/mingw-w64-crt/lib64/wdinput8.def
+++ b/mingw-w64-crt/lib64/wdinput8.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DINPUT8.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DINPUT8.dll
-EXPORTS
-DirectInput8Create
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DINPUT8.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DINPUT8.dll
+EXPORTS
+DirectInput8Create
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdirectdb.def b/mingw-w64-crt/lib64/wdirectdb.def
index fed5de6..a2b5a91 100644
--- a/mingw-w64-crt/lib64/wdirectdb.def
+++ b/mingw-w64-crt/lib64/wdirectdb.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DIRECTDB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DIRECTDB.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DIRECTDB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DIRECTDB.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdiskcopy.def b/mingw-w64-crt/lib64/wdiskcopy.def
index c6bad01..5423628 100644
--- a/mingw-w64-crt/lib64/wdiskcopy.def
+++ b/mingw-w64-crt/lib64/wdiskcopy.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DISKCOPY.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DISKCOPY.dll
-EXPORTS
-DiskCopyRunDll
-DiskCopyRunDllW
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file DISKCOPY.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DISKCOPY.dll
+EXPORTS
+DiskCopyRunDll
+DiskCopyRunDllW
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wdispex.def b/mingw-w64-crt/lib64/wdispex.def
index 512ea30..b76c910 100644
--- a/mingw-w64-crt/lib64/wdispex.def
+++ b/mingw-w64-crt/lib64/wdispex.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DispEx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DispEx.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file DispEx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DispEx.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/wdisrvci.def b/mingw-w64-crt/lib64/wdisrvci.def
index 8240a67..b7694db 100644
--- a/mingw-w64-crt/lib64/wdisrvci.def
+++ b/mingw-w64-crt/lib64/wdisrvci.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DISRVCI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DISRVCI.dll
-EXPORTS
-CoDeviceInstall
+; 
+; Exports of file DISRVCI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DISRVCI.dll
+EXPORTS
+CoDeviceInstall
diff --git a/mingw-w64-crt/lib64/wdmaud.def b/mingw-w64-crt/lib64/wdmaud.def
index 2b9c776..ce90a0d 100644
--- a/mingw-w64-crt/lib64/wdmaud.def
+++ b/mingw-w64-crt/lib64/wdmaud.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file WDMAUD.DRV
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WDMAUD.DRV
-EXPORTS
-DriverProc
-auxMessage
-midMessage
-modMessage
-mxdMessage
-widMessage
-wodMessage
+; 
+; Exports of file WDMAUD.DRV
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WDMAUD.DRV
+EXPORTS
+DriverProc
+auxMessage
+midMessage
+modMessage
+mxdMessage
+widMessage
+wodMessage
diff --git a/mingw-w64-crt/lib64/wdmband.def b/mingw-w64-crt/lib64/wdmband.def
index b8ca12d..39b9acd 100644
--- a/mingw-w64-crt/lib64/wdmband.def
+++ b/mingw-w64-crt/lib64/wdmband.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dmband.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmband.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dmband.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmband.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdmcompos.def b/mingw-w64-crt/lib64/wdmcompos.def
index ea56a65..14fd634 100644
--- a/mingw-w64-crt/lib64/wdmcompos.def
+++ b/mingw-w64-crt/lib64/wdmcompos.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dmcompos.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmcompos.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dmcompos.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmcompos.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdmime.def b/mingw-w64-crt/lib64/wdmime.def
index 4603483..439a0ec 100644
--- a/mingw-w64-crt/lib64/wdmime.def
+++ b/mingw-w64-crt/lib64/wdmime.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dmime.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmime.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dmime.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmime.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdmloader.def b/mingw-w64-crt/lib64/wdmloader.def
index b08bc87..e380ec0 100644
--- a/mingw-w64-crt/lib64/wdmloader.def
+++ b/mingw-w64-crt/lib64/wdmloader.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dmloader.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmloader.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dmloader.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmloader.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdmocx.def b/mingw-w64-crt/lib64/wdmocx.def
index bcd9ab7..dec9fdc 100644
--- a/mingw-w64-crt/lib64/wdmocx.def
+++ b/mingw-w64-crt/lib64/wdmocx.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DMOCX.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DMOCX.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DMOCX.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DMOCX.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdmscript.def b/mingw-w64-crt/lib64/wdmscript.def
index 2263a01..a60a71e 100644
--- a/mingw-w64-crt/lib64/wdmscript.def
+++ b/mingw-w64-crt/lib64/wdmscript.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dmscript.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmscript.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dmscript.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmscript.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdmstyle.def b/mingw-w64-crt/lib64/wdmstyle.def
index e50ab43..7b77307 100644
--- a/mingw-w64-crt/lib64/wdmstyle.def
+++ b/mingw-w64-crt/lib64/wdmstyle.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dmstyle.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmstyle.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dmstyle.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmstyle.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdmsynth.def b/mingw-w64-crt/lib64/wdmsynth.def
index e151f08..c44560c 100644
--- a/mingw-w64-crt/lib64/wdmsynth.def
+++ b/mingw-w64-crt/lib64/wdmsynth.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dmsynth.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmsynth.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dmsynth.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmsynth.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdmusic.def b/mingw-w64-crt/lib64/wdmusic.def
index 5f6093c..827b198 100644
--- a/mingw-w64-crt/lib64/wdmusic.def
+++ b/mingw-w64-crt/lib64/wdmusic.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dmusic.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dmusic.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dmusic.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dmusic.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdnsapi.def b/mingw-w64-crt/lib64/wdnsapi.def
index d66cdfa..d9c6e30 100644
--- a/mingw-w64-crt/lib64/wdnsapi.def
+++ b/mingw-w64-crt/lib64/wdnsapi.def
@@ -1,176 +1,176 @@
-; 
-; Exports of file DNSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DNSAPI.dll
-EXPORTS
-DnsGetDomainName
-DnsIsAMailboxType
-DnsIsStatusRcode
-DnsMapRcodeToStatus
-DnsStatusString
-DnsUnicodeToUtf8
-DnsUtf8ToUnicode
-Dns_ReadPacketName
-Dns_ReadPacketNameAllocate
-Dns_SkipPacketName
-Dns_WriteDottedNameToPacket
-BreakRecordsIntoBlob
-CombineRecordsInBlob
-DnsAcquireContextHandle_A
-DnsAcquireContextHandle_W
-DnsAllocateRecord
-DnsApiAlloc
-DnsApiAllocZero
-DnsApiFree
-DnsApiHeapReset
-DnsApiRealloc
-DnsApiSetDebugGlobals
-DnsAsyncRegisterHostAddrs
-DnsAsyncRegisterInit
-DnsAsyncRegisterTerm
-DnsCopyStringEx
-DnsCreateReverseNameStringForIpAddress
-DnsCreateStandardDnsNameCopy
-DnsCreateStringCopy
-DnsDhcpRegisterHostAddrs
-DnsDhcpRegisterInit
-DnsDhcpRegisterTerm
-DnsDhcpRemoveRegistrations
-DnsDhcpSrvRegisterHostName
-DnsDhcpSrvRegisterInit
-DnsDhcpSrvRegisterInitialize
-DnsDhcpSrvRegisterTerm
-DnsDowncaseDnsNameLabel
-DnsExtractRecordsFromMessage_UTF8
-DnsExtractRecordsFromMessage_W
-DnsFindAuthoritativeZone
-DnsFlushResolverCache
-DnsFlushResolverCacheEntry_A
-DnsFlushResolverCacheEntry_UTF8
-DnsFlushResolverCacheEntry_W
-DnsFree
-DnsFreeConfigStructure
-DnsGetBufferLengthForStringCopy
-DnsGetCacheDataTable
-DnsGetDnsServerList
-DnsGetLastFailedUpdateInfo
-DnsGetPrimaryDomainName_A
-DnsGlobals DATA
-DnsIpv6AddressToString
-DnsIpv6StringToAddress
-DnsIsStringCountValidForTextType
-DnsModifyRecordsInSet_A
-DnsModifyRecordsInSet_UTF8
-DnsModifyRecordsInSet_W
-DnsNameCompareEx_A
-DnsNameCompareEx_UTF8
-DnsNameCompareEx_W
-DnsNameCompare_A
-DnsNameCompare_UTF8
-DnsNameCompare_W
-DnsNameCopy
-DnsNameCopyAllocate
-DnsNetworkInfo_CreateFromFAZ
-DnsNetworkInformation_CreateFromFAZ
-DnsNotifyResolver
-DnsNotifyResolverClusterIp
-DnsNotifyResolverEx
-DnsQueryConfig
-DnsQueryConfigAllocEx
-DnsQueryConfigDword
-DnsQueryExA
-DnsQueryExUTF8
-DnsQueryExW
-DnsQuery_A
-DnsQuery_UTF8
-DnsQuery_W
-DnsRecordBuild_UTF8
-DnsRecordBuild_W
-DnsRecordCompare
-DnsRecordCopyEx
-DnsRecordListFree
-DnsRecordSetCompare
-DnsRecordSetCopyEx
-DnsRecordSetDetach
-DnsRecordStringForType
-DnsRecordStringForWritableType
-DnsRecordTypeForName
-DnsRegisterClusterAddress
-DnsReleaseContextHandle
-DnsRemoveRegistrations
-DnsReplaceRecordSetA
-DnsReplaceRecordSetUTF8
-DnsReplaceRecordSetW
-DnsScreenLocalAddrsForRegistration
-DnsSetConfigDword
-DnsStringCopyAllocateEx
-DnsUpdate
-DnsUpdateTest_A
-DnsUpdateTest_UTF8
-DnsUpdateTest_W
-DnsValidateName_A
-DnsValidateName_UTF8
-DnsValidateName_W
-DnsValidateUtf8Byte
-DnsWriteQuestionToBuffer_UTF8
-DnsWriteQuestionToBuffer_W
-DnsWriteReverseNameStringForIpAddress
-Dns_AddRecordsToMessage
-Dns_AllocateMsgBuf
-Dns_BuildPacket
-Dns_CleanupWinsock
-Dns_CloseConnection
-Dns_CloseSocket
-Dns_CreateMulticastSocket
-Dns_CreateSocket
-Dns_CreateSocketEx
-Dns_FindAuthoritativeZoneLib
-Dns_GetRandomXid
-Dns_InitializeMsgRemoteSockaddr
-Dns_InitializeWinsock
-Dns_OpenTcpConnectionAndSend
-Dns_ParseMessage
-Dns_ParsePacketRecord
-Dns_PingAdapterServers
-Dns_ReadRecordStructureFromPacket
-Dns_RecvTcp
-Dns_ResetNetworkInfo
-Dns_SendAndRecvUdp
-Dns_SendEx
-Dns_SetRecordDatalength
-Dns_SkipToRecord
-Dns_UpdateLib
-Dns_UpdateLibEx
-Dns_WriteQuestionToMessage
-Dns_WriteRecordStructureToPacketEx
-GetCurrentTimeInSeconds
-HostsFile_Close
-HostsFile_Open
-HostsFile_ReadLine
-Local_GetRecordsForLocalName
-NetInfo_Build
-NetInfo_Clean
-NetInfo_Copy
-NetInfo_Free
-NetInfo_IsForUpdate
-NetInfo_ResetServerPriorities
-QueryDirectEx
-Query_Main
-Reg_GetValueEx
-Reg_ReadGlobalsEx
-Send_AndRecvUdpWithParam
-Send_MessagePrivate
-Send_OpenTcpConnectionAndSend
-Socket_CacheCleanup
-Socket_CacheInit
-Socket_CleanupWinsock
-Socket_ClearMessageSockets
-Socket_CloseEx
-Socket_CloseMessageSockets
-Socket_Create
-Socket_CreateMulticast
-Socket_InitWinsock
-Util_IsIp6Running
+; 
+; Exports of file DNSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DNSAPI.dll
+EXPORTS
+DnsGetDomainName
+DnsIsAMailboxType
+DnsIsStatusRcode
+DnsMapRcodeToStatus
+DnsStatusString
+DnsUnicodeToUtf8
+DnsUtf8ToUnicode
+Dns_ReadPacketName
+Dns_ReadPacketNameAllocate
+Dns_SkipPacketName
+Dns_WriteDottedNameToPacket
+BreakRecordsIntoBlob
+CombineRecordsInBlob
+DnsAcquireContextHandle_A
+DnsAcquireContextHandle_W
+DnsAllocateRecord
+DnsApiAlloc
+DnsApiAllocZero
+DnsApiFree
+DnsApiHeapReset
+DnsApiRealloc
+DnsApiSetDebugGlobals
+DnsAsyncRegisterHostAddrs
+DnsAsyncRegisterInit
+DnsAsyncRegisterTerm
+DnsCopyStringEx
+DnsCreateReverseNameStringForIpAddress
+DnsCreateStandardDnsNameCopy
+DnsCreateStringCopy
+DnsDhcpRegisterHostAddrs
+DnsDhcpRegisterInit
+DnsDhcpRegisterTerm
+DnsDhcpRemoveRegistrations
+DnsDhcpSrvRegisterHostName
+DnsDhcpSrvRegisterInit
+DnsDhcpSrvRegisterInitialize
+DnsDhcpSrvRegisterTerm
+DnsDowncaseDnsNameLabel
+DnsExtractRecordsFromMessage_UTF8
+DnsExtractRecordsFromMessage_W
+DnsFindAuthoritativeZone
+DnsFlushResolverCache
+DnsFlushResolverCacheEntry_A
+DnsFlushResolverCacheEntry_UTF8
+DnsFlushResolverCacheEntry_W
+DnsFree
+DnsFreeConfigStructure
+DnsGetBufferLengthForStringCopy
+DnsGetCacheDataTable
+DnsGetDnsServerList
+DnsGetLastFailedUpdateInfo
+DnsGetPrimaryDomainName_A
+DnsGlobals DATA
+DnsIpv6AddressToString
+DnsIpv6StringToAddress
+DnsIsStringCountValidForTextType
+DnsModifyRecordsInSet_A
+DnsModifyRecordsInSet_UTF8
+DnsModifyRecordsInSet_W
+DnsNameCompareEx_A
+DnsNameCompareEx_UTF8
+DnsNameCompareEx_W
+DnsNameCompare_A
+DnsNameCompare_UTF8
+DnsNameCompare_W
+DnsNameCopy
+DnsNameCopyAllocate
+DnsNetworkInfo_CreateFromFAZ
+DnsNetworkInformation_CreateFromFAZ
+DnsNotifyResolver
+DnsNotifyResolverClusterIp
+DnsNotifyResolverEx
+DnsQueryConfig
+DnsQueryConfigAllocEx
+DnsQueryConfigDword
+DnsQueryExA
+DnsQueryExUTF8
+DnsQueryExW
+DnsQuery_A
+DnsQuery_UTF8
+DnsQuery_W
+DnsRecordBuild_UTF8
+DnsRecordBuild_W
+DnsRecordCompare
+DnsRecordCopyEx
+DnsRecordListFree
+DnsRecordSetCompare
+DnsRecordSetCopyEx
+DnsRecordSetDetach
+DnsRecordStringForType
+DnsRecordStringForWritableType
+DnsRecordTypeForName
+DnsRegisterClusterAddress
+DnsReleaseContextHandle
+DnsRemoveRegistrations
+DnsReplaceRecordSetA
+DnsReplaceRecordSetUTF8
+DnsReplaceRecordSetW
+DnsScreenLocalAddrsForRegistration
+DnsSetConfigDword
+DnsStringCopyAllocateEx
+DnsUpdate
+DnsUpdateTest_A
+DnsUpdateTest_UTF8
+DnsUpdateTest_W
+DnsValidateName_A
+DnsValidateName_UTF8
+DnsValidateName_W
+DnsValidateUtf8Byte
+DnsWriteQuestionToBuffer_UTF8
+DnsWriteQuestionToBuffer_W
+DnsWriteReverseNameStringForIpAddress
+Dns_AddRecordsToMessage
+Dns_AllocateMsgBuf
+Dns_BuildPacket
+Dns_CleanupWinsock
+Dns_CloseConnection
+Dns_CloseSocket
+Dns_CreateMulticastSocket
+Dns_CreateSocket
+Dns_CreateSocketEx
+Dns_FindAuthoritativeZoneLib
+Dns_GetRandomXid
+Dns_InitializeMsgRemoteSockaddr
+Dns_InitializeWinsock
+Dns_OpenTcpConnectionAndSend
+Dns_ParseMessage
+Dns_ParsePacketRecord
+Dns_PingAdapterServers
+Dns_ReadRecordStructureFromPacket
+Dns_RecvTcp
+Dns_ResetNetworkInfo
+Dns_SendAndRecvUdp
+Dns_SendEx
+Dns_SetRecordDatalength
+Dns_SkipToRecord
+Dns_UpdateLib
+Dns_UpdateLibEx
+Dns_WriteQuestionToMessage
+Dns_WriteRecordStructureToPacketEx
+GetCurrentTimeInSeconds
+HostsFile_Close
+HostsFile_Open
+HostsFile_ReadLine
+Local_GetRecordsForLocalName
+NetInfo_Build
+NetInfo_Clean
+NetInfo_Copy
+NetInfo_Free
+NetInfo_IsForUpdate
+NetInfo_ResetServerPriorities
+QueryDirectEx
+Query_Main
+Reg_GetValueEx
+Reg_ReadGlobalsEx
+Send_AndRecvUdpWithParam
+Send_MessagePrivate
+Send_OpenTcpConnectionAndSend
+Socket_CacheCleanup
+Socket_CacheInit
+Socket_CleanupWinsock
+Socket_ClearMessageSockets
+Socket_CloseEx
+Socket_CloseMessageSockets
+Socket_Create
+Socket_CreateMulticast
+Socket_InitWinsock
+Util_IsIp6Running
diff --git a/mingw-w64-crt/lib64/wdnsrslvr.def b/mingw-w64-crt/lib64/wdnsrslvr.def
index bd91d7c..1549a6d 100644
--- a/mingw-w64-crt/lib64/wdnsrslvr.def
+++ b/mingw-w64-crt/lib64/wdnsrslvr.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file dnsrslvr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dnsrslvr.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file dnsrslvr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dnsrslvr.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/wdocprop.def b/mingw-w64-crt/lib64/wdocprop.def
index d466a3c..417aee8 100644
--- a/mingw-w64-crt/lib64/wdocprop.def
+++ b/mingw-w64-crt/lib64/wdocprop.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file DOCPROP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DOCPROP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file DOCPROP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DOCPROP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wdocprop2.def b/mingw-w64-crt/lib64/wdocprop2.def
index 56cd0aa..d1ca207 100644
--- a/mingw-w64-crt/lib64/wdocprop2.def
+++ b/mingw-w64-crt/lib64/wdocprop2.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DOCPROP2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DOCPROP2.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DOCPROP2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DOCPROP2.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdplay.def b/mingw-w64-crt/lib64/wdplay.def
index 8d0f0ca..57c1939 100644
--- a/mingw-w64-crt/lib64/wdplay.def
+++ b/mingw-w64-crt/lib64/wdplay.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file DPLAY.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPLAY.dll
-EXPORTS
-DirectPlayCreate
-DirectPlayEnumerate
+; 
+; Exports of file DPLAY.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPLAY.dll
+EXPORTS
+DirectPlayCreate
+DirectPlayEnumerate
diff --git a/mingw-w64-crt/lib64/wdplayx.def b/mingw-w64-crt/lib64/wdplayx.def
index 935bb1c..e700479 100644
--- a/mingw-w64-crt/lib64/wdplayx.def
+++ b/mingw-w64-crt/lib64/wdplayx.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file DPLAYX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPLAYX.dll
-EXPORTS
-DirectPlayCreate
-DirectPlayEnumerateA
-DirectPlayEnumerateW
-DirectPlayLobbyCreateA
-DirectPlayLobbyCreateW
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DirectPlayEnumerate
-DllUnregisterServer
-gdwDPlaySPRefCount DATA
+; 
+; Exports of file DPLAYX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPLAYX.dll
+EXPORTS
+DirectPlayCreate
+DirectPlayEnumerateA
+DirectPlayEnumerateW
+DirectPlayLobbyCreateA
+DirectPlayLobbyCreateW
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DirectPlayEnumerate
+DllUnregisterServer
+gdwDPlaySPRefCount DATA
diff --git a/mingw-w64-crt/lib64/wdpmodemx.def b/mingw-w64-crt/lib64/wdpmodemx.def
index af1815c..80a3932 100644
--- a/mingw-w64-crt/lib64/wdpmodemx.def
+++ b/mingw-w64-crt/lib64/wdpmodemx.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DPMODEMX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPMODEMX.dll
-EXPORTS
-SPInit
+; 
+; Exports of file DPMODEMX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPMODEMX.dll
+EXPORTS
+SPInit
diff --git a/mingw-w64-crt/lib64/wdpnaddr.def b/mingw-w64-crt/lib64/wdpnaddr.def
index 22c853d..f2d6d42 100644
--- a/mingw-w64-crt/lib64/wdpnaddr.def
+++ b/mingw-w64-crt/lib64/wdpnaddr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file dpnaddr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dpnaddr.dll
-EXPORTS
-DirectPlay8AddressCreate
+; 
+; Exports of file dpnaddr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dpnaddr.dll
+EXPORTS
+DirectPlay8AddressCreate
diff --git a/mingw-w64-crt/lib64/wdpnet.def b/mingw-w64-crt/lib64/wdpnet.def
index 634ea1c..cb35bff 100644
--- a/mingw-w64-crt/lib64/wdpnet.def
+++ b/mingw-w64-crt/lib64/wdpnet.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DPNet.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPNet.dll
-EXPORTS
-DirectPlay8Create
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DPNet.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPNet.dll
+EXPORTS
+DirectPlay8Create
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdpnhpast.def b/mingw-w64-crt/lib64/wdpnhpast.def
index 1a09d85..294c0dc 100644
--- a/mingw-w64-crt/lib64/wdpnhpast.def
+++ b/mingw-w64-crt/lib64/wdpnhpast.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DPNHPAST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPNHPAST.dll
-EXPORTS
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPNHPAST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPNHPAST.dll
+EXPORTS
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdpnhupnp.def b/mingw-w64-crt/lib64/wdpnhupnp.def
index ee7b47a..f3e7caa 100644
--- a/mingw-w64-crt/lib64/wdpnhupnp.def
+++ b/mingw-w64-crt/lib64/wdpnhupnp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DPNHUPNP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPNHUPNP.dll
-EXPORTS
-DirectPlayNATHelpCreate
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPNHUPNP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPNHUPNP.dll
+EXPORTS
+DirectPlayNATHelpCreate
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdpnlobby.def b/mingw-w64-crt/lib64/wdpnlobby.def
index 1e7e05b..4497d92 100644
--- a/mingw-w64-crt/lib64/wdpnlobby.def
+++ b/mingw-w64-crt/lib64/wdpnlobby.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DPNLobby.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPNLobby.dll
-EXPORTS
-DirectPlay8LobbyCreate
+; 
+; Exports of file DPNLobby.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPNLobby.dll
+EXPORTS
+DirectPlay8LobbyCreate
diff --git a/mingw-w64-crt/lib64/wdpvacm.def b/mingw-w64-crt/lib64/wdpvacm.def
index 9f48ed2..408dada 100644
--- a/mingw-w64-crt/lib64/wdpvacm.def
+++ b/mingw-w64-crt/lib64/wdpvacm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DPVACM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPVACM.dll
-EXPORTS
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPVACM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPVACM.dll
+EXPORTS
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdpvoice.def b/mingw-w64-crt/lib64/wdpvoice.def
index d0b83e0..aa024cc 100644
--- a/mingw-w64-crt/lib64/wdpvoice.def
+++ b/mingw-w64-crt/lib64/wdpvoice.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DPVOICE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPVOICE.dll
-EXPORTS
-DirectPlayVoiceCreate
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPVOICE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPVOICE.dll
+EXPORTS
+DirectPlayVoiceCreate
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdpvvox.def b/mingw-w64-crt/lib64/wdpvvox.def
index e5f0dd4..6e97dee 100644
--- a/mingw-w64-crt/lib64/wdpvvox.def
+++ b/mingw-w64-crt/lib64/wdpvvox.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DPVVOX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPVVOX.dll
-EXPORTS
-DllRegisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllUnregisterServer
+; 
+; Exports of file DPVVOX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPVVOX.dll
+EXPORTS
+DllRegisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdpwsockx.def b/mingw-w64-crt/lib64/wdpwsockx.def
index 7124df2..0976f6d 100644
--- a/mingw-w64-crt/lib64/wdpwsockx.def
+++ b/mingw-w64-crt/lib64/wdpwsockx.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file DPWSOCKX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DPWSOCKX.dll
-EXPORTS
-SPInit
-DPWS_GetEnumPort
-DPWS_BuildIPMessageHeader
+; 
+; Exports of file DPWSOCKX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DPWSOCKX.dll
+EXPORTS
+SPInit
+DPWS_GetEnumPort
+DPWS_BuildIPMessageHeader
diff --git a/mingw-w64-crt/lib64/wdrmclien.def b/mingw-w64-crt/lib64/wdrmclien.def
index ae4608e..ed5279b 100644
--- a/mingw-w64-crt/lib64/wdrmclien.def
+++ b/mingw-w64-crt/lib64/wdrmclien.def
@@ -1,53 +1,53 @@
-; 
-; Exports of file DRMClien.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DRMClien.DLL
-EXPORTS
-DllMain
-CanDecrypt
-Decrypt
-RequestLicense
-ProcessResponse
-Bind
-KeyExchange
-GetVersion
-CanDecryptEx
-BindEx
-; public: __thiscall CDRMLiteCrypto::CDRMLiteCrypto(void)
-??0CDRMLiteCrypto@@QAE@XZ
-; public: __thiscall CDRMLiteCrypto::~CDRMLiteCrypto(void)
-??1CDRMLiteCrypto@@QAE@XZ
-SetAppSec
-SetLicenseStore
-GetPMLicenseFileName
-GetPMLicenseSize
-CreatePMLicense
-GenerateNewLicense
-Encrypt
-InitAppCerts
-QueryXferToPM
-; public: long __thiscall CDRMLiteCrypto::BackupLicenses(unsigned long,unsigned short *,struct IUnknown *,int *,void *)
-?BackupLicenses@CDRMLiteCrypto@@QAEJKPAGPAUIUnknown@@PAHPAX@Z
-; public: long __thiscall CDRMLiteCrypto::CreatePMLicenseForJD(char const *,unsigned char *,unsigned long,struct PMLICENSE *,unsigned char *)
-?CreatePMLicenseForJD@CDRMLiteCrypto@@QAEJPBDPAEKPAUPMLICENSE@@1@Z
-; public: long __thiscall CDRMLiteCrypto::EncryptFast(char const *,unsigned long,unsigned char *,unsigned char *)
-?EncryptFast@CDRMLiteCrypto@@QAEJPBDKPAE1@Z
-; public: long __thiscall CDRMLiteCrypto::EncryptIndirectFast(char const *,unsigned long,unsigned char *,unsigned char *)
-?EncryptIndirectFast@CDRMLiteCrypto@@QAEJPBDKPAE1@Z
-; public: long __thiscall CDRMLiteCrypto::GenerateNewLicenseEx(unsigned long,unsigned char *,unsigned char *,unsigned char *,char * *,char * *,unsigned char *)
-?GenerateNewLicenseEx@CDRMLiteCrypto@@QAEJKPAE00PAPAD10@Z
-; public: long __thiscall CDRMLiteCrypto::GetLicenses(char const *,struct PMLICENSE *,unsigned long *,unsigned long,void *,unsigned long *,unsigned char *)
-?GetLicenses@CDRMLiteCrypto@@QAEJPBDPAUPMLICENSE@@PAKKPAX2PAE@Z
-; public: long __thiscall CDRMLiteCrypto::GetPublicKey(struct PKCERT *)
-?GetPublicKey@CDRMLiteCrypto@@QAEJPAUPKCERT@@@Z
-; public: long __thiscall CDRMLiteCrypto::QueryXferToJD(char const *,unsigned char *,unsigned long,unsigned char *)
-?QueryXferToJD@CDRMLiteCrypto@@QAEJPBDPAEK1@Z
-; public: long __thiscall CDRMLiteCrypto::QueryXferToPMEx(char const *,unsigned long,unsigned long *,unsigned char *,unsigned long,unsigned char *,unsigned long,unsigned long *,unsigned char *)
-?QueryXferToPMEx@CDRMLiteCrypto@@QAEJPBDKPAKPAEK2K12@Z
-; public: long __thiscall CDRMLiteCrypto::RestoreLicenses(unsigned long,unsigned char *,unsigned short *,struct IUnknown *,int *,void *)
-?RestoreLicenses@CDRMLiteCrypto@@QAEJKPAEPAGPAUIUnknown@@PAHPAX@Z
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DRMClien.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DRMClien.DLL
+EXPORTS
+DllMain
+CanDecrypt
+Decrypt
+RequestLicense
+ProcessResponse
+Bind
+KeyExchange
+GetVersion
+CanDecryptEx
+BindEx
+; public: __thiscall CDRMLiteCrypto::CDRMLiteCrypto(void)
+??0CDRMLiteCrypto@@QAE@XZ
+; public: __thiscall CDRMLiteCrypto::~CDRMLiteCrypto(void)
+??1CDRMLiteCrypto@@QAE@XZ
+SetAppSec
+SetLicenseStore
+GetPMLicenseFileName
+GetPMLicenseSize
+CreatePMLicense
+GenerateNewLicense
+Encrypt
+InitAppCerts
+QueryXferToPM
+; public: long __thiscall CDRMLiteCrypto::BackupLicenses(unsigned long,unsigned short *,struct IUnknown *,int *,void *)
+?BackupLicenses@CDRMLiteCrypto@@QAEJKPAGPAUIUnknown@@PAHPAX@Z
+; public: long __thiscall CDRMLiteCrypto::CreatePMLicenseForJD(char const *,unsigned char *,unsigned long,struct PMLICENSE *,unsigned char *)
+?CreatePMLicenseForJD@CDRMLiteCrypto@@QAEJPBDPAEKPAUPMLICENSE@@1@Z
+; public: long __thiscall CDRMLiteCrypto::EncryptFast(char const *,unsigned long,unsigned char *,unsigned char *)
+?EncryptFast@CDRMLiteCrypto@@QAEJPBDKPAE1@Z
+; public: long __thiscall CDRMLiteCrypto::EncryptIndirectFast(char const *,unsigned long,unsigned char *,unsigned char *)
+?EncryptIndirectFast@CDRMLiteCrypto@@QAEJPBDKPAE1@Z
+; public: long __thiscall CDRMLiteCrypto::GenerateNewLicenseEx(unsigned long,unsigned char *,unsigned char *,unsigned char *,char * *,char * *,unsigned char *)
+?GenerateNewLicenseEx@CDRMLiteCrypto@@QAEJKPAE00PAPAD10@Z
+; public: long __thiscall CDRMLiteCrypto::GetLicenses(char const *,struct PMLICENSE *,unsigned long *,unsigned long,void *,unsigned long *,unsigned char *)
+?GetLicenses@CDRMLiteCrypto@@QAEJPBDPAUPMLICENSE@@PAKKPAX2PAE@Z
+; public: long __thiscall CDRMLiteCrypto::GetPublicKey(struct PKCERT *)
+?GetPublicKey@CDRMLiteCrypto@@QAEJPAUPKCERT@@@Z
+; public: long __thiscall CDRMLiteCrypto::QueryXferToJD(char const *,unsigned char *,unsigned long,unsigned char *)
+?QueryXferToJD@CDRMLiteCrypto@@QAEJPBDPAEK1@Z
+; public: long __thiscall CDRMLiteCrypto::QueryXferToPMEx(char const *,unsigned long,unsigned long *,unsigned char *,unsigned long,unsigned char *,unsigned long,unsigned long *,unsigned char *)
+?QueryXferToPMEx@CDRMLiteCrypto@@QAEJPBDKPAKPAEK2K12@Z
+; public: long __thiscall CDRMLiteCrypto::RestoreLicenses(unsigned long,unsigned char *,unsigned short *,struct IUnknown *,int *,void *)
+?RestoreLicenses@CDRMLiteCrypto@@QAEJKPAEPAGPAUIUnknown@@PAHPAX@Z
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdrmstor.def b/mingw-w64-crt/lib64/wdrmstor.def
index 846d978..fcfd549 100644
--- a/mingw-w64-crt/lib64/wdrmstor.def
+++ b/mingw-w64-crt/lib64/wdrmstor.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file drmstor.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY drmstor.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file drmstor.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY drmstor.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdrmv2clt.def b/mingw-w64-crt/lib64/wdrmv2clt.def
index 5d4e1e0..1248d2c 100644
--- a/mingw-w64-crt/lib64/wdrmv2clt.def
+++ b/mingw-w64-crt/lib64/wdrmv2clt.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file drmv2clt_noint3.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY drmv2clt_noint3.DLL
-EXPORTS
-CreateDRMRightsManager
-LaunchURL
-MakeEscapedURL
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file drmv2clt_noint3.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY drmv2clt_noint3.DLL
+EXPORTS
+CreateDRMRightsManager
+LaunchURL
+MakeEscapedURL
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdrprov.def b/mingw-w64-crt/lib64/wdrprov.def
index 482af22..8c91f8e 100644
--- a/mingw-w64-crt/lib64/wdrprov.def
+++ b/mingw-w64-crt/lib64/wdrprov.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file drprov.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY drprov.dll
-EXPORTS
-NPAddConnection
-NPAddConnection3
-NPCancelConnection
-NPCloseEnum
-NPEnumResource
-NPGetCaps
-NPGetConnection
-NPGetResourceInformation
-NPGetResourceParent
-NPGetUniversalName
-NPOpenEnum
+; 
+; Exports of file drprov.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY drprov.dll
+EXPORTS
+NPAddConnection
+NPAddConnection3
+NPCancelConnection
+NPCloseEnum
+NPEnumResource
+NPGetCaps
+NPGetConnection
+NPGetResourceInformation
+NPGetResourceParent
+NPGetUniversalName
+NPOpenEnum
diff --git a/mingw-w64-crt/lib64/wds32gt.def b/mingw-w64-crt/lib64/wds32gt.def
index fa0c70b..4a8c207 100644
--- a/mingw-w64-crt/lib64/wds32gt.def
+++ b/mingw-w64-crt/lib64/wds32gt.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DS32GT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DS32GT.dll
-EXPORTS
-Dispatch
+; 
+; Exports of file DS32GT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DS32GT.dll
+EXPORTS
+Dispatch
diff --git a/mingw-w64-crt/lib64/wdsauth.def b/mingw-w64-crt/lib64/wdsauth.def
index 14e559a..5b26a28 100644
--- a/mingw-w64-crt/lib64/wdsauth.def
+++ b/mingw-w64-crt/lib64/wdsauth.def
@@ -1,32 +1,32 @@
-; 
-; Exports of file DSAUTH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSAUTH.dll
-EXPORTS
-DhcpAddServerDS
-DhcpDeleteServerDS
-DhcpDsAddServer
-DhcpDsCleanupDS
-DhcpDsDelServer
-DhcpDsEnumServers
-DhcpDsGetAttribs
-DhcpDsGetLists
-DhcpDsGetRoot
-DhcpDsInitDS
-DhcpDsSetLists
-DhcpDsValidateService
-DhcpEnumServersDS
-StoreBeginSearch
-StoreCleanupHandle
-StoreCollectAttributes
-StoreCreateObjectVA
-StoreDeleteObject
-StoreEndSearch
-StoreGetHandle
-StoreInitHandle
-StoreSearchGetNext
-StoreSetSearchOneLevel
-StoreSetSearchSubTree
+; 
+; Exports of file DSAUTH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSAUTH.dll
+EXPORTS
+DhcpAddServerDS
+DhcpDeleteServerDS
+DhcpDsAddServer
+DhcpDsCleanupDS
+DhcpDsDelServer
+DhcpDsEnumServers
+DhcpDsGetAttribs
+DhcpDsGetLists
+DhcpDsGetRoot
+DhcpDsInitDS
+DhcpDsSetLists
+DhcpDsValidateService
+DhcpEnumServersDS
+StoreBeginSearch
+StoreCleanupHandle
+StoreCollectAttributes
+StoreCreateObjectVA
+StoreDeleteObject
+StoreEndSearch
+StoreGetHandle
+StoreInitHandle
+StoreSearchGetNext
+StoreSetSearchOneLevel
+StoreSetSearchSubTree
diff --git a/mingw-w64-crt/lib64/wdsdmo.def b/mingw-w64-crt/lib64/wdsdmo.def
index 7c21c92..89c986f 100644
--- a/mingw-w64-crt/lib64/wdsdmo.def
+++ b/mingw-w64-crt/lib64/wdsdmo.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dsdmo.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsdmo.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dsdmo.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsdmo.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdsdmoprp.def b/mingw-w64-crt/lib64/wdsdmoprp.def
index a9461d0..bcf5d5b 100644
--- a/mingw-w64-crt/lib64/wdsdmoprp.def
+++ b/mingw-w64-crt/lib64/wdsdmoprp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dsdmoprp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsdmoprp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dsdmoprp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsdmoprp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdskquota.def b/mingw-w64-crt/lib64/wdskquota.def
index fe532d9..7e1652e 100644
--- a/mingw-w64-crt/lib64/wdskquota.def
+++ b/mingw-w64-crt/lib64/wdskquota.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DSKQUOTA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSKQUOTA.dll
-EXPORTS
-ProcessGroupPolicy
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DSKQUOTA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSKQUOTA.dll
+EXPORTS
+ProcessGroupPolicy
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdskquoui.def b/mingw-w64-crt/lib64/wdskquoui.def
index ff8beae..783b16a 100644
--- a/mingw-w64-crt/lib64/wdskquoui.def
+++ b/mingw-w64-crt/lib64/wdskquoui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DSKQUOUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSKQUOUI.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DSKQUOUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSKQUOUI.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdsound.def b/mingw-w64-crt/lib64/wdsound.def
index cba041e..54997c7 100644
--- a/mingw-w64-crt/lib64/wdsound.def
+++ b/mingw-w64-crt/lib64/wdsound.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file DSOUND.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSOUND.dll
-EXPORTS
-DirectSoundCreate
-DirectSoundEnumerateA
-DirectSoundEnumerateW
-DllCanUnloadNow
-DllGetClassObject
-DirectSoundCaptureCreate
-DirectSoundCaptureEnumerateA
-DirectSoundCaptureEnumerateW
-GetDeviceID
-DirectSoundFullDuplexCreate
-DirectSoundCreate8
-DirectSoundCaptureCreate8
+; 
+; Exports of file DSOUND.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSOUND.dll
+EXPORTS
+DirectSoundCreate
+DirectSoundEnumerateA
+DirectSoundEnumerateW
+DllCanUnloadNow
+DllGetClassObject
+DirectSoundCaptureCreate
+DirectSoundCaptureEnumerateA
+DirectSoundCaptureEnumerateW
+GetDeviceID
+DirectSoundFullDuplexCreate
+DirectSoundCreate8
+DirectSoundCaptureCreate8
diff --git a/mingw-w64-crt/lib64/wdsound3d.def b/mingw-w64-crt/lib64/wdsound3d.def
index 22b509b..961031d 100644
--- a/mingw-w64-crt/lib64/wdsound3d.def
+++ b/mingw-w64-crt/lib64/wdsound3d.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file DSOUND3D.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSOUND3D.dll
-EXPORTS
-CafBiquadCoeffs
+; 
+; Exports of file DSOUND3D.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSOUND3D.dll
+EXPORTS
+CafBiquadCoeffs
diff --git a/mingw-w64-crt/lib64/wdsprop.def b/mingw-w64-crt/lib64/wdsprop.def
index 12fdcc3..a0df5b3 100644
--- a/mingw-w64-crt/lib64/wdsprop.def
+++ b/mingw-w64-crt/lib64/wdsprop.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file dsprop.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsprop.dll
-EXPORTS
-CheckADsError
-CrackName
-DSPROP_GetGCSearchOnDomain
-ErrMsg
-ErrMsgParam
-FindSheet
-MsgBox
-ReportError
-Smart_PADS_ATTR_INFO__Empty
-ADsPropCheckIfWritable
-ADsPropCreateNotifyObj
-ADsPropGetInitInfo
-ADsPropSendErrorMessage
-ADsPropSetHwnd
-ADsPropSetHwndWithTitle
-ADsPropShowErrorDialog
-BringSheetToForeground
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IsSheetAlreadyUp
-PostADsPropSheet
+; 
+; Exports of file dsprop.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsprop.dll
+EXPORTS
+CheckADsError
+CrackName
+DSPROP_GetGCSearchOnDomain
+ErrMsg
+ErrMsgParam
+FindSheet
+MsgBox
+ReportError
+Smart_PADS_ATTR_INFO__Empty
+ADsPropCheckIfWritable
+ADsPropCreateNotifyObj
+ADsPropGetInitInfo
+ADsPropSendErrorMessage
+ADsPropSetHwnd
+ADsPropSetHwndWithTitle
+ADsPropShowErrorDialog
+BringSheetToForeground
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IsSheetAlreadyUp
+PostADsPropSheet
diff --git a/mingw-w64-crt/lib64/wdsquery.def b/mingw-w64-crt/lib64/wdsquery.def
index 796c07d..9ecf0c0 100644
--- a/mingw-w64-crt/lib64/wdsquery.def
+++ b/mingw-w64-crt/lib64/wdsquery.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file dsquery.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsquery.dll
-EXPORTS
-OpenSavedDsQuery
-OpenSavedDsQueryW
-OpenQueryWindow
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dsquery.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsquery.dll
+EXPORTS
+OpenSavedDsQuery
+OpenSavedDsQueryW
+OpenQueryWindow
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdssec.def b/mingw-w64-crt/lib64/wdssec.def
index ad9381c..dd5bd92 100644
--- a/mingw-w64-crt/lib64/wdssec.def
+++ b/mingw-w64-crt/lib64/wdssec.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file DSSEC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSSEC.dll
-EXPORTS
-DSCreateISecurityInfoObject
-DSCreateSecurityPage
-DSEditSecurity
-DSCreateISecurityInfoObjectEx
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file DSSEC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSSEC.dll
+EXPORTS
+DSCreateISecurityInfoObject
+DSCreateSecurityPage
+DSEditSecurity
+DSCreateISecurityInfoObjectEx
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wdssenh.def b/mingw-w64-crt/lib64/wdssenh.def
index be92f54..b9f03fd 100644
--- a/mingw-w64-crt/lib64/wdssenh.def
+++ b/mingw-w64-crt/lib64/wdssenh.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file DSSENH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DSSENH.dll
-EXPORTS
-CPAcquireContext
-CPCreateHash
-CPDecrypt
-CPDeriveKey
-CPDestroyHash
-CPDestroyKey
-CPDuplicateHash
-CPDuplicateKey
-CPEncrypt
-CPExportKey
-CPGenKey
-CPGenRandom
-CPGetHashParam
-CPGetKeyParam
-CPGetProvParam
-CPGetUserKey
-CPHashData
-CPHashSessionKey
-CPImportKey
-CPReleaseContext
-CPSetHashParam
-CPSetKeyParam
-CPSetProvParam
-CPSignHash
-CPVerifySignature
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DSSENH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DSSENH.dll
+EXPORTS
+CPAcquireContext
+CPCreateHash
+CPDecrypt
+CPDeriveKey
+CPDestroyHash
+CPDestroyKey
+CPDuplicateHash
+CPDuplicateKey
+CPEncrypt
+CPExportKey
+CPGenKey
+CPGenRandom
+CPGetHashParam
+CPGetKeyParam
+CPGetProvParam
+CPGetUserKey
+CPHashData
+CPHashSessionKey
+CPImportKey
+CPReleaseContext
+CPSetHashParam
+CPSetKeyParam
+CPSetProvParam
+CPSignHash
+CPVerifySignature
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdsuiext.def b/mingw-w64-crt/lib64/wdsuiext.def
index 164def4..605789c 100644
--- a/mingw-w64-crt/lib64/wdsuiext.def
+++ b/mingw-w64-crt/lib64/wdsuiext.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file dsuiext.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dsuiext.dll
-EXPORTS
-DsBrowseForContainerA
-DsBrowseForContainerW
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-DsGetIcon
-DsGetFriendlyClassName
+; 
+; Exports of file dsuiext.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dsuiext.dll
+EXPORTS
+DsBrowseForContainerA
+DsBrowseForContainerW
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+DsGetIcon
+DsGetFriendlyClassName
diff --git a/mingw-w64-crt/lib64/wdswave.def b/mingw-w64-crt/lib64/wdswave.def
index 6aa1dca..4817ad0 100644
--- a/mingw-w64-crt/lib64/wdswave.def
+++ b/mingw-w64-crt/lib64/wdswave.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file dswave.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dswave.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dswave.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dswave.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wduser.def b/mingw-w64-crt/lib64/wduser.def
index 7bfd42e..e9d8776 100644
--- a/mingw-w64-crt/lib64/wduser.def
+++ b/mingw-w64-crt/lib64/wduser.def
@@ -1,120 +1,120 @@
-; 
-; Exports of file DUSER.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DUSER.dll
-EXPORTS
-DUserCastHandle
-DUserDeleteGadget
-GetStdColorBrushF
-GetStdColorF
-GetStdColorPenF
-UtilDrawOutlineRect
-AddGadgetMessageHandler
-AttachWndProcA
-AttachWndProcW
-AutoTrace
-BeginTransition
-BuildAnimation
-BuildDropTarget
-BuildInterpolation
-CreateAction
-CreateGadget
-CreateTransition
-DUserBuildGadget
-DUserCastClass
-DUserCastDirect
-DUserFindClass
-DUserGetAlphaPRID
-DUserGetGutsData
-DUserGetRectPRID
-DUserGetRotatePRID
-DUserGetScalePRID
-DUserInstanceOf
-DUserPostEvent
-DUserPostMethod
-DUserRegisterGuts
-DUserRegisterStub
-DUserRegisterSuper
-DUserSendEvent
-DUserSendMethod
-DUserStopAnimation
-DeleteHandle
-DetachWndProc
-DllMain
-DrawGadgetTree
-EndTransition
-EnumGadgets
-FindGadgetFromPoint
-FindGadgetMessages
-FindStdColor
-FireGadgetMessages
-ForwardGadgetMessage
-GetActionTimeslice
-GetDebug
-GetGadget
-GetGadgetAnimation
-GetGadgetBufferInfo
-GetGadgetCenterPoint
-GetGadgetFocus
-GetGadgetMessageFilter
-GetGadgetProperty
-GetGadgetRect
-GetGadgetRgn
-GetGadgetRootInfo
-GetGadgetRotation
-GetGadgetScale
-GetGadgetSize
-GetGadgetStyle
-GetGadgetTicket
-GetMessageExA
-GetMessageExW
-GetStdColorBrushI
-GetStdColorI
-GetStdColorName
-GetStdColorPenI
-GetStdPalette
-GetTransitionInterface
-InitGadgetComponent
-InitGadgets
-InvalidateGadget
-IsGadgetParentChainStyle
-IsInsideContext
-IsStartDelete
-LookupGadgetTicket
-MapGadgetPoints
-PeekMessageExA
-PeekMessageExW
-PlayTransition
-PrintTransition
-RegisterGadgetMessage
-RegisterGadgetMessageString
-RegisterGadgetProperty
-RemoveGadgetMessageHandler
-RemoveGadgetProperty
-SetActionTimeslice
-SetGadgetBufferInfo
-SetGadgetCenterPoint
-SetGadgetFillF
-SetGadgetFillI
-SetGadgetFocus
-SetGadgetMessageFilter
-SetGadgetOrder
-SetGadgetParent
-SetGadgetProperty
-SetGadgetRect
-SetGadgetRootInfo
-SetGadgetRotation
-SetGadgetScale
-SetGadgetStyle
-UninitGadgetComponent
-UnregisterGadgetMessage
-UnregisterGadgetMessageString
-UnregisterGadgetProperty
-UtilBuildFont
-UtilDrawBlendRect
-UtilGetColor
-UtilSetBackground
-WaitMessageEx
+; 
+; Exports of file DUSER.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DUSER.dll
+EXPORTS
+DUserCastHandle
+DUserDeleteGadget
+GetStdColorBrushF
+GetStdColorF
+GetStdColorPenF
+UtilDrawOutlineRect
+AddGadgetMessageHandler
+AttachWndProcA
+AttachWndProcW
+AutoTrace
+BeginTransition
+BuildAnimation
+BuildDropTarget
+BuildInterpolation
+CreateAction
+CreateGadget
+CreateTransition
+DUserBuildGadget
+DUserCastClass
+DUserCastDirect
+DUserFindClass
+DUserGetAlphaPRID
+DUserGetGutsData
+DUserGetRectPRID
+DUserGetRotatePRID
+DUserGetScalePRID
+DUserInstanceOf
+DUserPostEvent
+DUserPostMethod
+DUserRegisterGuts
+DUserRegisterStub
+DUserRegisterSuper
+DUserSendEvent
+DUserSendMethod
+DUserStopAnimation
+DeleteHandle
+DetachWndProc
+DllMain
+DrawGadgetTree
+EndTransition
+EnumGadgets
+FindGadgetFromPoint
+FindGadgetMessages
+FindStdColor
+FireGadgetMessages
+ForwardGadgetMessage
+GetActionTimeslice
+GetDebug
+GetGadget
+GetGadgetAnimation
+GetGadgetBufferInfo
+GetGadgetCenterPoint
+GetGadgetFocus
+GetGadgetMessageFilter
+GetGadgetProperty
+GetGadgetRect
+GetGadgetRgn
+GetGadgetRootInfo
+GetGadgetRotation
+GetGadgetScale
+GetGadgetSize
+GetGadgetStyle
+GetGadgetTicket
+GetMessageExA
+GetMessageExW
+GetStdColorBrushI
+GetStdColorI
+GetStdColorName
+GetStdColorPenI
+GetStdPalette
+GetTransitionInterface
+InitGadgetComponent
+InitGadgets
+InvalidateGadget
+IsGadgetParentChainStyle
+IsInsideContext
+IsStartDelete
+LookupGadgetTicket
+MapGadgetPoints
+PeekMessageExA
+PeekMessageExW
+PlayTransition
+PrintTransition
+RegisterGadgetMessage
+RegisterGadgetMessageString
+RegisterGadgetProperty
+RemoveGadgetMessageHandler
+RemoveGadgetProperty
+SetActionTimeslice
+SetGadgetBufferInfo
+SetGadgetCenterPoint
+SetGadgetFillF
+SetGadgetFillI
+SetGadgetFocus
+SetGadgetMessageFilter
+SetGadgetOrder
+SetGadgetParent
+SetGadgetProperty
+SetGadgetRect
+SetGadgetRootInfo
+SetGadgetRotation
+SetGadgetScale
+SetGadgetStyle
+UninitGadgetComponent
+UnregisterGadgetMessage
+UnregisterGadgetMessageString
+UnregisterGadgetProperty
+UtilBuildFont
+UtilDrawBlendRect
+UtilGetColor
+UtilSetBackground
+WaitMessageEx
diff --git a/mingw-w64-crt/lib64/wdx7vb.def b/mingw-w64-crt/lib64/wdx7vb.def
index 5831f62..3409e93 100644
--- a/mingw-w64-crt/lib64/wdx7vb.def
+++ b/mingw-w64-crt/lib64/wdx7vb.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DX7VB.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DX7VB.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DX7VB.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DX7VB.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdx8vb.def b/mingw-w64-crt/lib64/wdx8vb.def
index aef3dc0..6ffd8fc 100644
--- a/mingw-w64-crt/lib64/wdx8vb.def
+++ b/mingw-w64-crt/lib64/wdx8vb.def
@@ -1,147 +1,147 @@
-; 
-; Exports of file DX8VB.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DX8VB.DLL
-EXPORTS
-VB_D3DXVec2Dot
-VB_D3DXVec2CCW
-VB_D3DXVec2Add
-VB_D3DXVec2Subtract
-VB_D3DXVec2Minimize
-VB_D3DXVec2Maximize
-VB_D3DXVec2Scale
-VB_D3DXVec2Lerp
-VB_D3DXVec2Normalize
-VB_D3DXVec2Hermite
-VB_D3DXVec2BaryCentric
-VB_D3DXVec2Transform
-VB_D3DXVec2TransformCoord
-VB_D3DXVec2TransformNormal
-VB_D3DXVec3Length
-VB_D3DXVec3LengthSq
-VB_D3DXVec3Dot
-VB_D3DXVec3Cross
-VB_D3DXVec3Add
-VB_D3DXVec3Subtract
-VB_D3DXVec3Minimize
-VB_D3DXVec3Maximize
-VB_D3DXVec3Scale
-VB_D3DXVec3Lerp
-VB_D3DXVec3Normalize
-VB_D3DXVec3Hermite
-VB_D3DXVec3BaryCentric
-VB_D3DXVec3Transform
-VB_D3DXVec3TransformCoord
-VB_D3DXVec3TransformNormal
-VB_D3DXVec4Length
-VB_D3DXVec4LengthSq
-VB_D3DXVec4Dot
-VB_D3DXVec4Add
-VB_D3DXVec4Subtract
-VB_D3DXVec4Minimize
-VB_D3DXVec4Maximize
-VB_D3DXVec4Scale
-VB_D3DXVec4Lerp
-VB_D3DXVec4Cross
-VB_D3DXVec4Normalize
-VB_D3DXVec4Hermite
-VB_D3DXVec4BaryCentric
-VB_D3DXVec4Transform
-VB_D3DXMatrixIdentity
-VB_D3DXMatrixIsIdentity
-VB_D3DXMatrixfDeterminant
-VB_D3DXMatrixMultiply
-VB_D3DXMatrixTranspose
-VB_D3DXMatrixInverse
-VB_D3DXMatrixScaling
-VB_D3DXMatrixTranslation
-VB_D3DXMatrixRotationX
-VB_D3DXMatrixRotationY
-VB_D3DXMatrixRotationZ
-VB_D3DXMatrixRotationAxis
-VB_D3DXMatrixRotationQuaternion
-VB_D3DXMatrixRotationYawPitchRoll
-VB_D3DXMatrixTransformation
-VB_D3DXMatrixAffineTransformation
-VB_D3DXMatrixLookAtRH
-VB_D3DXMatrixLookAtLH
-VB_D3DXMatrixPerspectiveRH
-VB_D3DXMatrixPerspectiveLH
-VB_D3DXMatrixPerspectiveFovRH
-VB_D3DXMatrixPerspectiveFovLH
-VB_D3DXMatrixPerspectiveOffCenterRH
-VB_D3DXMatrixPerspectiveOffCenterLH
-VB_D3DXMatrixOrthoRH
-VB_D3DXMatrixOrthoLH
-VB_D3DXMatrixOrthoOffCenterRH
-VB_D3DXMatrixOrthoOffCenterLH
-VB_D3DXMatrixShadow
-VB_D3DXMatrixReflect
-VB_D3DXQuaternionLength
-VB_D3DXQuaternionLengthSq
-VB_D3DXQuaternionIdentity
-VB_D3DXQuaternionIsIdentity
-VB_D3DXQuaternionConjugate
-VB_D3DXQuaternionToAxisAngle
-VB_D3DXQuaternionRotationMatrix
-VB_D3DXQuaternionRotationAxis
-VB_D3DXQuaternionRotationYawPitchRoll
-VB_D3DXQuaternionMultiply
-VB_D3DXQuaternionNormalize
-VB_D3DXQuaternionInverse
-VB_D3DXQuaternionLn
-VB_D3DXQuaternionExp
-VB_D3DXQuaternionSlerp
-VB_D3DXQuaternionSquad
-VB_D3DXQuaternionBaryCentric
-VB_D3DXPlaneDot
-VB_D3DXPlaneDotCoord
-VB_D3DXPlaneDotNormal
-VB_D3DXPlaneNormalize
-VB_D3DXPlaneIntersectLine
-VB_D3DXPlaneFromPointNormal
-VB_D3DXPlaneFromPoints
-VB_D3DXPlaneTransform
-VB_D3DXColorNegative
-VB_D3DXColorAdd
-VB_D3DXColorSubtract
-VB_D3DXColorScale
-VB_D3DXColorModulate
-VB_D3DXColorLerp
-VB_D3DXColorAdjustSaturation
-VB_D3DXColorAdjustContrast
-VB_D3DXVec2Length
-VB_D3DXVec2LengthSq
-D3DVertexBuffer8SetData
-D3DVertexBuffer8GetData
-D3DIndexBuffer8SetData
-D3DIndexBuffer8GetData
-DXLockArray8
-DXUnlockArray8
-VB_NewBuffer
-VB_AddDataToBuffer
-VB_AddStringToBuffer
-VB_GetDataFromBuffer
-VB_GetStringFromBuffer
-VB_D3DXVec2CatmullRom
-VB_D3DXVec3CatmullRom
-VB_D3DXVec4CatmullRom
-VB_D3DXVec3Project
-VB_D3DXVec3Unproject
-VB_D3DColorRGBA
-VB_D3DColorARGB
-VB_D3DColorXRGB
-VB_D3DColorMake
-VB_D3DXQuaternionDot
-D3DXMeshVertexBuffer8SetData
-D3DXMeshVertexBuffer8GetData
-D3DXMeshIndexBuffer8SetData
-D3DXMeshIndexBuffer8GetData
-DXCopyMemory
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DX8VB.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DX8VB.DLL
+EXPORTS
+VB_D3DXVec2Dot
+VB_D3DXVec2CCW
+VB_D3DXVec2Add
+VB_D3DXVec2Subtract
+VB_D3DXVec2Minimize
+VB_D3DXVec2Maximize
+VB_D3DXVec2Scale
+VB_D3DXVec2Lerp
+VB_D3DXVec2Normalize
+VB_D3DXVec2Hermite
+VB_D3DXVec2BaryCentric
+VB_D3DXVec2Transform
+VB_D3DXVec2TransformCoord
+VB_D3DXVec2TransformNormal
+VB_D3DXVec3Length
+VB_D3DXVec3LengthSq
+VB_D3DXVec3Dot
+VB_D3DXVec3Cross
+VB_D3DXVec3Add
+VB_D3DXVec3Subtract
+VB_D3DXVec3Minimize
+VB_D3DXVec3Maximize
+VB_D3DXVec3Scale
+VB_D3DXVec3Lerp
+VB_D3DXVec3Normalize
+VB_D3DXVec3Hermite
+VB_D3DXVec3BaryCentric
+VB_D3DXVec3Transform
+VB_D3DXVec3TransformCoord
+VB_D3DXVec3TransformNormal
+VB_D3DXVec4Length
+VB_D3DXVec4LengthSq
+VB_D3DXVec4Dot
+VB_D3DXVec4Add
+VB_D3DXVec4Subtract
+VB_D3DXVec4Minimize
+VB_D3DXVec4Maximize
+VB_D3DXVec4Scale
+VB_D3DXVec4Lerp
+VB_D3DXVec4Cross
+VB_D3DXVec4Normalize
+VB_D3DXVec4Hermite
+VB_D3DXVec4BaryCentric
+VB_D3DXVec4Transform
+VB_D3DXMatrixIdentity
+VB_D3DXMatrixIsIdentity
+VB_D3DXMatrixfDeterminant
+VB_D3DXMatrixMultiply
+VB_D3DXMatrixTranspose
+VB_D3DXMatrixInverse
+VB_D3DXMatrixScaling
+VB_D3DXMatrixTranslation
+VB_D3DXMatrixRotationX
+VB_D3DXMatrixRotationY
+VB_D3DXMatrixRotationZ
+VB_D3DXMatrixRotationAxis
+VB_D3DXMatrixRotationQuaternion
+VB_D3DXMatrixRotationYawPitchRoll
+VB_D3DXMatrixTransformation
+VB_D3DXMatrixAffineTransformation
+VB_D3DXMatrixLookAtRH
+VB_D3DXMatrixLookAtLH
+VB_D3DXMatrixPerspectiveRH
+VB_D3DXMatrixPerspectiveLH
+VB_D3DXMatrixPerspectiveFovRH
+VB_D3DXMatrixPerspectiveFovLH
+VB_D3DXMatrixPerspectiveOffCenterRH
+VB_D3DXMatrixPerspectiveOffCenterLH
+VB_D3DXMatrixOrthoRH
+VB_D3DXMatrixOrthoLH
+VB_D3DXMatrixOrthoOffCenterRH
+VB_D3DXMatrixOrthoOffCenterLH
+VB_D3DXMatrixShadow
+VB_D3DXMatrixReflect
+VB_D3DXQuaternionLength
+VB_D3DXQuaternionLengthSq
+VB_D3DXQuaternionIdentity
+VB_D3DXQuaternionIsIdentity
+VB_D3DXQuaternionConjugate
+VB_D3DXQuaternionToAxisAngle
+VB_D3DXQuaternionRotationMatrix
+VB_D3DXQuaternionRotationAxis
+VB_D3DXQuaternionRotationYawPitchRoll
+VB_D3DXQuaternionMultiply
+VB_D3DXQuaternionNormalize
+VB_D3DXQuaternionInverse
+VB_D3DXQuaternionLn
+VB_D3DXQuaternionExp
+VB_D3DXQuaternionSlerp
+VB_D3DXQuaternionSquad
+VB_D3DXQuaternionBaryCentric
+VB_D3DXPlaneDot
+VB_D3DXPlaneDotCoord
+VB_D3DXPlaneDotNormal
+VB_D3DXPlaneNormalize
+VB_D3DXPlaneIntersectLine
+VB_D3DXPlaneFromPointNormal
+VB_D3DXPlaneFromPoints
+VB_D3DXPlaneTransform
+VB_D3DXColorNegative
+VB_D3DXColorAdd
+VB_D3DXColorSubtract
+VB_D3DXColorScale
+VB_D3DXColorModulate
+VB_D3DXColorLerp
+VB_D3DXColorAdjustSaturation
+VB_D3DXColorAdjustContrast
+VB_D3DXVec2Length
+VB_D3DXVec2LengthSq
+D3DVertexBuffer8SetData
+D3DVertexBuffer8GetData
+D3DIndexBuffer8SetData
+D3DIndexBuffer8GetData
+DXLockArray8
+DXUnlockArray8
+VB_NewBuffer
+VB_AddDataToBuffer
+VB_AddStringToBuffer
+VB_GetDataFromBuffer
+VB_GetStringFromBuffer
+VB_D3DXVec2CatmullRom
+VB_D3DXVec3CatmullRom
+VB_D3DXVec4CatmullRom
+VB_D3DXVec3Project
+VB_D3DXVec3Unproject
+VB_D3DColorRGBA
+VB_D3DColorARGB
+VB_D3DColorXRGB
+VB_D3DColorMake
+VB_D3DXQuaternionDot
+D3DXMeshVertexBuffer8SetData
+D3DXMeshVertexBuffer8GetData
+D3DXMeshIndexBuffer8SetData
+D3DXMeshIndexBuffer8GetData
+DXCopyMemory
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdxdiagn.def b/mingw-w64-crt/lib64/wdxdiagn.def
index aa2a778..56f8143 100644
--- a/mingw-w64-crt/lib64/wdxdiagn.def
+++ b/mingw-w64-crt/lib64/wdxdiagn.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file DxDiagn.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DxDiagn.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DxDiagn.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DxDiagn.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdxmasf.def b/mingw-w64-crt/lib64/wdxmasf.def
index d34c079..0f82105 100644
--- a/mingw-w64-crt/lib64/wdxmasf.def
+++ b/mingw-w64-crt/lib64/wdxmasf.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file NSDLL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NSDLL.dll
-EXPORTS
-UtilLoadImage
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NSDLL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NSDLL.dll
+EXPORTS
+UtilLoadImage
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdxtmsft.def b/mingw-w64-crt/lib64/wdxtmsft.def
index 2f1f002..eafa0e4 100644
--- a/mingw-w64-crt/lib64/wdxtmsft.def
+++ b/mingw-w64-crt/lib64/wdxtmsft.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file dxtmsft.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dxtmsft.dll
-EXPORTS
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dxtmsft.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dxtmsft.dll
+EXPORTS
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wdxtrans.def b/mingw-w64-crt/lib64/wdxtrans.def
index b7bd241..5ab3316 100644
--- a/mingw-w64-crt/lib64/wdxtrans.def
+++ b/mingw-w64-crt/lib64/wdxtrans.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file dxtrans.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY dxtrans.dll
-EXPORTS
-; void __stdcall DXConstOverArray(class DXPMSAMPLE *,class DXPMSAMPLE const &,unsigned long)
-?DXConstOverArray@@YGXPAVDXPMSAMPLE@@ABV1@K@Z
-; void __stdcall DXConstUnderArray(class DXPMSAMPLE *,class DXPMSAMPLE const &,unsigned long)
-?DXConstUnderArray@@YGXPAVDXPMSAMPLE@@ABV1@K@Z
-; void __stdcall DXDitherArray(struct DXDITHERDESC const *)
-?DXDitherArray@@YGXPBUDXDITHERDESC@@@Z
-; void __stdcall DXLinearInterpolateArray(class DXBASESAMPLE const *,struct DXLIMAPINFO *,class DXBASESAMPLE *,unsigned long)
-?DXLinearInterpolateArray@@YGXPBVDXBASESAMPLE@@PAUDXLIMAPINFO@@PAV1@K@Z
-; void __stdcall DXOverArray(class DXPMSAMPLE *,class DXPMSAMPLE const *,unsigned long)
-?DXOverArray@@YGXPAVDXPMSAMPLE@@PBV1@K@Z
-; void __stdcall DXOverArrayMMX(class DXPMSAMPLE *,class DXPMSAMPLE const *,unsigned long)
-?DXOverArrayMMX@@YGXPAVDXPMSAMPLE@@PBV1@K@Z
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file dxtrans.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY dxtrans.dll
+EXPORTS
+; void __stdcall DXConstOverArray(class DXPMSAMPLE *,class DXPMSAMPLE const &,unsigned long)
+?DXConstOverArray@@YGXPAVDXPMSAMPLE@@ABV1@K@Z
+; void __stdcall DXConstUnderArray(class DXPMSAMPLE *,class DXPMSAMPLE const &,unsigned long)
+?DXConstUnderArray@@YGXPAVDXPMSAMPLE@@ABV1@K@Z
+; void __stdcall DXDitherArray(struct DXDITHERDESC const *)
+?DXDitherArray@@YGXPBUDXDITHERDESC@@@Z
+; void __stdcall DXLinearInterpolateArray(class DXBASESAMPLE const *,struct DXLIMAPINFO *,class DXBASESAMPLE *,unsigned long)
+?DXLinearInterpolateArray@@YGXPBVDXBASESAMPLE@@PAUDXLIMAPINFO@@PAV1@K@Z
+; void __stdcall DXOverArray(class DXPMSAMPLE *,class DXPMSAMPLE const *,unsigned long)
+?DXOverArray@@YGXPAVDXPMSAMPLE@@PBV1@K@Z
+; void __stdcall DXOverArrayMMX(class DXPMSAMPLE *,class DXPMSAMPLE const *,unsigned long)
+?DXOverArrayMMX@@YGXPAVDXPMSAMPLE@@PBV1@K@Z
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/webcheck.def b/mingw-w64-crt/lib64/webcheck.def
index d77b48e..f0d7746 100644
--- a/mingw-w64-crt/lib64/webcheck.def
+++ b/mingw-w64-crt/lib64/webcheck.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file WebCheck.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WebCheck.dll
-EXPORTS
-XMLScheduleElementToTaskTrigger
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WebCheck.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WebCheck.dll
+EXPORTS
+XMLScheduleElementToTaskTrigger
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/webclnt.def b/mingw-w64-crt/lib64/webclnt.def
index 87df575..edc1388 100644
--- a/mingw-w64-crt/lib64/webclnt.def
+++ b/mingw-w64-crt/lib64/webclnt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file webclnt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY webclnt.dll
-EXPORTS
-DavClose
-DavInit
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file webclnt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY webclnt.dll
+EXPORTS
+DavClose
+DavInit
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/webhits.def b/mingw-w64-crt/lib64/webhits.def
index 7853ec7..0712a60 100644
--- a/mingw-w64-crt/lib64/webhits.def
+++ b/mingw-w64-crt/lib64/webhits.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file WEBHITS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WEBHITS.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file WEBHITS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WEBHITS.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/webvw.def b/mingw-w64-crt/lib64/webvw.def
index 922cb40..30c716b 100644
--- a/mingw-w64-crt/lib64/webvw.def
+++ b/mingw-w64-crt/lib64/webvw.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file webvw.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY webvw.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file webvw.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY webvw.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wedb500.def b/mingw-w64-crt/lib64/wedb500.def
index 36baf3a..1f04976 100644
--- a/mingw-w64-crt/lib64/wedb500.def
+++ b/mingw-w64-crt/lib64/wedb500.def
@@ -1,87 +1,87 @@
-; 
-; Exports of file EDB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY EDB.dll
-EXPORTS
-JetAddColumn@28
-JetAttachDatabase@12
-JetBackup@12
-JetBeginExternalBackup@4
-JetBeginSession@16
-JetBeginTransaction@4
-JetCloseDatabase@12
-JetCloseFile@4
-JetCloseTable@8
-JetCommitTransaction@8
-JetCompact@24
-JetComputeStats@8
-JetCreateDatabase@20
-JetCreateIndex@28
-JetCreateTable@24
-JetCreateTableColumnIndex@12
-JetDBUtilities@4
-JetDelete@8
-JetDeleteColumn@12
-JetDeleteIndex@12
-JetDeleteTable@12
-JetDetachDatabase@8
-JetDupCursor@16
-JetDupSession@8
-JetEndExternalBackup@0
-JetEndSession@8
-JetEscrowUpdate@36
-JetExternalRestore@32
-JetGetAttachInfo@12
-JetGetBookmark@20
-JetGetChecksum@12
-JetGetColumnInfo@28
-JetGetCounter@12
-JetGetCurrentIndex@16
-JetGetCursorInfo@20
-JetGetDatabaseInfo@20
-JetGetIndexInfo@28
-JetGetLogInfo@12
-JetGetObjectInfo@32
-JetGetObjidFromName@20
-JetGetRecordPosition@16
-JetGetSystemParameter@24
-JetGetTableColumnInfo@24
-JetGetTableIndexInfo@24
-JetGetTableInfo@20
-JetGetVersion@8
-JetGotoBookmark@16
-JetGotoPosition@12
-JetIdle@8
-JetIndexRecordCount@16
-JetInit@4
-JetMakeKey@20
-JetMove@16
-JetOpenDatabase@20
-JetOpenFile@16
-JetOpenTable@28
-JetOpenTempTable2@28
-JetOpenTempTable@24
-JetPrepareUpdate@12
-JetReadFile@16
-JetResetCounter@8
-JetRestore2@12
-JetRestore@8
-JetRetrieveColumn@32
-JetRetrieveColumns@16
-JetRetrieveKey@24
-JetRollback@8
-JetSeek@12
-JetSetColumn@28
-JetSetColumns@16
-JetSetCurrentIndex2@16
-JetSetCurrentIndex3@20
-JetSetCurrentIndex@12
-JetSetIndexRange@12
-JetSetSystemParameter@20
-JetTerm2@8
-JetTerm@4
-JetTruncateLog@0
-JetUpdate@20
+; 
+; Exports of file EDB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY EDB.dll
+EXPORTS
+JetAddColumn@28
+JetAttachDatabase@12
+JetBackup@12
+JetBeginExternalBackup@4
+JetBeginSession@16
+JetBeginTransaction@4
+JetCloseDatabase@12
+JetCloseFile@4
+JetCloseTable@8
+JetCommitTransaction@8
+JetCompact@24
+JetComputeStats@8
+JetCreateDatabase@20
+JetCreateIndex@28
+JetCreateTable@24
+JetCreateTableColumnIndex@12
+JetDBUtilities@4
+JetDelete@8
+JetDeleteColumn@12
+JetDeleteIndex@12
+JetDeleteTable@12
+JetDetachDatabase@8
+JetDupCursor@16
+JetDupSession@8
+JetEndExternalBackup@0
+JetEndSession@8
+JetEscrowUpdate@36
+JetExternalRestore@32
+JetGetAttachInfo@12
+JetGetBookmark@20
+JetGetChecksum@12
+JetGetColumnInfo@28
+JetGetCounter@12
+JetGetCurrentIndex@16
+JetGetCursorInfo@20
+JetGetDatabaseInfo@20
+JetGetIndexInfo@28
+JetGetLogInfo@12
+JetGetObjectInfo@32
+JetGetObjidFromName@20
+JetGetRecordPosition@16
+JetGetSystemParameter@24
+JetGetTableColumnInfo@24
+JetGetTableIndexInfo@24
+JetGetTableInfo@20
+JetGetVersion@8
+JetGotoBookmark@16
+JetGotoPosition@12
+JetIdle@8
+JetIndexRecordCount@16
+JetInit@4
+JetMakeKey@20
+JetMove@16
+JetOpenDatabase@20
+JetOpenFile@16
+JetOpenTable@28
+JetOpenTempTable2@28
+JetOpenTempTable@24
+JetPrepareUpdate@12
+JetReadFile@16
+JetResetCounter@8
+JetRestore2@12
+JetRestore@8
+JetRetrieveColumn@32
+JetRetrieveColumns@16
+JetRetrieveKey@24
+JetRollback@8
+JetSeek@12
+JetSetColumn@28
+JetSetColumns@16
+JetSetCurrentIndex2@16
+JetSetCurrentIndex3@20
+JetSetCurrentIndex@12
+JetSetIndexRange@12
+JetSetSystemParameter@20
+JetTerm2@8
+JetTerm@4
+JetTruncateLog@0
+JetUpdate@20
diff --git a/mingw-w64-crt/lib64/wefsadu.def b/mingw-w64-crt/lib64/wefsadu.def
index dd0b05d..eeada71 100644
--- a/mingw-w64-crt/lib64/wefsadu.def
+++ b/mingw-w64-crt/lib64/wefsadu.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file EFSADU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY EFSADU.dll
-EXPORTS
-AddUserToObjectW
-BackCurrentEfsCert
-EfsDetail
+; 
+; Exports of file EFSADU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY EFSADU.dll
+EXPORTS
+AddUserToObjectW
+BackCurrentEfsCert
+EfsDetail
diff --git a/mingw-w64-crt/lib64/wels.def b/mingw-w64-crt/lib64/wels.def
index fdad893..590678b 100644
--- a/mingw-w64-crt/lib64/wels.def
+++ b/mingw-w64-crt/lib64/wels.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file els.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY els.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file els.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY els.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wencapi.def b/mingw-w64-crt/lib64/wencapi.def
index 643b99c..201796a 100644
--- a/mingw-w64-crt/lib64/wencapi.def
+++ b/mingw-w64-crt/lib64/wencapi.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file encapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY encapi.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file encapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY encapi.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wencdec.def b/mingw-w64-crt/lib64/wencdec.def
index ecfea94..a97155b 100644
--- a/mingw-w64-crt/lib64/wencdec.def
+++ b/mingw-w64-crt/lib64/wencdec.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file encdec.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY encdec.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file encdec.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY encdec.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wes.def b/mingw-w64-crt/lib64/wes.def
index 2a17d79..fc770ab 100644
--- a/mingw-w64-crt/lib64/wes.def
+++ b/mingw-w64-crt/lib64/wes.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file ES.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ES.dll
-EXPORTS
-NotifyLogoffUser
-NotifyLogonUser
-ServiceMain
-LCEControlServer
-RegisterTheEventServiceDuringSetup
-RegisterTheEventServiceAfterSetup
-DllRegisterServer
-DllUnregisterServer
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file ES.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ES.dll
+EXPORTS
+NotifyLogoffUser
+NotifyLogonUser
+ServiceMain
+LCEControlServer
+RegisterTheEventServiceDuringSetup
+RegisterTheEventServiceAfterSetup
+DllRegisterServer
+DllUnregisterServer
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wesent.def b/mingw-w64-crt/lib64/wesent.def
index ee357bd..9cd1f0f 100644
--- a/mingw-w64-crt/lib64/wesent.def
+++ b/mingw-w64-crt/lib64/wesent.def
@@ -1,300 +1,300 @@
-; 
-; Exports of file ESENT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ESENT.dll
-EXPORTS
-JetAddColumn@28
-JetAttachDatabase2@16
-JetAttachDatabase@12
-JetAttachDatabaseWithStreaming@24
-JetBackup@12
-JetBackupInstance@16
-JetBeginExternalBackup@4
-JetBeginExternalBackupInstance@8
-JetBeginSession@16
-JetBeginTransaction2@8
-JetBeginTransaction@4
-JetCloseDatabase@12
-JetCloseFile@4
-JetCloseFileInstance@8
-JetCloseTable@8
-JetCommitTransaction@8
-JetCompact@24
-JetComputeStats@8
-JetConvertDDL@20
-JetCreateDatabase2@20
-JetCreateDatabase@20
-JetCreateDatabaseWithStreaming@28
-JetCreateIndex2@16
-JetCreateIndex@28
-JetCreateInstance2@16
-JetCreateInstance@8
-JetCreateTable@24
-JetCreateTableColumnIndex2@12
-JetCreateTableColumnIndex@12
-JetDBUtilities@4
-JetDefragment2@28
-JetDefragment@24
-JetDelete@8
-JetDeleteColumn2@16
-JetDeleteColumn@12
-JetDeleteIndex@12
-JetDeleteTable@12
-JetDetachDatabase2@12
-JetDetachDatabase@8
-JetDupCursor@16
-JetDupSession@8
-JetEnableMultiInstance@12
-JetEndExternalBackup@0
-JetEndExternalBackupInstance2@8
-JetEndExternalBackupInstance@4
-JetEndSession@8
-JetEnumerateColumns@40
-JetEscrowUpdate@36
-JetExternalRestore2@40
-JetExternalRestore@32
-JetFreeBuffer@4
-JetGetAttachInfo@12
-JetGetAttachInfoInstance@16
-JetGetBookmark@20
-JetGetColumnInfo@28
-JetGetCounter@12
-JetGetCurrentIndex@16
-JetGetCursorInfo@20
-JetGetDatabaseFileInfo@16
-JetGetDatabaseInfo@20
-JetGetIndexInfo@28
-JetGetInstanceInfo@8
-JetGetLS@16
-JetGetLock@12
-JetGetLogInfo@12
-JetGetLogInfoInstance2@20
-JetGetLogInfoInstance@16
-JetGetObjectInfo@32
-JetGetRecordPosition@16
-JetGetSecondaryIndexBookmark@36
-JetGetSystemParameter@24
-JetGetTableColumnInfo@24
-JetGetTableIndexInfo@24
-JetGetTableInfo@20
-JetGetTruncateLogInfoInstance@16
-JetGetVersion@8
-JetGotoBookmark@16
-JetGotoPosition@12
-JetGotoSecondaryIndexBookmark@28
-JetGrowDatabase@16
-JetIdle@8
-JetIndexRecordCount@16
-JetInit2@8
-JetInit3@16
-JetInit@4
-JetIntersectIndexes@20
-JetMakeKey@20
-JetMove@16
-JetOSSnapshotAbort@8
-JetOSSnapshotFreeze@16
-JetOSSnapshotPrepare@8
-JetOSSnapshotThaw@8
-JetOpenDatabase@20
-JetOpenFile@16
-JetOpenFileInstance@20
-JetOpenFileSectionInstance@28
-JetOpenTable@28
-JetOpenTempTable2@28
-JetOpenTempTable3@28
-JetOpenTempTable@24
-JetPrepareToCommitTransaction@16
-JetPrepareUpdate@12
-JetReadFile@16
-JetReadFileInstance@20
-JetRegisterCallback@24
-JetRenameColumn@20
-JetRenameTable@16
-JetResetCounter@8
-JetResetSessionContext@4
-JetResetTableSequential@12
-JetRestore2@12
-JetRestore@8
-JetRestoreInstance@16
-JetRetrieveColumn@32
-JetRetrieveColumns@16
-JetRetrieveKey@24
-JetRetrieveTaggedColumnList@28
-JetRollback@8
-JetSeek@12
-JetSetColumn@28
-JetSetColumnDefaultValue@28
-JetSetColumns@16
-JetSetCurrentIndex2@16
-JetSetCurrentIndex@12
-JetSetDatabaseSize@16
-JetSetIndexRange@12
-JetSetLS@16
-JetSetSessionContext@8
-JetSetSystemParameter@20
-JetSetTableSequential@12
-JetSnapshotStart@12
-JetSnapshotStop@8
-JetStopBackup@0
-JetStopBackupInstance@4
-JetStopService@0
-JetStopServiceInstance@4
-JetTerm2@8
-JetTerm@4
-JetTruncateLog@0
-JetTruncateLogInstance@4
-JetUnregisterCallback@16
-JetUpdate2@24
-JetUpdate@20
-JetUpgradeDatabase@16
-JetAddColumn
-JetAttachDatabase2
-JetAttachDatabase
-JetAttachDatabaseWithStreaming
-JetBackup
-JetBackupInstance
-JetBeginExternalBackup
-JetBeginExternalBackupInstance
-JetBeginSession
-JetBeginTransaction2
-JetBeginTransaction
-JetCloseDatabase
-JetCloseFile
-JetCloseFileInstance
-JetCloseTable
-JetCommitTransaction
-JetCompact
-JetComputeStats
-JetConvertDDL
-JetCreateDatabase2
-JetCreateDatabase
-JetCreateDatabaseWithStreaming
-JetCreateIndex2
-JetCreateIndex
-JetCreateInstance2
-JetCreateInstance
-JetCreateTable
-JetCreateTableColumnIndex2
-JetCreateTableColumnIndex
-JetDBUtilities
-JetDefragment2
-JetDefragment
-JetDelete
-JetDeleteColumn2
-JetDeleteColumn
-JetDeleteIndex
-JetDeleteTable
-JetDetachDatabase2
-JetDetachDatabase
-JetDupCursor
-JetDupSession
-JetEnableMultiInstance
-JetEndExternalBackup
-JetEndExternalBackupInstance2
-JetEndExternalBackupInstance
-JetEndSession
-JetEnumerateColumns
-JetEscrowUpdate
-JetExternalRestore2
-JetExternalRestore
-JetFreeBuffer
-JetGetAttachInfo
-JetGetAttachInfoInstance
-JetGetBookmark
-JetGetColumnInfo
-JetGetCounter
-JetGetCurrentIndex
-JetGetCursorInfo
-JetGetDatabaseFileInfo
-JetGetDatabaseInfo
-JetGetIndexInfo
-JetGetInstanceInfo
-JetGetLS
-JetGetLock
-JetGetLogInfo
-JetGetLogInfoInstance2
-JetGetLogInfoInstance
-JetGetObjectInfo
-JetGetRecordPosition
-JetGetSecondaryIndexBookmark
-JetGetSystemParameter
-JetGetTableColumnInfo
-JetGetTableIndexInfo
-JetGetTableInfo
-JetGetTruncateLogInfoInstance
-JetGetVersion
-JetGotoBookmark
-JetGotoPosition
-JetGotoSecondaryIndexBookmark
-JetGrowDatabase
-JetIdle
-JetIndexRecordCount
-JetInit2
-JetInit3
-JetInit
-JetIntersectIndexes
-JetMakeKey
-JetMove
-JetOSSnapshotAbort
-JetOSSnapshotFreeze
-JetOSSnapshotPrepare
-JetOSSnapshotThaw
-JetOpenDatabase
-JetOpenFile
-JetOpenFileInstance
-JetOpenFileSectionInstance
-JetOpenTable
-JetOpenTempTable2
-JetOpenTempTable3
-JetOpenTempTable
-JetPrepareToCommitTransaction
-JetPrepareUpdate
-JetReadFile
-JetReadFileInstance
-JetRegisterCallback
-JetRenameColumn
-JetRenameTable
-JetResetCounter
-JetResetSessionContext
-JetResetTableSequential
-JetRestore2
-JetRestore
-JetRestoreInstance
-JetRetrieveColumn
-JetRetrieveColumns
-JetRetrieveKey
-JetRetrieveTaggedColumnList
-JetRollback
-JetSeek
-JetSetColumn
-JetSetColumnDefaultValue
-JetSetColumns
-JetSetCurrentIndex2
-JetSetCurrentIndex3
-JetSetCurrentIndex4
-JetSetCurrentIndex
-JetSetDatabaseSize
-JetSetIndexRange
-JetSetLS
-JetSetSessionContext
-JetSetSystemParameter
-JetSetTableSequential
-JetSnapshotStart
-JetSnapshotStop
-JetStopBackup
-JetStopBackupInstance
-JetStopService
-JetStopServiceInstance
-JetTerm2
-JetTerm
-JetTruncateLog
-JetTruncateLogInstance
-JetUnregisterCallback
-JetUpdate2
-JetUpdate
-JetUpgradeDatabase
-ese
-esent
+; 
+; Exports of file ESENT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ESENT.dll
+EXPORTS
+JetAddColumn@28
+JetAttachDatabase2@16
+JetAttachDatabase@12
+JetAttachDatabaseWithStreaming@24
+JetBackup@12
+JetBackupInstance@16
+JetBeginExternalBackup@4
+JetBeginExternalBackupInstance@8
+JetBeginSession@16
+JetBeginTransaction2@8
+JetBeginTransaction@4
+JetCloseDatabase@12
+JetCloseFile@4
+JetCloseFileInstance@8
+JetCloseTable@8
+JetCommitTransaction@8
+JetCompact@24
+JetComputeStats@8
+JetConvertDDL@20
+JetCreateDatabase2@20
+JetCreateDatabase@20
+JetCreateDatabaseWithStreaming@28
+JetCreateIndex2@16
+JetCreateIndex@28
+JetCreateInstance2@16
+JetCreateInstance@8
+JetCreateTable@24
+JetCreateTableColumnIndex2@12
+JetCreateTableColumnIndex@12
+JetDBUtilities@4
+JetDefragment2@28
+JetDefragment@24
+JetDelete@8
+JetDeleteColumn2@16
+JetDeleteColumn@12
+JetDeleteIndex@12
+JetDeleteTable@12
+JetDetachDatabase2@12
+JetDetachDatabase@8
+JetDupCursor@16
+JetDupSession@8
+JetEnableMultiInstance@12
+JetEndExternalBackup@0
+JetEndExternalBackupInstance2@8
+JetEndExternalBackupInstance@4
+JetEndSession@8
+JetEnumerateColumns@40
+JetEscrowUpdate@36
+JetExternalRestore2@40
+JetExternalRestore@32
+JetFreeBuffer@4
+JetGetAttachInfo@12
+JetGetAttachInfoInstance@16
+JetGetBookmark@20
+JetGetColumnInfo@28
+JetGetCounter@12
+JetGetCurrentIndex@16
+JetGetCursorInfo@20
+JetGetDatabaseFileInfo@16
+JetGetDatabaseInfo@20
+JetGetIndexInfo@28
+JetGetInstanceInfo@8
+JetGetLS@16
+JetGetLock@12
+JetGetLogInfo@12
+JetGetLogInfoInstance2@20
+JetGetLogInfoInstance@16
+JetGetObjectInfo@32
+JetGetRecordPosition@16
+JetGetSecondaryIndexBookmark@36
+JetGetSystemParameter@24
+JetGetTableColumnInfo@24
+JetGetTableIndexInfo@24
+JetGetTableInfo@20
+JetGetTruncateLogInfoInstance@16
+JetGetVersion@8
+JetGotoBookmark@16
+JetGotoPosition@12
+JetGotoSecondaryIndexBookmark@28
+JetGrowDatabase@16
+JetIdle@8
+JetIndexRecordCount@16
+JetInit2@8
+JetInit3@16
+JetInit@4
+JetIntersectIndexes@20
+JetMakeKey@20
+JetMove@16
+JetOSSnapshotAbort@8
+JetOSSnapshotFreeze@16
+JetOSSnapshotPrepare@8
+JetOSSnapshotThaw@8
+JetOpenDatabase@20
+JetOpenFile@16
+JetOpenFileInstance@20
+JetOpenFileSectionInstance@28
+JetOpenTable@28
+JetOpenTempTable2@28
+JetOpenTempTable3@28
+JetOpenTempTable@24
+JetPrepareToCommitTransaction@16
+JetPrepareUpdate@12
+JetReadFile@16
+JetReadFileInstance@20
+JetRegisterCallback@24
+JetRenameColumn@20
+JetRenameTable@16
+JetResetCounter@8
+JetResetSessionContext@4
+JetResetTableSequential@12
+JetRestore2@12
+JetRestore@8
+JetRestoreInstance@16
+JetRetrieveColumn@32
+JetRetrieveColumns@16
+JetRetrieveKey@24
+JetRetrieveTaggedColumnList@28
+JetRollback@8
+JetSeek@12
+JetSetColumn@28
+JetSetColumnDefaultValue@28
+JetSetColumns@16
+JetSetCurrentIndex2@16
+JetSetCurrentIndex@12
+JetSetDatabaseSize@16
+JetSetIndexRange@12
+JetSetLS@16
+JetSetSessionContext@8
+JetSetSystemParameter@20
+JetSetTableSequential@12
+JetSnapshotStart@12
+JetSnapshotStop@8
+JetStopBackup@0
+JetStopBackupInstance@4
+JetStopService@0
+JetStopServiceInstance@4
+JetTerm2@8
+JetTerm@4
+JetTruncateLog@0
+JetTruncateLogInstance@4
+JetUnregisterCallback@16
+JetUpdate2@24
+JetUpdate@20
+JetUpgradeDatabase@16
+JetAddColumn
+JetAttachDatabase2
+JetAttachDatabase
+JetAttachDatabaseWithStreaming
+JetBackup
+JetBackupInstance
+JetBeginExternalBackup
+JetBeginExternalBackupInstance
+JetBeginSession
+JetBeginTransaction2
+JetBeginTransaction
+JetCloseDatabase
+JetCloseFile
+JetCloseFileInstance
+JetCloseTable
+JetCommitTransaction
+JetCompact
+JetComputeStats
+JetConvertDDL
+JetCreateDatabase2
+JetCreateDatabase
+JetCreateDatabaseWithStreaming
+JetCreateIndex2
+JetCreateIndex
+JetCreateInstance2
+JetCreateInstance
+JetCreateTable
+JetCreateTableColumnIndex2
+JetCreateTableColumnIndex
+JetDBUtilities
+JetDefragment2
+JetDefragment
+JetDelete
+JetDeleteColumn2
+JetDeleteColumn
+JetDeleteIndex
+JetDeleteTable
+JetDetachDatabase2
+JetDetachDatabase
+JetDupCursor
+JetDupSession
+JetEnableMultiInstance
+JetEndExternalBackup
+JetEndExternalBackupInstance2
+JetEndExternalBackupInstance
+JetEndSession
+JetEnumerateColumns
+JetEscrowUpdate
+JetExternalRestore2
+JetExternalRestore
+JetFreeBuffer
+JetGetAttachInfo
+JetGetAttachInfoInstance
+JetGetBookmark
+JetGetColumnInfo
+JetGetCounter
+JetGetCurrentIndex
+JetGetCursorInfo
+JetGetDatabaseFileInfo
+JetGetDatabaseInfo
+JetGetIndexInfo
+JetGetInstanceInfo
+JetGetLS
+JetGetLock
+JetGetLogInfo
+JetGetLogInfoInstance2
+JetGetLogInfoInstance
+JetGetObjectInfo
+JetGetRecordPosition
+JetGetSecondaryIndexBookmark
+JetGetSystemParameter
+JetGetTableColumnInfo
+JetGetTableIndexInfo
+JetGetTableInfo
+JetGetTruncateLogInfoInstance
+JetGetVersion
+JetGotoBookmark
+JetGotoPosition
+JetGotoSecondaryIndexBookmark
+JetGrowDatabase
+JetIdle
+JetIndexRecordCount
+JetInit2
+JetInit3
+JetInit
+JetIntersectIndexes
+JetMakeKey
+JetMove
+JetOSSnapshotAbort
+JetOSSnapshotFreeze
+JetOSSnapshotPrepare
+JetOSSnapshotThaw
+JetOpenDatabase
+JetOpenFile
+JetOpenFileInstance
+JetOpenFileSectionInstance
+JetOpenTable
+JetOpenTempTable2
+JetOpenTempTable3
+JetOpenTempTable
+JetPrepareToCommitTransaction
+JetPrepareUpdate
+JetReadFile
+JetReadFileInstance
+JetRegisterCallback
+JetRenameColumn
+JetRenameTable
+JetResetCounter
+JetResetSessionContext
+JetResetTableSequential
+JetRestore2
+JetRestore
+JetRestoreInstance
+JetRetrieveColumn
+JetRetrieveColumns
+JetRetrieveKey
+JetRetrieveTaggedColumnList
+JetRollback
+JetSeek
+JetSetColumn
+JetSetColumnDefaultValue
+JetSetColumns
+JetSetCurrentIndex2
+JetSetCurrentIndex3
+JetSetCurrentIndex4
+JetSetCurrentIndex
+JetSetDatabaseSize
+JetSetIndexRange
+JetSetLS
+JetSetSessionContext
+JetSetSystemParameter
+JetSetTableSequential
+JetSnapshotStart
+JetSnapshotStop
+JetStopBackup
+JetStopBackupInstance
+JetStopService
+JetStopServiceInstance
+JetTerm2
+JetTerm
+JetTruncateLog
+JetTruncateLogInstance
+JetUnregisterCallback
+JetUpdate2
+JetUpdate
+JetUpgradeDatabase
+ese
+esent
diff --git a/mingw-w64-crt/lib64/wesent97.def b/mingw-w64-crt/lib64/wesent97.def
index 9e85a6b..accfeec 100644
--- a/mingw-w64-crt/lib64/wesent97.def
+++ b/mingw-w64-crt/lib64/wesent97.def
@@ -1,206 +1,206 @@
-; 
-; Exports of file ESENT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ESENT.dll
-EXPORTS
-JetAddColumn
-JetAddColumn@28
-JetAttachDatabase
-JetAttachDatabase2
-JetAttachDatabase2@16
-JetAttachDatabase@12
-JetBackup
-JetBackup@12
-JetBeginExternalBackup
-JetBeginExternalBackup@4
-JetBeginSession
-JetBeginSession@16
-JetBeginTransaction
-JetBeginTransaction@4
-JetCloseDatabase
-JetCloseDatabase@12
-JetCloseFile
-JetCloseFile@4
-JetCloseTable
-JetCloseTable@8
-JetCommitTransaction
-JetCommitTransaction@8
-JetCompact
-JetCompact@24
-JetComputeStats
-JetComputeStats@8
-JetConvertDDL
-JetConvertDDL@20
-JetCreateDatabase
-JetCreateDatabase2
-JetCreateDatabase2@20
-JetCreateDatabase@20
-JetCreateIndex
-JetCreateIndex2
-JetCreateIndex2@16
-JetCreateIndex@28
-JetCreateTable
-JetCreateTable@24
-JetCreateTableColumnIndex
-JetCreateTableColumnIndex@12
-JetDBUtilities
-JetDBUtilities@4
-JetDefragment
-JetDefragment@24
-JetDelete
-JetDelete@8
-JetDeleteColumn
-JetDeleteColumn@12
-JetDeleteIndex
-JetDeleteIndex@12
-JetDeleteTable
-JetDeleteTable@12
-JetDetachDatabase
-JetDetachDatabase@8
-JetDupCursor
-JetDupCursor@16
-JetDupSession
-JetDupSession@8
-JetEndExternalBackup
-JetEndExternalBackup@0
-JetEndSession
-JetEndSession@8
-JetEscrowUpdate
-JetEscrowUpdate@36
-JetExternalRestore
-JetExternalRestore@32
-JetGetAttachInfo
-JetGetAttachInfo@12
-JetGetBookmark
-JetGetBookmark@20
-JetGetChecksum
-JetGetChecksum@12
-JetGetColumnInfo
-JetGetColumnInfo@28
-JetGetCounter
-JetGetCounter@12
-JetGetCurrentIndex
-JetGetCurrentIndex@16
-JetGetCursorInfo
-JetGetCursorInfo@20
-JetGetDatabaseFileInfo
-JetGetDatabaseFileInfo@16
-JetGetDatabaseInfo
-JetGetDatabaseInfo@20
-JetGetIndexInfo
-JetGetIndexInfo@28
-JetGetLock
-JetGetLock@12
-JetGetLogInfo
-JetGetLogInfo@12
-JetGetObjectInfo
-JetGetObjectInfo@32
-JetGetObjidFromName
-JetGetObjidFromName@20
-JetGetRecordPosition
-JetGetRecordPosition@16
-JetGetSystemParameter
-JetGetSystemParameter@24
-JetGetTableColumnInfo
-JetGetTableColumnInfo@24
-JetGetTableIndexInfo
-JetGetTableIndexInfo@24
-JetGetTableInfo
-JetGetTableInfo@20
-JetGetVersion
-JetGetVersion@8
-JetGotoBookmark
-JetGotoBookmark@16
-JetGotoPosition
-JetGotoPosition@12
-JetGrowDatabase
-JetGrowDatabase@16
-JetIdle
-JetIdle@8
-JetIndexRecordCount
-JetIndexRecordCount@16
-JetInit
-JetInit@4
-JetIntersectIndexes
-JetIntersectIndexes@20
-JetMakeKey
-JetMakeKey@20
-JetMove
-JetMove@16
-JetOpenDatabase
-JetOpenDatabase@20
-JetOpenFile
-JetOpenFile@16
-JetOpenTable
-JetOpenTable@28
-JetOpenTempTable
-JetOpenTempTable2
-JetOpenTempTable2@28
-JetOpenTempTable3
-JetOpenTempTable3@28
-JetOpenTempTable@24
-JetPrepareUpdate
-JetPrepareUpdate@12
-JetReadFile
-JetReadFile@16
-JetRenameTable
-JetRenameTable@16
-JetResetCounter
-JetResetCounter@8
-JetResetSessionContext
-JetResetSessionContext@4
-JetRestore
-JetRestore2
-JetRestore2@12
-JetRestore@8
-JetRetrieveColumn
-JetRetrieveColumn@32
-JetRetrieveColumns
-JetRetrieveColumns@16
-JetRetrieveKey
-JetRetrieveKey@24
-JetRetrieveTaggedColumnList
-JetRetrieveTaggedColumnList@28
-JetRollback
-JetRollback@8
-JetSeek
-JetSeek@12
-JetSetColumn
-JetSetColumn@28
-JetSetColumnDefaultValue
-JetSetColumnDefaultValue@28
-JetSetColumns
-JetSetColumns@16
-JetSetCurrentIndex
-JetSetCurrentIndex2
-JetSetCurrentIndex2@16
-JetSetCurrentIndex3
-JetSetCurrentIndex3@20
-JetSetCurrentIndex4
-JetSetCurrentIndex4@24
-JetSetCurrentIndex@12
-JetSetDatabaseSize
-JetSetDatabaseSize@16
-JetSetIndexRange
-JetSetIndexRange@12
-JetSetSessionContext
-JetSetSessionContext@8
-JetSetSystemParameter
-JetSetSystemParameter@20
-JetStopBackup
-JetStopBackup@0
-JetStopService
-JetStopService@0
-JetTerm
-JetTerm2
-JetTerm2@8
-JetTerm@4
-JetTruncateLog
-JetTruncateLog@0
-JetUpdate
-JetUpdate@20
-ese
-ese@20
+; 
+; Exports of file ESENT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ESENT.dll
+EXPORTS
+JetAddColumn
+JetAddColumn@28
+JetAttachDatabase
+JetAttachDatabase2
+JetAttachDatabase2@16
+JetAttachDatabase@12
+JetBackup
+JetBackup@12
+JetBeginExternalBackup
+JetBeginExternalBackup@4
+JetBeginSession
+JetBeginSession@16
+JetBeginTransaction
+JetBeginTransaction@4
+JetCloseDatabase
+JetCloseDatabase@12
+JetCloseFile
+JetCloseFile@4
+JetCloseTable
+JetCloseTable@8
+JetCommitTransaction
+JetCommitTransaction@8
+JetCompact
+JetCompact@24
+JetComputeStats
+JetComputeStats@8
+JetConvertDDL
+JetConvertDDL@20
+JetCreateDatabase
+JetCreateDatabase2
+JetCreateDatabase2@20
+JetCreateDatabase@20
+JetCreateIndex
+JetCreateIndex2
+JetCreateIndex2@16
+JetCreateIndex@28
+JetCreateTable
+JetCreateTable@24
+JetCreateTableColumnIndex
+JetCreateTableColumnIndex@12
+JetDBUtilities
+JetDBUtilities@4
+JetDefragment
+JetDefragment@24
+JetDelete
+JetDelete@8
+JetDeleteColumn
+JetDeleteColumn@12
+JetDeleteIndex
+JetDeleteIndex@12
+JetDeleteTable
+JetDeleteTable@12
+JetDetachDatabase
+JetDetachDatabase@8
+JetDupCursor
+JetDupCursor@16
+JetDupSession
+JetDupSession@8
+JetEndExternalBackup
+JetEndExternalBackup@0
+JetEndSession
+JetEndSession@8
+JetEscrowUpdate
+JetEscrowUpdate@36
+JetExternalRestore
+JetExternalRestore@32
+JetGetAttachInfo
+JetGetAttachInfo@12
+JetGetBookmark
+JetGetBookmark@20
+JetGetChecksum
+JetGetChecksum@12
+JetGetColumnInfo
+JetGetColumnInfo@28
+JetGetCounter
+JetGetCounter@12
+JetGetCurrentIndex
+JetGetCurrentIndex@16
+JetGetCursorInfo
+JetGetCursorInfo@20
+JetGetDatabaseFileInfo
+JetGetDatabaseFileInfo@16
+JetGetDatabaseInfo
+JetGetDatabaseInfo@20
+JetGetIndexInfo
+JetGetIndexInfo@28
+JetGetLock
+JetGetLock@12
+JetGetLogInfo
+JetGetLogInfo@12
+JetGetObjectInfo
+JetGetObjectInfo@32
+JetGetObjidFromName
+JetGetObjidFromName@20
+JetGetRecordPosition
+JetGetRecordPosition@16
+JetGetSystemParameter
+JetGetSystemParameter@24
+JetGetTableColumnInfo
+JetGetTableColumnInfo@24
+JetGetTableIndexInfo
+JetGetTableIndexInfo@24
+JetGetTableInfo
+JetGetTableInfo@20
+JetGetVersion
+JetGetVersion@8
+JetGotoBookmark
+JetGotoBookmark@16
+JetGotoPosition
+JetGotoPosition@12
+JetGrowDatabase
+JetGrowDatabase@16
+JetIdle
+JetIdle@8
+JetIndexRecordCount
+JetIndexRecordCount@16
+JetInit
+JetInit@4
+JetIntersectIndexes
+JetIntersectIndexes@20
+JetMakeKey
+JetMakeKey@20
+JetMove
+JetMove@16
+JetOpenDatabase
+JetOpenDatabase@20
+JetOpenFile
+JetOpenFile@16
+JetOpenTable
+JetOpenTable@28
+JetOpenTempTable
+JetOpenTempTable2
+JetOpenTempTable2@28
+JetOpenTempTable3
+JetOpenTempTable3@28
+JetOpenTempTable@24
+JetPrepareUpdate
+JetPrepareUpdate@12
+JetReadFile
+JetReadFile@16
+JetRenameTable
+JetRenameTable@16
+JetResetCounter
+JetResetCounter@8
+JetResetSessionContext
+JetResetSessionContext@4
+JetRestore
+JetRestore2
+JetRestore2@12
+JetRestore@8
+JetRetrieveColumn
+JetRetrieveColumn@32
+JetRetrieveColumns
+JetRetrieveColumns@16
+JetRetrieveKey
+JetRetrieveKey@24
+JetRetrieveTaggedColumnList
+JetRetrieveTaggedColumnList@28
+JetRollback
+JetRollback@8
+JetSeek
+JetSeek@12
+JetSetColumn
+JetSetColumn@28
+JetSetColumnDefaultValue
+JetSetColumnDefaultValue@28
+JetSetColumns
+JetSetColumns@16
+JetSetCurrentIndex
+JetSetCurrentIndex2
+JetSetCurrentIndex2@16
+JetSetCurrentIndex3
+JetSetCurrentIndex3@20
+JetSetCurrentIndex4
+JetSetCurrentIndex4@24
+JetSetCurrentIndex@12
+JetSetDatabaseSize
+JetSetDatabaseSize@16
+JetSetIndexRange
+JetSetIndexRange@12
+JetSetSessionContext
+JetSetSessionContext@8
+JetSetSystemParameter
+JetSetSystemParameter@20
+JetStopBackup
+JetStopBackup@0
+JetStopService
+JetStopService@0
+JetTerm
+JetTerm2
+JetTerm2@8
+JetTerm@4
+JetTruncateLog
+JetTruncateLog@0
+JetUpdate
+JetUpdate@20
+ese
+ese@20
diff --git a/mingw-w64-crt/lib64/wesentprf.def b/mingw-w64-crt/lib64/wesentprf.def
index ee273ae..28a8164 100644
--- a/mingw-w64-crt/lib64/wesentprf.def
+++ b/mingw-w64-crt/lib64/wesentprf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file ESENTPRF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ESENTPRF.dll
-EXPORTS
-ClosePerformanceData
-CollectPerformanceData
-OpenPerformanceData
+; 
+; Exports of file ESENTPRF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ESENTPRF.dll
+EXPORTS
+ClosePerformanceData
+CollectPerformanceData
+OpenPerformanceData
diff --git a/mingw-w64-crt/lib64/wesscli.def b/mingw-w64-crt/lib64/wesscli.def
index bdef39f..3bc245b 100644
--- a/mingw-w64-crt/lib64/wesscli.def
+++ b/mingw-w64-crt/lib64/wesscli.def
@@ -1,338 +1,338 @@
-; 
-; Exports of file esscli.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY esscli.dll
-EXPORTS
-; public: __thiscall CClassInfoArray::CClassInfoArray(void)
-??0CClassInfoArray@@QAE@XZ
-; public: __thiscall CClassInformation::CClassInformation(struct CClassInformation const &)
-??0CClassInformation@@QAE@ABU0@@Z
-; public: __thiscall CClassInformation::CClassInformation(void)
-??0CClassInformation@@QAE@XZ
-; public: __thiscall CContextMetaData::CContextMetaData(class CMetaData *,struct IWbemContext *)
-??0CContextMetaData@@QAE@PAVCMetaData@@PAUIWbemContext@@@Z
-; public: __thiscall CEvalNode::CEvalNode(class CEvalNode const &)
-??0CEvalNode@@QAE@ABV0@@Z
-; public: __thiscall CEvalNode::CEvalNode(void)
-??0CEvalNode@@QAE@XZ
-; public: __thiscall CEvalTree::CEvalTree(class CEvalTree const &)
-??0CEvalTree@@QAE@ABV0@@Z
-; public: __thiscall CEvalTree::CEvalTree(void)
-??0CEvalTree@@QAE@XZ
-; public: __thiscall CMetaData::CMetaData(class CMetaData const &)
-??0CMetaData@@QAE@ABV0@@Z
-; public: __thiscall CMetaData::CMetaData(void)
-??0CMetaData@@QAE@XZ
-; public: __thiscall CObjectInfo::CObjectInfo(void)
-??0CObjectInfo@@QAE@XZ
-; public: __thiscall CPropertyProjectionFilter::CPropertyProjectionFilter(class CPropertyProjectionFilter const &)
-??0CPropertyProjectionFilter@@QAE@ABV0@@Z
-; public: __thiscall CPropertyProjectionFilter::CPropertyProjectionFilter(void)
-??0CPropertyProjectionFilter@@QAE@XZ
-; public: __thiscall CReuseMemoryManager::CReuseMemoryManager(unsigned int,unsigned int)
-??0CReuseMemoryManager@@QAE@II@Z
-; public: __thiscall CSortedArray::CSortedArray(class CSortedArray &)
-??0CSortedArray@@QAE@AAV0@@Z
-; public: __thiscall CSortedArray::CSortedArray(int,int)
-??0CSortedArray@@QAE@HH@Z
-; public: __thiscall CSortedArray::CSortedArray(unsigned int,unsigned long *)
-??0CSortedArray@@QAE@IPAK@Z
-; public: __thiscall CStandardMetaData::CStandardMetaData(class CStandardMetaData const &)
-??0CStandardMetaData@@QAE@ABV0@@Z
-; public: __thiscall CStandardMetaData::CStandardMetaData(struct IWbemServices *)
-??0CStandardMetaData@@QAE@PAUIWbemServices@@@Z
-; public: __thiscall CTempMemoryManager::CTempMemoryManager(void)
-??0CTempMemoryManager@@QAE@XZ
-; public: __thiscall CTimeKeeper::CTimeKeeper(void)
-??0CTimeKeeper@@QAE@XZ
-; public: __thiscall CClassInfoArray::~CClassInfoArray(void)
-??1CClassInfoArray@@QAE@XZ
-; public: __thiscall CClassInformation::~CClassInformation(void)
-??1CClassInformation@@QAE@XZ
-; public: __thiscall CContextMetaData::~CContextMetaData(void)
-??1CContextMetaData@@QAE@XZ
-; public: virtual __thiscall CEvalNode::~CEvalNode(void)
-??1CEvalNode@@UAE@XZ
-; public: __thiscall CEvalTree::~CEvalTree(void)
-??1CEvalTree@@QAE@XZ
-; public: virtual __thiscall CMetaData::~CMetaData(void)
-??1CMetaData@@UAE@XZ
-; public: __thiscall CObjectInfo::~CObjectInfo(void)
-??1CObjectInfo@@QAE@XZ
-; public: __thiscall CPropertyProjectionFilter::~CPropertyProjectionFilter(void)
-??1CPropertyProjectionFilter@@QAE@XZ
-; public: __thiscall CReuseMemoryManager::~CReuseMemoryManager(void)
-??1CReuseMemoryManager@@QAE@XZ
-; public: __thiscall CSortedArray::~CSortedArray(void)
-??1CSortedArray@@QAE@XZ
-; public: virtual __thiscall CStandardMetaData::~CStandardMetaData(void)
-??1CStandardMetaData@@UAE@XZ
-; public: __thiscall CTempMemoryManager::~CTempMemoryManager(void)
-??1CTempMemoryManager@@QAE@XZ
-; public: __thiscall CTimeKeeper::~CTimeKeeper(void)
-??1CTimeKeeper@@QAE@XZ
-; public: bool __thiscall CClassInfoArray::operator=(class CClassInfoArray &)
-??4CClassInfoArray@@QAE_NAAV0@@Z
-; public: struct CClassInformation & __thiscall CClassInformation::operator=(struct CClassInformation const &)
-??4CClassInformation@@QAEAAU0@ABU0@@Z
-; public: class CContextMetaData & __thiscall CContextMetaData::operator=(class CContextMetaData const &)
-??4CContextMetaData@@QAEAAV0@ABV0@@Z
-; public: void __thiscall CEvalTree::operator=(class CEvalTree const &)
-??4CEvalTree@@QAEXABV0@@Z
-; public: class CMetaData & __thiscall CMetaData::operator=(class CMetaData const &)
-??4CMetaData@@QAEAAV0@ABV0@@Z
-; public: class CObjectInfo & __thiscall CObjectInfo::operator=(class CObjectInfo const &)
-??4CObjectInfo@@QAEAAV0@ABV0@@Z
-; public: class CPropertyProjectionFilter & __thiscall CPropertyProjectionFilter::operator=(class CPropertyProjectionFilter const &)
-??4CPropertyProjectionFilter@@QAEAAV0@ABV0@@Z
-; public: class CQueryAnalyser & __thiscall CQueryAnalyser::operator=(class CQueryAnalyser const &)
-??4CQueryAnalyser@@QAEAAV0@ABV0@@Z
-; public: class CReuseMemoryManager & __thiscall CReuseMemoryManager::operator=(class CReuseMemoryManager const &)
-??4CReuseMemoryManager@@QAEAAV0@ABV0@@Z
-; public: void __thiscall CSortedArray::operator=(class CSortedArray const &)
-??4CSortedArray@@QAEXABV0@@Z
-; public: class CStandardMetaData & __thiscall CStandardMetaData::operator=(class CStandardMetaData const &)
-??4CStandardMetaData@@QAEAAV0@ABV0@@Z
-; public: class CTempMemoryManager & __thiscall CTempMemoryManager::operator=(class CTempMemoryManager const &)
-??4CTempMemoryManager@@QAEAAV0@ABV0@@Z
-; public: class CTimeKeeper & __thiscall CTimeKeeper::operator=(class CTimeKeeper const &)
-??4CTimeKeeper@@QAEAAV0@ABV0@@Z
-; const  CEvalNode::`vftable'
-??_7CEvalNode@@6B@
-; const  CMetaData::`vftable'
-??_7CMetaData@@6B@
-; const  CPropertyProjectionFilter::`vftable'
-??_7CPropertyProjectionFilter@@6B@
-; const  CStandardMetaData::`vftable'
-??_7CStandardMetaData@@6B@
-; public: void __thiscall CSortedArray::`default constructor closure'(void)
-??_FCSortedArray@@QAEXXZ
-; public: int __thiscall CSortedArray::Add(unsigned long)
-?Add@CSortedArray@@QAEHK@Z
-; public: bool __thiscall CClassInfoArray::AddClass(struct CClassInformation *)
-?AddClass@CClassInfoArray@@QAE_NPAUCClassInformation@@@Z
-; public: int __thiscall CSortedArray::AddDataFrom(class CSortedArray const &)
-?AddDataFrom@CSortedArray@@QAEHABV1@@Z
-; public: int __thiscall CSortedArray::AddDataFrom(unsigned long const *,unsigned int)
-?AddDataFrom@CSortedArray@@QAEHPBKI@Z
-; public: bool __thiscall CPropertyProjectionFilter::AddProperty(class CPropertyName const &)
-?AddProperty@CPropertyProjectionFilter@@QAE_NABVCPropertyName@@@Z
-; public: virtual unsigned long __stdcall CMetaData::AddRef(void)
-?AddRef@CMetaData@@UAGKXZ
-; public: void * __thiscall CReuseMemoryManager::Allocate(void)
-?Allocate@CReuseMemoryManager@@QAEPAXXZ
-; public: void * __thiscall CTempMemoryManager::Allocate(unsigned int)
-?Allocate@CTempMemoryManager@@QAEPAXI@Z
-; protected: static long __stdcall CQueryAnalyser::AndDefiniteClassArrays(class CClassInfoArray *,class CClassInfoArray *,class CClassInfoArray *)
-?AndDefiniteClassArrays@CQueryAnalyser@@KGJPAVCClassInfoArray@@00@Z
-; protected: static long __stdcall CQueryAnalyser::AndPossibleClassArrays(class CClassInfoArray *,class CClassInfoArray *,class CClassInfoArray *)
-?AndPossibleClassArrays@CQueryAnalyser@@KGJPAVCClassInfoArray@@00@Z
-; protected: static long __stdcall CQueryAnalyser::AndQueryExpressions(struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *)
-?AndQueryExpressions@CQueryAnalyser@@KGJPAUQL_LEVEL_1_RPN_EXPRESSION@@00@Z
-; protected: static void __stdcall CQueryAnalyser::AppendQueryExpression(struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *)
-?AppendQueryExpression@CQueryAnalyser@@KGXPAUQL_LEVEL_1_RPN_EXPRESSION@@0@Z
-; public: long __thiscall CEvalTree::ApplyPredicate(class CLeafPredicate *)
-?ApplyPredicate@CEvalTree@@QAEJPAVCLeafPredicate@@@Z
-; public: static long __stdcall CEvalTree::BuildFromToken(class CContextMetaData *,class CImplicationList &,struct QL_LEVEL_1_TOKEN &,class CEvalNode * *)
-?BuildFromToken@CEvalTree@@SGJPAVCContextMetaData@@AAVCImplicationList@@AAUQL_LEVEL_1_TOKEN@@PAPAVCEvalNode@@@Z
-; public: static long __stdcall CEvalTree::BuildTwoPropFromToken(class CContextMetaData *,class CImplicationList &,struct QL_LEVEL_1_TOKEN &,class CEvalNode * *)
-?BuildTwoPropFromToken@CEvalTree@@SGJPAVCContextMetaData@@AAVCImplicationList@@AAUQL_LEVEL_1_TOKEN@@PAPAVCEvalNode@@@Z
-; public: static long __stdcall CQueryAnalyser::CanPointToClass(struct IWbemClassObject *,unsigned short const *,unsigned short const *,class CContextMetaData *)
-?CanPointToClass@CQueryAnalyser@@SGJPAUIWbemClassObject@@PBG1PAVCContextMetaData@@@Z
-; public: void __thiscall CClassInfoArray::Clear(void)
-?Clear@CClassInfoArray@@QAEXXZ
-; public: bool __thiscall CEvalTree::Clear(void)
-?Clear@CEvalTree@@QAE_NXZ
-; public: void __thiscall CObjectInfo::Clear(void)
-?Clear@CObjectInfo@@QAEXXZ
-; public: void __thiscall CReuseMemoryManager::Clear(void)
-?Clear@CReuseMemoryManager@@QAEXXZ
-; public: void __thiscall CStandardMetaData::Clear(void)
-?Clear@CStandardMetaData@@QAEXXZ
-; public: void __thiscall CTempMemoryManager::Clear(void)
-?Clear@CTempMemoryManager@@QAEXXZ
-; public: static class CEvalNode * __stdcall CEvalNode::CloneNode(class CEvalNode const *)
-?CloneNode@CEvalNode@@SGPAV1@PBV1@@Z
-; public: static long __stdcall CEvalTree::Combine(class CEvalNode *,class CEvalNode *,int,class CContextMetaData *,class CImplicationList &,bool,bool,class CEvalNode * *)
-?Combine@CEvalTree@@SGJPAVCEvalNode@@0HPAVCContextMetaData@@AAVCImplicationList@@_N3PAPAV2@@Z
-; protected: static long __stdcall CEvalTree::CombineLeafWithBranch(class CValueNode *,class CBranchingNode *,int,class CContextMetaData *,class CImplicationList &,bool,bool,class CEvalNode * *)
-?CombineLeafWithBranch@CEvalTree@@KGJPAVCValueNode@@PAVCBranchingNode@@HPAVCContextMetaData@@AAVCImplicationList@@_N4PAPAVCEvalNode@@@Z
-; public: long __thiscall CEvalTree::CombineWith(class CEvalTree &,class CContextMetaData *,int,long)
-?CombineWith@CEvalTree@@QAEJAAV1@PAVCContextMetaData@@HJ@Z
-; public: static int __stdcall CEvalTree::Compare(class CEvalNode *,class CEvalNode *)
-?Compare@CEvalTree@@SGHPAVCEvalNode@@0@Z
-; public: int __thiscall CSortedArray::Compare(class CSortedArray &)
-?Compare@CSortedArray@@QAEHAAV1@@Z
-; public: static int __stdcall CQueryAnalyser::CompareRequestedToProvided(class CClassInfoArray &,class CClassInfoArray &)
-?CompareRequestedToProvided@CQueryAnalyser@@SGHAAVCClassInfoArray@@0@Z
-; public: int __thiscall CSortedArray::CopyDataFrom(class CSortedArray const &)
-?CopyDataFrom@CSortedArray@@QAEHABV1@@Z
-; public: int __thiscall CSortedArray::CopyDataFrom(unsigned long const *,unsigned int)
-?CopyDataFrom@CSortedArray@@QAEHPBKI@Z
-; public: unsigned int __thiscall CSortedArray::CopyTo(unsigned long *,unsigned int)
-?CopyTo@CSortedArray@@QAEIPAKI@Z
-; public: static long __stdcall CEvalTree::CreateFromConjunction(class CContextMetaData *,class CImplicationList &,class CConjunction *,class CEvalNode * *)
-?CreateFromConjunction@CEvalTree@@SGJPAVCContextMetaData@@AAVCImplicationList@@PAVCConjunction@@PAPAVCEvalNode@@@Z
-; public: long __thiscall CEvalTree::CreateFromDNF(class CContextMetaData *,class CImplicationList &,class CDNFExpression *,class CEvalNode * *)
-?CreateFromDNF@CEvalTree@@QAEJPAVCContextMetaData@@AAVCImplicationList@@PAVCDNFExpression@@PAPAVCEvalNode@@@Z
-; public: long __thiscall CEvalTree::CreateFromQuery(class CContextMetaData *,struct QL_LEVEL_1_RPN_EXPRESSION *,long,long)
-?CreateFromQuery@CEvalTree@@QAEJPAVCContextMetaData@@PAUQL_LEVEL_1_RPN_EXPRESSION@@JJ@Z
-; public: long __thiscall CEvalTree::CreateFromQuery(class CContextMetaData *,unsigned short const *,int,struct QL_LEVEL_1_TOKEN *,long,long)
-?CreateFromQuery@CEvalTree@@QAEJPAVCContextMetaData@@PBGHPAUQL_LEVEL_1_TOKEN@@JJ@Z
-; public: long __thiscall CEvalTree::CreateFromQuery(class CContextMetaData *,unsigned short const *,long,long)
-?CreateFromQuery@CEvalTree@@QAEJPAVCContextMetaData@@PBGJJ@Z
-; public: long __thiscall CEvalTree::CreateProjection(class CEvalTree &,class CContextMetaData *,class CProjectionFilter *,enum EProjectionType,bool)
-?CreateProjection@CEvalTree@@QAEJAAV1@PAVCContextMetaData@@PAVCProjectionFilter@@W4EProjectionType@@_N@Z
-; public: bool __thiscall CTimeKeeper::DecorateObject(struct _IWmiObject *)
-?DecorateObject@CTimeKeeper@@QAE_NPAU_IWmiObject@@@Z
-; public: void __thiscall CSortedArray::Empty(void)
-?Empty@CSortedArray@@QAEXXZ
-; public: long __thiscall CEvalTree::Evaluate(struct IWbemObjectAccess *,class CSortedArray &)
-?Evaluate@CEvalTree@@QAEJPAUIWbemObjectAccess@@AAVCSortedArray@@@Z
-; public: static long __stdcall CEvalTree::Evaluate(class CObjectInfo &,class CEvalNode *,class CSortedArray &)
-?Evaluate@CEvalTree@@SGJAAVCObjectInfo@@PAVCEvalNode@@AAVCSortedArray@@@Z
-; public: unsigned int __thiscall CSortedArray::Find(unsigned long)
-?Find@CSortedArray@@QAEIK@Z
-; public: void __thiscall CReuseMemoryManager::Free(void *)
-?Free@CReuseMemoryManager@@QAEXPAX@Z
-; public: void __thiscall CTempMemoryManager::Free(void *,unsigned int)
-?Free@CTempMemoryManager@@QAEXPAXI@Z
-; long __stdcall GetAccessMask(void *,struct _ACL *,unsigned long *)
-?GetAccessMask@@YGJPAXPAU_ACL@@PAK@Z
-; public: unsigned long * __thiscall CSortedArray::GetArrayPtr(void)
-?GetArrayPtr@CSortedArray@@QAEPAKXZ
-; public: unsigned long __thiscall CSortedArray::GetAt(int)
-?GetAt@CSortedArray@@QAEKH@Z
-; public: struct CClassInformation * __thiscall CClassInfoArray::GetClass(int)
-?GetClass@CClassInfoArray@@QAEPAUCClassInformation@@H@Z
-; public: long __thiscall CContextMetaData::GetClass(unsigned short const *,struct _IWmiObject * *)
-?GetClass@CContextMetaData@@QAEJPBGPAPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CMetaData::GetClass(unsigned short const *,struct IWbemContext *,struct IWbemClassObject * *)
-?GetClass@CMetaData@@UAGJPBGPAUIWbemContext@@PAPAUIWbemClassObject@@@Z
-; public: virtual long __thiscall CStandardMetaData::GetClass(unsigned short const *,struct IWbemContext *,struct _IWmiObject * *)
-?GetClass@CStandardMetaData@@UAEJPBGPAUIWbemContext@@PAPAU_IWmiObject@@@Z
-; public: static long __stdcall CQueryAnalyser::GetDefiniteInstanceClasses(struct QL_LEVEL_1_RPN_EXPRESSION *,class CClassInfoArray * &)
-?GetDefiniteInstanceClasses@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAPAVCClassInfoArray@@@Z
-; protected: static long __stdcall CQueryAnalyser::GetInstanceClasses(struct QL_LEVEL_1_TOKEN &,class CClassInfoArray &)
-?GetInstanceClasses@CQueryAnalyser@@KGJAAUQL_LEVEL_1_TOKEN@@AAVCClassInfoArray@@@Z
-; public: long __thiscall CObjectInfo::GetLength(void)
-?GetLength@CObjectInfo@@QAEJXZ
-; public: static long __stdcall CQueryAnalyser::GetLimitingQueryForInstanceClass(struct QL_LEVEL_1_RPN_EXPRESSION *,struct CClassInformation &,unsigned short * &)
-?GetLimitingQueryForInstanceClass@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAUCClassInformation@@AAPAG@Z
-; public: static long __stdcall CQueryAnalyser::GetNecessaryQueryForClass(struct QL_LEVEL_1_RPN_EXPRESSION *,struct IWbemClassObject *,class CWStringArray &,struct QL_LEVEL_1_RPN_EXPRESSION * &)
-?GetNecessaryQueryForClass@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@PAUIWbemClassObject@@AAVCWStringArray@@AAPAU2@@Z
-; public: static long __stdcall CQueryAnalyser::GetNecessaryQueryForProperty(struct QL_LEVEL_1_RPN_EXPRESSION *,class CPropertyName &,struct QL_LEVEL_1_RPN_EXPRESSION * &)
-?GetNecessaryQueryForProperty@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAVCPropertyName@@AAPAU2@@Z
-; public: int __thiscall CClassInfoArray::GetNumClasses(void)
-?GetNumClasses@CClassInfoArray@@QAEHXZ
-; public: struct _IWmiObject * __thiscall CObjectInfo::GetObjectAt(long)
-?GetObjectAt@CObjectInfo@@QAEPAU_IWmiObject@@J@Z
-; public: static long __stdcall CQueryAnalyser::GetPossibleInstanceClasses(struct QL_LEVEL_1_RPN_EXPRESSION *,class CClassInfoArray * &)
-?GetPossibleInstanceClasses@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAPAVCClassInfoArray@@@Z
-; protected: static long __stdcall CQueryAnalyser::GetPropertiesThatMustDiffer(struct QL_LEVEL_1_RPN_EXPRESSION *,struct CClassInformation &,class CWStringArray &)
-?GetPropertiesThatMustDiffer@CQueryAnalyser@@KGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAUCClassInformation@@AAVCWStringArray@@@Z
-; public: static int __stdcall CEvalNode::GetType(class CEvalNode *)
-?GetType@CEvalNode@@SGHPAV1@@Z
-; protected: static long __stdcall CEvalTree::InnerCombine(class CEvalNode *,class CEvalNode *,int,class CContextMetaData *,class CImplicationList &,bool,bool,class CEvalNode * *)
-?InnerCombine@CEvalTree@@KGJPAVCEvalNode@@0HPAVCContextMetaData@@AAVCImplicationList@@_N3PAPAV2@@Z
-; public: void __thiscall CSortedArray::Insert(unsigned long)
-?Insert@CSortedArray@@QAEXK@Z
-; public: static bool __stdcall CEvalNode::IsAllFalse(class CEvalNode *)
-?IsAllFalse@CEvalNode@@SG_NPAV1@@Z
-; public: virtual bool __thiscall CEvalNode::IsAllFalse(void)
-?IsAllFalse@CEvalNode@@UAE_NXZ
-; public: bool __thiscall CEvalTree::IsFalse(void)
-?IsFalse@CEvalTree@@QAE_NXZ
-; public: virtual bool __thiscall CPropertyProjectionFilter::IsInSet(class CEvalNode *)
-?IsInSet@CPropertyProjectionFilter@@UAE_NPAVCEvalNode@@@Z
-; public: static bool __stdcall CEvalNode::IsInvalid(class CEvalNode *)
-?IsInvalid@CEvalNode@@SG_NPAV1@@Z
-; public: virtual bool __thiscall CEvalNode::IsInvalid(void)
-?IsInvalid@CEvalNode@@UAE_NXZ
-; public: int __thiscall CClassInfoArray::IsLimited(void)
-?IsLimited@CClassInfoArray@@QAEHXZ
-; public: static long __stdcall CEvalTree::IsMergeAdvisable(class CEvalNode *,class CEvalNode *,class CImplicationList &)
-?IsMergeAdvisable@CEvalTree@@SGJPAVCEvalNode@@0AAVCImplicationList@@@Z
-; public: static bool __stdcall CEvalNode::IsNoop(class CEvalNode *,int)
-?IsNoop@CEvalNode@@SG_NPAV1@H@Z
-; public: virtual bool __thiscall CEvalNode::IsNoop(int)
-?IsNoop@CEvalNode@@UAE_NH@Z
-; protected: static int __stdcall CQueryAnalyser::IsPropertyInClass(class CPropertyName &,struct IWbemClassObject *,class CWStringArray &)
-?IsPropertyInClass@CQueryAnalyser@@KGHAAVCPropertyName@@PAUIWbemClassObject@@AAVCWStringArray@@@Z
-; protected: static int __stdcall CQueryAnalyser::IsTokenAboutClass(struct QL_LEVEL_1_TOKEN &,struct IWbemClassObject *,class CWStringArray &)
-?IsTokenAboutClass@CQueryAnalyser@@KGHAAUQL_LEVEL_1_TOKEN@@PAUIWbemClassObject@@AAVCWStringArray@@@Z
-; protected: static int __stdcall CQueryAnalyser::IsTokenAboutProperty(struct QL_LEVEL_1_TOKEN &,class CPropertyName &)
-?IsTokenAboutProperty@CQueryAnalyser@@KGHAAUQL_LEVEL_1_TOKEN@@AAVCPropertyName@@@Z
-; long __stdcall IsUserAdministrator(void *)
-?IsUserAdministrator@@YGJPAX@Z
-; long __stdcall IsUserInGroup(void *,void *)
-?IsUserInGroup@@YGJPAX0@Z
-; public: bool __thiscall CEvalTree::IsValid(void)
-?IsValid@CEvalTree@@QAE_NXZ
-; protected: static long __stdcall CQueryAnalyser::NegateDefiniteClassArray(class CClassInfoArray *,class CClassInfoArray *)
-?NegateDefiniteClassArray@CQueryAnalyser@@KGJPAVCClassInfoArray@@0@Z
-; protected: static long __stdcall CQueryAnalyser::NegatePossibleClassArray(class CClassInfoArray *,class CClassInfoArray *)
-?NegatePossibleClassArray@CQueryAnalyser@@KGJPAVCClassInfoArray@@0@Z
-; protected: static long __stdcall CQueryAnalyser::NegateQueryExpression(struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *)
-?NegateQueryExpression@CQueryAnalyser@@KGJPAUQL_LEVEL_1_RPN_EXPRESSION@@0@Z
-; public: virtual long __thiscall CEvalNode::Optimize(class CContextMetaData *,class CEvalNode * *)
-?Optimize@CEvalNode@@UAEJPAVCContextMetaData@@PAPAV1@@Z
-; public: long __thiscall CEvalTree::Optimize(class CContextMetaData *)
-?Optimize@CEvalTree@@QAEJPAVCContextMetaData@@@Z
-; protected: static long __stdcall CQueryAnalyser::OrDefiniteClassArrays(class CClassInfoArray *,class CClassInfoArray *,class CClassInfoArray *)
-?OrDefiniteClassArrays@CQueryAnalyser@@KGJPAVCClassInfoArray@@00@Z
-; protected: static long __stdcall CQueryAnalyser::OrPossibleClassArrays(class CClassInfoArray *,class CClassInfoArray *,class CClassInfoArray *)
-?OrPossibleClassArrays@CQueryAnalyser@@KGJPAVCClassInfoArray@@00@Z
-; protected: static long __stdcall CQueryAnalyser::OrQueryExpressions(struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *)
-?OrQueryExpressions@CQueryAnalyser@@KGJPAUQL_LEVEL_1_RPN_EXPRESSION@@00@Z
-; public: static void __stdcall CEvalNode::PrintOffset(struct _iobuf *,int)
-?PrintOffset@CEvalNode@@SGXPAU_iobuf@@H@Z
-; public: static long __stdcall CEvalTree::Project(class CContextMetaData *,class CImplicationList &,class CEvalNode *,class CProjectionFilter *,enum EProjectionType,bool,class CEvalNode * *)
-?Project@CEvalTree@@SGJPAVCContextMetaData@@AAVCImplicationList@@PAVCEvalNode@@PAVCProjectionFilter@@W4EProjectionType@@_NPAPAV4@@Z
-; public: virtual long __stdcall CMetaData::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CMetaData@@UAGJABU_GUID@@PAPAX@Z
-; public: void __thiscall CEvalTree::Rebase(unsigned long)
-?Rebase@CEvalTree@@QAEXK@Z
-; public: void __thiscall CSortedArray::Rebase(unsigned long)
-?Rebase@CSortedArray@@QAEXK@Z
-; public: virtual unsigned long __stdcall CMetaData::Release(void)
-?Release@CMetaData@@UAGKXZ
-; public: bool __thiscall CSortedArray::Remove(unsigned long)
-?Remove@CSortedArray@@QAE_NK@Z
-; public: void __thiscall CClassInfoArray::RemoveClass(int)
-?RemoveClass@CClassInfoArray@@QAEXH@Z
-; public: long __thiscall CEvalTree::RemoveIndex(int)
-?RemoveIndex@CEvalTree@@QAEJH@Z
-; protected: unsigned int __thiscall CTempMemoryManager::RoundUp(unsigned int)
-?RoundUp@CTempMemoryManager@@IAEII@Z
-; public: bool __thiscall CEvalTree::SetBool(int)
-?SetBool@CEvalTree@@QAE_NH@Z
-; public: bool __thiscall CObjectInfo::SetLength(long)
-?SetLength@CObjectInfo@@QAE_NJ@Z
-; public: void __thiscall CClassInfoArray::SetLimited(int)
-?SetLimited@CClassInfoArray@@QAEXH@Z
-; public: void __thiscall CObjectInfo::SetObjectAt(long,struct _IWmiObject *)
-?SetObjectAt@CObjectInfo@@QAEXJPAU_IWmiObject@@@Z
-; public: bool __thiscall CClassInfoArray::SetOne(unsigned short const *,int)
-?SetOne@CClassInfoArray@@QAE_NPBGH@Z
-; public: void __thiscall CSortedArray::SetSize(int)
-?SetSize@CSortedArray@@QAEXH@Z
-; public: static long __stdcall CQueryAnalyser::SimplifyQueryForChild(struct QL_LEVEL_1_RPN_EXPRESSION *,unsigned short const *,struct IWbemClassObject *,class CContextMetaData *,struct QL_LEVEL_1_RPN_EXPRESSION * &)
-?SimplifyQueryForChild@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@PBGPAUIWbemClassObject@@PAVCContextMetaData@@AAPAU2@@Z
-; protected: static int __stdcall CQueryAnalyser::SimplifyTokenForChild(struct QL_LEVEL_1_TOKEN &,unsigned short const *,struct IWbemClassObject *,class CContextMetaData *)
-?SimplifyTokenForChild@CQueryAnalyser@@KGHAAUQL_LEVEL_1_TOKEN@@PBGPAUIWbemClassObject@@PAVCContextMetaData@@@Z
-; public: int __thiscall CSortedArray::Size(void)const 
-?Size@CSortedArray@@QBEHXZ
-; public: unsigned long * __thiscall CSortedArray::UnbindPtr(void)
-?UnbindPtr@CSortedArray@@QAEPAKXZ
-; public: long __thiscall CEvalTree::UtilizeGuarantee(class CEvalTree &,class CContextMetaData *)
-?UtilizeGuarantee@CEvalTree@@QAEJAAV1@PAVCContextMetaData@@@Z
-; protected: static int __stdcall CQueryAnalyser::ValidateSQLDateTime(unsigned short const *)
-?ValidateSQLDateTime@CQueryAnalyser@@KGHPBG@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file esscli.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY esscli.dll
+EXPORTS
+; public: __thiscall CClassInfoArray::CClassInfoArray(void)
+??0CClassInfoArray@@QAE@XZ
+; public: __thiscall CClassInformation::CClassInformation(struct CClassInformation const &)
+??0CClassInformation@@QAE@ABU0@@Z
+; public: __thiscall CClassInformation::CClassInformation(void)
+??0CClassInformation@@QAE@XZ
+; public: __thiscall CContextMetaData::CContextMetaData(class CMetaData *,struct IWbemContext *)
+??0CContextMetaData@@QAE@PAVCMetaData@@PAUIWbemContext@@@Z
+; public: __thiscall CEvalNode::CEvalNode(class CEvalNode const &)
+??0CEvalNode@@QAE@ABV0@@Z
+; public: __thiscall CEvalNode::CEvalNode(void)
+??0CEvalNode@@QAE@XZ
+; public: __thiscall CEvalTree::CEvalTree(class CEvalTree const &)
+??0CEvalTree@@QAE@ABV0@@Z
+; public: __thiscall CEvalTree::CEvalTree(void)
+??0CEvalTree@@QAE@XZ
+; public: __thiscall CMetaData::CMetaData(class CMetaData const &)
+??0CMetaData@@QAE@ABV0@@Z
+; public: __thiscall CMetaData::CMetaData(void)
+??0CMetaData@@QAE@XZ
+; public: __thiscall CObjectInfo::CObjectInfo(void)
+??0CObjectInfo@@QAE@XZ
+; public: __thiscall CPropertyProjectionFilter::CPropertyProjectionFilter(class CPropertyProjectionFilter const &)
+??0CPropertyProjectionFilter@@QAE@ABV0@@Z
+; public: __thiscall CPropertyProjectionFilter::CPropertyProjectionFilter(void)
+??0CPropertyProjectionFilter@@QAE@XZ
+; public: __thiscall CReuseMemoryManager::CReuseMemoryManager(unsigned int,unsigned int)
+??0CReuseMemoryManager@@QAE@II@Z
+; public: __thiscall CSortedArray::CSortedArray(class CSortedArray &)
+??0CSortedArray@@QAE@AAV0@@Z
+; public: __thiscall CSortedArray::CSortedArray(int,int)
+??0CSortedArray@@QAE@HH@Z
+; public: __thiscall CSortedArray::CSortedArray(unsigned int,unsigned long *)
+??0CSortedArray@@QAE@IPAK@Z
+; public: __thiscall CStandardMetaData::CStandardMetaData(class CStandardMetaData const &)
+??0CStandardMetaData@@QAE@ABV0@@Z
+; public: __thiscall CStandardMetaData::CStandardMetaData(struct IWbemServices *)
+??0CStandardMetaData@@QAE@PAUIWbemServices@@@Z
+; public: __thiscall CTempMemoryManager::CTempMemoryManager(void)
+??0CTempMemoryManager@@QAE@XZ
+; public: __thiscall CTimeKeeper::CTimeKeeper(void)
+??0CTimeKeeper@@QAE@XZ
+; public: __thiscall CClassInfoArray::~CClassInfoArray(void)
+??1CClassInfoArray@@QAE@XZ
+; public: __thiscall CClassInformation::~CClassInformation(void)
+??1CClassInformation@@QAE@XZ
+; public: __thiscall CContextMetaData::~CContextMetaData(void)
+??1CContextMetaData@@QAE@XZ
+; public: virtual __thiscall CEvalNode::~CEvalNode(void)
+??1CEvalNode@@UAE@XZ
+; public: __thiscall CEvalTree::~CEvalTree(void)
+??1CEvalTree@@QAE@XZ
+; public: virtual __thiscall CMetaData::~CMetaData(void)
+??1CMetaData@@UAE@XZ
+; public: __thiscall CObjectInfo::~CObjectInfo(void)
+??1CObjectInfo@@QAE@XZ
+; public: __thiscall CPropertyProjectionFilter::~CPropertyProjectionFilter(void)
+??1CPropertyProjectionFilter@@QAE@XZ
+; public: __thiscall CReuseMemoryManager::~CReuseMemoryManager(void)
+??1CReuseMemoryManager@@QAE@XZ
+; public: __thiscall CSortedArray::~CSortedArray(void)
+??1CSortedArray@@QAE@XZ
+; public: virtual __thiscall CStandardMetaData::~CStandardMetaData(void)
+??1CStandardMetaData@@UAE@XZ
+; public: __thiscall CTempMemoryManager::~CTempMemoryManager(void)
+??1CTempMemoryManager@@QAE@XZ
+; public: __thiscall CTimeKeeper::~CTimeKeeper(void)
+??1CTimeKeeper@@QAE@XZ
+; public: bool __thiscall CClassInfoArray::operator=(class CClassInfoArray &)
+??4CClassInfoArray@@QAE_NAAV0@@Z
+; public: struct CClassInformation & __thiscall CClassInformation::operator=(struct CClassInformation const &)
+??4CClassInformation@@QAEAAU0@ABU0@@Z
+; public: class CContextMetaData & __thiscall CContextMetaData::operator=(class CContextMetaData const &)
+??4CContextMetaData@@QAEAAV0@ABV0@@Z
+; public: void __thiscall CEvalTree::operator=(class CEvalTree const &)
+??4CEvalTree@@QAEXABV0@@Z
+; public: class CMetaData & __thiscall CMetaData::operator=(class CMetaData const &)
+??4CMetaData@@QAEAAV0@ABV0@@Z
+; public: class CObjectInfo & __thiscall CObjectInfo::operator=(class CObjectInfo const &)
+??4CObjectInfo@@QAEAAV0@ABV0@@Z
+; public: class CPropertyProjectionFilter & __thiscall CPropertyProjectionFilter::operator=(class CPropertyProjectionFilter const &)
+??4CPropertyProjectionFilter@@QAEAAV0@ABV0@@Z
+; public: class CQueryAnalyser & __thiscall CQueryAnalyser::operator=(class CQueryAnalyser const &)
+??4CQueryAnalyser@@QAEAAV0@ABV0@@Z
+; public: class CReuseMemoryManager & __thiscall CReuseMemoryManager::operator=(class CReuseMemoryManager const &)
+??4CReuseMemoryManager@@QAEAAV0@ABV0@@Z
+; public: void __thiscall CSortedArray::operator=(class CSortedArray const &)
+??4CSortedArray@@QAEXABV0@@Z
+; public: class CStandardMetaData & __thiscall CStandardMetaData::operator=(class CStandardMetaData const &)
+??4CStandardMetaData@@QAEAAV0@ABV0@@Z
+; public: class CTempMemoryManager & __thiscall CTempMemoryManager::operator=(class CTempMemoryManager const &)
+??4CTempMemoryManager@@QAEAAV0@ABV0@@Z
+; public: class CTimeKeeper & __thiscall CTimeKeeper::operator=(class CTimeKeeper const &)
+??4CTimeKeeper@@QAEAAV0@ABV0@@Z
+; const  CEvalNode::`vftable'
+??_7CEvalNode@@6B@
+; const  CMetaData::`vftable'
+??_7CMetaData@@6B@
+; const  CPropertyProjectionFilter::`vftable'
+??_7CPropertyProjectionFilter@@6B@
+; const  CStandardMetaData::`vftable'
+??_7CStandardMetaData@@6B@
+; public: void __thiscall CSortedArray::`default constructor closure'(void)
+??_FCSortedArray@@QAEXXZ
+; public: int __thiscall CSortedArray::Add(unsigned long)
+?Add@CSortedArray@@QAEHK@Z
+; public: bool __thiscall CClassInfoArray::AddClass(struct CClassInformation *)
+?AddClass@CClassInfoArray@@QAE_NPAUCClassInformation@@@Z
+; public: int __thiscall CSortedArray::AddDataFrom(class CSortedArray const &)
+?AddDataFrom@CSortedArray@@QAEHABV1@@Z
+; public: int __thiscall CSortedArray::AddDataFrom(unsigned long const *,unsigned int)
+?AddDataFrom@CSortedArray@@QAEHPBKI@Z
+; public: bool __thiscall CPropertyProjectionFilter::AddProperty(class CPropertyName const &)
+?AddProperty@CPropertyProjectionFilter@@QAE_NABVCPropertyName@@@Z
+; public: virtual unsigned long __stdcall CMetaData::AddRef(void)
+?AddRef@CMetaData@@UAGKXZ
+; public: void * __thiscall CReuseMemoryManager::Allocate(void)
+?Allocate@CReuseMemoryManager@@QAEPAXXZ
+; public: void * __thiscall CTempMemoryManager::Allocate(unsigned int)
+?Allocate@CTempMemoryManager@@QAEPAXI@Z
+; protected: static long __stdcall CQueryAnalyser::AndDefiniteClassArrays(class CClassInfoArray *,class CClassInfoArray *,class CClassInfoArray *)
+?AndDefiniteClassArrays@CQueryAnalyser@@KGJPAVCClassInfoArray@@00@Z
+; protected: static long __stdcall CQueryAnalyser::AndPossibleClassArrays(class CClassInfoArray *,class CClassInfoArray *,class CClassInfoArray *)
+?AndPossibleClassArrays@CQueryAnalyser@@KGJPAVCClassInfoArray@@00@Z
+; protected: static long __stdcall CQueryAnalyser::AndQueryExpressions(struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *)
+?AndQueryExpressions@CQueryAnalyser@@KGJPAUQL_LEVEL_1_RPN_EXPRESSION@@00@Z
+; protected: static void __stdcall CQueryAnalyser::AppendQueryExpression(struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *)
+?AppendQueryExpression@CQueryAnalyser@@KGXPAUQL_LEVEL_1_RPN_EXPRESSION@@0@Z
+; public: long __thiscall CEvalTree::ApplyPredicate(class CLeafPredicate *)
+?ApplyPredicate@CEvalTree@@QAEJPAVCLeafPredicate@@@Z
+; public: static long __stdcall CEvalTree::BuildFromToken(class CContextMetaData *,class CImplicationList &,struct QL_LEVEL_1_TOKEN &,class CEvalNode * *)
+?BuildFromToken@CEvalTree@@SGJPAVCContextMetaData@@AAVCImplicationList@@AAUQL_LEVEL_1_TOKEN@@PAPAVCEvalNode@@@Z
+; public: static long __stdcall CEvalTree::BuildTwoPropFromToken(class CContextMetaData *,class CImplicationList &,struct QL_LEVEL_1_TOKEN &,class CEvalNode * *)
+?BuildTwoPropFromToken@CEvalTree@@SGJPAVCContextMetaData@@AAVCImplicationList@@AAUQL_LEVEL_1_TOKEN@@PAPAVCEvalNode@@@Z
+; public: static long __stdcall CQueryAnalyser::CanPointToClass(struct IWbemClassObject *,unsigned short const *,unsigned short const *,class CContextMetaData *)
+?CanPointToClass@CQueryAnalyser@@SGJPAUIWbemClassObject@@PBG1PAVCContextMetaData@@@Z
+; public: void __thiscall CClassInfoArray::Clear(void)
+?Clear@CClassInfoArray@@QAEXXZ
+; public: bool __thiscall CEvalTree::Clear(void)
+?Clear@CEvalTree@@QAE_NXZ
+; public: void __thiscall CObjectInfo::Clear(void)
+?Clear@CObjectInfo@@QAEXXZ
+; public: void __thiscall CReuseMemoryManager::Clear(void)
+?Clear@CReuseMemoryManager@@QAEXXZ
+; public: void __thiscall CStandardMetaData::Clear(void)
+?Clear@CStandardMetaData@@QAEXXZ
+; public: void __thiscall CTempMemoryManager::Clear(void)
+?Clear@CTempMemoryManager@@QAEXXZ
+; public: static class CEvalNode * __stdcall CEvalNode::CloneNode(class CEvalNode const *)
+?CloneNode@CEvalNode@@SGPAV1@PBV1@@Z
+; public: static long __stdcall CEvalTree::Combine(class CEvalNode *,class CEvalNode *,int,class CContextMetaData *,class CImplicationList &,bool,bool,class CEvalNode * *)
+?Combine@CEvalTree@@SGJPAVCEvalNode@@0HPAVCContextMetaData@@AAVCImplicationList@@_N3PAPAV2@@Z
+; protected: static long __stdcall CEvalTree::CombineLeafWithBranch(class CValueNode *,class CBranchingNode *,int,class CContextMetaData *,class CImplicationList &,bool,bool,class CEvalNode * *)
+?CombineLeafWithBranch@CEvalTree@@KGJPAVCValueNode@@PAVCBranchingNode@@HPAVCContextMetaData@@AAVCImplicationList@@_N4PAPAVCEvalNode@@@Z
+; public: long __thiscall CEvalTree::CombineWith(class CEvalTree &,class CContextMetaData *,int,long)
+?CombineWith@CEvalTree@@QAEJAAV1@PAVCContextMetaData@@HJ@Z
+; public: static int __stdcall CEvalTree::Compare(class CEvalNode *,class CEvalNode *)
+?Compare@CEvalTree@@SGHPAVCEvalNode@@0@Z
+; public: int __thiscall CSortedArray::Compare(class CSortedArray &)
+?Compare@CSortedArray@@QAEHAAV1@@Z
+; public: static int __stdcall CQueryAnalyser::CompareRequestedToProvided(class CClassInfoArray &,class CClassInfoArray &)
+?CompareRequestedToProvided@CQueryAnalyser@@SGHAAVCClassInfoArray@@0@Z
+; public: int __thiscall CSortedArray::CopyDataFrom(class CSortedArray const &)
+?CopyDataFrom@CSortedArray@@QAEHABV1@@Z
+; public: int __thiscall CSortedArray::CopyDataFrom(unsigned long const *,unsigned int)
+?CopyDataFrom@CSortedArray@@QAEHPBKI@Z
+; public: unsigned int __thiscall CSortedArray::CopyTo(unsigned long *,unsigned int)
+?CopyTo@CSortedArray@@QAEIPAKI@Z
+; public: static long __stdcall CEvalTree::CreateFromConjunction(class CContextMetaData *,class CImplicationList &,class CConjunction *,class CEvalNode * *)
+?CreateFromConjunction@CEvalTree@@SGJPAVCContextMetaData@@AAVCImplicationList@@PAVCConjunction@@PAPAVCEvalNode@@@Z
+; public: long __thiscall CEvalTree::CreateFromDNF(class CContextMetaData *,class CImplicationList &,class CDNFExpression *,class CEvalNode * *)
+?CreateFromDNF@CEvalTree@@QAEJPAVCContextMetaData@@AAVCImplicationList@@PAVCDNFExpression@@PAPAVCEvalNode@@@Z
+; public: long __thiscall CEvalTree::CreateFromQuery(class CContextMetaData *,struct QL_LEVEL_1_RPN_EXPRESSION *,long,long)
+?CreateFromQuery@CEvalTree@@QAEJPAVCContextMetaData@@PAUQL_LEVEL_1_RPN_EXPRESSION@@JJ@Z
+; public: long __thiscall CEvalTree::CreateFromQuery(class CContextMetaData *,unsigned short const *,int,struct QL_LEVEL_1_TOKEN *,long,long)
+?CreateFromQuery@CEvalTree@@QAEJPAVCContextMetaData@@PBGHPAUQL_LEVEL_1_TOKEN@@JJ@Z
+; public: long __thiscall CEvalTree::CreateFromQuery(class CContextMetaData *,unsigned short const *,long,long)
+?CreateFromQuery@CEvalTree@@QAEJPAVCContextMetaData@@PBGJJ@Z
+; public: long __thiscall CEvalTree::CreateProjection(class CEvalTree &,class CContextMetaData *,class CProjectionFilter *,enum EProjectionType,bool)
+?CreateProjection@CEvalTree@@QAEJAAV1@PAVCContextMetaData@@PAVCProjectionFilter@@W4EProjectionType@@_N@Z
+; public: bool __thiscall CTimeKeeper::DecorateObject(struct _IWmiObject *)
+?DecorateObject@CTimeKeeper@@QAE_NPAU_IWmiObject@@@Z
+; public: void __thiscall CSortedArray::Empty(void)
+?Empty@CSortedArray@@QAEXXZ
+; public: long __thiscall CEvalTree::Evaluate(struct IWbemObjectAccess *,class CSortedArray &)
+?Evaluate@CEvalTree@@QAEJPAUIWbemObjectAccess@@AAVCSortedArray@@@Z
+; public: static long __stdcall CEvalTree::Evaluate(class CObjectInfo &,class CEvalNode *,class CSortedArray &)
+?Evaluate@CEvalTree@@SGJAAVCObjectInfo@@PAVCEvalNode@@AAVCSortedArray@@@Z
+; public: unsigned int __thiscall CSortedArray::Find(unsigned long)
+?Find@CSortedArray@@QAEIK@Z
+; public: void __thiscall CReuseMemoryManager::Free(void *)
+?Free@CReuseMemoryManager@@QAEXPAX@Z
+; public: void __thiscall CTempMemoryManager::Free(void *,unsigned int)
+?Free@CTempMemoryManager@@QAEXPAXI@Z
+; long __stdcall GetAccessMask(void *,struct _ACL *,unsigned long *)
+?GetAccessMask@@YGJPAXPAU_ACL@@PAK@Z
+; public: unsigned long * __thiscall CSortedArray::GetArrayPtr(void)
+?GetArrayPtr@CSortedArray@@QAEPAKXZ
+; public: unsigned long __thiscall CSortedArray::GetAt(int)
+?GetAt@CSortedArray@@QAEKH@Z
+; public: struct CClassInformation * __thiscall CClassInfoArray::GetClass(int)
+?GetClass@CClassInfoArray@@QAEPAUCClassInformation@@H@Z
+; public: long __thiscall CContextMetaData::GetClass(unsigned short const *,struct _IWmiObject * *)
+?GetClass@CContextMetaData@@QAEJPBGPAPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CMetaData::GetClass(unsigned short const *,struct IWbemContext *,struct IWbemClassObject * *)
+?GetClass@CMetaData@@UAGJPBGPAUIWbemContext@@PAPAUIWbemClassObject@@@Z
+; public: virtual long __thiscall CStandardMetaData::GetClass(unsigned short const *,struct IWbemContext *,struct _IWmiObject * *)
+?GetClass@CStandardMetaData@@UAEJPBGPAUIWbemContext@@PAPAU_IWmiObject@@@Z
+; public: static long __stdcall CQueryAnalyser::GetDefiniteInstanceClasses(struct QL_LEVEL_1_RPN_EXPRESSION *,class CClassInfoArray * &)
+?GetDefiniteInstanceClasses@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAPAVCClassInfoArray@@@Z
+; protected: static long __stdcall CQueryAnalyser::GetInstanceClasses(struct QL_LEVEL_1_TOKEN &,class CClassInfoArray &)
+?GetInstanceClasses@CQueryAnalyser@@KGJAAUQL_LEVEL_1_TOKEN@@AAVCClassInfoArray@@@Z
+; public: long __thiscall CObjectInfo::GetLength(void)
+?GetLength@CObjectInfo@@QAEJXZ
+; public: static long __stdcall CQueryAnalyser::GetLimitingQueryForInstanceClass(struct QL_LEVEL_1_RPN_EXPRESSION *,struct CClassInformation &,unsigned short * &)
+?GetLimitingQueryForInstanceClass@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAUCClassInformation@@AAPAG@Z
+; public: static long __stdcall CQueryAnalyser::GetNecessaryQueryForClass(struct QL_LEVEL_1_RPN_EXPRESSION *,struct IWbemClassObject *,class CWStringArray &,struct QL_LEVEL_1_RPN_EXPRESSION * &)
+?GetNecessaryQueryForClass@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@PAUIWbemClassObject@@AAVCWStringArray@@AAPAU2@@Z
+; public: static long __stdcall CQueryAnalyser::GetNecessaryQueryForProperty(struct QL_LEVEL_1_RPN_EXPRESSION *,class CPropertyName &,struct QL_LEVEL_1_RPN_EXPRESSION * &)
+?GetNecessaryQueryForProperty@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAVCPropertyName@@AAPAU2@@Z
+; public: int __thiscall CClassInfoArray::GetNumClasses(void)
+?GetNumClasses@CClassInfoArray@@QAEHXZ
+; public: struct _IWmiObject * __thiscall CObjectInfo::GetObjectAt(long)
+?GetObjectAt@CObjectInfo@@QAEPAU_IWmiObject@@J@Z
+; public: static long __stdcall CQueryAnalyser::GetPossibleInstanceClasses(struct QL_LEVEL_1_RPN_EXPRESSION *,class CClassInfoArray * &)
+?GetPossibleInstanceClasses@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAPAVCClassInfoArray@@@Z
+; protected: static long __stdcall CQueryAnalyser::GetPropertiesThatMustDiffer(struct QL_LEVEL_1_RPN_EXPRESSION *,struct CClassInformation &,class CWStringArray &)
+?GetPropertiesThatMustDiffer@CQueryAnalyser@@KGJPAUQL_LEVEL_1_RPN_EXPRESSION@@AAUCClassInformation@@AAVCWStringArray@@@Z
+; public: static int __stdcall CEvalNode::GetType(class CEvalNode *)
+?GetType@CEvalNode@@SGHPAV1@@Z
+; protected: static long __stdcall CEvalTree::InnerCombine(class CEvalNode *,class CEvalNode *,int,class CContextMetaData *,class CImplicationList &,bool,bool,class CEvalNode * *)
+?InnerCombine@CEvalTree@@KGJPAVCEvalNode@@0HPAVCContextMetaData@@AAVCImplicationList@@_N3PAPAV2@@Z
+; public: void __thiscall CSortedArray::Insert(unsigned long)
+?Insert@CSortedArray@@QAEXK@Z
+; public: static bool __stdcall CEvalNode::IsAllFalse(class CEvalNode *)
+?IsAllFalse@CEvalNode@@SG_NPAV1@@Z
+; public: virtual bool __thiscall CEvalNode::IsAllFalse(void)
+?IsAllFalse@CEvalNode@@UAE_NXZ
+; public: bool __thiscall CEvalTree::IsFalse(void)
+?IsFalse@CEvalTree@@QAE_NXZ
+; public: virtual bool __thiscall CPropertyProjectionFilter::IsInSet(class CEvalNode *)
+?IsInSet@CPropertyProjectionFilter@@UAE_NPAVCEvalNode@@@Z
+; public: static bool __stdcall CEvalNode::IsInvalid(class CEvalNode *)
+?IsInvalid@CEvalNode@@SG_NPAV1@@Z
+; public: virtual bool __thiscall CEvalNode::IsInvalid(void)
+?IsInvalid@CEvalNode@@UAE_NXZ
+; public: int __thiscall CClassInfoArray::IsLimited(void)
+?IsLimited@CClassInfoArray@@QAEHXZ
+; public: static long __stdcall CEvalTree::IsMergeAdvisable(class CEvalNode *,class CEvalNode *,class CImplicationList &)
+?IsMergeAdvisable@CEvalTree@@SGJPAVCEvalNode@@0AAVCImplicationList@@@Z
+; public: static bool __stdcall CEvalNode::IsNoop(class CEvalNode *,int)
+?IsNoop@CEvalNode@@SG_NPAV1@H@Z
+; public: virtual bool __thiscall CEvalNode::IsNoop(int)
+?IsNoop@CEvalNode@@UAE_NH@Z
+; protected: static int __stdcall CQueryAnalyser::IsPropertyInClass(class CPropertyName &,struct IWbemClassObject *,class CWStringArray &)
+?IsPropertyInClass@CQueryAnalyser@@KGHAAVCPropertyName@@PAUIWbemClassObject@@AAVCWStringArray@@@Z
+; protected: static int __stdcall CQueryAnalyser::IsTokenAboutClass(struct QL_LEVEL_1_TOKEN &,struct IWbemClassObject *,class CWStringArray &)
+?IsTokenAboutClass@CQueryAnalyser@@KGHAAUQL_LEVEL_1_TOKEN@@PAUIWbemClassObject@@AAVCWStringArray@@@Z
+; protected: static int __stdcall CQueryAnalyser::IsTokenAboutProperty(struct QL_LEVEL_1_TOKEN &,class CPropertyName &)
+?IsTokenAboutProperty@CQueryAnalyser@@KGHAAUQL_LEVEL_1_TOKEN@@AAVCPropertyName@@@Z
+; long __stdcall IsUserAdministrator(void *)
+?IsUserAdministrator@@YGJPAX@Z
+; long __stdcall IsUserInGroup(void *,void *)
+?IsUserInGroup@@YGJPAX0@Z
+; public: bool __thiscall CEvalTree::IsValid(void)
+?IsValid@CEvalTree@@QAE_NXZ
+; protected: static long __stdcall CQueryAnalyser::NegateDefiniteClassArray(class CClassInfoArray *,class CClassInfoArray *)
+?NegateDefiniteClassArray@CQueryAnalyser@@KGJPAVCClassInfoArray@@0@Z
+; protected: static long __stdcall CQueryAnalyser::NegatePossibleClassArray(class CClassInfoArray *,class CClassInfoArray *)
+?NegatePossibleClassArray@CQueryAnalyser@@KGJPAVCClassInfoArray@@0@Z
+; protected: static long __stdcall CQueryAnalyser::NegateQueryExpression(struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *)
+?NegateQueryExpression@CQueryAnalyser@@KGJPAUQL_LEVEL_1_RPN_EXPRESSION@@0@Z
+; public: virtual long __thiscall CEvalNode::Optimize(class CContextMetaData *,class CEvalNode * *)
+?Optimize@CEvalNode@@UAEJPAVCContextMetaData@@PAPAV1@@Z
+; public: long __thiscall CEvalTree::Optimize(class CContextMetaData *)
+?Optimize@CEvalTree@@QAEJPAVCContextMetaData@@@Z
+; protected: static long __stdcall CQueryAnalyser::OrDefiniteClassArrays(class CClassInfoArray *,class CClassInfoArray *,class CClassInfoArray *)
+?OrDefiniteClassArrays@CQueryAnalyser@@KGJPAVCClassInfoArray@@00@Z
+; protected: static long __stdcall CQueryAnalyser::OrPossibleClassArrays(class CClassInfoArray *,class CClassInfoArray *,class CClassInfoArray *)
+?OrPossibleClassArrays@CQueryAnalyser@@KGJPAVCClassInfoArray@@00@Z
+; protected: static long __stdcall CQueryAnalyser::OrQueryExpressions(struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *,struct QL_LEVEL_1_RPN_EXPRESSION *)
+?OrQueryExpressions@CQueryAnalyser@@KGJPAUQL_LEVEL_1_RPN_EXPRESSION@@00@Z
+; public: static void __stdcall CEvalNode::PrintOffset(struct _iobuf *,int)
+?PrintOffset@CEvalNode@@SGXPAU_iobuf@@H@Z
+; public: static long __stdcall CEvalTree::Project(class CContextMetaData *,class CImplicationList &,class CEvalNode *,class CProjectionFilter *,enum EProjectionType,bool,class CEvalNode * *)
+?Project@CEvalTree@@SGJPAVCContextMetaData@@AAVCImplicationList@@PAVCEvalNode@@PAVCProjectionFilter@@W4EProjectionType@@_NPAPAV4@@Z
+; public: virtual long __stdcall CMetaData::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CMetaData@@UAGJABU_GUID@@PAPAX@Z
+; public: void __thiscall CEvalTree::Rebase(unsigned long)
+?Rebase@CEvalTree@@QAEXK@Z
+; public: void __thiscall CSortedArray::Rebase(unsigned long)
+?Rebase@CSortedArray@@QAEXK@Z
+; public: virtual unsigned long __stdcall CMetaData::Release(void)
+?Release@CMetaData@@UAGKXZ
+; public: bool __thiscall CSortedArray::Remove(unsigned long)
+?Remove@CSortedArray@@QAE_NK@Z
+; public: void __thiscall CClassInfoArray::RemoveClass(int)
+?RemoveClass@CClassInfoArray@@QAEXH@Z
+; public: long __thiscall CEvalTree::RemoveIndex(int)
+?RemoveIndex@CEvalTree@@QAEJH@Z
+; protected: unsigned int __thiscall CTempMemoryManager::RoundUp(unsigned int)
+?RoundUp@CTempMemoryManager@@IAEII@Z
+; public: bool __thiscall CEvalTree::SetBool(int)
+?SetBool@CEvalTree@@QAE_NH@Z
+; public: bool __thiscall CObjectInfo::SetLength(long)
+?SetLength@CObjectInfo@@QAE_NJ@Z
+; public: void __thiscall CClassInfoArray::SetLimited(int)
+?SetLimited@CClassInfoArray@@QAEXH@Z
+; public: void __thiscall CObjectInfo::SetObjectAt(long,struct _IWmiObject *)
+?SetObjectAt@CObjectInfo@@QAEXJPAU_IWmiObject@@@Z
+; public: bool __thiscall CClassInfoArray::SetOne(unsigned short const *,int)
+?SetOne@CClassInfoArray@@QAE_NPBGH@Z
+; public: void __thiscall CSortedArray::SetSize(int)
+?SetSize@CSortedArray@@QAEXH@Z
+; public: static long __stdcall CQueryAnalyser::SimplifyQueryForChild(struct QL_LEVEL_1_RPN_EXPRESSION *,unsigned short const *,struct IWbemClassObject *,class CContextMetaData *,struct QL_LEVEL_1_RPN_EXPRESSION * &)
+?SimplifyQueryForChild@CQueryAnalyser@@SGJPAUQL_LEVEL_1_RPN_EXPRESSION@@PBGPAUIWbemClassObject@@PAVCContextMetaData@@AAPAU2@@Z
+; protected: static int __stdcall CQueryAnalyser::SimplifyTokenForChild(struct QL_LEVEL_1_TOKEN &,unsigned short const *,struct IWbemClassObject *,class CContextMetaData *)
+?SimplifyTokenForChild@CQueryAnalyser@@KGHAAUQL_LEVEL_1_TOKEN@@PBGPAUIWbemClassObject@@PAVCContextMetaData@@@Z
+; public: int __thiscall CSortedArray::Size(void)const 
+?Size@CSortedArray@@QBEHXZ
+; public: unsigned long * __thiscall CSortedArray::UnbindPtr(void)
+?UnbindPtr@CSortedArray@@QAEPAKXZ
+; public: long __thiscall CEvalTree::UtilizeGuarantee(class CEvalTree &,class CContextMetaData *)
+?UtilizeGuarantee@CEvalTree@@QAEJAAV1@PAVCContextMetaData@@@Z
+; protected: static int __stdcall CQueryAnalyser::ValidateSQLDateTime(unsigned short const *)
+?ValidateSQLDateTime@CQueryAnalyser@@KGHPBG@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wevntrprv.def b/mingw-w64-crt/lib64/wevntrprv.def
index 48d2ca6..582b741 100644
--- a/mingw-w64-crt/lib64/wevntrprv.def
+++ b/mingw-w64-crt/lib64/wevntrprv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file evntrprv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY evntrprv.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file evntrprv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY evntrprv.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wevtgprov.def b/mingw-w64-crt/lib64/wevtgprov.def
index c7b1410..9b9d552 100644
--- a/mingw-w64-crt/lib64/wevtgprov.def
+++ b/mingw-w64-crt/lib64/wevtgprov.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file EvTgProv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY EvTgProv.dll
-EXPORTS
-; unsigned long  m_dwNextTriggerID
-?m_dwNextTriggerID@@3KA DATA
-; unsigned long  m_dwTotalTriggers
-?m_dwTotalTriggers@@3KA DATA
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file EvTgProv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY EvTgProv.dll
+EXPORTS
+; unsigned long  m_dwNextTriggerID
+?m_dwNextTriggerID@@3KA DATA
+; unsigned long  m_dwTotalTriggers
+?m_dwTotalTriggers@@3KA DATA
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wexpsrv.def b/mingw-w64-crt/lib64/wexpsrv.def
index c78a0d2..2f4638b 100644
--- a/mingw-w64-crt/lib64/wexpsrv.def
+++ b/mingw-w64-crt/lib64/wexpsrv.def
@@ -1,631 +1,631 @@
-; 
-; Exports of file EXPSRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY EXPSRV.dll
-EXPORTS
-ProcCallEngine
-DllFunctionCall
-__vbaAryLock
-__vbaBoolErrVar
-CopyRecord
-__vbaRedimVar2
-__vbaStrErrVarCopy
-__vbaVarLateMemCallLd
-__vbaVarLateMemCallLdRf
-TipGetAddressOfPredeclaredInstance
-__vbaVarLateMemCallSt
-__vbaVarLateMemSt
-__vbaVarLateMemStAd
-MethCallEngine
-__vbaAryVarVarg
-__vbaFpCDblR4
-__vbaFpCDblR8
-__vbaFpCSngR4
-__vbaFpCSngR8
-__vbaFpCmpCy
-__vbaFpCy
-__vbaFpI2
-__vbaFpI4
-__vbaFpR4
-__vbaFpR8
-__vbaFpUI1
-__vbaFreeObj
-__vbaFreeStr
-__vbaFreeVar
-__vbaFreeVarg
-__vbaI2Abs
-__vbaI2I4
-__vbaI2Sgn
-__vbaI4Abs
-TipSetOption
-__vbaI4Sgn
-__vbaStrCopy
-__vbaStrMove
-__vbaUI1I2
-__vbaUI1I4
-__vbaUI1Sgn
-TipUnloadProject
-__vbaVarCopy
-__vbaVarDup
-TipCreateInstanceProject2
-EbResetProject
-EbGetHandleOfExecutingProject
-__vbaVarMove
-__vbaVarVargNofree
-__vbaVarZero
-__vbaVargParmRef
-__vbaVargVar
-__vbaVargVarCopy
-__vbaVargVarMove
-__vbaVargVarRef
-_CIatan
-_CIcos
-_CIexp
-_CIlog
-_CIsin
-_CIsqrt
-_CItan
-__vbaAryConstruct2
-__vbaAryConstruct
-__vbaAryCopy
-__vbaAryDestruct
-__vbaAryMove
-__vbaAryRebase1Var
-__vbaAryRecCopy
-__vbaAryRecMove
-__vbaAryUnlock
-__vbaAryVar
-__vbaBoolStr
-__vbaBoolVar
-__vbaBoolVarNull
-__vbaCVarAryUdt
-__vbaCastObj
-__vbaCastObjVar
-__vbaCheckType
-EbResetProjectNormal
-TipUnloadInstance
-__vbaCheckTypeVar
-EbLibraryLoad
-EbLibraryUnload
-__vbaChkstk
-EbLoadRunTime
-__vbaCopyBytes
-__vbaCopyBytesZero
-EbCreateContext
-EbDestroyContext
-EbSetContextWorkerThread
-__vbaCyAbs
-__vbaCyAdd
-__vbaCyErrVar
-__vbaCyFix
-__vbaCyForInit
-__vbaCyForNext
-__vbaCyI2
-EbGetErrorInfo
-__vbaCyI4
-__vbaCyInt
-__vbaCyMul
-__vbaCyMulI2
-__vbaCySgn
-__vbaCyStr
-__vbaCySub
-__vbaCyUI1
-__vbaCyVar
-__vbaDateR4
-__vbaDateR8
-__vbaDateStr
-__vbaDateVar
-EbIsProjectOnStack
-TipCreateInstanceEx
-GetMem2
-GetMem4
-GetMem8
-GetMemStr
-GetMemVar
-GetMemObj
-PutMem2
-PutMem4
-PutMem8
-PutMemStr
-PutMemVar
-PutMemObj
-SetMemVar
-SetMemObj
-GetMemNewObj
-PutMemNewObj
-SetMemNewObj
-GetMem1
-PutMem1
-GetMemEvent
-PutMemEvent
-SetMemEvent
-__vbaDerefAry
-__vbaDerefAry1
-__vbaEnd
-__vbaErase
-__vbaEraseKeepData
-__vbaEraseNoPop
-__vbaError
-__vbaErrorOverflow
-__vbaExceptHandler
-__vbaExitEachAry
-__vbaExitEachColl
-__vbaExitEachVar
-__vbaExitProc
-__vbaFPException
-__vbaFPFix
-__vbaFPInt
-__vbaFailedFriend
-__vbaFileClose
-__vbaFileCloseAll
-__vbaFileLock
-__vbaFileOpen
-__vbaFileSeek
-__vbaFixstrConstruct
-__vbaForEachAry
-__vbaForEachCollAd
-__vbaForEachCollObj
-__vbaForEachCollVar
-__vbaForEachVar
-__vbaFreeObjList
-__vbaFreeStrList
-__vbaFreeVarList
-__vbaGenerateBoundsError
-__vbaGet3
-__vbaGet4
-__vbaGetFxStr3
-__vbaGetFxStr4
-__vbaGetOwner3
-__vbaGetOwner4
-__vbaGosub
-__vbaGosubFree
-__vbaGosubReturn
-__vbaHresultCheck
-__vbaHresultCheckNonvirt
-__vbaHresultCheckObj
-__vbaI2Cy
-__vbaI2ErrVar
-__vbaI2ForNextCheck
-__vbaI2Str
-__vbaI2Var
-__vbaI4Cy
-__vbaI4ErrVar
-__vbaI4ForNextCheck
-__vbaI4Str
-__vbaI4Var
-__vbaInStr
-__vbaInStrB
-__vbaInStrVar
-__vbaInStrVarB
-__vbaInputFile
-__vbaLateIdCall
-__vbaLateIdCallLd
-__vbaLateIdCallSt
-__vbaLateIdNamedCall
-__vbaLateIdNamedCallLd
-__vbaLateIdNamedCallSt
-__vbaLateIdNamedStAd
-__vbaLateIdSt
-__vbaLateIdStAd
-__vbaLateMemCall
-__vbaLateMemCallLd
-__vbaLateMemCallSt
-__vbaLateMemNamedCall
-__vbaLateMemNamedCallLd
-__vbaLateMemNamedCallSt
-__vbaLateMemNamedStAd
-__vbaLateMemSt
-__vbaLateMemStAd
-__vbaLbound
-EVENT_SINK_QueryInterface
-EVENT_SINK_AddRef
-EVENT_SINK_Release
-EVENT_SINK_GetIDsOfNames
-EVENT_SINK_Invoke
-__vbaLdZeroAry
-__vbaLenBstr
-__vbaLenBstrB
-__vbaLenVar
-__vbaLenVarB
-BASIC_CLASS_QueryInterface
-BASIC_CLASS_AddRef
-BASIC_CLASS_Release
-BASIC_CLASS_GetIDsOfNames
-BASIC_CLASS_Invoke
-__vbaLineInputStr
-__vbaLineInputVar
-__vbaLsetFixstr
-__vbaLsetFixstrFree
-__vbaMidStmtBstr
-BASIC_DISPINTERFACE_GetTICount
-BASIC_DISPINTERFACE_GetTypeInfo
-__vbaMidStmtBstrB
-__vbaMidStmtVar
-__vbaMidStmtVarB
-__vbaNameFile
-__vbaNew2
-__vbaNew
-__vbaNextEachAry
-__vbaNextEachCollAd
-Zombie_QueryInterface
-Zombie_AddRef
-Zombie_Release
-Zombie_GetTypeInfoCount
-Zombie_GetTypeInfo
-Zombie_GetIDsOfNames
-Zombie_Invoke
-__vbaNextEachCollObj
-__vbaNextEachCollVar
-__vbaNextEachVar
-EVENT_SINK2_AddRef
-EVENT_SINK2_Release
-__vbaObjAddref
-__vbaObjIs
-__vbaObjSet
-__vbaObjSetAddref
-__vbaObjVar
-__vbaOnError
-__vbaOnGoCheck
-__vbaPowerR8
-__vbaPrintFile
-__vbaPrintObj
-__vbaPut3
-__vbaPut4
-__vbaPutFxStr3
-__vbaPutFxStr4
-__vbaPutOwner3
-__vbaPutOwner4
-__vbaR4Cy
-__vbaR4ErrVar
-__vbaR4ForNextCheck
-__vbaR4Sgn
-__vbaR4Str
-__vbaR4Var
-__vbaR8Cy
-__vbaR8ErrVar
-__vbaR8FixI2
-__vbaR8FixI4
-__vbaR8ForNextCheck
-__vbaR8IntI2
-__vbaR8IntI4
-__vbaR8Sgn
-__vbaR8Str
-__vbaR8Var
-__vbaRaiseEvent
-__vbaRecAnsiToUni
-__vbaRecAssign
-__vbaRecDestruct
-__vbaRecDestructAnsi
-__vbaRecUniToAnsi
-__vbaRedim
-__vbaRedimPreserve
-__vbaRedimPreserveVar
-__vbaRedimPreserveVar2
-__vbaRedimVar
-__vbaRefVarAry
-__vbaResume
-__vbaRsetFixstr
-__vbaRsetFixstrFree
-__vbaSetSystemError
-__vbaStopExe
-__vbaStr2Vec
-__vbaStrAryToAnsi
-__vbaStrAryToUnicode
-__vbaStrBool
-__vbaStrCat
-__vbaStrCmp
-__vbaStrComp
-__vbaStrCompVar
-__vbaStrCy
-__vbaStrDate
-__vbaStrFixstr
-__vbaStrI2
-__vbaStrI4
-__vbaStrLike
-__vbaStrR4
-__vbaStrR8
-__vbaStrTextCmp
-__vbaStrTextLike
-__vbaStrToAnsi
-__vbaStrToUnicode
-__vbaStrUI1
-rtcLeftBstr
-rtcLeftVar
-rtcRightBstr
-rtcRightVar
-rtcAnsiValueBstr
-rtcLowerCaseBstr
-rtcLowerCaseVar
-rtcTrimBstr
-rtcTrimVar
-rtcLeftTrimBstr
-rtcLeftTrimVar
-rtcRightTrimBstr
-rtcRightTrimVar
-rtcSpaceBstr
-rtcSpaceVar
-rtcUpperCaseBstr
-rtcUpperCaseVar
-rtcKillFiles
-rtcChangeDir
-rtcMakeDir
-rtcRemoveDir
-rtcChangeDrive
-rtcBeep
-rtcGetTimer
-rtcStrFromVar
-rtcBstrFromAnsi
-rtcPackDate
-rtcPackTime
-rtcGetDateValue
-rtcGetTimeValue
-rtcGetDayOfMonth
-rtcGetHourOfDay
-rtcGetMinuteOfHour
-rtcGetMonthOfYear
-rtcGetPresentDate
-rtcGetSecondOfMinute
-rtcSetDateVar
-rtcSetDateBstr
-rtcSetTimeVar
-rtcSetTimeBstr
-rtcGetDayOfWeek
-rtcGetYear
-rtcFileReset
-rtcFileAttributes
-rtcIsArray
-rtcIsDate
-rtcIsEmpty
-rtcIsError
-rtcIsNull
-rtcIsNumeric
-rtcIsObject
-rtcVarType
-rtDecFromVar
-rtcFileWidth
-rtcInputCount
-rtcInputCountVar
-rtcFileSeek
-rtcFileLocation
-rtcFileLength
-rtcEndOfFile
-rtcHexBstrFromVar
-rtcHexVarFromVar
-rtcOctBstrFromVar
-rtcOctVarFromVar
-rtcFileCopy
-rtcFileDateTime
-rtcFileLen
-rtcGetFileAttr
-rtcSetFileAttr
-rtcR8ValFromBstr
-rtcSin
-rtcCos
-rtcTan
-rtcAtn
-rtcExp
-rtcLog
-rtcRgb
-rtcQBColor
-rtcMacId
-rtcTypeName
-rtcIsMissing
-rtcRandomNext
-rtcRandomize
-rtcMsgBox
-rtcInputBox
-rtcAppActivate
-rtcDoEvents
-rtcSendKeys
-rtcShell
-rtcArray
-__vbaStrVarCopy
-__vbaStrVarMove
-__vbaStrVarVal
-rtcGetErl
-rtcStringBstr
-rtcStringVar
-rtcVarBstrFromAnsi
-rtcGetDateBstr
-rtcGetDateVar
-rtcGetTimeBstr
-rtcGetTimeVar
-rtcVarStrFromVar
-rtcSqr
-rtcIMEStatus
-rtcLeftCharBstr
-rtcLeftCharVar
-rtcRightCharBstr
-rtcRightCharVar
-rtcInputCharCount
-rtcInputCharCountVar
-rtcStrConvVar
-__vbaUI1Cy
-rtcGetHostLCID
-rtcCreateObject
-rtcGetObject
-rtcAppleScript
-rtcMidBstr
-rtcMidVar
-rtcInStr
-rtcMidCharBstr
-rtcMidCharVar
-rtcInStrChar
-rtBstrFromErrVar
-rtBoolFromErrVar
-rtCyFromErrVar
-rtI2FromErrVar
-rtI4FromErrVar
-rtR4FromErrVar
-rtR8FromErrVar
-rtcDateFromVar
-rtcVarFromVar
-rtcCVErrFromVar
-VarPtr
-rtcDir
-rtcCurrentDirBstr
-rtcCurrentDir
-rtcFreeFile
-rtcCompareBstr
-rtcBstrFromFormatVar
-rtcBstrFromError
-rtcVarFromError
-rtcLenCharVar
-rtcLenVar
-rtcFixVar
-rtcAbsVar
-rtcIntVar
-rtcSgnVar
-__vbaUI1ErrVar
-rtcVarFromFormatVar
-rtcDateAdd
-rtcDateDiff
-rtcDatePart
-rtcPartition
-rtcChoose
-rtcEnvironVar
-rtcEnvironBstr
-rtcSwitch
-rtcCommandBstr
-rtcCommandVar
-rtcSLN
-rtcSYD
-rtcDDB
-rtcIPMT
-rtcPPMT
-rtcPMT
-rtcPV
-rtcFV
-rtcNPer
-rtcRate
-rtcImmediateIf
-rtcIRR
-rtcMIRR
-rtcNPV
-rtcErrObj
-rtUI1FromErrVar
-rtcVarDateFromVar
-__vbaUI1Str
-rtcGetSetting
-rtcSaveSetting
-rtcDeleteSetting
-rtcGetAllSettings
-rtcByteValueBstr
-rtcBstrFromByte
-rtcVarBstrFromByte
-rtcCharValueBstr
-rtcBstrFromChar
-rtcVarBstrFromChar
-rtcSetCurrentCalendar
-rtcGetCurrentCalendar
-__vbaUI1Var
-rtcFormatNumber
-rtcFormatCurrency
-rtcFormatPercent
-rtcFormatDateTime
-rtcWeekdayName
-rtcMonthName
-rtcFilter
-rtcInStrRev
-rtcJoin
-rtcSplit
-rtcReplace
-rtcStrReverse
-rtcRound
-rtcCallByName
-rtcCreateObject2
-rtcStrConvVar2
-__vbaUbound
-__vbaUdtVar
-__vbaUnkVar
-__vbaVar2Vec
-__vbaVarAbs
-__vbaVarAdd
-__vbaVarAnd
-__vbaVarCat
-__vbaVarCmpEq
-__vbaVarCmpGe
-__vbaVarCmpGt
-__vbaVarCmpLe
-__vbaVarCmpLt
-__vbaVarCmpNe
-__vbaVarDateVar
-__vbaVarDiv
-__vbaVarEqv
-__vbaVarErrI4
-__vbaVarFix
-__vbaVarForInit
-__vbaVarForNext
-__vbaVarIdiv
-__vbaVarImp
-__vbaVarIndexLoad
-__vbaVarIndexLoadRef
-__vbaVarIndexLoadRefLock
-__vbaVarIndexStore
-__vbaVarIndexStoreObj
-__vbaVarInt
-__vbaVarLike
-__vbaVarLikeVar
-__vbaVarMod
-__vbaVarMul
-__vbaVarNeg
-__vbaVarNot
-__vbaVarOr
-__vbaVarPow
-__vbaVarSetObj
-__vbaVarSetObjAddref
-__vbaVarSetUnk
-__vbaVarSetUnkAddref
-__vbaVarSetVar
-__vbaVarSetVarAddref
-__vbaVarSub
-__vbaVarTextCmpEq
-__vbaVarTextCmpGe
-__vbaVarTextCmpGt
-__vbaVarTextCmpLe
-__vbaVarTextCmpLt
-__vbaVarTextCmpNe
-__vbaVarTextLike
-__vbaVarTextLikeVar
-__vbaVarTextTstEq
-__vbaVarTextTstGe
-__vbaVarTextTstGt
-__vbaVarTextTstLe
-__vbaVarTextTstLt
-__vbaVarTextTstNe
-__vbaVarTstEq
-__vbaVarTstGe
-__vbaVarTstGt
-__vbaVarTstLe
-__vbaVarTstLt
-__vbaVarTstNe
-__vbaVarXor
-__vbaVargObj
-__vbaVargObjAddref
-__vbaVargUnk
-__vbaVargUnkAddref
-__vbaVerifyVarObj
-__vbaWriteFile
-_adj_fdiv_m16i
-_adj_fdiv_m32
-_adj_fdiv_m32i
-_adj_fdiv_m64
-_adj_fdiv_r
-_adj_fdivr_m16i
-_adj_fdivr_m32
-_adj_fdivr_m32i
-_adj_fdivr_m64
-_adj_fpatan
-_adj_fprem
-_adj_fprem1
-_adj_fptan
-_allmul
-TipInvokeMethod2
-TipInvokeMethod
-IID_IVbaHost DATA
-EbGetObjConnectionCounts
-CreateIExprSrvObj
-EbGetVBAObject
+; 
+; Exports of file EXPSRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY EXPSRV.dll
+EXPORTS
+ProcCallEngine
+DllFunctionCall
+__vbaAryLock
+__vbaBoolErrVar
+CopyRecord
+__vbaRedimVar2
+__vbaStrErrVarCopy
+__vbaVarLateMemCallLd
+__vbaVarLateMemCallLdRf
+TipGetAddressOfPredeclaredInstance
+__vbaVarLateMemCallSt
+__vbaVarLateMemSt
+__vbaVarLateMemStAd
+MethCallEngine
+__vbaAryVarVarg
+__vbaFpCDblR4
+__vbaFpCDblR8
+__vbaFpCSngR4
+__vbaFpCSngR8
+__vbaFpCmpCy
+__vbaFpCy
+__vbaFpI2
+__vbaFpI4
+__vbaFpR4
+__vbaFpR8
+__vbaFpUI1
+__vbaFreeObj
+__vbaFreeStr
+__vbaFreeVar
+__vbaFreeVarg
+__vbaI2Abs
+__vbaI2I4
+__vbaI2Sgn
+__vbaI4Abs
+TipSetOption
+__vbaI4Sgn
+__vbaStrCopy
+__vbaStrMove
+__vbaUI1I2
+__vbaUI1I4
+__vbaUI1Sgn
+TipUnloadProject
+__vbaVarCopy
+__vbaVarDup
+TipCreateInstanceProject2
+EbResetProject
+EbGetHandleOfExecutingProject
+__vbaVarMove
+__vbaVarVargNofree
+__vbaVarZero
+__vbaVargParmRef
+__vbaVargVar
+__vbaVargVarCopy
+__vbaVargVarMove
+__vbaVargVarRef
+_CIatan
+_CIcos
+_CIexp
+_CIlog
+_CIsin
+_CIsqrt
+_CItan
+__vbaAryConstruct2
+__vbaAryConstruct
+__vbaAryCopy
+__vbaAryDestruct
+__vbaAryMove
+__vbaAryRebase1Var
+__vbaAryRecCopy
+__vbaAryRecMove
+__vbaAryUnlock
+__vbaAryVar
+__vbaBoolStr
+__vbaBoolVar
+__vbaBoolVarNull
+__vbaCVarAryUdt
+__vbaCastObj
+__vbaCastObjVar
+__vbaCheckType
+EbResetProjectNormal
+TipUnloadInstance
+__vbaCheckTypeVar
+EbLibraryLoad
+EbLibraryUnload
+__vbaChkstk
+EbLoadRunTime
+__vbaCopyBytes
+__vbaCopyBytesZero
+EbCreateContext
+EbDestroyContext
+EbSetContextWorkerThread
+__vbaCyAbs
+__vbaCyAdd
+__vbaCyErrVar
+__vbaCyFix
+__vbaCyForInit
+__vbaCyForNext
+__vbaCyI2
+EbGetErrorInfo
+__vbaCyI4
+__vbaCyInt
+__vbaCyMul
+__vbaCyMulI2
+__vbaCySgn
+__vbaCyStr
+__vbaCySub
+__vbaCyUI1
+__vbaCyVar
+__vbaDateR4
+__vbaDateR8
+__vbaDateStr
+__vbaDateVar
+EbIsProjectOnStack
+TipCreateInstanceEx
+GetMem2
+GetMem4
+GetMem8
+GetMemStr
+GetMemVar
+GetMemObj
+PutMem2
+PutMem4
+PutMem8
+PutMemStr
+PutMemVar
+PutMemObj
+SetMemVar
+SetMemObj
+GetMemNewObj
+PutMemNewObj
+SetMemNewObj
+GetMem1
+PutMem1
+GetMemEvent
+PutMemEvent
+SetMemEvent
+__vbaDerefAry
+__vbaDerefAry1
+__vbaEnd
+__vbaErase
+__vbaEraseKeepData
+__vbaEraseNoPop
+__vbaError
+__vbaErrorOverflow
+__vbaExceptHandler
+__vbaExitEachAry
+__vbaExitEachColl
+__vbaExitEachVar
+__vbaExitProc
+__vbaFPException
+__vbaFPFix
+__vbaFPInt
+__vbaFailedFriend
+__vbaFileClose
+__vbaFileCloseAll
+__vbaFileLock
+__vbaFileOpen
+__vbaFileSeek
+__vbaFixstrConstruct
+__vbaForEachAry
+__vbaForEachCollAd
+__vbaForEachCollObj
+__vbaForEachCollVar
+__vbaForEachVar
+__vbaFreeObjList
+__vbaFreeStrList
+__vbaFreeVarList
+__vbaGenerateBoundsError
+__vbaGet3
+__vbaGet4
+__vbaGetFxStr3
+__vbaGetFxStr4
+__vbaGetOwner3
+__vbaGetOwner4
+__vbaGosub
+__vbaGosubFree
+__vbaGosubReturn
+__vbaHresultCheck
+__vbaHresultCheckNonvirt
+__vbaHresultCheckObj
+__vbaI2Cy
+__vbaI2ErrVar
+__vbaI2ForNextCheck
+__vbaI2Str
+__vbaI2Var
+__vbaI4Cy
+__vbaI4ErrVar
+__vbaI4ForNextCheck
+__vbaI4Str
+__vbaI4Var
+__vbaInStr
+__vbaInStrB
+__vbaInStrVar
+__vbaInStrVarB
+__vbaInputFile
+__vbaLateIdCall
+__vbaLateIdCallLd
+__vbaLateIdCallSt
+__vbaLateIdNamedCall
+__vbaLateIdNamedCallLd
+__vbaLateIdNamedCallSt
+__vbaLateIdNamedStAd
+__vbaLateIdSt
+__vbaLateIdStAd
+__vbaLateMemCall
+__vbaLateMemCallLd
+__vbaLateMemCallSt
+__vbaLateMemNamedCall
+__vbaLateMemNamedCallLd
+__vbaLateMemNamedCallSt
+__vbaLateMemNamedStAd
+__vbaLateMemSt
+__vbaLateMemStAd
+__vbaLbound
+EVENT_SINK_QueryInterface
+EVENT_SINK_AddRef
+EVENT_SINK_Release
+EVENT_SINK_GetIDsOfNames
+EVENT_SINK_Invoke
+__vbaLdZeroAry
+__vbaLenBstr
+__vbaLenBstrB
+__vbaLenVar
+__vbaLenVarB
+BASIC_CLASS_QueryInterface
+BASIC_CLASS_AddRef
+BASIC_CLASS_Release
+BASIC_CLASS_GetIDsOfNames
+BASIC_CLASS_Invoke
+__vbaLineInputStr
+__vbaLineInputVar
+__vbaLsetFixstr
+__vbaLsetFixstrFree
+__vbaMidStmtBstr
+BASIC_DISPINTERFACE_GetTICount
+BASIC_DISPINTERFACE_GetTypeInfo
+__vbaMidStmtBstrB
+__vbaMidStmtVar
+__vbaMidStmtVarB
+__vbaNameFile
+__vbaNew2
+__vbaNew
+__vbaNextEachAry
+__vbaNextEachCollAd
+Zombie_QueryInterface
+Zombie_AddRef
+Zombie_Release
+Zombie_GetTypeInfoCount
+Zombie_GetTypeInfo
+Zombie_GetIDsOfNames
+Zombie_Invoke
+__vbaNextEachCollObj
+__vbaNextEachCollVar
+__vbaNextEachVar
+EVENT_SINK2_AddRef
+EVENT_SINK2_Release
+__vbaObjAddref
+__vbaObjIs
+__vbaObjSet
+__vbaObjSetAddref
+__vbaObjVar
+__vbaOnError
+__vbaOnGoCheck
+__vbaPowerR8
+__vbaPrintFile
+__vbaPrintObj
+__vbaPut3
+__vbaPut4
+__vbaPutFxStr3
+__vbaPutFxStr4
+__vbaPutOwner3
+__vbaPutOwner4
+__vbaR4Cy
+__vbaR4ErrVar
+__vbaR4ForNextCheck
+__vbaR4Sgn
+__vbaR4Str
+__vbaR4Var
+__vbaR8Cy
+__vbaR8ErrVar
+__vbaR8FixI2
+__vbaR8FixI4
+__vbaR8ForNextCheck
+__vbaR8IntI2
+__vbaR8IntI4
+__vbaR8Sgn
+__vbaR8Str
+__vbaR8Var
+__vbaRaiseEvent
+__vbaRecAnsiToUni
+__vbaRecAssign
+__vbaRecDestruct
+__vbaRecDestructAnsi
+__vbaRecUniToAnsi
+__vbaRedim
+__vbaRedimPreserve
+__vbaRedimPreserveVar
+__vbaRedimPreserveVar2
+__vbaRedimVar
+__vbaRefVarAry
+__vbaResume
+__vbaRsetFixstr
+__vbaRsetFixstrFree
+__vbaSetSystemError
+__vbaStopExe
+__vbaStr2Vec
+__vbaStrAryToAnsi
+__vbaStrAryToUnicode
+__vbaStrBool
+__vbaStrCat
+__vbaStrCmp
+__vbaStrComp
+__vbaStrCompVar
+__vbaStrCy
+__vbaStrDate
+__vbaStrFixstr
+__vbaStrI2
+__vbaStrI4
+__vbaStrLike
+__vbaStrR4
+__vbaStrR8
+__vbaStrTextCmp
+__vbaStrTextLike
+__vbaStrToAnsi
+__vbaStrToUnicode
+__vbaStrUI1
+rtcLeftBstr
+rtcLeftVar
+rtcRightBstr
+rtcRightVar
+rtcAnsiValueBstr
+rtcLowerCaseBstr
+rtcLowerCaseVar
+rtcTrimBstr
+rtcTrimVar
+rtcLeftTrimBstr
+rtcLeftTrimVar
+rtcRightTrimBstr
+rtcRightTrimVar
+rtcSpaceBstr
+rtcSpaceVar
+rtcUpperCaseBstr
+rtcUpperCaseVar
+rtcKillFiles
+rtcChangeDir
+rtcMakeDir
+rtcRemoveDir
+rtcChangeDrive
+rtcBeep
+rtcGetTimer
+rtcStrFromVar
+rtcBstrFromAnsi
+rtcPackDate
+rtcPackTime
+rtcGetDateValue
+rtcGetTimeValue
+rtcGetDayOfMonth
+rtcGetHourOfDay
+rtcGetMinuteOfHour
+rtcGetMonthOfYear
+rtcGetPresentDate
+rtcGetSecondOfMinute
+rtcSetDateVar
+rtcSetDateBstr
+rtcSetTimeVar
+rtcSetTimeBstr
+rtcGetDayOfWeek
+rtcGetYear
+rtcFileReset
+rtcFileAttributes
+rtcIsArray
+rtcIsDate
+rtcIsEmpty
+rtcIsError
+rtcIsNull
+rtcIsNumeric
+rtcIsObject
+rtcVarType
+rtDecFromVar
+rtcFileWidth
+rtcInputCount
+rtcInputCountVar
+rtcFileSeek
+rtcFileLocation
+rtcFileLength
+rtcEndOfFile
+rtcHexBstrFromVar
+rtcHexVarFromVar
+rtcOctBstrFromVar
+rtcOctVarFromVar
+rtcFileCopy
+rtcFileDateTime
+rtcFileLen
+rtcGetFileAttr
+rtcSetFileAttr
+rtcR8ValFromBstr
+rtcSin
+rtcCos
+rtcTan
+rtcAtn
+rtcExp
+rtcLog
+rtcRgb
+rtcQBColor
+rtcMacId
+rtcTypeName
+rtcIsMissing
+rtcRandomNext
+rtcRandomize
+rtcMsgBox
+rtcInputBox
+rtcAppActivate
+rtcDoEvents
+rtcSendKeys
+rtcShell
+rtcArray
+__vbaStrVarCopy
+__vbaStrVarMove
+__vbaStrVarVal
+rtcGetErl
+rtcStringBstr
+rtcStringVar
+rtcVarBstrFromAnsi
+rtcGetDateBstr
+rtcGetDateVar
+rtcGetTimeBstr
+rtcGetTimeVar
+rtcVarStrFromVar
+rtcSqr
+rtcIMEStatus
+rtcLeftCharBstr
+rtcLeftCharVar
+rtcRightCharBstr
+rtcRightCharVar
+rtcInputCharCount
+rtcInputCharCountVar
+rtcStrConvVar
+__vbaUI1Cy
+rtcGetHostLCID
+rtcCreateObject
+rtcGetObject
+rtcAppleScript
+rtcMidBstr
+rtcMidVar
+rtcInStr
+rtcMidCharBstr
+rtcMidCharVar
+rtcInStrChar
+rtBstrFromErrVar
+rtBoolFromErrVar
+rtCyFromErrVar
+rtI2FromErrVar
+rtI4FromErrVar
+rtR4FromErrVar
+rtR8FromErrVar
+rtcDateFromVar
+rtcVarFromVar
+rtcCVErrFromVar
+VarPtr
+rtcDir
+rtcCurrentDirBstr
+rtcCurrentDir
+rtcFreeFile
+rtcCompareBstr
+rtcBstrFromFormatVar
+rtcBstrFromError
+rtcVarFromError
+rtcLenCharVar
+rtcLenVar
+rtcFixVar
+rtcAbsVar
+rtcIntVar
+rtcSgnVar
+__vbaUI1ErrVar
+rtcVarFromFormatVar
+rtcDateAdd
+rtcDateDiff
+rtcDatePart
+rtcPartition
+rtcChoose
+rtcEnvironVar
+rtcEnvironBstr
+rtcSwitch
+rtcCommandBstr
+rtcCommandVar
+rtcSLN
+rtcSYD
+rtcDDB
+rtcIPMT
+rtcPPMT
+rtcPMT
+rtcPV
+rtcFV
+rtcNPer
+rtcRate
+rtcImmediateIf
+rtcIRR
+rtcMIRR
+rtcNPV
+rtcErrObj
+rtUI1FromErrVar
+rtcVarDateFromVar
+__vbaUI1Str
+rtcGetSetting
+rtcSaveSetting
+rtcDeleteSetting
+rtcGetAllSettings
+rtcByteValueBstr
+rtcBstrFromByte
+rtcVarBstrFromByte
+rtcCharValueBstr
+rtcBstrFromChar
+rtcVarBstrFromChar
+rtcSetCurrentCalendar
+rtcGetCurrentCalendar
+__vbaUI1Var
+rtcFormatNumber
+rtcFormatCurrency
+rtcFormatPercent
+rtcFormatDateTime
+rtcWeekdayName
+rtcMonthName
+rtcFilter
+rtcInStrRev
+rtcJoin
+rtcSplit
+rtcReplace
+rtcStrReverse
+rtcRound
+rtcCallByName
+rtcCreateObject2
+rtcStrConvVar2
+__vbaUbound
+__vbaUdtVar
+__vbaUnkVar
+__vbaVar2Vec
+__vbaVarAbs
+__vbaVarAdd
+__vbaVarAnd
+__vbaVarCat
+__vbaVarCmpEq
+__vbaVarCmpGe
+__vbaVarCmpGt
+__vbaVarCmpLe
+__vbaVarCmpLt
+__vbaVarCmpNe
+__vbaVarDateVar
+__vbaVarDiv
+__vbaVarEqv
+__vbaVarErrI4
+__vbaVarFix
+__vbaVarForInit
+__vbaVarForNext
+__vbaVarIdiv
+__vbaVarImp
+__vbaVarIndexLoad
+__vbaVarIndexLoadRef
+__vbaVarIndexLoadRefLock
+__vbaVarIndexStore
+__vbaVarIndexStoreObj
+__vbaVarInt
+__vbaVarLike
+__vbaVarLikeVar
+__vbaVarMod
+__vbaVarMul
+__vbaVarNeg
+__vbaVarNot
+__vbaVarOr
+__vbaVarPow
+__vbaVarSetObj
+__vbaVarSetObjAddref
+__vbaVarSetUnk
+__vbaVarSetUnkAddref
+__vbaVarSetVar
+__vbaVarSetVarAddref
+__vbaVarSub
+__vbaVarTextCmpEq
+__vbaVarTextCmpGe
+__vbaVarTextCmpGt
+__vbaVarTextCmpLe
+__vbaVarTextCmpLt
+__vbaVarTextCmpNe
+__vbaVarTextLike
+__vbaVarTextLikeVar
+__vbaVarTextTstEq
+__vbaVarTextTstGe
+__vbaVarTextTstGt
+__vbaVarTextTstLe
+__vbaVarTextTstLt
+__vbaVarTextTstNe
+__vbaVarTstEq
+__vbaVarTstGe
+__vbaVarTstGt
+__vbaVarTstLe
+__vbaVarTstLt
+__vbaVarTstNe
+__vbaVarXor
+__vbaVargObj
+__vbaVargObjAddref
+__vbaVargUnk
+__vbaVargUnkAddref
+__vbaVerifyVarObj
+__vbaWriteFile
+_adj_fdiv_m16i
+_adj_fdiv_m32
+_adj_fdiv_m32i
+_adj_fdiv_m64
+_adj_fdiv_r
+_adj_fdivr_m16i
+_adj_fdivr_m32
+_adj_fdivr_m32i
+_adj_fdivr_m64
+_adj_fpatan
+_adj_fprem
+_adj_fprem1
+_adj_fptan
+_allmul
+TipInvokeMethod2
+TipInvokeMethod
+IID_IVbaHost DATA
+EbGetObjConnectionCounts
+CreateIExprSrvObj
+EbGetVBAObject
diff --git a/mingw-w64-crt/lib64/wexstrace.def b/mingw-w64-crt/lib64/wexstrace.def
index e657f29..73f26af 100644
--- a/mingw-w64-crt/lib64/wexstrace.def
+++ b/mingw-w64-crt/lib64/wexstrace.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file exstrace.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY exstrace.dll
-EXPORTS
-_AsyncBinaryTrace@16
-_AsyncStringTrace@12
-_DebugAssert@12
-_DllMain@12
-_FlushAsyncTrace@0
-_InitAsyncTrace@0
-_SetAsyncTraceParams@16
-_SetAsyncTraceParamsEx@20
-_TermAsyncTrace@0
-__dwEnabledTraces DATA
-_g_TestTrace@0
-_g_TestTraceDisable@0
-_g_TestTraceEnable@0
+; 
+; Exports of file exstrace.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY exstrace.dll
+EXPORTS
+_AsyncBinaryTrace@16
+_AsyncStringTrace@12
+_DebugAssert@12
+_DllMain@12
+_FlushAsyncTrace@0
+_InitAsyncTrace@0
+_SetAsyncTraceParams@16
+_SetAsyncTraceParamsEx@20
+_TermAsyncTrace@0
+__dwEnabledTraces DATA
+_g_TestTrace@0
+_g_TestTraceDisable@0
+_g_TestTraceEnable@0
diff --git a/mingw-w64-crt/lib64/wextmgr.def b/mingw-w64-crt/lib64/wextmgr.def
index c986b91..f2d0cf6 100644
--- a/mingw-w64-crt/lib64/wextmgr.def
+++ b/mingw-w64-crt/lib64/wextmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file extmgr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY extmgr.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file extmgr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY extmgr.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wf3ahvoas.def b/mingw-w64-crt/lib64/wf3ahvoas.def
index 2ab6f55..e918df6 100644
--- a/mingw-w64-crt/lib64/wf3ahvoas.def
+++ b/mingw-w64-crt/lib64/wf3ahvoas.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file F3AHVOAS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY F3AHVOAS.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
-FujitsuOyayubiControl
+; 
+; Exports of file F3AHVOAS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY F3AHVOAS.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
+FujitsuOyayubiControl
diff --git a/mingw-w64-crt/lib64/wfastprox.def b/mingw-w64-crt/lib64/wfastprox.def
index bd20141..ccee8fa 100644
--- a/mingw-w64-crt/lib64/wfastprox.def
+++ b/mingw-w64-crt/lib64/wfastprox.def
@@ -1,3113 +1,3113 @@
-; 
-; Exports of file FastProx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FastProx.dll
-EXPORTS
-; public: __thiscall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> const &)
-??0?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QAE@ABV0@@Z
-; public: __thiscall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(class CWmiObjectTextSrc *)
-??0?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QAE@PAVCWmiObjectTextSrc@@@Z
-; public: __thiscall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> const &)
-??0?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QAE@ABV0@@Z
-; public: __thiscall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(class CWbemRefreshingSvc *)
-??0?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QAE@PAVCWbemRefreshingSvc@@@Z
-; public: __thiscall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> const &)
-??0?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QAE@ABV0@@Z
-; public: __thiscall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(class CWbemRemoteRefresher *)
-??0?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QAE@PAVCWbemRemoteRefresher@@@Z
-; public: __thiscall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> const &)
-??0?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QAE@ABV0@@Z
-; public: __thiscall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(class CWbemRefreshingSvc *)
-??0?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QAE@PAVCWbemRefreshingSvc@@@Z
-; public: __thiscall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> const &)
-??0?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QAE@ABV0@@Z
-; public: __thiscall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(class CWbemEnumMarshaling *)
-??0?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QAE@PAVCWbemEnumMarshaling@@@Z
-; public: __thiscall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> const &)
-??0?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QAE@ABV0@@Z
-; public: __thiscall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(class CWbemFetchRefrMgr *)
-??0?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QAE@PAVCWbemFetchRefrMgr@@@Z
-; public: __thiscall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> const &)
-??0?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QAE@ABV0@@Z
-; public: __thiscall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(class CWmiObjectFactory *)
-??0?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QAE@PAVCWmiObjectFactory@@@Z
-; public: __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> &)
-??0?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE@AAV0@@Z
-; public: __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(class CReferenceManager<class CFastPropertyBagItem> const &)
-??0?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE@ABV?$CReferenceManager@VCFastPropertyBagItem@@@@@Z
-; public: __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> &)
-??0?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE@AAV0@@Z
-; public: __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(class CReferenceManager<class CWmiTextSource> const &)
-??0?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE@ABV?$CReferenceManager@VCWmiTextSource@@@@@Z
-; public: __thiscall CRefedPointerArray<class CFastPropertyBagItem>::CRefedPointerArray<class CFastPropertyBagItem>(class CRefedPointerArray<class CFastPropertyBagItem> &)
-??0?$CRefedPointerArray@VCFastPropertyBagItem@@@@QAE@AAV0@@Z
-; public: __thiscall CRefedPointerArray<class CFastPropertyBagItem>::CRefedPointerArray<class CFastPropertyBagItem>(void)
-??0?$CRefedPointerArray@VCFastPropertyBagItem@@@@QAE@XZ
-; public: __thiscall CRefedPointerArray<class CWmiTextSource>::CRefedPointerArray<class CWmiTextSource>(class CRefedPointerArray<class CWmiTextSource> &)
-??0?$CRefedPointerArray@VCWmiTextSource@@@@QAE@AAV0@@Z
-; public: __thiscall CRefedPointerArray<class CWmiTextSource>::CRefedPointerArray<class CWmiTextSource>(void)
-??0?$CRefedPointerArray@VCWmiTextSource@@@@QAE@XZ
-; public: __thiscall CBasicQualifierSet::CBasicQualifierSet(void)
-??0CBasicQualifierSet@@QAE@XZ
-; public: __thiscall CClassAndMethods::CClassAndMethods(class CClassAndMethods const &)
-??0CClassAndMethods@@QAE@ABV0@@Z
-; public: __thiscall CClassAndMethods::CClassAndMethods(void)
-??0CClassAndMethods@@QAE@XZ
-; public: __thiscall CClassPart::CClassPart(class CClassPart const &)
-??0CClassPart@@QAE@ABV0@@Z
-; public: __thiscall CClassPart::CClassPart(void)
-??0CClassPart@@QAE@XZ
-; public: __thiscall CClassPartContainer::CClassPartContainer(class CClassPartContainer const &)
-??0CClassPartContainer@@QAE@ABV0@@Z
-; public: __thiscall CClassPartContainer::CClassPartContainer(void)
-??0CClassPartContainer@@QAE@XZ
-; public: __thiscall CClassQualifierSet::CClassQualifierSet(class CClassQualifierSet const &)
-??0CClassQualifierSet@@QAE@ABV0@@Z
-; public: __thiscall CClassQualifierSet::CClassQualifierSet(int)
-??0CClassQualifierSet@@QAE@H@Z
-; public: __thiscall CDecorationPart::CDecorationPart(void)
-??0CDecorationPart@@QAE@XZ
-; public: __thiscall CFastPropertyBag::CFastPropertyBag(class CFastPropertyBag &)
-??0CFastPropertyBag@@QAE@AAV0@@Z
-; public: __thiscall CFastPropertyBag::CFastPropertyBag(void)
-??0CFastPropertyBag@@QAE@XZ
-; public: __thiscall CFixedBSTRArray::CFixedBSTRArray(void)
-??0CFixedBSTRArray@@QAE@XZ
-; public: __thiscall CHiPerfLock::CHiPerfLock(void)
-??0CHiPerfLock@@QAE@XZ
-; public: __thiscall CInstancePQSContainer::CInstancePQSContainer(class CInstancePQSContainer const &)
-??0CInstancePQSContainer@@QAE@ABV0@@Z
-; public: __thiscall CInstancePQSContainer::CInstancePQSContainer(void)
-??0CInstancePQSContainer@@QAE@XZ
-; public: __thiscall CInstancePart::CInstancePart(class CInstancePart const &)
-??0CInstancePart@@QAE@ABV0@@Z
-; public: __thiscall CInstancePart::CInstancePart(void)
-??0CInstancePart@@QAE@XZ
-; public: __thiscall CInstancePartContainer::CInstancePartContainer(class CInstancePartContainer const &)
-??0CInstancePartContainer@@QAE@ABV0@@Z
-; public: __thiscall CInstancePartContainer::CInstancePartContainer(void)
-??0CInstancePartContainer@@QAE@XZ
-; public: __thiscall CInstanceQualifierSet::CInstanceQualifierSet(class CInstanceQualifierSet const &)
-??0CInstanceQualifierSet@@QAE@ABV0@@Z
-; public: __thiscall CInstanceQualifierSet::CInstanceQualifierSet(int)
-??0CInstanceQualifierSet@@QAE@H@Z
-; public: __thiscall CInternalString::CInternalString(class CInternalString const &)
-??0CInternalString@@QAE@ABV0@@Z
-; public: __thiscall CInternalString::CInternalString(unsigned short const *)
-??0CInternalString@@QAE@PBG@Z
-; public: __thiscall CInternalString::CInternalString(void)
-??0CInternalString@@QAE@XZ
-; public: __thiscall CLimitationMapping::CLimitationMapping(class CLimitationMapping &)
-??0CLimitationMapping@@QAE@AAV0@@Z
-; public: __thiscall CLimitationMapping::CLimitationMapping(void)
-??0CLimitationMapping@@QAE@XZ
-; public: __thiscall CMethodPart::CMethodPart(class CMethodPart const &)
-??0CMethodPart@@QAE@ABV0@@Z
-; public: __thiscall CMethodPart::CMethodPart(void)
-??0CMethodPart@@QAE@XZ
-; public: __thiscall CMethodPartContainer::CMethodPartContainer(class CMethodPartContainer const &)
-??0CMethodPartContainer@@QAE@ABV0@@Z
-; public: __thiscall CMethodPartContainer::CMethodPartContainer(void)
-??0CMethodPartContainer@@QAE@XZ
-; public: __thiscall CMethodQualifierSet::CMethodQualifierSet(class CMethodQualifierSet const &)
-??0CMethodQualifierSet@@QAE@ABV0@@Z
-; public: __thiscall CMethodQualifierSet::CMethodQualifierSet(void)
-??0CMethodQualifierSet@@QAE@XZ
-; public: __thiscall CMethodQualifierSetContainer::CMethodQualifierSetContainer(class CMethodQualifierSetContainer const &)
-??0CMethodQualifierSetContainer@@QAE@ABV0@@Z
-; public: __thiscall CMethodQualifierSetContainer::CMethodQualifierSetContainer(void)
-??0CMethodQualifierSetContainer@@QAE@XZ
-; public: __thiscall CPropertyBagItemArray::CPropertyBagItemArray(class CPropertyBagItemArray &)
-??0CPropertyBagItemArray@@QAE@AAV0@@Z
-; public: __thiscall CPropertyBagItemArray::CPropertyBagItemArray(void)
-??0CPropertyBagItemArray@@QAE@XZ
-; public: __thiscall CQualifierSet::CQualifierSet(class CQualifierSet const &)
-??0CQualifierSet@@QAE@ABV0@@Z
-; public: __thiscall CQualifierSet::CQualifierSet(int,int)
-??0CQualifierSet@@QAE@HH@Z
-; public: __thiscall CQualifierSetListContainer::CQualifierSetListContainer(class CQualifierSetListContainer const &)
-??0CQualifierSetListContainer@@QAE@ABV0@@Z
-; public: __thiscall CQualifierSetListContainer::CQualifierSetListContainer(void)
-??0CQualifierSetListContainer@@QAE@XZ
-; public: __thiscall CType::CType(unsigned long)
-??0CType@@QAE@K@Z
-; public: __thiscall CType::CType(void)
-??0CType@@QAE@XZ
-; public: __thiscall CWbemCallSecurity::CWbemCallSecurity(class CWbemCallSecurity const &)
-??0CWbemCallSecurity@@QAE@ABV0@@Z
-; public: __thiscall CWbemCallSecurity::CWbemCallSecurity(class CLifeControl *)
-??0CWbemCallSecurity@@QAE@PAVCLifeControl@@@Z
-; public: __thiscall CWbemClass::CWbemClass(class CWbemClass const &)
-??0CWbemClass@@QAE@ABV0@@Z
-; public: __thiscall CWbemClass::CWbemClass(void)
-??0CWbemClass@@QAE@XZ
-; public: __thiscall CWbemClassCache::CWbemClassCache(class CWbemClassCache const &)
-??0CWbemClassCache@@QAE@ABV0@@Z
-; public: __thiscall CWbemClassCache::CWbemClassCache(unsigned long)
-??0CWbemClassCache@@QAE@K@Z
-; protected: __thiscall CWbemDataPacket::CWbemDataPacket(void)
-??0CWbemDataPacket@@IAE@XZ
-; public: __thiscall CWbemDataPacket::CWbemDataPacket(unsigned char *,unsigned long,bool)
-??0CWbemDataPacket@@QAE@PAEK_N@Z
-; public: __thiscall CWbemEnumMarshaling::CWbemEnumMarshaling(class CWbemEnumMarshaling const &)
-??0CWbemEnumMarshaling@@QAE@ABV0@@Z
-; public: __thiscall CWbemEnumMarshaling::CWbemEnumMarshaling(class CLifeControl *,struct IUnknown *)
-??0CWbemEnumMarshaling@@QAE@PAVCLifeControl@@PAUIUnknown@@@Z
-; public: __thiscall CWbemFetchRefrMgr::CWbemFetchRefrMgr(class CWbemFetchRefrMgr const &)
-??0CWbemFetchRefrMgr@@QAE@ABV0@@Z
-; public: __thiscall CWbemFetchRefrMgr::CWbemFetchRefrMgr(class CLifeControl *,struct IUnknown *)
-??0CWbemFetchRefrMgr@@QAE@PAVCLifeControl@@PAUIUnknown@@@Z
-; public: __thiscall CWbemGuidToClassMap::CWbemGuidToClassMap(class CWbemGuidToClassMap const &)
-??0CWbemGuidToClassMap@@QAE@ABV0@@Z
-; public: __thiscall CWbemGuidToClassMap::CWbemGuidToClassMap(void)
-??0CWbemGuidToClassMap@@QAE@XZ
-; public: __thiscall CWbemInstance::CWbemInstance(class CWbemInstance const &)
-??0CWbemInstance@@QAE@ABV0@@Z
-; public: __thiscall CWbemInstance::CWbemInstance(void)
-??0CWbemInstance@@QAE@XZ
-; private: __thiscall CWbemMtgtDeliverEventPacket::CWbemMtgtDeliverEventPacket(void)
-??0CWbemMtgtDeliverEventPacket@@AAE@XZ
-; public: __thiscall CWbemMtgtDeliverEventPacket::CWbemMtgtDeliverEventPacket(unsigned char *,unsigned long,bool)
-??0CWbemMtgtDeliverEventPacket@@QAE@PAEK_N@Z
-; protected: __thiscall CWbemObject::CWbemObject(class CDataTable &,class CFastHeap &,class CDerivationList &)
-??0CWbemObject@@IAE@AAVCDataTable@@AAVCFastHeap@@AAVCDerivationList@@@Z
-; public: __thiscall CWbemObject::CWbemObject(class CWbemObject const &)
-??0CWbemObject@@QAE@ABV0@@Z
-; public: __thiscall CWbemObjectArrayPacket::CWbemObjectArrayPacket(unsigned char *,unsigned long,bool)
-??0CWbemObjectArrayPacket@@QAE@PAEK_N@Z
-; public: __thiscall CWbemRefreshingSvc::CWbemRefreshingSvc(class CWbemRefreshingSvc const &)
-??0CWbemRefreshingSvc@@QAE@ABV0@@Z
-; public: __thiscall CWbemRefreshingSvc::CWbemRefreshingSvc(class CLifeControl *,struct IUnknown *)
-??0CWbemRefreshingSvc@@QAE@PAVCLifeControl@@PAUIUnknown@@@Z
-; private: __thiscall CWbemSmartEnumNextPacket::CWbemSmartEnumNextPacket(void)
-??0CWbemSmartEnumNextPacket@@AAE@XZ
-; public: __thiscall CWbemSmartEnumNextPacket::CWbemSmartEnumNextPacket(unsigned char *,unsigned long,bool)
-??0CWbemSmartEnumNextPacket@@QAE@PAEK_N@Z
-; public: __thiscall CWbemThreadSecurityHandle::CWbemThreadSecurityHandle(class CWbemThreadSecurityHandle const &)
-??0CWbemThreadSecurityHandle@@QAE@ABV0@@Z
-; public: __thiscall CWbemThreadSecurityHandle::CWbemThreadSecurityHandle(class CLifeControl *)
-??0CWbemThreadSecurityHandle@@QAE@PAVCLifeControl@@@Z
-; public: __thiscall CWmiObjectFactory::CWmiObjectFactory(class CWmiObjectFactory const &)
-??0CWmiObjectFactory@@QAE@ABV0@@Z
-; public: __thiscall CWmiObjectFactory::CWmiObjectFactory(class CLifeControl *,struct IUnknown *)
-??0CWmiObjectFactory@@QAE@PAVCLifeControl@@PAUIUnknown@@@Z
-; public: __thiscall CWmiTextSourceArray::CWmiTextSourceArray(class CWmiTextSourceArray &)
-??0CWmiTextSourceArray@@QAE@AAV0@@Z
-; public: __thiscall CWmiTextSourceArray::CWmiTextSourceArray(void)
-??0CWmiTextSourceArray@@QAE@XZ
-; public: __thiscall SHARED_LOCK_DATA::SHARED_LOCK_DATA(void)
-??0SHARED_LOCK_DATA@@QAE@XZ
-; public: __thiscall CWbemRefreshingSvc::XCfgRefrSrvc::XCfgRefrSrvc(class XCfgRefrSrvc::XCfgRefrSrvc const &)
-??0XCfgRefrSrvc@CWbemRefreshingSvc@@QAE@ABV01@@Z
-; public: __thiscall CWbemRefreshingSvc::XCfgRefrSrvc::XCfgRefrSrvc(class XCfgRefrSrvc *)
-??0XCfgRefrSrvc@CWbemRefreshingSvc@@QAE@PAV1@@Z
-; public: __thiscall CWbemEnumMarshaling::XEnumMarshaling::XEnumMarshaling(class XEnumMarshaling::XEnumMarshaling const &)
-??0XEnumMarshaling@CWbemEnumMarshaling@@QAE@ABV01@@Z
-; public: __thiscall CWbemEnumMarshaling::XEnumMarshaling::XEnumMarshaling(class XEnumMarshaling *)
-??0XEnumMarshaling@CWbemEnumMarshaling@@QAE@PAV1@@Z
-; public: __thiscall CWbemFetchRefrMgr::XFetchRefrMgr::XFetchRefrMgr(class XFetchRefrMgr::XFetchRefrMgr const &)
-??0XFetchRefrMgr@CWbemFetchRefrMgr@@QAE@ABV01@@Z
-; public: __thiscall CWbemFetchRefrMgr::XFetchRefrMgr::XFetchRefrMgr(class XFetchRefrMgr *)
-??0XFetchRefrMgr@CWbemFetchRefrMgr@@QAE@PAV1@@Z
-; public: __thiscall CWmiObjectFactory::XObjectFactory::XObjectFactory(class XObjectFactory::XObjectFactory const &)
-??0XObjectFactory@CWmiObjectFactory@@QAE@ABV01@@Z
-; public: __thiscall CWmiObjectFactory::XObjectFactory::XObjectFactory(class XObjectFactory *)
-??0XObjectFactory@CWmiObjectFactory@@QAE@PAV1@@Z
-; public: __thiscall CWmiObjectTextSrc::XObjectTextSrc::XObjectTextSrc(class XObjectTextSrc::XObjectTextSrc const &)
-??0XObjectTextSrc@CWmiObjectTextSrc@@QAE@ABV01@@Z
-; public: __thiscall CWmiObjectTextSrc::XObjectTextSrc::XObjectTextSrc(class XObjectTextSrc *)
-??0XObjectTextSrc@CWmiObjectTextSrc@@QAE@PAV1@@Z
-; public: __thiscall CWbemRefreshingSvc::XWbemRefrSvc::XWbemRefrSvc(class XWbemRefrSvc::XWbemRefrSvc const &)
-??0XWbemRefrSvc@CWbemRefreshingSvc@@QAE@ABV01@@Z
-; public: __thiscall CWbemRefreshingSvc::XWbemRefrSvc::XWbemRefrSvc(class XWbemRefrSvc *)
-??0XWbemRefrSvc@CWbemRefreshingSvc@@QAE@PAV1@@Z
-; public: __thiscall CWbemRemoteRefresher::XWbemRemoteRefr::XWbemRemoteRefr(class XWbemRemoteRefr::XWbemRemoteRefr const &)
-??0XWbemRemoteRefr@CWbemRemoteRefresher@@QAE@ABV01@@Z
-; public: __thiscall CWbemRemoteRefresher::XWbemRemoteRefr::XWbemRemoteRefr(class XWbemRemoteRefr *)
-??0XWbemRemoteRefr@CWbemRemoteRefresher@@QAE@PAV1@@Z
-; public: __thiscall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::~CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(void)
-??1?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QAE@XZ
-; public: __thiscall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::~CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(void)
-??1?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QAE@XZ
-; public: __thiscall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::~CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(void)
-??1?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QAE@XZ
-; public: __thiscall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::~CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(void)
-??1?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QAE@XZ
-; public: __thiscall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::~CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(void)
-??1?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QAE@XZ
-; public: __thiscall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::~CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(void)
-??1?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QAE@XZ
-; public: __thiscall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::~CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(void)
-??1?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QAE@XZ
-; public: __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::~CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(void)
-??1?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE@XZ
-; public: __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::~CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(void)
-??1?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE@XZ
-; public: __thiscall CRefedPointerArray<class CFastPropertyBagItem>::~CRefedPointerArray<class CFastPropertyBagItem>(void)
-??1?$CRefedPointerArray@VCFastPropertyBagItem@@@@QAE@XZ
-; public: __thiscall CRefedPointerArray<class CWmiTextSource>::~CRefedPointerArray<class CWmiTextSource>(void)
-??1?$CRefedPointerArray@VCWmiTextSource@@@@QAE@XZ
-; public: __thiscall CBasicQualifierSet::~CBasicQualifierSet(void)
-??1CBasicQualifierSet@@QAE@XZ
-; public: __thiscall CClassAndMethods::~CClassAndMethods(void)
-??1CClassAndMethods@@QAE@XZ
-; public: __thiscall CClassPart::~CClassPart(void)
-??1CClassPart@@QAE@XZ
-; public: virtual __thiscall CClassQualifierSet::~CClassQualifierSet(void)
-??1CClassQualifierSet@@UAE@XZ
-; public: virtual __thiscall CFastPropertyBag::~CFastPropertyBag(void)
-??1CFastPropertyBag@@UAE@XZ
-; public: __thiscall CFixedBSTRArray::~CFixedBSTRArray(void)
-??1CFixedBSTRArray@@QAE@XZ
-; public: __thiscall CInstancePQSContainer::~CInstancePQSContainer(void)
-??1CInstancePQSContainer@@QAE@XZ
-; public: __thiscall CInstancePart::~CInstancePart(void)
-??1CInstancePart@@QAE@XZ
-; public: virtual __thiscall CInstanceQualifierSet::~CInstanceQualifierSet(void)
-??1CInstanceQualifierSet@@UAE@XZ
-; public: __thiscall CInternalString::~CInternalString(void)
-??1CInternalString@@QAE@XZ
-; public: __thiscall CLimitationMapping::~CLimitationMapping(void)
-??1CLimitationMapping@@QAE@XZ
-; public: virtual __thiscall CMethodQualifierSet::~CMethodQualifierSet(void)
-??1CMethodQualifierSet@@UAE@XZ
-; public: __thiscall CMethodQualifierSetContainer::~CMethodQualifierSetContainer(void)
-??1CMethodQualifierSetContainer@@QAE@XZ
-; public: __thiscall CPropertyBagItemArray::~CPropertyBagItemArray(void)
-??1CPropertyBagItemArray@@QAE@XZ
-; public: virtual __thiscall CQualifierSet::~CQualifierSet(void)
-??1CQualifierSet@@UAE@XZ
-; public: __thiscall CWbemCallSecurity::~CWbemCallSecurity(void)
-??1CWbemCallSecurity@@QAE@XZ
-; public: virtual __thiscall CWbemClass::~CWbemClass(void)
-??1CWbemClass@@UAE@XZ
-; public: __thiscall CWbemClassCache::~CWbemClassCache(void)
-??1CWbemClassCache@@QAE@XZ
-; public: __thiscall CWbemDataPacket::~CWbemDataPacket(void)
-??1CWbemDataPacket@@QAE@XZ
-; public: virtual __thiscall CWbemEnumMarshaling::~CWbemEnumMarshaling(void)
-??1CWbemEnumMarshaling@@UAE@XZ
-; public: virtual __thiscall CWbemFetchRefrMgr::~CWbemFetchRefrMgr(void)
-??1CWbemFetchRefrMgr@@UAE@XZ
-; public: __thiscall CWbemGuidToClassMap::~CWbemGuidToClassMap(void)
-??1CWbemGuidToClassMap@@QAE@XZ
-; public: virtual __thiscall CWbemInstance::~CWbemInstance(void)
-??1CWbemInstance@@UAE@XZ
-; public: __thiscall CWbemMtgtDeliverEventPacket::~CWbemMtgtDeliverEventPacket(void)
-??1CWbemMtgtDeliverEventPacket@@QAE@XZ
-; public: virtual __thiscall CWbemObject::~CWbemObject(void)
-??1CWbemObject@@UAE@XZ
-; public: __thiscall CWbemObjectArrayPacket::~CWbemObjectArrayPacket(void)
-??1CWbemObjectArrayPacket@@QAE@XZ
-; public: virtual __thiscall CWbemRefreshingSvc::~CWbemRefreshingSvc(void)
-??1CWbemRefreshingSvc@@UAE@XZ
-; public: __thiscall CWbemSmartEnumNextPacket::~CWbemSmartEnumNextPacket(void)
-??1CWbemSmartEnumNextPacket@@QAE@XZ
-; public: __thiscall CWbemThreadSecurityHandle::~CWbemThreadSecurityHandle(void)
-??1CWbemThreadSecurityHandle@@QAE@XZ
-; public: virtual __thiscall CWmiObjectFactory::~CWmiObjectFactory(void)
-??1CWmiObjectFactory@@UAE@XZ
-; public: __thiscall CWmiTextSourceArray::~CWmiTextSourceArray(void)
-??1CWmiTextSourceArray@@QAE@XZ
-; public: __thiscall CWbemRefreshingSvc::XCfgRefrSrvc::~XCfgRefrSrvc(void)
-??1XCfgRefrSrvc@CWbemRefreshingSvc@@QAE@XZ
-; public: __thiscall CWbemEnumMarshaling::XEnumMarshaling::~XEnumMarshaling(void)
-??1XEnumMarshaling@CWbemEnumMarshaling@@QAE@XZ
-; public: __thiscall CWbemFetchRefrMgr::XFetchRefrMgr::~XFetchRefrMgr(void)
-??1XFetchRefrMgr@CWbemFetchRefrMgr@@QAE@XZ
-; public: __thiscall CWmiObjectFactory::XObjectFactory::~XObjectFactory(void)
-??1XObjectFactory@CWmiObjectFactory@@QAE@XZ
-; public: __thiscall CWmiObjectTextSrc::XObjectTextSrc::~XObjectTextSrc(void)
-??1XObjectTextSrc@CWmiObjectTextSrc@@QAE@XZ
-; public: __thiscall CWbemRefreshingSvc::XWbemRefrSvc::~XWbemRefrSvc(void)
-??1XWbemRefrSvc@CWbemRefreshingSvc@@QAE@XZ
-; public: __thiscall CWbemRemoteRefresher::XWbemRemoteRefr::~XWbemRemoteRefr(void)
-??1XWbemRemoteRefr@CWbemRemoteRefresher@@QAE@XZ
-; public: class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> & __thiscall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::operator=(class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> const &)
-??4?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QAEAAV0@ABV0@@Z
-; public: class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> & __thiscall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::operator=(class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> const &)
-??4?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QAEAAV0@ABV0@@Z
-; public: class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> & __thiscall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::operator=(class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> const &)
-??4?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QAEAAV0@ABV0@@Z
-; public: class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> & __thiscall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::operator=(class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> const &)
-??4?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QAEAAV0@ABV0@@Z
-; public: class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> & __thiscall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::operator=(class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> const &)
-??4?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QAEAAV0@ABV0@@Z
-; public: class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> & __thiscall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::operator=(class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> const &)
-??4?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QAEAAV0@ABV0@@Z
-; public: class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> & __thiscall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::operator=(class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> const &)
-??4?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QAEAAV0@ABV0@@Z
-; public: class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> & __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator=(class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> &)
-??4?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEAAV0@AAV0@@Z
-; public: class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> & __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator=(class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> &)
-??4?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEAAV0@AAV0@@Z
-; public: class CRefedPointerArray<class CFastPropertyBagItem> & __thiscall CRefedPointerArray<class CFastPropertyBagItem>::operator=(class CRefedPointerArray<class CFastPropertyBagItem> &)
-??4?$CRefedPointerArray@VCFastPropertyBagItem@@@@QAEAAV0@AAV0@@Z
-; public: class CRefedPointerArray<class CWmiTextSource> & __thiscall CRefedPointerArray<class CWmiTextSource>::operator=(class CRefedPointerArray<class CWmiTextSource> &)
-??4?$CRefedPointerArray@VCWmiTextSource@@@@QAEAAV0@AAV0@@Z
-; public: class CBasicQualifierSet & __thiscall CBasicQualifierSet::operator=(class CBasicQualifierSet const &)
-??4CBasicQualifierSet@@QAEAAV0@ABV0@@Z
-; public: class CClassAndMethods & __thiscall CClassAndMethods::operator=(class CClassAndMethods const &)
-??4CClassAndMethods@@QAEAAV0@ABV0@@Z
-; public: class CClassPart & __thiscall CClassPart::operator=(class CClassPart const &)
-??4CClassPart@@QAEAAV0@ABV0@@Z
-; public: class CClassPartContainer & __thiscall CClassPartContainer::operator=(class CClassPartContainer const &)
-??4CClassPartContainer@@QAEAAV0@ABV0@@Z
-; public: class CClassQualifierSet & __thiscall CClassQualifierSet::operator=(class CClassQualifierSet const &)
-??4CClassQualifierSet@@QAEAAV0@ABV0@@Z
-; public: class CCompressedString & __thiscall CCompressedString::operator=(class CCompressedString const &)
-??4CCompressedString@@QAEAAV0@ABV0@@Z
-; public: class CCompressedStringList & __thiscall CCompressedStringList::operator=(class CCompressedStringList const &)
-??4CCompressedStringList@@QAEAAV0@ABV0@@Z
-; public: class CDataTable & __thiscall CDataTable::operator=(class CDataTable const &)
-??4CDataTable@@QAEAAV0@ABV0@@Z
-; public: class CDecorationPart & __thiscall CDecorationPart::operator=(class CDecorationPart const &)
-??4CDecorationPart@@QAEAAV0@ABV0@@Z
-; public: class CDerivationList & __thiscall CDerivationList::operator=(class CDerivationList const &)
-??4CDerivationList@@QAEAAV0@ABV0@@Z
-; public: class CEmbeddedObject & __thiscall CEmbeddedObject::operator=(class CEmbeddedObject const &)
-??4CEmbeddedObject@@QAEAAV0@ABV0@@Z
-; public: class CFastHeap & __thiscall CFastHeap::operator=(class CFastHeap const &)
-??4CFastHeap@@QAEAAV0@ABV0@@Z
-; public: class CFastPropertyBag & __thiscall CFastPropertyBag::operator=(class CFastPropertyBag &)
-??4CFastPropertyBag@@QAEAAV0@AAV0@@Z
-; public: class CFixedBSTRArray & __thiscall CFixedBSTRArray::operator=(class CFixedBSTRArray const &)
-??4CFixedBSTRArray@@QAEAAV0@ABV0@@Z
-; public: class CHiPerfLock & __thiscall CHiPerfLock::operator=(class CHiPerfLock const &)
-??4CHiPerfLock@@QAEAAV0@ABV0@@Z
-; public: class CInstancePQSContainer & __thiscall CInstancePQSContainer::operator=(class CInstancePQSContainer const &)
-??4CInstancePQSContainer@@QAEAAV0@ABV0@@Z
-; public: class CInstancePart & __thiscall CInstancePart::operator=(class CInstancePart const &)
-??4CInstancePart@@QAEAAV0@ABV0@@Z
-; public: class CInstancePartContainer & __thiscall CInstancePartContainer::operator=(class CInstancePartContainer const &)
-??4CInstancePartContainer@@QAEAAV0@ABV0@@Z
-; public: class CInstanceQualifierSet & __thiscall CInstanceQualifierSet::operator=(class CInstanceQualifierSet const &)
-??4CInstanceQualifierSet@@QAEAAV0@ABV0@@Z
-; public: class CInternalString & __thiscall CInternalString::operator=(class CInternalString const &)
-??4CInternalString@@QAEAAV0@ABV0@@Z
-; public: int __thiscall CInternalString::operator=(class CCompressedString *)
-??4CInternalString@@QAEHPAVCCompressedString@@@Z
-; public: int __thiscall CInternalString::operator=(unsigned short const *)
-??4CInternalString@@QAEHPBG@Z
-; public: class CKnownStringTable & __thiscall CKnownStringTable::operator=(class CKnownStringTable const &)
-??4CKnownStringTable@@QAEAAV0@ABV0@@Z
-; public: class CLimitationMapping & __thiscall CLimitationMapping::operator=(class CLimitationMapping &)
-??4CLimitationMapping@@QAEAAV0@AAV0@@Z
-; public: struct CMethodDescription & __thiscall CMethodDescription::operator=(struct CMethodDescription const &)
-??4CMethodDescription@@QAEAAU0@ABU0@@Z
-; public: class CMethodPart & __thiscall CMethodPart::operator=(class CMethodPart const &)
-??4CMethodPart@@QAEAAV0@ABV0@@Z
-; public: class CMethodPartContainer & __thiscall CMethodPartContainer::operator=(class CMethodPartContainer const &)
-??4CMethodPartContainer@@QAEAAV0@ABV0@@Z
-; public: class CMethodQualifierSet & __thiscall CMethodQualifierSet::operator=(class CMethodQualifierSet const &)
-??4CMethodQualifierSet@@QAEAAV0@ABV0@@Z
-; public: class CMethodQualifierSetContainer & __thiscall CMethodQualifierSetContainer::operator=(class CMethodQualifierSetContainer const &)
-??4CMethodQualifierSetContainer@@QAEAAV0@ABV0@@Z
-; public: class CPropertyBagItemArray & __thiscall CPropertyBagItemArray::operator=(class CPropertyBagItemArray &)
-??4CPropertyBagItemArray@@QAEAAV0@AAV0@@Z
-; public: class CPropertyLookupTable & __thiscall CPropertyLookupTable::operator=(class CPropertyLookupTable const &)
-??4CPropertyLookupTable@@QAEAAV0@ABV0@@Z
-; public: class CQualifierSet & __thiscall CQualifierSet::operator=(class CQualifierSet const &)
-??4CQualifierSet@@QAEAAV0@ABV0@@Z
-; public: class CQualifierSetList & __thiscall CQualifierSetList::operator=(class CQualifierSetList const &)
-??4CQualifierSetList@@QAEAAV0@ABV0@@Z
-; public: class CQualifierSetListContainer & __thiscall CQualifierSetListContainer::operator=(class CQualifierSetListContainer const &)
-??4CQualifierSetListContainer@@QAEAAV0@ABV0@@Z
-; public: class CReservedWordTable & __thiscall CReservedWordTable::operator=(class CReservedWordTable const &)
-??4CReservedWordTable@@QAEAAV0@ABV0@@Z
-; public: class CSharedLock & __thiscall CSharedLock::operator=(class CSharedLock const &)
-??4CSharedLock@@QAEAAV0@ABV0@@Z
-; public: class CSystemProperties & __thiscall CSystemProperties::operator=(class CSystemProperties const &)
-??4CSystemProperties@@QAEAAV0@ABV0@@Z
-; public: class CType & __thiscall CType::operator=(class CType const &)
-??4CType@@QAEAAV0@ABV0@@Z
-; public: class CUntypedArray & __thiscall CUntypedArray::operator=(class CUntypedArray const &)
-??4CUntypedArray@@QAEAAV0@ABV0@@Z
-; public: class CWbemCallSecurity & __thiscall CWbemCallSecurity::operator=(class CWbemCallSecurity const &)
-??4CWbemCallSecurity@@QAEAAV0@ABV0@@Z
-; public: class CWbemClassCache & __thiscall CWbemClassCache::operator=(class CWbemClassCache const &)
-??4CWbemClassCache@@QAEAAV0@ABV0@@Z
-; public: class CWbemDataPacket & __thiscall CWbemDataPacket::operator=(class CWbemDataPacket const &)
-??4CWbemDataPacket@@QAEAAV0@ABV0@@Z
-; public: class CWbemEnumMarshaling & __thiscall CWbemEnumMarshaling::operator=(class CWbemEnumMarshaling const &)
-??4CWbemEnumMarshaling@@QAEAAV0@ABV0@@Z
-; public: class CWbemFetchRefrMgr & __thiscall CWbemFetchRefrMgr::operator=(class CWbemFetchRefrMgr const &)
-??4CWbemFetchRefrMgr@@QAEAAV0@ABV0@@Z
-; public: class CWbemGuidToClassMap & __thiscall CWbemGuidToClassMap::operator=(class CWbemGuidToClassMap const &)
-??4CWbemGuidToClassMap@@QAEAAV0@ABV0@@Z
-; public: class CWbemMtgtDeliverEventPacket & __thiscall CWbemMtgtDeliverEventPacket::operator=(class CWbemMtgtDeliverEventPacket const &)
-??4CWbemMtgtDeliverEventPacket@@QAEAAV0@ABV0@@Z
-; public: class CWbemObjectArrayPacket & __thiscall CWbemObjectArrayPacket::operator=(class CWbemObjectArrayPacket const &)
-??4CWbemObjectArrayPacket@@QAEAAV0@ABV0@@Z
-; public: class CWbemRefreshingSvc & __thiscall CWbemRefreshingSvc::operator=(class CWbemRefreshingSvc const &)
-??4CWbemRefreshingSvc@@QAEAAV0@ABV0@@Z
-; public: class CWbemSmartEnumNextPacket & __thiscall CWbemSmartEnumNextPacket::operator=(class CWbemSmartEnumNextPacket const &)
-??4CWbemSmartEnumNextPacket@@QAEAAV0@ABV0@@Z
-; public: class CWbemThreadSecurityHandle & __thiscall CWbemThreadSecurityHandle::operator=(class CWbemThreadSecurityHandle const &)
-??4CWbemThreadSecurityHandle@@QAEAAV0@ABV0@@Z
-; public: class CWmiObjectFactory & __thiscall CWmiObjectFactory::operator=(class CWmiObjectFactory const &)
-??4CWmiObjectFactory@@QAEAAV0@ABV0@@Z
-; public: class CWmiTextSourceArray & __thiscall CWmiTextSourceArray::operator=(class CWmiTextSourceArray &)
-??4CWmiTextSourceArray@@QAEAAV0@AAV0@@Z
-; public: struct SHARED_LOCK_DATA & __thiscall SHARED_LOCK_DATA::operator=(struct SHARED_LOCK_DATA const &)
-??4SHARED_LOCK_DATA@@QAEAAU0@ABU0@@Z
-; public: struct SHMEM_HANDLE & __thiscall SHMEM_HANDLE::operator=(struct SHMEM_HANDLE const &)
-??4SHMEM_HANDLE@@QAEAAU0@ABU0@@Z
-; public: class CWbemRefreshingSvc::XCfgRefrSrvc & __thiscall CWbemRefreshingSvc::XCfgRefrSrvc::operator=(class CWbemRefreshingSvc::XCfgRefrSrvc const &)
-??4XCfgRefrSrvc@CWbemRefreshingSvc@@QAEAAV01@ABV01@@Z
-; public: class CWbemEnumMarshaling::XEnumMarshaling & __thiscall CWbemEnumMarshaling::XEnumMarshaling::operator=(class CWbemEnumMarshaling::XEnumMarshaling const &)
-??4XEnumMarshaling@CWbemEnumMarshaling@@QAEAAV01@ABV01@@Z
-; public: class CWbemFetchRefrMgr::XFetchRefrMgr & __thiscall CWbemFetchRefrMgr::XFetchRefrMgr::operator=(class CWbemFetchRefrMgr::XFetchRefrMgr const &)
-??4XFetchRefrMgr@CWbemFetchRefrMgr@@QAEAAV01@ABV01@@Z
-; public: class CWmiObjectFactory::XObjectFactory & __thiscall CWmiObjectFactory::XObjectFactory::operator=(class CWmiObjectFactory::XObjectFactory const &)
-??4XObjectFactory@CWmiObjectFactory@@QAEAAV01@ABV01@@Z
-; public: class CWmiObjectTextSrc::XObjectTextSrc & __thiscall CWmiObjectTextSrc::XObjectTextSrc::operator=(class CWmiObjectTextSrc::XObjectTextSrc const &)
-??4XObjectTextSrc@CWmiObjectTextSrc@@QAEAAV01@ABV01@@Z
-; public: class CWbemRefreshingSvc::XWbemRefrSvc & __thiscall CWbemRefreshingSvc::XWbemRefrSvc::operator=(class CWbemRefreshingSvc::XWbemRefrSvc const &)
-??4XWbemRefrSvc@CWbemRefreshingSvc@@QAEAAV01@ABV01@@Z
-; public: class CWbemRemoteRefresher::XWbemRemoteRefr & __thiscall CWbemRemoteRefresher::XWbemRemoteRefr::operator=(class CWbemRemoteRefresher::XWbemRemoteRefr const &)
-??4XWbemRemoteRefr@CWbemRemoteRefresher@@QAEAAV01@ABV01@@Z
-; public: bool __thiscall CInternalString::operator==(class CInternalString const &)const 
-??8CInternalString@@QBE_NABV0@@Z
-; public: bool __thiscall CInternalString::operator==(unsigned short const *)const 
-??8CInternalString@@QBE_NPBG@Z
-; public: int __thiscall CQualifierSet::operator==(class CQualifierSet &)
-??8CQualifierSet@@QAEHAAV0@@Z
-; public: bool __thiscall CInternalString::operator!=(class CInternalString const &)const 
-??9CInternalString@@QBE_NABV0@@Z
-; public: class CFastPropertyBagItem * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator[](int)
-??A?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEPAVCFastPropertyBagItem@@H@Z
-; public: class CFastPropertyBagItem const * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator[](int)const 
-??A?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QBEPBVCFastPropertyBagItem@@H@Z
-; public: class CWmiTextSource * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator[](int)
-??A?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEPAVCWmiTextSource@@H@Z
-; public: class CWmiTextSource const * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator[](int)const 
-??A?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QBEPBVCWmiTextSource@@H@Z
-; public: unsigned short * & __thiscall CFixedBSTRArray::operator[](int)
-??ACFixedBSTRArray@@QAEAAPAGH@Z
-; private: __thiscall CInternalString::operator class CCompressedString *(void)
-??BCInternalString@@AAEPAVCCompressedString@@XZ
-; private: __thiscall CInternalString::operator class CCompressedString *(void)const 
-??BCInternalString@@ABEPAVCCompressedString@@XZ
-; public: __thiscall CInternalString::operator class WString(void)const 
-??BCInternalString@@QBE?AVWString@@XZ
-; public: __thiscall CType::operator unsigned long(void)
-??BCType@@QAEKXZ
-; public: bool __thiscall CInternalString::operator<(class CInternalString const &)const 
-??MCInternalString@@QBE_NABV0@@Z
-; public: bool __thiscall CInternalString::operator>(class CInternalString const &)const 
-??OCInternalString@@QBE_NABV0@@Z
-; const  CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::`vftable'
-??_7?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@6B@
-; const  CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::`vftable'
-??_7?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@6B@
-; const  CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::`vftable'
-??_7?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@6B@
-; const  CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::`vftable'
-??_7?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@6B@
-; const  CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::`vftable'
-??_7?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@6B@
-; const  CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::`vftable'
-??_7?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@6B@
-; const  CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::`vftable'
-??_7?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@6B@
-; const  CClassAndMethods::`vftable'{for `CClassPartContainer'}
-??_7CClassAndMethods@@6BCClassPartContainer@@@
-; const  CClassAndMethods::`vftable'{for `CMethodPartContainer'}
-??_7CClassAndMethods@@6BCMethodPartContainer@@@
-; const  CClassPart::`vftable'{for `CDataTableContainer'}
-??_7CClassPart@@6BCDataTableContainer@@@
-; const  CClassPart::`vftable'{for `CHeapContainer'}
-??_7CClassPart@@6BCHeapContainer@@@
-; const  CClassPart::`vftable'{for `CPropertyTableContainer'}
-??_7CClassPart@@6BCPropertyTableContainer@@@
-; const  CClassPart::`vftable'{for `CQualifierSetContainer'}
-??_7CClassPart@@6BCQualifierSetContainer@@@
-; const  CClassPartContainer::`vftable'
-??_7CClassPartContainer@@6B@
-; const  CClassQualifierSet::`vftable'
-??_7CClassQualifierSet@@6B@
-; const  CFastPropertyBag::`vftable'
-??_7CFastPropertyBag@@6B@
-; const  CInstancePQSContainer::`vftable'
-??_7CInstancePQSContainer@@6B@
-; const  CInstancePart::`vftable'{for `CDataTableContainer'}
-??_7CInstancePart@@6BCDataTableContainer@@@
-; const  CInstancePart::`vftable'{for `CHeapContainer'}
-??_7CInstancePart@@6BCHeapContainer@@@
-; const  CInstancePart::`vftable'{for `CQualifierSetContainer'}
-??_7CInstancePart@@6BCQualifierSetContainer@@@
-; const  CInstancePart::`vftable'{for `CQualifierSetListContainer'}
-??_7CInstancePart@@6BCQualifierSetListContainer@@@
-; const  CInstancePartContainer::`vftable'
-??_7CInstancePartContainer@@6B@
-; const  CInstanceQualifierSet::`vftable'
-??_7CInstanceQualifierSet@@6B@
-; const  CMethodPart::`vftable'
-??_7CMethodPart@@6B@
-; const  CMethodPartContainer::`vftable'
-??_7CMethodPartContainer@@6B@
-; const  CMethodQualifierSet::`vftable'
-??_7CMethodQualifierSet@@6B@
-; const  CMethodQualifierSetContainer::`vftable'
-??_7CMethodQualifierSetContainer@@6B@
-; const  CQualifierSet::`vftable'
-??_7CQualifierSet@@6B@
-; const  CQualifierSetListContainer::`vftable'
-??_7CQualifierSetListContainer@@6B@
-; const  CWbemCallSecurity::`vftable'{for `IServerSecurity'}
-??_7CWbemCallSecurity@@6BIServerSecurity@@@
-; const  CWbemCallSecurity::`vftable'{for `_IWmiCallSec'}
-??_7CWbemCallSecurity@@6B_IWmiCallSec@@@
-; const  CWbemClass::`vftable'{for `IErrorInfo'}
-??_7CWbemClass@@6BIErrorInfo@@@
-; const  CWbemClass::`vftable'{for `IMarshal'}
-??_7CWbemClass@@6BIMarshal@@@
-; const  CWbemClass::`vftable'{for `IWbemConstructClassObject'}
-??_7CWbemClass@@6BIWbemConstructClassObject@@@
-; const  CWbemClass::`vftable'{for `IWbemPropertySource'}
-??_7CWbemClass@@6BIWbemPropertySource@@@
-; const  CWbemClass::`vftable'{for `_IWmiObject'}
-??_7CWbemClass@@6B_IWmiObject@@@
-; const  CWbemEnumMarshaling::`vftable'
-??_7CWbemEnumMarshaling@@6B@
-; const  CWbemFetchRefrMgr::`vftable'
-??_7CWbemFetchRefrMgr@@6B@
-; const  CWbemInstance::`vftable'{for `CClassPartContainer'}
-??_7CWbemInstance@@6BCClassPartContainer@@@
-; const  CWbemInstance::`vftable'{for `CInstancePartContainer'}
-??_7CWbemInstance@@6BCInstancePartContainer@@@
-; const  CWbemInstance::`vftable'{for `IErrorInfo'}
-??_7CWbemInstance@@6BIErrorInfo@@@
-; const  CWbemInstance::`vftable'{for `IMarshal'}
-??_7CWbemInstance@@6BIMarshal@@@
-; const  CWbemInstance::`vftable'{for `IWbemConstructClassObject'}
-??_7CWbemInstance@@6BIWbemConstructClassObject@@@
-; const  CWbemInstance::`vftable'{for `IWbemPropertySource'}
-??_7CWbemInstance@@6BIWbemPropertySource@@@
-; const  CWbemInstance::`vftable'{for `_IWmiObject'}
-??_7CWbemInstance@@6B_IWmiObject@@@
-; const  CWbemObject::`vftable'{for `IErrorInfo'}
-??_7CWbemObject@@6BIErrorInfo@@@
-; const  CWbemObject::`vftable'{for `IMarshal'}
-??_7CWbemObject@@6BIMarshal@@@
-; const  CWbemObject::`vftable'{for `IWbemConstructClassObject'}
-??_7CWbemObject@@6BIWbemConstructClassObject@@@
-; const  CWbemObject::`vftable'{for `IWbemPropertySource'}
-??_7CWbemObject@@6BIWbemPropertySource@@@
-; const  CWbemObject::`vftable'{for `_IWmiObject'}
-??_7CWbemObject@@6B_IWmiObject@@@
-; const  CWbemRefreshingSvc::`vftable'
-??_7CWbemRefreshingSvc@@6B@
-; const  CWbemThreadSecurityHandle::`vftable'
-??_7CWbemThreadSecurityHandle@@6B@
-; const  CWmiObjectFactory::`vftable'
-??_7CWmiObjectFactory@@6B@
-; const  CWbemRefreshingSvc::XCfgRefrSrvc::`vftable'
-??_7XCfgRefrSrvc@CWbemRefreshingSvc@@6B@
-; const  CWbemEnumMarshaling::XEnumMarshaling::`vftable'
-??_7XEnumMarshaling@CWbemEnumMarshaling@@6B@
-; const  CWbemFetchRefrMgr::XFetchRefrMgr::`vftable'
-??_7XFetchRefrMgr@CWbemFetchRefrMgr@@6B@
-; const  CWmiObjectFactory::XObjectFactory::`vftable'
-??_7XObjectFactory@CWmiObjectFactory@@6B@
-; const  CWmiObjectTextSrc::XObjectTextSrc::`vftable'
-??_7XObjectTextSrc@CWmiObjectTextSrc@@6B@
-; const  CWbemRefreshingSvc::XWbemRefrSvc::`vftable'
-??_7XWbemRefrSvc@CWbemRefreshingSvc@@6B@
-; const  CWbemRemoteRefresher::XWbemRemoteRefr::`vftable'
-??_7XWbemRemoteRefr@CWbemRemoteRefresher@@6B@
-; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::`default constructor closure'(void)
-??_F?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXXZ
-; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::`default constructor closure'(void)
-??_F?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXXZ
-; public: void __thiscall CClassQualifierSet::`default constructor closure'(void)
-??_FCClassQualifierSet@@QAEXXZ
-; public: void __thiscall CInstanceQualifierSet::`default constructor closure'(void)
-??_FCInstanceQualifierSet@@QAEXXZ
-; public: void __thiscall CWbemClassCache::`default constructor closure'(void)
-??_FCWbemClassCache@@QAEXXZ
-; protected: unsigned long __thiscall CFastHeap::AbsoluteToHeap(unsigned char *)
-?AbsoluteToHeap@CFastHeap@@IAEKPAE@Z
-; public: void __thiscall CInternalString::AcquireCompressedString(class CCompressedString *)
-?AcquireCompressedString@CInternalString@@QAEXPAVCCompressedString@@@Z
-; public: int __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Add(class CFastPropertyBagItem *)
-?Add@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEHPAVCFastPropertyBagItem@@@Z
-; public: int __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Add(class CWmiTextSource *)
-?Add@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEHPAVCWmiTextSource@@@Z
-; public: long __thiscall CFastPropertyBag::Add(unsigned short const *,long,unsigned long,unsigned long,void *)
-?Add@CFastPropertyBag@@QAEJPBGJKKPAX@Z
-; protected: virtual long __thiscall CWbemRefreshingSvc::AddEnumToRefresher(struct _WBEM_REFRESHER_ID *,unsigned short const *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
-?AddEnumToRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@PBGJPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
-; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::AddEnumToRefresher(struct _WBEM_REFRESHER_ID *,unsigned short const *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
-?AddEnumToRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@PBGJPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
-; protected: long __thiscall CWbemRefreshingSvc::AddEnumToRefresher_(int,struct _WBEM_REFRESHER_ID *,class CWbemObject *,unsigned short const *,long,struct IWbemContext *,struct _WBEM_REFRESH_INFO *)
-?AddEnumToRefresher_@CWbemRefreshingSvc@@IAEJHPAU_WBEM_REFRESHER_ID@@PAVCWbemObject@@PBGJPAUIWbemContext@@PAU_WBEM_REFRESH_INFO@@@Z
-; public: long __thiscall CWbemGuidToClassMap::AddMap(class CGUID &,class CWbemClassToIdMap * *)
-?AddMap@CWbemGuidToClassMap@@QAEJAAVCGUID@@PAPAVCWbemClassToIdMap@@@Z
-; public: long __thiscall CWbemClassCache::AddObject(struct _GUID &,struct IWbemClassObject *)
-?AddObject@CWbemClassCache@@QAEJAAU_GUID@@PAUIWbemClassObject@@@Z
-; protected: virtual long __thiscall CWbemRefreshingSvc::AddObjectToRefresher(struct _WBEM_REFRESHER_ID *,unsigned short const *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
-?AddObjectToRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@PBGJPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
-; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::AddObjectToRefresher(struct _WBEM_REFRESHER_ID *,unsigned short const *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
-?AddObjectToRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@PBGJPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
-; protected: virtual long __thiscall CWbemRefreshingSvc::AddObjectToRefresherByTemplate(struct _WBEM_REFRESHER_ID *,struct IWbemClassObject *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
-?AddObjectToRefresherByTemplate@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@PAUIWbemClassObject@@JPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
-; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::AddObjectToRefresherByTemplate(struct _WBEM_REFRESHER_ID *,struct IWbemClassObject *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
-?AddObjectToRefresherByTemplate@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@PAUIWbemClassObject@@JPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
-; protected: long __thiscall CWbemRefreshingSvc::AddObjectToRefresher_(int,struct _WBEM_REFRESHER_ID *,class CWbemObject *,long,struct IWbemContext *,struct _WBEM_REFRESH_INFO *)
-?AddObjectToRefresher_@CWbemRefreshingSvc@@IAEJHPAU_WBEM_REFRESHER_ID@@PAVCWbemObject@@JPAUIWbemContext@@PAU_WBEM_REFRESH_INFO@@@Z
-; public: long __thiscall CWbemClass::AddPropertyText(class WString &,struct CPropertyLookup *,class CPropertyInformation *,long)
-?AddPropertyText@CWbemClass@@QAEJAAVWString@@PAUCPropertyLookup@@PAVCPropertyInformation@@J@Z
-; public: static void __stdcall CType::AddPropertyType(class WString &,unsigned short const *)
-?AddPropertyType@CType@@SGXAAVWString@@PBG@Z
-; protected: long __thiscall CQualifierSet::AddQualifierConflicts(class CVarVector &)
-?AddQualifierConflicts@CQualifierSet@@IAEJAAVCVarVector@@@Z
-; public: virtual unsigned long __stdcall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::AddRef(void)
-?AddRef@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::AddRef(void)
-?AddRef@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::AddRef(void)
-?AddRef@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::AddRef(void)
-?AddRef@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::AddRef(void)
-?AddRef@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::AddRef(void)
-?AddRef@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::AddRef(void)
-?AddRef@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CQualifierSet::AddRef(void)
-?AddRef@CQualifierSet@@UAGKXZ
-; public: virtual unsigned long __stdcall CWbemCallSecurity::AddRef(void)
-?AddRef@CWbemCallSecurity@@UAGKXZ
-; public: virtual unsigned long __stdcall CWbemObject::AddRef(void)
-?AddRef@CWbemObject@@UAGKXZ
-; public: virtual unsigned long __stdcall CWbemThreadSecurityHandle::AddRef(void)
-?AddRef@CWbemThreadSecurityHandle@@UAGKXZ
-; protected: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::AddRefElement(class CFastPropertyBagItem *)
-?AddRefElement@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@IAEXPAVCFastPropertyBagItem@@@Z
-; protected: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::AddRefElement(class CWmiTextSource *)
-?AddRefElement@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@IAEXPAVCWmiTextSource@@@Z
-; public: void __thiscall CCompressedStringList::AddString(unsigned short const *)
-?AddString@CCompressedStringList@@QAEXPBG@Z
-; public: static long __stdcall CMethodDescription::AddText(struct CMethodDescription *,class WString &,class CFastHeap *,long)
-?AddText@CMethodDescription@@SGJPAU1@AAVWString@@PAVCFastHeap@@J@Z
-; public: long __thiscall CMethodPart::AddText(class WString &,long)
-?AddText@CMethodPart@@QAEJAAVWString@@J@Z
-; public: int __thiscall CFastHeap::Allocate(unsigned long,unsigned long &)
-?Allocate@CFastHeap@@QAEHKAAK@Z
-; public: int __thiscall CFastHeap::AllocateString(char const *,unsigned long &)
-?AllocateString@CFastHeap@@QAEHPBDAAK@Z
-; public: int __thiscall CFastHeap::AllocateString(unsigned short const *,unsigned long &)
-?AllocateString@CFastHeap@@QAEHPBGAAK@Z
-; public: virtual long __stdcall CWbemObject::AppendArrayPropRangeByHandle(long,long,unsigned long,unsigned long,void *)
-?AppendArrayPropRangeByHandle@CWbemObject@@UAGJJJKKPAX@Z
-; public: long __thiscall CWbemObject::AppendQualifierArrayRange(unsigned short const *,unsigned short const *,int,long,long,unsigned long,unsigned long,void *)
-?AppendQualifierArrayRange@CWbemObject@@QAEJPBG0HJJKKPAX@Z
-; public: static long __stdcall CUntypedArray::AppendRange(class CPtrSource *,unsigned long,unsigned long,class CFastHeap *,unsigned long,unsigned long,void *)
-?AppendRange@CUntypedArray@@SGJPAVCPtrSource@@KKPAVCFastHeap@@KKPAX@Z
-; public: static int __stdcall CWbemObject::AreEqual(class CWbemObject *,class CWbemObject *,long)
-?AreEqual@CWbemObject@@SGHPAV1@0J@Z
-; public: int __thiscall CDecorationPart::AreKeysRemoved(void)
-?AreKeysRemoved@CDecorationPart@@QAEHXZ
-; public: int __thiscall CLimitationMapping::ArePropertiesLimited(void)
-?ArePropertiesLimited@CLimitationMapping@@QAEHXZ
-; public: static long __stdcall CWbemInstance::AsymmetricMerge(class CWbemInstance *,class CWbemInstance *)
-?AsymmetricMerge@CWbemInstance@@SGJPAV1@0@Z
-; protected: unsigned long __thiscall CFastHeap::AugmentRequest(unsigned long,unsigned long)
-?AugmentRequest@CFastHeap@@IAEKKK@Z
-; public: virtual long __stdcall CQualifierSet::BeginEnumeration(long)
-?BeginEnumeration@CQualifierSet@@UAGJJ@Z
-; public: virtual long __stdcall CWbemObject::BeginEnumeration(long)
-?BeginEnumeration@CWbemObject@@UAGJJ@Z
-; public: virtual long __stdcall CWbemObject::BeginEnumerationEx(long,long)
-?BeginEnumerationEx@CWbemObject@@UAGJJJ@Z
-; public: virtual long __stdcall CWbemClass::BeginMethodEnumeration(long)
-?BeginMethodEnumeration@CWbemClass@@UAGJJ@Z
-; public: virtual long __stdcall CWbemInstance::BeginMethodEnumeration(long)
-?BeginMethodEnumeration@CWbemInstance@@UAGJJ@Z
-; public: void __thiscall CLimitationMapping::Build(int)
-?Build@CLimitationMapping@@QAEXH@Z
-; public: virtual long __stdcall CWbemObject::CIMTYPEToVARTYPE(long,unsigned short *)
-?CIMTYPEToVARTYPE@CWbemObject@@UAGJJPAG@Z
-; public: static class CType  __stdcall CType::CVarToType(class CVar &)
-?CVarToType@CType@@SG?AV1@AAVCVar@@@Z
-; public: class CVar * __thiscall CWbemInstance::CalculateCachedKey(void)
-?CalculateCachedKey@CWbemInstance@@QAEPAVCVar@@XZ
-; public: long __thiscall CWbemMtgtDeliverEventPacket::CalculateLength(long,struct IWbemClassObject * *,unsigned long *,class CWbemClassToIdMap &,struct _GUID *,int *)
-?CalculateLength@CWbemMtgtDeliverEventPacket@@QAEJJPAPAUIWbemClassObject@@PAKAAVCWbemClassToIdMap@@PAU_GUID@@PAH@Z
-; public: long __thiscall CWbemObjectArrayPacket::CalculateLength(long,struct IWbemClassObject * *,unsigned long *,class CWbemClassToIdMap &,struct _GUID *,int *)
-?CalculateLength@CWbemObjectArrayPacket@@QAEJJPAPAUIWbemClassObject@@PAKAAVCWbemClassToIdMap@@PAU_GUID@@PAH@Z
-; public: long __thiscall CWbemSmartEnumNextPacket::CalculateLength(long,struct IWbemClassObject * *,unsigned long *,class CWbemClassToIdMap &,struct _GUID *,int *)
-?CalculateLength@CWbemSmartEnumNextPacket@@QAEJJPAPAUIWbemClassObject@@PAKAAVCWbemClassToIdMap@@PAU_GUID@@PAH@Z
-; public: static unsigned long __stdcall CUntypedArray::CalculateNecessarySpaceByLength(int,int)
-?CalculateNecessarySpaceByLength@CUntypedArray@@SGKHH@Z
-; public: static unsigned long __stdcall CUntypedArray::CalculateNecessarySpaceByType(class CType,int)
-?CalculateNecessarySpaceByType@CUntypedArray@@SGKVCType@@H@Z
-; public: static int __stdcall CType::CanBeKey(unsigned long)
-?CanBeKey@CType@@SGHK@Z
-; public: int __thiscall CBasicQualifierSet::CanBeReconciledWith(class CBasicQualifierSet &)
-?CanBeReconciledWith@CBasicQualifierSet@@QAEHAAV1@@Z
-; public: enum EReconciliation  __thiscall CClassAndMethods::CanBeReconciledWith(class CClassAndMethods &)
-?CanBeReconciledWith@CClassAndMethods@@QAE?AW4EReconciliation@@AAV1@@Z
-; public: enum EReconciliation  __thiscall CClassPart::CanBeReconciledWith(class CClassPart &)
-?CanBeReconciledWith@CClassPart@@QAE?AW4EReconciliation@@AAV1@@Z
-; public: enum EReconciliation  __thiscall CMethodPart::CanBeReconciledWith(class CMethodPart &)
-?CanBeReconciledWith@CMethodPart@@QAE?AW4EReconciliation@@AAV1@@Z
-; public: enum EReconciliation  __thiscall CWbemClass::CanBeReconciledWith(class CWbemClass *)
-?CanBeReconciledWith@CWbemClass@@QAE?AW4EReconciliation@@PAV1@@Z
-; public: virtual long __thiscall CClassPart::CanContainAbstract(int)
-?CanContainAbstract@CClassPart@@UAEJH@Z
-; public: virtual long __thiscall CInstancePQSContainer::CanContainAbstract(int)
-?CanContainAbstract@CInstancePQSContainer@@UAEJH@Z
-; public: virtual long __thiscall CInstancePart::CanContainAbstract(int)
-?CanContainAbstract@CInstancePart@@UAEJH@Z
-; public: virtual long __thiscall CMethodQualifierSetContainer::CanContainAbstract(int)
-?CanContainAbstract@CMethodQualifierSetContainer@@UAEJH@Z
-; public: virtual long __thiscall CClassPart::CanContainDynamic(void)
-?CanContainDynamic@CClassPart@@UAEJXZ
-; public: virtual long __thiscall CInstancePQSContainer::CanContainDynamic(void)
-?CanContainDynamic@CInstancePQSContainer@@UAEJXZ
-; public: virtual long __thiscall CInstancePart::CanContainDynamic(void)
-?CanContainDynamic@CInstancePart@@UAEJXZ
-; public: virtual long __thiscall CMethodQualifierSetContainer::CanContainDynamic(void)
-?CanContainDynamic@CMethodQualifierSetContainer@@UAEJXZ
-; public: virtual long __thiscall CClassPart::CanContainKey(void)
-?CanContainKey@CClassPart@@UAEJXZ
-; public: virtual long __thiscall CInstancePQSContainer::CanContainKey(void)
-?CanContainKey@CInstancePQSContainer@@UAEJXZ
-; public: virtual long __thiscall CInstancePart::CanContainKey(void)
-?CanContainKey@CInstancePart@@UAEJXZ
-; public: virtual long __thiscall CMethodQualifierSetContainer::CanContainKey(void)
-?CanContainKey@CMethodQualifierSetContainer@@UAEJXZ
-; public: int __thiscall CClassPart::CanContainKeyedProps(void)
-?CanContainKeyedProps@CClassPart@@QAEHXZ
-; public: virtual long __thiscall CClassPart::CanContainSingleton(void)
-?CanContainSingleton@CClassPart@@UAEJXZ
-; public: virtual long __thiscall CInstancePQSContainer::CanContainSingleton(void)
-?CanContainSingleton@CInstancePQSContainer@@UAEJXZ
-; public: virtual long __thiscall CInstancePart::CanContainSingleton(void)
-?CanContainSingleton@CInstancePart@@UAEJXZ
-; public: virtual long __thiscall CMethodQualifierSetContainer::CanContainSingleton(void)
-?CanContainSingleton@CMethodQualifierSetContainer@@UAEJXZ
-; public: virtual int __thiscall CClassPart::CanHaveCimtype(unsigned short const *)
-?CanHaveCimtype@CClassPart@@UAEHPBG@Z
-; public: virtual int __thiscall CInstancePQSContainer::CanHaveCimtype(unsigned short const *)
-?CanHaveCimtype@CInstancePQSContainer@@UAEHPBG@Z
-; public: virtual int __thiscall CInstancePart::CanHaveCimtype(unsigned short const *)
-?CanHaveCimtype@CInstancePart@@UAEHPBG@Z
-; public: virtual int __thiscall CMethodQualifierSetContainer::CanHaveCimtype(unsigned short const *)
-?CanHaveCimtype@CMethodQualifierSetContainer@@UAEHPBG@Z
-; public: int __thiscall CCompressedString::CheapCompare(class CCompressedString const &)const 
-?CheapCompare@CCompressedString@@QBEHABV1@@Z
-; public: int __thiscall CClassPart::CheckBoolQualifier(unsigned short const *)
-?CheckBoolQualifier@CClassPart@@QAEHPBG@Z
-; public: int __thiscall CWbemObject::CheckBooleanPropQual(unsigned short const *,unsigned short const *)
-?CheckBooleanPropQual@CWbemObject@@QAEHPBG0@Z
-; public: static int __stdcall CUntypedArray::CheckCVarVector(class CVarVector &,unsigned long)
-?CheckCVarVector@CUntypedArray@@SGHAAVCVarVector@@K@Z
-; protected: long __thiscall CMethodPart::CheckDuplicateParameters(class CWbemObject *,class CWbemObject *)
-?CheckDuplicateParameters@CMethodPart@@IAEJPAVCWbemObject@@0@Z
-; protected: long __thiscall CMethodPart::CheckIds(class CWbemClass *,class CWbemClass *)
-?CheckIds@CMethodPart@@IAEJPAVCWbemClass@@0@Z
-; public: static int __stdcall CUntypedArray::CheckIntervalDateTime(class CVarVector &)
-?CheckIntervalDateTime@CUntypedArray@@SGHAAVCVarVector@@@Z
-; public: int __thiscall CClassPart::CheckLocalBoolQualifier(unsigned short const *)
-?CheckLocalBoolQualifier@CClassPart@@QAEHPBG@Z
-; public: static long __stdcall CUntypedArray::CheckRangeSize(unsigned long,unsigned long,unsigned long,unsigned long,void *)
-?CheckRangeSize@CUntypedArray@@SGJKKKKPAX@Z
-; protected: static long __stdcall CUntypedArray::CheckRangeSizeForGet(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long *)
-?CheckRangeSizeForGet@CUntypedArray@@KGJKKKKPAK@Z
-; private: void __thiscall CWbemClassCache::Clear(void)
-?Clear@CWbemClassCache@@AAEXXZ
-; private: void __thiscall CWbemGuidToClassMap::Clear(void)
-?Clear@CWbemGuidToClassMap@@AAEXXZ
-; public: void __thiscall CWbemInstance::ClearCachedKey(void)
-?ClearCachedKey@CWbemInstance@@QAEXXZ
-; public: virtual void __thiscall CWbemInstance::ClearCachedKeyValue(void)
-?ClearCachedKeyValue@CWbemInstance@@UAEXXZ
-; public: virtual long __stdcall CWbemClass::ClearWriteOnlyProperties(void)
-?ClearWriteOnlyProperties@CWbemClass@@UAGJXZ
-; public: virtual long __stdcall CWbemInstance::ClearWriteOnlyProperties(void)
-?ClearWriteOnlyProperties@CWbemInstance@@UAGJXZ
-; public: virtual long __stdcall CWbemClass::Clone(struct IWbemClassObject * *)
-?Clone@CWbemClass@@UAGJPAPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemInstance::Clone(struct IWbemClassObject * *)
-?Clone@CWbemInstance@@UAGJPAPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemClass::CloneAndDecorate(long,unsigned short *,unsigned short *,struct IWbemClassObject * *)
-?CloneAndDecorate@CWbemClass@@UAGJJPAG0PAPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemInstance::CloneAndDecorate(long,unsigned short *,unsigned short *,struct IWbemClassObject * *)
-?CloneAndDecorate@CWbemInstance@@UAGJJPAG0PAPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemClass::CloneEx(long,struct _IWmiObject *)
-?CloneEx@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemInstance::CloneEx(long,struct _IWmiObject *)
-?CloneEx@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
-; public: long __thiscall CWbemThreadSecurityHandle::CloneProcessContext(void)
-?CloneProcessContext@CWbemThreadSecurityHandle@@QAEJXZ
-; public: long __thiscall CWbemThreadSecurityHandle::CloneRpcContext(struct IServerSecurity *)
-?CloneRpcContext@CWbemThreadSecurityHandle@@QAEJPAUIServerSecurity@@@Z
-; public: long __thiscall CWbemThreadSecurityHandle::CloneThreadContext(unsigned long)
-?CloneThreadContext@CWbemThreadSecurityHandle@@QAEJK@Z
-; public: void __thiscall CClassAndMethods::Compact(void)
-?Compact@CClassAndMethods@@QAEXXZ
-; public: void __thiscall CClassPart::Compact(void)
-?Compact@CClassPart@@QAEXXZ
-; public: void __thiscall CInstancePart::Compact(bool)
-?Compact@CInstancePart@@QAEX_N@Z
-; public: void __thiscall CMethodPart::Compact(void)
-?Compact@CMethodPart@@QAEXXZ
-; public: virtual void __thiscall CWbemClass::CompactAll(void)
-?CompactAll@CWbemClass@@UAEXXZ
-; public: virtual void __thiscall CWbemInstance::CompactAll(void)
-?CompactAll@CWbemInstance@@UAEXXZ
-; public: void __thiscall CWbemInstance::CompactClass(void)
-?CompactClass@CWbemInstance@@QAEXXZ
-; public: int __thiscall CBasicQualifierSet::Compare(class CBasicQualifierSet &,unsigned char,unsigned short const * *,unsigned long)
-?Compare@CBasicQualifierSet@@QAEHAAV1@EPAPBGK@Z
-; public: int __thiscall CCompressedString::Compare(class CCompressedString const &)const 
-?Compare@CCompressedString@@QBEHABV1@@Z
-; public: int __thiscall CCompressedString::Compare(char const *)const 
-?Compare@CCompressedString@@QBEHPBD@Z
-; public: int __thiscall CCompressedString::Compare(unsigned short const *)const 
-?Compare@CCompressedString@@QBEHPBG@Z
-; public: int __thiscall CInternalString::Compare(class CInternalString const &)const 
-?Compare@CInternalString@@QBEHABV1@@Z
-; public: int __thiscall CInternalString::Compare(unsigned short const *)const 
-?Compare@CInternalString@@QBEHPBG@Z
-; public: int __thiscall CQualifierSet::Compare(class CQualifierSet &,class CFixedBSTRArray *,int)
-?Compare@CQualifierSet@@QAEHAAV1@PAVCFixedBSTRArray@@H@Z
-; public: virtual long __stdcall CWbemObject::CompareClassParts(struct IWbemClassObject *,long)
-?CompareClassParts@CWbemObject@@UAGJPAUIWbemClassObject@@J@Z
-; public: int __thiscall CClassPart::CompareDefs(class CClassPart &)
-?CompareDefs@CClassPart@@QAEHAAV1@@Z
-; public: virtual long __stdcall CWbemClass::CompareDerivedMostClass(long,struct _IWmiObject *)
-?CompareDerivedMostClass@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemInstance::CompareDerivedMostClass(long,struct _IWmiObject *)
-?CompareDerivedMostClass@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
-; public: enum EReconciliation  __thiscall CClassPart::CompareExactMatch(class CClassPart &,int)
-?CompareExactMatch@CClassPart@@QAE?AW4EReconciliation@@AAV1@H@Z
-; public: enum EReconciliation  __thiscall CMethodPart::CompareExactMatch(class CMethodPart &)
-?CompareExactMatch@CMethodPart@@QAE?AW4EReconciliation@@AAV1@@Z
-; public: int __thiscall CBasicQualifierSet::CompareLocalizedSet(class CBasicQualifierSet &)
-?CompareLocalizedSet@CBasicQualifierSet@@QAEHAAV1@@Z
-; public: long __thiscall CWbemClass::CompareMostDerivedClass(class CWbemClass *)
-?CompareMostDerivedClass@CWbemClass@@QAEJPAV1@@Z
-; public: int __thiscall CCompressedString::CompareNoCase(class CCompressedString const &)const 
-?CompareNoCase@CCompressedString@@QBEHABV1@@Z
-; public: int __thiscall CCompressedString::CompareNoCase(char const *)const 
-?CompareNoCase@CCompressedString@@QBEHPBD@Z
-; public: int __thiscall CCompressedString::CompareNoCase(unsigned short const *)const 
-?CompareNoCase@CCompressedString@@QBEHPBG@Z
-; public: enum EReconciliation  __thiscall CClassAndMethods::CompareTo(class CClassAndMethods &)
-?CompareTo@CClassAndMethods@@QAE?AW4EReconciliation@@AAV1@@Z
-; public: int __thiscall CDecorationPart::CompareTo(class CDecorationPart &)
-?CompareTo@CDecorationPart@@QAEHAAV1@@Z
-; public: long __thiscall CMethodPart::CompareTo(long,class CMethodPart &)
-?CompareTo@CMethodPart@@QAEJJAAV1@@Z
-; public: virtual long __stdcall CQualifierSet::CompareTo(long,struct IWbemQualifierSet *)
-?CompareTo@CQualifierSet@@UAGJJPAUIWbemQualifierSet@@@Z
-; public: virtual long __stdcall CWbemClass::CompareTo(long,struct IWbemClassObject *)
-?CompareTo@CWbemClass@@UAGJJPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemObject::CompareTo(long,struct IWbemClassObject *)
-?CompareTo@CWbemObject@@UAGJJPAUIWbemClassObject@@@Z
-; protected: static int __stdcall CCompressedString::CompareUnicodeToAscii(unsigned short const *,char const *)
-?CompareUnicodeToAscii@CCompressedString@@KGHPBGPBD@Z
-; protected: static int __stdcall CCompressedString::CompareUnicodeToAsciiNoCase(unsigned short const *,char const *,int)
-?CompareUnicodeToAsciiNoCase@CCompressedString@@KGHPBGPBDH@Z
-; public: static unsigned long __stdcall CBasicQualifierSet::ComputeMergeSpace(unsigned char *,class CFastHeap *,unsigned char *,class CFastHeap *,int)
-?ComputeMergeSpace@CBasicQualifierSet@@SGKPAEPAVCFastHeap@@01H@Z
-; public: static int __stdcall CCompressedString::ComputeNecessarySpace(char const *)
-?ComputeNecessarySpace@CCompressedString@@SGHPBD@Z
-; public: static int __stdcall CCompressedString::ComputeNecessarySpace(unsigned short const *)
-?ComputeNecessarySpace@CCompressedString@@SGHPBG@Z
-; public: static int __stdcall CCompressedString::ComputeNecessarySpace(unsigned short const *,int &)
-?ComputeNecessarySpace@CCompressedString@@SGHPBGAAH@Z
-; public: unsigned long __thiscall CCompressedStringList::ComputeNecessarySpace(class CCompressedString *)
-?ComputeNecessarySpace@CCompressedStringList@@QAEKPAVCCompressedString@@@Z
-; public: static unsigned long __stdcall CDataTable::ComputeNecessarySpace(int,int)
-?ComputeNecessarySpace@CDataTable@@SGKHH@Z
-; public: static unsigned long __stdcall CDecorationPart::ComputeNecessarySpace(unsigned short const *,unsigned short const *)
-?ComputeNecessarySpace@CDecorationPart@@SGKPBG0@Z
-; public: static unsigned long __stdcall CInstancePart::ComputeNecessarySpace(class CClassPart *)
-?ComputeNecessarySpace@CInstancePart@@SGKPAVCClassPart@@@Z
-; public: static unsigned long __stdcall CQualifierSetList::ComputeNecessarySpace(int)
-?ComputeNecessarySpace@CQualifierSetList@@SGKH@Z
-; public: static unsigned long __stdcall CBasicQualifierSet::ComputeNecessarySpaceForPropagation(unsigned char *,unsigned char)
-?ComputeNecessarySpaceForPropagation@CBasicQualifierSet@@SGKPAEE@Z
-; public: static unsigned long __stdcall CQualifierSetList::ComputeRealSpace(int)
-?ComputeRealSpace@CQualifierSetList@@SGKH@Z
-; public: static unsigned long __stdcall CBasicQualifierSet::ComputeUnmergedSpace(unsigned char *)
-?ComputeUnmergedSpace@CBasicQualifierSet@@SGKPAE@Z
-; public: unsigned char * __thiscall CInstancePart::ConvertToClass(class CClassPart &,unsigned long,unsigned char *)
-?ConvertToClass@CInstancePart@@QAEPAEAAVCClassPart@@KPAE@Z
-; public: long __thiscall CWbemInstance::ConvertToClass(class CWbemClass *,class CWbemInstance * *)
-?ConvertToClass@CWbemInstance@@QAEJPAVCWbemClass@@PAPAV1@@Z
-; public: long __thiscall CWbemInstance::ConvertToMergedInstance(void)
-?ConvertToMergedInstance@CWbemInstance@@QAEJXZ
-; public: void __thiscall CCompressedString::ConvertToUnicode(unsigned short *)const 
-?ConvertToUnicode@CCompressedString@@QBEXPAG@Z
-; public: void __thiscall CFastHeap::Copy(unsigned long,unsigned long,unsigned long)
-?Copy@CFastHeap@@QAEXKKK@Z
-; public: long __thiscall CFastPropertyBag::Copy(class CFastPropertyBag const &)
-?Copy@CFastPropertyBag@@QAEJABV1@@Z
-; public: long __thiscall CWbemInstance::CopyActualTransferBlob(long,unsigned char *)
-?CopyActualTransferBlob@CWbemInstance@@QAEJJPAE@Z
-; public: long __thiscall CWbemInstance::CopyBlob(unsigned char *,int)
-?CopyBlob@CWbemInstance@@QAEJPAEH@Z
-; public: virtual long __thiscall CWbemClass::CopyBlobOf(class CWbemObject *)
-?CopyBlobOf@CWbemClass@@UAEJPAVCWbemObject@@@Z
-; public: virtual long __thiscall CWbemInstance::CopyBlobOf(class CWbemObject *)
-?CopyBlobOf@CWbemInstance@@UAEJPAVCWbemObject@@@Z
-; public: unsigned char * __thiscall CCompressedStringList::CopyData(unsigned char *)
-?CopyData@CCompressedStringList@@QAEPAEPAE@Z
-; protected: void __thiscall CLimitationMapping::CopyInfo(class CPropertyInformation &,class CPropertyInformation const &)
-?CopyInfo@CLimitationMapping@@IAEXAAVCPropertyInformation@@ABV2@@Z
-; public: virtual long __stdcall CWbemClass::CopyInstanceData(long,struct _IWmiObject *)
-?CopyInstanceData@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemInstance::CopyInstanceData(long,struct _IWmiObject *)
-?CopyInstanceData@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
-; public: long __thiscall CQualifierSet::CopyLocalQualifiers(class CQualifierSet &)
-?CopyLocalQualifiers@CQualifierSet@@QAEJAAV1@@Z
-; public: void __thiscall CDataTable::CopyNullness(class CDataTable *)
-?CopyNullness@CDataTable@@QAEXPAV1@@Z
-; public: long __thiscall CClassPart::CopyParentProperty(class CClassPart &,unsigned short const *)
-?CopyParentProperty@CClassPart@@QAEJAAV1@PBG@Z
-; public: static int __stdcall CCompressedString::CopyToNewHeap(unsigned long,class CFastHeap *,class CFastHeap *,unsigned long &)
-?CopyToNewHeap@CCompressedString@@SGHKPAVCFastHeap@@0AAK@Z
-; public: static int __stdcall CEmbeddedObject::CopyToNewHeap(unsigned long,class CFastHeap *,class CFastHeap *,unsigned long &)
-?CopyToNewHeap@CEmbeddedObject@@SGHKPAVCFastHeap@@0AAK@Z
-; public: static int __stdcall CUntypedArray::CopyToNewHeap(unsigned long,class CType,class CFastHeap *,class CFastHeap *,unsigned long &)
-?CopyToNewHeap@CUntypedArray@@SGHKVCType@@PAVCFastHeap@@1AAK@Z
-; public: static long __stdcall CWbemInstance::CopyTransferArrayBlob(class CWbemInstance *,long,long,unsigned char *,class CFlexArray &,long *)
-?CopyTransferArrayBlob@CWbemInstance@@SGJPAV1@JJPAEAAVCFlexArray@@PAJ@Z
-; public: long __thiscall CWbemInstance::CopyTransferBlob(long,long,unsigned char *)
-?CopyTransferBlob@CWbemInstance@@QAEJJJPAE@Z
-; public: void __thiscall CDecorationPart::Create(unsigned char,unsigned short const *,unsigned short const *,unsigned char *)
-?Create@CDecorationPart@@QAEXEPBG0PAE@Z
-; public: void __thiscall CFixedBSTRArray::Create(int)
-?Create@CFixedBSTRArray@@QAEXH@Z
-; public: void __thiscall CInstancePQSContainer::Create(class CQualifierSetList *,int,class CClassPart *,unsigned long)
-?Create@CInstancePQSContainer@@QAEXPAVCQualifierSetList@@HPAVCClassPart@@K@Z
-; public: unsigned char * __thiscall CInstancePart::Create(unsigned char *,class CClassPart *,class CInstancePartContainer *)
-?Create@CInstancePart@@QAEPAEPAEPAVCClassPart@@PAVCInstancePartContainer@@@Z
-; public: long __thiscall CWmiObjectFactory::Create(struct IUnknown *,unsigned long,struct _GUID const &,struct _GUID const &,void * *)
-?Create@CWmiObjectFactory@@QAEJPAUIUnknown@@KABU_GUID@@1PAPAX@Z
-; public: virtual long __stdcall CWmiObjectFactory::XObjectFactory::Create(struct IUnknown *,unsigned long,struct _GUID const &,struct _GUID const &,void * *)
-?Create@XObjectFactory@CWmiObjectFactory@@UAGJPAUIUnknown@@KABU_GUID@@1PAPAX@Z
-; public: unsigned short * __thiscall CCompressedString::CreateBSTRCopy(void)const 
-?CreateBSTRCopy@CCompressedString@@QBEPAGXZ
-; public: class CVarVector * __thiscall CUntypedArray::CreateCVarVector(class CType,class CFastHeap *)
-?CreateCVarVector@CUntypedArray@@QAEPAVCVarVector@@VCType@@PAVCFastHeap@@@Z
-; public: long __thiscall CWbemClass::CreateDerivedClass(class CWbemClass * *)
-?CreateDerivedClass@CWbemClass@@QAEJPAPAV1@@Z
-; public: long __thiscall CWbemClass::CreateDerivedClass(class CWbemClass *,int,class CDecorationPart *)
-?CreateDerivedClass@CWbemClass@@QAEJPAV1@HPAVCDecorationPart@@@Z
-; public: unsigned char * __thiscall CClassAndMethods::CreateDerivedPart(unsigned char *,unsigned long)
-?CreateDerivedPart@CClassAndMethods@@QAEPAEPAEK@Z
-; public: unsigned char * __thiscall CClassPart::CreateDerivedPart(unsigned char *,int)
-?CreateDerivedPart@CClassPart@@QAEPAEPAEH@Z
-; public: unsigned char * __thiscall CMethodPart::CreateDerivedPart(unsigned char *,unsigned long)
-?CreateDerivedPart@CMethodPart@@QAEPAEPAEK@Z
-; public: static int __stdcall CMethodDescription::CreateDerivedVersion(struct CMethodDescription *,struct CMethodDescription *,class CFastHeap *,class CFastHeap *)
-?CreateDerivedVersion@CMethodDescription@@SGHPAU1@0PAVCFastHeap@@1@Z
-; public: static unsigned char * __stdcall CBasicQualifierSet::CreateEmpty(unsigned char *)
-?CreateEmpty@CBasicQualifierSet@@SGPAEPAE@Z
-; public: static unsigned char * __stdcall CClassAndMethods::CreateEmpty(unsigned char *)
-?CreateEmpty@CClassAndMethods@@SGPAEPAE@Z
-; public: static unsigned char * __stdcall CClassPart::CreateEmpty(unsigned char *)
-?CreateEmpty@CClassPart@@SGPAEPAE@Z
-; public: static unsigned char * __stdcall CCompressedString::CreateEmpty(unsigned char *)
-?CreateEmpty@CCompressedString@@SGPAEPAE@Z
-; public: static unsigned char * __stdcall CCompressedStringList::CreateEmpty(unsigned char *)
-?CreateEmpty@CCompressedStringList@@SGPAEPAE@Z
-; public: static unsigned char * __stdcall CDataTable::CreateEmpty(unsigned char *)
-?CreateEmpty@CDataTable@@SGPAEPAE@Z
-; public: unsigned char * __thiscall CDecorationPart::CreateEmpty(unsigned char,unsigned char *)
-?CreateEmpty@CDecorationPart@@QAEPAEEPAE@Z
-; public: static unsigned char * __stdcall CFastHeap::CreateEmpty(unsigned char *)
-?CreateEmpty@CFastHeap@@SGPAEPAE@Z
-; public: static unsigned char * __stdcall CMethodPart::CreateEmpty(unsigned char *)
-?CreateEmpty@CMethodPart@@SGPAEPAE@Z
-; public: static unsigned char * __stdcall CPropertyLookupTable::CreateEmpty(unsigned char *)
-?CreateEmpty@CPropertyLookupTable@@SGPAEPAE@Z
-; public: static unsigned char * __stdcall CWbemClass::CreateEmpty(unsigned char *)
-?CreateEmpty@CWbemClass@@SGPAEPAE@Z
-; public: static class CWbemClass * __stdcall CWbemClass::CreateFromBlob2(class CWbemClass *,unsigned char *,unsigned short *,unsigned short *)
-?CreateFromBlob2@CWbemClass@@SGPAV1@PAV1@PAEPAG2@Z
-; public: static class CWbemInstance * __stdcall CWbemInstance::CreateFromBlob2(class CWbemClass *,unsigned char *,unsigned short *,unsigned short *)
-?CreateFromBlob2@CWbemInstance@@SGPAV1@PAVCWbemClass@@PAEPAG2@Z
-; public: static class CWbemClass * __stdcall CWbemClass::CreateFromBlob(class CWbemClass *,unsigned char *,unsigned int)
-?CreateFromBlob@CWbemClass@@SGPAV1@PAV1@PAEI@Z
-; public: static class CWbemInstance * __stdcall CWbemInstance::CreateFromBlob(class CWbemClass *,unsigned char *,unsigned int)
-?CreateFromBlob@CWbemInstance@@SGPAV1@PAVCWbemClass@@PAEI@Z
-; public: static class CWbemObject * __stdcall CWbemObject::CreateFromMemory(unsigned char *,int,int,class CBlobControl &)
-?CreateFromMemory@CWbemObject@@SGPAV1@PAEHHAAVCBlobControl@@@Z
-; public: static class CWbemObject * __stdcall CWbemObject::CreateFromStream(struct IStream *)
-?CreateFromStream@CWbemObject@@SGPAV1@PAUIStream@@@Z
-; public: virtual long __stdcall CWmiObjectTextSrc::XObjectTextSrc::CreateFromText(long,unsigned short *,unsigned long,struct IWbemContext *,struct IWbemClassObject * *)
-?CreateFromText@XObjectTextSrc@CWmiObjectTextSrc@@UAGJJPAGKPAUIWbemContext@@PAPAUIWbemClassObject@@@Z
-; public: unsigned short * __thiscall CInternalString::CreateLPWSTRCopy(void)const 
-?CreateLPWSTRCopy@CInternalString@@QBEPAGXZ
-; public: unsigned char * __thiscall CClassAndMethods::CreateLimitedRepresentation(class CLimitationMapping *,int,unsigned char *,int &)
-?CreateLimitedRepresentation@CClassAndMethods@@QAEPAEPAVCLimitationMapping@@HPAEAAH@Z
-; public: unsigned char * __thiscall CClassPart::CreateLimitedRepresentation(class CLimitationMapping *,int,unsigned char *,int &)
-?CreateLimitedRepresentation@CClassPart@@QAEPAEPAVCLimitationMapping@@HPAEAAH@Z
-; public: unsigned char * __thiscall CDataTable::CreateLimitedRepresentation(class CLimitationMapping *,int,class CFastHeap *,class CFastHeap *,unsigned char *)
-?CreateLimitedRepresentation@CDataTable@@QAEPAEPAVCLimitationMapping@@HPAVCFastHeap@@1PAE@Z
-; public: unsigned char * __thiscall CDecorationPart::CreateLimitedRepresentation(class CLimitationMapping *,unsigned char *)
-?CreateLimitedRepresentation@CDecorationPart@@QAEPAEPAVCLimitationMapping@@PAE@Z
-; public: unsigned char * __thiscall CDerivationList::CreateLimitedRepresentation(class CLimitationMapping *,unsigned char *)
-?CreateLimitedRepresentation@CDerivationList@@QAEPAEPAVCLimitationMapping@@PAE@Z
-; public: unsigned char * __thiscall CInstancePart::CreateLimitedRepresentation(class CLimitationMapping *,int,unsigned char *)
-?CreateLimitedRepresentation@CInstancePart@@QAEPAEPAVCLimitationMapping@@HPAE@Z
-; public: unsigned char * __thiscall CPropertyLookupTable::CreateLimitedRepresentation(class CLimitationMapping *,class CFastHeap *,unsigned char *,int &)
-?CreateLimitedRepresentation@CPropertyLookupTable@@QAEPAEPAVCLimitationMapping@@PAVCFastHeap@@PAEAAH@Z
-; public: unsigned char * __thiscall CQualifierSetList::CreateLimitedRepresentation(class CLimitationMapping *,class CFastHeap *,class CFastHeap *,unsigned char *)
-?CreateLimitedRepresentation@CQualifierSetList@@QAEPAEPAVCLimitationMapping@@PAVCFastHeap@@1PAE@Z
-; public: static unsigned char * __stdcall CQualifierSetList::CreateListOfEmpties(unsigned char *,int)
-?CreateListOfEmpties@CQualifierSetList@@SGPAEPAEH@Z
-; protected: long __thiscall CMethodPart::CreateMethod(unsigned short const *,class CWbemObject *,class CWbemObject *)
-?CreateMethod@CMethodPart@@IAEJPBGPAVCWbemObject@@1@Z
-; public: int __thiscall CFastHeap::CreateNoCaseStringHeapPtr(unsigned short const *,unsigned long &)
-?CreateNoCaseStringHeapPtr@CFastHeap@@QAEHPBGAAK@Z
-; public: unsigned char * __thiscall CFastHeap::CreateOutOfLine(unsigned char *,unsigned long)
-?CreateOutOfLine@CFastHeap@@QAEPAEPAEK@Z
-; protected: long __thiscall CWbemRefreshingSvc::CreateRefreshableObjectTemplate(unsigned short const *,long,struct IWbemClassObject * *)
-?CreateRefreshableObjectTemplate@CWbemRefreshingSvc@@IAEJPBGJPAPAUIWbemClassObject@@@Z
-; public: static int __stdcall CMethodDescription::CreateUnmergedVersion(struct CMethodDescription *,struct CMethodDescription *,class CFastHeap *,class CFastHeap *)
-?CreateUnmergedVersion@CMethodDescription@@SGHPAU1@0PAVCFastHeap@@1@Z
-; public: class WString  __thiscall CCompressedString::CreateWStringCopy(void)const 
-?CreateWStringCopy@CCompressedString@@QBE?AVWString@@XZ
-; public: unsigned char * __thiscall CCompressedStringList::CreateWithExtra(unsigned char *,class CCompressedString *)
-?CreateWithExtra@CCompressedStringList@@QAEPAEPAEPAVCCompressedString@@@Z
-; public: virtual long __thiscall CWbemClass::Decorate(unsigned short const *,unsigned short const *)
-?Decorate@CWbemClass@@UAEJPBG0@Z
-; public: virtual long __thiscall CWbemInstance::Decorate(unsigned short const *,unsigned short const *)
-?Decorate@CWbemInstance@@UAEJPBG0@Z
-; public: static void __stdcall CBasicQualifierSet::Delete(unsigned char *,class CFastHeap *)
-?Delete@CBasicQualifierSet@@SGXPAEPAVCFastHeap@@@Z
-; public: virtual long __stdcall CQualifierSet::Delete(unsigned short const *)
-?Delete@CQualifierSet@@UAGJPBG@Z
-; public: void __thiscall CUntypedArray::Delete(class CType,class CFastHeap *)
-?Delete@CUntypedArray@@QAEXVCType@@PAVCFastHeap@@@Z
-; public: virtual long __stdcall CWbemClass::Delete(unsigned short const *)
-?Delete@CWbemClass@@UAGJPBG@Z
-; public: virtual long __stdcall CWbemInstance::Delete(unsigned short const *)
-?Delete@CWbemInstance@@UAGJPBG@Z
-; public: long __thiscall CMethodPart::DeleteMethod(unsigned short const *)
-?DeleteMethod@CMethodPart@@QAEJPBG@Z
-; public: virtual long __stdcall CWbemClass::DeleteMethod(unsigned short const *)
-?DeleteMethod@CWbemClass@@UAGJPBG@Z
-; public: virtual long __stdcall CWbemInstance::DeleteMethod(unsigned short const *)
-?DeleteMethod@CWbemInstance@@UAGJPBG@Z
-; public: long __thiscall CClassPart::DeleteProperty(unsigned short const *)
-?DeleteProperty@CClassPart@@QAEJPBG@Z
-; public: void __thiscall CClassPart::DeleteProperty(int)
-?DeleteProperty@CClassPart@@QAEXH@Z
-; public: void __thiscall CInstancePart::DeleteProperty(class CPropertyInformation *)
-?DeleteProperty@CInstancePart@@QAEXPAVCPropertyInformation@@@Z
-; public: void __thiscall CPropertyLookupTable::DeleteProperty(struct CPropertyLookup *,int)
-?DeleteProperty@CPropertyLookupTable@@QAEXPAUCPropertyLookup@@H@Z
-; public: long __thiscall CWbemInstance::DeleteProperty(int)
-?DeleteProperty@CWbemInstance@@QAEJH@Z
-; public: long __thiscall CQualifierSet::DeleteQualifier(unsigned short const *,int)
-?DeleteQualifier@CQualifierSet@@QAEJPBGH@Z
-; public: void __thiscall CQualifierSetList::DeleteQualifierSet(int)
-?DeleteQualifierSet@CQualifierSetList@@QAEXH@Z
-; protected: void __thiscall CMethodPart::DeleteSignature(int,int)
-?DeleteSignature@CMethodPart@@IAEXHH@Z
-; protected: static long __stdcall CWbemObject::DisabledValidateObject(class CWbemObject *)
-?DisabledValidateObject@CWbemObject@@KGJPAV1@@Z
-; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Discard(int)
-?Discard@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXH@Z
-; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Discard(int)
-?Discard@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXH@Z
-; public: virtual long __stdcall CWbemObject::DisconnectObject(unsigned long)
-?DisconnectObject@CWbemObject@@UAGJK@Z
-; protected: int __thiscall CMethodPart::DoSignaturesMatch(int,enum METHOD_SIGNATURE_TYPE,class CWbemObject *)
-?DoSignaturesMatch@CMethodPart@@IAEHHW4METHOD_SIGNATURE_TYPE@@PAVCWbemObject@@@Z
-; public: static int __stdcall CType::DoesCIMTYPEMatchVARTYPE(long,unsigned short)
-?DoesCIMTYPEMatchVARTYPE@CType@@SGHJG@Z
-; protected: int __thiscall CMethodPart::DoesSignatureMatchOther(class CMethodPart &,int,enum METHOD_SIGNATURE_TYPE)
-?DoesSignatureMatchOther@CMethodPart@@IAEHAAV1@HW4METHOD_SIGNATURE_TYPE@@@Z
-; public: int __thiscall CFastHeap::ElementMaxSize(unsigned long)
-?ElementMaxSize@CFastHeap@@QAEHK@Z
-; public: void __thiscall CFastHeap::Empty(void)
-?Empty@CFastHeap@@QAEXXZ
-; public: void __thiscall CInternalString::Empty(void)
-?Empty@CInternalString@@QAEXXZ
-; protected: static long __stdcall CWbemObject::EnabledValidateObject(class CWbemObject *)
-?EnabledValidateObject@CWbemObject@@KGJPAV1@@Z
-; public: virtual long __stdcall CQualifierSet::EndEnumeration(void)
-?EndEnumeration@CQualifierSet@@UAGJXZ
-; public: virtual long __stdcall CWbemObject::EndEnumeration(void)
-?EndEnumeration@CWbemObject@@UAGJXZ
-; public: virtual long __stdcall CWbemClass::EndMethodEnumeration(void)
-?EndMethodEnumeration@CWbemClass@@UAGJXZ
-; public: virtual long __stdcall CWbemInstance::EndMethodEnumeration(void)
-?EndMethodEnumeration@CWbemInstance@@UAGJXZ
-; public: long __thiscall CClassPart::EnsureProperty(unsigned short const *,unsigned short,long,int)
-?EnsureProperty@CClassPart@@QAEJPBGGJH@Z
-; public: long __thiscall CMethodPart::EnsureQualifier(class CWbemObject *,unsigned short const *,class CWbemObject * *)
-?EnsureQualifier@CMethodPart@@QAEJPAVCWbemObject@@PBGPAPAV2@@Z
-; public: long __thiscall CWbemClass::EnsureQualifier(unsigned short const *)
-?EnsureQualifier@CWbemClass@@QAEJPBG@Z
-; public: int __thiscall CQualifierSetList::EnsureReal(void)
-?EnsureReal@CQualifierSetList@@QAEHXZ
-; public: long __thiscall CBasicQualifierSet::EnumPrimaryQualifiers(unsigned char,unsigned char,class CFixedBSTRArray &,class CFixedBSTRArray &)
-?EnumPrimaryQualifiers@CBasicQualifierSet@@QAEJEEAAVCFixedBSTRArray@@0@Z
-; public: long __thiscall CQualifierSet::EnumQualifiers(unsigned char,unsigned char,class CFixedBSTRArray &)
-?EnumQualifiers@CQualifierSet@@QAEJEEAAVCFixedBSTRArray@@@Z
-; public: unsigned long __thiscall CWbemClass::EstimateDerivedClassSpace(class CDecorationPart *)
-?EstimateDerivedClassSpace@CWbemClass@@QAEKPAVCDecorationPart@@@Z
-; public: unsigned long __thiscall CClassAndMethods::EstimateDerivedPartSpace(void)
-?EstimateDerivedPartSpace@CClassAndMethods@@QAEKXZ
-; public: unsigned long __thiscall CClassPart::EstimateDerivedPartSpace(void)
-?EstimateDerivedPartSpace@CClassPart@@QAEKXZ
-; public: unsigned long __thiscall CMethodPart::EstimateDerivedPartSpace(void)
-?EstimateDerivedPartSpace@CMethodPart@@QAEKXZ
-; public: static unsigned long __stdcall CCompressedStringList::EstimateExtraSpace(class CCompressedString *)
-?EstimateExtraSpace@CCompressedStringList@@SGKPAVCCompressedString@@@Z
-; public: static unsigned long __stdcall CCompressedStringList::EstimateExtraSpace(unsigned short const *)
-?EstimateExtraSpace@CCompressedStringList@@SGKPBG@Z
-; public: static unsigned long __stdcall CWbemInstance::EstimateInstanceSpace(class CClassPart &,class CDecorationPart *)
-?EstimateInstanceSpace@CWbemInstance@@SGKAAVCClassPart@@PAVCDecorationPart@@@Z
-; public: unsigned long __thiscall CWbemObject::EstimateLimitedRepresentationSpace(long,class CWStringArray *)
-?EstimateLimitedRepresentationSpace@CWbemObject@@QAEKJPAVCWStringArray@@@Z
-; public: static unsigned long __stdcall CClassAndMethods::EstimateMergeSpace(class CClassAndMethods &,class CClassAndMethods &)
-?EstimateMergeSpace@CClassAndMethods@@SGKAAV1@0@Z
-; public: static unsigned long __stdcall CClassPart::EstimateMergeSpace(class CClassPart &,class CClassPart &)
-?EstimateMergeSpace@CClassPart@@SGKAAV1@0@Z
-; public: static unsigned long __stdcall CMethodPart::EstimateMergeSpace(class CMethodPart &,class CMethodPart &)
-?EstimateMergeSpace@CMethodPart@@SGKAAV1@0@Z
-; public: unsigned long __thiscall CWbemClass::EstimateMergeSpace(unsigned char *,long)
-?EstimateMergeSpace@CWbemClass@@QAEKPAEJ@Z
-; public: static unsigned long __stdcall CEmbeddedObject::EstimateNecessarySpace(class CVar &)
-?EstimateNecessarySpace@CEmbeddedObject@@SGKAAVCVar@@@Z
-; public: static unsigned long __stdcall CEmbeddedObject::EstimateNecessarySpace(class CWbemObject *)
-?EstimateNecessarySpace@CEmbeddedObject@@SGKPAVCWbemObject@@@Z
-; public: unsigned long __thiscall CClassAndMethods::EstimateUnmergeSpace(void)
-?EstimateUnmergeSpace@CClassAndMethods@@QAEKXZ
-; public: unsigned long __thiscall CClassPart::EstimateUnmergeSpace(void)
-?EstimateUnmergeSpace@CClassPart@@QAEKXZ
-; public: unsigned long __thiscall CMethodPart::EstimateUnmergeSpace(void)
-?EstimateUnmergeSpace@CMethodPart@@QAEKXZ
-; public: virtual unsigned long __thiscall CWbemClass::EstimateUnmergeSpace(void)
-?EstimateUnmergeSpace@CWbemClass@@UAEKXZ
-; public: virtual unsigned long __thiscall CWbemInstance::EstimateUnmergeSpace(void)
-?EstimateUnmergeSpace@CWbemInstance@@UAEKXZ
-; public: int __thiscall CFastHeap::Extend(unsigned long,unsigned long,unsigned long)
-?Extend@CFastHeap@@QAEHKKK@Z
-; public: int __thiscall CWbemClass::ExtendClassAndMethodsSpace(unsigned long)
-?ExtendClassAndMethodsSpace@CWbemClass@@QAEHK@Z
-; public: virtual int __thiscall CClassAndMethods::ExtendClassPartSpace(class CClassPart *,unsigned long)
-?ExtendClassPartSpace@CClassAndMethods@@UAEHPAVCClassPart@@K@Z
-; public: virtual int __thiscall CWbemInstance::ExtendClassPartSpace(class CClassPart *,unsigned long)
-?ExtendClassPartSpace@CWbemInstance@@UAEHPAVCClassPart@@K@Z
-; public: virtual int __thiscall CClassPart::ExtendDataTableSpace(unsigned char *,unsigned long,unsigned long)
-?ExtendDataTableSpace@CClassPart@@UAEHPAEKK@Z
-; public: virtual int __thiscall CInstancePart::ExtendDataTableSpace(unsigned char *,unsigned long,unsigned long)
-?ExtendDataTableSpace@CInstancePart@@UAEHPAEKK@Z
-; public: virtual int __thiscall CClassPart::ExtendHeapSize(unsigned char *,unsigned long,unsigned long)
-?ExtendHeapSize@CClassPart@@UAEHPAEKK@Z
-; public: virtual int __thiscall CInstancePart::ExtendHeapSize(unsigned char *,unsigned long,unsigned long)
-?ExtendHeapSize@CInstancePart@@UAEHPAEKK@Z
-; public: virtual int __thiscall CMethodPart::ExtendHeapSize(unsigned char *,unsigned long,unsigned long)
-?ExtendHeapSize@CMethodPart@@UAEHPAEKK@Z
-; public: virtual int __thiscall CWbemInstance::ExtendInstancePartSpace(class CInstancePart *,unsigned long)
-?ExtendInstancePartSpace@CWbemInstance@@UAEHPAVCInstancePart@@K@Z
-; public: virtual int __thiscall CClassAndMethods::ExtendMethodPartSpace(class CMethodPart *,unsigned long)
-?ExtendMethodPartSpace@CClassAndMethods@@UAEHPAVCMethodPart@@K@Z
-; public: virtual int __thiscall CClassPart::ExtendPropertyTableSpace(unsigned char *,unsigned long,unsigned long)
-?ExtendPropertyTableSpace@CClassPart@@UAEHPAEKK@Z
-; public: virtual int __thiscall CInstancePart::ExtendQualifierSetListSpace(unsigned char *,unsigned long,unsigned long)
-?ExtendQualifierSetListSpace@CInstancePart@@UAEHPAEKK@Z
-; public: virtual int __thiscall CClassPart::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ExtendQualifierSetSpace@CClassPart@@UAEHPAVCBasicQualifierSet@@K@Z
-; public: virtual int __thiscall CInstancePQSContainer::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ExtendQualifierSetSpace@CInstancePQSContainer@@UAEHPAVCBasicQualifierSet@@K@Z
-; public: virtual int __thiscall CInstancePart::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ExtendQualifierSetSpace@CInstancePart@@UAEHPAVCBasicQualifierSet@@K@Z
-; public: virtual int __thiscall CMethodQualifierSetContainer::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ExtendQualifierSetSpace@CMethodQualifierSetContainer@@UAEHPAVCBasicQualifierSet@@K@Z
-; public: int __thiscall CQualifierSetList::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ExtendQualifierSetSpace@CQualifierSetList@@QAEHPAVCBasicQualifierSet@@K@Z
-; public: int __thiscall CDataTable::ExtendTo(unsigned short,unsigned long)
-?ExtendTo@CDataTable@@QAEHGK@Z
-; public: long __thiscall CWbemInstance::FastClone(class CWbemInstance *)
-?FastClone@CWbemInstance@@QAEJPAV1@@Z
-; public: void __thiscall CFixedBSTRArray::Filter(unsigned short const *,int)
-?Filter@CFixedBSTRArray@@QAEXPBGH@Z
-; public: int __thiscall CCompressedStringList::Find(unsigned short const *)
-?Find@CCompressedStringList@@QAEHPBG@Z
-; public: class WString  __thiscall CWbemClass::FindLimitationError(long,class CWStringArray *)
-?FindLimitationError@CWbemClass@@QAE?AVWString@@JPAVCWStringArray@@@Z
-; protected: int __thiscall CMethodPart::FindMethod(unsigned short const *)
-?FindMethod@CMethodPart@@IAEHPBG@Z
-; public: virtual long __thiscall CWbemClass::FindMethod(unsigned short const *)
-?FindMethod@CWbemClass@@UAEJPBG@Z
-; public: virtual long __thiscall CWbemObject::FindMethod(unsigned short const *)
-?FindMethod@CWbemObject@@UAEJPBG@Z
-; public: static int __stdcall CSystemProperties::FindName(unsigned short const *)
-?FindName@CSystemProperties@@SGHPBG@Z
-; protected: class CFastPropertyBagItem * __thiscall CFastPropertyBag::FindProperty(unsigned short const *)
-?FindProperty@CFastPropertyBag@@IAEPAVCFastPropertyBagItem@@PBG@Z
-; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::FindProperty(unsigned short const *)
-?FindProperty@CPropertyLookupTable@@QAEPAUCPropertyLookup@@PBG@Z
-; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::FindPropertyByName(class CCompressedString *)
-?FindPropertyByName@CPropertyLookupTable@@QAEPAUCPropertyLookup@@PAVCCompressedString@@@Z
-; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::FindPropertyByOffset(unsigned long)
-?FindPropertyByOffset@CPropertyLookupTable@@QAEPAUCPropertyLookup@@K@Z
-; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::FindPropertyByPtr(unsigned long)
-?FindPropertyByPtr@CPropertyLookupTable@@QAEPAUCPropertyLookup@@K@Z
-; protected: int __thiscall CFastPropertyBag::FindPropertyIndex(unsigned short const *)
-?FindPropertyIndex@CFastPropertyBag@@IAEHPBG@Z
-; public: class CPropertyInformation * __thiscall CClassPart::FindPropertyInfo(unsigned short const *)
-?FindPropertyInfo@CClassPart@@QAEPAVCPropertyInformation@@PBG@Z
-; public: long __thiscall CWbemClass::ForcePropValue(unsigned short const *,class CVar *,long)
-?ForcePropValue@CWbemClass@@QAEJPBGPAVCVar@@J@Z
-; public: long __thiscall CWbemClass::ForcePut(unsigned short const *,long,struct tagVARIANT *,long)
-?ForcePut@CWbemClass@@QAEJPBGJPAUtagVARIANT@@J@Z
-; public: void __thiscall CFastHeap::Free(unsigned long,unsigned long)
-?Free@CFastHeap@@QAEXKK@Z
-; public: void __thiscall CFixedBSTRArray::Free(void)
-?Free@CFixedBSTRArray@@QAEXXZ
-; public: void __thiscall CFastHeap::FreeString(unsigned long)
-?FreeString@CFastHeap@@QAEXK@Z
-; public: long __thiscall CFastPropertyBag::Get(int,unsigned short const * *,long *,unsigned long *,unsigned long *,void * *)
-?Get@CFastPropertyBag@@QAEJHPAPBGPAJPAK2PAPAX@Z
-; public: long __thiscall CFastPropertyBag::Get(unsigned short const *,long *,unsigned long *,unsigned long *,void * *)
-?Get@CFastPropertyBag@@QAEJPBGPAJPAK2PAPAX@Z
-; public: virtual long __stdcall CQualifierSet::Get(unsigned short const *,long,struct tagVARIANT *,long *)
-?Get@CQualifierSet@@UAGJPBGJPAUtagVARIANT@@PAJ@Z
-; public: long __thiscall CWbemFetchRefrMgr::Get(struct _IWbemRefresherMgr * *)
-?Get@CWbemFetchRefrMgr@@QAEJPAPAU_IWbemRefresherMgr@@@Z
-; public: virtual long __stdcall CWbemObject::Get(unsigned short const *,long,struct tagVARIANT *,long *,long *)
-?Get@CWbemObject@@UAGJPBGJPAUtagVARIANT@@PAJ2@Z
-; public: virtual long __stdcall CWbemFetchRefrMgr::XFetchRefrMgr::Get(struct _IWbemRefresherMgr * *)
-?Get@XFetchRefrMgr@CWbemFetchRefrMgr@@UAGJPAPAU_IWbemRefresherMgr@@@Z
-; public: unsigned char __thiscall CClassPart::GetAbstractFlavor(void)
-?GetAbstractFlavor@CClassPart@@QAEEXZ
-; public: unsigned char __thiscall CWbemClass::GetAbstractFlavor(void)
-?GetAbstractFlavor@CWbemClass@@QAEEXZ
-; public: void __thiscall CWbemInstance::GetActualTransferBlob(unsigned char *)
-?GetActualTransferBlob@CWbemInstance@@QAEXPAE@Z
-; public: long __thiscall CWbemInstance::GetActualTransferBlobSize(void)
-?GetActualTransferBlobSize@CWbemInstance@@QAEJXZ
-; public: unsigned long __thiscall CType::GetActualType(void)
-?GetActualType@CType@@QAEKXZ
-; public: static unsigned long __stdcall CType::GetActualType(unsigned long)
-?GetActualType@CType@@SGKK@Z
-; public: long __thiscall CInstancePart::GetActualValue(class CPropertyInformation *,class CVar *)
-?GetActualValue@CInstancePart@@QAEJPAVCPropertyInformation@@PAVCVar@@@Z
-; public: unsigned long __thiscall CFastHeap::GetAllocatedDataLength(void)
-?GetAllocatedDataLength@CFastHeap@@QAEKXZ
-; public: class CFlexArray & __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetArray(void)
-?GetArray@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEAAVCFlexArray@@XZ
-; public: class CFlexArray & __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetArray(void)
-?GetArray@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEAAVCFlexArray@@XZ
-; public: class CUntypedArray * __thiscall CWbemObject::GetArrayByHandle(long)
-?GetArrayByHandle@CWbemObject@@QAEPAVCUntypedArray@@J@Z
-; public: virtual long __stdcall CWbemObject::GetArrayPropAddrByHandle(long,long,unsigned long *,void * *)
-?GetArrayPropAddrByHandle@CWbemObject@@UAGJJJPAKPAPAX@Z
-; public: virtual long __stdcall CWbemObject::GetArrayPropElementByHandle(long,long,unsigned long,unsigned long *,unsigned long *,void * *)
-?GetArrayPropElementByHandle@CWbemObject@@UAGJJJKPAK0PAPAX@Z
-; public: virtual long __stdcall CWbemObject::GetArrayPropInfoByHandle(long,long,unsigned short * *,long *,unsigned long *)
-?GetArrayPropInfoByHandle@CWbemObject@@UAGJJJPAPAGPAJPAK@Z
-; public: virtual long __stdcall CWbemObject::GetArrayPropRangeByHandle(long,long,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,void *)
-?GetArrayPropRangeByHandle@CWbemObject@@UAGJJJKKKPAK0PAX@Z
-; public: long __thiscall CWbemObject::GetArrayPropertyHandle(unsigned short const *,long *,long *)
-?GetArrayPropertyHandle@CWbemObject@@QAEJPBGPAJ1@Z
-; public: class CFastPropertyBagItem * * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetArrayPtr(void)
-?GetArrayPtr@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEPAPAVCFastPropertyBagItem@@XZ
-; public: class CWmiTextSource * * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetArrayPtr(void)
-?GetArrayPtr@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEPAPAVCWmiTextSource@@XZ
-; public: class CFastPropertyBagItem * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetAt(int)
-?GetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEPAVCFastPropertyBagItem@@H@Z
-; public: class CFastPropertyBagItem const * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetAt(int)const 
-?GetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QBEPBVCFastPropertyBagItem@@H@Z
-; public: class CWmiTextSource * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetAt(int)
-?GetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEPAVCWmiTextSource@@H@Z
-; public: class CWmiTextSource const * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetAt(int)const 
-?GetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QBEPBVCWmiTextSource@@H@Z
-; public: unsigned short * & __thiscall CFixedBSTRArray::GetAt(int)
-?GetAt@CFixedBSTRArray@@QAEAAPAGH@Z
-; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::GetAt(int)
-?GetAt@CPropertyLookupTable@@QAEPAUCPropertyLookup@@H@Z
-; public: class CCompressedString * __thiscall CCompressedStringList::GetAtFromLast(int)
-?GetAtFromLast@CCompressedStringList@@QAEPAVCCompressedString@@H@Z
-; public: long __stdcall CWbemCallSecurity::GetAuthentication(unsigned long *)
-?GetAuthentication@CWbemCallSecurity@@QAGJPAK@Z
-; public: virtual long __stdcall CWbemThreadSecurityHandle::GetAuthentication(unsigned long *)
-?GetAuthentication@CWbemThreadSecurityHandle@@UAGJPAK@Z
-; public: unsigned long __thiscall CWbemThreadSecurityHandle::GetAuthenticationLevel(void)
-?GetAuthenticationLevel@CWbemThreadSecurityHandle@@QAEKXZ
-; public: virtual long __stdcall CWbemCallSecurity::GetAuthenticationLuid(void *)
-?GetAuthenticationLuid@CWbemCallSecurity@@UAGJPAX@Z
-; public: virtual long __stdcall CWbemThreadSecurityHandle::GetAuthenticationLuid(void *)
-?GetAuthenticationLuid@CWbemThreadSecurityHandle@@UAGJPAX@Z
-; public: unsigned long __thiscall CWbemThreadSecurityHandle::GetAuthenticationService(void)
-?GetAuthenticationService@CWbemThreadSecurityHandle@@QAEKXZ
-; public: unsigned long __thiscall CWbemThreadSecurityHandle::GetAuthorizationService(void)
-?GetAuthorizationService@CWbemThreadSecurityHandle@@QAEKXZ
-; public: unsigned long __thiscall CType::GetBasic(void)
-?GetBasic@CType@@QAEKXZ
-; public: static unsigned long __stdcall CType::GetBasic(unsigned long)
-?GetBasic@CType@@SGKK@Z
-; protected: virtual unsigned long __thiscall CWbemClass::GetBlockLength(void)
-?GetBlockLength@CWbemClass@@MAEKXZ
-; protected: virtual unsigned long __thiscall CWbemInstance::GetBlockLength(void)
-?GetBlockLength@CWbemInstance@@MAEKXZ
-; public: unsigned long __thiscall CClassPart::GetClassIndex(unsigned short const *)
-?GetClassIndex@CClassPart@@QAEKPBG@Z
-; public: unsigned long __thiscall CWbemObject::GetClassIndex(unsigned short const *)
-?GetClassIndex@CWbemObject@@QAEKPBG@Z
-; public: class CCompressedString * __thiscall CWbemObject::GetClassInternal(void)
-?GetClassInternal@CWbemObject@@QAEPAVCCompressedString@@XZ
-; public: static long __stdcall CClassAndMethods::GetClassNameW(class WString &,unsigned char *)
-?GetClassNameW@CClassAndMethods@@SGJAAVWString@@PAE@Z
-; public: long __thiscall CClassPart::GetClassNameW(class CVar *)
-?GetClassNameW@CClassPart@@QAEJPAVCVar@@@Z
-; public: class CCompressedString * __thiscall CClassPart::GetClassNameW(void)
-?GetClassNameW@CClassPart@@QAEPAVCCompressedString@@XZ
-; public: virtual long __thiscall CWbemClass::GetClassNameW(class CVar *)
-?GetClassNameW@CWbemClass@@UAEJPAVCVar@@@Z
-; public: virtual long __thiscall CWbemInstance::GetClassNameW(class CVar *)
-?GetClassNameW@CWbemInstance@@UAEJPAVCVar@@@Z
-; private: long __thiscall CWbemObjectArrayPacket::GetClassObject(class CWbemObjectPacket &,struct IWbemClassObject * *)
-?GetClassObject@CWbemObjectArrayPacket@@AAEJAAVCWbemObjectPacket@@PAPAUIWbemClassObject@@@Z
-; protected: virtual class CClassPart * __thiscall CWbemClass::GetClassPart(void)
-?GetClassPart@CWbemClass@@MAEPAVCClassPart@@XZ
-; public: virtual long __stdcall CWbemClass::GetClassPart(void *,unsigned long,unsigned long *)
-?GetClassPart@CWbemClass@@UAGJPAXKPAK@Z
-; protected: virtual class CClassPart * __thiscall CWbemInstance::GetClassPart(void)
-?GetClassPart@CWbemInstance@@MAEPAVCClassPart@@XZ
-; public: virtual long __stdcall CWbemInstance::GetClassPart(void *,unsigned long,unsigned long *)
-?GetClassPart@CWbemInstance@@UAGJPAXKPAK@Z
-; public: long __thiscall CClassPart::GetClassQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetClassQualifier@CClassPart@@QAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: long __thiscall CClassPart::GetClassQualifier(unsigned short const *,class CVar *,long *,long *)
-?GetClassQualifier@CClassPart@@QAEJPBGPAVCVar@@PAJ2@Z
-; public: virtual long __stdcall CWbemClass::GetClassSubset(unsigned long,unsigned short const * *,struct _IWmiObject * *)
-?GetClassSubset@CWbemClass@@UAGJKPAPBGPAPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemInstance::GetClassSubset(unsigned long,unsigned short const * *,struct _IWmiObject * *)
-?GetClassSubset@CWbemInstance@@UAGJKPAPBGPAPAU_IWmiObject@@@Z
-; private: long __thiscall CWbemObjectArrayPacket::GetClasslessInstanceObject(class CWbemObjectPacket &,struct IWbemClassObject * *,class CWbemClassCache &)
-?GetClasslessInstanceObject@CWbemObjectArrayPacket@@AAEJAAVCWbemObjectPacket@@PAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
-; public: virtual unsigned long __thiscall CClassAndMethods::GetCurrentOrigin(void)
-?GetCurrentOrigin@CClassAndMethods@@UAEKXZ
-; public: virtual unsigned long __thiscall CClassPart::GetCurrentOrigin(void)
-?GetCurrentOrigin@CClassPart@@UAEKXZ
-; public: unsigned long __thiscall CWbemClass::GetCurrentOrigin(void)
-?GetCurrentOrigin@CWbemClass@@QAEKXZ
-; public: unsigned long __thiscall CDataTable::GetDataLength(void)
-?GetDataLength@CDataTable@@QAEKXZ
-; public: virtual class CDataTable * __thiscall CClassPart::GetDataTable(void)
-?GetDataTable@CClassPart@@UAEPAVCDataTable@@XZ
-; public: class CDataTable * __thiscall CInstancePart::GetDataTable(void)
-?GetDataTable@CInstancePart@@QAEPAVCDataTable@@XZ
-; public: static unsigned char * __stdcall CInstancePart::GetDataTableData(unsigned char *)
-?GetDataTableData@CInstancePart@@SGPAEPAE@Z
-; public: long __thiscall CClassPart::GetDefaultByHandle(long,long,long *,unsigned char *)
-?GetDefaultByHandle@CClassPart@@QAEJJJPAJPAE@Z
-; public: long __thiscall CClassPart::GetDefaultPtrByHandle(long,void * *)
-?GetDefaultPtrByHandle@CClassPart@@QAEJJPAPAX@Z
-; public: long __thiscall CClassPart::GetDefaultValue(class CPropertyInformation *,class CVar *)
-?GetDefaultValue@CClassPart@@QAEJPAVCPropertyInformation@@PAVCVar@@@Z
-; public: long __thiscall CClassPart::GetDefaultValue(unsigned short const *,class CVar *)
-?GetDefaultValue@CClassPart@@QAEJPBGPAVCVar@@@Z
-; public: long __thiscall CClassPart::GetDerivation(class CVar *)
-?GetDerivation@CClassPart@@QAEJPAVCVar@@@Z
-; public: long __thiscall CWbemObject::GetDerivation(class CVar *)
-?GetDerivation@CWbemObject@@QAEJPAVCVar@@@Z
-; public: virtual long __stdcall CWbemObject::GetDerivation(long,unsigned long,unsigned long *,unsigned long *,unsigned short *)
-?GetDerivation@CWbemObject@@UAGJJKPAK0PAG@Z
-; public: virtual long __stdcall CWbemObject::GetDescription(unsigned short * *)
-?GetDescription@CWbemObject@@UAGJPAPAG@Z
-; public: long __thiscall CClassPart::GetDynasty(class CVar *)
-?GetDynasty@CClassPart@@QAEJPAVCVar@@@Z
-; public: class CCompressedString * __thiscall CClassPart::GetDynasty(void)
-?GetDynasty@CClassPart@@QAEPAVCCompressedString@@XZ
-; public: virtual long __thiscall CWbemClass::GetDynasty(class CVar *)
-?GetDynasty@CWbemClass@@UAEJPAVCVar@@@Z
-; public: virtual long __thiscall CWbemInstance::GetDynasty(class CVar *)
-?GetDynasty@CWbemInstance@@UAEJPAVCVar@@@Z
-; public: unsigned char * __thiscall CUntypedArray::GetElement(int,int)
-?GetElement@CUntypedArray@@QAEPAEHH@Z
-; public: class CWbemObject * __thiscall CEmbeddedObject::GetEmbedded(void)
-?GetEmbedded@CEmbeddedObject@@QAEPAVCWbemObject@@XZ
-; public: class CWbemObject * __thiscall CWbemObject::GetEmbeddedObj(long)
-?GetEmbeddedObj@CWbemObject@@QAEPAV1@J@Z
-; public: class CCompressedString * __thiscall CCompressedStringList::GetFirst(void)
-?GetFirst@CCompressedStringList@@QAEPAVCCompressedString@@XZ
-; public: struct CQualifier * __thiscall CBasicQualifierSet::GetFirstQualifier(void)
-?GetFirstQualifier@CBasicQualifierSet@@QAEPAUCQualifier@@XZ
-; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetFirstQualifierFromData(unsigned char *)
-?GetFirstQualifierFromData@CBasicQualifierSet@@SGPAUCQualifier@@PAE@Z
-; public: long __thiscall CLimitationMapping::GetFlags(void)
-?GetFlags@CLimitationMapping@@QAEJXZ
-; public: unsigned short * __thiscall CWbemObject::GetFullPath(void)
-?GetFullPath@CWbemObject@@QAEPAGXZ
-; public: virtual long __stdcall CWbemObject::GetGUID(struct _GUID *)
-?GetGUID@CWbemObject@@UAGJPAU_GUID@@@Z
-; public: virtual long __thiscall CWbemClass::GetGenus(class CVar *)
-?GetGenus@CWbemClass@@UAEJPAVCVar@@@Z
-; public: virtual long __thiscall CWbemInstance::GetGenus(class CVar *)
-?GetGenus@CWbemInstance@@UAEJPAVCVar@@@Z
-; public: virtual long __stdcall CWbemRemoteRefresher::XWbemRemoteRefr::GetGuid(long,struct _GUID *)
-?GetGuid@XWbemRemoteRefr@CWbemRemoteRefresher@@UAGJJPAU_GUID@@@Z
-; public: virtual long __stdcall CWbemThreadSecurityHandle::GetHandleType(unsigned long *)
-?GetHandleType@CWbemThreadSecurityHandle@@UAGJPAK@Z
-; public: static unsigned long __stdcall CCompressedStringList::GetHeaderLength(void)
-?GetHeaderLength@CCompressedStringList@@SGKXZ
-; protected: unsigned long __thiscall CFastHeap::GetHeaderLength(void)
-?GetHeaderLength@CFastHeap@@IAEKXZ
-; public: static int __stdcall CQualifierSetList::GetHeaderLength(void)
-?GetHeaderLength@CQualifierSetList@@SGHXZ
-; public: static unsigned long __stdcall CUntypedArray::GetHeaderLength(void)
-?GetHeaderLength@CUntypedArray@@SGKXZ
-; public: class CFastHeap * __thiscall CBasicQualifierSet::GetHeap(void)
-?GetHeap@CBasicQualifierSet@@QAEPAVCFastHeap@@XZ
-; public: virtual class CFastHeap * __thiscall CClassPart::GetHeap(void)
-?GetHeap@CClassPart@@UAEPAVCFastHeap@@XZ
-; public: virtual class CFastHeap * __thiscall CInstancePQSContainer::GetHeap(void)
-?GetHeap@CInstancePQSContainer@@UAEPAVCFastHeap@@XZ
-; public: virtual class CFastHeap * __thiscall CInstancePart::GetHeap(void)
-?GetHeap@CInstancePart@@UAEPAVCFastHeap@@XZ
-; public: class CFastHeap * __thiscall CMethodPart::GetHeap(void)
-?GetHeap@CMethodPart@@QAEPAVCFastHeap@@XZ
-; public: virtual class CFastHeap * __thiscall CMethodQualifierSetContainer::GetHeap(void)
-?GetHeap@CMethodQualifierSetContainer@@UAEPAVCFastHeap@@XZ
-; public: class CFastHeap * __thiscall CPropertyLookupTable::GetHeap(void)
-?GetHeap@CPropertyLookupTable@@QAEPAVCFastHeap@@XZ
-; public: class CFastHeap * __thiscall CQualifierSetList::GetHeap(void)
-?GetHeap@CQualifierSetList@@QAEPAVCFastHeap@@XZ
-; public: unsigned char * __thiscall CFastHeap::GetHeapData(void)
-?GetHeapData@CFastHeap@@QAEPAEXZ
-; public: unsigned long __thiscall CClassPart::GetHeapPtrByHandle(long)
-?GetHeapPtrByHandle@CClassPart@@QAEKJ@Z
-; public: unsigned long __thiscall CWbemObject::GetHeapPtrByHandle(long)
-?GetHeapPtrByHandle@CWbemObject@@QAEKJ@Z
-; public: virtual long __stdcall CWbemObject::GetHelpContext(unsigned long *)
-?GetHelpContext@CWbemObject@@UAGJPAK@Z
-; public: virtual long __stdcall CWbemObject::GetHelpFile(unsigned short * *)
-?GetHelpFile@CWbemObject@@UAGJPAPAG@Z
-; public: unsigned short * __thiscall CWbemThreadSecurityHandle::GetIdentity(void)
-?GetIdentity@CWbemThreadSecurityHandle@@QAEPAGXZ
-; public: long __thiscall CWbemClass::GetIds(class CFlexArray &,class CWbemClass *)
-?GetIds@CWbemClass@@QAEJAAVCFlexArray@@PAV1@@Z
-; public: virtual long __stdcall CWbemCallSecurity::GetImpersonation(unsigned long *)
-?GetImpersonation@CWbemCallSecurity@@UAGJPAK@Z
-; public: virtual long __stdcall CWbemThreadSecurityHandle::GetImpersonation(unsigned long *)
-?GetImpersonation@CWbemThreadSecurityHandle@@UAGJPAK@Z
-; public: unsigned long __thiscall CWbemThreadSecurityHandle::GetImpersonationLevel(void)
-?GetImpersonationLevel@CWbemThreadSecurityHandle@@QAEKXZ
-; protected: unsigned long * __thiscall CFastHeap::GetInLineLength(void)
-?GetInLineLength@CFastHeap@@IAEPAKXZ
-; public: static int __stdcall CFastHeap::GetIndexFromFake(unsigned long)
-?GetIndexFromFake@CFastHeap@@SGHK@Z
-; public: static int __stdcall CKnownStringTable::GetIndexOfKey(void)
-?GetIndexOfKey@CKnownStringTable@@SGHXZ
-; public: static int __stdcall CClassAndMethods::GetIndexedProps(class CWStringArray &,unsigned char *)
-?GetIndexedProps@CClassAndMethods@@SGHAAVCWStringArray@@PAE@Z
-; public: int __thiscall CClassPart::GetIndexedProps(class CWStringArray &)
-?GetIndexedProps@CClassPart@@QAEHAAVCWStringArray@@@Z
-; public: virtual int __thiscall CWbemClass::GetIndexedProps(class CWStringArray &)
-?GetIndexedProps@CWbemClass@@UAEHAAVCWStringArray@@@Z
-; public: virtual int __thiscall CWbemInstance::GetIndexedProps(class CWStringArray &)
-?GetIndexedProps@CWbemInstance@@UAEHAAVCWStringArray@@@Z
-; private: long __thiscall CWbemObjectArrayPacket::GetInstanceObject(class CWbemObjectPacket &,struct IWbemClassObject * *,class CWbemClassCache &)
-?GetInstanceObject@CWbemObjectArrayPacket@@AAEJAAVCWbemObjectPacket@@PAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
-; public: virtual struct IUnknown * __thiscall CWbemInstance::GetInstanceObjectUnknown(void)
-?GetInstanceObjectUnknown@CWbemInstance@@UAEPAUIUnknown@@XZ
-; protected: virtual void * __thiscall CWbemEnumMarshaling::GetInterface(struct _GUID const &)
-?GetInterface@CWbemEnumMarshaling@@MAEPAXABU_GUID@@@Z
-; protected: virtual void * __thiscall CWbemFetchRefrMgr::GetInterface(struct _GUID const &)
-?GetInterface@CWbemFetchRefrMgr@@MAEPAXABU_GUID@@@Z
-; protected: virtual void * __thiscall CWbemRefreshingSvc::GetInterface(struct _GUID const &)
-?GetInterface@CWbemRefreshingSvc@@MAEPAXABU_GUID@@@Z
-; protected: virtual void * __thiscall CWmiObjectFactory::GetInterface(struct _GUID const &)
-?GetInterface@CWmiObjectFactory@@MAEPAXABU_GUID@@@Z
-; public: class CVar * __thiscall CWbemInstance::GetKey(void)
-?GetKey@CWbemInstance@@QAEPAVCVar@@XZ
-; public: long __thiscall CClassPart::GetKeyOrigin(class WString &)
-?GetKeyOrigin@CClassPart@@QAEJAAVWString@@@Z
-; public: virtual long __thiscall CWbemClass::GetKeyOrigin(class WString &)
-?GetKeyOrigin@CWbemClass@@UAEJAAVWString@@@Z
-; public: virtual long __thiscall CWbemInstance::GetKeyOrigin(class WString &)
-?GetKeyOrigin@CWbemInstance@@UAEJAAVWString@@@Z
-; public: virtual long __stdcall CWbemObject::GetKeyOrigin(long,unsigned long,unsigned long *,unsigned short *)
-?GetKeyOrigin@CWbemObject@@UAGJJKPAKPAG@Z
-; public: int __thiscall CClassPart::GetKeyProps(class CWStringArray &)
-?GetKeyProps@CClassPart@@QAEHAAVCWStringArray@@@Z
-; public: virtual int __thiscall CWbemClass::GetKeyProps(class CWStringArray &)
-?GetKeyProps@CWbemClass@@UAEHAAVCWStringArray@@@Z
-; public: virtual int __thiscall CWbemInstance::GetKeyProps(class CWStringArray &)
-?GetKeyProps@CWbemInstance@@UAEHAAVCWStringArray@@@Z
-; public: unsigned short * __thiscall CWbemInstance::GetKeyStr(void)
-?GetKeyStr@CWbemInstance@@QAEPAGXZ
-; public: virtual long __stdcall CWbemObject::GetKeyString(long,unsigned short * *)
-?GetKeyString@CWbemObject@@UAGJJPAPAG@Z
-; public: struct CQualifier * __thiscall CBasicQualifierSet::GetKnownQualifierLocally(int)
-?GetKnownQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@H@Z
-; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetKnownQualifierLocally(unsigned char *,int)
-?GetKnownQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEH@Z
-; public: static class CCompressedString & __stdcall CKnownStringTable::GetKnownString(int)
-?GetKnownString@CKnownStringTable@@SGAAVCCompressedString@@H@Z
-; public: static int __stdcall CKnownStringTable::GetKnownStringIndex(unsigned short const *)
-?GetKnownStringIndex@CKnownStringTable@@SGHPBG@Z
-; public: class CCompressedString * __thiscall CCompressedStringList::GetLast(void)
-?GetLast@CCompressedStringList@@QAEPAVCCompressedString@@XZ
-; public: unsigned long __thiscall CBasicQualifierSet::GetLength(void)
-?GetLength@CBasicQualifierSet@@QAEKXZ
-; public: unsigned long __thiscall CClassAndMethods::GetLength(void)
-?GetLength@CClassAndMethods@@QAEKXZ
-; public: unsigned long __thiscall CClassPart::GetLength(void)
-?GetLength@CClassPart@@QAEKXZ
-; public: int __thiscall CCompressedString::GetLength(void)const 
-?GetLength@CCompressedString@@QBEHXZ
-; public: unsigned long __thiscall CCompressedStringList::GetLength(void)
-?GetLength@CCompressedStringList@@QAEKXZ
-; public: unsigned long __thiscall CDataTable::GetLength(void)
-?GetLength@CDataTable@@QAEKXZ
-; public: unsigned long __thiscall CDecorationPart::GetLength(void)
-?GetLength@CDecorationPart@@QAEKXZ
-; public: unsigned long __thiscall CEmbeddedObject::GetLength(void)
-?GetLength@CEmbeddedObject@@QAEKXZ
-; public: unsigned long __thiscall CFastHeap::GetLength(void)
-?GetLength@CFastHeap@@QAEKXZ
-; public: int __thiscall CFixedBSTRArray::GetLength(void)
-?GetLength@CFixedBSTRArray@@QAEHXZ
-; public: int __thiscall CInstancePart::GetLength(void)
-?GetLength@CInstancePart@@QAEHXZ
-; public: static int __stdcall CInstancePart::GetLength(unsigned char *)
-?GetLength@CInstancePart@@SGHPAE@Z
-; public: int __thiscall CInternalString::GetLength(void)const 
-?GetLength@CInternalString@@QBEHXZ
-; public: unsigned long __thiscall CMethodPart::GetLength(void)
-?GetLength@CMethodPart@@QAEKXZ
-; public: int __thiscall CPropertyLookupTable::GetLength(void)
-?GetLength@CPropertyLookupTable@@QAEHXZ
-; public: int __thiscall CQualifierSetList::GetLength(void)
-?GetLength@CQualifierSetList@@QAEHXZ
-; public: static int __stdcall CQualifierSetList::GetLength(unsigned char *,int)
-?GetLength@CQualifierSetList@@SGHPAEH@Z
-; public: unsigned long __thiscall CType::GetLength(void)
-?GetLength@CType@@QAEKXZ
-; public: static unsigned long __stdcall CType::GetLength(unsigned long)
-?GetLength@CType@@SGKK@Z
-; public: unsigned long __thiscall CWbemClass::GetLength(void)
-?GetLength@CWbemClass@@QAEKXZ
-; public: unsigned long __thiscall CWbemInstance::GetLength(void)
-?GetLength@CWbemInstance@@QAEKXZ
-; public: unsigned long __thiscall CUntypedArray::GetLengthByActualLength(int)
-?GetLengthByActualLength@CUntypedArray@@QAEKH@Z
-; public: unsigned long __thiscall CUntypedArray::GetLengthByType(class CType)
-?GetLengthByType@CUntypedArray@@QAEKVCType@@@Z
-; public: static unsigned long __stdcall CBasicQualifierSet::GetLengthFromData(unsigned char *)
-?GetLengthFromData@CBasicQualifierSet@@SGKPAE@Z
-; public: long __thiscall CWbemClass::GetLimitedVersion(class CLimitationMapping *,class CWbemClass * *)
-?GetLimitedVersion@CWbemClass@@QAEJPAVCLimitationMapping@@PAPAV1@@Z
-; public: long __thiscall CWbemInstance::GetLimitedVersion(class CLimitationMapping *,class CWbemInstance * *)
-?GetLimitedVersion@CWbemInstance@@QAEJPAVCLimitationMapping@@PAPAV1@@Z
-; public: long __thiscall CWbemGuidToClassMap::GetMap(class CGUID &,class CWbemClassToIdMap * *)
-?GetMap@CWbemGuidToClassMap@@QAEJAAVCGUID@@PAPAVCWbemClassToIdMap@@@Z
-; public: unsigned short __thiscall CLimitationMapping::GetMapped(unsigned short)
-?GetMapped@CLimitationMapping@@QAEGG@Z
-; public: class CPropertyInformation * __thiscall CLimitationMapping::GetMapped(class CPropertyInformation *)
-?GetMapped@CLimitationMapping@@QAEPAVCPropertyInformation@@PAV2@@Z
-; public: long __thiscall CWbemEnumMarshaling::GetMarshalPacket(struct _GUID const &,unsigned long,struct IWbemClassObject * *,unsigned long *,unsigned char * *)
-?GetMarshalPacket@CWbemEnumMarshaling@@QAEJABU_GUID@@KPAPAUIWbemClassObject@@PAKPAPAE@Z
-; public: virtual long __stdcall CWbemEnumMarshaling::XEnumMarshaling::GetMarshalPacket(struct _GUID const &,unsigned long,struct IWbemClassObject * *,unsigned long *,unsigned char * *)
-?GetMarshalPacket@XEnumMarshaling@CWbemEnumMarshaling@@UAGJABU_GUID@@KPAPAUIWbemClassObject@@PAKPAPAE@Z
-; public: virtual long __stdcall CWbemObject::GetMarshalSizeMax(struct _GUID const &,void *,unsigned long,void *,unsigned long,unsigned long *)
-?GetMarshalSizeMax@CWbemObject@@UAGJABU_GUID@@PAXK1KPAK@Z
-; public: virtual long __thiscall CWbemInstance::GetMaxMarshalStreamSize(unsigned long *)
-?GetMaxMarshalStreamSize@CWbemInstance@@UAEJPAK@Z
-; public: virtual long __thiscall CWbemObject::GetMaxMarshalStreamSize(unsigned long *)
-?GetMaxMarshalStreamSize@CWbemObject@@UAEJPAK@Z
-; public: virtual unsigned char * __thiscall CClassPart::GetMemoryLimit(void)
-?GetMemoryLimit@CClassPart@@UAEPAEXZ
-; public: virtual unsigned char * __thiscall CInstancePart::GetMemoryLimit(void)
-?GetMemoryLimit@CInstancePart@@UAEPAEXZ
-; public: virtual unsigned char * __thiscall CMethodPart::GetMemoryLimit(void)
-?GetMemoryLimit@CMethodPart@@UAEPAEXZ
-; public: long __thiscall CMethodPart::GetMethod(unsigned short const *,long,class CWbemObject * *,class CWbemObject * *)
-?GetMethod@CMethodPart@@QAEJPBGJPAPAVCWbemObject@@1@Z
-; public: virtual long __stdcall CWbemClass::GetMethod(unsigned short const *,long,struct IWbemClassObject * *,struct IWbemClassObject * *)
-?GetMethod@CWbemClass@@UAGJPBGJPAPAUIWbemClassObject@@1@Z
-; public: virtual long __stdcall CWbemInstance::GetMethod(unsigned short const *,long,struct IWbemClassObject * *,struct IWbemClassObject * *)
-?GetMethod@CWbemInstance@@UAGJPBGJPAPAUIWbemClassObject@@1@Z
-; public: long __thiscall CMethodPart::GetMethodAt(int,unsigned short * *,class CWbemObject * *,class CWbemObject * *)
-?GetMethodAt@CMethodPart@@QAEJHPAPAGPAPAVCWbemObject@@1@Z
-; public: long __thiscall CMethodPart::GetMethodOrigin(unsigned short const *,unsigned long *)
-?GetMethodOrigin@CMethodPart@@QAEJPBGPAK@Z
-; public: virtual long __stdcall CWbemClass::GetMethodOrigin(unsigned short const *,unsigned short * *)
-?GetMethodOrigin@CWbemClass@@UAGJPBGPAPAG@Z
-; public: virtual long __stdcall CWbemInstance::GetMethodOrigin(unsigned short const *,unsigned short * *)
-?GetMethodOrigin@CWbemInstance@@UAGJPBGPAPAG@Z
-; public: virtual long __stdcall CWbemObject::GetMethodQual(unsigned short const *,unsigned short const *,long,unsigned long,long *,unsigned long *,unsigned long *,void *)
-?GetMethodQual@CWbemObject@@UAGJPBG0JKPAJPAK2PAX@Z
-; public: virtual long __thiscall CWbemClass::GetMethodQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetMethodQualifier@CWbemClass@@UAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: virtual long __thiscall CWbemClass::GetMethodQualifier(unsigned short const *,unsigned short const *,class CVar *,long *,long *)
-?GetMethodQualifier@CWbemClass@@UAEJPBG0PAVCVar@@PAJ2@Z
-; public: virtual long __thiscall CWbemInstance::GetMethodQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetMethodQualifier@CWbemInstance@@UAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: virtual long __thiscall CWbemInstance::GetMethodQualifier(unsigned short const *,unsigned short const *,class CVar *,long *,long *)
-?GetMethodQualifier@CWbemInstance@@UAEJPBG0PAVCVar@@PAJ2@Z
-; public: long __thiscall CMethodPart::GetMethodQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
-?GetMethodQualifierSet@CMethodPart@@QAEJPBGPAPAUIWbemQualifierSet@@@Z
-; public: virtual long __stdcall CWbemClass::GetMethodQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
-?GetMethodQualifierSet@CWbemClass@@UAGJPBGPAPAUIWbemQualifierSet@@@Z
-; public: virtual long __stdcall CWbemInstance::GetMethodQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
-?GetMethodQualifierSet@CWbemInstance@@UAGJPBGPAPAUIWbemQualifierSet@@@Z
-; public: unsigned long __thiscall CWbemDataPacket::GetMinHeaderSize(void)
-?GetMinHeaderSize@CWbemDataPacket@@QAEKXZ
-; public: static unsigned long __stdcall CBasicQualifierSet::GetMinLength(void)
-?GetMinLength@CBasicQualifierSet@@SGKXZ
-; public: static unsigned long __stdcall CClassAndMethods::GetMinLength(void)
-?GetMinLength@CClassAndMethods@@SGKXZ
-; public: static int __stdcall CClassPart::GetMinLength(void)
-?GetMinLength@CClassPart@@SGHXZ
-; public: static unsigned long __stdcall CDataTable::GetMinLength(void)
-?GetMinLength@CDataTable@@SGKXZ
-; public: static unsigned long __stdcall CDecorationPart::GetMinLength(void)
-?GetMinLength@CDecorationPart@@SGKXZ
-; public: static unsigned long __stdcall CFastHeap::GetMinLength(void)
-?GetMinLength@CFastHeap@@SGKXZ
-; public: static unsigned long __stdcall CMethodPart::GetMinLength(void)
-?GetMinLength@CMethodPart@@SGKXZ
-; public: static unsigned long __stdcall CPropertyLookupTable::GetMinLength(void)
-?GetMinLength@CPropertyLookupTable@@SGKXZ
-; public: static unsigned long __stdcall CWbemClass::GetMinLength(void)
-?GetMinLength@CWbemClass@@SGKXZ
-; protected: class CCompressedString * __thiscall CMethodPart::GetName(int)
-?GetName@CMethodPart@@IAEPAVCCompressedString@@H@Z
-; public: static unsigned short * __stdcall CSystemProperties::GetNameAsBSTR(int)
-?GetNameAsBSTR@CSystemProperties@@SGPAGH@Z
-; public: virtual long __stdcall CQualifierSet::GetNames(long,struct tagSAFEARRAY * *)
-?GetNames@CQualifierSet@@UAGJJPAPAUtagSAFEARRAY@@@Z
-; public: virtual long __stdcall CWbemObject::GetNames(unsigned short const *,long,struct tagVARIANT *,struct tagSAFEARRAY * *)
-?GetNames@CWbemObject@@UAGJPBGJPAUtagVARIANT@@PAPAUtagSAFEARRAY@@@Z
-; public: long __thiscall CWbemObject::GetNamespace(class CVar *)
-?GetNamespace@CWbemObject@@QAEJPAVCVar@@@Z
-; public: class CCompressedString * __thiscall CCompressedStringList::GetNext(class CCompressedString *)
-?GetNext@CCompressedStringList@@QAEPAVCCompressedString@@PAV2@@Z
-; public: long __thiscall CWbemInstance::GetNonsystemPropertyValue(unsigned short const *,class CVar *)
-?GetNonsystemPropertyValue@CWbemInstance@@QAEJPBGPAVCVar@@@Z
-; public: virtual long __stdcall CWbemObject::GetNormalizedPath(long,unsigned short * *)
-?GetNormalizedPath@CWbemObject@@UAGJJPAPAG@Z
-; public: unsigned long __thiscall CDataTable::GetNullnessLength(void)
-?GetNullnessLength@CDataTable@@QAEKXZ
-; public: static int __stdcall CSystemProperties::GetNumDecorationIndependentProperties(void)
-?GetNumDecorationIndependentProperties@CSystemProperties@@SGHXZ
-; public: int __thiscall CUntypedArray::GetNumElements(void)
-?GetNumElements@CUntypedArray@@QAEHXZ
-; public: int __thiscall CLimitationMapping::GetNumMappings(void)
-?GetNumMappings@CLimitationMapping@@QAEHXZ
-; protected: int __thiscall CMethodPart::GetNumMethods(void)
-?GetNumMethods@CMethodPart@@IAEHXZ
-; public: int __thiscall CWbemObject::GetNumParents(void)
-?GetNumParents@CWbemObject@@QAEHXZ
-; public: int __thiscall CPropertyLookupTable::GetNumProperties(void)
-?GetNumProperties@CPropertyLookupTable@@QAEHXZ
-; public: virtual int __thiscall CWbemClass::GetNumProperties(void)
-?GetNumProperties@CWbemClass@@UAEHXZ
-; public: virtual int __thiscall CWbemInstance::GetNumProperties(void)
-?GetNumProperties@CWbemInstance@@UAEHXZ
-; public: int __thiscall CQualifierSetList::GetNumSets(void)
-?GetNumSets@CQualifierSetList@@QAEHXZ
-; public: int __thiscall CCompressedStringList::GetNumStrings(void)
-?GetNumStrings@CCompressedStringList@@QAEHXZ
-; public: static int __stdcall CSystemProperties::GetNumSystemProperties(void)
-?GetNumSystemProperties@CSystemProperties@@SGHXZ
-; public: int __thiscall CBasicQualifierSet::GetNumUpperBound(void)
-?GetNumUpperBound@CBasicQualifierSet@@QAEHXZ
-; public: virtual long __stdcall CWbemObject::GetObjQual(unsigned short const *,long,unsigned long,long *,unsigned long *,unsigned long *,void *)
-?GetObjQual@CWbemObject@@UAGJPBGJKPAJPAK2PAX@Z
-; public: virtual long __stdcall CWbemObject::GetObjectMemory(void *,unsigned long,unsigned long *)
-?GetObjectMemory@CWbemObject@@UAGJPAXKPAK@Z
-; public: virtual long __stdcall CWbemClass::GetObjectParts(void *,unsigned long,unsigned long,unsigned long *)
-?GetObjectParts@CWbemClass@@UAGJPAXKKPAK@Z
-; public: virtual long __stdcall CWbemInstance::GetObjectParts(void *,unsigned long,unsigned long,unsigned long *)
-?GetObjectParts@CWbemInstance@@UAGJPAXKKPAK@Z
-; public: long __thiscall CInstancePart::GetObjectQualifier(unsigned short const *,class CVar *,long *)
-?GetObjectQualifier@CInstancePart@@QAEJPBGPAVCVar@@PAJ@Z
-; public: virtual long __stdcall CWbemClass::GetObjectText(long,unsigned short * *)
-?GetObjectText@CWbemClass@@UAGJJPAPAG@Z
-; public: virtual long __stdcall CWbemInstance::GetObjectText(long,unsigned short * *)
-?GetObjectText@CWbemInstance@@UAGJJPAPAG@Z
-; public: long __thiscall CWbemClassCache::GetObjectW(struct _GUID &,struct IWbemClassObject * *)
-?GetObjectW@CWbemClassCache@@QAEJAAU_GUID@@PAPAUIWbemClassObject@@@Z
-; public: class CUntypedValue * __thiscall CDataTable::GetOffset(unsigned long)
-?GetOffset@CDataTable@@QAEPAVCUntypedValue@@K@Z
-; public: class CCompressedString * __thiscall CWbemObject::GetParentAtIndex(int)
-?GetParentAtIndex@CWbemObject@@QAEPAVCCompressedString@@H@Z
-; public: virtual long __stdcall CWbemClass::GetParentClassFromBlob(long,unsigned long,void *,unsigned short * *)
-?GetParentClassFromBlob@CWbemClass@@UAGJJKPAXPAPAG@Z
-; public: virtual long __stdcall CWbemObject::GetParentClassFromBlob(long,unsigned long,void *,unsigned short * *)
-?GetParentClassFromBlob@CWbemObject@@UAGJJKPAXPAPAG@Z
-; public: long __thiscall CWbemObject::GetPath(class CVar *)
-?GetPath@CWbemObject@@QAEJPAVCVar@@@Z
-; public: static class CUntypedArray * __stdcall CUntypedArray::GetPointer(class CPtrSource *)
-?GetPointer@CUntypedArray@@SGPAV1@PAVCPtrSource@@@Z
-; public: class CCompressedString * __thiscall CCompressedStringList::GetPrevious(class CCompressedString *)
-?GetPrevious@CCompressedStringList@@QAEPAVCCompressedString@@PAV2@@Z
-; public: virtual long __stdcall CWbemObject::GetPropAddrByHandle(long,long,unsigned long *,void * *)
-?GetPropAddrByHandle@CWbemObject@@UAGJJJPAKPAPAX@Z
-; public: virtual long __thiscall CWbemClass::GetPropName(int,class CVar *)
-?GetPropName@CWbemClass@@UAEJHPAVCVar@@@Z
-; public: virtual long __thiscall CWbemInstance::GetPropName(int,class CVar *)
-?GetPropName@CWbemInstance@@UAEJHPAVCVar@@@Z
-; public: virtual long __stdcall CWbemObject::GetPropQual(unsigned short const *,unsigned short const *,long,unsigned long,long *,unsigned long *,unsigned long *,void *)
-?GetPropQual@CWbemObject@@UAGJPBG0JKPAJPAK2PAX@Z
-; public: long __thiscall CClassPart::GetPropQualifier(class CPropertyInformation *,unsigned short const *,class CVar *,long *,long *)
-?GetPropQualifier@CClassPart@@QAEJPAVCPropertyInformation@@PBGPAVCVar@@PAJ3@Z
-; public: long __thiscall CClassPart::GetPropQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetPropQualifier@CClassPart@@QAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: virtual long __thiscall CWbemClass::GetPropQualifier(class CPropertyInformation *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetPropQualifier@CWbemClass@@UAEJPAVCPropertyInformation@@PBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: virtual long __thiscall CWbemClass::GetPropQualifier(class CPropertyInformation *,unsigned short const *,class CVar *,long *,long *)
-?GetPropQualifier@CWbemClass@@UAEJPAVCPropertyInformation@@PBGPAVCVar@@PAJ3@Z
-; public: virtual long __thiscall CWbemClass::GetPropQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetPropQualifier@CWbemClass@@UAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: virtual long __thiscall CWbemClass::GetPropQualifier(unsigned short const *,unsigned short const *,class CVar *,long *,long *)
-?GetPropQualifier@CWbemClass@@UAEJPBG0PAVCVar@@PAJ2@Z
-; public: virtual long __thiscall CWbemInstance::GetPropQualifier(class CPropertyInformation *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetPropQualifier@CWbemInstance@@UAEJPAVCPropertyInformation@@PBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: virtual long __thiscall CWbemInstance::GetPropQualifier(class CPropertyInformation *,unsigned short const *,class CVar *,long *,long *)
-?GetPropQualifier@CWbemInstance@@UAEJPAVCPropertyInformation@@PBGPAVCVar@@PAJ3@Z
-; public: virtual long __thiscall CWbemInstance::GetPropQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetPropQualifier@CWbemInstance@@UAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: virtual long __thiscall CWbemInstance::GetPropQualifier(unsigned short const *,unsigned short const *,class CVar *,long *,long *)
-?GetPropQualifier@CWbemInstance@@UAEJPBG0PAVCVar@@PAJ2@Z
-; protected: virtual long __thiscall CWbemClass::GetProperty(class CPropertyInformation *,class CVar *)
-?GetProperty@CWbemClass@@MAEJPAVCPropertyInformation@@PAVCVar@@@Z
-; public: virtual long __thiscall CWbemClass::GetProperty(unsigned short const *,class CVar *)
-?GetProperty@CWbemClass@@UAEJPBGPAVCVar@@@Z
-; protected: virtual long __thiscall CWbemInstance::GetProperty(class CPropertyInformation *,class CVar *)
-?GetProperty@CWbemInstance@@MAEJPAVCPropertyInformation@@PAVCVar@@@Z
-; public: virtual long __thiscall CWbemInstance::GetProperty(unsigned short const *,class CVar *)
-?GetProperty@CWbemInstance@@UAEJPBGPAVCVar@@@Z
-; public: long __thiscall CClassPart::GetPropertyCount(class CVar *)
-?GetPropertyCount@CClassPart@@QAEJPAVCVar@@@Z
-; public: virtual long __thiscall CWbemClass::GetPropertyCount(class CVar *)
-?GetPropertyCount@CWbemClass@@UAEJPAVCVar@@@Z
-; public: virtual long __thiscall CWbemInstance::GetPropertyCount(class CVar *)
-?GetPropertyCount@CWbemInstance@@UAEJPAVCVar@@@Z
-; public: long __thiscall CClassPart::GetPropertyHandle(unsigned short const *,long *,long *)
-?GetPropertyHandle@CClassPart@@QAEJPBGPAJ1@Z
-; public: virtual long __stdcall CWbemObject::GetPropertyHandle(unsigned short const *,long *,long *)
-?GetPropertyHandle@CWbemObject@@UAGJPBGPAJ1@Z
-; public: long __thiscall CClassPart::GetPropertyHandleEx(unsigned short const *,long *,long *)
-?GetPropertyHandleEx@CClassPart@@QAEJPBGPAJ1@Z
-; public: virtual long __stdcall CWbemObject::GetPropertyHandleEx(unsigned short const *,long,long *,long *)
-?GetPropertyHandleEx@CWbemObject@@UAGJPBGJPAJ1@Z
-; public: long __thiscall CWbemObject::GetPropertyIndex(unsigned short const *,int *)
-?GetPropertyIndex@CWbemObject@@QAEJPBGPAH@Z
-; public: long __thiscall CClassPart::GetPropertyInfoByHandle(long,unsigned short * *,long *)
-?GetPropertyInfoByHandle@CClassPart@@QAEJJPAPAGPAJ@Z
-; public: virtual long __stdcall CWbemObject::GetPropertyInfoByHandle(long,unsigned short * *,long *)
-?GetPropertyInfoByHandle@CWbemObject@@UAGJJPAPAGPAJ@Z
-; public: struct CPropertyLookup * __thiscall CClassPart::GetPropertyLookup(int)
-?GetPropertyLookup@CClassPart@@QAEPAUCPropertyLookup@@H@Z
-; public: long __thiscall CWbemObject::GetPropertyNameFromIndex(int,unsigned short * *)
-?GetPropertyNameFromIndex@CWbemObject@@QAEJHPAPAG@Z
-; public: long __thiscall CClassPart::GetPropertyOrigin(unsigned short const *,unsigned short * *)
-?GetPropertyOrigin@CClassPart@@QAEJPBGPAPAG@Z
-; public: virtual long __stdcall CWbemObject::GetPropertyOrigin(unsigned short const *,unsigned short * *)
-?GetPropertyOrigin@CWbemObject@@UAGJPBGPAPAG@Z
-; public: virtual long __stdcall CWbemClass::GetPropertyQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
-?GetPropertyQualifierSet@CWbemClass@@UAGJPBGPAPAUIWbemQualifierSet@@@Z
-; public: virtual long __stdcall CWbemInstance::GetPropertyQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
-?GetPropertyQualifierSet@CWbemInstance@@UAGJPBGPAPAUIWbemQualifierSet@@@Z
-; public: unsigned char * __thiscall CClassPart::GetPropertyQualifierSetData(unsigned short const *)
-?GetPropertyQualifierSetData@CClassPart@@QAEPAEPBG@Z
-; public: class CCompressedString * __thiscall CWbemObject::GetPropertyString(long)
-?GetPropertyString@CWbemObject@@QAEPAVCCompressedString@@J@Z
-; public: long __thiscall CClassPart::GetPropertyType(class CPropertyInformation *,long *,long *)
-?GetPropertyType@CClassPart@@QAEJPAVCPropertyInformation@@PAJ1@Z
-; public: long __thiscall CClassPart::GetPropertyType(unsigned short const *,long *,long *)
-?GetPropertyType@CClassPart@@QAEJPBGPAJ1@Z
-; public: static long __stdcall CSystemProperties::GetPropertyType(unsigned short const *,long *,long *)
-?GetPropertyType@CSystemProperties@@SGJPBGPAJ1@Z
-; public: virtual long __thiscall CWbemClass::GetPropertyType(class CPropertyInformation *,long *,long *)
-?GetPropertyType@CWbemClass@@UAEJPAVCPropertyInformation@@PAJ1@Z
-; public: virtual long __thiscall CWbemClass::GetPropertyType(unsigned short const *,long *,long *)
-?GetPropertyType@CWbemClass@@UAEJPBGPAJ1@Z
-; public: virtual long __thiscall CWbemInstance::GetPropertyType(class CPropertyInformation *,long *,long *)
-?GetPropertyType@CWbemInstance@@UAEJPAVCPropertyInformation@@PAJ1@Z
-; public: virtual long __thiscall CWbemInstance::GetPropertyType(unsigned short const *,long *,long *)
-?GetPropertyType@CWbemInstance@@UAEJPBGPAJ1@Z
-; public: virtual long __stdcall CWbemObject::GetPropertyValue(struct _tag_WbemPropertyName *,long,unsigned short * *,struct tagVARIANT *)
-?GetPropertyValue@CWbemObject@@UAGJPAU_tag_WbemPropertyName@@JPAPAGPAUtagVARIANT@@@Z
-; public: long __thiscall CClassPart::GetQualifier(unsigned short const *,class CVar *,long *,long *)
-?GetQualifier@CClassPart@@QAEJPBGPAVCVar@@PAJ2@Z
-; public: long __thiscall CInstancePart::GetQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetQualifier@CInstancePart@@QAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: long __thiscall CInstancePart::GetQualifier(unsigned short const *,class CVar *,long *,long *)
-?GetQualifier@CInstancePart@@QAEJPBGPAVCVar@@PAJ2@Z
-; public: long __thiscall CQualifierSet::GetQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetQualifier@CQualifierSet@@QAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: long __thiscall CQualifierSet::GetQualifier(unsigned short const *,class CVar *,long *,long *)
-?GetQualifier@CQualifierSet@@QAEJPBGPAVCVar@@PAJ2@Z
-; public: struct CQualifier * __thiscall CQualifierSet::GetQualifier(unsigned short const *)
-?GetQualifier@CQualifierSet@@QAEPAUCQualifier@@PBG@Z
-; public: struct CQualifier * __thiscall CQualifierSet::GetQualifier(unsigned short const *,int &)
-?GetQualifier@CQualifierSet@@QAEPAUCQualifier@@PBGAAH@Z
-; public: virtual long __thiscall CWbemClass::GetQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetQualifier@CWbemClass@@UAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: virtual long __thiscall CWbemClass::GetQualifier(unsigned short const *,class CVar *,long *,long *)
-?GetQualifier@CWbemClass@@UAEJPBGPAVCVar@@PAJ2@Z
-; public: virtual long __thiscall CWbemInstance::GetQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
-?GetQualifier@CWbemInstance@@UAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
-; public: virtual long __thiscall CWbemInstance::GetQualifier(unsigned short const *,class CVar *,long *,long *)
-?GetQualifier@CWbemInstance@@UAEJPBGPAVCVar@@PAJ2@Z
-; public: long __thiscall CWbemObject::GetQualifierArrayInfo(unsigned short const *,unsigned short const *,int,long,long *,unsigned long *)
-?GetQualifierArrayInfo@CWbemObject@@QAEJPBG0HJPAJPAK@Z
-; public: long __thiscall CWbemObject::GetQualifierArrayRange(unsigned short const *,unsigned short const *,int,long,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,void *)
-?GetQualifierArrayRange@CWbemObject@@QAEJPBG0HJKKKPAK1PAX@Z
-; public: struct CQualifier * __thiscall CBasicQualifierSet::GetQualifierLocally(class CCompressedString *)
-?GetQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@PAVCCompressedString@@@Z
-; public: struct CQualifier * __thiscall CBasicQualifierSet::GetQualifierLocally(unsigned short const *)
-?GetQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@PBG@Z
-; public: struct CQualifier * __thiscall CBasicQualifierSet::GetQualifierLocally(unsigned short const *,int &)
-?GetQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@PBGAAH@Z
-; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetQualifierLocally(unsigned char *,class CFastHeap *,class CCompressedString *)
-?GetQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEPAVCFastHeap@@PAVCCompressedString@@@Z
-; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetQualifierLocally(unsigned char *,class CFastHeap *,unsigned short const *)
-?GetQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEPAVCFastHeap@@PBG@Z
-; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetQualifierLocally(unsigned char *,class CFastHeap *,unsigned short const *,int &)
-?GetQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEPAVCFastHeap@@PBGAAH@Z
-; public: virtual long __stdcall CWbemClass::GetQualifierSet(struct IWbemQualifierSet * *)
-?GetQualifierSet@CWbemClass@@UAGJPAPAUIWbemQualifierSet@@@Z
-; public: virtual long __stdcall CWbemInstance::GetQualifierSet(struct IWbemQualifierSet * *)
-?GetQualifierSet@CWbemInstance@@UAGJPAPAUIWbemQualifierSet@@@Z
-; public: unsigned char * __thiscall CQualifierSetList::GetQualifierSetData(int)
-?GetQualifierSetData@CQualifierSetList@@QAEPAEH@Z
-; public: static unsigned char * __stdcall CQualifierSetList::GetQualifierSetData(unsigned char *,int)
-?GetQualifierSetData@CQualifierSetList@@SGPAEPAEH@Z
-; public: virtual unsigned char * __thiscall CInstancePart::GetQualifierSetListStart(void)
-?GetQualifierSetListStart@CInstancePart@@UAEPAEXZ
-; public: virtual unsigned char * __thiscall CClassPart::GetQualifierSetStart(void)
-?GetQualifierSetStart@CClassPart@@UAEPAEXZ
-; public: virtual unsigned char * __thiscall CInstancePQSContainer::GetQualifierSetStart(void)
-?GetQualifierSetStart@CInstancePQSContainer@@UAEPAEXZ
-; public: virtual unsigned char * __thiscall CInstancePart::GetQualifierSetStart(void)
-?GetQualifierSetStart@CInstancePart@@UAEPAEXZ
-; public: virtual unsigned char * __thiscall CMethodQualifierSetContainer::GetQualifierSetStart(void)
-?GetQualifierSetStart@CMethodQualifierSetContainer@@UAEPAEXZ
-; public: static long __stdcall CUntypedArray::GetRange(class CPtrSource *,unsigned long,unsigned long,class CFastHeap *,unsigned long,unsigned long,unsigned long,unsigned long *,void *)
-?GetRange@CUntypedArray@@SGJPAVCPtrSource@@KKPAVCFastHeap@@KKKPAKPAX@Z
-; public: unsigned char * __thiscall CCompressedString::GetRawData(void)const 
-?GetRawData@CCompressedString@@QBEPAEXZ
-; public: unsigned long __thiscall CFastHeap::GetRealLength(void)
-?GetRealLength@CFastHeap@@QAEKXZ
-; protected: long __thiscall CWbemRefreshingSvc::GetRefrMgr(struct _IWbemRefresherMgr * *)
-?GetRefrMgr@CWbemRefreshingSvc@@IAEJPAPAU_IWbemRefresherMgr@@@Z
-; public: struct CQualifier * __thiscall CBasicQualifierSet::GetRegularQualifierLocally(unsigned short const *)
-?GetRegularQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@PBG@Z
-; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetRegularQualifierLocally(unsigned char *,class CFastHeap *,unsigned short const *)
-?GetRegularQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEPAVCFastHeap@@PBG@Z
-; public: virtual unsigned short * __thiscall CWbemClass::GetRelPath(int)
-?GetRelPath@CWbemClass@@UAEPAGH@Z
-; public: virtual unsigned short * __thiscall CWbemInstance::GetRelPath(int)
-?GetRelPath@CWbemInstance@@UAEPAGH@Z
-; public: long __thiscall CWbemObject::GetRelPath(class CVar *)
-?GetRelPath@CWbemObject@@QAEJPAVCVar@@@Z
-; protected: virtual long __thiscall CWbemRefreshingSvc::GetRemoteRefresher(struct _WBEM_REFRESHER_ID *,long,unsigned long,struct IWbemRemoteRefresher * *,struct _GUID *,unsigned long *)
-?GetRemoteRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@JKPAPAUIWbemRemoteRefresher@@PAU_GUID@@PAK@Z
-; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::GetRemoteRefresher(struct _WBEM_REFRESHER_ID *,long,unsigned long,struct IWbemRemoteRefresher * *,struct _GUID *,unsigned long *)
-?GetRemoteRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@JKPAPAUIWbemRemoteRefresher@@PAU_GUID@@PAK@Z
-; public: class CBasicQualifierSet * __thiscall CMethodQualifierSetContainer::GetSecondarySet(void)
-?GetSecondarySet@CMethodQualifierSetContainer@@QAEPAVCBasicQualifierSet@@XZ
-; protected: static unsigned long __stdcall CCompressedStringList::GetSeparatorLength(void)
-?GetSeparatorLength@CCompressedStringList@@KGKXZ
-; public: long __thiscall CWbemObject::GetServer(class CVar *)
-?GetServer@CWbemObject@@QAEJPAVCVar@@@Z
-; public: long __thiscall CWbemObject::GetServerAndNamespace(class CVar *)
-?GetServerAndNamespace@CWbemObject@@QAEJPAVCVar@@@Z
-; public: unsigned short * __thiscall CWbemThreadSecurityHandle::GetServerPrincipalName(void)
-?GetServerPrincipalName@CWbemThreadSecurityHandle@@QAEPAGXZ
-; public: unsigned long __thiscall CMethodDescription::GetSig(int)
-?GetSig@CMethodDescription@@QAEKH@Z
-; protected: void __thiscall CMethodPart::GetSignature(int,int,class CWbemObject * *)
-?GetSignature@CMethodPart@@IAEXHHPAPAVCWbemObject@@@Z
-; public: int __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetSize(void)const 
-?GetSize@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QBEHXZ
-; public: int __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetSize(void)const 
-?GetSize@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QBEHXZ
-; public: virtual long __stdcall CWbemObject::GetSource(unsigned short * *)
-?GetSource@CWbemObject@@UAGJPAPAG@Z
-; public: unsigned char * __thiscall CBasicQualifierSet::GetStart(void)
-?GetStart@CBasicQualifierSet@@QAEPAEXZ
-; public: unsigned char * __thiscall CClassAndMethods::GetStart(void)
-?GetStart@CClassAndMethods@@QAEPAEXZ
-; public: unsigned char * __thiscall CClassPart::GetStart(void)
-?GetStart@CClassPart@@QAEPAEXZ
-; public: unsigned char * __thiscall CCompressedString::GetStart(void)
-?GetStart@CCompressedString@@QAEPAEXZ
-; public: unsigned char * __thiscall CCompressedStringList::GetStart(void)
-?GetStart@CCompressedStringList@@QAEPAEXZ
-; public: unsigned char * __thiscall CDataTable::GetStart(void)
-?GetStart@CDataTable@@QAEPAEXZ
-; public: unsigned char * __thiscall CDecorationPart::GetStart(void)
-?GetStart@CDecorationPart@@QAEPAEXZ
-; public: unsigned char * __thiscall CEmbeddedObject::GetStart(void)
-?GetStart@CEmbeddedObject@@QAEPAEXZ
-; public: unsigned char * __thiscall CFastHeap::GetStart(void)
-?GetStart@CFastHeap@@QAEPAEXZ
-; public: unsigned char * __thiscall CInstancePart::GetStart(void)
-?GetStart@CInstancePart@@QAEPAEXZ
-; public: unsigned char * __thiscall CMethodPart::GetStart(void)
-?GetStart@CMethodPart@@QAEPAEXZ
-; public: unsigned char * __thiscall CPropertyLookupTable::GetStart(void)
-?GetStart@CPropertyLookupTable@@QAEPAEXZ
-; public: unsigned char * __thiscall CQualifierSetList::GetStart(void)
-?GetStart@CQualifierSetList@@QAEPAEXZ
-; public: unsigned char * __thiscall CWbemInstance::GetStart(void)
-?GetStart@CWbemInstance@@QAEPAEXZ
-; public: unsigned char * __thiscall CWbemObject::GetStart(void)
-?GetStart@CWbemObject@@QAEPAEXZ
-; public: int __thiscall CCompressedString::GetStringLength(void)const 
-?GetStringLength@CCompressedString@@QBEHXZ
-; public: static long __stdcall CClassAndMethods::GetSuperclassName(class WString &,unsigned char *)
-?GetSuperclassName@CClassAndMethods@@SGJAAVWString@@PAE@Z
-; public: long __thiscall CClassPart::GetSuperclassName(class CVar *)
-?GetSuperclassName@CClassPart@@QAEJPAVCVar@@@Z
-; public: class CCompressedString * __thiscall CClassPart::GetSuperclassName(void)
-?GetSuperclassName@CClassPart@@QAEPAVCCompressedString@@XZ
-; public: virtual long __thiscall CWbemClass::GetSuperclassName(class CVar *)
-?GetSuperclassName@CWbemClass@@UAEJPAVCVar@@@Z
-; public: virtual long __thiscall CWbemInstance::GetSuperclassName(class CVar *)
-?GetSuperclassName@CWbemInstance@@UAEJPAVCVar@@@Z
-; public: unsigned short * __thiscall CType::GetSyntax(void)
-?GetSyntax@CType@@QAEPAGXZ
-; public: static unsigned short * __stdcall CType::GetSyntax(unsigned long)
-?GetSyntax@CType@@SGPAGK@Z
-; public: long __thiscall CWbemObject::GetSystemProperty(int,class CVar *)
-?GetSystemProperty@CWbemObject@@QAEJHPAVCVar@@@Z
-; public: long __thiscall CWbemObject::GetSystemPropertyByName(unsigned short const *,class CVar *)
-?GetSystemPropertyByName@CWbemObject@@QAEJPBGPAVCVar@@@Z
-; public: long __thiscall CBasicQualifierSet::GetText(long,class WString &)
-?GetText@CBasicQualifierSet@@QAEJJAAVWString@@@Z
-; public: static long __stdcall CBasicQualifierSet::GetText(unsigned char *,class CFastHeap *,long,class WString &)
-?GetText@CBasicQualifierSet@@SGJPAEPAVCFastHeap@@JAAVWString@@@Z
-; public: char const * __thiscall CInternalString::GetText(void)const 
-?GetText@CInternalString@@QBEPBDXZ
-; public: virtual long __stdcall CWmiObjectTextSrc::XObjectTextSrc::GetText(long,struct IWbemClassObject *,unsigned long,struct IWbemContext *,unsigned short * *)
-?GetText@XObjectTextSrc@CWmiObjectTextSrc@@UAGJJPAUIWbemClassObject@@KPAUIWbemContext@@PAPAG@Z
-; public: virtual long __stdcall CWbemCallSecurity::GetThreadSecurity(enum tag_WMI_THREAD_SECURITY_ORIGIN,struct _IWmiThreadSecHandle * *)
-?GetThreadSecurity@CWbemCallSecurity@@UAGJW4tag_WMI_THREAD_SECURITY_ORIGIN@@PAPAU_IWmiThreadSecHandle@@@Z
-; public: class CWbemThreadSecurityHandle * __thiscall CWbemCallSecurity::GetThreadSecurityHandle(void)
-?GetThreadSecurityHandle@CWbemCallSecurity@@QAEPAVCWbemThreadSecurityHandle@@XZ
-; public: void * __thiscall CWbemThreadSecurityHandle::GetThreadToken(void)
-?GetThreadToken@CWbemThreadSecurityHandle@@QAEPAXXZ
-; public: virtual long __stdcall CWbemThreadSecurityHandle::GetToken(void * *)
-?GetToken@CWbemThreadSecurityHandle@@UAGJPAPAX@Z
-; public: virtual long __stdcall CWbemThreadSecurityHandle::GetTokenOrigin(enum tag_WMI_THREAD_SECURITY_ORIGIN *)
-?GetTokenOrigin@CWbemThreadSecurityHandle@@UAGJPAW4tag_WMI_THREAD_SECURITY_ORIGIN@@@Z
-; public: unsigned long __thiscall CClassPart::GetTotalRealLength(void)
-?GetTotalRealLength@CClassPart@@QAEKXZ
-; public: unsigned long __thiscall CInstancePart::GetTotalRealLength(void)
-?GetTotalRealLength@CInstancePart@@QAEKXZ
-; public: long __thiscall CWbemInstance::GetTransferArrayBlob(long,unsigned char * *,long *)
-?GetTransferArrayBlob@CWbemInstance@@QAEJJPAPAEPAJ@Z
-; public: long __thiscall CWbemInstance::GetTransferArrayBlobSize(void)
-?GetTransferArrayBlobSize@CWbemInstance@@QAEJXZ
-; public: static long __stdcall CWbemInstance::GetTransferArrayHeaderSize(void)
-?GetTransferArrayHeaderSize@CWbemInstance@@SGJXZ
-; public: long __thiscall CWbemInstance::GetTransferBlob(long *,long *,unsigned char * *)
-?GetTransferBlob@CWbemInstance@@QAEJPAJ0PAPAE@Z
-; public: long __thiscall CWbemInstance::GetTransferBlobSize(void)
-?GetTransferBlobSize@CWbemInstance@@QAEJXZ
-; public: virtual long __stdcall CWbemObject::GetUnmarshalClass(struct _GUID const &,void *,unsigned long,void *,unsigned long,struct _GUID *)
-?GetUnmarshalClass@CWbemObject@@UAGJABU_GUID@@PAXK1KPAU2@@Z
-; public: unsigned long __thiscall CFastHeap::GetUsedLength(void)
-?GetUsedLength@CFastHeap@@QAEKXZ
-; public: virtual long __stdcall CWbemCallSecurity::GetUser(unsigned long *,unsigned short *)
-?GetUser@CWbemCallSecurity@@UAGJPAKPAG@Z
-; public: virtual long __stdcall CWbemThreadSecurityHandle::GetUser(unsigned long *,unsigned short *)
-?GetUser@CWbemThreadSecurityHandle@@UAGJPAKPAG@Z
-; public: virtual long __stdcall CWbemCallSecurity::GetUserSid(unsigned long *,void *)
-?GetUserSid@CWbemCallSecurity@@UAGJPAKPAX@Z
-; public: virtual long __stdcall CWbemThreadSecurityHandle::GetUserSid(unsigned long *,void *)
-?GetUserSid@CWbemThreadSecurityHandle@@UAGJPAKPAX@Z
-; public: unsigned short __thiscall CType::GetVARTYPE(void)
-?GetVARTYPE@CType@@QAEGXZ
-; public: static unsigned short __stdcall CType::GetVARTYPE(unsigned long)
-?GetVARTYPE@CType@@SGGK@Z
-; public: static unsigned short * __stdcall CWbemObject::GetValueText(long,class CVar &,unsigned long)
-?GetValueText@CWbemObject@@SGPAGJAAVCVar@@K@Z
-; public: unsigned long __thiscall CLimitationMapping::GetVtableLength(void)
-?GetVtableLength@CLimitationMapping@@QAEKXZ
-; public: virtual struct IUnknown * __thiscall CClassAndMethods::GetWbemObjectUnknown(void)
-?GetWbemObjectUnknown@CClassAndMethods@@UAEPAUIUnknown@@XZ
-; public: virtual struct IUnknown * __thiscall CClassPart::GetWbemObjectUnknown(void)
-?GetWbemObjectUnknown@CClassPart@@UAEPAUIUnknown@@XZ
-; public: virtual struct IUnknown * __thiscall CInstancePQSContainer::GetWbemObjectUnknown(void)
-?GetWbemObjectUnknown@CInstancePQSContainer@@UAEPAUIUnknown@@XZ
-; public: virtual struct IUnknown * __thiscall CInstancePart::GetWbemObjectUnknown(void)
-?GetWbemObjectUnknown@CInstancePart@@UAEPAUIUnknown@@XZ
-; public: struct IUnknown * __thiscall CMethodPart::GetWbemObjectUnknown(void)
-?GetWbemObjectUnknown@CMethodPart@@QAEPAUIUnknown@@XZ
-; public: virtual struct IUnknown * __thiscall CMethodQualifierSetContainer::GetWbemObjectUnknown(void)
-?GetWbemObjectUnknown@CMethodQualifierSetContainer@@UAEPAUIUnknown@@XZ
-; public: struct IUnknown * __thiscall CQualifierSetList::GetWbemObjectUnknown(void)
-?GetWbemObjectUnknown@CQualifierSetList@@QAEPAUIUnknown@@XZ
-; public: struct IUnknown * __thiscall CWbemClass::GetWbemObjectUnknown(void)
-?GetWbemObjectUnknown@CWbemClass@@QAEPAUIUnknown@@XZ
-; public: virtual struct IUnknown * __thiscall CWbemInstance::GetWbemObjectUnknown(void)
-?GetWbemObjectUnknown@CWbemInstance@@UAEPAUIUnknown@@XZ
-; public: static int __stdcall CBasicQualifierSet::HasLocalQualifiers(unsigned char *)
-?HasLocalQualifiers@CBasicQualifierSet@@SGHPAE@Z
-; public: int __thiscall CWbemObject::HasRefs(void)
-?HasRefs@CWbemObject@@QAEHXZ
-; public: virtual long __stdcall CWbemCallSecurity::ImpersonateClient(void)
-?ImpersonateClient@CWbemCallSecurity@@UAGJXZ
-; public: void __thiscall CBasicQualifierSet::IncrementLength(unsigned long)
-?IncrementLength@CBasicQualifierSet@@QAEXK@Z
-; public: int __thiscall CClassPart::InheritsFrom(unsigned short const *)
-?InheritsFrom@CClassPart@@QAEHPBG@Z
-; public: virtual long __stdcall CWbemObject::InheritsFrom(unsigned short const *)
-?InheritsFrom@CWbemObject@@UAGJPBG@Z
-; public: long __thiscall CWbemFetchRefrMgr::Init(struct _IWmiProvSS *,struct IWbemServices *)
-?Init@CWbemFetchRefrMgr@@QAEJPAU_IWmiProvSS@@PAUIWbemServices@@@Z
-; public: virtual long __stdcall CWbemFetchRefrMgr::XFetchRefrMgr::Init(struct _IWmiProvSS *,struct IWbemServices *)
-?Init@XFetchRefrMgr@CWbemFetchRefrMgr@@UAGJPAU_IWmiProvSS@@PAUIWbemServices@@@Z
-; public: long __thiscall CWbemClass::InitEmpty(int,int)
-?InitEmpty@CWbemClass@@QAEJHH@Z
-; public: long __thiscall CWbemInstance::InitEmptyInstance(class CClassPart &,unsigned char *,int,class CDecorationPart *)
-?InitEmptyInstance@CWbemInstance@@QAEJAAVCClassPart@@PAEHPAVCDecorationPart@@@Z
-; public: long __thiscall CWbemInstance::InitNew(class CWbemClass *,int,class CDecorationPart *)
-?InitNew@CWbemInstance@@QAEJPAVCWbemClass@@HPAVCDecorationPart@@@Z
-; public: long __thiscall CClassPart::InitPropertyQualifierSet(unsigned short const *,class CClassPropertyQualifierSet *)
-?InitPropertyQualifierSet@CClassPart@@QAEJPBGPAVCClassPropertyQualifierSet@@@Z
-; public: static void __stdcall CKnownStringTable::Initialize(void)
-?Initialize@CKnownStringTable@@SGXXZ
-; public: virtual int __thiscall CWbemRefreshingSvc::Initialize(void)
-?Initialize@CWbemRefreshingSvc@@UAEHXZ
-; protected: long __thiscall CWbemInstance::InitializePropQualifierSet(class CPropertyInformation *,class CInstancePropertyQualifierSet &)
-?InitializePropQualifierSet@CWbemInstance@@IAEJPAVCPropertyInformation@@AAVCInstancePropertyQualifierSet@@@Z
-; protected: long __thiscall CWbemInstance::InitializePropQualifierSet(unsigned short const *,class CInstancePropertyQualifierSet &)
-?InitializePropQualifierSet@CWbemInstance@@IAEJPBGAAVCInstancePropertyQualifierSet@@@Z
-; public: bool __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::InsertAt(int,class CFastPropertyBagItem *)
-?InsertAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE_NHPAVCFastPropertyBagItem@@@Z
-; public: bool __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::InsertAt(int,class CWmiTextSource *)
-?InsertAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE_NHPAVCWmiTextSource@@@Z
-; public: long __thiscall CPropertyLookupTable::InsertProperty(struct CPropertyLookup const &,int &)
-?InsertProperty@CPropertyLookupTable@@QAEJABUCPropertyLookup@@AAH@Z
-; public: long __thiscall CPropertyLookupTable::InsertProperty(unsigned short const *,unsigned long,int &)
-?InsertProperty@CPropertyLookupTable@@QAEJPBGKAAH@Z
-; public: long __thiscall CQualifierSetList::InsertQualifierSet(int)
-?InsertQualifierSet@CQualifierSetList@@QAEJH@Z
-; public: int __thiscall CClassPart::IsAbstract(void)
-?IsAbstract@CClassPart@@QAEHXZ
-; public: int __thiscall CWbemClass::IsAbstract(void)
-?IsAbstract@CWbemClass@@QAEHXZ
-; public: int __thiscall CClassPart::IsAmendment(void)
-?IsAmendment@CClassPart@@QAEHXZ
-; public: int __thiscall CWbemClass::IsAmendment(void)
-?IsAmendment@CWbemClass@@QAEHXZ
-; public: int __thiscall CType::IsArray(void)
-?IsArray@CType@@QAEHXZ
-; public: static int __stdcall CType::IsArray(unsigned long)
-?IsArray@CType@@SGHK@Z
-; public: long __thiscall CWbemObject::IsArrayPropertyHandle(long,long *,unsigned long *)
-?IsArrayPropertyHandle@CWbemObject@@QAEJJPAJPAK@Z
-; public: long __thiscall CUntypedArray::IsArrayValid(class CType,class CFastHeap *)
-?IsArrayValid@CUntypedArray@@QAEJVCType@@PAVCFastHeap@@@Z
-; protected: static int __stdcall CCompressedString::IsAsciiable(unsigned short const *)
-?IsAsciiable@CCompressedString@@KGHPBG@Z
-; public: int __thiscall CClassPart::IsAssociation(void)
-?IsAssociation@CClassPart@@QAEHXZ
-; public: int __thiscall CClassPart::IsAutocook(void)
-?IsAutocook@CClassPart@@QAEHXZ
-; public: int __thiscall CWbemClass::IsChildOf(class CWbemClass *)
-?IsChildOf@CWbemClass@@QAEHPAV1@@Z
-; protected: int __thiscall CWbemInstance::IsClassPartAvailable(void)
-?IsClassPartAvailable@CWbemInstance@@IAEHXZ
-; protected: int __thiscall CWbemInstance::IsClassPartInternal(void)
-?IsClassPartInternal@CWbemInstance@@IAEHXZ
-; protected: int __thiscall CWbemInstance::IsClassPartShared(void)
-?IsClassPartShared@CWbemInstance@@IAEHXZ
-; public: int __thiscall CDecorationPart::IsClientOnly(void)
-?IsClientOnly@CDecorationPart@@QAEHXZ
-; public: int __thiscall CWbemObject::IsClientOnly(void)
-?IsClientOnly@CWbemObject@@QAEHXZ
-; public: int __thiscall CQualifierSet::IsComplete(void)
-?IsComplete@CQualifierSet@@QAEHXZ
-; public: int __thiscall CClassPart::IsCompressed(void)
-?IsCompressed@CClassPart@@QAEHXZ
-; public: int __thiscall CWbemClass::IsCompressed(void)
-?IsCompressed@CWbemClass@@QAEHXZ
-; public: int __thiscall CDecorationPart::IsDecorated(void)
-?IsDecorated@CDecorationPart@@QAEHXZ
-; protected: int __thiscall CWbemInstance::IsDecorationPartAvailable(void)
-?IsDecorationPartAvailable@CWbemInstance@@IAEHXZ
-; public: int __thiscall CDataTable::IsDefault(int)
-?IsDefault@CDataTable@@QAEHH@Z
-; public: int __thiscall CClassPart::IsDynamic(void)
-?IsDynamic@CClassPart@@QAEHXZ
-; public: int __thiscall CWbemClass::IsDynamic(void)
-?IsDynamic@CWbemClass@@QAEHXZ
-; public: int __thiscall CBasicQualifierSet::IsEmpty(void)
-?IsEmpty@CBasicQualifierSet@@QAEHXZ
-; public: static int __stdcall CBasicQualifierSet::IsEmpty(unsigned char *)
-?IsEmpty@CBasicQualifierSet@@SGHPAE@Z
-; public: int __thiscall CCompressedStringList::IsEmpty(void)
-?IsEmpty@CCompressedStringList@@QAEHXZ
-; public: bool __thiscall CInternalString::IsEmpty(void)
-?IsEmpty@CInternalString@@QAE_NXZ
-; public: int __thiscall CQualifierSetList::IsEmpty(void)
-?IsEmpty@CQualifierSetList@@QAEHXZ
-; public: static int __stdcall CFastHeap::IsFakeAddress(unsigned long)
-?IsFakeAddress@CFastHeap@@SGHK@Z
-; public: int __thiscall CClassPart::IsHiPerf(void)
-?IsHiPerf@CClassPart@@QAEHXZ
-; public: int __thiscall CClassPart::IsIdenticalWith(class CClassPart &)
-?IsIdenticalWith@CClassPart@@QAEHAAV1@@Z
-; public: static int __stdcall CSystemProperties::IsIllegalDerivedClass(unsigned short const *)
-?IsIllegalDerivedClass@CSystemProperties@@SGHPBG@Z
-; public: virtual int __stdcall CWbemCallSecurity::IsImpersonating(void)
-?IsImpersonating@CWbemCallSecurity@@UAGHXZ
-; public: int __thiscall CWbemClass::IsIndexLocal(unsigned short const *)
-?IsIndexLocal@CWbemClass@@QAEHPBG@Z
-; public: int __thiscall CDecorationPart::IsInstance(void)
-?IsInstance@CDecorationPart@@QAEHXZ
-; public: int __thiscall CWbemObject::IsInstance(void)
-?IsInstance@CWbemObject@@QAEHXZ
-; public: int __thiscall CWbemInstance::IsInstanceOf(class CWbemClass *)
-?IsInstanceOf@CWbemInstance@@QAEHPAVCWbemClass@@@Z
-; protected: int __thiscall CWbemInstance::IsInstancePartAvailable(void)
-?IsInstancePartAvailable@CWbemInstance@@IAEHXZ
-; public: int __thiscall CWbemClass::IsKeyLocal(unsigned short const *)
-?IsKeyLocal@CWbemClass@@QAEHPBG@Z
-; public: int __thiscall CClassPart::IsKeyed(void)
-?IsKeyed@CClassPart@@QAEHXZ
-; public: virtual int __thiscall CWbemClass::IsKeyed(void)
-?IsKeyed@CWbemClass@@UAEHXZ
-; public: virtual int __thiscall CWbemInstance::IsKeyed(void)
-?IsKeyed@CWbemInstance@@UAEHXZ
-; public: int __thiscall CDecorationPart::IsLimited(void)
-?IsLimited@CDecorationPart@@QAEHXZ
-; public: int __thiscall CWbemObject::IsLimited(void)
-?IsLimited@CWbemObject@@QAEHXZ
-; public: int __thiscall CClassPart::IsLocalized(void)
-?IsLocalized@CClassPart@@QAEHXZ
-; public: int __thiscall CInstancePart::IsLocalized(void)
-?IsLocalized@CInstancePart@@QAEHXZ
-; public: virtual int __thiscall CWbemClass::IsLocalized(void)
-?IsLocalized@CWbemClass@@UAEHXZ
-; public: virtual int __thiscall CWbemInstance::IsLocalized(void)
-?IsLocalized@CWbemInstance@@UAEHXZ
-; public: static int __stdcall CType::IsMemCopyAble(unsigned short,long)
-?IsMemCopyAble@CType@@SGHGJ@Z
-; public: int __thiscall CType::IsNonArrayPointerType(void)
-?IsNonArrayPointerType@CType@@QAEHXZ
-; public: static int __stdcall CType::IsNonArrayPointerType(unsigned long)
-?IsNonArrayPointerType@CType@@SGHK@Z
-; public: int __thiscall CDataTable::IsNull(int)
-?IsNull@CDataTable@@QAEHH@Z
-; public: virtual long __stdcall CWbemObject::IsObjectInstance(void)
-?IsObjectInstance@CWbemObject@@UAGJXZ
-; protected: int __thiscall CFastHeap::IsOutOfLine(void)
-?IsOutOfLine@CFastHeap@@IAEHXZ
-; public: virtual long __stdcall CWbemClass::IsParentClass(long,struct _IWmiObject *)
-?IsParentClass@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemInstance::IsParentClass(long,struct _IWmiObject *)
-?IsParentClass@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
-; public: int __thiscall CType::IsParents(void)
-?IsParents@CType@@QAEHXZ
-; public: static int __stdcall CType::IsParents(unsigned long)
-?IsParents@CType@@SGHK@Z
-; public: int __thiscall CType::IsPointerType(void)
-?IsPointerType@CType@@QAEHXZ
-; public: static int __stdcall CType::IsPointerType(unsigned long)
-?IsPointerType@CType@@SGHK@Z
-; public: static int __stdcall CSystemProperties::IsPossibleSystemPropertyName(unsigned short const *)
-?IsPossibleSystemPropertyName@CSystemProperties@@SGHPBG@Z
-; protected: int __thiscall CMethodPart::IsPropagated(int)
-?IsPropagated@CMethodPart@@IAEHH@Z
-; public: int __thiscall CClassPart::IsPropertyIndexed(unsigned short const *)
-?IsPropertyIndexed@CClassPart@@QAEHPBG@Z
-; public: int __thiscall CClassPart::IsPropertyKeyed(unsigned short const *)
-?IsPropertyKeyed@CClassPart@@QAEHPBG@Z
-; public: static int __stdcall CReservedWordTable::IsReservedWord(unsigned short const *)
-?IsReservedWord@CReservedWordTable@@SGHPBG@Z
-; public: int __thiscall CWbemObject::IsSameClass(class CWbemObject *)
-?IsSameClass@CWbemObject@@QAEHPAV1@@Z
-; public: int __thiscall CClassPart::IsSingleton(void)
-?IsSingleton@CClassPart@@QAEHXZ
-; public: int __thiscall CWbemClass::IsSingleton(void)
-?IsSingleton@CWbemClass@@QAEHXZ
-; public: int __thiscall CType::IsStringType(void)
-?IsStringType@CType@@QAEHXZ
-; public: static int __stdcall CType::IsStringType(unsigned long)
-?IsStringType@CType@@SGHK@Z
-; public: int __thiscall CClassPart::IsTopLevel(void)
-?IsTopLevel@CClassPart@@QAEHXZ
-; public: static int __stdcall CMethodDescription::IsTouched(struct CMethodDescription *,class CFastHeap *)
-?IsTouched@CMethodDescription@@SGHPAU1@PAVCFastHeap@@@Z
-; public: int __thiscall CMethodPart::IsTouched(int,int *)
-?IsTouched@CMethodPart@@QAEHHPAH@Z
-; public: int __thiscall CMethodPart::IsTouched(unsigned short const *,int *)
-?IsTouched@CMethodPart@@QAEHPBGPAH@Z
-; public: int __thiscall CCompressedString::IsUnicode(void)const 
-?IsUnicode@CCompressedString@@QBEHXZ
-; public: long __thiscall CWbemDataPacket::IsValid(void)
-?IsValid@CWbemDataPacket@@QAEJXZ
-; public: bool __thiscall CWbemObjectArrayPacket::IsValid(class CWbemClassCache *)
-?IsValid@CWbemObjectArrayPacket@@QAE_NPAVCWbemClassCache@@@Z
-; public: long __thiscall CClassPart::IsValidClassPart(void)
-?IsValidClassPart@CClassPart@@QAEJXZ
-; public: long __thiscall CInstancePart::IsValidInstancePart(class CClassPart *,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
-?IsValidInstancePart@CInstancePart@@QAEJPAVCClassPart@@AAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: int __thiscall CWbemInstance::IsValidKey(unsigned short const *)
-?IsValidKey@CWbemInstance@@QAEHPBG@Z
-; public: long __thiscall CMethodPart::IsValidMethodPart(void)
-?IsValidMethodPart@CMethodPart@@QAEJXZ
-; public: virtual long __thiscall CWbemClass::IsValidObj(void)
-?IsValidObj@CWbemClass@@UAEJXZ
-; public: virtual long __thiscall CWbemInstance::IsValidObj(void)
-?IsValidObj@CWbemInstance@@UAEJXZ
-; public: long __thiscall CClassPart::IsValidPropertyHandle(long)
-?IsValidPropertyHandle@CClassPart@@QAEJJ@Z
-; public: long __thiscall CWbemObject::IsValidPropertyHandle(long)
-?IsValidPropertyHandle@CWbemObject@@QAEJJ@Z
-; public: bool __thiscall CFastHeap::IsValidPtr(unsigned long)
-?IsValidPtr@CFastHeap@@QAE_NK@Z
-; public: long __thiscall CBasicQualifierSet::IsValidQualifierSet(void)
-?IsValidQualifierSet@CBasicQualifierSet@@QAEJXZ
-; public: static int __stdcall CBasicQualifierSet::IsValidQualifierType(unsigned short)
-?IsValidQualifierType@CBasicQualifierSet@@SGHG@Z
-; protected: int __thiscall CWbemRefreshingSvc::IsWinmgmt(struct _WBEM_REFRESHER_ID *)
-?IsWinmgmt@CWbemRefreshingSvc@@IAEHPAU_WBEM_REFRESHER_ID@@@Z
-; public: static long __stdcall CUntypedArray::LoadFromCVarVector(class CPtrSource *,class CVarVector &,unsigned long,class CFastHeap *,unsigned long &,int)
-?LoadFromCVarVector@CUntypedArray@@SGJPAVCPtrSource@@AAVCVarVector@@KPAVCFastHeap@@AAKH@Z
-; protected: long __thiscall CWbemObject::LocalizeProperties(int,bool,struct IWbemClassObject *,struct IWbemClassObject *,bool &)
-?LocalizeProperties@CWbemObject@@IAEJH_NPAUIWbemClassObject@@1AA_N@Z
-; protected: long __thiscall CWbemObject::LocalizeQualifiers(int,bool,struct IWbemQualifierSet *,struct IWbemQualifierSet *,bool &)
-?LocalizeQualifiers@CWbemObject@@IAEJH_NPAUIWbemQualifierSet@@1AA_N@Z
-; public: int __thiscall CHiPerfLock::Lock(unsigned long)
-?Lock@CHiPerfLock@@QAEHK@Z
-; public: int __thiscall CSharedLock::Lock(unsigned long)
-?Lock@CSharedLock@@QAEHK@Z
-; public: virtual long __stdcall CWbemObject::Lock(long)
-?Lock@CWbemObject@@UAGJJ@Z
-; protected: static char __stdcall CCompressedString::LowerByte(unsigned short)
-?LowerByte@CCompressedString@@KGDG@Z
-; public: static unsigned long __stdcall CType::MakeArray(unsigned long)
-?MakeArray@CType@@SGKK@Z
-; public: static unsigned long __stdcall CFastHeap::MakeFakeFromIndex(int)
-?MakeFakeFromIndex@CFastHeap@@SGKH@Z
-; public: static unsigned long __stdcall CType::MakeLocal(unsigned long)
-?MakeLocal@CType@@SGKK@Z
-; public: void __thiscall CCompressedString::MakeLowercase(void)
-?MakeLowercase@CCompressedString@@QAEXXZ
-; public: static unsigned long __stdcall CType::MakeNotArray(unsigned long)
-?MakeNotArray@CType@@SGKK@Z
-; public: static unsigned long __stdcall CType::MakeParents(unsigned long)
-?MakeParents@CType@@SGKK@Z
-; public: virtual long __stdcall CWbemClass::MakeSubsetInst(struct _IWmiObject *,struct _IWmiObject * *)
-?MakeSubsetInst@CWbemClass@@UAGJPAU_IWmiObject@@PAPAU2@@Z
-; public: virtual long __stdcall CWbemInstance::MakeSubsetInst(struct _IWmiObject *,struct _IWmiObject * *)
-?MakeSubsetInst@CWbemInstance@@UAGJPAU_IWmiObject@@PAPAU2@@Z
-; public: void __thiscall CLimitationMapping::Map(class CPropertyInformation *,class CPropertyInformation *,int)
-?Map@CLimitationMapping@@QAEXPAVCPropertyInformation@@0H@Z
-; public: int __thiscall CClassPart::MapLimitation(long,class CWStringArray *,class CLimitationMapping *)
-?MapLimitation@CClassPart@@QAEHJPAVCWStringArray@@PAVCLimitationMapping@@@Z
-; public: static int __stdcall CDecorationPart::MapLimitation(class CWStringArray *,class CLimitationMapping *)
-?MapLimitation@CDecorationPart@@SGHPAVCWStringArray@@PAVCLimitationMapping@@@Z
-; public: int __thiscall CPropertyLookupTable::MapLimitation(long,class CWStringArray *,class CLimitationMapping *)
-?MapLimitation@CPropertyLookupTable@@QAEHJPAVCWStringArray@@PAVCLimitationMapping@@@Z
-; public: int __thiscall CWbemClass::MapLimitation(long,class CWStringArray *,class CLimitationMapping *)
-?MapLimitation@CWbemClass@@QAEHJPAVCWStringArray@@PAVCLimitationMapping@@@Z
-; public: static void __stdcall CDecorationPart::MarkKeyRemoval(unsigned char *)
-?MarkKeyRemoval@CDecorationPart@@SGXPAE@Z
-; public: virtual long __stdcall CWbemObject::MarshalInterface(struct IStream *,struct _GUID const &,void *,unsigned long,void *,unsigned long)
-?MarshalInterface@CWbemObject@@UAGJPAUIStream@@ABU_GUID@@PAXK2K@Z
-; public: long __thiscall CWbemMtgtDeliverEventPacket::MarshalPacket(long,struct IWbemClassObject * *,struct _GUID *,int *)
-?MarshalPacket@CWbemMtgtDeliverEventPacket@@QAEJJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
-; public: long __thiscall CWbemMtgtDeliverEventPacket::MarshalPacket(unsigned char *,unsigned long,long,struct IWbemClassObject * *,struct _GUID *,int *)
-?MarshalPacket@CWbemMtgtDeliverEventPacket@@QAEJPAEKJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
-; public: long __thiscall CWbemObjectArrayPacket::MarshalPacket(long,struct IWbemClassObject * *,struct _GUID *,int *)
-?MarshalPacket@CWbemObjectArrayPacket@@QAEJJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
-; public: long __thiscall CWbemObjectArrayPacket::MarshalPacket(unsigned char *,unsigned long,long,struct IWbemClassObject * *,struct _GUID *,int *)
-?MarshalPacket@CWbemObjectArrayPacket@@QAEJPAEKJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
-; public: long __thiscall CWbemSmartEnumNextPacket::MarshalPacket(long,struct IWbemClassObject * *,struct _GUID *,int *)
-?MarshalPacket@CWbemSmartEnumNextPacket@@QAEJJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
-; public: long __thiscall CWbemSmartEnumNextPacket::MarshalPacket(unsigned char *,unsigned long,long,struct IWbemClassObject * *,struct _GUID *,int *)
-?MarshalPacket@CWbemSmartEnumNextPacket@@QAEJPAEKJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
-; public: static int __stdcall CSystemProperties::MaxNumProperties(void)
-?MaxNumProperties@CSystemProperties@@SGHXZ
-; public: static unsigned char * __stdcall CBasicQualifierSet::Merge(unsigned char *,class CFastHeap *,unsigned char *,class CFastHeap *,unsigned char *,class CFastHeap *,int)
-?Merge@CBasicQualifierSet@@SGPAEPAEPAVCFastHeap@@0101H@Z
-; public: static unsigned char * __stdcall CClassAndMethods::Merge(class CClassAndMethods &,class CClassAndMethods &,unsigned char *,int)
-?Merge@CClassAndMethods@@SGPAEAAV1@0PAEH@Z
-; public: static unsigned char * __stdcall CClassPart::Merge(class CClassPart &,class CClassPart &,unsigned char *,int)
-?Merge@CClassPart@@SGPAEAAV1@0PAEH@Z
-; public: static unsigned char * __stdcall CDataTable::Merge(class CDataTable *,class CFastHeap *,class CDataTable *,class CFastHeap *,class CPropertyLookupTable *,unsigned char *,class CFastHeap *)
-?Merge@CDataTable@@SGPAEPAV1@PAVCFastHeap@@01PAVCPropertyLookupTable@@PAE1@Z
-; public: static unsigned char * __stdcall CDerivationList::Merge(class CCompressedStringList &,class CCompressedStringList &,unsigned char *)
-?Merge@CDerivationList@@SGPAEAAVCCompressedStringList@@0PAE@Z
-; public: static unsigned char * __stdcall CMethodPart::Merge(class CMethodPart &,class CMethodPart &,unsigned char *,unsigned long)
-?Merge@CMethodPart@@SGPAEAAV1@0PAEK@Z
-; public: static unsigned char * __stdcall CPropertyLookupTable::Merge(class CPropertyLookupTable *,class CFastHeap *,class CPropertyLookupTable *,class CFastHeap *,unsigned char *,class CFastHeap *,int)
-?Merge@CPropertyLookupTable@@SGPAEPAV1@PAVCFastHeap@@01PAE1H@Z
-; public: unsigned char * __thiscall CWbemClass::Merge(unsigned char *,unsigned char *,int,int)
-?Merge@CWbemClass@@QAEPAEPAE0HH@Z
-; public: virtual long __stdcall CWbemClass::Merge(long,unsigned long,void *,struct _IWmiObject * *)
-?Merge@CWbemClass@@UAGJJKPAXPAPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemInstance::Merge(long,unsigned long,void *,struct _IWmiObject * *)
-?Merge@CWbemInstance@@UAGJJKPAXPAPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemObject::MergeAmended(long,struct _IWmiObject *)
-?MergeAmended@CWbemObject@@UAGJJPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemClass::MergeAndDecorate(long,unsigned long,void *,unsigned short *,unsigned short *,struct _IWmiObject * *)
-?MergeAndDecorate@CWbemClass@@UAGJJKPAXPAG1PAPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemInstance::MergeAndDecorate(long,unsigned long,void *,unsigned short *,unsigned short *,struct _IWmiObject * *)
-?MergeAndDecorate@CWbemInstance@@UAGJJKPAXPAG1PAPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemClass::MergeClassPart(struct IWbemClassObject *)
-?MergeClassPart@CWbemClass@@UAGJPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemInstance::MergeClassPart(struct IWbemClassObject *)
-?MergeClassPart@CWbemInstance@@UAGJPAUIWbemClassObject@@@Z
-; public: bool __thiscall CCompressedString::NValidateSize(int)const 
-?NValidateSize@CCompressedString@@QBE_NH@Z
-; public: static class CWbemCallSecurity * __stdcall CWbemCallSecurity::New(void)
-?New@CWbemCallSecurity@@SGPAV1@XZ
-; public: static class CWbemThreadSecurityHandle * __stdcall CWbemThreadSecurityHandle::New(void)
-?New@CWbemThreadSecurityHandle@@SGPAV1@XZ
-; public: virtual long __stdcall CQualifierSet::Next(long,unsigned short * *,struct tagVARIANT *,long *)
-?Next@CQualifierSet@@UAGJJPAPAGPAUtagVARIANT@@PAJ@Z
-; public: virtual long __stdcall CWbemObject::Next(long,unsigned short * *,struct tagVARIANT *,long *,long *)
-?Next@CWbemObject@@UAGJJPAPAGPAUtagVARIANT@@PAJ2@Z
-; public: int __thiscall CLimitationMapping::NextMapping(class CPropertyInformation *,class CPropertyInformation *)
-?NextMapping@CLimitationMapping@@QAEHPAVCPropertyInformation@@0@Z
-; public: virtual long __stdcall CWbemClass::NextMethod(long,unsigned short * *,struct IWbemClassObject * *,struct IWbemClassObject * *)
-?NextMethod@CWbemClass@@UAGJJPAPAGPAPAUIWbemClassObject@@1@Z
-; public: virtual long __stdcall CWbemInstance::NextMethod(long,unsigned short * *,struct IWbemClassObject * *,struct IWbemClassObject * *)
-?NextMethod@CWbemInstance@@UAGJJPAPAGPAPAUIWbemClassObject@@1@Z
-; public: long __thiscall CWbemInstance::PlugKeyHoles(void)
-?PlugKeyHoles@CWbemInstance@@QAEJXZ
-; public: virtual long __stdcall CQualifierSet::Put(unsigned short const *,struct tagVARIANT *,long)
-?Put@CQualifierSet@@UAGJPBGPAUtagVARIANT@@J@Z
-; public: virtual long __stdcall CWbemClass::Put(unsigned short const *,long,struct tagVARIANT *,long)
-?Put@CWbemClass@@UAGJPBGJPAUtagVARIANT@@J@Z
-; public: virtual long __stdcall CWbemInstance::Put(unsigned short const *,long,struct tagVARIANT *,long)
-?Put@CWbemInstance@@UAGJPBGJPAUtagVARIANT@@J@Z
-; public: long __thiscall CMethodPart::PutMethod(unsigned short const *,long,class CWbemObject *,class CWbemObject *)
-?PutMethod@CMethodPart@@QAEJPBGJPAVCWbemObject@@1@Z
-; public: virtual long __stdcall CWbemClass::PutMethod(unsigned short const *,long,struct IWbemClassObject *,struct IWbemClassObject *)
-?PutMethod@CWbemClass@@UAGJPBGJPAUIWbemClassObject@@1@Z
-; public: virtual long __stdcall CWbemInstance::PutMethod(unsigned short const *,long,struct IWbemClassObject *,struct IWbemClassObject *)
-?PutMethod@CWbemInstance@@UAGJPBGJPAUIWbemClassObject@@1@Z
-; public: virtual long __stdcall CWbemCallSecurity::QueryBlanket(unsigned long *,unsigned long *,unsigned short * *,unsigned long *,unsigned long *,void * *,unsigned long *)
-?QueryBlanket@CWbemCallSecurity@@UAGJPAK0PAPAG00PAPAX0@Z
-; public: virtual long __stdcall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CQualifierSet::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CQualifierSet@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CWbemCallSecurity::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CWbemCallSecurity@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CWbemObject::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CWbemObject@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CWbemThreadSecurityHandle::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CWbemThreadSecurityHandle@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CWbemObject::QueryObjectFlags(long,unsigned __int64,unsigned __int64 *)
-?QueryObjectFlags@CWbemObject@@UAGJJ_KPA_K@Z
-; public: virtual long __stdcall CWbemObject::QueryPartInfo(unsigned long *)
-?QueryPartInfo@CWbemObject@@UAGJPAK@Z
-; public: virtual long __stdcall CWbemObject::QueryPropertyFlags(long,unsigned short const *,unsigned __int64,unsigned __int64 *)
-?QueryPropertyFlags@CWbemObject@@UAGJJPBG_KPA_K@Z
-; public: virtual long __stdcall CWbemObject::ReadDWORD(long,unsigned long *)
-?ReadDWORD@CWbemObject@@UAGJJPAK@Z
-; public: virtual long __stdcall CWbemObject::ReadProp(unsigned short const *,long,unsigned long,long *,long *,int *,unsigned long *,void *)
-?ReadProp@CWbemObject@@UAGJPBGJKPAJ1PAHPAKPAX@Z
-; public: virtual long __stdcall CWbemObject::ReadPropertyValue(long,long,long *,unsigned char *)
-?ReadPropertyValue@CWbemObject@@UAGJJJPAJPAE@Z
-; public: virtual long __stdcall CWbemObject::ReadQWORD(long,unsigned __int64 *)
-?ReadQWORD@CWbemObject@@UAGJJPA_K@Z
-; public: int __thiscall CClassPart::ReallocAndCompact(unsigned long)
-?ReallocAndCompact@CClassPart@@QAEHK@Z
-; public: int __thiscall CInstancePart::ReallocAndCompact(unsigned long)
-?ReallocAndCompact@CInstancePart@@QAEHK@Z
-; protected: static long __stdcall CUntypedArray::ReallocArray(class CPtrSource *,unsigned long,class CFastHeap *,unsigned long,unsigned long *,unsigned long *,unsigned long *)
-?ReallocArray@CUntypedArray@@KGJPAVCPtrSource@@KPAVCFastHeap@@KPAK22@Z
-; public: int __thiscall CFastHeap::Reallocate(unsigned long,unsigned long,unsigned long,unsigned long &)
-?Reallocate@CFastHeap@@QAEHKKKAAK@Z
-; protected: unsigned char * __thiscall CWbemObject::Reallocate(unsigned long)
-?Reallocate@CWbemObject@@IAEPAEK@Z
-; public: void __thiscall CBasicQualifierSet::Rebase(unsigned char *)
-?Rebase@CBasicQualifierSet@@QAEXPAE@Z
-; public: void __thiscall CClassAndMethods::Rebase(unsigned char *)
-?Rebase@CClassAndMethods@@QAEXPAE@Z
-; public: void __thiscall CClassPart::Rebase(unsigned char *)
-?Rebase@CClassPart@@QAEXPAE@Z
-; public: void __thiscall CCompressedStringList::Rebase(unsigned char *)
-?Rebase@CCompressedStringList@@QAEXPAE@Z
-; public: void __thiscall CDataTable::Rebase(unsigned char *)
-?Rebase@CDataTable@@QAEXPAE@Z
-; public: void __thiscall CDecorationPart::Rebase(unsigned char *)
-?Rebase@CDecorationPart@@QAEXPAE@Z
-; public: void __thiscall CFastHeap::Rebase(unsigned char *)
-?Rebase@CFastHeap@@QAEXPAE@Z
-; public: void __thiscall CInstancePart::Rebase(unsigned char *)
-?Rebase@CInstancePart@@QAEXPAE@Z
-; public: void __thiscall CMethodPart::Rebase(unsigned char *)
-?Rebase@CMethodPart@@QAEXPAE@Z
-; public: void __thiscall CPropertyLookupTable::Rebase(unsigned char *)
-?Rebase@CPropertyLookupTable@@QAEXPAE@Z
-; public: void __thiscall CQualifierSetList::Rebase(unsigned char *)
-?Rebase@CQualifierSetList@@QAEXPAE@Z
-; public: void __thiscall CQualifierSetList::Rebase(void)
-?Rebase@CQualifierSetList@@QAEXXZ
-; public: void __thiscall CWbemClass::Rebase(unsigned char *)
-?Rebase@CWbemClass@@QAEXPAE@Z
-; public: void __thiscall CWbemInstance::Rebase(unsigned char *)
-?Rebase@CWbemInstance@@QAEXPAE@Z
-; public: void __thiscall CInstancePQSContainer::RebaseSecondarySet(void)
-?RebaseSecondarySet@CInstancePQSContainer@@QAEXXZ
-; public: enum EReconciliation  __thiscall CClassAndMethods::ReconcileWith(class CClassAndMethods &)
-?ReconcileWith@CClassAndMethods@@QAE?AW4EReconciliation@@AAV1@@Z
-; public: enum EReconciliation  __thiscall CClassPart::ReconcileWith(class CClassPart &)
-?ReconcileWith@CClassPart@@QAE?AW4EReconciliation@@AAV1@@Z
-; public: enum EReconciliation  __thiscall CMethodPart::ReconcileWith(class CMethodPart &)
-?ReconcileWith@CMethodPart@@QAE?AW4EReconciliation@@AAV1@@Z
-; public: enum EReconciliation  __thiscall CWbemClass::ReconcileWith(class CWbemClass *)
-?ReconcileWith@CWbemClass@@QAE?AW4EReconciliation@@PAV1@@Z
-; public: virtual long __stdcall CWbemClass::ReconcileWith(long,struct _IWmiObject *)
-?ReconcileWith@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemInstance::ReconcileWith(long,struct _IWmiObject *)
-?ReconcileWith@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
-; protected: virtual long __thiscall CWbemRefreshingSvc::ReconnectRemoteRefresher(struct _WBEM_REFRESHER_ID *,long,long,unsigned long,struct _WBEM_RECONNECT_INFO *,struct _WBEM_RECONNECT_RESULTS *,unsigned long *)
-?ReconnectRemoteRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@JJKPAU_WBEM_RECONNECT_INFO@@PAU_WBEM_RECONNECT_RESULTS@@PAK@Z
-; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::ReconnectRemoteRefresher(struct _WBEM_REFRESHER_ID *,long,long,unsigned long,struct _WBEM_RECONNECT_INFO *,struct _WBEM_RECONNECT_RESULTS *,unsigned long *)
-?ReconnectRemoteRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@JJKPAU_WBEM_RECONNECT_INFO@@PAU_WBEM_RECONNECT_RESULTS@@PAK@Z
-; public: void __thiscall CFastHeap::Reduce(unsigned long,unsigned long,unsigned long)
-?Reduce@CFastHeap@@QAEXKKK@Z
-; public: void __thiscall CWbemClass::ReduceClassAndMethodsSpace(unsigned long)
-?ReduceClassAndMethodsSpace@CWbemClass@@QAEXK@Z
-; public: virtual void __thiscall CClassAndMethods::ReduceClassPartSpace(class CClassPart *,unsigned long)
-?ReduceClassPartSpace@CClassAndMethods@@UAEXPAVCClassPart@@K@Z
-; public: virtual void __thiscall CWbemInstance::ReduceClassPartSpace(class CClassPart *,unsigned long)
-?ReduceClassPartSpace@CWbemInstance@@UAEXPAVCClassPart@@K@Z
-; public: virtual void __thiscall CClassPart::ReduceDataTableSpace(unsigned char *,unsigned long,unsigned long)
-?ReduceDataTableSpace@CClassPart@@UAEXPAEKK@Z
-; public: virtual void __thiscall CInstancePart::ReduceDataTableSpace(unsigned char *,unsigned long,unsigned long)
-?ReduceDataTableSpace@CInstancePart@@UAEXPAEKK@Z
-; public: virtual void __thiscall CClassPart::ReduceHeapSize(unsigned char *,unsigned long,unsigned long)
-?ReduceHeapSize@CClassPart@@UAEXPAEKK@Z
-; public: virtual void __thiscall CInstancePart::ReduceHeapSize(unsigned char *,unsigned long,unsigned long)
-?ReduceHeapSize@CInstancePart@@UAEXPAEKK@Z
-; public: virtual void __thiscall CMethodPart::ReduceHeapSize(unsigned char *,unsigned long,unsigned long)
-?ReduceHeapSize@CMethodPart@@UAEXPAEKK@Z
-; public: virtual void __thiscall CWbemInstance::ReduceInstancePartSpace(class CInstancePart *,unsigned long)
-?ReduceInstancePartSpace@CWbemInstance@@UAEXPAVCInstancePart@@K@Z
-; public: virtual void __thiscall CClassAndMethods::ReduceMethodPartSpace(class CMethodPart *,unsigned long)
-?ReduceMethodPartSpace@CClassAndMethods@@UAEXPAVCMethodPart@@K@Z
-; public: virtual void __thiscall CClassPart::ReducePropertyTableSpace(unsigned char *,unsigned long,unsigned long)
-?ReducePropertyTableSpace@CClassPart@@UAEXPAEKK@Z
-; public: virtual void __thiscall CInstancePart::ReduceQualifierSetListSpace(unsigned char *,unsigned long,unsigned long)
-?ReduceQualifierSetListSpace@CInstancePart@@UAEXPAEKK@Z
-; public: virtual void __thiscall CClassPart::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ReduceQualifierSetSpace@CClassPart@@UAEXPAVCBasicQualifierSet@@K@Z
-; public: virtual void __thiscall CInstancePQSContainer::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ReduceQualifierSetSpace@CInstancePQSContainer@@UAEXPAVCBasicQualifierSet@@K@Z
-; public: virtual void __thiscall CInstancePart::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ReduceQualifierSetSpace@CInstancePart@@UAEXPAVCBasicQualifierSet@@K@Z
-; public: virtual void __thiscall CMethodQualifierSetContainer::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ReduceQualifierSetSpace@CMethodQualifierSetContainer@@UAEXPAVCBasicQualifierSet@@K@Z
-; public: void __thiscall CQualifierSetList::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
-?ReduceQualifierSetSpace@CQualifierSetList@@QAEXPAVCBasicQualifierSet@@K@Z
-; public: virtual unsigned long __stdcall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::Release(void)
-?Release@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::Release(void)
-?Release@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::Release(void)
-?Release@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::Release(void)
-?Release@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::Release(void)
-?Release@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::Release(void)
-?Release@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::Release(void)
-?Release@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UAGKXZ
-; public: virtual unsigned long __stdcall CClassQualifierSet::Release(void)
-?Release@CClassQualifierSet@@UAGKXZ
-; public: virtual unsigned long __stdcall CInstanceQualifierSet::Release(void)
-?Release@CInstanceQualifierSet@@UAGKXZ
-; public: virtual unsigned long __stdcall CMethodQualifierSet::Release(void)
-?Release@CMethodQualifierSet@@UAGKXZ
-; public: virtual unsigned long __stdcall CQualifierSet::Release(void)
-?Release@CQualifierSet@@UAGKXZ
-; public: virtual unsigned long __stdcall CWbemCallSecurity::Release(void)
-?Release@CWbemCallSecurity@@UAGKXZ
-; public: virtual unsigned long __stdcall CWbemObject::Release(void)
-?Release@CWbemObject@@UAGKXZ
-; public: virtual unsigned long __stdcall CWbemThreadSecurityHandle::Release(void)
-?Release@CWbemThreadSecurityHandle@@UAGKXZ
-; protected: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::ReleaseElement(class CFastPropertyBagItem *)
-?ReleaseElement@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@IAEXPAVCFastPropertyBagItem@@@Z
-; protected: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::ReleaseElement(class CWmiTextSource *)
-?ReleaseElement@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@IAEXPAVCWmiTextSource@@@Z
-; public: virtual long __stdcall CWbemObject::ReleaseMarshalData(struct IStream *)
-?ReleaseMarshalData@CWbemObject@@UAGJPAUIStream@@@Z
-; public: virtual long __stdcall CWbemRemoteRefresher::XWbemRemoteRefr::RemoteRefresh(long,long *,struct _WBEM_REFRESHED_OBJECT * *)
-?RemoteRefresh@XWbemRemoteRefr@CWbemRemoteRefresher@@UAGJJPAJPAPAU_WBEM_REFRESHED_OBJECT@@@Z
-; public: long __thiscall CFastPropertyBag::Remove(unsigned short const *)
-?Remove@CFastPropertyBag@@QAEJPBG@Z
-; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::RemoveAll(void)
-?RemoveAll@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXXZ
-; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::RemoveAll(void)
-?RemoveAll@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXXZ
-; public: long __thiscall CFastPropertyBag::RemoveAll(void)
-?RemoveAll@CFastPropertyBag@@QAEJXZ
-; public: virtual long __stdcall CWbemObject::RemoveArrayPropElementByHandle(long,long,unsigned long)
-?RemoveArrayPropElementByHandle@CWbemObject@@UAGJJJK@Z
-; public: virtual long __stdcall CWbemObject::RemoveArrayPropRangeByHandle(long,long,unsigned long,unsigned long)
-?RemoveArrayPropRangeByHandle@CWbemObject@@UAGJJJKK@Z
-; public: bool __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::RemoveAt(int,class CFastPropertyBagItem * *)
-?RemoveAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE_NHPAPAVCFastPropertyBagItem@@@Z
-; public: bool __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::RemoveAt(int,class CWmiTextSource * *)
-?RemoveAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE_NHPAPAVCWmiTextSource@@@Z
-; public: virtual long __stdcall CWbemObject::RemoveDecoration(void)
-?RemoveDecoration@CWbemObject@@UAGJXZ
-; protected: virtual long __thiscall CWbemRefreshingSvc::RemoveObjectFromRefresher(struct _WBEM_REFRESHER_ID *,long,long,unsigned long,unsigned long *)
-?RemoveObjectFromRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@JJKPAK@Z
-; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::RemoveObjectFromRefresher(struct _WBEM_REFRESHER_ID *,long,long,unsigned long,unsigned long *)
-?RemoveObjectFromRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@JJKPAK@Z
-; public: void __thiscall CDataTable::RemoveProperty(unsigned short,unsigned long,unsigned long)
-?RemoveProperty@CDataTable@@QAEXGKK@Z
-; public: long __thiscall CWbemObject::RemoveQualifierArrayRange(unsigned short const *,unsigned short const *,int,long,unsigned long,unsigned long)
-?RemoveQualifierArrayRange@CWbemObject@@QAEJPBG0HJKK@Z
-; public: static long __stdcall CUntypedArray::RemoveRange(class CPtrSource *,unsigned long,unsigned long,class CFastHeap *,unsigned long,unsigned long)
-?RemoveRange@CUntypedArray@@SGJPAVCPtrSource@@KKPAVCFastHeap@@KK@Z
-; public: void __thiscall CLimitationMapping::RemoveSpecific(void)
-?RemoveSpecific@CLimitationMapping@@QAEXXZ
-; public: long __thiscall CWbemInstance::Reparent(class CWbemClass *,class CWbemInstance * *)
-?Reparent@CWbemInstance@@QAEJPAVCWbemClass@@PAPAV1@@Z
-; public: void __thiscall CCompressedStringList::Reset(void)
-?Reset@CCompressedStringList@@QAEXXZ
-; public: void __thiscall CLimitationMapping::Reset(void)
-?Reset@CLimitationMapping@@QAEXXZ
-; protected: long __thiscall CWbemRefreshingSvc::ResetRefreshInfo(struct _WBEM_REFRESH_INFO *)
-?ResetRefreshInfo@CWbemRefreshingSvc@@IAEJPAU_WBEM_REFRESH_INFO@@@Z
-; public: unsigned char * __thiscall CClassPart::ResolveHeapPointer(unsigned long)
-?ResolveHeapPointer@CClassPart@@QAEPAEK@Z
-; public: unsigned char * __thiscall CFastHeap::ResolveHeapPointer(unsigned long)
-?ResolveHeapPointer@CFastHeap@@QAEPAEK@Z
-; public: class CCompressedString * __thiscall CClassPart::ResolveHeapString(unsigned long)
-?ResolveHeapString@CClassPart@@QAEPAVCCompressedString@@K@Z
-; public: class CCompressedString * __thiscall CFastHeap::ResolveString(unsigned long)
-?ResolveString@CFastHeap@@QAEPAVCCompressedString@@K@Z
-; public: virtual long __stdcall CWbemCallSecurity::RevertToSelf(void)
-?RevertToSelf@CWbemCallSecurity@@UAGJXZ
-; public: int __thiscall CQualifierSet::SelfRebase(void)
-?SelfRebase@CQualifierSet@@QAEHXZ
-; public: long __thiscall CInstancePart::SetActualValue(class CPropertyInformation *,class CVar *)
-?SetActualValue@CInstancePart@@QAEJPAVCPropertyInformation@@PAVCVar@@@Z
-; public: void __thiscall CLimitationMapping::SetAddChildKeys(int)
-?SetAddChildKeys@CLimitationMapping@@QAEXH@Z
-; public: void __thiscall CDataTable::SetAllToDefault(void)
-?SetAllToDefault@CDataTable@@QAEXXZ
-; public: void __thiscall CFastHeap::SetAllocatedDataLength(unsigned long)
-?SetAllocatedDataLength@CFastHeap@@QAEXK@Z
-; public: virtual long __stdcall CWbemObject::SetArrayPropElementByHandle(long,long,unsigned long,unsigned long,void *)
-?SetArrayPropElementByHandle@CWbemObject@@UAGJJJKKPAX@Z
-; public: virtual long __stdcall CWbemObject::SetArrayPropRangeByHandle(long,long,unsigned long,unsigned long,unsigned long,void *)
-?SetArrayPropRangeByHandle@CWbemObject@@UAGJJJKKKPAX@Z
-; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::SetAt(int,class CFastPropertyBagItem *,class CFastPropertyBagItem * *)
-?SetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXHPAVCFastPropertyBagItem@@PAPAV2@@Z
-; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::SetAt(int,class CWmiTextSource *,class CWmiTextSource * *)
-?SetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXHPAVCWmiTextSource@@PAPAV2@@Z
-; public: long __thiscall CClassPart::SetClassName(class CVar *)
-?SetClassName@CClassPart@@QAEJPAVCVar@@@Z
-; public: void __thiscall CLimitationMapping::SetClassObject(class CWbemClass *)
-?SetClassObject@CLimitationMapping@@QAEXPAVCWbemClass@@@Z
-; public: virtual long __stdcall CWbemClass::SetClassPart(void *,unsigned long)
-?SetClassPart@CWbemClass@@UAGJPAXK@Z
-; public: virtual long __stdcall CWbemInstance::SetClassPart(void *,unsigned long)
-?SetClassPart@CWbemInstance@@UAGJPAXK@Z
-; public: long __thiscall CClassPart::SetClassQualifier(unsigned short const *,long,class CTypedValue *)
-?SetClassQualifier@CClassPart@@QAEJPBGJPAVCTypedValue@@@Z
-; public: long __thiscall CClassPart::SetClassQualifier(unsigned short const *,class CVar *,long)
-?SetClassQualifier@CClassPart@@QAEJPBGPAVCVar@@J@Z
-; public: void __thiscall CDecorationPart::SetClientOnly(void)
-?SetClientOnly@CDecorationPart@@QAEXXZ
-; public: void __thiscall CWbemObject::SetClientOnly(void)
-?SetClientOnly@CWbemObject@@QAEXXZ
-; public: void __thiscall CFastHeap::SetContainer(class CHeapContainer *)
-?SetContainer@CFastHeap@@QAEXPAVCHeapContainer@@@Z
-; public: void __thiscall CBasicQualifierSet::SetData(unsigned char *,class CFastHeap *)
-?SetData@CBasicQualifierSet@@QAEXPAEPAVCFastHeap@@@Z
-; public: void __thiscall CClassAndMethods::SetData(unsigned char *,class CWbemClass *,class CClassAndMethods *)
-?SetData@CClassAndMethods@@QAEXPAEPAVCWbemClass@@PAV1@@Z
-; public: void __thiscall CClassPart::SetData(unsigned char *,class CClassPartContainer *,class CClassPart *)
-?SetData@CClassPart@@QAEXPAEPAVCClassPartContainer@@PAV1@@Z
-; public: void __thiscall CCompressedStringList::SetData(unsigned char *)
-?SetData@CCompressedStringList@@QAEXPAE@Z
-; public: void __thiscall CDataTable::SetData(unsigned char *,int,int,class CDataTableContainer *)
-?SetData@CDataTable@@QAEXPAEHHPAVCDataTableContainer@@@Z
-; public: void __thiscall CDecorationPart::SetData(unsigned char *)
-?SetData@CDecorationPart@@QAEXPAE@Z
-; public: int __thiscall CFastHeap::SetData(unsigned char *,class CHeapContainer *)
-?SetData@CFastHeap@@QAEHPAEPAVCHeapContainer@@@Z
-; public: void __thiscall CInstancePart::SetData(unsigned char *,class CInstancePartContainer *,class CClassPart &,unsigned int)
-?SetData@CInstancePart@@QAEXPAEPAVCInstancePartContainer@@AAVCClassPart@@I@Z
-; public: void __thiscall CMethodPart::SetData(unsigned char *,class CMethodPartContainer *,class CMethodPart *)
-?SetData@CMethodPart@@QAEXPAEPAVCMethodPartContainer@@PAV1@@Z
-; public: void __thiscall CMethodQualifierSet::SetData(class CMethodPart *,class CMethodPart *,unsigned short const *)
-?SetData@CMethodQualifierSet@@QAEXPAVCMethodPart@@0PBG@Z
-; public: void __thiscall CMethodQualifierSetContainer::SetData(class CMethodPart *,class CMethodPart *,unsigned short const *)
-?SetData@CMethodQualifierSetContainer@@QAEXPAVCMethodPart@@0PBG@Z
-; public: void __thiscall CPropertyLookupTable::SetData(unsigned char *,class CPropertyTableContainer *)
-?SetData@CPropertyLookupTable@@QAEXPAEPAVCPropertyTableContainer@@@Z
-; public: void __thiscall CQualifierSet::SetData(unsigned char *,class CQualifierSetContainer *,class CBasicQualifierSet *)
-?SetData@CQualifierSet@@QAEXPAEPAVCQualifierSetContainer@@PAVCBasicQualifierSet@@@Z
-; public: void __thiscall CQualifierSetList::SetData(unsigned char *,int,class CQualifierSetListContainer *)
-?SetData@CQualifierSetList@@QAEXPAEHPAVCQualifierSetListContainer@@@Z
-; public: void __thiscall CSharedLock::SetData(struct SHARED_LOCK_DATA *)
-?SetData@CSharedLock@@QAEXPAUSHARED_LOCK_DATA@@@Z
-; public: virtual void __thiscall CWbemClass::SetData(unsigned char *,int)
-?SetData@CWbemClass@@UAEXPAEH@Z
-; public: void __thiscall CWbemDataPacket::SetData(unsigned char *,unsigned long,bool)
-?SetData@CWbemDataPacket@@QAEXPAEK_N@Z
-; public: void __thiscall CWbemInstance::SetData(unsigned char *,int,unsigned long)
-?SetData@CWbemInstance@@QAEXPAEHK@Z
-; public: virtual void __thiscall CWbemInstance::SetData(unsigned char *,int)
-?SetData@CWbemInstance@@UAEXPAEH@Z
-; public: void __thiscall CWbemMtgtDeliverEventPacket::SetData(unsigned char *,unsigned long,bool)
-?SetData@CWbemMtgtDeliverEventPacket@@QAEXPAEK_N@Z
-; public: void __thiscall CWbemObjectArrayPacket::SetData(unsigned char *,unsigned long,bool)
-?SetData@CWbemObjectArrayPacket@@QAEXPAEK_N@Z
-; public: void __thiscall CWbemSmartEnumNextPacket::SetData(unsigned char *,unsigned long,bool)
-?SetData@CWbemSmartEnumNextPacket@@QAEXPAEK_N@Z
-; protected: static void __stdcall CBasicQualifierSet::SetDataLength(unsigned char *,unsigned long)
-?SetDataLength@CBasicQualifierSet@@KGXPAEK@Z
-; public: void __thiscall CClassPart::SetDataLength(unsigned long)
-?SetDataLength@CClassPart@@QAEXK@Z
-; public: void __thiscall CInstancePart::SetDataLength(unsigned long)
-?SetDataLength@CInstancePart@@QAEXK@Z
-; public: static void __stdcall CBasicQualifierSet::SetDataToNone(unsigned char *)
-?SetDataToNone@CBasicQualifierSet@@SGXPAE@Z
-; public: void __thiscall CClassAndMethods::SetDataWithNumProps(unsigned char *,class CWbemClass *,unsigned long,class CClassAndMethods *)
-?SetDataWithNumProps@CClassAndMethods@@QAEXPAEPAVCWbemClass@@KPAV1@@Z
-; public: void __thiscall CClassPart::SetDataWithNumProps(unsigned char *,class CClassPartContainer *,unsigned long,class CClassPart *)
-?SetDataWithNumProps@CClassPart@@QAEXPAEPAVCClassPartContainer@@KPAV1@@Z
-; public: virtual long __stdcall CWbemObject::SetDecoration(unsigned short const *,unsigned short const *)
-?SetDecoration@CWbemObject@@UAGJPBG0@Z
-; protected: long __thiscall CClassPart::SetDefaultValue(class CPropertyInformation *,class CVar *)
-?SetDefaultValue@CClassPart@@IAEJPAVCPropertyInformation@@PAVCVar@@@Z
-; public: long __thiscall CClassPart::SetDefaultValue(unsigned short const *,class CVar *)
-?SetDefaultValue@CClassPart@@QAEJPBGPAVCVar@@@Z
-; public: void __thiscall CDataTable::SetDefaultness(int,int)
-?SetDefaultness@CDataTable@@QAEXHH@Z
-; public: void __thiscall CLimitationMapping::SetFlags(long)
-?SetFlags@CLimitationMapping@@QAEXJ@Z
-; public: void __thiscall CCompressedString::SetFromAscii(char const *,unsigned int)
-?SetFromAscii@CCompressedString@@QAEXPBDI@Z
-; public: void __thiscall CCompressedString::SetFromUnicode(int,unsigned short const *)
-?SetFromUnicode@CCompressedString@@QAEXHPBG@Z
-; public: void __thiscall CCompressedString::SetFromUnicode(unsigned short const *)
-?SetFromUnicode@CCompressedString@@QAEXPBG@Z
-; protected: void __thiscall CFastHeap::SetInLineLength(unsigned long)
-?SetInLineLength@CFastHeap@@IAEXK@Z
-; public: void __thiscall CLimitationMapping::SetIncludeDerivation(int)
-?SetIncludeDerivation@CLimitationMapping@@QAEXH@Z
-; public: void __thiscall CLimitationMapping::SetIncludeNamespace(int)
-?SetIncludeNamespace@CLimitationMapping@@QAEXH@Z
-; public: void __thiscall CLimitationMapping::SetIncludeServer(int)
-?SetIncludeServer@CLimitationMapping@@QAEXH@Z
-; public: long __thiscall CClassPart::SetInheritanceChain(long,unsigned short * *)
-?SetInheritanceChain@CClassPart@@QAEJJPAPAG@Z
-; public: virtual long __stdcall CWbemClass::SetInheritanceChain(long,unsigned short * *)
-?SetInheritanceChain@CWbemClass@@UAGJJPAPAG@Z
-; public: virtual long __stdcall CWbemInstance::SetInheritanceChain(long,unsigned short * *)
-?SetInheritanceChain@CWbemInstance@@UAGJJPAPAG@Z
-; public: long __thiscall CInstancePart::SetInstanceQualifier(unsigned short const *,long,class CTypedValue *)
-?SetInstanceQualifier@CInstancePart@@QAEJPBGJPAVCTypedValue@@@Z
-; public: long __thiscall CInstancePart::SetInstanceQualifier(unsigned short const *,class CVar *,long)
-?SetInstanceQualifier@CInstancePart@@QAEJPBGPAVCVar@@J@Z
-; public: void __thiscall CFixedBSTRArray::SetLength(int)
-?SetLength@CFixedBSTRArray@@QAEXH@Z
-; public: void __thiscall CDecorationPart::SetLimited(void)
-?SetLimited@CDecorationPart@@QAEXXZ
-; public: void __thiscall CClassPart::SetLocalized(int)
-?SetLocalized@CClassPart@@QAEXH@Z
-; public: void __thiscall CInstancePart::SetLocalized(int)
-?SetLocalized@CInstancePart@@QAEXH@Z
-; public: virtual void __thiscall CWbemClass::SetLocalized(int)
-?SetLocalized@CWbemClass@@UAEXH@Z
-; public: virtual void __thiscall CWbemInstance::SetLocalized(int)
-?SetLocalized@CWbemInstance@@UAEXH@Z
-; public: long __thiscall CMethodPart::SetMethodOrigin(unsigned short const *,long)
-?SetMethodOrigin@CMethodPart@@QAEJPBGJ@Z
-; public: virtual long __stdcall CWbemClass::SetMethodOrigin(unsigned short const *,long)
-?SetMethodOrigin@CWbemClass@@UAGJPBGJ@Z
-; public: virtual long __stdcall CWbemInstance::SetMethodOrigin(unsigned short const *,long)
-?SetMethodOrigin@CWbemInstance@@UAGJPBGJ@Z
-; public: virtual long __stdcall CWbemObject::SetMethodQual(unsigned short const *,unsigned short const *,long,unsigned long,unsigned long,long,unsigned long,void *)
-?SetMethodQual@CWbemObject@@UAGJPBG0JKKJKPAX@Z
-; public: virtual long __thiscall CWbemClass::SetMethodQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
-?SetMethodQualifier@CWbemClass@@UAEJPBG0JPAVCTypedValue@@@Z
-; public: virtual long __thiscall CWbemClass::SetMethodQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
-?SetMethodQualifier@CWbemClass@@UAEJPBG0JPAVCVar@@@Z
-; public: virtual long __thiscall CWbemInstance::SetMethodQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
-?SetMethodQualifier@CWbemInstance@@UAEJPBG0JPAVCTypedValue@@@Z
-; public: virtual long __thiscall CWbemInstance::SetMethodQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
-?SetMethodQualifier@CWbemInstance@@UAEJPBG0JPAVCVar@@@Z
-; public: void __thiscall CDataTable::SetNullness(int,int)
-?SetNullness@CDataTable@@QAEXHH@Z
-; public: virtual long __stdcall CWbemObject::SetObjQual(unsigned short const *,long,unsigned long,unsigned long,long,unsigned long,void *)
-?SetObjQual@CWbemObject@@UAGJPBGJKKJKPAX@Z
-; public: virtual long __stdcall CWbemObject::SetObjectFlags(long,unsigned __int64,unsigned __int64)
-?SetObjectFlags@CWbemObject@@UAGJJ_K0@Z
-; public: virtual long __stdcall CWbemObject::SetObjectMemory(void *,unsigned long)
-?SetObjectMemory@CWbemObject@@UAGJPAXK@Z
-; public: virtual long __stdcall CWbemClass::SetObjectParts(void *,unsigned long,unsigned long)
-?SetObjectParts@CWbemClass@@UAGJPAXKK@Z
-; public: virtual long __stdcall CWbemInstance::SetObjectParts(void *,unsigned long,unsigned long)
-?SetObjectParts@CWbemInstance@@UAGJPAXKK@Z
-; public: void __thiscall CWbemThreadSecurityHandle::SetOrigin(enum tag_WMI_THREAD_SECURITY_ORIGIN)
-?SetOrigin@CWbemThreadSecurityHandle@@QAEXW4tag_WMI_THREAD_SECURITY_ORIGIN@@@Z
-; public: virtual long __stdcall CWbemObject::SetPropByHandle(long,long,unsigned long,void *)
-?SetPropByHandle@CWbemObject@@UAGJJJKPAX@Z
-; public: virtual long __stdcall CWbemObject::SetPropQual(unsigned short const *,unsigned short const *,long,unsigned long,unsigned long,long,unsigned long,void *)
-?SetPropQual@CWbemObject@@UAGJPBG0JKKJKPAX@Z
-; public: long __thiscall CClassPart::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
-?SetPropQualifier@CClassPart@@QAEJPBG0JPAVCTypedValue@@@Z
-; public: long __thiscall CClassPart::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
-?SetPropQualifier@CClassPart@@QAEJPBG0JPAVCVar@@@Z
-; public: virtual long __thiscall CWbemClass::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
-?SetPropQualifier@CWbemClass@@UAEJPBG0JPAVCTypedValue@@@Z
-; public: virtual long __thiscall CWbemClass::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
-?SetPropQualifier@CWbemClass@@UAEJPBG0JPAVCVar@@@Z
-; public: virtual long __thiscall CWbemInstance::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
-?SetPropQualifier@CWbemInstance@@UAEJPBG0JPAVCTypedValue@@@Z
-; public: virtual long __thiscall CWbemInstance::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
-?SetPropQualifier@CWbemInstance@@UAEJPBG0JPAVCVar@@@Z
-; public: virtual long __thiscall CWbemClass::SetPropValue(unsigned short const *,class CVar *,long)
-?SetPropValue@CWbemClass@@UAEJPBGPAVCVar@@J@Z
-; public: virtual long __thiscall CWbemInstance::SetPropValue(unsigned short const *,class CVar *,long)
-?SetPropValue@CWbemInstance@@UAEJPBGPAVCVar@@J@Z
-; public: long __thiscall CClassPart::SetPropertyOrigin(unsigned short const *,long)
-?SetPropertyOrigin@CClassPart@@QAEJPBGJ@Z
-; public: virtual long __stdcall CWbemClass::SetPropertyOrigin(unsigned short const *,long)
-?SetPropertyOrigin@CWbemClass@@UAGJPBGJ@Z
-; public: virtual long __stdcall CWbemInstance::SetPropertyOrigin(unsigned short const *,long)
-?SetPropertyOrigin@CWbemInstance@@UAGJPBGJ@Z
-; public: virtual long __thiscall CWbemClass::SetQualifier(unsigned short const *,long,class CTypedValue *)
-?SetQualifier@CWbemClass@@UAEJPBGJPAVCTypedValue@@@Z
-; public: virtual long __thiscall CWbemClass::SetQualifier(unsigned short const *,class CVar *,long)
-?SetQualifier@CWbemClass@@UAEJPBGPAVCVar@@J@Z
-; public: virtual long __thiscall CWbemInstance::SetQualifier(unsigned short const *,long,class CTypedValue *)
-?SetQualifier@CWbemInstance@@UAEJPBGJPAVCTypedValue@@@Z
-; public: virtual long __thiscall CWbemInstance::SetQualifier(unsigned short const *,class CVar *,long)
-?SetQualifier@CWbemInstance@@UAEJPBGPAVCVar@@J@Z
-; public: long __thiscall CWbemObject::SetQualifierArrayRange(unsigned short const *,unsigned short const *,int,long,unsigned long,long,unsigned long,unsigned long,unsigned long,void *)
-?SetQualifierArrayRange@CWbemObject@@QAEJPBG0HJKJKKKPAX@Z
-; public: long __thiscall CQualifierSet::SetQualifierValue(unsigned short const *,unsigned char,class CTypedValue *,int,int)
-?SetQualifierValue@CQualifierSet@@QAEJPBGEPAVCTypedValue@@HH@Z
-; public: static long __stdcall CUntypedArray::SetRange(class CPtrSource *,long,unsigned long,unsigned long,class CFastHeap *,unsigned long,unsigned long,unsigned long,void *)
-?SetRange@CUntypedArray@@SGJPAVCPtrSource@@JKKPAVCFastHeap@@KKKPAX@Z
-; public: void __thiscall CInstancePQSContainer::SetSecondarySetData(void)
-?SetSecondarySetData@CInstancePQSContainer@@QAEXXZ
-; public: virtual long __stdcall CWbemObject::SetServerNamespace(unsigned short const *,unsigned short const *)
-?SetServerNamespace@CWbemObject@@UAGJPBG0@Z
-; protected: virtual long __thiscall CWbemRefreshingSvc::SetServiceData(unsigned short *,unsigned short *)
-?SetServiceData@CWbemRefreshingSvc@@MAEJPAG0@Z
-; public: virtual long __stdcall CWbemRefreshingSvc::XCfgRefrSrvc::SetServiceData(unsigned short *,unsigned short *)
-?SetServiceData@XCfgRefrSrvc@CWbemRefreshingSvc@@UAGJPAG0@Z
-; public: void __thiscall CMethodDescription::SetSig(int,unsigned long)
-?SetSig@CMethodDescription@@QAEXHK@Z
-; protected: long __thiscall CMethodPart::SetSignature(int,enum METHOD_SIGNATURE_TYPE,class CWbemObject *)
-?SetSignature@CMethodPart@@IAEJHW4METHOD_SIGNATURE_TYPE@@PAVCWbemObject@@@Z
-; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::SetSize(int)
-?SetSize@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXH@Z
-; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::SetSize(int)
-?SetSize@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXH@Z
-; public: virtual long __stdcall CWbemCallSecurity::SetThreadSecurity(struct _IWmiThreadSecHandle *)
-?SetThreadSecurity@CWbemCallSecurity@@UAGJPAU_IWmiThreadSecHandle@@@Z
-; public: void __thiscall CFastHeap::SetUsedLength(unsigned long)
-?SetUsedLength@CFastHeap@@QAEXK@Z
-; public: void __thiscall CLimitationMapping::SetVtableLength(unsigned long,int)
-?SetVtableLength@CLimitationMapping@@QAEXKH@Z
-; protected: long __thiscall CWbemDataPacket::SetupDataPacketHeader(unsigned long,unsigned char,unsigned long,unsigned long)
-?SetupDataPacketHeader@CWbemDataPacket@@IAEJKEKK@Z
-; public: int __thiscall CLimitationMapping::ShouldAddChildKeys(void)
-?ShouldAddChildKeys@CLimitationMapping@@QAEHXZ
-; public: int __thiscall CLimitationMapping::ShouldIncludeDerivation(void)
-?ShouldIncludeDerivation@CLimitationMapping@@QAEHXZ
-; public: int __thiscall CLimitationMapping::ShouldIncludeNamespace(void)
-?ShouldIncludeNamespace@CLimitationMapping@@QAEHXZ
-; public: int __thiscall CLimitationMapping::ShouldIncludeServer(void)
-?ShouldIncludeServer@CLimitationMapping@@QAEHXZ
-; public: int __thiscall CFastPropertyBag::Size(void)
-?Size@CFastPropertyBag@@QAEHXZ
-; public: unsigned char * __thiscall CBasicQualifierSet::Skip(void)
-?Skip@CBasicQualifierSet@@QAEPAEXZ
-; public: unsigned char * __thiscall CFastHeap::Skip(void)
-?Skip@CFastHeap@@QAEPAEXZ
-; public: unsigned char * __thiscall CPropertyLookupTable::Skip(void)
-?Skip@CPropertyLookupTable@@QAEPAEXZ
-; public: void __thiscall CFixedBSTRArray::SortInPlace(void)
-?SortInPlace@CFixedBSTRArray@@QAEXXZ
-; public: virtual long __stdcall CWbemClass::SpawnDerivedClass(long,struct IWbemClassObject * *)
-?SpawnDerivedClass@CWbemClass@@UAGJJPAPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemInstance::SpawnDerivedClass(long,struct IWbemClassObject * *)
-?SpawnDerivedClass@CWbemInstance@@UAGJJPAPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemClass::SpawnInstance(long,struct IWbemClassObject * *)
-?SpawnInstance@CWbemClass@@UAGJJPAPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemInstance::SpawnInstance(long,struct IWbemClassObject * *)
-?SpawnInstance@CWbemInstance@@UAGJJPAPAUIWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemClass::SpawnKeyedInstance(long,unsigned short const *,struct _IWmiObject * *)
-?SpawnKeyedInstance@CWbemClass@@UAGJJPBGPAPAU_IWmiObject@@@Z
-; public: virtual long __stdcall CWbemInstance::SpawnKeyedInstance(long,unsigned short const *,struct _IWmiObject * *)
-?SpawnKeyedInstance@CWbemInstance@@UAGJJPBGPAPAU_IWmiObject@@@Z
-; public: int __thiscall CCompressedString::StartsWithNoCase(unsigned short const *)const 
-?StartsWithNoCase@CCompressedString@@QBEHPBG@Z
-; public: virtual long __stdcall CWbemRemoteRefresher::XWbemRemoteRefr::StopRefreshing(long,long *,long)
-?StopRefreshing@XWbemRemoteRefr@CWbemRemoteRefresher@@UAGJJPAJJ@Z
-; public: void __thiscall CEmbeddedObject::StoreEmbedded(unsigned long,class CVar &)
-?StoreEmbedded@CEmbeddedObject@@QAEXKAAVCVar@@@Z
-; public: void __thiscall CEmbeddedObject::StoreEmbedded(unsigned long,class CWbemObject *)
-?StoreEmbedded@CEmbeddedObject@@QAEXKPAVCWbemObject@@@Z
-; protected: long __thiscall CQualifierSet::StoreQualifierConflicts(unsigned short const *,class CVar &,class CQualifierFlavor &,class CVarVector &)
-?StoreQualifierConflicts@CQualifierSet@@IAEJPBGAAVCVar@@AAVCQualifierFlavor@@AAVCVarVector@@@Z
-; public: int __thiscall CCompressedString::StoreToCVar(class CVar &)const 
-?StoreToCVar@CCompressedString@@QBEHAAVCVar@@@Z
-; public: void __thiscall CEmbeddedObject::StoreToCVar(class CVar &)
-?StoreToCVar@CEmbeddedObject@@QAEXAAVCVar@@@Z
-; public: virtual long __stdcall CWbemClass::StripClassPart(void)
-?StripClassPart@CWbemClass@@UAGJXZ
-; public: virtual long __stdcall CWbemInstance::StripClassPart(void)
-?StripClassPart@CWbemInstance@@UAGJXZ
-; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Swap(int,int)
-?Swap@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXHH@Z
-; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Swap(int,int)
-?Swap@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXHH@Z
-; public: long __thiscall CClassPart::TestCircularReference(unsigned short const *)
-?TestCircularReference@CClassPart@@QAEJPBG@Z
-; public: void __thiscall CFixedBSTRArray::ThreeWayMergeOrdered(class CFixedBSTRArray &,class CFixedBSTRArray &,class CFixedBSTRArray &)
-?ThreeWayMergeOrdered@CFixedBSTRArray@@QAEXAAV1@00@Z
-; public: static int __stdcall CBasicQualifierSet::TranslateToNewHeap(class CPtrSource *,class CFastHeap *,class CFastHeap *)
-?TranslateToNewHeap@CBasicQualifierSet@@SGHPAVCPtrSource@@PAVCFastHeap@@1@Z
-; public: int __thiscall CCompressedString::TranslateToNewHeap(class CFastHeap *,class CFastHeap *)
-?TranslateToNewHeap@CCompressedString@@QAEHPAVCFastHeap@@0@Z
-; public: int __thiscall CDataTable::TranslateToNewHeap(class CPropertyLookupTable *,int,class CFastHeap *,class CFastHeap *)
-?TranslateToNewHeap@CDataTable@@QAEHPAVCPropertyLookupTable@@HPAVCFastHeap@@1@Z
-; public: int __thiscall CInstancePart::TranslateToNewHeap(class CClassPart &,class CFastHeap *,class CFastHeap *)
-?TranslateToNewHeap@CInstancePart@@QAEHAAVCClassPart@@PAVCFastHeap@@1@Z
-; public: int __thiscall CQualifierSetList::TranslateToNewHeap(class CFastHeap *,class CFastHeap *)
-?TranslateToNewHeap@CQualifierSetList@@QAEHPAVCFastHeap@@0@Z
-; public: static int __stdcall CUntypedArray::TranslateToNewHeap(class CPtrSource *,class CType,class CFastHeap *,class CFastHeap *)
-?TranslateToNewHeap@CUntypedArray@@SGHPAVCPtrSource@@VCType@@PAVCFastHeap@@2@Z
-; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Trim(void)
-?Trim@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXXZ
-; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Trim(void)
-?Trim@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXXZ
-; public: void __thiscall CFastHeap::Trim(void)
-?Trim@CFastHeap@@QAEXXZ
-; public: void __thiscall CInternalString::Unbind(void)
-?Unbind@CInternalString@@QAEXXZ
-; public: class CFastPropertyBagItem * * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::UnbindPtr(void)
-?UnbindPtr@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEPAPAVCFastPropertyBagItem@@XZ
-; public: class CWmiTextSource * * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::UnbindPtr(void)
-?UnbindPtr@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEPAPAVCWmiTextSource@@XZ
-; public: virtual void __thiscall CWbemClass::Undecorate(void)
-?Undecorate@CWbemClass@@UAEXXZ
-; public: virtual void __thiscall CWbemInstance::Undecorate(void)
-?Undecorate@CWbemInstance@@UAEXXZ
-; public: long __thiscall CWbemFetchRefrMgr::Uninit(void)
-?Uninit@CWbemFetchRefrMgr@@QAEJXZ
-; public: virtual long __stdcall CWbemFetchRefrMgr::XFetchRefrMgr::Uninit(void)
-?Uninit@XFetchRefrMgr@CWbemFetchRefrMgr@@UAGJXZ
-; public: int __thiscall CHiPerfLock::Unlock(void)
-?Unlock@CHiPerfLock@@QAEHXZ
-; public: int __thiscall CSharedLock::Unlock(void)
-?Unlock@CSharedLock@@QAEHXZ
-; public: virtual long __stdcall CWbemObject::Unlock(long)
-?Unlock@CWbemObject@@UAGJJ@Z
-; public: virtual long __stdcall CWbemObject::UnmarshalInterface(struct IStream *,struct _GUID const &,void * *)
-?UnmarshalInterface@CWbemObject@@UAGJPAUIStream@@ABU_GUID@@PAPAX@Z
-; public: long __thiscall CWbemMtgtDeliverEventPacket::UnmarshalPacket(long &,struct IWbemClassObject * * &,class CWbemClassCache &)
-?UnmarshalPacket@CWbemMtgtDeliverEventPacket@@QAEJAAJAAPAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
-; public: long __thiscall CWbemObjectArrayPacket::UnmarshalPacket(long &,struct IWbemClassObject * * &,class CWbemClassCache &)
-?UnmarshalPacket@CWbemObjectArrayPacket@@QAEJAAJAAPAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
-; public: long __thiscall CWbemSmartEnumNextPacket::UnmarshalPacket(long &,struct IWbemClassObject * * &,class CWbemClassCache &)
-?UnmarshalPacket@CWbemSmartEnumNextPacket@@QAEJAAJAAPAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
-; public: static unsigned char * __stdcall CBasicQualifierSet::Unmerge(unsigned char *,class CFastHeap *,unsigned char *,class CFastHeap *)
-?Unmerge@CBasicQualifierSet@@SGPAEPAEPAVCFastHeap@@01@Z
-; public: unsigned char * __thiscall CClassAndMethods::Unmerge(unsigned char *,unsigned long)
-?Unmerge@CClassAndMethods@@QAEPAEPAEK@Z
-; public: unsigned char * __thiscall CClassPart::Unmerge(unsigned char *,int)
-?Unmerge@CClassPart@@QAEPAEPAEH@Z
-; public: unsigned char * __thiscall CDataTable::Unmerge(class CPropertyLookupTable *,class CFastHeap *,unsigned char *,class CFastHeap *)
-?Unmerge@CDataTable@@QAEPAEPAVCPropertyLookupTable@@PAVCFastHeap@@PAE1@Z
-; public: unsigned char * __thiscall CDerivationList::Unmerge(unsigned char *)
-?Unmerge@CDerivationList@@QAEPAEPAE@Z
-; public: unsigned char * __thiscall CMethodPart::Unmerge(unsigned char *,unsigned long)
-?Unmerge@CMethodPart@@QAEPAEPAEK@Z
-; public: unsigned char * __thiscall CPropertyLookupTable::Unmerge(class CDataTable *,class CFastHeap *,unsigned char *,class CFastHeap *)
-?Unmerge@CPropertyLookupTable@@QAEPAEPAVCDataTable@@PAVCFastHeap@@PAE1@Z
-; public: virtual long __thiscall CWbemClass::Unmerge(unsigned char *,int,unsigned long *)
-?Unmerge@CWbemClass@@UAEJPAEHPAK@Z
-; public: virtual long __thiscall CWbemInstance::Unmerge(unsigned char *,int,unsigned long *)
-?Unmerge@CWbemInstance@@UAEJPAEHPAK@Z
-; public: unsigned long __thiscall CWbemObject::Unmerge(unsigned char * *)
-?Unmerge@CWbemObject@@QAEKPAPAE@Z
-; public: virtual long __stdcall CWbemObject::Unmerge(long,unsigned long,unsigned long *,void *)
-?Unmerge@CWbemObject@@UAGJJKPAKPAX@Z
-; public: static long __stdcall CClassAndMethods::Update(class CClassAndMethods &,class CClassAndMethods &,long)
-?Update@CClassAndMethods@@SGJAAV1@0J@Z
-; public: static long __stdcall CClassPart::Update(class CClassPart &,class CClassPart &,long)
-?Update@CClassPart@@SGJAAV1@0J@Z
-; public: static long __stdcall CMethodPart::Update(class CMethodPart &,class CMethodPart &,long)
-?Update@CMethodPart@@SGJAAV1@0J@Z
-; public: long __thiscall CQualifierSet::Update(class CBasicQualifierSet &,long,class CFixedBSTRArray *)
-?Update@CQualifierSet@@QAEJAAVCBasicQualifierSet@@JPAVCFixedBSTRArray@@@Z
-; public: long __thiscall CWbemClass::Update(class CWbemClass *,long,class CWbemClass * *)
-?Update@CWbemClass@@QAEJPAV1@JPAPAV1@@Z
-; public: virtual long __stdcall CWbemClass::Update(struct _IWmiObject *,long,struct _IWmiObject * *)
-?Update@CWbemClass@@UAGJPAU_IWmiObject@@JPAPAU2@@Z
-; public: virtual long __stdcall CWbemInstance::Update(struct _IWmiObject *,long,struct _IWmiObject * *)
-?Update@CWbemInstance@@UAGJPAU_IWmiObject@@JPAPAU2@@Z
-; public: static long __stdcall CClassPart::UpdateProperties(class CClassPart &,class CClassPart &,long)
-?UpdateProperties@CClassPart@@SGJAAV1@0J@Z
-; public: virtual long __stdcall CWbemClass::Upgrade(struct _IWmiObject *,long,struct _IWmiObject * *)
-?Upgrade@CWbemClass@@UAGJPAU_IWmiObject@@JPAPAU2@@Z
-; public: virtual long __stdcall CWbemInstance::Upgrade(struct _IWmiObject *,long,struct _IWmiObject * *)
-?Upgrade@CWbemInstance@@UAGJPAU_IWmiObject@@JPAPAU2@@Z
-; protected: static char __stdcall CCompressedString::UpperByte(unsigned short)
-?UpperByte@CCompressedString@@KGDG@Z
-; public: static class CType  __stdcall CType::VARTYPEToType(unsigned short)
-?VARTYPEToType@CType@@SG?AV1@G@Z
-; public: long __thiscall CWbemInstance::Validate(void)
-?Validate@CWbemInstance@@QAEJXZ
-; public: static unsigned int __stdcall CBasicQualifierSet::ValidateBuffer(unsigned char *,unsigned int)
-?ValidateBuffer@CBasicQualifierSet@@SGIPAEI@Z
-; public: static unsigned int __stdcall CClassAndMethods::ValidateBuffer(unsigned char *,unsigned int)
-?ValidateBuffer@CClassAndMethods@@SGIPAEI@Z
-; public: static unsigned int __stdcall CClassPart::ValidateBuffer(unsigned char *,unsigned int)
-?ValidateBuffer@CClassPart@@SGIPAEI@Z
-; public: static unsigned int __stdcall CCompressedStringList::ValidateBuffer(unsigned char *,unsigned int)
-?ValidateBuffer@CCompressedStringList@@SGIPAEI@Z
-; public: static unsigned int __stdcall CDataTable::ValidateBuffer(unsigned char *,unsigned int,int)
-?ValidateBuffer@CDataTable@@SGIPAEIH@Z
-; public: static unsigned int __stdcall CDecorationPart::ValidateBuffer(unsigned char *,unsigned int)
-?ValidateBuffer@CDecorationPart@@SGIPAEI@Z
-; public: static void __stdcall CEmbeddedObject::ValidateBuffer(unsigned char *,unsigned int,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
-?ValidateBuffer@CEmbeddedObject@@SGXPAEIAAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: static unsigned int __stdcall CFastHeap::ValidateBuffer(unsigned char *,unsigned int)
-?ValidateBuffer@CFastHeap@@SGIPAEI@Z
-; public: static unsigned int __stdcall CInstancePart::ValidateBuffer(unsigned char *,unsigned int,class CClassPart &,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
-?ValidateBuffer@CInstancePart@@SGIPAEIAAVCClassPart@@AAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: static unsigned int __stdcall CMethodPart::ValidateBuffer(unsigned char *,unsigned int)
-?ValidateBuffer@CMethodPart@@SGIPAEI@Z
-; public: static unsigned int __stdcall CPropertyLookupTable::ValidateBuffer(unsigned char *,unsigned int)
-?ValidateBuffer@CPropertyLookupTable@@SGIPAEI@Z
-; public: static unsigned int __stdcall CQualifierSetList::ValidateBuffer(unsigned char *,unsigned int,int)
-?ValidateBuffer@CQualifierSetList@@SGIPAEIH@Z
-; public: static unsigned int __stdcall CWbemClass::ValidateBuffer(unsigned char *,unsigned int)
-?ValidateBuffer@CWbemClass@@SGIPAEI@Z
-; public: static unsigned int __stdcall CWbemInstance::ValidateBuffer(unsigned char *,int,unsigned long,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
-?ValidateBuffer@CWbemInstance@@SGIPAEHKAAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: static unsigned int __stdcall CWbemInstance::ValidateBuffer(unsigned char *,int,class CWbemInstance *,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
-?ValidateBuffer@CWbemInstance@@SGIPAEHPAV1@AAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: static unsigned int __stdcall CWbemInstance::ValidateBuffer(unsigned char *,unsigned int,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
-?ValidateBuffer@CWbemInstance@@SGIPAEIAAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
-; public: long __thiscall CLimitationMapping::ValidateInstance(class CWbemInstance *)
-?ValidateInstance@CLimitationMapping@@QAEJPAVCWbemInstance@@@Z
-; public: virtual long __stdcall CWbemObject::ValidateObject(long)
-?ValidateObject@CWbemObject@@UAGJJ@Z
-; protected: long __thiscall CMethodPart::ValidateOutParams(class CWbemObject *)
-?ValidateOutParams@CMethodPart@@IAEJPAVCWbemObject@@@Z
-; public: long __thiscall CWbemObject::ValidatePath(struct ParsedObjectPath *)
-?ValidatePath@CWbemObject@@QAEJPAUParsedObjectPath@@@Z
-; public: long __thiscall CPropertyLookupTable::ValidateRange(unsigned short * *,class CDataTable *,class CFastHeap *)
-?ValidateRange@CPropertyLookupTable@@QAEJPAPAGPAVCDataTable@@PAVCFastHeap@@@Z
-; public: int __thiscall CWbemObject::ValidateRange(unsigned short * *)
-?ValidateRange@CWbemObject@@QAEHPAPAG@Z
-; public: long __thiscall CQualifierSet::ValidateSet(unsigned short const *,unsigned char,class CTypedValue *,int,int)
-?ValidateSet@CQualifierSet@@QAEJPBGEPAVCTypedValue@@HH@Z
-; public: int __thiscall CCompressedString::ValidateSize(int)const 
-?ValidateSize@CCompressedString@@QBEHH@Z
-; public: static long __stdcall CWbemObject::WbemObjectFromCOMPtr(struct IUnknown *,class CWbemObject * *)
-?WbemObjectFromCOMPtr@CWbemObject@@SGJPAUIUnknown@@PAPAV1@@Z
-; unsigned short * __stdcall WbemStringCopy(unsigned short const *)
-?WbemStringCopy@@YGPAGPBG@Z
-; void __stdcall WbemStringFree(unsigned short *)
-?WbemStringFree@@YGXPAG@Z
-; protected: long __thiscall CWbemRefreshingSvc::WrapRemoteRefresher(struct IWbemRemoteRefresher * *)
-?WrapRemoteRefresher@CWbemRefreshingSvc@@IAEJPAPAUIWbemRemoteRefresher@@@Z
-; public: virtual long __stdcall CWbemObject::WriteDWORD(long,unsigned long)
-?WriteDWORD@CWbemObject@@UAGJJK@Z
-; public: long __thiscall CWbemClass::WriteDerivedClass(unsigned char *,int,class CDecorationPart *)
-?WriteDerivedClass@CWbemClass@@QAEJPAEHPAVCDecorationPart@@@Z
-; public: virtual long __stdcall CWbemObject::WriteProp(unsigned short const *,long,unsigned long,unsigned long,long,void *)
-?WriteProp@CWbemObject@@UAGJPBGJKKJPAX@Z
-; public: static unsigned char * __stdcall CBasicQualifierSet::WritePropagatedVersion(class CPtrSource *,unsigned char,class CPtrSource *,class CFastHeap *,class CFastHeap *)
-?WritePropagatedVersion@CBasicQualifierSet@@SGPAEPAVCPtrSource@@E0PAVCFastHeap@@1@Z
-; public: unsigned char * __thiscall CDataTable::WritePropagatedVersion(class CPropertyLookupTable *,class CFastHeap *,unsigned char *,class CFastHeap *)
-?WritePropagatedVersion@CDataTable@@QAEPAEPAVCPropertyLookupTable@@PAVCFastHeap@@PAE1@Z
-; public: unsigned char * __thiscall CPropertyLookupTable::WritePropagatedVersion(class CFastHeap *,unsigned char *,class CFastHeap *)
-?WritePropagatedVersion@CPropertyLookupTable@@QAEPAEPAVCFastHeap@@PAE0@Z
-; public: long __thiscall CWbemClass::WritePropertyAsMethodParam(class WString &,int,long,class CWbemClass *,int)
-?WritePropertyAsMethodParam@CWbemClass@@QAEJAAVWString@@HJPAV1@H@Z
-; public: virtual long __stdcall CWbemObject::WritePropertyValue(long,long,unsigned char const *)
-?WritePropertyValue@CWbemObject@@UAGJJJPBE@Z
-; public: virtual long __stdcall CWbemObject::WriteQWORD(long,unsigned __int64)
-?WriteQWORD@CWbemObject@@UAGJJ_K@Z
-; public: unsigned char * __thiscall CDataTable::WriteSmallerVersion(int,unsigned long,unsigned char *)
-?WriteSmallerVersion@CDataTable@@QAEPAEHKPAE@Z
-; public: unsigned char * __thiscall CQualifierSetList::WriteSmallerVersion(int,unsigned char *)
-?WriteSmallerVersion@CQualifierSetList@@QAEPAEHPAE@Z
-; public: virtual long __thiscall CWbemInstance::WriteToStream(struct IStream *)
-?WriteToStream@CWbemInstance@@UAEJPAUIStream@@@Z
-; public: virtual long __thiscall CWbemObject::WriteToStream(struct IStream *)
-?WriteToStream@CWbemObject@@UAEJPAUIStream@@@Z
-; public: static void __stdcall CWbemInstance::WriteTransferArrayHeader(long,unsigned char * *)
-?WriteTransferArrayHeader@CWbemInstance@@SGXJPAPAE@Z
-; public: virtual long __stdcall CWbemObject::_GetCoreInfo(long,void * *)
-?_GetCoreInfo@CWbemObject@@UAGJJPAPAX@Z
-; public: static unsigned short * __stdcall CCompressedString::fast_wcscpy(unsigned short *,unsigned short const *)
-?fast_wcscpy@CCompressedString@@SGPAGPAGPBG@Z
-; public: static int __stdcall CCompressedString::fast_wcslen(unsigned short const *)
-?fast_wcslen@CCompressedString@@SGHPBG@Z
-; public: static unsigned short * __stdcall CCompressedString::fast_wcsncpy(unsigned short *,unsigned short const *,int)
-?fast_wcsncpy@CCompressedString@@SGPAGPAGPBGH@Z
-; protected: static unsigned char *  CWbemDataPacket::s_abSignature
-?s_abSignature@CWbemDataPacket@@1PAEA DATA
-; private: static unsigned short const * *  CReservedWordTable::s_apwszReservedWords
-?s_apwszReservedWords@CReservedWordTable@@0PAPBGA DATA
-; protected: static class CStaticCritSec  CWbemFetchRefrMgr::s_cs
-?s_cs@CWbemFetchRefrMgr@@1VCStaticCritSec@@A DATA
-; protected: static struct _IWbemRefresherMgr *  CWbemFetchRefrMgr::s_pRefrMgr
-?s_pRefrMgr@CWbemFetchRefrMgr@@1PAU_IWbemRefresherMgr@@A DATA
-; private: static unsigned short const * const  CReservedWordTable::s_pszStartingCharsLCase
-?s_pszStartingCharsLCase@CReservedWordTable@@0PBGB DATA
-; private: static unsigned short const * const  CReservedWordTable::s_pszStartingCharsUCase
-?s_pszStartingCharsUCase@CReservedWordTable@@0PBGB DATA
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-_GetObjectCount@0
+; 
+; Exports of file FastProx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FastProx.dll
+EXPORTS
+; public: __thiscall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> const &)
+??0?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QAE@ABV0@@Z
+; public: __thiscall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(class CWmiObjectTextSrc *)
+??0?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QAE@PAVCWmiObjectTextSrc@@@Z
+; public: __thiscall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> const &)
+??0?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QAE@ABV0@@Z
+; public: __thiscall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(class CWbemRefreshingSvc *)
+??0?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QAE@PAVCWbemRefreshingSvc@@@Z
+; public: __thiscall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> const &)
+??0?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QAE@ABV0@@Z
+; public: __thiscall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(class CWbemRemoteRefresher *)
+??0?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QAE@PAVCWbemRemoteRefresher@@@Z
+; public: __thiscall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> const &)
+??0?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QAE@ABV0@@Z
+; public: __thiscall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(class CWbemRefreshingSvc *)
+??0?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QAE@PAVCWbemRefreshingSvc@@@Z
+; public: __thiscall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> const &)
+??0?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QAE@ABV0@@Z
+; public: __thiscall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(class CWbemEnumMarshaling *)
+??0?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QAE@PAVCWbemEnumMarshaling@@@Z
+; public: __thiscall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> const &)
+??0?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QAE@ABV0@@Z
+; public: __thiscall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(class CWbemFetchRefrMgr *)
+??0?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QAE@PAVCWbemFetchRefrMgr@@@Z
+; public: __thiscall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> const &)
+??0?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QAE@ABV0@@Z
+; public: __thiscall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(class CWmiObjectFactory *)
+??0?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QAE@PAVCWmiObjectFactory@@@Z
+; public: __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> &)
+??0?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE@AAV0@@Z
+; public: __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(class CReferenceManager<class CFastPropertyBagItem> const &)
+??0?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE@ABV?$CReferenceManager@VCFastPropertyBagItem@@@@@Z
+; public: __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> &)
+??0?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE@AAV0@@Z
+; public: __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(class CReferenceManager<class CWmiTextSource> const &)
+??0?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE@ABV?$CReferenceManager@VCWmiTextSource@@@@@Z
+; public: __thiscall CRefedPointerArray<class CFastPropertyBagItem>::CRefedPointerArray<class CFastPropertyBagItem>(class CRefedPointerArray<class CFastPropertyBagItem> &)
+??0?$CRefedPointerArray@VCFastPropertyBagItem@@@@QAE@AAV0@@Z
+; public: __thiscall CRefedPointerArray<class CFastPropertyBagItem>::CRefedPointerArray<class CFastPropertyBagItem>(void)
+??0?$CRefedPointerArray@VCFastPropertyBagItem@@@@QAE@XZ
+; public: __thiscall CRefedPointerArray<class CWmiTextSource>::CRefedPointerArray<class CWmiTextSource>(class CRefedPointerArray<class CWmiTextSource> &)
+??0?$CRefedPointerArray@VCWmiTextSource@@@@QAE@AAV0@@Z
+; public: __thiscall CRefedPointerArray<class CWmiTextSource>::CRefedPointerArray<class CWmiTextSource>(void)
+??0?$CRefedPointerArray@VCWmiTextSource@@@@QAE@XZ
+; public: __thiscall CBasicQualifierSet::CBasicQualifierSet(void)
+??0CBasicQualifierSet@@QAE@XZ
+; public: __thiscall CClassAndMethods::CClassAndMethods(class CClassAndMethods const &)
+??0CClassAndMethods@@QAE@ABV0@@Z
+; public: __thiscall CClassAndMethods::CClassAndMethods(void)
+??0CClassAndMethods@@QAE@XZ
+; public: __thiscall CClassPart::CClassPart(class CClassPart const &)
+??0CClassPart@@QAE@ABV0@@Z
+; public: __thiscall CClassPart::CClassPart(void)
+??0CClassPart@@QAE@XZ
+; public: __thiscall CClassPartContainer::CClassPartContainer(class CClassPartContainer const &)
+??0CClassPartContainer@@QAE@ABV0@@Z
+; public: __thiscall CClassPartContainer::CClassPartContainer(void)
+??0CClassPartContainer@@QAE@XZ
+; public: __thiscall CClassQualifierSet::CClassQualifierSet(class CClassQualifierSet const &)
+??0CClassQualifierSet@@QAE@ABV0@@Z
+; public: __thiscall CClassQualifierSet::CClassQualifierSet(int)
+??0CClassQualifierSet@@QAE@H@Z
+; public: __thiscall CDecorationPart::CDecorationPart(void)
+??0CDecorationPart@@QAE@XZ
+; public: __thiscall CFastPropertyBag::CFastPropertyBag(class CFastPropertyBag &)
+??0CFastPropertyBag@@QAE@AAV0@@Z
+; public: __thiscall CFastPropertyBag::CFastPropertyBag(void)
+??0CFastPropertyBag@@QAE@XZ
+; public: __thiscall CFixedBSTRArray::CFixedBSTRArray(void)
+??0CFixedBSTRArray@@QAE@XZ
+; public: __thiscall CHiPerfLock::CHiPerfLock(void)
+??0CHiPerfLock@@QAE@XZ
+; public: __thiscall CInstancePQSContainer::CInstancePQSContainer(class CInstancePQSContainer const &)
+??0CInstancePQSContainer@@QAE@ABV0@@Z
+; public: __thiscall CInstancePQSContainer::CInstancePQSContainer(void)
+??0CInstancePQSContainer@@QAE@XZ
+; public: __thiscall CInstancePart::CInstancePart(class CInstancePart const &)
+??0CInstancePart@@QAE@ABV0@@Z
+; public: __thiscall CInstancePart::CInstancePart(void)
+??0CInstancePart@@QAE@XZ
+; public: __thiscall CInstancePartContainer::CInstancePartContainer(class CInstancePartContainer const &)
+??0CInstancePartContainer@@QAE@ABV0@@Z
+; public: __thiscall CInstancePartContainer::CInstancePartContainer(void)
+??0CInstancePartContainer@@QAE@XZ
+; public: __thiscall CInstanceQualifierSet::CInstanceQualifierSet(class CInstanceQualifierSet const &)
+??0CInstanceQualifierSet@@QAE@ABV0@@Z
+; public: __thiscall CInstanceQualifierSet::CInstanceQualifierSet(int)
+??0CInstanceQualifierSet@@QAE@H@Z
+; public: __thiscall CInternalString::CInternalString(class CInternalString const &)
+??0CInternalString@@QAE@ABV0@@Z
+; public: __thiscall CInternalString::CInternalString(unsigned short const *)
+??0CInternalString@@QAE@PBG@Z
+; public: __thiscall CInternalString::CInternalString(void)
+??0CInternalString@@QAE@XZ
+; public: __thiscall CLimitationMapping::CLimitationMapping(class CLimitationMapping &)
+??0CLimitationMapping@@QAE@AAV0@@Z
+; public: __thiscall CLimitationMapping::CLimitationMapping(void)
+??0CLimitationMapping@@QAE@XZ
+; public: __thiscall CMethodPart::CMethodPart(class CMethodPart const &)
+??0CMethodPart@@QAE@ABV0@@Z
+; public: __thiscall CMethodPart::CMethodPart(void)
+??0CMethodPart@@QAE@XZ
+; public: __thiscall CMethodPartContainer::CMethodPartContainer(class CMethodPartContainer const &)
+??0CMethodPartContainer@@QAE@ABV0@@Z
+; public: __thiscall CMethodPartContainer::CMethodPartContainer(void)
+??0CMethodPartContainer@@QAE@XZ
+; public: __thiscall CMethodQualifierSet::CMethodQualifierSet(class CMethodQualifierSet const &)
+??0CMethodQualifierSet@@QAE@ABV0@@Z
+; public: __thiscall CMethodQualifierSet::CMethodQualifierSet(void)
+??0CMethodQualifierSet@@QAE@XZ
+; public: __thiscall CMethodQualifierSetContainer::CMethodQualifierSetContainer(class CMethodQualifierSetContainer const &)
+??0CMethodQualifierSetContainer@@QAE@ABV0@@Z
+; public: __thiscall CMethodQualifierSetContainer::CMethodQualifierSetContainer(void)
+??0CMethodQualifierSetContainer@@QAE@XZ
+; public: __thiscall CPropertyBagItemArray::CPropertyBagItemArray(class CPropertyBagItemArray &)
+??0CPropertyBagItemArray@@QAE@AAV0@@Z
+; public: __thiscall CPropertyBagItemArray::CPropertyBagItemArray(void)
+??0CPropertyBagItemArray@@QAE@XZ
+; public: __thiscall CQualifierSet::CQualifierSet(class CQualifierSet const &)
+??0CQualifierSet@@QAE@ABV0@@Z
+; public: __thiscall CQualifierSet::CQualifierSet(int,int)
+??0CQualifierSet@@QAE@HH@Z
+; public: __thiscall CQualifierSetListContainer::CQualifierSetListContainer(class CQualifierSetListContainer const &)
+??0CQualifierSetListContainer@@QAE@ABV0@@Z
+; public: __thiscall CQualifierSetListContainer::CQualifierSetListContainer(void)
+??0CQualifierSetListContainer@@QAE@XZ
+; public: __thiscall CType::CType(unsigned long)
+??0CType@@QAE@K@Z
+; public: __thiscall CType::CType(void)
+??0CType@@QAE@XZ
+; public: __thiscall CWbemCallSecurity::CWbemCallSecurity(class CWbemCallSecurity const &)
+??0CWbemCallSecurity@@QAE@ABV0@@Z
+; public: __thiscall CWbemCallSecurity::CWbemCallSecurity(class CLifeControl *)
+??0CWbemCallSecurity@@QAE@PAVCLifeControl@@@Z
+; public: __thiscall CWbemClass::CWbemClass(class CWbemClass const &)
+??0CWbemClass@@QAE@ABV0@@Z
+; public: __thiscall CWbemClass::CWbemClass(void)
+??0CWbemClass@@QAE@XZ
+; public: __thiscall CWbemClassCache::CWbemClassCache(class CWbemClassCache const &)
+??0CWbemClassCache@@QAE@ABV0@@Z
+; public: __thiscall CWbemClassCache::CWbemClassCache(unsigned long)
+??0CWbemClassCache@@QAE@K@Z
+; protected: __thiscall CWbemDataPacket::CWbemDataPacket(void)
+??0CWbemDataPacket@@IAE@XZ
+; public: __thiscall CWbemDataPacket::CWbemDataPacket(unsigned char *,unsigned long,bool)
+??0CWbemDataPacket@@QAE@PAEK_N@Z
+; public: __thiscall CWbemEnumMarshaling::CWbemEnumMarshaling(class CWbemEnumMarshaling const &)
+??0CWbemEnumMarshaling@@QAE@ABV0@@Z
+; public: __thiscall CWbemEnumMarshaling::CWbemEnumMarshaling(class CLifeControl *,struct IUnknown *)
+??0CWbemEnumMarshaling@@QAE@PAVCLifeControl@@PAUIUnknown@@@Z
+; public: __thiscall CWbemFetchRefrMgr::CWbemFetchRefrMgr(class CWbemFetchRefrMgr const &)
+??0CWbemFetchRefrMgr@@QAE@ABV0@@Z
+; public: __thiscall CWbemFetchRefrMgr::CWbemFetchRefrMgr(class CLifeControl *,struct IUnknown *)
+??0CWbemFetchRefrMgr@@QAE@PAVCLifeControl@@PAUIUnknown@@@Z
+; public: __thiscall CWbemGuidToClassMap::CWbemGuidToClassMap(class CWbemGuidToClassMap const &)
+??0CWbemGuidToClassMap@@QAE@ABV0@@Z
+; public: __thiscall CWbemGuidToClassMap::CWbemGuidToClassMap(void)
+??0CWbemGuidToClassMap@@QAE@XZ
+; public: __thiscall CWbemInstance::CWbemInstance(class CWbemInstance const &)
+??0CWbemInstance@@QAE@ABV0@@Z
+; public: __thiscall CWbemInstance::CWbemInstance(void)
+??0CWbemInstance@@QAE@XZ
+; private: __thiscall CWbemMtgtDeliverEventPacket::CWbemMtgtDeliverEventPacket(void)
+??0CWbemMtgtDeliverEventPacket@@AAE@XZ
+; public: __thiscall CWbemMtgtDeliverEventPacket::CWbemMtgtDeliverEventPacket(unsigned char *,unsigned long,bool)
+??0CWbemMtgtDeliverEventPacket@@QAE@PAEK_N@Z
+; protected: __thiscall CWbemObject::CWbemObject(class CDataTable &,class CFastHeap &,class CDerivationList &)
+??0CWbemObject@@IAE@AAVCDataTable@@AAVCFastHeap@@AAVCDerivationList@@@Z
+; public: __thiscall CWbemObject::CWbemObject(class CWbemObject const &)
+??0CWbemObject@@QAE@ABV0@@Z
+; public: __thiscall CWbemObjectArrayPacket::CWbemObjectArrayPacket(unsigned char *,unsigned long,bool)
+??0CWbemObjectArrayPacket@@QAE@PAEK_N@Z
+; public: __thiscall CWbemRefreshingSvc::CWbemRefreshingSvc(class CWbemRefreshingSvc const &)
+??0CWbemRefreshingSvc@@QAE@ABV0@@Z
+; public: __thiscall CWbemRefreshingSvc::CWbemRefreshingSvc(class CLifeControl *,struct IUnknown *)
+??0CWbemRefreshingSvc@@QAE@PAVCLifeControl@@PAUIUnknown@@@Z
+; private: __thiscall CWbemSmartEnumNextPacket::CWbemSmartEnumNextPacket(void)
+??0CWbemSmartEnumNextPacket@@AAE@XZ
+; public: __thiscall CWbemSmartEnumNextPacket::CWbemSmartEnumNextPacket(unsigned char *,unsigned long,bool)
+??0CWbemSmartEnumNextPacket@@QAE@PAEK_N@Z
+; public: __thiscall CWbemThreadSecurityHandle::CWbemThreadSecurityHandle(class CWbemThreadSecurityHandle const &)
+??0CWbemThreadSecurityHandle@@QAE@ABV0@@Z
+; public: __thiscall CWbemThreadSecurityHandle::CWbemThreadSecurityHandle(class CLifeControl *)
+??0CWbemThreadSecurityHandle@@QAE@PAVCLifeControl@@@Z
+; public: __thiscall CWmiObjectFactory::CWmiObjectFactory(class CWmiObjectFactory const &)
+??0CWmiObjectFactory@@QAE@ABV0@@Z
+; public: __thiscall CWmiObjectFactory::CWmiObjectFactory(class CLifeControl *,struct IUnknown *)
+??0CWmiObjectFactory@@QAE@PAVCLifeControl@@PAUIUnknown@@@Z
+; public: __thiscall CWmiTextSourceArray::CWmiTextSourceArray(class CWmiTextSourceArray &)
+??0CWmiTextSourceArray@@QAE@AAV0@@Z
+; public: __thiscall CWmiTextSourceArray::CWmiTextSourceArray(void)
+??0CWmiTextSourceArray@@QAE@XZ
+; public: __thiscall SHARED_LOCK_DATA::SHARED_LOCK_DATA(void)
+??0SHARED_LOCK_DATA@@QAE@XZ
+; public: __thiscall CWbemRefreshingSvc::XCfgRefrSrvc::XCfgRefrSrvc(class XCfgRefrSrvc::XCfgRefrSrvc const &)
+??0XCfgRefrSrvc@CWbemRefreshingSvc@@QAE@ABV01@@Z
+; public: __thiscall CWbemRefreshingSvc::XCfgRefrSrvc::XCfgRefrSrvc(class XCfgRefrSrvc *)
+??0XCfgRefrSrvc@CWbemRefreshingSvc@@QAE@PAV1@@Z
+; public: __thiscall CWbemEnumMarshaling::XEnumMarshaling::XEnumMarshaling(class XEnumMarshaling::XEnumMarshaling const &)
+??0XEnumMarshaling@CWbemEnumMarshaling@@QAE@ABV01@@Z
+; public: __thiscall CWbemEnumMarshaling::XEnumMarshaling::XEnumMarshaling(class XEnumMarshaling *)
+??0XEnumMarshaling@CWbemEnumMarshaling@@QAE@PAV1@@Z
+; public: __thiscall CWbemFetchRefrMgr::XFetchRefrMgr::XFetchRefrMgr(class XFetchRefrMgr::XFetchRefrMgr const &)
+??0XFetchRefrMgr@CWbemFetchRefrMgr@@QAE@ABV01@@Z
+; public: __thiscall CWbemFetchRefrMgr::XFetchRefrMgr::XFetchRefrMgr(class XFetchRefrMgr *)
+??0XFetchRefrMgr@CWbemFetchRefrMgr@@QAE@PAV1@@Z
+; public: __thiscall CWmiObjectFactory::XObjectFactory::XObjectFactory(class XObjectFactory::XObjectFactory const &)
+??0XObjectFactory@CWmiObjectFactory@@QAE@ABV01@@Z
+; public: __thiscall CWmiObjectFactory::XObjectFactory::XObjectFactory(class XObjectFactory *)
+??0XObjectFactory@CWmiObjectFactory@@QAE@PAV1@@Z
+; public: __thiscall CWmiObjectTextSrc::XObjectTextSrc::XObjectTextSrc(class XObjectTextSrc::XObjectTextSrc const &)
+??0XObjectTextSrc@CWmiObjectTextSrc@@QAE@ABV01@@Z
+; public: __thiscall CWmiObjectTextSrc::XObjectTextSrc::XObjectTextSrc(class XObjectTextSrc *)
+??0XObjectTextSrc@CWmiObjectTextSrc@@QAE@PAV1@@Z
+; public: __thiscall CWbemRefreshingSvc::XWbemRefrSvc::XWbemRefrSvc(class XWbemRefrSvc::XWbemRefrSvc const &)
+??0XWbemRefrSvc@CWbemRefreshingSvc@@QAE@ABV01@@Z
+; public: __thiscall CWbemRefreshingSvc::XWbemRefrSvc::XWbemRefrSvc(class XWbemRefrSvc *)
+??0XWbemRefrSvc@CWbemRefreshingSvc@@QAE@PAV1@@Z
+; public: __thiscall CWbemRemoteRefresher::XWbemRemoteRefr::XWbemRemoteRefr(class XWbemRemoteRefr::XWbemRemoteRefr const &)
+??0XWbemRemoteRefr@CWbemRemoteRefresher@@QAE@ABV01@@Z
+; public: __thiscall CWbemRemoteRefresher::XWbemRemoteRefr::XWbemRemoteRefr(class XWbemRemoteRefr *)
+??0XWbemRemoteRefr@CWbemRemoteRefresher@@QAE@PAV1@@Z
+; public: __thiscall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::~CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>(void)
+??1?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QAE@XZ
+; public: __thiscall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::~CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>(void)
+??1?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QAE@XZ
+; public: __thiscall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::~CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>(void)
+??1?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QAE@XZ
+; public: __thiscall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::~CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>(void)
+??1?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QAE@XZ
+; public: __thiscall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::~CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>(void)
+??1?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QAE@XZ
+; public: __thiscall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::~CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>(void)
+??1?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QAE@XZ
+; public: __thiscall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::~CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>(void)
+??1?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QAE@XZ
+; public: __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::~CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>(void)
+??1?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE@XZ
+; public: __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::~CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>(void)
+??1?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE@XZ
+; public: __thiscall CRefedPointerArray<class CFastPropertyBagItem>::~CRefedPointerArray<class CFastPropertyBagItem>(void)
+??1?$CRefedPointerArray@VCFastPropertyBagItem@@@@QAE@XZ
+; public: __thiscall CRefedPointerArray<class CWmiTextSource>::~CRefedPointerArray<class CWmiTextSource>(void)
+??1?$CRefedPointerArray@VCWmiTextSource@@@@QAE@XZ
+; public: __thiscall CBasicQualifierSet::~CBasicQualifierSet(void)
+??1CBasicQualifierSet@@QAE@XZ
+; public: __thiscall CClassAndMethods::~CClassAndMethods(void)
+??1CClassAndMethods@@QAE@XZ
+; public: __thiscall CClassPart::~CClassPart(void)
+??1CClassPart@@QAE@XZ
+; public: virtual __thiscall CClassQualifierSet::~CClassQualifierSet(void)
+??1CClassQualifierSet@@UAE@XZ
+; public: virtual __thiscall CFastPropertyBag::~CFastPropertyBag(void)
+??1CFastPropertyBag@@UAE@XZ
+; public: __thiscall CFixedBSTRArray::~CFixedBSTRArray(void)
+??1CFixedBSTRArray@@QAE@XZ
+; public: __thiscall CInstancePQSContainer::~CInstancePQSContainer(void)
+??1CInstancePQSContainer@@QAE@XZ
+; public: __thiscall CInstancePart::~CInstancePart(void)
+??1CInstancePart@@QAE@XZ
+; public: virtual __thiscall CInstanceQualifierSet::~CInstanceQualifierSet(void)
+??1CInstanceQualifierSet@@UAE@XZ
+; public: __thiscall CInternalString::~CInternalString(void)
+??1CInternalString@@QAE@XZ
+; public: __thiscall CLimitationMapping::~CLimitationMapping(void)
+??1CLimitationMapping@@QAE@XZ
+; public: virtual __thiscall CMethodQualifierSet::~CMethodQualifierSet(void)
+??1CMethodQualifierSet@@UAE@XZ
+; public: __thiscall CMethodQualifierSetContainer::~CMethodQualifierSetContainer(void)
+??1CMethodQualifierSetContainer@@QAE@XZ
+; public: __thiscall CPropertyBagItemArray::~CPropertyBagItemArray(void)
+??1CPropertyBagItemArray@@QAE@XZ
+; public: virtual __thiscall CQualifierSet::~CQualifierSet(void)
+??1CQualifierSet@@UAE@XZ
+; public: __thiscall CWbemCallSecurity::~CWbemCallSecurity(void)
+??1CWbemCallSecurity@@QAE@XZ
+; public: virtual __thiscall CWbemClass::~CWbemClass(void)
+??1CWbemClass@@UAE@XZ
+; public: __thiscall CWbemClassCache::~CWbemClassCache(void)
+??1CWbemClassCache@@QAE@XZ
+; public: __thiscall CWbemDataPacket::~CWbemDataPacket(void)
+??1CWbemDataPacket@@QAE@XZ
+; public: virtual __thiscall CWbemEnumMarshaling::~CWbemEnumMarshaling(void)
+??1CWbemEnumMarshaling@@UAE@XZ
+; public: virtual __thiscall CWbemFetchRefrMgr::~CWbemFetchRefrMgr(void)
+??1CWbemFetchRefrMgr@@UAE@XZ
+; public: __thiscall CWbemGuidToClassMap::~CWbemGuidToClassMap(void)
+??1CWbemGuidToClassMap@@QAE@XZ
+; public: virtual __thiscall CWbemInstance::~CWbemInstance(void)
+??1CWbemInstance@@UAE@XZ
+; public: __thiscall CWbemMtgtDeliverEventPacket::~CWbemMtgtDeliverEventPacket(void)
+??1CWbemMtgtDeliverEventPacket@@QAE@XZ
+; public: virtual __thiscall CWbemObject::~CWbemObject(void)
+??1CWbemObject@@UAE@XZ
+; public: __thiscall CWbemObjectArrayPacket::~CWbemObjectArrayPacket(void)
+??1CWbemObjectArrayPacket@@QAE@XZ
+; public: virtual __thiscall CWbemRefreshingSvc::~CWbemRefreshingSvc(void)
+??1CWbemRefreshingSvc@@UAE@XZ
+; public: __thiscall CWbemSmartEnumNextPacket::~CWbemSmartEnumNextPacket(void)
+??1CWbemSmartEnumNextPacket@@QAE@XZ
+; public: __thiscall CWbemThreadSecurityHandle::~CWbemThreadSecurityHandle(void)
+??1CWbemThreadSecurityHandle@@QAE@XZ
+; public: virtual __thiscall CWmiObjectFactory::~CWmiObjectFactory(void)
+??1CWmiObjectFactory@@UAE@XZ
+; public: __thiscall CWmiTextSourceArray::~CWmiTextSourceArray(void)
+??1CWmiTextSourceArray@@QAE@XZ
+; public: __thiscall CWbemRefreshingSvc::XCfgRefrSrvc::~XCfgRefrSrvc(void)
+??1XCfgRefrSrvc@CWbemRefreshingSvc@@QAE@XZ
+; public: __thiscall CWbemEnumMarshaling::XEnumMarshaling::~XEnumMarshaling(void)
+??1XEnumMarshaling@CWbemEnumMarshaling@@QAE@XZ
+; public: __thiscall CWbemFetchRefrMgr::XFetchRefrMgr::~XFetchRefrMgr(void)
+??1XFetchRefrMgr@CWbemFetchRefrMgr@@QAE@XZ
+; public: __thiscall CWmiObjectFactory::XObjectFactory::~XObjectFactory(void)
+??1XObjectFactory@CWmiObjectFactory@@QAE@XZ
+; public: __thiscall CWmiObjectTextSrc::XObjectTextSrc::~XObjectTextSrc(void)
+??1XObjectTextSrc@CWmiObjectTextSrc@@QAE@XZ
+; public: __thiscall CWbemRefreshingSvc::XWbemRefrSvc::~XWbemRefrSvc(void)
+??1XWbemRefrSvc@CWbemRefreshingSvc@@QAE@XZ
+; public: __thiscall CWbemRemoteRefresher::XWbemRemoteRefr::~XWbemRemoteRefr(void)
+??1XWbemRemoteRefr@CWbemRemoteRefresher@@QAE@XZ
+; public: class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> & __thiscall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::operator=(class CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc> const &)
+??4?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@QAEAAV0@ABV0@@Z
+; public: class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> & __thiscall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::operator=(class CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc> const &)
+??4?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@QAEAAV0@ABV0@@Z
+; public: class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> & __thiscall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::operator=(class CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher> const &)
+??4?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@QAEAAV0@ABV0@@Z
+; public: class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> & __thiscall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::operator=(class CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc> const &)
+??4?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@QAEAAV0@ABV0@@Z
+; public: class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> & __thiscall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::operator=(class CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling> const &)
+??4?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@QAEAAV0@ABV0@@Z
+; public: class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> & __thiscall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::operator=(class CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr> const &)
+??4?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@QAEAAV0@ABV0@@Z
+; public: class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> & __thiscall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::operator=(class CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory> const &)
+??4?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@QAEAAV0@ABV0@@Z
+; public: class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> & __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator=(class CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray> &)
+??4?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEAAV0@AAV0@@Z
+; public: class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> & __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator=(class CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray> &)
+??4?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEAAV0@AAV0@@Z
+; public: class CRefedPointerArray<class CFastPropertyBagItem> & __thiscall CRefedPointerArray<class CFastPropertyBagItem>::operator=(class CRefedPointerArray<class CFastPropertyBagItem> &)
+??4?$CRefedPointerArray@VCFastPropertyBagItem@@@@QAEAAV0@AAV0@@Z
+; public: class CRefedPointerArray<class CWmiTextSource> & __thiscall CRefedPointerArray<class CWmiTextSource>::operator=(class CRefedPointerArray<class CWmiTextSource> &)
+??4?$CRefedPointerArray@VCWmiTextSource@@@@QAEAAV0@AAV0@@Z
+; public: class CBasicQualifierSet & __thiscall CBasicQualifierSet::operator=(class CBasicQualifierSet const &)
+??4CBasicQualifierSet@@QAEAAV0@ABV0@@Z
+; public: class CClassAndMethods & __thiscall CClassAndMethods::operator=(class CClassAndMethods const &)
+??4CClassAndMethods@@QAEAAV0@ABV0@@Z
+; public: class CClassPart & __thiscall CClassPart::operator=(class CClassPart const &)
+??4CClassPart@@QAEAAV0@ABV0@@Z
+; public: class CClassPartContainer & __thiscall CClassPartContainer::operator=(class CClassPartContainer const &)
+??4CClassPartContainer@@QAEAAV0@ABV0@@Z
+; public: class CClassQualifierSet & __thiscall CClassQualifierSet::operator=(class CClassQualifierSet const &)
+??4CClassQualifierSet@@QAEAAV0@ABV0@@Z
+; public: class CCompressedString & __thiscall CCompressedString::operator=(class CCompressedString const &)
+??4CCompressedString@@QAEAAV0@ABV0@@Z
+; public: class CCompressedStringList & __thiscall CCompressedStringList::operator=(class CCompressedStringList const &)
+??4CCompressedStringList@@QAEAAV0@ABV0@@Z
+; public: class CDataTable & __thiscall CDataTable::operator=(class CDataTable const &)
+??4CDataTable@@QAEAAV0@ABV0@@Z
+; public: class CDecorationPart & __thiscall CDecorationPart::operator=(class CDecorationPart const &)
+??4CDecorationPart@@QAEAAV0@ABV0@@Z
+; public: class CDerivationList & __thiscall CDerivationList::operator=(class CDerivationList const &)
+??4CDerivationList@@QAEAAV0@ABV0@@Z
+; public: class CEmbeddedObject & __thiscall CEmbeddedObject::operator=(class CEmbeddedObject const &)
+??4CEmbeddedObject@@QAEAAV0@ABV0@@Z
+; public: class CFastHeap & __thiscall CFastHeap::operator=(class CFastHeap const &)
+??4CFastHeap@@QAEAAV0@ABV0@@Z
+; public: class CFastPropertyBag & __thiscall CFastPropertyBag::operator=(class CFastPropertyBag &)
+??4CFastPropertyBag@@QAEAAV0@AAV0@@Z
+; public: class CFixedBSTRArray & __thiscall CFixedBSTRArray::operator=(class CFixedBSTRArray const &)
+??4CFixedBSTRArray@@QAEAAV0@ABV0@@Z
+; public: class CHiPerfLock & __thiscall CHiPerfLock::operator=(class CHiPerfLock const &)
+??4CHiPerfLock@@QAEAAV0@ABV0@@Z
+; public: class CInstancePQSContainer & __thiscall CInstancePQSContainer::operator=(class CInstancePQSContainer const &)
+??4CInstancePQSContainer@@QAEAAV0@ABV0@@Z
+; public: class CInstancePart & __thiscall CInstancePart::operator=(class CInstancePart const &)
+??4CInstancePart@@QAEAAV0@ABV0@@Z
+; public: class CInstancePartContainer & __thiscall CInstancePartContainer::operator=(class CInstancePartContainer const &)
+??4CInstancePartContainer@@QAEAAV0@ABV0@@Z
+; public: class CInstanceQualifierSet & __thiscall CInstanceQualifierSet::operator=(class CInstanceQualifierSet const &)
+??4CInstanceQualifierSet@@QAEAAV0@ABV0@@Z
+; public: class CInternalString & __thiscall CInternalString::operator=(class CInternalString const &)
+??4CInternalString@@QAEAAV0@ABV0@@Z
+; public: int __thiscall CInternalString::operator=(class CCompressedString *)
+??4CInternalString@@QAEHPAVCCompressedString@@@Z
+; public: int __thiscall CInternalString::operator=(unsigned short const *)
+??4CInternalString@@QAEHPBG@Z
+; public: class CKnownStringTable & __thiscall CKnownStringTable::operator=(class CKnownStringTable const &)
+??4CKnownStringTable@@QAEAAV0@ABV0@@Z
+; public: class CLimitationMapping & __thiscall CLimitationMapping::operator=(class CLimitationMapping &)
+??4CLimitationMapping@@QAEAAV0@AAV0@@Z
+; public: struct CMethodDescription & __thiscall CMethodDescription::operator=(struct CMethodDescription const &)
+??4CMethodDescription@@QAEAAU0@ABU0@@Z
+; public: class CMethodPart & __thiscall CMethodPart::operator=(class CMethodPart const &)
+??4CMethodPart@@QAEAAV0@ABV0@@Z
+; public: class CMethodPartContainer & __thiscall CMethodPartContainer::operator=(class CMethodPartContainer const &)
+??4CMethodPartContainer@@QAEAAV0@ABV0@@Z
+; public: class CMethodQualifierSet & __thiscall CMethodQualifierSet::operator=(class CMethodQualifierSet const &)
+??4CMethodQualifierSet@@QAEAAV0@ABV0@@Z
+; public: class CMethodQualifierSetContainer & __thiscall CMethodQualifierSetContainer::operator=(class CMethodQualifierSetContainer const &)
+??4CMethodQualifierSetContainer@@QAEAAV0@ABV0@@Z
+; public: class CPropertyBagItemArray & __thiscall CPropertyBagItemArray::operator=(class CPropertyBagItemArray &)
+??4CPropertyBagItemArray@@QAEAAV0@AAV0@@Z
+; public: class CPropertyLookupTable & __thiscall CPropertyLookupTable::operator=(class CPropertyLookupTable const &)
+??4CPropertyLookupTable@@QAEAAV0@ABV0@@Z
+; public: class CQualifierSet & __thiscall CQualifierSet::operator=(class CQualifierSet const &)
+??4CQualifierSet@@QAEAAV0@ABV0@@Z
+; public: class CQualifierSetList & __thiscall CQualifierSetList::operator=(class CQualifierSetList const &)
+??4CQualifierSetList@@QAEAAV0@ABV0@@Z
+; public: class CQualifierSetListContainer & __thiscall CQualifierSetListContainer::operator=(class CQualifierSetListContainer const &)
+??4CQualifierSetListContainer@@QAEAAV0@ABV0@@Z
+; public: class CReservedWordTable & __thiscall CReservedWordTable::operator=(class CReservedWordTable const &)
+??4CReservedWordTable@@QAEAAV0@ABV0@@Z
+; public: class CSharedLock & __thiscall CSharedLock::operator=(class CSharedLock const &)
+??4CSharedLock@@QAEAAV0@ABV0@@Z
+; public: class CSystemProperties & __thiscall CSystemProperties::operator=(class CSystemProperties const &)
+??4CSystemProperties@@QAEAAV0@ABV0@@Z
+; public: class CType & __thiscall CType::operator=(class CType const &)
+??4CType@@QAEAAV0@ABV0@@Z
+; public: class CUntypedArray & __thiscall CUntypedArray::operator=(class CUntypedArray const &)
+??4CUntypedArray@@QAEAAV0@ABV0@@Z
+; public: class CWbemCallSecurity & __thiscall CWbemCallSecurity::operator=(class CWbemCallSecurity const &)
+??4CWbemCallSecurity@@QAEAAV0@ABV0@@Z
+; public: class CWbemClassCache & __thiscall CWbemClassCache::operator=(class CWbemClassCache const &)
+??4CWbemClassCache@@QAEAAV0@ABV0@@Z
+; public: class CWbemDataPacket & __thiscall CWbemDataPacket::operator=(class CWbemDataPacket const &)
+??4CWbemDataPacket@@QAEAAV0@ABV0@@Z
+; public: class CWbemEnumMarshaling & __thiscall CWbemEnumMarshaling::operator=(class CWbemEnumMarshaling const &)
+??4CWbemEnumMarshaling@@QAEAAV0@ABV0@@Z
+; public: class CWbemFetchRefrMgr & __thiscall CWbemFetchRefrMgr::operator=(class CWbemFetchRefrMgr const &)
+??4CWbemFetchRefrMgr@@QAEAAV0@ABV0@@Z
+; public: class CWbemGuidToClassMap & __thiscall CWbemGuidToClassMap::operator=(class CWbemGuidToClassMap const &)
+??4CWbemGuidToClassMap@@QAEAAV0@ABV0@@Z
+; public: class CWbemMtgtDeliverEventPacket & __thiscall CWbemMtgtDeliverEventPacket::operator=(class CWbemMtgtDeliverEventPacket const &)
+??4CWbemMtgtDeliverEventPacket@@QAEAAV0@ABV0@@Z
+; public: class CWbemObjectArrayPacket & __thiscall CWbemObjectArrayPacket::operator=(class CWbemObjectArrayPacket const &)
+??4CWbemObjectArrayPacket@@QAEAAV0@ABV0@@Z
+; public: class CWbemRefreshingSvc & __thiscall CWbemRefreshingSvc::operator=(class CWbemRefreshingSvc const &)
+??4CWbemRefreshingSvc@@QAEAAV0@ABV0@@Z
+; public: class CWbemSmartEnumNextPacket & __thiscall CWbemSmartEnumNextPacket::operator=(class CWbemSmartEnumNextPacket const &)
+??4CWbemSmartEnumNextPacket@@QAEAAV0@ABV0@@Z
+; public: class CWbemThreadSecurityHandle & __thiscall CWbemThreadSecurityHandle::operator=(class CWbemThreadSecurityHandle const &)
+??4CWbemThreadSecurityHandle@@QAEAAV0@ABV0@@Z
+; public: class CWmiObjectFactory & __thiscall CWmiObjectFactory::operator=(class CWmiObjectFactory const &)
+??4CWmiObjectFactory@@QAEAAV0@ABV0@@Z
+; public: class CWmiTextSourceArray & __thiscall CWmiTextSourceArray::operator=(class CWmiTextSourceArray &)
+??4CWmiTextSourceArray@@QAEAAV0@AAV0@@Z
+; public: struct SHARED_LOCK_DATA & __thiscall SHARED_LOCK_DATA::operator=(struct SHARED_LOCK_DATA const &)
+??4SHARED_LOCK_DATA@@QAEAAU0@ABU0@@Z
+; public: struct SHMEM_HANDLE & __thiscall SHMEM_HANDLE::operator=(struct SHMEM_HANDLE const &)
+??4SHMEM_HANDLE@@QAEAAU0@ABU0@@Z
+; public: class CWbemRefreshingSvc::XCfgRefrSrvc & __thiscall CWbemRefreshingSvc::XCfgRefrSrvc::operator=(class CWbemRefreshingSvc::XCfgRefrSrvc const &)
+??4XCfgRefrSrvc@CWbemRefreshingSvc@@QAEAAV01@ABV01@@Z
+; public: class CWbemEnumMarshaling::XEnumMarshaling & __thiscall CWbemEnumMarshaling::XEnumMarshaling::operator=(class CWbemEnumMarshaling::XEnumMarshaling const &)
+??4XEnumMarshaling@CWbemEnumMarshaling@@QAEAAV01@ABV01@@Z
+; public: class CWbemFetchRefrMgr::XFetchRefrMgr & __thiscall CWbemFetchRefrMgr::XFetchRefrMgr::operator=(class CWbemFetchRefrMgr::XFetchRefrMgr const &)
+??4XFetchRefrMgr@CWbemFetchRefrMgr@@QAEAAV01@ABV01@@Z
+; public: class CWmiObjectFactory::XObjectFactory & __thiscall CWmiObjectFactory::XObjectFactory::operator=(class CWmiObjectFactory::XObjectFactory const &)
+??4XObjectFactory@CWmiObjectFactory@@QAEAAV01@ABV01@@Z
+; public: class CWmiObjectTextSrc::XObjectTextSrc & __thiscall CWmiObjectTextSrc::XObjectTextSrc::operator=(class CWmiObjectTextSrc::XObjectTextSrc const &)
+??4XObjectTextSrc@CWmiObjectTextSrc@@QAEAAV01@ABV01@@Z
+; public: class CWbemRefreshingSvc::XWbemRefrSvc & __thiscall CWbemRefreshingSvc::XWbemRefrSvc::operator=(class CWbemRefreshingSvc::XWbemRefrSvc const &)
+??4XWbemRefrSvc@CWbemRefreshingSvc@@QAEAAV01@ABV01@@Z
+; public: class CWbemRemoteRefresher::XWbemRemoteRefr & __thiscall CWbemRemoteRefresher::XWbemRemoteRefr::operator=(class CWbemRemoteRefresher::XWbemRemoteRefr const &)
+??4XWbemRemoteRefr@CWbemRemoteRefresher@@QAEAAV01@ABV01@@Z
+; public: bool __thiscall CInternalString::operator==(class CInternalString const &)const 
+??8CInternalString@@QBE_NABV0@@Z
+; public: bool __thiscall CInternalString::operator==(unsigned short const *)const 
+??8CInternalString@@QBE_NPBG@Z
+; public: int __thiscall CQualifierSet::operator==(class CQualifierSet &)
+??8CQualifierSet@@QAEHAAV0@@Z
+; public: bool __thiscall CInternalString::operator!=(class CInternalString const &)const 
+??9CInternalString@@QBE_NABV0@@Z
+; public: class CFastPropertyBagItem * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator[](int)
+??A?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEPAVCFastPropertyBagItem@@H@Z
+; public: class CFastPropertyBagItem const * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::operator[](int)const 
+??A?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QBEPBVCFastPropertyBagItem@@H@Z
+; public: class CWmiTextSource * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator[](int)
+??A?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEPAVCWmiTextSource@@H@Z
+; public: class CWmiTextSource const * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::operator[](int)const 
+??A?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QBEPBVCWmiTextSource@@H@Z
+; public: unsigned short * & __thiscall CFixedBSTRArray::operator[](int)
+??ACFixedBSTRArray@@QAEAAPAGH@Z
+; private: __thiscall CInternalString::operator class CCompressedString *(void)
+??BCInternalString@@AAEPAVCCompressedString@@XZ
+; private: __thiscall CInternalString::operator class CCompressedString *(void)const 
+??BCInternalString@@ABEPAVCCompressedString@@XZ
+; public: __thiscall CInternalString::operator class WString(void)const 
+??BCInternalString@@QBE?AVWString@@XZ
+; public: __thiscall CType::operator unsigned long(void)
+??BCType@@QAEKXZ
+; public: bool __thiscall CInternalString::operator<(class CInternalString const &)const 
+??MCInternalString@@QBE_NABV0@@Z
+; public: bool __thiscall CInternalString::operator>(class CInternalString const &)const 
+??OCInternalString@@QBE_NABV0@@Z
+; const  CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::`vftable'
+??_7?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@6B@
+; const  CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::`vftable'
+??_7?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@6B@
+; const  CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::`vftable'
+??_7?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@6B@
+; const  CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::`vftable'
+??_7?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@6B@
+; const  CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::`vftable'
+??_7?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@6B@
+; const  CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::`vftable'
+??_7?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@6B@
+; const  CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::`vftable'
+??_7?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@6B@
+; const  CClassAndMethods::`vftable'{for `CClassPartContainer'}
+??_7CClassAndMethods@@6BCClassPartContainer@@@
+; const  CClassAndMethods::`vftable'{for `CMethodPartContainer'}
+??_7CClassAndMethods@@6BCMethodPartContainer@@@
+; const  CClassPart::`vftable'{for `CDataTableContainer'}
+??_7CClassPart@@6BCDataTableContainer@@@
+; const  CClassPart::`vftable'{for `CHeapContainer'}
+??_7CClassPart@@6BCHeapContainer@@@
+; const  CClassPart::`vftable'{for `CPropertyTableContainer'}
+??_7CClassPart@@6BCPropertyTableContainer@@@
+; const  CClassPart::`vftable'{for `CQualifierSetContainer'}
+??_7CClassPart@@6BCQualifierSetContainer@@@
+; const  CClassPartContainer::`vftable'
+??_7CClassPartContainer@@6B@
+; const  CClassQualifierSet::`vftable'
+??_7CClassQualifierSet@@6B@
+; const  CFastPropertyBag::`vftable'
+??_7CFastPropertyBag@@6B@
+; const  CInstancePQSContainer::`vftable'
+??_7CInstancePQSContainer@@6B@
+; const  CInstancePart::`vftable'{for `CDataTableContainer'}
+??_7CInstancePart@@6BCDataTableContainer@@@
+; const  CInstancePart::`vftable'{for `CHeapContainer'}
+??_7CInstancePart@@6BCHeapContainer@@@
+; const  CInstancePart::`vftable'{for `CQualifierSetContainer'}
+??_7CInstancePart@@6BCQualifierSetContainer@@@
+; const  CInstancePart::`vftable'{for `CQualifierSetListContainer'}
+??_7CInstancePart@@6BCQualifierSetListContainer@@@
+; const  CInstancePartContainer::`vftable'
+??_7CInstancePartContainer@@6B@
+; const  CInstanceQualifierSet::`vftable'
+??_7CInstanceQualifierSet@@6B@
+; const  CMethodPart::`vftable'
+??_7CMethodPart@@6B@
+; const  CMethodPartContainer::`vftable'
+??_7CMethodPartContainer@@6B@
+; const  CMethodQualifierSet::`vftable'
+??_7CMethodQualifierSet@@6B@
+; const  CMethodQualifierSetContainer::`vftable'
+??_7CMethodQualifierSetContainer@@6B@
+; const  CQualifierSet::`vftable'
+??_7CQualifierSet@@6B@
+; const  CQualifierSetListContainer::`vftable'
+??_7CQualifierSetListContainer@@6B@
+; const  CWbemCallSecurity::`vftable'{for `IServerSecurity'}
+??_7CWbemCallSecurity@@6BIServerSecurity@@@
+; const  CWbemCallSecurity::`vftable'{for `_IWmiCallSec'}
+??_7CWbemCallSecurity@@6B_IWmiCallSec@@@
+; const  CWbemClass::`vftable'{for `IErrorInfo'}
+??_7CWbemClass@@6BIErrorInfo@@@
+; const  CWbemClass::`vftable'{for `IMarshal'}
+??_7CWbemClass@@6BIMarshal@@@
+; const  CWbemClass::`vftable'{for `IWbemConstructClassObject'}
+??_7CWbemClass@@6BIWbemConstructClassObject@@@
+; const  CWbemClass::`vftable'{for `IWbemPropertySource'}
+??_7CWbemClass@@6BIWbemPropertySource@@@
+; const  CWbemClass::`vftable'{for `_IWmiObject'}
+??_7CWbemClass@@6B_IWmiObject@@@
+; const  CWbemEnumMarshaling::`vftable'
+??_7CWbemEnumMarshaling@@6B@
+; const  CWbemFetchRefrMgr::`vftable'
+??_7CWbemFetchRefrMgr@@6B@
+; const  CWbemInstance::`vftable'{for `CClassPartContainer'}
+??_7CWbemInstance@@6BCClassPartContainer@@@
+; const  CWbemInstance::`vftable'{for `CInstancePartContainer'}
+??_7CWbemInstance@@6BCInstancePartContainer@@@
+; const  CWbemInstance::`vftable'{for `IErrorInfo'}
+??_7CWbemInstance@@6BIErrorInfo@@@
+; const  CWbemInstance::`vftable'{for `IMarshal'}
+??_7CWbemInstance@@6BIMarshal@@@
+; const  CWbemInstance::`vftable'{for `IWbemConstructClassObject'}
+??_7CWbemInstance@@6BIWbemConstructClassObject@@@
+; const  CWbemInstance::`vftable'{for `IWbemPropertySource'}
+??_7CWbemInstance@@6BIWbemPropertySource@@@
+; const  CWbemInstance::`vftable'{for `_IWmiObject'}
+??_7CWbemInstance@@6B_IWmiObject@@@
+; const  CWbemObject::`vftable'{for `IErrorInfo'}
+??_7CWbemObject@@6BIErrorInfo@@@
+; const  CWbemObject::`vftable'{for `IMarshal'}
+??_7CWbemObject@@6BIMarshal@@@
+; const  CWbemObject::`vftable'{for `IWbemConstructClassObject'}
+??_7CWbemObject@@6BIWbemConstructClassObject@@@
+; const  CWbemObject::`vftable'{for `IWbemPropertySource'}
+??_7CWbemObject@@6BIWbemPropertySource@@@
+; const  CWbemObject::`vftable'{for `_IWmiObject'}
+??_7CWbemObject@@6B_IWmiObject@@@
+; const  CWbemRefreshingSvc::`vftable'
+??_7CWbemRefreshingSvc@@6B@
+; const  CWbemThreadSecurityHandle::`vftable'
+??_7CWbemThreadSecurityHandle@@6B@
+; const  CWmiObjectFactory::`vftable'
+??_7CWmiObjectFactory@@6B@
+; const  CWbemRefreshingSvc::XCfgRefrSrvc::`vftable'
+??_7XCfgRefrSrvc@CWbemRefreshingSvc@@6B@
+; const  CWbemEnumMarshaling::XEnumMarshaling::`vftable'
+??_7XEnumMarshaling@CWbemEnumMarshaling@@6B@
+; const  CWbemFetchRefrMgr::XFetchRefrMgr::`vftable'
+??_7XFetchRefrMgr@CWbemFetchRefrMgr@@6B@
+; const  CWmiObjectFactory::XObjectFactory::`vftable'
+??_7XObjectFactory@CWmiObjectFactory@@6B@
+; const  CWmiObjectTextSrc::XObjectTextSrc::`vftable'
+??_7XObjectTextSrc@CWmiObjectTextSrc@@6B@
+; const  CWbemRefreshingSvc::XWbemRefrSvc::`vftable'
+??_7XWbemRefrSvc@CWbemRefreshingSvc@@6B@
+; const  CWbemRemoteRefresher::XWbemRemoteRefr::`vftable'
+??_7XWbemRemoteRefr@CWbemRemoteRefresher@@6B@
+; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::`default constructor closure'(void)
+??_F?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXXZ
+; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::`default constructor closure'(void)
+??_F?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXXZ
+; public: void __thiscall CClassQualifierSet::`default constructor closure'(void)
+??_FCClassQualifierSet@@QAEXXZ
+; public: void __thiscall CInstanceQualifierSet::`default constructor closure'(void)
+??_FCInstanceQualifierSet@@QAEXXZ
+; public: void __thiscall CWbemClassCache::`default constructor closure'(void)
+??_FCWbemClassCache@@QAEXXZ
+; protected: unsigned long __thiscall CFastHeap::AbsoluteToHeap(unsigned char *)
+?AbsoluteToHeap@CFastHeap@@IAEKPAE@Z
+; public: void __thiscall CInternalString::AcquireCompressedString(class CCompressedString *)
+?AcquireCompressedString@CInternalString@@QAEXPAVCCompressedString@@@Z
+; public: int __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Add(class CFastPropertyBagItem *)
+?Add@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEHPAVCFastPropertyBagItem@@@Z
+; public: int __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Add(class CWmiTextSource *)
+?Add@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEHPAVCWmiTextSource@@@Z
+; public: long __thiscall CFastPropertyBag::Add(unsigned short const *,long,unsigned long,unsigned long,void *)
+?Add@CFastPropertyBag@@QAEJPBGJKKPAX@Z
+; protected: virtual long __thiscall CWbemRefreshingSvc::AddEnumToRefresher(struct _WBEM_REFRESHER_ID *,unsigned short const *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
+?AddEnumToRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@PBGJPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
+; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::AddEnumToRefresher(struct _WBEM_REFRESHER_ID *,unsigned short const *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
+?AddEnumToRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@PBGJPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
+; protected: long __thiscall CWbemRefreshingSvc::AddEnumToRefresher_(int,struct _WBEM_REFRESHER_ID *,class CWbemObject *,unsigned short const *,long,struct IWbemContext *,struct _WBEM_REFRESH_INFO *)
+?AddEnumToRefresher_@CWbemRefreshingSvc@@IAEJHPAU_WBEM_REFRESHER_ID@@PAVCWbemObject@@PBGJPAUIWbemContext@@PAU_WBEM_REFRESH_INFO@@@Z
+; public: long __thiscall CWbemGuidToClassMap::AddMap(class CGUID &,class CWbemClassToIdMap * *)
+?AddMap@CWbemGuidToClassMap@@QAEJAAVCGUID@@PAPAVCWbemClassToIdMap@@@Z
+; public: long __thiscall CWbemClassCache::AddObject(struct _GUID &,struct IWbemClassObject *)
+?AddObject@CWbemClassCache@@QAEJAAU_GUID@@PAUIWbemClassObject@@@Z
+; protected: virtual long __thiscall CWbemRefreshingSvc::AddObjectToRefresher(struct _WBEM_REFRESHER_ID *,unsigned short const *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
+?AddObjectToRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@PBGJPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
+; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::AddObjectToRefresher(struct _WBEM_REFRESHER_ID *,unsigned short const *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
+?AddObjectToRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@PBGJPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
+; protected: virtual long __thiscall CWbemRefreshingSvc::AddObjectToRefresherByTemplate(struct _WBEM_REFRESHER_ID *,struct IWbemClassObject *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
+?AddObjectToRefresherByTemplate@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@PAUIWbemClassObject@@JPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
+; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::AddObjectToRefresherByTemplate(struct _WBEM_REFRESHER_ID *,struct IWbemClassObject *,long,struct IWbemContext *,unsigned long,struct _WBEM_REFRESH_INFO *,unsigned long *)
+?AddObjectToRefresherByTemplate@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@PAUIWbemClassObject@@JPAUIWbemContext@@KPAU_WBEM_REFRESH_INFO@@PAK@Z
+; protected: long __thiscall CWbemRefreshingSvc::AddObjectToRefresher_(int,struct _WBEM_REFRESHER_ID *,class CWbemObject *,long,struct IWbemContext *,struct _WBEM_REFRESH_INFO *)
+?AddObjectToRefresher_@CWbemRefreshingSvc@@IAEJHPAU_WBEM_REFRESHER_ID@@PAVCWbemObject@@JPAUIWbemContext@@PAU_WBEM_REFRESH_INFO@@@Z
+; public: long __thiscall CWbemClass::AddPropertyText(class WString &,struct CPropertyLookup *,class CPropertyInformation *,long)
+?AddPropertyText@CWbemClass@@QAEJAAVWString@@PAUCPropertyLookup@@PAVCPropertyInformation@@J@Z
+; public: static void __stdcall CType::AddPropertyType(class WString &,unsigned short const *)
+?AddPropertyType@CType@@SGXAAVWString@@PBG@Z
+; protected: long __thiscall CQualifierSet::AddQualifierConflicts(class CVarVector &)
+?AddQualifierConflicts@CQualifierSet@@IAEJAAVCVarVector@@@Z
+; public: virtual unsigned long __stdcall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::AddRef(void)
+?AddRef@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::AddRef(void)
+?AddRef@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::AddRef(void)
+?AddRef@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::AddRef(void)
+?AddRef@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::AddRef(void)
+?AddRef@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::AddRef(void)
+?AddRef@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::AddRef(void)
+?AddRef@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CQualifierSet::AddRef(void)
+?AddRef@CQualifierSet@@UAGKXZ
+; public: virtual unsigned long __stdcall CWbemCallSecurity::AddRef(void)
+?AddRef@CWbemCallSecurity@@UAGKXZ
+; public: virtual unsigned long __stdcall CWbemObject::AddRef(void)
+?AddRef@CWbemObject@@UAGKXZ
+; public: virtual unsigned long __stdcall CWbemThreadSecurityHandle::AddRef(void)
+?AddRef@CWbemThreadSecurityHandle@@UAGKXZ
+; protected: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::AddRefElement(class CFastPropertyBagItem *)
+?AddRefElement@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@IAEXPAVCFastPropertyBagItem@@@Z
+; protected: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::AddRefElement(class CWmiTextSource *)
+?AddRefElement@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@IAEXPAVCWmiTextSource@@@Z
+; public: void __thiscall CCompressedStringList::AddString(unsigned short const *)
+?AddString@CCompressedStringList@@QAEXPBG@Z
+; public: static long __stdcall CMethodDescription::AddText(struct CMethodDescription *,class WString &,class CFastHeap *,long)
+?AddText@CMethodDescription@@SGJPAU1@AAVWString@@PAVCFastHeap@@J@Z
+; public: long __thiscall CMethodPart::AddText(class WString &,long)
+?AddText@CMethodPart@@QAEJAAVWString@@J@Z
+; public: int __thiscall CFastHeap::Allocate(unsigned long,unsigned long &)
+?Allocate@CFastHeap@@QAEHKAAK@Z
+; public: int __thiscall CFastHeap::AllocateString(char const *,unsigned long &)
+?AllocateString@CFastHeap@@QAEHPBDAAK@Z
+; public: int __thiscall CFastHeap::AllocateString(unsigned short const *,unsigned long &)
+?AllocateString@CFastHeap@@QAEHPBGAAK@Z
+; public: virtual long __stdcall CWbemObject::AppendArrayPropRangeByHandle(long,long,unsigned long,unsigned long,void *)
+?AppendArrayPropRangeByHandle@CWbemObject@@UAGJJJKKPAX@Z
+; public: long __thiscall CWbemObject::AppendQualifierArrayRange(unsigned short const *,unsigned short const *,int,long,long,unsigned long,unsigned long,void *)
+?AppendQualifierArrayRange@CWbemObject@@QAEJPBG0HJJKKPAX@Z
+; public: static long __stdcall CUntypedArray::AppendRange(class CPtrSource *,unsigned long,unsigned long,class CFastHeap *,unsigned long,unsigned long,void *)
+?AppendRange@CUntypedArray@@SGJPAVCPtrSource@@KKPAVCFastHeap@@KKPAX@Z
+; public: static int __stdcall CWbemObject::AreEqual(class CWbemObject *,class CWbemObject *,long)
+?AreEqual@CWbemObject@@SGHPAV1@0J@Z
+; public: int __thiscall CDecorationPart::AreKeysRemoved(void)
+?AreKeysRemoved@CDecorationPart@@QAEHXZ
+; public: int __thiscall CLimitationMapping::ArePropertiesLimited(void)
+?ArePropertiesLimited@CLimitationMapping@@QAEHXZ
+; public: static long __stdcall CWbemInstance::AsymmetricMerge(class CWbemInstance *,class CWbemInstance *)
+?AsymmetricMerge@CWbemInstance@@SGJPAV1@0@Z
+; protected: unsigned long __thiscall CFastHeap::AugmentRequest(unsigned long,unsigned long)
+?AugmentRequest@CFastHeap@@IAEKKK@Z
+; public: virtual long __stdcall CQualifierSet::BeginEnumeration(long)
+?BeginEnumeration@CQualifierSet@@UAGJJ@Z
+; public: virtual long __stdcall CWbemObject::BeginEnumeration(long)
+?BeginEnumeration@CWbemObject@@UAGJJ@Z
+; public: virtual long __stdcall CWbemObject::BeginEnumerationEx(long,long)
+?BeginEnumerationEx@CWbemObject@@UAGJJJ@Z
+; public: virtual long __stdcall CWbemClass::BeginMethodEnumeration(long)
+?BeginMethodEnumeration@CWbemClass@@UAGJJ@Z
+; public: virtual long __stdcall CWbemInstance::BeginMethodEnumeration(long)
+?BeginMethodEnumeration@CWbemInstance@@UAGJJ@Z
+; public: void __thiscall CLimitationMapping::Build(int)
+?Build@CLimitationMapping@@QAEXH@Z
+; public: virtual long __stdcall CWbemObject::CIMTYPEToVARTYPE(long,unsigned short *)
+?CIMTYPEToVARTYPE@CWbemObject@@UAGJJPAG@Z
+; public: static class CType  __stdcall CType::CVarToType(class CVar &)
+?CVarToType@CType@@SG?AV1@AAVCVar@@@Z
+; public: class CVar * __thiscall CWbemInstance::CalculateCachedKey(void)
+?CalculateCachedKey@CWbemInstance@@QAEPAVCVar@@XZ
+; public: long __thiscall CWbemMtgtDeliverEventPacket::CalculateLength(long,struct IWbemClassObject * *,unsigned long *,class CWbemClassToIdMap &,struct _GUID *,int *)
+?CalculateLength@CWbemMtgtDeliverEventPacket@@QAEJJPAPAUIWbemClassObject@@PAKAAVCWbemClassToIdMap@@PAU_GUID@@PAH@Z
+; public: long __thiscall CWbemObjectArrayPacket::CalculateLength(long,struct IWbemClassObject * *,unsigned long *,class CWbemClassToIdMap &,struct _GUID *,int *)
+?CalculateLength@CWbemObjectArrayPacket@@QAEJJPAPAUIWbemClassObject@@PAKAAVCWbemClassToIdMap@@PAU_GUID@@PAH@Z
+; public: long __thiscall CWbemSmartEnumNextPacket::CalculateLength(long,struct IWbemClassObject * *,unsigned long *,class CWbemClassToIdMap &,struct _GUID *,int *)
+?CalculateLength@CWbemSmartEnumNextPacket@@QAEJJPAPAUIWbemClassObject@@PAKAAVCWbemClassToIdMap@@PAU_GUID@@PAH@Z
+; public: static unsigned long __stdcall CUntypedArray::CalculateNecessarySpaceByLength(int,int)
+?CalculateNecessarySpaceByLength@CUntypedArray@@SGKHH@Z
+; public: static unsigned long __stdcall CUntypedArray::CalculateNecessarySpaceByType(class CType,int)
+?CalculateNecessarySpaceByType@CUntypedArray@@SGKVCType@@H@Z
+; public: static int __stdcall CType::CanBeKey(unsigned long)
+?CanBeKey@CType@@SGHK@Z
+; public: int __thiscall CBasicQualifierSet::CanBeReconciledWith(class CBasicQualifierSet &)
+?CanBeReconciledWith@CBasicQualifierSet@@QAEHAAV1@@Z
+; public: enum EReconciliation  __thiscall CClassAndMethods::CanBeReconciledWith(class CClassAndMethods &)
+?CanBeReconciledWith@CClassAndMethods@@QAE?AW4EReconciliation@@AAV1@@Z
+; public: enum EReconciliation  __thiscall CClassPart::CanBeReconciledWith(class CClassPart &)
+?CanBeReconciledWith@CClassPart@@QAE?AW4EReconciliation@@AAV1@@Z
+; public: enum EReconciliation  __thiscall CMethodPart::CanBeReconciledWith(class CMethodPart &)
+?CanBeReconciledWith@CMethodPart@@QAE?AW4EReconciliation@@AAV1@@Z
+; public: enum EReconciliation  __thiscall CWbemClass::CanBeReconciledWith(class CWbemClass *)
+?CanBeReconciledWith@CWbemClass@@QAE?AW4EReconciliation@@PAV1@@Z
+; public: virtual long __thiscall CClassPart::CanContainAbstract(int)
+?CanContainAbstract@CClassPart@@UAEJH@Z
+; public: virtual long __thiscall CInstancePQSContainer::CanContainAbstract(int)
+?CanContainAbstract@CInstancePQSContainer@@UAEJH@Z
+; public: virtual long __thiscall CInstancePart::CanContainAbstract(int)
+?CanContainAbstract@CInstancePart@@UAEJH@Z
+; public: virtual long __thiscall CMethodQualifierSetContainer::CanContainAbstract(int)
+?CanContainAbstract@CMethodQualifierSetContainer@@UAEJH@Z
+; public: virtual long __thiscall CClassPart::CanContainDynamic(void)
+?CanContainDynamic@CClassPart@@UAEJXZ
+; public: virtual long __thiscall CInstancePQSContainer::CanContainDynamic(void)
+?CanContainDynamic@CInstancePQSContainer@@UAEJXZ
+; public: virtual long __thiscall CInstancePart::CanContainDynamic(void)
+?CanContainDynamic@CInstancePart@@UAEJXZ
+; public: virtual long __thiscall CMethodQualifierSetContainer::CanContainDynamic(void)
+?CanContainDynamic@CMethodQualifierSetContainer@@UAEJXZ
+; public: virtual long __thiscall CClassPart::CanContainKey(void)
+?CanContainKey@CClassPart@@UAEJXZ
+; public: virtual long __thiscall CInstancePQSContainer::CanContainKey(void)
+?CanContainKey@CInstancePQSContainer@@UAEJXZ
+; public: virtual long __thiscall CInstancePart::CanContainKey(void)
+?CanContainKey@CInstancePart@@UAEJXZ
+; public: virtual long __thiscall CMethodQualifierSetContainer::CanContainKey(void)
+?CanContainKey@CMethodQualifierSetContainer@@UAEJXZ
+; public: int __thiscall CClassPart::CanContainKeyedProps(void)
+?CanContainKeyedProps@CClassPart@@QAEHXZ
+; public: virtual long __thiscall CClassPart::CanContainSingleton(void)
+?CanContainSingleton@CClassPart@@UAEJXZ
+; public: virtual long __thiscall CInstancePQSContainer::CanContainSingleton(void)
+?CanContainSingleton@CInstancePQSContainer@@UAEJXZ
+; public: virtual long __thiscall CInstancePart::CanContainSingleton(void)
+?CanContainSingleton@CInstancePart@@UAEJXZ
+; public: virtual long __thiscall CMethodQualifierSetContainer::CanContainSingleton(void)
+?CanContainSingleton@CMethodQualifierSetContainer@@UAEJXZ
+; public: virtual int __thiscall CClassPart::CanHaveCimtype(unsigned short const *)
+?CanHaveCimtype@CClassPart@@UAEHPBG@Z
+; public: virtual int __thiscall CInstancePQSContainer::CanHaveCimtype(unsigned short const *)
+?CanHaveCimtype@CInstancePQSContainer@@UAEHPBG@Z
+; public: virtual int __thiscall CInstancePart::CanHaveCimtype(unsigned short const *)
+?CanHaveCimtype@CInstancePart@@UAEHPBG@Z
+; public: virtual int __thiscall CMethodQualifierSetContainer::CanHaveCimtype(unsigned short const *)
+?CanHaveCimtype@CMethodQualifierSetContainer@@UAEHPBG@Z
+; public: int __thiscall CCompressedString::CheapCompare(class CCompressedString const &)const 
+?CheapCompare@CCompressedString@@QBEHABV1@@Z
+; public: int __thiscall CClassPart::CheckBoolQualifier(unsigned short const *)
+?CheckBoolQualifier@CClassPart@@QAEHPBG@Z
+; public: int __thiscall CWbemObject::CheckBooleanPropQual(unsigned short const *,unsigned short const *)
+?CheckBooleanPropQual@CWbemObject@@QAEHPBG0@Z
+; public: static int __stdcall CUntypedArray::CheckCVarVector(class CVarVector &,unsigned long)
+?CheckCVarVector@CUntypedArray@@SGHAAVCVarVector@@K@Z
+; protected: long __thiscall CMethodPart::CheckDuplicateParameters(class CWbemObject *,class CWbemObject *)
+?CheckDuplicateParameters@CMethodPart@@IAEJPAVCWbemObject@@0@Z
+; protected: long __thiscall CMethodPart::CheckIds(class CWbemClass *,class CWbemClass *)
+?CheckIds@CMethodPart@@IAEJPAVCWbemClass@@0@Z
+; public: static int __stdcall CUntypedArray::CheckIntervalDateTime(class CVarVector &)
+?CheckIntervalDateTime@CUntypedArray@@SGHAAVCVarVector@@@Z
+; public: int __thiscall CClassPart::CheckLocalBoolQualifier(unsigned short const *)
+?CheckLocalBoolQualifier@CClassPart@@QAEHPBG@Z
+; public: static long __stdcall CUntypedArray::CheckRangeSize(unsigned long,unsigned long,unsigned long,unsigned long,void *)
+?CheckRangeSize@CUntypedArray@@SGJKKKKPAX@Z
+; protected: static long __stdcall CUntypedArray::CheckRangeSizeForGet(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long *)
+?CheckRangeSizeForGet@CUntypedArray@@KGJKKKKPAK@Z
+; private: void __thiscall CWbemClassCache::Clear(void)
+?Clear@CWbemClassCache@@AAEXXZ
+; private: void __thiscall CWbemGuidToClassMap::Clear(void)
+?Clear@CWbemGuidToClassMap@@AAEXXZ
+; public: void __thiscall CWbemInstance::ClearCachedKey(void)
+?ClearCachedKey@CWbemInstance@@QAEXXZ
+; public: virtual void __thiscall CWbemInstance::ClearCachedKeyValue(void)
+?ClearCachedKeyValue@CWbemInstance@@UAEXXZ
+; public: virtual long __stdcall CWbemClass::ClearWriteOnlyProperties(void)
+?ClearWriteOnlyProperties@CWbemClass@@UAGJXZ
+; public: virtual long __stdcall CWbemInstance::ClearWriteOnlyProperties(void)
+?ClearWriteOnlyProperties@CWbemInstance@@UAGJXZ
+; public: virtual long __stdcall CWbemClass::Clone(struct IWbemClassObject * *)
+?Clone@CWbemClass@@UAGJPAPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemInstance::Clone(struct IWbemClassObject * *)
+?Clone@CWbemInstance@@UAGJPAPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemClass::CloneAndDecorate(long,unsigned short *,unsigned short *,struct IWbemClassObject * *)
+?CloneAndDecorate@CWbemClass@@UAGJJPAG0PAPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemInstance::CloneAndDecorate(long,unsigned short *,unsigned short *,struct IWbemClassObject * *)
+?CloneAndDecorate@CWbemInstance@@UAGJJPAG0PAPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemClass::CloneEx(long,struct _IWmiObject *)
+?CloneEx@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemInstance::CloneEx(long,struct _IWmiObject *)
+?CloneEx@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
+; public: long __thiscall CWbemThreadSecurityHandle::CloneProcessContext(void)
+?CloneProcessContext@CWbemThreadSecurityHandle@@QAEJXZ
+; public: long __thiscall CWbemThreadSecurityHandle::CloneRpcContext(struct IServerSecurity *)
+?CloneRpcContext@CWbemThreadSecurityHandle@@QAEJPAUIServerSecurity@@@Z
+; public: long __thiscall CWbemThreadSecurityHandle::CloneThreadContext(unsigned long)
+?CloneThreadContext@CWbemThreadSecurityHandle@@QAEJK@Z
+; public: void __thiscall CClassAndMethods::Compact(void)
+?Compact@CClassAndMethods@@QAEXXZ
+; public: void __thiscall CClassPart::Compact(void)
+?Compact@CClassPart@@QAEXXZ
+; public: void __thiscall CInstancePart::Compact(bool)
+?Compact@CInstancePart@@QAEX_N@Z
+; public: void __thiscall CMethodPart::Compact(void)
+?Compact@CMethodPart@@QAEXXZ
+; public: virtual void __thiscall CWbemClass::CompactAll(void)
+?CompactAll@CWbemClass@@UAEXXZ
+; public: virtual void __thiscall CWbemInstance::CompactAll(void)
+?CompactAll@CWbemInstance@@UAEXXZ
+; public: void __thiscall CWbemInstance::CompactClass(void)
+?CompactClass@CWbemInstance@@QAEXXZ
+; public: int __thiscall CBasicQualifierSet::Compare(class CBasicQualifierSet &,unsigned char,unsigned short const * *,unsigned long)
+?Compare@CBasicQualifierSet@@QAEHAAV1@EPAPBGK@Z
+; public: int __thiscall CCompressedString::Compare(class CCompressedString const &)const 
+?Compare@CCompressedString@@QBEHABV1@@Z
+; public: int __thiscall CCompressedString::Compare(char const *)const 
+?Compare@CCompressedString@@QBEHPBD@Z
+; public: int __thiscall CCompressedString::Compare(unsigned short const *)const 
+?Compare@CCompressedString@@QBEHPBG@Z
+; public: int __thiscall CInternalString::Compare(class CInternalString const &)const 
+?Compare@CInternalString@@QBEHABV1@@Z
+; public: int __thiscall CInternalString::Compare(unsigned short const *)const 
+?Compare@CInternalString@@QBEHPBG@Z
+; public: int __thiscall CQualifierSet::Compare(class CQualifierSet &,class CFixedBSTRArray *,int)
+?Compare@CQualifierSet@@QAEHAAV1@PAVCFixedBSTRArray@@H@Z
+; public: virtual long __stdcall CWbemObject::CompareClassParts(struct IWbemClassObject *,long)
+?CompareClassParts@CWbemObject@@UAGJPAUIWbemClassObject@@J@Z
+; public: int __thiscall CClassPart::CompareDefs(class CClassPart &)
+?CompareDefs@CClassPart@@QAEHAAV1@@Z
+; public: virtual long __stdcall CWbemClass::CompareDerivedMostClass(long,struct _IWmiObject *)
+?CompareDerivedMostClass@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemInstance::CompareDerivedMostClass(long,struct _IWmiObject *)
+?CompareDerivedMostClass@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
+; public: enum EReconciliation  __thiscall CClassPart::CompareExactMatch(class CClassPart &,int)
+?CompareExactMatch@CClassPart@@QAE?AW4EReconciliation@@AAV1@H@Z
+; public: enum EReconciliation  __thiscall CMethodPart::CompareExactMatch(class CMethodPart &)
+?CompareExactMatch@CMethodPart@@QAE?AW4EReconciliation@@AAV1@@Z
+; public: int __thiscall CBasicQualifierSet::CompareLocalizedSet(class CBasicQualifierSet &)
+?CompareLocalizedSet@CBasicQualifierSet@@QAEHAAV1@@Z
+; public: long __thiscall CWbemClass::CompareMostDerivedClass(class CWbemClass *)
+?CompareMostDerivedClass@CWbemClass@@QAEJPAV1@@Z
+; public: int __thiscall CCompressedString::CompareNoCase(class CCompressedString const &)const 
+?CompareNoCase@CCompressedString@@QBEHABV1@@Z
+; public: int __thiscall CCompressedString::CompareNoCase(char const *)const 
+?CompareNoCase@CCompressedString@@QBEHPBD@Z
+; public: int __thiscall CCompressedString::CompareNoCase(unsigned short const *)const 
+?CompareNoCase@CCompressedString@@QBEHPBG@Z
+; public: enum EReconciliation  __thiscall CClassAndMethods::CompareTo(class CClassAndMethods &)
+?CompareTo@CClassAndMethods@@QAE?AW4EReconciliation@@AAV1@@Z
+; public: int __thiscall CDecorationPart::CompareTo(class CDecorationPart &)
+?CompareTo@CDecorationPart@@QAEHAAV1@@Z
+; public: long __thiscall CMethodPart::CompareTo(long,class CMethodPart &)
+?CompareTo@CMethodPart@@QAEJJAAV1@@Z
+; public: virtual long __stdcall CQualifierSet::CompareTo(long,struct IWbemQualifierSet *)
+?CompareTo@CQualifierSet@@UAGJJPAUIWbemQualifierSet@@@Z
+; public: virtual long __stdcall CWbemClass::CompareTo(long,struct IWbemClassObject *)
+?CompareTo@CWbemClass@@UAGJJPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemObject::CompareTo(long,struct IWbemClassObject *)
+?CompareTo@CWbemObject@@UAGJJPAUIWbemClassObject@@@Z
+; protected: static int __stdcall CCompressedString::CompareUnicodeToAscii(unsigned short const *,char const *)
+?CompareUnicodeToAscii@CCompressedString@@KGHPBGPBD@Z
+; protected: static int __stdcall CCompressedString::CompareUnicodeToAsciiNoCase(unsigned short const *,char const *,int)
+?CompareUnicodeToAsciiNoCase@CCompressedString@@KGHPBGPBDH@Z
+; public: static unsigned long __stdcall CBasicQualifierSet::ComputeMergeSpace(unsigned char *,class CFastHeap *,unsigned char *,class CFastHeap *,int)
+?ComputeMergeSpace@CBasicQualifierSet@@SGKPAEPAVCFastHeap@@01H@Z
+; public: static int __stdcall CCompressedString::ComputeNecessarySpace(char const *)
+?ComputeNecessarySpace@CCompressedString@@SGHPBD@Z
+; public: static int __stdcall CCompressedString::ComputeNecessarySpace(unsigned short const *)
+?ComputeNecessarySpace@CCompressedString@@SGHPBG@Z
+; public: static int __stdcall CCompressedString::ComputeNecessarySpace(unsigned short const *,int &)
+?ComputeNecessarySpace@CCompressedString@@SGHPBGAAH@Z
+; public: unsigned long __thiscall CCompressedStringList::ComputeNecessarySpace(class CCompressedString *)
+?ComputeNecessarySpace@CCompressedStringList@@QAEKPAVCCompressedString@@@Z
+; public: static unsigned long __stdcall CDataTable::ComputeNecessarySpace(int,int)
+?ComputeNecessarySpace@CDataTable@@SGKHH@Z
+; public: static unsigned long __stdcall CDecorationPart::ComputeNecessarySpace(unsigned short const *,unsigned short const *)
+?ComputeNecessarySpace@CDecorationPart@@SGKPBG0@Z
+; public: static unsigned long __stdcall CInstancePart::ComputeNecessarySpace(class CClassPart *)
+?ComputeNecessarySpace@CInstancePart@@SGKPAVCClassPart@@@Z
+; public: static unsigned long __stdcall CQualifierSetList::ComputeNecessarySpace(int)
+?ComputeNecessarySpace@CQualifierSetList@@SGKH@Z
+; public: static unsigned long __stdcall CBasicQualifierSet::ComputeNecessarySpaceForPropagation(unsigned char *,unsigned char)
+?ComputeNecessarySpaceForPropagation@CBasicQualifierSet@@SGKPAEE@Z
+; public: static unsigned long __stdcall CQualifierSetList::ComputeRealSpace(int)
+?ComputeRealSpace@CQualifierSetList@@SGKH@Z
+; public: static unsigned long __stdcall CBasicQualifierSet::ComputeUnmergedSpace(unsigned char *)
+?ComputeUnmergedSpace@CBasicQualifierSet@@SGKPAE@Z
+; public: unsigned char * __thiscall CInstancePart::ConvertToClass(class CClassPart &,unsigned long,unsigned char *)
+?ConvertToClass@CInstancePart@@QAEPAEAAVCClassPart@@KPAE@Z
+; public: long __thiscall CWbemInstance::ConvertToClass(class CWbemClass *,class CWbemInstance * *)
+?ConvertToClass@CWbemInstance@@QAEJPAVCWbemClass@@PAPAV1@@Z
+; public: long __thiscall CWbemInstance::ConvertToMergedInstance(void)
+?ConvertToMergedInstance@CWbemInstance@@QAEJXZ
+; public: void __thiscall CCompressedString::ConvertToUnicode(unsigned short *)const 
+?ConvertToUnicode@CCompressedString@@QBEXPAG@Z
+; public: void __thiscall CFastHeap::Copy(unsigned long,unsigned long,unsigned long)
+?Copy@CFastHeap@@QAEXKKK@Z
+; public: long __thiscall CFastPropertyBag::Copy(class CFastPropertyBag const &)
+?Copy@CFastPropertyBag@@QAEJABV1@@Z
+; public: long __thiscall CWbemInstance::CopyActualTransferBlob(long,unsigned char *)
+?CopyActualTransferBlob@CWbemInstance@@QAEJJPAE@Z
+; public: long __thiscall CWbemInstance::CopyBlob(unsigned char *,int)
+?CopyBlob@CWbemInstance@@QAEJPAEH@Z
+; public: virtual long __thiscall CWbemClass::CopyBlobOf(class CWbemObject *)
+?CopyBlobOf@CWbemClass@@UAEJPAVCWbemObject@@@Z
+; public: virtual long __thiscall CWbemInstance::CopyBlobOf(class CWbemObject *)
+?CopyBlobOf@CWbemInstance@@UAEJPAVCWbemObject@@@Z
+; public: unsigned char * __thiscall CCompressedStringList::CopyData(unsigned char *)
+?CopyData@CCompressedStringList@@QAEPAEPAE@Z
+; protected: void __thiscall CLimitationMapping::CopyInfo(class CPropertyInformation &,class CPropertyInformation const &)
+?CopyInfo@CLimitationMapping@@IAEXAAVCPropertyInformation@@ABV2@@Z
+; public: virtual long __stdcall CWbemClass::CopyInstanceData(long,struct _IWmiObject *)
+?CopyInstanceData@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemInstance::CopyInstanceData(long,struct _IWmiObject *)
+?CopyInstanceData@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
+; public: long __thiscall CQualifierSet::CopyLocalQualifiers(class CQualifierSet &)
+?CopyLocalQualifiers@CQualifierSet@@QAEJAAV1@@Z
+; public: void __thiscall CDataTable::CopyNullness(class CDataTable *)
+?CopyNullness@CDataTable@@QAEXPAV1@@Z
+; public: long __thiscall CClassPart::CopyParentProperty(class CClassPart &,unsigned short const *)
+?CopyParentProperty@CClassPart@@QAEJAAV1@PBG@Z
+; public: static int __stdcall CCompressedString::CopyToNewHeap(unsigned long,class CFastHeap *,class CFastHeap *,unsigned long &)
+?CopyToNewHeap@CCompressedString@@SGHKPAVCFastHeap@@0AAK@Z
+; public: static int __stdcall CEmbeddedObject::CopyToNewHeap(unsigned long,class CFastHeap *,class CFastHeap *,unsigned long &)
+?CopyToNewHeap@CEmbeddedObject@@SGHKPAVCFastHeap@@0AAK@Z
+; public: static int __stdcall CUntypedArray::CopyToNewHeap(unsigned long,class CType,class CFastHeap *,class CFastHeap *,unsigned long &)
+?CopyToNewHeap@CUntypedArray@@SGHKVCType@@PAVCFastHeap@@1AAK@Z
+; public: static long __stdcall CWbemInstance::CopyTransferArrayBlob(class CWbemInstance *,long,long,unsigned char *,class CFlexArray &,long *)
+?CopyTransferArrayBlob@CWbemInstance@@SGJPAV1@JJPAEAAVCFlexArray@@PAJ@Z
+; public: long __thiscall CWbemInstance::CopyTransferBlob(long,long,unsigned char *)
+?CopyTransferBlob@CWbemInstance@@QAEJJJPAE@Z
+; public: void __thiscall CDecorationPart::Create(unsigned char,unsigned short const *,unsigned short const *,unsigned char *)
+?Create@CDecorationPart@@QAEXEPBG0PAE@Z
+; public: void __thiscall CFixedBSTRArray::Create(int)
+?Create@CFixedBSTRArray@@QAEXH@Z
+; public: void __thiscall CInstancePQSContainer::Create(class CQualifierSetList *,int,class CClassPart *,unsigned long)
+?Create@CInstancePQSContainer@@QAEXPAVCQualifierSetList@@HPAVCClassPart@@K@Z
+; public: unsigned char * __thiscall CInstancePart::Create(unsigned char *,class CClassPart *,class CInstancePartContainer *)
+?Create@CInstancePart@@QAEPAEPAEPAVCClassPart@@PAVCInstancePartContainer@@@Z
+; public: long __thiscall CWmiObjectFactory::Create(struct IUnknown *,unsigned long,struct _GUID const &,struct _GUID const &,void * *)
+?Create@CWmiObjectFactory@@QAEJPAUIUnknown@@KABU_GUID@@1PAPAX@Z
+; public: virtual long __stdcall CWmiObjectFactory::XObjectFactory::Create(struct IUnknown *,unsigned long,struct _GUID const &,struct _GUID const &,void * *)
+?Create@XObjectFactory@CWmiObjectFactory@@UAGJPAUIUnknown@@KABU_GUID@@1PAPAX@Z
+; public: unsigned short * __thiscall CCompressedString::CreateBSTRCopy(void)const 
+?CreateBSTRCopy@CCompressedString@@QBEPAGXZ
+; public: class CVarVector * __thiscall CUntypedArray::CreateCVarVector(class CType,class CFastHeap *)
+?CreateCVarVector@CUntypedArray@@QAEPAVCVarVector@@VCType@@PAVCFastHeap@@@Z
+; public: long __thiscall CWbemClass::CreateDerivedClass(class CWbemClass * *)
+?CreateDerivedClass@CWbemClass@@QAEJPAPAV1@@Z
+; public: long __thiscall CWbemClass::CreateDerivedClass(class CWbemClass *,int,class CDecorationPart *)
+?CreateDerivedClass@CWbemClass@@QAEJPAV1@HPAVCDecorationPart@@@Z
+; public: unsigned char * __thiscall CClassAndMethods::CreateDerivedPart(unsigned char *,unsigned long)
+?CreateDerivedPart@CClassAndMethods@@QAEPAEPAEK@Z
+; public: unsigned char * __thiscall CClassPart::CreateDerivedPart(unsigned char *,int)
+?CreateDerivedPart@CClassPart@@QAEPAEPAEH@Z
+; public: unsigned char * __thiscall CMethodPart::CreateDerivedPart(unsigned char *,unsigned long)
+?CreateDerivedPart@CMethodPart@@QAEPAEPAEK@Z
+; public: static int __stdcall CMethodDescription::CreateDerivedVersion(struct CMethodDescription *,struct CMethodDescription *,class CFastHeap *,class CFastHeap *)
+?CreateDerivedVersion@CMethodDescription@@SGHPAU1@0PAVCFastHeap@@1@Z
+; public: static unsigned char * __stdcall CBasicQualifierSet::CreateEmpty(unsigned char *)
+?CreateEmpty@CBasicQualifierSet@@SGPAEPAE@Z
+; public: static unsigned char * __stdcall CClassAndMethods::CreateEmpty(unsigned char *)
+?CreateEmpty@CClassAndMethods@@SGPAEPAE@Z
+; public: static unsigned char * __stdcall CClassPart::CreateEmpty(unsigned char *)
+?CreateEmpty@CClassPart@@SGPAEPAE@Z
+; public: static unsigned char * __stdcall CCompressedString::CreateEmpty(unsigned char *)
+?CreateEmpty@CCompressedString@@SGPAEPAE@Z
+; public: static unsigned char * __stdcall CCompressedStringList::CreateEmpty(unsigned char *)
+?CreateEmpty@CCompressedStringList@@SGPAEPAE@Z
+; public: static unsigned char * __stdcall CDataTable::CreateEmpty(unsigned char *)
+?CreateEmpty@CDataTable@@SGPAEPAE@Z
+; public: unsigned char * __thiscall CDecorationPart::CreateEmpty(unsigned char,unsigned char *)
+?CreateEmpty@CDecorationPart@@QAEPAEEPAE@Z
+; public: static unsigned char * __stdcall CFastHeap::CreateEmpty(unsigned char *)
+?CreateEmpty@CFastHeap@@SGPAEPAE@Z
+; public: static unsigned char * __stdcall CMethodPart::CreateEmpty(unsigned char *)
+?CreateEmpty@CMethodPart@@SGPAEPAE@Z
+; public: static unsigned char * __stdcall CPropertyLookupTable::CreateEmpty(unsigned char *)
+?CreateEmpty@CPropertyLookupTable@@SGPAEPAE@Z
+; public: static unsigned char * __stdcall CWbemClass::CreateEmpty(unsigned char *)
+?CreateEmpty@CWbemClass@@SGPAEPAE@Z
+; public: static class CWbemClass * __stdcall CWbemClass::CreateFromBlob2(class CWbemClass *,unsigned char *,unsigned short *,unsigned short *)
+?CreateFromBlob2@CWbemClass@@SGPAV1@PAV1@PAEPAG2@Z
+; public: static class CWbemInstance * __stdcall CWbemInstance::CreateFromBlob2(class CWbemClass *,unsigned char *,unsigned short *,unsigned short *)
+?CreateFromBlob2@CWbemInstance@@SGPAV1@PAVCWbemClass@@PAEPAG2@Z
+; public: static class CWbemClass * __stdcall CWbemClass::CreateFromBlob(class CWbemClass *,unsigned char *,unsigned int)
+?CreateFromBlob@CWbemClass@@SGPAV1@PAV1@PAEI@Z
+; public: static class CWbemInstance * __stdcall CWbemInstance::CreateFromBlob(class CWbemClass *,unsigned char *,unsigned int)
+?CreateFromBlob@CWbemInstance@@SGPAV1@PAVCWbemClass@@PAEI@Z
+; public: static class CWbemObject * __stdcall CWbemObject::CreateFromMemory(unsigned char *,int,int,class CBlobControl &)
+?CreateFromMemory@CWbemObject@@SGPAV1@PAEHHAAVCBlobControl@@@Z
+; public: static class CWbemObject * __stdcall CWbemObject::CreateFromStream(struct IStream *)
+?CreateFromStream@CWbemObject@@SGPAV1@PAUIStream@@@Z
+; public: virtual long __stdcall CWmiObjectTextSrc::XObjectTextSrc::CreateFromText(long,unsigned short *,unsigned long,struct IWbemContext *,struct IWbemClassObject * *)
+?CreateFromText@XObjectTextSrc@CWmiObjectTextSrc@@UAGJJPAGKPAUIWbemContext@@PAPAUIWbemClassObject@@@Z
+; public: unsigned short * __thiscall CInternalString::CreateLPWSTRCopy(void)const 
+?CreateLPWSTRCopy@CInternalString@@QBEPAGXZ
+; public: unsigned char * __thiscall CClassAndMethods::CreateLimitedRepresentation(class CLimitationMapping *,int,unsigned char *,int &)
+?CreateLimitedRepresentation@CClassAndMethods@@QAEPAEPAVCLimitationMapping@@HPAEAAH@Z
+; public: unsigned char * __thiscall CClassPart::CreateLimitedRepresentation(class CLimitationMapping *,int,unsigned char *,int &)
+?CreateLimitedRepresentation@CClassPart@@QAEPAEPAVCLimitationMapping@@HPAEAAH@Z
+; public: unsigned char * __thiscall CDataTable::CreateLimitedRepresentation(class CLimitationMapping *,int,class CFastHeap *,class CFastHeap *,unsigned char *)
+?CreateLimitedRepresentation@CDataTable@@QAEPAEPAVCLimitationMapping@@HPAVCFastHeap@@1PAE@Z
+; public: unsigned char * __thiscall CDecorationPart::CreateLimitedRepresentation(class CLimitationMapping *,unsigned char *)
+?CreateLimitedRepresentation@CDecorationPart@@QAEPAEPAVCLimitationMapping@@PAE@Z
+; public: unsigned char * __thiscall CDerivationList::CreateLimitedRepresentation(class CLimitationMapping *,unsigned char *)
+?CreateLimitedRepresentation@CDerivationList@@QAEPAEPAVCLimitationMapping@@PAE@Z
+; public: unsigned char * __thiscall CInstancePart::CreateLimitedRepresentation(class CLimitationMapping *,int,unsigned char *)
+?CreateLimitedRepresentation@CInstancePart@@QAEPAEPAVCLimitationMapping@@HPAE@Z
+; public: unsigned char * __thiscall CPropertyLookupTable::CreateLimitedRepresentation(class CLimitationMapping *,class CFastHeap *,unsigned char *,int &)
+?CreateLimitedRepresentation@CPropertyLookupTable@@QAEPAEPAVCLimitationMapping@@PAVCFastHeap@@PAEAAH@Z
+; public: unsigned char * __thiscall CQualifierSetList::CreateLimitedRepresentation(class CLimitationMapping *,class CFastHeap *,class CFastHeap *,unsigned char *)
+?CreateLimitedRepresentation@CQualifierSetList@@QAEPAEPAVCLimitationMapping@@PAVCFastHeap@@1PAE@Z
+; public: static unsigned char * __stdcall CQualifierSetList::CreateListOfEmpties(unsigned char *,int)
+?CreateListOfEmpties@CQualifierSetList@@SGPAEPAEH@Z
+; protected: long __thiscall CMethodPart::CreateMethod(unsigned short const *,class CWbemObject *,class CWbemObject *)
+?CreateMethod@CMethodPart@@IAEJPBGPAVCWbemObject@@1@Z
+; public: int __thiscall CFastHeap::CreateNoCaseStringHeapPtr(unsigned short const *,unsigned long &)
+?CreateNoCaseStringHeapPtr@CFastHeap@@QAEHPBGAAK@Z
+; public: unsigned char * __thiscall CFastHeap::CreateOutOfLine(unsigned char *,unsigned long)
+?CreateOutOfLine@CFastHeap@@QAEPAEPAEK@Z
+; protected: long __thiscall CWbemRefreshingSvc::CreateRefreshableObjectTemplate(unsigned short const *,long,struct IWbemClassObject * *)
+?CreateRefreshableObjectTemplate@CWbemRefreshingSvc@@IAEJPBGJPAPAUIWbemClassObject@@@Z
+; public: static int __stdcall CMethodDescription::CreateUnmergedVersion(struct CMethodDescription *,struct CMethodDescription *,class CFastHeap *,class CFastHeap *)
+?CreateUnmergedVersion@CMethodDescription@@SGHPAU1@0PAVCFastHeap@@1@Z
+; public: class WString  __thiscall CCompressedString::CreateWStringCopy(void)const 
+?CreateWStringCopy@CCompressedString@@QBE?AVWString@@XZ
+; public: unsigned char * __thiscall CCompressedStringList::CreateWithExtra(unsigned char *,class CCompressedString *)
+?CreateWithExtra@CCompressedStringList@@QAEPAEPAEPAVCCompressedString@@@Z
+; public: virtual long __thiscall CWbemClass::Decorate(unsigned short const *,unsigned short const *)
+?Decorate@CWbemClass@@UAEJPBG0@Z
+; public: virtual long __thiscall CWbemInstance::Decorate(unsigned short const *,unsigned short const *)
+?Decorate@CWbemInstance@@UAEJPBG0@Z
+; public: static void __stdcall CBasicQualifierSet::Delete(unsigned char *,class CFastHeap *)
+?Delete@CBasicQualifierSet@@SGXPAEPAVCFastHeap@@@Z
+; public: virtual long __stdcall CQualifierSet::Delete(unsigned short const *)
+?Delete@CQualifierSet@@UAGJPBG@Z
+; public: void __thiscall CUntypedArray::Delete(class CType,class CFastHeap *)
+?Delete@CUntypedArray@@QAEXVCType@@PAVCFastHeap@@@Z
+; public: virtual long __stdcall CWbemClass::Delete(unsigned short const *)
+?Delete@CWbemClass@@UAGJPBG@Z
+; public: virtual long __stdcall CWbemInstance::Delete(unsigned short const *)
+?Delete@CWbemInstance@@UAGJPBG@Z
+; public: long __thiscall CMethodPart::DeleteMethod(unsigned short const *)
+?DeleteMethod@CMethodPart@@QAEJPBG@Z
+; public: virtual long __stdcall CWbemClass::DeleteMethod(unsigned short const *)
+?DeleteMethod@CWbemClass@@UAGJPBG@Z
+; public: virtual long __stdcall CWbemInstance::DeleteMethod(unsigned short const *)
+?DeleteMethod@CWbemInstance@@UAGJPBG@Z
+; public: long __thiscall CClassPart::DeleteProperty(unsigned short const *)
+?DeleteProperty@CClassPart@@QAEJPBG@Z
+; public: void __thiscall CClassPart::DeleteProperty(int)
+?DeleteProperty@CClassPart@@QAEXH@Z
+; public: void __thiscall CInstancePart::DeleteProperty(class CPropertyInformation *)
+?DeleteProperty@CInstancePart@@QAEXPAVCPropertyInformation@@@Z
+; public: void __thiscall CPropertyLookupTable::DeleteProperty(struct CPropertyLookup *,int)
+?DeleteProperty@CPropertyLookupTable@@QAEXPAUCPropertyLookup@@H@Z
+; public: long __thiscall CWbemInstance::DeleteProperty(int)
+?DeleteProperty@CWbemInstance@@QAEJH@Z
+; public: long __thiscall CQualifierSet::DeleteQualifier(unsigned short const *,int)
+?DeleteQualifier@CQualifierSet@@QAEJPBGH@Z
+; public: void __thiscall CQualifierSetList::DeleteQualifierSet(int)
+?DeleteQualifierSet@CQualifierSetList@@QAEXH@Z
+; protected: void __thiscall CMethodPart::DeleteSignature(int,int)
+?DeleteSignature@CMethodPart@@IAEXHH@Z
+; protected: static long __stdcall CWbemObject::DisabledValidateObject(class CWbemObject *)
+?DisabledValidateObject@CWbemObject@@KGJPAV1@@Z
+; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Discard(int)
+?Discard@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXH@Z
+; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Discard(int)
+?Discard@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXH@Z
+; public: virtual long __stdcall CWbemObject::DisconnectObject(unsigned long)
+?DisconnectObject@CWbemObject@@UAGJK@Z
+; protected: int __thiscall CMethodPart::DoSignaturesMatch(int,enum METHOD_SIGNATURE_TYPE,class CWbemObject *)
+?DoSignaturesMatch@CMethodPart@@IAEHHW4METHOD_SIGNATURE_TYPE@@PAVCWbemObject@@@Z
+; public: static int __stdcall CType::DoesCIMTYPEMatchVARTYPE(long,unsigned short)
+?DoesCIMTYPEMatchVARTYPE@CType@@SGHJG@Z
+; protected: int __thiscall CMethodPart::DoesSignatureMatchOther(class CMethodPart &,int,enum METHOD_SIGNATURE_TYPE)
+?DoesSignatureMatchOther@CMethodPart@@IAEHAAV1@HW4METHOD_SIGNATURE_TYPE@@@Z
+; public: int __thiscall CFastHeap::ElementMaxSize(unsigned long)
+?ElementMaxSize@CFastHeap@@QAEHK@Z
+; public: void __thiscall CFastHeap::Empty(void)
+?Empty@CFastHeap@@QAEXXZ
+; public: void __thiscall CInternalString::Empty(void)
+?Empty@CInternalString@@QAEXXZ
+; protected: static long __stdcall CWbemObject::EnabledValidateObject(class CWbemObject *)
+?EnabledValidateObject@CWbemObject@@KGJPAV1@@Z
+; public: virtual long __stdcall CQualifierSet::EndEnumeration(void)
+?EndEnumeration@CQualifierSet@@UAGJXZ
+; public: virtual long __stdcall CWbemObject::EndEnumeration(void)
+?EndEnumeration@CWbemObject@@UAGJXZ
+; public: virtual long __stdcall CWbemClass::EndMethodEnumeration(void)
+?EndMethodEnumeration@CWbemClass@@UAGJXZ
+; public: virtual long __stdcall CWbemInstance::EndMethodEnumeration(void)
+?EndMethodEnumeration@CWbemInstance@@UAGJXZ
+; public: long __thiscall CClassPart::EnsureProperty(unsigned short const *,unsigned short,long,int)
+?EnsureProperty@CClassPart@@QAEJPBGGJH@Z
+; public: long __thiscall CMethodPart::EnsureQualifier(class CWbemObject *,unsigned short const *,class CWbemObject * *)
+?EnsureQualifier@CMethodPart@@QAEJPAVCWbemObject@@PBGPAPAV2@@Z
+; public: long __thiscall CWbemClass::EnsureQualifier(unsigned short const *)
+?EnsureQualifier@CWbemClass@@QAEJPBG@Z
+; public: int __thiscall CQualifierSetList::EnsureReal(void)
+?EnsureReal@CQualifierSetList@@QAEHXZ
+; public: long __thiscall CBasicQualifierSet::EnumPrimaryQualifiers(unsigned char,unsigned char,class CFixedBSTRArray &,class CFixedBSTRArray &)
+?EnumPrimaryQualifiers@CBasicQualifierSet@@QAEJEEAAVCFixedBSTRArray@@0@Z
+; public: long __thiscall CQualifierSet::EnumQualifiers(unsigned char,unsigned char,class CFixedBSTRArray &)
+?EnumQualifiers@CQualifierSet@@QAEJEEAAVCFixedBSTRArray@@@Z
+; public: unsigned long __thiscall CWbemClass::EstimateDerivedClassSpace(class CDecorationPart *)
+?EstimateDerivedClassSpace@CWbemClass@@QAEKPAVCDecorationPart@@@Z
+; public: unsigned long __thiscall CClassAndMethods::EstimateDerivedPartSpace(void)
+?EstimateDerivedPartSpace@CClassAndMethods@@QAEKXZ
+; public: unsigned long __thiscall CClassPart::EstimateDerivedPartSpace(void)
+?EstimateDerivedPartSpace@CClassPart@@QAEKXZ
+; public: unsigned long __thiscall CMethodPart::EstimateDerivedPartSpace(void)
+?EstimateDerivedPartSpace@CMethodPart@@QAEKXZ
+; public: static unsigned long __stdcall CCompressedStringList::EstimateExtraSpace(class CCompressedString *)
+?EstimateExtraSpace@CCompressedStringList@@SGKPAVCCompressedString@@@Z
+; public: static unsigned long __stdcall CCompressedStringList::EstimateExtraSpace(unsigned short const *)
+?EstimateExtraSpace@CCompressedStringList@@SGKPBG@Z
+; public: static unsigned long __stdcall CWbemInstance::EstimateInstanceSpace(class CClassPart &,class CDecorationPart *)
+?EstimateInstanceSpace@CWbemInstance@@SGKAAVCClassPart@@PAVCDecorationPart@@@Z
+; public: unsigned long __thiscall CWbemObject::EstimateLimitedRepresentationSpace(long,class CWStringArray *)
+?EstimateLimitedRepresentationSpace@CWbemObject@@QAEKJPAVCWStringArray@@@Z
+; public: static unsigned long __stdcall CClassAndMethods::EstimateMergeSpace(class CClassAndMethods &,class CClassAndMethods &)
+?EstimateMergeSpace@CClassAndMethods@@SGKAAV1@0@Z
+; public: static unsigned long __stdcall CClassPart::EstimateMergeSpace(class CClassPart &,class CClassPart &)
+?EstimateMergeSpace@CClassPart@@SGKAAV1@0@Z
+; public: static unsigned long __stdcall CMethodPart::EstimateMergeSpace(class CMethodPart &,class CMethodPart &)
+?EstimateMergeSpace@CMethodPart@@SGKAAV1@0@Z
+; public: unsigned long __thiscall CWbemClass::EstimateMergeSpace(unsigned char *,long)
+?EstimateMergeSpace@CWbemClass@@QAEKPAEJ@Z
+; public: static unsigned long __stdcall CEmbeddedObject::EstimateNecessarySpace(class CVar &)
+?EstimateNecessarySpace@CEmbeddedObject@@SGKAAVCVar@@@Z
+; public: static unsigned long __stdcall CEmbeddedObject::EstimateNecessarySpace(class CWbemObject *)
+?EstimateNecessarySpace@CEmbeddedObject@@SGKPAVCWbemObject@@@Z
+; public: unsigned long __thiscall CClassAndMethods::EstimateUnmergeSpace(void)
+?EstimateUnmergeSpace@CClassAndMethods@@QAEKXZ
+; public: unsigned long __thiscall CClassPart::EstimateUnmergeSpace(void)
+?EstimateUnmergeSpace@CClassPart@@QAEKXZ
+; public: unsigned long __thiscall CMethodPart::EstimateUnmergeSpace(void)
+?EstimateUnmergeSpace@CMethodPart@@QAEKXZ
+; public: virtual unsigned long __thiscall CWbemClass::EstimateUnmergeSpace(void)
+?EstimateUnmergeSpace@CWbemClass@@UAEKXZ
+; public: virtual unsigned long __thiscall CWbemInstance::EstimateUnmergeSpace(void)
+?EstimateUnmergeSpace@CWbemInstance@@UAEKXZ
+; public: int __thiscall CFastHeap::Extend(unsigned long,unsigned long,unsigned long)
+?Extend@CFastHeap@@QAEHKKK@Z
+; public: int __thiscall CWbemClass::ExtendClassAndMethodsSpace(unsigned long)
+?ExtendClassAndMethodsSpace@CWbemClass@@QAEHK@Z
+; public: virtual int __thiscall CClassAndMethods::ExtendClassPartSpace(class CClassPart *,unsigned long)
+?ExtendClassPartSpace@CClassAndMethods@@UAEHPAVCClassPart@@K@Z
+; public: virtual int __thiscall CWbemInstance::ExtendClassPartSpace(class CClassPart *,unsigned long)
+?ExtendClassPartSpace@CWbemInstance@@UAEHPAVCClassPart@@K@Z
+; public: virtual int __thiscall CClassPart::ExtendDataTableSpace(unsigned char *,unsigned long,unsigned long)
+?ExtendDataTableSpace@CClassPart@@UAEHPAEKK@Z
+; public: virtual int __thiscall CInstancePart::ExtendDataTableSpace(unsigned char *,unsigned long,unsigned long)
+?ExtendDataTableSpace@CInstancePart@@UAEHPAEKK@Z
+; public: virtual int __thiscall CClassPart::ExtendHeapSize(unsigned char *,unsigned long,unsigned long)
+?ExtendHeapSize@CClassPart@@UAEHPAEKK@Z
+; public: virtual int __thiscall CInstancePart::ExtendHeapSize(unsigned char *,unsigned long,unsigned long)
+?ExtendHeapSize@CInstancePart@@UAEHPAEKK@Z
+; public: virtual int __thiscall CMethodPart::ExtendHeapSize(unsigned char *,unsigned long,unsigned long)
+?ExtendHeapSize@CMethodPart@@UAEHPAEKK@Z
+; public: virtual int __thiscall CWbemInstance::ExtendInstancePartSpace(class CInstancePart *,unsigned long)
+?ExtendInstancePartSpace@CWbemInstance@@UAEHPAVCInstancePart@@K@Z
+; public: virtual int __thiscall CClassAndMethods::ExtendMethodPartSpace(class CMethodPart *,unsigned long)
+?ExtendMethodPartSpace@CClassAndMethods@@UAEHPAVCMethodPart@@K@Z
+; public: virtual int __thiscall CClassPart::ExtendPropertyTableSpace(unsigned char *,unsigned long,unsigned long)
+?ExtendPropertyTableSpace@CClassPart@@UAEHPAEKK@Z
+; public: virtual int __thiscall CInstancePart::ExtendQualifierSetListSpace(unsigned char *,unsigned long,unsigned long)
+?ExtendQualifierSetListSpace@CInstancePart@@UAEHPAEKK@Z
+; public: virtual int __thiscall CClassPart::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ExtendQualifierSetSpace@CClassPart@@UAEHPAVCBasicQualifierSet@@K@Z
+; public: virtual int __thiscall CInstancePQSContainer::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ExtendQualifierSetSpace@CInstancePQSContainer@@UAEHPAVCBasicQualifierSet@@K@Z
+; public: virtual int __thiscall CInstancePart::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ExtendQualifierSetSpace@CInstancePart@@UAEHPAVCBasicQualifierSet@@K@Z
+; public: virtual int __thiscall CMethodQualifierSetContainer::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ExtendQualifierSetSpace@CMethodQualifierSetContainer@@UAEHPAVCBasicQualifierSet@@K@Z
+; public: int __thiscall CQualifierSetList::ExtendQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ExtendQualifierSetSpace@CQualifierSetList@@QAEHPAVCBasicQualifierSet@@K@Z
+; public: int __thiscall CDataTable::ExtendTo(unsigned short,unsigned long)
+?ExtendTo@CDataTable@@QAEHGK@Z
+; public: long __thiscall CWbemInstance::FastClone(class CWbemInstance *)
+?FastClone@CWbemInstance@@QAEJPAV1@@Z
+; public: void __thiscall CFixedBSTRArray::Filter(unsigned short const *,int)
+?Filter@CFixedBSTRArray@@QAEXPBGH@Z
+; public: int __thiscall CCompressedStringList::Find(unsigned short const *)
+?Find@CCompressedStringList@@QAEHPBG@Z
+; public: class WString  __thiscall CWbemClass::FindLimitationError(long,class CWStringArray *)
+?FindLimitationError@CWbemClass@@QAE?AVWString@@JPAVCWStringArray@@@Z
+; protected: int __thiscall CMethodPart::FindMethod(unsigned short const *)
+?FindMethod@CMethodPart@@IAEHPBG@Z
+; public: virtual long __thiscall CWbemClass::FindMethod(unsigned short const *)
+?FindMethod@CWbemClass@@UAEJPBG@Z
+; public: virtual long __thiscall CWbemObject::FindMethod(unsigned short const *)
+?FindMethod@CWbemObject@@UAEJPBG@Z
+; public: static int __stdcall CSystemProperties::FindName(unsigned short const *)
+?FindName@CSystemProperties@@SGHPBG@Z
+; protected: class CFastPropertyBagItem * __thiscall CFastPropertyBag::FindProperty(unsigned short const *)
+?FindProperty@CFastPropertyBag@@IAEPAVCFastPropertyBagItem@@PBG@Z
+; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::FindProperty(unsigned short const *)
+?FindProperty@CPropertyLookupTable@@QAEPAUCPropertyLookup@@PBG@Z
+; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::FindPropertyByName(class CCompressedString *)
+?FindPropertyByName@CPropertyLookupTable@@QAEPAUCPropertyLookup@@PAVCCompressedString@@@Z
+; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::FindPropertyByOffset(unsigned long)
+?FindPropertyByOffset@CPropertyLookupTable@@QAEPAUCPropertyLookup@@K@Z
+; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::FindPropertyByPtr(unsigned long)
+?FindPropertyByPtr@CPropertyLookupTable@@QAEPAUCPropertyLookup@@K@Z
+; protected: int __thiscall CFastPropertyBag::FindPropertyIndex(unsigned short const *)
+?FindPropertyIndex@CFastPropertyBag@@IAEHPBG@Z
+; public: class CPropertyInformation * __thiscall CClassPart::FindPropertyInfo(unsigned short const *)
+?FindPropertyInfo@CClassPart@@QAEPAVCPropertyInformation@@PBG@Z
+; public: long __thiscall CWbemClass::ForcePropValue(unsigned short const *,class CVar *,long)
+?ForcePropValue@CWbemClass@@QAEJPBGPAVCVar@@J@Z
+; public: long __thiscall CWbemClass::ForcePut(unsigned short const *,long,struct tagVARIANT *,long)
+?ForcePut@CWbemClass@@QAEJPBGJPAUtagVARIANT@@J@Z
+; public: void __thiscall CFastHeap::Free(unsigned long,unsigned long)
+?Free@CFastHeap@@QAEXKK@Z
+; public: void __thiscall CFixedBSTRArray::Free(void)
+?Free@CFixedBSTRArray@@QAEXXZ
+; public: void __thiscall CFastHeap::FreeString(unsigned long)
+?FreeString@CFastHeap@@QAEXK@Z
+; public: long __thiscall CFastPropertyBag::Get(int,unsigned short const * *,long *,unsigned long *,unsigned long *,void * *)
+?Get@CFastPropertyBag@@QAEJHPAPBGPAJPAK2PAPAX@Z
+; public: long __thiscall CFastPropertyBag::Get(unsigned short const *,long *,unsigned long *,unsigned long *,void * *)
+?Get@CFastPropertyBag@@QAEJPBGPAJPAK2PAPAX@Z
+; public: virtual long __stdcall CQualifierSet::Get(unsigned short const *,long,struct tagVARIANT *,long *)
+?Get@CQualifierSet@@UAGJPBGJPAUtagVARIANT@@PAJ@Z
+; public: long __thiscall CWbemFetchRefrMgr::Get(struct _IWbemRefresherMgr * *)
+?Get@CWbemFetchRefrMgr@@QAEJPAPAU_IWbemRefresherMgr@@@Z
+; public: virtual long __stdcall CWbemObject::Get(unsigned short const *,long,struct tagVARIANT *,long *,long *)
+?Get@CWbemObject@@UAGJPBGJPAUtagVARIANT@@PAJ2@Z
+; public: virtual long __stdcall CWbemFetchRefrMgr::XFetchRefrMgr::Get(struct _IWbemRefresherMgr * *)
+?Get@XFetchRefrMgr@CWbemFetchRefrMgr@@UAGJPAPAU_IWbemRefresherMgr@@@Z
+; public: unsigned char __thiscall CClassPart::GetAbstractFlavor(void)
+?GetAbstractFlavor@CClassPart@@QAEEXZ
+; public: unsigned char __thiscall CWbemClass::GetAbstractFlavor(void)
+?GetAbstractFlavor@CWbemClass@@QAEEXZ
+; public: void __thiscall CWbemInstance::GetActualTransferBlob(unsigned char *)
+?GetActualTransferBlob@CWbemInstance@@QAEXPAE@Z
+; public: long __thiscall CWbemInstance::GetActualTransferBlobSize(void)
+?GetActualTransferBlobSize@CWbemInstance@@QAEJXZ
+; public: unsigned long __thiscall CType::GetActualType(void)
+?GetActualType@CType@@QAEKXZ
+; public: static unsigned long __stdcall CType::GetActualType(unsigned long)
+?GetActualType@CType@@SGKK@Z
+; public: long __thiscall CInstancePart::GetActualValue(class CPropertyInformation *,class CVar *)
+?GetActualValue@CInstancePart@@QAEJPAVCPropertyInformation@@PAVCVar@@@Z
+; public: unsigned long __thiscall CFastHeap::GetAllocatedDataLength(void)
+?GetAllocatedDataLength@CFastHeap@@QAEKXZ
+; public: class CFlexArray & __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetArray(void)
+?GetArray@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEAAVCFlexArray@@XZ
+; public: class CFlexArray & __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetArray(void)
+?GetArray@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEAAVCFlexArray@@XZ
+; public: class CUntypedArray * __thiscall CWbemObject::GetArrayByHandle(long)
+?GetArrayByHandle@CWbemObject@@QAEPAVCUntypedArray@@J@Z
+; public: virtual long __stdcall CWbemObject::GetArrayPropAddrByHandle(long,long,unsigned long *,void * *)
+?GetArrayPropAddrByHandle@CWbemObject@@UAGJJJPAKPAPAX@Z
+; public: virtual long __stdcall CWbemObject::GetArrayPropElementByHandle(long,long,unsigned long,unsigned long *,unsigned long *,void * *)
+?GetArrayPropElementByHandle@CWbemObject@@UAGJJJKPAK0PAPAX@Z
+; public: virtual long __stdcall CWbemObject::GetArrayPropInfoByHandle(long,long,unsigned short * *,long *,unsigned long *)
+?GetArrayPropInfoByHandle@CWbemObject@@UAGJJJPAPAGPAJPAK@Z
+; public: virtual long __stdcall CWbemObject::GetArrayPropRangeByHandle(long,long,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,void *)
+?GetArrayPropRangeByHandle@CWbemObject@@UAGJJJKKKPAK0PAX@Z
+; public: long __thiscall CWbemObject::GetArrayPropertyHandle(unsigned short const *,long *,long *)
+?GetArrayPropertyHandle@CWbemObject@@QAEJPBGPAJ1@Z
+; public: class CFastPropertyBagItem * * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetArrayPtr(void)
+?GetArrayPtr@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEPAPAVCFastPropertyBagItem@@XZ
+; public: class CWmiTextSource * * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetArrayPtr(void)
+?GetArrayPtr@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEPAPAVCWmiTextSource@@XZ
+; public: class CFastPropertyBagItem * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetAt(int)
+?GetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEPAVCFastPropertyBagItem@@H@Z
+; public: class CFastPropertyBagItem const * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetAt(int)const 
+?GetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QBEPBVCFastPropertyBagItem@@H@Z
+; public: class CWmiTextSource * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetAt(int)
+?GetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEPAVCWmiTextSource@@H@Z
+; public: class CWmiTextSource const * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetAt(int)const 
+?GetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QBEPBVCWmiTextSource@@H@Z
+; public: unsigned short * & __thiscall CFixedBSTRArray::GetAt(int)
+?GetAt@CFixedBSTRArray@@QAEAAPAGH@Z
+; public: struct CPropertyLookup * __thiscall CPropertyLookupTable::GetAt(int)
+?GetAt@CPropertyLookupTable@@QAEPAUCPropertyLookup@@H@Z
+; public: class CCompressedString * __thiscall CCompressedStringList::GetAtFromLast(int)
+?GetAtFromLast@CCompressedStringList@@QAEPAVCCompressedString@@H@Z
+; public: long __stdcall CWbemCallSecurity::GetAuthentication(unsigned long *)
+?GetAuthentication@CWbemCallSecurity@@QAGJPAK@Z
+; public: virtual long __stdcall CWbemThreadSecurityHandle::GetAuthentication(unsigned long *)
+?GetAuthentication@CWbemThreadSecurityHandle@@UAGJPAK@Z
+; public: unsigned long __thiscall CWbemThreadSecurityHandle::GetAuthenticationLevel(void)
+?GetAuthenticationLevel@CWbemThreadSecurityHandle@@QAEKXZ
+; public: virtual long __stdcall CWbemCallSecurity::GetAuthenticationLuid(void *)
+?GetAuthenticationLuid@CWbemCallSecurity@@UAGJPAX@Z
+; public: virtual long __stdcall CWbemThreadSecurityHandle::GetAuthenticationLuid(void *)
+?GetAuthenticationLuid@CWbemThreadSecurityHandle@@UAGJPAX@Z
+; public: unsigned long __thiscall CWbemThreadSecurityHandle::GetAuthenticationService(void)
+?GetAuthenticationService@CWbemThreadSecurityHandle@@QAEKXZ
+; public: unsigned long __thiscall CWbemThreadSecurityHandle::GetAuthorizationService(void)
+?GetAuthorizationService@CWbemThreadSecurityHandle@@QAEKXZ
+; public: unsigned long __thiscall CType::GetBasic(void)
+?GetBasic@CType@@QAEKXZ
+; public: static unsigned long __stdcall CType::GetBasic(unsigned long)
+?GetBasic@CType@@SGKK@Z
+; protected: virtual unsigned long __thiscall CWbemClass::GetBlockLength(void)
+?GetBlockLength@CWbemClass@@MAEKXZ
+; protected: virtual unsigned long __thiscall CWbemInstance::GetBlockLength(void)
+?GetBlockLength@CWbemInstance@@MAEKXZ
+; public: unsigned long __thiscall CClassPart::GetClassIndex(unsigned short const *)
+?GetClassIndex@CClassPart@@QAEKPBG@Z
+; public: unsigned long __thiscall CWbemObject::GetClassIndex(unsigned short const *)
+?GetClassIndex@CWbemObject@@QAEKPBG@Z
+; public: class CCompressedString * __thiscall CWbemObject::GetClassInternal(void)
+?GetClassInternal@CWbemObject@@QAEPAVCCompressedString@@XZ
+; public: static long __stdcall CClassAndMethods::GetClassNameW(class WString &,unsigned char *)
+?GetClassNameW@CClassAndMethods@@SGJAAVWString@@PAE@Z
+; public: long __thiscall CClassPart::GetClassNameW(class CVar *)
+?GetClassNameW@CClassPart@@QAEJPAVCVar@@@Z
+; public: class CCompressedString * __thiscall CClassPart::GetClassNameW(void)
+?GetClassNameW@CClassPart@@QAEPAVCCompressedString@@XZ
+; public: virtual long __thiscall CWbemClass::GetClassNameW(class CVar *)
+?GetClassNameW@CWbemClass@@UAEJPAVCVar@@@Z
+; public: virtual long __thiscall CWbemInstance::GetClassNameW(class CVar *)
+?GetClassNameW@CWbemInstance@@UAEJPAVCVar@@@Z
+; private: long __thiscall CWbemObjectArrayPacket::GetClassObject(class CWbemObjectPacket &,struct IWbemClassObject * *)
+?GetClassObject@CWbemObjectArrayPacket@@AAEJAAVCWbemObjectPacket@@PAPAUIWbemClassObject@@@Z
+; protected: virtual class CClassPart * __thiscall CWbemClass::GetClassPart(void)
+?GetClassPart@CWbemClass@@MAEPAVCClassPart@@XZ
+; public: virtual long __stdcall CWbemClass::GetClassPart(void *,unsigned long,unsigned long *)
+?GetClassPart@CWbemClass@@UAGJPAXKPAK@Z
+; protected: virtual class CClassPart * __thiscall CWbemInstance::GetClassPart(void)
+?GetClassPart@CWbemInstance@@MAEPAVCClassPart@@XZ
+; public: virtual long __stdcall CWbemInstance::GetClassPart(void *,unsigned long,unsigned long *)
+?GetClassPart@CWbemInstance@@UAGJPAXKPAK@Z
+; public: long __thiscall CClassPart::GetClassQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetClassQualifier@CClassPart@@QAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: long __thiscall CClassPart::GetClassQualifier(unsigned short const *,class CVar *,long *,long *)
+?GetClassQualifier@CClassPart@@QAEJPBGPAVCVar@@PAJ2@Z
+; public: virtual long __stdcall CWbemClass::GetClassSubset(unsigned long,unsigned short const * *,struct _IWmiObject * *)
+?GetClassSubset@CWbemClass@@UAGJKPAPBGPAPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemInstance::GetClassSubset(unsigned long,unsigned short const * *,struct _IWmiObject * *)
+?GetClassSubset@CWbemInstance@@UAGJKPAPBGPAPAU_IWmiObject@@@Z
+; private: long __thiscall CWbemObjectArrayPacket::GetClasslessInstanceObject(class CWbemObjectPacket &,struct IWbemClassObject * *,class CWbemClassCache &)
+?GetClasslessInstanceObject@CWbemObjectArrayPacket@@AAEJAAVCWbemObjectPacket@@PAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
+; public: virtual unsigned long __thiscall CClassAndMethods::GetCurrentOrigin(void)
+?GetCurrentOrigin@CClassAndMethods@@UAEKXZ
+; public: virtual unsigned long __thiscall CClassPart::GetCurrentOrigin(void)
+?GetCurrentOrigin@CClassPart@@UAEKXZ
+; public: unsigned long __thiscall CWbemClass::GetCurrentOrigin(void)
+?GetCurrentOrigin@CWbemClass@@QAEKXZ
+; public: unsigned long __thiscall CDataTable::GetDataLength(void)
+?GetDataLength@CDataTable@@QAEKXZ
+; public: virtual class CDataTable * __thiscall CClassPart::GetDataTable(void)
+?GetDataTable@CClassPart@@UAEPAVCDataTable@@XZ
+; public: class CDataTable * __thiscall CInstancePart::GetDataTable(void)
+?GetDataTable@CInstancePart@@QAEPAVCDataTable@@XZ
+; public: static unsigned char * __stdcall CInstancePart::GetDataTableData(unsigned char *)
+?GetDataTableData@CInstancePart@@SGPAEPAE@Z
+; public: long __thiscall CClassPart::GetDefaultByHandle(long,long,long *,unsigned char *)
+?GetDefaultByHandle@CClassPart@@QAEJJJPAJPAE@Z
+; public: long __thiscall CClassPart::GetDefaultPtrByHandle(long,void * *)
+?GetDefaultPtrByHandle@CClassPart@@QAEJJPAPAX@Z
+; public: long __thiscall CClassPart::GetDefaultValue(class CPropertyInformation *,class CVar *)
+?GetDefaultValue@CClassPart@@QAEJPAVCPropertyInformation@@PAVCVar@@@Z
+; public: long __thiscall CClassPart::GetDefaultValue(unsigned short const *,class CVar *)
+?GetDefaultValue@CClassPart@@QAEJPBGPAVCVar@@@Z
+; public: long __thiscall CClassPart::GetDerivation(class CVar *)
+?GetDerivation@CClassPart@@QAEJPAVCVar@@@Z
+; public: long __thiscall CWbemObject::GetDerivation(class CVar *)
+?GetDerivation@CWbemObject@@QAEJPAVCVar@@@Z
+; public: virtual long __stdcall CWbemObject::GetDerivation(long,unsigned long,unsigned long *,unsigned long *,unsigned short *)
+?GetDerivation@CWbemObject@@UAGJJKPAK0PAG@Z
+; public: virtual long __stdcall CWbemObject::GetDescription(unsigned short * *)
+?GetDescription@CWbemObject@@UAGJPAPAG@Z
+; public: long __thiscall CClassPart::GetDynasty(class CVar *)
+?GetDynasty@CClassPart@@QAEJPAVCVar@@@Z
+; public: class CCompressedString * __thiscall CClassPart::GetDynasty(void)
+?GetDynasty@CClassPart@@QAEPAVCCompressedString@@XZ
+; public: virtual long __thiscall CWbemClass::GetDynasty(class CVar *)
+?GetDynasty@CWbemClass@@UAEJPAVCVar@@@Z
+; public: virtual long __thiscall CWbemInstance::GetDynasty(class CVar *)
+?GetDynasty@CWbemInstance@@UAEJPAVCVar@@@Z
+; public: unsigned char * __thiscall CUntypedArray::GetElement(int,int)
+?GetElement@CUntypedArray@@QAEPAEHH@Z
+; public: class CWbemObject * __thiscall CEmbeddedObject::GetEmbedded(void)
+?GetEmbedded@CEmbeddedObject@@QAEPAVCWbemObject@@XZ
+; public: class CWbemObject * __thiscall CWbemObject::GetEmbeddedObj(long)
+?GetEmbeddedObj@CWbemObject@@QAEPAV1@J@Z
+; public: class CCompressedString * __thiscall CCompressedStringList::GetFirst(void)
+?GetFirst@CCompressedStringList@@QAEPAVCCompressedString@@XZ
+; public: struct CQualifier * __thiscall CBasicQualifierSet::GetFirstQualifier(void)
+?GetFirstQualifier@CBasicQualifierSet@@QAEPAUCQualifier@@XZ
+; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetFirstQualifierFromData(unsigned char *)
+?GetFirstQualifierFromData@CBasicQualifierSet@@SGPAUCQualifier@@PAE@Z
+; public: long __thiscall CLimitationMapping::GetFlags(void)
+?GetFlags@CLimitationMapping@@QAEJXZ
+; public: unsigned short * __thiscall CWbemObject::GetFullPath(void)
+?GetFullPath@CWbemObject@@QAEPAGXZ
+; public: virtual long __stdcall CWbemObject::GetGUID(struct _GUID *)
+?GetGUID@CWbemObject@@UAGJPAU_GUID@@@Z
+; public: virtual long __thiscall CWbemClass::GetGenus(class CVar *)
+?GetGenus@CWbemClass@@UAEJPAVCVar@@@Z
+; public: virtual long __thiscall CWbemInstance::GetGenus(class CVar *)
+?GetGenus@CWbemInstance@@UAEJPAVCVar@@@Z
+; public: virtual long __stdcall CWbemRemoteRefresher::XWbemRemoteRefr::GetGuid(long,struct _GUID *)
+?GetGuid@XWbemRemoteRefr@CWbemRemoteRefresher@@UAGJJPAU_GUID@@@Z
+; public: virtual long __stdcall CWbemThreadSecurityHandle::GetHandleType(unsigned long *)
+?GetHandleType@CWbemThreadSecurityHandle@@UAGJPAK@Z
+; public: static unsigned long __stdcall CCompressedStringList::GetHeaderLength(void)
+?GetHeaderLength@CCompressedStringList@@SGKXZ
+; protected: unsigned long __thiscall CFastHeap::GetHeaderLength(void)
+?GetHeaderLength@CFastHeap@@IAEKXZ
+; public: static int __stdcall CQualifierSetList::GetHeaderLength(void)
+?GetHeaderLength@CQualifierSetList@@SGHXZ
+; public: static unsigned long __stdcall CUntypedArray::GetHeaderLength(void)
+?GetHeaderLength@CUntypedArray@@SGKXZ
+; public: class CFastHeap * __thiscall CBasicQualifierSet::GetHeap(void)
+?GetHeap@CBasicQualifierSet@@QAEPAVCFastHeap@@XZ
+; public: virtual class CFastHeap * __thiscall CClassPart::GetHeap(void)
+?GetHeap@CClassPart@@UAEPAVCFastHeap@@XZ
+; public: virtual class CFastHeap * __thiscall CInstancePQSContainer::GetHeap(void)
+?GetHeap@CInstancePQSContainer@@UAEPAVCFastHeap@@XZ
+; public: virtual class CFastHeap * __thiscall CInstancePart::GetHeap(void)
+?GetHeap@CInstancePart@@UAEPAVCFastHeap@@XZ
+; public: class CFastHeap * __thiscall CMethodPart::GetHeap(void)
+?GetHeap@CMethodPart@@QAEPAVCFastHeap@@XZ
+; public: virtual class CFastHeap * __thiscall CMethodQualifierSetContainer::GetHeap(void)
+?GetHeap@CMethodQualifierSetContainer@@UAEPAVCFastHeap@@XZ
+; public: class CFastHeap * __thiscall CPropertyLookupTable::GetHeap(void)
+?GetHeap@CPropertyLookupTable@@QAEPAVCFastHeap@@XZ
+; public: class CFastHeap * __thiscall CQualifierSetList::GetHeap(void)
+?GetHeap@CQualifierSetList@@QAEPAVCFastHeap@@XZ
+; public: unsigned char * __thiscall CFastHeap::GetHeapData(void)
+?GetHeapData@CFastHeap@@QAEPAEXZ
+; public: unsigned long __thiscall CClassPart::GetHeapPtrByHandle(long)
+?GetHeapPtrByHandle@CClassPart@@QAEKJ@Z
+; public: unsigned long __thiscall CWbemObject::GetHeapPtrByHandle(long)
+?GetHeapPtrByHandle@CWbemObject@@QAEKJ@Z
+; public: virtual long __stdcall CWbemObject::GetHelpContext(unsigned long *)
+?GetHelpContext@CWbemObject@@UAGJPAK@Z
+; public: virtual long __stdcall CWbemObject::GetHelpFile(unsigned short * *)
+?GetHelpFile@CWbemObject@@UAGJPAPAG@Z
+; public: unsigned short * __thiscall CWbemThreadSecurityHandle::GetIdentity(void)
+?GetIdentity@CWbemThreadSecurityHandle@@QAEPAGXZ
+; public: long __thiscall CWbemClass::GetIds(class CFlexArray &,class CWbemClass *)
+?GetIds@CWbemClass@@QAEJAAVCFlexArray@@PAV1@@Z
+; public: virtual long __stdcall CWbemCallSecurity::GetImpersonation(unsigned long *)
+?GetImpersonation@CWbemCallSecurity@@UAGJPAK@Z
+; public: virtual long __stdcall CWbemThreadSecurityHandle::GetImpersonation(unsigned long *)
+?GetImpersonation@CWbemThreadSecurityHandle@@UAGJPAK@Z
+; public: unsigned long __thiscall CWbemThreadSecurityHandle::GetImpersonationLevel(void)
+?GetImpersonationLevel@CWbemThreadSecurityHandle@@QAEKXZ
+; protected: unsigned long * __thiscall CFastHeap::GetInLineLength(void)
+?GetInLineLength@CFastHeap@@IAEPAKXZ
+; public: static int __stdcall CFastHeap::GetIndexFromFake(unsigned long)
+?GetIndexFromFake@CFastHeap@@SGHK@Z
+; public: static int __stdcall CKnownStringTable::GetIndexOfKey(void)
+?GetIndexOfKey@CKnownStringTable@@SGHXZ
+; public: static int __stdcall CClassAndMethods::GetIndexedProps(class CWStringArray &,unsigned char *)
+?GetIndexedProps@CClassAndMethods@@SGHAAVCWStringArray@@PAE@Z
+; public: int __thiscall CClassPart::GetIndexedProps(class CWStringArray &)
+?GetIndexedProps@CClassPart@@QAEHAAVCWStringArray@@@Z
+; public: virtual int __thiscall CWbemClass::GetIndexedProps(class CWStringArray &)
+?GetIndexedProps@CWbemClass@@UAEHAAVCWStringArray@@@Z
+; public: virtual int __thiscall CWbemInstance::GetIndexedProps(class CWStringArray &)
+?GetIndexedProps@CWbemInstance@@UAEHAAVCWStringArray@@@Z
+; private: long __thiscall CWbemObjectArrayPacket::GetInstanceObject(class CWbemObjectPacket &,struct IWbemClassObject * *,class CWbemClassCache &)
+?GetInstanceObject@CWbemObjectArrayPacket@@AAEJAAVCWbemObjectPacket@@PAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
+; public: virtual struct IUnknown * __thiscall CWbemInstance::GetInstanceObjectUnknown(void)
+?GetInstanceObjectUnknown@CWbemInstance@@UAEPAUIUnknown@@XZ
+; protected: virtual void * __thiscall CWbemEnumMarshaling::GetInterface(struct _GUID const &)
+?GetInterface@CWbemEnumMarshaling@@MAEPAXABU_GUID@@@Z
+; protected: virtual void * __thiscall CWbemFetchRefrMgr::GetInterface(struct _GUID const &)
+?GetInterface@CWbemFetchRefrMgr@@MAEPAXABU_GUID@@@Z
+; protected: virtual void * __thiscall CWbemRefreshingSvc::GetInterface(struct _GUID const &)
+?GetInterface@CWbemRefreshingSvc@@MAEPAXABU_GUID@@@Z
+; protected: virtual void * __thiscall CWmiObjectFactory::GetInterface(struct _GUID const &)
+?GetInterface@CWmiObjectFactory@@MAEPAXABU_GUID@@@Z
+; public: class CVar * __thiscall CWbemInstance::GetKey(void)
+?GetKey@CWbemInstance@@QAEPAVCVar@@XZ
+; public: long __thiscall CClassPart::GetKeyOrigin(class WString &)
+?GetKeyOrigin@CClassPart@@QAEJAAVWString@@@Z
+; public: virtual long __thiscall CWbemClass::GetKeyOrigin(class WString &)
+?GetKeyOrigin@CWbemClass@@UAEJAAVWString@@@Z
+; public: virtual long __thiscall CWbemInstance::GetKeyOrigin(class WString &)
+?GetKeyOrigin@CWbemInstance@@UAEJAAVWString@@@Z
+; public: virtual long __stdcall CWbemObject::GetKeyOrigin(long,unsigned long,unsigned long *,unsigned short *)
+?GetKeyOrigin@CWbemObject@@UAGJJKPAKPAG@Z
+; public: int __thiscall CClassPart::GetKeyProps(class CWStringArray &)
+?GetKeyProps@CClassPart@@QAEHAAVCWStringArray@@@Z
+; public: virtual int __thiscall CWbemClass::GetKeyProps(class CWStringArray &)
+?GetKeyProps@CWbemClass@@UAEHAAVCWStringArray@@@Z
+; public: virtual int __thiscall CWbemInstance::GetKeyProps(class CWStringArray &)
+?GetKeyProps@CWbemInstance@@UAEHAAVCWStringArray@@@Z
+; public: unsigned short * __thiscall CWbemInstance::GetKeyStr(void)
+?GetKeyStr@CWbemInstance@@QAEPAGXZ
+; public: virtual long __stdcall CWbemObject::GetKeyString(long,unsigned short * *)
+?GetKeyString@CWbemObject@@UAGJJPAPAG@Z
+; public: struct CQualifier * __thiscall CBasicQualifierSet::GetKnownQualifierLocally(int)
+?GetKnownQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@H@Z
+; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetKnownQualifierLocally(unsigned char *,int)
+?GetKnownQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEH@Z
+; public: static class CCompressedString & __stdcall CKnownStringTable::GetKnownString(int)
+?GetKnownString@CKnownStringTable@@SGAAVCCompressedString@@H@Z
+; public: static int __stdcall CKnownStringTable::GetKnownStringIndex(unsigned short const *)
+?GetKnownStringIndex@CKnownStringTable@@SGHPBG@Z
+; public: class CCompressedString * __thiscall CCompressedStringList::GetLast(void)
+?GetLast@CCompressedStringList@@QAEPAVCCompressedString@@XZ
+; public: unsigned long __thiscall CBasicQualifierSet::GetLength(void)
+?GetLength@CBasicQualifierSet@@QAEKXZ
+; public: unsigned long __thiscall CClassAndMethods::GetLength(void)
+?GetLength@CClassAndMethods@@QAEKXZ
+; public: unsigned long __thiscall CClassPart::GetLength(void)
+?GetLength@CClassPart@@QAEKXZ
+; public: int __thiscall CCompressedString::GetLength(void)const 
+?GetLength@CCompressedString@@QBEHXZ
+; public: unsigned long __thiscall CCompressedStringList::GetLength(void)
+?GetLength@CCompressedStringList@@QAEKXZ
+; public: unsigned long __thiscall CDataTable::GetLength(void)
+?GetLength@CDataTable@@QAEKXZ
+; public: unsigned long __thiscall CDecorationPart::GetLength(void)
+?GetLength@CDecorationPart@@QAEKXZ
+; public: unsigned long __thiscall CEmbeddedObject::GetLength(void)
+?GetLength@CEmbeddedObject@@QAEKXZ
+; public: unsigned long __thiscall CFastHeap::GetLength(void)
+?GetLength@CFastHeap@@QAEKXZ
+; public: int __thiscall CFixedBSTRArray::GetLength(void)
+?GetLength@CFixedBSTRArray@@QAEHXZ
+; public: int __thiscall CInstancePart::GetLength(void)
+?GetLength@CInstancePart@@QAEHXZ
+; public: static int __stdcall CInstancePart::GetLength(unsigned char *)
+?GetLength@CInstancePart@@SGHPAE@Z
+; public: int __thiscall CInternalString::GetLength(void)const 
+?GetLength@CInternalString@@QBEHXZ
+; public: unsigned long __thiscall CMethodPart::GetLength(void)
+?GetLength@CMethodPart@@QAEKXZ
+; public: int __thiscall CPropertyLookupTable::GetLength(void)
+?GetLength@CPropertyLookupTable@@QAEHXZ
+; public: int __thiscall CQualifierSetList::GetLength(void)
+?GetLength@CQualifierSetList@@QAEHXZ
+; public: static int __stdcall CQualifierSetList::GetLength(unsigned char *,int)
+?GetLength@CQualifierSetList@@SGHPAEH@Z
+; public: unsigned long __thiscall CType::GetLength(void)
+?GetLength@CType@@QAEKXZ
+; public: static unsigned long __stdcall CType::GetLength(unsigned long)
+?GetLength@CType@@SGKK@Z
+; public: unsigned long __thiscall CWbemClass::GetLength(void)
+?GetLength@CWbemClass@@QAEKXZ
+; public: unsigned long __thiscall CWbemInstance::GetLength(void)
+?GetLength@CWbemInstance@@QAEKXZ
+; public: unsigned long __thiscall CUntypedArray::GetLengthByActualLength(int)
+?GetLengthByActualLength@CUntypedArray@@QAEKH@Z
+; public: unsigned long __thiscall CUntypedArray::GetLengthByType(class CType)
+?GetLengthByType@CUntypedArray@@QAEKVCType@@@Z
+; public: static unsigned long __stdcall CBasicQualifierSet::GetLengthFromData(unsigned char *)
+?GetLengthFromData@CBasicQualifierSet@@SGKPAE@Z
+; public: long __thiscall CWbemClass::GetLimitedVersion(class CLimitationMapping *,class CWbemClass * *)
+?GetLimitedVersion@CWbemClass@@QAEJPAVCLimitationMapping@@PAPAV1@@Z
+; public: long __thiscall CWbemInstance::GetLimitedVersion(class CLimitationMapping *,class CWbemInstance * *)
+?GetLimitedVersion@CWbemInstance@@QAEJPAVCLimitationMapping@@PAPAV1@@Z
+; public: long __thiscall CWbemGuidToClassMap::GetMap(class CGUID &,class CWbemClassToIdMap * *)
+?GetMap@CWbemGuidToClassMap@@QAEJAAVCGUID@@PAPAVCWbemClassToIdMap@@@Z
+; public: unsigned short __thiscall CLimitationMapping::GetMapped(unsigned short)
+?GetMapped@CLimitationMapping@@QAEGG@Z
+; public: class CPropertyInformation * __thiscall CLimitationMapping::GetMapped(class CPropertyInformation *)
+?GetMapped@CLimitationMapping@@QAEPAVCPropertyInformation@@PAV2@@Z
+; public: long __thiscall CWbemEnumMarshaling::GetMarshalPacket(struct _GUID const &,unsigned long,struct IWbemClassObject * *,unsigned long *,unsigned char * *)
+?GetMarshalPacket@CWbemEnumMarshaling@@QAEJABU_GUID@@KPAPAUIWbemClassObject@@PAKPAPAE@Z
+; public: virtual long __stdcall CWbemEnumMarshaling::XEnumMarshaling::GetMarshalPacket(struct _GUID const &,unsigned long,struct IWbemClassObject * *,unsigned long *,unsigned char * *)
+?GetMarshalPacket@XEnumMarshaling@CWbemEnumMarshaling@@UAGJABU_GUID@@KPAPAUIWbemClassObject@@PAKPAPAE@Z
+; public: virtual long __stdcall CWbemObject::GetMarshalSizeMax(struct _GUID const &,void *,unsigned long,void *,unsigned long,unsigned long *)
+?GetMarshalSizeMax@CWbemObject@@UAGJABU_GUID@@PAXK1KPAK@Z
+; public: virtual long __thiscall CWbemInstance::GetMaxMarshalStreamSize(unsigned long *)
+?GetMaxMarshalStreamSize@CWbemInstance@@UAEJPAK@Z
+; public: virtual long __thiscall CWbemObject::GetMaxMarshalStreamSize(unsigned long *)
+?GetMaxMarshalStreamSize@CWbemObject@@UAEJPAK@Z
+; public: virtual unsigned char * __thiscall CClassPart::GetMemoryLimit(void)
+?GetMemoryLimit@CClassPart@@UAEPAEXZ
+; public: virtual unsigned char * __thiscall CInstancePart::GetMemoryLimit(void)
+?GetMemoryLimit@CInstancePart@@UAEPAEXZ
+; public: virtual unsigned char * __thiscall CMethodPart::GetMemoryLimit(void)
+?GetMemoryLimit@CMethodPart@@UAEPAEXZ
+; public: long __thiscall CMethodPart::GetMethod(unsigned short const *,long,class CWbemObject * *,class CWbemObject * *)
+?GetMethod@CMethodPart@@QAEJPBGJPAPAVCWbemObject@@1@Z
+; public: virtual long __stdcall CWbemClass::GetMethod(unsigned short const *,long,struct IWbemClassObject * *,struct IWbemClassObject * *)
+?GetMethod@CWbemClass@@UAGJPBGJPAPAUIWbemClassObject@@1@Z
+; public: virtual long __stdcall CWbemInstance::GetMethod(unsigned short const *,long,struct IWbemClassObject * *,struct IWbemClassObject * *)
+?GetMethod@CWbemInstance@@UAGJPBGJPAPAUIWbemClassObject@@1@Z
+; public: long __thiscall CMethodPart::GetMethodAt(int,unsigned short * *,class CWbemObject * *,class CWbemObject * *)
+?GetMethodAt@CMethodPart@@QAEJHPAPAGPAPAVCWbemObject@@1@Z
+; public: long __thiscall CMethodPart::GetMethodOrigin(unsigned short const *,unsigned long *)
+?GetMethodOrigin@CMethodPart@@QAEJPBGPAK@Z
+; public: virtual long __stdcall CWbemClass::GetMethodOrigin(unsigned short const *,unsigned short * *)
+?GetMethodOrigin@CWbemClass@@UAGJPBGPAPAG@Z
+; public: virtual long __stdcall CWbemInstance::GetMethodOrigin(unsigned short const *,unsigned short * *)
+?GetMethodOrigin@CWbemInstance@@UAGJPBGPAPAG@Z
+; public: virtual long __stdcall CWbemObject::GetMethodQual(unsigned short const *,unsigned short const *,long,unsigned long,long *,unsigned long *,unsigned long *,void *)
+?GetMethodQual@CWbemObject@@UAGJPBG0JKPAJPAK2PAX@Z
+; public: virtual long __thiscall CWbemClass::GetMethodQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetMethodQualifier@CWbemClass@@UAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: virtual long __thiscall CWbemClass::GetMethodQualifier(unsigned short const *,unsigned short const *,class CVar *,long *,long *)
+?GetMethodQualifier@CWbemClass@@UAEJPBG0PAVCVar@@PAJ2@Z
+; public: virtual long __thiscall CWbemInstance::GetMethodQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetMethodQualifier@CWbemInstance@@UAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: virtual long __thiscall CWbemInstance::GetMethodQualifier(unsigned short const *,unsigned short const *,class CVar *,long *,long *)
+?GetMethodQualifier@CWbemInstance@@UAEJPBG0PAVCVar@@PAJ2@Z
+; public: long __thiscall CMethodPart::GetMethodQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
+?GetMethodQualifierSet@CMethodPart@@QAEJPBGPAPAUIWbemQualifierSet@@@Z
+; public: virtual long __stdcall CWbemClass::GetMethodQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
+?GetMethodQualifierSet@CWbemClass@@UAGJPBGPAPAUIWbemQualifierSet@@@Z
+; public: virtual long __stdcall CWbemInstance::GetMethodQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
+?GetMethodQualifierSet@CWbemInstance@@UAGJPBGPAPAUIWbemQualifierSet@@@Z
+; public: unsigned long __thiscall CWbemDataPacket::GetMinHeaderSize(void)
+?GetMinHeaderSize@CWbemDataPacket@@QAEKXZ
+; public: static unsigned long __stdcall CBasicQualifierSet::GetMinLength(void)
+?GetMinLength@CBasicQualifierSet@@SGKXZ
+; public: static unsigned long __stdcall CClassAndMethods::GetMinLength(void)
+?GetMinLength@CClassAndMethods@@SGKXZ
+; public: static int __stdcall CClassPart::GetMinLength(void)
+?GetMinLength@CClassPart@@SGHXZ
+; public: static unsigned long __stdcall CDataTable::GetMinLength(void)
+?GetMinLength@CDataTable@@SGKXZ
+; public: static unsigned long __stdcall CDecorationPart::GetMinLength(void)
+?GetMinLength@CDecorationPart@@SGKXZ
+; public: static unsigned long __stdcall CFastHeap::GetMinLength(void)
+?GetMinLength@CFastHeap@@SGKXZ
+; public: static unsigned long __stdcall CMethodPart::GetMinLength(void)
+?GetMinLength@CMethodPart@@SGKXZ
+; public: static unsigned long __stdcall CPropertyLookupTable::GetMinLength(void)
+?GetMinLength@CPropertyLookupTable@@SGKXZ
+; public: static unsigned long __stdcall CWbemClass::GetMinLength(void)
+?GetMinLength@CWbemClass@@SGKXZ
+; protected: class CCompressedString * __thiscall CMethodPart::GetName(int)
+?GetName@CMethodPart@@IAEPAVCCompressedString@@H@Z
+; public: static unsigned short * __stdcall CSystemProperties::GetNameAsBSTR(int)
+?GetNameAsBSTR@CSystemProperties@@SGPAGH@Z
+; public: virtual long __stdcall CQualifierSet::GetNames(long,struct tagSAFEARRAY * *)
+?GetNames@CQualifierSet@@UAGJJPAPAUtagSAFEARRAY@@@Z
+; public: virtual long __stdcall CWbemObject::GetNames(unsigned short const *,long,struct tagVARIANT *,struct tagSAFEARRAY * *)
+?GetNames@CWbemObject@@UAGJPBGJPAUtagVARIANT@@PAPAUtagSAFEARRAY@@@Z
+; public: long __thiscall CWbemObject::GetNamespace(class CVar *)
+?GetNamespace@CWbemObject@@QAEJPAVCVar@@@Z
+; public: class CCompressedString * __thiscall CCompressedStringList::GetNext(class CCompressedString *)
+?GetNext@CCompressedStringList@@QAEPAVCCompressedString@@PAV2@@Z
+; public: long __thiscall CWbemInstance::GetNonsystemPropertyValue(unsigned short const *,class CVar *)
+?GetNonsystemPropertyValue@CWbemInstance@@QAEJPBGPAVCVar@@@Z
+; public: virtual long __stdcall CWbemObject::GetNormalizedPath(long,unsigned short * *)
+?GetNormalizedPath@CWbemObject@@UAGJJPAPAG@Z
+; public: unsigned long __thiscall CDataTable::GetNullnessLength(void)
+?GetNullnessLength@CDataTable@@QAEKXZ
+; public: static int __stdcall CSystemProperties::GetNumDecorationIndependentProperties(void)
+?GetNumDecorationIndependentProperties@CSystemProperties@@SGHXZ
+; public: int __thiscall CUntypedArray::GetNumElements(void)
+?GetNumElements@CUntypedArray@@QAEHXZ
+; public: int __thiscall CLimitationMapping::GetNumMappings(void)
+?GetNumMappings@CLimitationMapping@@QAEHXZ
+; protected: int __thiscall CMethodPart::GetNumMethods(void)
+?GetNumMethods@CMethodPart@@IAEHXZ
+; public: int __thiscall CWbemObject::GetNumParents(void)
+?GetNumParents@CWbemObject@@QAEHXZ
+; public: int __thiscall CPropertyLookupTable::GetNumProperties(void)
+?GetNumProperties@CPropertyLookupTable@@QAEHXZ
+; public: virtual int __thiscall CWbemClass::GetNumProperties(void)
+?GetNumProperties@CWbemClass@@UAEHXZ
+; public: virtual int __thiscall CWbemInstance::GetNumProperties(void)
+?GetNumProperties@CWbemInstance@@UAEHXZ
+; public: int __thiscall CQualifierSetList::GetNumSets(void)
+?GetNumSets@CQualifierSetList@@QAEHXZ
+; public: int __thiscall CCompressedStringList::GetNumStrings(void)
+?GetNumStrings@CCompressedStringList@@QAEHXZ
+; public: static int __stdcall CSystemProperties::GetNumSystemProperties(void)
+?GetNumSystemProperties@CSystemProperties@@SGHXZ
+; public: int __thiscall CBasicQualifierSet::GetNumUpperBound(void)
+?GetNumUpperBound@CBasicQualifierSet@@QAEHXZ
+; public: virtual long __stdcall CWbemObject::GetObjQual(unsigned short const *,long,unsigned long,long *,unsigned long *,unsigned long *,void *)
+?GetObjQual@CWbemObject@@UAGJPBGJKPAJPAK2PAX@Z
+; public: virtual long __stdcall CWbemObject::GetObjectMemory(void *,unsigned long,unsigned long *)
+?GetObjectMemory@CWbemObject@@UAGJPAXKPAK@Z
+; public: virtual long __stdcall CWbemClass::GetObjectParts(void *,unsigned long,unsigned long,unsigned long *)
+?GetObjectParts@CWbemClass@@UAGJPAXKKPAK@Z
+; public: virtual long __stdcall CWbemInstance::GetObjectParts(void *,unsigned long,unsigned long,unsigned long *)
+?GetObjectParts@CWbemInstance@@UAGJPAXKKPAK@Z
+; public: long __thiscall CInstancePart::GetObjectQualifier(unsigned short const *,class CVar *,long *)
+?GetObjectQualifier@CInstancePart@@QAEJPBGPAVCVar@@PAJ@Z
+; public: virtual long __stdcall CWbemClass::GetObjectText(long,unsigned short * *)
+?GetObjectText@CWbemClass@@UAGJJPAPAG@Z
+; public: virtual long __stdcall CWbemInstance::GetObjectText(long,unsigned short * *)
+?GetObjectText@CWbemInstance@@UAGJJPAPAG@Z
+; public: long __thiscall CWbemClassCache::GetObjectW(struct _GUID &,struct IWbemClassObject * *)
+?GetObjectW@CWbemClassCache@@QAEJAAU_GUID@@PAPAUIWbemClassObject@@@Z
+; public: class CUntypedValue * __thiscall CDataTable::GetOffset(unsigned long)
+?GetOffset@CDataTable@@QAEPAVCUntypedValue@@K@Z
+; public: class CCompressedString * __thiscall CWbemObject::GetParentAtIndex(int)
+?GetParentAtIndex@CWbemObject@@QAEPAVCCompressedString@@H@Z
+; public: virtual long __stdcall CWbemClass::GetParentClassFromBlob(long,unsigned long,void *,unsigned short * *)
+?GetParentClassFromBlob@CWbemClass@@UAGJJKPAXPAPAG@Z
+; public: virtual long __stdcall CWbemObject::GetParentClassFromBlob(long,unsigned long,void *,unsigned short * *)
+?GetParentClassFromBlob@CWbemObject@@UAGJJKPAXPAPAG@Z
+; public: long __thiscall CWbemObject::GetPath(class CVar *)
+?GetPath@CWbemObject@@QAEJPAVCVar@@@Z
+; public: static class CUntypedArray * __stdcall CUntypedArray::GetPointer(class CPtrSource *)
+?GetPointer@CUntypedArray@@SGPAV1@PAVCPtrSource@@@Z
+; public: class CCompressedString * __thiscall CCompressedStringList::GetPrevious(class CCompressedString *)
+?GetPrevious@CCompressedStringList@@QAEPAVCCompressedString@@PAV2@@Z
+; public: virtual long __stdcall CWbemObject::GetPropAddrByHandle(long,long,unsigned long *,void * *)
+?GetPropAddrByHandle@CWbemObject@@UAGJJJPAKPAPAX@Z
+; public: virtual long __thiscall CWbemClass::GetPropName(int,class CVar *)
+?GetPropName@CWbemClass@@UAEJHPAVCVar@@@Z
+; public: virtual long __thiscall CWbemInstance::GetPropName(int,class CVar *)
+?GetPropName@CWbemInstance@@UAEJHPAVCVar@@@Z
+; public: virtual long __stdcall CWbemObject::GetPropQual(unsigned short const *,unsigned short const *,long,unsigned long,long *,unsigned long *,unsigned long *,void *)
+?GetPropQual@CWbemObject@@UAGJPBG0JKPAJPAK2PAX@Z
+; public: long __thiscall CClassPart::GetPropQualifier(class CPropertyInformation *,unsigned short const *,class CVar *,long *,long *)
+?GetPropQualifier@CClassPart@@QAEJPAVCPropertyInformation@@PBGPAVCVar@@PAJ3@Z
+; public: long __thiscall CClassPart::GetPropQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetPropQualifier@CClassPart@@QAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: virtual long __thiscall CWbemClass::GetPropQualifier(class CPropertyInformation *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetPropQualifier@CWbemClass@@UAEJPAVCPropertyInformation@@PBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: virtual long __thiscall CWbemClass::GetPropQualifier(class CPropertyInformation *,unsigned short const *,class CVar *,long *,long *)
+?GetPropQualifier@CWbemClass@@UAEJPAVCPropertyInformation@@PBGPAVCVar@@PAJ3@Z
+; public: virtual long __thiscall CWbemClass::GetPropQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetPropQualifier@CWbemClass@@UAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: virtual long __thiscall CWbemClass::GetPropQualifier(unsigned short const *,unsigned short const *,class CVar *,long *,long *)
+?GetPropQualifier@CWbemClass@@UAEJPBG0PAVCVar@@PAJ2@Z
+; public: virtual long __thiscall CWbemInstance::GetPropQualifier(class CPropertyInformation *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetPropQualifier@CWbemInstance@@UAEJPAVCPropertyInformation@@PBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: virtual long __thiscall CWbemInstance::GetPropQualifier(class CPropertyInformation *,unsigned short const *,class CVar *,long *,long *)
+?GetPropQualifier@CWbemInstance@@UAEJPAVCPropertyInformation@@PBGPAVCVar@@PAJ3@Z
+; public: virtual long __thiscall CWbemInstance::GetPropQualifier(unsigned short const *,unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetPropQualifier@CWbemInstance@@UAEJPBG0PAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: virtual long __thiscall CWbemInstance::GetPropQualifier(unsigned short const *,unsigned short const *,class CVar *,long *,long *)
+?GetPropQualifier@CWbemInstance@@UAEJPBG0PAVCVar@@PAJ2@Z
+; protected: virtual long __thiscall CWbemClass::GetProperty(class CPropertyInformation *,class CVar *)
+?GetProperty@CWbemClass@@MAEJPAVCPropertyInformation@@PAVCVar@@@Z
+; public: virtual long __thiscall CWbemClass::GetProperty(unsigned short const *,class CVar *)
+?GetProperty@CWbemClass@@UAEJPBGPAVCVar@@@Z
+; protected: virtual long __thiscall CWbemInstance::GetProperty(class CPropertyInformation *,class CVar *)
+?GetProperty@CWbemInstance@@MAEJPAVCPropertyInformation@@PAVCVar@@@Z
+; public: virtual long __thiscall CWbemInstance::GetProperty(unsigned short const *,class CVar *)
+?GetProperty@CWbemInstance@@UAEJPBGPAVCVar@@@Z
+; public: long __thiscall CClassPart::GetPropertyCount(class CVar *)
+?GetPropertyCount@CClassPart@@QAEJPAVCVar@@@Z
+; public: virtual long __thiscall CWbemClass::GetPropertyCount(class CVar *)
+?GetPropertyCount@CWbemClass@@UAEJPAVCVar@@@Z
+; public: virtual long __thiscall CWbemInstance::GetPropertyCount(class CVar *)
+?GetPropertyCount@CWbemInstance@@UAEJPAVCVar@@@Z
+; public: long __thiscall CClassPart::GetPropertyHandle(unsigned short const *,long *,long *)
+?GetPropertyHandle@CClassPart@@QAEJPBGPAJ1@Z
+; public: virtual long __stdcall CWbemObject::GetPropertyHandle(unsigned short const *,long *,long *)
+?GetPropertyHandle@CWbemObject@@UAGJPBGPAJ1@Z
+; public: long __thiscall CClassPart::GetPropertyHandleEx(unsigned short const *,long *,long *)
+?GetPropertyHandleEx@CClassPart@@QAEJPBGPAJ1@Z
+; public: virtual long __stdcall CWbemObject::GetPropertyHandleEx(unsigned short const *,long,long *,long *)
+?GetPropertyHandleEx@CWbemObject@@UAGJPBGJPAJ1@Z
+; public: long __thiscall CWbemObject::GetPropertyIndex(unsigned short const *,int *)
+?GetPropertyIndex@CWbemObject@@QAEJPBGPAH@Z
+; public: long __thiscall CClassPart::GetPropertyInfoByHandle(long,unsigned short * *,long *)
+?GetPropertyInfoByHandle@CClassPart@@QAEJJPAPAGPAJ@Z
+; public: virtual long __stdcall CWbemObject::GetPropertyInfoByHandle(long,unsigned short * *,long *)
+?GetPropertyInfoByHandle@CWbemObject@@UAGJJPAPAGPAJ@Z
+; public: struct CPropertyLookup * __thiscall CClassPart::GetPropertyLookup(int)
+?GetPropertyLookup@CClassPart@@QAEPAUCPropertyLookup@@H@Z
+; public: long __thiscall CWbemObject::GetPropertyNameFromIndex(int,unsigned short * *)
+?GetPropertyNameFromIndex@CWbemObject@@QAEJHPAPAG@Z
+; public: long __thiscall CClassPart::GetPropertyOrigin(unsigned short const *,unsigned short * *)
+?GetPropertyOrigin@CClassPart@@QAEJPBGPAPAG@Z
+; public: virtual long __stdcall CWbemObject::GetPropertyOrigin(unsigned short const *,unsigned short * *)
+?GetPropertyOrigin@CWbemObject@@UAGJPBGPAPAG@Z
+; public: virtual long __stdcall CWbemClass::GetPropertyQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
+?GetPropertyQualifierSet@CWbemClass@@UAGJPBGPAPAUIWbemQualifierSet@@@Z
+; public: virtual long __stdcall CWbemInstance::GetPropertyQualifierSet(unsigned short const *,struct IWbemQualifierSet * *)
+?GetPropertyQualifierSet@CWbemInstance@@UAGJPBGPAPAUIWbemQualifierSet@@@Z
+; public: unsigned char * __thiscall CClassPart::GetPropertyQualifierSetData(unsigned short const *)
+?GetPropertyQualifierSetData@CClassPart@@QAEPAEPBG@Z
+; public: class CCompressedString * __thiscall CWbemObject::GetPropertyString(long)
+?GetPropertyString@CWbemObject@@QAEPAVCCompressedString@@J@Z
+; public: long __thiscall CClassPart::GetPropertyType(class CPropertyInformation *,long *,long *)
+?GetPropertyType@CClassPart@@QAEJPAVCPropertyInformation@@PAJ1@Z
+; public: long __thiscall CClassPart::GetPropertyType(unsigned short const *,long *,long *)
+?GetPropertyType@CClassPart@@QAEJPBGPAJ1@Z
+; public: static long __stdcall CSystemProperties::GetPropertyType(unsigned short const *,long *,long *)
+?GetPropertyType@CSystemProperties@@SGJPBGPAJ1@Z
+; public: virtual long __thiscall CWbemClass::GetPropertyType(class CPropertyInformation *,long *,long *)
+?GetPropertyType@CWbemClass@@UAEJPAVCPropertyInformation@@PAJ1@Z
+; public: virtual long __thiscall CWbemClass::GetPropertyType(unsigned short const *,long *,long *)
+?GetPropertyType@CWbemClass@@UAEJPBGPAJ1@Z
+; public: virtual long __thiscall CWbemInstance::GetPropertyType(class CPropertyInformation *,long *,long *)
+?GetPropertyType@CWbemInstance@@UAEJPAVCPropertyInformation@@PAJ1@Z
+; public: virtual long __thiscall CWbemInstance::GetPropertyType(unsigned short const *,long *,long *)
+?GetPropertyType@CWbemInstance@@UAEJPBGPAJ1@Z
+; public: virtual long __stdcall CWbemObject::GetPropertyValue(struct _tag_WbemPropertyName *,long,unsigned short * *,struct tagVARIANT *)
+?GetPropertyValue@CWbemObject@@UAGJPAU_tag_WbemPropertyName@@JPAPAGPAUtagVARIANT@@@Z
+; public: long __thiscall CClassPart::GetQualifier(unsigned short const *,class CVar *,long *,long *)
+?GetQualifier@CClassPart@@QAEJPBGPAVCVar@@PAJ2@Z
+; public: long __thiscall CInstancePart::GetQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetQualifier@CInstancePart@@QAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: long __thiscall CInstancePart::GetQualifier(unsigned short const *,class CVar *,long *,long *)
+?GetQualifier@CInstancePart@@QAEJPBGPAVCVar@@PAJ2@Z
+; public: long __thiscall CQualifierSet::GetQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetQualifier@CQualifierSet@@QAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: long __thiscall CQualifierSet::GetQualifier(unsigned short const *,class CVar *,long *,long *)
+?GetQualifier@CQualifierSet@@QAEJPBGPAVCVar@@PAJ2@Z
+; public: struct CQualifier * __thiscall CQualifierSet::GetQualifier(unsigned short const *)
+?GetQualifier@CQualifierSet@@QAEPAUCQualifier@@PBG@Z
+; public: struct CQualifier * __thiscall CQualifierSet::GetQualifier(unsigned short const *,int &)
+?GetQualifier@CQualifierSet@@QAEPAUCQualifier@@PBGAAH@Z
+; public: virtual long __thiscall CWbemClass::GetQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetQualifier@CWbemClass@@UAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: virtual long __thiscall CWbemClass::GetQualifier(unsigned short const *,class CVar *,long *,long *)
+?GetQualifier@CWbemClass@@UAEJPBGPAVCVar@@PAJ2@Z
+; public: virtual long __thiscall CWbemInstance::GetQualifier(unsigned short const *,long *,class CTypedValue *,class CFastHeap * *,int)
+?GetQualifier@CWbemInstance@@UAEJPBGPAJPAVCTypedValue@@PAPAVCFastHeap@@H@Z
+; public: virtual long __thiscall CWbemInstance::GetQualifier(unsigned short const *,class CVar *,long *,long *)
+?GetQualifier@CWbemInstance@@UAEJPBGPAVCVar@@PAJ2@Z
+; public: long __thiscall CWbemObject::GetQualifierArrayInfo(unsigned short const *,unsigned short const *,int,long,long *,unsigned long *)
+?GetQualifierArrayInfo@CWbemObject@@QAEJPBG0HJPAJPAK@Z
+; public: long __thiscall CWbemObject::GetQualifierArrayRange(unsigned short const *,unsigned short const *,int,long,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,void *)
+?GetQualifierArrayRange@CWbemObject@@QAEJPBG0HJKKKPAK1PAX@Z
+; public: struct CQualifier * __thiscall CBasicQualifierSet::GetQualifierLocally(class CCompressedString *)
+?GetQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@PAVCCompressedString@@@Z
+; public: struct CQualifier * __thiscall CBasicQualifierSet::GetQualifierLocally(unsigned short const *)
+?GetQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@PBG@Z
+; public: struct CQualifier * __thiscall CBasicQualifierSet::GetQualifierLocally(unsigned short const *,int &)
+?GetQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@PBGAAH@Z
+; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetQualifierLocally(unsigned char *,class CFastHeap *,class CCompressedString *)
+?GetQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEPAVCFastHeap@@PAVCCompressedString@@@Z
+; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetQualifierLocally(unsigned char *,class CFastHeap *,unsigned short const *)
+?GetQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEPAVCFastHeap@@PBG@Z
+; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetQualifierLocally(unsigned char *,class CFastHeap *,unsigned short const *,int &)
+?GetQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEPAVCFastHeap@@PBGAAH@Z
+; public: virtual long __stdcall CWbemClass::GetQualifierSet(struct IWbemQualifierSet * *)
+?GetQualifierSet@CWbemClass@@UAGJPAPAUIWbemQualifierSet@@@Z
+; public: virtual long __stdcall CWbemInstance::GetQualifierSet(struct IWbemQualifierSet * *)
+?GetQualifierSet@CWbemInstance@@UAGJPAPAUIWbemQualifierSet@@@Z
+; public: unsigned char * __thiscall CQualifierSetList::GetQualifierSetData(int)
+?GetQualifierSetData@CQualifierSetList@@QAEPAEH@Z
+; public: static unsigned char * __stdcall CQualifierSetList::GetQualifierSetData(unsigned char *,int)
+?GetQualifierSetData@CQualifierSetList@@SGPAEPAEH@Z
+; public: virtual unsigned char * __thiscall CInstancePart::GetQualifierSetListStart(void)
+?GetQualifierSetListStart@CInstancePart@@UAEPAEXZ
+; public: virtual unsigned char * __thiscall CClassPart::GetQualifierSetStart(void)
+?GetQualifierSetStart@CClassPart@@UAEPAEXZ
+; public: virtual unsigned char * __thiscall CInstancePQSContainer::GetQualifierSetStart(void)
+?GetQualifierSetStart@CInstancePQSContainer@@UAEPAEXZ
+; public: virtual unsigned char * __thiscall CInstancePart::GetQualifierSetStart(void)
+?GetQualifierSetStart@CInstancePart@@UAEPAEXZ
+; public: virtual unsigned char * __thiscall CMethodQualifierSetContainer::GetQualifierSetStart(void)
+?GetQualifierSetStart@CMethodQualifierSetContainer@@UAEPAEXZ
+; public: static long __stdcall CUntypedArray::GetRange(class CPtrSource *,unsigned long,unsigned long,class CFastHeap *,unsigned long,unsigned long,unsigned long,unsigned long *,void *)
+?GetRange@CUntypedArray@@SGJPAVCPtrSource@@KKPAVCFastHeap@@KKKPAKPAX@Z
+; public: unsigned char * __thiscall CCompressedString::GetRawData(void)const 
+?GetRawData@CCompressedString@@QBEPAEXZ
+; public: unsigned long __thiscall CFastHeap::GetRealLength(void)
+?GetRealLength@CFastHeap@@QAEKXZ
+; protected: long __thiscall CWbemRefreshingSvc::GetRefrMgr(struct _IWbemRefresherMgr * *)
+?GetRefrMgr@CWbemRefreshingSvc@@IAEJPAPAU_IWbemRefresherMgr@@@Z
+; public: struct CQualifier * __thiscall CBasicQualifierSet::GetRegularQualifierLocally(unsigned short const *)
+?GetRegularQualifierLocally@CBasicQualifierSet@@QAEPAUCQualifier@@PBG@Z
+; public: static struct CQualifier * __stdcall CBasicQualifierSet::GetRegularQualifierLocally(unsigned char *,class CFastHeap *,unsigned short const *)
+?GetRegularQualifierLocally@CBasicQualifierSet@@SGPAUCQualifier@@PAEPAVCFastHeap@@PBG@Z
+; public: virtual unsigned short * __thiscall CWbemClass::GetRelPath(int)
+?GetRelPath@CWbemClass@@UAEPAGH@Z
+; public: virtual unsigned short * __thiscall CWbemInstance::GetRelPath(int)
+?GetRelPath@CWbemInstance@@UAEPAGH@Z
+; public: long __thiscall CWbemObject::GetRelPath(class CVar *)
+?GetRelPath@CWbemObject@@QAEJPAVCVar@@@Z
+; protected: virtual long __thiscall CWbemRefreshingSvc::GetRemoteRefresher(struct _WBEM_REFRESHER_ID *,long,unsigned long,struct IWbemRemoteRefresher * *,struct _GUID *,unsigned long *)
+?GetRemoteRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@JKPAPAUIWbemRemoteRefresher@@PAU_GUID@@PAK@Z
+; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::GetRemoteRefresher(struct _WBEM_REFRESHER_ID *,long,unsigned long,struct IWbemRemoteRefresher * *,struct _GUID *,unsigned long *)
+?GetRemoteRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@JKPAPAUIWbemRemoteRefresher@@PAU_GUID@@PAK@Z
+; public: class CBasicQualifierSet * __thiscall CMethodQualifierSetContainer::GetSecondarySet(void)
+?GetSecondarySet@CMethodQualifierSetContainer@@QAEPAVCBasicQualifierSet@@XZ
+; protected: static unsigned long __stdcall CCompressedStringList::GetSeparatorLength(void)
+?GetSeparatorLength@CCompressedStringList@@KGKXZ
+; public: long __thiscall CWbemObject::GetServer(class CVar *)
+?GetServer@CWbemObject@@QAEJPAVCVar@@@Z
+; public: long __thiscall CWbemObject::GetServerAndNamespace(class CVar *)
+?GetServerAndNamespace@CWbemObject@@QAEJPAVCVar@@@Z
+; public: unsigned short * __thiscall CWbemThreadSecurityHandle::GetServerPrincipalName(void)
+?GetServerPrincipalName@CWbemThreadSecurityHandle@@QAEPAGXZ
+; public: unsigned long __thiscall CMethodDescription::GetSig(int)
+?GetSig@CMethodDescription@@QAEKH@Z
+; protected: void __thiscall CMethodPart::GetSignature(int,int,class CWbemObject * *)
+?GetSignature@CMethodPart@@IAEXHHPAPAVCWbemObject@@@Z
+; public: int __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::GetSize(void)const 
+?GetSize@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QBEHXZ
+; public: int __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::GetSize(void)const 
+?GetSize@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QBEHXZ
+; public: virtual long __stdcall CWbemObject::GetSource(unsigned short * *)
+?GetSource@CWbemObject@@UAGJPAPAG@Z
+; public: unsigned char * __thiscall CBasicQualifierSet::GetStart(void)
+?GetStart@CBasicQualifierSet@@QAEPAEXZ
+; public: unsigned char * __thiscall CClassAndMethods::GetStart(void)
+?GetStart@CClassAndMethods@@QAEPAEXZ
+; public: unsigned char * __thiscall CClassPart::GetStart(void)
+?GetStart@CClassPart@@QAEPAEXZ
+; public: unsigned char * __thiscall CCompressedString::GetStart(void)
+?GetStart@CCompressedString@@QAEPAEXZ
+; public: unsigned char * __thiscall CCompressedStringList::GetStart(void)
+?GetStart@CCompressedStringList@@QAEPAEXZ
+; public: unsigned char * __thiscall CDataTable::GetStart(void)
+?GetStart@CDataTable@@QAEPAEXZ
+; public: unsigned char * __thiscall CDecorationPart::GetStart(void)
+?GetStart@CDecorationPart@@QAEPAEXZ
+; public: unsigned char * __thiscall CEmbeddedObject::GetStart(void)
+?GetStart@CEmbeddedObject@@QAEPAEXZ
+; public: unsigned char * __thiscall CFastHeap::GetStart(void)
+?GetStart@CFastHeap@@QAEPAEXZ
+; public: unsigned char * __thiscall CInstancePart::GetStart(void)
+?GetStart@CInstancePart@@QAEPAEXZ
+; public: unsigned char * __thiscall CMethodPart::GetStart(void)
+?GetStart@CMethodPart@@QAEPAEXZ
+; public: unsigned char * __thiscall CPropertyLookupTable::GetStart(void)
+?GetStart@CPropertyLookupTable@@QAEPAEXZ
+; public: unsigned char * __thiscall CQualifierSetList::GetStart(void)
+?GetStart@CQualifierSetList@@QAEPAEXZ
+; public: unsigned char * __thiscall CWbemInstance::GetStart(void)
+?GetStart@CWbemInstance@@QAEPAEXZ
+; public: unsigned char * __thiscall CWbemObject::GetStart(void)
+?GetStart@CWbemObject@@QAEPAEXZ
+; public: int __thiscall CCompressedString::GetStringLength(void)const 
+?GetStringLength@CCompressedString@@QBEHXZ
+; public: static long __stdcall CClassAndMethods::GetSuperclassName(class WString &,unsigned char *)
+?GetSuperclassName@CClassAndMethods@@SGJAAVWString@@PAE@Z
+; public: long __thiscall CClassPart::GetSuperclassName(class CVar *)
+?GetSuperclassName@CClassPart@@QAEJPAVCVar@@@Z
+; public: class CCompressedString * __thiscall CClassPart::GetSuperclassName(void)
+?GetSuperclassName@CClassPart@@QAEPAVCCompressedString@@XZ
+; public: virtual long __thiscall CWbemClass::GetSuperclassName(class CVar *)
+?GetSuperclassName@CWbemClass@@UAEJPAVCVar@@@Z
+; public: virtual long __thiscall CWbemInstance::GetSuperclassName(class CVar *)
+?GetSuperclassName@CWbemInstance@@UAEJPAVCVar@@@Z
+; public: unsigned short * __thiscall CType::GetSyntax(void)
+?GetSyntax@CType@@QAEPAGXZ
+; public: static unsigned short * __stdcall CType::GetSyntax(unsigned long)
+?GetSyntax@CType@@SGPAGK@Z
+; public: long __thiscall CWbemObject::GetSystemProperty(int,class CVar *)
+?GetSystemProperty@CWbemObject@@QAEJHPAVCVar@@@Z
+; public: long __thiscall CWbemObject::GetSystemPropertyByName(unsigned short const *,class CVar *)
+?GetSystemPropertyByName@CWbemObject@@QAEJPBGPAVCVar@@@Z
+; public: long __thiscall CBasicQualifierSet::GetText(long,class WString &)
+?GetText@CBasicQualifierSet@@QAEJJAAVWString@@@Z
+; public: static long __stdcall CBasicQualifierSet::GetText(unsigned char *,class CFastHeap *,long,class WString &)
+?GetText@CBasicQualifierSet@@SGJPAEPAVCFastHeap@@JAAVWString@@@Z
+; public: char const * __thiscall CInternalString::GetText(void)const 
+?GetText@CInternalString@@QBEPBDXZ
+; public: virtual long __stdcall CWmiObjectTextSrc::XObjectTextSrc::GetText(long,struct IWbemClassObject *,unsigned long,struct IWbemContext *,unsigned short * *)
+?GetText@XObjectTextSrc@CWmiObjectTextSrc@@UAGJJPAUIWbemClassObject@@KPAUIWbemContext@@PAPAG@Z
+; public: virtual long __stdcall CWbemCallSecurity::GetThreadSecurity(enum tag_WMI_THREAD_SECURITY_ORIGIN,struct _IWmiThreadSecHandle * *)
+?GetThreadSecurity@CWbemCallSecurity@@UAGJW4tag_WMI_THREAD_SECURITY_ORIGIN@@PAPAU_IWmiThreadSecHandle@@@Z
+; public: class CWbemThreadSecurityHandle * __thiscall CWbemCallSecurity::GetThreadSecurityHandle(void)
+?GetThreadSecurityHandle@CWbemCallSecurity@@QAEPAVCWbemThreadSecurityHandle@@XZ
+; public: void * __thiscall CWbemThreadSecurityHandle::GetThreadToken(void)
+?GetThreadToken@CWbemThreadSecurityHandle@@QAEPAXXZ
+; public: virtual long __stdcall CWbemThreadSecurityHandle::GetToken(void * *)
+?GetToken@CWbemThreadSecurityHandle@@UAGJPAPAX@Z
+; public: virtual long __stdcall CWbemThreadSecurityHandle::GetTokenOrigin(enum tag_WMI_THREAD_SECURITY_ORIGIN *)
+?GetTokenOrigin@CWbemThreadSecurityHandle@@UAGJPAW4tag_WMI_THREAD_SECURITY_ORIGIN@@@Z
+; public: unsigned long __thiscall CClassPart::GetTotalRealLength(void)
+?GetTotalRealLength@CClassPart@@QAEKXZ
+; public: unsigned long __thiscall CInstancePart::GetTotalRealLength(void)
+?GetTotalRealLength@CInstancePart@@QAEKXZ
+; public: long __thiscall CWbemInstance::GetTransferArrayBlob(long,unsigned char * *,long *)
+?GetTransferArrayBlob@CWbemInstance@@QAEJJPAPAEPAJ@Z
+; public: long __thiscall CWbemInstance::GetTransferArrayBlobSize(void)
+?GetTransferArrayBlobSize@CWbemInstance@@QAEJXZ
+; public: static long __stdcall CWbemInstance::GetTransferArrayHeaderSize(void)
+?GetTransferArrayHeaderSize@CWbemInstance@@SGJXZ
+; public: long __thiscall CWbemInstance::GetTransferBlob(long *,long *,unsigned char * *)
+?GetTransferBlob@CWbemInstance@@QAEJPAJ0PAPAE@Z
+; public: long __thiscall CWbemInstance::GetTransferBlobSize(void)
+?GetTransferBlobSize@CWbemInstance@@QAEJXZ
+; public: virtual long __stdcall CWbemObject::GetUnmarshalClass(struct _GUID const &,void *,unsigned long,void *,unsigned long,struct _GUID *)
+?GetUnmarshalClass@CWbemObject@@UAGJABU_GUID@@PAXK1KPAU2@@Z
+; public: unsigned long __thiscall CFastHeap::GetUsedLength(void)
+?GetUsedLength@CFastHeap@@QAEKXZ
+; public: virtual long __stdcall CWbemCallSecurity::GetUser(unsigned long *,unsigned short *)
+?GetUser@CWbemCallSecurity@@UAGJPAKPAG@Z
+; public: virtual long __stdcall CWbemThreadSecurityHandle::GetUser(unsigned long *,unsigned short *)
+?GetUser@CWbemThreadSecurityHandle@@UAGJPAKPAG@Z
+; public: virtual long __stdcall CWbemCallSecurity::GetUserSid(unsigned long *,void *)
+?GetUserSid@CWbemCallSecurity@@UAGJPAKPAX@Z
+; public: virtual long __stdcall CWbemThreadSecurityHandle::GetUserSid(unsigned long *,void *)
+?GetUserSid@CWbemThreadSecurityHandle@@UAGJPAKPAX@Z
+; public: unsigned short __thiscall CType::GetVARTYPE(void)
+?GetVARTYPE@CType@@QAEGXZ
+; public: static unsigned short __stdcall CType::GetVARTYPE(unsigned long)
+?GetVARTYPE@CType@@SGGK@Z
+; public: static unsigned short * __stdcall CWbemObject::GetValueText(long,class CVar &,unsigned long)
+?GetValueText@CWbemObject@@SGPAGJAAVCVar@@K@Z
+; public: unsigned long __thiscall CLimitationMapping::GetVtableLength(void)
+?GetVtableLength@CLimitationMapping@@QAEKXZ
+; public: virtual struct IUnknown * __thiscall CClassAndMethods::GetWbemObjectUnknown(void)
+?GetWbemObjectUnknown@CClassAndMethods@@UAEPAUIUnknown@@XZ
+; public: virtual struct IUnknown * __thiscall CClassPart::GetWbemObjectUnknown(void)
+?GetWbemObjectUnknown@CClassPart@@UAEPAUIUnknown@@XZ
+; public: virtual struct IUnknown * __thiscall CInstancePQSContainer::GetWbemObjectUnknown(void)
+?GetWbemObjectUnknown@CInstancePQSContainer@@UAEPAUIUnknown@@XZ
+; public: virtual struct IUnknown * __thiscall CInstancePart::GetWbemObjectUnknown(void)
+?GetWbemObjectUnknown@CInstancePart@@UAEPAUIUnknown@@XZ
+; public: struct IUnknown * __thiscall CMethodPart::GetWbemObjectUnknown(void)
+?GetWbemObjectUnknown@CMethodPart@@QAEPAUIUnknown@@XZ
+; public: virtual struct IUnknown * __thiscall CMethodQualifierSetContainer::GetWbemObjectUnknown(void)
+?GetWbemObjectUnknown@CMethodQualifierSetContainer@@UAEPAUIUnknown@@XZ
+; public: struct IUnknown * __thiscall CQualifierSetList::GetWbemObjectUnknown(void)
+?GetWbemObjectUnknown@CQualifierSetList@@QAEPAUIUnknown@@XZ
+; public: struct IUnknown * __thiscall CWbemClass::GetWbemObjectUnknown(void)
+?GetWbemObjectUnknown@CWbemClass@@QAEPAUIUnknown@@XZ
+; public: virtual struct IUnknown * __thiscall CWbemInstance::GetWbemObjectUnknown(void)
+?GetWbemObjectUnknown@CWbemInstance@@UAEPAUIUnknown@@XZ
+; public: static int __stdcall CBasicQualifierSet::HasLocalQualifiers(unsigned char *)
+?HasLocalQualifiers@CBasicQualifierSet@@SGHPAE@Z
+; public: int __thiscall CWbemObject::HasRefs(void)
+?HasRefs@CWbemObject@@QAEHXZ
+; public: virtual long __stdcall CWbemCallSecurity::ImpersonateClient(void)
+?ImpersonateClient@CWbemCallSecurity@@UAGJXZ
+; public: void __thiscall CBasicQualifierSet::IncrementLength(unsigned long)
+?IncrementLength@CBasicQualifierSet@@QAEXK@Z
+; public: int __thiscall CClassPart::InheritsFrom(unsigned short const *)
+?InheritsFrom@CClassPart@@QAEHPBG@Z
+; public: virtual long __stdcall CWbemObject::InheritsFrom(unsigned short const *)
+?InheritsFrom@CWbemObject@@UAGJPBG@Z
+; public: long __thiscall CWbemFetchRefrMgr::Init(struct _IWmiProvSS *,struct IWbemServices *)
+?Init@CWbemFetchRefrMgr@@QAEJPAU_IWmiProvSS@@PAUIWbemServices@@@Z
+; public: virtual long __stdcall CWbemFetchRefrMgr::XFetchRefrMgr::Init(struct _IWmiProvSS *,struct IWbemServices *)
+?Init@XFetchRefrMgr@CWbemFetchRefrMgr@@UAGJPAU_IWmiProvSS@@PAUIWbemServices@@@Z
+; public: long __thiscall CWbemClass::InitEmpty(int,int)
+?InitEmpty@CWbemClass@@QAEJHH@Z
+; public: long __thiscall CWbemInstance::InitEmptyInstance(class CClassPart &,unsigned char *,int,class CDecorationPart *)
+?InitEmptyInstance@CWbemInstance@@QAEJAAVCClassPart@@PAEHPAVCDecorationPart@@@Z
+; public: long __thiscall CWbemInstance::InitNew(class CWbemClass *,int,class CDecorationPart *)
+?InitNew@CWbemInstance@@QAEJPAVCWbemClass@@HPAVCDecorationPart@@@Z
+; public: long __thiscall CClassPart::InitPropertyQualifierSet(unsigned short const *,class CClassPropertyQualifierSet *)
+?InitPropertyQualifierSet@CClassPart@@QAEJPBGPAVCClassPropertyQualifierSet@@@Z
+; public: static void __stdcall CKnownStringTable::Initialize(void)
+?Initialize@CKnownStringTable@@SGXXZ
+; public: virtual int __thiscall CWbemRefreshingSvc::Initialize(void)
+?Initialize@CWbemRefreshingSvc@@UAEHXZ
+; protected: long __thiscall CWbemInstance::InitializePropQualifierSet(class CPropertyInformation *,class CInstancePropertyQualifierSet &)
+?InitializePropQualifierSet@CWbemInstance@@IAEJPAVCPropertyInformation@@AAVCInstancePropertyQualifierSet@@@Z
+; protected: long __thiscall CWbemInstance::InitializePropQualifierSet(unsigned short const *,class CInstancePropertyQualifierSet &)
+?InitializePropQualifierSet@CWbemInstance@@IAEJPBGAAVCInstancePropertyQualifierSet@@@Z
+; public: bool __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::InsertAt(int,class CFastPropertyBagItem *)
+?InsertAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE_NHPAVCFastPropertyBagItem@@@Z
+; public: bool __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::InsertAt(int,class CWmiTextSource *)
+?InsertAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE_NHPAVCWmiTextSource@@@Z
+; public: long __thiscall CPropertyLookupTable::InsertProperty(struct CPropertyLookup const &,int &)
+?InsertProperty@CPropertyLookupTable@@QAEJABUCPropertyLookup@@AAH@Z
+; public: long __thiscall CPropertyLookupTable::InsertProperty(unsigned short const *,unsigned long,int &)
+?InsertProperty@CPropertyLookupTable@@QAEJPBGKAAH@Z
+; public: long __thiscall CQualifierSetList::InsertQualifierSet(int)
+?InsertQualifierSet@CQualifierSetList@@QAEJH@Z
+; public: int __thiscall CClassPart::IsAbstract(void)
+?IsAbstract@CClassPart@@QAEHXZ
+; public: int __thiscall CWbemClass::IsAbstract(void)
+?IsAbstract@CWbemClass@@QAEHXZ
+; public: int __thiscall CClassPart::IsAmendment(void)
+?IsAmendment@CClassPart@@QAEHXZ
+; public: int __thiscall CWbemClass::IsAmendment(void)
+?IsAmendment@CWbemClass@@QAEHXZ
+; public: int __thiscall CType::IsArray(void)
+?IsArray@CType@@QAEHXZ
+; public: static int __stdcall CType::IsArray(unsigned long)
+?IsArray@CType@@SGHK@Z
+; public: long __thiscall CWbemObject::IsArrayPropertyHandle(long,long *,unsigned long *)
+?IsArrayPropertyHandle@CWbemObject@@QAEJJPAJPAK@Z
+; public: long __thiscall CUntypedArray::IsArrayValid(class CType,class CFastHeap *)
+?IsArrayValid@CUntypedArray@@QAEJVCType@@PAVCFastHeap@@@Z
+; protected: static int __stdcall CCompressedString::IsAsciiable(unsigned short const *)
+?IsAsciiable@CCompressedString@@KGHPBG@Z
+; public: int __thiscall CClassPart::IsAssociation(void)
+?IsAssociation@CClassPart@@QAEHXZ
+; public: int __thiscall CClassPart::IsAutocook(void)
+?IsAutocook@CClassPart@@QAEHXZ
+; public: int __thiscall CWbemClass::IsChildOf(class CWbemClass *)
+?IsChildOf@CWbemClass@@QAEHPAV1@@Z
+; protected: int __thiscall CWbemInstance::IsClassPartAvailable(void)
+?IsClassPartAvailable@CWbemInstance@@IAEHXZ
+; protected: int __thiscall CWbemInstance::IsClassPartInternal(void)
+?IsClassPartInternal@CWbemInstance@@IAEHXZ
+; protected: int __thiscall CWbemInstance::IsClassPartShared(void)
+?IsClassPartShared@CWbemInstance@@IAEHXZ
+; public: int __thiscall CDecorationPart::IsClientOnly(void)
+?IsClientOnly@CDecorationPart@@QAEHXZ
+; public: int __thiscall CWbemObject::IsClientOnly(void)
+?IsClientOnly@CWbemObject@@QAEHXZ
+; public: int __thiscall CQualifierSet::IsComplete(void)
+?IsComplete@CQualifierSet@@QAEHXZ
+; public: int __thiscall CClassPart::IsCompressed(void)
+?IsCompressed@CClassPart@@QAEHXZ
+; public: int __thiscall CWbemClass::IsCompressed(void)
+?IsCompressed@CWbemClass@@QAEHXZ
+; public: int __thiscall CDecorationPart::IsDecorated(void)
+?IsDecorated@CDecorationPart@@QAEHXZ
+; protected: int __thiscall CWbemInstance::IsDecorationPartAvailable(void)
+?IsDecorationPartAvailable@CWbemInstance@@IAEHXZ
+; public: int __thiscall CDataTable::IsDefault(int)
+?IsDefault@CDataTable@@QAEHH@Z
+; public: int __thiscall CClassPart::IsDynamic(void)
+?IsDynamic@CClassPart@@QAEHXZ
+; public: int __thiscall CWbemClass::IsDynamic(void)
+?IsDynamic@CWbemClass@@QAEHXZ
+; public: int __thiscall CBasicQualifierSet::IsEmpty(void)
+?IsEmpty@CBasicQualifierSet@@QAEHXZ
+; public: static int __stdcall CBasicQualifierSet::IsEmpty(unsigned char *)
+?IsEmpty@CBasicQualifierSet@@SGHPAE@Z
+; public: int __thiscall CCompressedStringList::IsEmpty(void)
+?IsEmpty@CCompressedStringList@@QAEHXZ
+; public: bool __thiscall CInternalString::IsEmpty(void)
+?IsEmpty@CInternalString@@QAE_NXZ
+; public: int __thiscall CQualifierSetList::IsEmpty(void)
+?IsEmpty@CQualifierSetList@@QAEHXZ
+; public: static int __stdcall CFastHeap::IsFakeAddress(unsigned long)
+?IsFakeAddress@CFastHeap@@SGHK@Z
+; public: int __thiscall CClassPart::IsHiPerf(void)
+?IsHiPerf@CClassPart@@QAEHXZ
+; public: int __thiscall CClassPart::IsIdenticalWith(class CClassPart &)
+?IsIdenticalWith@CClassPart@@QAEHAAV1@@Z
+; public: static int __stdcall CSystemProperties::IsIllegalDerivedClass(unsigned short const *)
+?IsIllegalDerivedClass@CSystemProperties@@SGHPBG@Z
+; public: virtual int __stdcall CWbemCallSecurity::IsImpersonating(void)
+?IsImpersonating@CWbemCallSecurity@@UAGHXZ
+; public: int __thiscall CWbemClass::IsIndexLocal(unsigned short const *)
+?IsIndexLocal@CWbemClass@@QAEHPBG@Z
+; public: int __thiscall CDecorationPart::IsInstance(void)
+?IsInstance@CDecorationPart@@QAEHXZ
+; public: int __thiscall CWbemObject::IsInstance(void)
+?IsInstance@CWbemObject@@QAEHXZ
+; public: int __thiscall CWbemInstance::IsInstanceOf(class CWbemClass *)
+?IsInstanceOf@CWbemInstance@@QAEHPAVCWbemClass@@@Z
+; protected: int __thiscall CWbemInstance::IsInstancePartAvailable(void)
+?IsInstancePartAvailable@CWbemInstance@@IAEHXZ
+; public: int __thiscall CWbemClass::IsKeyLocal(unsigned short const *)
+?IsKeyLocal@CWbemClass@@QAEHPBG@Z
+; public: int __thiscall CClassPart::IsKeyed(void)
+?IsKeyed@CClassPart@@QAEHXZ
+; public: virtual int __thiscall CWbemClass::IsKeyed(void)
+?IsKeyed@CWbemClass@@UAEHXZ
+; public: virtual int __thiscall CWbemInstance::IsKeyed(void)
+?IsKeyed@CWbemInstance@@UAEHXZ
+; public: int __thiscall CDecorationPart::IsLimited(void)
+?IsLimited@CDecorationPart@@QAEHXZ
+; public: int __thiscall CWbemObject::IsLimited(void)
+?IsLimited@CWbemObject@@QAEHXZ
+; public: int __thiscall CClassPart::IsLocalized(void)
+?IsLocalized@CClassPart@@QAEHXZ
+; public: int __thiscall CInstancePart::IsLocalized(void)
+?IsLocalized@CInstancePart@@QAEHXZ
+; public: virtual int __thiscall CWbemClass::IsLocalized(void)
+?IsLocalized@CWbemClass@@UAEHXZ
+; public: virtual int __thiscall CWbemInstance::IsLocalized(void)
+?IsLocalized@CWbemInstance@@UAEHXZ
+; public: static int __stdcall CType::IsMemCopyAble(unsigned short,long)
+?IsMemCopyAble@CType@@SGHGJ@Z
+; public: int __thiscall CType::IsNonArrayPointerType(void)
+?IsNonArrayPointerType@CType@@QAEHXZ
+; public: static int __stdcall CType::IsNonArrayPointerType(unsigned long)
+?IsNonArrayPointerType@CType@@SGHK@Z
+; public: int __thiscall CDataTable::IsNull(int)
+?IsNull@CDataTable@@QAEHH@Z
+; public: virtual long __stdcall CWbemObject::IsObjectInstance(void)
+?IsObjectInstance@CWbemObject@@UAGJXZ
+; protected: int __thiscall CFastHeap::IsOutOfLine(void)
+?IsOutOfLine@CFastHeap@@IAEHXZ
+; public: virtual long __stdcall CWbemClass::IsParentClass(long,struct _IWmiObject *)
+?IsParentClass@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemInstance::IsParentClass(long,struct _IWmiObject *)
+?IsParentClass@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
+; public: int __thiscall CType::IsParents(void)
+?IsParents@CType@@QAEHXZ
+; public: static int __stdcall CType::IsParents(unsigned long)
+?IsParents@CType@@SGHK@Z
+; public: int __thiscall CType::IsPointerType(void)
+?IsPointerType@CType@@QAEHXZ
+; public: static int __stdcall CType::IsPointerType(unsigned long)
+?IsPointerType@CType@@SGHK@Z
+; public: static int __stdcall CSystemProperties::IsPossibleSystemPropertyName(unsigned short const *)
+?IsPossibleSystemPropertyName@CSystemProperties@@SGHPBG@Z
+; protected: int __thiscall CMethodPart::IsPropagated(int)
+?IsPropagated@CMethodPart@@IAEHH@Z
+; public: int __thiscall CClassPart::IsPropertyIndexed(unsigned short const *)
+?IsPropertyIndexed@CClassPart@@QAEHPBG@Z
+; public: int __thiscall CClassPart::IsPropertyKeyed(unsigned short const *)
+?IsPropertyKeyed@CClassPart@@QAEHPBG@Z
+; public: static int __stdcall CReservedWordTable::IsReservedWord(unsigned short const *)
+?IsReservedWord@CReservedWordTable@@SGHPBG@Z
+; public: int __thiscall CWbemObject::IsSameClass(class CWbemObject *)
+?IsSameClass@CWbemObject@@QAEHPAV1@@Z
+; public: int __thiscall CClassPart::IsSingleton(void)
+?IsSingleton@CClassPart@@QAEHXZ
+; public: int __thiscall CWbemClass::IsSingleton(void)
+?IsSingleton@CWbemClass@@QAEHXZ
+; public: int __thiscall CType::IsStringType(void)
+?IsStringType@CType@@QAEHXZ
+; public: static int __stdcall CType::IsStringType(unsigned long)
+?IsStringType@CType@@SGHK@Z
+; public: int __thiscall CClassPart::IsTopLevel(void)
+?IsTopLevel@CClassPart@@QAEHXZ
+; public: static int __stdcall CMethodDescription::IsTouched(struct CMethodDescription *,class CFastHeap *)
+?IsTouched@CMethodDescription@@SGHPAU1@PAVCFastHeap@@@Z
+; public: int __thiscall CMethodPart::IsTouched(int,int *)
+?IsTouched@CMethodPart@@QAEHHPAH@Z
+; public: int __thiscall CMethodPart::IsTouched(unsigned short const *,int *)
+?IsTouched@CMethodPart@@QAEHPBGPAH@Z
+; public: int __thiscall CCompressedString::IsUnicode(void)const 
+?IsUnicode@CCompressedString@@QBEHXZ
+; public: long __thiscall CWbemDataPacket::IsValid(void)
+?IsValid@CWbemDataPacket@@QAEJXZ
+; public: bool __thiscall CWbemObjectArrayPacket::IsValid(class CWbemClassCache *)
+?IsValid@CWbemObjectArrayPacket@@QAE_NPAVCWbemClassCache@@@Z
+; public: long __thiscall CClassPart::IsValidClassPart(void)
+?IsValidClassPart@CClassPart@@QAEJXZ
+; public: long __thiscall CInstancePart::IsValidInstancePart(class CClassPart *,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
+?IsValidInstancePart@CInstancePart@@QAEJPAVCClassPart@@AAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: int __thiscall CWbemInstance::IsValidKey(unsigned short const *)
+?IsValidKey@CWbemInstance@@QAEHPBG@Z
+; public: long __thiscall CMethodPart::IsValidMethodPart(void)
+?IsValidMethodPart@CMethodPart@@QAEJXZ
+; public: virtual long __thiscall CWbemClass::IsValidObj(void)
+?IsValidObj@CWbemClass@@UAEJXZ
+; public: virtual long __thiscall CWbemInstance::IsValidObj(void)
+?IsValidObj@CWbemInstance@@UAEJXZ
+; public: long __thiscall CClassPart::IsValidPropertyHandle(long)
+?IsValidPropertyHandle@CClassPart@@QAEJJ@Z
+; public: long __thiscall CWbemObject::IsValidPropertyHandle(long)
+?IsValidPropertyHandle@CWbemObject@@QAEJJ@Z
+; public: bool __thiscall CFastHeap::IsValidPtr(unsigned long)
+?IsValidPtr@CFastHeap@@QAE_NK@Z
+; public: long __thiscall CBasicQualifierSet::IsValidQualifierSet(void)
+?IsValidQualifierSet@CBasicQualifierSet@@QAEJXZ
+; public: static int __stdcall CBasicQualifierSet::IsValidQualifierType(unsigned short)
+?IsValidQualifierType@CBasicQualifierSet@@SGHG@Z
+; protected: int __thiscall CWbemRefreshingSvc::IsWinmgmt(struct _WBEM_REFRESHER_ID *)
+?IsWinmgmt@CWbemRefreshingSvc@@IAEHPAU_WBEM_REFRESHER_ID@@@Z
+; public: static long __stdcall CUntypedArray::LoadFromCVarVector(class CPtrSource *,class CVarVector &,unsigned long,class CFastHeap *,unsigned long &,int)
+?LoadFromCVarVector@CUntypedArray@@SGJPAVCPtrSource@@AAVCVarVector@@KPAVCFastHeap@@AAKH@Z
+; protected: long __thiscall CWbemObject::LocalizeProperties(int,bool,struct IWbemClassObject *,struct IWbemClassObject *,bool &)
+?LocalizeProperties@CWbemObject@@IAEJH_NPAUIWbemClassObject@@1AA_N@Z
+; protected: long __thiscall CWbemObject::LocalizeQualifiers(int,bool,struct IWbemQualifierSet *,struct IWbemQualifierSet *,bool &)
+?LocalizeQualifiers@CWbemObject@@IAEJH_NPAUIWbemQualifierSet@@1AA_N@Z
+; public: int __thiscall CHiPerfLock::Lock(unsigned long)
+?Lock@CHiPerfLock@@QAEHK@Z
+; public: int __thiscall CSharedLock::Lock(unsigned long)
+?Lock@CSharedLock@@QAEHK@Z
+; public: virtual long __stdcall CWbemObject::Lock(long)
+?Lock@CWbemObject@@UAGJJ@Z
+; protected: static char __stdcall CCompressedString::LowerByte(unsigned short)
+?LowerByte@CCompressedString@@KGDG@Z
+; public: static unsigned long __stdcall CType::MakeArray(unsigned long)
+?MakeArray@CType@@SGKK@Z
+; public: static unsigned long __stdcall CFastHeap::MakeFakeFromIndex(int)
+?MakeFakeFromIndex@CFastHeap@@SGKH@Z
+; public: static unsigned long __stdcall CType::MakeLocal(unsigned long)
+?MakeLocal@CType@@SGKK@Z
+; public: void __thiscall CCompressedString::MakeLowercase(void)
+?MakeLowercase@CCompressedString@@QAEXXZ
+; public: static unsigned long __stdcall CType::MakeNotArray(unsigned long)
+?MakeNotArray@CType@@SGKK@Z
+; public: static unsigned long __stdcall CType::MakeParents(unsigned long)
+?MakeParents@CType@@SGKK@Z
+; public: virtual long __stdcall CWbemClass::MakeSubsetInst(struct _IWmiObject *,struct _IWmiObject * *)
+?MakeSubsetInst@CWbemClass@@UAGJPAU_IWmiObject@@PAPAU2@@Z
+; public: virtual long __stdcall CWbemInstance::MakeSubsetInst(struct _IWmiObject *,struct _IWmiObject * *)
+?MakeSubsetInst@CWbemInstance@@UAGJPAU_IWmiObject@@PAPAU2@@Z
+; public: void __thiscall CLimitationMapping::Map(class CPropertyInformation *,class CPropertyInformation *,int)
+?Map@CLimitationMapping@@QAEXPAVCPropertyInformation@@0H@Z
+; public: int __thiscall CClassPart::MapLimitation(long,class CWStringArray *,class CLimitationMapping *)
+?MapLimitation@CClassPart@@QAEHJPAVCWStringArray@@PAVCLimitationMapping@@@Z
+; public: static int __stdcall CDecorationPart::MapLimitation(class CWStringArray *,class CLimitationMapping *)
+?MapLimitation@CDecorationPart@@SGHPAVCWStringArray@@PAVCLimitationMapping@@@Z
+; public: int __thiscall CPropertyLookupTable::MapLimitation(long,class CWStringArray *,class CLimitationMapping *)
+?MapLimitation@CPropertyLookupTable@@QAEHJPAVCWStringArray@@PAVCLimitationMapping@@@Z
+; public: int __thiscall CWbemClass::MapLimitation(long,class CWStringArray *,class CLimitationMapping *)
+?MapLimitation@CWbemClass@@QAEHJPAVCWStringArray@@PAVCLimitationMapping@@@Z
+; public: static void __stdcall CDecorationPart::MarkKeyRemoval(unsigned char *)
+?MarkKeyRemoval@CDecorationPart@@SGXPAE@Z
+; public: virtual long __stdcall CWbemObject::MarshalInterface(struct IStream *,struct _GUID const &,void *,unsigned long,void *,unsigned long)
+?MarshalInterface@CWbemObject@@UAGJPAUIStream@@ABU_GUID@@PAXK2K@Z
+; public: long __thiscall CWbemMtgtDeliverEventPacket::MarshalPacket(long,struct IWbemClassObject * *,struct _GUID *,int *)
+?MarshalPacket@CWbemMtgtDeliverEventPacket@@QAEJJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
+; public: long __thiscall CWbemMtgtDeliverEventPacket::MarshalPacket(unsigned char *,unsigned long,long,struct IWbemClassObject * *,struct _GUID *,int *)
+?MarshalPacket@CWbemMtgtDeliverEventPacket@@QAEJPAEKJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
+; public: long __thiscall CWbemObjectArrayPacket::MarshalPacket(long,struct IWbemClassObject * *,struct _GUID *,int *)
+?MarshalPacket@CWbemObjectArrayPacket@@QAEJJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
+; public: long __thiscall CWbemObjectArrayPacket::MarshalPacket(unsigned char *,unsigned long,long,struct IWbemClassObject * *,struct _GUID *,int *)
+?MarshalPacket@CWbemObjectArrayPacket@@QAEJPAEKJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
+; public: long __thiscall CWbemSmartEnumNextPacket::MarshalPacket(long,struct IWbemClassObject * *,struct _GUID *,int *)
+?MarshalPacket@CWbemSmartEnumNextPacket@@QAEJJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
+; public: long __thiscall CWbemSmartEnumNextPacket::MarshalPacket(unsigned char *,unsigned long,long,struct IWbemClassObject * *,struct _GUID *,int *)
+?MarshalPacket@CWbemSmartEnumNextPacket@@QAEJPAEKJPAPAUIWbemClassObject@@PAU_GUID@@PAH@Z
+; public: static int __stdcall CSystemProperties::MaxNumProperties(void)
+?MaxNumProperties@CSystemProperties@@SGHXZ
+; public: static unsigned char * __stdcall CBasicQualifierSet::Merge(unsigned char *,class CFastHeap *,unsigned char *,class CFastHeap *,unsigned char *,class CFastHeap *,int)
+?Merge@CBasicQualifierSet@@SGPAEPAEPAVCFastHeap@@0101H@Z
+; public: static unsigned char * __stdcall CClassAndMethods::Merge(class CClassAndMethods &,class CClassAndMethods &,unsigned char *,int)
+?Merge@CClassAndMethods@@SGPAEAAV1@0PAEH@Z
+; public: static unsigned char * __stdcall CClassPart::Merge(class CClassPart &,class CClassPart &,unsigned char *,int)
+?Merge@CClassPart@@SGPAEAAV1@0PAEH@Z
+; public: static unsigned char * __stdcall CDataTable::Merge(class CDataTable *,class CFastHeap *,class CDataTable *,class CFastHeap *,class CPropertyLookupTable *,unsigned char *,class CFastHeap *)
+?Merge@CDataTable@@SGPAEPAV1@PAVCFastHeap@@01PAVCPropertyLookupTable@@PAE1@Z
+; public: static unsigned char * __stdcall CDerivationList::Merge(class CCompressedStringList &,class CCompressedStringList &,unsigned char *)
+?Merge@CDerivationList@@SGPAEAAVCCompressedStringList@@0PAE@Z
+; public: static unsigned char * __stdcall CMethodPart::Merge(class CMethodPart &,class CMethodPart &,unsigned char *,unsigned long)
+?Merge@CMethodPart@@SGPAEAAV1@0PAEK@Z
+; public: static unsigned char * __stdcall CPropertyLookupTable::Merge(class CPropertyLookupTable *,class CFastHeap *,class CPropertyLookupTable *,class CFastHeap *,unsigned char *,class CFastHeap *,int)
+?Merge@CPropertyLookupTable@@SGPAEPAV1@PAVCFastHeap@@01PAE1H@Z
+; public: unsigned char * __thiscall CWbemClass::Merge(unsigned char *,unsigned char *,int,int)
+?Merge@CWbemClass@@QAEPAEPAE0HH@Z
+; public: virtual long __stdcall CWbemClass::Merge(long,unsigned long,void *,struct _IWmiObject * *)
+?Merge@CWbemClass@@UAGJJKPAXPAPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemInstance::Merge(long,unsigned long,void *,struct _IWmiObject * *)
+?Merge@CWbemInstance@@UAGJJKPAXPAPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemObject::MergeAmended(long,struct _IWmiObject *)
+?MergeAmended@CWbemObject@@UAGJJPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemClass::MergeAndDecorate(long,unsigned long,void *,unsigned short *,unsigned short *,struct _IWmiObject * *)
+?MergeAndDecorate@CWbemClass@@UAGJJKPAXPAG1PAPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemInstance::MergeAndDecorate(long,unsigned long,void *,unsigned short *,unsigned short *,struct _IWmiObject * *)
+?MergeAndDecorate@CWbemInstance@@UAGJJKPAXPAG1PAPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemClass::MergeClassPart(struct IWbemClassObject *)
+?MergeClassPart@CWbemClass@@UAGJPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemInstance::MergeClassPart(struct IWbemClassObject *)
+?MergeClassPart@CWbemInstance@@UAGJPAUIWbemClassObject@@@Z
+; public: bool __thiscall CCompressedString::NValidateSize(int)const 
+?NValidateSize@CCompressedString@@QBE_NH@Z
+; public: static class CWbemCallSecurity * __stdcall CWbemCallSecurity::New(void)
+?New@CWbemCallSecurity@@SGPAV1@XZ
+; public: static class CWbemThreadSecurityHandle * __stdcall CWbemThreadSecurityHandle::New(void)
+?New@CWbemThreadSecurityHandle@@SGPAV1@XZ
+; public: virtual long __stdcall CQualifierSet::Next(long,unsigned short * *,struct tagVARIANT *,long *)
+?Next@CQualifierSet@@UAGJJPAPAGPAUtagVARIANT@@PAJ@Z
+; public: virtual long __stdcall CWbemObject::Next(long,unsigned short * *,struct tagVARIANT *,long *,long *)
+?Next@CWbemObject@@UAGJJPAPAGPAUtagVARIANT@@PAJ2@Z
+; public: int __thiscall CLimitationMapping::NextMapping(class CPropertyInformation *,class CPropertyInformation *)
+?NextMapping@CLimitationMapping@@QAEHPAVCPropertyInformation@@0@Z
+; public: virtual long __stdcall CWbemClass::NextMethod(long,unsigned short * *,struct IWbemClassObject * *,struct IWbemClassObject * *)
+?NextMethod@CWbemClass@@UAGJJPAPAGPAPAUIWbemClassObject@@1@Z
+; public: virtual long __stdcall CWbemInstance::NextMethod(long,unsigned short * *,struct IWbemClassObject * *,struct IWbemClassObject * *)
+?NextMethod@CWbemInstance@@UAGJJPAPAGPAPAUIWbemClassObject@@1@Z
+; public: long __thiscall CWbemInstance::PlugKeyHoles(void)
+?PlugKeyHoles@CWbemInstance@@QAEJXZ
+; public: virtual long __stdcall CQualifierSet::Put(unsigned short const *,struct tagVARIANT *,long)
+?Put@CQualifierSet@@UAGJPBGPAUtagVARIANT@@J@Z
+; public: virtual long __stdcall CWbemClass::Put(unsigned short const *,long,struct tagVARIANT *,long)
+?Put@CWbemClass@@UAGJPBGJPAUtagVARIANT@@J@Z
+; public: virtual long __stdcall CWbemInstance::Put(unsigned short const *,long,struct tagVARIANT *,long)
+?Put@CWbemInstance@@UAGJPBGJPAUtagVARIANT@@J@Z
+; public: long __thiscall CMethodPart::PutMethod(unsigned short const *,long,class CWbemObject *,class CWbemObject *)
+?PutMethod@CMethodPart@@QAEJPBGJPAVCWbemObject@@1@Z
+; public: virtual long __stdcall CWbemClass::PutMethod(unsigned short const *,long,struct IWbemClassObject *,struct IWbemClassObject *)
+?PutMethod@CWbemClass@@UAGJPBGJPAUIWbemClassObject@@1@Z
+; public: virtual long __stdcall CWbemInstance::PutMethod(unsigned short const *,long,struct IWbemClassObject *,struct IWbemClassObject *)
+?PutMethod@CWbemInstance@@UAGJPBGJPAUIWbemClassObject@@1@Z
+; public: virtual long __stdcall CWbemCallSecurity::QueryBlanket(unsigned long *,unsigned long *,unsigned short * *,unsigned long *,unsigned long *,void * *,unsigned long *)
+?QueryBlanket@CWbemCallSecurity@@UAGJPAK0PAPAG00PAPAX0@Z
+; public: virtual long __stdcall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CQualifierSet::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CQualifierSet@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CWbemCallSecurity::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CWbemCallSecurity@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CWbemObject::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CWbemObject@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CWbemThreadSecurityHandle::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CWbemThreadSecurityHandle@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CWbemObject::QueryObjectFlags(long,unsigned __int64,unsigned __int64 *)
+?QueryObjectFlags@CWbemObject@@UAGJJ_KPA_K@Z
+; public: virtual long __stdcall CWbemObject::QueryPartInfo(unsigned long *)
+?QueryPartInfo@CWbemObject@@UAGJPAK@Z
+; public: virtual long __stdcall CWbemObject::QueryPropertyFlags(long,unsigned short const *,unsigned __int64,unsigned __int64 *)
+?QueryPropertyFlags@CWbemObject@@UAGJJPBG_KPA_K@Z
+; public: virtual long __stdcall CWbemObject::ReadDWORD(long,unsigned long *)
+?ReadDWORD@CWbemObject@@UAGJJPAK@Z
+; public: virtual long __stdcall CWbemObject::ReadProp(unsigned short const *,long,unsigned long,long *,long *,int *,unsigned long *,void *)
+?ReadProp@CWbemObject@@UAGJPBGJKPAJ1PAHPAKPAX@Z
+; public: virtual long __stdcall CWbemObject::ReadPropertyValue(long,long,long *,unsigned char *)
+?ReadPropertyValue@CWbemObject@@UAGJJJPAJPAE@Z
+; public: virtual long __stdcall CWbemObject::ReadQWORD(long,unsigned __int64 *)
+?ReadQWORD@CWbemObject@@UAGJJPA_K@Z
+; public: int __thiscall CClassPart::ReallocAndCompact(unsigned long)
+?ReallocAndCompact@CClassPart@@QAEHK@Z
+; public: int __thiscall CInstancePart::ReallocAndCompact(unsigned long)
+?ReallocAndCompact@CInstancePart@@QAEHK@Z
+; protected: static long __stdcall CUntypedArray::ReallocArray(class CPtrSource *,unsigned long,class CFastHeap *,unsigned long,unsigned long *,unsigned long *,unsigned long *)
+?ReallocArray@CUntypedArray@@KGJPAVCPtrSource@@KPAVCFastHeap@@KPAK22@Z
+; public: int __thiscall CFastHeap::Reallocate(unsigned long,unsigned long,unsigned long,unsigned long &)
+?Reallocate@CFastHeap@@QAEHKKKAAK@Z
+; protected: unsigned char * __thiscall CWbemObject::Reallocate(unsigned long)
+?Reallocate@CWbemObject@@IAEPAEK@Z
+; public: void __thiscall CBasicQualifierSet::Rebase(unsigned char *)
+?Rebase@CBasicQualifierSet@@QAEXPAE@Z
+; public: void __thiscall CClassAndMethods::Rebase(unsigned char *)
+?Rebase@CClassAndMethods@@QAEXPAE@Z
+; public: void __thiscall CClassPart::Rebase(unsigned char *)
+?Rebase@CClassPart@@QAEXPAE@Z
+; public: void __thiscall CCompressedStringList::Rebase(unsigned char *)
+?Rebase@CCompressedStringList@@QAEXPAE@Z
+; public: void __thiscall CDataTable::Rebase(unsigned char *)
+?Rebase@CDataTable@@QAEXPAE@Z
+; public: void __thiscall CDecorationPart::Rebase(unsigned char *)
+?Rebase@CDecorationPart@@QAEXPAE@Z
+; public: void __thiscall CFastHeap::Rebase(unsigned char *)
+?Rebase@CFastHeap@@QAEXPAE@Z
+; public: void __thiscall CInstancePart::Rebase(unsigned char *)
+?Rebase@CInstancePart@@QAEXPAE@Z
+; public: void __thiscall CMethodPart::Rebase(unsigned char *)
+?Rebase@CMethodPart@@QAEXPAE@Z
+; public: void __thiscall CPropertyLookupTable::Rebase(unsigned char *)
+?Rebase@CPropertyLookupTable@@QAEXPAE@Z
+; public: void __thiscall CQualifierSetList::Rebase(unsigned char *)
+?Rebase@CQualifierSetList@@QAEXPAE@Z
+; public: void __thiscall CQualifierSetList::Rebase(void)
+?Rebase@CQualifierSetList@@QAEXXZ
+; public: void __thiscall CWbemClass::Rebase(unsigned char *)
+?Rebase@CWbemClass@@QAEXPAE@Z
+; public: void __thiscall CWbemInstance::Rebase(unsigned char *)
+?Rebase@CWbemInstance@@QAEXPAE@Z
+; public: void __thiscall CInstancePQSContainer::RebaseSecondarySet(void)
+?RebaseSecondarySet@CInstancePQSContainer@@QAEXXZ
+; public: enum EReconciliation  __thiscall CClassAndMethods::ReconcileWith(class CClassAndMethods &)
+?ReconcileWith@CClassAndMethods@@QAE?AW4EReconciliation@@AAV1@@Z
+; public: enum EReconciliation  __thiscall CClassPart::ReconcileWith(class CClassPart &)
+?ReconcileWith@CClassPart@@QAE?AW4EReconciliation@@AAV1@@Z
+; public: enum EReconciliation  __thiscall CMethodPart::ReconcileWith(class CMethodPart &)
+?ReconcileWith@CMethodPart@@QAE?AW4EReconciliation@@AAV1@@Z
+; public: enum EReconciliation  __thiscall CWbemClass::ReconcileWith(class CWbemClass *)
+?ReconcileWith@CWbemClass@@QAE?AW4EReconciliation@@PAV1@@Z
+; public: virtual long __stdcall CWbemClass::ReconcileWith(long,struct _IWmiObject *)
+?ReconcileWith@CWbemClass@@UAGJJPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemInstance::ReconcileWith(long,struct _IWmiObject *)
+?ReconcileWith@CWbemInstance@@UAGJJPAU_IWmiObject@@@Z
+; protected: virtual long __thiscall CWbemRefreshingSvc::ReconnectRemoteRefresher(struct _WBEM_REFRESHER_ID *,long,long,unsigned long,struct _WBEM_RECONNECT_INFO *,struct _WBEM_RECONNECT_RESULTS *,unsigned long *)
+?ReconnectRemoteRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@JJKPAU_WBEM_RECONNECT_INFO@@PAU_WBEM_RECONNECT_RESULTS@@PAK@Z
+; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::ReconnectRemoteRefresher(struct _WBEM_REFRESHER_ID *,long,long,unsigned long,struct _WBEM_RECONNECT_INFO *,struct _WBEM_RECONNECT_RESULTS *,unsigned long *)
+?ReconnectRemoteRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@JJKPAU_WBEM_RECONNECT_INFO@@PAU_WBEM_RECONNECT_RESULTS@@PAK@Z
+; public: void __thiscall CFastHeap::Reduce(unsigned long,unsigned long,unsigned long)
+?Reduce@CFastHeap@@QAEXKKK@Z
+; public: void __thiscall CWbemClass::ReduceClassAndMethodsSpace(unsigned long)
+?ReduceClassAndMethodsSpace@CWbemClass@@QAEXK@Z
+; public: virtual void __thiscall CClassAndMethods::ReduceClassPartSpace(class CClassPart *,unsigned long)
+?ReduceClassPartSpace@CClassAndMethods@@UAEXPAVCClassPart@@K@Z
+; public: virtual void __thiscall CWbemInstance::ReduceClassPartSpace(class CClassPart *,unsigned long)
+?ReduceClassPartSpace@CWbemInstance@@UAEXPAVCClassPart@@K@Z
+; public: virtual void __thiscall CClassPart::ReduceDataTableSpace(unsigned char *,unsigned long,unsigned long)
+?ReduceDataTableSpace@CClassPart@@UAEXPAEKK@Z
+; public: virtual void __thiscall CInstancePart::ReduceDataTableSpace(unsigned char *,unsigned long,unsigned long)
+?ReduceDataTableSpace@CInstancePart@@UAEXPAEKK@Z
+; public: virtual void __thiscall CClassPart::ReduceHeapSize(unsigned char *,unsigned long,unsigned long)
+?ReduceHeapSize@CClassPart@@UAEXPAEKK@Z
+; public: virtual void __thiscall CInstancePart::ReduceHeapSize(unsigned char *,unsigned long,unsigned long)
+?ReduceHeapSize@CInstancePart@@UAEXPAEKK@Z
+; public: virtual void __thiscall CMethodPart::ReduceHeapSize(unsigned char *,unsigned long,unsigned long)
+?ReduceHeapSize@CMethodPart@@UAEXPAEKK@Z
+; public: virtual void __thiscall CWbemInstance::ReduceInstancePartSpace(class CInstancePart *,unsigned long)
+?ReduceInstancePartSpace@CWbemInstance@@UAEXPAVCInstancePart@@K@Z
+; public: virtual void __thiscall CClassAndMethods::ReduceMethodPartSpace(class CMethodPart *,unsigned long)
+?ReduceMethodPartSpace@CClassAndMethods@@UAEXPAVCMethodPart@@K@Z
+; public: virtual void __thiscall CClassPart::ReducePropertyTableSpace(unsigned char *,unsigned long,unsigned long)
+?ReducePropertyTableSpace@CClassPart@@UAEXPAEKK@Z
+; public: virtual void __thiscall CInstancePart::ReduceQualifierSetListSpace(unsigned char *,unsigned long,unsigned long)
+?ReduceQualifierSetListSpace@CInstancePart@@UAEXPAEKK@Z
+; public: virtual void __thiscall CClassPart::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ReduceQualifierSetSpace@CClassPart@@UAEXPAVCBasicQualifierSet@@K@Z
+; public: virtual void __thiscall CInstancePQSContainer::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ReduceQualifierSetSpace@CInstancePQSContainer@@UAEXPAVCBasicQualifierSet@@K@Z
+; public: virtual void __thiscall CInstancePart::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ReduceQualifierSetSpace@CInstancePart@@UAEXPAVCBasicQualifierSet@@K@Z
+; public: virtual void __thiscall CMethodQualifierSetContainer::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ReduceQualifierSetSpace@CMethodQualifierSetContainer@@UAEXPAVCBasicQualifierSet@@K@Z
+; public: void __thiscall CQualifierSetList::ReduceQualifierSetSpace(class CBasicQualifierSet *,unsigned long)
+?ReduceQualifierSetSpace@CQualifierSetList@@QAEXPAVCBasicQualifierSet@@K@Z
+; public: virtual unsigned long __stdcall CImpl<struct IWbemObjectTextSrc,class CWmiObjectTextSrc>::Release(void)
+?Release@?$CImpl@UIWbemObjectTextSrc@@VCWmiObjectTextSrc@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct IWbemRefreshingServices,class CWbemRefreshingSvc>::Release(void)
+?Release@?$CImpl@UIWbemRefreshingServices@@VCWbemRefreshingSvc@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct IWbemRemoteRefresher,class CWbemRemoteRefresher>::Release(void)
+?Release@?$CImpl@UIWbemRemoteRefresher@@VCWbemRemoteRefresher@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct _IWbemConfigureRefreshingSvcs,class CWbemRefreshingSvc>::Release(void)
+?Release@?$CImpl@U_IWbemConfigureRefreshingSvcs@@VCWbemRefreshingSvc@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct _IWbemEnumMarshaling,class CWbemEnumMarshaling>::Release(void)
+?Release@?$CImpl@U_IWbemEnumMarshaling@@VCWbemEnumMarshaling@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct _IWbemFetchRefresherMgr,class CWbemFetchRefrMgr>::Release(void)
+?Release@?$CImpl@U_IWbemFetchRefresherMgr@@VCWbemFetchRefrMgr@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CImpl<struct _IWmiObjectFactory,class CWmiObjectFactory>::Release(void)
+?Release@?$CImpl@U_IWmiObjectFactory@@VCWmiObjectFactory@@@@UAGKXZ
+; public: virtual unsigned long __stdcall CClassQualifierSet::Release(void)
+?Release@CClassQualifierSet@@UAGKXZ
+; public: virtual unsigned long __stdcall CInstanceQualifierSet::Release(void)
+?Release@CInstanceQualifierSet@@UAGKXZ
+; public: virtual unsigned long __stdcall CMethodQualifierSet::Release(void)
+?Release@CMethodQualifierSet@@UAGKXZ
+; public: virtual unsigned long __stdcall CQualifierSet::Release(void)
+?Release@CQualifierSet@@UAGKXZ
+; public: virtual unsigned long __stdcall CWbemCallSecurity::Release(void)
+?Release@CWbemCallSecurity@@UAGKXZ
+; public: virtual unsigned long __stdcall CWbemObject::Release(void)
+?Release@CWbemObject@@UAGKXZ
+; public: virtual unsigned long __stdcall CWbemThreadSecurityHandle::Release(void)
+?Release@CWbemThreadSecurityHandle@@UAGKXZ
+; protected: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::ReleaseElement(class CFastPropertyBagItem *)
+?ReleaseElement@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@IAEXPAVCFastPropertyBagItem@@@Z
+; protected: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::ReleaseElement(class CWmiTextSource *)
+?ReleaseElement@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@IAEXPAVCWmiTextSource@@@Z
+; public: virtual long __stdcall CWbemObject::ReleaseMarshalData(struct IStream *)
+?ReleaseMarshalData@CWbemObject@@UAGJPAUIStream@@@Z
+; public: virtual long __stdcall CWbemRemoteRefresher::XWbemRemoteRefr::RemoteRefresh(long,long *,struct _WBEM_REFRESHED_OBJECT * *)
+?RemoteRefresh@XWbemRemoteRefr@CWbemRemoteRefresher@@UAGJJPAJPAPAU_WBEM_REFRESHED_OBJECT@@@Z
+; public: long __thiscall CFastPropertyBag::Remove(unsigned short const *)
+?Remove@CFastPropertyBag@@QAEJPBG@Z
+; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::RemoveAll(void)
+?RemoveAll@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXXZ
+; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::RemoveAll(void)
+?RemoveAll@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXXZ
+; public: long __thiscall CFastPropertyBag::RemoveAll(void)
+?RemoveAll@CFastPropertyBag@@QAEJXZ
+; public: virtual long __stdcall CWbemObject::RemoveArrayPropElementByHandle(long,long,unsigned long)
+?RemoveArrayPropElementByHandle@CWbemObject@@UAGJJJK@Z
+; public: virtual long __stdcall CWbemObject::RemoveArrayPropRangeByHandle(long,long,unsigned long,unsigned long)
+?RemoveArrayPropRangeByHandle@CWbemObject@@UAGJJJKK@Z
+; public: bool __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::RemoveAt(int,class CFastPropertyBagItem * *)
+?RemoveAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAE_NHPAPAVCFastPropertyBagItem@@@Z
+; public: bool __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::RemoveAt(int,class CWmiTextSource * *)
+?RemoveAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAE_NHPAPAVCWmiTextSource@@@Z
+; public: virtual long __stdcall CWbemObject::RemoveDecoration(void)
+?RemoveDecoration@CWbemObject@@UAGJXZ
+; protected: virtual long __thiscall CWbemRefreshingSvc::RemoveObjectFromRefresher(struct _WBEM_REFRESHER_ID *,long,long,unsigned long,unsigned long *)
+?RemoveObjectFromRefresher@CWbemRefreshingSvc@@MAEJPAU_WBEM_REFRESHER_ID@@JJKPAK@Z
+; public: virtual long __stdcall CWbemRefreshingSvc::XWbemRefrSvc::RemoveObjectFromRefresher(struct _WBEM_REFRESHER_ID *,long,long,unsigned long,unsigned long *)
+?RemoveObjectFromRefresher@XWbemRefrSvc@CWbemRefreshingSvc@@UAGJPAU_WBEM_REFRESHER_ID@@JJKPAK@Z
+; public: void __thiscall CDataTable::RemoveProperty(unsigned short,unsigned long,unsigned long)
+?RemoveProperty@CDataTable@@QAEXGKK@Z
+; public: long __thiscall CWbemObject::RemoveQualifierArrayRange(unsigned short const *,unsigned short const *,int,long,unsigned long,unsigned long)
+?RemoveQualifierArrayRange@CWbemObject@@QAEJPBG0HJKK@Z
+; public: static long __stdcall CUntypedArray::RemoveRange(class CPtrSource *,unsigned long,unsigned long,class CFastHeap *,unsigned long,unsigned long)
+?RemoveRange@CUntypedArray@@SGJPAVCPtrSource@@KKPAVCFastHeap@@KK@Z
+; public: void __thiscall CLimitationMapping::RemoveSpecific(void)
+?RemoveSpecific@CLimitationMapping@@QAEXXZ
+; public: long __thiscall CWbemInstance::Reparent(class CWbemClass *,class CWbemInstance * *)
+?Reparent@CWbemInstance@@QAEJPAVCWbemClass@@PAPAV1@@Z
+; public: void __thiscall CCompressedStringList::Reset(void)
+?Reset@CCompressedStringList@@QAEXXZ
+; public: void __thiscall CLimitationMapping::Reset(void)
+?Reset@CLimitationMapping@@QAEXXZ
+; protected: long __thiscall CWbemRefreshingSvc::ResetRefreshInfo(struct _WBEM_REFRESH_INFO *)
+?ResetRefreshInfo@CWbemRefreshingSvc@@IAEJPAU_WBEM_REFRESH_INFO@@@Z
+; public: unsigned char * __thiscall CClassPart::ResolveHeapPointer(unsigned long)
+?ResolveHeapPointer@CClassPart@@QAEPAEK@Z
+; public: unsigned char * __thiscall CFastHeap::ResolveHeapPointer(unsigned long)
+?ResolveHeapPointer@CFastHeap@@QAEPAEK@Z
+; public: class CCompressedString * __thiscall CClassPart::ResolveHeapString(unsigned long)
+?ResolveHeapString@CClassPart@@QAEPAVCCompressedString@@K@Z
+; public: class CCompressedString * __thiscall CFastHeap::ResolveString(unsigned long)
+?ResolveString@CFastHeap@@QAEPAVCCompressedString@@K@Z
+; public: virtual long __stdcall CWbemCallSecurity::RevertToSelf(void)
+?RevertToSelf@CWbemCallSecurity@@UAGJXZ
+; public: int __thiscall CQualifierSet::SelfRebase(void)
+?SelfRebase@CQualifierSet@@QAEHXZ
+; public: long __thiscall CInstancePart::SetActualValue(class CPropertyInformation *,class CVar *)
+?SetActualValue@CInstancePart@@QAEJPAVCPropertyInformation@@PAVCVar@@@Z
+; public: void __thiscall CLimitationMapping::SetAddChildKeys(int)
+?SetAddChildKeys@CLimitationMapping@@QAEXH@Z
+; public: void __thiscall CDataTable::SetAllToDefault(void)
+?SetAllToDefault@CDataTable@@QAEXXZ
+; public: void __thiscall CFastHeap::SetAllocatedDataLength(unsigned long)
+?SetAllocatedDataLength@CFastHeap@@QAEXK@Z
+; public: virtual long __stdcall CWbemObject::SetArrayPropElementByHandle(long,long,unsigned long,unsigned long,void *)
+?SetArrayPropElementByHandle@CWbemObject@@UAGJJJKKPAX@Z
+; public: virtual long __stdcall CWbemObject::SetArrayPropRangeByHandle(long,long,unsigned long,unsigned long,unsigned long,void *)
+?SetArrayPropRangeByHandle@CWbemObject@@UAGJJJKKKPAX@Z
+; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::SetAt(int,class CFastPropertyBagItem *,class CFastPropertyBagItem * *)
+?SetAt@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXHPAVCFastPropertyBagItem@@PAPAV2@@Z
+; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::SetAt(int,class CWmiTextSource *,class CWmiTextSource * *)
+?SetAt@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXHPAVCWmiTextSource@@PAPAV2@@Z
+; public: long __thiscall CClassPart::SetClassName(class CVar *)
+?SetClassName@CClassPart@@QAEJPAVCVar@@@Z
+; public: void __thiscall CLimitationMapping::SetClassObject(class CWbemClass *)
+?SetClassObject@CLimitationMapping@@QAEXPAVCWbemClass@@@Z
+; public: virtual long __stdcall CWbemClass::SetClassPart(void *,unsigned long)
+?SetClassPart@CWbemClass@@UAGJPAXK@Z
+; public: virtual long __stdcall CWbemInstance::SetClassPart(void *,unsigned long)
+?SetClassPart@CWbemInstance@@UAGJPAXK@Z
+; public: long __thiscall CClassPart::SetClassQualifier(unsigned short const *,long,class CTypedValue *)
+?SetClassQualifier@CClassPart@@QAEJPBGJPAVCTypedValue@@@Z
+; public: long __thiscall CClassPart::SetClassQualifier(unsigned short const *,class CVar *,long)
+?SetClassQualifier@CClassPart@@QAEJPBGPAVCVar@@J@Z
+; public: void __thiscall CDecorationPart::SetClientOnly(void)
+?SetClientOnly@CDecorationPart@@QAEXXZ
+; public: void __thiscall CWbemObject::SetClientOnly(void)
+?SetClientOnly@CWbemObject@@QAEXXZ
+; public: void __thiscall CFastHeap::SetContainer(class CHeapContainer *)
+?SetContainer@CFastHeap@@QAEXPAVCHeapContainer@@@Z
+; public: void __thiscall CBasicQualifierSet::SetData(unsigned char *,class CFastHeap *)
+?SetData@CBasicQualifierSet@@QAEXPAEPAVCFastHeap@@@Z
+; public: void __thiscall CClassAndMethods::SetData(unsigned char *,class CWbemClass *,class CClassAndMethods *)
+?SetData@CClassAndMethods@@QAEXPAEPAVCWbemClass@@PAV1@@Z
+; public: void __thiscall CClassPart::SetData(unsigned char *,class CClassPartContainer *,class CClassPart *)
+?SetData@CClassPart@@QAEXPAEPAVCClassPartContainer@@PAV1@@Z
+; public: void __thiscall CCompressedStringList::SetData(unsigned char *)
+?SetData@CCompressedStringList@@QAEXPAE@Z
+; public: void __thiscall CDataTable::SetData(unsigned char *,int,int,class CDataTableContainer *)
+?SetData@CDataTable@@QAEXPAEHHPAVCDataTableContainer@@@Z
+; public: void __thiscall CDecorationPart::SetData(unsigned char *)
+?SetData@CDecorationPart@@QAEXPAE@Z
+; public: int __thiscall CFastHeap::SetData(unsigned char *,class CHeapContainer *)
+?SetData@CFastHeap@@QAEHPAEPAVCHeapContainer@@@Z
+; public: void __thiscall CInstancePart::SetData(unsigned char *,class CInstancePartContainer *,class CClassPart &,unsigned int)
+?SetData@CInstancePart@@QAEXPAEPAVCInstancePartContainer@@AAVCClassPart@@I@Z
+; public: void __thiscall CMethodPart::SetData(unsigned char *,class CMethodPartContainer *,class CMethodPart *)
+?SetData@CMethodPart@@QAEXPAEPAVCMethodPartContainer@@PAV1@@Z
+; public: void __thiscall CMethodQualifierSet::SetData(class CMethodPart *,class CMethodPart *,unsigned short const *)
+?SetData@CMethodQualifierSet@@QAEXPAVCMethodPart@@0PBG@Z
+; public: void __thiscall CMethodQualifierSetContainer::SetData(class CMethodPart *,class CMethodPart *,unsigned short const *)
+?SetData@CMethodQualifierSetContainer@@QAEXPAVCMethodPart@@0PBG@Z
+; public: void __thiscall CPropertyLookupTable::SetData(unsigned char *,class CPropertyTableContainer *)
+?SetData@CPropertyLookupTable@@QAEXPAEPAVCPropertyTableContainer@@@Z
+; public: void __thiscall CQualifierSet::SetData(unsigned char *,class CQualifierSetContainer *,class CBasicQualifierSet *)
+?SetData@CQualifierSet@@QAEXPAEPAVCQualifierSetContainer@@PAVCBasicQualifierSet@@@Z
+; public: void __thiscall CQualifierSetList::SetData(unsigned char *,int,class CQualifierSetListContainer *)
+?SetData@CQualifierSetList@@QAEXPAEHPAVCQualifierSetListContainer@@@Z
+; public: void __thiscall CSharedLock::SetData(struct SHARED_LOCK_DATA *)
+?SetData@CSharedLock@@QAEXPAUSHARED_LOCK_DATA@@@Z
+; public: virtual void __thiscall CWbemClass::SetData(unsigned char *,int)
+?SetData@CWbemClass@@UAEXPAEH@Z
+; public: void __thiscall CWbemDataPacket::SetData(unsigned char *,unsigned long,bool)
+?SetData@CWbemDataPacket@@QAEXPAEK_N@Z
+; public: void __thiscall CWbemInstance::SetData(unsigned char *,int,unsigned long)
+?SetData@CWbemInstance@@QAEXPAEHK@Z
+; public: virtual void __thiscall CWbemInstance::SetData(unsigned char *,int)
+?SetData@CWbemInstance@@UAEXPAEH@Z
+; public: void __thiscall CWbemMtgtDeliverEventPacket::SetData(unsigned char *,unsigned long,bool)
+?SetData@CWbemMtgtDeliverEventPacket@@QAEXPAEK_N@Z
+; public: void __thiscall CWbemObjectArrayPacket::SetData(unsigned char *,unsigned long,bool)
+?SetData@CWbemObjectArrayPacket@@QAEXPAEK_N@Z
+; public: void __thiscall CWbemSmartEnumNextPacket::SetData(unsigned char *,unsigned long,bool)
+?SetData@CWbemSmartEnumNextPacket@@QAEXPAEK_N@Z
+; protected: static void __stdcall CBasicQualifierSet::SetDataLength(unsigned char *,unsigned long)
+?SetDataLength@CBasicQualifierSet@@KGXPAEK@Z
+; public: void __thiscall CClassPart::SetDataLength(unsigned long)
+?SetDataLength@CClassPart@@QAEXK@Z
+; public: void __thiscall CInstancePart::SetDataLength(unsigned long)
+?SetDataLength@CInstancePart@@QAEXK@Z
+; public: static void __stdcall CBasicQualifierSet::SetDataToNone(unsigned char *)
+?SetDataToNone@CBasicQualifierSet@@SGXPAE@Z
+; public: void __thiscall CClassAndMethods::SetDataWithNumProps(unsigned char *,class CWbemClass *,unsigned long,class CClassAndMethods *)
+?SetDataWithNumProps@CClassAndMethods@@QAEXPAEPAVCWbemClass@@KPAV1@@Z
+; public: void __thiscall CClassPart::SetDataWithNumProps(unsigned char *,class CClassPartContainer *,unsigned long,class CClassPart *)
+?SetDataWithNumProps@CClassPart@@QAEXPAEPAVCClassPartContainer@@KPAV1@@Z
+; public: virtual long __stdcall CWbemObject::SetDecoration(unsigned short const *,unsigned short const *)
+?SetDecoration@CWbemObject@@UAGJPBG0@Z
+; protected: long __thiscall CClassPart::SetDefaultValue(class CPropertyInformation *,class CVar *)
+?SetDefaultValue@CClassPart@@IAEJPAVCPropertyInformation@@PAVCVar@@@Z
+; public: long __thiscall CClassPart::SetDefaultValue(unsigned short const *,class CVar *)
+?SetDefaultValue@CClassPart@@QAEJPBGPAVCVar@@@Z
+; public: void __thiscall CDataTable::SetDefaultness(int,int)
+?SetDefaultness@CDataTable@@QAEXHH@Z
+; public: void __thiscall CLimitationMapping::SetFlags(long)
+?SetFlags@CLimitationMapping@@QAEXJ@Z
+; public: void __thiscall CCompressedString::SetFromAscii(char const *,unsigned int)
+?SetFromAscii@CCompressedString@@QAEXPBDI@Z
+; public: void __thiscall CCompressedString::SetFromUnicode(int,unsigned short const *)
+?SetFromUnicode@CCompressedString@@QAEXHPBG@Z
+; public: void __thiscall CCompressedString::SetFromUnicode(unsigned short const *)
+?SetFromUnicode@CCompressedString@@QAEXPBG@Z
+; protected: void __thiscall CFastHeap::SetInLineLength(unsigned long)
+?SetInLineLength@CFastHeap@@IAEXK@Z
+; public: void __thiscall CLimitationMapping::SetIncludeDerivation(int)
+?SetIncludeDerivation@CLimitationMapping@@QAEXH@Z
+; public: void __thiscall CLimitationMapping::SetIncludeNamespace(int)
+?SetIncludeNamespace@CLimitationMapping@@QAEXH@Z
+; public: void __thiscall CLimitationMapping::SetIncludeServer(int)
+?SetIncludeServer@CLimitationMapping@@QAEXH@Z
+; public: long __thiscall CClassPart::SetInheritanceChain(long,unsigned short * *)
+?SetInheritanceChain@CClassPart@@QAEJJPAPAG@Z
+; public: virtual long __stdcall CWbemClass::SetInheritanceChain(long,unsigned short * *)
+?SetInheritanceChain@CWbemClass@@UAGJJPAPAG@Z
+; public: virtual long __stdcall CWbemInstance::SetInheritanceChain(long,unsigned short * *)
+?SetInheritanceChain@CWbemInstance@@UAGJJPAPAG@Z
+; public: long __thiscall CInstancePart::SetInstanceQualifier(unsigned short const *,long,class CTypedValue *)
+?SetInstanceQualifier@CInstancePart@@QAEJPBGJPAVCTypedValue@@@Z
+; public: long __thiscall CInstancePart::SetInstanceQualifier(unsigned short const *,class CVar *,long)
+?SetInstanceQualifier@CInstancePart@@QAEJPBGPAVCVar@@J@Z
+; public: void __thiscall CFixedBSTRArray::SetLength(int)
+?SetLength@CFixedBSTRArray@@QAEXH@Z
+; public: void __thiscall CDecorationPart::SetLimited(void)
+?SetLimited@CDecorationPart@@QAEXXZ
+; public: void __thiscall CClassPart::SetLocalized(int)
+?SetLocalized@CClassPart@@QAEXH@Z
+; public: void __thiscall CInstancePart::SetLocalized(int)
+?SetLocalized@CInstancePart@@QAEXH@Z
+; public: virtual void __thiscall CWbemClass::SetLocalized(int)
+?SetLocalized@CWbemClass@@UAEXH@Z
+; public: virtual void __thiscall CWbemInstance::SetLocalized(int)
+?SetLocalized@CWbemInstance@@UAEXH@Z
+; public: long __thiscall CMethodPart::SetMethodOrigin(unsigned short const *,long)
+?SetMethodOrigin@CMethodPart@@QAEJPBGJ@Z
+; public: virtual long __stdcall CWbemClass::SetMethodOrigin(unsigned short const *,long)
+?SetMethodOrigin@CWbemClass@@UAGJPBGJ@Z
+; public: virtual long __stdcall CWbemInstance::SetMethodOrigin(unsigned short const *,long)
+?SetMethodOrigin@CWbemInstance@@UAGJPBGJ@Z
+; public: virtual long __stdcall CWbemObject::SetMethodQual(unsigned short const *,unsigned short const *,long,unsigned long,unsigned long,long,unsigned long,void *)
+?SetMethodQual@CWbemObject@@UAGJPBG0JKKJKPAX@Z
+; public: virtual long __thiscall CWbemClass::SetMethodQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
+?SetMethodQualifier@CWbemClass@@UAEJPBG0JPAVCTypedValue@@@Z
+; public: virtual long __thiscall CWbemClass::SetMethodQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
+?SetMethodQualifier@CWbemClass@@UAEJPBG0JPAVCVar@@@Z
+; public: virtual long __thiscall CWbemInstance::SetMethodQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
+?SetMethodQualifier@CWbemInstance@@UAEJPBG0JPAVCTypedValue@@@Z
+; public: virtual long __thiscall CWbemInstance::SetMethodQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
+?SetMethodQualifier@CWbemInstance@@UAEJPBG0JPAVCVar@@@Z
+; public: void __thiscall CDataTable::SetNullness(int,int)
+?SetNullness@CDataTable@@QAEXHH@Z
+; public: virtual long __stdcall CWbemObject::SetObjQual(unsigned short const *,long,unsigned long,unsigned long,long,unsigned long,void *)
+?SetObjQual@CWbemObject@@UAGJPBGJKKJKPAX@Z
+; public: virtual long __stdcall CWbemObject::SetObjectFlags(long,unsigned __int64,unsigned __int64)
+?SetObjectFlags@CWbemObject@@UAGJJ_K0@Z
+; public: virtual long __stdcall CWbemObject::SetObjectMemory(void *,unsigned long)
+?SetObjectMemory@CWbemObject@@UAGJPAXK@Z
+; public: virtual long __stdcall CWbemClass::SetObjectParts(void *,unsigned long,unsigned long)
+?SetObjectParts@CWbemClass@@UAGJPAXKK@Z
+; public: virtual long __stdcall CWbemInstance::SetObjectParts(void *,unsigned long,unsigned long)
+?SetObjectParts@CWbemInstance@@UAGJPAXKK@Z
+; public: void __thiscall CWbemThreadSecurityHandle::SetOrigin(enum tag_WMI_THREAD_SECURITY_ORIGIN)
+?SetOrigin@CWbemThreadSecurityHandle@@QAEXW4tag_WMI_THREAD_SECURITY_ORIGIN@@@Z
+; public: virtual long __stdcall CWbemObject::SetPropByHandle(long,long,unsigned long,void *)
+?SetPropByHandle@CWbemObject@@UAGJJJKPAX@Z
+; public: virtual long __stdcall CWbemObject::SetPropQual(unsigned short const *,unsigned short const *,long,unsigned long,unsigned long,long,unsigned long,void *)
+?SetPropQual@CWbemObject@@UAGJPBG0JKKJKPAX@Z
+; public: long __thiscall CClassPart::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
+?SetPropQualifier@CClassPart@@QAEJPBG0JPAVCTypedValue@@@Z
+; public: long __thiscall CClassPart::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
+?SetPropQualifier@CClassPart@@QAEJPBG0JPAVCVar@@@Z
+; public: virtual long __thiscall CWbemClass::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
+?SetPropQualifier@CWbemClass@@UAEJPBG0JPAVCTypedValue@@@Z
+; public: virtual long __thiscall CWbemClass::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
+?SetPropQualifier@CWbemClass@@UAEJPBG0JPAVCVar@@@Z
+; public: virtual long __thiscall CWbemInstance::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CTypedValue *)
+?SetPropQualifier@CWbemInstance@@UAEJPBG0JPAVCTypedValue@@@Z
+; public: virtual long __thiscall CWbemInstance::SetPropQualifier(unsigned short const *,unsigned short const *,long,class CVar *)
+?SetPropQualifier@CWbemInstance@@UAEJPBG0JPAVCVar@@@Z
+; public: virtual long __thiscall CWbemClass::SetPropValue(unsigned short const *,class CVar *,long)
+?SetPropValue@CWbemClass@@UAEJPBGPAVCVar@@J@Z
+; public: virtual long __thiscall CWbemInstance::SetPropValue(unsigned short const *,class CVar *,long)
+?SetPropValue@CWbemInstance@@UAEJPBGPAVCVar@@J@Z
+; public: long __thiscall CClassPart::SetPropertyOrigin(unsigned short const *,long)
+?SetPropertyOrigin@CClassPart@@QAEJPBGJ@Z
+; public: virtual long __stdcall CWbemClass::SetPropertyOrigin(unsigned short const *,long)
+?SetPropertyOrigin@CWbemClass@@UAGJPBGJ@Z
+; public: virtual long __stdcall CWbemInstance::SetPropertyOrigin(unsigned short const *,long)
+?SetPropertyOrigin@CWbemInstance@@UAGJPBGJ@Z
+; public: virtual long __thiscall CWbemClass::SetQualifier(unsigned short const *,long,class CTypedValue *)
+?SetQualifier@CWbemClass@@UAEJPBGJPAVCTypedValue@@@Z
+; public: virtual long __thiscall CWbemClass::SetQualifier(unsigned short const *,class CVar *,long)
+?SetQualifier@CWbemClass@@UAEJPBGPAVCVar@@J@Z
+; public: virtual long __thiscall CWbemInstance::SetQualifier(unsigned short const *,long,class CTypedValue *)
+?SetQualifier@CWbemInstance@@UAEJPBGJPAVCTypedValue@@@Z
+; public: virtual long __thiscall CWbemInstance::SetQualifier(unsigned short const *,class CVar *,long)
+?SetQualifier@CWbemInstance@@UAEJPBGPAVCVar@@J@Z
+; public: long __thiscall CWbemObject::SetQualifierArrayRange(unsigned short const *,unsigned short const *,int,long,unsigned long,long,unsigned long,unsigned long,unsigned long,void *)
+?SetQualifierArrayRange@CWbemObject@@QAEJPBG0HJKJKKKPAX@Z
+; public: long __thiscall CQualifierSet::SetQualifierValue(unsigned short const *,unsigned char,class CTypedValue *,int,int)
+?SetQualifierValue@CQualifierSet@@QAEJPBGEPAVCTypedValue@@HH@Z
+; public: static long __stdcall CUntypedArray::SetRange(class CPtrSource *,long,unsigned long,unsigned long,class CFastHeap *,unsigned long,unsigned long,unsigned long,void *)
+?SetRange@CUntypedArray@@SGJPAVCPtrSource@@JKKPAVCFastHeap@@KKKPAX@Z
+; public: void __thiscall CInstancePQSContainer::SetSecondarySetData(void)
+?SetSecondarySetData@CInstancePQSContainer@@QAEXXZ
+; public: virtual long __stdcall CWbemObject::SetServerNamespace(unsigned short const *,unsigned short const *)
+?SetServerNamespace@CWbemObject@@UAGJPBG0@Z
+; protected: virtual long __thiscall CWbemRefreshingSvc::SetServiceData(unsigned short *,unsigned short *)
+?SetServiceData@CWbemRefreshingSvc@@MAEJPAG0@Z
+; public: virtual long __stdcall CWbemRefreshingSvc::XCfgRefrSrvc::SetServiceData(unsigned short *,unsigned short *)
+?SetServiceData@XCfgRefrSrvc@CWbemRefreshingSvc@@UAGJPAG0@Z
+; public: void __thiscall CMethodDescription::SetSig(int,unsigned long)
+?SetSig@CMethodDescription@@QAEXHK@Z
+; protected: long __thiscall CMethodPart::SetSignature(int,enum METHOD_SIGNATURE_TYPE,class CWbemObject *)
+?SetSignature@CMethodPart@@IAEJHW4METHOD_SIGNATURE_TYPE@@PAVCWbemObject@@@Z
+; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::SetSize(int)
+?SetSize@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXH@Z
+; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::SetSize(int)
+?SetSize@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXH@Z
+; public: virtual long __stdcall CWbemCallSecurity::SetThreadSecurity(struct _IWmiThreadSecHandle *)
+?SetThreadSecurity@CWbemCallSecurity@@UAGJPAU_IWmiThreadSecHandle@@@Z
+; public: void __thiscall CFastHeap::SetUsedLength(unsigned long)
+?SetUsedLength@CFastHeap@@QAEXK@Z
+; public: void __thiscall CLimitationMapping::SetVtableLength(unsigned long,int)
+?SetVtableLength@CLimitationMapping@@QAEXKH@Z
+; protected: long __thiscall CWbemDataPacket::SetupDataPacketHeader(unsigned long,unsigned char,unsigned long,unsigned long)
+?SetupDataPacketHeader@CWbemDataPacket@@IAEJKEKK@Z
+; public: int __thiscall CLimitationMapping::ShouldAddChildKeys(void)
+?ShouldAddChildKeys@CLimitationMapping@@QAEHXZ
+; public: int __thiscall CLimitationMapping::ShouldIncludeDerivation(void)
+?ShouldIncludeDerivation@CLimitationMapping@@QAEHXZ
+; public: int __thiscall CLimitationMapping::ShouldIncludeNamespace(void)
+?ShouldIncludeNamespace@CLimitationMapping@@QAEHXZ
+; public: int __thiscall CLimitationMapping::ShouldIncludeServer(void)
+?ShouldIncludeServer@CLimitationMapping@@QAEHXZ
+; public: int __thiscall CFastPropertyBag::Size(void)
+?Size@CFastPropertyBag@@QAEHXZ
+; public: unsigned char * __thiscall CBasicQualifierSet::Skip(void)
+?Skip@CBasicQualifierSet@@QAEPAEXZ
+; public: unsigned char * __thiscall CFastHeap::Skip(void)
+?Skip@CFastHeap@@QAEPAEXZ
+; public: unsigned char * __thiscall CPropertyLookupTable::Skip(void)
+?Skip@CPropertyLookupTable@@QAEPAEXZ
+; public: void __thiscall CFixedBSTRArray::SortInPlace(void)
+?SortInPlace@CFixedBSTRArray@@QAEXXZ
+; public: virtual long __stdcall CWbemClass::SpawnDerivedClass(long,struct IWbemClassObject * *)
+?SpawnDerivedClass@CWbemClass@@UAGJJPAPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemInstance::SpawnDerivedClass(long,struct IWbemClassObject * *)
+?SpawnDerivedClass@CWbemInstance@@UAGJJPAPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemClass::SpawnInstance(long,struct IWbemClassObject * *)
+?SpawnInstance@CWbemClass@@UAGJJPAPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemInstance::SpawnInstance(long,struct IWbemClassObject * *)
+?SpawnInstance@CWbemInstance@@UAGJJPAPAUIWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemClass::SpawnKeyedInstance(long,unsigned short const *,struct _IWmiObject * *)
+?SpawnKeyedInstance@CWbemClass@@UAGJJPBGPAPAU_IWmiObject@@@Z
+; public: virtual long __stdcall CWbemInstance::SpawnKeyedInstance(long,unsigned short const *,struct _IWmiObject * *)
+?SpawnKeyedInstance@CWbemInstance@@UAGJJPBGPAPAU_IWmiObject@@@Z
+; public: int __thiscall CCompressedString::StartsWithNoCase(unsigned short const *)const 
+?StartsWithNoCase@CCompressedString@@QBEHPBG@Z
+; public: virtual long __stdcall CWbemRemoteRefresher::XWbemRemoteRefr::StopRefreshing(long,long *,long)
+?StopRefreshing@XWbemRemoteRefr@CWbemRemoteRefresher@@UAGJJPAJJ@Z
+; public: void __thiscall CEmbeddedObject::StoreEmbedded(unsigned long,class CVar &)
+?StoreEmbedded@CEmbeddedObject@@QAEXKAAVCVar@@@Z
+; public: void __thiscall CEmbeddedObject::StoreEmbedded(unsigned long,class CWbemObject *)
+?StoreEmbedded@CEmbeddedObject@@QAEXKPAVCWbemObject@@@Z
+; protected: long __thiscall CQualifierSet::StoreQualifierConflicts(unsigned short const *,class CVar &,class CQualifierFlavor &,class CVarVector &)
+?StoreQualifierConflicts@CQualifierSet@@IAEJPBGAAVCVar@@AAVCQualifierFlavor@@AAVCVarVector@@@Z
+; public: int __thiscall CCompressedString::StoreToCVar(class CVar &)const 
+?StoreToCVar@CCompressedString@@QBEHAAVCVar@@@Z
+; public: void __thiscall CEmbeddedObject::StoreToCVar(class CVar &)
+?StoreToCVar@CEmbeddedObject@@QAEXAAVCVar@@@Z
+; public: virtual long __stdcall CWbemClass::StripClassPart(void)
+?StripClassPart@CWbemClass@@UAGJXZ
+; public: virtual long __stdcall CWbemInstance::StripClassPart(void)
+?StripClassPart@CWbemInstance@@UAGJXZ
+; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Swap(int,int)
+?Swap@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXHH@Z
+; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Swap(int,int)
+?Swap@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXHH@Z
+; public: long __thiscall CClassPart::TestCircularReference(unsigned short const *)
+?TestCircularReference@CClassPart@@QAEJPBG@Z
+; public: void __thiscall CFixedBSTRArray::ThreeWayMergeOrdered(class CFixedBSTRArray &,class CFixedBSTRArray &,class CFixedBSTRArray &)
+?ThreeWayMergeOrdered@CFixedBSTRArray@@QAEXAAV1@00@Z
+; public: static int __stdcall CBasicQualifierSet::TranslateToNewHeap(class CPtrSource *,class CFastHeap *,class CFastHeap *)
+?TranslateToNewHeap@CBasicQualifierSet@@SGHPAVCPtrSource@@PAVCFastHeap@@1@Z
+; public: int __thiscall CCompressedString::TranslateToNewHeap(class CFastHeap *,class CFastHeap *)
+?TranslateToNewHeap@CCompressedString@@QAEHPAVCFastHeap@@0@Z
+; public: int __thiscall CDataTable::TranslateToNewHeap(class CPropertyLookupTable *,int,class CFastHeap *,class CFastHeap *)
+?TranslateToNewHeap@CDataTable@@QAEHPAVCPropertyLookupTable@@HPAVCFastHeap@@1@Z
+; public: int __thiscall CInstancePart::TranslateToNewHeap(class CClassPart &,class CFastHeap *,class CFastHeap *)
+?TranslateToNewHeap@CInstancePart@@QAEHAAVCClassPart@@PAVCFastHeap@@1@Z
+; public: int __thiscall CQualifierSetList::TranslateToNewHeap(class CFastHeap *,class CFastHeap *)
+?TranslateToNewHeap@CQualifierSetList@@QAEHPAVCFastHeap@@0@Z
+; public: static int __stdcall CUntypedArray::TranslateToNewHeap(class CPtrSource *,class CType,class CFastHeap *,class CFastHeap *)
+?TranslateToNewHeap@CUntypedArray@@SGHPAVCPtrSource@@VCType@@PAVCFastHeap@@2@Z
+; public: void __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::Trim(void)
+?Trim@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEXXZ
+; public: void __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::Trim(void)
+?Trim@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEXXZ
+; public: void __thiscall CFastHeap::Trim(void)
+?Trim@CFastHeap@@QAEXXZ
+; public: void __thiscall CInternalString::Unbind(void)
+?Unbind@CInternalString@@QAEXXZ
+; public: class CFastPropertyBagItem * * __thiscall CPointerArray<class CFastPropertyBagItem,class CReferenceManager<class CFastPropertyBagItem>,class CFlexArray>::UnbindPtr(void)
+?UnbindPtr@?$CPointerArray@VCFastPropertyBagItem@@V?$CReferenceManager@VCFastPropertyBagItem@@@@VCFlexArray@@@@QAEPAPAVCFastPropertyBagItem@@XZ
+; public: class CWmiTextSource * * __thiscall CPointerArray<class CWmiTextSource,class CReferenceManager<class CWmiTextSource>,class CFlexArray>::UnbindPtr(void)
+?UnbindPtr@?$CPointerArray@VCWmiTextSource@@V?$CReferenceManager@VCWmiTextSource@@@@VCFlexArray@@@@QAEPAPAVCWmiTextSource@@XZ
+; public: virtual void __thiscall CWbemClass::Undecorate(void)
+?Undecorate@CWbemClass@@UAEXXZ
+; public: virtual void __thiscall CWbemInstance::Undecorate(void)
+?Undecorate@CWbemInstance@@UAEXXZ
+; public: long __thiscall CWbemFetchRefrMgr::Uninit(void)
+?Uninit@CWbemFetchRefrMgr@@QAEJXZ
+; public: virtual long __stdcall CWbemFetchRefrMgr::XFetchRefrMgr::Uninit(void)
+?Uninit@XFetchRefrMgr@CWbemFetchRefrMgr@@UAGJXZ
+; public: int __thiscall CHiPerfLock::Unlock(void)
+?Unlock@CHiPerfLock@@QAEHXZ
+; public: int __thiscall CSharedLock::Unlock(void)
+?Unlock@CSharedLock@@QAEHXZ
+; public: virtual long __stdcall CWbemObject::Unlock(long)
+?Unlock@CWbemObject@@UAGJJ@Z
+; public: virtual long __stdcall CWbemObject::UnmarshalInterface(struct IStream *,struct _GUID const &,void * *)
+?UnmarshalInterface@CWbemObject@@UAGJPAUIStream@@ABU_GUID@@PAPAX@Z
+; public: long __thiscall CWbemMtgtDeliverEventPacket::UnmarshalPacket(long &,struct IWbemClassObject * * &,class CWbemClassCache &)
+?UnmarshalPacket@CWbemMtgtDeliverEventPacket@@QAEJAAJAAPAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
+; public: long __thiscall CWbemObjectArrayPacket::UnmarshalPacket(long &,struct IWbemClassObject * * &,class CWbemClassCache &)
+?UnmarshalPacket@CWbemObjectArrayPacket@@QAEJAAJAAPAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
+; public: long __thiscall CWbemSmartEnumNextPacket::UnmarshalPacket(long &,struct IWbemClassObject * * &,class CWbemClassCache &)
+?UnmarshalPacket@CWbemSmartEnumNextPacket@@QAEJAAJAAPAPAUIWbemClassObject@@AAVCWbemClassCache@@@Z
+; public: static unsigned char * __stdcall CBasicQualifierSet::Unmerge(unsigned char *,class CFastHeap *,unsigned char *,class CFastHeap *)
+?Unmerge@CBasicQualifierSet@@SGPAEPAEPAVCFastHeap@@01@Z
+; public: unsigned char * __thiscall CClassAndMethods::Unmerge(unsigned char *,unsigned long)
+?Unmerge@CClassAndMethods@@QAEPAEPAEK@Z
+; public: unsigned char * __thiscall CClassPart::Unmerge(unsigned char *,int)
+?Unmerge@CClassPart@@QAEPAEPAEH@Z
+; public: unsigned char * __thiscall CDataTable::Unmerge(class CPropertyLookupTable *,class CFastHeap *,unsigned char *,class CFastHeap *)
+?Unmerge@CDataTable@@QAEPAEPAVCPropertyLookupTable@@PAVCFastHeap@@PAE1@Z
+; public: unsigned char * __thiscall CDerivationList::Unmerge(unsigned char *)
+?Unmerge@CDerivationList@@QAEPAEPAE@Z
+; public: unsigned char * __thiscall CMethodPart::Unmerge(unsigned char *,unsigned long)
+?Unmerge@CMethodPart@@QAEPAEPAEK@Z
+; public: unsigned char * __thiscall CPropertyLookupTable::Unmerge(class CDataTable *,class CFastHeap *,unsigned char *,class CFastHeap *)
+?Unmerge@CPropertyLookupTable@@QAEPAEPAVCDataTable@@PAVCFastHeap@@PAE1@Z
+; public: virtual long __thiscall CWbemClass::Unmerge(unsigned char *,int,unsigned long *)
+?Unmerge@CWbemClass@@UAEJPAEHPAK@Z
+; public: virtual long __thiscall CWbemInstance::Unmerge(unsigned char *,int,unsigned long *)
+?Unmerge@CWbemInstance@@UAEJPAEHPAK@Z
+; public: unsigned long __thiscall CWbemObject::Unmerge(unsigned char * *)
+?Unmerge@CWbemObject@@QAEKPAPAE@Z
+; public: virtual long __stdcall CWbemObject::Unmerge(long,unsigned long,unsigned long *,void *)
+?Unmerge@CWbemObject@@UAGJJKPAKPAX@Z
+; public: static long __stdcall CClassAndMethods::Update(class CClassAndMethods &,class CClassAndMethods &,long)
+?Update@CClassAndMethods@@SGJAAV1@0J@Z
+; public: static long __stdcall CClassPart::Update(class CClassPart &,class CClassPart &,long)
+?Update@CClassPart@@SGJAAV1@0J@Z
+; public: static long __stdcall CMethodPart::Update(class CMethodPart &,class CMethodPart &,long)
+?Update@CMethodPart@@SGJAAV1@0J@Z
+; public: long __thiscall CQualifierSet::Update(class CBasicQualifierSet &,long,class CFixedBSTRArray *)
+?Update@CQualifierSet@@QAEJAAVCBasicQualifierSet@@JPAVCFixedBSTRArray@@@Z
+; public: long __thiscall CWbemClass::Update(class CWbemClass *,long,class CWbemClass * *)
+?Update@CWbemClass@@QAEJPAV1@JPAPAV1@@Z
+; public: virtual long __stdcall CWbemClass::Update(struct _IWmiObject *,long,struct _IWmiObject * *)
+?Update@CWbemClass@@UAGJPAU_IWmiObject@@JPAPAU2@@Z
+; public: virtual long __stdcall CWbemInstance::Update(struct _IWmiObject *,long,struct _IWmiObject * *)
+?Update@CWbemInstance@@UAGJPAU_IWmiObject@@JPAPAU2@@Z
+; public: static long __stdcall CClassPart::UpdateProperties(class CClassPart &,class CClassPart &,long)
+?UpdateProperties@CClassPart@@SGJAAV1@0J@Z
+; public: virtual long __stdcall CWbemClass::Upgrade(struct _IWmiObject *,long,struct _IWmiObject * *)
+?Upgrade@CWbemClass@@UAGJPAU_IWmiObject@@JPAPAU2@@Z
+; public: virtual long __stdcall CWbemInstance::Upgrade(struct _IWmiObject *,long,struct _IWmiObject * *)
+?Upgrade@CWbemInstance@@UAGJPAU_IWmiObject@@JPAPAU2@@Z
+; protected: static char __stdcall CCompressedString::UpperByte(unsigned short)
+?UpperByte@CCompressedString@@KGDG@Z
+; public: static class CType  __stdcall CType::VARTYPEToType(unsigned short)
+?VARTYPEToType@CType@@SG?AV1@G@Z
+; public: long __thiscall CWbemInstance::Validate(void)
+?Validate@CWbemInstance@@QAEJXZ
+; public: static unsigned int __stdcall CBasicQualifierSet::ValidateBuffer(unsigned char *,unsigned int)
+?ValidateBuffer@CBasicQualifierSet@@SGIPAEI@Z
+; public: static unsigned int __stdcall CClassAndMethods::ValidateBuffer(unsigned char *,unsigned int)
+?ValidateBuffer@CClassAndMethods@@SGIPAEI@Z
+; public: static unsigned int __stdcall CClassPart::ValidateBuffer(unsigned char *,unsigned int)
+?ValidateBuffer@CClassPart@@SGIPAEI@Z
+; public: static unsigned int __stdcall CCompressedStringList::ValidateBuffer(unsigned char *,unsigned int)
+?ValidateBuffer@CCompressedStringList@@SGIPAEI@Z
+; public: static unsigned int __stdcall CDataTable::ValidateBuffer(unsigned char *,unsigned int,int)
+?ValidateBuffer@CDataTable@@SGIPAEIH@Z
+; public: static unsigned int __stdcall CDecorationPart::ValidateBuffer(unsigned char *,unsigned int)
+?ValidateBuffer@CDecorationPart@@SGIPAEI@Z
+; public: static void __stdcall CEmbeddedObject::ValidateBuffer(unsigned char *,unsigned int,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
+?ValidateBuffer@CEmbeddedObject@@SGXPAEIAAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: static unsigned int __stdcall CFastHeap::ValidateBuffer(unsigned char *,unsigned int)
+?ValidateBuffer@CFastHeap@@SGIPAEI@Z
+; public: static unsigned int __stdcall CInstancePart::ValidateBuffer(unsigned char *,unsigned int,class CClassPart &,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
+?ValidateBuffer@CInstancePart@@SGIPAEIAAVCClassPart@@AAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: static unsigned int __stdcall CMethodPart::ValidateBuffer(unsigned char *,unsigned int)
+?ValidateBuffer@CMethodPart@@SGIPAEI@Z
+; public: static unsigned int __stdcall CPropertyLookupTable::ValidateBuffer(unsigned char *,unsigned int)
+?ValidateBuffer@CPropertyLookupTable@@SGIPAEI@Z
+; public: static unsigned int __stdcall CQualifierSetList::ValidateBuffer(unsigned char *,unsigned int,int)
+?ValidateBuffer@CQualifierSetList@@SGIPAEIH@Z
+; public: static unsigned int __stdcall CWbemClass::ValidateBuffer(unsigned char *,unsigned int)
+?ValidateBuffer@CWbemClass@@SGIPAEI@Z
+; public: static unsigned int __stdcall CWbemInstance::ValidateBuffer(unsigned char *,int,unsigned long,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
+?ValidateBuffer@CWbemInstance@@SGIPAEHKAAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: static unsigned int __stdcall CWbemInstance::ValidateBuffer(unsigned char *,int,class CWbemInstance *,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
+?ValidateBuffer@CWbemInstance@@SGIPAEHPAV1@AAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: static unsigned int __stdcall CWbemInstance::ValidateBuffer(unsigned char *,unsigned int,class std::vector<struct EmbeddedObj,class wbem_allocator<struct EmbeddedObj> > &)
+?ValidateBuffer@CWbemInstance@@SGIPAEIAAV?$vector@UEmbeddedObj@@V?$wbem_allocator@UEmbeddedObj@@@@@std@@@Z
+; public: long __thiscall CLimitationMapping::ValidateInstance(class CWbemInstance *)
+?ValidateInstance@CLimitationMapping@@QAEJPAVCWbemInstance@@@Z
+; public: virtual long __stdcall CWbemObject::ValidateObject(long)
+?ValidateObject@CWbemObject@@UAGJJ@Z
+; protected: long __thiscall CMethodPart::ValidateOutParams(class CWbemObject *)
+?ValidateOutParams@CMethodPart@@IAEJPAVCWbemObject@@@Z
+; public: long __thiscall CWbemObject::ValidatePath(struct ParsedObjectPath *)
+?ValidatePath@CWbemObject@@QAEJPAUParsedObjectPath@@@Z
+; public: long __thiscall CPropertyLookupTable::ValidateRange(unsigned short * *,class CDataTable *,class CFastHeap *)
+?ValidateRange@CPropertyLookupTable@@QAEJPAPAGPAVCDataTable@@PAVCFastHeap@@@Z
+; public: int __thiscall CWbemObject::ValidateRange(unsigned short * *)
+?ValidateRange@CWbemObject@@QAEHPAPAG@Z
+; public: long __thiscall CQualifierSet::ValidateSet(unsigned short const *,unsigned char,class CTypedValue *,int,int)
+?ValidateSet@CQualifierSet@@QAEJPBGEPAVCTypedValue@@HH@Z
+; public: int __thiscall CCompressedString::ValidateSize(int)const 
+?ValidateSize@CCompressedString@@QBEHH@Z
+; public: static long __stdcall CWbemObject::WbemObjectFromCOMPtr(struct IUnknown *,class CWbemObject * *)
+?WbemObjectFromCOMPtr@CWbemObject@@SGJPAUIUnknown@@PAPAV1@@Z
+; unsigned short * __stdcall WbemStringCopy(unsigned short const *)
+?WbemStringCopy@@YGPAGPBG@Z
+; void __stdcall WbemStringFree(unsigned short *)
+?WbemStringFree@@YGXPAG@Z
+; protected: long __thiscall CWbemRefreshingSvc::WrapRemoteRefresher(struct IWbemRemoteRefresher * *)
+?WrapRemoteRefresher@CWbemRefreshingSvc@@IAEJPAPAUIWbemRemoteRefresher@@@Z
+; public: virtual long __stdcall CWbemObject::WriteDWORD(long,unsigned long)
+?WriteDWORD@CWbemObject@@UAGJJK@Z
+; public: long __thiscall CWbemClass::WriteDerivedClass(unsigned char *,int,class CDecorationPart *)
+?WriteDerivedClass@CWbemClass@@QAEJPAEHPAVCDecorationPart@@@Z
+; public: virtual long __stdcall CWbemObject::WriteProp(unsigned short const *,long,unsigned long,unsigned long,long,void *)
+?WriteProp@CWbemObject@@UAGJPBGJKKJPAX@Z
+; public: static unsigned char * __stdcall CBasicQualifierSet::WritePropagatedVersion(class CPtrSource *,unsigned char,class CPtrSource *,class CFastHeap *,class CFastHeap *)
+?WritePropagatedVersion@CBasicQualifierSet@@SGPAEPAVCPtrSource@@E0PAVCFastHeap@@1@Z
+; public: unsigned char * __thiscall CDataTable::WritePropagatedVersion(class CPropertyLookupTable *,class CFastHeap *,unsigned char *,class CFastHeap *)
+?WritePropagatedVersion@CDataTable@@QAEPAEPAVCPropertyLookupTable@@PAVCFastHeap@@PAE1@Z
+; public: unsigned char * __thiscall CPropertyLookupTable::WritePropagatedVersion(class CFastHeap *,unsigned char *,class CFastHeap *)
+?WritePropagatedVersion@CPropertyLookupTable@@QAEPAEPAVCFastHeap@@PAE0@Z
+; public: long __thiscall CWbemClass::WritePropertyAsMethodParam(class WString &,int,long,class CWbemClass *,int)
+?WritePropertyAsMethodParam@CWbemClass@@QAEJAAVWString@@HJPAV1@H@Z
+; public: virtual long __stdcall CWbemObject::WritePropertyValue(long,long,unsigned char const *)
+?WritePropertyValue@CWbemObject@@UAGJJJPBE@Z
+; public: virtual long __stdcall CWbemObject::WriteQWORD(long,unsigned __int64)
+?WriteQWORD@CWbemObject@@UAGJJ_K@Z
+; public: unsigned char * __thiscall CDataTable::WriteSmallerVersion(int,unsigned long,unsigned char *)
+?WriteSmallerVersion@CDataTable@@QAEPAEHKPAE@Z
+; public: unsigned char * __thiscall CQualifierSetList::WriteSmallerVersion(int,unsigned char *)
+?WriteSmallerVersion@CQualifierSetList@@QAEPAEHPAE@Z
+; public: virtual long __thiscall CWbemInstance::WriteToStream(struct IStream *)
+?WriteToStream@CWbemInstance@@UAEJPAUIStream@@@Z
+; public: virtual long __thiscall CWbemObject::WriteToStream(struct IStream *)
+?WriteToStream@CWbemObject@@UAEJPAUIStream@@@Z
+; public: static void __stdcall CWbemInstance::WriteTransferArrayHeader(long,unsigned char * *)
+?WriteTransferArrayHeader@CWbemInstance@@SGXJPAPAE@Z
+; public: virtual long __stdcall CWbemObject::_GetCoreInfo(long,void * *)
+?_GetCoreInfo@CWbemObject@@UAGJJPAPAX@Z
+; public: static unsigned short * __stdcall CCompressedString::fast_wcscpy(unsigned short *,unsigned short const *)
+?fast_wcscpy@CCompressedString@@SGPAGPAGPBG@Z
+; public: static int __stdcall CCompressedString::fast_wcslen(unsigned short const *)
+?fast_wcslen@CCompressedString@@SGHPBG@Z
+; public: static unsigned short * __stdcall CCompressedString::fast_wcsncpy(unsigned short *,unsigned short const *,int)
+?fast_wcsncpy@CCompressedString@@SGPAGPAGPBGH@Z
+; protected: static unsigned char *  CWbemDataPacket::s_abSignature
+?s_abSignature@CWbemDataPacket@@1PAEA DATA
+; private: static unsigned short const * *  CReservedWordTable::s_apwszReservedWords
+?s_apwszReservedWords@CReservedWordTable@@0PAPBGA DATA
+; protected: static class CStaticCritSec  CWbemFetchRefrMgr::s_cs
+?s_cs@CWbemFetchRefrMgr@@1VCStaticCritSec@@A DATA
+; protected: static struct _IWbemRefresherMgr *  CWbemFetchRefrMgr::s_pRefrMgr
+?s_pRefrMgr@CWbemFetchRefrMgr@@1PAU_IWbemRefresherMgr@@A DATA
+; private: static unsigned short const * const  CReservedWordTable::s_pszStartingCharsLCase
+?s_pszStartingCharsLCase@CReservedWordTable@@0PBGB DATA
+; private: static unsigned short const * const  CReservedWordTable::s_pszStartingCharsUCase
+?s_pszStartingCharsUCase@CReservedWordTable@@0PBGB DATA
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+_GetObjectCount@0
diff --git a/mingw-w64-crt/lib64/wfaultrep.def b/mingw-w64-crt/lib64/wfaultrep.def
index 934e74c..dd0e6eb 100644
--- a/mingw-w64-crt/lib64/wfaultrep.def
+++ b/mingw-w64-crt/lib64/wfaultrep.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file faultrep.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY faultrep.DLL
-EXPORTS
-AddERExcludedApplicationA
-AddERExcludedApplicationW
-CreateMinidumpW
-ReportEREvent
-ReportEREventDW
-ReportFault
-ReportFaultDWM
-ReportFaultFromQueue
-ReportFaultToQueue
-ReportHang
-ReportKernelFaultDWW
+; 
+; Exports of file faultrep.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY faultrep.DLL
+EXPORTS
+AddERExcludedApplicationA
+AddERExcludedApplicationW
+CreateMinidumpW
+ReportEREvent
+ReportEREventDW
+ReportFault
+ReportFaultDWM
+ReportFaultFromQueue
+ReportFaultToQueue
+ReportHang
+ReportKernelFaultDWW
diff --git a/mingw-w64-crt/lib64/wfde.def b/mingw-w64-crt/lib64/wfde.def
index 8e9aea7..e2fdf04 100644
--- a/mingw-w64-crt/lib64/wfde.def
+++ b/mingw-w64-crt/lib64/wfde.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FDE.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FDE.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file FDE.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FDE.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wfdeploy.def b/mingw-w64-crt/lib64/wfdeploy.def
index 7cd26f2..32d4ce6 100644
--- a/mingw-w64-crt/lib64/wfdeploy.def
+++ b/mingw-w64-crt/lib64/wfdeploy.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FDEPLOY.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FDEPLOY.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-GenerateGroupPolicy
-ProcessGroupPolicyEx
+; 
+; Exports of file FDEPLOY.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FDEPLOY.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+GenerateGroupPolicy
+ProcessGroupPolicyEx
diff --git a/mingw-w64-crt/lib64/wfeclient.def b/mingw-w64-crt/lib64/wfeclient.def
index 3c12826..56692d4 100644
--- a/mingw-w64-crt/lib64/wfeclient.def
+++ b/mingw-w64-crt/lib64/wfeclient.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file FeClient.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FeClient.dll
-EXPORTS
-FeClientInitialize
+; 
+; Exports of file FeClient.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FeClient.dll
+EXPORTS
+FeClientInitialize
diff --git a/mingw-w64-crt/lib64/wfilemgmt.def b/mingw-w64-crt/lib64/wfilemgmt.def
index d9703f9..c2e47e3 100644
--- a/mingw-w64-crt/lib64/wfilemgmt.def
+++ b/mingw-w64-crt/lib64/wfilemgmt.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file FILEMGMT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FILEMGMT.DLL
-EXPORTS
-CacheSettingsDlg
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file FILEMGMT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FILEMGMT.DLL
+EXPORTS
+CacheSettingsDlg
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wfldrclnr.def b/mingw-w64-crt/lib64/wfldrclnr.def
index 79d8f4e..697eb73 100644
--- a/mingw-w64-crt/lib64/wfldrclnr.def
+++ b/mingw-w64-crt/lib64/wfldrclnr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FldrClnr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FldrClnr.dll
-EXPORTS
-DllInstall
-DllMain
-DllRegisterServer
-Wizard_RunDLL
+; 
+; Exports of file FldrClnr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FldrClnr.dll
+EXPORTS
+DllInstall
+DllMain
+DllRegisterServer
+Wizard_RunDLL
diff --git a/mingw-w64-crt/lib64/wfltlib.def b/mingw-w64-crt/lib64/wfltlib.def
index 17bc8d4..a1cb0b6 100644
--- a/mingw-w64-crt/lib64/wfltlib.def
+++ b/mingw-w64-crt/lib64/wfltlib.def
@@ -1,37 +1,37 @@
-; 
-; Exports of file FLTLIB.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FLTLIB.DLL
-EXPORTS
-FilterAttach
-FilterAttachAtAltitude
-FilterClose
-FilterConnectCommunicationPort
-FilterCreate
-FilterDetach
-FilterFindClose
-FilterFindFirst
-FilterFindNext
-FilterGetDosName
-FilterGetInformation
-FilterGetMessage
-FilterInstanceClose
-FilterInstanceCreate
-FilterInstanceFindClose
-FilterInstanceFindFirst
-FilterInstanceFindNext
-FilterInstanceGetInformation
-FilterLoad
-FilterReplyMessage
-FilterSendMessage
-FilterUnload
-FilterVolumeClose
-FilterVolumeFindClose
-FilterVolumeFindFirst
-FilterVolumeFindNext
-FilterVolumeInstanceFindClose
-FilterVolumeInstanceFindFirst
-FilterVolumeInstanceFindNext
+; 
+; Exports of file FLTLIB.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FLTLIB.DLL
+EXPORTS
+FilterAttach
+FilterAttachAtAltitude
+FilterClose
+FilterConnectCommunicationPort
+FilterCreate
+FilterDetach
+FilterFindClose
+FilterFindFirst
+FilterFindNext
+FilterGetDosName
+FilterGetInformation
+FilterGetMessage
+FilterInstanceClose
+FilterInstanceCreate
+FilterInstanceFindClose
+FilterInstanceFindFirst
+FilterInstanceFindNext
+FilterInstanceGetInformation
+FilterLoad
+FilterReplyMessage
+FilterSendMessage
+FilterUnload
+FilterVolumeClose
+FilterVolumeFindClose
+FilterVolumeFindFirst
+FilterVolumeFindNext
+FilterVolumeInstanceFindClose
+FilterVolumeInstanceFindFirst
+FilterVolumeInstanceFindNext
diff --git a/mingw-w64-crt/lib64/wfmifs.def b/mingw-w64-crt/lib64/wfmifs.def
index 4c36e53..c7306c0 100644
--- a/mingw-w64-crt/lib64/wfmifs.def
+++ b/mingw-w64-crt/lib64/wfmifs.def
@@ -1,24 +1,24 @@
-; 
-; Exports of file FMIFS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FMIFS.dll
-EXPORTS
-Chkdsk
-ChkdskEx
-ComputeFmMediaType
-DiskCopy
-EnableVolumeCompression
-Extend
-Format
-FormatEx2
-FormatEx
-QueryAvailableFileSystemFormat
-QueryDeviceInformation
-QueryDeviceInformationByHandle
-QueryFileSystemName
-QueryLatestFileSystemVersion
-QuerySupportedMedia
-SetLabel
+; 
+; Exports of file FMIFS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FMIFS.dll
+EXPORTS
+Chkdsk
+ChkdskEx
+ComputeFmMediaType
+DiskCopy
+EnableVolumeCompression
+Extend
+Format
+FormatEx2
+FormatEx
+QueryAvailableFileSystemFormat
+QueryDeviceInformation
+QueryDeviceInformationByHandle
+QueryFileSystemName
+QueryLatestFileSystemVersion
+QuerySupportedMedia
+SetLabel
diff --git a/mingw-w64-crt/lib64/wfontext.def b/mingw-w64-crt/lib64/wfontext.def
index 2484a09..86ec9f4 100644
--- a/mingw-w64-crt/lib64/wfontext.def
+++ b/mingw-w64-crt/lib64/wfontext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file fontext.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY fontext.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file fontext.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY fontext.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wfontsub.def b/mingw-w64-crt/lib64/wfontsub.def
index 849011f..c6180cf 100644
--- a/mingw-w64-crt/lib64/wfontsub.def
+++ b/mingw-w64-crt/lib64/wfontsub.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file FONTSUB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FONTSUB.dll
-EXPORTS
-CreateFontPackage
-MergeFontPackage
+; 
+; Exports of file FONTSUB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FONTSUB.dll
+EXPORTS
+CreateFontPackage
+MergeFontPackage
diff --git a/mingw-w64-crt/lib64/wframedyn.def b/mingw-w64-crt/lib64/wframedyn.def
index 9d14b0c..1b37fcb 100644
--- a/mingw-w64-crt/lib64/wframedyn.def
+++ b/mingw-w64-crt/lib64/wframedyn.def
@@ -1,1219 +1,1219 @@
-; 
-; Exports of file framedyn.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY framedyn.dll
-EXPORTS
-; public: __thiscall CAutoEvent::CAutoEvent(void)
-??0CAutoEvent@@QAE@XZ
-; public: __thiscall CFrameworkQuery::CFrameworkQuery(class CFrameworkQuery const &)
-??0CFrameworkQuery@@QAE@ABV0@@Z
-; public: __thiscall CFrameworkQuery::CFrameworkQuery(void)
-??0CFrameworkQuery@@QAE@XZ
-; public: __thiscall CFrameworkQueryEx::CFrameworkQueryEx(class CFrameworkQueryEx const &)
-??0CFrameworkQueryEx@@QAE@ABV0@@Z
-; public: __thiscall CFrameworkQueryEx::CFrameworkQueryEx(void)
-??0CFrameworkQueryEx@@QAE@XZ
-; public: __thiscall CHPtrArray::CHPtrArray(void)
-??0CHPtrArray@@QAE@XZ
-; public: __thiscall CHString::CHString(class CHString const &)
-??0CHString@@QAE@ABV0@@Z
-; public: __thiscall CHString::CHString(unsigned short,int)
-??0CHString@@QAE@GH@Z
-; public: __thiscall CHString::CHString(char const *)
-??0CHString@@QAE@PBD@Z
-; public: __thiscall CHString::CHString(unsigned char const *)
-??0CHString@@QAE@PBE@Z
-; public: __thiscall CHString::CHString(unsigned short const *)
-??0CHString@@QAE@PBG@Z
-; public: __thiscall CHString::CHString(unsigned short const *,int)
-??0CHString@@QAE@PBGH@Z
-; public: __thiscall CHString::CHString(void)
-??0CHString@@QAE@XZ
-; public: __thiscall CHStringArray::CHStringArray(void)
-??0CHStringArray@@QAE@XZ
-; public: __thiscall CInstance::CInstance(class CInstance const &)
-??0CInstance@@QAE@ABV0@@Z
-; public: __thiscall CInstance::CInstance(struct IWbemClassObject *,class MethodContext *)
-??0CInstance@@QAE@PAUIWbemClassObject@@PAVMethodContext@@@Z
-; public: __thiscall CObjectPathParser::CObjectPathParser(enum ObjectParserFlags)
-??0CObjectPathParser@@QAE@W4ObjectParserFlags@@@Z
-; public: __thiscall CRegistry::CRegistry(class CRegistry const &)
-??0CRegistry@@QAE@ABV0@@Z
-; public: __thiscall CRegistry::CRegistry(void)
-??0CRegistry@@QAE@XZ
-; public: __thiscall CRegistrySearch::CRegistrySearch(class CRegistrySearch const &)
-??0CRegistrySearch@@QAE@ABV0@@Z
-; public: __thiscall CRegistrySearch::CRegistrySearch(void)
-??0CRegistrySearch@@QAE@XZ
-; public: __thiscall CThreadBase::CThreadBase(class CThreadBase const &)
-??0CThreadBase@@QAE@ABV0@@Z
-; public: __thiscall CThreadBase::CThreadBase(enum CThreadBase::THREAD_SAFETY_MECHANISM)
-??0CThreadBase@@QAE@W4THREAD_SAFETY_MECHANISM@0@@Z
-; public: __thiscall CWbemGlueFactory::CWbemGlueFactory(class CWbemGlueFactory const &)
-??0CWbemGlueFactory@@QAE@ABV0@@Z
-; public: __thiscall CWbemGlueFactory::CWbemGlueFactory(long *)
-??0CWbemGlueFactory@@QAE@PAJ@Z
-; public: __thiscall CWbemGlueFactory::CWbemGlueFactory(void)
-??0CWbemGlueFactory@@QAE@XZ
-; public: __thiscall CWbemProviderGlue::CWbemProviderGlue(class CWbemProviderGlue const &)
-??0CWbemProviderGlue@@QAE@ABV0@@Z
-; public: __thiscall CWbemProviderGlue::CWbemProviderGlue(long *)
-??0CWbemProviderGlue@@QAE@PAJ@Z
-; public: __thiscall CWbemProviderGlue::CWbemProviderGlue(void)
-??0CWbemProviderGlue@@QAE@XZ
-; public: __thiscall CWinMsgEvent::CWinMsgEvent(class CWinMsgEvent const &)
-??0CWinMsgEvent@@QAE@ABV0@@Z
-; public: __thiscall CWinMsgEvent::CWinMsgEvent(void)
-??0CWinMsgEvent@@QAE@XZ
-; public: __thiscall CreateMutexAsProcess::CreateMutexAsProcess(unsigned short const *)
-??0CreateMutexAsProcess@@QAE@PBG@Z
-; public: __thiscall KeyRef::KeyRef(unsigned short const *,struct tagVARIANT const *)
-??0KeyRef@@QAE@PBGPBUtagVARIANT@@@Z
-; public: __thiscall KeyRef::KeyRef(void)
-??0KeyRef@@QAE@XZ
-; public: __thiscall MethodContext::MethodContext(class MethodContext const &)
-??0MethodContext@@QAE@ABV0@@Z
-; public: __thiscall MethodContext::MethodContext(struct IWbemContext *,class CWbemProviderGlue *)
-??0MethodContext@@QAE@PAUIWbemContext@@PAVCWbemProviderGlue@@@Z
-; public: __thiscall ParsedObjectPath::ParsedObjectPath(void)
-??0ParsedObjectPath@@QAE@XZ
-; public: __thiscall Provider::Provider(class Provider const &)
-??0Provider@@QAE@ABV0@@Z
-; public: __thiscall Provider::Provider(unsigned short const *,unsigned short const *)
-??0Provider@@QAE@PBG0@Z
-; public: __thiscall ProviderLog::ProviderLog(class ProviderLog const &)
-??0ProviderLog@@QAE@ABV0@@Z
-; public: __thiscall ProviderLog::ProviderLog(void)
-??0ProviderLog@@QAE@XZ
-; public: __thiscall WBEMTime::WBEMTime(long const &)
-??0WBEMTime@@QAE@ABJ@Z
-; public: __thiscall WBEMTime::WBEMTime(struct _FILETIME const &)
-??0WBEMTime@@QAE@ABU_FILETIME@@@Z
-; public: __thiscall WBEMTime::WBEMTime(struct _SYSTEMTIME const &)
-??0WBEMTime@@QAE@ABU_SYSTEMTIME@@@Z
-; public: __thiscall WBEMTime::WBEMTime(struct tm const &)
-??0WBEMTime@@QAE@ABUtm@@@Z
-; public: __thiscall WBEMTime::WBEMTime(unsigned short * const)
-??0WBEMTime@@QAE@QAG@Z
-; public: __thiscall WBEMTime::WBEMTime(void)
-??0WBEMTime@@QAE@XZ
-; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(long const &)
-??0WBEMTimeSpan@@QAE@ABJ@Z
-; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(struct _FILETIME const &)
-??0WBEMTimeSpan@@QAE@ABU_FILETIME@@@Z
-; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(int,int,int,int,int,int,int)
-??0WBEMTimeSpan@@QAE@HHHHHHH@Z
-; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(unsigned short * const)
-??0WBEMTimeSpan@@QAE@QAG@Z
-; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(void)
-??0WBEMTimeSpan@@QAE@XZ
-; public: __thiscall std::_Lockit::_Lockit(void)
-??0_Lockit@std@@QAE@XZ
-; public: __thiscall CAutoEvent::~CAutoEvent(void)
-??1CAutoEvent@@QAE@XZ
-; public: __thiscall CFrameworkQuery::~CFrameworkQuery(void)
-??1CFrameworkQuery@@QAE@XZ
-; public: __thiscall CFrameworkQueryEx::~CFrameworkQueryEx(void)
-??1CFrameworkQueryEx@@QAE@XZ
-; public: __thiscall CHPtrArray::~CHPtrArray(void)
-??1CHPtrArray@@QAE@XZ
-; public: __thiscall CHString::~CHString(void)
-??1CHString@@QAE@XZ
-; public: __thiscall CHStringArray::~CHStringArray(void)
-??1CHStringArray@@QAE@XZ
-; public: virtual __thiscall CInstance::~CInstance(void)
-??1CInstance@@UAE@XZ
-; public: __thiscall CObjectPathParser::~CObjectPathParser(void)
-??1CObjectPathParser@@QAE@XZ
-; public: __thiscall CRegistry::~CRegistry(void)
-??1CRegistry@@QAE@XZ
-; public: __thiscall CRegistrySearch::~CRegistrySearch(void)
-??1CRegistrySearch@@QAE@XZ
-; public: virtual __thiscall CThreadBase::~CThreadBase(void)
-??1CThreadBase@@UAE@XZ
-; public: __thiscall CWbemGlueFactory::~CWbemGlueFactory(void)
-??1CWbemGlueFactory@@QAE@XZ
-; public: __thiscall CWbemProviderGlue::~CWbemProviderGlue(void)
-??1CWbemProviderGlue@@QAE@XZ
-; public: __thiscall CWinMsgEvent::~CWinMsgEvent(void)
-??1CWinMsgEvent@@QAE@XZ
-; public: __thiscall CreateMutexAsProcess::~CreateMutexAsProcess(void)
-??1CreateMutexAsProcess@@QAE@XZ
-; public: __thiscall KeyRef::~KeyRef(void)
-??1KeyRef@@QAE@XZ
-; public: virtual __thiscall MethodContext::~MethodContext(void)
-??1MethodContext@@UAE@XZ
-; public: __thiscall ParsedObjectPath::~ParsedObjectPath(void)
-??1ParsedObjectPath@@QAE@XZ
-; public: virtual __thiscall Provider::~Provider(void)
-??1Provider@@UAE@XZ
-; public: virtual __thiscall ProviderLog::~ProviderLog(void)
-??1ProviderLog@@UAE@XZ
-; public: __thiscall std::_Lockit::~_Lockit(void)
-??1_Lockit@std@@QAE@XZ
-; public: class CAutoEvent & __thiscall CAutoEvent::operator=(class CAutoEvent const &)
-??4CAutoEvent@@QAEAAV0@ABV0@@Z
-; public: class CFrameworkQuery & __thiscall CFrameworkQuery::operator=(class CFrameworkQuery const &)
-??4CFrameworkQuery@@QAEAAV0@ABV0@@Z
-; public: class CFrameworkQueryEx & __thiscall CFrameworkQueryEx::operator=(class CFrameworkQueryEx const &)
-??4CFrameworkQueryEx@@QAEAAV0@ABV0@@Z
-; public: class CHPtrArray & __thiscall CHPtrArray::operator=(class CHPtrArray const &)
-??4CHPtrArray@@QAEAAV0@ABV0@@Z
-; public: class CHString const & __thiscall CHString::operator=(class CHString const &)
-??4CHString@@QAEABV0@ABV0@@Z
-; public: class CHString const & __thiscall CHString::operator=(char)
-??4CHString@@QAEABV0@D@Z
-; public: class CHString const & __thiscall CHString::operator=(unsigned short)
-??4CHString@@QAEABV0@G@Z
-; public: class CHString const & __thiscall CHString::operator=(class CHString *)
-??4CHString@@QAEABV0@PAV0@@Z
-; public: class CHString const & __thiscall CHString::operator=(char const *)
-??4CHString@@QAEABV0@PBD@Z
-; public: class CHString const & __thiscall CHString::operator=(unsigned char const *)
-??4CHString@@QAEABV0@PBE@Z
-; public: class CHString const & __thiscall CHString::operator=(unsigned short const *)
-??4CHString@@QAEABV0@PBG@Z
-; public: class CHStringArray & __thiscall CHStringArray::operator=(class CHStringArray const &)
-??4CHStringArray@@QAEAAV0@ABV0@@Z
-; public: class CInstance & __thiscall CInstance::operator=(class CInstance const &)
-??4CInstance@@QAEAAV0@ABV0@@Z
-; public: class CObjectPathParser & __thiscall CObjectPathParser::operator=(class CObjectPathParser const &)
-??4CObjectPathParser@@QAEAAV0@ABV0@@Z
-; public: class CRegistry & __thiscall CRegistry::operator=(class CRegistry const &)
-??4CRegistry@@QAEAAV0@ABV0@@Z
-; public: class CRegistrySearch & __thiscall CRegistrySearch::operator=(class CRegistrySearch const &)
-??4CRegistrySearch@@QAEAAV0@ABV0@@Z
-; public: class CThreadBase & __thiscall CThreadBase::operator=(class CThreadBase const &)
-??4CThreadBase@@QAEAAV0@ABV0@@Z
-; public: class CWbemGlueFactory & __thiscall CWbemGlueFactory::operator=(class CWbemGlueFactory const &)
-??4CWbemGlueFactory@@QAEAAV0@ABV0@@Z
-; public: class CWbemProviderGlue & __thiscall CWbemProviderGlue::operator=(class CWbemProviderGlue const &)
-??4CWbemProviderGlue@@QAEAAV0@ABV0@@Z
-; public: class CWinMsgEvent & __thiscall CWinMsgEvent::operator=(class CWinMsgEvent const &)
-??4CWinMsgEvent@@QAEAAV0@ABV0@@Z
-; public: class CreateMutexAsProcess & __thiscall CreateMutexAsProcess::operator=(class CreateMutexAsProcess const &)
-??4CreateMutexAsProcess@@QAEAAV0@ABV0@@Z
-; public: struct KeyRef & __thiscall KeyRef::operator=(struct KeyRef const &)
-??4KeyRef@@QAEAAU0@ABU0@@Z
-; public: class MethodContext & __thiscall MethodContext::operator=(class MethodContext const &)
-??4MethodContext@@QAEAAV0@ABV0@@Z
-; public: struct ParsedObjectPath & __thiscall ParsedObjectPath::operator=(struct ParsedObjectPath const &)
-??4ParsedObjectPath@@QAEAAU0@ABU0@@Z
-; public: class Provider & __thiscall Provider::operator=(class Provider const &)
-??4Provider@@QAEAAV0@ABV0@@Z
-; public: class ProviderLog & __thiscall ProviderLog::operator=(class ProviderLog const &)
-??4ProviderLog@@QAEAAV0@ABV0@@Z
-; public: class WBEMTime & __thiscall WBEMTime::operator=(class WBEMTime const &)
-??4WBEMTime@@QAEAAV0@ABV0@@Z
-; public: class WBEMTime const & __thiscall WBEMTime::operator=(long const &)
-??4WBEMTime@@QAEABV0@ABJ@Z
-; public: class WBEMTime const & __thiscall WBEMTime::operator=(struct _FILETIME const &)
-??4WBEMTime@@QAEABV0@ABU_FILETIME@@@Z
-; public: class WBEMTime const & __thiscall WBEMTime::operator=(struct _SYSTEMTIME const &)
-??4WBEMTime@@QAEABV0@ABU_SYSTEMTIME@@@Z
-; public: class WBEMTime const & __thiscall WBEMTime::operator=(struct tm const &)
-??4WBEMTime@@QAEABV0@ABUtm@@@Z
-; public: class WBEMTime const & __thiscall WBEMTime::operator=(unsigned short * const)
-??4WBEMTime@@QAEABV0@QAG@Z
-; public: class WBEMTimeSpan & __thiscall WBEMTimeSpan::operator=(class WBEMTimeSpan const &)
-??4WBEMTimeSpan@@QAEAAV0@ABV0@@Z
-; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator=(long const &)
-??4WBEMTimeSpan@@QAEABV0@ABJ@Z
-; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator=(struct _FILETIME const &)
-??4WBEMTimeSpan@@QAEABV0@ABU_FILETIME@@@Z
-; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator=(unsigned short * const)
-??4WBEMTimeSpan@@QAEABV0@QAG@Z
-; public: int __thiscall WBEMTime::operator==(class WBEMTime const &)const 
-??8WBEMTime@@QBEHABV0@@Z
-; public: int __thiscall WBEMTimeSpan::operator==(class WBEMTimeSpan const &)const 
-??8WBEMTimeSpan@@QBEHABV0@@Z
-; public: int __thiscall WBEMTime::operator!=(class WBEMTime const &)const 
-??9WBEMTime@@QBEHABV0@@Z
-; public: int __thiscall WBEMTimeSpan::operator!=(class WBEMTimeSpan const &)const 
-??9WBEMTimeSpan@@QBEHABV0@@Z
-; public: void * & __thiscall CHPtrArray::operator[](int)
-??ACHPtrArray@@QAEAAPAXH@Z
-; public: void * __thiscall CHPtrArray::operator[](int)const 
-??ACHPtrArray@@QBEPAXH@Z
-; public: unsigned short __thiscall CHString::operator[](int)const 
-??ACHString@@QBEGH@Z
-; public: class CHString & __thiscall CHStringArray::operator[](int)
-??ACHStringArray@@QAEAAVCHString@@H@Z
-; public: class CHString  __thiscall CHStringArray::operator[](int)const 
-??ACHStringArray@@QBE?AVCHString@@H@Z
-; public: __thiscall CHString::operator unsigned short const *(void)const 
-??BCHString@@QBEPBGXZ
-; public: class WBEMTimeSpan  __thiscall WBEMTime::operator-(class WBEMTime const &)
-??GWBEMTime@@QAE?AVWBEMTimeSpan@@ABV0@@Z
-; public: class WBEMTime  __thiscall WBEMTime::operator-(class WBEMTimeSpan const &)const 
-??GWBEMTime@@QBE?AV0@ABVWBEMTimeSpan@@@Z
-; public: class WBEMTimeSpan  __thiscall WBEMTimeSpan::operator-(class WBEMTimeSpan const &)const 
-??GWBEMTimeSpan@@QBE?AV0@ABV0@@Z
-; class CHString  __stdcall operator+(class CHString const &,class CHString const &)
-??H@YG?AVCHString@@ABV0@0@Z
-; class CHString  __stdcall operator+(class CHString const &,unsigned short)
-??H@YG?AVCHString@@ABV0@G@Z
-; class CHString  __stdcall operator+(class CHString const &,unsigned short const *)
-??H@YG?AVCHString@@ABV0@PBG@Z
-; class CHString  __stdcall operator+(unsigned short,class CHString const &)
-??H@YG?AVCHString@@GABV0@@Z
-; class CHString  __stdcall operator+(unsigned short const *,class CHString const &)
-??H@YG?AVCHString@@PBGABV0@@Z
-; public: class WBEMTime  __thiscall WBEMTime::operator+(class WBEMTimeSpan const &)const 
-??HWBEMTime@@QBE?AV0@ABVWBEMTimeSpan@@@Z
-; public: class WBEMTimeSpan  __thiscall WBEMTimeSpan::operator+(class WBEMTimeSpan const &)const 
-??HWBEMTimeSpan@@QBE?AV0@ABV0@@Z
-; public: int __thiscall WBEMTime::operator<(class WBEMTime const &)const 
-??MWBEMTime@@QBEHABV0@@Z
-; public: int __thiscall WBEMTimeSpan::operator<(class WBEMTimeSpan const &)const 
-??MWBEMTimeSpan@@QBEHABV0@@Z
-; public: int __thiscall WBEMTime::operator<=(class WBEMTime const &)const 
-??NWBEMTime@@QBEHABV0@@Z
-; public: int __thiscall WBEMTimeSpan::operator<=(class WBEMTimeSpan const &)const 
-??NWBEMTimeSpan@@QBEHABV0@@Z
-; public: int __thiscall WBEMTime::operator>(class WBEMTime const &)const 
-??OWBEMTime@@QBEHABV0@@Z
-; public: int __thiscall WBEMTimeSpan::operator>(class WBEMTimeSpan const &)const 
-??OWBEMTimeSpan@@QBEHABV0@@Z
-; public: int __thiscall WBEMTime::operator>=(class WBEMTime const &)const 
-??PWBEMTime@@QBEHABV0@@Z
-; public: int __thiscall WBEMTimeSpan::operator>=(class WBEMTimeSpan const &)const 
-??PWBEMTimeSpan@@QBEHABV0@@Z
-; public: class CHString const & __thiscall CHString::operator+=(class CHString const &)
-??YCHString@@QAEABV0@ABV0@@Z
-; public: class CHString const & __thiscall CHString::operator+=(char)
-??YCHString@@QAEABV0@D@Z
-; public: class CHString const & __thiscall CHString::operator+=(unsigned short)
-??YCHString@@QAEABV0@G@Z
-; public: class CHString const & __thiscall CHString::operator+=(unsigned short const *)
-??YCHString@@QAEABV0@PBG@Z
-; public: class WBEMTime const & __thiscall WBEMTime::operator+=(class WBEMTimeSpan const &)
-??YWBEMTime@@QAEABV0@ABVWBEMTimeSpan@@@Z
-; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator+=(class WBEMTimeSpan const &)
-??YWBEMTimeSpan@@QAEABV0@ABV0@@Z
-; public: class WBEMTime const & __thiscall WBEMTime::operator-=(class WBEMTimeSpan const &)
-??ZWBEMTime@@QAEABV0@ABVWBEMTimeSpan@@@Z
-; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator-=(class WBEMTimeSpan const &)
-??ZWBEMTimeSpan@@QAEABV0@ABV0@@Z
-; const  CFrameworkQueryEx::`vftable'
-??_7CFrameworkQueryEx@@6B@
-; const  CInstance::`vftable'
-??_7CInstance@@6B@
-; const  CThreadBase::`vftable'
-??_7CThreadBase@@6B@
-; const  CWbemGlueFactory::`vftable'
-??_7CWbemGlueFactory@@6B@
-; const  CWbemProviderGlue::`vftable'{for `IWbemProviderInit'}
-??_7CWbemProviderGlue@@6BIWbemProviderInit@@@
-; const  CWbemProviderGlue::`vftable'{for `IWbemServices'}
-??_7CWbemProviderGlue@@6BIWbemServices@@@
-; const  CWinMsgEvent::`vftable'
-??_7CWinMsgEvent@@6B@
-; const  MethodContext::`vftable'
-??_7MethodContext@@6B@
-; const  Provider::`vftable'
-??_7Provider@@6B@
-; const  ProviderLog::`vftable'
-??_7ProviderLog@@6B@
-; public: void __thiscall CObjectPathParser::`default constructor closure'(void)
-??_FCObjectPathParser@@QAEXXZ
-; public: void __thiscall CThreadBase::`default constructor closure'(void)
-??_FCThreadBase@@QAEXXZ
-; public: int __thiscall CHPtrArray::Add(void *)
-?Add@CHPtrArray@@QAEHPAX@Z
-; public: int __thiscall CHStringArray::Add(unsigned short const *)
-?Add@CHStringArray@@QAEHPBG@Z
-; private: void __thiscall CWbemProviderGlue::AddFlushPtr(void *)
-?AddFlushPtr@CWbemProviderGlue@@AAEXPAX@Z
-; public: int __thiscall ParsedObjectPath::AddKeyRef(struct KeyRef *)
-?AddKeyRef@ParsedObjectPath@@QAEHPAUKeyRef@@@Z
-; public: int __thiscall ParsedObjectPath::AddKeyRef(unsigned short const *,struct tagVARIANT const *)
-?AddKeyRef@ParsedObjectPath@@QAEHPBGPBUtagVARIANT@@@Z
-; public: int __thiscall ParsedObjectPath::AddKeyRefEx(unsigned short const *,struct tagVARIANT const *)
-?AddKeyRefEx@ParsedObjectPath@@QAEHPBGPBUtagVARIANT@@@Z
-; public: int __thiscall ParsedObjectPath::AddNamespace(unsigned short const *)
-?AddNamespace@ParsedObjectPath@@QAEHPBG@Z
-; private: static class Provider * __stdcall CWbemProviderGlue::AddProviderToMap(unsigned short const *,unsigned short const *,class Provider *)
-?AddProviderToMap@CWbemProviderGlue@@CGPAVProvider@@PBG0PAV2@@Z
-; public: long __thiscall CInstance::AddRef(void)
-?AddRef@CInstance@@QAEJXZ
-; public: long __thiscall CThreadBase::AddRef(void)
-?AddRef@CThreadBase@@QAEJXZ
-; public: virtual unsigned long __stdcall CWbemGlueFactory::AddRef(void)
-?AddRef@CWbemGlueFactory@@UAGKXZ
-; public: virtual unsigned long __stdcall CWbemProviderGlue::AddRef(void)
-?AddRef@CWbemProviderGlue@@UAGKXZ
-; public: long __thiscall MethodContext::AddRef(void)
-?AddRef@MethodContext@@QAEJXZ
-; protected: static void __stdcall CWbemProviderGlue::AddToFactoryMap(class CWbemGlueFactory const *,long *)
-?AddToFactoryMap@CWbemProviderGlue@@KGXPBVCWbemGlueFactory@@PAJ@Z
-; public: bool __thiscall CFrameworkQuery::AllPropertiesAreRequired(void)
-?AllPropertiesAreRequired@CFrameworkQuery@@QAE_NXZ
-; protected: void __thiscall CHString::AllocBeforeWrite(int)
-?AllocBeforeWrite@CHString@@IAEXH@Z
-; protected: void __thiscall CHString::AllocBuffer(int)
-?AllocBuffer@CHString@@IAEXH@Z
-; protected: void __thiscall CHString::AllocCopy(class CHString &,int,int,int)const 
-?AllocCopy@CHString@@IBEXAAV1@HHH@Z
-; public: unsigned short * __thiscall CHString::AllocSysString(void)const 
-?AllocSysString@CHString@@QBEPAGXZ
-; public: int __thiscall CHPtrArray::Append(class CHPtrArray const &)
-?Append@CHPtrArray@@QAEHABV1@@Z
-; public: int __thiscall CHStringArray::Append(class CHStringArray const &)
-?Append@CHStringArray@@QAEHABV1@@Z
-; protected: void __thiscall CHString::AssignCopy(int,unsigned short const *)
-?AssignCopy@CHString@@IAEXHPBG@Z
-; public: int __thiscall CThreadBase::BeginRead(unsigned long)
-?BeginRead@CThreadBase@@QAEHK@Z
-; public: int __thiscall CThreadBase::BeginWrite(unsigned long)
-?BeginWrite@CThreadBase@@QAEHK@Z
-; public: virtual long __stdcall CWbemProviderGlue::CancelAsyncCall(struct IWbemObjectSink *)
-?CancelAsyncCall@CWbemProviderGlue@@UAGJPAUIWbemObjectSink@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::CancelAsyncRequest(long)
-?CancelAsyncRequest@CWbemProviderGlue@@UAGJJ@Z
-; private: void __thiscall CRegistrySearch::CheckAndAddToList(class CRegistry *,class CHString,class CHString,class CHPtrArray &,class CHString,class CHString,int)
-?CheckAndAddToList@CRegistrySearch@@AAEXPAVCRegistry@@VCHString@@1AAVCHPtrArray@@11H@Z
-; private: void __thiscall ProviderLog::CheckFileSize(union _LARGE_INTEGER &,class CHString const &)
-?CheckFileSize@ProviderLog@@AAEXAAT_LARGE_INTEGER@@ABVCHString@@@Z
-; private: static long __stdcall CWbemProviderGlue::CheckImpersonationLevel(void)
-?CheckImpersonationLevel@CWbemProviderGlue@@CGJXZ
-; public: void __thiscall WBEMTime::Clear(void)
-?Clear@WBEMTime@@QAEXXZ
-; public: void __thiscall WBEMTimeSpan::Clear(void)
-?Clear@WBEMTimeSpan@@QAEXXZ
-; public: void __thiscall ParsedObjectPath::ClearKeys(void)
-?ClearKeys@ParsedObjectPath@@QAEXXZ
-; public: void __thiscall CRegistry::Close(void)
-?Close@CRegistry@@QAEXXZ
-; private: void __thiscall CRegistry::CloseSubKey(void)
-?CloseSubKey@CRegistry@@AAEXXZ
-; public: int __thiscall CHString::Collate(unsigned short const *)const 
-?Collate@CHString@@QBEHPBG@Z
-; public: long __thiscall CInstance::Commit(void)
-?Commit@CInstance@@QAEJXZ
-; protected: long __thiscall Provider::Commit(class CInstance *,bool)
-?Commit@Provider@@IAEJPAVCInstance@@_N@Z
-; public: int __thiscall CHString::Compare(unsigned short const *)const 
-?Compare@CHString@@QBEHPBG@Z
-; public: int __thiscall CHString::CompareNoCase(unsigned short const *)const 
-?CompareNoCase@CHString@@QBEHPBG@Z
-; protected: void __thiscall CHString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
-?ConcatCopy@CHString@@IAEXHPBGH0@Z
-; protected: void __thiscall CHString::ConcatInPlace(int,unsigned short const *)
-?ConcatInPlace@CHString@@IAEXHPBG@Z
-; public: void __thiscall CHPtrArray::Copy(class CHPtrArray const &)
-?Copy@CHPtrArray@@QAEXABV1@@Z
-; public: void __thiscall CHStringArray::Copy(class CHStringArray const &)
-?Copy@CHStringArray@@QAEXABV1@@Z
-; protected: void __thiscall CHString::CopyBeforeWrite(void)
-?CopyBeforeWrite@CHString@@IAEXXZ
-; public: virtual long __stdcall CWbemProviderGlue::CreateClassEnum(unsigned short * const,long,struct IWbemContext *,struct IEnumWbemClassObject * *)
-?CreateClassEnum@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIEnumWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::CreateClassEnumAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
-?CreateClassEnumAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
-; public: virtual long __stdcall CWbemGlueFactory::CreateInstance(struct IUnknown *,struct _GUID const &,void * *)
-?CreateInstance@CWbemGlueFactory@@UAGJPAUIUnknown@@ABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CWbemProviderGlue::CreateInstanceEnum(unsigned short * const,long,struct IWbemContext *,struct IEnumWbemClassObject * *)
-?CreateInstanceEnum@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIEnumWbemClassObject@@@Z
-; private: long __thiscall Provider::CreateInstanceEnum(class MethodContext *,long)
-?CreateInstanceEnum@Provider@@AAEJPAVMethodContext@@J@Z
-; public: virtual long __stdcall CWbemProviderGlue::CreateInstanceEnumAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
-?CreateInstanceEnumAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
-; private: static void __stdcall CWinMsgEvent::CreateMsgProvider(void)
-?CreateMsgProvider@CWinMsgEvent@@CGXXZ
-; private: static struct HWND__ * __stdcall CWinMsgEvent::CreateMsgWindow(void)
-?CreateMsgWindow@CWinMsgEvent@@CGPAUHWND__@@XZ
-; protected: class CInstance * __thiscall Provider::CreateNewInstance(class MethodContext *)
-?CreateNewInstance@Provider@@IAEPAVCInstance@@PAVMethodContext@@@Z
-; public: long __thiscall CRegistry::CreateOpen(struct HKEY__ *,unsigned short const *,unsigned short *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES *,unsigned long *)
-?CreateOpen@CRegistry@@QAEJPAUHKEY__@@PBGPAGKKPAU_SECURITY_ATTRIBUTES@@PAK@Z
-; private: static int __stdcall CWinMsgEvent::CtrlHandlerRoutine(unsigned long)
-?CtrlHandlerRoutine@CWinMsgEvent@@CGHK@Z
-; protected: static long __stdcall CWbemProviderGlue::DecrementMapCount(long *)
-?DecrementMapCount@CWbemProviderGlue@@KGJPAJ@Z
-; protected: static long __stdcall CWbemProviderGlue::DecrementMapCount(class CWbemGlueFactory const *)
-?DecrementMapCount@CWbemProviderGlue@@KGJPBVCWbemGlueFactory@@@Z
-; public: static long __stdcall CWbemProviderGlue::DecrementObjectCount(void)
-?DecrementObjectCount@CWbemProviderGlue@@SGJXZ
-; public: virtual long __stdcall CWbemProviderGlue::DeleteClass(unsigned short * const,long,struct IWbemContext *,struct IWbemCallResult * *)
-?DeleteClass@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIWbemCallResult@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::DeleteClassAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
-?DeleteClassAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
-; public: unsigned long __thiscall CRegistry::DeleteCurrentKeyValue(struct HKEY__ *,unsigned short const *)
-?DeleteCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBG@Z
-; public: unsigned long __thiscall CRegistry::DeleteCurrentKeyValue(unsigned short const *)
-?DeleteCurrentKeyValue@CRegistry@@QAEKPBG@Z
-; public: virtual long __stdcall CWbemProviderGlue::DeleteInstance(unsigned short * const,long,struct IWbemContext *,struct IWbemCallResult * *)
-?DeleteInstance@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIWbemCallResult@@@Z
-; private: long __thiscall Provider::DeleteInstance(struct ParsedObjectPath *,long,class MethodContext *)
-?DeleteInstance@Provider@@AAEJPAUParsedObjectPath@@JPAVMethodContext@@@Z
-; protected: virtual long __thiscall Provider::DeleteInstance(class CInstance const &,long)
-?DeleteInstance@Provider@@MAEJABVCInstance@@J@Z
-; public: virtual long __stdcall CWbemProviderGlue::DeleteInstanceAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
-?DeleteInstanceAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
-; public: long __thiscall CRegistry::DeleteKey(class CHString *)
-?DeleteKey@CRegistry@@QAEJPAVCHString@@@Z
-; public: long __thiscall CRegistry::DeleteValue(unsigned short const *)
-?DeleteValue@CRegistry@@QAEJPBG@Z
-; private: static void __stdcall CWinMsgEvent::DestroyMsgWindow(void)
-?DestroyMsgWindow@CWinMsgEvent@@CGXXZ
-; public: void * & __thiscall CHPtrArray::ElementAt(int)
-?ElementAt@CHPtrArray@@QAEAAPAXH@Z
-; public: class CHString & __thiscall CHStringArray::ElementAt(int)
-?ElementAt@CHStringArray@@QAEAAVCHString@@H@Z
-; public: void __thiscall CHString::Empty(void)
-?Empty@CHString@@QAEXXZ
-; private: void __thiscall CObjectPathParser::Empty(void)
-?Empty@CObjectPathParser@@AAEXXZ
-; public: void __thiscall CThreadBase::EndRead(void)
-?EndRead@CThreadBase@@QAEXXZ
-; public: void __thiscall CThreadBase::EndWrite(void)
-?EndWrite@CThreadBase@@QAEXXZ
-; public: long __thiscall CRegistry::EnumerateAndGetValues(unsigned long &,unsigned short * &,unsigned char * &)
-?EnumerateAndGetValues@CRegistry@@QAEJAAKAAPAGAAPAE@Z
-; protected: virtual long __thiscall Provider::EnumerateInstances(class MethodContext *,long)
-?EnumerateInstances@Provider@@MAEJPAVMethodContext@@J@Z
-; public: virtual long __stdcall CWbemProviderGlue::ExecMethod(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IWbemClassObject *,struct IWbemClassObject * *,struct IWbemCallResult * *)
-?ExecMethod@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAUIWbemClassObject@@PAPAU3@PAPAUIWbemCallResult@@@Z
-; private: long __thiscall Provider::ExecMethod(struct ParsedObjectPath *,unsigned short *,long,class CInstance *,class CInstance *,class MethodContext *)
-?ExecMethod@Provider@@AAEJPAUParsedObjectPath@@PAGJPAVCInstance@@2PAVMethodContext@@@Z
-; protected: virtual long __thiscall Provider::ExecMethod(class CInstance const &,unsigned short * const,class CInstance *,class CInstance *,long)
-?ExecMethod@Provider@@MAEJABVCInstance@@QAGPAV2@2J@Z
-; public: virtual long __stdcall CWbemProviderGlue::ExecMethodAsync(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IWbemClassObject *,struct IWbemObjectSink *)
-?ExecMethodAsync@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAUIWbemClassObject@@PAUIWbemObjectSink@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::ExecNotificationQuery(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IEnumWbemClassObject * *)
-?ExecNotificationQuery@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAPAUIEnumWbemClassObject@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::ExecNotificationQueryAsync(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
-?ExecNotificationQueryAsync@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAUIWbemObjectSink@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::ExecQuery(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IEnumWbemClassObject * *)
-?ExecQuery@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAPAUIEnumWbemClassObject@@@Z
-; protected: virtual long __thiscall Provider::ExecQuery(class MethodContext *,class CFrameworkQuery &,long)
-?ExecQuery@Provider@@MAEJPAVMethodContext@@AAVCFrameworkQuery@@J@Z
-; public: virtual long __stdcall CWbemProviderGlue::ExecQueryAsync(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
-?ExecQueryAsync@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAUIWbemObjectSink@@@Z
-; private: long __thiscall Provider::ExecuteQuery(class MethodContext *,class CFrameworkQuery &,long)
-?ExecuteQuery@Provider@@AAEJPAVMethodContext@@AAVCFrameworkQuery@@J@Z
-; public: static long __stdcall CWbemProviderGlue::FillInstance(class CInstance *,unsigned short const *)
-?FillInstance@CWbemProviderGlue@@SGJPAVCInstance@@PBG@Z
-; public: static long __stdcall CWbemProviderGlue::FillInstance(class MethodContext *,class CInstance *)
-?FillInstance@CWbemProviderGlue@@SGJPAVMethodContext@@PAVCInstance@@@Z
-; public: int __thiscall CHString::Find(unsigned short)const 
-?Find@CHString@@QBEHG@Z
-; public: int __thiscall CHString::Find(unsigned short const *)const 
-?Find@CHString@@QBEHPBG@Z
-; public: int __thiscall CHString::FindOneOf(unsigned short const *)const 
-?FindOneOf@CHString@@QBEHPBG@Z
-; protected: virtual void __thiscall Provider::Flush(void)
-?Flush@Provider@@MAEXXZ
-; private: void __thiscall CWbemProviderGlue::FlushAll(void)
-?FlushAll@CWbemProviderGlue@@AAEXXZ
-; public: void __cdecl CHString::Format(unsigned int,...)
-?Format@CHString@@QAAXIZZ
-; public: void __cdecl CHString::Format(unsigned short const *,...)
-?Format@CHString@@QAAXPBGZZ
-; public: void __cdecl CHString::FormatMessageW(unsigned int,...)
-?FormatMessageW@CHString@@QAAXIZZ
-; public: void __cdecl CHString::FormatMessageW(unsigned short const *,...)
-?FormatMessageW@CHString@@QAAXPBGZZ
-; public: void __thiscall CHString::FormatV(unsigned short const *,char *)
-?FormatV@CHString@@QAEXPBGPAD@Z
-; public: static void __stdcall CWbemProviderGlue::FrameworkLogin(unsigned short const *,class Provider *,unsigned short const *)
-?FrameworkLogin@CWbemProviderGlue@@SGXPBGPAVProvider@@0@Z
-; public: static int __stdcall CWbemProviderGlue::FrameworkLoginDLL(unsigned short const *)
-?FrameworkLoginDLL@CWbemProviderGlue@@SGHPBG@Z
-; public: static int __stdcall CWbemProviderGlue::FrameworkLoginDLL(unsigned short const *,long *)
-?FrameworkLoginDLL@CWbemProviderGlue@@SGHPBGPAJ@Z
-; public: static void __stdcall CWbemProviderGlue::FrameworkLogoff(unsigned short const *,unsigned short const *)
-?FrameworkLogoff@CWbemProviderGlue@@SGXPBG0@Z
-; public: static int __stdcall CWbemProviderGlue::FrameworkLogoffDLL(unsigned short const *)
-?FrameworkLogoffDLL@CWbemProviderGlue@@SGHPBG@Z
-; public: static int __stdcall CWbemProviderGlue::FrameworkLogoffDLL(unsigned short const *,long *)
-?FrameworkLogoffDLL@CWbemProviderGlue@@SGHPBGPAJ@Z
-; public: void __thiscall CObjectPathParser::Free(struct ParsedObjectPath *)
-?Free@CObjectPathParser@@QAEXPAUParsedObjectPath@@@Z
-; public: void __thiscall CHPtrArray::FreeExtra(void)
-?FreeExtra@CHPtrArray@@QAEXXZ
-; public: void __thiscall CHString::FreeExtra(void)
-?FreeExtra@CHString@@QAEXXZ
-; public: void __thiscall CHStringArray::FreeExtra(void)
-?FreeExtra@CHStringArray@@QAEXXZ
-; public: int __thiscall CRegistrySearch::FreeSearchList(int,class CHPtrArray &)
-?FreeSearchList@CRegistrySearch@@QAEHHAAVCHPtrArray@@@Z
-; public: static long __stdcall CWbemProviderGlue::GetAllDerivedInstances(unsigned short const *,class TRefPointerCollection<class CInstance> *,class MethodContext *,unsigned short const *)
-?GetAllDerivedInstances@CWbemProviderGlue@@SGJPBGPAV?$TRefPointerCollection@VCInstance@@@@PAVMethodContext@@0@Z
-; public: static long __stdcall CWbemProviderGlue::GetAllDerivedInstancesAsynch(unsigned short const *,class Provider *,long (__stdcall*)(class Provider *,class CInstance *,class MethodContext *,void *),unsigned short const *,class MethodContext *,void *)
-?GetAllDerivedInstancesAsynch@CWbemProviderGlue@@SGJPBGPAVProvider@@P6GJ1PAVCInstance@@PAVMethodContext@@PAX@Z034@Z
-; public: static long __stdcall CWbemProviderGlue::GetAllInstances(unsigned short const *,class TRefPointerCollection<class CInstance> *,unsigned short const *,class MethodContext *)
-?GetAllInstances@CWbemProviderGlue@@SGJPBGPAV?$TRefPointerCollection@VCInstance@@@@0PAVMethodContext@@@Z
-; public: static long __stdcall CWbemProviderGlue::GetAllInstancesAsynch(unsigned short const *,class Provider *,long (__stdcall*)(class Provider *,class CInstance *,class MethodContext *,void *),unsigned short const *,class MethodContext *,void *)
-?GetAllInstancesAsynch@CWbemProviderGlue@@SGJPBGPAVProvider@@P6GJ1PAVCInstance@@PAVMethodContext@@PAX@Z034@Z
-; public: int __thiscall CHString::GetAllocLength(void)const 
-?GetAllocLength@CHString@@QBEHXZ
-; public: void * __thiscall CHPtrArray::GetAt(int)const 
-?GetAt@CHPtrArray@@QBEPAXH@Z
-; public: unsigned short __thiscall CHString::GetAt(int)const 
-?GetAt@CHString@@QBEGH@Z
-; public: class CHString  __thiscall CHStringArray::GetAt(int)const 
-?GetAt@CHStringArray@@QBE?AVCHString@@H@Z
-; public: unsigned short * __thiscall WBEMTime::GetBSTR(void)const 
-?GetBSTR@WBEMTime@@QBEPAGXZ
-; public: unsigned short * __thiscall WBEMTimeSpan::GetBSTR(void)const 
-?GetBSTR@WBEMTimeSpan@@QBEPAGXZ
-; public: unsigned short * __thiscall CHString::GetBuffer(int)
-?GetBuffer@CHString@@QAEPAGH@Z
-; public: unsigned short * __thiscall CHString::GetBufferSetLength(int)
-?GetBufferSetLength@CHString@@QAEPAGH@Z
-; public: bool __thiscall CInstance::GetByte(unsigned short const *,unsigned char &)const 
-?GetByte@CInstance@@QBE_NPBGAAE@Z
-; public: bool __thiscall CInstance::GetCHString(unsigned short const *,class CHString &)const 
-?GetCHString@CInstance@@QBE_NPBGAAVCHString@@@Z
-; public: static unsigned short const * __stdcall CWbemProviderGlue::GetCSDVersion(void)
-?GetCSDVersion@CWbemProviderGlue@@SGPBGXZ
-; public: unsigned short * __thiscall CRegistry::GetClassNameW(void)
-?GetClassNameW@CRegistry@@QAEPAGXZ
-; public: struct IWbemClassObject * __thiscall CInstance::GetClassObjectInterface(void)
-?GetClassObjectInterface@CInstance@@QAEPAUIWbemClassObject@@XZ
-; private: struct IWbemClassObject * __thiscall Provider::GetClassObjectInterface(class MethodContext *)
-?GetClassObjectInterface@Provider@@AAEPAUIWbemClassObject@@PAVMethodContext@@@Z
-; private: static void __stdcall CWbemProviderGlue::GetComputerNameW(class CHString &)
-?GetComputerNameW@CWbemProviderGlue@@CGXAAVCHString@@@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentBinaryKeyValue(struct HKEY__ *,unsigned short const *,unsigned char *,unsigned long *)
-?GetCurrentBinaryKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGPAEPAK@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentBinaryKeyValue(unsigned short const *,class CHString &)
-?GetCurrentBinaryKeyValue@CRegistry@@QAEKPBGAAVCHString@@@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentBinaryKeyValue(unsigned short const *,unsigned char *,unsigned long *)
-?GetCurrentBinaryKeyValue@CRegistry@@QAEKPBGPAEPAK@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(struct HKEY__ *,unsigned short const *,unsigned long &)
-?GetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAK@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(struct HKEY__ *,unsigned short const *,class CHString &)
-?GetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHString@@@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(struct HKEY__ *,unsigned short const *,class CHStringArray &)
-?GetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHStringArray@@@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(unsigned short const *,unsigned long &)
-?GetCurrentKeyValue@CRegistry@@QAEKPBGAAK@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(unsigned short const *,class CHString &)
-?GetCurrentKeyValue@CRegistry@@QAEKPBGAAVCHString@@@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(unsigned short const *,class CHStringArray &)
-?GetCurrentKeyValue@CRegistry@@QAEKPBGAAVCHStringArray@@@Z
-; private: unsigned long __thiscall CRegistry::GetCurrentRawKeyValue(struct HKEY__ *,unsigned short const *,void *,unsigned long *,unsigned long *)
-?GetCurrentRawKeyValue@CRegistry@@AAEKPAUHKEY__@@PBGPAXPAK3@Z
-; private: unsigned long __thiscall CRegistry::GetCurrentRawSubKeyValue(unsigned short const *,void *,unsigned long *,unsigned long *)
-?GetCurrentRawSubKeyValue@CRegistry@@AAEKPBGPAXPAK2@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyCount(void)
-?GetCurrentSubKeyCount@CRegistry@@QAEKXZ
-; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyName(class CHString &)
-?GetCurrentSubKeyName@CRegistry@@QAEKAAVCHString@@@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyPath(class CHString &)
-?GetCurrentSubKeyPath@CRegistry@@QAEKAAVCHString@@@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyValue(unsigned short const *,unsigned long &)
-?GetCurrentSubKeyValue@CRegistry@@QAEKPBGAAK@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyValue(unsigned short const *,class CHString &)
-?GetCurrentSubKeyValue@CRegistry@@QAEKPBGAAVCHString@@@Z
-; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyValue(unsigned short const *,void *,unsigned long *)
-?GetCurrentSubKeyValue@CRegistry@@QAEKPBGPAXPAK@Z
-; public: unsigned short * __thiscall WBEMTime::GetDMTF(int)const 
-?GetDMTF@WBEMTime@@QBEPAGH@Z
-; public: unsigned short * __thiscall WBEMTime::GetDMTFNonNtfs(void)const 
-?GetDMTFNonNtfs@WBEMTime@@QBEPAGXZ
-; public: bool __thiscall CInstance::GetDOUBLE(unsigned short const *,double &)const 
-?GetDOUBLE@CInstance@@QBE_NPBGAAN@Z
-; public: bool __thiscall CInstance::GetDWORD(unsigned short const *,unsigned long &)const 
-?GetDWORD@CInstance@@QBE_NPBGAAK@Z
-; public: void * * __thiscall CHPtrArray::GetData(void)
-?GetData@CHPtrArray@@QAEPAPAXXZ
-; public: void const * * __thiscall CHPtrArray::GetData(void)const 
-?GetData@CHPtrArray@@QBEPAPBXXZ
-; protected: struct CHStringData * __thiscall CHString::GetData(void)const 
-?GetData@CHString@@IBEPAUCHStringData@@XZ
-; public: class CHString * __thiscall CHStringArray::GetData(void)
-?GetData@CHStringArray@@QAEPAVCHString@@XZ
-; public: class CHString const * __thiscall CHStringArray::GetData(void)const 
-?GetData@CHStringArray@@QBEPBVCHString@@XZ
-; public: bool __thiscall CInstance::GetDateTime(unsigned short const *,class WBEMTime &)const 
-?GetDateTime@CInstance@@QBE_NPBGAAVWBEMTime@@@Z
-; public: bool __thiscall CInstance::GetEmbeddedObject(unsigned short const *,class CInstance * *,class MethodContext *)const 
-?GetEmbeddedObject@CInstance@@QBE_NPBGPAPAV1@PAVMethodContext@@@Z
-; public: static long __stdcall CWbemProviderGlue::GetEmptyInstance(class MethodContext *,unsigned short const *,class CInstance * *,unsigned short const *)
-?GetEmptyInstance@CWbemProviderGlue@@SGJPAVMethodContext@@PBGPAPAVCInstance@@1@Z
-; public: static long __stdcall CWbemProviderGlue::GetEmptyInstance(unsigned short const *,class CInstance * *,unsigned short const *)
-?GetEmptyInstance@CWbemProviderGlue@@SGJPBGPAPAVCInstance@@0@Z
-; public: int __thiscall WBEMTime::GetFILETIME(struct _FILETIME *)const 
-?GetFILETIME@WBEMTime@@QBEHPAU_FILETIME@@@Z
-; public: int __thiscall WBEMTimeSpan::GetFILETIME(struct _FILETIME *)const 
-?GetFILETIME@WBEMTimeSpan@@QBEHPAU_FILETIME@@@Z
-; public: virtual struct IWbemContext * __thiscall MethodContext::GetIWBEMContext(void)
-?GetIWBEMContext@MethodContext@@UAEPAUIWbemContext@@XZ
-; public: static long __stdcall CWbemProviderGlue::GetInstanceByPath(unsigned short const *,class CInstance * *,class MethodContext *)
-?GetInstanceByPath@CWbemProviderGlue@@SGJPBGPAPAVCInstance@@PAVMethodContext@@@Z
-; private: static long __stdcall CWbemProviderGlue::GetInstanceFromCIMOM(unsigned short const *,unsigned short const *,class MethodContext *,class CInstance * *)
-?GetInstanceFromCIMOM@CWbemProviderGlue@@CGJPBG0PAVMethodContext@@PAPAVCInstance@@@Z
-; public: static long __stdcall CWbemProviderGlue::GetInstanceKeysByPath(unsigned short const *,class CInstance * *,class MethodContext *)
-?GetInstanceKeysByPath@CWbemProviderGlue@@SGJPBGPAPAVCInstance@@PAVMethodContext@@@Z
-; public: static long __stdcall CWbemProviderGlue::GetInstancePropertiesByPath(unsigned short const *,class CInstance * *,class MethodContext *,class CHStringArray &)
-?GetInstancePropertiesByPath@CWbemProviderGlue@@SGJPBGPAPAVCInstance@@PAVMethodContext@@AAVCHStringArray@@@Z
-; public: static long __stdcall CWbemProviderGlue::GetInstancesByQuery(unsigned short const *,class TRefPointerCollection<class CInstance> *,class MethodContext *,unsigned short const *)
-?GetInstancesByQuery@CWbemProviderGlue@@SGJPBGPAV?$TRefPointerCollection@VCInstance@@@@PAVMethodContext@@0@Z
-; public: static long __stdcall CWbemProviderGlue::GetInstancesByQueryAsynch(unsigned short const *,class Provider *,long (__stdcall*)(class Provider *,class CInstance *,class MethodContext *,void *),unsigned short const *,class MethodContext *,void *)
-?GetInstancesByQueryAsynch@CWbemProviderGlue@@SGJPBGPAVProvider@@P6GJ1PAVCInstance@@PAVMethodContext@@PAX@Z034@Z
-; public: unsigned short * __thiscall ParsedObjectPath::GetKeyString(void)
-?GetKeyString@ParsedObjectPath@@QAEPAGXZ
-; public: int __thiscall CHString::GetLength(void)const 
-?GetLength@CHString@@QBEHXZ
-; protected: class CHString const & __thiscall Provider::GetLocalComputerName(void)
-?GetLocalComputerName@Provider@@IAEABVCHString@@XZ
-; protected: bool __thiscall Provider::GetLocalInstancePath(class CInstance const *,class CHString &)
-?GetLocalInstancePath@Provider@@IAE_NPBVCInstance@@AAVCHString@@@Z
-; public: static long __stdcall WBEMTime::GetLocalOffsetForDate(long const &)
-?GetLocalOffsetForDate@WBEMTime@@SGJABJ@Z
-; public: static long __stdcall WBEMTime::GetLocalOffsetForDate(struct _FILETIME const *)
-?GetLocalOffsetForDate@WBEMTime@@SGJPBU_FILETIME@@@Z
-; public: static long __stdcall WBEMTime::GetLocalOffsetForDate(struct _SYSTEMTIME const *)
-?GetLocalOffsetForDate@WBEMTime@@SGJPBU_SYSTEMTIME@@@Z
-; public: static long __stdcall WBEMTime::GetLocalOffsetForDate(struct tm const *)
-?GetLocalOffsetForDate@WBEMTime@@SGJPBUtm@@@Z
-; public: unsigned long __thiscall CRegistry::GetLongestClassStringSize(void)
-?GetLongestClassStringSize@CRegistry@@QAEKXZ
-; public: unsigned long __thiscall CRegistry::GetLongestSubKeySize(void)
-?GetLongestSubKeySize@CRegistry@@QAEKXZ
-; public: unsigned long __thiscall CRegistry::GetLongestValueData(void)
-?GetLongestValueData@CRegistry@@QAEKXZ
-; public: unsigned long __thiscall CRegistry::GetLongestValueName(void)
-?GetLongestValueName@CRegistry@@QAEKXZ
-; protected: static long * __stdcall CWbemProviderGlue::GetMapCountPtr(class CWbemGlueFactory const *)
-?GetMapCountPtr@CWbemProviderGlue@@KGPAJPBVCWbemGlueFactory@@@Z
-; public: class MethodContext * __thiscall CInstance::GetMethodContext(void)const 
-?GetMethodContext@CInstance@@QBEPAVMethodContext@@XZ
-; protected: class CHString const & __thiscall CFrameworkQuery::GetNamespace(void)
-?GetNamespace@CFrameworkQuery@@IAEABVCHString@@XZ
-; protected: class CHString const & __thiscall Provider::GetNamespace(void)
-?GetNamespace@Provider@@IAEABVCHString@@XZ
-; public: static struct IWbemServices * __stdcall CWbemProviderGlue::GetNamespaceConnection(unsigned short const *)
-?GetNamespaceConnection@CWbemProviderGlue@@SGPAUIWbemServices@@PBG@Z
-; public: static struct IWbemServices * __stdcall CWbemProviderGlue::GetNamespaceConnection(unsigned short const *,class MethodContext *)
-?GetNamespaceConnection@CWbemProviderGlue@@SGPAUIWbemServices@@PBGPAVMethodContext@@@Z
-; public: unsigned short * __thiscall ParsedObjectPath::GetNamespacePart(void)
-?GetNamespacePart@ParsedObjectPath@@QAEPAGXZ
-; public: static unsigned long __stdcall CWbemProviderGlue::GetOSMajorVersion(void)
-?GetOSMajorVersion@CWbemProviderGlue@@SGKXZ
-; public: virtual long __stdcall CWbemProviderGlue::GetObject(unsigned short * const,long,struct IWbemContext *,struct IWbemClassObject * *,struct IWbemCallResult * *)
-?GetObject@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIWbemClassObject@@PAPAUIWbemCallResult@@@Z
-; private: long __thiscall Provider::GetObject(struct ParsedObjectPath *,class MethodContext *,long)
-?GetObject@Provider@@AAEJPAUParsedObjectPath@@PAVMethodContext@@J@Z
-; protected: virtual long __thiscall Provider::GetObject(class CInstance *,long)
-?GetObject@Provider@@MAEJPAVCInstance@@J@Z
-; protected: virtual long __thiscall Provider::GetObject(class CInstance *,long,class CFrameworkQuery &)
-?GetObject@Provider@@MAEJPAVCInstance@@JAAVCFrameworkQuery@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::GetObjectAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
-?GetObjectAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
-; public: unsigned short * __thiscall ParsedObjectPath::GetParentNamespacePart(void)
-?GetParentNamespacePart@ParsedObjectPath@@QAEPAGXZ
-; public: static unsigned long __stdcall CWbemProviderGlue::GetPlatform(void)
-?GetPlatform@CWbemProviderGlue@@SGKXZ
-; public: void __thiscall CFrameworkQueryEx::GetPropertyBitMask(class CHPtrArray const &,void *)
-?GetPropertyBitMask@CFrameworkQueryEx@@QAEXABVCHPtrArray@@PAX@Z
-; private: class CWbemProviderGlue * __thiscall MethodContext::GetProviderGlue(void)
-?GetProviderGlue@MethodContext@@AAEPAVCWbemProviderGlue@@XZ
-; protected: class CHString const & __thiscall Provider::GetProviderName(void)
-?GetProviderName@Provider@@IAEABVCHString@@XZ
-; public: class CHString const & __thiscall CFrameworkQuery::GetQuery(void)
-?GetQuery@CFrameworkQuery@@QAEABVCHString@@XZ
-; public: unsigned short * __thiscall CFrameworkQuery::GetQueryClassName(void)
-?GetQueryClassName@CFrameworkQuery@@QAEPAGXZ
-; public: static unsigned short * __stdcall CObjectPathParser::GetRelativePath(unsigned short *)
-?GetRelativePath@CObjectPathParser@@SGPAGPAG@Z
-; public: void __thiscall CFrameworkQuery::GetRequiredProperties(class CHStringArray &)
-?GetRequiredProperties@CFrameworkQuery@@QAEXAAVCHStringArray@@@Z
-; public: int __thiscall WBEMTime::GetSYSTEMTIME(struct _SYSTEMTIME *)const 
-?GetSYSTEMTIME@WBEMTime@@QBEHPAU_SYSTEMTIME@@@Z
-; public: int __thiscall CHPtrArray::GetSize(void)const 
-?GetSize@CHPtrArray@@QBEHXZ
-; public: int __thiscall CHStringArray::GetSize(void)const 
-?GetSize@CHStringArray@@QBEHXZ
-; public: bool __thiscall CInstance::GetStatus(unsigned short const *,bool &,unsigned short &)const 
-?GetStatus@CInstance@@QBE_NPBGAA_NAAG@Z
-; private: static struct IWbemClassObject * __stdcall CWbemProviderGlue::GetStatusObject(class MethodContext *,unsigned short const *)
-?GetStatusObject@CWbemProviderGlue@@CGPAUIWbemClassObject@@PAVMethodContext@@PBG@Z
-; public: struct IWbemClassObject * __thiscall MethodContext::GetStatusObject(void)
-?GetStatusObject@MethodContext@@QAEPAUIWbemClassObject@@XZ
-; public: bool __thiscall CInstance::GetStringArray(unsigned short const *,struct tagSAFEARRAY * &)const 
-?GetStringArray@CInstance@@QBE_NPBGAAPAUtagSAFEARRAY@@@Z
-; public: int __thiscall WBEMTime::GetStructtm(struct tm *)const 
-?GetStructtm@WBEMTime@@QBEHPAUtm@@@Z
-; public: unsigned __int64 __thiscall WBEMTime::GetTime(void)const 
-?GetTime@WBEMTime@@QBE_KXZ
-; public: unsigned __int64 __thiscall WBEMTimeSpan::GetTime(void)const 
-?GetTime@WBEMTimeSpan@@QBE_KXZ
-; public: bool __thiscall CInstance::GetTimeSpan(unsigned short const *,class WBEMTimeSpan &)const 
-?GetTimeSpan@CInstance@@QBE_NPBGAAVWBEMTimeSpan@@@Z
-; public: int __thiscall CHPtrArray::GetUpperBound(void)const 
-?GetUpperBound@CHPtrArray@@QBEHXZ
-; public: int __thiscall CHStringArray::GetUpperBound(void)const 
-?GetUpperBound@CHStringArray@@QBEHXZ
-; public: unsigned long __thiscall CRegistry::GetValueCount(void)
-?GetValueCount@CRegistry@@QAEKXZ
-; public: long __thiscall CFrameworkQuery::GetValuesForProp(unsigned short const *,class std::vector<class _bstr_t,class std::allocator<class _bstr_t> > &)
-?GetValuesForProp@CFrameworkQuery@@QAEJPBGAAV?$vector@V_bstr_t@@V?$allocator@V_bstr_t@@@std@@@std@@@Z
-; public: long __thiscall CFrameworkQuery::GetValuesForProp(unsigned short const *,class CHStringArray &)
-?GetValuesForProp@CFrameworkQuery@@QAEJPBGAAVCHStringArray@@@Z
-; public: long __thiscall CFrameworkQueryEx::GetValuesForProp(unsigned short const *,class std::vector<int,class std::allocator<int> > &)
-?GetValuesForProp@CFrameworkQueryEx@@QAEJPBGAAV?$vector@HV?$allocator@H@std@@@std@@@Z
-; public: long __thiscall CFrameworkQueryEx::GetValuesForProp(unsigned short const *,class std::vector<class _variant_t,class std::allocator<class _variant_t> > &)
-?GetValuesForProp@CFrameworkQueryEx@@QAEJPBGAAV?$vector@V_variant_t@@V?$allocator@V_variant_t@@@std@@@std@@@Z
-; public: bool __thiscall CInstance::GetVariant(unsigned short const *,struct tagVARIANT &)const 
-?GetVariant@CInstance@@QBE_NPBGAAUtagVARIANT@@@Z
-; public: bool __thiscall CInstance::GetWBEMINT16(unsigned short const *,short &)const 
-?GetWBEMINT16@CInstance@@QBE_NPBGAAF@Z
-; public: bool __thiscall CInstance::GetWBEMINT64(unsigned short const *,class CHString &)const 
-?GetWBEMINT64@CInstance@@QBE_NPBGAAVCHString@@@Z
-; public: bool __thiscall CInstance::GetWBEMINT64(unsigned short const *,__int64 &)const 
-?GetWBEMINT64@CInstance@@QBE_NPBGAA_J@Z
-; public: bool __thiscall CInstance::GetWBEMINT64(unsigned short const *,unsigned __int64 &)const 
-?GetWBEMINT64@CInstance@@QBE_NPBGAA_K@Z
-; public: bool __thiscall CInstance::GetWCHAR(unsigned short const *,unsigned short * *)const 
-?GetWCHAR@CInstance@@QBE_NPBGPAPAG@Z
-; public: bool __thiscall CInstance::GetWORD(unsigned short const *,unsigned short &)const 
-?GetWORD@CInstance@@QBE_NPBGAAG@Z
-; public: bool __thiscall CInstance::Getbool(unsigned short const *,bool &)const 
-?Getbool@CInstance@@QBE_NPBGAA_N@Z
-; public: struct HKEY__ * __thiscall CRegistry::GethKey(void)
-?GethKey@CRegistry@@QAEPAUHKEY__@@XZ
-; public: int __thiscall WBEMTime::Gettime_t(long *)const 
-?Gettime_t@WBEMTime@@QBEHPAJ@Z
-; public: int __thiscall WBEMTimeSpan::Gettime_t(long *)const 
-?Gettime_t@WBEMTimeSpan@@QBEHPAJ@Z
-; protected: static long __stdcall CWbemProviderGlue::IncrementMapCount(long *)
-?IncrementMapCount@CWbemProviderGlue@@KGJPAJ@Z
-; protected: static long __stdcall CWbemProviderGlue::IncrementMapCount(class CWbemGlueFactory const *)
-?IncrementMapCount@CWbemProviderGlue@@KGJPBVCWbemGlueFactory@@@Z
-; public: static void __stdcall CWbemProviderGlue::IncrementObjectCount(void)
-?IncrementObjectCount@CWbemProviderGlue@@SGXXZ
-; public: void __thiscall CFrameworkQuery::Init2(struct IWbemClassObject *)
-?Init2@CFrameworkQuery@@QAEXPAUIWbemClassObject@@@Z
-; public: long __thiscall CFrameworkQuery::Init(struct ParsedObjectPath *,struct IWbemContext *,unsigned short const *,class CHString &)
-?Init@CFrameworkQuery@@QAEJPAUParsedObjectPath@@PAUIWbemContext@@PBGAAVCHString@@@Z
-; public: long __thiscall CFrameworkQuery::Init(unsigned short * const,unsigned short * const,long,class CHString &)
-?Init@CFrameworkQuery@@QAEJQAG0JAAVCHString@@@Z
-; protected: void __thiscall CHString::Init(void)
-?Init@CHString@@IAEXXZ
-; private: static void __stdcall CWbemProviderGlue::Init(void)
-?Init@CWbemProviderGlue@@CGXXZ
-; private: static void __stdcall Provider::InitComputerName(void)
-?InitComputerName@Provider@@CGXXZ
-; public: virtual long __thiscall CFrameworkQueryEx::InitEx(unsigned short * const,unsigned short * const,long,class CHString &)
-?InitEx@CFrameworkQueryEx@@UAEJQAG0JAAVCHString@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::Initialize(unsigned short *,long,unsigned short *,unsigned short *,struct IWbemServices *,struct IWbemContext *,struct IWbemProviderInitSink *)
-?Initialize@CWbemProviderGlue@@UAGJPAGJ00PAUIWbemServices@@PAUIWbemContext@@PAUIWbemProviderInitSink@@@Z
-; public: void __thiscall CHPtrArray::InsertAt(int,class CHPtrArray *)
-?InsertAt@CHPtrArray@@QAEXHPAV1@@Z
-; public: void __thiscall CHPtrArray::InsertAt(int,void *,int)
-?InsertAt@CHPtrArray@@QAEXHPAXH@Z
-; public: void __thiscall CHStringArray::InsertAt(int,class CHStringArray *)
-?InsertAt@CHStringArray@@QAEXHPAV1@@Z
-; public: void __thiscall CHStringArray::InsertAt(int,unsigned short const *,int)
-?InsertAt@CHStringArray@@QAEXHPBGH@Z
-; private: struct IWbemServices * __stdcall CWbemProviderGlue::InternalGetNamespaceConnection(unsigned short const *)
-?InternalGetNamespaceConnection@CWbemProviderGlue@@AAGPAUIWbemServices@@PBG@Z
-; public: int __thiscall CFrameworkQueryEx::Is3TokenOR(unsigned short const *,unsigned short const *,struct tagVARIANT &,struct tagVARIANT &)
-?Is3TokenOR@CFrameworkQueryEx@@QAEHPBG0AAUtagVARIANT@@1@Z
-; public: int __thiscall ParsedObjectPath::IsClass(void)
-?IsClass@ParsedObjectPath@@QAEHXZ
-; public: static bool __stdcall CWbemProviderGlue::IsDerivedFrom(unsigned short const *,unsigned short const *,class MethodContext *,unsigned short const *)
-?IsDerivedFrom@CWbemProviderGlue@@SG_NPBG0PAVMethodContext@@0@Z
-; public: int __thiscall CHString::IsEmpty(void)const 
-?IsEmpty@CHString@@QBEHXZ
-; public: virtual bool __thiscall CFrameworkQueryEx::IsExtended(void)
-?IsExtended@CFrameworkQueryEx@@UAE_NXZ
-; protected: unsigned long __thiscall CFrameworkQuery::IsInList(class CHStringArray const &,unsigned short const *)
-?IsInList@CFrameworkQuery@@IAEKABVCHStringArray@@PBG@Z
-; public: int __thiscall ParsedObjectPath::IsInstance(void)
-?IsInstance@ParsedObjectPath@@QAEHXZ
-; public: int __thiscall ParsedObjectPath::IsLocal(unsigned short const *)
-?IsLocal@ParsedObjectPath@@QAEHPBG@Z
-; public: enum ProviderLog::LogLevel  __thiscall ProviderLog::IsLoggingOn(class CHString *)
-?IsLoggingOn@ProviderLog@@QAE?AW4LogLevel@1@PAVCHString@@@Z
-; public: int __thiscall CFrameworkQueryEx::IsNTokenAnd(class CHStringArray &,class CHPtrArray &)
-?IsNTokenAnd@CFrameworkQueryEx@@QAEHAAVCHStringArray@@AAVCHPtrArray@@@Z
-; public: bool __thiscall CInstance::IsNull(unsigned short const *)const 
-?IsNull@CInstance@@QBE_NPBG@Z
-; public: int __thiscall ParsedObjectPath::IsObject(void)
-?IsObject@ParsedObjectPath@@QAEHXZ
-; public: bool __thiscall WBEMTime::IsOk(void)const 
-?IsOk@WBEMTime@@QBE_NXZ
-; public: bool __thiscall WBEMTimeSpan::IsOk(void)const 
-?IsOk@WBEMTimeSpan@@QBE_NXZ
-; public: bool __thiscall CFrameworkQuery::IsPropertyRequired(unsigned short const *)
-?IsPropertyRequired@CFrameworkQuery@@QAE_NPBG@Z
-; protected: int __thiscall CFrameworkQuery::IsReference(unsigned short const *)
-?IsReference@CFrameworkQuery@@IAEHPBG@Z
-; public: int __thiscall ParsedObjectPath::IsRelative(unsigned short const *,unsigned short const *)
-?IsRelative@ParsedObjectPath@@QAEHPBG0@Z
-; public: bool __thiscall CFrameworkQuery::KeysOnly(void)
-?KeysOnly@CFrameworkQuery@@QAE_NXZ
-; public: class CHString  __thiscall CHString::Left(int)const 
-?Left@CHString@@QBE?AV1@H@Z
-; protected: int __thiscall CHString::LoadStringW(unsigned int,unsigned short *,unsigned int)
-?LoadStringW@CHString@@IAEHIPAGI@Z
-; public: int __thiscall CHString::LoadStringW(unsigned int)
-?LoadStringW@CHString@@QAEHI@Z
-; public: void __cdecl ProviderLog::LocalLogMessage(unsigned short const *,int,enum ProviderLog::LogLevel,unsigned short const *,...)
-?LocalLogMessage@ProviderLog@@QAAXPBGHW4LogLevel@1@0ZZ
-; public: void __thiscall ProviderLog::LocalLogMessage(unsigned short const *,unsigned short const *,int,enum ProviderLog::LogLevel)
-?LocalLogMessage@ProviderLog@@QAEXPBG0HW4LogLevel@1@@Z
-; public: int __thiscall CRegistrySearch::LocateKeyByNameOrValueName(struct HKEY__ *,unsigned short const *,unsigned short const *,unsigned short const * *,unsigned long,class CHString &,class CHString &)
-?LocateKeyByNameOrValueName@CRegistrySearch@@QAEHPAUHKEY__@@PBG1PAPBGKAAVCHString@@3@Z
-; private: void __thiscall CThreadBase::Lock(void)
-?Lock@CThreadBase@@AAEXXZ
-; public: unsigned short * __thiscall CHString::LockBuffer(void)
-?LockBuffer@CHString@@QAEPAGXZ
-; private: static void __stdcall CWbemProviderGlue::LockFactoryMap(void)
-?LockFactoryMap@CWbemProviderGlue@@CGXXZ
-; private: static void __stdcall CWbemProviderGlue::LockProviderMap(void)
-?LockProviderMap@CWbemProviderGlue@@CGXXZ
-; public: virtual long __stdcall CWbemGlueFactory::LockServer(int)
-?LockServer@CWbemGlueFactory@@UAGJH@Z
-; protected: void __thiscall CInstance::LogError(unsigned short const *,unsigned short const *,unsigned short const *,long)const 
-?LogError@CInstance@@IBEXPBG00J@Z
-; protected: class CHString  __thiscall Provider::MakeLocalPath(class CHString const &)
-?MakeLocalPath@Provider@@IAE?AVCHString@@ABV2@@Z
-; public: void __thiscall CHString::MakeLower(void)
-?MakeLower@CHString@@QAEXXZ
-; public: void __thiscall CHString::MakeReverse(void)
-?MakeReverse@CHString@@QAEXXZ
-; public: void __thiscall CHString::MakeUpper(void)
-?MakeUpper@CHString@@QAEXXZ
-; public: class CHString  __thiscall CHString::Mid(int)const 
-?Mid@CHString@@QBE?AV1@H@Z
-; public: class CHString  __thiscall CHString::Mid(int,int)const 
-?Mid@CHString@@QBE?AV1@HH@Z
-; private: static long __stdcall CWinMsgEvent::MsgWndProc(struct HWND__ *,unsigned int,unsigned int,long)
-?MsgWndProc@CWinMsgEvent@@CGJPAUHWND__@@IIJ@Z
-; public: unsigned long __thiscall CRegistry::NextSubKey(void)
-?NextSubKey@CRegistry@@QAEKXZ
-; private: int __thiscall CObjectPathParser::NextToken(void)
-?NextToken@CObjectPathParser@@AAEHXZ
-; unsigned long __stdcall NormalizePath(unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,class CHString &)
-?NormalizePath@@YGKPBG00KAAVCHString@@@Z
-; private: long __thiscall CWbemProviderGlue::NullOutUnsetProperties(struct IWbemClassObject *,struct IWbemClassObject * *,struct tagVARIANT const &)
-?NullOutUnsetProperties@CWbemProviderGlue@@AAEJPAUIWbemClassObject@@PAPAU2@ABUtagVARIANT@@@Z
-; protected: virtual void __thiscall CThreadBase::OnFinalRelease(void)
-?OnFinalRelease@CThreadBase@@MAEXXZ
-; public: long __thiscall CRegistry::Open(struct HKEY__ *,unsigned short const *,unsigned long)
-?Open@CRegistry@@QAEJPAUHKEY__@@PBGK@Z
-; public: long __thiscall CRegistry::OpenAndEnumerateSubKeys(struct HKEY__ *,unsigned short const *,unsigned long)
-?OpenAndEnumerateSubKeys@CRegistry@@QAEJPAUHKEY__@@PBGK@Z
-; public: unsigned long __thiscall CRegistry::OpenCurrentUser(unsigned short const *,unsigned long)
-?OpenCurrentUser@CRegistry@@QAEKPBGK@Z
-; public: long __thiscall CRegistry::OpenLocalMachineKeyAndReadValue(unsigned short const *,unsigned short const *,class CHString &)
-?OpenLocalMachineKeyAndReadValue@CRegistry@@QAEJPBG0AAVCHString@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::OpenNamespace(unsigned short * const,long,struct IWbemContext *,struct IWbemServices * *,struct IWbemCallResult * *)
-?OpenNamespace@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIWbemServices@@PAPAUIWbemCallResult@@@Z
-; private: unsigned long __thiscall CRegistry::OpenSubKey(void)
-?OpenSubKey@CRegistry@@AAEKXZ
-; public: int __thiscall CObjectPathParser::Parse(unsigned short const *,struct ParsedObjectPath * *)
-?Parse@CObjectPathParser@@QAEHPBGPAPAUParsedObjectPath@@@Z
-; private: long __thiscall CWbemProviderGlue::PreProcessPutInstanceParms(struct IWbemClassObject *,struct IWbemClassObject * *,struct IWbemContext *)
-?PreProcessPutInstanceParms@CWbemProviderGlue@@AAEJPAUIWbemClassObject@@PAPAU2@PAUIWbemContext@@@Z
-; private: void __thiscall CRegistry::PrepareToReOpen(void)
-?PrepareToReOpen@CRegistry@@AAEXXZ
-; public: virtual long __stdcall CWbemProviderGlue::PutClass(struct IWbemClassObject *,long,struct IWbemContext *,struct IWbemCallResult * *)
-?PutClass@CWbemProviderGlue@@UAGJPAUIWbemClassObject@@JPAUIWbemContext@@PAPAUIWbemCallResult@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::PutClassAsync(struct IWbemClassObject *,long,struct IWbemContext *,struct IWbemObjectSink *)
-?PutClassAsync@CWbemProviderGlue@@UAGJPAUIWbemClassObject@@JPAUIWbemContext@@PAUIWbemObjectSink@@@Z
-; public: virtual long __stdcall CWbemProviderGlue::PutInstance(struct IWbemClassObject *,long,struct IWbemContext *,struct IWbemCallResult * *)
-?PutInstance@CWbemProviderGlue@@UAGJPAUIWbemClassObject@@JPAUIWbemContext@@PAPAUIWbemCallResult@@@Z
-; private: long __thiscall Provider::PutInstance(struct IWbemClassObject *,long,class MethodContext *)
-?PutInstance@Provider@@AAEJPAUIWbemClassObject@@JPAVMethodContext@@@Z
-; protected: virtual long __thiscall Provider::PutInstance(class CInstance const &,long)
-?PutInstance@Provider@@MAEJABVCInstance@@J@Z
-; public: virtual long __stdcall CWbemProviderGlue::PutInstanceAsync(struct IWbemClassObject *,long,struct IWbemContext *,struct IWbemObjectSink *)
-?PutInstanceAsync@CWbemProviderGlue@@UAGJPAUIWbemClassObject@@JPAUIWbemContext@@PAUIWbemObjectSink@@@Z
-; public: virtual long __stdcall CWbemGlueFactory::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CWbemGlueFactory@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CWbemProviderGlue::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CWbemProviderGlue@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CWbemProviderGlue::QueryObjectSink(long,struct IWbemObjectSink * *)
-?QueryObjectSink@CWbemProviderGlue@@UAGJJPAPAUIWbemObjectSink@@@Z
-; public: virtual void __thiscall MethodContext::QueryPostProcess(void)
-?QueryPostProcess@MethodContext@@UAEXXZ
-; protected: void __thiscall CWinMsgEvent::RegisterForMessage(unsigned int)
-?RegisterForMessage@CWinMsgEvent@@IAEXI@Z
-; protected: void __thiscall CHString::Release(void)
-?Release@CHString@@IAEXXZ
-; protected: static void __stdcall CHString::Release(struct CHStringData *)
-?Release@CHString@@KGXPAUCHStringData@@@Z
-; public: long __thiscall CInstance::Release(void)
-?Release@CInstance@@QAEJXZ
-; public: long __thiscall CThreadBase::Release(void)
-?Release@CThreadBase@@QAEJXZ
-; public: virtual unsigned long __stdcall CWbemGlueFactory::Release(void)
-?Release@CWbemGlueFactory@@UAGKXZ
-; public: virtual unsigned long __stdcall CWbemProviderGlue::Release(void)
-?Release@CWbemProviderGlue@@UAGKXZ
-; public: long __thiscall MethodContext::Release(void)
-?Release@MethodContext@@QAEJXZ
-; public: void __thiscall CHString::ReleaseBuffer(int)
-?ReleaseBuffer@CHString@@QAEXH@Z
-; public: void __thiscall CHPtrArray::RemoveAll(void)
-?RemoveAll@CHPtrArray@@QAEXXZ
-; public: void __thiscall CHStringArray::RemoveAll(void)
-?RemoveAll@CHStringArray@@QAEXXZ
-; public: void __thiscall CHPtrArray::RemoveAt(int,int)
-?RemoveAt@CHPtrArray@@QAEXHH@Z
-; public: void __thiscall CHStringArray::RemoveAt(int,int)
-?RemoveAt@CHStringArray@@QAEXHH@Z
-; protected: static void __stdcall CWbemProviderGlue::RemoveFromFactoryMap(class CWbemGlueFactory const *)
-?RemoveFromFactoryMap@CWbemProviderGlue@@KGXPBVCWbemGlueFactory@@@Z
-; private: void __thiscall CFrameworkQuery::Reset(void)
-?Reset@CFrameworkQuery@@AAEXXZ
-; public: int __thiscall CHString::ReverseFind(unsigned short)const 
-?ReverseFind@CHString@@QBEHG@Z
-; public: void __thiscall CRegistry::RewindSubKeys(void)
-?RewindSubKeys@CRegistry@@QAEXXZ
-; public: class CHString  __thiscall CHString::Right(int)const 
-?Right@CHString@@QBE?AV1@H@Z
-; protected: static int __stdcall CHString::SafeStrlen(unsigned short const *)
-?SafeStrlen@CHString@@KGHPBG@Z
-; public: int __thiscall CRegistrySearch::SearchAndBuildList(class CHString,class CHPtrArray &,class CHString,class CHString,int,struct HKEY__ *)
-?SearchAndBuildList@CRegistrySearch@@QAEHVCHString@@AAVCHPtrArray@@00HPAUHKEY__@@@Z
-; private: static class Provider * __stdcall CWbemProviderGlue::SearchMapForProvider(unsigned short const *,unsigned short const *)
-?SearchMapForProvider@CWbemProviderGlue@@CGPAVProvider@@PBG0@Z
-; public: void __thiscall CHPtrArray::SetAt(int,void *)
-?SetAt@CHPtrArray@@QAEXHPAX@Z
-; public: void __thiscall CHString::SetAt(int,unsigned short)
-?SetAt@CHString@@QAEXHG@Z
-; public: void __thiscall CHStringArray::SetAt(int,unsigned short const *)
-?SetAt@CHStringArray@@QAEXHPBG@Z
-; public: void __thiscall CHPtrArray::SetAtGrow(int,void *)
-?SetAtGrow@CHPtrArray@@QAEXHPAX@Z
-; public: void __thiscall CHStringArray::SetAtGrow(int,unsigned short const *)
-?SetAtGrow@CHStringArray@@QAEXHPBG@Z
-; public: bool __thiscall CInstance::SetByte(unsigned short const *,unsigned char)
-?SetByte@CInstance@@QAE_NPBGE@Z
-; public: bool __thiscall CInstance::SetCHString(unsigned short const *,unsigned short const *)
-?SetCHString@CInstance@@QAE_NPBG0@Z
-; public: bool __thiscall CInstance::SetCHString(unsigned short const *,class CHString const &)
-?SetCHString@CInstance@@QAE_NPBGABVCHString@@@Z
-; public: bool __thiscall CInstance::SetCHString(unsigned short const *,char const *)
-?SetCHString@CInstance@@QAE_NPBGPBD@Z
-; void __stdcall SetCHStringResourceHandle(struct HINSTANCE__ *)
-?SetCHStringResourceHandle@@YGXPAUHINSTANCE__@@@Z
-; public: bool __thiscall CInstance::SetCharSplat(unsigned short const *,unsigned short const *)
-?SetCharSplat@CInstance@@QAE_NPBG0@Z
-; public: bool __thiscall CInstance::SetCharSplat(unsigned short const *,unsigned long)
-?SetCharSplat@CInstance@@QAE_NPBGK@Z
-; public: bool __thiscall CInstance::SetCharSplat(unsigned short const *,char const *)
-?SetCharSplat@CInstance@@QAE_NPBGPBD@Z
-; public: int __thiscall ParsedObjectPath::SetClassName(unsigned short const *)
-?SetClassName@ParsedObjectPath@@QAEHPBG@Z
-; protected: bool __thiscall Provider::SetCreationClassName(class CInstance *)
-?SetCreationClassName@Provider@@IAE_NPAVCInstance@@@Z
-; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(struct HKEY__ *,unsigned short const *,unsigned long &)
-?SetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAK@Z
-; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(struct HKEY__ *,unsigned short const *,class CHString &)
-?SetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHString@@@Z
-; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(struct HKEY__ *,unsigned short const *,class CHStringArray &)
-?SetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHStringArray@@@Z
-; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(unsigned short const *,unsigned long &)
-?SetCurrentKeyValue@CRegistry@@QAEKPBGAAK@Z
-; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(unsigned short const *,class CHString &)
-?SetCurrentKeyValue@CRegistry@@QAEKPBGAAVCHString@@@Z
-; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(unsigned short const *,class CHStringArray &)
-?SetCurrentKeyValue@CRegistry@@QAEKPBGAAVCHStringArray@@@Z
-; public: unsigned long __thiscall CRegistry::SetCurrentKeyValueExpand(struct HKEY__ *,unsigned short const *,class CHString &)
-?SetCurrentKeyValueExpand@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHString@@@Z
-; public: int __thiscall WBEMTime::SetDMTF(unsigned short * const)
-?SetDMTF@WBEMTime@@QAEHQAG@Z
-; public: bool __thiscall CInstance::SetDOUBLE(unsigned short const *,double)
-?SetDOUBLE@CInstance@@QAE_NPBGN@Z
-; public: bool __thiscall CInstance::SetDWORD(unsigned short const *,unsigned long)
-?SetDWORD@CInstance@@QAE_NPBGK@Z
-; public: bool __thiscall CInstance::SetDateTime(unsigned short const *,class WBEMTime const &)
-?SetDateTime@CInstance@@QAE_NPBGABVWBEMTime@@@Z
-; private: void __thiscall CRegistry::SetDefaultValues(void)
-?SetDefaultValues@CRegistry@@AAEXXZ
-; public: bool __thiscall CInstance::SetEmbeddedObject(unsigned short const *,class CInstance &)
-?SetEmbeddedObject@CInstance@@QAE_NPBGAAV1@@Z
-; private: int __thiscall Provider::SetKeyFromParsedObjectPath(class CInstance *,struct ParsedObjectPath *)
-?SetKeyFromParsedObjectPath@Provider@@AAEHPAVCInstance@@PAUParsedObjectPath@@@Z
-; public: bool __thiscall CInstance::SetNull(unsigned short const *)
-?SetNull@CInstance@@QAE_NPBG@Z
-; private: static int __stdcall CRegistry::SetPlatformID(void)
-?SetPlatformID@CRegistry@@CGHXZ
-; public: void __thiscall CHPtrArray::SetSize(int,int)
-?SetSize@CHPtrArray@@QAEXHH@Z
-; public: void __thiscall CHStringArray::SetSize(int,int)
-?SetSize@CHStringArray@@QAEXHH@Z
-; public: static bool __stdcall CWbemProviderGlue::SetStatusObject(class MethodContext *,unsigned short const *,unsigned short const *,long,struct tagSAFEARRAY const *,struct tagSAFEARRAY const *)
-?SetStatusObject@CWbemProviderGlue@@SG_NPAVMethodContext@@PBG1JPBUtagSAFEARRAY@@2@Z
-; public: bool __thiscall MethodContext::SetStatusObject(struct IWbemClassObject *)
-?SetStatusObject@MethodContext@@QAE_NPAUIWbemClassObject@@@Z
-; public: bool __thiscall CInstance::SetStringArray(unsigned short const *,struct tagSAFEARRAY const &)
-?SetStringArray@CInstance@@QAE_NPBGABUtagSAFEARRAY@@@Z
-; public: bool __thiscall CInstance::SetTimeSpan(unsigned short const *,class WBEMTimeSpan const &)
-?SetTimeSpan@CInstance@@QAE_NPBGABVWBEMTimeSpan@@@Z
-; public: bool __thiscall CInstance::SetVariant(unsigned short const *,struct tagVARIANT const &)
-?SetVariant@CInstance@@QAE_NPBGABUtagVARIANT@@@Z
-; public: bool __thiscall CInstance::SetWBEMINT16(unsigned short const *,short const &)
-?SetWBEMINT16@CInstance@@QAE_NPBGABF@Z
-; public: bool __thiscall CInstance::SetWBEMINT64(unsigned short const *,class CHString const &)
-?SetWBEMINT64@CInstance@@QAE_NPBGABVCHString@@@Z
-; public: bool __thiscall CInstance::SetWBEMINT64(unsigned short const *,__int64)
-?SetWBEMINT64@CInstance@@QAE_NPBG_J@Z
-; public: bool __thiscall CInstance::SetWBEMINT64(unsigned short const *,unsigned __int64)
-?SetWBEMINT64@CInstance@@QAE_NPBG_K@Z
-; public: bool __thiscall CInstance::SetWCHARSplat(unsigned short const *,unsigned short const *)
-?SetWCHARSplat@CInstance@@QAE_NPBG0@Z
-; public: bool __thiscall CInstance::SetWORD(unsigned short const *,unsigned short)
-?SetWORD@CInstance@@QAE_NPBGG@Z
-; public: bool __thiscall CInstance::Setbool(unsigned short const *,bool)
-?Setbool@CInstance@@QAE_NPBG_N@Z
-; public: int __thiscall CAutoEvent::Signal(void)
-?Signal@CAutoEvent@@QAEHXZ
-; public: class CHString  __thiscall CHString::SpanExcluding(unsigned short const *)const 
-?SpanExcluding@CHString@@QBE?AV1@PBG@Z
-; public: class CHString  __thiscall CHString::SpanIncluding(unsigned short const *)const 
-?SpanIncluding@CHString@@QBE?AV1@PBG@Z
-; public: void __thiscall CHString::TrimLeft(void)
-?TrimLeft@CHString@@QAEXXZ
-; public: void __thiscall CHString::TrimRight(void)
-?TrimRight@CHString@@QAEXXZ
-; private: static void __stdcall CWbemProviderGlue::UnInit(void)
-?UnInit@CWbemProviderGlue@@CGXXZ
-; protected: void __thiscall CWinMsgEvent::UnRegisterAllMessages(void)
-?UnRegisterAllMessages@CWinMsgEvent@@IAEXXZ
-; protected: bool __thiscall CWinMsgEvent::UnRegisterMessage(unsigned int)
-?UnRegisterMessage@CWinMsgEvent@@IAE_NI@Z
-; private: void __thiscall CThreadBase::Unlock(void)
-?Unlock@CThreadBase@@AAEXXZ
-; public: void __thiscall CHString::UnlockBuffer(void)
-?UnlockBuffer@CHString@@QAEXXZ
-; private: static void __stdcall CWbemProviderGlue::UnlockFactoryMap(void)
-?UnlockFactoryMap@CWbemProviderGlue@@CGXXZ
-; private: static void __stdcall CWbemProviderGlue::UnlockProviderMap(void)
-?UnlockProviderMap@CWbemProviderGlue@@CGXXZ
-; public: static int __stdcall CObjectPathParser::Unparse(struct ParsedObjectPath *,unsigned short * *)
-?Unparse@CObjectPathParser@@SGHPAUParsedObjectPath@@PAPAG@Z
-; protected: virtual long __thiscall Provider::ValidateDeletionFlags(long)
-?ValidateDeletionFlags@Provider@@MAEJJ@Z
-; protected: virtual long __thiscall Provider::ValidateEnumerationFlags(long)
-?ValidateEnumerationFlags@Provider@@MAEJJ@Z
-; protected: long __thiscall Provider::ValidateFlags(long,enum Provider::FlagDefs)
-?ValidateFlags@Provider@@IAEJJW4FlagDefs@1@@Z
-; protected: virtual long __thiscall Provider::ValidateGetObjFlags(long)
-?ValidateGetObjFlags@Provider@@MAEJJ@Z
-; private: int __thiscall Provider::ValidateIMOSPointer(void)
-?ValidateIMOSPointer@Provider@@AAEHXZ
-; protected: virtual long __thiscall Provider::ValidateMethodFlags(long)
-?ValidateMethodFlags@Provider@@MAEJJ@Z
-; protected: virtual long __thiscall Provider::ValidatePutInstanceFlags(long)
-?ValidatePutInstanceFlags@Provider@@MAEJJ@Z
-; protected: virtual long __thiscall Provider::ValidateQueryFlags(long)
-?ValidateQueryFlags@Provider@@MAEJJ@Z
-; public: unsigned long __thiscall CAutoEvent::Wait(unsigned long)
-?Wait@CAutoEvent@@QAEKK@Z
-; private: static void __stdcall CWinMsgEvent::WindowsDispatch(void)
-?WindowsDispatch@CWinMsgEvent@@CGXXZ
-; private: void __thiscall CObjectPathParser::Zero(void)
-?Zero@CObjectPathParser@@AAEXXZ
-; private: int __thiscall CObjectPathParser::begin_parse(void)
-?begin_parse@CObjectPathParser@@AAEHXZ
-; class ProviderLog  captainsLog
-?captainsLog@@3VProviderLog@@A DATA
-; private: static unsigned long __stdcall CWinMsgEvent::dwThreadProc(void *)
-?dwThreadProc@CWinMsgEvent@@CGKPAX@Z
-; class CCritSec  g_cs
-?g_cs@@3VCCritSec@@A DATA
-; private: int __thiscall CObjectPathParser::ident_becomes_class(void)
-?ident_becomes_class@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::ident_becomes_ns(void)
-?ident_becomes_ns@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::key_const(void)
-?key_const@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::keyref(void)
-?keyref@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::keyref_list(void)
-?keyref_list@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::keyref_term(void)
-?keyref_term@CObjectPathParser@@AAEHXZ
-; private: static class std::set<void *,struct std::less<void *>,class std::allocator<void *> >  CWbemProviderGlue::m_FlushPtrs
-?m_FlushPtrs@CWbemProviderGlue@@0V?$set@PAXU?$less@PAX@std@@V?$allocator@PAX@2@@std@@A DATA
-; private: static class CCritSec  CWbemProviderGlue::m_csFlushPtrs
-?m_csFlushPtrs@CWbemProviderGlue@@0VCCritSec@@A DATA
-; private: static class CCritSec  CWbemProviderGlue::m_csStatusObject
-?m_csStatusObject@CWbemProviderGlue@@0VCCritSec@@A DATA
-; private: static struct IWbemClassObject *  CWbemProviderGlue::m_pStatusObject
-?m_pStatusObject@CWbemProviderGlue@@0PAUIWbemClassObject@@A DATA
-; private: static class CAutoEvent  CWinMsgEvent::mg_aeCreateWindow
-?mg_aeCreateWindow@CWinMsgEvent@@0VCAutoEvent@@A DATA
-; private: static class CCritSec  CWinMsgEvent::mg_csMapLock
-?mg_csMapLock@CWinMsgEvent@@0VCCritSec@@A DATA
-; private: static class CCritSec  CWinMsgEvent::mg_csWindowLock
-?mg_csWindowLock@CWinMsgEvent@@0VCCritSec@@A DATA
-; private: static void *  CWinMsgEvent::mg_hThreadPumpHandle
-?mg_hThreadPumpHandle@CWinMsgEvent@@0PAXA DATA
-; private: static struct HWND__ *  CWinMsgEvent::mg_hWnd
-?mg_hWnd@CWinMsgEvent@@0PAUHWND__@@A DATA
-; private: static class std::multimap<unsigned int,class CWinMsgEvent *,struct std::less<unsigned int>,class std::allocator<class CWinMsgEvent *> >  CWinMsgEvent::mg_oSinkMap
-?mg_oSinkMap@CWinMsgEvent@@0V?$multimap@IPAVCWinMsgEvent@@U?$less@I@std@@V?$allocator@PAVCWinMsgEvent@@@3@@std@@A DATA
-; private: long __thiscall CRegistry::myRegCreateKeyEx(struct HKEY__ *,unsigned short const *,unsigned long,unsigned short *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES *,struct HKEY__ * *,unsigned long *)
-?myRegCreateKeyEx@CRegistry@@AAEJPAUHKEY__@@PBGKPAGKKPAU_SECURITY_ATTRIBUTES@@PAPAU2@PAK@Z
-; private: long __thiscall CRegistry::myRegDeleteKey(struct HKEY__ *,unsigned short const *)
-?myRegDeleteKey@CRegistry@@AAEJPAUHKEY__@@PBG@Z
-; private: long __thiscall CRegistry::myRegDeleteValue(struct HKEY__ *,unsigned short const *)
-?myRegDeleteValue@CRegistry@@AAEJPAUHKEY__@@PBG@Z
-; private: long __thiscall CRegistry::myRegEnumKey(struct HKEY__ *,unsigned long,unsigned short *,unsigned long)
-?myRegEnumKey@CRegistry@@AAEJPAUHKEY__@@KPAGK@Z
-; private: long __thiscall CRegistry::myRegEnumValue(struct HKEY__ *,unsigned long,unsigned short *,unsigned long *,unsigned long *,unsigned long *,unsigned char *,unsigned long *)
-?myRegEnumValue@CRegistry@@AAEJPAUHKEY__@@KPAGPAK22PAE2@Z
-; private: long __thiscall CRegistry::myRegOpenKeyEx(struct HKEY__ *,unsigned short const *,unsigned long,unsigned long,struct HKEY__ * *)
-?myRegOpenKeyEx@CRegistry@@AAEJPAUHKEY__@@PBGKKPAPAU2@@Z
-; private: long __thiscall CRegistry::myRegQueryInfoKey(struct HKEY__ *,unsigned short *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,struct _FILETIME *)
-?myRegQueryInfoKey@CRegistry@@AAEJPAUHKEY__@@PAGPAK22222222PAU_FILETIME@@@Z
-; private: long __thiscall CRegistry::myRegQueryValueEx(struct HKEY__ *,unsigned short const *,unsigned long *,unsigned long *,unsigned char *,unsigned long *)
-?myRegQueryValueEx@CRegistry@@AAEJPAUHKEY__@@PBGPAK2PAE2@Z
-; private: long __thiscall CRegistry::myRegSetValueEx(struct HKEY__ *,unsigned short const *,unsigned long,unsigned long,unsigned char const *,unsigned long)
-?myRegSetValueEx@CRegistry@@AAEJPAUHKEY__@@PBGKKPBEK@Z
-; private: int __thiscall CObjectPathParser::ns_list(void)
-?ns_list@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::ns_list_rest(void)
-?ns_list_rest@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::ns_or_class(void)
-?ns_or_class@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::ns_or_server(void)
-?ns_or_server@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::objref(void)
-?objref@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::objref_rest(void)
-?objref_rest@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::optional_objref(void)
-?optional_objref@CObjectPathParser@@AAEHXZ
-; private: int __thiscall CObjectPathParser::propname(void)
-?propname@CObjectPathParser@@AAEHXZ
-; private: static int  CWbemProviderGlue::s_bInitted
-?s_bInitted@CWbemProviderGlue@@0HA DATA
-; private: static class CCritSec  CWbemProviderGlue::s_csFactoryMap
-?s_csFactoryMap@CWbemProviderGlue@@0VCCritSec@@A DATA
-; private: static class CCritSec  CWbemProviderGlue::s_csProviderMap
-?s_csProviderMap@CWbemProviderGlue@@0VCCritSec@@A DATA
-; private: static unsigned long  CWbemProviderGlue::s_dwMajorVersion
-?s_dwMajorVersion@CWbemProviderGlue@@0KA DATA
-; private: static unsigned long  CRegistry::s_dwPlatform
-?s_dwPlatform@CRegistry@@0KA DATA
-; private: static unsigned long  CWbemProviderGlue::s_dwPlatform
-?s_dwPlatform@CWbemProviderGlue@@0KA DATA
-; private: static int  CRegistry::s_fPlatformSet
-?s_fPlatformSet@CRegistry@@0HA DATA
-; private: static class std::map<void const *,long *,struct std::less<void const *>,class std::allocator<long *> >  CWbemProviderGlue::s_factorymap
-?s_factorymap@CWbemProviderGlue@@0V?$map@PBXPAJU?$less@PBX@std@@V?$allocator@PAJ@2@@std@@A DATA
-; private: static long  CWbemProviderGlue::s_lObjects
-?s_lObjects@CWbemProviderGlue@@0JA DATA
-; private: static class std::map<class CHString,void *,struct std::less<class CHString>,class std::allocator<void *> >  CWbemProviderGlue::s_providersmap
-?s_providersmap@CWbemProviderGlue@@0V?$map@VCHString@@PAXU?$less@VCHString@@@std@@V?$allocator@PAX@3@@std@@A DATA
-; private: static class CHString  Provider::s_strComputerName
-?s_strComputerName@Provider@@0VCHString@@A DATA
-; private: static unsigned short *  CWbemProviderGlue::s_wstrCSDVersion
-?s_wstrCSDVersion@CWbemProviderGlue@@0PAGA DATA
-_DoCmd@16
+; 
+; Exports of file framedyn.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY framedyn.dll
+EXPORTS
+; public: __thiscall CAutoEvent::CAutoEvent(void)
+??0CAutoEvent@@QAE@XZ
+; public: __thiscall CFrameworkQuery::CFrameworkQuery(class CFrameworkQuery const &)
+??0CFrameworkQuery@@QAE@ABV0@@Z
+; public: __thiscall CFrameworkQuery::CFrameworkQuery(void)
+??0CFrameworkQuery@@QAE@XZ
+; public: __thiscall CFrameworkQueryEx::CFrameworkQueryEx(class CFrameworkQueryEx const &)
+??0CFrameworkQueryEx@@QAE@ABV0@@Z
+; public: __thiscall CFrameworkQueryEx::CFrameworkQueryEx(void)
+??0CFrameworkQueryEx@@QAE@XZ
+; public: __thiscall CHPtrArray::CHPtrArray(void)
+??0CHPtrArray@@QAE@XZ
+; public: __thiscall CHString::CHString(class CHString const &)
+??0CHString@@QAE@ABV0@@Z
+; public: __thiscall CHString::CHString(unsigned short,int)
+??0CHString@@QAE@GH@Z
+; public: __thiscall CHString::CHString(char const *)
+??0CHString@@QAE@PBD@Z
+; public: __thiscall CHString::CHString(unsigned char const *)
+??0CHString@@QAE@PBE@Z
+; public: __thiscall CHString::CHString(unsigned short const *)
+??0CHString@@QAE@PBG@Z
+; public: __thiscall CHString::CHString(unsigned short const *,int)
+??0CHString@@QAE@PBGH@Z
+; public: __thiscall CHString::CHString(void)
+??0CHString@@QAE@XZ
+; public: __thiscall CHStringArray::CHStringArray(void)
+??0CHStringArray@@QAE@XZ
+; public: __thiscall CInstance::CInstance(class CInstance const &)
+??0CInstance@@QAE@ABV0@@Z
+; public: __thiscall CInstance::CInstance(struct IWbemClassObject *,class MethodContext *)
+??0CInstance@@QAE@PAUIWbemClassObject@@PAVMethodContext@@@Z
+; public: __thiscall CObjectPathParser::CObjectPathParser(enum ObjectParserFlags)
+??0CObjectPathParser@@QAE@W4ObjectParserFlags@@@Z
+; public: __thiscall CRegistry::CRegistry(class CRegistry const &)
+??0CRegistry@@QAE@ABV0@@Z
+; public: __thiscall CRegistry::CRegistry(void)
+??0CRegistry@@QAE@XZ
+; public: __thiscall CRegistrySearch::CRegistrySearch(class CRegistrySearch const &)
+??0CRegistrySearch@@QAE@ABV0@@Z
+; public: __thiscall CRegistrySearch::CRegistrySearch(void)
+??0CRegistrySearch@@QAE@XZ
+; public: __thiscall CThreadBase::CThreadBase(class CThreadBase const &)
+??0CThreadBase@@QAE@ABV0@@Z
+; public: __thiscall CThreadBase::CThreadBase(enum CThreadBase::THREAD_SAFETY_MECHANISM)
+??0CThreadBase@@QAE@W4THREAD_SAFETY_MECHANISM@0@@Z
+; public: __thiscall CWbemGlueFactory::CWbemGlueFactory(class CWbemGlueFactory const &)
+??0CWbemGlueFactory@@QAE@ABV0@@Z
+; public: __thiscall CWbemGlueFactory::CWbemGlueFactory(long *)
+??0CWbemGlueFactory@@QAE@PAJ@Z
+; public: __thiscall CWbemGlueFactory::CWbemGlueFactory(void)
+??0CWbemGlueFactory@@QAE@XZ
+; public: __thiscall CWbemProviderGlue::CWbemProviderGlue(class CWbemProviderGlue const &)
+??0CWbemProviderGlue@@QAE@ABV0@@Z
+; public: __thiscall CWbemProviderGlue::CWbemProviderGlue(long *)
+??0CWbemProviderGlue@@QAE@PAJ@Z
+; public: __thiscall CWbemProviderGlue::CWbemProviderGlue(void)
+??0CWbemProviderGlue@@QAE@XZ
+; public: __thiscall CWinMsgEvent::CWinMsgEvent(class CWinMsgEvent const &)
+??0CWinMsgEvent@@QAE@ABV0@@Z
+; public: __thiscall CWinMsgEvent::CWinMsgEvent(void)
+??0CWinMsgEvent@@QAE@XZ
+; public: __thiscall CreateMutexAsProcess::CreateMutexAsProcess(unsigned short const *)
+??0CreateMutexAsProcess@@QAE@PBG@Z
+; public: __thiscall KeyRef::KeyRef(unsigned short const *,struct tagVARIANT const *)
+??0KeyRef@@QAE@PBGPBUtagVARIANT@@@Z
+; public: __thiscall KeyRef::KeyRef(void)
+??0KeyRef@@QAE@XZ
+; public: __thiscall MethodContext::MethodContext(class MethodContext const &)
+??0MethodContext@@QAE@ABV0@@Z
+; public: __thiscall MethodContext::MethodContext(struct IWbemContext *,class CWbemProviderGlue *)
+??0MethodContext@@QAE@PAUIWbemContext@@PAVCWbemProviderGlue@@@Z
+; public: __thiscall ParsedObjectPath::ParsedObjectPath(void)
+??0ParsedObjectPath@@QAE@XZ
+; public: __thiscall Provider::Provider(class Provider const &)
+??0Provider@@QAE@ABV0@@Z
+; public: __thiscall Provider::Provider(unsigned short const *,unsigned short const *)
+??0Provider@@QAE@PBG0@Z
+; public: __thiscall ProviderLog::ProviderLog(class ProviderLog const &)
+??0ProviderLog@@QAE@ABV0@@Z
+; public: __thiscall ProviderLog::ProviderLog(void)
+??0ProviderLog@@QAE@XZ
+; public: __thiscall WBEMTime::WBEMTime(long const &)
+??0WBEMTime@@QAE@ABJ@Z
+; public: __thiscall WBEMTime::WBEMTime(struct _FILETIME const &)
+??0WBEMTime@@QAE@ABU_FILETIME@@@Z
+; public: __thiscall WBEMTime::WBEMTime(struct _SYSTEMTIME const &)
+??0WBEMTime@@QAE@ABU_SYSTEMTIME@@@Z
+; public: __thiscall WBEMTime::WBEMTime(struct tm const &)
+??0WBEMTime@@QAE@ABUtm@@@Z
+; public: __thiscall WBEMTime::WBEMTime(unsigned short * const)
+??0WBEMTime@@QAE@QAG@Z
+; public: __thiscall WBEMTime::WBEMTime(void)
+??0WBEMTime@@QAE@XZ
+; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(long const &)
+??0WBEMTimeSpan@@QAE@ABJ@Z
+; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(struct _FILETIME const &)
+??0WBEMTimeSpan@@QAE@ABU_FILETIME@@@Z
+; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(int,int,int,int,int,int,int)
+??0WBEMTimeSpan@@QAE@HHHHHHH@Z
+; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(unsigned short * const)
+??0WBEMTimeSpan@@QAE@QAG@Z
+; public: __thiscall WBEMTimeSpan::WBEMTimeSpan(void)
+??0WBEMTimeSpan@@QAE@XZ
+; public: __thiscall std::_Lockit::_Lockit(void)
+??0_Lockit@std@@QAE@XZ
+; public: __thiscall CAutoEvent::~CAutoEvent(void)
+??1CAutoEvent@@QAE@XZ
+; public: __thiscall CFrameworkQuery::~CFrameworkQuery(void)
+??1CFrameworkQuery@@QAE@XZ
+; public: __thiscall CFrameworkQueryEx::~CFrameworkQueryEx(void)
+??1CFrameworkQueryEx@@QAE@XZ
+; public: __thiscall CHPtrArray::~CHPtrArray(void)
+??1CHPtrArray@@QAE@XZ
+; public: __thiscall CHString::~CHString(void)
+??1CHString@@QAE@XZ
+; public: __thiscall CHStringArray::~CHStringArray(void)
+??1CHStringArray@@QAE@XZ
+; public: virtual __thiscall CInstance::~CInstance(void)
+??1CInstance@@UAE@XZ
+; public: __thiscall CObjectPathParser::~CObjectPathParser(void)
+??1CObjectPathParser@@QAE@XZ
+; public: __thiscall CRegistry::~CRegistry(void)
+??1CRegistry@@QAE@XZ
+; public: __thiscall CRegistrySearch::~CRegistrySearch(void)
+??1CRegistrySearch@@QAE@XZ
+; public: virtual __thiscall CThreadBase::~CThreadBase(void)
+??1CThreadBase@@UAE@XZ
+; public: __thiscall CWbemGlueFactory::~CWbemGlueFactory(void)
+??1CWbemGlueFactory@@QAE@XZ
+; public: __thiscall CWbemProviderGlue::~CWbemProviderGlue(void)
+??1CWbemProviderGlue@@QAE@XZ
+; public: __thiscall CWinMsgEvent::~CWinMsgEvent(void)
+??1CWinMsgEvent@@QAE@XZ
+; public: __thiscall CreateMutexAsProcess::~CreateMutexAsProcess(void)
+??1CreateMutexAsProcess@@QAE@XZ
+; public: __thiscall KeyRef::~KeyRef(void)
+??1KeyRef@@QAE@XZ
+; public: virtual __thiscall MethodContext::~MethodContext(void)
+??1MethodContext@@UAE@XZ
+; public: __thiscall ParsedObjectPath::~ParsedObjectPath(void)
+??1ParsedObjectPath@@QAE@XZ
+; public: virtual __thiscall Provider::~Provider(void)
+??1Provider@@UAE@XZ
+; public: virtual __thiscall ProviderLog::~ProviderLog(void)
+??1ProviderLog@@UAE@XZ
+; public: __thiscall std::_Lockit::~_Lockit(void)
+??1_Lockit@std@@QAE@XZ
+; public: class CAutoEvent & __thiscall CAutoEvent::operator=(class CAutoEvent const &)
+??4CAutoEvent@@QAEAAV0@ABV0@@Z
+; public: class CFrameworkQuery & __thiscall CFrameworkQuery::operator=(class CFrameworkQuery const &)
+??4CFrameworkQuery@@QAEAAV0@ABV0@@Z
+; public: class CFrameworkQueryEx & __thiscall CFrameworkQueryEx::operator=(class CFrameworkQueryEx const &)
+??4CFrameworkQueryEx@@QAEAAV0@ABV0@@Z
+; public: class CHPtrArray & __thiscall CHPtrArray::operator=(class CHPtrArray const &)
+??4CHPtrArray@@QAEAAV0@ABV0@@Z
+; public: class CHString const & __thiscall CHString::operator=(class CHString const &)
+??4CHString@@QAEABV0@ABV0@@Z
+; public: class CHString const & __thiscall CHString::operator=(char)
+??4CHString@@QAEABV0@D@Z
+; public: class CHString const & __thiscall CHString::operator=(unsigned short)
+??4CHString@@QAEABV0@G@Z
+; public: class CHString const & __thiscall CHString::operator=(class CHString *)
+??4CHString@@QAEABV0@PAV0@@Z
+; public: class CHString const & __thiscall CHString::operator=(char const *)
+??4CHString@@QAEABV0@PBD@Z
+; public: class CHString const & __thiscall CHString::operator=(unsigned char const *)
+??4CHString@@QAEABV0@PBE@Z
+; public: class CHString const & __thiscall CHString::operator=(unsigned short const *)
+??4CHString@@QAEABV0@PBG@Z
+; public: class CHStringArray & __thiscall CHStringArray::operator=(class CHStringArray const &)
+??4CHStringArray@@QAEAAV0@ABV0@@Z
+; public: class CInstance & __thiscall CInstance::operator=(class CInstance const &)
+??4CInstance@@QAEAAV0@ABV0@@Z
+; public: class CObjectPathParser & __thiscall CObjectPathParser::operator=(class CObjectPathParser const &)
+??4CObjectPathParser@@QAEAAV0@ABV0@@Z
+; public: class CRegistry & __thiscall CRegistry::operator=(class CRegistry const &)
+??4CRegistry@@QAEAAV0@ABV0@@Z
+; public: class CRegistrySearch & __thiscall CRegistrySearch::operator=(class CRegistrySearch const &)
+??4CRegistrySearch@@QAEAAV0@ABV0@@Z
+; public: class CThreadBase & __thiscall CThreadBase::operator=(class CThreadBase const &)
+??4CThreadBase@@QAEAAV0@ABV0@@Z
+; public: class CWbemGlueFactory & __thiscall CWbemGlueFactory::operator=(class CWbemGlueFactory const &)
+??4CWbemGlueFactory@@QAEAAV0@ABV0@@Z
+; public: class CWbemProviderGlue & __thiscall CWbemProviderGlue::operator=(class CWbemProviderGlue const &)
+??4CWbemProviderGlue@@QAEAAV0@ABV0@@Z
+; public: class CWinMsgEvent & __thiscall CWinMsgEvent::operator=(class CWinMsgEvent const &)
+??4CWinMsgEvent@@QAEAAV0@ABV0@@Z
+; public: class CreateMutexAsProcess & __thiscall CreateMutexAsProcess::operator=(class CreateMutexAsProcess const &)
+??4CreateMutexAsProcess@@QAEAAV0@ABV0@@Z
+; public: struct KeyRef & __thiscall KeyRef::operator=(struct KeyRef const &)
+??4KeyRef@@QAEAAU0@ABU0@@Z
+; public: class MethodContext & __thiscall MethodContext::operator=(class MethodContext const &)
+??4MethodContext@@QAEAAV0@ABV0@@Z
+; public: struct ParsedObjectPath & __thiscall ParsedObjectPath::operator=(struct ParsedObjectPath const &)
+??4ParsedObjectPath@@QAEAAU0@ABU0@@Z
+; public: class Provider & __thiscall Provider::operator=(class Provider const &)
+??4Provider@@QAEAAV0@ABV0@@Z
+; public: class ProviderLog & __thiscall ProviderLog::operator=(class ProviderLog const &)
+??4ProviderLog@@QAEAAV0@ABV0@@Z
+; public: class WBEMTime & __thiscall WBEMTime::operator=(class WBEMTime const &)
+??4WBEMTime@@QAEAAV0@ABV0@@Z
+; public: class WBEMTime const & __thiscall WBEMTime::operator=(long const &)
+??4WBEMTime@@QAEABV0@ABJ@Z
+; public: class WBEMTime const & __thiscall WBEMTime::operator=(struct _FILETIME const &)
+??4WBEMTime@@QAEABV0@ABU_FILETIME@@@Z
+; public: class WBEMTime const & __thiscall WBEMTime::operator=(struct _SYSTEMTIME const &)
+??4WBEMTime@@QAEABV0@ABU_SYSTEMTIME@@@Z
+; public: class WBEMTime const & __thiscall WBEMTime::operator=(struct tm const &)
+??4WBEMTime@@QAEABV0@ABUtm@@@Z
+; public: class WBEMTime const & __thiscall WBEMTime::operator=(unsigned short * const)
+??4WBEMTime@@QAEABV0@QAG@Z
+; public: class WBEMTimeSpan & __thiscall WBEMTimeSpan::operator=(class WBEMTimeSpan const &)
+??4WBEMTimeSpan@@QAEAAV0@ABV0@@Z
+; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator=(long const &)
+??4WBEMTimeSpan@@QAEABV0@ABJ@Z
+; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator=(struct _FILETIME const &)
+??4WBEMTimeSpan@@QAEABV0@ABU_FILETIME@@@Z
+; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator=(unsigned short * const)
+??4WBEMTimeSpan@@QAEABV0@QAG@Z
+; public: int __thiscall WBEMTime::operator==(class WBEMTime const &)const 
+??8WBEMTime@@QBEHABV0@@Z
+; public: int __thiscall WBEMTimeSpan::operator==(class WBEMTimeSpan const &)const 
+??8WBEMTimeSpan@@QBEHABV0@@Z
+; public: int __thiscall WBEMTime::operator!=(class WBEMTime const &)const 
+??9WBEMTime@@QBEHABV0@@Z
+; public: int __thiscall WBEMTimeSpan::operator!=(class WBEMTimeSpan const &)const 
+??9WBEMTimeSpan@@QBEHABV0@@Z
+; public: void * & __thiscall CHPtrArray::operator[](int)
+??ACHPtrArray@@QAEAAPAXH@Z
+; public: void * __thiscall CHPtrArray::operator[](int)const 
+??ACHPtrArray@@QBEPAXH@Z
+; public: unsigned short __thiscall CHString::operator[](int)const 
+??ACHString@@QBEGH@Z
+; public: class CHString & __thiscall CHStringArray::operator[](int)
+??ACHStringArray@@QAEAAVCHString@@H@Z
+; public: class CHString  __thiscall CHStringArray::operator[](int)const 
+??ACHStringArray@@QBE?AVCHString@@H@Z
+; public: __thiscall CHString::operator unsigned short const *(void)const 
+??BCHString@@QBEPBGXZ
+; public: class WBEMTimeSpan  __thiscall WBEMTime::operator-(class WBEMTime const &)
+??GWBEMTime@@QAE?AVWBEMTimeSpan@@ABV0@@Z
+; public: class WBEMTime  __thiscall WBEMTime::operator-(class WBEMTimeSpan const &)const 
+??GWBEMTime@@QBE?AV0@ABVWBEMTimeSpan@@@Z
+; public: class WBEMTimeSpan  __thiscall WBEMTimeSpan::operator-(class WBEMTimeSpan const &)const 
+??GWBEMTimeSpan@@QBE?AV0@ABV0@@Z
+; class CHString  __stdcall operator+(class CHString const &,class CHString const &)
+??H@YG?AVCHString@@ABV0@0@Z
+; class CHString  __stdcall operator+(class CHString const &,unsigned short)
+??H@YG?AVCHString@@ABV0@G@Z
+; class CHString  __stdcall operator+(class CHString const &,unsigned short const *)
+??H@YG?AVCHString@@ABV0@PBG@Z
+; class CHString  __stdcall operator+(unsigned short,class CHString const &)
+??H@YG?AVCHString@@GABV0@@Z
+; class CHString  __stdcall operator+(unsigned short const *,class CHString const &)
+??H@YG?AVCHString@@PBGABV0@@Z
+; public: class WBEMTime  __thiscall WBEMTime::operator+(class WBEMTimeSpan const &)const 
+??HWBEMTime@@QBE?AV0@ABVWBEMTimeSpan@@@Z
+; public: class WBEMTimeSpan  __thiscall WBEMTimeSpan::operator+(class WBEMTimeSpan const &)const 
+??HWBEMTimeSpan@@QBE?AV0@ABV0@@Z
+; public: int __thiscall WBEMTime::operator<(class WBEMTime const &)const 
+??MWBEMTime@@QBEHABV0@@Z
+; public: int __thiscall WBEMTimeSpan::operator<(class WBEMTimeSpan const &)const 
+??MWBEMTimeSpan@@QBEHABV0@@Z
+; public: int __thiscall WBEMTime::operator<=(class WBEMTime const &)const 
+??NWBEMTime@@QBEHABV0@@Z
+; public: int __thiscall WBEMTimeSpan::operator<=(class WBEMTimeSpan const &)const 
+??NWBEMTimeSpan@@QBEHABV0@@Z
+; public: int __thiscall WBEMTime::operator>(class WBEMTime const &)const 
+??OWBEMTime@@QBEHABV0@@Z
+; public: int __thiscall WBEMTimeSpan::operator>(class WBEMTimeSpan const &)const 
+??OWBEMTimeSpan@@QBEHABV0@@Z
+; public: int __thiscall WBEMTime::operator>=(class WBEMTime const &)const 
+??PWBEMTime@@QBEHABV0@@Z
+; public: int __thiscall WBEMTimeSpan::operator>=(class WBEMTimeSpan const &)const 
+??PWBEMTimeSpan@@QBEHABV0@@Z
+; public: class CHString const & __thiscall CHString::operator+=(class CHString const &)
+??YCHString@@QAEABV0@ABV0@@Z
+; public: class CHString const & __thiscall CHString::operator+=(char)
+??YCHString@@QAEABV0@D@Z
+; public: class CHString const & __thiscall CHString::operator+=(unsigned short)
+??YCHString@@QAEABV0@G@Z
+; public: class CHString const & __thiscall CHString::operator+=(unsigned short const *)
+??YCHString@@QAEABV0@PBG@Z
+; public: class WBEMTime const & __thiscall WBEMTime::operator+=(class WBEMTimeSpan const &)
+??YWBEMTime@@QAEABV0@ABVWBEMTimeSpan@@@Z
+; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator+=(class WBEMTimeSpan const &)
+??YWBEMTimeSpan@@QAEABV0@ABV0@@Z
+; public: class WBEMTime const & __thiscall WBEMTime::operator-=(class WBEMTimeSpan const &)
+??ZWBEMTime@@QAEABV0@ABVWBEMTimeSpan@@@Z
+; public: class WBEMTimeSpan const & __thiscall WBEMTimeSpan::operator-=(class WBEMTimeSpan const &)
+??ZWBEMTimeSpan@@QAEABV0@ABV0@@Z
+; const  CFrameworkQueryEx::`vftable'
+??_7CFrameworkQueryEx@@6B@
+; const  CInstance::`vftable'
+??_7CInstance@@6B@
+; const  CThreadBase::`vftable'
+??_7CThreadBase@@6B@
+; const  CWbemGlueFactory::`vftable'
+??_7CWbemGlueFactory@@6B@
+; const  CWbemProviderGlue::`vftable'{for `IWbemProviderInit'}
+??_7CWbemProviderGlue@@6BIWbemProviderInit@@@
+; const  CWbemProviderGlue::`vftable'{for `IWbemServices'}
+??_7CWbemProviderGlue@@6BIWbemServices@@@
+; const  CWinMsgEvent::`vftable'
+??_7CWinMsgEvent@@6B@
+; const  MethodContext::`vftable'
+??_7MethodContext@@6B@
+; const  Provider::`vftable'
+??_7Provider@@6B@
+; const  ProviderLog::`vftable'
+??_7ProviderLog@@6B@
+; public: void __thiscall CObjectPathParser::`default constructor closure'(void)
+??_FCObjectPathParser@@QAEXXZ
+; public: void __thiscall CThreadBase::`default constructor closure'(void)
+??_FCThreadBase@@QAEXXZ
+; public: int __thiscall CHPtrArray::Add(void *)
+?Add@CHPtrArray@@QAEHPAX@Z
+; public: int __thiscall CHStringArray::Add(unsigned short const *)
+?Add@CHStringArray@@QAEHPBG@Z
+; private: void __thiscall CWbemProviderGlue::AddFlushPtr(void *)
+?AddFlushPtr@CWbemProviderGlue@@AAEXPAX@Z
+; public: int __thiscall ParsedObjectPath::AddKeyRef(struct KeyRef *)
+?AddKeyRef@ParsedObjectPath@@QAEHPAUKeyRef@@@Z
+; public: int __thiscall ParsedObjectPath::AddKeyRef(unsigned short const *,struct tagVARIANT const *)
+?AddKeyRef@ParsedObjectPath@@QAEHPBGPBUtagVARIANT@@@Z
+; public: int __thiscall ParsedObjectPath::AddKeyRefEx(unsigned short const *,struct tagVARIANT const *)
+?AddKeyRefEx@ParsedObjectPath@@QAEHPBGPBUtagVARIANT@@@Z
+; public: int __thiscall ParsedObjectPath::AddNamespace(unsigned short const *)
+?AddNamespace@ParsedObjectPath@@QAEHPBG@Z
+; private: static class Provider * __stdcall CWbemProviderGlue::AddProviderToMap(unsigned short const *,unsigned short const *,class Provider *)
+?AddProviderToMap@CWbemProviderGlue@@CGPAVProvider@@PBG0PAV2@@Z
+; public: long __thiscall CInstance::AddRef(void)
+?AddRef@CInstance@@QAEJXZ
+; public: long __thiscall CThreadBase::AddRef(void)
+?AddRef@CThreadBase@@QAEJXZ
+; public: virtual unsigned long __stdcall CWbemGlueFactory::AddRef(void)
+?AddRef@CWbemGlueFactory@@UAGKXZ
+; public: virtual unsigned long __stdcall CWbemProviderGlue::AddRef(void)
+?AddRef@CWbemProviderGlue@@UAGKXZ
+; public: long __thiscall MethodContext::AddRef(void)
+?AddRef@MethodContext@@QAEJXZ
+; protected: static void __stdcall CWbemProviderGlue::AddToFactoryMap(class CWbemGlueFactory const *,long *)
+?AddToFactoryMap@CWbemProviderGlue@@KGXPBVCWbemGlueFactory@@PAJ@Z
+; public: bool __thiscall CFrameworkQuery::AllPropertiesAreRequired(void)
+?AllPropertiesAreRequired@CFrameworkQuery@@QAE_NXZ
+; protected: void __thiscall CHString::AllocBeforeWrite(int)
+?AllocBeforeWrite@CHString@@IAEXH@Z
+; protected: void __thiscall CHString::AllocBuffer(int)
+?AllocBuffer@CHString@@IAEXH@Z
+; protected: void __thiscall CHString::AllocCopy(class CHString &,int,int,int)const 
+?AllocCopy@CHString@@IBEXAAV1@HHH@Z
+; public: unsigned short * __thiscall CHString::AllocSysString(void)const 
+?AllocSysString@CHString@@QBEPAGXZ
+; public: int __thiscall CHPtrArray::Append(class CHPtrArray const &)
+?Append@CHPtrArray@@QAEHABV1@@Z
+; public: int __thiscall CHStringArray::Append(class CHStringArray const &)
+?Append@CHStringArray@@QAEHABV1@@Z
+; protected: void __thiscall CHString::AssignCopy(int,unsigned short const *)
+?AssignCopy@CHString@@IAEXHPBG@Z
+; public: int __thiscall CThreadBase::BeginRead(unsigned long)
+?BeginRead@CThreadBase@@QAEHK@Z
+; public: int __thiscall CThreadBase::BeginWrite(unsigned long)
+?BeginWrite@CThreadBase@@QAEHK@Z
+; public: virtual long __stdcall CWbemProviderGlue::CancelAsyncCall(struct IWbemObjectSink *)
+?CancelAsyncCall@CWbemProviderGlue@@UAGJPAUIWbemObjectSink@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::CancelAsyncRequest(long)
+?CancelAsyncRequest@CWbemProviderGlue@@UAGJJ@Z
+; private: void __thiscall CRegistrySearch::CheckAndAddToList(class CRegistry *,class CHString,class CHString,class CHPtrArray &,class CHString,class CHString,int)
+?CheckAndAddToList@CRegistrySearch@@AAEXPAVCRegistry@@VCHString@@1AAVCHPtrArray@@11H@Z
+; private: void __thiscall ProviderLog::CheckFileSize(union _LARGE_INTEGER &,class CHString const &)
+?CheckFileSize@ProviderLog@@AAEXAAT_LARGE_INTEGER@@ABVCHString@@@Z
+; private: static long __stdcall CWbemProviderGlue::CheckImpersonationLevel(void)
+?CheckImpersonationLevel@CWbemProviderGlue@@CGJXZ
+; public: void __thiscall WBEMTime::Clear(void)
+?Clear@WBEMTime@@QAEXXZ
+; public: void __thiscall WBEMTimeSpan::Clear(void)
+?Clear@WBEMTimeSpan@@QAEXXZ
+; public: void __thiscall ParsedObjectPath::ClearKeys(void)
+?ClearKeys@ParsedObjectPath@@QAEXXZ
+; public: void __thiscall CRegistry::Close(void)
+?Close@CRegistry@@QAEXXZ
+; private: void __thiscall CRegistry::CloseSubKey(void)
+?CloseSubKey@CRegistry@@AAEXXZ
+; public: int __thiscall CHString::Collate(unsigned short const *)const 
+?Collate@CHString@@QBEHPBG@Z
+; public: long __thiscall CInstance::Commit(void)
+?Commit@CInstance@@QAEJXZ
+; protected: long __thiscall Provider::Commit(class CInstance *,bool)
+?Commit@Provider@@IAEJPAVCInstance@@_N@Z
+; public: int __thiscall CHString::Compare(unsigned short const *)const 
+?Compare@CHString@@QBEHPBG@Z
+; public: int __thiscall CHString::CompareNoCase(unsigned short const *)const 
+?CompareNoCase@CHString@@QBEHPBG@Z
+; protected: void __thiscall CHString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
+?ConcatCopy@CHString@@IAEXHPBGH0@Z
+; protected: void __thiscall CHString::ConcatInPlace(int,unsigned short const *)
+?ConcatInPlace@CHString@@IAEXHPBG@Z
+; public: void __thiscall CHPtrArray::Copy(class CHPtrArray const &)
+?Copy@CHPtrArray@@QAEXABV1@@Z
+; public: void __thiscall CHStringArray::Copy(class CHStringArray const &)
+?Copy@CHStringArray@@QAEXABV1@@Z
+; protected: void __thiscall CHString::CopyBeforeWrite(void)
+?CopyBeforeWrite@CHString@@IAEXXZ
+; public: virtual long __stdcall CWbemProviderGlue::CreateClassEnum(unsigned short * const,long,struct IWbemContext *,struct IEnumWbemClassObject * *)
+?CreateClassEnum@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIEnumWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::CreateClassEnumAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
+?CreateClassEnumAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
+; public: virtual long __stdcall CWbemGlueFactory::CreateInstance(struct IUnknown *,struct _GUID const &,void * *)
+?CreateInstance@CWbemGlueFactory@@UAGJPAUIUnknown@@ABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CWbemProviderGlue::CreateInstanceEnum(unsigned short * const,long,struct IWbemContext *,struct IEnumWbemClassObject * *)
+?CreateInstanceEnum@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIEnumWbemClassObject@@@Z
+; private: long __thiscall Provider::CreateInstanceEnum(class MethodContext *,long)
+?CreateInstanceEnum@Provider@@AAEJPAVMethodContext@@J@Z
+; public: virtual long __stdcall CWbemProviderGlue::CreateInstanceEnumAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
+?CreateInstanceEnumAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
+; private: static void __stdcall CWinMsgEvent::CreateMsgProvider(void)
+?CreateMsgProvider@CWinMsgEvent@@CGXXZ
+; private: static struct HWND__ * __stdcall CWinMsgEvent::CreateMsgWindow(void)
+?CreateMsgWindow@CWinMsgEvent@@CGPAUHWND__@@XZ
+; protected: class CInstance * __thiscall Provider::CreateNewInstance(class MethodContext *)
+?CreateNewInstance@Provider@@IAEPAVCInstance@@PAVMethodContext@@@Z
+; public: long __thiscall CRegistry::CreateOpen(struct HKEY__ *,unsigned short const *,unsigned short *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES *,unsigned long *)
+?CreateOpen@CRegistry@@QAEJPAUHKEY__@@PBGPAGKKPAU_SECURITY_ATTRIBUTES@@PAK@Z
+; private: static int __stdcall CWinMsgEvent::CtrlHandlerRoutine(unsigned long)
+?CtrlHandlerRoutine@CWinMsgEvent@@CGHK@Z
+; protected: static long __stdcall CWbemProviderGlue::DecrementMapCount(long *)
+?DecrementMapCount@CWbemProviderGlue@@KGJPAJ@Z
+; protected: static long __stdcall CWbemProviderGlue::DecrementMapCount(class CWbemGlueFactory const *)
+?DecrementMapCount@CWbemProviderGlue@@KGJPBVCWbemGlueFactory@@@Z
+; public: static long __stdcall CWbemProviderGlue::DecrementObjectCount(void)
+?DecrementObjectCount@CWbemProviderGlue@@SGJXZ
+; public: virtual long __stdcall CWbemProviderGlue::DeleteClass(unsigned short * const,long,struct IWbemContext *,struct IWbemCallResult * *)
+?DeleteClass@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIWbemCallResult@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::DeleteClassAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
+?DeleteClassAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
+; public: unsigned long __thiscall CRegistry::DeleteCurrentKeyValue(struct HKEY__ *,unsigned short const *)
+?DeleteCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBG@Z
+; public: unsigned long __thiscall CRegistry::DeleteCurrentKeyValue(unsigned short const *)
+?DeleteCurrentKeyValue@CRegistry@@QAEKPBG@Z
+; public: virtual long __stdcall CWbemProviderGlue::DeleteInstance(unsigned short * const,long,struct IWbemContext *,struct IWbemCallResult * *)
+?DeleteInstance@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIWbemCallResult@@@Z
+; private: long __thiscall Provider::DeleteInstance(struct ParsedObjectPath *,long,class MethodContext *)
+?DeleteInstance@Provider@@AAEJPAUParsedObjectPath@@JPAVMethodContext@@@Z
+; protected: virtual long __thiscall Provider::DeleteInstance(class CInstance const &,long)
+?DeleteInstance@Provider@@MAEJABVCInstance@@J@Z
+; public: virtual long __stdcall CWbemProviderGlue::DeleteInstanceAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
+?DeleteInstanceAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
+; public: long __thiscall CRegistry::DeleteKey(class CHString *)
+?DeleteKey@CRegistry@@QAEJPAVCHString@@@Z
+; public: long __thiscall CRegistry::DeleteValue(unsigned short const *)
+?DeleteValue@CRegistry@@QAEJPBG@Z
+; private: static void __stdcall CWinMsgEvent::DestroyMsgWindow(void)
+?DestroyMsgWindow@CWinMsgEvent@@CGXXZ
+; public: void * & __thiscall CHPtrArray::ElementAt(int)
+?ElementAt@CHPtrArray@@QAEAAPAXH@Z
+; public: class CHString & __thiscall CHStringArray::ElementAt(int)
+?ElementAt@CHStringArray@@QAEAAVCHString@@H@Z
+; public: void __thiscall CHString::Empty(void)
+?Empty@CHString@@QAEXXZ
+; private: void __thiscall CObjectPathParser::Empty(void)
+?Empty@CObjectPathParser@@AAEXXZ
+; public: void __thiscall CThreadBase::EndRead(void)
+?EndRead@CThreadBase@@QAEXXZ
+; public: void __thiscall CThreadBase::EndWrite(void)
+?EndWrite@CThreadBase@@QAEXXZ
+; public: long __thiscall CRegistry::EnumerateAndGetValues(unsigned long &,unsigned short * &,unsigned char * &)
+?EnumerateAndGetValues@CRegistry@@QAEJAAKAAPAGAAPAE@Z
+; protected: virtual long __thiscall Provider::EnumerateInstances(class MethodContext *,long)
+?EnumerateInstances@Provider@@MAEJPAVMethodContext@@J@Z
+; public: virtual long __stdcall CWbemProviderGlue::ExecMethod(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IWbemClassObject *,struct IWbemClassObject * *,struct IWbemCallResult * *)
+?ExecMethod@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAUIWbemClassObject@@PAPAU3@PAPAUIWbemCallResult@@@Z
+; private: long __thiscall Provider::ExecMethod(struct ParsedObjectPath *,unsigned short *,long,class CInstance *,class CInstance *,class MethodContext *)
+?ExecMethod@Provider@@AAEJPAUParsedObjectPath@@PAGJPAVCInstance@@2PAVMethodContext@@@Z
+; protected: virtual long __thiscall Provider::ExecMethod(class CInstance const &,unsigned short * const,class CInstance *,class CInstance *,long)
+?ExecMethod@Provider@@MAEJABVCInstance@@QAGPAV2@2J@Z
+; public: virtual long __stdcall CWbemProviderGlue::ExecMethodAsync(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IWbemClassObject *,struct IWbemObjectSink *)
+?ExecMethodAsync@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAUIWbemClassObject@@PAUIWbemObjectSink@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::ExecNotificationQuery(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IEnumWbemClassObject * *)
+?ExecNotificationQuery@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAPAUIEnumWbemClassObject@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::ExecNotificationQueryAsync(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
+?ExecNotificationQueryAsync@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAUIWbemObjectSink@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::ExecQuery(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IEnumWbemClassObject * *)
+?ExecQuery@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAPAUIEnumWbemClassObject@@@Z
+; protected: virtual long __thiscall Provider::ExecQuery(class MethodContext *,class CFrameworkQuery &,long)
+?ExecQuery@Provider@@MAEJPAVMethodContext@@AAVCFrameworkQuery@@J@Z
+; public: virtual long __stdcall CWbemProviderGlue::ExecQueryAsync(unsigned short * const,unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
+?ExecQueryAsync@CWbemProviderGlue@@UAGJQAG0JPAUIWbemContext@@PAUIWbemObjectSink@@@Z
+; private: long __thiscall Provider::ExecuteQuery(class MethodContext *,class CFrameworkQuery &,long)
+?ExecuteQuery@Provider@@AAEJPAVMethodContext@@AAVCFrameworkQuery@@J@Z
+; public: static long __stdcall CWbemProviderGlue::FillInstance(class CInstance *,unsigned short const *)
+?FillInstance@CWbemProviderGlue@@SGJPAVCInstance@@PBG@Z
+; public: static long __stdcall CWbemProviderGlue::FillInstance(class MethodContext *,class CInstance *)
+?FillInstance@CWbemProviderGlue@@SGJPAVMethodContext@@PAVCInstance@@@Z
+; public: int __thiscall CHString::Find(unsigned short)const 
+?Find@CHString@@QBEHG@Z
+; public: int __thiscall CHString::Find(unsigned short const *)const 
+?Find@CHString@@QBEHPBG@Z
+; public: int __thiscall CHString::FindOneOf(unsigned short const *)const 
+?FindOneOf@CHString@@QBEHPBG@Z
+; protected: virtual void __thiscall Provider::Flush(void)
+?Flush@Provider@@MAEXXZ
+; private: void __thiscall CWbemProviderGlue::FlushAll(void)
+?FlushAll@CWbemProviderGlue@@AAEXXZ
+; public: void __cdecl CHString::Format(unsigned int,...)
+?Format@CHString@@QAAXIZZ
+; public: void __cdecl CHString::Format(unsigned short const *,...)
+?Format@CHString@@QAAXPBGZZ
+; public: void __cdecl CHString::FormatMessageW(unsigned int,...)
+?FormatMessageW@CHString@@QAAXIZZ
+; public: void __cdecl CHString::FormatMessageW(unsigned short const *,...)
+?FormatMessageW@CHString@@QAAXPBGZZ
+; public: void __thiscall CHString::FormatV(unsigned short const *,char *)
+?FormatV@CHString@@QAEXPBGPAD@Z
+; public: static void __stdcall CWbemProviderGlue::FrameworkLogin(unsigned short const *,class Provider *,unsigned short const *)
+?FrameworkLogin@CWbemProviderGlue@@SGXPBGPAVProvider@@0@Z
+; public: static int __stdcall CWbemProviderGlue::FrameworkLoginDLL(unsigned short const *)
+?FrameworkLoginDLL@CWbemProviderGlue@@SGHPBG@Z
+; public: static int __stdcall CWbemProviderGlue::FrameworkLoginDLL(unsigned short const *,long *)
+?FrameworkLoginDLL@CWbemProviderGlue@@SGHPBGPAJ@Z
+; public: static void __stdcall CWbemProviderGlue::FrameworkLogoff(unsigned short const *,unsigned short const *)
+?FrameworkLogoff@CWbemProviderGlue@@SGXPBG0@Z
+; public: static int __stdcall CWbemProviderGlue::FrameworkLogoffDLL(unsigned short const *)
+?FrameworkLogoffDLL@CWbemProviderGlue@@SGHPBG@Z
+; public: static int __stdcall CWbemProviderGlue::FrameworkLogoffDLL(unsigned short const *,long *)
+?FrameworkLogoffDLL@CWbemProviderGlue@@SGHPBGPAJ@Z
+; public: void __thiscall CObjectPathParser::Free(struct ParsedObjectPath *)
+?Free@CObjectPathParser@@QAEXPAUParsedObjectPath@@@Z
+; public: void __thiscall CHPtrArray::FreeExtra(void)
+?FreeExtra@CHPtrArray@@QAEXXZ
+; public: void __thiscall CHString::FreeExtra(void)
+?FreeExtra@CHString@@QAEXXZ
+; public: void __thiscall CHStringArray::FreeExtra(void)
+?FreeExtra@CHStringArray@@QAEXXZ
+; public: int __thiscall CRegistrySearch::FreeSearchList(int,class CHPtrArray &)
+?FreeSearchList@CRegistrySearch@@QAEHHAAVCHPtrArray@@@Z
+; public: static long __stdcall CWbemProviderGlue::GetAllDerivedInstances(unsigned short const *,class TRefPointerCollection<class CInstance> *,class MethodContext *,unsigned short const *)
+?GetAllDerivedInstances@CWbemProviderGlue@@SGJPBGPAV?$TRefPointerCollection@VCInstance@@@@PAVMethodContext@@0@Z
+; public: static long __stdcall CWbemProviderGlue::GetAllDerivedInstancesAsynch(unsigned short const *,class Provider *,long (__stdcall*)(class Provider *,class CInstance *,class MethodContext *,void *),unsigned short const *,class MethodContext *,void *)
+?GetAllDerivedInstancesAsynch@CWbemProviderGlue@@SGJPBGPAVProvider@@P6GJ1PAVCInstance@@PAVMethodContext@@PAX@Z034@Z
+; public: static long __stdcall CWbemProviderGlue::GetAllInstances(unsigned short const *,class TRefPointerCollection<class CInstance> *,unsigned short const *,class MethodContext *)
+?GetAllInstances@CWbemProviderGlue@@SGJPBGPAV?$TRefPointerCollection@VCInstance@@@@0PAVMethodContext@@@Z
+; public: static long __stdcall CWbemProviderGlue::GetAllInstancesAsynch(unsigned short const *,class Provider *,long (__stdcall*)(class Provider *,class CInstance *,class MethodContext *,void *),unsigned short const *,class MethodContext *,void *)
+?GetAllInstancesAsynch@CWbemProviderGlue@@SGJPBGPAVProvider@@P6GJ1PAVCInstance@@PAVMethodContext@@PAX@Z034@Z
+; public: int __thiscall CHString::GetAllocLength(void)const 
+?GetAllocLength@CHString@@QBEHXZ
+; public: void * __thiscall CHPtrArray::GetAt(int)const 
+?GetAt@CHPtrArray@@QBEPAXH@Z
+; public: unsigned short __thiscall CHString::GetAt(int)const 
+?GetAt@CHString@@QBEGH@Z
+; public: class CHString  __thiscall CHStringArray::GetAt(int)const 
+?GetAt@CHStringArray@@QBE?AVCHString@@H@Z
+; public: unsigned short * __thiscall WBEMTime::GetBSTR(void)const 
+?GetBSTR@WBEMTime@@QBEPAGXZ
+; public: unsigned short * __thiscall WBEMTimeSpan::GetBSTR(void)const 
+?GetBSTR@WBEMTimeSpan@@QBEPAGXZ
+; public: unsigned short * __thiscall CHString::GetBuffer(int)
+?GetBuffer@CHString@@QAEPAGH@Z
+; public: unsigned short * __thiscall CHString::GetBufferSetLength(int)
+?GetBufferSetLength@CHString@@QAEPAGH@Z
+; public: bool __thiscall CInstance::GetByte(unsigned short const *,unsigned char &)const 
+?GetByte@CInstance@@QBE_NPBGAAE@Z
+; public: bool __thiscall CInstance::GetCHString(unsigned short const *,class CHString &)const 
+?GetCHString@CInstance@@QBE_NPBGAAVCHString@@@Z
+; public: static unsigned short const * __stdcall CWbemProviderGlue::GetCSDVersion(void)
+?GetCSDVersion@CWbemProviderGlue@@SGPBGXZ
+; public: unsigned short * __thiscall CRegistry::GetClassNameW(void)
+?GetClassNameW@CRegistry@@QAEPAGXZ
+; public: struct IWbemClassObject * __thiscall CInstance::GetClassObjectInterface(void)
+?GetClassObjectInterface@CInstance@@QAEPAUIWbemClassObject@@XZ
+; private: struct IWbemClassObject * __thiscall Provider::GetClassObjectInterface(class MethodContext *)
+?GetClassObjectInterface@Provider@@AAEPAUIWbemClassObject@@PAVMethodContext@@@Z
+; private: static void __stdcall CWbemProviderGlue::GetComputerNameW(class CHString &)
+?GetComputerNameW@CWbemProviderGlue@@CGXAAVCHString@@@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentBinaryKeyValue(struct HKEY__ *,unsigned short const *,unsigned char *,unsigned long *)
+?GetCurrentBinaryKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGPAEPAK@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentBinaryKeyValue(unsigned short const *,class CHString &)
+?GetCurrentBinaryKeyValue@CRegistry@@QAEKPBGAAVCHString@@@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentBinaryKeyValue(unsigned short const *,unsigned char *,unsigned long *)
+?GetCurrentBinaryKeyValue@CRegistry@@QAEKPBGPAEPAK@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(struct HKEY__ *,unsigned short const *,unsigned long &)
+?GetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAK@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(struct HKEY__ *,unsigned short const *,class CHString &)
+?GetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHString@@@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(struct HKEY__ *,unsigned short const *,class CHStringArray &)
+?GetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHStringArray@@@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(unsigned short const *,unsigned long &)
+?GetCurrentKeyValue@CRegistry@@QAEKPBGAAK@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(unsigned short const *,class CHString &)
+?GetCurrentKeyValue@CRegistry@@QAEKPBGAAVCHString@@@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentKeyValue(unsigned short const *,class CHStringArray &)
+?GetCurrentKeyValue@CRegistry@@QAEKPBGAAVCHStringArray@@@Z
+; private: unsigned long __thiscall CRegistry::GetCurrentRawKeyValue(struct HKEY__ *,unsigned short const *,void *,unsigned long *,unsigned long *)
+?GetCurrentRawKeyValue@CRegistry@@AAEKPAUHKEY__@@PBGPAXPAK3@Z
+; private: unsigned long __thiscall CRegistry::GetCurrentRawSubKeyValue(unsigned short const *,void *,unsigned long *,unsigned long *)
+?GetCurrentRawSubKeyValue@CRegistry@@AAEKPBGPAXPAK2@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyCount(void)
+?GetCurrentSubKeyCount@CRegistry@@QAEKXZ
+; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyName(class CHString &)
+?GetCurrentSubKeyName@CRegistry@@QAEKAAVCHString@@@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyPath(class CHString &)
+?GetCurrentSubKeyPath@CRegistry@@QAEKAAVCHString@@@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyValue(unsigned short const *,unsigned long &)
+?GetCurrentSubKeyValue@CRegistry@@QAEKPBGAAK@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyValue(unsigned short const *,class CHString &)
+?GetCurrentSubKeyValue@CRegistry@@QAEKPBGAAVCHString@@@Z
+; public: unsigned long __thiscall CRegistry::GetCurrentSubKeyValue(unsigned short const *,void *,unsigned long *)
+?GetCurrentSubKeyValue@CRegistry@@QAEKPBGPAXPAK@Z
+; public: unsigned short * __thiscall WBEMTime::GetDMTF(int)const 
+?GetDMTF@WBEMTime@@QBEPAGH@Z
+; public: unsigned short * __thiscall WBEMTime::GetDMTFNonNtfs(void)const 
+?GetDMTFNonNtfs@WBEMTime@@QBEPAGXZ
+; public: bool __thiscall CInstance::GetDOUBLE(unsigned short const *,double &)const 
+?GetDOUBLE@CInstance@@QBE_NPBGAAN@Z
+; public: bool __thiscall CInstance::GetDWORD(unsigned short const *,unsigned long &)const 
+?GetDWORD@CInstance@@QBE_NPBGAAK@Z
+; public: void * * __thiscall CHPtrArray::GetData(void)
+?GetData@CHPtrArray@@QAEPAPAXXZ
+; public: void const * * __thiscall CHPtrArray::GetData(void)const 
+?GetData@CHPtrArray@@QBEPAPBXXZ
+; protected: struct CHStringData * __thiscall CHString::GetData(void)const 
+?GetData@CHString@@IBEPAUCHStringData@@XZ
+; public: class CHString * __thiscall CHStringArray::GetData(void)
+?GetData@CHStringArray@@QAEPAVCHString@@XZ
+; public: class CHString const * __thiscall CHStringArray::GetData(void)const 
+?GetData@CHStringArray@@QBEPBVCHString@@XZ
+; public: bool __thiscall CInstance::GetDateTime(unsigned short const *,class WBEMTime &)const 
+?GetDateTime@CInstance@@QBE_NPBGAAVWBEMTime@@@Z
+; public: bool __thiscall CInstance::GetEmbeddedObject(unsigned short const *,class CInstance * *,class MethodContext *)const 
+?GetEmbeddedObject@CInstance@@QBE_NPBGPAPAV1@PAVMethodContext@@@Z
+; public: static long __stdcall CWbemProviderGlue::GetEmptyInstance(class MethodContext *,unsigned short const *,class CInstance * *,unsigned short const *)
+?GetEmptyInstance@CWbemProviderGlue@@SGJPAVMethodContext@@PBGPAPAVCInstance@@1@Z
+; public: static long __stdcall CWbemProviderGlue::GetEmptyInstance(unsigned short const *,class CInstance * *,unsigned short const *)
+?GetEmptyInstance@CWbemProviderGlue@@SGJPBGPAPAVCInstance@@0@Z
+; public: int __thiscall WBEMTime::GetFILETIME(struct _FILETIME *)const 
+?GetFILETIME@WBEMTime@@QBEHPAU_FILETIME@@@Z
+; public: int __thiscall WBEMTimeSpan::GetFILETIME(struct _FILETIME *)const 
+?GetFILETIME@WBEMTimeSpan@@QBEHPAU_FILETIME@@@Z
+; public: virtual struct IWbemContext * __thiscall MethodContext::GetIWBEMContext(void)
+?GetIWBEMContext@MethodContext@@UAEPAUIWbemContext@@XZ
+; public: static long __stdcall CWbemProviderGlue::GetInstanceByPath(unsigned short const *,class CInstance * *,class MethodContext *)
+?GetInstanceByPath@CWbemProviderGlue@@SGJPBGPAPAVCInstance@@PAVMethodContext@@@Z
+; private: static long __stdcall CWbemProviderGlue::GetInstanceFromCIMOM(unsigned short const *,unsigned short const *,class MethodContext *,class CInstance * *)
+?GetInstanceFromCIMOM@CWbemProviderGlue@@CGJPBG0PAVMethodContext@@PAPAVCInstance@@@Z
+; public: static long __stdcall CWbemProviderGlue::GetInstanceKeysByPath(unsigned short const *,class CInstance * *,class MethodContext *)
+?GetInstanceKeysByPath@CWbemProviderGlue@@SGJPBGPAPAVCInstance@@PAVMethodContext@@@Z
+; public: static long __stdcall CWbemProviderGlue::GetInstancePropertiesByPath(unsigned short const *,class CInstance * *,class MethodContext *,class CHStringArray &)
+?GetInstancePropertiesByPath@CWbemProviderGlue@@SGJPBGPAPAVCInstance@@PAVMethodContext@@AAVCHStringArray@@@Z
+; public: static long __stdcall CWbemProviderGlue::GetInstancesByQuery(unsigned short const *,class TRefPointerCollection<class CInstance> *,class MethodContext *,unsigned short const *)
+?GetInstancesByQuery@CWbemProviderGlue@@SGJPBGPAV?$TRefPointerCollection@VCInstance@@@@PAVMethodContext@@0@Z
+; public: static long __stdcall CWbemProviderGlue::GetInstancesByQueryAsynch(unsigned short const *,class Provider *,long (__stdcall*)(class Provider *,class CInstance *,class MethodContext *,void *),unsigned short const *,class MethodContext *,void *)
+?GetInstancesByQueryAsynch@CWbemProviderGlue@@SGJPBGPAVProvider@@P6GJ1PAVCInstance@@PAVMethodContext@@PAX@Z034@Z
+; public: unsigned short * __thiscall ParsedObjectPath::GetKeyString(void)
+?GetKeyString@ParsedObjectPath@@QAEPAGXZ
+; public: int __thiscall CHString::GetLength(void)const 
+?GetLength@CHString@@QBEHXZ
+; protected: class CHString const & __thiscall Provider::GetLocalComputerName(void)
+?GetLocalComputerName@Provider@@IAEABVCHString@@XZ
+; protected: bool __thiscall Provider::GetLocalInstancePath(class CInstance const *,class CHString &)
+?GetLocalInstancePath@Provider@@IAE_NPBVCInstance@@AAVCHString@@@Z
+; public: static long __stdcall WBEMTime::GetLocalOffsetForDate(long const &)
+?GetLocalOffsetForDate@WBEMTime@@SGJABJ@Z
+; public: static long __stdcall WBEMTime::GetLocalOffsetForDate(struct _FILETIME const *)
+?GetLocalOffsetForDate@WBEMTime@@SGJPBU_FILETIME@@@Z
+; public: static long __stdcall WBEMTime::GetLocalOffsetForDate(struct _SYSTEMTIME const *)
+?GetLocalOffsetForDate@WBEMTime@@SGJPBU_SYSTEMTIME@@@Z
+; public: static long __stdcall WBEMTime::GetLocalOffsetForDate(struct tm const *)
+?GetLocalOffsetForDate@WBEMTime@@SGJPBUtm@@@Z
+; public: unsigned long __thiscall CRegistry::GetLongestClassStringSize(void)
+?GetLongestClassStringSize@CRegistry@@QAEKXZ
+; public: unsigned long __thiscall CRegistry::GetLongestSubKeySize(void)
+?GetLongestSubKeySize@CRegistry@@QAEKXZ
+; public: unsigned long __thiscall CRegistry::GetLongestValueData(void)
+?GetLongestValueData@CRegistry@@QAEKXZ
+; public: unsigned long __thiscall CRegistry::GetLongestValueName(void)
+?GetLongestValueName@CRegistry@@QAEKXZ
+; protected: static long * __stdcall CWbemProviderGlue::GetMapCountPtr(class CWbemGlueFactory const *)
+?GetMapCountPtr@CWbemProviderGlue@@KGPAJPBVCWbemGlueFactory@@@Z
+; public: class MethodContext * __thiscall CInstance::GetMethodContext(void)const 
+?GetMethodContext@CInstance@@QBEPAVMethodContext@@XZ
+; protected: class CHString const & __thiscall CFrameworkQuery::GetNamespace(void)
+?GetNamespace@CFrameworkQuery@@IAEABVCHString@@XZ
+; protected: class CHString const & __thiscall Provider::GetNamespace(void)
+?GetNamespace@Provider@@IAEABVCHString@@XZ
+; public: static struct IWbemServices * __stdcall CWbemProviderGlue::GetNamespaceConnection(unsigned short const *)
+?GetNamespaceConnection@CWbemProviderGlue@@SGPAUIWbemServices@@PBG@Z
+; public: static struct IWbemServices * __stdcall CWbemProviderGlue::GetNamespaceConnection(unsigned short const *,class MethodContext *)
+?GetNamespaceConnection@CWbemProviderGlue@@SGPAUIWbemServices@@PBGPAVMethodContext@@@Z
+; public: unsigned short * __thiscall ParsedObjectPath::GetNamespacePart(void)
+?GetNamespacePart@ParsedObjectPath@@QAEPAGXZ
+; public: static unsigned long __stdcall CWbemProviderGlue::GetOSMajorVersion(void)
+?GetOSMajorVersion@CWbemProviderGlue@@SGKXZ
+; public: virtual long __stdcall CWbemProviderGlue::GetObject(unsigned short * const,long,struct IWbemContext *,struct IWbemClassObject * *,struct IWbemCallResult * *)
+?GetObject@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIWbemClassObject@@PAPAUIWbemCallResult@@@Z
+; private: long __thiscall Provider::GetObject(struct ParsedObjectPath *,class MethodContext *,long)
+?GetObject@Provider@@AAEJPAUParsedObjectPath@@PAVMethodContext@@J@Z
+; protected: virtual long __thiscall Provider::GetObject(class CInstance *,long)
+?GetObject@Provider@@MAEJPAVCInstance@@J@Z
+; protected: virtual long __thiscall Provider::GetObject(class CInstance *,long,class CFrameworkQuery &)
+?GetObject@Provider@@MAEJPAVCInstance@@JAAVCFrameworkQuery@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::GetObjectAsync(unsigned short * const,long,struct IWbemContext *,struct IWbemObjectSink *)
+?GetObjectAsync@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAUIWbemObjectSink@@@Z
+; public: unsigned short * __thiscall ParsedObjectPath::GetParentNamespacePart(void)
+?GetParentNamespacePart@ParsedObjectPath@@QAEPAGXZ
+; public: static unsigned long __stdcall CWbemProviderGlue::GetPlatform(void)
+?GetPlatform@CWbemProviderGlue@@SGKXZ
+; public: void __thiscall CFrameworkQueryEx::GetPropertyBitMask(class CHPtrArray const &,void *)
+?GetPropertyBitMask@CFrameworkQueryEx@@QAEXABVCHPtrArray@@PAX@Z
+; private: class CWbemProviderGlue * __thiscall MethodContext::GetProviderGlue(void)
+?GetProviderGlue@MethodContext@@AAEPAVCWbemProviderGlue@@XZ
+; protected: class CHString const & __thiscall Provider::GetProviderName(void)
+?GetProviderName@Provider@@IAEABVCHString@@XZ
+; public: class CHString const & __thiscall CFrameworkQuery::GetQuery(void)
+?GetQuery@CFrameworkQuery@@QAEABVCHString@@XZ
+; public: unsigned short * __thiscall CFrameworkQuery::GetQueryClassName(void)
+?GetQueryClassName@CFrameworkQuery@@QAEPAGXZ
+; public: static unsigned short * __stdcall CObjectPathParser::GetRelativePath(unsigned short *)
+?GetRelativePath@CObjectPathParser@@SGPAGPAG@Z
+; public: void __thiscall CFrameworkQuery::GetRequiredProperties(class CHStringArray &)
+?GetRequiredProperties@CFrameworkQuery@@QAEXAAVCHStringArray@@@Z
+; public: int __thiscall WBEMTime::GetSYSTEMTIME(struct _SYSTEMTIME *)const 
+?GetSYSTEMTIME@WBEMTime@@QBEHPAU_SYSTEMTIME@@@Z
+; public: int __thiscall CHPtrArray::GetSize(void)const 
+?GetSize@CHPtrArray@@QBEHXZ
+; public: int __thiscall CHStringArray::GetSize(void)const 
+?GetSize@CHStringArray@@QBEHXZ
+; public: bool __thiscall CInstance::GetStatus(unsigned short const *,bool &,unsigned short &)const 
+?GetStatus@CInstance@@QBE_NPBGAA_NAAG@Z
+; private: static struct IWbemClassObject * __stdcall CWbemProviderGlue::GetStatusObject(class MethodContext *,unsigned short const *)
+?GetStatusObject@CWbemProviderGlue@@CGPAUIWbemClassObject@@PAVMethodContext@@PBG@Z
+; public: struct IWbemClassObject * __thiscall MethodContext::GetStatusObject(void)
+?GetStatusObject@MethodContext@@QAEPAUIWbemClassObject@@XZ
+; public: bool __thiscall CInstance::GetStringArray(unsigned short const *,struct tagSAFEARRAY * &)const 
+?GetStringArray@CInstance@@QBE_NPBGAAPAUtagSAFEARRAY@@@Z
+; public: int __thiscall WBEMTime::GetStructtm(struct tm *)const 
+?GetStructtm@WBEMTime@@QBEHPAUtm@@@Z
+; public: unsigned __int64 __thiscall WBEMTime::GetTime(void)const 
+?GetTime@WBEMTime@@QBE_KXZ
+; public: unsigned __int64 __thiscall WBEMTimeSpan::GetTime(void)const 
+?GetTime@WBEMTimeSpan@@QBE_KXZ
+; public: bool __thiscall CInstance::GetTimeSpan(unsigned short const *,class WBEMTimeSpan &)const 
+?GetTimeSpan@CInstance@@QBE_NPBGAAVWBEMTimeSpan@@@Z
+; public: int __thiscall CHPtrArray::GetUpperBound(void)const 
+?GetUpperBound@CHPtrArray@@QBEHXZ
+; public: int __thiscall CHStringArray::GetUpperBound(void)const 
+?GetUpperBound@CHStringArray@@QBEHXZ
+; public: unsigned long __thiscall CRegistry::GetValueCount(void)
+?GetValueCount@CRegistry@@QAEKXZ
+; public: long __thiscall CFrameworkQuery::GetValuesForProp(unsigned short const *,class std::vector<class _bstr_t,class std::allocator<class _bstr_t> > &)
+?GetValuesForProp@CFrameworkQuery@@QAEJPBGAAV?$vector@V_bstr_t@@V?$allocator@V_bstr_t@@@std@@@std@@@Z
+; public: long __thiscall CFrameworkQuery::GetValuesForProp(unsigned short const *,class CHStringArray &)
+?GetValuesForProp@CFrameworkQuery@@QAEJPBGAAVCHStringArray@@@Z
+; public: long __thiscall CFrameworkQueryEx::GetValuesForProp(unsigned short const *,class std::vector<int,class std::allocator<int> > &)
+?GetValuesForProp@CFrameworkQueryEx@@QAEJPBGAAV?$vector@HV?$allocator@H@std@@@std@@@Z
+; public: long __thiscall CFrameworkQueryEx::GetValuesForProp(unsigned short const *,class std::vector<class _variant_t,class std::allocator<class _variant_t> > &)
+?GetValuesForProp@CFrameworkQueryEx@@QAEJPBGAAV?$vector@V_variant_t@@V?$allocator@V_variant_t@@@std@@@std@@@Z
+; public: bool __thiscall CInstance::GetVariant(unsigned short const *,struct tagVARIANT &)const 
+?GetVariant@CInstance@@QBE_NPBGAAUtagVARIANT@@@Z
+; public: bool __thiscall CInstance::GetWBEMINT16(unsigned short const *,short &)const 
+?GetWBEMINT16@CInstance@@QBE_NPBGAAF@Z
+; public: bool __thiscall CInstance::GetWBEMINT64(unsigned short const *,class CHString &)const 
+?GetWBEMINT64@CInstance@@QBE_NPBGAAVCHString@@@Z
+; public: bool __thiscall CInstance::GetWBEMINT64(unsigned short const *,__int64 &)const 
+?GetWBEMINT64@CInstance@@QBE_NPBGAA_J@Z
+; public: bool __thiscall CInstance::GetWBEMINT64(unsigned short const *,unsigned __int64 &)const 
+?GetWBEMINT64@CInstance@@QBE_NPBGAA_K@Z
+; public: bool __thiscall CInstance::GetWCHAR(unsigned short const *,unsigned short * *)const 
+?GetWCHAR@CInstance@@QBE_NPBGPAPAG@Z
+; public: bool __thiscall CInstance::GetWORD(unsigned short const *,unsigned short &)const 
+?GetWORD@CInstance@@QBE_NPBGAAG@Z
+; public: bool __thiscall CInstance::Getbool(unsigned short const *,bool &)const 
+?Getbool@CInstance@@QBE_NPBGAA_N@Z
+; public: struct HKEY__ * __thiscall CRegistry::GethKey(void)
+?GethKey@CRegistry@@QAEPAUHKEY__@@XZ
+; public: int __thiscall WBEMTime::Gettime_t(long *)const 
+?Gettime_t@WBEMTime@@QBEHPAJ@Z
+; public: int __thiscall WBEMTimeSpan::Gettime_t(long *)const 
+?Gettime_t@WBEMTimeSpan@@QBEHPAJ@Z
+; protected: static long __stdcall CWbemProviderGlue::IncrementMapCount(long *)
+?IncrementMapCount@CWbemProviderGlue@@KGJPAJ@Z
+; protected: static long __stdcall CWbemProviderGlue::IncrementMapCount(class CWbemGlueFactory const *)
+?IncrementMapCount@CWbemProviderGlue@@KGJPBVCWbemGlueFactory@@@Z
+; public: static void __stdcall CWbemProviderGlue::IncrementObjectCount(void)
+?IncrementObjectCount@CWbemProviderGlue@@SGXXZ
+; public: void __thiscall CFrameworkQuery::Init2(struct IWbemClassObject *)
+?Init2@CFrameworkQuery@@QAEXPAUIWbemClassObject@@@Z
+; public: long __thiscall CFrameworkQuery::Init(struct ParsedObjectPath *,struct IWbemContext *,unsigned short const *,class CHString &)
+?Init@CFrameworkQuery@@QAEJPAUParsedObjectPath@@PAUIWbemContext@@PBGAAVCHString@@@Z
+; public: long __thiscall CFrameworkQuery::Init(unsigned short * const,unsigned short * const,long,class CHString &)
+?Init@CFrameworkQuery@@QAEJQAG0JAAVCHString@@@Z
+; protected: void __thiscall CHString::Init(void)
+?Init@CHString@@IAEXXZ
+; private: static void __stdcall CWbemProviderGlue::Init(void)
+?Init@CWbemProviderGlue@@CGXXZ
+; private: static void __stdcall Provider::InitComputerName(void)
+?InitComputerName@Provider@@CGXXZ
+; public: virtual long __thiscall CFrameworkQueryEx::InitEx(unsigned short * const,unsigned short * const,long,class CHString &)
+?InitEx@CFrameworkQueryEx@@UAEJQAG0JAAVCHString@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::Initialize(unsigned short *,long,unsigned short *,unsigned short *,struct IWbemServices *,struct IWbemContext *,struct IWbemProviderInitSink *)
+?Initialize@CWbemProviderGlue@@UAGJPAGJ00PAUIWbemServices@@PAUIWbemContext@@PAUIWbemProviderInitSink@@@Z
+; public: void __thiscall CHPtrArray::InsertAt(int,class CHPtrArray *)
+?InsertAt@CHPtrArray@@QAEXHPAV1@@Z
+; public: void __thiscall CHPtrArray::InsertAt(int,void *,int)
+?InsertAt@CHPtrArray@@QAEXHPAXH@Z
+; public: void __thiscall CHStringArray::InsertAt(int,class CHStringArray *)
+?InsertAt@CHStringArray@@QAEXHPAV1@@Z
+; public: void __thiscall CHStringArray::InsertAt(int,unsigned short const *,int)
+?InsertAt@CHStringArray@@QAEXHPBGH@Z
+; private: struct IWbemServices * __stdcall CWbemProviderGlue::InternalGetNamespaceConnection(unsigned short const *)
+?InternalGetNamespaceConnection@CWbemProviderGlue@@AAGPAUIWbemServices@@PBG@Z
+; public: int __thiscall CFrameworkQueryEx::Is3TokenOR(unsigned short const *,unsigned short const *,struct tagVARIANT &,struct tagVARIANT &)
+?Is3TokenOR@CFrameworkQueryEx@@QAEHPBG0AAUtagVARIANT@@1@Z
+; public: int __thiscall ParsedObjectPath::IsClass(void)
+?IsClass@ParsedObjectPath@@QAEHXZ
+; public: static bool __stdcall CWbemProviderGlue::IsDerivedFrom(unsigned short const *,unsigned short const *,class MethodContext *,unsigned short const *)
+?IsDerivedFrom@CWbemProviderGlue@@SG_NPBG0PAVMethodContext@@0@Z
+; public: int __thiscall CHString::IsEmpty(void)const 
+?IsEmpty@CHString@@QBEHXZ
+; public: virtual bool __thiscall CFrameworkQueryEx::IsExtended(void)
+?IsExtended@CFrameworkQueryEx@@UAE_NXZ
+; protected: unsigned long __thiscall CFrameworkQuery::IsInList(class CHStringArray const &,unsigned short const *)
+?IsInList@CFrameworkQuery@@IAEKABVCHStringArray@@PBG@Z
+; public: int __thiscall ParsedObjectPath::IsInstance(void)
+?IsInstance@ParsedObjectPath@@QAEHXZ
+; public: int __thiscall ParsedObjectPath::IsLocal(unsigned short const *)
+?IsLocal@ParsedObjectPath@@QAEHPBG@Z
+; public: enum ProviderLog::LogLevel  __thiscall ProviderLog::IsLoggingOn(class CHString *)
+?IsLoggingOn@ProviderLog@@QAE?AW4LogLevel@1@PAVCHString@@@Z
+; public: int __thiscall CFrameworkQueryEx::IsNTokenAnd(class CHStringArray &,class CHPtrArray &)
+?IsNTokenAnd@CFrameworkQueryEx@@QAEHAAVCHStringArray@@AAVCHPtrArray@@@Z
+; public: bool __thiscall CInstance::IsNull(unsigned short const *)const 
+?IsNull@CInstance@@QBE_NPBG@Z
+; public: int __thiscall ParsedObjectPath::IsObject(void)
+?IsObject@ParsedObjectPath@@QAEHXZ
+; public: bool __thiscall WBEMTime::IsOk(void)const 
+?IsOk@WBEMTime@@QBE_NXZ
+; public: bool __thiscall WBEMTimeSpan::IsOk(void)const 
+?IsOk@WBEMTimeSpan@@QBE_NXZ
+; public: bool __thiscall CFrameworkQuery::IsPropertyRequired(unsigned short const *)
+?IsPropertyRequired@CFrameworkQuery@@QAE_NPBG@Z
+; protected: int __thiscall CFrameworkQuery::IsReference(unsigned short const *)
+?IsReference@CFrameworkQuery@@IAEHPBG@Z
+; public: int __thiscall ParsedObjectPath::IsRelative(unsigned short const *,unsigned short const *)
+?IsRelative@ParsedObjectPath@@QAEHPBG0@Z
+; public: bool __thiscall CFrameworkQuery::KeysOnly(void)
+?KeysOnly@CFrameworkQuery@@QAE_NXZ
+; public: class CHString  __thiscall CHString::Left(int)const 
+?Left@CHString@@QBE?AV1@H@Z
+; protected: int __thiscall CHString::LoadStringW(unsigned int,unsigned short *,unsigned int)
+?LoadStringW@CHString@@IAEHIPAGI@Z
+; public: int __thiscall CHString::LoadStringW(unsigned int)
+?LoadStringW@CHString@@QAEHI@Z
+; public: void __cdecl ProviderLog::LocalLogMessage(unsigned short const *,int,enum ProviderLog::LogLevel,unsigned short const *,...)
+?LocalLogMessage@ProviderLog@@QAAXPBGHW4LogLevel@1@0ZZ
+; public: void __thiscall ProviderLog::LocalLogMessage(unsigned short const *,unsigned short const *,int,enum ProviderLog::LogLevel)
+?LocalLogMessage@ProviderLog@@QAEXPBG0HW4LogLevel@1@@Z
+; public: int __thiscall CRegistrySearch::LocateKeyByNameOrValueName(struct HKEY__ *,unsigned short const *,unsigned short const *,unsigned short const * *,unsigned long,class CHString &,class CHString &)
+?LocateKeyByNameOrValueName@CRegistrySearch@@QAEHPAUHKEY__@@PBG1PAPBGKAAVCHString@@3@Z
+; private: void __thiscall CThreadBase::Lock(void)
+?Lock@CThreadBase@@AAEXXZ
+; public: unsigned short * __thiscall CHString::LockBuffer(void)
+?LockBuffer@CHString@@QAEPAGXZ
+; private: static void __stdcall CWbemProviderGlue::LockFactoryMap(void)
+?LockFactoryMap@CWbemProviderGlue@@CGXXZ
+; private: static void __stdcall CWbemProviderGlue::LockProviderMap(void)
+?LockProviderMap@CWbemProviderGlue@@CGXXZ
+; public: virtual long __stdcall CWbemGlueFactory::LockServer(int)
+?LockServer@CWbemGlueFactory@@UAGJH@Z
+; protected: void __thiscall CInstance::LogError(unsigned short const *,unsigned short const *,unsigned short const *,long)const 
+?LogError@CInstance@@IBEXPBG00J@Z
+; protected: class CHString  __thiscall Provider::MakeLocalPath(class CHString const &)
+?MakeLocalPath@Provider@@IAE?AVCHString@@ABV2@@Z
+; public: void __thiscall CHString::MakeLower(void)
+?MakeLower@CHString@@QAEXXZ
+; public: void __thiscall CHString::MakeReverse(void)
+?MakeReverse@CHString@@QAEXXZ
+; public: void __thiscall CHString::MakeUpper(void)
+?MakeUpper@CHString@@QAEXXZ
+; public: class CHString  __thiscall CHString::Mid(int)const 
+?Mid@CHString@@QBE?AV1@H@Z
+; public: class CHString  __thiscall CHString::Mid(int,int)const 
+?Mid@CHString@@QBE?AV1@HH@Z
+; private: static long __stdcall CWinMsgEvent::MsgWndProc(struct HWND__ *,unsigned int,unsigned int,long)
+?MsgWndProc@CWinMsgEvent@@CGJPAUHWND__@@IIJ@Z
+; public: unsigned long __thiscall CRegistry::NextSubKey(void)
+?NextSubKey@CRegistry@@QAEKXZ
+; private: int __thiscall CObjectPathParser::NextToken(void)
+?NextToken@CObjectPathParser@@AAEHXZ
+; unsigned long __stdcall NormalizePath(unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,class CHString &)
+?NormalizePath@@YGKPBG00KAAVCHString@@@Z
+; private: long __thiscall CWbemProviderGlue::NullOutUnsetProperties(struct IWbemClassObject *,struct IWbemClassObject * *,struct tagVARIANT const &)
+?NullOutUnsetProperties@CWbemProviderGlue@@AAEJPAUIWbemClassObject@@PAPAU2@ABUtagVARIANT@@@Z
+; protected: virtual void __thiscall CThreadBase::OnFinalRelease(void)
+?OnFinalRelease@CThreadBase@@MAEXXZ
+; public: long __thiscall CRegistry::Open(struct HKEY__ *,unsigned short const *,unsigned long)
+?Open@CRegistry@@QAEJPAUHKEY__@@PBGK@Z
+; public: long __thiscall CRegistry::OpenAndEnumerateSubKeys(struct HKEY__ *,unsigned short const *,unsigned long)
+?OpenAndEnumerateSubKeys@CRegistry@@QAEJPAUHKEY__@@PBGK@Z
+; public: unsigned long __thiscall CRegistry::OpenCurrentUser(unsigned short const *,unsigned long)
+?OpenCurrentUser@CRegistry@@QAEKPBGK@Z
+; public: long __thiscall CRegistry::OpenLocalMachineKeyAndReadValue(unsigned short const *,unsigned short const *,class CHString &)
+?OpenLocalMachineKeyAndReadValue@CRegistry@@QAEJPBG0AAVCHString@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::OpenNamespace(unsigned short * const,long,struct IWbemContext *,struct IWbemServices * *,struct IWbemCallResult * *)
+?OpenNamespace@CWbemProviderGlue@@UAGJQAGJPAUIWbemContext@@PAPAUIWbemServices@@PAPAUIWbemCallResult@@@Z
+; private: unsigned long __thiscall CRegistry::OpenSubKey(void)
+?OpenSubKey@CRegistry@@AAEKXZ
+; public: int __thiscall CObjectPathParser::Parse(unsigned short const *,struct ParsedObjectPath * *)
+?Parse@CObjectPathParser@@QAEHPBGPAPAUParsedObjectPath@@@Z
+; private: long __thiscall CWbemProviderGlue::PreProcessPutInstanceParms(struct IWbemClassObject *,struct IWbemClassObject * *,struct IWbemContext *)
+?PreProcessPutInstanceParms@CWbemProviderGlue@@AAEJPAUIWbemClassObject@@PAPAU2@PAUIWbemContext@@@Z
+; private: void __thiscall CRegistry::PrepareToReOpen(void)
+?PrepareToReOpen@CRegistry@@AAEXXZ
+; public: virtual long __stdcall CWbemProviderGlue::PutClass(struct IWbemClassObject *,long,struct IWbemContext *,struct IWbemCallResult * *)
+?PutClass@CWbemProviderGlue@@UAGJPAUIWbemClassObject@@JPAUIWbemContext@@PAPAUIWbemCallResult@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::PutClassAsync(struct IWbemClassObject *,long,struct IWbemContext *,struct IWbemObjectSink *)
+?PutClassAsync@CWbemProviderGlue@@UAGJPAUIWbemClassObject@@JPAUIWbemContext@@PAUIWbemObjectSink@@@Z
+; public: virtual long __stdcall CWbemProviderGlue::PutInstance(struct IWbemClassObject *,long,struct IWbemContext *,struct IWbemCallResult * *)
+?PutInstance@CWbemProviderGlue@@UAGJPAUIWbemClassObject@@JPAUIWbemContext@@PAPAUIWbemCallResult@@@Z
+; private: long __thiscall Provider::PutInstance(struct IWbemClassObject *,long,class MethodContext *)
+?PutInstance@Provider@@AAEJPAUIWbemClassObject@@JPAVMethodContext@@@Z
+; protected: virtual long __thiscall Provider::PutInstance(class CInstance const &,long)
+?PutInstance@Provider@@MAEJABVCInstance@@J@Z
+; public: virtual long __stdcall CWbemProviderGlue::PutInstanceAsync(struct IWbemClassObject *,long,struct IWbemContext *,struct IWbemObjectSink *)
+?PutInstanceAsync@CWbemProviderGlue@@UAGJPAUIWbemClassObject@@JPAUIWbemContext@@PAUIWbemObjectSink@@@Z
+; public: virtual long __stdcall CWbemGlueFactory::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CWbemGlueFactory@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CWbemProviderGlue::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CWbemProviderGlue@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CWbemProviderGlue::QueryObjectSink(long,struct IWbemObjectSink * *)
+?QueryObjectSink@CWbemProviderGlue@@UAGJJPAPAUIWbemObjectSink@@@Z
+; public: virtual void __thiscall MethodContext::QueryPostProcess(void)
+?QueryPostProcess@MethodContext@@UAEXXZ
+; protected: void __thiscall CWinMsgEvent::RegisterForMessage(unsigned int)
+?RegisterForMessage@CWinMsgEvent@@IAEXI@Z
+; protected: void __thiscall CHString::Release(void)
+?Release@CHString@@IAEXXZ
+; protected: static void __stdcall CHString::Release(struct CHStringData *)
+?Release@CHString@@KGXPAUCHStringData@@@Z
+; public: long __thiscall CInstance::Release(void)
+?Release@CInstance@@QAEJXZ
+; public: long __thiscall CThreadBase::Release(void)
+?Release@CThreadBase@@QAEJXZ
+; public: virtual unsigned long __stdcall CWbemGlueFactory::Release(void)
+?Release@CWbemGlueFactory@@UAGKXZ
+; public: virtual unsigned long __stdcall CWbemProviderGlue::Release(void)
+?Release@CWbemProviderGlue@@UAGKXZ
+; public: long __thiscall MethodContext::Release(void)
+?Release@MethodContext@@QAEJXZ
+; public: void __thiscall CHString::ReleaseBuffer(int)
+?ReleaseBuffer@CHString@@QAEXH@Z
+; public: void __thiscall CHPtrArray::RemoveAll(void)
+?RemoveAll@CHPtrArray@@QAEXXZ
+; public: void __thiscall CHStringArray::RemoveAll(void)
+?RemoveAll@CHStringArray@@QAEXXZ
+; public: void __thiscall CHPtrArray::RemoveAt(int,int)
+?RemoveAt@CHPtrArray@@QAEXHH@Z
+; public: void __thiscall CHStringArray::RemoveAt(int,int)
+?RemoveAt@CHStringArray@@QAEXHH@Z
+; protected: static void __stdcall CWbemProviderGlue::RemoveFromFactoryMap(class CWbemGlueFactory const *)
+?RemoveFromFactoryMap@CWbemProviderGlue@@KGXPBVCWbemGlueFactory@@@Z
+; private: void __thiscall CFrameworkQuery::Reset(void)
+?Reset@CFrameworkQuery@@AAEXXZ
+; public: int __thiscall CHString::ReverseFind(unsigned short)const 
+?ReverseFind@CHString@@QBEHG@Z
+; public: void __thiscall CRegistry::RewindSubKeys(void)
+?RewindSubKeys@CRegistry@@QAEXXZ
+; public: class CHString  __thiscall CHString::Right(int)const 
+?Right@CHString@@QBE?AV1@H@Z
+; protected: static int __stdcall CHString::SafeStrlen(unsigned short const *)
+?SafeStrlen@CHString@@KGHPBG@Z
+; public: int __thiscall CRegistrySearch::SearchAndBuildList(class CHString,class CHPtrArray &,class CHString,class CHString,int,struct HKEY__ *)
+?SearchAndBuildList@CRegistrySearch@@QAEHVCHString@@AAVCHPtrArray@@00HPAUHKEY__@@@Z
+; private: static class Provider * __stdcall CWbemProviderGlue::SearchMapForProvider(unsigned short const *,unsigned short const *)
+?SearchMapForProvider@CWbemProviderGlue@@CGPAVProvider@@PBG0@Z
+; public: void __thiscall CHPtrArray::SetAt(int,void *)
+?SetAt@CHPtrArray@@QAEXHPAX@Z
+; public: void __thiscall CHString::SetAt(int,unsigned short)
+?SetAt@CHString@@QAEXHG@Z
+; public: void __thiscall CHStringArray::SetAt(int,unsigned short const *)
+?SetAt@CHStringArray@@QAEXHPBG@Z
+; public: void __thiscall CHPtrArray::SetAtGrow(int,void *)
+?SetAtGrow@CHPtrArray@@QAEXHPAX@Z
+; public: void __thiscall CHStringArray::SetAtGrow(int,unsigned short const *)
+?SetAtGrow@CHStringArray@@QAEXHPBG@Z
+; public: bool __thiscall CInstance::SetByte(unsigned short const *,unsigned char)
+?SetByte@CInstance@@QAE_NPBGE@Z
+; public: bool __thiscall CInstance::SetCHString(unsigned short const *,unsigned short const *)
+?SetCHString@CInstance@@QAE_NPBG0@Z
+; public: bool __thiscall CInstance::SetCHString(unsigned short const *,class CHString const &)
+?SetCHString@CInstance@@QAE_NPBGABVCHString@@@Z
+; public: bool __thiscall CInstance::SetCHString(unsigned short const *,char const *)
+?SetCHString@CInstance@@QAE_NPBGPBD@Z
+; void __stdcall SetCHStringResourceHandle(struct HINSTANCE__ *)
+?SetCHStringResourceHandle@@YGXPAUHINSTANCE__@@@Z
+; public: bool __thiscall CInstance::SetCharSplat(unsigned short const *,unsigned short const *)
+?SetCharSplat@CInstance@@QAE_NPBG0@Z
+; public: bool __thiscall CInstance::SetCharSplat(unsigned short const *,unsigned long)
+?SetCharSplat@CInstance@@QAE_NPBGK@Z
+; public: bool __thiscall CInstance::SetCharSplat(unsigned short const *,char const *)
+?SetCharSplat@CInstance@@QAE_NPBGPBD@Z
+; public: int __thiscall ParsedObjectPath::SetClassName(unsigned short const *)
+?SetClassName@ParsedObjectPath@@QAEHPBG@Z
+; protected: bool __thiscall Provider::SetCreationClassName(class CInstance *)
+?SetCreationClassName@Provider@@IAE_NPAVCInstance@@@Z
+; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(struct HKEY__ *,unsigned short const *,unsigned long &)
+?SetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAK@Z
+; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(struct HKEY__ *,unsigned short const *,class CHString &)
+?SetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHString@@@Z
+; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(struct HKEY__ *,unsigned short const *,class CHStringArray &)
+?SetCurrentKeyValue@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHStringArray@@@Z
+; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(unsigned short const *,unsigned long &)
+?SetCurrentKeyValue@CRegistry@@QAEKPBGAAK@Z
+; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(unsigned short const *,class CHString &)
+?SetCurrentKeyValue@CRegistry@@QAEKPBGAAVCHString@@@Z
+; public: unsigned long __thiscall CRegistry::SetCurrentKeyValue(unsigned short const *,class CHStringArray &)
+?SetCurrentKeyValue@CRegistry@@QAEKPBGAAVCHStringArray@@@Z
+; public: unsigned long __thiscall CRegistry::SetCurrentKeyValueExpand(struct HKEY__ *,unsigned short const *,class CHString &)
+?SetCurrentKeyValueExpand@CRegistry@@QAEKPAUHKEY__@@PBGAAVCHString@@@Z
+; public: int __thiscall WBEMTime::SetDMTF(unsigned short * const)
+?SetDMTF@WBEMTime@@QAEHQAG@Z
+; public: bool __thiscall CInstance::SetDOUBLE(unsigned short const *,double)
+?SetDOUBLE@CInstance@@QAE_NPBGN@Z
+; public: bool __thiscall CInstance::SetDWORD(unsigned short const *,unsigned long)
+?SetDWORD@CInstance@@QAE_NPBGK@Z
+; public: bool __thiscall CInstance::SetDateTime(unsigned short const *,class WBEMTime const &)
+?SetDateTime@CInstance@@QAE_NPBGABVWBEMTime@@@Z
+; private: void __thiscall CRegistry::SetDefaultValues(void)
+?SetDefaultValues@CRegistry@@AAEXXZ
+; public: bool __thiscall CInstance::SetEmbeddedObject(unsigned short const *,class CInstance &)
+?SetEmbeddedObject@CInstance@@QAE_NPBGAAV1@@Z
+; private: int __thiscall Provider::SetKeyFromParsedObjectPath(class CInstance *,struct ParsedObjectPath *)
+?SetKeyFromParsedObjectPath@Provider@@AAEHPAVCInstance@@PAUParsedObjectPath@@@Z
+; public: bool __thiscall CInstance::SetNull(unsigned short const *)
+?SetNull@CInstance@@QAE_NPBG@Z
+; private: static int __stdcall CRegistry::SetPlatformID(void)
+?SetPlatformID@CRegistry@@CGHXZ
+; public: void __thiscall CHPtrArray::SetSize(int,int)
+?SetSize@CHPtrArray@@QAEXHH@Z
+; public: void __thiscall CHStringArray::SetSize(int,int)
+?SetSize@CHStringArray@@QAEXHH@Z
+; public: static bool __stdcall CWbemProviderGlue::SetStatusObject(class MethodContext *,unsigned short const *,unsigned short const *,long,struct tagSAFEARRAY const *,struct tagSAFEARRAY const *)
+?SetStatusObject@CWbemProviderGlue@@SG_NPAVMethodContext@@PBG1JPBUtagSAFEARRAY@@2@Z
+; public: bool __thiscall MethodContext::SetStatusObject(struct IWbemClassObject *)
+?SetStatusObject@MethodContext@@QAE_NPAUIWbemClassObject@@@Z
+; public: bool __thiscall CInstance::SetStringArray(unsigned short const *,struct tagSAFEARRAY const &)
+?SetStringArray@CInstance@@QAE_NPBGABUtagSAFEARRAY@@@Z
+; public: bool __thiscall CInstance::SetTimeSpan(unsigned short const *,class WBEMTimeSpan const &)
+?SetTimeSpan@CInstance@@QAE_NPBGABVWBEMTimeSpan@@@Z
+; public: bool __thiscall CInstance::SetVariant(unsigned short const *,struct tagVARIANT const &)
+?SetVariant@CInstance@@QAE_NPBGABUtagVARIANT@@@Z
+; public: bool __thiscall CInstance::SetWBEMINT16(unsigned short const *,short const &)
+?SetWBEMINT16@CInstance@@QAE_NPBGABF@Z
+; public: bool __thiscall CInstance::SetWBEMINT64(unsigned short const *,class CHString const &)
+?SetWBEMINT64@CInstance@@QAE_NPBGABVCHString@@@Z
+; public: bool __thiscall CInstance::SetWBEMINT64(unsigned short const *,__int64)
+?SetWBEMINT64@CInstance@@QAE_NPBG_J@Z
+; public: bool __thiscall CInstance::SetWBEMINT64(unsigned short const *,unsigned __int64)
+?SetWBEMINT64@CInstance@@QAE_NPBG_K@Z
+; public: bool __thiscall CInstance::SetWCHARSplat(unsigned short const *,unsigned short const *)
+?SetWCHARSplat@CInstance@@QAE_NPBG0@Z
+; public: bool __thiscall CInstance::SetWORD(unsigned short const *,unsigned short)
+?SetWORD@CInstance@@QAE_NPBGG@Z
+; public: bool __thiscall CInstance::Setbool(unsigned short const *,bool)
+?Setbool@CInstance@@QAE_NPBG_N@Z
+; public: int __thiscall CAutoEvent::Signal(void)
+?Signal@CAutoEvent@@QAEHXZ
+; public: class CHString  __thiscall CHString::SpanExcluding(unsigned short const *)const 
+?SpanExcluding@CHString@@QBE?AV1@PBG@Z
+; public: class CHString  __thiscall CHString::SpanIncluding(unsigned short const *)const 
+?SpanIncluding@CHString@@QBE?AV1@PBG@Z
+; public: void __thiscall CHString::TrimLeft(void)
+?TrimLeft@CHString@@QAEXXZ
+; public: void __thiscall CHString::TrimRight(void)
+?TrimRight@CHString@@QAEXXZ
+; private: static void __stdcall CWbemProviderGlue::UnInit(void)
+?UnInit@CWbemProviderGlue@@CGXXZ
+; protected: void __thiscall CWinMsgEvent::UnRegisterAllMessages(void)
+?UnRegisterAllMessages@CWinMsgEvent@@IAEXXZ
+; protected: bool __thiscall CWinMsgEvent::UnRegisterMessage(unsigned int)
+?UnRegisterMessage@CWinMsgEvent@@IAE_NI@Z
+; private: void __thiscall CThreadBase::Unlock(void)
+?Unlock@CThreadBase@@AAEXXZ
+; public: void __thiscall CHString::UnlockBuffer(void)
+?UnlockBuffer@CHString@@QAEXXZ
+; private: static void __stdcall CWbemProviderGlue::UnlockFactoryMap(void)
+?UnlockFactoryMap@CWbemProviderGlue@@CGXXZ
+; private: static void __stdcall CWbemProviderGlue::UnlockProviderMap(void)
+?UnlockProviderMap@CWbemProviderGlue@@CGXXZ
+; public: static int __stdcall CObjectPathParser::Unparse(struct ParsedObjectPath *,unsigned short * *)
+?Unparse@CObjectPathParser@@SGHPAUParsedObjectPath@@PAPAG@Z
+; protected: virtual long __thiscall Provider::ValidateDeletionFlags(long)
+?ValidateDeletionFlags@Provider@@MAEJJ@Z
+; protected: virtual long __thiscall Provider::ValidateEnumerationFlags(long)
+?ValidateEnumerationFlags@Provider@@MAEJJ@Z
+; protected: long __thiscall Provider::ValidateFlags(long,enum Provider::FlagDefs)
+?ValidateFlags@Provider@@IAEJJW4FlagDefs@1@@Z
+; protected: virtual long __thiscall Provider::ValidateGetObjFlags(long)
+?ValidateGetObjFlags@Provider@@MAEJJ@Z
+; private: int __thiscall Provider::ValidateIMOSPointer(void)
+?ValidateIMOSPointer@Provider@@AAEHXZ
+; protected: virtual long __thiscall Provider::ValidateMethodFlags(long)
+?ValidateMethodFlags@Provider@@MAEJJ@Z
+; protected: virtual long __thiscall Provider::ValidatePutInstanceFlags(long)
+?ValidatePutInstanceFlags@Provider@@MAEJJ@Z
+; protected: virtual long __thiscall Provider::ValidateQueryFlags(long)
+?ValidateQueryFlags@Provider@@MAEJJ@Z
+; public: unsigned long __thiscall CAutoEvent::Wait(unsigned long)
+?Wait@CAutoEvent@@QAEKK@Z
+; private: static void __stdcall CWinMsgEvent::WindowsDispatch(void)
+?WindowsDispatch@CWinMsgEvent@@CGXXZ
+; private: void __thiscall CObjectPathParser::Zero(void)
+?Zero@CObjectPathParser@@AAEXXZ
+; private: int __thiscall CObjectPathParser::begin_parse(void)
+?begin_parse@CObjectPathParser@@AAEHXZ
+; class ProviderLog  captainsLog
+?captainsLog@@3VProviderLog@@A DATA
+; private: static unsigned long __stdcall CWinMsgEvent::dwThreadProc(void *)
+?dwThreadProc@CWinMsgEvent@@CGKPAX@Z
+; class CCritSec  g_cs
+?g_cs@@3VCCritSec@@A DATA
+; private: int __thiscall CObjectPathParser::ident_becomes_class(void)
+?ident_becomes_class@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::ident_becomes_ns(void)
+?ident_becomes_ns@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::key_const(void)
+?key_const@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::keyref(void)
+?keyref@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::keyref_list(void)
+?keyref_list@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::keyref_term(void)
+?keyref_term@CObjectPathParser@@AAEHXZ
+; private: static class std::set<void *,struct std::less<void *>,class std::allocator<void *> >  CWbemProviderGlue::m_FlushPtrs
+?m_FlushPtrs@CWbemProviderGlue@@0V?$set@PAXU?$less@PAX@std@@V?$allocator@PAX@2@@std@@A DATA
+; private: static class CCritSec  CWbemProviderGlue::m_csFlushPtrs
+?m_csFlushPtrs@CWbemProviderGlue@@0VCCritSec@@A DATA
+; private: static class CCritSec  CWbemProviderGlue::m_csStatusObject
+?m_csStatusObject@CWbemProviderGlue@@0VCCritSec@@A DATA
+; private: static struct IWbemClassObject *  CWbemProviderGlue::m_pStatusObject
+?m_pStatusObject@CWbemProviderGlue@@0PAUIWbemClassObject@@A DATA
+; private: static class CAutoEvent  CWinMsgEvent::mg_aeCreateWindow
+?mg_aeCreateWindow@CWinMsgEvent@@0VCAutoEvent@@A DATA
+; private: static class CCritSec  CWinMsgEvent::mg_csMapLock
+?mg_csMapLock@CWinMsgEvent@@0VCCritSec@@A DATA
+; private: static class CCritSec  CWinMsgEvent::mg_csWindowLock
+?mg_csWindowLock@CWinMsgEvent@@0VCCritSec@@A DATA
+; private: static void *  CWinMsgEvent::mg_hThreadPumpHandle
+?mg_hThreadPumpHandle@CWinMsgEvent@@0PAXA DATA
+; private: static struct HWND__ *  CWinMsgEvent::mg_hWnd
+?mg_hWnd@CWinMsgEvent@@0PAUHWND__@@A DATA
+; private: static class std::multimap<unsigned int,class CWinMsgEvent *,struct std::less<unsigned int>,class std::allocator<class CWinMsgEvent *> >  CWinMsgEvent::mg_oSinkMap
+?mg_oSinkMap@CWinMsgEvent@@0V?$multimap@IPAVCWinMsgEvent@@U?$less@I@std@@V?$allocator@PAVCWinMsgEvent@@@3@@std@@A DATA
+; private: long __thiscall CRegistry::myRegCreateKeyEx(struct HKEY__ *,unsigned short const *,unsigned long,unsigned short *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES *,struct HKEY__ * *,unsigned long *)
+?myRegCreateKeyEx@CRegistry@@AAEJPAUHKEY__@@PBGKPAGKKPAU_SECURITY_ATTRIBUTES@@PAPAU2@PAK@Z
+; private: long __thiscall CRegistry::myRegDeleteKey(struct HKEY__ *,unsigned short const *)
+?myRegDeleteKey@CRegistry@@AAEJPAUHKEY__@@PBG@Z
+; private: long __thiscall CRegistry::myRegDeleteValue(struct HKEY__ *,unsigned short const *)
+?myRegDeleteValue@CRegistry@@AAEJPAUHKEY__@@PBG@Z
+; private: long __thiscall CRegistry::myRegEnumKey(struct HKEY__ *,unsigned long,unsigned short *,unsigned long)
+?myRegEnumKey@CRegistry@@AAEJPAUHKEY__@@KPAGK@Z
+; private: long __thiscall CRegistry::myRegEnumValue(struct HKEY__ *,unsigned long,unsigned short *,unsigned long *,unsigned long *,unsigned long *,unsigned char *,unsigned long *)
+?myRegEnumValue@CRegistry@@AAEJPAUHKEY__@@KPAGPAK22PAE2@Z
+; private: long __thiscall CRegistry::myRegOpenKeyEx(struct HKEY__ *,unsigned short const *,unsigned long,unsigned long,struct HKEY__ * *)
+?myRegOpenKeyEx@CRegistry@@AAEJPAUHKEY__@@PBGKKPAPAU2@@Z
+; private: long __thiscall CRegistry::myRegQueryInfoKey(struct HKEY__ *,unsigned short *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,struct _FILETIME *)
+?myRegQueryInfoKey@CRegistry@@AAEJPAUHKEY__@@PAGPAK22222222PAU_FILETIME@@@Z
+; private: long __thiscall CRegistry::myRegQueryValueEx(struct HKEY__ *,unsigned short const *,unsigned long *,unsigned long *,unsigned char *,unsigned long *)
+?myRegQueryValueEx@CRegistry@@AAEJPAUHKEY__@@PBGPAK2PAE2@Z
+; private: long __thiscall CRegistry::myRegSetValueEx(struct HKEY__ *,unsigned short const *,unsigned long,unsigned long,unsigned char const *,unsigned long)
+?myRegSetValueEx@CRegistry@@AAEJPAUHKEY__@@PBGKKPBEK@Z
+; private: int __thiscall CObjectPathParser::ns_list(void)
+?ns_list@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::ns_list_rest(void)
+?ns_list_rest@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::ns_or_class(void)
+?ns_or_class@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::ns_or_server(void)
+?ns_or_server@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::objref(void)
+?objref@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::objref_rest(void)
+?objref_rest@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::optional_objref(void)
+?optional_objref@CObjectPathParser@@AAEHXZ
+; private: int __thiscall CObjectPathParser::propname(void)
+?propname@CObjectPathParser@@AAEHXZ
+; private: static int  CWbemProviderGlue::s_bInitted
+?s_bInitted@CWbemProviderGlue@@0HA DATA
+; private: static class CCritSec  CWbemProviderGlue::s_csFactoryMap
+?s_csFactoryMap@CWbemProviderGlue@@0VCCritSec@@A DATA
+; private: static class CCritSec  CWbemProviderGlue::s_csProviderMap
+?s_csProviderMap@CWbemProviderGlue@@0VCCritSec@@A DATA
+; private: static unsigned long  CWbemProviderGlue::s_dwMajorVersion
+?s_dwMajorVersion@CWbemProviderGlue@@0KA DATA
+; private: static unsigned long  CRegistry::s_dwPlatform
+?s_dwPlatform@CRegistry@@0KA DATA
+; private: static unsigned long  CWbemProviderGlue::s_dwPlatform
+?s_dwPlatform@CWbemProviderGlue@@0KA DATA
+; private: static int  CRegistry::s_fPlatformSet
+?s_fPlatformSet@CRegistry@@0HA DATA
+; private: static class std::map<void const *,long *,struct std::less<void const *>,class std::allocator<long *> >  CWbemProviderGlue::s_factorymap
+?s_factorymap@CWbemProviderGlue@@0V?$map@PBXPAJU?$less@PBX@std@@V?$allocator@PAJ@2@@std@@A DATA
+; private: static long  CWbemProviderGlue::s_lObjects
+?s_lObjects@CWbemProviderGlue@@0JA DATA
+; private: static class std::map<class CHString,void *,struct std::less<class CHString>,class std::allocator<void *> >  CWbemProviderGlue::s_providersmap
+?s_providersmap@CWbemProviderGlue@@0V?$map@VCHString@@PAXU?$less@VCHString@@@std@@V?$allocator@PAX@3@@std@@A DATA
+; private: static class CHString  Provider::s_strComputerName
+?s_strComputerName@Provider@@0VCHString@@A DATA
+; private: static unsigned short *  CWbemProviderGlue::s_wstrCSDVersion
+?s_wstrCSDVersion@CWbemProviderGlue@@0PAGA DATA
+_DoCmd@16
diff --git a/mingw-w64-crt/lib64/wfsusd.def b/mingw-w64-crt/lib64/wfsusd.def
index 48f8bbb..ec987b1 100644
--- a/mingw-w64-crt/lib64/wfsusd.def
+++ b/mingw-w64-crt/lib64/wfsusd.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file FSUSD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FSUSD.dll
-EXPORTS
-DllCanUnloadNow
-_DllEntryPoint@12
-DllGetClassObject
+; 
+; Exports of file FSUSD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FSUSD.dll
+EXPORTS
+DllCanUnloadNow
+_DllEntryPoint@12
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wftlx041e.def b/mingw-w64-crt/lib64/wftlx041e.def
index 3b5a5b1..c8322d4 100644
--- a/mingw-w64-crt/lib64/wftlx041e.def
+++ b/mingw-w64-crt/lib64/wftlx041e.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FTLX041E.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FTLX041E.dll
-EXPORTS
-FindThaiWordBreak
-FindThaiWordBreakW
-FTSWordBreakA
-FTSWordBreakW
+; 
+; Exports of file FTLX041E.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FTLX041E.dll
+EXPORTS
+FindThaiWordBreak
+FindThaiWordBreakW
+FTSWordBreakA
+FTSWordBreakW
diff --git a/mingw-w64-crt/lib64/wftpctrs2.def b/mingw-w64-crt/lib64/wftpctrs2.def
index a50fd14..63a5750 100644
--- a/mingw-w64-crt/lib64/wftpctrs2.def
+++ b/mingw-w64-crt/lib64/wftpctrs2.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file FTPCTRS2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FTPCTRS2.dll
-EXPORTS
-OpenFtpPerformanceData
-CollectFtpPerformanceData
-CloseFtpPerformanceData
+; 
+; Exports of file FTPCTRS2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FTPCTRS2.dll
+EXPORTS
+OpenFtpPerformanceData
+CollectFtpPerformanceData
+CloseFtpPerformanceData
diff --git a/mingw-w64-crt/lib64/wftsrch.def b/mingw-w64-crt/lib64/wftsrch.def
index eb516f5..580720c 100644
--- a/mingw-w64-crt/lib64/wftsrch.def
+++ b/mingw-w64-crt/lib64/wftsrch.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file FTSRCH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FTSRCH.dll
-EXPORTS
-ClearDisplayText
-CompressText
-CountHilites
-DecompressText
-DeleteCompressor
-DeleteHiliter
-DeleteIndex
-DeleteSearcher
-DiscardIndex
-DllMain
-GetPhraseTable
-IsValidIndex
-LoadGroup
-NewCompressor
-NewHiliter
-NewIndex
-NewSearcher
-OpenBiDiTabDialog
-OpenDialog
-OpenIndex
-OpenTabDialog
-QueryHilites
-QueryOptions
-RegisterAnimator
-SaveGroup
-SaveIndex
-ScanDisplayText
-ScanText
-ScanTopicText
-ScanTopicTitle
-SetDirectoryLocator
-SetPhraseTable
+; 
+; Exports of file FTSRCH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FTSRCH.dll
+EXPORTS
+ClearDisplayText
+CompressText
+CountHilites
+DecompressText
+DeleteCompressor
+DeleteHiliter
+DeleteIndex
+DeleteSearcher
+DiscardIndex
+DllMain
+GetPhraseTable
+IsValidIndex
+LoadGroup
+NewCompressor
+NewHiliter
+NewIndex
+NewSearcher
+OpenBiDiTabDialog
+OpenDialog
+OpenIndex
+OpenTabDialog
+QueryHilites
+QueryOptions
+RegisterAnimator
+SaveGroup
+SaveIndex
+ScanDisplayText
+ScanText
+ScanTopicText
+ScanTopicTitle
+SetDirectoryLocator
+SetPhraseTable
diff --git a/mingw-w64-crt/lib64/wfwcfg.def b/mingw-w64-crt/lib64/wfwcfg.def
index a423805..2cfe90a 100644
--- a/mingw-w64-crt/lib64/wfwcfg.def
+++ b/mingw-w64-crt/lib64/wfwcfg.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file FWCFG.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FWCFG.DLL
-EXPORTS
-GetResourceString
-InitHelperDll
+; 
+; Exports of file FWCFG.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FWCFG.DLL
+EXPORTS
+GetResourceString
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/wfxsapi.def b/mingw-w64-crt/lib64/wfxsapi.def
index bca71aa..28c566b 100644
--- a/mingw-w64-crt/lib64/wfxsapi.def
+++ b/mingw-w64-crt/lib64/wfxsapi.def
@@ -1,164 +1,164 @@
-; 
-; Exports of file FXSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSAPI.dll
-EXPORTS
-FXSAPIFree
-FXSAPIInitialize
-FaxAbort
-FaxAccessCheck
-FaxAccessCheckEx
-FaxAddOutboundGroupA
-FaxAddOutboundGroupW
-FaxAddOutboundRuleA
-FaxAddOutboundRuleW
-FaxAnswerCall
-FaxCheckValidFaxFolder
-FaxClose
-FaxCompleteJobParamsA
-FaxCompleteJobParamsW
-FaxConnectFaxServerA
-FaxConnectFaxServerW
-FaxEnableRoutingMethodA
-FaxEnableRoutingMethodW
-FaxEndMessagesEnum
-FaxEnumGlobalRoutingInfoA
-FaxEnumGlobalRoutingInfoW
-FaxEnumJobsA
-FaxEnumJobsExA
-FaxEnumJobsExW
-FaxEnumJobsW
-FaxEnumMessagesA
-FaxEnumMessagesW
-FaxEnumOutboundGroupsA
-FaxEnumOutboundGroupsW
-FaxEnumOutboundRulesA
-FaxEnumOutboundRulesW
-FaxEnumPortsA
-FaxEnumPortsExA
-FaxEnumPortsExW
-FaxEnumPortsW
-FaxEnumRoutingExtensionsA
-FaxEnumRoutingExtensionsW
-FaxEnumRoutingMethodsA
-FaxEnumRoutingMethodsW
-FaxEnumerateProvidersA
-FaxEnumerateProvidersW
-FaxFreeBuffer
-FaxFreeSenderInformation
-FaxGetActivityLoggingConfigurationA
-FaxGetActivityLoggingConfigurationW
-FaxGetArchiveConfigurationA
-FaxGetArchiveConfigurationW
-FaxGetConfigWizardUsed
-FaxGetConfigurationA
-FaxGetConfigurationW
-FaxGetCountryListA
-FaxGetCountryListW
-FaxGetDeviceStatusA
-FaxGetDeviceStatusW
-FaxGetExtensionDataA
-FaxGetExtensionDataW
-FaxGetJobA
-FaxGetJobExA
-FaxGetJobExW
-FaxGetJobW
-FaxGetLoggingCategoriesA
-FaxGetLoggingCategoriesW
-FaxGetMessageA
-FaxGetMessageTiffA
-FaxGetMessageTiffW
-FaxGetMessageW
-FaxGetOutboxConfiguration
-FaxGetPageData
-FaxGetPersonalCoverPagesOption
-FaxGetPortA
-FaxGetPortExA
-FaxGetPortExW
-FaxGetPortW
-FaxGetQueueStates
-FaxGetReceiptsConfigurationA
-FaxGetReceiptsConfigurationW
-FaxGetReceiptsOptions
-FaxGetRecipientInfoA
-FaxGetRecipientInfoW
-FaxGetRecipientsLimit
-FaxGetReportedServerAPIVersion
-FaxGetRoutingInfoA
-FaxGetRoutingInfoW
-FaxGetSecurity
-FaxGetSecurityEx
-FaxGetSenderInfoA
-FaxGetSenderInfoW
-FaxGetSenderInformation
-FaxGetServerActivity
-FaxGetServerSKU
-FaxGetServicePrintersA
-FaxGetServicePrintersW
-FaxGetVersion
-FaxInitializeEventQueue
-FaxOpenPort
-FaxPrintCoverPageA
-FaxPrintCoverPageW
-FaxRefreshArchive
-FaxRegisterForServerEvents
-FaxRegisterRoutingExtensionW
-FaxRegisterServiceProviderExA
-FaxRegisterServiceProviderExW
-FaxRelease
-FaxRemoveMessage
-FaxRemoveOutboundGroupA
-FaxRemoveOutboundGroupW
-FaxRemoveOutboundRule
-FaxSendDocumentA
-FaxSendDocumentExA
-FaxSendDocumentExW
-FaxSendDocumentForBroadcastA
-FaxSendDocumentForBroadcastW
-FaxSendDocumentW
-FaxSetActivityLoggingConfigurationA
-FaxSetActivityLoggingConfigurationW
-FaxSetArchiveConfigurationA
-FaxSetArchiveConfigurationW
-FaxSetConfigWizardUsed
-FaxSetConfigurationA
-FaxSetConfigurationW
-FaxSetDeviceOrderInGroupA
-FaxSetDeviceOrderInGroupW
-FaxSetExtensionDataA
-FaxSetExtensionDataW
-FaxSetGlobalRoutingInfoA
-FaxSetGlobalRoutingInfoW
-FaxSetJobA
-FaxSetJobW
-FaxSetLoggingCategoriesA
-FaxSetLoggingCategoriesW
-FaxSetOutboundGroupA
-FaxSetOutboundGroupW
-FaxSetOutboundRuleA
-FaxSetOutboundRuleW
-FaxSetOutboxConfiguration
-FaxSetPortA
-FaxSetPortExA
-FaxSetPortExW
-FaxSetPortW
-FaxSetQueue
-FaxSetReceiptsConfigurationA
-FaxSetReceiptsConfigurationW
-FaxSetRoutingInfoA
-FaxSetRoutingInfoW
-FaxSetSecurity
-FaxSetSenderInformation
-FaxStartMessagesEnum
-FaxStartPrintJob2W
-FaxStartPrintJobA
-FaxStartPrintJobW
-FaxUnregisterForServerEvents
-FaxUnregisterRoutingExtensionA
-FaxUnregisterRoutingExtensionW
-FaxUnregisterServiceProviderExA
-FaxUnregisterServiceProviderExW
-IsDeviceVirtual
+; 
+; Exports of file FXSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSAPI.dll
+EXPORTS
+FXSAPIFree
+FXSAPIInitialize
+FaxAbort
+FaxAccessCheck
+FaxAccessCheckEx
+FaxAddOutboundGroupA
+FaxAddOutboundGroupW
+FaxAddOutboundRuleA
+FaxAddOutboundRuleW
+FaxAnswerCall
+FaxCheckValidFaxFolder
+FaxClose
+FaxCompleteJobParamsA
+FaxCompleteJobParamsW
+FaxConnectFaxServerA
+FaxConnectFaxServerW
+FaxEnableRoutingMethodA
+FaxEnableRoutingMethodW
+FaxEndMessagesEnum
+FaxEnumGlobalRoutingInfoA
+FaxEnumGlobalRoutingInfoW
+FaxEnumJobsA
+FaxEnumJobsExA
+FaxEnumJobsExW
+FaxEnumJobsW
+FaxEnumMessagesA
+FaxEnumMessagesW
+FaxEnumOutboundGroupsA
+FaxEnumOutboundGroupsW
+FaxEnumOutboundRulesA
+FaxEnumOutboundRulesW
+FaxEnumPortsA
+FaxEnumPortsExA
+FaxEnumPortsExW
+FaxEnumPortsW
+FaxEnumRoutingExtensionsA
+FaxEnumRoutingExtensionsW
+FaxEnumRoutingMethodsA
+FaxEnumRoutingMethodsW
+FaxEnumerateProvidersA
+FaxEnumerateProvidersW
+FaxFreeBuffer
+FaxFreeSenderInformation
+FaxGetActivityLoggingConfigurationA
+FaxGetActivityLoggingConfigurationW
+FaxGetArchiveConfigurationA
+FaxGetArchiveConfigurationW
+FaxGetConfigWizardUsed
+FaxGetConfigurationA
+FaxGetConfigurationW
+FaxGetCountryListA
+FaxGetCountryListW
+FaxGetDeviceStatusA
+FaxGetDeviceStatusW
+FaxGetExtensionDataA
+FaxGetExtensionDataW
+FaxGetJobA
+FaxGetJobExA
+FaxGetJobExW
+FaxGetJobW
+FaxGetLoggingCategoriesA
+FaxGetLoggingCategoriesW
+FaxGetMessageA
+FaxGetMessageTiffA
+FaxGetMessageTiffW
+FaxGetMessageW
+FaxGetOutboxConfiguration
+FaxGetPageData
+FaxGetPersonalCoverPagesOption
+FaxGetPortA
+FaxGetPortExA
+FaxGetPortExW
+FaxGetPortW
+FaxGetQueueStates
+FaxGetReceiptsConfigurationA
+FaxGetReceiptsConfigurationW
+FaxGetReceiptsOptions
+FaxGetRecipientInfoA
+FaxGetRecipientInfoW
+FaxGetRecipientsLimit
+FaxGetReportedServerAPIVersion
+FaxGetRoutingInfoA
+FaxGetRoutingInfoW
+FaxGetSecurity
+FaxGetSecurityEx
+FaxGetSenderInfoA
+FaxGetSenderInfoW
+FaxGetSenderInformation
+FaxGetServerActivity
+FaxGetServerSKU
+FaxGetServicePrintersA
+FaxGetServicePrintersW
+FaxGetVersion
+FaxInitializeEventQueue
+FaxOpenPort
+FaxPrintCoverPageA
+FaxPrintCoverPageW
+FaxRefreshArchive
+FaxRegisterForServerEvents
+FaxRegisterRoutingExtensionW
+FaxRegisterServiceProviderExA
+FaxRegisterServiceProviderExW
+FaxRelease
+FaxRemoveMessage
+FaxRemoveOutboundGroupA
+FaxRemoveOutboundGroupW
+FaxRemoveOutboundRule
+FaxSendDocumentA
+FaxSendDocumentExA
+FaxSendDocumentExW
+FaxSendDocumentForBroadcastA
+FaxSendDocumentForBroadcastW
+FaxSendDocumentW
+FaxSetActivityLoggingConfigurationA
+FaxSetActivityLoggingConfigurationW
+FaxSetArchiveConfigurationA
+FaxSetArchiveConfigurationW
+FaxSetConfigWizardUsed
+FaxSetConfigurationA
+FaxSetConfigurationW
+FaxSetDeviceOrderInGroupA
+FaxSetDeviceOrderInGroupW
+FaxSetExtensionDataA
+FaxSetExtensionDataW
+FaxSetGlobalRoutingInfoA
+FaxSetGlobalRoutingInfoW
+FaxSetJobA
+FaxSetJobW
+FaxSetLoggingCategoriesA
+FaxSetLoggingCategoriesW
+FaxSetOutboundGroupA
+FaxSetOutboundGroupW
+FaxSetOutboundRuleA
+FaxSetOutboundRuleW
+FaxSetOutboxConfiguration
+FaxSetPortA
+FaxSetPortExA
+FaxSetPortExW
+FaxSetPortW
+FaxSetQueue
+FaxSetReceiptsConfigurationA
+FaxSetReceiptsConfigurationW
+FaxSetRoutingInfoA
+FaxSetRoutingInfoW
+FaxSetSecurity
+FaxSetSenderInformation
+FaxStartMessagesEnum
+FaxStartPrintJob2W
+FaxStartPrintJobA
+FaxStartPrintJobW
+FaxUnregisterForServerEvents
+FaxUnregisterRoutingExtensionA
+FaxUnregisterRoutingExtensionW
+FaxUnregisterServiceProviderExA
+FaxUnregisterServiceProviderExW
+IsDeviceVirtual
diff --git a/mingw-w64-crt/lib64/wfxscom.def b/mingw-w64-crt/lib64/wfxscom.def
index 3e4b579..83f35ee 100644
--- a/mingw-w64-crt/lib64/wfxscom.def
+++ b/mingw-w64-crt/lib64/wfxscom.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FxsCom.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FxsCom.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file FxsCom.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FxsCom.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wfxscomex.def b/mingw-w64-crt/lib64/wfxscomex.def
index fcbfdf4..58139e9 100644
--- a/mingw-w64-crt/lib64/wfxscomex.def
+++ b/mingw-w64-crt/lib64/wfxscomex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file FxsComEx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FxsComEx.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file FxsComEx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FxsComEx.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wfxsext32.def b/mingw-w64-crt/lib64/wfxsext32.def
index 4452d2f..e95d3dc 100644
--- a/mingw-w64-crt/lib64/wfxsext32.def
+++ b/mingw-w64-crt/lib64/wfxsext32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file fxsext32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY fxsext32.dll
-EXPORTS
-ExchEntryPoint
+; 
+; Exports of file fxsext32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY fxsext32.dll
+EXPORTS
+ExchEntryPoint
diff --git a/mingw-w64-crt/lib64/wfxsperf.def b/mingw-w64-crt/lib64/wfxsperf.def
index 5bc2f32..a099e47 100644
--- a/mingw-w64-crt/lib64/wfxsperf.def
+++ b/mingw-w64-crt/lib64/wfxsperf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file FXSPERF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSPERF.dll
-EXPORTS
-OpenFaxPerformanceData
-CollectFaxPerformanceData
-CloseFaxPerformanceData
+; 
+; Exports of file FXSPERF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSPERF.dll
+EXPORTS
+OpenFaxPerformanceData
+CollectFaxPerformanceData
+CloseFaxPerformanceData
diff --git a/mingw-w64-crt/lib64/wfxsxp32.def b/mingw-w64-crt/lib64/wfxsxp32.def
index dd70239..9d309f5 100644
--- a/mingw-w64-crt/lib64/wfxsxp32.def
+++ b/mingw-w64-crt/lib64/wfxsxp32.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file FXSXP32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY FXSXP32.dll
-EXPORTS
-ServiceEntry
-XPProviderInit
+; 
+; Exports of file FXSXP32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY FXSXP32.dll
+EXPORTS
+ServiceEntry
+XPProviderInit
diff --git a/mingw-w64-crt/lib64/wgcdef.def b/mingw-w64-crt/lib64/wgcdef.def
index 2d17d6f..902ecd4 100644
--- a/mingw-w64-crt/lib64/wgcdef.def
+++ b/mingw-w64-crt/lib64/wgcdef.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file GCDEF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GCDEF.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file GCDEF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GCDEF.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wgdi32.def b/mingw-w64-crt/lib64/wgdi32.def
index 178a67e..695651b 100644
--- a/mingw-w64-crt/lib64/wgdi32.def
+++ b/mingw-w64-crt/lib64/wgdi32.def
@@ -1,617 +1,617 @@
-; 
-; Exports of file GDI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GDI32.dll
-EXPORTS
-AbortDoc
-AbortPath
-AddFontMemResourceEx
-AddFontResourceA
-AddFontResourceExA
-AddFontResourceExW
-AddFontResourceTracking
-AddFontResourceW
-AngleArc
-AnimatePalette
-AnyLinkedFonts
-Arc
-ArcTo
-BRUSHOBJ_hGetColorTransform
-BRUSHOBJ_pvAllocRbrush
-BRUSHOBJ_pvGetRbrush
-BRUSHOBJ_ulGetBrushColor
-BeginPath
-BitBlt
-CLIPOBJ_bEnum
-CLIPOBJ_cEnumStart
-CLIPOBJ_ppoGetPath
-CancelDC
-CheckColorsInGamut
-ChoosePixelFormat
-Chord
-ClearBitmapAttributes
-ClearBrushAttributes
-CloseEnhMetaFile
-CloseFigure
-CloseMetaFile
-ColorCorrectPalette
-ColorMatchToTarget
-CombineRgn
-CombineTransform
-CopyEnhMetaFileA
-CopyEnhMetaFileW
-CopyMetaFileA
-CopyMetaFileW
-CreateBitmap
-CreateBitmapIndirect
-CreateBrushIndirect
-CreateColorSpaceA
-CreateColorSpaceW
-CreateCompatibleBitmap
-CreateCompatibleDC
-CreateDCA
-CreateDCW
-CreateDIBPatternBrush
-CreateDIBPatternBrushPt
-CreateDIBSection
-CreateDIBitmap
-CreateDiscardableBitmap
-CreateEllipticRgn
-CreateEllipticRgnIndirect
-CreateEnhMetaFileA
-CreateEnhMetaFileW
-CreateFontA
-CreateFontIndirectA
-CreateFontIndirectExA
-CreateFontIndirectExW
-CreateFontIndirectW
-CreateFontW
-CreateHalftonePalette
-CreateHatchBrush
-CreateICA
-CreateICW
-CreateMetaFileA
-CreateMetaFileW
-CreatePalette
-CreatePatternBrush
-CreatePen
-CreatePenIndirect
-CreatePolyPolygonRgn
-CreatePolygonRgn
-CreateRectRgn
-CreateRectRgnIndirect
-CreateRoundRectRgn
-CreateScalableFontResourceA
-CreateScalableFontResourceW
-CreateSolidBrush
-DPtoLP
-DdEntry0
-DdEntry10
-DdEntry11
-DdEntry12
-DdEntry13
-DdEntry14
-DdEntry15
-DdEntry16
-DdEntry17
-DdEntry18
-DdEntry19
-DdEntry1
-DdEntry20
-DdEntry21
-DdEntry22
-DdEntry23
-DdEntry24
-DdEntry25
-DdEntry26
-DdEntry27
-DdEntry28
-DdEntry29
-DdEntry2
-DdEntry30
-DdEntry31
-DdEntry32
-DdEntry33
-DdEntry34
-DdEntry35
-DdEntry36
-DdEntry37
-DdEntry38
-DdEntry39
-DdEntry3
-DdEntry40
-DdEntry41
-DdEntry42
-DdEntry43
-DdEntry44
-DdEntry45
-DdEntry46
-DdEntry47
-DdEntry48
-DdEntry49
-DdEntry4
-DdEntry50
-DdEntry51
-DdEntry52
-DdEntry53
-DdEntry54
-DdEntry55
-DdEntry56
-DdEntry5
-DdEntry6
-DdEntry7
-DdEntry8
-DdEntry9
-DeleteColorSpace
-DeleteDC
-DeleteEnhMetaFile
-DeleteMetaFile
-DeleteObject
-DescribePixelFormat
-DeviceCapabilitiesExA
-DeviceCapabilitiesExW
-DrawEscape
-Ellipse
-EnableEUDC
-EndDoc
-EndFormPage
-EndPage
-EndPath
-EngAcquireSemaphore
-EngAlphaBlend
-EngAssociateSurface
-EngBitBlt
-EngCheckAbort
-EngComputeGlyphSet
-EngCopyBits
-EngCreateBitmap
-EngCreateClip
-EngCreateDeviceBitmap
-EngCreateDeviceSurface
-EngCreatePalette
-EngCreateSemaphore
-EngDeleteClip
-EngDeletePalette
-EngDeletePath
-EngDeleteSemaphore
-EngDeleteSurface
-EngEraseSurface
-EngFillPath
-EngFindResource
-EngFreeModule
-EngGetCurrentCodePage
-EngGetDriverName
-EngGetPrinterDataFileName
-EngGradientFill
-EngLineTo
-EngLoadModule
-EngLockSurface
-EngMarkBandingSurface
-EngMultiByteToUnicodeN
-EngMultiByteToWideChar
-EngPaint
-EngPlgBlt
-EngQueryEMFInfo
-EngQueryLocalTime
-EngReleaseSemaphore
-EngStretchBlt
-EngStretchBltROP
-EngStrokeAndFillPath
-EngStrokePath
-EngTextOut
-EngTransparentBlt
-EngUnicodeToMultiByteN
-EngUnlockSurface
-EngWideCharToMultiByte
-EnumEnhMetaFile
-EnumFontFamiliesA
-EnumFontFamiliesExA
-EnumFontFamiliesExW
-EnumFontFamiliesW
-EnumFontsA
-EnumFontsW
-EnumICMProfilesA
-EnumICMProfilesW
-EnumMetaFile
-EnumObjects
-EqualRgn
-Escape
-EudcLoadLinkW
-EudcUnloadLinkW
-ExcludeClipRect
-ExtCreatePen
-ExtCreateRegion
-ExtEscape
-ExtFloodFill
-ExtSelectClipRgn
-ExtTextOutA
-ExtTextOutW
-FONTOBJ_cGetAllGlyphHandles
-FONTOBJ_cGetGlyphs
-FONTOBJ_pQueryGlyphAttrs
-FONTOBJ_pfdg
-FONTOBJ_pifi
-FONTOBJ_pvTrueTypeFontFile
-FONTOBJ_pxoGetXform
-FONTOBJ_vGetInfo
-FillPath
-FillRgn
-FixBrushOrgEx
-FlattenPath
-FloodFill
-FontIsLinked
-FrameRgn
-GdiAddFontResourceW
-GdiAddGlsBounds
-GdiAddGlsRecord
-GdiAlphaBlend
-GdiArtificialDecrementDriver
-GdiCleanCacheDC
-GdiComment
-GdiConsoleTextOut
-GdiConvertAndCheckDC
-GdiConvertBitmap
-GdiConvertBitmapV5
-GdiConvertBrush
-GdiConvertDC
-GdiConvertEnhMetaFile
-GdiConvertFont
-GdiConvertMetaFilePict
-GdiConvertPalette
-GdiConvertRegion
-GdiConvertToDevmodeW
-GdiCreateLocalEnhMetaFile
-GdiCreateLocalMetaFilePict
-GdiDeleteLocalDC
-GdiDeleteSpoolFileHandle
-GdiDescribePixelFormat
-GdiDllInitialize
-GdiDrawStream
-GdiEndDocEMF
-GdiEndPageEMF
-GdiEntry10
-GdiEntry11
-GdiEntry12
-GdiEntry13
-GdiEntry14
-GdiEntry15
-GdiEntry16
-GdiEntry1
-GdiEntry2
-GdiEntry3
-GdiEntry4
-GdiEntry5
-GdiEntry6
-GdiEntry7
-GdiEntry8
-GdiEntry9
-GdiFixUpHandle
-GdiFlush
-GdiFullscreenControl
-GdiGetBatchLimit
-GdiGetCharDimensions
-GdiGetCodePage
-GdiGetDC
-GdiGetDevmodeForPage
-GdiGetLocalBrush
-GdiGetLocalDC
-GdiGetLocalFont
-GdiGetPageCount
-GdiGetPageHandle
-GdiGetSpoolFileHandle
-GdiGetSpoolMessage
-GdiGradientFill
-GdiInitSpool
-GdiInitializeLanguagePack
-GdiIsMetaFileDC
-GdiIsMetaPrintDC
-GdiIsPlayMetafileDC
-GdiPlayDCScript
-GdiPlayEMF
-GdiPlayJournal
-GdiPlayPageEMF
-GdiPlayPrivatePageEMF
-GdiPlayScript
-GdiPrinterThunk
-GdiProcessSetup
-GdiQueryFonts
-GdiQueryTable
-GdiRealizationInfo
-GdiReleaseDC
-GdiReleaseLocalDC
-GdiResetDCEMF
-GdiSetAttrs
-GdiSetBatchLimit
-GdiSetLastError
-GdiSetPixelFormat
-GdiSetServerAttr
-GdiStartDocEMF
-GdiStartPageEMF
-GdiSwapBuffers
-GdiTransparentBlt
-GdiValidateHandle
-GetArcDirection
-GetAspectRatioFilterEx
-GetBitmapAttributes
-GetBitmapBits
-GetBitmapDimensionEx
-GetBkColor
-GetBkMode
-GetBoundsRect
-GetBrushAttributes
-GetBrushOrgEx
-GetCharABCWidthsA
-GetCharABCWidthsFloatA
-GetCharABCWidthsFloatW
-GetCharABCWidthsI
-GetCharABCWidthsW
-GetCharWidth32A
-GetCharWidth32W
-GetCharWidthA
-GetCharWidthFloatA
-GetCharWidthFloatW
-GetCharWidthI
-GetCharWidthInfo
-GetCharWidthW
-GetCharacterPlacementA
-GetCharacterPlacementW
-GetClipBox
-GetClipRgn
-GetColorAdjustment
-GetColorSpace
-GetCurrentObject
-GetCurrentPositionEx
-GetDCBrushColor
-GetDCOrgEx
-GetDCPenColor
-GetDIBColorTable
-GetDIBits
-GetDeviceCaps
-GetDeviceGammaRamp
-GetETM
-GetEUDCTimeStamp
-GetEUDCTimeStampExW
-GetEnhMetaFileA
-GetEnhMetaFileBits
-GetEnhMetaFileDescriptionA
-GetEnhMetaFileDescriptionW
-GetEnhMetaFileHeader
-GetEnhMetaFilePaletteEntries
-GetEnhMetaFilePixelFormat
-GetEnhMetaFileW
-GetFontAssocStatus
-GetFontData
-GetFontLanguageInfo
-GetFontResourceInfoW
-GetFontUnicodeRanges
-GetGlyphIndicesA
-GetGlyphIndicesW
-GetGlyphOutline
-GetGlyphOutlineA
-GetGlyphOutlineW
-GetGlyphOutlineWow
-GetGraphicsMode
-GetHFONT
-GetICMProfileA
-GetICMProfileW
-GetKerningPairs
-GetKerningPairsA
-GetKerningPairsW
-GetLayout
-GetLogColorSpaceA
-GetLogColorSpaceW
-GetMapMode
-GetMetaFileA
-GetMetaFileBitsEx
-GetMetaFileW
-GetMetaRgn
-GetMiterLimit
-GetNearestColor
-GetNearestPaletteIndex
-GetObjectA
-GetObjectType
-GetObjectW
-GetOutlineTextMetricsA
-GetOutlineTextMetricsW
-GetPaletteEntries
-GetPath
-GetPixel
-GetPixelFormat
-GetPolyFillMode
-GetROP2
-GetRandomRgn
-GetRasterizerCaps
-GetRegionData
-GetRelAbs
-GetRgnBox
-GetStockObject
-GetStretchBltMode
-GetStringBitmapA
-GetStringBitmapW
-GetSystemPaletteEntries
-GetSystemPaletteUse
-GetTextAlign
-GetTextCharacterExtra
-GetTextCharset
-GetTextCharsetInfo
-GetTextColor
-GetTextExtentExPointA
-GetTextExtentExPointI
-GetTextExtentExPointW
-GetTextExtentExPointWPri
-GetTextExtentPoint32A
-GetTextExtentPoint32W
-GetTextExtentPointA
-GetTextExtentPointI
-GetTextExtentPointW
-GetTextFaceA
-GetTextFaceAliasW
-GetTextFaceW
-GetTextMetricsA
-GetTextMetricsW
-GetTransform
-GetViewportExtEx
-GetViewportOrgEx
-GetWinMetaFileBits
-GetWindowExtEx
-GetWindowOrgEx
-GetWorldTransform
-HT_Get8BPPFormatPalette
-HT_Get8BPPMaskPalette
-IntersectClipRect
-InvertRgn
-IsValidEnhMetaRecord
-IsValidEnhMetaRecordOffExt
-LPtoDP
-LineDDA
-LineTo
-MaskBlt
-MirrorRgn
-ModifyWorldTransform
-MoveToEx
-NamedEscape
-OffsetClipRgn
-OffsetRgn
-OffsetViewportOrgEx
-OffsetWindowOrgEx
-PATHOBJ_bEnum
-PATHOBJ_bEnumClipLines
-PATHOBJ_vEnumStart
-PATHOBJ_vEnumStartClipLines
-PATHOBJ_vGetBounds
-PaintRgn
-PatBlt
-PathToRegion
-Pie
-PlayEnhMetaFile
-PlayEnhMetaFileRecord
-PlayMetaFile
-PlayMetaFileRecord
-PlgBlt
-PolyBezier
-PolyBezierTo
-PolyDraw
-PolyPatBlt
-PolyPolygon
-PolyPolyline
-PolyTextOutA
-PolyTextOutW
-Polygon
-Polyline
-PolylineTo
-PtInRegion
-PtVisible
-QueryFontAssocStatus
-RealizePalette
-RectInRegion
-RectVisible
-Rectangle
-RemoveFontMemResourceEx
-RemoveFontResourceA
-RemoveFontResourceExA
-RemoveFontResourceExW
-RemoveFontResourceTracking
-RemoveFontResourceW
-ResetDCA
-ResetDCW
-ResizePalette
-RestoreDC
-RoundRect
-STROBJ_bEnum
-STROBJ_bEnumPositionsOnly
-STROBJ_bGetAdvanceWidths
-STROBJ_dwGetCodePage
-STROBJ_vEnumStart
-SaveDC
-ScaleViewportExtEx
-ScaleWindowExtEx
-SelectBrushLocal
-SelectClipPath
-SelectClipRgn
-SelectFontLocal
-SelectObject
-SelectPalette
-SetAbortProc
-SetArcDirection
-SetBitmapAttributes
-SetBitmapBits
-SetBitmapDimensionEx
-SetBkColor
-SetBkMode
-SetBoundsRect
-SetBrushAttributes
-SetBrushOrgEx
-SetColorAdjustment
-SetColorSpace
-SetDCBrushColor
-SetDCPenColor
-SetDIBColorTable
-SetDIBits
-SetDIBitsToDevice
-SetDeviceGammaRamp
-SetEnhMetaFileBits
-SetFontEnumeration
-SetGraphicsMode
-SetICMMode
-SetICMProfileA
-SetICMProfileW
-SetLayout
-SetLayoutWidth
-SetMagicColors
-SetMapMode
-SetMapperFlags
-SetMetaFileBitsEx
-SetMetaRgn
-SetMiterLimit
-SetPaletteEntries
-SetPixel
-SetPixelFormat
-SetPixelV
-SetPolyFillMode
-SetROP2
-SetRectRgn
-SetRelAbs
-SetStretchBltMode
-SetSystemPaletteUse
-SetTextAlign
-SetTextCharacterExtra
-SetTextColor
-SetTextJustification
-SetViewportExtEx
-SetViewportOrgEx
-SetVirtualResolution
-SetWinMetaFileBits
-SetWindowExtEx
-SetWindowOrgEx
-SetWorldTransform
-StartDocA
-StartDocW
-StartFormPage
-StartPage
-StretchBlt
-StretchDIBits
-StrokeAndFillPath
-StrokePath
-SwapBuffers
-TextOutA
-TextOutW
-TranslateCharsetInfo
-UnloadNetworkFonts
-UnrealizeObject
-UpdateColors
-UpdateICMRegKeyA
-UpdateICMRegKeyW
-WidenPath
-XFORMOBJ_bApplyXform
-XFORMOBJ_iGetXform
-XLATEOBJ_cGetPalette
-XLATEOBJ_hGetColorTransform
-XLATEOBJ_iXlate
-XLATEOBJ_piVector
-bInitSystemAndFontsDirectoriesW
-bMakePathNameW
-cGetTTFFromFOT
-gdiPlaySpoolStream
+; 
+; Exports of file GDI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GDI32.dll
+EXPORTS
+AbortDoc
+AbortPath
+AddFontMemResourceEx
+AddFontResourceA
+AddFontResourceExA
+AddFontResourceExW
+AddFontResourceTracking
+AddFontResourceW
+AngleArc
+AnimatePalette
+AnyLinkedFonts
+Arc
+ArcTo
+BRUSHOBJ_hGetColorTransform
+BRUSHOBJ_pvAllocRbrush
+BRUSHOBJ_pvGetRbrush
+BRUSHOBJ_ulGetBrushColor
+BeginPath
+BitBlt
+CLIPOBJ_bEnum
+CLIPOBJ_cEnumStart
+CLIPOBJ_ppoGetPath
+CancelDC
+CheckColorsInGamut
+ChoosePixelFormat
+Chord
+ClearBitmapAttributes
+ClearBrushAttributes
+CloseEnhMetaFile
+CloseFigure
+CloseMetaFile
+ColorCorrectPalette
+ColorMatchToTarget
+CombineRgn
+CombineTransform
+CopyEnhMetaFileA
+CopyEnhMetaFileW
+CopyMetaFileA
+CopyMetaFileW
+CreateBitmap
+CreateBitmapIndirect
+CreateBrushIndirect
+CreateColorSpaceA
+CreateColorSpaceW
+CreateCompatibleBitmap
+CreateCompatibleDC
+CreateDCA
+CreateDCW
+CreateDIBPatternBrush
+CreateDIBPatternBrushPt
+CreateDIBSection
+CreateDIBitmap
+CreateDiscardableBitmap
+CreateEllipticRgn
+CreateEllipticRgnIndirect
+CreateEnhMetaFileA
+CreateEnhMetaFileW
+CreateFontA
+CreateFontIndirectA
+CreateFontIndirectExA
+CreateFontIndirectExW
+CreateFontIndirectW
+CreateFontW
+CreateHalftonePalette
+CreateHatchBrush
+CreateICA
+CreateICW
+CreateMetaFileA
+CreateMetaFileW
+CreatePalette
+CreatePatternBrush
+CreatePen
+CreatePenIndirect
+CreatePolyPolygonRgn
+CreatePolygonRgn
+CreateRectRgn
+CreateRectRgnIndirect
+CreateRoundRectRgn
+CreateScalableFontResourceA
+CreateScalableFontResourceW
+CreateSolidBrush
+DPtoLP
+DdEntry0
+DdEntry10
+DdEntry11
+DdEntry12
+DdEntry13
+DdEntry14
+DdEntry15
+DdEntry16
+DdEntry17
+DdEntry18
+DdEntry19
+DdEntry1
+DdEntry20
+DdEntry21
+DdEntry22
+DdEntry23
+DdEntry24
+DdEntry25
+DdEntry26
+DdEntry27
+DdEntry28
+DdEntry29
+DdEntry2
+DdEntry30
+DdEntry31
+DdEntry32
+DdEntry33
+DdEntry34
+DdEntry35
+DdEntry36
+DdEntry37
+DdEntry38
+DdEntry39
+DdEntry3
+DdEntry40
+DdEntry41
+DdEntry42
+DdEntry43
+DdEntry44
+DdEntry45
+DdEntry46
+DdEntry47
+DdEntry48
+DdEntry49
+DdEntry4
+DdEntry50
+DdEntry51
+DdEntry52
+DdEntry53
+DdEntry54
+DdEntry55
+DdEntry56
+DdEntry5
+DdEntry6
+DdEntry7
+DdEntry8
+DdEntry9
+DeleteColorSpace
+DeleteDC
+DeleteEnhMetaFile
+DeleteMetaFile
+DeleteObject
+DescribePixelFormat
+DeviceCapabilitiesExA
+DeviceCapabilitiesExW
+DrawEscape
+Ellipse
+EnableEUDC
+EndDoc
+EndFormPage
+EndPage
+EndPath
+EngAcquireSemaphore
+EngAlphaBlend
+EngAssociateSurface
+EngBitBlt
+EngCheckAbort
+EngComputeGlyphSet
+EngCopyBits
+EngCreateBitmap
+EngCreateClip
+EngCreateDeviceBitmap
+EngCreateDeviceSurface
+EngCreatePalette
+EngCreateSemaphore
+EngDeleteClip
+EngDeletePalette
+EngDeletePath
+EngDeleteSemaphore
+EngDeleteSurface
+EngEraseSurface
+EngFillPath
+EngFindResource
+EngFreeModule
+EngGetCurrentCodePage
+EngGetDriverName
+EngGetPrinterDataFileName
+EngGradientFill
+EngLineTo
+EngLoadModule
+EngLockSurface
+EngMarkBandingSurface
+EngMultiByteToUnicodeN
+EngMultiByteToWideChar
+EngPaint
+EngPlgBlt
+EngQueryEMFInfo
+EngQueryLocalTime
+EngReleaseSemaphore
+EngStretchBlt
+EngStretchBltROP
+EngStrokeAndFillPath
+EngStrokePath
+EngTextOut
+EngTransparentBlt
+EngUnicodeToMultiByteN
+EngUnlockSurface
+EngWideCharToMultiByte
+EnumEnhMetaFile
+EnumFontFamiliesA
+EnumFontFamiliesExA
+EnumFontFamiliesExW
+EnumFontFamiliesW
+EnumFontsA
+EnumFontsW
+EnumICMProfilesA
+EnumICMProfilesW
+EnumMetaFile
+EnumObjects
+EqualRgn
+Escape
+EudcLoadLinkW
+EudcUnloadLinkW
+ExcludeClipRect
+ExtCreatePen
+ExtCreateRegion
+ExtEscape
+ExtFloodFill
+ExtSelectClipRgn
+ExtTextOutA
+ExtTextOutW
+FONTOBJ_cGetAllGlyphHandles
+FONTOBJ_cGetGlyphs
+FONTOBJ_pQueryGlyphAttrs
+FONTOBJ_pfdg
+FONTOBJ_pifi
+FONTOBJ_pvTrueTypeFontFile
+FONTOBJ_pxoGetXform
+FONTOBJ_vGetInfo
+FillPath
+FillRgn
+FixBrushOrgEx
+FlattenPath
+FloodFill
+FontIsLinked
+FrameRgn
+GdiAddFontResourceW
+GdiAddGlsBounds
+GdiAddGlsRecord
+GdiAlphaBlend
+GdiArtificialDecrementDriver
+GdiCleanCacheDC
+GdiComment
+GdiConsoleTextOut
+GdiConvertAndCheckDC
+GdiConvertBitmap
+GdiConvertBitmapV5
+GdiConvertBrush
+GdiConvertDC
+GdiConvertEnhMetaFile
+GdiConvertFont
+GdiConvertMetaFilePict
+GdiConvertPalette
+GdiConvertRegion
+GdiConvertToDevmodeW
+GdiCreateLocalEnhMetaFile
+GdiCreateLocalMetaFilePict
+GdiDeleteLocalDC
+GdiDeleteSpoolFileHandle
+GdiDescribePixelFormat
+GdiDllInitialize
+GdiDrawStream
+GdiEndDocEMF
+GdiEndPageEMF
+GdiEntry10
+GdiEntry11
+GdiEntry12
+GdiEntry13
+GdiEntry14
+GdiEntry15
+GdiEntry16
+GdiEntry1
+GdiEntry2
+GdiEntry3
+GdiEntry4
+GdiEntry5
+GdiEntry6
+GdiEntry7
+GdiEntry8
+GdiEntry9
+GdiFixUpHandle
+GdiFlush
+GdiFullscreenControl
+GdiGetBatchLimit
+GdiGetCharDimensions
+GdiGetCodePage
+GdiGetDC
+GdiGetDevmodeForPage
+GdiGetLocalBrush
+GdiGetLocalDC
+GdiGetLocalFont
+GdiGetPageCount
+GdiGetPageHandle
+GdiGetSpoolFileHandle
+GdiGetSpoolMessage
+GdiGradientFill
+GdiInitSpool
+GdiInitializeLanguagePack
+GdiIsMetaFileDC
+GdiIsMetaPrintDC
+GdiIsPlayMetafileDC
+GdiPlayDCScript
+GdiPlayEMF
+GdiPlayJournal
+GdiPlayPageEMF
+GdiPlayPrivatePageEMF
+GdiPlayScript
+GdiPrinterThunk
+GdiProcessSetup
+GdiQueryFonts
+GdiQueryTable
+GdiRealizationInfo
+GdiReleaseDC
+GdiReleaseLocalDC
+GdiResetDCEMF
+GdiSetAttrs
+GdiSetBatchLimit
+GdiSetLastError
+GdiSetPixelFormat
+GdiSetServerAttr
+GdiStartDocEMF
+GdiStartPageEMF
+GdiSwapBuffers
+GdiTransparentBlt
+GdiValidateHandle
+GetArcDirection
+GetAspectRatioFilterEx
+GetBitmapAttributes
+GetBitmapBits
+GetBitmapDimensionEx
+GetBkColor
+GetBkMode
+GetBoundsRect
+GetBrushAttributes
+GetBrushOrgEx
+GetCharABCWidthsA
+GetCharABCWidthsFloatA
+GetCharABCWidthsFloatW
+GetCharABCWidthsI
+GetCharABCWidthsW
+GetCharWidth32A
+GetCharWidth32W
+GetCharWidthA
+GetCharWidthFloatA
+GetCharWidthFloatW
+GetCharWidthI
+GetCharWidthInfo
+GetCharWidthW
+GetCharacterPlacementA
+GetCharacterPlacementW
+GetClipBox
+GetClipRgn
+GetColorAdjustment
+GetColorSpace
+GetCurrentObject
+GetCurrentPositionEx
+GetDCBrushColor
+GetDCOrgEx
+GetDCPenColor
+GetDIBColorTable
+GetDIBits
+GetDeviceCaps
+GetDeviceGammaRamp
+GetETM
+GetEUDCTimeStamp
+GetEUDCTimeStampExW
+GetEnhMetaFileA
+GetEnhMetaFileBits
+GetEnhMetaFileDescriptionA
+GetEnhMetaFileDescriptionW
+GetEnhMetaFileHeader
+GetEnhMetaFilePaletteEntries
+GetEnhMetaFilePixelFormat
+GetEnhMetaFileW
+GetFontAssocStatus
+GetFontData
+GetFontLanguageInfo
+GetFontResourceInfoW
+GetFontUnicodeRanges
+GetGlyphIndicesA
+GetGlyphIndicesW
+GetGlyphOutline
+GetGlyphOutlineA
+GetGlyphOutlineW
+GetGlyphOutlineWow
+GetGraphicsMode
+GetHFONT
+GetICMProfileA
+GetICMProfileW
+GetKerningPairs
+GetKerningPairsA
+GetKerningPairsW
+GetLayout
+GetLogColorSpaceA
+GetLogColorSpaceW
+GetMapMode
+GetMetaFileA
+GetMetaFileBitsEx
+GetMetaFileW
+GetMetaRgn
+GetMiterLimit
+GetNearestColor
+GetNearestPaletteIndex
+GetObjectA
+GetObjectType
+GetObjectW
+GetOutlineTextMetricsA
+GetOutlineTextMetricsW
+GetPaletteEntries
+GetPath
+GetPixel
+GetPixelFormat
+GetPolyFillMode
+GetROP2
+GetRandomRgn
+GetRasterizerCaps
+GetRegionData
+GetRelAbs
+GetRgnBox
+GetStockObject
+GetStretchBltMode
+GetStringBitmapA
+GetStringBitmapW
+GetSystemPaletteEntries
+GetSystemPaletteUse
+GetTextAlign
+GetTextCharacterExtra
+GetTextCharset
+GetTextCharsetInfo
+GetTextColor
+GetTextExtentExPointA
+GetTextExtentExPointI
+GetTextExtentExPointW
+GetTextExtentExPointWPri
+GetTextExtentPoint32A
+GetTextExtentPoint32W
+GetTextExtentPointA
+GetTextExtentPointI
+GetTextExtentPointW
+GetTextFaceA
+GetTextFaceAliasW
+GetTextFaceW
+GetTextMetricsA
+GetTextMetricsW
+GetTransform
+GetViewportExtEx
+GetViewportOrgEx
+GetWinMetaFileBits
+GetWindowExtEx
+GetWindowOrgEx
+GetWorldTransform
+HT_Get8BPPFormatPalette
+HT_Get8BPPMaskPalette
+IntersectClipRect
+InvertRgn
+IsValidEnhMetaRecord
+IsValidEnhMetaRecordOffExt
+LPtoDP
+LineDDA
+LineTo
+MaskBlt
+MirrorRgn
+ModifyWorldTransform
+MoveToEx
+NamedEscape
+OffsetClipRgn
+OffsetRgn
+OffsetViewportOrgEx
+OffsetWindowOrgEx
+PATHOBJ_bEnum
+PATHOBJ_bEnumClipLines
+PATHOBJ_vEnumStart
+PATHOBJ_vEnumStartClipLines
+PATHOBJ_vGetBounds
+PaintRgn
+PatBlt
+PathToRegion
+Pie
+PlayEnhMetaFile
+PlayEnhMetaFileRecord
+PlayMetaFile
+PlayMetaFileRecord
+PlgBlt
+PolyBezier
+PolyBezierTo
+PolyDraw
+PolyPatBlt
+PolyPolygon
+PolyPolyline
+PolyTextOutA
+PolyTextOutW
+Polygon
+Polyline
+PolylineTo
+PtInRegion
+PtVisible
+QueryFontAssocStatus
+RealizePalette
+RectInRegion
+RectVisible
+Rectangle
+RemoveFontMemResourceEx
+RemoveFontResourceA
+RemoveFontResourceExA
+RemoveFontResourceExW
+RemoveFontResourceTracking
+RemoveFontResourceW
+ResetDCA
+ResetDCW
+ResizePalette
+RestoreDC
+RoundRect
+STROBJ_bEnum
+STROBJ_bEnumPositionsOnly
+STROBJ_bGetAdvanceWidths
+STROBJ_dwGetCodePage
+STROBJ_vEnumStart
+SaveDC
+ScaleViewportExtEx
+ScaleWindowExtEx
+SelectBrushLocal
+SelectClipPath
+SelectClipRgn
+SelectFontLocal
+SelectObject
+SelectPalette
+SetAbortProc
+SetArcDirection
+SetBitmapAttributes
+SetBitmapBits
+SetBitmapDimensionEx
+SetBkColor
+SetBkMode
+SetBoundsRect
+SetBrushAttributes
+SetBrushOrgEx
+SetColorAdjustment
+SetColorSpace
+SetDCBrushColor
+SetDCPenColor
+SetDIBColorTable
+SetDIBits
+SetDIBitsToDevice
+SetDeviceGammaRamp
+SetEnhMetaFileBits
+SetFontEnumeration
+SetGraphicsMode
+SetICMMode
+SetICMProfileA
+SetICMProfileW
+SetLayout
+SetLayoutWidth
+SetMagicColors
+SetMapMode
+SetMapperFlags
+SetMetaFileBitsEx
+SetMetaRgn
+SetMiterLimit
+SetPaletteEntries
+SetPixel
+SetPixelFormat
+SetPixelV
+SetPolyFillMode
+SetROP2
+SetRectRgn
+SetRelAbs
+SetStretchBltMode
+SetSystemPaletteUse
+SetTextAlign
+SetTextCharacterExtra
+SetTextColor
+SetTextJustification
+SetViewportExtEx
+SetViewportOrgEx
+SetVirtualResolution
+SetWinMetaFileBits
+SetWindowExtEx
+SetWindowOrgEx
+SetWorldTransform
+StartDocA
+StartDocW
+StartFormPage
+StartPage
+StretchBlt
+StretchDIBits
+StrokeAndFillPath
+StrokePath
+SwapBuffers
+TextOutA
+TextOutW
+TranslateCharsetInfo
+UnloadNetworkFonts
+UnrealizeObject
+UpdateColors
+UpdateICMRegKeyA
+UpdateICMRegKeyW
+WidenPath
+XFORMOBJ_bApplyXform
+XFORMOBJ_iGetXform
+XLATEOBJ_cGetPalette
+XLATEOBJ_hGetColorTransform
+XLATEOBJ_iXlate
+XLATEOBJ_piVector
+bInitSystemAndFontsDirectoriesW
+bMakePathNameW
+cGetTTFFromFOT
+gdiPlaySpoolStream
diff --git a/mingw-w64-crt/lib64/wgetuname.def b/mingw-w64-crt/lib64/wgetuname.def
index f7419ba..070617e 100644
--- a/mingw-w64-crt/lib64/wgetuname.def
+++ b/mingw-w64-crt/lib64/wgetuname.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file GetUName.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GetUName.dll
-EXPORTS
-GetUName
+; 
+; Exports of file GetUName.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GetUName.dll
+EXPORTS
+GetUName
diff --git a/mingw-w64-crt/lib64/wglmf32.def b/mingw-w64-crt/lib64/wglmf32.def
index 8810cf0..7a3f9d1 100644
--- a/mingw-w64-crt/lib64/wglmf32.def
+++ b/mingw-w64-crt/lib64/wglmf32.def
@@ -1,142 +1,142 @@
-; 
-; Exports of file GLMF32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GLMF32.dll
-EXPORTS
-__glsParser_create
-__glsParser_print
-__glsString_appendChar
-__glsString_assign
-__glsString_init
-glsAbortCall
-glsAppRef
-glsBeginCapture
-glsBeginGLS
-glsBeginObj
-glsBinary
-glsBlock
-glsCallArray
-glsCallArrayInContext
-glsCallStream
-glsCaptureFlags
-glsCaptureFunc
-glsChannel
-glsCharubz
-glsCommandAPI
-glsCommandFunc
-glsCommandString
-glsComment
-glsContext
-glsCopyStream
-glsDataPointer
-glsDeleteContext
-glsDeleteReadPrefix
-glsDeleteStream
-glsDisplayMapfv
-glsEndCapture
-glsEndGLS
-glsEndObj
-glsEnumString
-glsError
-glsFlush
-glsGLRC
-glsGLRCLayer
-glsGenContext
-glsGetAllContexts
-glsGetCaptureDispatchTable
-glsGetCaptureExecTable
-glsGetCaptureFlags
-glsGetCommandAlignment
-glsGetCommandAttrib
-glsGetCommandFunc
-glsGetConsti
-glsGetConstiv
-glsGetConstubz
-glsGetContextFunc
-glsGetContextListl
-glsGetContextListubz
-glsGetContextPointer
-glsGetContexti
-glsGetContextubz
-glsGetCurrentContext
-glsGetCurrentTime
-glsGetError
-glsGetGLRCi
-glsGetHeaderf
-glsGetHeaderfv
-glsGetHeaderi
-glsGetHeaderiv
-glsGetHeaderubz
-glsGetLayerf
-glsGetLayeri
-glsGetOpcodeCount
-glsGetOpcodes
-glsGetStreamAttrib
-glsGetStreamCRC32
-glsGetStreamReadName
-glsGetStreamSize
-glsGetStreamType
-glsHeaderGLRCi
-glsHeaderLayerf
-glsHeaderLayeri
-glsHeaderf
-glsHeaderfv
-glsHeaderi
-glsHeaderiv
-glsHeaderubz
-glsIsContext
-glsIsContextStream
-glsIsExtensionSupported
-glsIsUTF8String
-glsLong
-glsLongHigh
-glsLongLow
-glsNullCommandFunc
-glsNumb
-glsNumbv
-glsNumd
-glsNumdv
-glsNumf
-glsNumfv
-glsNumi
-glsNumiv
-glsNuml
-glsNumlv
-glsNums
-glsNumsv
-glsNumub
-glsNumubv
-glsNumui
-glsNumuiv
-glsNumul
-glsNumulv
-glsNumus
-glsNumusv
-glsPad
-glsPixelSetup
-glsPixelSetupGen
-glsReadFunc
-glsReadPrefix
-glsRequireExtension
-glsSwapBuffers
-glsUCS1toUTF8z
-glsUCS2toUTF8z
-glsUCS4toUTF8
-glsUCS4toUTF8z
-glsUCStoUTF8z
-glsULong
-glsULongHigh
-glsULongLow
-glsUTF8toUCS1z
-glsUTF8toUCS2z
-glsUTF8toUCS4
-glsUTF8toUCS4z
-glsUTF8toUCSz
-glsUnreadFunc
-glsUnsupportedCommand
-glsUpdateCaptureExecTable
-glsWriteFunc
-glsWritePrefix
+; 
+; Exports of file GLMF32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GLMF32.dll
+EXPORTS
+__glsParser_create
+__glsParser_print
+__glsString_appendChar
+__glsString_assign
+__glsString_init
+glsAbortCall
+glsAppRef
+glsBeginCapture
+glsBeginGLS
+glsBeginObj
+glsBinary
+glsBlock
+glsCallArray
+glsCallArrayInContext
+glsCallStream
+glsCaptureFlags
+glsCaptureFunc
+glsChannel
+glsCharubz
+glsCommandAPI
+glsCommandFunc
+glsCommandString
+glsComment
+glsContext
+glsCopyStream
+glsDataPointer
+glsDeleteContext
+glsDeleteReadPrefix
+glsDeleteStream
+glsDisplayMapfv
+glsEndCapture
+glsEndGLS
+glsEndObj
+glsEnumString
+glsError
+glsFlush
+glsGLRC
+glsGLRCLayer
+glsGenContext
+glsGetAllContexts
+glsGetCaptureDispatchTable
+glsGetCaptureExecTable
+glsGetCaptureFlags
+glsGetCommandAlignment
+glsGetCommandAttrib
+glsGetCommandFunc
+glsGetConsti
+glsGetConstiv
+glsGetConstubz
+glsGetContextFunc
+glsGetContextListl
+glsGetContextListubz
+glsGetContextPointer
+glsGetContexti
+glsGetContextubz
+glsGetCurrentContext
+glsGetCurrentTime
+glsGetError
+glsGetGLRCi
+glsGetHeaderf
+glsGetHeaderfv
+glsGetHeaderi
+glsGetHeaderiv
+glsGetHeaderubz
+glsGetLayerf
+glsGetLayeri
+glsGetOpcodeCount
+glsGetOpcodes
+glsGetStreamAttrib
+glsGetStreamCRC32
+glsGetStreamReadName
+glsGetStreamSize
+glsGetStreamType
+glsHeaderGLRCi
+glsHeaderLayerf
+glsHeaderLayeri
+glsHeaderf
+glsHeaderfv
+glsHeaderi
+glsHeaderiv
+glsHeaderubz
+glsIsContext
+glsIsContextStream
+glsIsExtensionSupported
+glsIsUTF8String
+glsLong
+glsLongHigh
+glsLongLow
+glsNullCommandFunc
+glsNumb
+glsNumbv
+glsNumd
+glsNumdv
+glsNumf
+glsNumfv
+glsNumi
+glsNumiv
+glsNuml
+glsNumlv
+glsNums
+glsNumsv
+glsNumub
+glsNumubv
+glsNumui
+glsNumuiv
+glsNumul
+glsNumulv
+glsNumus
+glsNumusv
+glsPad
+glsPixelSetup
+glsPixelSetupGen
+glsReadFunc
+glsReadPrefix
+glsRequireExtension
+glsSwapBuffers
+glsUCS1toUTF8z
+glsUCS2toUTF8z
+glsUCS4toUTF8
+glsUCS4toUTF8z
+glsUCStoUTF8z
+glsULong
+glsULongHigh
+glsULongLow
+glsUTF8toUCS1z
+glsUTF8toUCS2z
+glsUTF8toUCS4
+glsUTF8toUCS4z
+glsUTF8toUCSz
+glsUnreadFunc
+glsUnsupportedCommand
+glsUpdateCaptureExecTable
+glsWriteFunc
+glsWritePrefix
diff --git a/mingw-w64-crt/lib64/wglu32.def b/mingw-w64-crt/lib64/wglu32.def
index 47f589c..690469d 100644
--- a/mingw-w64-crt/lib64/wglu32.def
+++ b/mingw-w64-crt/lib64/wglu32.def
@@ -1,60 +1,60 @@
-; 
-; Exports of file GLU32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GLU32.dll
-EXPORTS
-gluBeginCurve
-gluBeginPolygon
-gluBeginSurface
-gluBeginTrim
-gluBuild1DMipmaps
-gluBuild2DMipmaps
-gluCylinder
-gluDeleteNurbsRenderer
-gluDeleteQuadric
-gluDeleteTess
-gluDisk
-gluEndCurve
-gluEndPolygon
-gluEndSurface
-gluEndTrim
-gluErrorString
-gluErrorUnicodeStringEXT
-gluGetNurbsProperty
-gluGetString
-gluGetTessProperty
-gluLoadSamplingMatrices
-gluLookAt
-gluNewNurbsRenderer
-gluNewQuadric
-gluNewTess
-gluNextContour
-gluNurbsCallback
-gluNurbsCurve
-gluNurbsProperty
-gluNurbsSurface
-gluOrtho2D
-gluPartialDisk
-gluPerspective
-gluPickMatrix
-gluProject
-gluPwlCurve
-gluQuadricCallback
-gluQuadricDrawStyle
-gluQuadricNormals
-gluQuadricOrientation
-gluQuadricTexture
-gluScaleImage
-gluSphere
-gluTessBeginContour
-gluTessBeginPolygon
-gluTessCallback
-gluTessEndContour
-gluTessEndPolygon
-gluTessNormal
-gluTessProperty
-gluTessVertex
-gluUnProject
+; 
+; Exports of file GLU32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GLU32.dll
+EXPORTS
+gluBeginCurve
+gluBeginPolygon
+gluBeginSurface
+gluBeginTrim
+gluBuild1DMipmaps
+gluBuild2DMipmaps
+gluCylinder
+gluDeleteNurbsRenderer
+gluDeleteQuadric
+gluDeleteTess
+gluDisk
+gluEndCurve
+gluEndPolygon
+gluEndSurface
+gluEndTrim
+gluErrorString
+gluErrorUnicodeStringEXT
+gluGetNurbsProperty
+gluGetString
+gluGetTessProperty
+gluLoadSamplingMatrices
+gluLookAt
+gluNewNurbsRenderer
+gluNewQuadric
+gluNewTess
+gluNextContour
+gluNurbsCallback
+gluNurbsCurve
+gluNurbsProperty
+gluNurbsSurface
+gluOrtho2D
+gluPartialDisk
+gluPerspective
+gluPickMatrix
+gluProject
+gluPwlCurve
+gluQuadricCallback
+gluQuadricDrawStyle
+gluQuadricNormals
+gluQuadricOrientation
+gluQuadricTexture
+gluScaleImage
+gluSphere
+gluTessBeginContour
+gluTessBeginPolygon
+gluTessCallback
+gluTessEndContour
+gluTessEndPolygon
+gluTessNormal
+gluTessProperty
+gluTessVertex
+gluUnProject
diff --git a/mingw-w64-crt/lib64/wgpedit.def b/mingw-w64-crt/lib64/wgpedit.def
index 31053a3..8b4c674 100644
--- a/mingw-w64-crt/lib64/wgpedit.def
+++ b/mingw-w64-crt/lib64/wgpedit.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file GPEDIT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GPEDIT.DLL
-EXPORTS
-BrowseForGPO
-CreateGPOLink
-DeleteAllGPOLinks
-DeleteGPOLink
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-ExportRSoPData
-ImportRSoPData
+; 
+; Exports of file GPEDIT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GPEDIT.DLL
+EXPORTS
+BrowseForGPO
+CreateGPOLink
+DeleteAllGPOLinks
+DeleteGPOLink
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+ExportRSoPData
+ImportRSoPData
diff --git a/mingw-w64-crt/lib64/wgpkcsp.def b/mingw-w64-crt/lib64/wgpkcsp.def
index ae7ea42..a88245a 100644
--- a/mingw-w64-crt/lib64/wgpkcsp.def
+++ b/mingw-w64-crt/lib64/wgpkcsp.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file GPKCSP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GPKCSP.dll
-EXPORTS
-CPAcquireContext
-CPCreateHash
-CPDecrypt
-CPDeriveKey
-CPDestroyHash
-CPDestroyKey
-CPEncrypt
-CPExportKey
-CPGenKey
-CPGenRandom
-CPGetHashParam
-CPGetKeyParam
-CPGetProvParam
-CPGetUserKey
-CPHashData
-CPHashSessionKey
-CPImportKey
-CPReleaseContext
-CPSetHashParam
-CPSetKeyParam
-CPSetProvParam
-CPSignHash
-CPVerifySignature
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file GPKCSP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GPKCSP.dll
+EXPORTS
+CPAcquireContext
+CPCreateHash
+CPDecrypt
+CPDeriveKey
+CPDestroyHash
+CPDestroyKey
+CPEncrypt
+CPExportKey
+CPGenKey
+CPGenRandom
+CPGetHashParam
+CPGetKeyParam
+CPGetProvParam
+CPGetUserKey
+CPHashData
+CPHashSessionKey
+CPImportKey
+CPReleaseContext
+CPSetHashParam
+CPSetKeyParam
+CPSetProvParam
+CPSignHash
+CPVerifySignature
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wgptext.def b/mingw-w64-crt/lib64/wgptext.def
index 50a31e0..4a5bc20 100644
--- a/mingw-w64-crt/lib64/wgptext.def
+++ b/mingw-w64-crt/lib64/wgptext.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file GPTEXT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GPTEXT.DLL
-EXPORTS
-GenerateIPSECPolicy
-GenerateScriptsGroupPolicy
-GenerateWIRELESSPolicy
-ProcessIPSECPolicyEx
-ProcessPSCHEDPolicy
-ProcessScriptsGroupPolicy
-ProcessScriptsGroupPolicyEx
-ProcessWIRELESSPolicyEx
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-ScrRegGPOListToWbem
+; 
+; Exports of file GPTEXT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GPTEXT.DLL
+EXPORTS
+GenerateIPSECPolicy
+GenerateScriptsGroupPolicy
+GenerateWIRELESSPolicy
+ProcessIPSECPolicyEx
+ProcessPSCHEDPolicy
+ProcessScriptsGroupPolicy
+ProcessScriptsGroupPolicyEx
+ProcessWIRELESSPolicyEx
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+ScrRegGPOListToWbem
diff --git a/mingw-w64-crt/lib64/wguitrn.def b/mingw-w64-crt/lib64/wguitrn.def
index 08a5532..5c8a805 100644
--- a/mingw-w64-crt/lib64/wguitrn.def
+++ b/mingw-w64-crt/lib64/wguitrn.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file GUITRN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GUITRN.dll
-EXPORTS
-DllMain
-ModuleInitialize
-ModuleTerminate
-TransportModule
+; 
+; Exports of file GUITRN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GUITRN.dll
+EXPORTS
+DllMain
+ModuleInitialize
+ModuleTerminate
+TransportModule
diff --git a/mingw-w64-crt/lib64/wguitrna.def b/mingw-w64-crt/lib64/wguitrna.def
index 3f884e0..83c4420 100644
--- a/mingw-w64-crt/lib64/wguitrna.def
+++ b/mingw-w64-crt/lib64/wguitrna.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file GUITRNA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY GUITRNA.dll
-EXPORTS
-DllMain
-ModuleInitialize
-ModuleTerminate
-TransportModule
+; 
+; Exports of file GUITRNA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY GUITRNA.dll
+EXPORTS
+DllMain
+ModuleInitialize
+ModuleTerminate
+TransportModule
diff --git a/mingw-w64-crt/lib64/wgzip.def b/mingw-w64-crt/lib64/wgzip.def
index 95aaa57..3e6f80d 100644
--- a/mingw-w64-crt/lib64/wgzip.def
+++ b/mingw-w64-crt/lib64/wgzip.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file gzip.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY gzip.dll
-EXPORTS
-Compress
-CreateCompression
-DeInitCompression
-DestroyCompression
-InitCompression
-ResetCompression
+; 
+; Exports of file gzip.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY gzip.dll
+EXPORTS
+Compress
+CreateCompression
+DeInitCompression
+DestroyCompression
+InitCompression
+ResetCompression
diff --git a/mingw-w64-crt/lib64/wh323msp.def b/mingw-w64-crt/lib64/wh323msp.def
index 92117f0..79ca79e 100644
--- a/mingw-w64-crt/lib64/wh323msp.def
+++ b/mingw-w64-crt/lib64/wh323msp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file h323msp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY h323msp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file h323msp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY h323msp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/whbaapi.def b/mingw-w64-crt/lib64/whbaapi.def
index 193ed61..85a9db5 100644
--- a/mingw-w64-crt/lib64/whbaapi.def
+++ b/mingw-w64-crt/lib64/whbaapi.def
@@ -1,65 +1,65 @@
-; 
-; Exports of file HBAAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HBAAPI.dll
-EXPORTS
-HBA_CloseAdapter
-HBA_FreeLibrary
-HBA_GetAdapterAttributes
-HBA_GetAdapterName
-HBA_GetAdapterPortAttributes
-HBA_GetBindingCapability
-HBA_GetBindingSupport
-HBA_GetDiscoveredPortAttributes
-HBA_GetEventBuffer
-HBA_GetFC4Statistics
-HBA_GetFCPStatistics
-HBA_GetFcpPersistentBinding
-HBA_GetFcpTargetMapping
-HBA_GetFcpTargetMappingV2
-HBA_GetNumberOfAdapters
-HBA_GetPersistentBindingV2
-HBA_GetPortAttributesByWWN
-HBA_GetPortStatistics
-HBA_GetRNIDMgmtInfo
-HBA_GetVendorLibraryAttributes
-HBA_GetVersion
-HBA_GetWrapperLibraryAttributes
-HBA_LoadLibrary
-HBA_OpenAdapter
-HBA_OpenAdapterByWWN
-HBA_RefreshAdapterConfiguration
-HBA_RefreshInformation
-HBA_RegisterForAdapterAddEvents
-HBA_RegisterForAdapterEvents
-HBA_RegisterForAdapterPortEvents
-HBA_RegisterForAdapterPortStatEvents
-HBA_RegisterForLinkEvents
-HBA_RegisterForTargetEvents
-HBA_RegisterLibrary
-HBA_RegisterLibraryV2
-HBA_RemoveAllPersistentBindings
-HBA_RemoveCallback
-HBA_RemovePersistentBinding
-HBA_ResetStatistics
-HBA_ScsiInquiryV2
-HBA_ScsiReadCapacityV2
-HBA_ScsiReportLUNsV2
-HBA_SendCTPassThru
-HBA_SendCTPassThruV2
-HBA_SendLIRR
-HBA_SendRLS
-HBA_SendRNID
-HBA_SendRNIDV2
-HBA_SendRPL
-HBA_SendRPS
-HBA_SendReadCapacity
-HBA_SendReportLUNs
-HBA_SendSRL
-HBA_SendScsiInquiry
-HBA_SetBindingSupport
-HBA_SetPersistentBindingV2
-HBA_SetRNIDMgmtInfo
+; 
+; Exports of file HBAAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HBAAPI.dll
+EXPORTS
+HBA_CloseAdapter
+HBA_FreeLibrary
+HBA_GetAdapterAttributes
+HBA_GetAdapterName
+HBA_GetAdapterPortAttributes
+HBA_GetBindingCapability
+HBA_GetBindingSupport
+HBA_GetDiscoveredPortAttributes
+HBA_GetEventBuffer
+HBA_GetFC4Statistics
+HBA_GetFCPStatistics
+HBA_GetFcpPersistentBinding
+HBA_GetFcpTargetMapping
+HBA_GetFcpTargetMappingV2
+HBA_GetNumberOfAdapters
+HBA_GetPersistentBindingV2
+HBA_GetPortAttributesByWWN
+HBA_GetPortStatistics
+HBA_GetRNIDMgmtInfo
+HBA_GetVendorLibraryAttributes
+HBA_GetVersion
+HBA_GetWrapperLibraryAttributes
+HBA_LoadLibrary
+HBA_OpenAdapter
+HBA_OpenAdapterByWWN
+HBA_RefreshAdapterConfiguration
+HBA_RefreshInformation
+HBA_RegisterForAdapterAddEvents
+HBA_RegisterForAdapterEvents
+HBA_RegisterForAdapterPortEvents
+HBA_RegisterForAdapterPortStatEvents
+HBA_RegisterForLinkEvents
+HBA_RegisterForTargetEvents
+HBA_RegisterLibrary
+HBA_RegisterLibraryV2
+HBA_RemoveAllPersistentBindings
+HBA_RemoveCallback
+HBA_RemovePersistentBinding
+HBA_ResetStatistics
+HBA_ScsiInquiryV2
+HBA_ScsiReadCapacityV2
+HBA_ScsiReportLUNsV2
+HBA_SendCTPassThru
+HBA_SendCTPassThruV2
+HBA_SendLIRR
+HBA_SendRLS
+HBA_SendRNID
+HBA_SendRNIDV2
+HBA_SendRPL
+HBA_SendRPS
+HBA_SendReadCapacity
+HBA_SendReportLUNs
+HBA_SendSRL
+HBA_SendScsiInquiry
+HBA_SetBindingSupport
+HBA_SetPersistentBindingV2
+HBA_SetRNIDMgmtInfo
diff --git a/mingw-w64-crt/lib64/whccoin.def b/mingw-w64-crt/lib64/whccoin.def
index a9c4551..4826aab 100644
--- a/mingw-w64-crt/lib64/whccoin.def
+++ b/mingw-w64-crt/lib64/whccoin.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file HCCOIN.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HCCOIN.DLL
-EXPORTS
-HCCOIN_Entry
+; 
+; Exports of file HCCOIN.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HCCOIN.DLL
+EXPORTS
+HCCOIN_Entry
diff --git a/mingw-w64-crt/lib64/whhsetup.def b/mingw-w64-crt/lib64/whhsetup.def
index f7393d0..de18319 100644
--- a/mingw-w64-crt/lib64/whhsetup.def
+++ b/mingw-w64-crt/lib64/whhsetup.def
@@ -1,298 +1,298 @@
-; 
-; Exports of file hhsetup.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY hhsetup.dll
-EXPORTS
-; public: __thiscall CCollection::CCollection(void)
-??0CCollection@@QAE@XZ
-; public: __thiscall CFIFOString::CFIFOString(void)
-??0CFIFOString@@QAE@XZ
-; public: __thiscall CFolder::CFolder(void)
-??0CFolder@@QAE@XZ
-; public: __thiscall CLocation::CLocation(void)
-??0CLocation@@QAE@XZ
-; public: __thiscall CPointerList::CPointerList(void)
-??0CPointerList@@QAE@XZ
-; public: __thiscall CTitle::CTitle(void)
-??0CTitle@@QAE@XZ
-; public: __thiscall CCollection::~CCollection(void)
-??1CCollection@@QAE@XZ
-; public: __thiscall CFIFOString::~CFIFOString(void)
-??1CFIFOString@@QAE@XZ
-; public: __thiscall CFolder::~CFolder(void)
-??1CFolder@@QAE@XZ
-; public: __thiscall CLocation::~CLocation(void)
-??1CLocation@@QAE@XZ
-; public: __thiscall CPointerList::~CPointerList(void)
-??1CPointerList@@QAE@XZ
-; public: __thiscall CTitle::~CTitle(void)
-??1CTitle@@QAE@XZ
-; public: class CCollection & __thiscall CCollection::operator=(class CCollection const &)
-??4CCollection@@QAEAAV0@ABV0@@Z
-; public: class CFIFOString & __thiscall CFIFOString::operator=(class CFIFOString const &)
-??4CFIFOString@@QAEAAV0@ABV0@@Z
-; public: class CFolder & __thiscall CFolder::operator=(class CFolder const &)
-??4CFolder@@QAEAAV0@ABV0@@Z
-; public: class CLocation & __thiscall CLocation::operator=(class CLocation const &)
-??4CLocation@@QAEAAV0@ABV0@@Z
-; public: class CPointerList & __thiscall CPointerList::operator=(class CPointerList const &)
-??4CPointerList@@QAEAAV0@ABV0@@Z
-; public: class CTitle & __thiscall CTitle::operator=(class CTitle const &)
-??4CTitle@@QAEAAV0@ABV0@@Z
-; public: struct ListItem * __thiscall CPointerList::Add(void *)
-?Add@CPointerList@@QAEPAUListItem@@PAX@Z
-; public: unsigned long __thiscall CFolder::AddChildFolder(class CFolder *)
-?AddChildFolder@CFolder@@QAEKPAV1@@Z
-; public: class CFolder * __thiscall CFolder::AddChildFolder(char const *,unsigned long,unsigned long *,unsigned short)
-?AddChildFolder@CFolder@@QAEPAV1@PBDKPAKG@Z
-; public: class CFolder * __thiscall CFolder::AddChildFolder(unsigned short const *,unsigned long,unsigned long *,unsigned short)
-?AddChildFolder@CFolder@@QAEPAV1@PBGKPAKG@Z
-; public: class CColList * __thiscall CCollection::AddCollection(void)
-?AddCollection@CCollection@@QAEPAVCColList@@XZ
-; public: class CFolder * __thiscall CCollection::AddFolder(char const *,unsigned long,unsigned long *,unsigned short)
-?AddFolder@CCollection@@QAEPAVCFolder@@PBDKPAKG@Z
-; public: class CFolder * __thiscall CCollection::AddFolder(unsigned short const *,unsigned long,unsigned long *,unsigned short)
-?AddFolder@CCollection@@QAEPAVCFolder@@PBGKPAKG@Z
-; public: class CLocation * __thiscall CCollection::AddLocation(char const *,char const *,char const *,char const *,unsigned long *)
-?AddLocation@CCollection@@QAEPAVCLocation@@PBD000PAK@Z
-; public: class CLocation * __thiscall CCollection::AddLocation(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long *)
-?AddLocation@CCollection@@QAEPAVCLocation@@PBG000PAK@Z
-; public: unsigned long __thiscall CTitle::AddLocationHistory(unsigned long,char const *,char const *,char const *,class CLocation const *,char const *,char const *,int)
-?AddLocationHistory@CTitle@@QAEKKPBD00PBVCLocation@@00H@Z
-; public: unsigned long __thiscall CTitle::AddLocationHistory(unsigned long,unsigned short const *,unsigned short const *,unsigned short const *,class CLocation const *,unsigned short const *,unsigned short const *,int)
-?AddLocationHistory@CTitle@@QAEKKPBG00PBVCLocation@@00H@Z
-; public: void __thiscall CCollection::AddRef(void)
-?AddRef@CCollection@@QAEXXZ
-; private: unsigned long __thiscall CCollection::AddRefedTitle(class CFolder *)
-?AddRefedTitle@CCollection@@AAEKPAVCFolder@@@Z
-; public: unsigned long __thiscall CFIFOString::AddTail(char *)
-?AddTail@CFIFOString@@QAEKPAD@Z
-; public: class CTitle * __thiscall CCollection::AddTitle(char const *,char const *,char const *,char const *,char const *,unsigned short,unsigned int,class CLocation *,unsigned long *,int,char const *)
-?AddTitle@CCollection@@QAEPAVCTitle@@PBD0000GIPAVCLocation@@PAKH0@Z
-; public: class CTitle * __thiscall CCollection::AddTitle(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short,unsigned int,class CLocation *,unsigned long *,int,unsigned short const *)
-?AddTitle@CCollection@@QAEPAVCTitle@@PBG0000GIPAVCLocation@@PAKH0@Z
-; private: unsigned long __thiscall CCollection::AllocCopyValue(class CParseXML *,char *,char * *)
-?AllocCopyValue@CCollection@@AAEKPAVCParseXML@@PADPAPAD@Z
-; unsigned long __stdcall AllocSetValue(char const *,char * *)
-?AllocSetValue@@YGKPBDPAPAD@Z
-; private: unsigned long __thiscall CCollection::CheckTitleRef(char const *,unsigned short)
-?CheckTitleRef@CCollection@@AAEKPBDG@Z
-; private: unsigned long __thiscall CCollection::CheckTitleRef(unsigned short const *,unsigned short)
-?CheckTitleRef@CCollection@@AAEKPBGG@Z
-; public: unsigned long __thiscall CCollection::Close(void)
-?Close@CCollection@@QAEKXZ
-; public: void __thiscall CCollection::ConfirmTitles(void)
-?ConfirmTitles@CCollection@@QAEXXZ
-; public: void __thiscall CCollection::DecrementRefTitleCount(void)
-?DecrementRefTitleCount@CCollection@@QAEXXZ
-; private: void __thiscall CCollection::DeleteChildren(class CFolder * *)
-?DeleteChildren@CCollection@@AAEXPAPAVCFolder@@@Z
-; public: unsigned long __thiscall CCollection::DeleteFolder(class CFolder *)
-?DeleteFolder@CCollection@@QAEKPAVCFolder@@@Z
-; private: void __thiscall CCollection::DeleteFolders(class CFolder * *)
-?DeleteFolders@CCollection@@AAEXPAPAVCFolder@@@Z
-; private: void __thiscall CCollection::DeleteLocalFiles(struct LocationHistory *,class CTitle *)
-?DeleteLocalFiles@CCollection@@AAEXPAULocationHistory@@PAVCTitle@@@Z
-; private: unsigned long __thiscall CCollection::DeleteLocation(class CLocation *)
-?DeleteLocation@CCollection@@AAEKPAVCLocation@@@Z
-; private: unsigned long __thiscall CCollection::DeleteTitle(class CTitle *)
-?DeleteTitle@CCollection@@AAEKPAVCTitle@@@Z
-; public: void __thiscall CCollection::Dirty(void)
-?Dirty@CCollection@@QAEXXZ
-; public: class CColList * __thiscall CCollection::FindCollection(char *)
-?FindCollection@CCollection@@QAEPAVCColList@@PAD@Z
-; public: class CLocation * __thiscall CCollection::FindLocation(char const *,unsigned int *)
-?FindLocation@CCollection@@QAEPAVCLocation@@PBDPAI@Z
-; public: class CLocation * __thiscall CCollection::FindLocation(unsigned short const *,unsigned int *)
-?FindLocation@CCollection@@QAEPAVCLocation@@PBGPAI@Z
-; public: class CTitle * __thiscall CCollection::FindTitle(char const *,unsigned short)
-?FindTitle@CCollection@@QAEPAVCTitle@@PBDG@Z
-; public: class CTitle * __thiscall CCollection::FindTitle(unsigned short const *,unsigned short)
-?FindTitle@CCollection@@QAEPAVCTitle@@PBGG@Z
-; public: struct ListItem * __thiscall CPointerList::First(void)
-?First@CPointerList@@QAEPAUListItem@@XZ
-; public: class CLocation * __thiscall CCollection::FirstLocation(void)
-?FirstLocation@CCollection@@QAEPAVCLocation@@XZ
-; public: unsigned long __thiscall CCollection::GetColNo(void)
-?GetColNo@CCollection@@QAEKXZ
-; public: char const * __thiscall CCollection::GetCollectionFileName(void)
-?GetCollectionFileName@CCollection@@QAEPBDXZ
-; public: unsigned short const * __thiscall CCollection::GetCollectionFileNameW(void)
-?GetCollectionFileNameW@CCollection@@QAEPBGXZ
-; public: int __thiscall CCollection::GetFindMergedCHMS(void)
-?GetFindMergedCHMS@CCollection@@QAEHXZ
-; public: class CFolder * __thiscall CFolder::GetFirstChildFolder(void)
-?GetFirstChildFolder@CFolder@@QAEPAV1@XZ
-; public: class CTitle * __thiscall CCollection::GetFirstTitle(void)
-?GetFirstTitle@CCollection@@QAEPAVCTitle@@XZ
-; public: char * __thiscall CLocation::GetId(void)const 
-?GetId@CLocation@@QBEPADXZ
-; public: char * __thiscall CTitle::GetId(void)
-?GetId@CTitle@@QAEPADXZ
-; public: unsigned short const * __thiscall CLocation::GetIdW(void)
-?GetIdW@CLocation@@QAEPBGXZ
-; public: unsigned short const * __thiscall CTitle::GetIdW(void)
-?GetIdW@CTitle@@QAEPBGXZ
-; public: unsigned short __thiscall CCollection::GetLangId(char const *)
-?GetLangId@CCollection@@QAEGPBD@Z
-; public: unsigned short __thiscall CCollection::GetLangId(unsigned short const *)
-?GetLangId@CCollection@@QAEGPBG@Z
-; public: unsigned short __thiscall CFolder::GetLanguage(void)
-?GetLanguage@CFolder@@QAEGXZ
-; public: unsigned short __thiscall CTitle::GetLanguage(void)
-?GetLanguage@CTitle@@QAEGXZ
-; public: struct LocationHistory * __thiscall CTitle::GetLocation(unsigned long)
-?GetLocation@CTitle@@QAEPAULocationHistory@@K@Z
-; public: int __thiscall CCollection::GetMasterCHM(char * *,unsigned short *)
-?GetMasterCHM@CCollection@@QAEHPAPADPAG@Z
-; public: int __thiscall CCollection::GetMasterCHM(unsigned short * *,unsigned short *)
-?GetMasterCHM@CCollection@@QAEHPAPAGPAG@Z
-; public: class CFolder * __thiscall CFolder::GetNextFolder(void)
-?GetNextFolder@CFolder@@QAEPAV1@XZ
-; public: class CLocation * __thiscall CLocation::GetNextLocation(void)
-?GetNextLocation@CLocation@@QAEPAV1@XZ
-; public: class CTitle * __thiscall CTitle::GetNextTitle(void)
-?GetNextTitle@CTitle@@QAEPAV1@XZ
-; public: unsigned long __thiscall CFolder::GetOrder(void)
-?GetOrder@CFolder@@QAEKXZ
-; public: class CFolder * __thiscall CFolder::GetParent(void)
-?GetParent@CFolder@@QAEPAV1@XZ
-; public: char * __thiscall CLocation::GetPath(void)
-?GetPath@CLocation@@QAEPADXZ
-; public: unsigned short const * __thiscall CLocation::GetPathW(void)
-?GetPathW@CLocation@@QAEPBGXZ
-; public: unsigned long __thiscall CCollection::GetRefTitleCount(void)
-?GetRefTitleCount@CCollection@@QAEKXZ
-; public: class CFolder * __thiscall CCollection::GetRootFolder(void)
-?GetRootFolder@CCollection@@QAEPAVCFolder@@XZ
-; public: char * __thiscall CCollection::GetSampleLocation(void)
-?GetSampleLocation@CCollection@@QAEPADXZ
-; public: unsigned short const * __thiscall CCollection::GetSampleLocationW(void)
-?GetSampleLocationW@CCollection@@QAEPBGXZ
-; public: unsigned long __thiscall CFIFOString::GetTail(char * *)
-?GetTail@CFIFOString@@QAEKPAPAD@Z
-; public: char * __thiscall CFolder::GetTitle(void)
-?GetTitle@CFolder@@QAEPADXZ
-; public: char * __thiscall CLocation::GetTitle(void)
-?GetTitle@CLocation@@QAEPADXZ
-; public: unsigned short const * __thiscall CFolder::GetTitleW(void)
-?GetTitleW@CFolder@@QAEPBGXZ
-; public: unsigned short const * __thiscall CLocation::GetTitleW(void)
-?GetTitleW@CLocation@@QAEPBGXZ
-; public: unsigned long __thiscall CCollection::GetVersion(void)
-?GetVersion@CCollection@@QAEKXZ
-; public: class CFolder * __thiscall CCollection::GetVisableRootFolder(void)
-?GetVisableRootFolder@CCollection@@QAEPAVCFolder@@XZ
-; public: char * __thiscall CLocation::GetVolume(void)
-?GetVolume@CLocation@@QAEPADXZ
-; public: unsigned short const * __thiscall CLocation::GetVolumeW(void)
-?GetVolumeW@CLocation@@QAEPBGXZ
-; private: unsigned long __thiscall CCollection::HandleCollection(class CParseXML *,char *)
-?HandleCollection@CCollection@@AAEKPAVCParseXML@@PAD@Z
-; private: unsigned long __thiscall CCollection::HandleCollectionEntry(class CParseXML *,char *)
-?HandleCollectionEntry@CCollection@@AAEKPAVCParseXML@@PAD@Z
-; private: unsigned long __thiscall CCollection::HandleFolder(class CParseXML *,char *)
-?HandleFolder@CCollection@@AAEKPAVCParseXML@@PAD@Z
-; private: unsigned long __thiscall CCollection::HandleLocation(class CParseXML *,char *)
-?HandleLocation@CCollection@@AAEKPAVCParseXML@@PAD@Z
-; private: unsigned long __thiscall CCollection::HandleTitle(class CParseXML *,char *)
-?HandleTitle@CCollection@@AAEKPAVCParseXML@@PAD@Z
-; public: void __thiscall CCollection::IncrementRefTitleCount(void)
-?IncrementRefTitleCount@CCollection@@QAEXXZ
-; public: int __thiscall CCollection::IsDirty(void)
-?IsDirty@CCollection@@QAEHXZ
-; public: int __thiscall CCollection::MergeKeywords(char *)
-?MergeKeywords@CCollection@@QAEHPAD@Z
-; public: int __thiscall CCollection::MergeKeywords(unsigned short *)
-?MergeKeywords@CCollection@@QAEHPAG@Z
-; private: class CLocation * __thiscall CCollection::NewLocation(void)
-?NewLocation@CCollection@@AAEPAVCLocation@@XZ
-; public: struct LocationHistory * __thiscall CTitle::NewLocationHistory(void)
-?NewLocationHistory@CTitle@@QAEPAULocationHistory@@XZ
-; private: class CTitle * __thiscall CCollection::NewTitle(void)
-?NewTitle@CCollection@@AAEPAVCTitle@@XZ
-; public: struct ListItem * __thiscall CPointerList::Next(struct ListItem *)
-?Next@CPointerList@@QAEPAUListItem@@PAU2@@Z
-; public: unsigned long __thiscall CCollection::Open(char const *)
-?Open@CCollection@@QAEKPBD@Z
-; public: unsigned long __thiscall CCollection::Open(unsigned short const *)
-?Open@CCollection@@QAEKPBG@Z
-; private: unsigned long __thiscall CCollection::ParseFile(char const *)
-?ParseFile@CCollection@@AAEKPBD@Z
-; private: unsigned long __thiscall CCollection::Release(void)
-?Release@CCollection@@AAEKXZ
-; public: void __thiscall CFIFOString::RemoveAll(void)
-?RemoveAll@CFIFOString@@QAEXXZ
-; public: void __thiscall CPointerList::RemoveAll(void)
-?RemoveAll@CPointerList@@QAEXXZ
-; public: unsigned long __thiscall CCollection::RemoveCollection(int)
-?RemoveCollection@CCollection@@QAEKH@Z
-; public: void __thiscall CCollection::RemoveCollectionEntry(char *)
-?RemoveCollectionEntry@CCollection@@QAEXPAD@Z
-; public: unsigned long __thiscall CCollection::Save(void)
-?Save@CCollection@@QAEKXZ
-; public: void __thiscall CFolder::SetExTitlePtr(class CExTitle *)
-?SetExTitlePtr@CFolder@@QAEXPAVCExTitle@@@Z
-; public: void __thiscall CCollection::SetFindMergedCHMS(int)
-?SetFindMergedCHMS@CCollection@@QAEXH@Z
-; public: void __thiscall CFolder::SetFirstChildFolder(class CFolder *)
-?SetFirstChildFolder@CFolder@@QAEXPAV1@@Z
-; public: void __thiscall CLocation::SetId(char const *)
-?SetId@CLocation@@QAEXPBD@Z
-; public: void __thiscall CLocation::SetId(unsigned short const *)
-?SetId@CLocation@@QAEXPBG@Z
-; public: void __thiscall CTitle::SetId(char const *)
-?SetId@CTitle@@QAEXPBD@Z
-; public: void __thiscall CTitle::SetId(unsigned short const *)
-?SetId@CTitle@@QAEXPBG@Z
-; public: void __thiscall CFolder::SetLanguage(unsigned short)
-?SetLanguage@CFolder@@QAEXG@Z
-; public: void __thiscall CTitle::SetLanguage(unsigned short)
-?SetLanguage@CTitle@@QAEXG@Z
-; public: void __thiscall CCollection::SetMasterCHM(char const *,unsigned short)
-?SetMasterCHM@CCollection@@QAEXPBDG@Z
-; public: void __thiscall CCollection::SetMasterCHM(unsigned short const *,unsigned short)
-?SetMasterCHM@CCollection@@QAEXPBGG@Z
-; public: void __thiscall CFolder::SetNextFolder(class CFolder *)
-?SetNextFolder@CFolder@@QAEXPAV1@@Z
-; public: void __thiscall CLocation::SetNextLocation(class CLocation *)
-?SetNextLocation@CLocation@@QAEXPAV1@@Z
-; public: void __thiscall CTitle::SetNextTitle(class CTitle *)
-?SetNextTitle@CTitle@@QAEXPAV1@@Z
-; public: void __thiscall CFolder::SetOrder(unsigned long)
-?SetOrder@CFolder@@QAEXK@Z
-; public: void __thiscall CFolder::SetParent(class CFolder *)
-?SetParent@CFolder@@QAEXPAV1@@Z
-; public: void __thiscall CLocation::SetPath(char const *)
-?SetPath@CLocation@@QAEXPBD@Z
-; public: void __thiscall CLocation::SetPath(unsigned short const *)
-?SetPath@CLocation@@QAEXPBG@Z
-; public: void __thiscall CCollection::SetSampleLocation(char const *)
-?SetSampleLocation@CCollection@@QAEXPBD@Z
-; public: void __thiscall CCollection::SetSampleLocation(unsigned short const *)
-?SetSampleLocation@CCollection@@QAEXPBG@Z
-; public: void __thiscall CFolder::SetTitle(char const *)
-?SetTitle@CFolder@@QAEXPBD@Z
-; public: void __thiscall CFolder::SetTitle(unsigned short const *)
-?SetTitle@CFolder@@QAEXPBG@Z
-; public: void __thiscall CLocation::SetTitle(char const *)
-?SetTitle@CLocation@@QAEXPBD@Z
-; public: void __thiscall CLocation::SetTitle(unsigned short const *)
-?SetTitle@CLocation@@QAEXPBG@Z
-; public: void __thiscall CCollection::SetVersion(unsigned long)
-?SetVersion@CCollection@@QAEXK@Z
-; public: void __thiscall CLocation::SetVolume(char const *)
-?SetVolume@CLocation@@QAEXPBD@Z
-; public: void __thiscall CLocation::SetVolume(unsigned short const *)
-?SetVolume@CLocation@@QAEXPBG@Z
-; private: int __thiscall CCollection::WriteFolder(class CFolder * *)
-?WriteFolder@CCollection@@AAEHPAPAVCFolder@@@Z
-; private: int __thiscall CCollection::WriteFolders(class CFolder * *)
-?WriteFolders@CCollection@@AAEHPAPAVCFolder@@@Z
-; public: int __thiscall CFolder::bIsVisable(void)
-?bIsVisable@CFolder@@QAEHXZ
-; private: void __thiscall CCollection::wssResetNextColNum(void)
-?wssResetNextColNum@CCollection@@AAEXXZ
+; 
+; Exports of file hhsetup.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY hhsetup.dll
+EXPORTS
+; public: __thiscall CCollection::CCollection(void)
+??0CCollection@@QAE@XZ
+; public: __thiscall CFIFOString::CFIFOString(void)
+??0CFIFOString@@QAE@XZ
+; public: __thiscall CFolder::CFolder(void)
+??0CFolder@@QAE@XZ
+; public: __thiscall CLocation::CLocation(void)
+??0CLocation@@QAE@XZ
+; public: __thiscall CPointerList::CPointerList(void)
+??0CPointerList@@QAE@XZ
+; public: __thiscall CTitle::CTitle(void)
+??0CTitle@@QAE@XZ
+; public: __thiscall CCollection::~CCollection(void)
+??1CCollection@@QAE@XZ
+; public: __thiscall CFIFOString::~CFIFOString(void)
+??1CFIFOString@@QAE@XZ
+; public: __thiscall CFolder::~CFolder(void)
+??1CFolder@@QAE@XZ
+; public: __thiscall CLocation::~CLocation(void)
+??1CLocation@@QAE@XZ
+; public: __thiscall CPointerList::~CPointerList(void)
+??1CPointerList@@QAE@XZ
+; public: __thiscall CTitle::~CTitle(void)
+??1CTitle@@QAE@XZ
+; public: class CCollection & __thiscall CCollection::operator=(class CCollection const &)
+??4CCollection@@QAEAAV0@ABV0@@Z
+; public: class CFIFOString & __thiscall CFIFOString::operator=(class CFIFOString const &)
+??4CFIFOString@@QAEAAV0@ABV0@@Z
+; public: class CFolder & __thiscall CFolder::operator=(class CFolder const &)
+??4CFolder@@QAEAAV0@ABV0@@Z
+; public: class CLocation & __thiscall CLocation::operator=(class CLocation const &)
+??4CLocation@@QAEAAV0@ABV0@@Z
+; public: class CPointerList & __thiscall CPointerList::operator=(class CPointerList const &)
+??4CPointerList@@QAEAAV0@ABV0@@Z
+; public: class CTitle & __thiscall CTitle::operator=(class CTitle const &)
+??4CTitle@@QAEAAV0@ABV0@@Z
+; public: struct ListItem * __thiscall CPointerList::Add(void *)
+?Add@CPointerList@@QAEPAUListItem@@PAX@Z
+; public: unsigned long __thiscall CFolder::AddChildFolder(class CFolder *)
+?AddChildFolder@CFolder@@QAEKPAV1@@Z
+; public: class CFolder * __thiscall CFolder::AddChildFolder(char const *,unsigned long,unsigned long *,unsigned short)
+?AddChildFolder@CFolder@@QAEPAV1@PBDKPAKG@Z
+; public: class CFolder * __thiscall CFolder::AddChildFolder(unsigned short const *,unsigned long,unsigned long *,unsigned short)
+?AddChildFolder@CFolder@@QAEPAV1@PBGKPAKG@Z
+; public: class CColList * __thiscall CCollection::AddCollection(void)
+?AddCollection@CCollection@@QAEPAVCColList@@XZ
+; public: class CFolder * __thiscall CCollection::AddFolder(char const *,unsigned long,unsigned long *,unsigned short)
+?AddFolder@CCollection@@QAEPAVCFolder@@PBDKPAKG@Z
+; public: class CFolder * __thiscall CCollection::AddFolder(unsigned short const *,unsigned long,unsigned long *,unsigned short)
+?AddFolder@CCollection@@QAEPAVCFolder@@PBGKPAKG@Z
+; public: class CLocation * __thiscall CCollection::AddLocation(char const *,char const *,char const *,char const *,unsigned long *)
+?AddLocation@CCollection@@QAEPAVCLocation@@PBD000PAK@Z
+; public: class CLocation * __thiscall CCollection::AddLocation(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long *)
+?AddLocation@CCollection@@QAEPAVCLocation@@PBG000PAK@Z
+; public: unsigned long __thiscall CTitle::AddLocationHistory(unsigned long,char const *,char const *,char const *,class CLocation const *,char const *,char const *,int)
+?AddLocationHistory@CTitle@@QAEKKPBD00PBVCLocation@@00H@Z
+; public: unsigned long __thiscall CTitle::AddLocationHistory(unsigned long,unsigned short const *,unsigned short const *,unsigned short const *,class CLocation const *,unsigned short const *,unsigned short const *,int)
+?AddLocationHistory@CTitle@@QAEKKPBG00PBVCLocation@@00H@Z
+; public: void __thiscall CCollection::AddRef(void)
+?AddRef@CCollection@@QAEXXZ
+; private: unsigned long __thiscall CCollection::AddRefedTitle(class CFolder *)
+?AddRefedTitle@CCollection@@AAEKPAVCFolder@@@Z
+; public: unsigned long __thiscall CFIFOString::AddTail(char *)
+?AddTail@CFIFOString@@QAEKPAD@Z
+; public: class CTitle * __thiscall CCollection::AddTitle(char const *,char const *,char const *,char const *,char const *,unsigned short,unsigned int,class CLocation *,unsigned long *,int,char const *)
+?AddTitle@CCollection@@QAEPAVCTitle@@PBD0000GIPAVCLocation@@PAKH0@Z
+; public: class CTitle * __thiscall CCollection::AddTitle(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short,unsigned int,class CLocation *,unsigned long *,int,unsigned short const *)
+?AddTitle@CCollection@@QAEPAVCTitle@@PBG0000GIPAVCLocation@@PAKH0@Z
+; private: unsigned long __thiscall CCollection::AllocCopyValue(class CParseXML *,char *,char * *)
+?AllocCopyValue@CCollection@@AAEKPAVCParseXML@@PADPAPAD@Z
+; unsigned long __stdcall AllocSetValue(char const *,char * *)
+?AllocSetValue@@YGKPBDPAPAD@Z
+; private: unsigned long __thiscall CCollection::CheckTitleRef(char const *,unsigned short)
+?CheckTitleRef@CCollection@@AAEKPBDG@Z
+; private: unsigned long __thiscall CCollection::CheckTitleRef(unsigned short const *,unsigned short)
+?CheckTitleRef@CCollection@@AAEKPBGG@Z
+; public: unsigned long __thiscall CCollection::Close(void)
+?Close@CCollection@@QAEKXZ
+; public: void __thiscall CCollection::ConfirmTitles(void)
+?ConfirmTitles@CCollection@@QAEXXZ
+; public: void __thiscall CCollection::DecrementRefTitleCount(void)
+?DecrementRefTitleCount@CCollection@@QAEXXZ
+; private: void __thiscall CCollection::DeleteChildren(class CFolder * *)
+?DeleteChildren@CCollection@@AAEXPAPAVCFolder@@@Z
+; public: unsigned long __thiscall CCollection::DeleteFolder(class CFolder *)
+?DeleteFolder@CCollection@@QAEKPAVCFolder@@@Z
+; private: void __thiscall CCollection::DeleteFolders(class CFolder * *)
+?DeleteFolders@CCollection@@AAEXPAPAVCFolder@@@Z
+; private: void __thiscall CCollection::DeleteLocalFiles(struct LocationHistory *,class CTitle *)
+?DeleteLocalFiles@CCollection@@AAEXPAULocationHistory@@PAVCTitle@@@Z
+; private: unsigned long __thiscall CCollection::DeleteLocation(class CLocation *)
+?DeleteLocation@CCollection@@AAEKPAVCLocation@@@Z
+; private: unsigned long __thiscall CCollection::DeleteTitle(class CTitle *)
+?DeleteTitle@CCollection@@AAEKPAVCTitle@@@Z
+; public: void __thiscall CCollection::Dirty(void)
+?Dirty@CCollection@@QAEXXZ
+; public: class CColList * __thiscall CCollection::FindCollection(char *)
+?FindCollection@CCollection@@QAEPAVCColList@@PAD@Z
+; public: class CLocation * __thiscall CCollection::FindLocation(char const *,unsigned int *)
+?FindLocation@CCollection@@QAEPAVCLocation@@PBDPAI@Z
+; public: class CLocation * __thiscall CCollection::FindLocation(unsigned short const *,unsigned int *)
+?FindLocation@CCollection@@QAEPAVCLocation@@PBGPAI@Z
+; public: class CTitle * __thiscall CCollection::FindTitle(char const *,unsigned short)
+?FindTitle@CCollection@@QAEPAVCTitle@@PBDG@Z
+; public: class CTitle * __thiscall CCollection::FindTitle(unsigned short const *,unsigned short)
+?FindTitle@CCollection@@QAEPAVCTitle@@PBGG@Z
+; public: struct ListItem * __thiscall CPointerList::First(void)
+?First@CPointerList@@QAEPAUListItem@@XZ
+; public: class CLocation * __thiscall CCollection::FirstLocation(void)
+?FirstLocation@CCollection@@QAEPAVCLocation@@XZ
+; public: unsigned long __thiscall CCollection::GetColNo(void)
+?GetColNo@CCollection@@QAEKXZ
+; public: char const * __thiscall CCollection::GetCollectionFileName(void)
+?GetCollectionFileName@CCollection@@QAEPBDXZ
+; public: unsigned short const * __thiscall CCollection::GetCollectionFileNameW(void)
+?GetCollectionFileNameW@CCollection@@QAEPBGXZ
+; public: int __thiscall CCollection::GetFindMergedCHMS(void)
+?GetFindMergedCHMS@CCollection@@QAEHXZ
+; public: class CFolder * __thiscall CFolder::GetFirstChildFolder(void)
+?GetFirstChildFolder@CFolder@@QAEPAV1@XZ
+; public: class CTitle * __thiscall CCollection::GetFirstTitle(void)
+?GetFirstTitle@CCollection@@QAEPAVCTitle@@XZ
+; public: char * __thiscall CLocation::GetId(void)const 
+?GetId@CLocation@@QBEPADXZ
+; public: char * __thiscall CTitle::GetId(void)
+?GetId@CTitle@@QAEPADXZ
+; public: unsigned short const * __thiscall CLocation::GetIdW(void)
+?GetIdW@CLocation@@QAEPBGXZ
+; public: unsigned short const * __thiscall CTitle::GetIdW(void)
+?GetIdW@CTitle@@QAEPBGXZ
+; public: unsigned short __thiscall CCollection::GetLangId(char const *)
+?GetLangId@CCollection@@QAEGPBD@Z
+; public: unsigned short __thiscall CCollection::GetLangId(unsigned short const *)
+?GetLangId@CCollection@@QAEGPBG@Z
+; public: unsigned short __thiscall CFolder::GetLanguage(void)
+?GetLanguage@CFolder@@QAEGXZ
+; public: unsigned short __thiscall CTitle::GetLanguage(void)
+?GetLanguage@CTitle@@QAEGXZ
+; public: struct LocationHistory * __thiscall CTitle::GetLocation(unsigned long)
+?GetLocation@CTitle@@QAEPAULocationHistory@@K@Z
+; public: int __thiscall CCollection::GetMasterCHM(char * *,unsigned short *)
+?GetMasterCHM@CCollection@@QAEHPAPADPAG@Z
+; public: int __thiscall CCollection::GetMasterCHM(unsigned short * *,unsigned short *)
+?GetMasterCHM@CCollection@@QAEHPAPAGPAG@Z
+; public: class CFolder * __thiscall CFolder::GetNextFolder(void)
+?GetNextFolder@CFolder@@QAEPAV1@XZ
+; public: class CLocation * __thiscall CLocation::GetNextLocation(void)
+?GetNextLocation@CLocation@@QAEPAV1@XZ
+; public: class CTitle * __thiscall CTitle::GetNextTitle(void)
+?GetNextTitle@CTitle@@QAEPAV1@XZ
+; public: unsigned long __thiscall CFolder::GetOrder(void)
+?GetOrder@CFolder@@QAEKXZ
+; public: class CFolder * __thiscall CFolder::GetParent(void)
+?GetParent@CFolder@@QAEPAV1@XZ
+; public: char * __thiscall CLocation::GetPath(void)
+?GetPath@CLocation@@QAEPADXZ
+; public: unsigned short const * __thiscall CLocation::GetPathW(void)
+?GetPathW@CLocation@@QAEPBGXZ
+; public: unsigned long __thiscall CCollection::GetRefTitleCount(void)
+?GetRefTitleCount@CCollection@@QAEKXZ
+; public: class CFolder * __thiscall CCollection::GetRootFolder(void)
+?GetRootFolder@CCollection@@QAEPAVCFolder@@XZ
+; public: char * __thiscall CCollection::GetSampleLocation(void)
+?GetSampleLocation@CCollection@@QAEPADXZ
+; public: unsigned short const * __thiscall CCollection::GetSampleLocationW(void)
+?GetSampleLocationW@CCollection@@QAEPBGXZ
+; public: unsigned long __thiscall CFIFOString::GetTail(char * *)
+?GetTail@CFIFOString@@QAEKPAPAD@Z
+; public: char * __thiscall CFolder::GetTitle(void)
+?GetTitle@CFolder@@QAEPADXZ
+; public: char * __thiscall CLocation::GetTitle(void)
+?GetTitle@CLocation@@QAEPADXZ
+; public: unsigned short const * __thiscall CFolder::GetTitleW(void)
+?GetTitleW@CFolder@@QAEPBGXZ
+; public: unsigned short const * __thiscall CLocation::GetTitleW(void)
+?GetTitleW@CLocation@@QAEPBGXZ
+; public: unsigned long __thiscall CCollection::GetVersion(void)
+?GetVersion@CCollection@@QAEKXZ
+; public: class CFolder * __thiscall CCollection::GetVisableRootFolder(void)
+?GetVisableRootFolder@CCollection@@QAEPAVCFolder@@XZ
+; public: char * __thiscall CLocation::GetVolume(void)
+?GetVolume@CLocation@@QAEPADXZ
+; public: unsigned short const * __thiscall CLocation::GetVolumeW(void)
+?GetVolumeW@CLocation@@QAEPBGXZ
+; private: unsigned long __thiscall CCollection::HandleCollection(class CParseXML *,char *)
+?HandleCollection@CCollection@@AAEKPAVCParseXML@@PAD@Z
+; private: unsigned long __thiscall CCollection::HandleCollectionEntry(class CParseXML *,char *)
+?HandleCollectionEntry@CCollection@@AAEKPAVCParseXML@@PAD@Z
+; private: unsigned long __thiscall CCollection::HandleFolder(class CParseXML *,char *)
+?HandleFolder@CCollection@@AAEKPAVCParseXML@@PAD@Z
+; private: unsigned long __thiscall CCollection::HandleLocation(class CParseXML *,char *)
+?HandleLocation@CCollection@@AAEKPAVCParseXML@@PAD@Z
+; private: unsigned long __thiscall CCollection::HandleTitle(class CParseXML *,char *)
+?HandleTitle@CCollection@@AAEKPAVCParseXML@@PAD@Z
+; public: void __thiscall CCollection::IncrementRefTitleCount(void)
+?IncrementRefTitleCount@CCollection@@QAEXXZ
+; public: int __thiscall CCollection::IsDirty(void)
+?IsDirty@CCollection@@QAEHXZ
+; public: int __thiscall CCollection::MergeKeywords(char *)
+?MergeKeywords@CCollection@@QAEHPAD@Z
+; public: int __thiscall CCollection::MergeKeywords(unsigned short *)
+?MergeKeywords@CCollection@@QAEHPAG@Z
+; private: class CLocation * __thiscall CCollection::NewLocation(void)
+?NewLocation@CCollection@@AAEPAVCLocation@@XZ
+; public: struct LocationHistory * __thiscall CTitle::NewLocationHistory(void)
+?NewLocationHistory@CTitle@@QAEPAULocationHistory@@XZ
+; private: class CTitle * __thiscall CCollection::NewTitle(void)
+?NewTitle@CCollection@@AAEPAVCTitle@@XZ
+; public: struct ListItem * __thiscall CPointerList::Next(struct ListItem *)
+?Next@CPointerList@@QAEPAUListItem@@PAU2@@Z
+; public: unsigned long __thiscall CCollection::Open(char const *)
+?Open@CCollection@@QAEKPBD@Z
+; public: unsigned long __thiscall CCollection::Open(unsigned short const *)
+?Open@CCollection@@QAEKPBG@Z
+; private: unsigned long __thiscall CCollection::ParseFile(char const *)
+?ParseFile@CCollection@@AAEKPBD@Z
+; private: unsigned long __thiscall CCollection::Release(void)
+?Release@CCollection@@AAEKXZ
+; public: void __thiscall CFIFOString::RemoveAll(void)
+?RemoveAll@CFIFOString@@QAEXXZ
+; public: void __thiscall CPointerList::RemoveAll(void)
+?RemoveAll@CPointerList@@QAEXXZ
+; public: unsigned long __thiscall CCollection::RemoveCollection(int)
+?RemoveCollection@CCollection@@QAEKH@Z
+; public: void __thiscall CCollection::RemoveCollectionEntry(char *)
+?RemoveCollectionEntry@CCollection@@QAEXPAD@Z
+; public: unsigned long __thiscall CCollection::Save(void)
+?Save@CCollection@@QAEKXZ
+; public: void __thiscall CFolder::SetExTitlePtr(class CExTitle *)
+?SetExTitlePtr@CFolder@@QAEXPAVCExTitle@@@Z
+; public: void __thiscall CCollection::SetFindMergedCHMS(int)
+?SetFindMergedCHMS@CCollection@@QAEXH@Z
+; public: void __thiscall CFolder::SetFirstChildFolder(class CFolder *)
+?SetFirstChildFolder@CFolder@@QAEXPAV1@@Z
+; public: void __thiscall CLocation::SetId(char const *)
+?SetId@CLocation@@QAEXPBD@Z
+; public: void __thiscall CLocation::SetId(unsigned short const *)
+?SetId@CLocation@@QAEXPBG@Z
+; public: void __thiscall CTitle::SetId(char const *)
+?SetId@CTitle@@QAEXPBD@Z
+; public: void __thiscall CTitle::SetId(unsigned short const *)
+?SetId@CTitle@@QAEXPBG@Z
+; public: void __thiscall CFolder::SetLanguage(unsigned short)
+?SetLanguage@CFolder@@QAEXG@Z
+; public: void __thiscall CTitle::SetLanguage(unsigned short)
+?SetLanguage@CTitle@@QAEXG@Z
+; public: void __thiscall CCollection::SetMasterCHM(char const *,unsigned short)
+?SetMasterCHM@CCollection@@QAEXPBDG@Z
+; public: void __thiscall CCollection::SetMasterCHM(unsigned short const *,unsigned short)
+?SetMasterCHM@CCollection@@QAEXPBGG@Z
+; public: void __thiscall CFolder::SetNextFolder(class CFolder *)
+?SetNextFolder@CFolder@@QAEXPAV1@@Z
+; public: void __thiscall CLocation::SetNextLocation(class CLocation *)
+?SetNextLocation@CLocation@@QAEXPAV1@@Z
+; public: void __thiscall CTitle::SetNextTitle(class CTitle *)
+?SetNextTitle@CTitle@@QAEXPAV1@@Z
+; public: void __thiscall CFolder::SetOrder(unsigned long)
+?SetOrder@CFolder@@QAEXK@Z
+; public: void __thiscall CFolder::SetParent(class CFolder *)
+?SetParent@CFolder@@QAEXPAV1@@Z
+; public: void __thiscall CLocation::SetPath(char const *)
+?SetPath@CLocation@@QAEXPBD@Z
+; public: void __thiscall CLocation::SetPath(unsigned short const *)
+?SetPath@CLocation@@QAEXPBG@Z
+; public: void __thiscall CCollection::SetSampleLocation(char const *)
+?SetSampleLocation@CCollection@@QAEXPBD@Z
+; public: void __thiscall CCollection::SetSampleLocation(unsigned short const *)
+?SetSampleLocation@CCollection@@QAEXPBG@Z
+; public: void __thiscall CFolder::SetTitle(char const *)
+?SetTitle@CFolder@@QAEXPBD@Z
+; public: void __thiscall CFolder::SetTitle(unsigned short const *)
+?SetTitle@CFolder@@QAEXPBG@Z
+; public: void __thiscall CLocation::SetTitle(char const *)
+?SetTitle@CLocation@@QAEXPBD@Z
+; public: void __thiscall CLocation::SetTitle(unsigned short const *)
+?SetTitle@CLocation@@QAEXPBG@Z
+; public: void __thiscall CCollection::SetVersion(unsigned long)
+?SetVersion@CCollection@@QAEXK@Z
+; public: void __thiscall CLocation::SetVolume(char const *)
+?SetVolume@CLocation@@QAEXPBD@Z
+; public: void __thiscall CLocation::SetVolume(unsigned short const *)
+?SetVolume@CLocation@@QAEXPBG@Z
+; private: int __thiscall CCollection::WriteFolder(class CFolder * *)
+?WriteFolder@CCollection@@AAEHPAPAVCFolder@@@Z
+; private: int __thiscall CCollection::WriteFolders(class CFolder * *)
+?WriteFolders@CCollection@@AAEHPAPAVCFolder@@@Z
+; public: int __thiscall CFolder::bIsVisable(void)
+?bIsVisable@CFolder@@QAEHXZ
+; private: void __thiscall CCollection::wssResetNextColNum(void)
+?wssResetNextColNum@CCollection@@AAEXXZ
diff --git a/mingw-w64-crt/lib64/whid.def b/mingw-w64-crt/lib64/whid.def
index 12fdb4c..1be39fc 100644
--- a/mingw-w64-crt/lib64/whid.def
+++ b/mingw-w64-crt/lib64/whid.def
@@ -1,52 +1,52 @@
-; 
-; Exports of file HID.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HID.DLL
-EXPORTS
-HidD_FlushQueue
-HidD_FreePreparsedData
-HidD_GetAttributes
-HidD_GetConfiguration
-HidD_GetFeature
-HidD_GetHidGuid
-HidD_GetIndexedString
-HidD_GetInputReport
-HidD_GetManufacturerString
-HidD_GetMsGenreDescriptor
-HidD_GetNumInputBuffers
-HidD_GetPhysicalDescriptor
-HidD_GetPreparsedData
-HidD_GetProductString
-HidD_GetSerialNumberString
-HidD_Hello
-HidD_SetConfiguration
-HidD_SetFeature
-HidD_SetNumInputBuffers
-HidD_SetOutputReport
-HidP_GetButtonCaps
-HidP_GetCaps
-HidP_GetData
-HidP_GetExtendedAttributes
-HidP_GetLinkCollectionNodes
-HidP_GetScaledUsageValue
-HidP_GetSpecificButtonCaps
-HidP_GetSpecificValueCaps
-HidP_GetUsageValue
-HidP_GetUsageValueArray
-HidP_GetUsages
-HidP_GetUsagesEx
-HidP_GetValueCaps
-HidP_InitializeReportForID
-HidP_MaxDataListLength
-HidP_MaxUsageListLength
-HidP_SetData
-HidP_SetScaledUsageValue
-HidP_SetUsageValue
-HidP_SetUsageValueArray
-HidP_SetUsages
-HidP_TranslateUsagesToI8042ScanCodes
-HidP_UnsetUsages
-HidP_UsageListDifference
+; 
+; Exports of file HID.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HID.DLL
+EXPORTS
+HidD_FlushQueue
+HidD_FreePreparsedData
+HidD_GetAttributes
+HidD_GetConfiguration
+HidD_GetFeature
+HidD_GetHidGuid
+HidD_GetIndexedString
+HidD_GetInputReport
+HidD_GetManufacturerString
+HidD_GetMsGenreDescriptor
+HidD_GetNumInputBuffers
+HidD_GetPhysicalDescriptor
+HidD_GetPreparsedData
+HidD_GetProductString
+HidD_GetSerialNumberString
+HidD_Hello
+HidD_SetConfiguration
+HidD_SetFeature
+HidD_SetNumInputBuffers
+HidD_SetOutputReport
+HidP_GetButtonCaps
+HidP_GetCaps
+HidP_GetData
+HidP_GetExtendedAttributes
+HidP_GetLinkCollectionNodes
+HidP_GetScaledUsageValue
+HidP_GetSpecificButtonCaps
+HidP_GetSpecificValueCaps
+HidP_GetUsageValue
+HidP_GetUsageValueArray
+HidP_GetUsages
+HidP_GetUsagesEx
+HidP_GetValueCaps
+HidP_InitializeReportForID
+HidP_MaxDataListLength
+HidP_MaxUsageListLength
+HidP_SetData
+HidP_SetScaledUsageValue
+HidP_SetUsageValue
+HidP_SetUsageValueArray
+HidP_SetUsages
+HidP_TranslateUsagesToI8042ScanCodes
+HidP_UnsetUsages
+HidP_UsageListDifference
diff --git a/mingw-w64-crt/lib64/whidserv.def b/mingw-w64-crt/lib64/whidserv.def
index 67bfa33..3adec98 100644
--- a/mingw-w64-crt/lib64/whidserv.def
+++ b/mingw-w64-crt/lib64/whidserv.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file HIDSERV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HIDSERV.dll
-EXPORTS
-InstallHidserv
-ServiceMain
+; 
+; Exports of file HIDSERV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HIDSERV.dll
+EXPORTS
+InstallHidserv
+ServiceMain
diff --git a/mingw-w64-crt/lib64/whlink.def b/mingw-w64-crt/lib64/whlink.def
index 7f30130..445c670 100644
--- a/mingw-w64-crt/lib64/whlink.def
+++ b/mingw-w64-crt/lib64/whlink.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file hlink.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY hlink.dll
-EXPORTS
-HlinkCreateFromMoniker
-HlinkCreateFromString
-HlinkCreateFromData
-HlinkCreateBrowseContext
-HlinkClone
-HlinkNavigateToStringReference
-HlinkOnNavigate
-HlinkNavigate
-HlinkUpdateStackItem
-HlinkOnRenameDocument
-DllCanUnloadNow
-HlinkResolveMonikerForData
-HlinkResolveStringForData
-OleSaveToStreamEx
-DllGetClassObject
-HlinkParseDisplayName
-DllRegisterServer
-HlinkQueryCreateFromData
-HlinkSetSpecialReference
-HlinkGetSpecialReference
-HlinkCreateShortcut
-HlinkResolveShortcut
-HlinkIsShortcut
-HlinkResolveShortcutToString
-HlinkCreateShortcutFromString
-HlinkGetValueFromParams
-HlinkCreateShortcutFromMoniker
-HlinkResolveShortcutToMoniker
-HlinkTranslateURL
-HlinkCreateExtensionServices
-HlinkPreprocessMoniker
-DllUnregisterServer
+; 
+; Exports of file hlink.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY hlink.dll
+EXPORTS
+HlinkCreateFromMoniker
+HlinkCreateFromString
+HlinkCreateFromData
+HlinkCreateBrowseContext
+HlinkClone
+HlinkNavigateToStringReference
+HlinkOnNavigate
+HlinkNavigate
+HlinkUpdateStackItem
+HlinkOnRenameDocument
+DllCanUnloadNow
+HlinkResolveMonikerForData
+HlinkResolveStringForData
+OleSaveToStreamEx
+DllGetClassObject
+HlinkParseDisplayName
+DllRegisterServer
+HlinkQueryCreateFromData
+HlinkSetSpecialReference
+HlinkGetSpecialReference
+HlinkCreateShortcut
+HlinkResolveShortcut
+HlinkIsShortcut
+HlinkResolveShortcutToString
+HlinkCreateShortcutFromString
+HlinkGetValueFromParams
+HlinkCreateShortcutFromMoniker
+HlinkResolveShortcutToMoniker
+HlinkTranslateURL
+HlinkCreateExtensionServices
+HlinkPreprocessMoniker
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/whnetcfg.def b/mingw-w64-crt/lib64/whnetcfg.def
index 6b82407..a7e0ce3 100644
--- a/mingw-w64-crt/lib64/whnetcfg.def
+++ b/mingw-w64-crt/lib64/whnetcfg.def
@@ -1,51 +1,51 @@
-; 
-; Exports of file HNetCfg.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HNetCfg.dll
-EXPORTS
-HNetDeleteRasConnection
-HNetFreeSharingServicesPage
-HNetGetSharingServicesPage
-WinBomConfigureWindowsFirewall
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-HNetFreeFirewallLoggingSettings
-HNetGetFirewallSettingsPage
-HNetGetShareAndBridgeSettings
-HNetSetShareAndBridgeSettings
-HNetSharedAccessSettingsDlg
-HNetSharingAndFirewallSettingsDlg
-IcfChangeNotificationCreate
-IcfChangeNotificationDestroy
-IcfCheckAppAuthorization
-IcfCloseDynamicFwPort
-IcfConnect
-IcfDisconnect
-IcfFreeAdapters
-IcfFreeDynamicFwPorts
-IcfFreeProfile
-IcfFreeString
-IcfFreeTickets
-IcfGetAdapters
-IcfGetCurrentProfileType
-IcfGetDynamicFwPorts
-IcfGetOperationalMode
-IcfGetProfile
-IcfGetTickets
-IcfIsIcmpTypeAllowed
-IcfIsPortAllowed
-IcfOpenDynamicFwPort
-IcfOpenDynamicFwPortWithoutSocket
-IcfOpenFileSharingPorts
-IcfRefreshPolicy
-IcfRemoveDisabledAuthorizedApp
-IcfSetProfile
-IcfSetServicePermission
-IcfSubNetsGetScope
-IcfSubNetsIsStringValid
-IcfSubNetsToString
+; 
+; Exports of file HNetCfg.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HNetCfg.dll
+EXPORTS
+HNetDeleteRasConnection
+HNetFreeSharingServicesPage
+HNetGetSharingServicesPage
+WinBomConfigureWindowsFirewall
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+HNetFreeFirewallLoggingSettings
+HNetGetFirewallSettingsPage
+HNetGetShareAndBridgeSettings
+HNetSetShareAndBridgeSettings
+HNetSharedAccessSettingsDlg
+HNetSharingAndFirewallSettingsDlg
+IcfChangeNotificationCreate
+IcfChangeNotificationDestroy
+IcfCheckAppAuthorization
+IcfCloseDynamicFwPort
+IcfConnect
+IcfDisconnect
+IcfFreeAdapters
+IcfFreeDynamicFwPorts
+IcfFreeProfile
+IcfFreeString
+IcfFreeTickets
+IcfGetAdapters
+IcfGetCurrentProfileType
+IcfGetDynamicFwPorts
+IcfGetOperationalMode
+IcfGetProfile
+IcfGetTickets
+IcfIsIcmpTypeAllowed
+IcfIsPortAllowed
+IcfOpenDynamicFwPort
+IcfOpenDynamicFwPortWithoutSocket
+IcfOpenFileSharingPorts
+IcfRefreshPolicy
+IcfRemoveDisabledAuthorizedApp
+IcfSetProfile
+IcfSetServicePermission
+IcfSubNetsGetScope
+IcfSubNetsIsStringValid
+IcfSubNetsToString
diff --git a/mingw-w64-crt/lib64/whnetmon.def b/mingw-w64-crt/lib64/whnetmon.def
index 321fd76..d40ae71 100644
--- a/mingw-w64-crt/lib64/whnetmon.def
+++ b/mingw-w64-crt/lib64/whnetmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file hnetmon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY hnetmon.dll
-EXPORTS
-InitHelperDll
+; 
+; Exports of file hnetmon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY hnetmon.dll
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/whrtz.def b/mingw-w64-crt/lib64/whrtz.def
index 129afd3..8fca467 100644
--- a/mingw-w64-crt/lib64/whrtz.def
+++ b/mingw-w64-crt/lib64/whrtz.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file Hearts.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Hearts.dll
-EXPORTS
-ZoneClientMain
-ZoneClientExit
-ZoneClientGameAddKibitzer
-ZoneClientGameDelete
-ZoneClientGameNew
-ZoneClientGameProcessMessage
-ZoneClientGameRemoveKibitzer
-ZoneClientInternalName
-ZoneClientMessageHandler
-ZoneClientName
-ZoneClientVersion
-ZoneGameDllDelete
-ZoneGameDllInit
+; 
+; Exports of file Hearts.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Hearts.dll
+EXPORTS
+ZoneClientMain
+ZoneClientExit
+ZoneClientGameAddKibitzer
+ZoneClientGameDelete
+ZoneClientGameNew
+ZoneClientGameProcessMessage
+ZoneClientGameRemoveKibitzer
+ZoneClientInternalName
+ZoneClientMessageHandler
+ZoneClientName
+ZoneClientVersion
+ZoneGameDllDelete
+ZoneGameDllInit
diff --git a/mingw-w64-crt/lib64/whsf_inst.def b/mingw-w64-crt/lib64/whsf_inst.def
index b5192ab..4da096a 100644
--- a/mingw-w64-crt/lib64/whsf_inst.def
+++ b/mingw-w64-crt/lib64/whsf_inst.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file HSF_INST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HSF_INST.dll
-EXPORTS
-HSFCoInstaller
-PDCCoInstaller
+; 
+; Exports of file HSF_INST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HSF_INST.dll
+EXPORTS
+HSFCoInstaller
+PDCCoInstaller
diff --git a/mingw-w64-crt/lib64/whttpapi.def b/mingw-w64-crt/lib64/whttpapi.def
index b6e397c..2187be2 100644
--- a/mingw-w64-crt/lib64/whttpapi.def
+++ b/mingw-w64-crt/lib64/whttpapi.def
@@ -1,53 +1,53 @@
-; 
-; Exports of file HTTPAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTTPAPI.dll
-EXPORTS
-HttpAddFragmentToCache
-HttpAddUrl
-HttpAddUrlToConfigGroup
-HttpCreateAppPool
-HttpCreateConfigGroup
-HttpCreateFilter
-HttpCreateHttpHandle
-HttpDeleteConfigGroup
-HttpDeleteServiceConfiguration
-HttpFilterAccept
-HttpFilterAppRead
-HttpFilterAppWrite
-HttpFilterAppWriteAndRawRead
-HttpFilterClose
-HttpFilterRawRead
-HttpFilterRawWrite
-HttpFilterRawWriteAndAppRead
-HttpFlushResponseCache
-HttpGetCounters
-HttpInitialize
-HttpOpenAppPool
-HttpOpenControlChannel
-HttpOpenFilter
-HttpQueryAppPoolInformation
-HttpQueryConfigGroupInformation
-HttpQueryControlChannelInformation
-HttpQueryServiceConfiguration
-HttpReadFragmentFromCache
-HttpReceiveClientCertificate
-HttpReceiveHttpRequest
-HttpReceiveRequestEntityBody
-HttpRemoveAllUrlsFromConfigGroup
-HttpRemoveUrl
-HttpRemoveUrlFromConfigGroup
-HttpSendHttpResponse
-HttpSendResponseEntityBody
-HttpSetAppPoolInformation
-HttpSetConfigGroupInformation
-HttpSetControlChannelInformation
-HttpSetServiceConfiguration
-HttpShutdownAppPool
-HttpShutdownFilter
-HttpTerminate
-HttpWaitForDemandStart
-HttpWaitForDisconnect
+; 
+; Exports of file HTTPAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTTPAPI.dll
+EXPORTS
+HttpAddFragmentToCache
+HttpAddUrl
+HttpAddUrlToConfigGroup
+HttpCreateAppPool
+HttpCreateConfigGroup
+HttpCreateFilter
+HttpCreateHttpHandle
+HttpDeleteConfigGroup
+HttpDeleteServiceConfiguration
+HttpFilterAccept
+HttpFilterAppRead
+HttpFilterAppWrite
+HttpFilterAppWriteAndRawRead
+HttpFilterClose
+HttpFilterRawRead
+HttpFilterRawWrite
+HttpFilterRawWriteAndAppRead
+HttpFlushResponseCache
+HttpGetCounters
+HttpInitialize
+HttpOpenAppPool
+HttpOpenControlChannel
+HttpOpenFilter
+HttpQueryAppPoolInformation
+HttpQueryConfigGroupInformation
+HttpQueryControlChannelInformation
+HttpQueryServiceConfiguration
+HttpReadFragmentFromCache
+HttpReceiveClientCertificate
+HttpReceiveHttpRequest
+HttpReceiveRequestEntityBody
+HttpRemoveAllUrlsFromConfigGroup
+HttpRemoveUrl
+HttpRemoveUrlFromConfigGroup
+HttpSendHttpResponse
+HttpSendResponseEntityBody
+HttpSetAppPoolInformation
+HttpSetConfigGroupInformation
+HttpSetControlChannelInformation
+HttpSetServiceConfiguration
+HttpShutdownAppPool
+HttpShutdownFilter
+HttpTerminate
+HttpWaitForDemandStart
+HttpWaitForDisconnect
diff --git a/mingw-w64-crt/lib64/whttpext.def b/mingw-w64-crt/lib64/whttpext.def
index 7cf2d96..63d38df 100644
--- a/mingw-w64-crt/lib64/whttpext.def
+++ b/mingw-w64-crt/lib64/whttpext.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file HTTPEXT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTTPEXT.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file HTTPEXT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTTPEXT.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/whttpmib.def b/mingw-w64-crt/lib64/whttpmib.def
index 08c0873..1729b48 100644
--- a/mingw-w64-crt/lib64/whttpmib.def
+++ b/mingw-w64-crt/lib64/whttpmib.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file HTTPMIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTTPMIB.dll
-EXPORTS
-DllLibMain
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file HTTPMIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTTPMIB.dll
+EXPORTS
+DllLibMain
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/whttpodbc.def b/mingw-w64-crt/lib64/whttpodbc.def
index 018d6f1..496a14b 100644
--- a/mingw-w64-crt/lib64/whttpodbc.def
+++ b/mingw-w64-crt/lib64/whttpodbc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file HTTPODBC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY HTTPODBC.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file HTTPODBC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY HTTPODBC.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/whtui.def b/mingw-w64-crt/lib64/whtui.def
index d0527e9..a778a27 100644
--- a/mingw-w64-crt/lib64/whtui.def
+++ b/mingw-w64-crt/lib64/whtui.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file htUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY htUI.dll
-EXPORTS
-DllMain
-HTUI_ColorAdjustment
-HTUI_ColorAdjustmentA
-HTUI_ColorAdjustmentW
-HTUI_DeviceColorAdjustment
-HTUI_DeviceColorAdjustmentA
-HTUI_DeviceColorAdjustmentW
+; 
+; Exports of file htUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY htUI.dll
+EXPORTS
+DllMain
+HTUI_ColorAdjustment
+HTUI_ColorAdjustmentA
+HTUI_ColorAdjustmentW
+HTUI_DeviceColorAdjustment
+HTUI_DeviceColorAdjustmentA
+HTUI_DeviceColorAdjustmentW
diff --git a/mingw-w64-crt/lib64/wiadefui.def b/mingw-w64-crt/lib64/wiadefui.def
index 0867b15..129192b 100644
--- a/mingw-w64-crt/lib64/wiadefui.def
+++ b/mingw-w64-crt/lib64/wiadefui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wiadefui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wiadefui.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wiadefui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wiadefui.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiadss.def b/mingw-w64-crt/lib64/wiadss.def
index 4b9af13..628b192 100644
--- a/mingw-w64-crt/lib64/wiadss.def
+++ b/mingw-w64-crt/lib64/wiadss.def
@@ -1,39 +1,39 @@
-; 
-; Exports of file WIADSS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WIADSS.DLL
-EXPORTS
-FindFirstImportDS
-FindNextImportDS
-CloseFindContext
-LoadImportDS
-UnloadImportDS
-GetLoaderStatus
-FindImportDSByDeviceName
-; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
-??0BUFFER@@QEAA@I@Z
-; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
-??0BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
-??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
-; public: __cdecl BUFFER::~BUFFER(void) __ptr64
-??1BUFFER@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
-??1BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
-??1BUFFER_CHAIN_ITEM@@QEAA@XZ
-; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
-??_FBUFFER@@QEAAXXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
-??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
-; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
-?QueryPtr@BUFFER@@QEBAPEAXXZ
-; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
-?QuerySize@BUFFER@@QEBAIXZ
-; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
-?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
-?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
+; 
+; Exports of file WIADSS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WIADSS.DLL
+EXPORTS
+FindFirstImportDS
+FindNextImportDS
+CloseFindContext
+LoadImportDS
+UnloadImportDS
+GetLoaderStatus
+FindImportDSByDeviceName
+; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
+??0BUFFER@@QEAA@I@Z
+; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
+??0BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
+??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
+; public: __cdecl BUFFER::~BUFFER(void) __ptr64
+??1BUFFER@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
+??1BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
+??1BUFFER_CHAIN_ITEM@@QEAA@XZ
+; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
+??_FBUFFER@@QEAAXXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
+??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
+; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
+?QueryPtr@BUFFER@@QEBAPEAXXZ
+; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
+?QuerySize@BUFFER@@QEBAIXZ
+; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
+?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
+?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
diff --git a/mingw-w64-crt/lib64/wiarpc.def b/mingw-w64-crt/lib64/wiarpc.def
index 323fb28..8a3ce7f 100644
--- a/mingw-w64-crt/lib64/wiarpc.def
+++ b/mingw-w64-crt/lib64/wiarpc.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file wiarpc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wiarpc.dll
-EXPORTS
-; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
-??0BUFFER@@QEAA@I@Z
-; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
-??0BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
-??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
-; public: __cdecl BUFFER::~BUFFER(void) __ptr64
-??1BUFFER@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
-??1BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
-??1BUFFER_CHAIN_ITEM@@QEAA@XZ
-; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
-??_FBUFFER@@QEAAXXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
-??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
-; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
-?QueryPtr@BUFFER@@QEBAPEAXXZ
-; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
-?QuerySize@BUFFER@@QEBAIXZ
-; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
-?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
-?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
-WiaEventsInitialize
-WiaEventsTerminate
+; 
+; Exports of file wiarpc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wiarpc.dll
+EXPORTS
+; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
+??0BUFFER@@QEAA@I@Z
+; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
+??0BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
+??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
+; public: __cdecl BUFFER::~BUFFER(void) __ptr64
+??1BUFFER@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
+??1BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
+??1BUFFER_CHAIN_ITEM@@QEAA@XZ
+; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
+??_FBUFFER@@QEAAXXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
+??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
+; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
+?QueryPtr@BUFFER@@QEBAPEAXXZ
+; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
+?QuerySize@BUFFER@@QEBAIXZ
+; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
+?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
+?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
+WiaEventsInitialize
+WiaEventsTerminate
diff --git a/mingw-w64-crt/lib64/wiasacct.def b/mingw-w64-crt/lib64/wiasacct.def
index 8dde722..a09f1c3 100644
--- a/mingw-w64-crt/lib64/wiasacct.def
+++ b/mingw-w64-crt/lib64/wiasacct.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iasacct.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iasacct.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iasacct.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iasacct.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiasads.def b/mingw-w64-crt/lib64/wiasads.def
index 0149d15..11acdc9 100644
--- a/mingw-w64-crt/lib64/wiasads.def
+++ b/mingw-w64-crt/lib64/wiasads.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iasads.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iasads.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iasads.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iasads.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiascr.def b/mingw-w64-crt/lib64/wiascr.def
index 065ed6a..9d4af5e 100644
--- a/mingw-w64-crt/lib64/wiascr.def
+++ b/mingw-w64-crt/lib64/wiascr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wiascr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wiascr.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wiascr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wiascr.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiaservc.def b/mingw-w64-crt/lib64/wiaservc.def
index e43417f..af75608 100644
--- a/mingw-w64-crt/lib64/wiaservc.def
+++ b/mingw-w64-crt/lib64/wiaservc.def
@@ -1,90 +1,90 @@
-; 
-; Exports of file wiaservc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wiaservc.dll
-EXPORTS
-; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
-??0BUFFER@@QEAA@I@Z
-; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
-??0BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
-??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
-; public: __cdecl BUFFER::~BUFFER(void) __ptr64
-??1BUFFER@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
-??1BUFFER_CHAIN@@QEAA@XZ
-; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
-??1BUFFER_CHAIN_ITEM@@QEAA@XZ
-; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
-??_FBUFFER@@QEAAXXZ
-; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
-??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
-; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
-?QueryPtr@BUFFER@@QEBAPEAXXZ
-; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
-?QuerySize@BUFFER@@QEBAIXZ
-; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
-?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
-ServiceMain
-; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
-?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
-SvchostPushServiceGlobals
-DllEntryPoint
-DllRegisterServer
-DllUnregisterServer
-wiasCreateChildAppItem
-wiasCreateDrvItem
-wiasCreateLogInstance
-wiasCreatePropContext
-wiasDebugError
-wiasDebugTrace
-wiasDownSampleBuffer
-wiasFormatArgs
-wiasFreePropContext
-wiasGetChangedValueFloat
-wiasGetChangedValueGuid
-wiasGetChangedValueLong
-wiasGetChangedValueStr
-wiasGetChildrenContexts
-wiasGetContextFromName
-wiasGetDrvItem
-wiasGetImageInformation
-wiasGetItemType
-wiasGetPropertyAttributes
-wiasGetRootItem
-wiasIsPropChanged
-wiasParseEndorserString
-wiasPrintDebugHResult
-wiasQueueEvent
-wiasReadMultiple
-wiasReadPropBin
-wiasReadPropFloat
-wiasReadPropGuid
-wiasReadPropLong
-wiasReadPropStr
-wiasSendEndOfPage
-wiasSetItemPropAttribs
-wiasSetItemPropNames
-wiasSetPropChanged
-wiasSetPropertyAttributes
-wiasSetValidFlag
-wiasSetValidListFloat
-wiasSetValidListGuid
-wiasSetValidListLong
-wiasSetValidListStr
-wiasSetValidRangeFloat
-wiasSetValidRangeLong
-wiasUpdateScanRect
-wiasUpdateValidFormat
-wiasValidateItemProperties
-wiasWriteBufToFile
-wiasWriteMultiple
-wiasWritePageBufToFile
-wiasWritePropBin
-wiasWritePropFloat
-wiasWritePropGuid
-wiasWritePropLong
-wiasWritePropStr
+; 
+; Exports of file wiaservc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wiaservc.dll
+EXPORTS
+; public: __cdecl BUFFER::BUFFER(unsigned int) __ptr64
+??0BUFFER@@QEAA@I@Z
+; public: __cdecl BUFFER_CHAIN::BUFFER_CHAIN(void) __ptr64
+??0BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int) __ptr64
+??0BUFFER_CHAIN_ITEM@@QEAA@I@Z
+; public: __cdecl BUFFER::~BUFFER(void) __ptr64
+??1BUFFER@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN::~BUFFER_CHAIN(void) __ptr64
+??1BUFFER_CHAIN@@QEAA@XZ
+; public: __cdecl BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void) __ptr64
+??1BUFFER_CHAIN_ITEM@@QEAA@XZ
+; public: void __cdecl BUFFER::`default constructor closure'(void) __ptr64
+??_FBUFFER@@QEAAXXZ
+; public: void __cdecl BUFFER_CHAIN_ITEM::`default constructor closure'(void) __ptr64
+??_FBUFFER_CHAIN_ITEM@@QEAAXXZ
+; public: void * __ptr64 __cdecl BUFFER::QueryPtr(void)const  __ptr64
+?QueryPtr@BUFFER@@QEBAPEAXXZ
+; public: unsigned int __cdecl BUFFER::QuerySize(void)const  __ptr64
+?QuerySize@BUFFER@@QEBAIXZ
+; public: unsigned long __cdecl BUFFER_CHAIN_ITEM::QueryUsed(void)const  __ptr64
+?QueryUsed@BUFFER_CHAIN_ITEM@@QEBAKXZ
+ServiceMain
+; public: void __cdecl BUFFER_CHAIN_ITEM::SetUsed(unsigned long) __ptr64
+?SetUsed@BUFFER_CHAIN_ITEM@@QEAAXK@Z
+SvchostPushServiceGlobals
+DllEntryPoint
+DllRegisterServer
+DllUnregisterServer
+wiasCreateChildAppItem
+wiasCreateDrvItem
+wiasCreateLogInstance
+wiasCreatePropContext
+wiasDebugError
+wiasDebugTrace
+wiasDownSampleBuffer
+wiasFormatArgs
+wiasFreePropContext
+wiasGetChangedValueFloat
+wiasGetChangedValueGuid
+wiasGetChangedValueLong
+wiasGetChangedValueStr
+wiasGetChildrenContexts
+wiasGetContextFromName
+wiasGetDrvItem
+wiasGetImageInformation
+wiasGetItemType
+wiasGetPropertyAttributes
+wiasGetRootItem
+wiasIsPropChanged
+wiasParseEndorserString
+wiasPrintDebugHResult
+wiasQueueEvent
+wiasReadMultiple
+wiasReadPropBin
+wiasReadPropFloat
+wiasReadPropGuid
+wiasReadPropLong
+wiasReadPropStr
+wiasSendEndOfPage
+wiasSetItemPropAttribs
+wiasSetItemPropNames
+wiasSetPropChanged
+wiasSetPropertyAttributes
+wiasSetValidFlag
+wiasSetValidListFloat
+wiasSetValidListGuid
+wiasSetValidListLong
+wiasSetValidListStr
+wiasSetValidRangeFloat
+wiasSetValidRangeLong
+wiasUpdateScanRect
+wiasUpdateValidFormat
+wiasValidateItemProperties
+wiasWriteBufToFile
+wiasWriteMultiple
+wiasWritePageBufToFile
+wiasWritePropBin
+wiasWritePropFloat
+wiasWritePropGuid
+wiasWritePropLong
+wiasWritePropStr
diff --git a/mingw-w64-crt/lib64/wiashext.def b/mingw-w64-crt/lib64/wiashext.def
index 60f6fd6..5312561 100644
--- a/mingw-w64-crt/lib64/wiashext.def
+++ b/mingw-w64-crt/lib64/wiashext.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file wiashext.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wiashext.dll
-EXPORTS
-AddDeviceWasChosen
-AddDeviceWasChosenA
-AddDeviceWasChosenW
-MakeFullPidlForDevice
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-DoDeleteAllItems
+; 
+; Exports of file wiashext.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wiashext.dll
+EXPORTS
+AddDeviceWasChosen
+AddDeviceWasChosenA
+AddDeviceWasChosenW
+MakeFullPidlForDevice
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+DoDeleteAllItems
diff --git a/mingw-w64-crt/lib64/wiashlpr.def b/mingw-w64-crt/lib64/wiashlpr.def
index 82f6e02..5d29de7 100644
--- a/mingw-w64-crt/lib64/wiashlpr.def
+++ b/mingw-w64-crt/lib64/wiashlpr.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file iashlpr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iashlpr.dll
-EXPORTS
-AllocateAttributes
-ConfigureIas
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-DoRequest
-FreeAttributes
-InitializeIas
-MemAllocIas
-MemFreeIas
-MemReallocIas
-ShutdownIas
+; 
+; Exports of file iashlpr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iashlpr.dll
+EXPORTS
+AllocateAttributes
+ConfigureIas
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+DoRequest
+FreeAttributes
+InitializeIas
+MemAllocIas
+MemFreeIas
+MemReallocIas
+ShutdownIas
diff --git a/mingw-w64-crt/lib64/wiasnap.def b/mingw-w64-crt/lib64/wiasnap.def
index 711489b..207062a 100644
--- a/mingw-w64-crt/lib64/wiasnap.def
+++ b/mingw-w64-crt/lib64/wiasnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iasnap.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iasnap.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iasnap.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iasnap.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiaspolcy.def b/mingw-w64-crt/lib64/wiaspolcy.def
index 6ec9bf4..657db6c 100644
--- a/mingw-w64-crt/lib64/wiaspolcy.def
+++ b/mingw-w64-crt/lib64/wiaspolcy.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file iaspolcy.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iaspolcy.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IASAttributeAddRef
-IASAttributeAlloc
-IASAttributeAnsiAlloc
-IASAttributeRelease
-IASAttributeUnicodeAlloc
+; 
+; Exports of file iaspolcy.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iaspolcy.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IASAttributeAddRef
+IASAttributeAlloc
+IASAttributeAnsiAlloc
+IASAttributeRelease
+IASAttributeUnicodeAlloc
diff --git a/mingw-w64-crt/lib64/wiasrad.def b/mingw-w64-crt/lib64/wiasrad.def
index 6fda014..6b158f5 100644
--- a/mingw-w64-crt/lib64/wiasrad.def
+++ b/mingw-w64-crt/lib64/wiasrad.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file iasrad.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iasrad.dll
-EXPORTS
-; public: long __thiscall VSAFilter::initialize(void)
-?initialize@VSAFilter@@QAEJXZ
-; public: long __thiscall VSAFilter::radiusFromIAS(struct IAttributesRaw *)const 
-?radiusFromIAS@VSAFilter@@QBEJPAUIAttributesRaw@@@Z
-; public: long __thiscall VSAFilter::radiusToIAS(unsigned char *,unsigned long,class IASTL::IASAttributeVector &)const 
-?radiusToIAS@VSAFilter@@QBEJPAEKAAVIASAttributeVector@IASTL@@@Z
-; public: long __thiscall VSAFilter::radiusToIAS(struct IAttributesRaw *)const 
-?radiusToIAS@VSAFilter@@QBEJPAUIAttributesRaw@@@Z
-; public: long __thiscall VSAFilter::shutdown(void)
-?shutdown@VSAFilter@@QAEJXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iasrad.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iasrad.dll
+EXPORTS
+; public: long __thiscall VSAFilter::initialize(void)
+?initialize@VSAFilter@@QAEJXZ
+; public: long __thiscall VSAFilter::radiusFromIAS(struct IAttributesRaw *)const 
+?radiusFromIAS@VSAFilter@@QBEJPAUIAttributesRaw@@@Z
+; public: long __thiscall VSAFilter::radiusToIAS(unsigned char *,unsigned long,class IASTL::IASAttributeVector &)const 
+?radiusToIAS@VSAFilter@@QBEJPAEKAAVIASAttributeVector@IASTL@@@Z
+; public: long __thiscall VSAFilter::radiusToIAS(struct IAttributesRaw *)const 
+?radiusToIAS@VSAFilter@@QBEJPAUIAttributesRaw@@@Z
+; public: long __thiscall VSAFilter::shutdown(void)
+?shutdown@VSAFilter@@QAEJXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiasrecst.def b/mingw-w64-crt/lib64/wiasrecst.def
index ce47225..a033cb9 100644
--- a/mingw-w64-crt/lib64/wiasrecst.def
+++ b/mingw-w64-crt/lib64/wiasrecst.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file iasrecst.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iasrecst.dll
-EXPORTS
-ServiceMain
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iasrecst.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iasrecst.dll
+EXPORTS
+ServiceMain
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiassam.def b/mingw-w64-crt/lib64/wiassam.def
index 53f14d3..373a51d 100644
--- a/mingw-w64-crt/lib64/wiassam.def
+++ b/mingw-w64-crt/lib64/wiassam.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file iassam.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iassam.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IASParmsFreeUserParms
-IASParmsQueryRasUser0
-IASParmsQueryUserProperty
-IASParmsSetRasUser0
-IASParmsSetUserProperty
+; 
+; Exports of file iassam.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iassam.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IASParmsFreeUserParms
+IASParmsQueryRasUser0
+IASParmsQueryUserProperty
+IASParmsSetRasUser0
+IASParmsSetUserProperty
diff --git a/mingw-w64-crt/lib64/wiassdo.def b/mingw-w64-crt/lib64/wiassdo.def
index 9bf7082..62dca31 100644
--- a/mingw-w64-crt/lib64/wiassdo.def
+++ b/mingw-w64-crt/lib64/wiassdo.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iassdo.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iassdo.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iassdo.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iassdo.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiassvcs.def b/mingw-w64-crt/lib64/wiassvcs.def
index 50606f0..bda331c 100644
--- a/mingw-w64-crt/lib64/wiassvcs.def
+++ b/mingw-w64-crt/lib64/wiassvcs.def
@@ -1,30 +1,30 @@
-; 
-; Exports of file iassvcs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iassvcs.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IASAdler32
-IASAllocateUniqueID
-IASGetDictionary
-IASGetHostByName
-IASGetLocalDictionary
-IASGetProductLimits
-IASGlobalLock
-IASGlobalUnlock
-IASInitialize
-IASRadiusCrypt
-IASRegisterComponent
-IASReportEvent
-IASReportLicenseViolation
-IASRequestThread
-IASSetMaxNumberOfThreads
-IASSetMaxThreadIdle
-IASUninitialize
-IASVariantChangeType
+; 
+; Exports of file iassvcs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iassvcs.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IASAdler32
+IASAllocateUniqueID
+IASGetDictionary
+IASGetHostByName
+IASGetLocalDictionary
+IASGetProductLimits
+IASGlobalLock
+IASGlobalUnlock
+IASInitialize
+IASRadiusCrypt
+IASRegisterComponent
+IASReportEvent
+IASReportLicenseViolation
+IASRequestThread
+IASSetMaxNumberOfThreads
+IASSetMaxThreadIdle
+IASUninitialize
+IASVariantChangeType
diff --git a/mingw-w64-crt/lib64/wiavideo.def b/mingw-w64-crt/lib64/wiavideo.def
index 445239b..019222c 100644
--- a/mingw-w64-crt/lib64/wiavideo.def
+++ b/mingw-w64-crt/lib64/wiavideo.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WiaVideo.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WiaVideo.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WiaVideo.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WiaVideo.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiavusd.def b/mingw-w64-crt/lib64/wiavusd.def
index 86c6eba..d90d9f4 100644
--- a/mingw-w64-crt/lib64/wiavusd.def
+++ b/mingw-w64-crt/lib64/wiavusd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wiavusd.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wiavusd.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wiavusd.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wiavusd.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wicfgnt5.def b/mingw-w64-crt/lib64/wicfgnt5.def
index 5eb9dbf..59db645 100644
--- a/mingw-w64-crt/lib64/wicfgnt5.def
+++ b/mingw-w64-crt/lib64/wicfgnt5.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file ICFGNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICFGNT.dll
-EXPORTS
-IcfgInstallModem
-IcfgNeedModem
-IcfgSetInstallSourcePath
-InetSetAutodial
-InetSetAutodialAddress
-IcfgGetLastInstallErrorText
-IcfgInstallInetComponents
-IcfgIsFileSharingTurnedOn
-IcfgIsGlobalDNS
-IcfgNeedInetComponents
-IcfgRemoveGlobalDNS
-IcfgStartServices
-IcfgTurnOffFileSharing
-InetGetAutodial
-InetGetSupportedPlatform
+; 
+; Exports of file ICFGNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICFGNT.dll
+EXPORTS
+IcfgInstallModem
+IcfgNeedModem
+IcfgSetInstallSourcePath
+InetSetAutodial
+InetSetAutodialAddress
+IcfgGetLastInstallErrorText
+IcfgInstallInetComponents
+IcfgIsFileSharingTurnedOn
+IcfgIsGlobalDNS
+IcfgNeedInetComponents
+IcfgRemoveGlobalDNS
+IcfgStartServices
+IcfgTurnOffFileSharing
+InetGetAutodial
+InetGetSupportedPlatform
diff --git a/mingw-w64-crt/lib64/wicm32.def b/mingw-w64-crt/lib64/wicm32.def
index 69dab06..1b2873a 100644
--- a/mingw-w64-crt/lib64/wicm32.def
+++ b/mingw-w64-crt/lib64/wicm32.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file ICM32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICM32.dll
-EXPORTS
-CMCheckColors
-CMCheckColorsInGamut
-CMCheckRGBs
-CMCreateDeviceLinkProfile
-CMCreateMultiProfileTransform
-CMCreateProfile
-CMCreateProfileW
-CMCreateTransform
-CMCreateTransformExt
-CMCreateTransformExtW
-CMCreateTransformW
-CMDeleteTransform
-CMGetInfo
-CMIsProfileValid
-CMTranslateColors
-CMTranslateRGB
-CMTranslateRGBs
-CMTranslateRGBsExt
-CMConvertColorNameToIndex
-CMConvertIndexToColorName
-CMGetNamedProfileInfo
+; 
+; Exports of file ICM32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICM32.dll
+EXPORTS
+CMCheckColors
+CMCheckColorsInGamut
+CMCheckRGBs
+CMCreateDeviceLinkProfile
+CMCreateMultiProfileTransform
+CMCreateProfile
+CMCreateProfileW
+CMCreateTransform
+CMCreateTransformExt
+CMCreateTransformExtW
+CMCreateTransformW
+CMDeleteTransform
+CMGetInfo
+CMIsProfileValid
+CMTranslateColors
+CMTranslateRGB
+CMTranslateRGBs
+CMTranslateRGBsExt
+CMConvertColorNameToIndex
+CMConvertIndexToColorName
+CMGetNamedProfileInfo
diff --git a/mingw-w64-crt/lib64/wicmp.def b/mingw-w64-crt/lib64/wicmp.def
index 2f40760..3958015 100644
--- a/mingw-w64-crt/lib64/wicmp.def
+++ b/mingw-w64-crt/lib64/wicmp.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file icmp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY icmp.dll
-EXPORTS
-IcmpCloseHandle
-IcmpCreateFile
-IcmpParseReplies
-IcmpSendEcho2
-IcmpSendEcho
-do_echo_rep
-do_echo_req
-register_icmp
+; 
+; Exports of file icmp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY icmp.dll
+EXPORTS
+IcmpCloseHandle
+IcmpCreateFile
+IcmpParseReplies
+IcmpSendEcho2
+IcmpSendEcho
+do_echo_rep
+do_echo_req
+register_icmp
diff --git a/mingw-w64-crt/lib64/wicmui.def b/mingw-w64-crt/lib64/wicmui.def
index 1c3eabb..6c1bc82 100644
--- a/mingw-w64-crt/lib64/wicmui.def
+++ b/mingw-w64-crt/lib64/wicmui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ICMUI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICMUI.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-SetupColorMatchingA
-SetupColorMatchingW
+; 
+; Exports of file ICMUI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICMUI.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+SetupColorMatchingA
+SetupColorMatchingW
diff --git a/mingw-w64-crt/lib64/wiconf32.def b/mingw-w64-crt/lib64/wiconf32.def
index 026f892..fdb38c9 100644
--- a/mingw-w64-crt/lib64/wiconf32.def
+++ b/mingw-w64-crt/lib64/wiconf32.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file iConf32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iConf32.dll
-EXPORTS
-CoDeviceInstall
-DecRefCount
-IConfDlgDoModal
-IConfDlgEnd
-IConfDlgInit
-IConfDlgWriteRegistryData
-IncRefCount
-SpidCfgFunc
-WANMiniportCoDeviceInstall
-iConfNTAdapterPropPageProvider
+; 
+; Exports of file iConf32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iConf32.dll
+EXPORTS
+CoDeviceInstall
+DecRefCount
+IConfDlgDoModal
+IConfDlgEnd
+IConfDlgInit
+IConfDlgWriteRegistryData
+IncRefCount
+SpidCfgFunc
+WANMiniportCoDeviceInstall
+iConfNTAdapterPropPageProvider
diff --git a/mingw-w64-crt/lib64/wicwconn.def b/mingw-w64-crt/lib64/wicwconn.def
index ca1eb6c..cd9121e 100644
--- a/mingw-w64-crt/lib64/wicwconn.def
+++ b/mingw-w64-crt/lib64/wicwconn.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ICWCONN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICWCONN.dll
-EXPORTS
-GetICWCONNVersion
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ICWCONN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICWCONN.dll
+EXPORTS
+GetICWCONNVersion
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wicwdial.def b/mingw-w64-crt/lib64/wicwdial.def
index 9bd8850..cce3920 100644
--- a/mingw-w64-crt/lib64/wicwdial.def
+++ b/mingw-w64-crt/lib64/wicwdial.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file AUTODIAL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY AUTODIAL.dll
-EXPORTS
-AutoDialHandler
-AutoDialInit
-RasSetEntryPropertiesScriptPatch
-DialingDownloadDialog
-DialingErrorDialog
-ICWGetRasEntry
+; 
+; Exports of file AUTODIAL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY AUTODIAL.dll
+EXPORTS
+AutoDialHandler
+AutoDialInit
+RasSetEntryPropertiesScriptPatch
+DialingDownloadDialog
+DialingErrorDialog
+ICWGetRasEntry
diff --git a/mingw-w64-crt/lib64/wicwdl.def b/mingw-w64-crt/lib64/wicwdl.def
index 9874cc6..7070b51 100644
--- a/mingw-w64-crt/lib64/wicwdl.def
+++ b/mingw-w64-crt/lib64/wicwdl.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file icwdl.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY icwdl.dll
-EXPORTS
-DownLoadCancel
-DownLoadClose
-DownLoadExecute
-DownLoadInit
-DownLoadProcess
-DownLoadSetStatusCallback
+; 
+; Exports of file icwdl.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY icwdl.dll
+EXPORTS
+DownLoadCancel
+DownLoadClose
+DownLoadExecute
+DownLoadInit
+DownLoadProcess
+DownLoadSetStatusCallback
diff --git a/mingw-w64-crt/lib64/wicwhelp.def b/mingw-w64-crt/lib64/wicwhelp.def
index 289dec3..e9e693f 100644
--- a/mingw-w64-crt/lib64/wicwhelp.def
+++ b/mingw-w64-crt/lib64/wicwhelp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file icwhelp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY icwhelp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file icwhelp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY icwhelp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wicwphbk.def b/mingw-w64-crt/lib64/wicwphbk.def
index 72abff2..e158cba 100644
--- a/mingw-w64-crt/lib64/wicwphbk.def
+++ b/mingw-w64-crt/lib64/wicwphbk.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file icwphbk.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY icwphbk.dll
-EXPORTS
-GetSupportNumbers
-_PhbkGenericDlgProc@16
-PhoneBookDisplaySignUpNumbers
-PhoneBookGetCanonical
-PhoneBookLoad
-PhoneBookMergeChanges
-PhoneBookSuggestNumbers
-PhoneBookUnload
+; 
+; Exports of file icwphbk.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY icwphbk.dll
+EXPORTS
+GetSupportNumbers
+_PhbkGenericDlgProc@16
+PhoneBookDisplaySignUpNumbers
+PhoneBookGetCanonical
+PhoneBookLoad
+PhoneBookMergeChanges
+PhoneBookSuggestNumbers
+PhoneBookUnload
diff --git a/mingw-w64-crt/lib64/wicwutil.def b/mingw-w64-crt/lib64/wicwutil.def
index 60c3c0c..81be97c 100644
--- a/mingw-w64-crt/lib64/wicwutil.def
+++ b/mingw-w64-crt/lib64/wicwutil.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file ICWUTIL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ICWUTIL.dll
-EXPORTS
-RegisterServer
-URLAppendQueryPair
-URLEncode
-UnregisterServer
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ICWUTIL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ICWUTIL.dll
+EXPORTS
+RegisterServer
+URLAppendQueryPair
+URLEncode
+UnregisterServer
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/widq.def b/mingw-w64-crt/lib64/widq.def
index 90e7daa..fc7135c 100644
--- a/mingw-w64-crt/lib64/widq.def
+++ b/mingw-w64-crt/lib64/widq.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file IDQ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IDQ.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file IDQ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IDQ.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/wieakeng.def b/mingw-w64-crt/lib64/wieakeng.def
index 6b1f695..6c43d09 100644
--- a/mingw-w64-crt/lib64/wieakeng.def
+++ b/mingw-w64-crt/lib64/wieakeng.def
@@ -1,152 +1,152 @@
-; 
-; Exports of file IEAKENG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IEAKENG.dll
-EXPORTS
-AddADMItemA
-AddADMItemW
-BToolbar_Edit
-BToolbar_InitA
-BToolbar_InitW
-BToolbar_Remove
-BToolbar_SaveA
-BToolbar_SaveW
-BrowseForFileA
-BrowseForFileW
-BrowseForFolderA
-BrowseForFolderW
-BuildPalette
-CanDeleteADM
-CheckField
-CheckForDupKeys
-CheckVerA
-CheckVerW
-CopyAnimBmpA
-CopyAnimBmpW
-CopyHttFileA
-CopyHttFileW
-CopyLogoBmpA
-CopyLogoBmpW
-CopyWallPaperA
-CopyWallPaperW
-CreateADMWindow
-DeleteADMItemA
-DeleteADMItemW
-DeleteADMItemsA
-DeleteADMItemsW
-DeleteFavoriteA
-DeleteFavoriteW
-DestroyADMWindow
-DisplayADMItem
-DoReboot
-EncodeSignatureA
-EncodeSignatureW
-ErrorMessageBox
-ExportFavoritesA
-ExportFavoritesW
-ExportQuickLinksA
-ExportQuickLinksW
-ExportRegKey2InfA
-ExportRegKey2InfW
-ExportRegTree2InfA
-ExportRegTree2InfW
-ExportRegValue2InfA
-ExportRegValue2InfW
-GenerateNewVersionStrA
-GenerateNewVersionStrW
-GetAdmFileListA
-GetAdmFileListW
-GetAdmWindowHandle
-GetBaseFileNameA
-GetBaseFileNameW
-GetFavoriteUrlA
-GetFavoriteUrlW
-GetFavoritesInfoTipA
-GetFavoritesInfoTipW
-GetFavoritesMaxNumber
-GetFavoritesNumber
-GetProxyDlgA
-GetProxyDlgW
-ImportADMFileA
-ImportADMFileW
-ImportADTInfoA
-ImportADTInfoW
-ImportAuthCodeA
-ImportAuthCodeW
-ImportConnectSetA
-ImportConnectSetW
-ImportFavoritesA
-ImportFavoritesCmdA
-ImportFavoritesCmdW
-ImportFavoritesW
-ImportLDAPBitmapA
-ImportLDAPBitmapW
-ImportOEInfoA
-ImportOEInfoW
-ImportProgramsA
-ImportProgramsW
-ImportQuickLinksA
-ImportQuickLinksW
-ImportRatingsA
-ImportRatingsW
-ImportSiteCertA
-ImportSiteCertW
-ImportToolbarInfoA
-ImportToolbarInfoW
-ImportZonesA
-ImportZonesW
-InitializeStartSearchA
-InitializeStartSearchW
-IsADMFileVisibleA
-IsADMFileVisibleW
-IsAnimBitmapFileValidA
-IsAnimBitmapFileValidW
-IsBitmapFileValidA
-IsBitmapFileValidW
-IsFavoriteItem
-LoadADMFilesA
-LoadADMFilesW
-MigrateFavoritesA
-MigrateFavoritesW
-MigrateToOldFavoritesA
-MigrateToOldFavoritesW
-ModifyAuthCode
-ModifyFavoriteA
-ModifyFavoriteW
-ModifyRatings
-ModifySiteCert
-ModifyZones
-MoveADMWindow
-MoveDownFavorite
-MoveUpFavorite
-NewFolder
-NewUrlA
-NewUrlW
-ProcessFavSelChange
-ResetAdmFilesA
-ResetAdmFilesW
-SaveADMItem
-SaveAdmFilesA
-SaveAdmFilesW
-SaveStartSearchA
-SaveStartSearchW
-SelectADMItem
-SetADMWindowTextA
-SetADMWindowTextW
-SetLBWidth
-SetOrClearVersionInfoA
-SetOrClearVersionInfoW
-SetProxyDlgA
-SetProxyDlgW
-ShowADMWindow
-ShowBitmapA
-ShowBitmapW
-ShowDeskCpl
-ShowInetcpl
-SignFileA
-SignFileW
-TestURLA
-TestURLW
+; 
+; Exports of file IEAKENG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IEAKENG.dll
+EXPORTS
+AddADMItemA
+AddADMItemW
+BToolbar_Edit
+BToolbar_InitA
+BToolbar_InitW
+BToolbar_Remove
+BToolbar_SaveA
+BToolbar_SaveW
+BrowseForFileA
+BrowseForFileW
+BrowseForFolderA
+BrowseForFolderW
+BuildPalette
+CanDeleteADM
+CheckField
+CheckForDupKeys
+CheckVerA
+CheckVerW
+CopyAnimBmpA
+CopyAnimBmpW
+CopyHttFileA
+CopyHttFileW
+CopyLogoBmpA
+CopyLogoBmpW
+CopyWallPaperA
+CopyWallPaperW
+CreateADMWindow
+DeleteADMItemA
+DeleteADMItemW
+DeleteADMItemsA
+DeleteADMItemsW
+DeleteFavoriteA
+DeleteFavoriteW
+DestroyADMWindow
+DisplayADMItem
+DoReboot
+EncodeSignatureA
+EncodeSignatureW
+ErrorMessageBox
+ExportFavoritesA
+ExportFavoritesW
+ExportQuickLinksA
+ExportQuickLinksW
+ExportRegKey2InfA
+ExportRegKey2InfW
+ExportRegTree2InfA
+ExportRegTree2InfW
+ExportRegValue2InfA
+ExportRegValue2InfW
+GenerateNewVersionStrA
+GenerateNewVersionStrW
+GetAdmFileListA
+GetAdmFileListW
+GetAdmWindowHandle
+GetBaseFileNameA
+GetBaseFileNameW
+GetFavoriteUrlA
+GetFavoriteUrlW
+GetFavoritesInfoTipA
+GetFavoritesInfoTipW
+GetFavoritesMaxNumber
+GetFavoritesNumber
+GetProxyDlgA
+GetProxyDlgW
+ImportADMFileA
+ImportADMFileW
+ImportADTInfoA
+ImportADTInfoW
+ImportAuthCodeA
+ImportAuthCodeW
+ImportConnectSetA
+ImportConnectSetW
+ImportFavoritesA
+ImportFavoritesCmdA
+ImportFavoritesCmdW
+ImportFavoritesW
+ImportLDAPBitmapA
+ImportLDAPBitmapW
+ImportOEInfoA
+ImportOEInfoW
+ImportProgramsA
+ImportProgramsW
+ImportQuickLinksA
+ImportQuickLinksW
+ImportRatingsA
+ImportRatingsW
+ImportSiteCertA
+ImportSiteCertW
+ImportToolbarInfoA
+ImportToolbarInfoW
+ImportZonesA
+ImportZonesW
+InitializeStartSearchA
+InitializeStartSearchW
+IsADMFileVisibleA
+IsADMFileVisibleW
+IsAnimBitmapFileValidA
+IsAnimBitmapFileValidW
+IsBitmapFileValidA
+IsBitmapFileValidW
+IsFavoriteItem
+LoadADMFilesA
+LoadADMFilesW
+MigrateFavoritesA
+MigrateFavoritesW
+MigrateToOldFavoritesA
+MigrateToOldFavoritesW
+ModifyAuthCode
+ModifyFavoriteA
+ModifyFavoriteW
+ModifyRatings
+ModifySiteCert
+ModifyZones
+MoveADMWindow
+MoveDownFavorite
+MoveUpFavorite
+NewFolder
+NewUrlA
+NewUrlW
+ProcessFavSelChange
+ResetAdmFilesA
+ResetAdmFilesW
+SaveADMItem
+SaveAdmFilesA
+SaveAdmFilesW
+SaveStartSearchA
+SaveStartSearchW
+SelectADMItem
+SetADMWindowTextA
+SetADMWindowTextW
+SetLBWidth
+SetOrClearVersionInfoA
+SetOrClearVersionInfoW
+SetProxyDlgA
+SetProxyDlgW
+ShowADMWindow
+ShowBitmapA
+ShowBitmapW
+ShowDeskCpl
+ShowInetcpl
+SignFileA
+SignFileW
+TestURLA
+TestURLW
diff --git a/mingw-w64-crt/lib64/wieaksie.def b/mingw-w64-crt/lib64/wieaksie.def
index 26abddf..f1708b8 100644
--- a/mingw-w64-crt/lib64/wieaksie.def
+++ b/mingw-w64-crt/lib64/wieaksie.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IEAKSIE.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IEAKSIE.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IEAKSIE.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IEAKSIE.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiedkcs32.def b/mingw-w64-crt/lib64/wiedkcs32.def
index 23980ee..042af4f 100644
--- a/mingw-w64-crt/lib64/wiedkcs32.def
+++ b/mingw-w64-crt/lib64/wiedkcs32.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file iedkcs32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iedkcs32.dll
-EXPORTS
-BrandExternal
-CloseRASConnections
-GenerateGroupPolicy
-ProcessGroupPolicy
-ProcessGroupPolicyEx
-ProcessGroupPolicyForZoneMap
-BrandCleanInstallStubs
-BrandICW2
-BrandICW
-BrandIE4
-BrandInfAndOutlookExpress
-BrandInternetExplorer
-BrandIntra
-BrandMe
-Clear
-DllRegisterServer
-DllUnregisterServer
-InternetInitializeAutoProxyDll
+; 
+; Exports of file iedkcs32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iedkcs32.dll
+EXPORTS
+BrandExternal
+CloseRASConnections
+GenerateGroupPolicy
+ProcessGroupPolicy
+ProcessGroupPolicyEx
+ProcessGroupPolicyForZoneMap
+BrandCleanInstallStubs
+BrandICW2
+BrandICW
+BrandIE4
+BrandInfAndOutlookExpress
+BrandInternetExplorer
+BrandIntra
+BrandMe
+Clear
+DllRegisterServer
+DllUnregisterServer
+InternetInitializeAutoProxyDll
diff --git a/mingw-w64-crt/lib64/wieencode.def b/mingw-w64-crt/lib64/wieencode.def
index cbc24a0..1b2d77d 100644
--- a/mingw-w64-crt/lib64/wieencode.def
+++ b/mingw-w64-crt/lib64/wieencode.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file exports.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY exports.dll
-EXPORTS
-CceDetectInputCode
-CceGetAvailableEncodings
-CceIsAvailableEncoding
-CceStreamMultiByteToUnicode
-CceStreamUnicodeToMultiByte
-CceStringMultiByteToUnicode
-CceStringUnicodeToMultiByte
-DllMain
-FetchMsEncodeDllVersion
+; 
+; Exports of file exports.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY exports.dll
+EXPORTS
+CceDetectInputCode
+CceGetAvailableEncodings
+CceIsAvailableEncoding
+CceStreamMultiByteToUnicode
+CceStreamUnicodeToMultiByte
+CceStringMultiByteToUnicode
+CceStringUnicodeToMultiByte
+DllMain
+FetchMsEncodeDllVersion
diff --git a/mingw-w64-crt/lib64/wiepeers.def b/mingw-w64-crt/lib64/wiepeers.def
index 828d58e..8229f88 100644
--- a/mingw-w64-crt/lib64/wiepeers.def
+++ b/mingw-w64-crt/lib64/wiepeers.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file iepeers.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iepeers.DLL
-EXPORTS
-DllEnumClassObjects
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iepeers.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iepeers.DLL
+EXPORTS
+DllEnumClassObjects
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiernonce.def b/mingw-w64-crt/lib64/wiernonce.def
index 2c2170a..bccda6f 100644
--- a/mingw-w64-crt/lib64/wiernonce.def
+++ b/mingw-w64-crt/lib64/wiernonce.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file IERNONCE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IERNONCE.dll
-EXPORTS
-InitCallback
-RunOnceExProcess
+; 
+; Exports of file IERNONCE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IERNONCE.dll
+EXPORTS
+InitCallback
+RunOnceExProcess
diff --git a/mingw-w64-crt/lib64/wiesetup.def b/mingw-w64-crt/lib64/wiesetup.def
index 1c74e0d..21a19fb 100644
--- a/mingw-w64-crt/lib64/wiesetup.def
+++ b/mingw-w64-crt/lib64/wiesetup.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file iesetup.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iesetup.dll
-EXPORTS
-IEHardenAdmin
-IEHardenAdminNow
-IEHardenMachineNow
-IEHardenUser
-SetFirstHomepage
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-FixIE
+; 
+; Exports of file iesetup.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iesetup.dll
+EXPORTS
+IEHardenAdmin
+IEHardenAdminNow
+IEHardenMachineNow
+IEHardenUser
+SetFirstHomepage
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+FixIE
diff --git a/mingw-w64-crt/lib64/wifmon.def b/mingw-w64-crt/lib64/wifmon.def
index 8dd11d4..bf36d97 100644
--- a/mingw-w64-crt/lib64/wifmon.def
+++ b/mingw-w64-crt/lib64/wifmon.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file IFMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IFMON.dll
-EXPORTS
-GetResourceString
-InitHelperDll
+; 
+; Exports of file IFMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IFMON.dll
+EXPORTS
+GetResourceString
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/wifsutil.def b/mingw-w64-crt/lib64/wifsutil.def
index 84f8fe4..04c7b40 100644
--- a/mingw-w64-crt/lib64/wifsutil.def
+++ b/mingw-w64-crt/lib64/wifsutil.def
@@ -1,360 +1,360 @@
-; 
-; Exports of file ifsutil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ifsutil.dll
-EXPORTS
-; public: __thiscall CANNED_SECURITY::CANNED_SECURITY(void)
-??0CANNED_SECURITY@@QAE@XZ
-; public: __thiscall DIGRAPH::DIGRAPH(void)
-??0DIGRAPH@@QAE@XZ
-; public: __thiscall DIGRAPH_EDGE::DIGRAPH_EDGE(void)
-??0DIGRAPH_EDGE@@QAE@XZ
-; public: __thiscall DP_DRIVE::DP_DRIVE(void)
-??0DP_DRIVE@@QAE@XZ
-; public: __thiscall INTSTACK::INTSTACK(void)
-??0INTSTACK@@QAE@XZ
-; public: __thiscall LOG_IO_DP_DRIVE::LOG_IO_DP_DRIVE(void)
-??0LOG_IO_DP_DRIVE@@QAE@XZ
-; public: __thiscall MOUNT_POINT_MAP::MOUNT_POINT_MAP(void)
-??0MOUNT_POINT_MAP@@QAE@XZ
-; public: __thiscall MOUNT_POINT_TUPLE::MOUNT_POINT_TUPLE(void)
-??0MOUNT_POINT_TUPLE@@QAE@XZ
-; public: __thiscall NUMBER_SET::NUMBER_SET(void)
-??0NUMBER_SET@@QAE@XZ
-; public: __thiscall READ_CACHE::READ_CACHE(void)
-??0READ_CACHE@@QAE@XZ
-; public: __thiscall READ_WRITE_CACHE::READ_WRITE_CACHE(void)
-??0READ_WRITE_CACHE@@QAE@XZ
-; public: __thiscall SECRUN::SECRUN(void)
-??0SECRUN@@QAE@XZ
-; private: __thiscall SNAPSHOT::SNAPSHOT(void)
-??0SNAPSHOT@@AAE@XZ
-; public: __thiscall SPARSE_SET::SPARSE_SET(void)
-??0SPARSE_SET@@QAE@XZ
-; protected: __thiscall SUPERAREA::SUPERAREA(void)
-??0SUPERAREA@@IAE@XZ
-; public: __thiscall TLINK::TLINK(void)
-??0TLINK@@QAE@XZ
-; protected: __thiscall VOL_LIODPDRV::VOL_LIODPDRV(void)
-??0VOL_LIODPDRV@@IAE@XZ
-; public: virtual __thiscall CANNED_SECURITY::~CANNED_SECURITY(void)
-??1CANNED_SECURITY@@UAE@XZ
-; public: virtual __thiscall DIGRAPH::~DIGRAPH(void)
-??1DIGRAPH@@UAE@XZ
-; public: virtual __thiscall DP_DRIVE::~DP_DRIVE(void)
-??1DP_DRIVE@@UAE@XZ
-; public: virtual __thiscall INTSTACK::~INTSTACK(void)
-??1INTSTACK@@UAE@XZ
-; public: virtual __thiscall LOG_IO_DP_DRIVE::~LOG_IO_DP_DRIVE(void)
-??1LOG_IO_DP_DRIVE@@UAE@XZ
-; public: virtual __thiscall MOUNT_POINT_MAP::~MOUNT_POINT_MAP(void)
-??1MOUNT_POINT_MAP@@UAE@XZ
-; public: virtual __thiscall NUMBER_SET::~NUMBER_SET(void)
-??1NUMBER_SET@@UAE@XZ
-; public: virtual __thiscall SECRUN::~SECRUN(void)
-??1SECRUN@@UAE@XZ
-; private: virtual __thiscall SNAPSHOT::~SNAPSHOT(void)
-??1SNAPSHOT@@EAE@XZ
-; public: virtual __thiscall SPARSE_SET::~SPARSE_SET(void)
-??1SPARSE_SET@@UAE@XZ
-; public: virtual __thiscall SUPERAREA::~SUPERAREA(void)
-??1SUPERAREA@@UAE@XZ
-; public: virtual __thiscall TLINK::~TLINK(void)
-??1TLINK@@UAE@XZ
-; public: virtual __thiscall VOL_LIODPDRV::~VOL_LIODPDRV(void)
-??1VOL_LIODPDRV@@UAE@XZ
-; public: unsigned char __thiscall NUMBER_SET::Add(class NUMBER_SET const *)
-?Add@NUMBER_SET@@QAEEPBV1@@Z
-; public: unsigned char __thiscall NUMBER_SET::Add(class BIG_INT,class BIG_INT)
-?Add@NUMBER_SET@@QAEEVBIG_INT@@0@Z
-; public: unsigned char __thiscall NUMBER_SET::Add(class BIG_INT)
-?Add@NUMBER_SET@@QAEEVBIG_INT@@@Z
-; public: unsigned char __thiscall MOUNT_POINT_MAP::AddDriveName(class WSTRING *,class WSTRING *)
-?AddDriveName@MOUNT_POINT_MAP@@QAEEPAVWSTRING@@0@Z
-; public: unsigned char __thiscall DIGRAPH::AddEdge(unsigned long,unsigned long)
-?AddEdge@DIGRAPH@@QAEEKK@Z
-; public: static unsigned char __stdcall AUTOREG::AddEntry(class WSTRING const *)
-?AddEntry@AUTOREG@@SGEPBVWSTRING@@@Z
-; public: unsigned char __thiscall NUMBER_SET::AddNext(class BIG_INT)
-?AddNext@NUMBER_SET@@QAEEVBIG_INT@@@Z
-; public: unsigned char __thiscall NUMBER_SET::AddStart(class BIG_INT)
-?AddStart@NUMBER_SET@@QAEEVBIG_INT@@@Z
-; public: unsigned char __thiscall MOUNT_POINT_MAP::AddVolumeName(class WSTRING *,class WSTRING *)
-?AddVolumeName@MOUNT_POINT_MAP@@QAEEPAVWSTRING@@0@Z
-; public: unsigned char __thiscall NUMBER_SET::CheckAndAdd(class BIG_INT,unsigned char *)
-?CheckAndAdd@NUMBER_SET@@QAEEVBIG_INT@@PAE@Z
-; public: unsigned char __thiscall SPARSE_SET::CheckAndAdd(class BIG_INT,unsigned char *)
-?CheckAndAdd@SPARSE_SET@@QAEEVBIG_INT@@PAE@Z
-; public: unsigned char __thiscall NUMBER_SET::CheckAndRemove(class BIG_INT,unsigned char *)
-?CheckAndRemove@NUMBER_SET@@QAEEVBIG_INT@@PAE@Z
-; public: unsigned char __thiscall SPARSE_SET::CheckAndRemove(class BIG_INT,unsigned char *)
-?CheckAndRemove@SPARSE_SET@@QAEEVBIG_INT@@PAE@Z
-; public: unsigned char __thiscall SNAPSHOT::CheckSnapshotPresence(void)
-?CheckSnapshotPresence@SNAPSHOT@@QAEEXZ
-; public: static unsigned char __stdcall IFS_SYSTEM::CheckValidSecurityDescriptor(unsigned long,struct _SECURITY_DESCRIPTOR *)
-?CheckValidSecurityDescriptor@IFS_SYSTEM@@SGEKPAU_SECURITY_DESCRIPTOR@@@Z
-; public: unsigned char __thiscall VOL_LIODPDRV::ChkDsk(enum FIX_LEVEL,class MESSAGE *,unsigned long,unsigned long,unsigned short,unsigned long *,class WSTRING const *)
-?ChkDsk@VOL_LIODPDRV@@QAEEW4FIX_LEVEL@@PAVMESSAGE@@KKGPAKPBVWSTRING@@@Z
-; public: void __thiscall DP_DRIVE::CloseDriveHandle(void)
-?CloseDriveHandle@DP_DRIVE@@QAEXXZ
-; public: static unsigned long __stdcall SUPERAREA::ComputeVolId(unsigned long)
-?ComputeVolId@SUPERAREA@@SGKK@Z
-; public: static unsigned char __stdcall AUTOREG::DeleteEntry(class WSTRING const *,class WSTRING const *)
-?DeleteEntry@AUTOREG@@SGEPBVWSTRING@@0@Z
-; public: static unsigned char __stdcall AUTOREG::DeleteEntry(class WSTRING const *,unsigned char)
-?DeleteEntry@AUTOREG@@SGEPBVWSTRING@@E@Z
-; int __stdcall DiskCopyMainLoop(class WSTRING const *,class WSTRING const *,class WSTRING const *,class WSTRING const *,unsigned char,class MESSAGE *,class MESSAGE *)
-?DiskCopyMainLoop@@YGHPBVWSTRING@@000EPAVMESSAGE@@1@Z
-; public: unsigned char __thiscall IO_DP_DRIVE::DismountAndLock(void)
-?DismountAndLock@IO_DP_DRIVE@@QAEEXZ
-; public: static unsigned char __stdcall IFS_SYSTEM::DismountVolume(class WSTRING const *)
-?DismountVolume@IFS_SYSTEM@@SGEPBVWSTRING@@@Z
-; public: unsigned char __thiscall NUMBER_SET::DoesIntersectSet(class BIG_INT,class BIG_INT)const 
-?DoesIntersectSet@NUMBER_SET@@QBEEVBIG_INT@@0@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::DosDriveNameToNtDriveName(class WSTRING const *,class WSTRING *)
-?DosDriveNameToNtDriveName@IFS_SYSTEM@@SGEPBVWSTRING@@PAV2@@Z
-; public: void __thiscall SPARSE_SET::DumpHashTable(void)
-?DumpHashTable@SPARSE_SET@@QAEXXZ
-; public: unsigned char __thiscall DIGRAPH::EliminateCycles(class CONTAINER *,unsigned char *)
-?EliminateCycles@DIGRAPH@@QAEEPAVCONTAINER@@PAE@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::EnableFileSystem(class WSTRING const *)
-?EnableFileSystem@IFS_SYSTEM@@SGEPBVWSTRING@@@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::EnableVolumeCompression(class WSTRING const *)
-?EnableVolumeCompression@IFS_SYSTEM@@SGEPBVWSTRING@@@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::EnableVolumeUpgrade(class WSTRING const *)
-?EnableVolumeUpgrade@IFS_SYSTEM@@SGEPBVWSTRING@@@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::FileSetAttributes(class WSTRING const *,unsigned long,unsigned long *)
-?FileSetAttributes@IFS_SYSTEM@@SGEPBVWSTRING@@KPAK@Z
-; public: unsigned char __thiscall IO_DP_DRIVE::FlushCache(void)
-?FlushCache@IO_DP_DRIVE@@QAEEXZ
-; public: unsigned char __thiscall VOL_LIODPDRV::ForceAutochk(unsigned char,unsigned long,unsigned long,unsigned short,class WSTRING const *)
-?ForceAutochk@VOL_LIODPDRV@@QAEEEKKGPBVWSTRING@@@Z
-; public: enum FORMAT_ERROR_CODE  __thiscall VOL_LIODPDRV::Format(class WSTRING const *,class MESSAGE *,unsigned long,unsigned long,unsigned long)
-?Format@VOL_LIODPDRV@@QAE?AW4FORMAT_ERROR_CODE@@PBVWSTRING@@PAVMESSAGE@@KKK@Z
-; public: static long __stdcall SUPERAREA::GenerateLabelNotification(class WSTRING const *,class WSTRING *,struct _FILE_FS_SIZE_INFORMATION *,struct _FILE_FS_VOLUME_INFORMATION *)
-?GenerateLabelNotification@SUPERAREA@@SGJPBVWSTRING@@PAV2@PAU_FILE_FS_SIZE_INFORMATION@@PAU_FILE_FS_VOLUME_INFORMATION@@@Z
-; public: unsigned char __thiscall MOUNT_POINT_MAP::GetAt(unsigned long,class WSTRING *,class WSTRING *)
-?GetAt@MOUNT_POINT_MAP@@QAEEKPAVWSTRING@@0@Z
-; public: void * __thiscall TLINK::GetBuffer(void *)
-?GetBuffer@TLINK@@QAEPAXPAX@Z
-; public: static class CANNED_SECURITY * __stdcall IFS_SYSTEM::GetCannedSecurity(void)
-?GetCannedSecurity@IFS_SYSTEM@@SGPAVCANNED_SECURITY@@XZ
-; public: void * __thiscall CANNED_SECURITY::GetCannedSecurityDescriptor(enum _CANNED_SECURITY_TYPE,unsigned long *)
-?GetCannedSecurityDescriptor@CANNED_SECURITY@@QAEPAXW4_CANNED_SECURITY_TYPE@@PAK@Z
-; public: class BIG_INT & __thiscall TLINK::GetData(unsigned short)
-?GetData@TLINK@@QAEAAVBIG_INT@@G@Z
-; public: class BIG_INT & __thiscall TLINK::GetData(void *)
-?GetData@TLINK@@QAEAAVBIG_INT@@PAX@Z
-; public: class IO_DP_DRIVE * __thiscall SECRUN::GetDrive(void)
-?GetDrive@SECRUN@@QAEPAVIO_DP_DRIVE@@XZ
-; public: class IO_DP_DRIVE * __thiscall SUPERAREA::GetDrive(void)
-?GetDrive@SUPERAREA@@QAEPAVIO_DP_DRIVE@@XZ
-; public: void * __thiscall TLINK::GetFirst(void)
-?GetFirst@TLINK@@QAEPAXXZ
-; public: class MESSAGE * __thiscall IO_DP_DRIVE::GetMessageW(void)
-?GetMessageW@IO_DP_DRIVE@@QAEPAVMESSAGE@@XZ
-; public: class MESSAGE * __thiscall SUPERAREA::GetMessageW(void)
-?GetMessageW@SUPERAREA@@QAEPAVMESSAGE@@XZ
-; public: void * __thiscall TLINK::GetNext(void *)
-?GetNext@TLINK@@QAEPAXPAX@Z
-; public: class BIG_INT & __thiscall TLINK::GetNextDataSlot(void)
-?GetNextDataSlot@TLINK@@QAEAAVBIG_INT@@XZ
-; public: unsigned short * __thiscall SNAPSHOT::GetSnapshotGlobalDeviceName(void)
-?GetSnapshotGlobalDeviceName@SNAPSHOT@@QAEPAGXZ
-; public: unsigned short * __thiscall SNAPSHOT::GetSnapshotNtDeviceName(void)
-?GetSnapshotNtDeviceName@SNAPSHOT@@QAEPAGXZ
-; public: void * __thiscall TLINK::GetSortedFirst(void)
-?GetSortedFirst@TLINK@@QAEPAXXZ
-; public: void * __thiscall TLINK::GetSortedNext(void *)
-?GetSortedNext@TLINK@@QAEPAXPAX@Z
-; public: static unsigned char __stdcall SNAPSHOT::GetVolumeSnapshot(class WSTRING *,class SNAPSHOT * *)
-?GetVolumeSnapshot@SNAPSHOT@@SGEPAVWSTRING@@PAPAV1@@Z
-; public: unsigned char __thiscall CANNED_SECURITY::Initialize(void)
-?Initialize@CANNED_SECURITY@@QAEEXZ
-; public: unsigned char __thiscall DIGRAPH::Initialize(unsigned long)
-?Initialize@DIGRAPH@@QAEEK@Z
-; public: unsigned char __thiscall DP_DRIVE::Initialize(class WSTRING const *,class WSTRING const *,class MESSAGE *,unsigned char,unsigned char)
-?Initialize@DP_DRIVE@@QAEEPBVWSTRING@@0PAVMESSAGE@@EE@Z
-; public: unsigned char __thiscall DP_DRIVE::Initialize(class WSTRING const *,class MESSAGE *,unsigned char,unsigned char,unsigned short)
-?Initialize@DP_DRIVE@@QAEEPBVWSTRING@@PAVMESSAGE@@EEG@Z
-; public: unsigned char __thiscall INTSTACK::Initialize(void)
-?Initialize@INTSTACK@@QAEEXZ
-; public: unsigned char __thiscall LOG_IO_DP_DRIVE::Initialize(class WSTRING const *,class WSTRING const *,class MESSAGE *,unsigned char)
-?Initialize@LOG_IO_DP_DRIVE@@QAEEPBVWSTRING@@0PAVMESSAGE@@E@Z
-; public: unsigned char __thiscall LOG_IO_DP_DRIVE::Initialize(class WSTRING const *,class MESSAGE *,unsigned char,unsigned short)
-?Initialize@LOG_IO_DP_DRIVE@@QAEEPBVWSTRING@@PAVMESSAGE@@EG@Z
-; public: unsigned char __thiscall MOUNT_POINT_MAP::Initialize(void)
-?Initialize@MOUNT_POINT_MAP@@QAEEXZ
-; public: unsigned char __thiscall NUMBER_SET::Initialize(void)
-?Initialize@NUMBER_SET@@QAEEXZ
-; public: unsigned char __thiscall READ_CACHE::Initialize(class IO_DP_DRIVE *,unsigned long)
-?Initialize@READ_CACHE@@QAEEPAVIO_DP_DRIVE@@K@Z
-; public: unsigned char __thiscall READ_WRITE_CACHE::Initialize(class IO_DP_DRIVE *,unsigned long)
-?Initialize@READ_WRITE_CACHE@@QAEEPAVIO_DP_DRIVE@@K@Z
-; public: unsigned char __thiscall SECRUN::Initialize(class MEM *,class IO_DP_DRIVE *,class BIG_INT,unsigned long)
-?Initialize@SECRUN@@QAEEPAVMEM@@PAVIO_DP_DRIVE@@VBIG_INT@@K@Z
-; private: long __thiscall SNAPSHOT::Initialize(unsigned short *)
-?Initialize@SNAPSHOT@@AAEJPAG@Z
-; public: unsigned char __thiscall SPARSE_SET::Initialize(void)
-?Initialize@SPARSE_SET@@QAEEXZ
-; protected: unsigned char __thiscall SUPERAREA::Initialize(class MEM *,class LOG_IO_DP_DRIVE *,unsigned long,class MESSAGE *)
-?Initialize@SUPERAREA@@IAEEPAVMEM@@PAVLOG_IO_DP_DRIVE@@KPAVMESSAGE@@@Z
-; public: unsigned char __thiscall TLINK::Initialize(unsigned short)
-?Initialize@TLINK@@QAEEG@Z
-; protected: enum FORMAT_ERROR_CODE  __thiscall VOL_LIODPDRV::Initialize(class WSTRING const *,class SUPERAREA *,class MESSAGE *,unsigned char,unsigned char,enum _MEDIA_TYPE,unsigned short,unsigned char)
-?Initialize@VOL_LIODPDRV@@IAE?AW4FORMAT_ERROR_CODE@@PBVWSTRING@@PAVSUPERAREA@@PAVMESSAGE@@EEW4_MEDIA_TYPE@@GE@Z
-; protected: unsigned char __thiscall VOL_LIODPDRV::Initialize(class WSTRING const *,class WSTRING const *,class SUPERAREA *,class MESSAGE *,unsigned char)
-?Initialize@VOL_LIODPDRV@@IAEEPBVWSTRING@@0PAVSUPERAREA@@PAVMESSAGE@@E@Z
-; public: unsigned char __thiscall IO_DP_DRIVE::InvalidateVolume(void)
-?InvalidateVolume@IO_DP_DRIVE@@QAEEXZ
-; public: unsigned char __thiscall DP_DRIVE::IsATformat(void)const 
-?IsATformat@DP_DRIVE@@QBEEXZ
-; public: static unsigned char __stdcall IFS_SYSTEM::IsArcSystemPartition(class WSTRING const *,unsigned char *)
-?IsArcSystemPartition@IFS_SYSTEM@@SGEPBVWSTRING@@PAE@Z
-; public: static unsigned char __stdcall AUTOREG::IsEntryPresent(class WSTRING const *,class WSTRING const *)
-?IsEntryPresent@AUTOREG@@SGEPBVWSTRING@@0@Z
-; public: static unsigned char __stdcall AUTOREG::IsEntryPresent(class WSTRING const *)
-?IsEntryPresent@AUTOREG@@SGEPBVWSTRING@@@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::IsFileSystemEnabled(class WSTRING const *,unsigned char *)
-?IsFileSystemEnabled@IFS_SYSTEM@@SGEPBVWSTRING@@PAE@Z
-; public: static unsigned char __stdcall AUTOREG::IsFrontEndPresent(class WSTRING const *,class WSTRING const *)
-?IsFrontEndPresent@AUTOREG@@SGEPBVWSTRING@@0@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::IsThisNtfs(class BIG_INT,unsigned long,void *)
-?IsThisNtfs@IFS_SYSTEM@@SGEVBIG_INT@@KPAX@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::IsVolumeDirty(class WSTRING *,unsigned char *)
-?IsVolumeDirty@IFS_SYSTEM@@SGEPAVWSTRING@@PAE@Z
-; public: unsigned char __thiscall IO_DP_DRIVE::Lock(void)
-?Lock@IO_DP_DRIVE@@QAEEXZ
-; public: class BIG_INT  __thiscall INTSTACK::Look(unsigned long)const 
-?Look@INTSTACK@@QBE?AVBIG_INT@@K@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::NtDriveNameToDosDriveName(class WSTRING const *,class WSTRING *)
-?NtDriveNameToDosDriveName@IFS_SYSTEM@@SGEPBVWSTRING@@PAV2@@Z
-; public: void __thiscall INTSTACK::Pop(unsigned long)
-?Pop@INTSTACK@@QAEXK@Z
-; public: unsigned char __thiscall INTSTACK::Push(class BIG_INT)
-?Push@INTSTACK@@QAEEVBIG_INT@@@Z
-; public: static unsigned char __stdcall AUTOREG::PushEntry(class WSTRING const *)
-?PushEntry@AUTOREG@@SGEPBVWSTRING@@@Z
-; public: static unsigned char __stdcall VOL_LIODPDRV::QueryAutochkTimeOut(unsigned long *)
-?QueryAutochkTimeOut@VOL_LIODPDRV@@SGEPAK@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::QueryCanonicalNtDriveName(class WSTRING const *,class WSTRING *)
-?QueryCanonicalNtDriveName@IFS_SYSTEM@@SGEPBVWSTRING@@PAV2@@Z
-; public: unsigned char __thiscall DIGRAPH::QueryChildren(unsigned long,class NUMBER_SET *)const 
-?QueryChildren@DIGRAPH@@QBEEKPAVNUMBER_SET@@@Z
-; public: void __thiscall BIG_INT::QueryCompressedInteger(unsigned char *,unsigned char *)const 
-?QueryCompressedInteger@BIG_INT@@QBEXPAE0@Z
-; public: unsigned char __thiscall NUMBER_SET::QueryContainingRange(class BIG_INT,class BIG_INT *,class BIG_INT *)const 
-?QueryContainingRange@NUMBER_SET@@QBEEVBIG_INT@@PAV2@1@Z
-; public: void __thiscall NUMBER_SET::QueryDisjointRange(unsigned long,class BIG_INT *,class BIG_INT *)const 
-?QueryDisjointRange@NUMBER_SET@@QBEXKPAVBIG_INT@@0@Z
-; public: void * __thiscall TLINK::QueryDisjointRangeAndAssignBuffer(class BIG_INT *,unsigned short *,unsigned short *,void *,unsigned long,void *)
-?QueryDisjointRangeAndAssignBuffer@TLINK@@QAEPAXPAVBIG_INT@@PAG1PAXK2@Z
-; public: void * __thiscall DP_DRIVE::QueryDriveHandle(void)const 
-?QueryDriveHandle@DP_DRIVE@@QBEPAXXZ
-; public: unsigned char __thiscall MOUNT_POINT_MAP::QueryDriveName(class WSTRING *,class WSTRING *)
-?QueryDriveName@MOUNT_POINT_MAP@@QAEEPAVWSTRING@@0@Z
-; public: enum DRIVE_TYPE  __thiscall DP_DRIVE::QueryDriveType(void)const 
-?QueryDriveType@DP_DRIVE@@QBE?AW4DRIVE_TYPE@@XZ
-; public: static unsigned char __stdcall IFS_SYSTEM::QueryFileSystemName(class WSTRING const *,class WSTRING *,long *,class WSTRING *)
-?QueryFileSystemName@IFS_SYSTEM@@SGEPBVWSTRING@@PAV2@PAJ1@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::QueryFreeDiskSpace(class WSTRING const *,class BIG_INT *)
-?QueryFreeDiskSpace@IFS_SYSTEM@@SGEPBVWSTRING@@PAVBIG_INT@@@Z
-; unsigned long __stdcall QueryMachineUniqueToken(void)
-?QueryMachineUniqueToken@@YGKXZ
-; public: unsigned char __thiscall DP_DRIVE::QueryMediaByte(void)const 
-?QueryMediaByte@DP_DRIVE@@QBEEXZ
-; public: unsigned short __thiscall TLINK::QueryMemberCount(void)const 
-?QueryMemberCount@TLINK@@QBEGXZ
-; public: static unsigned char __stdcall DP_DRIVE::QueryMrwSupport(void *)
-?QueryMrwSupport@DP_DRIVE@@SGEPAX@Z
-; public: static long __stdcall DP_DRIVE::QueryNtfsSupportInfo(void *,unsigned char *)
-?QueryNtfsSupportInfo@DP_DRIVE@@SGJPAXPAE@Z
-; public: static void __stdcall IFS_SYSTEM::QueryNtfsTime(union _LARGE_INTEGER *)
-?QueryNtfsTime@IFS_SYSTEM@@SGXPAT_LARGE_INTEGER@@@Z
-; public: static unsigned char __stdcall IFS_SYSTEM::QueryNtfsVersion(unsigned char *,unsigned char *,class LOG_IO_DP_DRIVE *,void *)
-?QueryNtfsVersion@IFS_SYSTEM@@SGEPAE0PAVLOG_IO_DP_DRIVE@@PAX@Z
-; public: class BIG_INT  __thiscall NUMBER_SET::QueryNumber(class BIG_INT)const 
-?QueryNumber@NUMBER_SET@@QBE?AVBIG_INT@@V2@@Z
-; public: static unsigned long __stdcall IFS_SYSTEM::QueryPageSize(void)
-?QueryPageSize@IFS_SYSTEM@@SGKXZ
-; public: unsigned char __thiscall DIGRAPH::QueryParents(unsigned long,class NUMBER_SET *)const 
-?QueryParents@DIGRAPH@@QBEEKPAVNUMBER_SET@@@Z
-; public: unsigned char __thiscall DIGRAPH::QueryParentsWithChildren(class NUMBER_SET *,unsigned long)const 
-?QueryParentsWithChildren@DIGRAPH@@QBEEPAVNUMBER_SET@@K@Z
-; public: unsigned long __thiscall DP_DRIVE::QueryPhysicalSectorSize(void)const 
-?QueryPhysicalSectorSize@DP_DRIVE@@QBEKXZ
-; public: enum _MEDIA_TYPE  __thiscall DP_DRIVE::QueryRecommendedMediaType(void)const 
-?QueryRecommendedMediaType@DP_DRIVE@@QBE?AW4_MEDIA_TYPE@@XZ
-; public: virtual unsigned long __thiscall DP_DRIVE::QuerySectorSize(void)const 
-?QuerySectorSize@DP_DRIVE@@UBEKXZ
-; public: virtual class BIG_INT  __thiscall DP_DRIVE::QuerySectors(void)const 
-?QuerySectors@DP_DRIVE@@UBE?AVBIG_INT@@XZ
-; public: unsigned short __thiscall TLINK::QuerySize(void)const 
-?QuerySize@TLINK@@QBEGXZ
-; public: unsigned char __thiscall MOUNT_POINT_MAP::QueryVolumeName(class WSTRING *,class WSTRING *)
-?QueryVolumeName@MOUNT_POINT_MAP@@QAEEPAVWSTRING@@0@Z
-; public: unsigned char __thiscall IO_DP_DRIVE::Read(class BIG_INT,unsigned long,void *)
-?Read@IO_DP_DRIVE@@QAEEVBIG_INT@@KPAX@Z
-; public: unsigned char __thiscall LOG_IO_DP_DRIVE::Read(class BIG_INT,unsigned long,void *)
-?Read@LOG_IO_DP_DRIVE@@QAEEVBIG_INT@@KPAX@Z
-; public: virtual unsigned char __thiscall SECRUN::Read(void)
-?Read@SECRUN@@UAEEXZ
-; public: unsigned char __thiscall VOL_LIODPDRV::Recover(class WSTRING const *,class MESSAGE *)
-?Recover@VOL_LIODPDRV@@QAEEPBVWSTRING@@PAVMESSAGE@@@Z
-; public: static unsigned char __stdcall SNAPSHOT::ReleaseVolumeSnapshot(class SNAPSHOT *)
-?ReleaseVolumeSnapshot@SNAPSHOT@@SGEPAV1@@Z
-; public: unsigned char __thiscall NUMBER_SET::Remove(class NUMBER_SET const *)
-?Remove@NUMBER_SET@@QAEEPBV1@@Z
-; public: unsigned char __thiscall NUMBER_SET::Remove(class BIG_INT,class BIG_INT)
-?Remove@NUMBER_SET@@QAEEVBIG_INT@@0@Z
-; public: unsigned char __thiscall NUMBER_SET::Remove(class BIG_INT)
-?Remove@NUMBER_SET@@QAEEVBIG_INT@@@Z
-; public: unsigned char __thiscall NUMBER_SET::RemoveAll(void)
-?RemoveAll@NUMBER_SET@@QAEEXZ
-; public: unsigned char __thiscall SPARSE_SET::RemoveAll(void)
-?RemoveAll@SPARSE_SET@@QAEEXZ
-; public: unsigned char __thiscall DIGRAPH::RemoveEdge(unsigned long,unsigned long)
-?RemoveEdge@DIGRAPH@@QAEEKK@Z
-; void __stdcall RestoreThreadExecutionState(long,unsigned long)
-?RestoreThreadExecutionState@@YGXJK@Z
-; public: unsigned char __thiscall INTSTACK::ReverseCopy(class INTSTACK *)
-?ReverseCopy@INTSTACK@@QAEEPAV1@@Z
-; public: unsigned char __thiscall DP_DRIVE::SendSonyMSFormatCmd(void)
-?SendSonyMSFormatCmd@DP_DRIVE@@QAEEXZ
-; public: unsigned char __thiscall DP_DRIVE::SendSonyMSInquiryCmd(struct SONY_MS_INQUIRY_DATA *)
-?SendSonyMSInquiryCmd@DP_DRIVE@@QAEEPAUSONY_MS_INQUIRY_DATA@@@Z
-; public: unsigned char __thiscall DP_DRIVE::SendSonyMSModeSenseCmd(struct SONY_MS_MODE_SENSE_DATA *)
-?SendSonyMSModeSenseCmd@DP_DRIVE@@QAEEPAUSONY_MS_MODE_SENSE_DATA@@@Z
-; public: unsigned char __thiscall DP_DRIVE::SendSonyMSRequestSenseCmd(struct _SENSE_DATA *)
-?SendSonyMSRequestSenseCmd@DP_DRIVE@@QAEEPAU_SENSE_DATA@@@Z
-; public: unsigned char __thiscall DP_DRIVE::SendSonyMSTestUnitReadyCmd(struct _SENSE_DATA *)
-?SendSonyMSTestUnitReadyCmd@DP_DRIVE@@QAEEPAU_SENSE_DATA@@@Z
-; public: void __thiscall BIG_INT::Set(unsigned char,unsigned char const *)
-?Set@BIG_INT@@QAEXEPBE@Z
-; public: static unsigned char __stdcall VOL_LIODPDRV::SetAutochkTimeOut(unsigned long)
-?SetAutochkTimeOut@VOL_LIODPDRV@@SGEK@Z
-; public: void __thiscall IO_DP_DRIVE::SetCache(class DRIVE_CACHE *)
-?SetCache@IO_DP_DRIVE@@QAEXPAVDRIVE_CACHE@@@Z
-; public: unsigned char __thiscall LOG_IO_DP_DRIVE::SetSystemId(unsigned char)
-?SetSystemId@LOG_IO_DP_DRIVE@@QAEEE@Z
-; public: unsigned char __thiscall VOL_LIODPDRV::SetVolumeLabelAndPrintFormatReport(class WSTRING const *,class MESSAGE *)
-?SetVolumeLabelAndPrintFormatReport@VOL_LIODPDRV@@QAEEPBVWSTRING@@PAVMESSAGE@@@Z
-; public: void __thiscall TLINK::ShellSort(void)
-?ShellSort@TLINK@@QAEXXZ
-; public: void __thiscall TLINK::Sort(void)
-?Sort@TLINK@@QAEXXZ
-; public: unsigned char __thiscall IO_DP_DRIVE::Verify(class BIG_INT,class BIG_INT)
-?Verify@IO_DP_DRIVE@@QAEEVBIG_INT@@0@Z
-; public: unsigned char __thiscall IO_DP_DRIVE::Verify(class BIG_INT,class BIG_INT,class NUMBER_SET *)
-?Verify@IO_DP_DRIVE@@QAEEVBIG_INT@@0PAVNUMBER_SET@@@Z
-; public: unsigned char __thiscall IO_DP_DRIVE::Write(class BIG_INT,unsigned long,void *)
-?Write@IO_DP_DRIVE@@QAEEVBIG_INT@@KPAX@Z
-; public: unsigned char __thiscall LOG_IO_DP_DRIVE::Write(class BIG_INT,unsigned long,void *)
-?Write@LOG_IO_DP_DRIVE@@QAEEVBIG_INT@@KPAX@Z
-; public: virtual unsigned char __thiscall SECRUN::Write(void)
-?Write@SECRUN@@UAEEXZ
-; public: static unsigned char __stdcall IFS_SYSTEM::WriteToFile(class WSTRING const *,void *,unsigned long,unsigned char)
-?WriteToFile@IFS_SYSTEM@@SGEPBVWSTRING@@PAXKE@Z
+; 
+; Exports of file ifsutil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ifsutil.dll
+EXPORTS
+; public: __thiscall CANNED_SECURITY::CANNED_SECURITY(void)
+??0CANNED_SECURITY@@QAE@XZ
+; public: __thiscall DIGRAPH::DIGRAPH(void)
+??0DIGRAPH@@QAE@XZ
+; public: __thiscall DIGRAPH_EDGE::DIGRAPH_EDGE(void)
+??0DIGRAPH_EDGE@@QAE@XZ
+; public: __thiscall DP_DRIVE::DP_DRIVE(void)
+??0DP_DRIVE@@QAE@XZ
+; public: __thiscall INTSTACK::INTSTACK(void)
+??0INTSTACK@@QAE@XZ
+; public: __thiscall LOG_IO_DP_DRIVE::LOG_IO_DP_DRIVE(void)
+??0LOG_IO_DP_DRIVE@@QAE@XZ
+; public: __thiscall MOUNT_POINT_MAP::MOUNT_POINT_MAP(void)
+??0MOUNT_POINT_MAP@@QAE@XZ
+; public: __thiscall MOUNT_POINT_TUPLE::MOUNT_POINT_TUPLE(void)
+??0MOUNT_POINT_TUPLE@@QAE@XZ
+; public: __thiscall NUMBER_SET::NUMBER_SET(void)
+??0NUMBER_SET@@QAE@XZ
+; public: __thiscall READ_CACHE::READ_CACHE(void)
+??0READ_CACHE@@QAE@XZ
+; public: __thiscall READ_WRITE_CACHE::READ_WRITE_CACHE(void)
+??0READ_WRITE_CACHE@@QAE@XZ
+; public: __thiscall SECRUN::SECRUN(void)
+??0SECRUN@@QAE@XZ
+; private: __thiscall SNAPSHOT::SNAPSHOT(void)
+??0SNAPSHOT@@AAE@XZ
+; public: __thiscall SPARSE_SET::SPARSE_SET(void)
+??0SPARSE_SET@@QAE@XZ
+; protected: __thiscall SUPERAREA::SUPERAREA(void)
+??0SUPERAREA@@IAE@XZ
+; public: __thiscall TLINK::TLINK(void)
+??0TLINK@@QAE@XZ
+; protected: __thiscall VOL_LIODPDRV::VOL_LIODPDRV(void)
+??0VOL_LIODPDRV@@IAE@XZ
+; public: virtual __thiscall CANNED_SECURITY::~CANNED_SECURITY(void)
+??1CANNED_SECURITY@@UAE@XZ
+; public: virtual __thiscall DIGRAPH::~DIGRAPH(void)
+??1DIGRAPH@@UAE@XZ
+; public: virtual __thiscall DP_DRIVE::~DP_DRIVE(void)
+??1DP_DRIVE@@UAE@XZ
+; public: virtual __thiscall INTSTACK::~INTSTACK(void)
+??1INTSTACK@@UAE@XZ
+; public: virtual __thiscall LOG_IO_DP_DRIVE::~LOG_IO_DP_DRIVE(void)
+??1LOG_IO_DP_DRIVE@@UAE@XZ
+; public: virtual __thiscall MOUNT_POINT_MAP::~MOUNT_POINT_MAP(void)
+??1MOUNT_POINT_MAP@@UAE@XZ
+; public: virtual __thiscall NUMBER_SET::~NUMBER_SET(void)
+??1NUMBER_SET@@UAE@XZ
+; public: virtual __thiscall SECRUN::~SECRUN(void)
+??1SECRUN@@UAE@XZ
+; private: virtual __thiscall SNAPSHOT::~SNAPSHOT(void)
+??1SNAPSHOT@@EAE@XZ
+; public: virtual __thiscall SPARSE_SET::~SPARSE_SET(void)
+??1SPARSE_SET@@UAE@XZ
+; public: virtual __thiscall SUPERAREA::~SUPERAREA(void)
+??1SUPERAREA@@UAE@XZ
+; public: virtual __thiscall TLINK::~TLINK(void)
+??1TLINK@@UAE@XZ
+; public: virtual __thiscall VOL_LIODPDRV::~VOL_LIODPDRV(void)
+??1VOL_LIODPDRV@@UAE@XZ
+; public: unsigned char __thiscall NUMBER_SET::Add(class NUMBER_SET const *)
+?Add@NUMBER_SET@@QAEEPBV1@@Z
+; public: unsigned char __thiscall NUMBER_SET::Add(class BIG_INT,class BIG_INT)
+?Add@NUMBER_SET@@QAEEVBIG_INT@@0@Z
+; public: unsigned char __thiscall NUMBER_SET::Add(class BIG_INT)
+?Add@NUMBER_SET@@QAEEVBIG_INT@@@Z
+; public: unsigned char __thiscall MOUNT_POINT_MAP::AddDriveName(class WSTRING *,class WSTRING *)
+?AddDriveName@MOUNT_POINT_MAP@@QAEEPAVWSTRING@@0@Z
+; public: unsigned char __thiscall DIGRAPH::AddEdge(unsigned long,unsigned long)
+?AddEdge@DIGRAPH@@QAEEKK@Z
+; public: static unsigned char __stdcall AUTOREG::AddEntry(class WSTRING const *)
+?AddEntry@AUTOREG@@SGEPBVWSTRING@@@Z
+; public: unsigned char __thiscall NUMBER_SET::AddNext(class BIG_INT)
+?AddNext@NUMBER_SET@@QAEEVBIG_INT@@@Z
+; public: unsigned char __thiscall NUMBER_SET::AddStart(class BIG_INT)
+?AddStart@NUMBER_SET@@QAEEVBIG_INT@@@Z
+; public: unsigned char __thiscall MOUNT_POINT_MAP::AddVolumeName(class WSTRING *,class WSTRING *)
+?AddVolumeName@MOUNT_POINT_MAP@@QAEEPAVWSTRING@@0@Z
+; public: unsigned char __thiscall NUMBER_SET::CheckAndAdd(class BIG_INT,unsigned char *)
+?CheckAndAdd@NUMBER_SET@@QAEEVBIG_INT@@PAE@Z
+; public: unsigned char __thiscall SPARSE_SET::CheckAndAdd(class BIG_INT,unsigned char *)
+?CheckAndAdd@SPARSE_SET@@QAEEVBIG_INT@@PAE@Z
+; public: unsigned char __thiscall NUMBER_SET::CheckAndRemove(class BIG_INT,unsigned char *)
+?CheckAndRemove@NUMBER_SET@@QAEEVBIG_INT@@PAE@Z
+; public: unsigned char __thiscall SPARSE_SET::CheckAndRemove(class BIG_INT,unsigned char *)
+?CheckAndRemove@SPARSE_SET@@QAEEVBIG_INT@@PAE@Z
+; public: unsigned char __thiscall SNAPSHOT::CheckSnapshotPresence(void)
+?CheckSnapshotPresence@SNAPSHOT@@QAEEXZ
+; public: static unsigned char __stdcall IFS_SYSTEM::CheckValidSecurityDescriptor(unsigned long,struct _SECURITY_DESCRIPTOR *)
+?CheckValidSecurityDescriptor@IFS_SYSTEM@@SGEKPAU_SECURITY_DESCRIPTOR@@@Z
+; public: unsigned char __thiscall VOL_LIODPDRV::ChkDsk(enum FIX_LEVEL,class MESSAGE *,unsigned long,unsigned long,unsigned short,unsigned long *,class WSTRING const *)
+?ChkDsk@VOL_LIODPDRV@@QAEEW4FIX_LEVEL@@PAVMESSAGE@@KKGPAKPBVWSTRING@@@Z
+; public: void __thiscall DP_DRIVE::CloseDriveHandle(void)
+?CloseDriveHandle@DP_DRIVE@@QAEXXZ
+; public: static unsigned long __stdcall SUPERAREA::ComputeVolId(unsigned long)
+?ComputeVolId@SUPERAREA@@SGKK@Z
+; public: static unsigned char __stdcall AUTOREG::DeleteEntry(class WSTRING const *,class WSTRING const *)
+?DeleteEntry@AUTOREG@@SGEPBVWSTRING@@0@Z
+; public: static unsigned char __stdcall AUTOREG::DeleteEntry(class WSTRING const *,unsigned char)
+?DeleteEntry@AUTOREG@@SGEPBVWSTRING@@E@Z
+; int __stdcall DiskCopyMainLoop(class WSTRING const *,class WSTRING const *,class WSTRING const *,class WSTRING const *,unsigned char,class MESSAGE *,class MESSAGE *)
+?DiskCopyMainLoop@@YGHPBVWSTRING@@000EPAVMESSAGE@@1@Z
+; public: unsigned char __thiscall IO_DP_DRIVE::DismountAndLock(void)
+?DismountAndLock@IO_DP_DRIVE@@QAEEXZ
+; public: static unsigned char __stdcall IFS_SYSTEM::DismountVolume(class WSTRING const *)
+?DismountVolume@IFS_SYSTEM@@SGEPBVWSTRING@@@Z
+; public: unsigned char __thiscall NUMBER_SET::DoesIntersectSet(class BIG_INT,class BIG_INT)const 
+?DoesIntersectSet@NUMBER_SET@@QBEEVBIG_INT@@0@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::DosDriveNameToNtDriveName(class WSTRING const *,class WSTRING *)
+?DosDriveNameToNtDriveName@IFS_SYSTEM@@SGEPBVWSTRING@@PAV2@@Z
+; public: void __thiscall SPARSE_SET::DumpHashTable(void)
+?DumpHashTable@SPARSE_SET@@QAEXXZ
+; public: unsigned char __thiscall DIGRAPH::EliminateCycles(class CONTAINER *,unsigned char *)
+?EliminateCycles@DIGRAPH@@QAEEPAVCONTAINER@@PAE@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::EnableFileSystem(class WSTRING const *)
+?EnableFileSystem@IFS_SYSTEM@@SGEPBVWSTRING@@@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::EnableVolumeCompression(class WSTRING const *)
+?EnableVolumeCompression@IFS_SYSTEM@@SGEPBVWSTRING@@@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::EnableVolumeUpgrade(class WSTRING const *)
+?EnableVolumeUpgrade@IFS_SYSTEM@@SGEPBVWSTRING@@@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::FileSetAttributes(class WSTRING const *,unsigned long,unsigned long *)
+?FileSetAttributes@IFS_SYSTEM@@SGEPBVWSTRING@@KPAK@Z
+; public: unsigned char __thiscall IO_DP_DRIVE::FlushCache(void)
+?FlushCache@IO_DP_DRIVE@@QAEEXZ
+; public: unsigned char __thiscall VOL_LIODPDRV::ForceAutochk(unsigned char,unsigned long,unsigned long,unsigned short,class WSTRING const *)
+?ForceAutochk@VOL_LIODPDRV@@QAEEEKKGPBVWSTRING@@@Z
+; public: enum FORMAT_ERROR_CODE  __thiscall VOL_LIODPDRV::Format(class WSTRING const *,class MESSAGE *,unsigned long,unsigned long,unsigned long)
+?Format@VOL_LIODPDRV@@QAE?AW4FORMAT_ERROR_CODE@@PBVWSTRING@@PAVMESSAGE@@KKK@Z
+; public: static long __stdcall SUPERAREA::GenerateLabelNotification(class WSTRING const *,class WSTRING *,struct _FILE_FS_SIZE_INFORMATION *,struct _FILE_FS_VOLUME_INFORMATION *)
+?GenerateLabelNotification@SUPERAREA@@SGJPBVWSTRING@@PAV2@PAU_FILE_FS_SIZE_INFORMATION@@PAU_FILE_FS_VOLUME_INFORMATION@@@Z
+; public: unsigned char __thiscall MOUNT_POINT_MAP::GetAt(unsigned long,class WSTRING *,class WSTRING *)
+?GetAt@MOUNT_POINT_MAP@@QAEEKPAVWSTRING@@0@Z
+; public: void * __thiscall TLINK::GetBuffer(void *)
+?GetBuffer@TLINK@@QAEPAXPAX@Z
+; public: static class CANNED_SECURITY * __stdcall IFS_SYSTEM::GetCannedSecurity(void)
+?GetCannedSecurity@IFS_SYSTEM@@SGPAVCANNED_SECURITY@@XZ
+; public: void * __thiscall CANNED_SECURITY::GetCannedSecurityDescriptor(enum _CANNED_SECURITY_TYPE,unsigned long *)
+?GetCannedSecurityDescriptor@CANNED_SECURITY@@QAEPAXW4_CANNED_SECURITY_TYPE@@PAK@Z
+; public: class BIG_INT & __thiscall TLINK::GetData(unsigned short)
+?GetData@TLINK@@QAEAAVBIG_INT@@G@Z
+; public: class BIG_INT & __thiscall TLINK::GetData(void *)
+?GetData@TLINK@@QAEAAVBIG_INT@@PAX@Z
+; public: class IO_DP_DRIVE * __thiscall SECRUN::GetDrive(void)
+?GetDrive@SECRUN@@QAEPAVIO_DP_DRIVE@@XZ
+; public: class IO_DP_DRIVE * __thiscall SUPERAREA::GetDrive(void)
+?GetDrive@SUPERAREA@@QAEPAVIO_DP_DRIVE@@XZ
+; public: void * __thiscall TLINK::GetFirst(void)
+?GetFirst@TLINK@@QAEPAXXZ
+; public: class MESSAGE * __thiscall IO_DP_DRIVE::GetMessageW(void)
+?GetMessageW@IO_DP_DRIVE@@QAEPAVMESSAGE@@XZ
+; public: class MESSAGE * __thiscall SUPERAREA::GetMessageW(void)
+?GetMessageW@SUPERAREA@@QAEPAVMESSAGE@@XZ
+; public: void * __thiscall TLINK::GetNext(void *)
+?GetNext@TLINK@@QAEPAXPAX@Z
+; public: class BIG_INT & __thiscall TLINK::GetNextDataSlot(void)
+?GetNextDataSlot@TLINK@@QAEAAVBIG_INT@@XZ
+; public: unsigned short * __thiscall SNAPSHOT::GetSnapshotGlobalDeviceName(void)
+?GetSnapshotGlobalDeviceName@SNAPSHOT@@QAEPAGXZ
+; public: unsigned short * __thiscall SNAPSHOT::GetSnapshotNtDeviceName(void)
+?GetSnapshotNtDeviceName@SNAPSHOT@@QAEPAGXZ
+; public: void * __thiscall TLINK::GetSortedFirst(void)
+?GetSortedFirst@TLINK@@QAEPAXXZ
+; public: void * __thiscall TLINK::GetSortedNext(void *)
+?GetSortedNext@TLINK@@QAEPAXPAX@Z
+; public: static unsigned char __stdcall SNAPSHOT::GetVolumeSnapshot(class WSTRING *,class SNAPSHOT * *)
+?GetVolumeSnapshot@SNAPSHOT@@SGEPAVWSTRING@@PAPAV1@@Z
+; public: unsigned char __thiscall CANNED_SECURITY::Initialize(void)
+?Initialize@CANNED_SECURITY@@QAEEXZ
+; public: unsigned char __thiscall DIGRAPH::Initialize(unsigned long)
+?Initialize@DIGRAPH@@QAEEK@Z
+; public: unsigned char __thiscall DP_DRIVE::Initialize(class WSTRING const *,class WSTRING const *,class MESSAGE *,unsigned char,unsigned char)
+?Initialize@DP_DRIVE@@QAEEPBVWSTRING@@0PAVMESSAGE@@EE@Z
+; public: unsigned char __thiscall DP_DRIVE::Initialize(class WSTRING const *,class MESSAGE *,unsigned char,unsigned char,unsigned short)
+?Initialize@DP_DRIVE@@QAEEPBVWSTRING@@PAVMESSAGE@@EEG@Z
+; public: unsigned char __thiscall INTSTACK::Initialize(void)
+?Initialize@INTSTACK@@QAEEXZ
+; public: unsigned char __thiscall LOG_IO_DP_DRIVE::Initialize(class WSTRING const *,class WSTRING const *,class MESSAGE *,unsigned char)
+?Initialize@LOG_IO_DP_DRIVE@@QAEEPBVWSTRING@@0PAVMESSAGE@@E@Z
+; public: unsigned char __thiscall LOG_IO_DP_DRIVE::Initialize(class WSTRING const *,class MESSAGE *,unsigned char,unsigned short)
+?Initialize@LOG_IO_DP_DRIVE@@QAEEPBVWSTRING@@PAVMESSAGE@@EG@Z
+; public: unsigned char __thiscall MOUNT_POINT_MAP::Initialize(void)
+?Initialize@MOUNT_POINT_MAP@@QAEEXZ
+; public: unsigned char __thiscall NUMBER_SET::Initialize(void)
+?Initialize@NUMBER_SET@@QAEEXZ
+; public: unsigned char __thiscall READ_CACHE::Initialize(class IO_DP_DRIVE *,unsigned long)
+?Initialize@READ_CACHE@@QAEEPAVIO_DP_DRIVE@@K@Z
+; public: unsigned char __thiscall READ_WRITE_CACHE::Initialize(class IO_DP_DRIVE *,unsigned long)
+?Initialize@READ_WRITE_CACHE@@QAEEPAVIO_DP_DRIVE@@K@Z
+; public: unsigned char __thiscall SECRUN::Initialize(class MEM *,class IO_DP_DRIVE *,class BIG_INT,unsigned long)
+?Initialize@SECRUN@@QAEEPAVMEM@@PAVIO_DP_DRIVE@@VBIG_INT@@K@Z
+; private: long __thiscall SNAPSHOT::Initialize(unsigned short *)
+?Initialize@SNAPSHOT@@AAEJPAG@Z
+; public: unsigned char __thiscall SPARSE_SET::Initialize(void)
+?Initialize@SPARSE_SET@@QAEEXZ
+; protected: unsigned char __thiscall SUPERAREA::Initialize(class MEM *,class LOG_IO_DP_DRIVE *,unsigned long,class MESSAGE *)
+?Initialize@SUPERAREA@@IAEEPAVMEM@@PAVLOG_IO_DP_DRIVE@@KPAVMESSAGE@@@Z
+; public: unsigned char __thiscall TLINK::Initialize(unsigned short)
+?Initialize@TLINK@@QAEEG@Z
+; protected: enum FORMAT_ERROR_CODE  __thiscall VOL_LIODPDRV::Initialize(class WSTRING const *,class SUPERAREA *,class MESSAGE *,unsigned char,unsigned char,enum _MEDIA_TYPE,unsigned short,unsigned char)
+?Initialize@VOL_LIODPDRV@@IAE?AW4FORMAT_ERROR_CODE@@PBVWSTRING@@PAVSUPERAREA@@PAVMESSAGE@@EEW4_MEDIA_TYPE@@GE@Z
+; protected: unsigned char __thiscall VOL_LIODPDRV::Initialize(class WSTRING const *,class WSTRING const *,class SUPERAREA *,class MESSAGE *,unsigned char)
+?Initialize@VOL_LIODPDRV@@IAEEPBVWSTRING@@0PAVSUPERAREA@@PAVMESSAGE@@E@Z
+; public: unsigned char __thiscall IO_DP_DRIVE::InvalidateVolume(void)
+?InvalidateVolume@IO_DP_DRIVE@@QAEEXZ
+; public: unsigned char __thiscall DP_DRIVE::IsATformat(void)const 
+?IsATformat@DP_DRIVE@@QBEEXZ
+; public: static unsigned char __stdcall IFS_SYSTEM::IsArcSystemPartition(class WSTRING const *,unsigned char *)
+?IsArcSystemPartition@IFS_SYSTEM@@SGEPBVWSTRING@@PAE@Z
+; public: static unsigned char __stdcall AUTOREG::IsEntryPresent(class WSTRING const *,class WSTRING const *)
+?IsEntryPresent@AUTOREG@@SGEPBVWSTRING@@0@Z
+; public: static unsigned char __stdcall AUTOREG::IsEntryPresent(class WSTRING const *)
+?IsEntryPresent@AUTOREG@@SGEPBVWSTRING@@@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::IsFileSystemEnabled(class WSTRING const *,unsigned char *)
+?IsFileSystemEnabled@IFS_SYSTEM@@SGEPBVWSTRING@@PAE@Z
+; public: static unsigned char __stdcall AUTOREG::IsFrontEndPresent(class WSTRING const *,class WSTRING const *)
+?IsFrontEndPresent@AUTOREG@@SGEPBVWSTRING@@0@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::IsThisNtfs(class BIG_INT,unsigned long,void *)
+?IsThisNtfs@IFS_SYSTEM@@SGEVBIG_INT@@KPAX@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::IsVolumeDirty(class WSTRING *,unsigned char *)
+?IsVolumeDirty@IFS_SYSTEM@@SGEPAVWSTRING@@PAE@Z
+; public: unsigned char __thiscall IO_DP_DRIVE::Lock(void)
+?Lock@IO_DP_DRIVE@@QAEEXZ
+; public: class BIG_INT  __thiscall INTSTACK::Look(unsigned long)const 
+?Look@INTSTACK@@QBE?AVBIG_INT@@K@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::NtDriveNameToDosDriveName(class WSTRING const *,class WSTRING *)
+?NtDriveNameToDosDriveName@IFS_SYSTEM@@SGEPBVWSTRING@@PAV2@@Z
+; public: void __thiscall INTSTACK::Pop(unsigned long)
+?Pop@INTSTACK@@QAEXK@Z
+; public: unsigned char __thiscall INTSTACK::Push(class BIG_INT)
+?Push@INTSTACK@@QAEEVBIG_INT@@@Z
+; public: static unsigned char __stdcall AUTOREG::PushEntry(class WSTRING const *)
+?PushEntry@AUTOREG@@SGEPBVWSTRING@@@Z
+; public: static unsigned char __stdcall VOL_LIODPDRV::QueryAutochkTimeOut(unsigned long *)
+?QueryAutochkTimeOut@VOL_LIODPDRV@@SGEPAK@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::QueryCanonicalNtDriveName(class WSTRING const *,class WSTRING *)
+?QueryCanonicalNtDriveName@IFS_SYSTEM@@SGEPBVWSTRING@@PAV2@@Z
+; public: unsigned char __thiscall DIGRAPH::QueryChildren(unsigned long,class NUMBER_SET *)const 
+?QueryChildren@DIGRAPH@@QBEEKPAVNUMBER_SET@@@Z
+; public: void __thiscall BIG_INT::QueryCompressedInteger(unsigned char *,unsigned char *)const 
+?QueryCompressedInteger@BIG_INT@@QBEXPAE0@Z
+; public: unsigned char __thiscall NUMBER_SET::QueryContainingRange(class BIG_INT,class BIG_INT *,class BIG_INT *)const 
+?QueryContainingRange@NUMBER_SET@@QBEEVBIG_INT@@PAV2@1@Z
+; public: void __thiscall NUMBER_SET::QueryDisjointRange(unsigned long,class BIG_INT *,class BIG_INT *)const 
+?QueryDisjointRange@NUMBER_SET@@QBEXKPAVBIG_INT@@0@Z
+; public: void * __thiscall TLINK::QueryDisjointRangeAndAssignBuffer(class BIG_INT *,unsigned short *,unsigned short *,void *,unsigned long,void *)
+?QueryDisjointRangeAndAssignBuffer@TLINK@@QAEPAXPAVBIG_INT@@PAG1PAXK2@Z
+; public: void * __thiscall DP_DRIVE::QueryDriveHandle(void)const 
+?QueryDriveHandle@DP_DRIVE@@QBEPAXXZ
+; public: unsigned char __thiscall MOUNT_POINT_MAP::QueryDriveName(class WSTRING *,class WSTRING *)
+?QueryDriveName@MOUNT_POINT_MAP@@QAEEPAVWSTRING@@0@Z
+; public: enum DRIVE_TYPE  __thiscall DP_DRIVE::QueryDriveType(void)const 
+?QueryDriveType@DP_DRIVE@@QBE?AW4DRIVE_TYPE@@XZ
+; public: static unsigned char __stdcall IFS_SYSTEM::QueryFileSystemName(class WSTRING const *,class WSTRING *,long *,class WSTRING *)
+?QueryFileSystemName@IFS_SYSTEM@@SGEPBVWSTRING@@PAV2@PAJ1@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::QueryFreeDiskSpace(class WSTRING const *,class BIG_INT *)
+?QueryFreeDiskSpace@IFS_SYSTEM@@SGEPBVWSTRING@@PAVBIG_INT@@@Z
+; unsigned long __stdcall QueryMachineUniqueToken(void)
+?QueryMachineUniqueToken@@YGKXZ
+; public: unsigned char __thiscall DP_DRIVE::QueryMediaByte(void)const 
+?QueryMediaByte@DP_DRIVE@@QBEEXZ
+; public: unsigned short __thiscall TLINK::QueryMemberCount(void)const 
+?QueryMemberCount@TLINK@@QBEGXZ
+; public: static unsigned char __stdcall DP_DRIVE::QueryMrwSupport(void *)
+?QueryMrwSupport@DP_DRIVE@@SGEPAX@Z
+; public: static long __stdcall DP_DRIVE::QueryNtfsSupportInfo(void *,unsigned char *)
+?QueryNtfsSupportInfo@DP_DRIVE@@SGJPAXPAE@Z
+; public: static void __stdcall IFS_SYSTEM::QueryNtfsTime(union _LARGE_INTEGER *)
+?QueryNtfsTime@IFS_SYSTEM@@SGXPAT_LARGE_INTEGER@@@Z
+; public: static unsigned char __stdcall IFS_SYSTEM::QueryNtfsVersion(unsigned char *,unsigned char *,class LOG_IO_DP_DRIVE *,void *)
+?QueryNtfsVersion@IFS_SYSTEM@@SGEPAE0PAVLOG_IO_DP_DRIVE@@PAX@Z
+; public: class BIG_INT  __thiscall NUMBER_SET::QueryNumber(class BIG_INT)const 
+?QueryNumber@NUMBER_SET@@QBE?AVBIG_INT@@V2@@Z
+; public: static unsigned long __stdcall IFS_SYSTEM::QueryPageSize(void)
+?QueryPageSize@IFS_SYSTEM@@SGKXZ
+; public: unsigned char __thiscall DIGRAPH::QueryParents(unsigned long,class NUMBER_SET *)const 
+?QueryParents@DIGRAPH@@QBEEKPAVNUMBER_SET@@@Z
+; public: unsigned char __thiscall DIGRAPH::QueryParentsWithChildren(class NUMBER_SET *,unsigned long)const 
+?QueryParentsWithChildren@DIGRAPH@@QBEEPAVNUMBER_SET@@K@Z
+; public: unsigned long __thiscall DP_DRIVE::QueryPhysicalSectorSize(void)const 
+?QueryPhysicalSectorSize@DP_DRIVE@@QBEKXZ
+; public: enum _MEDIA_TYPE  __thiscall DP_DRIVE::QueryRecommendedMediaType(void)const 
+?QueryRecommendedMediaType@DP_DRIVE@@QBE?AW4_MEDIA_TYPE@@XZ
+; public: virtual unsigned long __thiscall DP_DRIVE::QuerySectorSize(void)const 
+?QuerySectorSize@DP_DRIVE@@UBEKXZ
+; public: virtual class BIG_INT  __thiscall DP_DRIVE::QuerySectors(void)const 
+?QuerySectors@DP_DRIVE@@UBE?AVBIG_INT@@XZ
+; public: unsigned short __thiscall TLINK::QuerySize(void)const 
+?QuerySize@TLINK@@QBEGXZ
+; public: unsigned char __thiscall MOUNT_POINT_MAP::QueryVolumeName(class WSTRING *,class WSTRING *)
+?QueryVolumeName@MOUNT_POINT_MAP@@QAEEPAVWSTRING@@0@Z
+; public: unsigned char __thiscall IO_DP_DRIVE::Read(class BIG_INT,unsigned long,void *)
+?Read@IO_DP_DRIVE@@QAEEVBIG_INT@@KPAX@Z
+; public: unsigned char __thiscall LOG_IO_DP_DRIVE::Read(class BIG_INT,unsigned long,void *)
+?Read@LOG_IO_DP_DRIVE@@QAEEVBIG_INT@@KPAX@Z
+; public: virtual unsigned char __thiscall SECRUN::Read(void)
+?Read@SECRUN@@UAEEXZ
+; public: unsigned char __thiscall VOL_LIODPDRV::Recover(class WSTRING const *,class MESSAGE *)
+?Recover@VOL_LIODPDRV@@QAEEPBVWSTRING@@PAVMESSAGE@@@Z
+; public: static unsigned char __stdcall SNAPSHOT::ReleaseVolumeSnapshot(class SNAPSHOT *)
+?ReleaseVolumeSnapshot@SNAPSHOT@@SGEPAV1@@Z
+; public: unsigned char __thiscall NUMBER_SET::Remove(class NUMBER_SET const *)
+?Remove@NUMBER_SET@@QAEEPBV1@@Z
+; public: unsigned char __thiscall NUMBER_SET::Remove(class BIG_INT,class BIG_INT)
+?Remove@NUMBER_SET@@QAEEVBIG_INT@@0@Z
+; public: unsigned char __thiscall NUMBER_SET::Remove(class BIG_INT)
+?Remove@NUMBER_SET@@QAEEVBIG_INT@@@Z
+; public: unsigned char __thiscall NUMBER_SET::RemoveAll(void)
+?RemoveAll@NUMBER_SET@@QAEEXZ
+; public: unsigned char __thiscall SPARSE_SET::RemoveAll(void)
+?RemoveAll@SPARSE_SET@@QAEEXZ
+; public: unsigned char __thiscall DIGRAPH::RemoveEdge(unsigned long,unsigned long)
+?RemoveEdge@DIGRAPH@@QAEEKK@Z
+; void __stdcall RestoreThreadExecutionState(long,unsigned long)
+?RestoreThreadExecutionState@@YGXJK@Z
+; public: unsigned char __thiscall INTSTACK::ReverseCopy(class INTSTACK *)
+?ReverseCopy@INTSTACK@@QAEEPAV1@@Z
+; public: unsigned char __thiscall DP_DRIVE::SendSonyMSFormatCmd(void)
+?SendSonyMSFormatCmd@DP_DRIVE@@QAEEXZ
+; public: unsigned char __thiscall DP_DRIVE::SendSonyMSInquiryCmd(struct SONY_MS_INQUIRY_DATA *)
+?SendSonyMSInquiryCmd@DP_DRIVE@@QAEEPAUSONY_MS_INQUIRY_DATA@@@Z
+; public: unsigned char __thiscall DP_DRIVE::SendSonyMSModeSenseCmd(struct SONY_MS_MODE_SENSE_DATA *)
+?SendSonyMSModeSenseCmd@DP_DRIVE@@QAEEPAUSONY_MS_MODE_SENSE_DATA@@@Z
+; public: unsigned char __thiscall DP_DRIVE::SendSonyMSRequestSenseCmd(struct _SENSE_DATA *)
+?SendSonyMSRequestSenseCmd@DP_DRIVE@@QAEEPAU_SENSE_DATA@@@Z
+; public: unsigned char __thiscall DP_DRIVE::SendSonyMSTestUnitReadyCmd(struct _SENSE_DATA *)
+?SendSonyMSTestUnitReadyCmd@DP_DRIVE@@QAEEPAU_SENSE_DATA@@@Z
+; public: void __thiscall BIG_INT::Set(unsigned char,unsigned char const *)
+?Set@BIG_INT@@QAEXEPBE@Z
+; public: static unsigned char __stdcall VOL_LIODPDRV::SetAutochkTimeOut(unsigned long)
+?SetAutochkTimeOut@VOL_LIODPDRV@@SGEK@Z
+; public: void __thiscall IO_DP_DRIVE::SetCache(class DRIVE_CACHE *)
+?SetCache@IO_DP_DRIVE@@QAEXPAVDRIVE_CACHE@@@Z
+; public: unsigned char __thiscall LOG_IO_DP_DRIVE::SetSystemId(unsigned char)
+?SetSystemId@LOG_IO_DP_DRIVE@@QAEEE@Z
+; public: unsigned char __thiscall VOL_LIODPDRV::SetVolumeLabelAndPrintFormatReport(class WSTRING const *,class MESSAGE *)
+?SetVolumeLabelAndPrintFormatReport@VOL_LIODPDRV@@QAEEPBVWSTRING@@PAVMESSAGE@@@Z
+; public: void __thiscall TLINK::ShellSort(void)
+?ShellSort@TLINK@@QAEXXZ
+; public: void __thiscall TLINK::Sort(void)
+?Sort@TLINK@@QAEXXZ
+; public: unsigned char __thiscall IO_DP_DRIVE::Verify(class BIG_INT,class BIG_INT)
+?Verify@IO_DP_DRIVE@@QAEEVBIG_INT@@0@Z
+; public: unsigned char __thiscall IO_DP_DRIVE::Verify(class BIG_INT,class BIG_INT,class NUMBER_SET *)
+?Verify@IO_DP_DRIVE@@QAEEVBIG_INT@@0PAVNUMBER_SET@@@Z
+; public: unsigned char __thiscall IO_DP_DRIVE::Write(class BIG_INT,unsigned long,void *)
+?Write@IO_DP_DRIVE@@QAEEVBIG_INT@@KPAX@Z
+; public: unsigned char __thiscall LOG_IO_DP_DRIVE::Write(class BIG_INT,unsigned long,void *)
+?Write@LOG_IO_DP_DRIVE@@QAEEVBIG_INT@@KPAX@Z
+; public: virtual unsigned char __thiscall SECRUN::Write(void)
+?Write@SECRUN@@UAEEXZ
+; public: static unsigned char __stdcall IFS_SYSTEM::WriteToFile(class WSTRING const *,void *,unsigned long,unsigned char)
+?WriteToFile@IFS_SYSTEM@@SGEPBVWSTRING@@PAXKE@Z
diff --git a/mingw-w64-crt/lib64/wigmpagnt.def b/mingw-w64-crt/lib64/wigmpagnt.def
index 0398bdb..816072d 100644
--- a/mingw-w64-crt/lib64/wigmpagnt.def
+++ b/mingw-w64-crt/lib64/wigmpagnt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IGMPAGNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IGMPAGNT.dll
-EXPORTS
-SnmpExtensionClose
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file IGMPAGNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IGMPAGNT.dll
+EXPORTS
+SnmpExtensionClose
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/wiisext.def b/mingw-w64-crt/lib64/wiisext.def
index 3e417b1..6216c9b 100644
--- a/mingw-w64-crt/lib64/wiisext.def
+++ b/mingw-w64-crt/lib64/wiisext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IISEXT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISEXT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IISEXT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISEXT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiislog.def b/mingw-w64-crt/lib64/wiislog.def
index fdee1d6..3de384f 100644
--- a/mingw-w64-crt/lib64/wiislog.def
+++ b/mingw-w64-crt/lib64/wiislog.def
@@ -1,110 +1,110 @@
-; 
-; Exports of file IISLOG.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISLOG.DLL
-EXPORTS
-; public: __thiscall LOGGING::LOGGING(class LOGGING const &)
-??0LOGGING@@QAE@ABV0@@Z
-; public: __thiscall ODBC_CONNECTION::ODBC_CONNECTION(void)
-??0ODBC_CONNECTION@@QAE@XZ
-; public: __thiscall ODBC_PARAMETER::ODBC_PARAMETER(unsigned short,short,short,short,unsigned long)
-??0ODBC_PARAMETER@@QAE@GFFFK@Z
-; public: __thiscall ODBC_CONNECTION::~ODBC_CONNECTION(void)
-??1ODBC_CONNECTION@@QAE@XZ
-; public: __thiscall ODBC_PARAMETER::~ODBC_PARAMETER(void)
-??1ODBC_PARAMETER@@QAE@XZ
-; public: __thiscall ODBC_STATEMENT::~ODBC_STATEMENT(void)
-??1ODBC_STATEMENT@@QAE@XZ
-; public: class LOGGING & __thiscall LOGGING::operator=(class LOGGING const &)
-??4LOGGING@@QAEAAV0@ABV0@@Z
-; public: class ODBC_STATEMENT * __thiscall ODBC_CONNECTION::AllocStatement(void)
-?AllocStatement@ODBC_CONNECTION@@QAEPAVODBC_STATEMENT@@XZ
-; public: short __thiscall ODBC_PARAMETER::Bind(void *)
-?Bind@ODBC_PARAMETER@@QAEFPAX@Z
-; public: int __thiscall ODBC_STATEMENT::BindParameter(class ODBC_PARAMETER *)
-?BindParameter@ODBC_STATEMENT@@QAEHPAVODBC_PARAMETER@@@Z
-; public: int __thiscall ODBC_CONNECTION::Close(void)
-?Close@ODBC_CONNECTION@@QAEHXZ
-; public: int __thiscall ODBC_PARAMETER::CopyValue(unsigned long)
-?CopyValue@ODBC_PARAMETER@@QAEHK@Z
-; public: int __thiscall ODBC_PARAMETER::CopyValue(struct _SYSTEMTIME *)
-?CopyValue@ODBC_PARAMETER@@QAEHPAU_SYSTEMTIME@@@Z
-; public: int __thiscall ODBC_PARAMETER::CopyValue(void *,long)
-?CopyValue@ODBC_PARAMETER@@QAEHPAXJ@Z
-; public: int __thiscall ODBC_PARAMETER::CopyValue(char const *)
-?CopyValue@ODBC_PARAMETER@@QAEHPBD@Z
-; public: int __thiscall ODBC_PARAMETER::CopyValue(unsigned short const *)
-?CopyValue@ODBC_PARAMETER@@QAEHPBG@Z
-; public: static unsigned long __stdcall ODBC_CONNECTION::DisplaySize(short,unsigned long)
-?DisplaySize@ODBC_CONNECTION@@SGKFK@Z
-; public: int __thiscall ODBC_STATEMENT::ExecDirect(char const *,unsigned long)
-?ExecDirect@ODBC_STATEMENT@@QAEHPBDK@Z
-; public: int __thiscall ODBC_STATEMENT::ExecuteStatement(void)
-?ExecuteStatement@ODBC_STATEMENT@@QAEHXZ
-; public: void __thiscall ODBC_STATEMENT::FreeColumnMemory(void)
-?FreeColumnMemory@ODBC_STATEMENT@@QAEXXZ
-; public: int __thiscall ODBC_CONNECTION::GetInfo(unsigned long,void *,unsigned long,unsigned long *)
-?GetInfo@ODBC_CONNECTION@@QAEHKPAXKPAK@Z
-; public: int __thiscall ODBC_CONNECTION::GetLastErrorText(class STR *,void *,short)const 
-?GetLastErrorText@ODBC_CONNECTION@@QBEHPAVSTR@@PAXF@Z
-; public: int __thiscall ODBC_CONNECTION::GetLastErrorTextAsHtml(class STR *,void *,short)const 
-?GetLastErrorTextAsHtml@ODBC_CONNECTION@@QBEHPAVSTR@@PAXF@Z
-; public: int __thiscall ODBC_CONNECTION::IsValid(void)const 
-?IsValid@ODBC_CONNECTION@@QBEHXZ
-; public: int __thiscall ODBC_STATEMENT::IsValid(void)const 
-?IsValid@ODBC_STATEMENT@@QBEHXZ
-; private: void __thiscall LOGGING::LockExclusive(void)
-?LockExclusive@LOGGING@@AAEXXZ
-; private: void __thiscall LOGGING::LockShared(void)
-?LockShared@LOGGING@@AAEXXZ
-; public: int __thiscall ODBC_STATEMENT::MoreResults(int *)
-?MoreResults@ODBC_STATEMENT@@QAEHPAH@Z
-; public: int __thiscall ODBC_CONNECTION::Open(char const *,char const *,char const *,int)
-?Open@ODBC_CONNECTION@@QAEHPBD00H@Z
-; public: int __thiscall ODBC_STATEMENT::PrepareStatement(char const *)
-?PrepareStatement@ODBC_STATEMENT@@QAEHPBD@Z
-; public: short __thiscall ODBC_PARAMETER::QueryCType(void)const 
-?QueryCType@ODBC_PARAMETER@@QBEFXZ
-; public: long __thiscall ODBC_PARAMETER::QueryCbValue(void)const 
-?QueryCbValue@ODBC_PARAMETER@@QBEJXZ
-; public: long & __thiscall ODBC_PARAMETER::QueryCbValueRef(void)
-?QueryCbValueRef@ODBC_PARAMETER@@QAEAAJXZ
-; public: int __thiscall ODBC_STATEMENT::QueryColNames(class STR * *,unsigned long *,unsigned long,int *)
-?QueryColNames@ODBC_STATEMENT@@QAEHPAPAVSTR@@PAKKPAH@Z
-; public: short __thiscall ODBC_CONNECTION::QueryErrorCode(void)const 
-?QueryErrorCode@ODBC_CONNECTION@@QBEFXZ
-; public: short __thiscall ODBC_STATEMENT::QueryErrorCode(void)const 
-?QueryErrorCode@ODBC_STATEMENT@@QBEFXZ
-; public: long __thiscall ODBC_PARAMETER::QueryMaxCbValue(void)const 
-?QueryMaxCbValue@ODBC_PARAMETER@@QBEJXZ
-; public: unsigned short __thiscall ODBC_PARAMETER::QueryParamNumber(void)const 
-?QueryParamNumber@ODBC_PARAMETER@@QBEGXZ
-; public: short __thiscall ODBC_PARAMETER::QueryParamType(void)const 
-?QueryParamType@ODBC_PARAMETER@@QBEFXZ
-; public: unsigned long __thiscall ODBC_PARAMETER::QueryPrecision(void)const 
-?QueryPrecision@ODBC_PARAMETER@@QBEKXZ
-; public: int __thiscall ODBC_STATEMENT::QueryRowCount(long *)
-?QueryRowCount@ODBC_STATEMENT@@QAEHPAJ@Z
-; public: short __thiscall ODBC_PARAMETER::QueryScale(void)const 
-?QueryScale@ODBC_PARAMETER@@QBEFXZ
-; public: short __thiscall ODBC_PARAMETER::QuerySqlType(void)const 
-?QuerySqlType@ODBC_PARAMETER@@QBEFXZ
-; public: void * __thiscall ODBC_PARAMETER::QueryValue(void)const 
-?QueryValue@ODBC_PARAMETER@@QBEPAXXZ
-; public: int __thiscall ODBC_STATEMENT::QueryValuesAsStr(class STR * *,int *)
-?QueryValuesAsStr@ODBC_STATEMENT@@QAEHPAPAVSTR@@PAH@Z
-; public: int __thiscall ODBC_CONNECTION::SetConnectOption(unsigned short,unsigned long)
-?SetConnectOption@ODBC_CONNECTION@@QAEHGK@Z
-; public: int __thiscall ODBC_PARAMETER::SetValueBuffer(long,long)
-?SetValueBuffer@ODBC_PARAMETER@@QAEHJJ@Z
-; public: static int __stdcall ODBC_CONNECTION::Success(short)
-?Success@ODBC_CONNECTION@@SGHF@Z
-; private: void __thiscall LOGGING::Unlock(void)
-?Unlock@LOGGING@@AAEXXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IISLOG.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISLOG.DLL
+EXPORTS
+; public: __thiscall LOGGING::LOGGING(class LOGGING const &)
+??0LOGGING@@QAE@ABV0@@Z
+; public: __thiscall ODBC_CONNECTION::ODBC_CONNECTION(void)
+??0ODBC_CONNECTION@@QAE@XZ
+; public: __thiscall ODBC_PARAMETER::ODBC_PARAMETER(unsigned short,short,short,short,unsigned long)
+??0ODBC_PARAMETER@@QAE@GFFFK@Z
+; public: __thiscall ODBC_CONNECTION::~ODBC_CONNECTION(void)
+??1ODBC_CONNECTION@@QAE@XZ
+; public: __thiscall ODBC_PARAMETER::~ODBC_PARAMETER(void)
+??1ODBC_PARAMETER@@QAE@XZ
+; public: __thiscall ODBC_STATEMENT::~ODBC_STATEMENT(void)
+??1ODBC_STATEMENT@@QAE@XZ
+; public: class LOGGING & __thiscall LOGGING::operator=(class LOGGING const &)
+??4LOGGING@@QAEAAV0@ABV0@@Z
+; public: class ODBC_STATEMENT * __thiscall ODBC_CONNECTION::AllocStatement(void)
+?AllocStatement@ODBC_CONNECTION@@QAEPAVODBC_STATEMENT@@XZ
+; public: short __thiscall ODBC_PARAMETER::Bind(void *)
+?Bind@ODBC_PARAMETER@@QAEFPAX@Z
+; public: int __thiscall ODBC_STATEMENT::BindParameter(class ODBC_PARAMETER *)
+?BindParameter@ODBC_STATEMENT@@QAEHPAVODBC_PARAMETER@@@Z
+; public: int __thiscall ODBC_CONNECTION::Close(void)
+?Close@ODBC_CONNECTION@@QAEHXZ
+; public: int __thiscall ODBC_PARAMETER::CopyValue(unsigned long)
+?CopyValue@ODBC_PARAMETER@@QAEHK@Z
+; public: int __thiscall ODBC_PARAMETER::CopyValue(struct _SYSTEMTIME *)
+?CopyValue@ODBC_PARAMETER@@QAEHPAU_SYSTEMTIME@@@Z
+; public: int __thiscall ODBC_PARAMETER::CopyValue(void *,long)
+?CopyValue@ODBC_PARAMETER@@QAEHPAXJ@Z
+; public: int __thiscall ODBC_PARAMETER::CopyValue(char const *)
+?CopyValue@ODBC_PARAMETER@@QAEHPBD@Z
+; public: int __thiscall ODBC_PARAMETER::CopyValue(unsigned short const *)
+?CopyValue@ODBC_PARAMETER@@QAEHPBG@Z
+; public: static unsigned long __stdcall ODBC_CONNECTION::DisplaySize(short,unsigned long)
+?DisplaySize@ODBC_CONNECTION@@SGKFK@Z
+; public: int __thiscall ODBC_STATEMENT::ExecDirect(char const *,unsigned long)
+?ExecDirect@ODBC_STATEMENT@@QAEHPBDK@Z
+; public: int __thiscall ODBC_STATEMENT::ExecuteStatement(void)
+?ExecuteStatement@ODBC_STATEMENT@@QAEHXZ
+; public: void __thiscall ODBC_STATEMENT::FreeColumnMemory(void)
+?FreeColumnMemory@ODBC_STATEMENT@@QAEXXZ
+; public: int __thiscall ODBC_CONNECTION::GetInfo(unsigned long,void *,unsigned long,unsigned long *)
+?GetInfo@ODBC_CONNECTION@@QAEHKPAXKPAK@Z
+; public: int __thiscall ODBC_CONNECTION::GetLastErrorText(class STR *,void *,short)const 
+?GetLastErrorText@ODBC_CONNECTION@@QBEHPAVSTR@@PAXF@Z
+; public: int __thiscall ODBC_CONNECTION::GetLastErrorTextAsHtml(class STR *,void *,short)const 
+?GetLastErrorTextAsHtml@ODBC_CONNECTION@@QBEHPAVSTR@@PAXF@Z
+; public: int __thiscall ODBC_CONNECTION::IsValid(void)const 
+?IsValid@ODBC_CONNECTION@@QBEHXZ
+; public: int __thiscall ODBC_STATEMENT::IsValid(void)const 
+?IsValid@ODBC_STATEMENT@@QBEHXZ
+; private: void __thiscall LOGGING::LockExclusive(void)
+?LockExclusive@LOGGING@@AAEXXZ
+; private: void __thiscall LOGGING::LockShared(void)
+?LockShared@LOGGING@@AAEXXZ
+; public: int __thiscall ODBC_STATEMENT::MoreResults(int *)
+?MoreResults@ODBC_STATEMENT@@QAEHPAH@Z
+; public: int __thiscall ODBC_CONNECTION::Open(char const *,char const *,char const *,int)
+?Open@ODBC_CONNECTION@@QAEHPBD00H@Z
+; public: int __thiscall ODBC_STATEMENT::PrepareStatement(char const *)
+?PrepareStatement@ODBC_STATEMENT@@QAEHPBD@Z
+; public: short __thiscall ODBC_PARAMETER::QueryCType(void)const 
+?QueryCType@ODBC_PARAMETER@@QBEFXZ
+; public: long __thiscall ODBC_PARAMETER::QueryCbValue(void)const 
+?QueryCbValue@ODBC_PARAMETER@@QBEJXZ
+; public: long & __thiscall ODBC_PARAMETER::QueryCbValueRef(void)
+?QueryCbValueRef@ODBC_PARAMETER@@QAEAAJXZ
+; public: int __thiscall ODBC_STATEMENT::QueryColNames(class STR * *,unsigned long *,unsigned long,int *)
+?QueryColNames@ODBC_STATEMENT@@QAEHPAPAVSTR@@PAKKPAH@Z
+; public: short __thiscall ODBC_CONNECTION::QueryErrorCode(void)const 
+?QueryErrorCode@ODBC_CONNECTION@@QBEFXZ
+; public: short __thiscall ODBC_STATEMENT::QueryErrorCode(void)const 
+?QueryErrorCode@ODBC_STATEMENT@@QBEFXZ
+; public: long __thiscall ODBC_PARAMETER::QueryMaxCbValue(void)const 
+?QueryMaxCbValue@ODBC_PARAMETER@@QBEJXZ
+; public: unsigned short __thiscall ODBC_PARAMETER::QueryParamNumber(void)const 
+?QueryParamNumber@ODBC_PARAMETER@@QBEGXZ
+; public: short __thiscall ODBC_PARAMETER::QueryParamType(void)const 
+?QueryParamType@ODBC_PARAMETER@@QBEFXZ
+; public: unsigned long __thiscall ODBC_PARAMETER::QueryPrecision(void)const 
+?QueryPrecision@ODBC_PARAMETER@@QBEKXZ
+; public: int __thiscall ODBC_STATEMENT::QueryRowCount(long *)
+?QueryRowCount@ODBC_STATEMENT@@QAEHPAJ@Z
+; public: short __thiscall ODBC_PARAMETER::QueryScale(void)const 
+?QueryScale@ODBC_PARAMETER@@QBEFXZ
+; public: short __thiscall ODBC_PARAMETER::QuerySqlType(void)const 
+?QuerySqlType@ODBC_PARAMETER@@QBEFXZ
+; public: void * __thiscall ODBC_PARAMETER::QueryValue(void)const 
+?QueryValue@ODBC_PARAMETER@@QBEPAXXZ
+; public: int __thiscall ODBC_STATEMENT::QueryValuesAsStr(class STR * *,int *)
+?QueryValuesAsStr@ODBC_STATEMENT@@QAEHPAPAVSTR@@PAH@Z
+; public: int __thiscall ODBC_CONNECTION::SetConnectOption(unsigned short,unsigned long)
+?SetConnectOption@ODBC_CONNECTION@@QAEHGK@Z
+; public: int __thiscall ODBC_PARAMETER::SetValueBuffer(long,long)
+?SetValueBuffer@ODBC_PARAMETER@@QAEHJJ@Z
+; public: static int __stdcall ODBC_CONNECTION::Success(short)
+?Success@ODBC_CONNECTION@@SGHF@Z
+; private: void __thiscall LOGGING::Unlock(void)
+?Unlock@LOGGING@@AAEXXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiismap.def b/mingw-w64-crt/lib64/wiismap.def
index 369b5f7..5b2494b 100644
--- a/mingw-w64-crt/lib64/wiismap.def
+++ b/mingw-w64-crt/lib64/wiismap.def
@@ -1,418 +1,418 @@
-; 
-; Exports of file IISMAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISMAP.dll
-EXPORTS
-; public: __thiscall CAllocString::CAllocString(void)
-??0CAllocString@@QAE@XZ
-; public: __thiscall CBlob::CBlob(void)
-??0CBlob@@QAE@XZ
-; public: __thiscall CBlobXBF::CBlobXBF(void)
-??0CBlobXBF@@QAE@XZ
-; public: __thiscall CCert11Mapping::CCert11Mapping(class CIisAcctMapper *)
-??0CCert11Mapping@@QAE@PAVCIisAcctMapper@@@Z
-; public: __thiscall CCertGlobalRuleInfo::CCertGlobalRuleInfo(void)
-??0CCertGlobalRuleInfo@@QAE@XZ
-; public: __thiscall CCertMapRule::CCertMapRule(void)
-??0CCertMapRule@@QAE@XZ
-; public: __thiscall CDecodedCert::CDecodedCert(struct _CERT_CONTEXT *)
-??0CDecodedCert@@QAE@PAU_CERT_CONTEXT@@@Z
-; public: __thiscall CIisAcctMapper::CIisAcctMapper(void)
-??0CIisAcctMapper@@QAE@XZ
-; public: __thiscall CIisCert11Mapper::CIisCert11Mapper(void)
-??0CIisCert11Mapper@@QAE@XZ
-; public: __thiscall CIisRuleMapper::CIisRuleMapper(void)
-??0CIisRuleMapper@@QAE@XZ
-; public: __thiscall CIssuerStore::CIssuerStore(void)
-??0CIssuerStore@@QAE@XZ
-; public: __thiscall CPtrDwordXBF::CPtrDwordXBF(void)
-??0CPtrDwordXBF@@QAE@XZ
-; public: __thiscall CPtrXBF::CPtrXBF(void)
-??0CPtrXBF@@QAE@XZ
-; public: __thiscall CStoreXBF::CStoreXBF(unsigned int)
-??0CStoreXBF@@QAE@I@Z
-; public: __thiscall CAllocString::~CAllocString(void)
-??1CAllocString@@QAE@XZ
-; public: __thiscall CBlob::~CBlob(void)
-??1CBlob@@QAE@XZ
-; public: __thiscall CBlobXBF::~CBlobXBF(void)
-??1CBlobXBF@@QAE@XZ
-; public: __thiscall CCert11Mapping::~CCert11Mapping(void)
-??1CCert11Mapping@@QAE@XZ
-; public: __thiscall CCertGlobalRuleInfo::~CCertGlobalRuleInfo(void)
-??1CCertGlobalRuleInfo@@QAE@XZ
-; public: __thiscall CCertMapRule::~CCertMapRule(void)
-??1CCertMapRule@@QAE@XZ
-; public: __thiscall CDecodedCert::~CDecodedCert(void)
-??1CDecodedCert@@QAE@XZ
-; public: __thiscall CIisAcctMapper::~CIisAcctMapper(void)
-??1CIisAcctMapper@@QAE@XZ
-; public: __thiscall CIisCert11Mapper::~CIisCert11Mapper(void)
-??1CIisCert11Mapper@@QAE@XZ
-; public: __thiscall CIisRuleMapper::~CIisRuleMapper(void)
-??1CIisRuleMapper@@QAE@XZ
-; public: __thiscall CIssuerStore::~CIssuerStore(void)
-??1CIssuerStore@@QAE@XZ
-; public: __thiscall CStoreXBF::~CStoreXBF(void)
-??1CStoreXBF@@QAE@XZ
-; public: __thiscall CStrPtrXBF::~CStrPtrXBF(void)
-??1CStrPtrXBF@@QAE@XZ
-; public: void __thiscall CStoreXBF::`default constructor closure'(void)
-??_FCStoreXBF@@QAEXXZ
-; public: virtual int __thiscall CIisAcctMapper::Add(class CIisMapping *,int)
-?Add@CIisAcctMapper@@UAEHPAVCIisMapping@@H@Z
-; public: unsigned long __thiscall CBlobXBF::AddEntry(unsigned char *,unsigned long)
-?AddEntry@CBlobXBF@@QAEKPAEK@Z
-; public: unsigned long __thiscall CStrPtrXBF::AddEntry(char *)
-?AddEntry@CStrPtrXBF@@QAEKPAD@Z
-; public: virtual unsigned long __thiscall CIisAcctMapper::AddEx(class CIisMapping *)
-?AddEx@CIisAcctMapper@@UAEKPAVCIisMapping@@@Z
-; public: int __thiscall CCertMapRule::AddIssuerEntry(char *,int)
-?AddIssuerEntry@CCertMapRule@@QAEHPADH@Z
-; public: unsigned long __thiscall CPtrDwordXBF::AddPtr(unsigned long)
-?AddPtr@CPtrDwordXBF@@QAEKK@Z
-; public: unsigned long __thiscall CPtrXBF::AddPtr(void *)
-?AddPtr@CPtrXBF@@QAEKPAX@Z
-; public: unsigned long __thiscall CIisRuleMapper::AddRule(class CCertMapRule *)
-?AddRule@CIisRuleMapper@@QAEKPAVCCertMapRule@@@Z
-; public: unsigned long __thiscall CIisRuleMapper::AddRule(void)
-?AddRule@CIisRuleMapper@@QAEKXZ
-; public: unsigned long __thiscall CCertMapRule::AddRuleElem(unsigned long,enum CERT_FIELD_ID,char *,unsigned char *,unsigned long,unsigned long)
-?AddRuleElem@CCertMapRule@@QAEKKW4CERT_FIELD_ID@@PADPAEKK@Z
-; public: int __thiscall CCertGlobalRuleInfo::AddRuleOrder(void)
-?AddRuleOrder@CCertGlobalRuleInfo@@QAEHXZ
-; public: int __thiscall CAllocString::Append(char *)
-?Append@CAllocString@@QAEHPAD@Z
-; public: int __thiscall CStoreXBF::Append(unsigned long)
-?Append@CStoreXBF@@QAEHK@Z
-; public: int __thiscall CStoreXBF::Append(char *)
-?Append@CStoreXBF@@QAEHPAD@Z
-; public: int __thiscall CStoreXBF::Append(unsigned char *,unsigned long)
-?Append@CStoreXBF@@QAEHPAEK@Z
-; public: int __thiscall CStoreXBF::AppendZ(char *)
-?AppendZ@CStoreXBF@@QAEHPAD@Z
-; int __stdcall BinaryToMatchRequest(unsigned char *,unsigned long,char * *)
-?BinaryToMatchRequest@@YGHPAEKPAPAD@Z
-; public: void __thiscall CStoreXBF::Clear(void)
-?Clear@CStoreXBF@@QAEXXZ
-; public: virtual int __thiscall CIisMapping::Clone(class CIisMapping * *)
-?Clone@CIisMapping@@UAEHPAPAV1@@Z
-; public: int __thiscall CIisMapping::CloneEx(class CIisMapping * *,char * *,char * *,unsigned long *,unsigned long *,unsigned int)
-?CloneEx@CIisMapping@@QAEHPAPAV1@PAPAD1PAK2I@Z
-; public: int __thiscall CIisMapping::Copy(class CIisMapping *)
-?Copy@CIisMapping@@QAEHPAV1@@Z
-; public: int __thiscall CIisAcctMapper::Create(void)
-?Create@CIisAcctMapper@@QAEHXZ
-; public: virtual class CIisMapping * __thiscall CIisAcctMapper::CreateNewMapping(void)
-?CreateNewMapping@CIisAcctMapper@@UAEPAVCIisMapping@@XZ
-; public: class CIisMapping * __thiscall CIisCert11Mapper::CreateNewMapping(unsigned char *,unsigned long)
-?CreateNewMapping@CIisCert11Mapper@@QAEPAVCIisMapping@@PAEK@Z
-; public: virtual class CIisMapping * __thiscall CIisCert11Mapper::CreateNewMapping(void)
-?CreateNewMapping@CIisCert11Mapper@@UAEPAVCIisMapping@@XZ
-; public: int __thiscall CStoreXBF::DecreaseUse(unsigned long)
-?DecreaseUse@CStoreXBF@@QAEHK@Z
-; public: int __thiscall CIisAcctMapper::Delete(unsigned long,int)
-?Delete@CIisAcctMapper@@QAEHKH@Z
-; public: int __thiscall CIisAcctMapper::Delete(void)
-?Delete@CIisAcctMapper@@QAEHXZ
-; public: int __thiscall CBlobXBF::DeleteEntry(unsigned long)
-?DeleteEntry@CBlobXBF@@QAEHK@Z
-; public: int __thiscall CStrPtrXBF::DeleteEntry(unsigned long)
-?DeleteEntry@CStrPtrXBF@@QAEHK@Z
-; public: int __thiscall CCertMapRule::DeleteIssuerEntry(unsigned long)
-?DeleteIssuerEntry@CCertMapRule@@QAEHK@Z
-; public: int __thiscall CPtrDwordXBF::DeletePtr(unsigned long)
-?DeletePtr@CPtrDwordXBF@@QAEHK@Z
-; public: int __thiscall CPtrXBF::DeletePtr(unsigned long)
-?DeletePtr@CPtrXBF@@QAEHK@Z
-; public: int __thiscall CIisRuleMapper::DeleteRule(unsigned long)
-?DeleteRule@CIisRuleMapper@@QAEHK@Z
-; public: int __thiscall CCertGlobalRuleInfo::DeleteRuleById(unsigned long,int)
-?DeleteRuleById@CCertGlobalRuleInfo@@QAEHKH@Z
-; public: int __thiscall CCertMapRule::DeleteRuleElem(unsigned long)
-?DeleteRuleElem@CCertMapRule@@QAEHK@Z
-; public: int __thiscall CCertMapRule::DeleteRuleElemsByField(enum CERT_FIELD_ID)
-?DeleteRuleElemsByField@CCertMapRule@@QAEHW4CERT_FIELD_ID@@@Z
-; public: virtual int __thiscall CIisMapping::Deserialize(struct _iobuf *,void *,void *)
-?Deserialize@CIisMapping@@UAEHPAU_iobuf@@PAX1@Z
-; char * __stdcall EnumerateKnownSubFields(unsigned long)
-?EnumerateKnownSubFields@@YGPADK@Z
-; public: int __thiscall CIisAcctMapper::FindMatch(class CIisMapping *,class CIisMapping * *,unsigned long *)
-?FindMatch@CIisAcctMapper@@QAEHPAVCIisMapping@@PAPAV2@PAK@Z
-; public: int __thiscall CIisAcctMapper::FlushAlternate(int)
-?FlushAlternate@CIisAcctMapper@@QAEHH@Z
-; void __stdcall FreeMatchConversion(void *)
-?FreeMatchConversion@@YGXPAX@Z
-; public: char * __thiscall CAllocString::Get(void)
-?Get@CAllocString@@QAEPADXZ
-; public: unsigned char * __thiscall CBlob::Get(unsigned long *)
-?Get@CBlob@@QAEPAEPAK@Z
-; public: class CBlob * __thiscall CBlobXBF::GetBlob(unsigned long)
-?GetBlob@CBlobXBF@@QAEPAVCBlob@@K@Z
-; public: unsigned char * __thiscall CStoreXBF::GetBuff(void)
-?GetBuff@CStoreXBF@@QAEPAEXZ
-; public: int __thiscall CBlobXBF::GetEntry(unsigned long,unsigned char * *,unsigned long *)
-?GetEntry@CBlobXBF@@QAEHKPAPAEPAK@Z
-; public: char * __thiscall CStrPtrXBF::GetEntry(unsigned long)
-?GetEntry@CStrPtrXBF@@QAEPADK@Z
-; public: class CCertGlobalRuleInfo * __thiscall CIisRuleMapper::GetGlobalRulesInfo(void)
-?GetGlobalRulesInfo@CIisRuleMapper@@QAEPAVCCertGlobalRuleInfo@@XZ
-; public: struct _IISMDB_HEntry * __thiscall CIisAcctMapper::GetHierarchy(unsigned long *)
-?GetHierarchy@CIisAcctMapper@@QAEPAU_IISMDB_HEntry@@PAK@Z
-; unsigned long __stdcall GetIdFlags(enum CERT_FIELD_ID)
-?GetIdFlags@@YGKW4CERT_FIELD_ID@@@Z
-; public: int __thiscall CDecodedCert::GetIssuer(void * *,unsigned long *)
-?GetIssuer@CDecodedCert@@QAEHPAPAXPAK@Z
-; public: unsigned long __thiscall CCertMapRule::GetIssuerCount(void)
-?GetIssuerCount@CCertMapRule@@QAEKXZ
-; public: int __thiscall CCertMapRule::GetIssuerEntry(unsigned long,int *,char * *)
-?GetIssuerEntry@CCertMapRule@@QAEHKPAHPAPAD@Z
-; public: int __thiscall CCertMapRule::GetIssuerEntryByName(char *,int *)
-?GetIssuerEntryByName@CCertMapRule@@QAEHPADPAH@Z
-; public: int __thiscall CIisAcctMapper::GetMapping(unsigned long,class CIisMapping * *,int,int)
-?GetMapping@CIisAcctMapper@@QAEHKPAPAVCIisMapping@@HH@Z
-; public: unsigned long __thiscall CIisAcctMapper::GetMappingCount(void)
-?GetMappingCount@CIisAcctMapper@@QAEKXZ
-; public: int __thiscall CCertMapRule::GetMatchAllIssuer(void)
-?GetMatchAllIssuer@CCertMapRule@@QAEHXZ
-; public: unsigned long __thiscall CBlobXBF::GetNbEntry(void)
-?GetNbEntry@CBlobXBF@@QAEKXZ
-; public: unsigned long __thiscall CStrPtrXBF::GetNbEntry(void)
-?GetNbEntry@CStrPtrXBF@@QAEKXZ
-; public: virtual unsigned int __thiscall CIisMapping::GetNbField(char * * *)
-?GetNbField@CIisMapping@@UAEIPAPAPAD@Z
-; public: virtual unsigned int __thiscall CIisMapping::GetNbField(char * * *,unsigned long * *)
-?GetNbField@CIisMapping@@UAEIPAPAPADPAPAK@Z
-; public: unsigned long __thiscall CIssuerStore::GetNbIssuers(void)
-?GetNbIssuers@CIssuerStore@@QAEKXZ
-; public: unsigned long __thiscall CIisAcctMapper::GetNbMapping(int)
-?GetNbMapping@CIisAcctMapper@@QAEKH@Z
-; public: unsigned long __thiscall CPtrDwordXBF::GetNbPtr(void)
-?GetNbPtr@CPtrDwordXBF@@QAEKXZ
-; public: unsigned long __thiscall CPtrXBF::GetNbPtr(void)
-?GetNbPtr@CPtrXBF@@QAEKXZ
-; public: unsigned long __thiscall CIisAcctMapper::GetOptions(void)
-?GetOptions@CIisAcctMapper@@QAEKXZ
-; public: unsigned long * __thiscall CPtrDwordXBF::GetPtr(unsigned long)
-?GetPtr@CPtrDwordXBF@@QAEPAKK@Z
-; public: void * __thiscall CPtrXBF::GetPtr(unsigned long)
-?GetPtr@CPtrXBF@@QAEPAXK@Z
-; public: void * __thiscall CPtrXBF::GetPtrAddr(unsigned long)
-?GetPtrAddr@CPtrXBF@@QAEPAXK@Z
-; public: class CCertMapRule * __thiscall CIisRuleMapper::GetRule(unsigned long)
-?GetRule@CIisRuleMapper@@QAEPAVCCertMapRule@@K@Z
-; public: char * __thiscall CCertMapRule::GetRuleAccount(void)
-?GetRuleAccount@CCertMapRule@@QAEPADXZ
-; public: unsigned long __thiscall CIisRuleMapper::GetRuleCount(void)
-?GetRuleCount@CIisRuleMapper@@QAEKXZ
-; public: int __thiscall CCertMapRule::GetRuleDenyAccess(void)
-?GetRuleDenyAccess@CCertMapRule@@QAEHXZ
-; public: int __thiscall CCertMapRule::GetRuleElem(unsigned long,enum CERT_FIELD_ID *,char * *,unsigned long *,char * *,unsigned long *)
-?GetRuleElem@CCertMapRule@@QAEHKPAW4CERT_FIELD_ID@@PAPADPAK12@Z
-; public: unsigned long __thiscall CCertMapRule::GetRuleElemCount(void)
-?GetRuleElemCount@CCertMapRule@@QAEKXZ
-; public: int __thiscall CCertMapRule::GetRuleEnabled(void)
-?GetRuleEnabled@CCertMapRule@@QAEHXZ
-; public: char * __thiscall CCertMapRule::GetRuleName(void)
-?GetRuleName@CCertMapRule@@QAEPADXZ
-; public: unsigned long * __thiscall CCertGlobalRuleInfo::GetRuleOrderArray(void)
-?GetRuleOrderArray@CCertGlobalRuleInfo@@QAEPAKXZ
-; public: unsigned long __thiscall CCertGlobalRuleInfo::GetRuleOrderCount(void)
-?GetRuleOrderCount@CCertGlobalRuleInfo@@QAEKXZ
-; public: char * __thiscall CCertMapRule::GetRulePassword(void)
-?GetRulePassword@CCertMapRule@@QAEPADXZ
-; public: int __thiscall CCertGlobalRuleInfo::GetRulesEnabled(void)
-?GetRulesEnabled@CCertGlobalRuleInfo@@QAEHXZ
-; public: struct _CERT_RDN_ATTR * * __thiscall CDecodedCert::GetSubField(enum CERT_FIELD_ID,char *,unsigned long *)
-?GetSubField@CDecodedCert@@QAEPAPAU_CERT_RDN_ATTR@@W4CERT_FIELD_ID@@PADPAK@Z
-; public: unsigned long __thiscall CStoreXBF::GetUsed(void)
-?GetUsed@CStoreXBF@@QAEKXZ
-; int __stdcall IISuudecode(char *,unsigned char *,unsigned long *,int)
-?IISuudecode@@YGHPADPAEPAKH@Z
-; int __stdcall IISuuencode(unsigned char *,unsigned long,unsigned char *,int)
-?IISuuencode@@YGHPAEK0H@Z
-; void __stdcall ImportIISCertMappingsToIIS6(void)
-?ImportIISCertMappingsToIIS6@@YGXXZ
-; public: int __thiscall CBlob::InitSet(unsigned char *,unsigned long)
-?InitSet@CBlob@@QAEHPAEK@Z
-; public: unsigned long __thiscall CBlobXBF::InsertEntry(unsigned long,char *,unsigned long)
-?InsertEntry@CBlobXBF@@QAEKKPADK@Z
-; public: unsigned long __thiscall CStrPtrXBF::InsertEntry(unsigned long,char *)
-?InsertEntry@CStrPtrXBF@@QAEKKPAD@Z
-; public: unsigned long __thiscall CPtrDwordXBF::InsertPtr(unsigned long,unsigned long)
-?InsertPtr@CPtrDwordXBF@@QAEKKK@Z
-; public: unsigned long __thiscall CPtrXBF::InsertPtr(unsigned long,void *)
-?InsertPtr@CPtrXBF@@QAEKKPAX@Z
-; public: int __thiscall CCertGlobalRuleInfo::IsValid(void)
-?IsValid@CCertGlobalRuleInfo@@QAEHXZ
-; public: int __thiscall CCertMapRule::IsValid(void)
-?IsValid@CCertMapRule@@QAEHXZ
-; public: int __thiscall CIisRuleMapper::IsValid(void)
-?IsValid@CIisRuleMapper@@QAEHXZ
-; public: int __thiscall CIisAcctMapper::Load(void)
-?Load@CIisAcctMapper@@QAEHXZ
-; public: int __thiscall CStoreXBF::Load(void *)
-?Load@CStoreXBF@@QAEHPAX@Z
-; public: void __thiscall CIisAcctMapper::Lock(void)
-?Lock@CIisAcctMapper@@QAEXXZ
-; char * __stdcall MapAsn1ToSubField(char *)
-?MapAsn1ToSubField@@YGPADPAD@Z
-; enum CERT_FIELD_ID  __stdcall MapFieldToId(char *)
-?MapFieldToId@@YG?AW4CERT_FIELD_ID@@PAD@Z
-; char * __stdcall MapIdToField(enum CERT_FIELD_ID)
-?MapIdToField@@YGPADW4CERT_FIELD_ID@@@Z
-; char * __stdcall MapSubFieldToAsn1(char *)
-?MapSubFieldToAsn1@@YGPADPAD@Z
-; public: virtual int __thiscall CIisMapping::MappingGetField(unsigned long,char * *)
-?MappingGetField@CIisMapping@@UAEHKPAPAD@Z
-; public: virtual int __thiscall CIisMapping::MappingGetField(unsigned long,unsigned char * *,unsigned long *,int)
-?MappingGetField@CIisMapping@@UAEHKPAPAEPAKH@Z
-; public: int __thiscall CIisAcctMapper::MappingGetFieldList(struct _IISMDB_Fields * *,unsigned long *)
-?MappingGetFieldList@CIisAcctMapper@@QAEHPAPAU_IISMDB_Fields@@PAK@Z
-; public: virtual int __thiscall CIisMapping::MappingSetField(unsigned long,char *)
-?MappingSetField@CIisMapping@@UAEHKPAD@Z
-; public: virtual int __thiscall CIisMapping::MappingSetField(unsigned long,unsigned char *,unsigned long,int)
-?MappingSetField@CIisMapping@@UAEHKPAEKH@Z
-; public: int __thiscall CCertMapRule::Match(class CDecodedCert *,class CDecodedCert *,char *,char *,int *)
-?Match@CCertMapRule@@QAEHPAVCDecodedCert@@0PAD1PAH@Z
-; public: int __thiscall CIisRuleMapper::Match(struct _CERT_CONTEXT *,struct _CERT_CONTEXT *,unsigned short *,unsigned short *)
-?Match@CIisRuleMapper@@QAEHPAU_CERT_CONTEXT@@0PAG1@Z
-; int __stdcall MatchRequestToBinary(char *,unsigned char * *,unsigned long *)
-?MatchRequestToBinary@@YGHPADPAPAEPAK@Z
-; public: int __thiscall CStoreXBF::Need(unsigned long)
-?Need@CStoreXBF@@QAEHK@Z
-; public: void __thiscall CIisRuleMapper::ReadLockRules(void)
-?ReadLockRules@CIisRuleMapper@@QAEXXZ
-; public: void __thiscall CIisRuleMapper::ReadUnlockRules(void)
-?ReadUnlockRules@CIisRuleMapper@@QAEXXZ
-; int __stdcall ReportIisMapEvent(unsigned short,unsigned long,unsigned short,char const * *)
-?ReportIisMapEvent@@YGHGKGPAPBD@Z
-; int __stdcall ReportIisMapEventW(unsigned short,unsigned long,unsigned short,unsigned short const * *)
-?ReportIisMapEventW@@YGHGKGPAPBG@Z
-; public: void __thiscall CAllocString::Reset(void)
-?Reset@CAllocString@@QAEXXZ
-; public: void __thiscall CBlob::Reset(void)
-?Reset@CBlob@@QAEXXZ
-; public: void __thiscall CBlobXBF::Reset(void)
-?Reset@CBlobXBF@@QAEXXZ
-; public: int __thiscall CCertGlobalRuleInfo::Reset(void)
-?Reset@CCertGlobalRuleInfo@@QAEHXZ
-; public: void __thiscall CCertMapRule::Reset(void)
-?Reset@CCertMapRule@@QAEXXZ
-; public: int __thiscall CIisAcctMapper::Reset(void)
-?Reset@CIisAcctMapper@@QAEHXZ
-; public: int __thiscall CIisRuleMapper::Reset(void)
-?Reset@CIisRuleMapper@@QAEHXZ
-; public: void __thiscall CIssuerStore::Reset(void)
-?Reset@CIssuerStore@@QAEXXZ
-; public: void __thiscall CStoreXBF::Reset(void)
-?Reset@CStoreXBF@@QAEXXZ
-; public: int __thiscall CIisAcctMapper::Save(void)
-?Save@CIisAcctMapper@@QAEHXZ
-; public: int __thiscall CStoreXBF::Save(void *)
-?Save@CStoreXBF@@QAEHPAX@Z
-; public: int __thiscall CAllocString::Serialize(class CStoreXBF *)
-?Serialize@CAllocString@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CBlob::Serialize(class CStoreXBF *)
-?Serialize@CBlob@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CBlobXBF::Serialize(class CStoreXBF *)
-?Serialize@CBlobXBF@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CCertMapRule::Serialize(class CStoreXBF *)
-?Serialize@CCertMapRule@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CIisAcctMapper::Serialize(class CStoreXBF *)
-?Serialize@CIisAcctMapper@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CIisAcctMapper::Serialize(void)
-?Serialize@CIisAcctMapper@@QAEHXZ
-; public: virtual int __thiscall CIisMapping::Serialize(struct _iobuf *,void *,void *)
-?Serialize@CIisMapping@@UAEHPAU_iobuf@@PAX1@Z
-; public: int __thiscall CIisRuleMapper::Serialize(class CStoreXBF *)
-?Serialize@CIisRuleMapper@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CIssuerStore::Serialize(class CStoreXBF *)
-?Serialize@CIssuerStore@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CPtrDwordXBF::Serialize(class CStoreXBF *)
-?Serialize@CPtrDwordXBF@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CPtrXBF::Serialize(class CStoreXBF *)
-?Serialize@CPtrXBF@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CStrPtrXBF::Serialize(class CStoreXBF *)
-?Serialize@CStrPtrXBF@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CCertGlobalRuleInfo::SerializeGlobalRuleInfo(class CStoreXBF *)
-?SerializeGlobalRuleInfo@CCertGlobalRuleInfo@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CAllocString::Set(char *)
-?Set@CAllocString@@QAEHPAD@Z
-; public: int __thiscall CBlob::Set(unsigned char *,unsigned long)
-?Set@CBlob@@QAEHPAEK@Z
-; public: int __thiscall CBlobXBF::SetEntry(unsigned long,unsigned char *,unsigned long)
-?SetEntry@CBlobXBF@@QAEHKPAEK@Z
-; public: int __thiscall CStrPtrXBF::SetEntry(unsigned long,char *)
-?SetEntry@CStrPtrXBF@@QAEHKPAD@Z
-; public: int __thiscall CCertMapRule::SetIssuerEntryAcceptStatus(unsigned long,int)
-?SetIssuerEntryAcceptStatus@CCertMapRule@@QAEHKH@Z
-; public: void __thiscall CCertMapRule::SetMatchAllIssuer(int)
-?SetMatchAllIssuer@CCertMapRule@@QAEXH@Z
-; public: int __thiscall CPtrDwordXBF::SetPtr(unsigned long,unsigned long)
-?SetPtr@CPtrDwordXBF@@QAEHKK@Z
-; public: int __thiscall CPtrXBF::SetPtr(unsigned long,void *)
-?SetPtr@CPtrXBF@@QAEHKPAX@Z
-; public: int __thiscall CCertMapRule::SetRuleAccount(char *)
-?SetRuleAccount@CCertMapRule@@QAEHPAD@Z
-; public: void __thiscall CCertMapRule::SetRuleDenyAccess(int)
-?SetRuleDenyAccess@CCertMapRule@@QAEXH@Z
-; public: void __thiscall CCertMapRule::SetRuleEnabled(int)
-?SetRuleEnabled@CCertMapRule@@QAEXH@Z
-; public: int __thiscall CCertMapRule::SetRuleName(char *)
-?SetRuleName@CCertMapRule@@QAEHPAD@Z
-; public: int __thiscall CCertMapRule::SetRulePassword(char *)
-?SetRulePassword@CCertMapRule@@QAEHPAD@Z
-; public: void __thiscall CCertGlobalRuleInfo::SetRulesEnabled(int)
-?SetRulesEnabled@CCertGlobalRuleInfo@@QAEXH@Z
-; public: void __thiscall CIisAcctMapper::Unlock(void)
-?Unlock@CIisAcctMapper@@QAEXXZ
-; public: int __thiscall CAllocString::Unserialize(unsigned char * *,unsigned long *)
-?Unserialize@CAllocString@@QAEHPAPAEPAK@Z
-; public: int __thiscall CBlob::Unserialize(unsigned char * *,unsigned long *)
-?Unserialize@CBlob@@QAEHPAPAEPAK@Z
-; public: int __thiscall CBlobXBF::Unserialize(unsigned char * *,unsigned long *,unsigned long)
-?Unserialize@CBlobXBF@@QAEHPAPAEPAKK@Z
-; public: int __thiscall CCertMapRule::Unserialize(unsigned char * *,unsigned long *)
-?Unserialize@CCertMapRule@@QAEHPAPAEPAK@Z
-; public: int __thiscall CCertMapRule::Unserialize(class CStoreXBF *)
-?Unserialize@CCertMapRule@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CIisAcctMapper::Unserialize(unsigned char * *,unsigned long *)
-?Unserialize@CIisAcctMapper@@QAEHPAPAEPAK@Z
-; public: int __thiscall CIisAcctMapper::Unserialize(class CStoreXBF *)
-?Unserialize@CIisAcctMapper@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CIisAcctMapper::Unserialize(void)
-?Unserialize@CIisAcctMapper@@QAEHXZ
-; public: int __thiscall CIisRuleMapper::Unserialize(unsigned char * *,unsigned long *)
-?Unserialize@CIisRuleMapper@@QAEHPAPAEPAK@Z
-; public: int __thiscall CIisRuleMapper::Unserialize(class CStoreXBF *)
-?Unserialize@CIisRuleMapper@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CIssuerStore::Unserialize(unsigned char * *,unsigned long *)
-?Unserialize@CIssuerStore@@QAEHPAPAEPAK@Z
-; public: int __thiscall CIssuerStore::Unserialize(class CStoreXBF *)
-?Unserialize@CIssuerStore@@QAEHPAVCStoreXBF@@@Z
-; public: int __thiscall CPtrDwordXBF::Unserialize(unsigned char * *,unsigned long *,unsigned long)
-?Unserialize@CPtrDwordXBF@@QAEHPAPAEPAKK@Z
-; public: int __thiscall CPtrXBF::Unserialize(unsigned char * *,unsigned long *,unsigned long)
-?Unserialize@CPtrXBF@@QAEHPAPAEPAKK@Z
-; public: int __thiscall CStrPtrXBF::Unserialize(unsigned char * *,unsigned long *,unsigned long)
-?Unserialize@CStrPtrXBF@@QAEHPAPAEPAKK@Z
-; public: int __thiscall CCertGlobalRuleInfo::UnserializeGlobalRuleInfo(unsigned char * *,unsigned long *)
-?UnserializeGlobalRuleInfo@CCertGlobalRuleInfo@@QAEHPAPAEPAK@Z
-; public: int __thiscall CIisAcctMapper::Update(unsigned long)
-?Update@CIisAcctMapper@@QAEHK@Z
-; public: int __thiscall CIisAcctMapper::Update(unsigned long,class CIisMapping *)
-?Update@CIisAcctMapper@@QAEHKPAVCIisMapping@@@Z
-; public: int __thiscall CIisAcctMapper::UpdateClasses(int)
-?UpdateClasses@CIisAcctMapper@@QAEHH@Z
-; public: int __thiscall CIisAcctMapper::UpdateHierarchy(void)
-?UpdateHierarchy@CIisAcctMapper@@QAEHXZ
-; public: int __thiscall CIisMapping::UpdateMask(struct _IISMDB_HEntry *,unsigned long)
-?UpdateMask@CIisMapping@@QAEHPAU_IISMDB_HEntry@@K@Z
-; public: void __thiscall CIisRuleMapper::WriteLockRules(void)
-?WriteLockRules@CIisRuleMapper@@QAEXXZ
-; public: void __thiscall CIisRuleMapper::WriteUnlockRules(void)
-?WriteUnlockRules@CIisRuleMapper@@QAEXXZ
+; 
+; Exports of file IISMAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISMAP.dll
+EXPORTS
+; public: __thiscall CAllocString::CAllocString(void)
+??0CAllocString@@QAE@XZ
+; public: __thiscall CBlob::CBlob(void)
+??0CBlob@@QAE@XZ
+; public: __thiscall CBlobXBF::CBlobXBF(void)
+??0CBlobXBF@@QAE@XZ
+; public: __thiscall CCert11Mapping::CCert11Mapping(class CIisAcctMapper *)
+??0CCert11Mapping@@QAE@PAVCIisAcctMapper@@@Z
+; public: __thiscall CCertGlobalRuleInfo::CCertGlobalRuleInfo(void)
+??0CCertGlobalRuleInfo@@QAE@XZ
+; public: __thiscall CCertMapRule::CCertMapRule(void)
+??0CCertMapRule@@QAE@XZ
+; public: __thiscall CDecodedCert::CDecodedCert(struct _CERT_CONTEXT *)
+??0CDecodedCert@@QAE@PAU_CERT_CONTEXT@@@Z
+; public: __thiscall CIisAcctMapper::CIisAcctMapper(void)
+??0CIisAcctMapper@@QAE@XZ
+; public: __thiscall CIisCert11Mapper::CIisCert11Mapper(void)
+??0CIisCert11Mapper@@QAE@XZ
+; public: __thiscall CIisRuleMapper::CIisRuleMapper(void)
+??0CIisRuleMapper@@QAE@XZ
+; public: __thiscall CIssuerStore::CIssuerStore(void)
+??0CIssuerStore@@QAE@XZ
+; public: __thiscall CPtrDwordXBF::CPtrDwordXBF(void)
+??0CPtrDwordXBF@@QAE@XZ
+; public: __thiscall CPtrXBF::CPtrXBF(void)
+??0CPtrXBF@@QAE@XZ
+; public: __thiscall CStoreXBF::CStoreXBF(unsigned int)
+??0CStoreXBF@@QAE@I@Z
+; public: __thiscall CAllocString::~CAllocString(void)
+??1CAllocString@@QAE@XZ
+; public: __thiscall CBlob::~CBlob(void)
+??1CBlob@@QAE@XZ
+; public: __thiscall CBlobXBF::~CBlobXBF(void)
+??1CBlobXBF@@QAE@XZ
+; public: __thiscall CCert11Mapping::~CCert11Mapping(void)
+??1CCert11Mapping@@QAE@XZ
+; public: __thiscall CCertGlobalRuleInfo::~CCertGlobalRuleInfo(void)
+??1CCertGlobalRuleInfo@@QAE@XZ
+; public: __thiscall CCertMapRule::~CCertMapRule(void)
+??1CCertMapRule@@QAE@XZ
+; public: __thiscall CDecodedCert::~CDecodedCert(void)
+??1CDecodedCert@@QAE@XZ
+; public: __thiscall CIisAcctMapper::~CIisAcctMapper(void)
+??1CIisAcctMapper@@QAE@XZ
+; public: __thiscall CIisCert11Mapper::~CIisCert11Mapper(void)
+??1CIisCert11Mapper@@QAE@XZ
+; public: __thiscall CIisRuleMapper::~CIisRuleMapper(void)
+??1CIisRuleMapper@@QAE@XZ
+; public: __thiscall CIssuerStore::~CIssuerStore(void)
+??1CIssuerStore@@QAE@XZ
+; public: __thiscall CStoreXBF::~CStoreXBF(void)
+??1CStoreXBF@@QAE@XZ
+; public: __thiscall CStrPtrXBF::~CStrPtrXBF(void)
+??1CStrPtrXBF@@QAE@XZ
+; public: void __thiscall CStoreXBF::`default constructor closure'(void)
+??_FCStoreXBF@@QAEXXZ
+; public: virtual int __thiscall CIisAcctMapper::Add(class CIisMapping *,int)
+?Add@CIisAcctMapper@@UAEHPAVCIisMapping@@H@Z
+; public: unsigned long __thiscall CBlobXBF::AddEntry(unsigned char *,unsigned long)
+?AddEntry@CBlobXBF@@QAEKPAEK@Z
+; public: unsigned long __thiscall CStrPtrXBF::AddEntry(char *)
+?AddEntry@CStrPtrXBF@@QAEKPAD@Z
+; public: virtual unsigned long __thiscall CIisAcctMapper::AddEx(class CIisMapping *)
+?AddEx@CIisAcctMapper@@UAEKPAVCIisMapping@@@Z
+; public: int __thiscall CCertMapRule::AddIssuerEntry(char *,int)
+?AddIssuerEntry@CCertMapRule@@QAEHPADH@Z
+; public: unsigned long __thiscall CPtrDwordXBF::AddPtr(unsigned long)
+?AddPtr@CPtrDwordXBF@@QAEKK@Z
+; public: unsigned long __thiscall CPtrXBF::AddPtr(void *)
+?AddPtr@CPtrXBF@@QAEKPAX@Z
+; public: unsigned long __thiscall CIisRuleMapper::AddRule(class CCertMapRule *)
+?AddRule@CIisRuleMapper@@QAEKPAVCCertMapRule@@@Z
+; public: unsigned long __thiscall CIisRuleMapper::AddRule(void)
+?AddRule@CIisRuleMapper@@QAEKXZ
+; public: unsigned long __thiscall CCertMapRule::AddRuleElem(unsigned long,enum CERT_FIELD_ID,char *,unsigned char *,unsigned long,unsigned long)
+?AddRuleElem@CCertMapRule@@QAEKKW4CERT_FIELD_ID@@PADPAEKK@Z
+; public: int __thiscall CCertGlobalRuleInfo::AddRuleOrder(void)
+?AddRuleOrder@CCertGlobalRuleInfo@@QAEHXZ
+; public: int __thiscall CAllocString::Append(char *)
+?Append@CAllocString@@QAEHPAD@Z
+; public: int __thiscall CStoreXBF::Append(unsigned long)
+?Append@CStoreXBF@@QAEHK@Z
+; public: int __thiscall CStoreXBF::Append(char *)
+?Append@CStoreXBF@@QAEHPAD@Z
+; public: int __thiscall CStoreXBF::Append(unsigned char *,unsigned long)
+?Append@CStoreXBF@@QAEHPAEK@Z
+; public: int __thiscall CStoreXBF::AppendZ(char *)
+?AppendZ@CStoreXBF@@QAEHPAD@Z
+; int __stdcall BinaryToMatchRequest(unsigned char *,unsigned long,char * *)
+?BinaryToMatchRequest@@YGHPAEKPAPAD@Z
+; public: void __thiscall CStoreXBF::Clear(void)
+?Clear@CStoreXBF@@QAEXXZ
+; public: virtual int __thiscall CIisMapping::Clone(class CIisMapping * *)
+?Clone@CIisMapping@@UAEHPAPAV1@@Z
+; public: int __thiscall CIisMapping::CloneEx(class CIisMapping * *,char * *,char * *,unsigned long *,unsigned long *,unsigned int)
+?CloneEx@CIisMapping@@QAEHPAPAV1@PAPAD1PAK2I@Z
+; public: int __thiscall CIisMapping::Copy(class CIisMapping *)
+?Copy@CIisMapping@@QAEHPAV1@@Z
+; public: int __thiscall CIisAcctMapper::Create(void)
+?Create@CIisAcctMapper@@QAEHXZ
+; public: virtual class CIisMapping * __thiscall CIisAcctMapper::CreateNewMapping(void)
+?CreateNewMapping@CIisAcctMapper@@UAEPAVCIisMapping@@XZ
+; public: class CIisMapping * __thiscall CIisCert11Mapper::CreateNewMapping(unsigned char *,unsigned long)
+?CreateNewMapping@CIisCert11Mapper@@QAEPAVCIisMapping@@PAEK@Z
+; public: virtual class CIisMapping * __thiscall CIisCert11Mapper::CreateNewMapping(void)
+?CreateNewMapping@CIisCert11Mapper@@UAEPAVCIisMapping@@XZ
+; public: int __thiscall CStoreXBF::DecreaseUse(unsigned long)
+?DecreaseUse@CStoreXBF@@QAEHK@Z
+; public: int __thiscall CIisAcctMapper::Delete(unsigned long,int)
+?Delete@CIisAcctMapper@@QAEHKH@Z
+; public: int __thiscall CIisAcctMapper::Delete(void)
+?Delete@CIisAcctMapper@@QAEHXZ
+; public: int __thiscall CBlobXBF::DeleteEntry(unsigned long)
+?DeleteEntry@CBlobXBF@@QAEHK@Z
+; public: int __thiscall CStrPtrXBF::DeleteEntry(unsigned long)
+?DeleteEntry@CStrPtrXBF@@QAEHK@Z
+; public: int __thiscall CCertMapRule::DeleteIssuerEntry(unsigned long)
+?DeleteIssuerEntry@CCertMapRule@@QAEHK@Z
+; public: int __thiscall CPtrDwordXBF::DeletePtr(unsigned long)
+?DeletePtr@CPtrDwordXBF@@QAEHK@Z
+; public: int __thiscall CPtrXBF::DeletePtr(unsigned long)
+?DeletePtr@CPtrXBF@@QAEHK@Z
+; public: int __thiscall CIisRuleMapper::DeleteRule(unsigned long)
+?DeleteRule@CIisRuleMapper@@QAEHK@Z
+; public: int __thiscall CCertGlobalRuleInfo::DeleteRuleById(unsigned long,int)
+?DeleteRuleById@CCertGlobalRuleInfo@@QAEHKH@Z
+; public: int __thiscall CCertMapRule::DeleteRuleElem(unsigned long)
+?DeleteRuleElem@CCertMapRule@@QAEHK@Z
+; public: int __thiscall CCertMapRule::DeleteRuleElemsByField(enum CERT_FIELD_ID)
+?DeleteRuleElemsByField@CCertMapRule@@QAEHW4CERT_FIELD_ID@@@Z
+; public: virtual int __thiscall CIisMapping::Deserialize(struct _iobuf *,void *,void *)
+?Deserialize@CIisMapping@@UAEHPAU_iobuf@@PAX1@Z
+; char * __stdcall EnumerateKnownSubFields(unsigned long)
+?EnumerateKnownSubFields@@YGPADK@Z
+; public: int __thiscall CIisAcctMapper::FindMatch(class CIisMapping *,class CIisMapping * *,unsigned long *)
+?FindMatch@CIisAcctMapper@@QAEHPAVCIisMapping@@PAPAV2@PAK@Z
+; public: int __thiscall CIisAcctMapper::FlushAlternate(int)
+?FlushAlternate@CIisAcctMapper@@QAEHH@Z
+; void __stdcall FreeMatchConversion(void *)
+?FreeMatchConversion@@YGXPAX@Z
+; public: char * __thiscall CAllocString::Get(void)
+?Get@CAllocString@@QAEPADXZ
+; public: unsigned char * __thiscall CBlob::Get(unsigned long *)
+?Get@CBlob@@QAEPAEPAK@Z
+; public: class CBlob * __thiscall CBlobXBF::GetBlob(unsigned long)
+?GetBlob@CBlobXBF@@QAEPAVCBlob@@K@Z
+; public: unsigned char * __thiscall CStoreXBF::GetBuff(void)
+?GetBuff@CStoreXBF@@QAEPAEXZ
+; public: int __thiscall CBlobXBF::GetEntry(unsigned long,unsigned char * *,unsigned long *)
+?GetEntry@CBlobXBF@@QAEHKPAPAEPAK@Z
+; public: char * __thiscall CStrPtrXBF::GetEntry(unsigned long)
+?GetEntry@CStrPtrXBF@@QAEPADK@Z
+; public: class CCertGlobalRuleInfo * __thiscall CIisRuleMapper::GetGlobalRulesInfo(void)
+?GetGlobalRulesInfo@CIisRuleMapper@@QAEPAVCCertGlobalRuleInfo@@XZ
+; public: struct _IISMDB_HEntry * __thiscall CIisAcctMapper::GetHierarchy(unsigned long *)
+?GetHierarchy@CIisAcctMapper@@QAEPAU_IISMDB_HEntry@@PAK@Z
+; unsigned long __stdcall GetIdFlags(enum CERT_FIELD_ID)
+?GetIdFlags@@YGKW4CERT_FIELD_ID@@@Z
+; public: int __thiscall CDecodedCert::GetIssuer(void * *,unsigned long *)
+?GetIssuer@CDecodedCert@@QAEHPAPAXPAK@Z
+; public: unsigned long __thiscall CCertMapRule::GetIssuerCount(void)
+?GetIssuerCount@CCertMapRule@@QAEKXZ
+; public: int __thiscall CCertMapRule::GetIssuerEntry(unsigned long,int *,char * *)
+?GetIssuerEntry@CCertMapRule@@QAEHKPAHPAPAD@Z
+; public: int __thiscall CCertMapRule::GetIssuerEntryByName(char *,int *)
+?GetIssuerEntryByName@CCertMapRule@@QAEHPADPAH@Z
+; public: int __thiscall CIisAcctMapper::GetMapping(unsigned long,class CIisMapping * *,int,int)
+?GetMapping@CIisAcctMapper@@QAEHKPAPAVCIisMapping@@HH@Z
+; public: unsigned long __thiscall CIisAcctMapper::GetMappingCount(void)
+?GetMappingCount@CIisAcctMapper@@QAEKXZ
+; public: int __thiscall CCertMapRule::GetMatchAllIssuer(void)
+?GetMatchAllIssuer@CCertMapRule@@QAEHXZ
+; public: unsigned long __thiscall CBlobXBF::GetNbEntry(void)
+?GetNbEntry@CBlobXBF@@QAEKXZ
+; public: unsigned long __thiscall CStrPtrXBF::GetNbEntry(void)
+?GetNbEntry@CStrPtrXBF@@QAEKXZ
+; public: virtual unsigned int __thiscall CIisMapping::GetNbField(char * * *)
+?GetNbField@CIisMapping@@UAEIPAPAPAD@Z
+; public: virtual unsigned int __thiscall CIisMapping::GetNbField(char * * *,unsigned long * *)
+?GetNbField@CIisMapping@@UAEIPAPAPADPAPAK@Z
+; public: unsigned long __thiscall CIssuerStore::GetNbIssuers(void)
+?GetNbIssuers@CIssuerStore@@QAEKXZ
+; public: unsigned long __thiscall CIisAcctMapper::GetNbMapping(int)
+?GetNbMapping@CIisAcctMapper@@QAEKH@Z
+; public: unsigned long __thiscall CPtrDwordXBF::GetNbPtr(void)
+?GetNbPtr@CPtrDwordXBF@@QAEKXZ
+; public: unsigned long __thiscall CPtrXBF::GetNbPtr(void)
+?GetNbPtr@CPtrXBF@@QAEKXZ
+; public: unsigned long __thiscall CIisAcctMapper::GetOptions(void)
+?GetOptions@CIisAcctMapper@@QAEKXZ
+; public: unsigned long * __thiscall CPtrDwordXBF::GetPtr(unsigned long)
+?GetPtr@CPtrDwordXBF@@QAEPAKK@Z
+; public: void * __thiscall CPtrXBF::GetPtr(unsigned long)
+?GetPtr@CPtrXBF@@QAEPAXK@Z
+; public: void * __thiscall CPtrXBF::GetPtrAddr(unsigned long)
+?GetPtrAddr@CPtrXBF@@QAEPAXK@Z
+; public: class CCertMapRule * __thiscall CIisRuleMapper::GetRule(unsigned long)
+?GetRule@CIisRuleMapper@@QAEPAVCCertMapRule@@K@Z
+; public: char * __thiscall CCertMapRule::GetRuleAccount(void)
+?GetRuleAccount@CCertMapRule@@QAEPADXZ
+; public: unsigned long __thiscall CIisRuleMapper::GetRuleCount(void)
+?GetRuleCount@CIisRuleMapper@@QAEKXZ
+; public: int __thiscall CCertMapRule::GetRuleDenyAccess(void)
+?GetRuleDenyAccess@CCertMapRule@@QAEHXZ
+; public: int __thiscall CCertMapRule::GetRuleElem(unsigned long,enum CERT_FIELD_ID *,char * *,unsigned long *,char * *,unsigned long *)
+?GetRuleElem@CCertMapRule@@QAEHKPAW4CERT_FIELD_ID@@PAPADPAK12@Z
+; public: unsigned long __thiscall CCertMapRule::GetRuleElemCount(void)
+?GetRuleElemCount@CCertMapRule@@QAEKXZ
+; public: int __thiscall CCertMapRule::GetRuleEnabled(void)
+?GetRuleEnabled@CCertMapRule@@QAEHXZ
+; public: char * __thiscall CCertMapRule::GetRuleName(void)
+?GetRuleName@CCertMapRule@@QAEPADXZ
+; public: unsigned long * __thiscall CCertGlobalRuleInfo::GetRuleOrderArray(void)
+?GetRuleOrderArray@CCertGlobalRuleInfo@@QAEPAKXZ
+; public: unsigned long __thiscall CCertGlobalRuleInfo::GetRuleOrderCount(void)
+?GetRuleOrderCount@CCertGlobalRuleInfo@@QAEKXZ
+; public: char * __thiscall CCertMapRule::GetRulePassword(void)
+?GetRulePassword@CCertMapRule@@QAEPADXZ
+; public: int __thiscall CCertGlobalRuleInfo::GetRulesEnabled(void)
+?GetRulesEnabled@CCertGlobalRuleInfo@@QAEHXZ
+; public: struct _CERT_RDN_ATTR * * __thiscall CDecodedCert::GetSubField(enum CERT_FIELD_ID,char *,unsigned long *)
+?GetSubField@CDecodedCert@@QAEPAPAU_CERT_RDN_ATTR@@W4CERT_FIELD_ID@@PADPAK@Z
+; public: unsigned long __thiscall CStoreXBF::GetUsed(void)
+?GetUsed@CStoreXBF@@QAEKXZ
+; int __stdcall IISuudecode(char *,unsigned char *,unsigned long *,int)
+?IISuudecode@@YGHPADPAEPAKH@Z
+; int __stdcall IISuuencode(unsigned char *,unsigned long,unsigned char *,int)
+?IISuuencode@@YGHPAEK0H@Z
+; void __stdcall ImportIISCertMappingsToIIS6(void)
+?ImportIISCertMappingsToIIS6@@YGXXZ
+; public: int __thiscall CBlob::InitSet(unsigned char *,unsigned long)
+?InitSet@CBlob@@QAEHPAEK@Z
+; public: unsigned long __thiscall CBlobXBF::InsertEntry(unsigned long,char *,unsigned long)
+?InsertEntry@CBlobXBF@@QAEKKPADK@Z
+; public: unsigned long __thiscall CStrPtrXBF::InsertEntry(unsigned long,char *)
+?InsertEntry@CStrPtrXBF@@QAEKKPAD@Z
+; public: unsigned long __thiscall CPtrDwordXBF::InsertPtr(unsigned long,unsigned long)
+?InsertPtr@CPtrDwordXBF@@QAEKKK@Z
+; public: unsigned long __thiscall CPtrXBF::InsertPtr(unsigned long,void *)
+?InsertPtr@CPtrXBF@@QAEKKPAX@Z
+; public: int __thiscall CCertGlobalRuleInfo::IsValid(void)
+?IsValid@CCertGlobalRuleInfo@@QAEHXZ
+; public: int __thiscall CCertMapRule::IsValid(void)
+?IsValid@CCertMapRule@@QAEHXZ
+; public: int __thiscall CIisRuleMapper::IsValid(void)
+?IsValid@CIisRuleMapper@@QAEHXZ
+; public: int __thiscall CIisAcctMapper::Load(void)
+?Load@CIisAcctMapper@@QAEHXZ
+; public: int __thiscall CStoreXBF::Load(void *)
+?Load@CStoreXBF@@QAEHPAX@Z
+; public: void __thiscall CIisAcctMapper::Lock(void)
+?Lock@CIisAcctMapper@@QAEXXZ
+; char * __stdcall MapAsn1ToSubField(char *)
+?MapAsn1ToSubField@@YGPADPAD@Z
+; enum CERT_FIELD_ID  __stdcall MapFieldToId(char *)
+?MapFieldToId@@YG?AW4CERT_FIELD_ID@@PAD@Z
+; char * __stdcall MapIdToField(enum CERT_FIELD_ID)
+?MapIdToField@@YGPADW4CERT_FIELD_ID@@@Z
+; char * __stdcall MapSubFieldToAsn1(char *)
+?MapSubFieldToAsn1@@YGPADPAD@Z
+; public: virtual int __thiscall CIisMapping::MappingGetField(unsigned long,char * *)
+?MappingGetField@CIisMapping@@UAEHKPAPAD@Z
+; public: virtual int __thiscall CIisMapping::MappingGetField(unsigned long,unsigned char * *,unsigned long *,int)
+?MappingGetField@CIisMapping@@UAEHKPAPAEPAKH@Z
+; public: int __thiscall CIisAcctMapper::MappingGetFieldList(struct _IISMDB_Fields * *,unsigned long *)
+?MappingGetFieldList@CIisAcctMapper@@QAEHPAPAU_IISMDB_Fields@@PAK@Z
+; public: virtual int __thiscall CIisMapping::MappingSetField(unsigned long,char *)
+?MappingSetField@CIisMapping@@UAEHKPAD@Z
+; public: virtual int __thiscall CIisMapping::MappingSetField(unsigned long,unsigned char *,unsigned long,int)
+?MappingSetField@CIisMapping@@UAEHKPAEKH@Z
+; public: int __thiscall CCertMapRule::Match(class CDecodedCert *,class CDecodedCert *,char *,char *,int *)
+?Match@CCertMapRule@@QAEHPAVCDecodedCert@@0PAD1PAH@Z
+; public: int __thiscall CIisRuleMapper::Match(struct _CERT_CONTEXT *,struct _CERT_CONTEXT *,unsigned short *,unsigned short *)
+?Match@CIisRuleMapper@@QAEHPAU_CERT_CONTEXT@@0PAG1@Z
+; int __stdcall MatchRequestToBinary(char *,unsigned char * *,unsigned long *)
+?MatchRequestToBinary@@YGHPADPAPAEPAK@Z
+; public: int __thiscall CStoreXBF::Need(unsigned long)
+?Need@CStoreXBF@@QAEHK@Z
+; public: void __thiscall CIisRuleMapper::ReadLockRules(void)
+?ReadLockRules@CIisRuleMapper@@QAEXXZ
+; public: void __thiscall CIisRuleMapper::ReadUnlockRules(void)
+?ReadUnlockRules@CIisRuleMapper@@QAEXXZ
+; int __stdcall ReportIisMapEvent(unsigned short,unsigned long,unsigned short,char const * *)
+?ReportIisMapEvent@@YGHGKGPAPBD@Z
+; int __stdcall ReportIisMapEventW(unsigned short,unsigned long,unsigned short,unsigned short const * *)
+?ReportIisMapEventW@@YGHGKGPAPBG@Z
+; public: void __thiscall CAllocString::Reset(void)
+?Reset@CAllocString@@QAEXXZ
+; public: void __thiscall CBlob::Reset(void)
+?Reset@CBlob@@QAEXXZ
+; public: void __thiscall CBlobXBF::Reset(void)
+?Reset@CBlobXBF@@QAEXXZ
+; public: int __thiscall CCertGlobalRuleInfo::Reset(void)
+?Reset@CCertGlobalRuleInfo@@QAEHXZ
+; public: void __thiscall CCertMapRule::Reset(void)
+?Reset@CCertMapRule@@QAEXXZ
+; public: int __thiscall CIisAcctMapper::Reset(void)
+?Reset@CIisAcctMapper@@QAEHXZ
+; public: int __thiscall CIisRuleMapper::Reset(void)
+?Reset@CIisRuleMapper@@QAEHXZ
+; public: void __thiscall CIssuerStore::Reset(void)
+?Reset@CIssuerStore@@QAEXXZ
+; public: void __thiscall CStoreXBF::Reset(void)
+?Reset@CStoreXBF@@QAEXXZ
+; public: int __thiscall CIisAcctMapper::Save(void)
+?Save@CIisAcctMapper@@QAEHXZ
+; public: int __thiscall CStoreXBF::Save(void *)
+?Save@CStoreXBF@@QAEHPAX@Z
+; public: int __thiscall CAllocString::Serialize(class CStoreXBF *)
+?Serialize@CAllocString@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CBlob::Serialize(class CStoreXBF *)
+?Serialize@CBlob@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CBlobXBF::Serialize(class CStoreXBF *)
+?Serialize@CBlobXBF@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CCertMapRule::Serialize(class CStoreXBF *)
+?Serialize@CCertMapRule@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CIisAcctMapper::Serialize(class CStoreXBF *)
+?Serialize@CIisAcctMapper@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CIisAcctMapper::Serialize(void)
+?Serialize@CIisAcctMapper@@QAEHXZ
+; public: virtual int __thiscall CIisMapping::Serialize(struct _iobuf *,void *,void *)
+?Serialize@CIisMapping@@UAEHPAU_iobuf@@PAX1@Z
+; public: int __thiscall CIisRuleMapper::Serialize(class CStoreXBF *)
+?Serialize@CIisRuleMapper@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CIssuerStore::Serialize(class CStoreXBF *)
+?Serialize@CIssuerStore@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CPtrDwordXBF::Serialize(class CStoreXBF *)
+?Serialize@CPtrDwordXBF@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CPtrXBF::Serialize(class CStoreXBF *)
+?Serialize@CPtrXBF@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CStrPtrXBF::Serialize(class CStoreXBF *)
+?Serialize@CStrPtrXBF@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CCertGlobalRuleInfo::SerializeGlobalRuleInfo(class CStoreXBF *)
+?SerializeGlobalRuleInfo@CCertGlobalRuleInfo@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CAllocString::Set(char *)
+?Set@CAllocString@@QAEHPAD@Z
+; public: int __thiscall CBlob::Set(unsigned char *,unsigned long)
+?Set@CBlob@@QAEHPAEK@Z
+; public: int __thiscall CBlobXBF::SetEntry(unsigned long,unsigned char *,unsigned long)
+?SetEntry@CBlobXBF@@QAEHKPAEK@Z
+; public: int __thiscall CStrPtrXBF::SetEntry(unsigned long,char *)
+?SetEntry@CStrPtrXBF@@QAEHKPAD@Z
+; public: int __thiscall CCertMapRule::SetIssuerEntryAcceptStatus(unsigned long,int)
+?SetIssuerEntryAcceptStatus@CCertMapRule@@QAEHKH@Z
+; public: void __thiscall CCertMapRule::SetMatchAllIssuer(int)
+?SetMatchAllIssuer@CCertMapRule@@QAEXH@Z
+; public: int __thiscall CPtrDwordXBF::SetPtr(unsigned long,unsigned long)
+?SetPtr@CPtrDwordXBF@@QAEHKK@Z
+; public: int __thiscall CPtrXBF::SetPtr(unsigned long,void *)
+?SetPtr@CPtrXBF@@QAEHKPAX@Z
+; public: int __thiscall CCertMapRule::SetRuleAccount(char *)
+?SetRuleAccount@CCertMapRule@@QAEHPAD@Z
+; public: void __thiscall CCertMapRule::SetRuleDenyAccess(int)
+?SetRuleDenyAccess@CCertMapRule@@QAEXH@Z
+; public: void __thiscall CCertMapRule::SetRuleEnabled(int)
+?SetRuleEnabled@CCertMapRule@@QAEXH@Z
+; public: int __thiscall CCertMapRule::SetRuleName(char *)
+?SetRuleName@CCertMapRule@@QAEHPAD@Z
+; public: int __thiscall CCertMapRule::SetRulePassword(char *)
+?SetRulePassword@CCertMapRule@@QAEHPAD@Z
+; public: void __thiscall CCertGlobalRuleInfo::SetRulesEnabled(int)
+?SetRulesEnabled@CCertGlobalRuleInfo@@QAEXH@Z
+; public: void __thiscall CIisAcctMapper::Unlock(void)
+?Unlock@CIisAcctMapper@@QAEXXZ
+; public: int __thiscall CAllocString::Unserialize(unsigned char * *,unsigned long *)
+?Unserialize@CAllocString@@QAEHPAPAEPAK@Z
+; public: int __thiscall CBlob::Unserialize(unsigned char * *,unsigned long *)
+?Unserialize@CBlob@@QAEHPAPAEPAK@Z
+; public: int __thiscall CBlobXBF::Unserialize(unsigned char * *,unsigned long *,unsigned long)
+?Unserialize@CBlobXBF@@QAEHPAPAEPAKK@Z
+; public: int __thiscall CCertMapRule::Unserialize(unsigned char * *,unsigned long *)
+?Unserialize@CCertMapRule@@QAEHPAPAEPAK@Z
+; public: int __thiscall CCertMapRule::Unserialize(class CStoreXBF *)
+?Unserialize@CCertMapRule@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CIisAcctMapper::Unserialize(unsigned char * *,unsigned long *)
+?Unserialize@CIisAcctMapper@@QAEHPAPAEPAK@Z
+; public: int __thiscall CIisAcctMapper::Unserialize(class CStoreXBF *)
+?Unserialize@CIisAcctMapper@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CIisAcctMapper::Unserialize(void)
+?Unserialize@CIisAcctMapper@@QAEHXZ
+; public: int __thiscall CIisRuleMapper::Unserialize(unsigned char * *,unsigned long *)
+?Unserialize@CIisRuleMapper@@QAEHPAPAEPAK@Z
+; public: int __thiscall CIisRuleMapper::Unserialize(class CStoreXBF *)
+?Unserialize@CIisRuleMapper@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CIssuerStore::Unserialize(unsigned char * *,unsigned long *)
+?Unserialize@CIssuerStore@@QAEHPAPAEPAK@Z
+; public: int __thiscall CIssuerStore::Unserialize(class CStoreXBF *)
+?Unserialize@CIssuerStore@@QAEHPAVCStoreXBF@@@Z
+; public: int __thiscall CPtrDwordXBF::Unserialize(unsigned char * *,unsigned long *,unsigned long)
+?Unserialize@CPtrDwordXBF@@QAEHPAPAEPAKK@Z
+; public: int __thiscall CPtrXBF::Unserialize(unsigned char * *,unsigned long *,unsigned long)
+?Unserialize@CPtrXBF@@QAEHPAPAEPAKK@Z
+; public: int __thiscall CStrPtrXBF::Unserialize(unsigned char * *,unsigned long *,unsigned long)
+?Unserialize@CStrPtrXBF@@QAEHPAPAEPAKK@Z
+; public: int __thiscall CCertGlobalRuleInfo::UnserializeGlobalRuleInfo(unsigned char * *,unsigned long *)
+?UnserializeGlobalRuleInfo@CCertGlobalRuleInfo@@QAEHPAPAEPAK@Z
+; public: int __thiscall CIisAcctMapper::Update(unsigned long)
+?Update@CIisAcctMapper@@QAEHK@Z
+; public: int __thiscall CIisAcctMapper::Update(unsigned long,class CIisMapping *)
+?Update@CIisAcctMapper@@QAEHKPAVCIisMapping@@@Z
+; public: int __thiscall CIisAcctMapper::UpdateClasses(int)
+?UpdateClasses@CIisAcctMapper@@QAEHH@Z
+; public: int __thiscall CIisAcctMapper::UpdateHierarchy(void)
+?UpdateHierarchy@CIisAcctMapper@@QAEHXZ
+; public: int __thiscall CIisMapping::UpdateMask(struct _IISMDB_HEntry *,unsigned long)
+?UpdateMask@CIisMapping@@QAEHPAU_IISMDB_HEntry@@K@Z
+; public: void __thiscall CIisRuleMapper::WriteLockRules(void)
+?WriteLockRules@CIisRuleMapper@@QAEXXZ
+; public: void __thiscall CIisRuleMapper::WriteUnlockRules(void)
+?WriteUnlockRules@CIisRuleMapper@@QAEXXZ
diff --git a/mingw-w64-crt/lib64/wiispwchg.def b/mingw-w64-crt/lib64/wiispwchg.def
index b49d6cc..2a04637 100644
--- a/mingw-w64-crt/lib64/wiispwchg.def
+++ b/mingw-w64-crt/lib64/wiispwchg.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iispwchg.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iispwchg.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iispwchg.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iispwchg.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiisrstap.def b/mingw-w64-crt/lib64/wiisrstap.def
index 7dc1ff9..dc7478d 100644
--- a/mingw-w64-crt/lib64/wiisrstap.def
+++ b/mingw-w64-crt/lib64/wiisrstap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IISRSTAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISRSTAP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IISRSTAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISRSTAP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiisrtl.def b/mingw-w64-crt/lib64/wiisrtl.def
index 5f96c1e..b4d674f 100644
--- a/mingw-w64-crt/lib64/wiisrtl.def
+++ b/mingw-w64-crt/lib64/wiisrtl.def
@@ -1,2044 +1,2044 @@
-; 
-; Exports of file IisRTL.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IisRTL.DLL
-EXPORTS
-; public: __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::CDataCache<struct DATETIME_FORMAT_ENTRY>(void)
-??0?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QAE@XZ
-; public: __thiscall CDataCache<class CDateTime>::CDataCache<class CDateTime>(void)
-??0?$CDataCache@VCDateTime@@@@QAE@XZ
-; public: __thiscall ALLOC_CACHE_HANDLER::ALLOC_CACHE_HANDLER(char const *,struct _ALLOC_CACHE_CONFIGURATION const *,int)
-??0ALLOC_CACHE_HANDLER@@QAE@PBDPBU_ALLOC_CACHE_CONFIGURATION@@H@Z
-; public: __thiscall ASCLOG_DATETIME_CACHE::ASCLOG_DATETIME_CACHE(void)
-??0ASCLOG_DATETIME_CACHE@@QAE@XZ
-; public: __thiscall BUFFER::BUFFER(unsigned int)
-??0BUFFER@@QAE@I@Z
-; public: __thiscall BUFFER::BUFFER(unsigned char *,unsigned int)
-??0BUFFER@@QAE@PAEI@Z
-; public: __thiscall BUFFER_CHAIN::BUFFER_CHAIN(void)
-??0BUFFER_CHAIN@@QAE@XZ
-; public: __thiscall BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int)
-??0BUFFER_CHAIN_ITEM@@QAE@I@Z
-; public: __thiscall CACHED_DATETIME_FORMATS::CACHED_DATETIME_FORMATS(void)
-??0CACHED_DATETIME_FORMATS@@QAE@XZ
-; public: __thiscall CCritSec::CCritSec(void)
-??0CCritSec@@QAE@XZ
-; public: __thiscall CDFTCache::CDFTCache(void)
-??0CDFTCache@@QAE@XZ
-; public: __thiscall CDateTime::CDateTime(struct _FILETIME const &)
-??0CDateTime@@QAE@ABU_FILETIME@@@Z
-; public: __thiscall CDateTime::CDateTime(struct _FILETIME const &,struct _SYSTEMTIME const &)
-??0CDateTime@@QAE@ABU_FILETIME@@ABU_SYSTEMTIME@@@Z
-; public: __thiscall CDateTime::CDateTime(struct _SYSTEMTIME const &)
-??0CDateTime@@QAE@ABU_SYSTEMTIME@@@Z
-; public: __thiscall CDateTime::CDateTime(void)
-??0CDateTime@@QAE@XZ
-; public: __thiscall CDoubleList::CDoubleList(void)
-??0CDoubleList@@QAE@XZ
-; public: __thiscall CEtwTracer::CEtwTracer(void)
-??0CEtwTracer@@QAE@XZ
-; public: __thiscall CFakeLock::CFakeLock(void)
-??0CFakeLock@@QAE@XZ
-; public: __thiscall CLKRHashTable::CLKRHashTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,unsigned long,bool)
-??0CLKRHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK_N@Z
-; public: __thiscall CLKRHashTableStats::CLKRHashTableStats(void)
-??0CLKRHashTableStats@@QAE@XZ
-; protected: __thiscall CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable *,short)
-??0CLKRHashTable_Iterator@@IAE@PAVCLKRHashTable@@F@Z
-; public: __thiscall CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable_Iterator const &)
-??0CLKRHashTable_Iterator@@QAE@ABV0@@Z
-; public: __thiscall CLKRHashTable_Iterator::CLKRHashTable_Iterator(void)
-??0CLKRHashTable_Iterator@@QAE@XZ
-; private: __thiscall CLKRLinearHashTable::CLKRLinearHashTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,class CLKRHashTable *,bool)
-??0CLKRLinearHashTable@@AAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAVCLKRHashTable@@_N@Z
-; public: __thiscall CLKRLinearHashTable::CLKRLinearHashTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,unsigned long,bool)
-??0CLKRLinearHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK_N@Z
-; protected: __thiscall CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable *,class CNodeClump *,unsigned long,short)
-??0CLKRLinearHashTable_Iterator@@IAE@PAVCLKRLinearHashTable@@PAVCNodeClump@@KF@Z
-; public: __thiscall CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable_Iterator const &)
-??0CLKRLinearHashTable_Iterator@@QAE@ABV0@@Z
-; public: __thiscall CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(void)
-??0CLKRLinearHashTable_Iterator@@QAE@XZ
-; public: __thiscall CLockedDoubleList::CLockedDoubleList(void)
-??0CLockedDoubleList@@QAE@XZ
-; public: __thiscall CLockedSingleList::CLockedSingleList(void)
-??0CLockedSingleList@@QAE@XZ
-; public: __thiscall CReaderWriterLock2::CReaderWriterLock2(void)
-??0CReaderWriterLock2@@QAE@XZ
-; public: __thiscall CReaderWriterLock3::CReaderWriterLock3(void)
-??0CReaderWriterLock3@@QAE@XZ
-; public: __thiscall CReaderWriterLock::CReaderWriterLock(void)
-??0CReaderWriterLock@@QAE@XZ
-; public: __thiscall CRtlResource::CRtlResource(void)
-??0CRtlResource@@QAE@XZ
-; public: __thiscall CShareLock::CShareLock(void)
-??0CShareLock@@QAE@XZ
-; public: __thiscall CSharelock::CSharelock(int,int)
-??0CSharelock@@QAE@HH@Z
-; public: __thiscall CSingleList::CSingleList(void)
-??0CSingleList@@QAE@XZ
-; public: __thiscall CSmallSpinLock::CSmallSpinLock(void)
-??0CSmallSpinLock@@QAE@XZ
-; public: __thiscall CSpinLock::CSpinLock(void)
-??0CSpinLock@@QAE@XZ
-; public: __thiscall EVENT_LOG::EVENT_LOG(char const *)
-??0EVENT_LOG@@QAE@PBD@Z
-; public: __thiscall EXTLOG_DATETIME_CACHE::EXTLOG_DATETIME_CACHE(void)
-??0EXTLOG_DATETIME_CACHE@@QAE@XZ
-; public: __thiscall HASH_TABLE::HASH_TABLE(class HASH_TABLE const &)
-??0HASH_TABLE@@QAE@ABV0@@Z
-; public: __thiscall HASH_TABLE::HASH_TABLE(unsigned long,char const *,unsigned long)
-??0HASH_TABLE@@QAE@KPBDK@Z
-; public: __thiscall HASH_TABLE_BUCKET::HASH_TABLE_BUCKET(void)
-??0HASH_TABLE_BUCKET@@QAE@XZ
-; public: __thiscall HTB_ELEMENT::HTB_ELEMENT(void)
-??0HTB_ELEMENT@@QAE@XZ
-; public: __thiscall HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const &)
-??0HT_ELEMENT@@QAE@ABV0@@Z
-; public: __thiscall HT_ELEMENT::HT_ELEMENT(void)
-??0HT_ELEMENT@@QAE@XZ
-; public: __thiscall MLSZAU::MLSZAU(class MLSZAU &)
-??0MLSZAU@@QAE@AAV0@@Z
-; public: __thiscall MLSZAU::MLSZAU(char * const,int,unsigned long)
-??0MLSZAU@@QAE@QADHK@Z
-; public: __thiscall MLSZAU::MLSZAU(char * const,unsigned long)
-??0MLSZAU@@QAE@QADK@Z
-; public: __thiscall MLSZAU::MLSZAU(unsigned short * const,unsigned long)
-??0MLSZAU@@QAE@QAGK@Z
-; public: __thiscall MLSZAU::MLSZAU(void)
-??0MLSZAU@@QAE@XZ
-; public: __thiscall MULTISZ::MULTISZ(class MULTISZ const &)
-??0MULTISZ@@QAE@ABV0@@Z
-; public: __thiscall MULTISZ::MULTISZ(char *,unsigned long)
-??0MULTISZ@@QAE@PADK@Z
-; public: __thiscall MULTISZ::MULTISZ(char const *)
-??0MULTISZ@@QAE@PBD@Z
-; public: __thiscall MULTISZ::MULTISZ(void)
-??0MULTISZ@@QAE@XZ
-; public: __thiscall STR::STR(class STR const &)
-??0STR@@QAE@ABV0@@Z
-; public: __thiscall STR::STR(unsigned long)
-??0STR@@QAE@K@Z
-; public: __thiscall STR::STR(char *,unsigned long,int)
-??0STR@@QAE@PADKH@Z
-; public: __thiscall STR::STR(char const *)
-??0STR@@QAE@PBD@Z
-; public: __thiscall STR::STR(void)
-??0STR@@QAE@XZ
-; private: __thiscall STRA::STRA(class STRA const &)
-??0STRA@@AAE@ABV0@@Z
-; private: __thiscall STRA::STRA(char *)
-??0STRA@@AAE@PAD@Z
-; private: __thiscall STRA::STRA(char const *)
-??0STRA@@AAE@PBD@Z
-; public: __thiscall STRA::STRA(char *,unsigned long)
-??0STRA@@QAE@PADK@Z
-; public: __thiscall STRA::STRA(void)
-??0STRA@@QAE@XZ
-; public: __thiscall STRAU::STRAU(class STRAU &)
-??0STRAU@@QAE@AAV0@@Z
-; public: __thiscall STRAU::STRAU(char const *)
-??0STRAU@@QAE@PBD@Z
-; public: __thiscall STRAU::STRAU(char const *,int)
-??0STRAU@@QAE@PBDH@Z
-; public: __thiscall STRAU::STRAU(unsigned short const *)
-??0STRAU@@QAE@PBG@Z
-; public: __thiscall STRAU::STRAU(void)
-??0STRAU@@QAE@XZ
-; private: __thiscall STRU::STRU(class STRU const &)
-??0STRU@@AAE@ABV0@@Z
-; private: __thiscall STRU::STRU(unsigned short *)
-??0STRU@@AAE@PAG@Z
-; private: __thiscall STRU::STRU(unsigned short const *)
-??0STRU@@AAE@PBG@Z
-; public: __thiscall STRU::STRU(unsigned short *,unsigned long)
-??0STRU@@QAE@PAGK@Z
-; public: __thiscall STRU::STRU(void)
-??0STRU@@QAE@XZ
-; public: __thiscall TS_RESOURCE::TS_RESOURCE(void)
-??0TS_RESOURCE@@QAE@XZ
-; public: __thiscall W3_DATETIME_CACHE::W3_DATETIME_CACHE(void)
-??0W3_DATETIME_CACHE@@QAE@XZ
-; public: __thiscall ALLOC_CACHE_HANDLER::~ALLOC_CACHE_HANDLER(void)
-??1ALLOC_CACHE_HANDLER@@QAE@XZ
-; public: virtual __thiscall ASCLOG_DATETIME_CACHE::~ASCLOG_DATETIME_CACHE(void)
-??1ASCLOG_DATETIME_CACHE@@UAE@XZ
-; public: __thiscall BUFFER::~BUFFER(void)
-??1BUFFER@@QAE@XZ
-; public: __thiscall BUFFER_CHAIN::~BUFFER_CHAIN(void)
-??1BUFFER_CHAIN@@QAE@XZ
-; public: __thiscall BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void)
-??1BUFFER_CHAIN_ITEM@@QAE@XZ
-; public: virtual __thiscall CACHED_DATETIME_FORMATS::~CACHED_DATETIME_FORMATS(void)
-??1CACHED_DATETIME_FORMATS@@UAE@XZ
-; public: __thiscall CCritSec::~CCritSec(void)
-??1CCritSec@@QAE@XZ
-; public: __thiscall CDoubleList::~CDoubleList(void)
-??1CDoubleList@@QAE@XZ
-; public: __thiscall CEtwTracer::~CEtwTracer(void)
-??1CEtwTracer@@QAE@XZ
-; public: __thiscall CFakeLock::~CFakeLock(void)
-??1CFakeLock@@QAE@XZ
-; public: __thiscall CLKRHashTable::~CLKRHashTable(void)
-??1CLKRHashTable@@QAE@XZ
-; public: __thiscall CLKRHashTable_Iterator::~CLKRHashTable_Iterator(void)
-??1CLKRHashTable_Iterator@@QAE@XZ
-; public: __thiscall CLKRLinearHashTable::~CLKRLinearHashTable(void)
-??1CLKRLinearHashTable@@QAE@XZ
-; public: __thiscall CLKRLinearHashTable_Iterator::~CLKRLinearHashTable_Iterator(void)
-??1CLKRLinearHashTable_Iterator@@QAE@XZ
-; public: __thiscall CLockedDoubleList::~CLockedDoubleList(void)
-??1CLockedDoubleList@@QAE@XZ
-; public: __thiscall CLockedSingleList::~CLockedSingleList(void)
-??1CLockedSingleList@@QAE@XZ
-; public: __thiscall CRtlResource::~CRtlResource(void)
-??1CRtlResource@@QAE@XZ
-; public: __thiscall CShareLock::~CShareLock(void)
-??1CShareLock@@QAE@XZ
-; public: __thiscall CSharelock::~CSharelock(void)
-??1CSharelock@@QAE@XZ
-; public: __thiscall CSingleList::~CSingleList(void)
-??1CSingleList@@QAE@XZ
-; public: __thiscall EVENT_LOG::~EVENT_LOG(void)
-??1EVENT_LOG@@QAE@XZ
-; public: virtual __thiscall EXTLOG_DATETIME_CACHE::~EXTLOG_DATETIME_CACHE(void)
-??1EXTLOG_DATETIME_CACHE@@UAE@XZ
-; public: virtual __thiscall HASH_TABLE::~HASH_TABLE(void)
-??1HASH_TABLE@@UAE@XZ
-; public: __thiscall HASH_TABLE_BUCKET::~HASH_TABLE_BUCKET(void)
-??1HASH_TABLE_BUCKET@@QAE@XZ
-; public: __thiscall HTB_ELEMENT::~HTB_ELEMENT(void)
-??1HTB_ELEMENT@@QAE@XZ
-; public: virtual __thiscall HT_ELEMENT::~HT_ELEMENT(void)
-??1HT_ELEMENT@@UAE@XZ
-; public: __thiscall MLSZAU::~MLSZAU(void)
-??1MLSZAU@@QAE@XZ
-; public: __thiscall MULTISZ::~MULTISZ(void)
-??1MULTISZ@@QAE@XZ
-; public: __thiscall STR::~STR(void)
-??1STR@@QAE@XZ
-; public: __thiscall STRA::~STRA(void)
-??1STRA@@QAE@XZ
-; public: __thiscall STRAU::~STRAU(void)
-??1STRAU@@QAE@XZ
-; public: __thiscall STRU::~STRU(void)
-??1STRU@@QAE@XZ
-; public: __thiscall TS_RESOURCE::~TS_RESOURCE(void)
-??1TS_RESOURCE@@QAE@XZ
-; public: virtual __thiscall W3_DATETIME_CACHE::~W3_DATETIME_CACHE(void)
-??1W3_DATETIME_CACHE@@UAE@XZ
-; public: static void * __stdcall CLKRLinearHashTable::operator new(unsigned int)
-??2CLKRLinearHashTable@@SGPAXI@Z
-; public: static void __stdcall CLKRLinearHashTable::operator delete(void *)
-??3CLKRLinearHashTable@@SGXPAX@Z
-; public: class CDataCache<struct DATETIME_FORMAT_ENTRY> & __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::operator=(class CDataCache<struct DATETIME_FORMAT_ENTRY> const &)
-??4?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QAEAAV0@ABV0@@Z
-; public: class CDataCache<class CDateTime> & __thiscall CDataCache<class CDateTime>::operator=(class CDataCache<class CDateTime> const &)
-??4?$CDataCache@VCDateTime@@@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<1,1,3,1,3,2> & __thiscall CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const &)
-??4?$CLockBase@$00$00$02$00$02$01@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<2,1,1,1,3,2> & __thiscall CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const &)
-??4?$CLockBase@$01$00$00$00$02$01@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<3,1,1,1,1,1> & __thiscall CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const &)
-??4?$CLockBase@$02$00$00$00$00$00@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<4,1,1,2,3,3> & __thiscall CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const &)
-??4?$CLockBase@$03$00$00$01$02$02@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<5,2,1,2,3,3> & __thiscall CLockBase<5,2,1,2,3,3>::operator=(class CLockBase<5,2,1,2,3,3> const &)
-??4?$CLockBase@$04$01$00$01$02$02@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<6,2,1,2,3,3> & __thiscall CLockBase<6,2,1,2,3,3>::operator=(class CLockBase<6,2,1,2,3,3> const &)
-??4?$CLockBase@$05$01$00$01$02$02@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<7,2,2,1,3,2> & __thiscall CLockBase<7,2,2,1,3,2>::operator=(class CLockBase<7,2,2,1,3,2> const &)
-??4?$CLockBase@$06$01$01$00$02$01@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<8,2,2,1,3,2> & __thiscall CLockBase<8,2,2,1,3,2>::operator=(class CLockBase<8,2,2,1,3,2> const &)
-??4?$CLockBase@$07$01$01$00$02$01@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<9,2,1,1,3,2> & __thiscall CLockBase<9,2,1,1,3,2>::operator=(class CLockBase<9,2,1,1,3,2> const &)
-??4?$CLockBase@$08$01$00$00$02$01@@QAEAAV0@ABV0@@Z
-; public: class ALLOC_CACHE_HANDLER & __thiscall ALLOC_CACHE_HANDLER::operator=(class ALLOC_CACHE_HANDLER const &)
-??4ALLOC_CACHE_HANDLER@@QAEAAV0@ABV0@@Z
-; public: class BUFFER & __thiscall BUFFER::operator=(class BUFFER const &)
-??4BUFFER@@QAEAAV0@ABV0@@Z
-; public: class BUFFER_CHAIN & __thiscall BUFFER_CHAIN::operator=(class BUFFER_CHAIN const &)
-??4BUFFER_CHAIN@@QAEAAV0@ABV0@@Z
-; public: class BUFFER_CHAIN_ITEM & __thiscall BUFFER_CHAIN_ITEM::operator=(class BUFFER_CHAIN_ITEM const &)
-??4BUFFER_CHAIN_ITEM@@QAEAAV0@ABV0@@Z
-; public: class CCritSec & __thiscall CCritSec::operator=(class CCritSec const &)
-??4CCritSec@@QAEAAV0@ABV0@@Z
-; public: class CDFTCache & __thiscall CDFTCache::operator=(class CDFTCache const &)
-??4CDFTCache@@QAEAAV0@ABV0@@Z
-; public: class CDateTime & __thiscall CDateTime::operator=(class CDateTime const &)
-??4CDateTime@@QAEAAV0@ABV0@@Z
-; public: class CDoubleList & __thiscall CDoubleList::operator=(class CDoubleList const &)
-??4CDoubleList@@QAEAAV0@ABV0@@Z
-; public: class CFakeLock & __thiscall CFakeLock::operator=(class CFakeLock const &)
-??4CFakeLock@@QAEAAV0@ABV0@@Z
-; public: class CLKRHashTableStats & __thiscall CLKRHashTableStats::operator=(class CLKRHashTableStats const &)
-??4CLKRHashTableStats@@QAEAAV0@ABV0@@Z
-; public: class CLKRHashTable_Iterator & __thiscall CLKRHashTable_Iterator::operator=(class CLKRHashTable_Iterator const &)
-??4CLKRHashTable_Iterator@@QAEAAV0@ABV0@@Z
-; public: class CLKRLinearHashTable_Iterator & __thiscall CLKRLinearHashTable_Iterator::operator=(class CLKRLinearHashTable_Iterator const &)
-??4CLKRLinearHashTable_Iterator@@QAEAAV0@ABV0@@Z
-; public: class CLockedDoubleList & __thiscall CLockedDoubleList::operator=(class CLockedDoubleList const &)
-??4CLockedDoubleList@@QAEAAV0@ABV0@@Z
-; public: class CLockedSingleList & __thiscall CLockedSingleList::operator=(class CLockedSingleList const &)
-??4CLockedSingleList@@QAEAAV0@ABV0@@Z
-; public: class CReaderWriterLock2 & __thiscall CReaderWriterLock2::operator=(class CReaderWriterLock2 const &)
-??4CReaderWriterLock2@@QAEAAV0@ABV0@@Z
-; public: class CReaderWriterLock3 & __thiscall CReaderWriterLock3::operator=(class CReaderWriterLock3 const &)
-??4CReaderWriterLock3@@QAEAAV0@ABV0@@Z
-; public: class CReaderWriterLock & __thiscall CReaderWriterLock::operator=(class CReaderWriterLock const &)
-??4CReaderWriterLock@@QAEAAV0@ABV0@@Z
-; public: class CRtlResource & __thiscall CRtlResource::operator=(class CRtlResource const &)
-??4CRtlResource@@QAEAAV0@ABV0@@Z
-; public: class CSingleList & __thiscall CSingleList::operator=(class CSingleList const &)
-??4CSingleList@@QAEAAV0@ABV0@@Z
-; public: class CSmallSpinLock & __thiscall CSmallSpinLock::operator=(class CSmallSpinLock const &)
-??4CSmallSpinLock@@QAEAAV0@ABV0@@Z
-; public: class CSpinLock & __thiscall CSpinLock::operator=(class CSpinLock const &)
-??4CSpinLock@@QAEAAV0@ABV0@@Z
-; public: struct DATETIME_FORMAT_ENTRY & __thiscall DATETIME_FORMAT_ENTRY::operator=(struct DATETIME_FORMAT_ENTRY const &)
-??4DATETIME_FORMAT_ENTRY@@QAEAAU0@ABU0@@Z
-; public: class EVENT_LOG & __thiscall EVENT_LOG::operator=(class EVENT_LOG const &)
-??4EVENT_LOG@@QAEAAV0@ABV0@@Z
-; public: class HASH_TABLE & __thiscall HASH_TABLE::operator=(class HASH_TABLE const &)
-??4HASH_TABLE@@QAEAAV0@ABV0@@Z
-; public: class HASH_TABLE_BUCKET & __thiscall HASH_TABLE_BUCKET::operator=(class HASH_TABLE_BUCKET const &)
-??4HASH_TABLE_BUCKET@@QAEAAV0@ABV0@@Z
-; public: struct HTB_ELEMENT & __thiscall HTB_ELEMENT::operator=(struct HTB_ELEMENT const &)
-??4HTB_ELEMENT@@QAEAAU0@ABU0@@Z
-; public: class HT_ELEMENT & __thiscall HT_ELEMENT::operator=(class HT_ELEMENT const &)
-??4HT_ELEMENT@@QAEAAV0@ABV0@@Z
-; public: class MLSZAU & __thiscall MLSZAU::operator=(class MLSZAU const &)
-??4MLSZAU@@QAEAAV0@ABV0@@Z
-; public: class MULTISZ & __thiscall MULTISZ::operator=(class MULTISZ const &)
-??4MULTISZ@@QAEAAV0@ABV0@@Z
-; public: class STR & __thiscall STR::operator=(class STR const &)
-??4STR@@QAEAAV0@ABV0@@Z
-; private: class STRA & __thiscall STRA::operator=(class STRA const &)
-??4STRA@@AAEAAV0@ABV0@@Z
-; public: class STRAU & __thiscall STRAU::operator=(class STRAU const &)
-??4STRAU@@QAEAAV0@ABV0@@Z
-; private: class STRU & __thiscall STRU::operator=(class STRU const &)
-??4STRU@@AAEAAV0@ABV0@@Z
-; public: class TS_RESOURCE & __thiscall TS_RESOURCE::operator=(class TS_RESOURCE const &)
-??4TS_RESOURCE@@QAEAAV0@ABV0@@Z
-; public: bool __thiscall CLKRHashTable_Iterator::operator==(class CLKRHashTable_Iterator const &)const 
-??8CLKRHashTable_Iterator@@QBE_NABV0@@Z
-; public: bool __thiscall CLKRLinearHashTable_Iterator::operator==(class CLKRLinearHashTable_Iterator const &)const 
-??8CLKRLinearHashTable_Iterator@@QBE_NABV0@@Z
-; public: bool __thiscall CLKRHashTable_Iterator::operator!=(class CLKRHashTable_Iterator const &)const 
-??9CLKRHashTable_Iterator@@QBE_NABV0@@Z
-; public: bool __thiscall CLKRLinearHashTable_Iterator::operator!=(class CLKRLinearHashTable_Iterator const &)const 
-??9CLKRLinearHashTable_Iterator@@QBE_NABV0@@Z
-; const  ASCLOG_DATETIME_CACHE::`vftable'
-??_7ASCLOG_DATETIME_CACHE@@6B@
-; const  CACHED_DATETIME_FORMATS::`vftable'
-??_7CACHED_DATETIME_FORMATS@@6B@
-; const  EXTLOG_DATETIME_CACHE::`vftable'
-??_7EXTLOG_DATETIME_CACHE@@6B@
-; const  HASH_TABLE::`vftable'
-??_7HASH_TABLE@@6B@
-; const  HT_ELEMENT::`vftable'
-??_7HT_ELEMENT@@6B@
-; const  W3_DATETIME_CACHE::`vftable'
-??_7W3_DATETIME_CACHE@@6B@
-; public: void __thiscall BUFFER::`default constructor closure'(void)
-??_FBUFFER@@QAEXXZ
-; public: void __thiscall BUFFER_CHAIN_ITEM::`default constructor closure'(void)
-??_FBUFFER_CHAIN_ITEM@@QAEXXZ
-; public: void __thiscall CSharelock::`default constructor closure'(void)
-??_FCSharelock@@QAEXXZ
-; public: int __thiscall CSharelock::ActiveUsers(void)
-?ActiveUsers@CSharelock@@QAEHXZ
-; public: void * __thiscall ALLOC_CACHE_HANDLER::Alloc(void)
-?Alloc@ALLOC_CACHE_HANDLER@@QAEPAXXZ
-; public: int __thiscall MULTISZ::Append(class STR const &)
-?Append@MULTISZ@@QAEHABVSTR@@@Z
-; public: int __thiscall MULTISZ::Append(char const *)
-?Append@MULTISZ@@QAEHPBD@Z
-; public: int __thiscall MULTISZ::Append(char const *,unsigned long)
-?Append@MULTISZ@@QAEHPBDK@Z
-; public: int __thiscall STR::Append(class STR const &)
-?Append@STR@@QAEHABV1@@Z
-; public: int __thiscall STR::Append(char const *)
-?Append@STR@@QAEHPBD@Z
-; public: int __thiscall STR::Append(char const *,unsigned long)
-?Append@STR@@QAEHPBDK@Z
-; public: void __thiscall STR::Append(char)
-?Append@STR@@QAEXD@Z
-; public: void __thiscall STR::Append(char,char)
-?Append@STR@@QAEXDD@Z
-; public: long __thiscall STRA::Append(class STRA const &)
-?Append@STRA@@QAEJABV1@@Z
-; public: long __thiscall STRA::Append(char const *)
-?Append@STRA@@QAEJPBD@Z
-; public: long __thiscall STRA::Append(char const *,unsigned long)
-?Append@STRA@@QAEJPBDK@Z
-; public: int __thiscall STRAU::Append(class STRAU &)
-?Append@STRAU@@QAEHAAV1@@Z
-; public: int __thiscall STRAU::Append(char const *)
-?Append@STRAU@@QAEHPBD@Z
-; public: int __thiscall STRAU::Append(char const *,unsigned long)
-?Append@STRAU@@QAEHPBDK@Z
-; public: int __thiscall STRAU::Append(unsigned short const *)
-?Append@STRAU@@QAEHPBG@Z
-; public: int __thiscall STRAU::Append(unsigned short const *,unsigned long)
-?Append@STRAU@@QAEHPBGK@Z
-; public: long __thiscall STRU::Append(class STRU const &)
-?Append@STRU@@QAEJABV1@@Z
-; public: long __thiscall STRU::Append(unsigned short const *)
-?Append@STRU@@QAEJPBG@Z
-; public: long __thiscall STRU::Append(unsigned short const *,unsigned long)
-?Append@STRU@@QAEJPBGK@Z
-; public: long __thiscall STRU::AppendA(char const *)
-?AppendA@STRU@@QAEJPBD@Z
-; public: int __thiscall BUFFER_CHAIN::AppendBuffer(class BUFFER_CHAIN_ITEM *)
-?AppendBuffer@BUFFER_CHAIN@@QAEHPAVBUFFER_CHAIN_ITEM@@@Z
-; public: void __thiscall STR::AppendCRLF(void)
-?AppendCRLF@STR@@QAEXXZ
-; public: long __thiscall STRA::AppendW(unsigned short const *)
-?AppendW@STRA@@QAEJPBG@Z
-; public: long __thiscall STRA::AppendW(unsigned short const *,unsigned long)
-?AppendW@STRA@@QAEJPBGK@Z
-; public: long __thiscall STRA::AppendWTruncate(unsigned short const *)
-?AppendWTruncate@STRA@@QAEJPBG@Z
-; public: long __thiscall STRA::AppendWTruncate(unsigned short const *,unsigned long)
-?AppendWTruncate@STRA@@QAEJPBGK@Z
-; public: unsigned long __thiscall CLKRHashTable::Apply(enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
-?Apply@CLKRHashTable@@QAEKP6G?AW4LK_ACTION@@PBXPAX@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __thiscall CLKRLinearHashTable::Apply(enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
-?Apply@CLKRLinearHashTable@@QAEKP6G?AW4LK_ACTION@@PBXPAX@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __thiscall CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
-?ApplyIf@CLKRHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@ZP6G?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
-; public: unsigned long __thiscall CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
-?ApplyIf@CLKRLinearHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@ZP6G?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
-; private: int __thiscall MULTISZ::AuxAppend(unsigned char const *,unsigned int,int)
-?AuxAppend@MULTISZ@@AAEHPBEIH@Z
-; private: int __thiscall STR::AuxAppend(unsigned char const *,unsigned int,int)
-?AuxAppend@STR@@AAEHPBEIH@Z
-; private: long __thiscall STRA::AuxAppend(unsigned char const *,unsigned long,unsigned long,int)
-?AuxAppend@STRA@@AAEJPBEKKH@Z
-; private: int __thiscall STRAU::AuxAppend(char const *,unsigned int,int)
-?AuxAppend@STRAU@@AAEHPBDIH@Z
-; private: int __thiscall STRAU::AuxAppend(unsigned short const *,unsigned int,int)
-?AuxAppend@STRAU@@AAEHPBGIH@Z
-; private: long __thiscall STRU::AuxAppend(unsigned char const *,unsigned long,unsigned long,int)
-?AuxAppend@STRU@@AAEJPBEKKH@Z
-; private: long __thiscall STRU::AuxAppendA(unsigned char const *,unsigned long,unsigned long,int)
-?AuxAppendA@STRU@@AAEJPBEKKH@Z
-; private: long __thiscall STRA::AuxAppendW(unsigned short const *,unsigned long,unsigned long,int)
-?AuxAppendW@STRA@@AAEJPBGKKH@Z
-; private: long __thiscall STRA::AuxAppendWTruncate(unsigned short const *,unsigned long,unsigned long,int)
-?AuxAppendWTruncate@STRA@@AAEJPBGKKH@Z
-; private: void __thiscall MLSZAU::AuxInit(char * const,unsigned long)
-?AuxInit@MLSZAU@@AAEXQADK@Z
-; private: void __thiscall MLSZAU::AuxInit(unsigned short * const,unsigned long)
-?AuxInit@MLSZAU@@AAEXQAGK@Z
-; private: void __thiscall MULTISZ::AuxInit(unsigned char const *)
-?AuxInit@MULTISZ@@AAEXPBE@Z
-; private: void __thiscall STR::AuxInit(unsigned char const *)
-?AuxInit@STR@@AAEXPBE@Z
-; private: void __thiscall STRAU::AuxInit(char const *)
-?AuxInit@STRAU@@AAEXPBD@Z
-; private: void __thiscall STRAU::AuxInit(unsigned short const *)
-?AuxInit@STRAU@@AAEXPBG@Z
-; public: class CLKRHashTable_Iterator  __thiscall CLKRHashTable::Begin(void)
-?Begin@CLKRHashTable@@QAE?AVCLKRHashTable_Iterator@@XZ
-; public: class CLKRLinearHashTable_Iterator  __thiscall CLKRLinearHashTable::Begin(void)
-?Begin@CLKRLinearHashTable@@QAE?AVCLKRLinearHashTable_Iterator@@XZ
-; public: static long __stdcall CLKRHashTableStats::BucketIndex(long)
-?BucketIndex@CLKRHashTableStats@@SGJJ@Z
-; public: static long __stdcall CLKRHashTableStats::BucketSize(long)
-?BucketSize@CLKRHashTableStats@@SGJJ@Z
-; public: static long const * __stdcall CLKRHashTableStats::BucketSizes(void)
-?BucketSizes@CLKRHashTableStats@@SGPBJXZ
-; public: static unsigned long __stdcall MULTISZ::CalcLength(char const *,unsigned long *)
-?CalcLength@MULTISZ@@SGKPBDPAK@Z
-; public: unsigned long __thiscall BUFFER_CHAIN::CalcTotalSize(int)const 
-?CalcTotalSize@BUFFER_CHAIN@@QBEKH@Z
-; public: virtual unsigned long __thiscall HASH_TABLE::CalculateHash(char const *)const 
-?CalculateHash@HASH_TABLE@@UBEKPBD@Z
-; public: virtual unsigned long __thiscall HASH_TABLE::CalculateHash(char const *,unsigned long)const 
-?CalculateHash@HASH_TABLE@@UBEKPBDK@Z
-CanonURL
-; public: void __thiscall CSharelock::ChangeExclusiveLockToSharedLock(void)
-?ChangeExclusiveLockToSharedLock@CSharelock@@QAEXXZ
-; public: unsigned char __thiscall CSharelock::ChangeSharedLockToExclusiveLock(int)
-?ChangeSharedLockToExclusiveLock@CSharelock@@QAEEH@Z
-; public: int __thiscall CLKRHashTable::CheckTable(void)const 
-?CheckTable@CLKRHashTable@@QBEHXZ
-; public: int __thiscall CLKRLinearHashTable::CheckTable(void)const 
-?CheckTable@CLKRLinearHashTable@@QBEHXZ
-; public: unsigned char __thiscall CSharelock::ClaimExclusiveLock(int)
-?ClaimExclusiveLock@CSharelock@@QAEEH@Z
-; public: unsigned char __thiscall CSharelock::ClaimShareLock(int)
-?ClaimShareLock@CSharelock@@QAEEH@Z
-; public: static char const * __stdcall CCritSec::ClassName(void)
-?ClassName@CCritSec@@SGPBDXZ
-; public: static unsigned short const * __stdcall CCritSec::ClassName(void)
-?ClassName@CCritSec@@SGPBGXZ
-; public: static char const * __stdcall CFakeLock::ClassName(void)
-?ClassName@CFakeLock@@SGPBDXZ
-; public: static unsigned short const * __stdcall CFakeLock::ClassName(void)
-?ClassName@CFakeLock@@SGPBGXZ
-; public: static unsigned short const * __stdcall CLKRHashTable::ClassName(void)
-?ClassName@CLKRHashTable@@SGPBGXZ
-; public: static unsigned short const * __stdcall CLKRLinearHashTable::ClassName(void)
-?ClassName@CLKRLinearHashTable@@SGPBGXZ
-; public: static char const * __stdcall CReaderWriterLock2::ClassName(void)
-?ClassName@CReaderWriterLock2@@SGPBDXZ
-; public: static unsigned short const * __stdcall CReaderWriterLock2::ClassName(void)
-?ClassName@CReaderWriterLock2@@SGPBGXZ
-; public: static char const * __stdcall CReaderWriterLock3::ClassName(void)
-?ClassName@CReaderWriterLock3@@SGPBDXZ
-; public: static unsigned short const * __stdcall CReaderWriterLock3::ClassName(void)
-?ClassName@CReaderWriterLock3@@SGPBGXZ
-; public: static char const * __stdcall CReaderWriterLock::ClassName(void)
-?ClassName@CReaderWriterLock@@SGPBDXZ
-; public: static unsigned short const * __stdcall CReaderWriterLock::ClassName(void)
-?ClassName@CReaderWriterLock@@SGPBGXZ
-; public: static char const * __stdcall CRtlResource::ClassName(void)
-?ClassName@CRtlResource@@SGPBDXZ
-; public: static char const * __stdcall CShareLock::ClassName(void)
-?ClassName@CShareLock@@SGPBDXZ
-; public: static char const * __stdcall CSmallSpinLock::ClassName(void)
-?ClassName@CSmallSpinLock@@SGPBDXZ
-; public: static unsigned short const * __stdcall CSmallSpinLock::ClassName(void)
-?ClassName@CSmallSpinLock@@SGPBGXZ
-; public: static char const * __stdcall CSpinLock::ClassName(void)
-?ClassName@CSpinLock@@SGPBDXZ
-; public: static unsigned short const * __stdcall CSpinLock::ClassName(void)
-?ClassName@CSpinLock@@SGPBGXZ
-; public: static int __stdcall ALLOC_CACHE_HANDLER::Cleanup(void)
-?Cleanup@ALLOC_CACHE_HANDLER@@SGHXZ
-; public: void __thiscall HASH_TABLE::Cleanup(void)
-?Cleanup@HASH_TABLE@@QAEXXZ
-; public: void __thiscall HTB_ELEMENT::Cleanup(void)
-?Cleanup@HTB_ELEMENT@@QAEXXZ
-; public: static void __stdcall ALLOC_CACHE_HANDLER::CleanupAllLookasides(void *,unsigned char)
-?CleanupAllLookasides@ALLOC_CACHE_HANDLER@@SGXPAXE@Z
-; public: void __thiscall ALLOC_CACHE_HANDLER::CleanupLookaside(int)
-?CleanupLookaside@ALLOC_CACHE_HANDLER@@QAEXH@Z
-; public: void __thiscall CLKRHashTable::Clear(void)
-?Clear@CLKRHashTable@@QAEXXZ
-; public: void __thiscall CLKRLinearHashTable::Clear(void)
-?Clear@CLKRLinearHashTable@@QAEXXZ
-; public: void __thiscall STR::Clear(void)
-?Clear@STR@@QAEXXZ
-; public: int __thiscall MULTISZ::Clone(class MULTISZ *)const 
-?Clone@MULTISZ@@QBEHPAV1@@Z
-; public: int __thiscall STR::Clone(class STR *)const 
-?Clone@STR@@QBEHPAV1@@Z
-; public: long __thiscall STRA::Clone(class STRA *)const 
-?Clone@STRA@@QBEJPAV1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator *)
-?CloseIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator *)const 
-?CloseIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator *)
-?CloseIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator *)const 
-?CloseIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: unsigned long __thiscall HASH_TABLE::CloseIterator(struct HT_ITERATOR *)
-?CloseIterator@HASH_TABLE@@QAEKPAUHT_ITERATOR@@@Z
-; public: unsigned long __thiscall HASH_TABLE_BUCKET::CloseIterator(struct HT_ITERATOR *)
-?CloseIterator@HASH_TABLE_BUCKET@@QAEKPAUHT_ITERATOR@@@Z
-; public: void __thiscall TS_RESOURCE::Convert(enum TSRES_CONV_TYPE)
-?Convert@TS_RESOURCE@@QAEXW4TSRES_CONV_TYPE@@@Z
-; public: void __thiscall CCritSec::ConvertExclusiveToShared(void)
-?ConvertExclusiveToShared@CCritSec@@QAEXXZ
-; public: void __thiscall CFakeLock::ConvertExclusiveToShared(void)
-?ConvertExclusiveToShared@CFakeLock@@QAEXXZ
-; public: void __thiscall CLKRHashTable::ConvertExclusiveToShared(void)const 
-?ConvertExclusiveToShared@CLKRHashTable@@QBEXXZ
-; public: void __thiscall CLKRLinearHashTable::ConvertExclusiveToShared(void)const 
-?ConvertExclusiveToShared@CLKRLinearHashTable@@QBEXXZ
-; public: void __thiscall CReaderWriterLock2::ConvertExclusiveToShared(void)
-?ConvertExclusiveToShared@CReaderWriterLock2@@QAEXXZ
-; public: void __thiscall CReaderWriterLock3::ConvertExclusiveToShared(void)
-?ConvertExclusiveToShared@CReaderWriterLock3@@QAEXXZ
-; public: void __thiscall CReaderWriterLock::ConvertExclusiveToShared(void)
-?ConvertExclusiveToShared@CReaderWriterLock@@QAEXXZ
-; public: void __thiscall CRtlResource::ConvertExclusiveToShared(void)
-?ConvertExclusiveToShared@CRtlResource@@QAEXXZ
-; public: void __thiscall CShareLock::ConvertExclusiveToShared(void)
-?ConvertExclusiveToShared@CShareLock@@QAEXXZ
-; public: void __thiscall CSmallSpinLock::ConvertExclusiveToShared(void)
-?ConvertExclusiveToShared@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::ConvertExclusiveToShared(void)
-?ConvertExclusiveToShared@CSpinLock@@QAEXXZ
-; public: void __thiscall CCritSec::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CCritSec@@QAEXXZ
-; public: void __thiscall CFakeLock::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CFakeLock@@QAEXXZ
-; public: void __thiscall CLKRHashTable::ConvertSharedToExclusive(void)const 
-?ConvertSharedToExclusive@CLKRHashTable@@QBEXXZ
-; public: void __thiscall CLKRLinearHashTable::ConvertSharedToExclusive(void)const 
-?ConvertSharedToExclusive@CLKRLinearHashTable@@QBEXXZ
-; public: void __thiscall CReaderWriterLock2::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CReaderWriterLock2@@QAEXXZ
-; public: void __thiscall CReaderWriterLock3::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CReaderWriterLock3@@QAEXXZ
-; public: void __thiscall CReaderWriterLock::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CReaderWriterLock@@QAEXXZ
-; public: void __thiscall CRtlResource::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CRtlResource@@QAEXXZ
-; public: void __thiscall CShareLock::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CShareLock@@QAEXXZ
-; public: void __thiscall CSmallSpinLock::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CSpinLock@@QAEXXZ
-; public: int __thiscall MULTISZ::Copy(class MULTISZ const &)
-?Copy@MULTISZ@@QAEHABV1@@Z
-; public: int __thiscall MULTISZ::Copy(char const *,unsigned long)
-?Copy@MULTISZ@@QAEHPBDK@Z
-; public: int __thiscall STR::Copy(class STR const &)
-?Copy@STR@@QAEHABV1@@Z
-; public: int __thiscall STR::Copy(char const *)
-?Copy@STR@@QAEHPBD@Z
-; public: int __thiscall STR::Copy(char const *,unsigned long)
-?Copy@STR@@QAEHPBDK@Z
-; public: long __thiscall STRA::Copy(class STRA const &)
-?Copy@STRA@@QAEJABV1@@Z
-; public: long __thiscall STRA::Copy(char const *)
-?Copy@STRA@@QAEJPBD@Z
-; public: long __thiscall STRA::Copy(char const *,unsigned long)
-?Copy@STRA@@QAEJPBDK@Z
-; public: int __thiscall STRAU::Copy(class STRAU &)
-?Copy@STRAU@@QAEHAAV1@@Z
-; public: int __thiscall STRAU::Copy(char const *)
-?Copy@STRAU@@QAEHPBD@Z
-; public: int __thiscall STRAU::Copy(char const *,unsigned long)
-?Copy@STRAU@@QAEHPBDK@Z
-; public: int __thiscall STRAU::Copy(unsigned short const *)
-?Copy@STRAU@@QAEHPBG@Z
-; public: int __thiscall STRAU::Copy(unsigned short const *,unsigned long)
-?Copy@STRAU@@QAEHPBGK@Z
-; public: long __thiscall STRU::Copy(class STRU const &)
-?Copy@STRU@@QAEJABV1@@Z
-; public: long __thiscall STRU::Copy(unsigned short const *)
-?Copy@STRU@@QAEJPBG@Z
-; public: long __thiscall STRU::Copy(unsigned short const *,unsigned long)
-?Copy@STRU@@QAEJPBGK@Z
-; public: long __thiscall STRU::CopyA(char const *)
-?CopyA@STRU@@QAEJPBD@Z
-; public: long __thiscall STRU::CopyA(char const *,unsigned long)
-?CopyA@STRU@@QAEJPBDK@Z
-; public: long __thiscall STRA::CopyBinary(void *,unsigned long)
-?CopyBinary@STRA@@QAEJPAXK@Z
-; public: int __thiscall CDFTCache::CopyFormattedData(struct _SYSTEMTIME const *,char *)const 
-?CopyFormattedData@CDFTCache@@QBEHPBU_SYSTEMTIME@@PAD@Z
-; public: void __thiscall DATETIME_FORMAT_ENTRY::CopyFormattedData(struct _SYSTEMTIME const *,char *)const 
-?CopyFormattedData@DATETIME_FORMAT_ENTRY@@QBEXPBU_SYSTEMTIME@@PAD@Z
-; public: int __thiscall MULTISZ::CopyToBuffer(char *,unsigned long *)const 
-?CopyToBuffer@MULTISZ@@QBEHPADPAK@Z
-; public: int __thiscall STR::CopyToBuffer(char *,unsigned long *)const 
-?CopyToBuffer@STR@@QBEHPADPAK@Z
-; public: int __thiscall STR::CopyToBuffer(unsigned short *,unsigned long *)const 
-?CopyToBuffer@STR@@QBEHPAGPAK@Z
-; public: long __thiscall STRA::CopyToBuffer(char *,unsigned long *)const 
-?CopyToBuffer@STRA@@QBEJPADPAK@Z
-; public: long __thiscall STRU::CopyToBuffer(unsigned short *,unsigned long *)const 
-?CopyToBuffer@STRU@@QBEJPAGPAK@Z
-; public: long __thiscall STRA::CopyW(unsigned short const *)
-?CopyW@STRA@@QAEJPBG@Z
-; public: long __thiscall STRA::CopyW(unsigned short const *,unsigned long)
-?CopyW@STRA@@QAEJPBGK@Z
-; public: long __thiscall STRA::CopyWToUTF8(class STRU const &)
-?CopyWToUTF8@STRA@@QAEJABVSTRU@@@Z
-; public: long __thiscall STRA::CopyWToUTF8(unsigned short const *)
-?CopyWToUTF8@STRA@@QAEJPBG@Z
-; public: long __thiscall STRA::CopyWToUTF8(unsigned short const *,unsigned long)
-?CopyWToUTF8@STRA@@QAEJPBGK@Z
-; public: long __thiscall STRA::CopyWToUTF8Unescaped(class STRU const &)
-?CopyWToUTF8Unescaped@STRA@@QAEJABVSTRU@@@Z
-; public: long __thiscall STRA::CopyWToUTF8Unescaped(unsigned short const *)
-?CopyWToUTF8Unescaped@STRA@@QAEJPBG@Z
-; public: long __thiscall STRA::CopyWToUTF8Unescaped(unsigned short const *,unsigned long)
-?CopyWToUTF8Unescaped@STRA@@QAEJPBGK@Z
-; public: long __thiscall STRA::CopyWTruncate(unsigned short const *)
-?CopyWTruncate@STRA@@QAEJPBG@Z
-; public: long __thiscall STRA::CopyWTruncate(unsigned short const *,unsigned long)
-?CopyWTruncate@STRA@@QAEJPBGK@Z
-CreateKey
-; public: unsigned long __thiscall CDFTCache::DateTimeChars(void)const 
-?DateTimeChars@CDFTCache@@QBEKXZ
-; char const * __stdcall DayOfWeek3CharNames(unsigned long)
-?DayOfWeek3CharNames@@YGPBDK@Z
-; public: void __thiscall HTB_ELEMENT::DecrementElements(void)
-?DecrementElements@HTB_ELEMENT@@QAEXXZ
-; public: int __thiscall HASH_TABLE::Delete(class HT_ELEMENT *)
-?Delete@HASH_TABLE@@QAEHPAVHT_ELEMENT@@@Z
-; public: int __thiscall HASH_TABLE_BUCKET::Delete(class HT_ELEMENT *)
-?Delete@HASH_TABLE_BUCKET@@QAEHPAVHT_ELEMENT@@@Z
-; public: int __thiscall HTB_ELEMENT::Delete(class HT_ELEMENT *)
-?Delete@HTB_ELEMENT@@QAEHPAVHT_ELEMENT@@@Z
-; public: unsigned long __thiscall BUFFER_CHAIN::DeleteChain(void)
-?DeleteChain@BUFFER_CHAIN@@QAEKXZ
-; public: unsigned long __thiscall CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *)
-?DeleteIf@CLKRHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1@Z
-; public: unsigned long __thiscall CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *)
-?DeleteIf@CLKRLinearHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::DeleteKey(unsigned long)
-?DeleteKey@CLKRHashTable@@QAE?AW4LK_RETCODE@@K@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::DeleteKey(unsigned long)
-?DeleteKey@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@K@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::DeleteRecord(void const *)
-?DeleteRecord@CLKRHashTable@@QAE?AW4LK_RETCODE@@PBX@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::DeleteRecord(void const *)
-?DeleteRecord@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PBX@Z
-; public: virtual unsigned long __thiscall CEtwTracer::DisableEventsCallbackCustomHandler(void)
-?DisableEventsCallbackCustomHandler@CEtwTracer@@UAEKXZ
-; public: static int __stdcall ALLOC_CACHE_HANDLER::DumpStatsToHtml(char *,unsigned long *)
-?DumpStatsToHtml@ALLOC_CACHE_HANDLER@@SGHPADPAK@Z
-; public: virtual unsigned long __thiscall CEtwTracer::EnableEventsCallbackCustomHandler(void)
-?EnableEventsCallbackCustomHandler@CEtwTracer@@UAEKXZ
-; public: class CLKRHashTable_Iterator  __thiscall CLKRHashTable::End(void)
-?End@CLKRHashTable@@QAE?AVCLKRHashTable_Iterator@@XZ
-; public: class CLKRLinearHashTable_Iterator  __thiscall CLKRLinearHashTable::End(void)
-?End@CLKRLinearHashTable@@QAE?AVCLKRLinearHashTable_Iterator@@XZ
-; public: int __thiscall STR::Equ(class STR const &)const 
-?Equ@STR@@QBEHABV1@@Z
-; public: int __thiscall STR::Equ(char *)const 
-?Equ@STR@@QBEHPAD@Z
-; public: bool __thiscall CLKRHashTable::EqualRange(unsigned long,class CLKRHashTable_Iterator &,class CLKRHashTable_Iterator &)
-?EqualRange@CLKRHashTable@@QAE_NKAAVCLKRHashTable_Iterator@@0@Z
-; public: bool __thiscall CLKRLinearHashTable::EqualRange(unsigned long,class CLKRLinearHashTable_Iterator &,class CLKRLinearHashTable_Iterator &)
-?EqualRange@CLKRLinearHashTable@@QAE_NKAAVCLKRLinearHashTable_Iterator@@0@Z
-; public: int __thiscall STRA::Equals(class STRA const &)const 
-?Equals@STRA@@QBEHABV1@@Z
-; public: int __thiscall STRA::Equals(char * const)const 
-?Equals@STRA@@QBEHQAD@Z
-; public: int __thiscall STRU::Equals(class STRU const &)const 
-?Equals@STRU@@QBEHABV1@@Z
-; public: int __thiscall STRU::Equals(unsigned short const *)const 
-?Equals@STRU@@QBEHPBG@Z
-; public: int __thiscall STRA::EqualsNoCase(class STRA const &)const 
-?EqualsNoCase@STRA@@QBEHABV1@@Z
-; public: int __thiscall STRA::EqualsNoCase(char * const)const 
-?EqualsNoCase@STRA@@QBEHQAD@Z
-; public: int __thiscall STRU::EqualsNoCase(class STRU const &)const 
-?EqualsNoCase@STRU@@QBEHABV1@@Z
-; public: int __thiscall STRU::EqualsNoCase(unsigned short const *)const 
-?EqualsNoCase@STRU@@QBEHPBG@Z
-; public: bool __thiscall CLKRHashTable::Erase(class CLKRHashTable_Iterator &,class CLKRHashTable_Iterator &)
-?Erase@CLKRHashTable@@QAE_NAAVCLKRHashTable_Iterator@@0@Z
-; public: bool __thiscall CLKRHashTable::Erase(class CLKRHashTable_Iterator &)
-?Erase@CLKRHashTable@@QAE_NAAVCLKRHashTable_Iterator@@@Z
-; public: bool __thiscall CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator &,class CLKRLinearHashTable_Iterator &)
-?Erase@CLKRLinearHashTable@@QAE_NAAVCLKRLinearHashTable_Iterator@@0@Z
-; public: bool __thiscall CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator &)
-?Erase@CLKRLinearHashTable@@QAE_NAAVCLKRLinearHashTable_Iterator@@@Z
-; public: int __thiscall STR::Escape(void)
-?Escape@STR@@QAEHXZ
-; public: long __thiscall STRA::Escape(int,int)
-?Escape@STRA@@QAEJHH@Z
-; public: long __thiscall STRU::Escape(void)
-?Escape@STRU@@QAEJXZ
-; public: int __thiscall STR::EscapeSpaces(void)
-?EscapeSpaces@STR@@QAEHXZ
-; public: unsigned long __cdecl CEtwTracer::EtwTraceEvent(struct _GUID const *,unsigned long,...)
-?EtwTraceEvent@CEtwTracer@@QAAKPBU_GUID@@KZZ
-; int __stdcall FileTimeToGMT(struct _FILETIME const &,char *,unsigned long)
-?FileTimeToGMT@@YGHABU_FILETIME@@PADK@Z
-; int __stdcall FileTimeToGMTEx(struct _FILETIME const &,char *,unsigned long,unsigned long)
-?FileTimeToGMTEx@@YGHABU_FILETIME@@PADKK@Z
-; public: bool __thiscall CLKRHashTable::Find(unsigned long,class CLKRHashTable_Iterator &)
-?Find@CLKRHashTable@@QAE_NKAAVCLKRHashTable_Iterator@@@Z
-; public: bool __thiscall CLKRLinearHashTable::Find(unsigned long,class CLKRLinearHashTable_Iterator &)
-?Find@CLKRLinearHashTable@@QAE_NKAAVCLKRLinearHashTable_Iterator@@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::FindKey(unsigned long,void const * *)const 
-?FindKey@CLKRHashTable@@QBE?AW4LK_RETCODE@@KPAPBX@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::FindKey(unsigned long,void const * *)const 
-?FindKey@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@KPAPBX@Z
-; public: unsigned long __thiscall HASH_TABLE::FindNextElement(struct HT_ITERATOR *,class HT_ELEMENT * *)
-?FindNextElement@HASH_TABLE@@QAEKPAUHT_ITERATOR@@PAPAVHT_ELEMENT@@@Z
-; public: unsigned long __thiscall HASH_TABLE_BUCKET::FindNextElement(struct HT_ITERATOR *,class HT_ELEMENT * *)
-?FindNextElement@HASH_TABLE_BUCKET@@QAEKPAUHT_ITERATOR@@PAPAVHT_ELEMENT@@@Z
-; public: unsigned long __thiscall HTB_ELEMENT::FindNextElement(unsigned long *,class HT_ELEMENT * *)
-?FindNextElement@HTB_ELEMENT@@QAEKPAKPAPAVHT_ELEMENT@@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::FindRecord(void const *)const 
-?FindRecord@CLKRHashTable@@QBE?AW4LK_RETCODE@@PBX@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::FindRecord(void const *)const 
-?FindRecord@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PBX@Z
-; public: int __thiscall MULTISZ::FindString(class STR const &)
-?FindString@MULTISZ@@QAEHABVSTR@@@Z
-; public: int __thiscall MULTISZ::FindString(char const *)
-?FindString@MULTISZ@@QAEHPBD@Z
-; public: class CListEntry * __thiscall CDoubleList::First(void)const 
-?First@CDoubleList@@QBEQAVCListEntry@@XZ
-; public: class CListEntry * __thiscall CLockedDoubleList::First(void)
-?First@CLockedDoubleList@@QAEQAVCListEntry@@XZ
-; public: char const * __thiscall MULTISZ::First(void)const 
-?First@MULTISZ@@QBEPBDXZ
-; public: struct HTBE_ENTRY * __thiscall HTB_ELEMENT::FirstElement(void)
-?FirstElement@HTB_ELEMENT@@QAEPAUHTBE_ENTRY@@XZ
-; public: unsigned long __thiscall HASH_TABLE::FlushElements(void)
-?FlushElements@HASH_TABLE@@QAEKXZ
-; public: int __thiscall STR::FormatString(unsigned long,char const * * const,char const *,unsigned long)
-?FormatString@STR@@QAEHKQAPBDPBDK@Z
-; public: long __thiscall STRA::FormatString(unsigned long,char const * * const,char const *,unsigned long)
-?FormatString@STRA@@QAEJKQAPBDPBDK@Z
-; public: char const * __thiscall CDFTCache::FormattedBuffer(void)const 
-?FormattedBuffer@CDFTCache@@QBEPBDXZ
-; public: int __thiscall ALLOC_CACHE_HANDLER::Free(void *)
-?Free@ALLOC_CACHE_HANDLER@@QAEHPAX@Z
-; public: void __thiscall BUFFER::FreeMemory(void)
-?FreeMemory@BUFFER@@QAEXXZ
-; public: virtual void __thiscall ASCLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY *,struct _SYSTEMTIME const *)
-?GenerateDateTimeString@ASCLOG_DATETIME_CACHE@@UAEXPAUDATETIME_FORMAT_ENTRY@@PBU_SYSTEMTIME@@@Z
-; public: virtual void __thiscall EXTLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY *,struct _SYSTEMTIME const *)
-?GenerateDateTimeString@EXTLOG_DATETIME_CACHE@@UAEXPAUDATETIME_FORMAT_ENTRY@@PBU_SYSTEMTIME@@@Z
-; public: virtual void __thiscall W3_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY *,struct _SYSTEMTIME const *)
-?GenerateDateTimeString@W3_DATETIME_CACHE@@UAEXPAUDATETIME_FORMAT_ENTRY@@PBU_SYSTEMTIME@@@Z
-; public: unsigned short __thiscall CLKRHashTable::GetBucketLockSpinCount(void)const 
-?GetBucketLockSpinCount@CLKRHashTable@@QBEGXZ
-; public: unsigned short __thiscall CLKRLinearHashTable::GetBucketLockSpinCount(void)const 
-?GetBucketLockSpinCount@CLKRLinearHashTable@@QBEGXZ
-; public: static double __stdcall CCritSec::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CCritSec@@SGNXZ
-; public: static double __stdcall CFakeLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CFakeLock@@SGNXZ
-; public: static double __stdcall CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SGNXZ
-; public: static double __stdcall CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SGNXZ
-; public: static double __stdcall CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SGNXZ
-; public: static double __stdcall CRtlResource::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CRtlResource@@SGNXZ
-; public: static double __stdcall CShareLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CShareLock@@SGNXZ
-; public: static double __stdcall CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SGNXZ
-; public: static double __stdcall CSpinLock::GetDefaultSpinAdjustmentFactor(void)
-?GetDefaultSpinAdjustmentFactor@CSpinLock@@SGNXZ
-; public: static unsigned short __stdcall CCritSec::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CCritSec@@SGGXZ
-; public: static unsigned short __stdcall CFakeLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CFakeLock@@SGGXZ
-; public: static unsigned short __stdcall CReaderWriterLock2::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock2@@SGGXZ
-; public: static unsigned short __stdcall CReaderWriterLock3::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock3@@SGGXZ
-; public: static unsigned short __stdcall CReaderWriterLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CReaderWriterLock@@SGGXZ
-; public: static unsigned short __stdcall CRtlResource::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CRtlResource@@SGGXZ
-; public: static unsigned short __stdcall CShareLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CShareLock@@SGGXZ
-; public: static unsigned short __stdcall CSmallSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSmallSpinLock@@SGGXZ
-; public: static unsigned short __stdcall CSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSpinLock@@SGGXZ
-; public: unsigned long __thiscall EVENT_LOG::GetErrorCode(void)const 
-?GetErrorCode@EVENT_LOG@@QBEKXZ
-; public: unsigned long __thiscall CACHED_DATETIME_FORMATS::GetFormattedCurrentDateTime(char *)
-?GetFormattedCurrentDateTime@CACHED_DATETIME_FORMATS@@QAEKPAD@Z
-; public: unsigned long __thiscall CACHED_DATETIME_FORMATS::GetFormattedDateTime(struct _SYSTEMTIME const *,char *)
-?GetFormattedDateTime@CACHED_DATETIME_FORMATS@@QAEKPBU_SYSTEMTIME@@PAD@Z
-; private: int __thiscall BUFFER::GetNewStorage(unsigned int)
-?GetNewStorage@BUFFER@@AAEHI@Z
-; public: unsigned short __thiscall CCritSec::GetSpinCount(void)const 
-?GetSpinCount@CCritSec@@QBEGXZ
-; public: unsigned short __thiscall CFakeLock::GetSpinCount(void)const 
-?GetSpinCount@CFakeLock@@QBEGXZ
-; public: unsigned short __thiscall CReaderWriterLock2::GetSpinCount(void)const 
-?GetSpinCount@CReaderWriterLock2@@QBEGXZ
-; public: unsigned short __thiscall CReaderWriterLock3::GetSpinCount(void)const 
-?GetSpinCount@CReaderWriterLock3@@QBEGXZ
-; public: unsigned short __thiscall CReaderWriterLock::GetSpinCount(void)const 
-?GetSpinCount@CReaderWriterLock@@QBEGXZ
-; public: unsigned short __thiscall CRtlResource::GetSpinCount(void)const 
-?GetSpinCount@CRtlResource@@QBEGXZ
-; public: unsigned short __thiscall CShareLock::GetSpinCount(void)const 
-?GetSpinCount@CShareLock@@QBEGXZ
-; public: unsigned short __thiscall CSmallSpinLock::GetSpinCount(void)const 
-?GetSpinCount@CSmallSpinLock@@QBEGXZ
-; public: unsigned short __thiscall CSpinLock::GetSpinCount(void)const 
-?GetSpinCount@CSpinLock@@QBEGXZ
-; public: class CLKRHashTableStats  __thiscall CLKRHashTable::GetStatistics(void)const 
-?GetStatistics@CLKRHashTable@@QBE?AVCLKRHashTableStats@@XZ
-; public: class CLKRHashTableStats  __thiscall CLKRLinearHashTable::GetStatistics(void)const 
-?GetStatistics@CLKRLinearHashTable@@QBE?AVCLKRHashTableStats@@XZ
-; public: unsigned short __thiscall CLKRHashTable::GetTableLockSpinCount(void)const 
-?GetTableLockSpinCount@CLKRHashTable@@QBEGXZ
-; public: unsigned short __thiscall CLKRLinearHashTable::GetTableLockSpinCount(void)const 
-?GetTableLockSpinCount@CLKRLinearHashTable@@QBEGXZ
-; public: int __thiscall CDateTime::GetTickCount(void)
-?GetTickCount@CDateTime@@QAEHXZ
-; public: long __thiscall STRA::HTMLEncode(void)
-?HTMLEncode@STRA@@QAEJXZ
-; public: void __thiscall STR::Hash(void)
-?Hash@STR@@QAEXXZ
-; public: class CListEntry const * __thiscall CDoubleList::HeadNode(void)const 
-?HeadNode@CDoubleList@@QBEQBVCListEntry@@XZ
-; public: class CListEntry const * __thiscall CLockedDoubleList::HeadNode(void)const 
-?HeadNode@CLockedDoubleList@@QBEQBVCListEntry@@XZ
-IISCreateDirectory
-IISstricmp
-IISstrlen
-IISstrlwr
-IISstrncpy
-IISstrnicmp
-IISstrrchr
-IISstrupr
-; public: bool __thiscall CLKRHashTable_Iterator::Increment(void)
-?Increment@CLKRHashTable_Iterator@@QAE_NXZ
-; public: bool __thiscall CLKRLinearHashTable_Iterator::Increment(void)
-?Increment@CLKRLinearHashTable_Iterator@@QAE_NXZ
-; public: void __thiscall HTB_ELEMENT::IncrementElements(void)
-?IncrementElements@HTB_ELEMENT@@QAEXXZ
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator *)
-?IncrementIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator *)const 
-?IncrementIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator *)
-?IncrementIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator *)const 
-?IncrementIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: static int __stdcall ALLOC_CACHE_HANDLER::Initialize(void)
-?Initialize@ALLOC_CACHE_HANDLER@@SGHXZ
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator *)
-?InitializeIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator *)const 
-?InitializeIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator *)
-?InitializeIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator *)const 
-?InitializeIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: unsigned long __thiscall HASH_TABLE::InitializeIterator(struct HT_ITERATOR *)
-?InitializeIterator@HASH_TABLE@@QAEKPAUHT_ITERATOR@@@Z
-; public: unsigned long __thiscall HASH_TABLE_BUCKET::InitializeIterator(struct HT_ITERATOR *)
-?InitializeIterator@HASH_TABLE_BUCKET@@QAEKPAUHT_ITERATOR@@@Z
-; public: bool __thiscall CLKRHashTable::Insert(void const *,class CLKRHashTable_Iterator &,bool)
-?Insert@CLKRHashTable@@QAE_NPBXAAVCLKRHashTable_Iterator@@_N@Z
-; public: bool __thiscall CLKRLinearHashTable::Insert(void const *,class CLKRLinearHashTable_Iterator &,bool)
-?Insert@CLKRLinearHashTable@@QAE_NPBXAAVCLKRLinearHashTable_Iterator@@_N@Z
-; public: int __thiscall HASH_TABLE::Insert(class HT_ELEMENT *,int)
-?Insert@HASH_TABLE@@QAEHPAVHT_ELEMENT@@H@Z
-; public: int __thiscall HASH_TABLE_BUCKET::Insert(unsigned long,class HT_ELEMENT *,int)
-?Insert@HASH_TABLE_BUCKET@@QAEHKPAVHT_ELEMENT@@H@Z
-; public: int __thiscall HTB_ELEMENT::Insert(unsigned long,class HT_ELEMENT *)
-?Insert@HTB_ELEMENT@@QAEHKPAVHT_ELEMENT@@@Z
-; public: void __thiscall CDoubleList::InsertHead(class CListEntry * const)
-?InsertHead@CDoubleList@@QAEXQAVCListEntry@@@Z
-; public: void __thiscall CLockedDoubleList::InsertHead(class CListEntry * const)
-?InsertHead@CLockedDoubleList@@QAEXQAVCListEntry@@@Z
-; public: static void __stdcall ALLOC_CACHE_HANDLER::InsertNewItem(class ALLOC_CACHE_HANDLER *)
-?InsertNewItem@ALLOC_CACHE_HANDLER@@SGXPAV1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::InsertRecord(void const *,bool)
-?InsertRecord@CLKRHashTable@@QAE?AW4LK_RETCODE@@PBX_N@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InsertRecord(void const *,bool)
-?InsertRecord@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PBX_N@Z
-; public: void __thiscall CDoubleList::InsertTail(class CListEntry * const)
-?InsertTail@CDoubleList@@QAEXQAVCListEntry@@@Z
-; public: void __thiscall CLockedDoubleList::InsertTail(class CListEntry * const)
-?InsertTail@CLockedDoubleList@@QAEXQAVCListEntry@@@Z
-; public: int __thiscall ALLOC_CACHE_HANDLER::IpPrint(char *,unsigned long *)
-?IpPrint@ALLOC_CACHE_HANDLER@@QAEHPADPAK@Z
-; public: int __thiscall MLSZAU::IsCurrentUnicode(void)
-?IsCurrentUnicode@MLSZAU@@QAEHXZ
-; public: int __thiscall STRAU::IsCurrentUnicode(void)
-?IsCurrentUnicode@STRAU@@QAEHXZ
-; private: int __thiscall BUFFER::IsDynAlloced(void)const 
-?IsDynAlloced@BUFFER@@ABEHXZ
-; public: bool __thiscall CDoubleList::IsEmpty(void)const 
-?IsEmpty@CDoubleList@@QBE_NXZ
-; public: bool __thiscall CLockedDoubleList::IsEmpty(void)const 
-?IsEmpty@CLockedDoubleList@@QBE_NXZ
-; public: bool __thiscall CLockedSingleList::IsEmpty(void)const 
-?IsEmpty@CLockedSingleList@@QBE_NXZ
-; public: bool __thiscall CSingleList::IsEmpty(void)const 
-?IsEmpty@CSingleList@@QBE_NXZ
-; public: int __thiscall MULTISZ::IsEmpty(void)const 
-?IsEmpty@MULTISZ@@QBEHXZ
-; public: int __thiscall STR::IsEmpty(void)const 
-?IsEmpty@STR@@QBEHXZ
-; public: int __thiscall STRA::IsEmpty(void)const 
-?IsEmpty@STRA@@QBEHXZ
-; public: int __thiscall STRAU::IsEmpty(void)
-?IsEmpty@STRAU@@QAEHXZ
-; public: int __thiscall STRU::IsEmpty(void)const 
-?IsEmpty@STRU@@QBEHXZ
-; public: int __thiscall CDFTCache::IsHit(struct _SYSTEMTIME const *)const 
-?IsHit@CDFTCache@@QBEHPBU_SYSTEMTIME@@@Z
-; public: int __thiscall DATETIME_FORMAT_ENTRY::IsHit(struct _SYSTEMTIME const *)const 
-?IsHit@DATETIME_FORMAT_ENTRY@@QBEHPBU_SYSTEMTIME@@@Z
-IsIPAddressLocal
-IsLargeIntegerToDecimalChar
-; public: bool __thiscall CLockedDoubleList::IsLocked(void)const 
-?IsLocked@CLockedDoubleList@@QBE_NXZ
-; public: bool __thiscall CLockedSingleList::IsLocked(void)const 
-?IsLocked@CLockedSingleList@@QBE_NXZ
-; public: bool __thiscall CCritSec::IsReadLocked(void)const 
-?IsReadLocked@CCritSec@@QBE_NXZ
-; public: bool __thiscall CFakeLock::IsReadLocked(void)const 
-?IsReadLocked@CFakeLock@@QBE_NXZ
-; public: bool __thiscall CLKRHashTable::IsReadLocked(void)const 
-?IsReadLocked@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::IsReadLocked(void)const 
-?IsReadLocked@CLKRLinearHashTable@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock2::IsReadLocked(void)const 
-?IsReadLocked@CReaderWriterLock2@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock3::IsReadLocked(void)const 
-?IsReadLocked@CReaderWriterLock3@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock::IsReadLocked(void)const 
-?IsReadLocked@CReaderWriterLock@@QBE_NXZ
-; public: bool __thiscall CRtlResource::IsReadLocked(void)const 
-?IsReadLocked@CRtlResource@@QBE_NXZ
-; public: bool __thiscall CShareLock::IsReadLocked(void)const 
-?IsReadLocked@CShareLock@@QBE_NXZ
-; public: bool __thiscall CSmallSpinLock::IsReadLocked(void)const 
-?IsReadLocked@CSmallSpinLock@@QBE_NXZ
-; public: bool __thiscall CSpinLock::IsReadLocked(void)const 
-?IsReadLocked@CSpinLock@@QBE_NXZ
-; public: bool __thiscall CCritSec::IsReadUnlocked(void)const 
-?IsReadUnlocked@CCritSec@@QBE_NXZ
-; public: bool __thiscall CFakeLock::IsReadUnlocked(void)const 
-?IsReadUnlocked@CFakeLock@@QBE_NXZ
-; public: bool __thiscall CLKRHashTable::IsReadUnlocked(void)const 
-?IsReadUnlocked@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::IsReadUnlocked(void)const 
-?IsReadUnlocked@CLKRLinearHashTable@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock2::IsReadUnlocked(void)const 
-?IsReadUnlocked@CReaderWriterLock2@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock3::IsReadUnlocked(void)const 
-?IsReadUnlocked@CReaderWriterLock3@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock::IsReadUnlocked(void)const 
-?IsReadUnlocked@CReaderWriterLock@@QBE_NXZ
-; public: bool __thiscall CRtlResource::IsReadUnlocked(void)const 
-?IsReadUnlocked@CRtlResource@@QBE_NXZ
-; public: bool __thiscall CShareLock::IsReadUnlocked(void)const 
-?IsReadUnlocked@CShareLock@@QBE_NXZ
-; public: bool __thiscall CSmallSpinLock::IsReadUnlocked(void)const 
-?IsReadUnlocked@CSmallSpinLock@@QBE_NXZ
-; public: bool __thiscall CSpinLock::IsReadUnlocked(void)const 
-?IsReadUnlocked@CSpinLock@@QBE_NXZ
-; public: int __thiscall HTB_ELEMENT::IsSpaceAvailable(void)const 
-?IsSpaceAvailable@HTB_ELEMENT@@QBEHXZ
-; public: bool __thiscall CLockedDoubleList::IsUnlocked(void)const 
-?IsUnlocked@CLockedDoubleList@@QBE_NXZ
-; public: bool __thiscall CLockedSingleList::IsUnlocked(void)const 
-?IsUnlocked@CLockedSingleList@@QBE_NXZ
-; public: bool __thiscall CLKRHashTable::IsUsable(void)const 
-?IsUsable@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::IsUsable(void)const 
-?IsUsable@CLKRLinearHashTable@@QBE_NXZ
-; public: int __thiscall ALLOC_CACHE_HANDLER::IsValid(void)const 
-?IsValid@ALLOC_CACHE_HANDLER@@QBEHXZ
-; public: int __thiscall BUFFER::IsValid(void)const 
-?IsValid@BUFFER@@QBEHXZ
-; public: bool __thiscall CLKRHashTable::IsValid(void)const 
-?IsValid@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRHashTable_Iterator::IsValid(void)const 
-?IsValid@CLKRHashTable_Iterator@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::IsValid(void)const 
-?IsValid@CLKRLinearHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable_Iterator::IsValid(void)const 
-?IsValid@CLKRLinearHashTable_Iterator@@QBE_NXZ
-; public: int __thiscall HASH_TABLE::IsValid(void)const 
-?IsValid@HASH_TABLE@@QBEHXZ
-; public: int __thiscall MLSZAU::IsValid(void)
-?IsValid@MLSZAU@@QAEHXZ
-; public: int __thiscall MULTISZ::IsValid(void)const 
-?IsValid@MULTISZ@@QBEHXZ
-; public: int __thiscall STR::IsValid(void)const 
-?IsValid@STR@@QBEHXZ
-; public: int __thiscall STRA::IsValid(void)const 
-?IsValid@STRA@@QBEHXZ
-; public: int __thiscall STRAU::IsValid(void)
-?IsValid@STRAU@@QAEHXZ
-; public: bool __thiscall CCritSec::IsWriteLocked(void)const 
-?IsWriteLocked@CCritSec@@QBE_NXZ
-; public: bool __thiscall CFakeLock::IsWriteLocked(void)const 
-?IsWriteLocked@CFakeLock@@QBE_NXZ
-; public: bool __thiscall CLKRHashTable::IsWriteLocked(void)const 
-?IsWriteLocked@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::IsWriteLocked(void)const 
-?IsWriteLocked@CLKRLinearHashTable@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock2::IsWriteLocked(void)const 
-?IsWriteLocked@CReaderWriterLock2@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock3::IsWriteLocked(void)const 
-?IsWriteLocked@CReaderWriterLock3@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock::IsWriteLocked(void)const 
-?IsWriteLocked@CReaderWriterLock@@QBE_NXZ
-; public: bool __thiscall CRtlResource::IsWriteLocked(void)const 
-?IsWriteLocked@CRtlResource@@QBE_NXZ
-; public: bool __thiscall CShareLock::IsWriteLocked(void)const 
-?IsWriteLocked@CShareLock@@QBE_NXZ
-; public: bool __thiscall CSmallSpinLock::IsWriteLocked(void)const 
-?IsWriteLocked@CSmallSpinLock@@QBE_NXZ
-; public: bool __thiscall CSpinLock::IsWriteLocked(void)const 
-?IsWriteLocked@CSpinLock@@QBE_NXZ
-; public: bool __thiscall CCritSec::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CCritSec@@QBE_NXZ
-; public: bool __thiscall CFakeLock::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CFakeLock@@QBE_NXZ
-; public: bool __thiscall CLKRHashTable::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CLKRLinearHashTable@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock2::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CReaderWriterLock2@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock3::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CReaderWriterLock3@@QBE_NXZ
-; public: bool __thiscall CReaderWriterLock::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CReaderWriterLock@@QBE_NXZ
-; public: bool __thiscall CRtlResource::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CRtlResource@@QBE_NXZ
-; public: bool __thiscall CShareLock::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CShareLock@@QBE_NXZ
-; public: bool __thiscall CSmallSpinLock::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CSmallSpinLock@@QBE_NXZ
-; public: bool __thiscall CSpinLock::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CSpinLock@@QBE_NXZ
-; public: unsigned long const  __thiscall CLKRHashTable_Iterator::Key(void)const 
-?Key@CLKRHashTable_Iterator@@QBE?BKXZ
-; public: unsigned long const  __thiscall CLKRLinearHashTable_Iterator::Key(void)const 
-?Key@CLKRLinearHashTable_Iterator@@QBE?BKXZ
-; public: class CListEntry * __thiscall CDoubleList::Last(void)const 
-?Last@CDoubleList@@QBEQAVCListEntry@@XZ
-; public: class CListEntry * __thiscall CLockedDoubleList::Last(void)
-?Last@CLockedDoubleList@@QAEQAVCListEntry@@XZ
-; public: struct HTBE_ENTRY * __thiscall HTB_ELEMENT::LastElement(void)
-?LastElement@HTB_ELEMENT@@QAEPAUHTBE_ENTRY@@XZ
-; public: int __thiscall STR::LoadStringA(unsigned long,struct HINSTANCE__ *)
-?LoadStringA@STR@@QAEHKPAUHINSTANCE__@@@Z
-; public: int __thiscall STR::LoadStringA(unsigned long,char const *,unsigned long)
-?LoadStringA@STR@@QAEHKPBDK@Z
-; public: long __thiscall STRA::LoadStringW(unsigned long,struct HINSTANCE__ *)
-?LoadStringW@STRA@@QAEJKPAUHINSTANCE__@@@Z
-; public: long __thiscall STRA::LoadStringW(unsigned long,char const *,unsigned long)
-?LoadStringW@STRA@@QAEJKPBDK@Z
-; private: void __thiscall ALLOC_CACHE_HANDLER::Lock(void)
-?Lock@ALLOC_CACHE_HANDLER@@AAEXXZ
-; public: void __thiscall CLockedDoubleList::Lock(void)
-?Lock@CLockedDoubleList@@QAEXXZ
-; public: void __thiscall CLockedSingleList::Lock(void)
-?Lock@CLockedSingleList@@QAEXXZ
-; private: void __thiscall HASH_TABLE_BUCKET::Lock(void)
-?Lock@HASH_TABLE_BUCKET@@AAEXXZ
-; public: void __thiscall TS_RESOURCE::Lock(enum TSRES_LOCK_TYPE)
-?Lock@TS_RESOURCE@@QAEXW4TSRES_LOCK_TYPE@@@Z
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<1,1,3,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<2,1,1,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<3,1,1,1,1,1>::LockType(void)
-?LockType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<4,1,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<5,2,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<6,2,1,2,3,3>::LockType(void)
-?LockType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<7,2,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<8,2,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<9,2,1,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: void __thiscall EVENT_LOG::LogEvent(unsigned long,unsigned short,char const * * const,unsigned long)
-?LogEvent@EVENT_LOG@@QAEXKGQAPBDK@Z
-; private: void __thiscall EVENT_LOG::LogEventPrivate(unsigned long,unsigned short,unsigned short,char const * * const,unsigned long)
-?LogEventPrivate@EVENT_LOG@@AAEXKGGQAPBDK@Z
-; public: class HT_ELEMENT * __thiscall HASH_TABLE::Lookup(char const *)
-?Lookup@HASH_TABLE@@QAEPAVHT_ELEMENT@@PBD@Z
-; public: class HT_ELEMENT * __thiscall HASH_TABLE::Lookup(char const *,unsigned long)
-?Lookup@HASH_TABLE@@QAEPAVHT_ELEMENT@@PBDK@Z
-; public: class HT_ELEMENT * __thiscall HASH_TABLE_BUCKET::Lookup(unsigned long,char const *,unsigned long)
-?Lookup@HASH_TABLE_BUCKET@@QAEPAVHT_ELEMENT@@KPBDK@Z
-; public: class HT_ELEMENT * __thiscall HTB_ELEMENT::Lookup(unsigned long,char const *,unsigned long)
-?Lookup@HTB_ELEMENT@@QAEPAVHT_ELEMENT@@KPBDK@Z
-; public: unsigned long __thiscall CLKRHashTable::MaxSize(void)const 
-?MaxSize@CLKRHashTable@@QBEKXZ
-; public: unsigned long __thiscall CLKRLinearHashTable::MaxSize(void)const 
-?MaxSize@CLKRLinearHashTable@@QBEKXZ
-; char const * __stdcall Month3CharNames(unsigned long)
-?Month3CharNames@@YGPBDK@Z
-; public: bool __thiscall CLKRHashTable::MultiKeys(void)const 
-?MultiKeys@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::MultiKeys(void)const 
-?MultiKeys@CLKRLinearHashTable@@QBE_NXZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<1,1,3,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<2,1,1,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<3,1,1,1,1,1>::MutexType(void)
-?MutexType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<4,1,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<5,2,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<6,2,1,2,3,3>::MutexType(void)
-?MutexType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<7,2,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<8,2,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<9,2,1,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: char const * __thiscall MULTISZ::Next(char const *)const 
-?Next@MULTISZ@@QBEPBDPBD@Z
-; public: class BUFFER_CHAIN_ITEM * __thiscall BUFFER_CHAIN::NextBuffer(class BUFFER_CHAIN_ITEM *)
-?NextBuffer@BUFFER_CHAIN@@QAEPAVBUFFER_CHAIN_ITEM@@PAV2@@Z
-; public: void __thiscall HTB_ELEMENT::NextElement(struct HTBE_ENTRY * &)
-?NextElement@HTB_ELEMENT@@QAEXAAPAUHTBE_ENTRY@@@Z
-; long __stdcall NormalizeUrl(char *)
-?NormalizeUrl@@YGJPAD@Z
-; long __stdcall NormalizeUrlW(unsigned short *)
-?NormalizeUrlW@@YGJPAG@Z
-NtLargeIntegerTimeToLocalSystemTime
-NtLargeIntegerTimeToSystemTime
-NtSystemTimeToLargeInteger
-; public: unsigned long __thiscall HTB_ELEMENT::NumElements(void)const 
-?NumElements@HTB_ELEMENT@@QBEKXZ
-; public: unsigned long __thiscall HASH_TABLE_BUCKET::NumEntries(void)
-?NumEntries@HASH_TABLE_BUCKET@@QAEKXZ
-; public: int __thiscall CLKRHashTable::NumSubTables(void)const 
-?NumSubTables@CLKRHashTable@@QBEHXZ
-; public: static enum LK_TABLESIZE  __stdcall CLKRHashTable::NumSubTables(unsigned long &,unsigned long &)
-?NumSubTables@CLKRHashTable@@SG?AW4LK_TABLESIZE@@AAK0@Z
-; public: int __thiscall CLKRLinearHashTable::NumSubTables(void)const 
-?NumSubTables@CLKRLinearHashTable@@QBEHXZ
-; public: static enum LK_TABLESIZE  __stdcall CLKRLinearHashTable::NumSubTables(unsigned long &,unsigned long &)
-?NumSubTables@CLKRLinearHashTable@@SG?AW4LK_TABLESIZE@@AAK0@Z
-; public: int __thiscall CDFTCache::OffsetSeconds(void)const 
-?OffsetSeconds@CDFTCache@@QBEHXZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<5,2,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<6,2,1,2,3,3>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<7,2,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<8,2,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<9,2,1,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: class CSingleListEntry * __thiscall CLockedSingleList::Pop(void)
-?Pop@CLockedSingleList@@QAEQAVCSingleListEntry@@XZ
-; public: class CSingleListEntry * __thiscall CSingleList::Pop(void)
-?Pop@CSingleList@@QAEQAVCSingleListEntry@@XZ
-; public: void __thiscall ALLOC_CACHE_HANDLER::Print(void)
-?Print@ALLOC_CACHE_HANDLER@@QAEXXZ
-; public: void __thiscall HASH_TABLE::Print(unsigned long)
-?Print@HASH_TABLE@@QAEXK@Z
-; public: void __thiscall HASH_TABLE_BUCKET::Print(unsigned long)
-?Print@HASH_TABLE_BUCKET@@QAEXK@Z
-; public: void __thiscall HTB_ELEMENT::Print(unsigned long)const 
-?Print@HTB_ELEMENT@@QBEXK@Z
-; private: unsigned short * __thiscall STRAU::PrivateQueryStr(int)
-?PrivateQueryStr@STRAU@@AAEPAGH@Z
-; public: void __thiscall CLockedSingleList::Push(class CSingleListEntry * const)
-?Push@CLockedSingleList@@QAEXQAVCSingleListEntry@@@Z
-; public: void __thiscall CSingleList::Push(class CSingleListEntry * const)
-?Push@CSingleList@@QAEXQAVCSingleListEntry@@@Z
-; public: class BUFFER * __thiscall STRU::QueryBuffer(void)
-?QueryBuffer@STRU@@QAEPAVBUFFER@@XZ
-; public: unsigned int __thiscall MLSZAU::QueryCB(int)
-?QueryCB@MLSZAU@@QAEIH@Z
-; public: unsigned int __thiscall MULTISZ::QueryCB(void)const 
-?QueryCB@MULTISZ@@QBEIXZ
-; public: unsigned int __thiscall STR::QueryCB(void)const 
-?QueryCB@STR@@QBEIXZ
-; public: unsigned int __thiscall STRA::QueryCB(void)const 
-?QueryCB@STRA@@QBEIXZ
-; public: unsigned int __thiscall STRAU::QueryCB(int)
-?QueryCB@STRAU@@QAEIH@Z
-; public: unsigned int __thiscall STRU::QueryCB(void)const 
-?QueryCB@STRU@@QBEIXZ
-; public: unsigned int __thiscall MLSZAU::QueryCBA(void)
-?QueryCBA@MLSZAU@@QAEIXZ
-; public: unsigned int __thiscall STRAU::QueryCBA(void)
-?QueryCBA@STRAU@@QAEIXZ
-; public: unsigned int __thiscall MLSZAU::QueryCBW(void)
-?QueryCBW@MLSZAU@@QAEIXZ
-; public: unsigned int __thiscall STRAU::QueryCBW(void)
-?QueryCBW@STRAU@@QAEIXZ
-; public: unsigned int __thiscall MLSZAU::QueryCCH(void)
-?QueryCCH@MLSZAU@@QAEIXZ
-; public: unsigned int __thiscall MULTISZ::QueryCCH(void)const 
-?QueryCCH@MULTISZ@@QBEIXZ
-; public: unsigned int __thiscall STR::QueryCCH(void)const 
-?QueryCCH@STR@@QBEIXZ
-; public: unsigned int __thiscall STRA::QueryCCH(void)const 
-?QueryCCH@STRA@@QBEIXZ
-; public: unsigned int __thiscall STRAU::QueryCCH(void)
-?QueryCCH@STRAU@@QAEIXZ
-; public: unsigned int __thiscall STRU::QueryCCH(void)const 
-?QueryCCH@STRU@@QBEIXZ
-; public: unsigned long __thiscall CEtwTracer::QueryEnableLevel(void)
-?QueryEnableLevel@CEtwTracer@@QAEKXZ
-; public: char __thiscall STR::QueryFirstChar(void)const 
-?QueryFirstChar@STR@@QBEDXZ
-; public: char __thiscall STR::QueryLastChar(void)const 
-?QueryLastChar@STR@@QBEDXZ
-; public: void * __thiscall BUFFER::QueryPtr(void)const 
-?QueryPtr@BUFFER@@QBEPAXXZ
-; public: unsigned int __thiscall BUFFER::QuerySize(void)const 
-?QuerySize@BUFFER@@QBEIXZ
-; public: unsigned int __thiscall STRA::QuerySize(void)const 
-?QuerySize@STRA@@QBEIXZ
-; public: void __thiscall ALLOC_CACHE_HANDLER::QueryStats(struct _ALLOC_CACHE_STATISTICS *)
-?QueryStats@ALLOC_CACHE_HANDLER@@QAEXPAU_ALLOC_CACHE_STATISTICS@@@Z
-; public: char * __thiscall MLSZAU::QueryStr(int)
-?QueryStr@MLSZAU@@QAEPADH@Z
-; public: char * __thiscall MULTISZ::QueryStr(void)const 
-?QueryStr@MULTISZ@@QBEPADXZ
-; public: char * __thiscall STR::QueryStr(void)const 
-?QueryStr@STR@@QBEPADXZ
-; public: char * __thiscall STRA::QueryStr(void)
-?QueryStr@STRA@@QAEPADXZ
-; public: char const * __thiscall STRA::QueryStr(void)const 
-?QueryStr@STRA@@QBEPBDXZ
-; public: char * __thiscall STRAU::QueryStr(int)
-?QueryStr@STRAU@@QAEPADH@Z
-; public: unsigned short * __thiscall STRAU::QueryStr(int)
-?QueryStr@STRAU@@QAEPAGH@Z
-; public: unsigned short * __thiscall STRU::QueryStr(void)
-?QueryStr@STRU@@QAEPAGXZ
-; public: unsigned short const * __thiscall STRU::QueryStr(void)const 
-?QueryStr@STRU@@QBEPBGXZ
-; public: char * __thiscall MLSZAU::QueryStrA(void)
-?QueryStrA@MLSZAU@@QAEPADXZ
-; public: char * __thiscall MULTISZ::QueryStrA(void)const 
-?QueryStrA@MULTISZ@@QBEPADXZ
-; public: char * __thiscall STR::QueryStrA(void)const 
-?QueryStrA@STR@@QBEPADXZ
-; public: char * __thiscall STRAU::QueryStrA(void)
-?QueryStrA@STRAU@@QAEPADXZ
-; public: unsigned short * __thiscall MLSZAU::QueryStrW(void)
-?QueryStrW@MLSZAU@@QAEPAGXZ
-; public: unsigned short * __thiscall STRAU::QueryStrW(void)
-?QueryStrW@STRAU@@QAEPAGXZ
-; public: unsigned long __thiscall MULTISZ::QueryStringCount(void)const 
-?QueryStringCount@MULTISZ@@QBEKXZ
-; public: unsigned __int64 __thiscall CEtwTracer::QueryTraceHandle(void)
-?QueryTraceHandle@CEtwTracer@@QAE_KXZ
-; public: unsigned long __thiscall BUFFER_CHAIN_ITEM::QueryUsed(void)const 
-?QueryUsed@BUFFER_CHAIN_ITEM@@QBEKXZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<1,1,3,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<2,1,1,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<3,1,1,1,1,1>::QueueType(void)
-?QueueType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<4,1,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<5,2,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<6,2,1,2,3,3>::QueueType(void)
-?QueueType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<7,2,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<8,2,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<9,2,1,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: bool __thiscall CDataCache<class CDateTime>::Read(class CDateTime &)const 
-?Read@?$CDataCache@VCDateTime@@@@QBE_NAAVCDateTime@@@Z
-; public: void __thiscall CCritSec::ReadLock(void)
-?ReadLock@CCritSec@@QAEXXZ
-; public: void __thiscall CFakeLock::ReadLock(void)
-?ReadLock@CFakeLock@@QAEXXZ
-; public: void __thiscall CLKRHashTable::ReadLock(void)const 
-?ReadLock@CLKRHashTable@@QBEXXZ
-; public: void __thiscall CLKRLinearHashTable::ReadLock(void)const 
-?ReadLock@CLKRLinearHashTable@@QBEXXZ
-; public: void __thiscall CReaderWriterLock2::ReadLock(void)
-?ReadLock@CReaderWriterLock2@@QAEXXZ
-; public: void __thiscall CReaderWriterLock3::ReadLock(void)
-?ReadLock@CReaderWriterLock3@@QAEXXZ
-; public: void __thiscall CReaderWriterLock::ReadLock(void)
-?ReadLock@CReaderWriterLock@@QAEXXZ
-; public: void __thiscall CRtlResource::ReadLock(void)
-?ReadLock@CRtlResource@@QAEXXZ
-; public: void __thiscall CShareLock::ReadLock(void)
-?ReadLock@CShareLock@@QAEXXZ
-; public: void __thiscall CSmallSpinLock::ReadLock(void)
-?ReadLock@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::ReadLock(void)
-?ReadLock@CSpinLock@@QAEXXZ
-; public: bool __thiscall CCritSec::ReadOrWriteLock(void)
-?ReadOrWriteLock@CCritSec@@QAE_NXZ
-; public: bool __thiscall CFakeLock::ReadOrWriteLock(void)
-?ReadOrWriteLock@CFakeLock@@QAE_NXZ
-; public: bool __thiscall CReaderWriterLock3::ReadOrWriteLock(void)
-?ReadOrWriteLock@CReaderWriterLock3@@QAE_NXZ
-; public: bool __thiscall CSpinLock::ReadOrWriteLock(void)
-?ReadOrWriteLock@CSpinLock@@QAE_NXZ
-; public: void __thiscall CCritSec::ReadOrWriteUnlock(bool)
-?ReadOrWriteUnlock@CCritSec@@QAEX_N@Z
-; public: void __thiscall CFakeLock::ReadOrWriteUnlock(bool)
-?ReadOrWriteUnlock@CFakeLock@@QAEX_N@Z
-; public: void __thiscall CReaderWriterLock3::ReadOrWriteUnlock(bool)
-?ReadOrWriteUnlock@CReaderWriterLock3@@QAEX_N@Z
-; public: void __thiscall CSpinLock::ReadOrWriteUnlock(bool)
-?ReadOrWriteUnlock@CSpinLock@@QAEX_N@Z
-; public: void __thiscall CCritSec::ReadUnlock(void)
-?ReadUnlock@CCritSec@@QAEXXZ
-; public: void __thiscall CFakeLock::ReadUnlock(void)
-?ReadUnlock@CFakeLock@@QAEXXZ
-; public: void __thiscall CLKRHashTable::ReadUnlock(void)const 
-?ReadUnlock@CLKRHashTable@@QBEXXZ
-; public: void __thiscall CLKRLinearHashTable::ReadUnlock(void)const 
-?ReadUnlock@CLKRLinearHashTable@@QBEXXZ
-; public: void __thiscall CReaderWriterLock2::ReadUnlock(void)
-?ReadUnlock@CReaderWriterLock2@@QAEXXZ
-; public: void __thiscall CReaderWriterLock3::ReadUnlock(void)
-?ReadUnlock@CReaderWriterLock3@@QAEXXZ
-; public: void __thiscall CReaderWriterLock::ReadUnlock(void)
-?ReadUnlock@CReaderWriterLock@@QAEXXZ
-; public: void __thiscall CRtlResource::ReadUnlock(void)
-?ReadUnlock@CRtlResource@@QAEXXZ
-; public: void __thiscall CShareLock::ReadUnlock(void)
-?ReadUnlock@CShareLock@@QAEXXZ
-; public: void __thiscall CSmallSpinLock::ReadUnlock(void)
-?ReadUnlock@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::ReadUnlock(void)
-?ReadUnlock@CSpinLock@@QAEXXZ
-; private: int __thiscall BUFFER::ReallocStorage(unsigned int)
-?ReallocStorage@BUFFER@@AAEHI@Z
-; public: void __thiscall MULTISZ::RecalcLen(void)
-?RecalcLen@MULTISZ@@QAEXXZ
-; public: void const * __thiscall CLKRHashTable_Iterator::Record(void)const 
-?Record@CLKRHashTable_Iterator@@QBEPBXXZ
-; public: void const * __thiscall CLKRLinearHashTable_Iterator::Record(void)const 
-?Record@CLKRLinearHashTable_Iterator@@QBEPBXXZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<1,1,3,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<2,1,1,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<3,1,1,1,1,1>::Recursion(void)
-?Recursion@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<4,1,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<5,2,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<6,2,1,2,3,3>::Recursion(void)
-?Recursion@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<7,2,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<8,2,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<9,2,1,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
-; public: unsigned long __thiscall CEtwTracer::Register(struct _GUID const *,unsigned short *,unsigned short *)
-?Register@CEtwTracer@@QAEKPBU_GUID@@PAG1@Z
-; public: void __thiscall CSharelock::ReleaseExclusiveLock(void)
-?ReleaseExclusiveLock@CSharelock@@QAEXXZ
-; public: void __thiscall CSharelock::ReleaseShareLock(void)
-?ReleaseShareLock@CSharelock@@QAEXXZ
-; public: static void __stdcall CDoubleList::RemoveEntry(class CListEntry * const)
-?RemoveEntry@CDoubleList@@SGXQAVCListEntry@@@Z
-; public: void __thiscall CLockedDoubleList::RemoveEntry(class CListEntry * const)
-?RemoveEntry@CLockedDoubleList@@QAEXQAVCListEntry@@@Z
-; public: class CListEntry * __thiscall CDoubleList::RemoveHead(void)
-?RemoveHead@CDoubleList@@QAEQAVCListEntry@@XZ
-; public: class CListEntry * __thiscall CLockedDoubleList::RemoveHead(void)
-?RemoveHead@CLockedDoubleList@@QAEQAVCListEntry@@XZ
-; public: static void __stdcall ALLOC_CACHE_HANDLER::RemoveItem(class ALLOC_CACHE_HANDLER *)
-?RemoveItem@ALLOC_CACHE_HANDLER@@SGXPAV1@@Z
-; public: class CListEntry * __thiscall CDoubleList::RemoveTail(void)
-?RemoveTail@CDoubleList@@QAEQAVCListEntry@@XZ
-; public: class CListEntry * __thiscall CLockedDoubleList::RemoveTail(void)
-?RemoveTail@CLockedDoubleList@@QAEQAVCListEntry@@XZ
-RemoveWorkItem
-; public: void __thiscall MLSZAU::Reset(void)
-?Reset@MLSZAU@@QAEXXZ
-; public: void __thiscall MULTISZ::Reset(void)
-?Reset@MULTISZ@@QAEXXZ
-; public: void __thiscall STR::Reset(void)
-?Reset@STR@@QAEXXZ
-; public: void __thiscall STRA::Reset(void)
-?Reset@STRA@@QAEXXZ
-; public: void __thiscall STRAU::Reset(void)
-?Reset@STRAU@@QAEXXZ
-; public: void __thiscall STRU::Reset(void)
-?Reset@STRU@@QAEXXZ
-; public: static int __stdcall ALLOC_CACHE_HANDLER::ResetLookasideCleanupInterval(void)
-?ResetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SGHXZ
-; public: int __thiscall BUFFER::Resize(unsigned int)
-?Resize@BUFFER@@QAEHI@Z
-; public: int __thiscall BUFFER::Resize(unsigned int,unsigned int)
-?Resize@BUFFER@@QAEHII@Z
-; public: long __thiscall STRA::Resize(unsigned long)
-?Resize@STRA@@QAEJK@Z
-; public: long __thiscall STRU::Resize(unsigned long)
-?Resize@STRU@@QAEJK@Z
-; public: int __thiscall STRAU::ResizeW(unsigned long)
-?ResizeW@STRAU@@QAEHK@Z
-; public: int __thiscall STR::SafeCopy(char const *)
-?SafeCopy@STR@@QAEHPBD@Z
-; public: int __thiscall STRAU::SafeCopy(char const *)
-?SafeCopy@STRAU@@QAEHPBD@Z
-; public: int __thiscall STRAU::SafeCopy(unsigned short const *)
-?SafeCopy@STRAU@@QAEHPBG@Z
-ScheduleAdjustTime
-ScheduleWorkItem
-SchedulerInitialize
-SchedulerTerminate
-; public: unsigned short __thiscall CDFTCache::Seconds(void)const 
-?Seconds@CDFTCache@@QBEGXZ
-; public: void __thiscall CLKRHashTable::SetBucketLockSpinCount(unsigned short)
-?SetBucketLockSpinCount@CLKRHashTable@@QAEXG@Z
-; public: void __thiscall CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short)
-?SetBucketLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
-; public: static void __stdcall CCritSec::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CCritSec@@SGXN@Z
-; public: static void __stdcall CFakeLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CFakeLock@@SGXN@Z
-; public: static void __stdcall CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SGXN@Z
-; public: static void __stdcall CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SGXN@Z
-; public: static void __stdcall CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SGXN@Z
-; public: static void __stdcall CRtlResource::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CRtlResource@@SGXN@Z
-; public: static void __stdcall CShareLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CShareLock@@SGXN@Z
-; public: static void __stdcall CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SGXN@Z
-; public: static void __stdcall CSpinLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CSpinLock@@SGXN@Z
-; public: static void __stdcall CCritSec::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CCritSec@@SGXG@Z
-; public: static void __stdcall CFakeLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CFakeLock@@SGXG@Z
-; public: static void __stdcall CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock2@@SGXG@Z
-; public: static void __stdcall CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock3@@SGXG@Z
-; public: static void __stdcall CReaderWriterLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CReaderWriterLock@@SGXG@Z
-; public: static void __stdcall CRtlResource::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CRtlResource@@SGXG@Z
-; public: static void __stdcall CShareLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CShareLock@@SGXG@Z
-; public: static void __stdcall CSmallSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSmallSpinLock@@SGXG@Z
-; public: static void __stdcall CSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSpinLock@@SGXG@Z
-; public: int __thiscall STR::SetLen(unsigned long)
-?SetLen@STR@@QAEHK@Z
-; public: int __thiscall STRA::SetLen(unsigned long)
-?SetLen@STRA@@QAEHK@Z
-; public: int __thiscall STRAU::SetLen(unsigned long)
-?SetLen@STRAU@@QAEHK@Z
-; public: int __thiscall STRU::SetLen(unsigned long)
-?SetLen@STRU@@QAEHK@Z
-; public: void __thiscall ASCLOG_DATETIME_CACHE::SetLocalTime(struct _SYSTEMTIME *)
-?SetLocalTime@ASCLOG_DATETIME_CACHE@@QAEXPAU_SYSTEMTIME@@@Z
-; public: static int __stdcall ALLOC_CACHE_HANDLER::SetLookasideCleanupInterval(void)
-?SetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SGHXZ
-; public: bool __thiscall CCritSec::SetSpinCount(unsigned short)
-?SetSpinCount@CCritSec@@QAE_NG@Z
-; public: static unsigned long __stdcall CCritSec::SetSpinCount(struct _RTL_CRITICAL_SECTION *,unsigned long)
-?SetSpinCount@CCritSec@@SGKPAU_RTL_CRITICAL_SECTION@@K@Z
-; public: bool __thiscall CFakeLock::SetSpinCount(unsigned short)
-?SetSpinCount@CFakeLock@@QAE_NG@Z
-; public: bool __thiscall CReaderWriterLock2::SetSpinCount(unsigned short)
-?SetSpinCount@CReaderWriterLock2@@QAE_NG@Z
-; public: bool __thiscall CReaderWriterLock3::SetSpinCount(unsigned short)
-?SetSpinCount@CReaderWriterLock3@@QAE_NG@Z
-; public: bool __thiscall CReaderWriterLock::SetSpinCount(unsigned short)
-?SetSpinCount@CReaderWriterLock@@QAE_NG@Z
-; public: bool __thiscall CRtlResource::SetSpinCount(unsigned short)
-?SetSpinCount@CRtlResource@@QAE_NG@Z
-; public: bool __thiscall CShareLock::SetSpinCount(unsigned short)
-?SetSpinCount@CShareLock@@QAE_NG@Z
-; public: bool __thiscall CSmallSpinLock::SetSpinCount(unsigned short)
-?SetSpinCount@CSmallSpinLock@@QAE_NG@Z
-; public: bool __thiscall CSpinLock::SetSpinCount(unsigned short)
-?SetSpinCount@CSpinLock@@QAE_NG@Z
-; public: void __thiscall EXTLOG_DATETIME_CACHE::SetSystemTime(struct _SYSTEMTIME *)
-?SetSystemTime@EXTLOG_DATETIME_CACHE@@QAEXPAU_SYSTEMTIME@@@Z
-; public: void __thiscall CLKRHashTable::SetTableLockSpinCount(unsigned short)
-?SetTableLockSpinCount@CLKRHashTable@@QAEXG@Z
-; public: void __thiscall CLKRLinearHashTable::SetTableLockSpinCount(unsigned short)
-?SetTableLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
-; public: int __thiscall CDateTime::SetTime(struct _FILETIME const &)
-?SetTime@CDateTime@@QAEHABU_FILETIME@@@Z
-; public: int __thiscall CDateTime::SetTime(struct _SYSTEMTIME const &)
-?SetTime@CDateTime@@QAEHABU_SYSTEMTIME@@@Z
-; public: void __thiscall BUFFER_CHAIN_ITEM::SetUsed(unsigned long)
-?SetUsed@BUFFER_CHAIN_ITEM@@QAEXK@Z
-; public: void __thiscall BUFFER::SetValid(int)
-?SetValid@BUFFER@@QAEXH@Z
-; public: unsigned long __thiscall CLKRHashTable::Size(void)const 
-?Size@CLKRHashTable@@QBEKXZ
-; public: unsigned long __thiscall CLKRLinearHashTable::Size(void)const 
-?Size@CLKRLinearHashTable@@QBEKXZ
-; private: unsigned char __thiscall CSharelock::SleepWaitingForLock(int)
-?SleepWaitingForLock@CSharelock@@AAEEH@Z
-StringTimeToFileTime
-; public: int __thiscall EVENT_LOG::Success(void)const 
-?Success@EVENT_LOG@@QBEHXZ
-; public: void __thiscall STRA::SyncWithBuffer(void)
-?SyncWithBuffer@STRA@@QAEXXZ
-; public: void __thiscall STRU::SyncWithBuffer(void)
-?SyncWithBuffer@STRU@@QAEXXZ
-SystemTimeToGMT
-SystemTimeToGMTEx
-; public: int __thiscall CEtwTracer::TracePerUrlEnabled(void)
-?TracePerUrlEnabled@CEtwTracer@@QAEHXZ
-; public: bool __thiscall CReaderWriterLock3::TryConvertSharedToExclusive(void)
-?TryConvertSharedToExclusive@CReaderWriterLock3@@QAE_NXZ
-; public: bool __thiscall CCritSec::TryReadLock(void)
-?TryReadLock@CCritSec@@QAE_NXZ
-; public: bool __thiscall CFakeLock::TryReadLock(void)
-?TryReadLock@CFakeLock@@QAE_NXZ
-; public: bool __thiscall CReaderWriterLock2::TryReadLock(void)
-?TryReadLock@CReaderWriterLock2@@QAE_NXZ
-; public: bool __thiscall CReaderWriterLock3::TryReadLock(void)
-?TryReadLock@CReaderWriterLock3@@QAE_NXZ
-; public: bool __thiscall CReaderWriterLock::TryReadLock(void)
-?TryReadLock@CReaderWriterLock@@QAE_NXZ
-; public: bool __thiscall CRtlResource::TryReadLock(void)
-?TryReadLock@CRtlResource@@QAE_NXZ
-; public: bool __thiscall CShareLock::TryReadLock(void)
-?TryReadLock@CShareLock@@QAE_NXZ
-; public: bool __thiscall CSmallSpinLock::TryReadLock(void)
-?TryReadLock@CSmallSpinLock@@QAE_NXZ
-; public: bool __thiscall CSpinLock::TryReadLock(void)
-?TryReadLock@CSpinLock@@QAE_NXZ
-; public: bool __thiscall CCritSec::TryWriteLock(void)
-?TryWriteLock@CCritSec@@QAE_NXZ
-; public: bool __thiscall CFakeLock::TryWriteLock(void)
-?TryWriteLock@CFakeLock@@QAE_NXZ
-; public: bool __thiscall CReaderWriterLock2::TryWriteLock(void)
-?TryWriteLock@CReaderWriterLock2@@QAE_NXZ
-; public: bool __thiscall CReaderWriterLock3::TryWriteLock(void)
-?TryWriteLock@CReaderWriterLock3@@QAE_NXZ
-; public: bool __thiscall CReaderWriterLock::TryWriteLock(void)
-?TryWriteLock@CReaderWriterLock@@QAE_NXZ
-; public: bool __thiscall CRtlResource::TryWriteLock(void)
-?TryWriteLock@CRtlResource@@QAE_NXZ
-; public: bool __thiscall CShareLock::TryWriteLock(void)
-?TryWriteLock@CShareLock@@QAE_NXZ
-; public: bool __thiscall CSmallSpinLock::TryWriteLock(void)
-?TryWriteLock@CSmallSpinLock@@QAE_NXZ
-; public: bool __thiscall CSpinLock::TryWriteLock(void)
-?TryWriteLock@CSpinLock@@QAE_NXZ
-; long __stdcall UlCleanAndCopyUrl(unsigned char *,unsigned long,unsigned long *,unsigned short *,unsigned short * *)
-?UlCleanAndCopyUrl@@YGJPAEKPAKPAGPAPAG@Z
-; public: unsigned long __thiscall CEtwTracer::UnRegister(void)
-?UnRegister@CEtwTracer@@QAEKXZ
-; public: int __thiscall STR::Unescape(void)
-?Unescape@STR@@QAEHXZ
-; public: long __thiscall STRA::Unescape(void)
-?Unescape@STRA@@QAEJXZ
-; public: long __thiscall STRU::Unescape(void)
-?Unescape@STRU@@QAEJXZ
-; public: void __thiscall STR::Unhash(void)
-?Unhash@STR@@QAEXXZ
-; private: void __thiscall ALLOC_CACHE_HANDLER::Unlock(void)
-?Unlock@ALLOC_CACHE_HANDLER@@AAEXXZ
-; public: void __thiscall CLockedDoubleList::Unlock(void)
-?Unlock@CLockedDoubleList@@QAEXXZ
-; public: void __thiscall CLockedSingleList::Unlock(void)
-?Unlock@CLockedSingleList@@QAEXXZ
-; private: void __thiscall HASH_TABLE_BUCKET::Unlock(void)
-?Unlock@HASH_TABLE_BUCKET@@AAEXXZ
-; public: void __thiscall TS_RESOURCE::Unlock(void)
-?Unlock@TS_RESOURCE@@QAEXXZ
-; public: unsigned char __thiscall CSharelock::UpdateMaxSpins(int)
-?UpdateMaxSpins@CSharelock@@QAEEH@Z
-; public: unsigned char __thiscall CSharelock::UpdateMaxUsers(int)
-?UpdateMaxUsers@CSharelock@@QAEEH@Z
-; public: bool __thiscall CLKRHashTable::ValidSignature(void)const 
-?ValidSignature@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::ValidSignature(void)const 
-?ValidSignature@CLKRLinearHashTable@@QBE_NXZ
-; private: void __thiscall BUFFER::VerifyState(void)const 
-?VerifyState@BUFFER@@ABEXXZ
-; private: unsigned char __thiscall CSharelock::WaitForExclusiveLock(int)
-?WaitForExclusiveLock@CSharelock@@AAEEH@Z
-; private: unsigned char __thiscall CSharelock::WaitForShareLock(int)
-?WaitForShareLock@CSharelock@@AAEEH@Z
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<1,1,3,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<2,1,1,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<3,1,1,1,1,1>::WaitType(void)
-?WaitType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<4,1,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<5,2,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<6,2,1,2,3,3>::WaitType(void)
-?WaitType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<7,2,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<8,2,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<9,2,1,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; private: void __thiscall CSharelock::WakeAllSleepers(void)
-?WakeAllSleepers@CSharelock@@AAEXXZ
-; public: bool __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::Write(struct DATETIME_FORMAT_ENTRY const &)
-?Write@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QAE_NABUDATETIME_FORMAT_ENTRY@@@Z
-; public: bool __thiscall CDataCache<class CDateTime>::Write(class CDateTime const &)
-?Write@?$CDataCache@VCDateTime@@@@QAE_NABVCDateTime@@@Z
-; public: void __thiscall CCritSec::WriteLock(void)
-?WriteLock@CCritSec@@QAEXXZ
-; public: void __thiscall CFakeLock::WriteLock(void)
-?WriteLock@CFakeLock@@QAEXXZ
-; public: void __thiscall CLKRHashTable::WriteLock(void)
-?WriteLock@CLKRHashTable@@QAEXXZ
-; public: void __thiscall CLKRLinearHashTable::WriteLock(void)
-?WriteLock@CLKRLinearHashTable@@QAEXXZ
-; public: void __thiscall CReaderWriterLock2::WriteLock(void)
-?WriteLock@CReaderWriterLock2@@QAEXXZ
-; public: void __thiscall CReaderWriterLock3::WriteLock(void)
-?WriteLock@CReaderWriterLock3@@QAEXXZ
-; public: void __thiscall CReaderWriterLock::WriteLock(void)
-?WriteLock@CReaderWriterLock@@QAEXXZ
-; public: void __thiscall CRtlResource::WriteLock(void)
-?WriteLock@CRtlResource@@QAEXXZ
-; public: void __thiscall CShareLock::WriteLock(void)
-?WriteLock@CShareLock@@QAEXXZ
-; public: void __thiscall CSmallSpinLock::WriteLock(void)
-?WriteLock@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::WriteLock(void)
-?WriteLock@CSpinLock@@QAEXXZ
-; public: void __thiscall CCritSec::WriteUnlock(void)
-?WriteUnlock@CCritSec@@QAEXXZ
-; public: void __thiscall CFakeLock::WriteUnlock(void)
-?WriteUnlock@CFakeLock@@QAEXXZ
-; public: void __thiscall CLKRHashTable::WriteUnlock(void)const 
-?WriteUnlock@CLKRHashTable@@QBEXXZ
-; public: void __thiscall CLKRLinearHashTable::WriteUnlock(void)const 
-?WriteUnlock@CLKRLinearHashTable@@QBEXXZ
-; public: void __thiscall CReaderWriterLock2::WriteUnlock(void)
-?WriteUnlock@CReaderWriterLock2@@QAEXXZ
-; public: void __thiscall CReaderWriterLock3::WriteUnlock(void)
-?WriteUnlock@CReaderWriterLock3@@QAEXXZ
-; public: void __thiscall CReaderWriterLock::WriteUnlock(void)
-?WriteUnlock@CReaderWriterLock@@QAEXXZ
-; public: void __thiscall CRtlResource::WriteUnlock(void)
-?WriteUnlock@CRtlResource@@QAEXXZ
-; public: void __thiscall CShareLock::WriteUnlock(void)
-?WriteUnlock@CShareLock@@QAEXXZ
-; public: void __thiscall CSmallSpinLock::WriteUnlock(void)
-?WriteUnlock@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::WriteUnlock(void)
-?WriteUnlock@CSpinLock@@QAEXXZ
-ZapRegistryKey
-; protected: void __thiscall CLKRLinearHashTable_Iterator::_AddRef(int)const 
-?_AddRef@CLKRLinearHashTable_Iterator@@IBEXH@Z
-; private: void __thiscall CLKRLinearHashTable::_AddRefRecord(void const *,int)const 
-?_AddRefRecord@CLKRLinearHashTable@@ABEXPBXH@Z
-; private: static class CNodeClump * __stdcall CLKRLinearHashTable::_AllocateNodeClump(void)
-?_AllocateNodeClump@CLKRLinearHashTable@@CGQAVCNodeClump@@XZ
-; private: class CSegment * __thiscall CLKRLinearHashTable::_AllocateSegment(void)const 
-?_AllocateSegment@CLKRLinearHashTable@@ABEQAVCSegment@@XZ
-; private: static class CDirEntry * __stdcall CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned int)
-?_AllocateSegmentDirectory@CLKRLinearHashTable@@CGQAVCDirEntry@@I@Z
-; private: static class CLKRLinearHashTable * __stdcall CLKRHashTable::_AllocateSubTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,class CLKRHashTable *,bool)
-?_AllocateSubTable@CLKRHashTable@@CGQAVCLKRLinearHashTable@@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAV1@_N@Z
-; private: static class CLKRLinearHashTable * * __stdcall CLKRHashTable::_AllocateSubTableArray(unsigned int)
-?_AllocateSubTableArray@CLKRHashTable@@CGQAPAVCLKRLinearHashTable@@I@Z
-; private: unsigned long __thiscall CLKRLinearHashTable::_Apply(enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE,enum LK_PREDICATE &)
-?_Apply@CLKRLinearHashTable@@AAEKP6G?AW4LK_ACTION@@PBXPAX@Z1W4LK_LOCKTYPE@@AAW4LK_PREDICATE@@@Z
-; private: unsigned long __thiscall CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE,enum LK_PREDICATE &)
-?_ApplyIf@CLKRLinearHashTable@@AAEKP6G?AW4LK_PREDICATE@@PBXPAX@ZP6G?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AAW42@@Z
-; private: class CBucket * __thiscall CLKRLinearHashTable::_Bucket(unsigned long)const 
-?_Bucket@CLKRLinearHashTable@@ABEPAVCBucket@@K@Z
-; private: unsigned long __thiscall CLKRLinearHashTable::_BucketAddress(unsigned long)const 
-?_BucketAddress@CLKRLinearHashTable@@ABEKK@Z
-; private: unsigned long __thiscall CLKRHashTable::_CalcKeyHash(unsigned long)const 
-?_CalcKeyHash@CLKRHashTable@@ABEKK@Z
-; private: unsigned long __thiscall CLKRLinearHashTable::_CalcKeyHash(unsigned long)const 
-?_CalcKeyHash@CLKRLinearHashTable@@ABEKK@Z
-; private: void __thiscall CLKRLinearHashTable::_Clear(bool)
-?_Clear@CLKRLinearHashTable@@AAEX_N@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator *)
-?_CloseIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; private: bool __thiscall CReaderWriterLock2::_CmpExch(long,long)
-?_CmpExch@CReaderWriterLock2@@AAE_NJJ@Z
-; private: bool __thiscall CReaderWriterLock3::_CmpExch(long,long)
-?_CmpExch@CReaderWriterLock3@@AAE_NJJ@Z
-; private: bool __thiscall CReaderWriterLock::_CmpExch(long,long)
-?_CmpExch@CReaderWriterLock@@AAE_NJJ@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Contract(void)
-?_Contract@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@XZ
-; private: static long __stdcall CReaderWriterLock3::_CurrentThreadId(void)
-?_CurrentThreadId@CReaderWriterLock3@@CGJXZ
-; private: static long __stdcall CSmallSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSmallSpinLock@@CGJXZ
-; private: static long __stdcall CSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSpinLock@@CGJXZ
-; private: unsigned long __thiscall CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *,enum LK_PREDICATE &)
-?_DeleteIf@CLKRLinearHashTable@@AAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1AAW42@@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_DeleteKey(unsigned long,unsigned long)
-?_DeleteKey@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@KK@Z
-; private: bool __thiscall CLKRLinearHashTable::_DeleteNode(class CBucket *,class CNodeClump * &,class CNodeClump * &,int &)
-?_DeleteNode@CLKRLinearHashTable@@AAE_NPAVCBucket@@AAPAVCNodeClump@@1AAH@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_DeleteRecord(void const *,unsigned long)
-?_DeleteRecord@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PBXK@Z
-; private: bool __thiscall CLKRLinearHashTable::_EqualKeys(unsigned long,unsigned long)const 
-?_EqualKeys@CLKRLinearHashTable@@ABE_NKK@Z
-; private: bool __thiscall CLKRLinearHashTable::_Erase(class CLKRLinearHashTable_Iterator &,unsigned long)
-?_Erase@CLKRLinearHashTable@@AAE_NAAVCLKRLinearHashTable_Iterator@@K@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Expand(void)
-?_Expand@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@XZ
-; private: unsigned long const  __thiscall CLKRHashTable::_ExtractKey(void const *)const 
-?_ExtractKey@CLKRHashTable@@ABE?BKPBX@Z
-; private: unsigned long const  __thiscall CLKRLinearHashTable::_ExtractKey(void const *)const 
-?_ExtractKey@CLKRLinearHashTable@@ABE?BKPBX@Z
-; private: class CBucket * __thiscall CLKRLinearHashTable::_FindBucket(unsigned long,bool)const 
-?_FindBucket@CLKRLinearHashTable@@ABEPAVCBucket@@K_N@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_FindKey(unsigned long,unsigned long,void const * *,class CLKRLinearHashTable_Iterator *)const 
-?_FindKey@CLKRLinearHashTable@@ABE?AW4LK_RETCODE@@KKPAPBXPAVCLKRLinearHashTable_Iterator@@@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_FindRecord(void const *,unsigned long)const 
-?_FindRecord@CLKRLinearHashTable@@ABE?AW4LK_RETCODE@@PBXK@Z
-; private: static bool __stdcall CLKRLinearHashTable::_FreeNodeClump(class CNodeClump *)
-?_FreeNodeClump@CLKRLinearHashTable@@CG_NPAVCNodeClump@@@Z
-; private: bool __thiscall CLKRLinearHashTable::_FreeSegment(class CSegment *)const 
-?_FreeSegment@CLKRLinearHashTable@@ABE_NPAVCSegment@@@Z
-; private: bool __thiscall CLKRLinearHashTable::_FreeSegmentDirectory(void)
-?_FreeSegmentDirectory@CLKRLinearHashTable@@AAE_NXZ
-; private: static bool __stdcall CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable *)
-?_FreeSubTable@CLKRHashTable@@CG_NPAVCLKRLinearHashTable@@@Z
-; private: static bool __stdcall CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * *)
-?_FreeSubTableArray@CLKRHashTable@@CG_NPAPAVCLKRLinearHashTable@@@Z
-; private: unsigned long __thiscall CLKRLinearHashTable::_H0(unsigned long)const 
-?_H0@CLKRLinearHashTable@@ABEKK@Z
-; private: static unsigned long __stdcall CLKRLinearHashTable::_H0(unsigned long,unsigned long)
-?_H0@CLKRLinearHashTable@@CGKKK@Z
-; private: unsigned long __thiscall CLKRLinearHashTable::_H1(unsigned long)const 
-?_H1@CLKRLinearHashTable@@ABEKK@Z
-; private: static unsigned long __stdcall CLKRLinearHashTable::_H1(unsigned long,unsigned long)
-?_H1@CLKRLinearHashTable@@CGKKK@Z
-; protected: bool __thiscall CLKRHashTable_Iterator::_Increment(bool)
-?_Increment@CLKRHashTable_Iterator@@IAE_N_N@Z
-; protected: bool __thiscall CLKRLinearHashTable_Iterator::_Increment(bool)
-?_Increment@CLKRLinearHashTable_Iterator@@IAE_N_N@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Initialize(unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),char const *,double,unsigned long)
-?_Initialize@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@P6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX0H@ZPBDNK@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator *)
-?_InitializeIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InsertRecord(void const *,unsigned long,bool,class CLKRLinearHashTable_Iterator *)
-?_InsertRecord@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PBXK_NPAVCLKRLinearHashTable_Iterator@@@Z
-; private: void __thiscall CLKRHashTable::_InsertThisIntoGlobalList(void)
-?_InsertThisIntoGlobalList@CLKRHashTable@@AAEXXZ
-; private: void __thiscall CLKRLinearHashTable::_InsertThisIntoGlobalList(void)
-?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AAEXXZ
-; private: bool __thiscall CSpinLock::_IsLocked(void)const 
-?_IsLocked@CSpinLock@@ABE_NXZ
-; private: int __thiscall CLKRLinearHashTable::_IsNodeCompact(class CBucket * const)const 
-?_IsNodeCompact@CLKRLinearHashTable@@ABEHQAVCBucket@@@Z
-; private: bool __thiscall CLKRHashTable::_IsValidIterator(class CLKRHashTable_Iterator const &)const 
-?_IsValidIterator@CLKRHashTable@@ABE_NABVCLKRHashTable_Iterator@@@Z
-; private: bool __thiscall CLKRLinearHashTable::_IsValidIterator(class CLKRLinearHashTable_Iterator const &)const 
-?_IsValidIterator@CLKRLinearHashTable@@ABE_NABVCLKRLinearHashTable_Iterator@@@Z
-; private: void __thiscall CSpinLock::_Lock(void)
-?_Lock@CSpinLock@@AAEXXZ
-; private: void __thiscall CReaderWriterLock2::_LockSpin(bool)
-?_LockSpin@CReaderWriterLock2@@AAEX_N@Z
-; private: void __thiscall CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE)
-?_LockSpin@CReaderWriterLock3@@AAEXW4SPIN_TYPE@1@@Z
-; private: void __thiscall CReaderWriterLock::_LockSpin(bool)
-?_LockSpin@CReaderWriterLock@@AAEX_N@Z
-; private: void __thiscall CSmallSpinLock::_LockSpin(void)
-?_LockSpin@CSmallSpinLock@@AAEXXZ
-; private: void __thiscall CSpinLock::_LockSpin(void)
-?_LockSpin@CSpinLock@@AAEXXZ
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_MergeRecordSets(class CBucket *,class CNodeClump *,class CNodeClump *)
-?_MergeRecordSets@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCBucket@@PAVCNodeClump@@1@Z
-; private: static enum LK_PREDICATE  __stdcall CLKRLinearHashTable::_PredTrue(void const *,void *)
-?_PredTrue@CLKRLinearHashTable@@CG?AW4LK_PREDICATE@@PBXPAX@Z
-; private: void __thiscall CReaderWriterLock2::_ReadLockSpin(void)
-?_ReadLockSpin@CReaderWriterLock2@@AAEXXZ
-; private: void __thiscall CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE)
-?_ReadLockSpin@CReaderWriterLock3@@AAEXW4SPIN_TYPE@1@@Z
-; private: void __thiscall CReaderWriterLock::_ReadLockSpin(void)
-?_ReadLockSpin@CReaderWriterLock@@AAEXXZ
-; protected: static void __stdcall CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadMemoryBarrier(void)
-?_ReadMemoryBarrier@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@KGXXZ
-; protected: static void __stdcall CDataCache<class CDateTime>::_ReadMemoryBarrier(void)
-?_ReadMemoryBarrier@?$CDataCache@VCDateTime@@@@KGXXZ
-; private: bool __thiscall CLKRLinearHashTable::_ReadOrWriteLock(void)const 
-?_ReadOrWriteLock@CLKRLinearHashTable@@ABE_NXZ
-; private: void __thiscall CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const 
-?_ReadOrWriteUnlock@CLKRLinearHashTable@@ABEX_N@Z
-; protected: long __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadSequence(void)const 
-?_ReadSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IBEJXZ
-; protected: long __thiscall CDataCache<class CDateTime>::_ReadSequence(void)const 
-?_ReadSequence@?$CDataCache@VCDateTime@@@@IBEJXZ
-; private: void __thiscall CLKRHashTable::_RemoveThisFromGlobalList(void)
-?_RemoveThisFromGlobalList@CLKRHashTable@@AAEXXZ
-; private: void __thiscall CLKRLinearHashTable::_RemoveThisFromGlobalList(void)
-?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AAEXXZ
-; private: unsigned long __thiscall CLKRLinearHashTable::_SegIndex(unsigned long)const 
-?_SegIndex@CLKRLinearHashTable@@ABEKK@Z
-; private: class CSegment * & __thiscall CLKRLinearHashTable::_Segment(unsigned long)const 
-?_Segment@CLKRLinearHashTable@@ABEAAPAVCSegment@@K@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE,unsigned long)
-?_SetSegVars@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@W4LK_TABLESIZE@@K@Z
-; protected: long __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::_SetSequence(long)
-?_SetSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IAEJJ@Z
-; protected: long __thiscall CDataCache<class CDateTime>::_SetSequence(long)
-?_SetSequence@?$CDataCache@VCDateTime@@@@IAEJJ@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_SplitRecordSet(class CNodeClump *,class CNodeClump *,unsigned long,unsigned long,unsigned long,class CNodeClump *)
-?_SplitRecordSet@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCNodeClump@@0KKK0@Z
-; private: class CLKRLinearHashTable * __thiscall CLKRHashTable::_SubTable(unsigned long)const 
-?_SubTable@CLKRHashTable@@ABEPAVCLKRLinearHashTable@@K@Z
-; private: int __thiscall CLKRHashTable::_SubTableIndex(class CLKRLinearHashTable *)const 
-?_SubTableIndex@CLKRHashTable@@ABEHPAVCLKRLinearHashTable@@@Z
-; private: bool __thiscall CSmallSpinLock::_TryLock(void)
-?_TryLock@CSmallSpinLock@@AAE_NXZ
-; private: bool __thiscall CSpinLock::_TryLock(void)
-?_TryLock@CSpinLock@@AAE_NXZ
-; private: bool __thiscall CReaderWriterLock2::_TryReadLock(void)
-?_TryReadLock@CReaderWriterLock2@@AAE_NXZ
-; private: bool __thiscall CReaderWriterLock3::_TryReadLock(void)
-?_TryReadLock@CReaderWriterLock3@@AAE_NXZ
-; private: bool __thiscall CReaderWriterLock::_TryReadLock(void)
-?_TryReadLock@CReaderWriterLock@@AAE_NXZ
-; private: bool __thiscall CReaderWriterLock3::_TryReadLockRecursive(void)
-?_TryReadLockRecursive@CReaderWriterLock3@@AAE_NXZ
-; private: bool __thiscall CReaderWriterLock3::_TryWriteLock2(void)
-?_TryWriteLock2@CReaderWriterLock3@@AAE_NXZ
-; private: bool __thiscall CReaderWriterLock2::_TryWriteLock(long)
-?_TryWriteLock@CReaderWriterLock2@@AAE_NJ@Z
-; private: bool __thiscall CReaderWriterLock3::_TryWriteLock(long)
-?_TryWriteLock@CReaderWriterLock3@@AAE_NJ@Z
-; private: bool __thiscall CReaderWriterLock::_TryWriteLock(void)
-?_TryWriteLock@CReaderWriterLock@@AAE_NXZ
-; private: void __thiscall CSpinLock::_Unlock(void)
-?_Unlock@CSpinLock@@AAEXXZ
-; private: void __thiscall CReaderWriterLock2::_WriteLockSpin(void)
-?_WriteLockSpin@CReaderWriterLock2@@AAEXXZ
-; private: void __thiscall CReaderWriterLock3::_WriteLockSpin(void)
-?_WriteLockSpin@CReaderWriterLock3@@AAEXXZ
-; private: void __thiscall CReaderWriterLock::_WriteLockSpin(void)
-?_WriteLockSpin@CReaderWriterLock@@AAEXXZ
-; long const * const  `public: static long const * __stdcall CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
-?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SGPBJXZ@4QBJB
-; private: static struct _RTL_CRITICAL_SECTION  ALLOC_CACHE_HANDLER::sm_csItems
-?sm_csItems@ALLOC_CACHE_HANDLER@@0U_RTL_CRITICAL_SECTION@@A DATA
-; protected: static double  CCritSec::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CCritSec@@1NA DATA
-; protected: static double  CFakeLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CFakeLock@@1NA DATA
-; protected: static double  CReaderWriterLock2::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CReaderWriterLock2@@1NA DATA
-; protected: static double  CReaderWriterLock3::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CReaderWriterLock3@@1NA DATA
-; protected: static double  CReaderWriterLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CReaderWriterLock@@1NA DATA
-; protected: static double  CRtlResource::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CRtlResource@@1NA DATA
-; protected: static double  CShareLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CShareLock@@1NA DATA
-; protected: static double  CSmallSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
-; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA DATA
-; private: static int  ALLOC_CACHE_HANDLER::sm_fInitCsItems
-?sm_fInitCsItems@ALLOC_CACHE_HANDLER@@0HA DATA
-; private: static void *  ALLOC_CACHE_HANDLER::sm_hTimer
-?sm_hTimer@ALLOC_CACHE_HANDLER@@0PAXA DATA
-; private: static struct _LIST_ENTRY  ALLOC_CACHE_HANDLER::sm_lItemsHead
-?sm_lItemsHead@ALLOC_CACHE_HANDLER@@0U_LIST_ENTRY@@A DATA
-; private: static class CLockedDoubleList  CLKRHashTable::sm_llGlobalList
-?sm_llGlobalList@CLKRHashTable@@0VCLockedDoubleList@@A DATA
-; private: static class CLockedDoubleList  CLKRLinearHashTable::sm_llGlobalList
-?sm_llGlobalList@CLKRLinearHashTable@@0VCLockedDoubleList@@A DATA
-; private: static long  ALLOC_CACHE_HANDLER::sm_nFillPattern
-?sm_nFillPattern@ALLOC_CACHE_HANDLER@@0JA DATA
-; protected: static class ALLOC_CACHE_HANDLER *  CLKRLinearHashTable::sm_palloc
-?sm_palloc@CLKRLinearHashTable@@1PAVALLOC_CACHE_HANDLER@@A DATA
-; protected: static unsigned short  CCritSec::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CCritSec@@1GA DATA
-; protected: static unsigned short  CFakeLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CFakeLock@@1GA DATA
-; protected: static unsigned short  CReaderWriterLock2::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CReaderWriterLock2@@1GA DATA
-; protected: static unsigned short  CReaderWriterLock3::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CReaderWriterLock3@@1GA DATA
-; protected: static unsigned short  CReaderWriterLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CReaderWriterLock@@1GA DATA
-; protected: static unsigned short  CRtlResource::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CRtlResource@@1GA DATA
-; protected: static unsigned short  CShareLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CShareLock@@1GA DATA
-; protected: static unsigned short  CSmallSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
-; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
-CreateRefTraceLog
-CreateTraceLog
-DestroyRefTraceLog
-DestroyTraceLog
-DllMain
-_GetAllocCounters@0
-GetCurrentTimeInMilliseconds
-GetCurrentTimeInSeconds
-GetQueryType
-IISCaptureStackBackTrace
-_IISGetCurrentTime@8
-IISGetPlatformType
-IISInitializeCriticalSection
-IISSetCriticalSectionSpinCount
-IisCalloc
-IisFree
-IisHeap
-IisMalloc
-IisReAlloc
-InetAcquireResourceExclusive
-InetAcquireResourceShared
-InetConvertExclusiveToShared
-InetConvertSharedToExclusive
-InetDeleteResource
-InetInitializeResource
-InetReleaseResource
-InitializeIISRTL
-InitializeSecondsTimer
-IsNumberInUnicodeList
-LKRHashTableInit
-LKRHashTableUninit
-MIDL_user_allocate
-MIDL_user_free
-MonBuildInstanceDefinition
-PuCloseDbgPrintFile
-PuCreateDebugPrintsObject
-PuDbgAssertFailed
-PuDbgCaptureContext
-PuDbgCreateEvent
-PuDbgCreateMutex
-PuDbgCreateSemaphore
-PuDbgDump
-PuDbgPrint
-PuDbgPrintW
-PuDeleteDebugPrintsObject
-PuLoadDebugFlagsFromReg
-PuLoadDebugFlagsFromRegStr
-ResetTraceLog
-RpcBindHandleForServer
-RpcBindHandleFree
-RpcBindHandleOverLpc
-RpcBindHandleOverNamedPipe
-RpcBindHandleOverTcpIp
-RpcuFindProtocolToUse
-TerminateIISRTL
-TerminateSecondsTimer
-WriteRefTraceLog
-WriteRefTraceLogEx
-WriteTraceLog
-_stristr@8
+; 
+; Exports of file IisRTL.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IisRTL.DLL
+EXPORTS
+; public: __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::CDataCache<struct DATETIME_FORMAT_ENTRY>(void)
+??0?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QAE@XZ
+; public: __thiscall CDataCache<class CDateTime>::CDataCache<class CDateTime>(void)
+??0?$CDataCache@VCDateTime@@@@QAE@XZ
+; public: __thiscall ALLOC_CACHE_HANDLER::ALLOC_CACHE_HANDLER(char const *,struct _ALLOC_CACHE_CONFIGURATION const *,int)
+??0ALLOC_CACHE_HANDLER@@QAE@PBDPBU_ALLOC_CACHE_CONFIGURATION@@H@Z
+; public: __thiscall ASCLOG_DATETIME_CACHE::ASCLOG_DATETIME_CACHE(void)
+??0ASCLOG_DATETIME_CACHE@@QAE@XZ
+; public: __thiscall BUFFER::BUFFER(unsigned int)
+??0BUFFER@@QAE@I@Z
+; public: __thiscall BUFFER::BUFFER(unsigned char *,unsigned int)
+??0BUFFER@@QAE@PAEI@Z
+; public: __thiscall BUFFER_CHAIN::BUFFER_CHAIN(void)
+??0BUFFER_CHAIN@@QAE@XZ
+; public: __thiscall BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int)
+??0BUFFER_CHAIN_ITEM@@QAE@I@Z
+; public: __thiscall CACHED_DATETIME_FORMATS::CACHED_DATETIME_FORMATS(void)
+??0CACHED_DATETIME_FORMATS@@QAE@XZ
+; public: __thiscall CCritSec::CCritSec(void)
+??0CCritSec@@QAE@XZ
+; public: __thiscall CDFTCache::CDFTCache(void)
+??0CDFTCache@@QAE@XZ
+; public: __thiscall CDateTime::CDateTime(struct _FILETIME const &)
+??0CDateTime@@QAE@ABU_FILETIME@@@Z
+; public: __thiscall CDateTime::CDateTime(struct _FILETIME const &,struct _SYSTEMTIME const &)
+??0CDateTime@@QAE@ABU_FILETIME@@ABU_SYSTEMTIME@@@Z
+; public: __thiscall CDateTime::CDateTime(struct _SYSTEMTIME const &)
+??0CDateTime@@QAE@ABU_SYSTEMTIME@@@Z
+; public: __thiscall CDateTime::CDateTime(void)
+??0CDateTime@@QAE@XZ
+; public: __thiscall CDoubleList::CDoubleList(void)
+??0CDoubleList@@QAE@XZ
+; public: __thiscall CEtwTracer::CEtwTracer(void)
+??0CEtwTracer@@QAE@XZ
+; public: __thiscall CFakeLock::CFakeLock(void)
+??0CFakeLock@@QAE@XZ
+; public: __thiscall CLKRHashTable::CLKRHashTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,unsigned long,bool)
+??0CLKRHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK_N@Z
+; public: __thiscall CLKRHashTableStats::CLKRHashTableStats(void)
+??0CLKRHashTableStats@@QAE@XZ
+; protected: __thiscall CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable *,short)
+??0CLKRHashTable_Iterator@@IAE@PAVCLKRHashTable@@F@Z
+; public: __thiscall CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable_Iterator const &)
+??0CLKRHashTable_Iterator@@QAE@ABV0@@Z
+; public: __thiscall CLKRHashTable_Iterator::CLKRHashTable_Iterator(void)
+??0CLKRHashTable_Iterator@@QAE@XZ
+; private: __thiscall CLKRLinearHashTable::CLKRLinearHashTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,class CLKRHashTable *,bool)
+??0CLKRLinearHashTable@@AAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAVCLKRHashTable@@_N@Z
+; public: __thiscall CLKRLinearHashTable::CLKRLinearHashTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,unsigned long,bool)
+??0CLKRLinearHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK_N@Z
+; protected: __thiscall CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable *,class CNodeClump *,unsigned long,short)
+??0CLKRLinearHashTable_Iterator@@IAE@PAVCLKRLinearHashTable@@PAVCNodeClump@@KF@Z
+; public: __thiscall CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable_Iterator const &)
+??0CLKRLinearHashTable_Iterator@@QAE@ABV0@@Z
+; public: __thiscall CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(void)
+??0CLKRLinearHashTable_Iterator@@QAE@XZ
+; public: __thiscall CLockedDoubleList::CLockedDoubleList(void)
+??0CLockedDoubleList@@QAE@XZ
+; public: __thiscall CLockedSingleList::CLockedSingleList(void)
+??0CLockedSingleList@@QAE@XZ
+; public: __thiscall CReaderWriterLock2::CReaderWriterLock2(void)
+??0CReaderWriterLock2@@QAE@XZ
+; public: __thiscall CReaderWriterLock3::CReaderWriterLock3(void)
+??0CReaderWriterLock3@@QAE@XZ
+; public: __thiscall CReaderWriterLock::CReaderWriterLock(void)
+??0CReaderWriterLock@@QAE@XZ
+; public: __thiscall CRtlResource::CRtlResource(void)
+??0CRtlResource@@QAE@XZ
+; public: __thiscall CShareLock::CShareLock(void)
+??0CShareLock@@QAE@XZ
+; public: __thiscall CSharelock::CSharelock(int,int)
+??0CSharelock@@QAE@HH@Z
+; public: __thiscall CSingleList::CSingleList(void)
+??0CSingleList@@QAE@XZ
+; public: __thiscall CSmallSpinLock::CSmallSpinLock(void)
+??0CSmallSpinLock@@QAE@XZ
+; public: __thiscall CSpinLock::CSpinLock(void)
+??0CSpinLock@@QAE@XZ
+; public: __thiscall EVENT_LOG::EVENT_LOG(char const *)
+??0EVENT_LOG@@QAE@PBD@Z
+; public: __thiscall EXTLOG_DATETIME_CACHE::EXTLOG_DATETIME_CACHE(void)
+??0EXTLOG_DATETIME_CACHE@@QAE@XZ
+; public: __thiscall HASH_TABLE::HASH_TABLE(class HASH_TABLE const &)
+??0HASH_TABLE@@QAE@ABV0@@Z
+; public: __thiscall HASH_TABLE::HASH_TABLE(unsigned long,char const *,unsigned long)
+??0HASH_TABLE@@QAE@KPBDK@Z
+; public: __thiscall HASH_TABLE_BUCKET::HASH_TABLE_BUCKET(void)
+??0HASH_TABLE_BUCKET@@QAE@XZ
+; public: __thiscall HTB_ELEMENT::HTB_ELEMENT(void)
+??0HTB_ELEMENT@@QAE@XZ
+; public: __thiscall HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const &)
+??0HT_ELEMENT@@QAE@ABV0@@Z
+; public: __thiscall HT_ELEMENT::HT_ELEMENT(void)
+??0HT_ELEMENT@@QAE@XZ
+; public: __thiscall MLSZAU::MLSZAU(class MLSZAU &)
+??0MLSZAU@@QAE@AAV0@@Z
+; public: __thiscall MLSZAU::MLSZAU(char * const,int,unsigned long)
+??0MLSZAU@@QAE@QADHK@Z
+; public: __thiscall MLSZAU::MLSZAU(char * const,unsigned long)
+??0MLSZAU@@QAE@QADK@Z
+; public: __thiscall MLSZAU::MLSZAU(unsigned short * const,unsigned long)
+??0MLSZAU@@QAE@QAGK@Z
+; public: __thiscall MLSZAU::MLSZAU(void)
+??0MLSZAU@@QAE@XZ
+; public: __thiscall MULTISZ::MULTISZ(class MULTISZ const &)
+??0MULTISZ@@QAE@ABV0@@Z
+; public: __thiscall MULTISZ::MULTISZ(char *,unsigned long)
+??0MULTISZ@@QAE@PADK@Z
+; public: __thiscall MULTISZ::MULTISZ(char const *)
+??0MULTISZ@@QAE@PBD@Z
+; public: __thiscall MULTISZ::MULTISZ(void)
+??0MULTISZ@@QAE@XZ
+; public: __thiscall STR::STR(class STR const &)
+??0STR@@QAE@ABV0@@Z
+; public: __thiscall STR::STR(unsigned long)
+??0STR@@QAE@K@Z
+; public: __thiscall STR::STR(char *,unsigned long,int)
+??0STR@@QAE@PADKH@Z
+; public: __thiscall STR::STR(char const *)
+??0STR@@QAE@PBD@Z
+; public: __thiscall STR::STR(void)
+??0STR@@QAE@XZ
+; private: __thiscall STRA::STRA(class STRA const &)
+??0STRA@@AAE@ABV0@@Z
+; private: __thiscall STRA::STRA(char *)
+??0STRA@@AAE@PAD@Z
+; private: __thiscall STRA::STRA(char const *)
+??0STRA@@AAE@PBD@Z
+; public: __thiscall STRA::STRA(char *,unsigned long)
+??0STRA@@QAE@PADK@Z
+; public: __thiscall STRA::STRA(void)
+??0STRA@@QAE@XZ
+; public: __thiscall STRAU::STRAU(class STRAU &)
+??0STRAU@@QAE@AAV0@@Z
+; public: __thiscall STRAU::STRAU(char const *)
+??0STRAU@@QAE@PBD@Z
+; public: __thiscall STRAU::STRAU(char const *,int)
+??0STRAU@@QAE@PBDH@Z
+; public: __thiscall STRAU::STRAU(unsigned short const *)
+??0STRAU@@QAE@PBG@Z
+; public: __thiscall STRAU::STRAU(void)
+??0STRAU@@QAE@XZ
+; private: __thiscall STRU::STRU(class STRU const &)
+??0STRU@@AAE@ABV0@@Z
+; private: __thiscall STRU::STRU(unsigned short *)
+??0STRU@@AAE@PAG@Z
+; private: __thiscall STRU::STRU(unsigned short const *)
+??0STRU@@AAE@PBG@Z
+; public: __thiscall STRU::STRU(unsigned short *,unsigned long)
+??0STRU@@QAE@PAGK@Z
+; public: __thiscall STRU::STRU(void)
+??0STRU@@QAE@XZ
+; public: __thiscall TS_RESOURCE::TS_RESOURCE(void)
+??0TS_RESOURCE@@QAE@XZ
+; public: __thiscall W3_DATETIME_CACHE::W3_DATETIME_CACHE(void)
+??0W3_DATETIME_CACHE@@QAE@XZ
+; public: __thiscall ALLOC_CACHE_HANDLER::~ALLOC_CACHE_HANDLER(void)
+??1ALLOC_CACHE_HANDLER@@QAE@XZ
+; public: virtual __thiscall ASCLOG_DATETIME_CACHE::~ASCLOG_DATETIME_CACHE(void)
+??1ASCLOG_DATETIME_CACHE@@UAE@XZ
+; public: __thiscall BUFFER::~BUFFER(void)
+??1BUFFER@@QAE@XZ
+; public: __thiscall BUFFER_CHAIN::~BUFFER_CHAIN(void)
+??1BUFFER_CHAIN@@QAE@XZ
+; public: __thiscall BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void)
+??1BUFFER_CHAIN_ITEM@@QAE@XZ
+; public: virtual __thiscall CACHED_DATETIME_FORMATS::~CACHED_DATETIME_FORMATS(void)
+??1CACHED_DATETIME_FORMATS@@UAE@XZ
+; public: __thiscall CCritSec::~CCritSec(void)
+??1CCritSec@@QAE@XZ
+; public: __thiscall CDoubleList::~CDoubleList(void)
+??1CDoubleList@@QAE@XZ
+; public: __thiscall CEtwTracer::~CEtwTracer(void)
+??1CEtwTracer@@QAE@XZ
+; public: __thiscall CFakeLock::~CFakeLock(void)
+??1CFakeLock@@QAE@XZ
+; public: __thiscall CLKRHashTable::~CLKRHashTable(void)
+??1CLKRHashTable@@QAE@XZ
+; public: __thiscall CLKRHashTable_Iterator::~CLKRHashTable_Iterator(void)
+??1CLKRHashTable_Iterator@@QAE@XZ
+; public: __thiscall CLKRLinearHashTable::~CLKRLinearHashTable(void)
+??1CLKRLinearHashTable@@QAE@XZ
+; public: __thiscall CLKRLinearHashTable_Iterator::~CLKRLinearHashTable_Iterator(void)
+??1CLKRLinearHashTable_Iterator@@QAE@XZ
+; public: __thiscall CLockedDoubleList::~CLockedDoubleList(void)
+??1CLockedDoubleList@@QAE@XZ
+; public: __thiscall CLockedSingleList::~CLockedSingleList(void)
+??1CLockedSingleList@@QAE@XZ
+; public: __thiscall CRtlResource::~CRtlResource(void)
+??1CRtlResource@@QAE@XZ
+; public: __thiscall CShareLock::~CShareLock(void)
+??1CShareLock@@QAE@XZ
+; public: __thiscall CSharelock::~CSharelock(void)
+??1CSharelock@@QAE@XZ
+; public: __thiscall CSingleList::~CSingleList(void)
+??1CSingleList@@QAE@XZ
+; public: __thiscall EVENT_LOG::~EVENT_LOG(void)
+??1EVENT_LOG@@QAE@XZ
+; public: virtual __thiscall EXTLOG_DATETIME_CACHE::~EXTLOG_DATETIME_CACHE(void)
+??1EXTLOG_DATETIME_CACHE@@UAE@XZ
+; public: virtual __thiscall HASH_TABLE::~HASH_TABLE(void)
+??1HASH_TABLE@@UAE@XZ
+; public: __thiscall HASH_TABLE_BUCKET::~HASH_TABLE_BUCKET(void)
+??1HASH_TABLE_BUCKET@@QAE@XZ
+; public: __thiscall HTB_ELEMENT::~HTB_ELEMENT(void)
+??1HTB_ELEMENT@@QAE@XZ
+; public: virtual __thiscall HT_ELEMENT::~HT_ELEMENT(void)
+??1HT_ELEMENT@@UAE@XZ
+; public: __thiscall MLSZAU::~MLSZAU(void)
+??1MLSZAU@@QAE@XZ
+; public: __thiscall MULTISZ::~MULTISZ(void)
+??1MULTISZ@@QAE@XZ
+; public: __thiscall STR::~STR(void)
+??1STR@@QAE@XZ
+; public: __thiscall STRA::~STRA(void)
+??1STRA@@QAE@XZ
+; public: __thiscall STRAU::~STRAU(void)
+??1STRAU@@QAE@XZ
+; public: __thiscall STRU::~STRU(void)
+??1STRU@@QAE@XZ
+; public: __thiscall TS_RESOURCE::~TS_RESOURCE(void)
+??1TS_RESOURCE@@QAE@XZ
+; public: virtual __thiscall W3_DATETIME_CACHE::~W3_DATETIME_CACHE(void)
+??1W3_DATETIME_CACHE@@UAE@XZ
+; public: static void * __stdcall CLKRLinearHashTable::operator new(unsigned int)
+??2CLKRLinearHashTable@@SGPAXI@Z
+; public: static void __stdcall CLKRLinearHashTable::operator delete(void *)
+??3CLKRLinearHashTable@@SGXPAX@Z
+; public: class CDataCache<struct DATETIME_FORMAT_ENTRY> & __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::operator=(class CDataCache<struct DATETIME_FORMAT_ENTRY> const &)
+??4?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QAEAAV0@ABV0@@Z
+; public: class CDataCache<class CDateTime> & __thiscall CDataCache<class CDateTime>::operator=(class CDataCache<class CDateTime> const &)
+??4?$CDataCache@VCDateTime@@@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<1,1,3,1,3,2> & __thiscall CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const &)
+??4?$CLockBase@$00$00$02$00$02$01@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<2,1,1,1,3,2> & __thiscall CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const &)
+??4?$CLockBase@$01$00$00$00$02$01@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<3,1,1,1,1,1> & __thiscall CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const &)
+??4?$CLockBase@$02$00$00$00$00$00@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<4,1,1,2,3,3> & __thiscall CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const &)
+??4?$CLockBase@$03$00$00$01$02$02@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<5,2,1,2,3,3> & __thiscall CLockBase<5,2,1,2,3,3>::operator=(class CLockBase<5,2,1,2,3,3> const &)
+??4?$CLockBase@$04$01$00$01$02$02@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<6,2,1,2,3,3> & __thiscall CLockBase<6,2,1,2,3,3>::operator=(class CLockBase<6,2,1,2,3,3> const &)
+??4?$CLockBase@$05$01$00$01$02$02@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<7,2,2,1,3,2> & __thiscall CLockBase<7,2,2,1,3,2>::operator=(class CLockBase<7,2,2,1,3,2> const &)
+??4?$CLockBase@$06$01$01$00$02$01@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<8,2,2,1,3,2> & __thiscall CLockBase<8,2,2,1,3,2>::operator=(class CLockBase<8,2,2,1,3,2> const &)
+??4?$CLockBase@$07$01$01$00$02$01@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<9,2,1,1,3,2> & __thiscall CLockBase<9,2,1,1,3,2>::operator=(class CLockBase<9,2,1,1,3,2> const &)
+??4?$CLockBase@$08$01$00$00$02$01@@QAEAAV0@ABV0@@Z
+; public: class ALLOC_CACHE_HANDLER & __thiscall ALLOC_CACHE_HANDLER::operator=(class ALLOC_CACHE_HANDLER const &)
+??4ALLOC_CACHE_HANDLER@@QAEAAV0@ABV0@@Z
+; public: class BUFFER & __thiscall BUFFER::operator=(class BUFFER const &)
+??4BUFFER@@QAEAAV0@ABV0@@Z
+; public: class BUFFER_CHAIN & __thiscall BUFFER_CHAIN::operator=(class BUFFER_CHAIN const &)
+??4BUFFER_CHAIN@@QAEAAV0@ABV0@@Z
+; public: class BUFFER_CHAIN_ITEM & __thiscall BUFFER_CHAIN_ITEM::operator=(class BUFFER_CHAIN_ITEM const &)
+??4BUFFER_CHAIN_ITEM@@QAEAAV0@ABV0@@Z
+; public: class CCritSec & __thiscall CCritSec::operator=(class CCritSec const &)
+??4CCritSec@@QAEAAV0@ABV0@@Z
+; public: class CDFTCache & __thiscall CDFTCache::operator=(class CDFTCache const &)
+??4CDFTCache@@QAEAAV0@ABV0@@Z
+; public: class CDateTime & __thiscall CDateTime::operator=(class CDateTime const &)
+??4CDateTime@@QAEAAV0@ABV0@@Z
+; public: class CDoubleList & __thiscall CDoubleList::operator=(class CDoubleList const &)
+??4CDoubleList@@QAEAAV0@ABV0@@Z
+; public: class CFakeLock & __thiscall CFakeLock::operator=(class CFakeLock const &)
+??4CFakeLock@@QAEAAV0@ABV0@@Z
+; public: class CLKRHashTableStats & __thiscall CLKRHashTableStats::operator=(class CLKRHashTableStats const &)
+??4CLKRHashTableStats@@QAEAAV0@ABV0@@Z
+; public: class CLKRHashTable_Iterator & __thiscall CLKRHashTable_Iterator::operator=(class CLKRHashTable_Iterator const &)
+??4CLKRHashTable_Iterator@@QAEAAV0@ABV0@@Z
+; public: class CLKRLinearHashTable_Iterator & __thiscall CLKRLinearHashTable_Iterator::operator=(class CLKRLinearHashTable_Iterator const &)
+??4CLKRLinearHashTable_Iterator@@QAEAAV0@ABV0@@Z
+; public: class CLockedDoubleList & __thiscall CLockedDoubleList::operator=(class CLockedDoubleList const &)
+??4CLockedDoubleList@@QAEAAV0@ABV0@@Z
+; public: class CLockedSingleList & __thiscall CLockedSingleList::operator=(class CLockedSingleList const &)
+??4CLockedSingleList@@QAEAAV0@ABV0@@Z
+; public: class CReaderWriterLock2 & __thiscall CReaderWriterLock2::operator=(class CReaderWriterLock2 const &)
+??4CReaderWriterLock2@@QAEAAV0@ABV0@@Z
+; public: class CReaderWriterLock3 & __thiscall CReaderWriterLock3::operator=(class CReaderWriterLock3 const &)
+??4CReaderWriterLock3@@QAEAAV0@ABV0@@Z
+; public: class CReaderWriterLock & __thiscall CReaderWriterLock::operator=(class CReaderWriterLock const &)
+??4CReaderWriterLock@@QAEAAV0@ABV0@@Z
+; public: class CRtlResource & __thiscall CRtlResource::operator=(class CRtlResource const &)
+??4CRtlResource@@QAEAAV0@ABV0@@Z
+; public: class CSingleList & __thiscall CSingleList::operator=(class CSingleList const &)
+??4CSingleList@@QAEAAV0@ABV0@@Z
+; public: class CSmallSpinLock & __thiscall CSmallSpinLock::operator=(class CSmallSpinLock const &)
+??4CSmallSpinLock@@QAEAAV0@ABV0@@Z
+; public: class CSpinLock & __thiscall CSpinLock::operator=(class CSpinLock const &)
+??4CSpinLock@@QAEAAV0@ABV0@@Z
+; public: struct DATETIME_FORMAT_ENTRY & __thiscall DATETIME_FORMAT_ENTRY::operator=(struct DATETIME_FORMAT_ENTRY const &)
+??4DATETIME_FORMAT_ENTRY@@QAEAAU0@ABU0@@Z
+; public: class EVENT_LOG & __thiscall EVENT_LOG::operator=(class EVENT_LOG const &)
+??4EVENT_LOG@@QAEAAV0@ABV0@@Z
+; public: class HASH_TABLE & __thiscall HASH_TABLE::operator=(class HASH_TABLE const &)
+??4HASH_TABLE@@QAEAAV0@ABV0@@Z
+; public: class HASH_TABLE_BUCKET & __thiscall HASH_TABLE_BUCKET::operator=(class HASH_TABLE_BUCKET const &)
+??4HASH_TABLE_BUCKET@@QAEAAV0@ABV0@@Z
+; public: struct HTB_ELEMENT & __thiscall HTB_ELEMENT::operator=(struct HTB_ELEMENT const &)
+??4HTB_ELEMENT@@QAEAAU0@ABU0@@Z
+; public: class HT_ELEMENT & __thiscall HT_ELEMENT::operator=(class HT_ELEMENT const &)
+??4HT_ELEMENT@@QAEAAV0@ABV0@@Z
+; public: class MLSZAU & __thiscall MLSZAU::operator=(class MLSZAU const &)
+??4MLSZAU@@QAEAAV0@ABV0@@Z
+; public: class MULTISZ & __thiscall MULTISZ::operator=(class MULTISZ const &)
+??4MULTISZ@@QAEAAV0@ABV0@@Z
+; public: class STR & __thiscall STR::operator=(class STR const &)
+??4STR@@QAEAAV0@ABV0@@Z
+; private: class STRA & __thiscall STRA::operator=(class STRA const &)
+??4STRA@@AAEAAV0@ABV0@@Z
+; public: class STRAU & __thiscall STRAU::operator=(class STRAU const &)
+??4STRAU@@QAEAAV0@ABV0@@Z
+; private: class STRU & __thiscall STRU::operator=(class STRU const &)
+??4STRU@@AAEAAV0@ABV0@@Z
+; public: class TS_RESOURCE & __thiscall TS_RESOURCE::operator=(class TS_RESOURCE const &)
+??4TS_RESOURCE@@QAEAAV0@ABV0@@Z
+; public: bool __thiscall CLKRHashTable_Iterator::operator==(class CLKRHashTable_Iterator const &)const 
+??8CLKRHashTable_Iterator@@QBE_NABV0@@Z
+; public: bool __thiscall CLKRLinearHashTable_Iterator::operator==(class CLKRLinearHashTable_Iterator const &)const 
+??8CLKRLinearHashTable_Iterator@@QBE_NABV0@@Z
+; public: bool __thiscall CLKRHashTable_Iterator::operator!=(class CLKRHashTable_Iterator const &)const 
+??9CLKRHashTable_Iterator@@QBE_NABV0@@Z
+; public: bool __thiscall CLKRLinearHashTable_Iterator::operator!=(class CLKRLinearHashTable_Iterator const &)const 
+??9CLKRLinearHashTable_Iterator@@QBE_NABV0@@Z
+; const  ASCLOG_DATETIME_CACHE::`vftable'
+??_7ASCLOG_DATETIME_CACHE@@6B@
+; const  CACHED_DATETIME_FORMATS::`vftable'
+??_7CACHED_DATETIME_FORMATS@@6B@
+; const  EXTLOG_DATETIME_CACHE::`vftable'
+??_7EXTLOG_DATETIME_CACHE@@6B@
+; const  HASH_TABLE::`vftable'
+??_7HASH_TABLE@@6B@
+; const  HT_ELEMENT::`vftable'
+??_7HT_ELEMENT@@6B@
+; const  W3_DATETIME_CACHE::`vftable'
+??_7W3_DATETIME_CACHE@@6B@
+; public: void __thiscall BUFFER::`default constructor closure'(void)
+??_FBUFFER@@QAEXXZ
+; public: void __thiscall BUFFER_CHAIN_ITEM::`default constructor closure'(void)
+??_FBUFFER_CHAIN_ITEM@@QAEXXZ
+; public: void __thiscall CSharelock::`default constructor closure'(void)
+??_FCSharelock@@QAEXXZ
+; public: int __thiscall CSharelock::ActiveUsers(void)
+?ActiveUsers@CSharelock@@QAEHXZ
+; public: void * __thiscall ALLOC_CACHE_HANDLER::Alloc(void)
+?Alloc@ALLOC_CACHE_HANDLER@@QAEPAXXZ
+; public: int __thiscall MULTISZ::Append(class STR const &)
+?Append@MULTISZ@@QAEHABVSTR@@@Z
+; public: int __thiscall MULTISZ::Append(char const *)
+?Append@MULTISZ@@QAEHPBD@Z
+; public: int __thiscall MULTISZ::Append(char const *,unsigned long)
+?Append@MULTISZ@@QAEHPBDK@Z
+; public: int __thiscall STR::Append(class STR const &)
+?Append@STR@@QAEHABV1@@Z
+; public: int __thiscall STR::Append(char const *)
+?Append@STR@@QAEHPBD@Z
+; public: int __thiscall STR::Append(char const *,unsigned long)
+?Append@STR@@QAEHPBDK@Z
+; public: void __thiscall STR::Append(char)
+?Append@STR@@QAEXD@Z
+; public: void __thiscall STR::Append(char,char)
+?Append@STR@@QAEXDD@Z
+; public: long __thiscall STRA::Append(class STRA const &)
+?Append@STRA@@QAEJABV1@@Z
+; public: long __thiscall STRA::Append(char const *)
+?Append@STRA@@QAEJPBD@Z
+; public: long __thiscall STRA::Append(char const *,unsigned long)
+?Append@STRA@@QAEJPBDK@Z
+; public: int __thiscall STRAU::Append(class STRAU &)
+?Append@STRAU@@QAEHAAV1@@Z
+; public: int __thiscall STRAU::Append(char const *)
+?Append@STRAU@@QAEHPBD@Z
+; public: int __thiscall STRAU::Append(char const *,unsigned long)
+?Append@STRAU@@QAEHPBDK@Z
+; public: int __thiscall STRAU::Append(unsigned short const *)
+?Append@STRAU@@QAEHPBG@Z
+; public: int __thiscall STRAU::Append(unsigned short const *,unsigned long)
+?Append@STRAU@@QAEHPBGK@Z
+; public: long __thiscall STRU::Append(class STRU const &)
+?Append@STRU@@QAEJABV1@@Z
+; public: long __thiscall STRU::Append(unsigned short const *)
+?Append@STRU@@QAEJPBG@Z
+; public: long __thiscall STRU::Append(unsigned short const *,unsigned long)
+?Append@STRU@@QAEJPBGK@Z
+; public: long __thiscall STRU::AppendA(char const *)
+?AppendA@STRU@@QAEJPBD@Z
+; public: int __thiscall BUFFER_CHAIN::AppendBuffer(class BUFFER_CHAIN_ITEM *)
+?AppendBuffer@BUFFER_CHAIN@@QAEHPAVBUFFER_CHAIN_ITEM@@@Z
+; public: void __thiscall STR::AppendCRLF(void)
+?AppendCRLF@STR@@QAEXXZ
+; public: long __thiscall STRA::AppendW(unsigned short const *)
+?AppendW@STRA@@QAEJPBG@Z
+; public: long __thiscall STRA::AppendW(unsigned short const *,unsigned long)
+?AppendW@STRA@@QAEJPBGK@Z
+; public: long __thiscall STRA::AppendWTruncate(unsigned short const *)
+?AppendWTruncate@STRA@@QAEJPBG@Z
+; public: long __thiscall STRA::AppendWTruncate(unsigned short const *,unsigned long)
+?AppendWTruncate@STRA@@QAEJPBGK@Z
+; public: unsigned long __thiscall CLKRHashTable::Apply(enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
+?Apply@CLKRHashTable@@QAEKP6G?AW4LK_ACTION@@PBXPAX@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __thiscall CLKRLinearHashTable::Apply(enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
+?Apply@CLKRLinearHashTable@@QAEKP6G?AW4LK_ACTION@@PBXPAX@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __thiscall CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
+?ApplyIf@CLKRHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@ZP6G?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
+; public: unsigned long __thiscall CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
+?ApplyIf@CLKRLinearHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@ZP6G?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
+; private: int __thiscall MULTISZ::AuxAppend(unsigned char const *,unsigned int,int)
+?AuxAppend@MULTISZ@@AAEHPBEIH@Z
+; private: int __thiscall STR::AuxAppend(unsigned char const *,unsigned int,int)
+?AuxAppend@STR@@AAEHPBEIH@Z
+; private: long __thiscall STRA::AuxAppend(unsigned char const *,unsigned long,unsigned long,int)
+?AuxAppend@STRA@@AAEJPBEKKH@Z
+; private: int __thiscall STRAU::AuxAppend(char const *,unsigned int,int)
+?AuxAppend@STRAU@@AAEHPBDIH@Z
+; private: int __thiscall STRAU::AuxAppend(unsigned short const *,unsigned int,int)
+?AuxAppend@STRAU@@AAEHPBGIH@Z
+; private: long __thiscall STRU::AuxAppend(unsigned char const *,unsigned long,unsigned long,int)
+?AuxAppend@STRU@@AAEJPBEKKH@Z
+; private: long __thiscall STRU::AuxAppendA(unsigned char const *,unsigned long,unsigned long,int)
+?AuxAppendA@STRU@@AAEJPBEKKH@Z
+; private: long __thiscall STRA::AuxAppendW(unsigned short const *,unsigned long,unsigned long,int)
+?AuxAppendW@STRA@@AAEJPBGKKH@Z
+; private: long __thiscall STRA::AuxAppendWTruncate(unsigned short const *,unsigned long,unsigned long,int)
+?AuxAppendWTruncate@STRA@@AAEJPBGKKH@Z
+; private: void __thiscall MLSZAU::AuxInit(char * const,unsigned long)
+?AuxInit@MLSZAU@@AAEXQADK@Z
+; private: void __thiscall MLSZAU::AuxInit(unsigned short * const,unsigned long)
+?AuxInit@MLSZAU@@AAEXQAGK@Z
+; private: void __thiscall MULTISZ::AuxInit(unsigned char const *)
+?AuxInit@MULTISZ@@AAEXPBE@Z
+; private: void __thiscall STR::AuxInit(unsigned char const *)
+?AuxInit@STR@@AAEXPBE@Z
+; private: void __thiscall STRAU::AuxInit(char const *)
+?AuxInit@STRAU@@AAEXPBD@Z
+; private: void __thiscall STRAU::AuxInit(unsigned short const *)
+?AuxInit@STRAU@@AAEXPBG@Z
+; public: class CLKRHashTable_Iterator  __thiscall CLKRHashTable::Begin(void)
+?Begin@CLKRHashTable@@QAE?AVCLKRHashTable_Iterator@@XZ
+; public: class CLKRLinearHashTable_Iterator  __thiscall CLKRLinearHashTable::Begin(void)
+?Begin@CLKRLinearHashTable@@QAE?AVCLKRLinearHashTable_Iterator@@XZ
+; public: static long __stdcall CLKRHashTableStats::BucketIndex(long)
+?BucketIndex@CLKRHashTableStats@@SGJJ@Z
+; public: static long __stdcall CLKRHashTableStats::BucketSize(long)
+?BucketSize@CLKRHashTableStats@@SGJJ@Z
+; public: static long const * __stdcall CLKRHashTableStats::BucketSizes(void)
+?BucketSizes@CLKRHashTableStats@@SGPBJXZ
+; public: static unsigned long __stdcall MULTISZ::CalcLength(char const *,unsigned long *)
+?CalcLength@MULTISZ@@SGKPBDPAK@Z
+; public: unsigned long __thiscall BUFFER_CHAIN::CalcTotalSize(int)const 
+?CalcTotalSize@BUFFER_CHAIN@@QBEKH@Z
+; public: virtual unsigned long __thiscall HASH_TABLE::CalculateHash(char const *)const 
+?CalculateHash@HASH_TABLE@@UBEKPBD@Z
+; public: virtual unsigned long __thiscall HASH_TABLE::CalculateHash(char const *,unsigned long)const 
+?CalculateHash@HASH_TABLE@@UBEKPBDK@Z
+CanonURL
+; public: void __thiscall CSharelock::ChangeExclusiveLockToSharedLock(void)
+?ChangeExclusiveLockToSharedLock@CSharelock@@QAEXXZ
+; public: unsigned char __thiscall CSharelock::ChangeSharedLockToExclusiveLock(int)
+?ChangeSharedLockToExclusiveLock@CSharelock@@QAEEH@Z
+; public: int __thiscall CLKRHashTable::CheckTable(void)const 
+?CheckTable@CLKRHashTable@@QBEHXZ
+; public: int __thiscall CLKRLinearHashTable::CheckTable(void)const 
+?CheckTable@CLKRLinearHashTable@@QBEHXZ
+; public: unsigned char __thiscall CSharelock::ClaimExclusiveLock(int)
+?ClaimExclusiveLock@CSharelock@@QAEEH@Z
+; public: unsigned char __thiscall CSharelock::ClaimShareLock(int)
+?ClaimShareLock@CSharelock@@QAEEH@Z
+; public: static char const * __stdcall CCritSec::ClassName(void)
+?ClassName@CCritSec@@SGPBDXZ
+; public: static unsigned short const * __stdcall CCritSec::ClassName(void)
+?ClassName@CCritSec@@SGPBGXZ
+; public: static char const * __stdcall CFakeLock::ClassName(void)
+?ClassName@CFakeLock@@SGPBDXZ
+; public: static unsigned short const * __stdcall CFakeLock::ClassName(void)
+?ClassName@CFakeLock@@SGPBGXZ
+; public: static unsigned short const * __stdcall CLKRHashTable::ClassName(void)
+?ClassName@CLKRHashTable@@SGPBGXZ
+; public: static unsigned short const * __stdcall CLKRLinearHashTable::ClassName(void)
+?ClassName@CLKRLinearHashTable@@SGPBGXZ
+; public: static char const * __stdcall CReaderWriterLock2::ClassName(void)
+?ClassName@CReaderWriterLock2@@SGPBDXZ
+; public: static unsigned short const * __stdcall CReaderWriterLock2::ClassName(void)
+?ClassName@CReaderWriterLock2@@SGPBGXZ
+; public: static char const * __stdcall CReaderWriterLock3::ClassName(void)
+?ClassName@CReaderWriterLock3@@SGPBDXZ
+; public: static unsigned short const * __stdcall CReaderWriterLock3::ClassName(void)
+?ClassName@CReaderWriterLock3@@SGPBGXZ
+; public: static char const * __stdcall CReaderWriterLock::ClassName(void)
+?ClassName@CReaderWriterLock@@SGPBDXZ
+; public: static unsigned short const * __stdcall CReaderWriterLock::ClassName(void)
+?ClassName@CReaderWriterLock@@SGPBGXZ
+; public: static char const * __stdcall CRtlResource::ClassName(void)
+?ClassName@CRtlResource@@SGPBDXZ
+; public: static char const * __stdcall CShareLock::ClassName(void)
+?ClassName@CShareLock@@SGPBDXZ
+; public: static char const * __stdcall CSmallSpinLock::ClassName(void)
+?ClassName@CSmallSpinLock@@SGPBDXZ
+; public: static unsigned short const * __stdcall CSmallSpinLock::ClassName(void)
+?ClassName@CSmallSpinLock@@SGPBGXZ
+; public: static char const * __stdcall CSpinLock::ClassName(void)
+?ClassName@CSpinLock@@SGPBDXZ
+; public: static unsigned short const * __stdcall CSpinLock::ClassName(void)
+?ClassName@CSpinLock@@SGPBGXZ
+; public: static int __stdcall ALLOC_CACHE_HANDLER::Cleanup(void)
+?Cleanup@ALLOC_CACHE_HANDLER@@SGHXZ
+; public: void __thiscall HASH_TABLE::Cleanup(void)
+?Cleanup@HASH_TABLE@@QAEXXZ
+; public: void __thiscall HTB_ELEMENT::Cleanup(void)
+?Cleanup@HTB_ELEMENT@@QAEXXZ
+; public: static void __stdcall ALLOC_CACHE_HANDLER::CleanupAllLookasides(void *,unsigned char)
+?CleanupAllLookasides@ALLOC_CACHE_HANDLER@@SGXPAXE@Z
+; public: void __thiscall ALLOC_CACHE_HANDLER::CleanupLookaside(int)
+?CleanupLookaside@ALLOC_CACHE_HANDLER@@QAEXH@Z
+; public: void __thiscall CLKRHashTable::Clear(void)
+?Clear@CLKRHashTable@@QAEXXZ
+; public: void __thiscall CLKRLinearHashTable::Clear(void)
+?Clear@CLKRLinearHashTable@@QAEXXZ
+; public: void __thiscall STR::Clear(void)
+?Clear@STR@@QAEXXZ
+; public: int __thiscall MULTISZ::Clone(class MULTISZ *)const 
+?Clone@MULTISZ@@QBEHPAV1@@Z
+; public: int __thiscall STR::Clone(class STR *)const 
+?Clone@STR@@QBEHPAV1@@Z
+; public: long __thiscall STRA::Clone(class STRA *)const 
+?Clone@STRA@@QBEJPAV1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator *)
+?CloseIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator *)const 
+?CloseIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator *)
+?CloseIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator *)const 
+?CloseIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: unsigned long __thiscall HASH_TABLE::CloseIterator(struct HT_ITERATOR *)
+?CloseIterator@HASH_TABLE@@QAEKPAUHT_ITERATOR@@@Z
+; public: unsigned long __thiscall HASH_TABLE_BUCKET::CloseIterator(struct HT_ITERATOR *)
+?CloseIterator@HASH_TABLE_BUCKET@@QAEKPAUHT_ITERATOR@@@Z
+; public: void __thiscall TS_RESOURCE::Convert(enum TSRES_CONV_TYPE)
+?Convert@TS_RESOURCE@@QAEXW4TSRES_CONV_TYPE@@@Z
+; public: void __thiscall CCritSec::ConvertExclusiveToShared(void)
+?ConvertExclusiveToShared@CCritSec@@QAEXXZ
+; public: void __thiscall CFakeLock::ConvertExclusiveToShared(void)
+?ConvertExclusiveToShared@CFakeLock@@QAEXXZ
+; public: void __thiscall CLKRHashTable::ConvertExclusiveToShared(void)const 
+?ConvertExclusiveToShared@CLKRHashTable@@QBEXXZ
+; public: void __thiscall CLKRLinearHashTable::ConvertExclusiveToShared(void)const 
+?ConvertExclusiveToShared@CLKRLinearHashTable@@QBEXXZ
+; public: void __thiscall CReaderWriterLock2::ConvertExclusiveToShared(void)
+?ConvertExclusiveToShared@CReaderWriterLock2@@QAEXXZ
+; public: void __thiscall CReaderWriterLock3::ConvertExclusiveToShared(void)
+?ConvertExclusiveToShared@CReaderWriterLock3@@QAEXXZ
+; public: void __thiscall CReaderWriterLock::ConvertExclusiveToShared(void)
+?ConvertExclusiveToShared@CReaderWriterLock@@QAEXXZ
+; public: void __thiscall CRtlResource::ConvertExclusiveToShared(void)
+?ConvertExclusiveToShared@CRtlResource@@QAEXXZ
+; public: void __thiscall CShareLock::ConvertExclusiveToShared(void)
+?ConvertExclusiveToShared@CShareLock@@QAEXXZ
+; public: void __thiscall CSmallSpinLock::ConvertExclusiveToShared(void)
+?ConvertExclusiveToShared@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::ConvertExclusiveToShared(void)
+?ConvertExclusiveToShared@CSpinLock@@QAEXXZ
+; public: void __thiscall CCritSec::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CCritSec@@QAEXXZ
+; public: void __thiscall CFakeLock::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CFakeLock@@QAEXXZ
+; public: void __thiscall CLKRHashTable::ConvertSharedToExclusive(void)const 
+?ConvertSharedToExclusive@CLKRHashTable@@QBEXXZ
+; public: void __thiscall CLKRLinearHashTable::ConvertSharedToExclusive(void)const 
+?ConvertSharedToExclusive@CLKRLinearHashTable@@QBEXXZ
+; public: void __thiscall CReaderWriterLock2::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CReaderWriterLock2@@QAEXXZ
+; public: void __thiscall CReaderWriterLock3::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CReaderWriterLock3@@QAEXXZ
+; public: void __thiscall CReaderWriterLock::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CReaderWriterLock@@QAEXXZ
+; public: void __thiscall CRtlResource::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CRtlResource@@QAEXXZ
+; public: void __thiscall CShareLock::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CShareLock@@QAEXXZ
+; public: void __thiscall CSmallSpinLock::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CSpinLock@@QAEXXZ
+; public: int __thiscall MULTISZ::Copy(class MULTISZ const &)
+?Copy@MULTISZ@@QAEHABV1@@Z
+; public: int __thiscall MULTISZ::Copy(char const *,unsigned long)
+?Copy@MULTISZ@@QAEHPBDK@Z
+; public: int __thiscall STR::Copy(class STR const &)
+?Copy@STR@@QAEHABV1@@Z
+; public: int __thiscall STR::Copy(char const *)
+?Copy@STR@@QAEHPBD@Z
+; public: int __thiscall STR::Copy(char const *,unsigned long)
+?Copy@STR@@QAEHPBDK@Z
+; public: long __thiscall STRA::Copy(class STRA const &)
+?Copy@STRA@@QAEJABV1@@Z
+; public: long __thiscall STRA::Copy(char const *)
+?Copy@STRA@@QAEJPBD@Z
+; public: long __thiscall STRA::Copy(char const *,unsigned long)
+?Copy@STRA@@QAEJPBDK@Z
+; public: int __thiscall STRAU::Copy(class STRAU &)
+?Copy@STRAU@@QAEHAAV1@@Z
+; public: int __thiscall STRAU::Copy(char const *)
+?Copy@STRAU@@QAEHPBD@Z
+; public: int __thiscall STRAU::Copy(char const *,unsigned long)
+?Copy@STRAU@@QAEHPBDK@Z
+; public: int __thiscall STRAU::Copy(unsigned short const *)
+?Copy@STRAU@@QAEHPBG@Z
+; public: int __thiscall STRAU::Copy(unsigned short const *,unsigned long)
+?Copy@STRAU@@QAEHPBGK@Z
+; public: long __thiscall STRU::Copy(class STRU const &)
+?Copy@STRU@@QAEJABV1@@Z
+; public: long __thiscall STRU::Copy(unsigned short const *)
+?Copy@STRU@@QAEJPBG@Z
+; public: long __thiscall STRU::Copy(unsigned short const *,unsigned long)
+?Copy@STRU@@QAEJPBGK@Z
+; public: long __thiscall STRU::CopyA(char const *)
+?CopyA@STRU@@QAEJPBD@Z
+; public: long __thiscall STRU::CopyA(char const *,unsigned long)
+?CopyA@STRU@@QAEJPBDK@Z
+; public: long __thiscall STRA::CopyBinary(void *,unsigned long)
+?CopyBinary@STRA@@QAEJPAXK@Z
+; public: int __thiscall CDFTCache::CopyFormattedData(struct _SYSTEMTIME const *,char *)const 
+?CopyFormattedData@CDFTCache@@QBEHPBU_SYSTEMTIME@@PAD@Z
+; public: void __thiscall DATETIME_FORMAT_ENTRY::CopyFormattedData(struct _SYSTEMTIME const *,char *)const 
+?CopyFormattedData@DATETIME_FORMAT_ENTRY@@QBEXPBU_SYSTEMTIME@@PAD@Z
+; public: int __thiscall MULTISZ::CopyToBuffer(char *,unsigned long *)const 
+?CopyToBuffer@MULTISZ@@QBEHPADPAK@Z
+; public: int __thiscall STR::CopyToBuffer(char *,unsigned long *)const 
+?CopyToBuffer@STR@@QBEHPADPAK@Z
+; public: int __thiscall STR::CopyToBuffer(unsigned short *,unsigned long *)const 
+?CopyToBuffer@STR@@QBEHPAGPAK@Z
+; public: long __thiscall STRA::CopyToBuffer(char *,unsigned long *)const 
+?CopyToBuffer@STRA@@QBEJPADPAK@Z
+; public: long __thiscall STRU::CopyToBuffer(unsigned short *,unsigned long *)const 
+?CopyToBuffer@STRU@@QBEJPAGPAK@Z
+; public: long __thiscall STRA::CopyW(unsigned short const *)
+?CopyW@STRA@@QAEJPBG@Z
+; public: long __thiscall STRA::CopyW(unsigned short const *,unsigned long)
+?CopyW@STRA@@QAEJPBGK@Z
+; public: long __thiscall STRA::CopyWToUTF8(class STRU const &)
+?CopyWToUTF8@STRA@@QAEJABVSTRU@@@Z
+; public: long __thiscall STRA::CopyWToUTF8(unsigned short const *)
+?CopyWToUTF8@STRA@@QAEJPBG@Z
+; public: long __thiscall STRA::CopyWToUTF8(unsigned short const *,unsigned long)
+?CopyWToUTF8@STRA@@QAEJPBGK@Z
+; public: long __thiscall STRA::CopyWToUTF8Unescaped(class STRU const &)
+?CopyWToUTF8Unescaped@STRA@@QAEJABVSTRU@@@Z
+; public: long __thiscall STRA::CopyWToUTF8Unescaped(unsigned short const *)
+?CopyWToUTF8Unescaped@STRA@@QAEJPBG@Z
+; public: long __thiscall STRA::CopyWToUTF8Unescaped(unsigned short const *,unsigned long)
+?CopyWToUTF8Unescaped@STRA@@QAEJPBGK@Z
+; public: long __thiscall STRA::CopyWTruncate(unsigned short const *)
+?CopyWTruncate@STRA@@QAEJPBG@Z
+; public: long __thiscall STRA::CopyWTruncate(unsigned short const *,unsigned long)
+?CopyWTruncate@STRA@@QAEJPBGK@Z
+CreateKey
+; public: unsigned long __thiscall CDFTCache::DateTimeChars(void)const 
+?DateTimeChars@CDFTCache@@QBEKXZ
+; char const * __stdcall DayOfWeek3CharNames(unsigned long)
+?DayOfWeek3CharNames@@YGPBDK@Z
+; public: void __thiscall HTB_ELEMENT::DecrementElements(void)
+?DecrementElements@HTB_ELEMENT@@QAEXXZ
+; public: int __thiscall HASH_TABLE::Delete(class HT_ELEMENT *)
+?Delete@HASH_TABLE@@QAEHPAVHT_ELEMENT@@@Z
+; public: int __thiscall HASH_TABLE_BUCKET::Delete(class HT_ELEMENT *)
+?Delete@HASH_TABLE_BUCKET@@QAEHPAVHT_ELEMENT@@@Z
+; public: int __thiscall HTB_ELEMENT::Delete(class HT_ELEMENT *)
+?Delete@HTB_ELEMENT@@QAEHPAVHT_ELEMENT@@@Z
+; public: unsigned long __thiscall BUFFER_CHAIN::DeleteChain(void)
+?DeleteChain@BUFFER_CHAIN@@QAEKXZ
+; public: unsigned long __thiscall CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *)
+?DeleteIf@CLKRHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1@Z
+; public: unsigned long __thiscall CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *)
+?DeleteIf@CLKRLinearHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::DeleteKey(unsigned long)
+?DeleteKey@CLKRHashTable@@QAE?AW4LK_RETCODE@@K@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::DeleteKey(unsigned long)
+?DeleteKey@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@K@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::DeleteRecord(void const *)
+?DeleteRecord@CLKRHashTable@@QAE?AW4LK_RETCODE@@PBX@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::DeleteRecord(void const *)
+?DeleteRecord@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PBX@Z
+; public: virtual unsigned long __thiscall CEtwTracer::DisableEventsCallbackCustomHandler(void)
+?DisableEventsCallbackCustomHandler@CEtwTracer@@UAEKXZ
+; public: static int __stdcall ALLOC_CACHE_HANDLER::DumpStatsToHtml(char *,unsigned long *)
+?DumpStatsToHtml@ALLOC_CACHE_HANDLER@@SGHPADPAK@Z
+; public: virtual unsigned long __thiscall CEtwTracer::EnableEventsCallbackCustomHandler(void)
+?EnableEventsCallbackCustomHandler@CEtwTracer@@UAEKXZ
+; public: class CLKRHashTable_Iterator  __thiscall CLKRHashTable::End(void)
+?End@CLKRHashTable@@QAE?AVCLKRHashTable_Iterator@@XZ
+; public: class CLKRLinearHashTable_Iterator  __thiscall CLKRLinearHashTable::End(void)
+?End@CLKRLinearHashTable@@QAE?AVCLKRLinearHashTable_Iterator@@XZ
+; public: int __thiscall STR::Equ(class STR const &)const 
+?Equ@STR@@QBEHABV1@@Z
+; public: int __thiscall STR::Equ(char *)const 
+?Equ@STR@@QBEHPAD@Z
+; public: bool __thiscall CLKRHashTable::EqualRange(unsigned long,class CLKRHashTable_Iterator &,class CLKRHashTable_Iterator &)
+?EqualRange@CLKRHashTable@@QAE_NKAAVCLKRHashTable_Iterator@@0@Z
+; public: bool __thiscall CLKRLinearHashTable::EqualRange(unsigned long,class CLKRLinearHashTable_Iterator &,class CLKRLinearHashTable_Iterator &)
+?EqualRange@CLKRLinearHashTable@@QAE_NKAAVCLKRLinearHashTable_Iterator@@0@Z
+; public: int __thiscall STRA::Equals(class STRA const &)const 
+?Equals@STRA@@QBEHABV1@@Z
+; public: int __thiscall STRA::Equals(char * const)const 
+?Equals@STRA@@QBEHQAD@Z
+; public: int __thiscall STRU::Equals(class STRU const &)const 
+?Equals@STRU@@QBEHABV1@@Z
+; public: int __thiscall STRU::Equals(unsigned short const *)const 
+?Equals@STRU@@QBEHPBG@Z
+; public: int __thiscall STRA::EqualsNoCase(class STRA const &)const 
+?EqualsNoCase@STRA@@QBEHABV1@@Z
+; public: int __thiscall STRA::EqualsNoCase(char * const)const 
+?EqualsNoCase@STRA@@QBEHQAD@Z
+; public: int __thiscall STRU::EqualsNoCase(class STRU const &)const 
+?EqualsNoCase@STRU@@QBEHABV1@@Z
+; public: int __thiscall STRU::EqualsNoCase(unsigned short const *)const 
+?EqualsNoCase@STRU@@QBEHPBG@Z
+; public: bool __thiscall CLKRHashTable::Erase(class CLKRHashTable_Iterator &,class CLKRHashTable_Iterator &)
+?Erase@CLKRHashTable@@QAE_NAAVCLKRHashTable_Iterator@@0@Z
+; public: bool __thiscall CLKRHashTable::Erase(class CLKRHashTable_Iterator &)
+?Erase@CLKRHashTable@@QAE_NAAVCLKRHashTable_Iterator@@@Z
+; public: bool __thiscall CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator &,class CLKRLinearHashTable_Iterator &)
+?Erase@CLKRLinearHashTable@@QAE_NAAVCLKRLinearHashTable_Iterator@@0@Z
+; public: bool __thiscall CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator &)
+?Erase@CLKRLinearHashTable@@QAE_NAAVCLKRLinearHashTable_Iterator@@@Z
+; public: int __thiscall STR::Escape(void)
+?Escape@STR@@QAEHXZ
+; public: long __thiscall STRA::Escape(int,int)
+?Escape@STRA@@QAEJHH@Z
+; public: long __thiscall STRU::Escape(void)
+?Escape@STRU@@QAEJXZ
+; public: int __thiscall STR::EscapeSpaces(void)
+?EscapeSpaces@STR@@QAEHXZ
+; public: unsigned long __cdecl CEtwTracer::EtwTraceEvent(struct _GUID const *,unsigned long,...)
+?EtwTraceEvent@CEtwTracer@@QAAKPBU_GUID@@KZZ
+; int __stdcall FileTimeToGMT(struct _FILETIME const &,char *,unsigned long)
+?FileTimeToGMT@@YGHABU_FILETIME@@PADK@Z
+; int __stdcall FileTimeToGMTEx(struct _FILETIME const &,char *,unsigned long,unsigned long)
+?FileTimeToGMTEx@@YGHABU_FILETIME@@PADKK@Z
+; public: bool __thiscall CLKRHashTable::Find(unsigned long,class CLKRHashTable_Iterator &)
+?Find@CLKRHashTable@@QAE_NKAAVCLKRHashTable_Iterator@@@Z
+; public: bool __thiscall CLKRLinearHashTable::Find(unsigned long,class CLKRLinearHashTable_Iterator &)
+?Find@CLKRLinearHashTable@@QAE_NKAAVCLKRLinearHashTable_Iterator@@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::FindKey(unsigned long,void const * *)const 
+?FindKey@CLKRHashTable@@QBE?AW4LK_RETCODE@@KPAPBX@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::FindKey(unsigned long,void const * *)const 
+?FindKey@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@KPAPBX@Z
+; public: unsigned long __thiscall HASH_TABLE::FindNextElement(struct HT_ITERATOR *,class HT_ELEMENT * *)
+?FindNextElement@HASH_TABLE@@QAEKPAUHT_ITERATOR@@PAPAVHT_ELEMENT@@@Z
+; public: unsigned long __thiscall HASH_TABLE_BUCKET::FindNextElement(struct HT_ITERATOR *,class HT_ELEMENT * *)
+?FindNextElement@HASH_TABLE_BUCKET@@QAEKPAUHT_ITERATOR@@PAPAVHT_ELEMENT@@@Z
+; public: unsigned long __thiscall HTB_ELEMENT::FindNextElement(unsigned long *,class HT_ELEMENT * *)
+?FindNextElement@HTB_ELEMENT@@QAEKPAKPAPAVHT_ELEMENT@@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::FindRecord(void const *)const 
+?FindRecord@CLKRHashTable@@QBE?AW4LK_RETCODE@@PBX@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::FindRecord(void const *)const 
+?FindRecord@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PBX@Z
+; public: int __thiscall MULTISZ::FindString(class STR const &)
+?FindString@MULTISZ@@QAEHABVSTR@@@Z
+; public: int __thiscall MULTISZ::FindString(char const *)
+?FindString@MULTISZ@@QAEHPBD@Z
+; public: class CListEntry * __thiscall CDoubleList::First(void)const 
+?First@CDoubleList@@QBEQAVCListEntry@@XZ
+; public: class CListEntry * __thiscall CLockedDoubleList::First(void)
+?First@CLockedDoubleList@@QAEQAVCListEntry@@XZ
+; public: char const * __thiscall MULTISZ::First(void)const 
+?First@MULTISZ@@QBEPBDXZ
+; public: struct HTBE_ENTRY * __thiscall HTB_ELEMENT::FirstElement(void)
+?FirstElement@HTB_ELEMENT@@QAEPAUHTBE_ENTRY@@XZ
+; public: unsigned long __thiscall HASH_TABLE::FlushElements(void)
+?FlushElements@HASH_TABLE@@QAEKXZ
+; public: int __thiscall STR::FormatString(unsigned long,char const * * const,char const *,unsigned long)
+?FormatString@STR@@QAEHKQAPBDPBDK@Z
+; public: long __thiscall STRA::FormatString(unsigned long,char const * * const,char const *,unsigned long)
+?FormatString@STRA@@QAEJKQAPBDPBDK@Z
+; public: char const * __thiscall CDFTCache::FormattedBuffer(void)const 
+?FormattedBuffer@CDFTCache@@QBEPBDXZ
+; public: int __thiscall ALLOC_CACHE_HANDLER::Free(void *)
+?Free@ALLOC_CACHE_HANDLER@@QAEHPAX@Z
+; public: void __thiscall BUFFER::FreeMemory(void)
+?FreeMemory@BUFFER@@QAEXXZ
+; public: virtual void __thiscall ASCLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY *,struct _SYSTEMTIME const *)
+?GenerateDateTimeString@ASCLOG_DATETIME_CACHE@@UAEXPAUDATETIME_FORMAT_ENTRY@@PBU_SYSTEMTIME@@@Z
+; public: virtual void __thiscall EXTLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY *,struct _SYSTEMTIME const *)
+?GenerateDateTimeString@EXTLOG_DATETIME_CACHE@@UAEXPAUDATETIME_FORMAT_ENTRY@@PBU_SYSTEMTIME@@@Z
+; public: virtual void __thiscall W3_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY *,struct _SYSTEMTIME const *)
+?GenerateDateTimeString@W3_DATETIME_CACHE@@UAEXPAUDATETIME_FORMAT_ENTRY@@PBU_SYSTEMTIME@@@Z
+; public: unsigned short __thiscall CLKRHashTable::GetBucketLockSpinCount(void)const 
+?GetBucketLockSpinCount@CLKRHashTable@@QBEGXZ
+; public: unsigned short __thiscall CLKRLinearHashTable::GetBucketLockSpinCount(void)const 
+?GetBucketLockSpinCount@CLKRLinearHashTable@@QBEGXZ
+; public: static double __stdcall CCritSec::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CCritSec@@SGNXZ
+; public: static double __stdcall CFakeLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CFakeLock@@SGNXZ
+; public: static double __stdcall CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SGNXZ
+; public: static double __stdcall CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SGNXZ
+; public: static double __stdcall CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SGNXZ
+; public: static double __stdcall CRtlResource::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CRtlResource@@SGNXZ
+; public: static double __stdcall CShareLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CShareLock@@SGNXZ
+; public: static double __stdcall CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SGNXZ
+; public: static double __stdcall CSpinLock::GetDefaultSpinAdjustmentFactor(void)
+?GetDefaultSpinAdjustmentFactor@CSpinLock@@SGNXZ
+; public: static unsigned short __stdcall CCritSec::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CCritSec@@SGGXZ
+; public: static unsigned short __stdcall CFakeLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CFakeLock@@SGGXZ
+; public: static unsigned short __stdcall CReaderWriterLock2::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock2@@SGGXZ
+; public: static unsigned short __stdcall CReaderWriterLock3::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock3@@SGGXZ
+; public: static unsigned short __stdcall CReaderWriterLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CReaderWriterLock@@SGGXZ
+; public: static unsigned short __stdcall CRtlResource::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CRtlResource@@SGGXZ
+; public: static unsigned short __stdcall CShareLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CShareLock@@SGGXZ
+; public: static unsigned short __stdcall CSmallSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSmallSpinLock@@SGGXZ
+; public: static unsigned short __stdcall CSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSpinLock@@SGGXZ
+; public: unsigned long __thiscall EVENT_LOG::GetErrorCode(void)const 
+?GetErrorCode@EVENT_LOG@@QBEKXZ
+; public: unsigned long __thiscall CACHED_DATETIME_FORMATS::GetFormattedCurrentDateTime(char *)
+?GetFormattedCurrentDateTime@CACHED_DATETIME_FORMATS@@QAEKPAD@Z
+; public: unsigned long __thiscall CACHED_DATETIME_FORMATS::GetFormattedDateTime(struct _SYSTEMTIME const *,char *)
+?GetFormattedDateTime@CACHED_DATETIME_FORMATS@@QAEKPBU_SYSTEMTIME@@PAD@Z
+; private: int __thiscall BUFFER::GetNewStorage(unsigned int)
+?GetNewStorage@BUFFER@@AAEHI@Z
+; public: unsigned short __thiscall CCritSec::GetSpinCount(void)const 
+?GetSpinCount@CCritSec@@QBEGXZ
+; public: unsigned short __thiscall CFakeLock::GetSpinCount(void)const 
+?GetSpinCount@CFakeLock@@QBEGXZ
+; public: unsigned short __thiscall CReaderWriterLock2::GetSpinCount(void)const 
+?GetSpinCount@CReaderWriterLock2@@QBEGXZ
+; public: unsigned short __thiscall CReaderWriterLock3::GetSpinCount(void)const 
+?GetSpinCount@CReaderWriterLock3@@QBEGXZ
+; public: unsigned short __thiscall CReaderWriterLock::GetSpinCount(void)const 
+?GetSpinCount@CReaderWriterLock@@QBEGXZ
+; public: unsigned short __thiscall CRtlResource::GetSpinCount(void)const 
+?GetSpinCount@CRtlResource@@QBEGXZ
+; public: unsigned short __thiscall CShareLock::GetSpinCount(void)const 
+?GetSpinCount@CShareLock@@QBEGXZ
+; public: unsigned short __thiscall CSmallSpinLock::GetSpinCount(void)const 
+?GetSpinCount@CSmallSpinLock@@QBEGXZ
+; public: unsigned short __thiscall CSpinLock::GetSpinCount(void)const 
+?GetSpinCount@CSpinLock@@QBEGXZ
+; public: class CLKRHashTableStats  __thiscall CLKRHashTable::GetStatistics(void)const 
+?GetStatistics@CLKRHashTable@@QBE?AVCLKRHashTableStats@@XZ
+; public: class CLKRHashTableStats  __thiscall CLKRLinearHashTable::GetStatistics(void)const 
+?GetStatistics@CLKRLinearHashTable@@QBE?AVCLKRHashTableStats@@XZ
+; public: unsigned short __thiscall CLKRHashTable::GetTableLockSpinCount(void)const 
+?GetTableLockSpinCount@CLKRHashTable@@QBEGXZ
+; public: unsigned short __thiscall CLKRLinearHashTable::GetTableLockSpinCount(void)const 
+?GetTableLockSpinCount@CLKRLinearHashTable@@QBEGXZ
+; public: int __thiscall CDateTime::GetTickCount(void)
+?GetTickCount@CDateTime@@QAEHXZ
+; public: long __thiscall STRA::HTMLEncode(void)
+?HTMLEncode@STRA@@QAEJXZ
+; public: void __thiscall STR::Hash(void)
+?Hash@STR@@QAEXXZ
+; public: class CListEntry const * __thiscall CDoubleList::HeadNode(void)const 
+?HeadNode@CDoubleList@@QBEQBVCListEntry@@XZ
+; public: class CListEntry const * __thiscall CLockedDoubleList::HeadNode(void)const 
+?HeadNode@CLockedDoubleList@@QBEQBVCListEntry@@XZ
+IISCreateDirectory
+IISstricmp
+IISstrlen
+IISstrlwr
+IISstrncpy
+IISstrnicmp
+IISstrrchr
+IISstrupr
+; public: bool __thiscall CLKRHashTable_Iterator::Increment(void)
+?Increment@CLKRHashTable_Iterator@@QAE_NXZ
+; public: bool __thiscall CLKRLinearHashTable_Iterator::Increment(void)
+?Increment@CLKRLinearHashTable_Iterator@@QAE_NXZ
+; public: void __thiscall HTB_ELEMENT::IncrementElements(void)
+?IncrementElements@HTB_ELEMENT@@QAEXXZ
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator *)
+?IncrementIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator *)const 
+?IncrementIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator *)
+?IncrementIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator *)const 
+?IncrementIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: static int __stdcall ALLOC_CACHE_HANDLER::Initialize(void)
+?Initialize@ALLOC_CACHE_HANDLER@@SGHXZ
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator *)
+?InitializeIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator *)const 
+?InitializeIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator *)
+?InitializeIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator *)const 
+?InitializeIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: unsigned long __thiscall HASH_TABLE::InitializeIterator(struct HT_ITERATOR *)
+?InitializeIterator@HASH_TABLE@@QAEKPAUHT_ITERATOR@@@Z
+; public: unsigned long __thiscall HASH_TABLE_BUCKET::InitializeIterator(struct HT_ITERATOR *)
+?InitializeIterator@HASH_TABLE_BUCKET@@QAEKPAUHT_ITERATOR@@@Z
+; public: bool __thiscall CLKRHashTable::Insert(void const *,class CLKRHashTable_Iterator &,bool)
+?Insert@CLKRHashTable@@QAE_NPBXAAVCLKRHashTable_Iterator@@_N@Z
+; public: bool __thiscall CLKRLinearHashTable::Insert(void const *,class CLKRLinearHashTable_Iterator &,bool)
+?Insert@CLKRLinearHashTable@@QAE_NPBXAAVCLKRLinearHashTable_Iterator@@_N@Z
+; public: int __thiscall HASH_TABLE::Insert(class HT_ELEMENT *,int)
+?Insert@HASH_TABLE@@QAEHPAVHT_ELEMENT@@H@Z
+; public: int __thiscall HASH_TABLE_BUCKET::Insert(unsigned long,class HT_ELEMENT *,int)
+?Insert@HASH_TABLE_BUCKET@@QAEHKPAVHT_ELEMENT@@H@Z
+; public: int __thiscall HTB_ELEMENT::Insert(unsigned long,class HT_ELEMENT *)
+?Insert@HTB_ELEMENT@@QAEHKPAVHT_ELEMENT@@@Z
+; public: void __thiscall CDoubleList::InsertHead(class CListEntry * const)
+?InsertHead@CDoubleList@@QAEXQAVCListEntry@@@Z
+; public: void __thiscall CLockedDoubleList::InsertHead(class CListEntry * const)
+?InsertHead@CLockedDoubleList@@QAEXQAVCListEntry@@@Z
+; public: static void __stdcall ALLOC_CACHE_HANDLER::InsertNewItem(class ALLOC_CACHE_HANDLER *)
+?InsertNewItem@ALLOC_CACHE_HANDLER@@SGXPAV1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::InsertRecord(void const *,bool)
+?InsertRecord@CLKRHashTable@@QAE?AW4LK_RETCODE@@PBX_N@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InsertRecord(void const *,bool)
+?InsertRecord@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PBX_N@Z
+; public: void __thiscall CDoubleList::InsertTail(class CListEntry * const)
+?InsertTail@CDoubleList@@QAEXQAVCListEntry@@@Z
+; public: void __thiscall CLockedDoubleList::InsertTail(class CListEntry * const)
+?InsertTail@CLockedDoubleList@@QAEXQAVCListEntry@@@Z
+; public: int __thiscall ALLOC_CACHE_HANDLER::IpPrint(char *,unsigned long *)
+?IpPrint@ALLOC_CACHE_HANDLER@@QAEHPADPAK@Z
+; public: int __thiscall MLSZAU::IsCurrentUnicode(void)
+?IsCurrentUnicode@MLSZAU@@QAEHXZ
+; public: int __thiscall STRAU::IsCurrentUnicode(void)
+?IsCurrentUnicode@STRAU@@QAEHXZ
+; private: int __thiscall BUFFER::IsDynAlloced(void)const 
+?IsDynAlloced@BUFFER@@ABEHXZ
+; public: bool __thiscall CDoubleList::IsEmpty(void)const 
+?IsEmpty@CDoubleList@@QBE_NXZ
+; public: bool __thiscall CLockedDoubleList::IsEmpty(void)const 
+?IsEmpty@CLockedDoubleList@@QBE_NXZ
+; public: bool __thiscall CLockedSingleList::IsEmpty(void)const 
+?IsEmpty@CLockedSingleList@@QBE_NXZ
+; public: bool __thiscall CSingleList::IsEmpty(void)const 
+?IsEmpty@CSingleList@@QBE_NXZ
+; public: int __thiscall MULTISZ::IsEmpty(void)const 
+?IsEmpty@MULTISZ@@QBEHXZ
+; public: int __thiscall STR::IsEmpty(void)const 
+?IsEmpty@STR@@QBEHXZ
+; public: int __thiscall STRA::IsEmpty(void)const 
+?IsEmpty@STRA@@QBEHXZ
+; public: int __thiscall STRAU::IsEmpty(void)
+?IsEmpty@STRAU@@QAEHXZ
+; public: int __thiscall STRU::IsEmpty(void)const 
+?IsEmpty@STRU@@QBEHXZ
+; public: int __thiscall CDFTCache::IsHit(struct _SYSTEMTIME const *)const 
+?IsHit@CDFTCache@@QBEHPBU_SYSTEMTIME@@@Z
+; public: int __thiscall DATETIME_FORMAT_ENTRY::IsHit(struct _SYSTEMTIME const *)const 
+?IsHit@DATETIME_FORMAT_ENTRY@@QBEHPBU_SYSTEMTIME@@@Z
+IsIPAddressLocal
+IsLargeIntegerToDecimalChar
+; public: bool __thiscall CLockedDoubleList::IsLocked(void)const 
+?IsLocked@CLockedDoubleList@@QBE_NXZ
+; public: bool __thiscall CLockedSingleList::IsLocked(void)const 
+?IsLocked@CLockedSingleList@@QBE_NXZ
+; public: bool __thiscall CCritSec::IsReadLocked(void)const 
+?IsReadLocked@CCritSec@@QBE_NXZ
+; public: bool __thiscall CFakeLock::IsReadLocked(void)const 
+?IsReadLocked@CFakeLock@@QBE_NXZ
+; public: bool __thiscall CLKRHashTable::IsReadLocked(void)const 
+?IsReadLocked@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::IsReadLocked(void)const 
+?IsReadLocked@CLKRLinearHashTable@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock2::IsReadLocked(void)const 
+?IsReadLocked@CReaderWriterLock2@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock3::IsReadLocked(void)const 
+?IsReadLocked@CReaderWriterLock3@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock::IsReadLocked(void)const 
+?IsReadLocked@CReaderWriterLock@@QBE_NXZ
+; public: bool __thiscall CRtlResource::IsReadLocked(void)const 
+?IsReadLocked@CRtlResource@@QBE_NXZ
+; public: bool __thiscall CShareLock::IsReadLocked(void)const 
+?IsReadLocked@CShareLock@@QBE_NXZ
+; public: bool __thiscall CSmallSpinLock::IsReadLocked(void)const 
+?IsReadLocked@CSmallSpinLock@@QBE_NXZ
+; public: bool __thiscall CSpinLock::IsReadLocked(void)const 
+?IsReadLocked@CSpinLock@@QBE_NXZ
+; public: bool __thiscall CCritSec::IsReadUnlocked(void)const 
+?IsReadUnlocked@CCritSec@@QBE_NXZ
+; public: bool __thiscall CFakeLock::IsReadUnlocked(void)const 
+?IsReadUnlocked@CFakeLock@@QBE_NXZ
+; public: bool __thiscall CLKRHashTable::IsReadUnlocked(void)const 
+?IsReadUnlocked@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::IsReadUnlocked(void)const 
+?IsReadUnlocked@CLKRLinearHashTable@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock2::IsReadUnlocked(void)const 
+?IsReadUnlocked@CReaderWriterLock2@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock3::IsReadUnlocked(void)const 
+?IsReadUnlocked@CReaderWriterLock3@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock::IsReadUnlocked(void)const 
+?IsReadUnlocked@CReaderWriterLock@@QBE_NXZ
+; public: bool __thiscall CRtlResource::IsReadUnlocked(void)const 
+?IsReadUnlocked@CRtlResource@@QBE_NXZ
+; public: bool __thiscall CShareLock::IsReadUnlocked(void)const 
+?IsReadUnlocked@CShareLock@@QBE_NXZ
+; public: bool __thiscall CSmallSpinLock::IsReadUnlocked(void)const 
+?IsReadUnlocked@CSmallSpinLock@@QBE_NXZ
+; public: bool __thiscall CSpinLock::IsReadUnlocked(void)const 
+?IsReadUnlocked@CSpinLock@@QBE_NXZ
+; public: int __thiscall HTB_ELEMENT::IsSpaceAvailable(void)const 
+?IsSpaceAvailable@HTB_ELEMENT@@QBEHXZ
+; public: bool __thiscall CLockedDoubleList::IsUnlocked(void)const 
+?IsUnlocked@CLockedDoubleList@@QBE_NXZ
+; public: bool __thiscall CLockedSingleList::IsUnlocked(void)const 
+?IsUnlocked@CLockedSingleList@@QBE_NXZ
+; public: bool __thiscall CLKRHashTable::IsUsable(void)const 
+?IsUsable@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::IsUsable(void)const 
+?IsUsable@CLKRLinearHashTable@@QBE_NXZ
+; public: int __thiscall ALLOC_CACHE_HANDLER::IsValid(void)const 
+?IsValid@ALLOC_CACHE_HANDLER@@QBEHXZ
+; public: int __thiscall BUFFER::IsValid(void)const 
+?IsValid@BUFFER@@QBEHXZ
+; public: bool __thiscall CLKRHashTable::IsValid(void)const 
+?IsValid@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRHashTable_Iterator::IsValid(void)const 
+?IsValid@CLKRHashTable_Iterator@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::IsValid(void)const 
+?IsValid@CLKRLinearHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable_Iterator::IsValid(void)const 
+?IsValid@CLKRLinearHashTable_Iterator@@QBE_NXZ
+; public: int __thiscall HASH_TABLE::IsValid(void)const 
+?IsValid@HASH_TABLE@@QBEHXZ
+; public: int __thiscall MLSZAU::IsValid(void)
+?IsValid@MLSZAU@@QAEHXZ
+; public: int __thiscall MULTISZ::IsValid(void)const 
+?IsValid@MULTISZ@@QBEHXZ
+; public: int __thiscall STR::IsValid(void)const 
+?IsValid@STR@@QBEHXZ
+; public: int __thiscall STRA::IsValid(void)const 
+?IsValid@STRA@@QBEHXZ
+; public: int __thiscall STRAU::IsValid(void)
+?IsValid@STRAU@@QAEHXZ
+; public: bool __thiscall CCritSec::IsWriteLocked(void)const 
+?IsWriteLocked@CCritSec@@QBE_NXZ
+; public: bool __thiscall CFakeLock::IsWriteLocked(void)const 
+?IsWriteLocked@CFakeLock@@QBE_NXZ
+; public: bool __thiscall CLKRHashTable::IsWriteLocked(void)const 
+?IsWriteLocked@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::IsWriteLocked(void)const 
+?IsWriteLocked@CLKRLinearHashTable@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock2::IsWriteLocked(void)const 
+?IsWriteLocked@CReaderWriterLock2@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock3::IsWriteLocked(void)const 
+?IsWriteLocked@CReaderWriterLock3@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock::IsWriteLocked(void)const 
+?IsWriteLocked@CReaderWriterLock@@QBE_NXZ
+; public: bool __thiscall CRtlResource::IsWriteLocked(void)const 
+?IsWriteLocked@CRtlResource@@QBE_NXZ
+; public: bool __thiscall CShareLock::IsWriteLocked(void)const 
+?IsWriteLocked@CShareLock@@QBE_NXZ
+; public: bool __thiscall CSmallSpinLock::IsWriteLocked(void)const 
+?IsWriteLocked@CSmallSpinLock@@QBE_NXZ
+; public: bool __thiscall CSpinLock::IsWriteLocked(void)const 
+?IsWriteLocked@CSpinLock@@QBE_NXZ
+; public: bool __thiscall CCritSec::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CCritSec@@QBE_NXZ
+; public: bool __thiscall CFakeLock::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CFakeLock@@QBE_NXZ
+; public: bool __thiscall CLKRHashTable::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CLKRLinearHashTable@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock2::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CReaderWriterLock2@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock3::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CReaderWriterLock3@@QBE_NXZ
+; public: bool __thiscall CReaderWriterLock::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CReaderWriterLock@@QBE_NXZ
+; public: bool __thiscall CRtlResource::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CRtlResource@@QBE_NXZ
+; public: bool __thiscall CShareLock::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CShareLock@@QBE_NXZ
+; public: bool __thiscall CSmallSpinLock::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CSmallSpinLock@@QBE_NXZ
+; public: bool __thiscall CSpinLock::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CSpinLock@@QBE_NXZ
+; public: unsigned long const  __thiscall CLKRHashTable_Iterator::Key(void)const 
+?Key@CLKRHashTable_Iterator@@QBE?BKXZ
+; public: unsigned long const  __thiscall CLKRLinearHashTable_Iterator::Key(void)const 
+?Key@CLKRLinearHashTable_Iterator@@QBE?BKXZ
+; public: class CListEntry * __thiscall CDoubleList::Last(void)const 
+?Last@CDoubleList@@QBEQAVCListEntry@@XZ
+; public: class CListEntry * __thiscall CLockedDoubleList::Last(void)
+?Last@CLockedDoubleList@@QAEQAVCListEntry@@XZ
+; public: struct HTBE_ENTRY * __thiscall HTB_ELEMENT::LastElement(void)
+?LastElement@HTB_ELEMENT@@QAEPAUHTBE_ENTRY@@XZ
+; public: int __thiscall STR::LoadStringA(unsigned long,struct HINSTANCE__ *)
+?LoadStringA@STR@@QAEHKPAUHINSTANCE__@@@Z
+; public: int __thiscall STR::LoadStringA(unsigned long,char const *,unsigned long)
+?LoadStringA@STR@@QAEHKPBDK@Z
+; public: long __thiscall STRA::LoadStringW(unsigned long,struct HINSTANCE__ *)
+?LoadStringW@STRA@@QAEJKPAUHINSTANCE__@@@Z
+; public: long __thiscall STRA::LoadStringW(unsigned long,char const *,unsigned long)
+?LoadStringW@STRA@@QAEJKPBDK@Z
+; private: void __thiscall ALLOC_CACHE_HANDLER::Lock(void)
+?Lock@ALLOC_CACHE_HANDLER@@AAEXXZ
+; public: void __thiscall CLockedDoubleList::Lock(void)
+?Lock@CLockedDoubleList@@QAEXXZ
+; public: void __thiscall CLockedSingleList::Lock(void)
+?Lock@CLockedSingleList@@QAEXXZ
+; private: void __thiscall HASH_TABLE_BUCKET::Lock(void)
+?Lock@HASH_TABLE_BUCKET@@AAEXXZ
+; public: void __thiscall TS_RESOURCE::Lock(enum TSRES_LOCK_TYPE)
+?Lock@TS_RESOURCE@@QAEXW4TSRES_LOCK_TYPE@@@Z
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<1,1,3,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<2,1,1,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<3,1,1,1,1,1>::LockType(void)
+?LockType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<4,1,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<5,2,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<6,2,1,2,3,3>::LockType(void)
+?LockType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<7,2,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<8,2,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<9,2,1,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: void __thiscall EVENT_LOG::LogEvent(unsigned long,unsigned short,char const * * const,unsigned long)
+?LogEvent@EVENT_LOG@@QAEXKGQAPBDK@Z
+; private: void __thiscall EVENT_LOG::LogEventPrivate(unsigned long,unsigned short,unsigned short,char const * * const,unsigned long)
+?LogEventPrivate@EVENT_LOG@@AAEXKGGQAPBDK@Z
+; public: class HT_ELEMENT * __thiscall HASH_TABLE::Lookup(char const *)
+?Lookup@HASH_TABLE@@QAEPAVHT_ELEMENT@@PBD@Z
+; public: class HT_ELEMENT * __thiscall HASH_TABLE::Lookup(char const *,unsigned long)
+?Lookup@HASH_TABLE@@QAEPAVHT_ELEMENT@@PBDK@Z
+; public: class HT_ELEMENT * __thiscall HASH_TABLE_BUCKET::Lookup(unsigned long,char const *,unsigned long)
+?Lookup@HASH_TABLE_BUCKET@@QAEPAVHT_ELEMENT@@KPBDK@Z
+; public: class HT_ELEMENT * __thiscall HTB_ELEMENT::Lookup(unsigned long,char const *,unsigned long)
+?Lookup@HTB_ELEMENT@@QAEPAVHT_ELEMENT@@KPBDK@Z
+; public: unsigned long __thiscall CLKRHashTable::MaxSize(void)const 
+?MaxSize@CLKRHashTable@@QBEKXZ
+; public: unsigned long __thiscall CLKRLinearHashTable::MaxSize(void)const 
+?MaxSize@CLKRLinearHashTable@@QBEKXZ
+; char const * __stdcall Month3CharNames(unsigned long)
+?Month3CharNames@@YGPBDK@Z
+; public: bool __thiscall CLKRHashTable::MultiKeys(void)const 
+?MultiKeys@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::MultiKeys(void)const 
+?MultiKeys@CLKRLinearHashTable@@QBE_NXZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<1,1,3,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<2,1,1,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<3,1,1,1,1,1>::MutexType(void)
+?MutexType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<4,1,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<5,2,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<6,2,1,2,3,3>::MutexType(void)
+?MutexType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<7,2,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<8,2,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<9,2,1,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: char const * __thiscall MULTISZ::Next(char const *)const 
+?Next@MULTISZ@@QBEPBDPBD@Z
+; public: class BUFFER_CHAIN_ITEM * __thiscall BUFFER_CHAIN::NextBuffer(class BUFFER_CHAIN_ITEM *)
+?NextBuffer@BUFFER_CHAIN@@QAEPAVBUFFER_CHAIN_ITEM@@PAV2@@Z
+; public: void __thiscall HTB_ELEMENT::NextElement(struct HTBE_ENTRY * &)
+?NextElement@HTB_ELEMENT@@QAEXAAPAUHTBE_ENTRY@@@Z
+; long __stdcall NormalizeUrl(char *)
+?NormalizeUrl@@YGJPAD@Z
+; long __stdcall NormalizeUrlW(unsigned short *)
+?NormalizeUrlW@@YGJPAG@Z
+NtLargeIntegerTimeToLocalSystemTime
+NtLargeIntegerTimeToSystemTime
+NtSystemTimeToLargeInteger
+; public: unsigned long __thiscall HTB_ELEMENT::NumElements(void)const 
+?NumElements@HTB_ELEMENT@@QBEKXZ
+; public: unsigned long __thiscall HASH_TABLE_BUCKET::NumEntries(void)
+?NumEntries@HASH_TABLE_BUCKET@@QAEKXZ
+; public: int __thiscall CLKRHashTable::NumSubTables(void)const 
+?NumSubTables@CLKRHashTable@@QBEHXZ
+; public: static enum LK_TABLESIZE  __stdcall CLKRHashTable::NumSubTables(unsigned long &,unsigned long &)
+?NumSubTables@CLKRHashTable@@SG?AW4LK_TABLESIZE@@AAK0@Z
+; public: int __thiscall CLKRLinearHashTable::NumSubTables(void)const 
+?NumSubTables@CLKRLinearHashTable@@QBEHXZ
+; public: static enum LK_TABLESIZE  __stdcall CLKRLinearHashTable::NumSubTables(unsigned long &,unsigned long &)
+?NumSubTables@CLKRLinearHashTable@@SG?AW4LK_TABLESIZE@@AAK0@Z
+; public: int __thiscall CDFTCache::OffsetSeconds(void)const 
+?OffsetSeconds@CDFTCache@@QBEHXZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<5,2,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<6,2,1,2,3,3>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<7,2,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<8,2,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<9,2,1,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: class CSingleListEntry * __thiscall CLockedSingleList::Pop(void)
+?Pop@CLockedSingleList@@QAEQAVCSingleListEntry@@XZ
+; public: class CSingleListEntry * __thiscall CSingleList::Pop(void)
+?Pop@CSingleList@@QAEQAVCSingleListEntry@@XZ
+; public: void __thiscall ALLOC_CACHE_HANDLER::Print(void)
+?Print@ALLOC_CACHE_HANDLER@@QAEXXZ
+; public: void __thiscall HASH_TABLE::Print(unsigned long)
+?Print@HASH_TABLE@@QAEXK@Z
+; public: void __thiscall HASH_TABLE_BUCKET::Print(unsigned long)
+?Print@HASH_TABLE_BUCKET@@QAEXK@Z
+; public: void __thiscall HTB_ELEMENT::Print(unsigned long)const 
+?Print@HTB_ELEMENT@@QBEXK@Z
+; private: unsigned short * __thiscall STRAU::PrivateQueryStr(int)
+?PrivateQueryStr@STRAU@@AAEPAGH@Z
+; public: void __thiscall CLockedSingleList::Push(class CSingleListEntry * const)
+?Push@CLockedSingleList@@QAEXQAVCSingleListEntry@@@Z
+; public: void __thiscall CSingleList::Push(class CSingleListEntry * const)
+?Push@CSingleList@@QAEXQAVCSingleListEntry@@@Z
+; public: class BUFFER * __thiscall STRU::QueryBuffer(void)
+?QueryBuffer@STRU@@QAEPAVBUFFER@@XZ
+; public: unsigned int __thiscall MLSZAU::QueryCB(int)
+?QueryCB@MLSZAU@@QAEIH@Z
+; public: unsigned int __thiscall MULTISZ::QueryCB(void)const 
+?QueryCB@MULTISZ@@QBEIXZ
+; public: unsigned int __thiscall STR::QueryCB(void)const 
+?QueryCB@STR@@QBEIXZ
+; public: unsigned int __thiscall STRA::QueryCB(void)const 
+?QueryCB@STRA@@QBEIXZ
+; public: unsigned int __thiscall STRAU::QueryCB(int)
+?QueryCB@STRAU@@QAEIH@Z
+; public: unsigned int __thiscall STRU::QueryCB(void)const 
+?QueryCB@STRU@@QBEIXZ
+; public: unsigned int __thiscall MLSZAU::QueryCBA(void)
+?QueryCBA@MLSZAU@@QAEIXZ
+; public: unsigned int __thiscall STRAU::QueryCBA(void)
+?QueryCBA@STRAU@@QAEIXZ
+; public: unsigned int __thiscall MLSZAU::QueryCBW(void)
+?QueryCBW@MLSZAU@@QAEIXZ
+; public: unsigned int __thiscall STRAU::QueryCBW(void)
+?QueryCBW@STRAU@@QAEIXZ
+; public: unsigned int __thiscall MLSZAU::QueryCCH(void)
+?QueryCCH@MLSZAU@@QAEIXZ
+; public: unsigned int __thiscall MULTISZ::QueryCCH(void)const 
+?QueryCCH@MULTISZ@@QBEIXZ
+; public: unsigned int __thiscall STR::QueryCCH(void)const 
+?QueryCCH@STR@@QBEIXZ
+; public: unsigned int __thiscall STRA::QueryCCH(void)const 
+?QueryCCH@STRA@@QBEIXZ
+; public: unsigned int __thiscall STRAU::QueryCCH(void)
+?QueryCCH@STRAU@@QAEIXZ
+; public: unsigned int __thiscall STRU::QueryCCH(void)const 
+?QueryCCH@STRU@@QBEIXZ
+; public: unsigned long __thiscall CEtwTracer::QueryEnableLevel(void)
+?QueryEnableLevel@CEtwTracer@@QAEKXZ
+; public: char __thiscall STR::QueryFirstChar(void)const 
+?QueryFirstChar@STR@@QBEDXZ
+; public: char __thiscall STR::QueryLastChar(void)const 
+?QueryLastChar@STR@@QBEDXZ
+; public: void * __thiscall BUFFER::QueryPtr(void)const 
+?QueryPtr@BUFFER@@QBEPAXXZ
+; public: unsigned int __thiscall BUFFER::QuerySize(void)const 
+?QuerySize@BUFFER@@QBEIXZ
+; public: unsigned int __thiscall STRA::QuerySize(void)const 
+?QuerySize@STRA@@QBEIXZ
+; public: void __thiscall ALLOC_CACHE_HANDLER::QueryStats(struct _ALLOC_CACHE_STATISTICS *)
+?QueryStats@ALLOC_CACHE_HANDLER@@QAEXPAU_ALLOC_CACHE_STATISTICS@@@Z
+; public: char * __thiscall MLSZAU::QueryStr(int)
+?QueryStr@MLSZAU@@QAEPADH@Z
+; public: char * __thiscall MULTISZ::QueryStr(void)const 
+?QueryStr@MULTISZ@@QBEPADXZ
+; public: char * __thiscall STR::QueryStr(void)const 
+?QueryStr@STR@@QBEPADXZ
+; public: char * __thiscall STRA::QueryStr(void)
+?QueryStr@STRA@@QAEPADXZ
+; public: char const * __thiscall STRA::QueryStr(void)const 
+?QueryStr@STRA@@QBEPBDXZ
+; public: char * __thiscall STRAU::QueryStr(int)
+?QueryStr@STRAU@@QAEPADH@Z
+; public: unsigned short * __thiscall STRAU::QueryStr(int)
+?QueryStr@STRAU@@QAEPAGH@Z
+; public: unsigned short * __thiscall STRU::QueryStr(void)
+?QueryStr@STRU@@QAEPAGXZ
+; public: unsigned short const * __thiscall STRU::QueryStr(void)const 
+?QueryStr@STRU@@QBEPBGXZ
+; public: char * __thiscall MLSZAU::QueryStrA(void)
+?QueryStrA@MLSZAU@@QAEPADXZ
+; public: char * __thiscall MULTISZ::QueryStrA(void)const 
+?QueryStrA@MULTISZ@@QBEPADXZ
+; public: char * __thiscall STR::QueryStrA(void)const 
+?QueryStrA@STR@@QBEPADXZ
+; public: char * __thiscall STRAU::QueryStrA(void)
+?QueryStrA@STRAU@@QAEPADXZ
+; public: unsigned short * __thiscall MLSZAU::QueryStrW(void)
+?QueryStrW@MLSZAU@@QAEPAGXZ
+; public: unsigned short * __thiscall STRAU::QueryStrW(void)
+?QueryStrW@STRAU@@QAEPAGXZ
+; public: unsigned long __thiscall MULTISZ::QueryStringCount(void)const 
+?QueryStringCount@MULTISZ@@QBEKXZ
+; public: unsigned __int64 __thiscall CEtwTracer::QueryTraceHandle(void)
+?QueryTraceHandle@CEtwTracer@@QAE_KXZ
+; public: unsigned long __thiscall BUFFER_CHAIN_ITEM::QueryUsed(void)const 
+?QueryUsed@BUFFER_CHAIN_ITEM@@QBEKXZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<1,1,3,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<2,1,1,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<3,1,1,1,1,1>::QueueType(void)
+?QueueType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<4,1,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<5,2,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<6,2,1,2,3,3>::QueueType(void)
+?QueueType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<7,2,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<8,2,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<9,2,1,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: bool __thiscall CDataCache<class CDateTime>::Read(class CDateTime &)const 
+?Read@?$CDataCache@VCDateTime@@@@QBE_NAAVCDateTime@@@Z
+; public: void __thiscall CCritSec::ReadLock(void)
+?ReadLock@CCritSec@@QAEXXZ
+; public: void __thiscall CFakeLock::ReadLock(void)
+?ReadLock@CFakeLock@@QAEXXZ
+; public: void __thiscall CLKRHashTable::ReadLock(void)const 
+?ReadLock@CLKRHashTable@@QBEXXZ
+; public: void __thiscall CLKRLinearHashTable::ReadLock(void)const 
+?ReadLock@CLKRLinearHashTable@@QBEXXZ
+; public: void __thiscall CReaderWriterLock2::ReadLock(void)
+?ReadLock@CReaderWriterLock2@@QAEXXZ
+; public: void __thiscall CReaderWriterLock3::ReadLock(void)
+?ReadLock@CReaderWriterLock3@@QAEXXZ
+; public: void __thiscall CReaderWriterLock::ReadLock(void)
+?ReadLock@CReaderWriterLock@@QAEXXZ
+; public: void __thiscall CRtlResource::ReadLock(void)
+?ReadLock@CRtlResource@@QAEXXZ
+; public: void __thiscall CShareLock::ReadLock(void)
+?ReadLock@CShareLock@@QAEXXZ
+; public: void __thiscall CSmallSpinLock::ReadLock(void)
+?ReadLock@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::ReadLock(void)
+?ReadLock@CSpinLock@@QAEXXZ
+; public: bool __thiscall CCritSec::ReadOrWriteLock(void)
+?ReadOrWriteLock@CCritSec@@QAE_NXZ
+; public: bool __thiscall CFakeLock::ReadOrWriteLock(void)
+?ReadOrWriteLock@CFakeLock@@QAE_NXZ
+; public: bool __thiscall CReaderWriterLock3::ReadOrWriteLock(void)
+?ReadOrWriteLock@CReaderWriterLock3@@QAE_NXZ
+; public: bool __thiscall CSpinLock::ReadOrWriteLock(void)
+?ReadOrWriteLock@CSpinLock@@QAE_NXZ
+; public: void __thiscall CCritSec::ReadOrWriteUnlock(bool)
+?ReadOrWriteUnlock@CCritSec@@QAEX_N@Z
+; public: void __thiscall CFakeLock::ReadOrWriteUnlock(bool)
+?ReadOrWriteUnlock@CFakeLock@@QAEX_N@Z
+; public: void __thiscall CReaderWriterLock3::ReadOrWriteUnlock(bool)
+?ReadOrWriteUnlock@CReaderWriterLock3@@QAEX_N@Z
+; public: void __thiscall CSpinLock::ReadOrWriteUnlock(bool)
+?ReadOrWriteUnlock@CSpinLock@@QAEX_N@Z
+; public: void __thiscall CCritSec::ReadUnlock(void)
+?ReadUnlock@CCritSec@@QAEXXZ
+; public: void __thiscall CFakeLock::ReadUnlock(void)
+?ReadUnlock@CFakeLock@@QAEXXZ
+; public: void __thiscall CLKRHashTable::ReadUnlock(void)const 
+?ReadUnlock@CLKRHashTable@@QBEXXZ
+; public: void __thiscall CLKRLinearHashTable::ReadUnlock(void)const 
+?ReadUnlock@CLKRLinearHashTable@@QBEXXZ
+; public: void __thiscall CReaderWriterLock2::ReadUnlock(void)
+?ReadUnlock@CReaderWriterLock2@@QAEXXZ
+; public: void __thiscall CReaderWriterLock3::ReadUnlock(void)
+?ReadUnlock@CReaderWriterLock3@@QAEXXZ
+; public: void __thiscall CReaderWriterLock::ReadUnlock(void)
+?ReadUnlock@CReaderWriterLock@@QAEXXZ
+; public: void __thiscall CRtlResource::ReadUnlock(void)
+?ReadUnlock@CRtlResource@@QAEXXZ
+; public: void __thiscall CShareLock::ReadUnlock(void)
+?ReadUnlock@CShareLock@@QAEXXZ
+; public: void __thiscall CSmallSpinLock::ReadUnlock(void)
+?ReadUnlock@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::ReadUnlock(void)
+?ReadUnlock@CSpinLock@@QAEXXZ
+; private: int __thiscall BUFFER::ReallocStorage(unsigned int)
+?ReallocStorage@BUFFER@@AAEHI@Z
+; public: void __thiscall MULTISZ::RecalcLen(void)
+?RecalcLen@MULTISZ@@QAEXXZ
+; public: void const * __thiscall CLKRHashTable_Iterator::Record(void)const 
+?Record@CLKRHashTable_Iterator@@QBEPBXXZ
+; public: void const * __thiscall CLKRLinearHashTable_Iterator::Record(void)const 
+?Record@CLKRLinearHashTable_Iterator@@QBEPBXXZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<1,1,3,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<2,1,1,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<3,1,1,1,1,1>::Recursion(void)
+?Recursion@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<4,1,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<5,2,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<6,2,1,2,3,3>::Recursion(void)
+?Recursion@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<7,2,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<8,2,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<9,2,1,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
+; public: unsigned long __thiscall CEtwTracer::Register(struct _GUID const *,unsigned short *,unsigned short *)
+?Register@CEtwTracer@@QAEKPBU_GUID@@PAG1@Z
+; public: void __thiscall CSharelock::ReleaseExclusiveLock(void)
+?ReleaseExclusiveLock@CSharelock@@QAEXXZ
+; public: void __thiscall CSharelock::ReleaseShareLock(void)
+?ReleaseShareLock@CSharelock@@QAEXXZ
+; public: static void __stdcall CDoubleList::RemoveEntry(class CListEntry * const)
+?RemoveEntry@CDoubleList@@SGXQAVCListEntry@@@Z
+; public: void __thiscall CLockedDoubleList::RemoveEntry(class CListEntry * const)
+?RemoveEntry@CLockedDoubleList@@QAEXQAVCListEntry@@@Z
+; public: class CListEntry * __thiscall CDoubleList::RemoveHead(void)
+?RemoveHead@CDoubleList@@QAEQAVCListEntry@@XZ
+; public: class CListEntry * __thiscall CLockedDoubleList::RemoveHead(void)
+?RemoveHead@CLockedDoubleList@@QAEQAVCListEntry@@XZ
+; public: static void __stdcall ALLOC_CACHE_HANDLER::RemoveItem(class ALLOC_CACHE_HANDLER *)
+?RemoveItem@ALLOC_CACHE_HANDLER@@SGXPAV1@@Z
+; public: class CListEntry * __thiscall CDoubleList::RemoveTail(void)
+?RemoveTail@CDoubleList@@QAEQAVCListEntry@@XZ
+; public: class CListEntry * __thiscall CLockedDoubleList::RemoveTail(void)
+?RemoveTail@CLockedDoubleList@@QAEQAVCListEntry@@XZ
+RemoveWorkItem
+; public: void __thiscall MLSZAU::Reset(void)
+?Reset@MLSZAU@@QAEXXZ
+; public: void __thiscall MULTISZ::Reset(void)
+?Reset@MULTISZ@@QAEXXZ
+; public: void __thiscall STR::Reset(void)
+?Reset@STR@@QAEXXZ
+; public: void __thiscall STRA::Reset(void)
+?Reset@STRA@@QAEXXZ
+; public: void __thiscall STRAU::Reset(void)
+?Reset@STRAU@@QAEXXZ
+; public: void __thiscall STRU::Reset(void)
+?Reset@STRU@@QAEXXZ
+; public: static int __stdcall ALLOC_CACHE_HANDLER::ResetLookasideCleanupInterval(void)
+?ResetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SGHXZ
+; public: int __thiscall BUFFER::Resize(unsigned int)
+?Resize@BUFFER@@QAEHI@Z
+; public: int __thiscall BUFFER::Resize(unsigned int,unsigned int)
+?Resize@BUFFER@@QAEHII@Z
+; public: long __thiscall STRA::Resize(unsigned long)
+?Resize@STRA@@QAEJK@Z
+; public: long __thiscall STRU::Resize(unsigned long)
+?Resize@STRU@@QAEJK@Z
+; public: int __thiscall STRAU::ResizeW(unsigned long)
+?ResizeW@STRAU@@QAEHK@Z
+; public: int __thiscall STR::SafeCopy(char const *)
+?SafeCopy@STR@@QAEHPBD@Z
+; public: int __thiscall STRAU::SafeCopy(char const *)
+?SafeCopy@STRAU@@QAEHPBD@Z
+; public: int __thiscall STRAU::SafeCopy(unsigned short const *)
+?SafeCopy@STRAU@@QAEHPBG@Z
+ScheduleAdjustTime
+ScheduleWorkItem
+SchedulerInitialize
+SchedulerTerminate
+; public: unsigned short __thiscall CDFTCache::Seconds(void)const 
+?Seconds@CDFTCache@@QBEGXZ
+; public: void __thiscall CLKRHashTable::SetBucketLockSpinCount(unsigned short)
+?SetBucketLockSpinCount@CLKRHashTable@@QAEXG@Z
+; public: void __thiscall CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short)
+?SetBucketLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
+; public: static void __stdcall CCritSec::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CCritSec@@SGXN@Z
+; public: static void __stdcall CFakeLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CFakeLock@@SGXN@Z
+; public: static void __stdcall CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SGXN@Z
+; public: static void __stdcall CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SGXN@Z
+; public: static void __stdcall CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SGXN@Z
+; public: static void __stdcall CRtlResource::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CRtlResource@@SGXN@Z
+; public: static void __stdcall CShareLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CShareLock@@SGXN@Z
+; public: static void __stdcall CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SGXN@Z
+; public: static void __stdcall CSpinLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CSpinLock@@SGXN@Z
+; public: static void __stdcall CCritSec::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CCritSec@@SGXG@Z
+; public: static void __stdcall CFakeLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CFakeLock@@SGXG@Z
+; public: static void __stdcall CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock2@@SGXG@Z
+; public: static void __stdcall CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock3@@SGXG@Z
+; public: static void __stdcall CReaderWriterLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CReaderWriterLock@@SGXG@Z
+; public: static void __stdcall CRtlResource::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CRtlResource@@SGXG@Z
+; public: static void __stdcall CShareLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CShareLock@@SGXG@Z
+; public: static void __stdcall CSmallSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSmallSpinLock@@SGXG@Z
+; public: static void __stdcall CSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSpinLock@@SGXG@Z
+; public: int __thiscall STR::SetLen(unsigned long)
+?SetLen@STR@@QAEHK@Z
+; public: int __thiscall STRA::SetLen(unsigned long)
+?SetLen@STRA@@QAEHK@Z
+; public: int __thiscall STRAU::SetLen(unsigned long)
+?SetLen@STRAU@@QAEHK@Z
+; public: int __thiscall STRU::SetLen(unsigned long)
+?SetLen@STRU@@QAEHK@Z
+; public: void __thiscall ASCLOG_DATETIME_CACHE::SetLocalTime(struct _SYSTEMTIME *)
+?SetLocalTime@ASCLOG_DATETIME_CACHE@@QAEXPAU_SYSTEMTIME@@@Z
+; public: static int __stdcall ALLOC_CACHE_HANDLER::SetLookasideCleanupInterval(void)
+?SetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SGHXZ
+; public: bool __thiscall CCritSec::SetSpinCount(unsigned short)
+?SetSpinCount@CCritSec@@QAE_NG@Z
+; public: static unsigned long __stdcall CCritSec::SetSpinCount(struct _RTL_CRITICAL_SECTION *,unsigned long)
+?SetSpinCount@CCritSec@@SGKPAU_RTL_CRITICAL_SECTION@@K@Z
+; public: bool __thiscall CFakeLock::SetSpinCount(unsigned short)
+?SetSpinCount@CFakeLock@@QAE_NG@Z
+; public: bool __thiscall CReaderWriterLock2::SetSpinCount(unsigned short)
+?SetSpinCount@CReaderWriterLock2@@QAE_NG@Z
+; public: bool __thiscall CReaderWriterLock3::SetSpinCount(unsigned short)
+?SetSpinCount@CReaderWriterLock3@@QAE_NG@Z
+; public: bool __thiscall CReaderWriterLock::SetSpinCount(unsigned short)
+?SetSpinCount@CReaderWriterLock@@QAE_NG@Z
+; public: bool __thiscall CRtlResource::SetSpinCount(unsigned short)
+?SetSpinCount@CRtlResource@@QAE_NG@Z
+; public: bool __thiscall CShareLock::SetSpinCount(unsigned short)
+?SetSpinCount@CShareLock@@QAE_NG@Z
+; public: bool __thiscall CSmallSpinLock::SetSpinCount(unsigned short)
+?SetSpinCount@CSmallSpinLock@@QAE_NG@Z
+; public: bool __thiscall CSpinLock::SetSpinCount(unsigned short)
+?SetSpinCount@CSpinLock@@QAE_NG@Z
+; public: void __thiscall EXTLOG_DATETIME_CACHE::SetSystemTime(struct _SYSTEMTIME *)
+?SetSystemTime@EXTLOG_DATETIME_CACHE@@QAEXPAU_SYSTEMTIME@@@Z
+; public: void __thiscall CLKRHashTable::SetTableLockSpinCount(unsigned short)
+?SetTableLockSpinCount@CLKRHashTable@@QAEXG@Z
+; public: void __thiscall CLKRLinearHashTable::SetTableLockSpinCount(unsigned short)
+?SetTableLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
+; public: int __thiscall CDateTime::SetTime(struct _FILETIME const &)
+?SetTime@CDateTime@@QAEHABU_FILETIME@@@Z
+; public: int __thiscall CDateTime::SetTime(struct _SYSTEMTIME const &)
+?SetTime@CDateTime@@QAEHABU_SYSTEMTIME@@@Z
+; public: void __thiscall BUFFER_CHAIN_ITEM::SetUsed(unsigned long)
+?SetUsed@BUFFER_CHAIN_ITEM@@QAEXK@Z
+; public: void __thiscall BUFFER::SetValid(int)
+?SetValid@BUFFER@@QAEXH@Z
+; public: unsigned long __thiscall CLKRHashTable::Size(void)const 
+?Size@CLKRHashTable@@QBEKXZ
+; public: unsigned long __thiscall CLKRLinearHashTable::Size(void)const 
+?Size@CLKRLinearHashTable@@QBEKXZ
+; private: unsigned char __thiscall CSharelock::SleepWaitingForLock(int)
+?SleepWaitingForLock@CSharelock@@AAEEH@Z
+StringTimeToFileTime
+; public: int __thiscall EVENT_LOG::Success(void)const 
+?Success@EVENT_LOG@@QBEHXZ
+; public: void __thiscall STRA::SyncWithBuffer(void)
+?SyncWithBuffer@STRA@@QAEXXZ
+; public: void __thiscall STRU::SyncWithBuffer(void)
+?SyncWithBuffer@STRU@@QAEXXZ
+SystemTimeToGMT
+SystemTimeToGMTEx
+; public: int __thiscall CEtwTracer::TracePerUrlEnabled(void)
+?TracePerUrlEnabled@CEtwTracer@@QAEHXZ
+; public: bool __thiscall CReaderWriterLock3::TryConvertSharedToExclusive(void)
+?TryConvertSharedToExclusive@CReaderWriterLock3@@QAE_NXZ
+; public: bool __thiscall CCritSec::TryReadLock(void)
+?TryReadLock@CCritSec@@QAE_NXZ
+; public: bool __thiscall CFakeLock::TryReadLock(void)
+?TryReadLock@CFakeLock@@QAE_NXZ
+; public: bool __thiscall CReaderWriterLock2::TryReadLock(void)
+?TryReadLock@CReaderWriterLock2@@QAE_NXZ
+; public: bool __thiscall CReaderWriterLock3::TryReadLock(void)
+?TryReadLock@CReaderWriterLock3@@QAE_NXZ
+; public: bool __thiscall CReaderWriterLock::TryReadLock(void)
+?TryReadLock@CReaderWriterLock@@QAE_NXZ
+; public: bool __thiscall CRtlResource::TryReadLock(void)
+?TryReadLock@CRtlResource@@QAE_NXZ
+; public: bool __thiscall CShareLock::TryReadLock(void)
+?TryReadLock@CShareLock@@QAE_NXZ
+; public: bool __thiscall CSmallSpinLock::TryReadLock(void)
+?TryReadLock@CSmallSpinLock@@QAE_NXZ
+; public: bool __thiscall CSpinLock::TryReadLock(void)
+?TryReadLock@CSpinLock@@QAE_NXZ
+; public: bool __thiscall CCritSec::TryWriteLock(void)
+?TryWriteLock@CCritSec@@QAE_NXZ
+; public: bool __thiscall CFakeLock::TryWriteLock(void)
+?TryWriteLock@CFakeLock@@QAE_NXZ
+; public: bool __thiscall CReaderWriterLock2::TryWriteLock(void)
+?TryWriteLock@CReaderWriterLock2@@QAE_NXZ
+; public: bool __thiscall CReaderWriterLock3::TryWriteLock(void)
+?TryWriteLock@CReaderWriterLock3@@QAE_NXZ
+; public: bool __thiscall CReaderWriterLock::TryWriteLock(void)
+?TryWriteLock@CReaderWriterLock@@QAE_NXZ
+; public: bool __thiscall CRtlResource::TryWriteLock(void)
+?TryWriteLock@CRtlResource@@QAE_NXZ
+; public: bool __thiscall CShareLock::TryWriteLock(void)
+?TryWriteLock@CShareLock@@QAE_NXZ
+; public: bool __thiscall CSmallSpinLock::TryWriteLock(void)
+?TryWriteLock@CSmallSpinLock@@QAE_NXZ
+; public: bool __thiscall CSpinLock::TryWriteLock(void)
+?TryWriteLock@CSpinLock@@QAE_NXZ
+; long __stdcall UlCleanAndCopyUrl(unsigned char *,unsigned long,unsigned long *,unsigned short *,unsigned short * *)
+?UlCleanAndCopyUrl@@YGJPAEKPAKPAGPAPAG@Z
+; public: unsigned long __thiscall CEtwTracer::UnRegister(void)
+?UnRegister@CEtwTracer@@QAEKXZ
+; public: int __thiscall STR::Unescape(void)
+?Unescape@STR@@QAEHXZ
+; public: long __thiscall STRA::Unescape(void)
+?Unescape@STRA@@QAEJXZ
+; public: long __thiscall STRU::Unescape(void)
+?Unescape@STRU@@QAEJXZ
+; public: void __thiscall STR::Unhash(void)
+?Unhash@STR@@QAEXXZ
+; private: void __thiscall ALLOC_CACHE_HANDLER::Unlock(void)
+?Unlock@ALLOC_CACHE_HANDLER@@AAEXXZ
+; public: void __thiscall CLockedDoubleList::Unlock(void)
+?Unlock@CLockedDoubleList@@QAEXXZ
+; public: void __thiscall CLockedSingleList::Unlock(void)
+?Unlock@CLockedSingleList@@QAEXXZ
+; private: void __thiscall HASH_TABLE_BUCKET::Unlock(void)
+?Unlock@HASH_TABLE_BUCKET@@AAEXXZ
+; public: void __thiscall TS_RESOURCE::Unlock(void)
+?Unlock@TS_RESOURCE@@QAEXXZ
+; public: unsigned char __thiscall CSharelock::UpdateMaxSpins(int)
+?UpdateMaxSpins@CSharelock@@QAEEH@Z
+; public: unsigned char __thiscall CSharelock::UpdateMaxUsers(int)
+?UpdateMaxUsers@CSharelock@@QAEEH@Z
+; public: bool __thiscall CLKRHashTable::ValidSignature(void)const 
+?ValidSignature@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::ValidSignature(void)const 
+?ValidSignature@CLKRLinearHashTable@@QBE_NXZ
+; private: void __thiscall BUFFER::VerifyState(void)const 
+?VerifyState@BUFFER@@ABEXXZ
+; private: unsigned char __thiscall CSharelock::WaitForExclusiveLock(int)
+?WaitForExclusiveLock@CSharelock@@AAEEH@Z
+; private: unsigned char __thiscall CSharelock::WaitForShareLock(int)
+?WaitForShareLock@CSharelock@@AAEEH@Z
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<1,1,3,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<2,1,1,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<3,1,1,1,1,1>::WaitType(void)
+?WaitType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<4,1,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<5,2,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<6,2,1,2,3,3>::WaitType(void)
+?WaitType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<7,2,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<8,2,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<9,2,1,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; private: void __thiscall CSharelock::WakeAllSleepers(void)
+?WakeAllSleepers@CSharelock@@AAEXXZ
+; public: bool __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::Write(struct DATETIME_FORMAT_ENTRY const &)
+?Write@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QAE_NABUDATETIME_FORMAT_ENTRY@@@Z
+; public: bool __thiscall CDataCache<class CDateTime>::Write(class CDateTime const &)
+?Write@?$CDataCache@VCDateTime@@@@QAE_NABVCDateTime@@@Z
+; public: void __thiscall CCritSec::WriteLock(void)
+?WriteLock@CCritSec@@QAEXXZ
+; public: void __thiscall CFakeLock::WriteLock(void)
+?WriteLock@CFakeLock@@QAEXXZ
+; public: void __thiscall CLKRHashTable::WriteLock(void)
+?WriteLock@CLKRHashTable@@QAEXXZ
+; public: void __thiscall CLKRLinearHashTable::WriteLock(void)
+?WriteLock@CLKRLinearHashTable@@QAEXXZ
+; public: void __thiscall CReaderWriterLock2::WriteLock(void)
+?WriteLock@CReaderWriterLock2@@QAEXXZ
+; public: void __thiscall CReaderWriterLock3::WriteLock(void)
+?WriteLock@CReaderWriterLock3@@QAEXXZ
+; public: void __thiscall CReaderWriterLock::WriteLock(void)
+?WriteLock@CReaderWriterLock@@QAEXXZ
+; public: void __thiscall CRtlResource::WriteLock(void)
+?WriteLock@CRtlResource@@QAEXXZ
+; public: void __thiscall CShareLock::WriteLock(void)
+?WriteLock@CShareLock@@QAEXXZ
+; public: void __thiscall CSmallSpinLock::WriteLock(void)
+?WriteLock@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::WriteLock(void)
+?WriteLock@CSpinLock@@QAEXXZ
+; public: void __thiscall CCritSec::WriteUnlock(void)
+?WriteUnlock@CCritSec@@QAEXXZ
+; public: void __thiscall CFakeLock::WriteUnlock(void)
+?WriteUnlock@CFakeLock@@QAEXXZ
+; public: void __thiscall CLKRHashTable::WriteUnlock(void)const 
+?WriteUnlock@CLKRHashTable@@QBEXXZ
+; public: void __thiscall CLKRLinearHashTable::WriteUnlock(void)const 
+?WriteUnlock@CLKRLinearHashTable@@QBEXXZ
+; public: void __thiscall CReaderWriterLock2::WriteUnlock(void)
+?WriteUnlock@CReaderWriterLock2@@QAEXXZ
+; public: void __thiscall CReaderWriterLock3::WriteUnlock(void)
+?WriteUnlock@CReaderWriterLock3@@QAEXXZ
+; public: void __thiscall CReaderWriterLock::WriteUnlock(void)
+?WriteUnlock@CReaderWriterLock@@QAEXXZ
+; public: void __thiscall CRtlResource::WriteUnlock(void)
+?WriteUnlock@CRtlResource@@QAEXXZ
+; public: void __thiscall CShareLock::WriteUnlock(void)
+?WriteUnlock@CShareLock@@QAEXXZ
+; public: void __thiscall CSmallSpinLock::WriteUnlock(void)
+?WriteUnlock@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::WriteUnlock(void)
+?WriteUnlock@CSpinLock@@QAEXXZ
+ZapRegistryKey
+; protected: void __thiscall CLKRLinearHashTable_Iterator::_AddRef(int)const 
+?_AddRef@CLKRLinearHashTable_Iterator@@IBEXH@Z
+; private: void __thiscall CLKRLinearHashTable::_AddRefRecord(void const *,int)const 
+?_AddRefRecord@CLKRLinearHashTable@@ABEXPBXH@Z
+; private: static class CNodeClump * __stdcall CLKRLinearHashTable::_AllocateNodeClump(void)
+?_AllocateNodeClump@CLKRLinearHashTable@@CGQAVCNodeClump@@XZ
+; private: class CSegment * __thiscall CLKRLinearHashTable::_AllocateSegment(void)const 
+?_AllocateSegment@CLKRLinearHashTable@@ABEQAVCSegment@@XZ
+; private: static class CDirEntry * __stdcall CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned int)
+?_AllocateSegmentDirectory@CLKRLinearHashTable@@CGQAVCDirEntry@@I@Z
+; private: static class CLKRLinearHashTable * __stdcall CLKRHashTable::_AllocateSubTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,class CLKRHashTable *,bool)
+?_AllocateSubTable@CLKRHashTable@@CGQAVCLKRLinearHashTable@@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAV1@_N@Z
+; private: static class CLKRLinearHashTable * * __stdcall CLKRHashTable::_AllocateSubTableArray(unsigned int)
+?_AllocateSubTableArray@CLKRHashTable@@CGQAPAVCLKRLinearHashTable@@I@Z
+; private: unsigned long __thiscall CLKRLinearHashTable::_Apply(enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE,enum LK_PREDICATE &)
+?_Apply@CLKRLinearHashTable@@AAEKP6G?AW4LK_ACTION@@PBXPAX@Z1W4LK_LOCKTYPE@@AAW4LK_PREDICATE@@@Z
+; private: unsigned long __thiscall CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE,enum LK_PREDICATE &)
+?_ApplyIf@CLKRLinearHashTable@@AAEKP6G?AW4LK_PREDICATE@@PBXPAX@ZP6G?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AAW42@@Z
+; private: class CBucket * __thiscall CLKRLinearHashTable::_Bucket(unsigned long)const 
+?_Bucket@CLKRLinearHashTable@@ABEPAVCBucket@@K@Z
+; private: unsigned long __thiscall CLKRLinearHashTable::_BucketAddress(unsigned long)const 
+?_BucketAddress@CLKRLinearHashTable@@ABEKK@Z
+; private: unsigned long __thiscall CLKRHashTable::_CalcKeyHash(unsigned long)const 
+?_CalcKeyHash@CLKRHashTable@@ABEKK@Z
+; private: unsigned long __thiscall CLKRLinearHashTable::_CalcKeyHash(unsigned long)const 
+?_CalcKeyHash@CLKRLinearHashTable@@ABEKK@Z
+; private: void __thiscall CLKRLinearHashTable::_Clear(bool)
+?_Clear@CLKRLinearHashTable@@AAEX_N@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator *)
+?_CloseIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; private: bool __thiscall CReaderWriterLock2::_CmpExch(long,long)
+?_CmpExch@CReaderWriterLock2@@AAE_NJJ@Z
+; private: bool __thiscall CReaderWriterLock3::_CmpExch(long,long)
+?_CmpExch@CReaderWriterLock3@@AAE_NJJ@Z
+; private: bool __thiscall CReaderWriterLock::_CmpExch(long,long)
+?_CmpExch@CReaderWriterLock@@AAE_NJJ@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Contract(void)
+?_Contract@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@XZ
+; private: static long __stdcall CReaderWriterLock3::_CurrentThreadId(void)
+?_CurrentThreadId@CReaderWriterLock3@@CGJXZ
+; private: static long __stdcall CSmallSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSmallSpinLock@@CGJXZ
+; private: static long __stdcall CSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSpinLock@@CGJXZ
+; private: unsigned long __thiscall CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *,enum LK_PREDICATE &)
+?_DeleteIf@CLKRLinearHashTable@@AAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1AAW42@@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_DeleteKey(unsigned long,unsigned long)
+?_DeleteKey@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@KK@Z
+; private: bool __thiscall CLKRLinearHashTable::_DeleteNode(class CBucket *,class CNodeClump * &,class CNodeClump * &,int &)
+?_DeleteNode@CLKRLinearHashTable@@AAE_NPAVCBucket@@AAPAVCNodeClump@@1AAH@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_DeleteRecord(void const *,unsigned long)
+?_DeleteRecord@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PBXK@Z
+; private: bool __thiscall CLKRLinearHashTable::_EqualKeys(unsigned long,unsigned long)const 
+?_EqualKeys@CLKRLinearHashTable@@ABE_NKK@Z
+; private: bool __thiscall CLKRLinearHashTable::_Erase(class CLKRLinearHashTable_Iterator &,unsigned long)
+?_Erase@CLKRLinearHashTable@@AAE_NAAVCLKRLinearHashTable_Iterator@@K@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Expand(void)
+?_Expand@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@XZ
+; private: unsigned long const  __thiscall CLKRHashTable::_ExtractKey(void const *)const 
+?_ExtractKey@CLKRHashTable@@ABE?BKPBX@Z
+; private: unsigned long const  __thiscall CLKRLinearHashTable::_ExtractKey(void const *)const 
+?_ExtractKey@CLKRLinearHashTable@@ABE?BKPBX@Z
+; private: class CBucket * __thiscall CLKRLinearHashTable::_FindBucket(unsigned long,bool)const 
+?_FindBucket@CLKRLinearHashTable@@ABEPAVCBucket@@K_N@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_FindKey(unsigned long,unsigned long,void const * *,class CLKRLinearHashTable_Iterator *)const 
+?_FindKey@CLKRLinearHashTable@@ABE?AW4LK_RETCODE@@KKPAPBXPAVCLKRLinearHashTable_Iterator@@@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_FindRecord(void const *,unsigned long)const 
+?_FindRecord@CLKRLinearHashTable@@ABE?AW4LK_RETCODE@@PBXK@Z
+; private: static bool __stdcall CLKRLinearHashTable::_FreeNodeClump(class CNodeClump *)
+?_FreeNodeClump@CLKRLinearHashTable@@CG_NPAVCNodeClump@@@Z
+; private: bool __thiscall CLKRLinearHashTable::_FreeSegment(class CSegment *)const 
+?_FreeSegment@CLKRLinearHashTable@@ABE_NPAVCSegment@@@Z
+; private: bool __thiscall CLKRLinearHashTable::_FreeSegmentDirectory(void)
+?_FreeSegmentDirectory@CLKRLinearHashTable@@AAE_NXZ
+; private: static bool __stdcall CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable *)
+?_FreeSubTable@CLKRHashTable@@CG_NPAVCLKRLinearHashTable@@@Z
+; private: static bool __stdcall CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * *)
+?_FreeSubTableArray@CLKRHashTable@@CG_NPAPAVCLKRLinearHashTable@@@Z
+; private: unsigned long __thiscall CLKRLinearHashTable::_H0(unsigned long)const 
+?_H0@CLKRLinearHashTable@@ABEKK@Z
+; private: static unsigned long __stdcall CLKRLinearHashTable::_H0(unsigned long,unsigned long)
+?_H0@CLKRLinearHashTable@@CGKKK@Z
+; private: unsigned long __thiscall CLKRLinearHashTable::_H1(unsigned long)const 
+?_H1@CLKRLinearHashTable@@ABEKK@Z
+; private: static unsigned long __stdcall CLKRLinearHashTable::_H1(unsigned long,unsigned long)
+?_H1@CLKRLinearHashTable@@CGKKK@Z
+; protected: bool __thiscall CLKRHashTable_Iterator::_Increment(bool)
+?_Increment@CLKRHashTable_Iterator@@IAE_N_N@Z
+; protected: bool __thiscall CLKRLinearHashTable_Iterator::_Increment(bool)
+?_Increment@CLKRLinearHashTable_Iterator@@IAE_N_N@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Initialize(unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),char const *,double,unsigned long)
+?_Initialize@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@P6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX0H@ZPBDNK@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator *)
+?_InitializeIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InsertRecord(void const *,unsigned long,bool,class CLKRLinearHashTable_Iterator *)
+?_InsertRecord@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PBXK_NPAVCLKRLinearHashTable_Iterator@@@Z
+; private: void __thiscall CLKRHashTable::_InsertThisIntoGlobalList(void)
+?_InsertThisIntoGlobalList@CLKRHashTable@@AAEXXZ
+; private: void __thiscall CLKRLinearHashTable::_InsertThisIntoGlobalList(void)
+?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AAEXXZ
+; private: bool __thiscall CSpinLock::_IsLocked(void)const 
+?_IsLocked@CSpinLock@@ABE_NXZ
+; private: int __thiscall CLKRLinearHashTable::_IsNodeCompact(class CBucket * const)const 
+?_IsNodeCompact@CLKRLinearHashTable@@ABEHQAVCBucket@@@Z
+; private: bool __thiscall CLKRHashTable::_IsValidIterator(class CLKRHashTable_Iterator const &)const 
+?_IsValidIterator@CLKRHashTable@@ABE_NABVCLKRHashTable_Iterator@@@Z
+; private: bool __thiscall CLKRLinearHashTable::_IsValidIterator(class CLKRLinearHashTable_Iterator const &)const 
+?_IsValidIterator@CLKRLinearHashTable@@ABE_NABVCLKRLinearHashTable_Iterator@@@Z
+; private: void __thiscall CSpinLock::_Lock(void)
+?_Lock@CSpinLock@@AAEXXZ
+; private: void __thiscall CReaderWriterLock2::_LockSpin(bool)
+?_LockSpin@CReaderWriterLock2@@AAEX_N@Z
+; private: void __thiscall CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE)
+?_LockSpin@CReaderWriterLock3@@AAEXW4SPIN_TYPE@1@@Z
+; private: void __thiscall CReaderWriterLock::_LockSpin(bool)
+?_LockSpin@CReaderWriterLock@@AAEX_N@Z
+; private: void __thiscall CSmallSpinLock::_LockSpin(void)
+?_LockSpin@CSmallSpinLock@@AAEXXZ
+; private: void __thiscall CSpinLock::_LockSpin(void)
+?_LockSpin@CSpinLock@@AAEXXZ
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_MergeRecordSets(class CBucket *,class CNodeClump *,class CNodeClump *)
+?_MergeRecordSets@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCBucket@@PAVCNodeClump@@1@Z
+; private: static enum LK_PREDICATE  __stdcall CLKRLinearHashTable::_PredTrue(void const *,void *)
+?_PredTrue@CLKRLinearHashTable@@CG?AW4LK_PREDICATE@@PBXPAX@Z
+; private: void __thiscall CReaderWriterLock2::_ReadLockSpin(void)
+?_ReadLockSpin@CReaderWriterLock2@@AAEXXZ
+; private: void __thiscall CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE)
+?_ReadLockSpin@CReaderWriterLock3@@AAEXW4SPIN_TYPE@1@@Z
+; private: void __thiscall CReaderWriterLock::_ReadLockSpin(void)
+?_ReadLockSpin@CReaderWriterLock@@AAEXXZ
+; protected: static void __stdcall CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadMemoryBarrier(void)
+?_ReadMemoryBarrier@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@KGXXZ
+; protected: static void __stdcall CDataCache<class CDateTime>::_ReadMemoryBarrier(void)
+?_ReadMemoryBarrier@?$CDataCache@VCDateTime@@@@KGXXZ
+; private: bool __thiscall CLKRLinearHashTable::_ReadOrWriteLock(void)const 
+?_ReadOrWriteLock@CLKRLinearHashTable@@ABE_NXZ
+; private: void __thiscall CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const 
+?_ReadOrWriteUnlock@CLKRLinearHashTable@@ABEX_N@Z
+; protected: long __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadSequence(void)const 
+?_ReadSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IBEJXZ
+; protected: long __thiscall CDataCache<class CDateTime>::_ReadSequence(void)const 
+?_ReadSequence@?$CDataCache@VCDateTime@@@@IBEJXZ
+; private: void __thiscall CLKRHashTable::_RemoveThisFromGlobalList(void)
+?_RemoveThisFromGlobalList@CLKRHashTable@@AAEXXZ
+; private: void __thiscall CLKRLinearHashTable::_RemoveThisFromGlobalList(void)
+?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AAEXXZ
+; private: unsigned long __thiscall CLKRLinearHashTable::_SegIndex(unsigned long)const 
+?_SegIndex@CLKRLinearHashTable@@ABEKK@Z
+; private: class CSegment * & __thiscall CLKRLinearHashTable::_Segment(unsigned long)const 
+?_Segment@CLKRLinearHashTable@@ABEAAPAVCSegment@@K@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE,unsigned long)
+?_SetSegVars@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@W4LK_TABLESIZE@@K@Z
+; protected: long __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::_SetSequence(long)
+?_SetSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IAEJJ@Z
+; protected: long __thiscall CDataCache<class CDateTime>::_SetSequence(long)
+?_SetSequence@?$CDataCache@VCDateTime@@@@IAEJJ@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_SplitRecordSet(class CNodeClump *,class CNodeClump *,unsigned long,unsigned long,unsigned long,class CNodeClump *)
+?_SplitRecordSet@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCNodeClump@@0KKK0@Z
+; private: class CLKRLinearHashTable * __thiscall CLKRHashTable::_SubTable(unsigned long)const 
+?_SubTable@CLKRHashTable@@ABEPAVCLKRLinearHashTable@@K@Z
+; private: int __thiscall CLKRHashTable::_SubTableIndex(class CLKRLinearHashTable *)const 
+?_SubTableIndex@CLKRHashTable@@ABEHPAVCLKRLinearHashTable@@@Z
+; private: bool __thiscall CSmallSpinLock::_TryLock(void)
+?_TryLock@CSmallSpinLock@@AAE_NXZ
+; private: bool __thiscall CSpinLock::_TryLock(void)
+?_TryLock@CSpinLock@@AAE_NXZ
+; private: bool __thiscall CReaderWriterLock2::_TryReadLock(void)
+?_TryReadLock@CReaderWriterLock2@@AAE_NXZ
+; private: bool __thiscall CReaderWriterLock3::_TryReadLock(void)
+?_TryReadLock@CReaderWriterLock3@@AAE_NXZ
+; private: bool __thiscall CReaderWriterLock::_TryReadLock(void)
+?_TryReadLock@CReaderWriterLock@@AAE_NXZ
+; private: bool __thiscall CReaderWriterLock3::_TryReadLockRecursive(void)
+?_TryReadLockRecursive@CReaderWriterLock3@@AAE_NXZ
+; private: bool __thiscall CReaderWriterLock3::_TryWriteLock2(void)
+?_TryWriteLock2@CReaderWriterLock3@@AAE_NXZ
+; private: bool __thiscall CReaderWriterLock2::_TryWriteLock(long)
+?_TryWriteLock@CReaderWriterLock2@@AAE_NJ@Z
+; private: bool __thiscall CReaderWriterLock3::_TryWriteLock(long)
+?_TryWriteLock@CReaderWriterLock3@@AAE_NJ@Z
+; private: bool __thiscall CReaderWriterLock::_TryWriteLock(void)
+?_TryWriteLock@CReaderWriterLock@@AAE_NXZ
+; private: void __thiscall CSpinLock::_Unlock(void)
+?_Unlock@CSpinLock@@AAEXXZ
+; private: void __thiscall CReaderWriterLock2::_WriteLockSpin(void)
+?_WriteLockSpin@CReaderWriterLock2@@AAEXXZ
+; private: void __thiscall CReaderWriterLock3::_WriteLockSpin(void)
+?_WriteLockSpin@CReaderWriterLock3@@AAEXXZ
+; private: void __thiscall CReaderWriterLock::_WriteLockSpin(void)
+?_WriteLockSpin@CReaderWriterLock@@AAEXXZ
+; long const * const  `public: static long const * __stdcall CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
+?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SGPBJXZ@4QBJB
+; private: static struct _RTL_CRITICAL_SECTION  ALLOC_CACHE_HANDLER::sm_csItems
+?sm_csItems@ALLOC_CACHE_HANDLER@@0U_RTL_CRITICAL_SECTION@@A DATA
+; protected: static double  CCritSec::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CCritSec@@1NA DATA
+; protected: static double  CFakeLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CFakeLock@@1NA DATA
+; protected: static double  CReaderWriterLock2::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CReaderWriterLock2@@1NA DATA
+; protected: static double  CReaderWriterLock3::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CReaderWriterLock3@@1NA DATA
+; protected: static double  CReaderWriterLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CReaderWriterLock@@1NA DATA
+; protected: static double  CRtlResource::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CRtlResource@@1NA DATA
+; protected: static double  CShareLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CShareLock@@1NA DATA
+; protected: static double  CSmallSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
+; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA DATA
+; private: static int  ALLOC_CACHE_HANDLER::sm_fInitCsItems
+?sm_fInitCsItems@ALLOC_CACHE_HANDLER@@0HA DATA
+; private: static void *  ALLOC_CACHE_HANDLER::sm_hTimer
+?sm_hTimer@ALLOC_CACHE_HANDLER@@0PAXA DATA
+; private: static struct _LIST_ENTRY  ALLOC_CACHE_HANDLER::sm_lItemsHead
+?sm_lItemsHead@ALLOC_CACHE_HANDLER@@0U_LIST_ENTRY@@A DATA
+; private: static class CLockedDoubleList  CLKRHashTable::sm_llGlobalList
+?sm_llGlobalList@CLKRHashTable@@0VCLockedDoubleList@@A DATA
+; private: static class CLockedDoubleList  CLKRLinearHashTable::sm_llGlobalList
+?sm_llGlobalList@CLKRLinearHashTable@@0VCLockedDoubleList@@A DATA
+; private: static long  ALLOC_CACHE_HANDLER::sm_nFillPattern
+?sm_nFillPattern@ALLOC_CACHE_HANDLER@@0JA DATA
+; protected: static class ALLOC_CACHE_HANDLER *  CLKRLinearHashTable::sm_palloc
+?sm_palloc@CLKRLinearHashTable@@1PAVALLOC_CACHE_HANDLER@@A DATA
+; protected: static unsigned short  CCritSec::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CCritSec@@1GA DATA
+; protected: static unsigned short  CFakeLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CFakeLock@@1GA DATA
+; protected: static unsigned short  CReaderWriterLock2::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CReaderWriterLock2@@1GA DATA
+; protected: static unsigned short  CReaderWriterLock3::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CReaderWriterLock3@@1GA DATA
+; protected: static unsigned short  CReaderWriterLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CReaderWriterLock@@1GA DATA
+; protected: static unsigned short  CRtlResource::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CRtlResource@@1GA DATA
+; protected: static unsigned short  CShareLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CShareLock@@1GA DATA
+; protected: static unsigned short  CSmallSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
+; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
+CreateRefTraceLog
+CreateTraceLog
+DestroyRefTraceLog
+DestroyTraceLog
+DllMain
+_GetAllocCounters@0
+GetCurrentTimeInMilliseconds
+GetCurrentTimeInSeconds
+GetQueryType
+IISCaptureStackBackTrace
+_IISGetCurrentTime@8
+IISGetPlatformType
+IISInitializeCriticalSection
+IISSetCriticalSectionSpinCount
+IisCalloc
+IisFree
+IisHeap
+IisMalloc
+IisReAlloc
+InetAcquireResourceExclusive
+InetAcquireResourceShared
+InetConvertExclusiveToShared
+InetConvertSharedToExclusive
+InetDeleteResource
+InetInitializeResource
+InetReleaseResource
+InitializeIISRTL
+InitializeSecondsTimer
+IsNumberInUnicodeList
+LKRHashTableInit
+LKRHashTableUninit
+MIDL_user_allocate
+MIDL_user_free
+MonBuildInstanceDefinition
+PuCloseDbgPrintFile
+PuCreateDebugPrintsObject
+PuDbgAssertFailed
+PuDbgCaptureContext
+PuDbgCreateEvent
+PuDbgCreateMutex
+PuDbgCreateSemaphore
+PuDbgDump
+PuDbgPrint
+PuDbgPrintW
+PuDeleteDebugPrintsObject
+PuLoadDebugFlagsFromReg
+PuLoadDebugFlagsFromRegStr
+ResetTraceLog
+RpcBindHandleForServer
+RpcBindHandleFree
+RpcBindHandleOverLpc
+RpcBindHandleOverNamedPipe
+RpcBindHandleOverTcpIp
+RpcuFindProtocolToUse
+TerminateIISRTL
+TerminateSecondsTimer
+WriteRefTraceLog
+WriteRefTraceLogEx
+WriteTraceLog
+_stristr@8
diff --git a/mingw-w64-crt/lib64/wiisui.def b/mingw-w64-crt/lib64/wiisui.def
index 2c6c545..317ca6f 100644
--- a/mingw-w64-crt/lib64/wiisui.def
+++ b/mingw-w64-crt/lib64/wiisui.def
@@ -1,1901 +1,1901 @@
-; 
-; Exports of file iisui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iisui.dll
-EXPORTS
-InitCommonDll
-; public: __thiscall CAccessEntry::CAccessEntry(class CAccessEntry &)
-??0CAccessEntry@@QAE@AAV0@@Z
-; public: __thiscall CAccessEntry::CAccessEntry(unsigned long,void *,unsigned short const *,int)
-??0CAccessEntry@@QAE@KPAXPBGH@Z
-; public: __thiscall CAccessEntry::CAccessEntry(void *,int)
-??0CAccessEntry@@QAE@PAXH@Z
-; public: __thiscall CAccessEntry::CAccessEntry(void *,unsigned short const *,unsigned short const *)
-??0CAccessEntry@@QAE@PAXPBG1@Z
-; public: __thiscall CBlob::CBlob(class CBlob const &)
-??0CBlob@@QAE@ABV0@@Z
-; public: __thiscall CBlob::CBlob(unsigned long,unsigned char *,int)
-??0CBlob@@QAE@KPAEH@Z
-; public: __thiscall CBlob::CBlob(void)
-??0CBlob@@QAE@XZ
-; public: __thiscall CComAuthInfo::CComAuthInfo(class CComAuthInfo &)
-??0CComAuthInfo@@QAE@AAV0@@Z
-; public: __thiscall CComAuthInfo::CComAuthInfo(class CComAuthInfo *)
-??0CComAuthInfo@@QAE@PAV0@@Z
-; public: __thiscall CComAuthInfo::CComAuthInfo(unsigned short const *,unsigned short const *,unsigned short const *)
-??0CComAuthInfo@@QAE@PBG00@Z
-; public: __thiscall CConfirmDlg::CConfirmDlg(class CWnd *)
-??0CConfirmDlg@@QAE@PAVCWnd@@@Z
-; public: __thiscall CDirBrowseDlg::CDirBrowseDlg(class CDirBrowseDlg const &)
-??0CDirBrowseDlg@@QAE@ABV0@@Z
-; public: __thiscall CDirBrowseDlg::CDirBrowseDlg(class CWnd *,unsigned short const *)
-??0CDirBrowseDlg@@QAE@PAVCWnd@@PBG@Z
-; public: __thiscall CDownButton::CDownButton(void)
-??0CDownButton@@QAE@XZ
-; public: __thiscall CEmphasizedDialog::CEmphasizedDialog(unsigned int,class CWnd *)
-??0CEmphasizedDialog@@QAE@IPAVCWnd@@@Z
-; public: __thiscall CEmphasizedDialog::CEmphasizedDialog(unsigned short const *,class CWnd *)
-??0CEmphasizedDialog@@QAE@PBGPAVCWnd@@@Z
-; public: __thiscall CEmphasizedDialog::CEmphasizedDialog(void)
-??0CEmphasizedDialog@@QAE@XZ
-; public: __thiscall CError::CError(long)
-??0CError@@QAE@J@Z
-; public: __thiscall CError::CError(unsigned long)
-??0CError@@QAE@K@Z
-; public: __thiscall CError::CError(void)
-??0CError@@QAE@XZ
-; public: __thiscall CGetComputer::CGetComputer(class CGetComputer const &)
-??0CGetComputer@@QAE@ABV0@@Z
-; public: __thiscall CGetComputer::CGetComputer(void)
-??0CGetComputer@@QAE@XZ
-; public: __thiscall CGetUsers::CGetUsers(unsigned short const *,int)
-??0CGetUsers@@QAE@PBGH@Z
-; public: __thiscall CHeaderListBox::CHeaderListBox(unsigned long,unsigned short const *)
-??0CHeaderListBox@@QAE@KPBG@Z
-; public: __thiscall CIISAppPool::CIISAppPool(class CIISAppPool &)
-??0CIISAppPool@@QAE@AAV0@@Z
-; public: __thiscall CIISAppPool::CIISAppPool(class CComAuthInfo *,unsigned short const *)
-??0CIISAppPool@@QAE@PAVCComAuthInfo@@PBG@Z
-; public: __thiscall CIISApplication::CIISApplication(class CIISApplication &)
-??0CIISApplication@@QAE@AAV0@@Z
-; public: __thiscall CIISApplication::CIISApplication(class CComAuthInfo *,unsigned short const *)
-??0CIISApplication@@QAE@PAVCComAuthInfo@@PBG@Z
-; public: __thiscall CIISInterface::CIISInterface(class CIISInterface &)
-??0CIISInterface@@QAE@AAV0@@Z
-; public: __thiscall CIISInterface::CIISInterface(class CComAuthInfo *,long)
-??0CIISInterface@@QAE@PAVCComAuthInfo@@J@Z
-; public: __thiscall CIISSvcControl::CIISSvcControl(class CIISSvcControl &)
-??0CIISSvcControl@@QAE@AAV0@@Z
-; public: __thiscall CIISSvcControl::CIISSvcControl(class CIISSvcControl *)
-??0CIISSvcControl@@QAE@PAV0@@Z
-; public: __thiscall CIISSvcControl::CIISSvcControl(class CComAuthInfo *)
-??0CIISSvcControl@@QAE@PAVCComAuthInfo@@@Z
-; public: __thiscall CIISWizardBookEnd::CIISWizardBookEnd(unsigned int,unsigned int,unsigned int,unsigned int,unsigned int)
-??0CIISWizardBookEnd@@QAE@IIIII@Z
-; public: __thiscall CIISWizardBookEnd::CIISWizardBookEnd(long *,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int)
-??0CIISWizardBookEnd@@QAE@PAJIIIIIII@Z
-; public: __thiscall CIISWizardPage::CIISWizardPage(unsigned int,unsigned int,int,unsigned int,unsigned int)
-??0CIISWizardPage@@QAE@IIHII@Z
-; public: __thiscall CIISWizardSheet::CIISWizardSheet(unsigned int,unsigned int,unsigned long,unsigned long)
-??0CIISWizardSheet@@QAE@IIKK@Z
-; public: __thiscall CILong::CILong(long)
-??0CILong@@QAE@J@Z
-; public: __thiscall CILong::CILong(unsigned short const *)
-??0CILong@@QAE@PBG@Z
-; public: __thiscall CILong::CILong(void)
-??0CILong@@QAE@XZ
-; protected: __thiscall CINumber::CINumber(void)
-??0CINumber@@IAE@XZ
-; public: __thiscall CIPAccessDescriptor::CIPAccessDescriptor(class CIPAccessDescriptor const &)
-??0CIPAccessDescriptor@@QAE@ABV0@@Z
-; public: __thiscall CIPAccessDescriptor::CIPAccessDescriptor(int)
-??0CIPAccessDescriptor@@QAE@H@Z
-; public: __thiscall CIPAccessDescriptor::CIPAccessDescriptor(int,unsigned long,unsigned long,int)
-??0CIPAccessDescriptor@@QAE@HKKH@Z
-; public: __thiscall CIPAccessDescriptor::CIPAccessDescriptor(int,unsigned short const *)
-??0CIPAccessDescriptor@@QAE@HPBG@Z
-; public: __thiscall CIPAddress::CIPAddress(class CIPAddress const &)
-??0CIPAddress@@QAE@ABV0@@Z
-; public: __thiscall CIPAddress::CIPAddress(class CString const &)
-??0CIPAddress@@QAE@ABVCString@@@Z
-; public: __thiscall CIPAddress::CIPAddress(unsigned char,unsigned char,unsigned char,unsigned char)
-??0CIPAddress@@QAE@EEEE@Z
-; public: __thiscall CIPAddress::CIPAddress(unsigned long,int)
-??0CIPAddress@@QAE@KH@Z
-; public: __thiscall CIPAddress::CIPAddress(unsigned char *,int)
-??0CIPAddress@@QAE@PAEH@Z
-; public: __thiscall CIPAddress::CIPAddress(unsigned short const *,int)
-??0CIPAddress@@QAE@PBGH@Z
-; public: __thiscall CIPAddress::CIPAddress(void)
-??0CIPAddress@@QAE@XZ
-; public: __thiscall CInheritanceDlg::CInheritanceDlg(int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned short const *,int,class CComAuthInfo *,unsigned short const *,class CWnd *)
-??0CInheritanceDlg@@QAE@HKKKKPBGHPAVCComAuthInfo@@0PAVCWnd@@@Z
-; public: __thiscall CInheritanceDlg::CInheritanceDlg(unsigned long,int,class CComAuthInfo *,unsigned short const *,unsigned short const *,class CWnd *)
-??0CInheritanceDlg@@QAE@KHPAVCComAuthInfo@@PBG1PAVCWnd@@@Z
-; public: __thiscall CInheritanceDlg::CInheritanceDlg(unsigned long,int,class CComAuthInfo *,unsigned short const *,class CStringList &,unsigned short const *,class CWnd *)
-??0CInheritanceDlg@@QAE@KHPAVCComAuthInfo@@PBGAAVCStringList@@1PAVCWnd@@@Z
-; public: __thiscall CMappedBitmapButton::CMappedBitmapButton(void)
-??0CMappedBitmapButton@@QAE@XZ
-; public: __thiscall CMetaBack::CMetaBack(class CMetaBack &)
-??0CMetaBack@@QAE@AAV0@@Z
-; public: __thiscall CMetaBack::CMetaBack(class CComAuthInfo *)
-??0CMetaBack@@QAE@PAVCComAuthInfo@@@Z
-; public: __thiscall CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator &)
-??0CMetaEnumerator@@QAE@AAV0@@Z
-; public: __thiscall CMetaEnumerator::CMetaEnumerator(int,class CMetaKey *)
-??0CMetaEnumerator@@QAE@HPAVCMetaKey@@@Z
-; public: __thiscall CMetaEnumerator::CMetaEnumerator(class CComAuthInfo *,unsigned short const *,unsigned long)
-??0CMetaEnumerator@@QAE@PAVCComAuthInfo@@PBGK@Z
-; public: __thiscall CMetaEnumerator::CMetaEnumerator(class CMetaInterface *,unsigned short const *,unsigned long)
-??0CMetaEnumerator@@QAE@PAVCMetaInterface@@PBGK@Z
-; protected: __thiscall CMetaInterface::CMetaInterface(class CMetaInterface *)
-??0CMetaInterface@@IAE@PAV0@@Z
-; protected: __thiscall CMetaInterface::CMetaInterface(class CComAuthInfo *)
-??0CMetaInterface@@IAE@PAVCComAuthInfo@@@Z
-; public: __thiscall CMetaInterface::CMetaInterface(class CMetaInterface &)
-??0CMetaInterface@@QAE@AAV0@@Z
-; public: __thiscall CMetaKey::CMetaKey(class CMetaKey &)
-??0CMetaKey@@QAE@AAV0@@Z
-; public: __thiscall CMetaKey::CMetaKey(int,class CMetaKey *)
-??0CMetaKey@@QAE@HPAV0@@Z
-; public: __thiscall CMetaKey::CMetaKey(class CComAuthInfo *)
-??0CMetaKey@@QAE@PAVCComAuthInfo@@@Z
-; public: __thiscall CMetaKey::CMetaKey(class CComAuthInfo *,unsigned short const *,unsigned long,unsigned long)
-??0CMetaKey@@QAE@PAVCComAuthInfo@@PBGKK@Z
-; public: __thiscall CMetaKey::CMetaKey(class CMetaInterface *)
-??0CMetaKey@@QAE@PAVCMetaInterface@@@Z
-; public: __thiscall CMetaKey::CMetaKey(class CMetaInterface *,unsigned short const *,unsigned long,unsigned long)
-??0CMetaKey@@QAE@PAVCMetaInterface@@PBGKK@Z
-; public: __thiscall CMetabasePath::CMetabasePath(class CMetabasePath const &)
-??0CMetabasePath@@QAE@ABV0@@Z
-; public: __thiscall CMetabasePath::CMetabasePath(int,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
-??0CMetabasePath@@QAE@HPBG000@Z
-; public: __thiscall CMetabasePath::CMetabasePath(unsigned short const *,unsigned long,unsigned short const *,unsigned short const *)
-??0CMetabasePath@@QAE@PBGK00@Z
-; protected: __thiscall CODLBox::CODLBox(void)
-??0CODLBox@@IAE@XZ
-; public: __thiscall CObListIter::CObListIter(class CObListPlus const &)
-??0CObListIter@@QAE@ABVCObListPlus@@@Z
-; public: __thiscall CObListPlus::CObListPlus(int)
-??0CObListPlus@@QAE@H@Z
-; protected: __thiscall CObjHelper::CObjHelper(void)
-??0CObjHelper@@IAE@XZ
-; public: __thiscall CObjHelper::CObjHelper(class CObjHelper const &)
-??0CObjHelper@@QAE@ABV0@@Z
-; public: __thiscall CObjectPlus::CObjectPlus(void)
-??0CObjectPlus@@QAE@XZ
-; public: __thiscall CRMCComboBox::CRMCComboBox(void)
-??0CRMCComboBox@@QAE@XZ
-; public: __thiscall CRMCListBox::CRMCListBox(void)
-??0CRMCListBox@@QAE@XZ
-; public: __thiscall CRMCListBoxDrawStruct::CRMCListBoxDrawStruct(class CDC *,struct tagRECT *,int,unsigned long,int,class CRMCListBoxResources const *)
-??0CRMCListBoxDrawStruct@@QAE@PAVCDC@@PAUtagRECT@@HKHPBVCRMCListBoxResources@@@Z
-; public: __thiscall CRMCListBoxHeader::CRMCListBoxHeader(unsigned long)
-??0CRMCListBoxHeader@@QAE@K@Z
-; public: __thiscall CRMCListBoxResources::CRMCListBoxResources(int,int,unsigned long)
-??0CRMCListBoxResources@@QAE@HHK@Z
-; public: __thiscall CStrPassword::CStrPassword(class CStrPassword &)
-??0CStrPassword@@QAE@AAV0@@Z
-; public: __thiscall CStrPassword::CStrPassword(unsigned short *)
-??0CStrPassword@@QAE@PAG@Z
-; public: __thiscall CStrPassword::CStrPassword(unsigned short const *)
-??0CStrPassword@@QAE@PBG@Z
-; public: __thiscall CStrPassword::CStrPassword(void)
-??0CStrPassword@@QAE@XZ
-; public: __thiscall CStringListEx::CStringListEx(int)
-??0CStringListEx@@QAE@H@Z
-; public: __thiscall CUpButton::CUpButton(void)
-??0CUpButton@@QAE@XZ
-; protected: __thiscall CWamInterface::CWamInterface(class CWamInterface *)
-??0CWamInterface@@IAE@PAV0@@Z
-; protected: __thiscall CWamInterface::CWamInterface(class CComAuthInfo *)
-??0CWamInterface@@IAE@PAVCComAuthInfo@@@Z
-; public: __thiscall CWamInterface::CWamInterface(class CWamInterface &)
-??0CWamInterface@@QAE@AAV0@@Z
-; public: virtual __thiscall CAccessEntry::~CAccessEntry(void)
-??1CAccessEntry@@UAE@XZ
-; public: __thiscall CBlob::~CBlob(void)
-??1CBlob@@QAE@XZ
-; public: __thiscall CComAuthInfo::~CComAuthInfo(void)
-??1CComAuthInfo@@QAE@XZ
-; public: virtual __thiscall CConfirmDlg::~CConfirmDlg(void)
-??1CConfirmDlg@@UAE@XZ
-; public: __thiscall CDirBrowseDlg::~CDirBrowseDlg(void)
-??1CDirBrowseDlg@@QAE@XZ
-; public: virtual __thiscall CDownButton::~CDownButton(void)
-??1CDownButton@@UAE@XZ
-; public: virtual __thiscall CEmphasizedDialog::~CEmphasizedDialog(void)
-??1CEmphasizedDialog@@UAE@XZ
-; public: __thiscall CError::~CError(void)
-??1CError@@QAE@XZ
-; public: __thiscall CGetComputer::~CGetComputer(void)
-??1CGetComputer@@QAE@XZ
-; public: virtual __thiscall CGetUsers::~CGetUsers(void)
-??1CGetUsers@@UAE@XZ
-; public: virtual __thiscall CHeaderListBox::~CHeaderListBox(void)
-??1CHeaderListBox@@UAE@XZ
-; public: virtual __thiscall CIISAppPool::~CIISAppPool(void)
-??1CIISAppPool@@UAE@XZ
-; public: virtual __thiscall CIISApplication::~CIISApplication(void)
-??1CIISApplication@@UAE@XZ
-; public: __thiscall CIISInterface::~CIISInterface(void)
-??1CIISInterface@@QAE@XZ
-; public: virtual __thiscall CIISSvcControl::~CIISSvcControl(void)
-??1CIISSvcControl@@UAE@XZ
-; public: virtual __thiscall CIISWizardBookEnd::~CIISWizardBookEnd(void)
-??1CIISWizardBookEnd@@UAE@XZ
-; public: virtual __thiscall CIISWizardPage::~CIISWizardPage(void)
-??1CIISWizardPage@@UAE@XZ
-; public: virtual __thiscall CIISWizardSheet::~CIISWizardSheet(void)
-??1CIISWizardSheet@@UAE@XZ
-; public: __thiscall CILong::~CILong(void)
-??1CILong@@QAE@XZ
-; protected: __thiscall CINumber::~CINumber(void)
-??1CINumber@@IAE@XZ
-; public: virtual __thiscall CIPAccessDescriptor::~CIPAccessDescriptor(void)
-??1CIPAccessDescriptor@@UAE@XZ
-; public: virtual __thiscall CIPAddress::~CIPAddress(void)
-??1CIPAddress@@UAE@XZ
-; public: virtual __thiscall CInheritanceDlg::~CInheritanceDlg(void)
-??1CInheritanceDlg@@UAE@XZ
-; public: virtual __thiscall CMappedBitmapButton::~CMappedBitmapButton(void)
-??1CMappedBitmapButton@@UAE@XZ
-; public: virtual __thiscall CMetaBack::~CMetaBack(void)
-??1CMetaBack@@UAE@XZ
-; public: virtual __thiscall CMetaEnumerator::~CMetaEnumerator(void)
-??1CMetaEnumerator@@UAE@XZ
-; public: virtual __thiscall CMetaInterface::~CMetaInterface(void)
-??1CMetaInterface@@UAE@XZ
-; public: virtual __thiscall CMetaKey::~CMetaKey(void)
-??1CMetaKey@@UAE@XZ
-; public: __thiscall CMetabasePath::~CMetabasePath(void)
-??1CMetabasePath@@QAE@XZ
-; protected: __thiscall CODLBox::~CODLBox(void)
-??1CODLBox@@IAE@XZ
-; public: virtual __thiscall CObListIter::~CObListIter(void)
-??1CObListIter@@UAE@XZ
-; public: virtual __thiscall CObListPlus::~CObListPlus(void)
-??1CObListPlus@@UAE@XZ
-; public: virtual __thiscall CObjectPlus::~CObjectPlus(void)
-??1CObjectPlus@@UAE@XZ
-; public: virtual __thiscall CRMCComboBox::~CRMCComboBox(void)
-??1CRMCComboBox@@UAE@XZ
-; public: virtual __thiscall CRMCListBox::~CRMCListBox(void)
-??1CRMCListBox@@UAE@XZ
-; public: virtual __thiscall CRMCListBoxHeader::~CRMCListBoxHeader(void)
-??1CRMCListBoxHeader@@UAE@XZ
-; public: __thiscall CRMCListBoxResources::~CRMCListBoxResources(void)
-??1CRMCListBoxResources@@QAE@XZ
-; public: __thiscall CStrPassword::~CStrPassword(void)
-??1CStrPassword@@QAE@XZ
-; public: virtual __thiscall CStringListEx::~CStringListEx(void)
-??1CStringListEx@@UAE@XZ
-; public: virtual __thiscall CUpButton::~CUpButton(void)
-??1CUpButton@@UAE@XZ
-; public: virtual __thiscall CWamInterface::~CWamInterface(void)
-??1CWamInterface@@UAE@XZ
-; public: class CBlob & __thiscall CBlob::operator=(class CBlob const &)
-??4CBlob@@QAEAAV0@ABV0@@Z
-; public: class CComAuthInfo & __thiscall CComAuthInfo::operator=(class CComAuthInfo &)
-??4CComAuthInfo@@QAEAAV0@AAV0@@Z
-; public: class CComAuthInfo & __thiscall CComAuthInfo::operator=(class CComAuthInfo *)
-??4CComAuthInfo@@QAEAAV0@PAV0@@Z
-; public: class CComAuthInfo & __thiscall CComAuthInfo::operator=(unsigned short const *)
-??4CComAuthInfo@@QAEAAV0@PBG@Z
-; public: class CDirBrowseDlg & __thiscall CDirBrowseDlg::operator=(class CDirBrowseDlg const &)
-??4CDirBrowseDlg@@QAEAAV0@ABV0@@Z
-; public: class CError const & __thiscall CError::operator=(class CError const &)
-??4CError@@QAEABV0@ABV0@@Z
-; public: class CError const & __thiscall CError::operator=(long)
-??4CError@@QAEABV0@J@Z
-; public: class CGetComputer & __thiscall CGetComputer::operator=(class CGetComputer const &)
-??4CGetComputer@@QAEAAV0@ABV0@@Z
-; public: class CIISAppPool & __thiscall CIISAppPool::operator=(class CIISAppPool &)
-??4CIISAppPool@@QAEAAV0@AAV0@@Z
-; public: class CIISApplication & __thiscall CIISApplication::operator=(class CIISApplication &)
-??4CIISApplication@@QAEAAV0@AAV0@@Z
-; public: class CIISInterface & __thiscall CIISInterface::operator=(class CIISInterface &)
-??4CIISInterface@@QAEAAV0@AAV0@@Z
-; public: class CIISSvcControl & __thiscall CIISSvcControl::operator=(class CIISSvcControl &)
-??4CIISSvcControl@@QAEAAV0@AAV0@@Z
-; public: class CILong & __thiscall CILong::operator=(class CILong const &)
-??4CILong@@QAEAAV0@ABV0@@Z
-; public: class CILong & __thiscall CILong::operator=(long)
-??4CILong@@QAEAAV0@J@Z
-; public: class CILong & __thiscall CILong::operator=(unsigned short const *)
-??4CILong@@QAEAAV0@PBG@Z
-; public: class CINumber & __thiscall CINumber::operator=(class CINumber const &)
-??4CINumber@@QAEAAV0@ABV0@@Z
-; public: class CIPAddress const & __thiscall CIPAddress::operator=(class CIPAddress const &)
-??4CIPAddress@@QAEABV0@ABV0@@Z
-; public: class CIPAddress const & __thiscall CIPAddress::operator=(class CString const &)
-??4CIPAddress@@QAEABV0@ABVCString@@@Z
-; public: class CIPAddress const & __thiscall CIPAddress::operator=(unsigned long)
-??4CIPAddress@@QAEABV0@K@Z
-; public: class CIPAddress const & __thiscall CIPAddress::operator=(unsigned short const *)
-??4CIPAddress@@QAEABV0@PBG@Z
-; public: class CMetaBack & __thiscall CMetaBack::operator=(class CMetaBack &)
-??4CMetaBack@@QAEAAV0@AAV0@@Z
-; public: class CMetaEnumerator & __thiscall CMetaEnumerator::operator=(class CMetaEnumerator &)
-??4CMetaEnumerator@@QAEAAV0@AAV0@@Z
-; public: class CMetaInterface & __thiscall CMetaInterface::operator=(class CMetaInterface &)
-??4CMetaInterface@@QAEAAV0@AAV0@@Z
-; public: class CMetaKey & __thiscall CMetaKey::operator=(class CMetaKey &)
-??4CMetaKey@@QAEAAV0@AAV0@@Z
-; public: class CMetabasePath & __thiscall CMetabasePath::operator=(class CMetabasePath const &)
-??4CMetabasePath@@QAEAAV0@ABV0@@Z
-; public: class CObjHelper & __thiscall CObjHelper::operator=(class CObjHelper const &)
-??4CObjHelper@@QAEAAV0@ABV0@@Z
-; public: class CRMCListBoxDrawStruct & __thiscall CRMCListBoxDrawStruct::operator=(class CRMCListBoxDrawStruct const &)
-??4CRMCListBoxDrawStruct@@QAEAAV0@ABV0@@Z
-; public: class CStrPassword const & __thiscall CStrPassword::operator=(class CStrPassword &)
-??4CStrPassword@@QAEABV0@AAV0@@Z
-; public: class CStrPassword const & __thiscall CStrPassword::operator=(unsigned short const *)
-??4CStrPassword@@QAEABV0@PBG@Z
-; public: class CStringListEx & __thiscall CStringListEx::operator=(class CStringListEx const &)
-??4CStringListEx@@QAEAAV0@ABV0@@Z
-; public: class CStringListEx & __thiscall CStringListEx::operator=(class CStringList const &)
-??4CStringListEx@@QAEAAV0@ABVCStringList@@@Z
-; public: class CWamInterface & __thiscall CWamInterface::operator=(class CWamInterface &)
-??4CWamInterface@@QAEAAV0@AAV0@@Z
-; public: int __thiscall CAccessEntry::operator==(class CAccessEntry const &)const 
-??8CAccessEntry@@QBEHABV0@@Z
-; public: int __thiscall CAccessEntry::operator==(void * const)const 
-??8CAccessEntry@@QBEHQAX@Z
-; public: int __thiscall CBlob::operator==(class CBlob const &)const 
-??8CBlob@@QBEHABV0@@Z
-; public: int const  __thiscall CError::operator==(class CError &)
-??8CError@@QAE?BHAAV0@@Z
-; public: int const  __thiscall CError::operator==(long)
-??8CError@@QAE?BHJ@Z
-; public: int __thiscall CILong::operator==(long)
-??8CILong@@QAEHJ@Z
-; public: int __thiscall CIPAccessDescriptor::operator==(class CIPAccessDescriptor const &)const 
-??8CIPAccessDescriptor@@QBEHABV0@@Z
-; public: int __thiscall CIPAddress::operator==(class CIPAddress const &)const 
-??8CIPAddress@@QBEHABV0@@Z
-; public: int __thiscall CIPAddress::operator==(unsigned long)const 
-??8CIPAddress@@QBEHK@Z
-; public: bool __thiscall CStrPassword::operator==(class CStrPassword &)
-??8CStrPassword@@QAE_NAAV0@@Z
-; public: int __thiscall CStringListEx::operator==(class CStringList const &)
-??8CStringListEx@@QAEHABVCStringList@@@Z
-; public: int __thiscall CBlob::operator!=(class CBlob const &)const 
-??9CBlob@@QBEHABV0@@Z
-; public: int const  __thiscall CError::operator!=(class CError &)
-??9CError@@QAE?BHAAV0@@Z
-; public: int const  __thiscall CError::operator!=(long)
-??9CError@@QAE?BHJ@Z
-; public: int __thiscall CILong::operator!=(class CILong &)
-??9CILong@@QAEHAAV0@@Z
-; public: int __thiscall CIPAddress::operator!=(class CIPAddress const &)const 
-??9CIPAddress@@QBEHABV0@@Z
-; public: int __thiscall CIPAddress::operator!=(unsigned long)const 
-??9CIPAddress@@QBEHK@Z
-; public: bool __thiscall CStrPassword::operator!=(class CStrPassword &)
-??9CStrPassword@@QAE_NAAV0@@Z
-; public: int __thiscall CStringListEx::operator!=(class CStringList const &)
-??9CStringListEx@@QAEHABVCStringList@@@Z
-; public: __thiscall CComAuthInfo::operator unsigned short *(void)
-??BCComAuthInfo@@QAEPAGXZ
-; public: __thiscall CComAuthInfo::operator class CComAuthInfo *(void)
-??BCComAuthInfo@@QAEPAV0@XZ
-; public: __thiscall CError::operator unsigned short *(void)
-??BCError@@QAEPAGXZ
-; public: __thiscall CError::operator unsigned short const *(void)
-??BCError@@QAEPBGXZ
-; public: __thiscall CError::operator int const (void)const 
-??BCError@@QBE?BHXZ
-; public: __thiscall CError::operator long const (void)const 
-??BCError@@QBE?BJXZ
-; public: __thiscall CError::operator unsigned long const (void)const 
-??BCError@@QBE?BKXZ
-; public: __thiscall CIISInterface::operator int(void)const 
-??BCIISInterface@@QBEHXZ
-; public: __thiscall CIISInterface::operator long(void)const 
-??BCIISInterface@@QBEJXZ
-; public: __thiscall CILong::operator long const (void)const 
-??BCILong@@QBE?BJXZ
-; public: __thiscall CILong::operator unsigned short const *(void)const 
-??BCILong@@QBEPBGXZ
-; public: __thiscall CIPAddress::operator class CString(void)const 
-??BCIPAddress@@QBE?AVCString@@XZ
-; public: __thiscall CIPAddress::operator unsigned long const (void)const 
-??BCIPAddress@@QBE?BKXZ
-; public: __thiscall CIPAddress::operator unsigned short const *(void)const 
-??BCIPAddress@@QBEPBGXZ
-; public: __thiscall CMetaKey::operator int(void)const 
-??BCMetaKey@@QBEHXZ
-; public: __thiscall CMetaKey::operator unsigned long(void)const 
-??BCMetaKey@@QBEKXZ
-; public: __thiscall CMetaKey::operator unsigned short const *(void)const 
-??BCMetaKey@@QBEPBGXZ
-; public: __thiscall CMetabasePath::operator unsigned short const *(void)const 
-??BCMetabasePath@@QBEPBGXZ
-; public: __thiscall CObjHelper::operator int(void)
-??BCObjHelper@@QAEHXZ
-; public: __thiscall CStrPassword::operator class CString(void)
-??BCStrPassword@@QAE?AVCString@@XZ
-; public: class CILong & __thiscall CILong::operator*=(class CILong const &)
-??XCILong@@QAEAAV0@ABV0@@Z
-; public: class CILong & __thiscall CILong::operator*=(long)
-??XCILong@@QAEAAV0@J@Z
-; public: class CILong & __thiscall CILong::operator*=(unsigned short const * const)
-??XCILong@@QAEAAV0@QBG@Z
-; public: class CILong & __thiscall CILong::operator+=(class CILong const &)
-??YCILong@@QAEAAV0@ABV0@@Z
-; public: class CILong & __thiscall CILong::operator+=(long)
-??YCILong@@QAEAAV0@J@Z
-; public: class CILong & __thiscall CILong::operator+=(unsigned short const * const)
-??YCILong@@QAEAAV0@QBG@Z
-; public: class CILong & __thiscall CILong::operator-=(class CILong const &)
-??ZCILong@@QAEAAV0@ABV0@@Z
-; public: class CILong & __thiscall CILong::operator-=(long)
-??ZCILong@@QAEAAV0@J@Z
-; public: class CILong & __thiscall CILong::operator-=(unsigned short const * const)
-??ZCILong@@QAEAAV0@QBG@Z
-; public: class CILong & __thiscall CILong::operator/=(class CILong const &)
-??_0CILong@@QAEAAV0@ABV0@@Z
-; public: class CILong & __thiscall CILong::operator/=(long)
-??_0CILong@@QAEAAV0@J@Z
-; public: class CILong & __thiscall CILong::operator/=(unsigned short const * const)
-??_0CILong@@QAEAAV0@QBG@Z
-; const  CAccessEntry::`vftable'{for `CObjHelper'}
-??_7CAccessEntry@@6BCObjHelper@@@
-; const  CAccessEntry::`vftable'{for `CObject'}
-??_7CAccessEntry@@6BCObject@@@
-; const  CConfirmDlg::`vftable'
-??_7CConfirmDlg@@6B@
-; const  CDirBrowseDlg::`vftable'
-??_7CDirBrowseDlg@@6B@
-; const  CDownButton::`vftable'
-??_7CDownButton@@6B@
-; const  CEmphasizedDialog::`vftable'
-??_7CEmphasizedDialog@@6B@
-; const  CGetUsers::`vftable'
-??_7CGetUsers@@6B@
-; const  CHeaderListBox::`vftable'{for `CListBox'}
-??_7CHeaderListBox@@6BCListBox@@@
-; const  CHeaderListBox::`vftable'{for `CODLBox'}
-??_7CHeaderListBox@@6BCODLBox@@@
-; const  CIISAppPool::`vftable'{for `CMetaKey'}
-??_7CIISAppPool@@6BCMetaKey@@@
-; const  CIISAppPool::`vftable'{for `CWamInterface'}
-??_7CIISAppPool@@6BCWamInterface@@@
-; const  CIISApplication::`vftable'{for `CMetaKey'}
-??_7CIISApplication@@6BCMetaKey@@@
-; const  CIISApplication::`vftable'{for `CWamInterface'}
-??_7CIISApplication@@6BCWamInterface@@@
-; const  CIISInterface::`vftable'
-??_7CIISInterface@@6B@
-; const  CIISSvcControl::`vftable'
-??_7CIISSvcControl@@6B@
-; const  CIISWizardBookEnd::`vftable'
-??_7CIISWizardBookEnd@@6B@
-; const  CIISWizardPage::`vftable'
-??_7CIISWizardPage@@6B@
-; const  CIISWizardSheet::`vftable'
-??_7CIISWizardSheet@@6B@
-; const  CIPAccessDescriptor::`vftable'{for `CObjHelper'}
-??_7CIPAccessDescriptor@@6BCObjHelper@@@
-; const  CIPAccessDescriptor::`vftable'{for `CObject'}
-??_7CIPAccessDescriptor@@6BCObject@@@
-; const  CIPAddress::`vftable'{for `CObjHelper'}
-??_7CIPAddress@@6BCObjHelper@@@
-; const  CIPAddress::`vftable'{for `CObject'}
-??_7CIPAddress@@6BCObject@@@
-; const  CInheritanceDlg::`vftable'
-??_7CInheritanceDlg@@6B@
-; const  CMappedBitmapButton::`vftable'
-??_7CMappedBitmapButton@@6B@
-; const  CMetaBack::`vftable'{for `CMetaInterface'}
-??_7CMetaBack@@6BCMetaInterface@@@
-; const  CMetaBack::`vftable'{for `CWamInterface'}
-??_7CMetaBack@@6BCWamInterface@@@
-; const  CMetaEnumerator::`vftable'
-??_7CMetaEnumerator@@6B@
-; const  CMetaInterface::`vftable'
-??_7CMetaInterface@@6B@
-; const  CMetaKey::`vftable'
-??_7CMetaKey@@6B@
-; const  CODLBox::`vftable'
-??_7CODLBox@@6B@
-; const  CObListIter::`vftable'{for `CObjHelper'}
-??_7CObListIter@@6BCObjHelper@@@
-; const  CObListIter::`vftable'{for `CObject'}
-??_7CObListIter@@6BCObject@@@
-; const  CObListPlus::`vftable'{for `CObList'}
-??_7CObListPlus@@6BCObList@@@
-; const  CObListPlus::`vftable'{for `CObjHelper'}
-??_7CObListPlus@@6BCObjHelper@@@
-; const  CObjHelper::`vftable'
-??_7CObjHelper@@6B@
-; const  CObjectPlus::`vftable'{for `CObjHelper'}
-??_7CObjectPlus@@6BCObjHelper@@@
-; const  CObjectPlus::`vftable'{for `CObject'}
-??_7CObjectPlus@@6BCObject@@@
-; const  CRMCComboBox::`vftable'{for `CComboBox'}
-??_7CRMCComboBox@@6BCComboBox@@@
-; const  CRMCComboBox::`vftable'{for `CODLBox'}
-??_7CRMCComboBox@@6BCODLBox@@@
-; const  CRMCListBox::`vftable'{for `CListBox'}
-??_7CRMCListBox@@6BCListBox@@@
-; const  CRMCListBox::`vftable'{for `CODLBox'}
-??_7CRMCListBox@@6BCODLBox@@@
-; const  CRMCListBoxHeader::`vftable'
-??_7CRMCListBoxHeader@@6B@
-; const  CStringListEx::`vftable'
-??_7CStringListEx@@6B@
-; const  CUpButton::`vftable'
-??_7CUpButton@@6B@
-; const  CWamInterface::`vftable'
-??_7CWamInterface@@6B@
-; public: void __thiscall CComAuthInfo::`default constructor closure'(void)
-??_FCComAuthInfo@@QAEXXZ
-; public: void __thiscall CConfirmDlg::`default constructor closure'(void)
-??_FCConfirmDlg@@QAEXXZ
-; public: void __thiscall CDirBrowseDlg::`default constructor closure'(void)
-??_FCDirBrowseDlg@@QAEXXZ
-; public: void __thiscall CHeaderListBox::`default constructor closure'(void)
-??_FCHeaderListBox@@QAEXXZ
-; public: void __thiscall CIISWizardBookEnd::`default constructor closure'(void)
-??_FCIISWizardBookEnd@@QAEXXZ
-; public: void __thiscall CIISWizardPage::`default constructor closure'(void)
-??_FCIISWizardPage@@QAEXXZ
-; public: void __thiscall CIISWizardSheet::`default constructor closure'(void)
-??_FCIISWizardSheet@@QAEXXZ
-; public: void __thiscall CIPAccessDescriptor::`default constructor closure'(void)
-??_FCIPAccessDescriptor@@QAEXXZ
-; public: void __thiscall CMetabasePath::`default constructor closure'(void)
-??_FCMetabasePath@@QAEXXZ
-; public: void __thiscall CObListPlus::`default constructor closure'(void)
-??_FCObListPlus@@QAEXXZ
-; public: void __thiscall CRMCListBoxHeader::`default constructor closure'(void)
-??_FCRMCListBoxHeader@@QAEXXZ
-; public: void __thiscall CStringListEx::`default constructor closure'(void)
-??_FCStringListEx@@QAEXXZ
-; void __stdcall ActivateControl(class CWnd &,int)
-?ActivateControl@@YGXAAVCWnd@@H@Z
-; protected: long __thiscall CMetaInterface::AddKey(unsigned long,unsigned short const *)
-?AddKey@CMetaInterface@@IAEJKPBG@Z
-; public: long __thiscall CMetaKey::AddKey(unsigned short const *)
-?AddKey@CMetaKey@@QAEJPBG@Z
-; public: unsigned int __thiscall CError::AddOverride(long,unsigned int)
-?AddOverride@CError@@QAEIJI@Z
-; public: void __thiscall CAccessEntry::AddPermissions(unsigned long)
-?AddPermissions@CAccessEntry@@QAEXK@Z
-; public: int __thiscall CODLBox::AddTab(unsigned int)
-?AddTab@CODLBox@@QAEHI@Z
-; public: int __thiscall CODLBox::AddTabFromHeaders(class CWnd &,class CWnd &)
-?AddTabFromHeaders@CODLBox@@QAEHAAVCWnd@@0@Z
-; public: int __thiscall CODLBox::AddTabFromHeaders(unsigned int,unsigned int)
-?AddTabFromHeaders@CODLBox@@QAEHII@Z
-; char * __stdcall AllocAnsiString(unsigned short const *)
-?AllocAnsiString@@YGPADPBG@Z
-; unsigned short * __stdcall AllocString(unsigned short const *,int)
-?AllocString@@YGPAGPBGH@Z
-; protected: static int __stdcall CINumber::Allocate(void)
-?Allocate@CINumber@@KGHXZ
-; protected: static int __stdcall CError::AllocateStatics(void)
-?AllocateStatics@CError@@KGHXZ
-; protected: long __thiscall CWamInterface::AppCreate(unsigned short const *,unsigned long)
-?AppCreate@CWamInterface@@IAEJPBGK@Z
-; protected: long __thiscall CWamInterface::AppDelete(unsigned short const *,int)
-?AppDelete@CWamInterface@@IAEJPBGH@Z
-; protected: long __thiscall CWamInterface::AppDeleteRecoverable(unsigned short const *,int)
-?AppDeleteRecoverable@CWamInterface@@IAEJPBGH@Z
-; protected: long __thiscall CWamInterface::AppGetStatus(unsigned short const *,unsigned long *)
-?AppGetStatus@CWamInterface@@IAEJPBGPAK@Z
-; protected: long __thiscall CWamInterface::AppRecover(unsigned short const *,int)
-?AppRecover@CWamInterface@@IAEJPBGH@Z
-; protected: long __thiscall CWamInterface::AppUnLoad(unsigned short const *,int)
-?AppUnLoad@CWamInterface@@IAEJPBGH@Z
-; protected: void __thiscall CMetabasePath::AppendPath(unsigned long)
-?AppendPath@CMetabasePath@@IAEXK@Z
-; protected: void __thiscall CMetabasePath::AppendPath(unsigned short const *)
-?AppendPath@CMetabasePath@@IAEXPBG@Z
-; class CString  __stdcall AppendToDevicePath(class CString,unsigned short const *)
-?AppendToDevicePath@@YG?AVCString@@V1@PBG@Z
-; void __stdcall ApplyFontToControls(class CWnd *,class CFont *,unsigned int,unsigned int)
-?ApplyFontToControls@@YGXPAVCWnd@@PAVCFont@@II@Z
-; public: long __thiscall CComAuthInfo::ApplyProxyBlanket(struct IUnknown *)
-?ApplyProxyBlanket@CComAuthInfo@@QAEJPAUIUnknown@@@Z
-; public: long __thiscall CComAuthInfo::ApplyProxyBlanket(struct IUnknown *,unsigned long)
-?ApplyProxyBlanket@CComAuthInfo@@QAEJPAUIUnknown@@K@Z
-; protected: virtual long __thiscall CIISSvcControl::ApplyProxyBlanket(void)
-?ApplyProxyBlanket@CIISSvcControl@@MAEJXZ
-; protected: virtual long __thiscall CMetaBack::ApplyProxyBlanket(void)
-?ApplyProxyBlanket@CMetaBack@@MAEJXZ
-; protected: virtual long __thiscall CMetaInterface::ApplyProxyBlanket(void)
-?ApplyProxyBlanket@CMetaInterface@@MAEJXZ
-; protected: virtual long __thiscall CWamInterface::ApplyProxyBlanket(void)
-?ApplyProxyBlanket@CWamInterface@@MAEJXZ
-; protected: static int __stdcall CError::AreStaticsAllocated(void)
-?AreStaticsAllocated@CError@@KGHXZ
-; public: void __thiscall CODLBox::AttachResources(class CRMCListBoxResources const *)
-?AttachResources@CODLBox@@QAEXPBVCRMCListBoxResources@@@Z
-; protected: void __thiscall CODLBox::AttachWindow(class CWnd *)
-?AttachWindow@CODLBox@@IAEXPAVCWnd@@@Z
-; public: long __thiscall CMetaBack::Backup(unsigned short const *)
-?Backup@CMetaBack@@QAEJPBG@Z
-; protected: long __thiscall CMetaInterface::Backup(unsigned short const *,unsigned long,unsigned long)
-?Backup@CMetaInterface@@IAEJPBGKK@Z
-; public: long __thiscall CMetaBack::BackupWithPassword(unsigned short const *,unsigned short const *)
-?BackupWithPassword@CMetaBack@@QAEJPBG0@Z
-; protected: long __thiscall CMetaInterface::BackupWithPassword(unsigned short const *,unsigned long,unsigned long,unsigned short const *)
-?BackupWithPassword@CMetaInterface@@IAEJPBGKK0@Z
-; public: int __thiscall CRMCListBoxResources::BitmapHeight(void)const 
-?BitmapHeight@CRMCListBoxResources@@QBEHXZ
-; public: int __thiscall CRMCListBoxResources::BitmapWidth(void)const 
-?BitmapWidth@CRMCListBoxResources@@QBEHXZ
-; int __stdcall BuildAclBlob(class CObListPlus &,class CBlob &)
-?BuildAclBlob@@YGHAAVCObListPlus@@AAVCBlob@@@Z
-; unsigned long __stdcall BuildAclOblistFromBlob(class CBlob &,class CObListPlus &)
-?BuildAclOblistFromBlob@@YGKAAVCBlob@@AAVCObListPlus@@@Z
-; public: static double __stdcall CINumber::BuildFloat(long,long)
-?BuildFloat@CINumber@@SGNJJ@Z
-; void __stdcall BuildIplBlob(class CObListPlus &,int,class CBlob &)
-?BuildIplBlob@@YGXAAVCObListPlus@@HAAVCBlob@@@Z
-; unsigned long __stdcall BuildIplOblistFromBlob(class CBlob &,class CObListPlus &,int &)
-?BuildIplOblistFromBlob@@YGKAAVCBlob@@AAVCObListPlus@@AAH@Z
-; protected: void __thiscall CMetabasePath::BuildMetaPath(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
-?BuildMetaPath@CMetabasePath@@IAEXPBG000@Z
-; protected: void __thiscall CMetabasePath::BuildMetaPath(unsigned short const *,unsigned long,unsigned short const *,unsigned short const *)
-?BuildMetaPath@CMetabasePath@@IAEXPBGK00@Z
-; int __stdcall CStringFindNoCase(class CString const &,unsigned short const *)
-?CStringFindNoCase@@YGHABVCString@@PBG@Z
-; protected: void __thiscall CODLBox::CalculateTextHeight(class CFont *)
-?CalculateTextHeight@CODLBox@@IAEXPAVCFont@@@Z
-; public: int __thiscall CODLBox::ChangeFont(class CFont *)
-?ChangeFont@CODLBox@@QAEHPAVCFont@@@Z
-; public: virtual long __thiscall CIISInterface::ChangeProxyBlanket(unsigned short const *,unsigned short const *)
-?ChangeProxyBlanket@CIISInterface@@UAEJPBG0@Z
-; public: long __thiscall CMetaKey::CheckDescendants(unsigned long,class CComAuthInfo *,unsigned short const *)
-?CheckDescendants@CMetaKey@@QAEJKPAVCComAuthInfo@@PBG@Z
-; protected: class CString & __thiscall CInheritanceDlg::CleanDescendantPath(class CString &)
-?CleanDescendantPath@CInheritanceDlg@@IAEAAVCString@@AAV2@@Z
-; public: static unsigned short const * __stdcall CMetabasePath::CleanMetaPath(class CString &)
-?CleanMetaPath@CMetabasePath@@SGPBGAAVCString@@@Z
-; public: void __thiscall CBlob::CleanUp(void)
-?CleanUp@CBlob@@QAEXXZ
-; private: void __thiscall CStrPassword::ClearPasswordBuffers(void)
-?ClearPasswordBuffers@CStrPassword@@AAEXXZ
-; public: long __thiscall CMetaKey::Close(void)
-?Close@CMetaKey@@QAEJXZ
-; protected: long __thiscall CMetaInterface::CloseKey(unsigned long)
-?CloseKey@CMetaInterface@@IAEJK@Z
-; public: unsigned long __thiscall CRMCListBoxResources::ColorHighlight(void)const 
-?ColorHighlight@CRMCListBoxResources@@QBEKXZ
-; public: unsigned long __thiscall CRMCListBoxResources::ColorHighlightText(void)const 
-?ColorHighlightText@CRMCListBoxResources@@QBEKXZ
-; public: unsigned long __thiscall CRMCListBoxResources::ColorWindow(void)const 
-?ColorWindow@CRMCListBoxResources@@QBEKXZ
-; public: unsigned long __thiscall CRMCListBoxResources::ColorWindowText(void)const 
-?ColorWindowText@CRMCListBoxResources@@QBEKXZ
-; protected: int __thiscall CODLBox::ColumnText(class CRMCListBoxDrawStruct &,int,int,unsigned short const *)
-?ColumnText@CODLBox@@IAEHAAVCRMCListBoxDrawStruct@@HHPBG@Z
-; protected: static int __stdcall CODLBox::ColumnText(class CDC *,int,int,int,int,unsigned short const *)
-?ColumnText@CODLBox@@KGHPAVCDC@@HHHHPBG@Z
-; protected: void __thiscall CIISApplication::CommonConstruct(void)
-?CommonConstruct@CIISApplication@@IAEXXZ
-; public: virtual int __thiscall CObjectPlus::Compare(class CObjectPlus const *)const 
-?Compare@CObjectPlus@@UBEHPBV1@@Z
-; public: int __thiscall CStrPassword::Compare(class CStrPassword &)const 
-?Compare@CStrPassword@@QBEHAAV1@@Z
-; public: int __thiscall CStrPassword::Compare(class CString &)const 
-?Compare@CStrPassword@@QBEHAAVCString@@@Z
-; public: int __thiscall CStrPassword::Compare(unsigned short const *)const 
-?Compare@CStrPassword@@QBEHPBG@Z
-; public: int __thiscall CIPAddress::CompareItem(class CIPAddress const &)const 
-?CompareItem@CIPAddress@@QBEHABV1@@Z
-; protected: void __thiscall CODLBox::ComputeMargins(class CRMCListBoxDrawStruct &,int,int &,int &)
-?ComputeMargins@CODLBox@@IAEXAAVCRMCListBoxDrawStruct@@HAAH1@Z
-; protected: class CError const & __thiscall CError::Construct(class CError const &)
-?Construct@CError@@IAEABV1@ABV1@@Z
-; protected: class CError const & __thiscall CError::Construct(long)
-?Construct@CError@@IAEABV1@J@Z
-; unsigned long __stdcall ConvertDoubleNullListToStringList(unsigned short const *,class CStringList &,int)
-?ConvertDoubleNullListToStringList@@YGKPBGAAVCStringList@@H@Z
-; public: static unsigned short const * __stdcall CINumber::ConvertFloatToString(double,int,class CString &)
-?ConvertFloatToString@CINumber@@SGPBGNHAAVCString@@@Z
-; public: static unsigned short const * __stdcall CINumber::ConvertLongToString(long,class CString &)
-?ConvertLongToString@CINumber@@SGPBGJAAVCString@@@Z
-; int __stdcall ConvertSepLineToStringList(unsigned short const *,class CStringList &,unsigned short const *)
-?ConvertSepLineToStringList@@YGHPBGAAVCStringList@@0@Z
-; unsigned long __stdcall ConvertStringListToDoubleNullList(class CStringList &,unsigned long &,unsigned short * &)
-?ConvertStringListToDoubleNullList@@YGKAAVCStringList@@AAKAAPAG@Z
-; unsigned short const * __stdcall ConvertStringListToSepLine(class CStringList &,class CString &,unsigned short const *)
-?ConvertStringListToSepLine@@YGPBGAAVCStringList@@AAVCString@@PBG@Z
-; public: static int __stdcall CINumber::ConvertStringToFloat(unsigned short const *,double &)
-?ConvertStringToFloat@CINumber@@SGHPBGAAN@Z
-; public: static int __stdcall CINumber::ConvertStringToLong(unsigned short const *,long &)
-?ConvertStringToLong@CINumber@@SGHPBGAAJ@Z
-; public: long __thiscall CMetaKey::ConvertToParentPath(int)
-?ConvertToParentPath@CMetaKey@@QAEJH@Z
-; public: static unsigned short const * __stdcall CMetabasePath::ConvertToParentPath(class CString &)
-?ConvertToParentPath@CMetabasePath@@SGPBGAAVCString@@@Z
-; protected: long __thiscall CMetaInterface::CopyData(unsigned long,unsigned short const *,unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,int)
-?CopyData@CMetaInterface@@IAEJKPBGK0KKKH@Z
-; protected: long __thiscall CMetaInterface::CopyKey(unsigned long,unsigned short const *,unsigned long,unsigned short const *,int,int)
-?CopyKey@CMetaInterface@@IAEJKPBGK0HH@Z
-; public: void __thiscall CStrPassword::CopyTo(class CStrPassword &)
-?CopyTo@CStrPassword@@QAEXAAV1@@Z
-; public: void __thiscall CStrPassword::CopyTo(class CString &)
-?CopyTo@CStrPassword@@QAEXAAVCString@@@Z
-; public: long __thiscall CIISAppPool::Create(unsigned short const *)
-?Create@CIISAppPool@@QAEJPBG@Z
-; public: long __thiscall CIISApplication::Create(unsigned short const *,unsigned long)
-?Create@CIISApplication@@QAEJPBGK@Z
-; protected: long __thiscall CIISInterface::Create(int,struct _GUID const * const,struct _GUID const * const,int *,struct IUnknown * *)
-?Create@CIISInterface@@IAEJHQBU_GUID@@0PAHPAPAUIUnknown@@@Z
-; protected: long __thiscall CIISSvcControl::Create(void)
-?Create@CIISSvcControl@@IAEJXZ
-; protected: long __thiscall CMetaInterface::Create(void)
-?Create@CMetaInterface@@IAEJXZ
-; public: int __thiscall CRMCListBoxHeader::Create(unsigned long,struct tagRECT const &,class CWnd *,class CHeaderListBox *,unsigned int)
-?Create@CRMCListBoxHeader@@QAEHKABUtagRECT@@PAVCWnd@@PAVCHeaderListBox@@I@Z
-; protected: long __thiscall CWamInterface::Create(void)
-?Create@CWamInterface@@IAEJXZ
-; protected: long __thiscall CWamInterface::CreateApplication(unsigned short const *,unsigned long,unsigned short const *,int)
-?CreateApplication@CWamInterface@@IAEJPBGK0H@Z
-; protected: long __thiscall CWamInterface::CreateApplicationPool(unsigned short const *)
-?CreateApplicationPool@CWamInterface@@IAEJPBG@Z
-; public: static class CObject * __stdcall CEmphasizedDialog::CreateObject(void)
-?CreateObject@CEmphasizedDialog@@SGPAVCObject@@XZ
-; public: static class CObject * __stdcall CIISWizardBookEnd::CreateObject(void)
-?CreateObject@CIISWizardBookEnd@@SGPAVCObject@@XZ
-; public: static class CObject * __stdcall CIISWizardPage::CreateObject(void)
-?CreateObject@CIISWizardPage@@SGPAVCObject@@XZ
-; public: static class CObject * __stdcall CIISWizardSheet::CreateObject(void)
-?CreateObject@CIISWizardSheet@@SGPAVCObject@@XZ
-; public: long __thiscall CMetaKey::CreatePathFromFailedOpen(void)
-?CreatePathFromFailedOpen@CMetaKey@@QAEJXZ
-; public: long __thiscall CIISApplication::CreatePooled(unsigned short const *,unsigned long,unsigned short const *,int)
-?CreatePooled@CIISApplication@@QAEJPBGK0H@Z
-; public: struct _COSERVERINFO * __thiscall CComAuthInfo::CreateServerInfoStruct(unsigned long)const 
-?CreateServerInfoStruct@CComAuthInfo@@QBEPAU_COSERVERINFO@@K@Z
-; public: struct _COSERVERINFO * __thiscall CComAuthInfo::CreateServerInfoStruct(void)const 
-?CreateServerInfoStruct@CComAuthInfo@@QBEPAU_COSERVERINFO@@XZ
-; public: long __thiscall CMetaInterface::CreateSite(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long *,unsigned long *)
-?CreateSite@CMetaInterface@@QAEJPBG000PAK1@Z
-; int __stdcall CreateSpecialDialogFont(class CWnd *,class CFont *,long,long,long,int,int)
-?CreateSpecialDialogFont@@YGHPAVCWnd@@PAVCFont@@JJJHH@Z
-; int __stdcall CvtGMTStringToInternal(unsigned short const *,long *)
-?CvtGMTStringToInternal@@YGHPBGPAJ@Z
-; void __stdcall CvtInternalToGMTString(long,class CString &)
-?CvtInternalToGMTString@@YGXJAAVCString@@@Z
-; int __stdcall CvtStringToLong(unsigned short const *,unsigned long *)
-?CvtStringToLong@@YGHPBGPAK@Z
-; protected: static long __stdcall CError::CvtToInternalFormat(long)
-?CvtToInternalFormat@CError@@KGJJ@Z
-; void __stdcall DDV_FilePath(class CDataExchange *,class CString &,int)
-?DDV_FilePath@@YGXPAVCDataExchange@@AAVCString@@H@Z
-; void __stdcall DDV_FolderPath(class CDataExchange *,class CString &,int)
-?DDV_FolderPath@@YGXPAVCDataExchange@@AAVCString@@H@Z
-; void __stdcall DDV_MaxCharsBalloon(class CDataExchange *,class CString const &,int)
-?DDV_MaxCharsBalloon@@YGXPAVCDataExchange@@ABVCString@@H@Z
-; void __stdcall DDV_MaxCharsBalloon_SecuredString(class CDataExchange *,class CStrPassword const &,int)
-?DDV_MaxCharsBalloon_SecuredString@@YGXPAVCDataExchange@@ABVCStrPassword@@H@Z
-; void __stdcall DDV_MaxChars_SecuredString(class CDataExchange *,class CStrPassword const &,int)
-?DDV_MaxChars_SecuredString@@YGXPAVCDataExchange@@ABVCStrPassword@@H@Z
-; void __stdcall DDV_MinChars(class CDataExchange *,class CString const &,int)
-?DDV_MinChars@@YGXPAVCDataExchange@@ABVCString@@H@Z
-; void __stdcall DDV_MinChars_SecuredString(class CDataExchange *,class CStrPassword const &,int)
-?DDV_MinChars_SecuredString@@YGXPAVCDataExchange@@ABVCStrPassword@@H@Z
-; void __stdcall DDV_MinMaxBalloon(class CDataExchange *,int,unsigned long,unsigned long)
-?DDV_MinMaxBalloon@@YGXPAVCDataExchange@@HKK@Z
-; void __stdcall DDV_MinMaxChars(class CDataExchange *,class CString const &,int,int)
-?DDV_MinMaxChars@@YGXPAVCDataExchange@@ABVCString@@HH@Z
-; void __stdcall DDV_MinMaxChars_SecuredString(class CDataExchange *,class CStrPassword const &,int,int)
-?DDV_MinMaxChars_SecuredString@@YGXPAVCDataExchange@@ABVCStrPassword@@HH@Z
-; void __stdcall DDV_MinMaxSpin(class CDataExchange *,struct HWND__ *,int,int)
-?DDV_MinMaxSpin@@YGXPAVCDataExchange@@PAUHWND__@@HH@Z
-; void __stdcall DDV_ShowBalloonAndFail(class CDataExchange *,unsigned int)
-?DDV_ShowBalloonAndFail@@YGXPAVCDataExchange@@I@Z
-; void __stdcall DDV_ShowBalloonAndFail(class CDataExchange *,class CString)
-?DDV_ShowBalloonAndFail@@YGXPAVCDataExchange@@VCString@@@Z
-; void __stdcall DDV_UNCFolderPath(class CDataExchange *,class CString &,int)
-?DDV_UNCFolderPath@@YGXPAVCDataExchange@@AAVCString@@H@Z
-; void __stdcall DDV_Url(class CDataExchange *,class CString &)
-?DDV_Url@@YGXPAVCDataExchange@@AAVCString@@@Z
-; void __stdcall DDX_Password(class CDataExchange *,int,class CString &,unsigned short const *)
-?DDX_Password@@YGXPAVCDataExchange@@HAAVCString@@PBG@Z
-; void __stdcall DDX_Password_SecuredString(class CDataExchange *,int,class CStrPassword &,unsigned short const *)
-?DDX_Password_SecuredString@@YGXPAVCDataExchange@@HAAVCStrPassword@@PBG@Z
-; void __stdcall DDX_Spin(class CDataExchange *,int,int &)
-?DDX_Spin@@YGXPAVCDataExchange@@HAAH@Z
-; void __stdcall DDX_Text(class CDataExchange *,int,class CILong &)
-?DDX_Text@@YGXPAVCDataExchange@@HAAVCILong@@@Z
-; void __stdcall DDX_TextBalloon(class CDataExchange *,int,unsigned char &)
-?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAE@Z
-; void __stdcall DDX_TextBalloon(class CDataExchange *,int,short &)
-?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAF@Z
-; void __stdcall DDX_TextBalloon(class CDataExchange *,int,int &)
-?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAH@Z
-; void __stdcall DDX_TextBalloon(class CDataExchange *,int,unsigned int &)
-?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAI@Z
-; void __stdcall DDX_TextBalloon(class CDataExchange *,int,long &)
-?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAJ@Z
-; void __stdcall DDX_TextBalloon(class CDataExchange *,int,unsigned long &)
-?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAK@Z
-; void __stdcall DDX_TextBalloon(class CDataExchange *,int,__int64 &)
-?DDX_TextBalloon@@YGXPAVCDataExchange@@HAA_J@Z
-; void __stdcall DDX_TextBalloon(class CDataExchange *,int,unsigned __int64 &)
-?DDX_TextBalloon@@YGXPAVCDataExchange@@HAA_K@Z
-; void __stdcall DDX_Text_SecuredString(class CDataExchange *,int,class CStrPassword &)
-?DDX_Text_SecuredString@@YGXPAVCDataExchange@@HAAVCStrPassword@@@Z
-; public: static unsigned char * __stdcall CIPAddress::DWORDtoLPBYTE(unsigned long,unsigned char *)
-?DWORDtoLPBYTE@CIPAddress@@SGPAEKPAE@Z
-; protected: static void __stdcall CINumber::DeAllocate(void)
-?DeAllocate@CINumber@@KGXXZ
-; protected: static void __stdcall CError::DeAllocateStatics(void)
-?DeAllocateStatics@CError@@KGXXZ
-; unsigned long __stdcall DeflateEnvironmentVariablePath(unsigned short const *,class CString &)
-?DeflateEnvironmentVariablePath@@YGKPBGAAVCString@@@Z
-; public: long __thiscall CIISAppPool::Delete(unsigned short const *)
-?Delete@CIISAppPool@@QAEJPBG@Z
-; public: long __thiscall CIISApplication::Delete(int)
-?Delete@CIISApplication@@QAEJH@Z
-; public: long __thiscall CMetaBack::Delete(unsigned short const *,unsigned long)
-?Delete@CMetaBack@@QAEJPBGK@Z
-; protected: long __thiscall CMetaInterface::DeleteAllData(unsigned long,unsigned short const *,unsigned long,unsigned long)
-?DeleteAllData@CMetaInterface@@IAEJKPBGKK@Z
-; protected: long __thiscall CWamInterface::DeleteApplication(unsigned short const *,int)
-?DeleteApplication@CWamInterface@@IAEJPBGH@Z
-; protected: long __thiscall CWamInterface::DeleteApplicationPool(unsigned short const *)
-?DeleteApplicationPool@CWamInterface@@IAEJPBG@Z
-; protected: long __thiscall CMetaInterface::DeleteBackup(unsigned short const *,unsigned long)
-?DeleteBackup@CMetaInterface@@IAEJPBGK@Z
-; protected: long __thiscall CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const *)
-?DeleteChildKeys@CMetaInterface@@IAEJKPBG@Z
-; protected: long __thiscall CMetaInterface::DeleteData(unsigned long,unsigned short const *,unsigned long,unsigned long)
-?DeleteData@CMetaInterface@@IAEJKPBGKK@Z
-; protected: int __thiscall CHeaderListBox::DeleteHeaderItem(int)
-?DeleteHeaderItem@CHeaderListBox@@IAEHH@Z
-; public: int __thiscall CRMCListBoxHeader::DeleteItem(int)
-?DeleteItem@CRMCListBoxHeader@@QAEHH@Z
-; protected: long __thiscall CMetaInterface::DeleteKey(unsigned long,unsigned short const *)
-?DeleteKey@CMetaInterface@@IAEJKPBG@Z
-; public: long __thiscall CMetaKey::DeleteKey(unsigned short const *)
-?DeleteKey@CMetaKey@@QAEJPBG@Z
-; public: long __thiscall CIISApplication::DeleteRecoverable(int)
-?DeleteRecoverable@CIISApplication@@QAEJH@Z
-; public: long __thiscall CMetaKey::DeleteValue(unsigned long,unsigned short const *)
-?DeleteValue@CMetaKey@@QAEJKPBG@Z
-; public: void __thiscall CStrPassword::DestroyClearTextPassword(unsigned short *)const 
-?DestroyClearTextPassword@CStrPassword@@QBEXPAG@Z
-; protected: void __thiscall CHeaderListBox::DistributeColumns(void)
-?DistributeColumns@CHeaderListBox@@IAEXXZ
-; protected: virtual void __thiscall CConfirmDlg::DoDataExchange(class CDataExchange *)
-?DoDataExchange@CConfirmDlg@@MAEXPAVCDataExchange@@@Z
-; protected: virtual void __thiscall CInheritanceDlg::DoDataExchange(class CDataExchange *)
-?DoDataExchange@CInheritanceDlg@@MAEXPAVCDataExchange@@@Z
-; public: virtual int __thiscall CDirBrowseDlg::DoModal(void)
-?DoModal@CDirBrowseDlg@@UAEHXZ
-; public: virtual int __thiscall CInheritanceDlg::DoModal(void)
-?DoModal@CInheritanceDlg@@UAEHXZ
-; public: long __thiscall CMetaKey::DoesPathExist(unsigned short const *)
-?DoesPathExist@CMetaKey@@QAEJPBG@Z
-; public: int __thiscall CRMCListBoxHeader::DoesRespondToColumnWidthChanges(void)const 
-?DoesRespondToColumnWidthChanges@CRMCListBoxHeader@@QBEHXZ
-; int __stdcall DoesUNCShareExist(class CString &)
-?DoesUNCShareExist@@YGHAAVCString@@@Z
-; protected: int __thiscall CODLBox::DrawBitmap(class CRMCListBoxDrawStruct &,int,int)
-?DrawBitmap@CODLBox@@IAEHAAVCRMCListBoxDrawStruct@@HH@Z
-; protected: virtual void __thiscall CRMCComboBox::DrawItem(struct tagDRAWITEMSTRUCT *)
-?DrawItem@CRMCComboBox@@MAEXPAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual void __thiscall CRMCListBox::DrawItem(struct tagDRAWITEMSTRUCT *)
-?DrawItem@CRMCListBox@@MAEXPAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual void __thiscall CRMCComboBox::DrawItemEx(class CRMCListBoxDrawStruct &)
-?DrawItemEx@CRMCComboBox@@MAEXAAVCRMCListBoxDrawStruct@@@Z
-; protected: virtual void __thiscall CRMCListBox::DrawItemEx(class CRMCListBoxDrawStruct &)
-?DrawItemEx@CRMCListBox@@MAEXAAVCRMCListBoxDrawStruct@@@Z
-; public: int __thiscall CIPAccessDescriptor::DuplicateInList(class CObListPlus &)
-?DuplicateInList@CIPAccessDescriptor@@QAEHAAVCObListPlus@@@Z
-; void __stdcall EditHideBalloon(void)
-?EditHideBalloon@@YGXXZ
-; void __stdcall EditShowBalloon(struct HWND__ *,unsigned int)
-?EditShowBalloon@@YGXPAUHWND__@@I@Z
-; void __stdcall EditShowBalloon(struct HWND__ *,class CString)
-?EditShowBalloon@@YGXPAUHWND__@@VCString@@@Z
-; public: void __thiscall CStrPassword::Empty(void)
-?Empty@CStrPassword@@QAEXXZ
-; public: void __thiscall CIISWizardSheet::EnableButton(int,int)
-?EnableButton@CIISWizardSheet@@QAEXHH@Z
-; protected: void __thiscall CIISWizardPage::EnableSheetButton(int,int)
-?EnableSheetButton@CIISWizardPage@@IAEXHH@Z
-; public: int __thiscall CHeaderListBox::EnableWindow(int)
-?EnableWindow@CHeaderListBox@@QAEHH@Z
-; protected: long __thiscall CMetaInterface::EnumBackups(unsigned short *,unsigned long *,struct _FILETIME *,unsigned long)
-?EnumBackups@CMetaInterface@@IAEJPAGPAKPAU_FILETIME@@K@Z
-; protected: long __thiscall CMetaInterface::EnumData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long,unsigned long *)
-?EnumData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@KPAK@Z
-; protected: long __thiscall CMetaInterface::EnumHistory(unsigned short *,unsigned long *,unsigned long *,struct _FILETIME *,unsigned long)
-?EnumHistory@CMetaInterface@@IAEJPAGPAK1PAU_FILETIME@@K@Z
-; protected: long __thiscall CMetaInterface::EnumKeys(unsigned long,unsigned short const *,unsigned short *,unsigned long)
-?EnumKeys@CMetaInterface@@IAEJKPBGPAGK@Z
-; public: long __thiscall CIISAppPool::EnumerateApplications(class CStringListEx &)
-?EnumerateApplications@CIISAppPool@@QAEJAAVCStringListEx@@@Z
-; protected: long __thiscall CWamInterface::EnumerateApplicationsInPool(unsigned short const *,unsigned short * *)
-?EnumerateApplicationsInPool@CWamInterface@@IAEJPBGPAPAG@Z
-; protected: int __thiscall CError::ExpandEscapeCode(unsigned short *,unsigned long,unsigned short * &,class CString &,long &)const 
-?ExpandEscapeCode@CError@@IBEHPAGKAAPAGAAVCString@@AAJ@Z
-; public: int __thiscall CError::Failed(void)const 
-?Failed@CError@@QBEHXZ
-; public: static int __stdcall CError::Failed(long)
-?Failed@CError@@SGHJ@Z
-; int __stdcall FetchIpAddressFromCombo(class CComboBox &,class CObListPlus &,class CIPAddress &)
-?FetchIpAddressFromCombo@@YGHAAVCComboBox@@AAVCObListPlus@@AAVCIPAddress@@@Z
-; public: int __thiscall CObListPlus::FindElement(class CObject *)const 
-?FindElement@CObListPlus@@QBEHPAVCObject@@@Z
-; protected: static unsigned short const * __stdcall CError::FindFacility(unsigned long)
-?FindFacility@CError@@KGPBGK@Z
-; void __stdcall FitPathToControl(class CWnd &,unsigned short const *,int)
-?FitPathToControl@@YGXAAVCWnd@@PBGH@Z
-; public: void __thiscall CAccessEntry::FlagForDeletion(int)
-?FlagForDeletion@CAccessEntry@@QAEXH@Z
-; public: void __thiscall CComAuthInfo::FreeServerInfoStruct(struct _COSERVERINFO *)const 
-?FreeServerInfoStruct@CComAuthInfo@@QBEXPAU_COSERVERINFO@@@Z
-; protected: int __thiscall CInheritanceDlg::FriendlyInstance(class CString &,class CString &)
-?FriendlyInstance@CInheritanceDlg@@IAEHAAVCString@@0@Z
-; unsigned short const * __stdcall GUIDToCString(struct _GUID const &,class CString &)
-?GUIDToCString@@YGPBGABU_GUID@@AAVCString@@@Z
-; unsigned short const * __stdcall GenerateRegistryKey(class CString &,unsigned short const *)
-?GenerateRegistryKey@@YGPBGAAVCString@@PBG@Z
-; public: long __thiscall CMetaInterface::GetAdminInterface2(struct IMSAdminBase2W * *)
-?GetAdminInterface2@CMetaInterface@@QAEJPAPAUIMSAdminBase2W@@@Z
-; public: long __thiscall CMetaInterface::GetAdminInterface3(struct IMSAdminBase3W * *)
-?GetAdminInterface3@CMetaInterface@@QAEJPAPAUIMSAdminBase3W@@@Z
-; protected: long __thiscall CMetaInterface::GetAllData(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,unsigned long,unsigned char *,unsigned long *)
-?GetAllData@CMetaInterface@@IAEJKPBGKKKPAK1KPAE1@Z
-; protected: long __thiscall CMetaKey::GetAllData(unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,unsigned char * *,unsigned short const *)
-?GetAllData@CMetaKey@@IAEJKKKPAK0PAPAEPBG@Z
-; public: long __thiscall CWamInterface::GetAppAdminInterface(struct IIISApplicationAdmin * *)
-?GetAppAdminInterface@CWamInterface@@QAEJPAPAUIIISApplicationAdmin@@@Z
-; protected: struct HBRUSH__ * __thiscall CIISWizardPage::GetBackgroundBrush(void)const 
-?GetBackgroundBrush@CIISWizardPage@@IBEPAUHBRUSH__@@XZ
-; public: struct HBRUSH__ * __thiscall CIISWizardSheet::GetBackgroundBrush(void)const 
-?GetBackgroundBrush@CIISWizardSheet@@QBEPAUHBRUSH__@@XZ
-; public: unsigned long __thiscall CMetaKey::GetBase(void)const 
-?GetBase@CMetaKey@@QBEKXZ
-; protected: class CFont * __thiscall CIISWizardPage::GetBigFont(void)
-?GetBigFont@CIISWizardPage@@IAEPAVCFont@@XZ
-; public: class CFont * __thiscall CIISWizardSheet::GetBigFont(void)
-?GetBigFont@CIISWizardSheet@@QAEPAVCFont@@XZ
-; protected: class CDC * __thiscall CIISWizardPage::GetBitmapMemDC(void)
-?GetBitmapMemDC@CIISWizardPage@@IAEPAVCDC@@XZ
-; public: class CDC * __thiscall CIISWizardSheet::GetBitmapMemDC(int)
-?GetBitmapMemDC@CIISWizardSheet@@QAEPAVCDC@@H@Z
-; protected: class CFont * __thiscall CIISWizardPage::GetBoldFont(void)
-?GetBoldFont@CIISWizardPage@@IAEPAVCFont@@XZ
-; public: class CFont * __thiscall CIISWizardSheet::GetBoldFont(void)
-?GetBoldFont@CIISWizardSheet@@QAEPAVCFont@@XZ
-; public: int __thiscall CStrPassword::GetByteLength(void)const 
-?GetByteLength@CStrPassword@@QBEHXZ
-; protected: long __thiscall CMetaInterface::GetChildPaths(unsigned long,unsigned short const *,unsigned long,unsigned short *,unsigned long *)
-?GetChildPaths@CMetaInterface@@IAEJKPBGKPAGPAK@Z
-; public: long __thiscall CMetaKey::GetChildPaths(class CStringListEx &,unsigned short const *)
-?GetChildPaths@CMetaKey@@QAEJAAVCStringListEx@@PBG@Z
-; public: unsigned short * __thiscall CStrPassword::GetClearTextPassword(void)
-?GetClearTextPassword@CStrPassword@@QAEPAGXZ
-; public: int __thiscall CRMCListBoxHeader::GetColumnWidth(int)const 
-?GetColumnWidth@CRMCListBoxHeader@@QBEHH@Z
-; public: int __thiscall CGetComputer::GetComputer(struct HWND__ *)
-?GetComputer@CGetComputer@@QAEHPAUHWND__@@@Z
-; public: int __thiscall CRMCListBox::GetCurSel(void)const 
-?GetCurSel@CRMCListBox@@QBEHXZ
-; public: unsigned char * __thiscall CBlob::GetData(void)
-?GetData@CBlob@@QAEPAEXZ
-; protected: long __thiscall CMetaInterface::GetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long *)
-?GetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@PAK@Z
-; protected: long __thiscall CInheritanceDlg::GetDataPaths(void)
-?GetDataPaths@CInheritanceDlg@@IAEJXZ
-; protected: long __thiscall CMetaInterface::GetDataPaths(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned short *,unsigned long *)
-?GetDataPaths@CMetaInterface@@IAEJKPBGKKKPAGPAK@Z
-; public: long __thiscall CMetaKey::GetDataPaths(class CStringListEx &,unsigned long,unsigned long,unsigned short const *)
-?GetDataPaths@CMetaKey@@QAEJAAVCStringListEx@@KKPBG@Z
-; void __stdcall GetDlgCtlRect(struct HWND__ *,struct HWND__ *,struct tagRECT *)
-?GetDlgCtlRect@@YGXPAUHWND__@@0PAUtagRECT@@@Z
-; public: unsigned short const * __thiscall CDirBrowseDlg::GetFullPath(class CString &,int)const 
-?GetFullPath@CDirBrowseDlg@@QBEPBGAAVCString@@H@Z
-; void __stdcall GetFullPathLocalOrRemote(unsigned short const *,unsigned short const *,class CString &)
-?GetFullPathLocalOrRemote@@YGXPBG0AAVCString@@@Z
-; public: unsigned long __thiscall CMetaKey::GetHandle(void)const 
-?GetHandle@CMetaKey@@QBEKXZ
-; protected: class CRMCListBoxHeader * __thiscall CHeaderListBox::GetHeader(void)
-?GetHeader@CHeaderListBox@@IAEPAVCRMCListBoxHeader@@XZ
-; protected: int __thiscall CHeaderListBox::GetHeaderItem(int,struct _HD_ITEMW *)const 
-?GetHeaderItem@CHeaderListBox@@IBEHHPAU_HD_ITEMW@@@Z
-; protected: int __thiscall CHeaderListBox::GetHeaderItemCount(void)const 
-?GetHeaderItemCount@CHeaderListBox@@IBEHXZ
-; int __stdcall GetIUsrAccount(unsigned short const *,class CWnd *,class CString &)
-?GetIUsrAccount@@YGHPBGPAVCWnd@@AAVCString@@@Z
-; int __stdcall GetIUsrAccount(unsigned short const *,class CWnd *,unsigned short *,int)
-?GetIUsrAccount@@YGHPBGPAVCWnd@@PAGH@Z
-; public: static unsigned long __stdcall CMetabasePath::GetInstanceNumber(unsigned short const *)
-?GetInstanceNumber@CMetabasePath@@SGKPBG@Z
-; public: static unsigned short const * __stdcall CMetabasePath::GetInstancePath(unsigned short const *,class CString &,class CString *)
-?GetInstancePath@CMetabasePath@@SGPBGPBGAAVCString@@PAV2@@Z
-; public: struct IMSAdminBaseW * __thiscall CMetaInterface::GetInterface(void)
-?GetInterface@CMetaInterface@@QAEPAUIMSAdminBaseW@@XZ
-; public: int __thiscall CRMCListBoxHeader::GetItem(int,struct _HD_ITEMW *)const 
-?GetItem@CRMCListBoxHeader@@QBEHHPAU_HD_ITEMW@@@Z
-; public: int __thiscall CRMCListBoxHeader::GetItemCount(void)const 
-?GetItemCount@CRMCListBoxHeader@@QBEHXZ
-; protected: long __thiscall CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
-?GetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
-; public: static unsigned short const * __stdcall CMetabasePath::GetLastNodeName(unsigned short const *,class CString &)
-?GetLastNodeName@CMetabasePath@@SGPBGPBGAAVCString@@@Z
-; public: void __thiscall CError::GetLastWinError(void)
-?GetLastWinError@CError@@QAEXXZ
-; public: int __thiscall CStrPassword::GetLength(void)const 
-?GetLength@CStrPassword@@QBEHXZ
-; public: static int __stdcall CMetaKey::GetMDFieldDef(unsigned long,unsigned long &,unsigned long &,unsigned long &,unsigned long &)
-?GetMDFieldDef@CMetaKey@@SGHKAAK000@Z
-; public: static unsigned short const * __stdcall CMetabasePath::GetMachinePath(unsigned short const *,class CString &,class CString *)
-?GetMachinePath@CMetabasePath@@SGPBGPBGAAVCString@@PAV2@@Z
-; protected: virtual struct AFX_MSGMAP const * __thiscall CConfirmDlg::GetMessageMap(void)const 
-?GetMessageMap@CConfirmDlg@@MBEPBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __thiscall CEmphasizedDialog::GetMessageMap(void)const 
-?GetMessageMap@CEmphasizedDialog@@MBEPBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __thiscall CHeaderListBox::GetMessageMap(void)const 
-?GetMessageMap@CHeaderListBox@@MBEPBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __thiscall CIISWizardBookEnd::GetMessageMap(void)const 
-?GetMessageMap@CIISWizardBookEnd@@MBEPBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __thiscall CIISWizardPage::GetMessageMap(void)const 
-?GetMessageMap@CIISWizardPage@@MBEPBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __thiscall CIISWizardSheet::GetMessageMap(void)const 
-?GetMessageMap@CIISWizardSheet@@MBEPBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __thiscall CInheritanceDlg::GetMessageMap(void)const 
-?GetMessageMap@CInheritanceDlg@@MBEPBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __thiscall CRMCComboBox::GetMessageMap(void)const 
-?GetMessageMap@CRMCComboBox@@MBEPBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __thiscall CRMCListBox::GetMessageMap(void)const 
-?GetMessageMap@CRMCListBox@@MBEPBUAFX_MSGMAP@@XZ
-; protected: virtual struct AFX_MSGMAP const * __thiscall CRMCListBoxHeader::GetMessageMap(void)const 
-?GetMessageMap@CRMCListBoxHeader@@MBEPBUAFX_MSGMAP@@XZ
-; public: static struct CMetaKey::tagMDFIELDDEF const * __stdcall CMetaKey::GetMetaProp(unsigned long)
-?GetMetaProp@CMetaKey@@SGPBUtagMDFIELDDEF@1@K@Z
-; public: void * __thiscall CRMCListBox::GetNextSelectedItem(int *)
-?GetNextSelectedItem@CRMCListBox@@QAEPAXPAH@Z
-; public: class CString & __thiscall CConfirmDlg::GetPassword(void)
-?GetPassword@CConfirmDlg@@QAEAAVCString@@XZ
-; public: long __thiscall CIISAppPool::GetProcessMode(unsigned long *)
-?GetProcessMode@CIISAppPool@@QAEJPAK@Z
-; protected: long __thiscall CWamInterface::GetProcessMode(unsigned long *)
-?GetProcessMode@CWamInterface@@IAEJPAK@Z
-; public: static int __stdcall CMetaKey::GetPropertyDescription(unsigned long,class CString &)
-?GetPropertyDescription@CMetaKey@@SGHKAAVCString@@@Z
-; protected: long __thiscall CMetaKey::GetPropertyValue(unsigned long,unsigned long &,void * &,unsigned long *,int *,unsigned short const *,unsigned long *)
-?GetPropertyValue@CMetaKey@@IAEJKAAKAAPAXPAKPAHPBG2@Z
-; protected: static int __stdcall CODLBox::GetRequiredWidth(class CDC *,class CRect const &,unsigned short const *,int)
-?GetRequiredWidth@CODLBox@@KGHPAVCDC@@ABVCRect@@PBGH@Z
-; public: static unsigned short const * __stdcall CMetabasePath::GetRootPath(unsigned short const *,class CString &,class CString *)
-?GetRootPath@CMetabasePath@@SGPBGPBGAAVCString@@PAV2@@Z
-; public: virtual struct CRuntimeClass * __thiscall CEmphasizedDialog::GetRuntimeClass(void)const 
-?GetRuntimeClass@CEmphasizedDialog@@UBEPAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __thiscall CHeaderListBox::GetRuntimeClass(void)const 
-?GetRuntimeClass@CHeaderListBox@@UBEPAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __thiscall CIISWizardBookEnd::GetRuntimeClass(void)const 
-?GetRuntimeClass@CIISWizardBookEnd@@UBEPAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __thiscall CIISWizardPage::GetRuntimeClass(void)const 
-?GetRuntimeClass@CIISWizardPage@@UBEPAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __thiscall CIISWizardSheet::GetRuntimeClass(void)const 
-?GetRuntimeClass@CIISWizardSheet@@UBEPAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __thiscall CRMCComboBox::GetRuntimeClass(void)const 
-?GetRuntimeClass@CRMCComboBox@@UBEPAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __thiscall CRMCListBox::GetRuntimeClass(void)const 
-?GetRuntimeClass@CRMCListBox@@UBEPAUCRuntimeClass@@XZ
-; public: virtual struct CRuntimeClass * __thiscall CRMCListBoxHeader::GetRuntimeClass(void)const 
-?GetRuntimeClass@CRMCListBoxHeader@@UBEPAUCRuntimeClass@@XZ
-; public: int __thiscall CRMCListBox::GetSel(int)const 
-?GetSel@CRMCListBox@@QBEHH@Z
-; public: int __thiscall CRMCListBox::GetSelCount(void)const 
-?GetSelCount@CRMCListBox@@QBEHXZ
-; public: void * __thiscall CRMCListBox::GetSelectedListItem(int *)
-?GetSelectedListItem@CRMCListBox@@QAEPAXPAH@Z
-; public: static unsigned short const * __stdcall CMetabasePath::GetServiceInfoPath(unsigned short const *,class CString &,unsigned short const *)
-?GetServiceInfoPath@CMetabasePath@@SGPBGPBGAAVCString@@0@Z
-; public: static unsigned short const * __stdcall CMetabasePath::GetServicePath(unsigned short const *,class CString &,class CString *)
-?GetServicePath@CMetabasePath@@SGPBGPBGAAVCString@@PAV2@@Z
-; protected: class CIISWizardSheet * __thiscall CIISWizardPage::GetSheet(void)const 
-?GetSheet@CIISWizardPage@@IBEPAVCIISWizardSheet@@XZ
-; public: void * __thiscall CAccessEntry::GetSid(void)
-?GetSid@CAccessEntry@@QAEPAXXZ
-; public: unsigned long __thiscall CBlob::GetSize(void)const 
-?GetSize@CBlob@@QBEKXZ
-; protected: class CFont * __thiscall CIISWizardPage::GetSpecialFont(void)
-?GetSpecialFont@CIISWizardPage@@IAEPAVCFont@@XZ
-; public: class CFont * __thiscall CIISWizardSheet::GetSpecialFont(int)
-?GetSpecialFont@CIISWizardSheet@@QAEPAVCFont@@H@Z
-; int __stdcall GetSpecialPathRealPath(int,class CString const &,class CString &)
-?GetSpecialPathRealPath@@YGHHABVCString@@AAV1@@Z
-; protected: void __thiscall CRMCListBoxResources::GetSysColors(void)
-?GetSysColors@CRMCListBoxResources@@IAEXXZ
-; public: long __thiscall CMetaInterface::GetSystemChangeNumber(unsigned long *)
-?GetSystemChangeNumber@CMetaInterface@@QAEJPAK@Z
-; public: unsigned int __thiscall CODLBox::GetTab(int)const 
-?GetTab@CODLBox@@QBEIH@Z
-; public: int __thiscall CGetUsers::GetUsers(struct HWND__ *,int)
-?GetUsers@CGetUsers@@QAEHPAUHWND__@@H@Z
-; int __stdcall GetVolumeInformationSystemFlags(unsigned short const *,unsigned long *)
-?GetVolumeInformationSystemFlags@@YGHPBGPAK@Z
-; protected: class CBrush * __thiscall CIISWizardPage::GetWindowBrush(void)
-?GetWindowBrush@CIISWizardPage@@IAEPAVCBrush@@XZ
-; public: class CBrush * __thiscall CIISWizardSheet::GetWindowBrush(void)
-?GetWindowBrush@CIISWizardSheet@@QAEPAVCBrush@@XZ
-; public: void __thiscall CIPAccessDescriptor::GrantAccess(int)
-?GrantAccess@CIPAccessDescriptor@@QAEXH@Z
-; public: long __thiscall CError::HResult(void)const 
-?HResult@CError@@QBEJXZ
-; public: static long __stdcall CError::HResult(long)
-?HResult@CError@@SGJJ@Z
-; public: int __thiscall CIPAccessDescriptor::HasAccess(void)const 
-?HasAccess@CIPAccessDescriptor@@QBEHXZ
-; public: int __thiscall CAccessEntry::HasAppropriateAccess(unsigned long)const 
-?HasAppropriateAccess@CAccessEntry@@QBEHK@Z
-; protected: int __thiscall CIISSvcControl::HasInterface(void)const 
-?HasInterface@CIISSvcControl@@IBEHXZ
-; protected: int __thiscall CMetaInterface::HasInterface(void)const 
-?HasInterface@CMetaInterface@@IBEHXZ
-; protected: int __thiscall CWamInterface::HasInterface(void)const 
-?HasInterface@CWamInterface@@IBEHXZ
-; protected: int __thiscall CError::HasOverride(unsigned int *)const 
-?HasOverride@CError@@IBEHPAI@Z
-; public: int __thiscall CAccessEntry::HasSomeAccess(void)const 
-?HasSomeAccess@CAccessEntry@@QBEHXZ
-; public: class CObject * __thiscall CObListPlus::Index(int)
-?Index@CObListPlus@@QAEPAVCObject@@H@Z
-; public: virtual int __thiscall CHeaderListBox::Initialize(void)
-?Initialize@CHeaderListBox@@UAEHXZ
-; public: static int __stdcall CINumber::Initialize(int)
-?Initialize@CINumber@@SGHH@Z
-; protected: void __thiscall CInheritanceDlg::Initialize(void)
-?Initialize@CInheritanceDlg@@IAEXXZ
-; protected: virtual int __thiscall CODLBox::Initialize(void)
-?Initialize@CODLBox@@MAEHXZ
-; public: virtual int __thiscall CRMCComboBox::Initialize(void)
-?Initialize@CRMCComboBox@@UAEHXZ
-; public: virtual int __thiscall CRMCListBox::Initialize(void)
-?Initialize@CRMCListBox@@UAEHXZ
-; protected: int __thiscall CHeaderListBox::InsertColumn(int,int,unsigned int,struct HINSTANCE__ *)
-?InsertColumn@CHeaderListBox@@IAEHHHIPAUHINSTANCE__@@@Z
-; protected: int __thiscall CHeaderListBox::InsertHeaderItem(int,struct _HD_ITEMW *)
-?InsertHeaderItem@CHeaderListBox@@IAEHHPAU_HD_ITEMW@@@Z
-; public: int __thiscall CRMCListBoxHeader::InsertItem(int,struct _HD_ITEMW *)
-?InsertItem@CRMCListBoxHeader@@QAEHHPAU_HD_ITEMW@@@Z
-; public: void __thiscall CODLBox::InsertTab(int,unsigned int)
-?InsertTab@CODLBox@@QAEXHI@Z
-; public: void __thiscall CRMCListBox::InvalidateSelection(int)
-?InvalidateSelection@CRMCListBox@@QAEXH@Z
-; long __stdcall IsAllNumHostHeader(unsigned short const *)
-?IsAllNumHostHeader@@YGJPBG@Z
-; protected: static int __stdcall CINumber::IsAllocated(void)
-?IsAllocated@CINumber@@KGHXZ
-; public: int __thiscall CIPAddress::IsBadValue(void)const 
-?IsBadValue@CIPAddress@@QBEHXZ
-; int __stdcall IsBiDiLocalizedSystem(void)
-?IsBiDiLocalizedSystem@@YGHXZ
-; public: int __thiscall CAccessEntry::IsDeletable(void)const 
-?IsDeletable@CAccessEntry@@QBEHXZ
-; public: int __thiscall CAccessEntry::IsDeleted(void)const 
-?IsDeleted@CAccessEntry@@QBEHXZ
-; int __stdcall IsDevicePath(class CString const &)
-?IsDevicePath@@YGHABVCString@@@Z
-; public: int __thiscall CAccessEntry::IsDirty(void)const 
-?IsDirty@CAccessEntry@@QBEHXZ
-; public: int __thiscall CObjHelper::IsDirty(void)const 
-?IsDirty@CObjHelper@@QBEHXZ
-; public: int __thiscall CIPAccessDescriptor::IsDomainName(void)const 
-?IsDomainName@CIPAccessDescriptor@@QBEHXZ
-; public: int __thiscall CBlob::IsEmpty(void)const 
-?IsEmpty@CBlob@@QBEHXZ
-; public: int __thiscall CInheritanceDlg::IsEmpty(void)const 
-?IsEmpty@CInheritanceDlg@@QBEHXZ
-; public: int __thiscall CStrPassword::IsEmpty(void)const 
-?IsEmpty@CStrPassword@@QBEHXZ
-; public: int __thiscall CIISApplication::IsEnabledApplication(void)const 
-?IsEnabledApplication@CIISApplication@@QBEHXZ
-; int __stdcall IsFullyQualifiedPath(class CString const &)
-?IsFullyQualifiedPath@@YGHABVCString@@@Z
-; protected: int __thiscall CIISWizardPage::IsHeaderPage(void)const 
-?IsHeaderPage@CIISWizardPage@@IBEHXZ
-; public: int __thiscall CMetaKey::IsHomeDirectoryPath(void)const 
-?IsHomeDirectoryPath@CMetaKey@@QBEHXZ
-; public: int __thiscall CMetabasePath::IsHomeDirectoryPath(void)const 
-?IsHomeDirectoryPath@CMetabasePath@@QBEHXZ
-; public: static int __stdcall CMetabasePath::IsHomeDirectoryPath(unsigned short const *)
-?IsHomeDirectoryPath@CMetabasePath@@SGHPBG@Z
-; public: static int __stdcall CINumber::IsInitialized(void)
-?IsInitialized@CINumber@@SGHXZ
-; public: int __thiscall CIISApplication::IsInproc(void)const 
-?IsInproc@CIISApplication@@QBEHXZ
-; public: int __thiscall CComAuthInfo::IsLocal(void)const 
-?IsLocal@CComAuthInfo@@QBEHXZ
-; public: int __thiscall CIISInterface::IsLocal(void)const 
-?IsLocal@CIISInterface@@QBEHXZ
-; int __stdcall IsLocalComputer(unsigned short const *)
-?IsLocalComputer@@YGHPBG@Z
-; public: static int __stdcall CMetabasePath::IsMasterInstance(unsigned short const *)
-?IsMasterInstance@CMetabasePath@@SGHPBG@Z
-; protected: int __thiscall CRMCListBox::IsMultiSelect(void)const 
-?IsMultiSelect@CRMCListBox@@IBEHXZ
-; public: int __thiscall CIPAccessDescriptor::IsMultiple(void)const 
-?IsMultiple@CIPAccessDescriptor@@QBEHXZ
-; int __stdcall IsNetworkPath(class CString const &,class CString *,class CString *)
-?IsNetworkPath@@YGHABVCString@@PAV1@1@Z
-; public: int __thiscall CMetaKey::IsOpen(void)const 
-?IsOpen@CMetaKey@@QBEHXZ
-; public: int __thiscall CIISApplication::IsOutOfProc(void)const 
-?IsOutOfProc@CIISApplication@@QBEHXZ
-; public: int __thiscall CIISApplication::IsPooledProc(void)const 
-?IsPooledProc@CIISApplication@@QBEHXZ
-; public: static int __stdcall CMetaKey::IsPropertyInheritable(unsigned long)
-?IsPropertyInheritable@CMetaKey@@SGHK@Z
-; int __stdcall IsRestrictedFilename(class CString const &)
-?IsRestrictedFilename@@YGHABVCString@@@Z
-; public: int __thiscall CAccessEntry::IsSIDResolved(void)const 
-?IsSIDResolved@CAccessEntry@@QBEHXZ
-; int __stdcall IsServerLocal(unsigned short const *)
-?IsServerLocal@@YGHPBG@Z
-; public: int __thiscall CIPAccessDescriptor::IsSingle(void)const 
-?IsSingle@CIPAccessDescriptor@@QBEHXZ
-; int __stdcall IsSpecialPath(class CString const &,int,int)
-?IsSpecialPath@@YGHABVCString@@HH@Z
-; int __stdcall IsUNCName(class CString const &)
-?IsUNCName@@YGHABVCString@@@Z
-; int __stdcall IsURLName(class CString const &)
-?IsURLName@@YGHABVCString@@@Z
-; public: virtual int __thiscall CObjHelper::IsValid(void)const 
-?IsValid@CObjHelper@@UBEHXZ
-; long __stdcall IsValidHostHeader(unsigned short const *)
-?IsValidHostHeader@@YGJPBG@Z
-; public: int __thiscall CAccessEntry::IsVisible(void)const 
-?IsVisible@CAccessEntry@@QBEHXZ
-; protected: int __thiscall CIISWizardBookEnd::IsWelcomePage(void)const 
-?IsWelcomePage@CIISWizardBookEnd@@IBEHXZ
-; protected: int __thiscall CIISWizardPage::IsWizard97(void)const 
-?IsWizard97@CIISWizardPage@@IBEHXZ
-; public: int __thiscall CIISWizardSheet::IsWizard97(void)const 
-?IsWizard97@CIISWizardSheet@@QBEHXZ
-; public: int __thiscall CIPAddress::IsZeroValue(void)const 
-?IsZeroValue@CIPAddress@@QBEHXZ
-; public: long __thiscall CIISSvcControl::Kill(void)
-?Kill@CIISSvcControl@@QAEJXZ
-; long __stdcall LimitInputDomainName(struct HWND__ *)
-?LimitInputDomainName@@YGJPAUHWND__@@@Z
-; long __stdcall LimitInputPath(struct HWND__ *,int)
-?LimitInputPath@@YGJPAUHWND__@@H@Z
-; protected: int __thiscall CMappedBitmapButton::LoadMappedBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)
-?LoadMappedBitmaps@CMappedBitmapButton@@IAEHIIII@Z
-; public: static unsigned short * __stdcall CIPAddress::LongToString(unsigned long,unsigned short *,int)
-?LongToString@CIPAddress@@SGPAGKPAGH@Z
-; public: static unsigned short const * __stdcall CIPAddress::LongToString(unsigned long,class ATL::CComBSTR &)
-?LongToString@CIPAddress@@SGPBGKAAVCComBSTR@ATL@@@Z
-; public: static unsigned short const * __stdcall CIPAddress::LongToString(unsigned long,class CString &)
-?LongToString@CIPAddress@@SGPBGKAAVCString@@@Z
-; int __stdcall LooksLikeIPAddress(unsigned short const *)
-?LooksLikeIPAddress@@YGHPBG@Z
-; public: static int __stdcall CAccessEntry::LookupAccountSidW(class CString &,int &,void *,unsigned short const *)
-?LookupAccountSidW@CAccessEntry@@SGHAAVCString@@AAHPAXPBG@Z
-; unsigned short const * __stdcall MakeUNCPath(class CString &,unsigned short const *,unsigned short const *)
-?MakeUNCPath@@YGPBGAAVCString@@PBG1@Z
-; public: static int __stdcall CMetaKey::MapMDIDToTableIndex(unsigned long)
-?MapMDIDToTableIndex@CMetaKey@@SGHK@Z
-; public: void __thiscall CAccessEntry::MarkEntryAsChanged(void)
-?MarkEntryAsChanged@CAccessEntry@@QAEXXZ
-; public: void __thiscall CAccessEntry::MarkEntryAsClean(void)
-?MarkEntryAsClean@CAccessEntry@@QAEXXZ
-; public: void __thiscall CAccessEntry::MarkEntryAsNew(void)
-?MarkEntryAsNew@CAccessEntry@@QAEXXZ
-; protected: virtual void __thiscall CRMCComboBox::MeasureItem(struct tagMEASUREITEMSTRUCT *)
-?MeasureItem@CRMCComboBox@@MAEXPAUtagMEASUREITEMSTRUCT@@@Z
-; protected: virtual void __thiscall CRMCListBox::MeasureItem(struct tagMEASUREITEMSTRUCT *)
-?MeasureItem@CRMCListBox@@MAEXPAUtagMEASUREITEMSTRUCT@@@Z
-; public: int __cdecl CError::MessageBoxFormat(struct HWND__ *,unsigned int,unsigned int,unsigned int,...)const 
-?MessageBoxFormat@CError@@QBAHPAUHWND__@@IIIZZ
-; public: int __thiscall CError::MessageBoxOnFailure(struct HWND__ *,unsigned int,unsigned int)const 
-?MessageBoxOnFailure@CError@@QBEHPAUHWND__@@II@Z
-; public: int __thiscall CError::MessageBoxW(struct HWND__ *,unsigned int,unsigned int)const 
-?MessageBoxW@CError@@QBEHPAUHWND__@@II@Z
-; unsigned long __stdcall MyGetHostName(unsigned long,class CString &)
-?MyGetHostName@@YGKKAAVCString@@@Z
-; long __stdcall MyValidatePath(unsigned short const *,int,int,unsigned long,unsigned long)
-?MyValidatePath@@YGJPBGHHKK@Z
-; public: long __thiscall CMetaBack::Next(unsigned long *,unsigned short *,struct _FILETIME *)
-?Next@CMetaBack@@QAEJPAKPAGPAU_FILETIME@@@Z
-; public: long __thiscall CMetaEnumerator::Next(unsigned long &,class CString &,unsigned short const *)
-?Next@CMetaEnumerator@@QAEJAAKAAVCString@@PBG@Z
-; public: long __thiscall CMetaEnumerator::Next(class CString &,unsigned short const *)
-?Next@CMetaEnumerator@@QAEJAAVCString@@PBG@Z
-; public: class CObject * __thiscall CObListIter::Next(void)
-?Next@CObListIter@@QAEPAVCObject@@XZ
-; public: long __thiscall CMetaBack::NextHistory(unsigned long *,unsigned long *,unsigned short *,struct _FILETIME *)
-?NextHistory@CMetaBack@@QAEJPAK0PAGPAU_FILETIME@@@Z
-; public: int __thiscall CODLBox::NumTabs(void)const 
-?NumTabs@CODLBox@@QBEHXZ
-; protected: void __thiscall CInheritanceDlg::OnButtonSelectAll(void)
-?OnButtonSelectAll@CInheritanceDlg@@IAEXXZ
-; protected: int __thiscall CHeaderListBox::OnCreate(struct tagCREATESTRUCTW *)
-?OnCreate@CHeaderListBox@@IAEHPAUtagCREATESTRUCTW@@@Z
-; protected: int __thiscall CRMCComboBox::OnCreate(struct tagCREATESTRUCTW *)
-?OnCreate@CRMCComboBox@@IAEHPAUtagCREATESTRUCTW@@@Z
-; protected: int __thiscall CRMCListBox::OnCreate(struct tagCREATESTRUCTW *)
-?OnCreate@CRMCListBox@@IAEHPAUtagCREATESTRUCTW@@@Z
-; protected: struct HBRUSH__ * __thiscall CIISWizardPage::OnCtlColor(class CDC *,class CWnd *,unsigned int)
-?OnCtlColor@CIISWizardPage@@IAEPAUHBRUSH__@@PAVCDC@@PAVCWnd@@I@Z
-; protected: void __thiscall CEmphasizedDialog::OnDestroy(void)
-?OnDestroy@CEmphasizedDialog@@IAEXXZ
-; protected: void __thiscall CHeaderListBox::OnDestroy(void)
-?OnDestroy@CHeaderListBox@@IAEXXZ
-; protected: void __thiscall CIISWizardSheet::OnDestroy(void)
-?OnDestroy@CIISWizardSheet@@IAEXXZ
-; protected: void __thiscall CRMCListBoxHeader::OnDestroy(void)
-?OnDestroy@CRMCListBoxHeader@@IAEXXZ
-; protected: int __thiscall CIISWizardPage::OnEraseBkgnd(class CDC *)
-?OnEraseBkgnd@CIISWizardPage@@IAEHPAVCDC@@@Z
-; protected: void __thiscall CRMCListBoxHeader::OnHeaderEndTrack(unsigned int,struct tagNMHDR *,long *)
-?OnHeaderEndTrack@CRMCListBoxHeader@@IAEXIPAUtagNMHDR@@PAJ@Z
-; protected: void __thiscall CRMCListBoxHeader::OnHeaderItemChanged(unsigned int,struct tagNMHDR *,long *)
-?OnHeaderItemChanged@CRMCListBoxHeader@@IAEXIPAUtagNMHDR@@PAJ@Z
-; protected: void __thiscall CRMCListBoxHeader::OnHeaderItemClick(unsigned int,struct tagNMHDR *,long *)
-?OnHeaderItemClick@CRMCListBoxHeader@@IAEXIPAUtagNMHDR@@PAJ@Z
-; protected: void __thiscall CInheritanceDlg::OnHelp(void)
-?OnHelp@CInheritanceDlg@@IAEXXZ
-; protected: virtual int __thiscall CEmphasizedDialog::OnInitDialog(void)
-?OnInitDialog@CEmphasizedDialog@@MAEHXZ
-; protected: virtual int __thiscall CIISWizardBookEnd::OnInitDialog(void)
-?OnInitDialog@CIISWizardBookEnd@@MAEHXZ
-; protected: virtual int __thiscall CIISWizardPage::OnInitDialog(void)
-?OnInitDialog@CIISWizardPage@@MAEHXZ
-; protected: virtual int __thiscall CIISWizardSheet::OnInitDialog(void)
-?OnInitDialog@CIISWizardSheet@@MAEHXZ
-; protected: virtual int __thiscall CInheritanceDlg::OnInitDialog(void)
-?OnInitDialog@CInheritanceDlg@@MAEHXZ
-; protected: virtual void __thiscall CInheritanceDlg::OnOK(void)
-?OnOK@CInheritanceDlg@@MAEXXZ
-; public: virtual int __thiscall CIISWizardBookEnd::OnSetActive(void)
-?OnSetActive@CIISWizardBookEnd@@UAEHXZ
-; protected: void __thiscall CRMCListBoxHeader::OnSetFocus(class CWnd *)
-?OnSetFocus@CRMCListBoxHeader@@IAEXPAVCWnd@@@Z
-; public: long __thiscall CMetaKey::Open(unsigned long,unsigned short const *,unsigned long)
-?Open@CMetaKey@@QAEJKPBGK@Z
-; protected: long __thiscall CMetaInterface::OpenKey(unsigned long,unsigned short const *,unsigned long,unsigned long *)
-?OpenKey@CMetaInterface@@IAEJKPBGKPAK@Z
-; public: int __thiscall CIPAccessDescriptor::OrderByAddress(class CObjectPlus const *)const 
-?OrderByAddress@CIPAccessDescriptor@@QBEHPBVCObjectPlus@@@Z
-; int __stdcall PCToUnixText(unsigned short * &,class CString)
-?PCToUnixText@@YGHAAPAGVCString@@@Z
-; int __stdcall PathIsValid(unsigned short const *,int)
-?PathIsValid@@YGHPBGH@Z
-; unsigned long __stdcall PopulateComboWithKnownIpAddresses(unsigned short const *,class CComboBox &,class CIPAddress &,class CObListPlus &,int &)
-?PopulateComboWithKnownIpAddresses@@YGKPBGAAVCComboBox@@AAVCIPAddress@@AAVCObListPlus@@AAH@Z
-; protected: void __thiscall CRMCListBoxResources::PrepareBitmaps(void)
-?PrepareBitmaps@CRMCListBoxResources@@IAEXXZ
-; protected: void __thiscall CGetComputer::ProcessSelectedObjects(struct IDataObject *)
-?ProcessSelectedObjects@CGetComputer@@IAEXPAUIDataObject@@@Z
-; protected: void __thiscall CGetUsers::ProcessSelectedObjects(struct IDataObject *)
-?ProcessSelectedObjects@CGetUsers@@IAEXPAUIDataObject@@@Z
-; public: unsigned long __thiscall CAccessEntry::QueryAccessMask(void)const 
-?QueryAccessMask@CAccessEntry@@QBEKXZ
-; public: unsigned long __thiscall CObjHelper::QueryAge(void)const 
-?QueryAge@CObjHelper@@QBEKXZ
-; public: long __thiscall CObjHelper::QueryApiErr(void)const 
-?QueryApiErr@CObjHelper@@QBEJXZ
-; public: unsigned long __thiscall CIISApplication::QueryAppState(void)const 
-?QueryAppState@CIISApplication@@QBEKXZ
-; public: class CComAuthInfo * __thiscall CIISInterface::QueryAuthInfo(void)
-?QueryAuthInfo@CIISInterface@@QAEPAVCComAuthInfo@@XZ
-; protected: long __thiscall CIISWizardPage::QueryBitmapHeight(void)const 
-?QueryBitmapHeight@CIISWizardPage@@IBEJXZ
-; public: long __thiscall CIISWizardSheet::QueryBitmapHeight(int)const 
-?QueryBitmapHeight@CIISWizardSheet@@QBEJH@Z
-; protected: long __thiscall CIISWizardPage::QueryBitmapWidth(void)const 
-?QueryBitmapWidth@CIISWizardPage@@IBEJXZ
-; public: long __thiscall CIISWizardSheet::QueryBitmapWidth(int)const 
-?QueryBitmapWidth@CIISWizardSheet@@QBEJH@Z
-; public: int __thiscall CHeaderListBox::QueryColumnWidth(int)const 
-?QueryColumnWidth@CHeaderListBox@@QBEHH@Z
-; public: unsigned long __thiscall CObjHelper::QueryCreationTime(void)const 
-?QueryCreationTime@CObjHelper@@QBEKXZ
-; public: static unsigned short const * __stdcall CINumber::QueryCurrency(void)
-?QueryCurrency@CINumber@@SGPBGXZ
-; public: static unsigned short const * __stdcall CINumber::QueryDecimalPoint(void)
-?QueryDecimalPoint@CINumber@@SGPBGXZ
-; public: unsigned short const * __thiscall CIPAccessDescriptor::QueryDomainName(void)const 
-?QueryDomainName@CIPAccessDescriptor@@QBEPBGXZ
-; public: long __thiscall CObjHelper::QueryError(void)const 
-?QueryError@CObjHelper@@QBEJXZ
-; public: unsigned long __thiscall CMetaKey::QueryFlags(void)const 
-?QueryFlags@CMetaKey@@QBEKXZ
-; public: unsigned long __thiscall CIPAddress::QueryHostOrderIPAddress(void)const 
-?QueryHostOrderIPAddress@CIPAddress@@QBEKXZ
-; public: class CIPAddress  __thiscall CIPAccessDescriptor::QueryIPAddress(void)const 
-?QueryIPAddress@CIPAccessDescriptor@@QBE?AVCIPAddress@@XZ
-; public: unsigned long __thiscall CIPAccessDescriptor::QueryIPAddress(int)const 
-?QueryIPAddress@CIPAccessDescriptor@@QBEKH@Z
-; public: unsigned long __thiscall CIPAddress::QueryIPAddress(int)const 
-?QueryIPAddress@CIPAddress@@QBEKH@Z
-; public: unsigned short const * __thiscall CIPAddress::QueryIPAddress(class ATL::CComBSTR &)const 
-?QueryIPAddress@CIPAddress@@QBEPBGAAVCComBSTR@ATL@@@Z
-; public: unsigned short const * __thiscall CIPAddress::QueryIPAddress(class CString &)const 
-?QueryIPAddress@CIPAddress@@QBEPBGAAVCString@@@Z
-; public: unsigned short const * __thiscall CMetaKey::QueryMetaPath(void)const 
-?QueryMetaPath@CMetaKey@@QBEPBGXZ
-; public: unsigned short const * __thiscall CMetabasePath::QueryMetaPath(void)const 
-?QueryMetaPath@CMetabasePath@@QBEPBGXZ
-; public: unsigned long __thiscall CIPAddress::QueryNetworkOrderIPAddress(void)const 
-?QueryNetworkOrderIPAddress@CIPAddress@@QBEKXZ
-; public: int __thiscall CHeaderListBox::QueryNumColumns(void)const 
-?QueryNumColumns@CHeaderListBox@@QBEHXZ
-; public: int __thiscall CRMCListBoxHeader::QueryNumColumns(void)const 
-?QueryNumColumns@CRMCListBoxHeader@@QBEHXZ
-; public: unsigned short * __thiscall CComAuthInfo::QueryPassword(void)const 
-?QueryPassword@CComAuthInfo@@QBEPAGXZ
-; public: int __thiscall CAccessEntry::QueryPictureID(void)const 
-?QueryPictureID@CAccessEntry@@QBEHXZ
-; public: unsigned long __thiscall CIISAppPool::QueryPoolState(void)const 
-?QueryPoolState@CIISAppPool@@QBEKXZ
-; public: struct __POSITION * __thiscall CObListIter::QueryPosition(void)const 
-?QueryPosition@CObListIter@@QBEPAU__POSITION@@XZ
-; public: virtual long __thiscall CIISAppPool::QueryResult(void)const 
-?QueryResult@CIISAppPool@@UBEJXZ
-; public: virtual long __thiscall CIISApplication::QueryResult(void)const 
-?QueryResult@CIISApplication@@UBEJXZ
-; public: virtual long __thiscall CIISInterface::QueryResult(void)const 
-?QueryResult@CIISInterface@@UBEJXZ
-; public: virtual long __thiscall CMetaBack::QueryResult(void)const 
-?QueryResult@CMetaBack@@UBEJXZ
-; public: virtual long __thiscall CMetaKey::QueryResult(void)const 
-?QueryResult@CMetaKey@@UBEJXZ
-; public: unsigned short * __thiscall CComAuthInfo::QueryServerName(void)const 
-?QueryServerName@CComAuthInfo@@QBEPAGXZ
-; public: unsigned short const * __thiscall CIISInterface::QueryServerName(void)const 
-?QueryServerName@CIISInterface@@QBEPBGXZ
-; public: class CIPAddress  __thiscall CIPAccessDescriptor::QuerySubnetMask(void)const 
-?QuerySubnetMask@CIPAccessDescriptor@@QBE?AVCIPAddress@@XZ
-; public: unsigned long __thiscall CIPAccessDescriptor::QuerySubnetMask(int)const 
-?QuerySubnetMask@CIPAccessDescriptor@@QBEKH@Z
-; public: static unsigned short const * __stdcall CINumber::QueryThousandSeparator(void)
-?QueryThousandSeparator@CINumber@@SGPBGXZ
-; public: unsigned short const * __thiscall CAccessEntry::QueryUserName(void)const 
-?QueryUserName@CAccessEntry@@QBEPBGXZ
-; public: unsigned short * __thiscall CComAuthInfo::QueryUserName(void)const 
-?QueryUserName@CComAuthInfo@@QBEPAGXZ
-; public: long __thiscall CMetaKey::QueryValue(unsigned long,int &,int *,unsigned short const *,unsigned long *)
-?QueryValue@CMetaKey@@QAEJKAAHPAHPBGPAK@Z
-; public: long __thiscall CMetaKey::QueryValue(unsigned long,unsigned long &,int *,unsigned short const *,unsigned long *)
-?QueryValue@CMetaKey@@QAEJKAAKPAHPBGPAK@Z
-; public: long __thiscall CMetaKey::QueryValue(unsigned long,class CBlob &,int *,unsigned short const *,unsigned long *)
-?QueryValue@CMetaKey@@QAEJKAAVCBlob@@PAHPBGPAK@Z
-; public: long __thiscall CMetaKey::QueryValue(unsigned long,class ATL::CComBSTR &,int *,unsigned short const *,unsigned long *)
-?QueryValue@CMetaKey@@QAEJKAAVCComBSTR@ATL@@PAHPBGPAK@Z
-; public: long __thiscall CMetaKey::QueryValue(unsigned long,class CStrPassword &,int *,unsigned short const *,unsigned long *)
-?QueryValue@CMetaKey@@QAEJKAAVCStrPassword@@PAHPBGPAK@Z
-; public: long __thiscall CMetaKey::QueryValue(unsigned long,class CString &,int *,unsigned short const *,unsigned long *)
-?QueryValue@CMetaKey@@QAEJKAAVCString@@PAHPBGPAK@Z
-; public: long __thiscall CMetaKey::QueryValue(unsigned long,class CStringListEx &,int *,unsigned short const *,unsigned long *)
-?QueryValue@CMetaKey@@QAEJKAAVCStringListEx@@PAHPBGPAK@Z
-; public: unsigned short const * __thiscall CIISAppPool::QueryWamPath(void)const 
-?QueryWamPath@CIISAppPool@@QBEPBGXZ
-; public: unsigned short const * __thiscall CIISApplication::QueryWamPath(void)const 
-?QueryWamPath@CIISApplication@@QBEPBGXZ
-; protected: unsigned long __thiscall CIISWizardPage::QueryWindowColor(void)const 
-?QueryWindowColor@CIISWizardPage@@IBEKXZ
-; public: unsigned long __thiscall CIISWizardSheet::QueryWindowColor(void)const 
-?QueryWindowColor@CIISWizardSheet@@QBEKXZ
-; protected: unsigned long __thiscall CIISWizardPage::QueryWindowTextColor(void)const 
-?QueryWindowTextColor@CIISWizardPage@@IBEKXZ
-; public: unsigned long __thiscall CIISWizardSheet::QueryWindowTextColor(void)const 
-?QueryWindowTextColor@CIISWizardSheet@@QBEKXZ
-; public: long __thiscall CMetaKey::ReOpen(unsigned long)
-?ReOpen@CMetaKey@@QAEJK@Z
-; public: long __thiscall CMetaKey::ReOpen(void)
-?ReOpen@CMetaKey@@QAEJXZ
-; public: long __thiscall CIISSvcControl::Reboot(unsigned long,int)
-?Reboot@CIISSvcControl@@QAEJKH@Z
-; public: long __thiscall CIISApplication::Recover(int)
-?Recover@CIISApplication@@QAEJH@Z
-; public: long __thiscall CIISAppPool::Recycle(unsigned short const *)
-?Recycle@CIISAppPool@@QAEJPBG@Z
-; protected: long __thiscall CWamInterface::RecycleApplicationPool(unsigned short const *)
-?RecycleApplicationPool@CWamInterface@@IAEJPBG@Z
-; public: long __thiscall CIISApplication::RefreshAppState(void)
-?RefreshAppState@CIISApplication@@QAEJXZ
-; public: long __thiscall CIISAppPool::RefreshState(void)
-?RefreshState@CIISAppPool@@QAEJXZ
-; public: long __thiscall CMetaInterface::Regenerate(void)
-?Regenerate@CMetaInterface@@QAEJXZ
-; public: static void __stdcall CError::RegisterFacility(unsigned long,char const *)
-?RegisterFacility@CError@@SGXKPBD@Z
-; public: int __thiscall CObListPlus::Remove(class CObject *)
-?Remove@CObListPlus@@QAEHPAVCObject@@@Z
-; public: void __thiscall CObListPlus::RemoveAll(void)
-?RemoveAll@CObListPlus@@QAEXXZ
-; public: void __thiscall CError::RemoveAllOverrides(void)
-?RemoveAllOverrides@CError@@QAEXXZ
-; public: void __thiscall CODLBox::RemoveAllTabs(void)
-?RemoveAllTabs@CODLBox@@QAEXXZ
-; public: void __thiscall CObListPlus::RemoveAt(struct __POSITION * &)
-?RemoveAt@CObListPlus@@QAEXAAPAU__POSITION@@@Z
-; public: void __thiscall CComAuthInfo::RemoveImpersonation(void)
-?RemoveImpersonation@CComAuthInfo@@QAEXXZ
-; public: int __thiscall CObListPlus::RemoveIndex(int)
-?RemoveIndex@CObListPlus@@QAEHH@Z
-; public: void __thiscall CError::RemoveOverride(long)
-?RemoveOverride@CError@@QAEXJ@Z
-; public: void __thiscall CAccessEntry::RemovePermissions(unsigned long)
-?RemovePermissions@CAccessEntry@@QAEXK@Z
-; public: void __thiscall CODLBox::RemoveTab(int,int)
-?RemoveTab@CODLBox@@QAEXHH@Z
-; protected: long __thiscall CMetaInterface::RenameKey(unsigned long,unsigned short const *,unsigned short const *)
-?RenameKey@CMetaInterface@@IAEJKPBG0@Z
-; public: long __thiscall CMetaKey::RenameKey(unsigned short const *,unsigned short const *)
-?RenameKey@CMetaKey@@QAEJPBG0@Z
-; unsigned long __stdcall ReplaceStringInString(class CString &,class CString &,class CString &,int)
-?ReplaceStringInString@@YGKAAVCString@@00H@Z
-; public: void __thiscall CObjHelper::ReportError(long)
-?ReportError@CObjHelper@@QAEXJ@Z
-; public: void __thiscall CError::Reset(void)
-?Reset@CError@@QAEXXZ
-; public: void __thiscall CMetaBack::Reset(void)
-?Reset@CMetaBack@@QAEXXZ
-; public: void __thiscall CMetaEnumerator::Reset(void)
-?Reset@CMetaEnumerator@@QAEXXZ
-; public: void __thiscall CObListIter::Reset(void)
-?Reset@CObListIter@@QAEXXZ
-; public: void __thiscall CObjHelper::ResetErrors(void)
-?ResetErrors@CObjHelper@@QAEXXZ
-; public: int __thiscall CAccessEntry::ResolveSID(void)
-?ResolveSID@CAccessEntry@@QAEHXZ
-; public: void __thiscall CRMCListBoxHeader::RespondToColumnWidthChanges(int)
-?RespondToColumnWidthChanges@CRMCListBoxHeader@@QAEXH@Z
-; public: long __thiscall CMetaBack::Restore(unsigned short const *,unsigned long)
-?Restore@CMetaBack@@QAEJPBGK@Z
-; protected: long __thiscall CMetaInterface::Restore(unsigned short const *,unsigned long,unsigned long)
-?Restore@CMetaInterface@@IAEJPBGKK@Z
-; protected: long __thiscall CMetaInterface::RestoreHistory(unsigned short const *,unsigned long,unsigned long,unsigned long)
-?RestoreHistory@CMetaInterface@@IAEJPBGKKK@Z
-; public: long __thiscall CMetaBack::RestoreHistoryBackup(unsigned short const *,unsigned long,unsigned long,unsigned long)
-?RestoreHistoryBackup@CMetaBack@@QAEJPBGKKK@Z
-; public: long __thiscall CMetaBack::RestoreWithPassword(unsigned short const *,unsigned long,unsigned short const *)
-?RestoreWithPassword@CMetaBack@@QAEJPBGK0@Z
-; protected: long __thiscall CMetaInterface::RestoreWithPassword(unsigned short const *,unsigned long,unsigned long,unsigned short const *)
-?RestoreWithPassword@CMetaInterface@@IAEJPBGKK0@Z
-; public: long __thiscall CMetaInterface::SaveData(void)
-?SaveData@CMetaInterface@@QAEJXZ
-; public: int __thiscall CRMCListBox::SelectItem(void *)
-?SelectItem@CRMCListBox@@QAEHPAX@Z
-; public: int __thiscall CObListPlus::SetAll(int)
-?SetAll@CObListPlus@@QAEHH@Z
-; public: long __thiscall CObjHelper::SetApiErr(long)
-?SetApiErr@CObjHelper@@QAEJJ@Z
-; public: int __thiscall CHeaderListBox::SetColumnWidth(int,int)
-?SetColumnWidth@CHeaderListBox@@QAEHHH@Z
-; public: void __thiscall CRMCListBoxHeader::SetColumnWidth(int,int)
-?SetColumnWidth@CRMCListBoxHeader@@QAEXHH@Z
-; protected: void __thiscall CComAuthInfo::SetComputerNameW(unsigned short const *)
-?SetComputerNameW@CComAuthInfo@@IAEXPBG@Z
-; public: int __thiscall CRMCListBox::SetCurSel(int)
-?SetCurSel@CRMCListBox@@QAEHH@Z
-; protected: long __thiscall CMetaInterface::SetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *)
-?SetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@@Z
-; public: void __thiscall CObjHelper::SetDirty(int)
-?SetDirty@CObjHelper@@QAEXH@Z
-; protected: int __thiscall CHeaderListBox::SetHeaderItem(int,struct _HD_ITEMW *)
-?SetHeaderItem@CHeaderListBox@@IAEHHPAU_HD_ITEMW@@@Z
-; public: void __thiscall CComAuthInfo::SetImpersonation(unsigned short const *,unsigned short const *)
-?SetImpersonation@CComAuthInfo@@QAEXPBG0@Z
-; public: int __thiscall CRMCListBoxHeader::SetItem(int,struct _HD_ITEMW *)
-?SetItem@CRMCListBoxHeader@@QAEHHPAU_HD_ITEMW@@@Z
-; protected: long __thiscall CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
-?SetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
-; public: void __thiscall CError::SetLastWinError(void)const 
-?SetLastWinError@CError@@QBEXXZ
-; public: int __thiscall CObListPlus::SetOwnership(int)
-?SetOwnership@CObListPlus@@QAEHH@Z
-; public: void __thiscall CObListIter::SetPosition(struct __POSITION *)
-?SetPosition@CObListIter@@QAEXPAU__POSITION@@@Z
-; protected: long __thiscall CMetaKey::SetPropertyValue(unsigned long,unsigned long,void *,int *,unsigned short const *)
-?SetPropertyValue@CMetaKey@@IAEJKKPAXPAHPBG@Z
-; public: void __thiscall CConfirmDlg::SetReference(class CString &)
-?SetReference@CConfirmDlg@@QAEXAAVCString@@@Z
-; public: void __thiscall CODLBox::SetTab(int,unsigned int)
-?SetTab@CODLBox@@QAEXHI@Z
-; protected: void __thiscall CRMCListBoxHeader::SetTabsFromHeader(void)
-?SetTabsFromHeader@CRMCListBoxHeader@@IAEXXZ
-; public: void __thiscall CBlob::SetValue(unsigned long,unsigned char *,int)
-?SetValue@CBlob@@QAEXKPAEH@Z
-; public: long __thiscall CMetaKey::SetValue(unsigned long,class CBlob &,int *,unsigned short const *)
-?SetValue@CMetaKey@@QAEJKAAVCBlob@@PAHPBG@Z
-; public: long __thiscall CMetaKey::SetValue(unsigned long,class CStrPassword &,int *,unsigned short const *)
-?SetValue@CMetaKey@@QAEJKAAVCStrPassword@@PAHPBG@Z
-; public: long __thiscall CMetaKey::SetValue(unsigned long,class CString &,int *,unsigned short const *)
-?SetValue@CMetaKey@@QAEJKAAVCString@@PAHPBG@Z
-; public: long __thiscall CMetaKey::SetValue(unsigned long,class CStringListEx &,int *,unsigned short const *)
-?SetValue@CMetaKey@@QAEJKAAVCStringListEx@@PAHPBG@Z
-; public: long __thiscall CMetaKey::SetValue(unsigned long,int,int *,unsigned short const *)
-?SetValue@CMetaKey@@QAEJKHPAHPBG@Z
-; public: long __thiscall CMetaKey::SetValue(unsigned long,unsigned long,int *,unsigned short const *)
-?SetValue@CMetaKey@@QAEJKKPAHPBG@Z
-; public: void __thiscall CIPAccessDescriptor::SetValues(int,unsigned long,unsigned long,int)
-?SetValues@CIPAccessDescriptor@@QAEXHKKH@Z
-; public: void __thiscall CIPAccessDescriptor::SetValues(int,unsigned short const *)
-?SetValues@CIPAccessDescriptor@@QAEXHPBG@Z
-; protected: int __thiscall CHeaderListBox::SetWidthsFromReg(void)
-?SetWidthsFromReg@CHeaderListBox@@IAEHXZ
-; protected: void __thiscall CIISWizardPage::SetWizardButtons(unsigned long)
-?SetWizardButtons@CIISWizardPage@@IAEXK@Z
-; public: void __thiscall CIPAddress::SetZeroValue(void)
-?SetZeroValue@CIPAddress@@QAEXXZ
-; public: int __thiscall CHeaderListBox::ShowWindow(int)
-?ShowWindow@CHeaderListBox@@QAEHH@Z
-; public: unsigned long __thiscall CObListPlus::Sort(int (__thiscall CObjectPlus::*)(class CObjectPlus const *)const )
-?Sort@CObListPlus@@QAEKP8CObjectPlus@@BEHPBV2@@Z@Z
-; protected: static int __cdecl CObListPlus::SortHelper(void const *,void const *)
-?SortHelper@CObListPlus@@KAHPBX0@Z
-; public: static void __stdcall CMetabasePath::SplitMetaPathAtInstance(unsigned short const *,class CString &,class CString &)
-?SplitMetaPathAtInstance@CMetabasePath@@SGXPBGAAVCString@@1@Z
-; public: static int __stdcall CComAuthInfo::SplitUserNameAndDomain(class CString &,class CString &)
-?SplitUserNameAndDomain@CComAuthInfo@@SGHAAVCString@@0@Z
-; public: long __thiscall CIISSvcControl::Start(unsigned long)
-?Start@CIISSvcControl@@QAEJK@Z
-; public: long __thiscall CIISSvcControl::Status(unsigned long,unsigned char *,unsigned long *,unsigned long *)
-?Status@CIISSvcControl@@QAEJKPAEPAK1@Z
-; public: long __thiscall CIISSvcControl::Stop(unsigned long,int)
-?Stop@CIISSvcControl@@QAEJKH@Z
-; public: void __thiscall CComAuthInfo::StorePassword(unsigned short const *)
-?StorePassword@CComAuthInfo@@QAEXPBG@Z
-; public: static unsigned long __stdcall CIPAddress::StringToLong(class ATL::CComBSTR const &)
-?StringToLong@CIPAddress@@SGKABVCComBSTR@ATL@@@Z
-; public: static unsigned long __stdcall CIPAddress::StringToLong(class CString const &)
-?StringToLong@CIPAddress@@SGKABVCString@@@Z
-; public: static unsigned long __stdcall CIPAddress::StringToLong(unsigned short const *,int)
-?StringToLong@CIPAddress@@SGKPBGH@Z
-; public: int __thiscall CError::Succeeded(void)const 
-?Succeeded@CError@@QBEHXZ
-; public: static int __stdcall CError::Succeeded(long)
-?Succeeded@CError@@SGHJ@Z
-; public: virtual int __thiscall CIISAppPool::Succeeded(void)const 
-?Succeeded@CIISAppPool@@UBEHXZ
-; public: virtual int __thiscall CIISApplication::Succeeded(void)const 
-?Succeeded@CIISApplication@@UBEHXZ
-; public: virtual int __thiscall CIISInterface::Succeeded(void)const 
-?Succeeded@CIISInterface@@UBEHXZ
-; public: virtual int __thiscall CMetaBack::Succeeded(void)const 
-?Succeeded@CMetaBack@@UBEHXZ
-; public: virtual int __thiscall CMetaKey::Succeeded(void)const 
-?Succeeded@CMetaKey@@UBEHXZ
-; public: int __thiscall CWamInterface::SupportsPooledProc(void)const 
-?SupportsPooledProc@CWamInterface@@QBEHXZ
-; int __stdcall SupportsSecurityACLs(unsigned short const *)
-?SupportsSecurityACLs@@YGHPBG@Z
-; public: void __thiscall CRMCListBoxResources::SysColorChanged(void)
-?SysColorChanged@CRMCListBoxResources@@QAEXXZ
-; public: long __thiscall CError::TextFromHRESULT(class CString &)const 
-?TextFromHRESULT@CError@@QBEJAAVCString@@@Z
-; public: long __thiscall CError::TextFromHRESULT(unsigned short *,unsigned long)const 
-?TextFromHRESULT@CError@@QBEJPAGK@Z
-; public: unsigned short const * __thiscall CError::TextFromHRESULTExpand(class CString &)const 
-?TextFromHRESULTExpand@CError@@QBEPBGAAVCString@@@Z
-; public: unsigned short const * __thiscall CError::TextFromHRESULTExpand(unsigned short *,unsigned long,long *)const 
-?TextFromHRESULTExpand@CError@@QBEPBGPAGKPAJ@Z
-; public: int __thiscall CODLBox::TextHeight(void)const 
-?TextHeight@CODLBox@@QBEHXZ
-; public: static unsigned short const * __stdcall CMetabasePath::TruncatePath(int,unsigned short const *,class CString &,class CString *)
-?TruncatePath@CMetabasePath@@SGPBGHPBGAAVCString@@PAV2@@Z
-; int __stdcall UnixToPCText(class CString &,unsigned short const *)
-?UnixToPCText@@YGHAAVCString@@PBG@Z
-; public: long __thiscall CIISApplication::Unload(int)
-?Unload@CIISApplication@@QAEJH@Z
-; protected: void __thiscall CRMCListBoxResources::UnprepareBitmaps(void)
-?UnprepareBitmaps@CRMCListBoxResources@@IAEXXZ
-; public: static void __stdcall CError::UnregisterFacility(unsigned long)
-?UnregisterFacility@CError@@SGXK@Z
-; protected: int __thiscall CRMCListBoxHeader::UseButtons(void)const 
-?UseButtons@CRMCListBoxHeader@@IBEHXZ
-; protected: int __thiscall CRMCListBoxHeader::UseStretch(void)const 
-?UseStretch@CRMCListBoxHeader@@IBEHXZ
-; public: static int __stdcall CINumber::UseSystemDefault(void)
-?UseSystemDefault@CINumber@@SGHXZ
-; public: static int __stdcall CINumber::UseUserDefault(void)
-?UseUserDefault@CINumber@@SGHXZ
-; public: int __thiscall CComAuthInfo::UsesImpersonation(void)const 
-?UsesImpersonation@CComAuthInfo@@QBEHXZ
-; public: int __thiscall CIISWizardPage::ValidateString(class CEdit &,class CString &,int,int)
-?ValidateString@CIISWizardPage@@QAEHAAVCEdit@@AAVCString@@HH@Z
-; int __stdcall VerifyState(void)
-?VerifyState@@YGHXZ
-; public: static unsigned long __stdcall CComAuthInfo::VerifyUserPassword(unsigned short const *,unsigned short const *)
-?VerifyUserPassword@CComAuthInfo@@SGKPBG0@Z
-; public: unsigned long __thiscall CError::Win32Error(void)const 
-?Win32Error@CError@@QBEKXZ
-; public: static unsigned long __stdcall CError::Win32Error(long)
-?Win32Error@CError@@SGKJ@Z
-; protected: virtual void __thiscall CIISWizardSheet::WinHelpW(unsigned long,unsigned int)
-?WinHelpW@CIISWizardSheet@@MAEXKI@Z
-; public: long __thiscall CIISApplication::WriteFriendlyName(unsigned short const *)
-?WriteFriendlyName@CIISApplication@@QAEJPBG@Z
-; public: long __thiscall CIISApplication::WritePoolId(unsigned short const *)
-?WritePoolId@CIISApplication@@QAEJPBG@Z
-; protected: static struct CRuntimeClass * __stdcall CEmphasizedDialog::_GetBaseClass(void)
-?_GetBaseClass@CEmphasizedDialog@@KGPAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __stdcall CHeaderListBox::_GetBaseClass(void)
-?_GetBaseClass@CHeaderListBox@@KGPAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __stdcall CIISWizardBookEnd::_GetBaseClass(void)
-?_GetBaseClass@CIISWizardBookEnd@@KGPAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __stdcall CIISWizardPage::_GetBaseClass(void)
-?_GetBaseClass@CIISWizardPage@@KGPAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __stdcall CIISWizardSheet::_GetBaseClass(void)
-?_GetBaseClass@CIISWizardSheet@@KGPAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __stdcall CRMCComboBox::_GetBaseClass(void)
-?_GetBaseClass@CRMCComboBox@@KGPAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __stdcall CRMCListBox::_GetBaseClass(void)
-?_GetBaseClass@CRMCListBox@@KGPAUCRuntimeClass@@XZ
-; protected: static struct CRuntimeClass * __stdcall CRMCListBoxHeader::_GetBaseClass(void)
-?_GetBaseClass@CRMCListBoxHeader@@KGPAUCRuntimeClass@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CConfirmDlg::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CConfirmDlg@@KGPBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CEmphasizedDialog::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CEmphasizedDialog@@KGPBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CHeaderListBox::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CHeaderListBox@@KGPBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CIISWizardBookEnd::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CIISWizardBookEnd@@KGPBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CIISWizardPage::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CIISWizardPage@@KGPBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CIISWizardSheet::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CIISWizardSheet@@KGPBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CInheritanceDlg::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CInheritanceDlg@@KGPBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CRMCComboBox::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CRMCComboBox@@KGPBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CRMCListBox::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CRMCListBox@@KGPBUAFX_MSGMAP@@XZ
-; protected: static struct AFX_MSGMAP const * __stdcall CRMCListBoxHeader::_GetBaseMessageMap(void)
-?_GetBaseMessageMap@CRMCListBoxHeader@@KGPBUAFX_MSGMAP@@XZ
-; protected: void __thiscall CODLBox::__DrawItem(struct tagDRAWITEMSTRUCT *)
-?__DrawItem@CODLBox@@IAEXPAUtagDRAWITEMSTRUCT@@@Z
-; public: virtual int __thiscall CRMCComboBox::__GetCount(void)const 
-?__GetCount@CRMCComboBox@@UBEHXZ
-; public: virtual int __thiscall CRMCListBox::__GetCount(void)const 
-?__GetCount@CRMCListBox@@UBEHXZ
-; protected: void __thiscall CODLBox::__MeasureItem(struct tagMEASUREITEMSTRUCT *)
-?__MeasureItem@CODLBox@@IAEXPAUtagMEASUREITEMSTRUCT@@@Z
-; public: virtual int __thiscall CRMCComboBox::__SetItemHeight(int,unsigned int)
-?__SetItemHeight@CRMCComboBox@@UAEHHI@Z
-; public: virtual int __thiscall CRMCListBox::__SetItemHeight(int,unsigned int)
-?__SetItemHeight@CRMCListBox@@UAEHHI@Z
-; protected: static unsigned short const  CMetabasePath::_chSep
-?_chSep@CMetabasePath@@1GB
-; protected: static unsigned short const * const  CMetabasePath::_cszMachine
-?_cszMachine@CMetabasePath@@1QBGB
-; protected: static unsigned short const * const  CMetabasePath::_cszRoot
-?_cszRoot@CMetabasePath@@1QBGB
-; protected: static unsigned short const * const  CMetabasePath::_cszSep
-?_cszSep@CMetabasePath@@1QBGB
-; private: static int  CINumber::_fAllocated
-?_fAllocated@CINumber@@0HA DATA
-; private: static int  CINumber::_fCurrencyPrefix
-?_fCurrencyPrefix@CINumber@@0HA DATA
-; private: static int  CINumber::_fInitialized
-?_fInitialized@CINumber@@0HA DATA
-; private: static struct AFX_MSGMAP_ENTRY const * const  CConfirmDlg::_messageEntries
-?_messageEntries@CConfirmDlg@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CEmphasizedDialog::_messageEntries
-?_messageEntries@CEmphasizedDialog@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CHeaderListBox::_messageEntries
-?_messageEntries@CHeaderListBox@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardBookEnd::_messageEntries
-?_messageEntries@CIISWizardBookEnd@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardPage::_messageEntries
-?_messageEntries@CIISWizardPage@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardSheet::_messageEntries
-?_messageEntries@CIISWizardSheet@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CInheritanceDlg::_messageEntries
-?_messageEntries@CInheritanceDlg@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCComboBox::_messageEntries
-?_messageEntries@CRMCComboBox@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCListBox::_messageEntries
-?_messageEntries@CRMCListBox@@0QBUAFX_MSGMAP_ENTRY@@B
-; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCListBoxHeader::_messageEntries
-?_messageEntries@CRMCListBoxHeader@@0QBUAFX_MSGMAP_ENTRY@@B
-; protected: static class CString *  CINumber::_pstr
-?_pstr@CINumber@@1PAVCString@@A DATA
-; public: static class CString *  CINumber::_pstrBadNumber
-?_pstrBadNumber@CINumber@@2PAVCString@@A DATA
-; private: static class CString *  CINumber::_pstrCurrency
-?_pstrCurrency@CINumber@@0PAVCString@@A DATA
-; private: static class CString *  CINumber::_pstrDecimalPoint
-?_pstrDecimalPoint@CINumber@@0PAVCString@@A DATA
-; private: static class CString *  CINumber::_pstrThousandSeparator
-?_pstrThousandSeparator@CINumber@@0PAVCString@@A DATA
-; public: static struct CRuntimeClass const  CEmphasizedDialog::classCEmphasizedDialog
-?classCEmphasizedDialog@CEmphasizedDialog@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CHeaderListBox::classCHeaderListBox
-?classCHeaderListBox@CHeaderListBox@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CIISWizardBookEnd::classCIISWizardBookEnd
-?classCIISWizardBookEnd@CIISWizardBookEnd@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CIISWizardPage::classCIISWizardPage
-?classCIISWizardPage@CIISWizardPage@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CIISWizardSheet::classCIISWizardSheet
-?classCIISWizardSheet@CIISWizardSheet@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CRMCComboBox::classCRMCComboBox
-?classCRMCComboBox@CRMCComboBox@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CRMCListBox::classCRMCListBox
-?classCRMCListBox@CRMCListBox@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CRMCListBoxHeader::classCRMCListBoxHeader
-?classCRMCListBoxHeader@CRMCListBoxHeader@@2UCRuntimeClass@@B
-; public: class CDC const & __thiscall CRMCListBoxResources::dcBitMap(void)const 
-?dcBitMap@CRMCListBoxResources@@QBEABVCDC@@XZ
-; unsigned short const * const  g_lpszDummyPassword
-?g_lpszDummyPassword@@3PBGB DATA
-; protected: static struct AFX_MSGMAP const  CConfirmDlg::messageMap
-?messageMap@CConfirmDlg@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CEmphasizedDialog::messageMap
-?messageMap@CEmphasizedDialog@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CHeaderListBox::messageMap
-?messageMap@CHeaderListBox@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CIISWizardBookEnd::messageMap
-?messageMap@CIISWizardBookEnd@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CIISWizardPage::messageMap
-?messageMap@CIISWizardPage@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CIISWizardSheet::messageMap
-?messageMap@CIISWizardSheet@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CInheritanceDlg::messageMap
-?messageMap@CInheritanceDlg@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CRMCComboBox::messageMap
-?messageMap@CRMCComboBox@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CRMCListBox::messageMap
-?messageMap@CRMCListBox@@1UAFX_MSGMAP@@B
-; protected: static struct AFX_MSGMAP const  CRMCListBoxHeader::messageMap
-?messageMap@CRMCListBoxHeader@@1UAFX_MSGMAP@@B
-; protected: static int const  CMetaKey::s_MetaTableSize
-?s_MetaTableSize@CMetaKey@@1HB
-; protected: static unsigned long  CError::s_cdwFacilities
-?s_cdwFacilities@CError@@1KA DATA
-; protected: static long  CError::s_cdwMaxLMErr
-?s_cdwMaxLMErr@CError@@1JA DATA
-; protected: static long  CError::s_cdwMaxWSErr
-?s_cdwMaxWSErr@CError@@1JA DATA
-; protected: static long  CError::s_cdwMinLMErr
-?s_cdwMinLMErr@CError@@1JA DATA
-; protected: static long  CError::s_cdwMinWSErr
-?s_cdwMinWSErr@CError@@1JA DATA
-; protected: static unsigned short const  CError::s_chEscNumber
-?s_chEscNumber@CError@@1GB
-; protected: static unsigned short const  CError::s_chEscText
-?s_chEscText@CError@@1GB
-; protected: static unsigned short const  CError::s_chEscape
-?s_chEscape@CError@@1GB
-; protected: static int const  CIISWizardSheet::s_cnBoldDeltaFont
-?s_cnBoldDeltaFont@CIISWizardSheet@@1HB
-; protected: static int const  CIISWizardSheet::s_cnBoldDeltaHeight
-?s_cnBoldDeltaHeight@CIISWizardSheet@@1HB
-; protected: static int const  CIISWizardSheet::s_cnBoldDeltaWidth
-?s_cnBoldDeltaWidth@CIISWizardSheet@@1HB
-; protected: static int const  CIISWizardPage::s_cnHeaderOffset
-?s_cnHeaderOffset@CIISWizardPage@@1HB
-; protected: static unsigned short const * *  CError::s_cszFacility
-?s_cszFacility@CError@@1PAPBGA DATA
-; protected: static unsigned short const * const  CError::s_cszLMDLL
-?s_cszLMDLL@CError@@1PBGB DATA
-; protected: static unsigned short const * const  CError::s_cszWSDLL
-?s_cszWSDLL@CError@@1PBGB DATA
-; protected: static int  CError::s_fAllocated
-?s_fAllocated@CError@@1HA DATA
-; protected: static class CMap<unsigned long,unsigned long &,class CString,class CString &> *  CError::s_pmapFacilities
-?s_pmapFacilities@CError@@1PAV?$CMap@KAAKVCString@@AAV1@@@A DATA
-; protected: static class CString *  CError::s_pstrDefError
-?s_pstrDefError@CError@@1PAVCString@@A DATA
-; protected: static class CString *  CError::s_pstrDefSuccs
-?s_pstrDefSuccs@CError@@1PAVCString@@A DATA
-; protected: static struct CMetaKey::tagMDFIELDDEF const * const  CMetaKey::s_rgMetaTable
-?s_rgMetaTable@CMetaKey@@1QBUtagMDFIELDDEF@1@B
-; protected: static unsigned short const * const  CMetaBack::s_szMasterAppRoot
-?s_szMasterAppRoot@CMetaBack@@1QBGB
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iisui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iisui.dll
+EXPORTS
+InitCommonDll
+; public: __thiscall CAccessEntry::CAccessEntry(class CAccessEntry &)
+??0CAccessEntry@@QAE@AAV0@@Z
+; public: __thiscall CAccessEntry::CAccessEntry(unsigned long,void *,unsigned short const *,int)
+??0CAccessEntry@@QAE@KPAXPBGH@Z
+; public: __thiscall CAccessEntry::CAccessEntry(void *,int)
+??0CAccessEntry@@QAE@PAXH@Z
+; public: __thiscall CAccessEntry::CAccessEntry(void *,unsigned short const *,unsigned short const *)
+??0CAccessEntry@@QAE@PAXPBG1@Z
+; public: __thiscall CBlob::CBlob(class CBlob const &)
+??0CBlob@@QAE@ABV0@@Z
+; public: __thiscall CBlob::CBlob(unsigned long,unsigned char *,int)
+??0CBlob@@QAE@KPAEH@Z
+; public: __thiscall CBlob::CBlob(void)
+??0CBlob@@QAE@XZ
+; public: __thiscall CComAuthInfo::CComAuthInfo(class CComAuthInfo &)
+??0CComAuthInfo@@QAE@AAV0@@Z
+; public: __thiscall CComAuthInfo::CComAuthInfo(class CComAuthInfo *)
+??0CComAuthInfo@@QAE@PAV0@@Z
+; public: __thiscall CComAuthInfo::CComAuthInfo(unsigned short const *,unsigned short const *,unsigned short const *)
+??0CComAuthInfo@@QAE@PBG00@Z
+; public: __thiscall CConfirmDlg::CConfirmDlg(class CWnd *)
+??0CConfirmDlg@@QAE@PAVCWnd@@@Z
+; public: __thiscall CDirBrowseDlg::CDirBrowseDlg(class CDirBrowseDlg const &)
+??0CDirBrowseDlg@@QAE@ABV0@@Z
+; public: __thiscall CDirBrowseDlg::CDirBrowseDlg(class CWnd *,unsigned short const *)
+??0CDirBrowseDlg@@QAE@PAVCWnd@@PBG@Z
+; public: __thiscall CDownButton::CDownButton(void)
+??0CDownButton@@QAE@XZ
+; public: __thiscall CEmphasizedDialog::CEmphasizedDialog(unsigned int,class CWnd *)
+??0CEmphasizedDialog@@QAE@IPAVCWnd@@@Z
+; public: __thiscall CEmphasizedDialog::CEmphasizedDialog(unsigned short const *,class CWnd *)
+??0CEmphasizedDialog@@QAE@PBGPAVCWnd@@@Z
+; public: __thiscall CEmphasizedDialog::CEmphasizedDialog(void)
+??0CEmphasizedDialog@@QAE@XZ
+; public: __thiscall CError::CError(long)
+??0CError@@QAE@J@Z
+; public: __thiscall CError::CError(unsigned long)
+??0CError@@QAE@K@Z
+; public: __thiscall CError::CError(void)
+??0CError@@QAE@XZ
+; public: __thiscall CGetComputer::CGetComputer(class CGetComputer const &)
+??0CGetComputer@@QAE@ABV0@@Z
+; public: __thiscall CGetComputer::CGetComputer(void)
+??0CGetComputer@@QAE@XZ
+; public: __thiscall CGetUsers::CGetUsers(unsigned short const *,int)
+??0CGetUsers@@QAE@PBGH@Z
+; public: __thiscall CHeaderListBox::CHeaderListBox(unsigned long,unsigned short const *)
+??0CHeaderListBox@@QAE@KPBG@Z
+; public: __thiscall CIISAppPool::CIISAppPool(class CIISAppPool &)
+??0CIISAppPool@@QAE@AAV0@@Z
+; public: __thiscall CIISAppPool::CIISAppPool(class CComAuthInfo *,unsigned short const *)
+??0CIISAppPool@@QAE@PAVCComAuthInfo@@PBG@Z
+; public: __thiscall CIISApplication::CIISApplication(class CIISApplication &)
+??0CIISApplication@@QAE@AAV0@@Z
+; public: __thiscall CIISApplication::CIISApplication(class CComAuthInfo *,unsigned short const *)
+??0CIISApplication@@QAE@PAVCComAuthInfo@@PBG@Z
+; public: __thiscall CIISInterface::CIISInterface(class CIISInterface &)
+??0CIISInterface@@QAE@AAV0@@Z
+; public: __thiscall CIISInterface::CIISInterface(class CComAuthInfo *,long)
+??0CIISInterface@@QAE@PAVCComAuthInfo@@J@Z
+; public: __thiscall CIISSvcControl::CIISSvcControl(class CIISSvcControl &)
+??0CIISSvcControl@@QAE@AAV0@@Z
+; public: __thiscall CIISSvcControl::CIISSvcControl(class CIISSvcControl *)
+??0CIISSvcControl@@QAE@PAV0@@Z
+; public: __thiscall CIISSvcControl::CIISSvcControl(class CComAuthInfo *)
+??0CIISSvcControl@@QAE@PAVCComAuthInfo@@@Z
+; public: __thiscall CIISWizardBookEnd::CIISWizardBookEnd(unsigned int,unsigned int,unsigned int,unsigned int,unsigned int)
+??0CIISWizardBookEnd@@QAE@IIIII@Z
+; public: __thiscall CIISWizardBookEnd::CIISWizardBookEnd(long *,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int)
+??0CIISWizardBookEnd@@QAE@PAJIIIIIII@Z
+; public: __thiscall CIISWizardPage::CIISWizardPage(unsigned int,unsigned int,int,unsigned int,unsigned int)
+??0CIISWizardPage@@QAE@IIHII@Z
+; public: __thiscall CIISWizardSheet::CIISWizardSheet(unsigned int,unsigned int,unsigned long,unsigned long)
+??0CIISWizardSheet@@QAE@IIKK@Z
+; public: __thiscall CILong::CILong(long)
+??0CILong@@QAE@J@Z
+; public: __thiscall CILong::CILong(unsigned short const *)
+??0CILong@@QAE@PBG@Z
+; public: __thiscall CILong::CILong(void)
+??0CILong@@QAE@XZ
+; protected: __thiscall CINumber::CINumber(void)
+??0CINumber@@IAE@XZ
+; public: __thiscall CIPAccessDescriptor::CIPAccessDescriptor(class CIPAccessDescriptor const &)
+??0CIPAccessDescriptor@@QAE@ABV0@@Z
+; public: __thiscall CIPAccessDescriptor::CIPAccessDescriptor(int)
+??0CIPAccessDescriptor@@QAE@H@Z
+; public: __thiscall CIPAccessDescriptor::CIPAccessDescriptor(int,unsigned long,unsigned long,int)
+??0CIPAccessDescriptor@@QAE@HKKH@Z
+; public: __thiscall CIPAccessDescriptor::CIPAccessDescriptor(int,unsigned short const *)
+??0CIPAccessDescriptor@@QAE@HPBG@Z
+; public: __thiscall CIPAddress::CIPAddress(class CIPAddress const &)
+??0CIPAddress@@QAE@ABV0@@Z
+; public: __thiscall CIPAddress::CIPAddress(class CString const &)
+??0CIPAddress@@QAE@ABVCString@@@Z
+; public: __thiscall CIPAddress::CIPAddress(unsigned char,unsigned char,unsigned char,unsigned char)
+??0CIPAddress@@QAE@EEEE@Z
+; public: __thiscall CIPAddress::CIPAddress(unsigned long,int)
+??0CIPAddress@@QAE@KH@Z
+; public: __thiscall CIPAddress::CIPAddress(unsigned char *,int)
+??0CIPAddress@@QAE@PAEH@Z
+; public: __thiscall CIPAddress::CIPAddress(unsigned short const *,int)
+??0CIPAddress@@QAE@PBGH@Z
+; public: __thiscall CIPAddress::CIPAddress(void)
+??0CIPAddress@@QAE@XZ
+; public: __thiscall CInheritanceDlg::CInheritanceDlg(int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned short const *,int,class CComAuthInfo *,unsigned short const *,class CWnd *)
+??0CInheritanceDlg@@QAE@HKKKKPBGHPAVCComAuthInfo@@0PAVCWnd@@@Z
+; public: __thiscall CInheritanceDlg::CInheritanceDlg(unsigned long,int,class CComAuthInfo *,unsigned short const *,unsigned short const *,class CWnd *)
+??0CInheritanceDlg@@QAE@KHPAVCComAuthInfo@@PBG1PAVCWnd@@@Z
+; public: __thiscall CInheritanceDlg::CInheritanceDlg(unsigned long,int,class CComAuthInfo *,unsigned short const *,class CStringList &,unsigned short const *,class CWnd *)
+??0CInheritanceDlg@@QAE@KHPAVCComAuthInfo@@PBGAAVCStringList@@1PAVCWnd@@@Z
+; public: __thiscall CMappedBitmapButton::CMappedBitmapButton(void)
+??0CMappedBitmapButton@@QAE@XZ
+; public: __thiscall CMetaBack::CMetaBack(class CMetaBack &)
+??0CMetaBack@@QAE@AAV0@@Z
+; public: __thiscall CMetaBack::CMetaBack(class CComAuthInfo *)
+??0CMetaBack@@QAE@PAVCComAuthInfo@@@Z
+; public: __thiscall CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator &)
+??0CMetaEnumerator@@QAE@AAV0@@Z
+; public: __thiscall CMetaEnumerator::CMetaEnumerator(int,class CMetaKey *)
+??0CMetaEnumerator@@QAE@HPAVCMetaKey@@@Z
+; public: __thiscall CMetaEnumerator::CMetaEnumerator(class CComAuthInfo *,unsigned short const *,unsigned long)
+??0CMetaEnumerator@@QAE@PAVCComAuthInfo@@PBGK@Z
+; public: __thiscall CMetaEnumerator::CMetaEnumerator(class CMetaInterface *,unsigned short const *,unsigned long)
+??0CMetaEnumerator@@QAE@PAVCMetaInterface@@PBGK@Z
+; protected: __thiscall CMetaInterface::CMetaInterface(class CMetaInterface *)
+??0CMetaInterface@@IAE@PAV0@@Z
+; protected: __thiscall CMetaInterface::CMetaInterface(class CComAuthInfo *)
+??0CMetaInterface@@IAE@PAVCComAuthInfo@@@Z
+; public: __thiscall CMetaInterface::CMetaInterface(class CMetaInterface &)
+??0CMetaInterface@@QAE@AAV0@@Z
+; public: __thiscall CMetaKey::CMetaKey(class CMetaKey &)
+??0CMetaKey@@QAE@AAV0@@Z
+; public: __thiscall CMetaKey::CMetaKey(int,class CMetaKey *)
+??0CMetaKey@@QAE@HPAV0@@Z
+; public: __thiscall CMetaKey::CMetaKey(class CComAuthInfo *)
+??0CMetaKey@@QAE@PAVCComAuthInfo@@@Z
+; public: __thiscall CMetaKey::CMetaKey(class CComAuthInfo *,unsigned short const *,unsigned long,unsigned long)
+??0CMetaKey@@QAE@PAVCComAuthInfo@@PBGKK@Z
+; public: __thiscall CMetaKey::CMetaKey(class CMetaInterface *)
+??0CMetaKey@@QAE@PAVCMetaInterface@@@Z
+; public: __thiscall CMetaKey::CMetaKey(class CMetaInterface *,unsigned short const *,unsigned long,unsigned long)
+??0CMetaKey@@QAE@PAVCMetaInterface@@PBGKK@Z
+; public: __thiscall CMetabasePath::CMetabasePath(class CMetabasePath const &)
+??0CMetabasePath@@QAE@ABV0@@Z
+; public: __thiscall CMetabasePath::CMetabasePath(int,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
+??0CMetabasePath@@QAE@HPBG000@Z
+; public: __thiscall CMetabasePath::CMetabasePath(unsigned short const *,unsigned long,unsigned short const *,unsigned short const *)
+??0CMetabasePath@@QAE@PBGK00@Z
+; protected: __thiscall CODLBox::CODLBox(void)
+??0CODLBox@@IAE@XZ
+; public: __thiscall CObListIter::CObListIter(class CObListPlus const &)
+??0CObListIter@@QAE@ABVCObListPlus@@@Z
+; public: __thiscall CObListPlus::CObListPlus(int)
+??0CObListPlus@@QAE@H@Z
+; protected: __thiscall CObjHelper::CObjHelper(void)
+??0CObjHelper@@IAE@XZ
+; public: __thiscall CObjHelper::CObjHelper(class CObjHelper const &)
+??0CObjHelper@@QAE@ABV0@@Z
+; public: __thiscall CObjectPlus::CObjectPlus(void)
+??0CObjectPlus@@QAE@XZ
+; public: __thiscall CRMCComboBox::CRMCComboBox(void)
+??0CRMCComboBox@@QAE@XZ
+; public: __thiscall CRMCListBox::CRMCListBox(void)
+??0CRMCListBox@@QAE@XZ
+; public: __thiscall CRMCListBoxDrawStruct::CRMCListBoxDrawStruct(class CDC *,struct tagRECT *,int,unsigned long,int,class CRMCListBoxResources const *)
+??0CRMCListBoxDrawStruct@@QAE@PAVCDC@@PAUtagRECT@@HKHPBVCRMCListBoxResources@@@Z
+; public: __thiscall CRMCListBoxHeader::CRMCListBoxHeader(unsigned long)
+??0CRMCListBoxHeader@@QAE@K@Z
+; public: __thiscall CRMCListBoxResources::CRMCListBoxResources(int,int,unsigned long)
+??0CRMCListBoxResources@@QAE@HHK@Z
+; public: __thiscall CStrPassword::CStrPassword(class CStrPassword &)
+??0CStrPassword@@QAE@AAV0@@Z
+; public: __thiscall CStrPassword::CStrPassword(unsigned short *)
+??0CStrPassword@@QAE@PAG@Z
+; public: __thiscall CStrPassword::CStrPassword(unsigned short const *)
+??0CStrPassword@@QAE@PBG@Z
+; public: __thiscall CStrPassword::CStrPassword(void)
+??0CStrPassword@@QAE@XZ
+; public: __thiscall CStringListEx::CStringListEx(int)
+??0CStringListEx@@QAE@H@Z
+; public: __thiscall CUpButton::CUpButton(void)
+??0CUpButton@@QAE@XZ
+; protected: __thiscall CWamInterface::CWamInterface(class CWamInterface *)
+??0CWamInterface@@IAE@PAV0@@Z
+; protected: __thiscall CWamInterface::CWamInterface(class CComAuthInfo *)
+??0CWamInterface@@IAE@PAVCComAuthInfo@@@Z
+; public: __thiscall CWamInterface::CWamInterface(class CWamInterface &)
+??0CWamInterface@@QAE@AAV0@@Z
+; public: virtual __thiscall CAccessEntry::~CAccessEntry(void)
+??1CAccessEntry@@UAE@XZ
+; public: __thiscall CBlob::~CBlob(void)
+??1CBlob@@QAE@XZ
+; public: __thiscall CComAuthInfo::~CComAuthInfo(void)
+??1CComAuthInfo@@QAE@XZ
+; public: virtual __thiscall CConfirmDlg::~CConfirmDlg(void)
+??1CConfirmDlg@@UAE@XZ
+; public: __thiscall CDirBrowseDlg::~CDirBrowseDlg(void)
+??1CDirBrowseDlg@@QAE@XZ
+; public: virtual __thiscall CDownButton::~CDownButton(void)
+??1CDownButton@@UAE@XZ
+; public: virtual __thiscall CEmphasizedDialog::~CEmphasizedDialog(void)
+??1CEmphasizedDialog@@UAE@XZ
+; public: __thiscall CError::~CError(void)
+??1CError@@QAE@XZ
+; public: __thiscall CGetComputer::~CGetComputer(void)
+??1CGetComputer@@QAE@XZ
+; public: virtual __thiscall CGetUsers::~CGetUsers(void)
+??1CGetUsers@@UAE@XZ
+; public: virtual __thiscall CHeaderListBox::~CHeaderListBox(void)
+??1CHeaderListBox@@UAE@XZ
+; public: virtual __thiscall CIISAppPool::~CIISAppPool(void)
+??1CIISAppPool@@UAE@XZ
+; public: virtual __thiscall CIISApplication::~CIISApplication(void)
+??1CIISApplication@@UAE@XZ
+; public: __thiscall CIISInterface::~CIISInterface(void)
+??1CIISInterface@@QAE@XZ
+; public: virtual __thiscall CIISSvcControl::~CIISSvcControl(void)
+??1CIISSvcControl@@UAE@XZ
+; public: virtual __thiscall CIISWizardBookEnd::~CIISWizardBookEnd(void)
+??1CIISWizardBookEnd@@UAE@XZ
+; public: virtual __thiscall CIISWizardPage::~CIISWizardPage(void)
+??1CIISWizardPage@@UAE@XZ
+; public: virtual __thiscall CIISWizardSheet::~CIISWizardSheet(void)
+??1CIISWizardSheet@@UAE@XZ
+; public: __thiscall CILong::~CILong(void)
+??1CILong@@QAE@XZ
+; protected: __thiscall CINumber::~CINumber(void)
+??1CINumber@@IAE@XZ
+; public: virtual __thiscall CIPAccessDescriptor::~CIPAccessDescriptor(void)
+??1CIPAccessDescriptor@@UAE@XZ
+; public: virtual __thiscall CIPAddress::~CIPAddress(void)
+??1CIPAddress@@UAE@XZ
+; public: virtual __thiscall CInheritanceDlg::~CInheritanceDlg(void)
+??1CInheritanceDlg@@UAE@XZ
+; public: virtual __thiscall CMappedBitmapButton::~CMappedBitmapButton(void)
+??1CMappedBitmapButton@@UAE@XZ
+; public: virtual __thiscall CMetaBack::~CMetaBack(void)
+??1CMetaBack@@UAE@XZ
+; public: virtual __thiscall CMetaEnumerator::~CMetaEnumerator(void)
+??1CMetaEnumerator@@UAE@XZ
+; public: virtual __thiscall CMetaInterface::~CMetaInterface(void)
+??1CMetaInterface@@UAE@XZ
+; public: virtual __thiscall CMetaKey::~CMetaKey(void)
+??1CMetaKey@@UAE@XZ
+; public: __thiscall CMetabasePath::~CMetabasePath(void)
+??1CMetabasePath@@QAE@XZ
+; protected: __thiscall CODLBox::~CODLBox(void)
+??1CODLBox@@IAE@XZ
+; public: virtual __thiscall CObListIter::~CObListIter(void)
+??1CObListIter@@UAE@XZ
+; public: virtual __thiscall CObListPlus::~CObListPlus(void)
+??1CObListPlus@@UAE@XZ
+; public: virtual __thiscall CObjectPlus::~CObjectPlus(void)
+??1CObjectPlus@@UAE@XZ
+; public: virtual __thiscall CRMCComboBox::~CRMCComboBox(void)
+??1CRMCComboBox@@UAE@XZ
+; public: virtual __thiscall CRMCListBox::~CRMCListBox(void)
+??1CRMCListBox@@UAE@XZ
+; public: virtual __thiscall CRMCListBoxHeader::~CRMCListBoxHeader(void)
+??1CRMCListBoxHeader@@UAE@XZ
+; public: __thiscall CRMCListBoxResources::~CRMCListBoxResources(void)
+??1CRMCListBoxResources@@QAE@XZ
+; public: __thiscall CStrPassword::~CStrPassword(void)
+??1CStrPassword@@QAE@XZ
+; public: virtual __thiscall CStringListEx::~CStringListEx(void)
+??1CStringListEx@@UAE@XZ
+; public: virtual __thiscall CUpButton::~CUpButton(void)
+??1CUpButton@@UAE@XZ
+; public: virtual __thiscall CWamInterface::~CWamInterface(void)
+??1CWamInterface@@UAE@XZ
+; public: class CBlob & __thiscall CBlob::operator=(class CBlob const &)
+??4CBlob@@QAEAAV0@ABV0@@Z
+; public: class CComAuthInfo & __thiscall CComAuthInfo::operator=(class CComAuthInfo &)
+??4CComAuthInfo@@QAEAAV0@AAV0@@Z
+; public: class CComAuthInfo & __thiscall CComAuthInfo::operator=(class CComAuthInfo *)
+??4CComAuthInfo@@QAEAAV0@PAV0@@Z
+; public: class CComAuthInfo & __thiscall CComAuthInfo::operator=(unsigned short const *)
+??4CComAuthInfo@@QAEAAV0@PBG@Z
+; public: class CDirBrowseDlg & __thiscall CDirBrowseDlg::operator=(class CDirBrowseDlg const &)
+??4CDirBrowseDlg@@QAEAAV0@ABV0@@Z
+; public: class CError const & __thiscall CError::operator=(class CError const &)
+??4CError@@QAEABV0@ABV0@@Z
+; public: class CError const & __thiscall CError::operator=(long)
+??4CError@@QAEABV0@J@Z
+; public: class CGetComputer & __thiscall CGetComputer::operator=(class CGetComputer const &)
+??4CGetComputer@@QAEAAV0@ABV0@@Z
+; public: class CIISAppPool & __thiscall CIISAppPool::operator=(class CIISAppPool &)
+??4CIISAppPool@@QAEAAV0@AAV0@@Z
+; public: class CIISApplication & __thiscall CIISApplication::operator=(class CIISApplication &)
+??4CIISApplication@@QAEAAV0@AAV0@@Z
+; public: class CIISInterface & __thiscall CIISInterface::operator=(class CIISInterface &)
+??4CIISInterface@@QAEAAV0@AAV0@@Z
+; public: class CIISSvcControl & __thiscall CIISSvcControl::operator=(class CIISSvcControl &)
+??4CIISSvcControl@@QAEAAV0@AAV0@@Z
+; public: class CILong & __thiscall CILong::operator=(class CILong const &)
+??4CILong@@QAEAAV0@ABV0@@Z
+; public: class CILong & __thiscall CILong::operator=(long)
+??4CILong@@QAEAAV0@J@Z
+; public: class CILong & __thiscall CILong::operator=(unsigned short const *)
+??4CILong@@QAEAAV0@PBG@Z
+; public: class CINumber & __thiscall CINumber::operator=(class CINumber const &)
+??4CINumber@@QAEAAV0@ABV0@@Z
+; public: class CIPAddress const & __thiscall CIPAddress::operator=(class CIPAddress const &)
+??4CIPAddress@@QAEABV0@ABV0@@Z
+; public: class CIPAddress const & __thiscall CIPAddress::operator=(class CString const &)
+??4CIPAddress@@QAEABV0@ABVCString@@@Z
+; public: class CIPAddress const & __thiscall CIPAddress::operator=(unsigned long)
+??4CIPAddress@@QAEABV0@K@Z
+; public: class CIPAddress const & __thiscall CIPAddress::operator=(unsigned short const *)
+??4CIPAddress@@QAEABV0@PBG@Z
+; public: class CMetaBack & __thiscall CMetaBack::operator=(class CMetaBack &)
+??4CMetaBack@@QAEAAV0@AAV0@@Z
+; public: class CMetaEnumerator & __thiscall CMetaEnumerator::operator=(class CMetaEnumerator &)
+??4CMetaEnumerator@@QAEAAV0@AAV0@@Z
+; public: class CMetaInterface & __thiscall CMetaInterface::operator=(class CMetaInterface &)
+??4CMetaInterface@@QAEAAV0@AAV0@@Z
+; public: class CMetaKey & __thiscall CMetaKey::operator=(class CMetaKey &)
+??4CMetaKey@@QAEAAV0@AAV0@@Z
+; public: class CMetabasePath & __thiscall CMetabasePath::operator=(class CMetabasePath const &)
+??4CMetabasePath@@QAEAAV0@ABV0@@Z
+; public: class CObjHelper & __thiscall CObjHelper::operator=(class CObjHelper const &)
+??4CObjHelper@@QAEAAV0@ABV0@@Z
+; public: class CRMCListBoxDrawStruct & __thiscall CRMCListBoxDrawStruct::operator=(class CRMCListBoxDrawStruct const &)
+??4CRMCListBoxDrawStruct@@QAEAAV0@ABV0@@Z
+; public: class CStrPassword const & __thiscall CStrPassword::operator=(class CStrPassword &)
+??4CStrPassword@@QAEABV0@AAV0@@Z
+; public: class CStrPassword const & __thiscall CStrPassword::operator=(unsigned short const *)
+??4CStrPassword@@QAEABV0@PBG@Z
+; public: class CStringListEx & __thiscall CStringListEx::operator=(class CStringListEx const &)
+??4CStringListEx@@QAEAAV0@ABV0@@Z
+; public: class CStringListEx & __thiscall CStringListEx::operator=(class CStringList const &)
+??4CStringListEx@@QAEAAV0@ABVCStringList@@@Z
+; public: class CWamInterface & __thiscall CWamInterface::operator=(class CWamInterface &)
+??4CWamInterface@@QAEAAV0@AAV0@@Z
+; public: int __thiscall CAccessEntry::operator==(class CAccessEntry const &)const 
+??8CAccessEntry@@QBEHABV0@@Z
+; public: int __thiscall CAccessEntry::operator==(void * const)const 
+??8CAccessEntry@@QBEHQAX@Z
+; public: int __thiscall CBlob::operator==(class CBlob const &)const 
+??8CBlob@@QBEHABV0@@Z
+; public: int const  __thiscall CError::operator==(class CError &)
+??8CError@@QAE?BHAAV0@@Z
+; public: int const  __thiscall CError::operator==(long)
+??8CError@@QAE?BHJ@Z
+; public: int __thiscall CILong::operator==(long)
+??8CILong@@QAEHJ@Z
+; public: int __thiscall CIPAccessDescriptor::operator==(class CIPAccessDescriptor const &)const 
+??8CIPAccessDescriptor@@QBEHABV0@@Z
+; public: int __thiscall CIPAddress::operator==(class CIPAddress const &)const 
+??8CIPAddress@@QBEHABV0@@Z
+; public: int __thiscall CIPAddress::operator==(unsigned long)const 
+??8CIPAddress@@QBEHK@Z
+; public: bool __thiscall CStrPassword::operator==(class CStrPassword &)
+??8CStrPassword@@QAE_NAAV0@@Z
+; public: int __thiscall CStringListEx::operator==(class CStringList const &)
+??8CStringListEx@@QAEHABVCStringList@@@Z
+; public: int __thiscall CBlob::operator!=(class CBlob const &)const 
+??9CBlob@@QBEHABV0@@Z
+; public: int const  __thiscall CError::operator!=(class CError &)
+??9CError@@QAE?BHAAV0@@Z
+; public: int const  __thiscall CError::operator!=(long)
+??9CError@@QAE?BHJ@Z
+; public: int __thiscall CILong::operator!=(class CILong &)
+??9CILong@@QAEHAAV0@@Z
+; public: int __thiscall CIPAddress::operator!=(class CIPAddress const &)const 
+??9CIPAddress@@QBEHABV0@@Z
+; public: int __thiscall CIPAddress::operator!=(unsigned long)const 
+??9CIPAddress@@QBEHK@Z
+; public: bool __thiscall CStrPassword::operator!=(class CStrPassword &)
+??9CStrPassword@@QAE_NAAV0@@Z
+; public: int __thiscall CStringListEx::operator!=(class CStringList const &)
+??9CStringListEx@@QAEHABVCStringList@@@Z
+; public: __thiscall CComAuthInfo::operator unsigned short *(void)
+??BCComAuthInfo@@QAEPAGXZ
+; public: __thiscall CComAuthInfo::operator class CComAuthInfo *(void)
+??BCComAuthInfo@@QAEPAV0@XZ
+; public: __thiscall CError::operator unsigned short *(void)
+??BCError@@QAEPAGXZ
+; public: __thiscall CError::operator unsigned short const *(void)
+??BCError@@QAEPBGXZ
+; public: __thiscall CError::operator int const (void)const 
+??BCError@@QBE?BHXZ
+; public: __thiscall CError::operator long const (void)const 
+??BCError@@QBE?BJXZ
+; public: __thiscall CError::operator unsigned long const (void)const 
+??BCError@@QBE?BKXZ
+; public: __thiscall CIISInterface::operator int(void)const 
+??BCIISInterface@@QBEHXZ
+; public: __thiscall CIISInterface::operator long(void)const 
+??BCIISInterface@@QBEJXZ
+; public: __thiscall CILong::operator long const (void)const 
+??BCILong@@QBE?BJXZ
+; public: __thiscall CILong::operator unsigned short const *(void)const 
+??BCILong@@QBEPBGXZ
+; public: __thiscall CIPAddress::operator class CString(void)const 
+??BCIPAddress@@QBE?AVCString@@XZ
+; public: __thiscall CIPAddress::operator unsigned long const (void)const 
+??BCIPAddress@@QBE?BKXZ
+; public: __thiscall CIPAddress::operator unsigned short const *(void)const 
+??BCIPAddress@@QBEPBGXZ
+; public: __thiscall CMetaKey::operator int(void)const 
+??BCMetaKey@@QBEHXZ
+; public: __thiscall CMetaKey::operator unsigned long(void)const 
+??BCMetaKey@@QBEKXZ
+; public: __thiscall CMetaKey::operator unsigned short const *(void)const 
+??BCMetaKey@@QBEPBGXZ
+; public: __thiscall CMetabasePath::operator unsigned short const *(void)const 
+??BCMetabasePath@@QBEPBGXZ
+; public: __thiscall CObjHelper::operator int(void)
+??BCObjHelper@@QAEHXZ
+; public: __thiscall CStrPassword::operator class CString(void)
+??BCStrPassword@@QAE?AVCString@@XZ
+; public: class CILong & __thiscall CILong::operator*=(class CILong const &)
+??XCILong@@QAEAAV0@ABV0@@Z
+; public: class CILong & __thiscall CILong::operator*=(long)
+??XCILong@@QAEAAV0@J@Z
+; public: class CILong & __thiscall CILong::operator*=(unsigned short const * const)
+??XCILong@@QAEAAV0@QBG@Z
+; public: class CILong & __thiscall CILong::operator+=(class CILong const &)
+??YCILong@@QAEAAV0@ABV0@@Z
+; public: class CILong & __thiscall CILong::operator+=(long)
+??YCILong@@QAEAAV0@J@Z
+; public: class CILong & __thiscall CILong::operator+=(unsigned short const * const)
+??YCILong@@QAEAAV0@QBG@Z
+; public: class CILong & __thiscall CILong::operator-=(class CILong const &)
+??ZCILong@@QAEAAV0@ABV0@@Z
+; public: class CILong & __thiscall CILong::operator-=(long)
+??ZCILong@@QAEAAV0@J@Z
+; public: class CILong & __thiscall CILong::operator-=(unsigned short const * const)
+??ZCILong@@QAEAAV0@QBG@Z
+; public: class CILong & __thiscall CILong::operator/=(class CILong const &)
+??_0CILong@@QAEAAV0@ABV0@@Z
+; public: class CILong & __thiscall CILong::operator/=(long)
+??_0CILong@@QAEAAV0@J@Z
+; public: class CILong & __thiscall CILong::operator/=(unsigned short const * const)
+??_0CILong@@QAEAAV0@QBG@Z
+; const  CAccessEntry::`vftable'{for `CObjHelper'}
+??_7CAccessEntry@@6BCObjHelper@@@
+; const  CAccessEntry::`vftable'{for `CObject'}
+??_7CAccessEntry@@6BCObject@@@
+; const  CConfirmDlg::`vftable'
+??_7CConfirmDlg@@6B@
+; const  CDirBrowseDlg::`vftable'
+??_7CDirBrowseDlg@@6B@
+; const  CDownButton::`vftable'
+??_7CDownButton@@6B@
+; const  CEmphasizedDialog::`vftable'
+??_7CEmphasizedDialog@@6B@
+; const  CGetUsers::`vftable'
+??_7CGetUsers@@6B@
+; const  CHeaderListBox::`vftable'{for `CListBox'}
+??_7CHeaderListBox@@6BCListBox@@@
+; const  CHeaderListBox::`vftable'{for `CODLBox'}
+??_7CHeaderListBox@@6BCODLBox@@@
+; const  CIISAppPool::`vftable'{for `CMetaKey'}
+??_7CIISAppPool@@6BCMetaKey@@@
+; const  CIISAppPool::`vftable'{for `CWamInterface'}
+??_7CIISAppPool@@6BCWamInterface@@@
+; const  CIISApplication::`vftable'{for `CMetaKey'}
+??_7CIISApplication@@6BCMetaKey@@@
+; const  CIISApplication::`vftable'{for `CWamInterface'}
+??_7CIISApplication@@6BCWamInterface@@@
+; const  CIISInterface::`vftable'
+??_7CIISInterface@@6B@
+; const  CIISSvcControl::`vftable'
+??_7CIISSvcControl@@6B@
+; const  CIISWizardBookEnd::`vftable'
+??_7CIISWizardBookEnd@@6B@
+; const  CIISWizardPage::`vftable'
+??_7CIISWizardPage@@6B@
+; const  CIISWizardSheet::`vftable'
+??_7CIISWizardSheet@@6B@
+; const  CIPAccessDescriptor::`vftable'{for `CObjHelper'}
+??_7CIPAccessDescriptor@@6BCObjHelper@@@
+; const  CIPAccessDescriptor::`vftable'{for `CObject'}
+??_7CIPAccessDescriptor@@6BCObject@@@
+; const  CIPAddress::`vftable'{for `CObjHelper'}
+??_7CIPAddress@@6BCObjHelper@@@
+; const  CIPAddress::`vftable'{for `CObject'}
+??_7CIPAddress@@6BCObject@@@
+; const  CInheritanceDlg::`vftable'
+??_7CInheritanceDlg@@6B@
+; const  CMappedBitmapButton::`vftable'
+??_7CMappedBitmapButton@@6B@
+; const  CMetaBack::`vftable'{for `CMetaInterface'}
+??_7CMetaBack@@6BCMetaInterface@@@
+; const  CMetaBack::`vftable'{for `CWamInterface'}
+??_7CMetaBack@@6BCWamInterface@@@
+; const  CMetaEnumerator::`vftable'
+??_7CMetaEnumerator@@6B@
+; const  CMetaInterface::`vftable'
+??_7CMetaInterface@@6B@
+; const  CMetaKey::`vftable'
+??_7CMetaKey@@6B@
+; const  CODLBox::`vftable'
+??_7CODLBox@@6B@
+; const  CObListIter::`vftable'{for `CObjHelper'}
+??_7CObListIter@@6BCObjHelper@@@
+; const  CObListIter::`vftable'{for `CObject'}
+??_7CObListIter@@6BCObject@@@
+; const  CObListPlus::`vftable'{for `CObList'}
+??_7CObListPlus@@6BCObList@@@
+; const  CObListPlus::`vftable'{for `CObjHelper'}
+??_7CObListPlus@@6BCObjHelper@@@
+; const  CObjHelper::`vftable'
+??_7CObjHelper@@6B@
+; const  CObjectPlus::`vftable'{for `CObjHelper'}
+??_7CObjectPlus@@6BCObjHelper@@@
+; const  CObjectPlus::`vftable'{for `CObject'}
+??_7CObjectPlus@@6BCObject@@@
+; const  CRMCComboBox::`vftable'{for `CComboBox'}
+??_7CRMCComboBox@@6BCComboBox@@@
+; const  CRMCComboBox::`vftable'{for `CODLBox'}
+??_7CRMCComboBox@@6BCODLBox@@@
+; const  CRMCListBox::`vftable'{for `CListBox'}
+??_7CRMCListBox@@6BCListBox@@@
+; const  CRMCListBox::`vftable'{for `CODLBox'}
+??_7CRMCListBox@@6BCODLBox@@@
+; const  CRMCListBoxHeader::`vftable'
+??_7CRMCListBoxHeader@@6B@
+; const  CStringListEx::`vftable'
+??_7CStringListEx@@6B@
+; const  CUpButton::`vftable'
+??_7CUpButton@@6B@
+; const  CWamInterface::`vftable'
+??_7CWamInterface@@6B@
+; public: void __thiscall CComAuthInfo::`default constructor closure'(void)
+??_FCComAuthInfo@@QAEXXZ
+; public: void __thiscall CConfirmDlg::`default constructor closure'(void)
+??_FCConfirmDlg@@QAEXXZ
+; public: void __thiscall CDirBrowseDlg::`default constructor closure'(void)
+??_FCDirBrowseDlg@@QAEXXZ
+; public: void __thiscall CHeaderListBox::`default constructor closure'(void)
+??_FCHeaderListBox@@QAEXXZ
+; public: void __thiscall CIISWizardBookEnd::`default constructor closure'(void)
+??_FCIISWizardBookEnd@@QAEXXZ
+; public: void __thiscall CIISWizardPage::`default constructor closure'(void)
+??_FCIISWizardPage@@QAEXXZ
+; public: void __thiscall CIISWizardSheet::`default constructor closure'(void)
+??_FCIISWizardSheet@@QAEXXZ
+; public: void __thiscall CIPAccessDescriptor::`default constructor closure'(void)
+??_FCIPAccessDescriptor@@QAEXXZ
+; public: void __thiscall CMetabasePath::`default constructor closure'(void)
+??_FCMetabasePath@@QAEXXZ
+; public: void __thiscall CObListPlus::`default constructor closure'(void)
+??_FCObListPlus@@QAEXXZ
+; public: void __thiscall CRMCListBoxHeader::`default constructor closure'(void)
+??_FCRMCListBoxHeader@@QAEXXZ
+; public: void __thiscall CStringListEx::`default constructor closure'(void)
+??_FCStringListEx@@QAEXXZ
+; void __stdcall ActivateControl(class CWnd &,int)
+?ActivateControl@@YGXAAVCWnd@@H@Z
+; protected: long __thiscall CMetaInterface::AddKey(unsigned long,unsigned short const *)
+?AddKey@CMetaInterface@@IAEJKPBG@Z
+; public: long __thiscall CMetaKey::AddKey(unsigned short const *)
+?AddKey@CMetaKey@@QAEJPBG@Z
+; public: unsigned int __thiscall CError::AddOverride(long,unsigned int)
+?AddOverride@CError@@QAEIJI@Z
+; public: void __thiscall CAccessEntry::AddPermissions(unsigned long)
+?AddPermissions@CAccessEntry@@QAEXK@Z
+; public: int __thiscall CODLBox::AddTab(unsigned int)
+?AddTab@CODLBox@@QAEHI@Z
+; public: int __thiscall CODLBox::AddTabFromHeaders(class CWnd &,class CWnd &)
+?AddTabFromHeaders@CODLBox@@QAEHAAVCWnd@@0@Z
+; public: int __thiscall CODLBox::AddTabFromHeaders(unsigned int,unsigned int)
+?AddTabFromHeaders@CODLBox@@QAEHII@Z
+; char * __stdcall AllocAnsiString(unsigned short const *)
+?AllocAnsiString@@YGPADPBG@Z
+; unsigned short * __stdcall AllocString(unsigned short const *,int)
+?AllocString@@YGPAGPBGH@Z
+; protected: static int __stdcall CINumber::Allocate(void)
+?Allocate@CINumber@@KGHXZ
+; protected: static int __stdcall CError::AllocateStatics(void)
+?AllocateStatics@CError@@KGHXZ
+; protected: long __thiscall CWamInterface::AppCreate(unsigned short const *,unsigned long)
+?AppCreate@CWamInterface@@IAEJPBGK@Z
+; protected: long __thiscall CWamInterface::AppDelete(unsigned short const *,int)
+?AppDelete@CWamInterface@@IAEJPBGH@Z
+; protected: long __thiscall CWamInterface::AppDeleteRecoverable(unsigned short const *,int)
+?AppDeleteRecoverable@CWamInterface@@IAEJPBGH@Z
+; protected: long __thiscall CWamInterface::AppGetStatus(unsigned short const *,unsigned long *)
+?AppGetStatus@CWamInterface@@IAEJPBGPAK@Z
+; protected: long __thiscall CWamInterface::AppRecover(unsigned short const *,int)
+?AppRecover@CWamInterface@@IAEJPBGH@Z
+; protected: long __thiscall CWamInterface::AppUnLoad(unsigned short const *,int)
+?AppUnLoad@CWamInterface@@IAEJPBGH@Z
+; protected: void __thiscall CMetabasePath::AppendPath(unsigned long)
+?AppendPath@CMetabasePath@@IAEXK@Z
+; protected: void __thiscall CMetabasePath::AppendPath(unsigned short const *)
+?AppendPath@CMetabasePath@@IAEXPBG@Z
+; class CString  __stdcall AppendToDevicePath(class CString,unsigned short const *)
+?AppendToDevicePath@@YG?AVCString@@V1@PBG@Z
+; void __stdcall ApplyFontToControls(class CWnd *,class CFont *,unsigned int,unsigned int)
+?ApplyFontToControls@@YGXPAVCWnd@@PAVCFont@@II@Z
+; public: long __thiscall CComAuthInfo::ApplyProxyBlanket(struct IUnknown *)
+?ApplyProxyBlanket@CComAuthInfo@@QAEJPAUIUnknown@@@Z
+; public: long __thiscall CComAuthInfo::ApplyProxyBlanket(struct IUnknown *,unsigned long)
+?ApplyProxyBlanket@CComAuthInfo@@QAEJPAUIUnknown@@K@Z
+; protected: virtual long __thiscall CIISSvcControl::ApplyProxyBlanket(void)
+?ApplyProxyBlanket@CIISSvcControl@@MAEJXZ
+; protected: virtual long __thiscall CMetaBack::ApplyProxyBlanket(void)
+?ApplyProxyBlanket@CMetaBack@@MAEJXZ
+; protected: virtual long __thiscall CMetaInterface::ApplyProxyBlanket(void)
+?ApplyProxyBlanket@CMetaInterface@@MAEJXZ
+; protected: virtual long __thiscall CWamInterface::ApplyProxyBlanket(void)
+?ApplyProxyBlanket@CWamInterface@@MAEJXZ
+; protected: static int __stdcall CError::AreStaticsAllocated(void)
+?AreStaticsAllocated@CError@@KGHXZ
+; public: void __thiscall CODLBox::AttachResources(class CRMCListBoxResources const *)
+?AttachResources@CODLBox@@QAEXPBVCRMCListBoxResources@@@Z
+; protected: void __thiscall CODLBox::AttachWindow(class CWnd *)
+?AttachWindow@CODLBox@@IAEXPAVCWnd@@@Z
+; public: long __thiscall CMetaBack::Backup(unsigned short const *)
+?Backup@CMetaBack@@QAEJPBG@Z
+; protected: long __thiscall CMetaInterface::Backup(unsigned short const *,unsigned long,unsigned long)
+?Backup@CMetaInterface@@IAEJPBGKK@Z
+; public: long __thiscall CMetaBack::BackupWithPassword(unsigned short const *,unsigned short const *)
+?BackupWithPassword@CMetaBack@@QAEJPBG0@Z
+; protected: long __thiscall CMetaInterface::BackupWithPassword(unsigned short const *,unsigned long,unsigned long,unsigned short const *)
+?BackupWithPassword@CMetaInterface@@IAEJPBGKK0@Z
+; public: int __thiscall CRMCListBoxResources::BitmapHeight(void)const 
+?BitmapHeight@CRMCListBoxResources@@QBEHXZ
+; public: int __thiscall CRMCListBoxResources::BitmapWidth(void)const 
+?BitmapWidth@CRMCListBoxResources@@QBEHXZ
+; int __stdcall BuildAclBlob(class CObListPlus &,class CBlob &)
+?BuildAclBlob@@YGHAAVCObListPlus@@AAVCBlob@@@Z
+; unsigned long __stdcall BuildAclOblistFromBlob(class CBlob &,class CObListPlus &)
+?BuildAclOblistFromBlob@@YGKAAVCBlob@@AAVCObListPlus@@@Z
+; public: static double __stdcall CINumber::BuildFloat(long,long)
+?BuildFloat@CINumber@@SGNJJ@Z
+; void __stdcall BuildIplBlob(class CObListPlus &,int,class CBlob &)
+?BuildIplBlob@@YGXAAVCObListPlus@@HAAVCBlob@@@Z
+; unsigned long __stdcall BuildIplOblistFromBlob(class CBlob &,class CObListPlus &,int &)
+?BuildIplOblistFromBlob@@YGKAAVCBlob@@AAVCObListPlus@@AAH@Z
+; protected: void __thiscall CMetabasePath::BuildMetaPath(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
+?BuildMetaPath@CMetabasePath@@IAEXPBG000@Z
+; protected: void __thiscall CMetabasePath::BuildMetaPath(unsigned short const *,unsigned long,unsigned short const *,unsigned short const *)
+?BuildMetaPath@CMetabasePath@@IAEXPBGK00@Z
+; int __stdcall CStringFindNoCase(class CString const &,unsigned short const *)
+?CStringFindNoCase@@YGHABVCString@@PBG@Z
+; protected: void __thiscall CODLBox::CalculateTextHeight(class CFont *)
+?CalculateTextHeight@CODLBox@@IAEXPAVCFont@@@Z
+; public: int __thiscall CODLBox::ChangeFont(class CFont *)
+?ChangeFont@CODLBox@@QAEHPAVCFont@@@Z
+; public: virtual long __thiscall CIISInterface::ChangeProxyBlanket(unsigned short const *,unsigned short const *)
+?ChangeProxyBlanket@CIISInterface@@UAEJPBG0@Z
+; public: long __thiscall CMetaKey::CheckDescendants(unsigned long,class CComAuthInfo *,unsigned short const *)
+?CheckDescendants@CMetaKey@@QAEJKPAVCComAuthInfo@@PBG@Z
+; protected: class CString & __thiscall CInheritanceDlg::CleanDescendantPath(class CString &)
+?CleanDescendantPath@CInheritanceDlg@@IAEAAVCString@@AAV2@@Z
+; public: static unsigned short const * __stdcall CMetabasePath::CleanMetaPath(class CString &)
+?CleanMetaPath@CMetabasePath@@SGPBGAAVCString@@@Z
+; public: void __thiscall CBlob::CleanUp(void)
+?CleanUp@CBlob@@QAEXXZ
+; private: void __thiscall CStrPassword::ClearPasswordBuffers(void)
+?ClearPasswordBuffers@CStrPassword@@AAEXXZ
+; public: long __thiscall CMetaKey::Close(void)
+?Close@CMetaKey@@QAEJXZ
+; protected: long __thiscall CMetaInterface::CloseKey(unsigned long)
+?CloseKey@CMetaInterface@@IAEJK@Z
+; public: unsigned long __thiscall CRMCListBoxResources::ColorHighlight(void)const 
+?ColorHighlight@CRMCListBoxResources@@QBEKXZ
+; public: unsigned long __thiscall CRMCListBoxResources::ColorHighlightText(void)const 
+?ColorHighlightText@CRMCListBoxResources@@QBEKXZ
+; public: unsigned long __thiscall CRMCListBoxResources::ColorWindow(void)const 
+?ColorWindow@CRMCListBoxResources@@QBEKXZ
+; public: unsigned long __thiscall CRMCListBoxResources::ColorWindowText(void)const 
+?ColorWindowText@CRMCListBoxResources@@QBEKXZ
+; protected: int __thiscall CODLBox::ColumnText(class CRMCListBoxDrawStruct &,int,int,unsigned short const *)
+?ColumnText@CODLBox@@IAEHAAVCRMCListBoxDrawStruct@@HHPBG@Z
+; protected: static int __stdcall CODLBox::ColumnText(class CDC *,int,int,int,int,unsigned short const *)
+?ColumnText@CODLBox@@KGHPAVCDC@@HHHHPBG@Z
+; protected: void __thiscall CIISApplication::CommonConstruct(void)
+?CommonConstruct@CIISApplication@@IAEXXZ
+; public: virtual int __thiscall CObjectPlus::Compare(class CObjectPlus const *)const 
+?Compare@CObjectPlus@@UBEHPBV1@@Z
+; public: int __thiscall CStrPassword::Compare(class CStrPassword &)const 
+?Compare@CStrPassword@@QBEHAAV1@@Z
+; public: int __thiscall CStrPassword::Compare(class CString &)const 
+?Compare@CStrPassword@@QBEHAAVCString@@@Z
+; public: int __thiscall CStrPassword::Compare(unsigned short const *)const 
+?Compare@CStrPassword@@QBEHPBG@Z
+; public: int __thiscall CIPAddress::CompareItem(class CIPAddress const &)const 
+?CompareItem@CIPAddress@@QBEHABV1@@Z
+; protected: void __thiscall CODLBox::ComputeMargins(class CRMCListBoxDrawStruct &,int,int &,int &)
+?ComputeMargins@CODLBox@@IAEXAAVCRMCListBoxDrawStruct@@HAAH1@Z
+; protected: class CError const & __thiscall CError::Construct(class CError const &)
+?Construct@CError@@IAEABV1@ABV1@@Z
+; protected: class CError const & __thiscall CError::Construct(long)
+?Construct@CError@@IAEABV1@J@Z
+; unsigned long __stdcall ConvertDoubleNullListToStringList(unsigned short const *,class CStringList &,int)
+?ConvertDoubleNullListToStringList@@YGKPBGAAVCStringList@@H@Z
+; public: static unsigned short const * __stdcall CINumber::ConvertFloatToString(double,int,class CString &)
+?ConvertFloatToString@CINumber@@SGPBGNHAAVCString@@@Z
+; public: static unsigned short const * __stdcall CINumber::ConvertLongToString(long,class CString &)
+?ConvertLongToString@CINumber@@SGPBGJAAVCString@@@Z
+; int __stdcall ConvertSepLineToStringList(unsigned short const *,class CStringList &,unsigned short const *)
+?ConvertSepLineToStringList@@YGHPBGAAVCStringList@@0@Z
+; unsigned long __stdcall ConvertStringListToDoubleNullList(class CStringList &,unsigned long &,unsigned short * &)
+?ConvertStringListToDoubleNullList@@YGKAAVCStringList@@AAKAAPAG@Z
+; unsigned short const * __stdcall ConvertStringListToSepLine(class CStringList &,class CString &,unsigned short const *)
+?ConvertStringListToSepLine@@YGPBGAAVCStringList@@AAVCString@@PBG@Z
+; public: static int __stdcall CINumber::ConvertStringToFloat(unsigned short const *,double &)
+?ConvertStringToFloat@CINumber@@SGHPBGAAN@Z
+; public: static int __stdcall CINumber::ConvertStringToLong(unsigned short const *,long &)
+?ConvertStringToLong@CINumber@@SGHPBGAAJ@Z
+; public: long __thiscall CMetaKey::ConvertToParentPath(int)
+?ConvertToParentPath@CMetaKey@@QAEJH@Z
+; public: static unsigned short const * __stdcall CMetabasePath::ConvertToParentPath(class CString &)
+?ConvertToParentPath@CMetabasePath@@SGPBGAAVCString@@@Z
+; protected: long __thiscall CMetaInterface::CopyData(unsigned long,unsigned short const *,unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,int)
+?CopyData@CMetaInterface@@IAEJKPBGK0KKKH@Z
+; protected: long __thiscall CMetaInterface::CopyKey(unsigned long,unsigned short const *,unsigned long,unsigned short const *,int,int)
+?CopyKey@CMetaInterface@@IAEJKPBGK0HH@Z
+; public: void __thiscall CStrPassword::CopyTo(class CStrPassword &)
+?CopyTo@CStrPassword@@QAEXAAV1@@Z
+; public: void __thiscall CStrPassword::CopyTo(class CString &)
+?CopyTo@CStrPassword@@QAEXAAVCString@@@Z
+; public: long __thiscall CIISAppPool::Create(unsigned short const *)
+?Create@CIISAppPool@@QAEJPBG@Z
+; public: long __thiscall CIISApplication::Create(unsigned short const *,unsigned long)
+?Create@CIISApplication@@QAEJPBGK@Z
+; protected: long __thiscall CIISInterface::Create(int,struct _GUID const * const,struct _GUID const * const,int *,struct IUnknown * *)
+?Create@CIISInterface@@IAEJHQBU_GUID@@0PAHPAPAUIUnknown@@@Z
+; protected: long __thiscall CIISSvcControl::Create(void)
+?Create@CIISSvcControl@@IAEJXZ
+; protected: long __thiscall CMetaInterface::Create(void)
+?Create@CMetaInterface@@IAEJXZ
+; public: int __thiscall CRMCListBoxHeader::Create(unsigned long,struct tagRECT const &,class CWnd *,class CHeaderListBox *,unsigned int)
+?Create@CRMCListBoxHeader@@QAEHKABUtagRECT@@PAVCWnd@@PAVCHeaderListBox@@I@Z
+; protected: long __thiscall CWamInterface::Create(void)
+?Create@CWamInterface@@IAEJXZ
+; protected: long __thiscall CWamInterface::CreateApplication(unsigned short const *,unsigned long,unsigned short const *,int)
+?CreateApplication@CWamInterface@@IAEJPBGK0H@Z
+; protected: long __thiscall CWamInterface::CreateApplicationPool(unsigned short const *)
+?CreateApplicationPool@CWamInterface@@IAEJPBG@Z
+; public: static class CObject * __stdcall CEmphasizedDialog::CreateObject(void)
+?CreateObject@CEmphasizedDialog@@SGPAVCObject@@XZ
+; public: static class CObject * __stdcall CIISWizardBookEnd::CreateObject(void)
+?CreateObject@CIISWizardBookEnd@@SGPAVCObject@@XZ
+; public: static class CObject * __stdcall CIISWizardPage::CreateObject(void)
+?CreateObject@CIISWizardPage@@SGPAVCObject@@XZ
+; public: static class CObject * __stdcall CIISWizardSheet::CreateObject(void)
+?CreateObject@CIISWizardSheet@@SGPAVCObject@@XZ
+; public: long __thiscall CMetaKey::CreatePathFromFailedOpen(void)
+?CreatePathFromFailedOpen@CMetaKey@@QAEJXZ
+; public: long __thiscall CIISApplication::CreatePooled(unsigned short const *,unsigned long,unsigned short const *,int)
+?CreatePooled@CIISApplication@@QAEJPBGK0H@Z
+; public: struct _COSERVERINFO * __thiscall CComAuthInfo::CreateServerInfoStruct(unsigned long)const 
+?CreateServerInfoStruct@CComAuthInfo@@QBEPAU_COSERVERINFO@@K@Z
+; public: struct _COSERVERINFO * __thiscall CComAuthInfo::CreateServerInfoStruct(void)const 
+?CreateServerInfoStruct@CComAuthInfo@@QBEPAU_COSERVERINFO@@XZ
+; public: long __thiscall CMetaInterface::CreateSite(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long *,unsigned long *)
+?CreateSite@CMetaInterface@@QAEJPBG000PAK1@Z
+; int __stdcall CreateSpecialDialogFont(class CWnd *,class CFont *,long,long,long,int,int)
+?CreateSpecialDialogFont@@YGHPAVCWnd@@PAVCFont@@JJJHH@Z
+; int __stdcall CvtGMTStringToInternal(unsigned short const *,long *)
+?CvtGMTStringToInternal@@YGHPBGPAJ@Z
+; void __stdcall CvtInternalToGMTString(long,class CString &)
+?CvtInternalToGMTString@@YGXJAAVCString@@@Z
+; int __stdcall CvtStringToLong(unsigned short const *,unsigned long *)
+?CvtStringToLong@@YGHPBGPAK@Z
+; protected: static long __stdcall CError::CvtToInternalFormat(long)
+?CvtToInternalFormat@CError@@KGJJ@Z
+; void __stdcall DDV_FilePath(class CDataExchange *,class CString &,int)
+?DDV_FilePath@@YGXPAVCDataExchange@@AAVCString@@H@Z
+; void __stdcall DDV_FolderPath(class CDataExchange *,class CString &,int)
+?DDV_FolderPath@@YGXPAVCDataExchange@@AAVCString@@H@Z
+; void __stdcall DDV_MaxCharsBalloon(class CDataExchange *,class CString const &,int)
+?DDV_MaxCharsBalloon@@YGXPAVCDataExchange@@ABVCString@@H@Z
+; void __stdcall DDV_MaxCharsBalloon_SecuredString(class CDataExchange *,class CStrPassword const &,int)
+?DDV_MaxCharsBalloon_SecuredString@@YGXPAVCDataExchange@@ABVCStrPassword@@H@Z
+; void __stdcall DDV_MaxChars_SecuredString(class CDataExchange *,class CStrPassword const &,int)
+?DDV_MaxChars_SecuredString@@YGXPAVCDataExchange@@ABVCStrPassword@@H@Z
+; void __stdcall DDV_MinChars(class CDataExchange *,class CString const &,int)
+?DDV_MinChars@@YGXPAVCDataExchange@@ABVCString@@H@Z
+; void __stdcall DDV_MinChars_SecuredString(class CDataExchange *,class CStrPassword const &,int)
+?DDV_MinChars_SecuredString@@YGXPAVCDataExchange@@ABVCStrPassword@@H@Z
+; void __stdcall DDV_MinMaxBalloon(class CDataExchange *,int,unsigned long,unsigned long)
+?DDV_MinMaxBalloon@@YGXPAVCDataExchange@@HKK@Z
+; void __stdcall DDV_MinMaxChars(class CDataExchange *,class CString const &,int,int)
+?DDV_MinMaxChars@@YGXPAVCDataExchange@@ABVCString@@HH@Z
+; void __stdcall DDV_MinMaxChars_SecuredString(class CDataExchange *,class CStrPassword const &,int,int)
+?DDV_MinMaxChars_SecuredString@@YGXPAVCDataExchange@@ABVCStrPassword@@HH@Z
+; void __stdcall DDV_MinMaxSpin(class CDataExchange *,struct HWND__ *,int,int)
+?DDV_MinMaxSpin@@YGXPAVCDataExchange@@PAUHWND__@@HH@Z
+; void __stdcall DDV_ShowBalloonAndFail(class CDataExchange *,unsigned int)
+?DDV_ShowBalloonAndFail@@YGXPAVCDataExchange@@I@Z
+; void __stdcall DDV_ShowBalloonAndFail(class CDataExchange *,class CString)
+?DDV_ShowBalloonAndFail@@YGXPAVCDataExchange@@VCString@@@Z
+; void __stdcall DDV_UNCFolderPath(class CDataExchange *,class CString &,int)
+?DDV_UNCFolderPath@@YGXPAVCDataExchange@@AAVCString@@H@Z
+; void __stdcall DDV_Url(class CDataExchange *,class CString &)
+?DDV_Url@@YGXPAVCDataExchange@@AAVCString@@@Z
+; void __stdcall DDX_Password(class CDataExchange *,int,class CString &,unsigned short const *)
+?DDX_Password@@YGXPAVCDataExchange@@HAAVCString@@PBG@Z
+; void __stdcall DDX_Password_SecuredString(class CDataExchange *,int,class CStrPassword &,unsigned short const *)
+?DDX_Password_SecuredString@@YGXPAVCDataExchange@@HAAVCStrPassword@@PBG@Z
+; void __stdcall DDX_Spin(class CDataExchange *,int,int &)
+?DDX_Spin@@YGXPAVCDataExchange@@HAAH@Z
+; void __stdcall DDX_Text(class CDataExchange *,int,class CILong &)
+?DDX_Text@@YGXPAVCDataExchange@@HAAVCILong@@@Z
+; void __stdcall DDX_TextBalloon(class CDataExchange *,int,unsigned char &)
+?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAE@Z
+; void __stdcall DDX_TextBalloon(class CDataExchange *,int,short &)
+?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAF@Z
+; void __stdcall DDX_TextBalloon(class CDataExchange *,int,int &)
+?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAH@Z
+; void __stdcall DDX_TextBalloon(class CDataExchange *,int,unsigned int &)
+?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAI@Z
+; void __stdcall DDX_TextBalloon(class CDataExchange *,int,long &)
+?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAJ@Z
+; void __stdcall DDX_TextBalloon(class CDataExchange *,int,unsigned long &)
+?DDX_TextBalloon@@YGXPAVCDataExchange@@HAAK@Z
+; void __stdcall DDX_TextBalloon(class CDataExchange *,int,__int64 &)
+?DDX_TextBalloon@@YGXPAVCDataExchange@@HAA_J@Z
+; void __stdcall DDX_TextBalloon(class CDataExchange *,int,unsigned __int64 &)
+?DDX_TextBalloon@@YGXPAVCDataExchange@@HAA_K@Z
+; void __stdcall DDX_Text_SecuredString(class CDataExchange *,int,class CStrPassword &)
+?DDX_Text_SecuredString@@YGXPAVCDataExchange@@HAAVCStrPassword@@@Z
+; public: static unsigned char * __stdcall CIPAddress::DWORDtoLPBYTE(unsigned long,unsigned char *)
+?DWORDtoLPBYTE@CIPAddress@@SGPAEKPAE@Z
+; protected: static void __stdcall CINumber::DeAllocate(void)
+?DeAllocate@CINumber@@KGXXZ
+; protected: static void __stdcall CError::DeAllocateStatics(void)
+?DeAllocateStatics@CError@@KGXXZ
+; unsigned long __stdcall DeflateEnvironmentVariablePath(unsigned short const *,class CString &)
+?DeflateEnvironmentVariablePath@@YGKPBGAAVCString@@@Z
+; public: long __thiscall CIISAppPool::Delete(unsigned short const *)
+?Delete@CIISAppPool@@QAEJPBG@Z
+; public: long __thiscall CIISApplication::Delete(int)
+?Delete@CIISApplication@@QAEJH@Z
+; public: long __thiscall CMetaBack::Delete(unsigned short const *,unsigned long)
+?Delete@CMetaBack@@QAEJPBGK@Z
+; protected: long __thiscall CMetaInterface::DeleteAllData(unsigned long,unsigned short const *,unsigned long,unsigned long)
+?DeleteAllData@CMetaInterface@@IAEJKPBGKK@Z
+; protected: long __thiscall CWamInterface::DeleteApplication(unsigned short const *,int)
+?DeleteApplication@CWamInterface@@IAEJPBGH@Z
+; protected: long __thiscall CWamInterface::DeleteApplicationPool(unsigned short const *)
+?DeleteApplicationPool@CWamInterface@@IAEJPBG@Z
+; protected: long __thiscall CMetaInterface::DeleteBackup(unsigned short const *,unsigned long)
+?DeleteBackup@CMetaInterface@@IAEJPBGK@Z
+; protected: long __thiscall CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const *)
+?DeleteChildKeys@CMetaInterface@@IAEJKPBG@Z
+; protected: long __thiscall CMetaInterface::DeleteData(unsigned long,unsigned short const *,unsigned long,unsigned long)
+?DeleteData@CMetaInterface@@IAEJKPBGKK@Z
+; protected: int __thiscall CHeaderListBox::DeleteHeaderItem(int)
+?DeleteHeaderItem@CHeaderListBox@@IAEHH@Z
+; public: int __thiscall CRMCListBoxHeader::DeleteItem(int)
+?DeleteItem@CRMCListBoxHeader@@QAEHH@Z
+; protected: long __thiscall CMetaInterface::DeleteKey(unsigned long,unsigned short const *)
+?DeleteKey@CMetaInterface@@IAEJKPBG@Z
+; public: long __thiscall CMetaKey::DeleteKey(unsigned short const *)
+?DeleteKey@CMetaKey@@QAEJPBG@Z
+; public: long __thiscall CIISApplication::DeleteRecoverable(int)
+?DeleteRecoverable@CIISApplication@@QAEJH@Z
+; public: long __thiscall CMetaKey::DeleteValue(unsigned long,unsigned short const *)
+?DeleteValue@CMetaKey@@QAEJKPBG@Z
+; public: void __thiscall CStrPassword::DestroyClearTextPassword(unsigned short *)const 
+?DestroyClearTextPassword@CStrPassword@@QBEXPAG@Z
+; protected: void __thiscall CHeaderListBox::DistributeColumns(void)
+?DistributeColumns@CHeaderListBox@@IAEXXZ
+; protected: virtual void __thiscall CConfirmDlg::DoDataExchange(class CDataExchange *)
+?DoDataExchange@CConfirmDlg@@MAEXPAVCDataExchange@@@Z
+; protected: virtual void __thiscall CInheritanceDlg::DoDataExchange(class CDataExchange *)
+?DoDataExchange@CInheritanceDlg@@MAEXPAVCDataExchange@@@Z
+; public: virtual int __thiscall CDirBrowseDlg::DoModal(void)
+?DoModal@CDirBrowseDlg@@UAEHXZ
+; public: virtual int __thiscall CInheritanceDlg::DoModal(void)
+?DoModal@CInheritanceDlg@@UAEHXZ
+; public: long __thiscall CMetaKey::DoesPathExist(unsigned short const *)
+?DoesPathExist@CMetaKey@@QAEJPBG@Z
+; public: int __thiscall CRMCListBoxHeader::DoesRespondToColumnWidthChanges(void)const 
+?DoesRespondToColumnWidthChanges@CRMCListBoxHeader@@QBEHXZ
+; int __stdcall DoesUNCShareExist(class CString &)
+?DoesUNCShareExist@@YGHAAVCString@@@Z
+; protected: int __thiscall CODLBox::DrawBitmap(class CRMCListBoxDrawStruct &,int,int)
+?DrawBitmap@CODLBox@@IAEHAAVCRMCListBoxDrawStruct@@HH@Z
+; protected: virtual void __thiscall CRMCComboBox::DrawItem(struct tagDRAWITEMSTRUCT *)
+?DrawItem@CRMCComboBox@@MAEXPAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual void __thiscall CRMCListBox::DrawItem(struct tagDRAWITEMSTRUCT *)
+?DrawItem@CRMCListBox@@MAEXPAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual void __thiscall CRMCComboBox::DrawItemEx(class CRMCListBoxDrawStruct &)
+?DrawItemEx@CRMCComboBox@@MAEXAAVCRMCListBoxDrawStruct@@@Z
+; protected: virtual void __thiscall CRMCListBox::DrawItemEx(class CRMCListBoxDrawStruct &)
+?DrawItemEx@CRMCListBox@@MAEXAAVCRMCListBoxDrawStruct@@@Z
+; public: int __thiscall CIPAccessDescriptor::DuplicateInList(class CObListPlus &)
+?DuplicateInList@CIPAccessDescriptor@@QAEHAAVCObListPlus@@@Z
+; void __stdcall EditHideBalloon(void)
+?EditHideBalloon@@YGXXZ
+; void __stdcall EditShowBalloon(struct HWND__ *,unsigned int)
+?EditShowBalloon@@YGXPAUHWND__@@I@Z
+; void __stdcall EditShowBalloon(struct HWND__ *,class CString)
+?EditShowBalloon@@YGXPAUHWND__@@VCString@@@Z
+; public: void __thiscall CStrPassword::Empty(void)
+?Empty@CStrPassword@@QAEXXZ
+; public: void __thiscall CIISWizardSheet::EnableButton(int,int)
+?EnableButton@CIISWizardSheet@@QAEXHH@Z
+; protected: void __thiscall CIISWizardPage::EnableSheetButton(int,int)
+?EnableSheetButton@CIISWizardPage@@IAEXHH@Z
+; public: int __thiscall CHeaderListBox::EnableWindow(int)
+?EnableWindow@CHeaderListBox@@QAEHH@Z
+; protected: long __thiscall CMetaInterface::EnumBackups(unsigned short *,unsigned long *,struct _FILETIME *,unsigned long)
+?EnumBackups@CMetaInterface@@IAEJPAGPAKPAU_FILETIME@@K@Z
+; protected: long __thiscall CMetaInterface::EnumData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long,unsigned long *)
+?EnumData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@KPAK@Z
+; protected: long __thiscall CMetaInterface::EnumHistory(unsigned short *,unsigned long *,unsigned long *,struct _FILETIME *,unsigned long)
+?EnumHistory@CMetaInterface@@IAEJPAGPAK1PAU_FILETIME@@K@Z
+; protected: long __thiscall CMetaInterface::EnumKeys(unsigned long,unsigned short const *,unsigned short *,unsigned long)
+?EnumKeys@CMetaInterface@@IAEJKPBGPAGK@Z
+; public: long __thiscall CIISAppPool::EnumerateApplications(class CStringListEx &)
+?EnumerateApplications@CIISAppPool@@QAEJAAVCStringListEx@@@Z
+; protected: long __thiscall CWamInterface::EnumerateApplicationsInPool(unsigned short const *,unsigned short * *)
+?EnumerateApplicationsInPool@CWamInterface@@IAEJPBGPAPAG@Z
+; protected: int __thiscall CError::ExpandEscapeCode(unsigned short *,unsigned long,unsigned short * &,class CString &,long &)const 
+?ExpandEscapeCode@CError@@IBEHPAGKAAPAGAAVCString@@AAJ@Z
+; public: int __thiscall CError::Failed(void)const 
+?Failed@CError@@QBEHXZ
+; public: static int __stdcall CError::Failed(long)
+?Failed@CError@@SGHJ@Z
+; int __stdcall FetchIpAddressFromCombo(class CComboBox &,class CObListPlus &,class CIPAddress &)
+?FetchIpAddressFromCombo@@YGHAAVCComboBox@@AAVCObListPlus@@AAVCIPAddress@@@Z
+; public: int __thiscall CObListPlus::FindElement(class CObject *)const 
+?FindElement@CObListPlus@@QBEHPAVCObject@@@Z
+; protected: static unsigned short const * __stdcall CError::FindFacility(unsigned long)
+?FindFacility@CError@@KGPBGK@Z
+; void __stdcall FitPathToControl(class CWnd &,unsigned short const *,int)
+?FitPathToControl@@YGXAAVCWnd@@PBGH@Z
+; public: void __thiscall CAccessEntry::FlagForDeletion(int)
+?FlagForDeletion@CAccessEntry@@QAEXH@Z
+; public: void __thiscall CComAuthInfo::FreeServerInfoStruct(struct _COSERVERINFO *)const 
+?FreeServerInfoStruct@CComAuthInfo@@QBEXPAU_COSERVERINFO@@@Z
+; protected: int __thiscall CInheritanceDlg::FriendlyInstance(class CString &,class CString &)
+?FriendlyInstance@CInheritanceDlg@@IAEHAAVCString@@0@Z
+; unsigned short const * __stdcall GUIDToCString(struct _GUID const &,class CString &)
+?GUIDToCString@@YGPBGABU_GUID@@AAVCString@@@Z
+; unsigned short const * __stdcall GenerateRegistryKey(class CString &,unsigned short const *)
+?GenerateRegistryKey@@YGPBGAAVCString@@PBG@Z
+; public: long __thiscall CMetaInterface::GetAdminInterface2(struct IMSAdminBase2W * *)
+?GetAdminInterface2@CMetaInterface@@QAEJPAPAUIMSAdminBase2W@@@Z
+; public: long __thiscall CMetaInterface::GetAdminInterface3(struct IMSAdminBase3W * *)
+?GetAdminInterface3@CMetaInterface@@QAEJPAPAUIMSAdminBase3W@@@Z
+; protected: long __thiscall CMetaInterface::GetAllData(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,unsigned long,unsigned char *,unsigned long *)
+?GetAllData@CMetaInterface@@IAEJKPBGKKKPAK1KPAE1@Z
+; protected: long __thiscall CMetaKey::GetAllData(unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,unsigned char * *,unsigned short const *)
+?GetAllData@CMetaKey@@IAEJKKKPAK0PAPAEPBG@Z
+; public: long __thiscall CWamInterface::GetAppAdminInterface(struct IIISApplicationAdmin * *)
+?GetAppAdminInterface@CWamInterface@@QAEJPAPAUIIISApplicationAdmin@@@Z
+; protected: struct HBRUSH__ * __thiscall CIISWizardPage::GetBackgroundBrush(void)const 
+?GetBackgroundBrush@CIISWizardPage@@IBEPAUHBRUSH__@@XZ
+; public: struct HBRUSH__ * __thiscall CIISWizardSheet::GetBackgroundBrush(void)const 
+?GetBackgroundBrush@CIISWizardSheet@@QBEPAUHBRUSH__@@XZ
+; public: unsigned long __thiscall CMetaKey::GetBase(void)const 
+?GetBase@CMetaKey@@QBEKXZ
+; protected: class CFont * __thiscall CIISWizardPage::GetBigFont(void)
+?GetBigFont@CIISWizardPage@@IAEPAVCFont@@XZ
+; public: class CFont * __thiscall CIISWizardSheet::GetBigFont(void)
+?GetBigFont@CIISWizardSheet@@QAEPAVCFont@@XZ
+; protected: class CDC * __thiscall CIISWizardPage::GetBitmapMemDC(void)
+?GetBitmapMemDC@CIISWizardPage@@IAEPAVCDC@@XZ
+; public: class CDC * __thiscall CIISWizardSheet::GetBitmapMemDC(int)
+?GetBitmapMemDC@CIISWizardSheet@@QAEPAVCDC@@H@Z
+; protected: class CFont * __thiscall CIISWizardPage::GetBoldFont(void)
+?GetBoldFont@CIISWizardPage@@IAEPAVCFont@@XZ
+; public: class CFont * __thiscall CIISWizardSheet::GetBoldFont(void)
+?GetBoldFont@CIISWizardSheet@@QAEPAVCFont@@XZ
+; public: int __thiscall CStrPassword::GetByteLength(void)const 
+?GetByteLength@CStrPassword@@QBEHXZ
+; protected: long __thiscall CMetaInterface::GetChildPaths(unsigned long,unsigned short const *,unsigned long,unsigned short *,unsigned long *)
+?GetChildPaths@CMetaInterface@@IAEJKPBGKPAGPAK@Z
+; public: long __thiscall CMetaKey::GetChildPaths(class CStringListEx &,unsigned short const *)
+?GetChildPaths@CMetaKey@@QAEJAAVCStringListEx@@PBG@Z
+; public: unsigned short * __thiscall CStrPassword::GetClearTextPassword(void)
+?GetClearTextPassword@CStrPassword@@QAEPAGXZ
+; public: int __thiscall CRMCListBoxHeader::GetColumnWidth(int)const 
+?GetColumnWidth@CRMCListBoxHeader@@QBEHH@Z
+; public: int __thiscall CGetComputer::GetComputer(struct HWND__ *)
+?GetComputer@CGetComputer@@QAEHPAUHWND__@@@Z
+; public: int __thiscall CRMCListBox::GetCurSel(void)const 
+?GetCurSel@CRMCListBox@@QBEHXZ
+; public: unsigned char * __thiscall CBlob::GetData(void)
+?GetData@CBlob@@QAEPAEXZ
+; protected: long __thiscall CMetaInterface::GetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long *)
+?GetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@PAK@Z
+; protected: long __thiscall CInheritanceDlg::GetDataPaths(void)
+?GetDataPaths@CInheritanceDlg@@IAEJXZ
+; protected: long __thiscall CMetaInterface::GetDataPaths(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned short *,unsigned long *)
+?GetDataPaths@CMetaInterface@@IAEJKPBGKKKPAGPAK@Z
+; public: long __thiscall CMetaKey::GetDataPaths(class CStringListEx &,unsigned long,unsigned long,unsigned short const *)
+?GetDataPaths@CMetaKey@@QAEJAAVCStringListEx@@KKPBG@Z
+; void __stdcall GetDlgCtlRect(struct HWND__ *,struct HWND__ *,struct tagRECT *)
+?GetDlgCtlRect@@YGXPAUHWND__@@0PAUtagRECT@@@Z
+; public: unsigned short const * __thiscall CDirBrowseDlg::GetFullPath(class CString &,int)const 
+?GetFullPath@CDirBrowseDlg@@QBEPBGAAVCString@@H@Z
+; void __stdcall GetFullPathLocalOrRemote(unsigned short const *,unsigned short const *,class CString &)
+?GetFullPathLocalOrRemote@@YGXPBG0AAVCString@@@Z
+; public: unsigned long __thiscall CMetaKey::GetHandle(void)const 
+?GetHandle@CMetaKey@@QBEKXZ
+; protected: class CRMCListBoxHeader * __thiscall CHeaderListBox::GetHeader(void)
+?GetHeader@CHeaderListBox@@IAEPAVCRMCListBoxHeader@@XZ
+; protected: int __thiscall CHeaderListBox::GetHeaderItem(int,struct _HD_ITEMW *)const 
+?GetHeaderItem@CHeaderListBox@@IBEHHPAU_HD_ITEMW@@@Z
+; protected: int __thiscall CHeaderListBox::GetHeaderItemCount(void)const 
+?GetHeaderItemCount@CHeaderListBox@@IBEHXZ
+; int __stdcall GetIUsrAccount(unsigned short const *,class CWnd *,class CString &)
+?GetIUsrAccount@@YGHPBGPAVCWnd@@AAVCString@@@Z
+; int __stdcall GetIUsrAccount(unsigned short const *,class CWnd *,unsigned short *,int)
+?GetIUsrAccount@@YGHPBGPAVCWnd@@PAGH@Z
+; public: static unsigned long __stdcall CMetabasePath::GetInstanceNumber(unsigned short const *)
+?GetInstanceNumber@CMetabasePath@@SGKPBG@Z
+; public: static unsigned short const * __stdcall CMetabasePath::GetInstancePath(unsigned short const *,class CString &,class CString *)
+?GetInstancePath@CMetabasePath@@SGPBGPBGAAVCString@@PAV2@@Z
+; public: struct IMSAdminBaseW * __thiscall CMetaInterface::GetInterface(void)
+?GetInterface@CMetaInterface@@QAEPAUIMSAdminBaseW@@XZ
+; public: int __thiscall CRMCListBoxHeader::GetItem(int,struct _HD_ITEMW *)const 
+?GetItem@CRMCListBoxHeader@@QBEHHPAU_HD_ITEMW@@@Z
+; public: int __thiscall CRMCListBoxHeader::GetItemCount(void)const 
+?GetItemCount@CRMCListBoxHeader@@QBEHXZ
+; protected: long __thiscall CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
+?GetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
+; public: static unsigned short const * __stdcall CMetabasePath::GetLastNodeName(unsigned short const *,class CString &)
+?GetLastNodeName@CMetabasePath@@SGPBGPBGAAVCString@@@Z
+; public: void __thiscall CError::GetLastWinError(void)
+?GetLastWinError@CError@@QAEXXZ
+; public: int __thiscall CStrPassword::GetLength(void)const 
+?GetLength@CStrPassword@@QBEHXZ
+; public: static int __stdcall CMetaKey::GetMDFieldDef(unsigned long,unsigned long &,unsigned long &,unsigned long &,unsigned long &)
+?GetMDFieldDef@CMetaKey@@SGHKAAK000@Z
+; public: static unsigned short const * __stdcall CMetabasePath::GetMachinePath(unsigned short const *,class CString &,class CString *)
+?GetMachinePath@CMetabasePath@@SGPBGPBGAAVCString@@PAV2@@Z
+; protected: virtual struct AFX_MSGMAP const * __thiscall CConfirmDlg::GetMessageMap(void)const 
+?GetMessageMap@CConfirmDlg@@MBEPBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __thiscall CEmphasizedDialog::GetMessageMap(void)const 
+?GetMessageMap@CEmphasizedDialog@@MBEPBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __thiscall CHeaderListBox::GetMessageMap(void)const 
+?GetMessageMap@CHeaderListBox@@MBEPBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __thiscall CIISWizardBookEnd::GetMessageMap(void)const 
+?GetMessageMap@CIISWizardBookEnd@@MBEPBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __thiscall CIISWizardPage::GetMessageMap(void)const 
+?GetMessageMap@CIISWizardPage@@MBEPBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __thiscall CIISWizardSheet::GetMessageMap(void)const 
+?GetMessageMap@CIISWizardSheet@@MBEPBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __thiscall CInheritanceDlg::GetMessageMap(void)const 
+?GetMessageMap@CInheritanceDlg@@MBEPBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __thiscall CRMCComboBox::GetMessageMap(void)const 
+?GetMessageMap@CRMCComboBox@@MBEPBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __thiscall CRMCListBox::GetMessageMap(void)const 
+?GetMessageMap@CRMCListBox@@MBEPBUAFX_MSGMAP@@XZ
+; protected: virtual struct AFX_MSGMAP const * __thiscall CRMCListBoxHeader::GetMessageMap(void)const 
+?GetMessageMap@CRMCListBoxHeader@@MBEPBUAFX_MSGMAP@@XZ
+; public: static struct CMetaKey::tagMDFIELDDEF const * __stdcall CMetaKey::GetMetaProp(unsigned long)
+?GetMetaProp@CMetaKey@@SGPBUtagMDFIELDDEF@1@K@Z
+; public: void * __thiscall CRMCListBox::GetNextSelectedItem(int *)
+?GetNextSelectedItem@CRMCListBox@@QAEPAXPAH@Z
+; public: class CString & __thiscall CConfirmDlg::GetPassword(void)
+?GetPassword@CConfirmDlg@@QAEAAVCString@@XZ
+; public: long __thiscall CIISAppPool::GetProcessMode(unsigned long *)
+?GetProcessMode@CIISAppPool@@QAEJPAK@Z
+; protected: long __thiscall CWamInterface::GetProcessMode(unsigned long *)
+?GetProcessMode@CWamInterface@@IAEJPAK@Z
+; public: static int __stdcall CMetaKey::GetPropertyDescription(unsigned long,class CString &)
+?GetPropertyDescription@CMetaKey@@SGHKAAVCString@@@Z
+; protected: long __thiscall CMetaKey::GetPropertyValue(unsigned long,unsigned long &,void * &,unsigned long *,int *,unsigned short const *,unsigned long *)
+?GetPropertyValue@CMetaKey@@IAEJKAAKAAPAXPAKPAHPBG2@Z
+; protected: static int __stdcall CODLBox::GetRequiredWidth(class CDC *,class CRect const &,unsigned short const *,int)
+?GetRequiredWidth@CODLBox@@KGHPAVCDC@@ABVCRect@@PBGH@Z
+; public: static unsigned short const * __stdcall CMetabasePath::GetRootPath(unsigned short const *,class CString &,class CString *)
+?GetRootPath@CMetabasePath@@SGPBGPBGAAVCString@@PAV2@@Z
+; public: virtual struct CRuntimeClass * __thiscall CEmphasizedDialog::GetRuntimeClass(void)const 
+?GetRuntimeClass@CEmphasizedDialog@@UBEPAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __thiscall CHeaderListBox::GetRuntimeClass(void)const 
+?GetRuntimeClass@CHeaderListBox@@UBEPAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __thiscall CIISWizardBookEnd::GetRuntimeClass(void)const 
+?GetRuntimeClass@CIISWizardBookEnd@@UBEPAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __thiscall CIISWizardPage::GetRuntimeClass(void)const 
+?GetRuntimeClass@CIISWizardPage@@UBEPAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __thiscall CIISWizardSheet::GetRuntimeClass(void)const 
+?GetRuntimeClass@CIISWizardSheet@@UBEPAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __thiscall CRMCComboBox::GetRuntimeClass(void)const 
+?GetRuntimeClass@CRMCComboBox@@UBEPAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __thiscall CRMCListBox::GetRuntimeClass(void)const 
+?GetRuntimeClass@CRMCListBox@@UBEPAUCRuntimeClass@@XZ
+; public: virtual struct CRuntimeClass * __thiscall CRMCListBoxHeader::GetRuntimeClass(void)const 
+?GetRuntimeClass@CRMCListBoxHeader@@UBEPAUCRuntimeClass@@XZ
+; public: int __thiscall CRMCListBox::GetSel(int)const 
+?GetSel@CRMCListBox@@QBEHH@Z
+; public: int __thiscall CRMCListBox::GetSelCount(void)const 
+?GetSelCount@CRMCListBox@@QBEHXZ
+; public: void * __thiscall CRMCListBox::GetSelectedListItem(int *)
+?GetSelectedListItem@CRMCListBox@@QAEPAXPAH@Z
+; public: static unsigned short const * __stdcall CMetabasePath::GetServiceInfoPath(unsigned short const *,class CString &,unsigned short const *)
+?GetServiceInfoPath@CMetabasePath@@SGPBGPBGAAVCString@@0@Z
+; public: static unsigned short const * __stdcall CMetabasePath::GetServicePath(unsigned short const *,class CString &,class CString *)
+?GetServicePath@CMetabasePath@@SGPBGPBGAAVCString@@PAV2@@Z
+; protected: class CIISWizardSheet * __thiscall CIISWizardPage::GetSheet(void)const 
+?GetSheet@CIISWizardPage@@IBEPAVCIISWizardSheet@@XZ
+; public: void * __thiscall CAccessEntry::GetSid(void)
+?GetSid@CAccessEntry@@QAEPAXXZ
+; public: unsigned long __thiscall CBlob::GetSize(void)const 
+?GetSize@CBlob@@QBEKXZ
+; protected: class CFont * __thiscall CIISWizardPage::GetSpecialFont(void)
+?GetSpecialFont@CIISWizardPage@@IAEPAVCFont@@XZ
+; public: class CFont * __thiscall CIISWizardSheet::GetSpecialFont(int)
+?GetSpecialFont@CIISWizardSheet@@QAEPAVCFont@@H@Z
+; int __stdcall GetSpecialPathRealPath(int,class CString const &,class CString &)
+?GetSpecialPathRealPath@@YGHHABVCString@@AAV1@@Z
+; protected: void __thiscall CRMCListBoxResources::GetSysColors(void)
+?GetSysColors@CRMCListBoxResources@@IAEXXZ
+; public: long __thiscall CMetaInterface::GetSystemChangeNumber(unsigned long *)
+?GetSystemChangeNumber@CMetaInterface@@QAEJPAK@Z
+; public: unsigned int __thiscall CODLBox::GetTab(int)const 
+?GetTab@CODLBox@@QBEIH@Z
+; public: int __thiscall CGetUsers::GetUsers(struct HWND__ *,int)
+?GetUsers@CGetUsers@@QAEHPAUHWND__@@H@Z
+; int __stdcall GetVolumeInformationSystemFlags(unsigned short const *,unsigned long *)
+?GetVolumeInformationSystemFlags@@YGHPBGPAK@Z
+; protected: class CBrush * __thiscall CIISWizardPage::GetWindowBrush(void)
+?GetWindowBrush@CIISWizardPage@@IAEPAVCBrush@@XZ
+; public: class CBrush * __thiscall CIISWizardSheet::GetWindowBrush(void)
+?GetWindowBrush@CIISWizardSheet@@QAEPAVCBrush@@XZ
+; public: void __thiscall CIPAccessDescriptor::GrantAccess(int)
+?GrantAccess@CIPAccessDescriptor@@QAEXH@Z
+; public: long __thiscall CError::HResult(void)const 
+?HResult@CError@@QBEJXZ
+; public: static long __stdcall CError::HResult(long)
+?HResult@CError@@SGJJ@Z
+; public: int __thiscall CIPAccessDescriptor::HasAccess(void)const 
+?HasAccess@CIPAccessDescriptor@@QBEHXZ
+; public: int __thiscall CAccessEntry::HasAppropriateAccess(unsigned long)const 
+?HasAppropriateAccess@CAccessEntry@@QBEHK@Z
+; protected: int __thiscall CIISSvcControl::HasInterface(void)const 
+?HasInterface@CIISSvcControl@@IBEHXZ
+; protected: int __thiscall CMetaInterface::HasInterface(void)const 
+?HasInterface@CMetaInterface@@IBEHXZ
+; protected: int __thiscall CWamInterface::HasInterface(void)const 
+?HasInterface@CWamInterface@@IBEHXZ
+; protected: int __thiscall CError::HasOverride(unsigned int *)const 
+?HasOverride@CError@@IBEHPAI@Z
+; public: int __thiscall CAccessEntry::HasSomeAccess(void)const 
+?HasSomeAccess@CAccessEntry@@QBEHXZ
+; public: class CObject * __thiscall CObListPlus::Index(int)
+?Index@CObListPlus@@QAEPAVCObject@@H@Z
+; public: virtual int __thiscall CHeaderListBox::Initialize(void)
+?Initialize@CHeaderListBox@@UAEHXZ
+; public: static int __stdcall CINumber::Initialize(int)
+?Initialize@CINumber@@SGHH@Z
+; protected: void __thiscall CInheritanceDlg::Initialize(void)
+?Initialize@CInheritanceDlg@@IAEXXZ
+; protected: virtual int __thiscall CODLBox::Initialize(void)
+?Initialize@CODLBox@@MAEHXZ
+; public: virtual int __thiscall CRMCComboBox::Initialize(void)
+?Initialize@CRMCComboBox@@UAEHXZ
+; public: virtual int __thiscall CRMCListBox::Initialize(void)
+?Initialize@CRMCListBox@@UAEHXZ
+; protected: int __thiscall CHeaderListBox::InsertColumn(int,int,unsigned int,struct HINSTANCE__ *)
+?InsertColumn@CHeaderListBox@@IAEHHHIPAUHINSTANCE__@@@Z
+; protected: int __thiscall CHeaderListBox::InsertHeaderItem(int,struct _HD_ITEMW *)
+?InsertHeaderItem@CHeaderListBox@@IAEHHPAU_HD_ITEMW@@@Z
+; public: int __thiscall CRMCListBoxHeader::InsertItem(int,struct _HD_ITEMW *)
+?InsertItem@CRMCListBoxHeader@@QAEHHPAU_HD_ITEMW@@@Z
+; public: void __thiscall CODLBox::InsertTab(int,unsigned int)
+?InsertTab@CODLBox@@QAEXHI@Z
+; public: void __thiscall CRMCListBox::InvalidateSelection(int)
+?InvalidateSelection@CRMCListBox@@QAEXH@Z
+; long __stdcall IsAllNumHostHeader(unsigned short const *)
+?IsAllNumHostHeader@@YGJPBG@Z
+; protected: static int __stdcall CINumber::IsAllocated(void)
+?IsAllocated@CINumber@@KGHXZ
+; public: int __thiscall CIPAddress::IsBadValue(void)const 
+?IsBadValue@CIPAddress@@QBEHXZ
+; int __stdcall IsBiDiLocalizedSystem(void)
+?IsBiDiLocalizedSystem@@YGHXZ
+; public: int __thiscall CAccessEntry::IsDeletable(void)const 
+?IsDeletable@CAccessEntry@@QBEHXZ
+; public: int __thiscall CAccessEntry::IsDeleted(void)const 
+?IsDeleted@CAccessEntry@@QBEHXZ
+; int __stdcall IsDevicePath(class CString const &)
+?IsDevicePath@@YGHABVCString@@@Z
+; public: int __thiscall CAccessEntry::IsDirty(void)const 
+?IsDirty@CAccessEntry@@QBEHXZ
+; public: int __thiscall CObjHelper::IsDirty(void)const 
+?IsDirty@CObjHelper@@QBEHXZ
+; public: int __thiscall CIPAccessDescriptor::IsDomainName(void)const 
+?IsDomainName@CIPAccessDescriptor@@QBEHXZ
+; public: int __thiscall CBlob::IsEmpty(void)const 
+?IsEmpty@CBlob@@QBEHXZ
+; public: int __thiscall CInheritanceDlg::IsEmpty(void)const 
+?IsEmpty@CInheritanceDlg@@QBEHXZ
+; public: int __thiscall CStrPassword::IsEmpty(void)const 
+?IsEmpty@CStrPassword@@QBEHXZ
+; public: int __thiscall CIISApplication::IsEnabledApplication(void)const 
+?IsEnabledApplication@CIISApplication@@QBEHXZ
+; int __stdcall IsFullyQualifiedPath(class CString const &)
+?IsFullyQualifiedPath@@YGHABVCString@@@Z
+; protected: int __thiscall CIISWizardPage::IsHeaderPage(void)const 
+?IsHeaderPage@CIISWizardPage@@IBEHXZ
+; public: int __thiscall CMetaKey::IsHomeDirectoryPath(void)const 
+?IsHomeDirectoryPath@CMetaKey@@QBEHXZ
+; public: int __thiscall CMetabasePath::IsHomeDirectoryPath(void)const 
+?IsHomeDirectoryPath@CMetabasePath@@QBEHXZ
+; public: static int __stdcall CMetabasePath::IsHomeDirectoryPath(unsigned short const *)
+?IsHomeDirectoryPath@CMetabasePath@@SGHPBG@Z
+; public: static int __stdcall CINumber::IsInitialized(void)
+?IsInitialized@CINumber@@SGHXZ
+; public: int __thiscall CIISApplication::IsInproc(void)const 
+?IsInproc@CIISApplication@@QBEHXZ
+; public: int __thiscall CComAuthInfo::IsLocal(void)const 
+?IsLocal@CComAuthInfo@@QBEHXZ
+; public: int __thiscall CIISInterface::IsLocal(void)const 
+?IsLocal@CIISInterface@@QBEHXZ
+; int __stdcall IsLocalComputer(unsigned short const *)
+?IsLocalComputer@@YGHPBG@Z
+; public: static int __stdcall CMetabasePath::IsMasterInstance(unsigned short const *)
+?IsMasterInstance@CMetabasePath@@SGHPBG@Z
+; protected: int __thiscall CRMCListBox::IsMultiSelect(void)const 
+?IsMultiSelect@CRMCListBox@@IBEHXZ
+; public: int __thiscall CIPAccessDescriptor::IsMultiple(void)const 
+?IsMultiple@CIPAccessDescriptor@@QBEHXZ
+; int __stdcall IsNetworkPath(class CString const &,class CString *,class CString *)
+?IsNetworkPath@@YGHABVCString@@PAV1@1@Z
+; public: int __thiscall CMetaKey::IsOpen(void)const 
+?IsOpen@CMetaKey@@QBEHXZ
+; public: int __thiscall CIISApplication::IsOutOfProc(void)const 
+?IsOutOfProc@CIISApplication@@QBEHXZ
+; public: int __thiscall CIISApplication::IsPooledProc(void)const 
+?IsPooledProc@CIISApplication@@QBEHXZ
+; public: static int __stdcall CMetaKey::IsPropertyInheritable(unsigned long)
+?IsPropertyInheritable@CMetaKey@@SGHK@Z
+; int __stdcall IsRestrictedFilename(class CString const &)
+?IsRestrictedFilename@@YGHABVCString@@@Z
+; public: int __thiscall CAccessEntry::IsSIDResolved(void)const 
+?IsSIDResolved@CAccessEntry@@QBEHXZ
+; int __stdcall IsServerLocal(unsigned short const *)
+?IsServerLocal@@YGHPBG@Z
+; public: int __thiscall CIPAccessDescriptor::IsSingle(void)const 
+?IsSingle@CIPAccessDescriptor@@QBEHXZ
+; int __stdcall IsSpecialPath(class CString const &,int,int)
+?IsSpecialPath@@YGHABVCString@@HH@Z
+; int __stdcall IsUNCName(class CString const &)
+?IsUNCName@@YGHABVCString@@@Z
+; int __stdcall IsURLName(class CString const &)
+?IsURLName@@YGHABVCString@@@Z
+; public: virtual int __thiscall CObjHelper::IsValid(void)const 
+?IsValid@CObjHelper@@UBEHXZ
+; long __stdcall IsValidHostHeader(unsigned short const *)
+?IsValidHostHeader@@YGJPBG@Z
+; public: int __thiscall CAccessEntry::IsVisible(void)const 
+?IsVisible@CAccessEntry@@QBEHXZ
+; protected: int __thiscall CIISWizardBookEnd::IsWelcomePage(void)const 
+?IsWelcomePage@CIISWizardBookEnd@@IBEHXZ
+; protected: int __thiscall CIISWizardPage::IsWizard97(void)const 
+?IsWizard97@CIISWizardPage@@IBEHXZ
+; public: int __thiscall CIISWizardSheet::IsWizard97(void)const 
+?IsWizard97@CIISWizardSheet@@QBEHXZ
+; public: int __thiscall CIPAddress::IsZeroValue(void)const 
+?IsZeroValue@CIPAddress@@QBEHXZ
+; public: long __thiscall CIISSvcControl::Kill(void)
+?Kill@CIISSvcControl@@QAEJXZ
+; long __stdcall LimitInputDomainName(struct HWND__ *)
+?LimitInputDomainName@@YGJPAUHWND__@@@Z
+; long __stdcall LimitInputPath(struct HWND__ *,int)
+?LimitInputPath@@YGJPAUHWND__@@H@Z
+; protected: int __thiscall CMappedBitmapButton::LoadMappedBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)
+?LoadMappedBitmaps@CMappedBitmapButton@@IAEHIIII@Z
+; public: static unsigned short * __stdcall CIPAddress::LongToString(unsigned long,unsigned short *,int)
+?LongToString@CIPAddress@@SGPAGKPAGH@Z
+; public: static unsigned short const * __stdcall CIPAddress::LongToString(unsigned long,class ATL::CComBSTR &)
+?LongToString@CIPAddress@@SGPBGKAAVCComBSTR@ATL@@@Z
+; public: static unsigned short const * __stdcall CIPAddress::LongToString(unsigned long,class CString &)
+?LongToString@CIPAddress@@SGPBGKAAVCString@@@Z
+; int __stdcall LooksLikeIPAddress(unsigned short const *)
+?LooksLikeIPAddress@@YGHPBG@Z
+; public: static int __stdcall CAccessEntry::LookupAccountSidW(class CString &,int &,void *,unsigned short const *)
+?LookupAccountSidW@CAccessEntry@@SGHAAVCString@@AAHPAXPBG@Z
+; unsigned short const * __stdcall MakeUNCPath(class CString &,unsigned short const *,unsigned short const *)
+?MakeUNCPath@@YGPBGAAVCString@@PBG1@Z
+; public: static int __stdcall CMetaKey::MapMDIDToTableIndex(unsigned long)
+?MapMDIDToTableIndex@CMetaKey@@SGHK@Z
+; public: void __thiscall CAccessEntry::MarkEntryAsChanged(void)
+?MarkEntryAsChanged@CAccessEntry@@QAEXXZ
+; public: void __thiscall CAccessEntry::MarkEntryAsClean(void)
+?MarkEntryAsClean@CAccessEntry@@QAEXXZ
+; public: void __thiscall CAccessEntry::MarkEntryAsNew(void)
+?MarkEntryAsNew@CAccessEntry@@QAEXXZ
+; protected: virtual void __thiscall CRMCComboBox::MeasureItem(struct tagMEASUREITEMSTRUCT *)
+?MeasureItem@CRMCComboBox@@MAEXPAUtagMEASUREITEMSTRUCT@@@Z
+; protected: virtual void __thiscall CRMCListBox::MeasureItem(struct tagMEASUREITEMSTRUCT *)
+?MeasureItem@CRMCListBox@@MAEXPAUtagMEASUREITEMSTRUCT@@@Z
+; public: int __cdecl CError::MessageBoxFormat(struct HWND__ *,unsigned int,unsigned int,unsigned int,...)const 
+?MessageBoxFormat@CError@@QBAHPAUHWND__@@IIIZZ
+; public: int __thiscall CError::MessageBoxOnFailure(struct HWND__ *,unsigned int,unsigned int)const 
+?MessageBoxOnFailure@CError@@QBEHPAUHWND__@@II@Z
+; public: int __thiscall CError::MessageBoxW(struct HWND__ *,unsigned int,unsigned int)const 
+?MessageBoxW@CError@@QBEHPAUHWND__@@II@Z
+; unsigned long __stdcall MyGetHostName(unsigned long,class CString &)
+?MyGetHostName@@YGKKAAVCString@@@Z
+; long __stdcall MyValidatePath(unsigned short const *,int,int,unsigned long,unsigned long)
+?MyValidatePath@@YGJPBGHHKK@Z
+; public: long __thiscall CMetaBack::Next(unsigned long *,unsigned short *,struct _FILETIME *)
+?Next@CMetaBack@@QAEJPAKPAGPAU_FILETIME@@@Z
+; public: long __thiscall CMetaEnumerator::Next(unsigned long &,class CString &,unsigned short const *)
+?Next@CMetaEnumerator@@QAEJAAKAAVCString@@PBG@Z
+; public: long __thiscall CMetaEnumerator::Next(class CString &,unsigned short const *)
+?Next@CMetaEnumerator@@QAEJAAVCString@@PBG@Z
+; public: class CObject * __thiscall CObListIter::Next(void)
+?Next@CObListIter@@QAEPAVCObject@@XZ
+; public: long __thiscall CMetaBack::NextHistory(unsigned long *,unsigned long *,unsigned short *,struct _FILETIME *)
+?NextHistory@CMetaBack@@QAEJPAK0PAGPAU_FILETIME@@@Z
+; public: int __thiscall CODLBox::NumTabs(void)const 
+?NumTabs@CODLBox@@QBEHXZ
+; protected: void __thiscall CInheritanceDlg::OnButtonSelectAll(void)
+?OnButtonSelectAll@CInheritanceDlg@@IAEXXZ
+; protected: int __thiscall CHeaderListBox::OnCreate(struct tagCREATESTRUCTW *)
+?OnCreate@CHeaderListBox@@IAEHPAUtagCREATESTRUCTW@@@Z
+; protected: int __thiscall CRMCComboBox::OnCreate(struct tagCREATESTRUCTW *)
+?OnCreate@CRMCComboBox@@IAEHPAUtagCREATESTRUCTW@@@Z
+; protected: int __thiscall CRMCListBox::OnCreate(struct tagCREATESTRUCTW *)
+?OnCreate@CRMCListBox@@IAEHPAUtagCREATESTRUCTW@@@Z
+; protected: struct HBRUSH__ * __thiscall CIISWizardPage::OnCtlColor(class CDC *,class CWnd *,unsigned int)
+?OnCtlColor@CIISWizardPage@@IAEPAUHBRUSH__@@PAVCDC@@PAVCWnd@@I@Z
+; protected: void __thiscall CEmphasizedDialog::OnDestroy(void)
+?OnDestroy@CEmphasizedDialog@@IAEXXZ
+; protected: void __thiscall CHeaderListBox::OnDestroy(void)
+?OnDestroy@CHeaderListBox@@IAEXXZ
+; protected: void __thiscall CIISWizardSheet::OnDestroy(void)
+?OnDestroy@CIISWizardSheet@@IAEXXZ
+; protected: void __thiscall CRMCListBoxHeader::OnDestroy(void)
+?OnDestroy@CRMCListBoxHeader@@IAEXXZ
+; protected: int __thiscall CIISWizardPage::OnEraseBkgnd(class CDC *)
+?OnEraseBkgnd@CIISWizardPage@@IAEHPAVCDC@@@Z
+; protected: void __thiscall CRMCListBoxHeader::OnHeaderEndTrack(unsigned int,struct tagNMHDR *,long *)
+?OnHeaderEndTrack@CRMCListBoxHeader@@IAEXIPAUtagNMHDR@@PAJ@Z
+; protected: void __thiscall CRMCListBoxHeader::OnHeaderItemChanged(unsigned int,struct tagNMHDR *,long *)
+?OnHeaderItemChanged@CRMCListBoxHeader@@IAEXIPAUtagNMHDR@@PAJ@Z
+; protected: void __thiscall CRMCListBoxHeader::OnHeaderItemClick(unsigned int,struct tagNMHDR *,long *)
+?OnHeaderItemClick@CRMCListBoxHeader@@IAEXIPAUtagNMHDR@@PAJ@Z
+; protected: void __thiscall CInheritanceDlg::OnHelp(void)
+?OnHelp@CInheritanceDlg@@IAEXXZ
+; protected: virtual int __thiscall CEmphasizedDialog::OnInitDialog(void)
+?OnInitDialog@CEmphasizedDialog@@MAEHXZ
+; protected: virtual int __thiscall CIISWizardBookEnd::OnInitDialog(void)
+?OnInitDialog@CIISWizardBookEnd@@MAEHXZ
+; protected: virtual int __thiscall CIISWizardPage::OnInitDialog(void)
+?OnInitDialog@CIISWizardPage@@MAEHXZ
+; protected: virtual int __thiscall CIISWizardSheet::OnInitDialog(void)
+?OnInitDialog@CIISWizardSheet@@MAEHXZ
+; protected: virtual int __thiscall CInheritanceDlg::OnInitDialog(void)
+?OnInitDialog@CInheritanceDlg@@MAEHXZ
+; protected: virtual void __thiscall CInheritanceDlg::OnOK(void)
+?OnOK@CInheritanceDlg@@MAEXXZ
+; public: virtual int __thiscall CIISWizardBookEnd::OnSetActive(void)
+?OnSetActive@CIISWizardBookEnd@@UAEHXZ
+; protected: void __thiscall CRMCListBoxHeader::OnSetFocus(class CWnd *)
+?OnSetFocus@CRMCListBoxHeader@@IAEXPAVCWnd@@@Z
+; public: long __thiscall CMetaKey::Open(unsigned long,unsigned short const *,unsigned long)
+?Open@CMetaKey@@QAEJKPBGK@Z
+; protected: long __thiscall CMetaInterface::OpenKey(unsigned long,unsigned short const *,unsigned long,unsigned long *)
+?OpenKey@CMetaInterface@@IAEJKPBGKPAK@Z
+; public: int __thiscall CIPAccessDescriptor::OrderByAddress(class CObjectPlus const *)const 
+?OrderByAddress@CIPAccessDescriptor@@QBEHPBVCObjectPlus@@@Z
+; int __stdcall PCToUnixText(unsigned short * &,class CString)
+?PCToUnixText@@YGHAAPAGVCString@@@Z
+; int __stdcall PathIsValid(unsigned short const *,int)
+?PathIsValid@@YGHPBGH@Z
+; unsigned long __stdcall PopulateComboWithKnownIpAddresses(unsigned short const *,class CComboBox &,class CIPAddress &,class CObListPlus &,int &)
+?PopulateComboWithKnownIpAddresses@@YGKPBGAAVCComboBox@@AAVCIPAddress@@AAVCObListPlus@@AAH@Z
+; protected: void __thiscall CRMCListBoxResources::PrepareBitmaps(void)
+?PrepareBitmaps@CRMCListBoxResources@@IAEXXZ
+; protected: void __thiscall CGetComputer::ProcessSelectedObjects(struct IDataObject *)
+?ProcessSelectedObjects@CGetComputer@@IAEXPAUIDataObject@@@Z
+; protected: void __thiscall CGetUsers::ProcessSelectedObjects(struct IDataObject *)
+?ProcessSelectedObjects@CGetUsers@@IAEXPAUIDataObject@@@Z
+; public: unsigned long __thiscall CAccessEntry::QueryAccessMask(void)const 
+?QueryAccessMask@CAccessEntry@@QBEKXZ
+; public: unsigned long __thiscall CObjHelper::QueryAge(void)const 
+?QueryAge@CObjHelper@@QBEKXZ
+; public: long __thiscall CObjHelper::QueryApiErr(void)const 
+?QueryApiErr@CObjHelper@@QBEJXZ
+; public: unsigned long __thiscall CIISApplication::QueryAppState(void)const 
+?QueryAppState@CIISApplication@@QBEKXZ
+; public: class CComAuthInfo * __thiscall CIISInterface::QueryAuthInfo(void)
+?QueryAuthInfo@CIISInterface@@QAEPAVCComAuthInfo@@XZ
+; protected: long __thiscall CIISWizardPage::QueryBitmapHeight(void)const 
+?QueryBitmapHeight@CIISWizardPage@@IBEJXZ
+; public: long __thiscall CIISWizardSheet::QueryBitmapHeight(int)const 
+?QueryBitmapHeight@CIISWizardSheet@@QBEJH@Z
+; protected: long __thiscall CIISWizardPage::QueryBitmapWidth(void)const 
+?QueryBitmapWidth@CIISWizardPage@@IBEJXZ
+; public: long __thiscall CIISWizardSheet::QueryBitmapWidth(int)const 
+?QueryBitmapWidth@CIISWizardSheet@@QBEJH@Z
+; public: int __thiscall CHeaderListBox::QueryColumnWidth(int)const 
+?QueryColumnWidth@CHeaderListBox@@QBEHH@Z
+; public: unsigned long __thiscall CObjHelper::QueryCreationTime(void)const 
+?QueryCreationTime@CObjHelper@@QBEKXZ
+; public: static unsigned short const * __stdcall CINumber::QueryCurrency(void)
+?QueryCurrency@CINumber@@SGPBGXZ
+; public: static unsigned short const * __stdcall CINumber::QueryDecimalPoint(void)
+?QueryDecimalPoint@CINumber@@SGPBGXZ
+; public: unsigned short const * __thiscall CIPAccessDescriptor::QueryDomainName(void)const 
+?QueryDomainName@CIPAccessDescriptor@@QBEPBGXZ
+; public: long __thiscall CObjHelper::QueryError(void)const 
+?QueryError@CObjHelper@@QBEJXZ
+; public: unsigned long __thiscall CMetaKey::QueryFlags(void)const 
+?QueryFlags@CMetaKey@@QBEKXZ
+; public: unsigned long __thiscall CIPAddress::QueryHostOrderIPAddress(void)const 
+?QueryHostOrderIPAddress@CIPAddress@@QBEKXZ
+; public: class CIPAddress  __thiscall CIPAccessDescriptor::QueryIPAddress(void)const 
+?QueryIPAddress@CIPAccessDescriptor@@QBE?AVCIPAddress@@XZ
+; public: unsigned long __thiscall CIPAccessDescriptor::QueryIPAddress(int)const 
+?QueryIPAddress@CIPAccessDescriptor@@QBEKH@Z
+; public: unsigned long __thiscall CIPAddress::QueryIPAddress(int)const 
+?QueryIPAddress@CIPAddress@@QBEKH@Z
+; public: unsigned short const * __thiscall CIPAddress::QueryIPAddress(class ATL::CComBSTR &)const 
+?QueryIPAddress@CIPAddress@@QBEPBGAAVCComBSTR@ATL@@@Z
+; public: unsigned short const * __thiscall CIPAddress::QueryIPAddress(class CString &)const 
+?QueryIPAddress@CIPAddress@@QBEPBGAAVCString@@@Z
+; public: unsigned short const * __thiscall CMetaKey::QueryMetaPath(void)const 
+?QueryMetaPath@CMetaKey@@QBEPBGXZ
+; public: unsigned short const * __thiscall CMetabasePath::QueryMetaPath(void)const 
+?QueryMetaPath@CMetabasePath@@QBEPBGXZ
+; public: unsigned long __thiscall CIPAddress::QueryNetworkOrderIPAddress(void)const 
+?QueryNetworkOrderIPAddress@CIPAddress@@QBEKXZ
+; public: int __thiscall CHeaderListBox::QueryNumColumns(void)const 
+?QueryNumColumns@CHeaderListBox@@QBEHXZ
+; public: int __thiscall CRMCListBoxHeader::QueryNumColumns(void)const 
+?QueryNumColumns@CRMCListBoxHeader@@QBEHXZ
+; public: unsigned short * __thiscall CComAuthInfo::QueryPassword(void)const 
+?QueryPassword@CComAuthInfo@@QBEPAGXZ
+; public: int __thiscall CAccessEntry::QueryPictureID(void)const 
+?QueryPictureID@CAccessEntry@@QBEHXZ
+; public: unsigned long __thiscall CIISAppPool::QueryPoolState(void)const 
+?QueryPoolState@CIISAppPool@@QBEKXZ
+; public: struct __POSITION * __thiscall CObListIter::QueryPosition(void)const 
+?QueryPosition@CObListIter@@QBEPAU__POSITION@@XZ
+; public: virtual long __thiscall CIISAppPool::QueryResult(void)const 
+?QueryResult@CIISAppPool@@UBEJXZ
+; public: virtual long __thiscall CIISApplication::QueryResult(void)const 
+?QueryResult@CIISApplication@@UBEJXZ
+; public: virtual long __thiscall CIISInterface::QueryResult(void)const 
+?QueryResult@CIISInterface@@UBEJXZ
+; public: virtual long __thiscall CMetaBack::QueryResult(void)const 
+?QueryResult@CMetaBack@@UBEJXZ
+; public: virtual long __thiscall CMetaKey::QueryResult(void)const 
+?QueryResult@CMetaKey@@UBEJXZ
+; public: unsigned short * __thiscall CComAuthInfo::QueryServerName(void)const 
+?QueryServerName@CComAuthInfo@@QBEPAGXZ
+; public: unsigned short const * __thiscall CIISInterface::QueryServerName(void)const 
+?QueryServerName@CIISInterface@@QBEPBGXZ
+; public: class CIPAddress  __thiscall CIPAccessDescriptor::QuerySubnetMask(void)const 
+?QuerySubnetMask@CIPAccessDescriptor@@QBE?AVCIPAddress@@XZ
+; public: unsigned long __thiscall CIPAccessDescriptor::QuerySubnetMask(int)const 
+?QuerySubnetMask@CIPAccessDescriptor@@QBEKH@Z
+; public: static unsigned short const * __stdcall CINumber::QueryThousandSeparator(void)
+?QueryThousandSeparator@CINumber@@SGPBGXZ
+; public: unsigned short const * __thiscall CAccessEntry::QueryUserName(void)const 
+?QueryUserName@CAccessEntry@@QBEPBGXZ
+; public: unsigned short * __thiscall CComAuthInfo::QueryUserName(void)const 
+?QueryUserName@CComAuthInfo@@QBEPAGXZ
+; public: long __thiscall CMetaKey::QueryValue(unsigned long,int &,int *,unsigned short const *,unsigned long *)
+?QueryValue@CMetaKey@@QAEJKAAHPAHPBGPAK@Z
+; public: long __thiscall CMetaKey::QueryValue(unsigned long,unsigned long &,int *,unsigned short const *,unsigned long *)
+?QueryValue@CMetaKey@@QAEJKAAKPAHPBGPAK@Z
+; public: long __thiscall CMetaKey::QueryValue(unsigned long,class CBlob &,int *,unsigned short const *,unsigned long *)
+?QueryValue@CMetaKey@@QAEJKAAVCBlob@@PAHPBGPAK@Z
+; public: long __thiscall CMetaKey::QueryValue(unsigned long,class ATL::CComBSTR &,int *,unsigned short const *,unsigned long *)
+?QueryValue@CMetaKey@@QAEJKAAVCComBSTR@ATL@@PAHPBGPAK@Z
+; public: long __thiscall CMetaKey::QueryValue(unsigned long,class CStrPassword &,int *,unsigned short const *,unsigned long *)
+?QueryValue@CMetaKey@@QAEJKAAVCStrPassword@@PAHPBGPAK@Z
+; public: long __thiscall CMetaKey::QueryValue(unsigned long,class CString &,int *,unsigned short const *,unsigned long *)
+?QueryValue@CMetaKey@@QAEJKAAVCString@@PAHPBGPAK@Z
+; public: long __thiscall CMetaKey::QueryValue(unsigned long,class CStringListEx &,int *,unsigned short const *,unsigned long *)
+?QueryValue@CMetaKey@@QAEJKAAVCStringListEx@@PAHPBGPAK@Z
+; public: unsigned short const * __thiscall CIISAppPool::QueryWamPath(void)const 
+?QueryWamPath@CIISAppPool@@QBEPBGXZ
+; public: unsigned short const * __thiscall CIISApplication::QueryWamPath(void)const 
+?QueryWamPath@CIISApplication@@QBEPBGXZ
+; protected: unsigned long __thiscall CIISWizardPage::QueryWindowColor(void)const 
+?QueryWindowColor@CIISWizardPage@@IBEKXZ
+; public: unsigned long __thiscall CIISWizardSheet::QueryWindowColor(void)const 
+?QueryWindowColor@CIISWizardSheet@@QBEKXZ
+; protected: unsigned long __thiscall CIISWizardPage::QueryWindowTextColor(void)const 
+?QueryWindowTextColor@CIISWizardPage@@IBEKXZ
+; public: unsigned long __thiscall CIISWizardSheet::QueryWindowTextColor(void)const 
+?QueryWindowTextColor@CIISWizardSheet@@QBEKXZ
+; public: long __thiscall CMetaKey::ReOpen(unsigned long)
+?ReOpen@CMetaKey@@QAEJK@Z
+; public: long __thiscall CMetaKey::ReOpen(void)
+?ReOpen@CMetaKey@@QAEJXZ
+; public: long __thiscall CIISSvcControl::Reboot(unsigned long,int)
+?Reboot@CIISSvcControl@@QAEJKH@Z
+; public: long __thiscall CIISApplication::Recover(int)
+?Recover@CIISApplication@@QAEJH@Z
+; public: long __thiscall CIISAppPool::Recycle(unsigned short const *)
+?Recycle@CIISAppPool@@QAEJPBG@Z
+; protected: long __thiscall CWamInterface::RecycleApplicationPool(unsigned short const *)
+?RecycleApplicationPool@CWamInterface@@IAEJPBG@Z
+; public: long __thiscall CIISApplication::RefreshAppState(void)
+?RefreshAppState@CIISApplication@@QAEJXZ
+; public: long __thiscall CIISAppPool::RefreshState(void)
+?RefreshState@CIISAppPool@@QAEJXZ
+; public: long __thiscall CMetaInterface::Regenerate(void)
+?Regenerate@CMetaInterface@@QAEJXZ
+; public: static void __stdcall CError::RegisterFacility(unsigned long,char const *)
+?RegisterFacility@CError@@SGXKPBD@Z
+; public: int __thiscall CObListPlus::Remove(class CObject *)
+?Remove@CObListPlus@@QAEHPAVCObject@@@Z
+; public: void __thiscall CObListPlus::RemoveAll(void)
+?RemoveAll@CObListPlus@@QAEXXZ
+; public: void __thiscall CError::RemoveAllOverrides(void)
+?RemoveAllOverrides@CError@@QAEXXZ
+; public: void __thiscall CODLBox::RemoveAllTabs(void)
+?RemoveAllTabs@CODLBox@@QAEXXZ
+; public: void __thiscall CObListPlus::RemoveAt(struct __POSITION * &)
+?RemoveAt@CObListPlus@@QAEXAAPAU__POSITION@@@Z
+; public: void __thiscall CComAuthInfo::RemoveImpersonation(void)
+?RemoveImpersonation@CComAuthInfo@@QAEXXZ
+; public: int __thiscall CObListPlus::RemoveIndex(int)
+?RemoveIndex@CObListPlus@@QAEHH@Z
+; public: void __thiscall CError::RemoveOverride(long)
+?RemoveOverride@CError@@QAEXJ@Z
+; public: void __thiscall CAccessEntry::RemovePermissions(unsigned long)
+?RemovePermissions@CAccessEntry@@QAEXK@Z
+; public: void __thiscall CODLBox::RemoveTab(int,int)
+?RemoveTab@CODLBox@@QAEXHH@Z
+; protected: long __thiscall CMetaInterface::RenameKey(unsigned long,unsigned short const *,unsigned short const *)
+?RenameKey@CMetaInterface@@IAEJKPBG0@Z
+; public: long __thiscall CMetaKey::RenameKey(unsigned short const *,unsigned short const *)
+?RenameKey@CMetaKey@@QAEJPBG0@Z
+; unsigned long __stdcall ReplaceStringInString(class CString &,class CString &,class CString &,int)
+?ReplaceStringInString@@YGKAAVCString@@00H@Z
+; public: void __thiscall CObjHelper::ReportError(long)
+?ReportError@CObjHelper@@QAEXJ@Z
+; public: void __thiscall CError::Reset(void)
+?Reset@CError@@QAEXXZ
+; public: void __thiscall CMetaBack::Reset(void)
+?Reset@CMetaBack@@QAEXXZ
+; public: void __thiscall CMetaEnumerator::Reset(void)
+?Reset@CMetaEnumerator@@QAEXXZ
+; public: void __thiscall CObListIter::Reset(void)
+?Reset@CObListIter@@QAEXXZ
+; public: void __thiscall CObjHelper::ResetErrors(void)
+?ResetErrors@CObjHelper@@QAEXXZ
+; public: int __thiscall CAccessEntry::ResolveSID(void)
+?ResolveSID@CAccessEntry@@QAEHXZ
+; public: void __thiscall CRMCListBoxHeader::RespondToColumnWidthChanges(int)
+?RespondToColumnWidthChanges@CRMCListBoxHeader@@QAEXH@Z
+; public: long __thiscall CMetaBack::Restore(unsigned short const *,unsigned long)
+?Restore@CMetaBack@@QAEJPBGK@Z
+; protected: long __thiscall CMetaInterface::Restore(unsigned short const *,unsigned long,unsigned long)
+?Restore@CMetaInterface@@IAEJPBGKK@Z
+; protected: long __thiscall CMetaInterface::RestoreHistory(unsigned short const *,unsigned long,unsigned long,unsigned long)
+?RestoreHistory@CMetaInterface@@IAEJPBGKKK@Z
+; public: long __thiscall CMetaBack::RestoreHistoryBackup(unsigned short const *,unsigned long,unsigned long,unsigned long)
+?RestoreHistoryBackup@CMetaBack@@QAEJPBGKKK@Z
+; public: long __thiscall CMetaBack::RestoreWithPassword(unsigned short const *,unsigned long,unsigned short const *)
+?RestoreWithPassword@CMetaBack@@QAEJPBGK0@Z
+; protected: long __thiscall CMetaInterface::RestoreWithPassword(unsigned short const *,unsigned long,unsigned long,unsigned short const *)
+?RestoreWithPassword@CMetaInterface@@IAEJPBGKK0@Z
+; public: long __thiscall CMetaInterface::SaveData(void)
+?SaveData@CMetaInterface@@QAEJXZ
+; public: int __thiscall CRMCListBox::SelectItem(void *)
+?SelectItem@CRMCListBox@@QAEHPAX@Z
+; public: int __thiscall CObListPlus::SetAll(int)
+?SetAll@CObListPlus@@QAEHH@Z
+; public: long __thiscall CObjHelper::SetApiErr(long)
+?SetApiErr@CObjHelper@@QAEJJ@Z
+; public: int __thiscall CHeaderListBox::SetColumnWidth(int,int)
+?SetColumnWidth@CHeaderListBox@@QAEHHH@Z
+; public: void __thiscall CRMCListBoxHeader::SetColumnWidth(int,int)
+?SetColumnWidth@CRMCListBoxHeader@@QAEXHH@Z
+; protected: void __thiscall CComAuthInfo::SetComputerNameW(unsigned short const *)
+?SetComputerNameW@CComAuthInfo@@IAEXPBG@Z
+; public: int __thiscall CRMCListBox::SetCurSel(int)
+?SetCurSel@CRMCListBox@@QAEHH@Z
+; protected: long __thiscall CMetaInterface::SetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *)
+?SetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@@Z
+; public: void __thiscall CObjHelper::SetDirty(int)
+?SetDirty@CObjHelper@@QAEXH@Z
+; protected: int __thiscall CHeaderListBox::SetHeaderItem(int,struct _HD_ITEMW *)
+?SetHeaderItem@CHeaderListBox@@IAEHHPAU_HD_ITEMW@@@Z
+; public: void __thiscall CComAuthInfo::SetImpersonation(unsigned short const *,unsigned short const *)
+?SetImpersonation@CComAuthInfo@@QAEXPBG0@Z
+; public: int __thiscall CRMCListBoxHeader::SetItem(int,struct _HD_ITEMW *)
+?SetItem@CRMCListBoxHeader@@QAEHHPAU_HD_ITEMW@@@Z
+; protected: long __thiscall CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
+?SetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
+; public: void __thiscall CError::SetLastWinError(void)const 
+?SetLastWinError@CError@@QBEXXZ
+; public: int __thiscall CObListPlus::SetOwnership(int)
+?SetOwnership@CObListPlus@@QAEHH@Z
+; public: void __thiscall CObListIter::SetPosition(struct __POSITION *)
+?SetPosition@CObListIter@@QAEXPAU__POSITION@@@Z
+; protected: long __thiscall CMetaKey::SetPropertyValue(unsigned long,unsigned long,void *,int *,unsigned short const *)
+?SetPropertyValue@CMetaKey@@IAEJKKPAXPAHPBG@Z
+; public: void __thiscall CConfirmDlg::SetReference(class CString &)
+?SetReference@CConfirmDlg@@QAEXAAVCString@@@Z
+; public: void __thiscall CODLBox::SetTab(int,unsigned int)
+?SetTab@CODLBox@@QAEXHI@Z
+; protected: void __thiscall CRMCListBoxHeader::SetTabsFromHeader(void)
+?SetTabsFromHeader@CRMCListBoxHeader@@IAEXXZ
+; public: void __thiscall CBlob::SetValue(unsigned long,unsigned char *,int)
+?SetValue@CBlob@@QAEXKPAEH@Z
+; public: long __thiscall CMetaKey::SetValue(unsigned long,class CBlob &,int *,unsigned short const *)
+?SetValue@CMetaKey@@QAEJKAAVCBlob@@PAHPBG@Z
+; public: long __thiscall CMetaKey::SetValue(unsigned long,class CStrPassword &,int *,unsigned short const *)
+?SetValue@CMetaKey@@QAEJKAAVCStrPassword@@PAHPBG@Z
+; public: long __thiscall CMetaKey::SetValue(unsigned long,class CString &,int *,unsigned short const *)
+?SetValue@CMetaKey@@QAEJKAAVCString@@PAHPBG@Z
+; public: long __thiscall CMetaKey::SetValue(unsigned long,class CStringListEx &,int *,unsigned short const *)
+?SetValue@CMetaKey@@QAEJKAAVCStringListEx@@PAHPBG@Z
+; public: long __thiscall CMetaKey::SetValue(unsigned long,int,int *,unsigned short const *)
+?SetValue@CMetaKey@@QAEJKHPAHPBG@Z
+; public: long __thiscall CMetaKey::SetValue(unsigned long,unsigned long,int *,unsigned short const *)
+?SetValue@CMetaKey@@QAEJKKPAHPBG@Z
+; public: void __thiscall CIPAccessDescriptor::SetValues(int,unsigned long,unsigned long,int)
+?SetValues@CIPAccessDescriptor@@QAEXHKKH@Z
+; public: void __thiscall CIPAccessDescriptor::SetValues(int,unsigned short const *)
+?SetValues@CIPAccessDescriptor@@QAEXHPBG@Z
+; protected: int __thiscall CHeaderListBox::SetWidthsFromReg(void)
+?SetWidthsFromReg@CHeaderListBox@@IAEHXZ
+; protected: void __thiscall CIISWizardPage::SetWizardButtons(unsigned long)
+?SetWizardButtons@CIISWizardPage@@IAEXK@Z
+; public: void __thiscall CIPAddress::SetZeroValue(void)
+?SetZeroValue@CIPAddress@@QAEXXZ
+; public: int __thiscall CHeaderListBox::ShowWindow(int)
+?ShowWindow@CHeaderListBox@@QAEHH@Z
+; public: unsigned long __thiscall CObListPlus::Sort(int (__thiscall CObjectPlus::*)(class CObjectPlus const *)const )
+?Sort@CObListPlus@@QAEKP8CObjectPlus@@BEHPBV2@@Z@Z
+; protected: static int __cdecl CObListPlus::SortHelper(void const *,void const *)
+?SortHelper@CObListPlus@@KAHPBX0@Z
+; public: static void __stdcall CMetabasePath::SplitMetaPathAtInstance(unsigned short const *,class CString &,class CString &)
+?SplitMetaPathAtInstance@CMetabasePath@@SGXPBGAAVCString@@1@Z
+; public: static int __stdcall CComAuthInfo::SplitUserNameAndDomain(class CString &,class CString &)
+?SplitUserNameAndDomain@CComAuthInfo@@SGHAAVCString@@0@Z
+; public: long __thiscall CIISSvcControl::Start(unsigned long)
+?Start@CIISSvcControl@@QAEJK@Z
+; public: long __thiscall CIISSvcControl::Status(unsigned long,unsigned char *,unsigned long *,unsigned long *)
+?Status@CIISSvcControl@@QAEJKPAEPAK1@Z
+; public: long __thiscall CIISSvcControl::Stop(unsigned long,int)
+?Stop@CIISSvcControl@@QAEJKH@Z
+; public: void __thiscall CComAuthInfo::StorePassword(unsigned short const *)
+?StorePassword@CComAuthInfo@@QAEXPBG@Z
+; public: static unsigned long __stdcall CIPAddress::StringToLong(class ATL::CComBSTR const &)
+?StringToLong@CIPAddress@@SGKABVCComBSTR@ATL@@@Z
+; public: static unsigned long __stdcall CIPAddress::StringToLong(class CString const &)
+?StringToLong@CIPAddress@@SGKABVCString@@@Z
+; public: static unsigned long __stdcall CIPAddress::StringToLong(unsigned short const *,int)
+?StringToLong@CIPAddress@@SGKPBGH@Z
+; public: int __thiscall CError::Succeeded(void)const 
+?Succeeded@CError@@QBEHXZ
+; public: static int __stdcall CError::Succeeded(long)
+?Succeeded@CError@@SGHJ@Z
+; public: virtual int __thiscall CIISAppPool::Succeeded(void)const 
+?Succeeded@CIISAppPool@@UBEHXZ
+; public: virtual int __thiscall CIISApplication::Succeeded(void)const 
+?Succeeded@CIISApplication@@UBEHXZ
+; public: virtual int __thiscall CIISInterface::Succeeded(void)const 
+?Succeeded@CIISInterface@@UBEHXZ
+; public: virtual int __thiscall CMetaBack::Succeeded(void)const 
+?Succeeded@CMetaBack@@UBEHXZ
+; public: virtual int __thiscall CMetaKey::Succeeded(void)const 
+?Succeeded@CMetaKey@@UBEHXZ
+; public: int __thiscall CWamInterface::SupportsPooledProc(void)const 
+?SupportsPooledProc@CWamInterface@@QBEHXZ
+; int __stdcall SupportsSecurityACLs(unsigned short const *)
+?SupportsSecurityACLs@@YGHPBG@Z
+; public: void __thiscall CRMCListBoxResources::SysColorChanged(void)
+?SysColorChanged@CRMCListBoxResources@@QAEXXZ
+; public: long __thiscall CError::TextFromHRESULT(class CString &)const 
+?TextFromHRESULT@CError@@QBEJAAVCString@@@Z
+; public: long __thiscall CError::TextFromHRESULT(unsigned short *,unsigned long)const 
+?TextFromHRESULT@CError@@QBEJPAGK@Z
+; public: unsigned short const * __thiscall CError::TextFromHRESULTExpand(class CString &)const 
+?TextFromHRESULTExpand@CError@@QBEPBGAAVCString@@@Z
+; public: unsigned short const * __thiscall CError::TextFromHRESULTExpand(unsigned short *,unsigned long,long *)const 
+?TextFromHRESULTExpand@CError@@QBEPBGPAGKPAJ@Z
+; public: int __thiscall CODLBox::TextHeight(void)const 
+?TextHeight@CODLBox@@QBEHXZ
+; public: static unsigned short const * __stdcall CMetabasePath::TruncatePath(int,unsigned short const *,class CString &,class CString *)
+?TruncatePath@CMetabasePath@@SGPBGHPBGAAVCString@@PAV2@@Z
+; int __stdcall UnixToPCText(class CString &,unsigned short const *)
+?UnixToPCText@@YGHAAVCString@@PBG@Z
+; public: long __thiscall CIISApplication::Unload(int)
+?Unload@CIISApplication@@QAEJH@Z
+; protected: void __thiscall CRMCListBoxResources::UnprepareBitmaps(void)
+?UnprepareBitmaps@CRMCListBoxResources@@IAEXXZ
+; public: static void __stdcall CError::UnregisterFacility(unsigned long)
+?UnregisterFacility@CError@@SGXK@Z
+; protected: int __thiscall CRMCListBoxHeader::UseButtons(void)const 
+?UseButtons@CRMCListBoxHeader@@IBEHXZ
+; protected: int __thiscall CRMCListBoxHeader::UseStretch(void)const 
+?UseStretch@CRMCListBoxHeader@@IBEHXZ
+; public: static int __stdcall CINumber::UseSystemDefault(void)
+?UseSystemDefault@CINumber@@SGHXZ
+; public: static int __stdcall CINumber::UseUserDefault(void)
+?UseUserDefault@CINumber@@SGHXZ
+; public: int __thiscall CComAuthInfo::UsesImpersonation(void)const 
+?UsesImpersonation@CComAuthInfo@@QBEHXZ
+; public: int __thiscall CIISWizardPage::ValidateString(class CEdit &,class CString &,int,int)
+?ValidateString@CIISWizardPage@@QAEHAAVCEdit@@AAVCString@@HH@Z
+; int __stdcall VerifyState(void)
+?VerifyState@@YGHXZ
+; public: static unsigned long __stdcall CComAuthInfo::VerifyUserPassword(unsigned short const *,unsigned short const *)
+?VerifyUserPassword@CComAuthInfo@@SGKPBG0@Z
+; public: unsigned long __thiscall CError::Win32Error(void)const 
+?Win32Error@CError@@QBEKXZ
+; public: static unsigned long __stdcall CError::Win32Error(long)
+?Win32Error@CError@@SGKJ@Z
+; protected: virtual void __thiscall CIISWizardSheet::WinHelpW(unsigned long,unsigned int)
+?WinHelpW@CIISWizardSheet@@MAEXKI@Z
+; public: long __thiscall CIISApplication::WriteFriendlyName(unsigned short const *)
+?WriteFriendlyName@CIISApplication@@QAEJPBG@Z
+; public: long __thiscall CIISApplication::WritePoolId(unsigned short const *)
+?WritePoolId@CIISApplication@@QAEJPBG@Z
+; protected: static struct CRuntimeClass * __stdcall CEmphasizedDialog::_GetBaseClass(void)
+?_GetBaseClass@CEmphasizedDialog@@KGPAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __stdcall CHeaderListBox::_GetBaseClass(void)
+?_GetBaseClass@CHeaderListBox@@KGPAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __stdcall CIISWizardBookEnd::_GetBaseClass(void)
+?_GetBaseClass@CIISWizardBookEnd@@KGPAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __stdcall CIISWizardPage::_GetBaseClass(void)
+?_GetBaseClass@CIISWizardPage@@KGPAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __stdcall CIISWizardSheet::_GetBaseClass(void)
+?_GetBaseClass@CIISWizardSheet@@KGPAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __stdcall CRMCComboBox::_GetBaseClass(void)
+?_GetBaseClass@CRMCComboBox@@KGPAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __stdcall CRMCListBox::_GetBaseClass(void)
+?_GetBaseClass@CRMCListBox@@KGPAUCRuntimeClass@@XZ
+; protected: static struct CRuntimeClass * __stdcall CRMCListBoxHeader::_GetBaseClass(void)
+?_GetBaseClass@CRMCListBoxHeader@@KGPAUCRuntimeClass@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CConfirmDlg::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CConfirmDlg@@KGPBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CEmphasizedDialog::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CEmphasizedDialog@@KGPBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CHeaderListBox::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CHeaderListBox@@KGPBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CIISWizardBookEnd::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CIISWizardBookEnd@@KGPBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CIISWizardPage::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CIISWizardPage@@KGPBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CIISWizardSheet::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CIISWizardSheet@@KGPBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CInheritanceDlg::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CInheritanceDlg@@KGPBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CRMCComboBox::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CRMCComboBox@@KGPBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CRMCListBox::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CRMCListBox@@KGPBUAFX_MSGMAP@@XZ
+; protected: static struct AFX_MSGMAP const * __stdcall CRMCListBoxHeader::_GetBaseMessageMap(void)
+?_GetBaseMessageMap@CRMCListBoxHeader@@KGPBUAFX_MSGMAP@@XZ
+; protected: void __thiscall CODLBox::__DrawItem(struct tagDRAWITEMSTRUCT *)
+?__DrawItem@CODLBox@@IAEXPAUtagDRAWITEMSTRUCT@@@Z
+; public: virtual int __thiscall CRMCComboBox::__GetCount(void)const 
+?__GetCount@CRMCComboBox@@UBEHXZ
+; public: virtual int __thiscall CRMCListBox::__GetCount(void)const 
+?__GetCount@CRMCListBox@@UBEHXZ
+; protected: void __thiscall CODLBox::__MeasureItem(struct tagMEASUREITEMSTRUCT *)
+?__MeasureItem@CODLBox@@IAEXPAUtagMEASUREITEMSTRUCT@@@Z
+; public: virtual int __thiscall CRMCComboBox::__SetItemHeight(int,unsigned int)
+?__SetItemHeight@CRMCComboBox@@UAEHHI@Z
+; public: virtual int __thiscall CRMCListBox::__SetItemHeight(int,unsigned int)
+?__SetItemHeight@CRMCListBox@@UAEHHI@Z
+; protected: static unsigned short const  CMetabasePath::_chSep
+?_chSep@CMetabasePath@@1GB
+; protected: static unsigned short const * const  CMetabasePath::_cszMachine
+?_cszMachine@CMetabasePath@@1QBGB
+; protected: static unsigned short const * const  CMetabasePath::_cszRoot
+?_cszRoot@CMetabasePath@@1QBGB
+; protected: static unsigned short const * const  CMetabasePath::_cszSep
+?_cszSep@CMetabasePath@@1QBGB
+; private: static int  CINumber::_fAllocated
+?_fAllocated@CINumber@@0HA DATA
+; private: static int  CINumber::_fCurrencyPrefix
+?_fCurrencyPrefix@CINumber@@0HA DATA
+; private: static int  CINumber::_fInitialized
+?_fInitialized@CINumber@@0HA DATA
+; private: static struct AFX_MSGMAP_ENTRY const * const  CConfirmDlg::_messageEntries
+?_messageEntries@CConfirmDlg@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CEmphasizedDialog::_messageEntries
+?_messageEntries@CEmphasizedDialog@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CHeaderListBox::_messageEntries
+?_messageEntries@CHeaderListBox@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardBookEnd::_messageEntries
+?_messageEntries@CIISWizardBookEnd@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardPage::_messageEntries
+?_messageEntries@CIISWizardPage@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CIISWizardSheet::_messageEntries
+?_messageEntries@CIISWizardSheet@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CInheritanceDlg::_messageEntries
+?_messageEntries@CInheritanceDlg@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCComboBox::_messageEntries
+?_messageEntries@CRMCComboBox@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCListBox::_messageEntries
+?_messageEntries@CRMCListBox@@0QBUAFX_MSGMAP_ENTRY@@B
+; private: static struct AFX_MSGMAP_ENTRY const * const  CRMCListBoxHeader::_messageEntries
+?_messageEntries@CRMCListBoxHeader@@0QBUAFX_MSGMAP_ENTRY@@B
+; protected: static class CString *  CINumber::_pstr
+?_pstr@CINumber@@1PAVCString@@A DATA
+; public: static class CString *  CINumber::_pstrBadNumber
+?_pstrBadNumber@CINumber@@2PAVCString@@A DATA
+; private: static class CString *  CINumber::_pstrCurrency
+?_pstrCurrency@CINumber@@0PAVCString@@A DATA
+; private: static class CString *  CINumber::_pstrDecimalPoint
+?_pstrDecimalPoint@CINumber@@0PAVCString@@A DATA
+; private: static class CString *  CINumber::_pstrThousandSeparator
+?_pstrThousandSeparator@CINumber@@0PAVCString@@A DATA
+; public: static struct CRuntimeClass const  CEmphasizedDialog::classCEmphasizedDialog
+?classCEmphasizedDialog@CEmphasizedDialog@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CHeaderListBox::classCHeaderListBox
+?classCHeaderListBox@CHeaderListBox@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CIISWizardBookEnd::classCIISWizardBookEnd
+?classCIISWizardBookEnd@CIISWizardBookEnd@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CIISWizardPage::classCIISWizardPage
+?classCIISWizardPage@CIISWizardPage@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CIISWizardSheet::classCIISWizardSheet
+?classCIISWizardSheet@CIISWizardSheet@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CRMCComboBox::classCRMCComboBox
+?classCRMCComboBox@CRMCComboBox@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CRMCListBox::classCRMCListBox
+?classCRMCListBox@CRMCListBox@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CRMCListBoxHeader::classCRMCListBoxHeader
+?classCRMCListBoxHeader@CRMCListBoxHeader@@2UCRuntimeClass@@B
+; public: class CDC const & __thiscall CRMCListBoxResources::dcBitMap(void)const 
+?dcBitMap@CRMCListBoxResources@@QBEABVCDC@@XZ
+; unsigned short const * const  g_lpszDummyPassword
+?g_lpszDummyPassword@@3PBGB DATA
+; protected: static struct AFX_MSGMAP const  CConfirmDlg::messageMap
+?messageMap@CConfirmDlg@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CEmphasizedDialog::messageMap
+?messageMap@CEmphasizedDialog@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CHeaderListBox::messageMap
+?messageMap@CHeaderListBox@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CIISWizardBookEnd::messageMap
+?messageMap@CIISWizardBookEnd@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CIISWizardPage::messageMap
+?messageMap@CIISWizardPage@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CIISWizardSheet::messageMap
+?messageMap@CIISWizardSheet@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CInheritanceDlg::messageMap
+?messageMap@CInheritanceDlg@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CRMCComboBox::messageMap
+?messageMap@CRMCComboBox@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CRMCListBox::messageMap
+?messageMap@CRMCListBox@@1UAFX_MSGMAP@@B
+; protected: static struct AFX_MSGMAP const  CRMCListBoxHeader::messageMap
+?messageMap@CRMCListBoxHeader@@1UAFX_MSGMAP@@B
+; protected: static int const  CMetaKey::s_MetaTableSize
+?s_MetaTableSize@CMetaKey@@1HB
+; protected: static unsigned long  CError::s_cdwFacilities
+?s_cdwFacilities@CError@@1KA DATA
+; protected: static long  CError::s_cdwMaxLMErr
+?s_cdwMaxLMErr@CError@@1JA DATA
+; protected: static long  CError::s_cdwMaxWSErr
+?s_cdwMaxWSErr@CError@@1JA DATA
+; protected: static long  CError::s_cdwMinLMErr
+?s_cdwMinLMErr@CError@@1JA DATA
+; protected: static long  CError::s_cdwMinWSErr
+?s_cdwMinWSErr@CError@@1JA DATA
+; protected: static unsigned short const  CError::s_chEscNumber
+?s_chEscNumber@CError@@1GB
+; protected: static unsigned short const  CError::s_chEscText
+?s_chEscText@CError@@1GB
+; protected: static unsigned short const  CError::s_chEscape
+?s_chEscape@CError@@1GB
+; protected: static int const  CIISWizardSheet::s_cnBoldDeltaFont
+?s_cnBoldDeltaFont@CIISWizardSheet@@1HB
+; protected: static int const  CIISWizardSheet::s_cnBoldDeltaHeight
+?s_cnBoldDeltaHeight@CIISWizardSheet@@1HB
+; protected: static int const  CIISWizardSheet::s_cnBoldDeltaWidth
+?s_cnBoldDeltaWidth@CIISWizardSheet@@1HB
+; protected: static int const  CIISWizardPage::s_cnHeaderOffset
+?s_cnHeaderOffset@CIISWizardPage@@1HB
+; protected: static unsigned short const * *  CError::s_cszFacility
+?s_cszFacility@CError@@1PAPBGA DATA
+; protected: static unsigned short const * const  CError::s_cszLMDLL
+?s_cszLMDLL@CError@@1PBGB DATA
+; protected: static unsigned short const * const  CError::s_cszWSDLL
+?s_cszWSDLL@CError@@1PBGB DATA
+; protected: static int  CError::s_fAllocated
+?s_fAllocated@CError@@1HA DATA
+; protected: static class CMap<unsigned long,unsigned long &,class CString,class CString &> *  CError::s_pmapFacilities
+?s_pmapFacilities@CError@@1PAV?$CMap@KAAKVCString@@AAV1@@@A DATA
+; protected: static class CString *  CError::s_pstrDefError
+?s_pstrDefError@CError@@1PAVCString@@A DATA
+; protected: static class CString *  CError::s_pstrDefSuccs
+?s_pstrDefSuccs@CError@@1PAVCString@@A DATA
+; protected: static struct CMetaKey::tagMDFIELDDEF const * const  CMetaKey::s_rgMetaTable
+?s_rgMetaTable@CMetaKey@@1QBUtagMDFIELDDEF@1@B
+; protected: static unsigned short const * const  CMetaBack::s_szMasterAppRoot
+?s_szMasterAppRoot@CMetaBack@@1QBGB
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiisuiobj.def b/mingw-w64-crt/lib64/wiisuiobj.def
index b554f1e..312ac0a 100644
--- a/mingw-w64-crt/lib64/wiisuiobj.def
+++ b/mingw-w64-crt/lib64/wiisuiobj.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IISUIObj.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IISUIObj.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IISUIObj.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IISUIObj.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiisutil.def b/mingw-w64-crt/lib64/wiisutil.def
index 51ff436..83c4a22 100644
--- a/mingw-w64-crt/lib64/wiisutil.def
+++ b/mingw-w64-crt/lib64/wiisutil.def
@@ -1,2029 +1,2029 @@
-; 
-; 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
+; 
+; 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
diff --git a/mingw-w64-crt/lib64/wiisw3adm.def b/mingw-w64-crt/lib64/wiisw3adm.def
index f11336b..28e90af 100644
--- a/mingw-w64-crt/lib64/wiisw3adm.def
+++ b/mingw-w64-crt/lib64/wiisw3adm.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file iisw3adm.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iisw3adm.dll
-EXPORTS
-ServiceMain
-; public: class CSecurityDispenser & __thiscall CSecurityDispenser::operator=(class CSecurityDispenser const &)
-??4CSecurityDispenser@@QAEAAV0@ABV0@@Z
-; public: class IPM_MESSAGE_PIPE & __thiscall IPM_MESSAGE_PIPE::operator=(class IPM_MESSAGE_PIPE const &)
-??4IPM_MESSAGE_PIPE@@QAEAAV0@ABV0@@Z
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file iisw3adm.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iisw3adm.dll
+EXPORTS
+ServiceMain
+; public: class CSecurityDispenser & __thiscall CSecurityDispenser::operator=(class CSecurityDispenser const &)
+??4CSecurityDispenser@@QAEAAV0@ABV0@@Z
+; public: class IPM_MESSAGE_PIPE & __thiscall IPM_MESSAGE_PIPE::operator=(class IPM_MESSAGE_PIPE const &)
+??4IPM_MESSAGE_PIPE@@QAEAAV0@ABV0@@Z
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wimagehlp.def b/mingw-w64-crt/lib64/wimagehlp.def
index 462d22f..fd19686 100644
--- a/mingw-w64-crt/lib64/wimagehlp.def
+++ b/mingw-w64-crt/lib64/wimagehlp.def
@@ -1,117 +1,117 @@
-; 
-; Exports of file imagehlp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imagehlp.dll
-EXPORTS
-RemoveRelocations
-BindImage
-BindImageEx
-CheckSumMappedFile
-EnumDirTree
-EnumerateLoadedModules64
-EnumerateLoadedModules
-FindDebugInfoFile
-FindDebugInfoFileEx
-FindExecutableImage
-FindExecutableImageEx
-FindFileInPath
-FindFileInSearchPath
-GetImageConfigInformation
-GetImageUnusedHeaderBytes
-GetTimestampForLoadedLibrary
-ImageAddCertificate
-ImageDirectoryEntryToData
-ImageDirectoryEntryToDataEx
-ImageEnumerateCertificates
-ImageGetCertificateData
-ImageGetCertificateHeader
-ImageGetDigestStream
-ImageLoad
-ImageNtHeader
-ImageRemoveCertificate
-ImageRvaToSection
-ImageRvaToVa
-ImageUnload
-ImagehlpApiVersion
-ImagehlpApiVersionEx
-MakeSureDirectoryPathExists
-MapAndLoad
-MapDebugInformation
-MapFileAndCheckSumA
-MapFileAndCheckSumW
-ReBaseImage64
-ReBaseImage
-RemovePrivateCvSymbolic
-RemovePrivateCvSymbolicEx
-SearchTreeForFile
-SetImageConfigInformation
-SplitSymbols
-StackWalk64
-StackWalk
-SymCleanup
-SymEnumSym
-SymEnumSymbols
-SymEnumSymbolsForAddr
-SymEnumTypes
-SymEnumerateModules64
-SymEnumerateModules
-SymEnumerateSymbols64
-SymEnumerateSymbols
-SymEnumerateSymbolsW64
-SymEnumerateSymbolsW
-SymFindFileInPath
-SymFromAddr
-SymFromName
-SymFunctionTableAccess64
-SymFunctionTableAccess
-SymGetLineFromAddr64
-SymGetLineFromAddr
-SymGetLineFromName64
-SymGetLineFromName
-SymGetLineNext64
-SymGetLineNext
-SymGetLinePrev64
-SymGetLinePrev
-SymGetModuleBase64
-SymGetModuleBase
-SymGetModuleInfo64
-SymGetModuleInfo
-SymGetModuleInfoW64
-SymGetModuleInfoW
-SymGetOptions
-SymGetSearchPath
-SymGetSymFromAddr64
-SymGetSymFromAddr
-SymGetSymFromName64
-SymGetSymFromName
-SymGetSymNext64
-SymGetSymNext
-SymGetSymPrev64
-SymGetSymPrev
-SymGetTypeFromName
-SymGetTypeInfo
-SymInitialize
-SymLoadModule64
-SymLoadModule
-SymMatchFileName
-SymMatchString
-SymRegisterCallback64
-SymRegisterCallback
-SymRegisterFunctionEntryCallback64
-SymRegisterFunctionEntryCallback
-SymSetContext
-SymSetOptions
-SymSetSearchPath
-SymUnDName64
-SymUnDName
-SymUnloadModule64
-SymUnloadModule
-TouchFileTimes
-UnDecorateSymbolName
-UnMapAndLoad
-UnmapDebugInformation
-UpdateDebugInfoFile
-UpdateDebugInfoFileEx
+; 
+; Exports of file imagehlp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imagehlp.dll
+EXPORTS
+RemoveRelocations
+BindImage
+BindImageEx
+CheckSumMappedFile
+EnumDirTree
+EnumerateLoadedModules64
+EnumerateLoadedModules
+FindDebugInfoFile
+FindDebugInfoFileEx
+FindExecutableImage
+FindExecutableImageEx
+FindFileInPath
+FindFileInSearchPath
+GetImageConfigInformation
+GetImageUnusedHeaderBytes
+GetTimestampForLoadedLibrary
+ImageAddCertificate
+ImageDirectoryEntryToData
+ImageDirectoryEntryToDataEx
+ImageEnumerateCertificates
+ImageGetCertificateData
+ImageGetCertificateHeader
+ImageGetDigestStream
+ImageLoad
+ImageNtHeader
+ImageRemoveCertificate
+ImageRvaToSection
+ImageRvaToVa
+ImageUnload
+ImagehlpApiVersion
+ImagehlpApiVersionEx
+MakeSureDirectoryPathExists
+MapAndLoad
+MapDebugInformation
+MapFileAndCheckSumA
+MapFileAndCheckSumW
+ReBaseImage64
+ReBaseImage
+RemovePrivateCvSymbolic
+RemovePrivateCvSymbolicEx
+SearchTreeForFile
+SetImageConfigInformation
+SplitSymbols
+StackWalk64
+StackWalk
+SymCleanup
+SymEnumSym
+SymEnumSymbols
+SymEnumSymbolsForAddr
+SymEnumTypes
+SymEnumerateModules64
+SymEnumerateModules
+SymEnumerateSymbols64
+SymEnumerateSymbols
+SymEnumerateSymbolsW64
+SymEnumerateSymbolsW
+SymFindFileInPath
+SymFromAddr
+SymFromName
+SymFunctionTableAccess64
+SymFunctionTableAccess
+SymGetLineFromAddr64
+SymGetLineFromAddr
+SymGetLineFromName64
+SymGetLineFromName
+SymGetLineNext64
+SymGetLineNext
+SymGetLinePrev64
+SymGetLinePrev
+SymGetModuleBase64
+SymGetModuleBase
+SymGetModuleInfo64
+SymGetModuleInfo
+SymGetModuleInfoW64
+SymGetModuleInfoW
+SymGetOptions
+SymGetSearchPath
+SymGetSymFromAddr64
+SymGetSymFromAddr
+SymGetSymFromName64
+SymGetSymFromName
+SymGetSymNext64
+SymGetSymNext
+SymGetSymPrev64
+SymGetSymPrev
+SymGetTypeFromName
+SymGetTypeInfo
+SymInitialize
+SymLoadModule64
+SymLoadModule
+SymMatchFileName
+SymMatchString
+SymRegisterCallback64
+SymRegisterCallback
+SymRegisterFunctionEntryCallback64
+SymRegisterFunctionEntryCallback
+SymSetContext
+SymSetOptions
+SymSetSearchPath
+SymUnDName64
+SymUnDName
+SymUnloadModule64
+SymUnloadModule
+TouchFileTimes
+UnDecorateSymbolName
+UnMapAndLoad
+UnmapDebugInformation
+UpdateDebugInfoFile
+UpdateDebugInfoFileEx
diff --git a/mingw-w64-crt/lib64/wimekrcic.def b/mingw-w64-crt/lib64/wimekrcic.def
index a84c4b9..05b2f93 100644
--- a/mingw-w64-crt/lib64/wimekrcic.def
+++ b/mingw-w64-crt/lib64/wimekrcic.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IMEKRCIC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IMEKRCIC.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IMEKRCIC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IMEKRCIC.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wimepadsm.def b/mingw-w64-crt/lib64/wimepadsm.def
index 16b8234..a7de3b3 100644
--- a/mingw-w64-crt/lib64/wimepadsm.def
+++ b/mingw-w64-crt/lib64/wimepadsm.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file main.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY main.dll
-EXPORTS
-CreateObject2
-CreateObject
-RegClass
-UnregClass
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file main.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY main.dll
+EXPORTS
+CreateObject2
+CreateObject
+RegClass
+UnregClass
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wimeshare.def b/mingw-w64-crt/lib64/wimeshare.def
index 35e081a..a16b088 100644
--- a/mingw-w64-crt/lib64/wimeshare.def
+++ b/mingw-w64-crt/lib64/wimeshare.def
@@ -1,38 +1,38 @@
-; 
-; Exports of file imeshare.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imeshare.dll
-EXPORTS
-DllMain
-FInitIMEShare
-EndIMEShare
-FRefreshStyle
-FSupportSty
-PIMEStyleFromAttr
-PColorStyleTextFromIMEStyle
-PColorStyleBackFromIMEStyle
-FBoldIMEStyle
-FItalicIMEStyle
-FUlIMEStyle
-GrfStyIMEStyle
-IdUlIMEStyle
-FGetIMEStyleAttr
-FSetIMEStyleAttr
-FWinIMEColorStyle
-FFundamentalIMEColorStyle
-FRGBIMEColorStyle
-FSpecialIMEColorStyle
-IdSpecialFromIMEColorStyle
-IdWinFromIMEColorStyle
-IdFundamentalFromIMEColorStyle
-RGBFromIMEColorStyle
-FSetIMEColorStyle
-FSetIMEStyle
-FSpecialTextIMEColorStyle
-FSpecialWindowIMEColorStyle
-CustomizeIMEShare
-FSaveIMEShareSetting
-PIMEShareCreate
+; 
+; Exports of file imeshare.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imeshare.dll
+EXPORTS
+DllMain
+FInitIMEShare
+EndIMEShare
+FRefreshStyle
+FSupportSty
+PIMEStyleFromAttr
+PColorStyleTextFromIMEStyle
+PColorStyleBackFromIMEStyle
+FBoldIMEStyle
+FItalicIMEStyle
+FUlIMEStyle
+GrfStyIMEStyle
+IdUlIMEStyle
+FGetIMEStyleAttr
+FSetIMEStyleAttr
+FWinIMEColorStyle
+FFundamentalIMEColorStyle
+FRGBIMEColorStyle
+FSpecialIMEColorStyle
+IdSpecialFromIMEColorStyle
+IdWinFromIMEColorStyle
+IdFundamentalFromIMEColorStyle
+RGBFromIMEColorStyle
+FSetIMEColorStyle
+FSetIMEStyle
+FSpecialTextIMEColorStyle
+FSpecialWindowIMEColorStyle
+CustomizeIMEShare
+FSaveIMEShareSetting
+PIMEShareCreate
diff --git a/mingw-w64-crt/lib64/wimgutil.def b/mingw-w64-crt/lib64/wimgutil.def
index 2b90d10..03572bb 100644
--- a/mingw-w64-crt/lib64/wimgutil.def
+++ b/mingw-w64-crt/lib64/wimgutil.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file ImgUtil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ImgUtil.dll
-EXPORTS
-ComputeInvCMAP
-CreateDDrawSurfaceOnDIB
-CreateMIMEMap
-DecodeImage
-DitherTo8
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetMaxMIMEIDBytes
-IdentifyMIMEType
-SniffStream
+; 
+; Exports of file ImgUtil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ImgUtil.dll
+EXPORTS
+ComputeInvCMAP
+CreateDDrawSurfaceOnDIB
+CreateMIMEMap
+DecodeImage
+DitherTo8
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetMaxMIMEIDBytes
+IdentifyMIMEType
+SniffStream
diff --git a/mingw-w64-crt/lib64/wimjp81k.def b/mingw-w64-crt/lib64/wimjp81k.def
index 8e78acd..c6509dc 100644
--- a/mingw-w64-crt/lib64/wimjp81k.def
+++ b/mingw-w64-crt/lib64/wimjp81k.def
@@ -1,37 +1,37 @@
-; 
-; Exports of file imjp81k.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imjp81k.dll
-EXPORTS
-DllCanUnloadNowDone
-CheckFileType
-CleanDicThreadFunc
-CreateIFECommonInstance
-CreateIFEDictionary2Instance
-CreateIFEDictionaryInstance
-CreateIFELanguageInstance
-CreateIImeIPointInstance
-CreateIImeKbdInstance
-CreateIImeKnlDictInstance
-CreateIRegManInstance
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-KnlClose
-KnlInit
-KnlOpen
-KnlTerm
-LoadTipConfig
-OurCoCreateInstance
-OurCoTaskMemAlloc
-OurCoTaskMemFree
-OurCoTaskMemRealloc
-OurStringFromGUID2
-RgSetGakusyuu
-ShutdownKnlDll
-UnLoadOurOle32
-reload_config
+; 
+; Exports of file imjp81k.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imjp81k.dll
+EXPORTS
+DllCanUnloadNowDone
+CheckFileType
+CleanDicThreadFunc
+CreateIFECommonInstance
+CreateIFEDictionary2Instance
+CreateIFEDictionaryInstance
+CreateIFELanguageInstance
+CreateIImeIPointInstance
+CreateIImeKbdInstance
+CreateIImeKnlDictInstance
+CreateIRegManInstance
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+KnlClose
+KnlInit
+KnlOpen
+KnlTerm
+LoadTipConfig
+OurCoCreateInstance
+OurCoTaskMemAlloc
+OurCoTaskMemFree
+OurCoTaskMemRealloc
+OurStringFromGUID2
+RgSetGakusyuu
+ShutdownKnlDll
+UnLoadOurOle32
+reload_config
diff --git a/mingw-w64-crt/lib64/wimjpcic.def b/mingw-w64-crt/lib64/wimjpcic.def
index 9645f07..3265afc 100644
--- a/mingw-w64-crt/lib64/wimjpcic.def
+++ b/mingw-w64-crt/lib64/wimjpcic.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file simx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY simx.dll
-EXPORTS
-; public: static int __stdcall CHelp::AboutDlgProc(struct HWND__ *,unsigned int,unsigned int,long)
-?AboutDlgProc@CHelp@@SGHPAUHWND__@@IIJ@Z
-; public: static int __stdcall CPad::HWDlgProc(struct HWND__ *,unsigned int,unsigned int,long)
-?HWDlgProc@CPad@@SGHPAUHWND__@@IIJ@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file simx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY simx.dll
+EXPORTS
+; public: static int __stdcall CHelp::AboutDlgProc(struct HWND__ *,unsigned int,unsigned int,long)
+?AboutDlgProc@CHelp@@SGHPAUHWND__@@IIJ@Z
+; public: static int __stdcall CPad::HWDlgProc(struct HWND__ *,unsigned int,unsigned int,long)
+?HWDlgProc@CPad@@SGHPAUHWND__@@IIJ@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wimjpcus.def b/mingw-w64-crt/lib64/wimjpcus.def
index f231044..cf37f7d 100644
--- a/mingw-w64-crt/lib64/wimjpcus.def
+++ b/mingw-w64-crt/lib64/wimjpcus.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file imejpcus.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imejpcus.dll
-EXPORTS
-OpenDetailDialog
-DllMain
+; 
+; Exports of file imejpcus.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imejpcus.dll
+EXPORTS
+OpenDetailDialog
+DllMain
diff --git a/mingw-w64-crt/lib64/wimjpdct.def b/mingw-w64-crt/lib64/wimjpdct.def
index 0673b5d..2b2bde1 100644
--- a/mingw-w64-crt/lib64/wimjpdct.def
+++ b/mingw-w64-crt/lib64/wimjpdct.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file imedic.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imedic.dll
-EXPORTS
-OpenDicTool
-OpenRegisterWord
+; 
+; Exports of file imedic.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imedic.dll
+EXPORTS
+OpenDicTool
+OpenRegisterWord
diff --git a/mingw-w64-crt/lib64/wimjputyc.def b/mingw-w64-crt/lib64/wimjputyc.def
index b2924f3..02caa05 100644
--- a/mingw-w64-crt/lib64/wimjputyc.def
+++ b/mingw-w64-crt/lib64/wimjputyc.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file imjputyc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imjputyc.dll
-EXPORTS
-_AutoCorrLbSubWndProc@16
-DllMain
-OpenImeTool
-OpenUty
+; 
+; Exports of file imjputyc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imjputyc.dll
+EXPORTS
+_AutoCorrLbSubWndProc@16
+DllMain
+OpenImeTool
+OpenUty
diff --git a/mingw-w64-crt/lib64/wimlang.def b/mingw-w64-crt/lib64/wimlang.def
index ff61143..1b55473 100644
--- a/mingw-w64-crt/lib64/wimlang.def
+++ b/mingw-w64-crt/lib64/wimlang.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file main.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY main.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file main.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY main.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wimm32.def b/mingw-w64-crt/lib64/wimm32.def
index f5a5e8c..dbfed45 100644
--- a/mingw-w64-crt/lib64/wimm32.def
+++ b/mingw-w64-crt/lib64/wimm32.def
@@ -1,139 +1,139 @@
-; 
-; Exports of file IMM32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IMM32.dll
-EXPORTS
-CtfAImmActivate
-CtfAImmDeactivate
-CtfAImmIsIME
-CtfImmCoUninitialize
-CtfImmDispatchDefImeMessage
-CtfImmEnterCoInitCountSkipMode
-CtfImmGenerateMessage
-CtfImmGetGuidAtom
-CtfImmHideToolbarWnd
-CtfImmIsCiceroEnabled
-CtfImmIsCiceroStartedInThread
-CtfImmIsGuidMapEnable
-CtfImmIsTextFrameServiceDisabled
-CtfImmLastEnabledWndDestroy
-CtfImmLeaveCoInitCountSkipMode
-CtfImmRestoreToolbarWnd
-CtfImmSetAppCompatFlags
-CtfImmSetCiceroStartInThread
-CtfImmTIMActivate
-GetKeyboardLayoutCP
-ImmActivateLayout
-ImmAssociateContext
-ImmAssociateContextEx
-ImmCallImeConsoleIME
-ImmConfigureIMEA
-ImmConfigureIMEW
-ImmCreateContext
-ImmCreateIMCC
-ImmCreateSoftKeyboard
-ImmDestroyContext
-ImmDestroyIMCC
-ImmDestroySoftKeyboard
-ImmDisableIME
-ImmDisableIme
-ImmDisableTextFrameService
-ImmEnumInputContext
-ImmEnumRegisterWordA
-ImmEnumRegisterWordW
-ImmEscapeA
-ImmEscapeW
-ImmFreeLayout
-ImmGenerateMessage
-ImmGetAppCompatFlags
-ImmGetCandidateListA
-ImmGetCandidateListCountA
-ImmGetCandidateListCountW
-ImmGetCandidateListW
-ImmGetCandidateWindow
-ImmGetCompositionFontA
-ImmGetCompositionFontW
-ImmGetCompositionStringA
-ImmGetCompositionStringW
-ImmGetCompositionWindow
-ImmGetContext
-ImmGetConversionListA
-ImmGetConversionListW
-ImmGetConversionStatus
-ImmGetDefaultIMEWnd
-ImmGetDescriptionA
-ImmGetDescriptionW
-ImmGetGuideLineA
-ImmGetGuideLineW
-ImmGetHotKey
-ImmGetIMCCLockCount
-ImmGetIMCCSize
-ImmGetIMCLockCount
-ImmGetIMEFileNameA
-ImmGetIMEFileNameW
-ImmGetImeInfoEx
-ImmGetImeMenuItemsA
-ImmGetImeMenuItemsW
-ImmGetOpenStatus
-ImmGetProperty
-ImmGetRegisterWordStyleA
-ImmGetRegisterWordStyleW
-ImmGetStatusWindowPos
-ImmGetVirtualKey
-ImmIMPGetIMEA
-ImmIMPGetIMEW
-ImmIMPQueryIMEA
-ImmIMPQueryIMEW
-ImmIMPSetIMEA
-ImmIMPSetIMEW
-ImmInstallIMEA
-ImmInstallIMEW
-ImmIsIME
-ImmIsUIMessageA
-ImmIsUIMessageW
-ImmLoadIME
-ImmLoadLayout
-ImmLockClientImc
-ImmLockIMC
-ImmLockIMCC
-ImmLockImeDpi
-ImmNotifyIME
-ImmProcessKey
-ImmPutImeMenuItemsIntoMappedFile
-ImmReSizeIMCC
-ImmRegisterClient
-ImmRegisterWordA
-ImmRegisterWordW
-ImmReleaseContext
-ImmRequestMessageA
-ImmRequestMessageW
-ImmSendIMEMessageExA
-ImmSendIMEMessageExW
-ImmSetActiveContext
-ImmSetActiveContextConsoleIME
-ImmSetCandidateWindow
-ImmSetCompositionFontA
-ImmSetCompositionFontW
-ImmSetCompositionStringA
-ImmSetCompositionStringW
-ImmSetCompositionWindow
-ImmSetConversionStatus
-ImmSetHotKey
-ImmSetOpenStatus
-ImmSetStatusWindowPos
-ImmShowSoftKeyboard
-ImmSimulateHotKey
-ImmSystemHandler
-ImmTranslateMessage
-ImmUnlockClientImc
-ImmUnlockIMC
-ImmUnlockIMCC
-ImmUnlockImeDpi
-ImmUnregisterWordA
-ImmUnregisterWordW
-ImmWINNLSEnableIME
-ImmWINNLSGetEnableStatus
-ImmWINNLSGetIMEHotkey
+; 
+; Exports of file IMM32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IMM32.dll
+EXPORTS
+CtfAImmActivate
+CtfAImmDeactivate
+CtfAImmIsIME
+CtfImmCoUninitialize
+CtfImmDispatchDefImeMessage
+CtfImmEnterCoInitCountSkipMode
+CtfImmGenerateMessage
+CtfImmGetGuidAtom
+CtfImmHideToolbarWnd
+CtfImmIsCiceroEnabled
+CtfImmIsCiceroStartedInThread
+CtfImmIsGuidMapEnable
+CtfImmIsTextFrameServiceDisabled
+CtfImmLastEnabledWndDestroy
+CtfImmLeaveCoInitCountSkipMode
+CtfImmRestoreToolbarWnd
+CtfImmSetAppCompatFlags
+CtfImmSetCiceroStartInThread
+CtfImmTIMActivate
+GetKeyboardLayoutCP
+ImmActivateLayout
+ImmAssociateContext
+ImmAssociateContextEx
+ImmCallImeConsoleIME
+ImmConfigureIMEA
+ImmConfigureIMEW
+ImmCreateContext
+ImmCreateIMCC
+ImmCreateSoftKeyboard
+ImmDestroyContext
+ImmDestroyIMCC
+ImmDestroySoftKeyboard
+ImmDisableIME
+ImmDisableIme
+ImmDisableTextFrameService
+ImmEnumInputContext
+ImmEnumRegisterWordA
+ImmEnumRegisterWordW
+ImmEscapeA
+ImmEscapeW
+ImmFreeLayout
+ImmGenerateMessage
+ImmGetAppCompatFlags
+ImmGetCandidateListA
+ImmGetCandidateListCountA
+ImmGetCandidateListCountW
+ImmGetCandidateListW
+ImmGetCandidateWindow
+ImmGetCompositionFontA
+ImmGetCompositionFontW
+ImmGetCompositionStringA
+ImmGetCompositionStringW
+ImmGetCompositionWindow
+ImmGetContext
+ImmGetConversionListA
+ImmGetConversionListW
+ImmGetConversionStatus
+ImmGetDefaultIMEWnd
+ImmGetDescriptionA
+ImmGetDescriptionW
+ImmGetGuideLineA
+ImmGetGuideLineW
+ImmGetHotKey
+ImmGetIMCCLockCount
+ImmGetIMCCSize
+ImmGetIMCLockCount
+ImmGetIMEFileNameA
+ImmGetIMEFileNameW
+ImmGetImeInfoEx
+ImmGetImeMenuItemsA
+ImmGetImeMenuItemsW
+ImmGetOpenStatus
+ImmGetProperty
+ImmGetRegisterWordStyleA
+ImmGetRegisterWordStyleW
+ImmGetStatusWindowPos
+ImmGetVirtualKey
+ImmIMPGetIMEA
+ImmIMPGetIMEW
+ImmIMPQueryIMEA
+ImmIMPQueryIMEW
+ImmIMPSetIMEA
+ImmIMPSetIMEW
+ImmInstallIMEA
+ImmInstallIMEW
+ImmIsIME
+ImmIsUIMessageA
+ImmIsUIMessageW
+ImmLoadIME
+ImmLoadLayout
+ImmLockClientImc
+ImmLockIMC
+ImmLockIMCC
+ImmLockImeDpi
+ImmNotifyIME
+ImmProcessKey
+ImmPutImeMenuItemsIntoMappedFile
+ImmReSizeIMCC
+ImmRegisterClient
+ImmRegisterWordA
+ImmRegisterWordW
+ImmReleaseContext
+ImmRequestMessageA
+ImmRequestMessageW
+ImmSendIMEMessageExA
+ImmSendIMEMessageExW
+ImmSetActiveContext
+ImmSetActiveContextConsoleIME
+ImmSetCandidateWindow
+ImmSetCompositionFontA
+ImmSetCompositionFontW
+ImmSetCompositionStringA
+ImmSetCompositionStringW
+ImmSetCompositionWindow
+ImmSetConversionStatus
+ImmSetHotKey
+ImmSetOpenStatus
+ImmSetStatusWindowPos
+ImmShowSoftKeyboard
+ImmSimulateHotKey
+ImmSystemHandler
+ImmTranslateMessage
+ImmUnlockClientImc
+ImmUnlockIMC
+ImmUnlockIMCC
+ImmUnlockImeDpi
+ImmUnregisterWordA
+ImmUnregisterWordW
+ImmWINNLSEnableIME
+ImmWINNLSGetEnableStatus
+ImmWINNLSGetIMEHotkey
diff --git a/mingw-w64-crt/lib64/wimskdic.def b/mingw-w64-crt/lib64/wimskdic.def
index 06ab0c3..6ad133d 100644
--- a/mingw-w64-crt/lib64/wimskdic.def
+++ b/mingw-w64-crt/lib64/wimskdic.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file imeskdic.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY imeskdic.dll
-EXPORTS
-CreateIImeSkdicInstance
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file imeskdic.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY imeskdic.dll
+EXPORTS
+CreateIImeSkdicInstance
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wimskf.def b/mingw-w64-crt/lib64/wimskf.def
index ff61143..1b55473 100644
--- a/mingw-w64-crt/lib64/wimskf.def
+++ b/mingw-w64-crt/lib64/wimskf.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file main.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY main.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file main.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY main.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/win32spl.def b/mingw-w64-crt/lib64/win32spl.def
index 84af99a..41a751b 100644
--- a/mingw-w64-crt/lib64/win32spl.def
+++ b/mingw-w64-crt/lib64/win32spl.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file WIN32SPL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WIN32SPL.dll
-EXPORTS
-DllMain
-InitializePrintMonitor
-InitializePrintProvidor
+; 
+; Exports of file WIN32SPL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WIN32SPL.dll
+EXPORTS
+DllMain
+InitializePrintMonitor
+InitializePrintProvidor
diff --git a/mingw-w64-crt/lib64/winetcfg.def b/mingw-w64-crt/lib64/winetcfg.def
index bc4de53..fe75231 100644
--- a/mingw-w64-crt/lib64/winetcfg.def
+++ b/mingw-w64-crt/lib64/winetcfg.def
@@ -1,66 +1,66 @@
-; 
-; Exports of file INETCFG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INETCFG.dll
-EXPORTS
-CheckConnectionWizard
-ConfigureSystemForInternet
-ConfigureSystemForInternetA
-ConfigureSystemForInternetW
-FreeSignupWizard
-InetConfigClient
-InetConfigClientA
-InetConfigClientW
-InetConfigSystem
-InetConfigSystemFromPath
-InetConfigSystemFromPathA
-InetConfigSystemFromPathW
-InetGetAutodial
-InetGetAutodialA
-InetGetAutodialW
-InetGetClientInfo
-InetGetClientInfoA
-InetGetClientInfoW
-InetGetProxy
-InetGetProxyA
-InetGetProxyW
-InetNeedModem
-InetNeedSystemComponents
-InetPerformSecurityCheck
-InetSetAutoProxy
-InetSetAutoProxyA
-InetSetAutoProxyW
-InetSetAutodial
-InetSetAutodialA
-InetSetAutodialW
-InetSetClientInfo
-InetSetClientInfoA
-InetSetClientInfoW
-InetSetProxy
-InetSetProxyA
-InetSetProxyEx
-InetSetProxyExA
-InetSetProxyExW
-InetSetProxyW
-InetStartServices
-IsSmartStartEx
-SetAutoProxyConnectoid
-SetInternetPhoneNumber
-SetInternetPhoneNumberA
-SetInternetPhoneNumberW
-_CheckConnectionWizard@8
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-IsSmartStart
-_LaunchSignupWizard
-_LaunchSignupWizard@12
-_LaunchSignupWizardEx
-_LaunchSignupWizardEx@12
-SetShellNext
-SetShellNextA
-SetShellNextW
+; 
+; Exports of file INETCFG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INETCFG.dll
+EXPORTS
+CheckConnectionWizard
+ConfigureSystemForInternet
+ConfigureSystemForInternetA
+ConfigureSystemForInternetW
+FreeSignupWizard
+InetConfigClient
+InetConfigClientA
+InetConfigClientW
+InetConfigSystem
+InetConfigSystemFromPath
+InetConfigSystemFromPathA
+InetConfigSystemFromPathW
+InetGetAutodial
+InetGetAutodialA
+InetGetAutodialW
+InetGetClientInfo
+InetGetClientInfoA
+InetGetClientInfoW
+InetGetProxy
+InetGetProxyA
+InetGetProxyW
+InetNeedModem
+InetNeedSystemComponents
+InetPerformSecurityCheck
+InetSetAutoProxy
+InetSetAutoProxyA
+InetSetAutoProxyW
+InetSetAutodial
+InetSetAutodialA
+InetSetAutodialW
+InetSetClientInfo
+InetSetClientInfoA
+InetSetClientInfoW
+InetSetProxy
+InetSetProxyA
+InetSetProxyEx
+InetSetProxyExA
+InetSetProxyExW
+InetSetProxyW
+InetStartServices
+IsSmartStartEx
+SetAutoProxyConnectoid
+SetInternetPhoneNumber
+SetInternetPhoneNumberA
+SetInternetPhoneNumberW
+_CheckConnectionWizard@8
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+IsSmartStart
+_LaunchSignupWizard
+_LaunchSignupWizard@12
+_LaunchSignupWizardEx
+_LaunchSignupWizardEx@12
+SetShellNext
+SetShellNextA
+SetShellNextW
diff --git a/mingw-w64-crt/lib64/winetcomm.def b/mingw-w64-crt/lib64/winetcomm.def
index 394f87f..0275791 100644
--- a/mingw-w64-crt/lib64/winetcomm.def
+++ b/mingw-w64-crt/lib64/winetcomm.def
@@ -1,115 +1,115 @@
-; 
-; Exports of file INETCOMM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INETCOMM.dll
-EXPORTS
-RichMimeEdit_CreateInstance
-CreateIMAPTransport2
-CreateIMAPTransport
-CreateNNTPTransport
-CreatePOP3Transport
-CreateRASTransport
-CreateRangeList
-CreateSMTPTransport
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-EssContentHintDecodeEx
-EssContentHintEncodeEx
-EssKeyExchPreferenceDecodeEx
-EssKeyExchPreferenceEncodeEx
-EssMLHistoryDecodeEx
-EssMLHistoryEncodeEx
-EssReceiptDecodeEx
-EssReceiptEncodeEx
-EssReceiptRequestDecodeEx
-EssReceiptRequestEncodeEx
-EssSecurityLabelDecodeEx
-EssSecurityLabelEncodeEx
-EssSignCertificateDecodeEx
-EssSignCertificateEncodeEx
-GetDllMajorVersion
-HrAthGetFileName
-HrAthGetFileNameW
-HrAttachDataFromBodyPart
-HrAttachDataFromFile
-HrDoAttachmentVerb
-HrFreeAttachData
-HrGetAttachIcon
-HrGetAttachIconByFile
-HrGetDisplayNameWithSizeForFile
-HrGetLastOpenFileDirectory
-HrGetLastOpenFileDirectoryW
-HrSaveAttachToFile
-HrSaveAttachmentAs
-MimeEditCreateMimeDocument
-MimeEditDocumentFromStream
-MimeEditGetBackgroundImageUrl
-MimeEditIsSafeToRun
-MimeEditViewSource
-MimeGetAddressFormatW
-MimeOleAlgNameFromSMimeCap
-MimeOleAlgStrengthFromSMimeCap
-MimeOleClearDirtyTree
-MimeOleConvertEnrichedToHTML
-MimeOleCreateBody
-MimeOleCreateByteStream
-MimeOleCreateHashTable
-MimeOleCreateHeaderTable
-MimeOleCreateMessage
-MimeOleCreateMessageParts
-MimeOleCreatePropertySet
-MimeOleCreateSecurity
-MimeOleCreateVirtualStream
-MimeOleDecodeHeader
-MimeOleEncodeHeader
-MimeOleFileTimeToInetDate
-MimeOleFindCharset
-MimeOleGenerateCID
-MimeOleGenerateFileName
-MimeOleGenerateMID
-MimeOleGetAllocator
-MimeOleGetBodyPropA
-MimeOleGetBodyPropW
-MimeOleGetCertsFromThumbprints
-MimeOleGetCharsetInfo
-MimeOleGetCodePageCharset
-MimeOleGetCodePageInfo
-MimeOleGetContentTypeExt
-MimeOleGetDefaultCharset
-MimeOleGetExtContentType
-MimeOleGetFileExtension
-MimeOleGetFileInfo
-MimeOleGetFileInfoW
-MimeOleGetInternat
-MimeOleGetPropA
-MimeOleGetPropW
-MimeOleGetPropertySchema
-MimeOleGetRelatedSection
-MimeOleInetDateToFileTime
-MimeOleObjectFromMoniker
-MimeOleOpenFileStream
-MimeOleParseMhtmlUrl
-MimeOleParseRfc822Address
-MimeOleParseRfc822AddressW
-MimeOleSMimeCapAddCert
-MimeOleSMimeCapAddSMimeCap
-MimeOleSMimeCapGetEncAlg
-MimeOleSMimeCapGetHashAlg
-MimeOleSMimeCapInit
-MimeOleSMimeCapRelease
-MimeOleSMimeCapsFromDlg
-MimeOleSMimeCapsFull
-MimeOleSMimeCapsToDlg
-MimeOleSetBodyPropA
-MimeOleSetBodyPropW
-MimeOleSetCompatMode
-MimeOleSetDefaultCharset
-MimeOleSetPropA
-MimeOleSetPropW
-MimeOleStripHeaders
-MimeOleUnEscapeStringInPlace
+; 
+; Exports of file INETCOMM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INETCOMM.dll
+EXPORTS
+RichMimeEdit_CreateInstance
+CreateIMAPTransport2
+CreateIMAPTransport
+CreateNNTPTransport
+CreatePOP3Transport
+CreateRASTransport
+CreateRangeList
+CreateSMTPTransport
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+EssContentHintDecodeEx
+EssContentHintEncodeEx
+EssKeyExchPreferenceDecodeEx
+EssKeyExchPreferenceEncodeEx
+EssMLHistoryDecodeEx
+EssMLHistoryEncodeEx
+EssReceiptDecodeEx
+EssReceiptEncodeEx
+EssReceiptRequestDecodeEx
+EssReceiptRequestEncodeEx
+EssSecurityLabelDecodeEx
+EssSecurityLabelEncodeEx
+EssSignCertificateDecodeEx
+EssSignCertificateEncodeEx
+GetDllMajorVersion
+HrAthGetFileName
+HrAthGetFileNameW
+HrAttachDataFromBodyPart
+HrAttachDataFromFile
+HrDoAttachmentVerb
+HrFreeAttachData
+HrGetAttachIcon
+HrGetAttachIconByFile
+HrGetDisplayNameWithSizeForFile
+HrGetLastOpenFileDirectory
+HrGetLastOpenFileDirectoryW
+HrSaveAttachToFile
+HrSaveAttachmentAs
+MimeEditCreateMimeDocument
+MimeEditDocumentFromStream
+MimeEditGetBackgroundImageUrl
+MimeEditIsSafeToRun
+MimeEditViewSource
+MimeGetAddressFormatW
+MimeOleAlgNameFromSMimeCap
+MimeOleAlgStrengthFromSMimeCap
+MimeOleClearDirtyTree
+MimeOleConvertEnrichedToHTML
+MimeOleCreateBody
+MimeOleCreateByteStream
+MimeOleCreateHashTable
+MimeOleCreateHeaderTable
+MimeOleCreateMessage
+MimeOleCreateMessageParts
+MimeOleCreatePropertySet
+MimeOleCreateSecurity
+MimeOleCreateVirtualStream
+MimeOleDecodeHeader
+MimeOleEncodeHeader
+MimeOleFileTimeToInetDate
+MimeOleFindCharset
+MimeOleGenerateCID
+MimeOleGenerateFileName
+MimeOleGenerateMID
+MimeOleGetAllocator
+MimeOleGetBodyPropA
+MimeOleGetBodyPropW
+MimeOleGetCertsFromThumbprints
+MimeOleGetCharsetInfo
+MimeOleGetCodePageCharset
+MimeOleGetCodePageInfo
+MimeOleGetContentTypeExt
+MimeOleGetDefaultCharset
+MimeOleGetExtContentType
+MimeOleGetFileExtension
+MimeOleGetFileInfo
+MimeOleGetFileInfoW
+MimeOleGetInternat
+MimeOleGetPropA
+MimeOleGetPropW
+MimeOleGetPropertySchema
+MimeOleGetRelatedSection
+MimeOleInetDateToFileTime
+MimeOleObjectFromMoniker
+MimeOleOpenFileStream
+MimeOleParseMhtmlUrl
+MimeOleParseRfc822Address
+MimeOleParseRfc822AddressW
+MimeOleSMimeCapAddCert
+MimeOleSMimeCapAddSMimeCap
+MimeOleSMimeCapGetEncAlg
+MimeOleSMimeCapGetHashAlg
+MimeOleSMimeCapInit
+MimeOleSMimeCapRelease
+MimeOleSMimeCapsFromDlg
+MimeOleSMimeCapsFull
+MimeOleSMimeCapsToDlg
+MimeOleSetBodyPropA
+MimeOleSetBodyPropW
+MimeOleSetCompatMode
+MimeOleSetDefaultCharset
+MimeOleSetPropA
+MimeOleSetPropW
+MimeOleStripHeaders
+MimeOleUnEscapeStringInPlace
diff --git a/mingw-w64-crt/lib64/winetmgr.def b/mingw-w64-crt/lib64/winetmgr.def
index cbc3484..de659df 100644
--- a/mingw-w64-crt/lib64/winetmgr.def
+++ b/mingw-w64-crt/lib64/winetmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file inetmgr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY inetmgr.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file inetmgr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY inetmgr.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/winetmib1.def b/mingw-w64-crt/lib64/winetmib1.def
index 3e23f80..adf05ab 100644
--- a/mingw-w64-crt/lib64/winetmib1.def
+++ b/mingw-w64-crt/lib64/winetmib1.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file inetmib1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY inetmib1.dll
-EXPORTS
-SnmpExtensionInit
-SnmpExtensionInitEx
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file inetmib1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY inetmib1.dll
+EXPORTS
+SnmpExtensionInit
+SnmpExtensionInitEx
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/winetpp.def b/mingw-w64-crt/lib64/winetpp.def
index cbe6a50..4af4c95 100644
--- a/mingw-w64-crt/lib64/winetpp.def
+++ b/mingw-w64-crt/lib64/winetpp.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file INETPP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INETPP.dll
-EXPORTS
-InitializePrintProvidor
+; 
+; Exports of file INETPP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INETPP.dll
+EXPORTS
+InitializePrintProvidor
diff --git a/mingw-w64-crt/lib64/winetppui.def b/mingw-w64-crt/lib64/winetppui.def
index a08ffe3..6fccb6a 100644
--- a/mingw-w64-crt/lib64/winetppui.def
+++ b/mingw-w64-crt/lib64/winetppui.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file INETPPUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INETPPUI.dll
-EXPORTS
-InitializePrintMonitorUI
+; 
+; Exports of file INETPPUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INETPPUI.dll
+EXPORTS
+InitializePrintMonitorUI
diff --git a/mingw-w64-crt/lib64/winfax.def b/mingw-w64-crt/lib64/winfax.def
index a6c6a49..6f30ee0 100644
--- a/mingw-w64-crt/lib64/winfax.def
+++ b/mingw-w64-crt/lib64/winfax.def
@@ -1,64 +1,64 @@
-; 
-; Exports of file WINFAX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WINFAX.dll
-EXPORTS
-FaxAbort
-FaxAccessCheck
-FaxClose
-FaxCompleteJobParamsA
-FaxCompleteJobParamsW
-FaxConnectFaxServerA
-FaxConnectFaxServerW
-FaxEnableRoutingMethodA
-FaxEnableRoutingMethodW
-FaxEnumGlobalRoutingInfoA
-FaxEnumGlobalRoutingInfoW
-FaxEnumJobsA
-FaxEnumJobsW
-FaxEnumPortsA
-FaxEnumPortsW
-FaxEnumRoutingMethodsA
-FaxEnumRoutingMethodsW
-FaxFreeBuffer
-FaxGetConfigurationA
-FaxGetConfigurationW
-FaxGetDeviceStatusA
-FaxGetDeviceStatusW
-FaxGetJobA
-FaxGetJobW
-FaxGetLoggingCategoriesA
-FaxGetLoggingCategoriesW
-FaxGetPageData
-FaxGetPortA
-FaxGetPortW
-FaxGetRoutingInfoA
-FaxGetRoutingInfoW
-FaxInitializeEventQueue
-FaxOpenPort
-FaxPrintCoverPageA
-FaxPrintCoverPageW
-FaxRegisterRoutingExtensionW
-FaxRegisterServiceProviderW
-FaxSendDocumentA
-FaxSendDocumentForBroadcastA
-FaxSendDocumentForBroadcastW
-FaxSendDocumentW
-FaxSetConfigurationA
-FaxSetConfigurationW
-FaxSetGlobalRoutingInfoA
-FaxSetGlobalRoutingInfoW
-FaxSetJobA
-FaxSetJobW
-FaxSetLoggingCategoriesA
-FaxSetLoggingCategoriesW
-FaxSetPortA
-FaxSetPortW
-FaxSetRoutingInfoA
-FaxSetRoutingInfoW
-FaxStartPrintJobA
-FaxStartPrintJobW
-FaxUnregisterServiceProviderW
+; 
+; Exports of file WINFAX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WINFAX.dll
+EXPORTS
+FaxAbort
+FaxAccessCheck
+FaxClose
+FaxCompleteJobParamsA
+FaxCompleteJobParamsW
+FaxConnectFaxServerA
+FaxConnectFaxServerW
+FaxEnableRoutingMethodA
+FaxEnableRoutingMethodW
+FaxEnumGlobalRoutingInfoA
+FaxEnumGlobalRoutingInfoW
+FaxEnumJobsA
+FaxEnumJobsW
+FaxEnumPortsA
+FaxEnumPortsW
+FaxEnumRoutingMethodsA
+FaxEnumRoutingMethodsW
+FaxFreeBuffer
+FaxGetConfigurationA
+FaxGetConfigurationW
+FaxGetDeviceStatusA
+FaxGetDeviceStatusW
+FaxGetJobA
+FaxGetJobW
+FaxGetLoggingCategoriesA
+FaxGetLoggingCategoriesW
+FaxGetPageData
+FaxGetPortA
+FaxGetPortW
+FaxGetRoutingInfoA
+FaxGetRoutingInfoW
+FaxInitializeEventQueue
+FaxOpenPort
+FaxPrintCoverPageA
+FaxPrintCoverPageW
+FaxRegisterRoutingExtensionW
+FaxRegisterServiceProviderW
+FaxSendDocumentA
+FaxSendDocumentForBroadcastA
+FaxSendDocumentForBroadcastW
+FaxSendDocumentW
+FaxSetConfigurationA
+FaxSetConfigurationW
+FaxSetGlobalRoutingInfoA
+FaxSetGlobalRoutingInfoW
+FaxSetJobA
+FaxSetJobW
+FaxSetLoggingCategoriesA
+FaxSetLoggingCategoriesW
+FaxSetPortA
+FaxSetPortW
+FaxSetRoutingInfoA
+FaxSetRoutingInfoW
+FaxStartPrintJobA
+FaxStartPrintJobW
+FaxUnregisterServiceProviderW
diff --git a/mingw-w64-crt/lib64/winfoadmn.def b/mingw-w64-crt/lib64/winfoadmn.def
index 88ff92f..cf415dd 100644
--- a/mingw-w64-crt/lib64/winfoadmn.def
+++ b/mingw-w64-crt/lib64/winfoadmn.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file INFOADMN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INFOADMN.dll
-EXPORTS
-CollectW3PerfData
-FtpClearStatistics2
-FtpQueryStatistics2
-IISDisconnectUser
-IISEnumerateUsers
-InetInfoClearStatistics
-InetInfoFlushMemoryCache
-InetInfoGetAdminInformation
-InetInfoGetGlobalAdminInformation
-InetInfoGetServerCapabilities
-InetInfoGetSites
-InetInfoGetVersion
-InetInfoQueryStatistics
-InetInfoSetAdminInformation
-InetInfoSetGlobalAdminInformation
-InitW3CounterStructure
-W3ClearStatistics2
-W3QueryStatistics2
+; 
+; Exports of file INFOADMN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INFOADMN.dll
+EXPORTS
+CollectW3PerfData
+FtpClearStatistics2
+FtpQueryStatistics2
+IISDisconnectUser
+IISEnumerateUsers
+InetInfoClearStatistics
+InetInfoFlushMemoryCache
+InetInfoGetAdminInformation
+InetInfoGetGlobalAdminInformation
+InetInfoGetServerCapabilities
+InetInfoGetSites
+InetInfoGetVersion
+InetInfoQueryStatistics
+InetInfoSetAdminInformation
+InetInfoSetGlobalAdminInformation
+InitW3CounterStructure
+W3ClearStatistics2
+W3QueryStatistics2
diff --git a/mingw-w64-crt/lib64/winfoctrs.def b/mingw-w64-crt/lib64/winfoctrs.def
index 3b88aee..b97e023 100644
--- a/mingw-w64-crt/lib64/winfoctrs.def
+++ b/mingw-w64-crt/lib64/winfoctrs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file INFOCTRS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INFOCTRS.dll
-EXPORTS
-OpenINFOPerformanceData
-CollectINFOPerformanceData
-CloseINFOPerformanceData
+; 
+; Exports of file INFOCTRS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INFOCTRS.dll
+EXPORTS
+OpenINFOPerformanceData
+CollectINFOPerformanceData
+CloseINFOPerformanceData
diff --git a/mingw-w64-crt/lib64/winfosoft.def b/mingw-w64-crt/lib64/winfosoft.def
index 3ecbe50..b9e59c5 100644
--- a/mingw-w64-crt/lib64/winfosoft.def
+++ b/mingw-w64-crt/lib64/winfosoft.def
@@ -1,49 +1,49 @@
-; 
-; Exports of file infosoft.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY infosoft.dll
-EXPORTS
-_IIapp@8
-_IIapp_mem@8
-_IIbuf@8
-_IIbuf_mem@12
-_IIdb@8
-_IIdb_mem@12
-DllCanUnloadNow
-DllGetClassObject
-_IIword@8
-DllRegisterServer
-DllUnregisterServer
-_IIGetAppElem@4
-_IIdiagoff@4
-_IIGetFM@0
-_IIdiagon@4
-_NTFMClose@4
-_NTFMCompare@8
-_NTFMCopy@4
-_NTFMCreate@4
-_NTFMDelete@4
-_NTFMDestruct@4
-_NTFMFlushMapping@8
-_NTFMGetDirtyBit@8
-_NTFMGetLength@4
-_NTFMGetMapHandle@8
-_NTFMGetMapping@20
-_NTFMGetName@12
-_NTFMGetPosition@4
-_NTFMGetStatus@4
-_NTFMLockMapping@8
-_NTFMOpen@8
-_NTFMRead@12
-_NTFMReleaseMapHandle@8
-_NTFMSeek@12
-_NTFMSetDirtyBit@12
-_NTFMSetLength@8
-_NTFMSetMapping@20
-_NTFMSetMutexProc@8
-_NTFMSetName@8
-_NTFMUnlockMapping@8
-_NTFMWrite@12
+; 
+; Exports of file infosoft.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY infosoft.dll
+EXPORTS
+_IIapp@8
+_IIapp_mem@8
+_IIbuf@8
+_IIbuf_mem@12
+_IIdb@8
+_IIdb_mem@12
+DllCanUnloadNow
+DllGetClassObject
+_IIword@8
+DllRegisterServer
+DllUnregisterServer
+_IIGetAppElem@4
+_IIdiagoff@4
+_IIGetFM@0
+_IIdiagon@4
+_NTFMClose@4
+_NTFMCompare@8
+_NTFMCopy@4
+_NTFMCreate@4
+_NTFMDelete@4
+_NTFMDestruct@4
+_NTFMFlushMapping@8
+_NTFMGetDirtyBit@8
+_NTFMGetLength@4
+_NTFMGetMapHandle@8
+_NTFMGetMapping@20
+_NTFMGetName@12
+_NTFMGetPosition@4
+_NTFMGetStatus@4
+_NTFMLockMapping@8
+_NTFMOpen@8
+_NTFMRead@12
+_NTFMReleaseMapHandle@8
+_NTFMSeek@12
+_NTFMSetDirtyBit@12
+_NTFMSetLength@8
+_NTFMSetMapping@20
+_NTFMSetMutexProc@8
+_NTFMSetName@8
+_NTFMUnlockMapping@8
+_NTFMWrite@12
diff --git a/mingw-w64-crt/lib64/wininet.def b/mingw-w64-crt/lib64/wininet.def
index 4ddc167..cdecb5a 100644
--- a/mingw-w64-crt/lib64/wininet.def
+++ b/mingw-w64-crt/lib64/wininet.def
@@ -1,233 +1,233 @@
-; 
-; Exports of file WININET.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WININET.dll
-EXPORTS
-CommitUrlCacheEntryA
-CommitUrlCacheEntryW
-CreateMD5SSOHash
-CreateUrlCacheContainerA
-CreateUrlCacheContainerW
-CreateUrlCacheEntryA
-CreateUrlCacheEntryW
-CreateUrlCacheGroup
-DeleteIE3Cache
-DeleteUrlCacheContainerA
-DeleteUrlCacheContainerW
-DeleteUrlCacheEntry
-DeleteUrlCacheEntryA
-DeleteUrlCacheEntryW
-DeleteUrlCacheGroup
-DetectAutoProxyUrl
-DllInstall
-FindCloseUrlCache
-FindFirstUrlCacheContainerA
-FindFirstUrlCacheContainerW
-FindFirstUrlCacheEntryA
-FindFirstUrlCacheEntryExA
-FindFirstUrlCacheEntryExW
-FindFirstUrlCacheEntryW
-FindFirstUrlCacheGroup
-FindNextUrlCacheContainerA
-FindNextUrlCacheContainerW
-FindNextUrlCacheEntryA
-FindNextUrlCacheEntryExA
-FindNextUrlCacheEntryExW
-FindNextUrlCacheEntryW
-FindNextUrlCacheGroup
-ForceNexusLookup
-ForceNexusLookupExW
-FreeUrlCacheSpaceA
-FreeUrlCacheSpaceW
-FtpCommandA
-FtpCommandW
-FtpCreateDirectoryA
-FtpCreateDirectoryW
-FtpDeleteFileA
-FtpDeleteFileW
-FtpFindFirstFileA
-FtpFindFirstFileW
-FtpGetCurrentDirectoryA
-FtpGetCurrentDirectoryW
-FtpGetFileA
-FtpGetFileEx
-FtpGetFileSize
-FtpGetFileW
-FtpOpenFileA
-FtpOpenFileW
-FtpPutFileA
-FtpPutFileEx
-FtpPutFileW
-FtpRemoveDirectoryA
-FtpRemoveDirectoryW
-FtpRenameFileA
-FtpRenameFileW
-FtpSetCurrentDirectoryA
-FtpSetCurrentDirectoryW
-GetUrlCacheConfigInfoA
-GetUrlCacheConfigInfoW
-GetUrlCacheEntryInfoA
-GetUrlCacheEntryInfoExA
-GetUrlCacheEntryInfoExW
-GetUrlCacheEntryInfoW
-GetUrlCacheGroupAttributeA
-GetUrlCacheGroupAttributeW
-GetUrlCacheHeaderData
-GopherCreateLocatorA
-GopherCreateLocatorW
-GopherFindFirstFileA
-GopherFindFirstFileW
-GopherGetAttributeA
-GopherGetAttributeW
-GopherGetLocatorTypeA
-GopherGetLocatorTypeW
-GopherOpenFileA
-GopherOpenFileW
-HttpAddRequestHeadersA
-HttpAddRequestHeadersW
-HttpCheckDavCompliance
-HttpEndRequestA
-HttpEndRequestW
-HttpOpenRequestA
-HttpOpenRequestW
-HttpQueryInfoA
-HttpQueryInfoW
-HttpSendRequestA
-HttpSendRequestExA
-HttpSendRequestExW
-HttpSendRequestW
-IncrementUrlCacheHeaderData
-InternetAlgIdToStringA
-InternetAlgIdToStringW
-InternetAttemptConnect
-InternetAutodial
-InternetAutodialCallback
-InternetAutodialHangup
-InternetCanonicalizeUrlA
-InternetCanonicalizeUrlW
-InternetCheckConnectionA
-InternetCheckConnectionW
-InternetClearAllPerSiteCookieDecisions
-InternetCloseHandle
-InternetCombineUrlA
-InternetCombineUrlW
-InternetConfirmZoneCrossing
-InternetConfirmZoneCrossingA
-InternetConfirmZoneCrossingW
-InternetConnectA
-InternetConnectW
-InternetCrackUrlA
-InternetCrackUrlW
-InternetCreateUrlA
-InternetCreateUrlW
-InternetDial
-InternetDialA
-InternetDialW
-InternetEnumPerSiteCookieDecisionA
-InternetEnumPerSiteCookieDecisionW
-InternetErrorDlg
-InternetFindNextFileA
-InternetFindNextFileW
-InternetFortezzaCommand
-InternetGetCertByURL
-InternetGetCertByURLA
-InternetGetConnectedState
-InternetGetConnectedStateEx
-InternetGetConnectedStateExA
-InternetGetConnectedStateExW
-InternetGetCookieA
-InternetGetCookieExA
-InternetGetCookieExW
-InternetGetCookieW
-InternetGetLastResponseInfoA
-InternetGetLastResponseInfoW
-InternetGetPerSiteCookieDecisionA
-InternetGetPerSiteCookieDecisionW
-InternetGoOnline
-InternetGoOnlineA
-InternetGoOnlineW
-InternetHangUp
-InternetInitializeAutoProxyDll
-InternetLockRequestFile
-InternetOpenA
-InternetOpenUrlA
-InternetOpenUrlW
-InternetOpenW
-InternetQueryDataAvailable
-InternetQueryFortezzaStatus
-InternetQueryOptionA
-InternetQueryOptionW
-InternetReadFile
-InternetReadFileExA
-InternetReadFileExW
-InternetSecurityProtocolToStringA
-InternetSecurityProtocolToStringW
-InternetSetCookieA
-InternetSetCookieExA
-InternetSetCookieExW
-InternetSetCookieW
-InternetSetDialState
-InternetSetDialStateA
-InternetSetDialStateW
-InternetSetFilePointer
-InternetSetOptionA
-InternetSetOptionExA
-InternetSetOptionExW
-InternetSetOptionW
-InternetSetPerSiteCookieDecisionA
-InternetSetPerSiteCookieDecisionW
-InternetSetStatusCallback
-InternetSetStatusCallbackA
-InternetSetStatusCallbackW
-InternetShowSecurityInfoByURL
-InternetShowSecurityInfoByURLA
-InternetShowSecurityInfoByURLW
-InternetTimeFromSystemTime
-InternetTimeFromSystemTimeA
-InternetTimeFromSystemTimeW
-InternetTimeToSystemTime
-InternetTimeToSystemTimeA
-InternetTimeToSystemTimeW
-InternetUnlockRequestFile
-InternetWriteFile
-InternetWriteFileExA
-InternetWriteFileExW
-IsHostInProxyBypassList
-IsUrlCacheEntryExpiredA
-IsUrlCacheEntryExpiredW
-LoadUrlCacheContent
-ParseX509EncodedCertificateForListBoxEntry
-PrivacyGetZonePreferenceW
-PrivacySetZonePreferenceW
-ReadUrlCacheEntryStream
-RegisterUrlCacheNotification
-ResumeSuspendedDownload
-RetrieveUrlCacheEntryFileA
-RetrieveUrlCacheEntryFileW
-RetrieveUrlCacheEntryStreamA
-RetrieveUrlCacheEntryStreamW
-RunOnceUrlCache
-SetUrlCacheConfigInfoA
-SetUrlCacheConfigInfoW
-SetUrlCacheEntryGroup
-SetUrlCacheEntryGroupA
-SetUrlCacheEntryGroupW
-SetUrlCacheEntryInfoA
-SetUrlCacheEntryInfoW
-SetUrlCacheGroupAttributeA
-SetUrlCacheGroupAttributeW
-SetUrlCacheHeaderData
-ShowCertificate
-ShowClientAuthCerts
-ShowSecurityInfo
-ShowX509EncodedCertificate
-UnlockUrlCacheEntryFile
-UnlockUrlCacheEntryFileA
-UnlockUrlCacheEntryFileW
-UnlockUrlCacheEntryStream
-UpdateUrlCacheContentPath
-UrlZonesDetach
-_GetFileExtensionFromUrl
+; 
+; Exports of file WININET.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WININET.dll
+EXPORTS
+CommitUrlCacheEntryA
+CommitUrlCacheEntryW
+CreateMD5SSOHash
+CreateUrlCacheContainerA
+CreateUrlCacheContainerW
+CreateUrlCacheEntryA
+CreateUrlCacheEntryW
+CreateUrlCacheGroup
+DeleteIE3Cache
+DeleteUrlCacheContainerA
+DeleteUrlCacheContainerW
+DeleteUrlCacheEntry
+DeleteUrlCacheEntryA
+DeleteUrlCacheEntryW
+DeleteUrlCacheGroup
+DetectAutoProxyUrl
+DllInstall
+FindCloseUrlCache
+FindFirstUrlCacheContainerA
+FindFirstUrlCacheContainerW
+FindFirstUrlCacheEntryA
+FindFirstUrlCacheEntryExA
+FindFirstUrlCacheEntryExW
+FindFirstUrlCacheEntryW
+FindFirstUrlCacheGroup
+FindNextUrlCacheContainerA
+FindNextUrlCacheContainerW
+FindNextUrlCacheEntryA
+FindNextUrlCacheEntryExA
+FindNextUrlCacheEntryExW
+FindNextUrlCacheEntryW
+FindNextUrlCacheGroup
+ForceNexusLookup
+ForceNexusLookupExW
+FreeUrlCacheSpaceA
+FreeUrlCacheSpaceW
+FtpCommandA
+FtpCommandW
+FtpCreateDirectoryA
+FtpCreateDirectoryW
+FtpDeleteFileA
+FtpDeleteFileW
+FtpFindFirstFileA
+FtpFindFirstFileW
+FtpGetCurrentDirectoryA
+FtpGetCurrentDirectoryW
+FtpGetFileA
+FtpGetFileEx
+FtpGetFileSize
+FtpGetFileW
+FtpOpenFileA
+FtpOpenFileW
+FtpPutFileA
+FtpPutFileEx
+FtpPutFileW
+FtpRemoveDirectoryA
+FtpRemoveDirectoryW
+FtpRenameFileA
+FtpRenameFileW
+FtpSetCurrentDirectoryA
+FtpSetCurrentDirectoryW
+GetUrlCacheConfigInfoA
+GetUrlCacheConfigInfoW
+GetUrlCacheEntryInfoA
+GetUrlCacheEntryInfoExA
+GetUrlCacheEntryInfoExW
+GetUrlCacheEntryInfoW
+GetUrlCacheGroupAttributeA
+GetUrlCacheGroupAttributeW
+GetUrlCacheHeaderData
+GopherCreateLocatorA
+GopherCreateLocatorW
+GopherFindFirstFileA
+GopherFindFirstFileW
+GopherGetAttributeA
+GopherGetAttributeW
+GopherGetLocatorTypeA
+GopherGetLocatorTypeW
+GopherOpenFileA
+GopherOpenFileW
+HttpAddRequestHeadersA
+HttpAddRequestHeadersW
+HttpCheckDavCompliance
+HttpEndRequestA
+HttpEndRequestW
+HttpOpenRequestA
+HttpOpenRequestW
+HttpQueryInfoA
+HttpQueryInfoW
+HttpSendRequestA
+HttpSendRequestExA
+HttpSendRequestExW
+HttpSendRequestW
+IncrementUrlCacheHeaderData
+InternetAlgIdToStringA
+InternetAlgIdToStringW
+InternetAttemptConnect
+InternetAutodial
+InternetAutodialCallback
+InternetAutodialHangup
+InternetCanonicalizeUrlA
+InternetCanonicalizeUrlW
+InternetCheckConnectionA
+InternetCheckConnectionW
+InternetClearAllPerSiteCookieDecisions
+InternetCloseHandle
+InternetCombineUrlA
+InternetCombineUrlW
+InternetConfirmZoneCrossing
+InternetConfirmZoneCrossingA
+InternetConfirmZoneCrossingW
+InternetConnectA
+InternetConnectW
+InternetCrackUrlA
+InternetCrackUrlW
+InternetCreateUrlA
+InternetCreateUrlW
+InternetDial
+InternetDialA
+InternetDialW
+InternetEnumPerSiteCookieDecisionA
+InternetEnumPerSiteCookieDecisionW
+InternetErrorDlg
+InternetFindNextFileA
+InternetFindNextFileW
+InternetFortezzaCommand
+InternetGetCertByURL
+InternetGetCertByURLA
+InternetGetConnectedState
+InternetGetConnectedStateEx
+InternetGetConnectedStateExA
+InternetGetConnectedStateExW
+InternetGetCookieA
+InternetGetCookieExA
+InternetGetCookieExW
+InternetGetCookieW
+InternetGetLastResponseInfoA
+InternetGetLastResponseInfoW
+InternetGetPerSiteCookieDecisionA
+InternetGetPerSiteCookieDecisionW
+InternetGoOnline
+InternetGoOnlineA
+InternetGoOnlineW
+InternetHangUp
+InternetInitializeAutoProxyDll
+InternetLockRequestFile
+InternetOpenA
+InternetOpenUrlA
+InternetOpenUrlW
+InternetOpenW
+InternetQueryDataAvailable
+InternetQueryFortezzaStatus
+InternetQueryOptionA
+InternetQueryOptionW
+InternetReadFile
+InternetReadFileExA
+InternetReadFileExW
+InternetSecurityProtocolToStringA
+InternetSecurityProtocolToStringW
+InternetSetCookieA
+InternetSetCookieExA
+InternetSetCookieExW
+InternetSetCookieW
+InternetSetDialState
+InternetSetDialStateA
+InternetSetDialStateW
+InternetSetFilePointer
+InternetSetOptionA
+InternetSetOptionExA
+InternetSetOptionExW
+InternetSetOptionW
+InternetSetPerSiteCookieDecisionA
+InternetSetPerSiteCookieDecisionW
+InternetSetStatusCallback
+InternetSetStatusCallbackA
+InternetSetStatusCallbackW
+InternetShowSecurityInfoByURL
+InternetShowSecurityInfoByURLA
+InternetShowSecurityInfoByURLW
+InternetTimeFromSystemTime
+InternetTimeFromSystemTimeA
+InternetTimeFromSystemTimeW
+InternetTimeToSystemTime
+InternetTimeToSystemTimeA
+InternetTimeToSystemTimeW
+InternetUnlockRequestFile
+InternetWriteFile
+InternetWriteFileExA
+InternetWriteFileExW
+IsHostInProxyBypassList
+IsUrlCacheEntryExpiredA
+IsUrlCacheEntryExpiredW
+LoadUrlCacheContent
+ParseX509EncodedCertificateForListBoxEntry
+PrivacyGetZonePreferenceW
+PrivacySetZonePreferenceW
+ReadUrlCacheEntryStream
+RegisterUrlCacheNotification
+ResumeSuspendedDownload
+RetrieveUrlCacheEntryFileA
+RetrieveUrlCacheEntryFileW
+RetrieveUrlCacheEntryStreamA
+RetrieveUrlCacheEntryStreamW
+RunOnceUrlCache
+SetUrlCacheConfigInfoA
+SetUrlCacheConfigInfoW
+SetUrlCacheEntryGroup
+SetUrlCacheEntryGroupA
+SetUrlCacheEntryGroupW
+SetUrlCacheEntryInfoA
+SetUrlCacheEntryInfoW
+SetUrlCacheGroupAttributeA
+SetUrlCacheGroupAttributeW
+SetUrlCacheHeaderData
+ShowCertificate
+ShowClientAuthCerts
+ShowSecurityInfo
+ShowX509EncodedCertificate
+UnlockUrlCacheEntryFile
+UnlockUrlCacheEntryFileA
+UnlockUrlCacheEntryFileW
+UnlockUrlCacheEntryStream
+UpdateUrlCacheContentPath
+UrlZonesDetach
+_GetFileExtensionFromUrl
diff --git a/mingw-w64-crt/lib64/winipsec.def b/mingw-w64-crt/lib64/winipsec.def
index c9964ed..c8ef6f3 100644
--- a/mingw-w64-crt/lib64/winipsec.def
+++ b/mingw-w64-crt/lib64/winipsec.def
@@ -1,71 +1,71 @@
-; 
-; Exports of file WINIPSEC.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WINIPSEC.DLL
-EXPORTS
-SPDApiBufferAllocate
-SPDApiBufferFree
-AddTransportFilter
-DeleteTransportFilter
-EnumTransportFilters
-SetTransportFilter
-GetTransportFilter
-AddQMPolicy
-DeleteQMPolicy
-EnumQMPolicies
-SetQMPolicy
-GetQMPolicy
-AddMMPolicy
-DeleteMMPolicy
-EnumMMPolicies
-SetMMPolicy
-GetMMPolicy
-AddMMFilter
-DeleteMMFilter
-EnumMMFilters
-SetMMFilter
-GetMMFilter
-MatchMMFilter
-MatchTransportFilter
-GetQMPolicyByID
-GetMMPolicyByID
-AddMMAuthMethods
-DeleteMMAuthMethods
-EnumMMAuthMethods
-SetMMAuthMethods
-GetMMAuthMethods
-InitiateIKENegotiation
-QueryIKENegotiationStatus
-CloseIKENegotiationHandle
-EnumMMSAs
-QueryIKEStatistics
-DeleteMMSAs
-RegisterIKENotifyClient
-QueryIKENotifyData
-CloseIKENotifyHandle
-QueryIPSecStatistics
-EnumQMSAs
-AddTunnelFilter
-DeleteTunnelFilter
-EnumTunnelFilters
-SetTunnelFilter
-GetTunnelFilter
-MatchTunnelFilter
-OpenMMFilterHandle
-CloseMMFilterHandle
-OpenTransportFilterHandle
-CloseTransportFilterHandle
-OpenTunnelFilterHandle
-CloseTunnelFilterHandle
-EnumIPSecInterfaces
-AddSAs
-DeleteQMSAs
-GetConfigurationVariables
-SetConfigurationVariables
-QuerySpdPolicyState
-OpenIPSecPerformanceData
-CollectIPSecPerformanceData
-CloseIPSecPerformanceData
+; 
+; Exports of file WINIPSEC.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WINIPSEC.DLL
+EXPORTS
+SPDApiBufferAllocate
+SPDApiBufferFree
+AddTransportFilter
+DeleteTransportFilter
+EnumTransportFilters
+SetTransportFilter
+GetTransportFilter
+AddQMPolicy
+DeleteQMPolicy
+EnumQMPolicies
+SetQMPolicy
+GetQMPolicy
+AddMMPolicy
+DeleteMMPolicy
+EnumMMPolicies
+SetMMPolicy
+GetMMPolicy
+AddMMFilter
+DeleteMMFilter
+EnumMMFilters
+SetMMFilter
+GetMMFilter
+MatchMMFilter
+MatchTransportFilter
+GetQMPolicyByID
+GetMMPolicyByID
+AddMMAuthMethods
+DeleteMMAuthMethods
+EnumMMAuthMethods
+SetMMAuthMethods
+GetMMAuthMethods
+InitiateIKENegotiation
+QueryIKENegotiationStatus
+CloseIKENegotiationHandle
+EnumMMSAs
+QueryIKEStatistics
+DeleteMMSAs
+RegisterIKENotifyClient
+QueryIKENotifyData
+CloseIKENotifyHandle
+QueryIPSecStatistics
+EnumQMSAs
+AddTunnelFilter
+DeleteTunnelFilter
+EnumTunnelFilters
+SetTunnelFilter
+GetTunnelFilter
+MatchTunnelFilter
+OpenMMFilterHandle
+CloseMMFilterHandle
+OpenTransportFilterHandle
+CloseTransportFilterHandle
+OpenTunnelFilterHandle
+CloseTunnelFilterHandle
+EnumIPSecInterfaces
+AddSAs
+DeleteQMSAs
+GetConfigurationVariables
+SetConfigurationVariables
+QuerySpdPolicyState
+OpenIPSecPerformanceData
+CollectIPSecPerformanceData
+CloseIPSecPerformanceData
diff --git a/mingw-w64-crt/lib64/winitpki.def b/mingw-w64-crt/lib64/winitpki.def
index 53e395b..58e2ab1 100644
--- a/mingw-w64-crt/lib64/winitpki.def
+++ b/mingw-w64-crt/lib64/winitpki.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file INITPKI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INITPKI.dll
-EXPORTS
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-InitializePKI
+; 
+; Exports of file INITPKI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INITPKI.dll
+EXPORTS
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+InitializePKI
diff --git a/mingw-w64-crt/lib64/winmm.def b/mingw-w64-crt/lib64/winmm.def
index 9073f98..5bbd7ad 100644
--- a/mingw-w64-crt/lib64/winmm.def
+++ b/mingw-w64-crt/lib64/winmm.def
@@ -1,205 +1,205 @@
-; 
-; Exports of file WINMM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WINMM.dll
-EXPORTS
-CloseDriver
-DefDriverProc
-DriverCallback
-DrvGetModuleHandle
-GetDriverModuleHandle
-MigrateAllDrivers
-MigrateSoundEvents
-OpenDriver
-PlaySound
-PlaySoundA
-PlaySoundW
-SendDriverMessage
-WOWAppExit
-WinmmLogoff
-WinmmLogon
-auxGetDevCapsA
-auxGetDevCapsW
-auxGetNumDevs
-auxGetVolume
-auxOutMessage
-auxSetVolume
-gfxAddGfx
-gfxBatchChange
-gfxCreateGfxFactoriesList
-gfxCreateZoneFactoriesList
-gfxDestroyDeviceInterfaceList
-gfxEnumerateGfxs
-gfxLogoff
-gfxLogon
-gfxModifyGfx
-gfxOpenGfx
-gfxRemoveGfx
-joyConfigChanged
-joyGetDevCapsA
-joyGetDevCapsW
-joyGetNumDevs
-joyGetPos
-joyGetPosEx
-joyGetThreshold
-joyReleaseCapture
-joySetCapture
-joySetThreshold
-mciDriverNotify
-mciDriverYield
-mciExecute
-mciFreeCommandResource
-mciGetCreatorTask
-mciGetDeviceIDA
-mciGetDeviceIDFromElementIDA
-mciGetDeviceIDFromElementIDW
-mciGetDeviceIDW
-mciGetDriverData
-mciGetErrorStringA
-mciGetErrorStringW
-mciGetYieldProc
-mciLoadCommandResource
-mciSendCommandA
-mciSendCommandW
-mciSendStringA
-mciSendStringW
-mciSetDriverData
-mciSetYieldProc
-midiConnect
-midiDisconnect
-midiInAddBuffer
-midiInClose
-midiInGetDevCapsA
-midiInGetDevCapsW
-midiInGetErrorTextA
-midiInGetErrorTextW
-midiInGetID
-midiInGetNumDevs
-midiInMessage
-midiInOpen
-midiInPrepareHeader
-midiInReset
-midiInStart
-midiInStop
-midiInUnprepareHeader
-midiOutCacheDrumPatches
-midiOutCachePatches
-midiOutClose
-midiOutGetDevCapsA
-midiOutGetDevCapsW
-midiOutGetErrorTextA
-midiOutGetErrorTextW
-midiOutGetID
-midiOutGetNumDevs
-midiOutGetVolume
-midiOutLongMsg
-midiOutMessage
-midiOutOpen
-midiOutPrepareHeader
-midiOutReset
-midiOutSetVolume
-midiOutShortMsg
-midiOutUnprepareHeader
-midiStreamClose
-midiStreamOpen
-midiStreamOut
-midiStreamPause
-midiStreamPosition
-midiStreamProperty
-midiStreamRestart
-midiStreamStop
-mixerClose
-mixerGetControlDetailsA
-mixerGetControlDetailsW
-mixerGetDevCapsA
-mixerGetDevCapsW
-mixerGetID
-mixerGetLineControlsA
-mixerGetLineControlsW
-mixerGetLineInfoA
-mixerGetLineInfoW
-mixerGetNumDevs
-mixerMessage
-mixerOpen
-mixerSetControlDetails
-mmDrvInstall
-mmGetCurrentTask
-mmTaskBlock
-mmTaskCreate
-mmTaskSignal
-mmTaskYield
-mmioAdvance
-mmioAscend
-mmioClose
-mmioCreateChunk
-mmioDescend
-mmioFlush
-mmioGetInfo
-mmioInstallIOProcA
-mmioInstallIOProcW
-mmioOpenA
-mmioOpenW
-mmioRead
-mmioRenameA
-mmioRenameW
-mmioSeek
-mmioSendMessage
-mmioSetBuffer
-mmioSetInfo
-mmioStringToFOURCCA
-mmioStringToFOURCCW
-mmioWrite
-mmsystemGetVersion
-sndPlaySoundA
-sndPlaySoundW
-timeBeginPeriod
-timeEndPeriod
-timeGetDevCaps
-timeGetSystemTime
-timeGetTime
-timeKillEvent
-timeSetEvent
-waveInAddBuffer
-waveInClose
-waveInGetDevCapsA
-waveInGetDevCapsW
-waveInGetErrorTextA
-waveInGetErrorTextW
-waveInGetID
-waveInGetNumDevs
-waveInGetPosition
-waveInMessage
-waveInOpen
-waveInPrepareHeader
-waveInReset
-waveInStart
-waveInStop
-waveInUnprepareHeader
-waveOutBreakLoop
-waveOutClose
-waveOutGetDevCapsA
-waveOutGetDevCapsW
-waveOutGetErrorTextA
-waveOutGetErrorTextW
-waveOutGetID
-waveOutGetNumDevs
-waveOutGetPitch
-waveOutGetPlaybackRate
-waveOutGetPosition
-waveOutGetVolume
-waveOutMessage
-waveOutOpen
-waveOutPause
-waveOutPrepareHeader
-waveOutReset
-waveOutRestart
-waveOutSetPitch
-waveOutSetPlaybackRate
-waveOutSetVolume
-waveOutUnprepareHeader
-waveOutWrite
-winmmDbgOut
-winmmSetDebugLevel
+; 
+; Exports of file WINMM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WINMM.dll
+EXPORTS
+CloseDriver
+DefDriverProc
+DriverCallback
+DrvGetModuleHandle
+GetDriverModuleHandle
+MigrateAllDrivers
+MigrateSoundEvents
+OpenDriver
+PlaySound
+PlaySoundA
+PlaySoundW
+SendDriverMessage
+WOWAppExit
+WinmmLogoff
+WinmmLogon
+auxGetDevCapsA
+auxGetDevCapsW
+auxGetNumDevs
+auxGetVolume
+auxOutMessage
+auxSetVolume
+gfxAddGfx
+gfxBatchChange
+gfxCreateGfxFactoriesList
+gfxCreateZoneFactoriesList
+gfxDestroyDeviceInterfaceList
+gfxEnumerateGfxs
+gfxLogoff
+gfxLogon
+gfxModifyGfx
+gfxOpenGfx
+gfxRemoveGfx
+joyConfigChanged
+joyGetDevCapsA
+joyGetDevCapsW
+joyGetNumDevs
+joyGetPos
+joyGetPosEx
+joyGetThreshold
+joyReleaseCapture
+joySetCapture
+joySetThreshold
+mciDriverNotify
+mciDriverYield
+mciExecute
+mciFreeCommandResource
+mciGetCreatorTask
+mciGetDeviceIDA
+mciGetDeviceIDFromElementIDA
+mciGetDeviceIDFromElementIDW
+mciGetDeviceIDW
+mciGetDriverData
+mciGetErrorStringA
+mciGetErrorStringW
+mciGetYieldProc
+mciLoadCommandResource
+mciSendCommandA
+mciSendCommandW
+mciSendStringA
+mciSendStringW
+mciSetDriverData
+mciSetYieldProc
+midiConnect
+midiDisconnect
+midiInAddBuffer
+midiInClose
+midiInGetDevCapsA
+midiInGetDevCapsW
+midiInGetErrorTextA
+midiInGetErrorTextW
+midiInGetID
+midiInGetNumDevs
+midiInMessage
+midiInOpen
+midiInPrepareHeader
+midiInReset
+midiInStart
+midiInStop
+midiInUnprepareHeader
+midiOutCacheDrumPatches
+midiOutCachePatches
+midiOutClose
+midiOutGetDevCapsA
+midiOutGetDevCapsW
+midiOutGetErrorTextA
+midiOutGetErrorTextW
+midiOutGetID
+midiOutGetNumDevs
+midiOutGetVolume
+midiOutLongMsg
+midiOutMessage
+midiOutOpen
+midiOutPrepareHeader
+midiOutReset
+midiOutSetVolume
+midiOutShortMsg
+midiOutUnprepareHeader
+midiStreamClose
+midiStreamOpen
+midiStreamOut
+midiStreamPause
+midiStreamPosition
+midiStreamProperty
+midiStreamRestart
+midiStreamStop
+mixerClose
+mixerGetControlDetailsA
+mixerGetControlDetailsW
+mixerGetDevCapsA
+mixerGetDevCapsW
+mixerGetID
+mixerGetLineControlsA
+mixerGetLineControlsW
+mixerGetLineInfoA
+mixerGetLineInfoW
+mixerGetNumDevs
+mixerMessage
+mixerOpen
+mixerSetControlDetails
+mmDrvInstall
+mmGetCurrentTask
+mmTaskBlock
+mmTaskCreate
+mmTaskSignal
+mmTaskYield
+mmioAdvance
+mmioAscend
+mmioClose
+mmioCreateChunk
+mmioDescend
+mmioFlush
+mmioGetInfo
+mmioInstallIOProcA
+mmioInstallIOProcW
+mmioOpenA
+mmioOpenW
+mmioRead
+mmioRenameA
+mmioRenameW
+mmioSeek
+mmioSendMessage
+mmioSetBuffer
+mmioSetInfo
+mmioStringToFOURCCA
+mmioStringToFOURCCW
+mmioWrite
+mmsystemGetVersion
+sndPlaySoundA
+sndPlaySoundW
+timeBeginPeriod
+timeEndPeriod
+timeGetDevCaps
+timeGetSystemTime
+timeGetTime
+timeKillEvent
+timeSetEvent
+waveInAddBuffer
+waveInClose
+waveInGetDevCapsA
+waveInGetDevCapsW
+waveInGetErrorTextA
+waveInGetErrorTextW
+waveInGetID
+waveInGetNumDevs
+waveInGetPosition
+waveInMessage
+waveInOpen
+waveInPrepareHeader
+waveInReset
+waveInStart
+waveInStop
+waveInUnprepareHeader
+waveOutBreakLoop
+waveOutClose
+waveOutGetDevCapsA
+waveOutGetDevCapsW
+waveOutGetErrorTextA
+waveOutGetErrorTextW
+waveOutGetID
+waveOutGetNumDevs
+waveOutGetPitch
+waveOutGetPlaybackRate
+waveOutGetPosition
+waveOutGetVolume
+waveOutMessage
+waveOutOpen
+waveOutPause
+waveOutPrepareHeader
+waveOutReset
+waveOutRestart
+waveOutSetPitch
+waveOutSetPlaybackRate
+waveOutSetVolume
+waveOutUnprepareHeader
+waveOutWrite
+winmmDbgOut
+winmmSetDebugLevel
diff --git a/mingw-w64-crt/lib64/winntbbu.def b/mingw-w64-crt/lib64/winntbbu.def
index 9af780b..bf12ded 100644
--- a/mingw-w64-crt/lib64/winntbbu.def
+++ b/mingw-w64-crt/lib64/winntbbu.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file WIN95BB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WIN95BB.dll
-EXPORTS
-BB_Refresh
-GetBBHwnd
-GetBBMainHwnd
-GetPanelCount
-InitBillBoard
-ProgressGaugeMsg
-SetInfoText
-SetProgress
-SetProgressText
-SetStep
-SetTimeEstimate
-ShowProgressGaugeWindow
-StartBillBoard
-StopBillBoard
-TermBillBoard
+; 
+; Exports of file WIN95BB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WIN95BB.dll
+EXPORTS
+BB_Refresh
+GetBBHwnd
+GetBBMainHwnd
+GetPanelCount
+InitBillBoard
+ProgressGaugeMsg
+SetInfoText
+SetProgress
+SetProgressText
+SetStep
+SetTimeEstimate
+ShowProgressGaugeWindow
+StartBillBoard
+StopBillBoard
+TermBillBoard
diff --git a/mingw-w64-crt/lib64/winput.def b/mingw-w64-crt/lib64/winput.def
index 65d0b4c..d2e9ec6 100644
--- a/mingw-w64-crt/lib64/winput.def
+++ b/mingw-w64-crt/lib64/winput.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file INPUT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY INPUT.dll
-EXPORTS
-CPlApplet
+; 
+; Exports of file INPUT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY INPUT.dll
+EXPORTS
+CPlApplet
diff --git a/mingw-w64-crt/lib64/winrnr.def b/mingw-w64-crt/lib64/winrnr.def
index 8e1103f..4dfbc31 100644
--- a/mingw-w64-crt/lib64/winrnr.def
+++ b/mingw-w64-crt/lib64/winrnr.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file WINRNR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WINRNR.dll
-EXPORTS
-InstallNTDSProvider
-NSPStartup
-RemoveNTDSProvider
+; 
+; Exports of file WINRNR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WINRNR.dll
+EXPORTS
+InstallNTDSProvider
+NSPStartup
+RemoveNTDSProvider
diff --git a/mingw-w64-crt/lib64/winscard.def b/mingw-w64-crt/lib64/winscard.def
index c195c7c..f074f22 100644
--- a/mingw-w64-crt/lib64/winscard.def
+++ b/mingw-w64-crt/lib64/winscard.def
@@ -1,71 +1,71 @@
-; 
-; Exports of file WinSCard.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WinSCard.dll
-EXPORTS
-ClassInstall32
-SCardAccessNewReaderEvent
-SCardReleaseAllEvents
-SCardReleaseNewReaderEvent
-SCardAccessStartedEvent
-SCardAddReaderToGroupA
-SCardAddReaderToGroupW
-SCardBeginTransaction
-SCardCancel
-SCardConnectA
-SCardConnectW
-SCardControl
-SCardDisconnect
-SCardEndTransaction
-SCardEstablishContext
-SCardForgetCardTypeA
-SCardForgetCardTypeW
-SCardForgetReaderA
-SCardForgetReaderGroupA
-SCardForgetReaderGroupW
-SCardForgetReaderW
-SCardFreeMemory
-SCardGetAttrib
-SCardGetCardTypeProviderNameA
-SCardGetCardTypeProviderNameW
-SCardGetProviderIdA
-SCardGetProviderIdW
-SCardGetStatusChangeA
-SCardGetStatusChangeW
-SCardIntroduceCardTypeA
-SCardIntroduceCardTypeW
-SCardIntroduceReaderA
-SCardIntroduceReaderGroupA
-SCardIntroduceReaderGroupW
-SCardIntroduceReaderW
-SCardIsValidContext
-SCardListCardsA
-SCardListCardsW
-SCardListInterfacesA
-SCardListInterfacesW
-SCardListReaderGroupsA
-SCardListReaderGroupsW
-SCardListReadersA
-SCardListReadersW
-SCardLocateCardsA
-SCardLocateCardsByATRA
-SCardLocateCardsByATRW
-SCardLocateCardsW
-SCardReconnect
-SCardReleaseContext
-SCardReleaseStartedEvent
-SCardRemoveReaderFromGroupA
-SCardRemoveReaderFromGroupW
-SCardSetAttrib
-SCardSetCardTypeProviderNameA
-SCardSetCardTypeProviderNameW
-SCardState
-SCardStatusA
-SCardStatusW
-SCardTransmit
-g_rgSCardRawPci
-g_rgSCardT0Pci
-g_rgSCardT1Pci
+; 
+; Exports of file WinSCard.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WinSCard.dll
+EXPORTS
+ClassInstall32
+SCardAccessNewReaderEvent
+SCardReleaseAllEvents
+SCardReleaseNewReaderEvent
+SCardAccessStartedEvent
+SCardAddReaderToGroupA
+SCardAddReaderToGroupW
+SCardBeginTransaction
+SCardCancel
+SCardConnectA
+SCardConnectW
+SCardControl
+SCardDisconnect
+SCardEndTransaction
+SCardEstablishContext
+SCardForgetCardTypeA
+SCardForgetCardTypeW
+SCardForgetReaderA
+SCardForgetReaderGroupA
+SCardForgetReaderGroupW
+SCardForgetReaderW
+SCardFreeMemory
+SCardGetAttrib
+SCardGetCardTypeProviderNameA
+SCardGetCardTypeProviderNameW
+SCardGetProviderIdA
+SCardGetProviderIdW
+SCardGetStatusChangeA
+SCardGetStatusChangeW
+SCardIntroduceCardTypeA
+SCardIntroduceCardTypeW
+SCardIntroduceReaderA
+SCardIntroduceReaderGroupA
+SCardIntroduceReaderGroupW
+SCardIntroduceReaderW
+SCardIsValidContext
+SCardListCardsA
+SCardListCardsW
+SCardListInterfacesA
+SCardListInterfacesW
+SCardListReaderGroupsA
+SCardListReaderGroupsW
+SCardListReadersA
+SCardListReadersW
+SCardLocateCardsA
+SCardLocateCardsByATRA
+SCardLocateCardsByATRW
+SCardLocateCardsW
+SCardReconnect
+SCardReleaseContext
+SCardReleaseStartedEvent
+SCardRemoveReaderFromGroupA
+SCardRemoveReaderFromGroupW
+SCardSetAttrib
+SCardSetCardTypeProviderNameA
+SCardSetCardTypeProviderNameW
+SCardState
+SCardStatusA
+SCardStatusW
+SCardTransmit
+g_rgSCardRawPci
+g_rgSCardT0Pci
+g_rgSCardT1Pci
diff --git a/mingw-w64-crt/lib64/winseng.def b/mingw-w64-crt/lib64/winseng.def
index a9a7a8b..89b2fe0 100644
--- a/mingw-w64-crt/lib64/winseng.def
+++ b/mingw-w64-crt/lib64/winseng.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file inseng.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY inseng.dll
-EXPORTS
-CheckForVersionConflict
-CheckTrust
-CheckTrustEx
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-DownloadFile
-GetICifFileFromFile
-GetICifRWFileFromFile
-PurgeDownloadDirectory
+; 
+; Exports of file inseng.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY inseng.dll
+EXPORTS
+CheckForVersionConflict
+CheckTrust
+CheckTrustEx
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+DownloadFile
+GetICifFileFromFile
+GetICifRWFileFromFile
+PurgeDownloadDirectory
diff --git a/mingw-w64-crt/lib64/winspool.def b/mingw-w64-crt/lib64/winspool.def
index 4ad980b..a4b9695 100644
--- a/mingw-w64-crt/lib64/winspool.def
+++ b/mingw-w64-crt/lib64/winspool.def
@@ -1,177 +1,177 @@
-; 
-; Exports of file WINSPOOL.DRV
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WINSPOOL.DRV
-EXPORTS
-PerfClose
-PerfCollect
-PerfOpen
-ADVANCEDSETUPDIALOG
-AbortPrinter
-AddFormA
-AddFormW
-AddJobA
-AddJobW
-AddMonitorA
-AddMonitorW
-AddPortA
-AddPortExA
-AddPortExW
-AddPortW
-AddPrintProcessorA
-AddPrintProcessorW
-AddPrintProvidorA
-AddPrintProvidorW
-AddPrinterA
-AddPrinterConnectionA
-AddPrinterConnectionW
-AddPrinterDriverA
-AddPrinterDriverExA
-AddPrinterDriverExW
-AddPrinterDriverW
-AddPrinterW
-AdvancedDocumentPropertiesA
-AdvancedDocumentPropertiesW
-AdvancedSetupDialog
-ClosePrinter
-CloseSpoolFileHandle
-CommitSpoolData
-ConfigurePortA
-ConfigurePortW
-ConnectToPrinterDlg
-ConvertAnsiDevModeToUnicodeDevmode
-ConvertUnicodeDevModeToAnsiDevmode
-CreatePrinterIC
-DEVICECAPABILITIES
-DEVICEMODE
-DeleteFormA
-DeleteFormW
-DeleteMonitorA
-DeleteMonitorW
-DeletePortA
-DeletePortW
-DeletePrintProcessorA
-DeletePrintProcessorW
-DeletePrintProvidorA
-DeletePrintProvidorW
-DeletePrinter
-DeletePrinterConnectionA
-DeletePrinterConnectionW
-DeletePrinterDataA
-DeletePrinterDataExA
-DeletePrinterDataExW
-DeletePrinterDataW
-DeletePrinterDriverA
-DeletePrinterDriverExA
-DeletePrinterDriverExW
-DeletePrinterDriverW
-DeletePrinterIC
-DeletePrinterKeyA
-DeletePrinterKeyW
-DevQueryPrint
-DevQueryPrintEx
-DeviceCapabilities
-DeviceCapabilitiesA
-DeviceCapabilitiesW
-DeviceMode
-DevicePropertySheets
-DocumentEvent
-DocumentPropertiesA
-DocumentPropertiesW
-DocumentPropertySheets
-EXTDEVICEMODE
-EndDocPrinter
-EndPagePrinter
-EnumFormsA
-EnumFormsW
-EnumJobsA
-EnumJobsW
-EnumMonitorsA
-EnumMonitorsW
-EnumPortsA
-EnumPortsW
-EnumPrintProcessorDatatypesA
-EnumPrintProcessorDatatypesW
-EnumPrintProcessorsA
-EnumPrintProcessorsW
-EnumPrinterDataA
-EnumPrinterDataExA
-EnumPrinterDataExW
-EnumPrinterDataW
-EnumPrinterDriversA
-EnumPrinterDriversW
-GetDefaultPrinterA
-SetDefaultPrinterA
-GetDefaultPrinterW
-SetDefaultPrinterW
-EnumPrinterKeyA
-EnumPrinterKeyW
-EnumPrintersA
-EnumPrintersW
-ExtDeviceMode
-FindClosePrinterChangeNotification
-FindFirstPrinterChangeNotification
-FindNextPrinterChangeNotification
-FlushPrinter
-FreePrinterNotifyInfo
-GetFormA
-GetFormW
-GetJobA
-GetJobW
-GetPrintProcessorDirectoryA
-GetPrintProcessorDirectoryW
-GetPrinterA
-GetPrinterDataA
-GetPrinterDataExA
-GetPrinterDataExW
-GetPrinterDataW
-GetPrinterDriverA
-GetPrinterDriverDirectoryA
-GetPrinterDriverDirectoryW
-GetPrinterDriverW
-GetPrinterW
-GetSpoolFileHandle
-IsValidDevmodeA
-IsValidDevmodeW
-OpenPrinterA
-OpenPrinterW
-PlayGdiScriptOnPrinterIC
-PrinterMessageBoxA
-PrinterMessageBoxW
-PrinterProperties
-QueryColorProfile
-QueryRemoteFonts
-QuerySpoolMode
-ReadPrinter
-ResetPrinterA
-ResetPrinterW
-ScheduleJob
-SeekPrinter
-SetAllocFailCount
-SetFormA
-SetFormW
-SetJobA
-SetJobW
-SetPortA
-SetPortW
-SetPrinterA
-SetPrinterDataA
-SetPrinterDataExA
-SetPrinterDataExW
-SetPrinterDataW
-SetPrinterW
-SplDriverUnloadComplete
-SpoolerDevQueryPrintW
-SpoolerInit
-SpoolerPrinterEvent
-StartDocDlgA
-StartDocDlgW
-StartDocPrinterA
-StartDocPrinterW
-StartPagePrinter
-WaitForPrinterChange
-WritePrinter
-XcvDataW
+; 
+; Exports of file WINSPOOL.DRV
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WINSPOOL.DRV
+EXPORTS
+PerfClose
+PerfCollect
+PerfOpen
+ADVANCEDSETUPDIALOG
+AbortPrinter
+AddFormA
+AddFormW
+AddJobA
+AddJobW
+AddMonitorA
+AddMonitorW
+AddPortA
+AddPortExA
+AddPortExW
+AddPortW
+AddPrintProcessorA
+AddPrintProcessorW
+AddPrintProvidorA
+AddPrintProvidorW
+AddPrinterA
+AddPrinterConnectionA
+AddPrinterConnectionW
+AddPrinterDriverA
+AddPrinterDriverExA
+AddPrinterDriverExW
+AddPrinterDriverW
+AddPrinterW
+AdvancedDocumentPropertiesA
+AdvancedDocumentPropertiesW
+AdvancedSetupDialog
+ClosePrinter
+CloseSpoolFileHandle
+CommitSpoolData
+ConfigurePortA
+ConfigurePortW
+ConnectToPrinterDlg
+ConvertAnsiDevModeToUnicodeDevmode
+ConvertUnicodeDevModeToAnsiDevmode
+CreatePrinterIC
+DEVICECAPABILITIES
+DEVICEMODE
+DeleteFormA
+DeleteFormW
+DeleteMonitorA
+DeleteMonitorW
+DeletePortA
+DeletePortW
+DeletePrintProcessorA
+DeletePrintProcessorW
+DeletePrintProvidorA
+DeletePrintProvidorW
+DeletePrinter
+DeletePrinterConnectionA
+DeletePrinterConnectionW
+DeletePrinterDataA
+DeletePrinterDataExA
+DeletePrinterDataExW
+DeletePrinterDataW
+DeletePrinterDriverA
+DeletePrinterDriverExA
+DeletePrinterDriverExW
+DeletePrinterDriverW
+DeletePrinterIC
+DeletePrinterKeyA
+DeletePrinterKeyW
+DevQueryPrint
+DevQueryPrintEx
+DeviceCapabilities
+DeviceCapabilitiesA
+DeviceCapabilitiesW
+DeviceMode
+DevicePropertySheets
+DocumentEvent
+DocumentPropertiesA
+DocumentPropertiesW
+DocumentPropertySheets
+EXTDEVICEMODE
+EndDocPrinter
+EndPagePrinter
+EnumFormsA
+EnumFormsW
+EnumJobsA
+EnumJobsW
+EnumMonitorsA
+EnumMonitorsW
+EnumPortsA
+EnumPortsW
+EnumPrintProcessorDatatypesA
+EnumPrintProcessorDatatypesW
+EnumPrintProcessorsA
+EnumPrintProcessorsW
+EnumPrinterDataA
+EnumPrinterDataExA
+EnumPrinterDataExW
+EnumPrinterDataW
+EnumPrinterDriversA
+EnumPrinterDriversW
+GetDefaultPrinterA
+SetDefaultPrinterA
+GetDefaultPrinterW
+SetDefaultPrinterW
+EnumPrinterKeyA
+EnumPrinterKeyW
+EnumPrintersA
+EnumPrintersW
+ExtDeviceMode
+FindClosePrinterChangeNotification
+FindFirstPrinterChangeNotification
+FindNextPrinterChangeNotification
+FlushPrinter
+FreePrinterNotifyInfo
+GetFormA
+GetFormW
+GetJobA
+GetJobW
+GetPrintProcessorDirectoryA
+GetPrintProcessorDirectoryW
+GetPrinterA
+GetPrinterDataA
+GetPrinterDataExA
+GetPrinterDataExW
+GetPrinterDataW
+GetPrinterDriverA
+GetPrinterDriverDirectoryA
+GetPrinterDriverDirectoryW
+GetPrinterDriverW
+GetPrinterW
+GetSpoolFileHandle
+IsValidDevmodeA
+IsValidDevmodeW
+OpenPrinterA
+OpenPrinterW
+PlayGdiScriptOnPrinterIC
+PrinterMessageBoxA
+PrinterMessageBoxW
+PrinterProperties
+QueryColorProfile
+QueryRemoteFonts
+QuerySpoolMode
+ReadPrinter
+ResetPrinterA
+ResetPrinterW
+ScheduleJob
+SeekPrinter
+SetAllocFailCount
+SetFormA
+SetFormW
+SetJobA
+SetJobW
+SetPortA
+SetPortW
+SetPrinterA
+SetPrinterDataA
+SetPrinterDataExA
+SetPrinterDataExW
+SetPrinterDataW
+SetPrinterW
+SplDriverUnloadComplete
+SpoolerDevQueryPrintW
+SpoolerInit
+SpoolerPrinterEvent
+StartDocDlgA
+StartDocDlgW
+StartDocPrinterA
+StartDocPrinterW
+StartPagePrinter
+WaitForPrinterChange
+WritePrinter
+XcvDataW
diff --git a/mingw-w64-crt/lib64/winsrv.def b/mingw-w64-crt/lib64/winsrv.def
index f3a3a6d..2b217de 100644
--- a/mingw-w64-crt/lib64/winsrv.def
+++ b/mingw-w64-crt/lib64/winsrv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file winsrv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY winsrv.dll
-EXPORTS
-ConServerDllInitialization
-UserServerDllInitialization
-_UserSoundSentry
-_UserTestTokenForInteractive
+; 
+; Exports of file winsrv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY winsrv.dll
+EXPORTS
+ConServerDllInitialization
+UserServerDllInitialization
+_UserSoundSentry
+_UserTestTokenForInteractive
diff --git a/mingw-w64-crt/lib64/winsta.def b/mingw-w64-crt/lib64/winsta.def
index 2ceb57e..f07e3b5 100644
--- a/mingw-w64-crt/lib64/winsta.def
+++ b/mingw-w64-crt/lib64/winsta.def
@@ -1,111 +1,111 @@
-; 
-; Exports of file WINSTA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WINSTA.dll
-EXPORTS
-LogonIdFromWinStationNameA
-LogonIdFromWinStationNameW
-RemoteAssistancePrepareSystemRestore
-ServerGetInternetConnectorStatus
-ServerLicensingClose
-ServerLicensingDeactivateCurrentPolicy
-ServerLicensingFreePolicyInformation
-ServerLicensingGetAvailablePolicyIds
-ServerLicensingGetPolicy
-ServerLicensingGetPolicyInformationA
-ServerLicensingGetPolicyInformationW
-ServerLicensingLoadPolicy
-ServerLicensingOpenA
-ServerLicensingOpenW
-ServerLicensingSetPolicy
-ServerLicensingUnloadPolicy
-ServerQueryInetConnectorInformationA
-ServerQueryInetConnectorInformationW
-ServerSetInternetConnectorStatus
-WinStationActivateLicense
-WinStationAutoReconnect
-WinStationBroadcastSystemMessage
-WinStationCanLogonProceed
-WinStationCheckAccess
-WinStationCheckLoopBack
-WinStationCloseServer
-WinStationConnectA
-WinStationConnectCallback
-WinStationConnectW
-WinStationDisconnect
-WinStationEnumerateA
-WinStationEnumerateLicenses
-WinStationEnumerateProcesses
-WinStationEnumerateW
-WinStationEnumerate_IndexedA
-WinStationEnumerate_IndexedW
-WinStationFreeGAPMemory
-WinStationFreeMemory
-WinStationGenerateLicense
-WinStationGetAllProcesses
-WinStationGetLanAdapterNameA
-WinStationGetLanAdapterNameW
-WinStationGetMachinePolicy
-WinStationGetProcessSid
-WinStationGetTermSrvCountersValue
-WinStationInstallLicense
-WinStationIsHelpAssistantSession
-WinStationNameFromLogonIdA
-WinStationNameFromLogonIdW
-WinStationNtsdDebug
-WinStationOpenServerA
-WinStationOpenServerW
-WinStationQueryInformationA
-WinStationQueryInformationW
-WinStationQueryLicense
-WinStationQueryLogonCredentialsW
-WinStationQueryUpdateRequired
-WinStationRedirectErrorMessage
-WinStationRegisterConsoleNotification
-WinStationRegisterConsoleNotificationEx
-WinStationRegisterNotificationEvent
-WinStationRemoveLicense
-WinStationRenameA
-WinStationRenameW
-WinStationReset
-WinStationSendMessageA
-WinStationSendMessageW
-WinStationSendWindowMessage
-WinStationServerPing
-WinStationSetInformationA
-WinStationSetInformationW
-WinStationSetPoolCount
-WinStationShadow
-WinStationShadowStop
-WinStationShutdownSystem
-WinStationTerminateProcess
-WinStationUnRegisterConsoleNotification
-WinStationUnRegisterNotificationEvent
-WinStationVirtualOpen
-WinStationWaitSystemEvent
-_NWLogonQueryAdmin
-_NWLogonSetAdmin
-_WinStationAnnoyancePopup
-_WinStationBeepOpen
-_WinStationBreakPoint
-_WinStationCallback
-_WinStationCheckForApplicationName
-_WinStationFUSCanRemoteUserDisconnect
-_WinStationGetApplicationInfo
-_WinStationNotifyDisconnectPipe
-_WinStationNotifyLogoff
-_WinStationNotifyLogon
-_WinStationNotifyNewSession
-_WinStationOpenSessionDirectory
-_WinStationReInitializeSecurity
-_WinStationReadRegistry
-_WinStationSessionInitialized
-_WinStationShadowTarget
-_WinStationShadowTargetSetup
-_WinStationUpdateClientCachedCredentials
-_WinStationUpdateSettings
-_WinStationUpdateUserConfig
-_WinStationWaitForConnect
+; 
+; Exports of file WINSTA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WINSTA.dll
+EXPORTS
+LogonIdFromWinStationNameA
+LogonIdFromWinStationNameW
+RemoteAssistancePrepareSystemRestore
+ServerGetInternetConnectorStatus
+ServerLicensingClose
+ServerLicensingDeactivateCurrentPolicy
+ServerLicensingFreePolicyInformation
+ServerLicensingGetAvailablePolicyIds
+ServerLicensingGetPolicy
+ServerLicensingGetPolicyInformationA
+ServerLicensingGetPolicyInformationW
+ServerLicensingLoadPolicy
+ServerLicensingOpenA
+ServerLicensingOpenW
+ServerLicensingSetPolicy
+ServerLicensingUnloadPolicy
+ServerQueryInetConnectorInformationA
+ServerQueryInetConnectorInformationW
+ServerSetInternetConnectorStatus
+WinStationActivateLicense
+WinStationAutoReconnect
+WinStationBroadcastSystemMessage
+WinStationCanLogonProceed
+WinStationCheckAccess
+WinStationCheckLoopBack
+WinStationCloseServer
+WinStationConnectA
+WinStationConnectCallback
+WinStationConnectW
+WinStationDisconnect
+WinStationEnumerateA
+WinStationEnumerateLicenses
+WinStationEnumerateProcesses
+WinStationEnumerateW
+WinStationEnumerate_IndexedA
+WinStationEnumerate_IndexedW
+WinStationFreeGAPMemory
+WinStationFreeMemory
+WinStationGenerateLicense
+WinStationGetAllProcesses
+WinStationGetLanAdapterNameA
+WinStationGetLanAdapterNameW
+WinStationGetMachinePolicy
+WinStationGetProcessSid
+WinStationGetTermSrvCountersValue
+WinStationInstallLicense
+WinStationIsHelpAssistantSession
+WinStationNameFromLogonIdA
+WinStationNameFromLogonIdW
+WinStationNtsdDebug
+WinStationOpenServerA
+WinStationOpenServerW
+WinStationQueryInformationA
+WinStationQueryInformationW
+WinStationQueryLicense
+WinStationQueryLogonCredentialsW
+WinStationQueryUpdateRequired
+WinStationRedirectErrorMessage
+WinStationRegisterConsoleNotification
+WinStationRegisterConsoleNotificationEx
+WinStationRegisterNotificationEvent
+WinStationRemoveLicense
+WinStationRenameA
+WinStationRenameW
+WinStationReset
+WinStationSendMessageA
+WinStationSendMessageW
+WinStationSendWindowMessage
+WinStationServerPing
+WinStationSetInformationA
+WinStationSetInformationW
+WinStationSetPoolCount
+WinStationShadow
+WinStationShadowStop
+WinStationShutdownSystem
+WinStationTerminateProcess
+WinStationUnRegisterConsoleNotification
+WinStationUnRegisterNotificationEvent
+WinStationVirtualOpen
+WinStationWaitSystemEvent
+_NWLogonQueryAdmin
+_NWLogonSetAdmin
+_WinStationAnnoyancePopup
+_WinStationBeepOpen
+_WinStationBreakPoint
+_WinStationCallback
+_WinStationCheckForApplicationName
+_WinStationFUSCanRemoteUserDisconnect
+_WinStationGetApplicationInfo
+_WinStationNotifyDisconnectPipe
+_WinStationNotifyLogoff
+_WinStationNotifyLogon
+_WinStationNotifyNewSession
+_WinStationOpenSessionDirectory
+_WinStationReInitializeSecurity
+_WinStationReadRegistry
+_WinStationSessionInitialized
+_WinStationShadowTarget
+_WinStationShadowTargetSetup
+_WinStationUpdateClientCachedCredentials
+_WinStationUpdateSettings
+_WinStationUpdateUserConfig
+_WinStationWaitForConnect
diff --git a/mingw-w64-crt/lib64/wintrust.def b/mingw-w64-crt/lib64/wintrust.def
index 17b0787..c2d68ff 100644
--- a/mingw-w64-crt/lib64/wintrust.def
+++ b/mingw-w64-crt/lib64/wintrust.def
@@ -1,136 +1,136 @@
-; 
-; Exports of file WINTRUST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WINTRUST.dll
-EXPORTS
-CryptCATVerifyMember
-CryptSIPGetInfo
-CryptSIPGetRegWorkingFlags
-GenericChainCertificateTrust
-GenericChainFinalProv
-HTTPSCertificateTrust
-SoftpubDefCertInit
-SoftpubFreeDefUsageCallData
-SoftpubLoadDefUsageCallData
-WTHelperCertFindIssuerCertificate
-AddPersonalTrustDBPages
-CatalogCompactHashDatabase
-CryptCATAdminAcquireContext
-CryptCATAdminAddCatalog
-CryptCATAdminCalcHashFromFileHandle
-CryptCATAdminEnumCatalogFromHash
-CryptCATAdminPauseServiceForBackup
-CryptCATAdminReleaseCatalogContext
-CryptCATAdminReleaseContext
-CryptCATAdminRemoveCatalog
-CryptCATAdminResolveCatalogPath
-CryptCATCDFClose
-CryptCATCDFEnumAttributes
-CryptCATCDFEnumAttributesWithCDFTag
-CryptCATCDFEnumCatAttributes
-CryptCATCDFEnumMembers
-CryptCATCDFEnumMembersByCDFTag
-CryptCATCDFEnumMembersByCDFTagEx
-CryptCATCDFOpen
-CryptCATCatalogInfoFromContext
-CryptCATClose
-CryptCATEnumerateAttr
-CryptCATEnumerateCatAttr
-CryptCATEnumerateMember
-CryptCATGetAttrInfo
-CryptCATGetCatAttrInfo
-CryptCATGetMemberInfo
-CryptCATHandleFromStore
-CryptCATOpen
-CryptCATPersistStore
-CryptCATPutAttrInfo
-CryptCATPutCatAttrInfo
-CryptCATPutMemberInfo
-CryptCATStoreFromHandle
-CryptSIPCreateIndirectData
-CryptSIPGetSignedDataMsg
-CryptSIPPutSignedDataMsg
-CryptSIPRemoveSignedDataMsg
-CryptSIPVerifyIndirectData
-DllRegisterServer
-DllUnregisterServer
-DriverCleanupPolicy
-DriverFinalPolicy
-DriverInitializePolicy
-FindCertsByIssuer
-HTTPSFinalProv
-I_CryptCatAdminMigrateToNewCatDB
-IsCatalogFile
-MsCatConstructHashTag
-MsCatFreeHashTag
-OfficeCleanupPolicy
-OfficeInitializePolicy
-OpenPersonalTrustDBDialog
-OpenPersonalTrustDBDialogEx
-SoftpubAuthenticode
-SoftpubCheckCert
-SoftpubCleanup
-SoftpubDllRegisterServer
-SoftpubDllUnregisterServer
-SoftpubDumpStructure
-SoftpubInitialize
-SoftpubLoadMessage
-SoftpubLoadSignature
-TrustDecode
-TrustFindIssuerCertificate
-TrustFreeDecode
-TrustIsCertificateSelfSigned
-TrustOpenStores
-WTHelperCertCheckValidSignature
-WTHelperCertIsSelfSigned
-WTHelperCheckCertUsage
-WTHelperGetAgencyInfo
-WTHelperGetFileHandle
-WTHelperGetFileHash
-WTHelperGetFileName
-WTHelperGetKnownUsages
-WTHelperGetProvCertFromChain
-WTHelperGetProvPrivateDataFromChain
-WTHelperGetProvSignerFromChain
-WTHelperIsInRootStore
-WTHelperOpenKnownStores
-WTHelperProvDataFromStateData
-WVTAsn1CatMemberInfoDecode
-WVTAsn1CatMemberInfoEncode
-WVTAsn1CatNameValueDecode
-WVTAsn1CatNameValueEncode
-WVTAsn1SpcFinancialCriteriaInfoDecode
-WVTAsn1SpcFinancialCriteriaInfoEncode
-WVTAsn1SpcIndirectDataContentDecode
-WVTAsn1SpcIndirectDataContentEncode
-WVTAsn1SpcLinkDecode
-WVTAsn1SpcLinkEncode
-WVTAsn1SpcMinimalCriteriaInfoDecode
-WVTAsn1SpcMinimalCriteriaInfoEncode
-WVTAsn1SpcPeImageDataDecode
-WVTAsn1SpcPeImageDataEncode
-WVTAsn1SpcSigInfoDecode
-WVTAsn1SpcSigInfoEncode
-WVTAsn1SpcSpAgencyInfoDecode
-WVTAsn1SpcSpAgencyInfoEncode
-WVTAsn1SpcSpOpusInfoDecode
-WVTAsn1SpcSpOpusInfoEncode
-WVTAsn1SpcStatementTypeDecode
-WVTAsn1SpcStatementTypeEncode
-WinVerifyTrust
-WinVerifyTrustEx
-WintrustAddActionID
-WintrustAddDefaultForUsage
-WintrustCertificateTrust
-WintrustGetDefaultForUsage
-WintrustGetRegPolicyFlags
-WintrustLoadFunctionPointers
-WintrustRemoveActionID
-WintrustSetRegPolicyFlags
-mscat32DllRegisterServer
-mscat32DllUnregisterServer
-mssip32DllRegisterServer
-mssip32DllUnregisterServer
+; 
+; Exports of file WINTRUST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WINTRUST.dll
+EXPORTS
+CryptCATVerifyMember
+CryptSIPGetInfo
+CryptSIPGetRegWorkingFlags
+GenericChainCertificateTrust
+GenericChainFinalProv
+HTTPSCertificateTrust
+SoftpubDefCertInit
+SoftpubFreeDefUsageCallData
+SoftpubLoadDefUsageCallData
+WTHelperCertFindIssuerCertificate
+AddPersonalTrustDBPages
+CatalogCompactHashDatabase
+CryptCATAdminAcquireContext
+CryptCATAdminAddCatalog
+CryptCATAdminCalcHashFromFileHandle
+CryptCATAdminEnumCatalogFromHash
+CryptCATAdminPauseServiceForBackup
+CryptCATAdminReleaseCatalogContext
+CryptCATAdminReleaseContext
+CryptCATAdminRemoveCatalog
+CryptCATAdminResolveCatalogPath
+CryptCATCDFClose
+CryptCATCDFEnumAttributes
+CryptCATCDFEnumAttributesWithCDFTag
+CryptCATCDFEnumCatAttributes
+CryptCATCDFEnumMembers
+CryptCATCDFEnumMembersByCDFTag
+CryptCATCDFEnumMembersByCDFTagEx
+CryptCATCDFOpen
+CryptCATCatalogInfoFromContext
+CryptCATClose
+CryptCATEnumerateAttr
+CryptCATEnumerateCatAttr
+CryptCATEnumerateMember
+CryptCATGetAttrInfo
+CryptCATGetCatAttrInfo
+CryptCATGetMemberInfo
+CryptCATHandleFromStore
+CryptCATOpen
+CryptCATPersistStore
+CryptCATPutAttrInfo
+CryptCATPutCatAttrInfo
+CryptCATPutMemberInfo
+CryptCATStoreFromHandle
+CryptSIPCreateIndirectData
+CryptSIPGetSignedDataMsg
+CryptSIPPutSignedDataMsg
+CryptSIPRemoveSignedDataMsg
+CryptSIPVerifyIndirectData
+DllRegisterServer
+DllUnregisterServer
+DriverCleanupPolicy
+DriverFinalPolicy
+DriverInitializePolicy
+FindCertsByIssuer
+HTTPSFinalProv
+I_CryptCatAdminMigrateToNewCatDB
+IsCatalogFile
+MsCatConstructHashTag
+MsCatFreeHashTag
+OfficeCleanupPolicy
+OfficeInitializePolicy
+OpenPersonalTrustDBDialog
+OpenPersonalTrustDBDialogEx
+SoftpubAuthenticode
+SoftpubCheckCert
+SoftpubCleanup
+SoftpubDllRegisterServer
+SoftpubDllUnregisterServer
+SoftpubDumpStructure
+SoftpubInitialize
+SoftpubLoadMessage
+SoftpubLoadSignature
+TrustDecode
+TrustFindIssuerCertificate
+TrustFreeDecode
+TrustIsCertificateSelfSigned
+TrustOpenStores
+WTHelperCertCheckValidSignature
+WTHelperCertIsSelfSigned
+WTHelperCheckCertUsage
+WTHelperGetAgencyInfo
+WTHelperGetFileHandle
+WTHelperGetFileHash
+WTHelperGetFileName
+WTHelperGetKnownUsages
+WTHelperGetProvCertFromChain
+WTHelperGetProvPrivateDataFromChain
+WTHelperGetProvSignerFromChain
+WTHelperIsInRootStore
+WTHelperOpenKnownStores
+WTHelperProvDataFromStateData
+WVTAsn1CatMemberInfoDecode
+WVTAsn1CatMemberInfoEncode
+WVTAsn1CatNameValueDecode
+WVTAsn1CatNameValueEncode
+WVTAsn1SpcFinancialCriteriaInfoDecode
+WVTAsn1SpcFinancialCriteriaInfoEncode
+WVTAsn1SpcIndirectDataContentDecode
+WVTAsn1SpcIndirectDataContentEncode
+WVTAsn1SpcLinkDecode
+WVTAsn1SpcLinkEncode
+WVTAsn1SpcMinimalCriteriaInfoDecode
+WVTAsn1SpcMinimalCriteriaInfoEncode
+WVTAsn1SpcPeImageDataDecode
+WVTAsn1SpcPeImageDataEncode
+WVTAsn1SpcSigInfoDecode
+WVTAsn1SpcSigInfoEncode
+WVTAsn1SpcSpAgencyInfoDecode
+WVTAsn1SpcSpAgencyInfoEncode
+WVTAsn1SpcSpOpusInfoDecode
+WVTAsn1SpcSpOpusInfoEncode
+WVTAsn1SpcStatementTypeDecode
+WVTAsn1SpcStatementTypeEncode
+WinVerifyTrust
+WinVerifyTrustEx
+WintrustAddActionID
+WintrustAddDefaultForUsage
+WintrustCertificateTrust
+WintrustGetDefaultForUsage
+WintrustGetRegPolicyFlags
+WintrustLoadFunctionPointers
+WintrustRemoveActionID
+WintrustSetRegPolicyFlags
+mscat32DllRegisterServer
+mscat32DllUnregisterServer
+mssip32DllRegisterServer
+mssip32DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiphlpapi.def b/mingw-w64-crt/lib64/wiphlpapi.def
index a0d9214..4635e6c 100644
--- a/mingw-w64-crt/lib64/wiphlpapi.def
+++ b/mingw-w64-crt/lib64/wiphlpapi.def
@@ -1,165 +1,165 @@
-; 
-; Exports of file iphlpapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iphlpapi.dll
-EXPORTS
-AddIPAddress
-AllocateAndGetArpEntTableFromStack
-AllocateAndGetIfTableFromStack
-AllocateAndGetIpAddrTableFromStack
-AllocateAndGetIpForwardTableFromStack
-AllocateAndGetIpNetTableFromStack
-AllocateAndGetTcpExTable2FromStack
-AllocateAndGetTcpExTableFromStack
-AllocateAndGetTcpTableFromStack
-AllocateAndGetUdpExTable2FromStack
-AllocateAndGetUdpExTableFromStack
-AllocateAndGetUdpTableFromStack
-CancelIPChangeNotify
-CancelSecurityHealthChangeNotify
-CreateIpForwardEntry
-CreateIpNetEntry
-CreateProxyArpEntry
-DeleteIPAddress
-DeleteIpForwardEntry
-DeleteIpNetEntry
-DeleteProxyArpEntry
-DisableMediaSense
-EnableRouter
-FlushIpNetTable
-FlushIpNetTableFromStack
-GetAdapterIndex
-GetAdapterOrderMap
-GetAdaptersAddresses
-GetAdaptersInfo
-GetBestInterface
-GetBestInterfaceEx
-GetBestInterfaceFromStack
-GetBestRoute
-GetBestRouteFromStack
-GetExtendedTcpTable
-GetExtendedUdpTable
-GetFriendlyIfIndex
-GetIcmpStatistics
-GetIcmpStatisticsEx
-GetIcmpStatsFromStack
-GetIcmpStatsFromStackEx
-GetIfEntry
-GetIfEntryFromStack
-GetIfTable
-GetIfTableFromStack
-GetIgmpList
-GetInterfaceInfo
-GetIpAddrTable
-GetIpAddrTableFromStack
-GetIpErrorString
-GetIpForwardTable
-GetIpForwardTableFromStack
-GetIpNetTable
-GetIpNetTableFromStack
-GetIpStatistics
-GetIpStatisticsEx
-GetIpStatsFromStack
-GetIpStatsFromStackEx
-GetNetworkParams
-GetNumberOfInterfaces
-GetOwnerModuleFromTcp6Entry
-GetOwnerModuleFromTcpEntry
-GetOwnerModuleFromUdp6Entry
-GetOwnerModuleFromUdpEntry
-GetPerAdapterInfo
-GetRTTAndHopCount
-GetTcpExTable2FromStack
-GetTcpStatistics
-GetTcpStatisticsEx
-GetTcpStatsFromStack
-GetTcpStatsFromStackEx
-GetTcpTable
-GetTcpTableFromStack
-GetUdpExTable2FromStack
-GetUdpStatistics
-GetUdpStatisticsEx
-GetUdpStatsFromStack
-GetUdpStatsFromStackEx
-GetUdpTable
-GetUdpTableFromStack
-GetUniDirectionalAdapterInfo
-Icmp6CreateFile
-Icmp6ParseReplies
-Icmp6SendEcho2
-IcmpCloseHandle
-IcmpCreateFile
-IcmpParseReplies
-IcmpSendEcho2
-IcmpSendEcho
-InternalCreateIpForwardEntry
-InternalCreateIpNetEntry
-InternalDeleteIpForwardEntry
-InternalDeleteIpNetEntry
-InternalGetIfTable
-InternalGetIpAddrTable
-InternalGetIpForwardTable
-InternalGetIpNetTable
-InternalGetTcpTable
-InternalGetUdpTable
-InternalSetIfEntry
-InternalSetIpForwardEntry
-InternalSetIpNetEntry
-InternalSetIpStats
-InternalSetTcpEntry
-IpReleaseAddress
-IpRenewAddress
-IsLocalAddress
-NTPTimeToNTFileTime
-NTTimeToNTPTime
-NhGetGuidFromInterfaceName
-NhGetInterfaceNameFromDeviceGuid
-NhGetInterfaceNameFromGuid
-NhpAllocateAndGetInterfaceInfoFromStack
-NhpGetInterfaceIndexFromStack
-NotifyAddrChange
-NotifyRouteChange
-NotifyRouteChangeEx
-NotifySecurityHealthChange
-_PfAddFiltersToInterface@24
-_PfAddGlobalFilterToInterface@8
-_PfBindInterfaceToIPAddress@12
-_PfBindInterfaceToIndex@16
-_PfCreateInterface@24
-_PfDeleteInterface@4
-_PfDeleteLog@0
-_PfGetInterfaceStatistics@16
-_PfMakeLog@4
-_PfRebindFilters@8
-_PfRemoveFilterHandles@12
-_PfRemoveFiltersFromInterface@20
-_PfRemoveGlobalFilterFromInterface@8
-_PfSetLogBuffer@28
-_PfTestPacket@20
-_PfUnBindInterface@4
-RestoreMediaSense
-SendARP
-SetAdapterIpAddress
-SetBlockRoutes
-SetIfEntry
-SetIfEntryToStack
-SetIpForwardEntry
-SetIpForwardEntryToStack
-SetIpMultihopRouteEntryToStack
-SetIpNetEntry
-SetIpNetEntryToStack
-SetIpRouteEntryToStack
-SetIpStatistics
-SetIpStatsToStack
-SetIpTTL
-SetProxyArpEntryToStack
-SetRouteWithRef
-SetTcpEntry
-SetTcpEntryToStack
-UnenableRouter
-do_echo_rep
-do_echo_req
-register_icmp
+; 
+; Exports of file iphlpapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iphlpapi.dll
+EXPORTS
+AddIPAddress
+AllocateAndGetArpEntTableFromStack
+AllocateAndGetIfTableFromStack
+AllocateAndGetIpAddrTableFromStack
+AllocateAndGetIpForwardTableFromStack
+AllocateAndGetIpNetTableFromStack
+AllocateAndGetTcpExTable2FromStack
+AllocateAndGetTcpExTableFromStack
+AllocateAndGetTcpTableFromStack
+AllocateAndGetUdpExTable2FromStack
+AllocateAndGetUdpExTableFromStack
+AllocateAndGetUdpTableFromStack
+CancelIPChangeNotify
+CancelSecurityHealthChangeNotify
+CreateIpForwardEntry
+CreateIpNetEntry
+CreateProxyArpEntry
+DeleteIPAddress
+DeleteIpForwardEntry
+DeleteIpNetEntry
+DeleteProxyArpEntry
+DisableMediaSense
+EnableRouter
+FlushIpNetTable
+FlushIpNetTableFromStack
+GetAdapterIndex
+GetAdapterOrderMap
+GetAdaptersAddresses
+GetAdaptersInfo
+GetBestInterface
+GetBestInterfaceEx
+GetBestInterfaceFromStack
+GetBestRoute
+GetBestRouteFromStack
+GetExtendedTcpTable
+GetExtendedUdpTable
+GetFriendlyIfIndex
+GetIcmpStatistics
+GetIcmpStatisticsEx
+GetIcmpStatsFromStack
+GetIcmpStatsFromStackEx
+GetIfEntry
+GetIfEntryFromStack
+GetIfTable
+GetIfTableFromStack
+GetIgmpList
+GetInterfaceInfo
+GetIpAddrTable
+GetIpAddrTableFromStack
+GetIpErrorString
+GetIpForwardTable
+GetIpForwardTableFromStack
+GetIpNetTable
+GetIpNetTableFromStack
+GetIpStatistics
+GetIpStatisticsEx
+GetIpStatsFromStack
+GetIpStatsFromStackEx
+GetNetworkParams
+GetNumberOfInterfaces
+GetOwnerModuleFromTcp6Entry
+GetOwnerModuleFromTcpEntry
+GetOwnerModuleFromUdp6Entry
+GetOwnerModuleFromUdpEntry
+GetPerAdapterInfo
+GetRTTAndHopCount
+GetTcpExTable2FromStack
+GetTcpStatistics
+GetTcpStatisticsEx
+GetTcpStatsFromStack
+GetTcpStatsFromStackEx
+GetTcpTable
+GetTcpTableFromStack
+GetUdpExTable2FromStack
+GetUdpStatistics
+GetUdpStatisticsEx
+GetUdpStatsFromStack
+GetUdpStatsFromStackEx
+GetUdpTable
+GetUdpTableFromStack
+GetUniDirectionalAdapterInfo
+Icmp6CreateFile
+Icmp6ParseReplies
+Icmp6SendEcho2
+IcmpCloseHandle
+IcmpCreateFile
+IcmpParseReplies
+IcmpSendEcho2
+IcmpSendEcho
+InternalCreateIpForwardEntry
+InternalCreateIpNetEntry
+InternalDeleteIpForwardEntry
+InternalDeleteIpNetEntry
+InternalGetIfTable
+InternalGetIpAddrTable
+InternalGetIpForwardTable
+InternalGetIpNetTable
+InternalGetTcpTable
+InternalGetUdpTable
+InternalSetIfEntry
+InternalSetIpForwardEntry
+InternalSetIpNetEntry
+InternalSetIpStats
+InternalSetTcpEntry
+IpReleaseAddress
+IpRenewAddress
+IsLocalAddress
+NTPTimeToNTFileTime
+NTTimeToNTPTime
+NhGetGuidFromInterfaceName
+NhGetInterfaceNameFromDeviceGuid
+NhGetInterfaceNameFromGuid
+NhpAllocateAndGetInterfaceInfoFromStack
+NhpGetInterfaceIndexFromStack
+NotifyAddrChange
+NotifyRouteChange
+NotifyRouteChangeEx
+NotifySecurityHealthChange
+_PfAddFiltersToInterface@24
+_PfAddGlobalFilterToInterface@8
+_PfBindInterfaceToIPAddress@12
+_PfBindInterfaceToIndex@16
+_PfCreateInterface@24
+_PfDeleteInterface@4
+_PfDeleteLog@0
+_PfGetInterfaceStatistics@16
+_PfMakeLog@4
+_PfRebindFilters@8
+_PfRemoveFilterHandles@12
+_PfRemoveFiltersFromInterface@20
+_PfRemoveGlobalFilterFromInterface@8
+_PfSetLogBuffer@28
+_PfTestPacket@20
+_PfUnBindInterface@4
+RestoreMediaSense
+SendARP
+SetAdapterIpAddress
+SetBlockRoutes
+SetIfEntry
+SetIfEntryToStack
+SetIpForwardEntry
+SetIpForwardEntryToStack
+SetIpMultihopRouteEntryToStack
+SetIpNetEntry
+SetIpNetEntryToStack
+SetIpRouteEntryToStack
+SetIpStatistics
+SetIpStatsToStack
+SetIpTTL
+SetProxyArpEntryToStack
+SetRouteWithRef
+SetTcpEntry
+SetTcpEntryToStack
+UnenableRouter
+do_echo_rep
+do_echo_req
+register_icmp
diff --git a/mingw-w64-crt/lib64/wipmontr.def b/mingw-w64-crt/lib64/wipmontr.def
index 54e4bdd..e103c99 100644
--- a/mingw-w64-crt/lib64/wipmontr.def
+++ b/mingw-w64-crt/lib64/wipmontr.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file IPMONTR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPMONTR.dll
-EXPORTS
-InitHelperDll
-IpmontrDeleteInfoBlockFromInterfaceInfo
-IpmontrDeleteProtocol
-IpmontrGetFriendlyNameFromIfIndex
-IpmontrGetFriendlyNameFromIfName
-IpmontrGetIfIndexFromFriendlyName
-IpmontrGetIfNameFromFriendlyName
-IpmontrGetInfoBlockFromGlobalInfo
-IpmontrGetInfoBlockFromInterfaceInfo
-IpmontrGetInterfaceType
-IpmontrInterfaceEnum
-IpmontrSetInfoBlockInGlobalInfo
-IpmontrSetInfoBlockInInterfaceInfo
+; 
+; Exports of file IPMONTR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPMONTR.dll
+EXPORTS
+InitHelperDll
+IpmontrDeleteInfoBlockFromInterfaceInfo
+IpmontrDeleteProtocol
+IpmontrGetFriendlyNameFromIfIndex
+IpmontrGetFriendlyNameFromIfName
+IpmontrGetIfIndexFromFriendlyName
+IpmontrGetIfNameFromFriendlyName
+IpmontrGetInfoBlockFromGlobalInfo
+IpmontrGetInfoBlockFromInterfaceInfo
+IpmontrGetInterfaceType
+IpmontrInterfaceEnum
+IpmontrSetInfoBlockInGlobalInfo
+IpmontrSetInfoBlockInInterfaceInfo
diff --git a/mingw-w64-crt/lib64/wipnathlp.def b/mingw-w64-crt/lib64/wipnathlp.def
index 8377b1a..f6f4245 100644
--- a/mingw-w64-crt/lib64/wipnathlp.def
+++ b/mingw-w64-crt/lib64/wipnathlp.def
@@ -1,39 +1,39 @@
-; 
-; Exports of file IPNATHLP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPNATHLP.dll
-EXPORTS
-NhAcceptStreamSocket
-NhAcquireFixedLengthBuffer
-NhAcquireVariableLengthBuffer
-NhCreateDatagramSocket
-NhCreateStreamSocket
-NhDeleteSocket
-NhInitializeBufferManagement
-NhReadDatagramSocket
-NhReadStreamSocket
-NhReleaseBuffer
-NhWriteDatagramSocket
-NhWriteStreamSocket
-RegisterProtocol
-NatAcquirePortReservation
-NatCancelDynamicRedirect
-NatCancelRedirect
-NatCreateDynamicFullRedirect
-NatCreateDynamicRedirect
-NatCreateDynamicRedirectEx
-NatCreateRedirect
-NatCreateRedirectEx
-NatInitializePortReservation
-NatInitializeTranslator
-NatLookupAndQueryInformationSessionMapping
-NatQueryInformationRedirect
-NatQueryInformationRedirectHandle
-NatReleasePortReservation
-NatShutdownPortReservation
-NatShutdownTranslator
-NhInitializeTraceManagement
-ServiceMain
+; 
+; Exports of file IPNATHLP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPNATHLP.dll
+EXPORTS
+NhAcceptStreamSocket
+NhAcquireFixedLengthBuffer
+NhAcquireVariableLengthBuffer
+NhCreateDatagramSocket
+NhCreateStreamSocket
+NhDeleteSocket
+NhInitializeBufferManagement
+NhReadDatagramSocket
+NhReadStreamSocket
+NhReleaseBuffer
+NhWriteDatagramSocket
+NhWriteStreamSocket
+RegisterProtocol
+NatAcquirePortReservation
+NatCancelDynamicRedirect
+NatCancelRedirect
+NatCreateDynamicFullRedirect
+NatCreateDynamicRedirect
+NatCreateDynamicRedirectEx
+NatCreateRedirect
+NatCreateRedirectEx
+NatInitializePortReservation
+NatInitializeTranslator
+NatLookupAndQueryInformationSessionMapping
+NatQueryInformationRedirect
+NatQueryInformationRedirectHandle
+NatReleasePortReservation
+NatShutdownPortReservation
+NatShutdownTranslator
+NhInitializeTraceManagement
+ServiceMain
diff --git a/mingw-w64-crt/lib64/wippromon.def b/mingw-w64-crt/lib64/wippromon.def
index 692870b..bc2d77e 100644
--- a/mingw-w64-crt/lib64/wippromon.def
+++ b/mingw-w64-crt/lib64/wippromon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file IPPROMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPPROMON.dll
-EXPORTS
-InitHelperDll
+; 
+; Exports of file IPPROMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPPROMON.dll
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/wiprip.def b/mingw-w64-crt/lib64/wiprip.def
index 890d019..092a30e 100644
--- a/mingw-w64-crt/lib64/wiprip.def
+++ b/mingw-w64-crt/lib64/wiprip.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file IPRIP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPRIP.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file IPRIP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPRIP.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/wiprop.def b/mingw-w64-crt/lib64/wiprop.def
index 225c9ab..9f8b482 100644
--- a/mingw-w64-crt/lib64/wiprop.def
+++ b/mingw-w64-crt/lib64/wiprop.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file IPROP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPROP.dll
-EXPORTS
-FmtIdToPropStgName
-FreePropVariantArray
-PropStgNameToFmtId
-PropVariantClear
-PropVariantCopy
-StgCreatePropSetStg
-StgCreatePropStg
-StgOpenPropStg
+; 
+; Exports of file IPROP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPROP.dll
+EXPORTS
+FmtIdToPropStgName
+FreePropVariantArray
+PropStgNameToFmtId
+PropVariantClear
+PropVariantCopy
+StgCreatePropSetStg
+StgCreatePropStg
+StgOpenPropStg
diff --git a/mingw-w64-crt/lib64/wiprtprio.def b/mingw-w64-crt/lib64/wiprtprio.def
index 2bcc85d..b0d7a8f 100644
--- a/mingw-w64-crt/lib64/wiprtprio.def
+++ b/mingw-w64-crt/lib64/wiprtprio.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file iprtprio.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iprtprio.dll
-EXPORTS
-ComputeRouteMetric
-GetPriorityInfo
-SetPriorityInfo
+; 
+; Exports of file iprtprio.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iprtprio.dll
+EXPORTS
+ComputeRouteMetric
+GetPriorityInfo
+SetPriorityInfo
diff --git a/mingw-w64-crt/lib64/wiprtrmgr.def b/mingw-w64-crt/lib64/wiprtrmgr.def
index b557cb3..3542120 100644
--- a/mingw-w64-crt/lib64/wiprtrmgr.def
+++ b/mingw-w64-crt/lib64/wiprtrmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file iprtrmgr.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY iprtrmgr.dll
-EXPORTS
-MapAddressToAdapter
-MapInterfaceToAdapter
-MapInterfaceToRouterIfType
-StartRouter
+; 
+; Exports of file iprtrmgr.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY iprtrmgr.dll
+EXPORTS
+MapAddressToAdapter
+MapInterfaceToAdapter
+MapInterfaceToRouterIfType
+StartRouter
diff --git a/mingw-w64-crt/lib64/wipsecsnp.def b/mingw-w64-crt/lib64/wipsecsnp.def
index 517da6f..deaaa63 100644
--- a/mingw-w64-crt/lib64/wipsecsnp.def
+++ b/mingw-w64-crt/lib64/wipsecsnp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IPSECSNP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPSECSNP.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IPSECSNP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPSECSNP.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wipsecsvc.def b/mingw-w64-crt/lib64/wipsecsvc.def
index a388712..153d6e5 100644
--- a/mingw-w64-crt/lib64/wipsecsvc.def
+++ b/mingw-w64-crt/lib64/wipsecsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file IPSECSPD.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPSECSPD.DLL
-EXPORTS
-SPDServiceMain
+; 
+; Exports of file IPSECSPD.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPSECSPD.DLL
+EXPORTS
+SPDServiceMain
diff --git a/mingw-w64-crt/lib64/wipsmsnap.def b/mingw-w64-crt/lib64/wipsmsnap.def
index 51b0ca8..6c62d6a 100644
--- a/mingw-w64-crt/lib64/wipsmsnap.def
+++ b/mingw-w64-crt/lib64/wipsmsnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IPSMSNAP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPSMSNAP.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IPSMSNAP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPSMSNAP.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wipv6mon.def b/mingw-w64-crt/lib64/wipv6mon.def
index e45b7b1..de1a968 100644
--- a/mingw-w64-crt/lib64/wipv6mon.def
+++ b/mingw-w64-crt/lib64/wipv6mon.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file IPV6MON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IPV6MON.dll
-EXPORTS
-GetResourceString
-InitHelperDll
+; 
+; Exports of file IPV6MON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IPV6MON.dll
+EXPORTS
+GetResourceString
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/wipxsap.def b/mingw-w64-crt/lib64/wipxsap.def
index c326088..388f6eb 100644
--- a/mingw-w64-crt/lib64/wipxsap.def
+++ b/mingw-w64-crt/lib64/wipxsap.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ipxsap.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ipxsap.dll
-EXPORTS
-RegisterProtocol
-ServiceMain
+; 
+; Exports of file ipxsap.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ipxsap.dll
+EXPORTS
+RegisterProtocol
+ServiceMain
diff --git a/mingw-w64-crt/lib64/wir41_qc.def b/mingw-w64-crt/lib64/wir41_qc.def
index 9f49421..c650896 100644
--- a/mingw-w64-crt/lib64/wir41_qc.def
+++ b/mingw-w64-crt/lib64/wir41_qc.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file IR41_QC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IR41_QC.dll
-EXPORTS
-AllocInstanceData
-Compress
-CompressBegin
-CompressEnd
-CompressFramesInfo
-DllMain
-FreeInstanceData
-SetScalability
+; 
+; Exports of file IR41_QC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IR41_QC.dll
+EXPORTS
+AllocInstanceData
+Compress
+CompressBegin
+CompressEnd
+CompressFramesInfo
+DllMain
+FreeInstanceData
+SetScalability
diff --git a/mingw-w64-crt/lib64/wir41_qcx.def b/mingw-w64-crt/lib64/wir41_qcx.def
index 9f49421..c650896 100644
--- a/mingw-w64-crt/lib64/wir41_qcx.def
+++ b/mingw-w64-crt/lib64/wir41_qcx.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file IR41_QC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IR41_QC.dll
-EXPORTS
-AllocInstanceData
-Compress
-CompressBegin
-CompressEnd
-CompressFramesInfo
-DllMain
-FreeInstanceData
-SetScalability
+; 
+; Exports of file IR41_QC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IR41_QC.dll
+EXPORTS
+AllocInstanceData
+Compress
+CompressBegin
+CompressEnd
+CompressFramesInfo
+DllMain
+FreeInstanceData
+SetScalability
diff --git a/mingw-w64-crt/lib64/wir50_32.def b/mingw-w64-crt/lib64/wir50_32.def
index db2ce9e..e0e6129 100644
--- a/mingw-w64-crt/lib64/wir50_32.def
+++ b/mingw-w64-crt/lib64/wir50_32.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file ir50_32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ir50_32.dll
-EXPORTS
-AboutDialogProc
-ConfigureDialogProc
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
-DriverProc
+; 
+; Exports of file ir50_32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ir50_32.dll
+EXPORTS
+AboutDialogProc
+ConfigureDialogProc
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
+DriverProc
diff --git a/mingw-w64-crt/lib64/wir50_qc.def b/mingw-w64-crt/lib64/wir50_qc.def
index 546ac55..a5a985e 100644
--- a/mingw-w64-crt/lib64/wir50_qc.def
+++ b/mingw-w64-crt/lib64/wir50_qc.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file IR50_QC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IR50_QC.dll
-EXPORTS
-AllocInstanceData
-Compress
-CompressBegin
-CompressEnd
-CompressFramesInfo
-CompressQuery
-DllMain
-FreeInstanceData
-SetCPUID
-SetScalability
+; 
+; Exports of file IR50_QC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IR50_QC.dll
+EXPORTS
+AllocInstanceData
+Compress
+CompressBegin
+CompressEnd
+CompressFramesInfo
+CompressQuery
+DllMain
+FreeInstanceData
+SetCPUID
+SetScalability
diff --git a/mingw-w64-crt/lib64/wir50_qcx.def b/mingw-w64-crt/lib64/wir50_qcx.def
index 546ac55..a5a985e 100644
--- a/mingw-w64-crt/lib64/wir50_qcx.def
+++ b/mingw-w64-crt/lib64/wir50_qcx.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file IR50_QC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IR50_QC.dll
-EXPORTS
-AllocInstanceData
-Compress
-CompressBegin
-CompressEnd
-CompressFramesInfo
-CompressQuery
-DllMain
-FreeInstanceData
-SetCPUID
-SetScalability
+; 
+; Exports of file IR50_QC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IR50_QC.dll
+EXPORTS
+AllocInstanceData
+Compress
+CompressBegin
+CompressEnd
+CompressFramesInfo
+CompressQuery
+DllMain
+FreeInstanceData
+SetCPUID
+SetScalability
diff --git a/mingw-w64-crt/lib64/wisapips.def b/mingw-w64-crt/lib64/wisapips.def
index f3184b4..80f5e91 100644
--- a/mingw-w64-crt/lib64/wisapips.def
+++ b/mingw-w64-crt/lib64/wisapips.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file isapips.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY isapips.dll
-EXPORTS
-GetProxyDllInfo
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file isapips.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY isapips.dll
+EXPORTS
+GetProxyDllInfo
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiscomlog.def b/mingw-w64-crt/lib64/wiscomlog.def
index 4ab71fe..fd20b42 100644
--- a/mingw-w64-crt/lib64/wiscomlog.def
+++ b/mingw-w64-crt/lib64/wiscomlog.def
@@ -1,32 +1,32 @@
-; 
-; Exports of file ISCOMLOG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ISCOMLOG.dll
-EXPORTS
-; public: __thiscall LOGGING::LOGGING(class LOGGING const &)
-??0LOGGING@@QAE@ABV0@@Z
-; public: class LOGGING & __thiscall LOGGING::operator=(class LOGGING const &)
-??4LOGGING@@QAEAAV0@ABV0@@Z
-ComLogCustomInformation
-ComLogDllCleanUp
-ComLogDllStartup
-ComLogGetConfig
-ComLogInitializeLog
-ComLogLogInformation
-ComLogNotifyChange
-ComLogQueryExtraLogFields
-ComLogSetConfig
-ComLogTerminateLog
-; private: void __thiscall LOGGING::LockExclusive(void)
-?LockExclusive@LOGGING@@AAEXXZ
-; private: void __thiscall LOGGING::LockShared(void)
-?LockShared@LOGGING@@AAEXXZ
-; private: void __thiscall LOGGING::Unlock(void)
-?Unlock@LOGGING@@AAEXXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ISCOMLOG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ISCOMLOG.dll
+EXPORTS
+; public: __thiscall LOGGING::LOGGING(class LOGGING const &)
+??0LOGGING@@QAE@ABV0@@Z
+; public: class LOGGING & __thiscall LOGGING::operator=(class LOGGING const &)
+??4LOGGING@@QAEAAV0@ABV0@@Z
+ComLogCustomInformation
+ComLogDllCleanUp
+ComLogDllStartup
+ComLogGetConfig
+ComLogInitializeLog
+ComLogLogInformation
+ComLogNotifyChange
+ComLogQueryExtraLogFields
+ComLogSetConfig
+ComLogTerminateLog
+; private: void __thiscall LOGGING::LockExclusive(void)
+?LockExclusive@LOGGING@@AAEXXZ
+; private: void __thiscall LOGGING::LockShared(void)
+?LockShared@LOGGING@@AAEXXZ
+; private: void __thiscall LOGGING::Unlock(void)
+?Unlock@LOGGING@@AAEXXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wisign32.def b/mingw-w64-crt/lib64/wisign32.def
index 5b6a614..2694199 100644
--- a/mingw-w64-crt/lib64/wisign32.def
+++ b/mingw-w64-crt/lib64/wisign32.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file isignup2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY isignup2.dll
-EXPORTS
-AutoDialLogon
-AutoDialLogonA
-AutoDialLogonW
-AutoDialSignup
-AutoDialSignupA
-AutoDialSignupW
-IEAKProcessISP
-IEAKProcessISPA
-IEAKProcessISPW
-Signup
+; 
+; Exports of file isignup2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY isignup2.dll
+EXPORTS
+AutoDialLogon
+AutoDialLogonA
+AutoDialLogonW
+AutoDialSignup
+AutoDialSignupA
+AutoDialSignupW
+IEAKProcessISP
+IEAKProcessISPA
+IEAKProcessISPW
+Signup
diff --git a/mingw-w64-crt/lib64/witircl.def b/mingw-w64-crt/lib64/witircl.def
index f43053e..8658ce8 100644
--- a/mingw-w64-crt/lib64/witircl.def
+++ b/mingw-w64-crt/lib64/witircl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ITLocal.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ITLocal.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ITLocal.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ITLocal.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/witss.def b/mingw-w64-crt/lib64/witss.def
index 86ef541..1413999 100644
--- a/mingw-w64-crt/lib64/witss.def
+++ b/mingw-w64-crt/lib64/witss.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file ITSS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ITSS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ITSS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ITSS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wixsso.def b/mingw-w64-crt/lib64/wixsso.def
index d72d10d..2156291 100644
--- a/mingw-w64-crt/lib64/wixsso.def
+++ b/mingw-w64-crt/lib64/wixsso.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IXSSO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IXSSO.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file IXSSO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IXSSO.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wiyuv_32.def b/mingw-w64-crt/lib64/wiyuv_32.def
index 5182366..276e0f4 100644
--- a/mingw-w64-crt/lib64/wiyuv_32.def
+++ b/mingw-w64-crt/lib64/wiyuv_32.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file IYUV_32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY IYUV_32.dll
-EXPORTS
-AboutDialogProc
-DllMain
-DriverDialogProc
-DriverProc
+; 
+; Exports of file IYUV_32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY IYUV_32.dll
+EXPORTS
+AboutDialogProc
+DllMain
+DriverDialogProc
+DriverProc
diff --git a/mingw-w64-crt/lib64/wjet500.def b/mingw-w64-crt/lib64/wjet500.def
index cd58206..ed680f2 100644
--- a/mingw-w64-crt/lib64/wjet500.def
+++ b/mingw-w64-crt/lib64/wjet500.def
@@ -1,93 +1,93 @@
-; 
-; Exports of file JET500.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY JET500.dll
-EXPORTS
-JetAddColumn
-JetAttachDatabase
-JetBackup
-JetBeginExternalBackup
-JetBeginSession
-JetBeginTransaction
-JetCloseDatabase
-JetCloseFile
-JetCloseTable
-JetCommitTransaction
-JetCompact
-JetComputeStats
-JetCreateDatabase
-JetCreateIndex
-JetCreateLink
-JetCreateQuery
-JetCreateTable
-JetCreateTableColumnIndex
-JetDBUtilities
-JetDelete
-JetDeleteColumn
-JetDeleteIndex
-JetDeleteTable
-JetDetachDatabase
-JetDupCursor
-JetDupSession
-JetEndExternalBackup
-JetEndSession
-JetExecuteSql
-JetExternalRestore
-JetGetAttachInfo
-JetGetBookmark
-JetGetChecksum
-JetGetColumnInfo
-JetGetCounter
-JetGetCurrentIndex
-JetGetCursorInfo
-JetGetDatabaseInfo
-JetGetIndexInfo
-JetGetLogInfo
-JetGetObjectInfo
-JetGetObjidFromName
-JetGetQueryParameterInfo
-JetGetRecordPosition
-JetGetSystemParameter
-JetGetTableColumnInfo
-JetGetTableIndexInfo
-JetGetTableInfo
-JetGetVersion
-JetGotoBookmark
-JetGotoPosition
-JetIdle
-JetIndexRecordCount
-JetInit
-JetMakeKey
-JetMove
-JetOpenDatabase
-JetOpenFile
-JetOpenQueryDef
-JetOpenTable
-JetOpenTempTable2
-JetOpenTempTable
-JetPrepareUpdate
-JetReadFile
-JetResetCounter
-JetRestore2
-JetRestore
-JetRetrieveColumn
-JetRetrieveColumns
-JetRetrieveKey
-JetRetrieveQoSql
-JetRollback
-JetSeek
-JetSetAccess
-JetSetColumn
-JetSetColumns
-JetSetCurrentIndex2
-JetSetCurrentIndex
-JetSetIndexRange
-JetSetQoSql
-JetSetSystemParameter
-JetTerm2
-JetTerm
-JetTruncateLog
-JetUpdate
+; 
+; Exports of file JET500.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY JET500.dll
+EXPORTS
+JetAddColumn
+JetAttachDatabase
+JetBackup
+JetBeginExternalBackup
+JetBeginSession
+JetBeginTransaction
+JetCloseDatabase
+JetCloseFile
+JetCloseTable
+JetCommitTransaction
+JetCompact
+JetComputeStats
+JetCreateDatabase
+JetCreateIndex
+JetCreateLink
+JetCreateQuery
+JetCreateTable
+JetCreateTableColumnIndex
+JetDBUtilities
+JetDelete
+JetDeleteColumn
+JetDeleteIndex
+JetDeleteTable
+JetDetachDatabase
+JetDupCursor
+JetDupSession
+JetEndExternalBackup
+JetEndSession
+JetExecuteSql
+JetExternalRestore
+JetGetAttachInfo
+JetGetBookmark
+JetGetChecksum
+JetGetColumnInfo
+JetGetCounter
+JetGetCurrentIndex
+JetGetCursorInfo
+JetGetDatabaseInfo
+JetGetIndexInfo
+JetGetLogInfo
+JetGetObjectInfo
+JetGetObjidFromName
+JetGetQueryParameterInfo
+JetGetRecordPosition
+JetGetSystemParameter
+JetGetTableColumnInfo
+JetGetTableIndexInfo
+JetGetTableInfo
+JetGetVersion
+JetGotoBookmark
+JetGotoPosition
+JetIdle
+JetIndexRecordCount
+JetInit
+JetMakeKey
+JetMove
+JetOpenDatabase
+JetOpenFile
+JetOpenQueryDef
+JetOpenTable
+JetOpenTempTable2
+JetOpenTempTable
+JetPrepareUpdate
+JetReadFile
+JetResetCounter
+JetRestore2
+JetRestore
+JetRetrieveColumn
+JetRetrieveColumns
+JetRetrieveKey
+JetRetrieveQoSql
+JetRollback
+JetSeek
+JetSetAccess
+JetSetColumn
+JetSetColumns
+JetSetCurrentIndex2
+JetSetCurrentIndex
+JetSetIndexRange
+JetSetQoSql
+JetSetSystemParameter
+JetTerm2
+JetTerm
+JetTruncateLog
+JetUpdate
diff --git a/mingw-w64-crt/lib64/wjobexec.def b/mingw-w64-crt/lib64/wjobexec.def
index 81086b6..ff6bcdc 100644
--- a/mingw-w64-crt/lib64/wjobexec.def
+++ b/mingw-w64-crt/lib64/wjobexec.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file jobexec.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY jobexec.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file jobexec.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY jobexec.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wjscript.def b/mingw-w64-crt/lib64/wjscript.def
index 0057f37..7726a13 100644
--- a/mingw-w64-crt/lib64/wjscript.def
+++ b/mingw-w64-crt/lib64/wjscript.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file JSCRIPT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY JSCRIPT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file JSCRIPT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY JSCRIPT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wjsproxy.def b/mingw-w64-crt/lib64/wjsproxy.def
index 15ae127..1600baf 100644
--- a/mingw-w64-crt/lib64/wjsproxy.def
+++ b/mingw-w64-crt/lib64/wjsproxy.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file JSProxy.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY JSProxy.dll
-EXPORTS
-InternetInitializeAutoProxyDll
-InternetDeInitializeAutoProxyDll
-InternetGetProxyInfo
+; 
+; Exports of file JSProxy.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY JSProxy.dll
+EXPORTS
+InternetInitializeAutoProxyDll
+InternetDeInitializeAutoProxyDll
+InternetGetProxyInfo
diff --git a/mingw-w64-crt/lib64/wkbd101.def b/mingw-w64-crt/lib64/wkbd101.def
index c773f4f..7351504 100644
--- a/mingw-w64-crt/lib64/wkbd101.def
+++ b/mingw-w64-crt/lib64/wkbd101.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD101.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD101.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbd101a.def b/mingw-w64-crt/lib64/wkbd101a.def
index a9a58a6..fcd9ffc 100644
--- a/mingw-w64-crt/lib64/wkbd101a.def
+++ b/mingw-w64-crt/lib64/wkbd101a.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD101A.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101A.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD101A.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101A.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbd101b.def b/mingw-w64-crt/lib64/wkbd101b.def
index dbe1ccd..8f1fbd2 100644
--- a/mingw-w64-crt/lib64/wkbd101b.def
+++ b/mingw-w64-crt/lib64/wkbd101b.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD101B.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101B.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD101B.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101B.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbd101c.def b/mingw-w64-crt/lib64/wkbd101c.def
index 38e5e8b..c7624e6 100644
--- a/mingw-w64-crt/lib64/wkbd101c.def
+++ b/mingw-w64-crt/lib64/wkbd101c.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD101C.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101C.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD101C.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101C.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbd103.def b/mingw-w64-crt/lib64/wkbd103.def
index 74daf31..0f25ddd 100644
--- a/mingw-w64-crt/lib64/wkbd103.def
+++ b/mingw-w64-crt/lib64/wkbd103.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD103.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD103.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD103.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD103.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbd106.def b/mingw-w64-crt/lib64/wkbd106.def
index 754bbb2..fb71842 100644
--- a/mingw-w64-crt/lib64/wkbd106.def
+++ b/mingw-w64-crt/lib64/wkbd106.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD106.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD106.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD106.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD106.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbd106n.def b/mingw-w64-crt/lib64/wkbd106n.def
index 7ec3b4c..c27a1b1 100644
--- a/mingw-w64-crt/lib64/wkbd106n.def
+++ b/mingw-w64-crt/lib64/wkbd106n.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBD106N.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD106N.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBD106N.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD106N.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbda1.def b/mingw-w64-crt/lib64/wkbda1.def
index 7f9e14c..12bc19c 100644
--- a/mingw-w64-crt/lib64/wkbda1.def
+++ b/mingw-w64-crt/lib64/wkbda1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDA1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDA1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDA1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDA1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbda2.def b/mingw-w64-crt/lib64/wkbda2.def
index d1c7e7b..96ba5bd 100644
--- a/mingw-w64-crt/lib64/wkbda2.def
+++ b/mingw-w64-crt/lib64/wkbda2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDA2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDA2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDA2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDA2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbda3.def b/mingw-w64-crt/lib64/wkbda3.def
index dcca462..3e690f4 100644
--- a/mingw-w64-crt/lib64/wkbda3.def
+++ b/mingw-w64-crt/lib64/wkbda3.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDA3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDA3.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDA3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDA3.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdarme.def b/mingw-w64-crt/lib64/wkbdarme.def
index cb404e4..e2859f1 100644
--- a/mingw-w64-crt/lib64/wkbdarme.def
+++ b/mingw-w64-crt/lib64/wkbdarme.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDARME.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDARME.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDARME.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDARME.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdarmw.def b/mingw-w64-crt/lib64/wkbdarmw.def
index 1ded87f..1ab006c 100644
--- a/mingw-w64-crt/lib64/wkbdarmw.def
+++ b/mingw-w64-crt/lib64/wkbdarmw.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDARMW.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDARMW.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDARMW.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDARMW.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdax2.def b/mingw-w64-crt/lib64/wkbdax2.def
index 09e3a83..e5bf21b 100644
--- a/mingw-w64-crt/lib64/wkbdax2.def
+++ b/mingw-w64-crt/lib64/wkbdax2.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDAX2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDAX2.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDAX2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDAX2.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdaze.def b/mingw-w64-crt/lib64/wkbdaze.def
index 3a6f8fa..8da2ef1 100644
--- a/mingw-w64-crt/lib64/wkbdaze.def
+++ b/mingw-w64-crt/lib64/wkbdaze.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDAZE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDAZE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDAZE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDAZE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdazel.def b/mingw-w64-crt/lib64/wkbdazel.def
index c941112..7790475 100644
--- a/mingw-w64-crt/lib64/wkbdazel.def
+++ b/mingw-w64-crt/lib64/wkbdazel.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDAZEL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDAZEL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDAZEL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDAZEL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdbe.def b/mingw-w64-crt/lib64/wkbdbe.def
index 8233f05..4f85f6d 100644
--- a/mingw-w64-crt/lib64/wkbdbe.def
+++ b/mingw-w64-crt/lib64/wkbdbe.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdbene.def b/mingw-w64-crt/lib64/wkbdbene.def
index 12610d8..899304d 100644
--- a/mingw-w64-crt/lib64/wkbdbene.def
+++ b/mingw-w64-crt/lib64/wkbdbene.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBENE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBENE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBENE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBENE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdblr.def b/mingw-w64-crt/lib64/wkbdblr.def
index fe5b4dc..03d4f7b 100644
--- a/mingw-w64-crt/lib64/wkbdblr.def
+++ b/mingw-w64-crt/lib64/wkbdblr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBLR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBLR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBLR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBLR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdbr.def b/mingw-w64-crt/lib64/wkbdbr.def
index 4920515..ea392b3 100644
--- a/mingw-w64-crt/lib64/wkbdbr.def
+++ b/mingw-w64-crt/lib64/wkbdbr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdbu.def b/mingw-w64-crt/lib64/wkbdbu.def
index a851421..741587b 100644
--- a/mingw-w64-crt/lib64/wkbdbu.def
+++ b/mingw-w64-crt/lib64/wkbdbu.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDBU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDBU.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDBU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDBU.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdca.def b/mingw-w64-crt/lib64/wkbdca.def
index 48b00b7..5fc7707 100644
--- a/mingw-w64-crt/lib64/wkbdca.def
+++ b/mingw-w64-crt/lib64/wkbdca.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdcan.def b/mingw-w64-crt/lib64/wkbdcan.def
index a5d6aa7..4c35200 100644
--- a/mingw-w64-crt/lib64/wkbdcan.def
+++ b/mingw-w64-crt/lib64/wkbdcan.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCAN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCAN.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCAN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCAN.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdcr.def b/mingw-w64-crt/lib64/wkbdcr.def
index a3edc76..7679e80 100644
--- a/mingw-w64-crt/lib64/wkbdcr.def
+++ b/mingw-w64-crt/lib64/wkbdcr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdcz.def b/mingw-w64-crt/lib64/wkbdcz.def
index 6b1c8b6..618ee73 100644
--- a/mingw-w64-crt/lib64/wkbdcz.def
+++ b/mingw-w64-crt/lib64/wkbdcz.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCZ.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCZ.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdcz1.def b/mingw-w64-crt/lib64/wkbdcz1.def
index ba1bf7f..4014b96 100644
--- a/mingw-w64-crt/lib64/wkbdcz1.def
+++ b/mingw-w64-crt/lib64/wkbdcz1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCZ1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCZ1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCZ1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCZ1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdcz2.def b/mingw-w64-crt/lib64/wkbdcz2.def
index 57c007e..e37c32c 100644
--- a/mingw-w64-crt/lib64/wkbdcz2.def
+++ b/mingw-w64-crt/lib64/wkbdcz2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDCZ2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDCZ2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDCZ2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDCZ2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdda.def b/mingw-w64-crt/lib64/wkbdda.def
index 31f13fe..8a7269b 100644
--- a/mingw-w64-crt/lib64/wkbdda.def
+++ b/mingw-w64-crt/lib64/wkbdda.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDDA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDDA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDDA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDDA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbddiv1.def b/mingw-w64-crt/lib64/wkbddiv1.def
index 4baa6ea..376187a 100644
--- a/mingw-w64-crt/lib64/wkbddiv1.def
+++ b/mingw-w64-crt/lib64/wkbddiv1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDDIV1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDDIV1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDDIV1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDDIV1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbddiv2.def b/mingw-w64-crt/lib64/wkbddiv2.def
index 9943059..540f254 100644
--- a/mingw-w64-crt/lib64/wkbddiv2.def
+++ b/mingw-w64-crt/lib64/wkbddiv2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDDIV2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDDIV2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDDIV2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDDIV2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbddv.def b/mingw-w64-crt/lib64/wkbddv.def
index 72f3ad3..d84d16e 100644
--- a/mingw-w64-crt/lib64/wkbddv.def
+++ b/mingw-w64-crt/lib64/wkbddv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDDV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDDV.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDDV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDDV.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdes.def b/mingw-w64-crt/lib64/wkbdes.def
index 8b4698e..3daea3d 100644
--- a/mingw-w64-crt/lib64/wkbdes.def
+++ b/mingw-w64-crt/lib64/wkbdes.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDES.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDES.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDES.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDES.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdest.def b/mingw-w64-crt/lib64/wkbdest.def
index 81ca14e..954d822 100644
--- a/mingw-w64-crt/lib64/wkbdest.def
+++ b/mingw-w64-crt/lib64/wkbdest.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDEST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDEST.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDEST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDEST.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdfa.def b/mingw-w64-crt/lib64/wkbdfa.def
index 95b7f84..05ab79c 100644
--- a/mingw-w64-crt/lib64/wkbdfa.def
+++ b/mingw-w64-crt/lib64/wkbdfa.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdfc.def b/mingw-w64-crt/lib64/wkbdfc.def
index 3cec8df..1970a39 100644
--- a/mingw-w64-crt/lib64/wkbdfc.def
+++ b/mingw-w64-crt/lib64/wkbdfc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdfi.def b/mingw-w64-crt/lib64/wkbdfi.def
index af84a45..49b5c1e 100644
--- a/mingw-w64-crt/lib64/wkbdfi.def
+++ b/mingw-w64-crt/lib64/wkbdfi.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFI.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFI.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdfo.def b/mingw-w64-crt/lib64/wkbdfo.def
index 7067684..db2e4bd 100644
--- a/mingw-w64-crt/lib64/wkbdfo.def
+++ b/mingw-w64-crt/lib64/wkbdfo.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFO.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFO.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdfr.def b/mingw-w64-crt/lib64/wkbdfr.def
index 82dd2f2..523ed66 100644
--- a/mingw-w64-crt/lib64/wkbdfr.def
+++ b/mingw-w64-crt/lib64/wkbdfr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDFR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDFR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDFR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDFR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdgae.def b/mingw-w64-crt/lib64/wkbdgae.def
index 630db6f..d3a1d7e 100644
--- a/mingw-w64-crt/lib64/wkbdgae.def
+++ b/mingw-w64-crt/lib64/wkbdgae.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGAE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGAE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGAE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGAE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdgeo.def b/mingw-w64-crt/lib64/wkbdgeo.def
index a962383..80cde30 100644
--- a/mingw-w64-crt/lib64/wkbdgeo.def
+++ b/mingw-w64-crt/lib64/wkbdgeo.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGeo.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGeo.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGeo.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGeo.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdgkl.def b/mingw-w64-crt/lib64/wkbdgkl.def
index 49cf091..d1bee9d 100644
--- a/mingw-w64-crt/lib64/wkbdgkl.def
+++ b/mingw-w64-crt/lib64/wkbdgkl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGKL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGKL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGKL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGKL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdgr.def b/mingw-w64-crt/lib64/wkbdgr.def
index f87f293..6dba5cf 100644
--- a/mingw-w64-crt/lib64/wkbdgr.def
+++ b/mingw-w64-crt/lib64/wkbdgr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdgr1.def b/mingw-w64-crt/lib64/wkbdgr1.def
index f90c0fe..9c03b1d 100644
--- a/mingw-w64-crt/lib64/wkbdgr1.def
+++ b/mingw-w64-crt/lib64/wkbdgr1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDGR1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDGR1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDGR1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDGR1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdhe.def b/mingw-w64-crt/lib64/wkbdhe.def
index c809729..ebef868 100644
--- a/mingw-w64-crt/lib64/wkbdhe.def
+++ b/mingw-w64-crt/lib64/wkbdhe.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdhe220.def b/mingw-w64-crt/lib64/wkbdhe220.def
index bc7cdde..9b11d0e 100644
--- a/mingw-w64-crt/lib64/wkbdhe220.def
+++ b/mingw-w64-crt/lib64/wkbdhe220.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHE220.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHE220.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHE220.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHE220.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdhe319.def b/mingw-w64-crt/lib64/wkbdhe319.def
index cfa96e1..1cddde2 100644
--- a/mingw-w64-crt/lib64/wkbdhe319.def
+++ b/mingw-w64-crt/lib64/wkbdhe319.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHE319.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHE319.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHE319.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHE319.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdheb.def b/mingw-w64-crt/lib64/wkbdheb.def
index e3548a9..739df68 100644
--- a/mingw-w64-crt/lib64/wkbdheb.def
+++ b/mingw-w64-crt/lib64/wkbdheb.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHEB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHEB.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHEB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHEB.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdhela2.def b/mingw-w64-crt/lib64/wkbdhela2.def
index a9d6263..6f61aa2 100644
--- a/mingw-w64-crt/lib64/wkbdhela2.def
+++ b/mingw-w64-crt/lib64/wkbdhela2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHELA2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHELA2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHELA2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHELA2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdhela3.def b/mingw-w64-crt/lib64/wkbdhela3.def
index 6593f4b..5d16645 100644
--- a/mingw-w64-crt/lib64/wkbdhela3.def
+++ b/mingw-w64-crt/lib64/wkbdhela3.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHELA3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHELA3.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHELA3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHELA3.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdhept.def b/mingw-w64-crt/lib64/wkbdhept.def
index d8b1d58..3c661c8 100644
--- a/mingw-w64-crt/lib64/wkbdhept.def
+++ b/mingw-w64-crt/lib64/wkbdhept.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHEPT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHEPT.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHEPT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHEPT.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdhu.def b/mingw-w64-crt/lib64/wkbdhu.def
index 44c1a48..ab1024d 100644
--- a/mingw-w64-crt/lib64/wkbdhu.def
+++ b/mingw-w64-crt/lib64/wkbdhu.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHU.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHU.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdhu1.def b/mingw-w64-crt/lib64/wkbdhu1.def
index 1b9ea38..0b20ef4 100644
--- a/mingw-w64-crt/lib64/wkbdhu1.def
+++ b/mingw-w64-crt/lib64/wkbdhu1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDHU1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDHU1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDHU1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDHU1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdibm02.def b/mingw-w64-crt/lib64/wkbdibm02.def
index d19c82a..8018e44 100644
--- a/mingw-w64-crt/lib64/wkbdibm02.def
+++ b/mingw-w64-crt/lib64/wkbdibm02.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDIBM02.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIBM02.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDIBM02.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIBM02.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdic.def b/mingw-w64-crt/lib64/wkbdic.def
index 6692297..c599202 100644
--- a/mingw-w64-crt/lib64/wkbdic.def
+++ b/mingw-w64-crt/lib64/wkbdic.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDIC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDIC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdindev.def b/mingw-w64-crt/lib64/wkbdindev.def
index 7de3a9e..1ed832d 100644
--- a/mingw-w64-crt/lib64/wkbdindev.def
+++ b/mingw-w64-crt/lib64/wkbdindev.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINDEV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINDEV.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINDEV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINDEV.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdinguj.def b/mingw-w64-crt/lib64/wkbdinguj.def
index 7d06164..308ea89 100644
--- a/mingw-w64-crt/lib64/wkbdinguj.def
+++ b/mingw-w64-crt/lib64/wkbdinguj.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINGUJ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINGUJ.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINGUJ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINGUJ.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdinhin.def b/mingw-w64-crt/lib64/wkbdinhin.def
index 29cb9e6..c9a2268 100644
--- a/mingw-w64-crt/lib64/wkbdinhin.def
+++ b/mingw-w64-crt/lib64/wkbdinhin.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINHIN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINHIN.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINHIN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINHIN.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdinkan.def b/mingw-w64-crt/lib64/wkbdinkan.def
index 4a434ea..a16318d 100644
--- a/mingw-w64-crt/lib64/wkbdinkan.def
+++ b/mingw-w64-crt/lib64/wkbdinkan.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINKAN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINKAN.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINKAN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINKAN.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdinmar.def b/mingw-w64-crt/lib64/wkbdinmar.def
index 4d7f086..cbe34f6 100644
--- a/mingw-w64-crt/lib64/wkbdinmar.def
+++ b/mingw-w64-crt/lib64/wkbdinmar.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINMAR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINMAR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINMAR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINMAR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdinpun.def b/mingw-w64-crt/lib64/wkbdinpun.def
index 7bcf10a..632004c 100644
--- a/mingw-w64-crt/lib64/wkbdinpun.def
+++ b/mingw-w64-crt/lib64/wkbdinpun.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINPUN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINPUN.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINPUN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINPUN.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdintam.def b/mingw-w64-crt/lib64/wkbdintam.def
index 743d25b..d03b845 100644
--- a/mingw-w64-crt/lib64/wkbdintam.def
+++ b/mingw-w64-crt/lib64/wkbdintam.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINTAM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINTAM.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINTAM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINTAM.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdintel.def b/mingw-w64-crt/lib64/wkbdintel.def
index 73cd141..808c3b8 100644
--- a/mingw-w64-crt/lib64/wkbdintel.def
+++ b/mingw-w64-crt/lib64/wkbdintel.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDINTEL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDINTEL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDINTEL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDINTEL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdir.def b/mingw-w64-crt/lib64/wkbdir.def
index 64f8e06..c631229 100644
--- a/mingw-w64-crt/lib64/wkbdir.def
+++ b/mingw-w64-crt/lib64/wkbdir.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDIR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDIR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdit.def b/mingw-w64-crt/lib64/wkbdit.def
index d40fb7c..5774ed8 100644
--- a/mingw-w64-crt/lib64/wkbdit.def
+++ b/mingw-w64-crt/lib64/wkbdit.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDIT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIT.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDIT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIT.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdit142.def b/mingw-w64-crt/lib64/wkbdit142.def
index 904f6b1..0e9181c 100644
--- a/mingw-w64-crt/lib64/wkbdit142.def
+++ b/mingw-w64-crt/lib64/wkbdit142.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDIT142.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDIT142.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDIT142.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDIT142.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdjpn.def b/mingw-w64-crt/lib64/wkbdjpn.def
index efc4162..a4b514a 100644
--- a/mingw-w64-crt/lib64/wkbdjpn.def
+++ b/mingw-w64-crt/lib64/wkbdjpn.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file KBD101.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBD101.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
-KbdLayerRealDllFileNT4
-KbdLayerRealDllFile
-KbdLayerMultiDescriptor
+; 
+; Exports of file KBD101.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBD101.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
+KbdLayerRealDllFileNT4
+KbdLayerRealDllFile
+KbdLayerMultiDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdkaz.def b/mingw-w64-crt/lib64/wkbdkaz.def
index 88e8e85..8e7f79f 100644
--- a/mingw-w64-crt/lib64/wkbdkaz.def
+++ b/mingw-w64-crt/lib64/wkbdkaz.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDKAZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDKAZ.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDKAZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDKAZ.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdkor.def b/mingw-w64-crt/lib64/wkbdkor.def
index a74f0da..3c56ee6 100644
--- a/mingw-w64-crt/lib64/wkbdkor.def
+++ b/mingw-w64-crt/lib64/wkbdkor.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file KBDKOR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDKOR.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
-KbdLayerRealDllFileNT4
-KbdLayerRealDllFile
-KbdLayerMultiDescriptor
+; 
+; Exports of file KBDKOR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDKOR.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
+KbdLayerRealDllFileNT4
+KbdLayerRealDllFile
+KbdLayerMultiDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdkyr.def b/mingw-w64-crt/lib64/wkbdkyr.def
index f314ef2..504bac7 100644
--- a/mingw-w64-crt/lib64/wkbdkyr.def
+++ b/mingw-w64-crt/lib64/wkbdkyr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDKYR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDKYR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDKYR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDKYR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdla.def b/mingw-w64-crt/lib64/wkbdla.def
index 43f38d7..b6e846a 100644
--- a/mingw-w64-crt/lib64/wkbdla.def
+++ b/mingw-w64-crt/lib64/wkbdla.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdlk41a.def b/mingw-w64-crt/lib64/wkbdlk41a.def
index 9a61b05..7775e33 100644
--- a/mingw-w64-crt/lib64/wkbdlk41a.def
+++ b/mingw-w64-crt/lib64/wkbdlk41a.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDLK41A.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLK41A.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDLK41A.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLK41A.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdlk41j.def b/mingw-w64-crt/lib64/wkbdlk41j.def
index 43122a9..f735091 100644
--- a/mingw-w64-crt/lib64/wkbdlk41j.def
+++ b/mingw-w64-crt/lib64/wkbdlk41j.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDLK41J.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLK41J.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDLK41J.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLK41J.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdlt.def b/mingw-w64-crt/lib64/wkbdlt.def
index 434168c..9f5e9f6 100644
--- a/mingw-w64-crt/lib64/wkbdlt.def
+++ b/mingw-w64-crt/lib64/wkbdlt.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLT.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLT.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdlt1.def b/mingw-w64-crt/lib64/wkbdlt1.def
index ad7ed0b..0430e22 100644
--- a/mingw-w64-crt/lib64/wkbdlt1.def
+++ b/mingw-w64-crt/lib64/wkbdlt1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLT1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLT1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLT1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLT1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdlv.def b/mingw-w64-crt/lib64/wkbdlv.def
index a7a5b3e..c98b461 100644
--- a/mingw-w64-crt/lib64/wkbdlv.def
+++ b/mingw-w64-crt/lib64/wkbdlv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLV.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLV.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdlv1.def b/mingw-w64-crt/lib64/wkbdlv1.def
index c57ca17..d29bb75 100644
--- a/mingw-w64-crt/lib64/wkbdlv1.def
+++ b/mingw-w64-crt/lib64/wkbdlv1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDLV1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDLV1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDLV1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDLV1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdmac.def b/mingw-w64-crt/lib64/wkbdmac.def
index 07a9935..ed75126 100644
--- a/mingw-w64-crt/lib64/wkbdmac.def
+++ b/mingw-w64-crt/lib64/wkbdmac.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDMAC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDMAC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDMAC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDMAC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdmon.def b/mingw-w64-crt/lib64/wkbdmon.def
index 31e23d2..a214804 100644
--- a/mingw-w64-crt/lib64/wkbdmon.def
+++ b/mingw-w64-crt/lib64/wkbdmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDMON.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDMON.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdne.def b/mingw-w64-crt/lib64/wkbdne.def
index 42cdbfc..3edbace 100644
--- a/mingw-w64-crt/lib64/wkbdne.def
+++ b/mingw-w64-crt/lib64/wkbdne.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDNE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNE.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDNE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNE.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdnec.def b/mingw-w64-crt/lib64/wkbdnec.def
index 4add648..339fd18 100644
--- a/mingw-w64-crt/lib64/wkbdnec.def
+++ b/mingw-w64-crt/lib64/wkbdnec.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDNEC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNEC.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDNEC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNEC.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdnec95.def b/mingw-w64-crt/lib64/wkbdnec95.def
index 854035f..89cceb4 100644
--- a/mingw-w64-crt/lib64/wkbdnec95.def
+++ b/mingw-w64-crt/lib64/wkbdnec95.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDNEC95.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNEC95.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDNEC95.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNEC95.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdnecAT.def b/mingw-w64-crt/lib64/wkbdnecAT.def
index 202a8b1..bc0b5d5 100644
--- a/mingw-w64-crt/lib64/wkbdnecAT.def
+++ b/mingw-w64-crt/lib64/wkbdnecAT.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDNECAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNECAT.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDNECAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNECAT.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdnecNT.def b/mingw-w64-crt/lib64/wkbdnecNT.def
index 566f6db..185ef8f 100644
--- a/mingw-w64-crt/lib64/wkbdnecNT.def
+++ b/mingw-w64-crt/lib64/wkbdnecNT.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file KBDNECNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNECNT.dll
-EXPORTS
-KbdLayerDescriptor
-KbdNlsLayerDescriptor
+; 
+; Exports of file KBDNECNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNECNT.dll
+EXPORTS
+KbdLayerDescriptor
+KbdNlsLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdno.def b/mingw-w64-crt/lib64/wkbdno.def
index 45dba67..d9c6078 100644
--- a/mingw-w64-crt/lib64/wkbdno.def
+++ b/mingw-w64-crt/lib64/wkbdno.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDNO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDNO.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDNO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDNO.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdpl.def b/mingw-w64-crt/lib64/wkbdpl.def
index 6e8c567..513d3da 100644
--- a/mingw-w64-crt/lib64/wkbdpl.def
+++ b/mingw-w64-crt/lib64/wkbdpl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDPL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDPL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDPL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDPL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdpl1.def b/mingw-w64-crt/lib64/wkbdpl1.def
index 0e21ead..9885f2d 100644
--- a/mingw-w64-crt/lib64/wkbdpl1.def
+++ b/mingw-w64-crt/lib64/wkbdpl1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDPL1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDPL1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDPL1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDPL1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdpo.def b/mingw-w64-crt/lib64/wkbdpo.def
index 2a876aa..87a169c 100644
--- a/mingw-w64-crt/lib64/wkbdpo.def
+++ b/mingw-w64-crt/lib64/wkbdpo.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDPO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDPO.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDPO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDPO.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdro.def b/mingw-w64-crt/lib64/wkbdro.def
index 908f730..7e3ff01 100644
--- a/mingw-w64-crt/lib64/wkbdro.def
+++ b/mingw-w64-crt/lib64/wkbdro.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDRO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDRO.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDRO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDRO.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdru.def b/mingw-w64-crt/lib64/wkbdru.def
index 811012a..f139f58 100644
--- a/mingw-w64-crt/lib64/wkbdru.def
+++ b/mingw-w64-crt/lib64/wkbdru.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDRU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDRU.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDRU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDRU.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdru1.def b/mingw-w64-crt/lib64/wkbdru1.def
index dcb267c..43fb3ee 100644
--- a/mingw-w64-crt/lib64/wkbdru1.def
+++ b/mingw-w64-crt/lib64/wkbdru1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDRU1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDRU1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDRU1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDRU1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdsf.def b/mingw-w64-crt/lib64/wkbdsf.def
index fef8d4f..81d5d18 100644
--- a/mingw-w64-crt/lib64/wkbdsf.def
+++ b/mingw-w64-crt/lib64/wkbdsf.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSF.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSF.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdsg.def b/mingw-w64-crt/lib64/wkbdsg.def
index 966f091..49dfe8a 100644
--- a/mingw-w64-crt/lib64/wkbdsg.def
+++ b/mingw-w64-crt/lib64/wkbdsg.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSG.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSG.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdsl.def b/mingw-w64-crt/lib64/wkbdsl.def
index 26ba56f..9cc826c 100644
--- a/mingw-w64-crt/lib64/wkbdsl.def
+++ b/mingw-w64-crt/lib64/wkbdsl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdsl1.def b/mingw-w64-crt/lib64/wkbdsl1.def
index 30ce728..1b26781 100644
--- a/mingw-w64-crt/lib64/wkbdsl1.def
+++ b/mingw-w64-crt/lib64/wkbdsl1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSL1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSL1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSL1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSL1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdsp.def b/mingw-w64-crt/lib64/wkbdsp.def
index 25a1197..4ae1c59 100644
--- a/mingw-w64-crt/lib64/wkbdsp.def
+++ b/mingw-w64-crt/lib64/wkbdsp.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSP.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSP.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdsw.def b/mingw-w64-crt/lib64/wkbdsw.def
index 04f49f6..778650c 100644
--- a/mingw-w64-crt/lib64/wkbdsw.def
+++ b/mingw-w64-crt/lib64/wkbdsw.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSW.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSW.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSW.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSW.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdsyr1.def b/mingw-w64-crt/lib64/wkbdsyr1.def
index e7dfa2c..a711135 100644
--- a/mingw-w64-crt/lib64/wkbdsyr1.def
+++ b/mingw-w64-crt/lib64/wkbdsyr1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSYR1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSYR1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSYR1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSYR1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdsyr2.def b/mingw-w64-crt/lib64/wkbdsyr2.def
index b619f69..930c151 100644
--- a/mingw-w64-crt/lib64/wkbdsyr2.def
+++ b/mingw-w64-crt/lib64/wkbdsyr2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDSYR2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDSYR2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDSYR2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDSYR2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdtat.def b/mingw-w64-crt/lib64/wkbdtat.def
index abadc31..91b2b91 100644
--- a/mingw-w64-crt/lib64/wkbdtat.def
+++ b/mingw-w64-crt/lib64/wkbdtat.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTAT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTAT.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTAT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTAT.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdth0.def b/mingw-w64-crt/lib64/wkbdth0.def
index ce49753..ce48db2 100644
--- a/mingw-w64-crt/lib64/wkbdth0.def
+++ b/mingw-w64-crt/lib64/wkbdth0.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTH0.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTH0.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTH0.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTH0.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdth1.def b/mingw-w64-crt/lib64/wkbdth1.def
index a8a8282..63759ce 100644
--- a/mingw-w64-crt/lib64/wkbdth1.def
+++ b/mingw-w64-crt/lib64/wkbdth1.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTH1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTH1.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTH1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTH1.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdth2.def b/mingw-w64-crt/lib64/wkbdth2.def
index c59b04a..730e39a 100644
--- a/mingw-w64-crt/lib64/wkbdth2.def
+++ b/mingw-w64-crt/lib64/wkbdth2.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTH2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTH2.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTH2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTH2.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdth3.def b/mingw-w64-crt/lib64/wkbdth3.def
index ecb5e53..478d4fb 100644
--- a/mingw-w64-crt/lib64/wkbdth3.def
+++ b/mingw-w64-crt/lib64/wkbdth3.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTH3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTH3.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTH3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTH3.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdtuf.def b/mingw-w64-crt/lib64/wkbdtuf.def
index 1bd7dfb..cf74d7f 100644
--- a/mingw-w64-crt/lib64/wkbdtuf.def
+++ b/mingw-w64-crt/lib64/wkbdtuf.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTUF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTUF.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTUF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTUF.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdtuq.def b/mingw-w64-crt/lib64/wkbdtuq.def
index 0e515ca..2e68fb5 100644
--- a/mingw-w64-crt/lib64/wkbdtuq.def
+++ b/mingw-w64-crt/lib64/wkbdtuq.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDTUQ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDTUQ.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDTUQ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDTUQ.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbduk.def b/mingw-w64-crt/lib64/wkbduk.def
index 1f76bde..4f97f08 100644
--- a/mingw-w64-crt/lib64/wkbduk.def
+++ b/mingw-w64-crt/lib64/wkbduk.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUK.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUK.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdur.def b/mingw-w64-crt/lib64/wkbdur.def
index ed26fdf..e23f15f 100644
--- a/mingw-w64-crt/lib64/wkbdur.def
+++ b/mingw-w64-crt/lib64/wkbdur.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdurdu.def b/mingw-w64-crt/lib64/wkbdurdu.def
index d22879f..11e0567 100644
--- a/mingw-w64-crt/lib64/wkbdurdu.def
+++ b/mingw-w64-crt/lib64/wkbdurdu.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDURDU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDURDU.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDURDU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDURDU.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdus.def b/mingw-w64-crt/lib64/wkbdus.def
index 5b5c182..cfc6633 100644
--- a/mingw-w64-crt/lib64/wkbdus.def
+++ b/mingw-w64-crt/lib64/wkbdus.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUS.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUS.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdusa.def b/mingw-w64-crt/lib64/wkbdusa.def
index c2ecb12..812339c 100644
--- a/mingw-w64-crt/lib64/wkbdusa.def
+++ b/mingw-w64-crt/lib64/wkbdusa.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUSA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUSA.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUSA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUSA.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdusl.def b/mingw-w64-crt/lib64/wkbdusl.def
index 01a7485..62cfe7f 100644
--- a/mingw-w64-crt/lib64/wkbdusl.def
+++ b/mingw-w64-crt/lib64/wkbdusl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUSL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUSL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUSL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUSL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdusr.def b/mingw-w64-crt/lib64/wkbdusr.def
index 7b240c5..af28b4e 100644
--- a/mingw-w64-crt/lib64/wkbdusr.def
+++ b/mingw-w64-crt/lib64/wkbdusr.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUSR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUSR.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUSR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUSR.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdusx.def b/mingw-w64-crt/lib64/wkbdusx.def
index 645d212..faf81c3 100644
--- a/mingw-w64-crt/lib64/wkbdusx.def
+++ b/mingw-w64-crt/lib64/wkbdusx.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUSX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUSX.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUSX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUSX.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbduzb.def b/mingw-w64-crt/lib64/wkbduzb.def
index ba31068..829673d 100644
--- a/mingw-w64-crt/lib64/wkbduzb.def
+++ b/mingw-w64-crt/lib64/wkbduzb.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDUZB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDUZB.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDUZB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDUZB.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdvntc.def b/mingw-w64-crt/lib64/wkbdvntc.def
index 26d8d76..3a65a6d 100644
--- a/mingw-w64-crt/lib64/wkbdvntc.def
+++ b/mingw-w64-crt/lib64/wkbdvntc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDVNTC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDVNTC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDVNTC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDVNTC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdycc.def b/mingw-w64-crt/lib64/wkbdycc.def
index e8790ba..13eb1b6 100644
--- a/mingw-w64-crt/lib64/wkbdycc.def
+++ b/mingw-w64-crt/lib64/wkbdycc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDYCC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDYCC.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDYCC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDYCC.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkbdycl.def b/mingw-w64-crt/lib64/wkbdycl.def
index 69cec91..ec170c3 100644
--- a/mingw-w64-crt/lib64/wkbdycl.def
+++ b/mingw-w64-crt/lib64/wkbdycl.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file KBDYCL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KBDYCL.dll
-EXPORTS
-KbdLayerDescriptor
+; 
+; Exports of file KBDYCL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KBDYCL.dll
+EXPORTS
+KbdLayerDescriptor
diff --git a/mingw-w64-crt/lib64/wkerberos.def b/mingw-w64-crt/lib64/wkerberos.def
index 8625473..972f6d7 100644
--- a/mingw-w64-crt/lib64/wkerberos.def
+++ b/mingw-w64-crt/lib64/wkerberos.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file Kerberos.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Kerberos.dll
-EXPORTS
-SpInitialize
-KerbDomainChangeCallback
-SpLsaModeInitialize
-SpUserModeInitialize
-KerbCreateTokenFromTicket
-KerbFree
-KerbIsInitialized
-KerbKdcCallBack
-KerbMakeKdcCall
-SpInstanceInit
+; 
+; Exports of file Kerberos.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Kerberos.dll
+EXPORTS
+SpInitialize
+KerbDomainChangeCallback
+SpLsaModeInitialize
+SpUserModeInitialize
+KerbCreateTokenFromTicket
+KerbFree
+KerbIsInitialized
+KerbKdcCallBack
+KerbMakeKdcCall
+SpInstanceInit
diff --git a/mingw-w64-crt/lib64/wkernel32.def b/mingw-w64-crt/lib64/wkernel32.def
index af7cb01..d93107a 100644
--- a/mingw-w64-crt/lib64/wkernel32.def
+++ b/mingw-w64-crt/lib64/wkernel32.def
@@ -1,987 +1,987 @@
-; 
-; Exports of file KERNEL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KERNEL32.dll
-EXPORTS
-ActivateActCtx
-AddAtomA
-AddAtomW
-AddConsoleAliasA
-AddConsoleAliasW
-AddLocalAlternateComputerNameA
-AddLocalAlternateComputerNameW
-AddRefActCtx
-AddVectoredContinueHandler
-AddVectoredExceptionHandler
-AllocConsole
-AllocateUserPhysicalPages
-AreFileApisANSI
-AssignProcessToJobObject
-AttachConsole
-BackupRead
-BackupSeek
-BackupWrite
-BaseCheckAppcompatCache
-BaseCheckRunApp
-BaseCleanupAppcompatCacheSupport
-BaseDumpAppcompatCache
-BaseFlushAppcompatCache
-BaseInitAppcompatCacheSupport
-BaseIsAppcompatInfrastructureDisabled
-BaseProcessInitPostImport
-BaseProcessStartThunk
-BaseQueryModuleData
-BaseThreadStartThunk
-BaseUpdateAppcompatCache
-BasepCheckBadapp
-BasepCheckWinSaferRestrictions
-BasepFreeAppCompatData
-Beep
-BeginUpdateResourceA
-BeginUpdateResourceW
-BindIoCompletionCallback
-BuildCommDCBA
-BuildCommDCBAndTimeoutsA
-BuildCommDCBAndTimeoutsW
-BuildCommDCBW
-CallNamedPipeA
-CallNamedPipeW
-CancelDeviceWakeupRequest
-CancelIo
-CancelTimerQueueTimer
-CancelWaitableTimer
-ChangeTimerQueueTimer
-CheckNameLegalDOS8Dot3A
-CheckNameLegalDOS8Dot3W
-CheckRemoteDebuggerPresent
-ClearCommBreak
-ClearCommError
-CloseConsoleHandle
-CloseHandle
-CloseProfileUserMapping
-CmdBatNotification
-CommConfigDialogA
-CommConfigDialogW
-CompareFileTime
-CompareStringA
-CompareStringW
-ConnectNamedPipe
-ConsoleIMERoutine
-ConsoleMenuControl
-ContinueDebugEvent
-ConvertDefaultLocale
-ConvertFiberToThread
-ConvertThreadToFiber
-ConvertThreadToFiberEx
-CopyFileA
-CopyFileExA
-CopyFileExW
-CopyFileW
-CopyLZFile
-CreateActCtxA
-CreateActCtxW
-CreateConsoleScreenBuffer
-CreateDirectoryA
-CreateDirectoryExA
-CreateDirectoryExW
-CreateDirectoryW
-CreateEventA
-CreateEventW
-CreateFiber
-CreateFiberEx
-CreateFileA
-CreateFileMappingA
-CreateFileMappingW
-CreateFileW
-CreateHardLinkA
-CreateHardLinkW
-CreateIoCompletionPort
-CreateJobObjectA
-CreateJobObjectW
-CreateJobSet
-CreateMailslotA
-CreateMailslotW
-CreateMemoryResourceNotification
-CreateMutexA
-CreateMutexW
-CreateNamedPipeA
-CreateNamedPipeW
-CreateNlsSecurityDescriptor
-CreatePipe
-CreateProcessA
-CreateProcessInternalA
-CreateProcessInternalW
-CreateProcessW
-CreateRemoteThread
-CreateSemaphoreA@32
-CreateSemaphoreW@32
-CreateSocketHandle
-CreateTapePartition
-CreateThread
-CreateTimerQueue
-CreateTimerQueueTimer
-CreateToolhelp32Snapshot
-CreateWaitableTimerA
-CreateWaitableTimerW
-CtrlRoutine
-DeactivateActCtx
-DebugActiveProcess
-DebugActiveProcessStop
-DebugBreak
-DebugBreakProcess
-DebugSetProcessKillOnExit
-DecodePointer
-DecodeSystemPointer
-DefineDosDeviceA
-DefineDosDeviceW
-DelayLoadFailureHook
-DeleteAtom
-DeleteCriticalSection
-DeleteFiber
-DeleteFileA
-DeleteFileW
-DeleteTimerQueue
-DeleteTimerQueueEx
-DeleteTimerQueueTimer
-DeleteVolumeMountPointA
-DeleteVolumeMountPointW
-DeviceIoControl
-DisableThreadLibraryCalls
-DisconnectNamedPipe
-DnsHostnameToComputerNameA
-DnsHostnameToComputerNameW
-DosDateTimeToFileTime
-DosPathToSessionPathA
-DosPathToSessionPathW
-DuplicateConsoleHandle
-DuplicateHandle
-EncodePointer
-EncodeSystemPointer
-EndUpdateResourceA
-EndUpdateResourceW
-EnterCriticalSection
-EnumCalendarInfoA
-EnumCalendarInfoExA
-EnumCalendarInfoExW
-EnumCalendarInfoW
-EnumDateFormatsA
-EnumDateFormatsExA
-EnumDateFormatsExW
-EnumDateFormatsW
-EnumLanguageGroupLocalesA
-EnumLanguageGroupLocalesW
-EnumResourceLanguagesA
-EnumResourceLanguagesW
-EnumResourceNamesA
-EnumResourceNamesW
-EnumResourceTypesA
-EnumResourceTypesW
-EnumSystemCodePagesA
-EnumSystemCodePagesW
-EnumSystemFirmwareTables
-EnumSystemGeoID
-EnumSystemLanguageGroupsA
-EnumSystemLanguageGroupsW
-EnumSystemLocalesA
-EnumSystemLocalesW
-EnumTimeFormatsA
-EnumTimeFormatsW
-EnumUILanguagesA
-EnumUILanguagesW
-EnumerateLocalComputerNamesA
-EnumerateLocalComputerNamesW
-EraseTape
-EscapeCommFunction
-ExitProcess
-ExitThread
-ExitVDM
-ExpandEnvironmentStringsA
-ExpandEnvironmentStringsW
-ExpungeConsoleCommandHistoryA
-ExpungeConsoleCommandHistoryW
-FatalAppExitA
-FatalAppExitW
-FatalExit
-FileTimeToDosDateTime
-FileTimeToLocalFileTime
-FileTimeToSystemTime
-FillConsoleOutputAttribute
-FillConsoleOutputCharacterA
-FillConsoleOutputCharacterW
-FindActCtxSectionGuid
-FindActCtxSectionStringA
-FindActCtxSectionStringW
-FindAtomA
-FindAtomW
-FindClose
-FindCloseChangeNotification
-FindFirstChangeNotificationA
-FindFirstChangeNotificationW
-FindFirstFileA
-FindFirstFileExA
-FindFirstFileExW
-FindFirstFileW
-FindFirstStreamW
-FindFirstVolumeA
-FindFirstVolumeMountPointA
-FindFirstVolumeMountPointW
-FindFirstVolumeW
-FindNextChangeNotification
-FindNextFileA
-FindNextFileW
-FindNextStreamW
-FindNextVolumeA
-FindNextVolumeMountPointA
-FindNextVolumeMountPointW
-FindNextVolumeW
-FindResourceA
-FindResourceExA
-FindResourceExW
-FindResourceW
-FindVolumeClose
-FindVolumeMountPointClose
-FlsAlloc
-FlsFree
-FlsGetValue
-FlsSetValue
-FlushConsoleInputBuffer
-FlushFileBuffers
-FlushInstructionCache
-FlushViewOfFile
-FoldStringA
-FoldStringW
-FormatMessageA
-FormatMessageW
-FreeConsole
-FreeEnvironmentStringsA
-FreeEnvironmentStringsW
-FreeLibrary
-FreeLibraryAndExitThread
-FreeResource
-FreeUserPhysicalPages
-GenerateConsoleCtrlEvent
-GetACP
-GetAtomNameA
-GetAtomNameW
-GetBinaryType
-GetBinaryTypeA
-GetBinaryTypeW
-GetCPFileNameFromRegistry
-GetCPInfo
-GetCPInfoExA
-GetCPInfoExW
-GetCalendarInfoA
-GetCalendarInfoW
-GetComPlusPackageInstallStatus
-GetCommConfig
-GetCommMask
-GetCommModemStatus
-GetCommProperties
-GetCommState
-GetCommTimeouts
-GetCommandLineA
-GetCommandLineW
-GetCompressedFileSizeA
-GetCompressedFileSizeW
-GetComputerNameA
-GetComputerNameExA
-GetComputerNameExW
-GetComputerNameW
-GetConsoleAliasA
-GetConsoleAliasExesA
-GetConsoleAliasExesLengthA
-GetConsoleAliasExesLengthW
-GetConsoleAliasExesW
-GetConsoleAliasW
-GetConsoleAliasesA
-GetConsoleAliasesLengthA
-GetConsoleAliasesLengthW
-GetConsoleAliasesW
-GetConsoleCP
-GetConsoleCharType
-GetConsoleCommandHistoryA
-GetConsoleCommandHistoryLengthA
-GetConsoleCommandHistoryLengthW
-GetConsoleCommandHistoryW
-GetConsoleCursorInfo
-GetConsoleCursorMode
-GetConsoleDisplayMode
-GetConsoleFontInfo
-GetConsoleFontSize
-GetConsoleHardwareState
-GetConsoleInputExeNameA
-GetConsoleInputExeNameW
-GetConsoleInputWaitHandle
-GetConsoleKeyboardLayoutNameA
-GetConsoleKeyboardLayoutNameW
-GetConsoleMode
-GetConsoleNlsMode
-GetConsoleOutputCP
-GetConsoleProcessList
-GetConsoleScreenBufferInfo
-GetConsoleSelectionInfo
-GetConsoleTitleA
-GetConsoleTitleW
-GetConsoleWindow
-GetCurrencyFormatA
-GetCurrencyFormatW
-GetCurrentActCtx
-GetCurrentConsoleFont
-GetCurrentDirectoryA
-GetCurrentDirectoryW
-GetCurrentProcess
-GetCurrentProcessId
-GetCurrentProcessorNumber
-GetCurrentThread
-GetCurrentThreadId
-GetDateFormatA
-GetDateFormatW
-GetDefaultCommConfigA
-GetDefaultCommConfigW
-GetDefaultSortkeySize
-GetDevicePowerState
-GetDiskFreeSpaceA
-GetDiskFreeSpaceExA
-GetDiskFreeSpaceExW
-GetDiskFreeSpaceW
-GetDllDirectoryA
-GetDllDirectoryW
-GetDriveTypeA
-GetDriveTypeW
-GetEnvironmentStrings
-GetEnvironmentStringsA
-GetEnvironmentStringsW
-GetEnvironmentVariableA
-GetEnvironmentVariableW
-GetExitCodeProcess
-GetExitCodeThread
-GetExpandedNameA
-GetExpandedNameW
-GetFileAttributesA@8
-GetFileAttributesExA
-GetFileAttributesExW
-GetFileAttributesW
-GetFileInformationByHandle
-GetFileSize
-GetFileSizeEx
-GetFileTime
-GetFileType
-GetFirmwareEnvironmentVariableA
-GetFirmwareEnvironmentVariableW
-GetFullPathNameA
-GetFullPathNameW
-GetGeoInfoA
-GetGeoInfoW
-GetHandleContext
-GetHandleInformation
-GetLargePageMinimum
-GetLargestConsoleWindowSize
-GetLastError
-GetLinguistLangSize
-GetLocalTime
-GetLocaleInfoA
-GetLocaleInfoW
-GetLogicalDriveStringsA
-GetLogicalDriveStringsW
-GetLogicalDrives
-GetLogicalProcessorInformation
-GetLongPathNameA
-GetLongPathNameW
-GetMailslotInfo
-GetModuleFileNameA
-GetModuleFileNameW
-GetModuleHandleA
-GetModuleHandleExA
-GetModuleHandleExW
-GetModuleHandleW
-GetNLSVersion
-GetNamedPipeHandleStateA
-GetNamedPipeHandleStateW
-GetNamedPipeInfo
-GetNativeSystemInfo
-GetNextVDMCommand
-GetNlsSectionName
-GetNumaAvailableMemoryNode
-GetNumaHighestNodeNumber
-GetNumaNodeProcessorMask
-GetNumaProcessorNode
-GetNumberFormatA
-GetNumberFormatW
-GetNumberOfConsoleFonts
-GetNumberOfConsoleInputEvents
-GetNumberOfConsoleMouseButtons
-GetOEMCP
-GetOverlappedResult
-GetPriorityClass
-GetPrivateProfileIntA
-GetPrivateProfileIntW
-GetPrivateProfileSectionA
-GetPrivateProfileSectionNamesA
-GetPrivateProfileSectionNamesW
-GetPrivateProfileSectionW
-GetPrivateProfileStringA
-GetPrivateProfileStringW
-GetPrivateProfileStructA
-GetPrivateProfileStructW
-GetProcAddress
-GetProcessAffinityMask
-GetProcessHandleCount
-GetProcessHeap
-GetProcessHeaps
-GetProcessId
-GetProcessIdOfThread
-GetProcessIoCounters
-GetProcessPriorityBoost
-GetProcessShutdownParameters
-GetProcessTimes
-GetProcessVersion
-GetProcessWorkingSetSize
-GetProcessWorkingSetSizeEx
-GetProfileIntA
-GetProfileIntW
-GetProfileSectionA
-GetProfileSectionW
-GetProfileStringA
-GetProfileStringW
-GetQueuedCompletionStatus
-GetShortPathNameA
-GetShortPathNameW
-GetStartupInfoA
-GetStartupInfoW
-GetStdHandle
-GetStringTypeA
-GetStringTypeExA
-GetStringTypeExW
-GetStringTypeW
-GetSystemDefaultLCID
-GetSystemDefaultLangID
-GetSystemDefaultUILanguage
-GetSystemDirectoryA
-GetSystemDirectoryW
-GetSystemFileCacheSize
-GetSystemFirmwareTable
-GetSystemInfo
-GetSystemPowerStatus
-GetSystemRegistryQuota
-GetSystemTime
-GetSystemTimeAdjustment
-GetSystemTimeAsFileTime
-GetSystemTimes
-GetSystemWindowsDirectoryA
-GetSystemWindowsDirectoryW
-GetSystemWow64DirectoryA
-GetSystemWow64DirectoryW
-GetTapeParameters
-GetTapePosition
-GetTapeStatus
-GetTempFileNameA
-GetTempFileNameW
-GetTempPathA
-GetTempPathW
-GetThreadContext
-GetThreadIOPendingFlag
-GetThreadId
-GetThreadLocale
-GetThreadPriority
-GetThreadPriorityBoost
-GetThreadSelectorEntry
-GetThreadTimes
-GetTickCount
-GetTimeFormatA
-GetTimeFormatW
-GetTimeZoneInformation
-GetUserDefaultLCID
-GetUserDefaultLangID
-GetUserDefaultUILanguage
-GetUserGeoID
-GetVDMCurrentDirectories
-GetVersion
-GetVersionExA
-GetVersionExW
-GetVolumeInformationA
-GetVolumeInformationW
-GetVolumeNameForVolumeMountPointA
-GetVolumeNameForVolumeMountPointW
-GetVolumePathNameA
-GetVolumePathNameW
-GetVolumePathNamesForVolumeNameA
-GetVolumePathNamesForVolumeNameW
-GetWindowsDirectoryA
-GetWindowsDirectoryW
-GetWriteWatch
-GlobalAddAtomA
-GlobalAddAtomW
-GlobalAlloc
-GlobalCompact
-GlobalDeleteAtom
-GlobalFindAtomA
-GlobalFindAtomW
-GlobalFix
-GlobalFlags
-GlobalFree
-GlobalGetAtomNameA
-GlobalGetAtomNameW
-GlobalHandle
-GlobalLock
-GlobalMemoryStatus@8
-GlobalMemoryStatusEx
-GlobalReAlloc
-GlobalSize
-GlobalUnWire
-GlobalUnfix
-GlobalUnlock
-GlobalWire
-Heap32First
-Heap32ListFirst
-Heap32ListNext
-Heap32Next
-HeapAlloc
-HeapCompact
-HeapCreate
-HeapCreateTagsW
-HeapDestroy
-HeapExtend
-HeapFree
-HeapLock
-HeapQueryInformation
-HeapQueryTagW
-HeapReAlloc
-HeapSetInformation
-HeapSize
-HeapSummary
-HeapUnlock
-HeapUsage
-HeapValidate
-HeapWalk
-InitAtomTable
-InitializeCriticalSection
-InitializeCriticalSectionAndSpinCount
-InitializeSListHead
-InterlockedCompareExchange64
-InterlockedCompareExchange
-InterlockedDecrement
-InterlockedExchange
-InterlockedExchangeAdd
-_InterlockedExchangeAdd = InterlockedExchangeAdd
-InterlockedFlushSList
-InterlockedIncrement
-InterlockedPopEntrySList
-InterlockedPushEntrySList
-InvalidateConsoleDIBits
-IsBadCodePtr
-IsBadHugeReadPtr
-IsBadHugeWritePtr
-IsBadReadPtr
-IsBadStringPtrA
-IsBadStringPtrW
-IsBadWritePtr
-IsDBCSLeadByte
-IsDBCSLeadByteEx
-IsDebuggerPresent
-IsNLSDefinedString
-IsProcessInJob
-IsProcessorFeaturePresent
-IsSystemResumeAutomatic
-IsTimeZoneRedirectionEnabled
-IsValidCodePage
-IsValidLanguageGroup
-IsValidLocale
-IsValidUILanguage
-IsWow64Process
-LCMapStringA
-LCMapStringW
-LZClose
-LZCloseFile
-LZCopy
-LZCreateFileW
-LZDone
-LZInit
-LZOpenFileA
-LZOpenFileW
-LZRead
-LZSeek
-LZStart
-LeaveCriticalSection
-LoadLibraryA
-LoadLibraryExA
-LoadLibraryExW
-LoadLibraryW
-LoadModule
-LoadResource
-LocalAlloc
-LocalCompact
-LocalFileTimeToFileTime
-LocalFlags
-LocalFree
-LocalHandle
-LocalLock
-LocalReAlloc
-LocalShrink
-LocalSize
-LocalUnlock
-LockFile
-LockFileEx
-LockResource
-MapUserPhysicalPages
-MapUserPhysicalPagesScatter
-MapViewOfFile
-MapViewOfFileEx
-Module32First
-Module32FirstW
-Module32Next
-Module32NextW
-MoveFileA
-MoveFileExA
-MoveFileExW
-MoveFileW
-MoveFileWithProgressA
-MoveFileWithProgressW
-MulDiv
-MultiByteToWideChar
-NeedCurrentDirectoryForExePathA
-NeedCurrentDirectoryForExePathW
-NlsConvertIntegerToString
-NlsGetCacheUpdateCount
-NlsResetProcessLocale
-OpenConsoleW
-OpenDataFile
-OpenEventA
-OpenEventW
-OpenFile
-OpenFileMappingA
-OpenFileMappingW
-OpenJobObjectA
-OpenJobObjectW
-OpenMutexA
-OpenMutexW
-OpenProcess
-OpenProfileUserMapping
-OpenSemaphoreA
-OpenSemaphoreW
-OpenThread
-OpenWaitableTimerA
-OpenWaitableTimerW
-OutputDebugStringA
-OutputDebugStringW
-PeekConsoleInputA
-PeekConsoleInputW
-PeekNamedPipe
-PostQueuedCompletionStatus
-PrepareTape
-PrivCopyFileExW
-PrivMoveFileIdentityW
-Process32First
-Process32FirstW
-Process32Next
-Process32NextW
-ProcessIdToSessionId
-PulseEvent
-PurgeComm
-QueryActCtxW
-QueryDepthSList
-QueryDosDeviceA
-QueryDosDeviceW
-QueryInformationJobObject
-QueryMemoryResourceNotification
-QueryPerformanceCounter
-QueryPerformanceFrequency
-QueueUserAPC
-QueueUserWorkItem
-RaiseException
-ReOpenFile
-ReadConsoleA
-ReadConsoleInputA
-ReadConsoleInputExA
-ReadConsoleInputExW
-ReadConsoleInputW
-ReadConsoleOutputA
-ReadConsoleOutputAttribute
-ReadConsoleOutputCharacterA
-ReadConsoleOutputCharacterW
-ReadConsoleOutputW
-ReadConsoleW
-ReadDirectoryChangesW
-ReadFile
-ReadFileEx
-ReadFileScatter
-ReadProcessMemory
-RegisterConsoleIME
-RegisterConsoleOS2
-RegisterConsoleVDM
-RegisterWaitForInputIdle
-RegisterWaitForSingleObject
-RegisterWaitForSingleObjectEx
-RegisterWowBaseHandlers
-RegisterWowExec
-ReleaseActCtx
-ReleaseMutex
-ReleaseSemaphore@24
-RemoveDirectoryA
-RemoveDirectoryW
-RemoveLocalAlternateComputerNameA
-RemoveLocalAlternateComputerNameW
-RemoveVectoredContinueHandler
-RemoveVectoredExceptionHandler
-ReplaceFile
-ReplaceFileA
-ReplaceFileW
-RequestDeviceWakeup
-RequestWakeupLatency
-ResetEvent
-ResetWriteWatch
-RestoreLastError
-ResumeThread
-RtlCaptureContext
-RtlCaptureStackBackTrace
-RtlFillMemory
-RtlMoveMemory
-RtlUnwind
-RtlZeroMemory
-ScrollConsoleScreenBufferA
-ScrollConsoleScreenBufferW
-SearchPathA
-SearchPathW
-SetCPGlobal
-SetCalendarInfoA
-SetCalendarInfoW
-SetClientTimeZoneInformation
-SetComPlusPackageInstallStatus
-SetCommBreak
-SetCommConfig
-SetCommMask
-SetCommState
-SetCommTimeouts
-SetComputerNameA
-SetComputerNameExA
-SetComputerNameExW
-SetComputerNameW
-SetConsoleActiveScreenBuffer
-SetConsoleCP
-SetConsoleCommandHistoryMode
-SetConsoleCtrlHandler
-SetConsoleCursor
-SetConsoleCursorInfo
-SetConsoleCursorMode
-SetConsoleCursorPosition
-SetConsoleDisplayMode
-SetConsoleFont
-SetConsoleHardwareState
-SetConsoleIcon
-SetConsoleInputExeNameA
-SetConsoleInputExeNameW
-SetConsoleKeyShortcuts
-SetConsoleLocalEUDC
-SetConsoleMaximumWindowSize
-SetConsoleMenuClose
-SetConsoleMode
-SetConsoleNlsMode
-SetConsoleNumberOfCommandsA
-SetConsoleNumberOfCommandsW
-SetConsoleOS2OemFormat
-SetConsoleOutputCP
-SetConsolePalette
-SetConsoleScreenBufferSize
-SetConsoleTextAttribute
-SetConsoleTitleA
-SetConsoleTitleW
-SetConsoleWindowInfo
-SetCriticalSectionSpinCount
-SetCurrentDirectoryA
-SetCurrentDirectoryW
-SetDefaultCommConfigA
-SetDefaultCommConfigW
-SetDllDirectoryA
-SetDllDirectoryW
-SetEndOfFile
-SetEnvironmentStringsA
-SetEnvironmentStringsW
-SetEnvironmentVariableA
-SetEnvironmentVariableW
-SetErrorMode
-SetEvent
-SetFileApisToANSI
-SetFileApisToOEM
-SetFileAttributesA
-SetFileAttributesW
-SetFilePointer
-SetFilePointerEx
-SetFileShortNameA
-SetFileShortNameW
-SetFileTime
-SetFileValidData
-SetFirmwareEnvironmentVariableA
-SetFirmwareEnvironmentVariableW
-SetHandleContext
-SetHandleCount
-SetHandleInformation
-SetInformationJobObject
-SetLastConsoleEventActive
-SetLastError
-SetLocalPrimaryComputerNameA
-SetLocalPrimaryComputerNameW
-SetLocalTime
-SetLocaleInfoA
-SetLocaleInfoW
-SetMailslotInfo
-SetMessageWaitingIndicator
-SetNamedPipeHandleState
-SetPriorityClass
-SetProcessAffinityMask
-SetProcessPriorityBoost
-SetProcessShutdownParameters
-SetProcessWorkingSetSize
-SetProcessWorkingSetSizeEx
-SetStdHandle
-SetSystemFileCacheSize
-SetSystemPowerState
-SetSystemTime
-SetSystemTimeAdjustment
-SetTapeParameters
-SetTapePosition
-SetTermsrvAppInstallMode
-SetThreadAffinityMask
-SetThreadContext
-SetThreadExecutionState
-SetThreadIdealProcessor
-SetThreadLocale
-SetThreadPriority
-SetThreadPriorityBoost
-SetThreadStackGuarantee
-SetThreadUILanguage
-SetTimeZoneInformation
-SetTimerQueueTimer
-SetUnhandledExceptionFilter
-SetUserGeoID
-SetVDMCurrentDirectories
-SetVolumeLabelA
-SetVolumeLabelW
-SetVolumeMountPointA
-SetVolumeMountPointW
-SetWaitableTimer
-SetupComm
-ShowConsoleCursor
-SignalObjectAndWait
-SizeofResource
-Sleep
-SleepEx
-SuspendThread
-SwitchToFiber
-SwitchToThread
-SystemTimeToFileTime
-SystemTimeToTzSpecificLocalTime
-TerminateJobObject
-TerminateProcess
-TerminateThread
-TermsrvAppInstallMode
-Thread32First
-Thread32Next
-TlsAlloc
-TlsFree
-TlsGetValue@8
-TlsSetValue@16
-Toolhelp32ReadProcessMemory
-TransactNamedPipe
-TransmitCommChar
-TryEnterCriticalSection
-TzSpecificLocalTimeToSystemTime
-UTRegister
-UTUnRegister
-UnhandledExceptionFilter
-UnlockFile
-UnlockFileEx
-UnmapViewOfFile
-UnregisterConsoleIME
-UnregisterWait
-UnregisterWaitEx
-UpdateResourceA
-UpdateResourceW
-VDMConsoleOperation
-VDMOperationStarted
-ValidateLCType
-ValidateLocale
-VerLanguageNameA
-VerLanguageNameW
-VerSetConditionMask
-VerifyConsoleIoHandle
-VerifyVersionInfoA
-VerifyVersionInfoW
-VirtualAlloc
-VirtualAllocEx
-VirtualFree
-VirtualFreeEx
-VirtualLock
-VirtualProtect
-VirtualProtectEx
-VirtualQuery
-VirtualQueryEx
-VirtualUnlock
-WTSGetActiveConsoleSessionId
-WaitCommEvent
-WaitForDebugEvent
-WaitForMultipleObjects
-WaitForMultipleObjectsEx
-WaitForSingleObject
-WaitForSingleObjectEx
-WaitNamedPipeA
-WaitNamedPipeW
-WideCharToMultiByte
-WinExec
-Wow64DisableWow64FsRedirection
-Wow64EnableWow64FsRedirection
-Wow64RevertWow64FsRedirection
-WriteConsoleA
-WriteConsoleInputA
-WriteConsoleInputVDMA
-WriteConsoleInputVDMW
-WriteConsoleInputW
-WriteConsoleOutputA
-WriteConsoleOutputAttribute
-WriteConsoleOutputCharacterA
-WriteConsoleOutputCharacterW
-WriteConsoleOutputW
-WriteConsoleW
-WriteFile
-WriteFileEx
-WriteFileGather
-WritePrivateProfileSectionA
-WritePrivateProfileSectionW
-WritePrivateProfileStringA
-WritePrivateProfileStringW
-WritePrivateProfileStructA
-WritePrivateProfileStructW
-WriteProcessMemory
-WriteProfileSectionA
-WriteProfileSectionW
-WriteProfileStringA
-WriteProfileStringW
-WriteTapemark
-ZombifyActCtx
-_hread
-_hwrite
-_lclose
-_lcreat
-_llseek
-_lopen
-_lread
-_lwrite
-lstrcat
-lstrcatA
-lstrcatW
-lstrcmp
-lstrcmpA
-lstrcmpW
-lstrcmpi
-lstrcmpiA
-lstrcmpiW
-lstrcpy
-lstrcpyA
-lstrcpyW
-lstrcpyn
-lstrcpynA
-lstrcpynW
-lstrlen
-lstrlenA
-lstrlenW
+; 
+; Exports of file KERNEL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KERNEL32.dll
+EXPORTS
+ActivateActCtx
+AddAtomA
+AddAtomW
+AddConsoleAliasA
+AddConsoleAliasW
+AddLocalAlternateComputerNameA
+AddLocalAlternateComputerNameW
+AddRefActCtx
+AddVectoredContinueHandler
+AddVectoredExceptionHandler
+AllocConsole
+AllocateUserPhysicalPages
+AreFileApisANSI
+AssignProcessToJobObject
+AttachConsole
+BackupRead
+BackupSeek
+BackupWrite
+BaseCheckAppcompatCache
+BaseCheckRunApp
+BaseCleanupAppcompatCacheSupport
+BaseDumpAppcompatCache
+BaseFlushAppcompatCache
+BaseInitAppcompatCacheSupport
+BaseIsAppcompatInfrastructureDisabled
+BaseProcessInitPostImport
+BaseProcessStartThunk
+BaseQueryModuleData
+BaseThreadStartThunk
+BaseUpdateAppcompatCache
+BasepCheckBadapp
+BasepCheckWinSaferRestrictions
+BasepFreeAppCompatData
+Beep
+BeginUpdateResourceA
+BeginUpdateResourceW
+BindIoCompletionCallback
+BuildCommDCBA
+BuildCommDCBAndTimeoutsA
+BuildCommDCBAndTimeoutsW
+BuildCommDCBW
+CallNamedPipeA
+CallNamedPipeW
+CancelDeviceWakeupRequest
+CancelIo
+CancelTimerQueueTimer
+CancelWaitableTimer
+ChangeTimerQueueTimer
+CheckNameLegalDOS8Dot3A
+CheckNameLegalDOS8Dot3W
+CheckRemoteDebuggerPresent
+ClearCommBreak
+ClearCommError
+CloseConsoleHandle
+CloseHandle
+CloseProfileUserMapping
+CmdBatNotification
+CommConfigDialogA
+CommConfigDialogW
+CompareFileTime
+CompareStringA
+CompareStringW
+ConnectNamedPipe
+ConsoleIMERoutine
+ConsoleMenuControl
+ContinueDebugEvent
+ConvertDefaultLocale
+ConvertFiberToThread
+ConvertThreadToFiber
+ConvertThreadToFiberEx
+CopyFileA
+CopyFileExA
+CopyFileExW
+CopyFileW
+CopyLZFile
+CreateActCtxA
+CreateActCtxW
+CreateConsoleScreenBuffer
+CreateDirectoryA
+CreateDirectoryExA
+CreateDirectoryExW
+CreateDirectoryW
+CreateEventA
+CreateEventW
+CreateFiber
+CreateFiberEx
+CreateFileA
+CreateFileMappingA
+CreateFileMappingW
+CreateFileW
+CreateHardLinkA
+CreateHardLinkW
+CreateIoCompletionPort
+CreateJobObjectA
+CreateJobObjectW
+CreateJobSet
+CreateMailslotA
+CreateMailslotW
+CreateMemoryResourceNotification
+CreateMutexA
+CreateMutexW
+CreateNamedPipeA
+CreateNamedPipeW
+CreateNlsSecurityDescriptor
+CreatePipe
+CreateProcessA
+CreateProcessInternalA
+CreateProcessInternalW
+CreateProcessW
+CreateRemoteThread
+CreateSemaphoreA@32
+CreateSemaphoreW@32
+CreateSocketHandle
+CreateTapePartition
+CreateThread
+CreateTimerQueue
+CreateTimerQueueTimer
+CreateToolhelp32Snapshot
+CreateWaitableTimerA
+CreateWaitableTimerW
+CtrlRoutine
+DeactivateActCtx
+DebugActiveProcess
+DebugActiveProcessStop
+DebugBreak
+DebugBreakProcess
+DebugSetProcessKillOnExit
+DecodePointer
+DecodeSystemPointer
+DefineDosDeviceA
+DefineDosDeviceW
+DelayLoadFailureHook
+DeleteAtom
+DeleteCriticalSection
+DeleteFiber
+DeleteFileA
+DeleteFileW
+DeleteTimerQueue
+DeleteTimerQueueEx
+DeleteTimerQueueTimer
+DeleteVolumeMountPointA
+DeleteVolumeMountPointW
+DeviceIoControl
+DisableThreadLibraryCalls
+DisconnectNamedPipe
+DnsHostnameToComputerNameA
+DnsHostnameToComputerNameW
+DosDateTimeToFileTime
+DosPathToSessionPathA
+DosPathToSessionPathW
+DuplicateConsoleHandle
+DuplicateHandle
+EncodePointer
+EncodeSystemPointer
+EndUpdateResourceA
+EndUpdateResourceW
+EnterCriticalSection
+EnumCalendarInfoA
+EnumCalendarInfoExA
+EnumCalendarInfoExW
+EnumCalendarInfoW
+EnumDateFormatsA
+EnumDateFormatsExA
+EnumDateFormatsExW
+EnumDateFormatsW
+EnumLanguageGroupLocalesA
+EnumLanguageGroupLocalesW
+EnumResourceLanguagesA
+EnumResourceLanguagesW
+EnumResourceNamesA
+EnumResourceNamesW
+EnumResourceTypesA
+EnumResourceTypesW
+EnumSystemCodePagesA
+EnumSystemCodePagesW
+EnumSystemFirmwareTables
+EnumSystemGeoID
+EnumSystemLanguageGroupsA
+EnumSystemLanguageGroupsW
+EnumSystemLocalesA
+EnumSystemLocalesW
+EnumTimeFormatsA
+EnumTimeFormatsW
+EnumUILanguagesA
+EnumUILanguagesW
+EnumerateLocalComputerNamesA
+EnumerateLocalComputerNamesW
+EraseTape
+EscapeCommFunction
+ExitProcess
+ExitThread
+ExitVDM
+ExpandEnvironmentStringsA
+ExpandEnvironmentStringsW
+ExpungeConsoleCommandHistoryA
+ExpungeConsoleCommandHistoryW
+FatalAppExitA
+FatalAppExitW
+FatalExit
+FileTimeToDosDateTime
+FileTimeToLocalFileTime
+FileTimeToSystemTime
+FillConsoleOutputAttribute
+FillConsoleOutputCharacterA
+FillConsoleOutputCharacterW
+FindActCtxSectionGuid
+FindActCtxSectionStringA
+FindActCtxSectionStringW
+FindAtomA
+FindAtomW
+FindClose
+FindCloseChangeNotification
+FindFirstChangeNotificationA
+FindFirstChangeNotificationW
+FindFirstFileA
+FindFirstFileExA
+FindFirstFileExW
+FindFirstFileW
+FindFirstStreamW
+FindFirstVolumeA
+FindFirstVolumeMountPointA
+FindFirstVolumeMountPointW
+FindFirstVolumeW
+FindNextChangeNotification
+FindNextFileA
+FindNextFileW
+FindNextStreamW
+FindNextVolumeA
+FindNextVolumeMountPointA
+FindNextVolumeMountPointW
+FindNextVolumeW
+FindResourceA
+FindResourceExA
+FindResourceExW
+FindResourceW
+FindVolumeClose
+FindVolumeMountPointClose
+FlsAlloc
+FlsFree
+FlsGetValue
+FlsSetValue
+FlushConsoleInputBuffer
+FlushFileBuffers
+FlushInstructionCache
+FlushViewOfFile
+FoldStringA
+FoldStringW
+FormatMessageA
+FormatMessageW
+FreeConsole
+FreeEnvironmentStringsA
+FreeEnvironmentStringsW
+FreeLibrary
+FreeLibraryAndExitThread
+FreeResource
+FreeUserPhysicalPages
+GenerateConsoleCtrlEvent
+GetACP
+GetAtomNameA
+GetAtomNameW
+GetBinaryType
+GetBinaryTypeA
+GetBinaryTypeW
+GetCPFileNameFromRegistry
+GetCPInfo
+GetCPInfoExA
+GetCPInfoExW
+GetCalendarInfoA
+GetCalendarInfoW
+GetComPlusPackageInstallStatus
+GetCommConfig
+GetCommMask
+GetCommModemStatus
+GetCommProperties
+GetCommState
+GetCommTimeouts
+GetCommandLineA
+GetCommandLineW
+GetCompressedFileSizeA
+GetCompressedFileSizeW
+GetComputerNameA
+GetComputerNameExA
+GetComputerNameExW
+GetComputerNameW
+GetConsoleAliasA
+GetConsoleAliasExesA
+GetConsoleAliasExesLengthA
+GetConsoleAliasExesLengthW
+GetConsoleAliasExesW
+GetConsoleAliasW
+GetConsoleAliasesA
+GetConsoleAliasesLengthA
+GetConsoleAliasesLengthW
+GetConsoleAliasesW
+GetConsoleCP
+GetConsoleCharType
+GetConsoleCommandHistoryA
+GetConsoleCommandHistoryLengthA
+GetConsoleCommandHistoryLengthW
+GetConsoleCommandHistoryW
+GetConsoleCursorInfo
+GetConsoleCursorMode
+GetConsoleDisplayMode
+GetConsoleFontInfo
+GetConsoleFontSize
+GetConsoleHardwareState
+GetConsoleInputExeNameA
+GetConsoleInputExeNameW
+GetConsoleInputWaitHandle
+GetConsoleKeyboardLayoutNameA
+GetConsoleKeyboardLayoutNameW
+GetConsoleMode
+GetConsoleNlsMode
+GetConsoleOutputCP
+GetConsoleProcessList
+GetConsoleScreenBufferInfo
+GetConsoleSelectionInfo
+GetConsoleTitleA
+GetConsoleTitleW
+GetConsoleWindow
+GetCurrencyFormatA
+GetCurrencyFormatW
+GetCurrentActCtx
+GetCurrentConsoleFont
+GetCurrentDirectoryA
+GetCurrentDirectoryW
+GetCurrentProcess
+GetCurrentProcessId
+GetCurrentProcessorNumber
+GetCurrentThread
+GetCurrentThreadId
+GetDateFormatA
+GetDateFormatW
+GetDefaultCommConfigA
+GetDefaultCommConfigW
+GetDefaultSortkeySize
+GetDevicePowerState
+GetDiskFreeSpaceA
+GetDiskFreeSpaceExA
+GetDiskFreeSpaceExW
+GetDiskFreeSpaceW
+GetDllDirectoryA
+GetDllDirectoryW
+GetDriveTypeA
+GetDriveTypeW
+GetEnvironmentStrings
+GetEnvironmentStringsA
+GetEnvironmentStringsW
+GetEnvironmentVariableA
+GetEnvironmentVariableW
+GetExitCodeProcess
+GetExitCodeThread
+GetExpandedNameA
+GetExpandedNameW
+GetFileAttributesA@8
+GetFileAttributesExA
+GetFileAttributesExW
+GetFileAttributesW
+GetFileInformationByHandle
+GetFileSize
+GetFileSizeEx
+GetFileTime
+GetFileType
+GetFirmwareEnvironmentVariableA
+GetFirmwareEnvironmentVariableW
+GetFullPathNameA
+GetFullPathNameW
+GetGeoInfoA
+GetGeoInfoW
+GetHandleContext
+GetHandleInformation
+GetLargePageMinimum
+GetLargestConsoleWindowSize
+GetLastError
+GetLinguistLangSize
+GetLocalTime
+GetLocaleInfoA
+GetLocaleInfoW
+GetLogicalDriveStringsA
+GetLogicalDriveStringsW
+GetLogicalDrives
+GetLogicalProcessorInformation
+GetLongPathNameA
+GetLongPathNameW
+GetMailslotInfo
+GetModuleFileNameA
+GetModuleFileNameW
+GetModuleHandleA
+GetModuleHandleExA
+GetModuleHandleExW
+GetModuleHandleW
+GetNLSVersion
+GetNamedPipeHandleStateA
+GetNamedPipeHandleStateW
+GetNamedPipeInfo
+GetNativeSystemInfo
+GetNextVDMCommand
+GetNlsSectionName
+GetNumaAvailableMemoryNode
+GetNumaHighestNodeNumber
+GetNumaNodeProcessorMask
+GetNumaProcessorNode
+GetNumberFormatA
+GetNumberFormatW
+GetNumberOfConsoleFonts
+GetNumberOfConsoleInputEvents
+GetNumberOfConsoleMouseButtons
+GetOEMCP
+GetOverlappedResult
+GetPriorityClass
+GetPrivateProfileIntA
+GetPrivateProfileIntW
+GetPrivateProfileSectionA
+GetPrivateProfileSectionNamesA
+GetPrivateProfileSectionNamesW
+GetPrivateProfileSectionW
+GetPrivateProfileStringA
+GetPrivateProfileStringW
+GetPrivateProfileStructA
+GetPrivateProfileStructW
+GetProcAddress
+GetProcessAffinityMask
+GetProcessHandleCount
+GetProcessHeap
+GetProcessHeaps
+GetProcessId
+GetProcessIdOfThread
+GetProcessIoCounters
+GetProcessPriorityBoost
+GetProcessShutdownParameters
+GetProcessTimes
+GetProcessVersion
+GetProcessWorkingSetSize
+GetProcessWorkingSetSizeEx
+GetProfileIntA
+GetProfileIntW
+GetProfileSectionA
+GetProfileSectionW
+GetProfileStringA
+GetProfileStringW
+GetQueuedCompletionStatus
+GetShortPathNameA
+GetShortPathNameW
+GetStartupInfoA
+GetStartupInfoW
+GetStdHandle
+GetStringTypeA
+GetStringTypeExA
+GetStringTypeExW
+GetStringTypeW
+GetSystemDefaultLCID
+GetSystemDefaultLangID
+GetSystemDefaultUILanguage
+GetSystemDirectoryA
+GetSystemDirectoryW
+GetSystemFileCacheSize
+GetSystemFirmwareTable
+GetSystemInfo
+GetSystemPowerStatus
+GetSystemRegistryQuota
+GetSystemTime
+GetSystemTimeAdjustment
+GetSystemTimeAsFileTime
+GetSystemTimes
+GetSystemWindowsDirectoryA
+GetSystemWindowsDirectoryW
+GetSystemWow64DirectoryA
+GetSystemWow64DirectoryW
+GetTapeParameters
+GetTapePosition
+GetTapeStatus
+GetTempFileNameA
+GetTempFileNameW
+GetTempPathA
+GetTempPathW
+GetThreadContext
+GetThreadIOPendingFlag
+GetThreadId
+GetThreadLocale
+GetThreadPriority
+GetThreadPriorityBoost
+GetThreadSelectorEntry
+GetThreadTimes
+GetTickCount
+GetTimeFormatA
+GetTimeFormatW
+GetTimeZoneInformation
+GetUserDefaultLCID
+GetUserDefaultLangID
+GetUserDefaultUILanguage
+GetUserGeoID
+GetVDMCurrentDirectories
+GetVersion
+GetVersionExA
+GetVersionExW
+GetVolumeInformationA
+GetVolumeInformationW
+GetVolumeNameForVolumeMountPointA
+GetVolumeNameForVolumeMountPointW
+GetVolumePathNameA
+GetVolumePathNameW
+GetVolumePathNamesForVolumeNameA
+GetVolumePathNamesForVolumeNameW
+GetWindowsDirectoryA
+GetWindowsDirectoryW
+GetWriteWatch
+GlobalAddAtomA
+GlobalAddAtomW
+GlobalAlloc
+GlobalCompact
+GlobalDeleteAtom
+GlobalFindAtomA
+GlobalFindAtomW
+GlobalFix
+GlobalFlags
+GlobalFree
+GlobalGetAtomNameA
+GlobalGetAtomNameW
+GlobalHandle
+GlobalLock
+GlobalMemoryStatus@8
+GlobalMemoryStatusEx
+GlobalReAlloc
+GlobalSize
+GlobalUnWire
+GlobalUnfix
+GlobalUnlock
+GlobalWire
+Heap32First
+Heap32ListFirst
+Heap32ListNext
+Heap32Next
+HeapAlloc
+HeapCompact
+HeapCreate
+HeapCreateTagsW
+HeapDestroy
+HeapExtend
+HeapFree
+HeapLock
+HeapQueryInformation
+HeapQueryTagW
+HeapReAlloc
+HeapSetInformation
+HeapSize
+HeapSummary
+HeapUnlock
+HeapUsage
+HeapValidate
+HeapWalk
+InitAtomTable
+InitializeCriticalSection
+InitializeCriticalSectionAndSpinCount
+InitializeSListHead
+InterlockedCompareExchange64
+InterlockedCompareExchange
+InterlockedDecrement
+InterlockedExchange
+InterlockedExchangeAdd
+_InterlockedExchangeAdd = InterlockedExchangeAdd
+InterlockedFlushSList
+InterlockedIncrement
+InterlockedPopEntrySList
+InterlockedPushEntrySList
+InvalidateConsoleDIBits
+IsBadCodePtr
+IsBadHugeReadPtr
+IsBadHugeWritePtr
+IsBadReadPtr
+IsBadStringPtrA
+IsBadStringPtrW
+IsBadWritePtr
+IsDBCSLeadByte
+IsDBCSLeadByteEx
+IsDebuggerPresent
+IsNLSDefinedString
+IsProcessInJob
+IsProcessorFeaturePresent
+IsSystemResumeAutomatic
+IsTimeZoneRedirectionEnabled
+IsValidCodePage
+IsValidLanguageGroup
+IsValidLocale
+IsValidUILanguage
+IsWow64Process
+LCMapStringA
+LCMapStringW
+LZClose
+LZCloseFile
+LZCopy
+LZCreateFileW
+LZDone
+LZInit
+LZOpenFileA
+LZOpenFileW
+LZRead
+LZSeek
+LZStart
+LeaveCriticalSection
+LoadLibraryA
+LoadLibraryExA
+LoadLibraryExW
+LoadLibraryW
+LoadModule
+LoadResource
+LocalAlloc
+LocalCompact
+LocalFileTimeToFileTime
+LocalFlags
+LocalFree
+LocalHandle
+LocalLock
+LocalReAlloc
+LocalShrink
+LocalSize
+LocalUnlock
+LockFile
+LockFileEx
+LockResource
+MapUserPhysicalPages
+MapUserPhysicalPagesScatter
+MapViewOfFile
+MapViewOfFileEx
+Module32First
+Module32FirstW
+Module32Next
+Module32NextW
+MoveFileA
+MoveFileExA
+MoveFileExW
+MoveFileW
+MoveFileWithProgressA
+MoveFileWithProgressW
+MulDiv
+MultiByteToWideChar
+NeedCurrentDirectoryForExePathA
+NeedCurrentDirectoryForExePathW
+NlsConvertIntegerToString
+NlsGetCacheUpdateCount
+NlsResetProcessLocale
+OpenConsoleW
+OpenDataFile
+OpenEventA
+OpenEventW
+OpenFile
+OpenFileMappingA
+OpenFileMappingW
+OpenJobObjectA
+OpenJobObjectW
+OpenMutexA
+OpenMutexW
+OpenProcess
+OpenProfileUserMapping
+OpenSemaphoreA
+OpenSemaphoreW
+OpenThread
+OpenWaitableTimerA
+OpenWaitableTimerW
+OutputDebugStringA
+OutputDebugStringW
+PeekConsoleInputA
+PeekConsoleInputW
+PeekNamedPipe
+PostQueuedCompletionStatus
+PrepareTape
+PrivCopyFileExW
+PrivMoveFileIdentityW
+Process32First
+Process32FirstW
+Process32Next
+Process32NextW
+ProcessIdToSessionId
+PulseEvent
+PurgeComm
+QueryActCtxW
+QueryDepthSList
+QueryDosDeviceA
+QueryDosDeviceW
+QueryInformationJobObject
+QueryMemoryResourceNotification
+QueryPerformanceCounter
+QueryPerformanceFrequency
+QueueUserAPC
+QueueUserWorkItem
+RaiseException
+ReOpenFile
+ReadConsoleA
+ReadConsoleInputA
+ReadConsoleInputExA
+ReadConsoleInputExW
+ReadConsoleInputW
+ReadConsoleOutputA
+ReadConsoleOutputAttribute
+ReadConsoleOutputCharacterA
+ReadConsoleOutputCharacterW
+ReadConsoleOutputW
+ReadConsoleW
+ReadDirectoryChangesW
+ReadFile
+ReadFileEx
+ReadFileScatter
+ReadProcessMemory
+RegisterConsoleIME
+RegisterConsoleOS2
+RegisterConsoleVDM
+RegisterWaitForInputIdle
+RegisterWaitForSingleObject
+RegisterWaitForSingleObjectEx
+RegisterWowBaseHandlers
+RegisterWowExec
+ReleaseActCtx
+ReleaseMutex
+ReleaseSemaphore@24
+RemoveDirectoryA
+RemoveDirectoryW
+RemoveLocalAlternateComputerNameA
+RemoveLocalAlternateComputerNameW
+RemoveVectoredContinueHandler
+RemoveVectoredExceptionHandler
+ReplaceFile
+ReplaceFileA
+ReplaceFileW
+RequestDeviceWakeup
+RequestWakeupLatency
+ResetEvent
+ResetWriteWatch
+RestoreLastError
+ResumeThread
+RtlCaptureContext
+RtlCaptureStackBackTrace
+RtlFillMemory
+RtlMoveMemory
+RtlUnwind
+RtlZeroMemory
+ScrollConsoleScreenBufferA
+ScrollConsoleScreenBufferW
+SearchPathA
+SearchPathW
+SetCPGlobal
+SetCalendarInfoA
+SetCalendarInfoW
+SetClientTimeZoneInformation
+SetComPlusPackageInstallStatus
+SetCommBreak
+SetCommConfig
+SetCommMask
+SetCommState
+SetCommTimeouts
+SetComputerNameA
+SetComputerNameExA
+SetComputerNameExW
+SetComputerNameW
+SetConsoleActiveScreenBuffer
+SetConsoleCP
+SetConsoleCommandHistoryMode
+SetConsoleCtrlHandler
+SetConsoleCursor
+SetConsoleCursorInfo
+SetConsoleCursorMode
+SetConsoleCursorPosition
+SetConsoleDisplayMode
+SetConsoleFont
+SetConsoleHardwareState
+SetConsoleIcon
+SetConsoleInputExeNameA
+SetConsoleInputExeNameW
+SetConsoleKeyShortcuts
+SetConsoleLocalEUDC
+SetConsoleMaximumWindowSize
+SetConsoleMenuClose
+SetConsoleMode
+SetConsoleNlsMode
+SetConsoleNumberOfCommandsA
+SetConsoleNumberOfCommandsW
+SetConsoleOS2OemFormat
+SetConsoleOutputCP
+SetConsolePalette
+SetConsoleScreenBufferSize
+SetConsoleTextAttribute
+SetConsoleTitleA
+SetConsoleTitleW
+SetConsoleWindowInfo
+SetCriticalSectionSpinCount
+SetCurrentDirectoryA
+SetCurrentDirectoryW
+SetDefaultCommConfigA
+SetDefaultCommConfigW
+SetDllDirectoryA
+SetDllDirectoryW
+SetEndOfFile
+SetEnvironmentStringsA
+SetEnvironmentStringsW
+SetEnvironmentVariableA
+SetEnvironmentVariableW
+SetErrorMode
+SetEvent
+SetFileApisToANSI
+SetFileApisToOEM
+SetFileAttributesA
+SetFileAttributesW
+SetFilePointer
+SetFilePointerEx
+SetFileShortNameA
+SetFileShortNameW
+SetFileTime
+SetFileValidData
+SetFirmwareEnvironmentVariableA
+SetFirmwareEnvironmentVariableW
+SetHandleContext
+SetHandleCount
+SetHandleInformation
+SetInformationJobObject
+SetLastConsoleEventActive
+SetLastError
+SetLocalPrimaryComputerNameA
+SetLocalPrimaryComputerNameW
+SetLocalTime
+SetLocaleInfoA
+SetLocaleInfoW
+SetMailslotInfo
+SetMessageWaitingIndicator
+SetNamedPipeHandleState
+SetPriorityClass
+SetProcessAffinityMask
+SetProcessPriorityBoost
+SetProcessShutdownParameters
+SetProcessWorkingSetSize
+SetProcessWorkingSetSizeEx
+SetStdHandle
+SetSystemFileCacheSize
+SetSystemPowerState
+SetSystemTime
+SetSystemTimeAdjustment
+SetTapeParameters
+SetTapePosition
+SetTermsrvAppInstallMode
+SetThreadAffinityMask
+SetThreadContext
+SetThreadExecutionState
+SetThreadIdealProcessor
+SetThreadLocale
+SetThreadPriority
+SetThreadPriorityBoost
+SetThreadStackGuarantee
+SetThreadUILanguage
+SetTimeZoneInformation
+SetTimerQueueTimer
+SetUnhandledExceptionFilter
+SetUserGeoID
+SetVDMCurrentDirectories
+SetVolumeLabelA
+SetVolumeLabelW
+SetVolumeMountPointA
+SetVolumeMountPointW
+SetWaitableTimer
+SetupComm
+ShowConsoleCursor
+SignalObjectAndWait
+SizeofResource
+Sleep
+SleepEx
+SuspendThread
+SwitchToFiber
+SwitchToThread
+SystemTimeToFileTime
+SystemTimeToTzSpecificLocalTime
+TerminateJobObject
+TerminateProcess
+TerminateThread
+TermsrvAppInstallMode
+Thread32First
+Thread32Next
+TlsAlloc
+TlsFree
+TlsGetValue@8
+TlsSetValue@16
+Toolhelp32ReadProcessMemory
+TransactNamedPipe
+TransmitCommChar
+TryEnterCriticalSection
+TzSpecificLocalTimeToSystemTime
+UTRegister
+UTUnRegister
+UnhandledExceptionFilter
+UnlockFile
+UnlockFileEx
+UnmapViewOfFile
+UnregisterConsoleIME
+UnregisterWait
+UnregisterWaitEx
+UpdateResourceA
+UpdateResourceW
+VDMConsoleOperation
+VDMOperationStarted
+ValidateLCType
+ValidateLocale
+VerLanguageNameA
+VerLanguageNameW
+VerSetConditionMask
+VerifyConsoleIoHandle
+VerifyVersionInfoA
+VerifyVersionInfoW
+VirtualAlloc
+VirtualAllocEx
+VirtualFree
+VirtualFreeEx
+VirtualLock
+VirtualProtect
+VirtualProtectEx
+VirtualQuery
+VirtualQueryEx
+VirtualUnlock
+WTSGetActiveConsoleSessionId
+WaitCommEvent
+WaitForDebugEvent
+WaitForMultipleObjects
+WaitForMultipleObjectsEx
+WaitForSingleObject
+WaitForSingleObjectEx
+WaitNamedPipeA
+WaitNamedPipeW
+WideCharToMultiByte
+WinExec
+Wow64DisableWow64FsRedirection
+Wow64EnableWow64FsRedirection
+Wow64RevertWow64FsRedirection
+WriteConsoleA
+WriteConsoleInputA
+WriteConsoleInputVDMA
+WriteConsoleInputVDMW
+WriteConsoleInputW
+WriteConsoleOutputA
+WriteConsoleOutputAttribute
+WriteConsoleOutputCharacterA
+WriteConsoleOutputCharacterW
+WriteConsoleOutputW
+WriteConsoleW
+WriteFile
+WriteFileEx
+WriteFileGather
+WritePrivateProfileSectionA
+WritePrivateProfileSectionW
+WritePrivateProfileStringA
+WritePrivateProfileStringW
+WritePrivateProfileStructA
+WritePrivateProfileStructW
+WriteProcessMemory
+WriteProfileSectionA
+WriteProfileSectionW
+WriteProfileStringA
+WriteProfileStringW
+WriteTapemark
+ZombifyActCtx
+_hread
+_hwrite
+_lclose
+_lcreat
+_llseek
+_lopen
+_lread
+_lwrite
+lstrcat
+lstrcatA
+lstrcatW
+lstrcmp
+lstrcmpA
+lstrcmpW
+lstrcmpi
+lstrcmpiA
+lstrcmpiW
+lstrcpy
+lstrcpyA
+lstrcpyW
+lstrcpyn
+lstrcpynA
+lstrcpynW
+lstrlen
+lstrlenA
+lstrlenW
diff --git a/mingw-w64-crt/lib64/wkeymgr.def b/mingw-w64-crt/lib64/wkeymgr.def
index 1ed6e9f..db865ef 100644
--- a/mingw-w64-crt/lib64/wkeymgr.def
+++ b/mingw-w64-crt/lib64/wkeymgr.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file KEYMGR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KEYMGR.dll
-EXPORTS
-CPlApplet
-DllMain
-KRShowKeyMgr
-PRShowRestoreFromMsginaW
-PRShowRestoreWizardExW
-PRShowRestoreWizardW
-PRShowSaveFromMsginaW
-PRShowSaveWizardExW
+; 
+; Exports of file KEYMGR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KEYMGR.dll
+EXPORTS
+CPlApplet
+DllMain
+KRShowKeyMgr
+PRShowRestoreFromMsginaW
+PRShowRestoreWizardExW
+PRShowRestoreWizardW
+PRShowSaveFromMsginaW
+PRShowSaveWizardExW
diff --git a/mingw-w64-crt/lib64/wkorwbrkr.def b/mingw-w64-crt/lib64/wkorwbrkr.def
index e5b1fb9..e874ac9 100644
--- a/mingw-w64-crt/lib64/wkorwbrkr.def
+++ b/mingw-w64-crt/lib64/wkorwbrkr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file KorWbrkr.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY KorWbrkr.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file KorWbrkr.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY KorWbrkr.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wkssvc.def b/mingw-w64-crt/lib64/wkssvc.def
index c1e7a17..356718a 100644
--- a/mingw-w64-crt/lib64/wkssvc.def
+++ b/mingw-w64-crt/lib64/wkssvc.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file wkssvc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wkssvc.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file wkssvc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wkssvc.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/wksuser.def b/mingw-w64-crt/lib64/wksuser.def
index b6e939e..e908b3f 100644
--- a/mingw-w64-crt/lib64/wksuser.def
+++ b/mingw-w64-crt/lib64/wksuser.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ksuser.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ksuser.dll
-EXPORTS
-KsCreateAllocator
-KsCreateClock
-KsCreatePin
-KsCreateTopologyNode
+; 
+; Exports of file ksuser.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ksuser.dll
+EXPORTS
+KsCreateAllocator
+KsCreateClock
+KsCreatePin
+KsCreateTopologyNode
diff --git a/mingw-w64-crt/lib64/wlangwrbk.def b/mingw-w64-crt/lib64/wlangwrbk.def
index f2f83af..982e56c 100644
--- a/mingw-w64-crt/lib64/wlangwrbk.def
+++ b/mingw-w64-crt/lib64/wlangwrbk.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file LangWrbk.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LangWrbk.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file LangWrbk.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LangWrbk.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wlanmon.def b/mingw-w64-crt/lib64/wlanmon.def
index cd00574..9fdbf4d 100644
--- a/mingw-w64-crt/lib64/wlanmon.def
+++ b/mingw-w64-crt/lib64/wlanmon.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WLANMON.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WLANMON.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WLANMON.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WLANMON.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wlaprxy.def b/mingw-w64-crt/lib64/wlaprxy.def
index 863e5fb..d03be48 100644
--- a/mingw-w64-crt/lib64/wlaprxy.def
+++ b/mingw-w64-crt/lib64/wlaprxy.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file laprxy.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY laprxy.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file laprxy.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY laprxy.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/wldap32.def b/mingw-w64-crt/lib64/wldap32.def
index e1113b7..9d42fc6 100644
--- a/mingw-w64-crt/lib64/wldap32.def
+++ b/mingw-w64-crt/lib64/wldap32.def
@@ -1,253 +1,253 @@
-; 
-; Exports of file WLDAP32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WLDAP32.dll
-EXPORTS
-ldap_abandon
-ldap_add
-ldap_get_optionW
-ldap_unbind
-ldap_set_optionW
-LdapGetLastError
-cldap_open
-LdapMapErrorToWin32
-ldap_compare
-ldap_delete
-ldap_result2error
-ldap_err2string
-ldap_modify
-ldap_modrdn
-ldap_open
-ldap_first_entry
-ldap_next_entry
-cldap_openW
-LdapUTF8ToUnicode
-ldap_get_dn
-ldap_dn2ufn
-ldap_first_attribute
-ldap_next_attribute
-ldap_get_values
-ldap_get_values_len
-ldap_count_entries
-ldap_count_values
-ldap_value_free
-ldap_explode_dn
-ldap_result
-ldap_msgfree
-ldap_addW
-ldap_search
-ldap_add_s
-ldap_bind_s
-ldap_unbind_s
-ldap_delete_s
-ldap_modify_s
-ldap_modrdn_s
-ldap_search_s
-ldap_search_st
-ldap_compare_s
-LdapUnicodeToUTF8
-ber_bvfree
-cldap_openA
-ldap_addA
-ldap_add_ext
-ldap_add_extA
-ldap_simple_bind
-ldap_simple_bind_s
-ldap_bind
-ldap_add_extW
-ldap_add_ext_s
-ldap_add_ext_sA
-ldap_add_ext_sW
-ldap_add_sA
-ldap_modrdn2
-ldap_modrdn2_s
-ldap_add_sW
-ldap_bindA
-ldap_bindW
-ldap_bind_sA
-ldap_bind_sW
-ldap_close_extended_op
-ldap_compareA
-ldap_compareW
-ldap_count_values_len
-ldap_compare_ext
-ldap_value_free_len
-ldap_compare_extA
-ldap_compare_extW
-ldap_perror
-ldap_compare_ext_s
-ldap_compare_ext_sA
-ldap_compare_ext_sW
-ldap_compare_sA
-ldap_compare_sW
-ldap_connect
-ldap_control_free
-ldap_control_freeA
-ldap_control_freeW
-ldap_controls_free
-ldap_controls_freeA
-ldap_controls_freeW
-ldap_count_references
-ldap_count_valuesA
-ldap_count_valuesW
-ldap_create_page_control
-ldap_create_page_controlA
-ldap_create_page_controlW
-ldap_create_sort_control
-ldap_create_sort_controlA
-ldap_create_sort_controlW
-ldap_deleteA
-ldap_deleteW
-ldap_delete_ext
-ldap_delete_extA
-ldap_delete_extW
-ldap_delete_ext_s
-ldap_delete_ext_sA
-ldap_delete_ext_sW
-ldap_delete_sA
-ldap_delete_sW
-ldap_dn2ufnW
-ldap_encode_sort_controlA
-ldap_encode_sort_controlW
-ldap_err2stringA
-ldap_err2stringW
-ldap_escape_filter_elementA
-ldap_escape_filter_elementW
-ldap_explode_dnA
-ldap_explode_dnW
-ldap_extended_operation
-ldap_extended_operationA
-ldap_extended_operationW
-ldap_first_attributeA
-ldap_first_attributeW
-ldap_first_reference
-ldap_free_controls
-ldap_free_controlsA
-ldap_free_controlsW
-ldap_get_dnA
-ldap_get_dnW
-ldap_get_next_page
-ldap_get_next_page_s
-ldap_get_option
-ldap_get_optionA
-ldap_get_paged_count
-ldap_get_valuesA
-ldap_get_valuesW
-ldap_get_values_lenA
-ldap_get_values_lenW
-ldap_init
-ldap_initA
-ldap_initW
-ldap_memfreeA
-ldap_memfreeW
-ldap_modifyA
-ldap_modifyW
-ldap_modify_ext
-ldap_modify_extA
-ldap_modify_extW
-ldap_modify_ext_s
-ldap_modify_ext_sA
-ldap_modify_ext_sW
-ldap_modify_sA
-ldap_modify_sW
-ldap_modrdn2A
-ldap_modrdn2W
-ldap_modrdn2_sA
-ldap_modrdn2_sW
-ldap_modrdnA
-ldap_modrdnW
-ldap_modrdn_sA
-ldap_modrdn_sW
-ldap_next_attributeA
-ldap_next_attributeW
-ldap_next_reference
-ldap_openA
-ldap_openW
-ldap_parse_page_control
-ldap_parse_page_controlA
-ldap_parse_page_controlW
-ldap_parse_reference
-ldap_parse_referenceA
-ldap_parse_referenceW
-ldap_parse_result
-ldap_parse_resultA
-ldap_parse_resultW
-ldap_parse_sort_control
-ldap_parse_sort_controlA
-ldap_parse_sort_controlW
-ldap_rename_ext
-ldap_rename_extA
-ldap_rename_extW
-ldap_rename_ext_s
-ldap_rename_ext_sA
-ldap_rename_ext_sW
-ldap_searchA
-ldap_searchW
-ldap_search_abandon_page
-ldap_search_ext
-ldap_search_extA
-ldap_search_extW
-ldap_search_ext_s
-ldap_search_ext_sA
-ldap_escape_filter_element
-ldap_set_dbg_flags
-ldap_set_dbg_routine
-ldap_memfree
-ldap_startup
-ldap_cleanup
-ldap_search_ext_sW
-ldap_search_init_page
-ldap_search_init_pageA
-ldap_search_init_pageW
-ldap_search_sA
-ldap_search_sW
-ldap_search_stA
-ldap_search_stW
-ldap_set_option
-ldap_set_optionA
-ldap_simple_bindA
-ldap_simple_bindW
-ldap_simple_bind_sA
-ldap_simple_bind_sW
-ldap_sslinit
-ldap_sslinitA
-ldap_sslinitW
-ldap_ufn2dn
-ldap_ufn2dnA
-ldap_ufn2dnW
-ldap_value_freeA
-ldap_value_freeW
-ldap_check_filterA
-ldap_check_filterW
-ldap_dn2ufnA
-ber_init
-ber_free
-ber_bvecfree
-ber_bvdup
-ber_alloc_t
-ber_skip_tag
-ber_peek_tag
-ber_first_element
-ber_next_element
-ber_flatten
-ber_printf
-ber_scanf
-ldap_conn_from_msg
-ldap_sasl_bindW
-ldap_sasl_bind_sW
-ldap_sasl_bindA
-ldap_sasl_bind_sA
-ldap_parse_extended_resultW
-ldap_parse_extended_resultA
-ldap_create_vlv_controlW
-ldap_create_vlv_controlA
-ldap_parse_vlv_controlW
-ldap_parse_vlv_controlA
-ldap_start_tls_sW
-ldap_start_tls_sA
-ldap_stop_tls_s
-ldap_extended_operation_sW
-ldap_extended_operation_sA
+; 
+; Exports of file WLDAP32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WLDAP32.dll
+EXPORTS
+ldap_abandon
+ldap_add
+ldap_get_optionW
+ldap_unbind
+ldap_set_optionW
+LdapGetLastError
+cldap_open
+LdapMapErrorToWin32
+ldap_compare
+ldap_delete
+ldap_result2error
+ldap_err2string
+ldap_modify
+ldap_modrdn
+ldap_open
+ldap_first_entry
+ldap_next_entry
+cldap_openW
+LdapUTF8ToUnicode
+ldap_get_dn
+ldap_dn2ufn
+ldap_first_attribute
+ldap_next_attribute
+ldap_get_values
+ldap_get_values_len
+ldap_count_entries
+ldap_count_values
+ldap_value_free
+ldap_explode_dn
+ldap_result
+ldap_msgfree
+ldap_addW
+ldap_search
+ldap_add_s
+ldap_bind_s
+ldap_unbind_s
+ldap_delete_s
+ldap_modify_s
+ldap_modrdn_s
+ldap_search_s
+ldap_search_st
+ldap_compare_s
+LdapUnicodeToUTF8
+ber_bvfree
+cldap_openA
+ldap_addA
+ldap_add_ext
+ldap_add_extA
+ldap_simple_bind
+ldap_simple_bind_s
+ldap_bind
+ldap_add_extW
+ldap_add_ext_s
+ldap_add_ext_sA
+ldap_add_ext_sW
+ldap_add_sA
+ldap_modrdn2
+ldap_modrdn2_s
+ldap_add_sW
+ldap_bindA
+ldap_bindW
+ldap_bind_sA
+ldap_bind_sW
+ldap_close_extended_op
+ldap_compareA
+ldap_compareW
+ldap_count_values_len
+ldap_compare_ext
+ldap_value_free_len
+ldap_compare_extA
+ldap_compare_extW
+ldap_perror
+ldap_compare_ext_s
+ldap_compare_ext_sA
+ldap_compare_ext_sW
+ldap_compare_sA
+ldap_compare_sW
+ldap_connect
+ldap_control_free
+ldap_control_freeA
+ldap_control_freeW
+ldap_controls_free
+ldap_controls_freeA
+ldap_controls_freeW
+ldap_count_references
+ldap_count_valuesA
+ldap_count_valuesW
+ldap_create_page_control
+ldap_create_page_controlA
+ldap_create_page_controlW
+ldap_create_sort_control
+ldap_create_sort_controlA
+ldap_create_sort_controlW
+ldap_deleteA
+ldap_deleteW
+ldap_delete_ext
+ldap_delete_extA
+ldap_delete_extW
+ldap_delete_ext_s
+ldap_delete_ext_sA
+ldap_delete_ext_sW
+ldap_delete_sA
+ldap_delete_sW
+ldap_dn2ufnW
+ldap_encode_sort_controlA
+ldap_encode_sort_controlW
+ldap_err2stringA
+ldap_err2stringW
+ldap_escape_filter_elementA
+ldap_escape_filter_elementW
+ldap_explode_dnA
+ldap_explode_dnW
+ldap_extended_operation
+ldap_extended_operationA
+ldap_extended_operationW
+ldap_first_attributeA
+ldap_first_attributeW
+ldap_first_reference
+ldap_free_controls
+ldap_free_controlsA
+ldap_free_controlsW
+ldap_get_dnA
+ldap_get_dnW
+ldap_get_next_page
+ldap_get_next_page_s
+ldap_get_option
+ldap_get_optionA
+ldap_get_paged_count
+ldap_get_valuesA
+ldap_get_valuesW
+ldap_get_values_lenA
+ldap_get_values_lenW
+ldap_init
+ldap_initA
+ldap_initW
+ldap_memfreeA
+ldap_memfreeW
+ldap_modifyA
+ldap_modifyW
+ldap_modify_ext
+ldap_modify_extA
+ldap_modify_extW
+ldap_modify_ext_s
+ldap_modify_ext_sA
+ldap_modify_ext_sW
+ldap_modify_sA
+ldap_modify_sW
+ldap_modrdn2A
+ldap_modrdn2W
+ldap_modrdn2_sA
+ldap_modrdn2_sW
+ldap_modrdnA
+ldap_modrdnW
+ldap_modrdn_sA
+ldap_modrdn_sW
+ldap_next_attributeA
+ldap_next_attributeW
+ldap_next_reference
+ldap_openA
+ldap_openW
+ldap_parse_page_control
+ldap_parse_page_controlA
+ldap_parse_page_controlW
+ldap_parse_reference
+ldap_parse_referenceA
+ldap_parse_referenceW
+ldap_parse_result
+ldap_parse_resultA
+ldap_parse_resultW
+ldap_parse_sort_control
+ldap_parse_sort_controlA
+ldap_parse_sort_controlW
+ldap_rename_ext
+ldap_rename_extA
+ldap_rename_extW
+ldap_rename_ext_s
+ldap_rename_ext_sA
+ldap_rename_ext_sW
+ldap_searchA
+ldap_searchW
+ldap_search_abandon_page
+ldap_search_ext
+ldap_search_extA
+ldap_search_extW
+ldap_search_ext_s
+ldap_search_ext_sA
+ldap_escape_filter_element
+ldap_set_dbg_flags
+ldap_set_dbg_routine
+ldap_memfree
+ldap_startup
+ldap_cleanup
+ldap_search_ext_sW
+ldap_search_init_page
+ldap_search_init_pageA
+ldap_search_init_pageW
+ldap_search_sA
+ldap_search_sW
+ldap_search_stA
+ldap_search_stW
+ldap_set_option
+ldap_set_optionA
+ldap_simple_bindA
+ldap_simple_bindW
+ldap_simple_bind_sA
+ldap_simple_bind_sW
+ldap_sslinit
+ldap_sslinitA
+ldap_sslinitW
+ldap_ufn2dn
+ldap_ufn2dnA
+ldap_ufn2dnW
+ldap_value_freeA
+ldap_value_freeW
+ldap_check_filterA
+ldap_check_filterW
+ldap_dn2ufnA
+ber_init
+ber_free
+ber_bvecfree
+ber_bvdup
+ber_alloc_t
+ber_skip_tag
+ber_peek_tag
+ber_first_element
+ber_next_element
+ber_flatten
+ber_printf
+ber_scanf
+ldap_conn_from_msg
+ldap_sasl_bindW
+ldap_sasl_bind_sW
+ldap_sasl_bindA
+ldap_sasl_bind_sA
+ldap_parse_extended_resultW
+ldap_parse_extended_resultA
+ldap_create_vlv_controlW
+ldap_create_vlv_controlA
+ldap_parse_vlv_controlW
+ldap_parse_vlv_controlA
+ldap_start_tls_sW
+ldap_start_tls_sA
+ldap_stop_tls_s
+ldap_extended_operation_sW
+ldap_extended_operation_sA
diff --git a/mingw-w64-crt/lib64/wlicmgr10.def b/mingw-w64-crt/lib64/wlicmgr10.def
index 0697f40..1ea14e8 100644
--- a/mingw-w64-crt/lib64/wlicmgr10.def
+++ b/mingw-w64-crt/lib64/wlicmgr10.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file LICMGR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LICMGR.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file LICMGR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LICMGR.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wlinkinfo.def b/mingw-w64-crt/lib64/wlinkinfo.def
index 219ab73..484af1d 100644
--- a/mingw-w64-crt/lib64/wlinkinfo.def
+++ b/mingw-w64-crt/lib64/wlinkinfo.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file LINKINFO.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LINKINFO.dll
-EXPORTS
-CompareLinkInfoReferents
-CompareLinkInfoVolumes
-CreateLinkInfo
-CreateLinkInfoA
-CreateLinkInfoW
-DestroyLinkInfo
-DisconnectLinkInfo
-GetCanonicalPathInfo
-GetCanonicalPathInfoA
-GetCanonicalPathInfoW
-GetLinkInfoData
-IsValidLinkInfo
-ResolveLinkInfo
-ResolveLinkInfoA
-ResolveLinkInfoW
+; 
+; Exports of file LINKINFO.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LINKINFO.dll
+EXPORTS
+CompareLinkInfoReferents
+CompareLinkInfoVolumes
+CreateLinkInfo
+CreateLinkInfoA
+CreateLinkInfoW
+DestroyLinkInfo
+DisconnectLinkInfo
+GetCanonicalPathInfo
+GetCanonicalPathInfoA
+GetCanonicalPathInfoW
+GetLinkInfoData
+IsValidLinkInfo
+ResolveLinkInfo
+ResolveLinkInfoA
+ResolveLinkInfoW
diff --git a/mingw-w64-crt/lib64/wlmhsvc.def b/mingw-w64-crt/lib64/wlmhsvc.def
index 2b4e761..f9d80a1 100644
--- a/mingw-w64-crt/lib64/wlmhsvc.def
+++ b/mingw-w64-crt/lib64/wlmhsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file lmhsvc.EXE
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY lmhsvc.EXE
-EXPORTS
-ServiceMain
+; 
+; Exports of file lmhsvc.EXE
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY lmhsvc.EXE
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/wlmmib2.def b/mingw-w64-crt/lib64/wlmmib2.def
index 3a772a1..90e82ef 100644
--- a/mingw-w64-crt/lib64/wlmmib2.def
+++ b/mingw-w64-crt/lib64/wlmmib2.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file lmmib2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY lmmib2.dll
-EXPORTS
-SnmpExtensionClose
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file lmmib2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY lmmib2.dll
+EXPORTS
+SnmpExtensionClose
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/wlmrt.def b/mingw-w64-crt/lib64/wlmrt.def
index fc68910..3610e7c 100644
--- a/mingw-w64-crt/lib64/wlmrt.def
+++ b/mingw-w64-crt/lib64/wlmrt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file LMRT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LMRT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file LMRT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LMRT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wlnotify.def b/mingw-w64-crt/lib64/wlnotify.def
index e34a7e8..5b3455b 100644
--- a/mingw-w64-crt/lib64/wlnotify.def
+++ b/mingw-w64-crt/lib64/wlnotify.def
@@ -1,38 +1,38 @@
-; 
-; Exports of file WlNotify.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WlNotify.dll
-EXPORTS
-RegisterTicketExpiredNotificationEvent
-SCardResumeCertProp
-SCardStartCertProp
-SCardStopCertProp
-SCardSuspendCertProp
-SchedEventLogOff
-SchedStartShell
-ShowNotificationBalloonW
-UnregisterTicketExpiredNotificationEvent
-SensDisconnectEvent
-SensLockEvent
-SensLogoffEvent
-SensLogonEvent
-SensPostShellEvent
-SensReconnectEvent
-SensShutdownEvent
-SensStartScreenSaverEvent
-SensStartShellEvent
-SensStartupEvent
-SensStopScreenSaverEvent
-SensUnlockEvent
-TSEventDisconnect
-TSEventLogoff
-TSEventLogon
-TSEventPostShell
-TSEventReconnect
-TSEventShutdown
-TSEventStartShell
-TSEventStartup
-TermsrvCreateTempDir
+; 
+; Exports of file WlNotify.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WlNotify.dll
+EXPORTS
+RegisterTicketExpiredNotificationEvent
+SCardResumeCertProp
+SCardStartCertProp
+SCardStopCertProp
+SCardSuspendCertProp
+SchedEventLogOff
+SchedStartShell
+ShowNotificationBalloonW
+UnregisterTicketExpiredNotificationEvent
+SensDisconnectEvent
+SensLockEvent
+SensLogoffEvent
+SensLogonEvent
+SensPostShellEvent
+SensReconnectEvent
+SensShutdownEvent
+SensStartScreenSaverEvent
+SensStartShellEvent
+SensStartupEvent
+SensStopScreenSaverEvent
+SensUnlockEvent
+TSEventDisconnect
+TSEventLogoff
+TSEventLogon
+TSEventPostShell
+TSEventReconnect
+TSEventShutdown
+TSEventStartShell
+TSEventStartup
+TermsrvCreateTempDir
diff --git a/mingw-w64-crt/lib64/wloadperf.def b/mingw-w64-crt/lib64/wloadperf.def
index d28fd66..a6a340a 100644
--- a/mingw-w64-crt/lib64/wloadperf.def
+++ b/mingw-w64-crt/lib64/wloadperf.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file loadperf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY loadperf.dll
-EXPORTS
-BackupPerfRegistryToFileW
-InstallPerfDllA
-InstallPerfDllW
-LoadPerfCounterTextStringsA
-LoadPerfCounterTextStringsW
-RestorePerfRegistryFromFileW
-SetServiceAsTrustedA
-SetServiceAsTrustedW
-UnloadPerfCounterTextStringsA
-UnloadPerfCounterTextStringsW
-UpdatePerfNameFilesA
-UpdatePerfNameFilesW
+; 
+; Exports of file loadperf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY loadperf.dll
+EXPORTS
+BackupPerfRegistryToFileW
+InstallPerfDllA
+InstallPerfDllW
+LoadPerfCounterTextStringsA
+LoadPerfCounterTextStringsW
+RestorePerfRegistryFromFileW
+SetServiceAsTrustedA
+SetServiceAsTrustedW
+UnloadPerfCounterTextStringsA
+UnloadPerfCounterTextStringsW
+UpdatePerfNameFilesA
+UpdatePerfNameFilesW
diff --git a/mingw-w64-crt/lib64/wlocalsec.def b/mingw-w64-crt/lib64/wlocalsec.def
index 7991266..3755bb6 100644
--- a/mingw-w64-crt/lib64/wlocalsec.def
+++ b/mingw-w64-crt/lib64/wlocalsec.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file localsec.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY localsec.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
+; 
+; Exports of file localsec.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY localsec.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
diff --git a/mingw-w64-crt/lib64/wlocalui.def b/mingw-w64-crt/lib64/wlocalui.def
index 269ce71..5642d33 100644
--- a/mingw-w64-crt/lib64/wlocalui.def
+++ b/mingw-w64-crt/lib64/wlocalui.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file LOCALUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LOCALUI.dll
-EXPORTS
-InitializePrintMonitorUI
+; 
+; Exports of file LOCALUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LOCALUI.dll
+EXPORTS
+InitializePrintMonitorUI
diff --git a/mingw-w64-crt/lib64/wlog.def b/mingw-w64-crt/lib64/wlog.def
index e36d3ea..320579e 100644
--- a/mingw-w64-crt/lib64/wlog.def
+++ b/mingw-w64-crt/lib64/wlog.def
@@ -1,28 +1,28 @@
-; 
-; Exports of file LOG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LOG.dll
-EXPORTS
-DllMain
-LogA
-LogBegin
-LogDeleteOnNextInit
-LogDirectA
-LogDirectW
-LogEnd
-LogIfA
-LogIfW
-LogLineA
-LogLineW
-LogReInitA
-LogReInitW
-LogSetErrorDest
-LogSetVerboseBitmap
-LogSetVerboseLevel
-LogTitleA
-LogTitleW
-LogW
-SuppressAllLogPopups
+; 
+; Exports of file LOG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LOG.dll
+EXPORTS
+DllMain
+LogA
+LogBegin
+LogDeleteOnNextInit
+LogDirectA
+LogDirectW
+LogEnd
+LogIfA
+LogIfW
+LogLineA
+LogLineW
+LogReInitA
+LogReInitW
+LogSetErrorDest
+LogSetVerboseBitmap
+LogSetVerboseLevel
+LogTitleA
+LogTitleW
+LogW
+SuppressAllLogPopups
diff --git a/mingw-w64-crt/lib64/wloghours.def b/mingw-w64-crt/lib64/wloghours.def
index 5904dde..0c2c8e8 100644
--- a/mingw-w64-crt/lib64/wloghours.def
+++ b/mingw-w64-crt/lib64/wloghours.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file LogHours.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LogHours.dll
-EXPORTS
-LogonScheduleDialog
-ConnectionScheduleDialog
-DialinHoursDialog
-DirSyncScheduleDialog
-LogonScheduleDialogEx
-DialinHoursDialogEx
-ReplicationScheduleDialog
-ReplicationScheduleDialogEx
-ConnectionScheduleDialogEx
-DirSyncScheduleDialogEx
+; 
+; Exports of file LogHours.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LogHours.dll
+EXPORTS
+LogonScheduleDialog
+ConnectionScheduleDialog
+DialinHoursDialog
+DirSyncScheduleDialog
+LogonScheduleDialogEx
+DialinHoursDialogEx
+ReplicationScheduleDialog
+ReplicationScheduleDialogEx
+ConnectionScheduleDialogEx
+DirSyncScheduleDialogEx
diff --git a/mingw-w64-crt/lib64/wlogscrpt.def b/mingw-w64-crt/lib64/wlogscrpt.def
index 6efeafc..2033e38 100644
--- a/mingw-w64-crt/lib64/wlogscrpt.def
+++ b/mingw-w64-crt/lib64/wlogscrpt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file logscript.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY logscript.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file logscript.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY logscript.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wlonsint.def b/mingw-w64-crt/lib64/wlonsint.def
index 2a65155..4916f65 100644
--- a/mingw-w64-crt/lib64/wlonsint.def
+++ b/mingw-w64-crt/lib64/wlonsint.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file LONSINT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LONSINT.dll
-EXPORTS
-IISGetDefaultDomainName
-IISLogon32Initialize
-IISLogonDigestUserA
-IISLogonNetUserA
-IISLogonNetUserW
-IISLogonPassportUserW
-IISNetUserCookieA
+; 
+; Exports of file LONSINT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LONSINT.dll
+EXPORTS
+IISGetDefaultDomainName
+IISLogon32Initialize
+IISLogonDigestUserA
+IISLogonNetUserA
+IISLogonNetUserW
+IISLogonPassportUserW
+IISNetUserCookieA
diff --git a/mingw-w64-crt/lib64/wlpdsvc.def b/mingw-w64-crt/lib64/wlpdsvc.def
index 533469a..a192dd7 100644
--- a/mingw-w64-crt/lib64/wlpdsvc.def
+++ b/mingw-w64-crt/lib64/wlpdsvc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file LPDSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPDSVC.dll
-EXPORTS
-ServiceEntry
+; 
+; Exports of file LPDSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPDSVC.dll
+EXPORTS
+ServiceEntry
diff --git a/mingw-w64-crt/lib64/wlpk.def b/mingw-w64-crt/lib64/wlpk.def
index 0299a02..865e26b 100644
--- a/mingw-w64-crt/lib64/wlpk.def
+++ b/mingw-w64-crt/lib64/wlpk.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file LPK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPK.dll
-EXPORTS
-LpkInitialize
-LpkTabbedTextOut
-LpkDllInitialize
-LpkDrawTextEx
-LpkEditControl DATA
-LpkExtTextOut
-LpkGetCharacterPlacement
-LpkGetTextExtentExPoint
-LpkPSMTextOut
-LpkUseGDIWidthCache
-ftsWordBreak
+; 
+; Exports of file LPK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPK.dll
+EXPORTS
+LpkInitialize
+LpkTabbedTextOut
+LpkDllInitialize
+LpkDrawTextEx
+LpkEditControl DATA
+LpkExtTextOut
+LpkGetCharacterPlacement
+LpkGetTextExtentExPoint
+LpkPSMTextOut
+LpkUseGDIWidthCache
+ftsWordBreak
diff --git a/mingw-w64-crt/lib64/wlprhelp.def b/mingw-w64-crt/lib64/wlprhelp.def
index 47042e3..9071328 100644
--- a/mingw-w64-crt/lib64/wlprhelp.def
+++ b/mingw-w64-crt/lib64/wlprhelp.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file LPRHELP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPRHELP.dll
-EXPORTS
-CancelJob
-CloseLPR
-EndJob
-GetLongQueue
-GetShortQueue
-InitiateConnection
-OpenLPR
-PrintWaitingJobs
-SetLPRTimeouts
-StartJob
-WriteJobData
+; 
+; Exports of file LPRHELP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPRHELP.dll
+EXPORTS
+CancelJob
+CloseLPR
+EndJob
+GetLongQueue
+GetShortQueue
+InitiateConnection
+OpenLPR
+PrintWaitingJobs
+SetLPRTimeouts
+StartJob
+WriteJobData
diff --git a/mingw-w64-crt/lib64/wlprmon.def b/mingw-w64-crt/lib64/wlprmon.def
index 7182ca3..7348fe0 100644
--- a/mingw-w64-crt/lib64/wlprmon.def
+++ b/mingw-w64-crt/lib64/wlprmon.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file LPRMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPRMON.dll
-EXPORTS
-InitializePrintMonitor2
-LibMain
+; 
+; Exports of file LPRMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPRMON.dll
+EXPORTS
+InitializePrintMonitor2
+LibMain
diff --git a/mingw-w64-crt/lib64/wlprmonui.def b/mingw-w64-crt/lib64/wlprmonui.def
index e522b08..14b6408 100644
--- a/mingw-w64-crt/lib64/wlprmonui.def
+++ b/mingw-w64-crt/lib64/wlprmonui.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file LPRUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LPRUI.dll
-EXPORTS
-InitializePrintMonitorUI
+; 
+; Exports of file LPRUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LPRUI.dll
+EXPORTS
+InitializePrintMonitorUI
diff --git a/mingw-w64-crt/lib64/wlsnp.def b/mingw-w64-crt/lib64/wlsnp.def
index 7fe40a2..a097d0a 100644
--- a/mingw-w64-crt/lib64/wlsnp.def
+++ b/mingw-w64-crt/lib64/wlsnp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WLSNP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WLSNP.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WLSNP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WLSNP.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wlstore.def b/mingw-w64-crt/lib64/wlstore.def
index 47fefec..401cabd 100644
--- a/mingw-w64-crt/lib64/wlstore.def
+++ b/mingw-w64-crt/lib64/wlstore.def
@@ -1,33 +1,33 @@
-; 
-; Exports of file WLSTORE.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WLSTORE.DLL
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-UpdateWirelessPSData
-WirelessAddPSToPolicy
-WirelessAllocPolMem
-WirelessAllocPolStr
-WirelessClearWMIStore
-WirelessClosePolicyStore
-WirelessCopyPolicyData
-WirelessCreatePolicyData
-WirelessDeletePolicyData
-WirelessEnumPolicyData
-WirelessFreeMulPolicyData
-WirelessFreePolMem
-WirelessFreePolStr
-WirelessFreePolicyData
-WirelessGPOOpenPolicyStore
-WirelessPolicyPSId
-WirelessReallocatePolMem
-WirelessReallocatePolStr
-WirelessRemovePSFromPolicy
-WirelessRemovePSFromPolicyId
-WirelessSetPSDataInPolicy
-WirelessSetPolicyData
-WirelessWriteDirectoryPolicyToWMI
+; 
+; Exports of file WLSTORE.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WLSTORE.DLL
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+UpdateWirelessPSData
+WirelessAddPSToPolicy
+WirelessAllocPolMem
+WirelessAllocPolStr
+WirelessClearWMIStore
+WirelessClosePolicyStore
+WirelessCopyPolicyData
+WirelessCreatePolicyData
+WirelessDeletePolicyData
+WirelessEnumPolicyData
+WirelessFreeMulPolicyData
+WirelessFreePolMem
+WirelessFreePolStr
+WirelessFreePolicyData
+WirelessGPOOpenPolicyStore
+WirelessPolicyPSId
+WirelessReallocatePolMem
+WirelessReallocatePolStr
+WirelessRemovePSFromPolicy
+WirelessRemovePSFromPolicyId
+WirelessSetPSDataInPolicy
+WirelessSetPolicyData
+WirelessWriteDirectoryPolicyToWMI
diff --git a/mingw-w64-crt/lib64/wlz32.def b/mingw-w64-crt/lib64/wlz32.def
index b5f2beb..8b37530 100644
--- a/mingw-w64-crt/lib64/wlz32.def
+++ b/mingw-w64-crt/lib64/wlz32.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file LZ32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY LZ32.dll
-EXPORTS
-CopyLZFile
-GetExpandedNameA
-GetExpandedNameW
-LZClose
-LZCloseFile
-LZCopy
-LZCreateFileW
-LZDone
-LZInit
-LZOpenFileA
-LZOpenFileW
-LZRead
-LZSeek
-LZStart
+; 
+; Exports of file LZ32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY LZ32.dll
+EXPORTS
+CopyLZFile
+GetExpandedNameA
+GetExpandedNameW
+LZClose
+LZCloseFile
+LZCopy
+LZCreateFileW
+LZDone
+LZInit
+LZOpenFileA
+LZOpenFileW
+LZRead
+LZSeek
+LZStart
diff --git a/mingw-w64-crt/lib64/wmag_hook.def b/mingw-w64-crt/lib64/wmag_hook.def
index ffd331b..b4fc7b7 100644
--- a/mingw-w64-crt/lib64/wmag_hook.def
+++ b/mingw-w64-crt/lib64/wmag_hook.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file Mag_Hook.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Mag_Hook.dll
-EXPORTS
-_FakeCursorMove@8
-_GetCursorHack@0
-_GetPopupInfo@4
-_InstallEventHook@4
-_SetZoomRect@8
+; 
+; Exports of file Mag_Hook.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Mag_Hook.dll
+EXPORTS
+_FakeCursorMove@8
+_GetCursorHack@0
+_GetPopupInfo@4
+_InstallEventHook@4
+_SetZoomRect@8
diff --git a/mingw-w64-crt/lib64/wmcastmib.def b/mingw-w64-crt/lib64/wmcastmib.def
index fd33538..4d8975d 100644
--- a/mingw-w64-crt/lib64/wmcastmib.def
+++ b/mingw-w64-crt/lib64/wmcastmib.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MCASTMIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCASTMIB.dll
-EXPORTS
-SnmpExtensionInit
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file MCASTMIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCASTMIB.dll
+EXPORTS
+SnmpExtensionInit
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/wmcd32.def b/mingw-w64-crt/lib64/wmcd32.def
index 81b235f..8d1e0eb 100644
--- a/mingw-w64-crt/lib64/wmcd32.def
+++ b/mingw-w64-crt/lib64/wmcd32.def
@@ -1,52 +1,52 @@
-; 
-; Exports of file MCD32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCD32.dll
-EXPORTS
-MCDAddState
-MCDAddStateStruct
-MCDAlloc
-MCDAllocBuffers
-MCDBeginState
-MCDBindContext
-MCDClear
-MCDCopyPixels
-MCDCreateContext
-MCDCreateTexture
-MCDDeleteContext
-MCDDeleteTexture
-MCDDescribeLayerPlane
-MCDDescribeMcdLayerPlane
-MCDDescribeMcdPixelFormat
-MCDDescribePixelFormat
-MCDDestroyWindow
-MCDDrawPixels
-MCDFlushState
-MCDFree
-MCDGetBuffers
-MCDGetDriverInfo
-MCDGetTextureFormats
-MCDLock
-MCDPixelMap
-MCDProcessBatch2
-MCDProcessBatch
-MCDQueryMemStatus
-MCDReadPixels
-MCDReadSpan
-MCDSetLayerPalette
-MCDSetScissorRect
-MCDSetViewport
-MCDSwap
-MCDSwapMultiple
-MCDSync
-MCDTextureKey
-MCDTextureStatus
-MCDUnlock
-MCDUpdateSubTexture
-MCDUpdateTexturePalette
-MCDUpdateTexturePriority
-MCDUpdateTextureState
-MCDWriteSpan
+; 
+; Exports of file MCD32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCD32.dll
+EXPORTS
+MCDAddState
+MCDAddStateStruct
+MCDAlloc
+MCDAllocBuffers
+MCDBeginState
+MCDBindContext
+MCDClear
+MCDCopyPixels
+MCDCreateContext
+MCDCreateTexture
+MCDDeleteContext
+MCDDeleteTexture
+MCDDescribeLayerPlane
+MCDDescribeMcdLayerPlane
+MCDDescribeMcdPixelFormat
+MCDDescribePixelFormat
+MCDDestroyWindow
+MCDDrawPixels
+MCDFlushState
+MCDFree
+MCDGetBuffers
+MCDGetDriverInfo
+MCDGetTextureFormats
+MCDLock
+MCDPixelMap
+MCDProcessBatch2
+MCDProcessBatch
+MCDQueryMemStatus
+MCDReadPixels
+MCDReadSpan
+MCDSetLayerPalette
+MCDSetScissorRect
+MCDSetViewport
+MCDSwap
+MCDSwapMultiple
+MCDSync
+MCDTextureKey
+MCDTextureStatus
+MCDUnlock
+MCDUpdateSubTexture
+MCDUpdateTexturePalette
+MCDUpdateTexturePriority
+MCDUpdateTextureState
+MCDWriteSpan
diff --git a/mingw-w64-crt/lib64/wmchgrcoi.def b/mingw-w64-crt/lib64/wmchgrcoi.def
index 730508e..8563a72 100644
--- a/mingw-w64-crt/lib64/wmchgrcoi.def
+++ b/mingw-w64-crt/lib64/wmchgrcoi.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file mchgrcoi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mchgrcoi.dll
-EXPORTS
-MchgrClassCoInstaller
+; 
+; Exports of file mchgrcoi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mchgrcoi.dll
+EXPORTS
+MchgrClassCoInstaller
diff --git a/mingw-w64-crt/lib64/wmciavi32.def b/mingw-w64-crt/lib64/wmciavi32.def
index 31f9a0e..48199e2 100644
--- a/mingw-w64-crt/lib64/wmciavi32.def
+++ b/mingw-w64-crt/lib64/wmciavi32.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MCIAVI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCIAVI32.dll
-EXPORTS
-DriverProc
-KeyboardHookProc
+; 
+; Exports of file MCIAVI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCIAVI32.dll
+EXPORTS
+DriverProc
+KeyboardHookProc
diff --git a/mingw-w64-crt/lib64/wmcicda.def b/mingw-w64-crt/lib64/wmcicda.def
index d2f20b1..86ff33e 100644
--- a/mingw-w64-crt/lib64/wmcicda.def
+++ b/mingw-w64-crt/lib64/wmcicda.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MCICDA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCICDA.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MCICDA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCICDA.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/wmciole32.def b/mingw-w64-crt/lib64/wmciole32.def
index 20e35db..06cce2a 100644
--- a/mingw-w64-crt/lib64/wmciole32.def
+++ b/mingw-w64-crt/lib64/wmciole32.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file MCIOLE32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCIOLE32.dll
-EXPORTS
-DllLoadFromStream
-DllCreateFromClip
-DllCreateLinkFromClip
-DllCreateFromTemplate
-DllCreate
-DllCreateFromFile
-DllCreateLinkFromFile
-GetMessageHook
-OleQueryObjPos
-InstallHook
-RemoveHook
+; 
+; Exports of file MCIOLE32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCIOLE32.dll
+EXPORTS
+DllLoadFromStream
+DllCreateFromClip
+DllCreateLinkFromClip
+DllCreateFromTemplate
+DllCreate
+DllCreateFromFile
+DllCreateLinkFromFile
+GetMessageHook
+OleQueryObjPos
+InstallHook
+RemoveHook
diff --git a/mingw-w64-crt/lib64/wmciqtz32.def b/mingw-w64-crt/lib64/wmciqtz32.def
index 5006fbe..175e066 100644
--- a/mingw-w64-crt/lib64/wmciqtz32.def
+++ b/mingw-w64-crt/lib64/wmciqtz32.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MCIQTZ32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCIQTZ32.dll
-EXPORTS
-DriverProc
-MCIEntry32
+; 
+; Exports of file MCIQTZ32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCIQTZ32.dll
+EXPORTS
+DriverProc
+MCIEntry32
diff --git a/mingw-w64-crt/lib64/wmciseq.def b/mingw-w64-crt/lib64/wmciseq.def
index 06554c0..fa17d34 100644
--- a/mingw-w64-crt/lib64/wmciseq.def
+++ b/mingw-w64-crt/lib64/wmciseq.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MCISEQ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCISEQ.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MCISEQ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCISEQ.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/wmciwave.def b/mingw-w64-crt/lib64/wmciwave.def
index 23e2ab0..7c02ea7 100644
--- a/mingw-w64-crt/lib64/wmciwave.def
+++ b/mingw-w64-crt/lib64/wmciwave.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MCIWAVE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MCIWAVE.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MCIWAVE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MCIWAVE.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/wmdhcp.def b/mingw-w64-crt/lib64/wmdhcp.def
index b5a2da2..ad3da3f 100644
--- a/mingw-w64-crt/lib64/wmdhcp.def
+++ b/mingw-w64-crt/lib64/wmdhcp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mdhcp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mdhcp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mdhcp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mdhcp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmdminst.def b/mingw-w64-crt/lib64/wmdminst.def
index cafe348..480efbb 100644
--- a/mingw-w64-crt/lib64/wmdminst.def
+++ b/mingw-w64-crt/lib64/wmdminst.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MDMINST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MDMINST.dll
-EXPORTS
-ClassInstall32
+; 
+; Exports of file MDMINST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MDMINST.dll
+EXPORTS
+ClassInstall32
diff --git a/mingw-w64-crt/lib64/wmf3216.def b/mingw-w64-crt/lib64/wmf3216.def
index e9362b1..5d0143b 100644
--- a/mingw-w64-crt/lib64/wmf3216.def
+++ b/mingw-w64-crt/lib64/wmf3216.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file mf3216.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mf3216.dll
-EXPORTS
-ConvertEmfToWmf
-Mf3216DllInitialize
+; 
+; Exports of file mf3216.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mf3216.dll
+EXPORTS
+ConvertEmfToWmf
+Mf3216DllInitialize
diff --git a/mingw-w64-crt/lib64/wmfc40.def b/mingw-w64-crt/lib64/wmfc40.def
index d113e89..c436145 100644
--- a/mingw-w64-crt/lib64/wmfc40.def
+++ b/mingw-w64-crt/lib64/wmfc40.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MFC40.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MFC40.DLL
-EXPORTS
-DllGetClassObject
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MFC40.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MFC40.DLL
+EXPORTS
+DllGetClassObject
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmfc40u.def b/mingw-w64-crt/lib64/wmfc40u.def
index 0c1314c..58a03fa 100644
--- a/mingw-w64-crt/lib64/wmfc40u.def
+++ b/mingw-w64-crt/lib64/wmfc40u.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MFC40u.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MFC40u.DLL
-EXPORTS
-DllGetClassObject
-DllCanUnloadNow
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MFC40u.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MFC40u.DLL
+EXPORTS
+DllGetClassObject
+DllCanUnloadNow
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmfc42.def b/mingw-w64-crt/lib64/wmfc42.def
index a4762f8..fe4091b 100644
--- a/mingw-w64-crt/lib64/wmfc42.def
+++ b/mingw-w64-crt/lib64/wmfc42.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file MFC42.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MFC42.dll
-EXPORTS
-; public: static struct CRuntimeClass const  CCachedDataPathProperty::classCCachedDataPathProperty
-?classCCachedDataPathProperty@CCachedDataPathProperty@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CDataPathProperty::classCDataPathProperty
-?classCDataPathProperty@CDataPathProperty@@2UCRuntimeClass@@B
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MFC42.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MFC42.dll
+EXPORTS
+; public: static struct CRuntimeClass const  CCachedDataPathProperty::classCCachedDataPathProperty
+?classCCachedDataPathProperty@CCachedDataPathProperty@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CDataPathProperty::classCDataPathProperty
+?classCDataPathProperty@CDataPathProperty@@2UCRuntimeClass@@B
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmfc42u.def b/mingw-w64-crt/lib64/wmfc42u.def
index de00e8e..bd516cc 100644
--- a/mingw-w64-crt/lib64/wmfc42u.def
+++ b/mingw-w64-crt/lib64/wmfc42u.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file MFC42u.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MFC42u.dll
-EXPORTS
-; public: static struct CRuntimeClass const  CCachedDataPathProperty::classCCachedDataPathProperty
-?classCCachedDataPathProperty@CCachedDataPathProperty@@2UCRuntimeClass@@B
-; public: static struct CRuntimeClass const  CDataPathProperty::classCDataPathProperty
-?classCDataPathProperty@CDataPathProperty@@2UCRuntimeClass@@B
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MFC42u.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MFC42u.dll
+EXPORTS
+; public: static struct CRuntimeClass const  CCachedDataPathProperty::classCCachedDataPathProperty
+?classCCachedDataPathProperty@CCachedDataPathProperty@@2UCRuntimeClass@@B
+; public: static struct CRuntimeClass const  CDataPathProperty::classCDataPathProperty
+?classCDataPathProperty@CDataPathProperty@@2UCRuntimeClass@@B
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmfcsubs.def b/mingw-w64-crt/lib64/wmfcsubs.def
index 5c3b15d..a291b38 100644
--- a/mingw-w64-crt/lib64/wmfcsubs.def
+++ b/mingw-w64-crt/lib64/wmfcsubs.def
@@ -1,340 +1,340 @@
-; 
-; Exports of file MfcSubs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MfcSubs.dll
-EXPORTS
-; VCString::?$ConstructElements(@@YGXPAVCString@@H@Z)
-??$ConstructElements@VCString@@@@YGXPAVCString@@H@Z
-; VCString::?$CopyElements(@@YGXPAVCString@@PBV0@H@Z)
-??$CopyElements@VCString@@@@YGXPAVCString@@PBV0@H@Z
-; VCString::?$DestructElements(@@YGXPAVCString@@H@Z)
-??$DestructElements@VCString@@@@YGXPAVCString@@H@Z
-; ABU_GUID::?$HashKey(@@YGIABU_GUID@@@Z)
-??$HashKey@ABU_GUID@@@@YGIABU_GUID@@@Z
-; PBD::?$HashKey(YGIPBD@Z)
-??$HashKey@PBD@@YGIPBD@Z
-; PBG::?$HashKey(YGIPBG@Z)
-??$HashKey@PBG@@YGIPBG@Z
-; public: __thiscall CCriticalSection::CCriticalSection(void)
-??0CCriticalSection@@QAE@XZ
-; public: __thiscall CMapStringToPtr::CMapStringToPtr(int)
-??0CMapStringToPtr@@QAE@H@Z
-; protected: __thiscall CObject::CObject(void)
-??0CObject@@IAE@XZ
-; public: __thiscall CString::CString(class CString const &)
-??0CString@@QAE@ABV0@@Z
-; public: __thiscall CString::CString(unsigned short,int)
-??0CString@@QAE@GH@Z
-; public: __thiscall CString::CString(char const *)
-??0CString@@QAE@PBD@Z
-; public: __thiscall CString::CString(unsigned char const *)
-??0CString@@QAE@PBE@Z
-; public: __thiscall CString::CString(unsigned short const *)
-??0CString@@QAE@PBG@Z
-; public: __thiscall CString::CString(unsigned short const *,int)
-??0CString@@QAE@PBGH@Z
-; public: __thiscall CString::CString(void)
-??0CString@@QAE@XZ
-; public: __thiscall CStringArray::CStringArray(void)
-??0CStringArray@@QAE@XZ
-; public: __thiscall CSyncObject::CSyncObject(unsigned short const *)
-??0CSyncObject@@QAE@PBG@Z
-; public: virtual __thiscall CCriticalSection::~CCriticalSection(void)
-??1CCriticalSection@@UAE@XZ
-; public: virtual __thiscall CMapStringToPtr::~CMapStringToPtr(void)
-??1CMapStringToPtr@@UAE@XZ
-; public: virtual __thiscall CObject::~CObject(void)
-??1CObject@@UAE@XZ
-; public: __thiscall CString::~CString(void)
-??1CString@@QAE@XZ
-; public: virtual __thiscall CStringArray::~CStringArray(void)
-??1CStringArray@@UAE@XZ
-; public: virtual __thiscall CSyncObject::~CSyncObject(void)
-??1CSyncObject@@UAE@XZ
-; public: struct CPlex & __thiscall CPlex::operator=(struct CPlex const &)
-??4CPlex@@QAEAAU0@ABU0@@Z
-; public: class CString const & __thiscall CString::operator=(class CString const &)
-??4CString@@QAEABV0@ABV0@@Z
-; public: class CString const & __thiscall CString::operator=(char)
-??4CString@@QAEABV0@D@Z
-; public: class CString const & __thiscall CString::operator=(unsigned short)
-??4CString@@QAEABV0@G@Z
-; public: class CString const & __thiscall CString::operator=(char const *)
-??4CString@@QAEABV0@PBD@Z
-; public: class CString const & __thiscall CString::operator=(unsigned char const *)
-??4CString@@QAEABV0@PBE@Z
-; public: class CString const & __thiscall CString::operator=(unsigned short const *)
-??4CString@@QAEABV0@PBG@Z
-; bool __stdcall operator==(class CString const &,class CString const &)
-??8@YG_NABVCString@@0@Z
-; bool __stdcall operator==(class CString const &,unsigned short const *)
-??8@YG_NABVCString@@PBG@Z
-; bool __stdcall operator==(unsigned short const *,class CString const &)
-??8@YG_NPBGABVCString@@@Z
-; bool __stdcall operator!=(class CString const &,class CString const &)
-??9@YG_NABVCString@@0@Z
-; bool __stdcall operator!=(class CString const &,unsigned short const *)
-??9@YG_NABVCString@@PBG@Z
-; bool __stdcall operator!=(unsigned short const *,class CString const &)
-??9@YG_NPBGABVCString@@@Z
-; public: void * & __thiscall CMapStringToPtr::operator[](unsigned short const *)
-??ACMapStringToPtr@@QAEAAPAXPBG@Z
-; public: unsigned short __thiscall CString::operator[](int)const 
-??ACString@@QBEGH@Z
-; public: class CString & __thiscall CStringArray::operator[](int)
-??ACStringArray@@QAEAAVCString@@H@Z
-; public: class CString  __thiscall CStringArray::operator[](int)const 
-??ACStringArray@@QBE?AVCString@@H@Z
-; public: __thiscall CCriticalSection::operator struct _RTL_CRITICAL_SECTION *(void)
-??BCCriticalSection@@QAEPAU_RTL_CRITICAL_SECTION@@XZ
-; public: __thiscall CString::operator unsigned short const *(void)const 
-??BCString@@QBEPBGXZ
-; public: __thiscall CSyncObject::operator void *(void)const 
-??BCSyncObject@@QBEPAXXZ
-; class CString  __stdcall operator+(class CString const &,class CString const &)
-??H@YG?AVCString@@ABV0@0@Z
-; class CString  __stdcall operator+(class CString const &,char)
-??H@YG?AVCString@@ABV0@D@Z
-; class CString  __stdcall operator+(class CString const &,unsigned short)
-??H@YG?AVCString@@ABV0@G@Z
-; class CString  __stdcall operator+(class CString const &,unsigned short const *)
-??H@YG?AVCString@@ABV0@PBG@Z
-; class CString  __stdcall operator+(char,class CString const &)
-??H@YG?AVCString@@DABV0@@Z
-; class CString  __stdcall operator+(unsigned short,class CString const &)
-??H@YG?AVCString@@GABV0@@Z
-; class CString  __stdcall operator+(unsigned short const *,class CString const &)
-??H@YG?AVCString@@PBGABV0@@Z
-; bool __stdcall operator<(class CString const &,class CString const &)
-??M@YG_NABVCString@@0@Z
-; bool __stdcall operator<(class CString const &,unsigned short const *)
-??M@YG_NABVCString@@PBG@Z
-; bool __stdcall operator<(unsigned short const *,class CString const &)
-??M@YG_NPBGABVCString@@@Z
-; bool __stdcall operator<=(class CString const &,class CString const &)
-??N@YG_NABVCString@@0@Z
-; bool __stdcall operator<=(class CString const &,unsigned short const *)
-??N@YG_NABVCString@@PBG@Z
-; bool __stdcall operator<=(unsigned short const *,class CString const &)
-??N@YG_NPBGABVCString@@@Z
-; bool __stdcall operator>(class CString const &,class CString const &)
-??O@YG_NABVCString@@0@Z
-; bool __stdcall operator>(class CString const &,unsigned short const *)
-??O@YG_NABVCString@@PBG@Z
-; bool __stdcall operator>(unsigned short const *,class CString const &)
-??O@YG_NPBGABVCString@@@Z
-; bool __stdcall operator>=(class CString const &,class CString const &)
-??P@YG_NABVCString@@0@Z
-; bool __stdcall operator>=(class CString const &,unsigned short const *)
-??P@YG_NABVCString@@PBG@Z
-; bool __stdcall operator>=(unsigned short const *,class CString const &)
-??P@YG_NPBGABVCString@@@Z
-; public: class CString const & __thiscall CString::operator+=(class CString const &)
-??YCString@@QAEABV0@ABV0@@Z
-; public: class CString const & __thiscall CString::operator+=(char)
-??YCString@@QAEABV0@D@Z
-; public: class CString const & __thiscall CString::operator+=(unsigned short)
-??YCString@@QAEABV0@G@Z
-; public: class CString const & __thiscall CString::operator+=(unsigned short const *)
-??YCString@@QAEABV0@PBG@Z
-; const  CCriticalSection::`vftable'
-??_7CCriticalSection@@6B@
-; const  CMapStringToPtr::`vftable'
-??_7CMapStringToPtr@@6B@
-; const  CObject::`vftable'
-??_7CObject@@6B@
-; const  CStringArray::`vftable'
-??_7CStringArray@@6B@
-; const  CSyncObject::`vftable'
-??_7CSyncObject@@6B@
-; public: void __thiscall CMapStringToPtr::`default constructor closure'(void)
-??_FCMapStringToPtr@@QAEXXZ
-; public: int __thiscall CStringArray::Add(unsigned short const *)
-?Add@CStringArray@@QAEHPBG@Z
-; unsigned short * __stdcall AfxA2WHelper(unsigned short *,char const *,int)
-?AfxA2WHelper@@YGPAGPAGPBDH@Z
-; int __stdcall AfxExtractSubString(class CString &,unsigned short const *,int,unsigned short)
-?AfxExtractSubString@@YGHAAVCString@@PBGHG@Z
-; class CString const & __stdcall AfxGetEmptyString(void)
-?AfxGetEmptyString@@YGABVCString@@XZ
-; int __stdcall AfxLoadString(unsigned int,unsigned short *,unsigned int)
-?AfxLoadString@@YGHIPAGI@Z
-; char * __stdcall AfxW2AHelper(char *,unsigned short const *,int)
-?AfxW2AHelper@@YGPADPADPBGH@Z
-; protected: void __thiscall CString::AllocBeforeWrite(int)
-?AllocBeforeWrite@CString@@IAEXH@Z
-; protected: void __thiscall CString::AllocBuffer(int)
-?AllocBuffer@CString@@IAEXH@Z
-; protected: void __thiscall CString::AllocCopy(class CString &,int,int,int)const 
-?AllocCopy@CString@@IBEXAAV1@HHH@Z
-; public: int __thiscall CStringArray::Append(class CStringArray const &)
-?Append@CStringArray@@QAEHABV1@@Z
-; protected: void __thiscall CString::AssignCopy(int,unsigned short const *)
-?AssignCopy@CString@@IAEXHPBG@Z
-; public: int __thiscall CString::Collate(unsigned short const *)const 
-?Collate@CString@@QBEHPBG@Z
-; public: int __thiscall CString::Compare(unsigned short const *)const 
-?Compare@CString@@QBEHPBG@Z
-; public: int __thiscall CString::CompareNoCase(unsigned short const *)const 
-?CompareNoCase@CString@@QBEHPBG@Z
-; protected: void __thiscall CString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
-?ConcatCopy@CString@@IAEXHPBGH0@Z
-; protected: void __thiscall CString::ConcatInPlace(int,unsigned short const *)
-?ConcatInPlace@CString@@IAEXHPBG@Z
-; public: void __thiscall CStringArray::Copy(class CStringArray const &)
-?Copy@CStringArray@@QAEXABV1@@Z
-; protected: void __thiscall CString::CopyBeforeWrite(void)
-?CopyBeforeWrite@CString@@IAEXXZ
-; public: static struct CPlex * __stdcall CPlex::Create(struct CPlex * &,unsigned int,unsigned int)
-?Create@CPlex@@SGPAU1@AAPAU1@II@Z
-; public: class CString & __thiscall CStringArray::ElementAt(int)
-?ElementAt@CStringArray@@QAEAAVCString@@H@Z
-; public: void __thiscall CString::Empty(void)
-?Empty@CString@@QAEXXZ
-; public: int __thiscall CString::Find(unsigned short)const 
-?Find@CString@@QBEHG@Z
-; public: int __thiscall CString::Find(unsigned short const *)const 
-?Find@CString@@QBEHPBG@Z
-; public: int __thiscall CString::FindOneOf(unsigned short const *)const 
-?FindOneOf@CString@@QBEHPBG@Z
-; public: void __cdecl CString::Format(unsigned int,...)
-?Format@CString@@QAAXIZZ
-; public: void __cdecl CString::Format(unsigned short const *,...)
-?Format@CString@@QAAXPBGZZ
-; public: void __cdecl CString::FormatMessageW(unsigned int,...)
-?FormatMessageW@CString@@QAAXIZZ
-; public: void __cdecl CString::FormatMessageW(unsigned short const *,...)
-?FormatMessageW@CString@@QAAXPBGZZ
-; protected: void __thiscall CString::FormatV(unsigned short const *,char *)
-?FormatV@CString@@IAEXPBGPAD@Z
-; protected: void __thiscall CMapStringToPtr::FreeAssoc(struct CMapStringToPtr::CAssoc *)
-?FreeAssoc@CMapStringToPtr@@IAEXPAUCAssoc@1@@Z
-; public: void __thiscall CPlex::FreeDataChain(void)
-?FreeDataChain@CPlex@@QAEXXZ
-; public: void __thiscall CString::FreeExtra(void)
-?FreeExtra@CString@@QAEXXZ
-; public: void __thiscall CStringArray::FreeExtra(void)
-?FreeExtra@CStringArray@@QAEXXZ
-; public: int __thiscall CString::GetAllocLength(void)const 
-?GetAllocLength@CString@@QBEHXZ
-; protected: struct CMapStringToPtr::CAssoc * __thiscall CMapStringToPtr::GetAssocAt(unsigned short const *,unsigned int &)const 
-?GetAssocAt@CMapStringToPtr@@IBEPAUCAssoc@1@PBGAAI@Z
-; public: unsigned short __thiscall CString::GetAt(int)const 
-?GetAt@CString@@QBEGH@Z
-; public: class CString  __thiscall CStringArray::GetAt(int)const 
-?GetAt@CStringArray@@QBE?AVCString@@H@Z
-; public: unsigned short * __thiscall CString::GetBuffer(int)
-?GetBuffer@CString@@QAEPAGH@Z
-; public: unsigned short * __thiscall CString::GetBufferSetLength(int)
-?GetBufferSetLength@CString@@QAEPAGH@Z
-; public: int __thiscall CMapStringToPtr::GetCount(void)const 
-?GetCount@CMapStringToPtr@@QBEHXZ
-; protected: struct CStringData * __thiscall CString::GetData(void)const 
-?GetData@CString@@IBEPAUCStringData@@XZ
-; public: class CString * __thiscall CStringArray::GetData(void)
-?GetData@CStringArray@@QAEPAVCString@@XZ
-; public: class CString const * __thiscall CStringArray::GetData(void)const 
-?GetData@CStringArray@@QBEPBVCString@@XZ
-; public: unsigned int __thiscall CMapStringToPtr::GetHashTableSize(void)const 
-?GetHashTableSize@CMapStringToPtr@@QBEIXZ
-; public: int __thiscall CString::GetLength(void)const 
-?GetLength@CString@@QBEHXZ
-; public: void __thiscall CMapStringToPtr::GetNextAssoc(struct __POSITION * &,class CString &,void * &)const 
-?GetNextAssoc@CMapStringToPtr@@QBEXAAPAU__POSITION@@AAVCString@@AAPAX@Z
-; public: int __thiscall CStringArray::GetSize(void)const 
-?GetSize@CStringArray@@QBEHXZ
-; public: struct __POSITION * __thiscall CMapStringToPtr::GetStartPosition(void)const 
-?GetStartPosition@CMapStringToPtr@@QBEPAU__POSITION@@XZ
-; public: int __thiscall CStringArray::GetUpperBound(void)const 
-?GetUpperBound@CStringArray@@QBEHXZ
-; public: unsigned int __thiscall CMapStringToPtr::HashKey(unsigned short const *)const 
-?HashKey@CMapStringToPtr@@QBEIPBG@Z
-; protected: void __thiscall CString::Init(void)
-?Init@CString@@IAEXXZ
-; public: void __thiscall CMapStringToPtr::InitHashTable(unsigned int,int)
-?InitHashTable@CMapStringToPtr@@QAEXIH@Z
-; public: void __thiscall CStringArray::InsertAt(int,class CStringArray *)
-?InsertAt@CStringArray@@QAEXHPAV1@@Z
-; public: void __thiscall CStringArray::InsertAt(int,unsigned short const *,int)
-?InsertAt@CStringArray@@QAEXHPBGH@Z
-; public: int __thiscall CMapStringToPtr::IsEmpty(void)const 
-?IsEmpty@CMapStringToPtr@@QBEHXZ
-; public: int __thiscall CString::IsEmpty(void)const 
-?IsEmpty@CString@@QBEHXZ
-; public: class CString  __thiscall CString::Left(int)const 
-?Left@CString@@QBE?AV1@H@Z
-; public: int __thiscall CString::LoadStringW(unsigned int)
-?LoadStringW@CString@@QAEHI@Z
-; public: int __thiscall CCriticalSection::Lock(void)
-?Lock@CCriticalSection@@QAEHXZ
-; public: virtual int __thiscall CCriticalSection::Lock(unsigned long)
-?Lock@CCriticalSection@@UAEHK@Z
-; public: virtual int __thiscall CSyncObject::Lock(unsigned long)
-?Lock@CSyncObject@@UAEHK@Z
-; public: unsigned short * __thiscall CString::LockBuffer(void)
-?LockBuffer@CString@@QAEPAGXZ
-; public: int __thiscall CMapStringToPtr::Lookup(unsigned short const *,void * &)const 
-?Lookup@CMapStringToPtr@@QBEHPBGAAPAX@Z
-; public: int __thiscall CMapStringToPtr::LookupKey(unsigned short const *,unsigned short const * &)const 
-?LookupKey@CMapStringToPtr@@QBEHPBGAAPBG@Z
-; public: void __thiscall CString::MakeLower(void)
-?MakeLower@CString@@QAEXXZ
-; public: void __thiscall CString::MakeReverse(void)
-?MakeReverse@CString@@QAEXXZ
-; public: void __thiscall CString::MakeUpper(void)
-?MakeUpper@CString@@QAEXXZ
-; public: class CString  __thiscall CString::Mid(int)const 
-?Mid@CString@@QBE?AV1@H@Z
-; public: class CString  __thiscall CString::Mid(int,int)const 
-?Mid@CString@@QBE?AV1@HH@Z
-; protected: struct CMapStringToPtr::CAssoc * __thiscall CMapStringToPtr::NewAssoc(void)
-?NewAssoc@CMapStringToPtr@@IAEPAUCAssoc@1@XZ
-; protected: void __thiscall CString::Release(void)
-?Release@CString@@IAEXXZ
-; protected: static void __stdcall CString::Release(struct CStringData *)
-?Release@CString@@KGXPAUCStringData@@@Z
-; public: void __thiscall CString::ReleaseBuffer(int)
-?ReleaseBuffer@CString@@QAEXH@Z
-; public: void __thiscall CMapStringToPtr::RemoveAll(void)
-?RemoveAll@CMapStringToPtr@@QAEXXZ
-; public: void __thiscall CStringArray::RemoveAll(void)
-?RemoveAll@CStringArray@@QAEXXZ
-; public: void __thiscall CStringArray::RemoveAt(int,int)
-?RemoveAt@CStringArray@@QAEXHH@Z
-; public: int __thiscall CMapStringToPtr::RemoveKey(unsigned short const *)
-?RemoveKey@CMapStringToPtr@@QAEHPBG@Z
-; public: int __thiscall CString::ReverseFind(unsigned short)const 
-?ReverseFind@CString@@QBEHG@Z
-; public: class CString  __thiscall CString::Right(int)const 
-?Right@CString@@QBE?AV1@H@Z
-; protected: static int __stdcall CString::SafeStrlen(unsigned short const *)
-?SafeStrlen@CString@@KGHPBG@Z
-; public: void __thiscall CMapStringToPtr::SetAt(unsigned short const *,void *)
-?SetAt@CMapStringToPtr@@QAEXPBGPAX@Z
-; public: void __thiscall CString::SetAt(int,unsigned short)
-?SetAt@CString@@QAEXHG@Z
-; public: void __thiscall CStringArray::SetAt(int,unsigned short const *)
-?SetAt@CStringArray@@QAEXHPBG@Z
-; public: void __thiscall CStringArray::SetAtGrow(int,unsigned short const *)
-?SetAtGrow@CStringArray@@QAEXHPBG@Z
-; public: void __thiscall CStringArray::SetSize(int,int)
-?SetSize@CStringArray@@QAEXHH@Z
-; public: class CString  __thiscall CString::SpanExcluding(unsigned short const *)const 
-?SpanExcluding@CString@@QBE?AV1@PBG@Z
-; public: class CString  __thiscall CString::SpanIncluding(unsigned short const *)const 
-?SpanIncluding@CString@@QBE?AV1@PBG@Z
-; public: void __thiscall CString::TrimLeft(void)
-?TrimLeft@CString@@QAEXXZ
-; public: void __thiscall CString::TrimRight(void)
-?TrimRight@CString@@QAEXXZ
-; public: virtual int __thiscall CCriticalSection::Unlock(void)
-?Unlock@CCriticalSection@@UAEHXZ
-; public: virtual int __thiscall CSyncObject::Unlock(long,long *)
-?Unlock@CSyncObject@@UAEHJPAJ@Z
-; public: void __thiscall CString::UnlockBuffer(void)
-?UnlockBuffer@CString@@QAEXXZ
-; public: void * __thiscall CPlex::data(void)
-?data@CPlex@@QAEPAXXZ
+; 
+; Exports of file MfcSubs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MfcSubs.dll
+EXPORTS
+; VCString::?$ConstructElements(@@YGXPAVCString@@H@Z)
+??$ConstructElements@VCString@@@@YGXPAVCString@@H@Z
+; VCString::?$CopyElements(@@YGXPAVCString@@PBV0@H@Z)
+??$CopyElements@VCString@@@@YGXPAVCString@@PBV0@H@Z
+; VCString::?$DestructElements(@@YGXPAVCString@@H@Z)
+??$DestructElements@VCString@@@@YGXPAVCString@@H@Z
+; ABU_GUID::?$HashKey(@@YGIABU_GUID@@@Z)
+??$HashKey@ABU_GUID@@@@YGIABU_GUID@@@Z
+; PBD::?$HashKey(YGIPBD@Z)
+??$HashKey@PBD@@YGIPBD@Z
+; PBG::?$HashKey(YGIPBG@Z)
+??$HashKey@PBG@@YGIPBG@Z
+; public: __thiscall CCriticalSection::CCriticalSection(void)
+??0CCriticalSection@@QAE@XZ
+; public: __thiscall CMapStringToPtr::CMapStringToPtr(int)
+??0CMapStringToPtr@@QAE@H@Z
+; protected: __thiscall CObject::CObject(void)
+??0CObject@@IAE@XZ
+; public: __thiscall CString::CString(class CString const &)
+??0CString@@QAE@ABV0@@Z
+; public: __thiscall CString::CString(unsigned short,int)
+??0CString@@QAE@GH@Z
+; public: __thiscall CString::CString(char const *)
+??0CString@@QAE@PBD@Z
+; public: __thiscall CString::CString(unsigned char const *)
+??0CString@@QAE@PBE@Z
+; public: __thiscall CString::CString(unsigned short const *)
+??0CString@@QAE@PBG@Z
+; public: __thiscall CString::CString(unsigned short const *,int)
+??0CString@@QAE@PBGH@Z
+; public: __thiscall CString::CString(void)
+??0CString@@QAE@XZ
+; public: __thiscall CStringArray::CStringArray(void)
+??0CStringArray@@QAE@XZ
+; public: __thiscall CSyncObject::CSyncObject(unsigned short const *)
+??0CSyncObject@@QAE@PBG@Z
+; public: virtual __thiscall CCriticalSection::~CCriticalSection(void)
+??1CCriticalSection@@UAE@XZ
+; public: virtual __thiscall CMapStringToPtr::~CMapStringToPtr(void)
+??1CMapStringToPtr@@UAE@XZ
+; public: virtual __thiscall CObject::~CObject(void)
+??1CObject@@UAE@XZ
+; public: __thiscall CString::~CString(void)
+??1CString@@QAE@XZ
+; public: virtual __thiscall CStringArray::~CStringArray(void)
+??1CStringArray@@UAE@XZ
+; public: virtual __thiscall CSyncObject::~CSyncObject(void)
+??1CSyncObject@@UAE@XZ
+; public: struct CPlex & __thiscall CPlex::operator=(struct CPlex const &)
+??4CPlex@@QAEAAU0@ABU0@@Z
+; public: class CString const & __thiscall CString::operator=(class CString const &)
+??4CString@@QAEABV0@ABV0@@Z
+; public: class CString const & __thiscall CString::operator=(char)
+??4CString@@QAEABV0@D@Z
+; public: class CString const & __thiscall CString::operator=(unsigned short)
+??4CString@@QAEABV0@G@Z
+; public: class CString const & __thiscall CString::operator=(char const *)
+??4CString@@QAEABV0@PBD@Z
+; public: class CString const & __thiscall CString::operator=(unsigned char const *)
+??4CString@@QAEABV0@PBE@Z
+; public: class CString const & __thiscall CString::operator=(unsigned short const *)
+??4CString@@QAEABV0@PBG@Z
+; bool __stdcall operator==(class CString const &,class CString const &)
+??8@YG_NABVCString@@0@Z
+; bool __stdcall operator==(class CString const &,unsigned short const *)
+??8@YG_NABVCString@@PBG@Z
+; bool __stdcall operator==(unsigned short const *,class CString const &)
+??8@YG_NPBGABVCString@@@Z
+; bool __stdcall operator!=(class CString const &,class CString const &)
+??9@YG_NABVCString@@0@Z
+; bool __stdcall operator!=(class CString const &,unsigned short const *)
+??9@YG_NABVCString@@PBG@Z
+; bool __stdcall operator!=(unsigned short const *,class CString const &)
+??9@YG_NPBGABVCString@@@Z
+; public: void * & __thiscall CMapStringToPtr::operator[](unsigned short const *)
+??ACMapStringToPtr@@QAEAAPAXPBG@Z
+; public: unsigned short __thiscall CString::operator[](int)const 
+??ACString@@QBEGH@Z
+; public: class CString & __thiscall CStringArray::operator[](int)
+??ACStringArray@@QAEAAVCString@@H@Z
+; public: class CString  __thiscall CStringArray::operator[](int)const 
+??ACStringArray@@QBE?AVCString@@H@Z
+; public: __thiscall CCriticalSection::operator struct _RTL_CRITICAL_SECTION *(void)
+??BCCriticalSection@@QAEPAU_RTL_CRITICAL_SECTION@@XZ
+; public: __thiscall CString::operator unsigned short const *(void)const 
+??BCString@@QBEPBGXZ
+; public: __thiscall CSyncObject::operator void *(void)const 
+??BCSyncObject@@QBEPAXXZ
+; class CString  __stdcall operator+(class CString const &,class CString const &)
+??H@YG?AVCString@@ABV0@0@Z
+; class CString  __stdcall operator+(class CString const &,char)
+??H@YG?AVCString@@ABV0@D@Z
+; class CString  __stdcall operator+(class CString const &,unsigned short)
+??H@YG?AVCString@@ABV0@G@Z
+; class CString  __stdcall operator+(class CString const &,unsigned short const *)
+??H@YG?AVCString@@ABV0@PBG@Z
+; class CString  __stdcall operator+(char,class CString const &)
+??H@YG?AVCString@@DABV0@@Z
+; class CString  __stdcall operator+(unsigned short,class CString const &)
+??H@YG?AVCString@@GABV0@@Z
+; class CString  __stdcall operator+(unsigned short const *,class CString const &)
+??H@YG?AVCString@@PBGABV0@@Z
+; bool __stdcall operator<(class CString const &,class CString const &)
+??M@YG_NABVCString@@0@Z
+; bool __stdcall operator<(class CString const &,unsigned short const *)
+??M@YG_NABVCString@@PBG@Z
+; bool __stdcall operator<(unsigned short const *,class CString const &)
+??M@YG_NPBGABVCString@@@Z
+; bool __stdcall operator<=(class CString const &,class CString const &)
+??N@YG_NABVCString@@0@Z
+; bool __stdcall operator<=(class CString const &,unsigned short const *)
+??N@YG_NABVCString@@PBG@Z
+; bool __stdcall operator<=(unsigned short const *,class CString const &)
+??N@YG_NPBGABVCString@@@Z
+; bool __stdcall operator>(class CString const &,class CString const &)
+??O@YG_NABVCString@@0@Z
+; bool __stdcall operator>(class CString const &,unsigned short const *)
+??O@YG_NABVCString@@PBG@Z
+; bool __stdcall operator>(unsigned short const *,class CString const &)
+??O@YG_NPBGABVCString@@@Z
+; bool __stdcall operator>=(class CString const &,class CString const &)
+??P@YG_NABVCString@@0@Z
+; bool __stdcall operator>=(class CString const &,unsigned short const *)
+??P@YG_NABVCString@@PBG@Z
+; bool __stdcall operator>=(unsigned short const *,class CString const &)
+??P@YG_NPBGABVCString@@@Z
+; public: class CString const & __thiscall CString::operator+=(class CString const &)
+??YCString@@QAEABV0@ABV0@@Z
+; public: class CString const & __thiscall CString::operator+=(char)
+??YCString@@QAEABV0@D@Z
+; public: class CString const & __thiscall CString::operator+=(unsigned short)
+??YCString@@QAEABV0@G@Z
+; public: class CString const & __thiscall CString::operator+=(unsigned short const *)
+??YCString@@QAEABV0@PBG@Z
+; const  CCriticalSection::`vftable'
+??_7CCriticalSection@@6B@
+; const  CMapStringToPtr::`vftable'
+??_7CMapStringToPtr@@6B@
+; const  CObject::`vftable'
+??_7CObject@@6B@
+; const  CStringArray::`vftable'
+??_7CStringArray@@6B@
+; const  CSyncObject::`vftable'
+??_7CSyncObject@@6B@
+; public: void __thiscall CMapStringToPtr::`default constructor closure'(void)
+??_FCMapStringToPtr@@QAEXXZ
+; public: int __thiscall CStringArray::Add(unsigned short const *)
+?Add@CStringArray@@QAEHPBG@Z
+; unsigned short * __stdcall AfxA2WHelper(unsigned short *,char const *,int)
+?AfxA2WHelper@@YGPAGPAGPBDH@Z
+; int __stdcall AfxExtractSubString(class CString &,unsigned short const *,int,unsigned short)
+?AfxExtractSubString@@YGHAAVCString@@PBGHG@Z
+; class CString const & __stdcall AfxGetEmptyString(void)
+?AfxGetEmptyString@@YGABVCString@@XZ
+; int __stdcall AfxLoadString(unsigned int,unsigned short *,unsigned int)
+?AfxLoadString@@YGHIPAGI@Z
+; char * __stdcall AfxW2AHelper(char *,unsigned short const *,int)
+?AfxW2AHelper@@YGPADPADPBGH@Z
+; protected: void __thiscall CString::AllocBeforeWrite(int)
+?AllocBeforeWrite@CString@@IAEXH@Z
+; protected: void __thiscall CString::AllocBuffer(int)
+?AllocBuffer@CString@@IAEXH@Z
+; protected: void __thiscall CString::AllocCopy(class CString &,int,int,int)const 
+?AllocCopy@CString@@IBEXAAV1@HHH@Z
+; public: int __thiscall CStringArray::Append(class CStringArray const &)
+?Append@CStringArray@@QAEHABV1@@Z
+; protected: void __thiscall CString::AssignCopy(int,unsigned short const *)
+?AssignCopy@CString@@IAEXHPBG@Z
+; public: int __thiscall CString::Collate(unsigned short const *)const 
+?Collate@CString@@QBEHPBG@Z
+; public: int __thiscall CString::Compare(unsigned short const *)const 
+?Compare@CString@@QBEHPBG@Z
+; public: int __thiscall CString::CompareNoCase(unsigned short const *)const 
+?CompareNoCase@CString@@QBEHPBG@Z
+; protected: void __thiscall CString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
+?ConcatCopy@CString@@IAEXHPBGH0@Z
+; protected: void __thiscall CString::ConcatInPlace(int,unsigned short const *)
+?ConcatInPlace@CString@@IAEXHPBG@Z
+; public: void __thiscall CStringArray::Copy(class CStringArray const &)
+?Copy@CStringArray@@QAEXABV1@@Z
+; protected: void __thiscall CString::CopyBeforeWrite(void)
+?CopyBeforeWrite@CString@@IAEXXZ
+; public: static struct CPlex * __stdcall CPlex::Create(struct CPlex * &,unsigned int,unsigned int)
+?Create@CPlex@@SGPAU1@AAPAU1@II@Z
+; public: class CString & __thiscall CStringArray::ElementAt(int)
+?ElementAt@CStringArray@@QAEAAVCString@@H@Z
+; public: void __thiscall CString::Empty(void)
+?Empty@CString@@QAEXXZ
+; public: int __thiscall CString::Find(unsigned short)const 
+?Find@CString@@QBEHG@Z
+; public: int __thiscall CString::Find(unsigned short const *)const 
+?Find@CString@@QBEHPBG@Z
+; public: int __thiscall CString::FindOneOf(unsigned short const *)const 
+?FindOneOf@CString@@QBEHPBG@Z
+; public: void __cdecl CString::Format(unsigned int,...)
+?Format@CString@@QAAXIZZ
+; public: void __cdecl CString::Format(unsigned short const *,...)
+?Format@CString@@QAAXPBGZZ
+; public: void __cdecl CString::FormatMessageW(unsigned int,...)
+?FormatMessageW@CString@@QAAXIZZ
+; public: void __cdecl CString::FormatMessageW(unsigned short const *,...)
+?FormatMessageW@CString@@QAAXPBGZZ
+; protected: void __thiscall CString::FormatV(unsigned short const *,char *)
+?FormatV@CString@@IAEXPBGPAD@Z
+; protected: void __thiscall CMapStringToPtr::FreeAssoc(struct CMapStringToPtr::CAssoc *)
+?FreeAssoc@CMapStringToPtr@@IAEXPAUCAssoc@1@@Z
+; public: void __thiscall CPlex::FreeDataChain(void)
+?FreeDataChain@CPlex@@QAEXXZ
+; public: void __thiscall CString::FreeExtra(void)
+?FreeExtra@CString@@QAEXXZ
+; public: void __thiscall CStringArray::FreeExtra(void)
+?FreeExtra@CStringArray@@QAEXXZ
+; public: int __thiscall CString::GetAllocLength(void)const 
+?GetAllocLength@CString@@QBEHXZ
+; protected: struct CMapStringToPtr::CAssoc * __thiscall CMapStringToPtr::GetAssocAt(unsigned short const *,unsigned int &)const 
+?GetAssocAt@CMapStringToPtr@@IBEPAUCAssoc@1@PBGAAI@Z
+; public: unsigned short __thiscall CString::GetAt(int)const 
+?GetAt@CString@@QBEGH@Z
+; public: class CString  __thiscall CStringArray::GetAt(int)const 
+?GetAt@CStringArray@@QBE?AVCString@@H@Z
+; public: unsigned short * __thiscall CString::GetBuffer(int)
+?GetBuffer@CString@@QAEPAGH@Z
+; public: unsigned short * __thiscall CString::GetBufferSetLength(int)
+?GetBufferSetLength@CString@@QAEPAGH@Z
+; public: int __thiscall CMapStringToPtr::GetCount(void)const 
+?GetCount@CMapStringToPtr@@QBEHXZ
+; protected: struct CStringData * __thiscall CString::GetData(void)const 
+?GetData@CString@@IBEPAUCStringData@@XZ
+; public: class CString * __thiscall CStringArray::GetData(void)
+?GetData@CStringArray@@QAEPAVCString@@XZ
+; public: class CString const * __thiscall CStringArray::GetData(void)const 
+?GetData@CStringArray@@QBEPBVCString@@XZ
+; public: unsigned int __thiscall CMapStringToPtr::GetHashTableSize(void)const 
+?GetHashTableSize@CMapStringToPtr@@QBEIXZ
+; public: int __thiscall CString::GetLength(void)const 
+?GetLength@CString@@QBEHXZ
+; public: void __thiscall CMapStringToPtr::GetNextAssoc(struct __POSITION * &,class CString &,void * &)const 
+?GetNextAssoc@CMapStringToPtr@@QBEXAAPAU__POSITION@@AAVCString@@AAPAX@Z
+; public: int __thiscall CStringArray::GetSize(void)const 
+?GetSize@CStringArray@@QBEHXZ
+; public: struct __POSITION * __thiscall CMapStringToPtr::GetStartPosition(void)const 
+?GetStartPosition@CMapStringToPtr@@QBEPAU__POSITION@@XZ
+; public: int __thiscall CStringArray::GetUpperBound(void)const 
+?GetUpperBound@CStringArray@@QBEHXZ
+; public: unsigned int __thiscall CMapStringToPtr::HashKey(unsigned short const *)const 
+?HashKey@CMapStringToPtr@@QBEIPBG@Z
+; protected: void __thiscall CString::Init(void)
+?Init@CString@@IAEXXZ
+; public: void __thiscall CMapStringToPtr::InitHashTable(unsigned int,int)
+?InitHashTable@CMapStringToPtr@@QAEXIH@Z
+; public: void __thiscall CStringArray::InsertAt(int,class CStringArray *)
+?InsertAt@CStringArray@@QAEXHPAV1@@Z
+; public: void __thiscall CStringArray::InsertAt(int,unsigned short const *,int)
+?InsertAt@CStringArray@@QAEXHPBGH@Z
+; public: int __thiscall CMapStringToPtr::IsEmpty(void)const 
+?IsEmpty@CMapStringToPtr@@QBEHXZ
+; public: int __thiscall CString::IsEmpty(void)const 
+?IsEmpty@CString@@QBEHXZ
+; public: class CString  __thiscall CString::Left(int)const 
+?Left@CString@@QBE?AV1@H@Z
+; public: int __thiscall CString::LoadStringW(unsigned int)
+?LoadStringW@CString@@QAEHI@Z
+; public: int __thiscall CCriticalSection::Lock(void)
+?Lock@CCriticalSection@@QAEHXZ
+; public: virtual int __thiscall CCriticalSection::Lock(unsigned long)
+?Lock@CCriticalSection@@UAEHK@Z
+; public: virtual int __thiscall CSyncObject::Lock(unsigned long)
+?Lock@CSyncObject@@UAEHK@Z
+; public: unsigned short * __thiscall CString::LockBuffer(void)
+?LockBuffer@CString@@QAEPAGXZ
+; public: int __thiscall CMapStringToPtr::Lookup(unsigned short const *,void * &)const 
+?Lookup@CMapStringToPtr@@QBEHPBGAAPAX@Z
+; public: int __thiscall CMapStringToPtr::LookupKey(unsigned short const *,unsigned short const * &)const 
+?LookupKey@CMapStringToPtr@@QBEHPBGAAPBG@Z
+; public: void __thiscall CString::MakeLower(void)
+?MakeLower@CString@@QAEXXZ
+; public: void __thiscall CString::MakeReverse(void)
+?MakeReverse@CString@@QAEXXZ
+; public: void __thiscall CString::MakeUpper(void)
+?MakeUpper@CString@@QAEXXZ
+; public: class CString  __thiscall CString::Mid(int)const 
+?Mid@CString@@QBE?AV1@H@Z
+; public: class CString  __thiscall CString::Mid(int,int)const 
+?Mid@CString@@QBE?AV1@HH@Z
+; protected: struct CMapStringToPtr::CAssoc * __thiscall CMapStringToPtr::NewAssoc(void)
+?NewAssoc@CMapStringToPtr@@IAEPAUCAssoc@1@XZ
+; protected: void __thiscall CString::Release(void)
+?Release@CString@@IAEXXZ
+; protected: static void __stdcall CString::Release(struct CStringData *)
+?Release@CString@@KGXPAUCStringData@@@Z
+; public: void __thiscall CString::ReleaseBuffer(int)
+?ReleaseBuffer@CString@@QAEXH@Z
+; public: void __thiscall CMapStringToPtr::RemoveAll(void)
+?RemoveAll@CMapStringToPtr@@QAEXXZ
+; public: void __thiscall CStringArray::RemoveAll(void)
+?RemoveAll@CStringArray@@QAEXXZ
+; public: void __thiscall CStringArray::RemoveAt(int,int)
+?RemoveAt@CStringArray@@QAEXHH@Z
+; public: int __thiscall CMapStringToPtr::RemoveKey(unsigned short const *)
+?RemoveKey@CMapStringToPtr@@QAEHPBG@Z
+; public: int __thiscall CString::ReverseFind(unsigned short)const 
+?ReverseFind@CString@@QBEHG@Z
+; public: class CString  __thiscall CString::Right(int)const 
+?Right@CString@@QBE?AV1@H@Z
+; protected: static int __stdcall CString::SafeStrlen(unsigned short const *)
+?SafeStrlen@CString@@KGHPBG@Z
+; public: void __thiscall CMapStringToPtr::SetAt(unsigned short const *,void *)
+?SetAt@CMapStringToPtr@@QAEXPBGPAX@Z
+; public: void __thiscall CString::SetAt(int,unsigned short)
+?SetAt@CString@@QAEXHG@Z
+; public: void __thiscall CStringArray::SetAt(int,unsigned short const *)
+?SetAt@CStringArray@@QAEXHPBG@Z
+; public: void __thiscall CStringArray::SetAtGrow(int,unsigned short const *)
+?SetAtGrow@CStringArray@@QAEXHPBG@Z
+; public: void __thiscall CStringArray::SetSize(int,int)
+?SetSize@CStringArray@@QAEXHH@Z
+; public: class CString  __thiscall CString::SpanExcluding(unsigned short const *)const 
+?SpanExcluding@CString@@QBE?AV1@PBG@Z
+; public: class CString  __thiscall CString::SpanIncluding(unsigned short const *)const 
+?SpanIncluding@CString@@QBE?AV1@PBG@Z
+; public: void __thiscall CString::TrimLeft(void)
+?TrimLeft@CString@@QAEXXZ
+; public: void __thiscall CString::TrimRight(void)
+?TrimRight@CString@@QAEXXZ
+; public: virtual int __thiscall CCriticalSection::Unlock(void)
+?Unlock@CCriticalSection@@UAEHXZ
+; public: virtual int __thiscall CSyncObject::Unlock(long,long *)
+?Unlock@CSyncObject@@UAEHJPAJ@Z
+; public: void __thiscall CString::UnlockBuffer(void)
+?UnlockBuffer@CString@@QAEXXZ
+; public: void * __thiscall CPlex::data(void)
+?data@CPlex@@QAEPAXXZ
diff --git a/mingw-w64-crt/lib64/wmgmtapi.def b/mingw-w64-crt/lib64/wmgmtapi.def
index 5a17c09..2c4a67f 100644
--- a/mingw-w64-crt/lib64/wmgmtapi.def
+++ b/mingw-w64-crt/lib64/wmgmtapi.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file mgmtapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mgmtapi.dll
-EXPORTS
-SnmpMgrClose
-SnmpMgrCtl
-SnmpMgrGetTrap
-SnmpMgrGetTrapEx
-SnmpMgrOidToStr
-SnmpMgrOpen
-SnmpMgrRequest
-SnmpMgrStrToOid
-SnmpMgrTrapListen
+; 
+; Exports of file mgmtapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mgmtapi.dll
+EXPORTS
+SnmpMgrClose
+SnmpMgrCtl
+SnmpMgrGetTrap
+SnmpMgrGetTrapEx
+SnmpMgrOidToStr
+SnmpMgrOpen
+SnmpMgrRequest
+SnmpMgrStrToOid
+SnmpMgrTrapListen
diff --git a/mingw-w64-crt/lib64/wmi.def b/mingw-w64-crt/lib64/wmi.def
index 3b7aee1..a061d11 100644
--- a/mingw-w64-crt/lib64/wmi.def
+++ b/mingw-w64-crt/lib64/wmi.def
@@ -1,53 +1,53 @@
-; 
-; Exports of file WMI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WMI.dll
-EXPORTS
-CloseTrace
-ControlTraceA
-ControlTraceW
-CreateTraceInstanceId
-EnableTrace
-GetTraceEnableFlags
-GetTraceEnableLevel
-GetTraceLoggerHandle
-OpenTraceA
-OpenTraceW
-ProcessTrace
-QueryAllTracesA
-QueryAllTracesW
-RegisterTraceGuidsA
-RegisterTraceGuidsW
-RemoveTraceCallback
-SetTraceCallback
-StartTraceA
-StartTraceW
-TraceEvent
-TraceEventInstance
-UnregisterTraceGuids
-WmiCloseBlock
-WmiDevInstToInstanceNameA
-WmiDevInstToInstanceNameW
-WmiEnumerateGuids
-WmiExecuteMethodA
-WmiExecuteMethodW
-WmiFileHandleToInstanceNameA
-WmiFileHandleToInstanceNameW
-WmiFreeBuffer
-WmiMofEnumerateResourcesA
-WmiMofEnumerateResourcesW
-WmiNotificationRegistrationA
-WmiNotificationRegistrationW
-WmiOpenBlock
-WmiQueryAllDataA
-WmiQueryAllDataW
-WmiQueryGuidInformation
-WmiQuerySingleInstanceA
-WmiQuerySingleInstanceW
-WmiSetSingleInstanceA
-WmiSetSingleInstanceW
-WmiSetSingleItemA
-WmiSetSingleItemW
+; 
+; Exports of file WMI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WMI.dll
+EXPORTS
+CloseTrace
+ControlTraceA
+ControlTraceW
+CreateTraceInstanceId
+EnableTrace
+GetTraceEnableFlags
+GetTraceEnableLevel
+GetTraceLoggerHandle
+OpenTraceA
+OpenTraceW
+ProcessTrace
+QueryAllTracesA
+QueryAllTracesW
+RegisterTraceGuidsA
+RegisterTraceGuidsW
+RemoveTraceCallback
+SetTraceCallback
+StartTraceA
+StartTraceW
+TraceEvent
+TraceEventInstance
+UnregisterTraceGuids
+WmiCloseBlock
+WmiDevInstToInstanceNameA
+WmiDevInstToInstanceNameW
+WmiEnumerateGuids
+WmiExecuteMethodA
+WmiExecuteMethodW
+WmiFileHandleToInstanceNameA
+WmiFileHandleToInstanceNameW
+WmiFreeBuffer
+WmiMofEnumerateResourcesA
+WmiMofEnumerateResourcesW
+WmiNotificationRegistrationA
+WmiNotificationRegistrationW
+WmiOpenBlock
+WmiQueryAllDataA
+WmiQueryAllDataW
+WmiQueryGuidInformation
+WmiQuerySingleInstanceA
+WmiQuerySingleInstanceW
+WmiSetSingleInstanceA
+WmiSetSingleInstanceW
+WmiSetSingleItemA
+WmiSetSingleItemW
diff --git a/mingw-w64-crt/lib64/wmi2xml.def b/mingw-w64-crt/lib64/wmi2xml.def
index b62459d..fc5b243 100644
--- a/mingw-w64-crt/lib64/wmi2xml.def
+++ b/mingw-w64-crt/lib64/wmi2xml.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file wmi2xml.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wmi2xml.dll
-EXPORTS
-CloseWbemTextSource
-OpenWbemTextSource
-TextToWbemObject
-WbemObjectToText
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wmi2xml.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wmi2xml.dll
+EXPORTS
+CloseWbemTextSource
+OpenWbemTextSource
+TextToWbemObject
+WbemObjectToText
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmiaprpl.def b/mingw-w64-crt/lib64/wmiaprpl.def
index 439c260..342ccfe 100644
--- a/mingw-w64-crt/lib64/wmiaprpl.def
+++ b/mingw-w64-crt/lib64/wmiaprpl.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file WmiApRpl.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WmiApRpl.dll
-EXPORTS
-WmiClosePerfData
-WmiCollectPerfData
-WmiOpenPerfData
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WmiApRpl.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WmiApRpl.dll
+EXPORTS
+WmiClosePerfData
+WmiCollectPerfData
+WmiOpenPerfData
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmicookr.def b/mingw-w64-crt/lib64/wmicookr.def
index f0cfb60..21c0105 100644
--- a/mingw-w64-crt/lib64/wmicookr.def
+++ b/mingw-w64-crt/lib64/wmicookr.def
@@ -1,170 +1,170 @@
-; 
-; Exports of file WMICooker.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WMICooker.DLL
-EXPORTS
-; public: __cdecl CArena::CArena(class CArena const & __ptr64) __ptr64
-??0CArena@@QEAA@AEBV0@@Z
-; public: __cdecl CArena::CArena(void) __ptr64
-??0CArena@@QEAA@XZ
-; public: __cdecl CCheckedInCritSec::CCheckedInCritSec(class CCritSec * __ptr64) __ptr64
-??0CCheckedInCritSec@@QEAA@PEAVCCritSec@@@Z
-; public: __cdecl CCritSec::CCritSec(void) __ptr64
-??0CCritSec@@QEAA@XZ
-; public: __cdecl CEnterWbemCriticalSection::CEnterWbemCriticalSection(class CWbemCriticalSection * __ptr64,unsigned long) __ptr64
-??0CEnterWbemCriticalSection@@QEAA@PEAVCWbemCriticalSection@@K@Z
-; public: __cdecl CHaltable::CHaltable(class CHaltable const & __ptr64) __ptr64
-??0CHaltable@@QEAA@AEBV0@@Z
-; public: __cdecl CInCritSec::CInCritSec(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
-??0CInCritSec@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
-; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(class CWin32DefaultArena const & __ptr64) __ptr64
-??0CWin32DefaultArena@@QEAA@AEBV0@@Z
-; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(void) __ptr64
-??0CWin32DefaultArena@@QEAA@XZ
-; public: __cdecl WString::WString(class WString const & __ptr64) __ptr64
-??0WString@@QEAA@AEBV0@@Z
-; public: __cdecl CCheckedInCritSec::~CCheckedInCritSec(void) __ptr64
-??1CCheckedInCritSec@@QEAA@XZ
-; public: __cdecl CCritSec::~CCritSec(void) __ptr64
-??1CCritSec@@QEAA@XZ
-; public: __cdecl CEnterWbemCriticalSection::~CEnterWbemCriticalSection(void) __ptr64
-??1CEnterWbemCriticalSection@@QEAA@XZ
-; public: __cdecl CInCritSec::~CInCritSec(void) __ptr64
-??1CInCritSec@@QEAA@XZ
-; public: __cdecl CWin32DefaultArena::~CWin32DefaultArena(void) __ptr64
-??1CWin32DefaultArena@@QEAA@XZ
-; public: __cdecl WString::~WString(void) __ptr64
-??1WString@@QEAA@XZ
-; public: class CArena & __ptr64 __cdecl CArena::operator=(class CArena const & __ptr64) __ptr64
-??4CArena@@QEAAAEAV0@AEBV0@@Z
-; public: class CCheckedInCritSec & __ptr64 __cdecl CCheckedInCritSec::operator=(class CCheckedInCritSec const & __ptr64) __ptr64
-??4CCheckedInCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
-??4CCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CEnterWbemCriticalSection & __ptr64 __cdecl CEnterWbemCriticalSection::operator=(class CEnterWbemCriticalSection const & __ptr64) __ptr64
-??4CEnterWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
-; public: class CFlexQueue & __ptr64 __cdecl CFlexQueue::operator=(class CFlexQueue const & __ptr64) __ptr64
-??4CFlexQueue@@QEAAAEAV0@AEBV0@@Z
-; public: class CHaltable & __ptr64 __cdecl CHaltable::operator=(class CHaltable const & __ptr64) __ptr64
-??4CHaltable@@QEAAAEAV0@AEBV0@@Z
-; public: class CInCritSec & __ptr64 __cdecl CInCritSec::operator=(class CInCritSec const & __ptr64) __ptr64
-??4CInCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CSmallArrayBlob & __ptr64 __cdecl CSmallArrayBlob::operator=(class CSmallArrayBlob const & __ptr64) __ptr64
-??4CSmallArrayBlob@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemCriticalSection & __ptr64 __cdecl CWbemCriticalSection::operator=(class CWbemCriticalSection const & __ptr64) __ptr64
-??4CWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
-; public: class CWin32DefaultArena & __ptr64 __cdecl CWin32DefaultArena::operator=(class CWin32DefaultArena const & __ptr64) __ptr64
-??4CWin32DefaultArena@@QEAAAEAV0@AEBV0@@Z
-; public: void * __ptr64 & __ptr64 __cdecl CFlexArray::operator[](int) __ptr64
-??ACFlexArray@@QEAAAEAPEAXH@Z
-; public: void * __ptr64 __cdecl CFlexArray::operator[](int)const  __ptr64
-??ACFlexArray@@QEBAPEAXH@Z
-; public: void * __ptr64 __cdecl CSmallArrayBlob::operator[](int)const  __ptr64
-??ACSmallArrayBlob@@QEBAPEAXH@Z
-; public: unsigned short * __ptr64 __cdecl CWStringArray::operator[](int)const  __ptr64
-??ACWStringArray@@QEBAPEAGH@Z
-; public: __cdecl WString::operator unsigned short * __ptr64(void) __ptr64
-??BWString@@QEAAPEAGXZ
-; public: __cdecl WString::operator unsigned short const * __ptr64(void)const  __ptr64
-??BWString@@QEBAPEBGXZ
-; public: int __cdecl WString::operator<(unsigned short const * __ptr64)const  __ptr64
-??MWString@@QEBAHPEBG@Z
-; public: int __cdecl WString::operator<=(unsigned short const * __ptr64)const  __ptr64
-??NWString@@QEBAHPEBG@Z
-; public: int __cdecl WString::operator>(unsigned short const * __ptr64)const  __ptr64
-??OWString@@QEBAHPEBG@Z
-; public: int __cdecl WString::operator>=(unsigned short const * __ptr64)const  __ptr64
-??PWString@@QEBAHPEBG@Z
-; const  CArena::`vftable'
-??_7CArena@@6B@
-; const  CHaltable::`vftable'
-??_7CHaltable@@6B@
-; const  CWin32DefaultArena::`vftable'
-??_7CWin32DefaultArena@@6B@
-; public: void __cdecl CFlexArray::`default constructor closure'(void) __ptr64
-??_FCFlexArray@@QEAAXXZ
-; public: void __cdecl CFlexQueue::`default constructor closure'(void) __ptr64
-??_FCFlexQueue@@QEAAXXZ
-; public: void __cdecl CWStringArray::`default constructor closure'(void) __ptr64
-??_FCWStringArray@@QEAAXXZ
-; public: int __cdecl CFlexArray::Add(void * __ptr64) __ptr64
-?Add@CFlexArray@@QEAAHPEAX@Z
-; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Alloc(unsigned __int64) __ptr64
-?Alloc@CWin32DefaultArena@@UEAAPEAX_K@Z
-; public: void __cdecl WString::BindPtr(unsigned short * __ptr64) __ptr64
-?BindPtr@WString@@QEAAXPEAG@Z
-; public: void __cdecl CWStringArray::Compress(void) __ptr64
-?Compress@CWStringArray@@QEAAXXZ
-; protected: void __cdecl CFlexQueue::DecrementIndex(int & __ptr64) __ptr64
-?DecrementIndex@CFlexQueue@@IEAAXAEAH@Z
-; public: void __cdecl CCheckedInCritSec::Enter(void) __ptr64
-?Enter@CCheckedInCritSec@@QEAAXXZ
-; public: void __cdecl CCritSec::Enter(void) __ptr64
-?Enter@CCritSec@@QEAAXXZ
-; public: int __cdecl WString::Equal(unsigned short const * __ptr64)const  __ptr64
-?Equal@WString@@QEBAHPEBG@Z
-; public: int __cdecl WString::EqualNoCase(unsigned short const * __ptr64)const  __ptr64
-?EqualNoCase@WString@@QEBAHPEBG@Z
-; public: virtual int __cdecl CWin32DefaultArena::Free(void * __ptr64) __ptr64
-?Free@CWin32DefaultArena@@UEAAHPEAX@Z
-; public: void * __ptr64 * __ptr64 __cdecl CFlexArray::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CFlexArray@@QEAAPEAPEAXXZ
-; public: void * __ptr64 const * __ptr64 __cdecl CFlexArray::GetArrayPtr(void)const  __ptr64
-?GetArrayPtr@CFlexArray@@QEBAPEBQEAXXZ
-; public: void * __ptr64 * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CSmallArrayBlob@@QEAAPEAPEAXXZ
-; public: void * __ptr64 const * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void)const  __ptr64
-?GetArrayPtr@CSmallArrayBlob@@QEBAPEBQEAXXZ
-; public: unsigned short const * __ptr64 * __ptr64 __cdecl CWStringArray::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CWStringArray@@QEAAPEAPEBGXZ
-; public: void * __ptr64 __cdecl CFlexArray::GetAt(int)const  __ptr64
-?GetAt@CFlexArray@@QEBAPEAXH@Z
-; public: void * __ptr64 __cdecl CSmallArrayBlob::GetAt(int)const  __ptr64
-?GetAt@CSmallArrayBlob@@QEBAPEAXH@Z
-; public: unsigned short * __ptr64 __cdecl CWStringArray::GetAt(int)const  __ptr64
-?GetAt@CWStringArray@@QEBAPEAGH@Z
-; public: long __cdecl CWbemCriticalSection::GetLockCount(void) __ptr64
-?GetLockCount@CWbemCriticalSection@@QEAAJXZ
-; public: unsigned long __cdecl CWbemCriticalSection::GetOwningThreadId(void) __ptr64
-?GetOwningThreadId@CWbemCriticalSection@@QEAAKXZ
-; public: int __cdecl CFlexQueue::GetQueueSize(void)const  __ptr64
-?GetQueueSize@CFlexQueue@@QEBAHXZ
-; public: long __cdecl CWbemCriticalSection::GetRecursionCount(void) __ptr64
-?GetRecursionCount@CWbemCriticalSection@@QEAAJXZ
-; protected: void __cdecl CFlexQueue::IncrementIndex(int & __ptr64) __ptr64
-?IncrementIndex@CFlexQueue@@IEAAXAEAH@Z
-; public: int __cdecl CCheckedInCritSec::IsEntered(void) __ptr64
-?IsEntered@CCheckedInCritSec@@QEAAHXZ
-; public: int __cdecl CEnterWbemCriticalSection::IsEntered(void) __ptr64
-?IsEntered@CEnterWbemCriticalSection@@QEAAHXZ
-; public: void __cdecl CCheckedInCritSec::Leave(void) __ptr64
-?Leave@CCheckedInCritSec@@QEAAXXZ
-; public: void __cdecl CCritSec::Leave(void) __ptr64
-?Leave@CCritSec@@QEAAXXZ
-; public: int __cdecl WString::Length(void)const  __ptr64
-?Length@WString@@QEBAHXZ
-; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Realloc(void * __ptr64,unsigned __int64) __ptr64
-?Realloc@CWin32DefaultArena@@UEAAPEAXPEAX_K@Z
-; public: void __cdecl CFlexArray::SetAt(int,void * __ptr64) __ptr64
-?SetAt@CFlexArray@@QEAAXHPEAX@Z
-; public: void __cdecl CFlexArray::SetSize(int) __ptr64
-?SetSize@CFlexArray@@QEAAXH@Z
-; public: int __cdecl CFlexArray::Size(void)const  __ptr64
-?Size@CFlexArray@@QEBAHXZ
-; public: int __cdecl CSmallArrayBlob::Size(void)const  __ptr64
-?Size@CSmallArrayBlob@@QEBAHXZ
-; public: int __cdecl CWStringArray::Size(void)const  __ptr64
-?Size@CWStringArray@@QEBAHXZ
-; public: void * __ptr64 __cdecl CFlexQueue::Unqueue(void) __ptr64
-?Unqueue@CFlexQueue@@QEAAPEAXXZ
-; public: static void __cdecl CWin32DefaultArena::WbemSysFreeString(unsigned short * __ptr64)
-?WbemSysFreeString@CWin32DefaultArena@@SAXPEAG@Z
-; public: bool __cdecl CHaltable::isValid(void) __ptr64
-?isValid@CHaltable@@QEAA_NXZ
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WMICooker.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WMICooker.DLL
+EXPORTS
+; public: __cdecl CArena::CArena(class CArena const & __ptr64) __ptr64
+??0CArena@@QEAA@AEBV0@@Z
+; public: __cdecl CArena::CArena(void) __ptr64
+??0CArena@@QEAA@XZ
+; public: __cdecl CCheckedInCritSec::CCheckedInCritSec(class CCritSec * __ptr64) __ptr64
+??0CCheckedInCritSec@@QEAA@PEAVCCritSec@@@Z
+; public: __cdecl CCritSec::CCritSec(void) __ptr64
+??0CCritSec@@QEAA@XZ
+; public: __cdecl CEnterWbemCriticalSection::CEnterWbemCriticalSection(class CWbemCriticalSection * __ptr64,unsigned long) __ptr64
+??0CEnterWbemCriticalSection@@QEAA@PEAVCWbemCriticalSection@@K@Z
+; public: __cdecl CHaltable::CHaltable(class CHaltable const & __ptr64) __ptr64
+??0CHaltable@@QEAA@AEBV0@@Z
+; public: __cdecl CInCritSec::CInCritSec(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
+??0CInCritSec@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
+; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(class CWin32DefaultArena const & __ptr64) __ptr64
+??0CWin32DefaultArena@@QEAA@AEBV0@@Z
+; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(void) __ptr64
+??0CWin32DefaultArena@@QEAA@XZ
+; public: __cdecl WString::WString(class WString const & __ptr64) __ptr64
+??0WString@@QEAA@AEBV0@@Z
+; public: __cdecl CCheckedInCritSec::~CCheckedInCritSec(void) __ptr64
+??1CCheckedInCritSec@@QEAA@XZ
+; public: __cdecl CCritSec::~CCritSec(void) __ptr64
+??1CCritSec@@QEAA@XZ
+; public: __cdecl CEnterWbemCriticalSection::~CEnterWbemCriticalSection(void) __ptr64
+??1CEnterWbemCriticalSection@@QEAA@XZ
+; public: __cdecl CInCritSec::~CInCritSec(void) __ptr64
+??1CInCritSec@@QEAA@XZ
+; public: __cdecl CWin32DefaultArena::~CWin32DefaultArena(void) __ptr64
+??1CWin32DefaultArena@@QEAA@XZ
+; public: __cdecl WString::~WString(void) __ptr64
+??1WString@@QEAA@XZ
+; public: class CArena & __ptr64 __cdecl CArena::operator=(class CArena const & __ptr64) __ptr64
+??4CArena@@QEAAAEAV0@AEBV0@@Z
+; public: class CCheckedInCritSec & __ptr64 __cdecl CCheckedInCritSec::operator=(class CCheckedInCritSec const & __ptr64) __ptr64
+??4CCheckedInCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
+??4CCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CEnterWbemCriticalSection & __ptr64 __cdecl CEnterWbemCriticalSection::operator=(class CEnterWbemCriticalSection const & __ptr64) __ptr64
+??4CEnterWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
+; public: class CFlexQueue & __ptr64 __cdecl CFlexQueue::operator=(class CFlexQueue const & __ptr64) __ptr64
+??4CFlexQueue@@QEAAAEAV0@AEBV0@@Z
+; public: class CHaltable & __ptr64 __cdecl CHaltable::operator=(class CHaltable const & __ptr64) __ptr64
+??4CHaltable@@QEAAAEAV0@AEBV0@@Z
+; public: class CInCritSec & __ptr64 __cdecl CInCritSec::operator=(class CInCritSec const & __ptr64) __ptr64
+??4CInCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CSmallArrayBlob & __ptr64 __cdecl CSmallArrayBlob::operator=(class CSmallArrayBlob const & __ptr64) __ptr64
+??4CSmallArrayBlob@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemCriticalSection & __ptr64 __cdecl CWbemCriticalSection::operator=(class CWbemCriticalSection const & __ptr64) __ptr64
+??4CWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
+; public: class CWin32DefaultArena & __ptr64 __cdecl CWin32DefaultArena::operator=(class CWin32DefaultArena const & __ptr64) __ptr64
+??4CWin32DefaultArena@@QEAAAEAV0@AEBV0@@Z
+; public: void * __ptr64 & __ptr64 __cdecl CFlexArray::operator[](int) __ptr64
+??ACFlexArray@@QEAAAEAPEAXH@Z
+; public: void * __ptr64 __cdecl CFlexArray::operator[](int)const  __ptr64
+??ACFlexArray@@QEBAPEAXH@Z
+; public: void * __ptr64 __cdecl CSmallArrayBlob::operator[](int)const  __ptr64
+??ACSmallArrayBlob@@QEBAPEAXH@Z
+; public: unsigned short * __ptr64 __cdecl CWStringArray::operator[](int)const  __ptr64
+??ACWStringArray@@QEBAPEAGH@Z
+; public: __cdecl WString::operator unsigned short * __ptr64(void) __ptr64
+??BWString@@QEAAPEAGXZ
+; public: __cdecl WString::operator unsigned short const * __ptr64(void)const  __ptr64
+??BWString@@QEBAPEBGXZ
+; public: int __cdecl WString::operator<(unsigned short const * __ptr64)const  __ptr64
+??MWString@@QEBAHPEBG@Z
+; public: int __cdecl WString::operator<=(unsigned short const * __ptr64)const  __ptr64
+??NWString@@QEBAHPEBG@Z
+; public: int __cdecl WString::operator>(unsigned short const * __ptr64)const  __ptr64
+??OWString@@QEBAHPEBG@Z
+; public: int __cdecl WString::operator>=(unsigned short const * __ptr64)const  __ptr64
+??PWString@@QEBAHPEBG@Z
+; const  CArena::`vftable'
+??_7CArena@@6B@
+; const  CHaltable::`vftable'
+??_7CHaltable@@6B@
+; const  CWin32DefaultArena::`vftable'
+??_7CWin32DefaultArena@@6B@
+; public: void __cdecl CFlexArray::`default constructor closure'(void) __ptr64
+??_FCFlexArray@@QEAAXXZ
+; public: void __cdecl CFlexQueue::`default constructor closure'(void) __ptr64
+??_FCFlexQueue@@QEAAXXZ
+; public: void __cdecl CWStringArray::`default constructor closure'(void) __ptr64
+??_FCWStringArray@@QEAAXXZ
+; public: int __cdecl CFlexArray::Add(void * __ptr64) __ptr64
+?Add@CFlexArray@@QEAAHPEAX@Z
+; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Alloc(unsigned __int64) __ptr64
+?Alloc@CWin32DefaultArena@@UEAAPEAX_K@Z
+; public: void __cdecl WString::BindPtr(unsigned short * __ptr64) __ptr64
+?BindPtr@WString@@QEAAXPEAG@Z
+; public: void __cdecl CWStringArray::Compress(void) __ptr64
+?Compress@CWStringArray@@QEAAXXZ
+; protected: void __cdecl CFlexQueue::DecrementIndex(int & __ptr64) __ptr64
+?DecrementIndex@CFlexQueue@@IEAAXAEAH@Z
+; public: void __cdecl CCheckedInCritSec::Enter(void) __ptr64
+?Enter@CCheckedInCritSec@@QEAAXXZ
+; public: void __cdecl CCritSec::Enter(void) __ptr64
+?Enter@CCritSec@@QEAAXXZ
+; public: int __cdecl WString::Equal(unsigned short const * __ptr64)const  __ptr64
+?Equal@WString@@QEBAHPEBG@Z
+; public: int __cdecl WString::EqualNoCase(unsigned short const * __ptr64)const  __ptr64
+?EqualNoCase@WString@@QEBAHPEBG@Z
+; public: virtual int __cdecl CWin32DefaultArena::Free(void * __ptr64) __ptr64
+?Free@CWin32DefaultArena@@UEAAHPEAX@Z
+; public: void * __ptr64 * __ptr64 __cdecl CFlexArray::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CFlexArray@@QEAAPEAPEAXXZ
+; public: void * __ptr64 const * __ptr64 __cdecl CFlexArray::GetArrayPtr(void)const  __ptr64
+?GetArrayPtr@CFlexArray@@QEBAPEBQEAXXZ
+; public: void * __ptr64 * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CSmallArrayBlob@@QEAAPEAPEAXXZ
+; public: void * __ptr64 const * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void)const  __ptr64
+?GetArrayPtr@CSmallArrayBlob@@QEBAPEBQEAXXZ
+; public: unsigned short const * __ptr64 * __ptr64 __cdecl CWStringArray::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CWStringArray@@QEAAPEAPEBGXZ
+; public: void * __ptr64 __cdecl CFlexArray::GetAt(int)const  __ptr64
+?GetAt@CFlexArray@@QEBAPEAXH@Z
+; public: void * __ptr64 __cdecl CSmallArrayBlob::GetAt(int)const  __ptr64
+?GetAt@CSmallArrayBlob@@QEBAPEAXH@Z
+; public: unsigned short * __ptr64 __cdecl CWStringArray::GetAt(int)const  __ptr64
+?GetAt@CWStringArray@@QEBAPEAGH@Z
+; public: long __cdecl CWbemCriticalSection::GetLockCount(void) __ptr64
+?GetLockCount@CWbemCriticalSection@@QEAAJXZ
+; public: unsigned long __cdecl CWbemCriticalSection::GetOwningThreadId(void) __ptr64
+?GetOwningThreadId@CWbemCriticalSection@@QEAAKXZ
+; public: int __cdecl CFlexQueue::GetQueueSize(void)const  __ptr64
+?GetQueueSize@CFlexQueue@@QEBAHXZ
+; public: long __cdecl CWbemCriticalSection::GetRecursionCount(void) __ptr64
+?GetRecursionCount@CWbemCriticalSection@@QEAAJXZ
+; protected: void __cdecl CFlexQueue::IncrementIndex(int & __ptr64) __ptr64
+?IncrementIndex@CFlexQueue@@IEAAXAEAH@Z
+; public: int __cdecl CCheckedInCritSec::IsEntered(void) __ptr64
+?IsEntered@CCheckedInCritSec@@QEAAHXZ
+; public: int __cdecl CEnterWbemCriticalSection::IsEntered(void) __ptr64
+?IsEntered@CEnterWbemCriticalSection@@QEAAHXZ
+; public: void __cdecl CCheckedInCritSec::Leave(void) __ptr64
+?Leave@CCheckedInCritSec@@QEAAXXZ
+; public: void __cdecl CCritSec::Leave(void) __ptr64
+?Leave@CCritSec@@QEAAXXZ
+; public: int __cdecl WString::Length(void)const  __ptr64
+?Length@WString@@QEBAHXZ
+; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Realloc(void * __ptr64,unsigned __int64) __ptr64
+?Realloc@CWin32DefaultArena@@UEAAPEAXPEAX_K@Z
+; public: void __cdecl CFlexArray::SetAt(int,void * __ptr64) __ptr64
+?SetAt@CFlexArray@@QEAAXHPEAX@Z
+; public: void __cdecl CFlexArray::SetSize(int) __ptr64
+?SetSize@CFlexArray@@QEAAXH@Z
+; public: int __cdecl CFlexArray::Size(void)const  __ptr64
+?Size@CFlexArray@@QEBAHXZ
+; public: int __cdecl CSmallArrayBlob::Size(void)const  __ptr64
+?Size@CSmallArrayBlob@@QEBAHXZ
+; public: int __cdecl CWStringArray::Size(void)const  __ptr64
+?Size@CWStringArray@@QEBAHXZ
+; public: void * __ptr64 __cdecl CFlexQueue::Unqueue(void) __ptr64
+?Unqueue@CFlexQueue@@QEAAPEAXXZ
+; public: static void __cdecl CWin32DefaultArena::WbemSysFreeString(unsigned short * __ptr64)
+?WbemSysFreeString@CWin32DefaultArena@@SAXPEAG@Z
+; public: bool __cdecl CHaltable::isValid(void) __ptr64
+?isValid@CHaltable@@QEAA_NXZ
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmidcprv.def b/mingw-w64-crt/lib64/wmidcprv.def
index 6b5e266..1a6e560 100644
--- a/mingw-w64-crt/lib64/wmidcprv.def
+++ b/mingw-w64-crt/lib64/wmidcprv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WmiDcPrv.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WmiDcPrv.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WmiDcPrv.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WmiDcPrv.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmidimap.def b/mingw-w64-crt/lib64/wmidimap.def
index 352d24e..7c5727d 100644
--- a/mingw-w64-crt/lib64/wmidimap.def
+++ b/mingw-w64-crt/lib64/wmidimap.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MIDIMAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MIDIMAP.dll
-EXPORTS
-DriverProc
-modMessage
-modmCallback
+; 
+; Exports of file MIDIMAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MIDIMAP.dll
+EXPORTS
+DriverProc
+modMessage
+modmCallback
diff --git a/mingw-w64-crt/lib64/wmigism.def b/mingw-w64-crt/lib64/wmigism.def
index b8becc2..41983de 100644
--- a/mingw-w64-crt/lib64/wmigism.def
+++ b/mingw-w64-crt/lib64/wmigism.def
@@ -1,257 +1,257 @@
-; 
-; Exports of file MIGISM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MIGISM.dll
-EXPORTS
-DllMain
-IsmAbandonObjectIdOnCollision
-IsmAbandonObjectOnCollision
-IsmAbortApplyObjectEnum
-IsmAbortComponentEnum
-IsmAbortObjectAttributeEnum
-IsmAbortObjectEnum
-IsmAbortObjectOperationEnum
-IsmAbortObjectPropertyEnum
-IsmAbortObjectTypeIdEnum
-IsmAbortObjectWithAttributeEnum
-IsmAbortObjectWithOperationEnum
-IsmAbortObjectWithPropertyEnum
-IsmAbortPersistentObjectEnum
-IsmAbortScopeEnum
-IsmAbortTransportEnum
-IsmAcquireObjectEx
-IsmAddComponentAlias
-IsmAddControlFile
-IsmAddPropertyDataToObject
-IsmAddPropertyDataToObjectId
-IsmAddPropertyToObject
-IsmAddPropertyToObjectId
-IsmAddToPhysicalEnum
-IsmAllocEnvironmentVariableList
-IsmAppendEnvironmentMultiSz
-IsmAppendEnvironmentString
-IsmAreObjectsIdentical
-IsmCanWriteRollbackJournal
-IsmClearAbandonObjectIdOnCollision
-IsmClearAbandonObjectOnCollision
-IsmClearApplyOnObject
-IsmClearApplyOnObjectId
-IsmClearAttributeOnObject
-IsmClearAttributeOnObjectId
-IsmClearNonCriticalFlagOnObject
-IsmClearNonCriticalFlagOnObjectId
-IsmClearOperationOnObject
-IsmClearOperationOnObjectId
-IsmClearPersistenceOnObject
-IsmClearPersistenceOnObjectId
-IsmConvertObjectContentToAnsi
-IsmConvertObjectContentToUnicode
-IsmConvertObjectToMultiSz
-IsmCreateParsedPattern
-IsmCreateScope
-IsmCurrentlyExecuting
-IsmDeleteEnvironmentVariable
-IsmDeleteScope
-IsmDeselectScope
-IsmDestroyGlobalVariable
-IsmDestroyObjectHandle
-IsmDestroyObjectString
-IsmDestroyParsedPattern
-IsmDoesObjectExist
-IsmDoesRollbackDataExist
-IsmEnumFirstApplyObject
-IsmEnumFirstComponent
-IsmEnumFirstDestinationObjectEx
-IsmEnumFirstObjectAttribute
-IsmEnumFirstObjectAttributeById
-IsmEnumFirstObjectOperation
-IsmEnumFirstObjectOperationById
-IsmEnumFirstObjectProperty
-IsmEnumFirstObjectPropertyById
-IsmEnumFirstObjectTypeId
-IsmEnumFirstObjectWithAttribute
-IsmEnumFirstObjectWithOperation
-IsmEnumFirstObjectWithProperty
-IsmEnumFirstPersistentObject
-IsmEnumFirstScope
-IsmEnumFirstSourceObjectEx
-IsmEnumFirstTransport
-IsmEnumNextApplyObject
-IsmEnumNextComponent
-IsmEnumNextObject
-IsmEnumNextObjectAttribute
-IsmEnumNextObjectOperation
-IsmEnumNextObjectProperty
-IsmEnumNextObjectTypeId
-IsmEnumNextObjectWithAttribute
-IsmEnumNextObjectWithOperation
-IsmEnumNextObjectWithProperty
-IsmEnumNextPersistentObject
-IsmEnumNextScope
-IsmEnumNextTransport
-IsmExecute
-IsmExecuteFunction
-IsmExecuteHooks
-IsmFilterObject
-IsmFreeConvertedObjectContent
-IsmFreeCurrentUserData
-IsmFreeEnvironmentVariableList
-IsmGetActiveScopeId
-IsmGetActiveScopeName
-IsmGetActiveScopeNameRenamed
-IsmGetAttributeGroup
-IsmGetAttributeName
-IsmGetControlFile
-IsmGetCurrentSidString
-IsmGetEnvironmentCallback
-IsmGetEnvironmentData
-IsmGetEnvironmentMultiSz
-IsmGetEnvironmentString
-IsmGetEnvironmentValue
-IsmGetGlobalVariable
-IsmGetMappedUserData
-IsmGetObjectIdFromName
-IsmGetObjectOperationData
-IsmGetObjectOperationDataById
-IsmGetObjectTypeId
-IsmGetObjectTypeName
-IsmGetObjectTypePriority
-IsmGetObjectsStatistics
-IsmGetOnlineUserData
-IsmGetOperationGroup
-IsmGetOperationName
-IsmGetOsVersionInfo
-IsmGetPropertyData
-IsmGetPropertyFromObject
-IsmGetPropertyFromObjectId
-IsmGetPropertyGroup
-IsmGetPropertyName
-IsmGetRealPlatform
-IsmGetScopeObjectTypeName
-IsmGetScopeProperty
-IsmGetTempDirectory
-IsmGetTempFile
-IsmGetTempStorage
-IsmGetTransportVariable
-IsmGetVirtualPlatform
-IsmHookEnumeration
-IsmInitialize
-IsmIsApplyObject
-IsmIsApplyObjectId
-IsmIsAttributeSetOnObject
-IsmIsAttributeSetOnObjectId
-IsmIsComponentSelected
-IsmIsEnvironmentFlagSet
-IsmIsNonCriticalObject
-IsmIsNonCriticalObjectId
-IsmIsObjectAbandonedOnCollision
-IsmIsObjectHandleLeafOnly
-IsmIsObjectHandleNodeOnly
-IsmIsObjectIdAbandonedOnCollision
-IsmIsOperationSetOnObject
-IsmIsOperationSetOnObjectId
-IsmIsPersistentObject
-IsmIsPersistentObjectId
-IsmIsPropertySetOnObject
-IsmIsPropertySetOnObjectId
-IsmIsScopeOnline
-IsmIsScopeSelected
-IsmIsSystemScopeSelected
-IsmLoad
-IsmLockAttribute
-IsmLockObject
-IsmLockObjectId
-IsmLockOperation
-IsmLockProperty
-IsmMakeApplyObject
-IsmMakeApplyObjectId
-IsmMakeNonCriticalObject
-IsmMakeNonCriticalObjectId
-IsmMakePersistentObject
-IsmMakePersistentObjectId
-IsmParsedPatternMatch
-IsmParsedPatternMatchEx
-IsmPreserveJournal
-IsmProhibitPhysicalEnum
-IsmQueueEnumeration
-IsmRecordDelayedOperation
-IsmRecordOperation
-IsmRecoverEfsFile
-IsmRegisterAttribute
-IsmRegisterCompareCallback
-IsmRegisterDynamicExclusion
-IsmRegisterGlobalApplyCallback
-IsmRegisterGlobalFilterCallback
-IsmRegisterObjectType
-IsmRegisterOperation
-IsmRegisterOperationApplyCallback
-IsmRegisterOperationData
-IsmRegisterOperationFilterCallback
-IsmRegisterPhysicalAcquireHook
-IsmRegisterPostEnumerationCallback
-IsmRegisterPreEnumerationCallback
-IsmRegisterProgressBarCallback
-IsmRegisterProgressSlice
-IsmRegisterProperty
-IsmRegisterPropertyData
-IsmRegisterRestoreCallback
-IsmRegisterScopeChangeCallback
-IsmRegisterStaticExclusion
-IsmRegisterTransport
-IsmRegisterTypePostEnumerationCallback
-IsmRegisterTypePreEnumerationCallback
-IsmReleaseMemory
-IsmReleaseObject
-IsmRemoveAllUserSuppliedComponents
-IsmRemovePhysicalObject
-IsmRemovePropertyData
-IsmRemovePropertyFromObject
-IsmRemovePropertyFromObjectId
-IsmReplacePhysicalObject
-IsmResumeLoad
-IsmResumeSave
-IsmRollback
-IsmSave
-IsmSelectComponent
-IsmSelectMasterGroup
-IsmSelectPreferredAlias
-IsmSelectScope
-IsmSelectTransport
-IsmSendMessageToApp
-IsmSetAttributeOnObject
-IsmSetAttributeOnObjectId
-IsmSetCancel
-IsmSetDelayedOperationsCommand
-IsmSetEnvironmentCallback
-IsmSetEnvironmentData
-IsmSetEnvironmentFlag
-IsmSetEnvironmentMultiSz
-IsmSetEnvironmentString
-IsmSetEnvironmentValue
-IsmSetOperationOnObject2
-IsmSetOperationOnObject
-IsmSetOperationOnObjectId2
-IsmSetOperationOnObjectId
-IsmSetPlatform
-IsmSetRollbackJournalType
-IsmSetTransportStorage
-IsmSetTransportVariable
-IsmStartEtmModules
-IsmStartTransport
-IsmTerminate
-IsmTickProgressBar
-IsmUnregisterScopeChangeCallback
-TrackedIsmCompressEnvironmentString
-TrackedIsmConvertMultiSzToObject
-TrackedIsmCreateObjectHandle
-TrackedIsmCreateObjectPattern
-TrackedIsmCreateObjectStringsFromHandleEx
-TrackedIsmCreateSimpleObjectPattern
-TrackedIsmDuplicateString
-TrackedIsmExpandEnvironmentString
-TrackedIsmGetLongName
-TrackedIsmGetMemory
-TrackedIsmGetNativeObjectName
+; 
+; Exports of file MIGISM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MIGISM.dll
+EXPORTS
+DllMain
+IsmAbandonObjectIdOnCollision
+IsmAbandonObjectOnCollision
+IsmAbortApplyObjectEnum
+IsmAbortComponentEnum
+IsmAbortObjectAttributeEnum
+IsmAbortObjectEnum
+IsmAbortObjectOperationEnum
+IsmAbortObjectPropertyEnum
+IsmAbortObjectTypeIdEnum
+IsmAbortObjectWithAttributeEnum
+IsmAbortObjectWithOperationEnum
+IsmAbortObjectWithPropertyEnum
+IsmAbortPersistentObjectEnum
+IsmAbortScopeEnum
+IsmAbortTransportEnum
+IsmAcquireObjectEx
+IsmAddComponentAlias
+IsmAddControlFile
+IsmAddPropertyDataToObject
+IsmAddPropertyDataToObjectId
+IsmAddPropertyToObject
+IsmAddPropertyToObjectId
+IsmAddToPhysicalEnum
+IsmAllocEnvironmentVariableList
+IsmAppendEnvironmentMultiSz
+IsmAppendEnvironmentString
+IsmAreObjectsIdentical
+IsmCanWriteRollbackJournal
+IsmClearAbandonObjectIdOnCollision
+IsmClearAbandonObjectOnCollision
+IsmClearApplyOnObject
+IsmClearApplyOnObjectId
+IsmClearAttributeOnObject
+IsmClearAttributeOnObjectId
+IsmClearNonCriticalFlagOnObject
+IsmClearNonCriticalFlagOnObjectId
+IsmClearOperationOnObject
+IsmClearOperationOnObjectId
+IsmClearPersistenceOnObject
+IsmClearPersistenceOnObjectId
+IsmConvertObjectContentToAnsi
+IsmConvertObjectContentToUnicode
+IsmConvertObjectToMultiSz
+IsmCreateParsedPattern
+IsmCreateScope
+IsmCurrentlyExecuting
+IsmDeleteEnvironmentVariable
+IsmDeleteScope
+IsmDeselectScope
+IsmDestroyGlobalVariable
+IsmDestroyObjectHandle
+IsmDestroyObjectString
+IsmDestroyParsedPattern
+IsmDoesObjectExist
+IsmDoesRollbackDataExist
+IsmEnumFirstApplyObject
+IsmEnumFirstComponent
+IsmEnumFirstDestinationObjectEx
+IsmEnumFirstObjectAttribute
+IsmEnumFirstObjectAttributeById
+IsmEnumFirstObjectOperation
+IsmEnumFirstObjectOperationById
+IsmEnumFirstObjectProperty
+IsmEnumFirstObjectPropertyById
+IsmEnumFirstObjectTypeId
+IsmEnumFirstObjectWithAttribute
+IsmEnumFirstObjectWithOperation
+IsmEnumFirstObjectWithProperty
+IsmEnumFirstPersistentObject
+IsmEnumFirstScope
+IsmEnumFirstSourceObjectEx
+IsmEnumFirstTransport
+IsmEnumNextApplyObject
+IsmEnumNextComponent
+IsmEnumNextObject
+IsmEnumNextObjectAttribute
+IsmEnumNextObjectOperation
+IsmEnumNextObjectProperty
+IsmEnumNextObjectTypeId
+IsmEnumNextObjectWithAttribute
+IsmEnumNextObjectWithOperation
+IsmEnumNextObjectWithProperty
+IsmEnumNextPersistentObject
+IsmEnumNextScope
+IsmEnumNextTransport
+IsmExecute
+IsmExecuteFunction
+IsmExecuteHooks
+IsmFilterObject
+IsmFreeConvertedObjectContent
+IsmFreeCurrentUserData
+IsmFreeEnvironmentVariableList
+IsmGetActiveScopeId
+IsmGetActiveScopeName
+IsmGetActiveScopeNameRenamed
+IsmGetAttributeGroup
+IsmGetAttributeName
+IsmGetControlFile
+IsmGetCurrentSidString
+IsmGetEnvironmentCallback
+IsmGetEnvironmentData
+IsmGetEnvironmentMultiSz
+IsmGetEnvironmentString
+IsmGetEnvironmentValue
+IsmGetGlobalVariable
+IsmGetMappedUserData
+IsmGetObjectIdFromName
+IsmGetObjectOperationData
+IsmGetObjectOperationDataById
+IsmGetObjectTypeId
+IsmGetObjectTypeName
+IsmGetObjectTypePriority
+IsmGetObjectsStatistics
+IsmGetOnlineUserData
+IsmGetOperationGroup
+IsmGetOperationName
+IsmGetOsVersionInfo
+IsmGetPropertyData
+IsmGetPropertyFromObject
+IsmGetPropertyFromObjectId
+IsmGetPropertyGroup
+IsmGetPropertyName
+IsmGetRealPlatform
+IsmGetScopeObjectTypeName
+IsmGetScopeProperty
+IsmGetTempDirectory
+IsmGetTempFile
+IsmGetTempStorage
+IsmGetTransportVariable
+IsmGetVirtualPlatform
+IsmHookEnumeration
+IsmInitialize
+IsmIsApplyObject
+IsmIsApplyObjectId
+IsmIsAttributeSetOnObject
+IsmIsAttributeSetOnObjectId
+IsmIsComponentSelected
+IsmIsEnvironmentFlagSet
+IsmIsNonCriticalObject
+IsmIsNonCriticalObjectId
+IsmIsObjectAbandonedOnCollision
+IsmIsObjectHandleLeafOnly
+IsmIsObjectHandleNodeOnly
+IsmIsObjectIdAbandonedOnCollision
+IsmIsOperationSetOnObject
+IsmIsOperationSetOnObjectId
+IsmIsPersistentObject
+IsmIsPersistentObjectId
+IsmIsPropertySetOnObject
+IsmIsPropertySetOnObjectId
+IsmIsScopeOnline
+IsmIsScopeSelected
+IsmIsSystemScopeSelected
+IsmLoad
+IsmLockAttribute
+IsmLockObject
+IsmLockObjectId
+IsmLockOperation
+IsmLockProperty
+IsmMakeApplyObject
+IsmMakeApplyObjectId
+IsmMakeNonCriticalObject
+IsmMakeNonCriticalObjectId
+IsmMakePersistentObject
+IsmMakePersistentObjectId
+IsmParsedPatternMatch
+IsmParsedPatternMatchEx
+IsmPreserveJournal
+IsmProhibitPhysicalEnum
+IsmQueueEnumeration
+IsmRecordDelayedOperation
+IsmRecordOperation
+IsmRecoverEfsFile
+IsmRegisterAttribute
+IsmRegisterCompareCallback
+IsmRegisterDynamicExclusion
+IsmRegisterGlobalApplyCallback
+IsmRegisterGlobalFilterCallback
+IsmRegisterObjectType
+IsmRegisterOperation
+IsmRegisterOperationApplyCallback
+IsmRegisterOperationData
+IsmRegisterOperationFilterCallback
+IsmRegisterPhysicalAcquireHook
+IsmRegisterPostEnumerationCallback
+IsmRegisterPreEnumerationCallback
+IsmRegisterProgressBarCallback
+IsmRegisterProgressSlice
+IsmRegisterProperty
+IsmRegisterPropertyData
+IsmRegisterRestoreCallback
+IsmRegisterScopeChangeCallback
+IsmRegisterStaticExclusion
+IsmRegisterTransport
+IsmRegisterTypePostEnumerationCallback
+IsmRegisterTypePreEnumerationCallback
+IsmReleaseMemory
+IsmReleaseObject
+IsmRemoveAllUserSuppliedComponents
+IsmRemovePhysicalObject
+IsmRemovePropertyData
+IsmRemovePropertyFromObject
+IsmRemovePropertyFromObjectId
+IsmReplacePhysicalObject
+IsmResumeLoad
+IsmResumeSave
+IsmRollback
+IsmSave
+IsmSelectComponent
+IsmSelectMasterGroup
+IsmSelectPreferredAlias
+IsmSelectScope
+IsmSelectTransport
+IsmSendMessageToApp
+IsmSetAttributeOnObject
+IsmSetAttributeOnObjectId
+IsmSetCancel
+IsmSetDelayedOperationsCommand
+IsmSetEnvironmentCallback
+IsmSetEnvironmentData
+IsmSetEnvironmentFlag
+IsmSetEnvironmentMultiSz
+IsmSetEnvironmentString
+IsmSetEnvironmentValue
+IsmSetOperationOnObject2
+IsmSetOperationOnObject
+IsmSetOperationOnObjectId2
+IsmSetOperationOnObjectId
+IsmSetPlatform
+IsmSetRollbackJournalType
+IsmSetTransportStorage
+IsmSetTransportVariable
+IsmStartEtmModules
+IsmStartTransport
+IsmTerminate
+IsmTickProgressBar
+IsmUnregisterScopeChangeCallback
+TrackedIsmCompressEnvironmentString
+TrackedIsmConvertMultiSzToObject
+TrackedIsmCreateObjectHandle
+TrackedIsmCreateObjectPattern
+TrackedIsmCreateObjectStringsFromHandleEx
+TrackedIsmCreateSimpleObjectPattern
+TrackedIsmDuplicateString
+TrackedIsmExpandEnvironmentString
+TrackedIsmGetLongName
+TrackedIsmGetMemory
+TrackedIsmGetNativeObjectName
diff --git a/mingw-w64-crt/lib64/wmigisma.def b/mingw-w64-crt/lib64/wmigisma.def
index 03ee842..057b8fa 100644
--- a/mingw-w64-crt/lib64/wmigisma.def
+++ b/mingw-w64-crt/lib64/wmigisma.def
@@ -1,257 +1,257 @@
-; 
-; Exports of file MIGISMA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MIGISMA.dll
-EXPORTS
-DllMain
-IsmAbandonObjectIdOnCollision
-IsmAbandonObjectOnCollision
-IsmAbortApplyObjectEnum
-IsmAbortComponentEnum
-IsmAbortObjectAttributeEnum
-IsmAbortObjectEnum
-IsmAbortObjectOperationEnum
-IsmAbortObjectPropertyEnum
-IsmAbortObjectTypeIdEnum
-IsmAbortObjectWithAttributeEnum
-IsmAbortObjectWithOperationEnum
-IsmAbortObjectWithPropertyEnum
-IsmAbortPersistentObjectEnum
-IsmAbortScopeEnum
-IsmAbortTransportEnum
-IsmAcquireObjectEx
-IsmAddComponentAlias
-IsmAddControlFile
-IsmAddPropertyDataToObject
-IsmAddPropertyDataToObjectId
-IsmAddPropertyToObject
-IsmAddPropertyToObjectId
-IsmAddToPhysicalEnum
-IsmAllocEnvironmentVariableList
-IsmAppendEnvironmentMultiSz
-IsmAppendEnvironmentString
-IsmAreObjectsIdentical
-IsmCanWriteRollbackJournal
-IsmClearAbandonObjectIdOnCollision
-IsmClearAbandonObjectOnCollision
-IsmClearApplyOnObject
-IsmClearApplyOnObjectId
-IsmClearAttributeOnObject
-IsmClearAttributeOnObjectId
-IsmClearNonCriticalFlagOnObject
-IsmClearNonCriticalFlagOnObjectId
-IsmClearOperationOnObject
-IsmClearOperationOnObjectId
-IsmClearPersistenceOnObject
-IsmClearPersistenceOnObjectId
-IsmConvertObjectContentToAnsi
-IsmConvertObjectContentToUnicode
-IsmConvertObjectToMultiSz
-IsmCreateParsedPattern
-IsmCreateScope
-IsmCurrentlyExecuting
-IsmDeleteEnvironmentVariable
-IsmDeleteScope
-IsmDeselectScope
-IsmDestroyGlobalVariable
-IsmDestroyObjectHandle
-IsmDestroyObjectString
-IsmDestroyParsedPattern
-IsmDoesObjectExist
-IsmDoesRollbackDataExist
-IsmEnumFirstApplyObject
-IsmEnumFirstComponent
-IsmEnumFirstDestinationObjectEx
-IsmEnumFirstObjectAttribute
-IsmEnumFirstObjectAttributeById
-IsmEnumFirstObjectOperation
-IsmEnumFirstObjectOperationById
-IsmEnumFirstObjectProperty
-IsmEnumFirstObjectPropertyById
-IsmEnumFirstObjectTypeId
-IsmEnumFirstObjectWithAttribute
-IsmEnumFirstObjectWithOperation
-IsmEnumFirstObjectWithProperty
-IsmEnumFirstPersistentObject
-IsmEnumFirstScope
-IsmEnumFirstSourceObjectEx
-IsmEnumFirstTransport
-IsmEnumNextApplyObject
-IsmEnumNextComponent
-IsmEnumNextObject
-IsmEnumNextObjectAttribute
-IsmEnumNextObjectOperation
-IsmEnumNextObjectProperty
-IsmEnumNextObjectTypeId
-IsmEnumNextObjectWithAttribute
-IsmEnumNextObjectWithOperation
-IsmEnumNextObjectWithProperty
-IsmEnumNextPersistentObject
-IsmEnumNextScope
-IsmEnumNextTransport
-IsmExecute
-IsmExecuteFunction
-IsmExecuteHooks
-IsmFilterObject
-IsmFreeConvertedObjectContent
-IsmFreeCurrentUserData
-IsmFreeEnvironmentVariableList
-IsmGetActiveScopeId
-IsmGetActiveScopeName
-IsmGetActiveScopeNameRenamed
-IsmGetAttributeGroup
-IsmGetAttributeName
-IsmGetControlFile
-IsmGetCurrentSidString
-IsmGetEnvironmentCallback
-IsmGetEnvironmentData
-IsmGetEnvironmentMultiSz
-IsmGetEnvironmentString
-IsmGetEnvironmentValue
-IsmGetGlobalVariable
-IsmGetMappedUserData
-IsmGetObjectIdFromName
-IsmGetObjectOperationData
-IsmGetObjectOperationDataById
-IsmGetObjectTypeId
-IsmGetObjectTypeName
-IsmGetObjectTypePriority
-IsmGetObjectsStatistics
-IsmGetOnlineUserData
-IsmGetOperationGroup
-IsmGetOperationName
-IsmGetOsVersionInfo
-IsmGetPropertyData
-IsmGetPropertyFromObject
-IsmGetPropertyFromObjectId
-IsmGetPropertyGroup
-IsmGetPropertyName
-IsmGetRealPlatform
-IsmGetScopeObjectTypeName
-IsmGetScopeProperty
-IsmGetTempDirectory
-IsmGetTempFile
-IsmGetTempStorage
-IsmGetTransportVariable
-IsmGetVirtualPlatform
-IsmHookEnumeration
-IsmInitialize
-IsmIsApplyObject
-IsmIsApplyObjectId
-IsmIsAttributeSetOnObject
-IsmIsAttributeSetOnObjectId
-IsmIsComponentSelected
-IsmIsEnvironmentFlagSet
-IsmIsNonCriticalObject
-IsmIsNonCriticalObjectId
-IsmIsObjectAbandonedOnCollision
-IsmIsObjectHandleLeafOnly
-IsmIsObjectHandleNodeOnly
-IsmIsObjectIdAbandonedOnCollision
-IsmIsOperationSetOnObject
-IsmIsOperationSetOnObjectId
-IsmIsPersistentObject
-IsmIsPersistentObjectId
-IsmIsPropertySetOnObject
-IsmIsPropertySetOnObjectId
-IsmIsScopeOnline
-IsmIsScopeSelected
-IsmIsSystemScopeSelected
-IsmLoad
-IsmLockAttribute
-IsmLockObject
-IsmLockObjectId
-IsmLockOperation
-IsmLockProperty
-IsmMakeApplyObject
-IsmMakeApplyObjectId
-IsmMakeNonCriticalObject
-IsmMakeNonCriticalObjectId
-IsmMakePersistentObject
-IsmMakePersistentObjectId
-IsmParsedPatternMatch
-IsmParsedPatternMatchEx
-IsmPreserveJournal
-IsmProhibitPhysicalEnum
-IsmQueueEnumeration
-IsmRecordDelayedOperation
-IsmRecordOperation
-IsmRecoverEfsFile
-IsmRegisterAttribute
-IsmRegisterCompareCallback
-IsmRegisterDynamicExclusion
-IsmRegisterGlobalApplyCallback
-IsmRegisterGlobalFilterCallback
-IsmRegisterObjectType
-IsmRegisterOperation
-IsmRegisterOperationApplyCallback
-IsmRegisterOperationData
-IsmRegisterOperationFilterCallback
-IsmRegisterPhysicalAcquireHook
-IsmRegisterPostEnumerationCallback
-IsmRegisterPreEnumerationCallback
-IsmRegisterProgressBarCallback
-IsmRegisterProgressSlice
-IsmRegisterProperty
-IsmRegisterPropertyData
-IsmRegisterRestoreCallback
-IsmRegisterScopeChangeCallback
-IsmRegisterStaticExclusion
-IsmRegisterTransport
-IsmRegisterTypePostEnumerationCallback
-IsmRegisterTypePreEnumerationCallback
-IsmReleaseMemory
-IsmReleaseObject
-IsmRemoveAllUserSuppliedComponents
-IsmRemovePhysicalObject
-IsmRemovePropertyData
-IsmRemovePropertyFromObject
-IsmRemovePropertyFromObjectId
-IsmReplacePhysicalObject
-IsmResumeLoad
-IsmResumeSave
-IsmRollback
-IsmSave
-IsmSelectComponent
-IsmSelectMasterGroup
-IsmSelectPreferredAlias
-IsmSelectScope
-IsmSelectTransport
-IsmSendMessageToApp
-IsmSetAttributeOnObject
-IsmSetAttributeOnObjectId
-IsmSetCancel
-IsmSetDelayedOperationsCommand
-IsmSetEnvironmentCallback
-IsmSetEnvironmentData
-IsmSetEnvironmentFlag
-IsmSetEnvironmentMultiSz
-IsmSetEnvironmentString
-IsmSetEnvironmentValue
-IsmSetOperationOnObject2
-IsmSetOperationOnObject
-IsmSetOperationOnObjectId2
-IsmSetOperationOnObjectId
-IsmSetPlatform
-IsmSetRollbackJournalType
-IsmSetTransportStorage
-IsmSetTransportVariable
-IsmStartEtmModules
-IsmStartTransport
-IsmTerminate
-IsmTickProgressBar
-IsmUnregisterScopeChangeCallback
-TrackedIsmCompressEnvironmentString
-TrackedIsmConvertMultiSzToObject
-TrackedIsmCreateObjectHandle
-TrackedIsmCreateObjectPattern
-TrackedIsmCreateObjectStringsFromHandleEx
-TrackedIsmCreateSimpleObjectPattern
-TrackedIsmDuplicateString
-TrackedIsmExpandEnvironmentString
-TrackedIsmGetLongName
-TrackedIsmGetMemory
-TrackedIsmGetNativeObjectName
+; 
+; Exports of file MIGISMA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MIGISMA.dll
+EXPORTS
+DllMain
+IsmAbandonObjectIdOnCollision
+IsmAbandonObjectOnCollision
+IsmAbortApplyObjectEnum
+IsmAbortComponentEnum
+IsmAbortObjectAttributeEnum
+IsmAbortObjectEnum
+IsmAbortObjectOperationEnum
+IsmAbortObjectPropertyEnum
+IsmAbortObjectTypeIdEnum
+IsmAbortObjectWithAttributeEnum
+IsmAbortObjectWithOperationEnum
+IsmAbortObjectWithPropertyEnum
+IsmAbortPersistentObjectEnum
+IsmAbortScopeEnum
+IsmAbortTransportEnum
+IsmAcquireObjectEx
+IsmAddComponentAlias
+IsmAddControlFile
+IsmAddPropertyDataToObject
+IsmAddPropertyDataToObjectId
+IsmAddPropertyToObject
+IsmAddPropertyToObjectId
+IsmAddToPhysicalEnum
+IsmAllocEnvironmentVariableList
+IsmAppendEnvironmentMultiSz
+IsmAppendEnvironmentString
+IsmAreObjectsIdentical
+IsmCanWriteRollbackJournal
+IsmClearAbandonObjectIdOnCollision
+IsmClearAbandonObjectOnCollision
+IsmClearApplyOnObject
+IsmClearApplyOnObjectId
+IsmClearAttributeOnObject
+IsmClearAttributeOnObjectId
+IsmClearNonCriticalFlagOnObject
+IsmClearNonCriticalFlagOnObjectId
+IsmClearOperationOnObject
+IsmClearOperationOnObjectId
+IsmClearPersistenceOnObject
+IsmClearPersistenceOnObjectId
+IsmConvertObjectContentToAnsi
+IsmConvertObjectContentToUnicode
+IsmConvertObjectToMultiSz
+IsmCreateParsedPattern
+IsmCreateScope
+IsmCurrentlyExecuting
+IsmDeleteEnvironmentVariable
+IsmDeleteScope
+IsmDeselectScope
+IsmDestroyGlobalVariable
+IsmDestroyObjectHandle
+IsmDestroyObjectString
+IsmDestroyParsedPattern
+IsmDoesObjectExist
+IsmDoesRollbackDataExist
+IsmEnumFirstApplyObject
+IsmEnumFirstComponent
+IsmEnumFirstDestinationObjectEx
+IsmEnumFirstObjectAttribute
+IsmEnumFirstObjectAttributeById
+IsmEnumFirstObjectOperation
+IsmEnumFirstObjectOperationById
+IsmEnumFirstObjectProperty
+IsmEnumFirstObjectPropertyById
+IsmEnumFirstObjectTypeId
+IsmEnumFirstObjectWithAttribute
+IsmEnumFirstObjectWithOperation
+IsmEnumFirstObjectWithProperty
+IsmEnumFirstPersistentObject
+IsmEnumFirstScope
+IsmEnumFirstSourceObjectEx
+IsmEnumFirstTransport
+IsmEnumNextApplyObject
+IsmEnumNextComponent
+IsmEnumNextObject
+IsmEnumNextObjectAttribute
+IsmEnumNextObjectOperation
+IsmEnumNextObjectProperty
+IsmEnumNextObjectTypeId
+IsmEnumNextObjectWithAttribute
+IsmEnumNextObjectWithOperation
+IsmEnumNextObjectWithProperty
+IsmEnumNextPersistentObject
+IsmEnumNextScope
+IsmEnumNextTransport
+IsmExecute
+IsmExecuteFunction
+IsmExecuteHooks
+IsmFilterObject
+IsmFreeConvertedObjectContent
+IsmFreeCurrentUserData
+IsmFreeEnvironmentVariableList
+IsmGetActiveScopeId
+IsmGetActiveScopeName
+IsmGetActiveScopeNameRenamed
+IsmGetAttributeGroup
+IsmGetAttributeName
+IsmGetControlFile
+IsmGetCurrentSidString
+IsmGetEnvironmentCallback
+IsmGetEnvironmentData
+IsmGetEnvironmentMultiSz
+IsmGetEnvironmentString
+IsmGetEnvironmentValue
+IsmGetGlobalVariable
+IsmGetMappedUserData
+IsmGetObjectIdFromName
+IsmGetObjectOperationData
+IsmGetObjectOperationDataById
+IsmGetObjectTypeId
+IsmGetObjectTypeName
+IsmGetObjectTypePriority
+IsmGetObjectsStatistics
+IsmGetOnlineUserData
+IsmGetOperationGroup
+IsmGetOperationName
+IsmGetOsVersionInfo
+IsmGetPropertyData
+IsmGetPropertyFromObject
+IsmGetPropertyFromObjectId
+IsmGetPropertyGroup
+IsmGetPropertyName
+IsmGetRealPlatform
+IsmGetScopeObjectTypeName
+IsmGetScopeProperty
+IsmGetTempDirectory
+IsmGetTempFile
+IsmGetTempStorage
+IsmGetTransportVariable
+IsmGetVirtualPlatform
+IsmHookEnumeration
+IsmInitialize
+IsmIsApplyObject
+IsmIsApplyObjectId
+IsmIsAttributeSetOnObject
+IsmIsAttributeSetOnObjectId
+IsmIsComponentSelected
+IsmIsEnvironmentFlagSet
+IsmIsNonCriticalObject
+IsmIsNonCriticalObjectId
+IsmIsObjectAbandonedOnCollision
+IsmIsObjectHandleLeafOnly
+IsmIsObjectHandleNodeOnly
+IsmIsObjectIdAbandonedOnCollision
+IsmIsOperationSetOnObject
+IsmIsOperationSetOnObjectId
+IsmIsPersistentObject
+IsmIsPersistentObjectId
+IsmIsPropertySetOnObject
+IsmIsPropertySetOnObjectId
+IsmIsScopeOnline
+IsmIsScopeSelected
+IsmIsSystemScopeSelected
+IsmLoad
+IsmLockAttribute
+IsmLockObject
+IsmLockObjectId
+IsmLockOperation
+IsmLockProperty
+IsmMakeApplyObject
+IsmMakeApplyObjectId
+IsmMakeNonCriticalObject
+IsmMakeNonCriticalObjectId
+IsmMakePersistentObject
+IsmMakePersistentObjectId
+IsmParsedPatternMatch
+IsmParsedPatternMatchEx
+IsmPreserveJournal
+IsmProhibitPhysicalEnum
+IsmQueueEnumeration
+IsmRecordDelayedOperation
+IsmRecordOperation
+IsmRecoverEfsFile
+IsmRegisterAttribute
+IsmRegisterCompareCallback
+IsmRegisterDynamicExclusion
+IsmRegisterGlobalApplyCallback
+IsmRegisterGlobalFilterCallback
+IsmRegisterObjectType
+IsmRegisterOperation
+IsmRegisterOperationApplyCallback
+IsmRegisterOperationData
+IsmRegisterOperationFilterCallback
+IsmRegisterPhysicalAcquireHook
+IsmRegisterPostEnumerationCallback
+IsmRegisterPreEnumerationCallback
+IsmRegisterProgressBarCallback
+IsmRegisterProgressSlice
+IsmRegisterProperty
+IsmRegisterPropertyData
+IsmRegisterRestoreCallback
+IsmRegisterScopeChangeCallback
+IsmRegisterStaticExclusion
+IsmRegisterTransport
+IsmRegisterTypePostEnumerationCallback
+IsmRegisterTypePreEnumerationCallback
+IsmReleaseMemory
+IsmReleaseObject
+IsmRemoveAllUserSuppliedComponents
+IsmRemovePhysicalObject
+IsmRemovePropertyData
+IsmRemovePropertyFromObject
+IsmRemovePropertyFromObjectId
+IsmReplacePhysicalObject
+IsmResumeLoad
+IsmResumeSave
+IsmRollback
+IsmSave
+IsmSelectComponent
+IsmSelectMasterGroup
+IsmSelectPreferredAlias
+IsmSelectScope
+IsmSelectTransport
+IsmSendMessageToApp
+IsmSetAttributeOnObject
+IsmSetAttributeOnObjectId
+IsmSetCancel
+IsmSetDelayedOperationsCommand
+IsmSetEnvironmentCallback
+IsmSetEnvironmentData
+IsmSetEnvironmentFlag
+IsmSetEnvironmentMultiSz
+IsmSetEnvironmentString
+IsmSetEnvironmentValue
+IsmSetOperationOnObject2
+IsmSetOperationOnObject
+IsmSetOperationOnObjectId2
+IsmSetOperationOnObjectId
+IsmSetPlatform
+IsmSetRollbackJournalType
+IsmSetTransportStorage
+IsmSetTransportVariable
+IsmStartEtmModules
+IsmStartTransport
+IsmTerminate
+IsmTickProgressBar
+IsmUnregisterScopeChangeCallback
+TrackedIsmCompressEnvironmentString
+TrackedIsmConvertMultiSzToObject
+TrackedIsmCreateObjectHandle
+TrackedIsmCreateObjectPattern
+TrackedIsmCreateObjectStringsFromHandleEx
+TrackedIsmCreateSimpleObjectPattern
+TrackedIsmDuplicateString
+TrackedIsmExpandEnvironmentString
+TrackedIsmGetLongName
+TrackedIsmGetMemory
+TrackedIsmGetNativeObjectName
diff --git a/mingw-w64-crt/lib64/wmiglibnt.def b/mingw-w64-crt/lib64/wmiglibnt.def
index 59a2d67..ac8ac9e 100644
--- a/mingw-w64-crt/lib64/wmiglibnt.def
+++ b/mingw-w64-crt/lib64/wmiglibnt.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file MIGLIBNT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MIGLIBNT.dll
-EXPORTS
-MigDllAddDllToListW
-MigDllApplySystemSettingsW
-MigDllCloseW
-MigDllCreateList
-MigDllEnumFirstW
-MigDllEnumNextW
-MigDllFreeList
-MigDllInit
-MigDllInitializeDstW
-MigDllOpenW
-MigDllShutdown
+; 
+; Exports of file MIGLIBNT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MIGLIBNT.dll
+EXPORTS
+MigDllAddDllToListW
+MigDllApplySystemSettingsW
+MigDllCloseW
+MigDllCreateList
+MigDllEnumFirstW
+MigDllEnumNextW
+MigDllFreeList
+MigDllInit
+MigDllInitializeDstW
+MigDllOpenW
+MigDllShutdown
diff --git a/mingw-w64-crt/lib64/wmimefilt.def b/mingw-w64-crt/lib64/wmimefilt.def
index bde7dd4..521ecd1 100644
--- a/mingw-w64-crt/lib64/wmimefilt.def
+++ b/mingw-w64-crt/lib64/wmimefilt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MIMEFILT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MIMEFILT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MIMEFILT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MIMEFILT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmipcima.def b/mingw-w64-crt/lib64/wmipcima.def
index dd2c7e3..0eb1ae0 100644
--- a/mingw-w64-crt/lib64/wmipcima.def
+++ b/mingw-w64-crt/lib64/wmipcima.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file cimwin32A.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY cimwin32A.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file cimwin32A.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY cimwin32A.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmipdskq.def b/mingw-w64-crt/lib64/wmipdskq.def
index cdfb187..a3a2cf8 100644
--- a/mingw-w64-crt/lib64/wmipdskq.def
+++ b/mingw-w64-crt/lib64/wmipdskq.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file diskquotaprovider.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY diskquotaprovider.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file diskquotaprovider.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY diskquotaprovider.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmipicmp.def b/mingw-w64-crt/lib64/wmipicmp.def
index 4c9c795..6f68585 100644
--- a/mingw-w64-crt/lib64/wmipicmp.def
+++ b/mingw-w64-crt/lib64/wmipicmp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WMIPICMP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WMIPICMP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WMIPICMP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WMIPICMP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmipiprt.def b/mingw-w64-crt/lib64/wmipiprt.def
index a80a4fa..22f32dc 100644
--- a/mingw-w64-crt/lib64/wmipiprt.def
+++ b/mingw-w64-crt/lib64/wmipiprt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WMIPIPRT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WMIPIPRT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WMIPIPRT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WMIPIPRT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmipjobj.def b/mingw-w64-crt/lib64/wmipjobj.def
index 1bdacd8..8fc3166 100644
--- a/mingw-w64-crt/lib64/wmipjobj.def
+++ b/mingw-w64-crt/lib64/wmipjobj.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WMIPJOBJ.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WMIPJOBJ.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WMIPJOBJ.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WMIPJOBJ.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmiprop.def b/mingw-w64-crt/lib64/wmiprop.def
index acf7dc9..74cdd55 100644
--- a/mingw-w64-crt/lib64/wmiprop.def
+++ b/mingw-w64-crt/lib64/wmiprop.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file WmiProp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WmiProp.dll
-EXPORTS
-WmiPropCoInstaller
+; 
+; Exports of file WmiProp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WmiProp.dll
+EXPORTS
+WmiPropCoInstaller
diff --git a/mingw-w64-crt/lib64/wmiprov.def b/mingw-w64-crt/lib64/wmiprov.def
index 6147faf..1ab9a24 100644
--- a/mingw-w64-crt/lib64/wmiprov.def
+++ b/mingw-w64-crt/lib64/wmiprov.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WMIPROV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WMIPROV.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WMIPROV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WMIPROV.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmiprvsd.def b/mingw-w64-crt/lib64/wmiprvsd.def
index e3a18aa..53c9c96 100644
--- a/mingw-w64-crt/lib64/wmiprvsd.def
+++ b/mingw-w64-crt/lib64/wmiprvsd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WmiPrvSS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WmiPrvSS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WmiPrvSS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WmiPrvSS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmipsess.def b/mingw-w64-crt/lib64/wmipsess.def
index 9185f6d..bfa88fd 100644
--- a/mingw-w64-crt/lib64/wmipsess.def
+++ b/mingw-w64-crt/lib64/wmipsess.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WMISESS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WMISESS.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WMISESS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WMISESS.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmiscmgr.def b/mingw-w64-crt/lib64/wmiscmgr.def
index c60ca1e..94457d9 100644
--- a/mingw-w64-crt/lib64/wmiscmgr.def
+++ b/mingw-w64-crt/lib64/wmiscmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SchemaManager.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SchemaManager.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SchemaManager.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SchemaManager.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmisvc.def b/mingw-w64-crt/lib64/wmisvc.def
index b6cfeb6..5fe78cb 100644
--- a/mingw-w64-crt/lib64/wmisvc.def
+++ b/mingw-w64-crt/lib64/wmisvc.def
@@ -1,225 +1,225 @@
-; 
-; Exports of file WMIsvc.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WMIsvc.DLL
-EXPORTS
-; public: __cdecl C9XAce::C9XAce(class C9XAce const & __ptr64) __ptr64
-??0C9XAce@@QEAA@AEBV0@@Z
-; public: __cdecl C9XAce::C9XAce(void) __ptr64
-??0C9XAce@@QEAA@XZ
-; public: __cdecl CArena::CArena(class CArena const & __ptr64) __ptr64
-??0CArena@@QEAA@AEBV0@@Z
-; public: __cdecl CArena::CArena(void) __ptr64
-??0CArena@@QEAA@XZ
-; public: __cdecl CBaseAce::CBaseAce(class CBaseAce const & __ptr64) __ptr64
-??0CBaseAce@@QEAA@AEBV0@@Z
-; public: __cdecl CBaseAce::CBaseAce(void) __ptr64
-??0CBaseAce@@QEAA@XZ
-; public: __cdecl CCheckedInCritSec::CCheckedInCritSec(class CCritSec * __ptr64) __ptr64
-??0CCheckedInCritSec@@QEAA@PEAVCCritSec@@@Z
-; public: __cdecl CCritSec::CCritSec(void) __ptr64
-??0CCritSec@@QEAA@XZ
-; public: __cdecl CEnterWbemCriticalSection::CEnterWbemCriticalSection(class CWbemCriticalSection * __ptr64,unsigned long) __ptr64
-??0CEnterWbemCriticalSection@@QEAA@PEAVCWbemCriticalSection@@K@Z
-; public: __cdecl CHaltable::CHaltable(class CHaltable const & __ptr64) __ptr64
-??0CHaltable@@QEAA@AEBV0@@Z
-; public: __cdecl CInCritSec::CInCritSec(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
-??0CInCritSec@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
-; public: __cdecl CNtAce::CNtAce(void) __ptr64
-??0CNtAce@@QEAA@XZ
-; public: __cdecl CNtSid::CNtSid(void) __ptr64
-??0CNtSid@@QEAA@XZ
-; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(class CWin32DefaultArena const & __ptr64) __ptr64
-??0CWin32DefaultArena@@QEAA@AEBV0@@Z
-; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(void) __ptr64
-??0CWin32DefaultArena@@QEAA@XZ
-; public: virtual __cdecl CBaseAce::~CBaseAce(void) __ptr64
-??1CBaseAce@@UEAA@XZ
-; public: __cdecl CCheckedInCritSec::~CCheckedInCritSec(void) __ptr64
-??1CCheckedInCritSec@@QEAA@XZ
-; public: __cdecl CCritSec::~CCritSec(void) __ptr64
-??1CCritSec@@QEAA@XZ
-; public: __cdecl CEnterWbemCriticalSection::~CEnterWbemCriticalSection(void) __ptr64
-??1CEnterWbemCriticalSection@@QEAA@XZ
-; public: __cdecl CInCritSec::~CInCritSec(void) __ptr64
-??1CInCritSec@@QEAA@XZ
-; public: __cdecl CWin32DefaultArena::~CWin32DefaultArena(void) __ptr64
-??1CWin32DefaultArena@@QEAA@XZ
-; public: class C9XAce & __ptr64 __cdecl C9XAce::operator=(class C9XAce const & __ptr64) __ptr64
-??4C9XAce@@QEAAAEAV0@AEBV0@@Z
-; public: class CArena & __ptr64 __cdecl CArena::operator=(class CArena const & __ptr64) __ptr64
-??4CArena@@QEAAAEAV0@AEBV0@@Z
-; public: class CBaseAce & __ptr64 __cdecl CBaseAce::operator=(class CBaseAce const & __ptr64) __ptr64
-??4CBaseAce@@QEAAAEAV0@AEBV0@@Z
-; public: class CCheckedInCritSec & __ptr64 __cdecl CCheckedInCritSec::operator=(class CCheckedInCritSec const & __ptr64) __ptr64
-??4CCheckedInCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
-??4CCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CEnterWbemCriticalSection & __ptr64 __cdecl CEnterWbemCriticalSection::operator=(class CEnterWbemCriticalSection const & __ptr64) __ptr64
-??4CEnterWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
-; public: class CFlexQueue & __ptr64 __cdecl CFlexQueue::operator=(class CFlexQueue const & __ptr64) __ptr64
-??4CFlexQueue@@QEAAAEAV0@AEBV0@@Z
-; public: class CHaltable & __ptr64 __cdecl CHaltable::operator=(class CHaltable const & __ptr64) __ptr64
-??4CHaltable@@QEAAAEAV0@AEBV0@@Z
-; public: class CInCritSec & __ptr64 __cdecl CInCritSec::operator=(class CInCritSec const & __ptr64) __ptr64
-??4CInCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CNtSecurity & __ptr64 __cdecl CNtSecurity::operator=(class CNtSecurity const & __ptr64) __ptr64
-??4CNtSecurity@@QEAAAEAV0@AEBV0@@Z
-; public: class CPersistentConfig & __ptr64 __cdecl CPersistentConfig::operator=(class CPersistentConfig const & __ptr64) __ptr64
-??4CPersistentConfig@@QEAAAEAV0@AEBV0@@Z
-; public: class CSmallArrayBlob & __ptr64 __cdecl CSmallArrayBlob::operator=(class CSmallArrayBlob const & __ptr64) __ptr64
-??4CSmallArrayBlob@@QEAAAEAV0@AEBV0@@Z
-; public: class CStaticCritSec & __ptr64 __cdecl CStaticCritSec::operator=(class CStaticCritSec const & __ptr64) __ptr64
-??4CStaticCritSec@@QEAAAEAV0@AEBV0@@Z
-; public: class CWbemCriticalSection & __ptr64 __cdecl CWbemCriticalSection::operator=(class CWbemCriticalSection const & __ptr64) __ptr64
-??4CWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
-; public: class CWin32DefaultArena & __ptr64 __cdecl CWin32DefaultArena::operator=(class CWin32DefaultArena const & __ptr64) __ptr64
-??4CWin32DefaultArena@@QEAAAEAV0@AEBV0@@Z
-; public: class MD5 & __ptr64 __cdecl MD5::operator=(class MD5 const & __ptr64) __ptr64
-??4MD5@@QEAAAEAV0@AEBV0@@Z
-; public: class Registry & __ptr64 __cdecl Registry::operator=(class Registry const & __ptr64) __ptr64
-??4Registry@@QEAAAEAV0@AEBV0@@Z
-; public: void * __ptr64 & __ptr64 __cdecl CFlexArray::operator[](int) __ptr64
-??ACFlexArray@@QEAAAEAPEAXH@Z
-; public: void * __ptr64 __cdecl CFlexArray::operator[](int)const  __ptr64
-??ACFlexArray@@QEBAPEAXH@Z
-; public: void * __ptr64 __cdecl CSmallArrayBlob::operator[](int)const  __ptr64
-??ACSmallArrayBlob@@QEBAPEAXH@Z
-; public: unsigned short * __ptr64 __cdecl CWStringArray::operator[](int)const  __ptr64
-??ACWStringArray@@QEBAPEAGH@Z
-; const  C9XAce::`vftable'
-??_7C9XAce@@6B@
-; const  CArena::`vftable'
-??_7CArena@@6B@
-; const  CBaseAce::`vftable'
-??_7CBaseAce@@6B@
-; const  CHaltable::`vftable'
-??_7CHaltable@@6B@
-; const  CNtAce::`vftable'
-??_7CNtAce@@6B@
-; const  CWin32DefaultArena::`vftable'
-??_7CWin32DefaultArena@@6B@
-; public: void __cdecl CFlexArray::`default constructor closure'(void) __ptr64
-??_FCFlexArray@@QEAAXXZ
-; public: void __cdecl CFlexQueue::`default constructor closure'(void) __ptr64
-??_FCFlexQueue@@QEAAXXZ
-; public: void __cdecl CNtAcl::`default constructor closure'(void) __ptr64
-??_FCNtAcl@@QEAAXXZ
-; public: void __cdecl CWStringArray::`default constructor closure'(void) __ptr64
-??_FCWStringArray@@QEAAXXZ
-; public: int __cdecl CFlexArray::Add(void * __ptr64) __ptr64
-?Add@CFlexArray@@QEAAHPEAX@Z
-; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Alloc(unsigned __int64) __ptr64
-?Alloc@CWin32DefaultArena@@UEAAPEAX_K@Z
-; public: void __cdecl CWStringArray::Compress(void) __ptr64
-?Compress@CWStringArray@@QEAAXXZ
-; protected: void __cdecl CFlexQueue::DecrementIndex(int & __ptr64) __ptr64
-?DecrementIndex@CFlexQueue@@IEAAXAEAH@Z
-DredgeRA
-; public: void __cdecl CCheckedInCritSec::Enter(void) __ptr64
-?Enter@CCheckedInCritSec@@QEAAXXZ
-; public: void __cdecl CCritSec::Enter(void) __ptr64
-?Enter@CCritSec@@QEAAXXZ
-; public: virtual int __cdecl CWin32DefaultArena::Free(void * __ptr64) __ptr64
-?Free@CWin32DefaultArena@@UEAAHPEAX@Z
-; public: virtual unsigned long __cdecl C9XAce::GetAccessMask(void) __ptr64
-?GetAccessMask@C9XAce@@UEAAKXZ
-; public: void * __ptr64 * __ptr64 __cdecl CFlexArray::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CFlexArray@@QEAAPEAPEAXXZ
-; public: void * __ptr64 const * __ptr64 __cdecl CFlexArray::GetArrayPtr(void)const  __ptr64
-?GetArrayPtr@CFlexArray@@QEBAPEBQEAXXZ
-; public: void * __ptr64 * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CSmallArrayBlob@@QEAAPEAPEAXXZ
-; public: void * __ptr64 const * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void)const  __ptr64
-?GetArrayPtr@CSmallArrayBlob@@QEBAPEBQEAXXZ
-; public: unsigned short const * __ptr64 * __ptr64 __cdecl CWStringArray::GetArrayPtr(void) __ptr64
-?GetArrayPtr@CWStringArray@@QEAAPEAPEBGXZ
-; public: void * __ptr64 __cdecl CFlexArray::GetAt(int)const  __ptr64
-?GetAt@CFlexArray@@QEBAPEAXH@Z
-; public: void * __ptr64 __cdecl CSmallArrayBlob::GetAt(int)const  __ptr64
-?GetAt@CSmallArrayBlob@@QEBAPEAXH@Z
-; public: unsigned short * __ptr64 __cdecl CWStringArray::GetAt(int)const  __ptr64
-?GetAt@CWStringArray@@QEBAPEAGH@Z
-; public: virtual int __cdecl C9XAce::GetFlags(void) __ptr64
-?GetFlags@C9XAce@@UEAAHXZ
-; public: long __cdecl Registry::GetLastError(void) __ptr64
-?GetLastError@Registry@@QEAAJXZ
-; public: long __cdecl CWbemCriticalSection::GetLockCount(void) __ptr64
-?GetLockCount@CWbemCriticalSection@@QEAAJXZ
-; public: unsigned long __cdecl CWbemCriticalSection::GetOwningThreadId(void) __ptr64
-?GetOwningThreadId@CWbemCriticalSection@@QEAAKXZ
-; public: struct _ACCESS_ALLOWED_ACE * __ptr64 __cdecl CNtAce::GetPtr(void) __ptr64
-?GetPtr@CNtAce@@QEAAPEAU_ACCESS_ALLOWED_ACE@@XZ
-; public: struct _ACL * __ptr64 __cdecl CNtAcl::GetPtr(void) __ptr64
-?GetPtr@CNtAcl@@QEAAPEAU_ACL@@XZ
-; public: void * __ptr64 __cdecl CNtSecurityDescriptor::GetPtr(void) __ptr64
-?GetPtr@CNtSecurityDescriptor@@QEAAPEAXXZ
-; public: void * __ptr64 __cdecl CNtSid::GetPtr(void) __ptr64
-?GetPtr@CNtSid@@QEAAPEAXXZ
-; public: int __cdecl CFlexQueue::GetQueueSize(void)const  __ptr64
-?GetQueueSize@CFlexQueue@@QEBAHXZ
-; public: long __cdecl CWbemCriticalSection::GetRecursionCount(void) __ptr64
-?GetRecursionCount@CWbemCriticalSection@@QEAAJXZ
-; public: unsigned long __cdecl CNtAce::GetSize(void) __ptr64
-?GetSize@CNtAce@@QEAAKXZ
-; public: virtual unsigned long __cdecl C9XAce::GetStatus(void) __ptr64
-?GetStatus@C9XAce@@UEAAKXZ
-; public: virtual unsigned long __cdecl CNtAce::GetStatus(void) __ptr64
-?GetStatus@CNtAce@@UEAAKXZ
-; public: unsigned long __cdecl CNtAcl::GetStatus(void) __ptr64
-?GetStatus@CNtAcl@@QEAAKXZ
-; public: unsigned long __cdecl CNtSecurityDescriptor::GetStatus(void) __ptr64
-?GetStatus@CNtSecurityDescriptor@@QEAAKXZ
-; public: unsigned long __cdecl CNtSid::GetStatus(void) __ptr64
-?GetStatus@CNtSid@@QEAAKXZ
-; public: virtual int __cdecl C9XAce::GetType(void) __ptr64
-?GetType@C9XAce@@UEAAHXZ
-; protected: void __cdecl CFlexQueue::IncrementIndex(int & __ptr64) __ptr64
-?IncrementIndex@CFlexQueue@@IEAAXAEAH@Z
-; public: int __cdecl CCheckedInCritSec::IsEntered(void) __ptr64
-?IsEntered@CCheckedInCritSec@@QEAAHXZ
-; public: int __cdecl CEnterWbemCriticalSection::IsEntered(void) __ptr64
-?IsEntered@CEnterWbemCriticalSection@@QEAAHXZ
-IsShutDown
-; public: bool __cdecl CNtSid::IsUser(void) __ptr64
-?IsUser@CNtSid@@QEAA_NXZ
-; public: int __cdecl CNtAcl::IsValid(void) __ptr64
-?IsValid@CNtAcl@@QEAAHXZ
-; public: int __cdecl CNtSecurityDescriptor::IsValid(void) __ptr64
-?IsValid@CNtSecurityDescriptor@@QEAAHXZ
-; public: int __cdecl CNtSid::IsValid(void) __ptr64
-?IsValid@CNtSid@@QEAAHXZ
-; public: void __cdecl CCheckedInCritSec::Leave(void) __ptr64
-?Leave@CCheckedInCritSec@@QEAAXXZ
-; public: void __cdecl CCritSec::Leave(void) __ptr64
-?Leave@CCritSec@@QEAAXXZ
-MoveToAlone
-MoveToShared
-; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Realloc(void * __ptr64,unsigned __int64) __ptr64
-?Realloc@CWin32DefaultArena@@UEAAPEAXPEAX_K@Z
-ServiceMain
-; public: void __cdecl CFlexArray::SetAt(int,void * __ptr64) __ptr64
-?SetAt@CFlexArray@@QEAAXHPEAX@Z
-; public: virtual void __cdecl C9XAce::SetFlags(long) __ptr64
-?SetFlags@C9XAce@@UEAAXJ@Z
-; public: virtual void __cdecl CNtAce::SetFlags(long) __ptr64
-?SetFlags@CNtAce@@UEAAXJ@Z
-; public: void __cdecl CFlexArray::SetSize(int) __ptr64
-?SetSize@CFlexArray@@QEAAXH@Z
-; public: int __cdecl CFlexArray::Size(void)const  __ptr64
-?Size@CFlexArray@@QEBAHXZ
-; public: int __cdecl CSmallArrayBlob::Size(void)const  __ptr64
-?Size@CSmallArrayBlob@@QEBAHXZ
-; public: int __cdecl CWStringArray::Size(void)const  __ptr64
-?Size@CWStringArray@@QEBAHXZ
-; public: void * __ptr64 __cdecl CFlexQueue::Unqueue(void) __ptr64
-?Unqueue@CFlexQueue@@QEAAPEAXXZ
-; public: static void __cdecl CWin32DefaultArena::WbemSysFreeString(unsigned short * __ptr64)
-?WbemSysFreeString@CWin32DefaultArena@@SAXPEAG@Z
-; public: bool __cdecl CHaltable::isValid(void) __ptr64
-?isValid@CHaltable@@QEAA_NXZ
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WMIsvc.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WMIsvc.DLL
+EXPORTS
+; public: __cdecl C9XAce::C9XAce(class C9XAce const & __ptr64) __ptr64
+??0C9XAce@@QEAA@AEBV0@@Z
+; public: __cdecl C9XAce::C9XAce(void) __ptr64
+??0C9XAce@@QEAA@XZ
+; public: __cdecl CArena::CArena(class CArena const & __ptr64) __ptr64
+??0CArena@@QEAA@AEBV0@@Z
+; public: __cdecl CArena::CArena(void) __ptr64
+??0CArena@@QEAA@XZ
+; public: __cdecl CBaseAce::CBaseAce(class CBaseAce const & __ptr64) __ptr64
+??0CBaseAce@@QEAA@AEBV0@@Z
+; public: __cdecl CBaseAce::CBaseAce(void) __ptr64
+??0CBaseAce@@QEAA@XZ
+; public: __cdecl CCheckedInCritSec::CCheckedInCritSec(class CCritSec * __ptr64) __ptr64
+??0CCheckedInCritSec@@QEAA@PEAVCCritSec@@@Z
+; public: __cdecl CCritSec::CCritSec(void) __ptr64
+??0CCritSec@@QEAA@XZ
+; public: __cdecl CEnterWbemCriticalSection::CEnterWbemCriticalSection(class CWbemCriticalSection * __ptr64,unsigned long) __ptr64
+??0CEnterWbemCriticalSection@@QEAA@PEAVCWbemCriticalSection@@K@Z
+; public: __cdecl CHaltable::CHaltable(class CHaltable const & __ptr64) __ptr64
+??0CHaltable@@QEAA@AEBV0@@Z
+; public: __cdecl CInCritSec::CInCritSec(struct _RTL_CRITICAL_SECTION * __ptr64) __ptr64
+??0CInCritSec@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
+; public: __cdecl CNtAce::CNtAce(void) __ptr64
+??0CNtAce@@QEAA@XZ
+; public: __cdecl CNtSid::CNtSid(void) __ptr64
+??0CNtSid@@QEAA@XZ
+; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(class CWin32DefaultArena const & __ptr64) __ptr64
+??0CWin32DefaultArena@@QEAA@AEBV0@@Z
+; public: __cdecl CWin32DefaultArena::CWin32DefaultArena(void) __ptr64
+??0CWin32DefaultArena@@QEAA@XZ
+; public: virtual __cdecl CBaseAce::~CBaseAce(void) __ptr64
+??1CBaseAce@@UEAA@XZ
+; public: __cdecl CCheckedInCritSec::~CCheckedInCritSec(void) __ptr64
+??1CCheckedInCritSec@@QEAA@XZ
+; public: __cdecl CCritSec::~CCritSec(void) __ptr64
+??1CCritSec@@QEAA@XZ
+; public: __cdecl CEnterWbemCriticalSection::~CEnterWbemCriticalSection(void) __ptr64
+??1CEnterWbemCriticalSection@@QEAA@XZ
+; public: __cdecl CInCritSec::~CInCritSec(void) __ptr64
+??1CInCritSec@@QEAA@XZ
+; public: __cdecl CWin32DefaultArena::~CWin32DefaultArena(void) __ptr64
+??1CWin32DefaultArena@@QEAA@XZ
+; public: class C9XAce & __ptr64 __cdecl C9XAce::operator=(class C9XAce const & __ptr64) __ptr64
+??4C9XAce@@QEAAAEAV0@AEBV0@@Z
+; public: class CArena & __ptr64 __cdecl CArena::operator=(class CArena const & __ptr64) __ptr64
+??4CArena@@QEAAAEAV0@AEBV0@@Z
+; public: class CBaseAce & __ptr64 __cdecl CBaseAce::operator=(class CBaseAce const & __ptr64) __ptr64
+??4CBaseAce@@QEAAAEAV0@AEBV0@@Z
+; public: class CCheckedInCritSec & __ptr64 __cdecl CCheckedInCritSec::operator=(class CCheckedInCritSec const & __ptr64) __ptr64
+??4CCheckedInCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
+??4CCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CEnterWbemCriticalSection & __ptr64 __cdecl CEnterWbemCriticalSection::operator=(class CEnterWbemCriticalSection const & __ptr64) __ptr64
+??4CEnterWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
+; public: class CFlexQueue & __ptr64 __cdecl CFlexQueue::operator=(class CFlexQueue const & __ptr64) __ptr64
+??4CFlexQueue@@QEAAAEAV0@AEBV0@@Z
+; public: class CHaltable & __ptr64 __cdecl CHaltable::operator=(class CHaltable const & __ptr64) __ptr64
+??4CHaltable@@QEAAAEAV0@AEBV0@@Z
+; public: class CInCritSec & __ptr64 __cdecl CInCritSec::operator=(class CInCritSec const & __ptr64) __ptr64
+??4CInCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CNtSecurity & __ptr64 __cdecl CNtSecurity::operator=(class CNtSecurity const & __ptr64) __ptr64
+??4CNtSecurity@@QEAAAEAV0@AEBV0@@Z
+; public: class CPersistentConfig & __ptr64 __cdecl CPersistentConfig::operator=(class CPersistentConfig const & __ptr64) __ptr64
+??4CPersistentConfig@@QEAAAEAV0@AEBV0@@Z
+; public: class CSmallArrayBlob & __ptr64 __cdecl CSmallArrayBlob::operator=(class CSmallArrayBlob const & __ptr64) __ptr64
+??4CSmallArrayBlob@@QEAAAEAV0@AEBV0@@Z
+; public: class CStaticCritSec & __ptr64 __cdecl CStaticCritSec::operator=(class CStaticCritSec const & __ptr64) __ptr64
+??4CStaticCritSec@@QEAAAEAV0@AEBV0@@Z
+; public: class CWbemCriticalSection & __ptr64 __cdecl CWbemCriticalSection::operator=(class CWbemCriticalSection const & __ptr64) __ptr64
+??4CWbemCriticalSection@@QEAAAEAV0@AEBV0@@Z
+; public: class CWin32DefaultArena & __ptr64 __cdecl CWin32DefaultArena::operator=(class CWin32DefaultArena const & __ptr64) __ptr64
+??4CWin32DefaultArena@@QEAAAEAV0@AEBV0@@Z
+; public: class MD5 & __ptr64 __cdecl MD5::operator=(class MD5 const & __ptr64) __ptr64
+??4MD5@@QEAAAEAV0@AEBV0@@Z
+; public: class Registry & __ptr64 __cdecl Registry::operator=(class Registry const & __ptr64) __ptr64
+??4Registry@@QEAAAEAV0@AEBV0@@Z
+; public: void * __ptr64 & __ptr64 __cdecl CFlexArray::operator[](int) __ptr64
+??ACFlexArray@@QEAAAEAPEAXH@Z
+; public: void * __ptr64 __cdecl CFlexArray::operator[](int)const  __ptr64
+??ACFlexArray@@QEBAPEAXH@Z
+; public: void * __ptr64 __cdecl CSmallArrayBlob::operator[](int)const  __ptr64
+??ACSmallArrayBlob@@QEBAPEAXH@Z
+; public: unsigned short * __ptr64 __cdecl CWStringArray::operator[](int)const  __ptr64
+??ACWStringArray@@QEBAPEAGH@Z
+; const  C9XAce::`vftable'
+??_7C9XAce@@6B@
+; const  CArena::`vftable'
+??_7CArena@@6B@
+; const  CBaseAce::`vftable'
+??_7CBaseAce@@6B@
+; const  CHaltable::`vftable'
+??_7CHaltable@@6B@
+; const  CNtAce::`vftable'
+??_7CNtAce@@6B@
+; const  CWin32DefaultArena::`vftable'
+??_7CWin32DefaultArena@@6B@
+; public: void __cdecl CFlexArray::`default constructor closure'(void) __ptr64
+??_FCFlexArray@@QEAAXXZ
+; public: void __cdecl CFlexQueue::`default constructor closure'(void) __ptr64
+??_FCFlexQueue@@QEAAXXZ
+; public: void __cdecl CNtAcl::`default constructor closure'(void) __ptr64
+??_FCNtAcl@@QEAAXXZ
+; public: void __cdecl CWStringArray::`default constructor closure'(void) __ptr64
+??_FCWStringArray@@QEAAXXZ
+; public: int __cdecl CFlexArray::Add(void * __ptr64) __ptr64
+?Add@CFlexArray@@QEAAHPEAX@Z
+; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Alloc(unsigned __int64) __ptr64
+?Alloc@CWin32DefaultArena@@UEAAPEAX_K@Z
+; public: void __cdecl CWStringArray::Compress(void) __ptr64
+?Compress@CWStringArray@@QEAAXXZ
+; protected: void __cdecl CFlexQueue::DecrementIndex(int & __ptr64) __ptr64
+?DecrementIndex@CFlexQueue@@IEAAXAEAH@Z
+DredgeRA
+; public: void __cdecl CCheckedInCritSec::Enter(void) __ptr64
+?Enter@CCheckedInCritSec@@QEAAXXZ
+; public: void __cdecl CCritSec::Enter(void) __ptr64
+?Enter@CCritSec@@QEAAXXZ
+; public: virtual int __cdecl CWin32DefaultArena::Free(void * __ptr64) __ptr64
+?Free@CWin32DefaultArena@@UEAAHPEAX@Z
+; public: virtual unsigned long __cdecl C9XAce::GetAccessMask(void) __ptr64
+?GetAccessMask@C9XAce@@UEAAKXZ
+; public: void * __ptr64 * __ptr64 __cdecl CFlexArray::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CFlexArray@@QEAAPEAPEAXXZ
+; public: void * __ptr64 const * __ptr64 __cdecl CFlexArray::GetArrayPtr(void)const  __ptr64
+?GetArrayPtr@CFlexArray@@QEBAPEBQEAXXZ
+; public: void * __ptr64 * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CSmallArrayBlob@@QEAAPEAPEAXXZ
+; public: void * __ptr64 const * __ptr64 __cdecl CSmallArrayBlob::GetArrayPtr(void)const  __ptr64
+?GetArrayPtr@CSmallArrayBlob@@QEBAPEBQEAXXZ
+; public: unsigned short const * __ptr64 * __ptr64 __cdecl CWStringArray::GetArrayPtr(void) __ptr64
+?GetArrayPtr@CWStringArray@@QEAAPEAPEBGXZ
+; public: void * __ptr64 __cdecl CFlexArray::GetAt(int)const  __ptr64
+?GetAt@CFlexArray@@QEBAPEAXH@Z
+; public: void * __ptr64 __cdecl CSmallArrayBlob::GetAt(int)const  __ptr64
+?GetAt@CSmallArrayBlob@@QEBAPEAXH@Z
+; public: unsigned short * __ptr64 __cdecl CWStringArray::GetAt(int)const  __ptr64
+?GetAt@CWStringArray@@QEBAPEAGH@Z
+; public: virtual int __cdecl C9XAce::GetFlags(void) __ptr64
+?GetFlags@C9XAce@@UEAAHXZ
+; public: long __cdecl Registry::GetLastError(void) __ptr64
+?GetLastError@Registry@@QEAAJXZ
+; public: long __cdecl CWbemCriticalSection::GetLockCount(void) __ptr64
+?GetLockCount@CWbemCriticalSection@@QEAAJXZ
+; public: unsigned long __cdecl CWbemCriticalSection::GetOwningThreadId(void) __ptr64
+?GetOwningThreadId@CWbemCriticalSection@@QEAAKXZ
+; public: struct _ACCESS_ALLOWED_ACE * __ptr64 __cdecl CNtAce::GetPtr(void) __ptr64
+?GetPtr@CNtAce@@QEAAPEAU_ACCESS_ALLOWED_ACE@@XZ
+; public: struct _ACL * __ptr64 __cdecl CNtAcl::GetPtr(void) __ptr64
+?GetPtr@CNtAcl@@QEAAPEAU_ACL@@XZ
+; public: void * __ptr64 __cdecl CNtSecurityDescriptor::GetPtr(void) __ptr64
+?GetPtr@CNtSecurityDescriptor@@QEAAPEAXXZ
+; public: void * __ptr64 __cdecl CNtSid::GetPtr(void) __ptr64
+?GetPtr@CNtSid@@QEAAPEAXXZ
+; public: int __cdecl CFlexQueue::GetQueueSize(void)const  __ptr64
+?GetQueueSize@CFlexQueue@@QEBAHXZ
+; public: long __cdecl CWbemCriticalSection::GetRecursionCount(void) __ptr64
+?GetRecursionCount@CWbemCriticalSection@@QEAAJXZ
+; public: unsigned long __cdecl CNtAce::GetSize(void) __ptr64
+?GetSize@CNtAce@@QEAAKXZ
+; public: virtual unsigned long __cdecl C9XAce::GetStatus(void) __ptr64
+?GetStatus@C9XAce@@UEAAKXZ
+; public: virtual unsigned long __cdecl CNtAce::GetStatus(void) __ptr64
+?GetStatus@CNtAce@@UEAAKXZ
+; public: unsigned long __cdecl CNtAcl::GetStatus(void) __ptr64
+?GetStatus@CNtAcl@@QEAAKXZ
+; public: unsigned long __cdecl CNtSecurityDescriptor::GetStatus(void) __ptr64
+?GetStatus@CNtSecurityDescriptor@@QEAAKXZ
+; public: unsigned long __cdecl CNtSid::GetStatus(void) __ptr64
+?GetStatus@CNtSid@@QEAAKXZ
+; public: virtual int __cdecl C9XAce::GetType(void) __ptr64
+?GetType@C9XAce@@UEAAHXZ
+; protected: void __cdecl CFlexQueue::IncrementIndex(int & __ptr64) __ptr64
+?IncrementIndex@CFlexQueue@@IEAAXAEAH@Z
+; public: int __cdecl CCheckedInCritSec::IsEntered(void) __ptr64
+?IsEntered@CCheckedInCritSec@@QEAAHXZ
+; public: int __cdecl CEnterWbemCriticalSection::IsEntered(void) __ptr64
+?IsEntered@CEnterWbemCriticalSection@@QEAAHXZ
+IsShutDown
+; public: bool __cdecl CNtSid::IsUser(void) __ptr64
+?IsUser@CNtSid@@QEAA_NXZ
+; public: int __cdecl CNtAcl::IsValid(void) __ptr64
+?IsValid@CNtAcl@@QEAAHXZ
+; public: int __cdecl CNtSecurityDescriptor::IsValid(void) __ptr64
+?IsValid@CNtSecurityDescriptor@@QEAAHXZ
+; public: int __cdecl CNtSid::IsValid(void) __ptr64
+?IsValid@CNtSid@@QEAAHXZ
+; public: void __cdecl CCheckedInCritSec::Leave(void) __ptr64
+?Leave@CCheckedInCritSec@@QEAAXXZ
+; public: void __cdecl CCritSec::Leave(void) __ptr64
+?Leave@CCritSec@@QEAAXXZ
+MoveToAlone
+MoveToShared
+; public: virtual void * __ptr64 __cdecl CWin32DefaultArena::Realloc(void * __ptr64,unsigned __int64) __ptr64
+?Realloc@CWin32DefaultArena@@UEAAPEAXPEAX_K@Z
+ServiceMain
+; public: void __cdecl CFlexArray::SetAt(int,void * __ptr64) __ptr64
+?SetAt@CFlexArray@@QEAAXHPEAX@Z
+; public: virtual void __cdecl C9XAce::SetFlags(long) __ptr64
+?SetFlags@C9XAce@@UEAAXJ@Z
+; public: virtual void __cdecl CNtAce::SetFlags(long) __ptr64
+?SetFlags@CNtAce@@UEAAXJ@Z
+; public: void __cdecl CFlexArray::SetSize(int) __ptr64
+?SetSize@CFlexArray@@QEAAXH@Z
+; public: int __cdecl CFlexArray::Size(void)const  __ptr64
+?Size@CFlexArray@@QEBAHXZ
+; public: int __cdecl CSmallArrayBlob::Size(void)const  __ptr64
+?Size@CSmallArrayBlob@@QEBAHXZ
+; public: int __cdecl CWStringArray::Size(void)const  __ptr64
+?Size@CWStringArray@@QEBAHXZ
+; public: void * __ptr64 __cdecl CFlexQueue::Unqueue(void) __ptr64
+?Unqueue@CFlexQueue@@QEAAPEAXXZ
+; public: static void __cdecl CWin32DefaultArena::WbemSysFreeString(unsigned short * __ptr64)
+?WbemSysFreeString@CWin32DefaultArena@@SAXPEAG@Z
+; public: bool __cdecl CHaltable::isValid(void) __ptr64
+?isValid@CHaltable@@QEAA_NXZ
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmitimep.def b/mingw-w64-crt/lib64/wmitimep.def
index f15de81..a34fa64 100644
--- a/mingw-w64-crt/lib64/wmitimep.def
+++ b/mingw-w64-crt/lib64/wmitimep.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WIN32CLOCK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WIN32CLOCK.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WIN32CLOCK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WIN32CLOCK.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmiutils.def b/mingw-w64-crt/lib64/wmiutils.def
index 52685ac..c0fe0ab 100644
--- a/mingw-w64-crt/lib64/wmiutils.def
+++ b/mingw-w64-crt/lib64/wmiutils.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wmiutils.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wmiutils.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wmiutils.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wmiutils.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmlang.def b/mingw-w64-crt/lib64/wmlang.def
index 3581265..3a62e93 100644
--- a/mingw-w64-crt/lib64/wmlang.def
+++ b/mingw-w64-crt/lib64/wmlang.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file MLANG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MLANG.dll
-EXPORTS
-IsConvertINetStringAvailable
-ConvertINetString
-ConvertINetUnicodeToMultiByte
-ConvertINetMultiByteToUnicode
-ConvertINetReset
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetGlobalFontLinkObject
-LcidToRfc1766A
-LcidToRfc1766W
-Rfc1766ToLcidA
-Rfc1766ToLcidW
+; 
+; Exports of file MLANG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MLANG.dll
+EXPORTS
+IsConvertINetStringAvailable
+ConvertINetString
+ConvertINetUnicodeToMultiByte
+ConvertINetMultiByteToUnicode
+ConvertINetReset
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetGlobalFontLinkObject
+LcidToRfc1766A
+LcidToRfc1766W
+Rfc1766ToLcidA
+Rfc1766ToLcidW
diff --git a/mingw-w64-crt/lib64/wmll_hp.def b/mingw-w64-crt/lib64/wmll_hp.def
index 556dd48..383ab6a 100644
--- a/mingw-w64-crt/lib64/wmll_hp.def
+++ b/mingw-w64-crt/lib64/wmll_hp.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MLL_HP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MLL_HP.dll
-EXPORTS
-ClaimMediaLabel
-MaxMediaLabel
+; 
+; Exports of file MLL_HP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MLL_HP.dll
+EXPORTS
+ClaimMediaLabel
+MaxMediaLabel
diff --git a/mingw-w64-crt/lib64/wmll_mtf.def b/mingw-w64-crt/lib64/wmll_mtf.def
index 54eddc1..7716654 100644
--- a/mingw-w64-crt/lib64/wmll_mtf.def
+++ b/mingw-w64-crt/lib64/wmll_mtf.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MLL_MTF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MLL_MTF.dll
-EXPORTS
-ClaimMediaLabel
-MaxMediaLabel
+; 
+; Exports of file MLL_MTF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MLL_MTF.dll
+EXPORTS
+ClaimMediaLabel
+MaxMediaLabel
diff --git a/mingw-w64-crt/lib64/wmll_qic.def b/mingw-w64-crt/lib64/wmll_qic.def
index 425f870..7cd8aa9 100644
--- a/mingw-w64-crt/lib64/wmll_qic.def
+++ b/mingw-w64-crt/lib64/wmll_qic.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MLL_QIC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MLL_QIC.dll
-EXPORTS
-ClaimMediaLabel
-MaxMediaLabel
+; 
+; Exports of file MLL_QIC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MLL_QIC.dll
+EXPORTS
+ClaimMediaLabel
+MaxMediaLabel
diff --git a/mingw-w64-crt/lib64/wmmcbase.def b/mingw-w64-crt/lib64/wmmcbase.def
index d0db0f5..4beb7e9 100644
--- a/mingw-w64-crt/lib64/wmmcbase.def
+++ b/mingw-w64-crt/lib64/wmmcbase.def
@@ -1,160 +1,160 @@
-; 
-; Exports of file mmcbase.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mmcbase.DLL
-EXPORTS
-; public: __thiscall CEventLock<struct AppEvents>::CEventLock<struct AppEvents>(void)
-??0?$CEventLock@UAppEvents@@@@QAE@XZ
-; public: __thiscall CEventBuffer::CEventBuffer(class CEventBuffer const &)
-??0CEventBuffer@@QAE@ABV0@@Z
-; public: __thiscall CEventBuffer::CEventBuffer(void)
-??0CEventBuffer@@QAE@XZ
-; private: __thiscall CMMCStrongReferences::CMMCStrongReferences(void)
-??0CMMCStrongReferences@@AAE@XZ
-; public: __thiscall mmcerror::SC::SC(long)
-??0SC@mmcerror@@QAE@J@Z
-; public: __thiscall CEventLock<struct AppEvents>::~CEventLock<struct AppEvents>(void)
-??1?$CEventLock@UAppEvents@@@@QAE@XZ
-; public: __thiscall CEventBuffer::~CEventBuffer(void)
-??1CEventBuffer@@QAE@XZ
-; public: class CEventLock<struct AppEvents> & __thiscall CEventLock<struct AppEvents>::operator=(class CEventLock<struct AppEvents> const &)
-??4?$CEventLock@UAppEvents@@@@QAEAAV0@ABV0@@Z
-; public: class CEventBuffer & __thiscall CEventBuffer::operator=(class CEventBuffer const &)
-??4CEventBuffer@@QAEAAV0@ABV0@@Z
-; public: class CMMCStrongReferences & __thiscall CMMCStrongReferences::operator=(class CMMCStrongReferences const &)
-??4CMMCStrongReferences@@QAEAAV0@ABV0@@Z
-; public: class mmcerror::SC & __thiscall mmcerror::SC::operator=(class mmcerror::SC const &)
-??4SC@mmcerror@@QAEAAV01@ABV01@@Z
-; public: class mmcerror::SC & __thiscall mmcerror::SC::operator=(long)
-??4SC@mmcerror@@QAEAAV01@J@Z
-; public: int __thiscall mmcerror::SC::operator!(void)const 
-??7SC@mmcerror@@QBEHXZ
-; public: bool __thiscall mmcerror::SC::operator==(class mmcerror::SC const &)const 
-??8SC@mmcerror@@QBE_NABV01@@Z
-; public: bool __thiscall mmcerror::SC::operator==(long)const 
-??8SC@mmcerror@@QBE_NJ@Z
-; public: bool __thiscall mmcerror::SC::operator!=(class mmcerror::SC const &)const 
-??9SC@mmcerror@@QBE_NABV01@@Z
-; public: bool __thiscall mmcerror::SC::operator!=(long)const 
-??9SC@mmcerror@@QBE_NJ@Z
-; public: __thiscall mmcerror::SC::operator bool(void)const 
-??BSC@mmcerror@@QBE_NXZ
-; public: void __thiscall mmcerror::SC::`default constructor closure'(void)
-??_FSC@mmcerror@@QAEXXZ
-; public: static unsigned long __stdcall CMMCStrongReferences::AddRef(void)
-?AddRef@CMMCStrongReferences@@SGKXZ
-; public: void __thiscall mmcerror::SC::Clear(void)
-?Clear@SC@mmcerror@@QAEXXZ
-; public: void __thiscall mmcerror::SC::FatalError(void)const 
-?FatalError@SC@mmcerror@@QBEXXZ
-; void __stdcall FormatErrorIds(unsigned int,class mmcerror::SC,unsigned int,unsigned short *)
-?FormatErrorIds@@YGXIVSC@mmcerror@@IPAG@Z
-; void __stdcall FormatErrorShort(class mmcerror::SC,unsigned int,unsigned short *)
-?FormatErrorShort@@YGXVSC@mmcerror@@IPAG@Z
-; void __stdcall FormatErrorString(unsigned short const *,class mmcerror::SC,unsigned int,unsigned short *,int)
-?FormatErrorString@@YGXPBGVSC@mmcerror@@IPAGH@Z
-; public: class mmcerror::SC & __thiscall mmcerror::SC::FromLastError(void)
-?FromLastError@SC@mmcerror@@QAEAAV12@XZ
-; public: class mmcerror::SC & __thiscall mmcerror::SC::FromMMC(long)
-?FromMMC@SC@mmcerror@@QAEAAV12@J@Z
-; public: class mmcerror::SC & __thiscall mmcerror::SC::FromWin32(long)
-?FromWin32@SC@mmcerror@@QAEAAV12@J@Z
-; public: long __thiscall mmcerror::SC::GetCode(void)const 
-?GetCode@SC@mmcerror@@QBEJXZ
-; class CEventSource<class CComObjectObserver,class CVoid,class CVoid,class CVoid,class CVoid> & __stdcall GetComObjectEventSource(void)
-?GetComObjectEventSource@@YGAAV?$CEventSource@VCComObjectObserver@@VCVoid@@V2@V2@V2@@@XZ
-; public: void __thiscall mmcerror::SC::GetErrorMessage(unsigned int,unsigned short *)const 
-?GetErrorMessage@SC@mmcerror@@QBEXIPAG@Z
-; class CEventBuffer & __stdcall GetEventBuffer(void)
-?GetEventBuffer@@YGAAVCEventBuffer@@XZ
-; private: enum mmcerror::SC::facility_type  __thiscall mmcerror::SC::GetFacility(void)const 
-?GetFacility@SC@mmcerror@@ABE?AW4facility_type@12@XZ
-; public: static struct HWND__ * __stdcall mmcerror::SC::GetHWnd(void)
-?GetHWnd@SC@mmcerror@@SGPAUHWND__@@XZ
-; public: static unsigned short const * __stdcall mmcerror::SC::GetHelpFile(void)
-?GetHelpFile@SC@mmcerror@@SGPBGXZ
-; public: unsigned long __thiscall mmcerror::SC::GetHelpID(void)
-?GetHelpID@SC@mmcerror@@QAEKXZ
-; public: static struct HINSTANCE__ * __stdcall mmcerror::SC::GetHinst(void)
-?GetHinst@SC@mmcerror@@SGPAUHINSTANCE__@@XZ
-; public: static unsigned long __stdcall mmcerror::SC::GetMainThreadID(void)
-?GetMainThreadID@SC@mmcerror@@SGKXZ
-; private: static class CMMCStrongReferences & __stdcall CMMCStrongReferences::GetSingletonObject(void)
-?GetSingletonObject@CMMCStrongReferences@@CGAAV1@XZ
-; struct HINSTANCE__ * __stdcall GetStringModule(void)
-?GetStringModule@@YGPAUHINSTANCE__@@XZ
-; long __stdcall HrFromSc(class mmcerror::SC const &)
-?HrFromSc@@YGJABVSC@mmcerror@@@Z
-; private: unsigned long __thiscall CMMCStrongReferences::InternalAddRef(void)
-?InternalAddRef@CMMCStrongReferences@@AAEKXZ
-; private: bool __thiscall CMMCStrongReferences::InternalLastRefReleased(void)
-?InternalLastRefReleased@CMMCStrongReferences@@AAE_NXZ
-; private: unsigned long __thiscall CMMCStrongReferences::InternalRelease(void)
-?InternalRelease@CMMCStrongReferences@@AAEKXZ
-; public: bool __thiscall mmcerror::SC::IsError(void)const 
-?IsError@SC@mmcerror@@QBE_NXZ
-; public: bool __thiscall CEventBuffer::IsLocked(void)
-?IsLocked@CEventBuffer@@QAE_NXZ
-; public: static bool __stdcall CMMCStrongReferences::LastRefReleased(void)
-?LastRefReleased@CMMCStrongReferences@@SG_NXZ
-; public: void __thiscall CEventBuffer::Lock(void)
-?Lock@CEventBuffer@@QAEXXZ
-; int __stdcall MMCErrorBox(unsigned int,unsigned int)
-?MMCErrorBox@@YGHII@Z
-; int __stdcall MMCErrorBox(unsigned int,class mmcerror::SC,unsigned int)
-?MMCErrorBox@@YGHIVSC@mmcerror@@I@Z
-; int __stdcall MMCErrorBox(unsigned short const *,unsigned int)
-?MMCErrorBox@@YGHPBGI@Z
-; int __stdcall MMCErrorBox(unsigned short const *,class mmcerror::SC,unsigned int)
-?MMCErrorBox@@YGHPBGVSC@mmcerror@@I@Z
-; int __stdcall MMCErrorBox(class mmcerror::SC,unsigned int)
-?MMCErrorBox@@YGHVSC@mmcerror@@I@Z
-; long __stdcall MMCUpdateRegistry(int,class CObjectRegParams const *,class CControlRegParams const *)
-?MMCUpdateRegistry@@YGJHPBVCObjectRegParams@@PBVCControlRegParams@@@Z
-; int __stdcall MMC_PickIconDlg(struct HWND__ *,unsigned short *,unsigned int,int *)
-?MMC_PickIconDlg@@YGHPAUHWND__@@PAGIPAH@Z
-; private: void __thiscall mmcerror::SC::MakeSc(enum mmcerror::SC::facility_type,long)
-?MakeSc@SC@mmcerror@@AAEXW4facility_type@12@J@Z
-; public: static unsigned long __stdcall CMMCStrongReferences::Release(void)
-?Release@CMMCStrongReferences@@SGKXZ
-; long __stdcall SCODEFromSc(class mmcerror::SC const &)
-?SCODEFromSc@@YGJABVSC@mmcerror@@@Z
-; public: class mmcerror::SC  __thiscall CEventBuffer::ScEmitOrPostpone(struct IDispatch *,long,class ATL::CComVariant *,int)
-?ScEmitOrPostpone@CEventBuffer@@QAE?AVSC@mmcerror@@PAUIDispatch@@JPAVCComVariant@ATL@@H@Z
-; private: class mmcerror::SC  __thiscall CEventBuffer::ScFlushPostponed(void)
-?ScFlushPostponed@CEventBuffer@@AAE?AVSC@mmcerror@@XZ
-; class mmcerror::SC  __stdcall ScFromMMC(long)
-?ScFromMMC@@YG?AVSC@mmcerror@@J@Z
-; public: static class mmcerror::SC  __stdcall CConsoleEventDispatcherProvider::ScGetConsoleEventDispatcher(class CConsoleEventDispatcher * &)
-?ScGetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SG?AVSC@mmcerror@@AAPAVCConsoleEventDispatcher@@@Z
-; public: static class mmcerror::SC  __stdcall CConsoleEventDispatcherProvider::ScSetConsoleEventDispatcher(class CConsoleEventDispatcher *)
-?ScSetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SG?AVSC@mmcerror@@PAVCConsoleEventDispatcher@@@Z
-; public: static void __stdcall mmcerror::SC::SetHWnd(struct HWND__ *)
-?SetHWnd@SC@mmcerror@@SGXPAUHWND__@@@Z
-; public: static void __stdcall mmcerror::SC::SetHinst(struct HINSTANCE__ *)
-?SetHinst@SC@mmcerror@@SGXPAUHINSTANCE__@@@Z
-; public: static void __stdcall mmcerror::SC::SetMainThreadID(unsigned long)
-?SetMainThreadID@SC@mmcerror@@SGXK@Z
-; public: void __thiscall mmcerror::SC::Throw(long)
-?Throw@SC@mmcerror@@QAEXJ@Z
-; public: void __thiscall mmcerror::SC::Throw(void)
-?Throw@SC@mmcerror@@QAEXXZ
-; public: long __thiscall mmcerror::SC::ToHr(void)const 
-?ToHr@SC@mmcerror@@QBEJXZ
-; public: void __thiscall mmcerror::SC::TraceAndClear(void)
-?TraceAndClear@SC@mmcerror@@QAEXXZ
-; public: void __thiscall mmcerror::SC::Trace_(void)const 
-?Trace_@SC@mmcerror@@QBEXXZ
-; public: void __thiscall CEventBuffer::Unlock(void)
-?Unlock@CEventBuffer@@QAEXXZ
-; private: static unsigned long  mmcerror::SC::s_dwMainThreadID
-?s_dwMainThreadID@SC@mmcerror@@0KA DATA
-; private: static struct HINSTANCE__ *  mmcerror::SC::s_hInst
-?s_hInst@SC@mmcerror@@0PAUHINSTANCE__@@A DATA
-; private: static struct HWND__ *  mmcerror::SC::s_hWnd
-?s_hWnd@SC@mmcerror@@0PAUHWND__@@A DATA
-; private: static class CConsoleEventDispatcher *  CConsoleEventDispatcherProvider::s_pDispatcher
-?s_pDispatcher@CConsoleEventDispatcherProvider@@0PAVCConsoleEventDispatcher@@A DATA
+; 
+; Exports of file mmcbase.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mmcbase.DLL
+EXPORTS
+; public: __thiscall CEventLock<struct AppEvents>::CEventLock<struct AppEvents>(void)
+??0?$CEventLock@UAppEvents@@@@QAE@XZ
+; public: __thiscall CEventBuffer::CEventBuffer(class CEventBuffer const &)
+??0CEventBuffer@@QAE@ABV0@@Z
+; public: __thiscall CEventBuffer::CEventBuffer(void)
+??0CEventBuffer@@QAE@XZ
+; private: __thiscall CMMCStrongReferences::CMMCStrongReferences(void)
+??0CMMCStrongReferences@@AAE@XZ
+; public: __thiscall mmcerror::SC::SC(long)
+??0SC@mmcerror@@QAE@J@Z
+; public: __thiscall CEventLock<struct AppEvents>::~CEventLock<struct AppEvents>(void)
+??1?$CEventLock@UAppEvents@@@@QAE@XZ
+; public: __thiscall CEventBuffer::~CEventBuffer(void)
+??1CEventBuffer@@QAE@XZ
+; public: class CEventLock<struct AppEvents> & __thiscall CEventLock<struct AppEvents>::operator=(class CEventLock<struct AppEvents> const &)
+??4?$CEventLock@UAppEvents@@@@QAEAAV0@ABV0@@Z
+; public: class CEventBuffer & __thiscall CEventBuffer::operator=(class CEventBuffer const &)
+??4CEventBuffer@@QAEAAV0@ABV0@@Z
+; public: class CMMCStrongReferences & __thiscall CMMCStrongReferences::operator=(class CMMCStrongReferences const &)
+??4CMMCStrongReferences@@QAEAAV0@ABV0@@Z
+; public: class mmcerror::SC & __thiscall mmcerror::SC::operator=(class mmcerror::SC const &)
+??4SC@mmcerror@@QAEAAV01@ABV01@@Z
+; public: class mmcerror::SC & __thiscall mmcerror::SC::operator=(long)
+??4SC@mmcerror@@QAEAAV01@J@Z
+; public: int __thiscall mmcerror::SC::operator!(void)const 
+??7SC@mmcerror@@QBEHXZ
+; public: bool __thiscall mmcerror::SC::operator==(class mmcerror::SC const &)const 
+??8SC@mmcerror@@QBE_NABV01@@Z
+; public: bool __thiscall mmcerror::SC::operator==(long)const 
+??8SC@mmcerror@@QBE_NJ@Z
+; public: bool __thiscall mmcerror::SC::operator!=(class mmcerror::SC const &)const 
+??9SC@mmcerror@@QBE_NABV01@@Z
+; public: bool __thiscall mmcerror::SC::operator!=(long)const 
+??9SC@mmcerror@@QBE_NJ@Z
+; public: __thiscall mmcerror::SC::operator bool(void)const 
+??BSC@mmcerror@@QBE_NXZ
+; public: void __thiscall mmcerror::SC::`default constructor closure'(void)
+??_FSC@mmcerror@@QAEXXZ
+; public: static unsigned long __stdcall CMMCStrongReferences::AddRef(void)
+?AddRef@CMMCStrongReferences@@SGKXZ
+; public: void __thiscall mmcerror::SC::Clear(void)
+?Clear@SC@mmcerror@@QAEXXZ
+; public: void __thiscall mmcerror::SC::FatalError(void)const 
+?FatalError@SC@mmcerror@@QBEXXZ
+; void __stdcall FormatErrorIds(unsigned int,class mmcerror::SC,unsigned int,unsigned short *)
+?FormatErrorIds@@YGXIVSC@mmcerror@@IPAG@Z
+; void __stdcall FormatErrorShort(class mmcerror::SC,unsigned int,unsigned short *)
+?FormatErrorShort@@YGXVSC@mmcerror@@IPAG@Z
+; void __stdcall FormatErrorString(unsigned short const *,class mmcerror::SC,unsigned int,unsigned short *,int)
+?FormatErrorString@@YGXPBGVSC@mmcerror@@IPAGH@Z
+; public: class mmcerror::SC & __thiscall mmcerror::SC::FromLastError(void)
+?FromLastError@SC@mmcerror@@QAEAAV12@XZ
+; public: class mmcerror::SC & __thiscall mmcerror::SC::FromMMC(long)
+?FromMMC@SC@mmcerror@@QAEAAV12@J@Z
+; public: class mmcerror::SC & __thiscall mmcerror::SC::FromWin32(long)
+?FromWin32@SC@mmcerror@@QAEAAV12@J@Z
+; public: long __thiscall mmcerror::SC::GetCode(void)const 
+?GetCode@SC@mmcerror@@QBEJXZ
+; class CEventSource<class CComObjectObserver,class CVoid,class CVoid,class CVoid,class CVoid> & __stdcall GetComObjectEventSource(void)
+?GetComObjectEventSource@@YGAAV?$CEventSource@VCComObjectObserver@@VCVoid@@V2@V2@V2@@@XZ
+; public: void __thiscall mmcerror::SC::GetErrorMessage(unsigned int,unsigned short *)const 
+?GetErrorMessage@SC@mmcerror@@QBEXIPAG@Z
+; class CEventBuffer & __stdcall GetEventBuffer(void)
+?GetEventBuffer@@YGAAVCEventBuffer@@XZ
+; private: enum mmcerror::SC::facility_type  __thiscall mmcerror::SC::GetFacility(void)const 
+?GetFacility@SC@mmcerror@@ABE?AW4facility_type@12@XZ
+; public: static struct HWND__ * __stdcall mmcerror::SC::GetHWnd(void)
+?GetHWnd@SC@mmcerror@@SGPAUHWND__@@XZ
+; public: static unsigned short const * __stdcall mmcerror::SC::GetHelpFile(void)
+?GetHelpFile@SC@mmcerror@@SGPBGXZ
+; public: unsigned long __thiscall mmcerror::SC::GetHelpID(void)
+?GetHelpID@SC@mmcerror@@QAEKXZ
+; public: static struct HINSTANCE__ * __stdcall mmcerror::SC::GetHinst(void)
+?GetHinst@SC@mmcerror@@SGPAUHINSTANCE__@@XZ
+; public: static unsigned long __stdcall mmcerror::SC::GetMainThreadID(void)
+?GetMainThreadID@SC@mmcerror@@SGKXZ
+; private: static class CMMCStrongReferences & __stdcall CMMCStrongReferences::GetSingletonObject(void)
+?GetSingletonObject@CMMCStrongReferences@@CGAAV1@XZ
+; struct HINSTANCE__ * __stdcall GetStringModule(void)
+?GetStringModule@@YGPAUHINSTANCE__@@XZ
+; long __stdcall HrFromSc(class mmcerror::SC const &)
+?HrFromSc@@YGJABVSC@mmcerror@@@Z
+; private: unsigned long __thiscall CMMCStrongReferences::InternalAddRef(void)
+?InternalAddRef@CMMCStrongReferences@@AAEKXZ
+; private: bool __thiscall CMMCStrongReferences::InternalLastRefReleased(void)
+?InternalLastRefReleased@CMMCStrongReferences@@AAE_NXZ
+; private: unsigned long __thiscall CMMCStrongReferences::InternalRelease(void)
+?InternalRelease@CMMCStrongReferences@@AAEKXZ
+; public: bool __thiscall mmcerror::SC::IsError(void)const 
+?IsError@SC@mmcerror@@QBE_NXZ
+; public: bool __thiscall CEventBuffer::IsLocked(void)
+?IsLocked@CEventBuffer@@QAE_NXZ
+; public: static bool __stdcall CMMCStrongReferences::LastRefReleased(void)
+?LastRefReleased@CMMCStrongReferences@@SG_NXZ
+; public: void __thiscall CEventBuffer::Lock(void)
+?Lock@CEventBuffer@@QAEXXZ
+; int __stdcall MMCErrorBox(unsigned int,unsigned int)
+?MMCErrorBox@@YGHII@Z
+; int __stdcall MMCErrorBox(unsigned int,class mmcerror::SC,unsigned int)
+?MMCErrorBox@@YGHIVSC@mmcerror@@I@Z
+; int __stdcall MMCErrorBox(unsigned short const *,unsigned int)
+?MMCErrorBox@@YGHPBGI@Z
+; int __stdcall MMCErrorBox(unsigned short const *,class mmcerror::SC,unsigned int)
+?MMCErrorBox@@YGHPBGVSC@mmcerror@@I@Z
+; int __stdcall MMCErrorBox(class mmcerror::SC,unsigned int)
+?MMCErrorBox@@YGHVSC@mmcerror@@I@Z
+; long __stdcall MMCUpdateRegistry(int,class CObjectRegParams const *,class CControlRegParams const *)
+?MMCUpdateRegistry@@YGJHPBVCObjectRegParams@@PBVCControlRegParams@@@Z
+; int __stdcall MMC_PickIconDlg(struct HWND__ *,unsigned short *,unsigned int,int *)
+?MMC_PickIconDlg@@YGHPAUHWND__@@PAGIPAH@Z
+; private: void __thiscall mmcerror::SC::MakeSc(enum mmcerror::SC::facility_type,long)
+?MakeSc@SC@mmcerror@@AAEXW4facility_type@12@J@Z
+; public: static unsigned long __stdcall CMMCStrongReferences::Release(void)
+?Release@CMMCStrongReferences@@SGKXZ
+; long __stdcall SCODEFromSc(class mmcerror::SC const &)
+?SCODEFromSc@@YGJABVSC@mmcerror@@@Z
+; public: class mmcerror::SC  __thiscall CEventBuffer::ScEmitOrPostpone(struct IDispatch *,long,class ATL::CComVariant *,int)
+?ScEmitOrPostpone@CEventBuffer@@QAE?AVSC@mmcerror@@PAUIDispatch@@JPAVCComVariant@ATL@@H@Z
+; private: class mmcerror::SC  __thiscall CEventBuffer::ScFlushPostponed(void)
+?ScFlushPostponed@CEventBuffer@@AAE?AVSC@mmcerror@@XZ
+; class mmcerror::SC  __stdcall ScFromMMC(long)
+?ScFromMMC@@YG?AVSC@mmcerror@@J@Z
+; public: static class mmcerror::SC  __stdcall CConsoleEventDispatcherProvider::ScGetConsoleEventDispatcher(class CConsoleEventDispatcher * &)
+?ScGetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SG?AVSC@mmcerror@@AAPAVCConsoleEventDispatcher@@@Z
+; public: static class mmcerror::SC  __stdcall CConsoleEventDispatcherProvider::ScSetConsoleEventDispatcher(class CConsoleEventDispatcher *)
+?ScSetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SG?AVSC@mmcerror@@PAVCConsoleEventDispatcher@@@Z
+; public: static void __stdcall mmcerror::SC::SetHWnd(struct HWND__ *)
+?SetHWnd@SC@mmcerror@@SGXPAUHWND__@@@Z
+; public: static void __stdcall mmcerror::SC::SetHinst(struct HINSTANCE__ *)
+?SetHinst@SC@mmcerror@@SGXPAUHINSTANCE__@@@Z
+; public: static void __stdcall mmcerror::SC::SetMainThreadID(unsigned long)
+?SetMainThreadID@SC@mmcerror@@SGXK@Z
+; public: void __thiscall mmcerror::SC::Throw(long)
+?Throw@SC@mmcerror@@QAEXJ@Z
+; public: void __thiscall mmcerror::SC::Throw(void)
+?Throw@SC@mmcerror@@QAEXXZ
+; public: long __thiscall mmcerror::SC::ToHr(void)const 
+?ToHr@SC@mmcerror@@QBEJXZ
+; public: void __thiscall mmcerror::SC::TraceAndClear(void)
+?TraceAndClear@SC@mmcerror@@QAEXXZ
+; public: void __thiscall mmcerror::SC::Trace_(void)const 
+?Trace_@SC@mmcerror@@QBEXXZ
+; public: void __thiscall CEventBuffer::Unlock(void)
+?Unlock@CEventBuffer@@QAEXXZ
+; private: static unsigned long  mmcerror::SC::s_dwMainThreadID
+?s_dwMainThreadID@SC@mmcerror@@0KA DATA
+; private: static struct HINSTANCE__ *  mmcerror::SC::s_hInst
+?s_hInst@SC@mmcerror@@0PAUHINSTANCE__@@A DATA
+; private: static struct HWND__ *  mmcerror::SC::s_hWnd
+?s_hWnd@SC@mmcerror@@0PAUHWND__@@A DATA
+; private: static class CConsoleEventDispatcher *  CConsoleEventDispatcherProvider::s_pDispatcher
+?s_pDispatcher@CConsoleEventDispatcherProvider@@0PAVCConsoleEventDispatcher@@A DATA
diff --git a/mingw-w64-crt/lib64/wmmcndmgr.def b/mingw-w64-crt/lib64/wmmcndmgr.def
index 73b8753..76434be 100644
--- a/mingw-w64-crt/lib64/wmmcndmgr.def
+++ b/mingw-w64-crt/lib64/wmmcndmgr.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MMCNDMGR.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MMCNDMGR.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MMCNDMGR.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MMCNDMGR.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmmcshext.def b/mingw-w64-crt/lib64/wmmcshext.def
index bccdfe5..839e154 100644
--- a/mingw-w64-crt/lib64/wmmcshext.def
+++ b/mingw-w64-crt/lib64/wmmcshext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mmcshext.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mmcshext.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mmcshext.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mmcshext.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmmfutil.def b/mingw-w64-crt/lib64/wmmfutil.def
index 5d6e24e..51a14bc 100644
--- a/mingw-w64-crt/lib64/wmmfutil.def
+++ b/mingw-w64-crt/lib64/wmmfutil.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file MMFUtil.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MMFUtil.DLL
-EXPORTS
-; int __stdcall DisplayAVIBox(struct HWND__ *,unsigned short const *,unsigned short const *,struct HWND__ * *)
-?DisplayAVIBox@@YGHPAUHWND__@@PBG1PAPAU1@@Z
-; int __stdcall DisplayUserMessage(struct HWND__ *,struct HINSTANCE__ *,unsigned int,unsigned int,enum ERROR_SRC,long,unsigned int)
-?DisplayUserMessage@@YGHPAUHWND__@@PAUHINSTANCE__@@IIW4ERROR_SRC@@JI@Z
-; int __stdcall DisplayUserMessage(struct HWND__ *,unsigned short const *,unsigned short const *,enum ERROR_SRC,long,unsigned int)
-?DisplayUserMessage@@YGHPAUHWND__@@PBG1W4ERROR_SRC@@JI@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-_ErrorStringEx@16
+; 
+; Exports of file MMFUtil.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MMFUtil.DLL
+EXPORTS
+; int __stdcall DisplayAVIBox(struct HWND__ *,unsigned short const *,unsigned short const *,struct HWND__ * *)
+?DisplayAVIBox@@YGHPAUHWND__@@PBG1PAPAU1@@Z
+; int __stdcall DisplayUserMessage(struct HWND__ *,struct HINSTANCE__ *,unsigned int,unsigned int,enum ERROR_SRC,long,unsigned int)
+?DisplayUserMessage@@YGHPAUHWND__@@PAUHINSTANCE__@@IIW4ERROR_SRC@@JI@Z
+; int __stdcall DisplayUserMessage(struct HWND__ *,unsigned short const *,unsigned short const *,enum ERROR_SRC,long,unsigned int)
+?DisplayUserMessage@@YGHPAUHWND__@@PBG1W4ERROR_SRC@@JI@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+_ErrorStringEx@16
diff --git a/mingw-w64-crt/lib64/wmmutilse.def b/mingw-w64-crt/lib64/wmmutilse.def
index 337a6c4..bb3c785 100644
--- a/mingw-w64-crt/lib64/wmmutilse.def
+++ b/mingw-w64-crt/lib64/wmmutilse.def
@@ -1,300 +1,300 @@
-; 
-; Exports of file mmutilse.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mmutilse.dll
-EXPORTS
-; public: __thiscall IHammer::CDirectDrawSurface::CDirectDrawSurface(struct HPALETTE__ *,unsigned long,struct tagSIZE const *,long *)
-??0CDirectDrawSurface@IHammer@@QAE@PAUHPALETTE__@@KPBUtagSIZE@@PAJ@Z
-; public: __thiscall CHalftone::CHalftone(struct HPALETTE__ *)
-??0CHalftone@@QAE@PAUHPALETTE__@@@Z
-; public: __thiscall CHalftonePalette::CHalftonePalette(struct HPALETTE__ *)
-??0CHalftonePalette@@QAE@PAUHPALETTE__@@@Z
-; public: __thiscall CHalftonePalette::CHalftonePalette(void)
-??0CHalftonePalette@@QAE@XZ
-; public: __thiscall CMemManager::CMemManager(void)
-??0CMemManager@@QAE@XZ
-; public: __thiscall CMemUser::CMemUser(void)
-??0CMemUser@@QAE@XZ
-; public: __thiscall CTStr::CTStr(class CTStr &)
-??0CTStr@@QAE@AAV0@@Z
-; public: __thiscall CTStr::CTStr(int)
-??0CTStr@@QAE@H@Z
-; public: __thiscall CTStr::CTStr(char *)
-??0CTStr@@QAE@PAD@Z
-; public: __thiscall CTStr::CTStr(unsigned short *)
-??0CTStr@@QAE@PAG@Z
-; public: __thiscall CURLArchive::CURLArchive(struct IUnknown *)
-??0CURLArchive@@QAE@PAUIUnknown@@@Z
-; public: __thiscall OTrig::OTrig(void)
-??0OTrig@@QAE@XZ
-; public: virtual __thiscall CMemManager::~CMemManager(void)
-??1CMemManager@@UAE@XZ
-; public: virtual __thiscall CMemUser::~CMemUser(void)
-??1CMemUser@@UAE@XZ
-; public: __thiscall CTStr::~CTStr(void)
-??1CTStr@@QAE@XZ
-; public: virtual __thiscall CURLArchive::~CURLArchive(void)
-??1CURLArchive@@UAE@XZ
-; public: void __thiscall CTStr::`default constructor closure'(void)
-??_FCTStr@@QAEXXZ
-; public: void __thiscall CURLArchive::`default constructor closure'(void)
-??_FCURLArchive@@QAEXXZ
-; public: void * __thiscall CMemManager::AllocBuffer(unsigned long,unsigned short)
-?AllocBuffer@CMemManager@@QAEPAXKG@Z
-; public: struct MEMBLOCK_tag * __thiscall CMemUser::AllocBuffer(unsigned long,unsigned short)
-?AllocBuffer@CMemUser@@QAEPAUMEMBLOCK_tag@@KG@Z
-; public: int __thiscall CTStr::AllocBuffer(int,int)
-?AllocBuffer@CTStr@@QAEHHH@Z
-; public: static void * __cdecl CMemManager::AllocBufferGlb(unsigned long,unsigned short)
-?AllocBufferGlb@CMemManager@@SAPAXKG@Z
-; public: static int __cdecl CStringWrapper::Atoi(char const *)
-?Atoi@CStringWrapper@@SAHPBD@Z
-; public: static long __cdecl CStringWrapper::Atol(char const *)
-?Atol@CStringWrapper@@SAJPBD@Z
-; long __cdecl BitCountFromDDPIXELFORMAT(struct _DDPIXELFORMAT const &)
-?BitCountFromDDPIXELFORMAT@@YAJABU_DDPIXELFORMAT@@@Z
-; public: virtual long __thiscall CURLArchive::Close(void)
-?Close@CURLArchive@@UAEJXZ
-; public: virtual int __stdcall CNonCollapsingDrg::CopyFrom(class CDrg *)
-?CopyFrom@CNonCollapsingDrg@@UAGHPAVCDrg@@@Z
-; public: virtual long __thiscall CURLArchive::CopyLocal(char *,int)
-?CopyLocal@CURLArchive@@UAEJPADH@Z
-; public: virtual long __thiscall CURLArchive::CopyLocal(unsigned short *,int)
-?CopyLocal@CURLArchive@@UAEJPAGH@Z
-; public: float __fastcall OTrig::Cos(long)
-?Cos@OTrig@@QAIMJ@Z
-; public: float __fastcall OTrig::Cos(float)
-?Cos@OTrig@@QAIMM@Z
-; public: static float __fastcall CMathWrapper::CosDeg(long)
-?CosDeg@CMathWrapper@@SIMJ@Z
-; public: static float __fastcall CMathWrapper::CosDeg(float)
-?CosDeg@CMathWrapper@@SIMM@Z
-; public: static float __fastcall CMathWrapper::CosDegWrap(long)
-?CosDegWrap@CMathWrapper@@SIMJ@Z
-; public: static float __fastcall CMathWrapper::CosDegWrap(float)
-?CosDegWrap@CMathWrapper@@SIMM@Z
-; public: static double __fastcall CMathWrapper::CosRad(double)
-?CosRad@CMathWrapper@@SINN@Z
-; public: float __fastcall OTrig::CosWrap(long)
-?CosWrap@OTrig@@QAIMJ@Z
-; public: float __fastcall OTrig::CosWrap(float)
-?CosWrap@OTrig@@QAIMM@Z
-; public: virtual long __thiscall CURLArchive::Create(char const *)
-?Create@CURLArchive@@UAEJPBD@Z
-; public: virtual long __thiscall CURLArchive::Create(unsigned short const *)
-?Create@CURLArchive@@UAEJPBG@Z
-; int __stdcall CreateIDispatchCollection(struct IUnknown * *)
-?CreateIDispatchCollection@@YGHPAPAUIUnknown@@@Z
-; public: void __thiscall CMemManager::DumpAllocations(char *)
-?DumpAllocations@CMemManager@@QAEXPAD@Z
-; public: static void __cdecl CMemManager::DumpAllocationsGlb(char *)
-?DumpAllocationsGlb@CMemManager@@SAXPAD@Z
-; private: void __thiscall CMemManager::DumpHeapHeader(struct HEAPHEADER_tag *,struct _iobuf *)
-?DumpHeapHeader@CMemManager@@AAEXPAUHEAPHEADER_tag@@PAU_iobuf@@@Z
-; private: void __thiscall CMemManager::DumpMemBlock(struct MEMBLOCK_tag *,struct _iobuf *)
-?DumpMemBlock@CMemManager@@AAEXPAUMEMBLOCK_tag@@PAU_iobuf@@@Z
-; private: void __thiscall CMemManager::DumpMemUserInfo(struct MEMUSERINFO_tag *,struct _iobuf *)
-?DumpMemUserInfo@CMemManager@@AAEXPAUMEMUSERINFO_tag@@PAU_iobuf@@@Z
-; void __stdcall ExternalDumpAllocations(char *)
-?ExternalDumpAllocations@@YGXPAD@Z
-; public: void __thiscall CMemManager::FreeBuffer(void *)
-?FreeBuffer@CMemManager@@QAEXPAX@Z
-; public: void __thiscall CMemUser::FreeBuffer(struct MEMBLOCK_tag *)
-?FreeBuffer@CMemUser@@QAEXPAUMEMBLOCK_tag@@@Z
-; public: void __thiscall CTStr::FreeBuffer(void)
-?FreeBuffer@CTStr@@QAEXXZ
-; public: static void __cdecl CMemManager::FreeBufferGlb(void *)
-?FreeBufferGlb@CMemManager@@SAXPAX@Z
-; public: void __thiscall CMemManager::FreeBufferMemBlock(struct MEMBLOCK_tag *)
-?FreeBufferMemBlock@CMemManager@@QAEXPAUMEMBLOCK_tag@@@Z
-; public: static char * __cdecl CStringWrapper::Gcvt(double,int,char *)
-?Gcvt@CStringWrapper@@SAPADNHPAD@Z
-; public: virtual void * __stdcall CNonCollapsingDrg::GetAt(long)
-?GetAt@CNonCollapsingDrg@@UAGPAXJ@Z
-; public: virtual long __thiscall CURLArchive::GetFileSize(long &)
-?GetFileSize@CURLArchive@@UAEJAAJ@Z
-; public: virtual void * __stdcall CNonCollapsingDrg::GetFirst(void)
-?GetFirst@CNonCollapsingDrg@@UAGPAXXZ
-; public: virtual void * __stdcall CNonCollapsingDrg::GetNext(void)
-?GetNext@CNonCollapsingDrg@@UAGPAXXZ
-; unsigned long __cdecl GetSigBitsFrom16BPP(struct HDC__ *)
-?GetSigBitsFrom16BPP@@YAKPAUHDC__@@@Z
-; public: virtual struct IStream * __thiscall CURLArchive::GetStreamInterface(void)const 
-?GetStreamInterface@CURLArchive@@UBEPAUIStream@@XZ
-; public: virtual int __stdcall CDrg::Insert(void *,long)
-?Insert@CDrg@@UAGHPAXJ@Z
-; int __cdecl IsMMXCpu(void)
-?IsMMXCpu@@YAHXZ
-; public: static int __cdecl CStringWrapper::Iswspace(unsigned short)
-?Iswspace@CStringWrapper@@SAHG@Z
-; public: static char * __cdecl CStringWrapper::Itoa(int,char *,int)
-?Itoa@CStringWrapper@@SAPADHPADH@Z
-; public: int __thiscall CTStr::Len(void)
-?Len@CTStr@@QAEHXZ
-; public: static int __cdecl CStringWrapper::LoadStringW(struct HINSTANCE__ *,unsigned int,unsigned short *,int)
-?LoadStringW@CStringWrapper@@SAHPAUHINSTANCE__@@IPAGH@Z
-; public: void * __thiscall CMemUser::LockBuffer(struct MEMBLOCK_tag *)
-?LockBuffer@CMemUser@@QAEPAXPAUMEMBLOCK_tag@@@Z
-; public: static char * __cdecl CStringWrapper::Ltoa(long,char *,int)
-?Ltoa@CStringWrapper@@SAPADJPADH@Z
-; public: static unsigned int __cdecl CStringWrapper::Mbstowcs(unsigned short *,char const *,unsigned int)
-?Mbstowcs@CStringWrapper@@SAIPAGPBDI@Z
-; public: static int __cdecl CStringWrapper::Memcmp(void const *,void const *,unsigned int)
-?Memcmp@CStringWrapper@@SAHPBX0I@Z
-; public: static void * __cdecl CStringWrapper::Memcpy(void *,void const *,unsigned int)
-?Memcpy@CStringWrapper@@SAPAXPAXPBXI@Z
-; public: static void * __cdecl CStringWrapper::Memset(void *,int,unsigned int)
-?Memset@CStringWrapper@@SAPAXPAXHI@Z
-; public: virtual int __thiscall CMemUser::NotifyMemUser(struct MEMNOTIFY_tag *)
-?NotifyMemUser@CMemUser@@UAEHPAUMEMNOTIFY_tag@@@Z
-; unsigned long __cdecl OverheadOfSavePtrDrg(void)
-?OverheadOfSavePtrDrg@@YAKXZ
-; public: static float __cdecl CMathWrapper::Pow(double,double)
-?Pow@CMathWrapper@@SAMNN@Z
-; public: void * __thiscall CMemManager::ReAllocBuffer(void *,unsigned long,unsigned short)
-?ReAllocBuffer@CMemManager@@QAEPAXPAXKG@Z
-; public: static void * __cdecl CMemManager::ReAllocBufferGlb(void *,unsigned long,unsigned short)
-?ReAllocBufferGlb@CMemManager@@SAPAXPAXKG@Z
-; public: virtual unsigned long __thiscall CURLArchive::Read(unsigned char *,unsigned long)
-?Read@CURLArchive@@UAEKPAEK@Z
-; long __cdecl ReadBstrFromPropBag(struct IPropertyBag *,struct IErrorLog *,char *,unsigned short * *)
-?ReadBstrFromPropBag@@YAJPAUIPropertyBag@@PAUIErrorLog@@PADPAPAG@Z
-; public: virtual unsigned long __thiscall CURLArchive::ReadLine(char *,unsigned long)
-?ReadLine@CURLArchive@@UAEKPADK@Z
-; public: virtual unsigned long __thiscall CURLArchive::ReadLine(unsigned short *,unsigned long)
-?ReadLine@CURLArchive@@UAEKPAGK@Z
-; long __cdecl ReadLongFromPropBag(struct IPropertyBag *,struct IErrorLog *,char *,long *)
-?ReadLongFromPropBag@@YAJPAUIPropertyBag@@PAUIErrorLog@@PADPAJ@Z
-; public: int __thiscall CMemManager::RegisterMemUser(class CMemUser *)
-?RegisterMemUser@CMemManager@@QAEHPAVCMemUser@@@Z
-; public: static int __cdecl CMemManager::RegisterMemUserGlb(class CMemUser *)
-?RegisterMemUserGlb@CMemManager@@SAHPAVCMemUser@@@Z
-; public: virtual int __stdcall CDrg::Remove(void *,long)
-?Remove@CDrg@@UAGHPAXJ@Z
-; public: virtual int __stdcall CNonCollapsingDrg::Remove(void *,long)
-?Remove@CNonCollapsingDrg@@UAGHPAXJ@Z
-; public: void __thiscall CTStr::ResetLength(void)
-?ResetLength@CTStr@@QAEXXZ
-; void __cdecl RetailEcho(char *,...)
-?RetailEcho@@YAXPADZZ
-; public: virtual long __thiscall CURLArchive::Seek(long,enum CURLArchive::origin)
-?Seek@CURLArchive@@UAEJJW4origin@1@@Z
-; public: virtual void __stdcall CNonCollapsingDrg::SetArray(unsigned char *,long,unsigned int)
-?SetArray@CNonCollapsingDrg@@UAGXPAEJI@Z
-; public: virtual int __stdcall CNonCollapsingDrg::SetAt(void *,long)
-?SetAt@CNonCollapsingDrg@@UAGHPAXJ@Z
-; public: virtual void __stdcall CDrg::SetNonDefaultSizes(unsigned int,unsigned int)
-?SetNonDefaultSizes@CDrg@@UAGXII@Z
-; public: int __thiscall CTStr::SetString(char *)
-?SetString@CTStr@@QAEHPAD@Z
-; public: int __thiscall CTStr::SetString(unsigned short *)
-?SetString@CTStr@@QAEHPAG@Z
-; public: int __thiscall CTStr::SetStringPointer(char *,int)
-?SetStringPointer@CTStr@@QAEHPADH@Z
-; public: float __fastcall OTrig::Sin(long)
-?Sin@OTrig@@QAIMJ@Z
-; public: float __fastcall OTrig::Sin(float)
-?Sin@OTrig@@QAIMM@Z
-; public: static float __fastcall CMathWrapper::SinDeg(long)
-?SinDeg@CMathWrapper@@SIMJ@Z
-; public: static float __fastcall CMathWrapper::SinDeg(float)
-?SinDeg@CMathWrapper@@SIMM@Z
-; public: static float __fastcall CMathWrapper::SinDegWrap(long)
-?SinDegWrap@CMathWrapper@@SIMJ@Z
-; public: static float __fastcall CMathWrapper::SinDegWrap(float)
-?SinDegWrap@CMathWrapper@@SIMM@Z
-; public: static double __fastcall CMathWrapper::SinRad(double)
-?SinRad@CMathWrapper@@SINN@Z
-; public: float __fastcall OTrig::SinWrap(long)
-?SinWrap@OTrig@@QAIMJ@Z
-; public: float __fastcall OTrig::SinWrap(float)
-?SinWrap@OTrig@@QAIMM@Z
-; public: unsigned long __thiscall CMemManager::SizeBuffer(void *)
-?SizeBuffer@CMemManager@@QAEKPAX@Z
-; public: static unsigned long __cdecl CMemManager::SizeBufferGlb(void *)
-?SizeBufferGlb@CMemManager@@SAKPAX@Z
-; public: static int __cdecl CStringWrapper::Sprintf(char *,char const *,...)
-?Sprintf@CStringWrapper@@SAHPADPBDZZ
-; public: static float __fastcall CMathWrapper::Sqrt(float)
-?Sqrt@CMathWrapper@@SIMM@Z
-; public: static int __cdecl CStringWrapper::Sscanf1(char const *,char const *,void *)
-?Sscanf1@CStringWrapper@@SAHPBD0PAX@Z
-; public: static int __cdecl CStringWrapper::Sscanf2(char const *,char const *,void *,void *)
-?Sscanf2@CStringWrapper@@SAHPBD0PAX1@Z
-; public: static int __cdecl CStringWrapper::Sscanf3(char const *,char const *,void *,void *,void *)
-?Sscanf3@CStringWrapper@@SAHPBD0PAX11@Z
-; public: static char * __cdecl CStringWrapper::Strcat(char *,char const *)
-?Strcat@CStringWrapper@@SAPADPADPBD@Z
-; public: static char * __cdecl CStringWrapper::Strchr(char const *,char)
-?Strchr@CStringWrapper@@SAPADPBDD@Z
-; public: static int __cdecl CStringWrapper::Strcmp(char const *,char const *)
-?Strcmp@CStringWrapper@@SAHPBD0@Z
-; public: static char * __cdecl CStringWrapper::Strcpy(char *,char const *)
-?Strcpy@CStringWrapper@@SAPADPADPBD@Z
-; public: static int __cdecl CStringWrapper::Stricmp(char const *,char const *)
-?Stricmp@CStringWrapper@@SAHPBD0@Z
-; public: static char * __cdecl CStringWrapper::Strinc(char const *)
-?Strinc@CStringWrapper@@SAPADPBD@Z
-; public: static int __cdecl CStringWrapper::Strlen(char const *)
-?Strlen@CStringWrapper@@SAHPBD@Z
-; public: static int __cdecl CStringWrapper::Strncmp(char const *,char const *,unsigned int)
-?Strncmp@CStringWrapper@@SAHPBD0I@Z
-; public: static char * __cdecl CStringWrapper::Strncpy(char *,char const *,unsigned int)
-?Strncpy@CStringWrapper@@SAPADPADPBDI@Z
-; public: static int __cdecl CStringWrapper::Strnicmp(char const *,char const *,unsigned int)
-?Strnicmp@CStringWrapper@@SAHPBD0I@Z
-; public: static char * __cdecl CStringWrapper::Strrchr(char const *,char)
-?Strrchr@CStringWrapper@@SAPADPBDD@Z
-; public: static char * __cdecl CStringWrapper::Strstr(char const *,char const *)
-?Strstr@CStringWrapper@@SAPADPBD0@Z
-; public: static char * __cdecl CStringWrapper::Strtok(char *,char const *)
-?Strtok@CStringWrapper@@SAPADPADPBD@Z
-; public: unsigned short * __thiscall CTStr::SysAllocString(void)
-?SysAllocString@CTStr@@QAEPAGXZ
-; public: void __thiscall CMemUser::UnLockBuffer(struct MEMBLOCK_tag *)
-?UnLockBuffer@CMemUser@@QAEXPAUMEMBLOCK_tag@@@Z
-; public: int __thiscall CMemManager::UnRegisterMemUser(class CMemUser *)
-?UnRegisterMemUser@CMemManager@@QAEHPAVCMemUser@@@Z
-; public: static int __cdecl CMemManager::UnRegisterMemUserGlb(class CMemUser *)
-?UnRegisterMemUserGlb@CMemManager@@SAHPAVCMemUser@@@Z
-; public: static int __cdecl CStringWrapper::WStrCmpin(unsigned short const *,unsigned short const *,unsigned int)
-?WStrCmpin@CStringWrapper@@SAHPBG0I@Z
-; public: static unsigned short * __cdecl CStringWrapper::WStrcat(unsigned short *,unsigned short const *)
-?WStrcat@CStringWrapper@@SAPAGPAGPBG@Z
-; public: static unsigned short * __cdecl CStringWrapper::WStrcpy(unsigned short *,unsigned short const *)
-?WStrcpy@CStringWrapper@@SAPAGPAGPBG@Z
-; public: static int __cdecl CStringWrapper::WStrlen(unsigned short const *)
-?WStrlen@CStringWrapper@@SAHPBG@Z
-; public: static unsigned short * __cdecl CStringWrapper::WStrncpy(unsigned short *,unsigned short const *,unsigned int)
-?WStrncpy@CStringWrapper@@SAPAGPAGPBGI@Z
-; public: static unsigned int __cdecl CStringWrapper::Wcstombs(char *,unsigned short const *,unsigned int)
-?Wcstombs@CStringWrapper@@SAIPADPBGI@Z
-; public: virtual unsigned long __thiscall CURLArchive::Write(unsigned char *,unsigned long)
-?Write@CURLArchive@@UAEKPAEK@Z
-; long __cdecl WriteBstrToPropBag(struct IPropertyBag *,char *,unsigned short *)
-?WriteBstrToPropBag@@YAJPAUIPropertyBag@@PADPAG@Z
-; long __cdecl WriteLongToPropBag(struct IPropertyBag *,char *,long)
-?WriteLongToPropBag@@YAJPAUIPropertyBag@@PADJ@Z
-; public: char * __thiscall CTStr::psz(void)
-?psz@CTStr@@QAEPADXZ
-; public: char * __thiscall CTStr::pszA(void)
-?pszA@CTStr@@QAEPADXZ
-; public: unsigned short * __thiscall CTStr::pszW(void)
-?pszW@CTStr@@QAEPAGXZ
-_CIfmod
-_chkstk
-_wcsicmp
-_wtoi
-memcmp
-memset
-rand
-setlocale
-srand
-strcpy
-strlen
-swprintf
-wcslen
-wcsncpy
+; 
+; Exports of file mmutilse.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mmutilse.dll
+EXPORTS
+; public: __thiscall IHammer::CDirectDrawSurface::CDirectDrawSurface(struct HPALETTE__ *,unsigned long,struct tagSIZE const *,long *)
+??0CDirectDrawSurface@IHammer@@QAE@PAUHPALETTE__@@KPBUtagSIZE@@PAJ@Z
+; public: __thiscall CHalftone::CHalftone(struct HPALETTE__ *)
+??0CHalftone@@QAE@PAUHPALETTE__@@@Z
+; public: __thiscall CHalftonePalette::CHalftonePalette(struct HPALETTE__ *)
+??0CHalftonePalette@@QAE@PAUHPALETTE__@@@Z
+; public: __thiscall CHalftonePalette::CHalftonePalette(void)
+??0CHalftonePalette@@QAE@XZ
+; public: __thiscall CMemManager::CMemManager(void)
+??0CMemManager@@QAE@XZ
+; public: __thiscall CMemUser::CMemUser(void)
+??0CMemUser@@QAE@XZ
+; public: __thiscall CTStr::CTStr(class CTStr &)
+??0CTStr@@QAE@AAV0@@Z
+; public: __thiscall CTStr::CTStr(int)
+??0CTStr@@QAE@H@Z
+; public: __thiscall CTStr::CTStr(char *)
+??0CTStr@@QAE@PAD@Z
+; public: __thiscall CTStr::CTStr(unsigned short *)
+??0CTStr@@QAE@PAG@Z
+; public: __thiscall CURLArchive::CURLArchive(struct IUnknown *)
+??0CURLArchive@@QAE@PAUIUnknown@@@Z
+; public: __thiscall OTrig::OTrig(void)
+??0OTrig@@QAE@XZ
+; public: virtual __thiscall CMemManager::~CMemManager(void)
+??1CMemManager@@UAE@XZ
+; public: virtual __thiscall CMemUser::~CMemUser(void)
+??1CMemUser@@UAE@XZ
+; public: __thiscall CTStr::~CTStr(void)
+??1CTStr@@QAE@XZ
+; public: virtual __thiscall CURLArchive::~CURLArchive(void)
+??1CURLArchive@@UAE@XZ
+; public: void __thiscall CTStr::`default constructor closure'(void)
+??_FCTStr@@QAEXXZ
+; public: void __thiscall CURLArchive::`default constructor closure'(void)
+??_FCURLArchive@@QAEXXZ
+; public: void * __thiscall CMemManager::AllocBuffer(unsigned long,unsigned short)
+?AllocBuffer@CMemManager@@QAEPAXKG@Z
+; public: struct MEMBLOCK_tag * __thiscall CMemUser::AllocBuffer(unsigned long,unsigned short)
+?AllocBuffer@CMemUser@@QAEPAUMEMBLOCK_tag@@KG@Z
+; public: int __thiscall CTStr::AllocBuffer(int,int)
+?AllocBuffer@CTStr@@QAEHHH@Z
+; public: static void * __cdecl CMemManager::AllocBufferGlb(unsigned long,unsigned short)
+?AllocBufferGlb@CMemManager@@SAPAXKG@Z
+; public: static int __cdecl CStringWrapper::Atoi(char const *)
+?Atoi@CStringWrapper@@SAHPBD@Z
+; public: static long __cdecl CStringWrapper::Atol(char const *)
+?Atol@CStringWrapper@@SAJPBD@Z
+; long __cdecl BitCountFromDDPIXELFORMAT(struct _DDPIXELFORMAT const &)
+?BitCountFromDDPIXELFORMAT@@YAJABU_DDPIXELFORMAT@@@Z
+; public: virtual long __thiscall CURLArchive::Close(void)
+?Close@CURLArchive@@UAEJXZ
+; public: virtual int __stdcall CNonCollapsingDrg::CopyFrom(class CDrg *)
+?CopyFrom@CNonCollapsingDrg@@UAGHPAVCDrg@@@Z
+; public: virtual long __thiscall CURLArchive::CopyLocal(char *,int)
+?CopyLocal@CURLArchive@@UAEJPADH@Z
+; public: virtual long __thiscall CURLArchive::CopyLocal(unsigned short *,int)
+?CopyLocal@CURLArchive@@UAEJPAGH@Z
+; public: float __fastcall OTrig::Cos(long)
+?Cos@OTrig@@QAIMJ@Z
+; public: float __fastcall OTrig::Cos(float)
+?Cos@OTrig@@QAIMM@Z
+; public: static float __fastcall CMathWrapper::CosDeg(long)
+?CosDeg@CMathWrapper@@SIMJ@Z
+; public: static float __fastcall CMathWrapper::CosDeg(float)
+?CosDeg@CMathWrapper@@SIMM@Z
+; public: static float __fastcall CMathWrapper::CosDegWrap(long)
+?CosDegWrap@CMathWrapper@@SIMJ@Z
+; public: static float __fastcall CMathWrapper::CosDegWrap(float)
+?CosDegWrap@CMathWrapper@@SIMM@Z
+; public: static double __fastcall CMathWrapper::CosRad(double)
+?CosRad@CMathWrapper@@SINN@Z
+; public: float __fastcall OTrig::CosWrap(long)
+?CosWrap@OTrig@@QAIMJ@Z
+; public: float __fastcall OTrig::CosWrap(float)
+?CosWrap@OTrig@@QAIMM@Z
+; public: virtual long __thiscall CURLArchive::Create(char const *)
+?Create@CURLArchive@@UAEJPBD@Z
+; public: virtual long __thiscall CURLArchive::Create(unsigned short const *)
+?Create@CURLArchive@@UAEJPBG@Z
+; int __stdcall CreateIDispatchCollection(struct IUnknown * *)
+?CreateIDispatchCollection@@YGHPAPAUIUnknown@@@Z
+; public: void __thiscall CMemManager::DumpAllocations(char *)
+?DumpAllocations@CMemManager@@QAEXPAD@Z
+; public: static void __cdecl CMemManager::DumpAllocationsGlb(char *)
+?DumpAllocationsGlb@CMemManager@@SAXPAD@Z
+; private: void __thiscall CMemManager::DumpHeapHeader(struct HEAPHEADER_tag *,struct _iobuf *)
+?DumpHeapHeader@CMemManager@@AAEXPAUHEAPHEADER_tag@@PAU_iobuf@@@Z
+; private: void __thiscall CMemManager::DumpMemBlock(struct MEMBLOCK_tag *,struct _iobuf *)
+?DumpMemBlock@CMemManager@@AAEXPAUMEMBLOCK_tag@@PAU_iobuf@@@Z
+; private: void __thiscall CMemManager::DumpMemUserInfo(struct MEMUSERINFO_tag *,struct _iobuf *)
+?DumpMemUserInfo@CMemManager@@AAEXPAUMEMUSERINFO_tag@@PAU_iobuf@@@Z
+; void __stdcall ExternalDumpAllocations(char *)
+?ExternalDumpAllocations@@YGXPAD@Z
+; public: void __thiscall CMemManager::FreeBuffer(void *)
+?FreeBuffer@CMemManager@@QAEXPAX@Z
+; public: void __thiscall CMemUser::FreeBuffer(struct MEMBLOCK_tag *)
+?FreeBuffer@CMemUser@@QAEXPAUMEMBLOCK_tag@@@Z
+; public: void __thiscall CTStr::FreeBuffer(void)
+?FreeBuffer@CTStr@@QAEXXZ
+; public: static void __cdecl CMemManager::FreeBufferGlb(void *)
+?FreeBufferGlb@CMemManager@@SAXPAX@Z
+; public: void __thiscall CMemManager::FreeBufferMemBlock(struct MEMBLOCK_tag *)
+?FreeBufferMemBlock@CMemManager@@QAEXPAUMEMBLOCK_tag@@@Z
+; public: static char * __cdecl CStringWrapper::Gcvt(double,int,char *)
+?Gcvt@CStringWrapper@@SAPADNHPAD@Z
+; public: virtual void * __stdcall CNonCollapsingDrg::GetAt(long)
+?GetAt@CNonCollapsingDrg@@UAGPAXJ@Z
+; public: virtual long __thiscall CURLArchive::GetFileSize(long &)
+?GetFileSize@CURLArchive@@UAEJAAJ@Z
+; public: virtual void * __stdcall CNonCollapsingDrg::GetFirst(void)
+?GetFirst@CNonCollapsingDrg@@UAGPAXXZ
+; public: virtual void * __stdcall CNonCollapsingDrg::GetNext(void)
+?GetNext@CNonCollapsingDrg@@UAGPAXXZ
+; unsigned long __cdecl GetSigBitsFrom16BPP(struct HDC__ *)
+?GetSigBitsFrom16BPP@@YAKPAUHDC__@@@Z
+; public: virtual struct IStream * __thiscall CURLArchive::GetStreamInterface(void)const 
+?GetStreamInterface@CURLArchive@@UBEPAUIStream@@XZ
+; public: virtual int __stdcall CDrg::Insert(void *,long)
+?Insert@CDrg@@UAGHPAXJ@Z
+; int __cdecl IsMMXCpu(void)
+?IsMMXCpu@@YAHXZ
+; public: static int __cdecl CStringWrapper::Iswspace(unsigned short)
+?Iswspace@CStringWrapper@@SAHG@Z
+; public: static char * __cdecl CStringWrapper::Itoa(int,char *,int)
+?Itoa@CStringWrapper@@SAPADHPADH@Z
+; public: int __thiscall CTStr::Len(void)
+?Len@CTStr@@QAEHXZ
+; public: static int __cdecl CStringWrapper::LoadStringW(struct HINSTANCE__ *,unsigned int,unsigned short *,int)
+?LoadStringW@CStringWrapper@@SAHPAUHINSTANCE__@@IPAGH@Z
+; public: void * __thiscall CMemUser::LockBuffer(struct MEMBLOCK_tag *)
+?LockBuffer@CMemUser@@QAEPAXPAUMEMBLOCK_tag@@@Z
+; public: static char * __cdecl CStringWrapper::Ltoa(long,char *,int)
+?Ltoa@CStringWrapper@@SAPADJPADH@Z
+; public: static unsigned int __cdecl CStringWrapper::Mbstowcs(unsigned short *,char const *,unsigned int)
+?Mbstowcs@CStringWrapper@@SAIPAGPBDI@Z
+; public: static int __cdecl CStringWrapper::Memcmp(void const *,void const *,unsigned int)
+?Memcmp@CStringWrapper@@SAHPBX0I@Z
+; public: static void * __cdecl CStringWrapper::Memcpy(void *,void const *,unsigned int)
+?Memcpy@CStringWrapper@@SAPAXPAXPBXI@Z
+; public: static void * __cdecl CStringWrapper::Memset(void *,int,unsigned int)
+?Memset@CStringWrapper@@SAPAXPAXHI@Z
+; public: virtual int __thiscall CMemUser::NotifyMemUser(struct MEMNOTIFY_tag *)
+?NotifyMemUser@CMemUser@@UAEHPAUMEMNOTIFY_tag@@@Z
+; unsigned long __cdecl OverheadOfSavePtrDrg(void)
+?OverheadOfSavePtrDrg@@YAKXZ
+; public: static float __cdecl CMathWrapper::Pow(double,double)
+?Pow@CMathWrapper@@SAMNN@Z
+; public: void * __thiscall CMemManager::ReAllocBuffer(void *,unsigned long,unsigned short)
+?ReAllocBuffer@CMemManager@@QAEPAXPAXKG@Z
+; public: static void * __cdecl CMemManager::ReAllocBufferGlb(void *,unsigned long,unsigned short)
+?ReAllocBufferGlb@CMemManager@@SAPAXPAXKG@Z
+; public: virtual unsigned long __thiscall CURLArchive::Read(unsigned char *,unsigned long)
+?Read@CURLArchive@@UAEKPAEK@Z
+; long __cdecl ReadBstrFromPropBag(struct IPropertyBag *,struct IErrorLog *,char *,unsigned short * *)
+?ReadBstrFromPropBag@@YAJPAUIPropertyBag@@PAUIErrorLog@@PADPAPAG@Z
+; public: virtual unsigned long __thiscall CURLArchive::ReadLine(char *,unsigned long)
+?ReadLine@CURLArchive@@UAEKPADK@Z
+; public: virtual unsigned long __thiscall CURLArchive::ReadLine(unsigned short *,unsigned long)
+?ReadLine@CURLArchive@@UAEKPAGK@Z
+; long __cdecl ReadLongFromPropBag(struct IPropertyBag *,struct IErrorLog *,char *,long *)
+?ReadLongFromPropBag@@YAJPAUIPropertyBag@@PAUIErrorLog@@PADPAJ@Z
+; public: int __thiscall CMemManager::RegisterMemUser(class CMemUser *)
+?RegisterMemUser@CMemManager@@QAEHPAVCMemUser@@@Z
+; public: static int __cdecl CMemManager::RegisterMemUserGlb(class CMemUser *)
+?RegisterMemUserGlb@CMemManager@@SAHPAVCMemUser@@@Z
+; public: virtual int __stdcall CDrg::Remove(void *,long)
+?Remove@CDrg@@UAGHPAXJ@Z
+; public: virtual int __stdcall CNonCollapsingDrg::Remove(void *,long)
+?Remove@CNonCollapsingDrg@@UAGHPAXJ@Z
+; public: void __thiscall CTStr::ResetLength(void)
+?ResetLength@CTStr@@QAEXXZ
+; void __cdecl RetailEcho(char *,...)
+?RetailEcho@@YAXPADZZ
+; public: virtual long __thiscall CURLArchive::Seek(long,enum CURLArchive::origin)
+?Seek@CURLArchive@@UAEJJW4origin@1@@Z
+; public: virtual void __stdcall CNonCollapsingDrg::SetArray(unsigned char *,long,unsigned int)
+?SetArray@CNonCollapsingDrg@@UAGXPAEJI@Z
+; public: virtual int __stdcall CNonCollapsingDrg::SetAt(void *,long)
+?SetAt@CNonCollapsingDrg@@UAGHPAXJ@Z
+; public: virtual void __stdcall CDrg::SetNonDefaultSizes(unsigned int,unsigned int)
+?SetNonDefaultSizes@CDrg@@UAGXII@Z
+; public: int __thiscall CTStr::SetString(char *)
+?SetString@CTStr@@QAEHPAD@Z
+; public: int __thiscall CTStr::SetString(unsigned short *)
+?SetString@CTStr@@QAEHPAG@Z
+; public: int __thiscall CTStr::SetStringPointer(char *,int)
+?SetStringPointer@CTStr@@QAEHPADH@Z
+; public: float __fastcall OTrig::Sin(long)
+?Sin@OTrig@@QAIMJ@Z
+; public: float __fastcall OTrig::Sin(float)
+?Sin@OTrig@@QAIMM@Z
+; public: static float __fastcall CMathWrapper::SinDeg(long)
+?SinDeg@CMathWrapper@@SIMJ@Z
+; public: static float __fastcall CMathWrapper::SinDeg(float)
+?SinDeg@CMathWrapper@@SIMM@Z
+; public: static float __fastcall CMathWrapper::SinDegWrap(long)
+?SinDegWrap@CMathWrapper@@SIMJ@Z
+; public: static float __fastcall CMathWrapper::SinDegWrap(float)
+?SinDegWrap@CMathWrapper@@SIMM@Z
+; public: static double __fastcall CMathWrapper::SinRad(double)
+?SinRad@CMathWrapper@@SINN@Z
+; public: float __fastcall OTrig::SinWrap(long)
+?SinWrap@OTrig@@QAIMJ@Z
+; public: float __fastcall OTrig::SinWrap(float)
+?SinWrap@OTrig@@QAIMM@Z
+; public: unsigned long __thiscall CMemManager::SizeBuffer(void *)
+?SizeBuffer@CMemManager@@QAEKPAX@Z
+; public: static unsigned long __cdecl CMemManager::SizeBufferGlb(void *)
+?SizeBufferGlb@CMemManager@@SAKPAX@Z
+; public: static int __cdecl CStringWrapper::Sprintf(char *,char const *,...)
+?Sprintf@CStringWrapper@@SAHPADPBDZZ
+; public: static float __fastcall CMathWrapper::Sqrt(float)
+?Sqrt@CMathWrapper@@SIMM@Z
+; public: static int __cdecl CStringWrapper::Sscanf1(char const *,char const *,void *)
+?Sscanf1@CStringWrapper@@SAHPBD0PAX@Z
+; public: static int __cdecl CStringWrapper::Sscanf2(char const *,char const *,void *,void *)
+?Sscanf2@CStringWrapper@@SAHPBD0PAX1@Z
+; public: static int __cdecl CStringWrapper::Sscanf3(char const *,char const *,void *,void *,void *)
+?Sscanf3@CStringWrapper@@SAHPBD0PAX11@Z
+; public: static char * __cdecl CStringWrapper::Strcat(char *,char const *)
+?Strcat@CStringWrapper@@SAPADPADPBD@Z
+; public: static char * __cdecl CStringWrapper::Strchr(char const *,char)
+?Strchr@CStringWrapper@@SAPADPBDD@Z
+; public: static int __cdecl CStringWrapper::Strcmp(char const *,char const *)
+?Strcmp@CStringWrapper@@SAHPBD0@Z
+; public: static char * __cdecl CStringWrapper::Strcpy(char *,char const *)
+?Strcpy@CStringWrapper@@SAPADPADPBD@Z
+; public: static int __cdecl CStringWrapper::Stricmp(char const *,char const *)
+?Stricmp@CStringWrapper@@SAHPBD0@Z
+; public: static char * __cdecl CStringWrapper::Strinc(char const *)
+?Strinc@CStringWrapper@@SAPADPBD@Z
+; public: static int __cdecl CStringWrapper::Strlen(char const *)
+?Strlen@CStringWrapper@@SAHPBD@Z
+; public: static int __cdecl CStringWrapper::Strncmp(char const *,char const *,unsigned int)
+?Strncmp@CStringWrapper@@SAHPBD0I@Z
+; public: static char * __cdecl CStringWrapper::Strncpy(char *,char const *,unsigned int)
+?Strncpy@CStringWrapper@@SAPADPADPBDI@Z
+; public: static int __cdecl CStringWrapper::Strnicmp(char const *,char const *,unsigned int)
+?Strnicmp@CStringWrapper@@SAHPBD0I@Z
+; public: static char * __cdecl CStringWrapper::Strrchr(char const *,char)
+?Strrchr@CStringWrapper@@SAPADPBDD@Z
+; public: static char * __cdecl CStringWrapper::Strstr(char const *,char const *)
+?Strstr@CStringWrapper@@SAPADPBD0@Z
+; public: static char * __cdecl CStringWrapper::Strtok(char *,char const *)
+?Strtok@CStringWrapper@@SAPADPADPBD@Z
+; public: unsigned short * __thiscall CTStr::SysAllocString(void)
+?SysAllocString@CTStr@@QAEPAGXZ
+; public: void __thiscall CMemUser::UnLockBuffer(struct MEMBLOCK_tag *)
+?UnLockBuffer@CMemUser@@QAEXPAUMEMBLOCK_tag@@@Z
+; public: int __thiscall CMemManager::UnRegisterMemUser(class CMemUser *)
+?UnRegisterMemUser@CMemManager@@QAEHPAVCMemUser@@@Z
+; public: static int __cdecl CMemManager::UnRegisterMemUserGlb(class CMemUser *)
+?UnRegisterMemUserGlb@CMemManager@@SAHPAVCMemUser@@@Z
+; public: static int __cdecl CStringWrapper::WStrCmpin(unsigned short const *,unsigned short const *,unsigned int)
+?WStrCmpin@CStringWrapper@@SAHPBG0I@Z
+; public: static unsigned short * __cdecl CStringWrapper::WStrcat(unsigned short *,unsigned short const *)
+?WStrcat@CStringWrapper@@SAPAGPAGPBG@Z
+; public: static unsigned short * __cdecl CStringWrapper::WStrcpy(unsigned short *,unsigned short const *)
+?WStrcpy@CStringWrapper@@SAPAGPAGPBG@Z
+; public: static int __cdecl CStringWrapper::WStrlen(unsigned short const *)
+?WStrlen@CStringWrapper@@SAHPBG@Z
+; public: static unsigned short * __cdecl CStringWrapper::WStrncpy(unsigned short *,unsigned short const *,unsigned int)
+?WStrncpy@CStringWrapper@@SAPAGPAGPBGI@Z
+; public: static unsigned int __cdecl CStringWrapper::Wcstombs(char *,unsigned short const *,unsigned int)
+?Wcstombs@CStringWrapper@@SAIPADPBGI@Z
+; public: virtual unsigned long __thiscall CURLArchive::Write(unsigned char *,unsigned long)
+?Write@CURLArchive@@UAEKPAEK@Z
+; long __cdecl WriteBstrToPropBag(struct IPropertyBag *,char *,unsigned short *)
+?WriteBstrToPropBag@@YAJPAUIPropertyBag@@PADPAG@Z
+; long __cdecl WriteLongToPropBag(struct IPropertyBag *,char *,long)
+?WriteLongToPropBag@@YAJPAUIPropertyBag@@PADJ@Z
+; public: char * __thiscall CTStr::psz(void)
+?psz@CTStr@@QAEPADXZ
+; public: char * __thiscall CTStr::pszA(void)
+?pszA@CTStr@@QAEPADXZ
+; public: unsigned short * __thiscall CTStr::pszW(void)
+?pszW@CTStr@@QAEPAGXZ
+_CIfmod
+_chkstk
+_wcsicmp
+_wtoi
+memcmp
+memset
+rand
+setlocale
+srand
+strcpy
+strlen
+swprintf
+wcslen
+wcsncpy
diff --git a/mingw-w64-crt/lib64/wmobsync.def b/mingw-w64-crt/lib64/wmobsync.def
index 009a7df..6ff74df 100644
--- a/mingw-w64-crt/lib64/wmobsync.def
+++ b/mingw-w64-crt/lib64/wmobsync.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file mobsync.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mobsync.dll
-EXPORTS
-RunDllRegister
-SyncMgrRasProc
-DisplayOptions
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-MobsyncGetClassObject
-RegGetHandlerRegistrationInfo
-RegGetHandlerTopLevelKey
-RegGetProgressDetailsState
-RegGetSchedConnectionName
-RegGetSchedSyncSettings
-RegGetSyncItemSettings
-RegGetSyncSettings
-RegQueryLoadHandlerOnEvent
-RegRemoveManualSyncSettings
-RegSchedHandlerItemsChecked
-RegSetProgressDetailsState
-RegSetSyncItemSettings
-RegSetUserDefaults
-SyncMgrResolveConflictA
-SyncMgrResolveConflictW
+; 
+; Exports of file mobsync.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mobsync.dll
+EXPORTS
+RunDllRegister
+SyncMgrRasProc
+DisplayOptions
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+MobsyncGetClassObject
+RegGetHandlerRegistrationInfo
+RegGetHandlerTopLevelKey
+RegGetProgressDetailsState
+RegGetSchedConnectionName
+RegGetSchedSyncSettings
+RegGetSyncItemSettings
+RegGetSyncSettings
+RegQueryLoadHandlerOnEvent
+RegRemoveManualSyncSettings
+RegSchedHandlerItemsChecked
+RegSetProgressDetailsState
+RegSetSyncItemSettings
+RegSetUserDefaults
+SyncMgrResolveConflictA
+SyncMgrResolveConflictW
diff --git a/mingw-w64-crt/lib64/wmodemui.def b/mingw-w64-crt/lib64/wmodemui.def
index ca418f8..b4d6e5c 100644
--- a/mingw-w64-crt/lib64/wmodemui.def
+++ b/mingw-w64-crt/lib64/wmodemui.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file modemui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY modemui.dll
-EXPORTS
-drvCommConfigDialogW
-drvCommConfigDialogA
-drvSetDefaultCommConfigW
-drvSetDefaultCommConfigA
-drvGetDefaultCommConfigW
-drvGetDefaultCommConfigA
-UnimodemDevConfigDialog
-CountryRunOnce
-UnimodemGetDefaultCommConfig
-UnimodemGetExtendedCaps
-InvokeControlPanel
-ModemCplDlgProc
-ModemPropPagesProvider
-QueryModemForCountrySettings
+; 
+; Exports of file modemui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY modemui.dll
+EXPORTS
+drvCommConfigDialogW
+drvCommConfigDialogA
+drvSetDefaultCommConfigW
+drvSetDefaultCommConfigA
+drvGetDefaultCommConfigW
+drvGetDefaultCommConfigA
+UnimodemDevConfigDialog
+CountryRunOnce
+UnimodemGetDefaultCommConfig
+UnimodemGetExtendedCaps
+InvokeControlPanel
+ModemCplDlgProc
+ModemPropPagesProvider
+QueryModemForCountrySettings
diff --git a/mingw-w64-crt/lib64/wmofd.def b/mingw-w64-crt/lib64/wmofd.def
index 159edb1..1a486bb 100644
--- a/mingw-w64-crt/lib64/wmofd.def
+++ b/mingw-w64-crt/lib64/wmofd.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file mofd.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mofd.dll
-EXPORTS
-CompileFileViaDLL
-CreateBMOFViaDLL
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mofd.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mofd.dll
+EXPORTS
+CompileFileViaDLL
+CreateBMOFViaDLL
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmp43dmod.def b/mingw-w64-crt/lib64/wmp43dmod.def
index 675cb37..74d82ae 100644
--- a/mingw-w64-crt/lib64/wmp43dmod.def
+++ b/mingw-w64-crt/lib64/wmp43dmod.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DEFFILE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DEFFILE.dll
-EXPORTS
-CreateInstance
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DEFFILE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DEFFILE.dll
+EXPORTS
+CreateInstance
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmp4sdmod.def b/mingw-w64-crt/lib64/wmp4sdmod.def
index 675cb37..74d82ae 100644
--- a/mingw-w64-crt/lib64/wmp4sdmod.def
+++ b/mingw-w64-crt/lib64/wmp4sdmod.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DEFFILE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DEFFILE.dll
-EXPORTS
-CreateInstance
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DEFFILE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DEFFILE.dll
+EXPORTS
+CreateInstance
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmpg4dmod.def b/mingw-w64-crt/lib64/wmpg4dmod.def
index 675cb37..74d82ae 100644
--- a/mingw-w64-crt/lib64/wmpg4dmod.def
+++ b/mingw-w64-crt/lib64/wmpg4dmod.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file DEFFILE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY DEFFILE.dll
-EXPORTS
-CreateInstance
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file DEFFILE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY DEFFILE.dll
+EXPORTS
+CreateInstance
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmpr.def b/mingw-w64-crt/lib64/wmpr.def
index 1d28104..8b5c7e7 100644
--- a/mingw-w64-crt/lib64/wmpr.def
+++ b/mingw-w64-crt/lib64/wmpr.def
@@ -1,86 +1,86 @@
-; 
-; Exports of file MPR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MPR.dll
-EXPORTS
-WNetConnectionDialog2
-WNetDisconnectDialog2
-I_MprSaveConn
-MultinetGetConnectionPerformanceA
-MultinetGetConnectionPerformanceW
-MultinetGetErrorTextA
-MultinetGetErrorTextW
-RestoreConnectionA0
-WNetAddConnection2A
-WNetAddConnection2W
-WNetAddConnection3A
-WNetAddConnection3W
-WNetAddConnectionA
-WNetAddConnectionW
-WNetCancelConnection2A
-WNetCancelConnection2W
-WNetCancelConnectionA
-WNetCancelConnectionW
-WNetClearConnections
-WNetCloseEnum
-WNetConnectionDialog1A
-WNetConnectionDialog1W
-WNetConnectionDialog
-WNetDirectoryNotifyA
-WNetDirectoryNotifyW
-WNetDisconnectDialog1A
-WNetDisconnectDialog1W
-WNetDisconnectDialog
-WNetEnumResourceA
-WNetEnumResourceW
-WNetFMXEditPerm
-WNetFMXGetPermCaps
-WNetFMXGetPermHelp
-WNetFormatNetworkNameA
-WNetFormatNetworkNameW
-WNetGetConnection2A
-WNetGetConnection2W
-WNetGetConnection3A
-WNetGetConnection3W
-WNetGetConnectionA
-WNetGetConnectionW
-WNetGetDirectoryTypeA
-WNetGetDirectoryTypeW
-WNetGetHomeDirectoryW
-WNetGetLastErrorA
-WNetGetLastErrorW
-WNetGetNetworkInformationA
-WNetGetNetworkInformationW
-WNetGetPropertyTextA
-WNetGetPropertyTextW
-WNetGetProviderNameA
-WNetGetProviderNameW
-WNetGetProviderTypeA
-WNetGetProviderTypeW
-WNetGetResourceInformationA
-WNetGetResourceInformationW
-WNetGetResourceParentA
-WNetGetResourceParentW
-WNetGetSearchDialog
-WNetGetUniversalNameA
-WNetGetUniversalNameW
-WNetGetUserA
-WNetGetUserW
-WNetLogonNotify
-WNetOpenEnumA
-WNetOpenEnumW
-WNetPasswordChangeNotify
-WNetPropertyDialogA
-WNetPropertyDialogW
-WNetRestoreConnection2W
-WNetRestoreConnectionW
-WNetSetConnectionA
-WNetSetConnectionW
-WNetSetLastErrorA
-WNetSetLastErrorW
-WNetSupportGlobalEnum
-WNetUseConnectionA
-WNetUseConnectionW
+; 
+; Exports of file MPR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MPR.dll
+EXPORTS
+WNetConnectionDialog2
+WNetDisconnectDialog2
+I_MprSaveConn
+MultinetGetConnectionPerformanceA
+MultinetGetConnectionPerformanceW
+MultinetGetErrorTextA
+MultinetGetErrorTextW
+RestoreConnectionA0
+WNetAddConnection2A
+WNetAddConnection2W
+WNetAddConnection3A
+WNetAddConnection3W
+WNetAddConnectionA
+WNetAddConnectionW
+WNetCancelConnection2A
+WNetCancelConnection2W
+WNetCancelConnectionA
+WNetCancelConnectionW
+WNetClearConnections
+WNetCloseEnum
+WNetConnectionDialog1A
+WNetConnectionDialog1W
+WNetConnectionDialog
+WNetDirectoryNotifyA
+WNetDirectoryNotifyW
+WNetDisconnectDialog1A
+WNetDisconnectDialog1W
+WNetDisconnectDialog
+WNetEnumResourceA
+WNetEnumResourceW
+WNetFMXEditPerm
+WNetFMXGetPermCaps
+WNetFMXGetPermHelp
+WNetFormatNetworkNameA
+WNetFormatNetworkNameW
+WNetGetConnection2A
+WNetGetConnection2W
+WNetGetConnection3A
+WNetGetConnection3W
+WNetGetConnectionA
+WNetGetConnectionW
+WNetGetDirectoryTypeA
+WNetGetDirectoryTypeW
+WNetGetHomeDirectoryW
+WNetGetLastErrorA
+WNetGetLastErrorW
+WNetGetNetworkInformationA
+WNetGetNetworkInformationW
+WNetGetPropertyTextA
+WNetGetPropertyTextW
+WNetGetProviderNameA
+WNetGetProviderNameW
+WNetGetProviderTypeA
+WNetGetProviderTypeW
+WNetGetResourceInformationA
+WNetGetResourceInformationW
+WNetGetResourceParentA
+WNetGetResourceParentW
+WNetGetSearchDialog
+WNetGetUniversalNameA
+WNetGetUniversalNameW
+WNetGetUserA
+WNetGetUserW
+WNetLogonNotify
+WNetOpenEnumA
+WNetOpenEnumW
+WNetPasswordChangeNotify
+WNetPropertyDialogA
+WNetPropertyDialogW
+WNetRestoreConnection2W
+WNetRestoreConnectionW
+WNetSetConnectionA
+WNetSetConnectionW
+WNetSetLastErrorA
+WNetSetLastErrorW
+WNetSupportGlobalEnum
+WNetUseConnectionA
+WNetUseConnectionW
diff --git a/mingw-w64-crt/lib64/wmprapi.def b/mingw-w64-crt/lib64/wmprapi.def
index 9ee244f..a6f4030 100644
--- a/mingw-w64-crt/lib64/wmprapi.def
+++ b/mingw-w64-crt/lib64/wmprapi.def
@@ -1,139 +1,139 @@
-; 
-; Exports of file MPRAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MPRAPI.dll
-EXPORTS
-CompressPhoneNumber
-MprAdminBufferFree
-MprAdminConnectionClearStats
-MprAdminConnectionEnum
-MprAdminConnectionGetInfo
-MprAdminConnectionRemoveQuarantine
-MprAdminDeregisterConnectionNotification
-MprAdminDeviceEnum
-MprAdminEstablishDomainRasServer
-MprAdminGetErrorString
-MprAdminGetPDCServer
-MprAdminInterfaceConnect
-MprAdminInterfaceCreate
-MprAdminInterfaceDelete
-MprAdminInterfaceDeviceGetInfo
-MprAdminInterfaceDeviceSetInfo
-MprAdminInterfaceDisconnect
-MprAdminInterfaceEnum
-MprAdminInterfaceGetCredentials
-MprAdminInterfaceGetCredentialsEx
-MprAdminInterfaceGetHandle
-MprAdminInterfaceGetInfo
-MprAdminInterfaceQueryUpdateResult
-MprAdminInterfaceSetCredentials
-MprAdminInterfaceSetCredentialsEx
-MprAdminInterfaceSetInfo
-MprAdminInterfaceTransportAdd
-MprAdminInterfaceTransportGetInfo
-MprAdminInterfaceTransportRemove
-MprAdminInterfaceTransportSetInfo
-MprAdminInterfaceUpdatePhonebookInfo
-MprAdminInterfaceUpdateRoutes
-MprAdminIsDomainRasServer
-MprAdminIsServiceRunning
-MprAdminMIBBufferFree
-MprAdminMIBEntryCreate
-MprAdminMIBEntryDelete
-MprAdminMIBEntryGet
-MprAdminMIBEntryGetFirst
-MprAdminMIBEntryGetNext
-MprAdminMIBEntrySet
-MprAdminMIBServerConnect
-MprAdminMIBServerDisconnect
-MprAdminPortClearStats
-MprAdminPortDisconnect
-MprAdminPortEnum
-MprAdminPortGetInfo
-MprAdminPortReset
-MprAdminRegisterConnectionNotification
-MprAdminSendUserMessage
-MprAdminServerConnect
-MprAdminServerDisconnect
-MprAdminServerGetCredentials
-MprAdminServerGetInfo
-MprAdminServerSetCredentials
-MprAdminServerSetInfo
-MprAdminTransportCreate
-MprAdminTransportGetInfo
-MprAdminTransportSetInfo
-MprAdminUpgradeUsers
-MprAdminUserClose
-MprAdminUserGetInfo
-MprAdminUserOpen
-MprAdminUserRead
-MprAdminUserReadProfFlags
-MprAdminUserServerConnect
-MprAdminUserServerDisconnect
-MprAdminUserSetInfo
-MprAdminUserWrite
-MprAdminUserWriteProfFlags
-MprConfigBufferFree
-MprConfigGetFriendlyName
-MprConfigGetGuidName
-MprConfigInterfaceCreate
-MprConfigInterfaceDelete
-MprConfigInterfaceEnum
-MprConfigInterfaceGetHandle
-MprConfigInterfaceGetInfo
-MprConfigInterfaceSetInfo
-MprConfigInterfaceTransportAdd
-MprConfigInterfaceTransportEnum
-MprConfigInterfaceTransportGetHandle
-MprConfigInterfaceTransportGetInfo
-MprConfigInterfaceTransportRemove
-MprConfigInterfaceTransportSetInfo
-MprConfigServerBackup
-MprConfigServerConnect
-MprConfigServerDisconnect
-MprConfigServerGetInfo
-MprConfigServerInstall
-MprConfigServerRefresh
-MprConfigServerRestore
-MprConfigServerSetInfo
-MprConfigTransportCreate
-MprConfigTransportDelete
-MprConfigTransportEnum
-MprConfigTransportGetHandle
-MprConfigTransportGetInfo
-MprConfigTransportSetInfo
-MprDomainQueryAccess
-MprDomainQueryRasServer
-MprDomainRegisterRasServer
-MprDomainSetAccess
-MprGetUsrParams
-MprInfoBlockAdd
-MprInfoBlockFind
-MprInfoBlockQuerySize
-MprInfoBlockRemove
-MprInfoBlockSet
-MprInfoCreate
-MprInfoDelete
-MprInfoDuplicate
-MprInfoRemoveAll
-MprPortSetUsage
-RasAdminBufferFree
-RasAdminConnectionClearStats
-RasAdminConnectionEnum
-RasAdminConnectionGetInfo
-RasAdminGetErrorString
-RasAdminGetPDCServer
-RasAdminIsServiceRunning
-RasAdminPortClearStats
-RasAdminPortDisconnect
-RasAdminPortEnum
-RasAdminPortGetInfo
-RasAdminPortReset
-RasAdminServerConnect
-RasAdminServerDisconnect
-RasAdminUserGetInfo
-RasAdminUserSetInfo
-RasPrivilegeAndCallBackNumber
+; 
+; Exports of file MPRAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MPRAPI.dll
+EXPORTS
+CompressPhoneNumber
+MprAdminBufferFree
+MprAdminConnectionClearStats
+MprAdminConnectionEnum
+MprAdminConnectionGetInfo
+MprAdminConnectionRemoveQuarantine
+MprAdminDeregisterConnectionNotification
+MprAdminDeviceEnum
+MprAdminEstablishDomainRasServer
+MprAdminGetErrorString
+MprAdminGetPDCServer
+MprAdminInterfaceConnect
+MprAdminInterfaceCreate
+MprAdminInterfaceDelete
+MprAdminInterfaceDeviceGetInfo
+MprAdminInterfaceDeviceSetInfo
+MprAdminInterfaceDisconnect
+MprAdminInterfaceEnum
+MprAdminInterfaceGetCredentials
+MprAdminInterfaceGetCredentialsEx
+MprAdminInterfaceGetHandle
+MprAdminInterfaceGetInfo
+MprAdminInterfaceQueryUpdateResult
+MprAdminInterfaceSetCredentials
+MprAdminInterfaceSetCredentialsEx
+MprAdminInterfaceSetInfo
+MprAdminInterfaceTransportAdd
+MprAdminInterfaceTransportGetInfo
+MprAdminInterfaceTransportRemove
+MprAdminInterfaceTransportSetInfo
+MprAdminInterfaceUpdatePhonebookInfo
+MprAdminInterfaceUpdateRoutes
+MprAdminIsDomainRasServer
+MprAdminIsServiceRunning
+MprAdminMIBBufferFree
+MprAdminMIBEntryCreate
+MprAdminMIBEntryDelete
+MprAdminMIBEntryGet
+MprAdminMIBEntryGetFirst
+MprAdminMIBEntryGetNext
+MprAdminMIBEntrySet
+MprAdminMIBServerConnect
+MprAdminMIBServerDisconnect
+MprAdminPortClearStats
+MprAdminPortDisconnect
+MprAdminPortEnum
+MprAdminPortGetInfo
+MprAdminPortReset
+MprAdminRegisterConnectionNotification
+MprAdminSendUserMessage
+MprAdminServerConnect
+MprAdminServerDisconnect
+MprAdminServerGetCredentials
+MprAdminServerGetInfo
+MprAdminServerSetCredentials
+MprAdminServerSetInfo
+MprAdminTransportCreate
+MprAdminTransportGetInfo
+MprAdminTransportSetInfo
+MprAdminUpgradeUsers
+MprAdminUserClose
+MprAdminUserGetInfo
+MprAdminUserOpen
+MprAdminUserRead
+MprAdminUserReadProfFlags
+MprAdminUserServerConnect
+MprAdminUserServerDisconnect
+MprAdminUserSetInfo
+MprAdminUserWrite
+MprAdminUserWriteProfFlags
+MprConfigBufferFree
+MprConfigGetFriendlyName
+MprConfigGetGuidName
+MprConfigInterfaceCreate
+MprConfigInterfaceDelete
+MprConfigInterfaceEnum
+MprConfigInterfaceGetHandle
+MprConfigInterfaceGetInfo
+MprConfigInterfaceSetInfo
+MprConfigInterfaceTransportAdd
+MprConfigInterfaceTransportEnum
+MprConfigInterfaceTransportGetHandle
+MprConfigInterfaceTransportGetInfo
+MprConfigInterfaceTransportRemove
+MprConfigInterfaceTransportSetInfo
+MprConfigServerBackup
+MprConfigServerConnect
+MprConfigServerDisconnect
+MprConfigServerGetInfo
+MprConfigServerInstall
+MprConfigServerRefresh
+MprConfigServerRestore
+MprConfigServerSetInfo
+MprConfigTransportCreate
+MprConfigTransportDelete
+MprConfigTransportEnum
+MprConfigTransportGetHandle
+MprConfigTransportGetInfo
+MprConfigTransportSetInfo
+MprDomainQueryAccess
+MprDomainQueryRasServer
+MprDomainRegisterRasServer
+MprDomainSetAccess
+MprGetUsrParams
+MprInfoBlockAdd
+MprInfoBlockFind
+MprInfoBlockQuerySize
+MprInfoBlockRemove
+MprInfoBlockSet
+MprInfoCreate
+MprInfoDelete
+MprInfoDuplicate
+MprInfoRemoveAll
+MprPortSetUsage
+RasAdminBufferFree
+RasAdminConnectionClearStats
+RasAdminConnectionEnum
+RasAdminConnectionGetInfo
+RasAdminGetErrorString
+RasAdminGetPDCServer
+RasAdminIsServiceRunning
+RasAdminPortClearStats
+RasAdminPortDisconnect
+RasAdminPortEnum
+RasAdminPortGetInfo
+RasAdminPortReset
+RasAdminServerConnect
+RasAdminServerDisconnect
+RasAdminUserGetInfo
+RasAdminUserSetInfo
+RasPrivilegeAndCallBackNumber
diff --git a/mingw-w64-crt/lib64/wmprddm.def b/mingw-w64-crt/lib64/wmprddm.def
index 3f7023a..544b544 100644
--- a/mingw-w64-crt/lib64/wmprddm.def
+++ b/mingw-w64-crt/lib64/wmprddm.def
@@ -1,47 +1,47 @@
-; 
-; Exports of file MPRDDM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MPRDDM.dll
-EXPORTS
-DDMAdminConnectionClearStats
-DDMAdminConnectionEnum
-DDMAdminConnectionGetInfo
-DDMAdminInterfaceConnect
-DDMAdminInterfaceDisconnect
-DDMAdminPortClearStats
-DDMAdminPortDisconnect
-DDMAdminPortEnum
-DDMAdminPortGetInfo
-DDMAdminPortReset
-DDMAdminRemoveQuarantine
-DDMAdminServerGetInfo
-DDMAdminServerSetInfo
-DDMConnectInterface
-DDMDisconnectInterface
-DDMGetIdentityAttributes
-DDMPostCleanup
-DDMRegisterConnectionNotification
-DDMSendUserMessage
-DDMServiceInitialize
-DDMServicePostListens
-DDMTransportCreate
-IfObjectFreePhonebookContext
-IfObjectInitiatePersistentConnections
-IfObjectLoadPhonebookInfo
-IfObjectNotifyOfReachabilityChange
-IfObjectSetDialoutHoursRestriction
-RasAcctConfigChangeNotification
-RasAcctProviderFreeAttributes
-RasAcctProviderInitialize
-RasAcctProviderInterimAccounting
-RasAcctProviderStartAccounting
-RasAcctProviderStopAccounting
-RasAcctProviderTerminate
-RasAuthConfigChangeNotification
-RasAuthProviderAuthenticateUser
-RasAuthProviderFreeAttributes
-RasAuthProviderInitialize
-RasAuthProviderTerminate
+; 
+; Exports of file MPRDDM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MPRDDM.dll
+EXPORTS
+DDMAdminConnectionClearStats
+DDMAdminConnectionEnum
+DDMAdminConnectionGetInfo
+DDMAdminInterfaceConnect
+DDMAdminInterfaceDisconnect
+DDMAdminPortClearStats
+DDMAdminPortDisconnect
+DDMAdminPortEnum
+DDMAdminPortGetInfo
+DDMAdminPortReset
+DDMAdminRemoveQuarantine
+DDMAdminServerGetInfo
+DDMAdminServerSetInfo
+DDMConnectInterface
+DDMDisconnectInterface
+DDMGetIdentityAttributes
+DDMPostCleanup
+DDMRegisterConnectionNotification
+DDMSendUserMessage
+DDMServiceInitialize
+DDMServicePostListens
+DDMTransportCreate
+IfObjectFreePhonebookContext
+IfObjectInitiatePersistentConnections
+IfObjectLoadPhonebookInfo
+IfObjectNotifyOfReachabilityChange
+IfObjectSetDialoutHoursRestriction
+RasAcctConfigChangeNotification
+RasAcctProviderFreeAttributes
+RasAcctProviderInitialize
+RasAcctProviderInterimAccounting
+RasAcctProviderStartAccounting
+RasAcctProviderStopAccounting
+RasAcctProviderTerminate
+RasAuthConfigChangeNotification
+RasAuthProviderAuthenticateUser
+RasAuthProviderFreeAttributes
+RasAuthProviderInitialize
+RasAuthProviderTerminate
diff --git a/mingw-w64-crt/lib64/wmprdim.def b/mingw-w64-crt/lib64/wmprdim.def
index b926509..604762a 100644
--- a/mingw-w64-crt/lib64/wmprdim.def
+++ b/mingw-w64-crt/lib64/wmprdim.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file mprdim.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mprdim.dll
-EXPORTS
-ServiceMain
+; 
+; Exports of file mprdim.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mprdim.dll
+EXPORTS
+ServiceMain
diff --git a/mingw-w64-crt/lib64/wmprmsg.def b/mingw-w64-crt/lib64/wmprmsg.def
index 0612183..16722df 100644
--- a/mingw-w64-crt/lib64/wmprmsg.def
+++ b/mingw-w64-crt/lib64/wmprmsg.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file ROUTEMSG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ROUTEMSG.dll
-EXPORTS
-GetEventIds
+; 
+; Exports of file ROUTEMSG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ROUTEMSG.dll
+EXPORTS
+GetEventIds
diff --git a/mingw-w64-crt/lib64/wmprui.def b/mingw-w64-crt/lib64/wmprui.def
index 936234f..68b8f00 100644
--- a/mingw-w64-crt/lib64/wmprui.def
+++ b/mingw-w64-crt/lib64/wmprui.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file MPRUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MPRUI.dll
-EXPORTS
-BrowseDialogA0
-MPRUI_DoPasswordDialog
-MPRUI_DoProfileErrorDialog
-MPRUI_ShowReconnectDialog
-MPRUI_WNetClearConnections
-MPRUI_WNetConnectionDialog1A
-MPRUI_WNetConnectionDialog1W
-MPRUI_WNetConnectionDialog
-MPRUI_WNetDisconnectDialog1A
-MPRUI_WNetDisconnectDialog1W
-MPRUI_WNetDisconnectDialog
-WNetBrowseDialog
-WNetBrowsePrinterDialog
+; 
+; Exports of file MPRUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MPRUI.dll
+EXPORTS
+BrowseDialogA0
+MPRUI_DoPasswordDialog
+MPRUI_DoProfileErrorDialog
+MPRUI_ShowReconnectDialog
+MPRUI_WNetClearConnections
+MPRUI_WNetConnectionDialog1A
+MPRUI_WNetConnectionDialog1W
+MPRUI_WNetConnectionDialog
+MPRUI_WNetDisconnectDialog1A
+MPRUI_WNetDisconnectDialog1W
+MPRUI_WNetDisconnectDialog
+WNetBrowseDialog
+WNetBrowsePrinterDialog
diff --git a/mingw-w64-crt/lib64/wmpshell.def b/mingw-w64-crt/lib64/wmpshell.def
index 1fb1a30..348e65d 100644
--- a/mingw-w64-crt/lib64/wmpshell.def
+++ b/mingw-w64-crt/lib64/wmpshell.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wmpshell.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wmpshell.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file wmpshell.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wmpshell.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmpvis.def b/mingw-w64-crt/lib64/wmpvis.def
index 5024d4a..87e1931 100644
--- a/mingw-w64-crt/lib64/wmpvis.def
+++ b/mingw-w64-crt/lib64/wmpvis.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file Tolerance.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Tolerance.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file Tolerance.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Tolerance.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmqad.def b/mingw-w64-crt/lib64/wmqad.def
index 033ca50..11bfb84 100644
--- a/mingw-w64-crt/lib64/wmqad.def
+++ b/mingw-w64-crt/lib64/wmqad.def
@@ -1,42 +1,42 @@
-; 
-; Exports of file mqad.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqad.dll
-EXPORTS
-MQADBeginDeleteNotification
-MQADCreateObject
-MQADDeleteObject
-MQADDeleteObjectGuid
-MQADDeleteObjectGuidSid
-MQADEndDeleteNotification
-MQADEndQuery
-MQADFreeMemory
-MQADGetADsPathInfo
-MQADGetComputerSites
-MQADGetComputerVersion
-MQADGetGenObjectProperties
-MQADGetObjectProperties
-MQADGetObjectPropertiesGuid
-MQADGetObjectSecurity
-MQADGetObjectSecurityGuid
-MQADInit
-MQADNotifyDelete
-MQADQMGetObjectSecurity
-MQADQueryAllLinks
-MQADQueryAllSites
-MQADQueryConnectors
-MQADQueryForeignSites
-MQADQueryLinks
-MQADQueryMachineQueues
-MQADQueryNT4MQISServers
-MQADQueryQueues
-MQADQueryResults
-MQADQuerySiteServers
-MQADQueryUserCert
-MQADSetObjectProperties
-MQADSetObjectPropertiesGuid
-MQADSetObjectSecurity
-MQADSetObjectSecurityGuid
+; 
+; Exports of file mqad.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqad.dll
+EXPORTS
+MQADBeginDeleteNotification
+MQADCreateObject
+MQADDeleteObject
+MQADDeleteObjectGuid
+MQADDeleteObjectGuidSid
+MQADEndDeleteNotification
+MQADEndQuery
+MQADFreeMemory
+MQADGetADsPathInfo
+MQADGetComputerSites
+MQADGetComputerVersion
+MQADGetGenObjectProperties
+MQADGetObjectProperties
+MQADGetObjectPropertiesGuid
+MQADGetObjectSecurity
+MQADGetObjectSecurityGuid
+MQADInit
+MQADNotifyDelete
+MQADQMGetObjectSecurity
+MQADQueryAllLinks
+MQADQueryAllSites
+MQADQueryConnectors
+MQADQueryForeignSites
+MQADQueryLinks
+MQADQueryMachineQueues
+MQADQueryNT4MQISServers
+MQADQueryQueues
+MQADQueryResults
+MQADQuerySiteServers
+MQADQueryUserCert
+MQADSetObjectProperties
+MQADSetObjectPropertiesGuid
+MQADSetObjectSecurity
+MQADSetObjectSecurityGuid
diff --git a/mingw-w64-crt/lib64/wmqdscli.def b/mingw-w64-crt/lib64/wmqdscli.def
index ed7151e..ba9af18 100644
--- a/mingw-w64-crt/lib64/wmqdscli.def
+++ b/mingw-w64-crt/lib64/wmqdscli.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file mqdscli.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqdscli.dll
-EXPORTS
-DSBeginDeleteNotification
-DSClientInit
-DSCreateObject
-DSCreateServersCache
-DSDeleteObject
-DSDeleteObjectGuid
-DSEndDeleteNotification
-DSFreeMemory
-DSGetComputerSites
-DSGetObjectProperties
-DSGetObjectPropertiesEx
-DSGetObjectPropertiesGuid
-DSGetObjectPropertiesGuidEx
-DSGetObjectSecurity
-DSGetObjectSecurityGuid
-DSGetUserParams
-DSLookupBegin
-DSLookupEnd
-DSLookupNext
-DSNotifyDelete
-DSQMGetObjectSecurity
-DSSetObjectProperties
-DSSetObjectPropertiesGuid
-DSSetObjectSecurity
-DSSetObjectSecurityGuid
-DSTerminate
+; 
+; Exports of file mqdscli.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqdscli.dll
+EXPORTS
+DSBeginDeleteNotification
+DSClientInit
+DSCreateObject
+DSCreateServersCache
+DSDeleteObject
+DSDeleteObjectGuid
+DSEndDeleteNotification
+DSFreeMemory
+DSGetComputerSites
+DSGetObjectProperties
+DSGetObjectPropertiesEx
+DSGetObjectPropertiesGuid
+DSGetObjectPropertiesGuidEx
+DSGetObjectSecurity
+DSGetObjectSecurityGuid
+DSGetUserParams
+DSLookupBegin
+DSLookupEnd
+DSLookupNext
+DSNotifyDelete
+DSQMGetObjectSecurity
+DSSetObjectProperties
+DSSetObjectPropertiesGuid
+DSSetObjectSecurity
+DSSetObjectSecurityGuid
+DSTerminate
diff --git a/mingw-w64-crt/lib64/wmqoa.def b/mingw-w64-crt/lib64/wmqoa.def
index f973537..7283e05 100644
--- a/mingw-w64-crt/lib64/wmqoa.def
+++ b/mingw-w64-crt/lib64/wmqoa.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file mqoa.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqoa.dll
-EXPORTS
-DLLGetDocumentation
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mqoa.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqoa.dll
+EXPORTS
+DLLGetDocumentation
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmqperf.def b/mingw-w64-crt/lib64/wmqperf.def
index 8434f89..115d6a5 100644
--- a/mingw-w64-crt/lib64/wmqperf.def
+++ b/mingw-w64-crt/lib64/wmqperf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MQPERF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MQPERF.dll
-EXPORTS
-PerfClose
-PerfCollect
-PerfOpen
+; 
+; Exports of file MQPERF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MQPERF.dll
+EXPORTS
+PerfClose
+PerfCollect
+PerfOpen
diff --git a/mingw-w64-crt/lib64/wmqrt.def b/mingw-w64-crt/lib64/wmqrt.def
index 1ecb435..42dbc8b 100644
--- a/mingw-w64-crt/lib64/wmqrt.def
+++ b/mingw-w64-crt/lib64/wmqrt.def
@@ -1,54 +1,54 @@
-; 
-; Exports of file mqrt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqrt.dll
-EXPORTS
-MQLogHR
-DllRegisterServer
-MQADsPathToFormatName
-MQAllocateMemory
-MQBeginTransaction
-MQCloseCursor
-MQCloseQueue
-MQCreateCursor
-MQCreateQueue
-MQDeleteQueue
-MQFreeMemory
-MQFreeSecurityContext
-MQGetMachineProperties
-MQGetOverlappedResult
-MQGetPrivateComputerInformation
-MQGetQueueProperties
-MQGetQueueSecurity
-MQGetSecurityContext
-MQGetSecurityContextEx
-MQHandleToFormatName
-MQInstanceToFormatName
-MQLocateBegin
-MQLocateEnd
-MQLocateNext
-MQMgmtAction
-MQMgmtGetInfo
-MQOpenQueue
-MQPathNameToFormatName
-MQPurgeQueue
-MQReceiveMessage
-MQReceiveMessageByLookupId
-MQRegisterCertificate
-MQSendMessage
-MQSetQueueProperties
-MQSetQueueSecurity
-RTCreateInternalCertificate
-RTDeleteInternalCert
-RTGetInternalCert
-RTGetUserCerts
-RTIsDependentClient
-RTLogOnRegisterCert
-RTOpenInternalCertStore
-RTRegisterUserCert
-RTRemoveUserCert
-RTRemoveUserCertSid
-RTXactGetDTC
+; 
+; Exports of file mqrt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqrt.dll
+EXPORTS
+MQLogHR
+DllRegisterServer
+MQADsPathToFormatName
+MQAllocateMemory
+MQBeginTransaction
+MQCloseCursor
+MQCloseQueue
+MQCreateCursor
+MQCreateQueue
+MQDeleteQueue
+MQFreeMemory
+MQFreeSecurityContext
+MQGetMachineProperties
+MQGetOverlappedResult
+MQGetPrivateComputerInformation
+MQGetQueueProperties
+MQGetQueueSecurity
+MQGetSecurityContext
+MQGetSecurityContextEx
+MQHandleToFormatName
+MQInstanceToFormatName
+MQLocateBegin
+MQLocateEnd
+MQLocateNext
+MQMgmtAction
+MQMgmtGetInfo
+MQOpenQueue
+MQPathNameToFormatName
+MQPurgeQueue
+MQReceiveMessage
+MQReceiveMessageByLookupId
+MQRegisterCertificate
+MQSendMessage
+MQSetQueueProperties
+MQSetQueueSecurity
+RTCreateInternalCertificate
+RTDeleteInternalCert
+RTGetInternalCert
+RTGetUserCerts
+RTIsDependentClient
+RTLogOnRegisterCert
+RTOpenInternalCertStore
+RTRegisterUserCert
+RTRemoveUserCert
+RTRemoveUserCertSid
+RTXactGetDTC
diff --git a/mingw-w64-crt/lib64/wmqsec.def b/mingw-w64-crt/lib64/wmqsec.def
index 9375278..28b0cdf 100644
--- a/mingw-w64-crt/lib64/wmqsec.def
+++ b/mingw-w64-crt/lib64/wmqsec.def
@@ -1,329 +1,329 @@
-; 
-; Exports of file mqsec.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqsec.dll
-EXPORTS
-; public: __thiscall CCancelRpc::CCancelRpc(class CCancelRpc const &)
-??0CCancelRpc@@QAE@ABV0@@Z
-; public: __thiscall CCancelRpc::CCancelRpc(void)
-??0CCancelRpc@@QAE@XZ
-; public: __thiscall CColumns::CColumns(class CColumns const &)
-??0CColumns@@QAE@ABV0@@Z
-; public: __thiscall CColumns::CColumns(unsigned int)
-??0CColumns@@QAE@I@Z
-; public: __thiscall CDSBaseUpdate::CDSBaseUpdate(class CDSBaseUpdate const &)
-??0CDSBaseUpdate@@QAE@ABV0@@Z
-; public: __thiscall CDSBaseUpdate::CDSBaseUpdate(void)
-??0CDSBaseUpdate@@QAE@XZ
-; public: __thiscall COutputReport::COutputReport(void)
-??0COutputReport@@QAE@XZ
-; public: __thiscall CPropertyRestriction::CPropertyRestriction(class CPropertyRestriction const &)
-??0CPropertyRestriction@@QAE@ABV0@@Z
-; public: __thiscall CPropertyRestriction::CPropertyRestriction(unsigned long,unsigned long const &,class CMQVariant const &)
-??0CPropertyRestriction@@QAE@KABKABVCMQVariant@@@Z
-; public: __thiscall CPropertyRestriction::CPropertyRestriction(void)
-??0CPropertyRestriction@@QAE@XZ
-; public: __thiscall CRestriction::CRestriction(class CRestriction const &)
-??0CRestriction@@QAE@ABV0@@Z
-; public: __thiscall CRestriction::CRestriction(unsigned int)
-??0CRestriction@@QAE@I@Z
-; public: __thiscall CSort::CSort(class CSort const &)
-??0CSort@@QAE@ABV0@@Z
-; public: __thiscall CSort::CSort(unsigned int)
-??0CSort@@QAE@I@Z
-; public: __thiscall CSortKey::CSortKey(unsigned long const &,unsigned long)
-??0CSortKey@@QAE@ABKK@Z
-; public: __thiscall CSortKey::CSortKey(void)
-??0CSortKey@@QAE@XZ
-; public: __thiscall CCancelRpc::~CCancelRpc(void)
-??1CCancelRpc@@QAE@XZ
-; public: __thiscall CColumns::~CColumns(void)
-??1CColumns@@QAE@XZ
-; public: __thiscall CDSBaseUpdate::~CDSBaseUpdate(void)
-??1CDSBaseUpdate@@QAE@XZ
-; public: __thiscall COutputReport::~COutputReport(void)
-??1COutputReport@@QAE@XZ
-; public: __thiscall CPropertyRestriction::~CPropertyRestriction(void)
-??1CPropertyRestriction@@QAE@XZ
-; public: __thiscall CRestriction::~CRestriction(void)
-??1CRestriction@@QAE@XZ
-; public: __thiscall CSort::~CSort(void)
-??1CSort@@QAE@XZ
-; public: __thiscall CSortKey::~CSortKey(void)
-??1CSortKey@@QAE@XZ
-; public: class CCancelRpc & __thiscall CCancelRpc::operator=(class CCancelRpc const &)
-??4CCancelRpc@@QAEAAV0@ABV0@@Z
-; public: class CDSBaseUpdate & __thiscall CDSBaseUpdate::operator=(class CDSBaseUpdate const &)
-??4CDSBaseUpdate@@QAEAAV0@ABV0@@Z
-; public: class COutputReport & __thiscall COutputReport::operator=(class COutputReport const &)
-??4COutputReport@@QAEAAV0@ABV0@@Z
-; public: class CPropertyRestriction & __thiscall CPropertyRestriction::operator=(class CPropertyRestriction const &)
-??4CPropertyRestriction@@QAEAAV0@ABV0@@Z
-; public: class CRestriction & __thiscall CRestriction::operator=(class CRestriction const &)
-??4CRestriction@@QAEAAV0@ABV0@@Z
-; public: class CSortKey & __thiscall CSortKey::operator=(class CSortKey const &)
-??4CSortKey@@QAEAAV0@ABV0@@Z
-; public: void __thiscall CColumns::`default constructor closure'(void)
-??_FCColumns@@QAEXXZ
-; public: void __thiscall CRestriction::`default constructor closure'(void)
-??_FCRestriction@@QAEXXZ
-; public: void __thiscall CSort::`default constructor closure'(void)
-??_FCSort@@QAEXXZ
-; public: void __thiscall CCancelRpc::Add(void *,long)
-?Add@CCancelRpc@@QAEXPAXJ@Z
-; public: void __thiscall CColumns::Add(unsigned long const &)
-?Add@CColumns@@QAEXABK@Z
-; public: void __thiscall CSort::Add(unsigned long const &,unsigned long)
-?Add@CSort@@QAEXABKK@Z
-; public: void __thiscall CSort::Add(class CSortKey const &)
-?Add@CSort@@QAEXABVCSortKey@@@Z
-; public: void __thiscall CRestriction::AddChild(class CPropertyRestriction const &)
-?AddChild@CRestriction@@QAEXABVCPropertyRestriction@@@Z
-; public: void __thiscall CRestriction::AddRestriction(struct tagBLOB &,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXAAUtagBLOB@@KK@Z
-; public: void __thiscall CRestriction::AddRestriction(class CMQVariant const &,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXABVCMQVariant@@KK@Z
-; public: void __thiscall CRestriction::AddRestriction(unsigned char,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXEKK@Z
-; public: void __thiscall CRestriction::AddRestriction(short,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXFKK@Z
-; public: void __thiscall CRestriction::AddRestriction(long,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXJKK@Z
-; public: void __thiscall CRestriction::AddRestriction(unsigned long,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXKKK@Z
-; public: void __thiscall CRestriction::AddRestriction(unsigned short *,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXPAGKK@Z
-; public: void __thiscall CRestriction::AddRestriction(struct _GUID *,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXPAU_GUID@@KK@Z
-; public: void __thiscall CRestriction::AddRestriction(struct tagCACLSID *,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXPAUtagCACLSID@@KK@Z
-; public: void __thiscall CRestriction::AddRestriction(struct tagCALPWSTR *,unsigned long,unsigned long)
-?AddRestriction@CRestriction@@QAEXPAUtagCALPWSTR@@KK@Z
-; public: void __thiscall CCancelRpc::CancelRequests(long)
-?CancelRequests@CCancelRpc@@QAEXJ@Z
-; private: static unsigned long __stdcall CCancelRpc::CancelThread(void *)
-?CancelThread@CCancelRpc@@CGKPAX@Z
-; public: struct tagMQCOLUMNSET * __thiscall CColumns::CastToStruct(void)
-?CastToStruct@CColumns@@QAEPAUtagMQCOLUMNSET@@XZ
-; public: struct tagMQRESTRICTION * __thiscall CRestriction::CastToStruct(void)
-?CastToStruct@CRestriction@@QAEPAUtagMQRESTRICTION@@XZ
-; public: struct tagMQSORTSET * __thiscall CSort::CastToStruct(void)
-?CastToStruct@CSort@@QAEPAUtagMQSORTSET@@XZ
-; void __stdcall ComposeRPCEndPointName(unsigned short const *,unsigned short const *,unsigned short * *)
-?ComposeRPCEndPointName@@YGXPBG0PAPAG@Z
-; private: long __thiscall CDSBaseUpdate::CopyProperty(struct tagPROPVARIANT &,struct tagPROPVARIANT *)
-?CopyProperty@CDSBaseUpdate@@AAEJAAUtagPROPVARIANT@@PAU2@@Z
-; public: unsigned int __thiscall CColumns::Count(void)const 
-?Count@CColumns@@QBEIXZ
-; public: unsigned int __thiscall CRestriction::Count(void)const 
-?Count@CRestriction@@QBEIXZ
-; public: unsigned int __thiscall CSort::Count(void)const 
-?Count@CSort@@QBEIXZ
-; long __stdcall DeleteFalconKeyValue(unsigned short const *)
-?DeleteFalconKeyValue@@YGJPBG@Z
-; private: void __thiscall CDSBaseUpdate::DeleteProperty(struct tagPROPVARIANT &)
-?DeleteProperty@CDSBaseUpdate@@AAEXAAUtagPROPVARIANT@@@Z
-FreeContextHandle
-; public: unsigned long const & __thiscall CColumns::Get(unsigned int)const 
-?Get@CColumns@@QBEABKI@Z
-; public: class CSortKey const & __thiscall CSort::Get(unsigned int)const 
-?Get@CSort@@QBEABVCSortKey@@I@Z
-; public: class CPropertyRestriction const & __thiscall CRestriction::GetChild(unsigned int)const 
-?GetChild@CRestriction@@QBEABVCPropertyRestriction@@I@Z
-; public: unsigned char __thiscall CDSBaseUpdate::GetCommand(void)
-?GetCommand@CDSBaseUpdate@@QAEEXZ
-; long __stdcall GetComputerDnsNameInternal(unsigned short *,unsigned long *)
-?GetComputerDnsNameInternal@@YGJPAGPAK@Z
-; long __stdcall GetComputerNameInternal(unsigned short *,unsigned long *)
-?GetComputerNameInternal@@YGJPAGPAK@Z
-GetDomainFQDNName
-; long __stdcall GetFalconKey(unsigned short const *,struct HKEY__ * *)
-?GetFalconKey@@YGJPBGPAPAUHKEY__@@@Z
-GetFalconKeyValue
-; unsigned short const * __stdcall GetFalconSectionName(void)
-?GetFalconSectionName@@YGPBGXZ
-; unsigned long __stdcall GetFalconServiceName(unsigned short *,unsigned long)
-?GetFalconServiceName@@YGKPAGK@Z
-; public: struct _GUID * __thiscall CDSBaseUpdate::GetGuidIdentifier(void)
-?GetGuidIdentifier@CDSBaseUpdate@@QAEPAU_GUID@@XZ
-; public: struct _GUID const * __thiscall CDSBaseUpdate::GetMasterId(void)
-?GetMasterId@CDSBaseUpdate@@QAEPBU_GUID@@XZ
-; public: unsigned long __thiscall CDSBaseUpdate::GetObjectType(void)
-?GetObjectType@CDSBaseUpdate@@QAEKXZ
-; public: unsigned long __thiscall CSortKey::GetOrder(void)const 
-?GetOrder@CSortKey@@QBEKXZ
-; public: unsigned short * __thiscall CDSBaseUpdate::GetPathName(void)
-?GetPathName@CDSBaseUpdate@@QAEPAGXZ
-; public: class CSeqNum const & __thiscall CDSBaseUpdate::GetPrevSeqNum(void)const 
-?GetPrevSeqNum@CDSBaseUpdate@@QBEABVCSeqNum@@XZ
-; public: unsigned long const & __thiscall CSortKey::GetProperty(void)const 
-?GetProperty@CSortKey@@QBEABKXZ
-; public: unsigned long * __thiscall CDSBaseUpdate::GetProps(void)
-?GetProps@CDSBaseUpdate@@QAEPAKXZ
-; public: class CSeqNum const & __thiscall CDSBaseUpdate::GetPurgeSeqNum(void)const 
-?GetPurgeSeqNum@CDSBaseUpdate@@QBEABVCSeqNum@@XZ
-; public: class CSeqNum const & __thiscall CDSBaseUpdate::GetSeqNum(void)const 
-?GetSeqNum@CDSBaseUpdate@@QBEABVCSeqNum@@XZ
-; public: long __thiscall CDSBaseUpdate::GetSerializeSize(unsigned long *)
-?GetSerializeSize@CDSBaseUpdate@@QAEJPAK@Z
-GetSizes
-; long __stdcall GetThisServerIpPort(unsigned short *,unsigned long)
-?GetThisServerIpPort@@YGJPAGK@Z
-; public: struct tagPROPVARIANT * __thiscall CDSBaseUpdate::GetVars(void)
-?GetVars@CDSBaseUpdate@@QAEPAUtagPROPVARIANT@@XZ
-; private: void __thiscall CRestriction::Grow(void)
-?Grow@CRestriction@@AAEXXZ
-; long __stdcall HashMessageProperties(unsigned long,unsigned char const *,unsigned long,unsigned long,unsigned char const *,unsigned long,unsigned short const *,unsigned long,struct QUEUE_FORMAT const *,struct QUEUE_FORMAT const *)
-?HashMessageProperties@@YGJKPBEKK0KPBGKPBUQUEUE_FORMAT@@2@Z
-; long __stdcall HashProperties(unsigned long,unsigned long,unsigned long *,struct tagPROPVARIANT *)
-?HashProperties@@YGJKKPAKPAUtagPROPVARIANT@@@Z
-; public: void __thiscall CCancelRpc::Init(void)
-?Init@CCancelRpc@@QAEXXZ
-; public: long __thiscall CDSBaseUpdate::Init(unsigned char const *,unsigned long *,int)
-?Init@CDSBaseUpdate@@QAEJPBEPAKH@Z
-; public: long __thiscall CDSBaseUpdate::Init(struct _GUID const *,class CSeqNum const &,class CSeqNum const &,class CSeqNum const &,int,unsigned char,unsigned long,struct _GUID const *,unsigned long,unsigned long *,struct tagPROPVARIANT *)
-?Init@CDSBaseUpdate@@QAEJPBU_GUID@@ABVCSeqNum@@11HEK0KPAKPAUtagPROPVARIANT@@@Z
-; public: long __thiscall CDSBaseUpdate::Init(struct _GUID const *,class CSeqNum const &,class CSeqNum const &,class CSeqNum const &,int,unsigned char,unsigned long,unsigned short *,unsigned long,unsigned long *,struct tagPROPVARIANT *)
-?Init@CDSBaseUpdate@@QAEJPBU_GUID@@ABVCSeqNum@@11HEKPAGKPAKPAUtagPROPVARIANT@@@Z
-; private: long __thiscall CDSBaseUpdate::InitProperty(unsigned char const *,unsigned long *,unsigned long,struct tagPROPVARIANT &)
-?InitProperty@CDSBaseUpdate@@AAEJPBEPAKKAAUtagPROPVARIANT@@@Z
-; bool __stdcall IsLocalSystemCluster(void)
-?IsLocalSystemCluster@@YG_NXZ
-; public: void __thiscall COutputReport::KeepErrorHistory(unsigned short const *,unsigned short,long)
-?KeepErrorHistory@COutputReport@@QAEXPBGGJ@Z
-MQSealBuffer
-MQSec_AccessCheck
-MQSec_AccessCheckForSelf
-MQSec_AcquireCryptoProvider
-MQSec_CanGenerateAudit
-MQSec_ConvertSDToNT4Format
-MQSec_ConvertSDToNT5Format
-MQSec_CopySecurityDescriptor
-MQSec_GetAdminSid
-MQSec_GetAnonymousSid
-MQSec_GetCryptoProvProperty
-MQSec_GetDefaultSecDescriptor
-MQSec_GetImpersonationObject
-MQSec_GetLocalMachineSid
-MQSec_GetLocalSystemSid
-MQSec_GetNetworkServiceSid
-MQSec_GetProcessSid
-MQSec_GetProcessUserSid
-MQSec_GetPubKeysFromDS
-MQSec_GetThreadUserSid
-MQSec_GetUserType
-MQSec_GetWorldSid
-MQSec_IsAnonymusSid
-MQSec_IsDC
-MQSec_IsGuestSid
-MQSec_IsNetworkServiceSid
-MQSec_IsSystemSid
-MQSec_IsUnAuthenticatedUser
-MQSec_MakeAbsoluteSD
-MQSec_MakeSelfRelative
-MQSec_MergeSecurityDescriptors
-MQSec_PackPublicKey
-MQSec_RpcAuthnLevel
-MQSec_SetLocalRpcMutualAuth
-MQSec_SetPrivilegeInThread
-MQSec_SetSecurityDescriptorDacl
-MQSec_StorePubKeys
-MQSec_StorePubKeysInDS
-MQSec_TraceThreadTokenInfo
-MQSec_UnpackPublicKey
-MQSec_UpdateLocalMachineSid
-; long __stdcall MQSetCaConfig(unsigned long,class MQ_CA_CONFIG *)
-?MQSetCaConfig@@YGJKPAVMQ_CA_CONFIG@@@Z
-MQSigHashMessageProperties
-MQUInitGlobalScurityVars
-MQsspi_InitServerAuthntication
-; private: void __thiscall CCancelRpc::ProcessEvents(void)
-?ProcessEvents@CCancelRpc@@AAEXXZ
-; void __stdcall ProduceRPCErrorTracing(unsigned short *,unsigned long)
-?ProduceRPCErrorTracing@@YGXPAGK@Z
-; public: unsigned long __thiscall CPropertyRestriction::Relation(void)
-?Relation@CPropertyRestriction@@QAEKXZ
-; public: void __thiscall CCancelRpc::Remove(void *)
-?Remove@CCancelRpc@@QAEXPAX@Z
-; public: void __thiscall CColumns::Remove(unsigned int)
-?Remove@CColumns@@QAEXI@Z
-; public: void __thiscall CSort::Remove(unsigned int)
-?Remove@CSort@@QAEXI@Z
-; class COutputReport  Report
-?Report@@3VCOutputReport@@A DATA
-; public: unsigned long __thiscall CCancelRpc::RpcCancelTimeout(void)
-?RpcCancelTimeout@CCancelRpc@@QAEKXZ
-; public: long __thiscall CDSBaseUpdate::Serialize(unsigned char *,unsigned long *,int)
-?Serialize@CDSBaseUpdate@@QAEJPAEPAKH@Z
-; private: long __thiscall CDSBaseUpdate::SerializeProperty(struct tagPROPVARIANT &,unsigned char *,unsigned long *)
-?SerializeProperty@CDSBaseUpdate@@AAEJAAUtagPROPVARIANT@@PAEPAK@Z
-ServerAcceptSecCtx
-; public: void __thiscall CRestriction::SetChild(class CPropertyRestriction const &,unsigned int)
-?SetChild@CRestriction@@QAEXABVCPropertyRestriction@@I@Z
-SetFalconKeyValue
-SetFalconServiceName
-; public: void __thiscall CSortKey::SetOrder(unsigned long const &)
-?SetOrder@CSortKey@@QAEXABK@Z
-; public: void __thiscall CDSBaseUpdate::SetPrevSeqNum(class CSeqNum &)
-?SetPrevSeqNum@CDSBaseUpdate@@QAEXAAVCSeqNum@@@Z
-; public: void __thiscall CPropertyRestriction::SetProperty(unsigned long const &)
-?SetProperty@CPropertyRestriction@@QAEXABK@Z
-; public: void __thiscall CSortKey::SetProperty(unsigned long const &)
-?SetProperty@CSortKey@@QAEXABK@Z
-; public: void __thiscall CPropertyRestriction::SetRelation(unsigned long)
-?SetRelation@CPropertyRestriction@@QAEXK@Z
-; public: void __thiscall CPropertyRestriction::SetValue(struct tagBLOB &)
-?SetValue@CPropertyRestriction@@QAEXAAUtagBLOB@@@Z
-; public: void __thiscall CPropertyRestriction::SetValue(class CMQVariant const &)
-?SetValue@CPropertyRestriction@@QAEXABVCMQVariant@@@Z
-; public: void __thiscall CPropertyRestriction::SetValue(unsigned char)
-?SetValue@CPropertyRestriction@@QAEXE@Z
-; public: void __thiscall CPropertyRestriction::SetValue(short)
-?SetValue@CPropertyRestriction@@QAEXF@Z
-; public: void __thiscall CPropertyRestriction::SetValue(long)
-?SetValue@CPropertyRestriction@@QAEXJ@Z
-; public: void __thiscall CPropertyRestriction::SetValue(unsigned long)
-?SetValue@CPropertyRestriction@@QAEXK@Z
-; public: void __thiscall CPropertyRestriction::SetValue(unsigned short *)
-?SetValue@CPropertyRestriction@@QAEXPAG@Z
-; public: void __thiscall CPropertyRestriction::SetValue(struct _GUID *)
-?SetValue@CPropertyRestriction@@QAEXPAU_GUID@@@Z
-; public: void __thiscall CPropertyRestriction::SetValue(struct tagCACLSID *)
-?SetValue@CPropertyRestriction@@QAEXPAUtagCACLSID@@@Z
-; public: void __thiscall CPropertyRestriction::SetValue(struct tagCALPWSTR *)
-?SetValue@CPropertyRestriction@@QAEXPAUtagCALPWSTR@@@Z
-; public: void __thiscall CCancelRpc::ShutDownCancelThread(void)
-?ShutDownCancelThread@CCancelRpc@@QAEXXZ
-ShutDownDebugWindow
-; unsigned int __stdcall UnalignedWcslen(unsigned short const *)
-?UnalignedWcslen@@YGIPBG@Z
-; public: class CMQVariant const & __thiscall CPropertyRestriction::Value(void)
-?Value@CPropertyRestriction@@QAEABVCMQVariant@@XZ
-; long __stdcall XactGetDTC(struct IUnknown * *)
-?XactGetDTC@@YGJPAPAUIUnknown@@@Z
-; long __stdcall XactGetWhereabouts(unsigned long *,unsigned char *)
-?XactGetWhereabouts@@YGJPAKPAE@Z
-; class CCancelRpc  g_CancelRpc
-?g_CancelRpc@@3VCCancelRpc@@A DATA
-; class CHCryptProv  g_hProvVer
-?g_hProvVer@@3VCHCryptProv@@A DATA
-; public: unsigned char __thiscall CDSBaseUpdate::getNumOfProps(void)
-?getNumOfProps@CDSBaseUpdate@@QAEEXZ
-; long __stdcall mqrpcBindQMService(unsigned short *,unsigned short *,unsigned long *,void * *,enum PORTTYPE,unsigned long (__stdcall*)(void *,unsigned long),unsigned long)
-?mqrpcBindQMService@@YGJPAG0PAKPAPAXW4PORTTYPE@@P6GKPAXK@ZK@Z
-; unsigned long __stdcall mqrpcGetLocalCallPID(void *)
-?mqrpcGetLocalCallPID@@YGKPAX@Z
-; int __stdcall mqrpcIsLocalCall(void *)
-?mqrpcIsLocalCall@@YGHPAX@Z
-; int __stdcall mqrpcIsTcpipTransport(void *)
-?mqrpcIsTcpipTransport@@YGHPAX@Z
-; long __stdcall mqrpcUnbindQMService(void * *,unsigned short * *)
-?mqrpcUnbindQMService@@YGJPAPAXPAPAG@Z
-MQSigCloneCertFromReg
-MQSigCloneCertFromSysStore
-MQSigCreateCertificate
-MQSigOpenUserCertStore
-MSMQGetOperatingSystem
+; 
+; Exports of file mqsec.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqsec.dll
+EXPORTS
+; public: __thiscall CCancelRpc::CCancelRpc(class CCancelRpc const &)
+??0CCancelRpc@@QAE@ABV0@@Z
+; public: __thiscall CCancelRpc::CCancelRpc(void)
+??0CCancelRpc@@QAE@XZ
+; public: __thiscall CColumns::CColumns(class CColumns const &)
+??0CColumns@@QAE@ABV0@@Z
+; public: __thiscall CColumns::CColumns(unsigned int)
+??0CColumns@@QAE@I@Z
+; public: __thiscall CDSBaseUpdate::CDSBaseUpdate(class CDSBaseUpdate const &)
+??0CDSBaseUpdate@@QAE@ABV0@@Z
+; public: __thiscall CDSBaseUpdate::CDSBaseUpdate(void)
+??0CDSBaseUpdate@@QAE@XZ
+; public: __thiscall COutputReport::COutputReport(void)
+??0COutputReport@@QAE@XZ
+; public: __thiscall CPropertyRestriction::CPropertyRestriction(class CPropertyRestriction const &)
+??0CPropertyRestriction@@QAE@ABV0@@Z
+; public: __thiscall CPropertyRestriction::CPropertyRestriction(unsigned long,unsigned long const &,class CMQVariant const &)
+??0CPropertyRestriction@@QAE@KABKABVCMQVariant@@@Z
+; public: __thiscall CPropertyRestriction::CPropertyRestriction(void)
+??0CPropertyRestriction@@QAE@XZ
+; public: __thiscall CRestriction::CRestriction(class CRestriction const &)
+??0CRestriction@@QAE@ABV0@@Z
+; public: __thiscall CRestriction::CRestriction(unsigned int)
+??0CRestriction@@QAE@I@Z
+; public: __thiscall CSort::CSort(class CSort const &)
+??0CSort@@QAE@ABV0@@Z
+; public: __thiscall CSort::CSort(unsigned int)
+??0CSort@@QAE@I@Z
+; public: __thiscall CSortKey::CSortKey(unsigned long const &,unsigned long)
+??0CSortKey@@QAE@ABKK@Z
+; public: __thiscall CSortKey::CSortKey(void)
+??0CSortKey@@QAE@XZ
+; public: __thiscall CCancelRpc::~CCancelRpc(void)
+??1CCancelRpc@@QAE@XZ
+; public: __thiscall CColumns::~CColumns(void)
+??1CColumns@@QAE@XZ
+; public: __thiscall CDSBaseUpdate::~CDSBaseUpdate(void)
+??1CDSBaseUpdate@@QAE@XZ
+; public: __thiscall COutputReport::~COutputReport(void)
+??1COutputReport@@QAE@XZ
+; public: __thiscall CPropertyRestriction::~CPropertyRestriction(void)
+??1CPropertyRestriction@@QAE@XZ
+; public: __thiscall CRestriction::~CRestriction(void)
+??1CRestriction@@QAE@XZ
+; public: __thiscall CSort::~CSort(void)
+??1CSort@@QAE@XZ
+; public: __thiscall CSortKey::~CSortKey(void)
+??1CSortKey@@QAE@XZ
+; public: class CCancelRpc & __thiscall CCancelRpc::operator=(class CCancelRpc const &)
+??4CCancelRpc@@QAEAAV0@ABV0@@Z
+; public: class CDSBaseUpdate & __thiscall CDSBaseUpdate::operator=(class CDSBaseUpdate const &)
+??4CDSBaseUpdate@@QAEAAV0@ABV0@@Z
+; public: class COutputReport & __thiscall COutputReport::operator=(class COutputReport const &)
+??4COutputReport@@QAEAAV0@ABV0@@Z
+; public: class CPropertyRestriction & __thiscall CPropertyRestriction::operator=(class CPropertyRestriction const &)
+??4CPropertyRestriction@@QAEAAV0@ABV0@@Z
+; public: class CRestriction & __thiscall CRestriction::operator=(class CRestriction const &)
+??4CRestriction@@QAEAAV0@ABV0@@Z
+; public: class CSortKey & __thiscall CSortKey::operator=(class CSortKey const &)
+??4CSortKey@@QAEAAV0@ABV0@@Z
+; public: void __thiscall CColumns::`default constructor closure'(void)
+??_FCColumns@@QAEXXZ
+; public: void __thiscall CRestriction::`default constructor closure'(void)
+??_FCRestriction@@QAEXXZ
+; public: void __thiscall CSort::`default constructor closure'(void)
+??_FCSort@@QAEXXZ
+; public: void __thiscall CCancelRpc::Add(void *,long)
+?Add@CCancelRpc@@QAEXPAXJ@Z
+; public: void __thiscall CColumns::Add(unsigned long const &)
+?Add@CColumns@@QAEXABK@Z
+; public: void __thiscall CSort::Add(unsigned long const &,unsigned long)
+?Add@CSort@@QAEXABKK@Z
+; public: void __thiscall CSort::Add(class CSortKey const &)
+?Add@CSort@@QAEXABVCSortKey@@@Z
+; public: void __thiscall CRestriction::AddChild(class CPropertyRestriction const &)
+?AddChild@CRestriction@@QAEXABVCPropertyRestriction@@@Z
+; public: void __thiscall CRestriction::AddRestriction(struct tagBLOB &,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXAAUtagBLOB@@KK@Z
+; public: void __thiscall CRestriction::AddRestriction(class CMQVariant const &,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXABVCMQVariant@@KK@Z
+; public: void __thiscall CRestriction::AddRestriction(unsigned char,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXEKK@Z
+; public: void __thiscall CRestriction::AddRestriction(short,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXFKK@Z
+; public: void __thiscall CRestriction::AddRestriction(long,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXJKK@Z
+; public: void __thiscall CRestriction::AddRestriction(unsigned long,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXKKK@Z
+; public: void __thiscall CRestriction::AddRestriction(unsigned short *,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXPAGKK@Z
+; public: void __thiscall CRestriction::AddRestriction(struct _GUID *,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXPAU_GUID@@KK@Z
+; public: void __thiscall CRestriction::AddRestriction(struct tagCACLSID *,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXPAUtagCACLSID@@KK@Z
+; public: void __thiscall CRestriction::AddRestriction(struct tagCALPWSTR *,unsigned long,unsigned long)
+?AddRestriction@CRestriction@@QAEXPAUtagCALPWSTR@@KK@Z
+; public: void __thiscall CCancelRpc::CancelRequests(long)
+?CancelRequests@CCancelRpc@@QAEXJ@Z
+; private: static unsigned long __stdcall CCancelRpc::CancelThread(void *)
+?CancelThread@CCancelRpc@@CGKPAX@Z
+; public: struct tagMQCOLUMNSET * __thiscall CColumns::CastToStruct(void)
+?CastToStruct@CColumns@@QAEPAUtagMQCOLUMNSET@@XZ
+; public: struct tagMQRESTRICTION * __thiscall CRestriction::CastToStruct(void)
+?CastToStruct@CRestriction@@QAEPAUtagMQRESTRICTION@@XZ
+; public: struct tagMQSORTSET * __thiscall CSort::CastToStruct(void)
+?CastToStruct@CSort@@QAEPAUtagMQSORTSET@@XZ
+; void __stdcall ComposeRPCEndPointName(unsigned short const *,unsigned short const *,unsigned short * *)
+?ComposeRPCEndPointName@@YGXPBG0PAPAG@Z
+; private: long __thiscall CDSBaseUpdate::CopyProperty(struct tagPROPVARIANT &,struct tagPROPVARIANT *)
+?CopyProperty@CDSBaseUpdate@@AAEJAAUtagPROPVARIANT@@PAU2@@Z
+; public: unsigned int __thiscall CColumns::Count(void)const 
+?Count@CColumns@@QBEIXZ
+; public: unsigned int __thiscall CRestriction::Count(void)const 
+?Count@CRestriction@@QBEIXZ
+; public: unsigned int __thiscall CSort::Count(void)const 
+?Count@CSort@@QBEIXZ
+; long __stdcall DeleteFalconKeyValue(unsigned short const *)
+?DeleteFalconKeyValue@@YGJPBG@Z
+; private: void __thiscall CDSBaseUpdate::DeleteProperty(struct tagPROPVARIANT &)
+?DeleteProperty@CDSBaseUpdate@@AAEXAAUtagPROPVARIANT@@@Z
+FreeContextHandle
+; public: unsigned long const & __thiscall CColumns::Get(unsigned int)const 
+?Get@CColumns@@QBEABKI@Z
+; public: class CSortKey const & __thiscall CSort::Get(unsigned int)const 
+?Get@CSort@@QBEABVCSortKey@@I@Z
+; public: class CPropertyRestriction const & __thiscall CRestriction::GetChild(unsigned int)const 
+?GetChild@CRestriction@@QBEABVCPropertyRestriction@@I@Z
+; public: unsigned char __thiscall CDSBaseUpdate::GetCommand(void)
+?GetCommand@CDSBaseUpdate@@QAEEXZ
+; long __stdcall GetComputerDnsNameInternal(unsigned short *,unsigned long *)
+?GetComputerDnsNameInternal@@YGJPAGPAK@Z
+; long __stdcall GetComputerNameInternal(unsigned short *,unsigned long *)
+?GetComputerNameInternal@@YGJPAGPAK@Z
+GetDomainFQDNName
+; long __stdcall GetFalconKey(unsigned short const *,struct HKEY__ * *)
+?GetFalconKey@@YGJPBGPAPAUHKEY__@@@Z
+GetFalconKeyValue
+; unsigned short const * __stdcall GetFalconSectionName(void)
+?GetFalconSectionName@@YGPBGXZ
+; unsigned long __stdcall GetFalconServiceName(unsigned short *,unsigned long)
+?GetFalconServiceName@@YGKPAGK@Z
+; public: struct _GUID * __thiscall CDSBaseUpdate::GetGuidIdentifier(void)
+?GetGuidIdentifier@CDSBaseUpdate@@QAEPAU_GUID@@XZ
+; public: struct _GUID const * __thiscall CDSBaseUpdate::GetMasterId(void)
+?GetMasterId@CDSBaseUpdate@@QAEPBU_GUID@@XZ
+; public: unsigned long __thiscall CDSBaseUpdate::GetObjectType(void)
+?GetObjectType@CDSBaseUpdate@@QAEKXZ
+; public: unsigned long __thiscall CSortKey::GetOrder(void)const 
+?GetOrder@CSortKey@@QBEKXZ
+; public: unsigned short * __thiscall CDSBaseUpdate::GetPathName(void)
+?GetPathName@CDSBaseUpdate@@QAEPAGXZ
+; public: class CSeqNum const & __thiscall CDSBaseUpdate::GetPrevSeqNum(void)const 
+?GetPrevSeqNum@CDSBaseUpdate@@QBEABVCSeqNum@@XZ
+; public: unsigned long const & __thiscall CSortKey::GetProperty(void)const 
+?GetProperty@CSortKey@@QBEABKXZ
+; public: unsigned long * __thiscall CDSBaseUpdate::GetProps(void)
+?GetProps@CDSBaseUpdate@@QAEPAKXZ
+; public: class CSeqNum const & __thiscall CDSBaseUpdate::GetPurgeSeqNum(void)const 
+?GetPurgeSeqNum@CDSBaseUpdate@@QBEABVCSeqNum@@XZ
+; public: class CSeqNum const & __thiscall CDSBaseUpdate::GetSeqNum(void)const 
+?GetSeqNum@CDSBaseUpdate@@QBEABVCSeqNum@@XZ
+; public: long __thiscall CDSBaseUpdate::GetSerializeSize(unsigned long *)
+?GetSerializeSize@CDSBaseUpdate@@QAEJPAK@Z
+GetSizes
+; long __stdcall GetThisServerIpPort(unsigned short *,unsigned long)
+?GetThisServerIpPort@@YGJPAGK@Z
+; public: struct tagPROPVARIANT * __thiscall CDSBaseUpdate::GetVars(void)
+?GetVars@CDSBaseUpdate@@QAEPAUtagPROPVARIANT@@XZ
+; private: void __thiscall CRestriction::Grow(void)
+?Grow@CRestriction@@AAEXXZ
+; long __stdcall HashMessageProperties(unsigned long,unsigned char const *,unsigned long,unsigned long,unsigned char const *,unsigned long,unsigned short const *,unsigned long,struct QUEUE_FORMAT const *,struct QUEUE_FORMAT const *)
+?HashMessageProperties@@YGJKPBEKK0KPBGKPBUQUEUE_FORMAT@@2@Z
+; long __stdcall HashProperties(unsigned long,unsigned long,unsigned long *,struct tagPROPVARIANT *)
+?HashProperties@@YGJKKPAKPAUtagPROPVARIANT@@@Z
+; public: void __thiscall CCancelRpc::Init(void)
+?Init@CCancelRpc@@QAEXXZ
+; public: long __thiscall CDSBaseUpdate::Init(unsigned char const *,unsigned long *,int)
+?Init@CDSBaseUpdate@@QAEJPBEPAKH@Z
+; public: long __thiscall CDSBaseUpdate::Init(struct _GUID const *,class CSeqNum const &,class CSeqNum const &,class CSeqNum const &,int,unsigned char,unsigned long,struct _GUID const *,unsigned long,unsigned long *,struct tagPROPVARIANT *)
+?Init@CDSBaseUpdate@@QAEJPBU_GUID@@ABVCSeqNum@@11HEK0KPAKPAUtagPROPVARIANT@@@Z
+; public: long __thiscall CDSBaseUpdate::Init(struct _GUID const *,class CSeqNum const &,class CSeqNum const &,class CSeqNum const &,int,unsigned char,unsigned long,unsigned short *,unsigned long,unsigned long *,struct tagPROPVARIANT *)
+?Init@CDSBaseUpdate@@QAEJPBU_GUID@@ABVCSeqNum@@11HEKPAGKPAKPAUtagPROPVARIANT@@@Z
+; private: long __thiscall CDSBaseUpdate::InitProperty(unsigned char const *,unsigned long *,unsigned long,struct tagPROPVARIANT &)
+?InitProperty@CDSBaseUpdate@@AAEJPBEPAKKAAUtagPROPVARIANT@@@Z
+; bool __stdcall IsLocalSystemCluster(void)
+?IsLocalSystemCluster@@YG_NXZ
+; public: void __thiscall COutputReport::KeepErrorHistory(unsigned short const *,unsigned short,long)
+?KeepErrorHistory@COutputReport@@QAEXPBGGJ@Z
+MQSealBuffer
+MQSec_AccessCheck
+MQSec_AccessCheckForSelf
+MQSec_AcquireCryptoProvider
+MQSec_CanGenerateAudit
+MQSec_ConvertSDToNT4Format
+MQSec_ConvertSDToNT5Format
+MQSec_CopySecurityDescriptor
+MQSec_GetAdminSid
+MQSec_GetAnonymousSid
+MQSec_GetCryptoProvProperty
+MQSec_GetDefaultSecDescriptor
+MQSec_GetImpersonationObject
+MQSec_GetLocalMachineSid
+MQSec_GetLocalSystemSid
+MQSec_GetNetworkServiceSid
+MQSec_GetProcessSid
+MQSec_GetProcessUserSid
+MQSec_GetPubKeysFromDS
+MQSec_GetThreadUserSid
+MQSec_GetUserType
+MQSec_GetWorldSid
+MQSec_IsAnonymusSid
+MQSec_IsDC
+MQSec_IsGuestSid
+MQSec_IsNetworkServiceSid
+MQSec_IsSystemSid
+MQSec_IsUnAuthenticatedUser
+MQSec_MakeAbsoluteSD
+MQSec_MakeSelfRelative
+MQSec_MergeSecurityDescriptors
+MQSec_PackPublicKey
+MQSec_RpcAuthnLevel
+MQSec_SetLocalRpcMutualAuth
+MQSec_SetPrivilegeInThread
+MQSec_SetSecurityDescriptorDacl
+MQSec_StorePubKeys
+MQSec_StorePubKeysInDS
+MQSec_TraceThreadTokenInfo
+MQSec_UnpackPublicKey
+MQSec_UpdateLocalMachineSid
+; long __stdcall MQSetCaConfig(unsigned long,class MQ_CA_CONFIG *)
+?MQSetCaConfig@@YGJKPAVMQ_CA_CONFIG@@@Z
+MQSigHashMessageProperties
+MQUInitGlobalScurityVars
+MQsspi_InitServerAuthntication
+; private: void __thiscall CCancelRpc::ProcessEvents(void)
+?ProcessEvents@CCancelRpc@@AAEXXZ
+; void __stdcall ProduceRPCErrorTracing(unsigned short *,unsigned long)
+?ProduceRPCErrorTracing@@YGXPAGK@Z
+; public: unsigned long __thiscall CPropertyRestriction::Relation(void)
+?Relation@CPropertyRestriction@@QAEKXZ
+; public: void __thiscall CCancelRpc::Remove(void *)
+?Remove@CCancelRpc@@QAEXPAX@Z
+; public: void __thiscall CColumns::Remove(unsigned int)
+?Remove@CColumns@@QAEXI@Z
+; public: void __thiscall CSort::Remove(unsigned int)
+?Remove@CSort@@QAEXI@Z
+; class COutputReport  Report
+?Report@@3VCOutputReport@@A DATA
+; public: unsigned long __thiscall CCancelRpc::RpcCancelTimeout(void)
+?RpcCancelTimeout@CCancelRpc@@QAEKXZ
+; public: long __thiscall CDSBaseUpdate::Serialize(unsigned char *,unsigned long *,int)
+?Serialize@CDSBaseUpdate@@QAEJPAEPAKH@Z
+; private: long __thiscall CDSBaseUpdate::SerializeProperty(struct tagPROPVARIANT &,unsigned char *,unsigned long *)
+?SerializeProperty@CDSBaseUpdate@@AAEJAAUtagPROPVARIANT@@PAEPAK@Z
+ServerAcceptSecCtx
+; public: void __thiscall CRestriction::SetChild(class CPropertyRestriction const &,unsigned int)
+?SetChild@CRestriction@@QAEXABVCPropertyRestriction@@I@Z
+SetFalconKeyValue
+SetFalconServiceName
+; public: void __thiscall CSortKey::SetOrder(unsigned long const &)
+?SetOrder@CSortKey@@QAEXABK@Z
+; public: void __thiscall CDSBaseUpdate::SetPrevSeqNum(class CSeqNum &)
+?SetPrevSeqNum@CDSBaseUpdate@@QAEXAAVCSeqNum@@@Z
+; public: void __thiscall CPropertyRestriction::SetProperty(unsigned long const &)
+?SetProperty@CPropertyRestriction@@QAEXABK@Z
+; public: void __thiscall CSortKey::SetProperty(unsigned long const &)
+?SetProperty@CSortKey@@QAEXABK@Z
+; public: void __thiscall CPropertyRestriction::SetRelation(unsigned long)
+?SetRelation@CPropertyRestriction@@QAEXK@Z
+; public: void __thiscall CPropertyRestriction::SetValue(struct tagBLOB &)
+?SetValue@CPropertyRestriction@@QAEXAAUtagBLOB@@@Z
+; public: void __thiscall CPropertyRestriction::SetValue(class CMQVariant const &)
+?SetValue@CPropertyRestriction@@QAEXABVCMQVariant@@@Z
+; public: void __thiscall CPropertyRestriction::SetValue(unsigned char)
+?SetValue@CPropertyRestriction@@QAEXE@Z
+; public: void __thiscall CPropertyRestriction::SetValue(short)
+?SetValue@CPropertyRestriction@@QAEXF@Z
+; public: void __thiscall CPropertyRestriction::SetValue(long)
+?SetValue@CPropertyRestriction@@QAEXJ@Z
+; public: void __thiscall CPropertyRestriction::SetValue(unsigned long)
+?SetValue@CPropertyRestriction@@QAEXK@Z
+; public: void __thiscall CPropertyRestriction::SetValue(unsigned short *)
+?SetValue@CPropertyRestriction@@QAEXPAG@Z
+; public: void __thiscall CPropertyRestriction::SetValue(struct _GUID *)
+?SetValue@CPropertyRestriction@@QAEXPAU_GUID@@@Z
+; public: void __thiscall CPropertyRestriction::SetValue(struct tagCACLSID *)
+?SetValue@CPropertyRestriction@@QAEXPAUtagCACLSID@@@Z
+; public: void __thiscall CPropertyRestriction::SetValue(struct tagCALPWSTR *)
+?SetValue@CPropertyRestriction@@QAEXPAUtagCALPWSTR@@@Z
+; public: void __thiscall CCancelRpc::ShutDownCancelThread(void)
+?ShutDownCancelThread@CCancelRpc@@QAEXXZ
+ShutDownDebugWindow
+; unsigned int __stdcall UnalignedWcslen(unsigned short const *)
+?UnalignedWcslen@@YGIPBG@Z
+; public: class CMQVariant const & __thiscall CPropertyRestriction::Value(void)
+?Value@CPropertyRestriction@@QAEABVCMQVariant@@XZ
+; long __stdcall XactGetDTC(struct IUnknown * *)
+?XactGetDTC@@YGJPAPAUIUnknown@@@Z
+; long __stdcall XactGetWhereabouts(unsigned long *,unsigned char *)
+?XactGetWhereabouts@@YGJPAKPAE@Z
+; class CCancelRpc  g_CancelRpc
+?g_CancelRpc@@3VCCancelRpc@@A DATA
+; class CHCryptProv  g_hProvVer
+?g_hProvVer@@3VCHCryptProv@@A DATA
+; public: unsigned char __thiscall CDSBaseUpdate::getNumOfProps(void)
+?getNumOfProps@CDSBaseUpdate@@QAEEXZ
+; long __stdcall mqrpcBindQMService(unsigned short *,unsigned short *,unsigned long *,void * *,enum PORTTYPE,unsigned long (__stdcall*)(void *,unsigned long),unsigned long)
+?mqrpcBindQMService@@YGJPAG0PAKPAPAXW4PORTTYPE@@P6GKPAXK@ZK@Z
+; unsigned long __stdcall mqrpcGetLocalCallPID(void *)
+?mqrpcGetLocalCallPID@@YGKPAX@Z
+; int __stdcall mqrpcIsLocalCall(void *)
+?mqrpcIsLocalCall@@YGHPAX@Z
+; int __stdcall mqrpcIsTcpipTransport(void *)
+?mqrpcIsTcpipTransport@@YGHPAX@Z
+; long __stdcall mqrpcUnbindQMService(void * *,unsigned short * *)
+?mqrpcUnbindQMService@@YGJPAPAXPAPAG@Z
+MQSigCloneCertFromReg
+MQSigCloneCertFromSysStore
+MQSigCreateCertificate
+MQSigOpenUserCertStore
+MSMQGetOperatingSystem
diff --git a/mingw-w64-crt/lib64/wmqutil.def b/mingw-w64-crt/lib64/wmqutil.def
index c332456..4685d6d 100644
--- a/mingw-w64-crt/lib64/wmqutil.def
+++ b/mingw-w64-crt/lib64/wmqutil.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file mqutil.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mqutil.dll
-EXPORTS
-MQGetResourceHandle
+; 
+; Exports of file mqutil.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mqutil.dll
+EXPORTS
+MQGetResourceHandle
diff --git a/mingw-w64-crt/lib64/wmsaatext.def b/mingw-w64-crt/lib64/wmsaatext.def
index 89e8809..a3a2a99 100644
--- a/mingw-w64-crt/lib64/wmsaatext.def
+++ b/mingw-w64-crt/lib64/wmsaatext.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSAAText.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSAAText.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSAAText.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSAAText.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsacm32.def b/mingw-w64-crt/lib64/wmsacm32.def
index 08ca331..d82038c 100644
--- a/mingw-w64-crt/lib64/wmsacm32.def
+++ b/mingw-w64-crt/lib64/wmsacm32.def
@@ -1,52 +1,52 @@
-; 
-; Exports of file MSACM32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSACM32.dll
-EXPORTS
-XRegThunkEntry
-acmDriverAddA
-acmDriverAddW
-acmDriverClose
-acmDriverDetailsA
-acmDriverDetailsW
-acmDriverEnum
-acmDriverID
-acmDriverMessage
-acmDriverOpen
-acmDriverPriority
-acmDriverRemove
-acmFilterChooseA
-acmFilterChooseW
-acmFilterDetailsA
-acmFilterDetailsW
-acmFilterEnumA
-acmFilterEnumW
-acmFilterTagDetailsA
-acmFilterTagDetailsW
-acmFilterTagEnumA
-acmFilterTagEnumW
-acmFormatChooseA
-acmFormatChooseW
-acmFormatDetailsA
-acmFormatDetailsW
-acmFormatEnumA
-acmFormatEnumW
-acmFormatSuggest
-acmFormatTagDetailsA
-acmFormatTagDetailsW
-acmFormatTagEnumA
-acmFormatTagEnumW
-acmGetVersion
-acmMessage32
-acmMetrics
-acmStreamClose
-acmStreamConvert
-acmStreamMessage
-acmStreamOpen
-acmStreamPrepareHeader
-acmStreamReset
-acmStreamSize
-acmStreamUnprepareHeader
+; 
+; Exports of file MSACM32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSACM32.dll
+EXPORTS
+XRegThunkEntry
+acmDriverAddA
+acmDriverAddW
+acmDriverClose
+acmDriverDetailsA
+acmDriverDetailsW
+acmDriverEnum
+acmDriverID
+acmDriverMessage
+acmDriverOpen
+acmDriverPriority
+acmDriverRemove
+acmFilterChooseA
+acmFilterChooseW
+acmFilterDetailsA
+acmFilterDetailsW
+acmFilterEnumA
+acmFilterEnumW
+acmFilterTagDetailsA
+acmFilterTagDetailsW
+acmFilterTagEnumA
+acmFilterTagEnumW
+acmFormatChooseA
+acmFormatChooseW
+acmFormatDetailsA
+acmFormatDetailsW
+acmFormatEnumA
+acmFormatEnumW
+acmFormatSuggest
+acmFormatTagDetailsA
+acmFormatTagDetailsW
+acmFormatTagEnumA
+acmFormatTagEnumW
+acmGetVersion
+acmMessage32
+acmMetrics
+acmStreamClose
+acmStreamConvert
+acmStreamMessage
+acmStreamOpen
+acmStreamPrepareHeader
+acmStreamReset
+acmStreamSize
+acmStreamUnprepareHeader
diff --git a/mingw-w64-crt/lib64/wmsadce.def b/mingw-w64-crt/lib64/wmsadce.def
index fb150c6..d118a76 100644
--- a/mingw-w64-crt/lib64/wmsadce.def
+++ b/mingw-w64-crt/lib64/wmsadce.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file fx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY fx.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file fx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY fx.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsadcf.def b/mingw-w64-crt/lib64/wmsadcf.def
index fa2c3ee..eb63bb8 100644
--- a/mingw-w64-crt/lib64/wmsadcf.def
+++ b/mingw-w64-crt/lib64/wmsadcf.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file navdgf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY navdgf.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file navdgf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY navdgf.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsadco.def b/mingw-w64-crt/lib64/wmsadco.def
index 5586d49..2dfb58e 100644
--- a/mingw-w64-crt/lib64/wmsadco.def
+++ b/mingw-w64-crt/lib64/wmsadco.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file active.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY active.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file active.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY active.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsadcs.def b/mingw-w64-crt/lib64/wmsadcs.def
index 766252c..992f8c6 100644
--- a/mingw-w64-crt/lib64/wmsadcs.def
+++ b/mingw-w64-crt/lib64/wmsadcs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MSADCS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADCS.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
-TerminateExtension
+; 
+; Exports of file MSADCS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADCS.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
+TerminateExtension
diff --git a/mingw-w64-crt/lib64/wmsadds.def b/mingw-w64-crt/lib64/wmsadds.def
index 45011f6..a9d2188 100644
--- a/mingw-w64-crt/lib64/wmsadds.def
+++ b/mingw-w64-crt/lib64/wmsadds.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msadds.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msadds.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msadds.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msadds.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsado15.def b/mingw-w64-crt/lib64/wmsado15.def
index c6f4653..c1cf497 100644
--- a/mingw-w64-crt/lib64/wmsado15.def
+++ b/mingw-w64-crt/lib64/wmsado15.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file MSADO15.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADO15.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-RNIGetCompatibleVersion
-com_ms_wfc_data_Field_getBoolean
-com_ms_wfc_data_Field_getByte
-com_ms_wfc_data_Field_getBytes
-com_ms_wfc_data_Field_getDataTimestamp
-com_ms_wfc_data_Field_getDouble
-com_ms_wfc_data_Field_getFloat
-com_ms_wfc_data_Field_getInt
-com_ms_wfc_data_Field_getLong
-com_ms_wfc_data_Field_getShort
-com_ms_wfc_data_Field_getString
-com_ms_wfc_data_Field_isNull
-com_ms_wfc_data_Field_loadMsjava
-com_ms_wfc_data_Field_setDataDate
+; 
+; Exports of file MSADO15.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADO15.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+RNIGetCompatibleVersion
+com_ms_wfc_data_Field_getBoolean
+com_ms_wfc_data_Field_getByte
+com_ms_wfc_data_Field_getBytes
+com_ms_wfc_data_Field_getDataTimestamp
+com_ms_wfc_data_Field_getDouble
+com_ms_wfc_data_Field_getFloat
+com_ms_wfc_data_Field_getInt
+com_ms_wfc_data_Field_getLong
+com_ms_wfc_data_Field_getShort
+com_ms_wfc_data_Field_getString
+com_ms_wfc_data_Field_isNull
+com_ms_wfc_data_Field_loadMsjava
+com_ms_wfc_data_Field_setDataDate
diff --git a/mingw-w64-crt/lib64/wmsadomd.def b/mingw-w64-crt/lib64/wmsadomd.def
index 8cbb837..cdb4ad4 100644
--- a/mingw-w64-crt/lib64/wmsadomd.def
+++ b/mingw-w64-crt/lib64/wmsadomd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSADOMD.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADOMD.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSADOMD.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADOMD.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsador15.def b/mingw-w64-crt/lib64/wmsador15.def
index aba0add..9e7918f 100644
--- a/mingw-w64-crt/lib64/wmsador15.def
+++ b/mingw-w64-crt/lib64/wmsador15.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSADOR15.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADOR15.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSADOR15.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADOR15.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsadox.def b/mingw-w64-crt/lib64/wmsadox.def
index 25fb08d..4457a31 100644
--- a/mingw-w64-crt/lib64/wmsadox.def
+++ b/mingw-w64-crt/lib64/wmsadox.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msADOX.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msADOX.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msADOX.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msADOX.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsadrh15.def b/mingw-w64-crt/lib64/wmsadrh15.def
index bf37eb3..b27eff6 100644
--- a/mingw-w64-crt/lib64/wmsadrh15.def
+++ b/mingw-w64-crt/lib64/wmsadrh15.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSADRH15.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSADRH15.dll
-EXPORTS
-DllMain
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSADRH15.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSADRH15.dll
+EXPORTS
+DllMain
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsafd.def b/mingw-w64-crt/lib64/wmsafd.def
index ee8c652..4868a51 100644
--- a/mingw-w64-crt/lib64/wmsafd.def
+++ b/mingw-w64-crt/lib64/wmsafd.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSAFD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSAFD.dll
-EXPORTS
-WSPStartup
+; 
+; Exports of file MSAFD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSAFD.dll
+EXPORTS
+WSPStartup
diff --git a/mingw-w64-crt/lib64/wmsapsspc.def b/mingw-w64-crt/lib64/wmsapsspc.def
index 1c5b6e0..9132595 100644
--- a/mingw-w64-crt/lib64/wmsapsspc.def
+++ b/mingw-w64-crt/lib64/wmsapsspc.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file MSAPSSPC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSAPSSPC.dll
-EXPORTS
-InitSecurityInterfaceA
-InitSecurityInterfaceW
-AcquireCredentialsHandleA
-AcquireCredentialsHandleW
-DeleteSecurityContext
-FreeCredentialsHandle
-InitializeSecurityContextA
-InitializeSecurityContextW
-EnumerateSecurityPackagesA
-EnumerateSecurityPackagesW
-QueryContextAttributesA
-QueryContextAttributesW
-QuerySecurityPackageInfoA
-QuerySecurityPackageInfoW
-CompleteAuthToken
-ApplyControlToken
-MakeSignature
-VerifySignature
-FreeContextBuffer
-SealMessage
-UnsealMessage
-SspcCreateSspiReg
-CleanupCredentialCache
+; 
+; Exports of file MSAPSSPC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSAPSSPC.dll
+EXPORTS
+InitSecurityInterfaceA
+InitSecurityInterfaceW
+AcquireCredentialsHandleA
+AcquireCredentialsHandleW
+DeleteSecurityContext
+FreeCredentialsHandle
+InitializeSecurityContextA
+InitializeSecurityContextW
+EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW
+QueryContextAttributesA
+QueryContextAttributesW
+QuerySecurityPackageInfoA
+QuerySecurityPackageInfoW
+CompleteAuthToken
+ApplyControlToken
+MakeSignature
+VerifySignature
+FreeContextBuffer
+SealMessage
+UnsealMessage
+SspcCreateSspiReg
+CleanupCredentialCache
diff --git a/mingw-w64-crt/lib64/wmsasn1.def b/mingw-w64-crt/lib64/wmsasn1.def
index 4c8d691..a64118a 100644
--- a/mingw-w64-crt/lib64/wmsasn1.def
+++ b/mingw-w64-crt/lib64/wmsasn1.def
@@ -1,274 +1,274 @@
-; 
-; Exports of file MSASN1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSASN1.dll
-EXPORTS
-ASN1BERDecBitString2
-ASN1BERDecBitString
-ASN1BERDecBool
-ASN1BERDecChar16String
-ASN1BERDecChar32String
-ASN1BERDecCharString
-ASN1BERDecCheck
-ASN1BERDecDouble
-ASN1BERDecEndOfContents
-ASN1BERDecEoid
-ASN1BERDecExplicitTag
-ASN1BERDecFlush
-ASN1BERDecGeneralizedTime
-ASN1BERDecLength
-ASN1BERDecMultibyteString
-ASN1BERDecNotEndOfContents
-ASN1BERDecNull
-ASN1BERDecObjectIdentifier2
-ASN1BERDecObjectIdentifier
-ASN1BERDecOctetString2
-ASN1BERDecOctetString
-ASN1BERDecOpenType2
-ASN1BERDecOpenType
-ASN1BERDecPeekTag
-ASN1BERDecS16Val
-ASN1BERDecS32Val
-ASN1BERDecS8Val
-ASN1BERDecSXVal
-ASN1BERDecSkip
-ASN1BERDecTag
-ASN1BERDecU16Val
-ASN1BERDecU32Val
-ASN1BERDecU8Val
-ASN1BERDecUTCTime
-ASN1BERDecUTF8String
-ASN1BERDecZeroChar16String
-ASN1BERDecZeroChar32String
-ASN1BERDecZeroCharString
-ASN1BERDecZeroMultibyteString
-ASN1BERDotVal2Eoid
-ASN1BEREncBitString
-ASN1BEREncBool
-ASN1BEREncChar16String
-ASN1BEREncChar32String
-ASN1BEREncCharString
-ASN1BEREncCheck
-ASN1BEREncDouble
-ASN1BEREncEndOfContents
-ASN1BEREncEoid
-ASN1BEREncExplicitTag
-ASN1BEREncFlush
-ASN1BEREncGeneralizedTime
-ASN1BEREncLength
-ASN1BEREncMultibyteString
-ASN1BEREncNull
-ASN1BEREncObjectIdentifier2
-ASN1BEREncObjectIdentifier
-ASN1BEREncOctetString
-ASN1BEREncOpenType
-ASN1BEREncRemoveZeroBits
-ASN1BEREncS32
-ASN1BEREncSX
-ASN1BEREncTag
-ASN1BEREncU32
-ASN1BEREncUTCTime
-ASN1BEREncUTF8String
-ASN1BEREncZeroMultibyteString
-ASN1BEREoid2DotVal
-ASN1BEREoid_free
-ASN1CEREncBeginBlk
-ASN1CEREncBitString
-ASN1CEREncChar16String
-ASN1CEREncChar32String
-ASN1CEREncCharString
-ASN1CEREncEndBlk
-ASN1CEREncFlushBlkElement
-ASN1CEREncGeneralizedTime
-ASN1CEREncMultibyteString
-ASN1CEREncNewBlkElement
-ASN1CEREncOctetString
-ASN1CEREncUTCTime
-ASN1CEREncZeroMultibyteString
-ASN1DecAbort
-ASN1DecAlloc
-ASN1DecDone
-ASN1DecRealloc
-ASN1DecSetError
-ASN1EncAbort
-ASN1EncDone
-ASN1EncSetError
-ASN1Free
-ASN1PERDecAlignment
-ASN1PERDecBit
-ASN1PERDecBits
-ASN1PERDecBoolean
-ASN1PERDecChar16String
-ASN1PERDecChar32String
-ASN1PERDecCharString
-ASN1PERDecCharStringNoAlloc
-ASN1PERDecComplexChoice
-ASN1PERDecDouble
-ASN1PERDecExtension
-ASN1PERDecFlush
-ASN1PERDecFragmented
-ASN1PERDecFragmentedChar16String
-ASN1PERDecFragmentedChar32String
-ASN1PERDecFragmentedCharString
-ASN1PERDecFragmentedExtension
-ASN1PERDecFragmentedIntx
-ASN1PERDecFragmentedLength
-ASN1PERDecFragmentedTableChar16String
-ASN1PERDecFragmentedTableChar32String
-ASN1PERDecFragmentedTableCharString
-ASN1PERDecFragmentedUIntx
-ASN1PERDecFragmentedZeroChar16String
-ASN1PERDecFragmentedZeroChar32String
-ASN1PERDecFragmentedZeroCharString
-ASN1PERDecFragmentedZeroTableChar16String
-ASN1PERDecFragmentedZeroTableChar32String
-ASN1PERDecFragmentedZeroTableCharString
-ASN1PERDecGeneralizedTime
-ASN1PERDecInteger
-ASN1PERDecMultibyteString
-ASN1PERDecN16Val
-ASN1PERDecN32Val
-ASN1PERDecN8Val
-ASN1PERDecNormallySmallExtension
-ASN1PERDecObjectIdentifier2
-ASN1PERDecObjectIdentifier
-ASN1PERDecOctetString_FixedSize
-ASN1PERDecOctetString_FixedSizeEx
-ASN1PERDecOctetString_NoSize
-ASN1PERDecOctetString_VarSize
-ASN1PERDecOctetString_VarSizeEx
-ASN1PERDecS16Val
-ASN1PERDecS32Val
-ASN1PERDecS8Val
-ASN1PERDecSXVal
-ASN1PERDecSeqOf_NoSize
-ASN1PERDecSeqOf_VarSize
-ASN1PERDecSimpleChoice
-ASN1PERDecSimpleChoiceEx
-ASN1PERDecSkipBits
-ASN1PERDecSkipFragmented
-ASN1PERDecSkipNormallySmall
-ASN1PERDecSkipNormallySmallExtension
-ASN1PERDecSkipNormallySmallExtensionFragmented
-ASN1PERDecTableChar16String
-ASN1PERDecTableChar32String
-ASN1PERDecTableCharString
-ASN1PERDecTableCharStringNoAlloc
-ASN1PERDecU16Val
-ASN1PERDecU32Val
-ASN1PERDecU8Val
-ASN1PERDecUTCTime
-ASN1PERDecUXVal
-ASN1PERDecUnsignedInteger
-ASN1PERDecUnsignedShort
-ASN1PERDecZeroChar16String
-ASN1PERDecZeroChar32String
-ASN1PERDecZeroCharString
-ASN1PERDecZeroCharStringNoAlloc
-ASN1PERDecZeroTableChar16String
-ASN1PERDecZeroTableChar32String
-ASN1PERDecZeroTableCharString
-ASN1PERDecZeroTableCharStringNoAlloc
-ASN1PEREncAlignment
-ASN1PEREncBit
-ASN1PEREncBitIntx
-ASN1PEREncBitVal
-ASN1PEREncBits
-ASN1PEREncBoolean
-ASN1PEREncChar16String
-ASN1PEREncChar32String
-ASN1PEREncCharString
-ASN1PEREncCheckExtensions
-ASN1PEREncComplexChoice
-ASN1PEREncDouble
-ASN1PEREncExtensionBitClear
-ASN1PEREncExtensionBitSet
-ASN1PEREncFlush
-ASN1PEREncFlushFragmentedToParent
-ASN1PEREncFragmented
-ASN1PEREncFragmentedChar16String
-ASN1PEREncFragmentedChar32String
-ASN1PEREncFragmentedCharString
-ASN1PEREncFragmentedIntx
-ASN1PEREncFragmentedLength
-ASN1PEREncFragmentedTableChar16String
-ASN1PEREncFragmentedTableChar32String
-ASN1PEREncFragmentedTableCharString
-ASN1PEREncFragmentedUIntx
-ASN1PEREncGeneralizedTime
-ASN1PEREncInteger
-ASN1PEREncMultibyteString
-ASN1PEREncNormallySmall
-ASN1PEREncNormallySmallBits
-ASN1PEREncObjectIdentifier2
-ASN1PEREncObjectIdentifier
-ASN1PEREncOctetString_FixedSize
-ASN1PEREncOctetString_FixedSizeEx
-ASN1PEREncOctetString_NoSize
-ASN1PEREncOctetString_VarSize
-ASN1PEREncOctetString_VarSizeEx
-ASN1PEREncOctets
-ASN1PEREncRemoveZeroBits
-ASN1PEREncSeqOf_NoSize
-ASN1PEREncSeqOf_VarSize
-ASN1PEREncSimpleChoice
-ASN1PEREncSimpleChoiceEx
-ASN1PEREncTableChar16String
-ASN1PEREncTableChar32String
-ASN1PEREncTableCharString
-ASN1PEREncUTCTime
-ASN1PEREncUnsignedInteger
-ASN1PEREncUnsignedShort
-ASN1PEREncZero
-ASN1PERFreeSeqOf
-ASN1_CloseDecoder
-ASN1_CloseEncoder2
-ASN1_CloseEncoder
-ASN1_CloseModule
-ASN1_CreateDecoder
-ASN1_CreateDecoderEx
-ASN1_CreateEncoder
-ASN1_CreateModule
-ASN1_Decode
-ASN1_Encode
-ASN1_FreeDecoded
-ASN1_FreeEncoded
-ASN1_GetDecoderOption
-ASN1_GetEncoderOption
-ASN1_SetDecoderOption
-ASN1_SetEncoderOption
-ASN1bitstring_cmp
-ASN1bitstring_free
-ASN1char16string_cmp
-ASN1char16string_free
-ASN1char32string_cmp
-ASN1char32string_free
-ASN1charstring_cmp
-ASN1charstring_free
-ASN1generalizedtime_cmp
-ASN1intx2int32
-ASN1intx2uint32
-ASN1intx_add
-ASN1intx_free
-ASN1intx_setuint32
-ASN1intx_sub
-ASN1intx_uoctets
-ASN1intxisuint32
-ASN1objectidentifier2_cmp
-ASN1objectidentifier_cmp
-ASN1objectidentifier_free
-ASN1octetstring_cmp
-ASN1octetstring_free
-ASN1open_cmp
-ASN1open_free
-ASN1uint32_uoctets
-ASN1utctime_cmp
-ASN1utf8string_free
-ASN1ztchar16string_cmp
-ASN1ztchar16string_free
-ASN1ztchar32string_free
-ASN1ztcharstring_cmp
-ASN1ztcharstring_free
+; 
+; Exports of file MSASN1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSASN1.dll
+EXPORTS
+ASN1BERDecBitString2
+ASN1BERDecBitString
+ASN1BERDecBool
+ASN1BERDecChar16String
+ASN1BERDecChar32String
+ASN1BERDecCharString
+ASN1BERDecCheck
+ASN1BERDecDouble
+ASN1BERDecEndOfContents
+ASN1BERDecEoid
+ASN1BERDecExplicitTag
+ASN1BERDecFlush
+ASN1BERDecGeneralizedTime
+ASN1BERDecLength
+ASN1BERDecMultibyteString
+ASN1BERDecNotEndOfContents
+ASN1BERDecNull
+ASN1BERDecObjectIdentifier2
+ASN1BERDecObjectIdentifier
+ASN1BERDecOctetString2
+ASN1BERDecOctetString
+ASN1BERDecOpenType2
+ASN1BERDecOpenType
+ASN1BERDecPeekTag
+ASN1BERDecS16Val
+ASN1BERDecS32Val
+ASN1BERDecS8Val
+ASN1BERDecSXVal
+ASN1BERDecSkip
+ASN1BERDecTag
+ASN1BERDecU16Val
+ASN1BERDecU32Val
+ASN1BERDecU8Val
+ASN1BERDecUTCTime
+ASN1BERDecUTF8String
+ASN1BERDecZeroChar16String
+ASN1BERDecZeroChar32String
+ASN1BERDecZeroCharString
+ASN1BERDecZeroMultibyteString
+ASN1BERDotVal2Eoid
+ASN1BEREncBitString
+ASN1BEREncBool
+ASN1BEREncChar16String
+ASN1BEREncChar32String
+ASN1BEREncCharString
+ASN1BEREncCheck
+ASN1BEREncDouble
+ASN1BEREncEndOfContents
+ASN1BEREncEoid
+ASN1BEREncExplicitTag
+ASN1BEREncFlush
+ASN1BEREncGeneralizedTime
+ASN1BEREncLength
+ASN1BEREncMultibyteString
+ASN1BEREncNull
+ASN1BEREncObjectIdentifier2
+ASN1BEREncObjectIdentifier
+ASN1BEREncOctetString
+ASN1BEREncOpenType
+ASN1BEREncRemoveZeroBits
+ASN1BEREncS32
+ASN1BEREncSX
+ASN1BEREncTag
+ASN1BEREncU32
+ASN1BEREncUTCTime
+ASN1BEREncUTF8String
+ASN1BEREncZeroMultibyteString
+ASN1BEREoid2DotVal
+ASN1BEREoid_free
+ASN1CEREncBeginBlk
+ASN1CEREncBitString
+ASN1CEREncChar16String
+ASN1CEREncChar32String
+ASN1CEREncCharString
+ASN1CEREncEndBlk
+ASN1CEREncFlushBlkElement
+ASN1CEREncGeneralizedTime
+ASN1CEREncMultibyteString
+ASN1CEREncNewBlkElement
+ASN1CEREncOctetString
+ASN1CEREncUTCTime
+ASN1CEREncZeroMultibyteString
+ASN1DecAbort
+ASN1DecAlloc
+ASN1DecDone
+ASN1DecRealloc
+ASN1DecSetError
+ASN1EncAbort
+ASN1EncDone
+ASN1EncSetError
+ASN1Free
+ASN1PERDecAlignment
+ASN1PERDecBit
+ASN1PERDecBits
+ASN1PERDecBoolean
+ASN1PERDecChar16String
+ASN1PERDecChar32String
+ASN1PERDecCharString
+ASN1PERDecCharStringNoAlloc
+ASN1PERDecComplexChoice
+ASN1PERDecDouble
+ASN1PERDecExtension
+ASN1PERDecFlush
+ASN1PERDecFragmented
+ASN1PERDecFragmentedChar16String
+ASN1PERDecFragmentedChar32String
+ASN1PERDecFragmentedCharString
+ASN1PERDecFragmentedExtension
+ASN1PERDecFragmentedIntx
+ASN1PERDecFragmentedLength
+ASN1PERDecFragmentedTableChar16String
+ASN1PERDecFragmentedTableChar32String
+ASN1PERDecFragmentedTableCharString
+ASN1PERDecFragmentedUIntx
+ASN1PERDecFragmentedZeroChar16String
+ASN1PERDecFragmentedZeroChar32String
+ASN1PERDecFragmentedZeroCharString
+ASN1PERDecFragmentedZeroTableChar16String
+ASN1PERDecFragmentedZeroTableChar32String
+ASN1PERDecFragmentedZeroTableCharString
+ASN1PERDecGeneralizedTime
+ASN1PERDecInteger
+ASN1PERDecMultibyteString
+ASN1PERDecN16Val
+ASN1PERDecN32Val
+ASN1PERDecN8Val
+ASN1PERDecNormallySmallExtension
+ASN1PERDecObjectIdentifier2
+ASN1PERDecObjectIdentifier
+ASN1PERDecOctetString_FixedSize
+ASN1PERDecOctetString_FixedSizeEx
+ASN1PERDecOctetString_NoSize
+ASN1PERDecOctetString_VarSize
+ASN1PERDecOctetString_VarSizeEx
+ASN1PERDecS16Val
+ASN1PERDecS32Val
+ASN1PERDecS8Val
+ASN1PERDecSXVal
+ASN1PERDecSeqOf_NoSize
+ASN1PERDecSeqOf_VarSize
+ASN1PERDecSimpleChoice
+ASN1PERDecSimpleChoiceEx
+ASN1PERDecSkipBits
+ASN1PERDecSkipFragmented
+ASN1PERDecSkipNormallySmall
+ASN1PERDecSkipNormallySmallExtension
+ASN1PERDecSkipNormallySmallExtensionFragmented
+ASN1PERDecTableChar16String
+ASN1PERDecTableChar32String
+ASN1PERDecTableCharString
+ASN1PERDecTableCharStringNoAlloc
+ASN1PERDecU16Val
+ASN1PERDecU32Val
+ASN1PERDecU8Val
+ASN1PERDecUTCTime
+ASN1PERDecUXVal
+ASN1PERDecUnsignedInteger
+ASN1PERDecUnsignedShort
+ASN1PERDecZeroChar16String
+ASN1PERDecZeroChar32String
+ASN1PERDecZeroCharString
+ASN1PERDecZeroCharStringNoAlloc
+ASN1PERDecZeroTableChar16String
+ASN1PERDecZeroTableChar32String
+ASN1PERDecZeroTableCharString
+ASN1PERDecZeroTableCharStringNoAlloc
+ASN1PEREncAlignment
+ASN1PEREncBit
+ASN1PEREncBitIntx
+ASN1PEREncBitVal
+ASN1PEREncBits
+ASN1PEREncBoolean
+ASN1PEREncChar16String
+ASN1PEREncChar32String
+ASN1PEREncCharString
+ASN1PEREncCheckExtensions
+ASN1PEREncComplexChoice
+ASN1PEREncDouble
+ASN1PEREncExtensionBitClear
+ASN1PEREncExtensionBitSet
+ASN1PEREncFlush
+ASN1PEREncFlushFragmentedToParent
+ASN1PEREncFragmented
+ASN1PEREncFragmentedChar16String
+ASN1PEREncFragmentedChar32String
+ASN1PEREncFragmentedCharString
+ASN1PEREncFragmentedIntx
+ASN1PEREncFragmentedLength
+ASN1PEREncFragmentedTableChar16String
+ASN1PEREncFragmentedTableChar32String
+ASN1PEREncFragmentedTableCharString
+ASN1PEREncFragmentedUIntx
+ASN1PEREncGeneralizedTime
+ASN1PEREncInteger
+ASN1PEREncMultibyteString
+ASN1PEREncNormallySmall
+ASN1PEREncNormallySmallBits
+ASN1PEREncObjectIdentifier2
+ASN1PEREncObjectIdentifier
+ASN1PEREncOctetString_FixedSize
+ASN1PEREncOctetString_FixedSizeEx
+ASN1PEREncOctetString_NoSize
+ASN1PEREncOctetString_VarSize
+ASN1PEREncOctetString_VarSizeEx
+ASN1PEREncOctets
+ASN1PEREncRemoveZeroBits
+ASN1PEREncSeqOf_NoSize
+ASN1PEREncSeqOf_VarSize
+ASN1PEREncSimpleChoice
+ASN1PEREncSimpleChoiceEx
+ASN1PEREncTableChar16String
+ASN1PEREncTableChar32String
+ASN1PEREncTableCharString
+ASN1PEREncUTCTime
+ASN1PEREncUnsignedInteger
+ASN1PEREncUnsignedShort
+ASN1PEREncZero
+ASN1PERFreeSeqOf
+ASN1_CloseDecoder
+ASN1_CloseEncoder2
+ASN1_CloseEncoder
+ASN1_CloseModule
+ASN1_CreateDecoder
+ASN1_CreateDecoderEx
+ASN1_CreateEncoder
+ASN1_CreateModule
+ASN1_Decode
+ASN1_Encode
+ASN1_FreeDecoded
+ASN1_FreeEncoded
+ASN1_GetDecoderOption
+ASN1_GetEncoderOption
+ASN1_SetDecoderOption
+ASN1_SetEncoderOption
+ASN1bitstring_cmp
+ASN1bitstring_free
+ASN1char16string_cmp
+ASN1char16string_free
+ASN1char32string_cmp
+ASN1char32string_free
+ASN1charstring_cmp
+ASN1charstring_free
+ASN1generalizedtime_cmp
+ASN1intx2int32
+ASN1intx2uint32
+ASN1intx_add
+ASN1intx_free
+ASN1intx_setuint32
+ASN1intx_sub
+ASN1intx_uoctets
+ASN1intxisuint32
+ASN1objectidentifier2_cmp
+ASN1objectidentifier_cmp
+ASN1objectidentifier_free
+ASN1octetstring_cmp
+ASN1octetstring_free
+ASN1open_cmp
+ASN1open_free
+ASN1uint32_uoctets
+ASN1utctime_cmp
+ASN1utf8string_free
+ASN1ztchar16string_cmp
+ASN1ztchar16string_free
+ASN1ztchar32string_free
+ASN1ztcharstring_cmp
+ASN1ztcharstring_free
diff --git a/mingw-w64-crt/lib64/wmscandui.def b/mingw-w64-crt/lib64/wmscandui.def
index 9d9ede5..cf37ef8 100644
--- a/mingw-w64-crt/lib64/wmscandui.def
+++ b/mingw-w64-crt/lib64/wmscandui.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSCANDUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSCANDUI.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSCANDUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSCANDUI.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmscat32.def b/mingw-w64-crt/lib64/wmscat32.def
index d7b6a0a..9754bd4 100644
--- a/mingw-w64-crt/lib64/wmscat32.def
+++ b/mingw-w64-crt/lib64/wmscat32.def
@@ -1,44 +1,44 @@
-; 
-; Exports of file MSCAT32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSCAT32.dll
-EXPORTS
-CryptCATVerifyMember
-CatalogCompactHashDatabase
-CryptCATAdminAcquireContext
-CryptCATAdminAddCatalog
-CryptCATAdminCalcHashFromFileHandle
-CryptCATAdminEnumCatalogFromHash
-CryptCATAdminReleaseCatalogContext
-CryptCATAdminReleaseContext
-CryptCATCDFClose
-CryptCATCDFEnumAttributes
-CryptCATCDFEnumAttributesWithCDFTag
-CryptCATCDFEnumCatAttributes
-CryptCATCDFEnumMembers
-CryptCATCDFEnumMembersByCDFTag
-CryptCATCDFEnumMembersByCDFTagEx
-CryptCATCDFOpen
-CryptCATCatalogInfoFromContext
-CryptCATClose
-CryptCATEnumerateAttr
-CryptCATEnumerateCatAttr
-CryptCATEnumerateMember
-CryptCATGetAttrInfo
-CryptCATGetCatAttrInfo
-CryptCATGetMemberInfo
-CryptCATHandleFromStore
-CryptCATOpen
-CryptCATPersistStore
-CryptCATPutAttrInfo
-CryptCATPutCatAttrInfo
-CryptCATPutMemberInfo
-CryptCATStoreFromHandle
-DllRegisterServer
-DllUnregisterServer
-IsCatalogFile
-MsCatConstructHashTag
-MsCatFreeHashTag
+; 
+; Exports of file MSCAT32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSCAT32.dll
+EXPORTS
+CryptCATVerifyMember
+CatalogCompactHashDatabase
+CryptCATAdminAcquireContext
+CryptCATAdminAddCatalog
+CryptCATAdminCalcHashFromFileHandle
+CryptCATAdminEnumCatalogFromHash
+CryptCATAdminReleaseCatalogContext
+CryptCATAdminReleaseContext
+CryptCATCDFClose
+CryptCATCDFEnumAttributes
+CryptCATCDFEnumAttributesWithCDFTag
+CryptCATCDFEnumCatAttributes
+CryptCATCDFEnumMembers
+CryptCATCDFEnumMembersByCDFTag
+CryptCATCDFEnumMembersByCDFTagEx
+CryptCATCDFOpen
+CryptCATCatalogInfoFromContext
+CryptCATClose
+CryptCATEnumerateAttr
+CryptCATEnumerateCatAttr
+CryptCATEnumerateMember
+CryptCATGetAttrInfo
+CryptCATGetCatAttrInfo
+CryptCATGetMemberInfo
+CryptCATHandleFromStore
+CryptCATOpen
+CryptCATPersistStore
+CryptCATPutAttrInfo
+CryptCATPutCatAttrInfo
+CryptCATPutMemberInfo
+CryptCATStoreFromHandle
+DllRegisterServer
+DllUnregisterServer
+IsCatalogFile
+MsCatConstructHashTag
+MsCatFreeHashTag
diff --git a/mingw-w64-crt/lib64/wmscms.def b/mingw-w64-crt/lib64/wmscms.def
index 73a74cc..e317724 100644
--- a/mingw-w64-crt/lib64/wmscms.def
+++ b/mingw-w64-crt/lib64/wmscms.def
@@ -1,69 +1,69 @@
-; 
-; Exports of file mscms.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mscms.dll
-EXPORTS
-AssociateColorProfileWithDeviceA
-AssociateColorProfileWithDeviceW
-CheckBitmapBits
-CheckColors
-CloseColorProfile
-ConvertColorNameToIndex
-ConvertIndexToColorName
-CreateColorTransformA
-CreateColorTransformW
-CreateDeviceLinkProfile
-CreateMultiProfileTransform
-CreateProfileFromLogColorSpaceA
-CreateProfileFromLogColorSpaceW
-DeleteColorTransform
-DisassociateColorProfileFromDeviceA
-DisassociateColorProfileFromDeviceW
-EnumColorProfilesA
-EnumColorProfilesW
-GenerateCopyFilePaths
-GetCMMInfo
-GetColorDirectoryA
-GetColorDirectoryW
-GetColorProfileElement
-GetColorProfileElementTag
-GetColorProfileFromHandle
-GetColorProfileHeader
-GetCountColorProfileElements
-GetNamedProfileInfo
-GetPS2ColorRenderingDictionary
-GetPS2ColorRenderingIntent
-GetPS2ColorSpaceArray
-GetStandardColorSpaceProfileA
-GetStandardColorSpaceProfileW
-InstallColorProfileA
-InstallColorProfileW
-InternalGetDeviceConfig
-InternalGetPS2CSAFromLCS
-InternalGetPS2ColorRenderingDictionary
-InternalGetPS2ColorSpaceArray
-InternalGetPS2PreviewCRD
-InternalSetDeviceConfig
-IsColorProfileTagPresent
-IsColorProfileValid
-OpenColorProfileA
-OpenColorProfileW
-RegisterCMMA
-RegisterCMMW
-SelectCMM
-SetColorProfileElement
-SetColorProfileElementReference
-SetColorProfileElementSize
-SetColorProfileHeader
-SetStandardColorSpaceProfileA
-SetStandardColorSpaceProfileW
-SpoolerCopyFileEvent
-TranslateBitmapBits
-TranslateColors
-UninstallColorProfileA
-UninstallColorProfileW
-UnregisterCMMA
-UnregisterCMMW
+; 
+; Exports of file mscms.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mscms.dll
+EXPORTS
+AssociateColorProfileWithDeviceA
+AssociateColorProfileWithDeviceW
+CheckBitmapBits
+CheckColors
+CloseColorProfile
+ConvertColorNameToIndex
+ConvertIndexToColorName
+CreateColorTransformA
+CreateColorTransformW
+CreateDeviceLinkProfile
+CreateMultiProfileTransform
+CreateProfileFromLogColorSpaceA
+CreateProfileFromLogColorSpaceW
+DeleteColorTransform
+DisassociateColorProfileFromDeviceA
+DisassociateColorProfileFromDeviceW
+EnumColorProfilesA
+EnumColorProfilesW
+GenerateCopyFilePaths
+GetCMMInfo
+GetColorDirectoryA
+GetColorDirectoryW
+GetColorProfileElement
+GetColorProfileElementTag
+GetColorProfileFromHandle
+GetColorProfileHeader
+GetCountColorProfileElements
+GetNamedProfileInfo
+GetPS2ColorRenderingDictionary
+GetPS2ColorRenderingIntent
+GetPS2ColorSpaceArray
+GetStandardColorSpaceProfileA
+GetStandardColorSpaceProfileW
+InstallColorProfileA
+InstallColorProfileW
+InternalGetDeviceConfig
+InternalGetPS2CSAFromLCS
+InternalGetPS2ColorRenderingDictionary
+InternalGetPS2ColorSpaceArray
+InternalGetPS2PreviewCRD
+InternalSetDeviceConfig
+IsColorProfileTagPresent
+IsColorProfileValid
+OpenColorProfileA
+OpenColorProfileW
+RegisterCMMA
+RegisterCMMW
+SelectCMM
+SetColorProfileElement
+SetColorProfileElementReference
+SetColorProfileElementSize
+SetColorProfileHeader
+SetStandardColorSpaceProfileA
+SetStandardColorSpaceProfileW
+SpoolerCopyFileEvent
+TranslateBitmapBits
+TranslateColors
+UninstallColorProfileA
+UninstallColorProfileW
+UnregisterCMMA
+UnregisterCMMW
diff --git a/mingw-w64-crt/lib64/wmscpxl32.def b/mingw-w64-crt/lib64/wmscpxl32.def
index fc8f02e..42b09a0 100644
--- a/mingw-w64-crt/lib64/wmscpxl32.def
+++ b/mingw-w64-crt/lib64/wmscpxl32.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mscpxl32.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mscpxl32.DLL
-EXPORTS
-ConfigTranslator
-ConfigureDlgProc
-SQLDataSourceToDriver
-SQLDriverToDataSource
+; 
+; Exports of file mscpxl32.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mscpxl32.DLL
+EXPORTS
+ConfigTranslator
+ConfigureDlgProc
+SQLDataSourceToDriver
+SQLDriverToDataSource
diff --git a/mingw-w64-crt/lib64/wmsdadc.def b/mingw-w64-crt/lib64/wmsdadc.def
index 3d132cd..f223568 100644
--- a/mingw-w64-crt/lib64/wmsdadc.def
+++ b/mingw-w64-crt/lib64/wmsdadc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MSDADC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDADC.dll
-EXPORTS
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDADC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDADC.dll
+EXPORTS
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdadiag.def b/mingw-w64-crt/lib64/wmsdadiag.def
index 23152cf..0d9344e 100644
--- a/mingw-w64-crt/lib64/wmsdadiag.def
+++ b/mingw-w64-crt/lib64/wmsdadiag.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file msdadiag.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msdadiag.dll
-EXPORTS
-DllBidEntryPoint
+; 
+; Exports of file msdadiag.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msdadiag.dll
+EXPORTS
+DllBidEntryPoint
diff --git a/mingw-w64-crt/lib64/wmsdaenum.def b/mingw-w64-crt/lib64/wmsdaenum.def
index 82bde64..05566f7 100644
--- a/mingw-w64-crt/lib64/wmsdaenum.def
+++ b/mingw-w64-crt/lib64/wmsdaenum.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MSDAENUM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDAENUM.dll
-EXPORTS
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDAENUM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDAENUM.dll
+EXPORTS
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdaer.def b/mingw-w64-crt/lib64/wmsdaer.def
index 60e0e4d..c6f1970 100644
--- a/mingw-w64-crt/lib64/wmsdaer.def
+++ b/mingw-w64-crt/lib64/wmsdaer.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MSDAER.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDAER.dll
-EXPORTS
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDAER.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDAER.dll
+EXPORTS
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdaora.def b/mingw-w64-crt/lib64/wmsdaora.def
index 24432e1..e933d10 100644
--- a/mingw-w64-crt/lib64/wmsdaora.def
+++ b/mingw-w64-crt/lib64/wmsdaora.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSDAORA.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDAORA.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDAORA.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDAORA.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdaosp.def b/mingw-w64-crt/lib64/wmsdaosp.def
index cd18aab..0cf52e0 100644
--- a/mingw-w64-crt/lib64/wmsdaosp.def
+++ b/mingw-w64-crt/lib64/wmsdaosp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSDAOSP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDAOSP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDAOSP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDAOSP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdaprst.def b/mingw-w64-crt/lib64/wmsdaprst.def
index c23f0c0..a1e49b0 100644
--- a/mingw-w64-crt/lib64/wmsdaprst.def
+++ b/mingw-w64-crt/lib64/wmsdaprst.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file persist.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY persist.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file persist.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY persist.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdaps.def b/mingw-w64-crt/lib64/wmsdaps.def
index d2dd009..056c82d 100644
--- a/mingw-w64-crt/lib64/wmsdaps.def
+++ b/mingw-w64-crt/lib64/wmsdaps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSDAPS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDAPS.dll
-EXPORTS
-DllMain
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDAPS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDAPS.dll
+EXPORTS
+DllMain
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdarem.def b/mingw-w64-crt/lib64/wmsdarem.def
index 5400f19..9ec24df 100644
--- a/mingw-w64-crt/lib64/wmsdarem.def
+++ b/mingw-w64-crt/lib64/wmsdarem.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msremote.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msremote.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msremote.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msremote.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdart.def b/mingw-w64-crt/lib64/wmsdart.def
index cec5fc8..978bf11 100644
--- a/mingw-w64-crt/lib64/wmsdart.def
+++ b/mingw-w64-crt/lib64/wmsdart.def
@@ -1,1013 +1,1013 @@
-; 
-; Exports of file MSDART.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDART.DLL
-EXPORTS
-; public: __thiscall CCritSec::CCritSec(void)
-??0CCritSec@@QAE@XZ
-; public: __thiscall CDoubleList::CDoubleList(void)
-??0CDoubleList@@QAE@XZ
-; public: __thiscall CEXAutoBackupFile::CEXAutoBackupFile(unsigned short const *)
-??0CEXAutoBackupFile@@QAE@PBG@Z
-; public: __thiscall CEXAutoBackupFile::CEXAutoBackupFile(void)
-??0CEXAutoBackupFile@@QAE@XZ
-; public: __thiscall CExFileOperation::CExFileOperation(void)
-??0CExFileOperation@@QAE@XZ
-; public: __thiscall CFakeLock::CFakeLock(void)
-??0CFakeLock@@QAE@XZ
-; private: __thiscall CLKRHashTable::CLKRHashTable(class CLKRHashTable const &)
-??0CLKRHashTable@@AAE@ABV0@@Z
-; 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)
-??0CLKRHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK@Z
-; public: __thiscall CLKRHashTableStats::CLKRHashTableStats(void)
-??0CLKRHashTableStats@@QAE@XZ
-; private: __thiscall CLKRLinearHashTable::CLKRLinearHashTable(class CLKRLinearHashTable const &)
-??0CLKRLinearHashTable@@AAE@ABV0@@Z
-; 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 *)
-??0CLKRLinearHashTable@@AAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAVCLKRHashTable@@@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)
-??0CLKRLinearHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK@Z
-; 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 CSingleList::CSingleList(void)
-??0CSingleList@@QAE@XZ
-; public: __thiscall CSmallSpinLock::CSmallSpinLock(void)
-??0CSmallSpinLock@@QAE@XZ
-; public: __thiscall CSpinLock::CSpinLock(void)
-??0CSpinLock@@QAE@XZ
-; public: __thiscall CCritSec::~CCritSec(void)
-??1CCritSec@@QAE@XZ
-; public: __thiscall CDoubleList::~CDoubleList(void)
-??1CDoubleList@@QAE@XZ
-; public: __thiscall CEXAutoBackupFile::~CEXAutoBackupFile(void)
-??1CEXAutoBackupFile@@QAE@XZ
-; public: __thiscall CExFileOperation::~CExFileOperation(void)
-??1CExFileOperation@@QAE@XZ
-; public: __thiscall CFakeLock::~CFakeLock(void)
-??1CFakeLock@@QAE@XZ
-; public: __thiscall CLKRHashTable::~CLKRHashTable(void)
-??1CLKRHashTable@@QAE@XZ
-; public: __thiscall CLKRLinearHashTable::~CLKRLinearHashTable(void)
-??1CLKRLinearHashTable@@QAE@XZ
-; public: __thiscall CLockedDoubleList::~CLockedDoubleList(void)
-??1CLockedDoubleList@@QAE@XZ
-; public: __thiscall CLockedSingleList::~CLockedSingleList(void)
-??1CLockedSingleList@@QAE@XZ
-; public: __thiscall CReaderWriterLock2::~CReaderWriterLock2(void)
-??1CReaderWriterLock2@@QAE@XZ
-; public: __thiscall CReaderWriterLock3::~CReaderWriterLock3(void)
-??1CReaderWriterLock3@@QAE@XZ
-; public: __thiscall CReaderWriterLock::~CReaderWriterLock(void)
-??1CReaderWriterLock@@QAE@XZ
-; public: __thiscall CSingleList::~CSingleList(void)
-??1CSingleList@@QAE@XZ
-; public: __thiscall CSmallSpinLock::~CSmallSpinLock(void)
-??1CSmallSpinLock@@QAE@XZ
-; public: __thiscall CSpinLock::~CSpinLock(void)
-??1CSpinLock@@QAE@XZ
-; 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,2,1,3,2> & __thiscall CLockBase<5,2,2,1,3,2>::operator=(class CLockBase<5,2,2,1,3,2> const &)
-??4?$CLockBase@$04$01$01$00$02$01@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<6,2,2,1,3,2> & __thiscall CLockBase<6,2,2,1,3,2>::operator=(class CLockBase<6,2,2,1,3,2> const &)
-??4?$CLockBase@$05$01$01$00$02$01@@QAEAAV0@ABV0@@Z
-; public: class CLockBase<7,2,1,1,3,2> & __thiscall CLockBase<7,2,1,1,3,2>::operator=(class CLockBase<7,2,1,1,3,2> const &)
-??4?$CLockBase@$06$01$00$00$02$01@@QAEAAV0@ABV0@@Z
-; public: class CCritSec & __thiscall CCritSec::operator=(class CCritSec const &)
-??4CCritSec@@QAEAAV0@ABV0@@Z
-; public: class CDoubleList & __thiscall CDoubleList::operator=(class CDoubleList const &)
-??4CDoubleList@@QAEAAV0@ABV0@@Z
-; public: class CEXAutoBackupFile & __thiscall CEXAutoBackupFile::operator=(class CEXAutoBackupFile const &)
-??4CEXAutoBackupFile@@QAEAAV0@ABV0@@Z
-; public: class CExFileOperation & __thiscall CExFileOperation::operator=(class CExFileOperation const &)
-??4CExFileOperation@@QAEAAV0@ABV0@@Z
-; public: class CFakeLock & __thiscall CFakeLock::operator=(class CFakeLock const &)
-??4CFakeLock@@QAEAAV0@ABV0@@Z
-; private: class CLKRHashTable & __thiscall CLKRHashTable::operator=(class CLKRHashTable const &)
-??4CLKRHashTable@@AAEAAV0@ABV0@@Z
-; public: class CLKRHashTableStats & __thiscall CLKRHashTableStats::operator=(class CLKRHashTableStats const &)
-??4CLKRHashTableStats@@QAEAAV0@ABV0@@Z
-; private: class CLKRLinearHashTable & __thiscall CLKRLinearHashTable::operator=(class CLKRLinearHashTable const &)
-??4CLKRLinearHashTable@@AAEAAV0@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 CMdVersionInfo & __thiscall CMdVersionInfo::operator=(class CMdVersionInfo const &)
-??4CMdVersionInfo@@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 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: 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
-; public: long __thiscall CEXAutoBackupFile::BackupFile(unsigned short const *)
-?BackupFile@CEXAutoBackupFile@@QAEJPBG@Z
-; 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: int __thiscall CLKRHashTable::CheckTable(void)const 
-?CheckTable@CLKRHashTable@@QBEHXZ
-; public: int __thiscall CLKRLinearHashTable::CheckTable(void)const 
-?CheckTable@CLKRLinearHashTable@@QBEHXZ
-; public: static char const * __stdcall CCritSec::ClassName(void)
-?ClassName@CCritSec@@SGPBDXZ
-; public: static char const * __stdcall CFakeLock::ClassName(void)
-?ClassName@CFakeLock@@SGPBDXZ
-; public: static char const * __stdcall CLKRHashTable::ClassName(void)
-?ClassName@CLKRHashTable@@SGPBDXZ
-; public: static char const * __stdcall CLKRLinearHashTable::ClassName(void)
-?ClassName@CLKRLinearHashTable@@SGPBDXZ
-; public: static char const * __stdcall CReaderWriterLock2::ClassName(void)
-?ClassName@CReaderWriterLock2@@SGPBDXZ
-; public: static char const * __stdcall CReaderWriterLock3::ClassName(void)
-?ClassName@CReaderWriterLock3@@SGPBDXZ
-; public: static char const * __stdcall CReaderWriterLock::ClassName(void)
-?ClassName@CReaderWriterLock@@SGPBDXZ
-; public: static char const * __stdcall CSmallSpinLock::ClassName(void)
-?ClassName@CSmallSpinLock@@SGPBDXZ
-; public: static char const * __stdcall CSpinLock::ClassName(void)
-?ClassName@CSpinLock@@SGPBDXZ
-; public: void __thiscall CLKRHashTable::Clear(void)
-?Clear@CLKRHashTable@@QAEXXZ
-; public: void __thiscall CLKRLinearHashTable::Clear(void)
-?Clear@CLKRLinearHashTable@@QAEXXZ
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator *)
-?CloseIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator *)const 
-?CloseIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator *)
-?CloseIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator *)const 
-?CloseIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: 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 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 CSmallSpinLock::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::ConvertSharedToExclusive(void)
-?ConvertSharedToExclusive@CSpinLock@@QAEXXZ
-; long __stdcall CreateHolder(struct IGPDispenser *,int,unsigned int,struct IGPHolder * *)
-?CreateHolder@@YGJPAUIGPDispenser@@HIPAPAUIGPHolder@@@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: 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: long __thiscall CExFileOperation::FOCopyFile(unsigned short const *,unsigned short const *,int)
-?FOCopyFile@CExFileOperation@@QAEJPBG0H@Z
-; public: long __thiscall CExFileOperation::FOCopyFileDACLS(unsigned short const *,unsigned short const *)
-?FOCopyFileDACLS@CExFileOperation@@QAEJPBG0@Z
-; public: long __thiscall CExFileOperation::FODeleteFile(unsigned short const *)
-?FODeleteFile@CExFileOperation@@QAEJPBG@Z
-; public: long __thiscall CExFileOperation::FOMoveFile(unsigned short const *,unsigned short const *)
-?FOMoveFile@CExFileOperation@@QAEJPBG0@Z
-; public: long __thiscall CExFileOperation::FOReplaceFile(unsigned short const *,unsigned short const *)
-?FOReplaceFile@CExFileOperation@@QAEJPBG0@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: class CListEntry * __thiscall CDoubleList::First(void)const 
-?First@CDoubleList@@QBEQAVCListEntry@@XZ
-; public: class CListEntry * __thiscall CLockedDoubleList::First(void)
-?First@CLockedDoubleList@@QAEQAVCListEntry@@XZ
-; public: int __thiscall CEXAutoBackupFile::GetBackupFile(unsigned short * *)
-?GetBackupFile@CEXAutoBackupFile@@QAEHPAPAG@Z
-; public: unsigned short __thiscall CLKRHashTable::GetBucketLockSpinCount(void)
-?GetBucketLockSpinCount@CLKRHashTable@@QAEGXZ
-; public: unsigned short __thiscall CLKRLinearHashTable::GetBucketLockSpinCount(void)
-?GetBucketLockSpinCount@CLKRLinearHashTable@@QAEGXZ
-; 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 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 CSmallSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSmallSpinLock@@SGGXZ
-; public: static unsigned short __stdcall CSpinLock::GetDefaultSpinCount(void)
-?GetDefaultSpinCount@CSpinLock@@SGGXZ
-; 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 CSmallSpinLock::GetSpinCount(void)const 
-?GetSpinCount@CSmallSpinLock@@QBEGXZ
-; public: unsigned short __thiscall CSpinLock::GetSpinCount(void)const 
-?GetSpinCount@CSpinLock@@QBEGXZ
-; public: class CLKRHashTableStats  __thiscall CLKRHashTable::GetStatistics(void)const 
-?GetStatistics@CLKRHashTable@@QBE?AVCLKRHashTableStats@@XZ
-; public: class CLKRHashTableStats  __thiscall CLKRLinearHashTable::GetStatistics(void)const 
-?GetStatistics@CLKRLinearHashTable@@QBE?AVCLKRHashTableStats@@XZ
-; public: unsigned short __thiscall CLKRHashTable::GetTableLockSpinCount(void)
-?GetTableLockSpinCount@CLKRHashTable@@QAEGXZ
-; public: unsigned short __thiscall CLKRLinearHashTable::GetTableLockSpinCount(void)
-?GetTableLockSpinCount@CLKRLinearHashTable@@QAEGXZ
-; public: static int __cdecl CMdVersionInfo::GetVersionExW(struct _OSVERSIONINFOW *)
-?GetVersionExW@CMdVersionInfo@@SAHPAU_OSVERSIONINFOW@@@Z
-; 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: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator *)
-?IncrementIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator *)const 
-?IncrementIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator *)
-?IncrementIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator *)const 
-?IncrementIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator *)
-?InitializeIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator *)const 
-?InitializeIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator *)
-?InitializeIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator *)const 
-?InitializeIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
-; private: static int __cdecl CMdVersionInfo::InitializeVersionInfo(void)
-?InitializeVersionInfo@CMdVersionInfo@@CAHXZ
-; 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: 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: 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: bool __thiscall CLockedDoubleList::IsLocked(void)const 
-?IsLocked@CLockedDoubleList@@QBE_NXZ
-; public: bool __thiscall CLockedSingleList::IsLocked(void)const 
-?IsLocked@CLockedSingleList@@QBE_NXZ
-; public: static int __cdecl CMdVersionInfo::IsMillnm(void)
-?IsMillnm@CMdVersionInfo@@SAHXZ
-; 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 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 CSmallSpinLock::IsReadUnlocked(void)const 
-?IsReadUnlocked@CSmallSpinLock@@QBE_NXZ
-; public: bool __thiscall CSpinLock::IsReadUnlocked(void)const 
-?IsReadUnlocked@CSpinLock@@QBE_NXZ
-; 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: bool __thiscall CLKRHashTable::IsValid(void)const 
-?IsValid@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::IsValid(void)const 
-?IsValid@CLKRLinearHashTable@@QBE_NXZ
-; public: static int __cdecl CMdVersionInfo::IsWin2k(void)
-?IsWin2k@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin2korLater(void)
-?IsWin2korLater@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin95(void)
-?IsWin95@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin98(void)
-?IsWin98@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin98orLater(void)
-?IsWin98orLater@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWin9x(void)
-?IsWin9x@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWinNT4(void)
-?IsWinNT4@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWinNT(void)
-?IsWinNT@CMdVersionInfo@@SAHXZ
-; public: static int __cdecl CMdVersionInfo::IsWinNt4orLater(void)
-?IsWinNt4orLater@CMdVersionInfo@@SAHXZ
-; 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 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 CSmallSpinLock::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CSmallSpinLock@@QBE_NXZ
-; public: bool __thiscall CSpinLock::IsWriteUnlocked(void)const 
-?IsWriteUnlocked@CSpinLock@@QBE_NXZ
-; public: class CListEntry * __thiscall CDoubleList::Last(void)const 
-?Last@CDoubleList@@QBEQAVCListEntry@@XZ
-; public: class CListEntry * __thiscall CLockedDoubleList::Last(void)
-?Last@CLockedDoubleList@@QAEQAVCListEntry@@XZ
-; public: void __thiscall CLockedDoubleList::Lock(void)
-?Lock@CLockedDoubleList@@QAEXXZ
-; public: void __thiscall CLockedSingleList::Lock(void)
-?Lock@CLockedSingleList@@QAEXXZ
-; 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,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<6,2,2,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<7,2,1,1,3,2>::LockType(void)
-?LockType@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
-; public: unsigned long __thiscall CLKRHashTable::MaxSize(void)const 
-?MaxSize@CLKRHashTable@@QBEKXZ
-; public: unsigned long __thiscall CLKRLinearHashTable::MaxSize(void)const 
-?MaxSize@CLKRLinearHashTable@@QBEKXZ
-; unsigned long __cdecl MpHeapCompact(void *)
-?MpHeapCompact@@YAKPAX@Z
-; 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,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<6,2,2,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
-; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<7,2,1,1,3,2>::MutexType(void)
-?MutexType@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
-; 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
-; int __stdcall OnUnicodeSystem(void)
-?OnUnicodeSystem@@YGHXZ
-; 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,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<6,2,2,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
-; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<7,2,1,1,3,2>::PerLockSpin(void)
-?PerLockSpin@?$CLockBase@$06$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 CLKRHashTable::Print(void)const 
-?Print@CLKRHashTable@@QBEXXZ
-; public: void __thiscall CLKRLinearHashTable::Print(void)const 
-?Print@CLKRLinearHashTable@@QBEXXZ
-; 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: 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,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<6,2,2,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<7,2,1,1,3,2>::QueueType(void)
-?QueueType@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
-; 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 CSmallSpinLock::ReadLock(void)
-?ReadLock@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::ReadLock(void)
-?ReadLock@CSpinLock@@QAEXXZ
-; public: bool __thiscall CCritSec::ReadOrWriteLock(void)
-?ReadOrWriteLock@CCritSec@@QAE_NXZ
-; public: bool __thiscall CFakeLock::ReadOrWriteLock(void)
-?ReadOrWriteLock@CFakeLock@@QAE_NXZ
-; public: bool __thiscall CReaderWriterLock3::ReadOrWriteLock(void)
-?ReadOrWriteLock@CReaderWriterLock3@@QAE_NXZ
-; public: bool __thiscall CSpinLock::ReadOrWriteLock(void)
-?ReadOrWriteLock@CSpinLock@@QAE_NXZ
-; public: void __thiscall CCritSec::ReadOrWriteUnlock(bool)
-?ReadOrWriteUnlock@CCritSec@@QAEX_N@Z
-; public: void __thiscall CFakeLock::ReadOrWriteUnlock(bool)
-?ReadOrWriteUnlock@CFakeLock@@QAEX_N@Z
-; public: void __thiscall CReaderWriterLock3::ReadOrWriteUnlock(bool)
-?ReadOrWriteUnlock@CReaderWriterLock3@@QAEX_N@Z
-; public: void __thiscall CSpinLock::ReadOrWriteUnlock(bool)
-?ReadOrWriteUnlock@CSpinLock@@QAEX_N@Z
-; public: void __thiscall CCritSec::ReadUnlock(void)
-?ReadUnlock@CCritSec@@QAEXXZ
-; public: void __thiscall CFakeLock::ReadUnlock(void)
-?ReadUnlock@CFakeLock@@QAEXXZ
-; public: void __thiscall CLKRHashTable::ReadUnlock(void)const 
-?ReadUnlock@CLKRHashTable@@QBEXXZ
-; public: void __thiscall CLKRLinearHashTable::ReadUnlock(void)const 
-?ReadUnlock@CLKRLinearHashTable@@QBEXXZ
-; public: void __thiscall CReaderWriterLock2::ReadUnlock(void)
-?ReadUnlock@CReaderWriterLock2@@QAEXXZ
-; public: void __thiscall CReaderWriterLock3::ReadUnlock(void)
-?ReadUnlock@CReaderWriterLock3@@QAEXXZ
-; public: void __thiscall CReaderWriterLock::ReadUnlock(void)
-?ReadUnlock@CReaderWriterLock@@QAEXXZ
-; public: void __thiscall CSmallSpinLock::ReadUnlock(void)
-?ReadUnlock@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::ReadUnlock(void)
-?ReadUnlock@CSpinLock@@QAEXXZ
-; 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,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<6,2,2,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
-; public: static enum LOCK_RECURSION  __stdcall CLockBase<7,2,1,1,3,2>::Recursion(void)
-?Recursion@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
-; public: static void __cdecl CMdVersionInfo::ReleaseVersionInfo(void)
-?ReleaseVersionInfo@CMdVersionInfo@@SAXXZ
-; 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: class CListEntry * __thiscall CDoubleList::RemoveTail(void)
-?RemoveTail@CDoubleList@@QAEQAVCListEntry@@XZ
-; public: class CListEntry * __thiscall CLockedDoubleList::RemoveTail(void)
-?RemoveTail@CLockedDoubleList@@QAEQAVCListEntry@@XZ
-; public: long __thiscall CEXAutoBackupFile::RestoreFile(void)
-?RestoreFile@CEXAutoBackupFile@@QAEJXZ
-; public: void __thiscall CLKRHashTable::SetBucketLockSpinCount(unsigned short)
-?SetBucketLockSpinCount@CLKRHashTable@@QAEXG@Z
-; public: void __thiscall CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short)
-?SetBucketLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
-; public: static void __stdcall CCritSec::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CCritSec@@SGXN@Z
-; public: static void __stdcall CFakeLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CFakeLock@@SGXN@Z
-; public: static void __stdcall CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SGXN@Z
-; public: static void __stdcall CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SGXN@Z
-; public: static void __stdcall CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
-?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SGXN@Z
-; public: static void __stdcall 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 CSmallSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSmallSpinLock@@SGXG@Z
-; public: static void __stdcall CSpinLock::SetDefaultSpinCount(unsigned short)
-?SetDefaultSpinCount@CSpinLock@@SGXG@Z
-; public: bool __thiscall CCritSec::SetSpinCount(unsigned short)
-?SetSpinCount@CCritSec@@QAE_NG@Z
-; public: static unsigned long __stdcall CCritSec::SetSpinCount(class CCriticalSection * *,unsigned long)
-?SetSpinCount@CCritSec@@SGKPAPAVCCriticalSection@@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 CSmallSpinLock::SetSpinCount(unsigned short)
-?SetSpinCount@CSmallSpinLock@@QAE_NG@Z
-; public: bool __thiscall CSpinLock::SetSpinCount(unsigned short)
-?SetSpinCount@CSpinLock@@QAE_NG@Z
-; public: void __thiscall CLKRHashTable::SetTableLockSpinCount(unsigned short)
-?SetTableLockSpinCount@CLKRHashTable@@QAEXG@Z
-; public: void __thiscall CLKRLinearHashTable::SetTableLockSpinCount(unsigned short)
-?SetTableLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
-; public: unsigned long __thiscall CLKRHashTable::Size(void)const 
-?Size@CLKRHashTable@@QBEKXZ
-; public: unsigned long __thiscall CLKRLinearHashTable::Size(void)const 
-?Size@CLKRLinearHashTable@@QBEKXZ
-; 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 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 CSmallSpinLock::TryWriteLock(void)
-?TryWriteLock@CSmallSpinLock@@QAE_NXZ
-; public: bool __thiscall CSpinLock::TryWriteLock(void)
-?TryWriteLock@CSpinLock@@QAE_NXZ
-; public: long __thiscall CEXAutoBackupFile::UndoBackup(void)
-?UndoBackup@CEXAutoBackupFile@@QAEJXZ
-; public: void __thiscall CLockedDoubleList::Unlock(void)
-?Unlock@CLockedDoubleList@@QAEXXZ
-; public: void __thiscall CLockedSingleList::Unlock(void)
-?Unlock@CLockedSingleList@@QAEXXZ
-; public: bool __thiscall CLKRHashTable::ValidSignature(void)const 
-?ValidSignature@CLKRHashTable@@QBE_NXZ
-; public: bool __thiscall CLKRLinearHashTable::ValidSignature(void)const 
-?ValidSignature@CLKRLinearHashTable@@QBE_NXZ
-; 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,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<6,2,2,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<7,2,1,1,3,2>::WaitType(void)
-?WaitType@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
-; 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 CSmallSpinLock::WriteLock(void)
-?WriteLock@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::WriteLock(void)
-?WriteLock@CSpinLock@@QAEXXZ
-; public: void __thiscall CCritSec::WriteUnlock(void)
-?WriteUnlock@CCritSec@@QAEXXZ
-; public: void __thiscall CFakeLock::WriteUnlock(void)
-?WriteUnlock@CFakeLock@@QAEXXZ
-; public: void __thiscall CLKRHashTable::WriteUnlock(void)const 
-?WriteUnlock@CLKRHashTable@@QBEXXZ
-; public: void __thiscall CLKRLinearHashTable::WriteUnlock(void)const 
-?WriteUnlock@CLKRLinearHashTable@@QBEXXZ
-; public: void __thiscall CReaderWriterLock2::WriteUnlock(void)
-?WriteUnlock@CReaderWriterLock2@@QAEXXZ
-; public: void __thiscall CReaderWriterLock3::WriteUnlock(void)
-?WriteUnlock@CReaderWriterLock3@@QAEXXZ
-; public: void __thiscall CReaderWriterLock::WriteUnlock(void)
-?WriteUnlock@CReaderWriterLock@@QAEXXZ
-; public: void __thiscall CSmallSpinLock::WriteUnlock(void)
-?WriteUnlock@CSmallSpinLock@@QAEXXZ
-; public: void __thiscall CSpinLock::WriteUnlock(void)
-?WriteUnlock@CSpinLock@@QAEXXZ
-; private: void __thiscall CLKRLinearHashTable::_AddRefRecord(void const *,int)const 
-?_AddRefRecord@CLKRLinearHashTable@@ABEXPBXH@Z
-; private: static class CLKRLinearHashTable::CNodeClump * __stdcall CLKRLinearHashTable::_AllocateNodeClump(void)
-?_AllocateNodeClump@CLKRLinearHashTable@@CGQAVCNodeClump@1@XZ
-; private: class CLKRLinearHashTable::CSegment * __thiscall CLKRLinearHashTable::_AllocateSegment(void)const 
-?_AllocateSegment@CLKRLinearHashTable@@ABEQAVCSegment@1@XZ
-; private: static class CLKRLinearHashTable::CDirEntry * __stdcall CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned int)
-?_AllocateSegmentDirectory@CLKRLinearHashTable@@CGQAVCDirEntry@1@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 *)
-?_AllocateSubTable@CLKRHashTable@@CGQAVCLKRLinearHashTable@@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAV1@@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 CLKRLinearHashTable::CBucket * __thiscall CLKRLinearHashTable::_Bucket(unsigned long)const 
-?_Bucket@CLKRLinearHashTable@@ABEPAVCBucket@1@K@Z
-; private: unsigned long __thiscall CLKRLinearHashTable::_BucketAddress(unsigned long)const 
-?_BucketAddress@CLKRLinearHashTable@@ABEKK@Z
-; private: unsigned long __thiscall CLKRHashTable::_CalcKeyHash(unsigned long)const 
-?_CalcKeyHash@CLKRHashTable@@ABEKK@Z
-; private: unsigned long __thiscall CLKRLinearHashTable::_CalcKeyHash(unsigned long)const 
-?_CalcKeyHash@CLKRLinearHashTable@@ABEKK@Z
-; private: void __thiscall CLKRLinearHashTable::_Clear(bool)
-?_Clear@CLKRLinearHashTable@@AAEX_N@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator *)
-?_CloseIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; private: bool __thiscall CReaderWriterLock2::_CmpExch(long,long)
-?_CmpExch@CReaderWriterLock2@@AAE_NJJ@Z
-; private: bool __thiscall CReaderWriterLock3::_CmpExch(long,long)
-?_CmpExch@CReaderWriterLock3@@AAE_NJJ@Z
-; private: bool __thiscall CReaderWriterLock::_CmpExch(long,long)
-?_CmpExch@CReaderWriterLock@@AAE_NJJ@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Contract(void)
-?_Contract@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@XZ
-; private: static long __stdcall CReaderWriterLock3::_CurrentThreadId(void)
-?_CurrentThreadId@CReaderWriterLock3@@CGJXZ
-; private: static long __stdcall CSmallSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSmallSpinLock@@CGJXZ
-; private: static long __stdcall CSpinLock::_CurrentThreadId(void)
-?_CurrentThreadId@CSpinLock@@CGJXZ
-; private: unsigned long __thiscall CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *,enum LK_PREDICATE &)
-?_DeleteIf@CLKRLinearHashTable@@AAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1AAW42@@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_DeleteKey(unsigned long,unsigned long)
-?_DeleteKey@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@KK@Z
-; private: bool __thiscall CLKRLinearHashTable::_DeleteNode(class CLKRLinearHashTable::CBucket *,class CLKRLinearHashTable::CNodeClump * &,class CLKRLinearHashTable::CNodeClump * &,int &)
-?_DeleteNode@CLKRLinearHashTable@@AAE_NPAVCBucket@1@AAPAVCNodeClump@1@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: 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 CLKRLinearHashTable::CBucket * __thiscall CLKRLinearHashTable::_FindBucket(unsigned long,bool)const 
-?_FindBucket@CLKRLinearHashTable@@ABEPAVCBucket@1@K_N@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_FindKey(unsigned long,unsigned long,void const * *)const 
-?_FindKey@CLKRLinearHashTable@@ABE?AW4LK_RETCODE@@KKPAPBX@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 CLKRLinearHashTable::CNodeClump *)
-?_FreeNodeClump@CLKRLinearHashTable@@CG_NPAVCNodeClump@1@@Z
-; private: bool __thiscall CLKRLinearHashTable::_FreeSegment(class CLKRLinearHashTable::CSegment *)const 
-?_FreeSegment@CLKRLinearHashTable@@ABE_NPAVCSegment@1@@Z
-; private: static bool __stdcall CLKRLinearHashTable::_FreeSegmentDirectory(class CLKRLinearHashTable::CDirEntry *)
-?_FreeSegmentDirectory@CLKRLinearHashTable@@CG_NPAVCDirEntry@1@@Z
-; 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
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Initialize(unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),char const *,double,unsigned long)
-?_Initialize@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@P6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX0H@ZPBDNK@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator *)
-?_InitializeIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InsertRecord(void const *,unsigned long,bool)
-?_InsertRecord@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PBXK_N@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 CLKRLinearHashTable::CBucket * const)const 
-?_IsNodeCompact@CLKRLinearHashTable@@ABEHQAVCBucket@1@@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 CLKRLinearHashTable::CBucket *,class CLKRLinearHashTable::CNodeClump *,class CLKRLinearHashTable::CNodeClump *)
-?_MergeRecordSets@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCBucket@1@PAVCNodeClump@1@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
-; private: bool __thiscall CLKRLinearHashTable::_ReadOrWriteLock(void)const 
-?_ReadOrWriteLock@CLKRLinearHashTable@@ABE_NXZ
-; private: void __thiscall CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const 
-?_ReadOrWriteUnlock@CLKRLinearHashTable@@ABEX_N@Z
-; 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 CLKRLinearHashTable::CSegment * & __thiscall CLKRLinearHashTable::_Segment(unsigned long)const 
-?_Segment@CLKRLinearHashTable@@ABEAAPAVCSegment@1@K@Z
-; private: void __thiscall CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE)
-?_SetSegVars@CLKRLinearHashTable@@AAEXW4LK_TABLESIZE@@@Z
-; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_SplitRecordSet(class CLKRLinearHashTable::CNodeClump *,class CLKRLinearHashTable::CNodeClump *,unsigned long,unsigned long,unsigned long,class CLKRLinearHashTable::CNodeClump *)
-?_SplitRecordSet@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCNodeClump@1@0KKK0@Z
-; private: class CLKRLinearHashTable * __thiscall CLKRHashTable::_SubTable(unsigned long)const 
-?_SubTable@CLKRHashTable@@ABEPAVCLKRLinearHashTable@@K@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
-; private: long __thiscall CExFileOperation::_getFileSecurity(unsigned short const *)
-?_getFileSecurity@CExFileOperation@@AAEJPBG@Z
-; private: long __thiscall CExFileOperation::_setFileSecurity(unsigned short const *)
-?_setFileSecurity@CExFileOperation@@AAEJPBG@Z
-; public: int __thiscall CEXAutoBackupFile::fHaveBackup(void)
-?fHaveBackup@CEXAutoBackupFile@@QAEHXZ
-; long const * const  `public: static long const * __stdcall CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
-?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SGPBJXZ@4QBJB
-; 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  CSmallSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
-; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
-?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA 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 struct _OSVERSIONINFOW *  CMdVersionInfo::sm_lpOSVERSIONINFO
-?sm_lpOSVERSIONINFO@CMdVersionInfo@@0PAU_OSVERSIONINFOW@@A DATA
-; private: static unsigned long (__stdcall* CCriticalSection::sm_pfnSetCriticalSectionSpinCount)(struct _RTL_CRITICAL_SECTION *,unsigned long)
-?sm_pfnSetCriticalSectionSpinCount@CCriticalSection@@0P6GKPAU_RTL_CRITICAL_SECTION@@K@ZA DATA
-; private: static int (__stdcall* CCriticalSection::sm_pfnTryEnterCriticalSection)(struct _RTL_CRITICAL_SECTION *)
-?sm_pfnTryEnterCriticalSection@CCriticalSection@@0P6GHPAU_RTL_CRITICAL_SECTION@@@ZA 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  CSmallSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
-; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
-?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
-DllBidEntryPoint
-_DllMain@12
-FXMemAttach
-FXMemDetach
-GetIUMS
-IrtlTrace
-_IsValidAddress@12
-_IsValidString@8
-_LoadVersionedResourceEx@16
-MPCSInitialize
-MPCSUninitialize
-MPDeleteCriticalSection
-MPInitializeCriticalSection
-MPInitializeCriticalSectionAndSpinCount
-MpGetHeapHandle
-MpHeapAlloc
-MpHeapCreate
-MpHeapDestroy
-MpHeapFree
-MpHeapReAlloc
-MpHeapSize
-MpHeapValidate
-SetIUMS
-SetMemHook
-UMSEnterCSWraper
-mpCalloc
-mpFree
-mpMalloc
-mpRealloc
+; 
+; Exports of file MSDART.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDART.DLL
+EXPORTS
+; public: __thiscall CCritSec::CCritSec(void)
+??0CCritSec@@QAE@XZ
+; public: __thiscall CDoubleList::CDoubleList(void)
+??0CDoubleList@@QAE@XZ
+; public: __thiscall CEXAutoBackupFile::CEXAutoBackupFile(unsigned short const *)
+??0CEXAutoBackupFile@@QAE@PBG@Z
+; public: __thiscall CEXAutoBackupFile::CEXAutoBackupFile(void)
+??0CEXAutoBackupFile@@QAE@XZ
+; public: __thiscall CExFileOperation::CExFileOperation(void)
+??0CExFileOperation@@QAE@XZ
+; public: __thiscall CFakeLock::CFakeLock(void)
+??0CFakeLock@@QAE@XZ
+; private: __thiscall CLKRHashTable::CLKRHashTable(class CLKRHashTable const &)
+??0CLKRHashTable@@AAE@ABV0@@Z
+; 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)
+??0CLKRHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK@Z
+; public: __thiscall CLKRHashTableStats::CLKRHashTableStats(void)
+??0CLKRHashTableStats@@QAE@XZ
+; private: __thiscall CLKRLinearHashTable::CLKRLinearHashTable(class CLKRLinearHashTable const &)
+??0CLKRLinearHashTable@@AAE@ABV0@@Z
+; 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 *)
+??0CLKRLinearHashTable@@AAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAVCLKRHashTable@@@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)
+??0CLKRLinearHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK@Z
+; 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 CSingleList::CSingleList(void)
+??0CSingleList@@QAE@XZ
+; public: __thiscall CSmallSpinLock::CSmallSpinLock(void)
+??0CSmallSpinLock@@QAE@XZ
+; public: __thiscall CSpinLock::CSpinLock(void)
+??0CSpinLock@@QAE@XZ
+; public: __thiscall CCritSec::~CCritSec(void)
+??1CCritSec@@QAE@XZ
+; public: __thiscall CDoubleList::~CDoubleList(void)
+??1CDoubleList@@QAE@XZ
+; public: __thiscall CEXAutoBackupFile::~CEXAutoBackupFile(void)
+??1CEXAutoBackupFile@@QAE@XZ
+; public: __thiscall CExFileOperation::~CExFileOperation(void)
+??1CExFileOperation@@QAE@XZ
+; public: __thiscall CFakeLock::~CFakeLock(void)
+??1CFakeLock@@QAE@XZ
+; public: __thiscall CLKRHashTable::~CLKRHashTable(void)
+??1CLKRHashTable@@QAE@XZ
+; public: __thiscall CLKRLinearHashTable::~CLKRLinearHashTable(void)
+??1CLKRLinearHashTable@@QAE@XZ
+; public: __thiscall CLockedDoubleList::~CLockedDoubleList(void)
+??1CLockedDoubleList@@QAE@XZ
+; public: __thiscall CLockedSingleList::~CLockedSingleList(void)
+??1CLockedSingleList@@QAE@XZ
+; public: __thiscall CReaderWriterLock2::~CReaderWriterLock2(void)
+??1CReaderWriterLock2@@QAE@XZ
+; public: __thiscall CReaderWriterLock3::~CReaderWriterLock3(void)
+??1CReaderWriterLock3@@QAE@XZ
+; public: __thiscall CReaderWriterLock::~CReaderWriterLock(void)
+??1CReaderWriterLock@@QAE@XZ
+; public: __thiscall CSingleList::~CSingleList(void)
+??1CSingleList@@QAE@XZ
+; public: __thiscall CSmallSpinLock::~CSmallSpinLock(void)
+??1CSmallSpinLock@@QAE@XZ
+; public: __thiscall CSpinLock::~CSpinLock(void)
+??1CSpinLock@@QAE@XZ
+; 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,2,1,3,2> & __thiscall CLockBase<5,2,2,1,3,2>::operator=(class CLockBase<5,2,2,1,3,2> const &)
+??4?$CLockBase@$04$01$01$00$02$01@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<6,2,2,1,3,2> & __thiscall CLockBase<6,2,2,1,3,2>::operator=(class CLockBase<6,2,2,1,3,2> const &)
+??4?$CLockBase@$05$01$01$00$02$01@@QAEAAV0@ABV0@@Z
+; public: class CLockBase<7,2,1,1,3,2> & __thiscall CLockBase<7,2,1,1,3,2>::operator=(class CLockBase<7,2,1,1,3,2> const &)
+??4?$CLockBase@$06$01$00$00$02$01@@QAEAAV0@ABV0@@Z
+; public: class CCritSec & __thiscall CCritSec::operator=(class CCritSec const &)
+??4CCritSec@@QAEAAV0@ABV0@@Z
+; public: class CDoubleList & __thiscall CDoubleList::operator=(class CDoubleList const &)
+??4CDoubleList@@QAEAAV0@ABV0@@Z
+; public: class CEXAutoBackupFile & __thiscall CEXAutoBackupFile::operator=(class CEXAutoBackupFile const &)
+??4CEXAutoBackupFile@@QAEAAV0@ABV0@@Z
+; public: class CExFileOperation & __thiscall CExFileOperation::operator=(class CExFileOperation const &)
+??4CExFileOperation@@QAEAAV0@ABV0@@Z
+; public: class CFakeLock & __thiscall CFakeLock::operator=(class CFakeLock const &)
+??4CFakeLock@@QAEAAV0@ABV0@@Z
+; private: class CLKRHashTable & __thiscall CLKRHashTable::operator=(class CLKRHashTable const &)
+??4CLKRHashTable@@AAEAAV0@ABV0@@Z
+; public: class CLKRHashTableStats & __thiscall CLKRHashTableStats::operator=(class CLKRHashTableStats const &)
+??4CLKRHashTableStats@@QAEAAV0@ABV0@@Z
+; private: class CLKRLinearHashTable & __thiscall CLKRLinearHashTable::operator=(class CLKRLinearHashTable const &)
+??4CLKRLinearHashTable@@AAEAAV0@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 CMdVersionInfo & __thiscall CMdVersionInfo::operator=(class CMdVersionInfo const &)
+??4CMdVersionInfo@@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 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: 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
+; public: long __thiscall CEXAutoBackupFile::BackupFile(unsigned short const *)
+?BackupFile@CEXAutoBackupFile@@QAEJPBG@Z
+; 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: int __thiscall CLKRHashTable::CheckTable(void)const 
+?CheckTable@CLKRHashTable@@QBEHXZ
+; public: int __thiscall CLKRLinearHashTable::CheckTable(void)const 
+?CheckTable@CLKRLinearHashTable@@QBEHXZ
+; public: static char const * __stdcall CCritSec::ClassName(void)
+?ClassName@CCritSec@@SGPBDXZ
+; public: static char const * __stdcall CFakeLock::ClassName(void)
+?ClassName@CFakeLock@@SGPBDXZ
+; public: static char const * __stdcall CLKRHashTable::ClassName(void)
+?ClassName@CLKRHashTable@@SGPBDXZ
+; public: static char const * __stdcall CLKRLinearHashTable::ClassName(void)
+?ClassName@CLKRLinearHashTable@@SGPBDXZ
+; public: static char const * __stdcall CReaderWriterLock2::ClassName(void)
+?ClassName@CReaderWriterLock2@@SGPBDXZ
+; public: static char const * __stdcall CReaderWriterLock3::ClassName(void)
+?ClassName@CReaderWriterLock3@@SGPBDXZ
+; public: static char const * __stdcall CReaderWriterLock::ClassName(void)
+?ClassName@CReaderWriterLock@@SGPBDXZ
+; public: static char const * __stdcall CSmallSpinLock::ClassName(void)
+?ClassName@CSmallSpinLock@@SGPBDXZ
+; public: static char const * __stdcall CSpinLock::ClassName(void)
+?ClassName@CSpinLock@@SGPBDXZ
+; public: void __thiscall CLKRHashTable::Clear(void)
+?Clear@CLKRHashTable@@QAEXXZ
+; public: void __thiscall CLKRLinearHashTable::Clear(void)
+?Clear@CLKRLinearHashTable@@QAEXXZ
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator *)
+?CloseIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator *)const 
+?CloseIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator *)
+?CloseIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator *)const 
+?CloseIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: 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 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 CSmallSpinLock::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::ConvertSharedToExclusive(void)
+?ConvertSharedToExclusive@CSpinLock@@QAEXXZ
+; long __stdcall CreateHolder(struct IGPDispenser *,int,unsigned int,struct IGPHolder * *)
+?CreateHolder@@YGJPAUIGPDispenser@@HIPAPAUIGPHolder@@@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: 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: long __thiscall CExFileOperation::FOCopyFile(unsigned short const *,unsigned short const *,int)
+?FOCopyFile@CExFileOperation@@QAEJPBG0H@Z
+; public: long __thiscall CExFileOperation::FOCopyFileDACLS(unsigned short const *,unsigned short const *)
+?FOCopyFileDACLS@CExFileOperation@@QAEJPBG0@Z
+; public: long __thiscall CExFileOperation::FODeleteFile(unsigned short const *)
+?FODeleteFile@CExFileOperation@@QAEJPBG@Z
+; public: long __thiscall CExFileOperation::FOMoveFile(unsigned short const *,unsigned short const *)
+?FOMoveFile@CExFileOperation@@QAEJPBG0@Z
+; public: long __thiscall CExFileOperation::FOReplaceFile(unsigned short const *,unsigned short const *)
+?FOReplaceFile@CExFileOperation@@QAEJPBG0@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: class CListEntry * __thiscall CDoubleList::First(void)const 
+?First@CDoubleList@@QBEQAVCListEntry@@XZ
+; public: class CListEntry * __thiscall CLockedDoubleList::First(void)
+?First@CLockedDoubleList@@QAEQAVCListEntry@@XZ
+; public: int __thiscall CEXAutoBackupFile::GetBackupFile(unsigned short * *)
+?GetBackupFile@CEXAutoBackupFile@@QAEHPAPAG@Z
+; public: unsigned short __thiscall CLKRHashTable::GetBucketLockSpinCount(void)
+?GetBucketLockSpinCount@CLKRHashTable@@QAEGXZ
+; public: unsigned short __thiscall CLKRLinearHashTable::GetBucketLockSpinCount(void)
+?GetBucketLockSpinCount@CLKRLinearHashTable@@QAEGXZ
+; 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 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 CSmallSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSmallSpinLock@@SGGXZ
+; public: static unsigned short __stdcall CSpinLock::GetDefaultSpinCount(void)
+?GetDefaultSpinCount@CSpinLock@@SGGXZ
+; 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 CSmallSpinLock::GetSpinCount(void)const 
+?GetSpinCount@CSmallSpinLock@@QBEGXZ
+; public: unsigned short __thiscall CSpinLock::GetSpinCount(void)const 
+?GetSpinCount@CSpinLock@@QBEGXZ
+; public: class CLKRHashTableStats  __thiscall CLKRHashTable::GetStatistics(void)const 
+?GetStatistics@CLKRHashTable@@QBE?AVCLKRHashTableStats@@XZ
+; public: class CLKRHashTableStats  __thiscall CLKRLinearHashTable::GetStatistics(void)const 
+?GetStatistics@CLKRLinearHashTable@@QBE?AVCLKRHashTableStats@@XZ
+; public: unsigned short __thiscall CLKRHashTable::GetTableLockSpinCount(void)
+?GetTableLockSpinCount@CLKRHashTable@@QAEGXZ
+; public: unsigned short __thiscall CLKRLinearHashTable::GetTableLockSpinCount(void)
+?GetTableLockSpinCount@CLKRLinearHashTable@@QAEGXZ
+; public: static int __cdecl CMdVersionInfo::GetVersionExW(struct _OSVERSIONINFOW *)
+?GetVersionExW@CMdVersionInfo@@SAHPAU_OSVERSIONINFOW@@@Z
+; 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: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator *)
+?IncrementIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator *)const 
+?IncrementIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator *)
+?IncrementIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator *)const 
+?IncrementIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator *)
+?InitializeIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator *)const 
+?InitializeIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator *)
+?InitializeIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator *)const 
+?InitializeIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
+; private: static int __cdecl CMdVersionInfo::InitializeVersionInfo(void)
+?InitializeVersionInfo@CMdVersionInfo@@CAHXZ
+; 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: 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: 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: bool __thiscall CLockedDoubleList::IsLocked(void)const 
+?IsLocked@CLockedDoubleList@@QBE_NXZ
+; public: bool __thiscall CLockedSingleList::IsLocked(void)const 
+?IsLocked@CLockedSingleList@@QBE_NXZ
+; public: static int __cdecl CMdVersionInfo::IsMillnm(void)
+?IsMillnm@CMdVersionInfo@@SAHXZ
+; 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 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 CSmallSpinLock::IsReadUnlocked(void)const 
+?IsReadUnlocked@CSmallSpinLock@@QBE_NXZ
+; public: bool __thiscall CSpinLock::IsReadUnlocked(void)const 
+?IsReadUnlocked@CSpinLock@@QBE_NXZ
+; 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: bool __thiscall CLKRHashTable::IsValid(void)const 
+?IsValid@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::IsValid(void)const 
+?IsValid@CLKRLinearHashTable@@QBE_NXZ
+; public: static int __cdecl CMdVersionInfo::IsWin2k(void)
+?IsWin2k@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin2korLater(void)
+?IsWin2korLater@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin95(void)
+?IsWin95@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin98(void)
+?IsWin98@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin98orLater(void)
+?IsWin98orLater@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWin9x(void)
+?IsWin9x@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWinNT4(void)
+?IsWinNT4@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWinNT(void)
+?IsWinNT@CMdVersionInfo@@SAHXZ
+; public: static int __cdecl CMdVersionInfo::IsWinNt4orLater(void)
+?IsWinNt4orLater@CMdVersionInfo@@SAHXZ
+; 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 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 CSmallSpinLock::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CSmallSpinLock@@QBE_NXZ
+; public: bool __thiscall CSpinLock::IsWriteUnlocked(void)const 
+?IsWriteUnlocked@CSpinLock@@QBE_NXZ
+; public: class CListEntry * __thiscall CDoubleList::Last(void)const 
+?Last@CDoubleList@@QBEQAVCListEntry@@XZ
+; public: class CListEntry * __thiscall CLockedDoubleList::Last(void)
+?Last@CLockedDoubleList@@QAEQAVCListEntry@@XZ
+; public: void __thiscall CLockedDoubleList::Lock(void)
+?Lock@CLockedDoubleList@@QAEXXZ
+; public: void __thiscall CLockedSingleList::Lock(void)
+?Lock@CLockedSingleList@@QAEXXZ
+; 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,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<6,2,2,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<7,2,1,1,3,2>::LockType(void)
+?LockType@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
+; public: unsigned long __thiscall CLKRHashTable::MaxSize(void)const 
+?MaxSize@CLKRHashTable@@QBEKXZ
+; public: unsigned long __thiscall CLKRLinearHashTable::MaxSize(void)const 
+?MaxSize@CLKRLinearHashTable@@QBEKXZ
+; unsigned long __cdecl MpHeapCompact(void *)
+?MpHeapCompact@@YAKPAX@Z
+; 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,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<6,2,2,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
+; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<7,2,1,1,3,2>::MutexType(void)
+?MutexType@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
+; 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
+; int __stdcall OnUnicodeSystem(void)
+?OnUnicodeSystem@@YGHXZ
+; 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,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<6,2,2,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
+; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<7,2,1,1,3,2>::PerLockSpin(void)
+?PerLockSpin@?$CLockBase@$06$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 CLKRHashTable::Print(void)const 
+?Print@CLKRHashTable@@QBEXXZ
+; public: void __thiscall CLKRLinearHashTable::Print(void)const 
+?Print@CLKRLinearHashTable@@QBEXXZ
+; 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: 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,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<6,2,2,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<7,2,1,1,3,2>::QueueType(void)
+?QueueType@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
+; 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 CSmallSpinLock::ReadLock(void)
+?ReadLock@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::ReadLock(void)
+?ReadLock@CSpinLock@@QAEXXZ
+; public: bool __thiscall CCritSec::ReadOrWriteLock(void)
+?ReadOrWriteLock@CCritSec@@QAE_NXZ
+; public: bool __thiscall CFakeLock::ReadOrWriteLock(void)
+?ReadOrWriteLock@CFakeLock@@QAE_NXZ
+; public: bool __thiscall CReaderWriterLock3::ReadOrWriteLock(void)
+?ReadOrWriteLock@CReaderWriterLock3@@QAE_NXZ
+; public: bool __thiscall CSpinLock::ReadOrWriteLock(void)
+?ReadOrWriteLock@CSpinLock@@QAE_NXZ
+; public: void __thiscall CCritSec::ReadOrWriteUnlock(bool)
+?ReadOrWriteUnlock@CCritSec@@QAEX_N@Z
+; public: void __thiscall CFakeLock::ReadOrWriteUnlock(bool)
+?ReadOrWriteUnlock@CFakeLock@@QAEX_N@Z
+; public: void __thiscall CReaderWriterLock3::ReadOrWriteUnlock(bool)
+?ReadOrWriteUnlock@CReaderWriterLock3@@QAEX_N@Z
+; public: void __thiscall CSpinLock::ReadOrWriteUnlock(bool)
+?ReadOrWriteUnlock@CSpinLock@@QAEX_N@Z
+; public: void __thiscall CCritSec::ReadUnlock(void)
+?ReadUnlock@CCritSec@@QAEXXZ
+; public: void __thiscall CFakeLock::ReadUnlock(void)
+?ReadUnlock@CFakeLock@@QAEXXZ
+; public: void __thiscall CLKRHashTable::ReadUnlock(void)const 
+?ReadUnlock@CLKRHashTable@@QBEXXZ
+; public: void __thiscall CLKRLinearHashTable::ReadUnlock(void)const 
+?ReadUnlock@CLKRLinearHashTable@@QBEXXZ
+; public: void __thiscall CReaderWriterLock2::ReadUnlock(void)
+?ReadUnlock@CReaderWriterLock2@@QAEXXZ
+; public: void __thiscall CReaderWriterLock3::ReadUnlock(void)
+?ReadUnlock@CReaderWriterLock3@@QAEXXZ
+; public: void __thiscall CReaderWriterLock::ReadUnlock(void)
+?ReadUnlock@CReaderWriterLock@@QAEXXZ
+; public: void __thiscall CSmallSpinLock::ReadUnlock(void)
+?ReadUnlock@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::ReadUnlock(void)
+?ReadUnlock@CSpinLock@@QAEXXZ
+; 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,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<6,2,2,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
+; public: static enum LOCK_RECURSION  __stdcall CLockBase<7,2,1,1,3,2>::Recursion(void)
+?Recursion@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
+; public: static void __cdecl CMdVersionInfo::ReleaseVersionInfo(void)
+?ReleaseVersionInfo@CMdVersionInfo@@SAXXZ
+; 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: class CListEntry * __thiscall CDoubleList::RemoveTail(void)
+?RemoveTail@CDoubleList@@QAEQAVCListEntry@@XZ
+; public: class CListEntry * __thiscall CLockedDoubleList::RemoveTail(void)
+?RemoveTail@CLockedDoubleList@@QAEQAVCListEntry@@XZ
+; public: long __thiscall CEXAutoBackupFile::RestoreFile(void)
+?RestoreFile@CEXAutoBackupFile@@QAEJXZ
+; public: void __thiscall CLKRHashTable::SetBucketLockSpinCount(unsigned short)
+?SetBucketLockSpinCount@CLKRHashTable@@QAEXG@Z
+; public: void __thiscall CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short)
+?SetBucketLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
+; public: static void __stdcall CCritSec::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CCritSec@@SGXN@Z
+; public: static void __stdcall CFakeLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CFakeLock@@SGXN@Z
+; public: static void __stdcall CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SGXN@Z
+; public: static void __stdcall CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SGXN@Z
+; public: static void __stdcall CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
+?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SGXN@Z
+; public: static void __stdcall 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 CSmallSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSmallSpinLock@@SGXG@Z
+; public: static void __stdcall CSpinLock::SetDefaultSpinCount(unsigned short)
+?SetDefaultSpinCount@CSpinLock@@SGXG@Z
+; public: bool __thiscall CCritSec::SetSpinCount(unsigned short)
+?SetSpinCount@CCritSec@@QAE_NG@Z
+; public: static unsigned long __stdcall CCritSec::SetSpinCount(class CCriticalSection * *,unsigned long)
+?SetSpinCount@CCritSec@@SGKPAPAVCCriticalSection@@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 CSmallSpinLock::SetSpinCount(unsigned short)
+?SetSpinCount@CSmallSpinLock@@QAE_NG@Z
+; public: bool __thiscall CSpinLock::SetSpinCount(unsigned short)
+?SetSpinCount@CSpinLock@@QAE_NG@Z
+; public: void __thiscall CLKRHashTable::SetTableLockSpinCount(unsigned short)
+?SetTableLockSpinCount@CLKRHashTable@@QAEXG@Z
+; public: void __thiscall CLKRLinearHashTable::SetTableLockSpinCount(unsigned short)
+?SetTableLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
+; public: unsigned long __thiscall CLKRHashTable::Size(void)const 
+?Size@CLKRHashTable@@QBEKXZ
+; public: unsigned long __thiscall CLKRLinearHashTable::Size(void)const 
+?Size@CLKRLinearHashTable@@QBEKXZ
+; 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 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 CSmallSpinLock::TryWriteLock(void)
+?TryWriteLock@CSmallSpinLock@@QAE_NXZ
+; public: bool __thiscall CSpinLock::TryWriteLock(void)
+?TryWriteLock@CSpinLock@@QAE_NXZ
+; public: long __thiscall CEXAutoBackupFile::UndoBackup(void)
+?UndoBackup@CEXAutoBackupFile@@QAEJXZ
+; public: void __thiscall CLockedDoubleList::Unlock(void)
+?Unlock@CLockedDoubleList@@QAEXXZ
+; public: void __thiscall CLockedSingleList::Unlock(void)
+?Unlock@CLockedSingleList@@QAEXXZ
+; public: bool __thiscall CLKRHashTable::ValidSignature(void)const 
+?ValidSignature@CLKRHashTable@@QBE_NXZ
+; public: bool __thiscall CLKRLinearHashTable::ValidSignature(void)const 
+?ValidSignature@CLKRLinearHashTable@@QBE_NXZ
+; 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,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$04$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<6,2,2,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$05$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<7,2,1,1,3,2>::WaitType(void)
+?WaitType@?$CLockBase@$06$01$00$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
+; 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 CSmallSpinLock::WriteLock(void)
+?WriteLock@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::WriteLock(void)
+?WriteLock@CSpinLock@@QAEXXZ
+; public: void __thiscall CCritSec::WriteUnlock(void)
+?WriteUnlock@CCritSec@@QAEXXZ
+; public: void __thiscall CFakeLock::WriteUnlock(void)
+?WriteUnlock@CFakeLock@@QAEXXZ
+; public: void __thiscall CLKRHashTable::WriteUnlock(void)const 
+?WriteUnlock@CLKRHashTable@@QBEXXZ
+; public: void __thiscall CLKRLinearHashTable::WriteUnlock(void)const 
+?WriteUnlock@CLKRLinearHashTable@@QBEXXZ
+; public: void __thiscall CReaderWriterLock2::WriteUnlock(void)
+?WriteUnlock@CReaderWriterLock2@@QAEXXZ
+; public: void __thiscall CReaderWriterLock3::WriteUnlock(void)
+?WriteUnlock@CReaderWriterLock3@@QAEXXZ
+; public: void __thiscall CReaderWriterLock::WriteUnlock(void)
+?WriteUnlock@CReaderWriterLock@@QAEXXZ
+; public: void __thiscall CSmallSpinLock::WriteUnlock(void)
+?WriteUnlock@CSmallSpinLock@@QAEXXZ
+; public: void __thiscall CSpinLock::WriteUnlock(void)
+?WriteUnlock@CSpinLock@@QAEXXZ
+; private: void __thiscall CLKRLinearHashTable::_AddRefRecord(void const *,int)const 
+?_AddRefRecord@CLKRLinearHashTable@@ABEXPBXH@Z
+; private: static class CLKRLinearHashTable::CNodeClump * __stdcall CLKRLinearHashTable::_AllocateNodeClump(void)
+?_AllocateNodeClump@CLKRLinearHashTable@@CGQAVCNodeClump@1@XZ
+; private: class CLKRLinearHashTable::CSegment * __thiscall CLKRLinearHashTable::_AllocateSegment(void)const 
+?_AllocateSegment@CLKRLinearHashTable@@ABEQAVCSegment@1@XZ
+; private: static class CLKRLinearHashTable::CDirEntry * __stdcall CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned int)
+?_AllocateSegmentDirectory@CLKRLinearHashTable@@CGQAVCDirEntry@1@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 *)
+?_AllocateSubTable@CLKRHashTable@@CGQAVCLKRLinearHashTable@@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAV1@@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 CLKRLinearHashTable::CBucket * __thiscall CLKRLinearHashTable::_Bucket(unsigned long)const 
+?_Bucket@CLKRLinearHashTable@@ABEPAVCBucket@1@K@Z
+; private: unsigned long __thiscall CLKRLinearHashTable::_BucketAddress(unsigned long)const 
+?_BucketAddress@CLKRLinearHashTable@@ABEKK@Z
+; private: unsigned long __thiscall CLKRHashTable::_CalcKeyHash(unsigned long)const 
+?_CalcKeyHash@CLKRHashTable@@ABEKK@Z
+; private: unsigned long __thiscall CLKRLinearHashTable::_CalcKeyHash(unsigned long)const 
+?_CalcKeyHash@CLKRLinearHashTable@@ABEKK@Z
+; private: void __thiscall CLKRLinearHashTable::_Clear(bool)
+?_Clear@CLKRLinearHashTable@@AAEX_N@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator *)
+?_CloseIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; private: bool __thiscall CReaderWriterLock2::_CmpExch(long,long)
+?_CmpExch@CReaderWriterLock2@@AAE_NJJ@Z
+; private: bool __thiscall CReaderWriterLock3::_CmpExch(long,long)
+?_CmpExch@CReaderWriterLock3@@AAE_NJJ@Z
+; private: bool __thiscall CReaderWriterLock::_CmpExch(long,long)
+?_CmpExch@CReaderWriterLock@@AAE_NJJ@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Contract(void)
+?_Contract@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@XZ
+; private: static long __stdcall CReaderWriterLock3::_CurrentThreadId(void)
+?_CurrentThreadId@CReaderWriterLock3@@CGJXZ
+; private: static long __stdcall CSmallSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSmallSpinLock@@CGJXZ
+; private: static long __stdcall CSpinLock::_CurrentThreadId(void)
+?_CurrentThreadId@CSpinLock@@CGJXZ
+; private: unsigned long __thiscall CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *,enum LK_PREDICATE &)
+?_DeleteIf@CLKRLinearHashTable@@AAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1AAW42@@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_DeleteKey(unsigned long,unsigned long)
+?_DeleteKey@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@KK@Z
+; private: bool __thiscall CLKRLinearHashTable::_DeleteNode(class CLKRLinearHashTable::CBucket *,class CLKRLinearHashTable::CNodeClump * &,class CLKRLinearHashTable::CNodeClump * &,int &)
+?_DeleteNode@CLKRLinearHashTable@@AAE_NPAVCBucket@1@AAPAVCNodeClump@1@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: 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 CLKRLinearHashTable::CBucket * __thiscall CLKRLinearHashTable::_FindBucket(unsigned long,bool)const 
+?_FindBucket@CLKRLinearHashTable@@ABEPAVCBucket@1@K_N@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_FindKey(unsigned long,unsigned long,void const * *)const 
+?_FindKey@CLKRLinearHashTable@@ABE?AW4LK_RETCODE@@KKPAPBX@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 CLKRLinearHashTable::CNodeClump *)
+?_FreeNodeClump@CLKRLinearHashTable@@CG_NPAVCNodeClump@1@@Z
+; private: bool __thiscall CLKRLinearHashTable::_FreeSegment(class CLKRLinearHashTable::CSegment *)const 
+?_FreeSegment@CLKRLinearHashTable@@ABE_NPAVCSegment@1@@Z
+; private: static bool __stdcall CLKRLinearHashTable::_FreeSegmentDirectory(class CLKRLinearHashTable::CDirEntry *)
+?_FreeSegmentDirectory@CLKRLinearHashTable@@CG_NPAVCDirEntry@1@@Z
+; 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
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Initialize(unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),char const *,double,unsigned long)
+?_Initialize@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@P6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX0H@ZPBDNK@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator *)
+?_InitializeIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InsertRecord(void const *,unsigned long,bool)
+?_InsertRecord@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PBXK_N@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 CLKRLinearHashTable::CBucket * const)const 
+?_IsNodeCompact@CLKRLinearHashTable@@ABEHQAVCBucket@1@@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 CLKRLinearHashTable::CBucket *,class CLKRLinearHashTable::CNodeClump *,class CLKRLinearHashTable::CNodeClump *)
+?_MergeRecordSets@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCBucket@1@PAVCNodeClump@1@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
+; private: bool __thiscall CLKRLinearHashTable::_ReadOrWriteLock(void)const 
+?_ReadOrWriteLock@CLKRLinearHashTable@@ABE_NXZ
+; private: void __thiscall CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const 
+?_ReadOrWriteUnlock@CLKRLinearHashTable@@ABEX_N@Z
+; 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 CLKRLinearHashTable::CSegment * & __thiscall CLKRLinearHashTable::_Segment(unsigned long)const 
+?_Segment@CLKRLinearHashTable@@ABEAAPAVCSegment@1@K@Z
+; private: void __thiscall CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE)
+?_SetSegVars@CLKRLinearHashTable@@AAEXW4LK_TABLESIZE@@@Z
+; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_SplitRecordSet(class CLKRLinearHashTable::CNodeClump *,class CLKRLinearHashTable::CNodeClump *,unsigned long,unsigned long,unsigned long,class CLKRLinearHashTable::CNodeClump *)
+?_SplitRecordSet@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCNodeClump@1@0KKK0@Z
+; private: class CLKRLinearHashTable * __thiscall CLKRHashTable::_SubTable(unsigned long)const 
+?_SubTable@CLKRHashTable@@ABEPAVCLKRLinearHashTable@@K@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
+; private: long __thiscall CExFileOperation::_getFileSecurity(unsigned short const *)
+?_getFileSecurity@CExFileOperation@@AAEJPBG@Z
+; private: long __thiscall CExFileOperation::_setFileSecurity(unsigned short const *)
+?_setFileSecurity@CExFileOperation@@AAEJPBG@Z
+; public: int __thiscall CEXAutoBackupFile::fHaveBackup(void)
+?fHaveBackup@CEXAutoBackupFile@@QAEHXZ
+; long const * const  `public: static long const * __stdcall CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
+?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SGPBJXZ@4QBJB
+; 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  CSmallSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
+; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
+?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA 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 struct _OSVERSIONINFOW *  CMdVersionInfo::sm_lpOSVERSIONINFO
+?sm_lpOSVERSIONINFO@CMdVersionInfo@@0PAU_OSVERSIONINFOW@@A DATA
+; private: static unsigned long (__stdcall* CCriticalSection::sm_pfnSetCriticalSectionSpinCount)(struct _RTL_CRITICAL_SECTION *,unsigned long)
+?sm_pfnSetCriticalSectionSpinCount@CCriticalSection@@0P6GKPAU_RTL_CRITICAL_SECTION@@K@ZA DATA
+; private: static int (__stdcall* CCriticalSection::sm_pfnTryEnterCriticalSection)(struct _RTL_CRITICAL_SECTION *)
+?sm_pfnTryEnterCriticalSection@CCriticalSection@@0P6GHPAU_RTL_CRITICAL_SECTION@@@ZA 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  CSmallSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
+; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
+?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
+DllBidEntryPoint
+_DllMain@12
+FXMemAttach
+FXMemDetach
+GetIUMS
+IrtlTrace
+_IsValidAddress@12
+_IsValidString@8
+_LoadVersionedResourceEx@16
+MPCSInitialize
+MPCSUninitialize
+MPDeleteCriticalSection
+MPInitializeCriticalSection
+MPInitializeCriticalSectionAndSpinCount
+MpGetHeapHandle
+MpHeapAlloc
+MpHeapCreate
+MpHeapDestroy
+MpHeapFree
+MpHeapReAlloc
+MpHeapSize
+MpHeapValidate
+SetIUMS
+SetMemHook
+UMSEnterCSWraper
+mpCalloc
+mpFree
+mpMalloc
+mpRealloc
diff --git a/mingw-w64-crt/lib64/wmsdasc.def b/mingw-w64-crt/lib64/wmsdasc.def
index 1835d69..cf21968 100644
--- a/mingw-w64-crt/lib64/wmsdasc.def
+++ b/mingw-w64-crt/lib64/wmsdasc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MSDASC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDASC.dll
-EXPORTS
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDASC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDASC.dll
+EXPORTS
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdasql.def b/mingw-w64-crt/lib64/wmsdasql.def
index 57574bf..0fb6f2c 100644
--- a/mingw-w64-crt/lib64/wmsdasql.def
+++ b/mingw-w64-crt/lib64/wmsdasql.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSDASQL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDASQL.dll
-EXPORTS
-DllMain
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDASQL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDASQL.dll
+EXPORTS
+DllMain
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdatl3.def b/mingw-w64-crt/lib64/wmsdatl3.def
index c95a14d..2f944a4 100644
--- a/mingw-w64-crt/lib64/wmsdatl3.def
+++ b/mingw-w64-crt/lib64/wmsdatl3.def
@@ -1,845 +1,845 @@
-; 
-; Exports of file MSDATL3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDATL3.dll
-EXPORTS
-DllMain
-; protected: __thiscall CBaseObj::CBaseObj(enum EBaseObjectType,long *)
-??0CBaseObj@@IAE@W4EBaseObjectType@@PAJ@Z
-; protected: __thiscall CBaseObj::CBaseObj(enum EBaseObjectType,struct IUnknown *,long *)
-??0CBaseObj@@IAE@W4EBaseObjectType@@PAUIUnknown@@PAJ@Z
-; public: __thiscall CBaseObj::CBaseObj(class CBaseObj const &)
-??0CBaseObj@@QAE@ABV0@@Z
-; public: __thiscall CBaseObjBoko::CBaseObjBoko(class CBaseObjBoko const &)
-??0CBaseObjBoko@@QAE@ABV0@@Z
-; public: __thiscall CBaseObjBoko::CBaseObjBoko(enum EBaseObjectType,long *)
-??0CBaseObjBoko@@QAE@W4EBaseObjectType@@PAJ@Z
-; public: __thiscall CBaseObjZombie::CBaseObjZombie(class CBaseObjZombie const &)
-??0CBaseObjZombie@@QAE@ABV0@@Z
-; public: __thiscall CBaseObjZombie::CBaseObjZombie(enum EBaseObjectType,long *)
-??0CBaseObjZombie@@QAE@W4EBaseObjectType@@PAJ@Z
-; public: __thiscall CBitArray::CBitArray(void)
-??0CBitArray@@QAE@XZ
-; private: __thiscall CClassFactory::CClassFactory(void)
-??0CClassFactory@@AAE@XZ
-; public: __thiscall CClassFactory::CClassFactory(class CClassFactory const &)
-??0CClassFactory@@QAE@ABV0@@Z
-; public: __thiscall CClassFactory::CClassFactory(long *,long *)
-??0CClassFactory@@QAE@PAJ0@Z
-; public: __thiscall CConnectData::CConnectData(void)
-??0CConnectData@@QAE@XZ
-; public: __thiscall CEnum::CEnum(struct IUnknown *,unsigned long,void * *,struct _GUID,unsigned int,unsigned long,enum CENUMTYPE)
-??0CEnum@@QAE@PAUIUnknown@@KPAPAXU_GUID@@IKW4CENUMTYPE@@@Z
-; public: __thiscall CEnumConnectionPoints::CEnumConnectionPoints(class CEnumConnectionPoints const &)
-??0CEnumConnectionPoints@@QAE@ABV0@@Z
-; public: __thiscall CEnumConnectionPoints::CEnumConnectionPoints(struct IUnknown *,unsigned long,struct IConnectionPoint * *)
-??0CEnumConnectionPoints@@QAE@PAUIUnknown@@KPAPAUIConnectionPoint@@@Z
-; public: __thiscall CEnumConnections::CEnumConnections(class CEnumConnections const &)
-??0CEnumConnections@@QAE@ABV0@@Z
-; public: __thiscall CEnumConnections::CEnumConnections(struct IUnknown *,struct tagCONNECTDATA *,unsigned long)
-??0CEnumConnections@@QAE@PAUIUnknown@@PAUtagCONNECTDATA@@K@Z
-; public: __thiscall CExtBuffer::CExtBuffer(void)
-??0CExtBuffer@@QAE@XZ
-; public: __thiscall CGenericPooler::CGenericPooler(class CGenericPooler const &)
-??0CGenericPooler@@QAE@ABV0@@Z
-; public: __thiscall CGenericPooler::CGenericPooler(void)
-??0CGenericPooler@@QAE@XZ
-; public: __thiscall CHashTbl::CHashTbl(class CHashTbl const &)
-??0CHashTbl@@QAE@ABV0@@Z
-; public: __thiscall CHashTbl::CHashTbl(void)
-??0CHashTbl@@QAE@XZ
-; public: __thiscall CHashTblAggr::CHashTblAggr(class CHashTblAggr const &)
-??0CHashTblAggr@@QAE@ABV0@@Z
-; public: __thiscall CHashTblAggr::CHashTblAggr(void)
-??0CHashTblAggr@@QAE@XZ
-; public: __thiscall CHeapDispenser::CHeapDispenser(class CHeapDispenser const &)
-??0CHeapDispenser@@QAE@ABV0@@Z
-; public: __thiscall CHeapDispenser::CHeapDispenser(void)
-??0CHeapDispenser@@QAE@XZ
-; public: __thiscall CRowsetConnectionPoint::CRowsetConnectionPoint(class CRowsetConnectionPoint const &)
-??0CRowsetConnectionPoint@@QAE@ABV0@@Z
-; public: __thiscall CRowsetConnectionPoint::CRowsetConnectionPoint(struct IUnknown *,struct _GUID const *,unsigned long)
-??0CRowsetConnectionPoint@@QAE@PAUIUnknown@@PBU_GUID@@K@Z
-; public: __thiscall CRowsetConnectionPointContainer::CRowsetConnectionPointContainer(class CRowsetConnectionPointContainer const &)
-??0CRowsetConnectionPointContainer@@QAE@ABV0@@Z
-; public: __thiscall CRowsetConnectionPointContainer::CRowsetConnectionPointContainer(struct IUnknown *)
-??0CRowsetConnectionPointContainer@@QAE@PAUIUnknown@@@Z
-; public: __thiscall CSlotListLong::CSlotListLong(class CSlotListLong const &)
-??0CSlotListLong@@QAE@ABV0@@Z
-; public: __thiscall CSlotListLong::CSlotListLong(void)
-??0CSlotListLong@@QAE@XZ
-; public: __thiscall CSlotListShort::CSlotListShort(class CSlotListShort const &)
-??0CSlotListShort@@QAE@ABV0@@Z
-; public: __thiscall CSlotListShort::CSlotListShort(void)
-??0CSlotListShort@@QAE@XZ
-; public: __thiscall CUtlPropInfo::CUtlPropInfo(class CUtlPropInfo const &)
-??0CUtlPropInfo@@QAE@ABV0@@Z
-; public: __thiscall CUtlPropInfo::CUtlPropInfo(void)
-??0CUtlPropInfo@@QAE@XZ
-; public: __thiscall CUtlProps2::CUtlProps2(class CUtlProps2 const &)
-??0CUtlProps2@@QAE@ABV0@@Z
-; public: __thiscall CUtlProps2::CUtlProps2(unsigned long)
-??0CUtlProps2@@QAE@K@Z
-; public: __thiscall CUtlPropsFastLookup2::CUtlPropsFastLookup2(class CUtlPropsFastLookup2 const &)
-??0CUtlPropsFastLookup2@@QAE@ABV0@@Z
-; public: __thiscall CUtlPropsFastLookup2::CUtlPropsFastLookup2(unsigned long)
-??0CUtlPropsFastLookup2@@QAE@K@Z
-; public: __thiscall CVLHeap::CVLHeap(void)
-??0CVLHeap@@QAE@XZ
-; public: __thiscall CWString::CWString(class CWString const &)
-??0CWString@@QAE@ABV0@@Z
-; public: __thiscall CWString::CWString(unsigned short,int)
-??0CWString@@QAE@GH@Z
-; public: __thiscall CWString::CWString(char const *)
-??0CWString@@QAE@PBD@Z
-; public: __thiscall CWString::CWString(unsigned char const *)
-??0CWString@@QAE@PBE@Z
-; public: __thiscall CWString::CWString(unsigned short const *)
-??0CWString@@QAE@PBG@Z
-; public: __thiscall CWString::CWString(unsigned short const *,int)
-??0CWString@@QAE@PBGH@Z
-; public: __thiscall CWString::CWString(void)
-??0CWString@@QAE@XZ
-; public: __thiscall IBookmarkObj::IBookmarkObj(class IBookmarkObj const &)
-??0IBookmarkObj@@QAE@ABV0@@Z
-; public: __thiscall IBookmarkObj::IBookmarkObj(void)
-??0IBookmarkObj@@QAE@XZ
-; public: __thiscall IHashTbl::IHashTbl(class IHashTbl const &)
-??0IHashTbl@@QAE@ABV0@@Z
-; public: __thiscall IHashTbl::IHashTbl(void)
-??0IHashTbl@@QAE@XZ
-; public: __thiscall ISlotList::ISlotList(class ISlotList const &)
-??0ISlotList@@QAE@ABV0@@Z
-; public: __thiscall ISlotList::ISlotList(void)
-??0ISlotList@@QAE@XZ
-; public: virtual __thiscall CBaseObj::~CBaseObj(void)
-??1CBaseObj@@UAE@XZ
-; public: virtual __thiscall CBaseObjBoko::~CBaseObjBoko(void)
-??1CBaseObjBoko@@UAE@XZ
-; public: virtual __thiscall CBaseObjZombie::~CBaseObjZombie(void)
-??1CBaseObjZombie@@UAE@XZ
-; public: __thiscall CBitArray::~CBitArray(void)
-??1CBitArray@@QAE@XZ
-; public: __thiscall CClassFactory::~CClassFactory(void)
-??1CClassFactory@@QAE@XZ
-; public: __thiscall CConnectData::~CConnectData(void)
-??1CConnectData@@QAE@XZ
-; public: __thiscall CEnum::~CEnum(void)
-??1CEnum@@QAE@XZ
-; public: __thiscall CEnumConnectionPoints::~CEnumConnectionPoints(void)
-??1CEnumConnectionPoints@@QAE@XZ
-; public: __thiscall CEnumConnections::~CEnumConnections(void)
-??1CEnumConnections@@QAE@XZ
-; public: __thiscall CExtBuffer::~CExtBuffer(void)
-??1CExtBuffer@@QAE@XZ
-; public: virtual __thiscall CHashTbl::~CHashTbl(void)
-??1CHashTbl@@UAE@XZ
-; public: virtual __thiscall CHashTblAggr::~CHashTblAggr(void)
-??1CHashTblAggr@@UAE@XZ
-; public: __thiscall CRowsetConnectionPoint::~CRowsetConnectionPoint(void)
-??1CRowsetConnectionPoint@@QAE@XZ
-; public: __thiscall CRowsetConnectionPointContainer::~CRowsetConnectionPointContainer(void)
-??1CRowsetConnectionPointContainer@@QAE@XZ
-; public: virtual __thiscall CSlotListLong::~CSlotListLong(void)
-??1CSlotListLong@@UAE@XZ
-; public: virtual __thiscall CSlotListShort::~CSlotListShort(void)
-??1CSlotListShort@@UAE@XZ
-; public: virtual __thiscall CUtlPropInfo::~CUtlPropInfo(void)
-??1CUtlPropInfo@@UAE@XZ
-; public: virtual __thiscall CUtlProps2::~CUtlProps2(void)
-??1CUtlProps2@@UAE@XZ
-; public: virtual __thiscall CUtlPropsFastLookup2::~CUtlPropsFastLookup2(void)
-??1CUtlPropsFastLookup2@@UAE@XZ
-; public: __thiscall CVLHeap::~CVLHeap(void)
-??1CVLHeap@@QAE@XZ
-; public: __thiscall CWString::~CWString(void)
-??1CWString@@QAE@XZ
-; public: virtual __thiscall IBookmarkObj::~IBookmarkObj(void)
-??1IBookmarkObj@@UAE@XZ
-; public: virtual __thiscall IHashTbl::~IHashTbl(void)
-??1IHashTbl@@UAE@XZ
-; public: virtual __thiscall ISlotList::~ISlotList(void)
-??1ISlotList@@UAE@XZ
-; public: class CBaseObj & __thiscall CBaseObj::operator=(class CBaseObj const &)
-??4CBaseObj@@QAEAAV0@ABV0@@Z
-; public: class CBaseObjBoko & __thiscall CBaseObjBoko::operator=(class CBaseObjBoko const &)
-??4CBaseObjBoko@@QAEAAV0@ABV0@@Z
-; public: class CBaseObjZombie & __thiscall CBaseObjZombie::operator=(class CBaseObjZombie const &)
-??4CBaseObjZombie@@QAEAAV0@ABV0@@Z
-; public: class CBitArray & __thiscall CBitArray::operator=(class CBitArray const &)
-??4CBitArray@@QAEAAV0@ABV0@@Z
-; public: class CClassFactory & __thiscall CClassFactory::operator=(class CClassFactory const &)
-??4CClassFactory@@QAEAAV0@ABV0@@Z
-; public: class CConnectData & __thiscall CConnectData::operator=(class CConnectData const &)
-??4CConnectData@@QAEAAV0@ABV0@@Z
-; public: class CEnum & __thiscall CEnum::operator=(class CEnum const &)
-??4CEnum@@QAEAAV0@ABV0@@Z
-; public: class CEnumConnectionPoints & __thiscall CEnumConnectionPoints::operator=(class CEnumConnectionPoints const &)
-??4CEnumConnectionPoints@@QAEAAV0@ABV0@@Z
-; public: class CEnumConnections & __thiscall CEnumConnections::operator=(class CEnumConnections const &)
-??4CEnumConnections@@QAEAAV0@ABV0@@Z
-; public: class CExtBuffer & __thiscall CExtBuffer::operator=(class CExtBuffer const &)
-??4CExtBuffer@@QAEAAV0@ABV0@@Z
-; public: class CGenericPooler & __thiscall CGenericPooler::operator=(class CGenericPooler const &)
-??4CGenericPooler@@QAEAAV0@ABV0@@Z
-; public: class CHashTbl & __thiscall CHashTbl::operator=(class CHashTbl const &)
-??4CHashTbl@@QAEAAV0@ABV0@@Z
-; public: class CHashTblAggr & __thiscall CHashTblAggr::operator=(class CHashTblAggr const &)
-??4CHashTblAggr@@QAEAAV0@ABV0@@Z
-; public: class CHeapDispenser & __thiscall CHeapDispenser::operator=(class CHeapDispenser const &)
-??4CHeapDispenser@@QAEAAV0@ABV0@@Z
-; public: class CRowsetConnectionPoint & __thiscall CRowsetConnectionPoint::operator=(class CRowsetConnectionPoint const &)
-??4CRowsetConnectionPoint@@QAEAAV0@ABV0@@Z
-; public: class CRowsetConnectionPointContainer & __thiscall CRowsetConnectionPointContainer::operator=(class CRowsetConnectionPointContainer const &)
-??4CRowsetConnectionPointContainer@@QAEAAV0@ABV0@@Z
-; public: class CSlotListLong & __thiscall CSlotListLong::operator=(class CSlotListLong const &)
-??4CSlotListLong@@QAEAAV0@ABV0@@Z
-; public: class CSlotListShort & __thiscall CSlotListShort::operator=(class CSlotListShort const &)
-??4CSlotListShort@@QAEAAV0@ABV0@@Z
-; public: class CUtlPropInfo & __thiscall CUtlPropInfo::operator=(class CUtlPropInfo const &)
-??4CUtlPropInfo@@QAEAAV0@ABV0@@Z
-; public: class CUtlProps2 & __thiscall CUtlProps2::operator=(class CUtlProps2 const &)
-??4CUtlProps2@@QAEAAV0@ABV0@@Z
-; public: class CUtlPropsFastLookup2 & __thiscall CUtlPropsFastLookup2::operator=(class CUtlPropsFastLookup2 const &)
-??4CUtlPropsFastLookup2@@QAEAAV0@ABV0@@Z
-; public: class CVLHeap & __thiscall CVLHeap::operator=(class CVLHeap const &)
-??4CVLHeap@@QAEAAV0@ABV0@@Z
-; public: class CWString const & __thiscall CWString::operator=(class CWString const &)
-??4CWString@@QAEABV0@ABV0@@Z
-; public: class CWString const & __thiscall CWString::operator=(char)
-??4CWString@@QAEABV0@D@Z
-; public: class CWString const & __thiscall CWString::operator=(unsigned short)
-??4CWString@@QAEABV0@G@Z
-; public: class CWString const & __thiscall CWString::operator=(char const *)
-??4CWString@@QAEABV0@PBD@Z
-; public: class CWString const & __thiscall CWString::operator=(unsigned char const *)
-??4CWString@@QAEABV0@PBE@Z
-; public: class CWString const & __thiscall CWString::operator=(unsigned short const *)
-??4CWString@@QAEABV0@PBG@Z
-; public: class IBookmarkObj & __thiscall IBookmarkObj::operator=(class IBookmarkObj const &)
-??4IBookmarkObj@@QAEAAV0@ABV0@@Z
-; public: class IHashTbl & __thiscall IHashTbl::operator=(class IHashTbl const &)
-??4IHashTbl@@QAEAAV0@ABV0@@Z
-; public: class ISlotList & __thiscall ISlotList::operator=(class ISlotList const &)
-??4ISlotList@@QAEAAV0@ABV0@@Z
-; public: unsigned short __thiscall CWString::operator[](int)const 
-??ACWString@@QBEGH@Z
-; public: __thiscall CWString::operator unsigned short const *(void)const 
-??BCWString@@QBEPBGXZ
-; public: class CWString const & __thiscall CWString::operator+=(class CWString const &)
-??YCWString@@QAEABV0@ABV0@@Z
-; public: class CWString const & __thiscall CWString::operator+=(char)
-??YCWString@@QAEABV0@D@Z
-; public: class CWString const & __thiscall CWString::operator+=(unsigned short)
-??YCWString@@QAEABV0@G@Z
-; public: class CWString const & __thiscall CWString::operator+=(unsigned short const *)
-??YCWString@@QAEABV0@PBG@Z
-; const  CBaseObj::`vftable'
-??_7CBaseObj@@6B@
-; const  CBaseObjBoko::`vftable'
-??_7CBaseObjBoko@@6B@
-; const  CBaseObjZombie::`vftable'
-??_7CBaseObjZombie@@6B@
-; const  CClassFactory::`vftable'
-??_7CClassFactory@@6B@
-; const  CEnumConnectionPoints::`vftable'
-??_7CEnumConnectionPoints@@6B@
-; const  CEnumConnections::`vftable'
-??_7CEnumConnections@@6B@
-; const  CHashTbl::`vftable'
-??_7CHashTbl@@6B@
-; const  CHashTblAggr::`vftable'
-??_7CHashTblAggr@@6B@
-; const  CHeapDispenser::`vftable'
-??_7CHeapDispenser@@6B@
-; const  CRowsetConnectionPoint::`vftable'
-??_7CRowsetConnectionPoint@@6B@
-; const  CRowsetConnectionPointContainer::`vftable'
-??_7CRowsetConnectionPointContainer@@6B@
-; const  CSlotListLong::`vftable'
-??_7CSlotListLong@@6B@
-; const  CSlotListShort::`vftable'
-??_7CSlotListShort@@6B@
-; const  CUtlPropInfo::`vftable'
-??_7CUtlPropInfo@@6B@
-; const  CUtlProps2::`vftable'
-??_7CUtlProps2@@6B@
-; const  CUtlPropsFastLookup2::`vftable'
-??_7CUtlPropsFastLookup2@@6B@
-; const  IBookmarkObj::`vftable'
-??_7IBookmarkObj@@6B@
-; const  IHashTbl::`vftable'
-??_7IHashTbl@@6B@
-; const  ISlotList::`vftable'
-??_7ISlotList@@6B@
-; public: void __thiscall CUtlProps2::`default constructor closure'(void)
-??_FCUtlProps2@@QAEXXZ
-; public: void __thiscall CUtlPropsFastLookup2::`default constructor closure'(void)
-??_FCUtlPropsFastLookup2@@QAEXXZ
-; public: int __thiscall CHashTblAggr::AddHashTbl(class CSlotListShort *)
-?AddHashTbl@CHashTblAggr@@QAEHPAVCSlotListShort@@@Z
-; public: void __thiscall CUtlProps2::AddInternalFlags(unsigned long,unsigned long,unsigned long)
-?AddInternalFlags@CUtlProps2@@QAEXKKK@Z
-; public: virtual unsigned long __stdcall CClassFactory::AddRef(void)
-?AddRef@CClassFactory@@UAGKXZ
-; public: unsigned long __stdcall CEnum::AddRef(void)
-?AddRef@CEnum@@QAGKXZ
-; public: virtual unsigned long __stdcall CEnumConnectionPoints::AddRef(void)
-?AddRef@CEnumConnectionPoints@@UAGKXZ
-; public: virtual unsigned long __stdcall CEnumConnections::AddRef(void)
-?AddRef@CEnumConnections@@UAGKXZ
-; public: virtual unsigned long __stdcall CHeapDispenser::AddRef(void)
-?AddRef@CHeapDispenser@@UAGKXZ
-; public: virtual unsigned long __stdcall CRowsetConnectionPoint::AddRef(void)
-?AddRef@CRowsetConnectionPoint@@UAGKXZ
-; public: virtual unsigned long __stdcall CRowsetConnectionPointContainer::AddRef(void)
-?AddRef@CRowsetConnectionPointContainer@@UAGKXZ
-; private: void __stdcall CSlotListShort::AddSlotToList(struct tagSLOT *)
-?AddSlotToList@CSlotListShort@@AAGXPAUtagSLOT@@@Z
-; private: static unsigned long __stdcall CHashTbl::AdjustRange(unsigned long)
-?AdjustRange@CHashTbl@@CGKK@Z
-; public: virtual long __stdcall CRowsetConnectionPoint::Advise(struct IUnknown *,unsigned long *)
-?Advise@CRowsetConnectionPoint@@UAGJPAUIUnknown@@PAK@Z
-; protected: void __thiscall CWString::AllocBuffer(int)
-?AllocBuffer@CWString@@IAEXH@Z
-; protected: void __thiscall CWString::AllocCopy(class CWString &,int,int,int)const 
-?AllocCopy@CWString@@IBEXAAV1@HHH@Z
-; public: unsigned char * __stdcall CExtBuffer::AllocItems(unsigned long)
-?AllocItems@CExtBuffer@@QAGPAEK@Z
-; public: long __stdcall CBitArray::ArrayEmpty(void)
-?ArrayEmpty@CBitArray@@QAGJXZ
-; protected: void __thiscall CWString::AssignCopy(int,unsigned short const *)
-?AssignCopy@CWString@@IAEXHPBG@Z
-; private: unsigned long __thiscall CUtlPropInfo::CalcDescripBuffers(unsigned long,struct tagDBPROPINFOSET *)
-?CalcDescripBuffers@CUtlPropInfo@@AAEKKPAUtagDBPROPINFOSET@@@Z
-; public: static unsigned long __stdcall CHashTbl::CbHashTblSize(unsigned long)
-?CbHashTblSize@CHashTbl@@SGKK@Z
-; public: void __thiscall CWString::ClearError(void)
-?ClearError@CWString@@QAEXXZ
-; private: void __thiscall CUtlProps2::ClearMemberVars(void)
-?ClearMemberVars@CUtlProps2@@AAEXXZ
-; public: void __thiscall CUtlProps2::ClearPropSupported(unsigned long,unsigned long)
-?ClearPropSupported@CUtlProps2@@QAEXKK@Z
-; public: void __thiscall CUtlProps2::ClearPropertyInError(void)
-?ClearPropertyInError@CUtlProps2@@QAEXXZ
-; public: void __thiscall CUtlProps2::ClearPropsSupported(void)
-?ClearPropsSupported@CUtlProps2@@QAEXXZ
-; public: virtual long __stdcall CEnumConnectionPoints::Clone(struct IEnumConnectionPoints * *)
-?Clone@CEnumConnectionPoints@@UAGJPAPAUIEnumConnectionPoints@@@Z
-; public: virtual long __stdcall CEnumConnections::Clone(struct IEnumConnections * *)
-?Clone@CEnumConnections@@UAGJPAPAUIEnumConnections@@@Z
-; public: void __stdcall CExtBuffer::CompactExtBuffer(void)
-?CompactExtBuffer@CExtBuffer@@QAGXXZ
-; public: int __thiscall CWString::Compare(unsigned short const *)const 
-?Compare@CWString@@QBEHPBG@Z
-; long __cdecl CompareDBIDs(struct tagDBID const *,struct tagDBID const *)
-?CompareDBIDs@@YAJPBUtagDBID@@0@Z
-; public: virtual int __stdcall CHeapDispenser::CompareResource(void *,void *)
-?CompareResource@CHeapDispenser@@UAGHPAX0@Z
-; protected: void __thiscall CWString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
-?ConcatCopy@CWString@@IAEXHPBGH0@Z
-; public: void __thiscall CWString::ConcatInPlace(int,unsigned short const *)
-?ConcatInPlace@CWString@@QAEXHPBG@Z
-; public: virtual int __thiscall CUtlProps2::ConflictsWithCurrent(unsigned long,unsigned long,struct tagVARIANT const &)
-?ConflictsWithCurrent@CUtlProps2@@UAEHKKABUtagVARIANT@@@Z
-; public: long __thiscall CUtlProps2::ConvertRowsetIIDtoDBPROPSET(struct _GUID const *,struct tagDBPROPSET *)
-?ConvertRowsetIIDtoDBPROPSET@CUtlProps2@@QAEJPBU_GUID@@PAUtagDBPROPSET@@@Z
-; public: void __thiscall CUtlProps2::CopyAvailUPropSets(unsigned long *,struct tagUPROPSET const * *,unsigned long *)
-?CopyAvailUPropSets@CUtlProps2@@QAEXPAKPAPBUtagUPROPSET@@0@Z
-; long __cdecl CopyDBIDs(struct tagDBID *,struct tagDBID const *)
-?CopyDBIDs@@YAJPAUtagDBID@@PBU1@@Z
-; public: void __thiscall CUtlProps2::CopyPropsInError(unsigned long *)
-?CopyPropsInError@CUtlProps2@@QAEXPAK@Z
-; public: void __thiscall CUtlProps2::CopyPropsInError(class CUtlProps2 *)
-?CopyPropsInError@CUtlProps2@@QAEXPAV1@@Z
-; public: void __thiscall CUtlProps2::CopyUPropInfo(unsigned long,struct tagUPROPINFO * *)
-?CopyUPropInfo@CUtlProps2@@QAEXKPAPAUtagUPROPINFO@@@Z
-; public: void __thiscall CUtlProps2::CopyUPropSetsSupported(unsigned long *)
-?CopyUPropSetsSupported@CUtlProps2@@QAEXPAK@Z
-; public: long __thiscall CUtlProps2::CopyUPropVal(unsigned long,struct tagUPROPVAL *,class CColumnIds *)
-?CopyUPropVal@CUtlProps2@@QAEJKPAUtagUPROPVAL@@PAVCColumnIds@@@Z
-; public: virtual unsigned long __stdcall CSlotListLong::CountOfBusySlots(void)
-?CountOfBusySlots@CSlotListLong@@UAGKXZ
-; public: virtual unsigned long __stdcall CSlotListShort::CountOfBusySlots(void)
-?CountOfBusySlots@CSlotListShort@@UAGKXZ
-; public: virtual long __stdcall CHeapDispenser::CreateResource(void *,unsigned long,void *,void * *,int *)
-?CreateResource@CHeapDispenser@@UAGJPAXK0PAPAXPAH@Z
-; public: long __stdcall CExtBuffer::DWORDIntoExtBuffer(unsigned long)
-?DWORDIntoExtBuffer@CExtBuffer@@QAGJK@Z
-; private: void __stdcall CSlotListShort::DecoupleSlot(struct tagSLOT *)
-?DecoupleSlot@CSlotListShort@@AAGXPAUtagSLOT@@@Z
-; public: virtual long __stdcall CHashTbl::DeleteBmk(unsigned long)
-?DeleteBmk@CHashTbl@@UAGJK@Z
-; public: virtual long __stdcall CHashTblAggr::DeleteBmk(unsigned long)
-?DeleteBmk@CHashTblAggr@@UAGJK@Z
-; public: void __stdcall CExtBuffer::DeleteFromExtBuffer(unsigned long)
-?DeleteFromExtBuffer@CExtBuffer@@QAGXK@Z
-; public: void __stdcall CExtBuffer::DeleteWithCompactFromExtBuffer(unsigned long)
-?DeleteWithCompactFromExtBuffer@CExtBuffer@@QAGXK@Z
-; public: virtual long __stdcall CHeapDispenser::DestroyResource(void *)
-?DestroyResource@CHeapDispenser@@UAGJPAX@Z
-; public: long __thiscall CRowsetConnectionPointContainer::DoFcNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset *,unsigned long,unsigned long,unsigned long * const)
-?DoFcNotify@CRowsetConnectionPointContainer@@QAEJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PAUIRowset@@KKQAK@Z
-; public: long __thiscall CRowsetConnectionPoint::DoNotify(enum DBREASONENUM,enum DBEVENTPHASEENUM,enum ENOTIFICATIONTYPE,struct IRowset *,union tagNOTIFYARGS *)
-?DoNotify@CRowsetConnectionPoint@@QAEJW4DBREASONENUM@@W4DBEVENTPHASEENUM@@W4ENOTIFICATIONTYPE@@PAUIRowset@@PATtagNOTIFYARGS@@@Z
-; public: long __thiscall CRowsetConnectionPointContainer::DoRcNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset *,unsigned long,unsigned long * const)
-?DoRcNotify@CRowsetConnectionPointContainer@@QAEJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PAUIRowset@@KQAK@Z
-; public: long __thiscall CRowsetConnectionPointContainer::DoRscNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset *)
-?DoRscNotify@CRowsetConnectionPointContainer@@QAEJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PAUIRowset@@@Z
-; unsigned long __cdecl DwGetPlatformId(void)
-?DwGetPlatformId@@YAKXZ
-; public: class CWString  __thiscall CWString::ElementAt(unsigned short * const,int)const 
-?ElementAt@CWString@@QBE?AV1@QAGH@Z
-; public: void __thiscall CWString::Empty(void)
-?Empty@CWString@@QAEXXZ
-; public: virtual long __stdcall CRowsetConnectionPointContainer::EnumConnectionPoints(struct IEnumConnectionPoints * *)
-?EnumConnectionPoints@CRowsetConnectionPointContainer@@UAGJPAPAUIEnumConnectionPoints@@@Z
-; public: virtual long __stdcall CRowsetConnectionPoint::EnumConnections(struct IEnumConnections * *)
-?EnumConnections@CRowsetConnectionPoint@@UAGJPAPAUIEnumConnections@@@Z
-; protected: long __thiscall CBaseObj::FInit(void)
-?FInit@CBaseObj@@IAEJXZ
-; public: long __stdcall CBitArray::FInit(unsigned long)
-?FInit@CBitArray@@QAGJK@Z
-; public: int __thiscall CExtBuffer::FInit(unsigned long,unsigned long)
-?FInit@CExtBuffer@@QAEHKK@Z
-; public: int __thiscall CExtBuffer::FInit(unsigned long,void *,unsigned long,unsigned long)
-?FInit@CExtBuffer@@QAEHKPAXKK@Z
-; public: int __thiscall CExtBuffer::FInit(class CExtBuffer *)
-?FInit@CExtBuffer@@QAEHPAV1@@Z
-; public: int __thiscall CHashTbl::FInit(unsigned short,class CSlotListShort *,class IBookmarkObj *)
-?FInit@CHashTbl@@QAEHGPAVCSlotListShort@@PAVIBookmarkObj@@@Z
-; public: int __thiscall CHashTblAggr::FInit(class CHashTbl *)
-?FInit@CHashTblAggr@@QAEHPAVCHashTbl@@@Z
-; public: virtual int __thiscall CSlotListLong::FInit(unsigned long,class ISlotList * *,class IHashTbl * *,unsigned long)
-?FInit@CSlotListLong@@UAEHKPAPAVISlotList@@PAPAVIHashTbl@@K@Z
-; public: virtual int __thiscall CSlotListShort::FInit(unsigned long,class ISlotList * *,class IHashTbl * *,unsigned long)
-?FInit@CSlotListShort@@UAEHKPAPAVISlotList@@PAPAVIHashTbl@@K@Z
-; public: long __thiscall CUtlPropInfo::FInit(void)
-?FInit@CUtlPropInfo@@QAEJXZ
-; public: virtual long __thiscall CUtlProps2::FInit(class CUtlProps2 *)
-?FInit@CUtlProps2@@UAEJPAV1@@Z
-; public: virtual long __thiscall CUtlPropsFastLookup2::FInit(class CUtlPropsFastLookup2 *)
-?FInit@CUtlPropsFastLookup2@@UAEJPAV1@@Z
-; public: int __thiscall CVLHeap::FInit(unsigned long)
-?FInit@CVLHeap@@QAEHK@Z
-; public: void __thiscall CGenericPooler::FInitializeGPStructures(void)
-?FInitializeGPStructures@CGenericPooler@@QAEXXZ
-; public: int __thiscall CUtlProps2::FIsDefaultValue(unsigned long,unsigned long,struct tagVARIANT *)
-?FIsDefaultValue@CUtlProps2@@QAEHKKPAUtagVARIANT@@@Z
-; public: virtual int __thiscall CUtlProps2::FIsValidColId(struct tagDBPROP *)
-?FIsValidColId@CUtlProps2@@UAEHPAUtagDBPROP@@@Z
-; public: long __thiscall CUtlProps2::FillDefaultValues(unsigned long)
-?FillDefaultValues@CUtlProps2@@QAEJK@Z
-; public: virtual long __stdcall CRowsetConnectionPointContainer::FindConnectionPoint(struct _GUID const &,struct IConnectionPoint * *)
-?FindConnectionPoint@CRowsetConnectionPointContainer@@UAGJABU_GUID@@PAPAUIConnectionPoint@@@Z
-; public: void __thiscall CConnectData::ForgetEvent(enum DBREASONENUM,enum DBEVENTPHASEENUM)
-?ForgetEvent@CConnectData@@QAEXW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; private: void __thiscall CRowsetConnectionPoint::ForgetEvent(enum DBREASONENUM,enum DBEVENTPHASEENUM)
-?ForgetEvent@CRowsetConnectionPoint@@AAEXW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; public: void __thiscall CConnectData::ForgetReason(enum DBREASONENUM)
-?ForgetReason@CConnectData@@QAEXW4DBREASONENUM@@@Z
-; public: int __thiscall CWString::FoundError(void)const 
-?FoundError@CWString@@QBEHXZ
-; public: void __thiscall CExtBuffer::Free(void)
-?Free@CExtBuffer@@QAEXXZ
-; void __cdecl FreeDBIDs(struct tagDBID *)
-?FreeDBIDs@@YAXPAUtagDBID@@@Z
-; public: void __thiscall CWString::FreeExtra(void)
-?FreeExtra@CWString@@QAEXXZ
-; private: void __thiscall CUtlProps2::FreeMemory(void)
-?FreeMemory@CUtlProps2@@AAEXXZ
-; public: int __thiscall CWString::GetAllocLength(void)const 
-?GetAllocLength@CWString@@QBEHXZ
-; public: enum EBaseObjectType  __thiscall CBaseObj::GetBaseObjectType(void)
-?GetBaseObjectType@CBaseObj@@QAE?AW4EBaseObjectType@@XZ
-; public: unsigned short * __thiscall CBaseObj::GetBaseObjectTypeName(void)
-?GetBaseObjectTypeName@CBaseObj@@QAEPAGXZ
-; public: void __thiscall CBaseObjZombie::GetBokoTimestamp(void)
-?GetBokoTimestamp@CBaseObjZombie@@QAEXXZ
-; public: unsigned short * __thiscall CWString::GetBuffer(int)
-?GetBuffer@CWString@@QAEPAGH@Z
-; public: unsigned short * __thiscall CWString::GetBufferSetLength(int)
-?GetBufferSetLength@CWString@@QAEPAGH@Z
-; public: struct tagCONNECTDATA * __thiscall CConnectData::GetCd(void)
-?GetCd@CConnectData@@QAEPAUtagCONNECTDATA@@XZ
-; public: virtual long __stdcall CRowsetConnectionPoint::GetConnectionInterface(struct _GUID *)
-?GetConnectionInterface@CRowsetConnectionPoint@@UAGJPAU_GUID@@@Z
-; public: virtual long __stdcall CRowsetConnectionPoint::GetConnectionPointContainer(struct IConnectionPointContainer * *)
-?GetConnectionPointContainer@CRowsetConnectionPoint@@UAGJPAPAUIConnectionPointContainer@@@Z
-; private: unsigned long __thiscall CUtlProps2::GetCountofColids(struct tagUPROP *)
-?GetCountofColids@CUtlProps2@@AAEKPAUtagUPROP@@@Z
-; private: unsigned long __thiscall CUtlProps2::GetCountofWritablePropsInPropSet(unsigned long)
-?GetCountofWritablePropsInPropSet@CUtlProps2@@AAEKK@Z
-; public: class CCriticalSection * * __thiscall CBaseObj::GetCriticalSection(void)
-?GetCriticalSection@CBaseObj@@QAEPAPAVCCriticalSection@@XZ
-; public: unsigned long __stdcall CExtBuffer::GetDWORDOfExtBuffer(unsigned long)
-?GetDWORDOfExtBuffer@CExtBuffer@@QAGKK@Z
-; public: unsigned short __thiscall CUtlProps2::GetExpectedVarType(unsigned long,unsigned long)
-?GetExpectedVarType@CUtlProps2@@QAEGKK@Z
-; public: struct _GUID const * __thiscall CUtlProps2::GetGuid(unsigned long)
-?GetGuid@CUtlProps2@@QAEPBU_GUID@@K@Z
-; public: class CHeapDispenser * __thiscall CGenericPooler::GetHeapDispenser(void)
-?GetHeapDispenser@CGenericPooler@@QAEPAVCHeapDispenser@@XZ
-; public: struct IGPHolder * __thiscall CGenericPooler::GetHeapHolder(void)
-?GetHeapHolder@CGenericPooler@@QAEPAUIGPHolder@@XZ
-; public: virtual long __thiscall CUtlProps2::GetIndexofPropIdinPropSet(unsigned long,unsigned long,unsigned long *)
-?GetIndexofPropIdinPropSet@CUtlProps2@@UAEJKKPAK@Z
-; protected: virtual long __thiscall CUtlPropsFastLookup2::GetIndexofPropIdinPropSet(unsigned long,unsigned long,unsigned long *)
-?GetIndexofPropIdinPropSet@CUtlPropsFastLookup2@@MAEJKKPAK@Z
-; public: virtual long __thiscall CUtlProps2::GetIndexofPropSet(struct _GUID const *,unsigned long *)
-?GetIndexofPropSet@CUtlProps2@@UAEJPBU_GUID@@PAK@Z
-; public: unsigned long __thiscall CUtlProps2::GetInternalFlags(unsigned long,unsigned long)
-?GetInternalFlags@CUtlProps2@@QAEKKK@Z
-; public: unsigned long __thiscall CUtlProps2::GetInternalStatus(unsigned long,unsigned long)
-?GetInternalStatus@CUtlProps2@@QAEKKK@Z
-; public: unsigned long __stdcall CExtBuffer::GetItemCount(void)const 
-?GetItemCount@CExtBuffer@@QBGKXZ
-; public: unsigned long __stdcall CExtBuffer::GetItemMax(void)const 
-?GetItemMax@CExtBuffer@@QBGKXZ
-; public: void __stdcall CExtBuffer::GetItemOfExtBuffer(unsigned long,void *)
-?GetItemOfExtBuffer@CExtBuffer@@QAGXKPAX@Z
-; public: unsigned long __stdcall CExtBuffer::GetItemSize(void)const 
-?GetItemSize@CExtBuffer@@QBGKXZ
-; public: void __stdcall CExtBuffer::GetLastItemHandle(unsigned long &)
-?GetLastItemHandle@CExtBuffer@@QAGXAAK@Z
-; public: int __thiscall CWString::GetLength(void)const 
-?GetLength@CWString@@QBEHXZ
-; public: unsigned short * __thiscall CExtBuffer::GetNameFromOffset(unsigned long)
-?GetNameFromOffset@CExtBuffer@@QAEPAGK@Z
-; public: virtual long __stdcall CSlotListLong::GetNextSlots(unsigned long,unsigned long,unsigned long *)
-?GetNextSlots@CSlotListLong@@UAGJKKPAK@Z
-; public: virtual long __stdcall CSlotListShort::GetNextSlots(unsigned long,unsigned long,unsigned long *)
-?GetNextSlots@CSlotListShort@@UAGJKKPAK@Z
-; private: void * __thiscall CEnum::GetNthElement(unsigned long)
-?GetNthElement@CEnum@@AAEPAXK@Z
-; private: struct IUnknown * __thiscall CEnum::GetNthUnknown(unsigned long)
-?GetNthUnknown@CEnum@@AAEPAUIUnknown@@K@Z
-; public: struct IUnknown * __thiscall CBaseObj::GetOuterUnknown(void)
-?GetOuterUnknown@CBaseObj@@QAEPAUIUnknown@@XZ
-; public: unsigned long __thiscall CUtlProps2::GetPropID(unsigned long,unsigned long)
-?GetPropID@CUtlProps2@@QAEKKK@Z
-; public: unsigned long __thiscall CUtlProps2::GetPropOption(unsigned long,unsigned long)
-?GetPropOption@CUtlProps2@@QAEKKK@Z
-; public: unsigned long __thiscall CUtlProps2::GetPropStatus(struct tagUPROPVAL *)
-?GetPropStatus@CUtlProps2@@QAEKPAUtagUPROPVAL@@@Z
-; public: long __thiscall CUtlProps2::GetPropValue(struct _GUID const *,unsigned long,struct tagVARIANT *)
-?GetPropValue@CUtlProps2@@QAEJPBU_GUID@@KPAUtagVARIANT@@@Z
-; public: long __thiscall CUtlProps2::GetProperties(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPSET * *)
-?GetProperties@CUtlProps2@@QAEJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPSET@@@Z
-; public: long __thiscall CUtlProps2::GetProperties(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPSET * *,struct _GUID const *)
-?GetProperties@CUtlProps2@@QAEJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPSET@@PBU_GUID@@@Z
-; public: long __thiscall CUtlProps2::GetPropertiesArgChk(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPSET * *)
-?GetPropertiesArgChk@CUtlProps2@@QAEJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPSET@@@Z
-; public: long __thiscall CUtlPropInfo::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPINFOSET * *,unsigned short * *)
-?GetPropertyInfo@CUtlPropInfo@@QAEJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPINFOSET@@PAPAG@Z
-; private: long __thiscall CUtlPropInfo::GetPropertySetIndex(struct _GUID const *)
-?GetPropertySetIndex@CUtlPropInfo@@AAEJPBU_GUID@@@Z
-; public: unsigned long * __thiscall CUtlProps2::GetPropsInErrorPtr(void)
-?GetPropsInErrorPtr@CUtlProps2@@QAEPAKXZ
-; public: void * __stdcall CExtBuffer::GetPtrOfExtBuffer(unsigned long)
-?GetPtrOfExtBuffer@CExtBuffer@@QAGPAXK@Z
-; public: void * __stdcall CExtBuffer::GetPtrOfExtBuffer(void)
-?GetPtrOfExtBuffer@CExtBuffer@@QAGPAXXZ
-; public: long __thiscall CGenericPooler::GetResource(void * *,struct IGPHolder *,struct IGPDispenser *,void * *,void *)
-?GetResource@CGenericPooler@@QAEJPAPAXPAUIGPHolder@@PAUIGPDispenser@@0PAX@Z
-; public: virtual struct tagRowBuff * __fastcall CSlotListLong::GetRowBuff(unsigned long)
-?GetRowBuff@CSlotListLong@@UAIPAUtagRowBuff@@K@Z
-; public: virtual struct tagRowBuff * __fastcall CSlotListShort::GetRowBuff(unsigned long)
-?GetRowBuff@CSlotListShort@@UAIPAUtagRowBuff@@K@Z
-; public: unsigned long __thiscall CUtlProps2::GetStatus(unsigned long,unsigned long)
-?GetStatus@CUtlProps2@@QAEKKK@Z
-; public: void __thiscall CBaseObjBoko::GetTimestamp(unsigned long *)
-?GetTimestamp@CBaseObjBoko@@QAEXPAK@Z
-; private: long __thiscall CUtlPropInfo::GetUPropInfoPtr(unsigned long,unsigned long,struct tagUPROPINFO * *)
-?GetUPropInfoPtr@CUtlPropInfo@@AAEJKKPAPAUtagUPROPINFO@@@Z
-; protected: unsigned long __thiscall CUtlPropInfo::GetUPropSetCount(void)
-?GetUPropSetCount@CUtlPropInfo@@IAEKXZ
-; public: unsigned long __thiscall CUtlProps2::GetUPropSetCount(void)
-?GetUPropSetCount@CUtlProps2@@QAEKXZ
-; protected: virtual unsigned long __thiscall CUtlProps2::GetUPropValIndex(unsigned long,unsigned long)
-?GetUPropValIndex@CUtlProps2@@MAEKKK@Z
-; protected: virtual unsigned long __thiscall CUtlPropsFastLookup2::GetUPropValIndex(unsigned long,unsigned long)
-?GetUPropValIndex@CUtlPropsFastLookup2@@MAEKKK@Z
-; public: short __thiscall CUtlProps2::GetValBool(unsigned long,unsigned long)const 
-?GetValBool@CUtlProps2@@QBEFKK@Z
-; public: long __thiscall CUtlProps2::GetValLong(unsigned long,unsigned long)const 
-?GetValLong@CUtlProps2@@QBEJKK@Z
-; public: short __thiscall CUtlProps2::GetValShort(unsigned long,unsigned long)const 
-?GetValShort@CUtlProps2@@QBEFKK@Z
-; public: unsigned short const * __thiscall CUtlProps2::GetValString(unsigned long,unsigned long)
-?GetValString@CUtlProps2@@QAEPBGKK@Z
-; public: struct tagVARIANT * __thiscall CUtlProps2::GetVariant(unsigned long,unsigned long)
-?GetVariant@CUtlProps2@@QAEPAUtagVARIANT@@KK@Z
-; public: virtual int __stdcall CHeapDispenser::HashKey(void *,unsigned long,int *)
-?HashKey@CHeapDispenser@@UAGHPAXKPAH@Z
-; public: long __thiscall CRowsetConnectionPointContainer::Init(void)
-?Init@CRowsetConnectionPointContainer@@QAEJXZ
-; protected: void __thiscall CWString::Init(void)
-?Init@CWString@@IAEXXZ
-; public: virtual long __stdcall CHashTbl::InsertFindBmk(int,unsigned long,unsigned long,unsigned char *,unsigned long *)
-?InsertFindBmk@CHashTbl@@UAGJHKKPAEPAK@Z
-; public: virtual long __stdcall CHashTblAggr::InsertFindBmk(int,unsigned long,unsigned long,unsigned char *,unsigned long *)
-?InsertFindBmk@CHashTblAggr@@UAGJHKKPAEPAK@Z
-; public: long __stdcall CExtBuffer::InsertIntoExtBuffer(void *,unsigned long &)
-?InsertIntoExtBuffer@CExtBuffer@@QAGJPAXAAK@Z
-; public: int __thiscall CUtlProps2::IsEmpty(unsigned long,unsigned long)
-?IsEmpty@CUtlProps2@@QAEHKK@Z
-; public: int __thiscall CWString::IsEmpty(void)const 
-?IsEmpty@CWString@@QBEHXZ
-; public: int __thiscall CUtlProps2::IsPropSet(struct _GUID const *,unsigned long)
-?IsPropSet@CUtlProps2@@QAEHPBU_GUID@@K@Z
-; public: int __thiscall CUtlProps2::IsRequiredFalse(unsigned long,unsigned long)
-?IsRequiredFalse@CUtlProps2@@QAEHKK@Z
-; public: int __thiscall CUtlProps2::IsRequiredTrue(unsigned long,unsigned long)
-?IsRequiredTrue@CUtlProps2@@QAEHKK@Z
-; public: int __thiscall CUtlProps2::IsSetIfCan(unsigned long,unsigned long)
-?IsSetIfCan@CUtlProps2@@QAEHKK@Z
-; public: long __stdcall CBitArray::IsSlotSet(unsigned long)
-?IsSlotSet@CBitArray@@QAGJK@Z
-; public: int __thiscall CUtlProps2::IsTrue(unsigned long,unsigned long)
-?IsTrue@CUtlProps2@@QAEHKK@Z
-; public: int __stdcall CVLHeap::IsVLAlloc(void *)
-?IsVLAlloc@CVLHeap@@QAGHPAX@Z
-; public: virtual long __stdcall CSlotListLong::IsValidSlot(unsigned long)
-?IsValidSlot@CSlotListLong@@UAGJK@Z
-; public: virtual long __stdcall CSlotListShort::IsValidSlot(unsigned long)
-?IsValidSlot@CSlotListShort@@UAGJK@Z
-; public: int __thiscall CBaseObjBoko::IsZombie(unsigned long)
-?IsZombie@CBaseObjBoko@@QAEHK@Z
-; public: int __thiscall CBaseObjZombie::IsZombie(void)
-?IsZombie@CBaseObjZombie@@QAEHXZ
-; unsigned long __cdecl LoadRCData(void *,unsigned int,unsigned short *,unsigned long)
-?LoadRCData@@YAKPAXIPAGK@Z
-; long __cdecl LoadResourceDLL(unsigned short *,unsigned short *,void *,void * *)
-?LoadResourceDLL@@YAJPAG0PAXPAPAX@Z
-; public: int __thiscall CWString::LoadStringW(void *,unsigned int)
-?LoadStringW@CWString@@QAEHPAXI@Z
-; public: virtual long __stdcall CClassFactory::LockServer(int)
-?LockServer@CClassFactory@@UAGJH@Z
-; public: void __thiscall CBaseObjBoko::MakeZombies(void)
-?MakeZombies@CBaseObjBoko@@QAEXXZ
-; public: class CWString  __thiscall CWString::Mid(int)const 
-?Mid@CWString@@QBE?AV1@H@Z
-; public: class CWString  __thiscall CWString::Mid(int,int)const 
-?Mid@CWString@@QBE?AV1@HH@Z
-; public: long __stdcall CEnum::Next(unsigned long,void * *,unsigned long *)
-?Next@CEnum@@QAGJKPAPAXPAK@Z
-; public: virtual long __stdcall CEnumConnectionPoints::Next(unsigned long,struct IConnectionPoint * *,unsigned long *)
-?Next@CEnumConnectionPoints@@UAGJKPAPAUIConnectionPoint@@PAK@Z
-; public: virtual long __stdcall CEnumConnections::Next(unsigned long,struct tagCONNECTDATA *,unsigned long *)
-?Next@CEnumConnections@@UAGJKPAUtagCONNECTDATA@@PAK@Z
-; public: virtual long __stdcall CSlotListLong::NextBusySlot(unsigned long *)
-?NextBusySlot@CSlotListLong@@UAGJPAK@Z
-; public: virtual long __stdcall CSlotListShort::NextBusySlot(unsigned long *)
-?NextBusySlot@CSlotListShort@@UAGJPAK@Z
-; public: virtual long __stdcall CSlotListLong::NoBusySlots(void)
-?NoBusySlots@CSlotListLong@@UAGJXZ
-; public: virtual long __stdcall CSlotListShort::NoBusySlots(void)
-?NoBusySlots@CSlotListShort@@UAGJXZ
-; public: unsigned long __thiscall CWString::NumElements(unsigned short * const)const 
-?NumElements@CWString@@QBEKQAG@Z
-; int __cdecl OLEDBGetCharTypeW(unsigned long,unsigned short,unsigned short *)
-?OLEDBGetCharTypeW@@YAHKGPAG@Z
-; public: short __thiscall CUtlProps2::OkToPersistSensitiveAuthInfo(void)
-?OkToPersistSensitiveAuthInfo@CUtlProps2@@QAEFXZ
-; int __cdecl OnUnicodeSystem(void)
-?OnUnicodeSystem@@YAHXZ
-; public: virtual long __stdcall CClassFactory::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CClassFactory@@UAGJABU_GUID@@PAPAX@Z
-; public: long __stdcall CEnum::QueryInterface(struct _GUID const &,void * *,struct IUnknown *)
-?QueryInterface@CEnum@@QAGJABU_GUID@@PAPAXPAUIUnknown@@@Z
-; public: virtual long __stdcall CEnumConnectionPoints::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CEnumConnectionPoints@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CEnumConnections::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CEnumConnections@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CHeapDispenser::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CHeapDispenser@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CRowsetConnectionPoint::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CRowsetConnectionPoint@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CRowsetConnectionPointContainer::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CRowsetConnectionPointContainer@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CHeapDispenser::RateRes(void *,unsigned long,void *,int *)
-?RateRes@CHeapDispenser@@UAGJPAXK0PAH@Z
-; public: virtual void __stdcall CSlotListLong::RecordInternalUse(void)
-?RecordInternalUse@CSlotListLong@@UAGXXZ
-; public: virtual void __stdcall CSlotListShort::RecordInternalUse(void)
-?RecordInternalUse@CSlotListShort@@UAGXXZ
-; long __cdecl RegisterServer(void * const,void * const,unsigned long,struct tagREGENTRIES const * const)
-?RegisterServer@@YAJQAX0KQBUtagREGENTRIES@@@Z
-; public: virtual unsigned long __stdcall CClassFactory::Release(void)
-?Release@CClassFactory@@UAGKXZ
-; public: unsigned long __stdcall CEnum::Release(void)
-?Release@CEnum@@QAGKXZ
-; public: virtual unsigned long __stdcall CEnumConnectionPoints::Release(void)
-?Release@CEnumConnectionPoints@@UAGKXZ
-; public: virtual unsigned long __stdcall CEnumConnections::Release(void)
-?Release@CEnumConnections@@UAGKXZ
-; public: virtual unsigned long __stdcall CHeapDispenser::Release(void)
-?Release@CHeapDispenser@@UAGKXZ
-; public: virtual unsigned long __stdcall CRowsetConnectionPoint::Release(void)
-?Release@CRowsetConnectionPoint@@UAGKXZ
-; public: virtual unsigned long __stdcall CRowsetConnectionPointContainer::Release(void)
-?Release@CRowsetConnectionPointContainer@@UAGKXZ
-; public: void __thiscall CWString::ReleaseBuffer(int)
-?ReleaseBuffer@CWString@@QAEXH@Z
-; public: void __thiscall CGenericPooler::ReleaseHolders(void)
-?ReleaseHolders@CGenericPooler@@QAEXXZ
-; public: void __thiscall CGenericPooler::ReleaseResource(void *,struct IGPHolder *,struct IGPDispenser *,void *)
-?ReleaseResource@CGenericPooler@@QAEXPAXPAUIGPHolder@@PAUIGPDispenser@@0@Z
-; public: virtual unsigned long __stdcall CSlotListLong::ReleaseSlots(unsigned long,unsigned long)
-?ReleaseSlots@CSlotListLong@@UAGKKK@Z
-; public: virtual unsigned long __stdcall CSlotListShort::ReleaseSlots(unsigned long,unsigned long)
-?ReleaseSlots@CSlotListShort@@UAGKKK@Z
-; public: void __thiscall CUtlProps2::RemoveInternalFlags(unsigned long,unsigned long,unsigned long)
-?RemoveInternalFlags@CUtlProps2@@QAEXKKK@Z
-; public: void __thiscall CWString::ReplaceAt(int,int,unsigned short const *,int)
-?ReplaceAt@CWString@@QAEXHHPBGH@Z
-; public: long __stdcall CExtBuffer::ReplaceInExtBuffer(unsigned long,unsigned long,void const *,unsigned long)
-?ReplaceInExtBuffer@CExtBuffer@@QAGJKKPBXK@Z
-; public: int __thiscall CConnectData::Reset(void)
-?Reset@CConnectData@@QAEHXZ
-; public: long __stdcall CEnum::Reset(void)
-?Reset@CEnum@@QAGJXZ
-; public: virtual long __stdcall CEnumConnectionPoints::Reset(void)
-?Reset@CEnumConnectionPoints@@UAGJXZ
-; public: virtual long __stdcall CEnumConnections::Reset(void)
-?Reset@CEnumConnections@@UAGJXZ
-; public: void __stdcall CBitArray::ResetAllSlots(void)
-?ResetAllSlots@CBitArray@@QAGXXZ
-; public: virtual void __stdcall CSlotListLong::ResetBusySlotIteration(void)
-?ResetBusySlotIteration@CSlotListLong@@UAGXXZ
-; public: virtual void __stdcall CSlotListShort::ResetBusySlotIteration(void)
-?ResetBusySlotIteration@CSlotListShort@@UAGXXZ
-; public: virtual long __stdcall CHeapDispenser::ResetResource(void *)
-?ResetResource@CHeapDispenser@@UAGJPAX@Z
-; public: void __stdcall CBitArray::ResetSlot(unsigned long)
-?ResetSlot@CBitArray@@QAGXK@Z
-; public: void __stdcall CBitArray::ResetSlots(unsigned long,unsigned long)
-?ResetSlots@CBitArray@@QAGXKK@Z
-; public: void __thiscall CUtlProps2::RestoreInternalFlags(unsigned long,unsigned long)
-?RestoreInternalFlags@CUtlProps2@@QAEXKK@Z
-; public: void __thiscall CUtlProps2::RestoreInternalStatus(unsigned long,unsigned long)
-?RestoreInternalStatus@CUtlProps2@@QAEXKK@Z
-; private: void __thiscall CUtlProps2::RetrieveColumnIdProps(struct tagDBPROP *,struct tagUPROPVAL *,unsigned long *)
-?RetrieveColumnIdProps@CUtlProps2@@AAEXPAUtagDBPROP@@PAUtagUPROPVAL@@PAK@Z
-; public: virtual unsigned long __stdcall CSlotListLong::SLSlotCapacity(void)
-?SLSlotCapacity@CSlotListLong@@UAGKXZ
-; public: virtual unsigned long __stdcall CSlotListShort::SLSlotCapacity(void)
-?SLSlotCapacity@CSlotListShort@@UAGKXZ
-; protected: static void __cdecl CWString::SafeDelete(unsigned short *)
-?SafeDelete@CWString@@KAXPAG@Z
-; protected: static int __cdecl CWString::SafeStrlen(unsigned short const *)
-?SafeStrlen@CWString@@KAHPBG@Z
-; public: void __thiscall CUtlProps2::SaveInternalFlags(unsigned long,unsigned long)
-?SaveInternalFlags@CUtlProps2@@QAEXKK@Z
-; public: void __thiscall CUtlProps2::SaveInternalStatus(unsigned long,unsigned long)
-?SaveInternalStatus@CUtlProps2@@QAEXKK@Z
-; public: void __thiscall CWString::SetAt(int,unsigned short)
-?SetAt@CWString@@QAEXHG@Z
-; public: void __thiscall CBaseObjZombie::SetBoko(class CBaseObjBoko *)
-?SetBoko@CBaseObjZombie@@QAEXPAVCBaseObjBoko@@@Z
-; public: virtual long __thiscall CUtlProps2::SetCombinedPassThrough(struct tagDBPROPSET const *,unsigned long)
-?SetCombinedPassThrough@CUtlProps2@@UAEJPBUtagDBPROPSET@@K@Z
-; public: void __thiscall CWString::SetError(void)
-?SetError@CWString@@QAEXXZ
-; public: void __thiscall CUtlProps2::SetInternalStatus(unsigned long,unsigned long,unsigned long)
-?SetInternalStatus@CUtlProps2@@QAEXKKK@Z
-; public: void __stdcall CExtBuffer::SetItemCount(unsigned long)
-?SetItemCount@CExtBuffer@@QAGXK@Z
-; public: virtual long __thiscall CUtlProps2::SetPassThrough(struct tagDBPROPSET const *)
-?SetPassThrough@CUtlProps2@@UAEJPBUtagDBPROPSET@@@Z
-; public: long __stdcall CEnum::SetPos(unsigned long)
-?SetPos@CEnum@@QAGJK@Z
-; public: long __stdcall CEnumConnectionPoints::SetPos(unsigned long)
-?SetPos@CEnumConnectionPoints@@QAGJK@Z
-; public: long __stdcall CEnumConnections::SetPos(unsigned long)
-?SetPos@CEnumConnections@@QAGJK@Z
-; public: void __thiscall CUtlProps2::SetPropOption(unsigned long,unsigned long,unsigned long)
-?SetPropOption@CUtlProps2@@QAEXKKK@Z
-; public: void __thiscall CUtlProps2::SetPropRequired(unsigned long,unsigned long,short)
-?SetPropRequired@CUtlProps2@@QAEXKKF@Z
-; public: void __thiscall CUtlProps2::SetPropSupported(unsigned long,unsigned long)
-?SetPropSupported@CUtlProps2@@QAEXKK@Z
-; public: long __thiscall CUtlProps2::SetPropValue(struct _GUID const *,unsigned long,struct tagVARIANT *)
-?SetPropValue@CUtlProps2@@QAEJPBU_GUID@@KPAUtagVARIANT@@@Z
-; public: long __thiscall CUtlProps2::SetProperties(unsigned long,struct tagDBPROPSET const * const,int)
-?SetProperties@CUtlProps2@@QAEJKQBUtagDBPROPSET@@H@Z
-; public: static long __cdecl CUtlProps2::SetPropertiesArgChk(unsigned long,struct tagDBPROPSET const * const)
-?SetPropertiesArgChk@CUtlProps2@@SAJKQBUtagDBPROPSET@@@Z
-; private: long __thiscall CUtlProps2::SetProperty(unsigned long,unsigned long,struct tagDBPROP *)
-?SetProperty@CUtlProps2@@AAEJKKPAUtagDBPROP@@@Z
-; public: void __thiscall CUtlProps2::SetPropertyInError(unsigned long,unsigned long)
-?SetPropertyInError@CUtlProps2@@QAEXKK@Z
-; public: void __thiscall CUtlProps2::SetPropertyStatus(unsigned long,struct tagDBPROPSET const * const)
-?SetPropertyStatus@CUtlProps2@@QAEXKQBUtagDBPROPSET@@@Z
-; private: void __thiscall CRowsetConnectionPoint::SetReasons(void)
-?SetReasons@CRowsetConnectionPoint@@AAEXXZ
-; public: long __stdcall CBitArray::SetSlot(unsigned long)
-?SetSlot@CBitArray@@QAGJK@Z
-; public: long __stdcall CBitArray::SetSlots(unsigned long,unsigned long)
-?SetSlots@CBitArray@@QAGJKK@Z
-; public: void __thiscall CUtlProps2::SetStatus(unsigned long,unsigned long,unsigned long)
-?SetStatus@CUtlProps2@@QAEXKKK@Z
-; protected: void __thiscall CUtlPropInfo::SetUPropSetCount(unsigned long)
-?SetUPropSetCount@CUtlPropInfo@@IAEXK@Z
-; public: void __thiscall CUtlProps2::SetUPropSetCount(unsigned long)
-?SetUPropSetCount@CUtlProps2@@QAEXK@Z
-; public: void __thiscall CUtlProps2::SetValBool(unsigned long,unsigned long,short)
-?SetValBool@CUtlProps2@@QAEXKKF@Z
-; public: void __thiscall CUtlProps2::SetValEmpty(unsigned long,unsigned long)
-?SetValEmpty@CUtlProps2@@QAEXKK@Z
-; public: void __thiscall CUtlProps2::SetValLong(unsigned long,unsigned long,long)
-?SetValLong@CUtlProps2@@QAEXKKJ@Z
-; public: void __thiscall CUtlProps2::SetValShort(unsigned long,unsigned long,short)
-?SetValShort@CUtlProps2@@QAEXKKF@Z
-; public: long __thiscall CUtlProps2::SetValString(unsigned long,unsigned long,unsigned short const *)
-?SetValString@CUtlProps2@@QAEJKKPBG@Z
-; public: long __thiscall CUtlProps2::SetVariant(unsigned long,unsigned long,struct tagVARIANT *)
-?SetVariant@CUtlProps2@@QAEJKKPAUtagVARIANT@@@Z
-; public: long __stdcall CEnum::Skip(unsigned long)
-?Skip@CEnum@@QAGJK@Z
-; public: virtual long __stdcall CEnumConnectionPoints::Skip(unsigned long)
-?Skip@CEnumConnectionPoints@@UAGJK@Z
-; public: virtual long __stdcall CEnumConnections::Skip(unsigned long)
-?Skip@CEnumConnections@@UAGJK@Z
-; public: void __thiscall CExtBuffer::Transfer(class CExtBuffer *)
-?Transfer@CExtBuffer@@QAEXPAV1@@Z
-; long __cdecl UnRegisterServer(void * const,unsigned long,struct tagREGENTRIES const * const)
-?UnRegisterServer@@YAJQAXKQBUtagREGENTRIES@@@Z
-; public: virtual long __stdcall CRowsetConnectionPoint::Unadvise(unsigned long)
-?Unadvise@CRowsetConnectionPoint@@UAGJK@Z
-; public: void * __stdcall CVLHeap::VLAlloc(unsigned long)
-?VLAlloc@CVLHeap@@QAGPAXK@Z
-; public: void __stdcall CVLHeap::VLFree(void *)
-?VLFree@CVLHeap@@QAGXPAX@Z
-; public: void * __stdcall CVLHeap::VLGrow(void *,unsigned long)
-?VLGrow@CVLHeap@@QAGPAXPAXK@Z
-; public: void * __stdcall CVLHeap::VLTrueRealloc(void *,unsigned long)
-?VLTrueRealloc@CVLHeap@@QAGPAXPAXK@Z
-; long __cdecl W95ConvertToAnsiOrOem(unsigned short const *,char * *,unsigned long,unsigned long *,int,int)
-?W95ConvertToAnsiOrOem@@YAJPBGPAPADKPAKHH@Z
-; long __cdecl W95ConvertToUnicode(char const *,long,unsigned short * *,unsigned long *,int,int)
-?W95ConvertToUnicode@@YAJPBDJPAPAGPAKHH@Z
-; public: long __stdcall CExtBuffer::WriteIntoExtBuffer(void const *,unsigned long)
-?WriteIntoExtBuffer@CExtBuffer@@QAGJPBXK@Z
-; public: long __stdcall CExtBuffer::WriteWCharToExtBuffer(unsigned short,unsigned long)
-?WriteWCharToExtBuffer@CExtBuffer@@QAGJGK@Z
-; public: int __thiscall CBaseObjBoko::ZombieMustUnprepare(void)
-?ZombieMustUnprepare@CBaseObjBoko@@QAEHXZ
-; public: int __thiscall CBaseObjZombie::ZombieMustUnprepare(void)
-?ZombieMustUnprepare@CBaseObjZombie@@QAEHXZ
-; public: int __thiscall CBitArray::fGetCopyOf(class CBitArray *)
-?fGetCopyOf@CBitArray@@QAEHPAV1@@Z
-; public: int __thiscall CRowsetConnectionPoint::fInit(void)
-?fInit@CRowsetConnectionPoint@@QAEHXZ
-; public: int __thiscall CConnectData::fOkToFire(enum DBREASONENUM,enum DBEVENTPHASEENUM)
-?fOkToFire@CConnectData@@QAEHW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; public: int __thiscall CRowsetConnectionPoint::fReasonNeeded(enum DBREASONENUM,enum DBEVENTPHASEENUM)
-?fReasonNeeded@CRowsetConnectionPoint@@QAEHW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; public: int __thiscall CRowsetConnectionPointContainer::fReasonNeeded(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM)
-?fReasonNeeded@CRowsetConnectionPointContainer@@QAEHKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
-; private: static unsigned long const * const  CUtlProps2::sm_rgPropStatusFromInternStatus
-?sm_rgPropStatusFromInternStatus@CUtlProps2@@0QBKB
+; 
+; Exports of file MSDATL3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDATL3.dll
+EXPORTS
+DllMain
+; protected: __thiscall CBaseObj::CBaseObj(enum EBaseObjectType,long *)
+??0CBaseObj@@IAE@W4EBaseObjectType@@PAJ@Z
+; protected: __thiscall CBaseObj::CBaseObj(enum EBaseObjectType,struct IUnknown *,long *)
+??0CBaseObj@@IAE@W4EBaseObjectType@@PAUIUnknown@@PAJ@Z
+; public: __thiscall CBaseObj::CBaseObj(class CBaseObj const &)
+??0CBaseObj@@QAE@ABV0@@Z
+; public: __thiscall CBaseObjBoko::CBaseObjBoko(class CBaseObjBoko const &)
+??0CBaseObjBoko@@QAE@ABV0@@Z
+; public: __thiscall CBaseObjBoko::CBaseObjBoko(enum EBaseObjectType,long *)
+??0CBaseObjBoko@@QAE@W4EBaseObjectType@@PAJ@Z
+; public: __thiscall CBaseObjZombie::CBaseObjZombie(class CBaseObjZombie const &)
+??0CBaseObjZombie@@QAE@ABV0@@Z
+; public: __thiscall CBaseObjZombie::CBaseObjZombie(enum EBaseObjectType,long *)
+??0CBaseObjZombie@@QAE@W4EBaseObjectType@@PAJ@Z
+; public: __thiscall CBitArray::CBitArray(void)
+??0CBitArray@@QAE@XZ
+; private: __thiscall CClassFactory::CClassFactory(void)
+??0CClassFactory@@AAE@XZ
+; public: __thiscall CClassFactory::CClassFactory(class CClassFactory const &)
+??0CClassFactory@@QAE@ABV0@@Z
+; public: __thiscall CClassFactory::CClassFactory(long *,long *)
+??0CClassFactory@@QAE@PAJ0@Z
+; public: __thiscall CConnectData::CConnectData(void)
+??0CConnectData@@QAE@XZ
+; public: __thiscall CEnum::CEnum(struct IUnknown *,unsigned long,void * *,struct _GUID,unsigned int,unsigned long,enum CENUMTYPE)
+??0CEnum@@QAE@PAUIUnknown@@KPAPAXU_GUID@@IKW4CENUMTYPE@@@Z
+; public: __thiscall CEnumConnectionPoints::CEnumConnectionPoints(class CEnumConnectionPoints const &)
+??0CEnumConnectionPoints@@QAE@ABV0@@Z
+; public: __thiscall CEnumConnectionPoints::CEnumConnectionPoints(struct IUnknown *,unsigned long,struct IConnectionPoint * *)
+??0CEnumConnectionPoints@@QAE@PAUIUnknown@@KPAPAUIConnectionPoint@@@Z
+; public: __thiscall CEnumConnections::CEnumConnections(class CEnumConnections const &)
+??0CEnumConnections@@QAE@ABV0@@Z
+; public: __thiscall CEnumConnections::CEnumConnections(struct IUnknown *,struct tagCONNECTDATA *,unsigned long)
+??0CEnumConnections@@QAE@PAUIUnknown@@PAUtagCONNECTDATA@@K@Z
+; public: __thiscall CExtBuffer::CExtBuffer(void)
+??0CExtBuffer@@QAE@XZ
+; public: __thiscall CGenericPooler::CGenericPooler(class CGenericPooler const &)
+??0CGenericPooler@@QAE@ABV0@@Z
+; public: __thiscall CGenericPooler::CGenericPooler(void)
+??0CGenericPooler@@QAE@XZ
+; public: __thiscall CHashTbl::CHashTbl(class CHashTbl const &)
+??0CHashTbl@@QAE@ABV0@@Z
+; public: __thiscall CHashTbl::CHashTbl(void)
+??0CHashTbl@@QAE@XZ
+; public: __thiscall CHashTblAggr::CHashTblAggr(class CHashTblAggr const &)
+??0CHashTblAggr@@QAE@ABV0@@Z
+; public: __thiscall CHashTblAggr::CHashTblAggr(void)
+??0CHashTblAggr@@QAE@XZ
+; public: __thiscall CHeapDispenser::CHeapDispenser(class CHeapDispenser const &)
+??0CHeapDispenser@@QAE@ABV0@@Z
+; public: __thiscall CHeapDispenser::CHeapDispenser(void)
+??0CHeapDispenser@@QAE@XZ
+; public: __thiscall CRowsetConnectionPoint::CRowsetConnectionPoint(class CRowsetConnectionPoint const &)
+??0CRowsetConnectionPoint@@QAE@ABV0@@Z
+; public: __thiscall CRowsetConnectionPoint::CRowsetConnectionPoint(struct IUnknown *,struct _GUID const *,unsigned long)
+??0CRowsetConnectionPoint@@QAE@PAUIUnknown@@PBU_GUID@@K@Z
+; public: __thiscall CRowsetConnectionPointContainer::CRowsetConnectionPointContainer(class CRowsetConnectionPointContainer const &)
+??0CRowsetConnectionPointContainer@@QAE@ABV0@@Z
+; public: __thiscall CRowsetConnectionPointContainer::CRowsetConnectionPointContainer(struct IUnknown *)
+??0CRowsetConnectionPointContainer@@QAE@PAUIUnknown@@@Z
+; public: __thiscall CSlotListLong::CSlotListLong(class CSlotListLong const &)
+??0CSlotListLong@@QAE@ABV0@@Z
+; public: __thiscall CSlotListLong::CSlotListLong(void)
+??0CSlotListLong@@QAE@XZ
+; public: __thiscall CSlotListShort::CSlotListShort(class CSlotListShort const &)
+??0CSlotListShort@@QAE@ABV0@@Z
+; public: __thiscall CSlotListShort::CSlotListShort(void)
+??0CSlotListShort@@QAE@XZ
+; public: __thiscall CUtlPropInfo::CUtlPropInfo(class CUtlPropInfo const &)
+??0CUtlPropInfo@@QAE@ABV0@@Z
+; public: __thiscall CUtlPropInfo::CUtlPropInfo(void)
+??0CUtlPropInfo@@QAE@XZ
+; public: __thiscall CUtlProps2::CUtlProps2(class CUtlProps2 const &)
+??0CUtlProps2@@QAE@ABV0@@Z
+; public: __thiscall CUtlProps2::CUtlProps2(unsigned long)
+??0CUtlProps2@@QAE@K@Z
+; public: __thiscall CUtlPropsFastLookup2::CUtlPropsFastLookup2(class CUtlPropsFastLookup2 const &)
+??0CUtlPropsFastLookup2@@QAE@ABV0@@Z
+; public: __thiscall CUtlPropsFastLookup2::CUtlPropsFastLookup2(unsigned long)
+??0CUtlPropsFastLookup2@@QAE@K@Z
+; public: __thiscall CVLHeap::CVLHeap(void)
+??0CVLHeap@@QAE@XZ
+; public: __thiscall CWString::CWString(class CWString const &)
+??0CWString@@QAE@ABV0@@Z
+; public: __thiscall CWString::CWString(unsigned short,int)
+??0CWString@@QAE@GH@Z
+; public: __thiscall CWString::CWString(char const *)
+??0CWString@@QAE@PBD@Z
+; public: __thiscall CWString::CWString(unsigned char const *)
+??0CWString@@QAE@PBE@Z
+; public: __thiscall CWString::CWString(unsigned short const *)
+??0CWString@@QAE@PBG@Z
+; public: __thiscall CWString::CWString(unsigned short const *,int)
+??0CWString@@QAE@PBGH@Z
+; public: __thiscall CWString::CWString(void)
+??0CWString@@QAE@XZ
+; public: __thiscall IBookmarkObj::IBookmarkObj(class IBookmarkObj const &)
+??0IBookmarkObj@@QAE@ABV0@@Z
+; public: __thiscall IBookmarkObj::IBookmarkObj(void)
+??0IBookmarkObj@@QAE@XZ
+; public: __thiscall IHashTbl::IHashTbl(class IHashTbl const &)
+??0IHashTbl@@QAE@ABV0@@Z
+; public: __thiscall IHashTbl::IHashTbl(void)
+??0IHashTbl@@QAE@XZ
+; public: __thiscall ISlotList::ISlotList(class ISlotList const &)
+??0ISlotList@@QAE@ABV0@@Z
+; public: __thiscall ISlotList::ISlotList(void)
+??0ISlotList@@QAE@XZ
+; public: virtual __thiscall CBaseObj::~CBaseObj(void)
+??1CBaseObj@@UAE@XZ
+; public: virtual __thiscall CBaseObjBoko::~CBaseObjBoko(void)
+??1CBaseObjBoko@@UAE@XZ
+; public: virtual __thiscall CBaseObjZombie::~CBaseObjZombie(void)
+??1CBaseObjZombie@@UAE@XZ
+; public: __thiscall CBitArray::~CBitArray(void)
+??1CBitArray@@QAE@XZ
+; public: __thiscall CClassFactory::~CClassFactory(void)
+??1CClassFactory@@QAE@XZ
+; public: __thiscall CConnectData::~CConnectData(void)
+??1CConnectData@@QAE@XZ
+; public: __thiscall CEnum::~CEnum(void)
+??1CEnum@@QAE@XZ
+; public: __thiscall CEnumConnectionPoints::~CEnumConnectionPoints(void)
+??1CEnumConnectionPoints@@QAE@XZ
+; public: __thiscall CEnumConnections::~CEnumConnections(void)
+??1CEnumConnections@@QAE@XZ
+; public: __thiscall CExtBuffer::~CExtBuffer(void)
+??1CExtBuffer@@QAE@XZ
+; public: virtual __thiscall CHashTbl::~CHashTbl(void)
+??1CHashTbl@@UAE@XZ
+; public: virtual __thiscall CHashTblAggr::~CHashTblAggr(void)
+??1CHashTblAggr@@UAE@XZ
+; public: __thiscall CRowsetConnectionPoint::~CRowsetConnectionPoint(void)
+??1CRowsetConnectionPoint@@QAE@XZ
+; public: __thiscall CRowsetConnectionPointContainer::~CRowsetConnectionPointContainer(void)
+??1CRowsetConnectionPointContainer@@QAE@XZ
+; public: virtual __thiscall CSlotListLong::~CSlotListLong(void)
+??1CSlotListLong@@UAE@XZ
+; public: virtual __thiscall CSlotListShort::~CSlotListShort(void)
+??1CSlotListShort@@UAE@XZ
+; public: virtual __thiscall CUtlPropInfo::~CUtlPropInfo(void)
+??1CUtlPropInfo@@UAE@XZ
+; public: virtual __thiscall CUtlProps2::~CUtlProps2(void)
+??1CUtlProps2@@UAE@XZ
+; public: virtual __thiscall CUtlPropsFastLookup2::~CUtlPropsFastLookup2(void)
+??1CUtlPropsFastLookup2@@UAE@XZ
+; public: __thiscall CVLHeap::~CVLHeap(void)
+??1CVLHeap@@QAE@XZ
+; public: __thiscall CWString::~CWString(void)
+??1CWString@@QAE@XZ
+; public: virtual __thiscall IBookmarkObj::~IBookmarkObj(void)
+??1IBookmarkObj@@UAE@XZ
+; public: virtual __thiscall IHashTbl::~IHashTbl(void)
+??1IHashTbl@@UAE@XZ
+; public: virtual __thiscall ISlotList::~ISlotList(void)
+??1ISlotList@@UAE@XZ
+; public: class CBaseObj & __thiscall CBaseObj::operator=(class CBaseObj const &)
+??4CBaseObj@@QAEAAV0@ABV0@@Z
+; public: class CBaseObjBoko & __thiscall CBaseObjBoko::operator=(class CBaseObjBoko const &)
+??4CBaseObjBoko@@QAEAAV0@ABV0@@Z
+; public: class CBaseObjZombie & __thiscall CBaseObjZombie::operator=(class CBaseObjZombie const &)
+??4CBaseObjZombie@@QAEAAV0@ABV0@@Z
+; public: class CBitArray & __thiscall CBitArray::operator=(class CBitArray const &)
+??4CBitArray@@QAEAAV0@ABV0@@Z
+; public: class CClassFactory & __thiscall CClassFactory::operator=(class CClassFactory const &)
+??4CClassFactory@@QAEAAV0@ABV0@@Z
+; public: class CConnectData & __thiscall CConnectData::operator=(class CConnectData const &)
+??4CConnectData@@QAEAAV0@ABV0@@Z
+; public: class CEnum & __thiscall CEnum::operator=(class CEnum const &)
+??4CEnum@@QAEAAV0@ABV0@@Z
+; public: class CEnumConnectionPoints & __thiscall CEnumConnectionPoints::operator=(class CEnumConnectionPoints const &)
+??4CEnumConnectionPoints@@QAEAAV0@ABV0@@Z
+; public: class CEnumConnections & __thiscall CEnumConnections::operator=(class CEnumConnections const &)
+??4CEnumConnections@@QAEAAV0@ABV0@@Z
+; public: class CExtBuffer & __thiscall CExtBuffer::operator=(class CExtBuffer const &)
+??4CExtBuffer@@QAEAAV0@ABV0@@Z
+; public: class CGenericPooler & __thiscall CGenericPooler::operator=(class CGenericPooler const &)
+??4CGenericPooler@@QAEAAV0@ABV0@@Z
+; public: class CHashTbl & __thiscall CHashTbl::operator=(class CHashTbl const &)
+??4CHashTbl@@QAEAAV0@ABV0@@Z
+; public: class CHashTblAggr & __thiscall CHashTblAggr::operator=(class CHashTblAggr const &)
+??4CHashTblAggr@@QAEAAV0@ABV0@@Z
+; public: class CHeapDispenser & __thiscall CHeapDispenser::operator=(class CHeapDispenser const &)
+??4CHeapDispenser@@QAEAAV0@ABV0@@Z
+; public: class CRowsetConnectionPoint & __thiscall CRowsetConnectionPoint::operator=(class CRowsetConnectionPoint const &)
+??4CRowsetConnectionPoint@@QAEAAV0@ABV0@@Z
+; public: class CRowsetConnectionPointContainer & __thiscall CRowsetConnectionPointContainer::operator=(class CRowsetConnectionPointContainer const &)
+??4CRowsetConnectionPointContainer@@QAEAAV0@ABV0@@Z
+; public: class CSlotListLong & __thiscall CSlotListLong::operator=(class CSlotListLong const &)
+??4CSlotListLong@@QAEAAV0@ABV0@@Z
+; public: class CSlotListShort & __thiscall CSlotListShort::operator=(class CSlotListShort const &)
+??4CSlotListShort@@QAEAAV0@ABV0@@Z
+; public: class CUtlPropInfo & __thiscall CUtlPropInfo::operator=(class CUtlPropInfo const &)
+??4CUtlPropInfo@@QAEAAV0@ABV0@@Z
+; public: class CUtlProps2 & __thiscall CUtlProps2::operator=(class CUtlProps2 const &)
+??4CUtlProps2@@QAEAAV0@ABV0@@Z
+; public: class CUtlPropsFastLookup2 & __thiscall CUtlPropsFastLookup2::operator=(class CUtlPropsFastLookup2 const &)
+??4CUtlPropsFastLookup2@@QAEAAV0@ABV0@@Z
+; public: class CVLHeap & __thiscall CVLHeap::operator=(class CVLHeap const &)
+??4CVLHeap@@QAEAAV0@ABV0@@Z
+; public: class CWString const & __thiscall CWString::operator=(class CWString const &)
+??4CWString@@QAEABV0@ABV0@@Z
+; public: class CWString const & __thiscall CWString::operator=(char)
+??4CWString@@QAEABV0@D@Z
+; public: class CWString const & __thiscall CWString::operator=(unsigned short)
+??4CWString@@QAEABV0@G@Z
+; public: class CWString const & __thiscall CWString::operator=(char const *)
+??4CWString@@QAEABV0@PBD@Z
+; public: class CWString const & __thiscall CWString::operator=(unsigned char const *)
+??4CWString@@QAEABV0@PBE@Z
+; public: class CWString const & __thiscall CWString::operator=(unsigned short const *)
+??4CWString@@QAEABV0@PBG@Z
+; public: class IBookmarkObj & __thiscall IBookmarkObj::operator=(class IBookmarkObj const &)
+??4IBookmarkObj@@QAEAAV0@ABV0@@Z
+; public: class IHashTbl & __thiscall IHashTbl::operator=(class IHashTbl const &)
+??4IHashTbl@@QAEAAV0@ABV0@@Z
+; public: class ISlotList & __thiscall ISlotList::operator=(class ISlotList const &)
+??4ISlotList@@QAEAAV0@ABV0@@Z
+; public: unsigned short __thiscall CWString::operator[](int)const 
+??ACWString@@QBEGH@Z
+; public: __thiscall CWString::operator unsigned short const *(void)const 
+??BCWString@@QBEPBGXZ
+; public: class CWString const & __thiscall CWString::operator+=(class CWString const &)
+??YCWString@@QAEABV0@ABV0@@Z
+; public: class CWString const & __thiscall CWString::operator+=(char)
+??YCWString@@QAEABV0@D@Z
+; public: class CWString const & __thiscall CWString::operator+=(unsigned short)
+??YCWString@@QAEABV0@G@Z
+; public: class CWString const & __thiscall CWString::operator+=(unsigned short const *)
+??YCWString@@QAEABV0@PBG@Z
+; const  CBaseObj::`vftable'
+??_7CBaseObj@@6B@
+; const  CBaseObjBoko::`vftable'
+??_7CBaseObjBoko@@6B@
+; const  CBaseObjZombie::`vftable'
+??_7CBaseObjZombie@@6B@
+; const  CClassFactory::`vftable'
+??_7CClassFactory@@6B@
+; const  CEnumConnectionPoints::`vftable'
+??_7CEnumConnectionPoints@@6B@
+; const  CEnumConnections::`vftable'
+??_7CEnumConnections@@6B@
+; const  CHashTbl::`vftable'
+??_7CHashTbl@@6B@
+; const  CHashTblAggr::`vftable'
+??_7CHashTblAggr@@6B@
+; const  CHeapDispenser::`vftable'
+??_7CHeapDispenser@@6B@
+; const  CRowsetConnectionPoint::`vftable'
+??_7CRowsetConnectionPoint@@6B@
+; const  CRowsetConnectionPointContainer::`vftable'
+??_7CRowsetConnectionPointContainer@@6B@
+; const  CSlotListLong::`vftable'
+??_7CSlotListLong@@6B@
+; const  CSlotListShort::`vftable'
+??_7CSlotListShort@@6B@
+; const  CUtlPropInfo::`vftable'
+??_7CUtlPropInfo@@6B@
+; const  CUtlProps2::`vftable'
+??_7CUtlProps2@@6B@
+; const  CUtlPropsFastLookup2::`vftable'
+??_7CUtlPropsFastLookup2@@6B@
+; const  IBookmarkObj::`vftable'
+??_7IBookmarkObj@@6B@
+; const  IHashTbl::`vftable'
+??_7IHashTbl@@6B@
+; const  ISlotList::`vftable'
+??_7ISlotList@@6B@
+; public: void __thiscall CUtlProps2::`default constructor closure'(void)
+??_FCUtlProps2@@QAEXXZ
+; public: void __thiscall CUtlPropsFastLookup2::`default constructor closure'(void)
+??_FCUtlPropsFastLookup2@@QAEXXZ
+; public: int __thiscall CHashTblAggr::AddHashTbl(class CSlotListShort *)
+?AddHashTbl@CHashTblAggr@@QAEHPAVCSlotListShort@@@Z
+; public: void __thiscall CUtlProps2::AddInternalFlags(unsigned long,unsigned long,unsigned long)
+?AddInternalFlags@CUtlProps2@@QAEXKKK@Z
+; public: virtual unsigned long __stdcall CClassFactory::AddRef(void)
+?AddRef@CClassFactory@@UAGKXZ
+; public: unsigned long __stdcall CEnum::AddRef(void)
+?AddRef@CEnum@@QAGKXZ
+; public: virtual unsigned long __stdcall CEnumConnectionPoints::AddRef(void)
+?AddRef@CEnumConnectionPoints@@UAGKXZ
+; public: virtual unsigned long __stdcall CEnumConnections::AddRef(void)
+?AddRef@CEnumConnections@@UAGKXZ
+; public: virtual unsigned long __stdcall CHeapDispenser::AddRef(void)
+?AddRef@CHeapDispenser@@UAGKXZ
+; public: virtual unsigned long __stdcall CRowsetConnectionPoint::AddRef(void)
+?AddRef@CRowsetConnectionPoint@@UAGKXZ
+; public: virtual unsigned long __stdcall CRowsetConnectionPointContainer::AddRef(void)
+?AddRef@CRowsetConnectionPointContainer@@UAGKXZ
+; private: void __stdcall CSlotListShort::AddSlotToList(struct tagSLOT *)
+?AddSlotToList@CSlotListShort@@AAGXPAUtagSLOT@@@Z
+; private: static unsigned long __stdcall CHashTbl::AdjustRange(unsigned long)
+?AdjustRange@CHashTbl@@CGKK@Z
+; public: virtual long __stdcall CRowsetConnectionPoint::Advise(struct IUnknown *,unsigned long *)
+?Advise@CRowsetConnectionPoint@@UAGJPAUIUnknown@@PAK@Z
+; protected: void __thiscall CWString::AllocBuffer(int)
+?AllocBuffer@CWString@@IAEXH@Z
+; protected: void __thiscall CWString::AllocCopy(class CWString &,int,int,int)const 
+?AllocCopy@CWString@@IBEXAAV1@HHH@Z
+; public: unsigned char * __stdcall CExtBuffer::AllocItems(unsigned long)
+?AllocItems@CExtBuffer@@QAGPAEK@Z
+; public: long __stdcall CBitArray::ArrayEmpty(void)
+?ArrayEmpty@CBitArray@@QAGJXZ
+; protected: void __thiscall CWString::AssignCopy(int,unsigned short const *)
+?AssignCopy@CWString@@IAEXHPBG@Z
+; private: unsigned long __thiscall CUtlPropInfo::CalcDescripBuffers(unsigned long,struct tagDBPROPINFOSET *)
+?CalcDescripBuffers@CUtlPropInfo@@AAEKKPAUtagDBPROPINFOSET@@@Z
+; public: static unsigned long __stdcall CHashTbl::CbHashTblSize(unsigned long)
+?CbHashTblSize@CHashTbl@@SGKK@Z
+; public: void __thiscall CWString::ClearError(void)
+?ClearError@CWString@@QAEXXZ
+; private: void __thiscall CUtlProps2::ClearMemberVars(void)
+?ClearMemberVars@CUtlProps2@@AAEXXZ
+; public: void __thiscall CUtlProps2::ClearPropSupported(unsigned long,unsigned long)
+?ClearPropSupported@CUtlProps2@@QAEXKK@Z
+; public: void __thiscall CUtlProps2::ClearPropertyInError(void)
+?ClearPropertyInError@CUtlProps2@@QAEXXZ
+; public: void __thiscall CUtlProps2::ClearPropsSupported(void)
+?ClearPropsSupported@CUtlProps2@@QAEXXZ
+; public: virtual long __stdcall CEnumConnectionPoints::Clone(struct IEnumConnectionPoints * *)
+?Clone@CEnumConnectionPoints@@UAGJPAPAUIEnumConnectionPoints@@@Z
+; public: virtual long __stdcall CEnumConnections::Clone(struct IEnumConnections * *)
+?Clone@CEnumConnections@@UAGJPAPAUIEnumConnections@@@Z
+; public: void __stdcall CExtBuffer::CompactExtBuffer(void)
+?CompactExtBuffer@CExtBuffer@@QAGXXZ
+; public: int __thiscall CWString::Compare(unsigned short const *)const 
+?Compare@CWString@@QBEHPBG@Z
+; long __cdecl CompareDBIDs(struct tagDBID const *,struct tagDBID const *)
+?CompareDBIDs@@YAJPBUtagDBID@@0@Z
+; public: virtual int __stdcall CHeapDispenser::CompareResource(void *,void *)
+?CompareResource@CHeapDispenser@@UAGHPAX0@Z
+; protected: void __thiscall CWString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
+?ConcatCopy@CWString@@IAEXHPBGH0@Z
+; public: void __thiscall CWString::ConcatInPlace(int,unsigned short const *)
+?ConcatInPlace@CWString@@QAEXHPBG@Z
+; public: virtual int __thiscall CUtlProps2::ConflictsWithCurrent(unsigned long,unsigned long,struct tagVARIANT const &)
+?ConflictsWithCurrent@CUtlProps2@@UAEHKKABUtagVARIANT@@@Z
+; public: long __thiscall CUtlProps2::ConvertRowsetIIDtoDBPROPSET(struct _GUID const *,struct tagDBPROPSET *)
+?ConvertRowsetIIDtoDBPROPSET@CUtlProps2@@QAEJPBU_GUID@@PAUtagDBPROPSET@@@Z
+; public: void __thiscall CUtlProps2::CopyAvailUPropSets(unsigned long *,struct tagUPROPSET const * *,unsigned long *)
+?CopyAvailUPropSets@CUtlProps2@@QAEXPAKPAPBUtagUPROPSET@@0@Z
+; long __cdecl CopyDBIDs(struct tagDBID *,struct tagDBID const *)
+?CopyDBIDs@@YAJPAUtagDBID@@PBU1@@Z
+; public: void __thiscall CUtlProps2::CopyPropsInError(unsigned long *)
+?CopyPropsInError@CUtlProps2@@QAEXPAK@Z
+; public: void __thiscall CUtlProps2::CopyPropsInError(class CUtlProps2 *)
+?CopyPropsInError@CUtlProps2@@QAEXPAV1@@Z
+; public: void __thiscall CUtlProps2::CopyUPropInfo(unsigned long,struct tagUPROPINFO * *)
+?CopyUPropInfo@CUtlProps2@@QAEXKPAPAUtagUPROPINFO@@@Z
+; public: void __thiscall CUtlProps2::CopyUPropSetsSupported(unsigned long *)
+?CopyUPropSetsSupported@CUtlProps2@@QAEXPAK@Z
+; public: long __thiscall CUtlProps2::CopyUPropVal(unsigned long,struct tagUPROPVAL *,class CColumnIds *)
+?CopyUPropVal@CUtlProps2@@QAEJKPAUtagUPROPVAL@@PAVCColumnIds@@@Z
+; public: virtual unsigned long __stdcall CSlotListLong::CountOfBusySlots(void)
+?CountOfBusySlots@CSlotListLong@@UAGKXZ
+; public: virtual unsigned long __stdcall CSlotListShort::CountOfBusySlots(void)
+?CountOfBusySlots@CSlotListShort@@UAGKXZ
+; public: virtual long __stdcall CHeapDispenser::CreateResource(void *,unsigned long,void *,void * *,int *)
+?CreateResource@CHeapDispenser@@UAGJPAXK0PAPAXPAH@Z
+; public: long __stdcall CExtBuffer::DWORDIntoExtBuffer(unsigned long)
+?DWORDIntoExtBuffer@CExtBuffer@@QAGJK@Z
+; private: void __stdcall CSlotListShort::DecoupleSlot(struct tagSLOT *)
+?DecoupleSlot@CSlotListShort@@AAGXPAUtagSLOT@@@Z
+; public: virtual long __stdcall CHashTbl::DeleteBmk(unsigned long)
+?DeleteBmk@CHashTbl@@UAGJK@Z
+; public: virtual long __stdcall CHashTblAggr::DeleteBmk(unsigned long)
+?DeleteBmk@CHashTblAggr@@UAGJK@Z
+; public: void __stdcall CExtBuffer::DeleteFromExtBuffer(unsigned long)
+?DeleteFromExtBuffer@CExtBuffer@@QAGXK@Z
+; public: void __stdcall CExtBuffer::DeleteWithCompactFromExtBuffer(unsigned long)
+?DeleteWithCompactFromExtBuffer@CExtBuffer@@QAGXK@Z
+; public: virtual long __stdcall CHeapDispenser::DestroyResource(void *)
+?DestroyResource@CHeapDispenser@@UAGJPAX@Z
+; public: long __thiscall CRowsetConnectionPointContainer::DoFcNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset *,unsigned long,unsigned long,unsigned long * const)
+?DoFcNotify@CRowsetConnectionPointContainer@@QAEJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PAUIRowset@@KKQAK@Z
+; public: long __thiscall CRowsetConnectionPoint::DoNotify(enum DBREASONENUM,enum DBEVENTPHASEENUM,enum ENOTIFICATIONTYPE,struct IRowset *,union tagNOTIFYARGS *)
+?DoNotify@CRowsetConnectionPoint@@QAEJW4DBREASONENUM@@W4DBEVENTPHASEENUM@@W4ENOTIFICATIONTYPE@@PAUIRowset@@PATtagNOTIFYARGS@@@Z
+; public: long __thiscall CRowsetConnectionPointContainer::DoRcNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset *,unsigned long,unsigned long * const)
+?DoRcNotify@CRowsetConnectionPointContainer@@QAEJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PAUIRowset@@KQAK@Z
+; public: long __thiscall CRowsetConnectionPointContainer::DoRscNotify(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM,struct IRowset *)
+?DoRscNotify@CRowsetConnectionPointContainer@@QAEJKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@PAUIRowset@@@Z
+; unsigned long __cdecl DwGetPlatformId(void)
+?DwGetPlatformId@@YAKXZ
+; public: class CWString  __thiscall CWString::ElementAt(unsigned short * const,int)const 
+?ElementAt@CWString@@QBE?AV1@QAGH@Z
+; public: void __thiscall CWString::Empty(void)
+?Empty@CWString@@QAEXXZ
+; public: virtual long __stdcall CRowsetConnectionPointContainer::EnumConnectionPoints(struct IEnumConnectionPoints * *)
+?EnumConnectionPoints@CRowsetConnectionPointContainer@@UAGJPAPAUIEnumConnectionPoints@@@Z
+; public: virtual long __stdcall CRowsetConnectionPoint::EnumConnections(struct IEnumConnections * *)
+?EnumConnections@CRowsetConnectionPoint@@UAGJPAPAUIEnumConnections@@@Z
+; protected: long __thiscall CBaseObj::FInit(void)
+?FInit@CBaseObj@@IAEJXZ
+; public: long __stdcall CBitArray::FInit(unsigned long)
+?FInit@CBitArray@@QAGJK@Z
+; public: int __thiscall CExtBuffer::FInit(unsigned long,unsigned long)
+?FInit@CExtBuffer@@QAEHKK@Z
+; public: int __thiscall CExtBuffer::FInit(unsigned long,void *,unsigned long,unsigned long)
+?FInit@CExtBuffer@@QAEHKPAXKK@Z
+; public: int __thiscall CExtBuffer::FInit(class CExtBuffer *)
+?FInit@CExtBuffer@@QAEHPAV1@@Z
+; public: int __thiscall CHashTbl::FInit(unsigned short,class CSlotListShort *,class IBookmarkObj *)
+?FInit@CHashTbl@@QAEHGPAVCSlotListShort@@PAVIBookmarkObj@@@Z
+; public: int __thiscall CHashTblAggr::FInit(class CHashTbl *)
+?FInit@CHashTblAggr@@QAEHPAVCHashTbl@@@Z
+; public: virtual int __thiscall CSlotListLong::FInit(unsigned long,class ISlotList * *,class IHashTbl * *,unsigned long)
+?FInit@CSlotListLong@@UAEHKPAPAVISlotList@@PAPAVIHashTbl@@K@Z
+; public: virtual int __thiscall CSlotListShort::FInit(unsigned long,class ISlotList * *,class IHashTbl * *,unsigned long)
+?FInit@CSlotListShort@@UAEHKPAPAVISlotList@@PAPAVIHashTbl@@K@Z
+; public: long __thiscall CUtlPropInfo::FInit(void)
+?FInit@CUtlPropInfo@@QAEJXZ
+; public: virtual long __thiscall CUtlProps2::FInit(class CUtlProps2 *)
+?FInit@CUtlProps2@@UAEJPAV1@@Z
+; public: virtual long __thiscall CUtlPropsFastLookup2::FInit(class CUtlPropsFastLookup2 *)
+?FInit@CUtlPropsFastLookup2@@UAEJPAV1@@Z
+; public: int __thiscall CVLHeap::FInit(unsigned long)
+?FInit@CVLHeap@@QAEHK@Z
+; public: void __thiscall CGenericPooler::FInitializeGPStructures(void)
+?FInitializeGPStructures@CGenericPooler@@QAEXXZ
+; public: int __thiscall CUtlProps2::FIsDefaultValue(unsigned long,unsigned long,struct tagVARIANT *)
+?FIsDefaultValue@CUtlProps2@@QAEHKKPAUtagVARIANT@@@Z
+; public: virtual int __thiscall CUtlProps2::FIsValidColId(struct tagDBPROP *)
+?FIsValidColId@CUtlProps2@@UAEHPAUtagDBPROP@@@Z
+; public: long __thiscall CUtlProps2::FillDefaultValues(unsigned long)
+?FillDefaultValues@CUtlProps2@@QAEJK@Z
+; public: virtual long __stdcall CRowsetConnectionPointContainer::FindConnectionPoint(struct _GUID const &,struct IConnectionPoint * *)
+?FindConnectionPoint@CRowsetConnectionPointContainer@@UAGJABU_GUID@@PAPAUIConnectionPoint@@@Z
+; public: void __thiscall CConnectData::ForgetEvent(enum DBREASONENUM,enum DBEVENTPHASEENUM)
+?ForgetEvent@CConnectData@@QAEXW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; private: void __thiscall CRowsetConnectionPoint::ForgetEvent(enum DBREASONENUM,enum DBEVENTPHASEENUM)
+?ForgetEvent@CRowsetConnectionPoint@@AAEXW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; public: void __thiscall CConnectData::ForgetReason(enum DBREASONENUM)
+?ForgetReason@CConnectData@@QAEXW4DBREASONENUM@@@Z
+; public: int __thiscall CWString::FoundError(void)const 
+?FoundError@CWString@@QBEHXZ
+; public: void __thiscall CExtBuffer::Free(void)
+?Free@CExtBuffer@@QAEXXZ
+; void __cdecl FreeDBIDs(struct tagDBID *)
+?FreeDBIDs@@YAXPAUtagDBID@@@Z
+; public: void __thiscall CWString::FreeExtra(void)
+?FreeExtra@CWString@@QAEXXZ
+; private: void __thiscall CUtlProps2::FreeMemory(void)
+?FreeMemory@CUtlProps2@@AAEXXZ
+; public: int __thiscall CWString::GetAllocLength(void)const 
+?GetAllocLength@CWString@@QBEHXZ
+; public: enum EBaseObjectType  __thiscall CBaseObj::GetBaseObjectType(void)
+?GetBaseObjectType@CBaseObj@@QAE?AW4EBaseObjectType@@XZ
+; public: unsigned short * __thiscall CBaseObj::GetBaseObjectTypeName(void)
+?GetBaseObjectTypeName@CBaseObj@@QAEPAGXZ
+; public: void __thiscall CBaseObjZombie::GetBokoTimestamp(void)
+?GetBokoTimestamp@CBaseObjZombie@@QAEXXZ
+; public: unsigned short * __thiscall CWString::GetBuffer(int)
+?GetBuffer@CWString@@QAEPAGH@Z
+; public: unsigned short * __thiscall CWString::GetBufferSetLength(int)
+?GetBufferSetLength@CWString@@QAEPAGH@Z
+; public: struct tagCONNECTDATA * __thiscall CConnectData::GetCd(void)
+?GetCd@CConnectData@@QAEPAUtagCONNECTDATA@@XZ
+; public: virtual long __stdcall CRowsetConnectionPoint::GetConnectionInterface(struct _GUID *)
+?GetConnectionInterface@CRowsetConnectionPoint@@UAGJPAU_GUID@@@Z
+; public: virtual long __stdcall CRowsetConnectionPoint::GetConnectionPointContainer(struct IConnectionPointContainer * *)
+?GetConnectionPointContainer@CRowsetConnectionPoint@@UAGJPAPAUIConnectionPointContainer@@@Z
+; private: unsigned long __thiscall CUtlProps2::GetCountofColids(struct tagUPROP *)
+?GetCountofColids@CUtlProps2@@AAEKPAUtagUPROP@@@Z
+; private: unsigned long __thiscall CUtlProps2::GetCountofWritablePropsInPropSet(unsigned long)
+?GetCountofWritablePropsInPropSet@CUtlProps2@@AAEKK@Z
+; public: class CCriticalSection * * __thiscall CBaseObj::GetCriticalSection(void)
+?GetCriticalSection@CBaseObj@@QAEPAPAVCCriticalSection@@XZ
+; public: unsigned long __stdcall CExtBuffer::GetDWORDOfExtBuffer(unsigned long)
+?GetDWORDOfExtBuffer@CExtBuffer@@QAGKK@Z
+; public: unsigned short __thiscall CUtlProps2::GetExpectedVarType(unsigned long,unsigned long)
+?GetExpectedVarType@CUtlProps2@@QAEGKK@Z
+; public: struct _GUID const * __thiscall CUtlProps2::GetGuid(unsigned long)
+?GetGuid@CUtlProps2@@QAEPBU_GUID@@K@Z
+; public: class CHeapDispenser * __thiscall CGenericPooler::GetHeapDispenser(void)
+?GetHeapDispenser@CGenericPooler@@QAEPAVCHeapDispenser@@XZ
+; public: struct IGPHolder * __thiscall CGenericPooler::GetHeapHolder(void)
+?GetHeapHolder@CGenericPooler@@QAEPAUIGPHolder@@XZ
+; public: virtual long __thiscall CUtlProps2::GetIndexofPropIdinPropSet(unsigned long,unsigned long,unsigned long *)
+?GetIndexofPropIdinPropSet@CUtlProps2@@UAEJKKPAK@Z
+; protected: virtual long __thiscall CUtlPropsFastLookup2::GetIndexofPropIdinPropSet(unsigned long,unsigned long,unsigned long *)
+?GetIndexofPropIdinPropSet@CUtlPropsFastLookup2@@MAEJKKPAK@Z
+; public: virtual long __thiscall CUtlProps2::GetIndexofPropSet(struct _GUID const *,unsigned long *)
+?GetIndexofPropSet@CUtlProps2@@UAEJPBU_GUID@@PAK@Z
+; public: unsigned long __thiscall CUtlProps2::GetInternalFlags(unsigned long,unsigned long)
+?GetInternalFlags@CUtlProps2@@QAEKKK@Z
+; public: unsigned long __thiscall CUtlProps2::GetInternalStatus(unsigned long,unsigned long)
+?GetInternalStatus@CUtlProps2@@QAEKKK@Z
+; public: unsigned long __stdcall CExtBuffer::GetItemCount(void)const 
+?GetItemCount@CExtBuffer@@QBGKXZ
+; public: unsigned long __stdcall CExtBuffer::GetItemMax(void)const 
+?GetItemMax@CExtBuffer@@QBGKXZ
+; public: void __stdcall CExtBuffer::GetItemOfExtBuffer(unsigned long,void *)
+?GetItemOfExtBuffer@CExtBuffer@@QAGXKPAX@Z
+; public: unsigned long __stdcall CExtBuffer::GetItemSize(void)const 
+?GetItemSize@CExtBuffer@@QBGKXZ
+; public: void __stdcall CExtBuffer::GetLastItemHandle(unsigned long &)
+?GetLastItemHandle@CExtBuffer@@QAGXAAK@Z
+; public: int __thiscall CWString::GetLength(void)const 
+?GetLength@CWString@@QBEHXZ
+; public: unsigned short * __thiscall CExtBuffer::GetNameFromOffset(unsigned long)
+?GetNameFromOffset@CExtBuffer@@QAEPAGK@Z
+; public: virtual long __stdcall CSlotListLong::GetNextSlots(unsigned long,unsigned long,unsigned long *)
+?GetNextSlots@CSlotListLong@@UAGJKKPAK@Z
+; public: virtual long __stdcall CSlotListShort::GetNextSlots(unsigned long,unsigned long,unsigned long *)
+?GetNextSlots@CSlotListShort@@UAGJKKPAK@Z
+; private: void * __thiscall CEnum::GetNthElement(unsigned long)
+?GetNthElement@CEnum@@AAEPAXK@Z
+; private: struct IUnknown * __thiscall CEnum::GetNthUnknown(unsigned long)
+?GetNthUnknown@CEnum@@AAEPAUIUnknown@@K@Z
+; public: struct IUnknown * __thiscall CBaseObj::GetOuterUnknown(void)
+?GetOuterUnknown@CBaseObj@@QAEPAUIUnknown@@XZ
+; public: unsigned long __thiscall CUtlProps2::GetPropID(unsigned long,unsigned long)
+?GetPropID@CUtlProps2@@QAEKKK@Z
+; public: unsigned long __thiscall CUtlProps2::GetPropOption(unsigned long,unsigned long)
+?GetPropOption@CUtlProps2@@QAEKKK@Z
+; public: unsigned long __thiscall CUtlProps2::GetPropStatus(struct tagUPROPVAL *)
+?GetPropStatus@CUtlProps2@@QAEKPAUtagUPROPVAL@@@Z
+; public: long __thiscall CUtlProps2::GetPropValue(struct _GUID const *,unsigned long,struct tagVARIANT *)
+?GetPropValue@CUtlProps2@@QAEJPBU_GUID@@KPAUtagVARIANT@@@Z
+; public: long __thiscall CUtlProps2::GetProperties(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPSET * *)
+?GetProperties@CUtlProps2@@QAEJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPSET@@@Z
+; public: long __thiscall CUtlProps2::GetProperties(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPSET * *,struct _GUID const *)
+?GetProperties@CUtlProps2@@QAEJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPSET@@PBU_GUID@@@Z
+; public: long __thiscall CUtlProps2::GetPropertiesArgChk(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPSET * *)
+?GetPropertiesArgChk@CUtlProps2@@QAEJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPSET@@@Z
+; public: long __thiscall CUtlPropInfo::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPINFOSET * *,unsigned short * *)
+?GetPropertyInfo@CUtlPropInfo@@QAEJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPINFOSET@@PAPAG@Z
+; private: long __thiscall CUtlPropInfo::GetPropertySetIndex(struct _GUID const *)
+?GetPropertySetIndex@CUtlPropInfo@@AAEJPBU_GUID@@@Z
+; public: unsigned long * __thiscall CUtlProps2::GetPropsInErrorPtr(void)
+?GetPropsInErrorPtr@CUtlProps2@@QAEPAKXZ
+; public: void * __stdcall CExtBuffer::GetPtrOfExtBuffer(unsigned long)
+?GetPtrOfExtBuffer@CExtBuffer@@QAGPAXK@Z
+; public: void * __stdcall CExtBuffer::GetPtrOfExtBuffer(void)
+?GetPtrOfExtBuffer@CExtBuffer@@QAGPAXXZ
+; public: long __thiscall CGenericPooler::GetResource(void * *,struct IGPHolder *,struct IGPDispenser *,void * *,void *)
+?GetResource@CGenericPooler@@QAEJPAPAXPAUIGPHolder@@PAUIGPDispenser@@0PAX@Z
+; public: virtual struct tagRowBuff * __fastcall CSlotListLong::GetRowBuff(unsigned long)
+?GetRowBuff@CSlotListLong@@UAIPAUtagRowBuff@@K@Z
+; public: virtual struct tagRowBuff * __fastcall CSlotListShort::GetRowBuff(unsigned long)
+?GetRowBuff@CSlotListShort@@UAIPAUtagRowBuff@@K@Z
+; public: unsigned long __thiscall CUtlProps2::GetStatus(unsigned long,unsigned long)
+?GetStatus@CUtlProps2@@QAEKKK@Z
+; public: void __thiscall CBaseObjBoko::GetTimestamp(unsigned long *)
+?GetTimestamp@CBaseObjBoko@@QAEXPAK@Z
+; private: long __thiscall CUtlPropInfo::GetUPropInfoPtr(unsigned long,unsigned long,struct tagUPROPINFO * *)
+?GetUPropInfoPtr@CUtlPropInfo@@AAEJKKPAPAUtagUPROPINFO@@@Z
+; protected: unsigned long __thiscall CUtlPropInfo::GetUPropSetCount(void)
+?GetUPropSetCount@CUtlPropInfo@@IAEKXZ
+; public: unsigned long __thiscall CUtlProps2::GetUPropSetCount(void)
+?GetUPropSetCount@CUtlProps2@@QAEKXZ
+; protected: virtual unsigned long __thiscall CUtlProps2::GetUPropValIndex(unsigned long,unsigned long)
+?GetUPropValIndex@CUtlProps2@@MAEKKK@Z
+; protected: virtual unsigned long __thiscall CUtlPropsFastLookup2::GetUPropValIndex(unsigned long,unsigned long)
+?GetUPropValIndex@CUtlPropsFastLookup2@@MAEKKK@Z
+; public: short __thiscall CUtlProps2::GetValBool(unsigned long,unsigned long)const 
+?GetValBool@CUtlProps2@@QBEFKK@Z
+; public: long __thiscall CUtlProps2::GetValLong(unsigned long,unsigned long)const 
+?GetValLong@CUtlProps2@@QBEJKK@Z
+; public: short __thiscall CUtlProps2::GetValShort(unsigned long,unsigned long)const 
+?GetValShort@CUtlProps2@@QBEFKK@Z
+; public: unsigned short const * __thiscall CUtlProps2::GetValString(unsigned long,unsigned long)
+?GetValString@CUtlProps2@@QAEPBGKK@Z
+; public: struct tagVARIANT * __thiscall CUtlProps2::GetVariant(unsigned long,unsigned long)
+?GetVariant@CUtlProps2@@QAEPAUtagVARIANT@@KK@Z
+; public: virtual int __stdcall CHeapDispenser::HashKey(void *,unsigned long,int *)
+?HashKey@CHeapDispenser@@UAGHPAXKPAH@Z
+; public: long __thiscall CRowsetConnectionPointContainer::Init(void)
+?Init@CRowsetConnectionPointContainer@@QAEJXZ
+; protected: void __thiscall CWString::Init(void)
+?Init@CWString@@IAEXXZ
+; public: virtual long __stdcall CHashTbl::InsertFindBmk(int,unsigned long,unsigned long,unsigned char *,unsigned long *)
+?InsertFindBmk@CHashTbl@@UAGJHKKPAEPAK@Z
+; public: virtual long __stdcall CHashTblAggr::InsertFindBmk(int,unsigned long,unsigned long,unsigned char *,unsigned long *)
+?InsertFindBmk@CHashTblAggr@@UAGJHKKPAEPAK@Z
+; public: long __stdcall CExtBuffer::InsertIntoExtBuffer(void *,unsigned long &)
+?InsertIntoExtBuffer@CExtBuffer@@QAGJPAXAAK@Z
+; public: int __thiscall CUtlProps2::IsEmpty(unsigned long,unsigned long)
+?IsEmpty@CUtlProps2@@QAEHKK@Z
+; public: int __thiscall CWString::IsEmpty(void)const 
+?IsEmpty@CWString@@QBEHXZ
+; public: int __thiscall CUtlProps2::IsPropSet(struct _GUID const *,unsigned long)
+?IsPropSet@CUtlProps2@@QAEHPBU_GUID@@K@Z
+; public: int __thiscall CUtlProps2::IsRequiredFalse(unsigned long,unsigned long)
+?IsRequiredFalse@CUtlProps2@@QAEHKK@Z
+; public: int __thiscall CUtlProps2::IsRequiredTrue(unsigned long,unsigned long)
+?IsRequiredTrue@CUtlProps2@@QAEHKK@Z
+; public: int __thiscall CUtlProps2::IsSetIfCan(unsigned long,unsigned long)
+?IsSetIfCan@CUtlProps2@@QAEHKK@Z
+; public: long __stdcall CBitArray::IsSlotSet(unsigned long)
+?IsSlotSet@CBitArray@@QAGJK@Z
+; public: int __thiscall CUtlProps2::IsTrue(unsigned long,unsigned long)
+?IsTrue@CUtlProps2@@QAEHKK@Z
+; public: int __stdcall CVLHeap::IsVLAlloc(void *)
+?IsVLAlloc@CVLHeap@@QAGHPAX@Z
+; public: virtual long __stdcall CSlotListLong::IsValidSlot(unsigned long)
+?IsValidSlot@CSlotListLong@@UAGJK@Z
+; public: virtual long __stdcall CSlotListShort::IsValidSlot(unsigned long)
+?IsValidSlot@CSlotListShort@@UAGJK@Z
+; public: int __thiscall CBaseObjBoko::IsZombie(unsigned long)
+?IsZombie@CBaseObjBoko@@QAEHK@Z
+; public: int __thiscall CBaseObjZombie::IsZombie(void)
+?IsZombie@CBaseObjZombie@@QAEHXZ
+; unsigned long __cdecl LoadRCData(void *,unsigned int,unsigned short *,unsigned long)
+?LoadRCData@@YAKPAXIPAGK@Z
+; long __cdecl LoadResourceDLL(unsigned short *,unsigned short *,void *,void * *)
+?LoadResourceDLL@@YAJPAG0PAXPAPAX@Z
+; public: int __thiscall CWString::LoadStringW(void *,unsigned int)
+?LoadStringW@CWString@@QAEHPAXI@Z
+; public: virtual long __stdcall CClassFactory::LockServer(int)
+?LockServer@CClassFactory@@UAGJH@Z
+; public: void __thiscall CBaseObjBoko::MakeZombies(void)
+?MakeZombies@CBaseObjBoko@@QAEXXZ
+; public: class CWString  __thiscall CWString::Mid(int)const 
+?Mid@CWString@@QBE?AV1@H@Z
+; public: class CWString  __thiscall CWString::Mid(int,int)const 
+?Mid@CWString@@QBE?AV1@HH@Z
+; public: long __stdcall CEnum::Next(unsigned long,void * *,unsigned long *)
+?Next@CEnum@@QAGJKPAPAXPAK@Z
+; public: virtual long __stdcall CEnumConnectionPoints::Next(unsigned long,struct IConnectionPoint * *,unsigned long *)
+?Next@CEnumConnectionPoints@@UAGJKPAPAUIConnectionPoint@@PAK@Z
+; public: virtual long __stdcall CEnumConnections::Next(unsigned long,struct tagCONNECTDATA *,unsigned long *)
+?Next@CEnumConnections@@UAGJKPAUtagCONNECTDATA@@PAK@Z
+; public: virtual long __stdcall CSlotListLong::NextBusySlot(unsigned long *)
+?NextBusySlot@CSlotListLong@@UAGJPAK@Z
+; public: virtual long __stdcall CSlotListShort::NextBusySlot(unsigned long *)
+?NextBusySlot@CSlotListShort@@UAGJPAK@Z
+; public: virtual long __stdcall CSlotListLong::NoBusySlots(void)
+?NoBusySlots@CSlotListLong@@UAGJXZ
+; public: virtual long __stdcall CSlotListShort::NoBusySlots(void)
+?NoBusySlots@CSlotListShort@@UAGJXZ
+; public: unsigned long __thiscall CWString::NumElements(unsigned short * const)const 
+?NumElements@CWString@@QBEKQAG@Z
+; int __cdecl OLEDBGetCharTypeW(unsigned long,unsigned short,unsigned short *)
+?OLEDBGetCharTypeW@@YAHKGPAG@Z
+; public: short __thiscall CUtlProps2::OkToPersistSensitiveAuthInfo(void)
+?OkToPersistSensitiveAuthInfo@CUtlProps2@@QAEFXZ
+; int __cdecl OnUnicodeSystem(void)
+?OnUnicodeSystem@@YAHXZ
+; public: virtual long __stdcall CClassFactory::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CClassFactory@@UAGJABU_GUID@@PAPAX@Z
+; public: long __stdcall CEnum::QueryInterface(struct _GUID const &,void * *,struct IUnknown *)
+?QueryInterface@CEnum@@QAGJABU_GUID@@PAPAXPAUIUnknown@@@Z
+; public: virtual long __stdcall CEnumConnectionPoints::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CEnumConnectionPoints@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CEnumConnections::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CEnumConnections@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CHeapDispenser::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CHeapDispenser@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CRowsetConnectionPoint::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CRowsetConnectionPoint@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CRowsetConnectionPointContainer::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CRowsetConnectionPointContainer@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CHeapDispenser::RateRes(void *,unsigned long,void *,int *)
+?RateRes@CHeapDispenser@@UAGJPAXK0PAH@Z
+; public: virtual void __stdcall CSlotListLong::RecordInternalUse(void)
+?RecordInternalUse@CSlotListLong@@UAGXXZ
+; public: virtual void __stdcall CSlotListShort::RecordInternalUse(void)
+?RecordInternalUse@CSlotListShort@@UAGXXZ
+; long __cdecl RegisterServer(void * const,void * const,unsigned long,struct tagREGENTRIES const * const)
+?RegisterServer@@YAJQAX0KQBUtagREGENTRIES@@@Z
+; public: virtual unsigned long __stdcall CClassFactory::Release(void)
+?Release@CClassFactory@@UAGKXZ
+; public: unsigned long __stdcall CEnum::Release(void)
+?Release@CEnum@@QAGKXZ
+; public: virtual unsigned long __stdcall CEnumConnectionPoints::Release(void)
+?Release@CEnumConnectionPoints@@UAGKXZ
+; public: virtual unsigned long __stdcall CEnumConnections::Release(void)
+?Release@CEnumConnections@@UAGKXZ
+; public: virtual unsigned long __stdcall CHeapDispenser::Release(void)
+?Release@CHeapDispenser@@UAGKXZ
+; public: virtual unsigned long __stdcall CRowsetConnectionPoint::Release(void)
+?Release@CRowsetConnectionPoint@@UAGKXZ
+; public: virtual unsigned long __stdcall CRowsetConnectionPointContainer::Release(void)
+?Release@CRowsetConnectionPointContainer@@UAGKXZ
+; public: void __thiscall CWString::ReleaseBuffer(int)
+?ReleaseBuffer@CWString@@QAEXH@Z
+; public: void __thiscall CGenericPooler::ReleaseHolders(void)
+?ReleaseHolders@CGenericPooler@@QAEXXZ
+; public: void __thiscall CGenericPooler::ReleaseResource(void *,struct IGPHolder *,struct IGPDispenser *,void *)
+?ReleaseResource@CGenericPooler@@QAEXPAXPAUIGPHolder@@PAUIGPDispenser@@0@Z
+; public: virtual unsigned long __stdcall CSlotListLong::ReleaseSlots(unsigned long,unsigned long)
+?ReleaseSlots@CSlotListLong@@UAGKKK@Z
+; public: virtual unsigned long __stdcall CSlotListShort::ReleaseSlots(unsigned long,unsigned long)
+?ReleaseSlots@CSlotListShort@@UAGKKK@Z
+; public: void __thiscall CUtlProps2::RemoveInternalFlags(unsigned long,unsigned long,unsigned long)
+?RemoveInternalFlags@CUtlProps2@@QAEXKKK@Z
+; public: void __thiscall CWString::ReplaceAt(int,int,unsigned short const *,int)
+?ReplaceAt@CWString@@QAEXHHPBGH@Z
+; public: long __stdcall CExtBuffer::ReplaceInExtBuffer(unsigned long,unsigned long,void const *,unsigned long)
+?ReplaceInExtBuffer@CExtBuffer@@QAGJKKPBXK@Z
+; public: int __thiscall CConnectData::Reset(void)
+?Reset@CConnectData@@QAEHXZ
+; public: long __stdcall CEnum::Reset(void)
+?Reset@CEnum@@QAGJXZ
+; public: virtual long __stdcall CEnumConnectionPoints::Reset(void)
+?Reset@CEnumConnectionPoints@@UAGJXZ
+; public: virtual long __stdcall CEnumConnections::Reset(void)
+?Reset@CEnumConnections@@UAGJXZ
+; public: void __stdcall CBitArray::ResetAllSlots(void)
+?ResetAllSlots@CBitArray@@QAGXXZ
+; public: virtual void __stdcall CSlotListLong::ResetBusySlotIteration(void)
+?ResetBusySlotIteration@CSlotListLong@@UAGXXZ
+; public: virtual void __stdcall CSlotListShort::ResetBusySlotIteration(void)
+?ResetBusySlotIteration@CSlotListShort@@UAGXXZ
+; public: virtual long __stdcall CHeapDispenser::ResetResource(void *)
+?ResetResource@CHeapDispenser@@UAGJPAX@Z
+; public: void __stdcall CBitArray::ResetSlot(unsigned long)
+?ResetSlot@CBitArray@@QAGXK@Z
+; public: void __stdcall CBitArray::ResetSlots(unsigned long,unsigned long)
+?ResetSlots@CBitArray@@QAGXKK@Z
+; public: void __thiscall CUtlProps2::RestoreInternalFlags(unsigned long,unsigned long)
+?RestoreInternalFlags@CUtlProps2@@QAEXKK@Z
+; public: void __thiscall CUtlProps2::RestoreInternalStatus(unsigned long,unsigned long)
+?RestoreInternalStatus@CUtlProps2@@QAEXKK@Z
+; private: void __thiscall CUtlProps2::RetrieveColumnIdProps(struct tagDBPROP *,struct tagUPROPVAL *,unsigned long *)
+?RetrieveColumnIdProps@CUtlProps2@@AAEXPAUtagDBPROP@@PAUtagUPROPVAL@@PAK@Z
+; public: virtual unsigned long __stdcall CSlotListLong::SLSlotCapacity(void)
+?SLSlotCapacity@CSlotListLong@@UAGKXZ
+; public: virtual unsigned long __stdcall CSlotListShort::SLSlotCapacity(void)
+?SLSlotCapacity@CSlotListShort@@UAGKXZ
+; protected: static void __cdecl CWString::SafeDelete(unsigned short *)
+?SafeDelete@CWString@@KAXPAG@Z
+; protected: static int __cdecl CWString::SafeStrlen(unsigned short const *)
+?SafeStrlen@CWString@@KAHPBG@Z
+; public: void __thiscall CUtlProps2::SaveInternalFlags(unsigned long,unsigned long)
+?SaveInternalFlags@CUtlProps2@@QAEXKK@Z
+; public: void __thiscall CUtlProps2::SaveInternalStatus(unsigned long,unsigned long)
+?SaveInternalStatus@CUtlProps2@@QAEXKK@Z
+; public: void __thiscall CWString::SetAt(int,unsigned short)
+?SetAt@CWString@@QAEXHG@Z
+; public: void __thiscall CBaseObjZombie::SetBoko(class CBaseObjBoko *)
+?SetBoko@CBaseObjZombie@@QAEXPAVCBaseObjBoko@@@Z
+; public: virtual long __thiscall CUtlProps2::SetCombinedPassThrough(struct tagDBPROPSET const *,unsigned long)
+?SetCombinedPassThrough@CUtlProps2@@UAEJPBUtagDBPROPSET@@K@Z
+; public: void __thiscall CWString::SetError(void)
+?SetError@CWString@@QAEXXZ
+; public: void __thiscall CUtlProps2::SetInternalStatus(unsigned long,unsigned long,unsigned long)
+?SetInternalStatus@CUtlProps2@@QAEXKKK@Z
+; public: void __stdcall CExtBuffer::SetItemCount(unsigned long)
+?SetItemCount@CExtBuffer@@QAGXK@Z
+; public: virtual long __thiscall CUtlProps2::SetPassThrough(struct tagDBPROPSET const *)
+?SetPassThrough@CUtlProps2@@UAEJPBUtagDBPROPSET@@@Z
+; public: long __stdcall CEnum::SetPos(unsigned long)
+?SetPos@CEnum@@QAGJK@Z
+; public: long __stdcall CEnumConnectionPoints::SetPos(unsigned long)
+?SetPos@CEnumConnectionPoints@@QAGJK@Z
+; public: long __stdcall CEnumConnections::SetPos(unsigned long)
+?SetPos@CEnumConnections@@QAGJK@Z
+; public: void __thiscall CUtlProps2::SetPropOption(unsigned long,unsigned long,unsigned long)
+?SetPropOption@CUtlProps2@@QAEXKKK@Z
+; public: void __thiscall CUtlProps2::SetPropRequired(unsigned long,unsigned long,short)
+?SetPropRequired@CUtlProps2@@QAEXKKF@Z
+; public: void __thiscall CUtlProps2::SetPropSupported(unsigned long,unsigned long)
+?SetPropSupported@CUtlProps2@@QAEXKK@Z
+; public: long __thiscall CUtlProps2::SetPropValue(struct _GUID const *,unsigned long,struct tagVARIANT *)
+?SetPropValue@CUtlProps2@@QAEJPBU_GUID@@KPAUtagVARIANT@@@Z
+; public: long __thiscall CUtlProps2::SetProperties(unsigned long,struct tagDBPROPSET const * const,int)
+?SetProperties@CUtlProps2@@QAEJKQBUtagDBPROPSET@@H@Z
+; public: static long __cdecl CUtlProps2::SetPropertiesArgChk(unsigned long,struct tagDBPROPSET const * const)
+?SetPropertiesArgChk@CUtlProps2@@SAJKQBUtagDBPROPSET@@@Z
+; private: long __thiscall CUtlProps2::SetProperty(unsigned long,unsigned long,struct tagDBPROP *)
+?SetProperty@CUtlProps2@@AAEJKKPAUtagDBPROP@@@Z
+; public: void __thiscall CUtlProps2::SetPropertyInError(unsigned long,unsigned long)
+?SetPropertyInError@CUtlProps2@@QAEXKK@Z
+; public: void __thiscall CUtlProps2::SetPropertyStatus(unsigned long,struct tagDBPROPSET const * const)
+?SetPropertyStatus@CUtlProps2@@QAEXKQBUtagDBPROPSET@@@Z
+; private: void __thiscall CRowsetConnectionPoint::SetReasons(void)
+?SetReasons@CRowsetConnectionPoint@@AAEXXZ
+; public: long __stdcall CBitArray::SetSlot(unsigned long)
+?SetSlot@CBitArray@@QAGJK@Z
+; public: long __stdcall CBitArray::SetSlots(unsigned long,unsigned long)
+?SetSlots@CBitArray@@QAGJKK@Z
+; public: void __thiscall CUtlProps2::SetStatus(unsigned long,unsigned long,unsigned long)
+?SetStatus@CUtlProps2@@QAEXKKK@Z
+; protected: void __thiscall CUtlPropInfo::SetUPropSetCount(unsigned long)
+?SetUPropSetCount@CUtlPropInfo@@IAEXK@Z
+; public: void __thiscall CUtlProps2::SetUPropSetCount(unsigned long)
+?SetUPropSetCount@CUtlProps2@@QAEXK@Z
+; public: void __thiscall CUtlProps2::SetValBool(unsigned long,unsigned long,short)
+?SetValBool@CUtlProps2@@QAEXKKF@Z
+; public: void __thiscall CUtlProps2::SetValEmpty(unsigned long,unsigned long)
+?SetValEmpty@CUtlProps2@@QAEXKK@Z
+; public: void __thiscall CUtlProps2::SetValLong(unsigned long,unsigned long,long)
+?SetValLong@CUtlProps2@@QAEXKKJ@Z
+; public: void __thiscall CUtlProps2::SetValShort(unsigned long,unsigned long,short)
+?SetValShort@CUtlProps2@@QAEXKKF@Z
+; public: long __thiscall CUtlProps2::SetValString(unsigned long,unsigned long,unsigned short const *)
+?SetValString@CUtlProps2@@QAEJKKPBG@Z
+; public: long __thiscall CUtlProps2::SetVariant(unsigned long,unsigned long,struct tagVARIANT *)
+?SetVariant@CUtlProps2@@QAEJKKPAUtagVARIANT@@@Z
+; public: long __stdcall CEnum::Skip(unsigned long)
+?Skip@CEnum@@QAGJK@Z
+; public: virtual long __stdcall CEnumConnectionPoints::Skip(unsigned long)
+?Skip@CEnumConnectionPoints@@UAGJK@Z
+; public: virtual long __stdcall CEnumConnections::Skip(unsigned long)
+?Skip@CEnumConnections@@UAGJK@Z
+; public: void __thiscall CExtBuffer::Transfer(class CExtBuffer *)
+?Transfer@CExtBuffer@@QAEXPAV1@@Z
+; long __cdecl UnRegisterServer(void * const,unsigned long,struct tagREGENTRIES const * const)
+?UnRegisterServer@@YAJQAXKQBUtagREGENTRIES@@@Z
+; public: virtual long __stdcall CRowsetConnectionPoint::Unadvise(unsigned long)
+?Unadvise@CRowsetConnectionPoint@@UAGJK@Z
+; public: void * __stdcall CVLHeap::VLAlloc(unsigned long)
+?VLAlloc@CVLHeap@@QAGPAXK@Z
+; public: void __stdcall CVLHeap::VLFree(void *)
+?VLFree@CVLHeap@@QAGXPAX@Z
+; public: void * __stdcall CVLHeap::VLGrow(void *,unsigned long)
+?VLGrow@CVLHeap@@QAGPAXPAXK@Z
+; public: void * __stdcall CVLHeap::VLTrueRealloc(void *,unsigned long)
+?VLTrueRealloc@CVLHeap@@QAGPAXPAXK@Z
+; long __cdecl W95ConvertToAnsiOrOem(unsigned short const *,char * *,unsigned long,unsigned long *,int,int)
+?W95ConvertToAnsiOrOem@@YAJPBGPAPADKPAKHH@Z
+; long __cdecl W95ConvertToUnicode(char const *,long,unsigned short * *,unsigned long *,int,int)
+?W95ConvertToUnicode@@YAJPBDJPAPAGPAKHH@Z
+; public: long __stdcall CExtBuffer::WriteIntoExtBuffer(void const *,unsigned long)
+?WriteIntoExtBuffer@CExtBuffer@@QAGJPBXK@Z
+; public: long __stdcall CExtBuffer::WriteWCharToExtBuffer(unsigned short,unsigned long)
+?WriteWCharToExtBuffer@CExtBuffer@@QAGJGK@Z
+; public: int __thiscall CBaseObjBoko::ZombieMustUnprepare(void)
+?ZombieMustUnprepare@CBaseObjBoko@@QAEHXZ
+; public: int __thiscall CBaseObjZombie::ZombieMustUnprepare(void)
+?ZombieMustUnprepare@CBaseObjZombie@@QAEHXZ
+; public: int __thiscall CBitArray::fGetCopyOf(class CBitArray *)
+?fGetCopyOf@CBitArray@@QAEHPAV1@@Z
+; public: int __thiscall CRowsetConnectionPoint::fInit(void)
+?fInit@CRowsetConnectionPoint@@QAEHXZ
+; public: int __thiscall CConnectData::fOkToFire(enum DBREASONENUM,enum DBEVENTPHASEENUM)
+?fOkToFire@CConnectData@@QAEHW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; public: int __thiscall CRowsetConnectionPoint::fReasonNeeded(enum DBREASONENUM,enum DBEVENTPHASEENUM)
+?fReasonNeeded@CRowsetConnectionPoint@@QAEHW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; public: int __thiscall CRowsetConnectionPointContainer::fReasonNeeded(unsigned long,enum DBREASONENUM,enum DBEVENTPHASEENUM)
+?fReasonNeeded@CRowsetConnectionPointContainer@@QAEHKW4DBREASONENUM@@W4DBEVENTPHASEENUM@@@Z
+; private: static unsigned long const * const  CUtlProps2::sm_rgPropStatusFromInternStatus
+?sm_rgPropStatusFromInternStatus@CUtlProps2@@0QBKB
diff --git a/mingw-w64-crt/lib64/wmsdatt.def b/mingw-w64-crt/lib64/wmsdatt.def
index 23046f8..2394a1e 100644
--- a/mingw-w64-crt/lib64/wmsdatt.def
+++ b/mingw-w64-crt/lib64/wmsdatt.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MSDATT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDATT.dll
-EXPORTS
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDATT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDATT.dll
+EXPORTS
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdaurl.def b/mingw-w64-crt/lib64/wmsdaurl.def
index 77843d0..bf61001 100644
--- a/mingw-w64-crt/lib64/wmsdaurl.def
+++ b/mingw-w64-crt/lib64/wmsdaurl.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file MSDAURL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDAURL.dll
-EXPORTS
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSDAURL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDAURL.dll
+EXPORTS
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdfmap.def b/mingw-w64-crt/lib64/wmsdfmap.def
index 6fd1445..5930000 100644
--- a/mingw-w64-crt/lib64/wmsdfmap.def
+++ b/mingw-w64-crt/lib64/wmsdfmap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msdfmap.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msdfmap.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msdfmap.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msdfmap.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsdmo.def b/mingw-w64-crt/lib64/wmsdmo.def
index cd11ae9..958b3c1 100644
--- a/mingw-w64-crt/lib64/wmsdmo.def
+++ b/mingw-w64-crt/lib64/wmsdmo.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file msdmo.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msdmo.dll
-EXPORTS
-DMOEnum
-DMOGetName
-DMOGetTypes
-DMOGuidToStrA
-DMOGuidToStrW
-DMORegister
-DMOStrToGuidA
-DMOStrToGuidW
-DMOUnregister
-MoCopyMediaType
-MoCreateMediaType
-MoDeleteMediaType
-MoDuplicateMediaType
-MoFreeMediaType
-MoInitMediaType
+; 
+; Exports of file msdmo.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msdmo.dll
+EXPORTS
+DMOEnum
+DMOGetName
+DMOGetTypes
+DMOGuidToStrA
+DMOGuidToStrW
+DMORegister
+DMOStrToGuidA
+DMOStrToGuidW
+DMOUnregister
+MoCopyMediaType
+MoCreateMediaType
+MoDeleteMediaType
+MoDuplicateMediaType
+MoFreeMediaType
+MoInitMediaType
diff --git a/mingw-w64-crt/lib64/wmsdtcprx.def b/mingw-w64-crt/lib64/wmsdtcprx.def
index 90a3c52..6d204c2 100644
--- a/mingw-w64-crt/lib64/wmsdtcprx.def
+++ b/mingw-w64-crt/lib64/wmsdtcprx.def
@@ -1,269 +1,269 @@
-; 
-; Exports of file MSDTCPRX.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDTCPRX.dll
-EXPORTS
-DllGetDTCProxy
-; public: __thiscall CSecurityDescriptor::CSecurityDescriptor(void)
-??0CSecurityDescriptor@@QAE@XZ
-; protected: __thiscall CService::CService(void)
-??0CService@@IAE@XZ
-; protected: __thiscall CServiceControlManager::CServiceControlManager(void)
-??0CServiceControlManager@@IAE@XZ
-; public: __thiscall CSecurityDescriptor::~CSecurityDescriptor(void)
-??1CSecurityDescriptor@@QAE@XZ
-; protected: __thiscall CService::~CService(void)
-??1CService@@IAE@XZ
-DTC_XaOpen
-DTC_XaStart
-DTC_XaEnd
-DTC_XaPrepare
-DTC_XaCommit
-DTC_XaRollback
-DTC_XaRecover
-DTC_XaForget
-DTC_XaComplete
-DTC_XaClose
-DTC_AxReg
-DTC_AxUnReg
-ax_reg
-ax_unreg
-ShutDownCM
-DllGetDTCConnectionManager
-DllGetDTCUtilObject
-ContactToNameObject
-SysPrepDtcReinstall
-; protected: __thiscall CServiceControlManager::~CServiceControlManager(void)
-??1CServiceControlManager@@IAE@XZ
-; public: class CSecurityDescriptor & __thiscall CSecurityDescriptor::operator=(class CSecurityDescriptor const &)
-??4CSecurityDescriptor@@QAEAAV0@ABV0@@Z
-; public: class CService & __thiscall CService::operator=(class CService const &)
-??4CService@@QAEAAV0@ABV0@@Z
-; public: class CServiceControlManager & __thiscall CServiceControlManager::operator=(class CServiceControlManager const &)
-??4CServiceControlManager@@QAEAAV0@ABV0@@Z
-; public: unsigned long __thiscall CService::AddRef(void)
-?AddRef@CService@@QAEKXZ
-; public: unsigned long __thiscall CServiceControlManager::AddRef(void)
-?AddRef@CServiceControlManager@@QAEKXZ
-; public: long __thiscall CSecurityDescriptor::AddSid(unsigned short *,unsigned long,unsigned long)
-?AddSid@CSecurityDescriptor@@QAEJPAGKK@Z
-; public: long __thiscall CSecurityDescriptor::AddSid(void *,unsigned long,unsigned long)
-?AddSid@CSecurityDescriptor@@QAEJPAXKK@Z
-; protected: long __thiscall CSecurityDescriptor::Alloc(unsigned long)
-?Alloc@CSecurityDescriptor@@IAEJK@Z
-; long __stdcall ApplyAccountSettings(int,unsigned short *,unsigned long,unsigned short *,unsigned short *,unsigned short *,int)
-?ApplyAccountSettings@@YGJHPAGK000H@Z
-; long __stdcall ApplyNamedSecurityChange(unsigned short *,enum _SE_OBJECT_TYPE,void *,void *,unsigned long)
-?ApplyNamedSecurityChange@@YGJPAGW4_SE_OBJECT_TYPE@@PAX2K@Z
-; long __stdcall CheckForDCPromotionDemotion(unsigned short *)
-?CheckForDCPromotionDemotion@@YGJPAG@Z
-; public: long __thiscall CSecurityDescriptor::ClearAcl(void)
-?ClearAcl@CSecurityDescriptor@@QAEJXZ
-; public: long __thiscall CSecurityDescriptor::ClearInMemoryAcl(void)
-?ClearInMemoryAcl@CSecurityDescriptor@@QAEJXZ
-; void __stdcall CloseNetpEventLogHandle(void)
-?CloseNetpEventLogHandle@@YGXXZ
-; public: static long __stdcall CConnectionManager::Create(class CConnectionManager * *)
-?Create@CConnectionManager@@SGJPAPAV1@@Z
-; public: static long __stdcall CNameService::Create(class CNameService * *)
-?Create@CNameService@@SGJPAPAV1@@Z
-; public: static long __stdcall CService::Create(class CService * *,unsigned short *,class CServiceControlManager *,unsigned long,unsigned short *)
-?Create@CService@@SGJPAPAV1@PAGPAVCServiceControlManager@@K1@Z
-; public: static long __stdcall CServiceControlManager::Create(class CServiceControlManager * *,unsigned long,unsigned short *,unsigned short *)
-?Create@CServiceControlManager@@SGJPAPAV1@KPAG1@Z
-; void __stdcall CreateASRKey(void)
-?CreateASRKey@@YGXXZ
-; public: static long __stdcall CTmProxyCore::CreateInstance(class CTmProxyCore * *,struct IUnknown *)
-?CreateInstance@CTmProxyCore@@SGJPAPAV1@PAUIUnknown@@@Z
-; long __stdcall CreateNewContact(struct IProperties * *)
-?CreateNewContact@@YGJPAPAUIProperties@@@Z
-; long __stdcall CreateOrOpenMutexW(void * *,unsigned short const *,int)
-?CreateOrOpenMutexW@@YGJPAPAXPBGH@Z
-; void __stdcall DeleteExistingContacts(unsigned short *,struct IContactPool *,unsigned short *)
-?DeleteExistingContacts@@YGXPAGPAUIContactPool@@0@Z
-; int __stdcall DllGetDTCAdmin(struct _GUID const &,struct _GUID const &,void * *)
-?DllGetDTCAdmin@@YGHABU_GUID@@0PAPAX@Z
-; long __stdcall DtcWriteToEventLogger(unsigned long,unsigned long,unsigned long,unsigned long,void *,char *)
-?DtcWriteToEventLogger@@YGJKKKKPAXPAD@Z
-; long __stdcall DtcWriteToEventLoggerEx(unsigned short,unsigned short,unsigned long,void *,unsigned short,unsigned long,char const * *,void *)
-?DtcWriteToEventLoggerEx@@YGJGGKPAXGKPAPBD0@Z
-; long __stdcall DtcWriteToEventLoggerExUnFiltered(unsigned short,unsigned short,unsigned long,void *,unsigned short,unsigned long,char const * *,void *)
-?DtcWriteToEventLoggerExUnFiltered@@YGJGGKPAXGKPAPBD0@Z
-; long __stdcall DtcWriteToEventLoggerExUnFilteredA(unsigned short,unsigned short,unsigned long,void *,unsigned short,unsigned long,char const * *,void *)
-?DtcWriteToEventLoggerExUnFilteredA@@YGJGGKPAXGKPAPBD0@Z
-; long __stdcall EraseDtcClient(unsigned short *)
-?EraseDtcClient@@YGJPAG@Z
-; public: long __thiscall CService::GetAccount(unsigned short *,unsigned long *)
-?GetAccount@CService@@QAEJPAGPAK@Z
-; long __stdcall GetAccountSid(unsigned short *,unsigned short *,void * *)
-?GetAccountSid@@YGJPAG0PAPAX@Z
-; public: long __thiscall CSecurityDescriptor::GetControl(unsigned short *)
-?GetControl@CSecurityDescriptor@@QAEJPAG@Z
-; unsigned short * __stdcall GetDefaultLogPath(void)
-?GetDefaultLogPath@@YGPAGXZ
-; unsigned long __stdcall GetDefaultLogSize(void)
-?GetDefaultLogSize@@YGKXZ
-; long __stdcall GetDefaultSecurityConfigurationOptions(unsigned short *,unsigned long *,unsigned long *)
-?GetDefaultSecurityConfigurationOptions@@YGJPAGPAK1@Z
-; char * __cdecl GetDefaultServiceNameA(void)
-?GetDefaultServiceNameA@@YAPADXZ
-; unsigned short * __cdecl GetDefaultServiceNameW(void)
-?GetDefaultServiceNameW@@YAPAGXZ
-; unsigned short * __stdcall GetDefaultServicePath(void)
-?GetDefaultServicePath@@YGPAGXZ
-; int __stdcall GetDtcCIDProps(struct _LOG_PROPERTIES &,struct _DAC_PROPERTIES &)
-?GetDtcCIDProps@@YGHAAU_LOG_PROPERTIES@@AAU_DAC_PROPERTIES@@@Z
-; int __stdcall GetDtcLogPath(unsigned long,unsigned short *)
-?GetDtcLogPath@@YGHKPAG@Z
-; int __stdcall GetDtcPath(unsigned long,unsigned short *)
-?GetDtcPath@@YGHKPAG@Z
-; long __stdcall GetDtcRpcSecurityLevel(unsigned short *,enum _DTC_SECURITY_LEVEL *,int)
-?GetDtcRpcSecurityLevel@@YGJPAGPAW4_DTC_SECURITY_LEVEL@@H@Z
-; unsigned short * __stdcall GetEventLogSource(void)
-?GetEventLogSource@@YGPAGXZ
-; public: long __thiscall CService::GetHandle(struct SC_HANDLE__ * &)
-?GetHandle@CService@@QAEJAAPAUSC_HANDLE__@@@Z
-; public: long __thiscall CServiceControlManager::GetHandle(struct SC_HANDLE__ * &)
-?GetHandle@CServiceControlManager@@QAEJAAPAUSC_HANDLE__@@@Z
-; long __stdcall GetLastKnownDomainControllerState(unsigned short *,unsigned long *)
-?GetLastKnownDomainControllerState@@YGJPAGPAK@Z
-; long __stdcall GetLocalDtcClusteringVersion(unsigned long *)
-?GetLocalDtcClusteringVersion@@YGJPAK@Z
-; long __stdcall GetMsDtcSPN(unsigned short *,unsigned short * *)
-?GetMsDtcSPN@@YGJPAGPAPAG@Z
-; public: long __thiscall CSecurityDescriptor::GetNamedInfo(unsigned short *,enum _SE_OBJECT_TYPE)
-?GetNamedInfo@CSecurityDescriptor@@QAEJPAGW4_SE_OBJECT_TYPE@@@Z
-; unsigned short * __stdcall GetOldDefaultLogPath(void)
-?GetOldDefaultLogPath@@YGPAGXZ
-; long __stdcall GetSecurityConfigurationOptions(unsigned short *,unsigned long *,unsigned long *,int)
-?GetSecurityConfigurationOptions@@YGJPAGPAK1H@Z
-; public: long __thiscall CSecurityDescriptor::GetSecurityDescriptor(void * *)
-?GetSecurityDescriptor@CSecurityDescriptor@@QAEJPAPAX@Z
-; long __stdcall GetSecurityRegValueNonClusterW(unsigned short *,unsigned short const *,unsigned char *,unsigned long *)
-?GetSecurityRegValueNonClusterW@@YGJPAGPBGPAEPAK@Z
-; long __stdcall GetSecurityRegValueW(unsigned short *,unsigned short const *,unsigned char *,unsigned long *,int)
-?GetSecurityRegValueW@@YGJPAGPBGPAEPAKH@Z
-; long __stdcall GetSharedDtcClusteringVersion(unsigned long *)
-?GetSharedDtcClusteringVersion@@YGJPAK@Z
-; long __cdecl GetTmContactA(char *,char *,struct IProperties * *)
-?GetTmContactA@@YAJPAD0PAPAUIProperties@@@Z
-; long __cdecl GetTmContactW(unsigned short *,unsigned short *,struct IProperties * *)
-?GetTmContactW@@YAJPAG0PAPAUIProperties@@@Z
-; long __cdecl GetTmUIContactA(char *,char *,struct IProperties * *)
-?GetTmUIContactA@@YAJPAD0PAPAUIProperties@@@Z
-; long __cdecl GetTmUIContactW(unsigned short *,unsigned short *,struct IProperties * *)
-?GetTmUIContactW@@YAJPAG0PAPAUIProperties@@@Z
-; long __stdcall GetXATmSecurityKey(unsigned short *,unsigned short *,unsigned long *)
-?GetXATmSecurityKey@@YGJPAG0PAK@Z
-; long __stdcall InstallDtc(unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned long,unsigned short *,int)
-?InstallDtc@@YGJPAG0000K0H@Z
-; long __stdcall InstallDtcClient(unsigned short *,unsigned long,unsigned long)
-?InstallDtcClient@@YGJPAGKK@Z
-; long __stdcall InstallTipGw(unsigned short *)
-?InstallTipGw@@YGJPAG@Z
-; long __stdcall InstallXaTm(unsigned short *)
-?InstallXaTm@@YGJPAG@Z
-; protected: long __thiscall CService::InternalInit(unsigned short *,class CServiceControlManager *,unsigned long,unsigned short *)
-?InternalInit@CService@@IAEJPAGPAVCServiceControlManager@@K0@Z
-; protected: long __thiscall CServiceControlManager::InternalInit(unsigned long,unsigned short *,unsigned short *)
-?InternalInit@CServiceControlManager@@IAEJKPAG0@Z
-; int __stdcall IsNtVersion5OrMore(void)
-?IsNtVersion5OrMore@@YGHXZ
-; long __stdcall JoinDtc(void)
-?JoinDtc@@YGJXZ
-; long __stdcall JoinDtcEx(unsigned short *)
-?JoinDtcEx@@YGJPAG@Z
-; long __stdcall LookupSpecialAccount(unsigned short *,struct _SPECIAL_ACCOUNT_ * *)
-?LookupSpecialAccount@@YGJPAGPAPAU_SPECIAL_ACCOUNT_@@@Z
-; protected: long __thiscall CSecurityDescriptor::MakeAbsolute(void)
-?MakeAbsolute@CSecurityDescriptor@@IAEJXZ
-; long __stdcall MirrorXaTmSecurityKey(unsigned short *)
-?MirrorXaTmSecurityKey@@YGJPAG@Z
-; long __stdcall MsDtcSPNFree(unsigned short * *)
-?MsDtcSPNFree@@YGJPAPAG@Z
-; public: long __thiscall CServiceControlManager::OpenServiceA(class CService * *,unsigned short *,unsigned long)
-?OpenServiceA@CServiceControlManager@@QAEJPAPAVCService@@PAGK@Z
-; long __stdcall PopulateLocalRegistry(void)
-?PopulateLocalRegistry@@YGJXZ
-; long __stdcall PopulateSharedClusterRegistryWithContacts(void)
-?PopulateSharedClusterRegistryWithContacts@@YGJXZ
-; long __stdcall PopulateSharedClusterRegistryWithLogInfo(void)
-?PopulateSharedClusterRegistryWithLogInfo@@YGJXZ
-; public: long __thiscall CSecurityDescriptor::QueryServiceObjectSecurity(struct SC_HANDLE__ *,unsigned long)
-?QueryServiceObjectSecurity@CSecurityDescriptor@@QAEJPAUSC_HANDLE__@@K@Z
-; public: unsigned long __thiscall CService::Release(void)
-?Release@CService@@QAEKXZ
-; public: unsigned long __thiscall CServiceControlManager::Release(void)
-?Release@CServiceControlManager@@QAEKXZ
-; long __stdcall RemoveDtc(unsigned short *,unsigned short *,unsigned short *)
-?RemoveDtc@@YGJPAG00@Z
-; public: long __thiscall CSecurityDescriptor::RemoveSid(unsigned short *)
-?RemoveSid@CSecurityDescriptor@@QAEJPAG@Z
-; public: long __thiscall CSecurityDescriptor::RemoveSid(void *)
-?RemoveSid@CSecurityDescriptor@@QAEJPAX@Z
-; protected: void __thiscall CSecurityDescriptor::Reset(void)
-?Reset@CSecurityDescriptor@@IAEXXZ
-; long __stdcall RidToSid(unsigned long,void * *)
-?RidToSid@@YGJKPAPAX@Z
-; public: long __thiscall CService::SetAccount(unsigned short *,unsigned short *)
-?SetAccount@CService@@QAEJPAG0@Z
-; long __stdcall SetAccountInfoInRegistryW(unsigned short *)
-?SetAccountInfoInRegistryW@@YGJPAG@Z
-; public: long __thiscall CSecurityDescriptor::SetControl(unsigned short,unsigned short)
-?SetControl@CSecurityDescriptor@@QAEJGG@Z
-; long __stdcall SetDomainControllerState(unsigned short *)
-?SetDomainControllerState@@YGJPAG@Z
-; int __stdcall SetDtcCIDProps(struct _LOG_PROPERTIES &,struct _DAC_PROPERTIES &)
-?SetDtcCIDProps@@YGHAAU_LOG_PROPERTIES@@AAU_DAC_PROPERTIES@@@Z
-; long __stdcall SetDtcClient(unsigned short *,char *,unsigned short *)
-?SetDtcClient@@YGJPAGPAD0@Z
-; long __stdcall SetDtcRpcSecurityLevel(unsigned short *,enum _DTC_SECURITY_LEVEL,int)
-?SetDtcRpcSecurityLevel@@YGJPAGW4_DTC_SECURITY_LEVEL@@H@Z
-; long __stdcall SetDtcServerProtocol(char *,char *)
-?SetDtcServerProtocol@@YGJPAD0@Z
-; void __stdcall SetEventLogSourceToMsdtcCore(void)
-?SetEventLogSourceToMsdtcCore@@YGXXZ
-; public: long __thiscall CSecurityDescriptor::SetNamedInfo(unsigned short *,enum _SE_OBJECT_TYPE,unsigned long)
-?SetNamedInfo@CSecurityDescriptor@@QAEJPAGW4_SE_OBJECT_TYPE@@K@Z
-; protected: long __thiscall CSecurityDescriptor::SetNewAcl(struct _ACL *,unsigned long,int,int)
-?SetNewAcl@CSecurityDescriptor@@IAEJPAU_ACL@@KHH@Z
-; public: long __thiscall CSecurityDescriptor::SetOwner(unsigned short *,int)
-?SetOwner@CSecurityDescriptor@@QAEJPAGH@Z
-; public: long __thiscall CSecurityDescriptor::SetOwner(void *,int)
-?SetOwner@CSecurityDescriptor@@QAEJPAXH@Z
-; long __stdcall SetSecurityConfigurationOptions(unsigned short *,unsigned long,unsigned long)
-?SetSecurityConfigurationOptions@@YGJPAGKK@Z
-; long __stdcall SetSecurityRegValueNonClusterW(unsigned short *,unsigned short const *,unsigned long,unsigned char *,unsigned long)
-?SetSecurityRegValueNonClusterW@@YGJPAGPBGKPAEK@Z
-; long __stdcall SetSecurityRegValueW(unsigned short *,unsigned short const *,unsigned long,unsigned char *,unsigned long)
-?SetSecurityRegValueW@@YGJPAGPBGKPAEK@Z
-; public: long __thiscall CSecurityDescriptor::SetServiceObjectSecurity(struct SC_HANDLE__ *,unsigned long)
-?SetServiceObjectSecurity@CSecurityDescriptor@@QAEJPAUSC_HANDLE__@@K@Z
-; public: long __thiscall CSecurityDescriptor::SetSpecialAccounts(unsigned long)
-?SetSpecialAccounts@CSecurityDescriptor@@QAEJK@Z
-; long __stdcall StringToSid(unsigned short *,void * *)
-?StringToSid@@YGJPAGPAPAX@Z
-; long __stdcall UpdateTmNameObject(struct INameObject *,struct INameObject * *)
-?UpdateTmNameObject@@YGJPAUINameObject@@PAPAU1@@Z
-; long __stdcall UpgradeDtc(int)
-?UpgradeDtc@@YGJH@Z
-; long __stdcall VerifyAccountInfo(void)
-?VerifyAccountInfo@@YGJXZ
-; int __stdcall Win95Present(void)
-?Win95Present@@YGHXZ
-; struct _SPECIAL_ACCOUNT_ *  g_aSpecialAccounts
-?g_aSpecialAccounts@@3PAU_SPECIAL_ACCOUNT_@@A DATA
-_ClusterChangeDtcUserAccount@4
-_ClusterCryptoContainerCreate@20
-_ClusterCryptoContainerDelete@12
-_ClusterDaclCryptoContainer@4
-_ClusterUpdateAccountInformation@12
-_DecryptAccountInformation@24
-DllGetClassObject
-DllGetTransactionManagerCore
-DllRegisterServer
-DllUnregisterServer
-_EncryptAccountInformation@16
+; 
+; Exports of file MSDTCPRX.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDTCPRX.dll
+EXPORTS
+DllGetDTCProxy
+; public: __thiscall CSecurityDescriptor::CSecurityDescriptor(void)
+??0CSecurityDescriptor@@QAE@XZ
+; protected: __thiscall CService::CService(void)
+??0CService@@IAE@XZ
+; protected: __thiscall CServiceControlManager::CServiceControlManager(void)
+??0CServiceControlManager@@IAE@XZ
+; public: __thiscall CSecurityDescriptor::~CSecurityDescriptor(void)
+??1CSecurityDescriptor@@QAE@XZ
+; protected: __thiscall CService::~CService(void)
+??1CService@@IAE@XZ
+DTC_XaOpen
+DTC_XaStart
+DTC_XaEnd
+DTC_XaPrepare
+DTC_XaCommit
+DTC_XaRollback
+DTC_XaRecover
+DTC_XaForget
+DTC_XaComplete
+DTC_XaClose
+DTC_AxReg
+DTC_AxUnReg
+ax_reg
+ax_unreg
+ShutDownCM
+DllGetDTCConnectionManager
+DllGetDTCUtilObject
+ContactToNameObject
+SysPrepDtcReinstall
+; protected: __thiscall CServiceControlManager::~CServiceControlManager(void)
+??1CServiceControlManager@@IAE@XZ
+; public: class CSecurityDescriptor & __thiscall CSecurityDescriptor::operator=(class CSecurityDescriptor const &)
+??4CSecurityDescriptor@@QAEAAV0@ABV0@@Z
+; public: class CService & __thiscall CService::operator=(class CService const &)
+??4CService@@QAEAAV0@ABV0@@Z
+; public: class CServiceControlManager & __thiscall CServiceControlManager::operator=(class CServiceControlManager const &)
+??4CServiceControlManager@@QAEAAV0@ABV0@@Z
+; public: unsigned long __thiscall CService::AddRef(void)
+?AddRef@CService@@QAEKXZ
+; public: unsigned long __thiscall CServiceControlManager::AddRef(void)
+?AddRef@CServiceControlManager@@QAEKXZ
+; public: long __thiscall CSecurityDescriptor::AddSid(unsigned short *,unsigned long,unsigned long)
+?AddSid@CSecurityDescriptor@@QAEJPAGKK@Z
+; public: long __thiscall CSecurityDescriptor::AddSid(void *,unsigned long,unsigned long)
+?AddSid@CSecurityDescriptor@@QAEJPAXKK@Z
+; protected: long __thiscall CSecurityDescriptor::Alloc(unsigned long)
+?Alloc@CSecurityDescriptor@@IAEJK@Z
+; long __stdcall ApplyAccountSettings(int,unsigned short *,unsigned long,unsigned short *,unsigned short *,unsigned short *,int)
+?ApplyAccountSettings@@YGJHPAGK000H@Z
+; long __stdcall ApplyNamedSecurityChange(unsigned short *,enum _SE_OBJECT_TYPE,void *,void *,unsigned long)
+?ApplyNamedSecurityChange@@YGJPAGW4_SE_OBJECT_TYPE@@PAX2K@Z
+; long __stdcall CheckForDCPromotionDemotion(unsigned short *)
+?CheckForDCPromotionDemotion@@YGJPAG@Z
+; public: long __thiscall CSecurityDescriptor::ClearAcl(void)
+?ClearAcl@CSecurityDescriptor@@QAEJXZ
+; public: long __thiscall CSecurityDescriptor::ClearInMemoryAcl(void)
+?ClearInMemoryAcl@CSecurityDescriptor@@QAEJXZ
+; void __stdcall CloseNetpEventLogHandle(void)
+?CloseNetpEventLogHandle@@YGXXZ
+; public: static long __stdcall CConnectionManager::Create(class CConnectionManager * *)
+?Create@CConnectionManager@@SGJPAPAV1@@Z
+; public: static long __stdcall CNameService::Create(class CNameService * *)
+?Create@CNameService@@SGJPAPAV1@@Z
+; public: static long __stdcall CService::Create(class CService * *,unsigned short *,class CServiceControlManager *,unsigned long,unsigned short *)
+?Create@CService@@SGJPAPAV1@PAGPAVCServiceControlManager@@K1@Z
+; public: static long __stdcall CServiceControlManager::Create(class CServiceControlManager * *,unsigned long,unsigned short *,unsigned short *)
+?Create@CServiceControlManager@@SGJPAPAV1@KPAG1@Z
+; void __stdcall CreateASRKey(void)
+?CreateASRKey@@YGXXZ
+; public: static long __stdcall CTmProxyCore::CreateInstance(class CTmProxyCore * *,struct IUnknown *)
+?CreateInstance@CTmProxyCore@@SGJPAPAV1@PAUIUnknown@@@Z
+; long __stdcall CreateNewContact(struct IProperties * *)
+?CreateNewContact@@YGJPAPAUIProperties@@@Z
+; long __stdcall CreateOrOpenMutexW(void * *,unsigned short const *,int)
+?CreateOrOpenMutexW@@YGJPAPAXPBGH@Z
+; void __stdcall DeleteExistingContacts(unsigned short *,struct IContactPool *,unsigned short *)
+?DeleteExistingContacts@@YGXPAGPAUIContactPool@@0@Z
+; int __stdcall DllGetDTCAdmin(struct _GUID const &,struct _GUID const &,void * *)
+?DllGetDTCAdmin@@YGHABU_GUID@@0PAPAX@Z
+; long __stdcall DtcWriteToEventLogger(unsigned long,unsigned long,unsigned long,unsigned long,void *,char *)
+?DtcWriteToEventLogger@@YGJKKKKPAXPAD@Z
+; long __stdcall DtcWriteToEventLoggerEx(unsigned short,unsigned short,unsigned long,void *,unsigned short,unsigned long,char const * *,void *)
+?DtcWriteToEventLoggerEx@@YGJGGKPAXGKPAPBD0@Z
+; long __stdcall DtcWriteToEventLoggerExUnFiltered(unsigned short,unsigned short,unsigned long,void *,unsigned short,unsigned long,char const * *,void *)
+?DtcWriteToEventLoggerExUnFiltered@@YGJGGKPAXGKPAPBD0@Z
+; long __stdcall DtcWriteToEventLoggerExUnFilteredA(unsigned short,unsigned short,unsigned long,void *,unsigned short,unsigned long,char const * *,void *)
+?DtcWriteToEventLoggerExUnFilteredA@@YGJGGKPAXGKPAPBD0@Z
+; long __stdcall EraseDtcClient(unsigned short *)
+?EraseDtcClient@@YGJPAG@Z
+; public: long __thiscall CService::GetAccount(unsigned short *,unsigned long *)
+?GetAccount@CService@@QAEJPAGPAK@Z
+; long __stdcall GetAccountSid(unsigned short *,unsigned short *,void * *)
+?GetAccountSid@@YGJPAG0PAPAX@Z
+; public: long __thiscall CSecurityDescriptor::GetControl(unsigned short *)
+?GetControl@CSecurityDescriptor@@QAEJPAG@Z
+; unsigned short * __stdcall GetDefaultLogPath(void)
+?GetDefaultLogPath@@YGPAGXZ
+; unsigned long __stdcall GetDefaultLogSize(void)
+?GetDefaultLogSize@@YGKXZ
+; long __stdcall GetDefaultSecurityConfigurationOptions(unsigned short *,unsigned long *,unsigned long *)
+?GetDefaultSecurityConfigurationOptions@@YGJPAGPAK1@Z
+; char * __cdecl GetDefaultServiceNameA(void)
+?GetDefaultServiceNameA@@YAPADXZ
+; unsigned short * __cdecl GetDefaultServiceNameW(void)
+?GetDefaultServiceNameW@@YAPAGXZ
+; unsigned short * __stdcall GetDefaultServicePath(void)
+?GetDefaultServicePath@@YGPAGXZ
+; int __stdcall GetDtcCIDProps(struct _LOG_PROPERTIES &,struct _DAC_PROPERTIES &)
+?GetDtcCIDProps@@YGHAAU_LOG_PROPERTIES@@AAU_DAC_PROPERTIES@@@Z
+; int __stdcall GetDtcLogPath(unsigned long,unsigned short *)
+?GetDtcLogPath@@YGHKPAG@Z
+; int __stdcall GetDtcPath(unsigned long,unsigned short *)
+?GetDtcPath@@YGHKPAG@Z
+; long __stdcall GetDtcRpcSecurityLevel(unsigned short *,enum _DTC_SECURITY_LEVEL *,int)
+?GetDtcRpcSecurityLevel@@YGJPAGPAW4_DTC_SECURITY_LEVEL@@H@Z
+; unsigned short * __stdcall GetEventLogSource(void)
+?GetEventLogSource@@YGPAGXZ
+; public: long __thiscall CService::GetHandle(struct SC_HANDLE__ * &)
+?GetHandle@CService@@QAEJAAPAUSC_HANDLE__@@@Z
+; public: long __thiscall CServiceControlManager::GetHandle(struct SC_HANDLE__ * &)
+?GetHandle@CServiceControlManager@@QAEJAAPAUSC_HANDLE__@@@Z
+; long __stdcall GetLastKnownDomainControllerState(unsigned short *,unsigned long *)
+?GetLastKnownDomainControllerState@@YGJPAGPAK@Z
+; long __stdcall GetLocalDtcClusteringVersion(unsigned long *)
+?GetLocalDtcClusteringVersion@@YGJPAK@Z
+; long __stdcall GetMsDtcSPN(unsigned short *,unsigned short * *)
+?GetMsDtcSPN@@YGJPAGPAPAG@Z
+; public: long __thiscall CSecurityDescriptor::GetNamedInfo(unsigned short *,enum _SE_OBJECT_TYPE)
+?GetNamedInfo@CSecurityDescriptor@@QAEJPAGW4_SE_OBJECT_TYPE@@@Z
+; unsigned short * __stdcall GetOldDefaultLogPath(void)
+?GetOldDefaultLogPath@@YGPAGXZ
+; long __stdcall GetSecurityConfigurationOptions(unsigned short *,unsigned long *,unsigned long *,int)
+?GetSecurityConfigurationOptions@@YGJPAGPAK1H@Z
+; public: long __thiscall CSecurityDescriptor::GetSecurityDescriptor(void * *)
+?GetSecurityDescriptor@CSecurityDescriptor@@QAEJPAPAX@Z
+; long __stdcall GetSecurityRegValueNonClusterW(unsigned short *,unsigned short const *,unsigned char *,unsigned long *)
+?GetSecurityRegValueNonClusterW@@YGJPAGPBGPAEPAK@Z
+; long __stdcall GetSecurityRegValueW(unsigned short *,unsigned short const *,unsigned char *,unsigned long *,int)
+?GetSecurityRegValueW@@YGJPAGPBGPAEPAKH@Z
+; long __stdcall GetSharedDtcClusteringVersion(unsigned long *)
+?GetSharedDtcClusteringVersion@@YGJPAK@Z
+; long __cdecl GetTmContactA(char *,char *,struct IProperties * *)
+?GetTmContactA@@YAJPAD0PAPAUIProperties@@@Z
+; long __cdecl GetTmContactW(unsigned short *,unsigned short *,struct IProperties * *)
+?GetTmContactW@@YAJPAG0PAPAUIProperties@@@Z
+; long __cdecl GetTmUIContactA(char *,char *,struct IProperties * *)
+?GetTmUIContactA@@YAJPAD0PAPAUIProperties@@@Z
+; long __cdecl GetTmUIContactW(unsigned short *,unsigned short *,struct IProperties * *)
+?GetTmUIContactW@@YAJPAG0PAPAUIProperties@@@Z
+; long __stdcall GetXATmSecurityKey(unsigned short *,unsigned short *,unsigned long *)
+?GetXATmSecurityKey@@YGJPAG0PAK@Z
+; long __stdcall InstallDtc(unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned long,unsigned short *,int)
+?InstallDtc@@YGJPAG0000K0H@Z
+; long __stdcall InstallDtcClient(unsigned short *,unsigned long,unsigned long)
+?InstallDtcClient@@YGJPAGKK@Z
+; long __stdcall InstallTipGw(unsigned short *)
+?InstallTipGw@@YGJPAG@Z
+; long __stdcall InstallXaTm(unsigned short *)
+?InstallXaTm@@YGJPAG@Z
+; protected: long __thiscall CService::InternalInit(unsigned short *,class CServiceControlManager *,unsigned long,unsigned short *)
+?InternalInit@CService@@IAEJPAGPAVCServiceControlManager@@K0@Z
+; protected: long __thiscall CServiceControlManager::InternalInit(unsigned long,unsigned short *,unsigned short *)
+?InternalInit@CServiceControlManager@@IAEJKPAG0@Z
+; int __stdcall IsNtVersion5OrMore(void)
+?IsNtVersion5OrMore@@YGHXZ
+; long __stdcall JoinDtc(void)
+?JoinDtc@@YGJXZ
+; long __stdcall JoinDtcEx(unsigned short *)
+?JoinDtcEx@@YGJPAG@Z
+; long __stdcall LookupSpecialAccount(unsigned short *,struct _SPECIAL_ACCOUNT_ * *)
+?LookupSpecialAccount@@YGJPAGPAPAU_SPECIAL_ACCOUNT_@@@Z
+; protected: long __thiscall CSecurityDescriptor::MakeAbsolute(void)
+?MakeAbsolute@CSecurityDescriptor@@IAEJXZ
+; long __stdcall MirrorXaTmSecurityKey(unsigned short *)
+?MirrorXaTmSecurityKey@@YGJPAG@Z
+; long __stdcall MsDtcSPNFree(unsigned short * *)
+?MsDtcSPNFree@@YGJPAPAG@Z
+; public: long __thiscall CServiceControlManager::OpenServiceA(class CService * *,unsigned short *,unsigned long)
+?OpenServiceA@CServiceControlManager@@QAEJPAPAVCService@@PAGK@Z
+; long __stdcall PopulateLocalRegistry(void)
+?PopulateLocalRegistry@@YGJXZ
+; long __stdcall PopulateSharedClusterRegistryWithContacts(void)
+?PopulateSharedClusterRegistryWithContacts@@YGJXZ
+; long __stdcall PopulateSharedClusterRegistryWithLogInfo(void)
+?PopulateSharedClusterRegistryWithLogInfo@@YGJXZ
+; public: long __thiscall CSecurityDescriptor::QueryServiceObjectSecurity(struct SC_HANDLE__ *,unsigned long)
+?QueryServiceObjectSecurity@CSecurityDescriptor@@QAEJPAUSC_HANDLE__@@K@Z
+; public: unsigned long __thiscall CService::Release(void)
+?Release@CService@@QAEKXZ
+; public: unsigned long __thiscall CServiceControlManager::Release(void)
+?Release@CServiceControlManager@@QAEKXZ
+; long __stdcall RemoveDtc(unsigned short *,unsigned short *,unsigned short *)
+?RemoveDtc@@YGJPAG00@Z
+; public: long __thiscall CSecurityDescriptor::RemoveSid(unsigned short *)
+?RemoveSid@CSecurityDescriptor@@QAEJPAG@Z
+; public: long __thiscall CSecurityDescriptor::RemoveSid(void *)
+?RemoveSid@CSecurityDescriptor@@QAEJPAX@Z
+; protected: void __thiscall CSecurityDescriptor::Reset(void)
+?Reset@CSecurityDescriptor@@IAEXXZ
+; long __stdcall RidToSid(unsigned long,void * *)
+?RidToSid@@YGJKPAPAX@Z
+; public: long __thiscall CService::SetAccount(unsigned short *,unsigned short *)
+?SetAccount@CService@@QAEJPAG0@Z
+; long __stdcall SetAccountInfoInRegistryW(unsigned short *)
+?SetAccountInfoInRegistryW@@YGJPAG@Z
+; public: long __thiscall CSecurityDescriptor::SetControl(unsigned short,unsigned short)
+?SetControl@CSecurityDescriptor@@QAEJGG@Z
+; long __stdcall SetDomainControllerState(unsigned short *)
+?SetDomainControllerState@@YGJPAG@Z
+; int __stdcall SetDtcCIDProps(struct _LOG_PROPERTIES &,struct _DAC_PROPERTIES &)
+?SetDtcCIDProps@@YGHAAU_LOG_PROPERTIES@@AAU_DAC_PROPERTIES@@@Z
+; long __stdcall SetDtcClient(unsigned short *,char *,unsigned short *)
+?SetDtcClient@@YGJPAGPAD0@Z
+; long __stdcall SetDtcRpcSecurityLevel(unsigned short *,enum _DTC_SECURITY_LEVEL,int)
+?SetDtcRpcSecurityLevel@@YGJPAGW4_DTC_SECURITY_LEVEL@@H@Z
+; long __stdcall SetDtcServerProtocol(char *,char *)
+?SetDtcServerProtocol@@YGJPAD0@Z
+; void __stdcall SetEventLogSourceToMsdtcCore(void)
+?SetEventLogSourceToMsdtcCore@@YGXXZ
+; public: long __thiscall CSecurityDescriptor::SetNamedInfo(unsigned short *,enum _SE_OBJECT_TYPE,unsigned long)
+?SetNamedInfo@CSecurityDescriptor@@QAEJPAGW4_SE_OBJECT_TYPE@@K@Z
+; protected: long __thiscall CSecurityDescriptor::SetNewAcl(struct _ACL *,unsigned long,int,int)
+?SetNewAcl@CSecurityDescriptor@@IAEJPAU_ACL@@KHH@Z
+; public: long __thiscall CSecurityDescriptor::SetOwner(unsigned short *,int)
+?SetOwner@CSecurityDescriptor@@QAEJPAGH@Z
+; public: long __thiscall CSecurityDescriptor::SetOwner(void *,int)
+?SetOwner@CSecurityDescriptor@@QAEJPAXH@Z
+; long __stdcall SetSecurityConfigurationOptions(unsigned short *,unsigned long,unsigned long)
+?SetSecurityConfigurationOptions@@YGJPAGKK@Z
+; long __stdcall SetSecurityRegValueNonClusterW(unsigned short *,unsigned short const *,unsigned long,unsigned char *,unsigned long)
+?SetSecurityRegValueNonClusterW@@YGJPAGPBGKPAEK@Z
+; long __stdcall SetSecurityRegValueW(unsigned short *,unsigned short const *,unsigned long,unsigned char *,unsigned long)
+?SetSecurityRegValueW@@YGJPAGPBGKPAEK@Z
+; public: long __thiscall CSecurityDescriptor::SetServiceObjectSecurity(struct SC_HANDLE__ *,unsigned long)
+?SetServiceObjectSecurity@CSecurityDescriptor@@QAEJPAUSC_HANDLE__@@K@Z
+; public: long __thiscall CSecurityDescriptor::SetSpecialAccounts(unsigned long)
+?SetSpecialAccounts@CSecurityDescriptor@@QAEJK@Z
+; long __stdcall StringToSid(unsigned short *,void * *)
+?StringToSid@@YGJPAGPAPAX@Z
+; long __stdcall UpdateTmNameObject(struct INameObject *,struct INameObject * *)
+?UpdateTmNameObject@@YGJPAUINameObject@@PAPAU1@@Z
+; long __stdcall UpgradeDtc(int)
+?UpgradeDtc@@YGJH@Z
+; long __stdcall VerifyAccountInfo(void)
+?VerifyAccountInfo@@YGJXZ
+; int __stdcall Win95Present(void)
+?Win95Present@@YGHXZ
+; struct _SPECIAL_ACCOUNT_ *  g_aSpecialAccounts
+?g_aSpecialAccounts@@3PAU_SPECIAL_ACCOUNT_@@A DATA
+_ClusterChangeDtcUserAccount@4
+_ClusterCryptoContainerCreate@20
+_ClusterCryptoContainerDelete@12
+_ClusterDaclCryptoContainer@4
+_ClusterUpdateAccountInformation@12
+_DecryptAccountInformation@24
+DllGetClassObject
+DllGetTransactionManagerCore
+DllRegisterServer
+DllUnregisterServer
+_EncryptAccountInformation@16
diff --git a/mingw-w64-crt/lib64/wmsdtcuiu.def b/mingw-w64-crt/lib64/wmsdtcuiu.def
index e01fa73..abd008c 100644
--- a/mingw-w64-crt/lib64/wmsdtcuiu.def
+++ b/mingw-w64-crt/lib64/wmsdtcuiu.def
@@ -1,68 +1,68 @@
-; 
-; Exports of file MSDTCUIU.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSDTCUIU.dll
-EXPORTS
-InitDACDLL
-TermDACDLL
-TermDACInstance
-DoDACPropSheet
-DoDACAdvanced
-GetDACStatsMinMaxInfo
-; public: __thiscall CDac::CDac(class CDac const &)
-??0CDac@@QAE@ABV0@@Z
-; public: __thiscall CDac::CDac(unsigned long)
-??0CDac@@QAE@K@Z
-; public: __thiscall CDac::~CDac(void)
-??1CDac@@QAE@XZ
-; public: class CDac & __thiscall CDac::operator=(class CDac const &)
-??4CDac@@QAEAAV0@ABV0@@Z
-; public: int __thiscall CDac::Connect(struct HWND__ *,struct INTServiceControl *)
-?Connect@CDac@@QAEHPAUHWND__@@PAUINTServiceControl@@@Z
-; public: static long __stdcall CUicCore::Create(class CUicCore * *)
-?Create@CUicCore@@SGJPAPAV1@@Z
-; public: class CDialog * __thiscall CDac::CreateAdvancedPropertySheet(class CWnd *)
-?CreateAdvancedPropertySheet@CDac@@QAEPAVCDialog@@PAVCWnd@@@Z
-; public: int __thiscall CDac::ErrorMessage(unsigned long,unsigned int)
-?ErrorMessage@CDac@@QAEHKI@Z
-; public: unsigned long __thiscall CDac::GetAdminAccess(void)
-?GetAdminAccess@CDac@@QAEKXZ
-; public: char * __thiscall CDac::GetHostNameA(void)
-?GetHostNameA@CDac@@QAEPADXZ
-; public: unsigned short * __thiscall CDac::GetHostNameW(void)
-?GetHostNameW@CDac@@QAEPAGXZ
-; public: struct HWND__ * __thiscall CDac::GetOwnerHwnd(void)
-?GetOwnerHwnd@CDac@@QAEPAUHWND__@@XZ
-; public: unsigned short * __thiscall CDac::GetVirtualHostName(void)
-?GetVirtualHostName@CDac@@QAEPAGXZ
-; public: long __thiscall CDac::Init(unsigned short *)
-?Init@CDac@@QAEJPAG@Z
-; public: int __thiscall CDac::IsConnected(void)
-?IsConnected@CDac@@QAEHXZ
-; public: int __thiscall CDac::ProcessCommand(unsigned int,long)
-?ProcessCommand@CDac@@QAEHIJ@Z
-; void __stdcall RegisterErrorSink(struct IDacErrorSink *)
-?RegisterErrorSink@@YGXPAUIDacErrorSink@@@Z
-RunDACExe
-; public: long __thiscall CDac::ServiceRequest(unsigned long,void *,unsigned long,bool)
-?ServiceRequest@CDac@@QAEJKPAXK_N@Z
-; public: void __thiscall CDac::SetHostNameA(char *)
-?SetHostNameA@CDac@@QAEXPAD@Z
-; public: void __thiscall CDac::SetHostNameW(unsigned short *)
-?SetHostNameW@CDac@@QAEXPAG@Z
-; public: void __thiscall CDac::SetOwnerWnd(class CWnd *)
-?SetOwnerWnd@CDac@@QAEXPAVCWnd@@@Z
-; class CDac * __stdcall ValidateDACInstance(void * *,unsigned short *)
-?ValidateDACInstance@@YGPAVCDac@@PAPAXPAG@Z
-DllGetClassObject
-DllGetDTCUIC
-DllRegisterServer
-DllUnregisterServer
-DtcPerfClose
-DtcPerfCollect
-DtcPerfOpen
-PerfDllRegisterServer
-ShutDownUIC
+; 
+; Exports of file MSDTCUIU.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSDTCUIU.dll
+EXPORTS
+InitDACDLL
+TermDACDLL
+TermDACInstance
+DoDACPropSheet
+DoDACAdvanced
+GetDACStatsMinMaxInfo
+; public: __thiscall CDac::CDac(class CDac const &)
+??0CDac@@QAE@ABV0@@Z
+; public: __thiscall CDac::CDac(unsigned long)
+??0CDac@@QAE@K@Z
+; public: __thiscall CDac::~CDac(void)
+??1CDac@@QAE@XZ
+; public: class CDac & __thiscall CDac::operator=(class CDac const &)
+??4CDac@@QAEAAV0@ABV0@@Z
+; public: int __thiscall CDac::Connect(struct HWND__ *,struct INTServiceControl *)
+?Connect@CDac@@QAEHPAUHWND__@@PAUINTServiceControl@@@Z
+; public: static long __stdcall CUicCore::Create(class CUicCore * *)
+?Create@CUicCore@@SGJPAPAV1@@Z
+; public: class CDialog * __thiscall CDac::CreateAdvancedPropertySheet(class CWnd *)
+?CreateAdvancedPropertySheet@CDac@@QAEPAVCDialog@@PAVCWnd@@@Z
+; public: int __thiscall CDac::ErrorMessage(unsigned long,unsigned int)
+?ErrorMessage@CDac@@QAEHKI@Z
+; public: unsigned long __thiscall CDac::GetAdminAccess(void)
+?GetAdminAccess@CDac@@QAEKXZ
+; public: char * __thiscall CDac::GetHostNameA(void)
+?GetHostNameA@CDac@@QAEPADXZ
+; public: unsigned short * __thiscall CDac::GetHostNameW(void)
+?GetHostNameW@CDac@@QAEPAGXZ
+; public: struct HWND__ * __thiscall CDac::GetOwnerHwnd(void)
+?GetOwnerHwnd@CDac@@QAEPAUHWND__@@XZ
+; public: unsigned short * __thiscall CDac::GetVirtualHostName(void)
+?GetVirtualHostName@CDac@@QAEPAGXZ
+; public: long __thiscall CDac::Init(unsigned short *)
+?Init@CDac@@QAEJPAG@Z
+; public: int __thiscall CDac::IsConnected(void)
+?IsConnected@CDac@@QAEHXZ
+; public: int __thiscall CDac::ProcessCommand(unsigned int,long)
+?ProcessCommand@CDac@@QAEHIJ@Z
+; void __stdcall RegisterErrorSink(struct IDacErrorSink *)
+?RegisterErrorSink@@YGXPAUIDacErrorSink@@@Z
+RunDACExe
+; public: long __thiscall CDac::ServiceRequest(unsigned long,void *,unsigned long,bool)
+?ServiceRequest@CDac@@QAEJKPAXK_N@Z
+; public: void __thiscall CDac::SetHostNameA(char *)
+?SetHostNameA@CDac@@QAEXPAD@Z
+; public: void __thiscall CDac::SetHostNameW(unsigned short *)
+?SetHostNameW@CDac@@QAEXPAG@Z
+; public: void __thiscall CDac::SetOwnerWnd(class CWnd *)
+?SetOwnerWnd@CDac@@QAEXPAVCWnd@@@Z
+; class CDac * __stdcall ValidateDACInstance(void * *,unsigned short *)
+?ValidateDACInstance@@YGPAVCDac@@PAPAXPAG@Z
+DllGetClassObject
+DllGetDTCUIC
+DllRegisterServer
+DllUnregisterServer
+DtcPerfClose
+DtcPerfCollect
+DtcPerfOpen
+PerfDllRegisterServer
+ShutDownUIC
diff --git a/mingw-w64-crt/lib64/wmsexch40.def b/mingw-w64-crt/lib64/wmsexch40.def
index dc5f9b8..015ac17 100644
--- a/mingw-w64-crt/lib64/wmsexch40.def
+++ b/mingw-w64-crt/lib64/wmsexch40.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file msexch40.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msexch40.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msexch40.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msexch40.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsexcl40.def b/mingw-w64-crt/lib64/wmsexcl40.def
index 68470f3..01a09b7 100644
--- a/mingw-w64-crt/lib64/wmsexcl40.def
+++ b/mingw-w64-crt/lib64/wmsexcl40.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file msexcl40.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msexcl40.DLL
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msexcl40.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msexcl40.DLL
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsftedit.def b/mingw-w64-crt/lib64/wmsftedit.def
index bf69ad1..98afce0 100644
--- a/mingw-w64-crt/lib64/wmsftedit.def
+++ b/mingw-w64-crt/lib64/wmsftedit.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file MSFTEDIT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSFTEDIT.dll
-EXPORTS
-IID_IRichEditOle
-IID_IRichEditOleCallback
-CreateTextServices
-IID_ITextServices
-IID_ITextHost
-IID_ITextHost2
-REExtendedRegisterClass
-RichEditANSIWndProc
-RichEdit10ANSIWndProc
-SetCustomTextOutHandlerEx
-DllGetVersion
-RichEditWndProc
-RichListBoxWndProc
-RichComboBoxWndProc
+; 
+; Exports of file MSFTEDIT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSFTEDIT.dll
+EXPORTS
+IID_IRichEditOle
+IID_IRichEditOleCallback
+CreateTextServices
+IID_ITextServices
+IID_ITextHost
+IID_ITextHost2
+REExtendedRegisterClass
+RichEditANSIWndProc
+RichEdit10ANSIWndProc
+SetCustomTextOutHandlerEx
+DllGetVersion
+RichEditWndProc
+RichListBoxWndProc
+RichComboBoxWndProc
diff --git a/mingw-w64-crt/lib64/wmsgina.def b/mingw-w64-crt/lib64/wmsgina.def
index 31097db..0645daf 100644
--- a/mingw-w64-crt/lib64/wmsgina.def
+++ b/mingw-w64-crt/lib64/wmsgina.def
@@ -1,30 +1,30 @@
-; 
-; Exports of file MSGINA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSGINA.dll
-EXPORTS
-ShellShutdownDialog
-WlxActivateUserShell
-WlxDisconnectNotify
-WlxDisplayLockedNotice
-WlxDisplaySASNotice
-WlxDisplayStatusMessage
-WlxGetConsoleSwitchCredentials
-WlxGetStatusMessage
-WlxInitialize
-WlxIsLockOk
-WlxIsLogoffOk
-WlxLoggedOnSAS
-WlxLoggedOutSAS
-WlxLogoff
-WlxNegotiate
-WlxNetworkProviderLoad
-WlxReconnectNotify
-WlxRemoveStatusMessage
-WlxScreenSaverNotify
-WlxShutdown
-WlxStartApplication
-WlxWkstaLockedSAS
+; 
+; Exports of file MSGINA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSGINA.dll
+EXPORTS
+ShellShutdownDialog
+WlxActivateUserShell
+WlxDisconnectNotify
+WlxDisplayLockedNotice
+WlxDisplaySASNotice
+WlxDisplayStatusMessage
+WlxGetConsoleSwitchCredentials
+WlxGetStatusMessage
+WlxInitialize
+WlxIsLockOk
+WlxIsLogoffOk
+WlxLoggedOnSAS
+WlxLoggedOutSAS
+WlxLogoff
+WlxNegotiate
+WlxNetworkProviderLoad
+WlxReconnectNotify
+WlxRemoveStatusMessage
+WlxScreenSaverNotify
+WlxShutdown
+WlxStartApplication
+WlxWkstaLockedSAS
diff --git a/mingw-w64-crt/lib64/wmsgr3en.def b/mingw-w64-crt/lib64/wmsgr3en.def
index bef4cf3..fa468fe 100644
--- a/mingw-w64-crt/lib64/wmsgr3en.def
+++ b/mingw-w64-crt/lib64/wmsgr3en.def
@@ -1,43 +1,43 @@
-; 
-; Exports of file msgr3en.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msgr3en.dll
-EXPORTS
-CheckVersion
-CheckInit
-CheckTerminate
-CheckText
-CheckGetError
-CheckGetErrorInformation
-CheckIgnoreError
-CheckResetError
-CheckFreeHandle
-CheckEnumHandles
-CheckUnloadDoc
-CheckOpenMdt
-CheckCloseMdt
-CheckAddStats
-CheckGetStats
-CheckInitStats
-CheckStats
-CheckIgnoreRule
-CheckResetRule
-CheckIsRuleIgnored
-CheckUseOptions
-CheckOptionSettings
-CheckResetOptions
-CheckWriteOptions
-CheckLoadPersistData
-CheckSavePersistData
-DllCanUnloadNow
-CheckSubtractStats
-CheckBatchUpdate
-CheckAddUdr
-CheckGetNamedEntity
-CheckGetNormalizedData
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msgr3en.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msgr3en.dll
+EXPORTS
+CheckVersion
+CheckInit
+CheckTerminate
+CheckText
+CheckGetError
+CheckGetErrorInformation
+CheckIgnoreError
+CheckResetError
+CheckFreeHandle
+CheckEnumHandles
+CheckUnloadDoc
+CheckOpenMdt
+CheckCloseMdt
+CheckAddStats
+CheckGetStats
+CheckInitStats
+CheckStats
+CheckIgnoreRule
+CheckResetRule
+CheckIsRuleIgnored
+CheckUseOptions
+CheckOptionSettings
+CheckResetOptions
+CheckWriteOptions
+CheckLoadPersistData
+CheckSavePersistData
+DllCanUnloadNow
+CheckSubtractStats
+CheckBatchUpdate
+CheckAddUdr
+CheckGetNamedEntity
+CheckGetNormalizedData
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmshtml.def b/mingw-w64-crt/lib64/wmshtml.def
index 3e1ceb7..e8ff914 100644
--- a/mingw-w64-crt/lib64/wmshtml.def
+++ b/mingw-w64-crt/lib64/wmshtml.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file MSHTML.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSHTML.dll
-EXPORTS
-CreateHTMLPropertyPage
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
-MatchExactGetIDsOfNames
-PrintHTML
-RNIGetCompatibleVersion
-RunHTMLApplication
-ShowHTMLDialog
-ShowHTMLDialogEx
-ShowModalDialog
-ShowModelessHTMLDialog
-com_ms_osp_ospmrshl_classInit
-com_ms_osp_ospmrshl_copyToExternal
-com_ms_osp_ospmrshl_releaseByValExternal
-com_ms_osp_ospmrshl_toJava
+; 
+; Exports of file MSHTML.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSHTML.dll
+EXPORTS
+CreateHTMLPropertyPage
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
+MatchExactGetIDsOfNames
+PrintHTML
+RNIGetCompatibleVersion
+RunHTMLApplication
+ShowHTMLDialog
+ShowHTMLDialogEx
+ShowModalDialog
+ShowModelessHTMLDialog
+com_ms_osp_ospmrshl_classInit
+com_ms_osp_ospmrshl_copyToExternal
+com_ms_osp_ospmrshl_releaseByValExternal
+com_ms_osp_ospmrshl_toJava
diff --git a/mingw-w64-crt/lib64/wmshtmled.def b/mingw-w64-crt/lib64/wmshtmled.def
index 70a799c..3639046 100644
--- a/mingw-w64-crt/lib64/wmshtmled.def
+++ b/mingw-w64-crt/lib64/wmshtmled.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file mshtmled.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mshtmled.dll
-EXPORTS
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mshtmled.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mshtmled.dll
+EXPORTS
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsi.def b/mingw-w64-crt/lib64/wmsi.def
index b77be2a..8f7cb69 100644
--- a/mingw-w64-crt/lib64/wmsi.def
+++ b/mingw-w64-crt/lib64/wmsi.def
@@ -1,289 +1,289 @@
-; 
-; Exports of file msi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msi.dll
-EXPORTS
-MsiAdvertiseProductA
-MsiAdvertiseProductW
-MsiCloseAllHandles
-MsiCloseHandle
-MsiCollectUserInfoA
-MsiCollectUserInfoW
-MsiConfigureFeatureA
-MsiConfigureFeatureFromDescriptorA
-MsiConfigureFeatureFromDescriptorW
-MsiConfigureFeatureW
-MsiConfigureProductA
-MsiConfigureProductW
-MsiCreateRecord
-MsiDatabaseApplyTransformA
-MsiDatabaseApplyTransformW
-MsiDatabaseCommit
-MsiDatabaseExportA
-MsiDatabaseExportW
-MsiDatabaseGenerateTransformA
-MsiDatabaseGenerateTransformW
-MsiDatabaseGetPrimaryKeysA
-MsiDatabaseGetPrimaryKeysW
-MsiDatabaseImportA
-MsiDatabaseImportW
-MsiDatabaseMergeA
-MsiDatabaseMergeW
-MsiDatabaseOpenViewA
-MsiDatabaseOpenViewW
-MsiDoActionA
-MsiDoActionW
-MsiEnableUIPreview
-MsiEnumClientsA
-MsiEnumClientsW
-MsiEnumComponentQualifiersA
-MsiEnumComponentQualifiersW
-MsiEnumComponentsA
-MsiEnumComponentsW
-MsiEnumFeaturesA
-MsiEnumFeaturesW
-MsiEnumProductsA
-MsiEnumProductsW
-MsiEvaluateConditionA
-MsiEvaluateConditionW
-MsiGetLastErrorRecord
-MsiGetActiveDatabase
-MsiGetComponentStateA
-MsiGetComponentStateW
-MsiGetDatabaseState
-MsiGetFeatureCostA
-MsiGetFeatureCostW
-MsiGetFeatureInfoA
-MsiGetFeatureInfoW
-MsiGetFeatureStateA
-MsiGetFeatureStateW
-MsiGetFeatureUsageA
-MsiGetFeatureUsageW
-MsiGetFeatureValidStatesA
-MsiGetFeatureValidStatesW
-MsiGetLanguage
-MsiGetMode
-MsiGetProductCodeA
-MsiGetProductCodeW
-MsiGetProductInfoA
-MsiGetProductInfoFromScriptA
-MsiGetProductInfoFromScriptW
-MsiGetProductInfoW
-MsiGetProductPropertyA
-MsiGetProductPropertyW
-MsiGetPropertyA
-MsiGetPropertyW
-MsiGetSourcePathA
-MsiGetSourcePathW
-MsiGetSummaryInformationA
-MsiGetSummaryInformationW
-MsiGetTargetPathA
-MsiGetTargetPathW
-MsiGetUserInfoA
-MsiGetUserInfoW
-MsiInstallMissingComponentA
-MsiInstallMissingComponentW
-MsiInstallMissingFileA
-MsiInstallMissingFileW
-MsiInstallProductA
-MsiInstallProductW
-MsiLocateComponentA
-MsiLocateComponentW
-MsiOpenDatabaseA
-MsiOpenDatabaseW
-MsiOpenPackageA
-MsiOpenPackageW
-MsiOpenProductA
-MsiOpenProductW
-MsiPreviewBillboardA
-MsiPreviewBillboardW
-MsiPreviewDialogA
-MsiPreviewDialogW
-MsiProcessAdvertiseScriptA
-MsiProcessAdvertiseScriptW
-MsiProcessMessage
-MsiProvideComponentA
-MsiProvideComponentFromDescriptorA
-MsiProvideComponentFromDescriptorW
-MsiProvideComponentW
-MsiProvideQualifiedComponentA
-MsiProvideQualifiedComponentW
-MsiQueryFeatureStateA
-MsiQueryFeatureStateW
-MsiQueryProductStateA
-MsiQueryProductStateW
-MsiRecordDataSize
-MsiRecordGetFieldCount
-MsiRecordGetInteger
-MsiRecordGetStringA
-MsiRecordGetStringW
-MsiRecordIsNull
-MsiRecordReadStream
-MsiRecordSetInteger
-MsiRecordSetStreamA
-MsiRecordSetStreamW
-MsiRecordSetStringA
-MsiRecordSetStringW
-MsiReinstallFeatureA
-MsiReinstallFeatureFromDescriptorA
-MsiReinstallFeatureFromDescriptorW
-MsiReinstallFeatureW
-MsiReinstallProductA
-MsiReinstallProductW
-MsiSequenceA
-MsiSequenceW
-MsiSetComponentStateA
-MsiSetComponentStateW
-MsiSetExternalUIA
-MsiSetExternalUIW
-MsiSetFeatureStateA
-MsiSetFeatureStateW
-MsiSetInstallLevel
-MsiSetInternalUI
-MsiVerifyDiskSpace
-MsiSetMode
-MsiSetPropertyA
-MsiSetPropertyW
-MsiSetTargetPathA
-MsiSetTargetPathW
-MsiSummaryInfoGetPropertyA
-MsiSummaryInfoGetPropertyCount
-MsiSummaryInfoGetPropertyW
-MsiSummaryInfoPersist
-MsiSummaryInfoSetPropertyA
-MsiSummaryInfoSetPropertyW
-MsiUseFeatureA
-MsiUseFeatureW
-MsiVerifyPackageA
-MsiVerifyPackageW
-MsiViewClose
-MsiViewExecute
-MsiViewFetch
-MsiViewGetErrorA
-MsiViewGetErrorW
-MsiViewModify
-MsiDatabaseIsTablePersistentA
-MsiDatabaseIsTablePersistentW
-MsiViewGetColumnInfo
-MsiRecordClearData
-MsiEnableLogA
-MsiEnableLogW
-MsiFormatRecordA
-MsiFormatRecordW
-MsiGetComponentPathA
-MsiGetComponentPathW
-MsiApplyPatchA
-MsiApplyPatchW
-MsiAdvertiseScriptA
-MsiAdvertiseScriptW
-MsiGetPatchInfoA
-MsiGetPatchInfoW
-MsiEnumPatchesA
-MsiEnumPatchesW
-DllGetVersion
-MsiGetProductCodeFromPackageCodeA
-MsiGetProductCodeFromPackageCodeW
-MsiCreateTransformSummaryInfoA
-MsiCreateTransformSummaryInfoW
-MsiQueryFeatureStateFromDescriptorA
-MsiQueryFeatureStateFromDescriptorW
-MsiConfigureProductExA
-MsiConfigureProductExW
-MsiInvalidateFeatureCache
-MsiUseFeatureExA
-MsiUseFeatureExW
-MsiGetFileVersionA
-MsiGetFileVersionW
-MsiLoadStringA
-MsiLoadStringW
-MsiMessageBoxA
-MsiMessageBoxW
-MsiDecomposeDescriptorA
-MsiDecomposeDescriptorW
-MsiProvideQualifiedComponentExA
-MsiProvideQualifiedComponentExW
-MsiEnumRelatedProductsA
-MsiEnumRelatedProductsW
-MsiSetFeatureAttributesA
-MsiSetFeatureAttributesW
-MsiSourceListClearAllA
-MsiSourceListClearAllW
-MsiSourceListAddSourceA
-MsiSourceListAddSourceW
-MsiSourceListForceResolutionA
-MsiSourceListForceResolutionW
-MsiIsProductElevatedA
-MsiIsProductElevatedW
-MsiGetShortcutTargetA
-MsiGetShortcutTargetW
-MsiGetFileHashA
-MsiGetFileHashW
-MsiEnumComponentCostsA
-MsiEnumComponentCostsW
-MsiCreateAndVerifyInstallerDirectory
-MsiGetFileSignatureInformationA
-MsiGetFileSignatureInformationW
-MsiProvideAssemblyA
-MsiProvideAssemblyW
-MsiAdvertiseProductExA
-MsiAdvertiseProductExW
-MsiNotifySidChangeA
-MsiNotifySidChangeW
-MsiOpenPackageExA
-MsiOpenPackageExW
-MsiDeleteUserDataA
-MsiDeleteUserDataW
-Migrate10CachedPackagesA
-Migrate10CachedPackagesW
-MsiRemovePatchesA
-MsiRemovePatchesW
-MsiApplyMultiplePatchesA
-MsiApplyMultiplePatchesW
-MsiExtractPatchXMLDataA
-MsiExtractPatchXMLDataW
-MsiGetPatchInfoExA
-MsiGetPatchInfoExW
-MsiEnumProductsExA
-MsiEnumProductsExW
-MsiGetProductInfoExA
-MsiGetProductInfoExW
-MsiQueryComponentStateA
-MsiQueryComponentStateW
-MsiQueryFeatureStateExA
-MsiQueryFeatureStateExW
-MsiDeterminePatchSequenceA
-MsiDeterminePatchSequenceW
-MsiSourceListAddSourceExA
-MsiSourceListAddSourceExW
-MsiSourceListClearSourceA
-MsiSourceListClearSourceW
-MsiSourceListClearAllExA
-MsiSourceListClearAllExW
-MsiSourceListForceResolutionExA
-MsiSourceListForceResolutionExW
-MsiSourceListEnumSourcesA
-MsiSourceListEnumSourcesW
-MsiSourceListGetInfoA
-MsiSourceListGetInfoW
-MsiSourceListSetInfoA
-MsiSourceListSetInfoW
-MsiEnumPatchesExA
-MsiEnumPatchesExW
-MsiSourceListEnumMediaDisksA
-MsiSourceListEnumMediaDisksW
-MsiSourceListAddMediaDiskA
-MsiSourceListAddMediaDiskW
-MsiSourceListClearMediaDiskA
-MsiSourceListClearMediaDiskW
-MsiDetermineApplicablePatchesA
-MsiDetermineApplicablePatchesW
-MsiMessageBoxExA
-MsiMessageBoxExW
-MsiSetExternalUIRecord
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msi.dll
+EXPORTS
+MsiAdvertiseProductA
+MsiAdvertiseProductW
+MsiCloseAllHandles
+MsiCloseHandle
+MsiCollectUserInfoA
+MsiCollectUserInfoW
+MsiConfigureFeatureA
+MsiConfigureFeatureFromDescriptorA
+MsiConfigureFeatureFromDescriptorW
+MsiConfigureFeatureW
+MsiConfigureProductA
+MsiConfigureProductW
+MsiCreateRecord
+MsiDatabaseApplyTransformA
+MsiDatabaseApplyTransformW
+MsiDatabaseCommit
+MsiDatabaseExportA
+MsiDatabaseExportW
+MsiDatabaseGenerateTransformA
+MsiDatabaseGenerateTransformW
+MsiDatabaseGetPrimaryKeysA
+MsiDatabaseGetPrimaryKeysW
+MsiDatabaseImportA
+MsiDatabaseImportW
+MsiDatabaseMergeA
+MsiDatabaseMergeW
+MsiDatabaseOpenViewA
+MsiDatabaseOpenViewW
+MsiDoActionA
+MsiDoActionW
+MsiEnableUIPreview
+MsiEnumClientsA
+MsiEnumClientsW
+MsiEnumComponentQualifiersA
+MsiEnumComponentQualifiersW
+MsiEnumComponentsA
+MsiEnumComponentsW
+MsiEnumFeaturesA
+MsiEnumFeaturesW
+MsiEnumProductsA
+MsiEnumProductsW
+MsiEvaluateConditionA
+MsiEvaluateConditionW
+MsiGetLastErrorRecord
+MsiGetActiveDatabase
+MsiGetComponentStateA
+MsiGetComponentStateW
+MsiGetDatabaseState
+MsiGetFeatureCostA
+MsiGetFeatureCostW
+MsiGetFeatureInfoA
+MsiGetFeatureInfoW
+MsiGetFeatureStateA
+MsiGetFeatureStateW
+MsiGetFeatureUsageA
+MsiGetFeatureUsageW
+MsiGetFeatureValidStatesA
+MsiGetFeatureValidStatesW
+MsiGetLanguage
+MsiGetMode
+MsiGetProductCodeA
+MsiGetProductCodeW
+MsiGetProductInfoA
+MsiGetProductInfoFromScriptA
+MsiGetProductInfoFromScriptW
+MsiGetProductInfoW
+MsiGetProductPropertyA
+MsiGetProductPropertyW
+MsiGetPropertyA
+MsiGetPropertyW
+MsiGetSourcePathA
+MsiGetSourcePathW
+MsiGetSummaryInformationA
+MsiGetSummaryInformationW
+MsiGetTargetPathA
+MsiGetTargetPathW
+MsiGetUserInfoA
+MsiGetUserInfoW
+MsiInstallMissingComponentA
+MsiInstallMissingComponentW
+MsiInstallMissingFileA
+MsiInstallMissingFileW
+MsiInstallProductA
+MsiInstallProductW
+MsiLocateComponentA
+MsiLocateComponentW
+MsiOpenDatabaseA
+MsiOpenDatabaseW
+MsiOpenPackageA
+MsiOpenPackageW
+MsiOpenProductA
+MsiOpenProductW
+MsiPreviewBillboardA
+MsiPreviewBillboardW
+MsiPreviewDialogA
+MsiPreviewDialogW
+MsiProcessAdvertiseScriptA
+MsiProcessAdvertiseScriptW
+MsiProcessMessage
+MsiProvideComponentA
+MsiProvideComponentFromDescriptorA
+MsiProvideComponentFromDescriptorW
+MsiProvideComponentW
+MsiProvideQualifiedComponentA
+MsiProvideQualifiedComponentW
+MsiQueryFeatureStateA
+MsiQueryFeatureStateW
+MsiQueryProductStateA
+MsiQueryProductStateW
+MsiRecordDataSize
+MsiRecordGetFieldCount
+MsiRecordGetInteger
+MsiRecordGetStringA
+MsiRecordGetStringW
+MsiRecordIsNull
+MsiRecordReadStream
+MsiRecordSetInteger
+MsiRecordSetStreamA
+MsiRecordSetStreamW
+MsiRecordSetStringA
+MsiRecordSetStringW
+MsiReinstallFeatureA
+MsiReinstallFeatureFromDescriptorA
+MsiReinstallFeatureFromDescriptorW
+MsiReinstallFeatureW
+MsiReinstallProductA
+MsiReinstallProductW
+MsiSequenceA
+MsiSequenceW
+MsiSetComponentStateA
+MsiSetComponentStateW
+MsiSetExternalUIA
+MsiSetExternalUIW
+MsiSetFeatureStateA
+MsiSetFeatureStateW
+MsiSetInstallLevel
+MsiSetInternalUI
+MsiVerifyDiskSpace
+MsiSetMode
+MsiSetPropertyA
+MsiSetPropertyW
+MsiSetTargetPathA
+MsiSetTargetPathW
+MsiSummaryInfoGetPropertyA
+MsiSummaryInfoGetPropertyCount
+MsiSummaryInfoGetPropertyW
+MsiSummaryInfoPersist
+MsiSummaryInfoSetPropertyA
+MsiSummaryInfoSetPropertyW
+MsiUseFeatureA
+MsiUseFeatureW
+MsiVerifyPackageA
+MsiVerifyPackageW
+MsiViewClose
+MsiViewExecute
+MsiViewFetch
+MsiViewGetErrorA
+MsiViewGetErrorW
+MsiViewModify
+MsiDatabaseIsTablePersistentA
+MsiDatabaseIsTablePersistentW
+MsiViewGetColumnInfo
+MsiRecordClearData
+MsiEnableLogA
+MsiEnableLogW
+MsiFormatRecordA
+MsiFormatRecordW
+MsiGetComponentPathA
+MsiGetComponentPathW
+MsiApplyPatchA
+MsiApplyPatchW
+MsiAdvertiseScriptA
+MsiAdvertiseScriptW
+MsiGetPatchInfoA
+MsiGetPatchInfoW
+MsiEnumPatchesA
+MsiEnumPatchesW
+DllGetVersion
+MsiGetProductCodeFromPackageCodeA
+MsiGetProductCodeFromPackageCodeW
+MsiCreateTransformSummaryInfoA
+MsiCreateTransformSummaryInfoW
+MsiQueryFeatureStateFromDescriptorA
+MsiQueryFeatureStateFromDescriptorW
+MsiConfigureProductExA
+MsiConfigureProductExW
+MsiInvalidateFeatureCache
+MsiUseFeatureExA
+MsiUseFeatureExW
+MsiGetFileVersionA
+MsiGetFileVersionW
+MsiLoadStringA
+MsiLoadStringW
+MsiMessageBoxA
+MsiMessageBoxW
+MsiDecomposeDescriptorA
+MsiDecomposeDescriptorW
+MsiProvideQualifiedComponentExA
+MsiProvideQualifiedComponentExW
+MsiEnumRelatedProductsA
+MsiEnumRelatedProductsW
+MsiSetFeatureAttributesA
+MsiSetFeatureAttributesW
+MsiSourceListClearAllA
+MsiSourceListClearAllW
+MsiSourceListAddSourceA
+MsiSourceListAddSourceW
+MsiSourceListForceResolutionA
+MsiSourceListForceResolutionW
+MsiIsProductElevatedA
+MsiIsProductElevatedW
+MsiGetShortcutTargetA
+MsiGetShortcutTargetW
+MsiGetFileHashA
+MsiGetFileHashW
+MsiEnumComponentCostsA
+MsiEnumComponentCostsW
+MsiCreateAndVerifyInstallerDirectory
+MsiGetFileSignatureInformationA
+MsiGetFileSignatureInformationW
+MsiProvideAssemblyA
+MsiProvideAssemblyW
+MsiAdvertiseProductExA
+MsiAdvertiseProductExW
+MsiNotifySidChangeA
+MsiNotifySidChangeW
+MsiOpenPackageExA
+MsiOpenPackageExW
+MsiDeleteUserDataA
+MsiDeleteUserDataW
+Migrate10CachedPackagesA
+Migrate10CachedPackagesW
+MsiRemovePatchesA
+MsiRemovePatchesW
+MsiApplyMultiplePatchesA
+MsiApplyMultiplePatchesW
+MsiExtractPatchXMLDataA
+MsiExtractPatchXMLDataW
+MsiGetPatchInfoExA
+MsiGetPatchInfoExW
+MsiEnumProductsExA
+MsiEnumProductsExW
+MsiGetProductInfoExA
+MsiGetProductInfoExW
+MsiQueryComponentStateA
+MsiQueryComponentStateW
+MsiQueryFeatureStateExA
+MsiQueryFeatureStateExW
+MsiDeterminePatchSequenceA
+MsiDeterminePatchSequenceW
+MsiSourceListAddSourceExA
+MsiSourceListAddSourceExW
+MsiSourceListClearSourceA
+MsiSourceListClearSourceW
+MsiSourceListClearAllExA
+MsiSourceListClearAllExW
+MsiSourceListForceResolutionExA
+MsiSourceListForceResolutionExW
+MsiSourceListEnumSourcesA
+MsiSourceListEnumSourcesW
+MsiSourceListGetInfoA
+MsiSourceListGetInfoW
+MsiSourceListSetInfoA
+MsiSourceListSetInfoW
+MsiEnumPatchesExA
+MsiEnumPatchesExW
+MsiSourceListEnumMediaDisksA
+MsiSourceListEnumMediaDisksW
+MsiSourceListAddMediaDiskA
+MsiSourceListAddMediaDiskW
+MsiSourceListClearMediaDiskA
+MsiSourceListClearMediaDiskW
+MsiDetermineApplicablePatchesA
+MsiDetermineApplicablePatchesW
+MsiMessageBoxExA
+MsiMessageBoxExW
+MsiSetExternalUIRecord
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsident.def b/mingw-w64-crt/lib64/wmsident.def
index 12b486a..c3191bc 100644
--- a/mingw-w64-crt/lib64/wmsident.def
+++ b/mingw-w64-crt/lib64/wmsident.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msident.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msident.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msident.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msident.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsieftp.def b/mingw-w64-crt/lib64/wmsieftp.def
index 745d681..f541eb5 100644
--- a/mingw-w64-crt/lib64/wmsieftp.def
+++ b/mingw-w64-crt/lib64/wmsieftp.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSIEFTP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSIEFTP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSIEFTP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSIEFTP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsihnd.def b/mingw-w64-crt/lib64/wmsihnd.def
index 450901c..0266506 100644
--- a/mingw-w64-crt/lib64/wmsihnd.def
+++ b/mingw-w64-crt/lib64/wmsihnd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msihnd.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msihnd.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file msihnd.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msihnd.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wmsimg32.def b/mingw-w64-crt/lib64/wmsimg32.def
index b931d22..c607508 100644
--- a/mingw-w64-crt/lib64/wmsimg32.def
+++ b/mingw-w64-crt/lib64/wmsimg32.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSIMG32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSIMG32.dll
-EXPORTS
-vSetDdrawflag
-AlphaBlend
-DllInitialize
-GradientFill
-TransparentBlt
+; 
+; Exports of file MSIMG32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSIMG32.dll
+EXPORTS
+vSetDdrawflag
+AlphaBlend
+DllInitialize
+GradientFill
+TransparentBlt
diff --git a/mingw-w64-crt/lib64/wmsir3jp.def b/mingw-w64-crt/lib64/wmsir3jp.def
index 80d5ab8..9be8c1f 100644
--- a/mingw-w64-crt/lib64/wmsir3jp.def
+++ b/mingw-w64-crt/lib64/wmsir3jp.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file msir3jp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msir3jp.dll
-EXPORTS
-EnumSelectionOffsets
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-EnumSummarizationOffsets
-EnumStemInfo
-EnumSentenceOffsets
-WordBreakInit
-WordBreakInitEx
-EnumPhrases
-EnumSummarizationOffsetsEx
-EnumStemOffsets
+; 
+; Exports of file msir3jp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msir3jp.dll
+EXPORTS
+EnumSelectionOffsets
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+EnumSummarizationOffsets
+EnumStemInfo
+EnumSentenceOffsets
+WordBreakInit
+WordBreakInitEx
+EnumPhrases
+EnumSummarizationOffsetsEx
+EnumStemOffsets
diff --git a/mingw-w64-crt/lib64/wmsisip.def b/mingw-w64-crt/lib64/wmsisip.def
index 251139e..9e3ca90 100644
--- a/mingw-w64-crt/lib64/wmsisip.def
+++ b/mingw-w64-crt/lib64/wmsisip.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file msisip.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msisip.dll
-EXPORTS
-MsiSIPIsMyTypeOfFile
-MsiSIPGetSignedDataMsg
-MsiSIPPutSignedDataMsg
-MsiSIPRemoveSignedDataMsg
-MsiSIPCreateIndirectData
-MsiSIPVerifyIndirectData
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msisip.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msisip.dll
+EXPORTS
+MsiSIPIsMyTypeOfFile
+MsiSIPGetSignedDataMsg
+MsiSIPPutSignedDataMsg
+MsiSIPRemoveSignedDataMsg
+MsiSIPCreateIndirectData
+MsiSIPVerifyIndirectData
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsjet40.def b/mingw-w64-crt/lib64/wmsjet40.def
index a6676ba..2060d0e 100644
--- a/mingw-w64-crt/lib64/wmsjet40.def
+++ b/mingw-w64-crt/lib64/wmsjet40.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file msjet40.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msjet40.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msjet40.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msjet40.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsjetol1.def b/mingw-w64-crt/lib64/wmsjetol1.def
index 4eaffe8..6a43dfb 100644
--- a/mingw-w64-crt/lib64/wmsjetol1.def
+++ b/mingw-w64-crt/lib64/wmsjetol1.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSJETOLEDB40.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSJETOLEDB40.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSJETOLEDB40.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSJETOLEDB40.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsjint40.def b/mingw-w64-crt/lib64/wmsjint40.def
index 5fe1b6a..0966e76 100644
--- a/mingw-w64-crt/lib64/wmsjint40.def
+++ b/mingw-w64-crt/lib64/wmsjint40.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSJINT40.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSJINT40.DLL
-EXPORTS
-CchLszOfId2
+; 
+; Exports of file MSJINT40.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSJINT40.DLL
+EXPORTS
+CchLszOfId2
diff --git a/mingw-w64-crt/lib64/wmsjro.def b/mingw-w64-crt/lib64/wmsjro.def
index 5449c38..956f850 100644
--- a/mingw-w64-crt/lib64/wmsjro.def
+++ b/mingw-w64-crt/lib64/wmsjro.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msjro.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msjro.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msjro.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msjro.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsjter40.def b/mingw-w64-crt/lib64/wmsjter40.def
index f575233..fa6319c 100644
--- a/mingw-w64-crt/lib64/wmsjter40.def
+++ b/mingw-w64-crt/lib64/wmsjter40.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msjter40.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msjter40.dll
-EXPORTS
-JetErrIDAForError
-JetErrIDARawMessage
-JetErrRawMessage
-JetErrFormattedMessage
+; 
+; Exports of file msjter40.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msjter40.dll
+EXPORTS
+JetErrIDAForError
+JetErrIDARawMessage
+JetErrRawMessage
+JetErrFormattedMessage
diff --git a/mingw-w64-crt/lib64/wmsjtes40.def b/mingw-w64-crt/lib64/wmsjtes40.def
index fee9f47..3640a04 100644
--- a/mingw-w64-crt/lib64/wmsjtes40.def
+++ b/mingw-w64-crt/lib64/wmsjtes40.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSJTES40.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSJTES40.dll
-EXPORTS
-DllMain
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSJTES40.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSJTES40.dll
+EXPORTS
+DllMain
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmslbui.def b/mingw-w64-crt/lib64/wmslbui.def
index 1a79fb8..fc3e807 100644
--- a/mingw-w64-crt/lib64/wmslbui.def
+++ b/mingw-w64-crt/lib64/wmslbui.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSLBUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSLBUI.dll
-EXPORTS
-CTFGetLangBarAddIn
+; 
+; Exports of file MSLBUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSLBUI.dll
+EXPORTS
+CTFGetLangBarAddIn
diff --git a/mingw-w64-crt/lib64/wmsls31.def b/mingw-w64-crt/lib64/wmsls31.def
index 375389f..d0447f7 100644
--- a/mingw-w64-crt/lib64/wmsls31.def
+++ b/mingw-w64-crt/lib64/wmsls31.def
@@ -1,87 +1,87 @@
-; 
-; Exports of file msls31.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msls31.dll
-EXPORTS
-LsCreateContext
-LsDestroyContext
-LsCreateLine
-LsModifyLineHeight
-LsDestroyLine
-LsCreateSubline
-LsFetchAppendToCurrentSubline
-LsAppendRunToCurrentSubline
-LsResetRMInCurrentSubline
-LsFinishCurrentSubline
-LsTruncateSubline
-LsFindPrevBreakSubline
-LsFindNextBreakSubline
-LsForceBreakSubline
-LsSetBreakSubline
-LsDestroySubline
-LsMatchPresSubline
-LsExpandSubline
-LsGetSpecialEffectsSubline
-LsdnFinishRegular
-LsdnFinishRegularAddAdvancePen
-LsdnFinishDelete
-LsdnFinishByPen
-LsdnFinishBySubline
-LsdnFinishDeleteAll
-LsdnFinishByOneChar
-LsdnQueryObjDimRange
-LsdnResetObjDim
-LsdnQueryPenNode
-LsdnResetPenNode
-LsdnSetRigidDup
-LsdnGetDup
-LsdnSetAbsBaseLine
-LsdnResolvePrevTab
-LsdnGetCurTabInfo
-LsdnSkipCurTab
-LsdnDistribute
-LsdnSubmitSublines
-LsDisplayLine
-LsDisplaySubline
-LsQueryLineCpPpoint
-LsQueryLinePointPcp
-LsQueryLineDup
-LsQueryFLineEmpty
-LsQueryPointPcpSubline
-LsQueryCpPpointSubline
-LsSetDoc
-LsSetModWidthPairs
-LsSetCompression
-LsSetExpansion
-LsSetBreaking
-LssbGetObjDimSubline
-LssbGetDupSubline
-LssbFDonePresSubline
-LssbGetPlsrunsFromSubline
-LssbGetNumberDnodesInSubline
-LssbGetVisibleDcpInSubline
-LsPointXYFromPointUV
-LsPointUV2FromPointUV1
-LsGetWarichuLsimethods
-LsGetRubyLsimethods
-LsGetTatenakayokoLsimethods
-LsSqueezeSubline
-LsCompressSubline
-LsGetHihLsimethods
-LsQueryTextCellDetails
-LsFetchAppendToCurrentSublineResume
-LsdnGetFormatDepth
-LssbFDoneDisplay
-LsGetReverseLsimethods
-LsEnumLine
-LsGetMinDurBreaks
-LsGetLineDur
-LsEnumSubline
-LsdnModifyParaEnding
-LssbGetDurTrailInSubline
-LssbGetDurTrailWithPensInSubline
-LssbFIsSublineEmpty
-LsLwMultDivR
+; 
+; Exports of file msls31.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msls31.dll
+EXPORTS
+LsCreateContext
+LsDestroyContext
+LsCreateLine
+LsModifyLineHeight
+LsDestroyLine
+LsCreateSubline
+LsFetchAppendToCurrentSubline
+LsAppendRunToCurrentSubline
+LsResetRMInCurrentSubline
+LsFinishCurrentSubline
+LsTruncateSubline
+LsFindPrevBreakSubline
+LsFindNextBreakSubline
+LsForceBreakSubline
+LsSetBreakSubline
+LsDestroySubline
+LsMatchPresSubline
+LsExpandSubline
+LsGetSpecialEffectsSubline
+LsdnFinishRegular
+LsdnFinishRegularAddAdvancePen
+LsdnFinishDelete
+LsdnFinishByPen
+LsdnFinishBySubline
+LsdnFinishDeleteAll
+LsdnFinishByOneChar
+LsdnQueryObjDimRange
+LsdnResetObjDim
+LsdnQueryPenNode
+LsdnResetPenNode
+LsdnSetRigidDup
+LsdnGetDup
+LsdnSetAbsBaseLine
+LsdnResolvePrevTab
+LsdnGetCurTabInfo
+LsdnSkipCurTab
+LsdnDistribute
+LsdnSubmitSublines
+LsDisplayLine
+LsDisplaySubline
+LsQueryLineCpPpoint
+LsQueryLinePointPcp
+LsQueryLineDup
+LsQueryFLineEmpty
+LsQueryPointPcpSubline
+LsQueryCpPpointSubline
+LsSetDoc
+LsSetModWidthPairs
+LsSetCompression
+LsSetExpansion
+LsSetBreaking
+LssbGetObjDimSubline
+LssbGetDupSubline
+LssbFDonePresSubline
+LssbGetPlsrunsFromSubline
+LssbGetNumberDnodesInSubline
+LssbGetVisibleDcpInSubline
+LsPointXYFromPointUV
+LsPointUV2FromPointUV1
+LsGetWarichuLsimethods
+LsGetRubyLsimethods
+LsGetTatenakayokoLsimethods
+LsSqueezeSubline
+LsCompressSubline
+LsGetHihLsimethods
+LsQueryTextCellDetails
+LsFetchAppendToCurrentSublineResume
+LsdnGetFormatDepth
+LssbFDoneDisplay
+LsGetReverseLsimethods
+LsEnumLine
+LsGetMinDurBreaks
+LsGetLineDur
+LsEnumSubline
+LsdnModifyParaEnding
+LssbGetDurTrailInSubline
+LssbGetDurTrailWithPensInSubline
+LssbFIsSublineEmpty
+LsLwMultDivR
diff --git a/mingw-w64-crt/lib64/wmsltus40.def b/mingw-w64-crt/lib64/wmsltus40.def
index 4fb715f..aa66f79 100644
--- a/mingw-w64-crt/lib64/wmsltus40.def
+++ b/mingw-w64-crt/lib64/wmsltus40.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file msltus40.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msltus40.DLL
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msltus40.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msltus40.DLL
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmslwvtts.def b/mingw-w64-crt/lib64/wmslwvtts.def
index 21b28ec..62486cc 100644
--- a/mingw-w64-crt/lib64/wmslwvtts.def
+++ b/mingw-w64-crt/lib64/wmslwvtts.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSLWVTTS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSLWVTTS.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSLWVTTS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSLWVTTS.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsnetobj.def b/mingw-w64-crt/lib64/wmsnetobj.def
index 5cbe7a6..bd0ebcd 100644
--- a/mingw-w64-crt/lib64/wmsnetobj.def
+++ b/mingw-w64-crt/lib64/wmsnetobj.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file msnetobj.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msnetobj.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msnetobj.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msnetobj.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsnsspc.def b/mingw-w64-crt/lib64/wmsnsspc.def
index 278e534..79ff671 100644
--- a/mingw-w64-crt/lib64/wmsnsspc.def
+++ b/mingw-w64-crt/lib64/wmsnsspc.def
@@ -1,32 +1,32 @@
-; 
-; Exports of file MSNSSPC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSNSSPC.dll
-EXPORTS
-InitSecurityInterfaceA
-InitSecurityInterfaceW
-AcquireCredentialsHandleA
-AcquireCredentialsHandleW
-DeleteSecurityContext
-FreeCredentialsHandle
-InitializeSecurityContextA
-InitializeSecurityContextW
-EnumerateSecurityPackagesA
-EnumerateSecurityPackagesW
-QueryContextAttributesA
-QueryContextAttributesW
-QuerySecurityPackageInfoA
-QuerySecurityPackageInfoW
-CompleteAuthToken
-ApplyControlToken
-MakeSignature
-VerifySignature
-FreeContextBuffer
-SealMessage
-UnsealMessage
-SetMSNAccountInfo
-SspcCreateSspiReg
-CleanupCredentialCache
+; 
+; Exports of file MSNSSPC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSNSSPC.dll
+EXPORTS
+InitSecurityInterfaceA
+InitSecurityInterfaceW
+AcquireCredentialsHandleA
+AcquireCredentialsHandleW
+DeleteSecurityContext
+FreeCredentialsHandle
+InitializeSecurityContextA
+InitializeSecurityContextW
+EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW
+QueryContextAttributesA
+QueryContextAttributesW
+QuerySecurityPackageInfoA
+QuerySecurityPackageInfoW
+CompleteAuthToken
+ApplyControlToken
+MakeSignature
+VerifySignature
+FreeContextBuffer
+SealMessage
+UnsealMessage
+SetMSNAccountInfo
+SspcCreateSspiReg
+CleanupCredentialCache
diff --git a/mingw-w64-crt/lib64/wmsoe.def b/mingw-w64-crt/lib64/wmsoe.def
index 27b4ae4..21c0b7f 100644
--- a/mingw-w64-crt/lib64/wmsoe.def
+++ b/mingw-w64-crt/lib64/wmsoe.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file MSOE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOE.dll
-EXPORTS
-BMAPIAddress
-BMAPIDetails
-BMAPIFindNext
-BMAPIGetAddress
-BMAPIGetReadMail
-BMAPIReadMail
-BMAPIResolveName
-BMAPISaveMail
-BMAPISendMail
-CoStartOutlookExpress
-FIsDefaultMailConfiged
-FIsDefaultNewsConfiged
-ImportMailStoreToGUID
-ImportNewsListToGUID
-SetDefaultMailHandler
-SetDefaultNewsHandler
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-MAPIAddress
-MAPIDeleteMail
-MAPIDetails
-MAPIFindNext
-MAPIFreeBuffer
-MAPILogoff
-MAPILogon
-MAPIReadMail
-MAPIResolveName
-MAPISaveMail
-MAPISendDocuments
-MAPISendMail
+; 
+; Exports of file MSOE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOE.dll
+EXPORTS
+BMAPIAddress
+BMAPIDetails
+BMAPIFindNext
+BMAPIGetAddress
+BMAPIGetReadMail
+BMAPIReadMail
+BMAPIResolveName
+BMAPISaveMail
+BMAPISendMail
+CoStartOutlookExpress
+FIsDefaultMailConfiged
+FIsDefaultNewsConfiged
+ImportMailStoreToGUID
+ImportNewsListToGUID
+SetDefaultMailHandler
+SetDefaultNewsHandler
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+MAPIAddress
+MAPIDeleteMail
+MAPIDetails
+MAPIFindNext
+MAPIFreeBuffer
+MAPILogoff
+MAPILogon
+MAPIReadMail
+MAPIResolveName
+MAPISaveMail
+MAPISendDocuments
+MAPISendMail
diff --git a/mingw-w64-crt/lib64/wmsoeacct.def b/mingw-w64-crt/lib64/wmsoeacct.def
index 28ba36c..dfa0bd8 100644
--- a/mingw-w64-crt/lib64/wmsoeacct.def
+++ b/mingw-w64-crt/lib64/wmsoeacct.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file MSOEACCT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOEACCT.dll
-EXPORTS
-CreateAccountsFromFile
-CreateAccountsFromFileEx
-GetDllMajorVersion
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-HrCreateAccountManager
-ValidEmailAddress
+; 
+; Exports of file MSOEACCT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOEACCT.dll
+EXPORTS
+CreateAccountsFromFile
+CreateAccountsFromFileEx
+GetDllMajorVersion
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+HrCreateAccountManager
+ValidEmailAddress
diff --git a/mingw-w64-crt/lib64/wmsoert2.def b/mingw-w64-crt/lib64/wmsoert2.def
index 5c98ec6..e3bf610 100644
--- a/mingw-w64-crt/lib64/wmsoert2.def
+++ b/mingw-w64-crt/lib64/wmsoert2.def
@@ -1,162 +1,162 @@
-; 
-; Exports of file MSOERT2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSOERT2.dll
-EXPORTS
-CreateSystemHandleName
-CryptAllocFunc
-CryptFreeFunc
-FInitializeRichEdit
-GetDllMajorVersion
-GetHtmlCharset
-GetRichEdClassStringW
-HrGetCertKeyUsage
-HrVerifyCertEnhKeyUsage
-IUnknownList_CreateInstance
-IVoidPtrList_CreateInstance
-IsHttpUrlA
-SetFontOnRichEd
-AppendTempFileList
-AthwsprintfW
-BrowseForFolder
-BrowseForFolderW
-BuildNotificationPackage
-CchFileTimeToDateTimeSz
-CchFileTimeToDateTimeW
-CenterDialog
-ChConvertFromHex
-CleanupFileNameInPlaceA
-CleanupFileNameInPlaceW
-CleanupGlobalTempFiles
-CopyRegistry
-CrackNotificationPackage
-CreateDataObject
-CreateEnumFormatEtc
-CreateInfoWindow
-CreateLogFile
-CreateNotify
-CreateStreamOnHFile
-CreateStreamOnHFileW
-CreateTempFile
-CreateTempFileStream
-DeleteTempFile
-DeleteTempFileOnShutdown
-DeleteTempFileOnShutdownEx
-DoHotMailWizard
-FBuildTempPath
-FBuildTempPathW
-FIsEmptyA
-FIsEmptyW
-FIsHTMLFile
-FIsHTMLFileW
-FIsSpaceA
-FIsSpaceW
-FIsValidFileNameCharA
-FIsValidFileNameCharW
-FMissingCert
-FreeTempFileList
-GenerateUniqueFileName
-GetExePath
-HrBSTRToLPSZ
-HrByteToStream
-HrCheckTridentMenu
-HrCopyLockBytesToStream
-HrCopyStream
-HrCopyStreamCB
-HrCopyStreamCBEndOnCRLF
-HrCopyStreamToByte
-HrCreatePhonebookEntry
-HrCreateTridentMenu
-HrDecodeObject
-HrEditPhonebookEntry
-HrFillRasCombo
-HrFindInetTimeZone
-HrGetBodyElement
-HrGetCertificateParam
-HrGetElementImpl
-HrGetMsgParam
-HrGetStreamPos
-HrGetStreamSize
-HrGetStyleSheet
-HrIStreamToBSTR
-HrIStreamWToBSTR
-HrIndexOfMonth
-HrIndexOfWeek
-HrIsStreamUnicode
-HrLPSZCPToBSTR
-HrLPSZToBSTR
-HrRewindStream
-HrSafeGetStreamSize
-HrSetDirtyFlagImpl
-HrStreamSeekBegin
-HrStreamSeekCur
-HrStreamSeekEnd
-HrStreamSeekSet
-HrStreamToByte
-IDrawText
-IsDigit
-IsPlatformWinNT
-IsPrint
-IsUpper
-IsValidFileIfFileUrl
-IsValidFileIfFileUrlW
-LoadMappedToolbarBitmap
-MessageBoxInst
-MessageBoxInstW
-OpenFileStream
-OpenFileStreamShare
-OpenFileStreamShareW
-OpenFileStreamW
-OpenFileStreamWithFlags
-OpenFileStreamWithFlagsW
-PSTCreateTypeSubType_NoUI
-PSTFreeHandle
-PSTGetData
-PSTSetNewData
-PVDecodeObject
-PVGetCertificateParam
-PVGetMsgParam
-PszAllocA
-PszAllocW
-PszDayFromIndex
-PszDupA
-PszDupLenA
-PszDupW
-PszEscapeMenuStringA
-PszFromANSIStreamA
-PszMonthFromIndex
-PszScanToCharA
-PszScanToWhiteA
-PszSkipWhiteA
-PszSkipWhiteW
-PszToANSI
-PszToUnicode
-ReplaceChars
-ReplaceCharsW
-RicheditStreamIn
-RicheditStreamOut
-SetIntlFont
-SetWindowLongPtrAthW
-ShellUtil_GetSpecialFolderPath
-StrChrExA
-StrToUintA
-StrToUintW
-StrTokEx
-StreamSubStringMatch
-StripCRLF
-SzGetCertificateEmailAddress
-UlStripWhitespace
-UlStripWhitespaceW
-UnlocStrEqNW
-UpdateRebarBandColors
-WriteStreamToFile
-WriteStreamToFileHandle
-WriteStreamToFileW
-WszGenerateNameFromBlob
-_MSG
-fGetBrowserUrlEncoding
-strtrim
-strtrimW
+; 
+; Exports of file MSOERT2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSOERT2.dll
+EXPORTS
+CreateSystemHandleName
+CryptAllocFunc
+CryptFreeFunc
+FInitializeRichEdit
+GetDllMajorVersion
+GetHtmlCharset
+GetRichEdClassStringW
+HrGetCertKeyUsage
+HrVerifyCertEnhKeyUsage
+IUnknownList_CreateInstance
+IVoidPtrList_CreateInstance
+IsHttpUrlA
+SetFontOnRichEd
+AppendTempFileList
+AthwsprintfW
+BrowseForFolder
+BrowseForFolderW
+BuildNotificationPackage
+CchFileTimeToDateTimeSz
+CchFileTimeToDateTimeW
+CenterDialog
+ChConvertFromHex
+CleanupFileNameInPlaceA
+CleanupFileNameInPlaceW
+CleanupGlobalTempFiles
+CopyRegistry
+CrackNotificationPackage
+CreateDataObject
+CreateEnumFormatEtc
+CreateInfoWindow
+CreateLogFile
+CreateNotify
+CreateStreamOnHFile
+CreateStreamOnHFileW
+CreateTempFile
+CreateTempFileStream
+DeleteTempFile
+DeleteTempFileOnShutdown
+DeleteTempFileOnShutdownEx
+DoHotMailWizard
+FBuildTempPath
+FBuildTempPathW
+FIsEmptyA
+FIsEmptyW
+FIsHTMLFile
+FIsHTMLFileW
+FIsSpaceA
+FIsSpaceW
+FIsValidFileNameCharA
+FIsValidFileNameCharW
+FMissingCert
+FreeTempFileList
+GenerateUniqueFileName
+GetExePath
+HrBSTRToLPSZ
+HrByteToStream
+HrCheckTridentMenu
+HrCopyLockBytesToStream
+HrCopyStream
+HrCopyStreamCB
+HrCopyStreamCBEndOnCRLF
+HrCopyStreamToByte
+HrCreatePhonebookEntry
+HrCreateTridentMenu
+HrDecodeObject
+HrEditPhonebookEntry
+HrFillRasCombo
+HrFindInetTimeZone
+HrGetBodyElement
+HrGetCertificateParam
+HrGetElementImpl
+HrGetMsgParam
+HrGetStreamPos
+HrGetStreamSize
+HrGetStyleSheet
+HrIStreamToBSTR
+HrIStreamWToBSTR
+HrIndexOfMonth
+HrIndexOfWeek
+HrIsStreamUnicode
+HrLPSZCPToBSTR
+HrLPSZToBSTR
+HrRewindStream
+HrSafeGetStreamSize
+HrSetDirtyFlagImpl
+HrStreamSeekBegin
+HrStreamSeekCur
+HrStreamSeekEnd
+HrStreamSeekSet
+HrStreamToByte
+IDrawText
+IsDigit
+IsPlatformWinNT
+IsPrint
+IsUpper
+IsValidFileIfFileUrl
+IsValidFileIfFileUrlW
+LoadMappedToolbarBitmap
+MessageBoxInst
+MessageBoxInstW
+OpenFileStream
+OpenFileStreamShare
+OpenFileStreamShareW
+OpenFileStreamW
+OpenFileStreamWithFlags
+OpenFileStreamWithFlagsW
+PSTCreateTypeSubType_NoUI
+PSTFreeHandle
+PSTGetData
+PSTSetNewData
+PVDecodeObject
+PVGetCertificateParam
+PVGetMsgParam
+PszAllocA
+PszAllocW
+PszDayFromIndex
+PszDupA
+PszDupLenA
+PszDupW
+PszEscapeMenuStringA
+PszFromANSIStreamA
+PszMonthFromIndex
+PszScanToCharA
+PszScanToWhiteA
+PszSkipWhiteA
+PszSkipWhiteW
+PszToANSI
+PszToUnicode
+ReplaceChars
+ReplaceCharsW
+RicheditStreamIn
+RicheditStreamOut
+SetIntlFont
+SetWindowLongPtrAthW
+ShellUtil_GetSpecialFolderPath
+StrChrExA
+StrToUintA
+StrToUintW
+StrTokEx
+StreamSubStringMatch
+StripCRLF
+SzGetCertificateEmailAddress
+UlStripWhitespace
+UlStripWhitespaceW
+UnlocStrEqNW
+UpdateRebarBandColors
+WriteStreamToFile
+WriteStreamToFileHandle
+WriteStreamToFileW
+WszGenerateNameFromBlob
+_MSG
+fGetBrowserUrlEncoding
+strtrim
+strtrimW
diff --git a/mingw-w64-crt/lib64/wmsorcl32.def b/mingw-w64-crt/lib64/wmsorcl32.def
index 43773db..9cf30c1 100644
--- a/mingw-w64-crt/lib64/wmsorcl32.def
+++ b/mingw-w64-crt/lib64/wmsorcl32.def
@@ -1,62 +1,62 @@
-; 
-; Exports of file MSORCL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSORCL32.dll
-EXPORTS
-SQLAllocConnect
-SQLAllocEnv
-SQLAllocStmt
-SQLBindCol
-SQLCancel
-SQLColAttributes
-SQLConnect
-SQLDescribeCol
-SQLDisconnect
-SQLError
-SQLExecDirect
-SQLExecute
-SQLFetch
-SQLFreeConnect
-SQLFreeEnv
-SQLFreeStmt
-SQLGetCursorName
-SQLNumResultCols
-SQLPrepare
-SQLRowCount
-SQLSetCursorName
-DllRegisterServer
-SQLTransact
-DllUnregisterServer
-SQLColumns
-SQLDriverConnect
-SQLGetConnectOption
-SQLGetData
-SQLGetInfo
-SQLGetStmtOption
-SQLGetTypeInfo
-SQLParamData
-SQLPutData
-SQLSetConnectOption
-SQLSetStmtOption
-SQLSpecialColumns
-SQLStatistics
-SQLTables
-SQLBrowseConnect
-SQLDescribeParam
-SQLExtendedFetch
-SQLForeignKeys
-SQLMoreResults
-SQLNativeSql
-SQLNumParams
-SQLPrimaryKeys
-SQLProcedureColumns
-SQLProcedures
-SQLSetPos
-SQLSetScrollOptions
-SQLBindParameter
-LoadByOrdinal
-ConfigDSN
-DllMain
+; 
+; Exports of file MSORCL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSORCL32.dll
+EXPORTS
+SQLAllocConnect
+SQLAllocEnv
+SQLAllocStmt
+SQLBindCol
+SQLCancel
+SQLColAttributes
+SQLConnect
+SQLDescribeCol
+SQLDisconnect
+SQLError
+SQLExecDirect
+SQLExecute
+SQLFetch
+SQLFreeConnect
+SQLFreeEnv
+SQLFreeStmt
+SQLGetCursorName
+SQLNumResultCols
+SQLPrepare
+SQLRowCount
+SQLSetCursorName
+DllRegisterServer
+SQLTransact
+DllUnregisterServer
+SQLColumns
+SQLDriverConnect
+SQLGetConnectOption
+SQLGetData
+SQLGetInfo
+SQLGetStmtOption
+SQLGetTypeInfo
+SQLParamData
+SQLPutData
+SQLSetConnectOption
+SQLSetStmtOption
+SQLSpecialColumns
+SQLStatistics
+SQLTables
+SQLBrowseConnect
+SQLDescribeParam
+SQLExtendedFetch
+SQLForeignKeys
+SQLMoreResults
+SQLNativeSql
+SQLNumParams
+SQLPrimaryKeys
+SQLProcedureColumns
+SQLProcedures
+SQLSetPos
+SQLSetScrollOptions
+SQLBindParameter
+LoadByOrdinal
+ConfigDSN
+DllMain
diff --git a/mingw-w64-crt/lib64/wmspatcha.def b/mingw-w64-crt/lib64/wmspatcha.def
index 5478d6b..f97ca8a 100644
--- a/mingw-w64-crt/lib64/wmspatcha.def
+++ b/mingw-w64-crt/lib64/wmspatcha.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file mspatcha.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mspatcha.dll
-EXPORTS
-ApplyPatchToFileA
-ApplyPatchToFileByHandles
-ApplyPatchToFileByHandlesEx
-ApplyPatchToFileExA
-ApplyPatchToFileExW
-ApplyPatchToFileW
-GetFilePatchSignatureA
-GetFilePatchSignatureByHandle
-GetFilePatchSignatureW
-TestApplyPatchToFileA
-TestApplyPatchToFileByHandles
-TestApplyPatchToFileW
+; 
+; Exports of file mspatcha.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mspatcha.dll
+EXPORTS
+ApplyPatchToFileA
+ApplyPatchToFileByHandles
+ApplyPatchToFileByHandlesEx
+ApplyPatchToFileExA
+ApplyPatchToFileExW
+ApplyPatchToFileW
+GetFilePatchSignatureA
+GetFilePatchSignatureByHandle
+GetFilePatchSignatureW
+TestApplyPatchToFileA
+TestApplyPatchToFileByHandles
+TestApplyPatchToFileW
diff --git a/mingw-w64-crt/lib64/wmspbde40.def b/mingw-w64-crt/lib64/wmspbde40.def
index d53443f..dfafecb 100644
--- a/mingw-w64-crt/lib64/wmspbde40.def
+++ b/mingw-w64-crt/lib64/wmspbde40.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file mspbde40.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mspbde40.DLL
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mspbde40.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mspbde40.DLL
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmspmsnsv.def b/mingw-w64-crt/lib64/wmspmsnsv.def
index e1342ec..1ecf5a2 100644
--- a/mingw-w64-crt/lib64/wmspmsnsv.def
+++ b/mingw-w64-crt/lib64/wmspmsnsv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mspmspsn.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mspmspsn.DLL
-EXPORTS
-ServiceMain
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mspmspsn.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mspmspsn.DLL
+EXPORTS
+ServiceMain
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmspmsp.def b/mingw-w64-crt/lib64/wmspmsp.def
index 8496601..fd65a18 100644
--- a/mingw-w64-crt/lib64/wmspmsp.def
+++ b/mingw-w64-crt/lib64/wmspmsp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MsPMSP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MsPMSP.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MsPMSP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MsPMSP.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsports.def b/mingw-w64-crt/lib64/wmsports.def
index cc595cb..7836cf3 100644
--- a/mingw-w64-crt/lib64/wmsports.def
+++ b/mingw-w64-crt/lib64/wmsports.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file MSPORTS.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSPORTS.DLL
-EXPORTS
-ComDBClaimNextFreePort
-ComDBClaimPort
-ComDBClose
-ComDBGetCurrentPortUsage
-ComDBOpen
-ComDBReleasePort
-ComDBResizeDatabase
-ParallelPortPropPageProvider
-PortsClassInstaller
-SerialDisplayAdvancedSettings
-SerialPortPropPageProvider
+; 
+; Exports of file MSPORTS.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSPORTS.DLL
+EXPORTS
+ComDBClaimNextFreePort
+ComDBClaimPort
+ComDBClose
+ComDBGetCurrentPortUsage
+ComDBOpen
+ComDBReleasePort
+ComDBResizeDatabase
+ParallelPortPropPageProvider
+PortsClassInstaller
+SerialDisplayAdvancedSettings
+SerialPortPropPageProvider
diff --git a/mingw-w64-crt/lib64/wmsr2c.def b/mingw-w64-crt/lib64/wmsr2c.def
index e5be56d..a4d6d16 100644
--- a/mingw-w64-crt/lib64/wmsr2c.def
+++ b/mingw-w64-crt/lib64/wmsr2c.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file MSR2C.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSR2C.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-VDGetICursorFromIRowset
-DllMain
+; 
+; Exports of file MSR2C.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSR2C.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+VDGetICursorFromIRowset
+DllMain
diff --git a/mingw-w64-crt/lib64/wmsrating.def b/mingw-w64-crt/lib64/wmsrating.def
index b7a1f36..ae7f242 100644
--- a/mingw-w64-crt/lib64/wmsrating.def
+++ b/mingw-w64-crt/lib64/wmsrating.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file MSRATING.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSRATING.dll
-EXPORTS
-ChangeSupervisorPassword
-ClickedOnPRF
-ClickedOnRAT
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-RatingAccessDeniedDialog2
-RatingAccessDeniedDialog
-RatingAddPropertyPages
-RatingCheckUserAccess
-RatingCustomAddRatingHelper
-RatingCustomAddRatingSystem
-RatingCustomCrackData
-RatingCustomDeleteCrackedData
-RatingCustomInit
-RatingCustomRemoveRatingHelper
-RatingCustomSetDefaultBureau
-RatingCustomSetUserOptions
-RatingEnable
-RatingEnabledQuery
-RatingFreeDetails
-RatingInit
-RatingObtainCancel
-RatingObtainQuery
-RatingSetupUI
-VerifySupervisorPassword
+; 
+; Exports of file MSRATING.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSRATING.dll
+EXPORTS
+ChangeSupervisorPassword
+ClickedOnPRF
+ClickedOnRAT
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+RatingAccessDeniedDialog2
+RatingAccessDeniedDialog
+RatingAddPropertyPages
+RatingCheckUserAccess
+RatingCustomAddRatingHelper
+RatingCustomAddRatingSystem
+RatingCustomCrackData
+RatingCustomDeleteCrackedData
+RatingCustomInit
+RatingCustomRemoveRatingHelper
+RatingCustomSetDefaultBureau
+RatingCustomSetUserOptions
+RatingEnable
+RatingEnabledQuery
+RatingFreeDetails
+RatingInit
+RatingObtainCancel
+RatingObtainQuery
+RatingSetupUI
+VerifySupervisorPassword
diff --git a/mingw-w64-crt/lib64/wmsrd2x40.def b/mingw-w64-crt/lib64/wmsrd2x40.def
index 8364808..5090432 100644
--- a/mingw-w64-crt/lib64/wmsrd2x40.def
+++ b/mingw-w64-crt/lib64/wmsrd2x40.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MSRD2X40.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSRD2X40.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSRD2X40.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSRD2X40.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsrd3x40.def b/mingw-w64-crt/lib64/wmsrd3x40.def
index 6e51b4b..d218506 100644
--- a/mingw-w64-crt/lib64/wmsrd3x40.def
+++ b/mingw-w64-crt/lib64/wmsrd3x40.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MSRD3X40.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSRD3X40.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSRD3X40.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSRD3X40.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsrle32.def b/mingw-w64-crt/lib64/wmsrle32.def
index 51d6eb1..3d3bced 100644
--- a/mingw-w64-crt/lib64/wmsrle32.def
+++ b/mingw-w64-crt/lib64/wmsrle32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSRLE32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSRLE32.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MSRLE32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSRLE32.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/wmssap.def b/mingw-w64-crt/lib64/wmssap.def
index 8a612e4..2bf1e07 100644
--- a/mingw-w64-crt/lib64/wmssap.def
+++ b/mingw-w64-crt/lib64/wmssap.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSSAP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSSAP.DLL
-EXPORTS
-SapCreateInstance
+; 
+; Exports of file MSSAP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSSAP.DLL
+EXPORTS
+SapCreateInstance
diff --git a/mingw-w64-crt/lib64/wmsscp.def b/mingw-w64-crt/lib64/wmsscp.def
index 56e675a..b068757 100644
--- a/mingw-w64-crt/lib64/wmsscp.def
+++ b/mingw-w64-crt/lib64/wmsscp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MsScp.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MsScp.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MsScp.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MsScp.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmssign32.def b/mingw-w64-crt/lib64/wmssign32.def
index bfc081f..54a162d 100644
--- a/mingw-w64-crt/lib64/wmssign32.def
+++ b/mingw-w64-crt/lib64/wmssign32.def
@@ -1,38 +1,38 @@
-; 
-; Exports of file MSSIGN32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSSIGN32.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-FreeCryptProvFromCert
-GetCryptProvFromCert
-PvkFreeCryptProv
-PvkGetCryptProv
-PvkPrivateKeyAcquireContext
-PvkPrivateKeyAcquireContextA
-PvkPrivateKeyAcquireContextFromMemory
-PvkPrivateKeyAcquireContextFromMemoryA
-PvkPrivateKeyLoad
-PvkPrivateKeyLoadA
-PvkPrivateKeyLoadFromMemory
-PvkPrivateKeyLoadFromMemoryA
-PvkPrivateKeyReleaseContext
-PvkPrivateKeyReleaseContextA
-PvkPrivateKeySave
-PvkPrivateKeySaveA
-PvkPrivateKeySaveToMemory
-PvkPrivateKeySaveToMemoryA
-SignError
-SignerAddTimeStampResponse
-SignerAddTimeStampResponseEx
-SignerCreateTimeStampRequest
-SignerFreeSignerContext
-SignerSign
-SignerSignEx
-SignerTimeStamp
-SignerTimeStampEx
-SpcGetCertFromKey
+; 
+; Exports of file MSSIGN32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSSIGN32.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+FreeCryptProvFromCert
+GetCryptProvFromCert
+PvkFreeCryptProv
+PvkGetCryptProv
+PvkPrivateKeyAcquireContext
+PvkPrivateKeyAcquireContextA
+PvkPrivateKeyAcquireContextFromMemory
+PvkPrivateKeyAcquireContextFromMemoryA
+PvkPrivateKeyLoad
+PvkPrivateKeyLoadA
+PvkPrivateKeyLoadFromMemory
+PvkPrivateKeyLoadFromMemoryA
+PvkPrivateKeyReleaseContext
+PvkPrivateKeyReleaseContextA
+PvkPrivateKeySave
+PvkPrivateKeySaveA
+PvkPrivateKeySaveToMemory
+PvkPrivateKeySaveToMemoryA
+SignError
+SignerAddTimeStampResponse
+SignerAddTimeStampResponseEx
+SignerCreateTimeStampRequest
+SignerFreeSignerContext
+SignerSign
+SignerSignEx
+SignerTimeStamp
+SignerTimeStampEx
+SpcGetCertFromKey
diff --git a/mingw-w64-crt/lib64/wmssip32.def b/mingw-w64-crt/lib64/wmssip32.def
index 013fd6c..f542c8a 100644
--- a/mingw-w64-crt/lib64/wmssip32.def
+++ b/mingw-w64-crt/lib64/wmssip32.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file MSSIP32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSSIP32.dll
-EXPORTS
-CryptSIPGetInfo
-CryptSIPGetRegWorkingFlags
-CryptSIPCreateIndirectData
-CryptSIPGetSignedDataMsg
-CryptSIPPutSignedDataMsg
-CryptSIPRemoveSignedDataMsg
-CryptSIPVerifyIndirectData
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSSIP32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSSIP32.dll
+EXPORTS
+CryptSIPGetInfo
+CryptSIPGetRegWorkingFlags
+CryptSIPCreateIndirectData
+CryptSIPGetSignedDataMsg
+CryptSIPPutSignedDataMsg
+CryptSIPRemoveSignedDataMsg
+CryptSIPVerifyIndirectData
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmstask.def b/mingw-w64-crt/lib64/wmstask.def
index d522a3e..e0a5f33 100644
--- a/mingw-w64-crt/lib64/wmstask.def
+++ b/mingw-w64-crt/lib64/wmstask.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file mstask.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mstask.dll
-EXPORTS
-ConvertAtJobsToTasks
-DllCanUnloadNow
-DllGetClassObject
-GetNetScheduleAccountInformation
-NetrJobAdd
-NetrJobDel
-NetrJobEnum
-NetrJobGetInfo
-SAGetAccountInformation
-SAGetNSAccountInformation
-SASetAccountInformation
-SASetNSAccountInformation
-SetNetScheduleAccountInformation
-_ConvertAtJobsToTasks@0
-_DllCanUnloadNow@0
-_DllGetClassObject@12
-_GetNetScheduleAccountInformation@12
-_NetrJobAdd@12
-_NetrJobDel@12
-_NetrJobEnum@20
-_NetrJobGetInfo@12
-_SAGetAccountInformation@16
-_SAGetNSAccountInformation@12
-_SASetAccountInformation@20
-_SASetNSAccountInformation@12
-_SetNetScheduleAccountInformation@12
+; 
+; Exports of file mstask.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mstask.dll
+EXPORTS
+ConvertAtJobsToTasks
+DllCanUnloadNow
+DllGetClassObject
+GetNetScheduleAccountInformation
+NetrJobAdd
+NetrJobDel
+NetrJobEnum
+NetrJobGetInfo
+SAGetAccountInformation
+SAGetNSAccountInformation
+SASetAccountInformation
+SASetNSAccountInformation
+SetNetScheduleAccountInformation
+_ConvertAtJobsToTasks@0
+_DllCanUnloadNow@0
+_DllGetClassObject@12
+_GetNetScheduleAccountInformation@12
+_NetrJobAdd@12
+_NetrJobDel@12
+_NetrJobEnum@20
+_NetrJobGetInfo@12
+_SAGetAccountInformation@16
+_SAGetNSAccountInformation@12
+_SASetAccountInformation@20
+_SASetNSAccountInformation@12
+_SetNetScheduleAccountInformation@12
diff --git a/mingw-w64-crt/lib64/wmstext40.def b/mingw-w64-crt/lib64/wmstext40.def
index 9171ba9..afde1c3 100644
--- a/mingw-w64-crt/lib64/wmstext40.def
+++ b/mingw-w64-crt/lib64/wmstext40.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file mstext40.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mstext40.DLL
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mstext40.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mstext40.DLL
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmstime.def b/mingw-w64-crt/lib64/wmstime.def
index 4eedab3..a6b16cd 100644
--- a/mingw-w64-crt/lib64/wmstime.def
+++ b/mingw-w64-crt/lib64/wmstime.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSTIME.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSTIME.dll
-EXPORTS
-DllCanUnloadNow
-DllEnumClassObjects
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSTIME.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSTIME.dll
+EXPORTS
+DllCanUnloadNow
+DllEnumClassObjects
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmstlsapi.def b/mingw-w64-crt/lib64/wmstlsapi.def
index 02cad76..e97bae5 100644
--- a/mingw-w64-crt/lib64/wmstlsapi.def
+++ b/mingw-w64-crt/lib64/wmstlsapi.def
@@ -1,84 +1,84 @@
-; 
-; Exports of file mstlsapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mstlsapi.dll
-EXPORTS
-TLSGetVersion
-MIDL_user_allocate
-MIDL_user_free
-EnumerateTlsServer
-TLSSendServerCertificate
-TLSGetServerName
-TLSGetServerScope
-TLSIssuePlatformChallenge
-TLSIssueNewLicense
-TLSUpgradeLicense
-TLSAllocateConcurrentLicense
-TLSGetLastError
-TLSKeyPackEnumBegin
-TLSKeyPackEnumNext
-TLSKeyPackEnumEnd
-TLSLicenseEnumBegin
-TLSLicenseEnumNext
-TLSLicenseEnumEnd
-TLSGetAvailableLicenses
-TLSConnectToLsServer
-TLSConnectToAnyLsServer
-TLSDisconnectFromServer
-FindEnterpriseServer
-GetAllEnterpriseServers
-TLSInit
-TLSGetTSCertificate
-LsCsp_GetServerData
-LsCsp_DecryptEnvelopedData
-LsCsp_EncryptHwid
-LsCsp_StoreSecret
-LsCsp_RetrieveSecret
-TLSStartDiscovery
-TLSStopDiscovery
-TLSShutdown
-TLSFreeTSCertificate
-TLSIssueNewLicenseEx
-TLSUpgradeLicenseEx
-TLSCheckLicenseMark
-TLSIssueNewLicenseExEx
-TLSGetServerNameEx
-TLSLicenseEnumNextEx
-TLSGetServerNameFixed
-TLSGetServerScopeFixed
-TLSGetLastErrorFixed
-GetLicenseServersFromReg
-TLSConnectToAnyLsServerNoCertInstall
-RequestToTlsRequest
-TLSRequestTermServCert
-TLSRetrieveTermServCert
-TLSInstallCertificate
-TLSGetServerCertificate
-TLSRegisterLicenseKeyPack
-TLSGetLSPKCS10CertRequest
-TLSKeyPackAdd
-TLSKeyPackSetStatus
-TLSReturnLicense
-TLSAnnounceServer
-TLSLookupServer
-TLSAnnounceLicensePack
-TLSReturnLicensedProduct
-TLSTelephoneRegisterLKP
-TLSChallengeServer
-TLSResponseServerChallenge
-TLSGetTlsPrivateData
-TLSTriggerReGenKey
-TLSGetServerPID
-TLSGetServerSPK
-TLSDepositeServerSPK
-TLSAllocateInternetLicenseEx
-TLSReturnInternetLicenseEx
-TLSIsBetaNTServer
-TLSIsLicenseEnforceEnable
-TLSInDomain
-TLSMarkLicense
-TLSGetSupportFlags
-TLSLookupServerFixed
+; 
+; Exports of file mstlsapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mstlsapi.dll
+EXPORTS
+TLSGetVersion
+MIDL_user_allocate
+MIDL_user_free
+EnumerateTlsServer
+TLSSendServerCertificate
+TLSGetServerName
+TLSGetServerScope
+TLSIssuePlatformChallenge
+TLSIssueNewLicense
+TLSUpgradeLicense
+TLSAllocateConcurrentLicense
+TLSGetLastError
+TLSKeyPackEnumBegin
+TLSKeyPackEnumNext
+TLSKeyPackEnumEnd
+TLSLicenseEnumBegin
+TLSLicenseEnumNext
+TLSLicenseEnumEnd
+TLSGetAvailableLicenses
+TLSConnectToLsServer
+TLSConnectToAnyLsServer
+TLSDisconnectFromServer
+FindEnterpriseServer
+GetAllEnterpriseServers
+TLSInit
+TLSGetTSCertificate
+LsCsp_GetServerData
+LsCsp_DecryptEnvelopedData
+LsCsp_EncryptHwid
+LsCsp_StoreSecret
+LsCsp_RetrieveSecret
+TLSStartDiscovery
+TLSStopDiscovery
+TLSShutdown
+TLSFreeTSCertificate
+TLSIssueNewLicenseEx
+TLSUpgradeLicenseEx
+TLSCheckLicenseMark
+TLSIssueNewLicenseExEx
+TLSGetServerNameEx
+TLSLicenseEnumNextEx
+TLSGetServerNameFixed
+TLSGetServerScopeFixed
+TLSGetLastErrorFixed
+GetLicenseServersFromReg
+TLSConnectToAnyLsServerNoCertInstall
+RequestToTlsRequest
+TLSRequestTermServCert
+TLSRetrieveTermServCert
+TLSInstallCertificate
+TLSGetServerCertificate
+TLSRegisterLicenseKeyPack
+TLSGetLSPKCS10CertRequest
+TLSKeyPackAdd
+TLSKeyPackSetStatus
+TLSReturnLicense
+TLSAnnounceServer
+TLSLookupServer
+TLSAnnounceLicensePack
+TLSReturnLicensedProduct
+TLSTelephoneRegisterLKP
+TLSChallengeServer
+TLSResponseServerChallenge
+TLSGetTlsPrivateData
+TLSTriggerReGenKey
+TLSGetServerPID
+TLSGetServerSPK
+TLSDepositeServerSPK
+TLSAllocateInternetLicenseEx
+TLSReturnInternetLicenseEx
+TLSIsBetaNTServer
+TLSIsLicenseEnforceEnable
+TLSInDomain
+TLSMarkLicense
+TLSGetSupportFlags
+TLSLookupServerFixed
diff --git a/mingw-w64-crt/lib64/wmstscax.def b/mingw-w64-crt/lib64/wmstscax.def
index ff50d34..c3184e4 100644
--- a/mingw-w64-crt/lib64/wmstscax.def
+++ b/mingw-w64-crt/lib64/wmstscax.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file mstscax.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mstscax.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllGetTscCtlVer
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mstscax.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mstscax.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllGetTscCtlVer
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsutb.def b/mingw-w64-crt/lib64/wmsutb.def
index d35e89c..ed5fac3 100644
--- a/mingw-w64-crt/lib64/wmsutb.def
+++ b/mingw-w64-crt/lib64/wmsutb.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file MSUTB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSUTB.dll
-EXPORTS
-ClosePopupTipbar
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetLibTls
-GetPopupTipbar
-SetRegisterLangBand
+; 
+; Exports of file MSUTB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSUTB.dll
+EXPORTS
+ClosePopupTipbar
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetLibTls
+GetPopupTipbar
+SetRegisterLangBand
diff --git a/mingw-w64-crt/lib64/wmsv1_0.def b/mingw-w64-crt/lib64/wmsv1_0.def
index e0c4e76..51e8c0f 100644
--- a/mingw-w64-crt/lib64/wmsv1_0.def
+++ b/mingw-w64-crt/lib64/wmsv1_0.def
@@ -1,24 +1,24 @@
-; 
-; Exports of file msv1_0.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msv1_0.dll
-EXPORTS
-SpInitialize
-SpLsaModeInitialize
-SpUserModeInitialize
-LsaApCallPackage
-LsaApCallPackagePassthrough
-LsaApCallPackageUntrusted
-LsaApInitializePackage
-LsaApLogonTerminated
-LsaApLogonUserEx2
-Msv1_0ExportSubAuthenticationRoutine
-Msv1_0SubAuthenticationPresent
-MsvGetLogonAttemptCount
-MsvSamLogoff
-MsvSamValidate
-MsvValidateTarget
-SpInstanceInit
+; 
+; Exports of file msv1_0.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msv1_0.dll
+EXPORTS
+SpInitialize
+SpLsaModeInitialize
+SpUserModeInitialize
+LsaApCallPackage
+LsaApCallPackagePassthrough
+LsaApCallPackageUntrusted
+LsaApInitializePackage
+LsaApLogonTerminated
+LsaApLogonUserEx2
+Msv1_0ExportSubAuthenticationRoutine
+Msv1_0SubAuthenticationPresent
+MsvGetLogonAttemptCount
+MsvSamLogoff
+MsvSamValidate
+MsvValidateTarget
+SpInstanceInit
diff --git a/mingw-w64-crt/lib64/wmsvcirt.def b/mingw-w64-crt/lib64/wmsvcirt.def
index 1ee1868..4eff495 100644
--- a/mingw-w64-crt/lib64/wmsvcirt.def
+++ b/mingw-w64-crt/lib64/wmsvcirt.def
@@ -1,895 +1,895 @@
-; 
-; Exports of file msvcirt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msvcirt.dll
-EXPORTS
-; public: __thiscall Iostream_init::Iostream_init(class ios &,int)
-??0Iostream_init@@QAE@AAVios@@H@Z
-; public: __thiscall Iostream_init::Iostream_init(void)
-??0Iostream_init@@QAE@XZ
-; public: __thiscall exception::exception(char const * const &)
-??0exception@@QAE@ABQBD@Z
-; public: __thiscall exception::exception(class exception const &)
-??0exception@@QAE@ABV0@@Z
-; public: __thiscall exception::exception(void)
-??0exception@@QAE@XZ
-; public: __thiscall filebuf::filebuf(class filebuf const &)
-??0filebuf@@QAE@ABV0@@Z
-; public: __thiscall filebuf::filebuf(int)
-??0filebuf@@QAE@H@Z
-; public: __thiscall filebuf::filebuf(int,char *,int)
-??0filebuf@@QAE@HPADH@Z
-; public: __thiscall filebuf::filebuf(void)
-??0filebuf@@QAE@XZ
-; public: __thiscall fstream::fstream(class fstream const &)
-??0fstream@@QAE@ABV0@@Z
-; public: __thiscall fstream::fstream(int)
-??0fstream@@QAE@H@Z
-; public: __thiscall fstream::fstream(int,char *,int)
-??0fstream@@QAE@HPADH@Z
-; public: __thiscall fstream::fstream(char const *,int,int)
-??0fstream@@QAE@PBDHH@Z
-; public: __thiscall fstream::fstream(void)
-??0fstream@@QAE@XZ
-; public: __thiscall ifstream::ifstream(class ifstream const &)
-??0ifstream@@QAE@ABV0@@Z
-; public: __thiscall ifstream::ifstream(int)
-??0ifstream@@QAE@H@Z
-; public: __thiscall ifstream::ifstream(int,char *,int)
-??0ifstream@@QAE@HPADH@Z
-; public: __thiscall ifstream::ifstream(char const *,int,int)
-??0ifstream@@QAE@PBDHH@Z
-; public: __thiscall ifstream::ifstream(void)
-??0ifstream@@QAE@XZ
-; protected: __thiscall ios::ios(class ios const &)
-??0ios@@IAE@ABV0@@Z
-; protected: __thiscall ios::ios(void)
-??0ios@@IAE@XZ
-; public: __thiscall ios::ios(class streambuf *)
-??0ios@@QAE@PAVstreambuf@@@Z
-; protected: __thiscall iostream::iostream(class iostream const &)
-??0iostream@@IAE@ABV0@@Z
-; protected: __thiscall iostream::iostream(void)
-??0iostream@@IAE@XZ
-; public: __thiscall iostream::iostream(class streambuf *)
-??0iostream@@QAE@PAVstreambuf@@@Z
-; protected: __thiscall istream::istream(class istream const &)
-??0istream@@IAE@ABV0@@Z
-; protected: __thiscall istream::istream(void)
-??0istream@@IAE@XZ
-; public: __thiscall istream::istream(class streambuf *)
-??0istream@@QAE@PAVstreambuf@@@Z
-; public: __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
-??0istream_withassign@@QAE@ABV0@@Z
-; public: __thiscall istream_withassign::istream_withassign(class streambuf *)
-??0istream_withassign@@QAE@PAVstreambuf@@@Z
-; public: __thiscall istream_withassign::istream_withassign(void)
-??0istream_withassign@@QAE@XZ
-; public: __thiscall istrstream::istrstream(class istrstream const &)
-??0istrstream@@QAE@ABV0@@Z
-; public: __thiscall istrstream::istrstream(char *)
-??0istrstream@@QAE@PAD@Z
-; public: __thiscall istrstream::istrstream(char *,int)
-??0istrstream@@QAE@PADH@Z
-; public: __thiscall logic_error::logic_error(char const * const &)
-??0logic_error@@QAE@ABQBD@Z
-; public: __thiscall logic_error::logic_error(class logic_error const &)
-??0logic_error@@QAE@ABV0@@Z
-; public: __thiscall ofstream::ofstream(class ofstream const &)
-??0ofstream@@QAE@ABV0@@Z
-; public: __thiscall ofstream::ofstream(int)
-??0ofstream@@QAE@H@Z
-; public: __thiscall ofstream::ofstream(int,char *,int)
-??0ofstream@@QAE@HPADH@Z
-; public: __thiscall ofstream::ofstream(char const *,int,int)
-??0ofstream@@QAE@PBDHH@Z
-; public: __thiscall ofstream::ofstream(void)
-??0ofstream@@QAE@XZ
-; protected: __thiscall ostream::ostream(class ostream const &)
-??0ostream@@IAE@ABV0@@Z
-; protected: __thiscall ostream::ostream(void)
-??0ostream@@IAE@XZ
-; public: __thiscall ostream::ostream(class streambuf *)
-??0ostream@@QAE@PAVstreambuf@@@Z
-; public: __thiscall ostream_withassign::ostream_withassign(class ostream_withassign const &)
-??0ostream_withassign@@QAE@ABV0@@Z
-; public: __thiscall ostream_withassign::ostream_withassign(class streambuf *)
-??0ostream_withassign@@QAE@PAVstreambuf@@@Z
-; public: __thiscall ostream_withassign::ostream_withassign(void)
-??0ostream_withassign@@QAE@XZ
-; public: __thiscall ostrstream::ostrstream(class ostrstream const &)
-??0ostrstream@@QAE@ABV0@@Z
-; public: __thiscall ostrstream::ostrstream(char *,int,int)
-??0ostrstream@@QAE@PADHH@Z
-; public: __thiscall ostrstream::ostrstream(void)
-??0ostrstream@@QAE@XZ
-; public: __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
-??0stdiobuf@@QAE@ABV0@@Z
-; public: __thiscall stdiobuf::stdiobuf(struct _iobuf *)
-??0stdiobuf@@QAE@PAU_iobuf@@@Z
-; public: __thiscall stdiostream::stdiostream(class stdiostream const &)
-??0stdiostream@@QAE@ABV0@@Z
-; public: __thiscall stdiostream::stdiostream(struct _iobuf *)
-??0stdiostream@@QAE@PAU_iobuf@@@Z
-; protected: __thiscall streambuf::streambuf(char *,int)
-??0streambuf@@IAE@PADH@Z
-; protected: __thiscall streambuf::streambuf(void)
-??0streambuf@@IAE@XZ
-; public: __thiscall streambuf::streambuf(class streambuf const &)
-??0streambuf@@QAE@ABV0@@Z
-; public: __thiscall strstream::strstream(class strstream const &)
-??0strstream@@QAE@ABV0@@Z
-; public: __thiscall strstream::strstream(char *,int,int)
-??0strstream@@QAE@PADHH@Z
-; public: __thiscall strstream::strstream(void)
-??0strstream@@QAE@XZ
-; public: __thiscall strstreambuf::strstreambuf(class strstreambuf const &)
-??0strstreambuf@@QAE@ABV0@@Z
-; public: __thiscall strstreambuf::strstreambuf(int)
-??0strstreambuf@@QAE@H@Z
-; public: __thiscall strstreambuf::strstreambuf(void * (__cdecl*)(long),void (__cdecl*)(void *))
-??0strstreambuf@@QAE@P6APAXJ@ZP6AXPAX@Z@Z
-; public: __thiscall strstreambuf::strstreambuf(char *,int,char *)
-??0strstreambuf@@QAE@PADH0@Z
-; public: __thiscall strstreambuf::strstreambuf(unsigned char *,int,unsigned char *)
-??0strstreambuf@@QAE@PAEH0@Z
-; public: __thiscall strstreambuf::strstreambuf(void)
-??0strstreambuf@@QAE@XZ
-; public: __thiscall Iostream_init::~Iostream_init(void)
-??1Iostream_init@@QAE@XZ
-; public: virtual __thiscall exception::~exception(void)
-??1exception@@UAE@XZ
-; public: virtual __thiscall filebuf::~filebuf(void)
-??1filebuf@@UAE@XZ
-; public: virtual __thiscall fstream::~fstream(void)
-??1fstream@@UAE@XZ
-; public: virtual __thiscall ifstream::~ifstream(void)
-??1ifstream@@UAE@XZ
-; public: virtual __thiscall ios::~ios(void)
-??1ios@@UAE@XZ
-; public: virtual __thiscall iostream::~iostream(void)
-??1iostream@@UAE@XZ
-; public: virtual __thiscall istream::~istream(void)
-??1istream@@UAE@XZ
-; public: virtual __thiscall istream_withassign::~istream_withassign(void)
-??1istream_withassign@@UAE@XZ
-; public: virtual __thiscall istrstream::~istrstream(void)
-??1istrstream@@UAE@XZ
-; public: virtual __thiscall logic_error::~logic_error(void)
-??1logic_error@@UAE@XZ
-; public: virtual __thiscall ofstream::~ofstream(void)
-??1ofstream@@UAE@XZ
-; public: virtual __thiscall ostream::~ostream(void)
-??1ostream@@UAE@XZ
-; public: virtual __thiscall ostream_withassign::~ostream_withassign(void)
-??1ostream_withassign@@UAE@XZ
-; public: virtual __thiscall ostrstream::~ostrstream(void)
-??1ostrstream@@UAE@XZ
-; public: virtual __thiscall stdiobuf::~stdiobuf(void)
-??1stdiobuf@@UAE@XZ
-; public: virtual __thiscall stdiostream::~stdiostream(void)
-??1stdiostream@@UAE@XZ
-; public: virtual __thiscall streambuf::~streambuf(void)
-??1streambuf@@UAE@XZ
-; public: virtual __thiscall strstream::~strstream(void)
-??1strstream@@UAE@XZ
-; public: virtual __thiscall strstreambuf::~strstreambuf(void)
-??1strstreambuf@@UAE@XZ
-; public: class Iostream_init & __thiscall Iostream_init::operator=(class Iostream_init const &)
-??4Iostream_init@@QAEAAV0@ABV0@@Z
-; public: class exception & __thiscall exception::operator=(class exception const &)
-??4exception@@QAEAAV0@ABV0@@Z
-; public: class filebuf & __thiscall filebuf::operator=(class filebuf const &)
-??4filebuf@@QAEAAV0@ABV0@@Z
-; public: class fstream & __thiscall fstream::operator=(class fstream &)
-??4fstream@@QAEAAV0@AAV0@@Z
-; public: class ifstream & __thiscall ifstream::operator=(class ifstream const &)
-??4ifstream@@QAEAAV0@ABV0@@Z
-; protected: class ios & __thiscall ios::operator=(class ios const &)
-??4ios@@IAEAAV0@ABV0@@Z
-; protected: class iostream & __thiscall iostream::operator=(class iostream &)
-??4iostream@@IAEAAV0@AAV0@@Z
-; protected: class iostream & __thiscall iostream::operator=(class streambuf *)
-??4iostream@@IAEAAV0@PAVstreambuf@@@Z
-; protected: class istream & __thiscall istream::operator=(class istream const &)
-??4istream@@IAEAAV0@ABV0@@Z
-; protected: class istream & __thiscall istream::operator=(class streambuf *)
-??4istream@@IAEAAV0@PAVstreambuf@@@Z
-; public: class istream_withassign & __thiscall istream_withassign::operator=(class istream_withassign const &)
-??4istream_withassign@@QAEAAV0@ABV0@@Z
-; public: class istream & __thiscall istream_withassign::operator=(class istream const &)
-??4istream_withassign@@QAEAAVistream@@ABV1@@Z
-; public: class istream & __thiscall istream_withassign::operator=(class streambuf *)
-??4istream_withassign@@QAEAAVistream@@PAVstreambuf@@@Z
-; public: class istrstream & __thiscall istrstream::operator=(class istrstream const &)
-??4istrstream@@QAEAAV0@ABV0@@Z
-; public: class logic_error & __thiscall logic_error::operator=(class logic_error const &)
-??4logic_error@@QAEAAV0@ABV0@@Z
-; public: class ofstream & __thiscall ofstream::operator=(class ofstream const &)
-??4ofstream@@QAEAAV0@ABV0@@Z
-; protected: class ostream & __thiscall ostream::operator=(class ostream const &)
-??4ostream@@IAEAAV0@ABV0@@Z
-; protected: class ostream & __thiscall ostream::operator=(class streambuf *)
-??4ostream@@IAEAAV0@PAVstreambuf@@@Z
-; public: class ostream_withassign & __thiscall ostream_withassign::operator=(class ostream_withassign const &)
-??4ostream_withassign@@QAEAAV0@ABV0@@Z
-; public: class ostream & __thiscall ostream_withassign::operator=(class ostream const &)
-??4ostream_withassign@@QAEAAVostream@@ABV1@@Z
-; public: class ostream & __thiscall ostream_withassign::operator=(class streambuf *)
-??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z
-; public: class ostrstream & __thiscall ostrstream::operator=(class ostrstream const &)
-??4ostrstream@@QAEAAV0@ABV0@@Z
-; public: class stdiobuf & __thiscall stdiobuf::operator=(class stdiobuf const &)
-??4stdiobuf@@QAEAAV0@ABV0@@Z
-; public: class stdiostream & __thiscall stdiostream::operator=(class stdiostream &)
-??4stdiostream@@QAEAAV0@AAV0@@Z
-; public: class streambuf & __thiscall streambuf::operator=(class streambuf const &)
-??4streambuf@@QAEAAV0@ABV0@@Z
-; public: class strstream & __thiscall strstream::operator=(class strstream &)
-??4strstream@@QAEAAV0@AAV0@@Z
-; public: class strstreambuf & __thiscall strstreambuf::operator=(class strstreambuf const &)
-??4strstreambuf@@QAEAAV0@ABV0@@Z
-; public: class istream & __thiscall istream::operator>>(signed char &)
-??5istream@@QAEAAV0@AAC@Z
-; public: class istream & __thiscall istream::operator>>(char &)
-??5istream@@QAEAAV0@AAD@Z
-; public: class istream & __thiscall istream::operator>>(unsigned char &)
-??5istream@@QAEAAV0@AAE@Z
-; public: class istream & __thiscall istream::operator>>(short &)
-??5istream@@QAEAAV0@AAF@Z
-; public: class istream & __thiscall istream::operator>>(unsigned short &)
-??5istream@@QAEAAV0@AAG@Z
-; public: class istream & __thiscall istream::operator>>(int &)
-??5istream@@QAEAAV0@AAH@Z
-; public: class istream & __thiscall istream::operator>>(unsigned int &)
-??5istream@@QAEAAV0@AAI@Z
-; public: class istream & __thiscall istream::operator>>(long &)
-??5istream@@QAEAAV0@AAJ@Z
-; public: class istream & __thiscall istream::operator>>(unsigned long &)
-??5istream@@QAEAAV0@AAK@Z
-; public: class istream & __thiscall istream::operator>>(float &)
-??5istream@@QAEAAV0@AAM@Z
-; public: class istream & __thiscall istream::operator>>(double &)
-??5istream@@QAEAAV0@AAN@Z
-; public: class istream & __thiscall istream::operator>>(long double &)
-??5istream@@QAEAAV0@AAO@Z
-; public: class istream & __thiscall istream::operator>>(class istream & (__cdecl*)(class istream &))
-??5istream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
-; public: class istream & __thiscall istream::operator>>(class ios & (__cdecl*)(class ios &))
-??5istream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
-; public: class istream & __thiscall istream::operator>>(signed char *)
-??5istream@@QAEAAV0@PAC@Z
-; public: class istream & __thiscall istream::operator>>(char *)
-??5istream@@QAEAAV0@PAD@Z
-; public: class istream & __thiscall istream::operator>>(unsigned char *)
-??5istream@@QAEAAV0@PAE@Z
-; public: class istream & __thiscall istream::operator>>(class streambuf *)
-??5istream@@QAEAAV0@PAVstreambuf@@@Z
-; public: class ostream & __thiscall ostream::operator<<(signed char)
-??6ostream@@QAEAAV0@C@Z
-; public: class ostream & __thiscall ostream::operator<<(char)
-??6ostream@@QAEAAV0@D@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned char)
-??6ostream@@QAEAAV0@E@Z
-; public: class ostream & __thiscall ostream::operator<<(short)
-??6ostream@@QAEAAV0@F@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned short)
-??6ostream@@QAEAAV0@G@Z
-; public: class ostream & __thiscall ostream::operator<<(int)
-??6ostream@@QAEAAV0@H@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned int)
-??6ostream@@QAEAAV0@I@Z
-; public: class ostream & __thiscall ostream::operator<<(long)
-??6ostream@@QAEAAV0@J@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned long)
-??6ostream@@QAEAAV0@K@Z
-; public: class ostream & __thiscall ostream::operator<<(float)
-??6ostream@@QAEAAV0@M@Z
-; public: class ostream & __thiscall ostream::operator<<(double)
-??6ostream@@QAEAAV0@N@Z
-; public: class ostream & __thiscall ostream::operator<<(long double)
-??6ostream@@QAEAAV0@O@Z
-; public: class ostream & __thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream &))
-??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
-; public: class ostream & __thiscall ostream::operator<<(class ios & (__cdecl*)(class ios &))
-??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
-; public: class ostream & __thiscall ostream::operator<<(class streambuf *)
-??6ostream@@QAEAAV0@PAVstreambuf@@@Z
-; public: class ostream & __thiscall ostream::operator<<(signed char const *)
-??6ostream@@QAEAAV0@PBC@Z
-; public: class ostream & __thiscall ostream::operator<<(char const *)
-??6ostream@@QAEAAV0@PBD@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned char const *)
-??6ostream@@QAEAAV0@PBE@Z
-; public: class ostream & __thiscall ostream::operator<<(void const *)
-??6ostream@@QAEAAV0@PBX@Z
-; public: int __thiscall ios::operator!(void)const 
-??7ios@@QBEHXZ
-; public: __thiscall ios::operator void *(void)const 
-??Bios@@QBEPAXXZ
-; const  exception::`vftable'
-??_7exception@@6B@
-; const  filebuf::`vftable'
-??_7filebuf@@6B@
-; const  fstream::`vftable'
-??_7fstream@@6B@
-; const  ifstream::`vftable'
-??_7ifstream@@6B@
-; const  ios::`vftable'
-??_7ios@@6B@
-; const  iostream::`vftable'
-??_7iostream@@6B@
-; const  istream::`vftable'
-??_7istream@@6B@
-; const  istream_withassign::`vftable'
-??_7istream_withassign@@6B@
-; const  istrstream::`vftable'
-??_7istrstream@@6B@
-; const  logic_error::`vftable'
-??_7logic_error@@6B@
-; const  ofstream::`vftable'
-??_7ofstream@@6B@
-; const  ostream::`vftable'
-??_7ostream@@6B@
-; const  ostream_withassign::`vftable'
-??_7ostream_withassign@@6B@
-; const  ostrstream::`vftable'
-??_7ostrstream@@6B@
-; const  stdiobuf::`vftable'
-??_7stdiobuf@@6B@
-; const  stdiostream::`vftable'
-??_7stdiostream@@6B@
-; const  streambuf::`vftable'
-??_7streambuf@@6B@
-; const  strstream::`vftable'
-??_7strstream@@6B@
-; const  strstreambuf::`vftable'
-??_7strstreambuf@@6B@
-; const  fstream::`vbtable'{for `istream'}
-??_8fstream@@7Bistream@@@
-; const  fstream::`vbtable'{for `ostream'}
-??_8fstream@@7Bostream@@@
-; const  ifstream::`vbtable'
-??_8ifstream@@7B@
-; const  iostream::`vbtable'{for `istream'}
-??_8iostream@@7Bistream@@@
-; const  iostream::`vbtable'{for `ostream'}
-??_8iostream@@7Bostream@@@
-; const  istream::`vbtable'
-??_8istream@@7B@
-; const  istream_withassign::`vbtable'
-??_8istream_withassign@@7B@
-; const  istrstream::`vbtable'
-??_8istrstream@@7B@
-; const  ofstream::`vbtable'
-??_8ofstream@@7B@
-; const  ostream::`vbtable'
-??_8ostream@@7B@
-; const  ostream_withassign::`vbtable'
-??_8ostream_withassign@@7B@
-; const  ostrstream::`vbtable'
-??_8ostrstream@@7B@
-; const  stdiostream::`vbtable'{for `istream'}
-??_8stdiostream@@7Bistream@@@
-; const  stdiostream::`vbtable'{for `ostream'}
-??_8stdiostream@@7Bostream@@@
-; const  strstream::`vbtable'{for `istream'}
-??_8strstream@@7Bistream@@@
-; const  strstream::`vbtable'{for `ostream'}
-??_8strstream@@7Bostream@@@
-; public: void __thiscall fstream::`vbase destructor'(void)
-??_Dfstream@@QAEXXZ
-; public: void __thiscall ifstream::`vbase destructor'(void)
-??_Difstream@@QAEXXZ
-; public: void __thiscall iostream::`vbase destructor'(void)
-??_Diostream@@QAEXXZ
-; public: void __thiscall istream::`vbase destructor'(void)
-??_Distream@@QAEXXZ
-; public: void __thiscall istream_withassign::`vbase destructor'(void)
-??_Distream_withassign@@QAEXXZ
-; public: void __thiscall istrstream::`vbase destructor'(void)
-??_Distrstream@@QAEXXZ
-; public: void __thiscall ofstream::`vbase destructor'(void)
-??_Dofstream@@QAEXXZ
-; public: void __thiscall ostream::`vbase destructor'(void)
-??_Dostream@@QAEXXZ
-; public: void __thiscall ostream_withassign::`vbase destructor'(void)
-??_Dostream_withassign@@QAEXXZ
-; public: void __thiscall ostrstream::`vbase destructor'(void)
-??_Dostrstream@@QAEXXZ
-; public: void __thiscall stdiostream::`vbase destructor'(void)
-??_Dstdiostream@@QAEXXZ
-; public: void __thiscall strstream::`vbase destructor'(void)
-??_Dstrstream@@QAEXXZ
-; public: virtual void * __thiscall exception::`vector deleting destructor'(unsigned int)
-??_Eexception@@UAEPAXI@Z
-; public: virtual void * __thiscall filebuf::`vector deleting destructor'(unsigned int)
-??_Efilebuf@@UAEPAXI@Z
-; public: virtual void * __thiscall fstream::`vector deleting destructor'(unsigned int)
-??_Efstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
-??_Eifstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ios::`vector deleting destructor'(unsigned int)
-??_Eios@@UAEPAXI@Z
-; public: virtual void * __thiscall iostream::`vector deleting destructor'(unsigned int)
-??_Eiostream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
-??_Eistream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
-??_Eistream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
-??_Eistrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall logic_error::`vector deleting destructor'(unsigned int)
-??_Elogic_error@@UAEPAXI@Z
-; public: virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
-??_Eofstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
-??_Eostream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
-??_Eostream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int)
-??_Eostrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiobuf::`vector deleting destructor'(unsigned int)
-??_Estdiobuf@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiostream::`vector deleting destructor'(unsigned int)
-??_Estdiostream@@UAEPAXI@Z
-; public: virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int)
-??_Estreambuf@@UAEPAXI@Z
-; public: virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
-??_Estrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int)
-??_Estrstreambuf@@UAEPAXI@Z
-; public: virtual void * __thiscall exception::`scalar deleting destructor'(unsigned int)
-??_Gexception@@UAEPAXI@Z
-; public: virtual void * __thiscall filebuf::`scalar deleting destructor'(unsigned int)
-??_Gfilebuf@@UAEPAXI@Z
-; public: virtual void * __thiscall fstream::`scalar deleting destructor'(unsigned int)
-??_Gfstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
-??_Gifstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ios::`scalar deleting destructor'(unsigned int)
-??_Gios@@UAEPAXI@Z
-; public: virtual void * __thiscall iostream::`scalar deleting destructor'(unsigned int)
-??_Giostream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
-??_Gistream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
-??_Gistream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
-??_Gistrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall logic_error::`scalar deleting destructor'(unsigned int)
-??_Glogic_error@@UAEPAXI@Z
-; public: virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
-??_Gofstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
-??_Gostream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
-??_Gostream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int)
-??_Gostrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiobuf::`scalar deleting destructor'(unsigned int)
-??_Gstdiobuf@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiostream::`scalar deleting destructor'(unsigned int)
-??_Gstdiostream@@UAEPAXI@Z
-; public: virtual void * __thiscall streambuf::`scalar deleting destructor'(unsigned int)
-??_Gstreambuf@@UAEPAXI@Z
-; public: virtual void * __thiscall strstream::`scalar deleting destructor'(unsigned int)
-??_Gstrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall strstreambuf::`scalar deleting destructor'(unsigned int)
-??_Gstrstreambuf@@UAEPAXI@Z
-; public: static long const  ios::adjustfield
-?adjustfield@ios@@2JB
-; protected: int __thiscall streambuf::allocate(void)
-?allocate@streambuf@@IAEHXZ
-; public: class filebuf * __thiscall filebuf::attach(int)
-?attach@filebuf@@QAEPAV1@H@Z
-; public: void __thiscall fstream::attach(int)
-?attach@fstream@@QAEXH@Z
-; public: void __thiscall ifstream::attach(int)
-?attach@ifstream@@QAEXH@Z
-; public: void __thiscall ofstream::attach(int)
-?attach@ofstream@@QAEXH@Z
-; public: int __thiscall ios::bad(void)const 
-?bad@ios@@QBEHXZ
-; protected: char * __thiscall streambuf::base(void)const 
-?base@streambuf@@IBEPADXZ
-; public: static long const  ios::basefield
-?basefield@ios@@2JB
-; public: static int const  filebuf::binary
-?binary@filebuf@@2HB
-; public: static long __cdecl ios::bitalloc(void)
-?bitalloc@ios@@SAJXZ
-; protected: int __thiscall streambuf::blen(void)const 
-?blen@streambuf@@IBEHXZ
-; class ostream_withassign  cerr
-?cerr@@3Vostream_withassign@@A DATA
-; class istream_withassign  cin
-?cin@@3Vistream_withassign@@A DATA
-; public: void __thiscall ios::clear(int)
-?clear@ios@@QAEXH@Z
-; class ostream_withassign  clog
-?clog@@3Vostream_withassign@@A DATA
-; public: class filebuf * __thiscall filebuf::close(void)
-?close@filebuf@@QAEPAV1@XZ
-; public: void __thiscall fstream::close(void)
-?close@fstream@@QAEXXZ
-; public: void __thiscall ifstream::close(void)
-?close@ifstream@@QAEXXZ
-; public: void __thiscall ofstream::close(void)
-?close@ofstream@@QAEXXZ
-; public: void __cdecl ios::clrlock(void)
-?clrlock@ios@@QAAXXZ
-; public: void __thiscall streambuf::clrlock(void)
-?clrlock@streambuf@@QAEXXZ
-; class ostream_withassign  cout
-?cout@@3Vostream_withassign@@A DATA
-; public: void __thiscall streambuf::dbp(void)
-?dbp@streambuf@@QAEXXZ
-; class ios & __cdecl dec(class ios &)
-?dec@@YAAAVios@@AAV1@@Z
-; public: void __thiscall ios::delbuf(int)
-?delbuf@ios@@QAEXH@Z
-; public: int __thiscall ios::delbuf(void)const 
-?delbuf@ios@@QBEHXZ
-; protected: virtual int __thiscall streambuf::doallocate(void)
-?doallocate@streambuf@@MAEHXZ
-; protected: virtual int __thiscall strstreambuf::doallocate(void)
-?doallocate@strstreambuf@@MAEHXZ
-; public: void __thiscall istream::eatwhite(void)
-?eatwhite@istream@@QAEXXZ
-; protected: char * __thiscall streambuf::eback(void)const 
-?eback@streambuf@@IBEPADXZ
-; protected: char * __thiscall streambuf::ebuf(void)const 
-?ebuf@streambuf@@IBEPADXZ
-; protected: char * __thiscall streambuf::egptr(void)const 
-?egptr@streambuf@@IBEPADXZ
-; class ostream & __cdecl endl(class ostream &)
-?endl@@YAAAVostream@@AAV1@@Z
-; class ostream & __cdecl ends(class ostream &)
-?ends@@YAAAVostream@@AAV1@@Z
-; public: int __thiscall ios::eof(void)const 
-?eof@ios@@QBEHXZ
-; protected: char * __thiscall streambuf::epptr(void)const 
-?epptr@streambuf@@IBEPADXZ
-; private: static int  ios::fLockcInit
-?fLockcInit@ios@@0HA DATA
-; public: int __thiscall ios::fail(void)const 
-?fail@ios@@QBEHXZ
-; public: int __thiscall filebuf::fd(void)const 
-?fd@filebuf@@QBEHXZ
-; public: int __thiscall fstream::fd(void)const 
-?fd@fstream@@QBEHXZ
-; public: int __thiscall ifstream::fd(void)const 
-?fd@ifstream@@QBEHXZ
-; public: int __thiscall ofstream::fd(void)const 
-?fd@ofstream@@QBEHXZ
-; public: char __thiscall ios::fill(char)
-?fill@ios@@QAEDD@Z
-; public: char __thiscall ios::fill(void)const 
-?fill@ios@@QBEDXZ
-; public: long __thiscall ios::flags(long)
-?flags@ios@@QAEJJ@Z
-; public: long __thiscall ios::flags(void)const 
-?flags@ios@@QBEJXZ
-; public: static long const  ios::floatfield
-?floatfield@ios@@2JB
-; class ostream & __cdecl flush(class ostream &)
-?flush@@YAAAVostream@@AAV1@@Z
-; public: class ostream & __thiscall ostream::flush(void)
-?flush@ostream@@QAEAAV1@XZ
-; public: void __thiscall strstreambuf::freeze(int)
-?freeze@strstreambuf@@QAEXH@Z
-; protected: void __thiscall streambuf::gbump(int)
-?gbump@streambuf@@IAEXH@Z
-; public: int __thiscall istream::gcount(void)const 
-?gcount@istream@@QBEHXZ
-; protected: class istream & __thiscall istream::get(char *,int,int)
-?get@istream@@IAEAAV1@PADHH@Z
-; public: class istream & __thiscall istream::get(signed char &)
-?get@istream@@QAEAAV1@AAC@Z
-; public: class istream & __thiscall istream::get(char &)
-?get@istream@@QAEAAV1@AAD@Z
-; public: class istream & __thiscall istream::get(unsigned char &)
-?get@istream@@QAEAAV1@AAE@Z
-; public: class istream & __thiscall istream::get(class streambuf &,char)
-?get@istream@@QAEAAV1@AAVstreambuf@@D@Z
-; public: class istream & __thiscall istream::get(signed char *,int,char)
-?get@istream@@QAEAAV1@PACHD@Z
-; public: class istream & __thiscall istream::get(char *,int,char)
-?get@istream@@QAEAAV1@PADHD@Z
-; public: class istream & __thiscall istream::get(unsigned char *,int,char)
-?get@istream@@QAEAAV1@PAEHD@Z
-; public: int __thiscall istream::get(void)
-?get@istream@@QAEHXZ
-; private: int __thiscall istream::getdouble(char *,int)
-?getdouble@istream@@AAEHPADH@Z
-; private: int __thiscall istream::getint(char *)
-?getint@istream@@AAEHPAD@Z
-; public: class istream & __thiscall istream::getline(signed char *,int,char)
-?getline@istream@@QAEAAV1@PACHD@Z
-; public: class istream & __thiscall istream::getline(char *,int,char)
-?getline@istream@@QAEAAV1@PADHD@Z
-; public: class istream & __thiscall istream::getline(unsigned char *,int,char)
-?getline@istream@@QAEAAV1@PAEHD@Z
-; public: int __thiscall ios::good(void)const 
-?good@ios@@QBEHXZ
-; protected: char * __thiscall streambuf::gptr(void)const 
-?gptr@streambuf@@IBEPADXZ
-; class ios & __cdecl hex(class ios &)
-?hex@@YAAAVios@@AAV1@@Z
-; public: class istream & __thiscall istream::ignore(int,int)
-?ignore@istream@@QAEAAV1@HH@Z
-; public: int __thiscall streambuf::in_avail(void)const 
-?in_avail@streambuf@@QBEHXZ
-; protected: void __thiscall ios::init(class streambuf *)
-?init@ios@@IAEXPAVstreambuf@@@Z
-; public: int __thiscall istream::ipfx(int)
-?ipfx@istream@@QAEHH@Z
-; public: int __thiscall filebuf::is_open(void)const 
-?is_open@filebuf@@QBEHXZ
-; public: int __thiscall fstream::is_open(void)const 
-?is_open@fstream@@QBEHXZ
-; public: int __thiscall ifstream::is_open(void)const 
-?is_open@ifstream@@QBEHXZ
-; public: int __thiscall ofstream::is_open(void)const 
-?is_open@ofstream@@QBEHXZ
-; public: void __thiscall istream::isfx(void)
-?isfx@istream@@QAEXXZ
-; public: long & __thiscall ios::iword(int)const 
-?iword@ios@@QBEAAJH@Z
-; public: void __cdecl ios::lock(void)
-?lock@ios@@QAAXXZ
-; public: void __thiscall streambuf::lock(void)
-?lock@streambuf@@QAEXXZ
-; public: void __cdecl ios::lockbuf(void)
-?lockbuf@ios@@QAAXXZ
-; protected: static void __cdecl ios::lockc(void)
-?lockc@ios@@KAXXZ
-; protected: struct _CRT_CRITICAL_SECTION * __thiscall ios::lockptr(void)
-?lockptr@ios@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
-; protected: struct _CRT_CRITICAL_SECTION * __thiscall streambuf::lockptr(void)
-?lockptr@streambuf@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
-; class ios & __cdecl oct(class ios &)
-?oct@@YAAAVios@@AAV1@@Z
-; public: class filebuf * __thiscall filebuf::open(char const *,int,int)
-?open@filebuf@@QAEPAV1@PBDHH@Z
-; public: void __thiscall fstream::open(char const *,int,int)
-?open@fstream@@QAEXPBDHH@Z
-; public: void __thiscall ifstream::open(char const *,int,int)
-?open@ifstream@@QAEXPBDHH@Z
-; public: void __thiscall ofstream::open(char const *,int,int)
-?open@ofstream@@QAEXPBDHH@Z
-; public: static int const  filebuf::openprot
-?openprot@filebuf@@2HB
-; public: int __thiscall ostream::opfx(void)
-?opfx@ostream@@QAEHXZ
-; public: void __thiscall ostream::osfx(void)
-?osfx@ostream@@QAEXXZ
-; public: int __thiscall streambuf::out_waiting(void)const 
-?out_waiting@streambuf@@QBEHXZ
-; public: virtual int __thiscall filebuf::overflow(int)
-?overflow@filebuf@@UAEHH@Z
-; public: virtual int __thiscall stdiobuf::overflow(int)
-?overflow@stdiobuf@@UAEHH@Z
-; public: virtual int __thiscall strstreambuf::overflow(int)
-?overflow@strstreambuf@@UAEHH@Z
-; public: virtual int __thiscall stdiobuf::pbackfail(int)
-?pbackfail@stdiobuf@@UAEHH@Z
-; public: virtual int __thiscall streambuf::pbackfail(int)
-?pbackfail@streambuf@@UAEHH@Z
-; protected: char * __thiscall streambuf::pbase(void)const 
-?pbase@streambuf@@IBEPADXZ
-; protected: void __thiscall streambuf::pbump(int)
-?pbump@streambuf@@IAEXH@Z
-; public: int __thiscall ostrstream::pcount(void)const 
-?pcount@ostrstream@@QBEHXZ
-; public: int __thiscall strstream::pcount(void)const 
-?pcount@strstream@@QBEHXZ
-; public: int __thiscall istream::peek(void)
-?peek@istream@@QAEHXZ
-; protected: char * __thiscall streambuf::pptr(void)const 
-?pptr@streambuf@@IBEPADXZ
-; public: int __thiscall ios::precision(int)
-?precision@ios@@QAEHH@Z
-; public: int __thiscall ios::precision(void)const 
-?precision@ios@@QBEHXZ
-; public: class ostream & __thiscall ostream::put(signed char)
-?put@ostream@@QAEAAV1@C@Z
-; public: class ostream & __thiscall ostream::put(char)
-?put@ostream@@QAEAAV1@D@Z
-; public: class ostream & __thiscall ostream::put(unsigned char)
-?put@ostream@@QAEAAV1@E@Z
-; public: class istream & __thiscall istream::putback(char)
-?putback@istream@@QAEAAV1@D@Z
-; public: void * & __thiscall ios::pword(int)const 
-?pword@ios@@QBEAAPAXH@Z
-; public: class filebuf * __thiscall fstream::rdbuf(void)const 
-?rdbuf@fstream@@QBEPAVfilebuf@@XZ
-; public: class filebuf * __thiscall ifstream::rdbuf(void)const 
-?rdbuf@ifstream@@QBEPAVfilebuf@@XZ
-; public: class streambuf * __thiscall ios::rdbuf(void)const 
-?rdbuf@ios@@QBEPAVstreambuf@@XZ
-; public: class strstreambuf * __thiscall istrstream::rdbuf(void)const 
-?rdbuf@istrstream@@QBEPAVstrstreambuf@@XZ
-; public: class filebuf * __thiscall ofstream::rdbuf(void)const 
-?rdbuf@ofstream@@QBEPAVfilebuf@@XZ
-; public: class strstreambuf * __thiscall ostrstream::rdbuf(void)const 
-?rdbuf@ostrstream@@QBEPAVstrstreambuf@@XZ
-; public: class stdiobuf * __thiscall stdiostream::rdbuf(void)const 
-?rdbuf@stdiostream@@QBEPAVstdiobuf@@XZ
-; public: class strstreambuf * __thiscall strstream::rdbuf(void)const 
-?rdbuf@strstream@@QBEPAVstrstreambuf@@XZ
-; public: int __thiscall ios::rdstate(void)const 
-?rdstate@ios@@QBEHXZ
-; public: class istream & __thiscall istream::read(signed char *,int)
-?read@istream@@QAEAAV1@PACH@Z
-; public: class istream & __thiscall istream::read(char *,int)
-?read@istream@@QAEAAV1@PADH@Z
-; public: class istream & __thiscall istream::read(unsigned char *,int)
-?read@istream@@QAEAAV1@PAEH@Z
-; public: int __thiscall streambuf::sbumpc(void)
-?sbumpc@streambuf@@QAEHXZ
-; public: class istream & __thiscall istream::seekg(long)
-?seekg@istream@@QAEAAV1@J@Z
-; public: class istream & __thiscall istream::seekg(long,enum ios::seek_dir)
-?seekg@istream@@QAEAAV1@JW4seek_dir@ios@@@Z
-; public: virtual long __thiscall filebuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@filebuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: class ostream & __thiscall ostream::seekp(long)
-?seekp@ostream@@QAEAAV1@J@Z
-; public: class ostream & __thiscall ostream::seekp(long,enum ios::seek_dir)
-?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z
-; public: virtual long __thiscall streambuf::seekpos(long,int)
-?seekpos@streambuf@@UAEJJH@Z
-; protected: void __thiscall streambuf::setb(char *,char *,int)
-?setb@streambuf@@IAEXPAD0H@Z
-; public: virtual class streambuf * __thiscall filebuf::setbuf(char *,int)
-?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z
-; public: class streambuf * __thiscall fstream::setbuf(char *,int)
-?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z
-; public: class streambuf * __thiscall ifstream::setbuf(char *,int)
-?setbuf@ifstream@@QAEPAVstreambuf@@PADH@Z
-; public: class streambuf * __thiscall ofstream::setbuf(char *,int)
-?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z
-; public: virtual class streambuf * __thiscall streambuf::setbuf(char *,int)
-?setbuf@streambuf@@UAEPAV1@PADH@Z
-; public: virtual class streambuf * __thiscall strstreambuf::setbuf(char *,int)
-?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z
-; public: long __thiscall ios::setf(long)
-?setf@ios@@QAEJJ@Z
-; public: long __thiscall ios::setf(long,long)
-?setf@ios@@QAEJJJ@Z
-; protected: void __thiscall streambuf::setg(char *,char *,char *)
-?setg@streambuf@@IAEXPAD00@Z
-; public: void __cdecl ios::setlock(void)
-?setlock@ios@@QAAXXZ
-; public: void __thiscall streambuf::setlock(void)
-?setlock@streambuf@@QAEXXZ
-; public: int __thiscall filebuf::setmode(int)
-?setmode@filebuf@@QAEHH@Z
-; public: int __thiscall fstream::setmode(int)
-?setmode@fstream@@QAEHH@Z
-; public: int __thiscall ifstream::setmode(int)
-?setmode@ifstream@@QAEHH@Z
-; public: int __thiscall ofstream::setmode(int)
-?setmode@ofstream@@QAEHH@Z
-; protected: void __thiscall streambuf::setp(char *,char *)
-?setp@streambuf@@IAEXPAD0@Z
-; public: int __thiscall stdiobuf::setrwbuf(int,int)
-?setrwbuf@stdiobuf@@QAEHHH@Z
-; public: int __thiscall streambuf::sgetc(void)
-?sgetc@streambuf@@QAEHXZ
-; public: int __thiscall streambuf::sgetn(char *,int)
-?sgetn@streambuf@@QAEHPADH@Z
-; public: static int const  filebuf::sh_none
-?sh_none@filebuf@@2HB
-; public: static int const  filebuf::sh_read
-?sh_read@filebuf@@2HB
-; public: static int const  filebuf::sh_write
-?sh_write@filebuf@@2HB
-; public: int __thiscall streambuf::snextc(void)
-?snextc@streambuf@@QAEHXZ
-; public: int __thiscall streambuf::sputbackc(char)
-?sputbackc@streambuf@@QAEHD@Z
-; public: int __thiscall streambuf::sputc(int)
-?sputc@streambuf@@QAEHH@Z
-; public: int __thiscall streambuf::sputn(char const *,int)
-?sputn@streambuf@@QAEHPBDH@Z
-; public: struct _iobuf * __thiscall stdiobuf::stdiofile(void)
-?stdiofile@stdiobuf@@QAEPAU_iobuf@@XZ
-; public: void __thiscall streambuf::stossc(void)
-?stossc@streambuf@@QAEXXZ
-; public: char * __thiscall istrstream::str(void)
-?str@istrstream@@QAEPADXZ
-; public: char * __thiscall ostrstream::str(void)
-?str@ostrstream@@QAEPADXZ
-; public: char * __thiscall strstream::str(void)
-?str@strstream@@QAEPADXZ
-; public: char * __thiscall strstreambuf::str(void)
-?str@strstreambuf@@QAEPADXZ
-; private: static int  ios::sunk_with_stdio
-?sunk_with_stdio@ios@@0HA DATA
-; public: virtual int __thiscall filebuf::sync(void)
-?sync@filebuf@@UAEHXZ
-; public: int __thiscall istream::sync(void)
-?sync@istream@@QAEHXZ
-; public: virtual int __thiscall stdiobuf::sync(void)
-?sync@stdiobuf@@UAEHXZ
-; public: virtual int __thiscall streambuf::sync(void)
-?sync@streambuf@@UAEHXZ
-; public: virtual int __thiscall strstreambuf::sync(void)
-?sync@strstreambuf@@UAEHXZ
-; public: static void __cdecl ios::sync_with_stdio(void)
-?sync_with_stdio@ios@@SAXXZ
-; public: long __thiscall istream::tellg(void)
-?tellg@istream@@QAEJXZ
-; public: long __thiscall ostream::tellp(void)
-?tellp@ostream@@QAEJXZ
-; public: static int const  filebuf::text
-?text@filebuf@@2HB
-; public: class ostream * __thiscall ios::tie(class ostream *)
-?tie@ios@@QAEPAVostream@@PAV2@@Z
-; public: class ostream * __thiscall ios::tie(void)const 
-?tie@ios@@QBEPAVostream@@XZ
-; protected: void __thiscall streambuf::unbuffered(int)
-?unbuffered@streambuf@@IAEXH@Z
-; protected: int __thiscall streambuf::unbuffered(void)const 
-?unbuffered@streambuf@@IBEHXZ
-; public: virtual int __thiscall filebuf::underflow(void)
-?underflow@filebuf@@UAEHXZ
-; public: virtual int __thiscall stdiobuf::underflow(void)
-?underflow@stdiobuf@@UAEHXZ
-; public: virtual int __thiscall strstreambuf::underflow(void)
-?underflow@strstreambuf@@UAEHXZ
-; public: void __cdecl ios::unlock(void)
-?unlock@ios@@QAAXXZ
-; public: void __thiscall streambuf::unlock(void)
-?unlock@streambuf@@QAEXXZ
-; public: void __cdecl ios::unlockbuf(void)
-?unlockbuf@ios@@QAAXXZ
-; protected: static void __cdecl ios::unlockc(void)
-?unlockc@ios@@KAXXZ
-; public: long __thiscall ios::unsetf(long)
-?unsetf@ios@@QAEJJ@Z
-; public: virtual char const * __thiscall exception::what(void)const 
-?what@exception@@UBEPBDXZ
-; public: int __thiscall ios::width(int)
-?width@ios@@QAEHH@Z
-; public: int __thiscall ios::width(void)const 
-?width@ios@@QBEHXZ
-; public: class ostream & __thiscall ostream::write(signed char const *,int)
-?write@ostream@@QAEAAV1@PBCH@Z
-; public: class ostream & __thiscall ostream::write(char const *,int)
-?write@ostream@@QAEAAV1@PBDH@Z
-; public: class ostream & __thiscall ostream::write(unsigned char const *,int)
-?write@ostream@@QAEAAV1@PBEH@Z
-; private: class ostream & __thiscall ostream::writepad(char const *,char const *)
-?writepad@ostream@@AAEAAV1@PBD0@Z
-; class istream & __cdecl ws(class istream &)
-?ws@@YAAAVistream@@AAV1@@Z
-; private: static int  ios::x_curindex
-?x_curindex@ios@@0HA DATA
-; private: static struct _CRT_CRITICAL_SECTION  ios::x_lockc
-?x_lockc@ios@@0U_CRT_CRITICAL_SECTION@@A DATA
-; private: static long  ios::x_maxbit
-?x_maxbit@ios@@0JA DATA
-; private: static long *  ios::x_statebuf
-?x_statebuf@ios@@0PAJA DATA
-; public: static int __cdecl ios::xalloc(void)
-?xalloc@ios@@SAHXZ
-; public: virtual int __thiscall streambuf::xsgetn(char *,int)
-?xsgetn@streambuf@@UAEHPADH@Z
-; public: virtual int __thiscall streambuf::xsputn(char const *,int)
-?xsputn@streambuf@@UAEHPBDH@Z
-__dummy_export DATA
-_mtlock
-_mtunlock
+; 
+; Exports of file msvcirt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msvcirt.dll
+EXPORTS
+; public: __thiscall Iostream_init::Iostream_init(class ios &,int)
+??0Iostream_init@@QAE@AAVios@@H@Z
+; public: __thiscall Iostream_init::Iostream_init(void)
+??0Iostream_init@@QAE@XZ
+; public: __thiscall exception::exception(char const * const &)
+??0exception@@QAE@ABQBD@Z
+; public: __thiscall exception::exception(class exception const &)
+??0exception@@QAE@ABV0@@Z
+; public: __thiscall exception::exception(void)
+??0exception@@QAE@XZ
+; public: __thiscall filebuf::filebuf(class filebuf const &)
+??0filebuf@@QAE@ABV0@@Z
+; public: __thiscall filebuf::filebuf(int)
+??0filebuf@@QAE@H@Z
+; public: __thiscall filebuf::filebuf(int,char *,int)
+??0filebuf@@QAE@HPADH@Z
+; public: __thiscall filebuf::filebuf(void)
+??0filebuf@@QAE@XZ
+; public: __thiscall fstream::fstream(class fstream const &)
+??0fstream@@QAE@ABV0@@Z
+; public: __thiscall fstream::fstream(int)
+??0fstream@@QAE@H@Z
+; public: __thiscall fstream::fstream(int,char *,int)
+??0fstream@@QAE@HPADH@Z
+; public: __thiscall fstream::fstream(char const *,int,int)
+??0fstream@@QAE@PBDHH@Z
+; public: __thiscall fstream::fstream(void)
+??0fstream@@QAE@XZ
+; public: __thiscall ifstream::ifstream(class ifstream const &)
+??0ifstream@@QAE@ABV0@@Z
+; public: __thiscall ifstream::ifstream(int)
+??0ifstream@@QAE@H@Z
+; public: __thiscall ifstream::ifstream(int,char *,int)
+??0ifstream@@QAE@HPADH@Z
+; public: __thiscall ifstream::ifstream(char const *,int,int)
+??0ifstream@@QAE@PBDHH@Z
+; public: __thiscall ifstream::ifstream(void)
+??0ifstream@@QAE@XZ
+; protected: __thiscall ios::ios(class ios const &)
+??0ios@@IAE@ABV0@@Z
+; protected: __thiscall ios::ios(void)
+??0ios@@IAE@XZ
+; public: __thiscall ios::ios(class streambuf *)
+??0ios@@QAE@PAVstreambuf@@@Z
+; protected: __thiscall iostream::iostream(class iostream const &)
+??0iostream@@IAE@ABV0@@Z
+; protected: __thiscall iostream::iostream(void)
+??0iostream@@IAE@XZ
+; public: __thiscall iostream::iostream(class streambuf *)
+??0iostream@@QAE@PAVstreambuf@@@Z
+; protected: __thiscall istream::istream(class istream const &)
+??0istream@@IAE@ABV0@@Z
+; protected: __thiscall istream::istream(void)
+??0istream@@IAE@XZ
+; public: __thiscall istream::istream(class streambuf *)
+??0istream@@QAE@PAVstreambuf@@@Z
+; public: __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
+??0istream_withassign@@QAE@ABV0@@Z
+; public: __thiscall istream_withassign::istream_withassign(class streambuf *)
+??0istream_withassign@@QAE@PAVstreambuf@@@Z
+; public: __thiscall istream_withassign::istream_withassign(void)
+??0istream_withassign@@QAE@XZ
+; public: __thiscall istrstream::istrstream(class istrstream const &)
+??0istrstream@@QAE@ABV0@@Z
+; public: __thiscall istrstream::istrstream(char *)
+??0istrstream@@QAE@PAD@Z
+; public: __thiscall istrstream::istrstream(char *,int)
+??0istrstream@@QAE@PADH@Z
+; public: __thiscall logic_error::logic_error(char const * const &)
+??0logic_error@@QAE@ABQBD@Z
+; public: __thiscall logic_error::logic_error(class logic_error const &)
+??0logic_error@@QAE@ABV0@@Z
+; public: __thiscall ofstream::ofstream(class ofstream const &)
+??0ofstream@@QAE@ABV0@@Z
+; public: __thiscall ofstream::ofstream(int)
+??0ofstream@@QAE@H@Z
+; public: __thiscall ofstream::ofstream(int,char *,int)
+??0ofstream@@QAE@HPADH@Z
+; public: __thiscall ofstream::ofstream(char const *,int,int)
+??0ofstream@@QAE@PBDHH@Z
+; public: __thiscall ofstream::ofstream(void)
+??0ofstream@@QAE@XZ
+; protected: __thiscall ostream::ostream(class ostream const &)
+??0ostream@@IAE@ABV0@@Z
+; protected: __thiscall ostream::ostream(void)
+??0ostream@@IAE@XZ
+; public: __thiscall ostream::ostream(class streambuf *)
+??0ostream@@QAE@PAVstreambuf@@@Z
+; public: __thiscall ostream_withassign::ostream_withassign(class ostream_withassign const &)
+??0ostream_withassign@@QAE@ABV0@@Z
+; public: __thiscall ostream_withassign::ostream_withassign(class streambuf *)
+??0ostream_withassign@@QAE@PAVstreambuf@@@Z
+; public: __thiscall ostream_withassign::ostream_withassign(void)
+??0ostream_withassign@@QAE@XZ
+; public: __thiscall ostrstream::ostrstream(class ostrstream const &)
+??0ostrstream@@QAE@ABV0@@Z
+; public: __thiscall ostrstream::ostrstream(char *,int,int)
+??0ostrstream@@QAE@PADHH@Z
+; public: __thiscall ostrstream::ostrstream(void)
+??0ostrstream@@QAE@XZ
+; public: __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
+??0stdiobuf@@QAE@ABV0@@Z
+; public: __thiscall stdiobuf::stdiobuf(struct _iobuf *)
+??0stdiobuf@@QAE@PAU_iobuf@@@Z
+; public: __thiscall stdiostream::stdiostream(class stdiostream const &)
+??0stdiostream@@QAE@ABV0@@Z
+; public: __thiscall stdiostream::stdiostream(struct _iobuf *)
+??0stdiostream@@QAE@PAU_iobuf@@@Z
+; protected: __thiscall streambuf::streambuf(char *,int)
+??0streambuf@@IAE@PADH@Z
+; protected: __thiscall streambuf::streambuf(void)
+??0streambuf@@IAE@XZ
+; public: __thiscall streambuf::streambuf(class streambuf const &)
+??0streambuf@@QAE@ABV0@@Z
+; public: __thiscall strstream::strstream(class strstream const &)
+??0strstream@@QAE@ABV0@@Z
+; public: __thiscall strstream::strstream(char *,int,int)
+??0strstream@@QAE@PADHH@Z
+; public: __thiscall strstream::strstream(void)
+??0strstream@@QAE@XZ
+; public: __thiscall strstreambuf::strstreambuf(class strstreambuf const &)
+??0strstreambuf@@QAE@ABV0@@Z
+; public: __thiscall strstreambuf::strstreambuf(int)
+??0strstreambuf@@QAE@H@Z
+; public: __thiscall strstreambuf::strstreambuf(void * (__cdecl*)(long),void (__cdecl*)(void *))
+??0strstreambuf@@QAE@P6APAXJ@ZP6AXPAX@Z@Z
+; public: __thiscall strstreambuf::strstreambuf(char *,int,char *)
+??0strstreambuf@@QAE@PADH0@Z
+; public: __thiscall strstreambuf::strstreambuf(unsigned char *,int,unsigned char *)
+??0strstreambuf@@QAE@PAEH0@Z
+; public: __thiscall strstreambuf::strstreambuf(void)
+??0strstreambuf@@QAE@XZ
+; public: __thiscall Iostream_init::~Iostream_init(void)
+??1Iostream_init@@QAE@XZ
+; public: virtual __thiscall exception::~exception(void)
+??1exception@@UAE@XZ
+; public: virtual __thiscall filebuf::~filebuf(void)
+??1filebuf@@UAE@XZ
+; public: virtual __thiscall fstream::~fstream(void)
+??1fstream@@UAE@XZ
+; public: virtual __thiscall ifstream::~ifstream(void)
+??1ifstream@@UAE@XZ
+; public: virtual __thiscall ios::~ios(void)
+??1ios@@UAE@XZ
+; public: virtual __thiscall iostream::~iostream(void)
+??1iostream@@UAE@XZ
+; public: virtual __thiscall istream::~istream(void)
+??1istream@@UAE@XZ
+; public: virtual __thiscall istream_withassign::~istream_withassign(void)
+??1istream_withassign@@UAE@XZ
+; public: virtual __thiscall istrstream::~istrstream(void)
+??1istrstream@@UAE@XZ
+; public: virtual __thiscall logic_error::~logic_error(void)
+??1logic_error@@UAE@XZ
+; public: virtual __thiscall ofstream::~ofstream(void)
+??1ofstream@@UAE@XZ
+; public: virtual __thiscall ostream::~ostream(void)
+??1ostream@@UAE@XZ
+; public: virtual __thiscall ostream_withassign::~ostream_withassign(void)
+??1ostream_withassign@@UAE@XZ
+; public: virtual __thiscall ostrstream::~ostrstream(void)
+??1ostrstream@@UAE@XZ
+; public: virtual __thiscall stdiobuf::~stdiobuf(void)
+??1stdiobuf@@UAE@XZ
+; public: virtual __thiscall stdiostream::~stdiostream(void)
+??1stdiostream@@UAE@XZ
+; public: virtual __thiscall streambuf::~streambuf(void)
+??1streambuf@@UAE@XZ
+; public: virtual __thiscall strstream::~strstream(void)
+??1strstream@@UAE@XZ
+; public: virtual __thiscall strstreambuf::~strstreambuf(void)
+??1strstreambuf@@UAE@XZ
+; public: class Iostream_init & __thiscall Iostream_init::operator=(class Iostream_init const &)
+??4Iostream_init@@QAEAAV0@ABV0@@Z
+; public: class exception & __thiscall exception::operator=(class exception const &)
+??4exception@@QAEAAV0@ABV0@@Z
+; public: class filebuf & __thiscall filebuf::operator=(class filebuf const &)
+??4filebuf@@QAEAAV0@ABV0@@Z
+; public: class fstream & __thiscall fstream::operator=(class fstream &)
+??4fstream@@QAEAAV0@AAV0@@Z
+; public: class ifstream & __thiscall ifstream::operator=(class ifstream const &)
+??4ifstream@@QAEAAV0@ABV0@@Z
+; protected: class ios & __thiscall ios::operator=(class ios const &)
+??4ios@@IAEAAV0@ABV0@@Z
+; protected: class iostream & __thiscall iostream::operator=(class iostream &)
+??4iostream@@IAEAAV0@AAV0@@Z
+; protected: class iostream & __thiscall iostream::operator=(class streambuf *)
+??4iostream@@IAEAAV0@PAVstreambuf@@@Z
+; protected: class istream & __thiscall istream::operator=(class istream const &)
+??4istream@@IAEAAV0@ABV0@@Z
+; protected: class istream & __thiscall istream::operator=(class streambuf *)
+??4istream@@IAEAAV0@PAVstreambuf@@@Z
+; public: class istream_withassign & __thiscall istream_withassign::operator=(class istream_withassign const &)
+??4istream_withassign@@QAEAAV0@ABV0@@Z
+; public: class istream & __thiscall istream_withassign::operator=(class istream const &)
+??4istream_withassign@@QAEAAVistream@@ABV1@@Z
+; public: class istream & __thiscall istream_withassign::operator=(class streambuf *)
+??4istream_withassign@@QAEAAVistream@@PAVstreambuf@@@Z
+; public: class istrstream & __thiscall istrstream::operator=(class istrstream const &)
+??4istrstream@@QAEAAV0@ABV0@@Z
+; public: class logic_error & __thiscall logic_error::operator=(class logic_error const &)
+??4logic_error@@QAEAAV0@ABV0@@Z
+; public: class ofstream & __thiscall ofstream::operator=(class ofstream const &)
+??4ofstream@@QAEAAV0@ABV0@@Z
+; protected: class ostream & __thiscall ostream::operator=(class ostream const &)
+??4ostream@@IAEAAV0@ABV0@@Z
+; protected: class ostream & __thiscall ostream::operator=(class streambuf *)
+??4ostream@@IAEAAV0@PAVstreambuf@@@Z
+; public: class ostream_withassign & __thiscall ostream_withassign::operator=(class ostream_withassign const &)
+??4ostream_withassign@@QAEAAV0@ABV0@@Z
+; public: class ostream & __thiscall ostream_withassign::operator=(class ostream const &)
+??4ostream_withassign@@QAEAAVostream@@ABV1@@Z
+; public: class ostream & __thiscall ostream_withassign::operator=(class streambuf *)
+??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z
+; public: class ostrstream & __thiscall ostrstream::operator=(class ostrstream const &)
+??4ostrstream@@QAEAAV0@ABV0@@Z
+; public: class stdiobuf & __thiscall stdiobuf::operator=(class stdiobuf const &)
+??4stdiobuf@@QAEAAV0@ABV0@@Z
+; public: class stdiostream & __thiscall stdiostream::operator=(class stdiostream &)
+??4stdiostream@@QAEAAV0@AAV0@@Z
+; public: class streambuf & __thiscall streambuf::operator=(class streambuf const &)
+??4streambuf@@QAEAAV0@ABV0@@Z
+; public: class strstream & __thiscall strstream::operator=(class strstream &)
+??4strstream@@QAEAAV0@AAV0@@Z
+; public: class strstreambuf & __thiscall strstreambuf::operator=(class strstreambuf const &)
+??4strstreambuf@@QAEAAV0@ABV0@@Z
+; public: class istream & __thiscall istream::operator>>(signed char &)
+??5istream@@QAEAAV0@AAC@Z
+; public: class istream & __thiscall istream::operator>>(char &)
+??5istream@@QAEAAV0@AAD@Z
+; public: class istream & __thiscall istream::operator>>(unsigned char &)
+??5istream@@QAEAAV0@AAE@Z
+; public: class istream & __thiscall istream::operator>>(short &)
+??5istream@@QAEAAV0@AAF@Z
+; public: class istream & __thiscall istream::operator>>(unsigned short &)
+??5istream@@QAEAAV0@AAG@Z
+; public: class istream & __thiscall istream::operator>>(int &)
+??5istream@@QAEAAV0@AAH@Z
+; public: class istream & __thiscall istream::operator>>(unsigned int &)
+??5istream@@QAEAAV0@AAI@Z
+; public: class istream & __thiscall istream::operator>>(long &)
+??5istream@@QAEAAV0@AAJ@Z
+; public: class istream & __thiscall istream::operator>>(unsigned long &)
+??5istream@@QAEAAV0@AAK@Z
+; public: class istream & __thiscall istream::operator>>(float &)
+??5istream@@QAEAAV0@AAM@Z
+; public: class istream & __thiscall istream::operator>>(double &)
+??5istream@@QAEAAV0@AAN@Z
+; public: class istream & __thiscall istream::operator>>(long double &)
+??5istream@@QAEAAV0@AAO@Z
+; public: class istream & __thiscall istream::operator>>(class istream & (__cdecl*)(class istream &))
+??5istream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
+; public: class istream & __thiscall istream::operator>>(class ios & (__cdecl*)(class ios &))
+??5istream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
+; public: class istream & __thiscall istream::operator>>(signed char *)
+??5istream@@QAEAAV0@PAC@Z
+; public: class istream & __thiscall istream::operator>>(char *)
+??5istream@@QAEAAV0@PAD@Z
+; public: class istream & __thiscall istream::operator>>(unsigned char *)
+??5istream@@QAEAAV0@PAE@Z
+; public: class istream & __thiscall istream::operator>>(class streambuf *)
+??5istream@@QAEAAV0@PAVstreambuf@@@Z
+; public: class ostream & __thiscall ostream::operator<<(signed char)
+??6ostream@@QAEAAV0@C@Z
+; public: class ostream & __thiscall ostream::operator<<(char)
+??6ostream@@QAEAAV0@D@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned char)
+??6ostream@@QAEAAV0@E@Z
+; public: class ostream & __thiscall ostream::operator<<(short)
+??6ostream@@QAEAAV0@F@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned short)
+??6ostream@@QAEAAV0@G@Z
+; public: class ostream & __thiscall ostream::operator<<(int)
+??6ostream@@QAEAAV0@H@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned int)
+??6ostream@@QAEAAV0@I@Z
+; public: class ostream & __thiscall ostream::operator<<(long)
+??6ostream@@QAEAAV0@J@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned long)
+??6ostream@@QAEAAV0@K@Z
+; public: class ostream & __thiscall ostream::operator<<(float)
+??6ostream@@QAEAAV0@M@Z
+; public: class ostream & __thiscall ostream::operator<<(double)
+??6ostream@@QAEAAV0@N@Z
+; public: class ostream & __thiscall ostream::operator<<(long double)
+??6ostream@@QAEAAV0@O@Z
+; public: class ostream & __thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream &))
+??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
+; public: class ostream & __thiscall ostream::operator<<(class ios & (__cdecl*)(class ios &))
+??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
+; public: class ostream & __thiscall ostream::operator<<(class streambuf *)
+??6ostream@@QAEAAV0@PAVstreambuf@@@Z
+; public: class ostream & __thiscall ostream::operator<<(signed char const *)
+??6ostream@@QAEAAV0@PBC@Z
+; public: class ostream & __thiscall ostream::operator<<(char const *)
+??6ostream@@QAEAAV0@PBD@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned char const *)
+??6ostream@@QAEAAV0@PBE@Z
+; public: class ostream & __thiscall ostream::operator<<(void const *)
+??6ostream@@QAEAAV0@PBX@Z
+; public: int __thiscall ios::operator!(void)const 
+??7ios@@QBEHXZ
+; public: __thiscall ios::operator void *(void)const 
+??Bios@@QBEPAXXZ
+; const  exception::`vftable'
+??_7exception@@6B@
+; const  filebuf::`vftable'
+??_7filebuf@@6B@
+; const  fstream::`vftable'
+??_7fstream@@6B@
+; const  ifstream::`vftable'
+??_7ifstream@@6B@
+; const  ios::`vftable'
+??_7ios@@6B@
+; const  iostream::`vftable'
+??_7iostream@@6B@
+; const  istream::`vftable'
+??_7istream@@6B@
+; const  istream_withassign::`vftable'
+??_7istream_withassign@@6B@
+; const  istrstream::`vftable'
+??_7istrstream@@6B@
+; const  logic_error::`vftable'
+??_7logic_error@@6B@
+; const  ofstream::`vftable'
+??_7ofstream@@6B@
+; const  ostream::`vftable'
+??_7ostream@@6B@
+; const  ostream_withassign::`vftable'
+??_7ostream_withassign@@6B@
+; const  ostrstream::`vftable'
+??_7ostrstream@@6B@
+; const  stdiobuf::`vftable'
+??_7stdiobuf@@6B@
+; const  stdiostream::`vftable'
+??_7stdiostream@@6B@
+; const  streambuf::`vftable'
+??_7streambuf@@6B@
+; const  strstream::`vftable'
+??_7strstream@@6B@
+; const  strstreambuf::`vftable'
+??_7strstreambuf@@6B@
+; const  fstream::`vbtable'{for `istream'}
+??_8fstream@@7Bistream@@@
+; const  fstream::`vbtable'{for `ostream'}
+??_8fstream@@7Bostream@@@
+; const  ifstream::`vbtable'
+??_8ifstream@@7B@
+; const  iostream::`vbtable'{for `istream'}
+??_8iostream@@7Bistream@@@
+; const  iostream::`vbtable'{for `ostream'}
+??_8iostream@@7Bostream@@@
+; const  istream::`vbtable'
+??_8istream@@7B@
+; const  istream_withassign::`vbtable'
+??_8istream_withassign@@7B@
+; const  istrstream::`vbtable'
+??_8istrstream@@7B@
+; const  ofstream::`vbtable'
+??_8ofstream@@7B@
+; const  ostream::`vbtable'
+??_8ostream@@7B@
+; const  ostream_withassign::`vbtable'
+??_8ostream_withassign@@7B@
+; const  ostrstream::`vbtable'
+??_8ostrstream@@7B@
+; const  stdiostream::`vbtable'{for `istream'}
+??_8stdiostream@@7Bistream@@@
+; const  stdiostream::`vbtable'{for `ostream'}
+??_8stdiostream@@7Bostream@@@
+; const  strstream::`vbtable'{for `istream'}
+??_8strstream@@7Bistream@@@
+; const  strstream::`vbtable'{for `ostream'}
+??_8strstream@@7Bostream@@@
+; public: void __thiscall fstream::`vbase destructor'(void)
+??_Dfstream@@QAEXXZ
+; public: void __thiscall ifstream::`vbase destructor'(void)
+??_Difstream@@QAEXXZ
+; public: void __thiscall iostream::`vbase destructor'(void)
+??_Diostream@@QAEXXZ
+; public: void __thiscall istream::`vbase destructor'(void)
+??_Distream@@QAEXXZ
+; public: void __thiscall istream_withassign::`vbase destructor'(void)
+??_Distream_withassign@@QAEXXZ
+; public: void __thiscall istrstream::`vbase destructor'(void)
+??_Distrstream@@QAEXXZ
+; public: void __thiscall ofstream::`vbase destructor'(void)
+??_Dofstream@@QAEXXZ
+; public: void __thiscall ostream::`vbase destructor'(void)
+??_Dostream@@QAEXXZ
+; public: void __thiscall ostream_withassign::`vbase destructor'(void)
+??_Dostream_withassign@@QAEXXZ
+; public: void __thiscall ostrstream::`vbase destructor'(void)
+??_Dostrstream@@QAEXXZ
+; public: void __thiscall stdiostream::`vbase destructor'(void)
+??_Dstdiostream@@QAEXXZ
+; public: void __thiscall strstream::`vbase destructor'(void)
+??_Dstrstream@@QAEXXZ
+; public: virtual void * __thiscall exception::`vector deleting destructor'(unsigned int)
+??_Eexception@@UAEPAXI@Z
+; public: virtual void * __thiscall filebuf::`vector deleting destructor'(unsigned int)
+??_Efilebuf@@UAEPAXI@Z
+; public: virtual void * __thiscall fstream::`vector deleting destructor'(unsigned int)
+??_Efstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
+??_Eifstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ios::`vector deleting destructor'(unsigned int)
+??_Eios@@UAEPAXI@Z
+; public: virtual void * __thiscall iostream::`vector deleting destructor'(unsigned int)
+??_Eiostream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
+??_Eistream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
+??_Eistream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
+??_Eistrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall logic_error::`vector deleting destructor'(unsigned int)
+??_Elogic_error@@UAEPAXI@Z
+; public: virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
+??_Eofstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
+??_Eostream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
+??_Eostream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int)
+??_Eostrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiobuf::`vector deleting destructor'(unsigned int)
+??_Estdiobuf@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiostream::`vector deleting destructor'(unsigned int)
+??_Estdiostream@@UAEPAXI@Z
+; public: virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int)
+??_Estreambuf@@UAEPAXI@Z
+; public: virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
+??_Estrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int)
+??_Estrstreambuf@@UAEPAXI@Z
+; public: virtual void * __thiscall exception::`scalar deleting destructor'(unsigned int)
+??_Gexception@@UAEPAXI@Z
+; public: virtual void * __thiscall filebuf::`scalar deleting destructor'(unsigned int)
+??_Gfilebuf@@UAEPAXI@Z
+; public: virtual void * __thiscall fstream::`scalar deleting destructor'(unsigned int)
+??_Gfstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
+??_Gifstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ios::`scalar deleting destructor'(unsigned int)
+??_Gios@@UAEPAXI@Z
+; public: virtual void * __thiscall iostream::`scalar deleting destructor'(unsigned int)
+??_Giostream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
+??_Gistream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
+??_Gistream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
+??_Gistrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall logic_error::`scalar deleting destructor'(unsigned int)
+??_Glogic_error@@UAEPAXI@Z
+; public: virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
+??_Gofstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
+??_Gostream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
+??_Gostream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int)
+??_Gostrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiobuf::`scalar deleting destructor'(unsigned int)
+??_Gstdiobuf@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiostream::`scalar deleting destructor'(unsigned int)
+??_Gstdiostream@@UAEPAXI@Z
+; public: virtual void * __thiscall streambuf::`scalar deleting destructor'(unsigned int)
+??_Gstreambuf@@UAEPAXI@Z
+; public: virtual void * __thiscall strstream::`scalar deleting destructor'(unsigned int)
+??_Gstrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall strstreambuf::`scalar deleting destructor'(unsigned int)
+??_Gstrstreambuf@@UAEPAXI@Z
+; public: static long const  ios::adjustfield
+?adjustfield@ios@@2JB
+; protected: int __thiscall streambuf::allocate(void)
+?allocate@streambuf@@IAEHXZ
+; public: class filebuf * __thiscall filebuf::attach(int)
+?attach@filebuf@@QAEPAV1@H@Z
+; public: void __thiscall fstream::attach(int)
+?attach@fstream@@QAEXH@Z
+; public: void __thiscall ifstream::attach(int)
+?attach@ifstream@@QAEXH@Z
+; public: void __thiscall ofstream::attach(int)
+?attach@ofstream@@QAEXH@Z
+; public: int __thiscall ios::bad(void)const 
+?bad@ios@@QBEHXZ
+; protected: char * __thiscall streambuf::base(void)const 
+?base@streambuf@@IBEPADXZ
+; public: static long const  ios::basefield
+?basefield@ios@@2JB
+; public: static int const  filebuf::binary
+?binary@filebuf@@2HB
+; public: static long __cdecl ios::bitalloc(void)
+?bitalloc@ios@@SAJXZ
+; protected: int __thiscall streambuf::blen(void)const 
+?blen@streambuf@@IBEHXZ
+; class ostream_withassign  cerr
+?cerr@@3Vostream_withassign@@A DATA
+; class istream_withassign  cin
+?cin@@3Vistream_withassign@@A DATA
+; public: void __thiscall ios::clear(int)
+?clear@ios@@QAEXH@Z
+; class ostream_withassign  clog
+?clog@@3Vostream_withassign@@A DATA
+; public: class filebuf * __thiscall filebuf::close(void)
+?close@filebuf@@QAEPAV1@XZ
+; public: void __thiscall fstream::close(void)
+?close@fstream@@QAEXXZ
+; public: void __thiscall ifstream::close(void)
+?close@ifstream@@QAEXXZ
+; public: void __thiscall ofstream::close(void)
+?close@ofstream@@QAEXXZ
+; public: void __cdecl ios::clrlock(void)
+?clrlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::clrlock(void)
+?clrlock@streambuf@@QAEXXZ
+; class ostream_withassign  cout
+?cout@@3Vostream_withassign@@A DATA
+; public: void __thiscall streambuf::dbp(void)
+?dbp@streambuf@@QAEXXZ
+; class ios & __cdecl dec(class ios &)
+?dec@@YAAAVios@@AAV1@@Z
+; public: void __thiscall ios::delbuf(int)
+?delbuf@ios@@QAEXH@Z
+; public: int __thiscall ios::delbuf(void)const 
+?delbuf@ios@@QBEHXZ
+; protected: virtual int __thiscall streambuf::doallocate(void)
+?doallocate@streambuf@@MAEHXZ
+; protected: virtual int __thiscall strstreambuf::doallocate(void)
+?doallocate@strstreambuf@@MAEHXZ
+; public: void __thiscall istream::eatwhite(void)
+?eatwhite@istream@@QAEXXZ
+; protected: char * __thiscall streambuf::eback(void)const 
+?eback@streambuf@@IBEPADXZ
+; protected: char * __thiscall streambuf::ebuf(void)const 
+?ebuf@streambuf@@IBEPADXZ
+; protected: char * __thiscall streambuf::egptr(void)const 
+?egptr@streambuf@@IBEPADXZ
+; class ostream & __cdecl endl(class ostream &)
+?endl@@YAAAVostream@@AAV1@@Z
+; class ostream & __cdecl ends(class ostream &)
+?ends@@YAAAVostream@@AAV1@@Z
+; public: int __thiscall ios::eof(void)const 
+?eof@ios@@QBEHXZ
+; protected: char * __thiscall streambuf::epptr(void)const 
+?epptr@streambuf@@IBEPADXZ
+; private: static int  ios::fLockcInit
+?fLockcInit@ios@@0HA DATA
+; public: int __thiscall ios::fail(void)const 
+?fail@ios@@QBEHXZ
+; public: int __thiscall filebuf::fd(void)const 
+?fd@filebuf@@QBEHXZ
+; public: int __thiscall fstream::fd(void)const 
+?fd@fstream@@QBEHXZ
+; public: int __thiscall ifstream::fd(void)const 
+?fd@ifstream@@QBEHXZ
+; public: int __thiscall ofstream::fd(void)const 
+?fd@ofstream@@QBEHXZ
+; public: char __thiscall ios::fill(char)
+?fill@ios@@QAEDD@Z
+; public: char __thiscall ios::fill(void)const 
+?fill@ios@@QBEDXZ
+; public: long __thiscall ios::flags(long)
+?flags@ios@@QAEJJ@Z
+; public: long __thiscall ios::flags(void)const 
+?flags@ios@@QBEJXZ
+; public: static long const  ios::floatfield
+?floatfield@ios@@2JB
+; class ostream & __cdecl flush(class ostream &)
+?flush@@YAAAVostream@@AAV1@@Z
+; public: class ostream & __thiscall ostream::flush(void)
+?flush@ostream@@QAEAAV1@XZ
+; public: void __thiscall strstreambuf::freeze(int)
+?freeze@strstreambuf@@QAEXH@Z
+; protected: void __thiscall streambuf::gbump(int)
+?gbump@streambuf@@IAEXH@Z
+; public: int __thiscall istream::gcount(void)const 
+?gcount@istream@@QBEHXZ
+; protected: class istream & __thiscall istream::get(char *,int,int)
+?get@istream@@IAEAAV1@PADHH@Z
+; public: class istream & __thiscall istream::get(signed char &)
+?get@istream@@QAEAAV1@AAC@Z
+; public: class istream & __thiscall istream::get(char &)
+?get@istream@@QAEAAV1@AAD@Z
+; public: class istream & __thiscall istream::get(unsigned char &)
+?get@istream@@QAEAAV1@AAE@Z
+; public: class istream & __thiscall istream::get(class streambuf &,char)
+?get@istream@@QAEAAV1@AAVstreambuf@@D@Z
+; public: class istream & __thiscall istream::get(signed char *,int,char)
+?get@istream@@QAEAAV1@PACHD@Z
+; public: class istream & __thiscall istream::get(char *,int,char)
+?get@istream@@QAEAAV1@PADHD@Z
+; public: class istream & __thiscall istream::get(unsigned char *,int,char)
+?get@istream@@QAEAAV1@PAEHD@Z
+; public: int __thiscall istream::get(void)
+?get@istream@@QAEHXZ
+; private: int __thiscall istream::getdouble(char *,int)
+?getdouble@istream@@AAEHPADH@Z
+; private: int __thiscall istream::getint(char *)
+?getint@istream@@AAEHPAD@Z
+; public: class istream & __thiscall istream::getline(signed char *,int,char)
+?getline@istream@@QAEAAV1@PACHD@Z
+; public: class istream & __thiscall istream::getline(char *,int,char)
+?getline@istream@@QAEAAV1@PADHD@Z
+; public: class istream & __thiscall istream::getline(unsigned char *,int,char)
+?getline@istream@@QAEAAV1@PAEHD@Z
+; public: int __thiscall ios::good(void)const 
+?good@ios@@QBEHXZ
+; protected: char * __thiscall streambuf::gptr(void)const 
+?gptr@streambuf@@IBEPADXZ
+; class ios & __cdecl hex(class ios &)
+?hex@@YAAAVios@@AAV1@@Z
+; public: class istream & __thiscall istream::ignore(int,int)
+?ignore@istream@@QAEAAV1@HH@Z
+; public: int __thiscall streambuf::in_avail(void)const 
+?in_avail@streambuf@@QBEHXZ
+; protected: void __thiscall ios::init(class streambuf *)
+?init@ios@@IAEXPAVstreambuf@@@Z
+; public: int __thiscall istream::ipfx(int)
+?ipfx@istream@@QAEHH@Z
+; public: int __thiscall filebuf::is_open(void)const 
+?is_open@filebuf@@QBEHXZ
+; public: int __thiscall fstream::is_open(void)const 
+?is_open@fstream@@QBEHXZ
+; public: int __thiscall ifstream::is_open(void)const 
+?is_open@ifstream@@QBEHXZ
+; public: int __thiscall ofstream::is_open(void)const 
+?is_open@ofstream@@QBEHXZ
+; public: void __thiscall istream::isfx(void)
+?isfx@istream@@QAEXXZ
+; public: long & __thiscall ios::iword(int)const 
+?iword@ios@@QBEAAJH@Z
+; public: void __cdecl ios::lock(void)
+?lock@ios@@QAAXXZ
+; public: void __thiscall streambuf::lock(void)
+?lock@streambuf@@QAEXXZ
+; public: void __cdecl ios::lockbuf(void)
+?lockbuf@ios@@QAAXXZ
+; protected: static void __cdecl ios::lockc(void)
+?lockc@ios@@KAXXZ
+; protected: struct _CRT_CRITICAL_SECTION * __thiscall ios::lockptr(void)
+?lockptr@ios@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
+; protected: struct _CRT_CRITICAL_SECTION * __thiscall streambuf::lockptr(void)
+?lockptr@streambuf@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
+; class ios & __cdecl oct(class ios &)
+?oct@@YAAAVios@@AAV1@@Z
+; public: class filebuf * __thiscall filebuf::open(char const *,int,int)
+?open@filebuf@@QAEPAV1@PBDHH@Z
+; public: void __thiscall fstream::open(char const *,int,int)
+?open@fstream@@QAEXPBDHH@Z
+; public: void __thiscall ifstream::open(char const *,int,int)
+?open@ifstream@@QAEXPBDHH@Z
+; public: void __thiscall ofstream::open(char const *,int,int)
+?open@ofstream@@QAEXPBDHH@Z
+; public: static int const  filebuf::openprot
+?openprot@filebuf@@2HB
+; public: int __thiscall ostream::opfx(void)
+?opfx@ostream@@QAEHXZ
+; public: void __thiscall ostream::osfx(void)
+?osfx@ostream@@QAEXXZ
+; public: int __thiscall streambuf::out_waiting(void)const 
+?out_waiting@streambuf@@QBEHXZ
+; public: virtual int __thiscall filebuf::overflow(int)
+?overflow@filebuf@@UAEHH@Z
+; public: virtual int __thiscall stdiobuf::overflow(int)
+?overflow@stdiobuf@@UAEHH@Z
+; public: virtual int __thiscall strstreambuf::overflow(int)
+?overflow@strstreambuf@@UAEHH@Z
+; public: virtual int __thiscall stdiobuf::pbackfail(int)
+?pbackfail@stdiobuf@@UAEHH@Z
+; public: virtual int __thiscall streambuf::pbackfail(int)
+?pbackfail@streambuf@@UAEHH@Z
+; protected: char * __thiscall streambuf::pbase(void)const 
+?pbase@streambuf@@IBEPADXZ
+; protected: void __thiscall streambuf::pbump(int)
+?pbump@streambuf@@IAEXH@Z
+; public: int __thiscall ostrstream::pcount(void)const 
+?pcount@ostrstream@@QBEHXZ
+; public: int __thiscall strstream::pcount(void)const 
+?pcount@strstream@@QBEHXZ
+; public: int __thiscall istream::peek(void)
+?peek@istream@@QAEHXZ
+; protected: char * __thiscall streambuf::pptr(void)const 
+?pptr@streambuf@@IBEPADXZ
+; public: int __thiscall ios::precision(int)
+?precision@ios@@QAEHH@Z
+; public: int __thiscall ios::precision(void)const 
+?precision@ios@@QBEHXZ
+; public: class ostream & __thiscall ostream::put(signed char)
+?put@ostream@@QAEAAV1@C@Z
+; public: class ostream & __thiscall ostream::put(char)
+?put@ostream@@QAEAAV1@D@Z
+; public: class ostream & __thiscall ostream::put(unsigned char)
+?put@ostream@@QAEAAV1@E@Z
+; public: class istream & __thiscall istream::putback(char)
+?putback@istream@@QAEAAV1@D@Z
+; public: void * & __thiscall ios::pword(int)const 
+?pword@ios@@QBEAAPAXH@Z
+; public: class filebuf * __thiscall fstream::rdbuf(void)const 
+?rdbuf@fstream@@QBEPAVfilebuf@@XZ
+; public: class filebuf * __thiscall ifstream::rdbuf(void)const 
+?rdbuf@ifstream@@QBEPAVfilebuf@@XZ
+; public: class streambuf * __thiscall ios::rdbuf(void)const 
+?rdbuf@ios@@QBEPAVstreambuf@@XZ
+; public: class strstreambuf * __thiscall istrstream::rdbuf(void)const 
+?rdbuf@istrstream@@QBEPAVstrstreambuf@@XZ
+; public: class filebuf * __thiscall ofstream::rdbuf(void)const 
+?rdbuf@ofstream@@QBEPAVfilebuf@@XZ
+; public: class strstreambuf * __thiscall ostrstream::rdbuf(void)const 
+?rdbuf@ostrstream@@QBEPAVstrstreambuf@@XZ
+; public: class stdiobuf * __thiscall stdiostream::rdbuf(void)const 
+?rdbuf@stdiostream@@QBEPAVstdiobuf@@XZ
+; public: class strstreambuf * __thiscall strstream::rdbuf(void)const 
+?rdbuf@strstream@@QBEPAVstrstreambuf@@XZ
+; public: int __thiscall ios::rdstate(void)const 
+?rdstate@ios@@QBEHXZ
+; public: class istream & __thiscall istream::read(signed char *,int)
+?read@istream@@QAEAAV1@PACH@Z
+; public: class istream & __thiscall istream::read(char *,int)
+?read@istream@@QAEAAV1@PADH@Z
+; public: class istream & __thiscall istream::read(unsigned char *,int)
+?read@istream@@QAEAAV1@PAEH@Z
+; public: int __thiscall streambuf::sbumpc(void)
+?sbumpc@streambuf@@QAEHXZ
+; public: class istream & __thiscall istream::seekg(long)
+?seekg@istream@@QAEAAV1@J@Z
+; public: class istream & __thiscall istream::seekg(long,enum ios::seek_dir)
+?seekg@istream@@QAEAAV1@JW4seek_dir@ios@@@Z
+; public: virtual long __thiscall filebuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@filebuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: class ostream & __thiscall ostream::seekp(long)
+?seekp@ostream@@QAEAAV1@J@Z
+; public: class ostream & __thiscall ostream::seekp(long,enum ios::seek_dir)
+?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z
+; public: virtual long __thiscall streambuf::seekpos(long,int)
+?seekpos@streambuf@@UAEJJH@Z
+; protected: void __thiscall streambuf::setb(char *,char *,int)
+?setb@streambuf@@IAEXPAD0H@Z
+; public: virtual class streambuf * __thiscall filebuf::setbuf(char *,int)
+?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z
+; public: class streambuf * __thiscall fstream::setbuf(char *,int)
+?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z
+; public: class streambuf * __thiscall ifstream::setbuf(char *,int)
+?setbuf@ifstream@@QAEPAVstreambuf@@PADH@Z
+; public: class streambuf * __thiscall ofstream::setbuf(char *,int)
+?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z
+; public: virtual class streambuf * __thiscall streambuf::setbuf(char *,int)
+?setbuf@streambuf@@UAEPAV1@PADH@Z
+; public: virtual class streambuf * __thiscall strstreambuf::setbuf(char *,int)
+?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z
+; public: long __thiscall ios::setf(long)
+?setf@ios@@QAEJJ@Z
+; public: long __thiscall ios::setf(long,long)
+?setf@ios@@QAEJJJ@Z
+; protected: void __thiscall streambuf::setg(char *,char *,char *)
+?setg@streambuf@@IAEXPAD00@Z
+; public: void __cdecl ios::setlock(void)
+?setlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::setlock(void)
+?setlock@streambuf@@QAEXXZ
+; public: int __thiscall filebuf::setmode(int)
+?setmode@filebuf@@QAEHH@Z
+; public: int __thiscall fstream::setmode(int)
+?setmode@fstream@@QAEHH@Z
+; public: int __thiscall ifstream::setmode(int)
+?setmode@ifstream@@QAEHH@Z
+; public: int __thiscall ofstream::setmode(int)
+?setmode@ofstream@@QAEHH@Z
+; protected: void __thiscall streambuf::setp(char *,char *)
+?setp@streambuf@@IAEXPAD0@Z
+; public: int __thiscall stdiobuf::setrwbuf(int,int)
+?setrwbuf@stdiobuf@@QAEHHH@Z
+; public: int __thiscall streambuf::sgetc(void)
+?sgetc@streambuf@@QAEHXZ
+; public: int __thiscall streambuf::sgetn(char *,int)
+?sgetn@streambuf@@QAEHPADH@Z
+; public: static int const  filebuf::sh_none
+?sh_none@filebuf@@2HB
+; public: static int const  filebuf::sh_read
+?sh_read@filebuf@@2HB
+; public: static int const  filebuf::sh_write
+?sh_write@filebuf@@2HB
+; public: int __thiscall streambuf::snextc(void)
+?snextc@streambuf@@QAEHXZ
+; public: int __thiscall streambuf::sputbackc(char)
+?sputbackc@streambuf@@QAEHD@Z
+; public: int __thiscall streambuf::sputc(int)
+?sputc@streambuf@@QAEHH@Z
+; public: int __thiscall streambuf::sputn(char const *,int)
+?sputn@streambuf@@QAEHPBDH@Z
+; public: struct _iobuf * __thiscall stdiobuf::stdiofile(void)
+?stdiofile@stdiobuf@@QAEPAU_iobuf@@XZ
+; public: void __thiscall streambuf::stossc(void)
+?stossc@streambuf@@QAEXXZ
+; public: char * __thiscall istrstream::str(void)
+?str@istrstream@@QAEPADXZ
+; public: char * __thiscall ostrstream::str(void)
+?str@ostrstream@@QAEPADXZ
+; public: char * __thiscall strstream::str(void)
+?str@strstream@@QAEPADXZ
+; public: char * __thiscall strstreambuf::str(void)
+?str@strstreambuf@@QAEPADXZ
+; private: static int  ios::sunk_with_stdio
+?sunk_with_stdio@ios@@0HA DATA
+; public: virtual int __thiscall filebuf::sync(void)
+?sync@filebuf@@UAEHXZ
+; public: int __thiscall istream::sync(void)
+?sync@istream@@QAEHXZ
+; public: virtual int __thiscall stdiobuf::sync(void)
+?sync@stdiobuf@@UAEHXZ
+; public: virtual int __thiscall streambuf::sync(void)
+?sync@streambuf@@UAEHXZ
+; public: virtual int __thiscall strstreambuf::sync(void)
+?sync@strstreambuf@@UAEHXZ
+; public: static void __cdecl ios::sync_with_stdio(void)
+?sync_with_stdio@ios@@SAXXZ
+; public: long __thiscall istream::tellg(void)
+?tellg@istream@@QAEJXZ
+; public: long __thiscall ostream::tellp(void)
+?tellp@ostream@@QAEJXZ
+; public: static int const  filebuf::text
+?text@filebuf@@2HB
+; public: class ostream * __thiscall ios::tie(class ostream *)
+?tie@ios@@QAEPAVostream@@PAV2@@Z
+; public: class ostream * __thiscall ios::tie(void)const 
+?tie@ios@@QBEPAVostream@@XZ
+; protected: void __thiscall streambuf::unbuffered(int)
+?unbuffered@streambuf@@IAEXH@Z
+; protected: int __thiscall streambuf::unbuffered(void)const 
+?unbuffered@streambuf@@IBEHXZ
+; public: virtual int __thiscall filebuf::underflow(void)
+?underflow@filebuf@@UAEHXZ
+; public: virtual int __thiscall stdiobuf::underflow(void)
+?underflow@stdiobuf@@UAEHXZ
+; public: virtual int __thiscall strstreambuf::underflow(void)
+?underflow@strstreambuf@@UAEHXZ
+; public: void __cdecl ios::unlock(void)
+?unlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::unlock(void)
+?unlock@streambuf@@QAEXXZ
+; public: void __cdecl ios::unlockbuf(void)
+?unlockbuf@ios@@QAAXXZ
+; protected: static void __cdecl ios::unlockc(void)
+?unlockc@ios@@KAXXZ
+; public: long __thiscall ios::unsetf(long)
+?unsetf@ios@@QAEJJ@Z
+; public: virtual char const * __thiscall exception::what(void)const 
+?what@exception@@UBEPBDXZ
+; public: int __thiscall ios::width(int)
+?width@ios@@QAEHH@Z
+; public: int __thiscall ios::width(void)const 
+?width@ios@@QBEHXZ
+; public: class ostream & __thiscall ostream::write(signed char const *,int)
+?write@ostream@@QAEAAV1@PBCH@Z
+; public: class ostream & __thiscall ostream::write(char const *,int)
+?write@ostream@@QAEAAV1@PBDH@Z
+; public: class ostream & __thiscall ostream::write(unsigned char const *,int)
+?write@ostream@@QAEAAV1@PBEH@Z
+; private: class ostream & __thiscall ostream::writepad(char const *,char const *)
+?writepad@ostream@@AAEAAV1@PBD0@Z
+; class istream & __cdecl ws(class istream &)
+?ws@@YAAAVistream@@AAV1@@Z
+; private: static int  ios::x_curindex
+?x_curindex@ios@@0HA DATA
+; private: static struct _CRT_CRITICAL_SECTION  ios::x_lockc
+?x_lockc@ios@@0U_CRT_CRITICAL_SECTION@@A DATA
+; private: static long  ios::x_maxbit
+?x_maxbit@ios@@0JA DATA
+; private: static long *  ios::x_statebuf
+?x_statebuf@ios@@0PAJA DATA
+; public: static int __cdecl ios::xalloc(void)
+?xalloc@ios@@SAHXZ
+; public: virtual int __thiscall streambuf::xsgetn(char *,int)
+?xsgetn@streambuf@@UAEHPADH@Z
+; public: virtual int __thiscall streambuf::xsputn(char const *,int)
+?xsputn@streambuf@@UAEHPBDH@Z
+__dummy_export DATA
+_mtlock
+_mtunlock
diff --git a/mingw-w64-crt/lib64/wmsvcp50.def b/mingw-w64-crt/lib64/wmsvcp50.def
index ec82ff2..d04af8f 100644
--- a/mingw-w64-crt/lib64/wmsvcp50.def
+++ b/mingw-w64-crt/lib64/wmsvcp50.def
@@ -1,4050 +1,4050 @@
-; 
-; Exports of file MSVCP50.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSVCP50.dll
-EXPORTS
-; public: __thiscall std::_Complex_base<float>::_Complex_base<float>(float const &,float const &)
-??0?$_Complex_base@M@std@@QAE@ABM0@Z
-; public: __thiscall std::_Complex_base<double>::_Complex_base<double>(double const &,double const &)
-??0?$_Complex_base@N@std@@QAE@ABN0@Z
-; public: __thiscall std::_Complex_base<long double>::_Complex_base<long double>(long double const &,long double const &)
-??0?$_Complex_base@O@std@@QAE@ABO0@Z
-; public: __thiscall std::_Mpunct<char>::_Mpunct<char>(class _Mpunct<char>::_Locinfo const &,unsigned int,bool)
-??0?$_Mpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z
-; public: __thiscall std::_Mpunct<char>::_Mpunct<char>(unsigned int,bool)
-??0?$_Mpunct@D@std@@QAE@I_N@Z
-; public: __thiscall std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(class _Mpunct<unsigned short>::_Locinfo const &,unsigned int,bool)
-??0?$_Mpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z
-; public: __thiscall std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(unsigned int,bool)
-??0?$_Mpunct@G@std@@QAE@I_N@Z
-; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(struct _iobuf *)
-??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z
-; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(enum basic_filebuf<char,struct std::char_traits<char> >::_Uninitialized)
-??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(struct _iobuf *)
-??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z
-; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
-??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(char const *,int)
-??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(void)
-??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
-??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(char const *,int)
-??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(void)
-??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
-??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ
-; protected: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void)
-??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ
-; public: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> > const &)
-??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *)
-??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; protected: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_ios@GU?$char_traits@G@std@@@std@@IAE@XZ
-; public: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> > const &)
-??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *)
-??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; public: __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> > const &)
-??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *,bool)
-??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
-; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(enum basic_istream<char,struct std::char_traits<char> >::_Uninitialized)
-??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool)
-??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z
-; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_istream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
-??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
-??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
-??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
-??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
-??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(char const *,int)
-??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(void)
-??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
-??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> > const &)
-??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *,bool,bool)
-??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z
-; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(enum basic_ostream<char,struct std::char_traits<char> >::_Uninitialized)
-??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool,bool)
-??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z
-; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
-??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
-??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
-??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
-??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
-??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
-; protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(enum basic_streambuf<char,struct std::char_traits<char> >::_Uninitialized)
-??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z
-; protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)
-??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ
-; protected: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
-??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z
-; protected: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(unsigned int,char,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@IDABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,char const *,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD0ABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,unsigned int,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDIABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@IIABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned int,unsigned short,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IGABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,unsigned short const *,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBG0ABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,unsigned int,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGIABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
-??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(int)
-??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
-??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
-??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
-??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
-??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
-??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
-??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
-; public: __thiscall std::codecvt<char,char,int>::codecvt<char,char,int>(class codecvt<char,char,int>::_Locinfo const &,unsigned int)
-??0?$codecvt@DDH@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::codecvt<char,char,int>::codecvt<char,char,int>(unsigned int)
-??0?$codecvt@DDH@std@@QAE@I@Z
-; public: __thiscall std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(class codecvt<unsigned short,char,int>::_Locinfo const &,unsigned int)
-??0?$codecvt@GDH@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(unsigned int)
-??0?$codecvt@GDH@std@@QAE@I@Z
-; public: __thiscall std::collate<char>::collate<char>(class collate<char>::_Locinfo const &,unsigned int)
-??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::collate<char>::collate<char>(unsigned int)
-??0?$collate@D@std@@QAE@I@Z
-; public: __thiscall std::collate<unsigned short>::collate<unsigned short>(class collate<unsigned short>::_Locinfo const &,unsigned int)
-??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::collate<unsigned short>::collate<unsigned short>(unsigned int)
-??0?$collate@G@std@@QAE@I@Z
-; public: __thiscall std::complex<float>::complex<float>(float const &,float const &)
-??0?$complex@M@std@@QAE@ABM0@Z
-; public: __thiscall std::complex<float>::complex<float>(class complex<float>::complex<double> const &)
-??0?$complex@M@std@@QAE@ABV?$complex@N@1@@Z
-; public: __thiscall std::complex<float>::complex<float>(class complex<float>::complex<long double> const &)
-??0?$complex@M@std@@QAE@ABV?$complex@O@1@@Z
-; public: __thiscall std::complex<double>::complex<double>(double const &,double const &)
-??0?$complex@N@std@@QAE@ABN0@Z
-; public: __thiscall std::complex<double>::complex<double>(class complex<double>::complex<float> const &)
-??0?$complex@N@std@@QAE@ABV?$complex@M@1@@Z
-; public: __thiscall std::complex<double>::complex<double>(class complex<double>::complex<long double> const &)
-??0?$complex@N@std@@QAE@ABV?$complex@O@1@@Z
-; public: __thiscall std::complex<long double>::complex<long double>(long double const &,long double const &)
-??0?$complex@O@std@@QAE@ABO0@Z
-; public: __thiscall std::complex<long double>::complex<long double>(class complex<long double>::complex<float> const &)
-??0?$complex@O@std@@QAE@ABV?$complex@M@1@@Z
-; public: __thiscall std::complex<long double>::complex<long double>(class complex<long double>::complex<double> const &)
-??0?$complex@O@std@@QAE@ABV?$complex@N@1@@Z
-; public: __thiscall std::ctype<char>::ctype<char>(class ctype<char>::_Locinfo const &,unsigned int)
-??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::ctype<char>::ctype<char>(short const *,bool,unsigned int)
-??0?$ctype@D@std@@QAE@PBF_NI@Z
-; public: __thiscall std::ctype<unsigned short>::ctype<unsigned short>(class ctype<unsigned short>::_Locinfo const &,unsigned int)
-??0?$ctype@G@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::ctype<unsigned short>::ctype<unsigned short>(unsigned int)
-??0?$ctype@G@std@@QAE@I@Z
-; public: __thiscall std::messages<char>::messages<char>(class messages<char>::_Locinfo const &,unsigned int)
-??0?$messages@D@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::messages<char>::messages<char>(unsigned int)
-??0?$messages@D@std@@QAE@I@Z
-; public: __thiscall std::messages<unsigned short>::messages<unsigned short>(class messages<unsigned short>::_Locinfo const &,unsigned int)
-??0?$messages@G@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::messages<unsigned short>::messages<unsigned short>(unsigned int)
-??0?$messages@G@std@@QAE@I@Z
-; public: __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::moneypunct<char,1>::moneypunct<char,1>(class moneypunct<char,1>::_Locinfo const &,unsigned int)
-??0?$moneypunct@D$00@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::moneypunct<char,1>::moneypunct<char,1>(unsigned int)
-??0?$moneypunct@D$00@std@@QAE@I@Z
-; public: __thiscall std::moneypunct<char,0>::moneypunct<char,0>(class moneypunct<char,0>::_Locinfo const &,unsigned int)
-??0?$moneypunct@D$0A@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::moneypunct<char,0>::moneypunct<char,0>(unsigned int)
-??0?$moneypunct@D$0A@@std@@QAE@I@Z
-; public: __thiscall std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(class moneypunct<unsigned short,1>::_Locinfo const &,unsigned int)
-??0?$moneypunct@G$00@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(unsigned int)
-??0?$moneypunct@G$00@std@@QAE@I@Z
-; public: __thiscall std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(class moneypunct<unsigned short,0>::_Locinfo const &,unsigned int)
-??0?$moneypunct@G$0A@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(unsigned int)
-??0?$moneypunct@G$0A@@std@@QAE@I@Z
-; public: __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::numpunct<char>::numpunct<char>(class numpunct<char>::_Locinfo const &,unsigned int)
-??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::numpunct<char>::numpunct<char>(unsigned int)
-??0?$numpunct@D@std@@QAE@I@Z
-; public: __thiscall std::numpunct<unsigned short>::numpunct<unsigned short>(class numpunct<unsigned short>::_Locinfo const &,unsigned int)
-??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::numpunct<unsigned short>::numpunct<unsigned short>(unsigned int)
-??0?$numpunct@G@std@@QAE@I@Z
-; public: __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::ios_base::Init::Init(void)
-??0Init@ios_base@std@@QAE@XZ
-; public: __thiscall std::_Locinfo::_Locinfo(class _Locinfo::_Locinfo const &)
-??0_Locinfo@std@@QAE@ABV01@@Z
-; public: __thiscall std::_Locinfo::_Locinfo(int,char const *)
-??0_Locinfo@std@@QAE@HPBD@Z
-; public: __thiscall std::_Locinfo::_Locinfo(char const *)
-??0_Locinfo@std@@QAE@PBD@Z
-; public: __thiscall std::_Lockit::_Lockit(void)
-??0_Lockit@std@@QAE@XZ
-; public: __thiscall std::_Timevec::_Timevec(class _Timevec::_Timevec const &)
-??0_Timevec@std@@QAE@ABV01@@Z
-; public: __thiscall std::_Timevec::_Timevec(void *)
-??0_Timevec@std@@QAE@PAX@Z
-; public: __thiscall std::_Winit::_Winit(void)
-??0_Winit@std@@QAE@XZ
-; public: __thiscall std::bad_alloc::bad_alloc(class bad_alloc::bad_alloc const &)
-??0bad_alloc@std@@QAE@ABV01@@Z
-; public: __thiscall std::bad_alloc::bad_alloc(char const *)
-??0bad_alloc@std@@QAE@PBD@Z
-; public: __thiscall std::bad_cast::bad_cast(class bad_cast::bad_cast const &)
-??0bad_cast@std@@QAE@ABV01@@Z
-; public: __thiscall std::bad_cast::bad_cast(char const *)
-??0bad_cast@std@@QAE@PBD@Z
-; public: __thiscall std::bad_exception::bad_exception(class bad_exception::bad_exception const &)
-??0bad_exception@std@@QAE@ABV01@@Z
-; public: __thiscall std::bad_exception::bad_exception(char const *)
-??0bad_exception@std@@QAE@PBD@Z
-; public: __thiscall std::codecvt_base::codecvt_base(unsigned int)
-??0codecvt_base@std@@QAE@I@Z
-; public: __thiscall std::ctype_base::ctype_base(unsigned int)
-??0ctype_base@std@@QAE@I@Z
-; public: __thiscall std::domain_error::domain_error(class domain_error::domain_error const &)
-??0domain_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::domain_error::domain_error(class domain_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0domain_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; protected: __thiscall std::locale::facet::facet(unsigned int)
-??0facet@locale@std@@IAE@I@Z
-; protected: __thiscall std::ios_base::ios_base(void)
-??0ios_base@std@@IAE@XZ
-; public: __thiscall std::ios_base::ios_base(class ios_base::ios_base const &)
-??0ios_base@std@@QAE@ABV01@@Z
-; public: __thiscall std::length_error::length_error(class length_error::length_error const &)
-??0length_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::length_error::length_error(class length_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; private: __thiscall std::locale::locale(class locale::locale::_Locimp *)
-??0locale@std@@AAE@PAV_Locimp@01@@Z
-; public: __thiscall std::locale::locale(class locale::locale const &,class locale::locale const &,int)
-??0locale@std@@QAE@ABV01@0H@Z
-; public: __thiscall std::locale::locale(class locale::locale const &)
-??0locale@std@@QAE@ABV01@@Z
-; public: __thiscall std::locale::locale(class locale::locale const &,char const *,int)
-??0locale@std@@QAE@ABV01@PBDH@Z
-; public: __thiscall std::locale::locale(char const *,int)
-??0locale@std@@QAE@PBDH@Z
-; public: __thiscall std::locale::locale(enum locale::_Uninitialized)
-??0locale@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::locale::locale(void)
-??0locale@std@@QAE@XZ
-; public: __thiscall std::logic_error::logic_error(class logic_error::logic_error const &)
-??0logic_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::logic_error::logic_error(class logic_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::messages_base::messages_base(unsigned int)
-??0messages_base@std@@QAE@I@Z
-; public: __thiscall std::money_base::money_base(unsigned int)
-??0money_base@std@@QAE@I@Z
-; public: __thiscall std::ostrstream::ostrstream(char *,int,int)
-??0ostrstream@std@@QAE@PADHH@Z
-; public: __thiscall std::out_of_range::out_of_range(class out_of_range::out_of_range const &)
-??0out_of_range@std@@QAE@ABV01@@Z
-; public: __thiscall std::out_of_range::out_of_range(class out_of_range::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::overflow_error::overflow_error(class overflow_error::overflow_error const &)
-??0overflow_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::overflow_error::overflow_error(class overflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0overflow_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::range_error::range_error(class range_error::range_error const &)
-??0range_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::range_error::range_error(class range_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0range_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::runtime_error::runtime_error(class runtime_error::runtime_error const &)
-??0runtime_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::runtime_error::runtime_error(class runtime_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::strstream::strstream(char *,int,int)
-??0strstream@std@@QAE@PADHH@Z
-; public: __thiscall std::time_base::time_base(unsigned int)
-??0time_base@std@@QAE@I@Z
-; public: __thiscall std::underflow_error::underflow_error(class underflow_error::underflow_error const &)
-??0underflow_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::underflow_error::underflow_error(class underflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0underflow_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: virtual __thiscall std::_Mpunct<char>::~_Mpunct<char>(void)
-??1?$_Mpunct@D@std@@UAE@XZ
-; public: virtual __thiscall std::_Mpunct<unsigned short>::~_Mpunct<unsigned short>(void)
-??1?$_Mpunct@G@std@@UAE@XZ
-; public: virtual __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::~basic_filebuf<char,struct std::char_traits<char> >(void)
-??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_fstream<char,struct std::char_traits<char> >::~basic_fstream<char,struct std::char_traits<char> >(void)
-??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::~basic_ifstream<char,struct std::char_traits<char> >(void)
-??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)
-??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::~basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_ios@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_iostream<char,struct std::char_traits<char> >::~basic_iostream<char,struct std::char_traits<char> >(void)
-??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_istream<char,struct std::char_traits<char> >::~basic_istream<char,struct std::char_traits<char> >(void)
-??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::~basic_istream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_istream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::~basic_ofstream<char,struct std::char_traits<char> >(void)
-??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void)
-??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)
-??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ
-; public: virtual __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
-; public: virtual __thiscall std::codecvt<char,char,int>::~codecvt<char,char,int>(void)
-??1?$codecvt@DDH@std@@UAE@XZ
-; public: virtual __thiscall std::codecvt<unsigned short,char,int>::~codecvt<unsigned short,char,int>(void)
-??1?$codecvt@GDH@std@@UAE@XZ
-; public: virtual __thiscall std::collate<char>::~collate<char>(void)
-??1?$collate@D@std@@UAE@XZ
-; public: virtual __thiscall std::collate<unsigned short>::~collate<unsigned short>(void)
-??1?$collate@G@std@@UAE@XZ
-; public: virtual __thiscall std::ctype<char>::~ctype<char>(void)
-??1?$ctype@D@std@@UAE@XZ
-; public: virtual __thiscall std::ctype<unsigned short>::~ctype<unsigned short>(void)
-??1?$ctype@G@std@@UAE@XZ
-; public: virtual __thiscall std::messages<char>::~messages<char>(void)
-??1?$messages@D@std@@UAE@XZ
-; public: virtual __thiscall std::messages<unsigned short>::~messages<unsigned short>(void)
-??1?$messages@G@std@@UAE@XZ
-; public: virtual __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::moneypunct<char,1>::~moneypunct<char,1>(void)
-??1?$moneypunct@D$00@std@@UAE@XZ
-; public: virtual __thiscall std::moneypunct<char,0>::~moneypunct<char,0>(void)
-??1?$moneypunct@D$0A@@std@@UAE@XZ
-; public: virtual __thiscall std::moneypunct<unsigned short,1>::~moneypunct<unsigned short,1>(void)
-??1?$moneypunct@G$00@std@@UAE@XZ
-; public: virtual __thiscall std::moneypunct<unsigned short,0>::~moneypunct<unsigned short,0>(void)
-??1?$moneypunct@G$0A@@std@@UAE@XZ
-; public: virtual __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::numpunct<char>::~numpunct<char>(void)
-??1?$numpunct@D@std@@UAE@XZ
-; public: virtual __thiscall std::numpunct<unsigned short>::~numpunct<unsigned short>(void)
-??1?$numpunct@G@std@@UAE@XZ
-; public: virtual __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: __thiscall std::ios_base::Init::~Init(void)
-??1Init@ios_base@std@@QAE@XZ
-; public: __thiscall std::_Locinfo::~_Locinfo(void)
-??1_Locinfo@std@@QAE@XZ
-; public: __thiscall std::_Lockit::~_Lockit(void)
-??1_Lockit@std@@QAE@XZ
-; public: __thiscall std::_Timevec::~_Timevec(void)
-??1_Timevec@std@@QAE@XZ
-; public: __thiscall std::_Winit::~_Winit(void)
-??1_Winit@std@@QAE@XZ
-; public: virtual __thiscall std::bad_alloc::~bad_alloc(void)
-??1bad_alloc@std@@UAE@XZ
-; public: virtual __thiscall std::bad_cast::~bad_cast(void)
-??1bad_cast@std@@UAE@XZ
-; public: virtual __thiscall std::bad_exception::~bad_exception(void)
-??1bad_exception@std@@UAE@XZ
-; public: virtual __thiscall std::codecvt_base::~codecvt_base(void)
-??1codecvt_base@std@@UAE@XZ
-; public: virtual __thiscall std::ctype_base::~ctype_base(void)
-??1ctype_base@std@@UAE@XZ
-; public: virtual __thiscall std::domain_error::~domain_error(void)
-??1domain_error@std@@UAE@XZ
-; public: virtual __thiscall std::locale::facet::~facet(void)
-??1facet@locale@std@@UAE@XZ
-; public: virtual __thiscall std::ios_base::~ios_base(void)
-??1ios_base@std@@UAE@XZ
-; public: virtual __thiscall std::istrstream::~istrstream(void)
-??1istrstream@std@@UAE@XZ
-; public: virtual __thiscall std::length_error::~length_error(void)
-??1length_error@std@@UAE@XZ
-; public: __thiscall std::locale::~locale(void)
-??1locale@std@@QAE@XZ
-; public: virtual __thiscall std::logic_error::~logic_error(void)
-??1logic_error@std@@UAE@XZ
-; public: virtual __thiscall std::messages_base::~messages_base(void)
-??1messages_base@std@@UAE@XZ
-; public: virtual __thiscall std::money_base::~money_base(void)
-??1money_base@std@@UAE@XZ
-; public: virtual __thiscall std::ostrstream::~ostrstream(void)
-??1ostrstream@std@@UAE@XZ
-; public: virtual __thiscall std::out_of_range::~out_of_range(void)
-??1out_of_range@std@@UAE@XZ
-; public: virtual __thiscall std::overflow_error::~overflow_error(void)
-??1overflow_error@std@@UAE@XZ
-; public: virtual __thiscall std::range_error::~range_error(void)
-??1range_error@std@@UAE@XZ
-; public: virtual __thiscall std::runtime_error::~runtime_error(void)
-??1runtime_error@std@@UAE@XZ
-; public: virtual __thiscall std::strstream::~strstream(void)
-??1strstream@std@@UAE@XZ
-; public: virtual __thiscall std::strstreambuf::~strstreambuf(void)
-??1strstreambuf@std@@UAE@XZ
-; public: virtual __thiscall std::time_base::~time_base(void)
-??1time_base@std@@UAE@XZ
-; public: virtual __thiscall std::underflow_error::~underflow_error(void)
-??1underflow_error@std@@UAE@XZ
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator=(class std::_Complex_base<float> const &)
-??4?$_Complex_base@M@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator=(class std::_Complex_base<double> const &)
-??4?$_Complex_base@N@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator=(class std::_Complex_base<long double> const &)
-??4?$_Complex_base@O@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Ctr<float> & __thiscall std::_Ctr<float>::operator=(class std::_Ctr<float> const &)
-??4?$_Ctr@M@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Ctr<double> & __thiscall std::_Ctr<double>::operator=(class std::_Ctr<double> const &)
-??4?$_Ctr@N@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Ctr<long double> & __thiscall std::_Ctr<long double>::operator=(class std::_Ctr<long double> const &)
-??4?$_Ctr@O@std@@QAEAAV01@ABV01@@Z
-; public: class std::allocator<void> & __thiscall std::allocator<void>::operator=(class std::allocator<void> const &)
-??4?$allocator@X@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ios<char,struct std::char_traits<char> > & __thiscall std::basic_ios<char,struct std::char_traits<char> >::operator=(class std::basic_ios<char,struct std::char_traits<char> > const &)
-??4?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_iostream<char,struct std::char_traits<char> > & __thiscall std::basic_iostream<char,struct std::char_traits<char> >::operator=(class std::basic_iostream<char,struct std::char_traits<char> > const &)
-??4?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator=(class std::basic_istream<char,struct std::char_traits<char> > const &)
-??4?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator=(class std::basic_ostream<char,struct std::char_traits<char> > const &)
-??4?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char)
-??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char const *)
-??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short)
-??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short const *)
-??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z
-; public: struct std::char_traits<char> & __thiscall std::char_traits<char>::operator=(struct std::char_traits<char> const &)
-??4?$char_traits@D@std@@QAEAAU01@ABU01@@Z
-; public: struct std::char_traits<unsigned short> & __thiscall std::char_traits<unsigned short>::operator=(struct std::char_traits<unsigned short> const &)
-??4?$char_traits@G@std@@QAEAAU01@ABU01@@Z
-; public: class std::complex<float> & __thiscall std::complex<float>::operator=(float const &)
-??4?$complex@M@std@@QAEAAV01@ABM@Z
-; public: class std::complex<float> & __thiscall std::complex<float>::operator=(class std::complex<float> const &)
-??4?$complex@M@std@@QAEAAV01@ABV01@@Z
-; public: class std::complex<double> & __thiscall std::complex<double>::operator=(double const &)
-??4?$complex@N@std@@QAEAAV01@ABN@Z
-; public: class std::complex<double> & __thiscall std::complex<double>::operator=(class std::complex<double> const &)
-??4?$complex@N@std@@QAEAAV01@ABV01@@Z
-; public: class std::complex<long double> & __thiscall std::complex<long double>::operator=(long double const &)
-??4?$complex@O@std@@QAEAAV01@ABO@Z
-; public: class std::complex<long double> & __thiscall std::complex<long double>::operator=(class std::complex<long double> const &)
-??4?$complex@O@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<signed char> & __thiscall std::numeric_limits<signed char>::operator=(class std::numeric_limits<signed char> const &)
-??4?$numeric_limits@C@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<char> & __thiscall std::numeric_limits<char>::operator=(class std::numeric_limits<char> const &)
-??4?$numeric_limits@D@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<unsigned char> & __thiscall std::numeric_limits<unsigned char>::operator=(class std::numeric_limits<unsigned char> const &)
-??4?$numeric_limits@E@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<short> & __thiscall std::numeric_limits<short>::operator=(class std::numeric_limits<short> const &)
-??4?$numeric_limits@F@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<unsigned short> & __thiscall std::numeric_limits<unsigned short>::operator=(class std::numeric_limits<unsigned short> const &)
-??4?$numeric_limits@G@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<int> & __thiscall std::numeric_limits<int>::operator=(class std::numeric_limits<int> const &)
-??4?$numeric_limits@H@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<unsigned int> & __thiscall std::numeric_limits<unsigned int>::operator=(class std::numeric_limits<unsigned int> const &)
-??4?$numeric_limits@I@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<long> & __thiscall std::numeric_limits<long>::operator=(class std::numeric_limits<long> const &)
-??4?$numeric_limits@J@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<unsigned long> & __thiscall std::numeric_limits<unsigned long>::operator=(class std::numeric_limits<unsigned long> const &)
-??4?$numeric_limits@K@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<float> & __thiscall std::numeric_limits<float>::operator=(class std::numeric_limits<float> const &)
-??4?$numeric_limits@M@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<double> & __thiscall std::numeric_limits<double>::operator=(class std::numeric_limits<double> const &)
-??4?$numeric_limits@N@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<long double> & __thiscall std::numeric_limits<long double>::operator=(class std::numeric_limits<long double> const &)
-??4?$numeric_limits@O@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<bool> & __thiscall std::numeric_limits<bool>::operator=(class std::numeric_limits<bool> const &)
-??4?$numeric_limits@_N@std@@QAEAAV01@ABV01@@Z
-; public: class std::ios_base::Init & __thiscall std::ios_base::Init::operator=(class std::ios_base::Init const &)
-??4Init@ios_base@std@@QAEAAV012@ABV012@@Z
-; public: class std::_Locinfo & __thiscall std::_Locinfo::operator=(class std::_Locinfo const &)
-??4_Locinfo@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Lockit & __thiscall std::_Lockit::operator=(class std::_Lockit const &)
-??4_Lockit@std@@QAEAAV01@ABV01@@Z
-; public: struct std::_Num_base & __thiscall std::_Num_base::operator=(struct std::_Num_base const &)
-??4_Num_base@std@@QAEAAU01@ABU01@@Z
-; public: struct std::_Num_float_base & __thiscall std::_Num_float_base::operator=(struct std::_Num_float_base const &)
-??4_Num_float_base@std@@QAEAAU01@ABU01@@Z
-; public: struct std::_Num_int_base & __thiscall std::_Num_int_base::operator=(struct std::_Num_int_base const &)
-??4_Num_int_base@std@@QAEAAU01@ABU01@@Z
-; public: class std::_Timevec & __thiscall std::_Timevec::operator=(class std::_Timevec const &)
-??4_Timevec@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Winit & __thiscall std::_Winit::operator=(class std::_Winit const &)
-??4_Winit@std@@QAEAAV01@ABV01@@Z
-; public: class std::bad_alloc & __thiscall std::bad_alloc::operator=(class std::bad_alloc const &)
-??4bad_alloc@std@@QAEAAV01@ABV01@@Z
-; public: class std::bad_cast & __thiscall std::bad_cast::operator=(class std::bad_cast const &)
-??4bad_cast@std@@QAEAAV01@ABV01@@Z
-; public: class std::bad_exception & __thiscall std::bad_exception::operator=(class std::bad_exception const &)
-??4bad_exception@std@@QAEAAV01@ABV01@@Z
-; public: class std::domain_error & __thiscall std::domain_error::operator=(class std::domain_error const &)
-??4domain_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::locale::id & __thiscall std::locale::id::operator=(class std::locale::id const &)
-??4id@locale@std@@QAEAAV012@ABV012@@Z
-; public: class std::ios_base & __thiscall std::ios_base::operator=(class std::ios_base const &)
-??4ios_base@std@@QAEAAV01@ABV01@@Z
-; public: class std::length_error & __thiscall std::length_error::operator=(class std::length_error const &)
-??4length_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::locale & __thiscall std::locale::operator=(class std::locale const &)
-??4locale@std@@QAEAAV01@ABV01@@Z
-; public: class std::logic_error & __thiscall std::logic_error::operator=(class std::logic_error const &)
-??4logic_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::out_of_range & __thiscall std::out_of_range::operator=(class std::out_of_range const &)
-??4out_of_range@std@@QAEAAV01@ABV01@@Z
-; public: class std::overflow_error & __thiscall std::overflow_error::operator=(class std::overflow_error const &)
-??4overflow_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::range_error & __thiscall std::range_error::operator=(class std::range_error const &)
-??4range_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::runtime_error & __thiscall std::runtime_error::operator=(class std::runtime_error const &)
-??4runtime_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::underflow_error & __thiscall std::underflow_error::operator=(class std::underflow_error const &)
-??4underflow_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(short &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned short &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAG@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(int &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned int &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(long &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAJ@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned long &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(float &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAM@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(double &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(long double &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAO@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(void * &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAPAX@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(bool &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_N@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_istream<char,struct std::char_traits<char> > &))
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_ios<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > &))
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::ios_base & (__cdecl*)(class std::ios_base &))
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_streambuf<char,struct std::char_traits<char> > *)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(short &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAF@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned short &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAG@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(int &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned int &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAI@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAJ@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned long &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAK@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(float &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAM@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(double &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAN@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long double &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAO@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(void * &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAPAX@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(bool &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_N@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &))
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > &))
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::ios_base & (__cdecl*)(class std::ios_base &))
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,signed char &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,char &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned char &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<float> &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@M@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<double> &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@N@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<long double> &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@O@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,signed char *)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,char *)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned char *)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<float> &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@M@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<double> &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@N@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<long double> &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@O@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,short *)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAF@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short *)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(short)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned short)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned int)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned long)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(float)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long double)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@O@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ios<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > &))
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::ios_base & (__cdecl*)(class std::ios_base &))
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_streambuf<char,struct std::char_traits<char> > *)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(void const *)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(bool)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(short)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@F@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned short)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@G@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(int)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned int)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@I@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@J@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned long)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@K@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(float)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@M@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(double)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@N@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long double)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@O@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &))
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > &))
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::ios_base & (__cdecl*)(class std::ios_base &))
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(void const *)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PBX@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(bool)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_N@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<float> const &)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@M@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<double> const &)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@N@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<long double> const &)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@O@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,signed char)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,char)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned char)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,signed char const *)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned char const *)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<float> const &)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@M@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<double> const &)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@N@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<long double> const &)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@O@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,short const *)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBF@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short const *)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z
-; public: bool __thiscall std::ios_base::operator!(void)const 
-??7ios_base@std@@QBE_NXZ
-; public: bool __thiscall std::locale::operator==(class std::locale const &)const 
-??8locale@std@@QBE_NABV01@@Z
-; bool __cdecl std::operator==(float const &,class std::complex<float> const &)
-??8std@@YA_NABMABV?$complex@M@0@@Z
-; bool __cdecl std::operator==(double const &,class std::complex<double> const &)
-??8std@@YA_NABNABV?$complex@N@0@@Z
-; bool __cdecl std::operator==(long double const &,class std::complex<long double> const &)
-??8std@@YA_NABOABV?$complex@O@0@@Z
-; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??8std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??8std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator==(class std::complex<float> const &,class std::complex<float> const &)
-??8std@@YA_NABV?$complex@M@0@0@Z
-; bool __cdecl std::operator==(class std::complex<float> const &,float const &)
-??8std@@YA_NABV?$complex@M@0@ABM@Z
-; bool __cdecl std::operator==(class std::complex<double> const &,class std::complex<double> const &)
-??8std@@YA_NABV?$complex@N@0@0@Z
-; bool __cdecl std::operator==(class std::complex<double> const &,double const &)
-??8std@@YA_NABV?$complex@N@0@ABN@Z
-; bool __cdecl std::operator==(class std::complex<long double> const &,class std::complex<long double> const &)
-??8std@@YA_NABV?$complex@O@0@0@Z
-; bool __cdecl std::operator==(class std::complex<long double> const &,long double const &)
-??8std@@YA_NABV?$complex@O@0@ABO@Z
-; bool __cdecl std::operator==(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??8std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator==(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??8std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; public: bool __thiscall std::locale::operator!=(class std::locale const &)const 
-??9locale@std@@QBE_NABV01@@Z
-; bool __cdecl std::operator!=(float const &,class std::complex<float> const &)
-??9std@@YA_NABMABV?$complex@M@0@@Z
-; bool __cdecl std::operator!=(double const &,class std::complex<double> const &)
-??9std@@YA_NABNABV?$complex@N@0@@Z
-; bool __cdecl std::operator!=(long double const &,class std::complex<long double> const &)
-??9std@@YA_NABOABV?$complex@O@0@@Z
-; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??9std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??9std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??9std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??9std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator!=(class std::complex<float> const &,class std::complex<float> const &)
-??9std@@YA_NABV?$complex@M@0@0@Z
-; bool __cdecl std::operator!=(class std::complex<float> const &,float const &)
-??9std@@YA_NABV?$complex@M@0@ABM@Z
-; bool __cdecl std::operator!=(class std::complex<double> const &,class std::complex<double> const &)
-??9std@@YA_NABV?$complex@N@0@0@Z
-; bool __cdecl std::operator!=(class std::complex<double> const &,double const &)
-??9std@@YA_NABV?$complex@N@0@ABN@Z
-; bool __cdecl std::operator!=(class std::complex<long double> const &,class std::complex<long double> const &)
-??9std@@YA_NABV?$complex@O@0@0@Z
-; bool __cdecl std::operator!=(class std::complex<long double> const &,long double const &)
-??9std@@YA_NABV?$complex@O@0@ABO@Z
-; bool __cdecl std::operator!=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??9std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator!=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??9std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; public: char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned int)
-??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z
-; public: char const & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned int)const 
-??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z
-; public: unsigned short & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned int)
-??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z
-; public: unsigned short const & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned int)const 
-??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z
-; public: __thiscall std::locale::id::operator unsigned int(void)
-??Bid@locale@std@@QAEIXZ
-; public: __thiscall std::ios_base::operator void *(void)const 
-??Bios_base@std@@QBEPAXXZ
-; class std::complex<float>  __cdecl std::operator*(float const &,class std::complex<float> const &)
-??Dstd@@YA?AV?$complex@M@0@ABMABV10@@Z
-; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const &,class std::complex<float> const &)
-??Dstd@@YA?AV?$complex@M@0@ABV10@0@Z
-; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const &,float const &)
-??Dstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; class std::complex<double>  __cdecl std::operator*(double const &,class std::complex<double> const &)
-??Dstd@@YA?AV?$complex@N@0@ABNABV10@@Z
-; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const &,class std::complex<double> const &)
-??Dstd@@YA?AV?$complex@N@0@ABV10@0@Z
-; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const &,double const &)
-??Dstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; class std::complex<long double>  __cdecl std::operator*(long double const &,class std::complex<long double> const &)
-??Dstd@@YA?AV?$complex@O@0@ABOABV10@@Z
-; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const &,class std::complex<long double> const &)
-??Dstd@@YA?AV?$complex@O@0@ABV10@0@Z
-; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const &,long double const &)
-??Dstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; class std::complex<float>  __cdecl std::operator-(float const &,class std::complex<float> const &)
-??Gstd@@YA?AV?$complex@M@0@ABMABV10@@Z
-; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &,class std::complex<float> const &)
-??Gstd@@YA?AV?$complex@M@0@ABV10@0@Z
-; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &)
-??Gstd@@YA?AV?$complex@M@0@ABV10@@Z
-; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &,float const &)
-??Gstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; class std::complex<double>  __cdecl std::operator-(double const &,class std::complex<double> const &)
-??Gstd@@YA?AV?$complex@N@0@ABNABV10@@Z
-; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &,class std::complex<double> const &)
-??Gstd@@YA?AV?$complex@N@0@ABV10@0@Z
-; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &)
-??Gstd@@YA?AV?$complex@N@0@ABV10@@Z
-; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &,double const &)
-??Gstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; class std::complex<long double>  __cdecl std::operator-(long double const &,class std::complex<long double> const &)
-??Gstd@@YA?AV?$complex@O@0@ABOABV10@@Z
-; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &,class std::complex<long double> const &)
-??Gstd@@YA?AV?$complex@O@0@ABV10@0@Z
-; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &)
-??Gstd@@YA?AV?$complex@O@0@ABV10@@Z
-; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &,long double const &)
-??Gstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@0@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@G@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@PBG@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GABV10@@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBGABV10@@Z
-; class std::complex<float>  __cdecl std::operator+(float const &,class std::complex<float> const &)
-??Hstd@@YA?AV?$complex@M@0@ABMABV10@@Z
-; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &,class std::complex<float> const &)
-??Hstd@@YA?AV?$complex@M@0@ABV10@0@Z
-; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &)
-??Hstd@@YA?AV?$complex@M@0@ABV10@@Z
-; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &,float const &)
-??Hstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; class std::complex<double>  __cdecl std::operator+(double const &,class std::complex<double> const &)
-??Hstd@@YA?AV?$complex@N@0@ABNABV10@@Z
-; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &,class std::complex<double> const &)
-??Hstd@@YA?AV?$complex@N@0@ABV10@0@Z
-; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &)
-??Hstd@@YA?AV?$complex@N@0@ABV10@@Z
-; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &,double const &)
-??Hstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; class std::complex<long double>  __cdecl std::operator+(long double const &,class std::complex<long double> const &)
-??Hstd@@YA?AV?$complex@O@0@ABOABV10@@Z
-; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &,class std::complex<long double> const &)
-??Hstd@@YA?AV?$complex@O@0@ABV10@0@Z
-; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &)
-??Hstd@@YA?AV?$complex@O@0@ABV10@@Z
-; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &,long double const &)
-??Hstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; class std::complex<float>  __cdecl std::operator/(float const &,class std::complex<float> const &)
-??Kstd@@YA?AV?$complex@M@0@ABMABV10@@Z
-; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const &,class std::complex<float> const &)
-??Kstd@@YA?AV?$complex@M@0@ABV10@0@Z
-; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const &,float const &)
-??Kstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; class std::complex<double>  __cdecl std::operator/(double const &,class std::complex<double> const &)
-??Kstd@@YA?AV?$complex@N@0@ABNABV10@@Z
-; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const &,class std::complex<double> const &)
-??Kstd@@YA?AV?$complex@N@0@ABV10@0@Z
-; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const &,double const &)
-??Kstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; class std::complex<long double>  __cdecl std::operator/(long double const &,class std::complex<long double> const &)
-??Kstd@@YA?AV?$complex@O@0@ABOABV10@@Z
-; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const &,class std::complex<long double> const &)
-??Kstd@@YA?AV?$complex@O@0@ABV10@0@Z
-; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const &,long double const &)
-??Kstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Mstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Mstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Mstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Mstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator<(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Mstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator<(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Mstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Nstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Nstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Nstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Nstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator<=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Nstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator<=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Nstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Ostd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Ostd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Ostd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Ostd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator>(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Ostd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator>(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Ostd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Pstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Pstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Pstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Pstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator>=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Pstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator>=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Pstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; public: bool __thiscall std::locale::operator()(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-??Rlocale@std@@QBE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@0@Z
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator*=(float const &)
-??X?$_Complex_base@M@std@@QAEAAV01@ABM@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator*=(double const &)
-??X?$_Complex_base@N@std@@QAEAAV01@ABN@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator*=(long double const &)
-??X?$_Complex_base@O@std@@QAEAAV01@ABO@Z
-; class std::complex<float> & __cdecl std::operator*=(class std::complex<float> &,class std::complex<float> const &)
-??Xstd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; class std::complex<double> & __cdecl std::operator*=(class std::complex<double> &,class std::complex<double> const &)
-??Xstd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; class std::complex<long double> & __cdecl std::operator*=(class std::complex<long double> &,class std::complex<long double> const &)
-??Xstd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator+=(float const &)
-??Y?$_Complex_base@M@std@@QAEAAV01@ABM@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator+=(double const &)
-??Y?$_Complex_base@N@std@@QAEAAV01@ABN@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator+=(long double const &)
-??Y?$_Complex_base@O@std@@QAEAAV01@ABO@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char)
-??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char const *)
-??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short)
-??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short const *)
-??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z
-; class std::complex<float> & __cdecl std::operator+=(class std::complex<float> &,class std::complex<float> const &)
-??Ystd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; class std::complex<double> & __cdecl std::operator+=(class std::complex<double> &,class std::complex<double> const &)
-??Ystd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; class std::complex<long double> & __cdecl std::operator+=(class std::complex<long double> &,class std::complex<long double> const &)
-??Ystd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator-=(float const &)
-??Z?$_Complex_base@M@std@@QAEAAV01@ABM@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator-=(double const &)
-??Z?$_Complex_base@N@std@@QAEAAV01@ABN@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator-=(long double const &)
-??Z?$_Complex_base@O@std@@QAEAAV01@ABO@Z
-; class std::complex<float> & __cdecl std::operator-=(class std::complex<float> &,class std::complex<float> const &)
-??Zstd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; class std::complex<double> & __cdecl std::operator-=(class std::complex<double> &,class std::complex<double> const &)
-??Zstd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; class std::complex<long double> & __cdecl std::operator-=(class std::complex<long double> &,class std::complex<long double> const &)
-??Zstd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator/=(float const &)
-??_0?$_Complex_base@M@std@@QAEAAV01@ABM@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator/=(double const &)
-??_0?$_Complex_base@N@std@@QAEAAV01@ABN@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator/=(long double const &)
-??_0?$_Complex_base@O@std@@QAEAAV01@ABO@Z
-; class std::complex<float> & __cdecl std::operator/=(class std::complex<float> &,class std::complex<float> const &)
-??_0std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; class std::complex<double> & __cdecl std::operator/=(class std::complex<double> &,class std::complex<double> const &)
-??_0std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; class std::complex<long double> & __cdecl std::operator/=(class std::complex<long double> &,class std::complex<long double> const &)
-??_0std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; const  std::_Mpunct<char>::`vftable'
-??_7?$_Mpunct@D@std@@6B@ DATA
-; const  std::_Mpunct<unsigned short>::`vftable'
-??_7?$_Mpunct@G@std@@6B@ DATA
-; const  std::basic_filebuf<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ DATA
-; const  std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@ DATA
-; const  std::basic_fstream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@ DATA
-; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@ DATA
-; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ DATA
-; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@ DATA
-; const  std::basic_ios<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ DATA
-; const  std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@ DATA
-; const  std::basic_iostream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@ DATA
-; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@ DATA
-; const  std::basic_istream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ DATA
-; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@ DATA
-; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ DATA
-; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ DATA
-; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@ DATA
-; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@ DATA
-; const  std::basic_ostream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ DATA
-; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@ DATA
-; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ DATA
-; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ DATA
-; const  std::basic_streambuf<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ DATA
-; const  std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@ DATA
-; const  std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ DATA
-; const  std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ DATA
-; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ DATA
-; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ DATA
-; const  std::codecvt<char,char,int>::`vftable'
-??_7?$codecvt@DDH@std@@6B@ DATA
-; const  std::codecvt<unsigned short,char,int>::`vftable'
-??_7?$codecvt@GDH@std@@6B@ DATA
-; const  std::collate<char>::`vftable'
-??_7?$collate@D@std@@6B@ DATA
-; const  std::collate<unsigned short>::`vftable'
-??_7?$collate@G@std@@6B@ DATA
-; const  std::ctype<char>::`vftable'
-??_7?$ctype@D@std@@6B@ DATA
-; const  std::ctype<unsigned short>::`vftable'
-??_7?$ctype@G@std@@6B@ DATA
-; const  std::messages<char>::`vftable'
-??_7?$messages@D@std@@6B@ DATA
-; const  std::messages<unsigned short>::`vftable'
-??_7?$messages@G@std@@6B@ DATA
-; const  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
-; const  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
-; const  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
-; const  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
-; const  std::moneypunct<char,1>::`vftable'
-??_7?$moneypunct@D$00@std@@6B@ DATA
-; const  std::moneypunct<char,0>::`vftable'
-??_7?$moneypunct@D$0A@@std@@6B@ DATA
-; const  std::moneypunct<unsigned short,1>::`vftable'
-??_7?$moneypunct@G$00@std@@6B@ DATA
-; const  std::moneypunct<unsigned short,0>::`vftable'
-??_7?$moneypunct@G$0A@@std@@6B@ DATA
-; const  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
-; const  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
-; const  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
-; const  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
-; const  std::numpunct<char>::`vftable'
-??_7?$numpunct@D@std@@6B@ DATA
-; const  std::numpunct<unsigned short>::`vftable'
-??_7?$numpunct@G@std@@6B@ DATA
-; const  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
-; const  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
-; const  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
-; const  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
-; const  std::bad_alloc::`vftable'
-??_7bad_alloc@std@@6B@ DATA
-; const  std::bad_cast::`vftable'
-??_7bad_cast@std@@6B@ DATA
-; const  std::bad_exception::`vftable'
-??_7bad_exception@std@@6B@ DATA
-; const  std::codecvt_base::`vftable'
-??_7codecvt_base@std@@6B@ DATA
-; const  std::ctype_base::`vftable'
-??_7ctype_base@std@@6B@ DATA
-; const  std::domain_error::`vftable'
-??_7domain_error@std@@6B@ DATA
-; const  std::locale::facet::`vftable'
-??_7facet@locale@std@@6B@ DATA
-; const  std::ios_base::`vftable'
-??_7ios_base@std@@6B@ DATA
-; const  std::length_error::`vftable'
-??_7length_error@std@@6B@ DATA
-; const  std::logic_error::`vftable'
-??_7logic_error@std@@6B@ DATA
-; const  std::messages_base::`vftable'
-??_7messages_base@std@@6B@ DATA
-; const  std::money_base::`vftable'
-??_7money_base@std@@6B@ DATA
-; const  std::out_of_range::`vftable'
-??_7out_of_range@std@@6B@ DATA
-; const  std::overflow_error::`vftable'
-??_7overflow_error@std@@6B@ DATA
-; const  std::range_error::`vftable'
-??_7range_error@std@@6B@ DATA
-; const  std::runtime_error::`vftable'
-??_7runtime_error@std@@6B@ DATA
-; const  std::time_base::`vftable'
-??_7time_base@std@@6B@ DATA
-; const  std::underflow_error::`vftable'
-??_7underflow_error@std@@6B@ DATA
-; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
-??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
-??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ DATA
-; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ DATA
-; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
-??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
-??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_istream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ DATA
-; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ DATA
-; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
-??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ DATA
-; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
-??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ DATA
-; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ DATA
-; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ DATA
-; const  std::basic_ostream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ DATA
-; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ DATA
-; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
-??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ DATA
-; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
-??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ DATA
-; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
-??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
-??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
-; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
-; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
-; `string'
-??_C@_00A@?$AA@ DATA
-; `string'
-??_C@_01FKHJ@C?$AA@ DATA
-; `string'
-??_C@_01GJD@?9?$AA@ DATA
-; `string'
-??_C@_01KFAL@E?$AA@ DATA
-; `string'
-??_C@_01KMAE@?0?$AA@ DATA
-; `string'
-??_C@_01PHOL@e?$AA@ DATA
-; `string'
-??_C@_02ELCB@no?$AA@ DATA
-; `string'
-??_C@_02MHAC@?$CFp?$AA@ DATA
-; `string'
-??_C@_03LGKI@yes?$AA@ DATA
-; `string'
-??_C@_04HDBI@$?$CLvx?$AA@ DATA
-; `string'
-??_C@_04HHID@?$CB?$CFx?$AA?$AA@ DATA
-; `string'
-??_C@_04NCCD@true?$AA@ DATA
-; `string'
-??_C@_05FFJC@?$CF?40Lf?$AA@ DATA
-; `string'
-??_C@_05NAGO@false?$AA@ DATA
-; `string'
-??_C@_08JHLB@bad?5cast?$AA@ DATA
-; `string'
-??_C@_0BH@CFAI@0123456789abcdefABCDEF?$AA@ DATA
-; `string'
-??_C@_0FB@PNAB@?$CLv$x?$CLv$xv$?$CLxv?$CL$xv$?$CLx?$CL$vx?$CL$vx$v?$CLx@ DATA
-; `string'
-??_C@_0FG@ILEN@?3Sun?3Sunday?3Mon?3Monday?3Tue?3Tuesd@ DATA
-; `string'
-??_C@_0IH@JLLA@?3Jan?3January?3Feb?3February?3Mar?3Ma@ DATA
-; `string'
-??_C@_0O@NLHM@bad?5exception?$AA@ DATA
-; `string'
-??_C@_0P@LJNA@bad?5allocation?$AA@ DATA
-; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_iostream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
-??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
-??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
-??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::`default constructor closure'(void)
-??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::codecvt<char,char,int>::`default constructor closure'(void)
-??_F?$codecvt@DDH@std@@QAEXXZ
-; public: void __thiscall std::codecvt<unsigned short,char,int>::`default constructor closure'(void)
-??_F?$codecvt@GDH@std@@QAEXXZ
-; public: void __thiscall std::collate<char>::`default constructor closure'(void)
-??_F?$collate@D@std@@QAEXXZ
-; public: void __thiscall std::collate<unsigned short>::`default constructor closure'(void)
-??_F?$collate@G@std@@QAEXXZ
-; public: void __thiscall std::complex<float>::`default constructor closure'(void)
-??_F?$complex@M@std@@QAEXXZ
-; public: void __thiscall std::complex<double>::`default constructor closure'(void)
-??_F?$complex@N@std@@QAEXXZ
-; public: void __thiscall std::complex<long double>::`default constructor closure'(void)
-??_F?$complex@O@std@@QAEXXZ
-; public: void __thiscall std::ctype<char>::`default constructor closure'(void)
-??_F?$ctype@D@std@@QAEXXZ
-; public: void __thiscall std::ctype<unsigned short>::`default constructor closure'(void)
-??_F?$ctype@G@std@@QAEXXZ
-; public: void __thiscall std::messages<char>::`default constructor closure'(void)
-??_F?$messages@D@std@@QAEXXZ
-; public: void __thiscall std::messages<unsigned short>::`default constructor closure'(void)
-??_F?$messages@G@std@@QAEXXZ
-; public: void __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::moneypunct<char,1>::`default constructor closure'(void)
-??_F?$moneypunct@D$00@std@@QAEXXZ
-; public: void __thiscall std::moneypunct<char,0>::`default constructor closure'(void)
-??_F?$moneypunct@D$0A@@std@@QAEXXZ
-; public: void __thiscall std::moneypunct<unsigned short,1>::`default constructor closure'(void)
-??_F?$moneypunct@G$00@std@@QAEXXZ
-; public: void __thiscall std::moneypunct<unsigned short,0>::`default constructor closure'(void)
-??_F?$moneypunct@G$0A@@std@@QAEXXZ
-; public: void __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::numpunct<char>::`default constructor closure'(void)
-??_F?$numpunct@D@std@@QAEXXZ
-; public: void __thiscall std::numpunct<unsigned short>::`default constructor closure'(void)
-??_F?$numpunct@G@std@@QAEXXZ
-; public: void __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::_Locinfo::`default constructor closure'(void)
-??_F_Locinfo@std@@QAEXXZ
-; public: void __thiscall std::_Timevec::`default constructor closure'(void)
-??_F_Timevec@std@@QAEXXZ
-; public: void __thiscall std::bad_alloc::`default constructor closure'(void)
-??_Fbad_alloc@std@@QAEXXZ
-; public: void __thiscall std::bad_cast::`default constructor closure'(void)
-??_Fbad_cast@std@@QAEXXZ
-; public: void __thiscall std::bad_exception::`default constructor closure'(void)
-??_Fbad_exception@std@@QAEXXZ
-; public: void __thiscall std::codecvt_base::`default constructor closure'(void)
-??_Fcodecvt_base@std@@QAEXXZ
-; public: void __thiscall std::ctype_base::`default constructor closure'(void)
-??_Fctype_base@std@@QAEXXZ
-; public: void __thiscall std::locale::facet::`default constructor closure'(void)
-??_Ffacet@locale@std@@QAEXXZ
-; public: void __thiscall std::messages_base::`default constructor closure'(void)
-??_Fmessages_base@std@@QAEXXZ
-; public: void __thiscall std::money_base::`default constructor closure'(void)
-??_Fmoney_base@std@@QAEXXZ
-; public: void __thiscall std::time_base::`default constructor closure'(void)
-??_Ftime_base@std@@QAEXXZ
-; public: class std::_Locinfo & __thiscall std::_Locinfo::_Addcats(int,char const *)
-?_Addcats@_Locinfo@std@@QAEAAV12@HPBD@Z
-; public: class std::locale & __thiscall std::locale::_Addfac(class std::locale::facet *,unsigned int,unsigned int)
-?_Addfac@locale@std@@QAEAAV12@PAVfacet@12@II@Z
-; protected: void __thiscall std::ios_base::_Addstd(void)
-?_Addstd@ios_base@std@@IAEXXZ
-; char const  `private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)'::`2'::_C
-?_C@?1??_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ@4DB DATA
-; unsigned short const  `private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)'::`2'::_C
-?_C@?1??_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGXZ@4GB DATA
-; private: void __thiscall std::ios_base::_Callfns(enum std::ios_base::event)
-?_Callfns@ios_base@std@@AAEXW4event@12@@Z
-; float const  `class std::complex<float>  __cdecl std::log(class std::complex<float> const &)'::`6'::_Cl
-?_Cl@?5??log@std@@YA?AV?$complex@M@2@ABV32@@Z@4MB DATA
-; double const  `class std::complex<double>  __cdecl std::log(class std::complex<double> const &)'::`6'::_Cl
-?_Cl@?5??log@std@@YA?AV?$complex@N@2@ABV32@@Z@4NB DATA
-; long double const  `class std::complex<long double>  __cdecl std::log(class std::complex<long double> const &)'::`6'::_Cl
-?_Cl@?5??log@std@@YA?AV?$complex@O@2@ABV32@@Z@4OB DATA
-; private: static class std::locale::_Locimp *  std::locale::_Locimp::_Clocptr
-?_Clocptr@_Locimp@locale@std@@0PAV123@A DATA
-; private: static short const * const  std::ctype<char>::_Cltab
-?_Cltab@?$ctype@D@std@@0PBFB DATA
-; float const  `class std::complex<float>  __cdecl std::log(class std::complex<float> const &)'::`6'::_Cm
-?_Cm@?5??log@std@@YA?AV?$complex@M@2@ABV32@@Z@4MB DATA
-; double const  `class std::complex<double>  __cdecl std::log(class std::complex<double> const &)'::`6'::_Cm
-?_Cm@?5??log@std@@YA?AV?$complex@N@2@ABV32@@Z@4NB DATA
-; long double const  `class std::complex<long double>  __cdecl std::log(class std::complex<long double> const &)'::`6'::_Cm
-?_Cm@?5??log@std@@YA?AV?$complex@O@2@ABV32@@Z@4OB DATA
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Copy(unsigned int)
-?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Copy(unsigned int)
-?_Copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXI@Z
-; public: static float __cdecl std::_Ctr<float>::_Cosh(float,float)
-?_Cosh@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Cosh(double,double)
-?_Cosh@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Cosh(long double,long double)
-?_Cosh@?$_Ctr@O@std@@SAOOO@Z
-; public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)
-?_Decref@facet@locale@std@@QAEPAV123@XZ
-; protected: virtual void __thiscall std::bad_alloc::_Doraise(void)const 
-?_Doraise@bad_alloc@std@@MBEXXZ
-; protected: virtual void __thiscall std::bad_cast::_Doraise(void)const 
-?_Doraise@bad_cast@std@@MBEXXZ
-; protected: virtual void __thiscall std::bad_exception::_Doraise(void)const 
-?_Doraise@bad_exception@std@@MBEXXZ
-; protected: virtual void __thiscall std::domain_error::_Doraise(void)const 
-?_Doraise@domain_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::length_error::_Doraise(void)const 
-?_Doraise@length_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::logic_error::_Doraise(void)const 
-?_Doraise@logic_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::out_of_range::_Doraise(void)const 
-?_Doraise@out_of_range@std@@MBEXXZ
-; protected: virtual void __thiscall std::overflow_error::_Doraise(void)const 
-?_Doraise@overflow_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::range_error::_Doraise(void)const 
-?_Doraise@range_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::runtime_error::_Doraise(void)const 
-?_Doraise@runtime_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::underflow_error::_Doraise(void)const 
-?_Doraise@underflow_error@std@@MBEXXZ
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Eos(unsigned int)
-?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Eos(unsigned int)
-?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXI@Z
-; public: static short __cdecl std::_Ctr<float>::_Exp(float *,float,short)
-?_Exp@?$_Ctr@M@std@@SAFPAMMF@Z
-; public: static short __cdecl std::_Ctr<double>::_Exp(double *,double,short)
-?_Exp@?$_Ctr@N@std@@SAFPANNF@Z
-; public: static short __cdecl std::_Ctr<long double>::_Exp(long double *,long double,short)
-?_Exp@?$_Ctr@O@std@@SAFPAOOF@Z
-; float __cdecl std::_Fabs(class std::complex<float> const &,int *)
-?_Fabs@std@@YAMABV?$complex@M@1@PAH@Z
-; double __cdecl std::_Fabs(class std::complex<double> const &,int *)
-?_Fabs@std@@YANABV?$complex@N@1@PAH@Z
-; long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)
-?_Fabs@std@@YAOABV?$complex@O@1@PAH@Z
-; protected: static char * __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ffmt(char *,char,int)
-?_Ffmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPADPADDH@Z
-; protected: static char * __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ffmt(char *,char,int)
-?_Ffmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPADPADDH@Z
-; private: struct std::ios_base::_Iosarray & __thiscall std::ios_base::_Findarr(int)
-?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z
-; private: static struct _iobuf * __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::_Fiopen(char const *,int)
-?_Fiopen@?$basic_filebuf@DU?$char_traits@D@std@@@std@@CAPAU_iobuf@@PBDH@Z
-; private: static struct _iobuf * __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Fiopen(char const *,int)
-?_Fiopen@?$basic_filebuf@GU?$char_traits@G@std@@@std@@CAPAU_iobuf@@PBDH@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Fput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,char const *,unsigned int,unsigned int)
-?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDII@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Fput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,char const *,unsigned int,unsigned int)
-?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDII@Z
-; __int64 const  std::_Fpz
-?_Fpz@std@@3_JB DATA
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Freeze(void)
-?_Freeze@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Freeze(void)
-?_Freeze@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ
-; public: static unsigned int __cdecl std::_Mpunct<char>::_Getcat(void)
-?_Getcat@?$_Mpunct@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::_Mpunct<unsigned short>::_Getcat(void)
-?_Getcat@?$_Mpunct@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::codecvt<char,char,int>::_Getcat(void)
-?_Getcat@?$codecvt@DDH@std@@SAIXZ
-; public: static unsigned int __cdecl std::codecvt<unsigned short,char,int>::_Getcat(void)
-?_Getcat@?$codecvt@GDH@std@@SAIXZ
-; public: static unsigned int __cdecl std::collate<char>::_Getcat(void)
-?_Getcat@?$collate@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::collate<unsigned short>::_Getcat(void)
-?_Getcat@?$collate@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::ctype<char>::_Getcat(void)
-?_Getcat@?$ctype@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::ctype<unsigned short>::_Getcat(void)
-?_Getcat@?$ctype@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::messages<char>::_Getcat(void)
-?_Getcat@?$messages@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::messages<unsigned short>::_Getcat(void)
-?_Getcat@?$messages@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::moneypunct<char,1>::_Getcat(void)
-?_Getcat@?$moneypunct@D$00@std@@SAIXZ
-; public: static unsigned int __cdecl std::moneypunct<char,0>::_Getcat(void)
-?_Getcat@?$moneypunct@D$0A@@std@@SAIXZ
-; public: static unsigned int __cdecl std::moneypunct<unsigned short,1>::_Getcat(void)
-?_Getcat@?$moneypunct@G$00@std@@SAIXZ
-; public: static unsigned int __cdecl std::moneypunct<unsigned short,0>::_Getcat(void)
-?_Getcat@?$moneypunct@G$0A@@std@@SAIXZ
-; public: static unsigned int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::numpunct<char>::_Getcat(void)
-?_Getcat@?$numpunct@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::numpunct<unsigned short>::_Getcat(void)
-?_Getcat@?$numpunct@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::locale::facet::_Getcat(void)
-?_Getcat@facet@locale@std@@SAIXZ
-; public: struct _Collvec  __thiscall std::_Locinfo::_Getcoll(void)const 
-?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ
-; public: struct _Ctypevec  __thiscall std::_Locinfo::_Getctype(void)const 
-?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ
-; public: struct _Cvtvec  __thiscall std::_Locinfo::_Getcvt(void)const 
-?_Getcvt@_Locinfo@std@@QBE?AU_Cvtvec@@XZ
-; public: char const * __thiscall std::_Locinfo::_Getdays(void)const 
-?_Getdays@_Locinfo@std@@QBEPBDXZ
-; public: class std::locale::facet const * __thiscall std::locale::_Getfacet(unsigned int,bool)const 
-?_Getfacet@locale@std@@QBEPBVfacet@12@I_N@Z
-; public: char const * __thiscall std::_Locinfo::_Getfalse(void)const 
-?_Getfalse@_Locinfo@std@@QBEPBDXZ
-; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getffld(char *,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::locale const &)
-?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1ABVlocale@2@@Z
-; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getffld(char *,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::locale const &)
-?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1ABVlocale@2@@Z
-; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getifld(char *,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,int,class std::locale const &)
-?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z
-; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getifld(char *,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,int,class std::locale const &)
-?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z
-; private: static int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getint(class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,int,int,int &)
-?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAAH@Z
-; private: static int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getint(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,int,int,int &)
-?_Getint@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0HHAAH@Z
-; public: struct lconv const * __thiscall std::_Locinfo::_Getlconv(void)const 
-?_Getlconv@_Locinfo@std@@QBEPBUlconv@@XZ
-; private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getmfld(class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,bool,class std::ios_base &)const 
-?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@@Z
-; private: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getmfld(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,bool,class std::ios_base &)const 
-?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@@Z
-; public: char const * __thiscall std::_Locinfo::_Getmonths(void)const 
-?_Getmonths@_Locinfo@std@@QBEPBDXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Locinfo::_Getname(void)const 
-?_Getname@_Locinfo@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: char const * __thiscall std::_Locinfo::_Getno(void)const 
-?_Getno@_Locinfo@std@@QBEPBDXZ
-; public: void * __thiscall std::_Timevec::_Getptr(void)const 
-?_Getptr@_Timevec@std@@QBEPAXXZ
-; public: class std::_Timevec  __thiscall std::_Locinfo::_Gettnames(void)const 
-?_Gettnames@_Locinfo@std@@QBE?AV_Timevec@2@XZ
-; public: char const * __thiscall std::_Locinfo::_Gettrue(void)const 
-?_Gettrue@_Locinfo@std@@QBEPBDXZ
-; public: char const * __thiscall std::_Locinfo::_Getyes(void)const 
-?_Getyes@_Locinfo@std@@QBEPBDXZ
-; private: static class std::locale::_Locimp *  std::locale::_Locimp::_Global
-?_Global@_Locimp@locale@std@@0PAV123@A DATA
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gndec(void)
-?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gndec(void)
-?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gninc(void)
-?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gninc(void)
-?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
-; private: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)
-?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z
-; private: bool __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Grow(unsigned int,bool)
-?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAE_NI_N@Z
-; private: static int  std::locale::id::_Id_cnt
-?_Id_cnt@id@locale@std@@0HA DATA
-; protected: static char * __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ifmt(char *,char,int)
-?_Ifmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPADPADDH@Z
-; protected: static char * __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ifmt(char *,char,int)
-?_Ifmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPADPADDH@Z
-; public: void __thiscall std::locale::facet::_Incref(void)
-?_Incref@facet@locale@std@@QAEXXZ
-; private: static int  std::ios_base::_Index
-?_Index@ios_base@std@@0HA DATA
-; public: static float __cdecl std::_Ctr<float>::_Infv(float)
-?_Infv@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Infv(double)
-?_Infv@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Infv(long double)
-?_Infv@?$_Ctr@O@std@@SAOO@Z
-; protected: void __thiscall std::_Mpunct<char>::_Init(class std::_Locinfo const &)
-?_Init@?$_Mpunct@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::_Mpunct<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$_Mpunct@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf *,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl)
-?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z
-; protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf *,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl)
-?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(char * *,char * *,int *,char * *,char * *,int *)
-?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(void)
-?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(unsigned short * *,unsigned short * *,int *,unsigned short * *,unsigned short * *,int *)
-?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(void)
-?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ
-; protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Init(char const *,unsigned int,int)
-?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z
-; protected: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Init(unsigned short const *,unsigned int,int)
-?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z
-; protected: void __thiscall std::codecvt<char,char,int>::_Init(class std::_Locinfo const &)
-?_Init@?$codecvt@DDH@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::codecvt<unsigned short,char,int>::_Init(class std::_Locinfo const &)
-?_Init@?$codecvt@GDH@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::collate<char>::_Init(class std::_Locinfo const &)
-?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::collate<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$collate@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::ctype<char>::_Init(class std::_Locinfo const &)
-?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::ctype<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$ctype@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::messages<char>::_Init(class std::_Locinfo const &)
-?_Init@?$messages@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::messages<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$messages@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::numpunct<char>::_Init(class std::_Locinfo const &)
-?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::numpunct<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::ios_base::_Init(void)
-?_Init@ios_base@std@@IAEXXZ
-; private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)
-?_Init@locale@std@@CAPAV_Locimp@12@XZ
-; protected: void __thiscall std::strstreambuf::_Init(int,char *,char *,int)
-?_Init@strstreambuf@std@@IAEXHPAD0H@Z
-; private: static int  std::ios_base::Init::_Init_cnt
-?_Init_cnt@Init@ios_base@std@@0HA DATA
-; private: static int  std::_Winit::_Init_cnt
-?_Init_cnt@_Winit@std@@0HA DATA
-; protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Initcvt(void)
-?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXXZ
-; protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initcvt(void)
-?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXXZ
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Iput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,char *,unsigned int)
-?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Iput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,char *,unsigned int)
-?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z
-; public: bool __thiscall std::locale::_Iscloc(void)const 
-?_Iscloc@locale@std@@QBE_NXZ
-; public: static bool __cdecl std::_Ctr<float>::_Isinf(float)
-?_Isinf@?$_Ctr@M@std@@SA_NM@Z
-; public: static bool __cdecl std::_Ctr<double>::_Isinf(double)
-?_Isinf@?$_Ctr@N@std@@SA_NN@Z
-; public: static bool __cdecl std::_Ctr<long double>::_Isinf(long double)
-?_Isinf@?$_Ctr@O@std@@SA_NO@Z
-; public: static bool __cdecl std::_Ctr<float>::_Isnan(float)
-?_Isnan@?$_Ctr@M@std@@SA_NM@Z
-; public: static bool __cdecl std::_Ctr<double>::_Isnan(double)
-?_Isnan@?$_Ctr@N@std@@SA_NN@Z
-; public: static bool __cdecl std::_Ctr<long double>::_Isnan(long double)
-?_Isnan@?$_Ctr@O@std@@SA_NO@Z
-; private: void __thiscall std::_Mpunct<char>::_Makpat(struct std::money_base::pattern &,char,char,char)
-?_Makpat@?$_Mpunct@D@std@@AAEXAAUpattern@money_base@2@DDD@Z
-; private: void __thiscall std::_Mpunct<unsigned short>::_Makpat(struct std::money_base::pattern &,char,char,char)
-?_Makpat@?$_Mpunct@G@std@@AAEXAAUpattern@money_base@2@DDD@Z
-; private: int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Mode(int)
-?_Mode@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z
-; private: int __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Mode(int)
-?_Mode@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z
-; public: static float __cdecl std::_Ctr<float>::_Nanv(float)
-?_Nanv@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Nanv(double)
-?_Nanv@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Nanv(long double)
-?_Nanv@?$_Ctr@O@std@@SAOO@Z
-; void __cdecl std::_Nomemory(void)
-?_Nomemory@std@@YAXXZ
-; private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)
-?_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ
-; private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)
-?_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGXZ
-; private: static unsigned int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Pdif(char const *,char const *)
-?_Pdif@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIPBD0@Z
-; private: static unsigned int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Pdif(unsigned short const *,unsigned short const *)
-?_Pdif@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAIPBG0@Z
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)
-?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Pninc(void)
-?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
-; private: static char * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char *,unsigned int)
-?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPADPADI@Z
-; private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char const *,unsigned int)
-?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDPBDI@Z
-; private: static unsigned short * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short *,unsigned int)
-?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPAGPAGI@Z
-; private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short const *,unsigned int)
-?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGPBGI@Z
-; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
-?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
-; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const *,unsigned int)
-?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBGI@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
-?_Put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const *,unsigned int)
-?_Put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBGI@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putc(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
-?_Putc@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putc(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,char const *,unsigned int)
-?_Putc@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBDI@Z
-; private: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putmfld(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,bool,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)const 
-?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; private: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putmfld(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,bool,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >)const 
-?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; float const  `float __cdecl std::_Fabs(class std::complex<float> const &,int *)'::`29'::_R2
-?_R2@?BN@??_Fabs@std@@YAMABV?$complex@M@2@PAH@Z@4MB DATA
-; double const  `double __cdecl std::_Fabs(class std::complex<double> const &,int *)'::`29'::_R2
-?_R2@?BN@??_Fabs@std@@YANABV?$complex@N@2@PAH@Z@4NB DATA
-; long double const  `long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)'::`29'::_R2
-?_R2@?BN@??_Fabs@std@@YAOABV?$complex@O@2@PAH@Z@4OB DATA
-; private: unsigned char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Refcnt(char const *)
-?_Refcnt@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAEPBD@Z
-; private: unsigned char & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Refcnt(unsigned short const *)
-?_Refcnt@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAEPBG@Z
-; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned int)
-?_Rep@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z
-; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned int)
-?_Rep@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned int)
-?_Rep@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned int)
-?_Rep@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z
-; public: static float __cdecl std::_Ctr<float>::_Sinh(float,float)
-?_Sinh@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Sinh(double,double)
-?_Sinh@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Sinh(long double,long double)
-?_Sinh@?$_Ctr@O@std@@SAOOO@Z
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Split(void)
-?_Split@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Split(void)
-?_Split@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ
-; int  `protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf *,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl)'::`2'::_Stinit
-?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
-; int  `protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf *,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl)'::`2'::_Stinit
-?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
-; private: static bool  std::ios_base::_Sync
-?_Sync@ios_base@std@@0_NA DATA
-; protected: static void __cdecl std::ctype<char>::_Term(void)
-?_Term@?$ctype@D@std@@KAXXZ
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(bool)
-?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(bool)
-?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEX_N@Z
-; protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(void)
-?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ
-; protected: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(void)
-?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ
-; private: void __thiscall std::ios_base::_Tidy(void)
-?_Tidy@ios_base@std@@AAEXXZ
-; private: static void __cdecl std::locale::_Tidy(void)
-?_Tidy@locale@std@@CAXXZ
-; protected: void __thiscall std::strstreambuf::_Tidy(void)
-?_Tidy@strstreambuf@std@@IAEXXZ
-; float const  `float __cdecl std::_Fabs(class std::complex<float> const &,int *)'::`29'::_Xh
-?_Xh@?BN@??_Fabs@std@@YAMABV?$complex@M@2@PAH@Z@4MB DATA
-; double const  `double __cdecl std::_Fabs(class std::complex<double> const &,int *)'::`29'::_Xh
-?_Xh@?BN@??_Fabs@std@@YANABV?$complex@N@2@PAH@Z@4NB DATA
-; long double const  `long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)'::`29'::_Xh
-?_Xh@?BN@??_Fabs@std@@YAOABV?$complex@O@2@PAH@Z@4OB DATA
-; float const  `float __cdecl std::_Fabs(class std::complex<float> const &,int *)'::`29'::_Xl
-?_Xl@?BN@??_Fabs@std@@YAMABV?$complex@M@2@PAH@Z@4MB DATA
-; double const  `double __cdecl std::_Fabs(class std::complex<double> const &,int *)'::`29'::_Xl
-?_Xl@?BN@??_Fabs@std@@YANABV?$complex@N@2@PAH@Z@4NB DATA
-; long double const  `long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)'::`29'::_Xl
-?_Xl@?BN@??_Fabs@std@@YAOABV?$complex@O@2@PAH@Z@4OB DATA
-; void __cdecl std::_Xlen(void)
-?_Xlen@std@@YAXXZ
-; void __cdecl std::_Xran(void)
-?_Xran@std@@YAXXZ
-; struct _iobuf * __cdecl std::__Fiopen(char const *,int)
-?__Fiopen@std@@YAPAU_iobuf@@PBDH@Z
-; float __cdecl std::abs(class std::complex<float> const &)
-?abs@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::abs(class std::complex<double> const &)
-?abs@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::abs(class std::complex<long double> const &)
-?abs@std@@YAOABV?$complex@O@1@@Z
-; public: bool __thiscall std::codecvt_base::always_noconv(void)const 
-?always_noconv@codecvt_base@std@@QBE_NXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(unsigned int,char)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,char const *)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,unsigned int)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned int,unsigned short)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *,unsigned short const *)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *,unsigned int)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z
-; float __cdecl std::arg(class std::complex<float> const &)
-?arg@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::arg(class std::complex<double> const &)
-?arg@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::arg(class std::complex<long double> const &)
-?arg@std@@YAOABV?$complex@O@1@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(unsigned int,char)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *,char const *)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *,unsigned int)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned int,unsigned short)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *,unsigned short const *)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *,unsigned int)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z
-; public: static char * __cdecl std::char_traits<char>::assign(char *,unsigned int,char const &)
-?assign@?$char_traits@D@std@@SAPADPADIABD@Z
-; public: static void __cdecl std::char_traits<char>::assign(char &,char const &)
-?assign@?$char_traits@D@std@@SAXAADABD@Z
-; public: static unsigned short * __cdecl std::char_traits<unsigned short>::assign(unsigned short *,unsigned int,unsigned short const &)
-?assign@?$char_traits@G@std@@SAPAGPAGIABG@Z
-; public: static void __cdecl std::char_traits<unsigned short>::assign(unsigned short &,unsigned short const &)
-?assign@?$char_traits@G@std@@SAXAAGABG@Z
-; public: char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned int)
-?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z
-; public: char const & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned int)const 
-?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z
-; public: unsigned short & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned int)
-?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z
-; public: unsigned short const & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned int)const 
-?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z
-; public: static float __cdecl std::_Ctr<float>::atan2(float,float)
-?atan2@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::atan2(double,double)
-?atan2@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::atan2(long double,long double)
-?atan2@?$_Ctr@O@std@@SAOOO@Z
-; public: bool __thiscall std::ios_base::bad(void)const 
-?bad@ios_base@std@@QBE_NXZ
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)
-?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADXZ
-; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)const 
-?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)
-?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGXZ
-; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)const 
-?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
-; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const 
-?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
-; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::c_str(void)const 
-?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::capacity(void)const 
-?capacity@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::capacity(void)const 
-?capacity@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
-; class std::basic_ostream<char,struct std::char_traits<char> >  std::cerr
-?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
-; class std::basic_istream<char,struct std::char_traits<char> >  std::cin
-?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A DATA
-; public: static class std::locale const & __cdecl std::locale::classic(void)
-?classic@locale@std@@SAABV12@XZ
-; protected: static short const * __cdecl std::ctype<char>::classic_table(void)
-?classic_table@?$ctype@D@std@@KAPBFXZ
-; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(short)
-?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXF@Z
-; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool)
-?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
-; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(short)
-?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXF@Z
-; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(int,bool)
-?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z
-; public: void __thiscall std::ios_base::clear(short)
-?clear@ios_base@std@@QAEXF@Z
-; public: void __thiscall std::ios_base::clear(int,bool)
-?clear@ios_base@std@@QAEXH_N@Z
-; class std::basic_ostream<char,struct std::char_traits<char> >  std::clog
-?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::close(void)
-?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::close(void)
-?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ
-; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::close(void)
-?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
-?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::close(void)
-?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
-?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::close(void)
-?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
-?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::messages<char>::close(int)const 
-?close@?$messages@D@std@@QBEXH@Z
-; public: void __thiscall std::messages<unsigned short>::close(int)const 
-?close@?$messages@G@std@@QBEXH@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@II@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,char const *)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBD@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,char const *,unsigned int)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(char const *)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHPBD@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHABV12@@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@II@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,unsigned short const *)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBG@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,unsigned short const *,unsigned int)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBGI@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned short const *)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHPBG@Z
-; public: static int __cdecl std::char_traits<char>::compare(char const *,char const *,unsigned int)
-?compare@?$char_traits@D@std@@SAHPBD0I@Z
-; public: static int __cdecl std::char_traits<unsigned short>::compare(unsigned short const *,unsigned short const *,unsigned int)
-?compare@?$char_traits@G@std@@SAHPBG0I@Z
-; public: int __thiscall std::collate<char>::compare(char const *,char const *,char const *,char const *)const 
-?compare@?$collate@D@std@@QBEHPBD000@Z
-; public: int __thiscall std::collate<unsigned short>::compare(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)const 
-?compare@?$collate@G@std@@QBEHPBG000@Z
-; class std::complex<float>  __cdecl std::conj(class std::complex<float> const &)
-?conj@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::conj(class std::complex<double> const &)
-?conj@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::conj(class std::complex<long double> const &)
-?conj@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::copy(char *,unsigned int,unsigned int)const 
-?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPADII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::copy(unsigned short *,unsigned int,unsigned int)const 
-?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPAGII@Z
-; public: static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned int)
-?copy@?$char_traits@D@std@@SAPADPADPBDI@Z
-; public: static unsigned short * __cdecl std::char_traits<unsigned short>::copy(unsigned short *,unsigned short const *,unsigned int)
-?copy@?$char_traits@G@std@@SAPAGPAGPBGI@Z
-; public: class std::basic_ios<char,struct std::char_traits<char> > & __thiscall std::basic_ios<char,struct std::char_traits<char> >::copyfmt(class std::basic_ios<char,struct std::char_traits<char> > const &)
-?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::copyfmt(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
-?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV12@ABV12@@Z
-; public: class std::ios_base & __thiscall std::ios_base::copyfmt(class std::ios_base const &)
-?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z
-; public: static float __cdecl std::_Ctr<float>::cos(float)
-?cos@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::cos(double)
-?cos@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::cos(long double)
-?cos@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::cos(class std::complex<float> const &)
-?cos@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::cos(class std::complex<double> const &)
-?cos@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::cos(class std::complex<long double> const &)
-?cos@std@@YA?AV?$complex@O@1@ABV21@@Z
-; class std::complex<float>  __cdecl std::cosh(class std::complex<float> const &)
-?cosh@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::cosh(class std::complex<double> const &)
-?cosh@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::cosh(class std::complex<long double> const &)
-?cosh@std@@YA?AV?$complex@O@1@ABV21@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> >  std::cout
-?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::curr_symbol(void)const 
-?curr_symbol@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::curr_symbol(void)const 
-?curr_symbol@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::data(void)const 
-?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
-; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::data(void)const 
-?data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
-; public: int __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::date_order(void)const 
-?date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBEHXZ
-; public: int __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::date_order(void)const 
-?date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBEHXZ
-; public: char __thiscall std::_Mpunct<char>::decimal_point(void)const 
-?decimal_point@?$_Mpunct@D@std@@QBEDXZ
-; public: unsigned short __thiscall std::_Mpunct<unsigned short>::decimal_point(void)const 
-?decimal_point@?$_Mpunct@G@std@@QBEGXZ
-; public: char __thiscall std::numpunct<char>::decimal_point(void)const 
-?decimal_point@?$numpunct@D@std@@QBEDXZ
-; public: unsigned short __thiscall std::numpunct<unsigned short>::decimal_point(void)const 
-?decimal_point@?$numpunct@G@std@@QBEGXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::denorm_min(void)
-?denorm_min@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::denorm_min(void)
-?denorm_min@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::denorm_min(void)
-?denorm_min@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::denorm_min(void)
-?denorm_min@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::denorm_min(void)
-?denorm_min@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::denorm_min(void)
-?denorm_min@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::denorm_min(void)
-?denorm_min@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::denorm_min(void)
-?denorm_min@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::denorm_min(void)
-?denorm_min@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::denorm_min(void)
-?denorm_min@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::denorm_min(void)
-?denorm_min@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::denorm_min(void)
-?denorm_min@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::denorm_min(void)
-?denorm_min@?$numeric_limits@_N@std@@SA_NXZ
-; protected: virtual bool __thiscall std::codecvt<unsigned short,char,int>::do_always_noconv(void)const 
-?do_always_noconv@?$codecvt@GDH@std@@MBE_NXZ
-; protected: virtual bool __thiscall std::codecvt_base::do_always_noconv(void)const 
-?do_always_noconv@codecvt_base@std@@MBE_NXZ
-; protected: virtual void __thiscall std::messages<char>::do_close(int)const 
-?do_close@?$messages@D@std@@MBEXH@Z
-; protected: virtual void __thiscall std::messages<unsigned short>::do_close(int)const 
-?do_close@?$messages@G@std@@MBEXH@Z
-; protected: virtual int __thiscall std::collate<char>::do_compare(char const *,char const *,char const *,char const *)const 
-?do_compare@?$collate@D@std@@MBEHPBD000@Z
-; protected: virtual int __thiscall std::collate<unsigned short>::do_compare(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)const 
-?do_compare@?$collate@G@std@@MBEHPBG000@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_curr_symbol(void)const 
-?do_curr_symbol@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_curr_symbol(void)const 
-?do_curr_symbol@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_date_order(void)const 
-?do_date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBEHXZ
-; protected: virtual int __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_date_order(void)const 
-?do_date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBEHXZ
-; protected: virtual char __thiscall std::_Mpunct<char>::do_decimal_point(void)const 
-?do_decimal_point@?$_Mpunct@D@std@@MBEDXZ
-; protected: virtual unsigned short __thiscall std::_Mpunct<unsigned short>::do_decimal_point(void)const 
-?do_decimal_point@?$_Mpunct@G@std@@MBEGXZ
-; protected: virtual char __thiscall std::numpunct<char>::do_decimal_point(void)const 
-?do_decimal_point@?$numpunct@D@std@@MBEDXZ
-; protected: virtual unsigned short __thiscall std::numpunct<unsigned short>::do_decimal_point(void)const 
-?do_decimal_point@?$numpunct@G@std@@MBEGXZ
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_encoding(void)const 
-?do_encoding@?$codecvt@GDH@std@@MBEHXZ
-; protected: virtual int __thiscall std::codecvt_base::do_encoding(void)const 
-?do_encoding@codecvt_base@std@@MBEHXZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_falsename(void)const 
-?do_falsename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::do_falsename(void)const 
-?do_falsename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __thiscall std::_Mpunct<char>::do_frac_digits(void)const 
-?do_frac_digits@?$_Mpunct@D@std@@MBEHXZ
-; protected: virtual int __thiscall std::_Mpunct<unsigned short>::do_frac_digits(void)const 
-?do_frac_digits@?$_Mpunct@G@std@@MBEHXZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::messages<char>::do_get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?do_get@?$messages@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHABV32@@Z
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::messages<unsigned short>::do_get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?do_get@?$messages@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHABV32@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,long double &)const 
-?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const 
-?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,long double &)const 
-?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)const 
-?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned short &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned int &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned long &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,float &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,double &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long double &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,void * &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,bool &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned short &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned int &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned long &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,float &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,double &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long double &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,void * &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,bool &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_grouping(void)const 
-?do_grouping@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<unsigned short>::do_grouping(void)const 
-?do_grouping@?$_Mpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_grouping(void)const 
-?do_grouping@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<unsigned short>::do_grouping(void)const 
-?do_grouping@?$numpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual long __thiscall std::collate<char>::do_hash(char const *,char const *)const 
-?do_hash@?$collate@D@std@@MBEJPBD0@Z
-; protected: virtual long __thiscall std::collate<unsigned short>::do_hash(unsigned short const *,unsigned short const *)const 
-?do_hash@?$collate@G@std@@MBEJPBG0@Z
-; protected: virtual int __thiscall std::codecvt<char,char,int>::do_in(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
-?do_in@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_in(int &,char const *,char const *,char const * &,unsigned short *,unsigned short *,unsigned short * &)const 
-?do_in@?$codecvt@GDH@std@@MBEHAAHPBD1AAPBDPAG3AAPAG@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_is(unsigned short const *,unsigned short const *,short *)const 
-?do_is@?$ctype@G@std@@MBEPBGPBG0PAF@Z
-; protected: virtual bool __thiscall std::ctype<unsigned short>::do_is(short,unsigned short)const 
-?do_is@?$ctype@G@std@@MBE_NFG@Z
-; protected: virtual int __thiscall std::codecvt<char,char,int>::do_length(int &,char const *,char const *,unsigned int)const 
-?do_length@?$codecvt@DDH@std@@MBEHAAHPBD1I@Z
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_length(int &,unsigned short const *,unsigned short const *,unsigned int)const 
-?do_length@?$codecvt@GDH@std@@MBEHAAHPBG1I@Z
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_max_length(void)const 
-?do_max_length@?$codecvt@GDH@std@@MBEHXZ
-; protected: virtual int __thiscall std::codecvt_base::do_max_length(void)const 
-?do_max_length@codecvt_base@std@@MBEHXZ
-; protected: virtual char __thiscall std::ctype<unsigned short>::do_narrow(unsigned short,char)const 
-?do_narrow@?$ctype@G@std@@MBEDGD@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_narrow(unsigned short const *,unsigned short const *,char,char *)const 
-?do_narrow@?$ctype@G@std@@MBEPBGPBG0DPAD@Z
-; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<char>::do_neg_format(void)const 
-?do_neg_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ
-; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::do_neg_format(void)const 
-?do_neg_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_negative_sign(void)const 
-?do_negative_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_negative_sign(void)const 
-?do_negative_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __thiscall std::messages<char>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
-?do_open@?$messages@D@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
-; protected: virtual int __thiscall std::messages<unsigned short>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
-?do_open@?$messages@G@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
-; protected: virtual int __thiscall std::codecvt<char,char,int>::do_out(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
-?do_out@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_out(int &,unsigned short const *,unsigned short const *,unsigned short const * &,char *,char *,char * &)const 
-?do_out@?$codecvt@GDH@std@@MBEHAAHPBG1AAPBGPAD3AAPAD@Z
-; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<char>::do_pos_format(void)const 
-?do_pos_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ
-; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::do_pos_format(void)const 
-?do_pos_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_positive_sign(void)const 
-?do_positive_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_positive_sign(void)const 
-?do_positive_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,long double)const 
-?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,long double)const 
-?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DJ@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,unsigned long)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,double)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long double)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,void const *)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBX@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,bool)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GJ@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,unsigned long)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GK@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,double)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long double)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,void const *)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBX@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,bool)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char,char)const 
-?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,char,char)const 
-?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_scan_is(short,unsigned short const *,unsigned short const *)const 
-?do_scan_is@?$ctype@G@std@@MBEPBGFPBG0@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_scan_not(short,unsigned short const *,unsigned short const *)const 
-?do_scan_not@?$ctype@G@std@@MBEPBGFPBG0@Z
-; protected: virtual char __thiscall std::_Mpunct<char>::do_thousands_sep(void)const 
-?do_thousands_sep@?$_Mpunct@D@std@@MBEDXZ
-; protected: virtual unsigned short __thiscall std::_Mpunct<unsigned short>::do_thousands_sep(void)const 
-?do_thousands_sep@?$_Mpunct@G@std@@MBEGXZ
-; protected: virtual char __thiscall std::numpunct<char>::do_thousands_sep(void)const 
-?do_thousands_sep@?$numpunct@D@std@@MBEDXZ
-; protected: virtual unsigned short __thiscall std::numpunct<unsigned short>::do_thousands_sep(void)const 
-?do_thousands_sep@?$numpunct@G@std@@MBEGXZ
-; protected: virtual char __thiscall std::ctype<char>::do_tolower(char)const 
-?do_tolower@?$ctype@D@std@@MBEDD@Z
-; protected: virtual char const * __thiscall std::ctype<char>::do_tolower(char *,char const *)const 
-?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z
-; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_tolower(unsigned short)const 
-?do_tolower@?$ctype@G@std@@MBEGG@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_tolower(unsigned short *,unsigned short const *)const 
-?do_tolower@?$ctype@G@std@@MBEPBGPAGPBG@Z
-; protected: virtual char __thiscall std::ctype<char>::do_toupper(char)const 
-?do_toupper@?$ctype@D@std@@MBEDD@Z
-; protected: virtual char const * __thiscall std::ctype<char>::do_toupper(char *,char const *)const 
-?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z
-; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_toupper(unsigned short)const 
-?do_toupper@?$ctype@G@std@@MBEGG@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_toupper(unsigned short *,unsigned short const *)const 
-?do_toupper@?$ctype@G@std@@MBEPBGPAGPBG@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::collate<char>::do_transform(char const *,char const *)const 
-?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::collate<unsigned short>::do_transform(unsigned short const *,unsigned short const *)const 
-?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_truename(void)const 
-?do_truename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::do_truename(void)const 
-?do_truename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_widen(char)const 
-?do_widen@?$ctype@G@std@@MBEGD@Z
-; protected: virtual char const * __thiscall std::ctype<unsigned short>::do_widen(char const *,char const *,unsigned short *)const 
-?do_widen@?$ctype@G@std@@MBEPBDPBD0PAG@Z
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const 
-?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::eback(void)const 
-?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const 
-?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::egptr(void)const 
-?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; public: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::empty(void)const 
-?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::empty(void)const 
-?empty@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE_NXZ
-; public: static class std::locale  __cdecl std::locale::empty(void)
-?empty@locale@std@@SA?AV12@XZ
-; public: int __thiscall std::codecvt_base::encoding(void)const 
-?encoding@codecvt_base@std@@QBEHXZ
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)
-?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADXZ
-; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)const 
-?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)
-?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGXZ
-; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)const 
-?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)
-?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::endl(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
-?endl@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::ends(class std::basic_ostream<char,struct std::char_traits<char> > &)
-?ends@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::ends(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
-?ends@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
-; public: static int __cdecl std::char_traits<char>::eof(void)
-?eof@?$char_traits@D@std@@SAHXZ
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::eof(void)
-?eof@?$char_traits@G@std@@SAGXZ
-; public: bool __thiscall std::ios_base::eof(void)const 
-?eof@ios_base@std@@QBE_NXZ
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const 
-?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::epptr(void)const 
-?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::epsilon(void)
-?epsilon@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::epsilon(void)
-?epsilon@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::epsilon(void)
-?epsilon@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::epsilon(void)
-?epsilon@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::epsilon(void)
-?epsilon@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::epsilon(void)
-?epsilon@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::epsilon(void)
-?epsilon@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::epsilon(void)
-?epsilon@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::epsilon(void)
-?epsilon@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::epsilon(void)
-?epsilon@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::epsilon(void)
-?epsilon@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::epsilon(void)
-?epsilon@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::epsilon(void)
-?epsilon@?$numeric_limits@_N@std@@SA_NXZ
-; public: static bool __cdecl std::char_traits<char>::eq(char const &,char const &)
-?eq@?$char_traits@D@std@@SA_NABD0@Z
-; public: static bool __cdecl std::char_traits<unsigned short>::eq(unsigned short const &,unsigned short const &)
-?eq@?$char_traits@G@std@@SA_NABG0@Z
-; public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)
-?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z
-; public: static bool __cdecl std::char_traits<unsigned short>::eq_int_type(unsigned short const &,unsigned short const &)
-?eq_int_type@?$char_traits@G@std@@SA_NABG0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned int)
-?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char *,char *)
-?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPAD0@Z
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char *)
-?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPAD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned int,unsigned int)
-?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@II@Z
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short *,unsigned short *)
-?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAG0@Z
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short *)
-?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAG@Z
-; public: void __thiscall std::ios_base::exceptions(short)
-?exceptions@ios_base@std@@QAEXF@Z
-; public: void __thiscall std::ios_base::exceptions(int)
-?exceptions@ios_base@std@@QAEXH@Z
-; public: int __thiscall std::ios_base::exceptions(void)const 
-?exceptions@ios_base@std@@QBEHXZ
-; public: static float __cdecl std::_Ctr<float>::exp(float)
-?exp@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::exp(double)
-?exp@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::exp(long double)
-?exp@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::exp(class std::complex<float> const &)
-?exp@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::exp(class std::complex<double> const &)
-?exp@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::exp(class std::complex<long double> const &)
-?exp@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: bool __thiscall std::ios_base::fail(void)const 
-?fail@ios_base@std@@QBE_NXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::falsename(void)const 
-?falsename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::falsename(void)const 
-?falsename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(char)
-?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z
-; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const 
-?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ
-; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(unsigned short)
-?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEGG@Z
-; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(void)const 
-?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGXZ
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char,unsigned int)const 
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const *,unsigned int)const 
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const *,unsigned int,unsigned int)const 
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short,unsigned int)const 
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const *,unsigned int)const 
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const *,unsigned int,unsigned int)const 
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: static char const * __cdecl std::char_traits<char>::find(char const *,unsigned int,char const &)
-?find@?$char_traits@D@std@@SAPBDPBDIABD@Z
-; public: static unsigned short const * __cdecl std::char_traits<unsigned short>::find(unsigned short const *,unsigned int,unsigned short const &)
-?find@?$char_traits@G@std@@SAPBGPBGIABG@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char,unsigned int)const 
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const *,unsigned int)const 
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const *,unsigned int,unsigned int)const 
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short,unsigned int)const 
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const *,unsigned int)const 
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const *,unsigned int,unsigned int)const 
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char,unsigned int)const 
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const *,unsigned int)const 
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const *,unsigned int,unsigned int)const 
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short,unsigned int)const 
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const *,unsigned int)const 
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const *,unsigned int,unsigned int)const 
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char,unsigned int)const 
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const *,unsigned int)const 
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const *,unsigned int,unsigned int)const 
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short,unsigned int)const 
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const *,unsigned int)const 
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const *,unsigned int,unsigned int)const 
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char,unsigned int)const 
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const *,unsigned int)const 
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const *,unsigned int,unsigned int)const 
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short,unsigned int)const 
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const *,unsigned int)const 
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const *,unsigned int,unsigned int)const 
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: int __thiscall std::ios_base::flags(int)
-?flags@ios_base@std@@QAEHH@Z
-; public: int __thiscall std::ios_base::flags(void)const 
-?flags@ios_base@std@@QBEHXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)
-?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::flush(void)
-?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::flush(class std::basic_ostream<char,struct std::char_traits<char> > &)
-?flush@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::flush(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
-?flush@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
-; public: int __thiscall std::_Mpunct<char>::frac_digits(void)const 
-?frac_digits@?$_Mpunct@D@std@@QBEHXZ
-; public: int __thiscall std::_Mpunct<unsigned short>::frac_digits(void)const 
-?frac_digits@?$_Mpunct@G@std@@QBEHXZ
-; public: void __thiscall std::strstreambuf::freeze(bool)
-?freeze@strstreambuf@std@@QAEX_N@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int)
-?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gbump(int)
-?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::gcount(void)const 
-?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBEHXZ
-; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::gcount(void)const 
-?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBEHXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char &)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAD@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > &)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > &,char)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char *,int)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char *,int,char)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(void)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short &)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAG@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > &)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short *,int)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short *,int,unsigned short)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z
-; public: unsigned short __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(void)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::messages<char>::get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?get@?$messages@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHABV32@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::messages<unsigned short>::get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?get@?$messages@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHABV32@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,long double &)const 
-?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const 
-?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,long double &)const 
-?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)const 
-?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned short &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned int &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned long &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,float &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,double &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long double &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,void * &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,bool &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned short &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned int &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned long &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,float &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,double &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long double &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,void * &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,bool &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
-; public: class std::allocator<char>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::get_allocator(void)const 
-?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ
-; public: class std::allocator<unsigned short>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::get_allocator(void)const 
-?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$allocator@G@2@XZ
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,int)
-?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,int,char)
-?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short *,int)
-?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short *,int,unsigned short)
-?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
-?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,char)
-?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
-?getline@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,unsigned short)
-?getline@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z
-; public: class std::locale  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::getloc(void)
-?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@XZ
-; public: class std::locale  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::getloc(void)
-?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@XZ
-; public: class std::locale  __thiscall std::ios_base::getloc(void)const 
-?getloc@ios_base@std@@QBE?AVlocale@2@XZ
-; public: static class std::locale  __cdecl std::locale::global(class std::locale const &)
-?global@locale@std@@SA?AV12@ABV12@@Z
-; public: bool __thiscall std::ios_base::good(void)const 
-?good@ios_base@std@@QBE_NXZ
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const 
-?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gptr(void)const 
-?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::grouping(void)const 
-?grouping@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<unsigned short>::grouping(void)const 
-?grouping@?$_Mpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::grouping(void)const 
-?grouping@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<unsigned short>::grouping(void)const 
-?grouping@?$numpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: long __thiscall std::collate<char>::hash(char const *,char const *)const 
-?hash@?$collate@D@std@@QBEJPBD0@Z
-; public: long __thiscall std::collate<unsigned short>::hash(unsigned short const *,unsigned short const *)const 
-?hash@?$collate@G@std@@QBEJPBG0@Z
-; public: static class std::locale::id  std::codecvt<char,char,int>::id
-?id@?$codecvt@DDH@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::codecvt<unsigned short,char,int>::id
-?id@?$codecvt@GDH@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::collate<char>::id
-?id@?$collate@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::collate<unsigned short>::id
-?id@?$collate@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::ctype<char>::id
-?id@?$ctype@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::ctype<unsigned short>::id
-?id@?$ctype@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::messages<char>::id
-?id@?$messages@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::messages<unsigned short>::id
-?id@?$messages@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<char,1>::id
-?id@?$moneypunct@D$00@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<char,0>::id
-?id@?$moneypunct@D$0A@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<unsigned short,1>::id
-?id@?$moneypunct@G$00@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<unsigned short,0>::id
-?id@?$moneypunct@G$0A@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::numpunct<char>::id
-?id@?$numpunct@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::numpunct<unsigned short>::id
-?id@?$numpunct@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static char __cdecl std::numeric_limits<char>::ignaling_NaN(void)
-?ignaling_NaN@?$numeric_limits@D@std@@SADXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::ignore(int,int)
-?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@HH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ignore(int,unsigned short)
-?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@HG@Z
-; public: float __thiscall std::_Complex_base<float>::imag(float const &)
-?imag@?$_Complex_base@M@std@@QAEMABM@Z
-; public: float __thiscall std::_Complex_base<float>::imag(void)const 
-?imag@?$_Complex_base@M@std@@QBEMXZ
-; public: double __thiscall std::_Complex_base<double>::imag(double const &)
-?imag@?$_Complex_base@N@std@@QAENABN@Z
-; public: double __thiscall std::_Complex_base<double>::imag(void)const 
-?imag@?$_Complex_base@N@std@@QBENXZ
-; public: long double __thiscall std::_Complex_base<long double>::imag(long double const &)
-?imag@?$_Complex_base@O@std@@QAEOABO@Z
-; public: long double __thiscall std::_Complex_base<long double>::imag(void)const 
-?imag@?$_Complex_base@O@std@@QBEOXZ
-; float __cdecl std::imag(class std::complex<float> const &)
-?imag@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::imag(class std::complex<double> const &)
-?imag@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::imag(class std::complex<long double> const &)
-?imag@std@@YAOABV?$complex@O@1@@Z
-; public: class std::locale  __thiscall std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const &)
-?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z
-; public: class std::locale  __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const &)
-?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z
-; protected: virtual void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::imbue(class std::locale const &)
-?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z
-; protected: virtual void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const &)
-?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z
-; public: class std::locale  __thiscall std::ios_base::imbue(class std::locale const &)
-?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z
-; public: int __thiscall std::codecvt<char,char,int>::in(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
-?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
-; public: int __thiscall std::codecvt<unsigned short,char,int>::in(int &,char const *,char const *,char const * &,unsigned short *,unsigned short *,unsigned short * &)const 
-?in@?$codecvt@GDH@std@@QBEHAAHPBD1AAPBDPAG3AAPAG@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::in_avail(void)
-?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::in_avail(void)
-?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::infinity(void)
-?infinity@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::infinity(void)
-?infinity@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::infinity(void)
-?infinity@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::infinity(void)
-?infinity@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::infinity(void)
-?infinity@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::infinity(void)
-?infinity@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::infinity(void)
-?infinity@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::infinity(void)
-?infinity@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::infinity(void)
-?infinity@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::infinity(void)
-?infinity@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::infinity(void)
-?infinity@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::infinity(void)
-?infinity@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::infinity(void)
-?infinity@?$numeric_limits@_N@std@@SA_NXZ
-; protected: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::init(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)
-?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z
-; protected: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::init(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool)
-?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IAEXPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@II@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,unsigned int,char)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,char const *)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,char const *,unsigned int)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBDI@Z
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,char)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPADD@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,unsigned int,char)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXPADID@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,char const *,char const *)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXPADPBD1@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned int,unsigned short)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned short const *)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned short const *,unsigned int)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBGI@Z
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned short)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAGG@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned int,unsigned short)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXPAGIG@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned short const *,unsigned short const *)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXPAGPBG1@Z
-; public: bool __thiscall std::basic_istream<char,struct std::char_traits<char> >::ipfx(bool)
-?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z
-; public: bool __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ipfx(bool)
-?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z
-; public: char const * __thiscall std::ctype<char>::is(char const *,char const *,short *)const 
-?is@?$ctype@D@std@@QBEPBDPBD0PAF@Z
-; public: bool __thiscall std::ctype<char>::is(short,char)const 
-?is@?$ctype@D@std@@QBE_NFD@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::is(unsigned short const *,unsigned short const *,short *)const 
-?is@?$ctype@G@std@@QBEPBGPBG0PAF@Z
-; public: bool __thiscall std::ctype<unsigned short>::is(short,unsigned short)const 
-?is@?$ctype@G@std@@QBE_NFG@Z
-; public: bool __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::is_open(void)const 
-?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
-?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_fstream<char,struct std::char_traits<char> >::is_open(void)const 
-?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
-?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::is_open(void)const 
-?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
-?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::is_open(void)const 
-?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
-?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
-; public: void __thiscall std::basic_istream<char,struct std::char_traits<char> >::isfx(void)
-?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::isfx(void)
-?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: long & __thiscall std::ios_base::iword(int)
-?iword@ios_base@std@@QAEAAJH@Z
-; public: static float __cdecl std::_Ctr<float>::ldexp(float,int)
-?ldexp@?$_Ctr@M@std@@SAMMH@Z
-; public: static double __cdecl std::_Ctr<double>::ldexp(double,int)
-?ldexp@?$_Ctr@N@std@@SANNH@Z
-; public: static long double __cdecl std::_Ctr<long double>::ldexp(long double,int)
-?ldexp@?$_Ctr@O@std@@SAOOH@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::length(void)const 
-?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::length(void)const 
-?length@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
-; public: static unsigned int __cdecl std::char_traits<char>::length(char const *)
-?length@?$char_traits@D@std@@SAIPBD@Z
-; public: static unsigned int __cdecl std::char_traits<unsigned short>::length(unsigned short const *)
-?length@?$char_traits@G@std@@SAIPBG@Z
-; public: int __thiscall std::codecvt<char,char,int>::length(int &,char const *,char const *,unsigned int)const 
-?length@?$codecvt@DDH@std@@QBEHAAHPBD1I@Z
-; public: int __thiscall std::codecvt<unsigned short,char,int>::length(int &,unsigned short const *,unsigned short const *,unsigned int)const 
-?length@?$codecvt@GDH@std@@QBEHAAHPBG1I@Z
-; class std::complex<float>  __cdecl std::log10(class std::complex<float> const &)
-?log10@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::log10(class std::complex<double> const &)
-?log10@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::log10(class std::complex<long double> const &)
-?log10@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: static float __cdecl std::_Ctr<float>::log(float)
-?log@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::log(double)
-?log@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::log(long double)
-?log@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::log(class std::complex<float> const &)
-?log@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::log(class std::complex<double> const &)
-?log@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::log(class std::complex<long double> const &)
-?log@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: static bool __cdecl std::char_traits<char>::lt(char const &,char const &)
-?lt@?$char_traits@D@std@@SA_NABD0@Z
-; public: static bool __cdecl std::char_traits<unsigned short>::lt(unsigned short const &,unsigned short const &)
-?lt@?$char_traits@G@std@@SA_NABG0@Z
-; public: static signed char __cdecl std::numeric_limits<signed char>::max(void)
-?max@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::max(void)
-?max@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::max(void)
-?max@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::max(void)
-?max@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::max(void)
-?max@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::max(void)
-?max@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::max(void)
-?max@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::max(void)
-?max@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::max(void)
-?max@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::max(void)
-?max@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::max(void)
-?max@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::max(void)
-?max@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::max(void)
-?max@?$numeric_limits@_N@std@@SA_NXZ
-; public: int __thiscall std::codecvt_base::max_length(void)const 
-?max_length@codecvt_base@std@@QBEHXZ
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::max_size(void)const 
-?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::max_size(void)const 
-?max_size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::min(void)
-?min@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::min(void)
-?min@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::min(void)
-?min@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::min(void)
-?min@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::min(void)
-?min@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::min(void)
-?min@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::min(void)
-?min@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::min(void)
-?min@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::min(void)
-?min@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::min(void)
-?min@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::min(void)
-?min@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::min(void)
-?min@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::min(void)
-?min@?$numeric_limits@_N@std@@SA_NXZ
-; public: static char * __cdecl std::char_traits<char>::move(char *,char const *,unsigned int)
-?move@?$char_traits@D@std@@SAPADPADPBDI@Z
-; public: static unsigned short * __cdecl std::char_traits<unsigned short>::move(unsigned short *,unsigned short const *,unsigned int)
-?move@?$char_traits@G@std@@SAPAGPAGPBGI@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::locale::name(void)const 
-?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::narrow(char,char)const 
-?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z
-; public: char __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::narrow(unsigned short,char)const 
-?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEDGD@Z
-; public: char __thiscall std::ctype<char>::narrow(char,char)const 
-?narrow@?$ctype@D@std@@QBEDDD@Z
-; public: char const * __thiscall std::ctype<char>::narrow(char const *,char const *,char,char *)const 
-?narrow@?$ctype@D@std@@QBEPBDPBD0DPAD@Z
-; public: char __thiscall std::ctype<unsigned short>::narrow(unsigned short,char)const 
-?narrow@?$ctype@G@std@@QBEDGD@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::narrow(unsigned short const *,unsigned short const *,char,char *)const 
-?narrow@?$ctype@G@std@@QBEPBGPBG0DPAD@Z
-; public: struct std::money_base::pattern  __thiscall std::_Mpunct<char>::neg_format(void)const 
-?neg_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ
-; public: struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::neg_format(void)const 
-?neg_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::negative_sign(void)const 
-?negative_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::negative_sign(void)const 
-?negative_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; float __cdecl std::norm(class std::complex<float> const &)
-?norm@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::norm(class std::complex<double> const &)
-?norm@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::norm(class std::complex<long double> const &)
-?norm@std@@YAOABV?$complex@O@1@@Z
-; public: static int __cdecl std::char_traits<char>::not_eof(int const &)
-?not_eof@?$char_traits@D@std@@SAHABH@Z
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::not_eof(unsigned short const &)
-?not_eof@?$char_traits@G@std@@SAGABG@Z
-; struct std::nothrow_t const  std::nothrow
-?nothrow@std@@3Unothrow_t@1@B DATA
-; public: static unsigned int const  std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::npos
-?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB DATA
-; public: static unsigned int const  std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::npos
-?npos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@2IB DATA
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,short)
-?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDF@Z
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,int)
-?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDH@Z
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
-?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDF@Z
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
-?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDH@Z
-; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::open(char const *,short)
-?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::open(char const *,int)
-?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
-?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
-?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::open(char const *,short)
-?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::open(char const *,int)
-?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
-?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
-?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::open(char const *,short)
-?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::open(char const *,int)
-?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
-?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
-?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
-; public: int __thiscall std::messages<char>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
-?open@?$messages@D@std@@QBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
-; public: int __thiscall std::messages<unsigned short>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
-?open@?$messages@G@std@@QBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
-; public: bool __thiscall std::basic_ostream<char,struct std::char_traits<char> >::opfx(void)
-?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ
-; public: bool __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::opfx(void)
-?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE_NXZ
-; public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::osfx(void)
-?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::osfx(void)
-?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: int __thiscall std::codecvt<char,char,int>::out(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
-?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
-; public: int __thiscall std::codecvt<unsigned short,char,int>::out(int &,unsigned short const *,unsigned short const *,unsigned short const * &,char *,char *,char * &)const 
-?out@?$codecvt@GDH@std@@QBEHAAHPBG1AAPBGPAD3AAPAD@Z
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::overflow(int)
-?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short)
-?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::overflow(int)
-?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short)
-?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::overflow(int)
-?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::overflow(unsigned short)
-?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::strstreambuf::overflow(int)
-?overflow@strstreambuf@std@@MAEHH@Z
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::pbackfail(int)
-?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short)
-?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbackfail(int)
-?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short)
-?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::pbackfail(int)
-?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::pbackfail(unsigned short)
-?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::strstreambuf::pbackfail(int)
-?pbackfail@strstreambuf@std@@MAEHH@Z
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const 
-?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbase(void)const 
-?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbump(int)
-?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbump(int)
-?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::peek(void)
-?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::peek(void)
-?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ
-; class std::complex<float>  __cdecl std::polar(float const &,float const &)
-?polar@std@@YA?AV?$complex@M@1@ABM0@Z
-; class std::complex<float>  __cdecl std::polar(float const &)
-?polar@std@@YA?AV?$complex@M@1@ABM@Z
-; class std::complex<double>  __cdecl std::polar(double const &,double const &)
-?polar@std@@YA?AV?$complex@N@1@ABN0@Z
-; class std::complex<double>  __cdecl std::polar(double const &)
-?polar@std@@YA?AV?$complex@N@1@ABN@Z
-; class std::complex<long double>  __cdecl std::polar(long double const &,long double const &)
-?polar@std@@YA?AV?$complex@O@1@ABO0@Z
-; class std::complex<long double>  __cdecl std::polar(long double const &)
-?polar@std@@YA?AV?$complex@O@1@ABO@Z
-; public: struct std::money_base::pattern  __thiscall std::_Mpunct<char>::pos_format(void)const 
-?pos_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ
-; public: struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::pos_format(void)const 
-?pos_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::positive_sign(void)const 
-?positive_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::positive_sign(void)const 
-?positive_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: static float __cdecl std::_Ctr<float>::pow(float,float)
-?pow@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::pow(double,double)
-?pow@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::pow(long double,long double)
-?pow@?$_Ctr@O@std@@SAOOO@Z
-; class std::complex<float>  __cdecl std::pow(float const &,class std::complex<float> const &)
-?pow@std@@YA?AV?$complex@M@1@ABMABV21@@Z
-; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,class std::complex<float> const &)
-?pow@std@@YA?AV?$complex@M@1@ABV21@0@Z
-; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,float const &)
-?pow@std@@YA?AV?$complex@M@1@ABV21@ABM@Z
-; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,int)
-?pow@std@@YA?AV?$complex@M@1@ABV21@H@Z
-; class std::complex<double>  __cdecl std::pow(double const &,class std::complex<double> const &)
-?pow@std@@YA?AV?$complex@N@1@ABNABV21@@Z
-; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,class std::complex<double> const &)
-?pow@std@@YA?AV?$complex@N@1@ABV21@0@Z
-; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,double const &)
-?pow@std@@YA?AV?$complex@N@1@ABV21@ABN@Z
-; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,int)
-?pow@std@@YA?AV?$complex@N@1@ABV21@H@Z
-; class std::complex<long double>  __cdecl std::pow(long double const &,class std::complex<long double> const &)
-?pow@std@@YA?AV?$complex@O@1@ABOABV21@@Z
-; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,class std::complex<long double> const &)
-?pow@std@@YA?AV?$complex@O@1@ABV21@0@Z
-; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,long double const &)
-?pow@std@@YA?AV?$complex@O@1@ABV21@ABO@Z
-; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,int)
-?pow@std@@YA?AV?$complex@O@1@ABV21@H@Z
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const 
-?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pptr(void)const 
-?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; public: int __thiscall std::ios_base::precision(int)
-?precision@ios_base@std@@QAEHH@Z
-; public: int __thiscall std::ios_base::precision(void)const 
-?precision@ios_base@std@@QBEHXZ
-; public: class std::locale  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubimbue(class std::locale const &)
-?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z
-; public: class std::locale  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubimbue(class std::locale const &)
-?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(long,short,short)
-?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(long,enum std::ios_base::seekdir,int)
-?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(long,short,short)
-?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(long,enum std::ios_base::seekdir,int)
-?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,short)
-?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@F@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,int)
-?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,short)
-?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@F@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,int)
-?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubsetbuf(char *,int)
-?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsetbuf(unsigned short *,int)
-?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubsync(void)
-?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsync(void)
-?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::put(char)
-?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::put(unsigned short)
-?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,long double)const 
-?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,long double)const 
-?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DJ@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,unsigned long)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,double)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long double)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,void const *)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBX@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,bool)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GJ@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,unsigned long)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GK@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,double)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long double)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,void const *)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBX@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,bool)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char,char)const 
-?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char const *,char const *)const 
-?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@PBD3@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,char,char)const 
-?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,unsigned short const *,unsigned short const *)const 
-?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@PBG3@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::putback(char)
-?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::putback(unsigned short)
-?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z
-; public: void * & __thiscall std::ios_base::pword(int)
-?pword@ios_base@std@@QAEAAPAXH@Z
-; public: static signed char __cdecl std::numeric_limits<signed char>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@_N@std@@SA_NXZ
-; public: class std::reverse_iterator<char *,char,char &,char *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)
-?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@PADDAADPADH@2@XZ
-; public: class std::reverse_iterator<char const *,char,char const &,char const *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)const 
-?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@PBDDABDPBDH@2@XZ
-; public: class std::reverse_iterator<unsigned short *,unsigned short,unsigned short &,unsigned short *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)
-?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@PAGGAAGPAGH@2@XZ
-; public: class std::reverse_iterator<unsigned short const *,unsigned short,unsigned short const &,unsigned short const *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)const 
-?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@PBGGABGPBGH@2@XZ
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_fstream<char,struct std::char_traits<char> >::rdbuf(void)const 
-?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::rdbuf(void)const 
-?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(class std::basic_streambuf<char,struct std::char_traits<char> > *)
-?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const 
-?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAV32@@Z
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
-?rdbuf@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::rdbuf(void)const 
-?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
-?rdbuf@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
-?rdbuf@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: int __thiscall std::ios_base::rdstate(void)const 
-?rdstate@ios_base@std@@QBEHXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::read(char *,int)
-?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::read(unsigned short *,int)
-?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::readsome(char *,int)
-?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADH@Z
-; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::readsome(unsigned short *,int)
-?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z
-; public: float __thiscall std::_Complex_base<float>::real(float const &)
-?real@?$_Complex_base@M@std@@QAEMABM@Z
-; public: float __thiscall std::_Complex_base<float>::real(void)const 
-?real@?$_Complex_base@M@std@@QBEMXZ
-; public: double __thiscall std::_Complex_base<double>::real(double const &)
-?real@?$_Complex_base@N@std@@QAENABN@Z
-; public: double __thiscall std::_Complex_base<double>::real(void)const 
-?real@?$_Complex_base@N@std@@QBENXZ
-; public: long double __thiscall std::_Complex_base<long double>::real(long double const &)
-?real@?$_Complex_base@O@std@@QAEOABO@Z
-; public: long double __thiscall std::_Complex_base<long double>::real(void)const 
-?real@?$_Complex_base@O@std@@QBEOXZ
-; float __cdecl std::real(class std::complex<float> const &)
-?real@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::real(class std::complex<double> const &)
-?real@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::real(class std::complex<long double> const &)
-?real@std@@YAOABV?$complex@O@1@@Z
-; public: void __thiscall std::ios_base::register_callback(void (__cdecl*)(enum std::ios_base::event,class std::ios_base &,int),int)
-?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z
-; public: class std::reverse_iterator<char *,char,char &,char *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)
-?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@PADDAADPADH@2@XZ
-; public: class std::reverse_iterator<char const *,char,char const &,char const *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)const 
-?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@PBDDABDPBDH@2@XZ
-; public: class std::reverse_iterator<unsigned short *,unsigned short,unsigned short &,unsigned short *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)
-?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@PAGGAAGPAGH@2@XZ
-; public: class std::reverse_iterator<unsigned short const *,unsigned short,unsigned short const &,unsigned short const *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)const 
-?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@PBGGABGPBGH@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,unsigned int,char)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,char const *)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,char const *,unsigned int)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0ABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,unsigned int,char)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0ID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *,char const *)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBD1@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *,unsigned int)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBDI@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned int,unsigned short)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIIG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned short const *)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned short const *,unsigned int)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBGI@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0ABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned int,unsigned short)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0IG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *,unsigned short const *)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBG1@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *,unsigned int)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBGI@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::reserve(unsigned int)
-?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::reserve(unsigned int)
-?reserve@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z
-; struct std::_Smanip<int>  __cdecl std::resetiosflags(int)
-?resetiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned int)
-?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned int,char)
-?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned int)
-?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned int,unsigned short)
-?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXIG@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char,unsigned int)const 
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const *,unsigned int)const 
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const *,unsigned int,unsigned int)const 
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short,unsigned int)const 
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const *,unsigned int)const 
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const *,unsigned int,unsigned int)const 
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: static signed char __cdecl std::numeric_limits<signed char>::round_error(void)
-?round_error@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::round_error(void)
-?round_error@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::round_error(void)
-?round_error@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::round_error(void)
-?round_error@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::round_error(void)
-?round_error@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::round_error(void)
-?round_error@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::round_error(void)
-?round_error@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::round_error(void)
-?round_error@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::round_error(void)
-?round_error@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::round_error(void)
-?round_error@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::round_error(void)
-?round_error@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::round_error(void)
-?round_error@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::round_error(void)
-?round_error@?$numeric_limits@_N@std@@SA_NXZ
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sbumpc(void)
-?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sbumpc(void)
-?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: char const * __thiscall std::ctype<char>::scan_is(short,char const *,char const *)const 
-?scan_is@?$ctype@D@std@@QBEPBDFPBD0@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::scan_is(short,unsigned short const *,unsigned short const *)const 
-?scan_is@?$ctype@G@std@@QBEPBGFPBG0@Z
-; public: char const * __thiscall std::ctype<char>::scan_not(short,char const *,char const *)const 
-?scan_not@?$ctype@D@std@@QBEPBDFPBD0@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::scan_not(short,unsigned short const *,unsigned short const *)const 
-?scan_not@?$ctype@G@std@@QBEPBGFPBG0@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::seekg(long,enum std::ios_base::seekdir)
-?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::seekg(class std::fpos<int>)
-?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(long,enum std::ios_base::seekdir)
-?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(class std::fpos<int>)
-?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::strstreambuf::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::seekp(long,enum std::ios_base::seekdir)
-?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::seekp(class std::fpos<int>)
-?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(long,enum std::ios_base::seekdir)
-?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(class std::fpos<int>)
-?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::strstreambuf::seekpos(class std::fpos<int>,int)
-?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; struct std::_Smanip<int>  __cdecl std::setbase(int)
-?setbase@std@@YA?AU?$_Smanip@H@1@H@Z
-; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::setbuf(char *,int)
-?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z
-; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short *,int)
-?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAGH@Z
-; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setbuf(char *,int)
-?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z
-; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short *,int)
-?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z
-; public: int __thiscall std::ios_base::setf(int)
-?setf@ios_base@std@@QAEHH@Z
-; public: int __thiscall std::ios_base::setf(int,int)
-?setf@ios_base@std@@QAEHHH@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setg(char *,char *,char *)
-?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setg(unsigned short *,unsigned short *,unsigned short *)
-?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z
-; struct std::_Smanip<int>  __cdecl std::setiosflags(int)
-?setiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *,char *)
-?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *)
-?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short *,unsigned short *,unsigned short *)
-?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short *,unsigned short *)
-?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z
-; struct std::_Smanip<int>  __cdecl std::setprecision(int)
-?setprecision@std@@YA?AU?$_Smanip@H@1@H@Z
-; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(short)
-?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXF@Z
-; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)
-?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
-; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(short)
-?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXF@Z
-; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(int,bool)
-?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z
-; public: void __thiscall std::ios_base::setstate(short)
-?setstate@ios_base@std@@QAEXF@Z
-; public: void __thiscall std::ios_base::setstate(int,bool)
-?setstate@ios_base@std@@QAEXH_N@Z
-; struct std::_Smanip<int>  __cdecl std::setw(int)
-?setw@std@@YA?AU?$_Smanip@H@1@H@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetc(void)
-?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetc(void)
-?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetn(char *,int)
-?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z
-; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetn(unsigned short *,int)
-?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::showmanyc(void)
-?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::showmanyc(void)
-?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@C@std@@SACXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@_N@std@@SA_NXZ
-; public: static float __cdecl std::_Ctr<float>::sin(float)
-?sin@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::sin(double)
-?sin@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::sin(long double)
-?sin@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::sin(class std::complex<float> const &)
-?sin@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::sin(class std::complex<double> const &)
-?sin@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::sin(class std::complex<long double> const &)
-?sin@std@@YA?AV?$complex@O@1@ABV21@@Z
-; class std::complex<float>  __cdecl std::sinh(class std::complex<float> const &)
-?sinh@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::sinh(class std::complex<double> const &)
-?sinh@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::sinh(class std::complex<long double> const &)
-?sinh@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const 
-?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::size(void)const 
-?size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::snextc(void)
-?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::snextc(void)
-?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputbackc(char)
-?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputbackc(unsigned short)
-?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)
-?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputc(unsigned short)
-?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)
-?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z
-; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputn(unsigned short const *,int)
-?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z
-; public: static float __cdecl std::_Ctr<float>::sqrt(float)
-?sqrt@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::sqrt(double)
-?sqrt@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::sqrt(long double)
-?sqrt@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::sqrt(class std::complex<float> const &)
-?sqrt@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::sqrt(class std::complex<double> const &)
-?sqrt@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::sqrt(class std::complex<long double> const &)
-?sqrt@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::stossc(void)
-?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::stossc(void)
-?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
-?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
-?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
-?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
-?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
-?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
-?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
-?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
-?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::substr(unsigned int,unsigned int)const 
-?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::substr(unsigned int,unsigned int)const 
-?substr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV12@II@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sungetc(void)
-?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sungetc(void)
-?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::swap(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
-?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::swap(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
-?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXAAV12@@Z
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::sync(void)
-?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual int __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
-?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEHXZ
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::sync(void)
-?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
-?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHXZ
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sync(void)
-?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
-?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ
-; public: static bool __cdecl std::ios_base::sync_with_stdio(bool)
-?sync_with_stdio@ios_base@std@@SA_N_N@Z
-; protected: short const * __thiscall std::ctype<char>::table(void)const 
-?table@?$ctype@D@std@@IBEPBFXZ
-; public: static unsigned int const  std::ctype<char>::table_size
-?table_size@?$ctype@D@std@@2IB DATA
-; public: class std::fpos<int>  __thiscall std::basic_istream<char,struct std::char_traits<char> >::tellg(void)
-?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ
-; public: class std::fpos<int>  __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::tellg(void)
-?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ
-; public: class std::fpos<int>  __thiscall std::basic_ostream<char,struct std::char_traits<char> >::tellp(void)
-?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ
-; public: class std::fpos<int>  __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::tellp(void)
-?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ
-; public: char __thiscall std::_Mpunct<char>::thousands_sep(void)const 
-?thousands_sep@?$_Mpunct@D@std@@QBEDXZ
-; public: unsigned short __thiscall std::_Mpunct<unsigned short>::thousands_sep(void)const 
-?thousands_sep@?$_Mpunct@G@std@@QBEGXZ
-; public: char __thiscall std::numpunct<char>::thousands_sep(void)const 
-?thousands_sep@?$numpunct@D@std@@QBEDXZ
-; public: unsigned short __thiscall std::numpunct<unsigned short>::thousands_sep(void)const 
-?thousands_sep@?$numpunct@G@std@@QBEGXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(class std::basic_ostream<char,struct std::char_traits<char> > *)
-?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const 
-?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > *)
-?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@PAV32@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(void)const 
-?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ
-; public: static char __cdecl std::char_traits<char>::to_char_type(int const &)
-?to_char_type@?$char_traits@D@std@@SADABH@Z
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_char_type(unsigned short const &)
-?to_char_type@?$char_traits@G@std@@SAGABG@Z
-; public: static int __cdecl std::char_traits<char>::to_int_type(char const &)
-?to_int_type@?$char_traits@D@std@@SAHABD@Z
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_int_type(unsigned short const &)
-?to_int_type@?$char_traits@G@std@@SAGABG@Z
-; public: char __thiscall std::ctype<char>::tolower(char)const 
-?tolower@?$ctype@D@std@@QBEDD@Z
-; public: char const * __thiscall std::ctype<char>::tolower(char *,char const *)const 
-?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z
-; public: unsigned short __thiscall std::ctype<unsigned short>::tolower(unsigned short)const 
-?tolower@?$ctype@G@std@@QBEGG@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::tolower(unsigned short *,unsigned short const *)const 
-?tolower@?$ctype@G@std@@QBEPBGPAGPBG@Z
-; public: char __thiscall std::ctype<char>::toupper(char)const 
-?toupper@?$ctype@D@std@@QBEDD@Z
-; public: char const * __thiscall std::ctype<char>::toupper(char *,char const *)const 
-?toupper@?$ctype@D@std@@QBEPBDPADPBD@Z
-; public: unsigned short __thiscall std::ctype<unsigned short>::toupper(unsigned short)const 
-?toupper@?$ctype@G@std@@QBEGG@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::toupper(unsigned short *,unsigned short const *)const 
-?toupper@?$ctype@G@std@@QBEPBGPAGPBG@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::collate<char>::transform(char const *,char const *)const 
-?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::collate<unsigned short>::transform(unsigned short const *,unsigned short const *)const 
-?transform@?$collate@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::truename(void)const 
-?truename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::truename(void)const 
-?truename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::uflow(void)
-?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void)
-?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::uflow(void)
-?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void)
-?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ
-; bool __cdecl std::uncaught_exception(void)
-?uncaught_exception@std@@YA_NXZ
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::underflow(void)
-?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void)
-?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::underflow(void)
-?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void)
-?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ
-; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::underflow(void)
-?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::underflow(void)
-?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ
-; protected: virtual int __thiscall std::strstreambuf::underflow(void)
-?underflow@strstreambuf@std@@MAEHXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::unget(void)
-?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::unget(void)
-?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ
-; public: void __thiscall std::ios_base::unsetf(int)
-?unsetf@ios_base@std@@QAEXH@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcerr
-?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >  std::wcin
-?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A DATA
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wclog
-?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcout
-?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
-; public: virtual char const * __thiscall std::logic_error::what(void)const 
-?what@logic_error@std@@UBEPBDXZ
-; public: virtual char const * __thiscall std::runtime_error::what(void)const 
-?what@runtime_error@std@@UBEPBDXZ
-; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::widen(char)const 
-?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z
-; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::widen(char)const 
-?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z
-; public: char __thiscall std::ctype<char>::widen(char)const 
-?widen@?$ctype@D@std@@QBEDD@Z
-; public: char const * __thiscall std::ctype<char>::widen(char const *,char const *,char *)const 
-?widen@?$ctype@D@std@@QBEPBDPBD0PAD@Z
-; public: unsigned short __thiscall std::ctype<unsigned short>::widen(char)const 
-?widen@?$ctype@G@std@@QBEGD@Z
-; public: char const * __thiscall std::ctype<unsigned short>::widen(char const *,char const *,unsigned short *)const 
-?widen@?$ctype@G@std@@QBEPBDPBD0PAG@Z
-; public: int __thiscall std::ios_base::width(int)
-?width@ios_base@std@@QAEHH@Z
-; public: int __thiscall std::ios_base::width(void)const 
-?width@ios_base@std@@QBEHXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::write(char const *,int)
-?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::write(unsigned short const *,int)
-?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@PBGH@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::ws(class std::basic_istream<char,struct std::char_traits<char> > &)
-?ws@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::ws(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &)
-?ws@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@@Z
-; public: static int __cdecl std::ios_base::xalloc(void)
-?xalloc@ios_base@std@@SAHXZ
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsgetn(char *,int)
-?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z
-; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsgetn(unsigned short *,int)
-?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsputn(char const *,int)
-?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z
-; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsputn(unsigned short const *,int)
-?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z
-_Cosh
-_Denorm DATA
-_Dnorm
-_Dscale
-_Dtest
-_Eps DATA
-_Exp
-_FCosh
-_FDenorm DATA
-_FDnorm
-_FDscale
-_FDtest
-_FEps DATA
-_FExp
-_FInf DATA
-_FNan DATA
-_FRteps DATA
-_FSinh
-_FSnan DATA
-_FXbig DATA
-_Getcoll
-_Getctype
-_Getcvt
-_Hugeval DATA
-_Inf DATA
-_LCosh
-_LDenorm DATA
-_LDscale
-_LDtest
-_LEps DATA
-_LExp
-_LInf DATA
-_LNan DATA
-_LPoly
-_LRteps DATA
-_LSinh
-_LSnan DATA
-_LXbig DATA
-_Mbrtowc
-_Nan DATA
-_Poly
-_Rteps DATA
-_Sinh
-_Snan DATA
-_Stod
-_Stof
-_Stold
-_Strcoll
-_Strxfrm
-_Tolower
-_Toupper
-_Wcrtomb
-_Xbig DATA
-__Wcrtomb_lk
-btowc
-mbrlen
-mbrtowc
-mbsrtowcs
-towctrans
-wcrtomb
-wcsrtombs
-wctob
-wctrans
-wctype
+; 
+; Exports of file MSVCP50.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSVCP50.dll
+EXPORTS
+; public: __thiscall std::_Complex_base<float>::_Complex_base<float>(float const &,float const &)
+??0?$_Complex_base@M@std@@QAE@ABM0@Z
+; public: __thiscall std::_Complex_base<double>::_Complex_base<double>(double const &,double const &)
+??0?$_Complex_base@N@std@@QAE@ABN0@Z
+; public: __thiscall std::_Complex_base<long double>::_Complex_base<long double>(long double const &,long double const &)
+??0?$_Complex_base@O@std@@QAE@ABO0@Z
+; public: __thiscall std::_Mpunct<char>::_Mpunct<char>(class _Mpunct<char>::_Locinfo const &,unsigned int,bool)
+??0?$_Mpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z
+; public: __thiscall std::_Mpunct<char>::_Mpunct<char>(unsigned int,bool)
+??0?$_Mpunct@D@std@@QAE@I_N@Z
+; public: __thiscall std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(class _Mpunct<unsigned short>::_Locinfo const &,unsigned int,bool)
+??0?$_Mpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z
+; public: __thiscall std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(unsigned int,bool)
+??0?$_Mpunct@G@std@@QAE@I_N@Z
+; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(struct _iobuf *)
+??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z
+; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(enum basic_filebuf<char,struct std::char_traits<char> >::_Uninitialized)
+??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(struct _iobuf *)
+??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z
+; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
+??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(char const *,int)
+??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(void)
+??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
+??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(char const *,int)
+??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(void)
+??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
+??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ
+; protected: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void)
+??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ
+; public: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> > const &)
+??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *)
+??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; protected: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_ios@GU?$char_traits@G@std@@@std@@IAE@XZ
+; public: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> > const &)
+??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *)
+??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; public: __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> > const &)
+??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *,bool)
+??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
+; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(enum basic_istream<char,struct std::char_traits<char> >::_Uninitialized)
+??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool)
+??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z
+; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_istream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
+??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
+??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
+??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
+??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
+??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(char const *,int)
+??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(void)
+??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
+??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> > const &)
+??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *,bool,bool)
+??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z
+; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(enum basic_ostream<char,struct std::char_traits<char> >::_Uninitialized)
+??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool,bool)
+??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z
+; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
+??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
+??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
+??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
+??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
+??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
+; protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(enum basic_streambuf<char,struct std::char_traits<char> >::_Uninitialized)
+??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z
+; protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)
+??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ
+; protected: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
+??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z
+; protected: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(unsigned int,char,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@IDABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,char const *,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD0ABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,unsigned int,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDIABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@IIABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned int,unsigned short,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IGABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,unsigned short const *,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBG0ABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,unsigned int,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGIABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
+??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(int)
+??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
+??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
+??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
+??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
+??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
+??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
+??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
+; public: __thiscall std::codecvt<char,char,int>::codecvt<char,char,int>(class codecvt<char,char,int>::_Locinfo const &,unsigned int)
+??0?$codecvt@DDH@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::codecvt<char,char,int>::codecvt<char,char,int>(unsigned int)
+??0?$codecvt@DDH@std@@QAE@I@Z
+; public: __thiscall std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(class codecvt<unsigned short,char,int>::_Locinfo const &,unsigned int)
+??0?$codecvt@GDH@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(unsigned int)
+??0?$codecvt@GDH@std@@QAE@I@Z
+; public: __thiscall std::collate<char>::collate<char>(class collate<char>::_Locinfo const &,unsigned int)
+??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::collate<char>::collate<char>(unsigned int)
+??0?$collate@D@std@@QAE@I@Z
+; public: __thiscall std::collate<unsigned short>::collate<unsigned short>(class collate<unsigned short>::_Locinfo const &,unsigned int)
+??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::collate<unsigned short>::collate<unsigned short>(unsigned int)
+??0?$collate@G@std@@QAE@I@Z
+; public: __thiscall std::complex<float>::complex<float>(float const &,float const &)
+??0?$complex@M@std@@QAE@ABM0@Z
+; public: __thiscall std::complex<float>::complex<float>(class complex<float>::complex<double> const &)
+??0?$complex@M@std@@QAE@ABV?$complex@N@1@@Z
+; public: __thiscall std::complex<float>::complex<float>(class complex<float>::complex<long double> const &)
+??0?$complex@M@std@@QAE@ABV?$complex@O@1@@Z
+; public: __thiscall std::complex<double>::complex<double>(double const &,double const &)
+??0?$complex@N@std@@QAE@ABN0@Z
+; public: __thiscall std::complex<double>::complex<double>(class complex<double>::complex<float> const &)
+??0?$complex@N@std@@QAE@ABV?$complex@M@1@@Z
+; public: __thiscall std::complex<double>::complex<double>(class complex<double>::complex<long double> const &)
+??0?$complex@N@std@@QAE@ABV?$complex@O@1@@Z
+; public: __thiscall std::complex<long double>::complex<long double>(long double const &,long double const &)
+??0?$complex@O@std@@QAE@ABO0@Z
+; public: __thiscall std::complex<long double>::complex<long double>(class complex<long double>::complex<float> const &)
+??0?$complex@O@std@@QAE@ABV?$complex@M@1@@Z
+; public: __thiscall std::complex<long double>::complex<long double>(class complex<long double>::complex<double> const &)
+??0?$complex@O@std@@QAE@ABV?$complex@N@1@@Z
+; public: __thiscall std::ctype<char>::ctype<char>(class ctype<char>::_Locinfo const &,unsigned int)
+??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::ctype<char>::ctype<char>(short const *,bool,unsigned int)
+??0?$ctype@D@std@@QAE@PBF_NI@Z
+; public: __thiscall std::ctype<unsigned short>::ctype<unsigned short>(class ctype<unsigned short>::_Locinfo const &,unsigned int)
+??0?$ctype@G@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::ctype<unsigned short>::ctype<unsigned short>(unsigned int)
+??0?$ctype@G@std@@QAE@I@Z
+; public: __thiscall std::messages<char>::messages<char>(class messages<char>::_Locinfo const &,unsigned int)
+??0?$messages@D@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::messages<char>::messages<char>(unsigned int)
+??0?$messages@D@std@@QAE@I@Z
+; public: __thiscall std::messages<unsigned short>::messages<unsigned short>(class messages<unsigned short>::_Locinfo const &,unsigned int)
+??0?$messages@G@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::messages<unsigned short>::messages<unsigned short>(unsigned int)
+??0?$messages@G@std@@QAE@I@Z
+; public: __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::moneypunct<char,1>::moneypunct<char,1>(class moneypunct<char,1>::_Locinfo const &,unsigned int)
+??0?$moneypunct@D$00@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::moneypunct<char,1>::moneypunct<char,1>(unsigned int)
+??0?$moneypunct@D$00@std@@QAE@I@Z
+; public: __thiscall std::moneypunct<char,0>::moneypunct<char,0>(class moneypunct<char,0>::_Locinfo const &,unsigned int)
+??0?$moneypunct@D$0A@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::moneypunct<char,0>::moneypunct<char,0>(unsigned int)
+??0?$moneypunct@D$0A@@std@@QAE@I@Z
+; public: __thiscall std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(class moneypunct<unsigned short,1>::_Locinfo const &,unsigned int)
+??0?$moneypunct@G$00@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(unsigned int)
+??0?$moneypunct@G$00@std@@QAE@I@Z
+; public: __thiscall std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(class moneypunct<unsigned short,0>::_Locinfo const &,unsigned int)
+??0?$moneypunct@G$0A@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(unsigned int)
+??0?$moneypunct@G$0A@@std@@QAE@I@Z
+; public: __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::numpunct<char>::numpunct<char>(class numpunct<char>::_Locinfo const &,unsigned int)
+??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::numpunct<char>::numpunct<char>(unsigned int)
+??0?$numpunct@D@std@@QAE@I@Z
+; public: __thiscall std::numpunct<unsigned short>::numpunct<unsigned short>(class numpunct<unsigned short>::_Locinfo const &,unsigned int)
+??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::numpunct<unsigned short>::numpunct<unsigned short>(unsigned int)
+??0?$numpunct@G@std@@QAE@I@Z
+; public: __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::ios_base::Init::Init(void)
+??0Init@ios_base@std@@QAE@XZ
+; public: __thiscall std::_Locinfo::_Locinfo(class _Locinfo::_Locinfo const &)
+??0_Locinfo@std@@QAE@ABV01@@Z
+; public: __thiscall std::_Locinfo::_Locinfo(int,char const *)
+??0_Locinfo@std@@QAE@HPBD@Z
+; public: __thiscall std::_Locinfo::_Locinfo(char const *)
+??0_Locinfo@std@@QAE@PBD@Z
+; public: __thiscall std::_Lockit::_Lockit(void)
+??0_Lockit@std@@QAE@XZ
+; public: __thiscall std::_Timevec::_Timevec(class _Timevec::_Timevec const &)
+??0_Timevec@std@@QAE@ABV01@@Z
+; public: __thiscall std::_Timevec::_Timevec(void *)
+??0_Timevec@std@@QAE@PAX@Z
+; public: __thiscall std::_Winit::_Winit(void)
+??0_Winit@std@@QAE@XZ
+; public: __thiscall std::bad_alloc::bad_alloc(class bad_alloc::bad_alloc const &)
+??0bad_alloc@std@@QAE@ABV01@@Z
+; public: __thiscall std::bad_alloc::bad_alloc(char const *)
+??0bad_alloc@std@@QAE@PBD@Z
+; public: __thiscall std::bad_cast::bad_cast(class bad_cast::bad_cast const &)
+??0bad_cast@std@@QAE@ABV01@@Z
+; public: __thiscall std::bad_cast::bad_cast(char const *)
+??0bad_cast@std@@QAE@PBD@Z
+; public: __thiscall std::bad_exception::bad_exception(class bad_exception::bad_exception const &)
+??0bad_exception@std@@QAE@ABV01@@Z
+; public: __thiscall std::bad_exception::bad_exception(char const *)
+??0bad_exception@std@@QAE@PBD@Z
+; public: __thiscall std::codecvt_base::codecvt_base(unsigned int)
+??0codecvt_base@std@@QAE@I@Z
+; public: __thiscall std::ctype_base::ctype_base(unsigned int)
+??0ctype_base@std@@QAE@I@Z
+; public: __thiscall std::domain_error::domain_error(class domain_error::domain_error const &)
+??0domain_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::domain_error::domain_error(class domain_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0domain_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; protected: __thiscall std::locale::facet::facet(unsigned int)
+??0facet@locale@std@@IAE@I@Z
+; protected: __thiscall std::ios_base::ios_base(void)
+??0ios_base@std@@IAE@XZ
+; public: __thiscall std::ios_base::ios_base(class ios_base::ios_base const &)
+??0ios_base@std@@QAE@ABV01@@Z
+; public: __thiscall std::length_error::length_error(class length_error::length_error const &)
+??0length_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::length_error::length_error(class length_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; private: __thiscall std::locale::locale(class locale::locale::_Locimp *)
+??0locale@std@@AAE@PAV_Locimp@01@@Z
+; public: __thiscall std::locale::locale(class locale::locale const &,class locale::locale const &,int)
+??0locale@std@@QAE@ABV01@0H@Z
+; public: __thiscall std::locale::locale(class locale::locale const &)
+??0locale@std@@QAE@ABV01@@Z
+; public: __thiscall std::locale::locale(class locale::locale const &,char const *,int)
+??0locale@std@@QAE@ABV01@PBDH@Z
+; public: __thiscall std::locale::locale(char const *,int)
+??0locale@std@@QAE@PBDH@Z
+; public: __thiscall std::locale::locale(enum locale::_Uninitialized)
+??0locale@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::locale::locale(void)
+??0locale@std@@QAE@XZ
+; public: __thiscall std::logic_error::logic_error(class logic_error::logic_error const &)
+??0logic_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::logic_error::logic_error(class logic_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::messages_base::messages_base(unsigned int)
+??0messages_base@std@@QAE@I@Z
+; public: __thiscall std::money_base::money_base(unsigned int)
+??0money_base@std@@QAE@I@Z
+; public: __thiscall std::ostrstream::ostrstream(char *,int,int)
+??0ostrstream@std@@QAE@PADHH@Z
+; public: __thiscall std::out_of_range::out_of_range(class out_of_range::out_of_range const &)
+??0out_of_range@std@@QAE@ABV01@@Z
+; public: __thiscall std::out_of_range::out_of_range(class out_of_range::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::overflow_error::overflow_error(class overflow_error::overflow_error const &)
+??0overflow_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::overflow_error::overflow_error(class overflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0overflow_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::range_error::range_error(class range_error::range_error const &)
+??0range_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::range_error::range_error(class range_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0range_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::runtime_error::runtime_error(class runtime_error::runtime_error const &)
+??0runtime_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::runtime_error::runtime_error(class runtime_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::strstream::strstream(char *,int,int)
+??0strstream@std@@QAE@PADHH@Z
+; public: __thiscall std::time_base::time_base(unsigned int)
+??0time_base@std@@QAE@I@Z
+; public: __thiscall std::underflow_error::underflow_error(class underflow_error::underflow_error const &)
+??0underflow_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::underflow_error::underflow_error(class underflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0underflow_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: virtual __thiscall std::_Mpunct<char>::~_Mpunct<char>(void)
+??1?$_Mpunct@D@std@@UAE@XZ
+; public: virtual __thiscall std::_Mpunct<unsigned short>::~_Mpunct<unsigned short>(void)
+??1?$_Mpunct@G@std@@UAE@XZ
+; public: virtual __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::~basic_filebuf<char,struct std::char_traits<char> >(void)
+??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_fstream<char,struct std::char_traits<char> >::~basic_fstream<char,struct std::char_traits<char> >(void)
+??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::~basic_ifstream<char,struct std::char_traits<char> >(void)
+??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)
+??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::~basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_ios@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_iostream<char,struct std::char_traits<char> >::~basic_iostream<char,struct std::char_traits<char> >(void)
+??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_istream<char,struct std::char_traits<char> >::~basic_istream<char,struct std::char_traits<char> >(void)
+??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::~basic_istream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_istream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::~basic_ofstream<char,struct std::char_traits<char> >(void)
+??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void)
+??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)
+??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ
+; public: virtual __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
+; public: virtual __thiscall std::codecvt<char,char,int>::~codecvt<char,char,int>(void)
+??1?$codecvt@DDH@std@@UAE@XZ
+; public: virtual __thiscall std::codecvt<unsigned short,char,int>::~codecvt<unsigned short,char,int>(void)
+??1?$codecvt@GDH@std@@UAE@XZ
+; public: virtual __thiscall std::collate<char>::~collate<char>(void)
+??1?$collate@D@std@@UAE@XZ
+; public: virtual __thiscall std::collate<unsigned short>::~collate<unsigned short>(void)
+??1?$collate@G@std@@UAE@XZ
+; public: virtual __thiscall std::ctype<char>::~ctype<char>(void)
+??1?$ctype@D@std@@UAE@XZ
+; public: virtual __thiscall std::ctype<unsigned short>::~ctype<unsigned short>(void)
+??1?$ctype@G@std@@UAE@XZ
+; public: virtual __thiscall std::messages<char>::~messages<char>(void)
+??1?$messages@D@std@@UAE@XZ
+; public: virtual __thiscall std::messages<unsigned short>::~messages<unsigned short>(void)
+??1?$messages@G@std@@UAE@XZ
+; public: virtual __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::moneypunct<char,1>::~moneypunct<char,1>(void)
+??1?$moneypunct@D$00@std@@UAE@XZ
+; public: virtual __thiscall std::moneypunct<char,0>::~moneypunct<char,0>(void)
+??1?$moneypunct@D$0A@@std@@UAE@XZ
+; public: virtual __thiscall std::moneypunct<unsigned short,1>::~moneypunct<unsigned short,1>(void)
+??1?$moneypunct@G$00@std@@UAE@XZ
+; public: virtual __thiscall std::moneypunct<unsigned short,0>::~moneypunct<unsigned short,0>(void)
+??1?$moneypunct@G$0A@@std@@UAE@XZ
+; public: virtual __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::numpunct<char>::~numpunct<char>(void)
+??1?$numpunct@D@std@@UAE@XZ
+; public: virtual __thiscall std::numpunct<unsigned short>::~numpunct<unsigned short>(void)
+??1?$numpunct@G@std@@UAE@XZ
+; public: virtual __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: __thiscall std::ios_base::Init::~Init(void)
+??1Init@ios_base@std@@QAE@XZ
+; public: __thiscall std::_Locinfo::~_Locinfo(void)
+??1_Locinfo@std@@QAE@XZ
+; public: __thiscall std::_Lockit::~_Lockit(void)
+??1_Lockit@std@@QAE@XZ
+; public: __thiscall std::_Timevec::~_Timevec(void)
+??1_Timevec@std@@QAE@XZ
+; public: __thiscall std::_Winit::~_Winit(void)
+??1_Winit@std@@QAE@XZ
+; public: virtual __thiscall std::bad_alloc::~bad_alloc(void)
+??1bad_alloc@std@@UAE@XZ
+; public: virtual __thiscall std::bad_cast::~bad_cast(void)
+??1bad_cast@std@@UAE@XZ
+; public: virtual __thiscall std::bad_exception::~bad_exception(void)
+??1bad_exception@std@@UAE@XZ
+; public: virtual __thiscall std::codecvt_base::~codecvt_base(void)
+??1codecvt_base@std@@UAE@XZ
+; public: virtual __thiscall std::ctype_base::~ctype_base(void)
+??1ctype_base@std@@UAE@XZ
+; public: virtual __thiscall std::domain_error::~domain_error(void)
+??1domain_error@std@@UAE@XZ
+; public: virtual __thiscall std::locale::facet::~facet(void)
+??1facet@locale@std@@UAE@XZ
+; public: virtual __thiscall std::ios_base::~ios_base(void)
+??1ios_base@std@@UAE@XZ
+; public: virtual __thiscall std::istrstream::~istrstream(void)
+??1istrstream@std@@UAE@XZ
+; public: virtual __thiscall std::length_error::~length_error(void)
+??1length_error@std@@UAE@XZ
+; public: __thiscall std::locale::~locale(void)
+??1locale@std@@QAE@XZ
+; public: virtual __thiscall std::logic_error::~logic_error(void)
+??1logic_error@std@@UAE@XZ
+; public: virtual __thiscall std::messages_base::~messages_base(void)
+??1messages_base@std@@UAE@XZ
+; public: virtual __thiscall std::money_base::~money_base(void)
+??1money_base@std@@UAE@XZ
+; public: virtual __thiscall std::ostrstream::~ostrstream(void)
+??1ostrstream@std@@UAE@XZ
+; public: virtual __thiscall std::out_of_range::~out_of_range(void)
+??1out_of_range@std@@UAE@XZ
+; public: virtual __thiscall std::overflow_error::~overflow_error(void)
+??1overflow_error@std@@UAE@XZ
+; public: virtual __thiscall std::range_error::~range_error(void)
+??1range_error@std@@UAE@XZ
+; public: virtual __thiscall std::runtime_error::~runtime_error(void)
+??1runtime_error@std@@UAE@XZ
+; public: virtual __thiscall std::strstream::~strstream(void)
+??1strstream@std@@UAE@XZ
+; public: virtual __thiscall std::strstreambuf::~strstreambuf(void)
+??1strstreambuf@std@@UAE@XZ
+; public: virtual __thiscall std::time_base::~time_base(void)
+??1time_base@std@@UAE@XZ
+; public: virtual __thiscall std::underflow_error::~underflow_error(void)
+??1underflow_error@std@@UAE@XZ
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator=(class std::_Complex_base<float> const &)
+??4?$_Complex_base@M@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator=(class std::_Complex_base<double> const &)
+??4?$_Complex_base@N@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator=(class std::_Complex_base<long double> const &)
+??4?$_Complex_base@O@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Ctr<float> & __thiscall std::_Ctr<float>::operator=(class std::_Ctr<float> const &)
+??4?$_Ctr@M@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Ctr<double> & __thiscall std::_Ctr<double>::operator=(class std::_Ctr<double> const &)
+??4?$_Ctr@N@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Ctr<long double> & __thiscall std::_Ctr<long double>::operator=(class std::_Ctr<long double> const &)
+??4?$_Ctr@O@std@@QAEAAV01@ABV01@@Z
+; public: class std::allocator<void> & __thiscall std::allocator<void>::operator=(class std::allocator<void> const &)
+??4?$allocator@X@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ios<char,struct std::char_traits<char> > & __thiscall std::basic_ios<char,struct std::char_traits<char> >::operator=(class std::basic_ios<char,struct std::char_traits<char> > const &)
+??4?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_iostream<char,struct std::char_traits<char> > & __thiscall std::basic_iostream<char,struct std::char_traits<char> >::operator=(class std::basic_iostream<char,struct std::char_traits<char> > const &)
+??4?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator=(class std::basic_istream<char,struct std::char_traits<char> > const &)
+??4?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator=(class std::basic_ostream<char,struct std::char_traits<char> > const &)
+??4?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char)
+??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char const *)
+??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short)
+??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short const *)
+??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z
+; public: struct std::char_traits<char> & __thiscall std::char_traits<char>::operator=(struct std::char_traits<char> const &)
+??4?$char_traits@D@std@@QAEAAU01@ABU01@@Z
+; public: struct std::char_traits<unsigned short> & __thiscall std::char_traits<unsigned short>::operator=(struct std::char_traits<unsigned short> const &)
+??4?$char_traits@G@std@@QAEAAU01@ABU01@@Z
+; public: class std::complex<float> & __thiscall std::complex<float>::operator=(float const &)
+??4?$complex@M@std@@QAEAAV01@ABM@Z
+; public: class std::complex<float> & __thiscall std::complex<float>::operator=(class std::complex<float> const &)
+??4?$complex@M@std@@QAEAAV01@ABV01@@Z
+; public: class std::complex<double> & __thiscall std::complex<double>::operator=(double const &)
+??4?$complex@N@std@@QAEAAV01@ABN@Z
+; public: class std::complex<double> & __thiscall std::complex<double>::operator=(class std::complex<double> const &)
+??4?$complex@N@std@@QAEAAV01@ABV01@@Z
+; public: class std::complex<long double> & __thiscall std::complex<long double>::operator=(long double const &)
+??4?$complex@O@std@@QAEAAV01@ABO@Z
+; public: class std::complex<long double> & __thiscall std::complex<long double>::operator=(class std::complex<long double> const &)
+??4?$complex@O@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<signed char> & __thiscall std::numeric_limits<signed char>::operator=(class std::numeric_limits<signed char> const &)
+??4?$numeric_limits@C@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<char> & __thiscall std::numeric_limits<char>::operator=(class std::numeric_limits<char> const &)
+??4?$numeric_limits@D@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<unsigned char> & __thiscall std::numeric_limits<unsigned char>::operator=(class std::numeric_limits<unsigned char> const &)
+??4?$numeric_limits@E@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<short> & __thiscall std::numeric_limits<short>::operator=(class std::numeric_limits<short> const &)
+??4?$numeric_limits@F@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<unsigned short> & __thiscall std::numeric_limits<unsigned short>::operator=(class std::numeric_limits<unsigned short> const &)
+??4?$numeric_limits@G@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<int> & __thiscall std::numeric_limits<int>::operator=(class std::numeric_limits<int> const &)
+??4?$numeric_limits@H@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<unsigned int> & __thiscall std::numeric_limits<unsigned int>::operator=(class std::numeric_limits<unsigned int> const &)
+??4?$numeric_limits@I@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<long> & __thiscall std::numeric_limits<long>::operator=(class std::numeric_limits<long> const &)
+??4?$numeric_limits@J@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<unsigned long> & __thiscall std::numeric_limits<unsigned long>::operator=(class std::numeric_limits<unsigned long> const &)
+??4?$numeric_limits@K@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<float> & __thiscall std::numeric_limits<float>::operator=(class std::numeric_limits<float> const &)
+??4?$numeric_limits@M@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<double> & __thiscall std::numeric_limits<double>::operator=(class std::numeric_limits<double> const &)
+??4?$numeric_limits@N@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<long double> & __thiscall std::numeric_limits<long double>::operator=(class std::numeric_limits<long double> const &)
+??4?$numeric_limits@O@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<bool> & __thiscall std::numeric_limits<bool>::operator=(class std::numeric_limits<bool> const &)
+??4?$numeric_limits@_N@std@@QAEAAV01@ABV01@@Z
+; public: class std::ios_base::Init & __thiscall std::ios_base::Init::operator=(class std::ios_base::Init const &)
+??4Init@ios_base@std@@QAEAAV012@ABV012@@Z
+; public: class std::_Locinfo & __thiscall std::_Locinfo::operator=(class std::_Locinfo const &)
+??4_Locinfo@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Lockit & __thiscall std::_Lockit::operator=(class std::_Lockit const &)
+??4_Lockit@std@@QAEAAV01@ABV01@@Z
+; public: struct std::_Num_base & __thiscall std::_Num_base::operator=(struct std::_Num_base const &)
+??4_Num_base@std@@QAEAAU01@ABU01@@Z
+; public: struct std::_Num_float_base & __thiscall std::_Num_float_base::operator=(struct std::_Num_float_base const &)
+??4_Num_float_base@std@@QAEAAU01@ABU01@@Z
+; public: struct std::_Num_int_base & __thiscall std::_Num_int_base::operator=(struct std::_Num_int_base const &)
+??4_Num_int_base@std@@QAEAAU01@ABU01@@Z
+; public: class std::_Timevec & __thiscall std::_Timevec::operator=(class std::_Timevec const &)
+??4_Timevec@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Winit & __thiscall std::_Winit::operator=(class std::_Winit const &)
+??4_Winit@std@@QAEAAV01@ABV01@@Z
+; public: class std::bad_alloc & __thiscall std::bad_alloc::operator=(class std::bad_alloc const &)
+??4bad_alloc@std@@QAEAAV01@ABV01@@Z
+; public: class std::bad_cast & __thiscall std::bad_cast::operator=(class std::bad_cast const &)
+??4bad_cast@std@@QAEAAV01@ABV01@@Z
+; public: class std::bad_exception & __thiscall std::bad_exception::operator=(class std::bad_exception const &)
+??4bad_exception@std@@QAEAAV01@ABV01@@Z
+; public: class std::domain_error & __thiscall std::domain_error::operator=(class std::domain_error const &)
+??4domain_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::locale::id & __thiscall std::locale::id::operator=(class std::locale::id const &)
+??4id@locale@std@@QAEAAV012@ABV012@@Z
+; public: class std::ios_base & __thiscall std::ios_base::operator=(class std::ios_base const &)
+??4ios_base@std@@QAEAAV01@ABV01@@Z
+; public: class std::length_error & __thiscall std::length_error::operator=(class std::length_error const &)
+??4length_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::locale & __thiscall std::locale::operator=(class std::locale const &)
+??4locale@std@@QAEAAV01@ABV01@@Z
+; public: class std::logic_error & __thiscall std::logic_error::operator=(class std::logic_error const &)
+??4logic_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::out_of_range & __thiscall std::out_of_range::operator=(class std::out_of_range const &)
+??4out_of_range@std@@QAEAAV01@ABV01@@Z
+; public: class std::overflow_error & __thiscall std::overflow_error::operator=(class std::overflow_error const &)
+??4overflow_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::range_error & __thiscall std::range_error::operator=(class std::range_error const &)
+??4range_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::runtime_error & __thiscall std::runtime_error::operator=(class std::runtime_error const &)
+??4runtime_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::underflow_error & __thiscall std::underflow_error::operator=(class std::underflow_error const &)
+??4underflow_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(short &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned short &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAG@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(int &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned int &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(long &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAJ@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned long &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(float &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAM@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(double &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(long double &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAO@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(void * &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAPAX@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(bool &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_N@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_istream<char,struct std::char_traits<char> > &))
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_ios<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > &))
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::ios_base & (__cdecl*)(class std::ios_base &))
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_streambuf<char,struct std::char_traits<char> > *)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(short &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAF@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned short &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAG@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(int &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned int &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAI@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAJ@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned long &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAK@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(float &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAM@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(double &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAN@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long double &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAO@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(void * &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAPAX@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(bool &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_N@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &))
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > &))
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::ios_base & (__cdecl*)(class std::ios_base &))
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,signed char &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,char &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned char &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<float> &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@M@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<double> &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@N@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<long double> &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@O@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,signed char *)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,char *)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned char *)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<float> &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@M@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<double> &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@N@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<long double> &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@O@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,short *)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAF@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short *)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(short)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned short)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned int)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned long)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(float)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long double)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@O@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ios<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > &))
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::ios_base & (__cdecl*)(class std::ios_base &))
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_streambuf<char,struct std::char_traits<char> > *)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(void const *)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(bool)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(short)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@F@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned short)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@G@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(int)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned int)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@I@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@J@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned long)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@K@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(float)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@M@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(double)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@N@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long double)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@O@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &))
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > &))
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::ios_base & (__cdecl*)(class std::ios_base &))
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(void const *)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PBX@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(bool)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_N@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<float> const &)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@M@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<double> const &)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@N@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<long double> const &)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@O@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,signed char)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,char)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned char)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,signed char const *)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned char const *)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<float> const &)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@M@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<double> const &)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@N@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<long double> const &)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@O@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,short const *)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBF@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short const *)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z
+; public: bool __thiscall std::ios_base::operator!(void)const 
+??7ios_base@std@@QBE_NXZ
+; public: bool __thiscall std::locale::operator==(class std::locale const &)const 
+??8locale@std@@QBE_NABV01@@Z
+; bool __cdecl std::operator==(float const &,class std::complex<float> const &)
+??8std@@YA_NABMABV?$complex@M@0@@Z
+; bool __cdecl std::operator==(double const &,class std::complex<double> const &)
+??8std@@YA_NABNABV?$complex@N@0@@Z
+; bool __cdecl std::operator==(long double const &,class std::complex<long double> const &)
+??8std@@YA_NABOABV?$complex@O@0@@Z
+; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??8std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??8std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator==(class std::complex<float> const &,class std::complex<float> const &)
+??8std@@YA_NABV?$complex@M@0@0@Z
+; bool __cdecl std::operator==(class std::complex<float> const &,float const &)
+??8std@@YA_NABV?$complex@M@0@ABM@Z
+; bool __cdecl std::operator==(class std::complex<double> const &,class std::complex<double> const &)
+??8std@@YA_NABV?$complex@N@0@0@Z
+; bool __cdecl std::operator==(class std::complex<double> const &,double const &)
+??8std@@YA_NABV?$complex@N@0@ABN@Z
+; bool __cdecl std::operator==(class std::complex<long double> const &,class std::complex<long double> const &)
+??8std@@YA_NABV?$complex@O@0@0@Z
+; bool __cdecl std::operator==(class std::complex<long double> const &,long double const &)
+??8std@@YA_NABV?$complex@O@0@ABO@Z
+; bool __cdecl std::operator==(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??8std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator==(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??8std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; public: bool __thiscall std::locale::operator!=(class std::locale const &)const 
+??9locale@std@@QBE_NABV01@@Z
+; bool __cdecl std::operator!=(float const &,class std::complex<float> const &)
+??9std@@YA_NABMABV?$complex@M@0@@Z
+; bool __cdecl std::operator!=(double const &,class std::complex<double> const &)
+??9std@@YA_NABNABV?$complex@N@0@@Z
+; bool __cdecl std::operator!=(long double const &,class std::complex<long double> const &)
+??9std@@YA_NABOABV?$complex@O@0@@Z
+; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??9std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??9std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??9std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??9std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator!=(class std::complex<float> const &,class std::complex<float> const &)
+??9std@@YA_NABV?$complex@M@0@0@Z
+; bool __cdecl std::operator!=(class std::complex<float> const &,float const &)
+??9std@@YA_NABV?$complex@M@0@ABM@Z
+; bool __cdecl std::operator!=(class std::complex<double> const &,class std::complex<double> const &)
+??9std@@YA_NABV?$complex@N@0@0@Z
+; bool __cdecl std::operator!=(class std::complex<double> const &,double const &)
+??9std@@YA_NABV?$complex@N@0@ABN@Z
+; bool __cdecl std::operator!=(class std::complex<long double> const &,class std::complex<long double> const &)
+??9std@@YA_NABV?$complex@O@0@0@Z
+; bool __cdecl std::operator!=(class std::complex<long double> const &,long double const &)
+??9std@@YA_NABV?$complex@O@0@ABO@Z
+; bool __cdecl std::operator!=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??9std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator!=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??9std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; public: char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned int)
+??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z
+; public: char const & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned int)const 
+??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z
+; public: unsigned short & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned int)
+??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z
+; public: unsigned short const & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned int)const 
+??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z
+; public: __thiscall std::locale::id::operator unsigned int(void)
+??Bid@locale@std@@QAEIXZ
+; public: __thiscall std::ios_base::operator void *(void)const 
+??Bios_base@std@@QBEPAXXZ
+; class std::complex<float>  __cdecl std::operator*(float const &,class std::complex<float> const &)
+??Dstd@@YA?AV?$complex@M@0@ABMABV10@@Z
+; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const &,class std::complex<float> const &)
+??Dstd@@YA?AV?$complex@M@0@ABV10@0@Z
+; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const &,float const &)
+??Dstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; class std::complex<double>  __cdecl std::operator*(double const &,class std::complex<double> const &)
+??Dstd@@YA?AV?$complex@N@0@ABNABV10@@Z
+; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const &,class std::complex<double> const &)
+??Dstd@@YA?AV?$complex@N@0@ABV10@0@Z
+; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const &,double const &)
+??Dstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; class std::complex<long double>  __cdecl std::operator*(long double const &,class std::complex<long double> const &)
+??Dstd@@YA?AV?$complex@O@0@ABOABV10@@Z
+; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const &,class std::complex<long double> const &)
+??Dstd@@YA?AV?$complex@O@0@ABV10@0@Z
+; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const &,long double const &)
+??Dstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; class std::complex<float>  __cdecl std::operator-(float const &,class std::complex<float> const &)
+??Gstd@@YA?AV?$complex@M@0@ABMABV10@@Z
+; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &,class std::complex<float> const &)
+??Gstd@@YA?AV?$complex@M@0@ABV10@0@Z
+; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &)
+??Gstd@@YA?AV?$complex@M@0@ABV10@@Z
+; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &,float const &)
+??Gstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; class std::complex<double>  __cdecl std::operator-(double const &,class std::complex<double> const &)
+??Gstd@@YA?AV?$complex@N@0@ABNABV10@@Z
+; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &,class std::complex<double> const &)
+??Gstd@@YA?AV?$complex@N@0@ABV10@0@Z
+; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &)
+??Gstd@@YA?AV?$complex@N@0@ABV10@@Z
+; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &,double const &)
+??Gstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; class std::complex<long double>  __cdecl std::operator-(long double const &,class std::complex<long double> const &)
+??Gstd@@YA?AV?$complex@O@0@ABOABV10@@Z
+; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &,class std::complex<long double> const &)
+??Gstd@@YA?AV?$complex@O@0@ABV10@0@Z
+; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &)
+??Gstd@@YA?AV?$complex@O@0@ABV10@@Z
+; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &,long double const &)
+??Gstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@0@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@G@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@PBG@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GABV10@@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBGABV10@@Z
+; class std::complex<float>  __cdecl std::operator+(float const &,class std::complex<float> const &)
+??Hstd@@YA?AV?$complex@M@0@ABMABV10@@Z
+; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &,class std::complex<float> const &)
+??Hstd@@YA?AV?$complex@M@0@ABV10@0@Z
+; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &)
+??Hstd@@YA?AV?$complex@M@0@ABV10@@Z
+; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &,float const &)
+??Hstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; class std::complex<double>  __cdecl std::operator+(double const &,class std::complex<double> const &)
+??Hstd@@YA?AV?$complex@N@0@ABNABV10@@Z
+; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &,class std::complex<double> const &)
+??Hstd@@YA?AV?$complex@N@0@ABV10@0@Z
+; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &)
+??Hstd@@YA?AV?$complex@N@0@ABV10@@Z
+; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &,double const &)
+??Hstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; class std::complex<long double>  __cdecl std::operator+(long double const &,class std::complex<long double> const &)
+??Hstd@@YA?AV?$complex@O@0@ABOABV10@@Z
+; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &,class std::complex<long double> const &)
+??Hstd@@YA?AV?$complex@O@0@ABV10@0@Z
+; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &)
+??Hstd@@YA?AV?$complex@O@0@ABV10@@Z
+; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &,long double const &)
+??Hstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; class std::complex<float>  __cdecl std::operator/(float const &,class std::complex<float> const &)
+??Kstd@@YA?AV?$complex@M@0@ABMABV10@@Z
+; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const &,class std::complex<float> const &)
+??Kstd@@YA?AV?$complex@M@0@ABV10@0@Z
+; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const &,float const &)
+??Kstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; class std::complex<double>  __cdecl std::operator/(double const &,class std::complex<double> const &)
+??Kstd@@YA?AV?$complex@N@0@ABNABV10@@Z
+; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const &,class std::complex<double> const &)
+??Kstd@@YA?AV?$complex@N@0@ABV10@0@Z
+; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const &,double const &)
+??Kstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; class std::complex<long double>  __cdecl std::operator/(long double const &,class std::complex<long double> const &)
+??Kstd@@YA?AV?$complex@O@0@ABOABV10@@Z
+; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const &,class std::complex<long double> const &)
+??Kstd@@YA?AV?$complex@O@0@ABV10@0@Z
+; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const &,long double const &)
+??Kstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Mstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Mstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Mstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Mstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator<(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Mstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator<(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Mstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Nstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Nstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Nstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Nstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator<=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Nstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator<=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Nstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Ostd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Ostd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Ostd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Ostd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator>(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Ostd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator>(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Ostd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Pstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Pstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Pstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Pstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator>=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Pstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator>=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Pstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; public: bool __thiscall std::locale::operator()(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+??Rlocale@std@@QBE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@0@Z
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator*=(float const &)
+??X?$_Complex_base@M@std@@QAEAAV01@ABM@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator*=(double const &)
+??X?$_Complex_base@N@std@@QAEAAV01@ABN@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator*=(long double const &)
+??X?$_Complex_base@O@std@@QAEAAV01@ABO@Z
+; class std::complex<float> & __cdecl std::operator*=(class std::complex<float> &,class std::complex<float> const &)
+??Xstd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; class std::complex<double> & __cdecl std::operator*=(class std::complex<double> &,class std::complex<double> const &)
+??Xstd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; class std::complex<long double> & __cdecl std::operator*=(class std::complex<long double> &,class std::complex<long double> const &)
+??Xstd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator+=(float const &)
+??Y?$_Complex_base@M@std@@QAEAAV01@ABM@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator+=(double const &)
+??Y?$_Complex_base@N@std@@QAEAAV01@ABN@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator+=(long double const &)
+??Y?$_Complex_base@O@std@@QAEAAV01@ABO@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char)
+??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char const *)
+??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short)
+??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short const *)
+??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z
+; class std::complex<float> & __cdecl std::operator+=(class std::complex<float> &,class std::complex<float> const &)
+??Ystd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; class std::complex<double> & __cdecl std::operator+=(class std::complex<double> &,class std::complex<double> const &)
+??Ystd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; class std::complex<long double> & __cdecl std::operator+=(class std::complex<long double> &,class std::complex<long double> const &)
+??Ystd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator-=(float const &)
+??Z?$_Complex_base@M@std@@QAEAAV01@ABM@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator-=(double const &)
+??Z?$_Complex_base@N@std@@QAEAAV01@ABN@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator-=(long double const &)
+??Z?$_Complex_base@O@std@@QAEAAV01@ABO@Z
+; class std::complex<float> & __cdecl std::operator-=(class std::complex<float> &,class std::complex<float> const &)
+??Zstd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; class std::complex<double> & __cdecl std::operator-=(class std::complex<double> &,class std::complex<double> const &)
+??Zstd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; class std::complex<long double> & __cdecl std::operator-=(class std::complex<long double> &,class std::complex<long double> const &)
+??Zstd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator/=(float const &)
+??_0?$_Complex_base@M@std@@QAEAAV01@ABM@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator/=(double const &)
+??_0?$_Complex_base@N@std@@QAEAAV01@ABN@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator/=(long double const &)
+??_0?$_Complex_base@O@std@@QAEAAV01@ABO@Z
+; class std::complex<float> & __cdecl std::operator/=(class std::complex<float> &,class std::complex<float> const &)
+??_0std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; class std::complex<double> & __cdecl std::operator/=(class std::complex<double> &,class std::complex<double> const &)
+??_0std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; class std::complex<long double> & __cdecl std::operator/=(class std::complex<long double> &,class std::complex<long double> const &)
+??_0std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; const  std::_Mpunct<char>::`vftable'
+??_7?$_Mpunct@D@std@@6B@ DATA
+; const  std::_Mpunct<unsigned short>::`vftable'
+??_7?$_Mpunct@G@std@@6B@ DATA
+; const  std::basic_filebuf<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ DATA
+; const  std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@ DATA
+; const  std::basic_fstream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@ DATA
+; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@ DATA
+; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ DATA
+; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@ DATA
+; const  std::basic_ios<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ DATA
+; const  std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@ DATA
+; const  std::basic_iostream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@ DATA
+; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@ DATA
+; const  std::basic_istream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ DATA
+; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@ DATA
+; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ DATA
+; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ DATA
+; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@ DATA
+; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@ DATA
+; const  std::basic_ostream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ DATA
+; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@ DATA
+; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ DATA
+; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ DATA
+; const  std::basic_streambuf<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ DATA
+; const  std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@ DATA
+; const  std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ DATA
+; const  std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ DATA
+; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@ DATA
+; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@ DATA
+; const  std::codecvt<char,char,int>::`vftable'
+??_7?$codecvt@DDH@std@@6B@ DATA
+; const  std::codecvt<unsigned short,char,int>::`vftable'
+??_7?$codecvt@GDH@std@@6B@ DATA
+; const  std::collate<char>::`vftable'
+??_7?$collate@D@std@@6B@ DATA
+; const  std::collate<unsigned short>::`vftable'
+??_7?$collate@G@std@@6B@ DATA
+; const  std::ctype<char>::`vftable'
+??_7?$ctype@D@std@@6B@ DATA
+; const  std::ctype<unsigned short>::`vftable'
+??_7?$ctype@G@std@@6B@ DATA
+; const  std::messages<char>::`vftable'
+??_7?$messages@D@std@@6B@ DATA
+; const  std::messages<unsigned short>::`vftable'
+??_7?$messages@G@std@@6B@ DATA
+; const  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
+; const  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
+; const  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
+; const  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
+; const  std::moneypunct<char,1>::`vftable'
+??_7?$moneypunct@D$00@std@@6B@ DATA
+; const  std::moneypunct<char,0>::`vftable'
+??_7?$moneypunct@D$0A@@std@@6B@ DATA
+; const  std::moneypunct<unsigned short,1>::`vftable'
+??_7?$moneypunct@G$00@std@@6B@ DATA
+; const  std::moneypunct<unsigned short,0>::`vftable'
+??_7?$moneypunct@G$0A@@std@@6B@ DATA
+; const  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
+; const  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
+; const  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
+; const  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
+; const  std::numpunct<char>::`vftable'
+??_7?$numpunct@D@std@@6B@ DATA
+; const  std::numpunct<unsigned short>::`vftable'
+??_7?$numpunct@G@std@@6B@ DATA
+; const  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
+; const  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
+; const  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ DATA
+; const  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ DATA
+; const  std::bad_alloc::`vftable'
+??_7bad_alloc@std@@6B@ DATA
+; const  std::bad_cast::`vftable'
+??_7bad_cast@std@@6B@ DATA
+; const  std::bad_exception::`vftable'
+??_7bad_exception@std@@6B@ DATA
+; const  std::codecvt_base::`vftable'
+??_7codecvt_base@std@@6B@ DATA
+; const  std::ctype_base::`vftable'
+??_7ctype_base@std@@6B@ DATA
+; const  std::domain_error::`vftable'
+??_7domain_error@std@@6B@ DATA
+; const  std::locale::facet::`vftable'
+??_7facet@locale@std@@6B@ DATA
+; const  std::ios_base::`vftable'
+??_7ios_base@std@@6B@ DATA
+; const  std::length_error::`vftable'
+??_7length_error@std@@6B@ DATA
+; const  std::logic_error::`vftable'
+??_7logic_error@std@@6B@ DATA
+; const  std::messages_base::`vftable'
+??_7messages_base@std@@6B@ DATA
+; const  std::money_base::`vftable'
+??_7money_base@std@@6B@ DATA
+; const  std::out_of_range::`vftable'
+??_7out_of_range@std@@6B@ DATA
+; const  std::overflow_error::`vftable'
+??_7overflow_error@std@@6B@ DATA
+; const  std::range_error::`vftable'
+??_7range_error@std@@6B@ DATA
+; const  std::runtime_error::`vftable'
+??_7runtime_error@std@@6B@ DATA
+; const  std::time_base::`vftable'
+??_7time_base@std@@6B@ DATA
+; const  std::underflow_error::`vftable'
+??_7underflow_error@std@@6B@ DATA
+; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
+??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
+??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ DATA
+; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@ DATA
+; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
+??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
+??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_istream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ DATA
+; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@ DATA
+; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
+??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ DATA
+; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
+??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ DATA
+; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@ DATA
+; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@ DATA
+; const  std::basic_ostream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@ DATA
+; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@ DATA
+; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
+??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@ DATA
+; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
+??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@ DATA
+; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
+??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
+??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@ DATA
+; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@ DATA
+; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@ DATA
+; `string'
+??_C@_00A@?$AA@ DATA
+; `string'
+??_C@_01FKHJ@C?$AA@ DATA
+; `string'
+??_C@_01GJD@?9?$AA@ DATA
+; `string'
+??_C@_01KFAL@E?$AA@ DATA
+; `string'
+??_C@_01KMAE@?0?$AA@ DATA
+; `string'
+??_C@_01PHOL@e?$AA@ DATA
+; `string'
+??_C@_02ELCB@no?$AA@ DATA
+; `string'
+??_C@_02MHAC@?$CFp?$AA@ DATA
+; `string'
+??_C@_03LGKI@yes?$AA@ DATA
+; `string'
+??_C@_04HDBI@$?$CLvx?$AA@ DATA
+; `string'
+??_C@_04HHID@?$CB?$CFx?$AA?$AA@ DATA
+; `string'
+??_C@_04NCCD@true?$AA@ DATA
+; `string'
+??_C@_05FFJC@?$CF?40Lf?$AA@ DATA
+; `string'
+??_C@_05NAGO@false?$AA@ DATA
+; `string'
+??_C@_08JHLB@bad?5cast?$AA@ DATA
+; `string'
+??_C@_0BH@CFAI@0123456789abcdefABCDEF?$AA@ DATA
+; `string'
+??_C@_0FB@PNAB@?$CLv$x?$CLv$xv$?$CLxv?$CL$xv$?$CLx?$CL$vx?$CL$vx$v?$CLx@ DATA
+; `string'
+??_C@_0FG@ILEN@?3Sun?3Sunday?3Mon?3Monday?3Tue?3Tuesd@ DATA
+; `string'
+??_C@_0IH@JLLA@?3Jan?3January?3Feb?3February?3Mar?3Ma@ DATA
+; `string'
+??_C@_0O@NLHM@bad?5exception?$AA@ DATA
+; `string'
+??_C@_0P@LJNA@bad?5allocation?$AA@ DATA
+; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_iostream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
+??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
+??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
+??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::`default constructor closure'(void)
+??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::codecvt<char,char,int>::`default constructor closure'(void)
+??_F?$codecvt@DDH@std@@QAEXXZ
+; public: void __thiscall std::codecvt<unsigned short,char,int>::`default constructor closure'(void)
+??_F?$codecvt@GDH@std@@QAEXXZ
+; public: void __thiscall std::collate<char>::`default constructor closure'(void)
+??_F?$collate@D@std@@QAEXXZ
+; public: void __thiscall std::collate<unsigned short>::`default constructor closure'(void)
+??_F?$collate@G@std@@QAEXXZ
+; public: void __thiscall std::complex<float>::`default constructor closure'(void)
+??_F?$complex@M@std@@QAEXXZ
+; public: void __thiscall std::complex<double>::`default constructor closure'(void)
+??_F?$complex@N@std@@QAEXXZ
+; public: void __thiscall std::complex<long double>::`default constructor closure'(void)
+??_F?$complex@O@std@@QAEXXZ
+; public: void __thiscall std::ctype<char>::`default constructor closure'(void)
+??_F?$ctype@D@std@@QAEXXZ
+; public: void __thiscall std::ctype<unsigned short>::`default constructor closure'(void)
+??_F?$ctype@G@std@@QAEXXZ
+; public: void __thiscall std::messages<char>::`default constructor closure'(void)
+??_F?$messages@D@std@@QAEXXZ
+; public: void __thiscall std::messages<unsigned short>::`default constructor closure'(void)
+??_F?$messages@G@std@@QAEXXZ
+; public: void __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::moneypunct<char,1>::`default constructor closure'(void)
+??_F?$moneypunct@D$00@std@@QAEXXZ
+; public: void __thiscall std::moneypunct<char,0>::`default constructor closure'(void)
+??_F?$moneypunct@D$0A@@std@@QAEXXZ
+; public: void __thiscall std::moneypunct<unsigned short,1>::`default constructor closure'(void)
+??_F?$moneypunct@G$00@std@@QAEXXZ
+; public: void __thiscall std::moneypunct<unsigned short,0>::`default constructor closure'(void)
+??_F?$moneypunct@G$0A@@std@@QAEXXZ
+; public: void __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::numpunct<char>::`default constructor closure'(void)
+??_F?$numpunct@D@std@@QAEXXZ
+; public: void __thiscall std::numpunct<unsigned short>::`default constructor closure'(void)
+??_F?$numpunct@G@std@@QAEXXZ
+; public: void __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::_Locinfo::`default constructor closure'(void)
+??_F_Locinfo@std@@QAEXXZ
+; public: void __thiscall std::_Timevec::`default constructor closure'(void)
+??_F_Timevec@std@@QAEXXZ
+; public: void __thiscall std::bad_alloc::`default constructor closure'(void)
+??_Fbad_alloc@std@@QAEXXZ
+; public: void __thiscall std::bad_cast::`default constructor closure'(void)
+??_Fbad_cast@std@@QAEXXZ
+; public: void __thiscall std::bad_exception::`default constructor closure'(void)
+??_Fbad_exception@std@@QAEXXZ
+; public: void __thiscall std::codecvt_base::`default constructor closure'(void)
+??_Fcodecvt_base@std@@QAEXXZ
+; public: void __thiscall std::ctype_base::`default constructor closure'(void)
+??_Fctype_base@std@@QAEXXZ
+; public: void __thiscall std::locale::facet::`default constructor closure'(void)
+??_Ffacet@locale@std@@QAEXXZ
+; public: void __thiscall std::messages_base::`default constructor closure'(void)
+??_Fmessages_base@std@@QAEXXZ
+; public: void __thiscall std::money_base::`default constructor closure'(void)
+??_Fmoney_base@std@@QAEXXZ
+; public: void __thiscall std::time_base::`default constructor closure'(void)
+??_Ftime_base@std@@QAEXXZ
+; public: class std::_Locinfo & __thiscall std::_Locinfo::_Addcats(int,char const *)
+?_Addcats@_Locinfo@std@@QAEAAV12@HPBD@Z
+; public: class std::locale & __thiscall std::locale::_Addfac(class std::locale::facet *,unsigned int,unsigned int)
+?_Addfac@locale@std@@QAEAAV12@PAVfacet@12@II@Z
+; protected: void __thiscall std::ios_base::_Addstd(void)
+?_Addstd@ios_base@std@@IAEXXZ
+; char const  `private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)'::`2'::_C
+?_C@?1??_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ@4DB DATA
+; unsigned short const  `private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)'::`2'::_C
+?_C@?1??_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGXZ@4GB DATA
+; private: void __thiscall std::ios_base::_Callfns(enum std::ios_base::event)
+?_Callfns@ios_base@std@@AAEXW4event@12@@Z
+; float const  `class std::complex<float>  __cdecl std::log(class std::complex<float> const &)'::`6'::_Cl
+?_Cl@?5??log@std@@YA?AV?$complex@M@2@ABV32@@Z@4MB DATA
+; double const  `class std::complex<double>  __cdecl std::log(class std::complex<double> const &)'::`6'::_Cl
+?_Cl@?5??log@std@@YA?AV?$complex@N@2@ABV32@@Z@4NB DATA
+; long double const  `class std::complex<long double>  __cdecl std::log(class std::complex<long double> const &)'::`6'::_Cl
+?_Cl@?5??log@std@@YA?AV?$complex@O@2@ABV32@@Z@4OB DATA
+; private: static class std::locale::_Locimp *  std::locale::_Locimp::_Clocptr
+?_Clocptr@_Locimp@locale@std@@0PAV123@A DATA
+; private: static short const * const  std::ctype<char>::_Cltab
+?_Cltab@?$ctype@D@std@@0PBFB DATA
+; float const  `class std::complex<float>  __cdecl std::log(class std::complex<float> const &)'::`6'::_Cm
+?_Cm@?5??log@std@@YA?AV?$complex@M@2@ABV32@@Z@4MB DATA
+; double const  `class std::complex<double>  __cdecl std::log(class std::complex<double> const &)'::`6'::_Cm
+?_Cm@?5??log@std@@YA?AV?$complex@N@2@ABV32@@Z@4NB DATA
+; long double const  `class std::complex<long double>  __cdecl std::log(class std::complex<long double> const &)'::`6'::_Cm
+?_Cm@?5??log@std@@YA?AV?$complex@O@2@ABV32@@Z@4OB DATA
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Copy(unsigned int)
+?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Copy(unsigned int)
+?_Copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXI@Z
+; public: static float __cdecl std::_Ctr<float>::_Cosh(float,float)
+?_Cosh@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Cosh(double,double)
+?_Cosh@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Cosh(long double,long double)
+?_Cosh@?$_Ctr@O@std@@SAOOO@Z
+; public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)
+?_Decref@facet@locale@std@@QAEPAV123@XZ
+; protected: virtual void __thiscall std::bad_alloc::_Doraise(void)const 
+?_Doraise@bad_alloc@std@@MBEXXZ
+; protected: virtual void __thiscall std::bad_cast::_Doraise(void)const 
+?_Doraise@bad_cast@std@@MBEXXZ
+; protected: virtual void __thiscall std::bad_exception::_Doraise(void)const 
+?_Doraise@bad_exception@std@@MBEXXZ
+; protected: virtual void __thiscall std::domain_error::_Doraise(void)const 
+?_Doraise@domain_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::length_error::_Doraise(void)const 
+?_Doraise@length_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::logic_error::_Doraise(void)const 
+?_Doraise@logic_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::out_of_range::_Doraise(void)const 
+?_Doraise@out_of_range@std@@MBEXXZ
+; protected: virtual void __thiscall std::overflow_error::_Doraise(void)const 
+?_Doraise@overflow_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::range_error::_Doraise(void)const 
+?_Doraise@range_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::runtime_error::_Doraise(void)const 
+?_Doraise@runtime_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::underflow_error::_Doraise(void)const 
+?_Doraise@underflow_error@std@@MBEXXZ
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Eos(unsigned int)
+?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Eos(unsigned int)
+?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXI@Z
+; public: static short __cdecl std::_Ctr<float>::_Exp(float *,float,short)
+?_Exp@?$_Ctr@M@std@@SAFPAMMF@Z
+; public: static short __cdecl std::_Ctr<double>::_Exp(double *,double,short)
+?_Exp@?$_Ctr@N@std@@SAFPANNF@Z
+; public: static short __cdecl std::_Ctr<long double>::_Exp(long double *,long double,short)
+?_Exp@?$_Ctr@O@std@@SAFPAOOF@Z
+; float __cdecl std::_Fabs(class std::complex<float> const &,int *)
+?_Fabs@std@@YAMABV?$complex@M@1@PAH@Z
+; double __cdecl std::_Fabs(class std::complex<double> const &,int *)
+?_Fabs@std@@YANABV?$complex@N@1@PAH@Z
+; long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)
+?_Fabs@std@@YAOABV?$complex@O@1@PAH@Z
+; protected: static char * __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ffmt(char *,char,int)
+?_Ffmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPADPADDH@Z
+; protected: static char * __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ffmt(char *,char,int)
+?_Ffmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPADPADDH@Z
+; private: struct std::ios_base::_Iosarray & __thiscall std::ios_base::_Findarr(int)
+?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z
+; private: static struct _iobuf * __cdecl std::basic_filebuf<char,struct std::char_traits<char> >::_Fiopen(char const *,int)
+?_Fiopen@?$basic_filebuf@DU?$char_traits@D@std@@@std@@CAPAU_iobuf@@PBDH@Z
+; private: static struct _iobuf * __cdecl std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Fiopen(char const *,int)
+?_Fiopen@?$basic_filebuf@GU?$char_traits@G@std@@@std@@CAPAU_iobuf@@PBDH@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Fput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,char const *,unsigned int,unsigned int)
+?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDII@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Fput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,char const *,unsigned int,unsigned int)
+?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDII@Z
+; __int64 const  std::_Fpz
+?_Fpz@std@@3_JB DATA
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Freeze(void)
+?_Freeze@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Freeze(void)
+?_Freeze@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ
+; public: static unsigned int __cdecl std::_Mpunct<char>::_Getcat(void)
+?_Getcat@?$_Mpunct@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::_Mpunct<unsigned short>::_Getcat(void)
+?_Getcat@?$_Mpunct@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::codecvt<char,char,int>::_Getcat(void)
+?_Getcat@?$codecvt@DDH@std@@SAIXZ
+; public: static unsigned int __cdecl std::codecvt<unsigned short,char,int>::_Getcat(void)
+?_Getcat@?$codecvt@GDH@std@@SAIXZ
+; public: static unsigned int __cdecl std::collate<char>::_Getcat(void)
+?_Getcat@?$collate@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::collate<unsigned short>::_Getcat(void)
+?_Getcat@?$collate@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::ctype<char>::_Getcat(void)
+?_Getcat@?$ctype@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::ctype<unsigned short>::_Getcat(void)
+?_Getcat@?$ctype@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::messages<char>::_Getcat(void)
+?_Getcat@?$messages@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::messages<unsigned short>::_Getcat(void)
+?_Getcat@?$messages@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::moneypunct<char,1>::_Getcat(void)
+?_Getcat@?$moneypunct@D$00@std@@SAIXZ
+; public: static unsigned int __cdecl std::moneypunct<char,0>::_Getcat(void)
+?_Getcat@?$moneypunct@D$0A@@std@@SAIXZ
+; public: static unsigned int __cdecl std::moneypunct<unsigned short,1>::_Getcat(void)
+?_Getcat@?$moneypunct@G$00@std@@SAIXZ
+; public: static unsigned int __cdecl std::moneypunct<unsigned short,0>::_Getcat(void)
+?_Getcat@?$moneypunct@G$0A@@std@@SAIXZ
+; public: static unsigned int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::numpunct<char>::_Getcat(void)
+?_Getcat@?$numpunct@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::numpunct<unsigned short>::_Getcat(void)
+?_Getcat@?$numpunct@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::locale::facet::_Getcat(void)
+?_Getcat@facet@locale@std@@SAIXZ
+; public: struct _Collvec  __thiscall std::_Locinfo::_Getcoll(void)const 
+?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ
+; public: struct _Ctypevec  __thiscall std::_Locinfo::_Getctype(void)const 
+?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ
+; public: struct _Cvtvec  __thiscall std::_Locinfo::_Getcvt(void)const 
+?_Getcvt@_Locinfo@std@@QBE?AU_Cvtvec@@XZ
+; public: char const * __thiscall std::_Locinfo::_Getdays(void)const 
+?_Getdays@_Locinfo@std@@QBEPBDXZ
+; public: class std::locale::facet const * __thiscall std::locale::_Getfacet(unsigned int,bool)const 
+?_Getfacet@locale@std@@QBEPBVfacet@12@I_N@Z
+; public: char const * __thiscall std::_Locinfo::_Getfalse(void)const 
+?_Getfalse@_Locinfo@std@@QBEPBDXZ
+; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getffld(char *,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::locale const &)
+?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1ABVlocale@2@@Z
+; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getffld(char *,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::locale const &)
+?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1ABVlocale@2@@Z
+; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getifld(char *,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,int,class std::locale const &)
+?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z
+; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getifld(char *,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,int,class std::locale const &)
+?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z
+; private: static int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getint(class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,int,int,int &)
+?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAAH@Z
+; private: static int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getint(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,int,int,int &)
+?_Getint@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0HHAAH@Z
+; public: struct lconv const * __thiscall std::_Locinfo::_Getlconv(void)const 
+?_Getlconv@_Locinfo@std@@QBEPBUlconv@@XZ
+; private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getmfld(class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,bool,class std::ios_base &)const 
+?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@@Z
+; private: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getmfld(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,bool,class std::ios_base &)const 
+?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@@Z
+; public: char const * __thiscall std::_Locinfo::_Getmonths(void)const 
+?_Getmonths@_Locinfo@std@@QBEPBDXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Locinfo::_Getname(void)const 
+?_Getname@_Locinfo@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: char const * __thiscall std::_Locinfo::_Getno(void)const 
+?_Getno@_Locinfo@std@@QBEPBDXZ
+; public: void * __thiscall std::_Timevec::_Getptr(void)const 
+?_Getptr@_Timevec@std@@QBEPAXXZ
+; public: class std::_Timevec  __thiscall std::_Locinfo::_Gettnames(void)const 
+?_Gettnames@_Locinfo@std@@QBE?AV_Timevec@2@XZ
+; public: char const * __thiscall std::_Locinfo::_Gettrue(void)const 
+?_Gettrue@_Locinfo@std@@QBEPBDXZ
+; public: char const * __thiscall std::_Locinfo::_Getyes(void)const 
+?_Getyes@_Locinfo@std@@QBEPBDXZ
+; private: static class std::locale::_Locimp *  std::locale::_Locimp::_Global
+?_Global@_Locimp@locale@std@@0PAV123@A DATA
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gndec(void)
+?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gndec(void)
+?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gninc(void)
+?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gninc(void)
+?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
+; private: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)
+?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z
+; private: bool __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Grow(unsigned int,bool)
+?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAE_NI_N@Z
+; private: static int  std::locale::id::_Id_cnt
+?_Id_cnt@id@locale@std@@0HA DATA
+; protected: static char * __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ifmt(char *,char,int)
+?_Ifmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPADPADDH@Z
+; protected: static char * __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ifmt(char *,char,int)
+?_Ifmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPADPADDH@Z
+; public: void __thiscall std::locale::facet::_Incref(void)
+?_Incref@facet@locale@std@@QAEXXZ
+; private: static int  std::ios_base::_Index
+?_Index@ios_base@std@@0HA DATA
+; public: static float __cdecl std::_Ctr<float>::_Infv(float)
+?_Infv@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Infv(double)
+?_Infv@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Infv(long double)
+?_Infv@?$_Ctr@O@std@@SAOO@Z
+; protected: void __thiscall std::_Mpunct<char>::_Init(class std::_Locinfo const &)
+?_Init@?$_Mpunct@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::_Mpunct<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$_Mpunct@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf *,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl)
+?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z
+; protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf *,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl)
+?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(char * *,char * *,int *,char * *,char * *,int *)
+?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(void)
+?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(unsigned short * *,unsigned short * *,int *,unsigned short * *,unsigned short * *,int *)
+?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(void)
+?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ
+; protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Init(char const *,unsigned int,int)
+?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z
+; protected: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Init(unsigned short const *,unsigned int,int)
+?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z
+; protected: void __thiscall std::codecvt<char,char,int>::_Init(class std::_Locinfo const &)
+?_Init@?$codecvt@DDH@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::codecvt<unsigned short,char,int>::_Init(class std::_Locinfo const &)
+?_Init@?$codecvt@GDH@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::collate<char>::_Init(class std::_Locinfo const &)
+?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::collate<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$collate@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::ctype<char>::_Init(class std::_Locinfo const &)
+?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::ctype<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$ctype@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::messages<char>::_Init(class std::_Locinfo const &)
+?_Init@?$messages@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::messages<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$messages@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::numpunct<char>::_Init(class std::_Locinfo const &)
+?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::numpunct<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::ios_base::_Init(void)
+?_Init@ios_base@std@@IAEXXZ
+; private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)
+?_Init@locale@std@@CAPAV_Locimp@12@XZ
+; protected: void __thiscall std::strstreambuf::_Init(int,char *,char *,int)
+?_Init@strstreambuf@std@@IAEXHPAD0H@Z
+; private: static int  std::ios_base::Init::_Init_cnt
+?_Init_cnt@Init@ios_base@std@@0HA DATA
+; private: static int  std::_Winit::_Init_cnt
+?_Init_cnt@_Winit@std@@0HA DATA
+; protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Initcvt(void)
+?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXXZ
+; protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initcvt(void)
+?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXXZ
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Iput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,char *,unsigned int)
+?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Iput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,char *,unsigned int)
+?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z
+; public: bool __thiscall std::locale::_Iscloc(void)const 
+?_Iscloc@locale@std@@QBE_NXZ
+; public: static bool __cdecl std::_Ctr<float>::_Isinf(float)
+?_Isinf@?$_Ctr@M@std@@SA_NM@Z
+; public: static bool __cdecl std::_Ctr<double>::_Isinf(double)
+?_Isinf@?$_Ctr@N@std@@SA_NN@Z
+; public: static bool __cdecl std::_Ctr<long double>::_Isinf(long double)
+?_Isinf@?$_Ctr@O@std@@SA_NO@Z
+; public: static bool __cdecl std::_Ctr<float>::_Isnan(float)
+?_Isnan@?$_Ctr@M@std@@SA_NM@Z
+; public: static bool __cdecl std::_Ctr<double>::_Isnan(double)
+?_Isnan@?$_Ctr@N@std@@SA_NN@Z
+; public: static bool __cdecl std::_Ctr<long double>::_Isnan(long double)
+?_Isnan@?$_Ctr@O@std@@SA_NO@Z
+; private: void __thiscall std::_Mpunct<char>::_Makpat(struct std::money_base::pattern &,char,char,char)
+?_Makpat@?$_Mpunct@D@std@@AAEXAAUpattern@money_base@2@DDD@Z
+; private: void __thiscall std::_Mpunct<unsigned short>::_Makpat(struct std::money_base::pattern &,char,char,char)
+?_Makpat@?$_Mpunct@G@std@@AAEXAAUpattern@money_base@2@DDD@Z
+; private: int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Mode(int)
+?_Mode@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z
+; private: int __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Mode(int)
+?_Mode@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z
+; public: static float __cdecl std::_Ctr<float>::_Nanv(float)
+?_Nanv@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Nanv(double)
+?_Nanv@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Nanv(long double)
+?_Nanv@?$_Ctr@O@std@@SAOO@Z
+; void __cdecl std::_Nomemory(void)
+?_Nomemory@std@@YAXXZ
+; private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)
+?_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ
+; private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)
+?_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGXZ
+; private: static unsigned int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Pdif(char const *,char const *)
+?_Pdif@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIPBD0@Z
+; private: static unsigned int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Pdif(unsigned short const *,unsigned short const *)
+?_Pdif@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAIPBG0@Z
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)
+?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Pninc(void)
+?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
+; private: static char * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char *,unsigned int)
+?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPADPADI@Z
+; private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char const *,unsigned int)
+?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDPBDI@Z
+; private: static unsigned short * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short *,unsigned int)
+?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPAGPAGI@Z
+; private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short const *,unsigned int)
+?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGPBGI@Z
+; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
+?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
+; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const *,unsigned int)
+?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBGI@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
+?_Put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const *,unsigned int)
+?_Put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBGI@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putc(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
+?_Putc@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putc(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,char const *,unsigned int)
+?_Putc@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBDI@Z
+; private: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putmfld(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,bool,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)const 
+?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; private: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putmfld(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,bool,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >)const 
+?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; float const  `float __cdecl std::_Fabs(class std::complex<float> const &,int *)'::`29'::_R2
+?_R2@?BN@??_Fabs@std@@YAMABV?$complex@M@2@PAH@Z@4MB DATA
+; double const  `double __cdecl std::_Fabs(class std::complex<double> const &,int *)'::`29'::_R2
+?_R2@?BN@??_Fabs@std@@YANABV?$complex@N@2@PAH@Z@4NB DATA
+; long double const  `long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)'::`29'::_R2
+?_R2@?BN@??_Fabs@std@@YAOABV?$complex@O@2@PAH@Z@4OB DATA
+; private: unsigned char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Refcnt(char const *)
+?_Refcnt@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAEPBD@Z
+; private: unsigned char & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Refcnt(unsigned short const *)
+?_Refcnt@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAEPBG@Z
+; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned int)
+?_Rep@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z
+; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned int)
+?_Rep@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned int)
+?_Rep@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned int)
+?_Rep@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z
+; public: static float __cdecl std::_Ctr<float>::_Sinh(float,float)
+?_Sinh@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Sinh(double,double)
+?_Sinh@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Sinh(long double,long double)
+?_Sinh@?$_Ctr@O@std@@SAOOO@Z
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Split(void)
+?_Split@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Split(void)
+?_Split@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ
+; int  `protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf *,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl)'::`2'::_Stinit
+?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
+; int  `protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf *,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl)'::`2'::_Stinit
+?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
+; private: static bool  std::ios_base::_Sync
+?_Sync@ios_base@std@@0_NA DATA
+; protected: static void __cdecl std::ctype<char>::_Term(void)
+?_Term@?$ctype@D@std@@KAXXZ
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(bool)
+?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(bool)
+?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEX_N@Z
+; protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(void)
+?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ
+; protected: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(void)
+?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ
+; private: void __thiscall std::ios_base::_Tidy(void)
+?_Tidy@ios_base@std@@AAEXXZ
+; private: static void __cdecl std::locale::_Tidy(void)
+?_Tidy@locale@std@@CAXXZ
+; protected: void __thiscall std::strstreambuf::_Tidy(void)
+?_Tidy@strstreambuf@std@@IAEXXZ
+; float const  `float __cdecl std::_Fabs(class std::complex<float> const &,int *)'::`29'::_Xh
+?_Xh@?BN@??_Fabs@std@@YAMABV?$complex@M@2@PAH@Z@4MB DATA
+; double const  `double __cdecl std::_Fabs(class std::complex<double> const &,int *)'::`29'::_Xh
+?_Xh@?BN@??_Fabs@std@@YANABV?$complex@N@2@PAH@Z@4NB DATA
+; long double const  `long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)'::`29'::_Xh
+?_Xh@?BN@??_Fabs@std@@YAOABV?$complex@O@2@PAH@Z@4OB DATA
+; float const  `float __cdecl std::_Fabs(class std::complex<float> const &,int *)'::`29'::_Xl
+?_Xl@?BN@??_Fabs@std@@YAMABV?$complex@M@2@PAH@Z@4MB DATA
+; double const  `double __cdecl std::_Fabs(class std::complex<double> const &,int *)'::`29'::_Xl
+?_Xl@?BN@??_Fabs@std@@YANABV?$complex@N@2@PAH@Z@4NB DATA
+; long double const  `long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)'::`29'::_Xl
+?_Xl@?BN@??_Fabs@std@@YAOABV?$complex@O@2@PAH@Z@4OB DATA
+; void __cdecl std::_Xlen(void)
+?_Xlen@std@@YAXXZ
+; void __cdecl std::_Xran(void)
+?_Xran@std@@YAXXZ
+; struct _iobuf * __cdecl std::__Fiopen(char const *,int)
+?__Fiopen@std@@YAPAU_iobuf@@PBDH@Z
+; float __cdecl std::abs(class std::complex<float> const &)
+?abs@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::abs(class std::complex<double> const &)
+?abs@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::abs(class std::complex<long double> const &)
+?abs@std@@YAOABV?$complex@O@1@@Z
+; public: bool __thiscall std::codecvt_base::always_noconv(void)const 
+?always_noconv@codecvt_base@std@@QBE_NXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(unsigned int,char)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,char const *)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,unsigned int)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned int,unsigned short)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *,unsigned short const *)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *,unsigned int)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z
+; float __cdecl std::arg(class std::complex<float> const &)
+?arg@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::arg(class std::complex<double> const &)
+?arg@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::arg(class std::complex<long double> const &)
+?arg@std@@YAOABV?$complex@O@1@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(unsigned int,char)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *,char const *)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *,unsigned int)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned int,unsigned short)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *,unsigned short const *)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *,unsigned int)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z
+; public: static char * __cdecl std::char_traits<char>::assign(char *,unsigned int,char const &)
+?assign@?$char_traits@D@std@@SAPADPADIABD@Z
+; public: static void __cdecl std::char_traits<char>::assign(char &,char const &)
+?assign@?$char_traits@D@std@@SAXAADABD@Z
+; public: static unsigned short * __cdecl std::char_traits<unsigned short>::assign(unsigned short *,unsigned int,unsigned short const &)
+?assign@?$char_traits@G@std@@SAPAGPAGIABG@Z
+; public: static void __cdecl std::char_traits<unsigned short>::assign(unsigned short &,unsigned short const &)
+?assign@?$char_traits@G@std@@SAXAAGABG@Z
+; public: char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned int)
+?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z
+; public: char const & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned int)const 
+?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z
+; public: unsigned short & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned int)
+?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z
+; public: unsigned short const & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned int)const 
+?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z
+; public: static float __cdecl std::_Ctr<float>::atan2(float,float)
+?atan2@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::atan2(double,double)
+?atan2@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::atan2(long double,long double)
+?atan2@?$_Ctr@O@std@@SAOOO@Z
+; public: bool __thiscall std::ios_base::bad(void)const 
+?bad@ios_base@std@@QBE_NXZ
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)
+?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADXZ
+; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)const 
+?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)
+?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGXZ
+; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)const 
+?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
+; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const 
+?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
+; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::c_str(void)const 
+?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::capacity(void)const 
+?capacity@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::capacity(void)const 
+?capacity@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
+; class std::basic_ostream<char,struct std::char_traits<char> >  std::cerr
+?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
+; class std::basic_istream<char,struct std::char_traits<char> >  std::cin
+?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A DATA
+; public: static class std::locale const & __cdecl std::locale::classic(void)
+?classic@locale@std@@SAABV12@XZ
+; protected: static short const * __cdecl std::ctype<char>::classic_table(void)
+?classic_table@?$ctype@D@std@@KAPBFXZ
+; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(short)
+?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXF@Z
+; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool)
+?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
+; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(short)
+?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXF@Z
+; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(int,bool)
+?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z
+; public: void __thiscall std::ios_base::clear(short)
+?clear@ios_base@std@@QAEXF@Z
+; public: void __thiscall std::ios_base::clear(int,bool)
+?clear@ios_base@std@@QAEXH_N@Z
+; class std::basic_ostream<char,struct std::char_traits<char> >  std::clog
+?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::close(void)
+?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::close(void)
+?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ
+; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::close(void)
+?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
+?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::close(void)
+?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
+?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::close(void)
+?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
+?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::messages<char>::close(int)const 
+?close@?$messages@D@std@@QBEXH@Z
+; public: void __thiscall std::messages<unsigned short>::close(int)const 
+?close@?$messages@G@std@@QBEXH@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@II@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,char const *)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBD@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,char const *,unsigned int)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(char const *)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHPBD@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHABV12@@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@II@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,unsigned short const *)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBG@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,unsigned short const *,unsigned int)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBGI@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned short const *)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHPBG@Z
+; public: static int __cdecl std::char_traits<char>::compare(char const *,char const *,unsigned int)
+?compare@?$char_traits@D@std@@SAHPBD0I@Z
+; public: static int __cdecl std::char_traits<unsigned short>::compare(unsigned short const *,unsigned short const *,unsigned int)
+?compare@?$char_traits@G@std@@SAHPBG0I@Z
+; public: int __thiscall std::collate<char>::compare(char const *,char const *,char const *,char const *)const 
+?compare@?$collate@D@std@@QBEHPBD000@Z
+; public: int __thiscall std::collate<unsigned short>::compare(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)const 
+?compare@?$collate@G@std@@QBEHPBG000@Z
+; class std::complex<float>  __cdecl std::conj(class std::complex<float> const &)
+?conj@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::conj(class std::complex<double> const &)
+?conj@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::conj(class std::complex<long double> const &)
+?conj@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::copy(char *,unsigned int,unsigned int)const 
+?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPADII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::copy(unsigned short *,unsigned int,unsigned int)const 
+?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPAGII@Z
+; public: static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned int)
+?copy@?$char_traits@D@std@@SAPADPADPBDI@Z
+; public: static unsigned short * __cdecl std::char_traits<unsigned short>::copy(unsigned short *,unsigned short const *,unsigned int)
+?copy@?$char_traits@G@std@@SAPAGPAGPBGI@Z
+; public: class std::basic_ios<char,struct std::char_traits<char> > & __thiscall std::basic_ios<char,struct std::char_traits<char> >::copyfmt(class std::basic_ios<char,struct std::char_traits<char> > const &)
+?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::copyfmt(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
+?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV12@ABV12@@Z
+; public: class std::ios_base & __thiscall std::ios_base::copyfmt(class std::ios_base const &)
+?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z
+; public: static float __cdecl std::_Ctr<float>::cos(float)
+?cos@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::cos(double)
+?cos@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::cos(long double)
+?cos@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::cos(class std::complex<float> const &)
+?cos@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::cos(class std::complex<double> const &)
+?cos@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::cos(class std::complex<long double> const &)
+?cos@std@@YA?AV?$complex@O@1@ABV21@@Z
+; class std::complex<float>  __cdecl std::cosh(class std::complex<float> const &)
+?cosh@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::cosh(class std::complex<double> const &)
+?cosh@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::cosh(class std::complex<long double> const &)
+?cosh@std@@YA?AV?$complex@O@1@ABV21@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> >  std::cout
+?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::curr_symbol(void)const 
+?curr_symbol@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::curr_symbol(void)const 
+?curr_symbol@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::data(void)const 
+?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
+; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::data(void)const 
+?data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
+; public: int __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::date_order(void)const 
+?date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBEHXZ
+; public: int __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::date_order(void)const 
+?date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBEHXZ
+; public: char __thiscall std::_Mpunct<char>::decimal_point(void)const 
+?decimal_point@?$_Mpunct@D@std@@QBEDXZ
+; public: unsigned short __thiscall std::_Mpunct<unsigned short>::decimal_point(void)const 
+?decimal_point@?$_Mpunct@G@std@@QBEGXZ
+; public: char __thiscall std::numpunct<char>::decimal_point(void)const 
+?decimal_point@?$numpunct@D@std@@QBEDXZ
+; public: unsigned short __thiscall std::numpunct<unsigned short>::decimal_point(void)const 
+?decimal_point@?$numpunct@G@std@@QBEGXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::denorm_min(void)
+?denorm_min@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::denorm_min(void)
+?denorm_min@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::denorm_min(void)
+?denorm_min@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::denorm_min(void)
+?denorm_min@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::denorm_min(void)
+?denorm_min@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::denorm_min(void)
+?denorm_min@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::denorm_min(void)
+?denorm_min@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::denorm_min(void)
+?denorm_min@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::denorm_min(void)
+?denorm_min@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::denorm_min(void)
+?denorm_min@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::denorm_min(void)
+?denorm_min@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::denorm_min(void)
+?denorm_min@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::denorm_min(void)
+?denorm_min@?$numeric_limits@_N@std@@SA_NXZ
+; protected: virtual bool __thiscall std::codecvt<unsigned short,char,int>::do_always_noconv(void)const 
+?do_always_noconv@?$codecvt@GDH@std@@MBE_NXZ
+; protected: virtual bool __thiscall std::codecvt_base::do_always_noconv(void)const 
+?do_always_noconv@codecvt_base@std@@MBE_NXZ
+; protected: virtual void __thiscall std::messages<char>::do_close(int)const 
+?do_close@?$messages@D@std@@MBEXH@Z
+; protected: virtual void __thiscall std::messages<unsigned short>::do_close(int)const 
+?do_close@?$messages@G@std@@MBEXH@Z
+; protected: virtual int __thiscall std::collate<char>::do_compare(char const *,char const *,char const *,char const *)const 
+?do_compare@?$collate@D@std@@MBEHPBD000@Z
+; protected: virtual int __thiscall std::collate<unsigned short>::do_compare(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)const 
+?do_compare@?$collate@G@std@@MBEHPBG000@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_curr_symbol(void)const 
+?do_curr_symbol@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_curr_symbol(void)const 
+?do_curr_symbol@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_date_order(void)const 
+?do_date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBEHXZ
+; protected: virtual int __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_date_order(void)const 
+?do_date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBEHXZ
+; protected: virtual char __thiscall std::_Mpunct<char>::do_decimal_point(void)const 
+?do_decimal_point@?$_Mpunct@D@std@@MBEDXZ
+; protected: virtual unsigned short __thiscall std::_Mpunct<unsigned short>::do_decimal_point(void)const 
+?do_decimal_point@?$_Mpunct@G@std@@MBEGXZ
+; protected: virtual char __thiscall std::numpunct<char>::do_decimal_point(void)const 
+?do_decimal_point@?$numpunct@D@std@@MBEDXZ
+; protected: virtual unsigned short __thiscall std::numpunct<unsigned short>::do_decimal_point(void)const 
+?do_decimal_point@?$numpunct@G@std@@MBEGXZ
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_encoding(void)const 
+?do_encoding@?$codecvt@GDH@std@@MBEHXZ
+; protected: virtual int __thiscall std::codecvt_base::do_encoding(void)const 
+?do_encoding@codecvt_base@std@@MBEHXZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_falsename(void)const 
+?do_falsename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::do_falsename(void)const 
+?do_falsename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __thiscall std::_Mpunct<char>::do_frac_digits(void)const 
+?do_frac_digits@?$_Mpunct@D@std@@MBEHXZ
+; protected: virtual int __thiscall std::_Mpunct<unsigned short>::do_frac_digits(void)const 
+?do_frac_digits@?$_Mpunct@G@std@@MBEHXZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::messages<char>::do_get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?do_get@?$messages@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHABV32@@Z
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::messages<unsigned short>::do_get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?do_get@?$messages@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHABV32@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,long double &)const 
+?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const 
+?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,long double &)const 
+?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)const 
+?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned short &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned int &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned long &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,float &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,double &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long double &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,void * &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,bool &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned short &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned int &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned long &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,float &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,double &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long double &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,void * &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,bool &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_grouping(void)const 
+?do_grouping@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<unsigned short>::do_grouping(void)const 
+?do_grouping@?$_Mpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_grouping(void)const 
+?do_grouping@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<unsigned short>::do_grouping(void)const 
+?do_grouping@?$numpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual long __thiscall std::collate<char>::do_hash(char const *,char const *)const 
+?do_hash@?$collate@D@std@@MBEJPBD0@Z
+; protected: virtual long __thiscall std::collate<unsigned short>::do_hash(unsigned short const *,unsigned short const *)const 
+?do_hash@?$collate@G@std@@MBEJPBG0@Z
+; protected: virtual int __thiscall std::codecvt<char,char,int>::do_in(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
+?do_in@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_in(int &,char const *,char const *,char const * &,unsigned short *,unsigned short *,unsigned short * &)const 
+?do_in@?$codecvt@GDH@std@@MBEHAAHPBD1AAPBDPAG3AAPAG@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_is(unsigned short const *,unsigned short const *,short *)const 
+?do_is@?$ctype@G@std@@MBEPBGPBG0PAF@Z
+; protected: virtual bool __thiscall std::ctype<unsigned short>::do_is(short,unsigned short)const 
+?do_is@?$ctype@G@std@@MBE_NFG@Z
+; protected: virtual int __thiscall std::codecvt<char,char,int>::do_length(int &,char const *,char const *,unsigned int)const 
+?do_length@?$codecvt@DDH@std@@MBEHAAHPBD1I@Z
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_length(int &,unsigned short const *,unsigned short const *,unsigned int)const 
+?do_length@?$codecvt@GDH@std@@MBEHAAHPBG1I@Z
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_max_length(void)const 
+?do_max_length@?$codecvt@GDH@std@@MBEHXZ
+; protected: virtual int __thiscall std::codecvt_base::do_max_length(void)const 
+?do_max_length@codecvt_base@std@@MBEHXZ
+; protected: virtual char __thiscall std::ctype<unsigned short>::do_narrow(unsigned short,char)const 
+?do_narrow@?$ctype@G@std@@MBEDGD@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_narrow(unsigned short const *,unsigned short const *,char,char *)const 
+?do_narrow@?$ctype@G@std@@MBEPBGPBG0DPAD@Z
+; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<char>::do_neg_format(void)const 
+?do_neg_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ
+; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::do_neg_format(void)const 
+?do_neg_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_negative_sign(void)const 
+?do_negative_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_negative_sign(void)const 
+?do_negative_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __thiscall std::messages<char>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
+?do_open@?$messages@D@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
+; protected: virtual int __thiscall std::messages<unsigned short>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
+?do_open@?$messages@G@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
+; protected: virtual int __thiscall std::codecvt<char,char,int>::do_out(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
+?do_out@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_out(int &,unsigned short const *,unsigned short const *,unsigned short const * &,char *,char *,char * &)const 
+?do_out@?$codecvt@GDH@std@@MBEHAAHPBG1AAPBGPAD3AAPAD@Z
+; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<char>::do_pos_format(void)const 
+?do_pos_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ
+; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::do_pos_format(void)const 
+?do_pos_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_positive_sign(void)const 
+?do_positive_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_positive_sign(void)const 
+?do_positive_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,long double)const 
+?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,long double)const 
+?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DJ@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,unsigned long)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,double)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long double)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,void const *)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBX@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,bool)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GJ@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,unsigned long)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GK@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,double)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long double)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,void const *)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBX@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,bool)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char,char)const 
+?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,char,char)const 
+?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_scan_is(short,unsigned short const *,unsigned short const *)const 
+?do_scan_is@?$ctype@G@std@@MBEPBGFPBG0@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_scan_not(short,unsigned short const *,unsigned short const *)const 
+?do_scan_not@?$ctype@G@std@@MBEPBGFPBG0@Z
+; protected: virtual char __thiscall std::_Mpunct<char>::do_thousands_sep(void)const 
+?do_thousands_sep@?$_Mpunct@D@std@@MBEDXZ
+; protected: virtual unsigned short __thiscall std::_Mpunct<unsigned short>::do_thousands_sep(void)const 
+?do_thousands_sep@?$_Mpunct@G@std@@MBEGXZ
+; protected: virtual char __thiscall std::numpunct<char>::do_thousands_sep(void)const 
+?do_thousands_sep@?$numpunct@D@std@@MBEDXZ
+; protected: virtual unsigned short __thiscall std::numpunct<unsigned short>::do_thousands_sep(void)const 
+?do_thousands_sep@?$numpunct@G@std@@MBEGXZ
+; protected: virtual char __thiscall std::ctype<char>::do_tolower(char)const 
+?do_tolower@?$ctype@D@std@@MBEDD@Z
+; protected: virtual char const * __thiscall std::ctype<char>::do_tolower(char *,char const *)const 
+?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z
+; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_tolower(unsigned short)const 
+?do_tolower@?$ctype@G@std@@MBEGG@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_tolower(unsigned short *,unsigned short const *)const 
+?do_tolower@?$ctype@G@std@@MBEPBGPAGPBG@Z
+; protected: virtual char __thiscall std::ctype<char>::do_toupper(char)const 
+?do_toupper@?$ctype@D@std@@MBEDD@Z
+; protected: virtual char const * __thiscall std::ctype<char>::do_toupper(char *,char const *)const 
+?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z
+; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_toupper(unsigned short)const 
+?do_toupper@?$ctype@G@std@@MBEGG@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_toupper(unsigned short *,unsigned short const *)const 
+?do_toupper@?$ctype@G@std@@MBEPBGPAGPBG@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::collate<char>::do_transform(char const *,char const *)const 
+?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::collate<unsigned short>::do_transform(unsigned short const *,unsigned short const *)const 
+?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_truename(void)const 
+?do_truename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::do_truename(void)const 
+?do_truename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_widen(char)const 
+?do_widen@?$ctype@G@std@@MBEGD@Z
+; protected: virtual char const * __thiscall std::ctype<unsigned short>::do_widen(char const *,char const *,unsigned short *)const 
+?do_widen@?$ctype@G@std@@MBEPBDPBD0PAG@Z
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const 
+?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::eback(void)const 
+?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const 
+?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::egptr(void)const 
+?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; public: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::empty(void)const 
+?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::empty(void)const 
+?empty@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE_NXZ
+; public: static class std::locale  __cdecl std::locale::empty(void)
+?empty@locale@std@@SA?AV12@XZ
+; public: int __thiscall std::codecvt_base::encoding(void)const 
+?encoding@codecvt_base@std@@QBEHXZ
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)
+?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADXZ
+; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)const 
+?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)
+?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGXZ
+; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)const 
+?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)
+?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::endl(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
+?endl@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::ends(class std::basic_ostream<char,struct std::char_traits<char> > &)
+?ends@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::ends(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
+?ends@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
+; public: static int __cdecl std::char_traits<char>::eof(void)
+?eof@?$char_traits@D@std@@SAHXZ
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::eof(void)
+?eof@?$char_traits@G@std@@SAGXZ
+; public: bool __thiscall std::ios_base::eof(void)const 
+?eof@ios_base@std@@QBE_NXZ
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const 
+?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::epptr(void)const 
+?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::epsilon(void)
+?epsilon@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::epsilon(void)
+?epsilon@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::epsilon(void)
+?epsilon@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::epsilon(void)
+?epsilon@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::epsilon(void)
+?epsilon@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::epsilon(void)
+?epsilon@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::epsilon(void)
+?epsilon@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::epsilon(void)
+?epsilon@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::epsilon(void)
+?epsilon@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::epsilon(void)
+?epsilon@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::epsilon(void)
+?epsilon@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::epsilon(void)
+?epsilon@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::epsilon(void)
+?epsilon@?$numeric_limits@_N@std@@SA_NXZ
+; public: static bool __cdecl std::char_traits<char>::eq(char const &,char const &)
+?eq@?$char_traits@D@std@@SA_NABD0@Z
+; public: static bool __cdecl std::char_traits<unsigned short>::eq(unsigned short const &,unsigned short const &)
+?eq@?$char_traits@G@std@@SA_NABG0@Z
+; public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)
+?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z
+; public: static bool __cdecl std::char_traits<unsigned short>::eq_int_type(unsigned short const &,unsigned short const &)
+?eq_int_type@?$char_traits@G@std@@SA_NABG0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned int)
+?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char *,char *)
+?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPAD0@Z
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char *)
+?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPAD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned int,unsigned int)
+?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@II@Z
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short *,unsigned short *)
+?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAG0@Z
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short *)
+?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAG@Z
+; public: void __thiscall std::ios_base::exceptions(short)
+?exceptions@ios_base@std@@QAEXF@Z
+; public: void __thiscall std::ios_base::exceptions(int)
+?exceptions@ios_base@std@@QAEXH@Z
+; public: int __thiscall std::ios_base::exceptions(void)const 
+?exceptions@ios_base@std@@QBEHXZ
+; public: static float __cdecl std::_Ctr<float>::exp(float)
+?exp@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::exp(double)
+?exp@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::exp(long double)
+?exp@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::exp(class std::complex<float> const &)
+?exp@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::exp(class std::complex<double> const &)
+?exp@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::exp(class std::complex<long double> const &)
+?exp@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: bool __thiscall std::ios_base::fail(void)const 
+?fail@ios_base@std@@QBE_NXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::falsename(void)const 
+?falsename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::falsename(void)const 
+?falsename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(char)
+?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z
+; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const 
+?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ
+; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(unsigned short)
+?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEGG@Z
+; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(void)const 
+?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGXZ
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char,unsigned int)const 
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const *,unsigned int)const 
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const *,unsigned int,unsigned int)const 
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short,unsigned int)const 
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const *,unsigned int)const 
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const *,unsigned int,unsigned int)const 
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: static char const * __cdecl std::char_traits<char>::find(char const *,unsigned int,char const &)
+?find@?$char_traits@D@std@@SAPBDPBDIABD@Z
+; public: static unsigned short const * __cdecl std::char_traits<unsigned short>::find(unsigned short const *,unsigned int,unsigned short const &)
+?find@?$char_traits@G@std@@SAPBGPBGIABG@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char,unsigned int)const 
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const *,unsigned int)const 
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const *,unsigned int,unsigned int)const 
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short,unsigned int)const 
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const *,unsigned int)const 
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const *,unsigned int,unsigned int)const 
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char,unsigned int)const 
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const *,unsigned int)const 
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const *,unsigned int,unsigned int)const 
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short,unsigned int)const 
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const *,unsigned int)const 
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const *,unsigned int,unsigned int)const 
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char,unsigned int)const 
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const *,unsigned int)const 
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const *,unsigned int,unsigned int)const 
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short,unsigned int)const 
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const *,unsigned int)const 
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const *,unsigned int,unsigned int)const 
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char,unsigned int)const 
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const *,unsigned int)const 
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const *,unsigned int,unsigned int)const 
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short,unsigned int)const 
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const *,unsigned int)const 
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const *,unsigned int,unsigned int)const 
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: int __thiscall std::ios_base::flags(int)
+?flags@ios_base@std@@QAEHH@Z
+; public: int __thiscall std::ios_base::flags(void)const 
+?flags@ios_base@std@@QBEHXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)
+?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::flush(void)
+?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::flush(class std::basic_ostream<char,struct std::char_traits<char> > &)
+?flush@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::flush(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
+?flush@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
+; public: int __thiscall std::_Mpunct<char>::frac_digits(void)const 
+?frac_digits@?$_Mpunct@D@std@@QBEHXZ
+; public: int __thiscall std::_Mpunct<unsigned short>::frac_digits(void)const 
+?frac_digits@?$_Mpunct@G@std@@QBEHXZ
+; public: void __thiscall std::strstreambuf::freeze(bool)
+?freeze@strstreambuf@std@@QAEX_N@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int)
+?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gbump(int)
+?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::gcount(void)const 
+?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBEHXZ
+; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::gcount(void)const 
+?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBEHXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char &)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAD@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > &)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > &,char)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char *,int)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char *,int,char)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(void)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short &)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAG@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > &)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short *,int)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short *,int,unsigned short)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z
+; public: unsigned short __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(void)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::messages<char>::get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?get@?$messages@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHABV32@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::messages<unsigned short>::get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?get@?$messages@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHABV32@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,long double &)const 
+?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const 
+?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,long double &)const 
+?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)const 
+?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned short &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned int &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned long &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,float &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,double &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long double &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,void * &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,bool &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned short &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned int &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned long &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,float &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,double &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long double &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,void * &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,bool &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
+; public: class std::allocator<char>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::get_allocator(void)const 
+?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ
+; public: class std::allocator<unsigned short>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::get_allocator(void)const 
+?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$allocator@G@2@XZ
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,int)
+?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,int,char)
+?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short *,int)
+?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short *,int,unsigned short)
+?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
+?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,char)
+?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
+?getline@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,unsigned short)
+?getline@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z
+; public: class std::locale  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::getloc(void)
+?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@XZ
+; public: class std::locale  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::getloc(void)
+?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@XZ
+; public: class std::locale  __thiscall std::ios_base::getloc(void)const 
+?getloc@ios_base@std@@QBE?AVlocale@2@XZ
+; public: static class std::locale  __cdecl std::locale::global(class std::locale const &)
+?global@locale@std@@SA?AV12@ABV12@@Z
+; public: bool __thiscall std::ios_base::good(void)const 
+?good@ios_base@std@@QBE_NXZ
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const 
+?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gptr(void)const 
+?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::grouping(void)const 
+?grouping@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<unsigned short>::grouping(void)const 
+?grouping@?$_Mpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::grouping(void)const 
+?grouping@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<unsigned short>::grouping(void)const 
+?grouping@?$numpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: long __thiscall std::collate<char>::hash(char const *,char const *)const 
+?hash@?$collate@D@std@@QBEJPBD0@Z
+; public: long __thiscall std::collate<unsigned short>::hash(unsigned short const *,unsigned short const *)const 
+?hash@?$collate@G@std@@QBEJPBG0@Z
+; public: static class std::locale::id  std::codecvt<char,char,int>::id
+?id@?$codecvt@DDH@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::codecvt<unsigned short,char,int>::id
+?id@?$codecvt@GDH@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::collate<char>::id
+?id@?$collate@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::collate<unsigned short>::id
+?id@?$collate@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::ctype<char>::id
+?id@?$ctype@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::ctype<unsigned short>::id
+?id@?$ctype@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::messages<char>::id
+?id@?$messages@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::messages<unsigned short>::id
+?id@?$messages@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<char,1>::id
+?id@?$moneypunct@D$00@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<char,0>::id
+?id@?$moneypunct@D$0A@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<unsigned short,1>::id
+?id@?$moneypunct@G$00@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<unsigned short,0>::id
+?id@?$moneypunct@G$0A@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::numpunct<char>::id
+?id@?$numpunct@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::numpunct<unsigned short>::id
+?id@?$numpunct@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static char __cdecl std::numeric_limits<char>::ignaling_NaN(void)
+?ignaling_NaN@?$numeric_limits@D@std@@SADXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::ignore(int,int)
+?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@HH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ignore(int,unsigned short)
+?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@HG@Z
+; public: float __thiscall std::_Complex_base<float>::imag(float const &)
+?imag@?$_Complex_base@M@std@@QAEMABM@Z
+; public: float __thiscall std::_Complex_base<float>::imag(void)const 
+?imag@?$_Complex_base@M@std@@QBEMXZ
+; public: double __thiscall std::_Complex_base<double>::imag(double const &)
+?imag@?$_Complex_base@N@std@@QAENABN@Z
+; public: double __thiscall std::_Complex_base<double>::imag(void)const 
+?imag@?$_Complex_base@N@std@@QBENXZ
+; public: long double __thiscall std::_Complex_base<long double>::imag(long double const &)
+?imag@?$_Complex_base@O@std@@QAEOABO@Z
+; public: long double __thiscall std::_Complex_base<long double>::imag(void)const 
+?imag@?$_Complex_base@O@std@@QBEOXZ
+; float __cdecl std::imag(class std::complex<float> const &)
+?imag@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::imag(class std::complex<double> const &)
+?imag@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::imag(class std::complex<long double> const &)
+?imag@std@@YAOABV?$complex@O@1@@Z
+; public: class std::locale  __thiscall std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const &)
+?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z
+; public: class std::locale  __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const &)
+?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z
+; protected: virtual void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::imbue(class std::locale const &)
+?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z
+; protected: virtual void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const &)
+?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z
+; public: class std::locale  __thiscall std::ios_base::imbue(class std::locale const &)
+?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z
+; public: int __thiscall std::codecvt<char,char,int>::in(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
+?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
+; public: int __thiscall std::codecvt<unsigned short,char,int>::in(int &,char const *,char const *,char const * &,unsigned short *,unsigned short *,unsigned short * &)const 
+?in@?$codecvt@GDH@std@@QBEHAAHPBD1AAPBDPAG3AAPAG@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::in_avail(void)
+?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::in_avail(void)
+?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::infinity(void)
+?infinity@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::infinity(void)
+?infinity@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::infinity(void)
+?infinity@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::infinity(void)
+?infinity@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::infinity(void)
+?infinity@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::infinity(void)
+?infinity@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::infinity(void)
+?infinity@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::infinity(void)
+?infinity@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::infinity(void)
+?infinity@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::infinity(void)
+?infinity@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::infinity(void)
+?infinity@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::infinity(void)
+?infinity@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::infinity(void)
+?infinity@?$numeric_limits@_N@std@@SA_NXZ
+; protected: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::init(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)
+?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z
+; protected: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::init(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool)
+?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IAEXPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@II@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,unsigned int,char)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,char const *)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,char const *,unsigned int)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBDI@Z
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,char)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPADD@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,unsigned int,char)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXPADID@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,char const *,char const *)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXPADPBD1@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned int,unsigned short)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned short const *)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned short const *,unsigned int)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBGI@Z
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned short)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAGG@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned int,unsigned short)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXPAGIG@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned short const *,unsigned short const *)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXPAGPBG1@Z
+; public: bool __thiscall std::basic_istream<char,struct std::char_traits<char> >::ipfx(bool)
+?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z
+; public: bool __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ipfx(bool)
+?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z
+; public: char const * __thiscall std::ctype<char>::is(char const *,char const *,short *)const 
+?is@?$ctype@D@std@@QBEPBDPBD0PAF@Z
+; public: bool __thiscall std::ctype<char>::is(short,char)const 
+?is@?$ctype@D@std@@QBE_NFD@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::is(unsigned short const *,unsigned short const *,short *)const 
+?is@?$ctype@G@std@@QBEPBGPBG0PAF@Z
+; public: bool __thiscall std::ctype<unsigned short>::is(short,unsigned short)const 
+?is@?$ctype@G@std@@QBE_NFG@Z
+; public: bool __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::is_open(void)const 
+?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
+?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_fstream<char,struct std::char_traits<char> >::is_open(void)const 
+?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
+?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::is_open(void)const 
+?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
+?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::is_open(void)const 
+?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
+?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
+; public: void __thiscall std::basic_istream<char,struct std::char_traits<char> >::isfx(void)
+?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::isfx(void)
+?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: long & __thiscall std::ios_base::iword(int)
+?iword@ios_base@std@@QAEAAJH@Z
+; public: static float __cdecl std::_Ctr<float>::ldexp(float,int)
+?ldexp@?$_Ctr@M@std@@SAMMH@Z
+; public: static double __cdecl std::_Ctr<double>::ldexp(double,int)
+?ldexp@?$_Ctr@N@std@@SANNH@Z
+; public: static long double __cdecl std::_Ctr<long double>::ldexp(long double,int)
+?ldexp@?$_Ctr@O@std@@SAOOH@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::length(void)const 
+?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::length(void)const 
+?length@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
+; public: static unsigned int __cdecl std::char_traits<char>::length(char const *)
+?length@?$char_traits@D@std@@SAIPBD@Z
+; public: static unsigned int __cdecl std::char_traits<unsigned short>::length(unsigned short const *)
+?length@?$char_traits@G@std@@SAIPBG@Z
+; public: int __thiscall std::codecvt<char,char,int>::length(int &,char const *,char const *,unsigned int)const 
+?length@?$codecvt@DDH@std@@QBEHAAHPBD1I@Z
+; public: int __thiscall std::codecvt<unsigned short,char,int>::length(int &,unsigned short const *,unsigned short const *,unsigned int)const 
+?length@?$codecvt@GDH@std@@QBEHAAHPBG1I@Z
+; class std::complex<float>  __cdecl std::log10(class std::complex<float> const &)
+?log10@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::log10(class std::complex<double> const &)
+?log10@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::log10(class std::complex<long double> const &)
+?log10@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: static float __cdecl std::_Ctr<float>::log(float)
+?log@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::log(double)
+?log@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::log(long double)
+?log@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::log(class std::complex<float> const &)
+?log@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::log(class std::complex<double> const &)
+?log@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::log(class std::complex<long double> const &)
+?log@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: static bool __cdecl std::char_traits<char>::lt(char const &,char const &)
+?lt@?$char_traits@D@std@@SA_NABD0@Z
+; public: static bool __cdecl std::char_traits<unsigned short>::lt(unsigned short const &,unsigned short const &)
+?lt@?$char_traits@G@std@@SA_NABG0@Z
+; public: static signed char __cdecl std::numeric_limits<signed char>::max(void)
+?max@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::max(void)
+?max@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::max(void)
+?max@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::max(void)
+?max@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::max(void)
+?max@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::max(void)
+?max@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::max(void)
+?max@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::max(void)
+?max@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::max(void)
+?max@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::max(void)
+?max@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::max(void)
+?max@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::max(void)
+?max@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::max(void)
+?max@?$numeric_limits@_N@std@@SA_NXZ
+; public: int __thiscall std::codecvt_base::max_length(void)const 
+?max_length@codecvt_base@std@@QBEHXZ
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::max_size(void)const 
+?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::max_size(void)const 
+?max_size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::min(void)
+?min@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::min(void)
+?min@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::min(void)
+?min@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::min(void)
+?min@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::min(void)
+?min@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::min(void)
+?min@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::min(void)
+?min@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::min(void)
+?min@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::min(void)
+?min@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::min(void)
+?min@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::min(void)
+?min@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::min(void)
+?min@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::min(void)
+?min@?$numeric_limits@_N@std@@SA_NXZ
+; public: static char * __cdecl std::char_traits<char>::move(char *,char const *,unsigned int)
+?move@?$char_traits@D@std@@SAPADPADPBDI@Z
+; public: static unsigned short * __cdecl std::char_traits<unsigned short>::move(unsigned short *,unsigned short const *,unsigned int)
+?move@?$char_traits@G@std@@SAPAGPAGPBGI@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::locale::name(void)const 
+?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::narrow(char,char)const 
+?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z
+; public: char __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::narrow(unsigned short,char)const 
+?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEDGD@Z
+; public: char __thiscall std::ctype<char>::narrow(char,char)const 
+?narrow@?$ctype@D@std@@QBEDDD@Z
+; public: char const * __thiscall std::ctype<char>::narrow(char const *,char const *,char,char *)const 
+?narrow@?$ctype@D@std@@QBEPBDPBD0DPAD@Z
+; public: char __thiscall std::ctype<unsigned short>::narrow(unsigned short,char)const 
+?narrow@?$ctype@G@std@@QBEDGD@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::narrow(unsigned short const *,unsigned short const *,char,char *)const 
+?narrow@?$ctype@G@std@@QBEPBGPBG0DPAD@Z
+; public: struct std::money_base::pattern  __thiscall std::_Mpunct<char>::neg_format(void)const 
+?neg_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ
+; public: struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::neg_format(void)const 
+?neg_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::negative_sign(void)const 
+?negative_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::negative_sign(void)const 
+?negative_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; float __cdecl std::norm(class std::complex<float> const &)
+?norm@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::norm(class std::complex<double> const &)
+?norm@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::norm(class std::complex<long double> const &)
+?norm@std@@YAOABV?$complex@O@1@@Z
+; public: static int __cdecl std::char_traits<char>::not_eof(int const &)
+?not_eof@?$char_traits@D@std@@SAHABH@Z
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::not_eof(unsigned short const &)
+?not_eof@?$char_traits@G@std@@SAGABG@Z
+; struct std::nothrow_t const  std::nothrow
+?nothrow@std@@3Unothrow_t@1@B DATA
+; public: static unsigned int const  std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::npos
+?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB DATA
+; public: static unsigned int const  std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::npos
+?npos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@2IB DATA
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,short)
+?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDF@Z
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,int)
+?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDH@Z
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
+?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDF@Z
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
+?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDH@Z
+; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::open(char const *,short)
+?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::open(char const *,int)
+?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
+?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
+?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::open(char const *,short)
+?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::open(char const *,int)
+?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
+?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
+?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::open(char const *,short)
+?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::open(char const *,int)
+?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
+?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
+?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
+; public: int __thiscall std::messages<char>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
+?open@?$messages@D@std@@QBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
+; public: int __thiscall std::messages<unsigned short>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
+?open@?$messages@G@std@@QBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
+; public: bool __thiscall std::basic_ostream<char,struct std::char_traits<char> >::opfx(void)
+?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ
+; public: bool __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::opfx(void)
+?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE_NXZ
+; public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::osfx(void)
+?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::osfx(void)
+?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: int __thiscall std::codecvt<char,char,int>::out(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
+?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
+; public: int __thiscall std::codecvt<unsigned short,char,int>::out(int &,unsigned short const *,unsigned short const *,unsigned short const * &,char *,char *,char * &)const 
+?out@?$codecvt@GDH@std@@QBEHAAHPBG1AAPBGPAD3AAPAD@Z
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::overflow(int)
+?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short)
+?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::overflow(int)
+?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short)
+?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::overflow(int)
+?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::overflow(unsigned short)
+?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::strstreambuf::overflow(int)
+?overflow@strstreambuf@std@@MAEHH@Z
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::pbackfail(int)
+?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short)
+?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbackfail(int)
+?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short)
+?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::pbackfail(int)
+?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::pbackfail(unsigned short)
+?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::strstreambuf::pbackfail(int)
+?pbackfail@strstreambuf@std@@MAEHH@Z
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const 
+?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbase(void)const 
+?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbump(int)
+?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbump(int)
+?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::peek(void)
+?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::peek(void)
+?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ
+; class std::complex<float>  __cdecl std::polar(float const &,float const &)
+?polar@std@@YA?AV?$complex@M@1@ABM0@Z
+; class std::complex<float>  __cdecl std::polar(float const &)
+?polar@std@@YA?AV?$complex@M@1@ABM@Z
+; class std::complex<double>  __cdecl std::polar(double const &,double const &)
+?polar@std@@YA?AV?$complex@N@1@ABN0@Z
+; class std::complex<double>  __cdecl std::polar(double const &)
+?polar@std@@YA?AV?$complex@N@1@ABN@Z
+; class std::complex<long double>  __cdecl std::polar(long double const &,long double const &)
+?polar@std@@YA?AV?$complex@O@1@ABO0@Z
+; class std::complex<long double>  __cdecl std::polar(long double const &)
+?polar@std@@YA?AV?$complex@O@1@ABO@Z
+; public: struct std::money_base::pattern  __thiscall std::_Mpunct<char>::pos_format(void)const 
+?pos_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ
+; public: struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::pos_format(void)const 
+?pos_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::positive_sign(void)const 
+?positive_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::positive_sign(void)const 
+?positive_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: static float __cdecl std::_Ctr<float>::pow(float,float)
+?pow@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::pow(double,double)
+?pow@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::pow(long double,long double)
+?pow@?$_Ctr@O@std@@SAOOO@Z
+; class std::complex<float>  __cdecl std::pow(float const &,class std::complex<float> const &)
+?pow@std@@YA?AV?$complex@M@1@ABMABV21@@Z
+; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,class std::complex<float> const &)
+?pow@std@@YA?AV?$complex@M@1@ABV21@0@Z
+; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,float const &)
+?pow@std@@YA?AV?$complex@M@1@ABV21@ABM@Z
+; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,int)
+?pow@std@@YA?AV?$complex@M@1@ABV21@H@Z
+; class std::complex<double>  __cdecl std::pow(double const &,class std::complex<double> const &)
+?pow@std@@YA?AV?$complex@N@1@ABNABV21@@Z
+; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,class std::complex<double> const &)
+?pow@std@@YA?AV?$complex@N@1@ABV21@0@Z
+; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,double const &)
+?pow@std@@YA?AV?$complex@N@1@ABV21@ABN@Z
+; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,int)
+?pow@std@@YA?AV?$complex@N@1@ABV21@H@Z
+; class std::complex<long double>  __cdecl std::pow(long double const &,class std::complex<long double> const &)
+?pow@std@@YA?AV?$complex@O@1@ABOABV21@@Z
+; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,class std::complex<long double> const &)
+?pow@std@@YA?AV?$complex@O@1@ABV21@0@Z
+; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,long double const &)
+?pow@std@@YA?AV?$complex@O@1@ABV21@ABO@Z
+; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,int)
+?pow@std@@YA?AV?$complex@O@1@ABV21@H@Z
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const 
+?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pptr(void)const 
+?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; public: int __thiscall std::ios_base::precision(int)
+?precision@ios_base@std@@QAEHH@Z
+; public: int __thiscall std::ios_base::precision(void)const 
+?precision@ios_base@std@@QBEHXZ
+; public: class std::locale  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubimbue(class std::locale const &)
+?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z
+; public: class std::locale  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubimbue(class std::locale const &)
+?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(long,short,short)
+?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(long,enum std::ios_base::seekdir,int)
+?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(long,short,short)
+?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(long,enum std::ios_base::seekdir,int)
+?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,short)
+?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@F@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,int)
+?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,short)
+?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@F@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,int)
+?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubsetbuf(char *,int)
+?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsetbuf(unsigned short *,int)
+?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubsync(void)
+?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsync(void)
+?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::put(char)
+?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::put(unsigned short)
+?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,long double)const 
+?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,long double)const 
+?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DJ@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,unsigned long)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,double)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long double)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,void const *)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBX@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,bool)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GJ@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,unsigned long)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GK@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,double)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long double)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,void const *)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBX@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,bool)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char,char)const 
+?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char const *,char const *)const 
+?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@PBD3@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,char,char)const 
+?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,unsigned short const *,unsigned short const *)const 
+?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@PBG3@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::putback(char)
+?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::putback(unsigned short)
+?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z
+; public: void * & __thiscall std::ios_base::pword(int)
+?pword@ios_base@std@@QAEAAPAXH@Z
+; public: static signed char __cdecl std::numeric_limits<signed char>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@_N@std@@SA_NXZ
+; public: class std::reverse_iterator<char *,char,char &,char *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)
+?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@PADDAADPADH@2@XZ
+; public: class std::reverse_iterator<char const *,char,char const &,char const *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)const 
+?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@PBDDABDPBDH@2@XZ
+; public: class std::reverse_iterator<unsigned short *,unsigned short,unsigned short &,unsigned short *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)
+?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@PAGGAAGPAGH@2@XZ
+; public: class std::reverse_iterator<unsigned short const *,unsigned short,unsigned short const &,unsigned short const *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)const 
+?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@PBGGABGPBGH@2@XZ
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_fstream<char,struct std::char_traits<char> >::rdbuf(void)const 
+?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::rdbuf(void)const 
+?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(class std::basic_streambuf<char,struct std::char_traits<char> > *)
+?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const 
+?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAV32@@Z
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
+?rdbuf@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::rdbuf(void)const 
+?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
+?rdbuf@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
+?rdbuf@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: int __thiscall std::ios_base::rdstate(void)const 
+?rdstate@ios_base@std@@QBEHXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::read(char *,int)
+?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::read(unsigned short *,int)
+?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::readsome(char *,int)
+?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADH@Z
+; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::readsome(unsigned short *,int)
+?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z
+; public: float __thiscall std::_Complex_base<float>::real(float const &)
+?real@?$_Complex_base@M@std@@QAEMABM@Z
+; public: float __thiscall std::_Complex_base<float>::real(void)const 
+?real@?$_Complex_base@M@std@@QBEMXZ
+; public: double __thiscall std::_Complex_base<double>::real(double const &)
+?real@?$_Complex_base@N@std@@QAENABN@Z
+; public: double __thiscall std::_Complex_base<double>::real(void)const 
+?real@?$_Complex_base@N@std@@QBENXZ
+; public: long double __thiscall std::_Complex_base<long double>::real(long double const &)
+?real@?$_Complex_base@O@std@@QAEOABO@Z
+; public: long double __thiscall std::_Complex_base<long double>::real(void)const 
+?real@?$_Complex_base@O@std@@QBEOXZ
+; float __cdecl std::real(class std::complex<float> const &)
+?real@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::real(class std::complex<double> const &)
+?real@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::real(class std::complex<long double> const &)
+?real@std@@YAOABV?$complex@O@1@@Z
+; public: void __thiscall std::ios_base::register_callback(void (__cdecl*)(enum std::ios_base::event,class std::ios_base &,int),int)
+?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z
+; public: class std::reverse_iterator<char *,char,char &,char *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)
+?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@PADDAADPADH@2@XZ
+; public: class std::reverse_iterator<char const *,char,char const &,char const *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)const 
+?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@PBDDABDPBDH@2@XZ
+; public: class std::reverse_iterator<unsigned short *,unsigned short,unsigned short &,unsigned short *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)
+?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@PAGGAAGPAGH@2@XZ
+; public: class std::reverse_iterator<unsigned short const *,unsigned short,unsigned short const &,unsigned short const *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)const 
+?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@PBGGABGPBGH@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,unsigned int,char)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,char const *)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,char const *,unsigned int)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0ABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,unsigned int,char)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0ID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *,char const *)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBD1@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *,unsigned int)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBDI@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned int,unsigned short)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIIG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned short const *)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned short const *,unsigned int)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBGI@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0ABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned int,unsigned short)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0IG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *,unsigned short const *)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBG1@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *,unsigned int)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBGI@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::reserve(unsigned int)
+?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::reserve(unsigned int)
+?reserve@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z
+; struct std::_Smanip<int>  __cdecl std::resetiosflags(int)
+?resetiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned int)
+?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned int,char)
+?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned int)
+?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned int,unsigned short)
+?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXIG@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char,unsigned int)const 
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const *,unsigned int)const 
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const *,unsigned int,unsigned int)const 
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short,unsigned int)const 
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const *,unsigned int)const 
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const *,unsigned int,unsigned int)const 
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: static signed char __cdecl std::numeric_limits<signed char>::round_error(void)
+?round_error@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::round_error(void)
+?round_error@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::round_error(void)
+?round_error@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::round_error(void)
+?round_error@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::round_error(void)
+?round_error@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::round_error(void)
+?round_error@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::round_error(void)
+?round_error@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::round_error(void)
+?round_error@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::round_error(void)
+?round_error@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::round_error(void)
+?round_error@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::round_error(void)
+?round_error@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::round_error(void)
+?round_error@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::round_error(void)
+?round_error@?$numeric_limits@_N@std@@SA_NXZ
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sbumpc(void)
+?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sbumpc(void)
+?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: char const * __thiscall std::ctype<char>::scan_is(short,char const *,char const *)const 
+?scan_is@?$ctype@D@std@@QBEPBDFPBD0@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::scan_is(short,unsigned short const *,unsigned short const *)const 
+?scan_is@?$ctype@G@std@@QBEPBGFPBG0@Z
+; public: char const * __thiscall std::ctype<char>::scan_not(short,char const *,char const *)const 
+?scan_not@?$ctype@D@std@@QBEPBDFPBD0@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::scan_not(short,unsigned short const *,unsigned short const *)const 
+?scan_not@?$ctype@G@std@@QBEPBGFPBG0@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::seekg(long,enum std::ios_base::seekdir)
+?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::seekg(class std::fpos<int>)
+?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(long,enum std::ios_base::seekdir)
+?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(class std::fpos<int>)
+?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::strstreambuf::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::seekp(long,enum std::ios_base::seekdir)
+?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::seekp(class std::fpos<int>)
+?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(long,enum std::ios_base::seekdir)
+?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(class std::fpos<int>)
+?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::strstreambuf::seekpos(class std::fpos<int>,int)
+?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; struct std::_Smanip<int>  __cdecl std::setbase(int)
+?setbase@std@@YA?AU?$_Smanip@H@1@H@Z
+; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::setbuf(char *,int)
+?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z
+; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short *,int)
+?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAGH@Z
+; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setbuf(char *,int)
+?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z
+; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short *,int)
+?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z
+; public: int __thiscall std::ios_base::setf(int)
+?setf@ios_base@std@@QAEHH@Z
+; public: int __thiscall std::ios_base::setf(int,int)
+?setf@ios_base@std@@QAEHHH@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setg(char *,char *,char *)
+?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setg(unsigned short *,unsigned short *,unsigned short *)
+?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z
+; struct std::_Smanip<int>  __cdecl std::setiosflags(int)
+?setiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *,char *)
+?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *)
+?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short *,unsigned short *,unsigned short *)
+?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short *,unsigned short *)
+?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z
+; struct std::_Smanip<int>  __cdecl std::setprecision(int)
+?setprecision@std@@YA?AU?$_Smanip@H@1@H@Z
+; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(short)
+?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXF@Z
+; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)
+?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
+; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(short)
+?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXF@Z
+; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(int,bool)
+?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z
+; public: void __thiscall std::ios_base::setstate(short)
+?setstate@ios_base@std@@QAEXF@Z
+; public: void __thiscall std::ios_base::setstate(int,bool)
+?setstate@ios_base@std@@QAEXH_N@Z
+; struct std::_Smanip<int>  __cdecl std::setw(int)
+?setw@std@@YA?AU?$_Smanip@H@1@H@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetc(void)
+?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetc(void)
+?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetn(char *,int)
+?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z
+; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetn(unsigned short *,int)
+?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::showmanyc(void)
+?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::showmanyc(void)
+?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@C@std@@SACXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@_N@std@@SA_NXZ
+; public: static float __cdecl std::_Ctr<float>::sin(float)
+?sin@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::sin(double)
+?sin@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::sin(long double)
+?sin@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::sin(class std::complex<float> const &)
+?sin@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::sin(class std::complex<double> const &)
+?sin@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::sin(class std::complex<long double> const &)
+?sin@std@@YA?AV?$complex@O@1@ABV21@@Z
+; class std::complex<float>  __cdecl std::sinh(class std::complex<float> const &)
+?sinh@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::sinh(class std::complex<double> const &)
+?sinh@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::sinh(class std::complex<long double> const &)
+?sinh@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const 
+?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::size(void)const 
+?size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::snextc(void)
+?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::snextc(void)
+?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputbackc(char)
+?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputbackc(unsigned short)
+?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)
+?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputc(unsigned short)
+?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)
+?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z
+; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputn(unsigned short const *,int)
+?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z
+; public: static float __cdecl std::_Ctr<float>::sqrt(float)
+?sqrt@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::sqrt(double)
+?sqrt@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::sqrt(long double)
+?sqrt@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::sqrt(class std::complex<float> const &)
+?sqrt@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::sqrt(class std::complex<double> const &)
+?sqrt@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::sqrt(class std::complex<long double> const &)
+?sqrt@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::stossc(void)
+?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::stossc(void)
+?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
+?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
+?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
+?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
+?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
+?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
+?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
+?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
+?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::substr(unsigned int,unsigned int)const 
+?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::substr(unsigned int,unsigned int)const 
+?substr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV12@II@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sungetc(void)
+?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sungetc(void)
+?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::swap(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
+?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::swap(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
+?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXAAV12@@Z
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::sync(void)
+?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual int __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
+?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEHXZ
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::sync(void)
+?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
+?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHXZ
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sync(void)
+?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
+?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ
+; public: static bool __cdecl std::ios_base::sync_with_stdio(bool)
+?sync_with_stdio@ios_base@std@@SA_N_N@Z
+; protected: short const * __thiscall std::ctype<char>::table(void)const 
+?table@?$ctype@D@std@@IBEPBFXZ
+; public: static unsigned int const  std::ctype<char>::table_size
+?table_size@?$ctype@D@std@@2IB DATA
+; public: class std::fpos<int>  __thiscall std::basic_istream<char,struct std::char_traits<char> >::tellg(void)
+?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ
+; public: class std::fpos<int>  __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::tellg(void)
+?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ
+; public: class std::fpos<int>  __thiscall std::basic_ostream<char,struct std::char_traits<char> >::tellp(void)
+?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ
+; public: class std::fpos<int>  __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::tellp(void)
+?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ
+; public: char __thiscall std::_Mpunct<char>::thousands_sep(void)const 
+?thousands_sep@?$_Mpunct@D@std@@QBEDXZ
+; public: unsigned short __thiscall std::_Mpunct<unsigned short>::thousands_sep(void)const 
+?thousands_sep@?$_Mpunct@G@std@@QBEGXZ
+; public: char __thiscall std::numpunct<char>::thousands_sep(void)const 
+?thousands_sep@?$numpunct@D@std@@QBEDXZ
+; public: unsigned short __thiscall std::numpunct<unsigned short>::thousands_sep(void)const 
+?thousands_sep@?$numpunct@G@std@@QBEGXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(class std::basic_ostream<char,struct std::char_traits<char> > *)
+?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const 
+?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > *)
+?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@PAV32@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(void)const 
+?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ
+; public: static char __cdecl std::char_traits<char>::to_char_type(int const &)
+?to_char_type@?$char_traits@D@std@@SADABH@Z
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_char_type(unsigned short const &)
+?to_char_type@?$char_traits@G@std@@SAGABG@Z
+; public: static int __cdecl std::char_traits<char>::to_int_type(char const &)
+?to_int_type@?$char_traits@D@std@@SAHABD@Z
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_int_type(unsigned short const &)
+?to_int_type@?$char_traits@G@std@@SAGABG@Z
+; public: char __thiscall std::ctype<char>::tolower(char)const 
+?tolower@?$ctype@D@std@@QBEDD@Z
+; public: char const * __thiscall std::ctype<char>::tolower(char *,char const *)const 
+?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z
+; public: unsigned short __thiscall std::ctype<unsigned short>::tolower(unsigned short)const 
+?tolower@?$ctype@G@std@@QBEGG@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::tolower(unsigned short *,unsigned short const *)const 
+?tolower@?$ctype@G@std@@QBEPBGPAGPBG@Z
+; public: char __thiscall std::ctype<char>::toupper(char)const 
+?toupper@?$ctype@D@std@@QBEDD@Z
+; public: char const * __thiscall std::ctype<char>::toupper(char *,char const *)const 
+?toupper@?$ctype@D@std@@QBEPBDPADPBD@Z
+; public: unsigned short __thiscall std::ctype<unsigned short>::toupper(unsigned short)const 
+?toupper@?$ctype@G@std@@QBEGG@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::toupper(unsigned short *,unsigned short const *)const 
+?toupper@?$ctype@G@std@@QBEPBGPAGPBG@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::collate<char>::transform(char const *,char const *)const 
+?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::collate<unsigned short>::transform(unsigned short const *,unsigned short const *)const 
+?transform@?$collate@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::truename(void)const 
+?truename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::truename(void)const 
+?truename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::uflow(void)
+?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void)
+?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::uflow(void)
+?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void)
+?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ
+; bool __cdecl std::uncaught_exception(void)
+?uncaught_exception@std@@YA_NXZ
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::underflow(void)
+?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void)
+?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::underflow(void)
+?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void)
+?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ
+; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::underflow(void)
+?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::underflow(void)
+?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ
+; protected: virtual int __thiscall std::strstreambuf::underflow(void)
+?underflow@strstreambuf@std@@MAEHXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::unget(void)
+?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::unget(void)
+?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ
+; public: void __thiscall std::ios_base::unsetf(int)
+?unsetf@ios_base@std@@QAEXH@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcerr
+?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >  std::wcin
+?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A DATA
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wclog
+?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcout
+?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
+; public: virtual char const * __thiscall std::logic_error::what(void)const 
+?what@logic_error@std@@UBEPBDXZ
+; public: virtual char const * __thiscall std::runtime_error::what(void)const 
+?what@runtime_error@std@@UBEPBDXZ
+; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::widen(char)const 
+?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z
+; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::widen(char)const 
+?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z
+; public: char __thiscall std::ctype<char>::widen(char)const 
+?widen@?$ctype@D@std@@QBEDD@Z
+; public: char const * __thiscall std::ctype<char>::widen(char const *,char const *,char *)const 
+?widen@?$ctype@D@std@@QBEPBDPBD0PAD@Z
+; public: unsigned short __thiscall std::ctype<unsigned short>::widen(char)const 
+?widen@?$ctype@G@std@@QBEGD@Z
+; public: char const * __thiscall std::ctype<unsigned short>::widen(char const *,char const *,unsigned short *)const 
+?widen@?$ctype@G@std@@QBEPBDPBD0PAG@Z
+; public: int __thiscall std::ios_base::width(int)
+?width@ios_base@std@@QAEHH@Z
+; public: int __thiscall std::ios_base::width(void)const 
+?width@ios_base@std@@QBEHXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::write(char const *,int)
+?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::write(unsigned short const *,int)
+?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@PBGH@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::ws(class std::basic_istream<char,struct std::char_traits<char> > &)
+?ws@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::ws(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &)
+?ws@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@@Z
+; public: static int __cdecl std::ios_base::xalloc(void)
+?xalloc@ios_base@std@@SAHXZ
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsgetn(char *,int)
+?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z
+; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsgetn(unsigned short *,int)
+?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsputn(char const *,int)
+?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z
+; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsputn(unsigned short const *,int)
+?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z
+_Cosh
+_Denorm DATA
+_Dnorm
+_Dscale
+_Dtest
+_Eps DATA
+_Exp
+_FCosh
+_FDenorm DATA
+_FDnorm
+_FDscale
+_FDtest
+_FEps DATA
+_FExp
+_FInf DATA
+_FNan DATA
+_FRteps DATA
+_FSinh
+_FSnan DATA
+_FXbig DATA
+_Getcoll
+_Getctype
+_Getcvt
+_Hugeval DATA
+_Inf DATA
+_LCosh
+_LDenorm DATA
+_LDscale
+_LDtest
+_LEps DATA
+_LExp
+_LInf DATA
+_LNan DATA
+_LPoly
+_LRteps DATA
+_LSinh
+_LSnan DATA
+_LXbig DATA
+_Mbrtowc
+_Nan DATA
+_Poly
+_Rteps DATA
+_Sinh
+_Snan DATA
+_Stod
+_Stof
+_Stold
+_Strcoll
+_Strxfrm
+_Tolower
+_Toupper
+_Wcrtomb
+_Xbig DATA
+__Wcrtomb_lk
+btowc
+mbrlen
+mbrtowc
+mbsrtowcs
+towctrans
+wcrtomb
+wcsrtombs
+wctob
+wctrans
+wctype
diff --git a/mingw-w64-crt/lib64/wmsvcp60.def b/mingw-w64-crt/lib64/wmsvcp60.def
index f68418f..442a864 100644
--- a/mingw-w64-crt/lib64/wmsvcp60.def
+++ b/mingw-w64-crt/lib64/wmsvcp60.def
@@ -1,4522 +1,4522 @@
-; 
-; Exports of file msvcp60.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msvcp60.dll
-EXPORTS
-; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z
-; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z)
-??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z
-; D@std::?$?5DU?$char_traits(M@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@M@0@@Z)
-??$?5DU?$char_traits@D@std@@M@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@M@0@@Z
-; D@std::?$?5DU?$char_traits(N@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@N@0@@Z)
-??$?5DU?$char_traits@D@std@@N@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@N@0@@Z
-; D@std::?$?5DU?$char_traits(O@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@O@0@@Z)
-??$?5DU?$char_traits@D@std@@O@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@O@0@@Z
-; D@std::?$?5DU?$char_traits(V?$allocator@D@1@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?5DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?5GU?$char_traits(@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z)
-??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z
-; G@std::?$?5GU?$char_traits(@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAF@Z)
-??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAF@Z
-; G@std::?$?5GU?$char_traits(@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z)
-??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z
-; G@std::?$?5GU?$char_traits(M@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@M@0@@Z)
-??$?5GU?$char_traits@G@std@@M@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@M@0@@Z
-; G@std::?$?5GU?$char_traits(N@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@N@0@@Z)
-??$?5GU?$char_traits@G@std@@N@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@N@0@@Z
-; G@std::?$?5GU?$char_traits(O@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@O@0@@Z)
-??$?5GU?$char_traits@G@std@@O@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@O@0@@Z
-; G@std::?$?5GU?$char_traits(V?$allocator@G@1@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?5GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z
-; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z)
-??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z
-; D@std::?$?6DU?$char_traits(M@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@M@0@@Z)
-??$?6DU?$char_traits@D@std@@M@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@M@0@@Z
-; D@std::?$?6DU?$char_traits(N@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@N@0@@Z)
-??$?6DU?$char_traits@D@std@@N@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@N@0@@Z
-; D@std::?$?6DU?$char_traits(O@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@O@0@@Z)
-??$?6DU?$char_traits@D@std@@O@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@O@0@@Z
-; D@std::?$?6DU?$char_traits(V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?6GU?$char_traits(@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z)
-??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z
-; G@std::?$?6GU?$char_traits(@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBF@Z)
-??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBF@Z
-; G@std::?$?6GU?$char_traits(@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z)
-??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z
-; G@std::?$?6GU?$char_traits(M@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@M@0@@Z)
-??$?6GU?$char_traits@G@std@@M@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@M@0@@Z
-; G@std::?$?6GU?$char_traits(N@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@N@0@@Z)
-??$?6GU?$char_traits@G@std@@N@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@N@0@@Z
-; G@std::?$?6GU?$char_traits(O@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@O@0@@Z)
-??$?6GU?$char_traits@G@std@@O@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@O@0@@Z
-; G@std::?$?6GU?$char_traits(V?$allocator@G@1@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?6GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
-??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
-??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; std::?$?8M(YA_NABMABV?$complex@M@0@@Z)
-??$?8M@std@@YA_NABMABV?$complex@M@0@@Z
-; std::?$?8M(YA_NABV?$complex@M@0@0@Z)
-??$?8M@std@@YA_NABV?$complex@M@0@0@Z
-; std::?$?8M(YA_NABV?$complex@M@0@ABM@Z)
-??$?8M@std@@YA_NABV?$complex@M@0@ABM@Z
-; std::?$?8N(YA_NABNABV?$complex@N@0@@Z)
-??$?8N@std@@YA_NABNABV?$complex@N@0@@Z
-; std::?$?8N(YA_NABV?$complex@N@0@0@Z)
-??$?8N@std@@YA_NABV?$complex@N@0@0@Z
-; std::?$?8N(YA_NABV?$complex@N@0@ABN@Z)
-??$?8N@std@@YA_NABV?$complex@N@0@ABN@Z
-; std::?$?8O(YA_NABOABV?$complex@O@0@@Z)
-??$?8O@std@@YA_NABOABV?$complex@O@0@@Z
-; std::?$?8O(YA_NABV?$complex@O@0@0@Z)
-??$?8O@std@@YA_NABV?$complex@O@0@0@Z
-; std::?$?8O(YA_NABV?$complex@O@0@ABO@Z)
-??$?8O@std@@YA_NABV?$complex@O@0@ABO@Z
-; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
-??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
-??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; std::?$?9M(YA_NABMABV?$complex@M@0@@Z)
-??$?9M@std@@YA_NABMABV?$complex@M@0@@Z
-; std::?$?9M(YA_NABV?$complex@M@0@0@Z)
-??$?9M@std@@YA_NABV?$complex@M@0@0@Z
-; std::?$?9M(YA_NABV?$complex@M@0@ABM@Z)
-??$?9M@std@@YA_NABV?$complex@M@0@ABM@Z
-; std::?$?9N(YA_NABNABV?$complex@N@0@@Z)
-??$?9N@std@@YA_NABNABV?$complex@N@0@@Z
-; std::?$?9N(YA_NABV?$complex@N@0@0@Z)
-??$?9N@std@@YA_NABV?$complex@N@0@0@Z
-; std::?$?9N(YA_NABV?$complex@N@0@ABN@Z)
-??$?9N@std@@YA_NABV?$complex@N@0@ABN@Z
-; std::?$?9O(YA_NABOABV?$complex@O@0@@Z)
-??$?9O@std@@YA_NABOABV?$complex@O@0@@Z
-; std::?$?9O(YA_NABV?$complex@O@0@0@Z)
-??$?9O@std@@YA_NABV?$complex@O@0@0@Z
-; std::?$?9O(YA_NABV?$complex@O@0@ABO@Z)
-??$?9O@std@@YA_NABV?$complex@O@0@ABO@Z
-; std::?$?DM(YA?AV?$complex@M@0@ABMABV10@@Z)
-??$?DM@std@@YA?AV?$complex@M@0@ABMABV10@@Z
-; std::?$?DM(YA?AV?$complex@M@0@ABV10@0@Z)
-??$?DM@std@@YA?AV?$complex@M@0@ABV10@0@Z
-; std::?$?DM(YA?AV?$complex@M@0@ABV10@ABM@Z)
-??$?DM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; std::?$?DN(YA?AV?$complex@N@0@ABNABV10@@Z)
-??$?DN@std@@YA?AV?$complex@N@0@ABNABV10@@Z
-; std::?$?DN(YA?AV?$complex@N@0@ABV10@0@Z)
-??$?DN@std@@YA?AV?$complex@N@0@ABV10@0@Z
-; std::?$?DN(YA?AV?$complex@N@0@ABV10@ABN@Z)
-??$?DN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; std::?$?DO(YA?AV?$complex@O@0@ABOABV10@@Z)
-??$?DO@std@@YA?AV?$complex@O@0@ABOABV10@@Z
-; std::?$?DO(YA?AV?$complex@O@0@ABV10@0@Z)
-??$?DO@std@@YA?AV?$complex@O@0@ABV10@0@Z
-; std::?$?DO(YA?AV?$complex@O@0@ABV10@ABO@Z)
-??$?DO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; std::?$?GM(YA?AV?$complex@M@0@ABMABV10@@Z)
-??$?GM@std@@YA?AV?$complex@M@0@ABMABV10@@Z
-; std::?$?GM(YA?AV?$complex@M@0@ABV10@0@Z)
-??$?GM@std@@YA?AV?$complex@M@0@ABV10@0@Z
-; std::?$?GM(YA?AV?$complex@M@0@ABV10@@Z)
-??$?GM@std@@YA?AV?$complex@M@0@ABV10@@Z
-; std::?$?GM(YA?AV?$complex@M@0@ABV10@ABM@Z)
-??$?GM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; std::?$?GN(YA?AV?$complex@N@0@ABNABV10@@Z)
-??$?GN@std@@YA?AV?$complex@N@0@ABNABV10@@Z
-; std::?$?GN(YA?AV?$complex@N@0@ABV10@0@Z)
-??$?GN@std@@YA?AV?$complex@N@0@ABV10@0@Z
-; std::?$?GN(YA?AV?$complex@N@0@ABV10@@Z)
-??$?GN@std@@YA?AV?$complex@N@0@ABV10@@Z
-; std::?$?GN(YA?AV?$complex@N@0@ABV10@ABN@Z)
-??$?GN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; std::?$?GO(YA?AV?$complex@O@0@ABOABV10@@Z)
-??$?GO@std@@YA?AV?$complex@O@0@ABOABV10@@Z
-; std::?$?GO(YA?AV?$complex@O@0@ABV10@0@Z)
-??$?GO@std@@YA?AV?$complex@O@0@ABV10@0@Z
-; std::?$?GO(YA?AV?$complex@O@0@ABV10@@Z)
-??$?GO@std@@YA?AV?$complex@O@0@ABV10@@Z
-; std::?$?GO(YA?AV?$complex@O@0@ABV10@ABO@Z)
-??$?GO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z
-; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z)
-??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@0@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@0@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@G@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@G@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@PBG@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@PBG@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GABV10@@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GABV10@@Z
-; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBGABV10@@Z)
-??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBGABV10@@Z
-; std::?$?HM(YA?AV?$complex@M@0@ABMABV10@@Z)
-??$?HM@std@@YA?AV?$complex@M@0@ABMABV10@@Z
-; std::?$?HM(YA?AV?$complex@M@0@ABV10@0@Z)
-??$?HM@std@@YA?AV?$complex@M@0@ABV10@0@Z
-; std::?$?HM(YA?AV?$complex@M@0@ABV10@@Z)
-??$?HM@std@@YA?AV?$complex@M@0@ABV10@@Z
-; std::?$?HM(YA?AV?$complex@M@0@ABV10@ABM@Z)
-??$?HM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; std::?$?HN(YA?AV?$complex@N@0@ABNABV10@@Z)
-??$?HN@std@@YA?AV?$complex@N@0@ABNABV10@@Z
-; std::?$?HN(YA?AV?$complex@N@0@ABV10@0@Z)
-??$?HN@std@@YA?AV?$complex@N@0@ABV10@0@Z
-; std::?$?HN(YA?AV?$complex@N@0@ABV10@@Z)
-??$?HN@std@@YA?AV?$complex@N@0@ABV10@@Z
-; std::?$?HN(YA?AV?$complex@N@0@ABV10@ABN@Z)
-??$?HN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; std::?$?HO(YA?AV?$complex@O@0@ABOABV10@@Z)
-??$?HO@std@@YA?AV?$complex@O@0@ABOABV10@@Z
-; std::?$?HO(YA?AV?$complex@O@0@ABV10@0@Z)
-??$?HO@std@@YA?AV?$complex@O@0@ABV10@0@Z
-; std::?$?HO(YA?AV?$complex@O@0@ABV10@@Z)
-??$?HO@std@@YA?AV?$complex@O@0@ABV10@@Z
-; std::?$?HO(YA?AV?$complex@O@0@ABV10@ABO@Z)
-??$?HO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; std::?$?KM(YA?AV?$complex@M@0@ABMABV10@@Z)
-??$?KM@std@@YA?AV?$complex@M@0@ABMABV10@@Z
-; std::?$?KM(YA?AV?$complex@M@0@ABV10@0@Z)
-??$?KM@std@@YA?AV?$complex@M@0@ABV10@0@Z
-; std::?$?KM(YA?AV?$complex@M@0@ABV10@ABM@Z)
-??$?KM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; std::?$?KN(YA?AV?$complex@N@0@ABNABV10@@Z)
-??$?KN@std@@YA?AV?$complex@N@0@ABNABV10@@Z
-; std::?$?KN(YA?AV?$complex@N@0@ABV10@0@Z)
-??$?KN@std@@YA?AV?$complex@N@0@ABV10@0@Z
-; std::?$?KN(YA?AV?$complex@N@0@ABV10@ABN@Z)
-??$?KN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; std::?$?KO(YA?AV?$complex@O@0@ABOABV10@@Z)
-??$?KO@std@@YA?AV?$complex@O@0@ABOABV10@@Z
-; std::?$?KO(YA?AV?$complex@O@0@ABV10@0@Z)
-??$?KO@std@@YA?AV?$complex@O@0@ABV10@0@Z
-; std::?$?KO(YA?AV?$complex@O@0@ABV10@ABO@Z)
-??$?KO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
-??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
-??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
-??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
-??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
-??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
-??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
-??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
-??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
-??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
-??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; std::?$?XMM(YAAAV?$complex@M@0@AAV10@ABV10@@Z)
-??$?XMM@std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; std::?$?XNN(YAAAV?$complex@N@0@AAV10@ABV10@@Z)
-??$?XNN@std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; std::?$?XOO(YAAAV?$complex@O@0@AAV10@ABV10@@Z)
-??$?XOO@std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; std::?$?YMM(YAAAV?$complex@M@0@AAV10@ABV10@@Z)
-??$?YMM@std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; std::?$?YNN(YAAAV?$complex@N@0@AAV10@ABV10@@Z)
-??$?YNN@std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; std::?$?YOO(YAAAV?$complex@O@0@AAV10@ABV10@@Z)
-??$?YOO@std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; std::?$?ZMM(YAAAV?$complex@M@0@AAV10@ABV10@@Z)
-??$?ZMM@std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; std::?$?ZNN(YAAAV?$complex@N@0@AAV10@ABV10@@Z)
-??$?ZNN@std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; std::?$?ZOO(YAAAV?$complex@O@0@AAV10@ABV10@@Z)
-??$?ZOO@std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; std::?$?_0MM(YAAAV?$complex@M@0@AAV10@ABV10@@Z)
-??$?_0MM@std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; std::?$?_0NN(YAAAV?$complex@N@0@AAV10@ABV10@@Z)
-??$?_0NN@std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; std::?$?_0OO(YAAAV?$complex@O@0@AAV10@ABV10@@Z)
-??$?_0OO@std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; M@std::?$_Fabs(YAMABV?$complex@M@0@PAH@Z)
-??$_Fabs@M@std@@YAMABV?$complex@M@0@PAH@Z
-; N@std::?$_Fabs(YANABV?$complex@N@0@PAH@Z)
-??$_Fabs@N@std@@YANABV?$complex@N@0@PAH@Z
-; O@std::?$_Fabs(YAOABV?$complex@O@0@PAH@Z)
-??$_Fabs@O@std@@YAOABV?$complex@O@0@PAH@Z
-; M@std::?$abs(YAMABV?$complex@M@0@@Z)
-??$abs@M@std@@YAMABV?$complex@M@0@@Z
-; N@std::?$abs(YANABV?$complex@N@0@@Z)
-??$abs@N@std@@YANABV?$complex@N@0@@Z
-; O@std::?$abs(YAOABV?$complex@O@0@@Z)
-??$abs@O@std@@YAOABV?$complex@O@0@@Z
-; M@std::?$arg(YAMABV?$complex@M@0@@Z)
-??$arg@M@std@@YAMABV?$complex@M@0@@Z
-; N@std::?$arg(YANABV?$complex@N@0@@Z)
-??$arg@N@std@@YANABV?$complex@N@0@@Z
-; O@std::?$arg(YAOABV?$complex@O@0@@Z)
-??$arg@O@std@@YAOABV?$complex@O@0@@Z
-; M@std::?$conj(YA?AV?$complex@M@0@ABV10@@Z)
-??$conj@M@std@@YA?AV?$complex@M@0@ABV10@@Z
-; N@std::?$conj(YA?AV?$complex@N@0@ABV10@@Z)
-??$conj@N@std@@YA?AV?$complex@N@0@ABV10@@Z
-; O@std::?$conj(YA?AV?$complex@O@0@ABV10@@Z)
-??$conj@O@std@@YA?AV?$complex@O@0@ABV10@@Z
-; M@std::?$cos(YA?AV?$complex@M@0@ABV10@@Z)
-??$cos@M@std@@YA?AV?$complex@M@0@ABV10@@Z
-; N@std::?$cos(YA?AV?$complex@N@0@ABV10@@Z)
-??$cos@N@std@@YA?AV?$complex@N@0@ABV10@@Z
-; O@std::?$cos(YA?AV?$complex@O@0@ABV10@@Z)
-??$cos@O@std@@YA?AV?$complex@O@0@ABV10@@Z
-; M@std::?$cosh(YA?AV?$complex@M@0@ABV10@@Z)
-??$cosh@M@std@@YA?AV?$complex@M@0@ABV10@@Z
-; N@std::?$cosh(YA?AV?$complex@N@0@ABV10@@Z)
-??$cosh@N@std@@YA?AV?$complex@N@0@ABV10@@Z
-; O@std::?$cosh(YA?AV?$complex@O@0@ABV10@@Z)
-??$cosh@O@std@@YA?AV?$complex@O@0@ABV10@@Z
-; M@std::?$exp(YA?AV?$complex@M@0@ABV10@@Z)
-??$exp@M@std@@YA?AV?$complex@M@0@ABV10@@Z
-; N@std::?$exp(YA?AV?$complex@N@0@ABV10@@Z)
-??$exp@N@std@@YA?AV?$complex@N@0@ABV10@@Z
-; O@std::?$exp(YA?AV?$complex@O@0@ABV10@@Z)
-??$exp@O@std@@YA?AV?$complex@O@0@ABV10@@Z
-; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
-??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z)
-??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z
-; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
-??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z)
-??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z
-; M@std::?$imag(YAMABV?$complex@M@0@@Z)
-??$imag@M@std@@YAMABV?$complex@M@0@@Z
-; N@std::?$imag(YANABV?$complex@N@0@@Z)
-??$imag@N@std@@YANABV?$complex@N@0@@Z
-; O@std::?$imag(YAOABV?$complex@O@0@@Z)
-??$imag@O@std@@YAOABV?$complex@O@0@@Z
-; M@std::?$log10(YA?AV?$complex@M@0@ABV10@@Z)
-??$log10@M@std@@YA?AV?$complex@M@0@ABV10@@Z
-; N@std::?$log10(YA?AV?$complex@N@0@ABV10@@Z)
-??$log10@N@std@@YA?AV?$complex@N@0@ABV10@@Z
-; O@std::?$log10(YA?AV?$complex@O@0@ABV10@@Z)
-??$log10@O@std@@YA?AV?$complex@O@0@ABV10@@Z
-; M@std::?$log(YA?AV?$complex@M@0@ABV10@@Z)
-??$log@M@std@@YA?AV?$complex@M@0@ABV10@@Z
-; N@std::?$log(YA?AV?$complex@N@0@ABV10@@Z)
-??$log@N@std@@YA?AV?$complex@N@0@ABV10@@Z
-; O@std::?$log(YA?AV?$complex@O@0@ABV10@@Z)
-??$log@O@std@@YA?AV?$complex@O@0@ABV10@@Z
-; M@std::?$norm(YAMABV?$complex@M@0@@Z)
-??$norm@M@std@@YAMABV?$complex@M@0@@Z
-; N@std::?$norm(YANABV?$complex@N@0@@Z)
-??$norm@N@std@@YANABV?$complex@N@0@@Z
-; O@std::?$norm(YAOABV?$complex@O@0@@Z)
-??$norm@O@std@@YAOABV?$complex@O@0@@Z
-; M@std::?$polar(YA?AV?$complex@M@0@ABM0@Z)
-??$polar@M@std@@YA?AV?$complex@M@0@ABM0@Z
-; M@std::?$polar(YA?AV?$complex@M@0@ABM@Z)
-??$polar@M@std@@YA?AV?$complex@M@0@ABM@Z
-; N@std::?$polar(YA?AV?$complex@N@0@ABN0@Z)
-??$polar@N@std@@YA?AV?$complex@N@0@ABN0@Z
-; N@std::?$polar(YA?AV?$complex@N@0@ABN@Z)
-??$polar@N@std@@YA?AV?$complex@N@0@ABN@Z
-; O@std::?$polar(YA?AV?$complex@O@0@ABO0@Z)
-??$polar@O@std@@YA?AV?$complex@O@0@ABO0@Z
-; O@std::?$polar(YA?AV?$complex@O@0@ABO@Z)
-??$polar@O@std@@YA?AV?$complex@O@0@ABO@Z
-; M@std::?$pow(YA?AV?$complex@M@0@ABMABV10@@Z)
-??$pow@M@std@@YA?AV?$complex@M@0@ABMABV10@@Z
-; M@std::?$pow(YA?AV?$complex@M@0@ABV10@0@Z)
-??$pow@M@std@@YA?AV?$complex@M@0@ABV10@0@Z
-; M@std::?$pow(YA?AV?$complex@M@0@ABV10@ABM@Z)
-??$pow@M@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; M@std::?$pow(YA?AV?$complex@M@0@ABV10@H@Z)
-??$pow@M@std@@YA?AV?$complex@M@0@ABV10@H@Z
-; N@std::?$pow(YA?AV?$complex@N@0@ABNABV10@@Z)
-??$pow@N@std@@YA?AV?$complex@N@0@ABNABV10@@Z
-; N@std::?$pow(YA?AV?$complex@N@0@ABV10@0@Z)
-??$pow@N@std@@YA?AV?$complex@N@0@ABV10@0@Z
-; N@std::?$pow(YA?AV?$complex@N@0@ABV10@ABN@Z)
-??$pow@N@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; N@std::?$pow(YA?AV?$complex@N@0@ABV10@H@Z)
-??$pow@N@std@@YA?AV?$complex@N@0@ABV10@H@Z
-; O@std::?$pow(YA?AV?$complex@O@0@ABOABV10@@Z)
-??$pow@O@std@@YA?AV?$complex@O@0@ABOABV10@@Z
-; O@std::?$pow(YA?AV?$complex@O@0@ABV10@0@Z)
-??$pow@O@std@@YA?AV?$complex@O@0@ABV10@0@Z
-; O@std::?$pow(YA?AV?$complex@O@0@ABV10@ABO@Z)
-??$pow@O@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; O@std::?$pow(YA?AV?$complex@O@0@ABV10@H@Z)
-??$pow@O@std@@YA?AV?$complex@O@0@ABV10@H@Z
-; M@std::?$real(YAMABV?$complex@M@0@@Z)
-??$real@M@std@@YAMABV?$complex@M@0@@Z
-; N@std::?$real(YANABV?$complex@N@0@@Z)
-??$real@N@std@@YANABV?$complex@N@0@@Z
-; O@std::?$real(YAOABV?$complex@O@0@@Z)
-??$real@O@std@@YAOABV?$complex@O@0@@Z
-; M@std::?$sin(YA?AV?$complex@M@0@ABV10@@Z)
-??$sin@M@std@@YA?AV?$complex@M@0@ABV10@@Z
-; N@std::?$sin(YA?AV?$complex@N@0@ABV10@@Z)
-??$sin@N@std@@YA?AV?$complex@N@0@ABV10@@Z
-; O@std::?$sin(YA?AV?$complex@O@0@ABV10@@Z)
-??$sin@O@std@@YA?AV?$complex@O@0@ABV10@@Z
-; M@std::?$sinh(YA?AV?$complex@M@0@ABV10@@Z)
-??$sinh@M@std@@YA?AV?$complex@M@0@ABV10@@Z
-; N@std::?$sinh(YA?AV?$complex@N@0@ABV10@@Z)
-??$sinh@N@std@@YA?AV?$complex@N@0@ABV10@@Z
-; O@std::?$sinh(YA?AV?$complex@O@0@ABV10@@Z)
-??$sinh@O@std@@YA?AV?$complex@O@0@ABV10@@Z
-; M@std::?$sqrt(YA?AV?$complex@M@0@ABV10@@Z)
-??$sqrt@M@std@@YA?AV?$complex@M@0@ABV10@@Z
-; N@std::?$sqrt(YA?AV?$complex@N@0@ABV10@@Z)
-??$sqrt@N@std@@YA?AV?$complex@N@0@ABV10@@Z
-; O@std::?$sqrt(YA?AV?$complex@O@0@ABV10@@Z)
-??$sqrt@O@std@@YA?AV?$complex@O@0@ABV10@@Z
-; public: __thiscall std::_Complex_base<float>::_Complex_base<float>(float const &,float const &)
-??0?$_Complex_base@M@std@@QAE@ABM0@Z
-; public: __thiscall std::_Complex_base<double>::_Complex_base<double>(double const &,double const &)
-??0?$_Complex_base@N@std@@QAE@ABN0@Z
-; public: __thiscall std::_Complex_base<long double>::_Complex_base<long double>(long double const &,long double const &)
-??0?$_Complex_base@O@std@@QAE@ABO0@Z
-; public: __thiscall std::_Mpunct<char>::_Mpunct<char>(class _Mpunct<char>::_Locinfo const &,unsigned int,bool)
-??0?$_Mpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z
-; public: __thiscall std::_Mpunct<char>::_Mpunct<char>(unsigned int,bool)
-??0?$_Mpunct@D@std@@QAE@I_N@Z
-; public: __thiscall std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(class _Mpunct<unsigned short>::_Locinfo const &,unsigned int,bool)
-??0?$_Mpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z
-; public: __thiscall std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(unsigned int,bool)
-??0?$_Mpunct@G@std@@QAE@I_N@Z
-; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(class basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> > const &)
-??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(struct _iobuf *)
-??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z
-; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(enum basic_filebuf<char,struct std::char_traits<char> >::_Uninitialized)
-??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(class basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(struct _iobuf *)
-??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z
-; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
-??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(class basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> > const &)
-??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(char const *,int)
-??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(void)
-??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
-??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(class basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> > const &)
-??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(char const *,int)
-??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(void)
-??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
-??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ
-; protected: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void)
-??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ
-; public: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> > const &)
-??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *)
-??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; protected: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_ios@GU?$char_traits@G@std@@@std@@IAE@XZ
-; public: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> > const &)
-??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *)
-??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; public: __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> > const &)
-??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *,bool)
-??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
-; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(enum basic_istream<char,struct std::char_traits<char> >::_Uninitialized)
-??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool)
-??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z
-; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_istream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
-??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
-??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
-??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
-??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
-??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(class basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> > const &)
-??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(char const *,int)
-??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(void)
-??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
-??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
-; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ
-; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> > const &)
-??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *,bool,bool)
-??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z
-; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(enum basic_ostream<char,struct std::char_traits<char> >::_Uninitialized)
-??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool,bool)
-??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z
-; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
-??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
-??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
-??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
-??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
-??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
-; protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(enum basic_streambuf<char,struct std::char_traits<char> >::_Uninitialized)
-??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z
-; protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)
-??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ
-; public: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(class basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > const &)
-??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
-; protected: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
-??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z
-; protected: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void)
-??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ
-; public: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(class basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > const &)
-??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(unsigned int,char,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@IDABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,char const *,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD0ABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,unsigned int,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
-??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDIABV?$allocator@D@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@IIABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned int,unsigned short,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IGABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,unsigned short const *,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBG0ABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,unsigned int,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
-??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGIABV?$allocator@G@1@@Z
-; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
-??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(int)
-??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
-??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
-??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
-??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
-; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
-??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
-; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
-; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
-??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
-; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
-??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
-; public: __thiscall std::codecvt<char,char,int>::codecvt<char,char,int>(class codecvt<char,char,int>::_Locinfo const &,unsigned int)
-??0?$codecvt@DDH@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::codecvt<char,char,int>::codecvt<char,char,int>(unsigned int)
-??0?$codecvt@DDH@std@@QAE@I@Z
-; public: __thiscall std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(class codecvt<unsigned short,char,int>::_Locinfo const &,unsigned int)
-??0?$codecvt@GDH@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(unsigned int)
-??0?$codecvt@GDH@std@@QAE@I@Z
-; public: __thiscall std::collate<char>::collate<char>(class collate<char>::_Locinfo const &,unsigned int)
-??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::collate<char>::collate<char>(unsigned int)
-??0?$collate@D@std@@QAE@I@Z
-; public: __thiscall std::collate<unsigned short>::collate<unsigned short>(class collate<unsigned short>::_Locinfo const &,unsigned int)
-??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::collate<unsigned short>::collate<unsigned short>(unsigned int)
-??0?$collate@G@std@@QAE@I@Z
-; public: __thiscall std::complex<float>::complex<float>(float const &,float const &)
-??0?$complex@M@std@@QAE@ABM0@Z
-; public: __thiscall std::complex<float>::complex<float>(class complex<float>::complex<double> const &)
-??0?$complex@M@std@@QAE@ABV?$complex@N@1@@Z
-; public: __thiscall std::complex<float>::complex<float>(class complex<float>::complex<long double> const &)
-??0?$complex@M@std@@QAE@ABV?$complex@O@1@@Z
-; public: __thiscall std::complex<double>::complex<double>(double const &,double const &)
-??0?$complex@N@std@@QAE@ABN0@Z
-; public: __thiscall std::complex<double>::complex<double>(class complex<double>::complex<float> const &)
-??0?$complex@N@std@@QAE@ABV?$complex@M@1@@Z
-; public: __thiscall std::complex<double>::complex<double>(class complex<double>::complex<long double> const &)
-??0?$complex@N@std@@QAE@ABV?$complex@O@1@@Z
-; public: __thiscall std::complex<long double>::complex<long double>(long double const &,long double const &)
-??0?$complex@O@std@@QAE@ABO0@Z
-; public: __thiscall std::complex<long double>::complex<long double>(class complex<long double>::complex<float> const &)
-??0?$complex@O@std@@QAE@ABV?$complex@M@1@@Z
-; public: __thiscall std::complex<long double>::complex<long double>(class complex<long double>::complex<double> const &)
-??0?$complex@O@std@@QAE@ABV?$complex@N@1@@Z
-; public: __thiscall std::ctype<char>::ctype<char>(class ctype<char>::_Locinfo const &,unsigned int)
-??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::ctype<char>::ctype<char>(short const *,bool,unsigned int)
-??0?$ctype@D@std@@QAE@PBF_NI@Z
-; public: __thiscall std::ctype<unsigned short>::ctype<unsigned short>(class ctype<unsigned short>::_Locinfo const &,unsigned int)
-??0?$ctype@G@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::ctype<unsigned short>::ctype<unsigned short>(unsigned int)
-??0?$ctype@G@std@@QAE@I@Z
-; public: __thiscall std::messages<char>::messages<char>(class messages<char>::_Locinfo const &,unsigned int)
-??0?$messages@D@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::messages<char>::messages<char>(unsigned int)
-??0?$messages@D@std@@QAE@I@Z
-; public: __thiscall std::messages<unsigned short>::messages<unsigned short>(class messages<unsigned short>::_Locinfo const &,unsigned int)
-??0?$messages@G@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::messages<unsigned short>::messages<unsigned short>(unsigned int)
-??0?$messages@G@std@@QAE@I@Z
-; public: __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::moneypunct<char,1>::moneypunct<char,1>(class moneypunct<char,1>::_Locinfo const &,unsigned int)
-??0?$moneypunct@D$00@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::moneypunct<char,1>::moneypunct<char,1>(unsigned int)
-??0?$moneypunct@D$00@std@@QAE@I@Z
-; public: __thiscall std::moneypunct<char,0>::moneypunct<char,0>(class moneypunct<char,0>::_Locinfo const &,unsigned int)
-??0?$moneypunct@D$0A@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::moneypunct<char,0>::moneypunct<char,0>(unsigned int)
-??0?$moneypunct@D$0A@@std@@QAE@I@Z
-; public: __thiscall std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(class moneypunct<unsigned short,1>::_Locinfo const &,unsigned int)
-??0?$moneypunct@G$00@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(unsigned int)
-??0?$moneypunct@G$00@std@@QAE@I@Z
-; public: __thiscall std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(class moneypunct<unsigned short,0>::_Locinfo const &,unsigned int)
-??0?$moneypunct@G$0A@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(unsigned int)
-??0?$moneypunct@G$0A@@std@@QAE@I@Z
-; public: __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::numpunct<char>::numpunct<char>(class numpunct<char>::_Locinfo const &,unsigned int)
-??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::numpunct<char>::numpunct<char>(unsigned int)
-??0?$numpunct@D@std@@QAE@I@Z
-; public: __thiscall std::numpunct<unsigned short>::numpunct<unsigned short>(class numpunct<unsigned short>::_Locinfo const &,unsigned int)
-??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::numpunct<unsigned short>::numpunct<unsigned short>(unsigned int)
-??0?$numpunct@G@std@@QAE@I@Z
-; public: __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
-??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
-??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
-??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
-; public: __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
-??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
-; public: __thiscall std::ios_base::Init::Init(void)
-??0Init@ios_base@std@@QAE@XZ
-; public: __thiscall std::_Locinfo::_Locinfo(class _Locinfo::_Locinfo const &)
-??0_Locinfo@std@@QAE@ABV01@@Z
-; public: __thiscall std::_Locinfo::_Locinfo(int,char const *)
-??0_Locinfo@std@@QAE@HPBD@Z
-; public: __thiscall std::_Locinfo::_Locinfo(char const *)
-??0_Locinfo@std@@QAE@PBD@Z
-; public: __thiscall std::_Lockit::_Lockit(void)
-??0_Lockit@std@@QAE@XZ
-; public: __thiscall std::_Timevec::_Timevec(class _Timevec::_Timevec const &)
-??0_Timevec@std@@QAE@ABV01@@Z
-; public: __thiscall std::_Timevec::_Timevec(void *)
-??0_Timevec@std@@QAE@PAX@Z
-; public: __thiscall std::_Winit::_Winit(void)
-??0_Winit@std@@QAE@XZ
-; public: __thiscall std::__non_rtti_object::__non_rtti_object(class __non_rtti_object::__non_rtti_object const &)
-??0__non_rtti_object@std@@QAE@ABV01@@Z
-; public: __thiscall std::__non_rtti_object::__non_rtti_object(char const *)
-??0__non_rtti_object@std@@QAE@PBD@Z
-; public: __thiscall std::bad_alloc::bad_alloc(class bad_alloc::bad_alloc const &)
-??0bad_alloc@std@@QAE@ABV01@@Z
-; public: __thiscall std::bad_alloc::bad_alloc(char const *)
-??0bad_alloc@std@@QAE@PBD@Z
-; public: __thiscall std::bad_cast::bad_cast(class bad_cast::bad_cast const &)
-??0bad_cast@std@@QAE@ABV01@@Z
-; public: __thiscall std::bad_cast::bad_cast(char const *)
-??0bad_cast@std@@QAE@PBD@Z
-; public: __thiscall std::bad_exception::bad_exception(class bad_exception::bad_exception const &)
-??0bad_exception@std@@QAE@ABV01@@Z
-; public: __thiscall std::bad_exception::bad_exception(char const *)
-??0bad_exception@std@@QAE@PBD@Z
-; public: __thiscall std::bad_typeid::bad_typeid(class bad_typeid::bad_typeid const &)
-??0bad_typeid@std@@QAE@ABV01@@Z
-; public: __thiscall std::bad_typeid::bad_typeid(char const *)
-??0bad_typeid@std@@QAE@PBD@Z
-; public: __thiscall std::codecvt_base::codecvt_base(unsigned int)
-??0codecvt_base@std@@QAE@I@Z
-; public: __thiscall std::ctype_base::ctype_base(unsigned int)
-??0ctype_base@std@@QAE@I@Z
-; public: __thiscall std::domain_error::domain_error(class domain_error::domain_error const &)
-??0domain_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::domain_error::domain_error(class domain_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0domain_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; protected: __thiscall std::locale::facet::facet(unsigned int)
-??0facet@locale@std@@IAE@I@Z
-; protected: __thiscall std::ios_base::ios_base(void)
-??0ios_base@std@@IAE@XZ
-; public: __thiscall std::ios_base::ios_base(class ios_base::ios_base const &)
-??0ios_base@std@@QAE@ABV01@@Z
-; public: __thiscall std::length_error::length_error(class length_error::length_error const &)
-??0length_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::length_error::length_error(class length_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; private: __thiscall std::locale::locale(class locale::locale::_Locimp *)
-??0locale@std@@AAE@PAV_Locimp@01@@Z
-; public: __thiscall std::locale::locale(class locale::locale const &,class locale::locale const &,int)
-??0locale@std@@QAE@ABV01@0H@Z
-; public: __thiscall std::locale::locale(class locale::locale const &)
-??0locale@std@@QAE@ABV01@@Z
-; public: __thiscall std::locale::locale(class locale::locale const &,char const *,int)
-??0locale@std@@QAE@ABV01@PBDH@Z
-; public: __thiscall std::locale::locale(char const *,int)
-??0locale@std@@QAE@PBDH@Z
-; public: __thiscall std::locale::locale(enum locale::_Uninitialized)
-??0locale@std@@QAE@W4_Uninitialized@1@@Z
-; public: __thiscall std::locale::locale(void)
-??0locale@std@@QAE@XZ
-; public: __thiscall std::logic_error::logic_error(class logic_error::logic_error const &)
-??0logic_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::logic_error::logic_error(class logic_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::messages_base::messages_base(unsigned int)
-??0messages_base@std@@QAE@I@Z
-; public: __thiscall std::money_base::money_base(unsigned int)
-??0money_base@std@@QAE@I@Z
-; public: __thiscall std::ostrstream::ostrstream(char *,int,int)
-??0ostrstream@std@@QAE@PADHH@Z
-; public: __thiscall std::out_of_range::out_of_range(class out_of_range::out_of_range const &)
-??0out_of_range@std@@QAE@ABV01@@Z
-; public: __thiscall std::out_of_range::out_of_range(class out_of_range::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::overflow_error::overflow_error(class overflow_error::overflow_error const &)
-??0overflow_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::overflow_error::overflow_error(class overflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0overflow_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::range_error::range_error(class range_error::range_error const &)
-??0range_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::range_error::range_error(class range_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0range_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::runtime_error::runtime_error(class runtime_error::runtime_error const &)
-??0runtime_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::runtime_error::runtime_error(class runtime_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: __thiscall std::strstream::strstream(char *,int,int)
-??0strstream@std@@QAE@PADHH@Z
-; public: __thiscall std::time_base::time_base(unsigned int)
-??0time_base@std@@QAE@I@Z
-; public: __thiscall std::underflow_error::underflow_error(class underflow_error::underflow_error const &)
-??0underflow_error@std@@QAE@ABV01@@Z
-; public: __thiscall std::underflow_error::underflow_error(class underflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??0underflow_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; public: virtual __thiscall std::_Mpunct<char>::~_Mpunct<char>(void)
-??1?$_Mpunct@D@std@@UAE@XZ
-; public: virtual __thiscall std::_Mpunct<unsigned short>::~_Mpunct<unsigned short>(void)
-??1?$_Mpunct@G@std@@UAE@XZ
-; public: virtual __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::~basic_filebuf<char,struct std::char_traits<char> >(void)
-??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_fstream<char,struct std::char_traits<char> >::~basic_fstream<char,struct std::char_traits<char> >(void)
-??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::~basic_ifstream<char,struct std::char_traits<char> >(void)
-??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)
-??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::~basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_ios@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_iostream<char,struct std::char_traits<char> >::~basic_iostream<char,struct std::char_traits<char> >(void)
-??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_istream<char,struct std::char_traits<char> >::~basic_istream<char,struct std::char_traits<char> >(void)
-??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::~basic_istream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_istream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::~basic_ofstream<char,struct std::char_traits<char> >(void)
-??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void)
-??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)
-??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void)
-??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ
-; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
-; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ
-; public: virtual __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
-??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
-; public: virtual __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
-??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
-; public: virtual __thiscall std::codecvt<char,char,int>::~codecvt<char,char,int>(void)
-??1?$codecvt@DDH@std@@UAE@XZ
-; public: virtual __thiscall std::codecvt<unsigned short,char,int>::~codecvt<unsigned short,char,int>(void)
-??1?$codecvt@GDH@std@@UAE@XZ
-; public: virtual __thiscall std::collate<char>::~collate<char>(void)
-??1?$collate@D@std@@UAE@XZ
-; public: virtual __thiscall std::collate<unsigned short>::~collate<unsigned short>(void)
-??1?$collate@G@std@@UAE@XZ
-; public: virtual __thiscall std::ctype<char>::~ctype<char>(void)
-??1?$ctype@D@std@@UAE@XZ
-; public: virtual __thiscall std::ctype<unsigned short>::~ctype<unsigned short>(void)
-??1?$ctype@G@std@@UAE@XZ
-; public: virtual __thiscall std::messages<char>::~messages<char>(void)
-??1?$messages@D@std@@UAE@XZ
-; public: virtual __thiscall std::messages<unsigned short>::~messages<unsigned short>(void)
-??1?$messages@G@std@@UAE@XZ
-; public: virtual __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::moneypunct<char,1>::~moneypunct<char,1>(void)
-??1?$moneypunct@D$00@std@@UAE@XZ
-; public: virtual __thiscall std::moneypunct<char,0>::~moneypunct<char,0>(void)
-??1?$moneypunct@D$0A@@std@@UAE@XZ
-; public: virtual __thiscall std::moneypunct<unsigned short,1>::~moneypunct<unsigned short,1>(void)
-??1?$moneypunct@G$00@std@@UAE@XZ
-; public: virtual __thiscall std::moneypunct<unsigned short,0>::~moneypunct<unsigned short,0>(void)
-??1?$moneypunct@G$0A@@std@@UAE@XZ
-; public: virtual __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::numpunct<char>::~numpunct<char>(void)
-??1?$numpunct@D@std@@UAE@XZ
-; public: virtual __thiscall std::numpunct<unsigned short>::~numpunct<unsigned short>(void)
-??1?$numpunct@G@std@@UAE@XZ
-; public: virtual __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
-??1?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
-; public: virtual __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
-??1?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
-; public: __thiscall std::ios_base::Init::~Init(void)
-??1Init@ios_base@std@@QAE@XZ
-; public: __thiscall std::_Locinfo::~_Locinfo(void)
-??1_Locinfo@std@@QAE@XZ
-; public: __thiscall std::_Lockit::~_Lockit(void)
-??1_Lockit@std@@QAE@XZ
-; public: __thiscall std::_Timevec::~_Timevec(void)
-??1_Timevec@std@@QAE@XZ
-; public: __thiscall std::_Winit::~_Winit(void)
-??1_Winit@std@@QAE@XZ
-; public: virtual __thiscall std::__non_rtti_object::~__non_rtti_object(void)
-??1__non_rtti_object@std@@UAE@XZ
-; public: virtual __thiscall std::bad_alloc::~bad_alloc(void)
-??1bad_alloc@std@@UAE@XZ
-; public: virtual __thiscall std::bad_cast::~bad_cast(void)
-??1bad_cast@std@@UAE@XZ
-; public: virtual __thiscall std::bad_exception::~bad_exception(void)
-??1bad_exception@std@@UAE@XZ
-; public: virtual __thiscall std::bad_typeid::~bad_typeid(void)
-??1bad_typeid@std@@UAE@XZ
-; public: virtual __thiscall std::codecvt_base::~codecvt_base(void)
-??1codecvt_base@std@@UAE@XZ
-; public: virtual __thiscall std::ctype_base::~ctype_base(void)
-??1ctype_base@std@@UAE@XZ
-; public: virtual __thiscall std::domain_error::~domain_error(void)
-??1domain_error@std@@UAE@XZ
-; public: virtual __thiscall std::locale::facet::~facet(void)
-??1facet@locale@std@@UAE@XZ
-; public: virtual __thiscall std::ios_base::~ios_base(void)
-??1ios_base@std@@UAE@XZ
-; public: virtual __thiscall std::istrstream::~istrstream(void)
-??1istrstream@std@@UAE@XZ
-; public: virtual __thiscall std::length_error::~length_error(void)
-??1length_error@std@@UAE@XZ
-; public: __thiscall std::locale::~locale(void)
-??1locale@std@@QAE@XZ
-; public: virtual __thiscall std::logic_error::~logic_error(void)
-??1logic_error@std@@UAE@XZ
-; public: virtual __thiscall std::messages_base::~messages_base(void)
-??1messages_base@std@@UAE@XZ
-; public: virtual __thiscall std::money_base::~money_base(void)
-??1money_base@std@@UAE@XZ
-; public: virtual __thiscall std::ostrstream::~ostrstream(void)
-??1ostrstream@std@@UAE@XZ
-; public: virtual __thiscall std::out_of_range::~out_of_range(void)
-??1out_of_range@std@@UAE@XZ
-; public: virtual __thiscall std::overflow_error::~overflow_error(void)
-??1overflow_error@std@@UAE@XZ
-; public: virtual __thiscall std::range_error::~range_error(void)
-??1range_error@std@@UAE@XZ
-; public: virtual __thiscall std::runtime_error::~runtime_error(void)
-??1runtime_error@std@@UAE@XZ
-; public: virtual __thiscall std::strstream::~strstream(void)
-??1strstream@std@@UAE@XZ
-; public: virtual __thiscall std::strstreambuf::~strstreambuf(void)
-??1strstreambuf@std@@UAE@XZ
-; public: virtual __thiscall std::time_base::~time_base(void)
-??1time_base@std@@UAE@XZ
-; public: virtual __thiscall std::underflow_error::~underflow_error(void)
-??1underflow_error@std@@UAE@XZ
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator=(class std::_Complex_base<float> const &)
-??4?$_Complex_base@M@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator=(class std::_Complex_base<double> const &)
-??4?$_Complex_base@N@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator=(class std::_Complex_base<long double> const &)
-??4?$_Complex_base@O@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Ctr<float> & __thiscall std::_Ctr<float>::operator=(class std::_Ctr<float> const &)
-??4?$_Ctr@M@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Ctr<double> & __thiscall std::_Ctr<double>::operator=(class std::_Ctr<double> const &)
-??4?$_Ctr@N@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Ctr<long double> & __thiscall std::_Ctr<long double>::operator=(class std::_Ctr<long double> const &)
-??4?$_Ctr@O@std@@QAEAAV01@ABV01@@Z
-; public: class std::allocator<void> & __thiscall std::allocator<void>::operator=(class std::allocator<void> const &)
-??4?$allocator@X@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > & __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::operator=(class std::basic_filebuf<char,struct std::char_traits<char> > const &)
-??4?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_fstream<char,struct std::char_traits<char> > & __thiscall std::basic_fstream<char,struct std::char_traits<char> >::operator=(class std::basic_fstream<char,struct std::char_traits<char> > const &)
-??4?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ifstream<char,struct std::char_traits<char> > & __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::operator=(class std::basic_ifstream<char,struct std::char_traits<char> > const &)
-??4?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ios<char,struct std::char_traits<char> > & __thiscall std::basic_ios<char,struct std::char_traits<char> >::operator=(class std::basic_ios<char,struct std::char_traits<char> > const &)
-??4?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_iostream<char,struct std::char_traits<char> > & __thiscall std::basic_iostream<char,struct std::char_traits<char> >::operator=(class std::basic_iostream<char,struct std::char_traits<char> > const &)
-??4?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator=(class std::basic_istream<char,struct std::char_traits<char> > const &)
-??4?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??4?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??4?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ofstream<char,struct std::char_traits<char> > & __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::operator=(class std::basic_ofstream<char,struct std::char_traits<char> > const &)
-??4?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator=(class std::basic_ostream<char,struct std::char_traits<char> > const &)
-??4?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??4?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??4?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > & __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::operator=(class std::basic_streambuf<char,struct std::char_traits<char> > const &)
-??4?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > const &)
-??4?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char)
-??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char const *)
-??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short)
-??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short const *)
-??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??4?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??4?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??4?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??4?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
-; public: struct std::char_traits<char> & __thiscall std::char_traits<char>::operator=(struct std::char_traits<char> const &)
-??4?$char_traits@D@std@@QAEAAU01@ABU01@@Z
-; public: struct std::char_traits<unsigned short> & __thiscall std::char_traits<unsigned short>::operator=(struct std::char_traits<unsigned short> const &)
-??4?$char_traits@G@std@@QAEAAU01@ABU01@@Z
-; public: class std::complex<float> & __thiscall std::complex<float>::operator=(float const &)
-??4?$complex@M@std@@QAEAAV01@ABM@Z
-; public: class std::complex<float> & __thiscall std::complex<float>::operator=(class std::complex<float> const &)
-??4?$complex@M@std@@QAEAAV01@ABV01@@Z
-; public: class std::complex<double> & __thiscall std::complex<double>::operator=(double const &)
-??4?$complex@N@std@@QAEAAV01@ABN@Z
-; public: class std::complex<double> & __thiscall std::complex<double>::operator=(class std::complex<double> const &)
-??4?$complex@N@std@@QAEAAV01@ABV01@@Z
-; public: class std::complex<long double> & __thiscall std::complex<long double>::operator=(long double const &)
-??4?$complex@O@std@@QAEAAV01@ABO@Z
-; public: class std::complex<long double> & __thiscall std::complex<long double>::operator=(class std::complex<long double> const &)
-??4?$complex@O@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<signed char> & __thiscall std::numeric_limits<signed char>::operator=(class std::numeric_limits<signed char> const &)
-??4?$numeric_limits@C@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<char> & __thiscall std::numeric_limits<char>::operator=(class std::numeric_limits<char> const &)
-??4?$numeric_limits@D@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<unsigned char> & __thiscall std::numeric_limits<unsigned char>::operator=(class std::numeric_limits<unsigned char> const &)
-??4?$numeric_limits@E@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<short> & __thiscall std::numeric_limits<short>::operator=(class std::numeric_limits<short> const &)
-??4?$numeric_limits@F@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<unsigned short> & __thiscall std::numeric_limits<unsigned short>::operator=(class std::numeric_limits<unsigned short> const &)
-??4?$numeric_limits@G@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<int> & __thiscall std::numeric_limits<int>::operator=(class std::numeric_limits<int> const &)
-??4?$numeric_limits@H@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<unsigned int> & __thiscall std::numeric_limits<unsigned int>::operator=(class std::numeric_limits<unsigned int> const &)
-??4?$numeric_limits@I@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<long> & __thiscall std::numeric_limits<long>::operator=(class std::numeric_limits<long> const &)
-??4?$numeric_limits@J@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<unsigned long> & __thiscall std::numeric_limits<unsigned long>::operator=(class std::numeric_limits<unsigned long> const &)
-??4?$numeric_limits@K@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<float> & __thiscall std::numeric_limits<float>::operator=(class std::numeric_limits<float> const &)
-??4?$numeric_limits@M@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<double> & __thiscall std::numeric_limits<double>::operator=(class std::numeric_limits<double> const &)
-??4?$numeric_limits@N@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<long double> & __thiscall std::numeric_limits<long double>::operator=(class std::numeric_limits<long double> const &)
-??4?$numeric_limits@O@std@@QAEAAV01@ABV01@@Z
-; public: class std::numeric_limits<bool> & __thiscall std::numeric_limits<bool>::operator=(class std::numeric_limits<bool> const &)
-??4?$numeric_limits@_N@std@@QAEAAV01@ABV01@@Z
-; public: class std::ios_base::Init & __thiscall std::ios_base::Init::operator=(class std::ios_base::Init const &)
-??4Init@ios_base@std@@QAEAAV012@ABV012@@Z
-; public: class std::_Locinfo & __thiscall std::_Locinfo::operator=(class std::_Locinfo const &)
-??4_Locinfo@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Lockit & __thiscall std::_Lockit::operator=(class std::_Lockit const &)
-??4_Lockit@std@@QAEAAV01@ABV01@@Z
-; public: struct std::_Num_base & __thiscall std::_Num_base::operator=(struct std::_Num_base const &)
-??4_Num_base@std@@QAEAAU01@ABU01@@Z
-; public: struct std::_Num_float_base & __thiscall std::_Num_float_base::operator=(struct std::_Num_float_base const &)
-??4_Num_float_base@std@@QAEAAU01@ABU01@@Z
-; public: struct std::_Num_int_base & __thiscall std::_Num_int_base::operator=(struct std::_Num_int_base const &)
-??4_Num_int_base@std@@QAEAAU01@ABU01@@Z
-; public: class std::_Timevec & __thiscall std::_Timevec::operator=(class std::_Timevec const &)
-??4_Timevec@std@@QAEAAV01@ABV01@@Z
-; public: class std::_Winit & __thiscall std::_Winit::operator=(class std::_Winit const &)
-??4_Winit@std@@QAEAAV01@ABV01@@Z
-; public: class std::__non_rtti_object & __thiscall std::__non_rtti_object::operator=(class std::__non_rtti_object const &)
-??4__non_rtti_object@std@@QAEAAV01@ABV01@@Z
-; public: class std::bad_alloc & __thiscall std::bad_alloc::operator=(class std::bad_alloc const &)
-??4bad_alloc@std@@QAEAAV01@ABV01@@Z
-; public: class std::bad_cast & __thiscall std::bad_cast::operator=(class std::bad_cast const &)
-??4bad_cast@std@@QAEAAV01@ABV01@@Z
-; public: class std::bad_exception & __thiscall std::bad_exception::operator=(class std::bad_exception const &)
-??4bad_exception@std@@QAEAAV01@ABV01@@Z
-; public: class std::bad_typeid & __thiscall std::bad_typeid::operator=(class std::bad_typeid const &)
-??4bad_typeid@std@@QAEAAV01@ABV01@@Z
-; public: class std::domain_error & __thiscall std::domain_error::operator=(class std::domain_error const &)
-??4domain_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::locale::id & __thiscall std::locale::id::operator=(class std::locale::id const &)
-??4id@locale@std@@QAEAAV012@ABV012@@Z
-; public: class std::ios_base & __thiscall std::ios_base::operator=(class std::ios_base const &)
-??4ios_base@std@@QAEAAV01@ABV01@@Z
-; public: class std::length_error & __thiscall std::length_error::operator=(class std::length_error const &)
-??4length_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::locale & __thiscall std::locale::operator=(class std::locale const &)
-??4locale@std@@QAEAAV01@ABV01@@Z
-; public: class std::logic_error & __thiscall std::logic_error::operator=(class std::logic_error const &)
-??4logic_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::out_of_range & __thiscall std::out_of_range::operator=(class std::out_of_range const &)
-??4out_of_range@std@@QAEAAV01@ABV01@@Z
-; public: class std::overflow_error & __thiscall std::overflow_error::operator=(class std::overflow_error const &)
-??4overflow_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::range_error & __thiscall std::range_error::operator=(class std::range_error const &)
-??4range_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::runtime_error & __thiscall std::runtime_error::operator=(class std::runtime_error const &)
-??4runtime_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::underflow_error & __thiscall std::underflow_error::operator=(class std::underflow_error const &)
-??4underflow_error@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(short &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned short &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAG@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(int &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned int &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(long &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAJ@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned long &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(float &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAM@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(double &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(long double &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAO@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(void * &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAPAX@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(bool &)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_N@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_istream<char,struct std::char_traits<char> > &))
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_ios<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > &))
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::ios_base & (__cdecl*)(class std::ios_base &))
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_streambuf<char,struct std::char_traits<char> > *)
-??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(short &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAF@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned short &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAG@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(int &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned int &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAI@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAJ@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned long &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAK@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(float &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAM@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(double &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAN@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long double &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAO@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(void * &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAPAX@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(bool &)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_N@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &))
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > &))
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::ios_base & (__cdecl*)(class std::ios_base &))
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,signed char &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,char &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned char &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<float> &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@M@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<double> &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@N@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<long double> &)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@O@0@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,signed char *)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,char *)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned char *)
-??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<float> &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@M@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<double> &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@N@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<long double> &)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@O@0@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,short *)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAF@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short *)
-??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(short)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned short)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned int)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned long)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(float)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long double)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@O@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ios<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > &))
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::ios_base & (__cdecl*)(class std::ios_base &))
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_streambuf<char,struct std::char_traits<char> > *)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(void const *)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(bool)
-??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(short)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@F@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned short)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@G@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(int)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned int)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@I@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@J@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned long)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@K@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(float)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@M@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(double)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@N@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long double)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@O@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &))
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > &))
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::ios_base & (__cdecl*)(class std::ios_base &))
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(void const *)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PBX@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(bool)
-??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_N@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<float> const &)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@M@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<double> const &)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@N@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<long double> const &)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@O@0@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,signed char)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,char)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned char)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,signed char const *)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned char const *)
-??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<float> const &)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@M@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<double> const &)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@N@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<long double> const &)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@O@0@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,short const *)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBF@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short const *)
-??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z
-; public: bool __thiscall std::ios_base::operator!(void)const 
-??7ios_base@std@@QBE_NXZ
-; public: bool __thiscall std::locale::operator==(class std::locale const &)const 
-??8locale@std@@QBE_NABV01@@Z
-; bool __cdecl std::operator==(float const &,class std::complex<float> const &)
-??8std@@YA_NABMABV?$complex@M@0@@Z
-; bool __cdecl std::operator==(double const &,class std::complex<double> const &)
-??8std@@YA_NABNABV?$complex@N@0@@Z
-; bool __cdecl std::operator==(long double const &,class std::complex<long double> const &)
-??8std@@YA_NABOABV?$complex@O@0@@Z
-; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??8std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??8std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator==(class std::complex<float> const &,class std::complex<float> const &)
-??8std@@YA_NABV?$complex@M@0@0@Z
-; bool __cdecl std::operator==(class std::complex<float> const &,float const &)
-??8std@@YA_NABV?$complex@M@0@ABM@Z
-; bool __cdecl std::operator==(class std::complex<double> const &,class std::complex<double> const &)
-??8std@@YA_NABV?$complex@N@0@0@Z
-; bool __cdecl std::operator==(class std::complex<double> const &,double const &)
-??8std@@YA_NABV?$complex@N@0@ABN@Z
-; bool __cdecl std::operator==(class std::complex<long double> const &,class std::complex<long double> const &)
-??8std@@YA_NABV?$complex@O@0@0@Z
-; bool __cdecl std::operator==(class std::complex<long double> const &,long double const &)
-??8std@@YA_NABV?$complex@O@0@ABO@Z
-; bool __cdecl std::operator==(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??8std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator==(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??8std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; public: bool __thiscall std::locale::operator!=(class std::locale const &)const 
-??9locale@std@@QBE_NABV01@@Z
-; bool __cdecl std::operator!=(float const &,class std::complex<float> const &)
-??9std@@YA_NABMABV?$complex@M@0@@Z
-; bool __cdecl std::operator!=(double const &,class std::complex<double> const &)
-??9std@@YA_NABNABV?$complex@N@0@@Z
-; bool __cdecl std::operator!=(long double const &,class std::complex<long double> const &)
-??9std@@YA_NABOABV?$complex@O@0@@Z
-; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??9std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??9std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??9std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??9std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator!=(class std::complex<float> const &,class std::complex<float> const &)
-??9std@@YA_NABV?$complex@M@0@0@Z
-; bool __cdecl std::operator!=(class std::complex<float> const &,float const &)
-??9std@@YA_NABV?$complex@M@0@ABM@Z
-; bool __cdecl std::operator!=(class std::complex<double> const &,class std::complex<double> const &)
-??9std@@YA_NABV?$complex@N@0@0@Z
-; bool __cdecl std::operator!=(class std::complex<double> const &,double const &)
-??9std@@YA_NABV?$complex@N@0@ABN@Z
-; bool __cdecl std::operator!=(class std::complex<long double> const &,class std::complex<long double> const &)
-??9std@@YA_NABV?$complex@O@0@0@Z
-; bool __cdecl std::operator!=(class std::complex<long double> const &,long double const &)
-??9std@@YA_NABV?$complex@O@0@ABO@Z
-; bool __cdecl std::operator!=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??9std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator!=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??9std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; public: char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned int)
-??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z
-; public: char const & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned int)const 
-??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z
-; public: unsigned short & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned int)
-??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z
-; public: unsigned short const & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned int)const 
-??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z
-; public: __thiscall std::locale::id::operator unsigned int(void)
-??Bid@locale@std@@QAEIXZ
-; public: __thiscall std::ios_base::operator void *(void)const 
-??Bios_base@std@@QBEPAXXZ
-; class std::complex<float>  __cdecl std::operator*(float const &,class std::complex<float> const &)
-??Dstd@@YA?AV?$complex@M@0@ABMABV10@@Z
-; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const &,class std::complex<float> const &)
-??Dstd@@YA?AV?$complex@M@0@ABV10@0@Z
-; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const &,float const &)
-??Dstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; class std::complex<double>  __cdecl std::operator*(double const &,class std::complex<double> const &)
-??Dstd@@YA?AV?$complex@N@0@ABNABV10@@Z
-; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const &,class std::complex<double> const &)
-??Dstd@@YA?AV?$complex@N@0@ABV10@0@Z
-; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const &,double const &)
-??Dstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; class std::complex<long double>  __cdecl std::operator*(long double const &,class std::complex<long double> const &)
-??Dstd@@YA?AV?$complex@O@0@ABOABV10@@Z
-; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const &,class std::complex<long double> const &)
-??Dstd@@YA?AV?$complex@O@0@ABV10@0@Z
-; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const &,long double const &)
-??Dstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; class std::complex<float>  __cdecl std::operator-(float const &,class std::complex<float> const &)
-??Gstd@@YA?AV?$complex@M@0@ABMABV10@@Z
-; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &,class std::complex<float> const &)
-??Gstd@@YA?AV?$complex@M@0@ABV10@0@Z
-; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &)
-??Gstd@@YA?AV?$complex@M@0@ABV10@@Z
-; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &,float const &)
-??Gstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; class std::complex<double>  __cdecl std::operator-(double const &,class std::complex<double> const &)
-??Gstd@@YA?AV?$complex@N@0@ABNABV10@@Z
-; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &,class std::complex<double> const &)
-??Gstd@@YA?AV?$complex@N@0@ABV10@0@Z
-; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &)
-??Gstd@@YA?AV?$complex@N@0@ABV10@@Z
-; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &,double const &)
-??Gstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; class std::complex<long double>  __cdecl std::operator-(long double const &,class std::complex<long double> const &)
-??Gstd@@YA?AV?$complex@O@0@ABOABV10@@Z
-; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &,class std::complex<long double> const &)
-??Gstd@@YA?AV?$complex@O@0@ABV10@0@Z
-; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &)
-??Gstd@@YA?AV?$complex@O@0@ABV10@@Z
-; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &,long double const &)
-??Gstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z
-; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@0@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@G@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@PBG@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GABV10@@Z
-; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBGABV10@@Z
-; class std::complex<float>  __cdecl std::operator+(float const &,class std::complex<float> const &)
-??Hstd@@YA?AV?$complex@M@0@ABMABV10@@Z
-; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &,class std::complex<float> const &)
-??Hstd@@YA?AV?$complex@M@0@ABV10@0@Z
-; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &)
-??Hstd@@YA?AV?$complex@M@0@ABV10@@Z
-; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &,float const &)
-??Hstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; class std::complex<double>  __cdecl std::operator+(double const &,class std::complex<double> const &)
-??Hstd@@YA?AV?$complex@N@0@ABNABV10@@Z
-; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &,class std::complex<double> const &)
-??Hstd@@YA?AV?$complex@N@0@ABV10@0@Z
-; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &)
-??Hstd@@YA?AV?$complex@N@0@ABV10@@Z
-; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &,double const &)
-??Hstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; class std::complex<long double>  __cdecl std::operator+(long double const &,class std::complex<long double> const &)
-??Hstd@@YA?AV?$complex@O@0@ABOABV10@@Z
-; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &,class std::complex<long double> const &)
-??Hstd@@YA?AV?$complex@O@0@ABV10@0@Z
-; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &)
-??Hstd@@YA?AV?$complex@O@0@ABV10@@Z
-; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &,long double const &)
-??Hstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; class std::complex<float>  __cdecl std::operator/(float const &,class std::complex<float> const &)
-??Kstd@@YA?AV?$complex@M@0@ABMABV10@@Z
-; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const &,class std::complex<float> const &)
-??Kstd@@YA?AV?$complex@M@0@ABV10@0@Z
-; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const &,float const &)
-??Kstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
-; class std::complex<double>  __cdecl std::operator/(double const &,class std::complex<double> const &)
-??Kstd@@YA?AV?$complex@N@0@ABNABV10@@Z
-; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const &,class std::complex<double> const &)
-??Kstd@@YA?AV?$complex@N@0@ABV10@0@Z
-; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const &,double const &)
-??Kstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
-; class std::complex<long double>  __cdecl std::operator/(long double const &,class std::complex<long double> const &)
-??Kstd@@YA?AV?$complex@O@0@ABOABV10@@Z
-; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const &,class std::complex<long double> const &)
-??Kstd@@YA?AV?$complex@O@0@ABV10@0@Z
-; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const &,long double const &)
-??Kstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
-; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Mstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Mstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Mstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Mstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator<(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Mstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator<(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Mstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Nstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Nstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Nstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Nstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator<=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Nstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator<=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Nstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Ostd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Ostd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Ostd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Ostd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator>(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Ostd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator>(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Ostd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Pstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
-; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
-??Pstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
-; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Pstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
-; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
-??Pstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
-; bool __cdecl std::operator>=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Pstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
-; bool __cdecl std::operator>=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Pstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
-; public: bool __thiscall std::locale::operator()(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-??Rlocale@std@@QBE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@0@Z
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator*=(float const &)
-??X?$_Complex_base@M@std@@QAEAAV01@ABM@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator*=(double const &)
-??X?$_Complex_base@N@std@@QAEAAV01@ABN@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator*=(long double const &)
-??X?$_Complex_base@O@std@@QAEAAV01@ABO@Z
-; class std::complex<float> & __cdecl std::operator*=(class std::complex<float> &,class std::complex<float> const &)
-??Xstd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; class std::complex<double> & __cdecl std::operator*=(class std::complex<double> &,class std::complex<double> const &)
-??Xstd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; class std::complex<long double> & __cdecl std::operator*=(class std::complex<long double> &,class std::complex<long double> const &)
-??Xstd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator+=(float const &)
-??Y?$_Complex_base@M@std@@QAEAAV01@ABM@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator+=(double const &)
-??Y?$_Complex_base@N@std@@QAEAAV01@ABN@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator+=(long double const &)
-??Y?$_Complex_base@O@std@@QAEAAV01@ABO@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char)
-??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char const *)
-??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short)
-??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short const *)
-??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z
-; class std::complex<float> & __cdecl std::operator+=(class std::complex<float> &,class std::complex<float> const &)
-??Ystd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; class std::complex<double> & __cdecl std::operator+=(class std::complex<double> &,class std::complex<double> const &)
-??Ystd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; class std::complex<long double> & __cdecl std::operator+=(class std::complex<long double> &,class std::complex<long double> const &)
-??Ystd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator-=(float const &)
-??Z?$_Complex_base@M@std@@QAEAAV01@ABM@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator-=(double const &)
-??Z?$_Complex_base@N@std@@QAEAAV01@ABN@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator-=(long double const &)
-??Z?$_Complex_base@O@std@@QAEAAV01@ABO@Z
-; class std::complex<float> & __cdecl std::operator-=(class std::complex<float> &,class std::complex<float> const &)
-??Zstd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; class std::complex<double> & __cdecl std::operator-=(class std::complex<double> &,class std::complex<double> const &)
-??Zstd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; class std::complex<long double> & __cdecl std::operator-=(class std::complex<long double> &,class std::complex<long double> const &)
-??Zstd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator/=(float const &)
-??_0?$_Complex_base@M@std@@QAEAAV01@ABM@Z
-; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator/=(double const &)
-??_0?$_Complex_base@N@std@@QAEAAV01@ABN@Z
-; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator/=(long double const &)
-??_0?$_Complex_base@O@std@@QAEAAV01@ABO@Z
-; class std::complex<float> & __cdecl std::operator/=(class std::complex<float> &,class std::complex<float> const &)
-??_0std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
-; class std::complex<double> & __cdecl std::operator/=(class std::complex<double> &,class std::complex<double> const &)
-??_0std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
-; class std::complex<long double> & __cdecl std::operator/=(class std::complex<long double> &,class std::complex<long double> const &)
-??_0std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
-; const  std::_Mpunct<char>::`vftable'
-??_7?$_Mpunct@D@std@@6B@
-; const  std::_Mpunct<unsigned short>::`vftable'
-??_7?$_Mpunct@G@std@@6B@
-; const  std::basic_filebuf<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_fstream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_ios<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_iostream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_istream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
-; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
-; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_ostream<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
-; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
-; const  std::basic_streambuf<char,struct std::char_traits<char> >::`vftable'
-??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
-; const  std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
-??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@
-; const  std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
-; const  std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
-; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
-??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
-; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
-??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
-; const  std::codecvt<char,char,int>::`vftable'
-??_7?$codecvt@DDH@std@@6B@
-; const  std::codecvt<unsigned short,char,int>::`vftable'
-??_7?$codecvt@GDH@std@@6B@
-; const  std::collate<char>::`vftable'
-??_7?$collate@D@std@@6B@
-; const  std::collate<unsigned short>::`vftable'
-??_7?$collate@G@std@@6B@
-; const  std::ctype<char>::`vftable'
-??_7?$ctype@D@std@@6B@
-; const  std::ctype<unsigned short>::`vftable'
-??_7?$ctype@G@std@@6B@
-; const  std::messages<char>::`vftable'
-??_7?$messages@D@std@@6B@
-; const  std::messages<unsigned short>::`vftable'
-??_7?$messages@G@std@@6B@
-; const  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::moneypunct<char,1>::`vftable'
-??_7?$moneypunct@D$00@std@@6B@
-; const  std::moneypunct<char,0>::`vftable'
-??_7?$moneypunct@D$0A@@std@@6B@
-; const  std::moneypunct<unsigned short,1>::`vftable'
-??_7?$moneypunct@G$00@std@@6B@
-; const  std::moneypunct<unsigned short,0>::`vftable'
-??_7?$moneypunct@G$0A@@std@@6B@
-; const  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::numpunct<char>::`vftable'
-??_7?$numpunct@D@std@@6B@
-; const  std::numpunct<unsigned short>::`vftable'
-??_7?$numpunct@G@std@@6B@
-; const  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
-??_7?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
-; const  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
-??_7?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
-; const  std::__non_rtti_object::`vftable'
-??_7__non_rtti_object@std@@6B@
-; const  std::bad_alloc::`vftable'
-??_7bad_alloc@std@@6B@
-; const  std::bad_cast::`vftable'
-??_7bad_cast@std@@6B@
-; const  std::bad_exception::`vftable'
-??_7bad_exception@std@@6B@
-; const  std::bad_typeid::`vftable'
-??_7bad_typeid@std@@6B@
-; const  std::codecvt_base::`vftable'
-??_7codecvt_base@std@@6B@
-; const  std::ctype_base::`vftable'
-??_7ctype_base@std@@6B@
-; const  std::domain_error::`vftable'
-??_7domain_error@std@@6B@
-; const  std::locale::facet::`vftable'
-??_7facet@locale@std@@6B@
-; const  std::ios_base::`vftable'
-??_7ios_base@std@@6B@
-; const  std::length_error::`vftable'
-??_7length_error@std@@6B@
-; const  std::logic_error::`vftable'
-??_7logic_error@std@@6B@
-; const  std::messages_base::`vftable'
-??_7messages_base@std@@6B@
-; const  std::money_base::`vftable'
-??_7money_base@std@@6B@
-; const  std::out_of_range::`vftable'
-??_7out_of_range@std@@6B@
-; const  std::overflow_error::`vftable'
-??_7overflow_error@std@@6B@
-; const  std::range_error::`vftable'
-??_7range_error@std@@6B@
-; const  std::runtime_error::`vftable'
-??_7runtime_error@std@@6B@
-; const  std::time_base::`vftable'
-??_7time_base@std@@6B@
-; const  std::underflow_error::`vftable'
-??_7underflow_error@std@@6B@
-; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
-??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@
-; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
-??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@
-; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@
-; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@
-; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@
-; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@
-; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
-??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@
-; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
-??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@
-; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@
-; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@
-; const  std::basic_istream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@
-; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@
-; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
-??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@
-; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
-??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@
-; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@
-; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@
-; const  std::basic_ostream<char,struct std::char_traits<char> >::`vbtable'
-??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@
-; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
-??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@
-; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
-??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@
-; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
-??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@
-; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
-??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@
-; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
-??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@
-; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@
-; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
-??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@
-; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_iostream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
-??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::`vbase destructor'(void)
-??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
-??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
-??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
-??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::`default constructor closure'(void)
-??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
-??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
-; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
-??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
-; public: void __thiscall std::codecvt<char,char,int>::`default constructor closure'(void)
-??_F?$codecvt@DDH@std@@QAEXXZ
-; public: void __thiscall std::codecvt<unsigned short,char,int>::`default constructor closure'(void)
-??_F?$codecvt@GDH@std@@QAEXXZ
-; public: void __thiscall std::collate<char>::`default constructor closure'(void)
-??_F?$collate@D@std@@QAEXXZ
-; public: void __thiscall std::collate<unsigned short>::`default constructor closure'(void)
-??_F?$collate@G@std@@QAEXXZ
-; public: void __thiscall std::complex<float>::`default constructor closure'(void)
-??_F?$complex@M@std@@QAEXXZ
-; public: void __thiscall std::complex<double>::`default constructor closure'(void)
-??_F?$complex@N@std@@QAEXXZ
-; public: void __thiscall std::complex<long double>::`default constructor closure'(void)
-??_F?$complex@O@std@@QAEXXZ
-; public: void __thiscall std::ctype<char>::`default constructor closure'(void)
-??_F?$ctype@D@std@@QAEXXZ
-; public: void __thiscall std::ctype<unsigned short>::`default constructor closure'(void)
-??_F?$ctype@G@std@@QAEXXZ
-; public: void __thiscall std::messages<char>::`default constructor closure'(void)
-??_F?$messages@D@std@@QAEXXZ
-; public: void __thiscall std::messages<unsigned short>::`default constructor closure'(void)
-??_F?$messages@G@std@@QAEXXZ
-; public: void __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::moneypunct<char,1>::`default constructor closure'(void)
-??_F?$moneypunct@D$00@std@@QAEXXZ
-; public: void __thiscall std::moneypunct<char,0>::`default constructor closure'(void)
-??_F?$moneypunct@D$0A@@std@@QAEXXZ
-; public: void __thiscall std::moneypunct<unsigned short,1>::`default constructor closure'(void)
-??_F?$moneypunct@G$00@std@@QAEXXZ
-; public: void __thiscall std::moneypunct<unsigned short,0>::`default constructor closure'(void)
-??_F?$moneypunct@G$0A@@std@@QAEXXZ
-; public: void __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::numpunct<char>::`default constructor closure'(void)
-??_F?$numpunct@D@std@@QAEXXZ
-; public: void __thiscall std::numpunct<unsigned short>::`default constructor closure'(void)
-??_F?$numpunct@G@std@@QAEXXZ
-; public: void __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
-??_F?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
-??_F?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
-; public: void __thiscall std::_Locinfo::`default constructor closure'(void)
-??_F_Locinfo@std@@QAEXXZ
-; public: void __thiscall std::_Timevec::`default constructor closure'(void)
-??_F_Timevec@std@@QAEXXZ
-; public: void __thiscall std::bad_alloc::`default constructor closure'(void)
-??_Fbad_alloc@std@@QAEXXZ
-; public: void __thiscall std::bad_cast::`default constructor closure'(void)
-??_Fbad_cast@std@@QAEXXZ
-; public: void __thiscall std::bad_exception::`default constructor closure'(void)
-??_Fbad_exception@std@@QAEXXZ
-; public: void __thiscall std::bad_typeid::`default constructor closure'(void)
-??_Fbad_typeid@std@@QAEXXZ
-; public: void __thiscall std::codecvt_base::`default constructor closure'(void)
-??_Fcodecvt_base@std@@QAEXXZ
-; public: void __thiscall std::ctype_base::`default constructor closure'(void)
-??_Fctype_base@std@@QAEXXZ
-; public: void __thiscall std::locale::facet::`default constructor closure'(void)
-??_Ffacet@locale@std@@QAEXXZ
-; public: void __thiscall std::messages_base::`default constructor closure'(void)
-??_Fmessages_base@std@@QAEXXZ
-; public: void __thiscall std::money_base::`default constructor closure'(void)
-??_Fmoney_base@std@@QAEXXZ
-; public: void __thiscall std::time_base::`default constructor closure'(void)
-??_Ftime_base@std@@QAEXXZ
-; public: class std::_Locinfo & __thiscall std::_Locinfo::_Addcats(int,char const *)
-?_Addcats@_Locinfo@std@@QAEAAV12@HPBD@Z
-; public: class std::locale & __thiscall std::locale::_Addfac(class std::locale::facet *,unsigned int,unsigned int)
-?_Addfac@locale@std@@QAEAAV12@PAVfacet@12@II@Z
-; protected: void __thiscall std::ios_base::_Addstd(void)
-?_Addstd@ios_base@std@@IAEXXZ
-; char const  `private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)'::`2'::_C
-?_C@?1??_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ@4DB
-; unsigned short const  `private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)'::`2'::_C
-?_C@?1??_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGXZ@4GB
-; private: void __thiscall std::ios_base::_Callfns(enum std::ios_base::event)
-?_Callfns@ios_base@std@@AAEXW4event@12@@Z
-; private: static class std::locale::_Locimp *  std::locale::_Locimp::_Clocptr
-?_Clocptr@_Locimp@locale@std@@0PAV123@A DATA
-; private: static short const * const  std::ctype<char>::_Cltab
-?_Cltab@?$ctype@D@std@@0PBFB DATA
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Copy(unsigned int)
-?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Copy(unsigned int)
-?_Copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXI@Z
-; public: static float __cdecl std::_Ctr<float>::_Cosh(float,float)
-?_Cosh@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Cosh(double,double)
-?_Cosh@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Cosh(long double,long double)
-?_Cosh@?$_Ctr@O@std@@SAOOO@Z
-; public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)
-?_Decref@facet@locale@std@@QAEPAV123@XZ
-; protected: virtual void __thiscall std::bad_alloc::_Doraise(void)const 
-?_Doraise@bad_alloc@std@@MBEXXZ
-; protected: virtual void __thiscall std::bad_cast::_Doraise(void)const 
-?_Doraise@bad_cast@std@@MBEXXZ
-; protected: virtual void __thiscall std::bad_exception::_Doraise(void)const 
-?_Doraise@bad_exception@std@@MBEXXZ
-; protected: virtual void __thiscall std::bad_typeid::_Doraise(void)const 
-?_Doraise@bad_typeid@std@@MBEXXZ
-; protected: virtual void __thiscall std::domain_error::_Doraise(void)const 
-?_Doraise@domain_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::length_error::_Doraise(void)const 
-?_Doraise@length_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::logic_error::_Doraise(void)const 
-?_Doraise@logic_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::out_of_range::_Doraise(void)const 
-?_Doraise@out_of_range@std@@MBEXXZ
-; protected: virtual void __thiscall std::overflow_error::_Doraise(void)const 
-?_Doraise@overflow_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::range_error::_Doraise(void)const 
-?_Doraise@range_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::runtime_error::_Doraise(void)const 
-?_Doraise@runtime_error@std@@MBEXXZ
-; protected: virtual void __thiscall std::underflow_error::_Doraise(void)const 
-?_Doraise@underflow_error@std@@MBEXXZ
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Eos(unsigned int)
-?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Eos(unsigned int)
-?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXI@Z
-; public: static short __cdecl std::_Ctr<float>::_Exp(float *,float,short)
-?_Exp@?$_Ctr@M@std@@SAFPAMMF@Z
-; public: static short __cdecl std::_Ctr<double>::_Exp(double *,double,short)
-?_Exp@?$_Ctr@N@std@@SAFPANNF@Z
-; public: static short __cdecl std::_Ctr<long double>::_Exp(long double *,long double,short)
-?_Exp@?$_Ctr@O@std@@SAFPAOOF@Z
-; float __cdecl std::_Fabs(class std::complex<float> const &,int *)
-?_Fabs@std@@YAMABV?$complex@M@1@PAH@Z
-; double __cdecl std::_Fabs(class std::complex<double> const &,int *)
-?_Fabs@std@@YANABV?$complex@N@1@PAH@Z
-; long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)
-?_Fabs@std@@YAOABV?$complex@O@1@PAH@Z
-; protected: static char * __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ffmt(char *,char,int)
-?_Ffmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPADPADDH@Z
-; protected: static char * __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ffmt(char *,char,int)
-?_Ffmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPADPADDH@Z
-; private: struct std::ios_base::_Iosarray & __thiscall std::ios_base::_Findarr(int)
-?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Fput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,char const *,unsigned int,unsigned int)
-?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDII@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Fput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,char const *,unsigned int,unsigned int)
-?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDII@Z
-; __int64 const  std::_Fpz
-?_Fpz@std@@3_JB
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Freeze(void)
-?_Freeze@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Freeze(void)
-?_Freeze@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ
-; public: static unsigned int __cdecl std::_Mpunct<char>::_Getcat(void)
-?_Getcat@?$_Mpunct@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::_Mpunct<unsigned short>::_Getcat(void)
-?_Getcat@?$_Mpunct@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::codecvt<char,char,int>::_Getcat(void)
-?_Getcat@?$codecvt@DDH@std@@SAIXZ
-; public: static unsigned int __cdecl std::codecvt<unsigned short,char,int>::_Getcat(void)
-?_Getcat@?$codecvt@GDH@std@@SAIXZ
-; public: static unsigned int __cdecl std::collate<char>::_Getcat(void)
-?_Getcat@?$collate@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::collate<unsigned short>::_Getcat(void)
-?_Getcat@?$collate@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::ctype<char>::_Getcat(void)
-?_Getcat@?$ctype@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::ctype<unsigned short>::_Getcat(void)
-?_Getcat@?$ctype@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::messages<char>::_Getcat(void)
-?_Getcat@?$messages@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::messages<unsigned short>::_Getcat(void)
-?_Getcat@?$messages@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::moneypunct<char,1>::_Getcat(void)
-?_Getcat@?$moneypunct@D$00@std@@SAIXZ
-; public: static unsigned int __cdecl std::moneypunct<char,0>::_Getcat(void)
-?_Getcat@?$moneypunct@D$0A@@std@@SAIXZ
-; public: static unsigned int __cdecl std::moneypunct<unsigned short,1>::_Getcat(void)
-?_Getcat@?$moneypunct@G$00@std@@SAIXZ
-; public: static unsigned int __cdecl std::moneypunct<unsigned short,0>::_Getcat(void)
-?_Getcat@?$moneypunct@G$0A@@std@@SAIXZ
-; public: static unsigned int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::numpunct<char>::_Getcat(void)
-?_Getcat@?$numpunct@D@std@@SAIXZ
-; public: static unsigned int __cdecl std::numpunct<unsigned short>::_Getcat(void)
-?_Getcat@?$numpunct@G@std@@SAIXZ
-; public: static unsigned int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
-?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
-?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
-; public: static unsigned int __cdecl std::locale::facet::_Getcat(void)
-?_Getcat@facet@locale@std@@SAIXZ
-; public: struct _Collvec  __thiscall std::_Locinfo::_Getcoll(void)const 
-?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ
-; public: struct _Ctypevec  __thiscall std::_Locinfo::_Getctype(void)const 
-?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ
-; public: struct _Cvtvec  __thiscall std::_Locinfo::_Getcvt(void)const 
-?_Getcvt@_Locinfo@std@@QBE?AU_Cvtvec@@XZ
-; public: char const * __thiscall std::_Locinfo::_Getdays(void)const 
-?_Getdays@_Locinfo@std@@QBEPBDXZ
-; public: class std::locale::facet const * __thiscall std::locale::_Getfacet(unsigned int,bool)const 
-?_Getfacet@locale@std@@QBEPBVfacet@12@I_N@Z
-; public: char const * __thiscall std::_Locinfo::_Getfalse(void)const 
-?_Getfalse@_Locinfo@std@@QBEPBDXZ
-; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getffld(char *,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::locale const &)
-?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1ABVlocale@2@@Z
-; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getffld(char *,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::locale const &)
-?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1ABVlocale@2@@Z
-; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getifld(char *,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,int,class std::locale const &)
-?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z
-; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getifld(char *,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,int,class std::locale const &)
-?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z
-; private: static int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getint(class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,int,int,int &)
-?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAAH@Z
-; private: static int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getint(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,int,int,int &)
-?_Getint@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0HHAAH@Z
-; public: struct lconv const * __thiscall std::_Locinfo::_Getlconv(void)const 
-?_Getlconv@_Locinfo@std@@QBEPBUlconv@@XZ
-; private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getmfld(class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,bool,class std::ios_base &)const 
-?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@@Z
-; private: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getmfld(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,bool,class std::ios_base &)const 
-?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@@Z
-; public: char const * __thiscall std::_Locinfo::_Getmonths(void)const 
-?_Getmonths@_Locinfo@std@@QBEPBDXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Locinfo::_Getname(void)const 
-?_Getname@_Locinfo@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: char const * __thiscall std::_Locinfo::_Getno(void)const 
-?_Getno@_Locinfo@std@@QBEPBDXZ
-; public: void * __thiscall std::_Timevec::_Getptr(void)const 
-?_Getptr@_Timevec@std@@QBEPAXXZ
-; public: class std::_Timevec  __thiscall std::_Locinfo::_Gettnames(void)const 
-?_Gettnames@_Locinfo@std@@QBE?AV_Timevec@2@XZ
-; public: char const * __thiscall std::_Locinfo::_Gettrue(void)const 
-?_Gettrue@_Locinfo@std@@QBEPBDXZ
-; public: char const * __thiscall std::_Locinfo::_Getyes(void)const 
-?_Getyes@_Locinfo@std@@QBEPBDXZ
-; private: static class std::locale::_Locimp *  std::locale::_Locimp::_Global
-?_Global@_Locimp@locale@std@@0PAV123@A DATA
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gndec(void)
-?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gndec(void)
-?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gninc(void)
-?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gninc(void)
-?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
-; private: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)
-?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z
-; private: bool __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Grow(unsigned int,bool)
-?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAE_NI_N@Z
-; private: static int  std::locale::id::_Id_cnt
-?_Id_cnt@id@locale@std@@0HA DATA
-; protected: static char * __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ifmt(char *,char,int)
-?_Ifmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPADPADDH@Z
-; protected: static char * __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ifmt(char *,char,int)
-?_Ifmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPADPADDH@Z
-; public: void __thiscall std::locale::facet::_Incref(void)
-?_Incref@facet@locale@std@@QAEXXZ
-; private: static int  std::ios_base::_Index
-?_Index@ios_base@std@@0HA DATA
-; public: static float __cdecl std::_Ctr<float>::_Infv(float)
-?_Infv@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Infv(double)
-?_Infv@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Infv(long double)
-?_Infv@?$_Ctr@O@std@@SAOO@Z
-; protected: void __thiscall std::_Mpunct<char>::_Init(class std::_Locinfo const &)
-?_Init@?$_Mpunct@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::_Mpunct<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$_Mpunct@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf *,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl)
-?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z
-; protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf *,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl)
-?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(char * *,char * *,int *,char * *,char * *,int *)
-?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(void)
-?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(unsigned short * *,unsigned short * *,int *,unsigned short * *,unsigned short * *,int *)
-?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(void)
-?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ
-; protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Init(char const *,unsigned int,int)
-?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z
-; protected: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Init(unsigned short const *,unsigned int,int)
-?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z
-; protected: void __thiscall std::codecvt<char,char,int>::_Init(class std::_Locinfo const &)
-?_Init@?$codecvt@DDH@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::codecvt<unsigned short,char,int>::_Init(class std::_Locinfo const &)
-?_Init@?$codecvt@GDH@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::collate<char>::_Init(class std::_Locinfo const &)
-?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::collate<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$collate@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::ctype<char>::_Init(class std::_Locinfo const &)
-?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::ctype<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$ctype@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::messages<char>::_Init(class std::_Locinfo const &)
-?_Init@?$messages@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::messages<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$messages@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::numpunct<char>::_Init(class std::_Locinfo const &)
-?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::numpunct<unsigned short>::_Init(class std::_Locinfo const &)
-?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
-?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
-?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
-; protected: void __thiscall std::ios_base::_Init(void)
-?_Init@ios_base@std@@IAEXXZ
-; private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)
-?_Init@locale@std@@CAPAV_Locimp@12@XZ
-; protected: void __thiscall std::strstreambuf::_Init(int,char *,char *,int)
-?_Init@strstreambuf@std@@IAEXHPAD0H@Z
-; private: static int  std::ios_base::Init::_Init_cnt
-?_Init_cnt@Init@ios_base@std@@0HA DATA
-; private: static int  std::_Winit::_Init_cnt
-?_Init_cnt@_Winit@std@@0HA DATA
-; protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Initcvt(void)
-?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXXZ
-; protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initcvt(void)
-?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXXZ
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Iput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,char *,unsigned int)
-?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Iput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,char *,unsigned int)
-?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z
-; public: bool __thiscall std::locale::_Iscloc(void)const 
-?_Iscloc@locale@std@@QBE_NXZ
-; public: static bool __cdecl std::_Ctr<float>::_Isinf(float)
-?_Isinf@?$_Ctr@M@std@@SA_NM@Z
-; public: static bool __cdecl std::_Ctr<double>::_Isinf(double)
-?_Isinf@?$_Ctr@N@std@@SA_NN@Z
-; public: static bool __cdecl std::_Ctr<long double>::_Isinf(long double)
-?_Isinf@?$_Ctr@O@std@@SA_NO@Z
-; public: static bool __cdecl std::_Ctr<float>::_Isnan(float)
-?_Isnan@?$_Ctr@M@std@@SA_NM@Z
-; public: static bool __cdecl std::_Ctr<double>::_Isnan(double)
-?_Isnan@?$_Ctr@N@std@@SA_NN@Z
-; public: static bool __cdecl std::_Ctr<long double>::_Isnan(long double)
-?_Isnan@?$_Ctr@O@std@@SA_NO@Z
-; private: void __thiscall std::_Mpunct<char>::_Makpat(struct std::money_base::pattern &,char,char,char)
-?_Makpat@?$_Mpunct@D@std@@AAEXAAUpattern@money_base@2@DDD@Z
-; private: void __thiscall std::_Mpunct<unsigned short>::_Makpat(struct std::money_base::pattern &,char,char,char)
-?_Makpat@?$_Mpunct@G@std@@AAEXAAUpattern@money_base@2@DDD@Z
-; private: int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Mode(int)
-?_Mode@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z
-; private: int __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Mode(int)
-?_Mode@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z
-; public: static float __cdecl std::_Ctr<float>::_Nanv(float)
-?_Nanv@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Nanv(double)
-?_Nanv@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Nanv(long double)
-?_Nanv@?$_Ctr@O@std@@SAOO@Z
-; void __cdecl std::_Nomemory(void)
-?_Nomemory@std@@YAXXZ
-; private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)
-?_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ
-; private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)
-?_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGXZ
-; private: static unsigned int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Pdif(char const *,char const *)
-?_Pdif@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIPBD0@Z
-; private: static unsigned int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Pdif(unsigned short const *,unsigned short const *)
-?_Pdif@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAIPBG0@Z
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)
-?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Pninc(void)
-?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
-; private: static char * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char *,unsigned int)
-?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPADPADI@Z
-; private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char const *,unsigned int)
-?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDPBDI@Z
-; private: static unsigned short * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short *,unsigned int)
-?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPAGPAGI@Z
-; private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short const *,unsigned int)
-?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGPBGI@Z
-; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
-?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
-; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const *,unsigned int)
-?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBGI@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
-?_Put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const *,unsigned int)
-?_Put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBGI@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putc(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
-?_Putc@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putc(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,char const *,unsigned int)
-?_Putc@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBDI@Z
-; private: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putmfld(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,bool,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)const 
-?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; private: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putmfld(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,bool,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >)const 
-?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; ?BN@???$_Fabs@M@std::_R2(YAMABV?$complex@M@1@PAH@Z@4MB)
-?_R2@?BN@???$_Fabs@M@std@@YAMABV?$complex@M@1@PAH@Z@4MB
-; ?BN@???$_Fabs@N@std::_R2(YANABV?$complex@N@1@PAH@Z@4NB)
-?_R2@?BN@???$_Fabs@N@std@@YANABV?$complex@N@1@PAH@Z@4NB
-; private: unsigned char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Refcnt(char const *)
-?_Refcnt@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAEPBD@Z
-; private: unsigned char & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Refcnt(unsigned short const *)
-?_Refcnt@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAEPBG@Z
-; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned int)
-?_Rep@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z
-; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned int)
-?_Rep@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z
-; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned int)
-?_Rep@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z
-; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned int)
-?_Rep@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z
-; public: static float __cdecl std::_Ctr<float>::_Sinh(float,float)
-?_Sinh@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::_Sinh(double,double)
-?_Sinh@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::_Sinh(long double,long double)
-?_Sinh@?$_Ctr@O@std@@SAOOO@Z
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Split(void)
-?_Split@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Split(void)
-?_Split@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ
-; int  `protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf *,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl)'::`2'::_Stinit
-?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
-; int  `protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf *,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl)'::`2'::_Stinit
-?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
-; private: static bool  std::ios_base::_Sync
-?_Sync@ios_base@std@@0_NA DATA
-; protected: static void __cdecl std::ctype<char>::_Term(void)
-?_Term@?$ctype@D@std@@KAXXZ
-; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(bool)
-?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z
-; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(bool)
-?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEX_N@Z
-; protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(void)
-?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ
-; protected: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(void)
-?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ
-; private: void __thiscall std::ios_base::_Tidy(void)
-?_Tidy@ios_base@std@@AAEXXZ
-; private: static void __cdecl std::locale::_Tidy(void)
-?_Tidy@locale@std@@CAXXZ
-; protected: void __thiscall std::strstreambuf::_Tidy(void)
-?_Tidy@strstreambuf@std@@IAEXXZ
-; void __cdecl std::_Xlen(void)
-?_Xlen@std@@YAXXZ
-; void __cdecl std::_Xran(void)
-?_Xran@std@@YAXXZ
-; struct _iobuf * __cdecl std::__Fiopen(char const *,int)
-?__Fiopen@std@@YAPAU_iobuf@@PBDH@Z
-; float __cdecl std::abs(class std::complex<float> const &)
-?abs@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::abs(class std::complex<double> const &)
-?abs@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::abs(class std::complex<long double> const &)
-?abs@std@@YAOABV?$complex@O@1@@Z
-; public: bool __thiscall std::codecvt_base::always_noconv(void)const 
-?always_noconv@codecvt_base@std@@QBE_NXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(unsigned int,char)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,char const *)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,unsigned int)
-?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned int,unsigned short)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *,unsigned short const *)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *,unsigned int)
-?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z
-; float __cdecl std::arg(class std::complex<float> const &)
-?arg@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::arg(class std::complex<double> const &)
-?arg@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::arg(class std::complex<long double> const &)
-?arg@std@@YAOABV?$complex@O@1@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(unsigned int,char)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *,char const *)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *,unsigned int)
-?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned int,unsigned short)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *,unsigned short const *)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *,unsigned int)
-?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z
-; public: static char * __cdecl std::char_traits<char>::assign(char *,unsigned int,char const &)
-?assign@?$char_traits@D@std@@SAPADPADIABD@Z
-; public: static void __cdecl std::char_traits<char>::assign(char &,char const &)
-?assign@?$char_traits@D@std@@SAXAADABD@Z
-; public: static unsigned short * __cdecl std::char_traits<unsigned short>::assign(unsigned short *,unsigned int,unsigned short const &)
-?assign@?$char_traits@G@std@@SAPAGPAGIABG@Z
-; public: static void __cdecl std::char_traits<unsigned short>::assign(unsigned short &,unsigned short const &)
-?assign@?$char_traits@G@std@@SAXAAGABG@Z
-; public: char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned int)
-?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z
-; public: char const & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned int)const 
-?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z
-; public: unsigned short & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned int)
-?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z
-; public: unsigned short const & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned int)const 
-?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z
-; public: static float __cdecl std::_Ctr<float>::atan2(float,float)
-?atan2@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::atan2(double,double)
-?atan2@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::atan2(long double,long double)
-?atan2@?$_Ctr@O@std@@SAOOO@Z
-; public: bool __thiscall std::ios_base::bad(void)const 
-?bad@ios_base@std@@QBE_NXZ
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)
-?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADXZ
-; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)const 
-?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)
-?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGXZ
-; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)const 
-?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
-; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const 
-?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
-; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::c_str(void)const 
-?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::capacity(void)const 
-?capacity@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::capacity(void)const 
-?capacity@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
-; class std::basic_ostream<char,struct std::char_traits<char> >  std::cerr
-?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
-; class std::basic_istream<char,struct std::char_traits<char> >  std::cin
-?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A DATA
-; public: static class std::locale const & __cdecl std::locale::classic(void)
-?classic@locale@std@@SAABV12@XZ
-; protected: static short const * __cdecl std::ctype<char>::classic_table(void)
-?classic_table@?$ctype@D@std@@KAPBFXZ
-; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(short)
-?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXF@Z
-; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool)
-?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
-; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(short)
-?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXF@Z
-; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(int,bool)
-?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z
-; public: void __thiscall std::ios_base::clear(short)
-?clear@ios_base@std@@QAEXF@Z
-; public: void __thiscall std::ios_base::clear(int,bool)
-?clear@ios_base@std@@QAEXH_N@Z
-; class std::basic_ostream<char,struct std::char_traits<char> >  std::clog
-?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::close(void)
-?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::close(void)
-?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ
-; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::close(void)
-?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
-?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::close(void)
-?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
-?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::close(void)
-?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
-?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::messages<char>::close(int)const 
-?close@?$messages@D@std@@QBEXH@Z
-; public: void __thiscall std::messages<unsigned short>::close(int)const 
-?close@?$messages@G@std@@QBEXH@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@II@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,char const *)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBD@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,char const *,unsigned int)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z
-; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(char const *)const 
-?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHPBD@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHABV12@@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@II@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,unsigned short const *)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBG@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,unsigned short const *,unsigned int)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBGI@Z
-; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned short const *)const 
-?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHPBG@Z
-; public: static int __cdecl std::char_traits<char>::compare(char const *,char const *,unsigned int)
-?compare@?$char_traits@D@std@@SAHPBD0I@Z
-; public: static int __cdecl std::char_traits<unsigned short>::compare(unsigned short const *,unsigned short const *,unsigned int)
-?compare@?$char_traits@G@std@@SAHPBG0I@Z
-; public: int __thiscall std::collate<char>::compare(char const *,char const *,char const *,char const *)const 
-?compare@?$collate@D@std@@QBEHPBD000@Z
-; public: int __thiscall std::collate<unsigned short>::compare(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)const 
-?compare@?$collate@G@std@@QBEHPBG000@Z
-; class std::complex<float>  __cdecl std::conj(class std::complex<float> const &)
-?conj@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::conj(class std::complex<double> const &)
-?conj@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::conj(class std::complex<long double> const &)
-?conj@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::copy(char *,unsigned int,unsigned int)const 
-?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPADII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::copy(unsigned short *,unsigned int,unsigned int)const 
-?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPAGII@Z
-; public: static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned int)
-?copy@?$char_traits@D@std@@SAPADPADPBDI@Z
-; public: static unsigned short * __cdecl std::char_traits<unsigned short>::copy(unsigned short *,unsigned short const *,unsigned int)
-?copy@?$char_traits@G@std@@SAPAGPAGPBGI@Z
-; public: class std::basic_ios<char,struct std::char_traits<char> > & __thiscall std::basic_ios<char,struct std::char_traits<char> >::copyfmt(class std::basic_ios<char,struct std::char_traits<char> > const &)
-?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z
-; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::copyfmt(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
-?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV12@ABV12@@Z
-; public: class std::ios_base & __thiscall std::ios_base::copyfmt(class std::ios_base const &)
-?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z
-; public: static float __cdecl std::_Ctr<float>::cos(float)
-?cos@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::cos(double)
-?cos@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::cos(long double)
-?cos@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::cos(class std::complex<float> const &)
-?cos@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::cos(class std::complex<double> const &)
-?cos@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::cos(class std::complex<long double> const &)
-?cos@std@@YA?AV?$complex@O@1@ABV21@@Z
-; class std::complex<float>  __cdecl std::cosh(class std::complex<float> const &)
-?cosh@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::cosh(class std::complex<double> const &)
-?cosh@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::cosh(class std::complex<long double> const &)
-?cosh@std@@YA?AV?$complex@O@1@ABV21@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> >  std::cout
-?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::curr_symbol(void)const 
-?curr_symbol@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::curr_symbol(void)const 
-?curr_symbol@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::data(void)const 
-?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
-; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::data(void)const 
-?data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
-; public: int __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::date_order(void)const 
-?date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBEHXZ
-; public: int __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::date_order(void)const 
-?date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBEHXZ
-; public: char __thiscall std::_Mpunct<char>::decimal_point(void)const 
-?decimal_point@?$_Mpunct@D@std@@QBEDXZ
-; public: unsigned short __thiscall std::_Mpunct<unsigned short>::decimal_point(void)const 
-?decimal_point@?$_Mpunct@G@std@@QBEGXZ
-; public: char __thiscall std::numpunct<char>::decimal_point(void)const 
-?decimal_point@?$numpunct@D@std@@QBEDXZ
-; public: unsigned short __thiscall std::numpunct<unsigned short>::decimal_point(void)const 
-?decimal_point@?$numpunct@G@std@@QBEGXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::denorm_min(void)
-?denorm_min@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::denorm_min(void)
-?denorm_min@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::denorm_min(void)
-?denorm_min@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::denorm_min(void)
-?denorm_min@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::denorm_min(void)
-?denorm_min@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::denorm_min(void)
-?denorm_min@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::denorm_min(void)
-?denorm_min@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::denorm_min(void)
-?denorm_min@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::denorm_min(void)
-?denorm_min@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::denorm_min(void)
-?denorm_min@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::denorm_min(void)
-?denorm_min@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::denorm_min(void)
-?denorm_min@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::denorm_min(void)
-?denorm_min@?$numeric_limits@_N@std@@SA_NXZ
-; protected: virtual bool __thiscall std::codecvt<unsigned short,char,int>::do_always_noconv(void)const 
-?do_always_noconv@?$codecvt@GDH@std@@MBE_NXZ
-; protected: virtual bool __thiscall std::codecvt_base::do_always_noconv(void)const 
-?do_always_noconv@codecvt_base@std@@MBE_NXZ
-; protected: virtual void __thiscall std::messages<char>::do_close(int)const 
-?do_close@?$messages@D@std@@MBEXH@Z
-; protected: virtual void __thiscall std::messages<unsigned short>::do_close(int)const 
-?do_close@?$messages@G@std@@MBEXH@Z
-; protected: virtual int __thiscall std::collate<char>::do_compare(char const *,char const *,char const *,char const *)const 
-?do_compare@?$collate@D@std@@MBEHPBD000@Z
-; protected: virtual int __thiscall std::collate<unsigned short>::do_compare(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)const 
-?do_compare@?$collate@G@std@@MBEHPBG000@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_curr_symbol(void)const 
-?do_curr_symbol@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_curr_symbol(void)const 
-?do_curr_symbol@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_date_order(void)const 
-?do_date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBEHXZ
-; protected: virtual int __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_date_order(void)const 
-?do_date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBEHXZ
-; protected: virtual char __thiscall std::_Mpunct<char>::do_decimal_point(void)const 
-?do_decimal_point@?$_Mpunct@D@std@@MBEDXZ
-; protected: virtual unsigned short __thiscall std::_Mpunct<unsigned short>::do_decimal_point(void)const 
-?do_decimal_point@?$_Mpunct@G@std@@MBEGXZ
-; protected: virtual char __thiscall std::numpunct<char>::do_decimal_point(void)const 
-?do_decimal_point@?$numpunct@D@std@@MBEDXZ
-; protected: virtual unsigned short __thiscall std::numpunct<unsigned short>::do_decimal_point(void)const 
-?do_decimal_point@?$numpunct@G@std@@MBEGXZ
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_encoding(void)const 
-?do_encoding@?$codecvt@GDH@std@@MBEHXZ
-; protected: virtual int __thiscall std::codecvt_base::do_encoding(void)const 
-?do_encoding@codecvt_base@std@@MBEHXZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_falsename(void)const 
-?do_falsename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::do_falsename(void)const 
-?do_falsename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __thiscall std::_Mpunct<char>::do_frac_digits(void)const 
-?do_frac_digits@?$_Mpunct@D@std@@MBEHXZ
-; protected: virtual int __thiscall std::_Mpunct<unsigned short>::do_frac_digits(void)const 
-?do_frac_digits@?$_Mpunct@G@std@@MBEHXZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::messages<char>::do_get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?do_get@?$messages@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHABV32@@Z
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::messages<unsigned short>::do_get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?do_get@?$messages@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHABV32@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,long double &)const 
-?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const 
-?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,long double &)const 
-?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)const 
-?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned short &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned int &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned long &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,float &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,double &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long double &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,void * &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,bool &)const 
-?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned short &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned int &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned long &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,float &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,double &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long double &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,void * &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,bool &)const 
-?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_grouping(void)const 
-?do_grouping@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<unsigned short>::do_grouping(void)const 
-?do_grouping@?$_Mpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_grouping(void)const 
-?do_grouping@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<unsigned short>::do_grouping(void)const 
-?do_grouping@?$numpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual long __thiscall std::collate<char>::do_hash(char const *,char const *)const 
-?do_hash@?$collate@D@std@@MBEJPBD0@Z
-; protected: virtual long __thiscall std::collate<unsigned short>::do_hash(unsigned short const *,unsigned short const *)const 
-?do_hash@?$collate@G@std@@MBEJPBG0@Z
-; protected: virtual int __thiscall std::codecvt<char,char,int>::do_in(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
-?do_in@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_in(int &,char const *,char const *,char const * &,unsigned short *,unsigned short *,unsigned short * &)const 
-?do_in@?$codecvt@GDH@std@@MBEHAAHPBD1AAPBDPAG3AAPAG@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_is(unsigned short const *,unsigned short const *,short *)const 
-?do_is@?$ctype@G@std@@MBEPBGPBG0PAF@Z
-; protected: virtual bool __thiscall std::ctype<unsigned short>::do_is(short,unsigned short)const 
-?do_is@?$ctype@G@std@@MBE_NFG@Z
-; protected: virtual int __thiscall std::codecvt<char,char,int>::do_length(int &,char const *,char const *,unsigned int)const 
-?do_length@?$codecvt@DDH@std@@MBEHAAHPBD1I@Z
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_length(int &,unsigned short const *,unsigned short const *,unsigned int)const 
-?do_length@?$codecvt@GDH@std@@MBEHAAHPBG1I@Z
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_max_length(void)const 
-?do_max_length@?$codecvt@GDH@std@@MBEHXZ
-; protected: virtual int __thiscall std::codecvt_base::do_max_length(void)const 
-?do_max_length@codecvt_base@std@@MBEHXZ
-; protected: virtual char __thiscall std::ctype<unsigned short>::do_narrow(unsigned short,char)const 
-?do_narrow@?$ctype@G@std@@MBEDGD@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_narrow(unsigned short const *,unsigned short const *,char,char *)const 
-?do_narrow@?$ctype@G@std@@MBEPBGPBG0DPAD@Z
-; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<char>::do_neg_format(void)const 
-?do_neg_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ
-; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::do_neg_format(void)const 
-?do_neg_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_negative_sign(void)const 
-?do_negative_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_negative_sign(void)const 
-?do_negative_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __thiscall std::messages<char>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
-?do_open@?$messages@D@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
-; protected: virtual int __thiscall std::messages<unsigned short>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
-?do_open@?$messages@G@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
-; protected: virtual int __thiscall std::codecvt<char,char,int>::do_out(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
-?do_out@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
-; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_out(int &,unsigned short const *,unsigned short const *,unsigned short const * &,char *,char *,char * &)const 
-?do_out@?$codecvt@GDH@std@@MBEHAAHPBG1AAPBGPAD3AAPAD@Z
-; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<char>::do_pos_format(void)const 
-?do_pos_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ
-; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::do_pos_format(void)const 
-?do_pos_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_positive_sign(void)const 
-?do_positive_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_positive_sign(void)const 
-?do_positive_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,long double)const 
-?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,long double)const 
-?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DJ@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,unsigned long)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,double)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long double)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,void const *)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBX@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,bool)const 
-?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GJ@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,unsigned long)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GK@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,double)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long double)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,void const *)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBX@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,bool)const 
-?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z
-; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char,char)const 
-?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
-; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,char,char)const 
-?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_scan_is(short,unsigned short const *,unsigned short const *)const 
-?do_scan_is@?$ctype@G@std@@MBEPBGFPBG0@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_scan_not(short,unsigned short const *,unsigned short const *)const 
-?do_scan_not@?$ctype@G@std@@MBEPBGFPBG0@Z
-; protected: virtual char __thiscall std::_Mpunct<char>::do_thousands_sep(void)const 
-?do_thousands_sep@?$_Mpunct@D@std@@MBEDXZ
-; protected: virtual unsigned short __thiscall std::_Mpunct<unsigned short>::do_thousands_sep(void)const 
-?do_thousands_sep@?$_Mpunct@G@std@@MBEGXZ
-; protected: virtual char __thiscall std::numpunct<char>::do_thousands_sep(void)const 
-?do_thousands_sep@?$numpunct@D@std@@MBEDXZ
-; protected: virtual unsigned short __thiscall std::numpunct<unsigned short>::do_thousands_sep(void)const 
-?do_thousands_sep@?$numpunct@G@std@@MBEGXZ
-; protected: virtual char __thiscall std::ctype<char>::do_tolower(char)const 
-?do_tolower@?$ctype@D@std@@MBEDD@Z
-; protected: virtual char const * __thiscall std::ctype<char>::do_tolower(char *,char const *)const 
-?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z
-; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_tolower(unsigned short)const 
-?do_tolower@?$ctype@G@std@@MBEGG@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_tolower(unsigned short *,unsigned short const *)const 
-?do_tolower@?$ctype@G@std@@MBEPBGPAGPBG@Z
-; protected: virtual char __thiscall std::ctype<char>::do_toupper(char)const 
-?do_toupper@?$ctype@D@std@@MBEDD@Z
-; protected: virtual char const * __thiscall std::ctype<char>::do_toupper(char *,char const *)const 
-?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z
-; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_toupper(unsigned short)const 
-?do_toupper@?$ctype@G@std@@MBEGG@Z
-; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_toupper(unsigned short *,unsigned short const *)const 
-?do_toupper@?$ctype@G@std@@MBEPBGPAGPBG@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::collate<char>::do_transform(char const *,char const *)const 
-?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::collate<unsigned short>::do_transform(unsigned short const *,unsigned short const *)const 
-?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z
-; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_truename(void)const 
-?do_truename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::do_truename(void)const 
-?do_truename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_widen(char)const 
-?do_widen@?$ctype@G@std@@MBEGD@Z
-; protected: virtual char const * __thiscall std::ctype<unsigned short>::do_widen(char const *,char const *,unsigned short *)const 
-?do_widen@?$ctype@G@std@@MBEPBDPBD0PAG@Z
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const 
-?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::eback(void)const 
-?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const 
-?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::egptr(void)const 
-?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; public: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::empty(void)const 
-?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::empty(void)const 
-?empty@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE_NXZ
-; public: static class std::locale  __cdecl std::locale::empty(void)
-?empty@locale@std@@SA?AV12@XZ
-; public: int __thiscall std::codecvt_base::encoding(void)const 
-?encoding@codecvt_base@std@@QBEHXZ
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)
-?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADXZ
-; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)const 
-?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)
-?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGXZ
-; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)const 
-?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)
-?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::endl(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
-?endl@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::ends(class std::basic_ostream<char,struct std::char_traits<char> > &)
-?ends@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::ends(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
-?ends@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
-; public: static int __cdecl std::char_traits<char>::eof(void)
-?eof@?$char_traits@D@std@@SAHXZ
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::eof(void)
-?eof@?$char_traits@G@std@@SAGXZ
-; public: bool __thiscall std::ios_base::eof(void)const 
-?eof@ios_base@std@@QBE_NXZ
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const 
-?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::epptr(void)const 
-?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::epsilon(void)
-?epsilon@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::epsilon(void)
-?epsilon@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::epsilon(void)
-?epsilon@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::epsilon(void)
-?epsilon@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::epsilon(void)
-?epsilon@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::epsilon(void)
-?epsilon@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::epsilon(void)
-?epsilon@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::epsilon(void)
-?epsilon@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::epsilon(void)
-?epsilon@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::epsilon(void)
-?epsilon@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::epsilon(void)
-?epsilon@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::epsilon(void)
-?epsilon@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::epsilon(void)
-?epsilon@?$numeric_limits@_N@std@@SA_NXZ
-; public: static bool __cdecl std::char_traits<char>::eq(char const &,char const &)
-?eq@?$char_traits@D@std@@SA_NABD0@Z
-; public: static bool __cdecl std::char_traits<unsigned short>::eq(unsigned short const &,unsigned short const &)
-?eq@?$char_traits@G@std@@SA_NABG0@Z
-; public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)
-?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z
-; public: static bool __cdecl std::char_traits<unsigned short>::eq_int_type(unsigned short const &,unsigned short const &)
-?eq_int_type@?$char_traits@G@std@@SA_NABG0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned int)
-?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char *,char *)
-?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPAD0@Z
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char *)
-?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPAD@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned int,unsigned int)
-?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@II@Z
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short *,unsigned short *)
-?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAG0@Z
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short *)
-?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAG@Z
-; public: void __thiscall std::ios_base::exceptions(short)
-?exceptions@ios_base@std@@QAEXF@Z
-; public: void __thiscall std::ios_base::exceptions(int)
-?exceptions@ios_base@std@@QAEXH@Z
-; public: int __thiscall std::ios_base::exceptions(void)const 
-?exceptions@ios_base@std@@QBEHXZ
-; public: static float __cdecl std::_Ctr<float>::exp(float)
-?exp@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::exp(double)
-?exp@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::exp(long double)
-?exp@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::exp(class std::complex<float> const &)
-?exp@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::exp(class std::complex<double> const &)
-?exp@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::exp(class std::complex<long double> const &)
-?exp@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: bool __thiscall std::ios_base::fail(void)const 
-?fail@ios_base@std@@QBE_NXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::falsename(void)const 
-?falsename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::falsename(void)const 
-?falsename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(char)
-?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z
-; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const 
-?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ
-; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(unsigned short)
-?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEGG@Z
-; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(void)const 
-?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGXZ
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char,unsigned int)const 
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const *,unsigned int)const 
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const *,unsigned int,unsigned int)const 
-?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short,unsigned int)const 
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const *,unsigned int)const 
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const *,unsigned int,unsigned int)const 
-?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: static char const * __cdecl std::char_traits<char>::find(char const *,unsigned int,char const &)
-?find@?$char_traits@D@std@@SAPBDPBDIABD@Z
-; public: static unsigned short const * __cdecl std::char_traits<unsigned short>::find(unsigned short const *,unsigned int,unsigned short const &)
-?find@?$char_traits@G@std@@SAPBGPBGIABG@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char,unsigned int)const 
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const *,unsigned int)const 
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const *,unsigned int,unsigned int)const 
-?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short,unsigned int)const 
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const *,unsigned int)const 
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const *,unsigned int,unsigned int)const 
-?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char,unsigned int)const 
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const *,unsigned int)const 
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const *,unsigned int,unsigned int)const 
-?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short,unsigned int)const 
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const *,unsigned int)const 
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const *,unsigned int,unsigned int)const 
-?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char,unsigned int)const 
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const *,unsigned int)const 
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const *,unsigned int,unsigned int)const 
-?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short,unsigned int)const 
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const *,unsigned int)const 
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const *,unsigned int,unsigned int)const 
-?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char,unsigned int)const 
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const *,unsigned int)const 
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const *,unsigned int,unsigned int)const 
-?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short,unsigned int)const 
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const *,unsigned int)const 
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const *,unsigned int,unsigned int)const 
-?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: int __thiscall std::ios_base::flags(int)
-?flags@ios_base@std@@QAEHH@Z
-; public: int __thiscall std::ios_base::flags(void)const 
-?flags@ios_base@std@@QBEHXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)
-?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::flush(void)
-?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ
-; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::flush(class std::basic_ostream<char,struct std::char_traits<char> > &)
-?flush@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::flush(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
-?flush@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
-; public: int __thiscall std::_Mpunct<char>::frac_digits(void)const 
-?frac_digits@?$_Mpunct@D@std@@QBEHXZ
-; public: int __thiscall std::_Mpunct<unsigned short>::frac_digits(void)const 
-?frac_digits@?$_Mpunct@G@std@@QBEHXZ
-; public: void __thiscall std::strstreambuf::freeze(bool)
-?freeze@strstreambuf@std@@QAEX_N@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int)
-?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gbump(int)
-?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::gcount(void)const 
-?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBEHXZ
-; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::gcount(void)const 
-?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBEHXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char &)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAD@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > &)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > &,char)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char *,int)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char *,int,char)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(void)
-?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short &)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAG@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > &)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short *,int)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short *,int,unsigned short)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z
-; public: unsigned short __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(void)
-?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::messages<char>::get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?get@?$messages@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHABV32@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::messages<unsigned short>::get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?get@?$messages@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHABV32@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,long double &)const 
-?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const 
-?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,long double &)const 
-?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)const 
-?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned short &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned int &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned long &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,float &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,double &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long double &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,void * &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,bool &)const 
-?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned short &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned int &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned long &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,float &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,double &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long double &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,void * &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,bool &)const 
-?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
-; public: class std::allocator<char>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::get_allocator(void)const 
-?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ
-; public: class std::allocator<unsigned short>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::get_allocator(void)const 
-?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$allocator@G@2@XZ
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
-?get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
-?get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,int)
-?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,int,char)
-?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short *,int)
-?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short *,int,unsigned short)
-?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
-?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,char)
-?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
-?getline@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,unsigned short)
-?getline@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z
-; public: class std::locale  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::getloc(void)
-?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@XZ
-; public: class std::locale  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::getloc(void)
-?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@XZ
-; public: class std::locale  __thiscall std::ios_base::getloc(void)const 
-?getloc@ios_base@std@@QBE?AVlocale@2@XZ
-; public: static class std::locale  __cdecl std::locale::global(class std::locale const &)
-?global@locale@std@@SA?AV12@ABV12@@Z
-; public: bool __thiscall std::ios_base::good(void)const 
-?good@ios_base@std@@QBE_NXZ
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const 
-?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gptr(void)const 
-?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::grouping(void)const 
-?grouping@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<unsigned short>::grouping(void)const 
-?grouping@?$_Mpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::grouping(void)const 
-?grouping@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<unsigned short>::grouping(void)const 
-?grouping@?$numpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: long __thiscall std::collate<char>::hash(char const *,char const *)const 
-?hash@?$collate@D@std@@QBEJPBD0@Z
-; public: long __thiscall std::collate<unsigned short>::hash(unsigned short const *,unsigned short const *)const 
-?hash@?$collate@G@std@@QBEJPBG0@Z
-; public: static class std::locale::id  std::codecvt<char,char,int>::id
-?id@?$codecvt@DDH@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::codecvt<unsigned short,char,int>::id
-?id@?$codecvt@GDH@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::collate<char>::id
-?id@?$collate@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::collate<unsigned short>::id
-?id@?$collate@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::ctype<char>::id
-?id@?$ctype@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::ctype<unsigned short>::id
-?id@?$ctype@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::messages<char>::id
-?id@?$messages@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::messages<unsigned short>::id
-?id@?$messages@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<char,1>::id
-?id@?$moneypunct@D$00@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<char,0>::id
-?id@?$moneypunct@D$0A@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<unsigned short,1>::id
-?id@?$moneypunct@G$00@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::moneypunct<unsigned short,0>::id
-?id@?$moneypunct@G$0A@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::numpunct<char>::id
-?id@?$numpunct@D@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::numpunct<unsigned short>::id
-?id@?$numpunct@G@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
-?id@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
-; public: static class std::locale::id  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
-?id@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::ignore(int,int)
-?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@HH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ignore(int,unsigned short)
-?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@HG@Z
-; public: float __thiscall std::_Complex_base<float>::imag(float const &)
-?imag@?$_Complex_base@M@std@@QAEMABM@Z
-; public: float __thiscall std::_Complex_base<float>::imag(void)const 
-?imag@?$_Complex_base@M@std@@QBEMXZ
-; public: double __thiscall std::_Complex_base<double>::imag(double const &)
-?imag@?$_Complex_base@N@std@@QAENABN@Z
-; public: double __thiscall std::_Complex_base<double>::imag(void)const 
-?imag@?$_Complex_base@N@std@@QBENXZ
-; public: long double __thiscall std::_Complex_base<long double>::imag(long double const &)
-?imag@?$_Complex_base@O@std@@QAEOABO@Z
-; public: long double __thiscall std::_Complex_base<long double>::imag(void)const 
-?imag@?$_Complex_base@O@std@@QBEOXZ
-; float __cdecl std::imag(class std::complex<float> const &)
-?imag@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::imag(class std::complex<double> const &)
-?imag@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::imag(class std::complex<long double> const &)
-?imag@std@@YAOABV?$complex@O@1@@Z
-; public: class std::locale  __thiscall std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const &)
-?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z
-; public: class std::locale  __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const &)
-?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z
-; protected: virtual void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::imbue(class std::locale const &)
-?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z
-; protected: virtual void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const &)
-?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z
-; public: class std::locale  __thiscall std::ios_base::imbue(class std::locale const &)
-?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z
-; public: int __thiscall std::codecvt<char,char,int>::in(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
-?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
-; public: int __thiscall std::codecvt<unsigned short,char,int>::in(int &,char const *,char const *,char const * &,unsigned short *,unsigned short *,unsigned short * &)const 
-?in@?$codecvt@GDH@std@@QBEHAAHPBD1AAPBDPAG3AAPAG@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::in_avail(void)
-?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::in_avail(void)
-?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::infinity(void)
-?infinity@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::infinity(void)
-?infinity@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::infinity(void)
-?infinity@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::infinity(void)
-?infinity@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::infinity(void)
-?infinity@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::infinity(void)
-?infinity@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::infinity(void)
-?infinity@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::infinity(void)
-?infinity@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::infinity(void)
-?infinity@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::infinity(void)
-?infinity@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::infinity(void)
-?infinity@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::infinity(void)
-?infinity@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::infinity(void)
-?infinity@?$numeric_limits@_N@std@@SA_NXZ
-; protected: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::init(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)
-?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z
-; protected: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::init(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool)
-?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IAEXPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@II@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,unsigned int,char)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,char const *)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,char const *,unsigned int)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBDI@Z
-; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,char)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPADD@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,unsigned int,char)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXPADID@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,char const *,char const *)
-?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXPADPBD1@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned int,unsigned short)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned short const *)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned short const *,unsigned int)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBGI@Z
-; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned short)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAGG@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned int,unsigned short)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXPAGIG@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned short const *,unsigned short const *)
-?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXPAGPBG1@Z
-; public: static bool const  std::moneypunct<char,1>::intl
-?intl@?$moneypunct@D$00@std@@2_NB
-; public: static bool const  std::moneypunct<char,0>::intl
-?intl@?$moneypunct@D$0A@@std@@2_NB
-; public: static bool const  std::moneypunct<unsigned short,1>::intl
-?intl@?$moneypunct@G$00@std@@2_NB
-; public: static bool const  std::moneypunct<unsigned short,0>::intl
-?intl@?$moneypunct@G$0A@@std@@2_NB
-; public: bool __thiscall std::basic_istream<char,struct std::char_traits<char> >::ipfx(bool)
-?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z
-; public: bool __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ipfx(bool)
-?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z
-; public: char const * __thiscall std::ctype<char>::is(char const *,char const *,short *)const 
-?is@?$ctype@D@std@@QBEPBDPBD0PAF@Z
-; public: bool __thiscall std::ctype<char>::is(short,char)const 
-?is@?$ctype@D@std@@QBE_NFD@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::is(unsigned short const *,unsigned short const *,short *)const 
-?is@?$ctype@G@std@@QBEPBGPBG0PAF@Z
-; public: bool __thiscall std::ctype<unsigned short>::is(short,unsigned short)const 
-?is@?$ctype@G@std@@QBE_NFG@Z
-; public: bool __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::is_open(void)const 
-?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
-?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_fstream<char,struct std::char_traits<char> >::is_open(void)const 
-?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
-?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::is_open(void)const 
-?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
-?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::is_open(void)const 
-?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
-; public: bool __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
-?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
-; public: void __thiscall std::basic_istream<char,struct std::char_traits<char> >::isfx(void)
-?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::isfx(void)
-?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: long & __thiscall std::ios_base::iword(int)
-?iword@ios_base@std@@QAEAAJH@Z
-; public: static float __cdecl std::_Ctr<float>::ldexp(float,int)
-?ldexp@?$_Ctr@M@std@@SAMMH@Z
-; public: static double __cdecl std::_Ctr<double>::ldexp(double,int)
-?ldexp@?$_Ctr@N@std@@SANNH@Z
-; public: static long double __cdecl std::_Ctr<long double>::ldexp(long double,int)
-?ldexp@?$_Ctr@O@std@@SAOOH@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::length(void)const 
-?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::length(void)const 
-?length@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
-; public: static unsigned int __cdecl std::char_traits<char>::length(char const *)
-?length@?$char_traits@D@std@@SAIPBD@Z
-; public: static unsigned int __cdecl std::char_traits<unsigned short>::length(unsigned short const *)
-?length@?$char_traits@G@std@@SAIPBG@Z
-; public: int __thiscall std::codecvt<char,char,int>::length(int &,char const *,char const *,unsigned int)const 
-?length@?$codecvt@DDH@std@@QBEHAAHPBD1I@Z
-; public: int __thiscall std::codecvt<unsigned short,char,int>::length(int &,unsigned short const *,unsigned short const *,unsigned int)const 
-?length@?$codecvt@GDH@std@@QBEHAAHPBG1I@Z
-; class std::complex<float>  __cdecl std::log10(class std::complex<float> const &)
-?log10@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::log10(class std::complex<double> const &)
-?log10@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::log10(class std::complex<long double> const &)
-?log10@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: static float __cdecl std::_Ctr<float>::log(float)
-?log@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::log(double)
-?log@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::log(long double)
-?log@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::log(class std::complex<float> const &)
-?log@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::log(class std::complex<double> const &)
-?log@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::log(class std::complex<long double> const &)
-?log@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: static bool __cdecl std::char_traits<char>::lt(char const &,char const &)
-?lt@?$char_traits@D@std@@SA_NABD0@Z
-; public: static bool __cdecl std::char_traits<unsigned short>::lt(unsigned short const &,unsigned short const &)
-?lt@?$char_traits@G@std@@SA_NABG0@Z
-; public: static signed char __cdecl std::numeric_limits<signed char>::max(void)
-?max@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::max(void)
-?max@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::max(void)
-?max@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::max(void)
-?max@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::max(void)
-?max@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::max(void)
-?max@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::max(void)
-?max@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::max(void)
-?max@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::max(void)
-?max@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::max(void)
-?max@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::max(void)
-?max@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::max(void)
-?max@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::max(void)
-?max@?$numeric_limits@_N@std@@SA_NXZ
-; public: int __thiscall std::codecvt_base::max_length(void)const 
-?max_length@codecvt_base@std@@QBEHXZ
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::max_size(void)const 
-?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::max_size(void)const 
-?max_size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::min(void)
-?min@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::min(void)
-?min@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::min(void)
-?min@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::min(void)
-?min@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::min(void)
-?min@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::min(void)
-?min@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::min(void)
-?min@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::min(void)
-?min@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::min(void)
-?min@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::min(void)
-?min@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::min(void)
-?min@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::min(void)
-?min@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::min(void)
-?min@?$numeric_limits@_N@std@@SA_NXZ
-; public: static char * __cdecl std::char_traits<char>::move(char *,char const *,unsigned int)
-?move@?$char_traits@D@std@@SAPADPADPBDI@Z
-; public: static unsigned short * __cdecl std::char_traits<unsigned short>::move(unsigned short *,unsigned short const *,unsigned int)
-?move@?$char_traits@G@std@@SAPAGPAGPBGI@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::locale::name(void)const 
-?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::narrow(char,char)const 
-?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z
-; public: char __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::narrow(unsigned short,char)const 
-?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEDGD@Z
-; public: char __thiscall std::ctype<char>::narrow(char,char)const 
-?narrow@?$ctype@D@std@@QBEDDD@Z
-; public: char const * __thiscall std::ctype<char>::narrow(char const *,char const *,char,char *)const 
-?narrow@?$ctype@D@std@@QBEPBDPBD0DPAD@Z
-; public: char __thiscall std::ctype<unsigned short>::narrow(unsigned short,char)const 
-?narrow@?$ctype@G@std@@QBEDGD@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::narrow(unsigned short const *,unsigned short const *,char,char *)const 
-?narrow@?$ctype@G@std@@QBEPBGPBG0DPAD@Z
-; public: struct std::money_base::pattern  __thiscall std::_Mpunct<char>::neg_format(void)const 
-?neg_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ
-; public: struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::neg_format(void)const 
-?neg_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::negative_sign(void)const 
-?negative_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::negative_sign(void)const 
-?negative_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; float __cdecl std::norm(class std::complex<float> const &)
-?norm@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::norm(class std::complex<double> const &)
-?norm@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::norm(class std::complex<long double> const &)
-?norm@std@@YAOABV?$complex@O@1@@Z
-; public: static int __cdecl std::char_traits<char>::not_eof(int const &)
-?not_eof@?$char_traits@D@std@@SAHABH@Z
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::not_eof(unsigned short const &)
-?not_eof@?$char_traits@G@std@@SAGABG@Z
-; struct std::nothrow_t const  std::nothrow
-?nothrow@std@@3Unothrow_t@1@B
-; public: static unsigned int const  std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::npos
-?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB
-; public: static unsigned int const  std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::npos
-?npos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@2IB
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,short)
-?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDF@Z
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,int)
-?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDH@Z
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
-?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDF@Z
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
-?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDH@Z
-; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::open(char const *,short)
-?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::open(char const *,int)
-?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
-?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
-?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::open(char const *,short)
-?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::open(char const *,int)
-?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
-?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
-?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::open(char const *,short)
-?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::open(char const *,int)
-?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
-; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
-?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
-; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
-?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
-; public: int __thiscall std::messages<char>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
-?open@?$messages@D@std@@QBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
-; public: int __thiscall std::messages<unsigned short>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
-?open@?$messages@G@std@@QBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
-; public: bool __thiscall std::basic_ostream<char,struct std::char_traits<char> >::opfx(void)
-?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ
-; public: bool __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::opfx(void)
-?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE_NXZ
-; public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::osfx(void)
-?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::osfx(void)
-?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: int __thiscall std::codecvt<char,char,int>::out(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
-?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
-; public: int __thiscall std::codecvt<unsigned short,char,int>::out(int &,unsigned short const *,unsigned short const *,unsigned short const * &,char *,char *,char * &)const 
-?out@?$codecvt@GDH@std@@QBEHAAHPBG1AAPBGPAD3AAPAD@Z
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::overflow(int)
-?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short)
-?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::overflow(int)
-?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short)
-?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::overflow(int)
-?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::overflow(unsigned short)
-?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::strstreambuf::overflow(int)
-?overflow@strstreambuf@std@@MAEHH@Z
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::pbackfail(int)
-?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short)
-?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbackfail(int)
-?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short)
-?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::pbackfail(int)
-?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z
-; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::pbackfail(unsigned short)
-?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z
-; protected: virtual int __thiscall std::strstreambuf::pbackfail(int)
-?pbackfail@strstreambuf@std@@MAEHH@Z
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const 
-?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbase(void)const 
-?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbump(int)
-?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbump(int)
-?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::peek(void)
-?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::peek(void)
-?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ
-; class std::complex<float>  __cdecl std::polar(float const &,float const &)
-?polar@std@@YA?AV?$complex@M@1@ABM0@Z
-; class std::complex<float>  __cdecl std::polar(float const &)
-?polar@std@@YA?AV?$complex@M@1@ABM@Z
-; class std::complex<double>  __cdecl std::polar(double const &,double const &)
-?polar@std@@YA?AV?$complex@N@1@ABN0@Z
-; class std::complex<double>  __cdecl std::polar(double const &)
-?polar@std@@YA?AV?$complex@N@1@ABN@Z
-; class std::complex<long double>  __cdecl std::polar(long double const &,long double const &)
-?polar@std@@YA?AV?$complex@O@1@ABO0@Z
-; class std::complex<long double>  __cdecl std::polar(long double const &)
-?polar@std@@YA?AV?$complex@O@1@ABO@Z
-; public: struct std::money_base::pattern  __thiscall std::_Mpunct<char>::pos_format(void)const 
-?pos_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ
-; public: struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::pos_format(void)const 
-?pos_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::positive_sign(void)const 
-?positive_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::positive_sign(void)const 
-?positive_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: static float __cdecl std::_Ctr<float>::pow(float,float)
-?pow@?$_Ctr@M@std@@SAMMM@Z
-; public: static double __cdecl std::_Ctr<double>::pow(double,double)
-?pow@?$_Ctr@N@std@@SANNN@Z
-; public: static long double __cdecl std::_Ctr<long double>::pow(long double,long double)
-?pow@?$_Ctr@O@std@@SAOOO@Z
-; class std::complex<float>  __cdecl std::pow(float const &,class std::complex<float> const &)
-?pow@std@@YA?AV?$complex@M@1@ABMABV21@@Z
-; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,class std::complex<float> const &)
-?pow@std@@YA?AV?$complex@M@1@ABV21@0@Z
-; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,float const &)
-?pow@std@@YA?AV?$complex@M@1@ABV21@ABM@Z
-; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,int)
-?pow@std@@YA?AV?$complex@M@1@ABV21@H@Z
-; class std::complex<double>  __cdecl std::pow(double const &,class std::complex<double> const &)
-?pow@std@@YA?AV?$complex@N@1@ABNABV21@@Z
-; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,class std::complex<double> const &)
-?pow@std@@YA?AV?$complex@N@1@ABV21@0@Z
-; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,double const &)
-?pow@std@@YA?AV?$complex@N@1@ABV21@ABN@Z
-; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,int)
-?pow@std@@YA?AV?$complex@N@1@ABV21@H@Z
-; class std::complex<long double>  __cdecl std::pow(long double const &,class std::complex<long double> const &)
-?pow@std@@YA?AV?$complex@O@1@ABOABV21@@Z
-; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,class std::complex<long double> const &)
-?pow@std@@YA?AV?$complex@O@1@ABV21@0@Z
-; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,long double const &)
-?pow@std@@YA?AV?$complex@O@1@ABV21@ABO@Z
-; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,int)
-?pow@std@@YA?AV?$complex@O@1@ABV21@H@Z
-; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const 
-?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
-; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pptr(void)const 
-?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
-; public: int __thiscall std::ios_base::precision(int)
-?precision@ios_base@std@@QAEHH@Z
-; public: int __thiscall std::ios_base::precision(void)const 
-?precision@ios_base@std@@QBEHXZ
-; public: class std::locale  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubimbue(class std::locale const &)
-?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z
-; public: class std::locale  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubimbue(class std::locale const &)
-?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(long,short,short)
-?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(long,enum std::ios_base::seekdir,int)
-?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(long,short,short)
-?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(long,enum std::ios_base::seekdir,int)
-?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,short)
-?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@F@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,int)
-?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,short)
-?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@F@Z
-; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,int)
-?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubsetbuf(char *,int)
-?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsetbuf(unsigned short *,int)
-?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubsync(void)
-?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsync(void)
-?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::put(char)
-?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::put(unsigned short)
-?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
-?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,long double)const 
-?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
-?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,long double)const 
-?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DJ@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,unsigned long)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,double)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long double)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,void const *)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBX@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,bool)const 
-?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GJ@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,unsigned long)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GK@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,double)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long double)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,void const *)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBX@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,bool)const 
-?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char,char)const 
-?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
-; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char const *,char const *)const 
-?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@PBD3@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,char,char)const 
-?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
-; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,unsigned short const *,unsigned short const *)const 
-?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@PBG3@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::putback(char)
-?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::putback(unsigned short)
-?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z
-; public: void * & __thiscall std::ios_base::pword(int)
-?pword@ios_base@std@@QAEAAPAXH@Z
-; public: static signed char __cdecl std::numeric_limits<signed char>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::quiet_NaN(void)
-?quiet_NaN@?$numeric_limits@_N@std@@SA_NXZ
-; public: class std::reverse_iterator<char *,char,char &,char *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)
-?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@PADDAADPADH@2@XZ
-; public: class std::reverse_iterator<char const *,char,char const &,char const *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)const 
-?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@PBDDABDPBDH@2@XZ
-; public: class std::reverse_iterator<unsigned short *,unsigned short,unsigned short &,unsigned short *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)
-?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@PAGGAAGPAGH@2@XZ
-; public: class std::reverse_iterator<unsigned short const *,unsigned short,unsigned short const &,unsigned short const *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)const 
-?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@PBGGABGPBGH@2@XZ
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_fstream<char,struct std::char_traits<char> >::rdbuf(void)const 
-?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::rdbuf(void)const 
-?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(class std::basic_streambuf<char,struct std::char_traits<char> > *)
-?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z
-; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const 
-?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
-?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAV32@@Z
-; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
-?rdbuf@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::rdbuf(void)const 
-?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
-?rdbuf@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
-?rdbuf@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
-?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: int __thiscall std::ios_base::rdstate(void)const 
-?rdstate@ios_base@std@@QBEHXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::read(char *,int)
-?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::read(unsigned short *,int)
-?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::readsome(char *,int)
-?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADH@Z
-; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::readsome(unsigned short *,int)
-?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z
-; public: float __thiscall std::_Complex_base<float>::real(float const &)
-?real@?$_Complex_base@M@std@@QAEMABM@Z
-; public: float __thiscall std::_Complex_base<float>::real(void)const 
-?real@?$_Complex_base@M@std@@QBEMXZ
-; public: double __thiscall std::_Complex_base<double>::real(double const &)
-?real@?$_Complex_base@N@std@@QAENABN@Z
-; public: double __thiscall std::_Complex_base<double>::real(void)const 
-?real@?$_Complex_base@N@std@@QBENXZ
-; public: long double __thiscall std::_Complex_base<long double>::real(long double const &)
-?real@?$_Complex_base@O@std@@QAEOABO@Z
-; public: long double __thiscall std::_Complex_base<long double>::real(void)const 
-?real@?$_Complex_base@O@std@@QBEOXZ
-; float __cdecl std::real(class std::complex<float> const &)
-?real@std@@YAMABV?$complex@M@1@@Z
-; double __cdecl std::real(class std::complex<double> const &)
-?real@std@@YANABV?$complex@N@1@@Z
-; long double __cdecl std::real(class std::complex<long double> const &)
-?real@std@@YAOABV?$complex@O@1@@Z
-; public: void __thiscall std::ios_base::register_callback(void (__cdecl*)(enum std::ios_base::event,class std::ios_base &,int),int)
-?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z
-; public: class std::reverse_iterator<char *,char,char &,char *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)
-?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@PADDAADPADH@2@XZ
-; public: class std::reverse_iterator<char const *,char,char const &,char const *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)const 
-?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@PBDDABDPBDH@2@XZ
-; public: class std::reverse_iterator<unsigned short *,unsigned short,unsigned short &,unsigned short *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)
-?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@PAGGAAGPAGH@2@XZ
-; public: class std::reverse_iterator<unsigned short const *,unsigned short,unsigned short const &,unsigned short const *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)const 
-?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@PBGGABGPBGH@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,unsigned int,char)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,char const *)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,char const *,unsigned int)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0ABV12@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,unsigned int,char)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0ID@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *,char const *)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBD1@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBD@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *,unsigned int)
-?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBDI@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned int,unsigned short)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIIG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned short const *)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned short const *,unsigned int)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBGI@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0ABV12@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned int,unsigned short)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0IG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *,unsigned short const *)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBG1@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBG@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *,unsigned int)
-?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBGI@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::reserve(unsigned int)
-?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::reserve(unsigned int)
-?reserve@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z
-; struct std::_Smanip<int>  __cdecl std::resetiosflags(int)
-?resetiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned int)
-?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned int,char)
-?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned int)
-?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned int,unsigned short)
-?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXIG@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char,unsigned int)const 
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const *,unsigned int)const 
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const *,unsigned int,unsigned int)const 
-?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short,unsigned int)const 
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const *,unsigned int)const 
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const *,unsigned int,unsigned int)const 
-?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
-; public: static signed char __cdecl std::numeric_limits<signed char>::round_error(void)
-?round_error@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::round_error(void)
-?round_error@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::round_error(void)
-?round_error@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::round_error(void)
-?round_error@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::round_error(void)
-?round_error@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::round_error(void)
-?round_error@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::round_error(void)
-?round_error@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::round_error(void)
-?round_error@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::round_error(void)
-?round_error@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::round_error(void)
-?round_error@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::round_error(void)
-?round_error@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::round_error(void)
-?round_error@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::round_error(void)
-?round_error@?$numeric_limits@_N@std@@SA_NXZ
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sbumpc(void)
-?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sbumpc(void)
-?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: char const * __thiscall std::ctype<char>::scan_is(short,char const *,char const *)const 
-?scan_is@?$ctype@D@std@@QBEPBDFPBD0@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::scan_is(short,unsigned short const *,unsigned short const *)const 
-?scan_is@?$ctype@G@std@@QBEPBGFPBG0@Z
-; public: char const * __thiscall std::ctype<char>::scan_not(short,char const *,char const *)const 
-?scan_not@?$ctype@D@std@@QBEPBDFPBD0@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::scan_not(short,unsigned short const *,unsigned short const *)const 
-?scan_not@?$ctype@G@std@@QBEPBGFPBG0@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::seekg(long,enum std::ios_base::seekdir)
-?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::seekg(class std::fpos<int>)
-?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(long,enum std::ios_base::seekdir)
-?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(class std::fpos<int>)
-?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::strstreambuf::seekoff(long,enum std::ios_base::seekdir,int)
-?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::seekp(long,enum std::ios_base::seekdir)
-?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::seekp(class std::fpos<int>)
-?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(long,enum std::ios_base::seekdir)
-?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(class std::fpos<int>)
-?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekpos(class std::fpos<int>,int)
-?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; protected: virtual class std::fpos<int>  __thiscall std::strstreambuf::seekpos(class std::fpos<int>,int)
-?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z
-; struct std::_Smanip<int>  __cdecl std::setbase(int)
-?setbase@std@@YA?AU?$_Smanip@H@1@H@Z
-; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::setbuf(char *,int)
-?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z
-; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short *,int)
-?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAGH@Z
-; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setbuf(char *,int)
-?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z
-; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short *,int)
-?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z
-; public: int __thiscall std::ios_base::setf(int)
-?setf@ios_base@std@@QAEHH@Z
-; public: int __thiscall std::ios_base::setf(int,int)
-?setf@ios_base@std@@QAEHHH@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setg(char *,char *,char *)
-?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setg(unsigned short *,unsigned short *,unsigned short *)
-?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z
-; struct std::_Smanip<int>  __cdecl std::setiosflags(int)
-?setiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *,char *)
-?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z
-; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *)
-?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short *,unsigned short *,unsigned short *)
-?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z
-; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short *,unsigned short *)
-?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z
-; struct std::_Smanip<int>  __cdecl std::setprecision(int)
-?setprecision@std@@YA?AU?$_Smanip@H@1@H@Z
-; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(short)
-?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXF@Z
-; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)
-?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
-; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(short)
-?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXF@Z
-; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(int,bool)
-?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z
-; public: void __thiscall std::ios_base::setstate(short)
-?setstate@ios_base@std@@QAEXF@Z
-; public: void __thiscall std::ios_base::setstate(int,bool)
-?setstate@ios_base@std@@QAEXH_N@Z
-; struct std::_Smanip<int>  __cdecl std::setw(int)
-?setw@std@@YA?AU?$_Smanip@H@1@H@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetc(void)
-?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetc(void)
-?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetn(char *,int)
-?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z
-; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetn(unsigned short *,int)
-?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::showmanyc(void)
-?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::showmanyc(void)
-?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ
-; public: static signed char __cdecl std::numeric_limits<signed char>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@C@std@@SACXZ
-; public: static char __cdecl std::numeric_limits<char>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@D@std@@SADXZ
-; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@E@std@@SAEXZ
-; public: static short __cdecl std::numeric_limits<short>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@F@std@@SAFXZ
-; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@G@std@@SAGXZ
-; public: static int __cdecl std::numeric_limits<int>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@H@std@@SAHXZ
-; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@I@std@@SAIXZ
-; public: static long __cdecl std::numeric_limits<long>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@J@std@@SAJXZ
-; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@K@std@@SAKXZ
-; public: static float __cdecl std::numeric_limits<float>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@M@std@@SAMXZ
-; public: static double __cdecl std::numeric_limits<double>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@N@std@@SANXZ
-; public: static long double __cdecl std::numeric_limits<long double>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@O@std@@SAOXZ
-; public: static bool __cdecl std::numeric_limits<bool>::signaling_NaN(void)
-?signaling_NaN@?$numeric_limits@_N@std@@SA_NXZ
-; public: static float __cdecl std::_Ctr<float>::sin(float)
-?sin@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::sin(double)
-?sin@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::sin(long double)
-?sin@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::sin(class std::complex<float> const &)
-?sin@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::sin(class std::complex<double> const &)
-?sin@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::sin(class std::complex<long double> const &)
-?sin@std@@YA?AV?$complex@O@1@ABV21@@Z
-; class std::complex<float>  __cdecl std::sinh(class std::complex<float> const &)
-?sinh@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::sinh(class std::complex<double> const &)
-?sinh@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::sinh(class std::complex<long double> const &)
-?sinh@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const 
-?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
-; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::size(void)const 
-?size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::snextc(void)
-?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::snextc(void)
-?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputbackc(char)
-?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputbackc(unsigned short)
-?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)
-?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputc(unsigned short)
-?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)
-?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z
-; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputn(unsigned short const *,int)
-?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z
-; public: static float __cdecl std::_Ctr<float>::sqrt(float)
-?sqrt@?$_Ctr@M@std@@SAMM@Z
-; public: static double __cdecl std::_Ctr<double>::sqrt(double)
-?sqrt@?$_Ctr@N@std@@SANN@Z
-; public: static long double __cdecl std::_Ctr<long double>::sqrt(long double)
-?sqrt@?$_Ctr@O@std@@SAOO@Z
-; class std::complex<float>  __cdecl std::sqrt(class std::complex<float> const &)
-?sqrt@std@@YA?AV?$complex@M@1@ABV21@@Z
-; class std::complex<double>  __cdecl std::sqrt(class std::complex<double> const &)
-?sqrt@std@@YA?AV?$complex@N@1@ABV21@@Z
-; class std::complex<long double>  __cdecl std::sqrt(class std::complex<long double> const &)
-?sqrt@std@@YA?AV?$complex@O@1@ABV21@@Z
-; public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::stossc(void)
-?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::stossc(void)
-?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ
-; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
-?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
-?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
-?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
-?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
-?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
-?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
-?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
-?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
-?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
-?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::substr(unsigned int,unsigned int)const 
-?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::substr(unsigned int,unsigned int)const 
-?substr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV12@II@Z
-; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sungetc(void)
-?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sungetc(void)
-?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
-; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::swap(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
-?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z
-; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::swap(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
-?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXAAV12@@Z
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::sync(void)
-?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual int __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
-?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEHXZ
-; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::sync(void)
-?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
-; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
-?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHXZ
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sync(void)
-?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
-?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ
-; public: static bool __cdecl std::ios_base::sync_with_stdio(bool)
-?sync_with_stdio@ios_base@std@@SA_N_N@Z
-; protected: short const * __thiscall std::ctype<char>::table(void)const 
-?table@?$ctype@D@std@@IBEPBFXZ
-; public: static unsigned int const  std::ctype<char>::table_size
-?table_size@?$ctype@D@std@@2IB
-; public: class std::fpos<int>  __thiscall std::basic_istream<char,struct std::char_traits<char> >::tellg(void)
-?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ
-; public: class std::fpos<int>  __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::tellg(void)
-?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ
-; public: class std::fpos<int>  __thiscall std::basic_ostream<char,struct std::char_traits<char> >::tellp(void)
-?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ
-; public: class std::fpos<int>  __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::tellp(void)
-?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ
-; public: char __thiscall std::_Mpunct<char>::thousands_sep(void)const 
-?thousands_sep@?$_Mpunct@D@std@@QBEDXZ
-; public: unsigned short __thiscall std::_Mpunct<unsigned short>::thousands_sep(void)const 
-?thousands_sep@?$_Mpunct@G@std@@QBEGXZ
-; public: char __thiscall std::numpunct<char>::thousands_sep(void)const 
-?thousands_sep@?$numpunct@D@std@@QBEDXZ
-; public: unsigned short __thiscall std::numpunct<unsigned short>::thousands_sep(void)const 
-?thousands_sep@?$numpunct@G@std@@QBEGXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(class std::basic_ostream<char,struct std::char_traits<char> > *)
-?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z
-; public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const 
-?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > *)
-?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@PAV32@@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(void)const 
-?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ
-; public: static char __cdecl std::char_traits<char>::to_char_type(int const &)
-?to_char_type@?$char_traits@D@std@@SADABH@Z
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_char_type(unsigned short const &)
-?to_char_type@?$char_traits@G@std@@SAGABG@Z
-; public: static int __cdecl std::char_traits<char>::to_int_type(char const &)
-?to_int_type@?$char_traits@D@std@@SAHABD@Z
-; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_int_type(unsigned short const &)
-?to_int_type@?$char_traits@G@std@@SAGABG@Z
-; public: char __thiscall std::ctype<char>::tolower(char)const 
-?tolower@?$ctype@D@std@@QBEDD@Z
-; public: char const * __thiscall std::ctype<char>::tolower(char *,char const *)const 
-?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z
-; public: unsigned short __thiscall std::ctype<unsigned short>::tolower(unsigned short)const 
-?tolower@?$ctype@G@std@@QBEGG@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::tolower(unsigned short *,unsigned short const *)const 
-?tolower@?$ctype@G@std@@QBEPBGPAGPBG@Z
-; public: char __thiscall std::ctype<char>::toupper(char)const 
-?toupper@?$ctype@D@std@@QBEDD@Z
-; public: char const * __thiscall std::ctype<char>::toupper(char *,char const *)const 
-?toupper@?$ctype@D@std@@QBEPBDPADPBD@Z
-; public: unsigned short __thiscall std::ctype<unsigned short>::toupper(unsigned short)const 
-?toupper@?$ctype@G@std@@QBEGG@Z
-; public: unsigned short const * __thiscall std::ctype<unsigned short>::toupper(unsigned short *,unsigned short const *)const 
-?toupper@?$ctype@G@std@@QBEPBGPAGPBG@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::collate<char>::transform(char const *,char const *)const 
-?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::collate<unsigned short>::transform(unsigned short const *,unsigned short const *)const 
-?transform@?$collate@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z
-; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::truename(void)const 
-?truename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::truename(void)const 
-?truename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::uflow(void)
-?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void)
-?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::uflow(void)
-?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void)
-?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ
-; bool __cdecl std::uncaught_exception(void)
-?uncaught_exception@std@@YA_NXZ
-; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::underflow(void)
-?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void)
-?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::underflow(void)
-?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void)
-?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ
-; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::underflow(void)
-?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ
-; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::underflow(void)
-?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ
-; protected: virtual int __thiscall std::strstreambuf::underflow(void)
-?underflow@strstreambuf@std@@MAEHXZ
-; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::unget(void)
-?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ
-; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::unget(void)
-?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ
-; public: void __thiscall std::ios_base::unsetf(int)
-?unsetf@ios_base@std@@QAEXH@Z
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcerr
-?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >  std::wcin
-?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A DATA
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wclog
-?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
-; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcout
-?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
-; public: virtual char const * __thiscall std::logic_error::what(void)const 
-?what@logic_error@std@@UBEPBDXZ
-; public: virtual char const * __thiscall std::runtime_error::what(void)const 
-?what@runtime_error@std@@UBEPBDXZ
-; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::widen(char)const 
-?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z
-; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::widen(char)const 
-?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z
-; public: char __thiscall std::ctype<char>::widen(char)const 
-?widen@?$ctype@D@std@@QBEDD@Z
-; public: char const * __thiscall std::ctype<char>::widen(char const *,char const *,char *)const 
-?widen@?$ctype@D@std@@QBEPBDPBD0PAD@Z
-; public: unsigned short __thiscall std::ctype<unsigned short>::widen(char)const 
-?widen@?$ctype@G@std@@QBEGD@Z
-; public: char const * __thiscall std::ctype<unsigned short>::widen(char const *,char const *,unsigned short *)const 
-?widen@?$ctype@G@std@@QBEPBDPBD0PAG@Z
-; public: int __thiscall std::ios_base::width(int)
-?width@ios_base@std@@QAEHH@Z
-; public: int __thiscall std::ios_base::width(void)const 
-?width@ios_base@std@@QBEHXZ
-; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::write(char const *,int)
-?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z
-; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::write(unsigned short const *,int)
-?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@PBGH@Z
-; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::ws(class std::basic_istream<char,struct std::char_traits<char> > &)
-?ws@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@@Z
-; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::ws(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &)
-?ws@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@@Z
-; public: static int __cdecl std::ios_base::xalloc(void)
-?xalloc@ios_base@std@@SAHXZ
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsgetn(char *,int)
-?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z
-; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsgetn(unsigned short *,int)
-?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z
-; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsputn(char const *,int)
-?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z
-; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsputn(unsigned short const *,int)
-?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z
-_Cosh
-_Denorm
-_Dnorm
-_Dscale
-_Dtest
-_Eps
-_Exp
-_FCosh
-_FDenorm
-_FDnorm
-_FDscale
-_FDtest
-_FEps
-_FExp
-_FInf
-_FNan
-_FRteps
-_FSinh
-_FSnan
-_FXbig
-_Getcoll
-_Getctype
-_Getcvt
-_Hugeval
-_Inf
-_LCosh
-_LDenorm
-_LDscale
-_LDtest
-_LEps
-_LExp
-_LInf
-_LNan
-_LPoly
-_LRteps
-_LSinh
-_LSnan
-_LXbig
-_Mbrtowc
-_Nan
-_Poly
-_Rteps
-_Sinh
-_Snan
-_Stod
-_Stof
-_Stold
-_Strcoll
-_Strxfrm
-_Tolower
-_Toupper
-_Wcrtomb
-_Wcscoll
-_Wcsxfrm
-_Xbig
-__Wcrtomb_lk
-btowc
-mbrlen
-mbrtowc
-mbsrtowcs
-towctrans
-wcrtomb
-wcsrtombs
-wctob
-wctrans
-wctype
+; 
+; Exports of file msvcp60.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msvcp60.dll
+EXPORTS
+; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z
+; D@std::?$?5DU?$char_traits(@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z)
+??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z
+; D@std::?$?5DU?$char_traits(M@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@M@0@@Z)
+??$?5DU?$char_traits@D@std@@M@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@M@0@@Z
+; D@std::?$?5DU?$char_traits(N@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@N@0@@Z)
+??$?5DU?$char_traits@D@std@@N@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@N@0@@Z
+; D@std::?$?5DU?$char_traits(O@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@O@0@@Z)
+??$?5DU?$char_traits@D@std@@O@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@O@0@@Z
+; D@std::?$?5DU?$char_traits(V?$allocator@D@1@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?5DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?5GU?$char_traits(@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z)
+??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z
+; G@std::?$?5GU?$char_traits(@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAF@Z)
+??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAF@Z
+; G@std::?$?5GU?$char_traits(@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z)
+??$?5GU?$char_traits@G@std@@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z
+; G@std::?$?5GU?$char_traits(M@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@M@0@@Z)
+??$?5GU?$char_traits@G@std@@M@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@M@0@@Z
+; G@std::?$?5GU?$char_traits(N@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@N@0@@Z)
+??$?5GU?$char_traits@G@std@@N@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@N@0@@Z
+; G@std::?$?5GU?$char_traits(O@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@O@0@@Z)
+??$?5GU?$char_traits@G@std@@O@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@O@0@@Z
+; G@std::?$?5GU?$char_traits(V?$allocator@G@1@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?5GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z
+; D@std::?$?6DU?$char_traits(@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z)
+??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z
+; D@std::?$?6DU?$char_traits(M@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@M@0@@Z)
+??$?6DU?$char_traits@D@std@@M@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@M@0@@Z
+; D@std::?$?6DU?$char_traits(N@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@N@0@@Z)
+??$?6DU?$char_traits@D@std@@N@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@N@0@@Z
+; D@std::?$?6DU?$char_traits(O@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@O@0@@Z)
+??$?6DU?$char_traits@D@std@@O@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@O@0@@Z
+; D@std::?$?6DU?$char_traits(V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?6GU?$char_traits(@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z)
+??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z
+; G@std::?$?6GU?$char_traits(@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBF@Z)
+??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBF@Z
+; G@std::?$?6GU?$char_traits(@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z)
+??$?6GU?$char_traits@G@std@@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z
+; G@std::?$?6GU?$char_traits(M@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@M@0@@Z)
+??$?6GU?$char_traits@G@std@@M@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@M@0@@Z
+; G@std::?$?6GU?$char_traits(N@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@N@0@@Z)
+??$?6GU?$char_traits@G@std@@N@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@N@0@@Z
+; G@std::?$?6GU?$char_traits(O@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@O@0@@Z)
+??$?6GU?$char_traits@G@std@@O@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@O@0@@Z
+; G@std::?$?6GU?$char_traits(V?$allocator@G@1@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?6GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
+??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; D@std::?$?8DU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
+??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; G@std::?$?8GU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?8GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; std::?$?8M(YA_NABMABV?$complex@M@0@@Z)
+??$?8M@std@@YA_NABMABV?$complex@M@0@@Z
+; std::?$?8M(YA_NABV?$complex@M@0@0@Z)
+??$?8M@std@@YA_NABV?$complex@M@0@0@Z
+; std::?$?8M(YA_NABV?$complex@M@0@ABM@Z)
+??$?8M@std@@YA_NABV?$complex@M@0@ABM@Z
+; std::?$?8N(YA_NABNABV?$complex@N@0@@Z)
+??$?8N@std@@YA_NABNABV?$complex@N@0@@Z
+; std::?$?8N(YA_NABV?$complex@N@0@0@Z)
+??$?8N@std@@YA_NABV?$complex@N@0@0@Z
+; std::?$?8N(YA_NABV?$complex@N@0@ABN@Z)
+??$?8N@std@@YA_NABV?$complex@N@0@ABN@Z
+; std::?$?8O(YA_NABOABV?$complex@O@0@@Z)
+??$?8O@std@@YA_NABOABV?$complex@O@0@@Z
+; std::?$?8O(YA_NABV?$complex@O@0@0@Z)
+??$?8O@std@@YA_NABV?$complex@O@0@0@Z
+; std::?$?8O(YA_NABV?$complex@O@0@ABO@Z)
+??$?8O@std@@YA_NABV?$complex@O@0@ABO@Z
+; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
+??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; D@std::?$?9DU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
+??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; G@std::?$?9GU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?9GU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; std::?$?9M(YA_NABMABV?$complex@M@0@@Z)
+??$?9M@std@@YA_NABMABV?$complex@M@0@@Z
+; std::?$?9M(YA_NABV?$complex@M@0@0@Z)
+??$?9M@std@@YA_NABV?$complex@M@0@0@Z
+; std::?$?9M(YA_NABV?$complex@M@0@ABM@Z)
+??$?9M@std@@YA_NABV?$complex@M@0@ABM@Z
+; std::?$?9N(YA_NABNABV?$complex@N@0@@Z)
+??$?9N@std@@YA_NABNABV?$complex@N@0@@Z
+; std::?$?9N(YA_NABV?$complex@N@0@0@Z)
+??$?9N@std@@YA_NABV?$complex@N@0@0@Z
+; std::?$?9N(YA_NABV?$complex@N@0@ABN@Z)
+??$?9N@std@@YA_NABV?$complex@N@0@ABN@Z
+; std::?$?9O(YA_NABOABV?$complex@O@0@@Z)
+??$?9O@std@@YA_NABOABV?$complex@O@0@@Z
+; std::?$?9O(YA_NABV?$complex@O@0@0@Z)
+??$?9O@std@@YA_NABV?$complex@O@0@0@Z
+; std::?$?9O(YA_NABV?$complex@O@0@ABO@Z)
+??$?9O@std@@YA_NABV?$complex@O@0@ABO@Z
+; std::?$?DM(YA?AV?$complex@M@0@ABMABV10@@Z)
+??$?DM@std@@YA?AV?$complex@M@0@ABMABV10@@Z
+; std::?$?DM(YA?AV?$complex@M@0@ABV10@0@Z)
+??$?DM@std@@YA?AV?$complex@M@0@ABV10@0@Z
+; std::?$?DM(YA?AV?$complex@M@0@ABV10@ABM@Z)
+??$?DM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; std::?$?DN(YA?AV?$complex@N@0@ABNABV10@@Z)
+??$?DN@std@@YA?AV?$complex@N@0@ABNABV10@@Z
+; std::?$?DN(YA?AV?$complex@N@0@ABV10@0@Z)
+??$?DN@std@@YA?AV?$complex@N@0@ABV10@0@Z
+; std::?$?DN(YA?AV?$complex@N@0@ABV10@ABN@Z)
+??$?DN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; std::?$?DO(YA?AV?$complex@O@0@ABOABV10@@Z)
+??$?DO@std@@YA?AV?$complex@O@0@ABOABV10@@Z
+; std::?$?DO(YA?AV?$complex@O@0@ABV10@0@Z)
+??$?DO@std@@YA?AV?$complex@O@0@ABV10@0@Z
+; std::?$?DO(YA?AV?$complex@O@0@ABV10@ABO@Z)
+??$?DO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; std::?$?GM(YA?AV?$complex@M@0@ABMABV10@@Z)
+??$?GM@std@@YA?AV?$complex@M@0@ABMABV10@@Z
+; std::?$?GM(YA?AV?$complex@M@0@ABV10@0@Z)
+??$?GM@std@@YA?AV?$complex@M@0@ABV10@0@Z
+; std::?$?GM(YA?AV?$complex@M@0@ABV10@@Z)
+??$?GM@std@@YA?AV?$complex@M@0@ABV10@@Z
+; std::?$?GM(YA?AV?$complex@M@0@ABV10@ABM@Z)
+??$?GM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; std::?$?GN(YA?AV?$complex@N@0@ABNABV10@@Z)
+??$?GN@std@@YA?AV?$complex@N@0@ABNABV10@@Z
+; std::?$?GN(YA?AV?$complex@N@0@ABV10@0@Z)
+??$?GN@std@@YA?AV?$complex@N@0@ABV10@0@Z
+; std::?$?GN(YA?AV?$complex@N@0@ABV10@@Z)
+??$?GN@std@@YA?AV?$complex@N@0@ABV10@@Z
+; std::?$?GN(YA?AV?$complex@N@0@ABV10@ABN@Z)
+??$?GN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; std::?$?GO(YA?AV?$complex@O@0@ABOABV10@@Z)
+??$?GO@std@@YA?AV?$complex@O@0@ABOABV10@@Z
+; std::?$?GO(YA?AV?$complex@O@0@ABV10@0@Z)
+??$?GO@std@@YA?AV?$complex@O@0@ABV10@0@Z
+; std::?$?GO(YA?AV?$complex@O@0@ABV10@@Z)
+??$?GO@std@@YA?AV?$complex@O@0@ABV10@@Z
+; std::?$?GO(YA?AV?$complex@O@0@ABV10@ABO@Z)
+??$?GO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z
+; D@std::?$?HDU?$char_traits(V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z)
+??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@0@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@0@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@G@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@G@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@PBG@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@PBG@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GABV10@@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GABV10@@Z
+; G@std::?$?HGU?$char_traits(V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBGABV10@@Z)
+??$?HGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBGABV10@@Z
+; std::?$?HM(YA?AV?$complex@M@0@ABMABV10@@Z)
+??$?HM@std@@YA?AV?$complex@M@0@ABMABV10@@Z
+; std::?$?HM(YA?AV?$complex@M@0@ABV10@0@Z)
+??$?HM@std@@YA?AV?$complex@M@0@ABV10@0@Z
+; std::?$?HM(YA?AV?$complex@M@0@ABV10@@Z)
+??$?HM@std@@YA?AV?$complex@M@0@ABV10@@Z
+; std::?$?HM(YA?AV?$complex@M@0@ABV10@ABM@Z)
+??$?HM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; std::?$?HN(YA?AV?$complex@N@0@ABNABV10@@Z)
+??$?HN@std@@YA?AV?$complex@N@0@ABNABV10@@Z
+; std::?$?HN(YA?AV?$complex@N@0@ABV10@0@Z)
+??$?HN@std@@YA?AV?$complex@N@0@ABV10@0@Z
+; std::?$?HN(YA?AV?$complex@N@0@ABV10@@Z)
+??$?HN@std@@YA?AV?$complex@N@0@ABV10@@Z
+; std::?$?HN(YA?AV?$complex@N@0@ABV10@ABN@Z)
+??$?HN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; std::?$?HO(YA?AV?$complex@O@0@ABOABV10@@Z)
+??$?HO@std@@YA?AV?$complex@O@0@ABOABV10@@Z
+; std::?$?HO(YA?AV?$complex@O@0@ABV10@0@Z)
+??$?HO@std@@YA?AV?$complex@O@0@ABV10@0@Z
+; std::?$?HO(YA?AV?$complex@O@0@ABV10@@Z)
+??$?HO@std@@YA?AV?$complex@O@0@ABV10@@Z
+; std::?$?HO(YA?AV?$complex@O@0@ABV10@ABO@Z)
+??$?HO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; std::?$?KM(YA?AV?$complex@M@0@ABMABV10@@Z)
+??$?KM@std@@YA?AV?$complex@M@0@ABMABV10@@Z
+; std::?$?KM(YA?AV?$complex@M@0@ABV10@0@Z)
+??$?KM@std@@YA?AV?$complex@M@0@ABV10@0@Z
+; std::?$?KM(YA?AV?$complex@M@0@ABV10@ABM@Z)
+??$?KM@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; std::?$?KN(YA?AV?$complex@N@0@ABNABV10@@Z)
+??$?KN@std@@YA?AV?$complex@N@0@ABNABV10@@Z
+; std::?$?KN(YA?AV?$complex@N@0@ABV10@0@Z)
+??$?KN@std@@YA?AV?$complex@N@0@ABV10@0@Z
+; std::?$?KN(YA?AV?$complex@N@0@ABV10@ABN@Z)
+??$?KN@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; std::?$?KO(YA?AV?$complex@O@0@ABOABV10@@Z)
+??$?KO@std@@YA?AV?$complex@O@0@ABOABV10@@Z
+; std::?$?KO(YA?AV?$complex@O@0@ABV10@0@Z)
+??$?KO@std@@YA?AV?$complex@O@0@ABV10@0@Z
+; std::?$?KO(YA?AV?$complex@O@0@ABV10@ABO@Z)
+??$?KO@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
+??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; D@std::?$?MDU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
+??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; G@std::?$?MGU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?MGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
+??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; D@std::?$?NDU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?NDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
+??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; G@std::?$?NGU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?NGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
+??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; D@std::?$?ODU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?ODU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
+??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; G@std::?$?OGU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?OGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
+??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z)
+??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; D@std::?$?PDU?$char_traits(V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$?PDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z)
+??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z)
+??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; G@std::?$?PGU?$char_traits(V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$?PGU?$char_traits@G@std@@V?$allocator@G@1@@std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; std::?$?XMM(YAAAV?$complex@M@0@AAV10@ABV10@@Z)
+??$?XMM@std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; std::?$?XNN(YAAAV?$complex@N@0@AAV10@ABV10@@Z)
+??$?XNN@std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; std::?$?XOO(YAAAV?$complex@O@0@AAV10@ABV10@@Z)
+??$?XOO@std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; std::?$?YMM(YAAAV?$complex@M@0@AAV10@ABV10@@Z)
+??$?YMM@std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; std::?$?YNN(YAAAV?$complex@N@0@AAV10@ABV10@@Z)
+??$?YNN@std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; std::?$?YOO(YAAAV?$complex@O@0@AAV10@ABV10@@Z)
+??$?YOO@std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; std::?$?ZMM(YAAAV?$complex@M@0@AAV10@ABV10@@Z)
+??$?ZMM@std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; std::?$?ZNN(YAAAV?$complex@N@0@AAV10@ABV10@@Z)
+??$?ZNN@std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; std::?$?ZOO(YAAAV?$complex@O@0@AAV10@ABV10@@Z)
+??$?ZOO@std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; std::?$?_0MM(YAAAV?$complex@M@0@AAV10@ABV10@@Z)
+??$?_0MM@std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; std::?$?_0NN(YAAAV?$complex@N@0@AAV10@ABV10@@Z)
+??$?_0NN@std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; std::?$?_0OO(YAAAV?$complex@O@0@AAV10@ABV10@@Z)
+??$?_0OO@std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; M@std::?$_Fabs(YAMABV?$complex@M@0@PAH@Z)
+??$_Fabs@M@std@@YAMABV?$complex@M@0@PAH@Z
+; N@std::?$_Fabs(YANABV?$complex@N@0@PAH@Z)
+??$_Fabs@N@std@@YANABV?$complex@N@0@PAH@Z
+; O@std::?$_Fabs(YAOABV?$complex@O@0@PAH@Z)
+??$_Fabs@O@std@@YAOABV?$complex@O@0@PAH@Z
+; M@std::?$abs(YAMABV?$complex@M@0@@Z)
+??$abs@M@std@@YAMABV?$complex@M@0@@Z
+; N@std::?$abs(YANABV?$complex@N@0@@Z)
+??$abs@N@std@@YANABV?$complex@N@0@@Z
+; O@std::?$abs(YAOABV?$complex@O@0@@Z)
+??$abs@O@std@@YAOABV?$complex@O@0@@Z
+; M@std::?$arg(YAMABV?$complex@M@0@@Z)
+??$arg@M@std@@YAMABV?$complex@M@0@@Z
+; N@std::?$arg(YANABV?$complex@N@0@@Z)
+??$arg@N@std@@YANABV?$complex@N@0@@Z
+; O@std::?$arg(YAOABV?$complex@O@0@@Z)
+??$arg@O@std@@YAOABV?$complex@O@0@@Z
+; M@std::?$conj(YA?AV?$complex@M@0@ABV10@@Z)
+??$conj@M@std@@YA?AV?$complex@M@0@ABV10@@Z
+; N@std::?$conj(YA?AV?$complex@N@0@ABV10@@Z)
+??$conj@N@std@@YA?AV?$complex@N@0@ABV10@@Z
+; O@std::?$conj(YA?AV?$complex@O@0@ABV10@@Z)
+??$conj@O@std@@YA?AV?$complex@O@0@ABV10@@Z
+; M@std::?$cos(YA?AV?$complex@M@0@ABV10@@Z)
+??$cos@M@std@@YA?AV?$complex@M@0@ABV10@@Z
+; N@std::?$cos(YA?AV?$complex@N@0@ABV10@@Z)
+??$cos@N@std@@YA?AV?$complex@N@0@ABV10@@Z
+; O@std::?$cos(YA?AV?$complex@O@0@ABV10@@Z)
+??$cos@O@std@@YA?AV?$complex@O@0@ABV10@@Z
+; M@std::?$cosh(YA?AV?$complex@M@0@ABV10@@Z)
+??$cosh@M@std@@YA?AV?$complex@M@0@ABV10@@Z
+; N@std::?$cosh(YA?AV?$complex@N@0@ABV10@@Z)
+??$cosh@N@std@@YA?AV?$complex@N@0@ABV10@@Z
+; O@std::?$cosh(YA?AV?$complex@O@0@ABV10@@Z)
+??$cosh@O@std@@YA?AV?$complex@O@0@ABV10@@Z
+; M@std::?$exp(YA?AV?$complex@M@0@ABV10@@Z)
+??$exp@M@std@@YA?AV?$complex@M@0@ABV10@@Z
+; N@std::?$exp(YA?AV?$complex@N@0@ABV10@@Z)
+??$exp@N@std@@YA?AV?$complex@N@0@ABV10@@Z
+; O@std::?$exp(YA?AV?$complex@O@0@ABV10@@Z)
+??$exp@O@std@@YA?AV?$complex@O@0@ABV10@@Z
+; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
+??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; DU?$char_traits@D@std::?$getline(V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z)
+??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z
+; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z)
+??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; GU?$char_traits@G@std::?$getline(V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z)
+??$getline@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@G@Z
+; M@std::?$imag(YAMABV?$complex@M@0@@Z)
+??$imag@M@std@@YAMABV?$complex@M@0@@Z
+; N@std::?$imag(YANABV?$complex@N@0@@Z)
+??$imag@N@std@@YANABV?$complex@N@0@@Z
+; O@std::?$imag(YAOABV?$complex@O@0@@Z)
+??$imag@O@std@@YAOABV?$complex@O@0@@Z
+; M@std::?$log10(YA?AV?$complex@M@0@ABV10@@Z)
+??$log10@M@std@@YA?AV?$complex@M@0@ABV10@@Z
+; N@std::?$log10(YA?AV?$complex@N@0@ABV10@@Z)
+??$log10@N@std@@YA?AV?$complex@N@0@ABV10@@Z
+; O@std::?$log10(YA?AV?$complex@O@0@ABV10@@Z)
+??$log10@O@std@@YA?AV?$complex@O@0@ABV10@@Z
+; M@std::?$log(YA?AV?$complex@M@0@ABV10@@Z)
+??$log@M@std@@YA?AV?$complex@M@0@ABV10@@Z
+; N@std::?$log(YA?AV?$complex@N@0@ABV10@@Z)
+??$log@N@std@@YA?AV?$complex@N@0@ABV10@@Z
+; O@std::?$log(YA?AV?$complex@O@0@ABV10@@Z)
+??$log@O@std@@YA?AV?$complex@O@0@ABV10@@Z
+; M@std::?$norm(YAMABV?$complex@M@0@@Z)
+??$norm@M@std@@YAMABV?$complex@M@0@@Z
+; N@std::?$norm(YANABV?$complex@N@0@@Z)
+??$norm@N@std@@YANABV?$complex@N@0@@Z
+; O@std::?$norm(YAOABV?$complex@O@0@@Z)
+??$norm@O@std@@YAOABV?$complex@O@0@@Z
+; M@std::?$polar(YA?AV?$complex@M@0@ABM0@Z)
+??$polar@M@std@@YA?AV?$complex@M@0@ABM0@Z
+; M@std::?$polar(YA?AV?$complex@M@0@ABM@Z)
+??$polar@M@std@@YA?AV?$complex@M@0@ABM@Z
+; N@std::?$polar(YA?AV?$complex@N@0@ABN0@Z)
+??$polar@N@std@@YA?AV?$complex@N@0@ABN0@Z
+; N@std::?$polar(YA?AV?$complex@N@0@ABN@Z)
+??$polar@N@std@@YA?AV?$complex@N@0@ABN@Z
+; O@std::?$polar(YA?AV?$complex@O@0@ABO0@Z)
+??$polar@O@std@@YA?AV?$complex@O@0@ABO0@Z
+; O@std::?$polar(YA?AV?$complex@O@0@ABO@Z)
+??$polar@O@std@@YA?AV?$complex@O@0@ABO@Z
+; M@std::?$pow(YA?AV?$complex@M@0@ABMABV10@@Z)
+??$pow@M@std@@YA?AV?$complex@M@0@ABMABV10@@Z
+; M@std::?$pow(YA?AV?$complex@M@0@ABV10@0@Z)
+??$pow@M@std@@YA?AV?$complex@M@0@ABV10@0@Z
+; M@std::?$pow(YA?AV?$complex@M@0@ABV10@ABM@Z)
+??$pow@M@std@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; M@std::?$pow(YA?AV?$complex@M@0@ABV10@H@Z)
+??$pow@M@std@@YA?AV?$complex@M@0@ABV10@H@Z
+; N@std::?$pow(YA?AV?$complex@N@0@ABNABV10@@Z)
+??$pow@N@std@@YA?AV?$complex@N@0@ABNABV10@@Z
+; N@std::?$pow(YA?AV?$complex@N@0@ABV10@0@Z)
+??$pow@N@std@@YA?AV?$complex@N@0@ABV10@0@Z
+; N@std::?$pow(YA?AV?$complex@N@0@ABV10@ABN@Z)
+??$pow@N@std@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; N@std::?$pow(YA?AV?$complex@N@0@ABV10@H@Z)
+??$pow@N@std@@YA?AV?$complex@N@0@ABV10@H@Z
+; O@std::?$pow(YA?AV?$complex@O@0@ABOABV10@@Z)
+??$pow@O@std@@YA?AV?$complex@O@0@ABOABV10@@Z
+; O@std::?$pow(YA?AV?$complex@O@0@ABV10@0@Z)
+??$pow@O@std@@YA?AV?$complex@O@0@ABV10@0@Z
+; O@std::?$pow(YA?AV?$complex@O@0@ABV10@ABO@Z)
+??$pow@O@std@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; O@std::?$pow(YA?AV?$complex@O@0@ABV10@H@Z)
+??$pow@O@std@@YA?AV?$complex@O@0@ABV10@H@Z
+; M@std::?$real(YAMABV?$complex@M@0@@Z)
+??$real@M@std@@YAMABV?$complex@M@0@@Z
+; N@std::?$real(YANABV?$complex@N@0@@Z)
+??$real@N@std@@YANABV?$complex@N@0@@Z
+; O@std::?$real(YAOABV?$complex@O@0@@Z)
+??$real@O@std@@YAOABV?$complex@O@0@@Z
+; M@std::?$sin(YA?AV?$complex@M@0@ABV10@@Z)
+??$sin@M@std@@YA?AV?$complex@M@0@ABV10@@Z
+; N@std::?$sin(YA?AV?$complex@N@0@ABV10@@Z)
+??$sin@N@std@@YA?AV?$complex@N@0@ABV10@@Z
+; O@std::?$sin(YA?AV?$complex@O@0@ABV10@@Z)
+??$sin@O@std@@YA?AV?$complex@O@0@ABV10@@Z
+; M@std::?$sinh(YA?AV?$complex@M@0@ABV10@@Z)
+??$sinh@M@std@@YA?AV?$complex@M@0@ABV10@@Z
+; N@std::?$sinh(YA?AV?$complex@N@0@ABV10@@Z)
+??$sinh@N@std@@YA?AV?$complex@N@0@ABV10@@Z
+; O@std::?$sinh(YA?AV?$complex@O@0@ABV10@@Z)
+??$sinh@O@std@@YA?AV?$complex@O@0@ABV10@@Z
+; M@std::?$sqrt(YA?AV?$complex@M@0@ABV10@@Z)
+??$sqrt@M@std@@YA?AV?$complex@M@0@ABV10@@Z
+; N@std::?$sqrt(YA?AV?$complex@N@0@ABV10@@Z)
+??$sqrt@N@std@@YA?AV?$complex@N@0@ABV10@@Z
+; O@std::?$sqrt(YA?AV?$complex@O@0@ABV10@@Z)
+??$sqrt@O@std@@YA?AV?$complex@O@0@ABV10@@Z
+; public: __thiscall std::_Complex_base<float>::_Complex_base<float>(float const &,float const &)
+??0?$_Complex_base@M@std@@QAE@ABM0@Z
+; public: __thiscall std::_Complex_base<double>::_Complex_base<double>(double const &,double const &)
+??0?$_Complex_base@N@std@@QAE@ABN0@Z
+; public: __thiscall std::_Complex_base<long double>::_Complex_base<long double>(long double const &,long double const &)
+??0?$_Complex_base@O@std@@QAE@ABO0@Z
+; public: __thiscall std::_Mpunct<char>::_Mpunct<char>(class _Mpunct<char>::_Locinfo const &,unsigned int,bool)
+??0?$_Mpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z
+; public: __thiscall std::_Mpunct<char>::_Mpunct<char>(unsigned int,bool)
+??0?$_Mpunct@D@std@@QAE@I_N@Z
+; public: __thiscall std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(class _Mpunct<unsigned short>::_Locinfo const &,unsigned int,bool)
+??0?$_Mpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z
+; public: __thiscall std::_Mpunct<unsigned short>::_Mpunct<unsigned short>(unsigned int,bool)
+??0?$_Mpunct@G@std@@QAE@I_N@Z
+; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(class basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> > const &)
+??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(struct _iobuf *)
+??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z
+; public: __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >(enum basic_filebuf<char,struct std::char_traits<char> >::_Uninitialized)
+??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(class basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(struct _iobuf *)
+??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@PAU_iobuf@@@Z
+; public: __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
+??0?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(class basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> > const &)
+??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(char const *,int)
+??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_fstream<char,struct std::char_traits<char> >::basic_fstream<char,struct std::char_traits<char> >(void)
+??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
+??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_fstream@GU?$char_traits@G@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(class basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> > const &)
+??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(char const *,int)
+??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::basic_ifstream<char,struct std::char_traits<char> >(void)
+??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
+??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAE@XZ
+; protected: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void)
+??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ
+; public: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> > const &)
+??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(class basic_ios<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *)
+??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; protected: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_ios@GU?$char_traits@G@std@@@std@@IAE@XZ
+; public: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_ios<unsigned short,struct std::char_traits<unsigned short> >(class basic_ios<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+??0?$basic_ios@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> > const &)
+??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class basic_iostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *)
+??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; public: __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+??0?$basic_iostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> > const &)
+??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(class basic_istream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *,bool)
+??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z
+; public: __thiscall std::basic_istream<char,struct std::char_traits<char> >::basic_istream<char,struct std::char_traits<char> >(enum basic_istream<char,struct std::char_traits<char> >::_Uninitialized)
+??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(class basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool)
+??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N@Z
+; public: __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::basic_istream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_istream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
+??0?$basic_istream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
+??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
+??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
+??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
+??0?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(class basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> > const &)
+??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(char const *,int)
+??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(void)
+??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(char const *,int)
+??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@PBDH@Z
+; public: __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAE@XZ
+; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> > const &)
+??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > *,bool,bool)
+??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N1@Z
+; public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(enum basic_ostream<char,struct std::char_traits<char> >::_Uninitialized)
+??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(class basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool,bool)
+??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@_N1@Z
+; public: __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(enum basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
+??0?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
+??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
+??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
+??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
+??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
+; protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(enum basic_streambuf<char,struct std::char_traits<char> >::_Uninitialized)
+??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z
+; protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)
+??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ
+; public: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(class basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> > const &)
+??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE@ABV01@@Z
+; protected: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(enum basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Uninitialized)
+??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z
+; protected: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void)
+??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ
+; public: __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(class basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > const &)
+??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(unsigned int,char,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@IDABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,char const *,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD0ABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,unsigned int,class basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)
+??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDIABV?$allocator@D@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@IIABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned int,unsigned short,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IGABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,unsigned short const *,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBG0ABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(unsigned short const *,unsigned int,class basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::allocator<unsigned short> const &)
+??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBGIABV?$allocator@G@1@@Z
+; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
+??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(int)
+??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
+??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
+??0?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)
+??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z
+; public: __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)
+??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
+; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z
+; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(class basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,int)
+??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@H@Z
+; public: __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(int)
+??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
+; public: __thiscall std::codecvt<char,char,int>::codecvt<char,char,int>(class codecvt<char,char,int>::_Locinfo const &,unsigned int)
+??0?$codecvt@DDH@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::codecvt<char,char,int>::codecvt<char,char,int>(unsigned int)
+??0?$codecvt@DDH@std@@QAE@I@Z
+; public: __thiscall std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(class codecvt<unsigned short,char,int>::_Locinfo const &,unsigned int)
+??0?$codecvt@GDH@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::codecvt<unsigned short,char,int>::codecvt<unsigned short,char,int>(unsigned int)
+??0?$codecvt@GDH@std@@QAE@I@Z
+; public: __thiscall std::collate<char>::collate<char>(class collate<char>::_Locinfo const &,unsigned int)
+??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::collate<char>::collate<char>(unsigned int)
+??0?$collate@D@std@@QAE@I@Z
+; public: __thiscall std::collate<unsigned short>::collate<unsigned short>(class collate<unsigned short>::_Locinfo const &,unsigned int)
+??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::collate<unsigned short>::collate<unsigned short>(unsigned int)
+??0?$collate@G@std@@QAE@I@Z
+; public: __thiscall std::complex<float>::complex<float>(float const &,float const &)
+??0?$complex@M@std@@QAE@ABM0@Z
+; public: __thiscall std::complex<float>::complex<float>(class complex<float>::complex<double> const &)
+??0?$complex@M@std@@QAE@ABV?$complex@N@1@@Z
+; public: __thiscall std::complex<float>::complex<float>(class complex<float>::complex<long double> const &)
+??0?$complex@M@std@@QAE@ABV?$complex@O@1@@Z
+; public: __thiscall std::complex<double>::complex<double>(double const &,double const &)
+??0?$complex@N@std@@QAE@ABN0@Z
+; public: __thiscall std::complex<double>::complex<double>(class complex<double>::complex<float> const &)
+??0?$complex@N@std@@QAE@ABV?$complex@M@1@@Z
+; public: __thiscall std::complex<double>::complex<double>(class complex<double>::complex<long double> const &)
+??0?$complex@N@std@@QAE@ABV?$complex@O@1@@Z
+; public: __thiscall std::complex<long double>::complex<long double>(long double const &,long double const &)
+??0?$complex@O@std@@QAE@ABO0@Z
+; public: __thiscall std::complex<long double>::complex<long double>(class complex<long double>::complex<float> const &)
+??0?$complex@O@std@@QAE@ABV?$complex@M@1@@Z
+; public: __thiscall std::complex<long double>::complex<long double>(class complex<long double>::complex<double> const &)
+??0?$complex@O@std@@QAE@ABV?$complex@N@1@@Z
+; public: __thiscall std::ctype<char>::ctype<char>(class ctype<char>::_Locinfo const &,unsigned int)
+??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::ctype<char>::ctype<char>(short const *,bool,unsigned int)
+??0?$ctype@D@std@@QAE@PBF_NI@Z
+; public: __thiscall std::ctype<unsigned short>::ctype<unsigned short>(class ctype<unsigned short>::_Locinfo const &,unsigned int)
+??0?$ctype@G@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::ctype<unsigned short>::ctype<unsigned short>(unsigned int)
+??0?$ctype@G@std@@QAE@I@Z
+; public: __thiscall std::messages<char>::messages<char>(class messages<char>::_Locinfo const &,unsigned int)
+??0?$messages@D@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::messages<char>::messages<char>(unsigned int)
+??0?$messages@D@std@@QAE@I@Z
+; public: __thiscall std::messages<unsigned short>::messages<unsigned short>(class messages<unsigned short>::_Locinfo const &,unsigned int)
+??0?$messages@G@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::messages<unsigned short>::messages<unsigned short>(unsigned int)
+??0?$messages@G@std@@QAE@I@Z
+; public: __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::moneypunct<char,1>::moneypunct<char,1>(class moneypunct<char,1>::_Locinfo const &,unsigned int)
+??0?$moneypunct@D$00@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::moneypunct<char,1>::moneypunct<char,1>(unsigned int)
+??0?$moneypunct@D$00@std@@QAE@I@Z
+; public: __thiscall std::moneypunct<char,0>::moneypunct<char,0>(class moneypunct<char,0>::_Locinfo const &,unsigned int)
+??0?$moneypunct@D$0A@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::moneypunct<char,0>::moneypunct<char,0>(unsigned int)
+??0?$moneypunct@D$0A@@std@@QAE@I@Z
+; public: __thiscall std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(class moneypunct<unsigned short,1>::_Locinfo const &,unsigned int)
+??0?$moneypunct@G$00@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::moneypunct<unsigned short,1>::moneypunct<unsigned short,1>(unsigned int)
+??0?$moneypunct@G$00@std@@QAE@I@Z
+; public: __thiscall std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(class moneypunct<unsigned short,0>::_Locinfo const &,unsigned int)
+??0?$moneypunct@G$0A@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::moneypunct<unsigned short,0>::moneypunct<unsigned short,0>(unsigned int)
+??0?$moneypunct@G$0A@@std@@QAE@I@Z
+; public: __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::numpunct<char>::numpunct<char>(class numpunct<char>::_Locinfo const &,unsigned int)
+??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::numpunct<char>::numpunct<char>(unsigned int)
+??0?$numpunct@D@std@@QAE@I@Z
+; public: __thiscall std::numpunct<unsigned short>::numpunct<unsigned short>(class numpunct<unsigned short>::_Locinfo const &,unsigned int)
+??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::numpunct<unsigned short>::numpunct<unsigned short>(unsigned int)
+??0?$numpunct@G@std@@QAE@I@Z
+; public: __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(class time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(class time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Locinfo const &,unsigned int)
+??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(unsigned int)
+??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(class time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Locinfo const &,unsigned int)
+??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z
+; public: __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(unsigned int)
+??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@I@Z
+; public: __thiscall std::ios_base::Init::Init(void)
+??0Init@ios_base@std@@QAE@XZ
+; public: __thiscall std::_Locinfo::_Locinfo(class _Locinfo::_Locinfo const &)
+??0_Locinfo@std@@QAE@ABV01@@Z
+; public: __thiscall std::_Locinfo::_Locinfo(int,char const *)
+??0_Locinfo@std@@QAE@HPBD@Z
+; public: __thiscall std::_Locinfo::_Locinfo(char const *)
+??0_Locinfo@std@@QAE@PBD@Z
+; public: __thiscall std::_Lockit::_Lockit(void)
+??0_Lockit@std@@QAE@XZ
+; public: __thiscall std::_Timevec::_Timevec(class _Timevec::_Timevec const &)
+??0_Timevec@std@@QAE@ABV01@@Z
+; public: __thiscall std::_Timevec::_Timevec(void *)
+??0_Timevec@std@@QAE@PAX@Z
+; public: __thiscall std::_Winit::_Winit(void)
+??0_Winit@std@@QAE@XZ
+; public: __thiscall std::__non_rtti_object::__non_rtti_object(class __non_rtti_object::__non_rtti_object const &)
+??0__non_rtti_object@std@@QAE@ABV01@@Z
+; public: __thiscall std::__non_rtti_object::__non_rtti_object(char const *)
+??0__non_rtti_object@std@@QAE@PBD@Z
+; public: __thiscall std::bad_alloc::bad_alloc(class bad_alloc::bad_alloc const &)
+??0bad_alloc@std@@QAE@ABV01@@Z
+; public: __thiscall std::bad_alloc::bad_alloc(char const *)
+??0bad_alloc@std@@QAE@PBD@Z
+; public: __thiscall std::bad_cast::bad_cast(class bad_cast::bad_cast const &)
+??0bad_cast@std@@QAE@ABV01@@Z
+; public: __thiscall std::bad_cast::bad_cast(char const *)
+??0bad_cast@std@@QAE@PBD@Z
+; public: __thiscall std::bad_exception::bad_exception(class bad_exception::bad_exception const &)
+??0bad_exception@std@@QAE@ABV01@@Z
+; public: __thiscall std::bad_exception::bad_exception(char const *)
+??0bad_exception@std@@QAE@PBD@Z
+; public: __thiscall std::bad_typeid::bad_typeid(class bad_typeid::bad_typeid const &)
+??0bad_typeid@std@@QAE@ABV01@@Z
+; public: __thiscall std::bad_typeid::bad_typeid(char const *)
+??0bad_typeid@std@@QAE@PBD@Z
+; public: __thiscall std::codecvt_base::codecvt_base(unsigned int)
+??0codecvt_base@std@@QAE@I@Z
+; public: __thiscall std::ctype_base::ctype_base(unsigned int)
+??0ctype_base@std@@QAE@I@Z
+; public: __thiscall std::domain_error::domain_error(class domain_error::domain_error const &)
+??0domain_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::domain_error::domain_error(class domain_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0domain_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; protected: __thiscall std::locale::facet::facet(unsigned int)
+??0facet@locale@std@@IAE@I@Z
+; protected: __thiscall std::ios_base::ios_base(void)
+??0ios_base@std@@IAE@XZ
+; public: __thiscall std::ios_base::ios_base(class ios_base::ios_base const &)
+??0ios_base@std@@QAE@ABV01@@Z
+; public: __thiscall std::length_error::length_error(class length_error::length_error const &)
+??0length_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::length_error::length_error(class length_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; private: __thiscall std::locale::locale(class locale::locale::_Locimp *)
+??0locale@std@@AAE@PAV_Locimp@01@@Z
+; public: __thiscall std::locale::locale(class locale::locale const &,class locale::locale const &,int)
+??0locale@std@@QAE@ABV01@0H@Z
+; public: __thiscall std::locale::locale(class locale::locale const &)
+??0locale@std@@QAE@ABV01@@Z
+; public: __thiscall std::locale::locale(class locale::locale const &,char const *,int)
+??0locale@std@@QAE@ABV01@PBDH@Z
+; public: __thiscall std::locale::locale(char const *,int)
+??0locale@std@@QAE@PBDH@Z
+; public: __thiscall std::locale::locale(enum locale::_Uninitialized)
+??0locale@std@@QAE@W4_Uninitialized@1@@Z
+; public: __thiscall std::locale::locale(void)
+??0locale@std@@QAE@XZ
+; public: __thiscall std::logic_error::logic_error(class logic_error::logic_error const &)
+??0logic_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::logic_error::logic_error(class logic_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::messages_base::messages_base(unsigned int)
+??0messages_base@std@@QAE@I@Z
+; public: __thiscall std::money_base::money_base(unsigned int)
+??0money_base@std@@QAE@I@Z
+; public: __thiscall std::ostrstream::ostrstream(char *,int,int)
+??0ostrstream@std@@QAE@PADHH@Z
+; public: __thiscall std::out_of_range::out_of_range(class out_of_range::out_of_range const &)
+??0out_of_range@std@@QAE@ABV01@@Z
+; public: __thiscall std::out_of_range::out_of_range(class out_of_range::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::overflow_error::overflow_error(class overflow_error::overflow_error const &)
+??0overflow_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::overflow_error::overflow_error(class overflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0overflow_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::range_error::range_error(class range_error::range_error const &)
+??0range_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::range_error::range_error(class range_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0range_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::runtime_error::runtime_error(class runtime_error::runtime_error const &)
+??0runtime_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::runtime_error::runtime_error(class runtime_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: __thiscall std::strstream::strstream(char *,int,int)
+??0strstream@std@@QAE@PADHH@Z
+; public: __thiscall std::time_base::time_base(unsigned int)
+??0time_base@std@@QAE@I@Z
+; public: __thiscall std::underflow_error::underflow_error(class underflow_error::underflow_error const &)
+??0underflow_error@std@@QAE@ABV01@@Z
+; public: __thiscall std::underflow_error::underflow_error(class underflow_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??0underflow_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; public: virtual __thiscall std::_Mpunct<char>::~_Mpunct<char>(void)
+??1?$_Mpunct@D@std@@UAE@XZ
+; public: virtual __thiscall std::_Mpunct<unsigned short>::~_Mpunct<unsigned short>(void)
+??1?$_Mpunct@G@std@@UAE@XZ
+; public: virtual __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::~basic_filebuf<char,struct std::char_traits<char> >(void)
+??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_filebuf@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_fstream<char,struct std::char_traits<char> >::~basic_fstream<char,struct std::char_traits<char> >(void)
+??1?$basic_fstream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_fstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_fstream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::~basic_ifstream<char,struct std::char_traits<char> >(void)
+??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_ifstream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)
+??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::~basic_ios<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_ios@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_iostream<char,struct std::char_traits<char> >::~basic_iostream<char,struct std::char_traits<char> >(void)
+??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_iostream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_iostream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_istream<char,struct std::char_traits<char> >::~basic_istream<char,struct std::char_traits<char> >(void)
+??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::~basic_istream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_istream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::~basic_ofstream<char,struct std::char_traits<char> >(void)
+??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_ofstream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void)
+??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::~basic_ostream<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_ostream@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)
+??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::~basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >(void)
+??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ
+; public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
+; public: __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ
+; public: virtual __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >(void)
+??1?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ
+; public: virtual __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::~basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)
+??1?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ
+; public: virtual __thiscall std::codecvt<char,char,int>::~codecvt<char,char,int>(void)
+??1?$codecvt@DDH@std@@UAE@XZ
+; public: virtual __thiscall std::codecvt<unsigned short,char,int>::~codecvt<unsigned short,char,int>(void)
+??1?$codecvt@GDH@std@@UAE@XZ
+; public: virtual __thiscall std::collate<char>::~collate<char>(void)
+??1?$collate@D@std@@UAE@XZ
+; public: virtual __thiscall std::collate<unsigned short>::~collate<unsigned short>(void)
+??1?$collate@G@std@@UAE@XZ
+; public: virtual __thiscall std::ctype<char>::~ctype<char>(void)
+??1?$ctype@D@std@@UAE@XZ
+; public: virtual __thiscall std::ctype<unsigned short>::~ctype<unsigned short>(void)
+??1?$ctype@G@std@@UAE@XZ
+; public: virtual __thiscall std::messages<char>::~messages<char>(void)
+??1?$messages@D@std@@UAE@XZ
+; public: virtual __thiscall std::messages<unsigned short>::~messages<unsigned short>(void)
+??1?$messages@G@std@@UAE@XZ
+; public: virtual __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::moneypunct<char,1>::~moneypunct<char,1>(void)
+??1?$moneypunct@D$00@std@@UAE@XZ
+; public: virtual __thiscall std::moneypunct<char,0>::~moneypunct<char,0>(void)
+??1?$moneypunct@D$0A@@std@@UAE@XZ
+; public: virtual __thiscall std::moneypunct<unsigned short,1>::~moneypunct<unsigned short,1>(void)
+??1?$moneypunct@G$00@std@@UAE@XZ
+; public: virtual __thiscall std::moneypunct<unsigned short,0>::~moneypunct<unsigned short,0>(void)
+??1?$moneypunct@G$0A@@std@@UAE@XZ
+; public: virtual __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::numpunct<char>::~numpunct<char>(void)
+??1?$numpunct@D@std@@UAE@XZ
+; public: virtual __thiscall std::numpunct<unsigned short>::~numpunct<unsigned short>(void)
+??1?$numpunct@G@std@@UAE@XZ
+; public: virtual __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::~time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::~time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >(void)
+??1?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@UAE@XZ
+; public: virtual __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::~time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >(void)
+??1?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@UAE@XZ
+; public: __thiscall std::ios_base::Init::~Init(void)
+??1Init@ios_base@std@@QAE@XZ
+; public: __thiscall std::_Locinfo::~_Locinfo(void)
+??1_Locinfo@std@@QAE@XZ
+; public: __thiscall std::_Lockit::~_Lockit(void)
+??1_Lockit@std@@QAE@XZ
+; public: __thiscall std::_Timevec::~_Timevec(void)
+??1_Timevec@std@@QAE@XZ
+; public: __thiscall std::_Winit::~_Winit(void)
+??1_Winit@std@@QAE@XZ
+; public: virtual __thiscall std::__non_rtti_object::~__non_rtti_object(void)
+??1__non_rtti_object@std@@UAE@XZ
+; public: virtual __thiscall std::bad_alloc::~bad_alloc(void)
+??1bad_alloc@std@@UAE@XZ
+; public: virtual __thiscall std::bad_cast::~bad_cast(void)
+??1bad_cast@std@@UAE@XZ
+; public: virtual __thiscall std::bad_exception::~bad_exception(void)
+??1bad_exception@std@@UAE@XZ
+; public: virtual __thiscall std::bad_typeid::~bad_typeid(void)
+??1bad_typeid@std@@UAE@XZ
+; public: virtual __thiscall std::codecvt_base::~codecvt_base(void)
+??1codecvt_base@std@@UAE@XZ
+; public: virtual __thiscall std::ctype_base::~ctype_base(void)
+??1ctype_base@std@@UAE@XZ
+; public: virtual __thiscall std::domain_error::~domain_error(void)
+??1domain_error@std@@UAE@XZ
+; public: virtual __thiscall std::locale::facet::~facet(void)
+??1facet@locale@std@@UAE@XZ
+; public: virtual __thiscall std::ios_base::~ios_base(void)
+??1ios_base@std@@UAE@XZ
+; public: virtual __thiscall std::istrstream::~istrstream(void)
+??1istrstream@std@@UAE@XZ
+; public: virtual __thiscall std::length_error::~length_error(void)
+??1length_error@std@@UAE@XZ
+; public: __thiscall std::locale::~locale(void)
+??1locale@std@@QAE@XZ
+; public: virtual __thiscall std::logic_error::~logic_error(void)
+??1logic_error@std@@UAE@XZ
+; public: virtual __thiscall std::messages_base::~messages_base(void)
+??1messages_base@std@@UAE@XZ
+; public: virtual __thiscall std::money_base::~money_base(void)
+??1money_base@std@@UAE@XZ
+; public: virtual __thiscall std::ostrstream::~ostrstream(void)
+??1ostrstream@std@@UAE@XZ
+; public: virtual __thiscall std::out_of_range::~out_of_range(void)
+??1out_of_range@std@@UAE@XZ
+; public: virtual __thiscall std::overflow_error::~overflow_error(void)
+??1overflow_error@std@@UAE@XZ
+; public: virtual __thiscall std::range_error::~range_error(void)
+??1range_error@std@@UAE@XZ
+; public: virtual __thiscall std::runtime_error::~runtime_error(void)
+??1runtime_error@std@@UAE@XZ
+; public: virtual __thiscall std::strstream::~strstream(void)
+??1strstream@std@@UAE@XZ
+; public: virtual __thiscall std::strstreambuf::~strstreambuf(void)
+??1strstreambuf@std@@UAE@XZ
+; public: virtual __thiscall std::time_base::~time_base(void)
+??1time_base@std@@UAE@XZ
+; public: virtual __thiscall std::underflow_error::~underflow_error(void)
+??1underflow_error@std@@UAE@XZ
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator=(class std::_Complex_base<float> const &)
+??4?$_Complex_base@M@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator=(class std::_Complex_base<double> const &)
+??4?$_Complex_base@N@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator=(class std::_Complex_base<long double> const &)
+??4?$_Complex_base@O@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Ctr<float> & __thiscall std::_Ctr<float>::operator=(class std::_Ctr<float> const &)
+??4?$_Ctr@M@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Ctr<double> & __thiscall std::_Ctr<double>::operator=(class std::_Ctr<double> const &)
+??4?$_Ctr@N@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Ctr<long double> & __thiscall std::_Ctr<long double>::operator=(class std::_Ctr<long double> const &)
+??4?$_Ctr@O@std@@QAEAAV01@ABV01@@Z
+; public: class std::allocator<void> & __thiscall std::allocator<void>::operator=(class std::allocator<void> const &)
+??4?$allocator@X@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > & __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::operator=(class std::basic_filebuf<char,struct std::char_traits<char> > const &)
+??4?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_fstream<char,struct std::char_traits<char> > & __thiscall std::basic_fstream<char,struct std::char_traits<char> >::operator=(class std::basic_fstream<char,struct std::char_traits<char> > const &)
+??4?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ifstream<char,struct std::char_traits<char> > & __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::operator=(class std::basic_ifstream<char,struct std::char_traits<char> > const &)
+??4?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ios<char,struct std::char_traits<char> > & __thiscall std::basic_ios<char,struct std::char_traits<char> >::operator=(class std::basic_ios<char,struct std::char_traits<char> > const &)
+??4?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_iostream<char,struct std::char_traits<char> > & __thiscall std::basic_iostream<char,struct std::char_traits<char> >::operator=(class std::basic_iostream<char,struct std::char_traits<char> > const &)
+??4?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator=(class std::basic_istream<char,struct std::char_traits<char> > const &)
+??4?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??4?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??4?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ofstream<char,struct std::char_traits<char> > & __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::operator=(class std::basic_ofstream<char,struct std::char_traits<char> > const &)
+??4?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator=(class std::basic_ostream<char,struct std::char_traits<char> > const &)
+??4?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??4?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??4?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > & __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::operator=(class std::basic_streambuf<char,struct std::char_traits<char> > const &)
+??4?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::operator=(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > const &)
+??4?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char)
+??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char const *)
+??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short)
+??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(unsigned short const *)
+??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??4?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??4?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??4?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator=(class std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??4?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
+; public: struct std::char_traits<char> & __thiscall std::char_traits<char>::operator=(struct std::char_traits<char> const &)
+??4?$char_traits@D@std@@QAEAAU01@ABU01@@Z
+; public: struct std::char_traits<unsigned short> & __thiscall std::char_traits<unsigned short>::operator=(struct std::char_traits<unsigned short> const &)
+??4?$char_traits@G@std@@QAEAAU01@ABU01@@Z
+; public: class std::complex<float> & __thiscall std::complex<float>::operator=(float const &)
+??4?$complex@M@std@@QAEAAV01@ABM@Z
+; public: class std::complex<float> & __thiscall std::complex<float>::operator=(class std::complex<float> const &)
+??4?$complex@M@std@@QAEAAV01@ABV01@@Z
+; public: class std::complex<double> & __thiscall std::complex<double>::operator=(double const &)
+??4?$complex@N@std@@QAEAAV01@ABN@Z
+; public: class std::complex<double> & __thiscall std::complex<double>::operator=(class std::complex<double> const &)
+??4?$complex@N@std@@QAEAAV01@ABV01@@Z
+; public: class std::complex<long double> & __thiscall std::complex<long double>::operator=(long double const &)
+??4?$complex@O@std@@QAEAAV01@ABO@Z
+; public: class std::complex<long double> & __thiscall std::complex<long double>::operator=(class std::complex<long double> const &)
+??4?$complex@O@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<signed char> & __thiscall std::numeric_limits<signed char>::operator=(class std::numeric_limits<signed char> const &)
+??4?$numeric_limits@C@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<char> & __thiscall std::numeric_limits<char>::operator=(class std::numeric_limits<char> const &)
+??4?$numeric_limits@D@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<unsigned char> & __thiscall std::numeric_limits<unsigned char>::operator=(class std::numeric_limits<unsigned char> const &)
+??4?$numeric_limits@E@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<short> & __thiscall std::numeric_limits<short>::operator=(class std::numeric_limits<short> const &)
+??4?$numeric_limits@F@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<unsigned short> & __thiscall std::numeric_limits<unsigned short>::operator=(class std::numeric_limits<unsigned short> const &)
+??4?$numeric_limits@G@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<int> & __thiscall std::numeric_limits<int>::operator=(class std::numeric_limits<int> const &)
+??4?$numeric_limits@H@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<unsigned int> & __thiscall std::numeric_limits<unsigned int>::operator=(class std::numeric_limits<unsigned int> const &)
+??4?$numeric_limits@I@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<long> & __thiscall std::numeric_limits<long>::operator=(class std::numeric_limits<long> const &)
+??4?$numeric_limits@J@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<unsigned long> & __thiscall std::numeric_limits<unsigned long>::operator=(class std::numeric_limits<unsigned long> const &)
+??4?$numeric_limits@K@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<float> & __thiscall std::numeric_limits<float>::operator=(class std::numeric_limits<float> const &)
+??4?$numeric_limits@M@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<double> & __thiscall std::numeric_limits<double>::operator=(class std::numeric_limits<double> const &)
+??4?$numeric_limits@N@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<long double> & __thiscall std::numeric_limits<long double>::operator=(class std::numeric_limits<long double> const &)
+??4?$numeric_limits@O@std@@QAEAAV01@ABV01@@Z
+; public: class std::numeric_limits<bool> & __thiscall std::numeric_limits<bool>::operator=(class std::numeric_limits<bool> const &)
+??4?$numeric_limits@_N@std@@QAEAAV01@ABV01@@Z
+; public: class std::ios_base::Init & __thiscall std::ios_base::Init::operator=(class std::ios_base::Init const &)
+??4Init@ios_base@std@@QAEAAV012@ABV012@@Z
+; public: class std::_Locinfo & __thiscall std::_Locinfo::operator=(class std::_Locinfo const &)
+??4_Locinfo@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Lockit & __thiscall std::_Lockit::operator=(class std::_Lockit const &)
+??4_Lockit@std@@QAEAAV01@ABV01@@Z
+; public: struct std::_Num_base & __thiscall std::_Num_base::operator=(struct std::_Num_base const &)
+??4_Num_base@std@@QAEAAU01@ABU01@@Z
+; public: struct std::_Num_float_base & __thiscall std::_Num_float_base::operator=(struct std::_Num_float_base const &)
+??4_Num_float_base@std@@QAEAAU01@ABU01@@Z
+; public: struct std::_Num_int_base & __thiscall std::_Num_int_base::operator=(struct std::_Num_int_base const &)
+??4_Num_int_base@std@@QAEAAU01@ABU01@@Z
+; public: class std::_Timevec & __thiscall std::_Timevec::operator=(class std::_Timevec const &)
+??4_Timevec@std@@QAEAAV01@ABV01@@Z
+; public: class std::_Winit & __thiscall std::_Winit::operator=(class std::_Winit const &)
+??4_Winit@std@@QAEAAV01@ABV01@@Z
+; public: class std::__non_rtti_object & __thiscall std::__non_rtti_object::operator=(class std::__non_rtti_object const &)
+??4__non_rtti_object@std@@QAEAAV01@ABV01@@Z
+; public: class std::bad_alloc & __thiscall std::bad_alloc::operator=(class std::bad_alloc const &)
+??4bad_alloc@std@@QAEAAV01@ABV01@@Z
+; public: class std::bad_cast & __thiscall std::bad_cast::operator=(class std::bad_cast const &)
+??4bad_cast@std@@QAEAAV01@ABV01@@Z
+; public: class std::bad_exception & __thiscall std::bad_exception::operator=(class std::bad_exception const &)
+??4bad_exception@std@@QAEAAV01@ABV01@@Z
+; public: class std::bad_typeid & __thiscall std::bad_typeid::operator=(class std::bad_typeid const &)
+??4bad_typeid@std@@QAEAAV01@ABV01@@Z
+; public: class std::domain_error & __thiscall std::domain_error::operator=(class std::domain_error const &)
+??4domain_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::locale::id & __thiscall std::locale::id::operator=(class std::locale::id const &)
+??4id@locale@std@@QAEAAV012@ABV012@@Z
+; public: class std::ios_base & __thiscall std::ios_base::operator=(class std::ios_base const &)
+??4ios_base@std@@QAEAAV01@ABV01@@Z
+; public: class std::length_error & __thiscall std::length_error::operator=(class std::length_error const &)
+??4length_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::locale & __thiscall std::locale::operator=(class std::locale const &)
+??4locale@std@@QAEAAV01@ABV01@@Z
+; public: class std::logic_error & __thiscall std::logic_error::operator=(class std::logic_error const &)
+??4logic_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::out_of_range & __thiscall std::out_of_range::operator=(class std::out_of_range const &)
+??4out_of_range@std@@QAEAAV01@ABV01@@Z
+; public: class std::overflow_error & __thiscall std::overflow_error::operator=(class std::overflow_error const &)
+??4overflow_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::range_error & __thiscall std::range_error::operator=(class std::range_error const &)
+??4range_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::runtime_error & __thiscall std::runtime_error::operator=(class std::runtime_error const &)
+??4runtime_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::underflow_error & __thiscall std::underflow_error::operator=(class std::underflow_error const &)
+??4underflow_error@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(short &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned short &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAG@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(int &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned int &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(long &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAJ@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned long &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(float &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAM@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(double &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAN@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(long double &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAO@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(void * &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAPAX@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(bool &)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AA_N@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_istream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_istream<char,struct std::char_traits<char> > &))
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_ios<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > &))
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::ios_base & (__cdecl*)(class std::ios_base &))
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(class std::basic_streambuf<char,struct std::char_traits<char> > *)
+??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(short &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAF@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned short &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAG@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(int &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned int &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAI@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAJ@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(unsigned long &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAK@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(float &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAM@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(double &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAN@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(long double &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAO@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(void * &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AAPAX@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(bool &)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@AA_N@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &))
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > &))
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::ios_base & (__cdecl*)(class std::ios_base &))
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::operator>>(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+??5?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,signed char &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,char &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAD@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned char &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<float> &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@M@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<double> &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@N@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class std::complex<long double> &)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$complex@O@0@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,signed char *)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAC@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,char *)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAD@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned char *)
+??5std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@PAE@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAG@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<float> &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@M@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<double> &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@N@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<long double> &)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@AAV?$complex@O@0@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,short *)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAF@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator>>(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short *)
+??5std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@0@AAV10@PAG@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(short)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned short)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned int)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned long)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(float)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(long double)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@O@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ios<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ios<char,struct std::char_traits<char> > &))
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@DU?$char_traits@D@std@@@1@AAV21@@Z@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::ios_base & (__cdecl*)(class std::ios_base &))
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_streambuf<char,struct std::char_traits<char> > *)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(void const *)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(bool)
+??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(short)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@F@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned short)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@G@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(int)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned int)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@I@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@J@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(unsigned long)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@K@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(float)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@M@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(double)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@N@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(long double)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@O@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &))
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & (__cdecl*)(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > &))
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAV?$basic_ios@GU?$char_traits@G@std@@@1@AAV21@@Z@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::ios_base & (__cdecl*)(class std::ios_base &))
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PAV?$basic_streambuf@GU?$char_traits@G@std@@@1@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(void const *)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@PBX@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::operator<<(bool)
+??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@_N@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<float> const &)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@M@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<double> const &)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@N@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::complex<long double> const &)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$complex@O@0@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,signed char)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@C@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,char)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned char)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@E@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,signed char const *)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBC@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned char const *)
+??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBE@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<float> const &)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@M@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<double> const &)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@N@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,class std::complex<long double> const &)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@ABV?$complex@O@0@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@G@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,short const *)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBF@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::operator<<(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short const *)
+??6std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@0@AAV10@PBG@Z
+; public: bool __thiscall std::ios_base::operator!(void)const 
+??7ios_base@std@@QBE_NXZ
+; public: bool __thiscall std::locale::operator==(class std::locale const &)const 
+??8locale@std@@QBE_NABV01@@Z
+; bool __cdecl std::operator==(float const &,class std::complex<float> const &)
+??8std@@YA_NABMABV?$complex@M@0@@Z
+; bool __cdecl std::operator==(double const &,class std::complex<double> const &)
+??8std@@YA_NABNABV?$complex@N@0@@Z
+; bool __cdecl std::operator==(long double const &,class std::complex<long double> const &)
+??8std@@YA_NABOABV?$complex@O@0@@Z
+; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator==(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??8std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator==(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??8std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator==(class std::complex<float> const &,class std::complex<float> const &)
+??8std@@YA_NABV?$complex@M@0@0@Z
+; bool __cdecl std::operator==(class std::complex<float> const &,float const &)
+??8std@@YA_NABV?$complex@M@0@ABM@Z
+; bool __cdecl std::operator==(class std::complex<double> const &,class std::complex<double> const &)
+??8std@@YA_NABV?$complex@N@0@0@Z
+; bool __cdecl std::operator==(class std::complex<double> const &,double const &)
+??8std@@YA_NABV?$complex@N@0@ABN@Z
+; bool __cdecl std::operator==(class std::complex<long double> const &,class std::complex<long double> const &)
+??8std@@YA_NABV?$complex@O@0@0@Z
+; bool __cdecl std::operator==(class std::complex<long double> const &,long double const &)
+??8std@@YA_NABV?$complex@O@0@ABO@Z
+; bool __cdecl std::operator==(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??8std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator==(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??8std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; public: bool __thiscall std::locale::operator!=(class std::locale const &)const 
+??9locale@std@@QBE_NABV01@@Z
+; bool __cdecl std::operator!=(float const &,class std::complex<float> const &)
+??9std@@YA_NABMABV?$complex@M@0@@Z
+; bool __cdecl std::operator!=(double const &,class std::complex<double> const &)
+??9std@@YA_NABNABV?$complex@N@0@@Z
+; bool __cdecl std::operator!=(long double const &,class std::complex<long double> const &)
+??9std@@YA_NABOABV?$complex@O@0@@Z
+; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??9std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator!=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??9std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??9std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator!=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??9std@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator!=(class std::complex<float> const &,class std::complex<float> const &)
+??9std@@YA_NABV?$complex@M@0@0@Z
+; bool __cdecl std::operator!=(class std::complex<float> const &,float const &)
+??9std@@YA_NABV?$complex@M@0@ABM@Z
+; bool __cdecl std::operator!=(class std::complex<double> const &,class std::complex<double> const &)
+??9std@@YA_NABV?$complex@N@0@0@Z
+; bool __cdecl std::operator!=(class std::complex<double> const &,double const &)
+??9std@@YA_NABV?$complex@N@0@ABN@Z
+; bool __cdecl std::operator!=(class std::complex<long double> const &,class std::complex<long double> const &)
+??9std@@YA_NABV?$complex@O@0@0@Z
+; bool __cdecl std::operator!=(class std::complex<long double> const &,long double const &)
+??9std@@YA_NABV?$complex@O@0@ABO@Z
+; bool __cdecl std::operator!=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??9std@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator!=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??9std@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; public: char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned int)
+??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z
+; public: char const & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator[](unsigned int)const 
+??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z
+; public: unsigned short & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned int)
+??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z
+; public: unsigned short const & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator[](unsigned int)const 
+??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z
+; public: __thiscall std::locale::id::operator unsigned int(void)
+??Bid@locale@std@@QAEIXZ
+; public: __thiscall std::ios_base::operator void *(void)const 
+??Bios_base@std@@QBEPAXXZ
+; class std::complex<float>  __cdecl std::operator*(float const &,class std::complex<float> const &)
+??Dstd@@YA?AV?$complex@M@0@ABMABV10@@Z
+; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const &,class std::complex<float> const &)
+??Dstd@@YA?AV?$complex@M@0@ABV10@0@Z
+; class std::complex<float>  __cdecl std::operator*(class std::complex<float> const &,float const &)
+??Dstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; class std::complex<double>  __cdecl std::operator*(double const &,class std::complex<double> const &)
+??Dstd@@YA?AV?$complex@N@0@ABNABV10@@Z
+; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const &,class std::complex<double> const &)
+??Dstd@@YA?AV?$complex@N@0@ABV10@0@Z
+; class std::complex<double>  __cdecl std::operator*(class std::complex<double> const &,double const &)
+??Dstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; class std::complex<long double>  __cdecl std::operator*(long double const &,class std::complex<long double> const &)
+??Dstd@@YA?AV?$complex@O@0@ABOABV10@@Z
+; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const &,class std::complex<long double> const &)
+??Dstd@@YA?AV?$complex@O@0@ABV10@0@Z
+; class std::complex<long double>  __cdecl std::operator*(class std::complex<long double> const &,long double const &)
+??Dstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; class std::complex<float>  __cdecl std::operator-(float const &,class std::complex<float> const &)
+??Gstd@@YA?AV?$complex@M@0@ABMABV10@@Z
+; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &,class std::complex<float> const &)
+??Gstd@@YA?AV?$complex@M@0@ABV10@0@Z
+; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &)
+??Gstd@@YA?AV?$complex@M@0@ABV10@@Z
+; class std::complex<float>  __cdecl std::operator-(class std::complex<float> const &,float const &)
+??Gstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; class std::complex<double>  __cdecl std::operator-(double const &,class std::complex<double> const &)
+??Gstd@@YA?AV?$complex@N@0@ABNABV10@@Z
+; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &,class std::complex<double> const &)
+??Gstd@@YA?AV?$complex@N@0@ABV10@0@Z
+; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &)
+??Gstd@@YA?AV?$complex@N@0@ABV10@@Z
+; class std::complex<double>  __cdecl std::operator-(class std::complex<double> const &,double const &)
+??Gstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; class std::complex<long double>  __cdecl std::operator-(long double const &,class std::complex<long double> const &)
+??Gstd@@YA?AV?$complex@O@0@ABOABV10@@Z
+; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &,class std::complex<long double> const &)
+??Gstd@@YA?AV?$complex@O@0@ABV10@0@Z
+; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &)
+??Gstd@@YA?AV?$complex@O@0@ABV10@@Z
+; class std::complex<long double>  __cdecl std::operator-(class std::complex<long double> const &,long double const &)
+??Gstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z
+; class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __cdecl std::operator+(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@0@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@G@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@ABV10@PBG@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@GABV10@@Z
+; class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __cdecl std::operator+(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Hstd@@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBGABV10@@Z
+; class std::complex<float>  __cdecl std::operator+(float const &,class std::complex<float> const &)
+??Hstd@@YA?AV?$complex@M@0@ABMABV10@@Z
+; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &,class std::complex<float> const &)
+??Hstd@@YA?AV?$complex@M@0@ABV10@0@Z
+; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &)
+??Hstd@@YA?AV?$complex@M@0@ABV10@@Z
+; class std::complex<float>  __cdecl std::operator+(class std::complex<float> const &,float const &)
+??Hstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; class std::complex<double>  __cdecl std::operator+(double const &,class std::complex<double> const &)
+??Hstd@@YA?AV?$complex@N@0@ABNABV10@@Z
+; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &,class std::complex<double> const &)
+??Hstd@@YA?AV?$complex@N@0@ABV10@0@Z
+; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &)
+??Hstd@@YA?AV?$complex@N@0@ABV10@@Z
+; class std::complex<double>  __cdecl std::operator+(class std::complex<double> const &,double const &)
+??Hstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; class std::complex<long double>  __cdecl std::operator+(long double const &,class std::complex<long double> const &)
+??Hstd@@YA?AV?$complex@O@0@ABOABV10@@Z
+; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &,class std::complex<long double> const &)
+??Hstd@@YA?AV?$complex@O@0@ABV10@0@Z
+; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &)
+??Hstd@@YA?AV?$complex@O@0@ABV10@@Z
+; class std::complex<long double>  __cdecl std::operator+(class std::complex<long double> const &,long double const &)
+??Hstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; class std::complex<float>  __cdecl std::operator/(float const &,class std::complex<float> const &)
+??Kstd@@YA?AV?$complex@M@0@ABMABV10@@Z
+; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const &,class std::complex<float> const &)
+??Kstd@@YA?AV?$complex@M@0@ABV10@0@Z
+; class std::complex<float>  __cdecl std::operator/(class std::complex<float> const &,float const &)
+??Kstd@@YA?AV?$complex@M@0@ABV10@ABM@Z
+; class std::complex<double>  __cdecl std::operator/(double const &,class std::complex<double> const &)
+??Kstd@@YA?AV?$complex@N@0@ABNABV10@@Z
+; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const &,class std::complex<double> const &)
+??Kstd@@YA?AV?$complex@N@0@ABV10@0@Z
+; class std::complex<double>  __cdecl std::operator/(class std::complex<double> const &,double const &)
+??Kstd@@YA?AV?$complex@N@0@ABV10@ABN@Z
+; class std::complex<long double>  __cdecl std::operator/(long double const &,class std::complex<long double> const &)
+??Kstd@@YA?AV?$complex@O@0@ABOABV10@@Z
+; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const &,class std::complex<long double> const &)
+??Kstd@@YA?AV?$complex@O@0@ABV10@0@Z
+; class std::complex<long double>  __cdecl std::operator/(class std::complex<long double> const &,long double const &)
+??Kstd@@YA?AV?$complex@O@0@ABV10@ABO@Z
+; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Mstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator<(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Mstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Mstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator<(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Mstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator<(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Mstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator<(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Mstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Nstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator<=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Nstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Nstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator<=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Nstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator<=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Nstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator<=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Nstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Ostd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Ostd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Ostd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator>(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Ostd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator>(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Ostd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator>(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Ostd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Pstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
+; bool __cdecl std::operator>=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)
+??Pstd@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Pstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@0@Z
+; bool __cdecl std::operator>=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned short const *)
+??Pstd@@YA_NABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@PBG@Z
+; bool __cdecl std::operator>=(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Pstd@@YA_NPBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z
+; bool __cdecl std::operator>=(unsigned short const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Pstd@@YA_NPBGABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z
+; public: bool __thiscall std::locale::operator()(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+??Rlocale@std@@QBE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@0@Z
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator*=(float const &)
+??X?$_Complex_base@M@std@@QAEAAV01@ABM@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator*=(double const &)
+??X?$_Complex_base@N@std@@QAEAAV01@ABN@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator*=(long double const &)
+??X?$_Complex_base@O@std@@QAEAAV01@ABO@Z
+; class std::complex<float> & __cdecl std::operator*=(class std::complex<float> &,class std::complex<float> const &)
+??Xstd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; class std::complex<double> & __cdecl std::operator*=(class std::complex<double> &,class std::complex<double> const &)
+??Xstd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; class std::complex<long double> & __cdecl std::operator*=(class std::complex<long double> &,class std::complex<long double> const &)
+??Xstd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator+=(float const &)
+??Y?$_Complex_base@M@std@@QAEAAV01@ABM@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator+=(double const &)
+??Y?$_Complex_base@N@std@@QAEAAV01@ABN@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator+=(long double const &)
+??Y?$_Complex_base@O@std@@QAEAAV01@ABO@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char)
+??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator+=(char const *)
+??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short)
+??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@G@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator+=(unsigned short const *)
+??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@PBG@Z
+; class std::complex<float> & __cdecl std::operator+=(class std::complex<float> &,class std::complex<float> const &)
+??Ystd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; class std::complex<double> & __cdecl std::operator+=(class std::complex<double> &,class std::complex<double> const &)
+??Ystd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; class std::complex<long double> & __cdecl std::operator+=(class std::complex<long double> &,class std::complex<long double> const &)
+??Ystd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator-=(float const &)
+??Z?$_Complex_base@M@std@@QAEAAV01@ABM@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator-=(double const &)
+??Z?$_Complex_base@N@std@@QAEAAV01@ABN@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator-=(long double const &)
+??Z?$_Complex_base@O@std@@QAEAAV01@ABO@Z
+; class std::complex<float> & __cdecl std::operator-=(class std::complex<float> &,class std::complex<float> const &)
+??Zstd@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; class std::complex<double> & __cdecl std::operator-=(class std::complex<double> &,class std::complex<double> const &)
+??Zstd@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; class std::complex<long double> & __cdecl std::operator-=(class std::complex<long double> &,class std::complex<long double> const &)
+??Zstd@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; public: class std::_Complex_base<float> & __thiscall std::_Complex_base<float>::operator/=(float const &)
+??_0?$_Complex_base@M@std@@QAEAAV01@ABM@Z
+; public: class std::_Complex_base<double> & __thiscall std::_Complex_base<double>::operator/=(double const &)
+??_0?$_Complex_base@N@std@@QAEAAV01@ABN@Z
+; public: class std::_Complex_base<long double> & __thiscall std::_Complex_base<long double>::operator/=(long double const &)
+??_0?$_Complex_base@O@std@@QAEAAV01@ABO@Z
+; class std::complex<float> & __cdecl std::operator/=(class std::complex<float> &,class std::complex<float> const &)
+??_0std@@YAAAV?$complex@M@0@AAV10@ABV10@@Z
+; class std::complex<double> & __cdecl std::operator/=(class std::complex<double> &,class std::complex<double> const &)
+??_0std@@YAAAV?$complex@N@0@AAV10@ABV10@@Z
+; class std::complex<long double> & __cdecl std::operator/=(class std::complex<long double> &,class std::complex<long double> const &)
+??_0std@@YAAAV?$complex@O@0@AAV10@ABV10@@Z
+; const  std::_Mpunct<char>::`vftable'
+??_7?$_Mpunct@D@std@@6B@
+; const  std::_Mpunct<unsigned short>::`vftable'
+??_7?$_Mpunct@G@std@@6B@
+; const  std::basic_filebuf<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_filebuf@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_fstream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_fstream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_fstream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ifstream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_ios<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ios@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_iostream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_iostream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_iostream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_istream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_istream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
+; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
+; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ofstream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ofstream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_ostream<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_ostream@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
+; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
+; const  std::basic_streambuf<char,struct std::char_traits<char> >::`vftable'
+??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@
+; const  std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::`vftable'
+??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@
+; const  std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
+; const  std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
+; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vftable'
+??_7?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@6B@
+; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vftable'
+??_7?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@6B@
+; const  std::codecvt<char,char,int>::`vftable'
+??_7?$codecvt@DDH@std@@6B@
+; const  std::codecvt<unsigned short,char,int>::`vftable'
+??_7?$codecvt@GDH@std@@6B@
+; const  std::collate<char>::`vftable'
+??_7?$collate@D@std@@6B@
+; const  std::collate<unsigned short>::`vftable'
+??_7?$collate@G@std@@6B@
+; const  std::ctype<char>::`vftable'
+??_7?$ctype@D@std@@6B@
+; const  std::ctype<unsigned short>::`vftable'
+??_7?$ctype@G@std@@6B@
+; const  std::messages<char>::`vftable'
+??_7?$messages@D@std@@6B@
+; const  std::messages<unsigned short>::`vftable'
+??_7?$messages@G@std@@6B@
+; const  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::moneypunct<char,1>::`vftable'
+??_7?$moneypunct@D$00@std@@6B@
+; const  std::moneypunct<char,0>::`vftable'
+??_7?$moneypunct@D$0A@@std@@6B@
+; const  std::moneypunct<unsigned short,1>::`vftable'
+??_7?$moneypunct@G$00@std@@6B@
+; const  std::moneypunct<unsigned short,0>::`vftable'
+??_7?$moneypunct@G$0A@@std@@6B@
+; const  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::numpunct<char>::`vftable'
+??_7?$numpunct@D@std@@6B@
+; const  std::numpunct<unsigned short>::`vftable'
+??_7?$numpunct@G@std@@6B@
+; const  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`vftable'
+??_7?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
+; const  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`vftable'
+??_7?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
+; const  std::__non_rtti_object::`vftable'
+??_7__non_rtti_object@std@@6B@
+; const  std::bad_alloc::`vftable'
+??_7bad_alloc@std@@6B@
+; const  std::bad_cast::`vftable'
+??_7bad_cast@std@@6B@
+; const  std::bad_exception::`vftable'
+??_7bad_exception@std@@6B@
+; const  std::bad_typeid::`vftable'
+??_7bad_typeid@std@@6B@
+; const  std::codecvt_base::`vftable'
+??_7codecvt_base@std@@6B@
+; const  std::ctype_base::`vftable'
+??_7ctype_base@std@@6B@
+; const  std::domain_error::`vftable'
+??_7domain_error@std@@6B@
+; const  std::locale::facet::`vftable'
+??_7facet@locale@std@@6B@
+; const  std::ios_base::`vftable'
+??_7ios_base@std@@6B@
+; const  std::length_error::`vftable'
+??_7length_error@std@@6B@
+; const  std::logic_error::`vftable'
+??_7logic_error@std@@6B@
+; const  std::messages_base::`vftable'
+??_7messages_base@std@@6B@
+; const  std::money_base::`vftable'
+??_7money_base@std@@6B@
+; const  std::out_of_range::`vftable'
+??_7out_of_range@std@@6B@
+; const  std::overflow_error::`vftable'
+??_7overflow_error@std@@6B@
+; const  std::range_error::`vftable'
+??_7range_error@std@@6B@
+; const  std::runtime_error::`vftable'
+??_7runtime_error@std@@6B@
+; const  std::time_base::`vftable'
+??_7time_base@std@@6B@
+; const  std::underflow_error::`vftable'
+??_7underflow_error@std@@6B@
+; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
+??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@
+; const  std::basic_fstream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
+??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@
+; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@
+; const  std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_fstream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@
+; const  std::basic_ifstream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@
+; const  std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_ifstream@GU?$char_traits@G@std@@@std@@7B@
+; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
+??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@
+; const  std::basic_iostream<char,struct std::char_traits<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
+??_8?$basic_iostream@DU?$char_traits@D@std@@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@
+; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@
+; const  std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_iostream@GU?$char_traits@G@std@@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@
+; const  std::basic_istream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@
+; const  std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_istream@GU?$char_traits@G@std@@@std@@7B@
+; const  std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
+??_8?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@
+; const  std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
+??_8?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@
+; const  std::basic_ofstream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_ofstream@DU?$char_traits@D@std@@@std@@7B@
+; const  std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_ofstream@GU?$char_traits@G@std@@@std@@7B@
+; const  std::basic_ostream<char,struct std::char_traits<char> >::`vbtable'
+??_8?$basic_ostream@DU?$char_traits@D@std@@@std@@7B@
+; const  std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbtable'
+??_8?$basic_ostream@GU?$char_traits@G@std@@@std@@7B@
+; const  std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'
+??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@
+; const  std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'
+??_8?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B@
+; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_istream<char,struct std::char_traits<char> >'}
+??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@
+; const  std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbtable'{for `std::basic_ostream<char,struct std::char_traits<char> >'}
+??_8?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B?$basic_ostream@DU?$char_traits@D@std@@@1@@
+; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_istream@GU?$char_traits@G@std@@@1@@
+; const  std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbtable'{for `std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'}
+??_8?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@7B?$basic_ostream@GU?$char_traits@G@std@@@1@@
+; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_iostream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_iostream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_iostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_iostream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
+??_D?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::`vbase destructor'(void)
+??_D?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
+??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)
+??_D?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`vbase destructor'(void)
+??_D?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::`default constructor closure'(void)
+??_F?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`default constructor closure'(void)
+??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ
+; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::`default constructor closure'(void)
+??_F?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXXZ
+; public: void __thiscall std::codecvt<char,char,int>::`default constructor closure'(void)
+??_F?$codecvt@DDH@std@@QAEXXZ
+; public: void __thiscall std::codecvt<unsigned short,char,int>::`default constructor closure'(void)
+??_F?$codecvt@GDH@std@@QAEXXZ
+; public: void __thiscall std::collate<char>::`default constructor closure'(void)
+??_F?$collate@D@std@@QAEXXZ
+; public: void __thiscall std::collate<unsigned short>::`default constructor closure'(void)
+??_F?$collate@G@std@@QAEXXZ
+; public: void __thiscall std::complex<float>::`default constructor closure'(void)
+??_F?$complex@M@std@@QAEXXZ
+; public: void __thiscall std::complex<double>::`default constructor closure'(void)
+??_F?$complex@N@std@@QAEXXZ
+; public: void __thiscall std::complex<long double>::`default constructor closure'(void)
+??_F?$complex@O@std@@QAEXXZ
+; public: void __thiscall std::ctype<char>::`default constructor closure'(void)
+??_F?$ctype@D@std@@QAEXXZ
+; public: void __thiscall std::ctype<unsigned short>::`default constructor closure'(void)
+??_F?$ctype@G@std@@QAEXXZ
+; public: void __thiscall std::messages<char>::`default constructor closure'(void)
+??_F?$messages@D@std@@QAEXXZ
+; public: void __thiscall std::messages<unsigned short>::`default constructor closure'(void)
+??_F?$messages@G@std@@QAEXXZ
+; public: void __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::moneypunct<char,1>::`default constructor closure'(void)
+??_F?$moneypunct@D$00@std@@QAEXXZ
+; public: void __thiscall std::moneypunct<char,0>::`default constructor closure'(void)
+??_F?$moneypunct@D$0A@@std@@QAEXXZ
+; public: void __thiscall std::moneypunct<unsigned short,1>::`default constructor closure'(void)
+??_F?$moneypunct@G$00@std@@QAEXXZ
+; public: void __thiscall std::moneypunct<unsigned short,0>::`default constructor closure'(void)
+??_F?$moneypunct@G$0A@@std@@QAEXXZ
+; public: void __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::numpunct<char>::`default constructor closure'(void)
+??_F?$numpunct@D@std@@QAEXXZ
+; public: void __thiscall std::numpunct<unsigned short>::`default constructor closure'(void)
+??_F?$numpunct@G@std@@QAEXXZ
+; public: void __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::`default constructor closure'(void)
+??_F?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::`default constructor closure'(void)
+??_F?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
+; public: void __thiscall std::_Locinfo::`default constructor closure'(void)
+??_F_Locinfo@std@@QAEXXZ
+; public: void __thiscall std::_Timevec::`default constructor closure'(void)
+??_F_Timevec@std@@QAEXXZ
+; public: void __thiscall std::bad_alloc::`default constructor closure'(void)
+??_Fbad_alloc@std@@QAEXXZ
+; public: void __thiscall std::bad_cast::`default constructor closure'(void)
+??_Fbad_cast@std@@QAEXXZ
+; public: void __thiscall std::bad_exception::`default constructor closure'(void)
+??_Fbad_exception@std@@QAEXXZ
+; public: void __thiscall std::bad_typeid::`default constructor closure'(void)
+??_Fbad_typeid@std@@QAEXXZ
+; public: void __thiscall std::codecvt_base::`default constructor closure'(void)
+??_Fcodecvt_base@std@@QAEXXZ
+; public: void __thiscall std::ctype_base::`default constructor closure'(void)
+??_Fctype_base@std@@QAEXXZ
+; public: void __thiscall std::locale::facet::`default constructor closure'(void)
+??_Ffacet@locale@std@@QAEXXZ
+; public: void __thiscall std::messages_base::`default constructor closure'(void)
+??_Fmessages_base@std@@QAEXXZ
+; public: void __thiscall std::money_base::`default constructor closure'(void)
+??_Fmoney_base@std@@QAEXXZ
+; public: void __thiscall std::time_base::`default constructor closure'(void)
+??_Ftime_base@std@@QAEXXZ
+; public: class std::_Locinfo & __thiscall std::_Locinfo::_Addcats(int,char const *)
+?_Addcats@_Locinfo@std@@QAEAAV12@HPBD@Z
+; public: class std::locale & __thiscall std::locale::_Addfac(class std::locale::facet *,unsigned int,unsigned int)
+?_Addfac@locale@std@@QAEAAV12@PAVfacet@12@II@Z
+; protected: void __thiscall std::ios_base::_Addstd(void)
+?_Addstd@ios_base@std@@IAEXXZ
+; char const  `private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)'::`2'::_C
+?_C@?1??_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ@4DB
+; unsigned short const  `private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)'::`2'::_C
+?_C@?1??_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGXZ@4GB
+; private: void __thiscall std::ios_base::_Callfns(enum std::ios_base::event)
+?_Callfns@ios_base@std@@AAEXW4event@12@@Z
+; private: static class std::locale::_Locimp *  std::locale::_Locimp::_Clocptr
+?_Clocptr@_Locimp@locale@std@@0PAV123@A DATA
+; private: static short const * const  std::ctype<char>::_Cltab
+?_Cltab@?$ctype@D@std@@0PBFB DATA
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Copy(unsigned int)
+?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Copy(unsigned int)
+?_Copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXI@Z
+; public: static float __cdecl std::_Ctr<float>::_Cosh(float,float)
+?_Cosh@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Cosh(double,double)
+?_Cosh@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Cosh(long double,long double)
+?_Cosh@?$_Ctr@O@std@@SAOOO@Z
+; public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)
+?_Decref@facet@locale@std@@QAEPAV123@XZ
+; protected: virtual void __thiscall std::bad_alloc::_Doraise(void)const 
+?_Doraise@bad_alloc@std@@MBEXXZ
+; protected: virtual void __thiscall std::bad_cast::_Doraise(void)const 
+?_Doraise@bad_cast@std@@MBEXXZ
+; protected: virtual void __thiscall std::bad_exception::_Doraise(void)const 
+?_Doraise@bad_exception@std@@MBEXXZ
+; protected: virtual void __thiscall std::bad_typeid::_Doraise(void)const 
+?_Doraise@bad_typeid@std@@MBEXXZ
+; protected: virtual void __thiscall std::domain_error::_Doraise(void)const 
+?_Doraise@domain_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::length_error::_Doraise(void)const 
+?_Doraise@length_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::logic_error::_Doraise(void)const 
+?_Doraise@logic_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::out_of_range::_Doraise(void)const 
+?_Doraise@out_of_range@std@@MBEXXZ
+; protected: virtual void __thiscall std::overflow_error::_Doraise(void)const 
+?_Doraise@overflow_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::range_error::_Doraise(void)const 
+?_Doraise@range_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::runtime_error::_Doraise(void)const 
+?_Doraise@runtime_error@std@@MBEXXZ
+; protected: virtual void __thiscall std::underflow_error::_Doraise(void)const 
+?_Doraise@underflow_error@std@@MBEXXZ
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Eos(unsigned int)
+?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Eos(unsigned int)
+?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXI@Z
+; public: static short __cdecl std::_Ctr<float>::_Exp(float *,float,short)
+?_Exp@?$_Ctr@M@std@@SAFPAMMF@Z
+; public: static short __cdecl std::_Ctr<double>::_Exp(double *,double,short)
+?_Exp@?$_Ctr@N@std@@SAFPANNF@Z
+; public: static short __cdecl std::_Ctr<long double>::_Exp(long double *,long double,short)
+?_Exp@?$_Ctr@O@std@@SAFPAOOF@Z
+; float __cdecl std::_Fabs(class std::complex<float> const &,int *)
+?_Fabs@std@@YAMABV?$complex@M@1@PAH@Z
+; double __cdecl std::_Fabs(class std::complex<double> const &,int *)
+?_Fabs@std@@YANABV?$complex@N@1@PAH@Z
+; long double __cdecl std::_Fabs(class std::complex<long double> const &,int *)
+?_Fabs@std@@YAOABV?$complex@O@1@PAH@Z
+; protected: static char * __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ffmt(char *,char,int)
+?_Ffmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPADPADDH@Z
+; protected: static char * __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ffmt(char *,char,int)
+?_Ffmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPADPADDH@Z
+; private: struct std::ios_base::_Iosarray & __thiscall std::ios_base::_Findarr(int)
+?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Fput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,char const *,unsigned int,unsigned int)
+?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDII@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Fput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,char const *,unsigned int,unsigned int)
+?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDII@Z
+; __int64 const  std::_Fpz
+?_Fpz@std@@3_JB
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Freeze(void)
+?_Freeze@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Freeze(void)
+?_Freeze@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ
+; public: static unsigned int __cdecl std::_Mpunct<char>::_Getcat(void)
+?_Getcat@?$_Mpunct@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::_Mpunct<unsigned short>::_Getcat(void)
+?_Getcat@?$_Mpunct@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::codecvt<char,char,int>::_Getcat(void)
+?_Getcat@?$codecvt@DDH@std@@SAIXZ
+; public: static unsigned int __cdecl std::codecvt<unsigned short,char,int>::_Getcat(void)
+?_Getcat@?$codecvt@GDH@std@@SAIXZ
+; public: static unsigned int __cdecl std::collate<char>::_Getcat(void)
+?_Getcat@?$collate@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::collate<unsigned short>::_Getcat(void)
+?_Getcat@?$collate@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::ctype<char>::_Getcat(void)
+?_Getcat@?$ctype@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::ctype<unsigned short>::_Getcat(void)
+?_Getcat@?$ctype@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::messages<char>::_Getcat(void)
+?_Getcat@?$messages@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::messages<unsigned short>::_Getcat(void)
+?_Getcat@?$messages@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::moneypunct<char,1>::_Getcat(void)
+?_Getcat@?$moneypunct@D$00@std@@SAIXZ
+; public: static unsigned int __cdecl std::moneypunct<char,0>::_Getcat(void)
+?_Getcat@?$moneypunct@D$0A@@std@@SAIXZ
+; public: static unsigned int __cdecl std::moneypunct<unsigned short,1>::_Getcat(void)
+?_Getcat@?$moneypunct@G$00@std@@SAIXZ
+; public: static unsigned int __cdecl std::moneypunct<unsigned short,0>::_Getcat(void)
+?_Getcat@?$moneypunct@G$0A@@std@@SAIXZ
+; public: static unsigned int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::numpunct<char>::_Getcat(void)
+?_Getcat@?$numpunct@D@std@@SAIXZ
+; public: static unsigned int __cdecl std::numpunct<unsigned short>::_Getcat(void)
+?_Getcat@?$numpunct@G@std@@SAIXZ
+; public: static unsigned int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Getcat(void)
+?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getcat(void)
+?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIXZ
+; public: static unsigned int __cdecl std::locale::facet::_Getcat(void)
+?_Getcat@facet@locale@std@@SAIXZ
+; public: struct _Collvec  __thiscall std::_Locinfo::_Getcoll(void)const 
+?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ
+; public: struct _Ctypevec  __thiscall std::_Locinfo::_Getctype(void)const 
+?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ
+; public: struct _Cvtvec  __thiscall std::_Locinfo::_Getcvt(void)const 
+?_Getcvt@_Locinfo@std@@QBE?AU_Cvtvec@@XZ
+; public: char const * __thiscall std::_Locinfo::_Getdays(void)const 
+?_Getdays@_Locinfo@std@@QBEPBDXZ
+; public: class std::locale::facet const * __thiscall std::locale::_Getfacet(unsigned int,bool)const 
+?_Getfacet@locale@std@@QBEPBVfacet@12@I_N@Z
+; public: char const * __thiscall std::_Locinfo::_Getfalse(void)const 
+?_Getfalse@_Locinfo@std@@QBEPBDXZ
+; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getffld(char *,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::locale const &)
+?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1ABVlocale@2@@Z
+; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getffld(char *,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::locale const &)
+?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1ABVlocale@2@@Z
+; private: static int __cdecl std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getifld(char *,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,int,class std::locale const &)
+?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z
+; private: static int __cdecl std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getifld(char *,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,int,class std::locale const &)
+?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z
+; private: static int __cdecl std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getint(class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,int,int,int &)
+?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAAH@Z
+; private: static int __cdecl std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getint(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,int,int,int &)
+?_Getint@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0HHAAH@Z
+; public: struct lconv const * __thiscall std::_Locinfo::_Getlconv(void)const 
+?_Getlconv@_Locinfo@std@@QBEPBUlconv@@XZ
+; private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Getmfld(class std::istreambuf_iterator<char,struct std::char_traits<char> > &,class std::istreambuf_iterator<char,struct std::char_traits<char> > &,bool,class std::ios_base &)const 
+?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@@Z
+; private: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Getmfld(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > &,bool,class std::ios_base &)const 
+?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@@Z
+; public: char const * __thiscall std::_Locinfo::_Getmonths(void)const 
+?_Getmonths@_Locinfo@std@@QBEPBDXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Locinfo::_Getname(void)const 
+?_Getname@_Locinfo@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: char const * __thiscall std::_Locinfo::_Getno(void)const 
+?_Getno@_Locinfo@std@@QBEPBDXZ
+; public: void * __thiscall std::_Timevec::_Getptr(void)const 
+?_Getptr@_Timevec@std@@QBEPAXXZ
+; public: class std::_Timevec  __thiscall std::_Locinfo::_Gettnames(void)const 
+?_Gettnames@_Locinfo@std@@QBE?AV_Timevec@2@XZ
+; public: char const * __thiscall std::_Locinfo::_Gettrue(void)const 
+?_Gettrue@_Locinfo@std@@QBEPBDXZ
+; public: char const * __thiscall std::_Locinfo::_Getyes(void)const 
+?_Getyes@_Locinfo@std@@QBEPBDXZ
+; private: static class std::locale::_Locimp *  std::locale::_Locimp::_Global
+?_Global@_Locimp@locale@std@@0PAV123@A DATA
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gndec(void)
+?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gndec(void)
+?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gninc(void)
+?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Gninc(void)
+?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
+; private: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)
+?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z
+; private: bool __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Grow(unsigned int,bool)
+?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAE_NI_N@Z
+; private: static int  std::locale::id::_Id_cnt
+?_Id_cnt@id@locale@std@@0HA DATA
+; protected: static char * __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Ifmt(char *,char,int)
+?_Ifmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KAPADPADDH@Z
+; protected: static char * __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Ifmt(char *,char,int)
+?_Ifmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KAPADPADDH@Z
+; public: void __thiscall std::locale::facet::_Incref(void)
+?_Incref@facet@locale@std@@QAEXXZ
+; private: static int  std::ios_base::_Index
+?_Index@ios_base@std@@0HA DATA
+; public: static float __cdecl std::_Ctr<float>::_Infv(float)
+?_Infv@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Infv(double)
+?_Infv@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Infv(long double)
+?_Infv@?$_Ctr@O@std@@SAOO@Z
+; protected: void __thiscall std::_Mpunct<char>::_Init(class std::_Locinfo const &)
+?_Init@?$_Mpunct@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::_Mpunct<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$_Mpunct@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf *,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl)
+?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z
+; protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf *,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl)
+?_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(char * *,char * *,int *,char * *,char * *,int *)
+?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(void)
+?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(unsigned short * *,unsigned short * *,int *,unsigned short * *,unsigned short * *,int *)
+?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(void)
+?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ
+; protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Init(char const *,unsigned int,int)
+?_Init@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXPBDIH@Z
+; protected: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Init(unsigned short const *,unsigned int,int)
+?_Init@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXPBGIH@Z
+; protected: void __thiscall std::codecvt<char,char,int>::_Init(class std::_Locinfo const &)
+?_Init@?$codecvt@DDH@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::codecvt<unsigned short,char,int>::_Init(class std::_Locinfo const &)
+?_Init@?$codecvt@GDH@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::collate<char>::_Init(class std::_Locinfo const &)
+?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::collate<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$collate@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::ctype<char>::_Init(class std::_Locinfo const &)
+?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::ctype<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$ctype@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::messages<char>::_Init(class std::_Locinfo const &)
+?_Init@?$messages@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::messages<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$messages@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::numpunct<char>::_Init(class std::_Locinfo const &)
+?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::numpunct<unsigned short>::_Init(class std::_Locinfo const &)
+?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Init(class std::_Locinfo const &)
+?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Init(class std::_Locinfo const &)
+?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z
+; protected: void __thiscall std::ios_base::_Init(void)
+?_Init@ios_base@std@@IAEXXZ
+; private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)
+?_Init@locale@std@@CAPAV_Locimp@12@XZ
+; protected: void __thiscall std::strstreambuf::_Init(int,char *,char *,int)
+?_Init@strstreambuf@std@@IAEXHPAD0H@Z
+; private: static int  std::ios_base::Init::_Init_cnt
+?_Init_cnt@Init@ios_base@std@@0HA DATA
+; private: static int  std::_Winit::_Init_cnt
+?_Init_cnt@_Winit@std@@0HA DATA
+; protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Initcvt(void)
+?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXXZ
+; protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initcvt(void)
+?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXXZ
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Iput(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,char *,unsigned int)
+?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Iput(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,char *,unsigned int)
+?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z
+; public: bool __thiscall std::locale::_Iscloc(void)const 
+?_Iscloc@locale@std@@QBE_NXZ
+; public: static bool __cdecl std::_Ctr<float>::_Isinf(float)
+?_Isinf@?$_Ctr@M@std@@SA_NM@Z
+; public: static bool __cdecl std::_Ctr<double>::_Isinf(double)
+?_Isinf@?$_Ctr@N@std@@SA_NN@Z
+; public: static bool __cdecl std::_Ctr<long double>::_Isinf(long double)
+?_Isinf@?$_Ctr@O@std@@SA_NO@Z
+; public: static bool __cdecl std::_Ctr<float>::_Isnan(float)
+?_Isnan@?$_Ctr@M@std@@SA_NM@Z
+; public: static bool __cdecl std::_Ctr<double>::_Isnan(double)
+?_Isnan@?$_Ctr@N@std@@SA_NN@Z
+; public: static bool __cdecl std::_Ctr<long double>::_Isnan(long double)
+?_Isnan@?$_Ctr@O@std@@SA_NO@Z
+; private: void __thiscall std::_Mpunct<char>::_Makpat(struct std::money_base::pattern &,char,char,char)
+?_Makpat@?$_Mpunct@D@std@@AAEXAAUpattern@money_base@2@DDD@Z
+; private: void __thiscall std::_Mpunct<unsigned short>::_Makpat(struct std::money_base::pattern &,char,char,char)
+?_Makpat@?$_Mpunct@G@std@@AAEXAAUpattern@money_base@2@DDD@Z
+; private: int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Mode(int)
+?_Mode@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEHH@Z
+; private: int __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Mode(int)
+?_Mode@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEHH@Z
+; public: static float __cdecl std::_Ctr<float>::_Nanv(float)
+?_Nanv@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Nanv(double)
+?_Nanv@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Nanv(long double)
+?_Nanv@?$_Ctr@O@std@@SAOO@Z
+; void __cdecl std::_Nomemory(void)
+?_Nomemory@std@@YAXXZ
+; private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)
+?_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ
+; private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Nullstr(void)
+?_Nullstr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGXZ
+; private: static unsigned int __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Pdif(char const *,char const *)
+?_Pdif@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIPBD0@Z
+; private: static unsigned int __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Pdif(unsigned short const *,unsigned short const *)
+?_Pdif@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAIPBG0@Z
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)
+?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::_Pninc(void)
+?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ
+; private: static char * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char *,unsigned int)
+?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPADPADI@Z
+; private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Psum(char const *,unsigned int)
+?_Psum@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDPBDI@Z
+; private: static unsigned short * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short *,unsigned int)
+?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPAGPAGI@Z
+; private: static unsigned short const * __cdecl std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Psum(unsigned short const *,unsigned int)
+?_Psum@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAPBGPBGI@Z
+; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
+?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
+; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const *,unsigned int)
+?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBGI@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
+?_Put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short const *,unsigned int)
+?_Put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBGI@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putc(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char const *,unsigned int)
+?_Putc@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putc(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,char const *,unsigned int)
+?_Putc@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBDI@Z
+; private: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Putmfld(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,bool,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)const 
+?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; private: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Putmfld(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,bool,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >)const 
+?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; ?BN@???$_Fabs@M@std::_R2(YAMABV?$complex@M@1@PAH@Z@4MB)
+?_R2@?BN@???$_Fabs@M@std@@YAMABV?$complex@M@1@PAH@Z@4MB
+; ?BN@???$_Fabs@N@std::_R2(YANABV?$complex@N@1@PAH@Z@4NB)
+?_R2@?BN@???$_Fabs@N@std@@YANABV?$complex@N@1@PAH@Z@4NB
+; private: unsigned char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Refcnt(char const *)
+?_Refcnt@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAEPBD@Z
+; private: unsigned char & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Refcnt(unsigned short const *)
+?_Refcnt@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAEPBG@Z
+; private: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned int)
+?_Rep@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z
+; private: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned int)
+?_Rep@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z
+; protected: static class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __cdecl std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::_Rep(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,char,unsigned int)
+?_Rep@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z
+; protected: static class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __cdecl std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::_Rep(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,unsigned short,unsigned int)
+?_Rep@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@KA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z
+; public: static float __cdecl std::_Ctr<float>::_Sinh(float,float)
+?_Sinh@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::_Sinh(double,double)
+?_Sinh@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::_Sinh(long double,long double)
+?_Sinh@?$_Ctr@O@std@@SAOOO@Z
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Split(void)
+?_Split@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Split(void)
+?_Split@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ
+; int  `protected: void __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::_Init(struct _iobuf *,enum std::basic_filebuf<char,struct std::char_traits<char> >::_Initfl)'::`2'::_Stinit
+?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
+; int  `protected: void __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Init(struct _iobuf *,enum std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::_Initfl)'::`2'::_Stinit
+?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA DATA
+; private: static bool  std::ios_base::_Sync
+?_Sync@ios_base@std@@0_NA DATA
+; protected: static void __cdecl std::ctype<char>::_Term(void)
+?_Term@?$ctype@D@std@@KAXXZ
+; private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(bool)
+?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z
+; private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(bool)
+?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEX_N@Z
+; protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(void)
+?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ
+; protected: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_Tidy(void)
+?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ
+; private: void __thiscall std::ios_base::_Tidy(void)
+?_Tidy@ios_base@std@@AAEXXZ
+; private: static void __cdecl std::locale::_Tidy(void)
+?_Tidy@locale@std@@CAXXZ
+; protected: void __thiscall std::strstreambuf::_Tidy(void)
+?_Tidy@strstreambuf@std@@IAEXXZ
+; void __cdecl std::_Xlen(void)
+?_Xlen@std@@YAXXZ
+; void __cdecl std::_Xran(void)
+?_Xran@std@@YAXXZ
+; struct _iobuf * __cdecl std::__Fiopen(char const *,int)
+?__Fiopen@std@@YAPAU_iobuf@@PBDH@Z
+; float __cdecl std::abs(class std::complex<float> const &)
+?abs@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::abs(class std::complex<double> const &)
+?abs@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::abs(class std::complex<long double> const &)
+?abs@std@@YAOABV?$complex@O@1@@Z
+; public: bool __thiscall std::codecvt_base::always_noconv(void)const 
+?always_noconv@codecvt_base@std@@QBE_NXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(unsigned int,char)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,char const *)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,unsigned int)
+?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned int,unsigned short)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *,unsigned short const *)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::append(unsigned short const *,unsigned int)
+?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z
+; float __cdecl std::arg(class std::complex<float> const &)
+?arg@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::arg(class std::complex<double> const &)
+?arg@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::arg(class std::complex<long double> const &)
+?arg@std@@YAOABV?$complex@O@1@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(unsigned int,char)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *,char const *)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *,unsigned int)
+?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned int,unsigned short)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *,unsigned short const *)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::assign(unsigned short const *,unsigned int)
+?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PBGI@Z
+; public: static char * __cdecl std::char_traits<char>::assign(char *,unsigned int,char const &)
+?assign@?$char_traits@D@std@@SAPADPADIABD@Z
+; public: static void __cdecl std::char_traits<char>::assign(char &,char const &)
+?assign@?$char_traits@D@std@@SAXAADABD@Z
+; public: static unsigned short * __cdecl std::char_traits<unsigned short>::assign(unsigned short *,unsigned int,unsigned short const &)
+?assign@?$char_traits@G@std@@SAPAGPAGIABG@Z
+; public: static void __cdecl std::char_traits<unsigned short>::assign(unsigned short &,unsigned short const &)
+?assign@?$char_traits@G@std@@SAXAAGABG@Z
+; public: char & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned int)
+?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z
+; public: char const & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::at(unsigned int)const 
+?at@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z
+; public: unsigned short & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned int)
+?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z
+; public: unsigned short const & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::at(unsigned int)const 
+?at@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z
+; public: static float __cdecl std::_Ctr<float>::atan2(float,float)
+?atan2@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::atan2(double,double)
+?atan2@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::atan2(long double,long double)
+?atan2@?$_Ctr@O@std@@SAOOO@Z
+; public: bool __thiscall std::ios_base::bad(void)const 
+?bad@ios_base@std@@QBE_NXZ
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)
+?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADXZ
+; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::begin(void)const 
+?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)
+?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGXZ
+; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::begin(void)const 
+?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
+; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const 
+?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
+; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::c_str(void)const 
+?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::capacity(void)const 
+?capacity@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::capacity(void)const 
+?capacity@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
+; class std::basic_ostream<char,struct std::char_traits<char> >  std::cerr
+?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
+; class std::basic_istream<char,struct std::char_traits<char> >  std::cin
+?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A DATA
+; public: static class std::locale const & __cdecl std::locale::classic(void)
+?classic@locale@std@@SAABV12@XZ
+; protected: static short const * __cdecl std::ctype<char>::classic_table(void)
+?classic_table@?$ctype@D@std@@KAPBFXZ
+; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(short)
+?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXF@Z
+; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool)
+?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
+; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(short)
+?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXF@Z
+; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::clear(int,bool)
+?clear@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z
+; public: void __thiscall std::ios_base::clear(short)
+?clear@ios_base@std@@QAEXF@Z
+; public: void __thiscall std::ios_base::clear(int,bool)
+?clear@ios_base@std@@QAEXH_N@Z
+; class std::basic_ostream<char,struct std::char_traits<char> >  std::clog
+?clog@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::close(void)
+?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::close(void)
+?close@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@XZ
+; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::close(void)
+?close@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
+?close@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::close(void)
+?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
+?close@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::close(void)
+?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::close(void)
+?close@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::messages<char>::close(int)const 
+?close@?$messages@D@std@@QBEXH@Z
+; public: void __thiscall std::messages<unsigned short>::close(int)const 
+?close@?$messages@G@std@@QBEXH@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIABV12@II@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,char const *)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBD@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(unsigned int,unsigned int,char const *,unsigned int)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z
+; public: int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::compare(char const *)const 
+?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHPBD@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHABV12@@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIABV12@II@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,unsigned short const *)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBG@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned int,unsigned int,unsigned short const *,unsigned int)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHIIPBGI@Z
+; public: int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::compare(unsigned short const *)const 
+?compare@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEHPBG@Z
+; public: static int __cdecl std::char_traits<char>::compare(char const *,char const *,unsigned int)
+?compare@?$char_traits@D@std@@SAHPBD0I@Z
+; public: static int __cdecl std::char_traits<unsigned short>::compare(unsigned short const *,unsigned short const *,unsigned int)
+?compare@?$char_traits@G@std@@SAHPBG0I@Z
+; public: int __thiscall std::collate<char>::compare(char const *,char const *,char const *,char const *)const 
+?compare@?$collate@D@std@@QBEHPBD000@Z
+; public: int __thiscall std::collate<unsigned short>::compare(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)const 
+?compare@?$collate@G@std@@QBEHPBG000@Z
+; class std::complex<float>  __cdecl std::conj(class std::complex<float> const &)
+?conj@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::conj(class std::complex<double> const &)
+?conj@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::conj(class std::complex<long double> const &)
+?conj@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::copy(char *,unsigned int,unsigned int)const 
+?copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPADII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::copy(unsigned short *,unsigned int,unsigned int)const 
+?copy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPAGII@Z
+; public: static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned int)
+?copy@?$char_traits@D@std@@SAPADPADPBDI@Z
+; public: static unsigned short * __cdecl std::char_traits<unsigned short>::copy(unsigned short *,unsigned short const *,unsigned int)
+?copy@?$char_traits@G@std@@SAPAGPAGPBGI@Z
+; public: class std::basic_ios<char,struct std::char_traits<char> > & __thiscall std::basic_ios<char,struct std::char_traits<char> >::copyfmt(class std::basic_ios<char,struct std::char_traits<char> > const &)
+?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z
+; public: class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::copyfmt(class std::basic_ios<unsigned short,struct std::char_traits<unsigned short> > const &)
+?copyfmt@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEAAV12@ABV12@@Z
+; public: class std::ios_base & __thiscall std::ios_base::copyfmt(class std::ios_base const &)
+?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z
+; public: static float __cdecl std::_Ctr<float>::cos(float)
+?cos@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::cos(double)
+?cos@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::cos(long double)
+?cos@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::cos(class std::complex<float> const &)
+?cos@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::cos(class std::complex<double> const &)
+?cos@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::cos(class std::complex<long double> const &)
+?cos@std@@YA?AV?$complex@O@1@ABV21@@Z
+; class std::complex<float>  __cdecl std::cosh(class std::complex<float> const &)
+?cosh@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::cosh(class std::complex<double> const &)
+?cosh@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::cosh(class std::complex<long double> const &)
+?cosh@std@@YA?AV?$complex@O@1@ABV21@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> >  std::cout
+?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A DATA
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::curr_symbol(void)const 
+?curr_symbol@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::curr_symbol(void)const 
+?curr_symbol@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::data(void)const 
+?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
+; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::data(void)const 
+?data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
+; public: int __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::date_order(void)const 
+?date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBEHXZ
+; public: int __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::date_order(void)const 
+?date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBEHXZ
+; public: char __thiscall std::_Mpunct<char>::decimal_point(void)const 
+?decimal_point@?$_Mpunct@D@std@@QBEDXZ
+; public: unsigned short __thiscall std::_Mpunct<unsigned short>::decimal_point(void)const 
+?decimal_point@?$_Mpunct@G@std@@QBEGXZ
+; public: char __thiscall std::numpunct<char>::decimal_point(void)const 
+?decimal_point@?$numpunct@D@std@@QBEDXZ
+; public: unsigned short __thiscall std::numpunct<unsigned short>::decimal_point(void)const 
+?decimal_point@?$numpunct@G@std@@QBEGXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::denorm_min(void)
+?denorm_min@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::denorm_min(void)
+?denorm_min@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::denorm_min(void)
+?denorm_min@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::denorm_min(void)
+?denorm_min@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::denorm_min(void)
+?denorm_min@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::denorm_min(void)
+?denorm_min@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::denorm_min(void)
+?denorm_min@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::denorm_min(void)
+?denorm_min@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::denorm_min(void)
+?denorm_min@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::denorm_min(void)
+?denorm_min@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::denorm_min(void)
+?denorm_min@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::denorm_min(void)
+?denorm_min@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::denorm_min(void)
+?denorm_min@?$numeric_limits@_N@std@@SA_NXZ
+; protected: virtual bool __thiscall std::codecvt<unsigned short,char,int>::do_always_noconv(void)const 
+?do_always_noconv@?$codecvt@GDH@std@@MBE_NXZ
+; protected: virtual bool __thiscall std::codecvt_base::do_always_noconv(void)const 
+?do_always_noconv@codecvt_base@std@@MBE_NXZ
+; protected: virtual void __thiscall std::messages<char>::do_close(int)const 
+?do_close@?$messages@D@std@@MBEXH@Z
+; protected: virtual void __thiscall std::messages<unsigned short>::do_close(int)const 
+?do_close@?$messages@G@std@@MBEXH@Z
+; protected: virtual int __thiscall std::collate<char>::do_compare(char const *,char const *,char const *,char const *)const 
+?do_compare@?$collate@D@std@@MBEHPBD000@Z
+; protected: virtual int __thiscall std::collate<unsigned short>::do_compare(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)const 
+?do_compare@?$collate@G@std@@MBEHPBG000@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_curr_symbol(void)const 
+?do_curr_symbol@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_curr_symbol(void)const 
+?do_curr_symbol@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_date_order(void)const 
+?do_date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBEHXZ
+; protected: virtual int __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_date_order(void)const 
+?do_date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBEHXZ
+; protected: virtual char __thiscall std::_Mpunct<char>::do_decimal_point(void)const 
+?do_decimal_point@?$_Mpunct@D@std@@MBEDXZ
+; protected: virtual unsigned short __thiscall std::_Mpunct<unsigned short>::do_decimal_point(void)const 
+?do_decimal_point@?$_Mpunct@G@std@@MBEGXZ
+; protected: virtual char __thiscall std::numpunct<char>::do_decimal_point(void)const 
+?do_decimal_point@?$numpunct@D@std@@MBEDXZ
+; protected: virtual unsigned short __thiscall std::numpunct<unsigned short>::do_decimal_point(void)const 
+?do_decimal_point@?$numpunct@G@std@@MBEGXZ
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_encoding(void)const 
+?do_encoding@?$codecvt@GDH@std@@MBEHXZ
+; protected: virtual int __thiscall std::codecvt_base::do_encoding(void)const 
+?do_encoding@codecvt_base@std@@MBEHXZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_falsename(void)const 
+?do_falsename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::do_falsename(void)const 
+?do_falsename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __thiscall std::_Mpunct<char>::do_frac_digits(void)const 
+?do_frac_digits@?$_Mpunct@D@std@@MBEHXZ
+; protected: virtual int __thiscall std::_Mpunct<unsigned short>::do_frac_digits(void)const 
+?do_frac_digits@?$_Mpunct@G@std@@MBEHXZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::messages<char>::do_get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?do_get@?$messages@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHABV32@@Z
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::messages<unsigned short>::do_get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?do_get@?$messages@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHABV32@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,long double &)const 
+?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const 
+?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,long double &)const 
+?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)const 
+?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned short &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned int &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned long &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,float &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,double &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long double &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,void * &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,bool &)const 
+?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned short &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned int &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned long &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,float &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,double &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long double &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,void * &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,bool &)const 
+?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::do_get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_grouping(void)const 
+?do_grouping@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<unsigned short>::do_grouping(void)const 
+?do_grouping@?$_Mpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_grouping(void)const 
+?do_grouping@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<unsigned short>::do_grouping(void)const 
+?do_grouping@?$numpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual long __thiscall std::collate<char>::do_hash(char const *,char const *)const 
+?do_hash@?$collate@D@std@@MBEJPBD0@Z
+; protected: virtual long __thiscall std::collate<unsigned short>::do_hash(unsigned short const *,unsigned short const *)const 
+?do_hash@?$collate@G@std@@MBEJPBG0@Z
+; protected: virtual int __thiscall std::codecvt<char,char,int>::do_in(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
+?do_in@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_in(int &,char const *,char const *,char const * &,unsigned short *,unsigned short *,unsigned short * &)const 
+?do_in@?$codecvt@GDH@std@@MBEHAAHPBD1AAPBDPAG3AAPAG@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_is(unsigned short const *,unsigned short const *,short *)const 
+?do_is@?$ctype@G@std@@MBEPBGPBG0PAF@Z
+; protected: virtual bool __thiscall std::ctype<unsigned short>::do_is(short,unsigned short)const 
+?do_is@?$ctype@G@std@@MBE_NFG@Z
+; protected: virtual int __thiscall std::codecvt<char,char,int>::do_length(int &,char const *,char const *,unsigned int)const 
+?do_length@?$codecvt@DDH@std@@MBEHAAHPBD1I@Z
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_length(int &,unsigned short const *,unsigned short const *,unsigned int)const 
+?do_length@?$codecvt@GDH@std@@MBEHAAHPBG1I@Z
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_max_length(void)const 
+?do_max_length@?$codecvt@GDH@std@@MBEHXZ
+; protected: virtual int __thiscall std::codecvt_base::do_max_length(void)const 
+?do_max_length@codecvt_base@std@@MBEHXZ
+; protected: virtual char __thiscall std::ctype<unsigned short>::do_narrow(unsigned short,char)const 
+?do_narrow@?$ctype@G@std@@MBEDGD@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_narrow(unsigned short const *,unsigned short const *,char,char *)const 
+?do_narrow@?$ctype@G@std@@MBEPBGPBG0DPAD@Z
+; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<char>::do_neg_format(void)const 
+?do_neg_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ
+; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::do_neg_format(void)const 
+?do_neg_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_negative_sign(void)const 
+?do_negative_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_negative_sign(void)const 
+?do_negative_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __thiscall std::messages<char>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
+?do_open@?$messages@D@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
+; protected: virtual int __thiscall std::messages<unsigned short>::do_open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
+?do_open@?$messages@G@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
+; protected: virtual int __thiscall std::codecvt<char,char,int>::do_out(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
+?do_out@?$codecvt@DDH@std@@MBEHAAHPBD1AAPBDPAD3AAPAD@Z
+; protected: virtual int __thiscall std::codecvt<unsigned short,char,int>::do_out(int &,unsigned short const *,unsigned short const *,unsigned short const * &,char *,char *,char * &)const 
+?do_out@?$codecvt@GDH@std@@MBEHAAHPBG1AAPBGPAD3AAPAD@Z
+; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<char>::do_pos_format(void)const 
+?do_pos_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ
+; protected: virtual struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::do_pos_format(void)const 
+?do_pos_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::do_positive_sign(void)const 
+?do_positive_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::do_positive_sign(void)const 
+?do_positive_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,long double)const 
+?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,long double)const 
+?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DJ@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,unsigned long)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,double)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long double)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,void const *)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBX@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,bool)const 
+?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GJ@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,unsigned long)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GK@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,double)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long double)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,void const *)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBX@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,bool)const 
+?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z
+; protected: virtual class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::do_put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char,char)const 
+?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
+; protected: virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,char,char)const 
+?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_scan_is(short,unsigned short const *,unsigned short const *)const 
+?do_scan_is@?$ctype@G@std@@MBEPBGFPBG0@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_scan_not(short,unsigned short const *,unsigned short const *)const 
+?do_scan_not@?$ctype@G@std@@MBEPBGFPBG0@Z
+; protected: virtual char __thiscall std::_Mpunct<char>::do_thousands_sep(void)const 
+?do_thousands_sep@?$_Mpunct@D@std@@MBEDXZ
+; protected: virtual unsigned short __thiscall std::_Mpunct<unsigned short>::do_thousands_sep(void)const 
+?do_thousands_sep@?$_Mpunct@G@std@@MBEGXZ
+; protected: virtual char __thiscall std::numpunct<char>::do_thousands_sep(void)const 
+?do_thousands_sep@?$numpunct@D@std@@MBEDXZ
+; protected: virtual unsigned short __thiscall std::numpunct<unsigned short>::do_thousands_sep(void)const 
+?do_thousands_sep@?$numpunct@G@std@@MBEGXZ
+; protected: virtual char __thiscall std::ctype<char>::do_tolower(char)const 
+?do_tolower@?$ctype@D@std@@MBEDD@Z
+; protected: virtual char const * __thiscall std::ctype<char>::do_tolower(char *,char const *)const 
+?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z
+; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_tolower(unsigned short)const 
+?do_tolower@?$ctype@G@std@@MBEGG@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_tolower(unsigned short *,unsigned short const *)const 
+?do_tolower@?$ctype@G@std@@MBEPBGPAGPBG@Z
+; protected: virtual char __thiscall std::ctype<char>::do_toupper(char)const 
+?do_toupper@?$ctype@D@std@@MBEDD@Z
+; protected: virtual char const * __thiscall std::ctype<char>::do_toupper(char *,char const *)const 
+?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z
+; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_toupper(unsigned short)const 
+?do_toupper@?$ctype@G@std@@MBEGG@Z
+; protected: virtual unsigned short const * __thiscall std::ctype<unsigned short>::do_toupper(unsigned short *,unsigned short const *)const 
+?do_toupper@?$ctype@G@std@@MBEPBGPAGPBG@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::collate<char>::do_transform(char const *,char const *)const 
+?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::collate<unsigned short>::do_transform(unsigned short const *,unsigned short const *)const 
+?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z
+; protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::do_truename(void)const 
+?do_truename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; protected: virtual class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::do_truename(void)const 
+?do_truename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual unsigned short __thiscall std::ctype<unsigned short>::do_widen(char)const 
+?do_widen@?$ctype@G@std@@MBEGD@Z
+; protected: virtual char const * __thiscall std::ctype<unsigned short>::do_widen(char const *,char const *,unsigned short *)const 
+?do_widen@?$ctype@G@std@@MBEPBDPBD0PAG@Z
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const 
+?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::eback(void)const 
+?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const 
+?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::egptr(void)const 
+?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; public: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::empty(void)const 
+?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::empty(void)const 
+?empty@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE_NXZ
+; public: static class std::locale  __cdecl std::locale::empty(void)
+?empty@locale@std@@SA?AV12@XZ
+; public: int __thiscall std::codecvt_base::encoding(void)const 
+?encoding@codecvt_base@std@@QBEHXZ
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)
+?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADXZ
+; public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::end(void)const 
+?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)
+?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGXZ
+; public: unsigned short const * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::end(void)const 
+?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)
+?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::endl(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
+?endl@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::ends(class std::basic_ostream<char,struct std::char_traits<char> > &)
+?ends@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::ends(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
+?ends@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
+; public: static int __cdecl std::char_traits<char>::eof(void)
+?eof@?$char_traits@D@std@@SAHXZ
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::eof(void)
+?eof@?$char_traits@G@std@@SAGXZ
+; public: bool __thiscall std::ios_base::eof(void)const 
+?eof@ios_base@std@@QBE_NXZ
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const 
+?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::epptr(void)const 
+?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::epsilon(void)
+?epsilon@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::epsilon(void)
+?epsilon@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::epsilon(void)
+?epsilon@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::epsilon(void)
+?epsilon@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::epsilon(void)
+?epsilon@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::epsilon(void)
+?epsilon@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::epsilon(void)
+?epsilon@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::epsilon(void)
+?epsilon@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::epsilon(void)
+?epsilon@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::epsilon(void)
+?epsilon@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::epsilon(void)
+?epsilon@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::epsilon(void)
+?epsilon@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::epsilon(void)
+?epsilon@?$numeric_limits@_N@std@@SA_NXZ
+; public: static bool __cdecl std::char_traits<char>::eq(char const &,char const &)
+?eq@?$char_traits@D@std@@SA_NABD0@Z
+; public: static bool __cdecl std::char_traits<unsigned short>::eq(unsigned short const &,unsigned short const &)
+?eq@?$char_traits@G@std@@SA_NABG0@Z
+; public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)
+?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z
+; public: static bool __cdecl std::char_traits<unsigned short>::eq_int_type(unsigned short const &,unsigned short const &)
+?eq_int_type@?$char_traits@G@std@@SA_NABG0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned int)
+?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char *,char *)
+?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPAD0@Z
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(char *)
+?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPAD@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned int,unsigned int)
+?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@II@Z
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short *,unsigned short *)
+?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAG0@Z
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::erase(unsigned short *)
+?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAG@Z
+; public: void __thiscall std::ios_base::exceptions(short)
+?exceptions@ios_base@std@@QAEXF@Z
+; public: void __thiscall std::ios_base::exceptions(int)
+?exceptions@ios_base@std@@QAEXH@Z
+; public: int __thiscall std::ios_base::exceptions(void)const 
+?exceptions@ios_base@std@@QBEHXZ
+; public: static float __cdecl std::_Ctr<float>::exp(float)
+?exp@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::exp(double)
+?exp@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::exp(long double)
+?exp@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::exp(class std::complex<float> const &)
+?exp@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::exp(class std::complex<double> const &)
+?exp@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::exp(class std::complex<long double> const &)
+?exp@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: bool __thiscall std::ios_base::fail(void)const 
+?fail@ios_base@std@@QBE_NXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::falsename(void)const 
+?falsename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::falsename(void)const 
+?falsename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(char)
+?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z
+; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const 
+?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ
+; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(unsigned short)
+?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEGG@Z
+; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::fill(void)const 
+?fill@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGXZ
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char,unsigned int)const 
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const *,unsigned int)const 
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find(char const *,unsigned int,unsigned int)const 
+?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short,unsigned int)const 
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const *,unsigned int)const 
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find(unsigned short const *,unsigned int,unsigned int)const 
+?find@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: static char const * __cdecl std::char_traits<char>::find(char const *,unsigned int,char const &)
+?find@?$char_traits@D@std@@SAPBDPBDIABD@Z
+; public: static unsigned short const * __cdecl std::char_traits<unsigned short>::find(unsigned short const *,unsigned int,unsigned short const &)
+?find@?$char_traits@G@std@@SAPBGPBGIABG@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char,unsigned int)const 
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const *,unsigned int)const 
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const *,unsigned int,unsigned int)const 
+?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short,unsigned int)const 
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const *,unsigned int)const 
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_not_of(unsigned short const *,unsigned int,unsigned int)const 
+?find_first_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char,unsigned int)const 
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const *,unsigned int)const 
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_of(char const *,unsigned int,unsigned int)const 
+?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short,unsigned int)const 
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const *,unsigned int)const 
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_first_of(unsigned short const *,unsigned int,unsigned int)const 
+?find_first_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char,unsigned int)const 
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const *,unsigned int)const 
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const *,unsigned int,unsigned int)const 
+?find_last_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short,unsigned int)const 
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const *,unsigned int)const 
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_not_of(unsigned short const *,unsigned int,unsigned int)const 
+?find_last_not_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char,unsigned int)const 
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const *,unsigned int)const 
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_of(char const *,unsigned int,unsigned int)const 
+?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short,unsigned int)const 
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const *,unsigned int)const 
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::find_last_of(unsigned short const *,unsigned int,unsigned int)const 
+?find_last_of@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: int __thiscall std::ios_base::flags(int)
+?flags@ios_base@std@@QAEHH@Z
+; public: int __thiscall std::ios_base::flags(void)const 
+?flags@ios_base@std@@QBEHXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)
+?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::flush(void)
+?flush@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ
+; class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::flush(class std::basic_ostream<char,struct std::char_traits<char> > &)
+?flush@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::flush(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)
+?flush@std@@YAAAV?$basic_ostream@GU?$char_traits@G@std@@@1@AAV21@@Z
+; public: int __thiscall std::_Mpunct<char>::frac_digits(void)const 
+?frac_digits@?$_Mpunct@D@std@@QBEHXZ
+; public: int __thiscall std::_Mpunct<unsigned short>::frac_digits(void)const 
+?frac_digits@?$_Mpunct@G@std@@QBEHXZ
+; public: void __thiscall std::strstreambuf::freeze(bool)
+?freeze@strstreambuf@std@@QAEX_N@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int)
+?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gbump(int)
+?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::gcount(void)const 
+?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBEHXZ
+; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::gcount(void)const 
+?gcount@?$basic_istream@GU?$char_traits@G@std@@@std@@QBEHXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char &)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAD@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > &)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(class std::basic_streambuf<char,struct std::char_traits<char> > &,char)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@AAV?$basic_streambuf@DU?$char_traits@D@std@@@2@D@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char *,int)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char *,int,char)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::get(void)
+?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short &)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAG@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > &)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > &,unsigned short)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@AAV?$basic_streambuf@GU?$char_traits@G@std@@@2@G@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short *,int)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(unsigned short *,int,unsigned short)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z
+; public: unsigned short __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::get(void)
+?get@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::messages<char>::get(int,int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?get@?$messages@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHABV32@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::messages<unsigned short>::get(int,int,int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?get@?$messages@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHABV32@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,long double &)const 
+?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,int &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)const 
+?get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,long double &)const 
+?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,int &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)const 
+?get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned short &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned int &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,unsigned long &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,float &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,double &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,long double &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,void * &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,bool &)const 
+?get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned short &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned int &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAI@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,unsigned long &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,float &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAM@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,double &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAN@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,long double &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAO@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,void * &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,bool &)const 
+?get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z
+; public: class std::allocator<char>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::get_allocator(void)const 
+?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ
+; public: class std::allocator<unsigned short>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::get_allocator(void)const 
+?get_allocator@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$allocator@G@2@XZ
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_date(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_date(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_monthname(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_monthname(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_time(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_time(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_weekday(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_weekday(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::get_year(class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::istreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,int &,struct tm *)const 
+?get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::get_year(class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,int &,struct tm *)const 
+?get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,int)
+?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,int,char)
+?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADHD@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short *,int)
+?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::getline(unsigned short *,int,unsigned short)
+?getline@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGHG@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
+?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::getline(class std::basic_istream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,char)
+?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@D@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
+?getline@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::getline(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,unsigned short)
+?getline@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@1@G@Z
+; public: class std::locale  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::getloc(void)
+?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@XZ
+; public: class std::locale  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::getloc(void)
+?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@XZ
+; public: class std::locale  __thiscall std::ios_base::getloc(void)const 
+?getloc@ios_base@std@@QBE?AVlocale@2@XZ
+; public: static class std::locale  __cdecl std::locale::global(class std::locale const &)
+?global@locale@std@@SA?AV12@ABV12@@Z
+; public: bool __thiscall std::ios_base::good(void)const 
+?good@ios_base@std@@QBE_NXZ
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const 
+?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::gptr(void)const 
+?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::grouping(void)const 
+?grouping@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<unsigned short>::grouping(void)const 
+?grouping@?$_Mpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::grouping(void)const 
+?grouping@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<unsigned short>::grouping(void)const 
+?grouping@?$numpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: long __thiscall std::collate<char>::hash(char const *,char const *)const 
+?hash@?$collate@D@std@@QBEJPBD0@Z
+; public: long __thiscall std::collate<unsigned short>::hash(unsigned short const *,unsigned short const *)const 
+?hash@?$collate@G@std@@QBEJPBG0@Z
+; public: static class std::locale::id  std::codecvt<char,char,int>::id
+?id@?$codecvt@DDH@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::codecvt<unsigned short,char,int>::id
+?id@?$codecvt@GDH@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::collate<char>::id
+?id@?$collate@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::collate<unsigned short>::id
+?id@?$collate@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::ctype<char>::id
+?id@?$ctype@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::ctype<unsigned short>::id
+?id@?$ctype@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::messages<char>::id
+?id@?$messages@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::messages<unsigned short>::id
+?id@?$messages@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<char,1>::id
+?id@?$moneypunct@D$00@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<char,0>::id
+?id@?$moneypunct@D$0A@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<unsigned short,1>::id
+?id@?$moneypunct@G$00@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::moneypunct<unsigned short,0>::id
+?id@?$moneypunct@G$0A@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::numpunct<char>::id
+?id@?$numpunct@D@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::numpunct<unsigned short>::id
+?id@?$numpunct@G@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
+?id@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A DATA
+; public: static class std::locale::id  std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id
+?id@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A DATA
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::ignore(int,int)
+?ignore@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@HH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ignore(int,unsigned short)
+?ignore@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@HG@Z
+; public: float __thiscall std::_Complex_base<float>::imag(float const &)
+?imag@?$_Complex_base@M@std@@QAEMABM@Z
+; public: float __thiscall std::_Complex_base<float>::imag(void)const 
+?imag@?$_Complex_base@M@std@@QBEMXZ
+; public: double __thiscall std::_Complex_base<double>::imag(double const &)
+?imag@?$_Complex_base@N@std@@QAENABN@Z
+; public: double __thiscall std::_Complex_base<double>::imag(void)const 
+?imag@?$_Complex_base@N@std@@QBENXZ
+; public: long double __thiscall std::_Complex_base<long double>::imag(long double const &)
+?imag@?$_Complex_base@O@std@@QAEOABO@Z
+; public: long double __thiscall std::_Complex_base<long double>::imag(void)const 
+?imag@?$_Complex_base@O@std@@QBEOXZ
+; float __cdecl std::imag(class std::complex<float> const &)
+?imag@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::imag(class std::complex<double> const &)
+?imag@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::imag(class std::complex<long double> const &)
+?imag@std@@YAOABV?$complex@O@1@@Z
+; public: class std::locale  __thiscall std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const &)
+?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z
+; public: class std::locale  __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const &)
+?imbue@?$basic_ios@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z
+; protected: virtual void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::imbue(class std::locale const &)
+?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z
+; protected: virtual void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::imbue(class std::locale const &)
+?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z
+; public: class std::locale  __thiscall std::ios_base::imbue(class std::locale const &)
+?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z
+; public: int __thiscall std::codecvt<char,char,int>::in(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
+?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
+; public: int __thiscall std::codecvt<unsigned short,char,int>::in(int &,char const *,char const *,char const * &,unsigned short *,unsigned short *,unsigned short * &)const 
+?in@?$codecvt@GDH@std@@QBEHAAHPBD1AAPBDPAG3AAPAG@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::in_avail(void)
+?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::in_avail(void)
+?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::infinity(void)
+?infinity@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::infinity(void)
+?infinity@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::infinity(void)
+?infinity@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::infinity(void)
+?infinity@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::infinity(void)
+?infinity@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::infinity(void)
+?infinity@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::infinity(void)
+?infinity@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::infinity(void)
+?infinity@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::infinity(void)
+?infinity@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::infinity(void)
+?infinity@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::infinity(void)
+?infinity@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::infinity(void)
+?infinity@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::infinity(void)
+?infinity@?$numeric_limits@_N@std@@SA_NXZ
+; protected: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::init(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)
+?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z
+; protected: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::init(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *,bool)
+?init@?$basic_ios@GU?$char_traits@G@std@@@std@@IAEXPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@_N@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IABV12@II@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,unsigned int,char)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,char const *)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(unsigned int,char const *,unsigned int)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IPBDI@Z
+; public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,char)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEPADPADD@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,unsigned int,char)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXPADID@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(char *,char const *,char const *)
+?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXPADPBD1@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IABV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned int,unsigned short)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned short const *)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned int,unsigned short const *,unsigned int)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IPBGI@Z
+; public: unsigned short * __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned short)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEPAGPAGG@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned int,unsigned short)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXPAGIG@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::insert(unsigned short *,unsigned short const *,unsigned short const *)
+?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXPAGPBG1@Z
+; public: static bool const  std::moneypunct<char,1>::intl
+?intl@?$moneypunct@D$00@std@@2_NB
+; public: static bool const  std::moneypunct<char,0>::intl
+?intl@?$moneypunct@D$0A@@std@@2_NB
+; public: static bool const  std::moneypunct<unsigned short,1>::intl
+?intl@?$moneypunct@G$00@std@@2_NB
+; public: static bool const  std::moneypunct<unsigned short,0>::intl
+?intl@?$moneypunct@G$0A@@std@@2_NB
+; public: bool __thiscall std::basic_istream<char,struct std::char_traits<char> >::ipfx(bool)
+?ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z
+; public: bool __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::ipfx(bool)
+?ipfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE_N_N@Z
+; public: char const * __thiscall std::ctype<char>::is(char const *,char const *,short *)const 
+?is@?$ctype@D@std@@QBEPBDPBD0PAF@Z
+; public: bool __thiscall std::ctype<char>::is(short,char)const 
+?is@?$ctype@D@std@@QBE_NFD@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::is(unsigned short const *,unsigned short const *,short *)const 
+?is@?$ctype@G@std@@QBEPBGPBG0PAF@Z
+; public: bool __thiscall std::ctype<unsigned short>::is(short,unsigned short)const 
+?is@?$ctype@G@std@@QBE_NFG@Z
+; public: bool __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::is_open(void)const 
+?is_open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
+?is_open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_fstream<char,struct std::char_traits<char> >::is_open(void)const 
+?is_open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
+?is_open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::is_open(void)const 
+?is_open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
+?is_open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::is_open(void)const 
+?is_open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBE_NXZ
+; public: bool __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::is_open(void)const 
+?is_open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBE_NXZ
+; public: void __thiscall std::basic_istream<char,struct std::char_traits<char> >::isfx(void)
+?isfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::isfx(void)
+?isfx@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: long & __thiscall std::ios_base::iword(int)
+?iword@ios_base@std@@QAEAAJH@Z
+; public: static float __cdecl std::_Ctr<float>::ldexp(float,int)
+?ldexp@?$_Ctr@M@std@@SAMMH@Z
+; public: static double __cdecl std::_Ctr<double>::ldexp(double,int)
+?ldexp@?$_Ctr@N@std@@SANNH@Z
+; public: static long double __cdecl std::_Ctr<long double>::ldexp(long double,int)
+?ldexp@?$_Ctr@O@std@@SAOOH@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::length(void)const 
+?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::length(void)const 
+?length@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
+; public: static unsigned int __cdecl std::char_traits<char>::length(char const *)
+?length@?$char_traits@D@std@@SAIPBD@Z
+; public: static unsigned int __cdecl std::char_traits<unsigned short>::length(unsigned short const *)
+?length@?$char_traits@G@std@@SAIPBG@Z
+; public: int __thiscall std::codecvt<char,char,int>::length(int &,char const *,char const *,unsigned int)const 
+?length@?$codecvt@DDH@std@@QBEHAAHPBD1I@Z
+; public: int __thiscall std::codecvt<unsigned short,char,int>::length(int &,unsigned short const *,unsigned short const *,unsigned int)const 
+?length@?$codecvt@GDH@std@@QBEHAAHPBG1I@Z
+; class std::complex<float>  __cdecl std::log10(class std::complex<float> const &)
+?log10@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::log10(class std::complex<double> const &)
+?log10@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::log10(class std::complex<long double> const &)
+?log10@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: static float __cdecl std::_Ctr<float>::log(float)
+?log@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::log(double)
+?log@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::log(long double)
+?log@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::log(class std::complex<float> const &)
+?log@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::log(class std::complex<double> const &)
+?log@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::log(class std::complex<long double> const &)
+?log@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: static bool __cdecl std::char_traits<char>::lt(char const &,char const &)
+?lt@?$char_traits@D@std@@SA_NABD0@Z
+; public: static bool __cdecl std::char_traits<unsigned short>::lt(unsigned short const &,unsigned short const &)
+?lt@?$char_traits@G@std@@SA_NABG0@Z
+; public: static signed char __cdecl std::numeric_limits<signed char>::max(void)
+?max@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::max(void)
+?max@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::max(void)
+?max@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::max(void)
+?max@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::max(void)
+?max@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::max(void)
+?max@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::max(void)
+?max@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::max(void)
+?max@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::max(void)
+?max@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::max(void)
+?max@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::max(void)
+?max@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::max(void)
+?max@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::max(void)
+?max@?$numeric_limits@_N@std@@SA_NXZ
+; public: int __thiscall std::codecvt_base::max_length(void)const 
+?max_length@codecvt_base@std@@QBEHXZ
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::max_size(void)const 
+?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::max_size(void)const 
+?max_size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::min(void)
+?min@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::min(void)
+?min@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::min(void)
+?min@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::min(void)
+?min@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::min(void)
+?min@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::min(void)
+?min@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::min(void)
+?min@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::min(void)
+?min@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::min(void)
+?min@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::min(void)
+?min@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::min(void)
+?min@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::min(void)
+?min@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::min(void)
+?min@?$numeric_limits@_N@std@@SA_NXZ
+; public: static char * __cdecl std::char_traits<char>::move(char *,char const *,unsigned int)
+?move@?$char_traits@D@std@@SAPADPADPBDI@Z
+; public: static unsigned short * __cdecl std::char_traits<unsigned short>::move(unsigned short *,unsigned short const *,unsigned int)
+?move@?$char_traits@G@std@@SAPAGPAGPBGI@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::locale::name(void)const 
+?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::narrow(char,char)const 
+?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z
+; public: char __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::narrow(unsigned short,char)const 
+?narrow@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEDGD@Z
+; public: char __thiscall std::ctype<char>::narrow(char,char)const 
+?narrow@?$ctype@D@std@@QBEDDD@Z
+; public: char const * __thiscall std::ctype<char>::narrow(char const *,char const *,char,char *)const 
+?narrow@?$ctype@D@std@@QBEPBDPBD0DPAD@Z
+; public: char __thiscall std::ctype<unsigned short>::narrow(unsigned short,char)const 
+?narrow@?$ctype@G@std@@QBEDGD@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::narrow(unsigned short const *,unsigned short const *,char,char *)const 
+?narrow@?$ctype@G@std@@QBEPBGPBG0DPAD@Z
+; public: struct std::money_base::pattern  __thiscall std::_Mpunct<char>::neg_format(void)const 
+?neg_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ
+; public: struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::neg_format(void)const 
+?neg_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::negative_sign(void)const 
+?negative_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::negative_sign(void)const 
+?negative_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; float __cdecl std::norm(class std::complex<float> const &)
+?norm@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::norm(class std::complex<double> const &)
+?norm@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::norm(class std::complex<long double> const &)
+?norm@std@@YAOABV?$complex@O@1@@Z
+; public: static int __cdecl std::char_traits<char>::not_eof(int const &)
+?not_eof@?$char_traits@D@std@@SAHABH@Z
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::not_eof(unsigned short const &)
+?not_eof@?$char_traits@G@std@@SAGABG@Z
+; struct std::nothrow_t const  std::nothrow
+?nothrow@std@@3Unothrow_t@1@B
+; public: static unsigned int const  std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::npos
+?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB
+; public: static unsigned int const  std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::npos
+?npos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@2IB
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,short)
+?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDF@Z
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,int)
+?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDH@Z
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
+?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDF@Z
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
+?open@?$basic_filebuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PBDH@Z
+; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::open(char const *,short)
+?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::open(char const *,int)
+?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
+?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
+?open@?$basic_fstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::open(char const *,short)
+?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::open(char const *,int)
+?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
+?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
+?open@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::open(char const *,short)
+?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::open(char const *,int)
+?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
+; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,short)
+?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDF@Z
+; public: void __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::open(char const *,int)
+?open@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QAEXPBDH@Z
+; public: int __thiscall std::messages<char>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
+?open@?$messages@D@std@@QBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
+; public: int __thiscall std::messages<unsigned short>::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::locale const &)const 
+?open@?$messages@G@std@@QBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z
+; public: bool __thiscall std::basic_ostream<char,struct std::char_traits<char> >::opfx(void)
+?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ
+; public: bool __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::opfx(void)
+?opfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE_NXZ
+; public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::osfx(void)
+?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::osfx(void)
+?osfx@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: int __thiscall std::codecvt<char,char,int>::out(int &,char const *,char const *,char const * &,char *,char *,char * &)const 
+?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z
+; public: int __thiscall std::codecvt<unsigned short,char,int>::out(int &,unsigned short const *,unsigned short const *,unsigned short const * &,char *,char *,char * &)const 
+?out@?$codecvt@GDH@std@@QBEHAAHPBG1AAPBGPAD3AAPAD@Z
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::overflow(int)
+?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short)
+?overflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::overflow(int)
+?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::overflow(unsigned short)
+?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::overflow(int)
+?overflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::overflow(unsigned short)
+?overflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::strstreambuf::overflow(int)
+?overflow@strstreambuf@std@@MAEHH@Z
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::pbackfail(int)
+?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short)
+?pbackfail@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbackfail(int)
+?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbackfail(unsigned short)
+?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::pbackfail(int)
+?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHH@Z
+; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::pbackfail(unsigned short)
+?pbackfail@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGG@Z
+; protected: virtual int __thiscall std::strstreambuf::pbackfail(int)
+?pbackfail@strstreambuf@std@@MAEHH@Z
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const 
+?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbase(void)const 
+?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbump(int)
+?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pbump(int)
+?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::peek(void)
+?peek@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::peek(void)
+?peek@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEGXZ
+; class std::complex<float>  __cdecl std::polar(float const &,float const &)
+?polar@std@@YA?AV?$complex@M@1@ABM0@Z
+; class std::complex<float>  __cdecl std::polar(float const &)
+?polar@std@@YA?AV?$complex@M@1@ABM@Z
+; class std::complex<double>  __cdecl std::polar(double const &,double const &)
+?polar@std@@YA?AV?$complex@N@1@ABN0@Z
+; class std::complex<double>  __cdecl std::polar(double const &)
+?polar@std@@YA?AV?$complex@N@1@ABN@Z
+; class std::complex<long double>  __cdecl std::polar(long double const &,long double const &)
+?polar@std@@YA?AV?$complex@O@1@ABO0@Z
+; class std::complex<long double>  __cdecl std::polar(long double const &)
+?polar@std@@YA?AV?$complex@O@1@ABO@Z
+; public: struct std::money_base::pattern  __thiscall std::_Mpunct<char>::pos_format(void)const 
+?pos_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ
+; public: struct std::money_base::pattern  __thiscall std::_Mpunct<unsigned short>::pos_format(void)const 
+?pos_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::_Mpunct<char>::positive_sign(void)const 
+?positive_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::_Mpunct<unsigned short>::positive_sign(void)const 
+?positive_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: static float __cdecl std::_Ctr<float>::pow(float,float)
+?pow@?$_Ctr@M@std@@SAMMM@Z
+; public: static double __cdecl std::_Ctr<double>::pow(double,double)
+?pow@?$_Ctr@N@std@@SANNN@Z
+; public: static long double __cdecl std::_Ctr<long double>::pow(long double,long double)
+?pow@?$_Ctr@O@std@@SAOOO@Z
+; class std::complex<float>  __cdecl std::pow(float const &,class std::complex<float> const &)
+?pow@std@@YA?AV?$complex@M@1@ABMABV21@@Z
+; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,class std::complex<float> const &)
+?pow@std@@YA?AV?$complex@M@1@ABV21@0@Z
+; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,float const &)
+?pow@std@@YA?AV?$complex@M@1@ABV21@ABM@Z
+; class std::complex<float>  __cdecl std::pow(class std::complex<float> const &,int)
+?pow@std@@YA?AV?$complex@M@1@ABV21@H@Z
+; class std::complex<double>  __cdecl std::pow(double const &,class std::complex<double> const &)
+?pow@std@@YA?AV?$complex@N@1@ABNABV21@@Z
+; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,class std::complex<double> const &)
+?pow@std@@YA?AV?$complex@N@1@ABV21@0@Z
+; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,double const &)
+?pow@std@@YA?AV?$complex@N@1@ABV21@ABN@Z
+; class std::complex<double>  __cdecl std::pow(class std::complex<double> const &,int)
+?pow@std@@YA?AV?$complex@N@1@ABV21@H@Z
+; class std::complex<long double>  __cdecl std::pow(long double const &,class std::complex<long double> const &)
+?pow@std@@YA?AV?$complex@O@1@ABOABV21@@Z
+; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,class std::complex<long double> const &)
+?pow@std@@YA?AV?$complex@O@1@ABV21@0@Z
+; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,long double const &)
+?pow@std@@YA?AV?$complex@O@1@ABV21@ABO@Z
+; class std::complex<long double>  __cdecl std::pow(class std::complex<long double> const &,int)
+?pow@std@@YA?AV?$complex@O@1@ABV21@H@Z
+; protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const 
+?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ
+; protected: unsigned short * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pptr(void)const 
+?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ
+; public: int __thiscall std::ios_base::precision(int)
+?precision@ios_base@std@@QAEHH@Z
+; public: int __thiscall std::ios_base::precision(void)const 
+?precision@ios_base@std@@QBEHXZ
+; public: class std::locale  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubimbue(class std::locale const &)
+?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z
+; public: class std::locale  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubimbue(class std::locale const &)
+?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(long,short,short)
+?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekoff(long,enum std::ios_base::seekdir,int)
+?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(long,short,short)
+?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JFF@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekoff(long,enum std::ios_base::seekdir,int)
+?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,short)
+?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@F@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubseekpos(class std::fpos<int>,int)
+?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,short)
+?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@F@Z
+; public: class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubseekpos(class std::fpos<int>,int)
+?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubsetbuf(char *,int)
+?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsetbuf(unsigned short *,int)
+?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pubsync(void)
+?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::pubsync(void)
+?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::put(char)
+?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::put(unsigned short)
+?put@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const 
+?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,bool,class std::ios_base &,char,long double)const 
+?put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)const 
+?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,bool,class std::ios_base &,unsigned short,long double)const 
+?put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DJ@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,unsigned long)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,double)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,long double)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,void const *)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBX@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::num_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,char,bool)const 
+?put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GJ@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,unsigned long)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GK@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,double)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,long double)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,void const *)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBX@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,unsigned short,bool)const 
+?put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char,char)const 
+?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
+; public: class std::ostreambuf_iterator<char,struct std::char_traits<char> >  __thiscall std::time_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::put(class std::ostreambuf_iterator<char,struct std::char_traits<char> >,class std::ios_base &,struct tm const *,char const *,char const *)const 
+?put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@PBUtm@@PBD3@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,char,char)const 
+?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@DD@Z
+; public: class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >  __thiscall std::time_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >,class std::ios_base &,struct tm const *,unsigned short const *,unsigned short const *)const 
+?put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@PBUtm@@PBG3@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::putback(char)
+?putback@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::putback(unsigned short)
+?putback@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@G@Z
+; public: void * & __thiscall std::ios_base::pword(int)
+?pword@ios_base@std@@QAEAAPAXH@Z
+; public: static signed char __cdecl std::numeric_limits<signed char>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::quiet_NaN(void)
+?quiet_NaN@?$numeric_limits@_N@std@@SA_NXZ
+; public: class std::reverse_iterator<char *,char,char &,char *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)
+?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@PADDAADPADH@2@XZ
+; public: class std::reverse_iterator<char const *,char,char const &,char const *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rbegin(void)const 
+?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@PBDDABDPBDH@2@XZ
+; public: class std::reverse_iterator<unsigned short *,unsigned short,unsigned short &,unsigned short *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)
+?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@PAGGAAGPAGH@2@XZ
+; public: class std::reverse_iterator<unsigned short const *,unsigned short,unsigned short const &,unsigned short const *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rbegin(void)const 
+?rbegin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@PBGGABGPBGH@2@XZ
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_fstream<char,struct std::char_traits<char> >::rdbuf(void)const 
+?rdbuf@?$basic_fstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_fstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_fstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::rdbuf(void)const 
+?rdbuf@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ifstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_ifstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(class std::basic_streambuf<char,struct std::char_traits<char> > *)
+?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z
+; public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const 
+?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > *)
+?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAV32@@Z
+; public: class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
+?rdbuf@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::rdbuf(void)const 
+?rdbuf@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_filebuf@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ofstream<unsigned short,struct std::char_traits<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_ofstream@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_filebuf@GU?$char_traits@G@std@@@2@XZ
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
+?rdbuf@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: class std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> > * __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::rdbuf(void)const 
+?rdbuf@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPAV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > * __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rdbuf(void)const 
+?rdbuf@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPAV?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: int __thiscall std::ios_base::rdstate(void)const 
+?rdstate@ios_base@std@@QBEHXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::read(char *,int)
+?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PADH@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::read(unsigned short *,int)
+?read@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@PAGH@Z
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::readsome(char *,int)
+?readsome@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADH@Z
+; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::readsome(unsigned short *,int)
+?readsome@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z
+; public: float __thiscall std::_Complex_base<float>::real(float const &)
+?real@?$_Complex_base@M@std@@QAEMABM@Z
+; public: float __thiscall std::_Complex_base<float>::real(void)const 
+?real@?$_Complex_base@M@std@@QBEMXZ
+; public: double __thiscall std::_Complex_base<double>::real(double const &)
+?real@?$_Complex_base@N@std@@QAENABN@Z
+; public: double __thiscall std::_Complex_base<double>::real(void)const 
+?real@?$_Complex_base@N@std@@QBENXZ
+; public: long double __thiscall std::_Complex_base<long double>::real(long double const &)
+?real@?$_Complex_base@O@std@@QAEOABO@Z
+; public: long double __thiscall std::_Complex_base<long double>::real(void)const 
+?real@?$_Complex_base@O@std@@QBEOXZ
+; float __cdecl std::real(class std::complex<float> const &)
+?real@std@@YAMABV?$complex@M@1@@Z
+; double __cdecl std::real(class std::complex<double> const &)
+?real@std@@YANABV?$complex@N@1@@Z
+; long double __cdecl std::real(class std::complex<long double> const &)
+?real@std@@YAOABV?$complex@O@1@@Z
+; public: void __thiscall std::ios_base::register_callback(void (__cdecl*)(enum std::ios_base::event,class std::ios_base &,int),int)
+?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z
+; public: class std::reverse_iterator<char *,char,char &,char *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)
+?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@PADDAADPADH@2@XZ
+; public: class std::reverse_iterator<char const *,char,char const &,char const *,int>  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rend(void)const 
+?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$reverse_iterator@PBDDABDPBDH@2@XZ
+; public: class std::reverse_iterator<unsigned short *,unsigned short,unsigned short &,unsigned short *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)
+?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$reverse_iterator@PAGGAAGPAGH@2@XZ
+; public: class std::reverse_iterator<unsigned short const *,unsigned short,unsigned short const &,unsigned short const *,int>  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rend(void)const 
+?rend@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$reverse_iterator@PBGGABGPBGH@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,unsigned int,char)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,char const *)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(unsigned int,unsigned int,char const *,unsigned int)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0ABV12@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,unsigned int,char)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0ID@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *,char const *)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBD1@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBD@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::replace(char *,char *,char const *,unsigned int)
+?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PAD0PBDI@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int,unsigned int)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIABV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned int,unsigned short)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIIG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned short const *)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned int,unsigned int,unsigned short const *,unsigned int)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIPBGI@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0ABV12@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned int,unsigned short)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0IG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *,unsigned short const *)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBG1@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBG@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > & __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::replace(unsigned short *,unsigned short *,unsigned short const *,unsigned int)
+?replace@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@PAG0PBGI@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::reserve(unsigned int)
+?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::reserve(unsigned int)
+?reserve@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z
+; struct std::_Smanip<int>  __cdecl std::resetiosflags(int)
+?resetiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned int)
+?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::resize(unsigned int,char)
+?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned int)
+?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXI@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::resize(unsigned int,unsigned short)
+?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXIG@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int)const 
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char,unsigned int)const 
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const *,unsigned int)const 
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::rfind(char const *,unsigned int,unsigned int)const 
+?rfind@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDII@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,unsigned int)const 
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIABV12@I@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short,unsigned int)const 
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const *,unsigned int)const 
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGI@Z
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::rfind(unsigned short const *,unsigned int,unsigned int)const 
+?rfind@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIPBGII@Z
+; public: static signed char __cdecl std::numeric_limits<signed char>::round_error(void)
+?round_error@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::round_error(void)
+?round_error@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::round_error(void)
+?round_error@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::round_error(void)
+?round_error@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::round_error(void)
+?round_error@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::round_error(void)
+?round_error@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::round_error(void)
+?round_error@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::round_error(void)
+?round_error@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::round_error(void)
+?round_error@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::round_error(void)
+?round_error@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::round_error(void)
+?round_error@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::round_error(void)
+?round_error@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::round_error(void)
+?round_error@?$numeric_limits@_N@std@@SA_NXZ
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sbumpc(void)
+?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sbumpc(void)
+?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: char const * __thiscall std::ctype<char>::scan_is(short,char const *,char const *)const 
+?scan_is@?$ctype@D@std@@QBEPBDFPBD0@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::scan_is(short,unsigned short const *,unsigned short const *)const 
+?scan_is@?$ctype@G@std@@QBEPBGFPBG0@Z
+; public: char const * __thiscall std::ctype<char>::scan_not(short,char const *,char const *)const 
+?scan_not@?$ctype@D@std@@QBEPBDFPBD0@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::scan_not(short,unsigned short const *,unsigned short const *)const 
+?scan_not@?$ctype@G@std@@QBEPBGFPBG0@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::seekg(long,enum std::ios_base::seekdir)
+?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::seekg(class std::fpos<int>)
+?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(long,enum std::ios_base::seekdir)
+?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::seekg(class std::fpos<int>)
+?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::strstreambuf::seekoff(long,enum std::ios_base::seekdir,int)
+?seekoff@strstreambuf@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::seekp(long,enum std::ios_base::seekdir)
+?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::seekp(class std::fpos<int>)
+?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(long,enum std::ios_base::seekdir)
+?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::seekp(class std::fpos<int>)
+?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::seekpos(class std::fpos<int>,int)
+?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; protected: virtual class std::fpos<int>  __thiscall std::strstreambuf::seekpos(class std::fpos<int>,int)
+?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z
+; struct std::_Smanip<int>  __cdecl std::setbase(int)
+?setbase@std@@YA?AU?$_Smanip@H@1@H@Z
+; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::setbuf(char *,int)
+?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PADH@Z
+; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short *,int)
+?setbuf@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEPAV?$basic_streambuf@GU?$char_traits@G@std@@@2@PAGH@Z
+; protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setbuf(char *,int)
+?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z
+; protected: virtual class std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setbuf(unsigned short *,int)
+?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z
+; public: int __thiscall std::ios_base::setf(int)
+?setf@ios_base@std@@QAEHH@Z
+; public: int __thiscall std::ios_base::setf(int,int)
+?setf@ios_base@std@@QAEHHH@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setg(char *,char *,char *)
+?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setg(unsigned short *,unsigned short *,unsigned short *)
+?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z
+; struct std::_Smanip<int>  __cdecl std::setiosflags(int)
+?setiosflags@std@@YA?AU?$_Smanip@H@1@H@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *,char *)
+?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z
+; protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *)
+?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short *,unsigned short *,unsigned short *)
+?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z
+; protected: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::setp(unsigned short *,unsigned short *)
+?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z
+; struct std::_Smanip<int>  __cdecl std::setprecision(int)
+?setprecision@std@@YA?AU?$_Smanip@H@1@H@Z
+; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(short)
+?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXF@Z
+; public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)
+?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z
+; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(short)
+?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXF@Z
+; public: void __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::setstate(int,bool)
+?setstate@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEXH_N@Z
+; public: void __thiscall std::ios_base::setstate(short)
+?setstate@ios_base@std@@QAEXF@Z
+; public: void __thiscall std::ios_base::setstate(int,bool)
+?setstate@ios_base@std@@QAEXH_N@Z
+; struct std::_Smanip<int>  __cdecl std::setw(int)
+?setw@std@@YA?AU?$_Smanip@H@1@H@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetc(void)
+?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetc(void)
+?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetn(char *,int)
+?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z
+; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sgetn(unsigned short *,int)
+?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::showmanyc(void)
+?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::showmanyc(void)
+?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ
+; public: static signed char __cdecl std::numeric_limits<signed char>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@C@std@@SACXZ
+; public: static char __cdecl std::numeric_limits<char>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@D@std@@SADXZ
+; public: static unsigned char __cdecl std::numeric_limits<unsigned char>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@E@std@@SAEXZ
+; public: static short __cdecl std::numeric_limits<short>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@F@std@@SAFXZ
+; public: static unsigned short __cdecl std::numeric_limits<unsigned short>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@G@std@@SAGXZ
+; public: static int __cdecl std::numeric_limits<int>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@H@std@@SAHXZ
+; public: static unsigned int __cdecl std::numeric_limits<unsigned int>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@I@std@@SAIXZ
+; public: static long __cdecl std::numeric_limits<long>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@J@std@@SAJXZ
+; public: static unsigned long __cdecl std::numeric_limits<unsigned long>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@K@std@@SAKXZ
+; public: static float __cdecl std::numeric_limits<float>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@M@std@@SAMXZ
+; public: static double __cdecl std::numeric_limits<double>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@N@std@@SANXZ
+; public: static long double __cdecl std::numeric_limits<long double>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@O@std@@SAOXZ
+; public: static bool __cdecl std::numeric_limits<bool>::signaling_NaN(void)
+?signaling_NaN@?$numeric_limits@_N@std@@SA_NXZ
+; public: static float __cdecl std::_Ctr<float>::sin(float)
+?sin@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::sin(double)
+?sin@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::sin(long double)
+?sin@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::sin(class std::complex<float> const &)
+?sin@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::sin(class std::complex<double> const &)
+?sin@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::sin(class std::complex<long double> const &)
+?sin@std@@YA?AV?$complex@O@1@ABV21@@Z
+; class std::complex<float>  __cdecl std::sinh(class std::complex<float> const &)
+?sinh@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::sinh(class std::complex<double> const &)
+?sinh@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::sinh(class std::complex<long double> const &)
+?sinh@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const 
+?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
+; public: unsigned int __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::size(void)const 
+?size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::snextc(void)
+?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::snextc(void)
+?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputbackc(char)
+?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputbackc(unsigned short)
+?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)
+?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputc(unsigned short)
+?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)
+?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z
+; public: int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sputn(unsigned short const *,int)
+?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z
+; public: static float __cdecl std::_Ctr<float>::sqrt(float)
+?sqrt@?$_Ctr@M@std@@SAMM@Z
+; public: static double __cdecl std::_Ctr<double>::sqrt(double)
+?sqrt@?$_Ctr@N@std@@SANN@Z
+; public: static long double __cdecl std::_Ctr<long double>::sqrt(long double)
+?sqrt@?$_Ctr@O@std@@SAOO@Z
+; class std::complex<float>  __cdecl std::sqrt(class std::complex<float> const &)
+?sqrt@std@@YA?AV?$complex@M@1@ABV21@@Z
+; class std::complex<double>  __cdecl std::sqrt(class std::complex<double> const &)
+?sqrt@std@@YA?AV?$complex@N@1@ABV21@@Z
+; class std::complex<long double>  __cdecl std::sqrt(class std::complex<long double> const &)
+?sqrt@std@@YA?AV?$complex@O@1@ABV21@@Z
+; public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::stossc(void)
+?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::stossc(void)
+?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ
+; public: void __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_istringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
+?str@?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_istringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
+?str@?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
+?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_ostringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
+?str@?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
+?str@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
+?str@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: void __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)
+?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const 
+?str@?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: void __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)
+?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_stringstream<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::str(void)const 
+?str@?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::substr(unsigned int,unsigned int)const 
+?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::substr(unsigned int,unsigned int)const 
+?substr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE?AV12@II@Z
+; public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sungetc(void)
+?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sungetc(void)
+?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ
+; public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::swap(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)
+?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z
+; public: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::swap(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &)
+?swap@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXAAV12@@Z
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::sync(void)
+?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual int __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
+?sync@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEHXZ
+; public: int __thiscall std::basic_istream<char,struct std::char_traits<char> >::sync(void)
+?sync@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHXZ
+; public: int __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
+?sync@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEHXZ
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sync(void)
+?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::sync(void)
+?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ
+; public: static bool __cdecl std::ios_base::sync_with_stdio(bool)
+?sync_with_stdio@ios_base@std@@SA_N_N@Z
+; protected: short const * __thiscall std::ctype<char>::table(void)const 
+?table@?$ctype@D@std@@IBEPBFXZ
+; public: static unsigned int const  std::ctype<char>::table_size
+?table_size@?$ctype@D@std@@2IB
+; public: class std::fpos<int>  __thiscall std::basic_istream<char,struct std::char_traits<char> >::tellg(void)
+?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ
+; public: class std::fpos<int>  __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::tellg(void)
+?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ
+; public: class std::fpos<int>  __thiscall std::basic_ostream<char,struct std::char_traits<char> >::tellp(void)
+?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ
+; public: class std::fpos<int>  __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::tellp(void)
+?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ
+; public: char __thiscall std::_Mpunct<char>::thousands_sep(void)const 
+?thousands_sep@?$_Mpunct@D@std@@QBEDXZ
+; public: unsigned short __thiscall std::_Mpunct<unsigned short>::thousands_sep(void)const 
+?thousands_sep@?$_Mpunct@G@std@@QBEGXZ
+; public: char __thiscall std::numpunct<char>::thousands_sep(void)const 
+?thousands_sep@?$numpunct@D@std@@QBEDXZ
+; public: unsigned short __thiscall std::numpunct<unsigned short>::thousands_sep(void)const 
+?thousands_sep@?$numpunct@G@std@@QBEGXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(class std::basic_ostream<char,struct std::char_traits<char> > *)
+?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z
+; public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const 
+?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > *)
+?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QAEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@PAV32@@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > * __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::tie(void)const 
+?tie@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEPAV?$basic_ostream@GU?$char_traits@G@std@@@2@XZ
+; public: static char __cdecl std::char_traits<char>::to_char_type(int const &)
+?to_char_type@?$char_traits@D@std@@SADABH@Z
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_char_type(unsigned short const &)
+?to_char_type@?$char_traits@G@std@@SAGABG@Z
+; public: static int __cdecl std::char_traits<char>::to_int_type(char const &)
+?to_int_type@?$char_traits@D@std@@SAHABD@Z
+; public: static unsigned short __cdecl std::char_traits<unsigned short>::to_int_type(unsigned short const &)
+?to_int_type@?$char_traits@G@std@@SAGABG@Z
+; public: char __thiscall std::ctype<char>::tolower(char)const 
+?tolower@?$ctype@D@std@@QBEDD@Z
+; public: char const * __thiscall std::ctype<char>::tolower(char *,char const *)const 
+?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z
+; public: unsigned short __thiscall std::ctype<unsigned short>::tolower(unsigned short)const 
+?tolower@?$ctype@G@std@@QBEGG@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::tolower(unsigned short *,unsigned short const *)const 
+?tolower@?$ctype@G@std@@QBEPBGPAGPBG@Z
+; public: char __thiscall std::ctype<char>::toupper(char)const 
+?toupper@?$ctype@D@std@@QBEDD@Z
+; public: char const * __thiscall std::ctype<char>::toupper(char *,char const *)const 
+?toupper@?$ctype@D@std@@QBEPBDPADPBD@Z
+; public: unsigned short __thiscall std::ctype<unsigned short>::toupper(unsigned short)const 
+?toupper@?$ctype@G@std@@QBEGG@Z
+; public: unsigned short const * __thiscall std::ctype<unsigned short>::toupper(unsigned short *,unsigned short const *)const 
+?toupper@?$ctype@G@std@@QBEPBGPAGPBG@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::collate<char>::transform(char const *,char const *)const 
+?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::collate<unsigned short>::transform(unsigned short const *,unsigned short const *)const 
+?transform@?$collate@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z
+; public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >  __thiscall std::numpunct<char>::truename(void)const 
+?truename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
+; public: class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >  __thiscall std::numpunct<unsigned short>::truename(void)const 
+?truename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::uflow(void)
+?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void)
+?uflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::uflow(void)
+?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::uflow(void)
+?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ
+; bool __cdecl std::uncaught_exception(void)
+?uncaught_exception@std@@YA_NXZ
+; protected: virtual int __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::underflow(void)
+?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_filebuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void)
+?underflow@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAEGXZ
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::underflow(void)
+?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::underflow(void)
+?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ
+; protected: virtual int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::underflow(void)
+?underflow@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAEHXZ
+; protected: virtual unsigned short __thiscall std::basic_stringbuf<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::underflow(void)
+?underflow@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAEGXZ
+; protected: virtual int __thiscall std::strstreambuf::underflow(void)
+?underflow@strstreambuf@std@@MAEHXZ
+; public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::unget(void)
+?unget@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ
+; public: class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >::unget(void)
+?unget@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@XZ
+; public: void __thiscall std::ios_base::unsetf(int)
+?unsetf@ios_base@std@@QAEXH@Z
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcerr
+?wcerr@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >  std::wcin
+?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A DATA
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wclog
+?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
+; class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >  std::wcout
+?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A DATA
+; public: virtual char const * __thiscall std::logic_error::what(void)const 
+?what@logic_error@std@@UBEPBDXZ
+; public: virtual char const * __thiscall std::runtime_error::what(void)const 
+?what@runtime_error@std@@UBEPBDXZ
+; public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::widen(char)const 
+?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z
+; public: unsigned short __thiscall std::basic_ios<unsigned short,struct std::char_traits<unsigned short> >::widen(char)const 
+?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z
+; public: char __thiscall std::ctype<char>::widen(char)const 
+?widen@?$ctype@D@std@@QBEDD@Z
+; public: char const * __thiscall std::ctype<char>::widen(char const *,char const *,char *)const 
+?widen@?$ctype@D@std@@QBEPBDPBD0PAD@Z
+; public: unsigned short __thiscall std::ctype<unsigned short>::widen(char)const 
+?widen@?$ctype@G@std@@QBEGD@Z
+; public: char const * __thiscall std::ctype<unsigned short>::widen(char const *,char const *,unsigned short *)const 
+?widen@?$ctype@G@std@@QBEPBDPBD0PAG@Z
+; public: int __thiscall std::ios_base::width(int)
+?width@ios_base@std@@QAEHH@Z
+; public: int __thiscall std::ios_base::width(void)const 
+?width@ios_base@std@@QBEHXZ
+; public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::write(char const *,int)
+?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z
+; public: class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > & __thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >::write(unsigned short const *,int)
+?write@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@PBGH@Z
+; class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::ws(class std::basic_istream<char,struct std::char_traits<char> > &)
+?ws@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@@Z
+; class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > & __cdecl std::ws(class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &)
+?ws@std@@YAAAV?$basic_istream@GU?$char_traits@G@std@@@1@AAV21@@Z
+; public: static int __cdecl std::ios_base::xalloc(void)
+?xalloc@ios_base@std@@SAHXZ
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsgetn(char *,int)
+?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z
+; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsgetn(unsigned short *,int)
+?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z
+; protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsputn(char const *,int)
+?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z
+; protected: virtual int __thiscall std::basic_streambuf<unsigned short,struct std::char_traits<unsigned short> >::xsputn(unsigned short const *,int)
+?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z
+_Cosh
+_Denorm
+_Dnorm
+_Dscale
+_Dtest
+_Eps
+_Exp
+_FCosh
+_FDenorm
+_FDnorm
+_FDscale
+_FDtest
+_FEps
+_FExp
+_FInf
+_FNan
+_FRteps
+_FSinh
+_FSnan
+_FXbig
+_Getcoll
+_Getctype
+_Getcvt
+_Hugeval
+_Inf
+_LCosh
+_LDenorm
+_LDscale
+_LDtest
+_LEps
+_LExp
+_LInf
+_LNan
+_LPoly
+_LRteps
+_LSinh
+_LSnan
+_LXbig
+_Mbrtowc
+_Nan
+_Poly
+_Rteps
+_Sinh
+_Snan
+_Stod
+_Stof
+_Stold
+_Strcoll
+_Strxfrm
+_Tolower
+_Toupper
+_Wcrtomb
+_Wcscoll
+_Wcsxfrm
+_Xbig
+__Wcrtomb_lk
+btowc
+mbrlen
+mbrtowc
+mbsrtowcs
+towctrans
+wcrtomb
+wcsrtombs
+wctob
+wctrans
+wctype
diff --git a/mingw-w64-crt/lib64/wmsvcrt.def b/mingw-w64-crt/lib64/wmsvcrt.def
index 9aad064..3057f38 100644
--- a/mingw-w64-crt/lib64/wmsvcrt.def
+++ b/mingw-w64-crt/lib64/wmsvcrt.def
@@ -1,912 +1,912 @@
-; 
-; Exports of file msvcrt.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msvcrt.dll
-EXPORTS
-; public: __thiscall __non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
-??0__non_rtti_object@@QAE@ABV0@@Z
-; public: __thiscall __non_rtti_object::__non_rtti_object(char const *)
-??0__non_rtti_object@@QAE@PBD@Z
-; private: __thiscall bad_cast::bad_cast(char const * const *)
-??0bad_cast@@AAE@PBQBD@Z
-; public: __thiscall bad_cast::bad_cast(char const * const &)
-??0bad_cast@@QAE@ABQBD@Z
-; public: __thiscall bad_cast::bad_cast(class bad_cast const &)
-??0bad_cast@@QAE@ABV0@@Z
-; public: __thiscall bad_cast::bad_cast(char const *)
-??0bad_cast@@QAE@PBD@Z
-; public: __thiscall bad_typeid::bad_typeid(class bad_typeid const &)
-??0bad_typeid@@QAE@ABV0@@Z
-; public: __thiscall bad_typeid::bad_typeid(char const *)
-??0bad_typeid@@QAE@PBD@Z
-; public: __thiscall exception::exception(char const * const &)
-??0exception@@QAE@ABQBD@Z
-; public: __thiscall exception::exception(char const * const &,int)
-??0exception@@QAE@ABQBDH@Z
-; public: __thiscall exception::exception(class exception const &)
-??0exception@@QAE@ABV0@@Z
-; public: __thiscall exception::exception(void)
-??0exception@@QAE@XZ
-; public: virtual __thiscall __non_rtti_object::~__non_rtti_object(void)
-??1__non_rtti_object@@UAE@XZ
-; public: virtual __thiscall bad_cast::~bad_cast(void)
-??1bad_cast@@UAE@XZ
-; public: virtual __thiscall bad_typeid::~bad_typeid(void)
-??1bad_typeid@@UAE@XZ
-; public: virtual __thiscall exception::~exception(void)
-??1exception@@UAE@XZ
-; public: virtual __thiscall type_info::~type_info(void)
-??1type_info@@UAE@XZ
-; void * __cdecl operator new(unsigned int)
-??2@YAPAXI@Z
-; void __cdecl operator delete(void *)
-??3@YAXPAX@Z
-; public: class __non_rtti_object & __thiscall __non_rtti_object::operator=(class __non_rtti_object const &)
-??4__non_rtti_object@@QAEAAV0@ABV0@@Z
-; public: class bad_cast & __thiscall bad_cast::operator=(class bad_cast const &)
-??4bad_cast@@QAEAAV0@ABV0@@Z
-; public: class bad_typeid & __thiscall bad_typeid::operator=(class bad_typeid const &)
-??4bad_typeid@@QAEAAV0@ABV0@@Z
-; public: class exception & __thiscall exception::operator=(class exception const &)
-??4exception@@QAEAAV0@ABV0@@Z
-; public: int __thiscall type_info::operator==(class type_info const &)const 
-??8type_info@@QBEHABV0@@Z
-; public: int __thiscall type_info::operator!=(class type_info const &)const 
-??9type_info@@QBEHABV0@@Z
-; const  __non_rtti_object::`vftable'
-??_7__non_rtti_object@@6B@
-; const  bad_cast::`vftable'
-??_7bad_cast@@6B@
-; const  bad_typeid::`vftable'
-??_7bad_typeid@@6B@
-; const  exception::`vftable'
-??_7exception@@6B@
-; public: virtual void * __thiscall __non_rtti_object::`vector deleting destructor'(unsigned int)
-??_E__non_rtti_object@@UAEPAXI@Z
-; public: virtual void * __thiscall bad_cast::`vector deleting destructor'(unsigned int)
-??_Ebad_cast@@UAEPAXI@Z
-; public: virtual void * __thiscall bad_typeid::`vector deleting destructor'(unsigned int)
-??_Ebad_typeid@@UAEPAXI@Z
-; public: virtual void * __thiscall exception::`vector deleting destructor'(unsigned int)
-??_Eexception@@UAEPAXI@Z
-; public: void __thiscall bad_cast::`default constructor closure'(void)
-??_Fbad_cast@@QAEXXZ
-; public: void __thiscall bad_typeid::`default constructor closure'(void)
-??_Fbad_typeid@@QAEXXZ
-; public: virtual void * __thiscall __non_rtti_object::`scalar deleting destructor'(unsigned int)
-??_G__non_rtti_object@@UAEPAXI@Z
-; public: virtual void * __thiscall bad_cast::`scalar deleting destructor'(unsigned int)
-??_Gbad_cast@@UAEPAXI@Z
-; public: virtual void * __thiscall bad_typeid::`scalar deleting destructor'(unsigned int)
-??_Gbad_typeid@@UAEPAXI@Z
-; public: virtual void * __thiscall exception::`scalar deleting destructor'(unsigned int)
-??_Gexception@@UAEPAXI@Z
-; void * __cdecl operator new[](unsigned int)
-??_U@YAPAXI@Z
-; void __cdecl operator delete[](void *)
-??_V@YAXPAX@Z
-__uncaught_exception
-; int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
-?_query_new_handler@@YAP6AHI@ZXZ
-; int __cdecl _query_new_mode(void)
-?_query_new_mode@@YAHXZ
-; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
-?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
-; int __cdecl _set_new_mode(int)
-?_set_new_mode@@YAHH@Z
-; void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
-?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
-; public: int __thiscall type_info::before(class type_info const &)const 
-?before@type_info@@QBEHABV1@@Z
-; public: char const * __thiscall type_info::name(void)const 
-?name@type_info@@QBEPBDXZ
-; public: char const * __thiscall type_info::raw_name(void)const 
-?raw_name@type_info@@QBEPBDXZ
-; void (__cdecl*__cdecl set_new_handler(void (__cdecl*)(void)))(void)
-?set_new_handler@@YAP6AXXZP6AXXZ@Z
-; void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
-?set_terminate@@YAP6AXXZP6AXXZ@Z
-; void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
-?set_unexpected@@YAP6AXXZP6AXXZ@Z
-; void __cdecl terminate(void)
-?terminate@@YAXXZ
-; void __cdecl unexpected(void)
-?unexpected@@YAXXZ
-; public: virtual char const * __thiscall exception::what(void)const 
-?what@exception@@UBEPBDXZ
-$I10_OUTPUT
-_CIacos
-_CIasin
-_CIatan
-_CIatan2
-_CIcos
-_CIcosh
-_CIexp
-_CIfmod
-_CIlog
-_CIlog10
-_CIpow
-_CIsin
-_CIsinh
-_CIsqrt
-_CItan
-_CItanh
-_CxxThrowException
-_EH_prolog
-_Getdays
-_Getmonths
-_Gettnames
-_HUGE DATA
-_Strftime
-_XcptFilter
-__CppXcptFilter
-__CxxCallUnwindDtor
-__CxxCallUnwindVecDtor
-__CxxDetectRethrow
-__CxxExceptionFilter
-__CxxFrameHandler
-__CxxFrameHandler2
-__CxxLongjmpUnwind
-__CxxQueryExceptionSize
-__CxxRegisterExceptionObject
-__CxxUnregisterExceptionObject
-__DestructExceptionObject
-__RTCastToVoid
-__RTDynamicCast
-__RTtypeid
-__STRINGTOLD
-___lc_codepage_func
-___lc_collate_cp_func
-___lc_handle_func
-___mb_cur_max_func
-___setlc_active_func
-___unguarded_readlc_active_add_func
-__argc DATA
-__argv DATA
-__badioinfo DATA
-__crtCompareStringA
-__crtCompareStringW
-__crtGetLocaleInfoW
-__crtGetStringTypeW
-__crtLCMapStringA
-__crtLCMapStringW
-__dllonexit
-__doserrno
-__fpecode
-__getmainargs
-__initenv DATA
-__iob_func
-__isascii
-__iscsym
-__iscsymf
-__lc_codepage DATA
-__lc_collate_cp DATA
-__lc_handle DATA
-__lconv_init
-__mb_cur_max DATA
-__p___argc
-__p___argv
-__p___initenv
-__p___mb_cur_max
-__p___wargv
-__p___winitenv
-__p__acmdln
-__p__amblksiz
-__p__commode
-__p__daylight
-__p__dstbias
-__p__environ
-__p__fileinfo
-__p__fmode
-__p__iob
-__p__mbcasemap
-__p__mbctype
-__p__osver
-__p__pctype
-__p__pgmptr
-__p__pwctype
-__p__timezone
-__p__tzname
-__p__wcmdln
-__p__wenviron
-__p__winmajor
-__p__winminor
-__p__winver
-__p__wpgmptr
-__pctype_func
-__pioinfo DATA
-__pwctype_func
-__pxcptinfoptrs
-__set_app_type
-__setlc_active DATA
-__setusermatherr
-__threadhandle
-__threadid
-__toascii
-__unDName
-__unDNameEx
-__unguarded_readlc_active DATA
-__wargv DATA
-__wcserror
-__wgetmainargs
-__winitenv DATA
-_abnormal_termination
-_abs64
-_access
-_acmdln DATA
-_adj_fdiv_m16i
-_adj_fdiv_m32
-_adj_fdiv_m32i
-_adj_fdiv_m64
-_adj_fdiv_r
-_adj_fdivr_m16i
-_adj_fdivr_m32
-_adj_fdivr_m32i
-_adj_fdivr_m64
-_adj_fpatan
-_adj_fprem
-_adj_fprem1
-_adj_fptan
-_adjust_fdiv DATA
-_aexit_rtn DATA
-_aligned_free
-_aligned_malloc
-_aligned_offset_malloc
-_aligned_offset_realloc
-_aligned_realloc
-_amsg_exit
-_assert
-_atodbl
-_atoi64
-_atoldbl
-_beep
-_beginthread
-_beginthreadex
-_c_exit
-_cabs
-_callnewh
-_cexit
-_cgets
-_cgetws
-_chdir
-_chdrive
-_chgsign
-_chkesp
-_chmod
-_chsize
-_clearfp
-_close
-_commit
-_commode DATA
-_control87
-_controlfp
-_copysign
-_cprintf
-_cputs
-_cputws
-_creat
-_cscanf
-_ctime64
-_ctype
-_cwait
-_cwprintf
-_cwscanf
-_daylight DATA
-_dstbias DATA
-_dup
-_dup2
-_ecvt
-_endthread
-_endthreadex
-_environ DATA
-_eof
-_errno
-_except_handler2
-_except_handler3
-_execl
-_execle
-_execlp
-_execlpe
-_execv
-_execve
-_execvp
-_execvpe
-_exit
-_expand
-_fcloseall
-_fcvt
-_fdopen
-_fgetchar
-_fgetwchar
-_filbuf
-_fileinfo DATA
-_filelength
-_filelengthi64
-_fileno
-_findclose
-_findfirst
-_findfirst64
-_findfirsti64
-_findnext
-_findnext64
-_findnexti64
-_finite
-_flsbuf
-_flushall
-_fmode DATA
-_fpclass
-_fpieee_flt
-_fpreset
-_fputchar
-_fputwchar
-_fsopen
-_fstat
-_fstat64
-_fstati64
-_ftime
-_ftime64
-_ftol
-_fullpath
-_futime
-_futime64
-_gcvt
-_get_heap_handle
-_get_osfhandle
-_get_sbh_threshold
-_getch
-_getche
-_getcwd
-_getdcwd
-_getdiskfree
-_getdllprocaddr
-_getdrive
-_getdrives
-_getmaxstdio
-_getmbcp
-_getpid
-_getsystime
-_getw
-_getwch
-_getwche
-_getws
-_global_unwind2
-_gmtime64
-_heapadd
-_heapchk
-_heapmin
-_heapset
-_heapused
-_heapwalk
-_hypot
-_i64toa
-_i64tow
-_initterm
-_inp
-_inpd
-_inpw
-_iob DATA
-_isatty
-_isctype
-_ismbbalnum
-_ismbbalpha
-_ismbbgraph
-_ismbbkalnum
-_ismbbkana
-_ismbbkprint
-_ismbbkpunct
-_ismbblead
-_ismbbprint
-_ismbbpunct
-_ismbbtrail
-_ismbcalnum
-_ismbcalpha
-_ismbcdigit
-_ismbcgraph
-_ismbchira
-_ismbckata
-_ismbcl0
-_ismbcl1
-_ismbcl2
-_ismbclegal
-_ismbclower
-_ismbcprint
-_ismbcpunct
-_ismbcspace
-_ismbcsymbol
-_ismbcupper
-_ismbslead
-_ismbstrail
-_isnan
-_itoa
-_itow
-_j0
-_j1
-_jn
-_kbhit
-_lfind
-_loaddll
-_local_unwind2
-_localtime64
-_lock
-_locking
-_logb
-_longjmpex
-_lrotl
-_lrotr
-_lsearch
-_lseek
-_lseeki64
-_ltoa
-_ltow
-_makepath
-_mbbtombc
-_mbbtype
-_mbcasemap DATA
-_mbccpy
-_mbcjistojms
-_mbcjmstojis
-_mbclen
-_mbctohira
-_mbctokata
-_mbctolower
-_mbctombb
-_mbctoupper
-_mbctype DATA
-_mbsbtype
-_mbscat
-_mbschr
-_mbscmp
-_mbscoll
-_mbscpy
-_mbscspn
-_mbsdec
-_mbsdup
-_mbsicmp
-_mbsicoll
-_mbsinc
-_mbslen
-_mbslwr
-_mbsnbcat
-_mbsnbcmp
-_mbsnbcnt
-_mbsnbcoll
-_mbsnbcpy
-_mbsnbicmp
-_mbsnbicoll
-_mbsnbset
-_mbsncat
-_mbsnccnt
-_mbsncmp
-_mbsncoll
-_mbsncpy
-_mbsnextc
-_mbsnicmp
-_mbsnicoll
-_mbsninc
-_mbsnset
-_mbspbrk
-_mbsrchr
-_mbsrev
-_mbsset
-_mbsspn
-_mbsspnp
-_mbsstr
-_mbstok
-_mbstrlen
-_mbsupr
-_memccpy
-_memicmp
-_mkdir
-_mkgmtime DATA
-;_mkgmtime32 = _mkgmtime
-_mkgmtime64
-_mktemp
-_mktime64
-_msize
-_nextafter
-_onexit
-_open
-_open_osfhandle
-_osplatform DATA
-_osver DATA
-_outp
-_outpd
-_outpw
-_pclose
-_pctype DATA
-_pgmptr DATA
-_pipe
-_popen
-_purecall
-_putch
-_putenv
-_putw
-_putwch
-_putws
-_pwctype DATA
-_read
-_resetstkoflw
-_rmdir
-_rmtmp
-_rotl
-_rotl64
-_rotr
-_rotr64
-_safe_fdiv
-_safe_fdivr
-_safe_fprem
-_safe_fprem1
-_scalb
-_scprintf
-_scwprintf
-_searchenv
-_seh_longjmp_unwind
-_set_SSE2_enable
-_set_error_mode
-_set_sbh_threshold
-_seterrormode
-_setjmp
-_setjmp3
-_setmaxstdio
-_setmbcp
-_setmode
-_setsystime
-_sleep
-_snprintf
-_snscanf
-_snwprintf
-_snwscanf
-_sopen
-_spawnl
-_spawnle
-_spawnlp
-_spawnlpe
-_spawnv
-_spawnve
-_spawnvp
-_spawnvpe
-_splitpath
-_stat
-_stat64
-_stati64
-_statusfp
-_strcmpi
-_strdate
-_strdup
-_strerror
-_stricmp
-_stricoll
-_strlwr
-_strncoll
-_strnicmp
-_strnicoll
-_strnset
-_strrev
-_strset
-_strtime
-_strtoi64
-_strtoui64
-_strupr
-_swab
-_sys_errlist DATA
-_sys_nerr DATA
-_tell
-_telli64
-_tempnam
-_time64
-_timezone DATA
-_tolower
-_toupper
-_tzname DATA
-_tzset
-_ui64toa
-_ui64tow
-_ultoa
-_ultow
-_umask
-_ungetch
-_ungetwch
-_unlink
-_unloaddll
-_unlock
-_utime
-_utime64
-_vscprintf
-_vscwprintf
-_vsnprintf
-_vsnwprintf
-_waccess
-_wasctime
-_wchdir
-_wchmod
-_wcmdln DATA
-_wcreat
-_wcsdup
-_wcserror
-_wcsicmp
-_wcsicoll
-_wcslwr
-_wcsncoll
-_wcsnicmp
-_wcsnicoll
-_wcsnset
-_wcsrev
-_wcsset
-_wcstoi64
-_wcstoui64
-_wcsupr
-_wctime DATA
-;_wctime32 = _wctime
-_wctime64
-_wctype
-_wenviron DATA
-_wexecl
-_wexecle
-_wexeclp
-_wexeclpe
-_wexecv
-_wexecve
-_wexecvp
-_wexecvpe
-_wfdopen
-_wfindfirst
-_wfindfirst64
-_wfindfirsti64
-_wfindnext
-_wfindnext64
-_wfindnexti64
-_wfopen
-_wfreopen
-_wfsopen
-_wfullpath
-_wgetcwd
-_wgetdcwd
-_wgetenv
-_winmajor DATA
-_winminor DATA
-_winver DATA
-_wmakepath
-_wmkdir
-_wmktemp
-_wopen
-_wperror
-_wpgmptr DATA
-_wpopen
-_wputenv
-_wremove
-_wrename
-_write
-_wrmdir
-_wsearchenv
-_wsetlocale
-_wsopen
-_wspawnl
-_wspawnle
-_wspawnlp
-_wspawnlpe
-_wspawnv
-_wspawnve
-_wspawnvp
-_wspawnvpe
-_wsplitpath
-_wstat
-_wstat64
-_wstati64
-_wstrdate
-_wstrtime
-_wsystem
-_wtempnam
-_wtmpnam
-_wtof
-_wtoi
-_wtoi64
-_wtol
-_wunlink
-_wutime
-_wutime64
-_y0
-_y1
-_yn
-abort
-abs
-acos
-asctime
-asin
-atan
-atan2
-atexit DATA
-atof
-atoi
-atol
-bsearch
-calloc
-ceil
-clearerr
-clock
-cos
-cosh
-ctime DATA
-;_ctime32 = ctime
-difftime
-div
-exit
-exp
-fabs
-fclose
-feof
-ferror
-fflush
-fgetc
-fgetpos
-fgets
-fgetwc
-fgetws
-floor
-fmod
-fopen
-fprintf
-fputc
-fputs
-fputwc
-fputws
-fread
-free
-freopen
-frexp
-fscanf
-fseek
-fsetpos
-ftell
-fwprintf
-fwrite
-fwscanf
-getc
-getchar
-getenv
-gets
-getwc
-getwchar
-gmtime DATA
-;_gmtime32 = gmtime
-is_wctype
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-isleadbyte
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalnum
-iswalpha
-iswascii
-iswcntrl
-iswctype
-iswdigit
-iswgraph
-iswlower
-iswprint
-iswpunct
-iswspace
-iswupper
-iswxdigit
-isxdigit
-labs
-ldexp
-ldiv
-localeconv
-localtime DATA
-;_localtime32 = localtime
-log
-log10
-malloc
-mblen
-mbstowcs
-mbtowc
-memchr
-memcmp
-memcpy
-memmove
-memset
-mktime DATA
-;_mktime32 = mktime
-modf
-perror
-pow
-printf
-putc
-putchar
-puts
-putwc
-putwchar
-qsort
-raise
-rand
-rand_s
-realloc
-remove
-rename
-rewind
-scanf
-setbuf
-setlocale
-setvbuf
-signal
-sin
-sinh
-sprintf
-sqrt
-srand
-sscanf
-strcat
-strchr
-strcmp
-strcoll
-strcpy
-strcspn
-strerror
-strftime
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtod
-strtok
-strtol
-strtoul
-strxfrm
-swprintf
-swscanf
-system
-tan
-tanh
-time DATA
-;_time32 = time
-tmpfile
-tmpnam
-tolower
-toupper
-towlower
-towupper
-ungetc
-ungetwc
-vfprintf
-vfwprintf
-vprintf
-vsprintf
-vswprintf
-vwprintf
-wcscat
-wcschr
-wcscmp
-wcscoll
-wcscpy
-wcscspn
-wcsftime
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstod
-wcstok
-wcstol
-wcstombs
-wcstoul
-wcsxfrm
-wctomb
-wprintf
-wscanf
+; 
+; Exports of file msvcrt.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msvcrt.dll
+EXPORTS
+; public: __thiscall __non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
+??0__non_rtti_object@@QAE@ABV0@@Z
+; public: __thiscall __non_rtti_object::__non_rtti_object(char const *)
+??0__non_rtti_object@@QAE@PBD@Z
+; private: __thiscall bad_cast::bad_cast(char const * const *)
+??0bad_cast@@AAE@PBQBD@Z
+; public: __thiscall bad_cast::bad_cast(char const * const &)
+??0bad_cast@@QAE@ABQBD@Z
+; public: __thiscall bad_cast::bad_cast(class bad_cast const &)
+??0bad_cast@@QAE@ABV0@@Z
+; public: __thiscall bad_cast::bad_cast(char const *)
+??0bad_cast@@QAE@PBD@Z
+; public: __thiscall bad_typeid::bad_typeid(class bad_typeid const &)
+??0bad_typeid@@QAE@ABV0@@Z
+; public: __thiscall bad_typeid::bad_typeid(char const *)
+??0bad_typeid@@QAE@PBD@Z
+; public: __thiscall exception::exception(char const * const &)
+??0exception@@QAE@ABQBD@Z
+; public: __thiscall exception::exception(char const * const &,int)
+??0exception@@QAE@ABQBDH@Z
+; public: __thiscall exception::exception(class exception const &)
+??0exception@@QAE@ABV0@@Z
+; public: __thiscall exception::exception(void)
+??0exception@@QAE@XZ
+; public: virtual __thiscall __non_rtti_object::~__non_rtti_object(void)
+??1__non_rtti_object@@UAE@XZ
+; public: virtual __thiscall bad_cast::~bad_cast(void)
+??1bad_cast@@UAE@XZ
+; public: virtual __thiscall bad_typeid::~bad_typeid(void)
+??1bad_typeid@@UAE@XZ
+; public: virtual __thiscall exception::~exception(void)
+??1exception@@UAE@XZ
+; public: virtual __thiscall type_info::~type_info(void)
+??1type_info@@UAE@XZ
+; void * __cdecl operator new(unsigned int)
+??2@YAPAXI@Z
+; void __cdecl operator delete(void *)
+??3@YAXPAX@Z
+; public: class __non_rtti_object & __thiscall __non_rtti_object::operator=(class __non_rtti_object const &)
+??4__non_rtti_object@@QAEAAV0@ABV0@@Z
+; public: class bad_cast & __thiscall bad_cast::operator=(class bad_cast const &)
+??4bad_cast@@QAEAAV0@ABV0@@Z
+; public: class bad_typeid & __thiscall bad_typeid::operator=(class bad_typeid const &)
+??4bad_typeid@@QAEAAV0@ABV0@@Z
+; public: class exception & __thiscall exception::operator=(class exception const &)
+??4exception@@QAEAAV0@ABV0@@Z
+; public: int __thiscall type_info::operator==(class type_info const &)const 
+??8type_info@@QBEHABV0@@Z
+; public: int __thiscall type_info::operator!=(class type_info const &)const 
+??9type_info@@QBEHABV0@@Z
+; const  __non_rtti_object::`vftable'
+??_7__non_rtti_object@@6B@
+; const  bad_cast::`vftable'
+??_7bad_cast@@6B@
+; const  bad_typeid::`vftable'
+??_7bad_typeid@@6B@
+; const  exception::`vftable'
+??_7exception@@6B@
+; public: virtual void * __thiscall __non_rtti_object::`vector deleting destructor'(unsigned int)
+??_E__non_rtti_object@@UAEPAXI@Z
+; public: virtual void * __thiscall bad_cast::`vector deleting destructor'(unsigned int)
+??_Ebad_cast@@UAEPAXI@Z
+; public: virtual void * __thiscall bad_typeid::`vector deleting destructor'(unsigned int)
+??_Ebad_typeid@@UAEPAXI@Z
+; public: virtual void * __thiscall exception::`vector deleting destructor'(unsigned int)
+??_Eexception@@UAEPAXI@Z
+; public: void __thiscall bad_cast::`default constructor closure'(void)
+??_Fbad_cast@@QAEXXZ
+; public: void __thiscall bad_typeid::`default constructor closure'(void)
+??_Fbad_typeid@@QAEXXZ
+; public: virtual void * __thiscall __non_rtti_object::`scalar deleting destructor'(unsigned int)
+??_G__non_rtti_object@@UAEPAXI@Z
+; public: virtual void * __thiscall bad_cast::`scalar deleting destructor'(unsigned int)
+??_Gbad_cast@@UAEPAXI@Z
+; public: virtual void * __thiscall bad_typeid::`scalar deleting destructor'(unsigned int)
+??_Gbad_typeid@@UAEPAXI@Z
+; public: virtual void * __thiscall exception::`scalar deleting destructor'(unsigned int)
+??_Gexception@@UAEPAXI@Z
+; void * __cdecl operator new[](unsigned int)
+??_U@YAPAXI@Z
+; void __cdecl operator delete[](void *)
+??_V@YAXPAX@Z
+__uncaught_exception
+; int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
+?_query_new_handler@@YAP6AHI@ZXZ
+; int __cdecl _query_new_mode(void)
+?_query_new_mode@@YAHXZ
+; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
+?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
+; int __cdecl _set_new_mode(int)
+?_set_new_mode@@YAHH@Z
+; void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
+?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
+; public: int __thiscall type_info::before(class type_info const &)const 
+?before@type_info@@QBEHABV1@@Z
+; public: char const * __thiscall type_info::name(void)const 
+?name@type_info@@QBEPBDXZ
+; public: char const * __thiscall type_info::raw_name(void)const 
+?raw_name@type_info@@QBEPBDXZ
+; void (__cdecl*__cdecl set_new_handler(void (__cdecl*)(void)))(void)
+?set_new_handler@@YAP6AXXZP6AXXZ@Z
+; void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
+?set_terminate@@YAP6AXXZP6AXXZ@Z
+; void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
+?set_unexpected@@YAP6AXXZP6AXXZ@Z
+; void __cdecl terminate(void)
+?terminate@@YAXXZ
+; void __cdecl unexpected(void)
+?unexpected@@YAXXZ
+; public: virtual char const * __thiscall exception::what(void)const 
+?what@exception@@UBEPBDXZ
+$I10_OUTPUT
+_CIacos
+_CIasin
+_CIatan
+_CIatan2
+_CIcos
+_CIcosh
+_CIexp
+_CIfmod
+_CIlog
+_CIlog10
+_CIpow
+_CIsin
+_CIsinh
+_CIsqrt
+_CItan
+_CItanh
+_CxxThrowException
+_EH_prolog
+_Getdays
+_Getmonths
+_Gettnames
+_HUGE DATA
+_Strftime
+_XcptFilter
+__CppXcptFilter
+__CxxCallUnwindDtor
+__CxxCallUnwindVecDtor
+__CxxDetectRethrow
+__CxxExceptionFilter
+__CxxFrameHandler
+__CxxFrameHandler2
+__CxxLongjmpUnwind
+__CxxQueryExceptionSize
+__CxxRegisterExceptionObject
+__CxxUnregisterExceptionObject
+__DestructExceptionObject
+__RTCastToVoid
+__RTDynamicCast
+__RTtypeid
+__STRINGTOLD
+___lc_codepage_func
+___lc_collate_cp_func
+___lc_handle_func
+___mb_cur_max_func
+___setlc_active_func
+___unguarded_readlc_active_add_func
+__argc DATA
+__argv DATA
+__badioinfo DATA
+__crtCompareStringA
+__crtCompareStringW
+__crtGetLocaleInfoW
+__crtGetStringTypeW
+__crtLCMapStringA
+__crtLCMapStringW
+__dllonexit
+__doserrno
+__fpecode
+__getmainargs
+__initenv DATA
+__iob_func
+__isascii
+__iscsym
+__iscsymf
+__lc_codepage DATA
+__lc_collate_cp DATA
+__lc_handle DATA
+__lconv_init
+__mb_cur_max DATA
+__p___argc
+__p___argv
+__p___initenv
+__p___mb_cur_max
+__p___wargv
+__p___winitenv
+__p__acmdln
+__p__amblksiz
+__p__commode
+__p__daylight
+__p__dstbias
+__p__environ
+__p__fileinfo
+__p__fmode
+__p__iob
+__p__mbcasemap
+__p__mbctype
+__p__osver
+__p__pctype
+__p__pgmptr
+__p__pwctype
+__p__timezone
+__p__tzname
+__p__wcmdln
+__p__wenviron
+__p__winmajor
+__p__winminor
+__p__winver
+__p__wpgmptr
+__pctype_func
+__pioinfo DATA
+__pwctype_func
+__pxcptinfoptrs
+__set_app_type
+__setlc_active DATA
+__setusermatherr
+__threadhandle
+__threadid
+__toascii
+__unDName
+__unDNameEx
+__unguarded_readlc_active DATA
+__wargv DATA
+__wcserror
+__wgetmainargs
+__winitenv DATA
+_abnormal_termination
+_abs64
+_access
+_acmdln DATA
+_adj_fdiv_m16i
+_adj_fdiv_m32
+_adj_fdiv_m32i
+_adj_fdiv_m64
+_adj_fdiv_r
+_adj_fdivr_m16i
+_adj_fdivr_m32
+_adj_fdivr_m32i
+_adj_fdivr_m64
+_adj_fpatan
+_adj_fprem
+_adj_fprem1
+_adj_fptan
+_adjust_fdiv DATA
+_aexit_rtn DATA
+_aligned_free
+_aligned_malloc
+_aligned_offset_malloc
+_aligned_offset_realloc
+_aligned_realloc
+_amsg_exit
+_assert
+_atodbl
+_atoi64
+_atoldbl
+_beep
+_beginthread
+_beginthreadex
+_c_exit
+_cabs
+_callnewh
+_cexit
+_cgets
+_cgetws
+_chdir
+_chdrive
+_chgsign
+_chkesp
+_chmod
+_chsize
+_clearfp
+_close
+_commit
+_commode DATA
+_control87
+_controlfp
+_copysign
+_cprintf
+_cputs
+_cputws
+_creat
+_cscanf
+_ctime64
+_ctype
+_cwait
+_cwprintf
+_cwscanf
+_daylight DATA
+_dstbias DATA
+_dup
+_dup2
+_ecvt
+_endthread
+_endthreadex
+_environ DATA
+_eof
+_errno
+_except_handler2
+_except_handler3
+_execl
+_execle
+_execlp
+_execlpe
+_execv
+_execve
+_execvp
+_execvpe
+_exit
+_expand
+_fcloseall
+_fcvt
+_fdopen
+_fgetchar
+_fgetwchar
+_filbuf
+_fileinfo DATA
+_filelength
+_filelengthi64
+_fileno
+_findclose
+_findfirst
+_findfirst64
+_findfirsti64
+_findnext
+_findnext64
+_findnexti64
+_finite
+_flsbuf
+_flushall
+_fmode DATA
+_fpclass
+_fpieee_flt
+_fpreset
+_fputchar
+_fputwchar
+_fsopen
+_fstat
+_fstat64
+_fstati64
+_ftime
+_ftime64
+_ftol
+_fullpath
+_futime
+_futime64
+_gcvt
+_get_heap_handle
+_get_osfhandle
+_get_sbh_threshold
+_getch
+_getche
+_getcwd
+_getdcwd
+_getdiskfree
+_getdllprocaddr
+_getdrive
+_getdrives
+_getmaxstdio
+_getmbcp
+_getpid
+_getsystime
+_getw
+_getwch
+_getwche
+_getws
+_global_unwind2
+_gmtime64
+_heapadd
+_heapchk
+_heapmin
+_heapset
+_heapused
+_heapwalk
+_hypot
+_i64toa
+_i64tow
+_initterm
+_inp
+_inpd
+_inpw
+_iob DATA
+_isatty
+_isctype
+_ismbbalnum
+_ismbbalpha
+_ismbbgraph
+_ismbbkalnum
+_ismbbkana
+_ismbbkprint
+_ismbbkpunct
+_ismbblead
+_ismbbprint
+_ismbbpunct
+_ismbbtrail
+_ismbcalnum
+_ismbcalpha
+_ismbcdigit
+_ismbcgraph
+_ismbchira
+_ismbckata
+_ismbcl0
+_ismbcl1
+_ismbcl2
+_ismbclegal
+_ismbclower
+_ismbcprint
+_ismbcpunct
+_ismbcspace
+_ismbcsymbol
+_ismbcupper
+_ismbslead
+_ismbstrail
+_isnan
+_itoa
+_itow
+_j0
+_j1
+_jn
+_kbhit
+_lfind
+_loaddll
+_local_unwind2
+_localtime64
+_lock
+_locking
+_logb
+_longjmpex
+_lrotl
+_lrotr
+_lsearch
+_lseek
+_lseeki64
+_ltoa
+_ltow
+_makepath
+_mbbtombc
+_mbbtype
+_mbcasemap DATA
+_mbccpy
+_mbcjistojms
+_mbcjmstojis
+_mbclen
+_mbctohira
+_mbctokata
+_mbctolower
+_mbctombb
+_mbctoupper
+_mbctype DATA
+_mbsbtype
+_mbscat
+_mbschr
+_mbscmp
+_mbscoll
+_mbscpy
+_mbscspn
+_mbsdec
+_mbsdup
+_mbsicmp
+_mbsicoll
+_mbsinc
+_mbslen
+_mbslwr
+_mbsnbcat
+_mbsnbcmp
+_mbsnbcnt
+_mbsnbcoll
+_mbsnbcpy
+_mbsnbicmp
+_mbsnbicoll
+_mbsnbset
+_mbsncat
+_mbsnccnt
+_mbsncmp
+_mbsncoll
+_mbsncpy
+_mbsnextc
+_mbsnicmp
+_mbsnicoll
+_mbsninc
+_mbsnset
+_mbspbrk
+_mbsrchr
+_mbsrev
+_mbsset
+_mbsspn
+_mbsspnp
+_mbsstr
+_mbstok
+_mbstrlen
+_mbsupr
+_memccpy
+_memicmp
+_mkdir
+_mkgmtime DATA
+;_mkgmtime32 = _mkgmtime
+_mkgmtime64
+_mktemp
+_mktime64
+_msize
+_nextafter
+_onexit
+_open
+_open_osfhandle
+_osplatform DATA
+_osver DATA
+_outp
+_outpd
+_outpw
+_pclose
+_pctype DATA
+_pgmptr DATA
+_pipe
+_popen
+_purecall
+_putch
+_putenv
+_putw
+_putwch
+_putws
+_pwctype DATA
+_read
+_resetstkoflw
+_rmdir
+_rmtmp
+_rotl
+_rotl64
+_rotr
+_rotr64
+_safe_fdiv
+_safe_fdivr
+_safe_fprem
+_safe_fprem1
+_scalb
+_scprintf
+_scwprintf
+_searchenv
+_seh_longjmp_unwind
+_set_SSE2_enable
+_set_error_mode
+_set_sbh_threshold
+_seterrormode
+_setjmp
+_setjmp3
+_setmaxstdio
+_setmbcp
+_setmode
+_setsystime
+_sleep
+_snprintf
+_snscanf
+_snwprintf
+_snwscanf
+_sopen
+_spawnl
+_spawnle
+_spawnlp
+_spawnlpe
+_spawnv
+_spawnve
+_spawnvp
+_spawnvpe
+_splitpath
+_stat
+_stat64
+_stati64
+_statusfp
+_strcmpi
+_strdate
+_strdup
+_strerror
+_stricmp
+_stricoll
+_strlwr
+_strncoll
+_strnicmp
+_strnicoll
+_strnset
+_strrev
+_strset
+_strtime
+_strtoi64
+_strtoui64
+_strupr
+_swab
+_sys_errlist DATA
+_sys_nerr DATA
+_tell
+_telli64
+_tempnam
+_time64
+_timezone DATA
+_tolower
+_toupper
+_tzname DATA
+_tzset
+_ui64toa
+_ui64tow
+_ultoa
+_ultow
+_umask
+_ungetch
+_ungetwch
+_unlink
+_unloaddll
+_unlock
+_utime
+_utime64
+_vscprintf
+_vscwprintf
+_vsnprintf
+_vsnwprintf
+_waccess
+_wasctime
+_wchdir
+_wchmod
+_wcmdln DATA
+_wcreat
+_wcsdup
+_wcserror
+_wcsicmp
+_wcsicoll
+_wcslwr
+_wcsncoll
+_wcsnicmp
+_wcsnicoll
+_wcsnset
+_wcsrev
+_wcsset
+_wcstoi64
+_wcstoui64
+_wcsupr
+_wctime DATA
+;_wctime32 = _wctime
+_wctime64
+_wctype
+_wenviron DATA
+_wexecl
+_wexecle
+_wexeclp
+_wexeclpe
+_wexecv
+_wexecve
+_wexecvp
+_wexecvpe
+_wfdopen
+_wfindfirst
+_wfindfirst64
+_wfindfirsti64
+_wfindnext
+_wfindnext64
+_wfindnexti64
+_wfopen
+_wfreopen
+_wfsopen
+_wfullpath
+_wgetcwd
+_wgetdcwd
+_wgetenv
+_winmajor DATA
+_winminor DATA
+_winver DATA
+_wmakepath
+_wmkdir
+_wmktemp
+_wopen
+_wperror
+_wpgmptr DATA
+_wpopen
+_wputenv
+_wremove
+_wrename
+_write
+_wrmdir
+_wsearchenv
+_wsetlocale
+_wsopen
+_wspawnl
+_wspawnle
+_wspawnlp
+_wspawnlpe
+_wspawnv
+_wspawnve
+_wspawnvp
+_wspawnvpe
+_wsplitpath
+_wstat
+_wstat64
+_wstati64
+_wstrdate
+_wstrtime
+_wsystem
+_wtempnam
+_wtmpnam
+_wtof
+_wtoi
+_wtoi64
+_wtol
+_wunlink
+_wutime
+_wutime64
+_y0
+_y1
+_yn
+abort
+abs
+acos
+asctime
+asin
+atan
+atan2
+atexit DATA
+atof
+atoi
+atol
+bsearch
+calloc
+ceil
+clearerr
+clock
+cos
+cosh
+ctime DATA
+;_ctime32 = ctime
+difftime
+div
+exit
+exp
+fabs
+fclose
+feof
+ferror
+fflush
+fgetc
+fgetpos
+fgets
+fgetwc
+fgetws
+floor
+fmod
+fopen
+fprintf
+fputc
+fputs
+fputwc
+fputws
+fread
+free
+freopen
+frexp
+fscanf
+fseek
+fsetpos
+ftell
+fwprintf
+fwrite
+fwscanf
+getc
+getchar
+getenv
+gets
+getwc
+getwchar
+gmtime DATA
+;_gmtime32 = gmtime
+is_wctype
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+isleadbyte
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalnum
+iswalpha
+iswascii
+iswcntrl
+iswctype
+iswdigit
+iswgraph
+iswlower
+iswprint
+iswpunct
+iswspace
+iswupper
+iswxdigit
+isxdigit
+labs
+ldexp
+ldiv
+localeconv
+localtime DATA
+;_localtime32 = localtime
+log
+log10
+malloc
+mblen
+mbstowcs
+mbtowc
+memchr
+memcmp
+memcpy
+memmove
+memset
+mktime DATA
+;_mktime32 = mktime
+modf
+perror
+pow
+printf
+putc
+putchar
+puts
+putwc
+putwchar
+qsort
+raise
+rand
+rand_s
+realloc
+remove
+rename
+rewind
+scanf
+setbuf
+setlocale
+setvbuf
+signal
+sin
+sinh
+sprintf
+sqrt
+srand
+sscanf
+strcat
+strchr
+strcmp
+strcoll
+strcpy
+strcspn
+strerror
+strftime
+strlen
+strncat
+strncmp
+strncpy
+strpbrk
+strrchr
+strspn
+strstr
+strtod
+strtok
+strtol
+strtoul
+strxfrm
+swprintf
+swscanf
+system
+tan
+tanh
+time DATA
+;_time32 = time
+tmpfile
+tmpnam
+tolower
+toupper
+towlower
+towupper
+ungetc
+ungetwc
+vfprintf
+vfwprintf
+vprintf
+vsprintf
+vswprintf
+vwprintf
+wcscat
+wcschr
+wcscmp
+wcscoll
+wcscpy
+wcscspn
+wcsftime
+wcslen
+wcsncat
+wcsncmp
+wcsncpy
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstod
+wcstok
+wcstol
+wcstombs
+wcstoul
+wcsxfrm
+wctomb
+wprintf
+wscanf
diff --git a/mingw-w64-crt/lib64/wmsvcrt20.def b/mingw-w64-crt/lib64/wmsvcrt20.def
index 91f75d9..e0ae465 100644
--- a/mingw-w64-crt/lib64/wmsvcrt20.def
+++ b/mingw-w64-crt/lib64/wmsvcrt20.def
@@ -1,1576 +1,1576 @@
-; 
-; Exports of file MSVCRT20.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSVCRT20.dll
-EXPORTS
-; public: __thiscall Iostream_init::Iostream_init(class ios &,int)
-??0Iostream_init@@QAE@AAVios@@H@Z
-; public: __thiscall Iostream_init::Iostream_init(void)
-??0Iostream_init@@QAE@XZ
-; public: __thiscall filebuf::filebuf(class filebuf const &)
-??0filebuf@@QAE@ABV0@@Z
-; public: __thiscall filebuf::filebuf(int)
-??0filebuf@@QAE@H@Z
-; public: __thiscall filebuf::filebuf(int,char *,int)
-??0filebuf@@QAE@HPADH@Z
-; public: __thiscall filebuf::filebuf(void)
-??0filebuf@@QAE@XZ
-; public: __thiscall fstream::fstream(class fstream const &)
-??0fstream@@QAE@ABV0@@Z
-; public: __thiscall fstream::fstream(int)
-??0fstream@@QAE@H@Z
-; public: __thiscall fstream::fstream(int,char *,int)
-??0fstream@@QAE@HPADH@Z
-; public: __thiscall fstream::fstream(char const *,int,int)
-??0fstream@@QAE@PBDHH@Z
-; public: __thiscall fstream::fstream(void)
-??0fstream@@QAE@XZ
-; public: __thiscall ifstream::ifstream(class ifstream const &)
-??0ifstream@@QAE@ABV0@@Z
-; public: __thiscall ifstream::ifstream(int)
-??0ifstream@@QAE@H@Z
-; public: __thiscall ifstream::ifstream(int,char *,int)
-??0ifstream@@QAE@HPADH@Z
-; public: __thiscall ifstream::ifstream(char const *,int,int)
-??0ifstream@@QAE@PBDHH@Z
-; public: __thiscall ifstream::ifstream(void)
-??0ifstream@@QAE@XZ
-; protected: __thiscall ios::ios(class ios const &)
-??0ios@@IAE@ABV0@@Z
-; protected: __thiscall ios::ios(void)
-??0ios@@IAE@XZ
-; public: __thiscall ios::ios(class streambuf *)
-??0ios@@QAE@PAVstreambuf@@@Z
-; protected: __thiscall iostream::iostream(class iostream const &)
-??0iostream@@IAE@ABV0@@Z
-; protected: __thiscall iostream::iostream(void)
-??0iostream@@IAE@XZ
-; public: __thiscall iostream::iostream(class streambuf *)
-??0iostream@@QAE@PAVstreambuf@@@Z
-; protected: __thiscall istream::istream(class istream const &)
-??0istream@@IAE@ABV0@@Z
-; protected: __thiscall istream::istream(void)
-??0istream@@IAE@XZ
-; public: __thiscall istream::istream(class streambuf *)
-??0istream@@QAE@PAVstreambuf@@@Z
-; public: __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
-??0istream_withassign@@QAE@ABV0@@Z
-; public: __thiscall istream_withassign::istream_withassign(class streambuf *)
-??0istream_withassign@@QAE@PAVstreambuf@@@Z
-; public: __thiscall istream_withassign::istream_withassign(void)
-??0istream_withassign@@QAE@XZ
-; public: __thiscall istrstream::istrstream(class istrstream const &)
-??0istrstream@@QAE@ABV0@@Z
-; public: __thiscall istrstream::istrstream(char *)
-??0istrstream@@QAE@PAD@Z
-; public: __thiscall istrstream::istrstream(char *,int)
-??0istrstream@@QAE@PADH@Z
-; public: __thiscall ofstream::ofstream(class ofstream const &)
-??0ofstream@@QAE@ABV0@@Z
-; public: __thiscall ofstream::ofstream(int)
-??0ofstream@@QAE@H@Z
-; public: __thiscall ofstream::ofstream(int,char *,int)
-??0ofstream@@QAE@HPADH@Z
-; public: __thiscall ofstream::ofstream(char const *,int,int)
-??0ofstream@@QAE@PBDHH@Z
-; public: __thiscall ofstream::ofstream(void)
-??0ofstream@@QAE@XZ
-; protected: __thiscall ostream::ostream(class ostream const &)
-??0ostream@@IAE@ABV0@@Z
-; protected: __thiscall ostream::ostream(void)
-??0ostream@@IAE@XZ
-; public: __thiscall ostream::ostream(class streambuf *)
-??0ostream@@QAE@PAVstreambuf@@@Z
-; public: __thiscall ostream_withassign::ostream_withassign(class ostream_withassign const &)
-??0ostream_withassign@@QAE@ABV0@@Z
-; public: __thiscall ostream_withassign::ostream_withassign(class streambuf *)
-??0ostream_withassign@@QAE@PAVstreambuf@@@Z
-; public: __thiscall ostream_withassign::ostream_withassign(void)
-??0ostream_withassign@@QAE@XZ
-; public: __thiscall ostrstream::ostrstream(class ostrstream const &)
-??0ostrstream@@QAE@ABV0@@Z
-; public: __thiscall ostrstream::ostrstream(char *,int,int)
-??0ostrstream@@QAE@PADHH@Z
-; public: __thiscall ostrstream::ostrstream(void)
-??0ostrstream@@QAE@XZ
-; public: __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
-??0stdiobuf@@QAE@ABV0@@Z
-; public: __thiscall stdiobuf::stdiobuf(struct _iobuf *)
-??0stdiobuf@@QAE@PAU_iobuf@@@Z
-; public: __thiscall stdiostream::stdiostream(class stdiostream const &)
-??0stdiostream@@QAE@ABV0@@Z
-; public: __thiscall stdiostream::stdiostream(struct _iobuf *)
-??0stdiostream@@QAE@PAU_iobuf@@@Z
-; protected: __thiscall streambuf::streambuf(char *,int)
-??0streambuf@@IAE@PADH@Z
-; protected: __thiscall streambuf::streambuf(void)
-??0streambuf@@IAE@XZ
-; public: __thiscall streambuf::streambuf(class streambuf const &)
-??0streambuf@@QAE@ABV0@@Z
-; public: __thiscall strstream::strstream(class strstream const &)
-??0strstream@@QAE@ABV0@@Z
-; public: __thiscall strstream::strstream(char *,int,int)
-??0strstream@@QAE@PADHH@Z
-; public: __thiscall strstream::strstream(void)
-??0strstream@@QAE@XZ
-; public: __thiscall strstreambuf::strstreambuf(class strstreambuf const &)
-??0strstreambuf@@QAE@ABV0@@Z
-; public: __thiscall strstreambuf::strstreambuf(int)
-??0strstreambuf@@QAE@H@Z
-; public: __thiscall strstreambuf::strstreambuf(void * (__cdecl*)(long),void (__cdecl*)(void *))
-??0strstreambuf@@QAE@P6APAXJ@ZP6AXPAX@Z@Z
-; public: __thiscall strstreambuf::strstreambuf(char *,int,char *)
-??0strstreambuf@@QAE@PADH0@Z
-; public: __thiscall strstreambuf::strstreambuf(void)
-??0strstreambuf@@QAE@XZ
-; public: __thiscall Iostream_init::~Iostream_init(void)
-??1Iostream_init@@QAE@XZ
-; public: virtual __thiscall filebuf::~filebuf(void)
-??1filebuf@@UAE@XZ
-; public: virtual __thiscall fstream::~fstream(void)
-??1fstream@@UAE@XZ
-; public: virtual __thiscall ifstream::~ifstream(void)
-??1ifstream@@UAE@XZ
-; public: virtual __thiscall ios::~ios(void)
-??1ios@@UAE@XZ
-; public: virtual __thiscall iostream::~iostream(void)
-??1iostream@@UAE@XZ
-; public: virtual __thiscall istream::~istream(void)
-??1istream@@UAE@XZ
-; public: virtual __thiscall istream_withassign::~istream_withassign(void)
-??1istream_withassign@@UAE@XZ
-; public: virtual __thiscall istrstream::~istrstream(void)
-??1istrstream@@UAE@XZ
-; public: virtual __thiscall ofstream::~ofstream(void)
-??1ofstream@@UAE@XZ
-; public: virtual __thiscall ostream::~ostream(void)
-??1ostream@@UAE@XZ
-; public: virtual __thiscall ostream_withassign::~ostream_withassign(void)
-??1ostream_withassign@@UAE@XZ
-; public: virtual __thiscall ostrstream::~ostrstream(void)
-??1ostrstream@@UAE@XZ
-; public: virtual __thiscall stdiobuf::~stdiobuf(void)
-??1stdiobuf@@UAE@XZ
-; public: virtual __thiscall stdiostream::~stdiostream(void)
-??1stdiostream@@UAE@XZ
-; public: virtual __thiscall streambuf::~streambuf(void)
-??1streambuf@@UAE@XZ
-; public: virtual __thiscall strstream::~strstream(void)
-??1strstream@@UAE@XZ
-; public: virtual __thiscall strstreambuf::~strstreambuf(void)
-??1strstreambuf@@UAE@XZ
-; void * __cdecl operator new(unsigned int)
-??2@YAPAXI@Z
-; void __cdecl operator delete(void *)
-??3@YAXPAX@Z
-; public: class Iostream_init & __thiscall Iostream_init::operator=(class Iostream_init const &)
-??4Iostream_init@@QAEAAV0@ABV0@@Z
-; public: class filebuf & __thiscall filebuf::operator=(class filebuf const &)
-??4filebuf@@QAEAAV0@ABV0@@Z
-; public: class fstream & __thiscall fstream::operator=(class fstream &)
-??4fstream@@QAEAAV0@AAV0@@Z
-; public: class ifstream & __thiscall ifstream::operator=(class ifstream const &)
-??4ifstream@@QAEAAV0@ABV0@@Z
-; protected: class ios & __thiscall ios::operator=(class ios const &)
-??4ios@@IAEAAV0@ABV0@@Z
-; protected: class iostream & __thiscall iostream::operator=(class iostream &)
-??4iostream@@IAEAAV0@AAV0@@Z
-; protected: class iostream & __thiscall iostream::operator=(class streambuf *)
-??4iostream@@IAEAAV0@PAVstreambuf@@@Z
-; protected: class istream & __thiscall istream::operator=(class istream const &)
-??4istream@@IAEAAV0@ABV0@@Z
-; protected: class istream & __thiscall istream::operator=(class streambuf *)
-??4istream@@IAEAAV0@PAVstreambuf@@@Z
-; public: class istream_withassign & __thiscall istream_withassign::operator=(class istream_withassign const &)
-??4istream_withassign@@QAEAAV0@ABV0@@Z
-; public: class istream & __thiscall istream_withassign::operator=(class istream const &)
-??4istream_withassign@@QAEAAVistream@@ABV1@@Z
-; public: class istream & __thiscall istream_withassign::operator=(class streambuf *)
-??4istream_withassign@@QAEAAVistream@@PAVstreambuf@@@Z
-; public: class istrstream & __thiscall istrstream::operator=(class istrstream const &)
-??4istrstream@@QAEAAV0@ABV0@@Z
-; public: class ofstream & __thiscall ofstream::operator=(class ofstream const &)
-??4ofstream@@QAEAAV0@ABV0@@Z
-; protected: class ostream & __thiscall ostream::operator=(class ostream const &)
-??4ostream@@IAEAAV0@ABV0@@Z
-; protected: class ostream & __thiscall ostream::operator=(class streambuf *)
-??4ostream@@IAEAAV0@PAVstreambuf@@@Z
-; public: class ostream_withassign & __thiscall ostream_withassign::operator=(class ostream_withassign const &)
-??4ostream_withassign@@QAEAAV0@ABV0@@Z
-; public: class ostream & __thiscall ostream_withassign::operator=(class ostream const &)
-??4ostream_withassign@@QAEAAVostream@@ABV1@@Z
-; public: class ostream & __thiscall ostream_withassign::operator=(class streambuf *)
-??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z
-; public: class ostrstream & __thiscall ostrstream::operator=(class ostrstream const &)
-??4ostrstream@@QAEAAV0@ABV0@@Z
-; public: class stdiobuf & __thiscall stdiobuf::operator=(class stdiobuf const &)
-??4stdiobuf@@QAEAAV0@ABV0@@Z
-; public: class stdiostream & __thiscall stdiostream::operator=(class stdiostream &)
-??4stdiostream@@QAEAAV0@AAV0@@Z
-; public: class streambuf & __thiscall streambuf::operator=(class streambuf const &)
-??4streambuf@@QAEAAV0@ABV0@@Z
-; public: class strstream & __thiscall strstream::operator=(class strstream &)
-??4strstream@@QAEAAV0@AAV0@@Z
-; public: class strstreambuf & __thiscall strstreambuf::operator=(class strstreambuf const &)
-??4strstreambuf@@QAEAAV0@ABV0@@Z
-; public: class istream & __thiscall istream::operator>>(signed char &)
-??5istream@@QAEAAV0@AAC@Z
-; public: class istream & __thiscall istream::operator>>(char &)
-??5istream@@QAEAAV0@AAD@Z
-; public: class istream & __thiscall istream::operator>>(unsigned char &)
-??5istream@@QAEAAV0@AAE@Z
-; public: class istream & __thiscall istream::operator>>(short &)
-??5istream@@QAEAAV0@AAF@Z
-; public: class istream & __thiscall istream::operator>>(unsigned short &)
-??5istream@@QAEAAV0@AAG@Z
-; public: class istream & __thiscall istream::operator>>(int &)
-??5istream@@QAEAAV0@AAH@Z
-; public: class istream & __thiscall istream::operator>>(unsigned int &)
-??5istream@@QAEAAV0@AAI@Z
-; public: class istream & __thiscall istream::operator>>(long &)
-??5istream@@QAEAAV0@AAJ@Z
-; public: class istream & __thiscall istream::operator>>(unsigned long &)
-??5istream@@QAEAAV0@AAK@Z
-; public: class istream & __thiscall istream::operator>>(float &)
-??5istream@@QAEAAV0@AAM@Z
-; public: class istream & __thiscall istream::operator>>(double &)
-??5istream@@QAEAAV0@AAN@Z
-; public: class istream & __thiscall istream::operator>>(long double &)
-??5istream@@QAEAAV0@AAO@Z
-; public: class istream & __thiscall istream::operator>>(class istream & (__cdecl*)(class istream &))
-??5istream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
-; public: class istream & __thiscall istream::operator>>(class ios & (__cdecl*)(class ios &))
-??5istream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
-; public: class istream & __thiscall istream::operator>>(signed char *)
-??5istream@@QAEAAV0@PAC@Z
-; public: class istream & __thiscall istream::operator>>(char *)
-??5istream@@QAEAAV0@PAD@Z
-; public: class istream & __thiscall istream::operator>>(unsigned char *)
-??5istream@@QAEAAV0@PAE@Z
-; public: class istream & __thiscall istream::operator>>(class streambuf *)
-??5istream@@QAEAAV0@PAVstreambuf@@@Z
-; public: class ostream & __thiscall ostream::operator<<(signed char)
-??6ostream@@QAEAAV0@C@Z
-; public: class ostream & __thiscall ostream::operator<<(char)
-??6ostream@@QAEAAV0@D@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned char)
-??6ostream@@QAEAAV0@E@Z
-; public: class ostream & __thiscall ostream::operator<<(short)
-??6ostream@@QAEAAV0@F@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned short)
-??6ostream@@QAEAAV0@G@Z
-; public: class ostream & __thiscall ostream::operator<<(int)
-??6ostream@@QAEAAV0@H@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned int)
-??6ostream@@QAEAAV0@I@Z
-; public: class ostream & __thiscall ostream::operator<<(long)
-??6ostream@@QAEAAV0@J@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned long)
-??6ostream@@QAEAAV0@K@Z
-; public: class ostream & __thiscall ostream::operator<<(float)
-??6ostream@@QAEAAV0@M@Z
-; public: class ostream & __thiscall ostream::operator<<(double)
-??6ostream@@QAEAAV0@N@Z
-; public: class ostream & __thiscall ostream::operator<<(long double)
-??6ostream@@QAEAAV0@O@Z
-; public: class ostream & __thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream &))
-??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
-; public: class ostream & __thiscall ostream::operator<<(class ios & (__cdecl*)(class ios &))
-??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
-; public: class ostream & __thiscall ostream::operator<<(class streambuf *)
-??6ostream@@QAEAAV0@PAVstreambuf@@@Z
-; public: class ostream & __thiscall ostream::operator<<(signed char const *)
-??6ostream@@QAEAAV0@PBC@Z
-; public: class ostream & __thiscall ostream::operator<<(char const *)
-??6ostream@@QAEAAV0@PBD@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned char const *)
-??6ostream@@QAEAAV0@PBE@Z
-; public: class ostream & __thiscall ostream::operator<<(void const *)
-??6ostream@@QAEAAV0@PBX@Z
-; public: int __thiscall ios::operator!(void)const 
-??7ios@@QBEHXZ
-; public: __thiscall ios::operator void *(void)const 
-??Bios@@QBEPAXXZ
-; const  filebuf::`vftable'
-??_7filebuf@@6B@ DATA
-; const  fstream::`vftable'
-??_7fstream@@6B@ DATA
-; const  ifstream::`vftable'
-??_7ifstream@@6B@ DATA
-; const  ios::`vftable'
-??_7ios@@6B@ DATA
-; const  iostream::`vftable'
-??_7iostream@@6B@ DATA
-; const  istream::`vftable'
-??_7istream@@6B@ DATA
-; const  istream_withassign::`vftable'
-??_7istream_withassign@@6B@ DATA
-; const  istrstream::`vftable'
-??_7istrstream@@6B@ DATA
-; const  ofstream::`vftable'
-??_7ofstream@@6B@ DATA
-; const  ostream::`vftable'
-??_7ostream@@6B@ DATA
-; const  ostream_withassign::`vftable'
-??_7ostream_withassign@@6B@ DATA
-; const  ostrstream::`vftable'
-??_7ostrstream@@6B@ DATA
-; const  stdiobuf::`vftable'
-??_7stdiobuf@@6B@ DATA
-; const  stdiostream::`vftable'
-??_7stdiostream@@6B@ DATA
-; const  streambuf::`vftable'
-??_7streambuf@@6B@ DATA
-; const  strstream::`vftable'
-??_7strstream@@6B@ DATA
-; const  strstreambuf::`vftable'
-??_7strstreambuf@@6B@ DATA
-; const  fstream::`vbtable'{for `istream'}
-??_8fstream@@7Bistream@@@ DATA
-; const  fstream::`vbtable'{for `ostream'}
-??_8fstream@@7Bostream@@@ DATA
-; const  ifstream::`vbtable'
-??_8ifstream@@7B@ DATA
-; const  iostream::`vbtable'{for `istream'}
-??_8iostream@@7Bistream@@@ DATA
-; const  iostream::`vbtable'{for `ostream'}
-??_8iostream@@7Bostream@@@ DATA
-; const  istream::`vbtable'
-??_8istream@@7B@ DATA
-; const  istream_withassign::`vbtable'
-??_8istream_withassign@@7B@ DATA
-; const  istrstream::`vbtable'
-??_8istrstream@@7B@ DATA
-; const  ofstream::`vbtable'
-??_8ofstream@@7B@ DATA
-; const  ostream::`vbtable'
-??_8ostream@@7B@ DATA
-; const  ostream_withassign::`vbtable'
-??_8ostream_withassign@@7B@ DATA
-; const  ostrstream::`vbtable'
-??_8ostrstream@@7B@ DATA
-; const  stdiostream::`vbtable'{for `istream'}
-??_8stdiostream@@7Bistream@@@ DATA
-; const  stdiostream::`vbtable'{for `ostream'}
-??_8stdiostream@@7Bostream@@@ DATA
-; const  strstream::`vbtable'{for `istream'}
-??_8strstream@@7Bistream@@@ DATA
-; const  strstream::`vbtable'{for `ostream'}
-??_8strstream@@7Bostream@@@ DATA
-; public: void __thiscall fstream::`vbase destructor'(void)
-??_Dfstream@@QAEXXZ
-; public: void __thiscall ifstream::`vbase destructor'(void)
-??_Difstream@@QAEXXZ
-; public: void __thiscall iostream::`vbase destructor'(void)
-??_Diostream@@QAEXXZ
-; public: void __thiscall istream::`vbase destructor'(void)
-??_Distream@@QAEXXZ
-; public: void __thiscall istream_withassign::`vbase destructor'(void)
-??_Distream_withassign@@QAEXXZ
-; public: void __thiscall istrstream::`vbase destructor'(void)
-??_Distrstream@@QAEXXZ
-; public: void __thiscall ofstream::`vbase destructor'(void)
-??_Dofstream@@QAEXXZ
-; public: void __thiscall ostream::`vbase destructor'(void)
-??_Dostream@@QAEXXZ
-; public: void __thiscall ostream_withassign::`vbase destructor'(void)
-??_Dostream_withassign@@QAEXXZ
-; public: void __thiscall ostrstream::`vbase destructor'(void)
-??_Dostrstream@@QAEXXZ
-; public: void __thiscall stdiostream::`vbase destructor'(void)
-??_Dstdiostream@@QAEXXZ
-; public: void __thiscall strstream::`vbase destructor'(void)
-??_Dstrstream@@QAEXXZ
-; public: void * __thiscall Iostream_init::`vector deleting destructor'(unsigned int)
-??_EIostream_init@@QAEPAXI@Z
-; public: virtual void * __thiscall filebuf::`vector deleting destructor'(unsigned int)
-??_Efilebuf@@UAEPAXI@Z
-; public: virtual void * __thiscall fstream::`vector deleting destructor'(unsigned int)
-??_Efstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
-??_Eifstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ios::`vector deleting destructor'(unsigned int)
-??_Eios@@UAEPAXI@Z
-; public: virtual void * __thiscall iostream::`vector deleting destructor'(unsigned int)
-??_Eiostream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
-??_Eistream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
-??_Eistream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
-??_Eistrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
-??_Eofstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
-??_Eostream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
-??_Eostream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int)
-??_Eostrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiobuf::`vector deleting destructor'(unsigned int)
-??_Estdiobuf@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiostream::`vector deleting destructor'(unsigned int)
-??_Estdiostream@@UAEPAXI@Z
-; public: virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int)
-??_Estreambuf@@UAEPAXI@Z
-; public: virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
-??_Estrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int)
-??_Estrstreambuf@@UAEPAXI@Z
-; public: void * __thiscall Iostream_init::`scalar deleting destructor'(unsigned int)
-??_GIostream_init@@QAEPAXI@Z
-; public: virtual void * __thiscall filebuf::`scalar deleting destructor'(unsigned int)
-??_Gfilebuf@@UAEPAXI@Z
-; public: virtual void * __thiscall fstream::`scalar deleting destructor'(unsigned int)
-??_Gfstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
-??_Gifstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ios::`scalar deleting destructor'(unsigned int)
-??_Gios@@UAEPAXI@Z
-; public: virtual void * __thiscall iostream::`scalar deleting destructor'(unsigned int)
-??_Giostream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
-??_Gistream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
-??_Gistream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
-??_Gistrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
-??_Gofstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
-??_Gostream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
-??_Gostream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int)
-??_Gostrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiobuf::`scalar deleting destructor'(unsigned int)
-??_Gstdiobuf@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiostream::`scalar deleting destructor'(unsigned int)
-??_Gstdiostream@@UAEPAXI@Z
-; public: virtual void * __thiscall streambuf::`scalar deleting destructor'(unsigned int)
-??_Gstreambuf@@UAEPAXI@Z
-; public: virtual void * __thiscall strstream::`scalar deleting destructor'(unsigned int)
-??_Gstrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall strstreambuf::`scalar deleting destructor'(unsigned int)
-??_Gstrstreambuf@@UAEPAXI@Z
-; int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
-?_query_new_handler@@YAP6AHI@ZXZ
-; int __cdecl _query_new_mode(void)
-?_query_new_mode@@YAHXZ
-; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
-?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
-; int __cdecl _set_new_mode(int)
-?_set_new_mode@@YAHH@Z
-; void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
-?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
-; public: static long const  ios::adjustfield
-?adjustfield@ios@@2JB DATA
-; protected: int __thiscall streambuf::allocate(void)
-?allocate@streambuf@@IAEHXZ
-; public: class filebuf * __thiscall filebuf::attach(int)
-?attach@filebuf@@QAEPAV1@H@Z
-; public: void __thiscall fstream::attach(int)
-?attach@fstream@@QAEXH@Z
-; public: void __thiscall ifstream::attach(int)
-?attach@ifstream@@QAEXH@Z
-; public: void __thiscall ofstream::attach(int)
-?attach@ofstream@@QAEXH@Z
-; public: int __thiscall ios::bad(void)const 
-?bad@ios@@QBEHXZ
-; protected: char * __thiscall streambuf::base(void)const 
-?base@streambuf@@IBEPADXZ
-; public: static long const  ios::basefield
-?basefield@ios@@2JB DATA
-; public: static int const  filebuf::binary
-?binary@filebuf@@2HB DATA
-; public: static long __cdecl ios::bitalloc(void)
-?bitalloc@ios@@SAJXZ
-; protected: int __thiscall streambuf::blen(void)const 
-?blen@streambuf@@IBEHXZ
-; class ostream_withassign  cerr
-?cerr@@3Vostream_withassign@@A DATA
-; class istream_withassign  cin
-?cin@@3Vistream_withassign@@A DATA
-; public: void __thiscall ios::clear(int)
-?clear@ios@@QAEXH@Z
-; class ostream_withassign  clog
-?clog@@3Vostream_withassign@@A DATA
-; public: class filebuf * __thiscall filebuf::close(void)
-?close@filebuf@@QAEPAV1@XZ
-; public: void __thiscall fstream::close(void)
-?close@fstream@@QAEXXZ
-; public: void __thiscall ifstream::close(void)
-?close@ifstream@@QAEXXZ
-; public: void __thiscall ofstream::close(void)
-?close@ofstream@@QAEXXZ
-; public: void __cdecl ios::clrlock(void)
-?clrlock@ios@@QAAXXZ
-; public: void __thiscall streambuf::clrlock(void)
-?clrlock@streambuf@@QAEXXZ
-; class ostream_withassign  cout
-?cout@@3Vostream_withassign@@A DATA
-; public: void __thiscall streambuf::dbp(void)
-?dbp@streambuf@@QAEXXZ
-; class ios & __cdecl dec(class ios &)
-?dec@@YAAAVios@@AAV1@@Z
-; public: void __thiscall ios::delbuf(int)
-?delbuf@ios@@QAEXH@Z
-; public: int __thiscall ios::delbuf(void)const 
-?delbuf@ios@@QBEHXZ
-; protected: virtual int __thiscall streambuf::doallocate(void)
-?doallocate@streambuf@@MAEHXZ
-; protected: virtual int __thiscall strstreambuf::doallocate(void)
-?doallocate@strstreambuf@@MAEHXZ
-; public: void __thiscall istream::eatwhite(void)
-?eatwhite@istream@@QAEXXZ
-; protected: char * __thiscall streambuf::eback(void)const 
-?eback@streambuf@@IBEPADXZ
-; protected: char * __thiscall streambuf::ebuf(void)const 
-?ebuf@streambuf@@IBEPADXZ
-; protected: char * __thiscall streambuf::egptr(void)const 
-?egptr@streambuf@@IBEPADXZ
-; class ostream & __cdecl endl(class ostream &)
-?endl@@YAAAVostream@@AAV1@@Z
-; class ostream & __cdecl ends(class ostream &)
-?ends@@YAAAVostream@@AAV1@@Z
-; public: int __thiscall ios::eof(void)const 
-?eof@ios@@QBEHXZ
-; protected: char * __thiscall streambuf::epptr(void)const 
-?epptr@streambuf@@IBEPADXZ
-; private: static int  ios::fLockcInit
-?fLockcInit@ios@@0HA DATA
-; public: int __thiscall ios::fail(void)const 
-?fail@ios@@QBEHXZ
-; public: int __thiscall filebuf::fd(void)const 
-?fd@filebuf@@QBEHXZ
-; public: int __thiscall fstream::fd(void)const 
-?fd@fstream@@QBEHXZ
-; public: int __thiscall ifstream::fd(void)const 
-?fd@ifstream@@QBEHXZ
-; public: int __thiscall ofstream::fd(void)const 
-?fd@ofstream@@QBEHXZ
-; public: char __thiscall ios::fill(char)
-?fill@ios@@QAEDD@Z
-; public: char __thiscall ios::fill(void)const 
-?fill@ios@@QBEDXZ
-; public: long __thiscall ios::flags(long)
-?flags@ios@@QAEJJ@Z
-; public: long __thiscall ios::flags(void)const 
-?flags@ios@@QBEJXZ
-; public: static long const  ios::floatfield
-?floatfield@ios@@2JB DATA
-; class ostream & __cdecl flush(class ostream &)
-?flush@@YAAAVostream@@AAV1@@Z
-; public: class ostream & __thiscall ostream::flush(void)
-?flush@ostream@@QAEAAV1@XZ
-; public: void __thiscall strstreambuf::freeze(int)
-?freeze@strstreambuf@@QAEXH@Z
-; protected: void __thiscall streambuf::gbump(int)
-?gbump@streambuf@@IAEXH@Z
-; public: int __thiscall istream::gcount(void)const 
-?gcount@istream@@QBEHXZ
-; public: class istream & __thiscall istream::get(signed char &)
-?get@istream@@QAEAAV1@AAC@Z
-; public: class istream & __thiscall istream::get(char &)
-?get@istream@@QAEAAV1@AAD@Z
-; public: class istream & __thiscall istream::get(unsigned char &)
-?get@istream@@QAEAAV1@AAE@Z
-; public: class istream & __thiscall istream::get(class streambuf &,char)
-?get@istream@@QAEAAV1@AAVstreambuf@@D@Z
-; public: class istream & __thiscall istream::get(signed char *,int,char)
-?get@istream@@QAEAAV1@PACHD@Z
-; public: class istream & __thiscall istream::get(char *,int,char)
-?get@istream@@QAEAAV1@PADHD@Z
-; public: class istream & __thiscall istream::get(unsigned char *,int,char)
-?get@istream@@QAEAAV1@PAEHD@Z
-; public: int __thiscall istream::get(void)
-?get@istream@@QAEHXZ
-; private: int __thiscall istream::getdouble(char *,int)
-?getdouble@istream@@AAEHPADH@Z
-; private: int __thiscall istream::getint(char *)
-?getint@istream@@AAEHPAD@Z
-; public: class istream & __thiscall istream::getline(signed char *,int,char)
-?getline@istream@@QAEAAV1@PACHD@Z
-; public: class istream & __thiscall istream::getline(char *,int,char)
-?getline@istream@@QAEAAV1@PADHD@Z
-; public: class istream & __thiscall istream::getline(unsigned char *,int,char)
-?getline@istream@@QAEAAV1@PAEHD@Z
-; public: int __thiscall ios::good(void)const 
-?good@ios@@QBEHXZ
-; protected: char * __thiscall streambuf::gptr(void)const 
-?gptr@streambuf@@IBEPADXZ
-; class ios & __cdecl hex(class ios &)
-?hex@@YAAAVios@@AAV1@@Z
-; public: class istream & __thiscall istream::ignore(int,int)
-?ignore@istream@@QAEAAV1@HH@Z
-; public: int __thiscall streambuf::in_avail(void)const 
-?in_avail@streambuf@@QBEHXZ
-; protected: void __thiscall ios::init(class streambuf *)
-?init@ios@@IAEXPAVstreambuf@@@Z
-; public: int __thiscall istream::ipfx(int)
-?ipfx@istream@@QAEHH@Z
-; public: int __thiscall filebuf::is_open(void)const 
-?is_open@filebuf@@QBEHXZ
-; public: int __thiscall fstream::is_open(void)const 
-?is_open@fstream@@QBEHXZ
-; public: int __thiscall ifstream::is_open(void)const 
-?is_open@ifstream@@QBEHXZ
-; public: int __thiscall ofstream::is_open(void)const 
-?is_open@ofstream@@QBEHXZ
-; public: void __thiscall istream::isfx(void)
-?isfx@istream@@QAEXXZ
-; public: long & __thiscall ios::iword(int)const 
-?iword@ios@@QBEAAJH@Z
-; public: void __cdecl ios::lock(void)
-?lock@ios@@QAAXXZ
-; public: void __thiscall streambuf::lock(void)
-?lock@streambuf@@QAEXXZ
-; public: void __cdecl ios::lockbuf(void)
-?lockbuf@ios@@QAAXXZ
-; protected: static void __cdecl ios::lockc(void)
-?lockc@ios@@KAXXZ
-; protected: struct _RTL_CRITICAL_SECTION * __thiscall ios::lockptr(void)
-?lockptr@ios@@IAEPAU_RTL_CRITICAL_SECTION@@XZ
-; protected: struct _RTL_CRITICAL_SECTION * __thiscall streambuf::lockptr(void)
-?lockptr@streambuf@@IAEPAU_RTL_CRITICAL_SECTION@@XZ
-; class ios & __cdecl oct(class ios &)
-?oct@@YAAAVios@@AAV1@@Z
-; public: class filebuf * __thiscall filebuf::open(char const *,int,int)
-?open@filebuf@@QAEPAV1@PBDHH@Z
-; public: void __thiscall fstream::open(char const *,int,int)
-?open@fstream@@QAEXPBDHH@Z
-; public: void __thiscall ifstream::open(char const *,int,int)
-?open@ifstream@@QAEXPBDHH@Z
-; public: void __thiscall ofstream::open(char const *,int,int)
-?open@ofstream@@QAEXPBDHH@Z
-; public: static int const  filebuf::openprot
-?openprot@filebuf@@2HB DATA
-; public: int __thiscall ostream::opfx(void)
-?opfx@ostream@@QAEHXZ
-; public: void __thiscall ostream::osfx(void)
-?osfx@ostream@@QAEXXZ
-; public: int __thiscall streambuf::out_waiting(void)const 
-?out_waiting@streambuf@@QBEHXZ
-; public: virtual int __thiscall filebuf::overflow(int)
-?overflow@filebuf@@UAEHH@Z
-; public: virtual int __thiscall stdiobuf::overflow(int)
-?overflow@stdiobuf@@UAEHH@Z
-; public: virtual int __thiscall strstreambuf::overflow(int)
-?overflow@strstreambuf@@UAEHH@Z
-; public: virtual int __thiscall stdiobuf::pbackfail(int)
-?pbackfail@stdiobuf@@UAEHH@Z
-; public: virtual int __thiscall streambuf::pbackfail(int)
-?pbackfail@streambuf@@UAEHH@Z
-; protected: char * __thiscall streambuf::pbase(void)const 
-?pbase@streambuf@@IBEPADXZ
-; protected: void __thiscall streambuf::pbump(int)
-?pbump@streambuf@@IAEXH@Z
-; public: int __thiscall ostrstream::pcount(void)const 
-?pcount@ostrstream@@QBEHXZ
-; public: int __thiscall strstream::pcount(void)const 
-?pcount@strstream@@QBEHXZ
-; public: int __thiscall istream::peek(void)
-?peek@istream@@QAEHXZ
-; protected: char * __thiscall streambuf::pptr(void)const 
-?pptr@streambuf@@IBEPADXZ
-; public: int __thiscall ios::precision(int)
-?precision@ios@@QAEHH@Z
-; public: int __thiscall ios::precision(void)const 
-?precision@ios@@QBEHXZ
-; public: class ostream & __thiscall ostream::put(signed char)
-?put@ostream@@QAEAAV1@C@Z
-; public: class ostream & __thiscall ostream::put(char)
-?put@ostream@@QAEAAV1@D@Z
-; public: class ostream & __thiscall ostream::put(unsigned char)
-?put@ostream@@QAEAAV1@E@Z
-; public: class istream & __thiscall istream::putback(char)
-?putback@istream@@QAEAAV1@D@Z
-; public: void * & __thiscall ios::pword(int)const 
-?pword@ios@@QBEAAPAXH@Z
-; public: class filebuf * __thiscall fstream::rdbuf(void)const 
-?rdbuf@fstream@@QBEPAVfilebuf@@XZ
-; public: class filebuf * __thiscall ifstream::rdbuf(void)const 
-?rdbuf@ifstream@@QBEPAVfilebuf@@XZ
-; public: class streambuf * __thiscall ios::rdbuf(void)const 
-?rdbuf@ios@@QBEPAVstreambuf@@XZ
-; public: class strstreambuf * __thiscall istrstream::rdbuf(void)const 
-?rdbuf@istrstream@@QBEPAVstrstreambuf@@XZ
-; public: class filebuf * __thiscall ofstream::rdbuf(void)const 
-?rdbuf@ofstream@@QBEPAVfilebuf@@XZ
-; public: class strstreambuf * __thiscall ostrstream::rdbuf(void)const 
-?rdbuf@ostrstream@@QBEPAVstrstreambuf@@XZ
-; public: class stdiobuf * __thiscall stdiostream::rdbuf(void)const 
-?rdbuf@stdiostream@@QBEPAVstdiobuf@@XZ
-; public: class strstreambuf * __thiscall strstream::rdbuf(void)const 
-?rdbuf@strstream@@QBEPAVstrstreambuf@@XZ
-; public: int __thiscall ios::rdstate(void)const 
-?rdstate@ios@@QBEHXZ
-; public: class istream & __thiscall istream::read(signed char *,int)
-?read@istream@@QAEAAV1@PACH@Z
-; public: class istream & __thiscall istream::read(char *,int)
-?read@istream@@QAEAAV1@PADH@Z
-; public: class istream & __thiscall istream::read(unsigned char *,int)
-?read@istream@@QAEAAV1@PAEH@Z
-; public: int __thiscall streambuf::sbumpc(void)
-?sbumpc@streambuf@@QAEHXZ
-; public: class istream & __thiscall istream::seekg(long)
-?seekg@istream@@QAEAAV1@J@Z
-; public: class istream & __thiscall istream::seekg(long,enum ios::seek_dir)
-?seekg@istream@@QAEAAV1@JW4seek_dir@ios@@@Z
-; public: virtual long __thiscall filebuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@filebuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: class ostream & __thiscall ostream::seekp(long)
-?seekp@ostream@@QAEAAV1@J@Z
-; public: class ostream & __thiscall ostream::seekp(long,enum ios::seek_dir)
-?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z
-; public: virtual long __thiscall streambuf::seekpos(long,int)
-?seekpos@streambuf@@UAEJJH@Z
-; void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
-?set_terminate@@YAP6AXXZP6AXXZ@Z
-; void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
-?set_unexpected@@YAP6AXXZP6AXXZ@Z
-; protected: void __thiscall streambuf::setb(char *,char *,int)
-?setb@streambuf@@IAEXPAD0H@Z
-; public: virtual class streambuf * __thiscall filebuf::setbuf(char *,int)
-?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z
-; public: class streambuf * __thiscall fstream::setbuf(char *,int)
-?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z
-; public: class streambuf * __thiscall ifstream::setbuf(char *,int)
-?setbuf@ifstream@@QAEPAVstreambuf@@PADH@Z
-; public: class streambuf * __thiscall ofstream::setbuf(char *,int)
-?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z
-; public: virtual class streambuf * __thiscall streambuf::setbuf(char *,int)
-?setbuf@streambuf@@UAEPAV1@PADH@Z
-; public: virtual class streambuf * __thiscall strstreambuf::setbuf(char *,int)
-?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z
-; public: long __thiscall ios::setf(long)
-?setf@ios@@QAEJJ@Z
-; public: long __thiscall ios::setf(long,long)
-?setf@ios@@QAEJJJ@Z
-; protected: void __thiscall streambuf::setg(char *,char *,char *)
-?setg@streambuf@@IAEXPAD00@Z
-; public: void __cdecl ios::setlock(void)
-?setlock@ios@@QAAXXZ
-; public: void __thiscall streambuf::setlock(void)
-?setlock@streambuf@@QAEXXZ
-; public: int __thiscall filebuf::setmode(int)
-?setmode@filebuf@@QAEHH@Z
-; public: int __thiscall fstream::setmode(int)
-?setmode@fstream@@QAEHH@Z
-; public: int __thiscall ifstream::setmode(int)
-?setmode@ifstream@@QAEHH@Z
-; public: int __thiscall ofstream::setmode(int)
-?setmode@ofstream@@QAEHH@Z
-; protected: void __thiscall streambuf::setp(char *,char *)
-?setp@streambuf@@IAEXPAD0@Z
-; public: int __thiscall stdiobuf::setrwbuf(int,int)
-?setrwbuf@stdiobuf@@QAEHHH@Z
-; public: int __thiscall streambuf::sgetc(void)
-?sgetc@streambuf@@QAEHXZ
-; public: int __thiscall streambuf::sgetn(char *,int)
-?sgetn@streambuf@@QAEHPADH@Z
-; public: static int const  filebuf::sh_none
-?sh_none@filebuf@@2HB DATA
-; public: static int const  filebuf::sh_read
-?sh_read@filebuf@@2HB DATA
-; public: static int const  filebuf::sh_write
-?sh_write@filebuf@@2HB DATA
-; public: int __thiscall streambuf::snextc(void)
-?snextc@streambuf@@QAEHXZ
-; public: int __thiscall streambuf::sputbackc(char)
-?sputbackc@streambuf@@QAEHD@Z
-; public: int __thiscall streambuf::sputc(int)
-?sputc@streambuf@@QAEHH@Z
-; public: int __thiscall streambuf::sputn(char const *,int)
-?sputn@streambuf@@QAEHPBDH@Z
-; public: struct _iobuf * __thiscall stdiobuf::stdiofile(void)
-?stdiofile@stdiobuf@@QAEPAU_iobuf@@XZ
-; public: void __thiscall streambuf::stossc(void)
-?stossc@streambuf@@QAEXXZ
-; public: char * __thiscall istrstream::str(void)
-?str@istrstream@@QAEPADXZ
-; public: char * __thiscall ostrstream::str(void)
-?str@ostrstream@@QAEPADXZ
-; public: char * __thiscall strstream::str(void)
-?str@strstream@@QAEPADXZ
-; public: char * __thiscall strstreambuf::str(void)
-?str@strstreambuf@@QAEPADXZ
-; private: static int  ios::sunk_with_stdio
-?sunk_with_stdio@ios@@0HA DATA
-; public: virtual int __thiscall filebuf::sync(void)
-?sync@filebuf@@UAEHXZ
-; public: int __thiscall istream::sync(void)
-?sync@istream@@QAEHXZ
-; public: virtual int __thiscall stdiobuf::sync(void)
-?sync@stdiobuf@@UAEHXZ
-; public: virtual int __thiscall streambuf::sync(void)
-?sync@streambuf@@UAEHXZ
-; public: virtual int __thiscall strstreambuf::sync(void)
-?sync@strstreambuf@@UAEHXZ
-; public: static void __cdecl ios::sync_with_stdio(void)
-?sync_with_stdio@ios@@SAXXZ
-; public: long __thiscall istream::tellg(void)
-?tellg@istream@@QAEJXZ
-; public: long __thiscall ostream::tellp(void)
-?tellp@ostream@@QAEJXZ
-; void __cdecl terminate(void)
-?terminate@@YAXXZ
-; public: static int const  filebuf::text
-?text@filebuf@@2HB DATA
-; public: class ostream * __thiscall ios::tie(class ostream *)
-?tie@ios@@QAEPAVostream@@PAV2@@Z
-; public: class ostream * __thiscall ios::tie(void)const 
-?tie@ios@@QBEPAVostream@@XZ
-; protected: void __thiscall streambuf::unbuffered(int)
-?unbuffered@streambuf@@IAEXH@Z
-; protected: int __thiscall streambuf::unbuffered(void)const 
-?unbuffered@streambuf@@IBEHXZ
-; public: virtual int __thiscall filebuf::underflow(void)
-?underflow@filebuf@@UAEHXZ
-; public: virtual int __thiscall stdiobuf::underflow(void)
-?underflow@stdiobuf@@UAEHXZ
-; public: virtual int __thiscall strstreambuf::underflow(void)
-?underflow@strstreambuf@@UAEHXZ
-; void __cdecl unexpected(void)
-?unexpected@@YAXXZ
-; public: void __cdecl ios::unlock(void)
-?unlock@ios@@QAAXXZ
-; public: void __thiscall streambuf::unlock(void)
-?unlock@streambuf@@QAEXXZ
-; public: void __cdecl ios::unlockbuf(void)
-?unlockbuf@ios@@QAAXXZ
-; protected: static void __cdecl ios::unlockc(void)
-?unlockc@ios@@KAXXZ
-; public: long __thiscall ios::unsetf(long)
-?unsetf@ios@@QAEJJ@Z
-; public: int __thiscall ios::width(int)
-?width@ios@@QAEHH@Z
-; public: int __thiscall ios::width(void)const 
-?width@ios@@QBEHXZ
-; public: class ostream & __thiscall ostream::write(signed char const *,int)
-?write@ostream@@QAEAAV1@PBCH@Z
-; public: class ostream & __thiscall ostream::write(char const *,int)
-?write@ostream@@QAEAAV1@PBDH@Z
-; public: class ostream & __thiscall ostream::write(unsigned char const *,int)
-?write@ostream@@QAEAAV1@PBEH@Z
-; private: class ostream & __thiscall ostream::writepad(char const *,char const *)
-?writepad@ostream@@AAEAAV1@PBD0@Z
-; class istream & __cdecl ws(class istream &)
-?ws@@YAAAVistream@@AAV1@@Z
-; private: static int  ios::x_curindex
-?x_curindex@ios@@0HA DATA
-; private: static struct _RTL_CRITICAL_SECTION  ios::x_lockc
-?x_lockc@ios@@0U_RTL_CRITICAL_SECTION@@A DATA
-; private: static long  ios::x_maxbit
-?x_maxbit@ios@@0JA DATA
-; private: static long *  ios::x_statebuf
-?x_statebuf@ios@@0QAJA DATA
-; public: static int __cdecl ios::xalloc(void)
-?xalloc@ios@@SAHXZ
-; public: virtual int __thiscall streambuf::xsgetn(char *,int)
-?xsgetn@streambuf@@UAEHPADH@Z
-; public: virtual int __thiscall streambuf::xsputn(char const *,int)
-?xsputn@streambuf@@UAEHPBDH@Z
-$I10_OUTPUT
-_CIacos
-_CIasin
-_CIatan
-_CIatan2
-_CIcos
-_CIcosh
-_CIexp
-_CIfmod
-_CIlog
-_CIlog10
-_CIpow
-_CIsin
-_CIsinh
-_CIsqrt
-_CItan
-_CItanh
-_CxxThrowException
-_HUGE DATA
-_XcptFilter
-__CxxFrameHandler
-__CxxLongjmpUnwind
-__STRINGTOLD
-__argc DATA
-__argv DATA
-__dllonexit
-__doserrno
-__fpecode
-__getmainargs
-__initenv DATA
-__isascii
-__iscsym
-__iscsymf
-__lconv_init
-__mb_cur_max DATA
-__p___argc
-__p___argv
-__p___initenv
-__p___mb_cur_max
-__p___wargv
-__p___winitenv
-__p__acmdln
-__p__amblksiz
-__p__commode
-__p__daylight
-__p__environ
-__p__fmode
-__p__iob
-__p__mbctype
-__p__osver
-__p__pctype
-__p__pgmptr
-__p__pwctype
-__p__timezone
-__p__tzname
-__p__wcmdln
-__p__wenviron
-__p__winmajor
-__p__winminor
-__p__winver
-__p__wpgmptr
-__pxcptinfoptrs
-__threadhandle
-__threadid
-__toascii
-__wargv DATA
-__wgetmainargs
-__winitenv DATA
-_abnormal_termination
-_access
-_acmdln DATA
-_adj_fdiv_m16i
-_adj_fdiv_m32
-_adj_fdiv_m32i
-_adj_fdiv_m64
-_adj_fdiv_r
-_adj_fdivr_m16i
-_adj_fdivr_m32
-_adj_fdivr_m32i
-_adj_fdivr_m64
-_adj_fpatan
-_adj_fprem
-_adj_fprem1
-_adj_fptan
-_adjust_fdiv DATA
-_aexit_rtn DATA
-_amsg_exit
-_assert
-_atodbl
-_atoldbl
-_beep
-_beginthread
-_beginthreadex
-_c_exit
-_cabs
-_cexit
-_cgets
-_chdir
-_chdrive
-_chgsign
-_chmod
-_chsize
-_clearfp
-_close
-_commit
-_commode DATA
-_control87
-_controlfp
-_copysign
-_cprintf
-_cputs
-_creat
-_cscanf
-_ctype DATA
-_cwait
-_daylight DATA
-_dup
-_dup2
-_ecvt
-_endthread
-_endthreadex
-_environ DATA
-_eof
-_errno
-_except_handler2
-_except_handler3
-_execl
-_execle
-_execlp
-_execlpe
-_execv
-_execve
-_execvp
-_execvpe
-_exit
-_expand
-_fcloseall
-_fcvt
-_fdopen
-_fgetchar
-_fgetwchar
-_filbuf
-_fileinfo DATA
-_filelength
-_fileno
-_findclose
-_findfirst
-_findnext
-_finite
-_flsbuf
-_flushall
-_fmode DATA
-_fpclass
-_fpieee_flt
-_fpreset
-_fputchar
-_fputwchar
-_fsopen
-_fstat
-_ftime
-_ftol
-_fullpath
-_futime
-_gcvt
-_get_osfhandle
-_getch
-_getche
-_getcwd
-_getdcwd
-_getdiskfree
-_getdllprocaddr
-_getdrive
-_getdrives
-_getmbcp
-_getpid
-_getsystime
-_getw
-_getws
-_global_unwind2
-_heapadd
-_heapchk
-_heapmin
-_heapset
-_heapused
-_heapwalk
-_hypot
-_initterm
-_iob DATA
-_isatty
-_isctype
-_ismbbalnum
-_ismbbalpha
-_ismbbgraph
-_ismbbkalnum
-_ismbbkana
-_ismbbkprint
-_ismbbkpunct
-_ismbblead
-_ismbbprint
-_ismbbpunct
-_ismbbtrail
-_ismbcalnum
-_ismbcalpha
-_ismbcdigit
-_ismbcgraph
-_ismbchira
-_ismbckata
-_ismbcl0
-_ismbcl1
-_ismbcl2
-_ismbclegal
-_ismbclower
-_ismbcprint
-_ismbcpunct
-_ismbcspace
-_ismbcsymbol
-_ismbcupper
-_ismbslead
-_ismbstrail
-_isnan
-_itoa
-_itow
-_j0
-_j1
-_jn
-_kbhit
-_lfind
-_loaddll
-_local_unwind2
-_locking
-_logb
-_longjmpex
-_lrotl
-_lrotr
-_lsearch
-_lseek
-_ltoa
-_ltow
-_makepath
-_matherr
-_mbbtombc
-_mbbtype
-_mbccpy
-_mbcjistojms
-_mbcjmstojis
-_mbclen
-_mbctohira
-_mbctokata
-_mbctolower
-_mbctombb
-_mbctoupper
-_mbctype DATA
-_mbsbtype
-_mbscat
-_mbschr
-_mbscmp
-_mbscoll
-_mbscpy
-_mbscspn
-_mbsdec
-_mbsdup
-_mbsicmp
-_mbsicoll
-_mbsinc
-_mbslen
-_mbslwr
-_mbsnbcat
-_mbsnbcmp
-_mbsnbcnt
-_mbsnbcoll
-_mbsnbcpy
-_mbsnbicmp
-_mbsnbicoll
-_mbsnbset
-_mbsncat
-_mbsnccnt
-_mbsncmp
-_mbsncoll
-_mbsncpy
-_mbsnextc
-_mbsnicmp
-_mbsnicoll
-_mbsninc
-_mbsnset
-_mbspbrk
-_mbsrchr
-_mbsrev
-_mbsset
-_mbsspn
-_mbsspnp
-_mbsstr
-_mbstok
-_mbstrlen
-_mbsupr
-_memccpy
-_memicmp
-_mkdir
-_mktemp
-_msize
-_mtlock
-_mtunlock
-_nextafter
-_onexit
-_open
-_open_osfhandle
-_osver DATA
-_pclose
-_pctype DATA
-_pgmptr DATA
-_pipe
-_popen
-_purecall
-_putch
-_putenv
-_putw
-_putws
-_pwctype DATA
-_read
-_rmdir
-_rmtmp
-_rotl
-_rotr
-_safe_fdiv
-_safe_fdivr
-_safe_fprem
-_safe_fprem1
-_scalb
-_searchenv
-__seh_longjmp_unwind@4
-_seterrormode
-_setjmp
-_setjmp3
-_setmbcp
-_setmode
-_setsystime
-_sleep
-_snprintf
-_snwprintf
-_sopen
-_spawnl
-_spawnle
-_spawnlp
-_spawnlpe
-_spawnv
-_spawnve
-_spawnvp
-_spawnvpe
-_splitpath
-_stat
-_statusfp
-_strcmpi
-_strdate
-_strdup
-_strerror
-_stricmp
-_stricoll
-_strlwr
-_strncoll
-_strnicmp
-_strnicoll
-_strnset
-_strrev
-_strset
-_strtime
-_strupr
-_swab
-_sys_errlist DATA
-_sys_nerr DATA
-_tccpy
-_tclen
-_tcschr
-_tcsclen
-_tcscmp
-_tcscspn
-_tcsdec
-_tcsicmp
-_tcsinc
-_tcslwr
-_tcsnbcnt
-_tcsncat
-_tcsnccat
-_tcsnccmp
-_tcsnccnt
-_tcsnccpy
-_tcsncicmp
-_tcsncmp
-_tcsncpy
-_tcsncset
-_tcsnextc
-_tcsnicmp
-_tcsninc
-_tcsnset
-_tcspbrk
-_tcsrchr
-_tcsrev
-_tcsset
-_tcsspn
-_tcsspnp
-_tcsstr
-_tcstok
-_tcsupr
-_tell
-_tempnam
-_timezone DATA
-_tolower
-_toupper
-_tzname DATA
-_tzset
-_ultoa
-_ultow
-_umask
-_ungetch
-_unlink
-_unloaddll
-_utime
-_vsnprintf
-_vsnwprintf
-_waccess
-_wasctime
-_wchdir
-_wchmod
-_wcmdln DATA
-_wcreat
-_wcsdup
-_wcsicmp
-_wcsicoll
-_wcslwr
-_wcsncoll
-_wcsnicmp
-_wcsnicoll
-_wcsnset
-_wcsrev
-_wcsset
-_wcsupr
-_wctime DATA
-;_wctime32 = _wctime
-_wenviron DATA
-_wexecl
-_wexecle
-_wexeclp
-_wexeclpe
-_wexecv
-_wexecve
-_wexecvp
-_wexecvpe
-_wfdopen
-_wfindfirst
-_wfindnext
-_wfopen
-_wfreopen
-_wfsopen
-_wfullpath
-_wgetcwd
-_wgetdcwd
-_wgetenv
-_winmajor DATA
-_winminor DATA
-_winver DATA
-_wmakepath
-_wmkdir
-_wmktemp
-_wopen
-_wperror
-_wpgmptr DATA
-_wpopen
-_wputenv
-_wremove
-_wrename
-_write
-_wrmdir
-_wsearchenv
-_wsetlocale
-_wsopen
-_wspawnl
-_wspawnle
-_wspawnlp
-_wspawnlpe
-_wspawnv
-_wspawnve
-_wspawnvp
-_wspawnvpe
-_wsplitpath
-_wstat
-_wstrdate
-_wstrtime
-_wsystem
-_wtempnam
-_wtmpnam
-_wtoi
-_wtol
-_wunlink
-_wutime
-_y0
-_y1
-_yn
-abort
-abs
-acos
-asctime
-asin
-atan
-atan2
-atexit DATA
-atof
-atoi
-atol
-bsearch
-calloc
-ceil
-clearerr
-clock
-cos
-cosh
-ctime DATA
-;_ctime32 = ctime
-difftime
-div
-exit
-exp
-fabs
-fclose
-feof
-ferror
-fflush
-fgetc
-fgetpos
-fgets
-fgetwc
-fgetws
-floor
-fmod
-fopen
-fprintf
-fputc
-fputs
-fputwc
-fputws
-fread
-free
-freopen
-frexp
-fscanf
-fseek
-fsetpos
-ftell
-fwprintf
-fwrite
-fwscanf
-getc
-getchar
-getenv
-gets
-getwc
-getwchar
-gmtime DATA
-;_gmtime32 = gmtime
-is_wctype
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-isleadbyte
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalnum
-iswalpha
-iswascii
-iswcntrl
-iswctype
-iswdigit
-iswgraph
-iswlower
-iswprint
-iswpunct
-iswspace
-iswupper
-iswxdigit
-isxdigit
-labs
-ldexp
-ldiv
-localeconv
-localtime DATA
-;_localtime32 = localtime
-log
-log10
-malloc
-mblen
-mbstowcs
-mbtowc
-memchr
-memcmp
-memcpy
-memmove
-memset
-mktime DATA
-;_mktime32 = mktime
-modf
-perror
-pow
-printf
-putc
-putchar
-puts
-putwc
-putwchar
-qsort
-raise
-rand
-realloc
-remove
-rename
-rewind
-scanf
-setbuf
-setlocale
-setvbuf
-signal
-sin
-sinh
-sprintf
-sqrt
-srand
-sscanf
-strcat
-strchr
-strcmp
-strcoll
-strcpy
-strcspn
-strerror
-strftime
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtod
-strtok
-strtol
-strtoul
-strxfrm
-swprintf
-swscanf
-system
-tan
-tanh
-time DATA
-;_time32 = time
-tmpfile
-tmpnam
-tolower
-toupper
-towlower
-towupper
-ungetc
-ungetwc
-vfprintf
-vfwprintf
-vprintf
-vsprintf
-vswprintf
-vwprintf
-wcscat
-wcschr
-wcscmp
-wcscoll
-wcscpy
-wcscspn
-wcsftime
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstod
-wcstok
-wcstol
-wcstombs
-wcstoul
-wcsxfrm
-wctomb
-wprintf
-wscanf
+; 
+; Exports of file MSVCRT20.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSVCRT20.dll
+EXPORTS
+; public: __thiscall Iostream_init::Iostream_init(class ios &,int)
+??0Iostream_init@@QAE@AAVios@@H@Z
+; public: __thiscall Iostream_init::Iostream_init(void)
+??0Iostream_init@@QAE@XZ
+; public: __thiscall filebuf::filebuf(class filebuf const &)
+??0filebuf@@QAE@ABV0@@Z
+; public: __thiscall filebuf::filebuf(int)
+??0filebuf@@QAE@H@Z
+; public: __thiscall filebuf::filebuf(int,char *,int)
+??0filebuf@@QAE@HPADH@Z
+; public: __thiscall filebuf::filebuf(void)
+??0filebuf@@QAE@XZ
+; public: __thiscall fstream::fstream(class fstream const &)
+??0fstream@@QAE@ABV0@@Z
+; public: __thiscall fstream::fstream(int)
+??0fstream@@QAE@H@Z
+; public: __thiscall fstream::fstream(int,char *,int)
+??0fstream@@QAE@HPADH@Z
+; public: __thiscall fstream::fstream(char const *,int,int)
+??0fstream@@QAE@PBDHH@Z
+; public: __thiscall fstream::fstream(void)
+??0fstream@@QAE@XZ
+; public: __thiscall ifstream::ifstream(class ifstream const &)
+??0ifstream@@QAE@ABV0@@Z
+; public: __thiscall ifstream::ifstream(int)
+??0ifstream@@QAE@H@Z
+; public: __thiscall ifstream::ifstream(int,char *,int)
+??0ifstream@@QAE@HPADH@Z
+; public: __thiscall ifstream::ifstream(char const *,int,int)
+??0ifstream@@QAE@PBDHH@Z
+; public: __thiscall ifstream::ifstream(void)
+??0ifstream@@QAE@XZ
+; protected: __thiscall ios::ios(class ios const &)
+??0ios@@IAE@ABV0@@Z
+; protected: __thiscall ios::ios(void)
+??0ios@@IAE@XZ
+; public: __thiscall ios::ios(class streambuf *)
+??0ios@@QAE@PAVstreambuf@@@Z
+; protected: __thiscall iostream::iostream(class iostream const &)
+??0iostream@@IAE@ABV0@@Z
+; protected: __thiscall iostream::iostream(void)
+??0iostream@@IAE@XZ
+; public: __thiscall iostream::iostream(class streambuf *)
+??0iostream@@QAE@PAVstreambuf@@@Z
+; protected: __thiscall istream::istream(class istream const &)
+??0istream@@IAE@ABV0@@Z
+; protected: __thiscall istream::istream(void)
+??0istream@@IAE@XZ
+; public: __thiscall istream::istream(class streambuf *)
+??0istream@@QAE@PAVstreambuf@@@Z
+; public: __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
+??0istream_withassign@@QAE@ABV0@@Z
+; public: __thiscall istream_withassign::istream_withassign(class streambuf *)
+??0istream_withassign@@QAE@PAVstreambuf@@@Z
+; public: __thiscall istream_withassign::istream_withassign(void)
+??0istream_withassign@@QAE@XZ
+; public: __thiscall istrstream::istrstream(class istrstream const &)
+??0istrstream@@QAE@ABV0@@Z
+; public: __thiscall istrstream::istrstream(char *)
+??0istrstream@@QAE@PAD@Z
+; public: __thiscall istrstream::istrstream(char *,int)
+??0istrstream@@QAE@PADH@Z
+; public: __thiscall ofstream::ofstream(class ofstream const &)
+??0ofstream@@QAE@ABV0@@Z
+; public: __thiscall ofstream::ofstream(int)
+??0ofstream@@QAE@H@Z
+; public: __thiscall ofstream::ofstream(int,char *,int)
+??0ofstream@@QAE@HPADH@Z
+; public: __thiscall ofstream::ofstream(char const *,int,int)
+??0ofstream@@QAE@PBDHH@Z
+; public: __thiscall ofstream::ofstream(void)
+??0ofstream@@QAE@XZ
+; protected: __thiscall ostream::ostream(class ostream const &)
+??0ostream@@IAE@ABV0@@Z
+; protected: __thiscall ostream::ostream(void)
+??0ostream@@IAE@XZ
+; public: __thiscall ostream::ostream(class streambuf *)
+??0ostream@@QAE@PAVstreambuf@@@Z
+; public: __thiscall ostream_withassign::ostream_withassign(class ostream_withassign const &)
+??0ostream_withassign@@QAE@ABV0@@Z
+; public: __thiscall ostream_withassign::ostream_withassign(class streambuf *)
+??0ostream_withassign@@QAE@PAVstreambuf@@@Z
+; public: __thiscall ostream_withassign::ostream_withassign(void)
+??0ostream_withassign@@QAE@XZ
+; public: __thiscall ostrstream::ostrstream(class ostrstream const &)
+??0ostrstream@@QAE@ABV0@@Z
+; public: __thiscall ostrstream::ostrstream(char *,int,int)
+??0ostrstream@@QAE@PADHH@Z
+; public: __thiscall ostrstream::ostrstream(void)
+??0ostrstream@@QAE@XZ
+; public: __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
+??0stdiobuf@@QAE@ABV0@@Z
+; public: __thiscall stdiobuf::stdiobuf(struct _iobuf *)
+??0stdiobuf@@QAE@PAU_iobuf@@@Z
+; public: __thiscall stdiostream::stdiostream(class stdiostream const &)
+??0stdiostream@@QAE@ABV0@@Z
+; public: __thiscall stdiostream::stdiostream(struct _iobuf *)
+??0stdiostream@@QAE@PAU_iobuf@@@Z
+; protected: __thiscall streambuf::streambuf(char *,int)
+??0streambuf@@IAE@PADH@Z
+; protected: __thiscall streambuf::streambuf(void)
+??0streambuf@@IAE@XZ
+; public: __thiscall streambuf::streambuf(class streambuf const &)
+??0streambuf@@QAE@ABV0@@Z
+; public: __thiscall strstream::strstream(class strstream const &)
+??0strstream@@QAE@ABV0@@Z
+; public: __thiscall strstream::strstream(char *,int,int)
+??0strstream@@QAE@PADHH@Z
+; public: __thiscall strstream::strstream(void)
+??0strstream@@QAE@XZ
+; public: __thiscall strstreambuf::strstreambuf(class strstreambuf const &)
+??0strstreambuf@@QAE@ABV0@@Z
+; public: __thiscall strstreambuf::strstreambuf(int)
+??0strstreambuf@@QAE@H@Z
+; public: __thiscall strstreambuf::strstreambuf(void * (__cdecl*)(long),void (__cdecl*)(void *))
+??0strstreambuf@@QAE@P6APAXJ@ZP6AXPAX@Z@Z
+; public: __thiscall strstreambuf::strstreambuf(char *,int,char *)
+??0strstreambuf@@QAE@PADH0@Z
+; public: __thiscall strstreambuf::strstreambuf(void)
+??0strstreambuf@@QAE@XZ
+; public: __thiscall Iostream_init::~Iostream_init(void)
+??1Iostream_init@@QAE@XZ
+; public: virtual __thiscall filebuf::~filebuf(void)
+??1filebuf@@UAE@XZ
+; public: virtual __thiscall fstream::~fstream(void)
+??1fstream@@UAE@XZ
+; public: virtual __thiscall ifstream::~ifstream(void)
+??1ifstream@@UAE@XZ
+; public: virtual __thiscall ios::~ios(void)
+??1ios@@UAE@XZ
+; public: virtual __thiscall iostream::~iostream(void)
+??1iostream@@UAE@XZ
+; public: virtual __thiscall istream::~istream(void)
+??1istream@@UAE@XZ
+; public: virtual __thiscall istream_withassign::~istream_withassign(void)
+??1istream_withassign@@UAE@XZ
+; public: virtual __thiscall istrstream::~istrstream(void)
+??1istrstream@@UAE@XZ
+; public: virtual __thiscall ofstream::~ofstream(void)
+??1ofstream@@UAE@XZ
+; public: virtual __thiscall ostream::~ostream(void)
+??1ostream@@UAE@XZ
+; public: virtual __thiscall ostream_withassign::~ostream_withassign(void)
+??1ostream_withassign@@UAE@XZ
+; public: virtual __thiscall ostrstream::~ostrstream(void)
+??1ostrstream@@UAE@XZ
+; public: virtual __thiscall stdiobuf::~stdiobuf(void)
+??1stdiobuf@@UAE@XZ
+; public: virtual __thiscall stdiostream::~stdiostream(void)
+??1stdiostream@@UAE@XZ
+; public: virtual __thiscall streambuf::~streambuf(void)
+??1streambuf@@UAE@XZ
+; public: virtual __thiscall strstream::~strstream(void)
+??1strstream@@UAE@XZ
+; public: virtual __thiscall strstreambuf::~strstreambuf(void)
+??1strstreambuf@@UAE@XZ
+; void * __cdecl operator new(unsigned int)
+??2@YAPAXI@Z
+; void __cdecl operator delete(void *)
+??3@YAXPAX@Z
+; public: class Iostream_init & __thiscall Iostream_init::operator=(class Iostream_init const &)
+??4Iostream_init@@QAEAAV0@ABV0@@Z
+; public: class filebuf & __thiscall filebuf::operator=(class filebuf const &)
+??4filebuf@@QAEAAV0@ABV0@@Z
+; public: class fstream & __thiscall fstream::operator=(class fstream &)
+??4fstream@@QAEAAV0@AAV0@@Z
+; public: class ifstream & __thiscall ifstream::operator=(class ifstream const &)
+??4ifstream@@QAEAAV0@ABV0@@Z
+; protected: class ios & __thiscall ios::operator=(class ios const &)
+??4ios@@IAEAAV0@ABV0@@Z
+; protected: class iostream & __thiscall iostream::operator=(class iostream &)
+??4iostream@@IAEAAV0@AAV0@@Z
+; protected: class iostream & __thiscall iostream::operator=(class streambuf *)
+??4iostream@@IAEAAV0@PAVstreambuf@@@Z
+; protected: class istream & __thiscall istream::operator=(class istream const &)
+??4istream@@IAEAAV0@ABV0@@Z
+; protected: class istream & __thiscall istream::operator=(class streambuf *)
+??4istream@@IAEAAV0@PAVstreambuf@@@Z
+; public: class istream_withassign & __thiscall istream_withassign::operator=(class istream_withassign const &)
+??4istream_withassign@@QAEAAV0@ABV0@@Z
+; public: class istream & __thiscall istream_withassign::operator=(class istream const &)
+??4istream_withassign@@QAEAAVistream@@ABV1@@Z
+; public: class istream & __thiscall istream_withassign::operator=(class streambuf *)
+??4istream_withassign@@QAEAAVistream@@PAVstreambuf@@@Z
+; public: class istrstream & __thiscall istrstream::operator=(class istrstream const &)
+??4istrstream@@QAEAAV0@ABV0@@Z
+; public: class ofstream & __thiscall ofstream::operator=(class ofstream const &)
+??4ofstream@@QAEAAV0@ABV0@@Z
+; protected: class ostream & __thiscall ostream::operator=(class ostream const &)
+??4ostream@@IAEAAV0@ABV0@@Z
+; protected: class ostream & __thiscall ostream::operator=(class streambuf *)
+??4ostream@@IAEAAV0@PAVstreambuf@@@Z
+; public: class ostream_withassign & __thiscall ostream_withassign::operator=(class ostream_withassign const &)
+??4ostream_withassign@@QAEAAV0@ABV0@@Z
+; public: class ostream & __thiscall ostream_withassign::operator=(class ostream const &)
+??4ostream_withassign@@QAEAAVostream@@ABV1@@Z
+; public: class ostream & __thiscall ostream_withassign::operator=(class streambuf *)
+??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z
+; public: class ostrstream & __thiscall ostrstream::operator=(class ostrstream const &)
+??4ostrstream@@QAEAAV0@ABV0@@Z
+; public: class stdiobuf & __thiscall stdiobuf::operator=(class stdiobuf const &)
+??4stdiobuf@@QAEAAV0@ABV0@@Z
+; public: class stdiostream & __thiscall stdiostream::operator=(class stdiostream &)
+??4stdiostream@@QAEAAV0@AAV0@@Z
+; public: class streambuf & __thiscall streambuf::operator=(class streambuf const &)
+??4streambuf@@QAEAAV0@ABV0@@Z
+; public: class strstream & __thiscall strstream::operator=(class strstream &)
+??4strstream@@QAEAAV0@AAV0@@Z
+; public: class strstreambuf & __thiscall strstreambuf::operator=(class strstreambuf const &)
+??4strstreambuf@@QAEAAV0@ABV0@@Z
+; public: class istream & __thiscall istream::operator>>(signed char &)
+??5istream@@QAEAAV0@AAC@Z
+; public: class istream & __thiscall istream::operator>>(char &)
+??5istream@@QAEAAV0@AAD@Z
+; public: class istream & __thiscall istream::operator>>(unsigned char &)
+??5istream@@QAEAAV0@AAE@Z
+; public: class istream & __thiscall istream::operator>>(short &)
+??5istream@@QAEAAV0@AAF@Z
+; public: class istream & __thiscall istream::operator>>(unsigned short &)
+??5istream@@QAEAAV0@AAG@Z
+; public: class istream & __thiscall istream::operator>>(int &)
+??5istream@@QAEAAV0@AAH@Z
+; public: class istream & __thiscall istream::operator>>(unsigned int &)
+??5istream@@QAEAAV0@AAI@Z
+; public: class istream & __thiscall istream::operator>>(long &)
+??5istream@@QAEAAV0@AAJ@Z
+; public: class istream & __thiscall istream::operator>>(unsigned long &)
+??5istream@@QAEAAV0@AAK@Z
+; public: class istream & __thiscall istream::operator>>(float &)
+??5istream@@QAEAAV0@AAM@Z
+; public: class istream & __thiscall istream::operator>>(double &)
+??5istream@@QAEAAV0@AAN@Z
+; public: class istream & __thiscall istream::operator>>(long double &)
+??5istream@@QAEAAV0@AAO@Z
+; public: class istream & __thiscall istream::operator>>(class istream & (__cdecl*)(class istream &))
+??5istream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
+; public: class istream & __thiscall istream::operator>>(class ios & (__cdecl*)(class ios &))
+??5istream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
+; public: class istream & __thiscall istream::operator>>(signed char *)
+??5istream@@QAEAAV0@PAC@Z
+; public: class istream & __thiscall istream::operator>>(char *)
+??5istream@@QAEAAV0@PAD@Z
+; public: class istream & __thiscall istream::operator>>(unsigned char *)
+??5istream@@QAEAAV0@PAE@Z
+; public: class istream & __thiscall istream::operator>>(class streambuf *)
+??5istream@@QAEAAV0@PAVstreambuf@@@Z
+; public: class ostream & __thiscall ostream::operator<<(signed char)
+??6ostream@@QAEAAV0@C@Z
+; public: class ostream & __thiscall ostream::operator<<(char)
+??6ostream@@QAEAAV0@D@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned char)
+??6ostream@@QAEAAV0@E@Z
+; public: class ostream & __thiscall ostream::operator<<(short)
+??6ostream@@QAEAAV0@F@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned short)
+??6ostream@@QAEAAV0@G@Z
+; public: class ostream & __thiscall ostream::operator<<(int)
+??6ostream@@QAEAAV0@H@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned int)
+??6ostream@@QAEAAV0@I@Z
+; public: class ostream & __thiscall ostream::operator<<(long)
+??6ostream@@QAEAAV0@J@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned long)
+??6ostream@@QAEAAV0@K@Z
+; public: class ostream & __thiscall ostream::operator<<(float)
+??6ostream@@QAEAAV0@M@Z
+; public: class ostream & __thiscall ostream::operator<<(double)
+??6ostream@@QAEAAV0@N@Z
+; public: class ostream & __thiscall ostream::operator<<(long double)
+??6ostream@@QAEAAV0@O@Z
+; public: class ostream & __thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream &))
+??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
+; public: class ostream & __thiscall ostream::operator<<(class ios & (__cdecl*)(class ios &))
+??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
+; public: class ostream & __thiscall ostream::operator<<(class streambuf *)
+??6ostream@@QAEAAV0@PAVstreambuf@@@Z
+; public: class ostream & __thiscall ostream::operator<<(signed char const *)
+??6ostream@@QAEAAV0@PBC@Z
+; public: class ostream & __thiscall ostream::operator<<(char const *)
+??6ostream@@QAEAAV0@PBD@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned char const *)
+??6ostream@@QAEAAV0@PBE@Z
+; public: class ostream & __thiscall ostream::operator<<(void const *)
+??6ostream@@QAEAAV0@PBX@Z
+; public: int __thiscall ios::operator!(void)const 
+??7ios@@QBEHXZ
+; public: __thiscall ios::operator void *(void)const 
+??Bios@@QBEPAXXZ
+; const  filebuf::`vftable'
+??_7filebuf@@6B@ DATA
+; const  fstream::`vftable'
+??_7fstream@@6B@ DATA
+; const  ifstream::`vftable'
+??_7ifstream@@6B@ DATA
+; const  ios::`vftable'
+??_7ios@@6B@ DATA
+; const  iostream::`vftable'
+??_7iostream@@6B@ DATA
+; const  istream::`vftable'
+??_7istream@@6B@ DATA
+; const  istream_withassign::`vftable'
+??_7istream_withassign@@6B@ DATA
+; const  istrstream::`vftable'
+??_7istrstream@@6B@ DATA
+; const  ofstream::`vftable'
+??_7ofstream@@6B@ DATA
+; const  ostream::`vftable'
+??_7ostream@@6B@ DATA
+; const  ostream_withassign::`vftable'
+??_7ostream_withassign@@6B@ DATA
+; const  ostrstream::`vftable'
+??_7ostrstream@@6B@ DATA
+; const  stdiobuf::`vftable'
+??_7stdiobuf@@6B@ DATA
+; const  stdiostream::`vftable'
+??_7stdiostream@@6B@ DATA
+; const  streambuf::`vftable'
+??_7streambuf@@6B@ DATA
+; const  strstream::`vftable'
+??_7strstream@@6B@ DATA
+; const  strstreambuf::`vftable'
+??_7strstreambuf@@6B@ DATA
+; const  fstream::`vbtable'{for `istream'}
+??_8fstream@@7Bistream@@@ DATA
+; const  fstream::`vbtable'{for `ostream'}
+??_8fstream@@7Bostream@@@ DATA
+; const  ifstream::`vbtable'
+??_8ifstream@@7B@ DATA
+; const  iostream::`vbtable'{for `istream'}
+??_8iostream@@7Bistream@@@ DATA
+; const  iostream::`vbtable'{for `ostream'}
+??_8iostream@@7Bostream@@@ DATA
+; const  istream::`vbtable'
+??_8istream@@7B@ DATA
+; const  istream_withassign::`vbtable'
+??_8istream_withassign@@7B@ DATA
+; const  istrstream::`vbtable'
+??_8istrstream@@7B@ DATA
+; const  ofstream::`vbtable'
+??_8ofstream@@7B@ DATA
+; const  ostream::`vbtable'
+??_8ostream@@7B@ DATA
+; const  ostream_withassign::`vbtable'
+??_8ostream_withassign@@7B@ DATA
+; const  ostrstream::`vbtable'
+??_8ostrstream@@7B@ DATA
+; const  stdiostream::`vbtable'{for `istream'}
+??_8stdiostream@@7Bistream@@@ DATA
+; const  stdiostream::`vbtable'{for `ostream'}
+??_8stdiostream@@7Bostream@@@ DATA
+; const  strstream::`vbtable'{for `istream'}
+??_8strstream@@7Bistream@@@ DATA
+; const  strstream::`vbtable'{for `ostream'}
+??_8strstream@@7Bostream@@@ DATA
+; public: void __thiscall fstream::`vbase destructor'(void)
+??_Dfstream@@QAEXXZ
+; public: void __thiscall ifstream::`vbase destructor'(void)
+??_Difstream@@QAEXXZ
+; public: void __thiscall iostream::`vbase destructor'(void)
+??_Diostream@@QAEXXZ
+; public: void __thiscall istream::`vbase destructor'(void)
+??_Distream@@QAEXXZ
+; public: void __thiscall istream_withassign::`vbase destructor'(void)
+??_Distream_withassign@@QAEXXZ
+; public: void __thiscall istrstream::`vbase destructor'(void)
+??_Distrstream@@QAEXXZ
+; public: void __thiscall ofstream::`vbase destructor'(void)
+??_Dofstream@@QAEXXZ
+; public: void __thiscall ostream::`vbase destructor'(void)
+??_Dostream@@QAEXXZ
+; public: void __thiscall ostream_withassign::`vbase destructor'(void)
+??_Dostream_withassign@@QAEXXZ
+; public: void __thiscall ostrstream::`vbase destructor'(void)
+??_Dostrstream@@QAEXXZ
+; public: void __thiscall stdiostream::`vbase destructor'(void)
+??_Dstdiostream@@QAEXXZ
+; public: void __thiscall strstream::`vbase destructor'(void)
+??_Dstrstream@@QAEXXZ
+; public: void * __thiscall Iostream_init::`vector deleting destructor'(unsigned int)
+??_EIostream_init@@QAEPAXI@Z
+; public: virtual void * __thiscall filebuf::`vector deleting destructor'(unsigned int)
+??_Efilebuf@@UAEPAXI@Z
+; public: virtual void * __thiscall fstream::`vector deleting destructor'(unsigned int)
+??_Efstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
+??_Eifstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ios::`vector deleting destructor'(unsigned int)
+??_Eios@@UAEPAXI@Z
+; public: virtual void * __thiscall iostream::`vector deleting destructor'(unsigned int)
+??_Eiostream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
+??_Eistream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
+??_Eistream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
+??_Eistrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
+??_Eofstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
+??_Eostream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
+??_Eostream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int)
+??_Eostrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiobuf::`vector deleting destructor'(unsigned int)
+??_Estdiobuf@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiostream::`vector deleting destructor'(unsigned int)
+??_Estdiostream@@UAEPAXI@Z
+; public: virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int)
+??_Estreambuf@@UAEPAXI@Z
+; public: virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
+??_Estrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int)
+??_Estrstreambuf@@UAEPAXI@Z
+; public: void * __thiscall Iostream_init::`scalar deleting destructor'(unsigned int)
+??_GIostream_init@@QAEPAXI@Z
+; public: virtual void * __thiscall filebuf::`scalar deleting destructor'(unsigned int)
+??_Gfilebuf@@UAEPAXI@Z
+; public: virtual void * __thiscall fstream::`scalar deleting destructor'(unsigned int)
+??_Gfstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
+??_Gifstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ios::`scalar deleting destructor'(unsigned int)
+??_Gios@@UAEPAXI@Z
+; public: virtual void * __thiscall iostream::`scalar deleting destructor'(unsigned int)
+??_Giostream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
+??_Gistream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
+??_Gistream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
+??_Gistrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
+??_Gofstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
+??_Gostream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
+??_Gostream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int)
+??_Gostrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiobuf::`scalar deleting destructor'(unsigned int)
+??_Gstdiobuf@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiostream::`scalar deleting destructor'(unsigned int)
+??_Gstdiostream@@UAEPAXI@Z
+; public: virtual void * __thiscall streambuf::`scalar deleting destructor'(unsigned int)
+??_Gstreambuf@@UAEPAXI@Z
+; public: virtual void * __thiscall strstream::`scalar deleting destructor'(unsigned int)
+??_Gstrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall strstreambuf::`scalar deleting destructor'(unsigned int)
+??_Gstrstreambuf@@UAEPAXI@Z
+; int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
+?_query_new_handler@@YAP6AHI@ZXZ
+; int __cdecl _query_new_mode(void)
+?_query_new_mode@@YAHXZ
+; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
+?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
+; int __cdecl _set_new_mode(int)
+?_set_new_mode@@YAHH@Z
+; void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
+?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
+; public: static long const  ios::adjustfield
+?adjustfield@ios@@2JB DATA
+; protected: int __thiscall streambuf::allocate(void)
+?allocate@streambuf@@IAEHXZ
+; public: class filebuf * __thiscall filebuf::attach(int)
+?attach@filebuf@@QAEPAV1@H@Z
+; public: void __thiscall fstream::attach(int)
+?attach@fstream@@QAEXH@Z
+; public: void __thiscall ifstream::attach(int)
+?attach@ifstream@@QAEXH@Z
+; public: void __thiscall ofstream::attach(int)
+?attach@ofstream@@QAEXH@Z
+; public: int __thiscall ios::bad(void)const 
+?bad@ios@@QBEHXZ
+; protected: char * __thiscall streambuf::base(void)const 
+?base@streambuf@@IBEPADXZ
+; public: static long const  ios::basefield
+?basefield@ios@@2JB DATA
+; public: static int const  filebuf::binary
+?binary@filebuf@@2HB DATA
+; public: static long __cdecl ios::bitalloc(void)
+?bitalloc@ios@@SAJXZ
+; protected: int __thiscall streambuf::blen(void)const 
+?blen@streambuf@@IBEHXZ
+; class ostream_withassign  cerr
+?cerr@@3Vostream_withassign@@A DATA
+; class istream_withassign  cin
+?cin@@3Vistream_withassign@@A DATA
+; public: void __thiscall ios::clear(int)
+?clear@ios@@QAEXH@Z
+; class ostream_withassign  clog
+?clog@@3Vostream_withassign@@A DATA
+; public: class filebuf * __thiscall filebuf::close(void)
+?close@filebuf@@QAEPAV1@XZ
+; public: void __thiscall fstream::close(void)
+?close@fstream@@QAEXXZ
+; public: void __thiscall ifstream::close(void)
+?close@ifstream@@QAEXXZ
+; public: void __thiscall ofstream::close(void)
+?close@ofstream@@QAEXXZ
+; public: void __cdecl ios::clrlock(void)
+?clrlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::clrlock(void)
+?clrlock@streambuf@@QAEXXZ
+; class ostream_withassign  cout
+?cout@@3Vostream_withassign@@A DATA
+; public: void __thiscall streambuf::dbp(void)
+?dbp@streambuf@@QAEXXZ
+; class ios & __cdecl dec(class ios &)
+?dec@@YAAAVios@@AAV1@@Z
+; public: void __thiscall ios::delbuf(int)
+?delbuf@ios@@QAEXH@Z
+; public: int __thiscall ios::delbuf(void)const 
+?delbuf@ios@@QBEHXZ
+; protected: virtual int __thiscall streambuf::doallocate(void)
+?doallocate@streambuf@@MAEHXZ
+; protected: virtual int __thiscall strstreambuf::doallocate(void)
+?doallocate@strstreambuf@@MAEHXZ
+; public: void __thiscall istream::eatwhite(void)
+?eatwhite@istream@@QAEXXZ
+; protected: char * __thiscall streambuf::eback(void)const 
+?eback@streambuf@@IBEPADXZ
+; protected: char * __thiscall streambuf::ebuf(void)const 
+?ebuf@streambuf@@IBEPADXZ
+; protected: char * __thiscall streambuf::egptr(void)const 
+?egptr@streambuf@@IBEPADXZ
+; class ostream & __cdecl endl(class ostream &)
+?endl@@YAAAVostream@@AAV1@@Z
+; class ostream & __cdecl ends(class ostream &)
+?ends@@YAAAVostream@@AAV1@@Z
+; public: int __thiscall ios::eof(void)const 
+?eof@ios@@QBEHXZ
+; protected: char * __thiscall streambuf::epptr(void)const 
+?epptr@streambuf@@IBEPADXZ
+; private: static int  ios::fLockcInit
+?fLockcInit@ios@@0HA DATA
+; public: int __thiscall ios::fail(void)const 
+?fail@ios@@QBEHXZ
+; public: int __thiscall filebuf::fd(void)const 
+?fd@filebuf@@QBEHXZ
+; public: int __thiscall fstream::fd(void)const 
+?fd@fstream@@QBEHXZ
+; public: int __thiscall ifstream::fd(void)const 
+?fd@ifstream@@QBEHXZ
+; public: int __thiscall ofstream::fd(void)const 
+?fd@ofstream@@QBEHXZ
+; public: char __thiscall ios::fill(char)
+?fill@ios@@QAEDD@Z
+; public: char __thiscall ios::fill(void)const 
+?fill@ios@@QBEDXZ
+; public: long __thiscall ios::flags(long)
+?flags@ios@@QAEJJ@Z
+; public: long __thiscall ios::flags(void)const 
+?flags@ios@@QBEJXZ
+; public: static long const  ios::floatfield
+?floatfield@ios@@2JB DATA
+; class ostream & __cdecl flush(class ostream &)
+?flush@@YAAAVostream@@AAV1@@Z
+; public: class ostream & __thiscall ostream::flush(void)
+?flush@ostream@@QAEAAV1@XZ
+; public: void __thiscall strstreambuf::freeze(int)
+?freeze@strstreambuf@@QAEXH@Z
+; protected: void __thiscall streambuf::gbump(int)
+?gbump@streambuf@@IAEXH@Z
+; public: int __thiscall istream::gcount(void)const 
+?gcount@istream@@QBEHXZ
+; public: class istream & __thiscall istream::get(signed char &)
+?get@istream@@QAEAAV1@AAC@Z
+; public: class istream & __thiscall istream::get(char &)
+?get@istream@@QAEAAV1@AAD@Z
+; public: class istream & __thiscall istream::get(unsigned char &)
+?get@istream@@QAEAAV1@AAE@Z
+; public: class istream & __thiscall istream::get(class streambuf &,char)
+?get@istream@@QAEAAV1@AAVstreambuf@@D@Z
+; public: class istream & __thiscall istream::get(signed char *,int,char)
+?get@istream@@QAEAAV1@PACHD@Z
+; public: class istream & __thiscall istream::get(char *,int,char)
+?get@istream@@QAEAAV1@PADHD@Z
+; public: class istream & __thiscall istream::get(unsigned char *,int,char)
+?get@istream@@QAEAAV1@PAEHD@Z
+; public: int __thiscall istream::get(void)
+?get@istream@@QAEHXZ
+; private: int __thiscall istream::getdouble(char *,int)
+?getdouble@istream@@AAEHPADH@Z
+; private: int __thiscall istream::getint(char *)
+?getint@istream@@AAEHPAD@Z
+; public: class istream & __thiscall istream::getline(signed char *,int,char)
+?getline@istream@@QAEAAV1@PACHD@Z
+; public: class istream & __thiscall istream::getline(char *,int,char)
+?getline@istream@@QAEAAV1@PADHD@Z
+; public: class istream & __thiscall istream::getline(unsigned char *,int,char)
+?getline@istream@@QAEAAV1@PAEHD@Z
+; public: int __thiscall ios::good(void)const 
+?good@ios@@QBEHXZ
+; protected: char * __thiscall streambuf::gptr(void)const 
+?gptr@streambuf@@IBEPADXZ
+; class ios & __cdecl hex(class ios &)
+?hex@@YAAAVios@@AAV1@@Z
+; public: class istream & __thiscall istream::ignore(int,int)
+?ignore@istream@@QAEAAV1@HH@Z
+; public: int __thiscall streambuf::in_avail(void)const 
+?in_avail@streambuf@@QBEHXZ
+; protected: void __thiscall ios::init(class streambuf *)
+?init@ios@@IAEXPAVstreambuf@@@Z
+; public: int __thiscall istream::ipfx(int)
+?ipfx@istream@@QAEHH@Z
+; public: int __thiscall filebuf::is_open(void)const 
+?is_open@filebuf@@QBEHXZ
+; public: int __thiscall fstream::is_open(void)const 
+?is_open@fstream@@QBEHXZ
+; public: int __thiscall ifstream::is_open(void)const 
+?is_open@ifstream@@QBEHXZ
+; public: int __thiscall ofstream::is_open(void)const 
+?is_open@ofstream@@QBEHXZ
+; public: void __thiscall istream::isfx(void)
+?isfx@istream@@QAEXXZ
+; public: long & __thiscall ios::iword(int)const 
+?iword@ios@@QBEAAJH@Z
+; public: void __cdecl ios::lock(void)
+?lock@ios@@QAAXXZ
+; public: void __thiscall streambuf::lock(void)
+?lock@streambuf@@QAEXXZ
+; public: void __cdecl ios::lockbuf(void)
+?lockbuf@ios@@QAAXXZ
+; protected: static void __cdecl ios::lockc(void)
+?lockc@ios@@KAXXZ
+; protected: struct _RTL_CRITICAL_SECTION * __thiscall ios::lockptr(void)
+?lockptr@ios@@IAEPAU_RTL_CRITICAL_SECTION@@XZ
+; protected: struct _RTL_CRITICAL_SECTION * __thiscall streambuf::lockptr(void)
+?lockptr@streambuf@@IAEPAU_RTL_CRITICAL_SECTION@@XZ
+; class ios & __cdecl oct(class ios &)
+?oct@@YAAAVios@@AAV1@@Z
+; public: class filebuf * __thiscall filebuf::open(char const *,int,int)
+?open@filebuf@@QAEPAV1@PBDHH@Z
+; public: void __thiscall fstream::open(char const *,int,int)
+?open@fstream@@QAEXPBDHH@Z
+; public: void __thiscall ifstream::open(char const *,int,int)
+?open@ifstream@@QAEXPBDHH@Z
+; public: void __thiscall ofstream::open(char const *,int,int)
+?open@ofstream@@QAEXPBDHH@Z
+; public: static int const  filebuf::openprot
+?openprot@filebuf@@2HB DATA
+; public: int __thiscall ostream::opfx(void)
+?opfx@ostream@@QAEHXZ
+; public: void __thiscall ostream::osfx(void)
+?osfx@ostream@@QAEXXZ
+; public: int __thiscall streambuf::out_waiting(void)const 
+?out_waiting@streambuf@@QBEHXZ
+; public: virtual int __thiscall filebuf::overflow(int)
+?overflow@filebuf@@UAEHH@Z
+; public: virtual int __thiscall stdiobuf::overflow(int)
+?overflow@stdiobuf@@UAEHH@Z
+; public: virtual int __thiscall strstreambuf::overflow(int)
+?overflow@strstreambuf@@UAEHH@Z
+; public: virtual int __thiscall stdiobuf::pbackfail(int)
+?pbackfail@stdiobuf@@UAEHH@Z
+; public: virtual int __thiscall streambuf::pbackfail(int)
+?pbackfail@streambuf@@UAEHH@Z
+; protected: char * __thiscall streambuf::pbase(void)const 
+?pbase@streambuf@@IBEPADXZ
+; protected: void __thiscall streambuf::pbump(int)
+?pbump@streambuf@@IAEXH@Z
+; public: int __thiscall ostrstream::pcount(void)const 
+?pcount@ostrstream@@QBEHXZ
+; public: int __thiscall strstream::pcount(void)const 
+?pcount@strstream@@QBEHXZ
+; public: int __thiscall istream::peek(void)
+?peek@istream@@QAEHXZ
+; protected: char * __thiscall streambuf::pptr(void)const 
+?pptr@streambuf@@IBEPADXZ
+; public: int __thiscall ios::precision(int)
+?precision@ios@@QAEHH@Z
+; public: int __thiscall ios::precision(void)const 
+?precision@ios@@QBEHXZ
+; public: class ostream & __thiscall ostream::put(signed char)
+?put@ostream@@QAEAAV1@C@Z
+; public: class ostream & __thiscall ostream::put(char)
+?put@ostream@@QAEAAV1@D@Z
+; public: class ostream & __thiscall ostream::put(unsigned char)
+?put@ostream@@QAEAAV1@E@Z
+; public: class istream & __thiscall istream::putback(char)
+?putback@istream@@QAEAAV1@D@Z
+; public: void * & __thiscall ios::pword(int)const 
+?pword@ios@@QBEAAPAXH@Z
+; public: class filebuf * __thiscall fstream::rdbuf(void)const 
+?rdbuf@fstream@@QBEPAVfilebuf@@XZ
+; public: class filebuf * __thiscall ifstream::rdbuf(void)const 
+?rdbuf@ifstream@@QBEPAVfilebuf@@XZ
+; public: class streambuf * __thiscall ios::rdbuf(void)const 
+?rdbuf@ios@@QBEPAVstreambuf@@XZ
+; public: class strstreambuf * __thiscall istrstream::rdbuf(void)const 
+?rdbuf@istrstream@@QBEPAVstrstreambuf@@XZ
+; public: class filebuf * __thiscall ofstream::rdbuf(void)const 
+?rdbuf@ofstream@@QBEPAVfilebuf@@XZ
+; public: class strstreambuf * __thiscall ostrstream::rdbuf(void)const 
+?rdbuf@ostrstream@@QBEPAVstrstreambuf@@XZ
+; public: class stdiobuf * __thiscall stdiostream::rdbuf(void)const 
+?rdbuf@stdiostream@@QBEPAVstdiobuf@@XZ
+; public: class strstreambuf * __thiscall strstream::rdbuf(void)const 
+?rdbuf@strstream@@QBEPAVstrstreambuf@@XZ
+; public: int __thiscall ios::rdstate(void)const 
+?rdstate@ios@@QBEHXZ
+; public: class istream & __thiscall istream::read(signed char *,int)
+?read@istream@@QAEAAV1@PACH@Z
+; public: class istream & __thiscall istream::read(char *,int)
+?read@istream@@QAEAAV1@PADH@Z
+; public: class istream & __thiscall istream::read(unsigned char *,int)
+?read@istream@@QAEAAV1@PAEH@Z
+; public: int __thiscall streambuf::sbumpc(void)
+?sbumpc@streambuf@@QAEHXZ
+; public: class istream & __thiscall istream::seekg(long)
+?seekg@istream@@QAEAAV1@J@Z
+; public: class istream & __thiscall istream::seekg(long,enum ios::seek_dir)
+?seekg@istream@@QAEAAV1@JW4seek_dir@ios@@@Z
+; public: virtual long __thiscall filebuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@filebuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: class ostream & __thiscall ostream::seekp(long)
+?seekp@ostream@@QAEAAV1@J@Z
+; public: class ostream & __thiscall ostream::seekp(long,enum ios::seek_dir)
+?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z
+; public: virtual long __thiscall streambuf::seekpos(long,int)
+?seekpos@streambuf@@UAEJJH@Z
+; void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
+?set_terminate@@YAP6AXXZP6AXXZ@Z
+; void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
+?set_unexpected@@YAP6AXXZP6AXXZ@Z
+; protected: void __thiscall streambuf::setb(char *,char *,int)
+?setb@streambuf@@IAEXPAD0H@Z
+; public: virtual class streambuf * __thiscall filebuf::setbuf(char *,int)
+?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z
+; public: class streambuf * __thiscall fstream::setbuf(char *,int)
+?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z
+; public: class streambuf * __thiscall ifstream::setbuf(char *,int)
+?setbuf@ifstream@@QAEPAVstreambuf@@PADH@Z
+; public: class streambuf * __thiscall ofstream::setbuf(char *,int)
+?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z
+; public: virtual class streambuf * __thiscall streambuf::setbuf(char *,int)
+?setbuf@streambuf@@UAEPAV1@PADH@Z
+; public: virtual class streambuf * __thiscall strstreambuf::setbuf(char *,int)
+?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z
+; public: long __thiscall ios::setf(long)
+?setf@ios@@QAEJJ@Z
+; public: long __thiscall ios::setf(long,long)
+?setf@ios@@QAEJJJ@Z
+; protected: void __thiscall streambuf::setg(char *,char *,char *)
+?setg@streambuf@@IAEXPAD00@Z
+; public: void __cdecl ios::setlock(void)
+?setlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::setlock(void)
+?setlock@streambuf@@QAEXXZ
+; public: int __thiscall filebuf::setmode(int)
+?setmode@filebuf@@QAEHH@Z
+; public: int __thiscall fstream::setmode(int)
+?setmode@fstream@@QAEHH@Z
+; public: int __thiscall ifstream::setmode(int)
+?setmode@ifstream@@QAEHH@Z
+; public: int __thiscall ofstream::setmode(int)
+?setmode@ofstream@@QAEHH@Z
+; protected: void __thiscall streambuf::setp(char *,char *)
+?setp@streambuf@@IAEXPAD0@Z
+; public: int __thiscall stdiobuf::setrwbuf(int,int)
+?setrwbuf@stdiobuf@@QAEHHH@Z
+; public: int __thiscall streambuf::sgetc(void)
+?sgetc@streambuf@@QAEHXZ
+; public: int __thiscall streambuf::sgetn(char *,int)
+?sgetn@streambuf@@QAEHPADH@Z
+; public: static int const  filebuf::sh_none
+?sh_none@filebuf@@2HB DATA
+; public: static int const  filebuf::sh_read
+?sh_read@filebuf@@2HB DATA
+; public: static int const  filebuf::sh_write
+?sh_write@filebuf@@2HB DATA
+; public: int __thiscall streambuf::snextc(void)
+?snextc@streambuf@@QAEHXZ
+; public: int __thiscall streambuf::sputbackc(char)
+?sputbackc@streambuf@@QAEHD@Z
+; public: int __thiscall streambuf::sputc(int)
+?sputc@streambuf@@QAEHH@Z
+; public: int __thiscall streambuf::sputn(char const *,int)
+?sputn@streambuf@@QAEHPBDH@Z
+; public: struct _iobuf * __thiscall stdiobuf::stdiofile(void)
+?stdiofile@stdiobuf@@QAEPAU_iobuf@@XZ
+; public: void __thiscall streambuf::stossc(void)
+?stossc@streambuf@@QAEXXZ
+; public: char * __thiscall istrstream::str(void)
+?str@istrstream@@QAEPADXZ
+; public: char * __thiscall ostrstream::str(void)
+?str@ostrstream@@QAEPADXZ
+; public: char * __thiscall strstream::str(void)
+?str@strstream@@QAEPADXZ
+; public: char * __thiscall strstreambuf::str(void)
+?str@strstreambuf@@QAEPADXZ
+; private: static int  ios::sunk_with_stdio
+?sunk_with_stdio@ios@@0HA DATA
+; public: virtual int __thiscall filebuf::sync(void)
+?sync@filebuf@@UAEHXZ
+; public: int __thiscall istream::sync(void)
+?sync@istream@@QAEHXZ
+; public: virtual int __thiscall stdiobuf::sync(void)
+?sync@stdiobuf@@UAEHXZ
+; public: virtual int __thiscall streambuf::sync(void)
+?sync@streambuf@@UAEHXZ
+; public: virtual int __thiscall strstreambuf::sync(void)
+?sync@strstreambuf@@UAEHXZ
+; public: static void __cdecl ios::sync_with_stdio(void)
+?sync_with_stdio@ios@@SAXXZ
+; public: long __thiscall istream::tellg(void)
+?tellg@istream@@QAEJXZ
+; public: long __thiscall ostream::tellp(void)
+?tellp@ostream@@QAEJXZ
+; void __cdecl terminate(void)
+?terminate@@YAXXZ
+; public: static int const  filebuf::text
+?text@filebuf@@2HB DATA
+; public: class ostream * __thiscall ios::tie(class ostream *)
+?tie@ios@@QAEPAVostream@@PAV2@@Z
+; public: class ostream * __thiscall ios::tie(void)const 
+?tie@ios@@QBEPAVostream@@XZ
+; protected: void __thiscall streambuf::unbuffered(int)
+?unbuffered@streambuf@@IAEXH@Z
+; protected: int __thiscall streambuf::unbuffered(void)const 
+?unbuffered@streambuf@@IBEHXZ
+; public: virtual int __thiscall filebuf::underflow(void)
+?underflow@filebuf@@UAEHXZ
+; public: virtual int __thiscall stdiobuf::underflow(void)
+?underflow@stdiobuf@@UAEHXZ
+; public: virtual int __thiscall strstreambuf::underflow(void)
+?underflow@strstreambuf@@UAEHXZ
+; void __cdecl unexpected(void)
+?unexpected@@YAXXZ
+; public: void __cdecl ios::unlock(void)
+?unlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::unlock(void)
+?unlock@streambuf@@QAEXXZ
+; public: void __cdecl ios::unlockbuf(void)
+?unlockbuf@ios@@QAAXXZ
+; protected: static void __cdecl ios::unlockc(void)
+?unlockc@ios@@KAXXZ
+; public: long __thiscall ios::unsetf(long)
+?unsetf@ios@@QAEJJ@Z
+; public: int __thiscall ios::width(int)
+?width@ios@@QAEHH@Z
+; public: int __thiscall ios::width(void)const 
+?width@ios@@QBEHXZ
+; public: class ostream & __thiscall ostream::write(signed char const *,int)
+?write@ostream@@QAEAAV1@PBCH@Z
+; public: class ostream & __thiscall ostream::write(char const *,int)
+?write@ostream@@QAEAAV1@PBDH@Z
+; public: class ostream & __thiscall ostream::write(unsigned char const *,int)
+?write@ostream@@QAEAAV1@PBEH@Z
+; private: class ostream & __thiscall ostream::writepad(char const *,char const *)
+?writepad@ostream@@AAEAAV1@PBD0@Z
+; class istream & __cdecl ws(class istream &)
+?ws@@YAAAVistream@@AAV1@@Z
+; private: static int  ios::x_curindex
+?x_curindex@ios@@0HA DATA
+; private: static struct _RTL_CRITICAL_SECTION  ios::x_lockc
+?x_lockc@ios@@0U_RTL_CRITICAL_SECTION@@A DATA
+; private: static long  ios::x_maxbit
+?x_maxbit@ios@@0JA DATA
+; private: static long *  ios::x_statebuf
+?x_statebuf@ios@@0QAJA DATA
+; public: static int __cdecl ios::xalloc(void)
+?xalloc@ios@@SAHXZ
+; public: virtual int __thiscall streambuf::xsgetn(char *,int)
+?xsgetn@streambuf@@UAEHPADH@Z
+; public: virtual int __thiscall streambuf::xsputn(char const *,int)
+?xsputn@streambuf@@UAEHPBDH@Z
+$I10_OUTPUT
+_CIacos
+_CIasin
+_CIatan
+_CIatan2
+_CIcos
+_CIcosh
+_CIexp
+_CIfmod
+_CIlog
+_CIlog10
+_CIpow
+_CIsin
+_CIsinh
+_CIsqrt
+_CItan
+_CItanh
+_CxxThrowException
+_HUGE DATA
+_XcptFilter
+__CxxFrameHandler
+__CxxLongjmpUnwind
+__STRINGTOLD
+__argc DATA
+__argv DATA
+__dllonexit
+__doserrno
+__fpecode
+__getmainargs
+__initenv DATA
+__isascii
+__iscsym
+__iscsymf
+__lconv_init
+__mb_cur_max DATA
+__p___argc
+__p___argv
+__p___initenv
+__p___mb_cur_max
+__p___wargv
+__p___winitenv
+__p__acmdln
+__p__amblksiz
+__p__commode
+__p__daylight
+__p__environ
+__p__fmode
+__p__iob
+__p__mbctype
+__p__osver
+__p__pctype
+__p__pgmptr
+__p__pwctype
+__p__timezone
+__p__tzname
+__p__wcmdln
+__p__wenviron
+__p__winmajor
+__p__winminor
+__p__winver
+__p__wpgmptr
+__pxcptinfoptrs
+__threadhandle
+__threadid
+__toascii
+__wargv DATA
+__wgetmainargs
+__winitenv DATA
+_abnormal_termination
+_access
+_acmdln DATA
+_adj_fdiv_m16i
+_adj_fdiv_m32
+_adj_fdiv_m32i
+_adj_fdiv_m64
+_adj_fdiv_r
+_adj_fdivr_m16i
+_adj_fdivr_m32
+_adj_fdivr_m32i
+_adj_fdivr_m64
+_adj_fpatan
+_adj_fprem
+_adj_fprem1
+_adj_fptan
+_adjust_fdiv DATA
+_aexit_rtn DATA
+_amsg_exit
+_assert
+_atodbl
+_atoldbl
+_beep
+_beginthread
+_beginthreadex
+_c_exit
+_cabs
+_cexit
+_cgets
+_chdir
+_chdrive
+_chgsign
+_chmod
+_chsize
+_clearfp
+_close
+_commit
+_commode DATA
+_control87
+_controlfp
+_copysign
+_cprintf
+_cputs
+_creat
+_cscanf
+_ctype DATA
+_cwait
+_daylight DATA
+_dup
+_dup2
+_ecvt
+_endthread
+_endthreadex
+_environ DATA
+_eof
+_errno
+_except_handler2
+_except_handler3
+_execl
+_execle
+_execlp
+_execlpe
+_execv
+_execve
+_execvp
+_execvpe
+_exit
+_expand
+_fcloseall
+_fcvt
+_fdopen
+_fgetchar
+_fgetwchar
+_filbuf
+_fileinfo DATA
+_filelength
+_fileno
+_findclose
+_findfirst
+_findnext
+_finite
+_flsbuf
+_flushall
+_fmode DATA
+_fpclass
+_fpieee_flt
+_fpreset
+_fputchar
+_fputwchar
+_fsopen
+_fstat
+_ftime
+_ftol
+_fullpath
+_futime
+_gcvt
+_get_osfhandle
+_getch
+_getche
+_getcwd
+_getdcwd
+_getdiskfree
+_getdllprocaddr
+_getdrive
+_getdrives
+_getmbcp
+_getpid
+_getsystime
+_getw
+_getws
+_global_unwind2
+_heapadd
+_heapchk
+_heapmin
+_heapset
+_heapused
+_heapwalk
+_hypot
+_initterm
+_iob DATA
+_isatty
+_isctype
+_ismbbalnum
+_ismbbalpha
+_ismbbgraph
+_ismbbkalnum
+_ismbbkana
+_ismbbkprint
+_ismbbkpunct
+_ismbblead
+_ismbbprint
+_ismbbpunct
+_ismbbtrail
+_ismbcalnum
+_ismbcalpha
+_ismbcdigit
+_ismbcgraph
+_ismbchira
+_ismbckata
+_ismbcl0
+_ismbcl1
+_ismbcl2
+_ismbclegal
+_ismbclower
+_ismbcprint
+_ismbcpunct
+_ismbcspace
+_ismbcsymbol
+_ismbcupper
+_ismbslead
+_ismbstrail
+_isnan
+_itoa
+_itow
+_j0
+_j1
+_jn
+_kbhit
+_lfind
+_loaddll
+_local_unwind2
+_locking
+_logb
+_longjmpex
+_lrotl
+_lrotr
+_lsearch
+_lseek
+_ltoa
+_ltow
+_makepath
+_matherr
+_mbbtombc
+_mbbtype
+_mbccpy
+_mbcjistojms
+_mbcjmstojis
+_mbclen
+_mbctohira
+_mbctokata
+_mbctolower
+_mbctombb
+_mbctoupper
+_mbctype DATA
+_mbsbtype
+_mbscat
+_mbschr
+_mbscmp
+_mbscoll
+_mbscpy
+_mbscspn
+_mbsdec
+_mbsdup
+_mbsicmp
+_mbsicoll
+_mbsinc
+_mbslen
+_mbslwr
+_mbsnbcat
+_mbsnbcmp
+_mbsnbcnt
+_mbsnbcoll
+_mbsnbcpy
+_mbsnbicmp
+_mbsnbicoll
+_mbsnbset
+_mbsncat
+_mbsnccnt
+_mbsncmp
+_mbsncoll
+_mbsncpy
+_mbsnextc
+_mbsnicmp
+_mbsnicoll
+_mbsninc
+_mbsnset
+_mbspbrk
+_mbsrchr
+_mbsrev
+_mbsset
+_mbsspn
+_mbsspnp
+_mbsstr
+_mbstok
+_mbstrlen
+_mbsupr
+_memccpy
+_memicmp
+_mkdir
+_mktemp
+_msize
+_mtlock
+_mtunlock
+_nextafter
+_onexit
+_open
+_open_osfhandle
+_osver DATA
+_pclose
+_pctype DATA
+_pgmptr DATA
+_pipe
+_popen
+_purecall
+_putch
+_putenv
+_putw
+_putws
+_pwctype DATA
+_read
+_rmdir
+_rmtmp
+_rotl
+_rotr
+_safe_fdiv
+_safe_fdivr
+_safe_fprem
+_safe_fprem1
+_scalb
+_searchenv
+__seh_longjmp_unwind@4
+_seterrormode
+_setjmp
+_setjmp3
+_setmbcp
+_setmode
+_setsystime
+_sleep
+_snprintf
+_snwprintf
+_sopen
+_spawnl
+_spawnle
+_spawnlp
+_spawnlpe
+_spawnv
+_spawnve
+_spawnvp
+_spawnvpe
+_splitpath
+_stat
+_statusfp
+_strcmpi
+_strdate
+_strdup
+_strerror
+_stricmp
+_stricoll
+_strlwr
+_strncoll
+_strnicmp
+_strnicoll
+_strnset
+_strrev
+_strset
+_strtime
+_strupr
+_swab
+_sys_errlist DATA
+_sys_nerr DATA
+_tccpy
+_tclen
+_tcschr
+_tcsclen
+_tcscmp
+_tcscspn
+_tcsdec
+_tcsicmp
+_tcsinc
+_tcslwr
+_tcsnbcnt
+_tcsncat
+_tcsnccat
+_tcsnccmp
+_tcsnccnt
+_tcsnccpy
+_tcsncicmp
+_tcsncmp
+_tcsncpy
+_tcsncset
+_tcsnextc
+_tcsnicmp
+_tcsninc
+_tcsnset
+_tcspbrk
+_tcsrchr
+_tcsrev
+_tcsset
+_tcsspn
+_tcsspnp
+_tcsstr
+_tcstok
+_tcsupr
+_tell
+_tempnam
+_timezone DATA
+_tolower
+_toupper
+_tzname DATA
+_tzset
+_ultoa
+_ultow
+_umask
+_ungetch
+_unlink
+_unloaddll
+_utime
+_vsnprintf
+_vsnwprintf
+_waccess
+_wasctime
+_wchdir
+_wchmod
+_wcmdln DATA
+_wcreat
+_wcsdup
+_wcsicmp
+_wcsicoll
+_wcslwr
+_wcsncoll
+_wcsnicmp
+_wcsnicoll
+_wcsnset
+_wcsrev
+_wcsset
+_wcsupr
+_wctime DATA
+;_wctime32 = _wctime
+_wenviron DATA
+_wexecl
+_wexecle
+_wexeclp
+_wexeclpe
+_wexecv
+_wexecve
+_wexecvp
+_wexecvpe
+_wfdopen
+_wfindfirst
+_wfindnext
+_wfopen
+_wfreopen
+_wfsopen
+_wfullpath
+_wgetcwd
+_wgetdcwd
+_wgetenv
+_winmajor DATA
+_winminor DATA
+_winver DATA
+_wmakepath
+_wmkdir
+_wmktemp
+_wopen
+_wperror
+_wpgmptr DATA
+_wpopen
+_wputenv
+_wremove
+_wrename
+_write
+_wrmdir
+_wsearchenv
+_wsetlocale
+_wsopen
+_wspawnl
+_wspawnle
+_wspawnlp
+_wspawnlpe
+_wspawnv
+_wspawnve
+_wspawnvp
+_wspawnvpe
+_wsplitpath
+_wstat
+_wstrdate
+_wstrtime
+_wsystem
+_wtempnam
+_wtmpnam
+_wtoi
+_wtol
+_wunlink
+_wutime
+_y0
+_y1
+_yn
+abort
+abs
+acos
+asctime
+asin
+atan
+atan2
+atexit DATA
+atof
+atoi
+atol
+bsearch
+calloc
+ceil
+clearerr
+clock
+cos
+cosh
+ctime DATA
+;_ctime32 = ctime
+difftime
+div
+exit
+exp
+fabs
+fclose
+feof
+ferror
+fflush
+fgetc
+fgetpos
+fgets
+fgetwc
+fgetws
+floor
+fmod
+fopen
+fprintf
+fputc
+fputs
+fputwc
+fputws
+fread
+free
+freopen
+frexp
+fscanf
+fseek
+fsetpos
+ftell
+fwprintf
+fwrite
+fwscanf
+getc
+getchar
+getenv
+gets
+getwc
+getwchar
+gmtime DATA
+;_gmtime32 = gmtime
+is_wctype
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+isleadbyte
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalnum
+iswalpha
+iswascii
+iswcntrl
+iswctype
+iswdigit
+iswgraph
+iswlower
+iswprint
+iswpunct
+iswspace
+iswupper
+iswxdigit
+isxdigit
+labs
+ldexp
+ldiv
+localeconv
+localtime DATA
+;_localtime32 = localtime
+log
+log10
+malloc
+mblen
+mbstowcs
+mbtowc
+memchr
+memcmp
+memcpy
+memmove
+memset
+mktime DATA
+;_mktime32 = mktime
+modf
+perror
+pow
+printf
+putc
+putchar
+puts
+putwc
+putwchar
+qsort
+raise
+rand
+realloc
+remove
+rename
+rewind
+scanf
+setbuf
+setlocale
+setvbuf
+signal
+sin
+sinh
+sprintf
+sqrt
+srand
+sscanf
+strcat
+strchr
+strcmp
+strcoll
+strcpy
+strcspn
+strerror
+strftime
+strlen
+strncat
+strncmp
+strncpy
+strpbrk
+strrchr
+strspn
+strstr
+strtod
+strtok
+strtol
+strtoul
+strxfrm
+swprintf
+swscanf
+system
+tan
+tanh
+time DATA
+;_time32 = time
+tmpfile
+tmpnam
+tolower
+toupper
+towlower
+towupper
+ungetc
+ungetwc
+vfprintf
+vfwprintf
+vprintf
+vsprintf
+vswprintf
+vwprintf
+wcscat
+wcschr
+wcscmp
+wcscoll
+wcscpy
+wcscspn
+wcsftime
+wcslen
+wcsncat
+wcsncmp
+wcsncpy
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstod
+wcstok
+wcstol
+wcstombs
+wcstoul
+wcsxfrm
+wctomb
+wprintf
+wscanf
diff --git a/mingw-w64-crt/lib64/wmsvcrt40.def b/mingw-w64-crt/lib64/wmsvcrt40.def
index e83e885..1161e49 100644
--- a/mingw-w64-crt/lib64/wmsvcrt40.def
+++ b/mingw-w64-crt/lib64/wmsvcrt40.def
@@ -1,1660 +1,1660 @@
-; 
-; Exports of file MSVCRT40.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSVCRT40.dll
-EXPORTS
-; public: __thiscall Iostream_init::Iostream_init(class ios &,int)
-??0Iostream_init@@QAE@AAVios@@H@Z
-; public: __thiscall Iostream_init::Iostream_init(void)
-??0Iostream_init@@QAE@XZ
-; public: __thiscall __non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
-??0__non_rtti_object@@QAE@ABV0@@Z
-; public: __thiscall __non_rtti_object::__non_rtti_object(char const *)
-??0__non_rtti_object@@QAE@PBD@Z
-; public: __thiscall bad_cast::bad_cast(char const * const &)
-??0bad_cast@@QAE@ABQBD@Z
-; public: __thiscall bad_cast::bad_cast(class bad_cast const &)
-??0bad_cast@@QAE@ABV0@@Z
-; public: __thiscall bad_typeid::bad_typeid(class bad_typeid const &)
-??0bad_typeid@@QAE@ABV0@@Z
-; public: __thiscall bad_typeid::bad_typeid(char const *)
-??0bad_typeid@@QAE@PBD@Z
-; public: __thiscall exception::exception(char const * const &)
-??0exception@@QAE@ABQBD@Z
-; public: __thiscall exception::exception(class exception const &)
-??0exception@@QAE@ABV0@@Z
-; public: __thiscall exception::exception(void)
-??0exception@@QAE@XZ
-; public: __thiscall filebuf::filebuf(class filebuf const &)
-??0filebuf@@QAE@ABV0@@Z
-; public: __thiscall filebuf::filebuf(int)
-??0filebuf@@QAE@H@Z
-; public: __thiscall filebuf::filebuf(int,char *,int)
-??0filebuf@@QAE@HPADH@Z
-; public: __thiscall filebuf::filebuf(void)
-??0filebuf@@QAE@XZ
-; public: __thiscall fstream::fstream(class fstream const &)
-??0fstream@@QAE@ABV0@@Z
-; public: __thiscall fstream::fstream(int)
-??0fstream@@QAE@H@Z
-; public: __thiscall fstream::fstream(int,char *,int)
-??0fstream@@QAE@HPADH@Z
-; public: __thiscall fstream::fstream(char const *,int,int)
-??0fstream@@QAE@PBDHH@Z
-; public: __thiscall fstream::fstream(void)
-??0fstream@@QAE@XZ
-; public: __thiscall ifstream::ifstream(class ifstream const &)
-??0ifstream@@QAE@ABV0@@Z
-; public: __thiscall ifstream::ifstream(int)
-??0ifstream@@QAE@H@Z
-; public: __thiscall ifstream::ifstream(int,char *,int)
-??0ifstream@@QAE@HPADH@Z
-; public: __thiscall ifstream::ifstream(char const *,int,int)
-??0ifstream@@QAE@PBDHH@Z
-; public: __thiscall ifstream::ifstream(void)
-??0ifstream@@QAE@XZ
-; protected: __thiscall ios::ios(class ios const &)
-??0ios@@IAE@ABV0@@Z
-; protected: __thiscall ios::ios(void)
-??0ios@@IAE@XZ
-; public: __thiscall ios::ios(class streambuf *)
-??0ios@@QAE@PAVstreambuf@@@Z
-; protected: __thiscall iostream::iostream(class iostream const &)
-??0iostream@@IAE@ABV0@@Z
-; protected: __thiscall iostream::iostream(void)
-??0iostream@@IAE@XZ
-; public: __thiscall iostream::iostream(class streambuf *)
-??0iostream@@QAE@PAVstreambuf@@@Z
-; protected: __thiscall istream::istream(class istream const &)
-??0istream@@IAE@ABV0@@Z
-; protected: __thiscall istream::istream(void)
-??0istream@@IAE@XZ
-; public: __thiscall istream::istream(class streambuf *)
-??0istream@@QAE@PAVstreambuf@@@Z
-; public: __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
-??0istream_withassign@@QAE@ABV0@@Z
-; public: __thiscall istream_withassign::istream_withassign(class streambuf *)
-??0istream_withassign@@QAE@PAVstreambuf@@@Z
-; public: __thiscall istream_withassign::istream_withassign(void)
-??0istream_withassign@@QAE@XZ
-; public: __thiscall istrstream::istrstream(class istrstream const &)
-??0istrstream@@QAE@ABV0@@Z
-; public: __thiscall istrstream::istrstream(char *)
-??0istrstream@@QAE@PAD@Z
-; public: __thiscall istrstream::istrstream(char *,int)
-??0istrstream@@QAE@PADH@Z
-; public: __thiscall logic_error::logic_error(char const * const &)
-??0logic_error@@QAE@ABQBD@Z
-; public: __thiscall logic_error::logic_error(class logic_error const &)
-??0logic_error@@QAE@ABV0@@Z
-; public: __thiscall ofstream::ofstream(class ofstream const &)
-??0ofstream@@QAE@ABV0@@Z
-; public: __thiscall ofstream::ofstream(int)
-??0ofstream@@QAE@H@Z
-; public: __thiscall ofstream::ofstream(int,char *,int)
-??0ofstream@@QAE@HPADH@Z
-; public: __thiscall ofstream::ofstream(char const *,int,int)
-??0ofstream@@QAE@PBDHH@Z
-; public: __thiscall ofstream::ofstream(void)
-??0ofstream@@QAE@XZ
-; protected: __thiscall ostream::ostream(class ostream const &)
-??0ostream@@IAE@ABV0@@Z
-; protected: __thiscall ostream::ostream(void)
-??0ostream@@IAE@XZ
-; public: __thiscall ostream::ostream(class streambuf *)
-??0ostream@@QAE@PAVstreambuf@@@Z
-; public: __thiscall ostream_withassign::ostream_withassign(class ostream_withassign const &)
-??0ostream_withassign@@QAE@ABV0@@Z
-; public: __thiscall ostream_withassign::ostream_withassign(class streambuf *)
-??0ostream_withassign@@QAE@PAVstreambuf@@@Z
-; public: __thiscall ostream_withassign::ostream_withassign(void)
-??0ostream_withassign@@QAE@XZ
-; public: __thiscall ostrstream::ostrstream(class ostrstream const &)
-??0ostrstream@@QAE@ABV0@@Z
-; public: __thiscall ostrstream::ostrstream(char *,int,int)
-??0ostrstream@@QAE@PADHH@Z
-; public: __thiscall ostrstream::ostrstream(void)
-??0ostrstream@@QAE@XZ
-; public: __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
-??0stdiobuf@@QAE@ABV0@@Z
-; public: __thiscall stdiobuf::stdiobuf(struct _iobuf *)
-??0stdiobuf@@QAE@PAU_iobuf@@@Z
-; public: __thiscall stdiostream::stdiostream(class stdiostream const &)
-??0stdiostream@@QAE@ABV0@@Z
-; public: __thiscall stdiostream::stdiostream(struct _iobuf *)
-??0stdiostream@@QAE@PAU_iobuf@@@Z
-; protected: __thiscall streambuf::streambuf(char *,int)
-??0streambuf@@IAE@PADH@Z
-; protected: __thiscall streambuf::streambuf(void)
-??0streambuf@@IAE@XZ
-; public: __thiscall streambuf::streambuf(class streambuf const &)
-??0streambuf@@QAE@ABV0@@Z
-; public: __thiscall strstream::strstream(class strstream const &)
-??0strstream@@QAE@ABV0@@Z
-; public: __thiscall strstream::strstream(char *,int,int)
-??0strstream@@QAE@PADHH@Z
-; public: __thiscall strstream::strstream(void)
-??0strstream@@QAE@XZ
-; public: __thiscall strstreambuf::strstreambuf(class strstreambuf const &)
-??0strstreambuf@@QAE@ABV0@@Z
-; public: __thiscall strstreambuf::strstreambuf(int)
-??0strstreambuf@@QAE@H@Z
-; public: __thiscall strstreambuf::strstreambuf(void * (__cdecl*)(long),void (__cdecl*)(void *))
-??0strstreambuf@@QAE@P6APAXJ@ZP6AXPAX@Z@Z
-; public: __thiscall strstreambuf::strstreambuf(char *,int,char *)
-??0strstreambuf@@QAE@PADH0@Z
-; public: __thiscall strstreambuf::strstreambuf(void)
-??0strstreambuf@@QAE@XZ
-; public: __thiscall Iostream_init::~Iostream_init(void)
-??1Iostream_init@@QAE@XZ
-; public: virtual __thiscall __non_rtti_object::~__non_rtti_object(void)
-??1__non_rtti_object@@UAE@XZ
-; public: virtual __thiscall bad_cast::~bad_cast(void)
-??1bad_cast@@UAE@XZ
-; public: virtual __thiscall bad_typeid::~bad_typeid(void)
-??1bad_typeid@@UAE@XZ
-; public: virtual __thiscall exception::~exception(void)
-??1exception@@UAE@XZ
-; public: virtual __thiscall filebuf::~filebuf(void)
-??1filebuf@@UAE@XZ
-; public: virtual __thiscall fstream::~fstream(void)
-??1fstream@@UAE@XZ
-; public: virtual __thiscall ifstream::~ifstream(void)
-??1ifstream@@UAE@XZ
-; public: virtual __thiscall ios::~ios(void)
-??1ios@@UAE@XZ
-; public: virtual __thiscall iostream::~iostream(void)
-??1iostream@@UAE@XZ
-; public: virtual __thiscall istream::~istream(void)
-??1istream@@UAE@XZ
-; public: virtual __thiscall istream_withassign::~istream_withassign(void)
-??1istream_withassign@@UAE@XZ
-; public: virtual __thiscall istrstream::~istrstream(void)
-??1istrstream@@UAE@XZ
-; public: virtual __thiscall logic_error::~logic_error(void)
-??1logic_error@@UAE@XZ
-; public: virtual __thiscall ofstream::~ofstream(void)
-??1ofstream@@UAE@XZ
-; public: virtual __thiscall ostream::~ostream(void)
-??1ostream@@UAE@XZ
-; public: virtual __thiscall ostream_withassign::~ostream_withassign(void)
-??1ostream_withassign@@UAE@XZ
-; public: virtual __thiscall ostrstream::~ostrstream(void)
-??1ostrstream@@UAE@XZ
-; public: virtual __thiscall stdiobuf::~stdiobuf(void)
-??1stdiobuf@@UAE@XZ
-; public: virtual __thiscall stdiostream::~stdiostream(void)
-??1stdiostream@@UAE@XZ
-; public: virtual __thiscall streambuf::~streambuf(void)
-??1streambuf@@UAE@XZ
-; public: virtual __thiscall strstream::~strstream(void)
-??1strstream@@UAE@XZ
-; public: virtual __thiscall strstreambuf::~strstreambuf(void)
-??1strstreambuf@@UAE@XZ
-; public: virtual __thiscall type_info::~type_info(void)
-??1type_info@@UAE@XZ
-; void * __cdecl operator new(unsigned int)
-??2@YAPAXI@Z
-; void __cdecl operator delete(void *)
-??3@YAXPAX@Z
-; public: class Iostream_init & __thiscall Iostream_init::operator=(class Iostream_init const &)
-??4Iostream_init@@QAEAAV0@ABV0@@Z
-; public: class __non_rtti_object & __thiscall __non_rtti_object::operator=(class __non_rtti_object const &)
-??4__non_rtti_object@@QAEAAV0@ABV0@@Z
-; public: class bad_cast & __thiscall bad_cast::operator=(class bad_cast const &)
-??4bad_cast@@QAEAAV0@ABV0@@Z
-; public: class bad_typeid & __thiscall bad_typeid::operator=(class bad_typeid const &)
-??4bad_typeid@@QAEAAV0@ABV0@@Z
-; public: class exception & __thiscall exception::operator=(class exception const &)
-??4exception@@QAEAAV0@ABV0@@Z
-; public: class filebuf & __thiscall filebuf::operator=(class filebuf const &)
-??4filebuf@@QAEAAV0@ABV0@@Z
-; public: class fstream & __thiscall fstream::operator=(class fstream &)
-??4fstream@@QAEAAV0@AAV0@@Z
-; public: class ifstream & __thiscall ifstream::operator=(class ifstream const &)
-??4ifstream@@QAEAAV0@ABV0@@Z
-; protected: class ios & __thiscall ios::operator=(class ios const &)
-??4ios@@IAEAAV0@ABV0@@Z
-; protected: class iostream & __thiscall iostream::operator=(class iostream &)
-??4iostream@@IAEAAV0@AAV0@@Z
-; protected: class iostream & __thiscall iostream::operator=(class streambuf *)
-??4iostream@@IAEAAV0@PAVstreambuf@@@Z
-; protected: class istream & __thiscall istream::operator=(class istream const &)
-??4istream@@IAEAAV0@ABV0@@Z
-; protected: class istream & __thiscall istream::operator=(class streambuf *)
-??4istream@@IAEAAV0@PAVstreambuf@@@Z
-; public: class istream_withassign & __thiscall istream_withassign::operator=(class istream_withassign const &)
-??4istream_withassign@@QAEAAV0@ABV0@@Z
-; public: class istream & __thiscall istream_withassign::operator=(class istream const &)
-??4istream_withassign@@QAEAAVistream@@ABV1@@Z
-; public: class istream & __thiscall istream_withassign::operator=(class streambuf *)
-??4istream_withassign@@QAEAAVistream@@PAVstreambuf@@@Z
-; public: class istrstream & __thiscall istrstream::operator=(class istrstream const &)
-??4istrstream@@QAEAAV0@ABV0@@Z
-; public: class logic_error & __thiscall logic_error::operator=(class logic_error const &)
-??4logic_error@@QAEAAV0@ABV0@@Z
-; public: class ofstream & __thiscall ofstream::operator=(class ofstream const &)
-??4ofstream@@QAEAAV0@ABV0@@Z
-; protected: class ostream & __thiscall ostream::operator=(class ostream const &)
-??4ostream@@IAEAAV0@ABV0@@Z
-; protected: class ostream & __thiscall ostream::operator=(class streambuf *)
-??4ostream@@IAEAAV0@PAVstreambuf@@@Z
-; public: class ostream_withassign & __thiscall ostream_withassign::operator=(class ostream_withassign const &)
-??4ostream_withassign@@QAEAAV0@ABV0@@Z
-; public: class ostream & __thiscall ostream_withassign::operator=(class ostream const &)
-??4ostream_withassign@@QAEAAVostream@@ABV1@@Z
-; public: class ostream & __thiscall ostream_withassign::operator=(class streambuf *)
-??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z
-; public: class ostrstream & __thiscall ostrstream::operator=(class ostrstream const &)
-??4ostrstream@@QAEAAV0@ABV0@@Z
-; public: class stdiobuf & __thiscall stdiobuf::operator=(class stdiobuf const &)
-??4stdiobuf@@QAEAAV0@ABV0@@Z
-; public: class stdiostream & __thiscall stdiostream::operator=(class stdiostream &)
-??4stdiostream@@QAEAAV0@AAV0@@Z
-; public: class streambuf & __thiscall streambuf::operator=(class streambuf const &)
-??4streambuf@@QAEAAV0@ABV0@@Z
-; public: class strstream & __thiscall strstream::operator=(class strstream &)
-??4strstream@@QAEAAV0@AAV0@@Z
-; public: class strstreambuf & __thiscall strstreambuf::operator=(class strstreambuf const &)
-??4strstreambuf@@QAEAAV0@ABV0@@Z
-; public: class istream & __thiscall istream::operator>>(signed char &)
-??5istream@@QAEAAV0@AAC@Z
-; public: class istream & __thiscall istream::operator>>(char &)
-??5istream@@QAEAAV0@AAD@Z
-; public: class istream & __thiscall istream::operator>>(unsigned char &)
-??5istream@@QAEAAV0@AAE@Z
-; public: class istream & __thiscall istream::operator>>(short &)
-??5istream@@QAEAAV0@AAF@Z
-; public: class istream & __thiscall istream::operator>>(unsigned short &)
-??5istream@@QAEAAV0@AAG@Z
-; public: class istream & __thiscall istream::operator>>(int &)
-??5istream@@QAEAAV0@AAH@Z
-; public: class istream & __thiscall istream::operator>>(unsigned int &)
-??5istream@@QAEAAV0@AAI@Z
-; public: class istream & __thiscall istream::operator>>(long &)
-??5istream@@QAEAAV0@AAJ@Z
-; public: class istream & __thiscall istream::operator>>(unsigned long &)
-??5istream@@QAEAAV0@AAK@Z
-; public: class istream & __thiscall istream::operator>>(float &)
-??5istream@@QAEAAV0@AAM@Z
-; public: class istream & __thiscall istream::operator>>(double &)
-??5istream@@QAEAAV0@AAN@Z
-; public: class istream & __thiscall istream::operator>>(long double &)
-??5istream@@QAEAAV0@AAO@Z
-; public: class istream & __thiscall istream::operator>>(class istream & (__cdecl*)(class istream &))
-??5istream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
-; public: class istream & __thiscall istream::operator>>(class ios & (__cdecl*)(class ios &))
-??5istream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
-; public: class istream & __thiscall istream::operator>>(signed char *)
-??5istream@@QAEAAV0@PAC@Z
-; public: class istream & __thiscall istream::operator>>(char *)
-??5istream@@QAEAAV0@PAD@Z
-; public: class istream & __thiscall istream::operator>>(unsigned char *)
-??5istream@@QAEAAV0@PAE@Z
-; public: class istream & __thiscall istream::operator>>(class streambuf *)
-??5istream@@QAEAAV0@PAVstreambuf@@@Z
-; public: class ostream & __thiscall ostream::operator<<(signed char)
-??6ostream@@QAEAAV0@C@Z
-; public: class ostream & __thiscall ostream::operator<<(char)
-??6ostream@@QAEAAV0@D@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned char)
-??6ostream@@QAEAAV0@E@Z
-; public: class ostream & __thiscall ostream::operator<<(short)
-??6ostream@@QAEAAV0@F@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned short)
-??6ostream@@QAEAAV0@G@Z
-; public: class ostream & __thiscall ostream::operator<<(int)
-??6ostream@@QAEAAV0@H@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned int)
-??6ostream@@QAEAAV0@I@Z
-; public: class ostream & __thiscall ostream::operator<<(long)
-??6ostream@@QAEAAV0@J@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned long)
-??6ostream@@QAEAAV0@K@Z
-; public: class ostream & __thiscall ostream::operator<<(float)
-??6ostream@@QAEAAV0@M@Z
-; public: class ostream & __thiscall ostream::operator<<(double)
-??6ostream@@QAEAAV0@N@Z
-; public: class ostream & __thiscall ostream::operator<<(long double)
-??6ostream@@QAEAAV0@O@Z
-; public: class ostream & __thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream &))
-??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
-; public: class ostream & __thiscall ostream::operator<<(class ios & (__cdecl*)(class ios &))
-??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
-; public: class ostream & __thiscall ostream::operator<<(class streambuf *)
-??6ostream@@QAEAAV0@PAVstreambuf@@@Z
-; public: class ostream & __thiscall ostream::operator<<(signed char const *)
-??6ostream@@QAEAAV0@PBC@Z
-; public: class ostream & __thiscall ostream::operator<<(char const *)
-??6ostream@@QAEAAV0@PBD@Z
-; public: class ostream & __thiscall ostream::operator<<(unsigned char const *)
-??6ostream@@QAEAAV0@PBE@Z
-; public: class ostream & __thiscall ostream::operator<<(void const *)
-??6ostream@@QAEAAV0@PBX@Z
-; public: int __thiscall ios::operator!(void)const 
-??7ios@@QBEHXZ
-; public: int __thiscall type_info::operator==(class type_info const &)const 
-??8type_info@@QBEHABV0@@Z
-; public: int __thiscall type_info::operator!=(class type_info const &)const 
-??9type_info@@QBEHABV0@@Z
-; public: __thiscall ios::operator void *(void)const 
-??Bios@@QBEPAXXZ
-; const  __non_rtti_object::`vftable'
-??_7__non_rtti_object@@6B@
-; const  bad_cast::`vftable'
-??_7bad_cast@@6B@
-; const  bad_typeid::`vftable'
-??_7bad_typeid@@6B@
-; const  exception::`vftable'
-??_7exception@@6B@
-; const  filebuf::`vftable'
-??_7filebuf@@6B@
-; const  fstream::`vftable'
-??_7fstream@@6B@
-; const  ifstream::`vftable'
-??_7ifstream@@6B@
-; const  ios::`vftable'
-??_7ios@@6B@
-; const  iostream::`vftable'
-??_7iostream@@6B@
-; const  istream::`vftable'
-??_7istream@@6B@
-; const  istream_withassign::`vftable'
-??_7istream_withassign@@6B@
-; const  istrstream::`vftable'
-??_7istrstream@@6B@
-; const  logic_error::`vftable'
-??_7logic_error@@6B@
-; const  ofstream::`vftable'
-??_7ofstream@@6B@
-; const  ostream::`vftable'
-??_7ostream@@6B@
-; const  ostream_withassign::`vftable'
-??_7ostream_withassign@@6B@
-; const  ostrstream::`vftable'
-??_7ostrstream@@6B@
-; const  stdiobuf::`vftable'
-??_7stdiobuf@@6B@
-; const  stdiostream::`vftable'
-??_7stdiostream@@6B@
-; const  streambuf::`vftable'
-??_7streambuf@@6B@
-; const  strstream::`vftable'
-??_7strstream@@6B@
-; const  strstreambuf::`vftable'
-??_7strstreambuf@@6B@
-; const  fstream::`vbtable'{for `istream'}
-??_8fstream@@7Bistream@@@
-; const  fstream::`vbtable'{for `ostream'}
-??_8fstream@@7Bostream@@@
-; const  ifstream::`vbtable'
-??_8ifstream@@7B@
-; const  iostream::`vbtable'{for `istream'}
-??_8iostream@@7Bistream@@@
-; const  iostream::`vbtable'{for `ostream'}
-??_8iostream@@7Bostream@@@
-; const  istream::`vbtable'
-??_8istream@@7B@
-; const  istream_withassign::`vbtable'
-??_8istream_withassign@@7B@
-; const  istrstream::`vbtable'
-??_8istrstream@@7B@
-; const  ofstream::`vbtable'
-??_8ofstream@@7B@
-; const  ostream::`vbtable'
-??_8ostream@@7B@
-; const  ostream_withassign::`vbtable'
-??_8ostream_withassign@@7B@
-; const  ostrstream::`vbtable'
-??_8ostrstream@@7B@
-; const  stdiostream::`vbtable'{for `istream'}
-??_8stdiostream@@7Bistream@@@
-; const  stdiostream::`vbtable'{for `ostream'}
-??_8stdiostream@@7Bostream@@@
-; const  strstream::`vbtable'{for `istream'}
-??_8strstream@@7Bistream@@@
-; const  strstream::`vbtable'{for `ostream'}
-??_8strstream@@7Bostream@@@
-; public: void __thiscall fstream::`vbase destructor'(void)
-??_Dfstream@@QAEXXZ
-; public: void __thiscall ifstream::`vbase destructor'(void)
-??_Difstream@@QAEXXZ
-; public: void __thiscall iostream::`vbase destructor'(void)
-??_Diostream@@QAEXXZ
-; public: void __thiscall istream::`vbase destructor'(void)
-??_Distream@@QAEXXZ
-; public: void __thiscall istream_withassign::`vbase destructor'(void)
-??_Distream_withassign@@QAEXXZ
-; public: void __thiscall istrstream::`vbase destructor'(void)
-??_Distrstream@@QAEXXZ
-; public: void __thiscall ofstream::`vbase destructor'(void)
-??_Dofstream@@QAEXXZ
-; public: void __thiscall ostream::`vbase destructor'(void)
-??_Dostream@@QAEXXZ
-; public: void __thiscall ostream_withassign::`vbase destructor'(void)
-??_Dostream_withassign@@QAEXXZ
-; public: void __thiscall ostrstream::`vbase destructor'(void)
-??_Dostrstream@@QAEXXZ
-; public: void __thiscall stdiostream::`vbase destructor'(void)
-??_Dstdiostream@@QAEXXZ
-; public: void __thiscall strstream::`vbase destructor'(void)
-??_Dstrstream@@QAEXXZ
-; public: void * __thiscall Iostream_init::`vector deleting destructor'(unsigned int)
-??_EIostream_init@@QAEPAXI@Z
-; public: virtual void * __thiscall __non_rtti_object::`vector deleting destructor'(unsigned int)
-??_E__non_rtti_object@@UAEPAXI@Z
-; public: virtual void * __thiscall bad_cast::`vector deleting destructor'(unsigned int)
-??_Ebad_cast@@UAEPAXI@Z
-; public: virtual void * __thiscall bad_typeid::`vector deleting destructor'(unsigned int)
-??_Ebad_typeid@@UAEPAXI@Z
-; public: virtual void * __thiscall exception::`vector deleting destructor'(unsigned int)
-??_Eexception@@UAEPAXI@Z
-; public: virtual void * __thiscall filebuf::`vector deleting destructor'(unsigned int)
-??_Efilebuf@@UAEPAXI@Z
-; public: virtual void * __thiscall fstream::`vector deleting destructor'(unsigned int)
-??_Efstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
-??_Eifstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ios::`vector deleting destructor'(unsigned int)
-??_Eios@@UAEPAXI@Z
-; public: virtual void * __thiscall iostream::`vector deleting destructor'(unsigned int)
-??_Eiostream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
-??_Eistream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
-??_Eistream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
-??_Eistrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall logic_error::`vector deleting destructor'(unsigned int)
-??_Elogic_error@@UAEPAXI@Z
-; public: virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
-??_Eofstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
-??_Eostream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
-??_Eostream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int)
-??_Eostrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiobuf::`vector deleting destructor'(unsigned int)
-??_Estdiobuf@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiostream::`vector deleting destructor'(unsigned int)
-??_Estdiostream@@UAEPAXI@Z
-; public: virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int)
-??_Estreambuf@@UAEPAXI@Z
-; public: virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
-??_Estrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int)
-??_Estrstreambuf@@UAEPAXI@Z
-; public: void * __thiscall Iostream_init::`scalar deleting destructor'(unsigned int)
-??_GIostream_init@@QAEPAXI@Z
-; public: virtual void * __thiscall __non_rtti_object::`scalar deleting destructor'(unsigned int)
-??_G__non_rtti_object@@UAEPAXI@Z
-; public: virtual void * __thiscall bad_cast::`scalar deleting destructor'(unsigned int)
-??_Gbad_cast@@UAEPAXI@Z
-; public: virtual void * __thiscall bad_typeid::`scalar deleting destructor'(unsigned int)
-??_Gbad_typeid@@UAEPAXI@Z
-; public: virtual void * __thiscall exception::`scalar deleting destructor'(unsigned int)
-??_Gexception@@UAEPAXI@Z
-; public: virtual void * __thiscall filebuf::`scalar deleting destructor'(unsigned int)
-??_Gfilebuf@@UAEPAXI@Z
-; public: virtual void * __thiscall fstream::`scalar deleting destructor'(unsigned int)
-??_Gfstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
-??_Gifstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ios::`scalar deleting destructor'(unsigned int)
-??_Gios@@UAEPAXI@Z
-; public: virtual void * __thiscall iostream::`scalar deleting destructor'(unsigned int)
-??_Giostream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
-??_Gistream@@UAEPAXI@Z
-; public: virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
-??_Gistream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
-??_Gistrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall logic_error::`scalar deleting destructor'(unsigned int)
-??_Glogic_error@@UAEPAXI@Z
-; public: virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
-??_Gofstream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
-??_Gostream@@UAEPAXI@Z
-; public: virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
-??_Gostream_withassign@@UAEPAXI@Z
-; public: virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int)
-??_Gostrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiobuf::`scalar deleting destructor'(unsigned int)
-??_Gstdiobuf@@UAEPAXI@Z
-; public: virtual void * __thiscall stdiostream::`scalar deleting destructor'(unsigned int)
-??_Gstdiostream@@UAEPAXI@Z
-; public: virtual void * __thiscall streambuf::`scalar deleting destructor'(unsigned int)
-??_Gstreambuf@@UAEPAXI@Z
-; public: virtual void * __thiscall strstream::`scalar deleting destructor'(unsigned int)
-??_Gstrstream@@UAEPAXI@Z
-; public: virtual void * __thiscall strstreambuf::`scalar deleting destructor'(unsigned int)
-??_Gstrstreambuf@@UAEPAXI@Z
-; int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
-?_query_new_handler@@YAP6AHI@ZXZ
-; int __cdecl _query_new_mode(void)
-?_query_new_mode@@YAHXZ
-; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
-?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
-; int __cdecl _set_new_mode(int)
-?_set_new_mode@@YAHH@Z
-; void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
-?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
-; public: static long const  ios::adjustfield
-?adjustfield@ios@@2JB
-; protected: int __thiscall streambuf::allocate(void)
-?allocate@streambuf@@IAEHXZ
-; public: class filebuf * __thiscall filebuf::attach(int)
-?attach@filebuf@@QAEPAV1@H@Z
-; public: void __thiscall fstream::attach(int)
-?attach@fstream@@QAEXH@Z
-; public: void __thiscall ifstream::attach(int)
-?attach@ifstream@@QAEXH@Z
-; public: void __thiscall ofstream::attach(int)
-?attach@ofstream@@QAEXH@Z
-; public: int __thiscall ios::bad(void)const 
-?bad@ios@@QBEHXZ
-; protected: char * __thiscall streambuf::base(void)const 
-?base@streambuf@@IBEPADXZ
-; public: static long const  ios::basefield
-?basefield@ios@@2JB
-; public: int __thiscall type_info::before(class type_info const &)const 
-?before@type_info@@QBEHABV1@@Z
-; public: static int const  filebuf::binary
-?binary@filebuf@@2HB
-; public: static long __cdecl ios::bitalloc(void)
-?bitalloc@ios@@SAJXZ
-; protected: int __thiscall streambuf::blen(void)const 
-?blen@streambuf@@IBEHXZ
-; class ostream_withassign  cerr
-?cerr@@3Vostream_withassign@@A
-; class istream_withassign  cin
-?cin@@3Vistream_withassign@@A
-; public: void __thiscall ios::clear(int)
-?clear@ios@@QAEXH@Z
-; class ostream_withassign  clog
-?clog@@3Vostream_withassign@@A
-; public: class filebuf * __thiscall filebuf::close(void)
-?close@filebuf@@QAEPAV1@XZ
-; public: void __thiscall fstream::close(void)
-?close@fstream@@QAEXXZ
-; public: void __thiscall ifstream::close(void)
-?close@ifstream@@QAEXXZ
-; public: void __thiscall ofstream::close(void)
-?close@ofstream@@QAEXXZ
-; public: void __cdecl ios::clrlock(void)
-?clrlock@ios@@QAAXXZ
-; public: void __thiscall streambuf::clrlock(void)
-?clrlock@streambuf@@QAEXXZ
-; class ostream_withassign  cout
-?cout@@3Vostream_withassign@@A
-; public: void __thiscall streambuf::dbp(void)
-?dbp@streambuf@@QAEXXZ
-; class ios & __cdecl dec(class ios &)
-?dec@@YAAAVios@@AAV1@@Z
-; public: void __thiscall ios::delbuf(int)
-?delbuf@ios@@QAEXH@Z
-; public: int __thiscall ios::delbuf(void)const 
-?delbuf@ios@@QBEHXZ
-; protected: virtual int __thiscall streambuf::doallocate(void)
-?doallocate@streambuf@@MAEHXZ
-; protected: virtual int __thiscall strstreambuf::doallocate(void)
-?doallocate@strstreambuf@@MAEHXZ
-; public: void __thiscall istream::eatwhite(void)
-?eatwhite@istream@@QAEXXZ
-; protected: char * __thiscall streambuf::eback(void)const 
-?eback@streambuf@@IBEPADXZ
-; protected: char * __thiscall streambuf::ebuf(void)const 
-?ebuf@streambuf@@IBEPADXZ
-; protected: char * __thiscall streambuf::egptr(void)const 
-?egptr@streambuf@@IBEPADXZ
-; class ostream & __cdecl endl(class ostream &)
-?endl@@YAAAVostream@@AAV1@@Z
-; class ostream & __cdecl ends(class ostream &)
-?ends@@YAAAVostream@@AAV1@@Z
-; public: int __thiscall ios::eof(void)const 
-?eof@ios@@QBEHXZ
-; protected: char * __thiscall streambuf::epptr(void)const 
-?epptr@streambuf@@IBEPADXZ
-; private: static int  ios::fLockcInit
-?fLockcInit@ios@@0HA
-; public: int __thiscall ios::fail(void)const 
-?fail@ios@@QBEHXZ
-; public: int __thiscall filebuf::fd(void)const 
-?fd@filebuf@@QBEHXZ
-; public: int __thiscall fstream::fd(void)const 
-?fd@fstream@@QBEHXZ
-; public: int __thiscall ifstream::fd(void)const 
-?fd@ifstream@@QBEHXZ
-; public: int __thiscall ofstream::fd(void)const 
-?fd@ofstream@@QBEHXZ
-; public: char __thiscall ios::fill(char)
-?fill@ios@@QAEDD@Z
-; public: char __thiscall ios::fill(void)const 
-?fill@ios@@QBEDXZ
-; public: long __thiscall ios::flags(long)
-?flags@ios@@QAEJJ@Z
-; public: long __thiscall ios::flags(void)const 
-?flags@ios@@QBEJXZ
-; public: static long const  ios::floatfield
-?floatfield@ios@@2JB
-; class ostream & __cdecl flush(class ostream &)
-?flush@@YAAAVostream@@AAV1@@Z
-; public: class ostream & __thiscall ostream::flush(void)
-?flush@ostream@@QAEAAV1@XZ
-; public: void __thiscall strstreambuf::freeze(int)
-?freeze@strstreambuf@@QAEXH@Z
-; protected: void __thiscall streambuf::gbump(int)
-?gbump@streambuf@@IAEXH@Z
-; public: int __thiscall istream::gcount(void)const 
-?gcount@istream@@QBEHXZ
-; protected: class istream & __thiscall istream::get(char *,int,int)
-?get@istream@@IAEAAV1@PADHH@Z
-; public: class istream & __thiscall istream::get(signed char &)
-?get@istream@@QAEAAV1@AAC@Z
-; public: class istream & __thiscall istream::get(char &)
-?get@istream@@QAEAAV1@AAD@Z
-; public: class istream & __thiscall istream::get(unsigned char &)
-?get@istream@@QAEAAV1@AAE@Z
-; public: class istream & __thiscall istream::get(class streambuf &,char)
-?get@istream@@QAEAAV1@AAVstreambuf@@D@Z
-; public: class istream & __thiscall istream::get(signed char *,int,char)
-?get@istream@@QAEAAV1@PACHD@Z
-; public: class istream & __thiscall istream::get(char *,int,char)
-?get@istream@@QAEAAV1@PADHD@Z
-; public: class istream & __thiscall istream::get(unsigned char *,int,char)
-?get@istream@@QAEAAV1@PAEHD@Z
-; public: int __thiscall istream::get(void)
-?get@istream@@QAEHXZ
-; private: int __thiscall istream::getdouble(char *,int)
-?getdouble@istream@@AAEHPADH@Z
-; private: int __thiscall istream::getint(char *)
-?getint@istream@@AAEHPAD@Z
-; public: class istream & __thiscall istream::getline(signed char *,int,char)
-?getline@istream@@QAEAAV1@PACHD@Z
-; public: class istream & __thiscall istream::getline(char *,int,char)
-?getline@istream@@QAEAAV1@PADHD@Z
-; public: class istream & __thiscall istream::getline(unsigned char *,int,char)
-?getline@istream@@QAEAAV1@PAEHD@Z
-; public: int __thiscall ios::good(void)const 
-?good@ios@@QBEHXZ
-; protected: char * __thiscall streambuf::gptr(void)const 
-?gptr@streambuf@@IBEPADXZ
-; class ios & __cdecl hex(class ios &)
-?hex@@YAAAVios@@AAV1@@Z
-; public: class istream & __thiscall istream::ignore(int,int)
-?ignore@istream@@QAEAAV1@HH@Z
-; public: int __thiscall streambuf::in_avail(void)const 
-?in_avail@streambuf@@QBEHXZ
-; protected: void __thiscall ios::init(class streambuf *)
-?init@ios@@IAEXPAVstreambuf@@@Z
-; public: int __thiscall istream::ipfx(int)
-?ipfx@istream@@QAEHH@Z
-; public: int __thiscall filebuf::is_open(void)const 
-?is_open@filebuf@@QBEHXZ
-; public: int __thiscall fstream::is_open(void)const 
-?is_open@fstream@@QBEHXZ
-; public: int __thiscall ifstream::is_open(void)const 
-?is_open@ifstream@@QBEHXZ
-; public: int __thiscall ofstream::is_open(void)const 
-?is_open@ofstream@@QBEHXZ
-; public: void __thiscall istream::isfx(void)
-?isfx@istream@@QAEXXZ
-; public: long & __thiscall ios::iword(int)const 
-?iword@ios@@QBEAAJH@Z
-; public: void __cdecl ios::lock(void)
-?lock@ios@@QAAXXZ
-; public: void __thiscall streambuf::lock(void)
-?lock@streambuf@@QAEXXZ
-; public: void __cdecl ios::lockbuf(void)
-?lockbuf@ios@@QAAXXZ
-; protected: static void __cdecl ios::lockc(void)
-?lockc@ios@@KAXXZ
-; protected: struct _CRT_CRITICAL_SECTION * __thiscall ios::lockptr(void)
-?lockptr@ios@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
-; protected: struct _CRT_CRITICAL_SECTION * __thiscall streambuf::lockptr(void)
-?lockptr@streambuf@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
-; public: char const * __thiscall type_info::name(void)const 
-?name@type_info@@QBEPBDXZ
-; class ios & __cdecl oct(class ios &)
-?oct@@YAAAVios@@AAV1@@Z
-; public: class filebuf * __thiscall filebuf::open(char const *,int,int)
-?open@filebuf@@QAEPAV1@PBDHH@Z
-; public: void __thiscall fstream::open(char const *,int,int)
-?open@fstream@@QAEXPBDHH@Z
-; public: void __thiscall ifstream::open(char const *,int,int)
-?open@ifstream@@QAEXPBDHH@Z
-; public: void __thiscall ofstream::open(char const *,int,int)
-?open@ofstream@@QAEXPBDHH@Z
-; public: static int const  filebuf::openprot
-?openprot@filebuf@@2HB
-; public: int __thiscall ostream::opfx(void)
-?opfx@ostream@@QAEHXZ
-; public: void __thiscall ostream::osfx(void)
-?osfx@ostream@@QAEXXZ
-; public: int __thiscall streambuf::out_waiting(void)const 
-?out_waiting@streambuf@@QBEHXZ
-; public: virtual int __thiscall filebuf::overflow(int)
-?overflow@filebuf@@UAEHH@Z
-; public: virtual int __thiscall stdiobuf::overflow(int)
-?overflow@stdiobuf@@UAEHH@Z
-; public: virtual int __thiscall strstreambuf::overflow(int)
-?overflow@strstreambuf@@UAEHH@Z
-; public: virtual int __thiscall stdiobuf::pbackfail(int)
-?pbackfail@stdiobuf@@UAEHH@Z
-; public: virtual int __thiscall streambuf::pbackfail(int)
-?pbackfail@streambuf@@UAEHH@Z
-; protected: char * __thiscall streambuf::pbase(void)const 
-?pbase@streambuf@@IBEPADXZ
-; protected: void __thiscall streambuf::pbump(int)
-?pbump@streambuf@@IAEXH@Z
-; public: int __thiscall ostrstream::pcount(void)const 
-?pcount@ostrstream@@QBEHXZ
-; public: int __thiscall strstream::pcount(void)const 
-?pcount@strstream@@QBEHXZ
-; public: int __thiscall istream::peek(void)
-?peek@istream@@QAEHXZ
-; protected: char * __thiscall streambuf::pptr(void)const 
-?pptr@streambuf@@IBEPADXZ
-; public: int __thiscall ios::precision(int)
-?precision@ios@@QAEHH@Z
-; public: int __thiscall ios::precision(void)const 
-?precision@ios@@QBEHXZ
-; public: class ostream & __thiscall ostream::put(signed char)
-?put@ostream@@QAEAAV1@C@Z
-; public: class ostream & __thiscall ostream::put(char)
-?put@ostream@@QAEAAV1@D@Z
-; public: class ostream & __thiscall ostream::put(unsigned char)
-?put@ostream@@QAEAAV1@E@Z
-; public: class istream & __thiscall istream::putback(char)
-?putback@istream@@QAEAAV1@D@Z
-; public: void * & __thiscall ios::pword(int)const 
-?pword@ios@@QBEAAPAXH@Z
-; public: char const * __thiscall type_info::raw_name(void)const 
-?raw_name@type_info@@QBEPBDXZ
-; public: class filebuf * __thiscall fstream::rdbuf(void)const 
-?rdbuf@fstream@@QBEPAVfilebuf@@XZ
-; public: class filebuf * __thiscall ifstream::rdbuf(void)const 
-?rdbuf@ifstream@@QBEPAVfilebuf@@XZ
-; public: class streambuf * __thiscall ios::rdbuf(void)const 
-?rdbuf@ios@@QBEPAVstreambuf@@XZ
-; public: class strstreambuf * __thiscall istrstream::rdbuf(void)const 
-?rdbuf@istrstream@@QBEPAVstrstreambuf@@XZ
-; public: class filebuf * __thiscall ofstream::rdbuf(void)const 
-?rdbuf@ofstream@@QBEPAVfilebuf@@XZ
-; public: class strstreambuf * __thiscall ostrstream::rdbuf(void)const 
-?rdbuf@ostrstream@@QBEPAVstrstreambuf@@XZ
-; public: class stdiobuf * __thiscall stdiostream::rdbuf(void)const 
-?rdbuf@stdiostream@@QBEPAVstdiobuf@@XZ
-; public: class strstreambuf * __thiscall strstream::rdbuf(void)const 
-?rdbuf@strstream@@QBEPAVstrstreambuf@@XZ
-; public: int __thiscall ios::rdstate(void)const 
-?rdstate@ios@@QBEHXZ
-; public: class istream & __thiscall istream::read(signed char *,int)
-?read@istream@@QAEAAV1@PACH@Z
-; public: class istream & __thiscall istream::read(char *,int)
-?read@istream@@QAEAAV1@PADH@Z
-; public: class istream & __thiscall istream::read(unsigned char *,int)
-?read@istream@@QAEAAV1@PAEH@Z
-; public: int __thiscall streambuf::sbumpc(void)
-?sbumpc@streambuf@@QAEHXZ
-; public: class istream & __thiscall istream::seekg(long)
-?seekg@istream@@QAEAAV1@J@Z
-; public: class istream & __thiscall istream::seekg(long,enum ios::seek_dir)
-?seekg@istream@@QAEAAV1@JW4seek_dir@ios@@@Z
-; public: virtual long __thiscall filebuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@filebuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int)
-?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z
-; public: class ostream & __thiscall ostream::seekp(long)
-?seekp@ostream@@QAEAAV1@J@Z
-; public: class ostream & __thiscall ostream::seekp(long,enum ios::seek_dir)
-?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z
-; public: virtual long __thiscall streambuf::seekpos(long,int)
-?seekpos@streambuf@@UAEJJH@Z
-; void (__cdecl*__cdecl set_new_handler(void (__cdecl*)(void)))(void)
-?set_new_handler@@YAP6AXXZP6AXXZ@Z
-; void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
-?set_terminate@@YAP6AXXZP6AXXZ@Z
-; void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
-?set_unexpected@@YAP6AXXZP6AXXZ@Z
-; protected: void __thiscall streambuf::setb(char *,char *,int)
-?setb@streambuf@@IAEXPAD0H@Z
-; public: virtual class streambuf * __thiscall filebuf::setbuf(char *,int)
-?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z
-; public: class streambuf * __thiscall fstream::setbuf(char *,int)
-?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z
-; public: class streambuf * __thiscall ifstream::setbuf(char *,int)
-?setbuf@ifstream@@QAEPAVstreambuf@@PADH@Z
-; public: class streambuf * __thiscall ofstream::setbuf(char *,int)
-?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z
-; public: virtual class streambuf * __thiscall streambuf::setbuf(char *,int)
-?setbuf@streambuf@@UAEPAV1@PADH@Z
-; public: virtual class streambuf * __thiscall strstreambuf::setbuf(char *,int)
-?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z
-; public: long __thiscall ios::setf(long)
-?setf@ios@@QAEJJ@Z
-; public: long __thiscall ios::setf(long,long)
-?setf@ios@@QAEJJJ@Z
-; protected: void __thiscall streambuf::setg(char *,char *,char *)
-?setg@streambuf@@IAEXPAD00@Z
-; public: void __cdecl ios::setlock(void)
-?setlock@ios@@QAAXXZ
-; public: void __thiscall streambuf::setlock(void)
-?setlock@streambuf@@QAEXXZ
-; public: int __thiscall filebuf::setmode(int)
-?setmode@filebuf@@QAEHH@Z
-; public: int __thiscall fstream::setmode(int)
-?setmode@fstream@@QAEHH@Z
-; public: int __thiscall ifstream::setmode(int)
-?setmode@ifstream@@QAEHH@Z
-; public: int __thiscall ofstream::setmode(int)
-?setmode@ofstream@@QAEHH@Z
-; protected: void __thiscall streambuf::setp(char *,char *)
-?setp@streambuf@@IAEXPAD0@Z
-; public: int __thiscall stdiobuf::setrwbuf(int,int)
-?setrwbuf@stdiobuf@@QAEHHH@Z
-; public: int __thiscall streambuf::sgetc(void)
-?sgetc@streambuf@@QAEHXZ
-; public: int __thiscall streambuf::sgetn(char *,int)
-?sgetn@streambuf@@QAEHPADH@Z
-; public: static int const  filebuf::sh_none
-?sh_none@filebuf@@2HB
-; public: static int const  filebuf::sh_read
-?sh_read@filebuf@@2HB
-; public: static int const  filebuf::sh_write
-?sh_write@filebuf@@2HB
-; public: int __thiscall streambuf::snextc(void)
-?snextc@streambuf@@QAEHXZ
-; public: int __thiscall streambuf::sputbackc(char)
-?sputbackc@streambuf@@QAEHD@Z
-; public: int __thiscall streambuf::sputc(int)
-?sputc@streambuf@@QAEHH@Z
-; public: int __thiscall streambuf::sputn(char const *,int)
-?sputn@streambuf@@QAEHPBDH@Z
-; public: struct _iobuf * __thiscall stdiobuf::stdiofile(void)
-?stdiofile@stdiobuf@@QAEPAU_iobuf@@XZ
-; public: void __thiscall streambuf::stossc(void)
-?stossc@streambuf@@QAEXXZ
-; public: char * __thiscall istrstream::str(void)
-?str@istrstream@@QAEPADXZ
-; public: char * __thiscall ostrstream::str(void)
-?str@ostrstream@@QAEPADXZ
-; public: char * __thiscall strstream::str(void)
-?str@strstream@@QAEPADXZ
-; public: char * __thiscall strstreambuf::str(void)
-?str@strstreambuf@@QAEPADXZ
-; private: static int  ios::sunk_with_stdio
-?sunk_with_stdio@ios@@0HA
-; public: virtual int __thiscall filebuf::sync(void)
-?sync@filebuf@@UAEHXZ
-; public: int __thiscall istream::sync(void)
-?sync@istream@@QAEHXZ
-; public: virtual int __thiscall stdiobuf::sync(void)
-?sync@stdiobuf@@UAEHXZ
-; public: virtual int __thiscall streambuf::sync(void)
-?sync@streambuf@@UAEHXZ
-; public: virtual int __thiscall strstreambuf::sync(void)
-?sync@strstreambuf@@UAEHXZ
-; public: static void __cdecl ios::sync_with_stdio(void)
-?sync_with_stdio@ios@@SAXXZ
-; public: long __thiscall istream::tellg(void)
-?tellg@istream@@QAEJXZ
-; public: long __thiscall ostream::tellp(void)
-?tellp@ostream@@QAEJXZ
-; void __cdecl terminate(void)
-?terminate@@YAXXZ
-; public: static int const  filebuf::text
-?text@filebuf@@2HB
-; public: class ostream * __thiscall ios::tie(class ostream *)
-?tie@ios@@QAEPAVostream@@PAV2@@Z
-; public: class ostream * __thiscall ios::tie(void)const 
-?tie@ios@@QBEPAVostream@@XZ
-; protected: void __thiscall streambuf::unbuffered(int)
-?unbuffered@streambuf@@IAEXH@Z
-; protected: int __thiscall streambuf::unbuffered(void)const 
-?unbuffered@streambuf@@IBEHXZ
-; public: virtual int __thiscall filebuf::underflow(void)
-?underflow@filebuf@@UAEHXZ
-; public: virtual int __thiscall stdiobuf::underflow(void)
-?underflow@stdiobuf@@UAEHXZ
-; public: virtual int __thiscall strstreambuf::underflow(void)
-?underflow@strstreambuf@@UAEHXZ
-; void __cdecl unexpected(void)
-?unexpected@@YAXXZ
-; public: void __cdecl ios::unlock(void)
-?unlock@ios@@QAAXXZ
-; public: void __thiscall streambuf::unlock(void)
-?unlock@streambuf@@QAEXXZ
-; public: void __cdecl ios::unlockbuf(void)
-?unlockbuf@ios@@QAAXXZ
-; protected: static void __cdecl ios::unlockc(void)
-?unlockc@ios@@KAXXZ
-; public: long __thiscall ios::unsetf(long)
-?unsetf@ios@@QAEJJ@Z
-; public: virtual char const * __thiscall exception::what(void)const 
-?what@exception@@UBEPBDXZ
-; public: int __thiscall ios::width(int)
-?width@ios@@QAEHH@Z
-; public: int __thiscall ios::width(void)const 
-?width@ios@@QBEHXZ
-; public: class ostream & __thiscall ostream::write(signed char const *,int)
-?write@ostream@@QAEAAV1@PBCH@Z
-; public: class ostream & __thiscall ostream::write(char const *,int)
-?write@ostream@@QAEAAV1@PBDH@Z
-; public: class ostream & __thiscall ostream::write(unsigned char const *,int)
-?write@ostream@@QAEAAV1@PBEH@Z
-; private: class ostream & __thiscall ostream::writepad(char const *,char const *)
-?writepad@ostream@@AAEAAV1@PBD0@Z
-; class istream & __cdecl ws(class istream &)
-?ws@@YAAAVistream@@AAV1@@Z
-; private: static int  ios::x_curindex
-?x_curindex@ios@@0HA
-; private: static struct _CRT_CRITICAL_SECTION  ios::x_lockc
-?x_lockc@ios@@0U_CRT_CRITICAL_SECTION@@A
-; private: static long  ios::x_maxbit
-?x_maxbit@ios@@0JA
-; private: static long *  ios::x_statebuf
-?x_statebuf@ios@@0PAJA
-; public: static int __cdecl ios::xalloc(void)
-?xalloc@ios@@SAHXZ
-; public: virtual int __thiscall streambuf::xsgetn(char *,int)
-?xsgetn@streambuf@@UAEHPADH@Z
-; public: virtual int __thiscall streambuf::xsputn(char const *,int)
-?xsputn@streambuf@@UAEHPBDH@Z
-$I10_OUTPUT
-_CIacos
-_CIasin
-_CIatan
-_CIatan2
-_CIcos
-_CIcosh
-_CIexp
-_CIfmod
-_CIlog
-_CIlog10
-_CIpow
-_CIsin
-_CIsinh
-_CIsqrt
-_CItan
-_CItanh
-_CxxThrowException
-_EH_prolog
-_HUGE
-_XcptFilter
-__CxxFrameHandler
-__CxxLongjmpUnwind
-__RTCastToVoid
-__RTDynamicCast
-__RTtypeid
-__STRINGTOLD
-__argc
-__argv
-__dllonexit
-__doserrno
-__fpecode
-__getmainargs
-__initenv
-__isascii
-__iscsym
-__iscsymf
-__lconv_init
-__mb_cur_max
-__p___argc
-__p___argv
-__p___initenv
-__p___mb_cur_max
-__p___wargv
-__p___winitenv
-__p__acmdln
-__p__amblksiz
-__p__commode
-__p__daylight
-__p__dstbias
-__p__environ
-__p__fmode
-__p__iob
-__p__mbctype
-__p__osver
-__p__pctype
-__p__pgmptr
-__p__pwctype
-__p__timezone
-__p__tzname
-__p__wcmdln
-__p__wenviron
-__p__winmajor
-__p__winminor
-__p__winver
-__p__wpgmptr
-__pxcptinfoptrs
-__set_app_type
-__setusermatherr
-__threadhandle
-__threadid
-__toascii
-__unDName
-__wargv
-__wgetmainargs
-__winitenv
-_abnormal_termination
-_access
-_acmdln
-_adj_fdiv_m16i
-_adj_fdiv_m32
-_adj_fdiv_m32i
-_adj_fdiv_m64
-_adj_fdiv_r
-_adj_fdivr_m16i
-_adj_fdivr_m32
-_adj_fdivr_m32i
-_adj_fdivr_m64
-_adj_fpatan
-_adj_fprem
-_adj_fprem1
-_adj_fptan
-_adjust_fdiv
-_aexit_rtn
-_amsg_exit
-_assert
-_atodbl
-_atoldbl
-_beep
-_beginthread
-_beginthreadex
-_c_exit
-_cabs
-_cexit
-_cgets
-_chdir
-_chdrive
-_chgsign
-_chmod
-_chsize
-_clearfp
-_close
-_commit
-_commode
-_control87
-_controlfp
-_copysign
-_cprintf
-_cputs
-_creat
-_cscanf
-_ctype
-_cwait
-_daylight
-_dstbias
-_dup
-_dup2
-_ecvt
-_endthread
-_endthreadex
-_environ
-_eof
-_errno
-_except_handler2
-_except_handler3
-_execl
-_execle
-_execlp
-_execlpe
-_execv
-_execve
-_execvp
-_execvpe
-_exit
-_expand
-_fcloseall
-_fcvt
-_fdopen
-_fgetchar
-_fgetwchar
-_filbuf
-_fileinfo
-_filelength
-_filelengthi64
-_fileno
-_findclose
-_findfirst
-_findfirsti64
-_findnext
-_findnexti64
-_finite
-_flsbuf
-_flushall
-_fmode
-_fpclass
-_fpieee_flt
-_fpreset
-_fputchar
-_fputwchar
-_fsopen
-_fstat
-_fstati64
-_ftime
-_ftol
-_fullpath
-_futime
-_gcvt
-_get_osfhandle
-_getch
-_getche
-_getcwd
-_getdcwd
-_getdiskfree
-_getdllprocaddr
-_getdrive
-_getdrives
-_getmaxstdio
-_getmbcp
-_getpid
-_getsystime
-_getw
-_getws
-_global_unwind2
-_heapadd
-_heapchk
-_heapmin
-_heapset
-_heapused
-_heapwalk
-_hypot
-_initterm
-_inp
-_inpd
-_inpw
-_iob
-_isatty
-_isctype
-_ismbbalnum
-_ismbbalpha
-_ismbbgraph
-_ismbbkalnum
-_ismbbkana
-_ismbbkprint
-_ismbbkpunct
-_ismbblead
-_ismbbprint
-_ismbbpunct
-_ismbbtrail
-_ismbcalnum
-_ismbcalpha
-_ismbcdigit
-_ismbcgraph
-_ismbchira
-_ismbckata
-_ismbcl0
-_ismbcl1
-_ismbcl2
-_ismbclegal
-_ismbclower
-_ismbcprint
-_ismbcpunct
-_ismbcspace
-_ismbcsymbol
-_ismbcupper
-_ismbslead
-_ismbstrail
-_isnan
-_itoa
-_itow
-_j0
-_j1
-_jn
-_kbhit
-_lfind
-_loaddll
-_local_unwind2
-_locking
-_logb
-_longjmpex
-_lrotl
-_lrotr
-_lsearch
-_lseek
-_lseeki64
-_ltoa
-_ltow
-_makepath
-_mbbtombc
-_mbbtype
-_mbccpy
-_mbcjistojms
-_mbcjmstojis
-_mbclen
-_mbctohira
-_mbctokata
-_mbctolower
-_mbctombb
-_mbctoupper
-_mbctype
-_mbsbtype
-_mbscat
-_mbschr
-_mbscmp
-_mbscoll
-_mbscpy
-_mbscspn
-_mbsdec
-_mbsdup
-_mbsicmp
-_mbsicoll
-_mbsinc
-_mbslen
-_mbslwr
-_mbsnbcat
-_mbsnbcmp
-_mbsnbcnt
-_mbsnbcoll
-_mbsnbcpy
-_mbsnbicmp
-_mbsnbicoll
-_mbsnbset
-_mbsncat
-_mbsnccnt
-_mbsncmp
-_mbsncoll
-_mbsncpy
-_mbsnextc
-_mbsnicmp
-_mbsnicoll
-_mbsninc
-_mbsnset
-_mbspbrk
-_mbsrchr
-_mbsrev
-_mbsset
-_mbsspn
-_mbsspnp
-_mbsstr
-_mbstok
-_mbstrlen
-_mbsupr
-_memccpy
-_memicmp
-_mkdir
-_mktemp
-_msize
-_mtlock
-_mtunlock
-_nextafter
-_onexit
-_open
-_open_osfhandle
-_osver
-_outp
-_outpd
-_outpw
-_pclose
-_pctype
-_pgmptr
-_pipe
-_popen
-_purecall
-_putch
-_putenv
-_putw
-_putws
-_pwctype
-_read
-_rmdir
-_rmtmp
-_rotl
-_rotr
-_safe_fdiv
-_safe_fdivr
-_safe_fprem
-_safe_fprem1
-_scalb
-_searchenv
-_seh_longjmp_unwind
-_set_error_mode
-_seterrormode
-_setjmp
-_setjmp3
-_setmaxstdio
-_setmbcp
-_setmode
-_setsystime
-_sleep
-_snprintf
-_snwprintf
-_sopen
-_spawnl
-_spawnle
-_spawnlp
-_spawnlpe
-_spawnv
-_spawnve
-_spawnvp
-_spawnvpe
-_splitpath
-_stat
-_stati64
-_statusfp
-_strcmpi
-_strdate
-_strdup
-_strerror
-_stricmp
-_stricoll
-_strlwr
-_strncoll
-_strnicmp
-_strnicoll
-_strnset
-_strrev
-_strset
-_strtime
-_strupr
-_swab
-_sys_errlist
-_sys_nerr
-_tell
-_telli64
-_tempnam
-_timezone
-_tolower
-_toupper
-_tzname
-_tzset
-_ultoa
-_ultow
-_umask
-_ungetch
-_unlink
-_unloaddll
-_utime
-_vsnprintf
-_vsnwprintf
-_waccess
-_wasctime
-_wchdir
-_wchmod
-_wcmdln
-_wcreat
-_wcsdup
-_wcsicmp
-_wcsicoll
-_wcslwr
-_wcsncoll
-_wcsnicmp
-_wcsnicoll
-_wcsnset
-_wcsrev
-_wcsset
-_wcsupr
-_wctime DATA
-;_wctime32 = _wctime
-_wenviron
-_wexecl
-_wexecle
-_wexeclp
-_wexeclpe
-_wexecv
-_wexecve
-_wexecvp
-_wexecvpe
-_wfdopen
-_wfindfirst
-_wfindfirsti64
-_wfindnext
-_wfindnexti64
-_wfopen
-_wfreopen
-_wfsopen
-_wfullpath
-_wgetcwd
-_wgetdcwd
-_wgetenv
-_winmajor
-_winminor
-_winver
-_wmakepath
-_wmkdir
-_wmktemp
-_wopen
-_wperror
-_wpgmptr
-_wpopen
-_wputenv
-_wremove
-_wrename
-_write
-_wrmdir
-_wsearchenv
-_wsetlocale
-_wsopen
-_wspawnl
-_wspawnle
-_wspawnlp
-_wspawnlpe
-_wspawnv
-_wspawnve
-_wspawnvp
-_wspawnvpe
-_wsplitpath
-_wstat
-_wstati64
-_wstrdate
-_wstrtime
-_wsystem
-_wtempnam
-_wtmpnam
-_wtoi
-_wtol
-_wunlink
-_wutime
-_y0
-_y1
-_yn
-abort
-abs
-acos
-asctime
-asin
-atan
-atan2
-atexit DATA
-atof
-atoi
-atol
-bsearch
-calloc
-ceil
-clearerr
-clock
-cos
-cosh
-ctime DATA
-;_ctime32 = ctime
-difftime
-div
-exit
-exp
-fabs
-fclose
-feof
-ferror
-fflush
-fgetc
-fgetpos
-fgets
-fgetwc
-fgetws
-floor
-fmod
-fopen
-fprintf
-fputc
-fputs
-fputwc
-fputws
-fread
-free
-freopen
-frexp
-fscanf
-fseek
-fsetpos
-ftell
-fwprintf
-fwrite
-fwscanf
-getc
-getchar
-getenv
-gets
-getwc
-getwchar
-gmtime DATA
-;_gmtime32 = gmtime
-is_wctype
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-isleadbyte
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalnum
-iswalpha
-iswascii
-iswcntrl
-iswctype
-iswdigit
-iswgraph
-iswlower
-iswprint
-iswpunct
-iswspace
-iswupper
-iswxdigit
-isxdigit
-labs
-ldexp
-ldiv
-localeconv
-localtime DATA
-;_localtime32 = localtime
-log
-log10
-malloc
-mblen
-mbstowcs
-mbtowc
-memchr
-memcmp
-memcpy
-memmove
-memset
-mktime DATA
-;_mktime32 = mktime
-modf
-perror
-pow
-printf
-putc
-putchar
-puts
-putwc
-putwchar
-qsort
-raise
-rand
-realloc
-remove
-rename
-rewind
-scanf
-setbuf
-setlocale
-setvbuf
-signal
-sin
-sinh
-sprintf
-sqrt
-srand
-sscanf
-strcat
-strchr
-strcmp
-strcoll
-strcpy
-strcspn
-strerror
-strftime
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtod
-strtok
-strtol
-strtoul
-strxfrm
-swprintf
-swscanf
-system
-tan
-tanh
-time DATA
-;_time32 = time
-tmpfile
-tmpnam
-tolower
-toupper
-towlower
-towupper
-ungetc
-ungetwc
-vfprintf
-vfwprintf
-vprintf
-vsprintf
-vswprintf
-vwprintf
-wcscat
-wcschr
-wcscmp
-wcscoll
-wcscpy
-wcscspn
-wcsftime
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstod
-wcstok
-wcstol
-wcstombs
-wcstoul
-wcsxfrm
-wctomb
-wprintf
-wscanf
+; 
+; Exports of file MSVCRT40.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSVCRT40.dll
+EXPORTS
+; public: __thiscall Iostream_init::Iostream_init(class ios &,int)
+??0Iostream_init@@QAE@AAVios@@H@Z
+; public: __thiscall Iostream_init::Iostream_init(void)
+??0Iostream_init@@QAE@XZ
+; public: __thiscall __non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
+??0__non_rtti_object@@QAE@ABV0@@Z
+; public: __thiscall __non_rtti_object::__non_rtti_object(char const *)
+??0__non_rtti_object@@QAE@PBD@Z
+; public: __thiscall bad_cast::bad_cast(char const * const &)
+??0bad_cast@@QAE@ABQBD@Z
+; public: __thiscall bad_cast::bad_cast(class bad_cast const &)
+??0bad_cast@@QAE@ABV0@@Z
+; public: __thiscall bad_typeid::bad_typeid(class bad_typeid const &)
+??0bad_typeid@@QAE@ABV0@@Z
+; public: __thiscall bad_typeid::bad_typeid(char const *)
+??0bad_typeid@@QAE@PBD@Z
+; public: __thiscall exception::exception(char const * const &)
+??0exception@@QAE@ABQBD@Z
+; public: __thiscall exception::exception(class exception const &)
+??0exception@@QAE@ABV0@@Z
+; public: __thiscall exception::exception(void)
+??0exception@@QAE@XZ
+; public: __thiscall filebuf::filebuf(class filebuf const &)
+??0filebuf@@QAE@ABV0@@Z
+; public: __thiscall filebuf::filebuf(int)
+??0filebuf@@QAE@H@Z
+; public: __thiscall filebuf::filebuf(int,char *,int)
+??0filebuf@@QAE@HPADH@Z
+; public: __thiscall filebuf::filebuf(void)
+??0filebuf@@QAE@XZ
+; public: __thiscall fstream::fstream(class fstream const &)
+??0fstream@@QAE@ABV0@@Z
+; public: __thiscall fstream::fstream(int)
+??0fstream@@QAE@H@Z
+; public: __thiscall fstream::fstream(int,char *,int)
+??0fstream@@QAE@HPADH@Z
+; public: __thiscall fstream::fstream(char const *,int,int)
+??0fstream@@QAE@PBDHH@Z
+; public: __thiscall fstream::fstream(void)
+??0fstream@@QAE@XZ
+; public: __thiscall ifstream::ifstream(class ifstream const &)
+??0ifstream@@QAE@ABV0@@Z
+; public: __thiscall ifstream::ifstream(int)
+??0ifstream@@QAE@H@Z
+; public: __thiscall ifstream::ifstream(int,char *,int)
+??0ifstream@@QAE@HPADH@Z
+; public: __thiscall ifstream::ifstream(char const *,int,int)
+??0ifstream@@QAE@PBDHH@Z
+; public: __thiscall ifstream::ifstream(void)
+??0ifstream@@QAE@XZ
+; protected: __thiscall ios::ios(class ios const &)
+??0ios@@IAE@ABV0@@Z
+; protected: __thiscall ios::ios(void)
+??0ios@@IAE@XZ
+; public: __thiscall ios::ios(class streambuf *)
+??0ios@@QAE@PAVstreambuf@@@Z
+; protected: __thiscall iostream::iostream(class iostream const &)
+??0iostream@@IAE@ABV0@@Z
+; protected: __thiscall iostream::iostream(void)
+??0iostream@@IAE@XZ
+; public: __thiscall iostream::iostream(class streambuf *)
+??0iostream@@QAE@PAVstreambuf@@@Z
+; protected: __thiscall istream::istream(class istream const &)
+??0istream@@IAE@ABV0@@Z
+; protected: __thiscall istream::istream(void)
+??0istream@@IAE@XZ
+; public: __thiscall istream::istream(class streambuf *)
+??0istream@@QAE@PAVstreambuf@@@Z
+; public: __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
+??0istream_withassign@@QAE@ABV0@@Z
+; public: __thiscall istream_withassign::istream_withassign(class streambuf *)
+??0istream_withassign@@QAE@PAVstreambuf@@@Z
+; public: __thiscall istream_withassign::istream_withassign(void)
+??0istream_withassign@@QAE@XZ
+; public: __thiscall istrstream::istrstream(class istrstream const &)
+??0istrstream@@QAE@ABV0@@Z
+; public: __thiscall istrstream::istrstream(char *)
+??0istrstream@@QAE@PAD@Z
+; public: __thiscall istrstream::istrstream(char *,int)
+??0istrstream@@QAE@PADH@Z
+; public: __thiscall logic_error::logic_error(char const * const &)
+??0logic_error@@QAE@ABQBD@Z
+; public: __thiscall logic_error::logic_error(class logic_error const &)
+??0logic_error@@QAE@ABV0@@Z
+; public: __thiscall ofstream::ofstream(class ofstream const &)
+??0ofstream@@QAE@ABV0@@Z
+; public: __thiscall ofstream::ofstream(int)
+??0ofstream@@QAE@H@Z
+; public: __thiscall ofstream::ofstream(int,char *,int)
+??0ofstream@@QAE@HPADH@Z
+; public: __thiscall ofstream::ofstream(char const *,int,int)
+??0ofstream@@QAE@PBDHH@Z
+; public: __thiscall ofstream::ofstream(void)
+??0ofstream@@QAE@XZ
+; protected: __thiscall ostream::ostream(class ostream const &)
+??0ostream@@IAE@ABV0@@Z
+; protected: __thiscall ostream::ostream(void)
+??0ostream@@IAE@XZ
+; public: __thiscall ostream::ostream(class streambuf *)
+??0ostream@@QAE@PAVstreambuf@@@Z
+; public: __thiscall ostream_withassign::ostream_withassign(class ostream_withassign const &)
+??0ostream_withassign@@QAE@ABV0@@Z
+; public: __thiscall ostream_withassign::ostream_withassign(class streambuf *)
+??0ostream_withassign@@QAE@PAVstreambuf@@@Z
+; public: __thiscall ostream_withassign::ostream_withassign(void)
+??0ostream_withassign@@QAE@XZ
+; public: __thiscall ostrstream::ostrstream(class ostrstream const &)
+??0ostrstream@@QAE@ABV0@@Z
+; public: __thiscall ostrstream::ostrstream(char *,int,int)
+??0ostrstream@@QAE@PADHH@Z
+; public: __thiscall ostrstream::ostrstream(void)
+??0ostrstream@@QAE@XZ
+; public: __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
+??0stdiobuf@@QAE@ABV0@@Z
+; public: __thiscall stdiobuf::stdiobuf(struct _iobuf *)
+??0stdiobuf@@QAE@PAU_iobuf@@@Z
+; public: __thiscall stdiostream::stdiostream(class stdiostream const &)
+??0stdiostream@@QAE@ABV0@@Z
+; public: __thiscall stdiostream::stdiostream(struct _iobuf *)
+??0stdiostream@@QAE@PAU_iobuf@@@Z
+; protected: __thiscall streambuf::streambuf(char *,int)
+??0streambuf@@IAE@PADH@Z
+; protected: __thiscall streambuf::streambuf(void)
+??0streambuf@@IAE@XZ
+; public: __thiscall streambuf::streambuf(class streambuf const &)
+??0streambuf@@QAE@ABV0@@Z
+; public: __thiscall strstream::strstream(class strstream const &)
+??0strstream@@QAE@ABV0@@Z
+; public: __thiscall strstream::strstream(char *,int,int)
+??0strstream@@QAE@PADHH@Z
+; public: __thiscall strstream::strstream(void)
+??0strstream@@QAE@XZ
+; public: __thiscall strstreambuf::strstreambuf(class strstreambuf const &)
+??0strstreambuf@@QAE@ABV0@@Z
+; public: __thiscall strstreambuf::strstreambuf(int)
+??0strstreambuf@@QAE@H@Z
+; public: __thiscall strstreambuf::strstreambuf(void * (__cdecl*)(long),void (__cdecl*)(void *))
+??0strstreambuf@@QAE@P6APAXJ@ZP6AXPAX@Z@Z
+; public: __thiscall strstreambuf::strstreambuf(char *,int,char *)
+??0strstreambuf@@QAE@PADH0@Z
+; public: __thiscall strstreambuf::strstreambuf(void)
+??0strstreambuf@@QAE@XZ
+; public: __thiscall Iostream_init::~Iostream_init(void)
+??1Iostream_init@@QAE@XZ
+; public: virtual __thiscall __non_rtti_object::~__non_rtti_object(void)
+??1__non_rtti_object@@UAE@XZ
+; public: virtual __thiscall bad_cast::~bad_cast(void)
+??1bad_cast@@UAE@XZ
+; public: virtual __thiscall bad_typeid::~bad_typeid(void)
+??1bad_typeid@@UAE@XZ
+; public: virtual __thiscall exception::~exception(void)
+??1exception@@UAE@XZ
+; public: virtual __thiscall filebuf::~filebuf(void)
+??1filebuf@@UAE@XZ
+; public: virtual __thiscall fstream::~fstream(void)
+??1fstream@@UAE@XZ
+; public: virtual __thiscall ifstream::~ifstream(void)
+??1ifstream@@UAE@XZ
+; public: virtual __thiscall ios::~ios(void)
+??1ios@@UAE@XZ
+; public: virtual __thiscall iostream::~iostream(void)
+??1iostream@@UAE@XZ
+; public: virtual __thiscall istream::~istream(void)
+??1istream@@UAE@XZ
+; public: virtual __thiscall istream_withassign::~istream_withassign(void)
+??1istream_withassign@@UAE@XZ
+; public: virtual __thiscall istrstream::~istrstream(void)
+??1istrstream@@UAE@XZ
+; public: virtual __thiscall logic_error::~logic_error(void)
+??1logic_error@@UAE@XZ
+; public: virtual __thiscall ofstream::~ofstream(void)
+??1ofstream@@UAE@XZ
+; public: virtual __thiscall ostream::~ostream(void)
+??1ostream@@UAE@XZ
+; public: virtual __thiscall ostream_withassign::~ostream_withassign(void)
+??1ostream_withassign@@UAE@XZ
+; public: virtual __thiscall ostrstream::~ostrstream(void)
+??1ostrstream@@UAE@XZ
+; public: virtual __thiscall stdiobuf::~stdiobuf(void)
+??1stdiobuf@@UAE@XZ
+; public: virtual __thiscall stdiostream::~stdiostream(void)
+??1stdiostream@@UAE@XZ
+; public: virtual __thiscall streambuf::~streambuf(void)
+??1streambuf@@UAE@XZ
+; public: virtual __thiscall strstream::~strstream(void)
+??1strstream@@UAE@XZ
+; public: virtual __thiscall strstreambuf::~strstreambuf(void)
+??1strstreambuf@@UAE@XZ
+; public: virtual __thiscall type_info::~type_info(void)
+??1type_info@@UAE@XZ
+; void * __cdecl operator new(unsigned int)
+??2@YAPAXI@Z
+; void __cdecl operator delete(void *)
+??3@YAXPAX@Z
+; public: class Iostream_init & __thiscall Iostream_init::operator=(class Iostream_init const &)
+??4Iostream_init@@QAEAAV0@ABV0@@Z
+; public: class __non_rtti_object & __thiscall __non_rtti_object::operator=(class __non_rtti_object const &)
+??4__non_rtti_object@@QAEAAV0@ABV0@@Z
+; public: class bad_cast & __thiscall bad_cast::operator=(class bad_cast const &)
+??4bad_cast@@QAEAAV0@ABV0@@Z
+; public: class bad_typeid & __thiscall bad_typeid::operator=(class bad_typeid const &)
+??4bad_typeid@@QAEAAV0@ABV0@@Z
+; public: class exception & __thiscall exception::operator=(class exception const &)
+??4exception@@QAEAAV0@ABV0@@Z
+; public: class filebuf & __thiscall filebuf::operator=(class filebuf const &)
+??4filebuf@@QAEAAV0@ABV0@@Z
+; public: class fstream & __thiscall fstream::operator=(class fstream &)
+??4fstream@@QAEAAV0@AAV0@@Z
+; public: class ifstream & __thiscall ifstream::operator=(class ifstream const &)
+??4ifstream@@QAEAAV0@ABV0@@Z
+; protected: class ios & __thiscall ios::operator=(class ios const &)
+??4ios@@IAEAAV0@ABV0@@Z
+; protected: class iostream & __thiscall iostream::operator=(class iostream &)
+??4iostream@@IAEAAV0@AAV0@@Z
+; protected: class iostream & __thiscall iostream::operator=(class streambuf *)
+??4iostream@@IAEAAV0@PAVstreambuf@@@Z
+; protected: class istream & __thiscall istream::operator=(class istream const &)
+??4istream@@IAEAAV0@ABV0@@Z
+; protected: class istream & __thiscall istream::operator=(class streambuf *)
+??4istream@@IAEAAV0@PAVstreambuf@@@Z
+; public: class istream_withassign & __thiscall istream_withassign::operator=(class istream_withassign const &)
+??4istream_withassign@@QAEAAV0@ABV0@@Z
+; public: class istream & __thiscall istream_withassign::operator=(class istream const &)
+??4istream_withassign@@QAEAAVistream@@ABV1@@Z
+; public: class istream & __thiscall istream_withassign::operator=(class streambuf *)
+??4istream_withassign@@QAEAAVistream@@PAVstreambuf@@@Z
+; public: class istrstream & __thiscall istrstream::operator=(class istrstream const &)
+??4istrstream@@QAEAAV0@ABV0@@Z
+; public: class logic_error & __thiscall logic_error::operator=(class logic_error const &)
+??4logic_error@@QAEAAV0@ABV0@@Z
+; public: class ofstream & __thiscall ofstream::operator=(class ofstream const &)
+??4ofstream@@QAEAAV0@ABV0@@Z
+; protected: class ostream & __thiscall ostream::operator=(class ostream const &)
+??4ostream@@IAEAAV0@ABV0@@Z
+; protected: class ostream & __thiscall ostream::operator=(class streambuf *)
+??4ostream@@IAEAAV0@PAVstreambuf@@@Z
+; public: class ostream_withassign & __thiscall ostream_withassign::operator=(class ostream_withassign const &)
+??4ostream_withassign@@QAEAAV0@ABV0@@Z
+; public: class ostream & __thiscall ostream_withassign::operator=(class ostream const &)
+??4ostream_withassign@@QAEAAVostream@@ABV1@@Z
+; public: class ostream & __thiscall ostream_withassign::operator=(class streambuf *)
+??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z
+; public: class ostrstream & __thiscall ostrstream::operator=(class ostrstream const &)
+??4ostrstream@@QAEAAV0@ABV0@@Z
+; public: class stdiobuf & __thiscall stdiobuf::operator=(class stdiobuf const &)
+??4stdiobuf@@QAEAAV0@ABV0@@Z
+; public: class stdiostream & __thiscall stdiostream::operator=(class stdiostream &)
+??4stdiostream@@QAEAAV0@AAV0@@Z
+; public: class streambuf & __thiscall streambuf::operator=(class streambuf const &)
+??4streambuf@@QAEAAV0@ABV0@@Z
+; public: class strstream & __thiscall strstream::operator=(class strstream &)
+??4strstream@@QAEAAV0@AAV0@@Z
+; public: class strstreambuf & __thiscall strstreambuf::operator=(class strstreambuf const &)
+??4strstreambuf@@QAEAAV0@ABV0@@Z
+; public: class istream & __thiscall istream::operator>>(signed char &)
+??5istream@@QAEAAV0@AAC@Z
+; public: class istream & __thiscall istream::operator>>(char &)
+??5istream@@QAEAAV0@AAD@Z
+; public: class istream & __thiscall istream::operator>>(unsigned char &)
+??5istream@@QAEAAV0@AAE@Z
+; public: class istream & __thiscall istream::operator>>(short &)
+??5istream@@QAEAAV0@AAF@Z
+; public: class istream & __thiscall istream::operator>>(unsigned short &)
+??5istream@@QAEAAV0@AAG@Z
+; public: class istream & __thiscall istream::operator>>(int &)
+??5istream@@QAEAAV0@AAH@Z
+; public: class istream & __thiscall istream::operator>>(unsigned int &)
+??5istream@@QAEAAV0@AAI@Z
+; public: class istream & __thiscall istream::operator>>(long &)
+??5istream@@QAEAAV0@AAJ@Z
+; public: class istream & __thiscall istream::operator>>(unsigned long &)
+??5istream@@QAEAAV0@AAK@Z
+; public: class istream & __thiscall istream::operator>>(float &)
+??5istream@@QAEAAV0@AAM@Z
+; public: class istream & __thiscall istream::operator>>(double &)
+??5istream@@QAEAAV0@AAN@Z
+; public: class istream & __thiscall istream::operator>>(long double &)
+??5istream@@QAEAAV0@AAO@Z
+; public: class istream & __thiscall istream::operator>>(class istream & (__cdecl*)(class istream &))
+??5istream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
+; public: class istream & __thiscall istream::operator>>(class ios & (__cdecl*)(class ios &))
+??5istream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
+; public: class istream & __thiscall istream::operator>>(signed char *)
+??5istream@@QAEAAV0@PAC@Z
+; public: class istream & __thiscall istream::operator>>(char *)
+??5istream@@QAEAAV0@PAD@Z
+; public: class istream & __thiscall istream::operator>>(unsigned char *)
+??5istream@@QAEAAV0@PAE@Z
+; public: class istream & __thiscall istream::operator>>(class streambuf *)
+??5istream@@QAEAAV0@PAVstreambuf@@@Z
+; public: class ostream & __thiscall ostream::operator<<(signed char)
+??6ostream@@QAEAAV0@C@Z
+; public: class ostream & __thiscall ostream::operator<<(char)
+??6ostream@@QAEAAV0@D@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned char)
+??6ostream@@QAEAAV0@E@Z
+; public: class ostream & __thiscall ostream::operator<<(short)
+??6ostream@@QAEAAV0@F@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned short)
+??6ostream@@QAEAAV0@G@Z
+; public: class ostream & __thiscall ostream::operator<<(int)
+??6ostream@@QAEAAV0@H@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned int)
+??6ostream@@QAEAAV0@I@Z
+; public: class ostream & __thiscall ostream::operator<<(long)
+??6ostream@@QAEAAV0@J@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned long)
+??6ostream@@QAEAAV0@K@Z
+; public: class ostream & __thiscall ostream::operator<<(float)
+??6ostream@@QAEAAV0@M@Z
+; public: class ostream & __thiscall ostream::operator<<(double)
+??6ostream@@QAEAAV0@N@Z
+; public: class ostream & __thiscall ostream::operator<<(long double)
+??6ostream@@QAEAAV0@O@Z
+; public: class ostream & __thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream &))
+??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
+; public: class ostream & __thiscall ostream::operator<<(class ios & (__cdecl*)(class ios &))
+??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
+; public: class ostream & __thiscall ostream::operator<<(class streambuf *)
+??6ostream@@QAEAAV0@PAVstreambuf@@@Z
+; public: class ostream & __thiscall ostream::operator<<(signed char const *)
+??6ostream@@QAEAAV0@PBC@Z
+; public: class ostream & __thiscall ostream::operator<<(char const *)
+??6ostream@@QAEAAV0@PBD@Z
+; public: class ostream & __thiscall ostream::operator<<(unsigned char const *)
+??6ostream@@QAEAAV0@PBE@Z
+; public: class ostream & __thiscall ostream::operator<<(void const *)
+??6ostream@@QAEAAV0@PBX@Z
+; public: int __thiscall ios::operator!(void)const 
+??7ios@@QBEHXZ
+; public: int __thiscall type_info::operator==(class type_info const &)const 
+??8type_info@@QBEHABV0@@Z
+; public: int __thiscall type_info::operator!=(class type_info const &)const 
+??9type_info@@QBEHABV0@@Z
+; public: __thiscall ios::operator void *(void)const 
+??Bios@@QBEPAXXZ
+; const  __non_rtti_object::`vftable'
+??_7__non_rtti_object@@6B@
+; const  bad_cast::`vftable'
+??_7bad_cast@@6B@
+; const  bad_typeid::`vftable'
+??_7bad_typeid@@6B@
+; const  exception::`vftable'
+??_7exception@@6B@
+; const  filebuf::`vftable'
+??_7filebuf@@6B@
+; const  fstream::`vftable'
+??_7fstream@@6B@
+; const  ifstream::`vftable'
+??_7ifstream@@6B@
+; const  ios::`vftable'
+??_7ios@@6B@
+; const  iostream::`vftable'
+??_7iostream@@6B@
+; const  istream::`vftable'
+??_7istream@@6B@
+; const  istream_withassign::`vftable'
+??_7istream_withassign@@6B@
+; const  istrstream::`vftable'
+??_7istrstream@@6B@
+; const  logic_error::`vftable'
+??_7logic_error@@6B@
+; const  ofstream::`vftable'
+??_7ofstream@@6B@
+; const  ostream::`vftable'
+??_7ostream@@6B@
+; const  ostream_withassign::`vftable'
+??_7ostream_withassign@@6B@
+; const  ostrstream::`vftable'
+??_7ostrstream@@6B@
+; const  stdiobuf::`vftable'
+??_7stdiobuf@@6B@
+; const  stdiostream::`vftable'
+??_7stdiostream@@6B@
+; const  streambuf::`vftable'
+??_7streambuf@@6B@
+; const  strstream::`vftable'
+??_7strstream@@6B@
+; const  strstreambuf::`vftable'
+??_7strstreambuf@@6B@
+; const  fstream::`vbtable'{for `istream'}
+??_8fstream@@7Bistream@@@
+; const  fstream::`vbtable'{for `ostream'}
+??_8fstream@@7Bostream@@@
+; const  ifstream::`vbtable'
+??_8ifstream@@7B@
+; const  iostream::`vbtable'{for `istream'}
+??_8iostream@@7Bistream@@@
+; const  iostream::`vbtable'{for `ostream'}
+??_8iostream@@7Bostream@@@
+; const  istream::`vbtable'
+??_8istream@@7B@
+; const  istream_withassign::`vbtable'
+??_8istream_withassign@@7B@
+; const  istrstream::`vbtable'
+??_8istrstream@@7B@
+; const  ofstream::`vbtable'
+??_8ofstream@@7B@
+; const  ostream::`vbtable'
+??_8ostream@@7B@
+; const  ostream_withassign::`vbtable'
+??_8ostream_withassign@@7B@
+; const  ostrstream::`vbtable'
+??_8ostrstream@@7B@
+; const  stdiostream::`vbtable'{for `istream'}
+??_8stdiostream@@7Bistream@@@
+; const  stdiostream::`vbtable'{for `ostream'}
+??_8stdiostream@@7Bostream@@@
+; const  strstream::`vbtable'{for `istream'}
+??_8strstream@@7Bistream@@@
+; const  strstream::`vbtable'{for `ostream'}
+??_8strstream@@7Bostream@@@
+; public: void __thiscall fstream::`vbase destructor'(void)
+??_Dfstream@@QAEXXZ
+; public: void __thiscall ifstream::`vbase destructor'(void)
+??_Difstream@@QAEXXZ
+; public: void __thiscall iostream::`vbase destructor'(void)
+??_Diostream@@QAEXXZ
+; public: void __thiscall istream::`vbase destructor'(void)
+??_Distream@@QAEXXZ
+; public: void __thiscall istream_withassign::`vbase destructor'(void)
+??_Distream_withassign@@QAEXXZ
+; public: void __thiscall istrstream::`vbase destructor'(void)
+??_Distrstream@@QAEXXZ
+; public: void __thiscall ofstream::`vbase destructor'(void)
+??_Dofstream@@QAEXXZ
+; public: void __thiscall ostream::`vbase destructor'(void)
+??_Dostream@@QAEXXZ
+; public: void __thiscall ostream_withassign::`vbase destructor'(void)
+??_Dostream_withassign@@QAEXXZ
+; public: void __thiscall ostrstream::`vbase destructor'(void)
+??_Dostrstream@@QAEXXZ
+; public: void __thiscall stdiostream::`vbase destructor'(void)
+??_Dstdiostream@@QAEXXZ
+; public: void __thiscall strstream::`vbase destructor'(void)
+??_Dstrstream@@QAEXXZ
+; public: void * __thiscall Iostream_init::`vector deleting destructor'(unsigned int)
+??_EIostream_init@@QAEPAXI@Z
+; public: virtual void * __thiscall __non_rtti_object::`vector deleting destructor'(unsigned int)
+??_E__non_rtti_object@@UAEPAXI@Z
+; public: virtual void * __thiscall bad_cast::`vector deleting destructor'(unsigned int)
+??_Ebad_cast@@UAEPAXI@Z
+; public: virtual void * __thiscall bad_typeid::`vector deleting destructor'(unsigned int)
+??_Ebad_typeid@@UAEPAXI@Z
+; public: virtual void * __thiscall exception::`vector deleting destructor'(unsigned int)
+??_Eexception@@UAEPAXI@Z
+; public: virtual void * __thiscall filebuf::`vector deleting destructor'(unsigned int)
+??_Efilebuf@@UAEPAXI@Z
+; public: virtual void * __thiscall fstream::`vector deleting destructor'(unsigned int)
+??_Efstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
+??_Eifstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ios::`vector deleting destructor'(unsigned int)
+??_Eios@@UAEPAXI@Z
+; public: virtual void * __thiscall iostream::`vector deleting destructor'(unsigned int)
+??_Eiostream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
+??_Eistream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
+??_Eistream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
+??_Eistrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall logic_error::`vector deleting destructor'(unsigned int)
+??_Elogic_error@@UAEPAXI@Z
+; public: virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
+??_Eofstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
+??_Eostream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
+??_Eostream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int)
+??_Eostrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiobuf::`vector deleting destructor'(unsigned int)
+??_Estdiobuf@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiostream::`vector deleting destructor'(unsigned int)
+??_Estdiostream@@UAEPAXI@Z
+; public: virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int)
+??_Estreambuf@@UAEPAXI@Z
+; public: virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
+??_Estrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int)
+??_Estrstreambuf@@UAEPAXI@Z
+; public: void * __thiscall Iostream_init::`scalar deleting destructor'(unsigned int)
+??_GIostream_init@@QAEPAXI@Z
+; public: virtual void * __thiscall __non_rtti_object::`scalar deleting destructor'(unsigned int)
+??_G__non_rtti_object@@UAEPAXI@Z
+; public: virtual void * __thiscall bad_cast::`scalar deleting destructor'(unsigned int)
+??_Gbad_cast@@UAEPAXI@Z
+; public: virtual void * __thiscall bad_typeid::`scalar deleting destructor'(unsigned int)
+??_Gbad_typeid@@UAEPAXI@Z
+; public: virtual void * __thiscall exception::`scalar deleting destructor'(unsigned int)
+??_Gexception@@UAEPAXI@Z
+; public: virtual void * __thiscall filebuf::`scalar deleting destructor'(unsigned int)
+??_Gfilebuf@@UAEPAXI@Z
+; public: virtual void * __thiscall fstream::`scalar deleting destructor'(unsigned int)
+??_Gfstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
+??_Gifstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ios::`scalar deleting destructor'(unsigned int)
+??_Gios@@UAEPAXI@Z
+; public: virtual void * __thiscall iostream::`scalar deleting destructor'(unsigned int)
+??_Giostream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
+??_Gistream@@UAEPAXI@Z
+; public: virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
+??_Gistream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
+??_Gistrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall logic_error::`scalar deleting destructor'(unsigned int)
+??_Glogic_error@@UAEPAXI@Z
+; public: virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
+??_Gofstream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
+??_Gostream@@UAEPAXI@Z
+; public: virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
+??_Gostream_withassign@@UAEPAXI@Z
+; public: virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int)
+??_Gostrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiobuf::`scalar deleting destructor'(unsigned int)
+??_Gstdiobuf@@UAEPAXI@Z
+; public: virtual void * __thiscall stdiostream::`scalar deleting destructor'(unsigned int)
+??_Gstdiostream@@UAEPAXI@Z
+; public: virtual void * __thiscall streambuf::`scalar deleting destructor'(unsigned int)
+??_Gstreambuf@@UAEPAXI@Z
+; public: virtual void * __thiscall strstream::`scalar deleting destructor'(unsigned int)
+??_Gstrstream@@UAEPAXI@Z
+; public: virtual void * __thiscall strstreambuf::`scalar deleting destructor'(unsigned int)
+??_Gstrstreambuf@@UAEPAXI@Z
+; int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
+?_query_new_handler@@YAP6AHI@ZXZ
+; int __cdecl _query_new_mode(void)
+?_query_new_mode@@YAHXZ
+; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
+?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
+; int __cdecl _set_new_mode(int)
+?_set_new_mode@@YAHH@Z
+; void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
+?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
+; public: static long const  ios::adjustfield
+?adjustfield@ios@@2JB
+; protected: int __thiscall streambuf::allocate(void)
+?allocate@streambuf@@IAEHXZ
+; public: class filebuf * __thiscall filebuf::attach(int)
+?attach@filebuf@@QAEPAV1@H@Z
+; public: void __thiscall fstream::attach(int)
+?attach@fstream@@QAEXH@Z
+; public: void __thiscall ifstream::attach(int)
+?attach@ifstream@@QAEXH@Z
+; public: void __thiscall ofstream::attach(int)
+?attach@ofstream@@QAEXH@Z
+; public: int __thiscall ios::bad(void)const 
+?bad@ios@@QBEHXZ
+; protected: char * __thiscall streambuf::base(void)const 
+?base@streambuf@@IBEPADXZ
+; public: static long const  ios::basefield
+?basefield@ios@@2JB
+; public: int __thiscall type_info::before(class type_info const &)const 
+?before@type_info@@QBEHABV1@@Z
+; public: static int const  filebuf::binary
+?binary@filebuf@@2HB
+; public: static long __cdecl ios::bitalloc(void)
+?bitalloc@ios@@SAJXZ
+; protected: int __thiscall streambuf::blen(void)const 
+?blen@streambuf@@IBEHXZ
+; class ostream_withassign  cerr
+?cerr@@3Vostream_withassign@@A
+; class istream_withassign  cin
+?cin@@3Vistream_withassign@@A
+; public: void __thiscall ios::clear(int)
+?clear@ios@@QAEXH@Z
+; class ostream_withassign  clog
+?clog@@3Vostream_withassign@@A
+; public: class filebuf * __thiscall filebuf::close(void)
+?close@filebuf@@QAEPAV1@XZ
+; public: void __thiscall fstream::close(void)
+?close@fstream@@QAEXXZ
+; public: void __thiscall ifstream::close(void)
+?close@ifstream@@QAEXXZ
+; public: void __thiscall ofstream::close(void)
+?close@ofstream@@QAEXXZ
+; public: void __cdecl ios::clrlock(void)
+?clrlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::clrlock(void)
+?clrlock@streambuf@@QAEXXZ
+; class ostream_withassign  cout
+?cout@@3Vostream_withassign@@A
+; public: void __thiscall streambuf::dbp(void)
+?dbp@streambuf@@QAEXXZ
+; class ios & __cdecl dec(class ios &)
+?dec@@YAAAVios@@AAV1@@Z
+; public: void __thiscall ios::delbuf(int)
+?delbuf@ios@@QAEXH@Z
+; public: int __thiscall ios::delbuf(void)const 
+?delbuf@ios@@QBEHXZ
+; protected: virtual int __thiscall streambuf::doallocate(void)
+?doallocate@streambuf@@MAEHXZ
+; protected: virtual int __thiscall strstreambuf::doallocate(void)
+?doallocate@strstreambuf@@MAEHXZ
+; public: void __thiscall istream::eatwhite(void)
+?eatwhite@istream@@QAEXXZ
+; protected: char * __thiscall streambuf::eback(void)const 
+?eback@streambuf@@IBEPADXZ
+; protected: char * __thiscall streambuf::ebuf(void)const 
+?ebuf@streambuf@@IBEPADXZ
+; protected: char * __thiscall streambuf::egptr(void)const 
+?egptr@streambuf@@IBEPADXZ
+; class ostream & __cdecl endl(class ostream &)
+?endl@@YAAAVostream@@AAV1@@Z
+; class ostream & __cdecl ends(class ostream &)
+?ends@@YAAAVostream@@AAV1@@Z
+; public: int __thiscall ios::eof(void)const 
+?eof@ios@@QBEHXZ
+; protected: char * __thiscall streambuf::epptr(void)const 
+?epptr@streambuf@@IBEPADXZ
+; private: static int  ios::fLockcInit
+?fLockcInit@ios@@0HA
+; public: int __thiscall ios::fail(void)const 
+?fail@ios@@QBEHXZ
+; public: int __thiscall filebuf::fd(void)const 
+?fd@filebuf@@QBEHXZ
+; public: int __thiscall fstream::fd(void)const 
+?fd@fstream@@QBEHXZ
+; public: int __thiscall ifstream::fd(void)const 
+?fd@ifstream@@QBEHXZ
+; public: int __thiscall ofstream::fd(void)const 
+?fd@ofstream@@QBEHXZ
+; public: char __thiscall ios::fill(char)
+?fill@ios@@QAEDD@Z
+; public: char __thiscall ios::fill(void)const 
+?fill@ios@@QBEDXZ
+; public: long __thiscall ios::flags(long)
+?flags@ios@@QAEJJ@Z
+; public: long __thiscall ios::flags(void)const 
+?flags@ios@@QBEJXZ
+; public: static long const  ios::floatfield
+?floatfield@ios@@2JB
+; class ostream & __cdecl flush(class ostream &)
+?flush@@YAAAVostream@@AAV1@@Z
+; public: class ostream & __thiscall ostream::flush(void)
+?flush@ostream@@QAEAAV1@XZ
+; public: void __thiscall strstreambuf::freeze(int)
+?freeze@strstreambuf@@QAEXH@Z
+; protected: void __thiscall streambuf::gbump(int)
+?gbump@streambuf@@IAEXH@Z
+; public: int __thiscall istream::gcount(void)const 
+?gcount@istream@@QBEHXZ
+; protected: class istream & __thiscall istream::get(char *,int,int)
+?get@istream@@IAEAAV1@PADHH@Z
+; public: class istream & __thiscall istream::get(signed char &)
+?get@istream@@QAEAAV1@AAC@Z
+; public: class istream & __thiscall istream::get(char &)
+?get@istream@@QAEAAV1@AAD@Z
+; public: class istream & __thiscall istream::get(unsigned char &)
+?get@istream@@QAEAAV1@AAE@Z
+; public: class istream & __thiscall istream::get(class streambuf &,char)
+?get@istream@@QAEAAV1@AAVstreambuf@@D@Z
+; public: class istream & __thiscall istream::get(signed char *,int,char)
+?get@istream@@QAEAAV1@PACHD@Z
+; public: class istream & __thiscall istream::get(char *,int,char)
+?get@istream@@QAEAAV1@PADHD@Z
+; public: class istream & __thiscall istream::get(unsigned char *,int,char)
+?get@istream@@QAEAAV1@PAEHD@Z
+; public: int __thiscall istream::get(void)
+?get@istream@@QAEHXZ
+; private: int __thiscall istream::getdouble(char *,int)
+?getdouble@istream@@AAEHPADH@Z
+; private: int __thiscall istream::getint(char *)
+?getint@istream@@AAEHPAD@Z
+; public: class istream & __thiscall istream::getline(signed char *,int,char)
+?getline@istream@@QAEAAV1@PACHD@Z
+; public: class istream & __thiscall istream::getline(char *,int,char)
+?getline@istream@@QAEAAV1@PADHD@Z
+; public: class istream & __thiscall istream::getline(unsigned char *,int,char)
+?getline@istream@@QAEAAV1@PAEHD@Z
+; public: int __thiscall ios::good(void)const 
+?good@ios@@QBEHXZ
+; protected: char * __thiscall streambuf::gptr(void)const 
+?gptr@streambuf@@IBEPADXZ
+; class ios & __cdecl hex(class ios &)
+?hex@@YAAAVios@@AAV1@@Z
+; public: class istream & __thiscall istream::ignore(int,int)
+?ignore@istream@@QAEAAV1@HH@Z
+; public: int __thiscall streambuf::in_avail(void)const 
+?in_avail@streambuf@@QBEHXZ
+; protected: void __thiscall ios::init(class streambuf *)
+?init@ios@@IAEXPAVstreambuf@@@Z
+; public: int __thiscall istream::ipfx(int)
+?ipfx@istream@@QAEHH@Z
+; public: int __thiscall filebuf::is_open(void)const 
+?is_open@filebuf@@QBEHXZ
+; public: int __thiscall fstream::is_open(void)const 
+?is_open@fstream@@QBEHXZ
+; public: int __thiscall ifstream::is_open(void)const 
+?is_open@ifstream@@QBEHXZ
+; public: int __thiscall ofstream::is_open(void)const 
+?is_open@ofstream@@QBEHXZ
+; public: void __thiscall istream::isfx(void)
+?isfx@istream@@QAEXXZ
+; public: long & __thiscall ios::iword(int)const 
+?iword@ios@@QBEAAJH@Z
+; public: void __cdecl ios::lock(void)
+?lock@ios@@QAAXXZ
+; public: void __thiscall streambuf::lock(void)
+?lock@streambuf@@QAEXXZ
+; public: void __cdecl ios::lockbuf(void)
+?lockbuf@ios@@QAAXXZ
+; protected: static void __cdecl ios::lockc(void)
+?lockc@ios@@KAXXZ
+; protected: struct _CRT_CRITICAL_SECTION * __thiscall ios::lockptr(void)
+?lockptr@ios@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
+; protected: struct _CRT_CRITICAL_SECTION * __thiscall streambuf::lockptr(void)
+?lockptr@streambuf@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
+; public: char const * __thiscall type_info::name(void)const 
+?name@type_info@@QBEPBDXZ
+; class ios & __cdecl oct(class ios &)
+?oct@@YAAAVios@@AAV1@@Z
+; public: class filebuf * __thiscall filebuf::open(char const *,int,int)
+?open@filebuf@@QAEPAV1@PBDHH@Z
+; public: void __thiscall fstream::open(char const *,int,int)
+?open@fstream@@QAEXPBDHH@Z
+; public: void __thiscall ifstream::open(char const *,int,int)
+?open@ifstream@@QAEXPBDHH@Z
+; public: void __thiscall ofstream::open(char const *,int,int)
+?open@ofstream@@QAEXPBDHH@Z
+; public: static int const  filebuf::openprot
+?openprot@filebuf@@2HB
+; public: int __thiscall ostream::opfx(void)
+?opfx@ostream@@QAEHXZ
+; public: void __thiscall ostream::osfx(void)
+?osfx@ostream@@QAEXXZ
+; public: int __thiscall streambuf::out_waiting(void)const 
+?out_waiting@streambuf@@QBEHXZ
+; public: virtual int __thiscall filebuf::overflow(int)
+?overflow@filebuf@@UAEHH@Z
+; public: virtual int __thiscall stdiobuf::overflow(int)
+?overflow@stdiobuf@@UAEHH@Z
+; public: virtual int __thiscall strstreambuf::overflow(int)
+?overflow@strstreambuf@@UAEHH@Z
+; public: virtual int __thiscall stdiobuf::pbackfail(int)
+?pbackfail@stdiobuf@@UAEHH@Z
+; public: virtual int __thiscall streambuf::pbackfail(int)
+?pbackfail@streambuf@@UAEHH@Z
+; protected: char * __thiscall streambuf::pbase(void)const 
+?pbase@streambuf@@IBEPADXZ
+; protected: void __thiscall streambuf::pbump(int)
+?pbump@streambuf@@IAEXH@Z
+; public: int __thiscall ostrstream::pcount(void)const 
+?pcount@ostrstream@@QBEHXZ
+; public: int __thiscall strstream::pcount(void)const 
+?pcount@strstream@@QBEHXZ
+; public: int __thiscall istream::peek(void)
+?peek@istream@@QAEHXZ
+; protected: char * __thiscall streambuf::pptr(void)const 
+?pptr@streambuf@@IBEPADXZ
+; public: int __thiscall ios::precision(int)
+?precision@ios@@QAEHH@Z
+; public: int __thiscall ios::precision(void)const 
+?precision@ios@@QBEHXZ
+; public: class ostream & __thiscall ostream::put(signed char)
+?put@ostream@@QAEAAV1@C@Z
+; public: class ostream & __thiscall ostream::put(char)
+?put@ostream@@QAEAAV1@D@Z
+; public: class ostream & __thiscall ostream::put(unsigned char)
+?put@ostream@@QAEAAV1@E@Z
+; public: class istream & __thiscall istream::putback(char)
+?putback@istream@@QAEAAV1@D@Z
+; public: void * & __thiscall ios::pword(int)const 
+?pword@ios@@QBEAAPAXH@Z
+; public: char const * __thiscall type_info::raw_name(void)const 
+?raw_name@type_info@@QBEPBDXZ
+; public: class filebuf * __thiscall fstream::rdbuf(void)const 
+?rdbuf@fstream@@QBEPAVfilebuf@@XZ
+; public: class filebuf * __thiscall ifstream::rdbuf(void)const 
+?rdbuf@ifstream@@QBEPAVfilebuf@@XZ
+; public: class streambuf * __thiscall ios::rdbuf(void)const 
+?rdbuf@ios@@QBEPAVstreambuf@@XZ
+; public: class strstreambuf * __thiscall istrstream::rdbuf(void)const 
+?rdbuf@istrstream@@QBEPAVstrstreambuf@@XZ
+; public: class filebuf * __thiscall ofstream::rdbuf(void)const 
+?rdbuf@ofstream@@QBEPAVfilebuf@@XZ
+; public: class strstreambuf * __thiscall ostrstream::rdbuf(void)const 
+?rdbuf@ostrstream@@QBEPAVstrstreambuf@@XZ
+; public: class stdiobuf * __thiscall stdiostream::rdbuf(void)const 
+?rdbuf@stdiostream@@QBEPAVstdiobuf@@XZ
+; public: class strstreambuf * __thiscall strstream::rdbuf(void)const 
+?rdbuf@strstream@@QBEPAVstrstreambuf@@XZ
+; public: int __thiscall ios::rdstate(void)const 
+?rdstate@ios@@QBEHXZ
+; public: class istream & __thiscall istream::read(signed char *,int)
+?read@istream@@QAEAAV1@PACH@Z
+; public: class istream & __thiscall istream::read(char *,int)
+?read@istream@@QAEAAV1@PADH@Z
+; public: class istream & __thiscall istream::read(unsigned char *,int)
+?read@istream@@QAEAAV1@PAEH@Z
+; public: int __thiscall streambuf::sbumpc(void)
+?sbumpc@streambuf@@QAEHXZ
+; public: class istream & __thiscall istream::seekg(long)
+?seekg@istream@@QAEAAV1@J@Z
+; public: class istream & __thiscall istream::seekg(long,enum ios::seek_dir)
+?seekg@istream@@QAEAAV1@JW4seek_dir@ios@@@Z
+; public: virtual long __thiscall filebuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@filebuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z
+; public: class ostream & __thiscall ostream::seekp(long)
+?seekp@ostream@@QAEAAV1@J@Z
+; public: class ostream & __thiscall ostream::seekp(long,enum ios::seek_dir)
+?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z
+; public: virtual long __thiscall streambuf::seekpos(long,int)
+?seekpos@streambuf@@UAEJJH@Z
+; void (__cdecl*__cdecl set_new_handler(void (__cdecl*)(void)))(void)
+?set_new_handler@@YAP6AXXZP6AXXZ@Z
+; void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
+?set_terminate@@YAP6AXXZP6AXXZ@Z
+; void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
+?set_unexpected@@YAP6AXXZP6AXXZ@Z
+; protected: void __thiscall streambuf::setb(char *,char *,int)
+?setb@streambuf@@IAEXPAD0H@Z
+; public: virtual class streambuf * __thiscall filebuf::setbuf(char *,int)
+?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z
+; public: class streambuf * __thiscall fstream::setbuf(char *,int)
+?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z
+; public: class streambuf * __thiscall ifstream::setbuf(char *,int)
+?setbuf@ifstream@@QAEPAVstreambuf@@PADH@Z
+; public: class streambuf * __thiscall ofstream::setbuf(char *,int)
+?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z
+; public: virtual class streambuf * __thiscall streambuf::setbuf(char *,int)
+?setbuf@streambuf@@UAEPAV1@PADH@Z
+; public: virtual class streambuf * __thiscall strstreambuf::setbuf(char *,int)
+?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z
+; public: long __thiscall ios::setf(long)
+?setf@ios@@QAEJJ@Z
+; public: long __thiscall ios::setf(long,long)
+?setf@ios@@QAEJJJ@Z
+; protected: void __thiscall streambuf::setg(char *,char *,char *)
+?setg@streambuf@@IAEXPAD00@Z
+; public: void __cdecl ios::setlock(void)
+?setlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::setlock(void)
+?setlock@streambuf@@QAEXXZ
+; public: int __thiscall filebuf::setmode(int)
+?setmode@filebuf@@QAEHH@Z
+; public: int __thiscall fstream::setmode(int)
+?setmode@fstream@@QAEHH@Z
+; public: int __thiscall ifstream::setmode(int)
+?setmode@ifstream@@QAEHH@Z
+; public: int __thiscall ofstream::setmode(int)
+?setmode@ofstream@@QAEHH@Z
+; protected: void __thiscall streambuf::setp(char *,char *)
+?setp@streambuf@@IAEXPAD0@Z
+; public: int __thiscall stdiobuf::setrwbuf(int,int)
+?setrwbuf@stdiobuf@@QAEHHH@Z
+; public: int __thiscall streambuf::sgetc(void)
+?sgetc@streambuf@@QAEHXZ
+; public: int __thiscall streambuf::sgetn(char *,int)
+?sgetn@streambuf@@QAEHPADH@Z
+; public: static int const  filebuf::sh_none
+?sh_none@filebuf@@2HB
+; public: static int const  filebuf::sh_read
+?sh_read@filebuf@@2HB
+; public: static int const  filebuf::sh_write
+?sh_write@filebuf@@2HB
+; public: int __thiscall streambuf::snextc(void)
+?snextc@streambuf@@QAEHXZ
+; public: int __thiscall streambuf::sputbackc(char)
+?sputbackc@streambuf@@QAEHD@Z
+; public: int __thiscall streambuf::sputc(int)
+?sputc@streambuf@@QAEHH@Z
+; public: int __thiscall streambuf::sputn(char const *,int)
+?sputn@streambuf@@QAEHPBDH@Z
+; public: struct _iobuf * __thiscall stdiobuf::stdiofile(void)
+?stdiofile@stdiobuf@@QAEPAU_iobuf@@XZ
+; public: void __thiscall streambuf::stossc(void)
+?stossc@streambuf@@QAEXXZ
+; public: char * __thiscall istrstream::str(void)
+?str@istrstream@@QAEPADXZ
+; public: char * __thiscall ostrstream::str(void)
+?str@ostrstream@@QAEPADXZ
+; public: char * __thiscall strstream::str(void)
+?str@strstream@@QAEPADXZ
+; public: char * __thiscall strstreambuf::str(void)
+?str@strstreambuf@@QAEPADXZ
+; private: static int  ios::sunk_with_stdio
+?sunk_with_stdio@ios@@0HA
+; public: virtual int __thiscall filebuf::sync(void)
+?sync@filebuf@@UAEHXZ
+; public: int __thiscall istream::sync(void)
+?sync@istream@@QAEHXZ
+; public: virtual int __thiscall stdiobuf::sync(void)
+?sync@stdiobuf@@UAEHXZ
+; public: virtual int __thiscall streambuf::sync(void)
+?sync@streambuf@@UAEHXZ
+; public: virtual int __thiscall strstreambuf::sync(void)
+?sync@strstreambuf@@UAEHXZ
+; public: static void __cdecl ios::sync_with_stdio(void)
+?sync_with_stdio@ios@@SAXXZ
+; public: long __thiscall istream::tellg(void)
+?tellg@istream@@QAEJXZ
+; public: long __thiscall ostream::tellp(void)
+?tellp@ostream@@QAEJXZ
+; void __cdecl terminate(void)
+?terminate@@YAXXZ
+; public: static int const  filebuf::text
+?text@filebuf@@2HB
+; public: class ostream * __thiscall ios::tie(class ostream *)
+?tie@ios@@QAEPAVostream@@PAV2@@Z
+; public: class ostream * __thiscall ios::tie(void)const 
+?tie@ios@@QBEPAVostream@@XZ
+; protected: void __thiscall streambuf::unbuffered(int)
+?unbuffered@streambuf@@IAEXH@Z
+; protected: int __thiscall streambuf::unbuffered(void)const 
+?unbuffered@streambuf@@IBEHXZ
+; public: virtual int __thiscall filebuf::underflow(void)
+?underflow@filebuf@@UAEHXZ
+; public: virtual int __thiscall stdiobuf::underflow(void)
+?underflow@stdiobuf@@UAEHXZ
+; public: virtual int __thiscall strstreambuf::underflow(void)
+?underflow@strstreambuf@@UAEHXZ
+; void __cdecl unexpected(void)
+?unexpected@@YAXXZ
+; public: void __cdecl ios::unlock(void)
+?unlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::unlock(void)
+?unlock@streambuf@@QAEXXZ
+; public: void __cdecl ios::unlockbuf(void)
+?unlockbuf@ios@@QAAXXZ
+; protected: static void __cdecl ios::unlockc(void)
+?unlockc@ios@@KAXXZ
+; public: long __thiscall ios::unsetf(long)
+?unsetf@ios@@QAEJJ@Z
+; public: virtual char const * __thiscall exception::what(void)const 
+?what@exception@@UBEPBDXZ
+; public: int __thiscall ios::width(int)
+?width@ios@@QAEHH@Z
+; public: int __thiscall ios::width(void)const 
+?width@ios@@QBEHXZ
+; public: class ostream & __thiscall ostream::write(signed char const *,int)
+?write@ostream@@QAEAAV1@PBCH@Z
+; public: class ostream & __thiscall ostream::write(char const *,int)
+?write@ostream@@QAEAAV1@PBDH@Z
+; public: class ostream & __thiscall ostream::write(unsigned char const *,int)
+?write@ostream@@QAEAAV1@PBEH@Z
+; private: class ostream & __thiscall ostream::writepad(char const *,char const *)
+?writepad@ostream@@AAEAAV1@PBD0@Z
+; class istream & __cdecl ws(class istream &)
+?ws@@YAAAVistream@@AAV1@@Z
+; private: static int  ios::x_curindex
+?x_curindex@ios@@0HA
+; private: static struct _CRT_CRITICAL_SECTION  ios::x_lockc
+?x_lockc@ios@@0U_CRT_CRITICAL_SECTION@@A
+; private: static long  ios::x_maxbit
+?x_maxbit@ios@@0JA
+; private: static long *  ios::x_statebuf
+?x_statebuf@ios@@0PAJA
+; public: static int __cdecl ios::xalloc(void)
+?xalloc@ios@@SAHXZ
+; public: virtual int __thiscall streambuf::xsgetn(char *,int)
+?xsgetn@streambuf@@UAEHPADH@Z
+; public: virtual int __thiscall streambuf::xsputn(char const *,int)
+?xsputn@streambuf@@UAEHPBDH@Z
+$I10_OUTPUT
+_CIacos
+_CIasin
+_CIatan
+_CIatan2
+_CIcos
+_CIcosh
+_CIexp
+_CIfmod
+_CIlog
+_CIlog10
+_CIpow
+_CIsin
+_CIsinh
+_CIsqrt
+_CItan
+_CItanh
+_CxxThrowException
+_EH_prolog
+_HUGE
+_XcptFilter
+__CxxFrameHandler
+__CxxLongjmpUnwind
+__RTCastToVoid
+__RTDynamicCast
+__RTtypeid
+__STRINGTOLD
+__argc
+__argv
+__dllonexit
+__doserrno
+__fpecode
+__getmainargs
+__initenv
+__isascii
+__iscsym
+__iscsymf
+__lconv_init
+__mb_cur_max
+__p___argc
+__p___argv
+__p___initenv
+__p___mb_cur_max
+__p___wargv
+__p___winitenv
+__p__acmdln
+__p__amblksiz
+__p__commode
+__p__daylight
+__p__dstbias
+__p__environ
+__p__fmode
+__p__iob
+__p__mbctype
+__p__osver
+__p__pctype
+__p__pgmptr
+__p__pwctype
+__p__timezone
+__p__tzname
+__p__wcmdln
+__p__wenviron
+__p__winmajor
+__p__winminor
+__p__winver
+__p__wpgmptr
+__pxcptinfoptrs
+__set_app_type
+__setusermatherr
+__threadhandle
+__threadid
+__toascii
+__unDName
+__wargv
+__wgetmainargs
+__winitenv
+_abnormal_termination
+_access
+_acmdln
+_adj_fdiv_m16i
+_adj_fdiv_m32
+_adj_fdiv_m32i
+_adj_fdiv_m64
+_adj_fdiv_r
+_adj_fdivr_m16i
+_adj_fdivr_m32
+_adj_fdivr_m32i
+_adj_fdivr_m64
+_adj_fpatan
+_adj_fprem
+_adj_fprem1
+_adj_fptan
+_adjust_fdiv
+_aexit_rtn
+_amsg_exit
+_assert
+_atodbl
+_atoldbl
+_beep
+_beginthread
+_beginthreadex
+_c_exit
+_cabs
+_cexit
+_cgets
+_chdir
+_chdrive
+_chgsign
+_chmod
+_chsize
+_clearfp
+_close
+_commit
+_commode
+_control87
+_controlfp
+_copysign
+_cprintf
+_cputs
+_creat
+_cscanf
+_ctype
+_cwait
+_daylight
+_dstbias
+_dup
+_dup2
+_ecvt
+_endthread
+_endthreadex
+_environ
+_eof
+_errno
+_except_handler2
+_except_handler3
+_execl
+_execle
+_execlp
+_execlpe
+_execv
+_execve
+_execvp
+_execvpe
+_exit
+_expand
+_fcloseall
+_fcvt
+_fdopen
+_fgetchar
+_fgetwchar
+_filbuf
+_fileinfo
+_filelength
+_filelengthi64
+_fileno
+_findclose
+_findfirst
+_findfirsti64
+_findnext
+_findnexti64
+_finite
+_flsbuf
+_flushall
+_fmode
+_fpclass
+_fpieee_flt
+_fpreset
+_fputchar
+_fputwchar
+_fsopen
+_fstat
+_fstati64
+_ftime
+_ftol
+_fullpath
+_futime
+_gcvt
+_get_osfhandle
+_getch
+_getche
+_getcwd
+_getdcwd
+_getdiskfree
+_getdllprocaddr
+_getdrive
+_getdrives
+_getmaxstdio
+_getmbcp
+_getpid
+_getsystime
+_getw
+_getws
+_global_unwind2
+_heapadd
+_heapchk
+_heapmin
+_heapset
+_heapused
+_heapwalk
+_hypot
+_initterm
+_inp
+_inpd
+_inpw
+_iob
+_isatty
+_isctype
+_ismbbalnum
+_ismbbalpha
+_ismbbgraph
+_ismbbkalnum
+_ismbbkana
+_ismbbkprint
+_ismbbkpunct
+_ismbblead
+_ismbbprint
+_ismbbpunct
+_ismbbtrail
+_ismbcalnum
+_ismbcalpha
+_ismbcdigit
+_ismbcgraph
+_ismbchira
+_ismbckata
+_ismbcl0
+_ismbcl1
+_ismbcl2
+_ismbclegal
+_ismbclower
+_ismbcprint
+_ismbcpunct
+_ismbcspace
+_ismbcsymbol
+_ismbcupper
+_ismbslead
+_ismbstrail
+_isnan
+_itoa
+_itow
+_j0
+_j1
+_jn
+_kbhit
+_lfind
+_loaddll
+_local_unwind2
+_locking
+_logb
+_longjmpex
+_lrotl
+_lrotr
+_lsearch
+_lseek
+_lseeki64
+_ltoa
+_ltow
+_makepath
+_mbbtombc
+_mbbtype
+_mbccpy
+_mbcjistojms
+_mbcjmstojis
+_mbclen
+_mbctohira
+_mbctokata
+_mbctolower
+_mbctombb
+_mbctoupper
+_mbctype
+_mbsbtype
+_mbscat
+_mbschr
+_mbscmp
+_mbscoll
+_mbscpy
+_mbscspn
+_mbsdec
+_mbsdup
+_mbsicmp
+_mbsicoll
+_mbsinc
+_mbslen
+_mbslwr
+_mbsnbcat
+_mbsnbcmp
+_mbsnbcnt
+_mbsnbcoll
+_mbsnbcpy
+_mbsnbicmp
+_mbsnbicoll
+_mbsnbset
+_mbsncat
+_mbsnccnt
+_mbsncmp
+_mbsncoll
+_mbsncpy
+_mbsnextc
+_mbsnicmp
+_mbsnicoll
+_mbsninc
+_mbsnset
+_mbspbrk
+_mbsrchr
+_mbsrev
+_mbsset
+_mbsspn
+_mbsspnp
+_mbsstr
+_mbstok
+_mbstrlen
+_mbsupr
+_memccpy
+_memicmp
+_mkdir
+_mktemp
+_msize
+_mtlock
+_mtunlock
+_nextafter
+_onexit
+_open
+_open_osfhandle
+_osver
+_outp
+_outpd
+_outpw
+_pclose
+_pctype
+_pgmptr
+_pipe
+_popen
+_purecall
+_putch
+_putenv
+_putw
+_putws
+_pwctype
+_read
+_rmdir
+_rmtmp
+_rotl
+_rotr
+_safe_fdiv
+_safe_fdivr
+_safe_fprem
+_safe_fprem1
+_scalb
+_searchenv
+_seh_longjmp_unwind
+_set_error_mode
+_seterrormode
+_setjmp
+_setjmp3
+_setmaxstdio
+_setmbcp
+_setmode
+_setsystime
+_sleep
+_snprintf
+_snwprintf
+_sopen
+_spawnl
+_spawnle
+_spawnlp
+_spawnlpe
+_spawnv
+_spawnve
+_spawnvp
+_spawnvpe
+_splitpath
+_stat
+_stati64
+_statusfp
+_strcmpi
+_strdate
+_strdup
+_strerror
+_stricmp
+_stricoll
+_strlwr
+_strncoll
+_strnicmp
+_strnicoll
+_strnset
+_strrev
+_strset
+_strtime
+_strupr
+_swab
+_sys_errlist
+_sys_nerr
+_tell
+_telli64
+_tempnam
+_timezone
+_tolower
+_toupper
+_tzname
+_tzset
+_ultoa
+_ultow
+_umask
+_ungetch
+_unlink
+_unloaddll
+_utime
+_vsnprintf
+_vsnwprintf
+_waccess
+_wasctime
+_wchdir
+_wchmod
+_wcmdln
+_wcreat
+_wcsdup
+_wcsicmp
+_wcsicoll
+_wcslwr
+_wcsncoll
+_wcsnicmp
+_wcsnicoll
+_wcsnset
+_wcsrev
+_wcsset
+_wcsupr
+_wctime DATA
+;_wctime32 = _wctime
+_wenviron
+_wexecl
+_wexecle
+_wexeclp
+_wexeclpe
+_wexecv
+_wexecve
+_wexecvp
+_wexecvpe
+_wfdopen
+_wfindfirst
+_wfindfirsti64
+_wfindnext
+_wfindnexti64
+_wfopen
+_wfreopen
+_wfsopen
+_wfullpath
+_wgetcwd
+_wgetdcwd
+_wgetenv
+_winmajor
+_winminor
+_winver
+_wmakepath
+_wmkdir
+_wmktemp
+_wopen
+_wperror
+_wpgmptr
+_wpopen
+_wputenv
+_wremove
+_wrename
+_write
+_wrmdir
+_wsearchenv
+_wsetlocale
+_wsopen
+_wspawnl
+_wspawnle
+_wspawnlp
+_wspawnlpe
+_wspawnv
+_wspawnve
+_wspawnvp
+_wspawnvpe
+_wsplitpath
+_wstat
+_wstati64
+_wstrdate
+_wstrtime
+_wsystem
+_wtempnam
+_wtmpnam
+_wtoi
+_wtol
+_wunlink
+_wutime
+_y0
+_y1
+_yn
+abort
+abs
+acos
+asctime
+asin
+atan
+atan2
+atexit DATA
+atof
+atoi
+atol
+bsearch
+calloc
+ceil
+clearerr
+clock
+cos
+cosh
+ctime DATA
+;_ctime32 = ctime
+difftime
+div
+exit
+exp
+fabs
+fclose
+feof
+ferror
+fflush
+fgetc
+fgetpos
+fgets
+fgetwc
+fgetws
+floor
+fmod
+fopen
+fprintf
+fputc
+fputs
+fputwc
+fputws
+fread
+free
+freopen
+frexp
+fscanf
+fseek
+fsetpos
+ftell
+fwprintf
+fwrite
+fwscanf
+getc
+getchar
+getenv
+gets
+getwc
+getwchar
+gmtime DATA
+;_gmtime32 = gmtime
+is_wctype
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+isleadbyte
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalnum
+iswalpha
+iswascii
+iswcntrl
+iswctype
+iswdigit
+iswgraph
+iswlower
+iswprint
+iswpunct
+iswspace
+iswupper
+iswxdigit
+isxdigit
+labs
+ldexp
+ldiv
+localeconv
+localtime DATA
+;_localtime32 = localtime
+log
+log10
+malloc
+mblen
+mbstowcs
+mbtowc
+memchr
+memcmp
+memcpy
+memmove
+memset
+mktime DATA
+;_mktime32 = mktime
+modf
+perror
+pow
+printf
+putc
+putchar
+puts
+putwc
+putwchar
+qsort
+raise
+rand
+realloc
+remove
+rename
+rewind
+scanf
+setbuf
+setlocale
+setvbuf
+signal
+sin
+sinh
+sprintf
+sqrt
+srand
+sscanf
+strcat
+strchr
+strcmp
+strcoll
+strcpy
+strcspn
+strerror
+strftime
+strlen
+strncat
+strncmp
+strncpy
+strpbrk
+strrchr
+strspn
+strstr
+strtod
+strtok
+strtol
+strtoul
+strxfrm
+swprintf
+swscanf
+system
+tan
+tanh
+time DATA
+;_time32 = time
+tmpfile
+tmpnam
+tolower
+toupper
+towlower
+towupper
+ungetc
+ungetwc
+vfprintf
+vfwprintf
+vprintf
+vsprintf
+vswprintf
+vwprintf
+wcscat
+wcschr
+wcscmp
+wcscoll
+wcscpy
+wcscspn
+wcsftime
+wcslen
+wcsncat
+wcsncmp
+wcsncpy
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstod
+wcstok
+wcstol
+wcstombs
+wcstoul
+wcsxfrm
+wctomb
+wprintf
+wscanf
diff --git a/mingw-w64-crt/lib64/wmsvfw32.def b/mingw-w64-crt/lib64/wmsvfw32.def
index c632e50..b105192 100644
--- a/mingw-w64-crt/lib64/wmsvfw32.def
+++ b/mingw-w64-crt/lib64/wmsvfw32.def
@@ -1,55 +1,55 @@
-; 
-; Exports of file MSVFW32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSVFW32.dll
-EXPORTS
-VideoForWindowsVersion
-DrawDibBegin
-DrawDibChangePalette
-DrawDibClose
-DrawDibDraw
-DrawDibEnd
-DrawDibGetBuffer
-DrawDibGetPalette
-DrawDibOpen
-DrawDibProfileDisplay
-DrawDibRealize
-DrawDibSetPalette
-DrawDibStart
-DrawDibStop
-DrawDibTime
-GetOpenFileNamePreview
-GetOpenFileNamePreviewA
-GetOpenFileNamePreviewW
-GetSaveFileNamePreviewA
-GetSaveFileNamePreviewW
-ICClose
-ICCompress
-ICCompressorChoose
-ICCompressorFree
-ICDecompress
-ICDraw
-ICDrawBegin
-ICGetDisplayFormat
-ICGetInfo
-ICImageCompress
-ICImageDecompress
-ICInfo
-ICInstall
-ICLocate
-ICMThunk32
-ICOpen
-ICOpenFunction
-ICRemove
-ICSendMessage
-ICSeqCompressFrame
-ICSeqCompressFrameEnd
-ICSeqCompressFrameStart
-MCIWndCreate
-MCIWndCreateA
-MCIWndCreateW
-MCIWndRegisterClass
-StretchDIB
+; 
+; Exports of file MSVFW32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSVFW32.dll
+EXPORTS
+VideoForWindowsVersion
+DrawDibBegin
+DrawDibChangePalette
+DrawDibClose
+DrawDibDraw
+DrawDibEnd
+DrawDibGetBuffer
+DrawDibGetPalette
+DrawDibOpen
+DrawDibProfileDisplay
+DrawDibRealize
+DrawDibSetPalette
+DrawDibStart
+DrawDibStop
+DrawDibTime
+GetOpenFileNamePreview
+GetOpenFileNamePreviewA
+GetOpenFileNamePreviewW
+GetSaveFileNamePreviewA
+GetSaveFileNamePreviewW
+ICClose
+ICCompress
+ICCompressorChoose
+ICCompressorFree
+ICDecompress
+ICDraw
+ICDrawBegin
+ICGetDisplayFormat
+ICGetInfo
+ICImageCompress
+ICImageDecompress
+ICInfo
+ICInstall
+ICLocate
+ICMThunk32
+ICOpen
+ICOpenFunction
+ICRemove
+ICSendMessage
+ICSeqCompressFrame
+ICSeqCompressFrameEnd
+ICSeqCompressFrameStart
+MCIWndCreate
+MCIWndCreateA
+MCIWndCreateW
+MCIWndRegisterClass
+StretchDIB
diff --git a/mingw-w64-crt/lib64/wmsvidc32.def b/mingw-w64-crt/lib64/wmsvidc32.def
index 4133d7f..ad7601a 100644
--- a/mingw-w64-crt/lib64/wmsvidc32.def
+++ b/mingw-w64-crt/lib64/wmsvidc32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSVIDC32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSVIDC32.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MSVIDC32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSVIDC32.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/wmsvidctl.def b/mingw-w64-crt/lib64/wmsvidctl.def
index aad3ed1..141b6c0 100644
--- a/mingw-w64-crt/lib64/wmsvidctl.def
+++ b/mingw-w64-crt/lib64/wmsvidctl.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSVidCtl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSVidCtl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file MSVidCtl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSVidCtl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/wmsw3prt.def b/mingw-w64-crt/lib64/wmsw3prt.def
index 32e07fa..a08b9cc 100644
--- a/mingw-w64-crt/lib64/wmsw3prt.def
+++ b/mingw-w64-crt/lib64/wmsw3prt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MSW3PRT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSW3PRT.dll
-EXPORTS
-GetExtensionVersion
-HttpExtensionProc
+; 
+; Exports of file MSW3PRT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSW3PRT.dll
+EXPORTS
+GetExtensionVersion
+HttpExtensionProc
diff --git a/mingw-w64-crt/lib64/wmswebdvd.def b/mingw-w64-crt/lib64/wmswebdvd.def
index 5863137..d38633c 100644
--- a/mingw-w64-crt/lib64/wmswebdvd.def
+++ b/mingw-w64-crt/lib64/wmswebdvd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSWebDVD.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSWebDVD.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSWebDVD.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSWebDVD.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmswmdm.def b/mingw-w64-crt/lib64/wmswmdm.def
index fb6e9cb..169d84f 100644
--- a/mingw-w64-crt/lib64/wmswmdm.def
+++ b/mingw-w64-crt/lib64/wmswmdm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mswmdm.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mswmdm.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mswmdm.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mswmdm.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmswsock.def b/mingw-w64-crt/lib64/wmswsock.def
index 5bb1375..7abab87 100644
--- a/mingw-w64-crt/lib64/wmswsock.def
+++ b/mingw-w64-crt/lib64/wmswsock.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file MSWSOCK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSWSOCK.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
-AcceptEx
-EnumProtocolsA
-EnumProtocolsW
-GetAcceptExSockaddrs
-GetAddressByNameA
-GetAddressByNameW
-GetNameByTypeA
-GetNameByTypeW
-GetServiceA
-GetServiceW
-GetTypeByNameA
-GetTypeByNameW
-MigrateWinsockConfiguration
-NPLoadNameSpaces
-NSPStartup
-SetServiceA
-SetServiceW
-StartWsdpService
-StopWsdpService
-TransmitFile
-WSARecvEx
-WSPStartup
-dn_expand
-getnetbyname
-inet_network
-rcmd
-rexec
-rresvport
-s_perror
-sethostname
+; 
+; Exports of file MSWSOCK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSWSOCK.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
+AcceptEx
+EnumProtocolsA
+EnumProtocolsW
+GetAcceptExSockaddrs
+GetAddressByNameA
+GetAddressByNameW
+GetNameByTypeA
+GetNameByTypeW
+GetServiceA
+GetServiceW
+GetTypeByNameA
+GetTypeByNameW
+MigrateWinsockConfiguration
+NPLoadNameSpaces
+NSPStartup
+SetServiceA
+SetServiceW
+StartWsdpService
+StopWsdpService
+TransmitFile
+WSARecvEx
+WSPStartup
+dn_expand
+getnetbyname
+inet_network
+rcmd
+rexec
+rresvport
+s_perror
+sethostname
diff --git a/mingw-w64-crt/lib64/wmsxactps.def b/mingw-w64-crt/lib64/wmsxactps.def
index 8483aac..0757418 100644
--- a/mingw-w64-crt/lib64/wmsxactps.def
+++ b/mingw-w64-crt/lib64/wmsxactps.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSXACTPS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSXACTPS.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSXACTPS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSXACTPS.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsxbde40.def b/mingw-w64-crt/lib64/wmsxbde40.def
index 8538cbd..c287601 100644
--- a/mingw-w64-crt/lib64/wmsxbde40.def
+++ b/mingw-w64-crt/lib64/wmsxbde40.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file msxbde40.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY msxbde40.DLL
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file msxbde40.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY msxbde40.DLL
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsxml.def b/mingw-w64-crt/lib64/wmsxml.def
index 37912f8..ce97f8d 100644
--- a/mingw-w64-crt/lib64/wmsxml.def
+++ b/mingw-w64-crt/lib64/wmsxml.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MSXML.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSXML.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSXML.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSXML.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsxml2.def b/mingw-w64-crt/lib64/wmsxml2.def
index a6b8dd3..e77a7a2 100644
--- a/mingw-w64-crt/lib64/wmsxml2.def
+++ b/mingw-w64-crt/lib64/wmsxml2.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSXML2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSXML2.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSXML2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSXML2.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsxml3.def b/mingw-w64-crt/lib64/wmsxml3.def
index b7c3b10..de00e4b 100644
--- a/mingw-w64-crt/lib64/wmsxml3.def
+++ b/mingw-w64-crt/lib64/wmsxml3.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file MSXML3.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSXML3.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MSXML3.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSXML3.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmsyuv.def b/mingw-w64-crt/lib64/wmsyuv.def
index 7d4d887..3d62a6d 100644
--- a/mingw-w64-crt/lib64/wmsyuv.def
+++ b/mingw-w64-crt/lib64/wmsyuv.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MSYUV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MSYUV.dll
-EXPORTS
-DriverProc
+; 
+; Exports of file MSYUV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MSYUV.dll
+EXPORTS
+DriverProc
diff --git a/mingw-w64-crt/lib64/wmtxclu.def b/mingw-w64-crt/lib64/wmtxclu.def
index b2fb0d9..0e61a53 100644
--- a/mingw-w64-crt/lib64/wmtxclu.def
+++ b/mingw-w64-crt/lib64/wmtxclu.def
@@ -1,93 +1,93 @@
-; 
-; Exports of file MTXCLU.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MTXCLU.DLL
-EXPORTS
-MtxCluBringOnlineDTC2A
-MtxCluBringOnlineDTC2W
-MtxCluBringOnlineDTCA
-MtxCluBringOnlineDTCW
-MtxCluCheckIfOkToStartDtc
-MtxCluCheckPointCryptoW
-MtxCluCheckpointRegistryA
-MtxCluCheckpointRegistryW
-MtxCluCloseNodeNotify
-MtxCluCreateDtcResourceKeyW
-MtxCluCreateDtcResourceValueW
-MtxCluCreateDtcResourceW
-MtxCluCreateRecommendedLogInfo
-MtxCluDeleteDtcResourceKeyW
-MtxCluDeleteDtcResourceValueW
-MtxCluDoesDTCResourceExistA
-MtxCluDoesDTCResourceExistW
-MtxCluGetComputerNameA
-MtxCluGetComputerNameW
-MtxCluGetDTCInstallState
-MtxCluGetDTCInstallVersion
-MtxCluGetDTCIpAddressA
-MtxCluGetDTCIpAddressW
-MtxCluGetDTCLogPathA
-MtxCluGetDTCLogPathW
-MtxCluGetDTCLogSizeA
-MtxCluGetDTCLogSizeW
-MtxCluGetDTCOwnerA
-MtxCluGetDTCOwnerW
-MtxCluGetDTCStatusA
-MtxCluGetDTCStatusW
-MtxCluGetDTCVirtualServerNameA
-MtxCluGetDTCVirtualServerNameW
-MtxCluGetDtcUserInfo
-MtxCluGetJoinMasterA
-MtxCluGetJoinMasterW
-MtxCluGetListOfSharedDisksA
-MtxCluGetListOfSharedDisksOnVirtualServerA
-MtxCluGetListOfSharedDisksOnVirtualServerW
-MtxCluGetListOfSharedDisksW
-MtxCluGetListOfVirtualServersA
-MtxCluGetListOfVirtualServersW
-MtxCluGetNewCryptoKey
-MtxCluGetNodeClusterStateW
-MtxCluGetSecurityRegValue
-MtxCluInitialize
-MtxCluIsClusterPresent
-MtxCluIsClusterPresentExA
-MtxCluIsClusterPresentExW
-MtxCluIsNetworkNameInLocalClusterW
-MtxCluIsSameClusterW
-MtxCluIsSameNodeA
-MtxCluIsSameNodeW
-MtxCluIsSharedDiskA
-MtxCluIsSharedDiskW
-MtxCluIsVirtualServerInLocalClusterA
-MtxCluIsVirtualServerInLocalClusterW
-MtxCluJoinDTCResource
-MtxCluListNodesA
-MtxCluListNodesW
-MtxCluMoveDTCGroupA
-MtxCluMoveDTCGroupW
-MtxCluNodeNotifyA
-MtxCluNodeNotifyW
-MtxCluQueryDtcResourceValueW
-MtxCluRegisterDTCResourceA
-MtxCluRegisterDTCResourceW
-MtxCluRemoveAllRegistryCheckpoints
-MtxCluRemoveCheckpointRegistryA
-MtxCluRemoveCheckpointRegistryW
-MtxCluSetDTCLogPathA
-MtxCluSetDTCLogPathW
-MtxCluSetDTCLogSizeA
-MtxCluSetDTCLogSizeW
-MtxCluSetDtcUserInfo
-MtxCluSetNewCryptoKey
-MtxCluSetSecurityRegValue
-MtxCluTakeOfflineDTC2W
-MtxCluTakeOfflineDTCA
-MtxCluTakeOfflineDTCW
-MtxCluUninitialize
-MtxCluUpgradeDtcResourceW
-Startup
-WasDTCInstalledBySQL
-DllMain
+; 
+; Exports of file MTXCLU.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MTXCLU.DLL
+EXPORTS
+MtxCluBringOnlineDTC2A
+MtxCluBringOnlineDTC2W
+MtxCluBringOnlineDTCA
+MtxCluBringOnlineDTCW
+MtxCluCheckIfOkToStartDtc
+MtxCluCheckPointCryptoW
+MtxCluCheckpointRegistryA
+MtxCluCheckpointRegistryW
+MtxCluCloseNodeNotify
+MtxCluCreateDtcResourceKeyW
+MtxCluCreateDtcResourceValueW
+MtxCluCreateDtcResourceW
+MtxCluCreateRecommendedLogInfo
+MtxCluDeleteDtcResourceKeyW
+MtxCluDeleteDtcResourceValueW
+MtxCluDoesDTCResourceExistA
+MtxCluDoesDTCResourceExistW
+MtxCluGetComputerNameA
+MtxCluGetComputerNameW
+MtxCluGetDTCInstallState
+MtxCluGetDTCInstallVersion
+MtxCluGetDTCIpAddressA
+MtxCluGetDTCIpAddressW
+MtxCluGetDTCLogPathA
+MtxCluGetDTCLogPathW
+MtxCluGetDTCLogSizeA
+MtxCluGetDTCLogSizeW
+MtxCluGetDTCOwnerA
+MtxCluGetDTCOwnerW
+MtxCluGetDTCStatusA
+MtxCluGetDTCStatusW
+MtxCluGetDTCVirtualServerNameA
+MtxCluGetDTCVirtualServerNameW
+MtxCluGetDtcUserInfo
+MtxCluGetJoinMasterA
+MtxCluGetJoinMasterW
+MtxCluGetListOfSharedDisksA
+MtxCluGetListOfSharedDisksOnVirtualServerA
+MtxCluGetListOfSharedDisksOnVirtualServerW
+MtxCluGetListOfSharedDisksW
+MtxCluGetListOfVirtualServersA
+MtxCluGetListOfVirtualServersW
+MtxCluGetNewCryptoKey
+MtxCluGetNodeClusterStateW
+MtxCluGetSecurityRegValue
+MtxCluInitialize
+MtxCluIsClusterPresent
+MtxCluIsClusterPresentExA
+MtxCluIsClusterPresentExW
+MtxCluIsNetworkNameInLocalClusterW
+MtxCluIsSameClusterW
+MtxCluIsSameNodeA
+MtxCluIsSameNodeW
+MtxCluIsSharedDiskA
+MtxCluIsSharedDiskW
+MtxCluIsVirtualServerInLocalClusterA
+MtxCluIsVirtualServerInLocalClusterW
+MtxCluJoinDTCResource
+MtxCluListNodesA
+MtxCluListNodesW
+MtxCluMoveDTCGroupA
+MtxCluMoveDTCGroupW
+MtxCluNodeNotifyA
+MtxCluNodeNotifyW
+MtxCluQueryDtcResourceValueW
+MtxCluRegisterDTCResourceA
+MtxCluRegisterDTCResourceW
+MtxCluRemoveAllRegistryCheckpoints
+MtxCluRemoveCheckpointRegistryA
+MtxCluRemoveCheckpointRegistryW
+MtxCluSetDTCLogPathA
+MtxCluSetDTCLogPathW
+MtxCluSetDTCLogSizeA
+MtxCluSetDTCLogSizeW
+MtxCluSetDtcUserInfo
+MtxCluSetNewCryptoKey
+MtxCluSetSecurityRegValue
+MtxCluTakeOfflineDTC2W
+MtxCluTakeOfflineDTCA
+MtxCluTakeOfflineDTCW
+MtxCluUninitialize
+MtxCluUpgradeDtcResourceW
+Startup
+WasDTCInstalledBySQL
+DllMain
diff --git a/mingw-w64-crt/lib64/wmtxdm.def b/mingw-w64-crt/lib64/wmtxdm.def
index 760c793..faef649 100644
--- a/mingw-w64-crt/lib64/wmtxdm.def
+++ b/mingw-w64-crt/lib64/wmtxdm.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MTxDM.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MTxDM.dll
-EXPORTS
-GetDispenserManager
+; 
+; Exports of file MTxDM.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MTxDM.dll
+EXPORTS
+GetDispenserManager
diff --git a/mingw-w64-crt/lib64/wmtxex.def b/mingw-w64-crt/lib64/wmtxex.def
index 5cc07d5..27284e3 100644
--- a/mingw-w64-crt/lib64/wmtxex.def
+++ b/mingw-w64-crt/lib64/wmtxex.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file mtxex.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mtxex.dll
-EXPORTS
-DllGetClassObject
-GetObjectContext
-MTSCreateActivity
-SafeRef
+; 
+; Exports of file mtxex.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mtxex.dll
+EXPORTS
+DllGetClassObject
+GetObjectContext
+MTSCreateActivity
+SafeRef
diff --git a/mingw-w64-crt/lib64/wmtxlegih.def b/mingw-w64-crt/lib64/wmtxlegih.def
index 8ca9ba6..a0cf1f5 100644
--- a/mingw-w64-crt/lib64/wmtxlegih.def
+++ b/mingw-w64-crt/lib64/wmtxlegih.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file MTXLEGIH.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MTXLEGIH.DLL
-EXPORTS
-TryLegInterfaceFirst
+; 
+; Exports of file MTXLEGIH.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MTXLEGIH.DLL
+EXPORTS
+TryLegInterfaceFirst
diff --git a/mingw-w64-crt/lib64/wmtxoci.def b/mingw-w64-crt/lib64/wmtxoci.def
index 21cbefb..640a2a6 100644
--- a/mingw-w64-crt/lib64/wmtxoci.def
+++ b/mingw-w64-crt/lib64/wmtxoci.def
@@ -1,48 +1,48 @@
-; 
-; Exports of file MTxOCI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MTxOCI.dll
-EXPORTS
-obndra
-obndrn
-obndrv
-obreak
-ocan
-oclose
-ocof
-ocom
-ocon
-odefin
-odescr
-odessp
-oerhms
-oermsg
-oexec
-oexfet
-oexn
-ofen
-ofetch
-oflng
-olog
-ologof
-DllRegisterServer
-DllUnregisterServer
-oopen
-oopt
-oparse
-orol
-obindps
-odefinps
-ogetpi
-osetpi
-opinit
-ologTransacted
-Enlist
-GetXaSwitch
-MTxOciInit
-MTxolog
-MTxOciGetVersion
-MTxOciRegisterCursor
+; 
+; Exports of file MTxOCI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MTxOCI.dll
+EXPORTS
+obndra
+obndrn
+obndrv
+obreak
+ocan
+oclose
+ocof
+ocom
+ocon
+odefin
+odescr
+odessp
+oerhms
+oermsg
+oexec
+oexfet
+oexn
+ofen
+ofetch
+oflng
+olog
+ologof
+DllRegisterServer
+DllUnregisterServer
+oopen
+oopt
+oparse
+orol
+obindps
+odefinps
+ogetpi
+osetpi
+opinit
+ologTransacted
+Enlist
+GetXaSwitch
+MTxOciInit
+MTxolog
+MTxOciGetVersion
+MTxOciRegisterCursor
diff --git a/mingw-w64-crt/lib64/wmxicfg.def b/mingw-w64-crt/lib64/wmxicfg.def
index 568bdc4..a444f11 100644
--- a/mingw-w64-crt/lib64/wmxicfg.def
+++ b/mingw-w64-crt/lib64/wmxicfg.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MXICFG.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MXICFG.DLL
-EXPORTS
-EnumPropPages
-MxICoInstaller
+; 
+; Exports of file MXICFG.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MXICFG.DLL
+EXPORTS
+EnumPropPages
+MxICoInstaller
diff --git a/mingw-w64-crt/lib64/wmxport.def b/mingw-w64-crt/lib64/wmxport.def
index 5268c04..da20e5a 100644
--- a/mingw-w64-crt/lib64/wmxport.def
+++ b/mingw-w64-crt/lib64/wmxport.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file MXPORT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MXPORT.DLL
-EXPORTS
-MxPortCoInstaller
-MxSerialPortPropPageProvider
+; 
+; Exports of file MXPORT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MXPORT.DLL
+EXPORTS
+MxPortCoInstaller
+MxSerialPortPropPageProvider
diff --git a/mingw-w64-crt/lib64/wmycomput.def b/mingw-w64-crt/lib64/wmycomput.def
index d0ee76b..16ae69b 100644
--- a/mingw-w64-crt/lib64/wmycomput.def
+++ b/mingw-w64-crt/lib64/wmycomput.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file MyComput.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY MyComput.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file MyComput.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY MyComput.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wmydocs.def b/mingw-w64-crt/lib64/wmydocs.def
index c37d14f..f414ac3 100644
--- a/mingw-w64-crt/lib64/wmydocs.def
+++ b/mingw-w64-crt/lib64/wmydocs.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file mydocs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY mydocs.dll
-EXPORTS
-PerUserInit
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file mydocs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY mydocs.dll
+EXPORTS
+PerUserInit
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wnarrhook.def b/mingw-w64-crt/lib64/wnarrhook.def
index 17da775..2addf2f 100644
--- a/mingw-w64-crt/lib64/wnarrhook.def
+++ b/mingw-w64-crt/lib64/wnarrhook.def
@@ -1,64 +1,64 @@
-; 
-; Exports of file NARRHOOK.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NARRHOOK.dll
-EXPORTS
-; void __stdcall BackToApplication(void)
-?BackToApplication@@YGXXZ
-; int __stdcall GetAnnounceMenu(void)
-?GetAnnounceMenu@@YGHXZ
-; int __stdcall GetAnnouncePopup(void)
-?GetAnnouncePopup@@YGHXZ
-; int __stdcall GetAnnounceToolTips(void)
-?GetAnnounceToolTips@@YGHXZ
-; int __stdcall GetAnnounceWindow(void)
-?GetAnnounceWindow@@YGHXZ
-; void __stdcall GetCurrentText(unsigned short *,int)
-?GetCurrentText@@YGXPAGH@Z
-; int __stdcall GetEchoChars(void)
-?GetEchoChars@@YGHXZ
-; int __stdcall GetReviewLevel(void)
-?GetReviewLevel@@YGHXZ
-; int __stdcall GetReviewStyle(void)
-?GetReviewStyle@@YGHXZ
-; int __stdcall GetTrackCaret(void)
-?GetTrackCaret@@YGHXZ
-; int __stdcall GetTrackInputFocus(void)
-?GetTrackInputFocus@@YGHXZ
-; int __stdcall GetTrackSecondary(void)
-?GetTrackSecondary@@YGHXZ
-; int __stdcall InitKeys(struct HWND__ *)
-?InitKeys@@YGHPAUHWND__@@@Z
-; int __stdcall InitMSAA(void)
-?InitMSAA@@YGHXZ
-; void __stdcall SetAnnounceMenu(int)
-?SetAnnounceMenu@@YGXH@Z
-; void __stdcall SetAnnouncePopup(int)
-?SetAnnouncePopup@@YGXH@Z
-; void __stdcall SetAnnounceToolTips(int)
-?SetAnnounceToolTips@@YGXH@Z
-; void __stdcall SetAnnounceWindow(int)
-?SetAnnounceWindow@@YGXH@Z
-; void __stdcall SetCurrentText(unsigned short const *)
-?SetCurrentText@@YGXPBG@Z
-; void __stdcall SetEchoChars(int)
-?SetEchoChars@@YGXH@Z
-; void __stdcall SetReviewLevel(int)
-?SetReviewLevel@@YGXH@Z
-; void __stdcall SetReviewStyle(int)
-?SetReviewStyle@@YGXH@Z
-; void __stdcall SetTrackCaret(int)
-?SetTrackCaret@@YGXH@Z
-; void __stdcall SetTrackInputFocus(int)
-?SetTrackInputFocus@@YGXH@Z
-; void __stdcall SetTrackSecondary(int)
-?SetTrackSecondary@@YGXH@Z
-; int __stdcall UnInitMSAA(void)
-?UnInitMSAA@@YGHXZ
-; int __stdcall UninitKeys(void)
-?UninitKeys@@YGHXZ
-; unsigned short * __stdcall lstrcatn(unsigned short *,unsigned short *,int)
-?lstrcatn@@YGPAGPAG0H@Z
+; 
+; Exports of file NARRHOOK.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NARRHOOK.dll
+EXPORTS
+; void __stdcall BackToApplication(void)
+?BackToApplication@@YGXXZ
+; int __stdcall GetAnnounceMenu(void)
+?GetAnnounceMenu@@YGHXZ
+; int __stdcall GetAnnouncePopup(void)
+?GetAnnouncePopup@@YGHXZ
+; int __stdcall GetAnnounceToolTips(void)
+?GetAnnounceToolTips@@YGHXZ
+; int __stdcall GetAnnounceWindow(void)
+?GetAnnounceWindow@@YGHXZ
+; void __stdcall GetCurrentText(unsigned short *,int)
+?GetCurrentText@@YGXPAGH@Z
+; int __stdcall GetEchoChars(void)
+?GetEchoChars@@YGHXZ
+; int __stdcall GetReviewLevel(void)
+?GetReviewLevel@@YGHXZ
+; int __stdcall GetReviewStyle(void)
+?GetReviewStyle@@YGHXZ
+; int __stdcall GetTrackCaret(void)
+?GetTrackCaret@@YGHXZ
+; int __stdcall GetTrackInputFocus(void)
+?GetTrackInputFocus@@YGHXZ
+; int __stdcall GetTrackSecondary(void)
+?GetTrackSecondary@@YGHXZ
+; int __stdcall InitKeys(struct HWND__ *)
+?InitKeys@@YGHPAUHWND__@@@Z
+; int __stdcall InitMSAA(void)
+?InitMSAA@@YGHXZ
+; void __stdcall SetAnnounceMenu(int)
+?SetAnnounceMenu@@YGXH@Z
+; void __stdcall SetAnnouncePopup(int)
+?SetAnnouncePopup@@YGXH@Z
+; void __stdcall SetAnnounceToolTips(int)
+?SetAnnounceToolTips@@YGXH@Z
+; void __stdcall SetAnnounceWindow(int)
+?SetAnnounceWindow@@YGXH@Z
+; void __stdcall SetCurrentText(unsigned short const *)
+?SetCurrentText@@YGXPBG@Z
+; void __stdcall SetEchoChars(int)
+?SetEchoChars@@YGXH@Z
+; void __stdcall SetReviewLevel(int)
+?SetReviewLevel@@YGXH@Z
+; void __stdcall SetReviewStyle(int)
+?SetReviewStyle@@YGXH@Z
+; void __stdcall SetTrackCaret(int)
+?SetTrackCaret@@YGXH@Z
+; void __stdcall SetTrackInputFocus(int)
+?SetTrackInputFocus@@YGXH@Z
+; void __stdcall SetTrackSecondary(int)
+?SetTrackSecondary@@YGXH@Z
+; int __stdcall UnInitMSAA(void)
+?UnInitMSAA@@YGHXZ
+; int __stdcall UninitKeys(void)
+?UninitKeys@@YGHXZ
+; unsigned short * __stdcall lstrcatn(unsigned short *,unsigned short *,int)
+?lstrcatn@@YGPAGPAG0H@Z
diff --git a/mingw-w64-crt/lib64/wncobjapi.def b/mingw-w64-crt/lib64/wncobjapi.def
index 96a7554..5bf6f9f 100644
--- a/mingw-w64-crt/lib64/wncobjapi.def
+++ b/mingw-w64-crt/lib64/wncobjapi.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file NCObjAPI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NCObjAPI.DLL
-EXPORTS
-WmiCommitObject
-WmiAddObjectProp
-WmiCreateObject
-WmiCreateObjectWithFormat
-WmiCreateObjectWithProps
-WmiDestroyObject
-WmiEventSourceConnect
-WmiEventSourceDisconnect
-WmiIsObjectActive
-WmiSetAndCommitObject
+; 
+; Exports of file NCObjAPI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NCObjAPI.DLL
+EXPORTS
+WmiCommitObject
+WmiAddObjectProp
+WmiCreateObject
+WmiCreateObjectWithFormat
+WmiCreateObjectWithProps
+WmiDestroyObject
+WmiEventSourceConnect
+WmiEventSourceDisconnect
+WmiIsObjectActive
+WmiSetAndCommitObject
diff --git a/mingw-w64-crt/lib64/wnddeapi.def b/mingw-w64-crt/lib64/wnddeapi.def
index 0b23604..f3ad1ac 100644
--- a/mingw-w64-crt/lib64/wnddeapi.def
+++ b/mingw-w64-crt/lib64/wnddeapi.def
@@ -1,36 +1,36 @@
-; 
-; Exports of file NDdeApi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NDdeApi.dll
-EXPORTS
-NDdeShareAddA
-NDdeShareDelA
-NDdeShareEnumA
-NDdeShareGetInfoA
-NDdeShareSetInfoA
-NDdeGetErrorStringA
-NDdeIsValidShareNameA
-NDdeIsValidAppTopicListA
-NDdeSpecialCommandA
-NDdeGetShareSecurityA
-NDdeSetShareSecurityA
-NDdeGetTrustedShareA
-NDdeSetTrustedShareA
-NDdeTrustedShareEnumA
-NDdeShareAddW
-NDdeShareDelW
-NDdeShareEnumW
-NDdeShareGetInfoW
-NDdeShareSetInfoW
-NDdeGetErrorStringW
-NDdeIsValidShareNameW
-NDdeIsValidAppTopicListW
-NDdeSpecialCommandW
-NDdeGetShareSecurityW
-NDdeSetShareSecurityW
-NDdeGetTrustedShareW
-NDdeSetTrustedShareW
-NDdeTrustedShareEnumW
+; 
+; Exports of file NDdeApi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NDdeApi.dll
+EXPORTS
+NDdeShareAddA
+NDdeShareDelA
+NDdeShareEnumA
+NDdeShareGetInfoA
+NDdeShareSetInfoA
+NDdeGetErrorStringA
+NDdeIsValidShareNameA
+NDdeIsValidAppTopicListA
+NDdeSpecialCommandA
+NDdeGetShareSecurityA
+NDdeSetShareSecurityA
+NDdeGetTrustedShareA
+NDdeSetTrustedShareA
+NDdeTrustedShareEnumA
+NDdeShareAddW
+NDdeShareDelW
+NDdeShareEnumW
+NDdeShareGetInfoW
+NDdeShareSetInfoW
+NDdeGetErrorStringW
+NDdeIsValidShareNameW
+NDdeIsValidAppTopicListW
+NDdeSpecialCommandW
+NDdeGetShareSecurityW
+NDdeSetShareSecurityW
+NDdeGetTrustedShareW
+NDdeSetTrustedShareW
+NDdeTrustedShareEnumW
diff --git a/mingw-w64-crt/lib64/wnddenb32.def b/mingw-w64-crt/lib64/wnddenb32.def
index 1faeb7e..bb67332 100644
--- a/mingw-w64-crt/lib64/wnddenb32.def
+++ b/mingw-w64-crt/lib64/wnddenb32.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file NDDENB32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NDDENB32.dll
-EXPORTS
-NDDEInit
-NDDEGetCAPS
-NDDEGetNewConnection
-NDDEAddConnection
-NDDEDeleteConnection
-NDDEGetConnectionStatus
-NDDERcvPacket
-NDDEXmtPacket
-NDDESetConnectionConfig
-NDDEShutdown
-NDDETimeSlice
-NDDEGetConnectionConfig
-Configure
-LogDebugInfo
-ConfigureDlgProc
+; 
+; Exports of file NDDENB32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NDDENB32.dll
+EXPORTS
+NDDEInit
+NDDEGetCAPS
+NDDEGetNewConnection
+NDDEAddConnection
+NDDEDeleteConnection
+NDDEGetConnectionStatus
+NDDERcvPacket
+NDDEXmtPacket
+NDDESetConnectionConfig
+NDDEShutdown
+NDDETimeSlice
+NDDEGetConnectionConfig
+Configure
+LogDebugInfo
+ConfigureDlgProc
diff --git a/mingw-w64-crt/lib64/wnetapi32.def b/mingw-w64-crt/lib64/wnetapi32.def
index 012697c..ab2c825 100644
--- a/mingw-w64-crt/lib64/wnetapi32.def
+++ b/mingw-w64-crt/lib64/wnetapi32.def
@@ -1,348 +1,348 @@
-; 
-; Exports of file NETAPI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETAPI32.dll
-EXPORTS
-CredpValidateTargetName
-DsAddressToSiteNamesA
-DsAddressToSiteNamesExA
-DsAddressToSiteNamesExW
-DsAddressToSiteNamesW
-DsDeregisterDnsHostRecordsA
-DsDeregisterDnsHostRecordsW
-DsEnumerateDomainTrustsA
-DsEnumerateDomainTrustsW
-DsGetDcCloseW
-DsGetDcNameA
-DsGetDcNameW
-DsGetDcNameWithAccountA
-DsGetDcNameWithAccountW
-DsGetDcNextA
-DsGetDcNextW
-DsGetDcOpenA
-DsGetDcOpenW
-DsGetDcSiteCoverageA
-DsGetDcSiteCoverageW
-DsGetForestTrustInformationW
-DsGetSiteNameA
-DsGetSiteNameW
-DsMergeForestTrustInformationW
-DsRoleAbortDownlevelServerUpgrade
-DsRoleCancel
-DsRoleDcAsDc
-DsRoleDcAsReplica
-DsRoleDemoteDc
-DsRoleDnsNameToFlatName
-DsRoleFreeMemory
-DsRoleGetDatabaseFacts
-DsRoleGetDcOperationProgress
-DsRoleGetDcOperationResults
-DsRoleGetPrimaryDomainInformation
-DsRoleIfmHandleFree
-DsRoleServerSaveStateForUpgrade
-DsRoleUpgradeDownlevelServer
-DsValidateSubnetNameA
-DsValidateSubnetNameW
-I_BrowserDebugCall
-I_BrowserDebugTrace
-I_BrowserQueryEmulatedDomains
-I_BrowserQueryOtherDomains
-I_BrowserQueryStatistics
-I_BrowserResetNetlogonState
-I_BrowserResetStatistics
-I_BrowserServerEnum
-I_BrowserSetNetlogonState
-I_NetAccountDeltas
-I_NetAccountSync
-I_NetDatabaseDeltas
-I_NetDatabaseRedo
-I_NetDatabaseSync2
-I_NetDatabaseSync
-I_NetDfsCreateExitPoint
-I_NetDfsCreateLocalPartition
-I_NetDfsDeleteExitPoint
-I_NetDfsDeleteLocalPartition
-I_NetDfsFixLocalVolume
-I_NetDfsGetFtServers
-I_NetDfsGetVersion
-I_NetDfsIsThisADomainName
-I_NetDfsManagerReportSiteInfo
-I_NetDfsModifyPrefix
-I_NetDfsSetLocalVolumeState
-I_NetDfsSetServerInfo
-I_NetGetDCList
-I_NetGetForestTrustInformation
-I_NetListCanonicalize
-I_NetListTraverse
-I_NetLogonControl2
-I_NetLogonControl
-I_NetLogonGetDomainInfo
-I_NetLogonSamLogoff
-I_NetLogonSamLogon
-I_NetLogonSamLogonEx
-I_NetLogonSamLogonWithFlags
-I_NetLogonSendToSam
-I_NetLogonUasLogoff
-I_NetLogonUasLogon
-I_NetNameCanonicalize
-I_NetNameCompare
-I_NetNameValidate
-I_NetPathCanonicalize
-I_NetPathCompare
-I_NetPathType
-I_NetServerAuthenticate2
-I_NetServerAuthenticate3
-I_NetServerAuthenticate
-I_NetServerGetTrustInfo
-I_NetServerPasswordGet
-I_NetServerPasswordSet2
-I_NetServerPasswordSet
-I_NetServerReqChallenge
-I_NetServerSetServiceBits
-I_NetServerSetServiceBitsEx
-I_NetServerTrustPasswordsGet
-I_NetlogonComputeClientDigest
-I_NetlogonComputeServerDigest
-I_NetlogonGetTrustRid
-NetAddAlternateComputerName
-NetAlertRaise
-NetAlertRaiseEx
-NetApiBufferAllocate
-NetApiBufferFree
-NetApiBufferReallocate
-NetApiBufferSize
-NetAuditClear
-NetAuditRead
-NetAuditWrite
-NetBrowserStatisticsGet
-NetConfigGet
-NetConfigGetAll
-NetConfigSet
-NetConnectionEnum
-NetDfsAdd
-NetDfsAddFtRoot
-NetDfsAddStdRoot
-NetDfsAddStdRootForced
-NetDfsEnum
-NetDfsGetClientInfo
-NetDfsGetDcAddress
-NetDfsGetFtContainerSecurity
-NetDfsGetInfo
-NetDfsGetSecurity
-NetDfsGetStdContainerSecurity
-NetDfsManagerGetConfigInfo
-NetDfsManagerInitialize
-NetDfsManagerSendSiteInfo
-NetDfsMove
-NetDfsRemove
-NetDfsRemoveFtRoot
-NetDfsRemoveFtRootForced
-NetDfsRemoveStdRoot
-NetDfsRename
-NetDfsSetClientInfo
-NetDfsSetFtContainerSecurity
-NetDfsSetInfo
-NetDfsSetSecurity
-NetDfsSetStdContainerSecurity
-NetEnumerateComputerNames
-NetEnumerateTrustedDomains
-NetErrorLogClear
-NetErrorLogRead
-NetErrorLogWrite
-NetFileClose
-NetFileEnum
-NetFileGetInfo
-NetGetAnyDCName
-NetGetDCName
-NetGetDisplayInformationIndex
-NetGetJoinInformation
-NetGetJoinableOUs
-NetGroupAdd
-NetGroupAddUser
-NetGroupDel
-NetGroupDelUser
-NetGroupEnum
-NetGroupGetInfo
-NetGroupGetUsers
-NetGroupSetInfo
-NetGroupSetUsers
-NetJoinDomain
-NetLocalGroupAdd
-NetLocalGroupAddMember
-NetLocalGroupAddMembers
-NetLocalGroupDel
-NetLocalGroupDelMember
-NetLocalGroupDelMembers
-NetLocalGroupEnum
-NetLocalGroupGetInfo
-NetLocalGroupGetMembers
-NetLocalGroupSetInfo
-NetLocalGroupSetMembers
-NetLogonGetTimeServiceParentDomain
-NetLogonSetServiceBits
-NetMessageBufferSend
-NetMessageNameAdd
-NetMessageNameDel
-NetMessageNameEnum
-NetMessageNameGetInfo
-NetQueryDisplayInformation
-NetRegisterDomainNameChangeNotification
-NetRemoteComputerSupports
-NetRemoteTOD
-NetRemoveAlternateComputerName
-NetRenameMachineInDomain
-NetReplExportDirAdd
-NetReplExportDirDel
-NetReplExportDirEnum
-NetReplExportDirGetInfo
-NetReplExportDirLock
-NetReplExportDirSetInfo
-NetReplExportDirUnlock
-NetReplGetInfo
-NetReplImportDirAdd
-NetReplImportDirDel
-NetReplImportDirEnum
-NetReplImportDirGetInfo
-NetReplImportDirLock
-NetReplImportDirUnlock
-NetReplSetInfo
-NetScheduleJobAdd
-NetScheduleJobDel
-NetScheduleJobEnum
-NetScheduleJobGetInfo
-NetServerComputerNameAdd
-NetServerComputerNameDel
-NetServerDiskEnum
-NetServerEnum
-NetServerEnumEx
-NetServerGetInfo
-NetServerSetInfo
-NetServerTransportAdd
-NetServerTransportAddEx
-NetServerTransportDel
-NetServerTransportEnum
-NetServiceControl
-NetServiceEnum
-NetServiceGetInfo
-NetServiceInstall
-NetSessionDel
-NetSessionEnum
-NetSessionGetInfo
-NetSetPrimaryComputerName
-NetShareAdd
-NetShareCheck
-NetShareDel
-NetShareDelSticky
-NetShareEnum
-NetShareEnumSticky
-NetShareGetInfo
-NetShareSetInfo
-NetStatisticsGet
-NetUnjoinDomain
-NetUnregisterDomainNameChangeNotification
-NetUseAdd
-NetUseDel
-NetUseEnum
-NetUseGetInfo
-NetUserAdd
-NetUserChangePassword
-NetUserDel
-NetUserEnum
-NetUserGetGroups
-NetUserGetInfo
-NetUserGetLocalGroups
-NetUserModalsGet
-NetUserModalsSet
-NetUserSetGroups
-NetUserSetInfo
-NetValidateName
-NetValidatePasswordPolicy
-NetValidatePasswordPolicyFree
-NetWkstaGetInfo
-NetWkstaSetInfo
-NetWkstaTransportAdd
-NetWkstaTransportDel
-NetWkstaTransportEnum
-NetWkstaUserEnum
-NetWkstaUserGetInfo
-NetWkstaUserSetInfo
-NetapipBufferAllocate
-Netbios
-NetpAccessCheck
-NetpAccessCheckAndAudit
-NetpAddTlnFtinfoEntry
-NetpAllocConfigName
-NetpAllocFtinfoEntry
-NetpAllocStrFromWStr
-NetpAllocWStrFromStr
-NetpAllocWStrFromWStr
-NetpApiStatusToNtStatus
-NetpAssertFailed
-NetpCleanFtinfoContext
-NetpCloseConfigData
-NetpCopyFtinfoContext
-NetpCopyStringToBuffer
-NetpCreateSecurityObject
-NetpDbgPrint
-NetpDeleteSecurityObject
-NetpGetComputerName
-NetpGetConfigBool
-NetpGetConfigDword
-NetpGetConfigTStrArray
-NetpGetConfigValue
-NetpGetDomainName
-NetpGetFileSecurity
-NetpGetPrivilege
-NetpHexDump
-NetpInitFtinfoContext
-NetpInitOemString
-NetpIsRemote
-NetpIsUncComputerNameValid
-NetpLocalTimeZoneOffset
-NetpLogonPutUnicodeString
-NetpMergeFtinfo
-NetpNetBiosAddName
-NetpNetBiosCall
-NetpNetBiosDelName
-NetpNetBiosGetAdapterNumbers
-NetpNetBiosHangup
-NetpNetBiosReceive
-NetpNetBiosReset
-NetpNetBiosSend
-NetpNetBiosStatusToApiStatus
-NetpNtStatusToApiStatus
-NetpOpenConfigData
-NetpPackString
-NetpParmsQueryUserProperty
-NetpParmsQueryUserPropertyWithLength
-NetpParmsSetUserProperty
-NetpParmsSetUserPropertyWithLength
-NetpParmsUserPropertyFree
-NetpReleasePrivilege
-NetpSetFileSecurity
-NetpSmbCheck
-NetpStoreIntialDcRecord
-NetpStringToNetBiosName
-NetpTStrArrayEntryCount
-NetpUpgradePreNT5JoinInfo
-NetpwNameCanonicalize
-NetpwNameCompare
-NetpwNameValidate
-NetpwPathCanonicalize
-NetpwPathCompare
-NetpwPathType
-NlBindingAddServerToCache
-NlBindingRemoveServerFromCache
-NlBindingSetAuthInfo
-RxNetAccessAdd
-RxNetAccessDel
-RxNetAccessEnum
-RxNetAccessGetInfo
-RxNetAccessGetUserPerms
-RxNetAccessSetInfo
-RxNetServerEnum
-RxNetUserPasswordSet
-RxRemoteApi
+; 
+; Exports of file NETAPI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETAPI32.dll
+EXPORTS
+CredpValidateTargetName
+DsAddressToSiteNamesA
+DsAddressToSiteNamesExA
+DsAddressToSiteNamesExW
+DsAddressToSiteNamesW
+DsDeregisterDnsHostRecordsA
+DsDeregisterDnsHostRecordsW
+DsEnumerateDomainTrustsA
+DsEnumerateDomainTrustsW
+DsGetDcCloseW
+DsGetDcNameA
+DsGetDcNameW
+DsGetDcNameWithAccountA
+DsGetDcNameWithAccountW
+DsGetDcNextA
+DsGetDcNextW
+DsGetDcOpenA
+DsGetDcOpenW
+DsGetDcSiteCoverageA
+DsGetDcSiteCoverageW
+DsGetForestTrustInformationW
+DsGetSiteNameA
+DsGetSiteNameW
+DsMergeForestTrustInformationW
+DsRoleAbortDownlevelServerUpgrade
+DsRoleCancel
+DsRoleDcAsDc
+DsRoleDcAsReplica
+DsRoleDemoteDc
+DsRoleDnsNameToFlatName
+DsRoleFreeMemory
+DsRoleGetDatabaseFacts
+DsRoleGetDcOperationProgress
+DsRoleGetDcOperationResults
+DsRoleGetPrimaryDomainInformation
+DsRoleIfmHandleFree
+DsRoleServerSaveStateForUpgrade
+DsRoleUpgradeDownlevelServer
+DsValidateSubnetNameA
+DsValidateSubnetNameW
+I_BrowserDebugCall
+I_BrowserDebugTrace
+I_BrowserQueryEmulatedDomains
+I_BrowserQueryOtherDomains
+I_BrowserQueryStatistics
+I_BrowserResetNetlogonState
+I_BrowserResetStatistics
+I_BrowserServerEnum
+I_BrowserSetNetlogonState
+I_NetAccountDeltas
+I_NetAccountSync
+I_NetDatabaseDeltas
+I_NetDatabaseRedo
+I_NetDatabaseSync2
+I_NetDatabaseSync
+I_NetDfsCreateExitPoint
+I_NetDfsCreateLocalPartition
+I_NetDfsDeleteExitPoint
+I_NetDfsDeleteLocalPartition
+I_NetDfsFixLocalVolume
+I_NetDfsGetFtServers
+I_NetDfsGetVersion
+I_NetDfsIsThisADomainName
+I_NetDfsManagerReportSiteInfo
+I_NetDfsModifyPrefix
+I_NetDfsSetLocalVolumeState
+I_NetDfsSetServerInfo
+I_NetGetDCList
+I_NetGetForestTrustInformation
+I_NetListCanonicalize
+I_NetListTraverse
+I_NetLogonControl2
+I_NetLogonControl
+I_NetLogonGetDomainInfo
+I_NetLogonSamLogoff
+I_NetLogonSamLogon
+I_NetLogonSamLogonEx
+I_NetLogonSamLogonWithFlags
+I_NetLogonSendToSam
+I_NetLogonUasLogoff
+I_NetLogonUasLogon
+I_NetNameCanonicalize
+I_NetNameCompare
+I_NetNameValidate
+I_NetPathCanonicalize
+I_NetPathCompare
+I_NetPathType
+I_NetServerAuthenticate2
+I_NetServerAuthenticate3
+I_NetServerAuthenticate
+I_NetServerGetTrustInfo
+I_NetServerPasswordGet
+I_NetServerPasswordSet2
+I_NetServerPasswordSet
+I_NetServerReqChallenge
+I_NetServerSetServiceBits
+I_NetServerSetServiceBitsEx
+I_NetServerTrustPasswordsGet
+I_NetlogonComputeClientDigest
+I_NetlogonComputeServerDigest
+I_NetlogonGetTrustRid
+NetAddAlternateComputerName
+NetAlertRaise
+NetAlertRaiseEx
+NetApiBufferAllocate
+NetApiBufferFree
+NetApiBufferReallocate
+NetApiBufferSize
+NetAuditClear
+NetAuditRead
+NetAuditWrite
+NetBrowserStatisticsGet
+NetConfigGet
+NetConfigGetAll
+NetConfigSet
+NetConnectionEnum
+NetDfsAdd
+NetDfsAddFtRoot
+NetDfsAddStdRoot
+NetDfsAddStdRootForced
+NetDfsEnum
+NetDfsGetClientInfo
+NetDfsGetDcAddress
+NetDfsGetFtContainerSecurity
+NetDfsGetInfo
+NetDfsGetSecurity
+NetDfsGetStdContainerSecurity
+NetDfsManagerGetConfigInfo
+NetDfsManagerInitialize
+NetDfsManagerSendSiteInfo
+NetDfsMove
+NetDfsRemove
+NetDfsRemoveFtRoot
+NetDfsRemoveFtRootForced
+NetDfsRemoveStdRoot
+NetDfsRename
+NetDfsSetClientInfo
+NetDfsSetFtContainerSecurity
+NetDfsSetInfo
+NetDfsSetSecurity
+NetDfsSetStdContainerSecurity
+NetEnumerateComputerNames
+NetEnumerateTrustedDomains
+NetErrorLogClear
+NetErrorLogRead
+NetErrorLogWrite
+NetFileClose
+NetFileEnum
+NetFileGetInfo
+NetGetAnyDCName
+NetGetDCName
+NetGetDisplayInformationIndex
+NetGetJoinInformation
+NetGetJoinableOUs
+NetGroupAdd
+NetGroupAddUser
+NetGroupDel
+NetGroupDelUser
+NetGroupEnum
+NetGroupGetInfo
+NetGroupGetUsers
+NetGroupSetInfo
+NetGroupSetUsers
+NetJoinDomain
+NetLocalGroupAdd
+NetLocalGroupAddMember
+NetLocalGroupAddMembers
+NetLocalGroupDel
+NetLocalGroupDelMember
+NetLocalGroupDelMembers
+NetLocalGroupEnum
+NetLocalGroupGetInfo
+NetLocalGroupGetMembers
+NetLocalGroupSetInfo
+NetLocalGroupSetMembers
+NetLogonGetTimeServiceParentDomain
+NetLogonSetServiceBits
+NetMessageBufferSend
+NetMessageNameAdd
+NetMessageNameDel
+NetMessageNameEnum
+NetMessageNameGetInfo
+NetQueryDisplayInformation
+NetRegisterDomainNameChangeNotification
+NetRemoteComputerSupports
+NetRemoteTOD
+NetRemoveAlternateComputerName
+NetRenameMachineInDomain
+NetReplExportDirAdd
+NetReplExportDirDel
+NetReplExportDirEnum
+NetReplExportDirGetInfo
+NetReplExportDirLock
+NetReplExportDirSetInfo
+NetReplExportDirUnlock
+NetReplGetInfo
+NetReplImportDirAdd
+NetReplImportDirDel
+NetReplImportDirEnum
+NetReplImportDirGetInfo
+NetReplImportDirLock
+NetReplImportDirUnlock
+NetReplSetInfo
+NetScheduleJobAdd
+NetScheduleJobDel
+NetScheduleJobEnum
+NetScheduleJobGetInfo
+NetServerComputerNameAdd
+NetServerComputerNameDel
+NetServerDiskEnum
+NetServerEnum
+NetServerEnumEx
+NetServerGetInfo
+NetServerSetInfo
+NetServerTransportAdd
+NetServerTransportAddEx
+NetServerTransportDel
+NetServerTransportEnum
+NetServiceControl
+NetServiceEnum
+NetServiceGetInfo
+NetServiceInstall
+NetSessionDel
+NetSessionEnum
+NetSessionGetInfo
+NetSetPrimaryComputerName
+NetShareAdd
+NetShareCheck
+NetShareDel
+NetShareDelSticky
+NetShareEnum
+NetShareEnumSticky
+NetShareGetInfo
+NetShareSetInfo
+NetStatisticsGet
+NetUnjoinDomain
+NetUnregisterDomainNameChangeNotification
+NetUseAdd
+NetUseDel
+NetUseEnum
+NetUseGetInfo
+NetUserAdd
+NetUserChangePassword
+NetUserDel
+NetUserEnum
+NetUserGetGroups
+NetUserGetInfo
+NetUserGetLocalGroups
+NetUserModalsGet
+NetUserModalsSet
+NetUserSetGroups
+NetUserSetInfo
+NetValidateName
+NetValidatePasswordPolicy
+NetValidatePasswordPolicyFree
+NetWkstaGetInfo
+NetWkstaSetInfo
+NetWkstaTransportAdd
+NetWkstaTransportDel
+NetWkstaTransportEnum
+NetWkstaUserEnum
+NetWkstaUserGetInfo
+NetWkstaUserSetInfo
+NetapipBufferAllocate
+Netbios
+NetpAccessCheck
+NetpAccessCheckAndAudit
+NetpAddTlnFtinfoEntry
+NetpAllocConfigName
+NetpAllocFtinfoEntry
+NetpAllocStrFromWStr
+NetpAllocWStrFromStr
+NetpAllocWStrFromWStr
+NetpApiStatusToNtStatus
+NetpAssertFailed
+NetpCleanFtinfoContext
+NetpCloseConfigData
+NetpCopyFtinfoContext
+NetpCopyStringToBuffer
+NetpCreateSecurityObject
+NetpDbgPrint
+NetpDeleteSecurityObject
+NetpGetComputerName
+NetpGetConfigBool
+NetpGetConfigDword
+NetpGetConfigTStrArray
+NetpGetConfigValue
+NetpGetDomainName
+NetpGetFileSecurity
+NetpGetPrivilege
+NetpHexDump
+NetpInitFtinfoContext
+NetpInitOemString
+NetpIsRemote
+NetpIsUncComputerNameValid
+NetpLocalTimeZoneOffset
+NetpLogonPutUnicodeString
+NetpMergeFtinfo
+NetpNetBiosAddName
+NetpNetBiosCall
+NetpNetBiosDelName
+NetpNetBiosGetAdapterNumbers
+NetpNetBiosHangup
+NetpNetBiosReceive
+NetpNetBiosReset
+NetpNetBiosSend
+NetpNetBiosStatusToApiStatus
+NetpNtStatusToApiStatus
+NetpOpenConfigData
+NetpPackString
+NetpParmsQueryUserProperty
+NetpParmsQueryUserPropertyWithLength
+NetpParmsSetUserProperty
+NetpParmsSetUserPropertyWithLength
+NetpParmsUserPropertyFree
+NetpReleasePrivilege
+NetpSetFileSecurity
+NetpSmbCheck
+NetpStoreIntialDcRecord
+NetpStringToNetBiosName
+NetpTStrArrayEntryCount
+NetpUpgradePreNT5JoinInfo
+NetpwNameCanonicalize
+NetpwNameCompare
+NetpwNameValidate
+NetpwPathCanonicalize
+NetpwPathCompare
+NetpwPathType
+NlBindingAddServerToCache
+NlBindingRemoveServerFromCache
+NlBindingSetAuthInfo
+RxNetAccessAdd
+RxNetAccessDel
+RxNetAccessEnum
+RxNetAccessGetInfo
+RxNetAccessGetUserPerms
+RxNetAccessSetInfo
+RxNetServerEnum
+RxNetUserPasswordSet
+RxRemoteApi
diff --git a/mingw-w64-crt/lib64/wnetcfgx.def b/mingw-w64-crt/lib64/wnetcfgx.def
index 73d6926..e6bce68 100644
--- a/mingw-w64-crt/lib64/wnetcfgx.def
+++ b/mingw-w64-crt/lib64/wnetcfgx.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file netcfgx.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY netcfgx.dll
-EXPORTS
-; public: struct WLBS_REG_PARAMS & __thiscall WLBS_REG_PARAMS::operator=(struct WLBS_REG_PARAMS const &)
-??4WLBS_REG_PARAMS@@QAEAAU0@ABU0@@Z
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-HrDiAddComponentToINetCfg
-LanaCfgFromCommandArgs
-ModemClassCoInstaller
-NetCfgDiagFromCommandArgs
-NetCfgDiagRepairRegistryBindings
-NetClassInstaller
-NetPropPageProvider
-RasAddBindings
-RasCountBindings
-RasRemoveBindings
-SvchostChangeSvchostGroup
-UpdateLanaConfigUsingAnswerfile
+; 
+; Exports of file netcfgx.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY netcfgx.dll
+EXPORTS
+; public: struct WLBS_REG_PARAMS & __thiscall WLBS_REG_PARAMS::operator=(struct WLBS_REG_PARAMS const &)
+??4WLBS_REG_PARAMS@@QAEAAU0@ABU0@@Z
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+HrDiAddComponentToINetCfg
+LanaCfgFromCommandArgs
+ModemClassCoInstaller
+NetCfgDiagFromCommandArgs
+NetCfgDiagRepairRegistryBindings
+NetClassInstaller
+NetPropPageProvider
+RasAddBindings
+RasCountBindings
+RasRemoveBindings
+SvchostChangeSvchostGroup
+UpdateLanaConfigUsingAnswerfile
diff --git a/mingw-w64-crt/lib64/wnetid.def b/mingw-w64-crt/lib64/wnetid.def
index c0454b1..9d2accb 100644
--- a/mingw-w64-crt/lib64/wnetid.def
+++ b/mingw-w64-crt/lib64/wnetid.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file NETID.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETID.DLL
-EXPORTS
-CreateNetIDPropertyPage
-ShowDcNotFoundErrorDialog
+; 
+; Exports of file NETID.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETID.DLL
+EXPORTS
+CreateNetIDPropertyPage
+ShowDcNotFoundErrorDialog
diff --git a/mingw-w64-crt/lib64/wnetlogon.def b/mingw-w64-crt/lib64/wnetlogon.def
index 9137260..b4eecea 100644
--- a/mingw-w64-crt/lib64/wnetlogon.def
+++ b/mingw-w64-crt/lib64/wnetlogon.def
@@ -1,33 +1,33 @@
-; 
-; Exports of file NETLOGON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETLOGON.dll
-EXPORTS
-DsrGetDcNameEx2
-I_DsGetDcCache
-I_NetLogonAddressToSiteName
-I_NetLogonAppendChangeLog
-I_NetLogonCloseChangeLog
-I_NetLogonFree
-I_NetLogonGetAuthDataEx
-I_NetLogonGetIpAddresses
-I_NetLogonGetSerialNumber
-I_NetLogonLdapLookupEx
-I_NetLogonMixedDomain
-I_NetLogonNewChangeLog
-I_NetLogonReadChangeLog
-I_NetLogonSendToSamOnPdc
-I_NetLogonSetServiceBits
-I_NetNotifyDelta
-I_NetNotifyDsChange
-I_NetNotifyMachineAccount
-I_NetNotifyNetlogonDllHandle
-I_NetNotifyNtdsDsaDeletion
-I_NetNotifyRole
-I_NetNotifyTrustedDomain
-InitSecurityInterfaceW
-NetILogonSamLogon
-NlNetlogonMain
+; 
+; Exports of file NETLOGON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETLOGON.dll
+EXPORTS
+DsrGetDcNameEx2
+I_DsGetDcCache
+I_NetLogonAddressToSiteName
+I_NetLogonAppendChangeLog
+I_NetLogonCloseChangeLog
+I_NetLogonFree
+I_NetLogonGetAuthDataEx
+I_NetLogonGetIpAddresses
+I_NetLogonGetSerialNumber
+I_NetLogonLdapLookupEx
+I_NetLogonMixedDomain
+I_NetLogonNewChangeLog
+I_NetLogonReadChangeLog
+I_NetLogonSendToSamOnPdc
+I_NetLogonSetServiceBits
+I_NetNotifyDelta
+I_NetNotifyDsChange
+I_NetNotifyMachineAccount
+I_NetNotifyNetlogonDllHandle
+I_NetNotifyNtdsDsaDeletion
+I_NetNotifyRole
+I_NetNotifyTrustedDomain
+InitSecurityInterfaceW
+NetILogonSamLogon
+NlNetlogonMain
diff --git a/mingw-w64-crt/lib64/wnetman.def b/mingw-w64-crt/lib64/wnetman.def
index a4ff147..f440870 100644
--- a/mingw-w64-crt/lib64/wnetman.def
+++ b/mingw-w64-crt/lib64/wnetman.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file netman.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY netman.dll
-EXPORTS
-GetClientAdvises
-DllRegisterServer
-DllUnregisterServer
-HrGetPnpDeviceStatus
-HrLanConnectionNameFromGuidOrPath
-HrPnpInstanceIdFromGuid
-HrQueryLanMediaState
-HrRasConnectionNameFromGuid
-NetManDiagFromCommandArgs
-ProcessQueue
-RasEventNotify
-ServiceMain
+; 
+; Exports of file netman.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY netman.dll
+EXPORTS
+GetClientAdvises
+DllRegisterServer
+DllUnregisterServer
+HrGetPnpDeviceStatus
+HrLanConnectionNameFromGuidOrPath
+HrPnpInstanceIdFromGuid
+HrQueryLanMediaState
+HrRasConnectionNameFromGuid
+NetManDiagFromCommandArgs
+ProcessQueue
+RasEventNotify
+ServiceMain
diff --git a/mingw-w64-crt/lib64/wnetplwiz.def b/mingw-w64-crt/lib64/wnetplwiz.def
index f97c3e4..b1d35d5 100644
--- a/mingw-w64-crt/lib64/wnetplwiz.def
+++ b/mingw-w64-crt/lib64/wnetplwiz.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file NETPLWIZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETPLWIZ.dll
-EXPORTS
-AddNetPlaceRunDll
-PassportWizardRunDll
-PublishRunDll
-UsersRunDll
-ClearAutoLogon
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllMain
-DllRegisterServer
-DllUnregisterServer
-NetAccessWizard
-NetPlacesWizardDoModal
-SHDisconnectNetDrives
+; 
+; Exports of file NETPLWIZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETPLWIZ.dll
+EXPORTS
+AddNetPlaceRunDll
+PassportWizardRunDll
+PublishRunDll
+UsersRunDll
+ClearAutoLogon
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllMain
+DllRegisterServer
+DllUnregisterServer
+NetAccessWizard
+NetPlacesWizardDoModal
+SHDisconnectNetDrives
diff --git a/mingw-w64-crt/lib64/wnetrap.def b/mingw-w64-crt/lib64/wnetrap.def
index 51d7777..6667abb 100644
--- a/mingw-w64-crt/lib64/wnetrap.def
+++ b/mingw-w64-crt/lib64/wnetrap.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file NETRAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETRAP.dll
-EXPORTS
-RapArrayLength
-RapAsciiToDecimal
-RapAuxDataCount
-RapAuxDataCountOffset
-RapConvertSingleEntry
-RapConvertSingleEntryEx
-RapExamineDescriptor
-RapGetFieldSize
-RapIsValidDescriptorSmb
-RapLastPointerOffset
-RapParmNumDescriptor
-RapStructureAlignment
-RapStructureSize
-RapTotalSize
+; 
+; Exports of file NETRAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETRAP.dll
+EXPORTS
+RapArrayLength
+RapAsciiToDecimal
+RapAuxDataCount
+RapAuxDataCountOffset
+RapConvertSingleEntry
+RapConvertSingleEntryEx
+RapExamineDescriptor
+RapGetFieldSize
+RapIsValidDescriptorSmb
+RapLastPointerOffset
+RapParmNumDescriptor
+RapStructureAlignment
+RapStructureSize
+RapTotalSize
diff --git a/mingw-w64-crt/lib64/wnetshell.def b/mingw-w64-crt/lib64/wnetshell.def
index 94bb0a4..6e16e09 100644
--- a/mingw-w64-crt/lib64/wnetshell.def
+++ b/mingw-w64-crt/lib64/wnetshell.def
@@ -1,42 +1,42 @@
-; 
-; Exports of file netshell.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY netshell.dll
-EXPORTS
-DoInitialCleanup
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-HrCreateDesktopIcon
-HrGetAnswerFileParametersForNetCard
-HrGetExtendedStatusFromNCS
-HrGetIconFromMediaType
-HrGetIconFromMediaTypeEx
-HrGetInstanceGuidOfPreNT5NetCardInstance
-HrGetNetConExtendedStatusFromGuid
-HrGetNetConExtendedStatusFromINetConnection
-HrGetStatusStringFromNetConExtendedStatus
-HrIsIpStateCheckingEnabled
-HrLaunchConnection
-HrLaunchConnectionEx
-HrLaunchNetworkOptionalComponents
-HrOemUpgrade
-HrRenameConnection
-HrRunWizard
-InvokeDunFile
-NcFreeNetconProperties
-NcIsValidConnectionName
-NetSetupAddRasConnection
-NetSetupFinishInstall
-NetSetupInstallSoftware
-NetSetupPrepareSysPrep
-NetSetupRequestWizardPages
-NetSetupSetProgressCallback
-NormalizeExtendedStatus
-RaiseSupportDialog
-RepairConnection
-StartNCW
+; 
+; Exports of file netshell.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY netshell.dll
+EXPORTS
+DoInitialCleanup
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+HrCreateDesktopIcon
+HrGetAnswerFileParametersForNetCard
+HrGetExtendedStatusFromNCS
+HrGetIconFromMediaType
+HrGetIconFromMediaTypeEx
+HrGetInstanceGuidOfPreNT5NetCardInstance
+HrGetNetConExtendedStatusFromGuid
+HrGetNetConExtendedStatusFromINetConnection
+HrGetStatusStringFromNetConExtendedStatus
+HrIsIpStateCheckingEnabled
+HrLaunchConnection
+HrLaunchConnectionEx
+HrLaunchNetworkOptionalComponents
+HrOemUpgrade
+HrRenameConnection
+HrRunWizard
+InvokeDunFile
+NcFreeNetconProperties
+NcIsValidConnectionName
+NetSetupAddRasConnection
+NetSetupFinishInstall
+NetSetupInstallSoftware
+NetSetupPrepareSysPrep
+NetSetupRequestWizardPages
+NetSetupSetProgressCallback
+NormalizeExtendedStatus
+RaiseSupportDialog
+RepairConnection
+StartNCW
diff --git a/mingw-w64-crt/lib64/wnetui0.def b/mingw-w64-crt/lib64/wnetui0.def
index 9009bd7..5f010c3 100644
--- a/mingw-w64-crt/lib64/wnetui0.def
+++ b/mingw-w64-crt/lib64/wnetui0.def
@@ -1,1079 +1,1079 @@
-; 
-; Exports of file NETUI0.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETUI0.dll
-EXPORTS
-; public: __thiscall ALIAS_STR::ALIAS_STR(unsigned short const *)
-??0ALIAS_STR@@QAE@PBG@Z
-; public: __thiscall ALLOC_STR::ALLOC_STR(unsigned short *,unsigned int,unsigned short const *)
-??0ALLOC_STR@@QAE@PAGIPBG@Z
-; protected: __thiscall BASE::BASE(void)
-??0BASE@@IAE@XZ
-; public: __thiscall BITFIELD::BITFIELD(class BITFIELD const &)
-??0BITFIELD@@QAE@ABV0@@Z
-; public: __thiscall BITFIELD::BITFIELD(unsigned short)
-??0BITFIELD@@QAE@G@Z
-; public: __thiscall BITFIELD::BITFIELD(unsigned int,enum BITVALUES)
-??0BITFIELD@@QAE@IW4BITVALUES@@@Z
-; public: __thiscall BITFIELD::BITFIELD(unsigned long)
-??0BITFIELD@@QAE@K@Z
-; public: __thiscall BITFIELD::BITFIELD(unsigned char const *,unsigned int,unsigned int)
-??0BITFIELD@@QAE@PBEII@Z
-; public: __thiscall BUFFER::BUFFER(unsigned int)
-??0BUFFER@@QAE@I@Z
-; public: __thiscall CHAR_STRING::CHAR_STRING(unsigned short const *,unsigned int)
-??0CHAR_STRING@@QAE@PBGI@Z
-; public: __thiscall DBGSTREAM::DBGSTREAM(class OUTPUTSINK *)
-??0DBGSTREAM@@QAE@PAVOUTPUTSINK@@@Z
-; public: __thiscall DEC_STR::DEC_STR(unsigned long,unsigned int)
-??0DEC_STR@@QAE@KI@Z
-; public: __thiscall DFSITER_TREE::DFSITER_TREE(class DFSITER_TREE const *)
-??0DFSITER_TREE@@QAE@PBV0@@Z
-; public: __thiscall DFSITER_TREE::DFSITER_TREE(class TREE const *,unsigned int)
-??0DFSITER_TREE@@QAE@PBVTREE@@I@Z
-; public: __thiscall DIR_BLOCK::DIR_BLOCK(void)
-??0DIR_BLOCK@@QAE@XZ
-; public: __thiscall DLIST::DLIST(void)
-??0DLIST@@QAE@XZ
-; public: __thiscall DL_NODE::DL_NODE(class DL_NODE *,class DL_NODE *,void *)
-??0DL_NODE@@QAE@PAV0@0PAX@Z
-; public: __thiscall ELAPSED_TIME_STR::ELAPSED_TIME_STR(unsigned long,unsigned short,int)
-??0ELAPSED_TIME_STR@@QAE@KGH@Z
-; public: __thiscall FMX::FMX(struct HWND__ *)
-??0FMX@@QAE@PAUHWND__@@@Z
-; protected: __thiscall FORWARDING_BASE::FORWARDING_BASE(class BASE *)
-??0FORWARDING_BASE@@IAE@PAVBASE@@@Z
-; protected: __thiscall FS_ENUM::FS_ENUM(unsigned short const *,unsigned short const *,enum FILE_TYPE,int,unsigned int)
-??0FS_ENUM@@IAE@PBG0W4FILE_TYPE@@HI@Z
-; protected: __thiscall HEAP_BASE::HEAP_BASE(int,int)
-??0HEAP_BASE@@IAE@HH@Z
-; public: __thiscall HEX_STR::HEX_STR(unsigned long,unsigned int)
-??0HEX_STR@@QAE@KI@Z
-; public: __thiscall HUATOM::HUATOM(unsigned short const *,int)
-??0HUATOM@@QAE@PBGH@Z
-; public: __thiscall INTL_PROFILE::INTL_PROFILE(void)
-??0INTL_PROFILE@@QAE@XZ
-; public: __thiscall ISTR::ISTR(class ISTR const &)
-??0ISTR@@QAE@ABV0@@Z
-; public: __thiscall ISTR::ISTR(class NLS_STR const &)
-??0ISTR@@QAE@ABVNLS_STR@@@Z
-; public: __thiscall ITER_DL::ITER_DL(class ITER_DL const &)
-??0ITER_DL@@QAE@ABV0@@Z
-; public: __thiscall ITER_DL::ITER_DL(class DLIST *)
-??0ITER_DL@@QAE@PAVDLIST@@@Z
-; public: __thiscall ITER_L::ITER_L(void)
-??0ITER_L@@QAE@XZ
-; public: __thiscall ITER_SL::ITER_SL(class ITER_SL const &)
-??0ITER_SL@@QAE@ABV0@@Z
-; public: __thiscall ITER_SL::ITER_SL(class SLIST *)
-??0ITER_SL@@QAE@PAVSLIST@@@Z
-; public: __thiscall ITER_SL_DIR_BLOCK::ITER_SL_DIR_BLOCK(class SLIST &)
-??0ITER_SL_DIR_BLOCK@@QAE@AAVSLIST@@@Z
-; public: __thiscall ITER_SL_NLS_STR::ITER_SL_NLS_STR(class SLIST &)
-??0ITER_SL_NLS_STR@@QAE@AAVSLIST@@@Z
-; public: __thiscall ITER_SL_NLS_STR::ITER_SL_NLS_STR(class ITER_SL_NLS_STR const &)
-??0ITER_SL_NLS_STR@@QAE@ABV0@@Z
-; public: __thiscall ITER_STRLIST::ITER_STRLIST(class STRLIST &)
-??0ITER_STRLIST@@QAE@AAVSTRLIST@@@Z
-; public: __thiscall ITER_STRLIST::ITER_STRLIST(class ITER_STRLIST const &)
-??0ITER_STRLIST@@QAE@ABV0@@Z
-; public: __thiscall LOGON_HOURS_SETTING::LOGON_HOURS_SETTING(class LOGON_HOURS_SETTING const &)
-??0LOGON_HOURS_SETTING@@QAE@ABV0@@Z
-; public: __thiscall LOGON_HOURS_SETTING::LOGON_HOURS_SETTING(unsigned char const *,unsigned int)
-??0LOGON_HOURS_SETTING@@QAE@PBEI@Z
-; protected: __thiscall NLS_STR::NLS_STR(unsigned short *,unsigned int,int)
-??0NLS_STR@@IAE@PAGIH@Z
-; public: __thiscall NLS_STR::NLS_STR(class NLS_STR const &)
-??0NLS_STR@@QAE@ABV0@@Z
-; public: __thiscall NLS_STR::NLS_STR(unsigned int)
-??0NLS_STR@@QAE@I@Z
-; public: __thiscall NLS_STR::NLS_STR(unsigned short const *)
-??0NLS_STR@@QAE@PBG@Z
-; public: __thiscall NLS_STR::NLS_STR(unsigned short const *,unsigned short)
-??0NLS_STR@@QAE@PBGG@Z
-; public: __thiscall NLS_STR::NLS_STR(void)
-??0NLS_STR@@QAE@XZ
-; public: __thiscall NUM_NLS_STR::NUM_NLS_STR(unsigned long)
-??0NUM_NLS_STR@@QAE@K@Z
-; public: __thiscall ONE_SHOT_HEAP::ONE_SHOT_HEAP(unsigned int,int)
-??0ONE_SHOT_HEAP@@QAE@IH@Z
-; public: __thiscall REG_KEY::REG_KEY(class REG_KEY &)
-??0REG_KEY@@QAE@AAV0@@Z
-; public: __thiscall REG_KEY::REG_KEY(class REG_KEY &,class NLS_STR const &,unsigned long)
-??0REG_KEY@@QAE@AAV0@ABVNLS_STR@@K@Z
-; public: __thiscall REG_KEY::REG_KEY(class REG_KEY &,class NLS_STR const &,class REG_KEY_CREATE_STRUCT *)
-??0REG_KEY@@QAE@AAV0@ABVNLS_STR@@PAVREG_KEY_CREATE_STRUCT@@@Z
-; public: __thiscall REG_KEY::REG_KEY(class NLS_STR const &,unsigned long)
-??0REG_KEY@@QAE@ABVNLS_STR@@K@Z
-; public: __thiscall REG_KEY::REG_KEY(struct HKEY__ *,unsigned long)
-??0REG_KEY@@QAE@PAUHKEY__@@K@Z
-; public: __thiscall REG_KEY::REG_KEY(struct HKEY__ *,unsigned short const *,unsigned long)
-??0REG_KEY@@QAE@PAUHKEY__@@PBGK@Z
-; public: __thiscall REG_KEY_CREATE_STRUCT::REG_KEY_CREATE_STRUCT(void)
-??0REG_KEY_CREATE_STRUCT@@QAE@XZ
-; public: __thiscall REG_KEY_INFO_STRUCT::REG_KEY_INFO_STRUCT(void)
-??0REG_KEY_INFO_STRUCT@@QAE@XZ
-; public: __thiscall REG_VALUE_INFO_STRUCT::REG_VALUE_INFO_STRUCT(void)
-??0REG_VALUE_INFO_STRUCT@@QAE@XZ
-; public: __thiscall RESOURCE_STR::RESOURCE_STR(long,struct HINSTANCE__ *)
-??0RESOURCE_STR@@QAE@JPAUHINSTANCE__@@@Z
-; public: __thiscall RITER_DL::RITER_DL(class RITER_DL const &)
-??0RITER_DL@@QAE@ABV0@@Z
-; public: __thiscall RITER_DL::RITER_DL(class DLIST *)
-??0RITER_DL@@QAE@PAVDLIST@@@Z
-; public: __thiscall SLIST::SLIST(void)
-??0SLIST@@QAE@XZ
-; public: __thiscall SLIST_OF_DIR_BLOCK::SLIST_OF_DIR_BLOCK(int)
-??0SLIST_OF_DIR_BLOCK@@QAE@H@Z
-; public: __thiscall SLIST_OF_NLS_STR::SLIST_OF_NLS_STR(int)
-??0SLIST_OF_NLS_STR@@QAE@H@Z
-; public: __thiscall SL_NODE::SL_NODE(class SL_NODE *,void *)
-??0SL_NODE@@QAE@PAV0@PAX@Z
-; public: __thiscall STRLIST::STRLIST(class NLS_STR const &,class NLS_STR const &,int)
-??0STRLIST@@QAE@ABVNLS_STR@@0H@Z
-; public: __thiscall STRLIST::STRLIST(int)
-??0STRLIST@@QAE@H@Z
-; public: __thiscall STRLIST::STRLIST(unsigned short const *,unsigned short const *,int)
-??0STRLIST@@QAE@PBG0H@Z
-; public: __thiscall TCHAR_STR::TCHAR_STR(unsigned short)
-??0TCHAR_STR@@QAE@G@Z
-; public: __thiscall TCHAR_STR_IMPL::TCHAR_STR_IMPL(unsigned short)
-??0TCHAR_STR_IMPL@@QAE@G@Z
-; public: __thiscall TREE::TREE(void *)
-??0TREE@@QAE@PAX@Z
-; public: __thiscall UATOM::UATOM(class NLS_STR &)
-??0UATOM@@QAE@AAVNLS_STR@@@Z
-; public: __thiscall UATOM_LINKAGE::UATOM_LINKAGE(void)
-??0UATOM_LINKAGE@@QAE@XZ
-; private: __thiscall UATOM_MANAGER::UATOM_MANAGER(void)
-??0UATOM_MANAGER@@AAE@XZ
-; public: __thiscall UATOM_REGION::UATOM_REGION(void)
-??0UATOM_REGION@@QAE@XZ
-; public: __thiscall W32_DIR_BLOCK::W32_DIR_BLOCK(void)
-??0W32_DIR_BLOCK@@QAE@XZ
-; public: __thiscall W32_FS_ENUM::W32_FS_ENUM(unsigned short const *,unsigned short const *,enum FILE_TYPE,int,unsigned int)
-??0W32_FS_ENUM@@QAE@PBG0W4FILE_TYPE@@HI@Z
-; public: __thiscall WCHAR_STRING::WCHAR_STRING(char const *,unsigned int)
-??0WCHAR_STRING@@QAE@PBDI@Z
-; public: __thiscall WIN_TIME::WIN_TIME(int)
-??0WIN_TIME@@QAE@H@Z
-; public: __thiscall WIN_TIME::WIN_TIME(unsigned long,int)
-??0WIN_TIME@@QAE@KH@Z
-; public: __thiscall WIN_TIME::WIN_TIME(struct _FILETIME,int)
-??0WIN_TIME@@QAE@U_FILETIME@@H@Z
-; public: __thiscall ALIAS_STR::~ALIAS_STR(void)
-??1ALIAS_STR@@QAE@XZ
-; public: __thiscall BITFIELD::~BITFIELD(void)
-??1BITFIELD@@QAE@XZ
-; public: __thiscall BUFFER::~BUFFER(void)
-??1BUFFER@@QAE@XZ
-; public: __thiscall CHAR_STRING::~CHAR_STRING(void)
-??1CHAR_STRING@@QAE@XZ
-; public: __thiscall DBGSTREAM::~DBGSTREAM(void)
-??1DBGSTREAM@@QAE@XZ
-; public: __thiscall DEC_STR::~DEC_STR(void)
-??1DEC_STR@@QAE@XZ
-; public: __thiscall DFSITER_TREE::~DFSITER_TREE(void)
-??1DFSITER_TREE@@QAE@XZ
-; public: virtual __thiscall DIR_BLOCK::~DIR_BLOCK(void)
-??1DIR_BLOCK@@UAE@XZ
-; public: __thiscall DLIST::~DLIST(void)
-??1DLIST@@QAE@XZ
-; public: __thiscall ELAPSED_TIME_STR::~ELAPSED_TIME_STR(void)
-??1ELAPSED_TIME_STR@@QAE@XZ
-; public: virtual __thiscall FS_ENUM::~FS_ENUM(void)
-??1FS_ENUM@@UAE@XZ
-; protected: __thiscall HEAP_BASE::~HEAP_BASE(void)
-??1HEAP_BASE@@IAE@XZ
-; public: __thiscall ITER_DL::~ITER_DL(void)
-??1ITER_DL@@QAE@XZ
-; public: __thiscall ITER_SL::~ITER_SL(void)
-??1ITER_SL@@QAE@XZ
-; public: __thiscall ITER_SL_DIR_BLOCK::~ITER_SL_DIR_BLOCK(void)
-??1ITER_SL_DIR_BLOCK@@QAE@XZ
-; public: __thiscall ITER_SL_NLS_STR::~ITER_SL_NLS_STR(void)
-??1ITER_SL_NLS_STR@@QAE@XZ
-; public: __thiscall ITER_STRLIST::~ITER_STRLIST(void)
-??1ITER_STRLIST@@QAE@XZ
-; public: __thiscall LOGON_HOURS_SETTING::~LOGON_HOURS_SETTING(void)
-??1LOGON_HOURS_SETTING@@QAE@XZ
-; public: __thiscall NLS_STR::~NLS_STR(void)
-??1NLS_STR@@QAE@XZ
-; public: __thiscall REG_KEY::~REG_KEY(void)
-??1REG_KEY@@QAE@XZ
-; public: __thiscall REG_KEY_INFO_STRUCT::~REG_KEY_INFO_STRUCT(void)
-??1REG_KEY_INFO_STRUCT@@QAE@XZ
-; public: __thiscall REG_VALUE_INFO_STRUCT::~REG_VALUE_INFO_STRUCT(void)
-??1REG_VALUE_INFO_STRUCT@@QAE@XZ
-; public: __thiscall RITER_DL::~RITER_DL(void)
-??1RITER_DL@@QAE@XZ
-; public: __thiscall SLIST::~SLIST(void)
-??1SLIST@@QAE@XZ
-; public: __thiscall SLIST_OF_DIR_BLOCK::~SLIST_OF_DIR_BLOCK(void)
-??1SLIST_OF_DIR_BLOCK@@QAE@XZ
-; public: __thiscall SLIST_OF_NLS_STR::~SLIST_OF_NLS_STR(void)
-??1SLIST_OF_NLS_STR@@QAE@XZ
-; public: __thiscall STRLIST::~STRLIST(void)
-??1STRLIST@@QAE@XZ
-; public: __thiscall TCHAR_STR::~TCHAR_STR(void)
-??1TCHAR_STR@@QAE@XZ
-; public: __thiscall TREE::~TREE(void)
-??1TREE@@QAE@XZ
-; public: __thiscall UATOM::~UATOM(void)
-??1UATOM@@QAE@XZ
-; public: __thiscall UATOM_LINKAGE::~UATOM_LINKAGE(void)
-??1UATOM_LINKAGE@@QAE@XZ
-; private: __thiscall UATOM_MANAGER::~UATOM_MANAGER(void)
-??1UATOM_MANAGER@@AAE@XZ
-; public: __thiscall UATOM_REGION::~UATOM_REGION(void)
-??1UATOM_REGION@@QAE@XZ
-; public: virtual __thiscall W32_DIR_BLOCK::~W32_DIR_BLOCK(void)
-??1W32_DIR_BLOCK@@UAE@XZ
-; public: virtual __thiscall W32_FS_ENUM::~W32_FS_ENUM(void)
-??1W32_FS_ENUM@@UAE@XZ
-; public: __thiscall WCHAR_STRING::~WCHAR_STRING(void)
-??1WCHAR_STRING@@QAE@XZ
-; public: static void * __stdcall ALLOC_BASE::operator new(unsigned int)
-??2ALLOC_BASE@@SGPAXI@Z
-; public: static void * __stdcall ALLOC_BASE::operator new(unsigned int,void *)
-??2ALLOC_BASE@@SGPAXIPAX@Z
-; public: static void __stdcall ALLOC_BASE::operator delete(void *)
-??3ALLOC_BASE@@SGXPAX@Z
-; public: class ALIAS_STR const & __thiscall ALIAS_STR::operator=(class NLS_STR const &)
-??4ALIAS_STR@@QAEABV0@ABVNLS_STR@@@Z
-; public: class ALIAS_STR const & __thiscall ALIAS_STR::operator=(unsigned short const *)
-??4ALIAS_STR@@QAEABV0@PBG@Z
-; public: class ALLOC_STR & __thiscall ALLOC_STR::operator=(unsigned short const *)
-??4ALLOC_STR@@QAEAAV0@PBG@Z
-; public: class BITFIELD & __thiscall BITFIELD::operator=(class BITFIELD const &)
-??4BITFIELD@@QAEAAV0@ABV0@@Z
-; public: class BITFIELD & __thiscall BITFIELD::operator=(unsigned short)
-??4BITFIELD@@QAEAAV0@G@Z
-; public: class BITFIELD & __thiscall BITFIELD::operator=(unsigned long)
-??4BITFIELD@@QAEAAV0@K@Z
-; public: class ISTR & __thiscall ISTR::operator=(class ISTR const &)
-??4ISTR@@QAEAAV0@ABV0@@Z
-; public: class NLS_STR & __thiscall NLS_STR::operator=(class NLS_STR const &)
-??4NLS_STR@@QAEAAV0@ABV0@@Z
-; public: class NLS_STR & __thiscall NLS_STR::operator=(unsigned short const *)
-??4NLS_STR@@QAEAAV0@PBG@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(char)
-??6DBGSTREAM@@QAEAAV0@D@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(short)
-??6DBGSTREAM@@QAEAAV0@F@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned short)
-??6DBGSTREAM@@QAEAAV0@G@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(int)
-??6DBGSTREAM@@QAEAAV0@H@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned int)
-??6DBGSTREAM@@QAEAAV0@I@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(long)
-??6DBGSTREAM@@QAEAAV0@J@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned long)
-??6DBGSTREAM@@QAEAAV0@K@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(char const *)
-??6DBGSTREAM@@QAEAAV0@PBD@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned short const *)
-??6DBGSTREAM@@QAEAAV0@PBG@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(enum DBGSTR_SPECIAL)
-??6DBGSTREAM@@QAEAAV0@W4DBGSTR_SPECIAL@@@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(__int64)
-??6DBGSTREAM@@QAEAAV0@_J@Z
-; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned __int64)
-??6DBGSTREAM@@QAEAAV0@_K@Z
-; public: int __thiscall BASE::operator!(void)const 
-??7BASE@@QBEHXZ
-; public: int __thiscall BITFIELD::operator==(class BITFIELD &)
-??8BITFIELD@@QAEHAAV0@@Z
-; public: int __thiscall BITFIELD::operator==(unsigned short)const 
-??8BITFIELD@@QBEHG@Z
-; public: int __thiscall BITFIELD::operator==(unsigned long)const 
-??8BITFIELD@@QBEHK@Z
-; public: int __thiscall ISTR::operator==(class ISTR const &)const 
-??8ISTR@@QBEHABV0@@Z
-; public: int __thiscall NLS_STR::operator==(class NLS_STR const &)const 
-??8NLS_STR@@QBEHABV0@@Z
-; public: int __thiscall NLS_STR::operator!=(class NLS_STR const &)const 
-??9NLS_STR@@QBEHABV0@@Z
-; public: __thiscall BITFIELD::operator unsigned short(void)
-??BBITFIELD@@QAEGXZ
-; public: __thiscall BITFIELD::operator unsigned long(void)
-??BBITFIELD@@QAEKXZ
-; public: __thiscall NLS_STR::operator unsigned short const *(void)const 
-??BNLS_STR@@QBEPBGXZ
-; public: __thiscall REG_KEY::operator struct HKEY__ *(void)const 
-??BREG_KEY@@QBEPAUHKEY__@@XZ
-; public: __thiscall TCHAR_STR::operator class ALIAS_STR const &(void)
-??BTCHAR_STR@@QAEABVALIAS_STR@@XZ
-; public: class ISTR & __thiscall ISTR::operator++(void)
-??EISTR@@QAEAAV0@XZ
-; public: int __thiscall ISTR::operator-(class ISTR const &)const 
-??GISTR@@QBEHABV0@@Z
-; public: int __thiscall BITFIELD::operator&(class BITFIELD const &)
-??IBITFIELD@@QAEHABV0@@Z
-; public: int __thiscall ISTR::operator<(class ISTR const &)const 
-??MISTR@@QBEHABV0@@Z
-; public: int __thiscall ISTR::operator>(class ISTR const &)const 
-??OISTR@@QBEHABV0@@Z
-; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::operator()(void)
-??RITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
-; public: void __thiscall ISTR::operator+=(int)
-??YISTR@@QAEXH@Z
-; public: class NLS_STR & __thiscall NLS_STR::operator+=(class NLS_STR const &)
-??YNLS_STR@@QAEAAV0@ABV0@@Z
-; public: void __thiscall BITFIELD::operator&=(class BITFIELD const &)
-??_4BITFIELD@@QAEXABV0@@Z
-; public: void __thiscall BITFIELD::operator&=(unsigned short)
-??_4BITFIELD@@QAEXG@Z
-; public: void __thiscall BITFIELD::operator&=(unsigned long)
-??_4BITFIELD@@QAEXK@Z
-; public: void __thiscall BITFIELD::operator|=(class BITFIELD const &)
-??_5BITFIELD@@QAEXABV0@@Z
-; public: void __thiscall BITFIELD::operator|=(unsigned short)
-??_5BITFIELD@@QAEXG@Z
-; public: void __thiscall BITFIELD::operator|=(unsigned long)
-??_5BITFIELD@@QAEXK@Z
-; void __stdcall `vector constructor iterator'(void *,unsigned int,int,void * (__thiscall*)(void *))
-??_H@YGXPAXIHP6EPAX0@Z@Z
-; void __stdcall `vector destructor iterator'(void *,unsigned int,int,void (__thiscall*)(void *))
-??_I@YGXPAXIHP6EX0@Z@Z
-; void __stdcall `vector vbase constructor iterator'(void *,unsigned int,int,void * (__thiscall*)(void *))
-??_J@YGXPAXIHP6EPAX0@Z@Z
-; public: long __thiscall DLIST::Add(void *)
-?Add@DLIST@@QAEJPAX@Z
-; public: long __thiscall SLIST::Add(void *)
-?Add@SLIST@@QAEJPAX@Z
-; public: long __thiscall SLIST_OF_DIR_BLOCK::Add(class DIR_BLOCK const *)
-?Add@SLIST_OF_DIR_BLOCK@@QAEJPBVDIR_BLOCK@@@Z
-; public: long __thiscall SLIST_OF_NLS_STR::Add(class NLS_STR const *)
-?Add@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
-; private: int __thiscall NLS_STR::Alloc(unsigned int)
-?Alloc@NLS_STR@@AAEHI@Z
-; public: unsigned char * __thiscall ONE_SHOT_HEAP::Alloc(unsigned int)
-?Alloc@ONE_SHOT_HEAP@@QAEPAEI@Z
-; protected: long __thiscall BITFIELD::AllocBitfield(unsigned int)
-?AllocBitfield@BITFIELD@@IAEJI@Z
-; public: long __thiscall DLIST::Append(void *)
-?Append@DLIST@@QAEJPAX@Z
-; public: long __thiscall NLS_STR::Append(class NLS_STR const &)
-?Append@NLS_STR@@QAEJABV1@@Z
-; public: long __thiscall SLIST::Append(void *)
-?Append@SLIST@@QAEJPAX@Z
-; public: long __thiscall SLIST_OF_NLS_STR::Append(class NLS_STR const *)
-?Append@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
-; public: long __thiscall NLS_STR::AppendChar(unsigned short)
-?AppendChar@NLS_STR@@QAEJG@Z
-; public: class TREE * __thiscall TREE::BreakOut(void)
-?BreakOut@TREE@@QAEPAV1@XZ
-; protected: void __thiscall DLIST::BumpIters(class DL_NODE *)
-?BumpIters@DLIST@@IAEXPAVDL_NODE@@@Z
-; protected: void __thiscall SLIST::BumpIters(class SL_NODE *)
-?BumpIters@SLIST@@IAEXPAVSL_NODE@@@Z
-; private: void __thiscall NLS_STR::CheckIstr(class ISTR const &)const 
-?CheckIstr@NLS_STR@@ABEXABVISTR@@@Z
-; protected: int __thiscall DLIST::CheckIter(class ITER_L *)
-?CheckIter@DLIST@@IAEHPAVITER_L@@@Z
-; protected: int __thiscall SLIST::CheckIter(class ITER_SL *)
-?CheckIter@SLIST@@IAEHPAVITER_SL@@@Z
-; long __stdcall CheckLocalComm(unsigned short const *)
-?CheckLocalComm@@YGJPBG@Z
-; long __stdcall CheckLocalDrive(unsigned short const *)
-?CheckLocalDrive@@YGJPBG@Z
-; long __stdcall CheckLocalLpt(unsigned short const *)
-?CheckLocalLpt@@YGJPBG@Z
-; long __stdcall CheckUnavailDevice(unsigned short const *,unsigned short *,int *)
-?CheckUnavailDevice@@YGJPBGPAGPAH@Z
-; public: void __thiscall SLIST_OF_DIR_BLOCK::Clear(void)
-?Clear@SLIST_OF_DIR_BLOCK@@QAEXXZ
-; public: void __thiscall SLIST_OF_NLS_STR::Clear(void)
-?Clear@SLIST_OF_NLS_STR@@QAEXXZ
-; private: long __thiscall REG_KEY::Close(void)
-?Close@REG_KEY@@AAEJXZ
-; private: unsigned long __thiscall FMX::Command(unsigned int,unsigned int,long)const 
-?Command@FMX@@ABEKIIJ@Z
-; public: int __cdecl NLS_STR::Compare(class NLS_STR const *)const 
-?Compare@NLS_STR@@QBAHPBV1@@Z
-; public: int __thiscall LOGON_HOURS_SETTING::ConvertFromGMT(void)
-?ConvertFromGMT@LOGON_HOURS_SETTING@@QAEHXZ
-; public: int __thiscall LOGON_HOURS_SETTING::ConvertToGMT(void)
-?ConvertToGMT@LOGON_HOURS_SETTING@@QAEHXZ
-; public: long __thiscall LOGON_HOURS_SETTING::ConvertToHoursPerWeek(void)
-?ConvertToHoursPerWeek@LOGON_HOURS_SETTING@@QAEJXZ
-; public: long __thiscall NLS_STR::CopyFrom(class NLS_STR const &)
-?CopyFrom@NLS_STR@@QAEJABV1@@Z
-; public: long __thiscall NLS_STR::CopyFrom(unsigned short const *,unsigned int)
-?CopyFrom@NLS_STR@@QAEJPBGI@Z
-; public: long __thiscall NLS_STR::CopyTo(unsigned short *,unsigned int)const 
-?CopyTo@NLS_STR@@QBEJPAGI@Z
-; private: long __thiscall REG_KEY::CreateChild(class REG_KEY *,class NLS_STR const &,class REG_KEY_CREATE_STRUCT *)const 
-?CreateChild@REG_KEY@@ABEJPAV1@ABVNLS_STR@@PAVREG_KEY_CREATE_STRUCT@@@Z
-; protected: virtual class DIR_BLOCK * __thiscall W32_FS_ENUM::CreateDirBlock(void)
-?CreateDirBlock@W32_FS_ENUM@@MAEPAVDIR_BLOCK@@XZ
-; private: void __thiscall STRLIST::CreateList(unsigned short const *,unsigned short const *)
-?CreateList@STRLIST@@AAEXPBG0@Z
-; private: void __thiscall NLS_STR::DelSubStr(class ISTR &,unsigned int)
-?DelSubStr@NLS_STR@@AAEXAAVISTR@@I@Z
-; public: void __thiscall NLS_STR::DelSubStr(class ISTR &)
-?DelSubStr@NLS_STR@@QAEXAAVISTR@@@Z
-; public: void __thiscall NLS_STR::DelSubStr(class ISTR &,class ISTR const &)
-?DelSubStr@NLS_STR@@QAEXAAVISTR@@ABV2@@Z
-; public: long __thiscall REG_KEY::Delete(void)
-?Delete@REG_KEY@@QAEJXZ
-; public: long __thiscall REG_KEY::DeleteValue(class NLS_STR const &)
-?DeleteValue@REG_KEY@@QAEJABVNLS_STR@@@Z
-; protected: void __thiscall DLIST::Deregister(class ITER_L *)
-?Deregister@DLIST@@IAEXPAVITER_L@@@Z
-; protected: void __thiscall SLIST::Deregister(class ITER_SL *)
-?Deregister@SLIST@@IAEXPAVITER_SL@@@Z
-; public: int __thiscall DIR_BLOCK::DoBreadthFirstDirs(void)const 
-?DoBreadthFirstDirs@DIR_BLOCK@@QBEHXZ
-; public: virtual void __thiscall OUTPUT_TO_AUX::EndOfLine(void)
-?EndOfLine@OUTPUT_TO_AUX@@UAEXXZ
-; private: virtual void __thiscall OUTPUT_TO_NUL::EndOfLine(void)
-?EndOfLine@OUTPUT_TO_NUL@@EAEXXZ
-; public: virtual void __thiscall OUTPUT_TO_STDERR::EndOfLine(void)
-?EndOfLine@OUTPUT_TO_STDERR@@UAEXXZ
-; public: virtual void __thiscall OUTPUT_TO_STDOUT::EndOfLine(void)
-?EndOfLine@OUTPUT_TO_STDOUT@@UAEXXZ
-; public: void __thiscall BUFFER::FillOut(void)
-?FillOut@BUFFER@@QAEXXZ
-; protected: virtual long __thiscall W32_FS_ENUM::FindFirst(class DIR_BLOCK *,class NLS_STR const &,unsigned int)
-?FindFirst@W32_FS_ENUM@@MAEJPAVDIR_BLOCK@@ABVNLS_STR@@I@Z
-; protected: virtual long __thiscall W32_FS_ENUM::FindNext(class DIR_BLOCK *,unsigned int)
-?FindNext@W32_FS_ENUM@@MAEJPAVDIR_BLOCK@@I@Z
-; protected: class SL_NODE * __thiscall SLIST::FindPrev(class SL_NODE *)
-?FindPrev@SLIST@@IAEPAVSL_NODE@@PAV2@@Z
-; public: long __thiscall REG_KEY::Flush(void)
-?Flush@REG_KEY@@QAEJXZ
-; public: class UATOM * __thiscall UATOM_LINKAGE::Fwd(void)
-?Fwd@UATOM_LINKAGE@@QAEPAVUATOM@@XZ
-; private: long __thiscall BUFFER::GetNewStorage(unsigned int)
-?GetNewStorage@BUFFER@@AAEJI@Z
-; long __stdcall GetSelItem(struct HWND__ *,unsigned int,class NLS_STR *,int *)
-?GetSelItem@@YGJPAUHWND__@@IPAVNLS_STR@@PAH@Z
-; long __stdcall GetSelItem(struct HWND__ *,class NLS_STR *,int,int *)
-?GetSelItem@@YGJPAUHWND__@@PAVNLS_STR@@HPAH@Z
-; private: static int __stdcall REG_KEY::HandlePrefix(class NLS_STR const &,struct HKEY__ * *,class NLS_STR *,class NLS_STR *)
-?HandlePrefix@REG_KEY@@CGHABVNLS_STR@@PAPAUHKEY__@@PAV2@2@Z
-; public: int __thiscall DIR_BLOCK::HasFindFirstBeenCalled(void)
-?HasFindFirstBeenCalled@DIR_BLOCK@@QAEHXZ
-; void __stdcall HeapResidueIter(unsigned int,int)
-?HeapResidueIter@@YGXIH@Z
-; protected: long __thiscall HEAP_BASE::I_AddItem(void *)
-?I_AddItem@HEAP_BASE@@IAEJPAX@Z
-; protected: void * __thiscall HEAP_BASE::I_RemoveTopItem(void)
-?I_RemoveTopItem@HEAP_BASE@@IAEPAXXZ
-; protected: void __thiscall NLS_STR::IncVers(void)
-?IncVers@NLS_STR@@IAEXXZ
-; public: static void __stdcall NUM_NLS_STR::Init(void)
-?Init@NUM_NLS_STR@@SGXXZ
-; public: void __thiscall UATOM_LINKAGE::Init(void)
-?Init@UATOM_LINKAGE@@QAEXXZ
-; public: static long __stdcall UATOM_MANAGER::Initialize(void)
-?Initialize@UATOM_MANAGER@@SGJXZ
-; protected: void __thiscall NLS_STR::InitializeVers(void)
-?InitializeVers@NLS_STR@@IAEXXZ
-; public: long __thiscall DLIST::Insert(void *,class ITER_DL &)
-?Insert@DLIST@@QAEJPAXAAVITER_DL@@@Z
-; public: long __thiscall DLIST::Insert(void *,class RITER_DL &)
-?Insert@DLIST@@QAEJPAXAAVRITER_DL@@@Z
-; public: long __thiscall SLIST::Insert(void *,class ITER_SL &)
-?Insert@SLIST@@QAEJPAXAAVITER_SL@@@Z
-; public: long __cdecl NLS_STR::InsertParams(unsigned int,class NLS_STR const *,...)
-?InsertParams@NLS_STR@@QAAJIPBV1@ZZ
-; public: long __thiscall NLS_STR::InsertParams(class NLS_STR const &,class NLS_STR const &,class NLS_STR const &)
-?InsertParams@NLS_STR@@QAEJABV1@00@Z
-; public: long __thiscall NLS_STR::InsertParams(class NLS_STR const * *)
-?InsertParams@NLS_STR@@QAEJPAPBV1@@Z
-; private: long __thiscall NLS_STR::InsertParamsAux(class NLS_STR const * *,unsigned int,int,unsigned int *)
-?InsertParamsAux@NLS_STR@@AAEJPAPBV1@IHPAI@Z
-; public: int __thiscall NLS_STR::InsertStr(class NLS_STR const &,class ISTR &)
-?InsertStr@NLS_STR@@QAEHABV1@AAVISTR@@@Z
-; public: int __thiscall INTL_PROFILE::Is24Hour(void)const 
-?Is24Hour@INTL_PROFILE@@QBEHXZ
-; protected: int __thiscall BITFIELD::IsAllocated(void)const 
-?IsAllocated@BITFIELD@@IBEHXZ
-; public: int __thiscall BITFIELD::IsBitSet(unsigned int)const 
-?IsBitSet@BITFIELD@@QBEHI@Z
-; public: int __thiscall INTL_PROFILE::IsDayLZero(void)const 
-?IsDayLZero@INTL_PROFILE@@QBEHXZ
-; public: int __thiscall DIR_BLOCK::IsDir(void)
-?IsDir@DIR_BLOCK@@QAEHXZ
-; public: int __thiscall FMX::IsHeterogeneousSelection(int *)
-?IsHeterogeneousSelection@FMX@@QAEHPAH@Z
-; public: int __thiscall INTL_PROFILE::IsHourLZero(void)const 
-?IsHourLZero@INTL_PROFILE@@QBEHXZ
-; public: int __thiscall LOGON_HOURS_SETTING::IsIdenticalToBits(unsigned char const *,unsigned int)const 
-?IsIdenticalToBits@LOGON_HOURS_SETTING@@QBEHPBEI@Z
-; public: int __thiscall ISTR::IsLastPos(void)const 
-?IsLastPos@ISTR@@QBEHXZ
-; public: int __thiscall SLIST_OF_NLS_STR::IsMember(class NLS_STR const &)
-?IsMember@SLIST_OF_NLS_STR@@QAEHABVNLS_STR@@@Z
-; public: int __thiscall INTL_PROFILE::IsMonthLZero(void)const 
-?IsMonthLZero@INTL_PROFILE@@QBEHXZ
-; public: int __thiscall NLS_STR::IsOwnerAlloc(void)const 
-?IsOwnerAlloc@NLS_STR@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::IsTimePrefix(void)const 
-?IsTimePrefix@INTL_PROFILE@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::IsYrCentury(void)const 
-?IsYrCentury@INTL_PROFILE@@QBEHXZ
-; public: void __thiscall TREE::JoinSiblingLeft(class TREE *)
-?JoinSiblingLeft@TREE@@QAEXPAV1@@Z
-; public: void __thiscall TREE::JoinSiblingRight(class TREE *)
-?JoinSiblingRight@TREE@@QAEXPAV1@@Z
-; public: void __thiscall TREE::JoinSubtreeLeft(class TREE *)
-?JoinSubtreeLeft@TREE@@QAEXPAV1@@Z
-; public: void __thiscall TREE::JoinSubtreeRight(class TREE *)
-?JoinSubtreeRight@TREE@@QAEXPAV1@@Z
-; private: unsigned short const * __thiscall REG_KEY::LeafKeyName(void)const 
-?LeafKeyName@REG_KEY@@ABEPBGXZ
-; public: void __thiscall UATOM_LINKAGE::Link(class UATOM_LINKAGE *)
-?Link@UATOM_LINKAGE@@QAEXPAV1@@Z
-; public: long __thiscall NLS_STR::Load(long,struct HINSTANCE__ *)
-?Load@NLS_STR@@QAEJJPAUHINSTANCE__@@@Z
-; public: long __thiscall NLS_STR::LoadSystem(long)
-?LoadSystem@NLS_STR@@QAEJJ@Z
-; public: long __thiscall LOGON_HOURS_SETTING::MakeDefault(void)
-?MakeDefault@LOGON_HOURS_SETTING@@QAEJXZ
-; public: long __thiscall NLS_STR::MapCopyFrom(char const *,unsigned int)
-?MapCopyFrom@NLS_STR@@QAEJPBDI@Z
-; public: long __thiscall NLS_STR::MapCopyFrom(unsigned short const *,unsigned int)
-?MapCopyFrom@NLS_STR@@QAEJPBGI@Z
-; public: long __thiscall NLS_STR::MapCopyTo(char *,unsigned int)const 
-?MapCopyTo@NLS_STR@@QBEJPADI@Z
-; public: long __thiscall NLS_STR::MapCopyTo(unsigned short *,unsigned int)const 
-?MapCopyTo@NLS_STR@@QBEJPAGI@Z
-; public: static long __stdcall ERRMAP::MapNTStatus(long,int *,long)
-?MapNTStatus@ERRMAP@@SGJJPAHJ@Z
-; private: long __thiscall REG_KEY::NameChild(class REG_KEY *,class NLS_STR const &)const 
-?NameChild@REG_KEY@@ABEJPAV1@ABVNLS_STR@@@Z
-; public: void * __thiscall DFSITER_TREE::Next(void)
-?Next@DFSITER_TREE@@QAEPAXXZ
-; public: int __thiscall FS_ENUM::Next(void)
-?Next@FS_ENUM@@QAEHXZ
-; public: void * __thiscall ITER_SL::Next(void)
-?Next@ITER_SL@@QAEPAXXZ
-; public: class DIR_BLOCK * __thiscall ITER_SL_DIR_BLOCK::Next(void)
-?Next@ITER_SL_DIR_BLOCK@@QAEPAVDIR_BLOCK@@XZ
-; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::Next(void)
-?Next@ITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
-; protected: int __thiscall FS_ENUM::NextBreadthFirst(void)
-?NextBreadthFirst@FS_ENUM@@IAEHXZ
-; protected: int __thiscall FS_ENUM::NextDepthFirst(void)
-?NextDepthFirst@FS_ENUM@@IAEHXZ
-; public: long __thiscall WIN_TIME::Normalize(void)
-?Normalize@WIN_TIME@@QAEJXZ
-; public: void __thiscall BITFIELD::Not(void)
-?Not@BITFIELD@@QAEXXZ
-; private: long __thiscall REG_KEY::OpenByName(class NLS_STR const &,unsigned long)
-?OpenByName@REG_KEY@@AAEJABVNLS_STR@@K@Z
-; private: long __thiscall REG_KEY::OpenChild(class REG_KEY *,class NLS_STR const &,unsigned long,unsigned long)
-?OpenChild@REG_KEY@@AAEJPAV1@ABVNLS_STR@@KK@Z
-; private: class REG_KEY * __thiscall REG_KEY::OpenParent(unsigned long)
-?OpenParent@REG_KEY@@AAEPAV1@K@Z
-; private: long __thiscall REG_KEY::ParentName(class NLS_STR *)const 
-?ParentName@REG_KEY@@ABEJPAVNLS_STR@@@Z
-; protected: void * __thiscall HEAP_BASE::PeekItem(int)const 
-?PeekItem@HEAP_BASE@@IBEPAXH@Z
-; public: long __thiscall LOGON_HOURS_SETTING::PermitAll(void)
-?PermitAll@LOGON_HOURS_SETTING@@QAEJXZ
-; protected: long __thiscall FS_ENUM::PopDir(void)
-?PopDir@FS_ENUM@@IAEJXZ
-; protected: long __thiscall FS_ENUM::PushDir(unsigned short const *)
-?PushDir@FS_ENUM@@IAEJPBG@Z
-; public: long __thiscall INTL_PROFILE::QueryAMStr(class NLS_STR *)const 
-?QueryAMStr@INTL_PROFILE@@QBEJPAVNLS_STR@@@Z
-; private: unsigned int __thiscall BUFFER::QueryActualSize(void)
-?QueryActualSize@BUFFER@@AAEIXZ
-; public: unsigned int __thiscall BITFIELD::QueryAllocSize(void)const 
-?QueryAllocSize@BITFIELD@@QBEIXZ
-; public: unsigned int __thiscall NLS_STR::QueryAllocSize(void)const 
-?QueryAllocSize@NLS_STR@@QBEIXZ
-; public: unsigned int __thiscall NLS_STR::QueryAnsiTextLength(void)const 
-?QueryAnsiTextLength@NLS_STR@@QBEIXZ
-; public: virtual unsigned int __thiscall W32_DIR_BLOCK::QueryAttr(void)
-?QueryAttr@W32_DIR_BLOCK@@UAEIXZ
-; protected: unsigned char * __thiscall BITFIELD::QueryBitPos(unsigned int,unsigned int)const 
-?QueryBitPos@BITFIELD@@IBEPAEII@Z
-; public: int __thiscall STRLIST::QueryBufferSize(unsigned short *)
-?QueryBufferSize@STRLIST@@QAEHPAG@Z
-; private: static unsigned int __stdcall LOGON_HOURS_SETTING::QueryByteCount(unsigned int)
-?QueryByteCount@LOGON_HOURS_SETTING@@CGII@Z
-; public: unsigned int __thiscall LOGON_HOURS_SETTING::QueryByteCount(void)const 
-?QueryByteCount@LOGON_HOURS_SETTING@@QBEIXZ
-; public: unsigned short __thiscall NLS_STR::QueryChar(class ISTR const &)const 
-?QueryChar@NLS_STR@@QBEGABVISTR@@@Z
-; public: unsigned int __thiscall BITFIELD::QueryCount(void)const 
-?QueryCount@BITFIELD@@QBEIXZ
-; protected: unsigned int __thiscall DFSITER_TREE::QueryCurDepth(void)const 
-?QueryCurDepth@DFSITER_TREE@@IBEIXZ
-; public: static class DBGSTREAM & __stdcall DBGSTREAM::QueryCurrent(void)
-?QueryCurrent@DBGSTREAM@@SGAAV1@XZ
-; public: unsigned int __thiscall FS_ENUM::QueryCurrentDepth(void)
-?QueryCurrentDepth@FS_ENUM@@QAEIXZ
-; public: class DIR_BLOCK * __thiscall FS_ENUM::QueryCurrentDirBlock(void)const 
-?QueryCurrentDirBlock@FS_ENUM@@QBEPAVDIR_BLOCK@@XZ
-; unsigned long __stdcall QueryCurrentTimeStamp(void)
-?QueryCurrentTimeStamp@@YGKXZ
-; public: static class REG_KEY * __stdcall REG_KEY::QueryCurrentUser(unsigned long)
-?QueryCurrentUser@REG_KEY@@SGPAV1@K@Z
-; public: char const * __thiscall CHAR_STRING::QueryData(void)const 
-?QueryData@CHAR_STRING@@QBEPBDXZ
-; public: unsigned short const * __thiscall WCHAR_STRING::QueryData(void)const 
-?QueryData@WCHAR_STRING@@QBEPBGXZ
-; public: long __thiscall INTL_PROFILE::QueryDateSeparator(class NLS_STR *)const 
-?QueryDateSeparator@INTL_PROFILE@@QBEJPAVNLS_STR@@@Z
-; public: int __thiscall WIN_TIME::QueryDay(void)const 
-?QueryDay@WIN_TIME@@QBEHXZ
-; public: int __thiscall WIN_TIME::QueryDayOfWeek(void)const 
-?QueryDayOfWeek@WIN_TIME@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::QueryDayPos(void)const 
-?QueryDayPos@INTL_PROFILE@@QBEHXZ
-; public: class STRLIST * __thiscall DIR_BLOCK::QueryDirs(void)
-?QueryDirs@DIR_BLOCK@@QAEPAVSTRLIST@@XZ
-; public: class ITER_STRLIST * __thiscall DIR_BLOCK::QueryDirsIter(void)
-?QueryDirsIter@DIR_BLOCK@@QAEPAVITER_STRLIST@@XZ
-; public: long __thiscall FMX::QueryDriveInfo(struct _FMS_GETDRIVEINFOW *)
-?QueryDriveInfo@FMX@@QAEJPAU_FMS_GETDRIVEINFOW@@@Z
-; public: long __thiscall INTL_PROFILE::QueryDurationStr(int,int,int,int,class NLS_STR *)const 
-?QueryDurationStr@INTL_PROFILE@@QBEJHHHHPAVNLS_STR@@@Z
-; public: long __thiscall BASE::QueryError(void)const 
-?QueryError@BASE@@QBEJXZ
-; public: long __thiscall FORWARDING_BASE::QueryError(void)const 
-?QueryError@FORWARDING_BASE@@QBEJXZ
-; public: long __thiscall HUATOM::QueryError(void)const 
-?QueryError@HUATOM@@QBEJXZ
-; public: virtual unsigned short const * __thiscall W32_DIR_BLOCK::QueryFileName(void)
-?QueryFileName@W32_DIR_BLOCK@@UAEPBGXZ
-; public: long __thiscall WIN_TIME::QueryFileTime(struct _FILETIME *)const 
-?QueryFileTime@WIN_TIME@@QBEJPAU_FILETIME@@@Z
-; public: long __thiscall WIN_TIME::QueryFileTimeLocal(struct _FILETIME *)const 
-?QueryFileTimeLocal@WIN_TIME@@QBEJPAU_FILETIME@@@Z
-; public: class TREE * __thiscall TREE::QueryFirstSubtree(void)const 
-?QueryFirstSubtree@TREE@@QBEPAV1@XZ
-; public: unsigned int __thiscall FMX::QueryFocus(void)const 
-?QueryFocus@FMX@@QBEIXZ
-; public: int __thiscall WIN_TIME::QueryHour(void)const 
-?QueryHour@WIN_TIME@@QBEHXZ
-; public: int __thiscall LOGON_HOURS_SETTING::QueryHourInDay(unsigned int,unsigned int)const 
-?QueryHourInDay@LOGON_HOURS_SETTING@@QBEHII@Z
-; public: int __thiscall LOGON_HOURS_SETTING::QueryHourInWeek(unsigned int)const 
-?QueryHourInWeek@LOGON_HOURS_SETTING@@QBEHI@Z
-; public: unsigned char * __thiscall LOGON_HOURS_SETTING::QueryHoursBlock(void)const 
-?QueryHoursBlock@LOGON_HOURS_SETTING@@QBEPAEXZ
-; private: int __thiscall ISTR::QueryIch(void)const 
-?QueryIch@ISTR@@ABEHXZ
-; public: long __thiscall REG_KEY::QueryInfo(class REG_KEY_INFO_STRUCT *)
-?QueryInfo@REG_KEY@@QAEJPAVREG_KEY_INFO_STRUCT@@@Z
-; public: long __thiscall REG_KEY::QueryKeyName(class NLS_STR *)const 
-?QueryKeyName@REG_KEY@@QBEJPAVNLS_STR@@@Z
-; private: long __thiscall REG_KEY::QueryKeyValueBinary(unsigned short const *,unsigned char * *,long *,long,unsigned long *,unsigned long)
-?QueryKeyValueBinary@REG_KEY@@AAEJPBGPAPAEPAJJPAKK@Z
-; private: long __thiscall REG_KEY::QueryKeyValueLong(unsigned short const *,long *,unsigned long *)
-?QueryKeyValueLong@REG_KEY@@AAEJPBGPAJPAK@Z
-; private: long __thiscall REG_KEY::QueryKeyValueString(unsigned short const *,unsigned short * *,class NLS_STR *,unsigned long *,long,long *,unsigned long)
-?QueryKeyValueString@REG_KEY@@AAEJPBGPAPAGPAVNLS_STR@@PAKJPAJK@Z
-; public: class TREE * __thiscall TREE::QueryLastSubtree(void)const 
-?QueryLastSubtree@TREE@@QBEPAV1@XZ
-; public: class TREE * __thiscall TREE::QueryLeft(void)const 
-?QueryLeft@TREE@@QBEPAV1@XZ
-; public: int __thiscall UATOM_LINKAGE::QueryLinked(void)
-?QueryLinked@UATOM_LINKAGE@@QAEHXZ
-; public: static class REG_KEY * __stdcall REG_KEY::QueryLocalMachine(unsigned long)
-?QueryLocalMachine@REG_KEY@@SGPAV1@K@Z
-; public: long __thiscall INTL_PROFILE::QueryLongDateString(class WIN_TIME const &,class NLS_STR *)const 
-?QueryLongDateString@INTL_PROFILE@@QBEJABVWIN_TIME@@PAVNLS_STR@@@Z
-; protected: unsigned int __thiscall DFSITER_TREE::QueryMaxDepth(void)const 
-?QueryMaxDepth@DFSITER_TREE@@IBEIXZ
-; public: unsigned int __thiscall FS_ENUM::QueryMaxDepth(void)
-?QueryMaxDepth@FS_ENUM@@QAEIXZ
-; protected: unsigned int __thiscall BITFIELD::QueryMaxNonAllocBitCount(void)const 
-?QueryMaxNonAllocBitCount@BITFIELD@@IBEIXZ
-; public: int __thiscall WIN_TIME::QueryMinute(void)const 
-?QueryMinute@WIN_TIME@@QBEHXZ
-; public: int __thiscall WIN_TIME::QueryMonth(void)const 
-?QueryMonth@WIN_TIME@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::QueryMonthPos(void)const 
-?QueryMonthPos@INTL_PROFILE@@QBEHXZ
-; public: long __thiscall FS_ENUM::QueryName(class NLS_STR *)const 
-?QueryName@FS_ENUM@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall REG_KEY::QueryName(class NLS_STR *,int)const 
-?QueryName@REG_KEY@@QBEJPAVNLS_STR@@H@Z
-; public: class NLS_STR const * __thiscall HUATOM::QueryNls(void)const 
-?QueryNls@HUATOM@@QBEPBVNLS_STR@@XZ
-; protected: class TREE const * __thiscall DFSITER_TREE::QueryNode(void)const 
-?QueryNode@DFSITER_TREE@@IBEPBVTREE@@XZ
-; public: unsigned int __thiscall NLS_STR::QueryNumChar(void)const 
-?QueryNumChar@NLS_STR@@QBEIXZ
-; public: unsigned int __thiscall DLIST::QueryNumElem(void)
-?QueryNumElem@DLIST@@QAEIXZ
-; public: unsigned int __thiscall SLIST::QueryNumElem(void)
-?QueryNumElem@SLIST@@QAEIXZ
-; public: unsigned int __thiscall TREE::QueryNumElem(void)const 
-?QueryNumElem@TREE@@QBEIXZ
-; public: unsigned int __thiscall BITFIELD::QueryOffset(unsigned int)const 
-?QueryOffset@BITFIELD@@QBEII@Z
-; public: long __thiscall INTL_PROFILE::QueryPMStr(class NLS_STR *)const 
-?QueryPMStr@INTL_PROFILE@@QBEJPAVNLS_STR@@@Z
-; public: class TREE * __thiscall TREE::QueryParent(void)const 
-?QueryParent@TREE@@QBEPAV1@XZ
-; public: unsigned short const * __thiscall NLS_STR::QueryPch(class ISTR const &)const 
-?QueryPch@NLS_STR@@QBEPBGABVISTR@@@Z
-; public: unsigned short const * __thiscall NLS_STR::QueryPch(void)const 
-?QueryPch@NLS_STR@@QBEPBGXZ
-; public: void * __thiscall ITER_SL::QueryProp(void)
-?QueryProp@ITER_SL@@QAEPAXXZ
-; public: void * __thiscall TREE::QueryProp(void)const 
-?QueryProp@TREE@@QBEPAXXZ
-; public: unsigned char * __thiscall BUFFER::QueryPtr(void)const 
-?QueryPtr@BUFFER@@QBEPAEXZ
-; public: class TREE * __thiscall TREE::QueryRight(void)const 
-?QueryRight@TREE@@QBEPAV1@XZ
-; protected: unsigned int __thiscall FS_ENUM::QuerySearchAttr(void)const 
-?QuerySearchAttr@FS_ENUM@@IBEIXZ
-; public: int __thiscall WIN_TIME::QuerySecond(void)const 
-?QuerySecond@WIN_TIME@@QBEHXZ
-; public: unsigned int __thiscall FMX::QuerySelCount(void)const 
-?QuerySelCount@FMX@@QBEIXZ
-; public: long __thiscall FMX::QuerySelection(int,struct _FMS_GETFILESELW *,int)
-?QuerySelection@FMX@@QAEJHPAU_FMS_GETFILESELW@@H@Z
-; public: long __thiscall INTL_PROFILE::QueryShortDateString(class WIN_TIME const &,class NLS_STR *)const 
-?QueryShortDateString@INTL_PROFILE@@QBEJABVWIN_TIME@@PAVNLS_STR@@@Z
-; public: unsigned int __thiscall BUFFER::QuerySize(void)const 
-?QuerySize@BUFFER@@QBEIXZ
-; protected: class TREE const * __thiscall DFSITER_TREE::QueryStartNode(void)const 
-?QueryStartNode@DFSITER_TREE@@IBEPBVTREE@@XZ
-; private: class NLS_STR const * __thiscall ISTR::QueryString(void)const 
-?QueryString@ISTR@@ABEPBVNLS_STR@@XZ
-; private: class NLS_STR * __thiscall NLS_STR::QuerySubStr(class ISTR const &,unsigned int)const 
-?QuerySubStr@NLS_STR@@ABEPAV1@ABVISTR@@I@Z
-; public: class NLS_STR * __thiscall NLS_STR::QuerySubStr(class ISTR const &,class ISTR const &)const 
-?QuerySubStr@NLS_STR@@QBEPAV1@ABVISTR@@0@Z
-; public: class NLS_STR * __thiscall NLS_STR::QuerySubStr(class ISTR const &)const 
-?QuerySubStr@NLS_STR@@QBEPAV1@ABVISTR@@@Z
-; public: unsigned short const * __thiscall HUATOM::QueryText(void)const 
-?QueryText@HUATOM@@QBEPBGXZ
-; public: unsigned int __thiscall NLS_STR::QueryTextLength(void)const 
-?QueryTextLength@NLS_STR@@QBEIXZ
-; public: unsigned int __thiscall NLS_STR::QueryTextSize(void)const 
-?QueryTextSize@NLS_STR@@QBEIXZ
-; public: long __thiscall WIN_TIME::QueryTime(unsigned long *)const 
-?QueryTime@WIN_TIME@@QBEJPAK@Z
-; public: long __thiscall WIN_TIME::QueryTimeLocal(unsigned long *)const 
-?QueryTimeLocal@WIN_TIME@@QBEJPAK@Z
-; public: long __thiscall INTL_PROFILE::QueryTimeSeparator(class NLS_STR *)const 
-?QueryTimeSeparator@INTL_PROFILE@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall INTL_PROFILE::QueryTimeString(class WIN_TIME const &,class NLS_STR *)const 
-?QueryTimeString@INTL_PROFILE@@QBEJABVWIN_TIME@@PAVNLS_STR@@@Z
-; public: unsigned int __thiscall LOGON_HOURS_SETTING::QueryUnitsPerWeek(void)const 
-?QueryUnitsPerWeek@LOGON_HOURS_SETTING@@QBEIXZ
-; public: long __thiscall REG_KEY::QueryValue(class REG_VALUE_INFO_STRUCT *)
-?QueryValue@REG_KEY@@QAEJPAVREG_VALUE_INFO_STRUCT@@@Z
-; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,unsigned long *,unsigned long *)
-?QueryValue@REG_KEY@@QAEJPBGPAK1@Z
-; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,unsigned char * *,long *,long,unsigned long *)
-?QueryValue@REG_KEY@@QAEJPBGPAPAEPAJJPAK@Z
-; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,unsigned short * *,unsigned long,unsigned long *,int)
-?QueryValue@REG_KEY@@QAEJPBGPAPAGKPAKH@Z
-; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,class STRLIST * *,unsigned long *)
-?QueryValue@REG_KEY@@QAEJPBGPAPAVSTRLIST@@PAK@Z
-; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,class NLS_STR *,unsigned long,unsigned long *,int)
-?QueryValue@REG_KEY@@QAEJPBGPAVNLS_STR@@KPAKH@Z
-; public: int __thiscall WIN_TIME::QueryYear(void)const 
-?QueryYear@WIN_TIME@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::QueryYearPos(void)const 
-?QueryYearPos@INTL_PROFILE@@QBEHXZ
-; private: int __thiscall NLS_STR::Realloc(unsigned int)
-?Realloc@NLS_STR@@AAEHI@Z
-; private: long __thiscall BUFFER::ReallocStorage(unsigned int)
-?ReallocStorage@BUFFER@@AAEJI@Z
-; public: void __thiscall FMX::Refresh(void)
-?Refresh@FMX@@QAEXXZ
-; public: long __thiscall INTL_PROFILE::Refresh(void)
-?Refresh@INTL_PROFILE@@QAEJXZ
-; protected: void __thiscall DLIST::Register(class ITER_L *)
-?Register@DLIST@@IAEXPAVITER_L@@@Z
-; protected: void __thiscall SLIST::Register(class ITER_SL *)
-?Register@SLIST@@IAEXPAVITER_SL@@@Z
-; public: void __thiscall FMX::Reload(void)
-?Reload@FMX@@QAEXXZ
-; public: void * __thiscall DLIST::Remove(class ITER_DL &)
-?Remove@DLIST@@QAEPAXAAVITER_DL@@@Z
-; public: void * __thiscall DLIST::Remove(class RITER_DL &)
-?Remove@DLIST@@QAEPAXAAVRITER_DL@@@Z
-; public: void * __thiscall SLIST::Remove(class ITER_SL &)
-?Remove@SLIST@@QAEPAXAAVITER_SL@@@Z
-; public: class DIR_BLOCK * __thiscall SLIST_OF_DIR_BLOCK::Remove(class ITER_SL_DIR_BLOCK &)
-?Remove@SLIST_OF_DIR_BLOCK@@QAEPAVDIR_BLOCK@@AAVITER_SL_DIR_BLOCK@@@Z
-; public: class NLS_STR * __thiscall SLIST_OF_NLS_STR::Remove(class NLS_STR &)
-?Remove@SLIST_OF_NLS_STR@@QAEPAVNLS_STR@@AAV2@@Z
-; public: virtual void __thiscall OUTPUT_TO_AUX::Render(unsigned short const *)
-?Render@OUTPUT_TO_AUX@@UAEXPBG@Z
-; public: virtual void __thiscall OUTPUT_TO_AUX::Render(unsigned short const *,unsigned int)
-?Render@OUTPUT_TO_AUX@@UAEXPBGI@Z
-; private: virtual void __thiscall OUTPUT_TO_NUL::Render(unsigned short const *)
-?Render@OUTPUT_TO_NUL@@EAEXPBG@Z
-; private: virtual void __thiscall OUTPUT_TO_NUL::Render(unsigned short const *,unsigned int)
-?Render@OUTPUT_TO_NUL@@EAEXPBGI@Z
-; public: virtual void __thiscall OUTPUT_TO_STDERR::Render(unsigned short const *)
-?Render@OUTPUT_TO_STDERR@@UAEXPBG@Z
-; public: virtual void __thiscall OUTPUT_TO_STDERR::Render(unsigned short const *,unsigned int)
-?Render@OUTPUT_TO_STDERR@@UAEXPBGI@Z
-; public: virtual void __thiscall OUTPUT_TO_STDOUT::Render(unsigned short const *)
-?Render@OUTPUT_TO_STDOUT@@UAEXPBG@Z
-; public: virtual void __thiscall OUTPUT_TO_STDOUT::Render(unsigned short const *,unsigned int)
-?Render@OUTPUT_TO_STDOUT@@UAEXPBGI@Z
-; private: void __thiscall NLS_STR::ReplSubStr(class NLS_STR const &,class ISTR &,unsigned int)
-?ReplSubStr@NLS_STR@@AAEXABV1@AAVISTR@@I@Z
-; public: void __thiscall NLS_STR::ReplSubStr(class NLS_STR const &,class ISTR &)
-?ReplSubStr@NLS_STR@@QAEXABV1@AAVISTR@@@Z
-; public: void __thiscall NLS_STR::ReplSubStr(class NLS_STR const &,class ISTR &,class ISTR const &)
-?ReplSubStr@NLS_STR@@QAEXABV1@AAVISTR@@ABV2@@Z
-; protected: void __thiscall BASE::ReportError(long)
-?ReportError@BASE@@IAEXJ@Z
-; protected: void __thiscall FS_ENUM::ReportLastError(long)
-?ReportLastError@FS_ENUM@@IAEXJ@Z
-; public: void __thiscall DFSITER_TREE::Reset(void)
-?Reset@DFSITER_TREE@@QAEXXZ
-; public: void __thiscall ISTR::Reset(void)
-?Reset@ISTR@@QAEXXZ
-; public: void __thiscall ITER_DL::Reset(void)
-?Reset@ITER_DL@@QAEXXZ
-; public: void __thiscall ITER_SL::Reset(void)
-?Reset@ITER_SL@@QAEXXZ
-; public: int __thiscall NLS_STR::Reset(void)
-?Reset@NLS_STR@@QAEHXZ
-; public: void __thiscall RITER_DL::Reset(void)
-?Reset@RITER_DL@@QAEXXZ
-; protected: void __thiscall BASE::ResetError(void)
-?ResetError@BASE@@IAEXXZ
-; public: long __thiscall BITFIELD::Resize(unsigned int)
-?Resize@BITFIELD@@QAEJI@Z
-; public: long __thiscall BUFFER::Resize(unsigned int)
-?Resize@BUFFER@@QAEJI@Z
-; public: long __thiscall NLS_STR::RtlOemUpcase(void)
-?RtlOemUpcase@NLS_STR@@QAEJXZ
-; private: long __thiscall INTL_PROFILE::ScanLongDate(class NLS_STR *)const 
-?ScanLongDate@INTL_PROFILE@@ABEJPAVNLS_STR@@@Z
-; public: void __thiscall DL_NODE::Set(class DL_NODE *,class DL_NODE *,void *)
-?Set@DL_NODE@@QAEXPAV1@0PAX@Z
-; public: long __thiscall LOGON_HOURS_SETTING::Set(class LOGON_HOURS_SETTING const &)
-?Set@LOGON_HOURS_SETTING@@QAEJABV1@@Z
-; public: void __thiscall SL_NODE::Set(class SL_NODE *,void *)
-?Set@SL_NODE@@QAEXPAV1@PAX@Z
-; public: void __thiscall BITFIELD::SetAllBits(enum BITVALUES)
-?SetAllBits@BITFIELD@@QAEXW4BITVALUES@@@Z
-; public: long __thiscall HEAP_BASE::SetAllocCount(int)
-?SetAllocCount@HEAP_BASE@@QAEJH@Z
-; public: void __thiscall BITFIELD::SetBit(unsigned int,enum BITVALUES)
-?SetBit@BITFIELD@@QAEXIW4BITVALUES@@@Z
-; private: void __thiscall DFSITER_TREE::SetCurDepth(unsigned int)
-?SetCurDepth@DFSITER_TREE@@AAEXI@Z
-; public: static void __stdcall DBGSTREAM::SetCurrent(class DBGSTREAM *)
-?SetCurrent@DBGSTREAM@@SGXPAV1@@Z
-; protected: void __thiscall FS_ENUM::SetCurrentDirBlock(class DIR_BLOCK *)
-?SetCurrentDirBlock@FS_ENUM@@IAEXPAVDIR_BLOCK@@@Z
-; public: long __thiscall WIN_TIME::SetCurrentTime(void)
-?SetCurrentTime@WIN_TIME@@QAEJXZ
-; public: void __thiscall DIR_BLOCK::SetDoBreadthFirstDirs(int)
-?SetDoBreadthFirstDirs@DIR_BLOCK@@QAEXH@Z
-; public: void __thiscall DIR_BLOCK::SetFindFirstFlag(int)
-?SetFindFirstFlag@DIR_BLOCK@@QAEXH@Z
-; private: void __thiscall TREE::SetFirstSubtree(class TREE *)
-?SetFirstSubtree@TREE@@AAEXPAV1@@Z
-; public: long __thiscall LOGON_HOURS_SETTING::SetFromBits(unsigned char const *,unsigned int)
-?SetFromBits@LOGON_HOURS_SETTING@@QAEJPBEI@Z
-; public: long __thiscall WIN_TIME::SetGMT(int)
-?SetGMT@WIN_TIME@@QAEJH@Z
-; public: long __thiscall LOGON_HOURS_SETTING::SetHourInDay(int,unsigned int,unsigned int)
-?SetHourInDay@LOGON_HOURS_SETTING@@QAEJHII@Z
-; public: long __thiscall LOGON_HOURS_SETTING::SetHourInWeek(int,unsigned int)
-?SetHourInWeek@LOGON_HOURS_SETTING@@QAEJHI@Z
-; private: void __thiscall ISTR::SetIch(int)
-?SetIch@ISTR@@AAEXH@Z
-; protected: void __thiscall HEAP_BASE::SetItem(int,void *)
-?SetItem@HEAP_BASE@@IAEXHPAX@Z
-; protected: void __thiscall DLIST::SetIters(class DL_NODE *)
-?SetIters@DLIST@@IAEXPAVDL_NODE@@@Z
-; protected: void __thiscall SLIST::SetIters(class SL_NODE *,class SL_NODE *)
-?SetIters@SLIST@@IAEXPAVSL_NODE@@0@Z
-; protected: void __thiscall SLIST::SetIters(class SL_NODE *)
-?SetIters@SLIST@@IAEXPAVSL_NODE@@@Z
-; private: long __thiscall REG_KEY::SetKeyValueBinary(unsigned short const *,unsigned char const *,long,unsigned long,unsigned long)
-?SetKeyValueBinary@REG_KEY@@AAEJPBGPBEJKK@Z
-; private: long __thiscall REG_KEY::SetKeyValueLong(unsigned short const *,long,unsigned long)
-?SetKeyValueLong@REG_KEY@@AAEJPBGJK@Z
-; private: long __thiscall REG_KEY::SetKeyValueString(unsigned short const *,unsigned short const *,unsigned long,long,unsigned long)
-?SetKeyValueString@REG_KEY@@AAEJPBG0KJK@Z
-; private: void __thiscall TREE::SetLeft(class TREE *)
-?SetLeft@TREE@@AAEXPAV1@@Z
-; private: void __thiscall DFSITER_TREE::SetMaxDepth(unsigned int)
-?SetMaxDepth@DFSITER_TREE@@AAEXI@Z
-; private: void __thiscall DFSITER_TREE::SetNode(class TREE const *)
-?SetNode@DFSITER_TREE@@AAEXPBVTREE@@@Z
-; private: void __thiscall TREE::SetParent(class TREE *)
-?SetParent@TREE@@AAEXPAV1@@Z
-; public: void __thiscall TREE::SetProp(void * const)
-?SetProp@TREE@@QAEXQAX@Z
-; private: void __thiscall TREE::SetRight(class TREE *)
-?SetRight@TREE@@AAEXPAV1@@Z
-; public: void __thiscall DBGSTREAM::SetSink(class OUTPUTSINK *)
-?SetSink@DBGSTREAM@@QAEXPAVOUTPUTSINK@@@Z
-; private: void __thiscall DFSITER_TREE::SetStartNode(class TREE const *)
-?SetStartNode@DFSITER_TREE@@AAEXPBVTREE@@@Z
-; public: long __thiscall WIN_TIME::SetTime(unsigned long)
-?SetTime@WIN_TIME@@QAEJK@Z
-; public: long __thiscall WIN_TIME::SetTime(struct _FILETIME)
-?SetTime@WIN_TIME@@QAEJU_FILETIME@@@Z
-; public: long __thiscall WIN_TIME::SetTimeLocal(unsigned long)
-?SetTimeLocal@WIN_TIME@@QAEJK@Z
-; public: long __thiscall WIN_TIME::SetTimeLocal(struct _FILETIME)
-?SetTimeLocal@WIN_TIME@@QAEJU_FILETIME@@@Z
-; public: long __thiscall REG_KEY::SetValue(class REG_VALUE_INFO_STRUCT *)
-?SetValue@REG_KEY@@QAEJPAVREG_VALUE_INFO_STRUCT@@@Z
-; public: long __thiscall REG_KEY::SetValue(unsigned short const *,unsigned short const *,unsigned long,unsigned long const *,int)
-?SetValue@REG_KEY@@QAEJPBG0KPBKH@Z
-; public: long __thiscall REG_KEY::SetValue(unsigned short const *,unsigned long,unsigned long const *)
-?SetValue@REG_KEY@@QAEJPBGKPBK@Z
-; public: long __thiscall REG_KEY::SetValue(unsigned short const *,unsigned char const *,long,unsigned long const *)
-?SetValue@REG_KEY@@QAEJPBGPBEJPBK@Z
-; public: long __thiscall REG_KEY::SetValue(unsigned short const *,class NLS_STR const *,unsigned long const *,int)
-?SetValue@REG_KEY@@QAEJPBGPBVNLS_STR@@PBKH@Z
-; public: long __thiscall REG_KEY::SetValue(unsigned short const *,class STRLIST const *,unsigned long const *)
-?SetValue@REG_KEY@@QAEJPBGPBVSTRLIST@@PBK@Z
-; protected: int __thiscall FS_ENUM::ShouldThisFileBeIncluded(unsigned int)const 
-?ShouldThisFileBeIncluded@FS_ENUM@@IBEHI@Z
-; public: static long __stdcall UATOM_MANAGER::Terminate(void)
-?Terminate@UATOM_MANAGER@@SGJXZ
-; private: class UATOM * __thiscall UATOM_MANAGER::Tokenize(unsigned short const *,int)
-?Tokenize@UATOM_MANAGER@@AAEPAVUATOM@@PBGH@Z
-; public: void __thiscall BUFFER::Trim(void)
-?Trim@BUFFER@@QAEXXZ
-; public: void __thiscall HEAP_BASE::Trim(void)
-?Trim@HEAP_BASE@@QAEXXZ
-; void __stdcall UIAssertCommand(char const *)
-?UIAssertCommand@@YGXPBD@Z
-; void __stdcall UIAssertHlp(char const *,char const *,unsigned int)
-?UIAssertHlp@@YGXPBD0I@Z
-; void __stdcall UIAssertHlp(char const *,unsigned int)
-?UIAssertHlp@@YGXPBDI@Z
-; protected: void * __thiscall DLIST::Unlink(class DL_NODE *)
-?Unlink@DLIST@@IAEPAXPAVDL_NODE@@@Z
-; protected: void __thiscall TREE::Unlink(void)
-?Unlink@TREE@@IAEXXZ
-; public: void __thiscall UATOM_LINKAGE::Unlink(void)
-?Unlink@UATOM_LINKAGE@@QAEXXZ
-; private: void __thiscall NLS_STR::UpdateIstr(class ISTR *)const 
-?UpdateIstr@NLS_STR@@ABEXPAVISTR@@@Z
-; public: int __thiscall STRLIST::WriteToBuffer(unsigned short *,int,unsigned short *)
-?WriteToBuffer@STRLIST@@QAEHPAGH0@Z
-; public: void __thiscall DLIST::_DebugPrint(void)const 
-?_DebugPrint@DLIST@@QBEXXZ
-; public: void __thiscall SLIST::_DebugPrint(void)const 
-?_DebugPrint@SLIST@@QBEXXZ
-; public: void __thiscall TREE::_DebugPrint(void)const 
-?_DebugPrint@TREE@@QBEXXZ
-; public: int __thiscall NLS_STR::_IsOwnerAlloc(void)const 
-?_IsOwnerAlloc@NLS_STR@@QBEHXZ
-; public: unsigned int __thiscall NLS_STR::_QueryAllocSize(void)const 
-?_QueryAllocSize@NLS_STR@@QBEIXZ
-; public: unsigned short const * __thiscall NLS_STR::_QueryPch(void)const 
-?_QueryPch@NLS_STR@@QBEPBGXZ
-; public: unsigned int __thiscall NLS_STR::_QueryTextLength(void)const 
-?_QueryTextLength@NLS_STR@@QBEIXZ
-; protected: void __thiscall BASE::_ReportError(long)
-?_ReportError@BASE@@IAEXJ@Z
-; public: int __thiscall NLS_STR::_stricmp(class NLS_STR const &)const 
-?_stricmp@NLS_STR@@QBEHABV1@@Z
-; public: int __thiscall NLS_STR::_stricmp(class NLS_STR const &,class ISTR const &,class ISTR const &)const 
-?_stricmp@NLS_STR@@QBEHABV1@ABVISTR@@1@Z
-; public: int __thiscall NLS_STR::_stricmp(class NLS_STR const &,class ISTR const &)const 
-?_stricmp@NLS_STR@@QBEHABV1@ABVISTR@@@Z
-; public: int __thiscall NLS_STR::_strnicmp(class NLS_STR const &,class ISTR const &,class ISTR const &,class ISTR const &)const 
-?_strnicmp@NLS_STR@@QBEHABV1@ABVISTR@@11@Z
-; public: int __thiscall NLS_STR::_strnicmp(class NLS_STR const &,class ISTR const &,class ISTR const &)const 
-?_strnicmp@NLS_STR@@QBEHABV1@ABVISTR@@1@Z
-; public: int __thiscall NLS_STR::_strnicmp(class NLS_STR const &,class ISTR const &)const 
-?_strnicmp@NLS_STR@@QBEHABV1@ABVISTR@@@Z
-; public: class NLS_STR & __thiscall NLS_STR::_strupr(void)
-?_strupr@NLS_STR@@QAEAAV1@XZ
-; public: int __thiscall NLS_STR::atoi(class ISTR const &)const 
-?atoi@NLS_STR@@QBEHABVISTR@@@Z
-; public: int __thiscall NLS_STR::atoi(void)const 
-?atoi@NLS_STR@@QBEHXZ
-; public: long __thiscall NLS_STR::atol(class ISTR const &)const 
-?atol@NLS_STR@@QBEJABVISTR@@@Z
-; public: long __thiscall NLS_STR::atol(void)const 
-?atol@NLS_STR@@QBEJXZ
-; public: unsigned long __thiscall NLS_STR::atoul(class ISTR const &)const 
-?atoul@NLS_STR@@QBEKABVISTR@@@Z
-; public: unsigned long __thiscall NLS_STR::atoul(void)const 
-?atoul@NLS_STR@@QBEKXZ
-; public: class NLS_STR & __thiscall NLS_STR::strcat(class NLS_STR const &)
-?strcat@NLS_STR@@QAEAAV1@ABV1@@Z
-; public: int __thiscall NLS_STR::strchr(class ISTR *,unsigned short)const 
-?strchr@NLS_STR@@QBEHPAVISTR@@G@Z
-; public: int __thiscall NLS_STR::strchr(class ISTR *,unsigned short,class ISTR const &)const 
-?strchr@NLS_STR@@QBEHPAVISTR@@GABV2@@Z
-; public: int __thiscall NLS_STR::strcmp(class NLS_STR const &)const 
-?strcmp@NLS_STR@@QBEHABV1@@Z
-; public: int __thiscall NLS_STR::strcmp(class NLS_STR const &,class ISTR const &,class ISTR const &)const 
-?strcmp@NLS_STR@@QBEHABV1@ABVISTR@@1@Z
-; public: int __thiscall NLS_STR::strcmp(class NLS_STR const &,class ISTR const &)const 
-?strcmp@NLS_STR@@QBEHABV1@ABVISTR@@@Z
-; unsigned short * __stdcall strcpy(unsigned short *,class NLS_STR const &)
-?strcpy@@YGPAGPAGABVNLS_STR@@@Z
-; public: int __thiscall NLS_STR::strcspn(class ISTR *,class NLS_STR const &)const 
-?strcspn@NLS_STR@@QBEHPAVISTR@@ABV1@@Z
-; public: int __thiscall NLS_STR::strcspn(class ISTR *,class NLS_STR const &,class ISTR const &)const 
-?strcspn@NLS_STR@@QBEHPAVISTR@@ABV1@ABV2@@Z
-; public: unsigned int __thiscall NLS_STR::strlen(void)const 
-?strlen@NLS_STR@@QBEIXZ
-; public: int __thiscall NLS_STR::strncmp(class NLS_STR const &,class ISTR const &,class ISTR const &,class ISTR const &)const 
-?strncmp@NLS_STR@@QBEHABV1@ABVISTR@@11@Z
-; public: int __thiscall NLS_STR::strncmp(class NLS_STR const &,class ISTR const &,class ISTR const &)const 
-?strncmp@NLS_STR@@QBEHABV1@ABVISTR@@1@Z
-; public: int __thiscall NLS_STR::strncmp(class NLS_STR const &,class ISTR const &)const 
-?strncmp@NLS_STR@@QBEHABV1@ABVISTR@@@Z
-; public: int __thiscall NLS_STR::strrchr(class ISTR *,unsigned short)const 
-?strrchr@NLS_STR@@QBEHPAVISTR@@G@Z
-; public: int __thiscall NLS_STR::strrchr(class ISTR *,unsigned short,class ISTR const &)const 
-?strrchr@NLS_STR@@QBEHPAVISTR@@GABV2@@Z
-; public: int __thiscall NLS_STR::strspn(class ISTR *,class NLS_STR const &)const 
-?strspn@NLS_STR@@QBEHPAVISTR@@ABV1@@Z
-; public: int __thiscall NLS_STR::strspn(class ISTR *,class NLS_STR const &,class ISTR const &)const 
-?strspn@NLS_STR@@QBEHPAVISTR@@ABV1@ABV2@@Z
-; public: int __thiscall NLS_STR::strstr(class ISTR *,class NLS_STR const &)const 
-?strstr@NLS_STR@@QBEHPAVISTR@@ABV1@@Z
-; public: int __thiscall NLS_STR::strstr(class ISTR *,class NLS_STR const &,class ISTR const &)const 
-?strstr@NLS_STR@@QBEHPAVISTR@@ABV1@ABV2@@Z
-; public: virtual void * __thiscall ITER_DL::vNext(void)
-?vNext@ITER_DL@@UAEPAXXZ
-; public: virtual void * __thiscall RITER_DL::vNext(void)
-?vNext@RITER_DL@@UAEPAXXZ
-InitCompareParam
-NETUI_InitIsDBCS
-NETUI_IsDBCS
-NETUI_strcmp
-NETUI_stricmp
-NETUI_strncmp2
-NETUI_strncmp
-NETUI_strnicmp2
-NETUI_strnicmp
-QueryNocaseCompareParam
-QueryStdCompareParam
-QueryUserDefaultLCID
-UserPreferenceQuery
-UserPreferenceQueryBool
-UserPreferenceSet
-UserPreferenceSetBool
-UserProfileEnum
-UserProfileFree
-UserProfileInit
-UserProfileQuery
-UserProfileRead
-UserProfileSet
-UserProfileWrite
+; 
+; Exports of file NETUI0.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETUI0.dll
+EXPORTS
+; public: __thiscall ALIAS_STR::ALIAS_STR(unsigned short const *)
+??0ALIAS_STR@@QAE@PBG@Z
+; public: __thiscall ALLOC_STR::ALLOC_STR(unsigned short *,unsigned int,unsigned short const *)
+??0ALLOC_STR@@QAE@PAGIPBG@Z
+; protected: __thiscall BASE::BASE(void)
+??0BASE@@IAE@XZ
+; public: __thiscall BITFIELD::BITFIELD(class BITFIELD const &)
+??0BITFIELD@@QAE@ABV0@@Z
+; public: __thiscall BITFIELD::BITFIELD(unsigned short)
+??0BITFIELD@@QAE@G@Z
+; public: __thiscall BITFIELD::BITFIELD(unsigned int,enum BITVALUES)
+??0BITFIELD@@QAE@IW4BITVALUES@@@Z
+; public: __thiscall BITFIELD::BITFIELD(unsigned long)
+??0BITFIELD@@QAE@K@Z
+; public: __thiscall BITFIELD::BITFIELD(unsigned char const *,unsigned int,unsigned int)
+??0BITFIELD@@QAE@PBEII@Z
+; public: __thiscall BUFFER::BUFFER(unsigned int)
+??0BUFFER@@QAE@I@Z
+; public: __thiscall CHAR_STRING::CHAR_STRING(unsigned short const *,unsigned int)
+??0CHAR_STRING@@QAE@PBGI@Z
+; public: __thiscall DBGSTREAM::DBGSTREAM(class OUTPUTSINK *)
+??0DBGSTREAM@@QAE@PAVOUTPUTSINK@@@Z
+; public: __thiscall DEC_STR::DEC_STR(unsigned long,unsigned int)
+??0DEC_STR@@QAE@KI@Z
+; public: __thiscall DFSITER_TREE::DFSITER_TREE(class DFSITER_TREE const *)
+??0DFSITER_TREE@@QAE@PBV0@@Z
+; public: __thiscall DFSITER_TREE::DFSITER_TREE(class TREE const *,unsigned int)
+??0DFSITER_TREE@@QAE@PBVTREE@@I@Z
+; public: __thiscall DIR_BLOCK::DIR_BLOCK(void)
+??0DIR_BLOCK@@QAE@XZ
+; public: __thiscall DLIST::DLIST(void)
+??0DLIST@@QAE@XZ
+; public: __thiscall DL_NODE::DL_NODE(class DL_NODE *,class DL_NODE *,void *)
+??0DL_NODE@@QAE@PAV0@0PAX@Z
+; public: __thiscall ELAPSED_TIME_STR::ELAPSED_TIME_STR(unsigned long,unsigned short,int)
+??0ELAPSED_TIME_STR@@QAE@KGH@Z
+; public: __thiscall FMX::FMX(struct HWND__ *)
+??0FMX@@QAE@PAUHWND__@@@Z
+; protected: __thiscall FORWARDING_BASE::FORWARDING_BASE(class BASE *)
+??0FORWARDING_BASE@@IAE@PAVBASE@@@Z
+; protected: __thiscall FS_ENUM::FS_ENUM(unsigned short const *,unsigned short const *,enum FILE_TYPE,int,unsigned int)
+??0FS_ENUM@@IAE@PBG0W4FILE_TYPE@@HI@Z
+; protected: __thiscall HEAP_BASE::HEAP_BASE(int,int)
+??0HEAP_BASE@@IAE@HH@Z
+; public: __thiscall HEX_STR::HEX_STR(unsigned long,unsigned int)
+??0HEX_STR@@QAE@KI@Z
+; public: __thiscall HUATOM::HUATOM(unsigned short const *,int)
+??0HUATOM@@QAE@PBGH@Z
+; public: __thiscall INTL_PROFILE::INTL_PROFILE(void)
+??0INTL_PROFILE@@QAE@XZ
+; public: __thiscall ISTR::ISTR(class ISTR const &)
+??0ISTR@@QAE@ABV0@@Z
+; public: __thiscall ISTR::ISTR(class NLS_STR const &)
+??0ISTR@@QAE@ABVNLS_STR@@@Z
+; public: __thiscall ITER_DL::ITER_DL(class ITER_DL const &)
+??0ITER_DL@@QAE@ABV0@@Z
+; public: __thiscall ITER_DL::ITER_DL(class DLIST *)
+??0ITER_DL@@QAE@PAVDLIST@@@Z
+; public: __thiscall ITER_L::ITER_L(void)
+??0ITER_L@@QAE@XZ
+; public: __thiscall ITER_SL::ITER_SL(class ITER_SL const &)
+??0ITER_SL@@QAE@ABV0@@Z
+; public: __thiscall ITER_SL::ITER_SL(class SLIST *)
+??0ITER_SL@@QAE@PAVSLIST@@@Z
+; public: __thiscall ITER_SL_DIR_BLOCK::ITER_SL_DIR_BLOCK(class SLIST &)
+??0ITER_SL_DIR_BLOCK@@QAE@AAVSLIST@@@Z
+; public: __thiscall ITER_SL_NLS_STR::ITER_SL_NLS_STR(class SLIST &)
+??0ITER_SL_NLS_STR@@QAE@AAVSLIST@@@Z
+; public: __thiscall ITER_SL_NLS_STR::ITER_SL_NLS_STR(class ITER_SL_NLS_STR const &)
+??0ITER_SL_NLS_STR@@QAE@ABV0@@Z
+; public: __thiscall ITER_STRLIST::ITER_STRLIST(class STRLIST &)
+??0ITER_STRLIST@@QAE@AAVSTRLIST@@@Z
+; public: __thiscall ITER_STRLIST::ITER_STRLIST(class ITER_STRLIST const &)
+??0ITER_STRLIST@@QAE@ABV0@@Z
+; public: __thiscall LOGON_HOURS_SETTING::LOGON_HOURS_SETTING(class LOGON_HOURS_SETTING const &)
+??0LOGON_HOURS_SETTING@@QAE@ABV0@@Z
+; public: __thiscall LOGON_HOURS_SETTING::LOGON_HOURS_SETTING(unsigned char const *,unsigned int)
+??0LOGON_HOURS_SETTING@@QAE@PBEI@Z
+; protected: __thiscall NLS_STR::NLS_STR(unsigned short *,unsigned int,int)
+??0NLS_STR@@IAE@PAGIH@Z
+; public: __thiscall NLS_STR::NLS_STR(class NLS_STR const &)
+??0NLS_STR@@QAE@ABV0@@Z
+; public: __thiscall NLS_STR::NLS_STR(unsigned int)
+??0NLS_STR@@QAE@I@Z
+; public: __thiscall NLS_STR::NLS_STR(unsigned short const *)
+??0NLS_STR@@QAE@PBG@Z
+; public: __thiscall NLS_STR::NLS_STR(unsigned short const *,unsigned short)
+??0NLS_STR@@QAE@PBGG@Z
+; public: __thiscall NLS_STR::NLS_STR(void)
+??0NLS_STR@@QAE@XZ
+; public: __thiscall NUM_NLS_STR::NUM_NLS_STR(unsigned long)
+??0NUM_NLS_STR@@QAE@K@Z
+; public: __thiscall ONE_SHOT_HEAP::ONE_SHOT_HEAP(unsigned int,int)
+??0ONE_SHOT_HEAP@@QAE@IH@Z
+; public: __thiscall REG_KEY::REG_KEY(class REG_KEY &)
+??0REG_KEY@@QAE@AAV0@@Z
+; public: __thiscall REG_KEY::REG_KEY(class REG_KEY &,class NLS_STR const &,unsigned long)
+??0REG_KEY@@QAE@AAV0@ABVNLS_STR@@K@Z
+; public: __thiscall REG_KEY::REG_KEY(class REG_KEY &,class NLS_STR const &,class REG_KEY_CREATE_STRUCT *)
+??0REG_KEY@@QAE@AAV0@ABVNLS_STR@@PAVREG_KEY_CREATE_STRUCT@@@Z
+; public: __thiscall REG_KEY::REG_KEY(class NLS_STR const &,unsigned long)
+??0REG_KEY@@QAE@ABVNLS_STR@@K@Z
+; public: __thiscall REG_KEY::REG_KEY(struct HKEY__ *,unsigned long)
+??0REG_KEY@@QAE@PAUHKEY__@@K@Z
+; public: __thiscall REG_KEY::REG_KEY(struct HKEY__ *,unsigned short const *,unsigned long)
+??0REG_KEY@@QAE@PAUHKEY__@@PBGK@Z
+; public: __thiscall REG_KEY_CREATE_STRUCT::REG_KEY_CREATE_STRUCT(void)
+??0REG_KEY_CREATE_STRUCT@@QAE@XZ
+; public: __thiscall REG_KEY_INFO_STRUCT::REG_KEY_INFO_STRUCT(void)
+??0REG_KEY_INFO_STRUCT@@QAE@XZ
+; public: __thiscall REG_VALUE_INFO_STRUCT::REG_VALUE_INFO_STRUCT(void)
+??0REG_VALUE_INFO_STRUCT@@QAE@XZ
+; public: __thiscall RESOURCE_STR::RESOURCE_STR(long,struct HINSTANCE__ *)
+??0RESOURCE_STR@@QAE@JPAUHINSTANCE__@@@Z
+; public: __thiscall RITER_DL::RITER_DL(class RITER_DL const &)
+??0RITER_DL@@QAE@ABV0@@Z
+; public: __thiscall RITER_DL::RITER_DL(class DLIST *)
+??0RITER_DL@@QAE@PAVDLIST@@@Z
+; public: __thiscall SLIST::SLIST(void)
+??0SLIST@@QAE@XZ
+; public: __thiscall SLIST_OF_DIR_BLOCK::SLIST_OF_DIR_BLOCK(int)
+??0SLIST_OF_DIR_BLOCK@@QAE@H@Z
+; public: __thiscall SLIST_OF_NLS_STR::SLIST_OF_NLS_STR(int)
+??0SLIST_OF_NLS_STR@@QAE@H@Z
+; public: __thiscall SL_NODE::SL_NODE(class SL_NODE *,void *)
+??0SL_NODE@@QAE@PAV0@PAX@Z
+; public: __thiscall STRLIST::STRLIST(class NLS_STR const &,class NLS_STR const &,int)
+??0STRLIST@@QAE@ABVNLS_STR@@0H@Z
+; public: __thiscall STRLIST::STRLIST(int)
+??0STRLIST@@QAE@H@Z
+; public: __thiscall STRLIST::STRLIST(unsigned short const *,unsigned short const *,int)
+??0STRLIST@@QAE@PBG0H@Z
+; public: __thiscall TCHAR_STR::TCHAR_STR(unsigned short)
+??0TCHAR_STR@@QAE@G@Z
+; public: __thiscall TCHAR_STR_IMPL::TCHAR_STR_IMPL(unsigned short)
+??0TCHAR_STR_IMPL@@QAE@G@Z
+; public: __thiscall TREE::TREE(void *)
+??0TREE@@QAE@PAX@Z
+; public: __thiscall UATOM::UATOM(class NLS_STR &)
+??0UATOM@@QAE@AAVNLS_STR@@@Z
+; public: __thiscall UATOM_LINKAGE::UATOM_LINKAGE(void)
+??0UATOM_LINKAGE@@QAE@XZ
+; private: __thiscall UATOM_MANAGER::UATOM_MANAGER(void)
+??0UATOM_MANAGER@@AAE@XZ
+; public: __thiscall UATOM_REGION::UATOM_REGION(void)
+??0UATOM_REGION@@QAE@XZ
+; public: __thiscall W32_DIR_BLOCK::W32_DIR_BLOCK(void)
+??0W32_DIR_BLOCK@@QAE@XZ
+; public: __thiscall W32_FS_ENUM::W32_FS_ENUM(unsigned short const *,unsigned short const *,enum FILE_TYPE,int,unsigned int)
+??0W32_FS_ENUM@@QAE@PBG0W4FILE_TYPE@@HI@Z
+; public: __thiscall WCHAR_STRING::WCHAR_STRING(char const *,unsigned int)
+??0WCHAR_STRING@@QAE@PBDI@Z
+; public: __thiscall WIN_TIME::WIN_TIME(int)
+??0WIN_TIME@@QAE@H@Z
+; public: __thiscall WIN_TIME::WIN_TIME(unsigned long,int)
+??0WIN_TIME@@QAE@KH@Z
+; public: __thiscall WIN_TIME::WIN_TIME(struct _FILETIME,int)
+??0WIN_TIME@@QAE@U_FILETIME@@H@Z
+; public: __thiscall ALIAS_STR::~ALIAS_STR(void)
+??1ALIAS_STR@@QAE@XZ
+; public: __thiscall BITFIELD::~BITFIELD(void)
+??1BITFIELD@@QAE@XZ
+; public: __thiscall BUFFER::~BUFFER(void)
+??1BUFFER@@QAE@XZ
+; public: __thiscall CHAR_STRING::~CHAR_STRING(void)
+??1CHAR_STRING@@QAE@XZ
+; public: __thiscall DBGSTREAM::~DBGSTREAM(void)
+??1DBGSTREAM@@QAE@XZ
+; public: __thiscall DEC_STR::~DEC_STR(void)
+??1DEC_STR@@QAE@XZ
+; public: __thiscall DFSITER_TREE::~DFSITER_TREE(void)
+??1DFSITER_TREE@@QAE@XZ
+; public: virtual __thiscall DIR_BLOCK::~DIR_BLOCK(void)
+??1DIR_BLOCK@@UAE@XZ
+; public: __thiscall DLIST::~DLIST(void)
+??1DLIST@@QAE@XZ
+; public: __thiscall ELAPSED_TIME_STR::~ELAPSED_TIME_STR(void)
+??1ELAPSED_TIME_STR@@QAE@XZ
+; public: virtual __thiscall FS_ENUM::~FS_ENUM(void)
+??1FS_ENUM@@UAE@XZ
+; protected: __thiscall HEAP_BASE::~HEAP_BASE(void)
+??1HEAP_BASE@@IAE@XZ
+; public: __thiscall ITER_DL::~ITER_DL(void)
+??1ITER_DL@@QAE@XZ
+; public: __thiscall ITER_SL::~ITER_SL(void)
+??1ITER_SL@@QAE@XZ
+; public: __thiscall ITER_SL_DIR_BLOCK::~ITER_SL_DIR_BLOCK(void)
+??1ITER_SL_DIR_BLOCK@@QAE@XZ
+; public: __thiscall ITER_SL_NLS_STR::~ITER_SL_NLS_STR(void)
+??1ITER_SL_NLS_STR@@QAE@XZ
+; public: __thiscall ITER_STRLIST::~ITER_STRLIST(void)
+??1ITER_STRLIST@@QAE@XZ
+; public: __thiscall LOGON_HOURS_SETTING::~LOGON_HOURS_SETTING(void)
+??1LOGON_HOURS_SETTING@@QAE@XZ
+; public: __thiscall NLS_STR::~NLS_STR(void)
+??1NLS_STR@@QAE@XZ
+; public: __thiscall REG_KEY::~REG_KEY(void)
+??1REG_KEY@@QAE@XZ
+; public: __thiscall REG_KEY_INFO_STRUCT::~REG_KEY_INFO_STRUCT(void)
+??1REG_KEY_INFO_STRUCT@@QAE@XZ
+; public: __thiscall REG_VALUE_INFO_STRUCT::~REG_VALUE_INFO_STRUCT(void)
+??1REG_VALUE_INFO_STRUCT@@QAE@XZ
+; public: __thiscall RITER_DL::~RITER_DL(void)
+??1RITER_DL@@QAE@XZ
+; public: __thiscall SLIST::~SLIST(void)
+??1SLIST@@QAE@XZ
+; public: __thiscall SLIST_OF_DIR_BLOCK::~SLIST_OF_DIR_BLOCK(void)
+??1SLIST_OF_DIR_BLOCK@@QAE@XZ
+; public: __thiscall SLIST_OF_NLS_STR::~SLIST_OF_NLS_STR(void)
+??1SLIST_OF_NLS_STR@@QAE@XZ
+; public: __thiscall STRLIST::~STRLIST(void)
+??1STRLIST@@QAE@XZ
+; public: __thiscall TCHAR_STR::~TCHAR_STR(void)
+??1TCHAR_STR@@QAE@XZ
+; public: __thiscall TREE::~TREE(void)
+??1TREE@@QAE@XZ
+; public: __thiscall UATOM::~UATOM(void)
+??1UATOM@@QAE@XZ
+; public: __thiscall UATOM_LINKAGE::~UATOM_LINKAGE(void)
+??1UATOM_LINKAGE@@QAE@XZ
+; private: __thiscall UATOM_MANAGER::~UATOM_MANAGER(void)
+??1UATOM_MANAGER@@AAE@XZ
+; public: __thiscall UATOM_REGION::~UATOM_REGION(void)
+??1UATOM_REGION@@QAE@XZ
+; public: virtual __thiscall W32_DIR_BLOCK::~W32_DIR_BLOCK(void)
+??1W32_DIR_BLOCK@@UAE@XZ
+; public: virtual __thiscall W32_FS_ENUM::~W32_FS_ENUM(void)
+??1W32_FS_ENUM@@UAE@XZ
+; public: __thiscall WCHAR_STRING::~WCHAR_STRING(void)
+??1WCHAR_STRING@@QAE@XZ
+; public: static void * __stdcall ALLOC_BASE::operator new(unsigned int)
+??2ALLOC_BASE@@SGPAXI@Z
+; public: static void * __stdcall ALLOC_BASE::operator new(unsigned int,void *)
+??2ALLOC_BASE@@SGPAXIPAX@Z
+; public: static void __stdcall ALLOC_BASE::operator delete(void *)
+??3ALLOC_BASE@@SGXPAX@Z
+; public: class ALIAS_STR const & __thiscall ALIAS_STR::operator=(class NLS_STR const &)
+??4ALIAS_STR@@QAEABV0@ABVNLS_STR@@@Z
+; public: class ALIAS_STR const & __thiscall ALIAS_STR::operator=(unsigned short const *)
+??4ALIAS_STR@@QAEABV0@PBG@Z
+; public: class ALLOC_STR & __thiscall ALLOC_STR::operator=(unsigned short const *)
+??4ALLOC_STR@@QAEAAV0@PBG@Z
+; public: class BITFIELD & __thiscall BITFIELD::operator=(class BITFIELD const &)
+??4BITFIELD@@QAEAAV0@ABV0@@Z
+; public: class BITFIELD & __thiscall BITFIELD::operator=(unsigned short)
+??4BITFIELD@@QAEAAV0@G@Z
+; public: class BITFIELD & __thiscall BITFIELD::operator=(unsigned long)
+??4BITFIELD@@QAEAAV0@K@Z
+; public: class ISTR & __thiscall ISTR::operator=(class ISTR const &)
+??4ISTR@@QAEAAV0@ABV0@@Z
+; public: class NLS_STR & __thiscall NLS_STR::operator=(class NLS_STR const &)
+??4NLS_STR@@QAEAAV0@ABV0@@Z
+; public: class NLS_STR & __thiscall NLS_STR::operator=(unsigned short const *)
+??4NLS_STR@@QAEAAV0@PBG@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(char)
+??6DBGSTREAM@@QAEAAV0@D@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(short)
+??6DBGSTREAM@@QAEAAV0@F@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned short)
+??6DBGSTREAM@@QAEAAV0@G@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(int)
+??6DBGSTREAM@@QAEAAV0@H@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned int)
+??6DBGSTREAM@@QAEAAV0@I@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(long)
+??6DBGSTREAM@@QAEAAV0@J@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned long)
+??6DBGSTREAM@@QAEAAV0@K@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(char const *)
+??6DBGSTREAM@@QAEAAV0@PBD@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned short const *)
+??6DBGSTREAM@@QAEAAV0@PBG@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(enum DBGSTR_SPECIAL)
+??6DBGSTREAM@@QAEAAV0@W4DBGSTR_SPECIAL@@@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(__int64)
+??6DBGSTREAM@@QAEAAV0@_J@Z
+; public: class DBGSTREAM & __thiscall DBGSTREAM::operator<<(unsigned __int64)
+??6DBGSTREAM@@QAEAAV0@_K@Z
+; public: int __thiscall BASE::operator!(void)const 
+??7BASE@@QBEHXZ
+; public: int __thiscall BITFIELD::operator==(class BITFIELD &)
+??8BITFIELD@@QAEHAAV0@@Z
+; public: int __thiscall BITFIELD::operator==(unsigned short)const 
+??8BITFIELD@@QBEHG@Z
+; public: int __thiscall BITFIELD::operator==(unsigned long)const 
+??8BITFIELD@@QBEHK@Z
+; public: int __thiscall ISTR::operator==(class ISTR const &)const 
+??8ISTR@@QBEHABV0@@Z
+; public: int __thiscall NLS_STR::operator==(class NLS_STR const &)const 
+??8NLS_STR@@QBEHABV0@@Z
+; public: int __thiscall NLS_STR::operator!=(class NLS_STR const &)const 
+??9NLS_STR@@QBEHABV0@@Z
+; public: __thiscall BITFIELD::operator unsigned short(void)
+??BBITFIELD@@QAEGXZ
+; public: __thiscall BITFIELD::operator unsigned long(void)
+??BBITFIELD@@QAEKXZ
+; public: __thiscall NLS_STR::operator unsigned short const *(void)const 
+??BNLS_STR@@QBEPBGXZ
+; public: __thiscall REG_KEY::operator struct HKEY__ *(void)const 
+??BREG_KEY@@QBEPAUHKEY__@@XZ
+; public: __thiscall TCHAR_STR::operator class ALIAS_STR const &(void)
+??BTCHAR_STR@@QAEABVALIAS_STR@@XZ
+; public: class ISTR & __thiscall ISTR::operator++(void)
+??EISTR@@QAEAAV0@XZ
+; public: int __thiscall ISTR::operator-(class ISTR const &)const 
+??GISTR@@QBEHABV0@@Z
+; public: int __thiscall BITFIELD::operator&(class BITFIELD const &)
+??IBITFIELD@@QAEHABV0@@Z
+; public: int __thiscall ISTR::operator<(class ISTR const &)const 
+??MISTR@@QBEHABV0@@Z
+; public: int __thiscall ISTR::operator>(class ISTR const &)const 
+??OISTR@@QBEHABV0@@Z
+; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::operator()(void)
+??RITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
+; public: void __thiscall ISTR::operator+=(int)
+??YISTR@@QAEXH@Z
+; public: class NLS_STR & __thiscall NLS_STR::operator+=(class NLS_STR const &)
+??YNLS_STR@@QAEAAV0@ABV0@@Z
+; public: void __thiscall BITFIELD::operator&=(class BITFIELD const &)
+??_4BITFIELD@@QAEXABV0@@Z
+; public: void __thiscall BITFIELD::operator&=(unsigned short)
+??_4BITFIELD@@QAEXG@Z
+; public: void __thiscall BITFIELD::operator&=(unsigned long)
+??_4BITFIELD@@QAEXK@Z
+; public: void __thiscall BITFIELD::operator|=(class BITFIELD const &)
+??_5BITFIELD@@QAEXABV0@@Z
+; public: void __thiscall BITFIELD::operator|=(unsigned short)
+??_5BITFIELD@@QAEXG@Z
+; public: void __thiscall BITFIELD::operator|=(unsigned long)
+??_5BITFIELD@@QAEXK@Z
+; void __stdcall `vector constructor iterator'(void *,unsigned int,int,void * (__thiscall*)(void *))
+??_H@YGXPAXIHP6EPAX0@Z@Z
+; void __stdcall `vector destructor iterator'(void *,unsigned int,int,void (__thiscall*)(void *))
+??_I@YGXPAXIHP6EX0@Z@Z
+; void __stdcall `vector vbase constructor iterator'(void *,unsigned int,int,void * (__thiscall*)(void *))
+??_J@YGXPAXIHP6EPAX0@Z@Z
+; public: long __thiscall DLIST::Add(void *)
+?Add@DLIST@@QAEJPAX@Z
+; public: long __thiscall SLIST::Add(void *)
+?Add@SLIST@@QAEJPAX@Z
+; public: long __thiscall SLIST_OF_DIR_BLOCK::Add(class DIR_BLOCK const *)
+?Add@SLIST_OF_DIR_BLOCK@@QAEJPBVDIR_BLOCK@@@Z
+; public: long __thiscall SLIST_OF_NLS_STR::Add(class NLS_STR const *)
+?Add@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
+; private: int __thiscall NLS_STR::Alloc(unsigned int)
+?Alloc@NLS_STR@@AAEHI@Z
+; public: unsigned char * __thiscall ONE_SHOT_HEAP::Alloc(unsigned int)
+?Alloc@ONE_SHOT_HEAP@@QAEPAEI@Z
+; protected: long __thiscall BITFIELD::AllocBitfield(unsigned int)
+?AllocBitfield@BITFIELD@@IAEJI@Z
+; public: long __thiscall DLIST::Append(void *)
+?Append@DLIST@@QAEJPAX@Z
+; public: long __thiscall NLS_STR::Append(class NLS_STR const &)
+?Append@NLS_STR@@QAEJABV1@@Z
+; public: long __thiscall SLIST::Append(void *)
+?Append@SLIST@@QAEJPAX@Z
+; public: long __thiscall SLIST_OF_NLS_STR::Append(class NLS_STR const *)
+?Append@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
+; public: long __thiscall NLS_STR::AppendChar(unsigned short)
+?AppendChar@NLS_STR@@QAEJG@Z
+; public: class TREE * __thiscall TREE::BreakOut(void)
+?BreakOut@TREE@@QAEPAV1@XZ
+; protected: void __thiscall DLIST::BumpIters(class DL_NODE *)
+?BumpIters@DLIST@@IAEXPAVDL_NODE@@@Z
+; protected: void __thiscall SLIST::BumpIters(class SL_NODE *)
+?BumpIters@SLIST@@IAEXPAVSL_NODE@@@Z
+; private: void __thiscall NLS_STR::CheckIstr(class ISTR const &)const 
+?CheckIstr@NLS_STR@@ABEXABVISTR@@@Z
+; protected: int __thiscall DLIST::CheckIter(class ITER_L *)
+?CheckIter@DLIST@@IAEHPAVITER_L@@@Z
+; protected: int __thiscall SLIST::CheckIter(class ITER_SL *)
+?CheckIter@SLIST@@IAEHPAVITER_SL@@@Z
+; long __stdcall CheckLocalComm(unsigned short const *)
+?CheckLocalComm@@YGJPBG@Z
+; long __stdcall CheckLocalDrive(unsigned short const *)
+?CheckLocalDrive@@YGJPBG@Z
+; long __stdcall CheckLocalLpt(unsigned short const *)
+?CheckLocalLpt@@YGJPBG@Z
+; long __stdcall CheckUnavailDevice(unsigned short const *,unsigned short *,int *)
+?CheckUnavailDevice@@YGJPBGPAGPAH@Z
+; public: void __thiscall SLIST_OF_DIR_BLOCK::Clear(void)
+?Clear@SLIST_OF_DIR_BLOCK@@QAEXXZ
+; public: void __thiscall SLIST_OF_NLS_STR::Clear(void)
+?Clear@SLIST_OF_NLS_STR@@QAEXXZ
+; private: long __thiscall REG_KEY::Close(void)
+?Close@REG_KEY@@AAEJXZ
+; private: unsigned long __thiscall FMX::Command(unsigned int,unsigned int,long)const 
+?Command@FMX@@ABEKIIJ@Z
+; public: int __cdecl NLS_STR::Compare(class NLS_STR const *)const 
+?Compare@NLS_STR@@QBAHPBV1@@Z
+; public: int __thiscall LOGON_HOURS_SETTING::ConvertFromGMT(void)
+?ConvertFromGMT@LOGON_HOURS_SETTING@@QAEHXZ
+; public: int __thiscall LOGON_HOURS_SETTING::ConvertToGMT(void)
+?ConvertToGMT@LOGON_HOURS_SETTING@@QAEHXZ
+; public: long __thiscall LOGON_HOURS_SETTING::ConvertToHoursPerWeek(void)
+?ConvertToHoursPerWeek@LOGON_HOURS_SETTING@@QAEJXZ
+; public: long __thiscall NLS_STR::CopyFrom(class NLS_STR const &)
+?CopyFrom@NLS_STR@@QAEJABV1@@Z
+; public: long __thiscall NLS_STR::CopyFrom(unsigned short const *,unsigned int)
+?CopyFrom@NLS_STR@@QAEJPBGI@Z
+; public: long __thiscall NLS_STR::CopyTo(unsigned short *,unsigned int)const 
+?CopyTo@NLS_STR@@QBEJPAGI@Z
+; private: long __thiscall REG_KEY::CreateChild(class REG_KEY *,class NLS_STR const &,class REG_KEY_CREATE_STRUCT *)const 
+?CreateChild@REG_KEY@@ABEJPAV1@ABVNLS_STR@@PAVREG_KEY_CREATE_STRUCT@@@Z
+; protected: virtual class DIR_BLOCK * __thiscall W32_FS_ENUM::CreateDirBlock(void)
+?CreateDirBlock@W32_FS_ENUM@@MAEPAVDIR_BLOCK@@XZ
+; private: void __thiscall STRLIST::CreateList(unsigned short const *,unsigned short const *)
+?CreateList@STRLIST@@AAEXPBG0@Z
+; private: void __thiscall NLS_STR::DelSubStr(class ISTR &,unsigned int)
+?DelSubStr@NLS_STR@@AAEXAAVISTR@@I@Z
+; public: void __thiscall NLS_STR::DelSubStr(class ISTR &)
+?DelSubStr@NLS_STR@@QAEXAAVISTR@@@Z
+; public: void __thiscall NLS_STR::DelSubStr(class ISTR &,class ISTR const &)
+?DelSubStr@NLS_STR@@QAEXAAVISTR@@ABV2@@Z
+; public: long __thiscall REG_KEY::Delete(void)
+?Delete@REG_KEY@@QAEJXZ
+; public: long __thiscall REG_KEY::DeleteValue(class NLS_STR const &)
+?DeleteValue@REG_KEY@@QAEJABVNLS_STR@@@Z
+; protected: void __thiscall DLIST::Deregister(class ITER_L *)
+?Deregister@DLIST@@IAEXPAVITER_L@@@Z
+; protected: void __thiscall SLIST::Deregister(class ITER_SL *)
+?Deregister@SLIST@@IAEXPAVITER_SL@@@Z
+; public: int __thiscall DIR_BLOCK::DoBreadthFirstDirs(void)const 
+?DoBreadthFirstDirs@DIR_BLOCK@@QBEHXZ
+; public: virtual void __thiscall OUTPUT_TO_AUX::EndOfLine(void)
+?EndOfLine@OUTPUT_TO_AUX@@UAEXXZ
+; private: virtual void __thiscall OUTPUT_TO_NUL::EndOfLine(void)
+?EndOfLine@OUTPUT_TO_NUL@@EAEXXZ
+; public: virtual void __thiscall OUTPUT_TO_STDERR::EndOfLine(void)
+?EndOfLine@OUTPUT_TO_STDERR@@UAEXXZ
+; public: virtual void __thiscall OUTPUT_TO_STDOUT::EndOfLine(void)
+?EndOfLine@OUTPUT_TO_STDOUT@@UAEXXZ
+; public: void __thiscall BUFFER::FillOut(void)
+?FillOut@BUFFER@@QAEXXZ
+; protected: virtual long __thiscall W32_FS_ENUM::FindFirst(class DIR_BLOCK *,class NLS_STR const &,unsigned int)
+?FindFirst@W32_FS_ENUM@@MAEJPAVDIR_BLOCK@@ABVNLS_STR@@I@Z
+; protected: virtual long __thiscall W32_FS_ENUM::FindNext(class DIR_BLOCK *,unsigned int)
+?FindNext@W32_FS_ENUM@@MAEJPAVDIR_BLOCK@@I@Z
+; protected: class SL_NODE * __thiscall SLIST::FindPrev(class SL_NODE *)
+?FindPrev@SLIST@@IAEPAVSL_NODE@@PAV2@@Z
+; public: long __thiscall REG_KEY::Flush(void)
+?Flush@REG_KEY@@QAEJXZ
+; public: class UATOM * __thiscall UATOM_LINKAGE::Fwd(void)
+?Fwd@UATOM_LINKAGE@@QAEPAVUATOM@@XZ
+; private: long __thiscall BUFFER::GetNewStorage(unsigned int)
+?GetNewStorage@BUFFER@@AAEJI@Z
+; long __stdcall GetSelItem(struct HWND__ *,unsigned int,class NLS_STR *,int *)
+?GetSelItem@@YGJPAUHWND__@@IPAVNLS_STR@@PAH@Z
+; long __stdcall GetSelItem(struct HWND__ *,class NLS_STR *,int,int *)
+?GetSelItem@@YGJPAUHWND__@@PAVNLS_STR@@HPAH@Z
+; private: static int __stdcall REG_KEY::HandlePrefix(class NLS_STR const &,struct HKEY__ * *,class NLS_STR *,class NLS_STR *)
+?HandlePrefix@REG_KEY@@CGHABVNLS_STR@@PAPAUHKEY__@@PAV2@2@Z
+; public: int __thiscall DIR_BLOCK::HasFindFirstBeenCalled(void)
+?HasFindFirstBeenCalled@DIR_BLOCK@@QAEHXZ
+; void __stdcall HeapResidueIter(unsigned int,int)
+?HeapResidueIter@@YGXIH@Z
+; protected: long __thiscall HEAP_BASE::I_AddItem(void *)
+?I_AddItem@HEAP_BASE@@IAEJPAX@Z
+; protected: void * __thiscall HEAP_BASE::I_RemoveTopItem(void)
+?I_RemoveTopItem@HEAP_BASE@@IAEPAXXZ
+; protected: void __thiscall NLS_STR::IncVers(void)
+?IncVers@NLS_STR@@IAEXXZ
+; public: static void __stdcall NUM_NLS_STR::Init(void)
+?Init@NUM_NLS_STR@@SGXXZ
+; public: void __thiscall UATOM_LINKAGE::Init(void)
+?Init@UATOM_LINKAGE@@QAEXXZ
+; public: static long __stdcall UATOM_MANAGER::Initialize(void)
+?Initialize@UATOM_MANAGER@@SGJXZ
+; protected: void __thiscall NLS_STR::InitializeVers(void)
+?InitializeVers@NLS_STR@@IAEXXZ
+; public: long __thiscall DLIST::Insert(void *,class ITER_DL &)
+?Insert@DLIST@@QAEJPAXAAVITER_DL@@@Z
+; public: long __thiscall DLIST::Insert(void *,class RITER_DL &)
+?Insert@DLIST@@QAEJPAXAAVRITER_DL@@@Z
+; public: long __thiscall SLIST::Insert(void *,class ITER_SL &)
+?Insert@SLIST@@QAEJPAXAAVITER_SL@@@Z
+; public: long __cdecl NLS_STR::InsertParams(unsigned int,class NLS_STR const *,...)
+?InsertParams@NLS_STR@@QAAJIPBV1@ZZ
+; public: long __thiscall NLS_STR::InsertParams(class NLS_STR const &,class NLS_STR const &,class NLS_STR const &)
+?InsertParams@NLS_STR@@QAEJABV1@00@Z
+; public: long __thiscall NLS_STR::InsertParams(class NLS_STR const * *)
+?InsertParams@NLS_STR@@QAEJPAPBV1@@Z
+; private: long __thiscall NLS_STR::InsertParamsAux(class NLS_STR const * *,unsigned int,int,unsigned int *)
+?InsertParamsAux@NLS_STR@@AAEJPAPBV1@IHPAI@Z
+; public: int __thiscall NLS_STR::InsertStr(class NLS_STR const &,class ISTR &)
+?InsertStr@NLS_STR@@QAEHABV1@AAVISTR@@@Z
+; public: int __thiscall INTL_PROFILE::Is24Hour(void)const 
+?Is24Hour@INTL_PROFILE@@QBEHXZ
+; protected: int __thiscall BITFIELD::IsAllocated(void)const 
+?IsAllocated@BITFIELD@@IBEHXZ
+; public: int __thiscall BITFIELD::IsBitSet(unsigned int)const 
+?IsBitSet@BITFIELD@@QBEHI@Z
+; public: int __thiscall INTL_PROFILE::IsDayLZero(void)const 
+?IsDayLZero@INTL_PROFILE@@QBEHXZ
+; public: int __thiscall DIR_BLOCK::IsDir(void)
+?IsDir@DIR_BLOCK@@QAEHXZ
+; public: int __thiscall FMX::IsHeterogeneousSelection(int *)
+?IsHeterogeneousSelection@FMX@@QAEHPAH@Z
+; public: int __thiscall INTL_PROFILE::IsHourLZero(void)const 
+?IsHourLZero@INTL_PROFILE@@QBEHXZ
+; public: int __thiscall LOGON_HOURS_SETTING::IsIdenticalToBits(unsigned char const *,unsigned int)const 
+?IsIdenticalToBits@LOGON_HOURS_SETTING@@QBEHPBEI@Z
+; public: int __thiscall ISTR::IsLastPos(void)const 
+?IsLastPos@ISTR@@QBEHXZ
+; public: int __thiscall SLIST_OF_NLS_STR::IsMember(class NLS_STR const &)
+?IsMember@SLIST_OF_NLS_STR@@QAEHABVNLS_STR@@@Z
+; public: int __thiscall INTL_PROFILE::IsMonthLZero(void)const 
+?IsMonthLZero@INTL_PROFILE@@QBEHXZ
+; public: int __thiscall NLS_STR::IsOwnerAlloc(void)const 
+?IsOwnerAlloc@NLS_STR@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::IsTimePrefix(void)const 
+?IsTimePrefix@INTL_PROFILE@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::IsYrCentury(void)const 
+?IsYrCentury@INTL_PROFILE@@QBEHXZ
+; public: void __thiscall TREE::JoinSiblingLeft(class TREE *)
+?JoinSiblingLeft@TREE@@QAEXPAV1@@Z
+; public: void __thiscall TREE::JoinSiblingRight(class TREE *)
+?JoinSiblingRight@TREE@@QAEXPAV1@@Z
+; public: void __thiscall TREE::JoinSubtreeLeft(class TREE *)
+?JoinSubtreeLeft@TREE@@QAEXPAV1@@Z
+; public: void __thiscall TREE::JoinSubtreeRight(class TREE *)
+?JoinSubtreeRight@TREE@@QAEXPAV1@@Z
+; private: unsigned short const * __thiscall REG_KEY::LeafKeyName(void)const 
+?LeafKeyName@REG_KEY@@ABEPBGXZ
+; public: void __thiscall UATOM_LINKAGE::Link(class UATOM_LINKAGE *)
+?Link@UATOM_LINKAGE@@QAEXPAV1@@Z
+; public: long __thiscall NLS_STR::Load(long,struct HINSTANCE__ *)
+?Load@NLS_STR@@QAEJJPAUHINSTANCE__@@@Z
+; public: long __thiscall NLS_STR::LoadSystem(long)
+?LoadSystem@NLS_STR@@QAEJJ@Z
+; public: long __thiscall LOGON_HOURS_SETTING::MakeDefault(void)
+?MakeDefault@LOGON_HOURS_SETTING@@QAEJXZ
+; public: long __thiscall NLS_STR::MapCopyFrom(char const *,unsigned int)
+?MapCopyFrom@NLS_STR@@QAEJPBDI@Z
+; public: long __thiscall NLS_STR::MapCopyFrom(unsigned short const *,unsigned int)
+?MapCopyFrom@NLS_STR@@QAEJPBGI@Z
+; public: long __thiscall NLS_STR::MapCopyTo(char *,unsigned int)const 
+?MapCopyTo@NLS_STR@@QBEJPADI@Z
+; public: long __thiscall NLS_STR::MapCopyTo(unsigned short *,unsigned int)const 
+?MapCopyTo@NLS_STR@@QBEJPAGI@Z
+; public: static long __stdcall ERRMAP::MapNTStatus(long,int *,long)
+?MapNTStatus@ERRMAP@@SGJJPAHJ@Z
+; private: long __thiscall REG_KEY::NameChild(class REG_KEY *,class NLS_STR const &)const 
+?NameChild@REG_KEY@@ABEJPAV1@ABVNLS_STR@@@Z
+; public: void * __thiscall DFSITER_TREE::Next(void)
+?Next@DFSITER_TREE@@QAEPAXXZ
+; public: int __thiscall FS_ENUM::Next(void)
+?Next@FS_ENUM@@QAEHXZ
+; public: void * __thiscall ITER_SL::Next(void)
+?Next@ITER_SL@@QAEPAXXZ
+; public: class DIR_BLOCK * __thiscall ITER_SL_DIR_BLOCK::Next(void)
+?Next@ITER_SL_DIR_BLOCK@@QAEPAVDIR_BLOCK@@XZ
+; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::Next(void)
+?Next@ITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
+; protected: int __thiscall FS_ENUM::NextBreadthFirst(void)
+?NextBreadthFirst@FS_ENUM@@IAEHXZ
+; protected: int __thiscall FS_ENUM::NextDepthFirst(void)
+?NextDepthFirst@FS_ENUM@@IAEHXZ
+; public: long __thiscall WIN_TIME::Normalize(void)
+?Normalize@WIN_TIME@@QAEJXZ
+; public: void __thiscall BITFIELD::Not(void)
+?Not@BITFIELD@@QAEXXZ
+; private: long __thiscall REG_KEY::OpenByName(class NLS_STR const &,unsigned long)
+?OpenByName@REG_KEY@@AAEJABVNLS_STR@@K@Z
+; private: long __thiscall REG_KEY::OpenChild(class REG_KEY *,class NLS_STR const &,unsigned long,unsigned long)
+?OpenChild@REG_KEY@@AAEJPAV1@ABVNLS_STR@@KK@Z
+; private: class REG_KEY * __thiscall REG_KEY::OpenParent(unsigned long)
+?OpenParent@REG_KEY@@AAEPAV1@K@Z
+; private: long __thiscall REG_KEY::ParentName(class NLS_STR *)const 
+?ParentName@REG_KEY@@ABEJPAVNLS_STR@@@Z
+; protected: void * __thiscall HEAP_BASE::PeekItem(int)const 
+?PeekItem@HEAP_BASE@@IBEPAXH@Z
+; public: long __thiscall LOGON_HOURS_SETTING::PermitAll(void)
+?PermitAll@LOGON_HOURS_SETTING@@QAEJXZ
+; protected: long __thiscall FS_ENUM::PopDir(void)
+?PopDir@FS_ENUM@@IAEJXZ
+; protected: long __thiscall FS_ENUM::PushDir(unsigned short const *)
+?PushDir@FS_ENUM@@IAEJPBG@Z
+; public: long __thiscall INTL_PROFILE::QueryAMStr(class NLS_STR *)const 
+?QueryAMStr@INTL_PROFILE@@QBEJPAVNLS_STR@@@Z
+; private: unsigned int __thiscall BUFFER::QueryActualSize(void)
+?QueryActualSize@BUFFER@@AAEIXZ
+; public: unsigned int __thiscall BITFIELD::QueryAllocSize(void)const 
+?QueryAllocSize@BITFIELD@@QBEIXZ
+; public: unsigned int __thiscall NLS_STR::QueryAllocSize(void)const 
+?QueryAllocSize@NLS_STR@@QBEIXZ
+; public: unsigned int __thiscall NLS_STR::QueryAnsiTextLength(void)const 
+?QueryAnsiTextLength@NLS_STR@@QBEIXZ
+; public: virtual unsigned int __thiscall W32_DIR_BLOCK::QueryAttr(void)
+?QueryAttr@W32_DIR_BLOCK@@UAEIXZ
+; protected: unsigned char * __thiscall BITFIELD::QueryBitPos(unsigned int,unsigned int)const 
+?QueryBitPos@BITFIELD@@IBEPAEII@Z
+; public: int __thiscall STRLIST::QueryBufferSize(unsigned short *)
+?QueryBufferSize@STRLIST@@QAEHPAG@Z
+; private: static unsigned int __stdcall LOGON_HOURS_SETTING::QueryByteCount(unsigned int)
+?QueryByteCount@LOGON_HOURS_SETTING@@CGII@Z
+; public: unsigned int __thiscall LOGON_HOURS_SETTING::QueryByteCount(void)const 
+?QueryByteCount@LOGON_HOURS_SETTING@@QBEIXZ
+; public: unsigned short __thiscall NLS_STR::QueryChar(class ISTR const &)const 
+?QueryChar@NLS_STR@@QBEGABVISTR@@@Z
+; public: unsigned int __thiscall BITFIELD::QueryCount(void)const 
+?QueryCount@BITFIELD@@QBEIXZ
+; protected: unsigned int __thiscall DFSITER_TREE::QueryCurDepth(void)const 
+?QueryCurDepth@DFSITER_TREE@@IBEIXZ
+; public: static class DBGSTREAM & __stdcall DBGSTREAM::QueryCurrent(void)
+?QueryCurrent@DBGSTREAM@@SGAAV1@XZ
+; public: unsigned int __thiscall FS_ENUM::QueryCurrentDepth(void)
+?QueryCurrentDepth@FS_ENUM@@QAEIXZ
+; public: class DIR_BLOCK * __thiscall FS_ENUM::QueryCurrentDirBlock(void)const 
+?QueryCurrentDirBlock@FS_ENUM@@QBEPAVDIR_BLOCK@@XZ
+; unsigned long __stdcall QueryCurrentTimeStamp(void)
+?QueryCurrentTimeStamp@@YGKXZ
+; public: static class REG_KEY * __stdcall REG_KEY::QueryCurrentUser(unsigned long)
+?QueryCurrentUser@REG_KEY@@SGPAV1@K@Z
+; public: char const * __thiscall CHAR_STRING::QueryData(void)const 
+?QueryData@CHAR_STRING@@QBEPBDXZ
+; public: unsigned short const * __thiscall WCHAR_STRING::QueryData(void)const 
+?QueryData@WCHAR_STRING@@QBEPBGXZ
+; public: long __thiscall INTL_PROFILE::QueryDateSeparator(class NLS_STR *)const 
+?QueryDateSeparator@INTL_PROFILE@@QBEJPAVNLS_STR@@@Z
+; public: int __thiscall WIN_TIME::QueryDay(void)const 
+?QueryDay@WIN_TIME@@QBEHXZ
+; public: int __thiscall WIN_TIME::QueryDayOfWeek(void)const 
+?QueryDayOfWeek@WIN_TIME@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::QueryDayPos(void)const 
+?QueryDayPos@INTL_PROFILE@@QBEHXZ
+; public: class STRLIST * __thiscall DIR_BLOCK::QueryDirs(void)
+?QueryDirs@DIR_BLOCK@@QAEPAVSTRLIST@@XZ
+; public: class ITER_STRLIST * __thiscall DIR_BLOCK::QueryDirsIter(void)
+?QueryDirsIter@DIR_BLOCK@@QAEPAVITER_STRLIST@@XZ
+; public: long __thiscall FMX::QueryDriveInfo(struct _FMS_GETDRIVEINFOW *)
+?QueryDriveInfo@FMX@@QAEJPAU_FMS_GETDRIVEINFOW@@@Z
+; public: long __thiscall INTL_PROFILE::QueryDurationStr(int,int,int,int,class NLS_STR *)const 
+?QueryDurationStr@INTL_PROFILE@@QBEJHHHHPAVNLS_STR@@@Z
+; public: long __thiscall BASE::QueryError(void)const 
+?QueryError@BASE@@QBEJXZ
+; public: long __thiscall FORWARDING_BASE::QueryError(void)const 
+?QueryError@FORWARDING_BASE@@QBEJXZ
+; public: long __thiscall HUATOM::QueryError(void)const 
+?QueryError@HUATOM@@QBEJXZ
+; public: virtual unsigned short const * __thiscall W32_DIR_BLOCK::QueryFileName(void)
+?QueryFileName@W32_DIR_BLOCK@@UAEPBGXZ
+; public: long __thiscall WIN_TIME::QueryFileTime(struct _FILETIME *)const 
+?QueryFileTime@WIN_TIME@@QBEJPAU_FILETIME@@@Z
+; public: long __thiscall WIN_TIME::QueryFileTimeLocal(struct _FILETIME *)const 
+?QueryFileTimeLocal@WIN_TIME@@QBEJPAU_FILETIME@@@Z
+; public: class TREE * __thiscall TREE::QueryFirstSubtree(void)const 
+?QueryFirstSubtree@TREE@@QBEPAV1@XZ
+; public: unsigned int __thiscall FMX::QueryFocus(void)const 
+?QueryFocus@FMX@@QBEIXZ
+; public: int __thiscall WIN_TIME::QueryHour(void)const 
+?QueryHour@WIN_TIME@@QBEHXZ
+; public: int __thiscall LOGON_HOURS_SETTING::QueryHourInDay(unsigned int,unsigned int)const 
+?QueryHourInDay@LOGON_HOURS_SETTING@@QBEHII@Z
+; public: int __thiscall LOGON_HOURS_SETTING::QueryHourInWeek(unsigned int)const 
+?QueryHourInWeek@LOGON_HOURS_SETTING@@QBEHI@Z
+; public: unsigned char * __thiscall LOGON_HOURS_SETTING::QueryHoursBlock(void)const 
+?QueryHoursBlock@LOGON_HOURS_SETTING@@QBEPAEXZ
+; private: int __thiscall ISTR::QueryIch(void)const 
+?QueryIch@ISTR@@ABEHXZ
+; public: long __thiscall REG_KEY::QueryInfo(class REG_KEY_INFO_STRUCT *)
+?QueryInfo@REG_KEY@@QAEJPAVREG_KEY_INFO_STRUCT@@@Z
+; public: long __thiscall REG_KEY::QueryKeyName(class NLS_STR *)const 
+?QueryKeyName@REG_KEY@@QBEJPAVNLS_STR@@@Z
+; private: long __thiscall REG_KEY::QueryKeyValueBinary(unsigned short const *,unsigned char * *,long *,long,unsigned long *,unsigned long)
+?QueryKeyValueBinary@REG_KEY@@AAEJPBGPAPAEPAJJPAKK@Z
+; private: long __thiscall REG_KEY::QueryKeyValueLong(unsigned short const *,long *,unsigned long *)
+?QueryKeyValueLong@REG_KEY@@AAEJPBGPAJPAK@Z
+; private: long __thiscall REG_KEY::QueryKeyValueString(unsigned short const *,unsigned short * *,class NLS_STR *,unsigned long *,long,long *,unsigned long)
+?QueryKeyValueString@REG_KEY@@AAEJPBGPAPAGPAVNLS_STR@@PAKJPAJK@Z
+; public: class TREE * __thiscall TREE::QueryLastSubtree(void)const 
+?QueryLastSubtree@TREE@@QBEPAV1@XZ
+; public: class TREE * __thiscall TREE::QueryLeft(void)const 
+?QueryLeft@TREE@@QBEPAV1@XZ
+; public: int __thiscall UATOM_LINKAGE::QueryLinked(void)
+?QueryLinked@UATOM_LINKAGE@@QAEHXZ
+; public: static class REG_KEY * __stdcall REG_KEY::QueryLocalMachine(unsigned long)
+?QueryLocalMachine@REG_KEY@@SGPAV1@K@Z
+; public: long __thiscall INTL_PROFILE::QueryLongDateString(class WIN_TIME const &,class NLS_STR *)const 
+?QueryLongDateString@INTL_PROFILE@@QBEJABVWIN_TIME@@PAVNLS_STR@@@Z
+; protected: unsigned int __thiscall DFSITER_TREE::QueryMaxDepth(void)const 
+?QueryMaxDepth@DFSITER_TREE@@IBEIXZ
+; public: unsigned int __thiscall FS_ENUM::QueryMaxDepth(void)
+?QueryMaxDepth@FS_ENUM@@QAEIXZ
+; protected: unsigned int __thiscall BITFIELD::QueryMaxNonAllocBitCount(void)const 
+?QueryMaxNonAllocBitCount@BITFIELD@@IBEIXZ
+; public: int __thiscall WIN_TIME::QueryMinute(void)const 
+?QueryMinute@WIN_TIME@@QBEHXZ
+; public: int __thiscall WIN_TIME::QueryMonth(void)const 
+?QueryMonth@WIN_TIME@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::QueryMonthPos(void)const 
+?QueryMonthPos@INTL_PROFILE@@QBEHXZ
+; public: long __thiscall FS_ENUM::QueryName(class NLS_STR *)const 
+?QueryName@FS_ENUM@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall REG_KEY::QueryName(class NLS_STR *,int)const 
+?QueryName@REG_KEY@@QBEJPAVNLS_STR@@H@Z
+; public: class NLS_STR const * __thiscall HUATOM::QueryNls(void)const 
+?QueryNls@HUATOM@@QBEPBVNLS_STR@@XZ
+; protected: class TREE const * __thiscall DFSITER_TREE::QueryNode(void)const 
+?QueryNode@DFSITER_TREE@@IBEPBVTREE@@XZ
+; public: unsigned int __thiscall NLS_STR::QueryNumChar(void)const 
+?QueryNumChar@NLS_STR@@QBEIXZ
+; public: unsigned int __thiscall DLIST::QueryNumElem(void)
+?QueryNumElem@DLIST@@QAEIXZ
+; public: unsigned int __thiscall SLIST::QueryNumElem(void)
+?QueryNumElem@SLIST@@QAEIXZ
+; public: unsigned int __thiscall TREE::QueryNumElem(void)const 
+?QueryNumElem@TREE@@QBEIXZ
+; public: unsigned int __thiscall BITFIELD::QueryOffset(unsigned int)const 
+?QueryOffset@BITFIELD@@QBEII@Z
+; public: long __thiscall INTL_PROFILE::QueryPMStr(class NLS_STR *)const 
+?QueryPMStr@INTL_PROFILE@@QBEJPAVNLS_STR@@@Z
+; public: class TREE * __thiscall TREE::QueryParent(void)const 
+?QueryParent@TREE@@QBEPAV1@XZ
+; public: unsigned short const * __thiscall NLS_STR::QueryPch(class ISTR const &)const 
+?QueryPch@NLS_STR@@QBEPBGABVISTR@@@Z
+; public: unsigned short const * __thiscall NLS_STR::QueryPch(void)const 
+?QueryPch@NLS_STR@@QBEPBGXZ
+; public: void * __thiscall ITER_SL::QueryProp(void)
+?QueryProp@ITER_SL@@QAEPAXXZ
+; public: void * __thiscall TREE::QueryProp(void)const 
+?QueryProp@TREE@@QBEPAXXZ
+; public: unsigned char * __thiscall BUFFER::QueryPtr(void)const 
+?QueryPtr@BUFFER@@QBEPAEXZ
+; public: class TREE * __thiscall TREE::QueryRight(void)const 
+?QueryRight@TREE@@QBEPAV1@XZ
+; protected: unsigned int __thiscall FS_ENUM::QuerySearchAttr(void)const 
+?QuerySearchAttr@FS_ENUM@@IBEIXZ
+; public: int __thiscall WIN_TIME::QuerySecond(void)const 
+?QuerySecond@WIN_TIME@@QBEHXZ
+; public: unsigned int __thiscall FMX::QuerySelCount(void)const 
+?QuerySelCount@FMX@@QBEIXZ
+; public: long __thiscall FMX::QuerySelection(int,struct _FMS_GETFILESELW *,int)
+?QuerySelection@FMX@@QAEJHPAU_FMS_GETFILESELW@@H@Z
+; public: long __thiscall INTL_PROFILE::QueryShortDateString(class WIN_TIME const &,class NLS_STR *)const 
+?QueryShortDateString@INTL_PROFILE@@QBEJABVWIN_TIME@@PAVNLS_STR@@@Z
+; public: unsigned int __thiscall BUFFER::QuerySize(void)const 
+?QuerySize@BUFFER@@QBEIXZ
+; protected: class TREE const * __thiscall DFSITER_TREE::QueryStartNode(void)const 
+?QueryStartNode@DFSITER_TREE@@IBEPBVTREE@@XZ
+; private: class NLS_STR const * __thiscall ISTR::QueryString(void)const 
+?QueryString@ISTR@@ABEPBVNLS_STR@@XZ
+; private: class NLS_STR * __thiscall NLS_STR::QuerySubStr(class ISTR const &,unsigned int)const 
+?QuerySubStr@NLS_STR@@ABEPAV1@ABVISTR@@I@Z
+; public: class NLS_STR * __thiscall NLS_STR::QuerySubStr(class ISTR const &,class ISTR const &)const 
+?QuerySubStr@NLS_STR@@QBEPAV1@ABVISTR@@0@Z
+; public: class NLS_STR * __thiscall NLS_STR::QuerySubStr(class ISTR const &)const 
+?QuerySubStr@NLS_STR@@QBEPAV1@ABVISTR@@@Z
+; public: unsigned short const * __thiscall HUATOM::QueryText(void)const 
+?QueryText@HUATOM@@QBEPBGXZ
+; public: unsigned int __thiscall NLS_STR::QueryTextLength(void)const 
+?QueryTextLength@NLS_STR@@QBEIXZ
+; public: unsigned int __thiscall NLS_STR::QueryTextSize(void)const 
+?QueryTextSize@NLS_STR@@QBEIXZ
+; public: long __thiscall WIN_TIME::QueryTime(unsigned long *)const 
+?QueryTime@WIN_TIME@@QBEJPAK@Z
+; public: long __thiscall WIN_TIME::QueryTimeLocal(unsigned long *)const 
+?QueryTimeLocal@WIN_TIME@@QBEJPAK@Z
+; public: long __thiscall INTL_PROFILE::QueryTimeSeparator(class NLS_STR *)const 
+?QueryTimeSeparator@INTL_PROFILE@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall INTL_PROFILE::QueryTimeString(class WIN_TIME const &,class NLS_STR *)const 
+?QueryTimeString@INTL_PROFILE@@QBEJABVWIN_TIME@@PAVNLS_STR@@@Z
+; public: unsigned int __thiscall LOGON_HOURS_SETTING::QueryUnitsPerWeek(void)const 
+?QueryUnitsPerWeek@LOGON_HOURS_SETTING@@QBEIXZ
+; public: long __thiscall REG_KEY::QueryValue(class REG_VALUE_INFO_STRUCT *)
+?QueryValue@REG_KEY@@QAEJPAVREG_VALUE_INFO_STRUCT@@@Z
+; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,unsigned long *,unsigned long *)
+?QueryValue@REG_KEY@@QAEJPBGPAK1@Z
+; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,unsigned char * *,long *,long,unsigned long *)
+?QueryValue@REG_KEY@@QAEJPBGPAPAEPAJJPAK@Z
+; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,unsigned short * *,unsigned long,unsigned long *,int)
+?QueryValue@REG_KEY@@QAEJPBGPAPAGKPAKH@Z
+; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,class STRLIST * *,unsigned long *)
+?QueryValue@REG_KEY@@QAEJPBGPAPAVSTRLIST@@PAK@Z
+; public: long __thiscall REG_KEY::QueryValue(unsigned short const *,class NLS_STR *,unsigned long,unsigned long *,int)
+?QueryValue@REG_KEY@@QAEJPBGPAVNLS_STR@@KPAKH@Z
+; public: int __thiscall WIN_TIME::QueryYear(void)const 
+?QueryYear@WIN_TIME@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::QueryYearPos(void)const 
+?QueryYearPos@INTL_PROFILE@@QBEHXZ
+; private: int __thiscall NLS_STR::Realloc(unsigned int)
+?Realloc@NLS_STR@@AAEHI@Z
+; private: long __thiscall BUFFER::ReallocStorage(unsigned int)
+?ReallocStorage@BUFFER@@AAEJI@Z
+; public: void __thiscall FMX::Refresh(void)
+?Refresh@FMX@@QAEXXZ
+; public: long __thiscall INTL_PROFILE::Refresh(void)
+?Refresh@INTL_PROFILE@@QAEJXZ
+; protected: void __thiscall DLIST::Register(class ITER_L *)
+?Register@DLIST@@IAEXPAVITER_L@@@Z
+; protected: void __thiscall SLIST::Register(class ITER_SL *)
+?Register@SLIST@@IAEXPAVITER_SL@@@Z
+; public: void __thiscall FMX::Reload(void)
+?Reload@FMX@@QAEXXZ
+; public: void * __thiscall DLIST::Remove(class ITER_DL &)
+?Remove@DLIST@@QAEPAXAAVITER_DL@@@Z
+; public: void * __thiscall DLIST::Remove(class RITER_DL &)
+?Remove@DLIST@@QAEPAXAAVRITER_DL@@@Z
+; public: void * __thiscall SLIST::Remove(class ITER_SL &)
+?Remove@SLIST@@QAEPAXAAVITER_SL@@@Z
+; public: class DIR_BLOCK * __thiscall SLIST_OF_DIR_BLOCK::Remove(class ITER_SL_DIR_BLOCK &)
+?Remove@SLIST_OF_DIR_BLOCK@@QAEPAVDIR_BLOCK@@AAVITER_SL_DIR_BLOCK@@@Z
+; public: class NLS_STR * __thiscall SLIST_OF_NLS_STR::Remove(class NLS_STR &)
+?Remove@SLIST_OF_NLS_STR@@QAEPAVNLS_STR@@AAV2@@Z
+; public: virtual void __thiscall OUTPUT_TO_AUX::Render(unsigned short const *)
+?Render@OUTPUT_TO_AUX@@UAEXPBG@Z
+; public: virtual void __thiscall OUTPUT_TO_AUX::Render(unsigned short const *,unsigned int)
+?Render@OUTPUT_TO_AUX@@UAEXPBGI@Z
+; private: virtual void __thiscall OUTPUT_TO_NUL::Render(unsigned short const *)
+?Render@OUTPUT_TO_NUL@@EAEXPBG@Z
+; private: virtual void __thiscall OUTPUT_TO_NUL::Render(unsigned short const *,unsigned int)
+?Render@OUTPUT_TO_NUL@@EAEXPBGI@Z
+; public: virtual void __thiscall OUTPUT_TO_STDERR::Render(unsigned short const *)
+?Render@OUTPUT_TO_STDERR@@UAEXPBG@Z
+; public: virtual void __thiscall OUTPUT_TO_STDERR::Render(unsigned short const *,unsigned int)
+?Render@OUTPUT_TO_STDERR@@UAEXPBGI@Z
+; public: virtual void __thiscall OUTPUT_TO_STDOUT::Render(unsigned short const *)
+?Render@OUTPUT_TO_STDOUT@@UAEXPBG@Z
+; public: virtual void __thiscall OUTPUT_TO_STDOUT::Render(unsigned short const *,unsigned int)
+?Render@OUTPUT_TO_STDOUT@@UAEXPBGI@Z
+; private: void __thiscall NLS_STR::ReplSubStr(class NLS_STR const &,class ISTR &,unsigned int)
+?ReplSubStr@NLS_STR@@AAEXABV1@AAVISTR@@I@Z
+; public: void __thiscall NLS_STR::ReplSubStr(class NLS_STR const &,class ISTR &)
+?ReplSubStr@NLS_STR@@QAEXABV1@AAVISTR@@@Z
+; public: void __thiscall NLS_STR::ReplSubStr(class NLS_STR const &,class ISTR &,class ISTR const &)
+?ReplSubStr@NLS_STR@@QAEXABV1@AAVISTR@@ABV2@@Z
+; protected: void __thiscall BASE::ReportError(long)
+?ReportError@BASE@@IAEXJ@Z
+; protected: void __thiscall FS_ENUM::ReportLastError(long)
+?ReportLastError@FS_ENUM@@IAEXJ@Z
+; public: void __thiscall DFSITER_TREE::Reset(void)
+?Reset@DFSITER_TREE@@QAEXXZ
+; public: void __thiscall ISTR::Reset(void)
+?Reset@ISTR@@QAEXXZ
+; public: void __thiscall ITER_DL::Reset(void)
+?Reset@ITER_DL@@QAEXXZ
+; public: void __thiscall ITER_SL::Reset(void)
+?Reset@ITER_SL@@QAEXXZ
+; public: int __thiscall NLS_STR::Reset(void)
+?Reset@NLS_STR@@QAEHXZ
+; public: void __thiscall RITER_DL::Reset(void)
+?Reset@RITER_DL@@QAEXXZ
+; protected: void __thiscall BASE::ResetError(void)
+?ResetError@BASE@@IAEXXZ
+; public: long __thiscall BITFIELD::Resize(unsigned int)
+?Resize@BITFIELD@@QAEJI@Z
+; public: long __thiscall BUFFER::Resize(unsigned int)
+?Resize@BUFFER@@QAEJI@Z
+; public: long __thiscall NLS_STR::RtlOemUpcase(void)
+?RtlOemUpcase@NLS_STR@@QAEJXZ
+; private: long __thiscall INTL_PROFILE::ScanLongDate(class NLS_STR *)const 
+?ScanLongDate@INTL_PROFILE@@ABEJPAVNLS_STR@@@Z
+; public: void __thiscall DL_NODE::Set(class DL_NODE *,class DL_NODE *,void *)
+?Set@DL_NODE@@QAEXPAV1@0PAX@Z
+; public: long __thiscall LOGON_HOURS_SETTING::Set(class LOGON_HOURS_SETTING const &)
+?Set@LOGON_HOURS_SETTING@@QAEJABV1@@Z
+; public: void __thiscall SL_NODE::Set(class SL_NODE *,void *)
+?Set@SL_NODE@@QAEXPAV1@PAX@Z
+; public: void __thiscall BITFIELD::SetAllBits(enum BITVALUES)
+?SetAllBits@BITFIELD@@QAEXW4BITVALUES@@@Z
+; public: long __thiscall HEAP_BASE::SetAllocCount(int)
+?SetAllocCount@HEAP_BASE@@QAEJH@Z
+; public: void __thiscall BITFIELD::SetBit(unsigned int,enum BITVALUES)
+?SetBit@BITFIELD@@QAEXIW4BITVALUES@@@Z
+; private: void __thiscall DFSITER_TREE::SetCurDepth(unsigned int)
+?SetCurDepth@DFSITER_TREE@@AAEXI@Z
+; public: static void __stdcall DBGSTREAM::SetCurrent(class DBGSTREAM *)
+?SetCurrent@DBGSTREAM@@SGXPAV1@@Z
+; protected: void __thiscall FS_ENUM::SetCurrentDirBlock(class DIR_BLOCK *)
+?SetCurrentDirBlock@FS_ENUM@@IAEXPAVDIR_BLOCK@@@Z
+; public: long __thiscall WIN_TIME::SetCurrentTime(void)
+?SetCurrentTime@WIN_TIME@@QAEJXZ
+; public: void __thiscall DIR_BLOCK::SetDoBreadthFirstDirs(int)
+?SetDoBreadthFirstDirs@DIR_BLOCK@@QAEXH@Z
+; public: void __thiscall DIR_BLOCK::SetFindFirstFlag(int)
+?SetFindFirstFlag@DIR_BLOCK@@QAEXH@Z
+; private: void __thiscall TREE::SetFirstSubtree(class TREE *)
+?SetFirstSubtree@TREE@@AAEXPAV1@@Z
+; public: long __thiscall LOGON_HOURS_SETTING::SetFromBits(unsigned char const *,unsigned int)
+?SetFromBits@LOGON_HOURS_SETTING@@QAEJPBEI@Z
+; public: long __thiscall WIN_TIME::SetGMT(int)
+?SetGMT@WIN_TIME@@QAEJH@Z
+; public: long __thiscall LOGON_HOURS_SETTING::SetHourInDay(int,unsigned int,unsigned int)
+?SetHourInDay@LOGON_HOURS_SETTING@@QAEJHII@Z
+; public: long __thiscall LOGON_HOURS_SETTING::SetHourInWeek(int,unsigned int)
+?SetHourInWeek@LOGON_HOURS_SETTING@@QAEJHI@Z
+; private: void __thiscall ISTR::SetIch(int)
+?SetIch@ISTR@@AAEXH@Z
+; protected: void __thiscall HEAP_BASE::SetItem(int,void *)
+?SetItem@HEAP_BASE@@IAEXHPAX@Z
+; protected: void __thiscall DLIST::SetIters(class DL_NODE *)
+?SetIters@DLIST@@IAEXPAVDL_NODE@@@Z
+; protected: void __thiscall SLIST::SetIters(class SL_NODE *,class SL_NODE *)
+?SetIters@SLIST@@IAEXPAVSL_NODE@@0@Z
+; protected: void __thiscall SLIST::SetIters(class SL_NODE *)
+?SetIters@SLIST@@IAEXPAVSL_NODE@@@Z
+; private: long __thiscall REG_KEY::SetKeyValueBinary(unsigned short const *,unsigned char const *,long,unsigned long,unsigned long)
+?SetKeyValueBinary@REG_KEY@@AAEJPBGPBEJKK@Z
+; private: long __thiscall REG_KEY::SetKeyValueLong(unsigned short const *,long,unsigned long)
+?SetKeyValueLong@REG_KEY@@AAEJPBGJK@Z
+; private: long __thiscall REG_KEY::SetKeyValueString(unsigned short const *,unsigned short const *,unsigned long,long,unsigned long)
+?SetKeyValueString@REG_KEY@@AAEJPBG0KJK@Z
+; private: void __thiscall TREE::SetLeft(class TREE *)
+?SetLeft@TREE@@AAEXPAV1@@Z
+; private: void __thiscall DFSITER_TREE::SetMaxDepth(unsigned int)
+?SetMaxDepth@DFSITER_TREE@@AAEXI@Z
+; private: void __thiscall DFSITER_TREE::SetNode(class TREE const *)
+?SetNode@DFSITER_TREE@@AAEXPBVTREE@@@Z
+; private: void __thiscall TREE::SetParent(class TREE *)
+?SetParent@TREE@@AAEXPAV1@@Z
+; public: void __thiscall TREE::SetProp(void * const)
+?SetProp@TREE@@QAEXQAX@Z
+; private: void __thiscall TREE::SetRight(class TREE *)
+?SetRight@TREE@@AAEXPAV1@@Z
+; public: void __thiscall DBGSTREAM::SetSink(class OUTPUTSINK *)
+?SetSink@DBGSTREAM@@QAEXPAVOUTPUTSINK@@@Z
+; private: void __thiscall DFSITER_TREE::SetStartNode(class TREE const *)
+?SetStartNode@DFSITER_TREE@@AAEXPBVTREE@@@Z
+; public: long __thiscall WIN_TIME::SetTime(unsigned long)
+?SetTime@WIN_TIME@@QAEJK@Z
+; public: long __thiscall WIN_TIME::SetTime(struct _FILETIME)
+?SetTime@WIN_TIME@@QAEJU_FILETIME@@@Z
+; public: long __thiscall WIN_TIME::SetTimeLocal(unsigned long)
+?SetTimeLocal@WIN_TIME@@QAEJK@Z
+; public: long __thiscall WIN_TIME::SetTimeLocal(struct _FILETIME)
+?SetTimeLocal@WIN_TIME@@QAEJU_FILETIME@@@Z
+; public: long __thiscall REG_KEY::SetValue(class REG_VALUE_INFO_STRUCT *)
+?SetValue@REG_KEY@@QAEJPAVREG_VALUE_INFO_STRUCT@@@Z
+; public: long __thiscall REG_KEY::SetValue(unsigned short const *,unsigned short const *,unsigned long,unsigned long const *,int)
+?SetValue@REG_KEY@@QAEJPBG0KPBKH@Z
+; public: long __thiscall REG_KEY::SetValue(unsigned short const *,unsigned long,unsigned long const *)
+?SetValue@REG_KEY@@QAEJPBGKPBK@Z
+; public: long __thiscall REG_KEY::SetValue(unsigned short const *,unsigned char const *,long,unsigned long const *)
+?SetValue@REG_KEY@@QAEJPBGPBEJPBK@Z
+; public: long __thiscall REG_KEY::SetValue(unsigned short const *,class NLS_STR const *,unsigned long const *,int)
+?SetValue@REG_KEY@@QAEJPBGPBVNLS_STR@@PBKH@Z
+; public: long __thiscall REG_KEY::SetValue(unsigned short const *,class STRLIST const *,unsigned long const *)
+?SetValue@REG_KEY@@QAEJPBGPBVSTRLIST@@PBK@Z
+; protected: int __thiscall FS_ENUM::ShouldThisFileBeIncluded(unsigned int)const 
+?ShouldThisFileBeIncluded@FS_ENUM@@IBEHI@Z
+; public: static long __stdcall UATOM_MANAGER::Terminate(void)
+?Terminate@UATOM_MANAGER@@SGJXZ
+; private: class UATOM * __thiscall UATOM_MANAGER::Tokenize(unsigned short const *,int)
+?Tokenize@UATOM_MANAGER@@AAEPAVUATOM@@PBGH@Z
+; public: void __thiscall BUFFER::Trim(void)
+?Trim@BUFFER@@QAEXXZ
+; public: void __thiscall HEAP_BASE::Trim(void)
+?Trim@HEAP_BASE@@QAEXXZ
+; void __stdcall UIAssertCommand(char const *)
+?UIAssertCommand@@YGXPBD@Z
+; void __stdcall UIAssertHlp(char const *,char const *,unsigned int)
+?UIAssertHlp@@YGXPBD0I@Z
+; void __stdcall UIAssertHlp(char const *,unsigned int)
+?UIAssertHlp@@YGXPBDI@Z
+; protected: void * __thiscall DLIST::Unlink(class DL_NODE *)
+?Unlink@DLIST@@IAEPAXPAVDL_NODE@@@Z
+; protected: void __thiscall TREE::Unlink(void)
+?Unlink@TREE@@IAEXXZ
+; public: void __thiscall UATOM_LINKAGE::Unlink(void)
+?Unlink@UATOM_LINKAGE@@QAEXXZ
+; private: void __thiscall NLS_STR::UpdateIstr(class ISTR *)const 
+?UpdateIstr@NLS_STR@@ABEXPAVISTR@@@Z
+; public: int __thiscall STRLIST::WriteToBuffer(unsigned short *,int,unsigned short *)
+?WriteToBuffer@STRLIST@@QAEHPAGH0@Z
+; public: void __thiscall DLIST::_DebugPrint(void)const 
+?_DebugPrint@DLIST@@QBEXXZ
+; public: void __thiscall SLIST::_DebugPrint(void)const 
+?_DebugPrint@SLIST@@QBEXXZ
+; public: void __thiscall TREE::_DebugPrint(void)const 
+?_DebugPrint@TREE@@QBEXXZ
+; public: int __thiscall NLS_STR::_IsOwnerAlloc(void)const 
+?_IsOwnerAlloc@NLS_STR@@QBEHXZ
+; public: unsigned int __thiscall NLS_STR::_QueryAllocSize(void)const 
+?_QueryAllocSize@NLS_STR@@QBEIXZ
+; public: unsigned short const * __thiscall NLS_STR::_QueryPch(void)const 
+?_QueryPch@NLS_STR@@QBEPBGXZ
+; public: unsigned int __thiscall NLS_STR::_QueryTextLength(void)const 
+?_QueryTextLength@NLS_STR@@QBEIXZ
+; protected: void __thiscall BASE::_ReportError(long)
+?_ReportError@BASE@@IAEXJ@Z
+; public: int __thiscall NLS_STR::_stricmp(class NLS_STR const &)const 
+?_stricmp@NLS_STR@@QBEHABV1@@Z
+; public: int __thiscall NLS_STR::_stricmp(class NLS_STR const &,class ISTR const &,class ISTR const &)const 
+?_stricmp@NLS_STR@@QBEHABV1@ABVISTR@@1@Z
+; public: int __thiscall NLS_STR::_stricmp(class NLS_STR const &,class ISTR const &)const 
+?_stricmp@NLS_STR@@QBEHABV1@ABVISTR@@@Z
+; public: int __thiscall NLS_STR::_strnicmp(class NLS_STR const &,class ISTR const &,class ISTR const &,class ISTR const &)const 
+?_strnicmp@NLS_STR@@QBEHABV1@ABVISTR@@11@Z
+; public: int __thiscall NLS_STR::_strnicmp(class NLS_STR const &,class ISTR const &,class ISTR const &)const 
+?_strnicmp@NLS_STR@@QBEHABV1@ABVISTR@@1@Z
+; public: int __thiscall NLS_STR::_strnicmp(class NLS_STR const &,class ISTR const &)const 
+?_strnicmp@NLS_STR@@QBEHABV1@ABVISTR@@@Z
+; public: class NLS_STR & __thiscall NLS_STR::_strupr(void)
+?_strupr@NLS_STR@@QAEAAV1@XZ
+; public: int __thiscall NLS_STR::atoi(class ISTR const &)const 
+?atoi@NLS_STR@@QBEHABVISTR@@@Z
+; public: int __thiscall NLS_STR::atoi(void)const 
+?atoi@NLS_STR@@QBEHXZ
+; public: long __thiscall NLS_STR::atol(class ISTR const &)const 
+?atol@NLS_STR@@QBEJABVISTR@@@Z
+; public: long __thiscall NLS_STR::atol(void)const 
+?atol@NLS_STR@@QBEJXZ
+; public: unsigned long __thiscall NLS_STR::atoul(class ISTR const &)const 
+?atoul@NLS_STR@@QBEKABVISTR@@@Z
+; public: unsigned long __thiscall NLS_STR::atoul(void)const 
+?atoul@NLS_STR@@QBEKXZ
+; public: class NLS_STR & __thiscall NLS_STR::strcat(class NLS_STR const &)
+?strcat@NLS_STR@@QAEAAV1@ABV1@@Z
+; public: int __thiscall NLS_STR::strchr(class ISTR *,unsigned short)const 
+?strchr@NLS_STR@@QBEHPAVISTR@@G@Z
+; public: int __thiscall NLS_STR::strchr(class ISTR *,unsigned short,class ISTR const &)const 
+?strchr@NLS_STR@@QBEHPAVISTR@@GABV2@@Z
+; public: int __thiscall NLS_STR::strcmp(class NLS_STR const &)const 
+?strcmp@NLS_STR@@QBEHABV1@@Z
+; public: int __thiscall NLS_STR::strcmp(class NLS_STR const &,class ISTR const &,class ISTR const &)const 
+?strcmp@NLS_STR@@QBEHABV1@ABVISTR@@1@Z
+; public: int __thiscall NLS_STR::strcmp(class NLS_STR const &,class ISTR const &)const 
+?strcmp@NLS_STR@@QBEHABV1@ABVISTR@@@Z
+; unsigned short * __stdcall strcpy(unsigned short *,class NLS_STR const &)
+?strcpy@@YGPAGPAGABVNLS_STR@@@Z
+; public: int __thiscall NLS_STR::strcspn(class ISTR *,class NLS_STR const &)const 
+?strcspn@NLS_STR@@QBEHPAVISTR@@ABV1@@Z
+; public: int __thiscall NLS_STR::strcspn(class ISTR *,class NLS_STR const &,class ISTR const &)const 
+?strcspn@NLS_STR@@QBEHPAVISTR@@ABV1@ABV2@@Z
+; public: unsigned int __thiscall NLS_STR::strlen(void)const 
+?strlen@NLS_STR@@QBEIXZ
+; public: int __thiscall NLS_STR::strncmp(class NLS_STR const &,class ISTR const &,class ISTR const &,class ISTR const &)const 
+?strncmp@NLS_STR@@QBEHABV1@ABVISTR@@11@Z
+; public: int __thiscall NLS_STR::strncmp(class NLS_STR const &,class ISTR const &,class ISTR const &)const 
+?strncmp@NLS_STR@@QBEHABV1@ABVISTR@@1@Z
+; public: int __thiscall NLS_STR::strncmp(class NLS_STR const &,class ISTR const &)const 
+?strncmp@NLS_STR@@QBEHABV1@ABVISTR@@@Z
+; public: int __thiscall NLS_STR::strrchr(class ISTR *,unsigned short)const 
+?strrchr@NLS_STR@@QBEHPAVISTR@@G@Z
+; public: int __thiscall NLS_STR::strrchr(class ISTR *,unsigned short,class ISTR const &)const 
+?strrchr@NLS_STR@@QBEHPAVISTR@@GABV2@@Z
+; public: int __thiscall NLS_STR::strspn(class ISTR *,class NLS_STR const &)const 
+?strspn@NLS_STR@@QBEHPAVISTR@@ABV1@@Z
+; public: int __thiscall NLS_STR::strspn(class ISTR *,class NLS_STR const &,class ISTR const &)const 
+?strspn@NLS_STR@@QBEHPAVISTR@@ABV1@ABV2@@Z
+; public: int __thiscall NLS_STR::strstr(class ISTR *,class NLS_STR const &)const 
+?strstr@NLS_STR@@QBEHPAVISTR@@ABV1@@Z
+; public: int __thiscall NLS_STR::strstr(class ISTR *,class NLS_STR const &,class ISTR const &)const 
+?strstr@NLS_STR@@QBEHPAVISTR@@ABV1@ABV2@@Z
+; public: virtual void * __thiscall ITER_DL::vNext(void)
+?vNext@ITER_DL@@UAEPAXXZ
+; public: virtual void * __thiscall RITER_DL::vNext(void)
+?vNext@RITER_DL@@UAEPAXXZ
+InitCompareParam
+NETUI_InitIsDBCS
+NETUI_IsDBCS
+NETUI_strcmp
+NETUI_stricmp
+NETUI_strncmp2
+NETUI_strncmp
+NETUI_strnicmp2
+NETUI_strnicmp
+QueryNocaseCompareParam
+QueryStdCompareParam
+QueryUserDefaultLCID
+UserPreferenceQuery
+UserPreferenceQueryBool
+UserPreferenceSet
+UserPreferenceSetBool
+UserProfileEnum
+UserProfileFree
+UserProfileInit
+UserProfileQuery
+UserProfileRead
+UserProfileSet
+UserProfileWrite
diff --git a/mingw-w64-crt/lib64/wnetui1.def b/mingw-w64-crt/lib64/wnetui1.def
index b32bf5c..0fc433a 100644
--- a/mingw-w64-crt/lib64/wnetui1.def
+++ b/mingw-w64-crt/lib64/wnetui1.def
@@ -1,3053 +1,3053 @@
-; 
-; Exports of file NETUI1.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETUI1.dll
-EXPORTS
-; public: __thiscall ADMIN_AUTHORITY::ADMIN_AUTHORITY(unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long,int)
-??0ADMIN_AUTHORITY@@QAE@PBGKKKKH@Z
-; public: __thiscall ALIAS_ENUM::ALIAS_ENUM(class SAM_DOMAIN &,unsigned int)
-??0ALIAS_ENUM@@QAE@AAVSAM_DOMAIN@@I@Z
-; public: __thiscall ALIAS_ENUM_ITER::ALIAS_ENUM_ITER(class ALIAS_ENUM &)
-??0ALIAS_ENUM_ITER@@QAE@AAVALIAS_ENUM@@@Z
-; public: __thiscall ALIAS_ENUM_OBJ::ALIAS_ENUM_OBJ(void)
-??0ALIAS_ENUM_OBJ@@QAE@XZ
-; public: __thiscall ALIAS_STR::ALIAS_STR(unsigned short const *)
-??0ALIAS_STR@@QAE@PBG@Z
-; public: __thiscall ALLOC_STR::ALLOC_STR(unsigned short *,unsigned int)
-??0ALLOC_STR@@QAE@PAGI@Z
-; public: __thiscall API_SESSION::API_SESSION(unsigned short const *,int)
-??0API_SESSION@@QAE@PBGH@Z
-; protected: __thiscall BASE::BASE(void)
-??0BASE@@IAE@XZ
-; public: __thiscall BROWSE_DOMAIN_ENUM::BROWSE_DOMAIN_ENUM(unsigned long,unsigned long *)
-??0BROWSE_DOMAIN_ENUM@@QAE@KPAK@Z
-; public: __thiscall BROWSE_DOMAIN_INFO::BROWSE_DOMAIN_INFO(unsigned short const *,unsigned long)
-??0BROWSE_DOMAIN_INFO@@QAE@PBGK@Z
-; public: __thiscall CHARDEVQ1_ENUM::CHARDEVQ1_ENUM(unsigned short const *,unsigned short const *)
-??0CHARDEVQ1_ENUM@@QAE@PBG0@Z
-; public: __thiscall CHARDEVQ1_ENUM_ITER::CHARDEVQ1_ENUM_ITER(class CHARDEVQ1_ENUM &)
-??0CHARDEVQ1_ENUM_ITER@@QAE@AAVCHARDEVQ1_ENUM@@@Z
-; public: __thiscall CHARDEVQ1_ENUM_OBJ::CHARDEVQ1_ENUM_OBJ(void)
-??0CHARDEVQ1_ENUM_OBJ@@QAE@XZ
-; protected: __thiscall CHARDEVQ_ENUM::CHARDEVQ_ENUM(unsigned short const *,unsigned short const *,unsigned int)
-??0CHARDEVQ_ENUM@@IAE@PBG0I@Z
-; protected: __thiscall COMPUTER::COMPUTER(unsigned short const *)
-??0COMPUTER@@IAE@PBG@Z
-; public: __thiscall CONN0_ENUM::CONN0_ENUM(unsigned short const *,unsigned short const *)
-??0CONN0_ENUM@@QAE@PBG0@Z
-; public: __thiscall CONN0_ENUM_ITER::CONN0_ENUM_ITER(class CONN0_ENUM &)
-??0CONN0_ENUM_ITER@@QAE@AAVCONN0_ENUM@@@Z
-; public: __thiscall CONN0_ENUM_OBJ::CONN0_ENUM_OBJ(void)
-??0CONN0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall CONN1_ENUM::CONN1_ENUM(unsigned short const *,unsigned short const *)
-??0CONN1_ENUM@@QAE@PBG0@Z
-; public: __thiscall CONN1_ENUM_ITER::CONN1_ENUM_ITER(class CONN1_ENUM &)
-??0CONN1_ENUM_ITER@@QAE@AAVCONN1_ENUM@@@Z
-; public: __thiscall CONN1_ENUM_OBJ::CONN1_ENUM_OBJ(void)
-??0CONN1_ENUM_OBJ@@QAE@XZ
-; protected: __thiscall CONN_ENUM::CONN_ENUM(unsigned short const *,unsigned short const *,unsigned int)
-??0CONN_ENUM@@IAE@PBG0I@Z
-; public: __thiscall CONTEXT_ENUM::CONTEXT_ENUM(unsigned long)
-??0CONTEXT_ENUM@@QAE@K@Z
-; public: __thiscall CONTEXT_ENUM_ITER::CONTEXT_ENUM_ITER(class CONTEXT_ENUM &)
-??0CONTEXT_ENUM_ITER@@QAE@AAVCONTEXT_ENUM@@@Z
-; public: __thiscall CONTEXT_ENUM_OBJ::CONTEXT_ENUM_OBJ(void)
-??0CONTEXT_ENUM_OBJ@@QAE@XZ
-; public: __thiscall DEVICE2::DEVICE2(unsigned short const *)
-??0DEVICE2@@QAE@PBG@Z
-; public: __thiscall DEVICE::DEVICE(unsigned short const *)
-??0DEVICE@@QAE@PBG@Z
-; public: __thiscall DOMAIN0_ENUM::DOMAIN0_ENUM(unsigned short const *)
-??0DOMAIN0_ENUM@@QAE@PBG@Z
-; public: __thiscall DOMAIN0_ENUM_ITER::DOMAIN0_ENUM_ITER(class DOMAIN0_ENUM &)
-??0DOMAIN0_ENUM_ITER@@QAE@AAVDOMAIN0_ENUM@@@Z
-; public: __thiscall DOMAIN0_ENUM_OBJ::DOMAIN0_ENUM_OBJ(void)
-??0DOMAIN0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall DOMAIN::DOMAIN(unsigned short const *,unsigned short const *,int)
-??0DOMAIN@@QAE@PBG0H@Z
-; public: __thiscall DOMAIN::DOMAIN(unsigned short const *,int)
-??0DOMAIN@@QAE@PBGH@Z
-; protected: __thiscall DOMAIN_ENUM::DOMAIN_ENUM(unsigned short const *,unsigned int)
-??0DOMAIN_ENUM@@IAE@PBGI@Z
-; public: __thiscall DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const *,unsigned short const *,int)
-??0DOMAIN_WITH_DC_CACHE@@QAE@PBG0H@Z
-; public: __thiscall DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const *,int)
-??0DOMAIN_WITH_DC_CACHE@@QAE@PBGH@Z
-; public: __thiscall ENUM_CALLER::ENUM_CALLER(void)
-??0ENUM_CALLER@@QAE@XZ
-; public: __thiscall ENUM_CALLER_LM_OBJ::ENUM_CALLER_LM_OBJ(class LOCATION const &)
-??0ENUM_CALLER_LM_OBJ@@QAE@ABVLOCATION@@@Z
-; protected: __thiscall ENUM_OBJ_BASE::ENUM_OBJ_BASE(void)
-??0ENUM_OBJ_BASE@@IAE@XZ
-; public: __thiscall FILE2_ENUM::FILE2_ENUM(unsigned short const *,unsigned short const *,unsigned short const *)
-??0FILE2_ENUM@@QAE@PBG00@Z
-; public: __thiscall FILE2_ENUM_ITER::FILE2_ENUM_ITER(class FILE2_ENUM &)
-??0FILE2_ENUM_ITER@@QAE@AAVFILE2_ENUM@@@Z
-; public: __thiscall FILE2_ENUM_OBJ::FILE2_ENUM_OBJ(void)
-??0FILE2_ENUM_OBJ@@QAE@XZ
-; public: __thiscall FILE3_ENUM::FILE3_ENUM(unsigned short const *,unsigned short const *,unsigned short const *)
-??0FILE3_ENUM@@QAE@PBG00@Z
-; public: __thiscall FILE3_ENUM_ITER::FILE3_ENUM_ITER(class FILE3_ENUM &)
-??0FILE3_ENUM_ITER@@QAE@AAVFILE3_ENUM@@@Z
-; public: __thiscall FILE3_ENUM_OBJ::FILE3_ENUM_OBJ(void)
-??0FILE3_ENUM_OBJ@@QAE@XZ
-; protected: __thiscall FILE_ENUM::FILE_ENUM(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int)
-??0FILE_ENUM@@IAE@PBG00I@Z
-; public: __thiscall GROUP0_ENUM::GROUP0_ENUM(class LOCATION const &,unsigned short const *)
-??0GROUP0_ENUM@@QAE@ABVLOCATION@@PBG@Z
-; public: __thiscall GROUP0_ENUM::GROUP0_ENUM(unsigned short const *,unsigned short const *)
-??0GROUP0_ENUM@@QAE@PBG0@Z
-; public: __thiscall GROUP0_ENUM::GROUP0_ENUM(enum LOCATION_TYPE,unsigned short const *)
-??0GROUP0_ENUM@@QAE@W4LOCATION_TYPE@@PBG@Z
-; public: __thiscall GROUP0_ENUM_ITER::GROUP0_ENUM_ITER(class GROUP0_ENUM &)
-??0GROUP0_ENUM_ITER@@QAE@AAVGROUP0_ENUM@@@Z
-; public: __thiscall GROUP0_ENUM_OBJ::GROUP0_ENUM_OBJ(void)
-??0GROUP0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall GROUP1_ENUM::GROUP1_ENUM(class LOCATION const &)
-??0GROUP1_ENUM@@QAE@ABVLOCATION@@@Z
-; public: __thiscall GROUP1_ENUM::GROUP1_ENUM(unsigned short const *)
-??0GROUP1_ENUM@@QAE@PBG@Z
-; public: __thiscall GROUP1_ENUM::GROUP1_ENUM(enum LOCATION_TYPE)
-??0GROUP1_ENUM@@QAE@W4LOCATION_TYPE@@@Z
-; public: __thiscall GROUP1_ENUM_ITER::GROUP1_ENUM_ITER(class GROUP1_ENUM &)
-??0GROUP1_ENUM_ITER@@QAE@AAVGROUP1_ENUM@@@Z
-; public: __thiscall GROUP1_ENUM_OBJ::GROUP1_ENUM_OBJ(void)
-??0GROUP1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall GROUP::GROUP(unsigned short const *,unsigned short const *)
-??0GROUP@@QAE@PBG0@Z
-; public: __thiscall GROUP::GROUP(unsigned short const *,class LOCATION const &)
-??0GROUP@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall GROUP::GROUP(unsigned short const *,enum LOCATION_TYPE)
-??0GROUP@@QAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall GROUP_0::GROUP_0(unsigned short const *,unsigned short const *)
-??0GROUP_0@@QAE@PBG0@Z
-; public: __thiscall GROUP_0::GROUP_0(unsigned short const *,class LOCATION const &)
-??0GROUP_0@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall GROUP_0::GROUP_0(unsigned short const *,enum LOCATION_TYPE)
-??0GROUP_0@@QAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall GROUP_1::GROUP_1(unsigned short const *,unsigned short const *)
-??0GROUP_1@@QAE@PBG0@Z
-; public: __thiscall GROUP_1::GROUP_1(unsigned short const *,class LOCATION const &)
-??0GROUP_1@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall GROUP_1::GROUP_1(unsigned short const *,enum LOCATION_TYPE)
-??0GROUP_1@@QAE@PBGW4LOCATION_TYPE@@@Z
-; protected: __thiscall GROUP_ENUM::GROUP_ENUM(class LOCATION const &,unsigned int,unsigned short const *)
-??0GROUP_ENUM@@IAE@ABVLOCATION@@IPBG@Z
-; protected: __thiscall GROUP_ENUM::GROUP_ENUM(unsigned short const *,unsigned int,unsigned short const *)
-??0GROUP_ENUM@@IAE@PBGI0@Z
-; protected: __thiscall GROUP_ENUM::GROUP_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const *)
-??0GROUP_ENUM@@IAE@W4LOCATION_TYPE@@IPBG@Z
-; public: __thiscall GROUP_MEMB::GROUP_MEMB(class LOCATION const &,unsigned short const *)
-??0GROUP_MEMB@@QAE@ABVLOCATION@@PBG@Z
-; public: __thiscall ITER_DEVICE::ITER_DEVICE(enum LMO_DEVICE,enum LMO_DEV_USAGE)
-??0ITER_DEVICE@@QAE@W4LMO_DEVICE@@W4LMO_DEV_USAGE@@@Z
-; public: __thiscall ITER_SL_BROWSE_DOMAIN_INFO::ITER_SL_BROWSE_DOMAIN_INFO(class SLIST &)
-??0ITER_SL_BROWSE_DOMAIN_INFO@@QAE@AAVSLIST@@@Z
-; public: __thiscall ITER_SL_LM_RESUME_BUFFER::ITER_SL_LM_RESUME_BUFFER(class SLIST &)
-??0ITER_SL_LM_RESUME_BUFFER@@QAE@AAVSLIST@@@Z
-; public: __thiscall LM_CONFIG::LM_CONFIG(unsigned short const *,unsigned short const *,unsigned short const *)
-??0LM_CONFIG@@QAE@PBG00@Z
-; protected: __thiscall LM_ENUM::LM_ENUM(unsigned int)
-??0LM_ENUM@@IAE@I@Z
-; protected: __thiscall LM_ENUM_ITER::LM_ENUM_ITER(class LM_ENUM &)
-??0LM_ENUM_ITER@@IAE@AAVLM_ENUM@@@Z
-; protected: __thiscall LM_FILE::LM_FILE(unsigned short const *,unsigned long)
-??0LM_FILE@@IAE@PBGK@Z
-; public: __thiscall LM_FILE_2::LM_FILE_2(unsigned short const *,unsigned long)
-??0LM_FILE_2@@QAE@PBGK@Z
-; public: __thiscall LM_FILE_3::LM_FILE_3(unsigned short const *,unsigned long)
-??0LM_FILE_3@@QAE@PBGK@Z
-; public: __thiscall LM_MESSAGE::LM_MESSAGE(class LOCATION &)
-??0LM_MESSAGE@@QAE@AAVLOCATION@@@Z
-; public: __thiscall LM_MESSAGE::LM_MESSAGE(unsigned short const *)
-??0LM_MESSAGE@@QAE@PBG@Z
-; public: __thiscall LM_MESSAGE::LM_MESSAGE(enum LOCATION_TYPE)
-??0LM_MESSAGE@@QAE@W4LOCATION_TYPE@@@Z
-; public: __thiscall LM_OBJ::LM_OBJ(void)
-??0LM_OBJ@@QAE@XZ
-; protected: __thiscall LM_OBJ_BASE::LM_OBJ_BASE(int)
-??0LM_OBJ_BASE@@IAE@H@Z
-; public: __thiscall LM_RESUME_BUFFER::LM_RESUME_BUFFER(class LM_RESUME_ENUM *,unsigned int,unsigned char *)
-??0LM_RESUME_BUFFER@@QAE@PAVLM_RESUME_ENUM@@IPAE@Z
-; protected: __thiscall LM_RESUME_ENUM::LM_RESUME_ENUM(unsigned int,int)
-??0LM_RESUME_ENUM@@IAE@IH@Z
-; protected: __thiscall LM_RESUME_ENUM_ITER::LM_RESUME_ENUM_ITER(class LM_RESUME_ENUM &)
-??0LM_RESUME_ENUM_ITER@@IAE@AAVLM_RESUME_ENUM@@@Z
-; public: __thiscall LM_SERVICE::LM_SERVICE(unsigned short const *,unsigned short const *)
-??0LM_SERVICE@@QAE@PBG0@Z
-; protected: __thiscall LM_SESSION::LM_SESSION(unsigned short const *,unsigned short const *)
-??0LM_SESSION@@IAE@PBG0@Z
-; protected: __thiscall LM_SESSION::LM_SESSION(unsigned short const *,class LOCATION const &)
-??0LM_SESSION@@IAE@PBGABVLOCATION@@@Z
-; protected: __thiscall LM_SESSION::LM_SESSION(unsigned short const *,enum LOCATION_TYPE)
-??0LM_SESSION@@IAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall LM_SESSION_0::LM_SESSION_0(unsigned short const *,unsigned short const *)
-??0LM_SESSION_0@@QAE@PBG0@Z
-; public: __thiscall LM_SESSION_0::LM_SESSION_0(unsigned short const *,class LOCATION const &)
-??0LM_SESSION_0@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall LM_SESSION_0::LM_SESSION_0(unsigned short const *,enum LOCATION_TYPE)
-??0LM_SESSION_0@@QAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall LM_SESSION_10::LM_SESSION_10(unsigned short const *,unsigned short const *)
-??0LM_SESSION_10@@QAE@PBG0@Z
-; public: __thiscall LM_SESSION_10::LM_SESSION_10(unsigned short const *,class LOCATION const &)
-??0LM_SESSION_10@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall LM_SESSION_10::LM_SESSION_10(unsigned short const *,enum LOCATION_TYPE)
-??0LM_SESSION_10@@QAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall LM_SESSION_1::LM_SESSION_1(unsigned short const *,unsigned short const *)
-??0LM_SESSION_1@@QAE@PBG0@Z
-; public: __thiscall LM_SESSION_1::LM_SESSION_1(unsigned short const *,class LOCATION const &)
-??0LM_SESSION_1@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall LM_SESSION_1::LM_SESSION_1(unsigned short const *,enum LOCATION_TYPE)
-??0LM_SESSION_1@@QAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall LM_SESSION_2::LM_SESSION_2(unsigned short const *,unsigned short const *)
-??0LM_SESSION_2@@QAE@PBG0@Z
-; public: __thiscall LM_SESSION_2::LM_SESSION_2(unsigned short const *,class LOCATION const &)
-??0LM_SESSION_2@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall LM_SESSION_2::LM_SESSION_2(unsigned short const *,enum LOCATION_TYPE)
-??0LM_SESSION_2@@QAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall LM_SRVRES::LM_SRVRES(void)
-??0LM_SRVRES@@QAE@XZ
-; public: __thiscall LOCAL_USER::LOCAL_USER(unsigned short const *,unsigned short const *)
-??0LOCAL_USER@@QAE@PBG0@Z
-; public: __thiscall LOCAL_USER::LOCAL_USER(enum LOCATION_TYPE)
-??0LOCAL_USER@@QAE@W4LOCATION_TYPE@@@Z
-; public: __thiscall LOCATION::LOCATION(class LOCATION const &)
-??0LOCATION@@QAE@ABV0@@Z
-; public: __thiscall LOCATION::LOCATION(unsigned short const *,int)
-??0LOCATION@@QAE@PBGH@Z
-; public: __thiscall LOCATION::LOCATION(enum LOCATION_TYPE,int)
-??0LOCATION@@QAE@W4LOCATION_TYPE@@H@Z
-; protected: __thiscall LOC_LM_ENUM::LOC_LM_ENUM(class LOCATION const &,unsigned int)
-??0LOC_LM_ENUM@@IAE@ABVLOCATION@@I@Z
-; protected: __thiscall LOC_LM_ENUM::LOC_LM_ENUM(unsigned short const *,unsigned int)
-??0LOC_LM_ENUM@@IAE@PBGI@Z
-; protected: __thiscall LOC_LM_ENUM::LOC_LM_ENUM(enum LOCATION_TYPE,unsigned int)
-??0LOC_LM_ENUM@@IAE@W4LOCATION_TYPE@@I@Z
-; public: __thiscall LOC_LM_OBJ::LOC_LM_OBJ(class LOCATION const &,int)
-??0LOC_LM_OBJ@@QAE@ABVLOCATION@@H@Z
-; public: __thiscall LOC_LM_OBJ::LOC_LM_OBJ(unsigned short const *,int)
-??0LOC_LM_OBJ@@QAE@PBGH@Z
-; public: __thiscall LOC_LM_OBJ::LOC_LM_OBJ(enum LOCATION_TYPE,int)
-??0LOC_LM_OBJ@@QAE@W4LOCATION_TYPE@@H@Z
-; protected: __thiscall LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(class LOCATION const &,unsigned int,int)
-??0LOC_LM_RESUME_ENUM@@IAE@ABVLOCATION@@IH@Z
-; protected: __thiscall LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(unsigned short const *,unsigned int,int)
-??0LOC_LM_RESUME_ENUM@@IAE@PBGIH@Z
-; protected: __thiscall LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(enum LOCATION_TYPE,unsigned int,int)
-??0LOC_LM_RESUME_ENUM@@IAE@W4LOCATION_TYPE@@IH@Z
-; public: __thiscall LSA_ACCOUNT::LSA_ACCOUNT(class LSA_POLICY *,void *,unsigned long,unsigned short const *,void *)
-??0LSA_ACCOUNT@@QAE@PAVLSA_POLICY@@PAXKPBG1@Z
-; public: __thiscall LSA_ACCOUNTS_ENUM::LSA_ACCOUNTS_ENUM(class LSA_POLICY const *)
-??0LSA_ACCOUNTS_ENUM@@QAE@PBVLSA_POLICY@@@Z
-; public: __thiscall LSA_ACCOUNTS_ENUM_ITER::LSA_ACCOUNTS_ENUM_ITER(class LSA_ACCOUNTS_ENUM &)
-??0LSA_ACCOUNTS_ENUM_ITER@@QAE@AAVLSA_ACCOUNTS_ENUM@@@Z
-; public: __thiscall LSA_ACCOUNTS_ENUM_OBJ::LSA_ACCOUNTS_ENUM_OBJ(void)
-??0LSA_ACCOUNTS_ENUM_OBJ@@QAE@XZ
-; public: __thiscall LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(class OS_PRIVILEGE_SET *)
-??0LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QAE@PAVOS_PRIVILEGE_SET@@@Z
-; public: __thiscall LSA_ACCT_DOM_INFO_MEM::LSA_ACCT_DOM_INFO_MEM(int)
-??0LSA_ACCT_DOM_INFO_MEM@@QAE@H@Z
-; public: __thiscall LSA_AUDIT_EVENT_INFO_MEM::LSA_AUDIT_EVENT_INFO_MEM(int)
-??0LSA_AUDIT_EVENT_INFO_MEM@@QAE@H@Z
-; public: __thiscall LSA_DOMAIN_INFO::LSA_DOMAIN_INFO(class NLS_STR const &,class LSA_DOMAIN_INFO const *,class LSA_DOMAIN_INFO const *)
-??0LSA_DOMAIN_INFO@@QAE@ABVNLS_STR@@PBV1@1@Z
-; protected: __thiscall LSA_ENUM::LSA_ENUM(class LSA_POLICY const *)
-??0LSA_ENUM@@IAE@PBVLSA_POLICY@@@Z
-; protected: __thiscall LSA_MEMORY::LSA_MEMORY(int)
-??0LSA_MEMORY@@IAE@H@Z
-; protected: __thiscall LSA_OBJECT::LSA_OBJECT(void)
-??0LSA_OBJECT@@IAE@XZ
-; public: __thiscall LSA_POLICY::LSA_POLICY(unsigned short const *,unsigned long)
-??0LSA_POLICY@@QAE@PBGK@Z
-; public: __thiscall LSA_PRIMARY_DOM_INFO_MEM::LSA_PRIMARY_DOM_INFO_MEM(int)
-??0LSA_PRIMARY_DOM_INFO_MEM@@QAE@H@Z
-; public: __thiscall LSA_PRIVILEGES_ENUM::LSA_PRIVILEGES_ENUM(class LSA_POLICY const *)
-??0LSA_PRIVILEGES_ENUM@@QAE@PBVLSA_POLICY@@@Z
-; public: __thiscall LSA_PRIVILEGES_ENUM_ITER::LSA_PRIVILEGES_ENUM_ITER(class LSA_PRIVILEGES_ENUM &)
-??0LSA_PRIVILEGES_ENUM_ITER@@QAE@AAVLSA_PRIVILEGES_ENUM@@@Z
-; public: __thiscall LSA_PRIVILEGES_ENUM_OBJ::LSA_PRIVILEGES_ENUM_OBJ(void)
-??0LSA_PRIVILEGES_ENUM_OBJ@@QAE@XZ
-; public: __thiscall LSA_REF_DOMAIN_MEM::LSA_REF_DOMAIN_MEM(int)
-??0LSA_REF_DOMAIN_MEM@@QAE@H@Z
-; public: __thiscall LSA_SECRET::LSA_SECRET(class NLS_STR const &)
-??0LSA_SECRET@@QAE@ABVNLS_STR@@@Z
-; public: __thiscall LSA_SERVER_ROLE_INFO_MEM::LSA_SERVER_ROLE_INFO_MEM(int,int)
-??0LSA_SERVER_ROLE_INFO_MEM@@QAE@HH@Z
-; public: __thiscall LSA_TRANSLATED_NAME_MEM::LSA_TRANSLATED_NAME_MEM(int)
-??0LSA_TRANSLATED_NAME_MEM@@QAE@H@Z
-; public: __thiscall LSA_TRANSLATED_SID_MEM::LSA_TRANSLATED_SID_MEM(int)
-??0LSA_TRANSLATED_SID_MEM@@QAE@H@Z
-; public: __thiscall LSA_TRUSTED_DC_LIST::LSA_TRUSTED_DC_LIST(class NLS_STR const &,unsigned short const *)
-??0LSA_TRUSTED_DC_LIST@@QAE@ABVNLS_STR@@PBG@Z
-; public: __thiscall LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const &,struct _LSA_TRUST_INFORMATION const &,unsigned long)
-??0LSA_TRUSTED_DOMAIN@@QAE@ABVLSA_POLICY@@ABU_LSA_TRUST_INFORMATION@@K@Z
-; public: __thiscall LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const &,class NLS_STR const &,void * const,unsigned long)
-??0LSA_TRUSTED_DOMAIN@@QAE@ABVLSA_POLICY@@ABVNLS_STR@@QAXK@Z
-; public: __thiscall LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const &,void * const,unsigned long)
-??0LSA_TRUSTED_DOMAIN@@QAE@ABVLSA_POLICY@@QAXK@Z
-; public: __thiscall LSA_TRUST_INFO_MEM::LSA_TRUST_INFO_MEM(int)
-??0LSA_TRUST_INFO_MEM@@QAE@H@Z
-; public: __thiscall MEMBERSHIP_LM_OBJ::MEMBERSHIP_LM_OBJ(class LOCATION const &,unsigned int)
-??0MEMBERSHIP_LM_OBJ@@QAE@ABVLOCATION@@I@Z
-; protected: __thiscall NET_ACCESS::NET_ACCESS(unsigned short const *,unsigned short const *)
-??0NET_ACCESS@@IAE@PBG0@Z
-; public: __thiscall NET_ACCESS_1::NET_ACCESS_1(unsigned short const *,unsigned short const *)
-??0NET_ACCESS_1@@QAE@PBG0@Z
-; public: __thiscall NET_NAME::NET_NAME(unsigned short const *,enum NETNAME_TYPE)
-??0NET_NAME@@QAE@PBGW4NETNAME_TYPE@@@Z
-; public: __thiscall NEW_LM_OBJ::NEW_LM_OBJ(int)
-??0NEW_LM_OBJ@@QAE@H@Z
-; protected: __thiscall NT_ACCOUNT_ENUM::NT_ACCOUNT_ENUM(class SAM_DOMAIN const *,enum _DOMAIN_DISPLAY_INFORMATION,int)
-??0NT_ACCOUNT_ENUM@@IAE@PBVSAM_DOMAIN@@W4_DOMAIN_DISPLAY_INFORMATION@@H@Z
-; public: __thiscall NT_GROUP_ENUM::NT_GROUP_ENUM(class SAM_DOMAIN const *)
-??0NT_GROUP_ENUM@@QAE@PBVSAM_DOMAIN@@@Z
-; public: __thiscall NT_GROUP_ENUM_ITER::NT_GROUP_ENUM_ITER(class NT_GROUP_ENUM &)
-??0NT_GROUP_ENUM_ITER@@QAE@AAVNT_GROUP_ENUM@@@Z
-; public: __thiscall NT_GROUP_ENUM_OBJ::NT_GROUP_ENUM_OBJ(void)
-??0NT_GROUP_ENUM_OBJ@@QAE@XZ
-; public: __thiscall NT_MACHINE_ENUM::NT_MACHINE_ENUM(class SAM_DOMAIN const *)
-??0NT_MACHINE_ENUM@@QAE@PBVSAM_DOMAIN@@@Z
-; public: __thiscall NT_MACHINE_ENUM_ITER::NT_MACHINE_ENUM_ITER(class NT_MACHINE_ENUM &)
-??0NT_MACHINE_ENUM_ITER@@QAE@AAVNT_MACHINE_ENUM@@@Z
-; public: __thiscall NT_MACHINE_ENUM_OBJ::NT_MACHINE_ENUM_OBJ(void)
-??0NT_MACHINE_ENUM_OBJ@@QAE@XZ
-; protected: __thiscall NT_MEMORY::NT_MEMORY(void)
-??0NT_MEMORY@@IAE@XZ
-; public: __thiscall NT_USER_ENUM::NT_USER_ENUM(class SAM_DOMAIN const *)
-??0NT_USER_ENUM@@QAE@PBVSAM_DOMAIN@@@Z
-; public: __thiscall NT_USER_ENUM_ITER::NT_USER_ENUM_ITER(class NT_USER_ENUM &)
-??0NT_USER_ENUM_ITER@@QAE@AAVNT_USER_ENUM@@@Z
-; public: __thiscall NT_USER_ENUM_OBJ::NT_USER_ENUM_OBJ(void)
-??0NT_USER_ENUM_OBJ@@QAE@XZ
-; public: __thiscall OS_ACE::OS_ACE(void *)
-??0OS_ACE@@QAE@PAX@Z
-; public: __thiscall OS_ACL::OS_ACL(struct _ACL *,int,class OS_SECURITY_DESCRIPTOR *)
-??0OS_ACL@@QAE@PAU_ACL@@HPAVOS_SECURITY_DESCRIPTOR@@@Z
-; public: __thiscall OS_ACL_SUBJECT_ITER::OS_ACL_SUBJECT_ITER(class OS_ACL const *,struct _GENERIC_MAPPING *,struct _GENERIC_MAPPING *,int,int)
-??0OS_ACL_SUBJECT_ITER@@QAE@PBVOS_ACL@@PAU_GENERIC_MAPPING@@1HH@Z
-; public: __thiscall OS_DACL_SUBJECT_ITER::OS_DACL_SUBJECT_ITER(class OS_ACL *,struct _GENERIC_MAPPING *,struct _GENERIC_MAPPING *,int,int)
-??0OS_DACL_SUBJECT_ITER@@QAE@PAVOS_ACL@@PAU_GENERIC_MAPPING@@1HH@Z
-; public: __thiscall OS_LUID::OS_LUID(struct _LUID)
-??0OS_LUID@@QAE@U_LUID@@@Z
-; public: __thiscall OS_LUID::OS_LUID(void)
-??0OS_LUID@@QAE@XZ
-; public: __thiscall OS_LUID_AND_ATTRIBUTES::OS_LUID_AND_ATTRIBUTES(void)
-??0OS_LUID_AND_ATTRIBUTES@@QAE@XZ
-; protected: __thiscall OS_OBJECT_WITH_DATA::OS_OBJECT_WITH_DATA(unsigned int)
-??0OS_OBJECT_WITH_DATA@@IAE@I@Z
-; public: __thiscall OS_PRIVILEGE_SET::OS_PRIVILEGE_SET(struct _PRIVILEGE_SET *)
-??0OS_PRIVILEGE_SET@@QAE@PAU_PRIVILEGE_SET@@@Z
-; public: __thiscall OS_SACL_SUBJECT_ITER::OS_SACL_SUBJECT_ITER(class OS_ACL *,struct _GENERIC_MAPPING *,struct _GENERIC_MAPPING *,int,int)
-??0OS_SACL_SUBJECT_ITER@@QAE@PAVOS_ACL@@PAU_GENERIC_MAPPING@@1HH@Z
-; public: __thiscall OS_SECURITY_DESCRIPTOR::OS_SECURITY_DESCRIPTOR(void *,int)
-??0OS_SECURITY_DESCRIPTOR@@QAE@PAXH@Z
-; public: __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::OS_SECURITY_DESCRIPTOR_CONTROL(unsigned short *)
-??0OS_SECURITY_DESCRIPTOR_CONTROL@@QAE@PAG@Z
-; public: __thiscall OS_SID::OS_SID(void *,int,class OS_SECURITY_DESCRIPTOR *)
-??0OS_SID@@QAE@PAXHPAVOS_SECURITY_DESCRIPTOR@@@Z
-; public: __thiscall OS_SID::OS_SID(void *,unsigned long,class OS_SECURITY_DESCRIPTOR *)
-??0OS_SID@@QAE@PAXKPAVOS_SECURITY_DESCRIPTOR@@@Z
-; public: __thiscall SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const &,unsigned long,unsigned long)
-??0SAM_ALIAS@@QAE@ABVSAM_DOMAIN@@KK@Z
-; public: __thiscall SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const &,unsigned short const *,unsigned long)
-??0SAM_ALIAS@@QAE@ABVSAM_DOMAIN@@PBGK@Z
-; public: __thiscall SAM_DOMAIN::SAM_DOMAIN(class SAM_SERVER const &,void *,unsigned long)
-??0SAM_DOMAIN@@QAE@ABVSAM_SERVER@@PAXK@Z
-; public: __thiscall SAM_GROUP::SAM_GROUP(class SAM_DOMAIN const &,unsigned long,unsigned long)
-??0SAM_GROUP@@QAE@ABVSAM_DOMAIN@@KK@Z
-; protected: __thiscall SAM_MEMORY::SAM_MEMORY(int)
-??0SAM_MEMORY@@IAE@H@Z
-; protected: __thiscall SAM_OBJECT::SAM_OBJECT(void)
-??0SAM_OBJECT@@IAE@XZ
-; public: __thiscall SAM_PSWD_DOM_INFO_MEM::SAM_PSWD_DOM_INFO_MEM(int)
-??0SAM_PSWD_DOM_INFO_MEM@@QAE@H@Z
-; public: __thiscall SAM_RID_ENUMERATION_MEM::SAM_RID_ENUMERATION_MEM(int)
-??0SAM_RID_ENUMERATION_MEM@@QAE@H@Z
-; public: __thiscall SAM_RID_MEM::SAM_RID_MEM(int)
-??0SAM_RID_MEM@@QAE@H@Z
-; public: __thiscall SAM_SERVER::SAM_SERVER(unsigned short const *,unsigned long)
-??0SAM_SERVER@@QAE@PBGK@Z
-; public: __thiscall SAM_SID_MEM::SAM_SID_MEM(int)
-??0SAM_SID_MEM@@QAE@H@Z
-; public: __thiscall SAM_SID_NAME_USE_MEM::SAM_SID_NAME_USE_MEM(int)
-??0SAM_SID_NAME_USE_MEM@@QAE@H@Z
-; public: __thiscall SAM_USER::SAM_USER(class SAM_DOMAIN const &,unsigned long,unsigned long)
-??0SAM_USER@@QAE@ABVSAM_DOMAIN@@KK@Z
-; public: __thiscall SAM_USER_ENUM::SAM_USER_ENUM(class SAM_DOMAIN const *,unsigned long,int)
-??0SAM_USER_ENUM@@QAE@PBVSAM_DOMAIN@@KH@Z
-; public: __thiscall SAM_USER_ENUM_ITER::SAM_USER_ENUM_ITER(class SAM_USER_ENUM &)
-??0SAM_USER_ENUM_ITER@@QAE@AAVSAM_USER_ENUM@@@Z
-; public: __thiscall SAM_USER_ENUM_OBJ::SAM_USER_ENUM_OBJ(void)
-??0SAM_USER_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SC_MANAGER::SC_MANAGER(struct SC_HANDLE__ *)
-??0SC_MANAGER@@QAE@PAUSC_HANDLE__@@@Z
-; public: __thiscall SC_MANAGER::SC_MANAGER(unsigned short const *,unsigned int,enum SERVICE_DATABASE)
-??0SC_MANAGER@@QAE@PBGIW4SERVICE_DATABASE@@@Z
-; public: __thiscall SC_SERVICE::SC_SERVICE(class SC_MANAGER const &,unsigned short const *,unsigned short const *,unsigned int,unsigned int,unsigned int,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned int)
-??0SC_SERVICE@@QAE@ABVSC_MANAGER@@PBG1III11111I@Z
-; public: __thiscall SC_SERVICE::SC_SERVICE(class SC_MANAGER const &,unsigned short const *,unsigned int)
-??0SC_SERVICE@@QAE@ABVSC_MANAGER@@PBGI@Z
-; public: __thiscall SERVER1_ENUM::SERVER1_ENUM(unsigned short const *,unsigned short const *,unsigned long)
-??0SERVER1_ENUM@@QAE@PBG0K@Z
-; public: __thiscall SERVER1_ENUM_ITER::SERVER1_ENUM_ITER(class SERVER1_ENUM &)
-??0SERVER1_ENUM_ITER@@QAE@AAVSERVER1_ENUM@@@Z
-; public: __thiscall SERVER1_ENUM_OBJ::SERVER1_ENUM_OBJ(void)
-??0SERVER1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SERVER_0::SERVER_0(unsigned short const *)
-??0SERVER_0@@QAE@PBG@Z
-; public: __thiscall SERVER_1::SERVER_1(unsigned short const *)
-??0SERVER_1@@QAE@PBG@Z
-; public: __thiscall SERVER_2::SERVER_2(unsigned short const *)
-??0SERVER_2@@QAE@PBG@Z
-; protected: __thiscall SERVER_ENUM::SERVER_ENUM(unsigned short const *,unsigned int,unsigned short const *,unsigned long)
-??0SERVER_ENUM@@IAE@PBGI0K@Z
-; public: __thiscall SERVICE_CONTROL::SERVICE_CONTROL(void)
-??0SERVICE_CONTROL@@QAE@XZ
-; public: __thiscall SERVICE_ENUM::SERVICE_ENUM(unsigned short const *,int,unsigned int,unsigned short const *)
-??0SERVICE_ENUM@@QAE@PBGHI0@Z
-; public: __thiscall SERVICE_ENUM_ITER::SERVICE_ENUM_ITER(class SERVICE_ENUM &)
-??0SERVICE_ENUM_ITER@@QAE@AAVSERVICE_ENUM@@@Z
-; public: __thiscall SERVICE_ENUM_OBJ::SERVICE_ENUM_OBJ(void)
-??0SERVICE_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SESSION0_ENUM::SESSION0_ENUM(unsigned short const *)
-??0SESSION0_ENUM@@QAE@PBG@Z
-; public: __thiscall SESSION0_ENUM_ITER::SESSION0_ENUM_ITER(class SESSION0_ENUM &)
-??0SESSION0_ENUM_ITER@@QAE@AAVSESSION0_ENUM@@@Z
-; public: __thiscall SESSION0_ENUM_OBJ::SESSION0_ENUM_OBJ(void)
-??0SESSION0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SESSION1_ENUM::SESSION1_ENUM(unsigned short const *)
-??0SESSION1_ENUM@@QAE@PBG@Z
-; public: __thiscall SESSION1_ENUM_ITER::SESSION1_ENUM_ITER(class SESSION1_ENUM &)
-??0SESSION1_ENUM_ITER@@QAE@AAVSESSION1_ENUM@@@Z
-; public: __thiscall SESSION1_ENUM_OBJ::SESSION1_ENUM_OBJ(void)
-??0SESSION1_ENUM_OBJ@@QAE@XZ
-; protected: __thiscall SESSION_ENUM::SESSION_ENUM(unsigned short const *,unsigned int)
-??0SESSION_ENUM@@IAE@PBGI@Z
-; public: __thiscall SHARE1_ENUM::SHARE1_ENUM(unsigned short const *,int)
-??0SHARE1_ENUM@@QAE@PBGH@Z
-; public: __thiscall SHARE1_ENUM_ITER::SHARE1_ENUM_ITER(class SHARE1_ENUM &)
-??0SHARE1_ENUM_ITER@@QAE@AAVSHARE1_ENUM@@@Z
-; public: __thiscall SHARE1_ENUM_OBJ::SHARE1_ENUM_OBJ(void)
-??0SHARE1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SHARE2_ENUM::SHARE2_ENUM(unsigned short const *,int)
-??0SHARE2_ENUM@@QAE@PBGH@Z
-; public: __thiscall SHARE2_ENUM_ITER::SHARE2_ENUM_ITER(class SHARE2_ENUM &)
-??0SHARE2_ENUM_ITER@@QAE@AAVSHARE2_ENUM@@@Z
-; public: __thiscall SHARE2_ENUM_OBJ::SHARE2_ENUM_OBJ(void)
-??0SHARE2_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SHARE::SHARE(unsigned short const *,unsigned short const *,int)
-??0SHARE@@QAE@PBG0H@Z
-; public: __thiscall SHARE_1::SHARE_1(unsigned short const *,unsigned short const *,int)
-??0SHARE_1@@QAE@PBG0H@Z
-; public: __thiscall SHARE_2::SHARE_2(unsigned short const *,unsigned short const *,int)
-??0SHARE_2@@QAE@PBG0H@Z
-; protected: __thiscall SHARE_ENUM::SHARE_ENUM(unsigned short const *,unsigned int,int)
-??0SHARE_ENUM@@IAE@PBGIH@Z
-; public: __thiscall SLIST_OF_ADMIN_AUTHORITY::SLIST_OF_ADMIN_AUTHORITY(int)
-??0SLIST_OF_ADMIN_AUTHORITY@@QAE@H@Z
-; public: __thiscall SLIST_OF_API_SESSION::SLIST_OF_API_SESSION(int)
-??0SLIST_OF_API_SESSION@@QAE@H@Z
-; public: __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::SLIST_OF_BROWSE_DOMAIN_INFO(int)
-??0SLIST_OF_BROWSE_DOMAIN_INFO@@QAE@H@Z
-; public: __thiscall SLIST_OF_LM_RESUME_BUFFER::SLIST_OF_LM_RESUME_BUFFER(int)
-??0SLIST_OF_LM_RESUME_BUFFER@@QAE@H@Z
-; public: __thiscall TIME_OF_DAY::TIME_OF_DAY(class LOCATION &)
-??0TIME_OF_DAY@@QAE@AAVLOCATION@@@Z
-; public: __thiscall TIME_OF_DAY::TIME_OF_DAY(unsigned short const *)
-??0TIME_OF_DAY@@QAE@PBG@Z
-; public: __thiscall TIME_OF_DAY::TIME_OF_DAY(enum LOCATION_TYPE)
-??0TIME_OF_DAY@@QAE@W4LOCATION_TYPE@@@Z
-; public: __thiscall TRIPLE_SERVER_ENUM::TRIPLE_SERVER_ENUM(unsigned short const *,unsigned short const *,int,int,int,int)
-??0TRIPLE_SERVER_ENUM@@QAE@PBG0HHHH@Z
-; public: __thiscall TRIPLE_SERVER_ENUM_ITER::TRIPLE_SERVER_ENUM_ITER(class TRIPLE_SERVER_ENUM &)
-??0TRIPLE_SERVER_ENUM_ITER@@QAE@AAVTRIPLE_SERVER_ENUM@@@Z
-; public: __thiscall TRIPLE_SERVER_ENUM_OBJ::TRIPLE_SERVER_ENUM_OBJ(void)
-??0TRIPLE_SERVER_ENUM_OBJ@@QAE@XZ
-; public: __thiscall TRUSTED_DOMAIN_ENUM::TRUSTED_DOMAIN_ENUM(class LSA_POLICY const *,int)
-??0TRUSTED_DOMAIN_ENUM@@QAE@PBVLSA_POLICY@@H@Z
-; public: __thiscall TRUSTED_DOMAIN_ENUM_ITER::TRUSTED_DOMAIN_ENUM_ITER(class TRUSTED_DOMAIN_ENUM &)
-??0TRUSTED_DOMAIN_ENUM_ITER@@QAE@AAVTRUSTED_DOMAIN_ENUM@@@Z
-; public: __thiscall TRUSTED_DOMAIN_ENUM_OBJ::TRUSTED_DOMAIN_ENUM_OBJ(void)
-??0TRUSTED_DOMAIN_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USE1_ENUM::USE1_ENUM(unsigned short const *)
-??0USE1_ENUM@@QAE@PBG@Z
-; public: __thiscall USE1_ENUM_ITER::USE1_ENUM_ITER(class USE1_ENUM &)
-??0USE1_ENUM_ITER@@QAE@AAVUSE1_ENUM@@@Z
-; public: __thiscall USE1_ENUM_OBJ::USE1_ENUM_OBJ(void)
-??0USE1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER0_ENUM::USER0_ENUM(class LOCATION const &,unsigned short const *,int)
-??0USER0_ENUM@@QAE@ABVLOCATION@@PBGH@Z
-; public: __thiscall USER0_ENUM::USER0_ENUM(unsigned short const *,unsigned short const *,int)
-??0USER0_ENUM@@QAE@PBG0H@Z
-; public: __thiscall USER0_ENUM::USER0_ENUM(enum LOCATION_TYPE,unsigned short const *,int)
-??0USER0_ENUM@@QAE@W4LOCATION_TYPE@@PBGH@Z
-; public: __thiscall USER0_ENUM_ITER::USER0_ENUM_ITER(class USER0_ENUM &)
-??0USER0_ENUM_ITER@@QAE@AAVUSER0_ENUM@@@Z
-; public: __thiscall USER0_ENUM_OBJ::USER0_ENUM_OBJ(void)
-??0USER0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER10_ENUM::USER10_ENUM(class LOCATION const &,int)
-??0USER10_ENUM@@QAE@ABVLOCATION@@H@Z
-; public: __thiscall USER10_ENUM::USER10_ENUM(unsigned short const *,int)
-??0USER10_ENUM@@QAE@PBGH@Z
-; public: __thiscall USER10_ENUM::USER10_ENUM(enum LOCATION_TYPE,int)
-??0USER10_ENUM@@QAE@W4LOCATION_TYPE@@H@Z
-; public: __thiscall USER10_ENUM_ITER::USER10_ENUM_ITER(class USER10_ENUM &)
-??0USER10_ENUM_ITER@@QAE@AAVUSER10_ENUM@@@Z
-; public: __thiscall USER10_ENUM_OBJ::USER10_ENUM_OBJ(void)
-??0USER10_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER1_ENUM::USER1_ENUM(class LOCATION const &,int)
-??0USER1_ENUM@@QAE@ABVLOCATION@@H@Z
-; public: __thiscall USER1_ENUM::USER1_ENUM(unsigned short const *,int)
-??0USER1_ENUM@@QAE@PBGH@Z
-; public: __thiscall USER1_ENUM::USER1_ENUM(enum LOCATION_TYPE,int)
-??0USER1_ENUM@@QAE@W4LOCATION_TYPE@@H@Z
-; public: __thiscall USER1_ENUM_ITER::USER1_ENUM_ITER(class USER1_ENUM &)
-??0USER1_ENUM_ITER@@QAE@AAVUSER1_ENUM@@@Z
-; public: __thiscall USER1_ENUM_OBJ::USER1_ENUM_OBJ(void)
-??0USER1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER2_ENUM::USER2_ENUM(class LOCATION const &,int)
-??0USER2_ENUM@@QAE@ABVLOCATION@@H@Z
-; public: __thiscall USER2_ENUM::USER2_ENUM(unsigned short const *,int)
-??0USER2_ENUM@@QAE@PBGH@Z
-; public: __thiscall USER2_ENUM::USER2_ENUM(enum LOCATION_TYPE,int)
-??0USER2_ENUM@@QAE@W4LOCATION_TYPE@@H@Z
-; public: __thiscall USER2_ENUM_ITER::USER2_ENUM_ITER(class USER2_ENUM &)
-??0USER2_ENUM_ITER@@QAE@AAVUSER2_ENUM@@@Z
-; public: __thiscall USER2_ENUM_OBJ::USER2_ENUM_OBJ(void)
-??0USER2_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER::USER(unsigned short const *,unsigned short const *)
-??0USER@@QAE@PBG0@Z
-; public: __thiscall USER::USER(unsigned short const *,class LOCATION const &)
-??0USER@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall USER::USER(unsigned short const *,enum LOCATION_TYPE)
-??0USER@@QAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall USER_11::USER_11(unsigned short const *,unsigned short const *)
-??0USER_11@@QAE@PBG0@Z
-; public: __thiscall USER_11::USER_11(unsigned short const *,class LOCATION const &)
-??0USER_11@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall USER_11::USER_11(unsigned short const *,enum LOCATION_TYPE)
-??0USER_11@@QAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall USER_2::USER_2(unsigned short const *,unsigned short const *)
-??0USER_2@@QAE@PBG0@Z
-; public: __thiscall USER_2::USER_2(unsigned short const *,class LOCATION const &)
-??0USER_2@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall USER_2::USER_2(unsigned short const *,enum LOCATION_TYPE)
-??0USER_2@@QAE@PBGW4LOCATION_TYPE@@@Z
-; public: __thiscall USER_3::USER_3(unsigned short const *,unsigned short const *)
-??0USER_3@@QAE@PBG0@Z
-; public: __thiscall USER_3::USER_3(unsigned short const *,class LOCATION const &)
-??0USER_3@@QAE@PBGABVLOCATION@@@Z
-; public: __thiscall USER_3::USER_3(unsigned short const *,enum LOCATION_TYPE)
-??0USER_3@@QAE@PBGW4LOCATION_TYPE@@@Z
-; protected: __thiscall USER_ENUM::USER_ENUM(class LOCATION const &,unsigned int,unsigned short const *,int)
-??0USER_ENUM@@IAE@ABVLOCATION@@IPBGH@Z
-; protected: __thiscall USER_ENUM::USER_ENUM(unsigned short const *,unsigned int,unsigned short const *,int)
-??0USER_ENUM@@IAE@PBGI0H@Z
-; protected: __thiscall USER_ENUM::USER_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const *,int)
-??0USER_ENUM@@IAE@W4LOCATION_TYPE@@IPBGH@Z
-; public: __thiscall USER_MEMB::USER_MEMB(class LOCATION const &,unsigned short const *)
-??0USER_MEMB@@QAE@ABVLOCATION@@PBG@Z
-; public: __thiscall USER_MODALS::USER_MODALS(unsigned short const *)
-??0USER_MODALS@@QAE@PBG@Z
-; public: __thiscall USER_MODALS_3::USER_MODALS_3(unsigned short const *)
-??0USER_MODALS_3@@QAE@PBG@Z
-; protected: __thiscall USE_ENUM::USE_ENUM(unsigned short const *,unsigned int)
-??0USE_ENUM@@IAE@PBGI@Z
-; public: __thiscall WKSTA_10::WKSTA_10(unsigned short const *)
-??0WKSTA_10@@QAE@PBG@Z
-; public: __thiscall WKSTA_1::WKSTA_1(unsigned short const *)
-??0WKSTA_1@@QAE@PBG@Z
-; public: __thiscall WKSTA_USER_1::WKSTA_USER_1(void)
-??0WKSTA_USER_1@@QAE@XZ
-; public: __thiscall ADMIN_AUTHORITY::~ADMIN_AUTHORITY(void)
-??1ADMIN_AUTHORITY@@QAE@XZ
-; public: __thiscall ALIAS_ENUM::~ALIAS_ENUM(void)
-??1ALIAS_ENUM@@QAE@XZ
-; public: __thiscall ALIAS_ENUM_OBJ::~ALIAS_ENUM_OBJ(void)
-??1ALIAS_ENUM_OBJ@@QAE@XZ
-; public: __thiscall ALIAS_STR::~ALIAS_STR(void)
-??1ALIAS_STR@@QAE@XZ
-; public: __thiscall ALLOC_STR::~ALLOC_STR(void)
-??1ALLOC_STR@@QAE@XZ
-; public: __thiscall API_SESSION::~API_SESSION(void)
-??1API_SESSION@@QAE@XZ
-; public: __thiscall BROWSE_DOMAIN_ENUM::~BROWSE_DOMAIN_ENUM(void)
-??1BROWSE_DOMAIN_ENUM@@QAE@XZ
-; public: __thiscall BROWSE_DOMAIN_INFO::~BROWSE_DOMAIN_INFO(void)
-??1BROWSE_DOMAIN_INFO@@QAE@XZ
-; public: __thiscall CHARDEVQ1_ENUM_OBJ::~CHARDEVQ1_ENUM_OBJ(void)
-??1CHARDEVQ1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall CHARDEVQ_ENUM::~CHARDEVQ_ENUM(void)
-??1CHARDEVQ_ENUM@@QAE@XZ
-; protected: __thiscall COMPUTER::~COMPUTER(void)
-??1COMPUTER@@IAE@XZ
-; public: __thiscall CONN0_ENUM_OBJ::~CONN0_ENUM_OBJ(void)
-??1CONN0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall CONN1_ENUM_OBJ::~CONN1_ENUM_OBJ(void)
-??1CONN1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall CONN_ENUM::~CONN_ENUM(void)
-??1CONN_ENUM@@QAE@XZ
-; public: __thiscall CONTEXT_ENUM_OBJ::~CONTEXT_ENUM_OBJ(void)
-??1CONTEXT_ENUM_OBJ@@QAE@XZ
-; public: __thiscall DEVICE::~DEVICE(void)
-??1DEVICE@@QAE@XZ
-; public: __thiscall DOMAIN0_ENUM::~DOMAIN0_ENUM(void)
-??1DOMAIN0_ENUM@@QAE@XZ
-; public: __thiscall DOMAIN0_ENUM_ITER::~DOMAIN0_ENUM_ITER(void)
-??1DOMAIN0_ENUM_ITER@@QAE@XZ
-; public: __thiscall DOMAIN0_ENUM_OBJ::~DOMAIN0_ENUM_OBJ(void)
-??1DOMAIN0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall DOMAIN::~DOMAIN(void)
-??1DOMAIN@@QAE@XZ
-; public: __thiscall DOMAIN_ENUM::~DOMAIN_ENUM(void)
-??1DOMAIN_ENUM@@QAE@XZ
-; public: __thiscall DOMAIN_WITH_DC_CACHE::~DOMAIN_WITH_DC_CACHE(void)
-??1DOMAIN_WITH_DC_CACHE@@QAE@XZ
-; public: __thiscall ENUM_CALLER_LM_OBJ::~ENUM_CALLER_LM_OBJ(void)
-??1ENUM_CALLER_LM_OBJ@@QAE@XZ
-; protected: __thiscall ENUM_OBJ_BASE::~ENUM_OBJ_BASE(void)
-??1ENUM_OBJ_BASE@@IAE@XZ
-; public: __thiscall FILE2_ENUM_OBJ::~FILE2_ENUM_OBJ(void)
-??1FILE2_ENUM_OBJ@@QAE@XZ
-; public: __thiscall FILE3_ENUM::~FILE3_ENUM(void)
-??1FILE3_ENUM@@QAE@XZ
-; public: __thiscall FILE3_ENUM_ITER::~FILE3_ENUM_ITER(void)
-??1FILE3_ENUM_ITER@@QAE@XZ
-; public: __thiscall FILE3_ENUM_OBJ::~FILE3_ENUM_OBJ(void)
-??1FILE3_ENUM_OBJ@@QAE@XZ
-; protected: __thiscall FILE_ENUM::~FILE_ENUM(void)
-??1FILE_ENUM@@IAE@XZ
-; public: __thiscall GROUP0_ENUM::~GROUP0_ENUM(void)
-??1GROUP0_ENUM@@QAE@XZ
-; public: __thiscall GROUP0_ENUM_ITER::~GROUP0_ENUM_ITER(void)
-??1GROUP0_ENUM_ITER@@QAE@XZ
-; public: __thiscall GROUP0_ENUM_OBJ::~GROUP0_ENUM_OBJ(void)
-??1GROUP0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall GROUP1_ENUM_OBJ::~GROUP1_ENUM_OBJ(void)
-??1GROUP1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall GROUP::~GROUP(void)
-??1GROUP@@QAE@XZ
-; public: __thiscall GROUP_0::~GROUP_0(void)
-??1GROUP_0@@QAE@XZ
-; public: __thiscall GROUP_1::~GROUP_1(void)
-??1GROUP_1@@QAE@XZ
-; public: __thiscall GROUP_ENUM::~GROUP_ENUM(void)
-??1GROUP_ENUM@@QAE@XZ
-; public: __thiscall GROUP_MEMB::~GROUP_MEMB(void)
-??1GROUP_MEMB@@QAE@XZ
-; public: __thiscall ITER_DEVICE::~ITER_DEVICE(void)
-??1ITER_DEVICE@@QAE@XZ
-; public: __thiscall ITER_SL_BROWSE_DOMAIN_INFO::~ITER_SL_BROWSE_DOMAIN_INFO(void)
-??1ITER_SL_BROWSE_DOMAIN_INFO@@QAE@XZ
-; public: __thiscall ITER_SL_LM_RESUME_BUFFER::~ITER_SL_LM_RESUME_BUFFER(void)
-??1ITER_SL_LM_RESUME_BUFFER@@QAE@XZ
-; public: __thiscall LM_CONFIG::~LM_CONFIG(void)
-??1LM_CONFIG@@QAE@XZ
-; public: __thiscall LM_ENUM::~LM_ENUM(void)
-??1LM_ENUM@@QAE@XZ
-; protected: __thiscall LM_ENUM_ITER::~LM_ENUM_ITER(void)
-??1LM_ENUM_ITER@@IAE@XZ
-; protected: __thiscall LM_FILE::~LM_FILE(void)
-??1LM_FILE@@IAE@XZ
-; public: __thiscall LM_FILE_2::~LM_FILE_2(void)
-??1LM_FILE_2@@QAE@XZ
-; public: __thiscall LM_RESUME_BUFFER::~LM_RESUME_BUFFER(void)
-??1LM_RESUME_BUFFER@@QAE@XZ
-; public: __thiscall LM_RESUME_ENUM::~LM_RESUME_ENUM(void)
-??1LM_RESUME_ENUM@@QAE@XZ
-; protected: __thiscall LM_RESUME_ENUM_ITER::~LM_RESUME_ENUM_ITER(void)
-??1LM_RESUME_ENUM_ITER@@IAE@XZ
-; public: __thiscall LM_SERVICE::~LM_SERVICE(void)
-??1LM_SERVICE@@QAE@XZ
-; public: __thiscall LM_SESSION::~LM_SESSION(void)
-??1LM_SESSION@@QAE@XZ
-; public: __thiscall LM_SESSION_0::~LM_SESSION_0(void)
-??1LM_SESSION_0@@QAE@XZ
-; public: __thiscall LM_SESSION_10::~LM_SESSION_10(void)
-??1LM_SESSION_10@@QAE@XZ
-; public: __thiscall LM_SESSION_1::~LM_SESSION_1(void)
-??1LM_SESSION_1@@QAE@XZ
-; public: __thiscall LM_SRVRES::~LM_SRVRES(void)
-??1LM_SRVRES@@QAE@XZ
-; public: __thiscall LOCAL_USER::~LOCAL_USER(void)
-??1LOCAL_USER@@QAE@XZ
-; public: __thiscall LOCATION::~LOCATION(void)
-??1LOCATION@@QAE@XZ
-; public: __thiscall LOC_LM_ENUM::~LOC_LM_ENUM(void)
-??1LOC_LM_ENUM@@QAE@XZ
-; public: __thiscall LOC_LM_OBJ::~LOC_LM_OBJ(void)
-??1LOC_LM_OBJ@@QAE@XZ
-; public: __thiscall LOC_LM_RESUME_ENUM::~LOC_LM_RESUME_ENUM(void)
-??1LOC_LM_RESUME_ENUM@@QAE@XZ
-; public: __thiscall LSA_ACCOUNT::~LSA_ACCOUNT(void)
-??1LSA_ACCOUNT@@QAE@XZ
-; public: __thiscall LSA_ACCOUNTS_ENUM_OBJ::~LSA_ACCOUNTS_ENUM_OBJ(void)
-??1LSA_ACCOUNTS_ENUM_OBJ@@QAE@XZ
-; public: __thiscall LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::~LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(void)
-??1LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QAE@XZ
-; public: __thiscall LSA_ACCT_DOM_INFO_MEM::~LSA_ACCT_DOM_INFO_MEM(void)
-??1LSA_ACCT_DOM_INFO_MEM@@QAE@XZ
-; public: __thiscall LSA_AUDIT_EVENT_INFO_MEM::~LSA_AUDIT_EVENT_INFO_MEM(void)
-??1LSA_AUDIT_EVENT_INFO_MEM@@QAE@XZ
-; public: __thiscall LSA_DOMAIN_INFO::~LSA_DOMAIN_INFO(void)
-??1LSA_DOMAIN_INFO@@QAE@XZ
-; public: __thiscall LSA_ENUM::~LSA_ENUM(void)
-??1LSA_ENUM@@QAE@XZ
-; protected: __thiscall LSA_MEMORY::~LSA_MEMORY(void)
-??1LSA_MEMORY@@IAE@XZ
-; protected: __thiscall LSA_OBJECT::~LSA_OBJECT(void)
-??1LSA_OBJECT@@IAE@XZ
-; public: __thiscall LSA_POLICY::~LSA_POLICY(void)
-??1LSA_POLICY@@QAE@XZ
-; public: __thiscall LSA_PRIMARY_DOM_INFO_MEM::~LSA_PRIMARY_DOM_INFO_MEM(void)
-??1LSA_PRIMARY_DOM_INFO_MEM@@QAE@XZ
-; public: __thiscall LSA_PRIVILEGES_ENUM_OBJ::~LSA_PRIVILEGES_ENUM_OBJ(void)
-??1LSA_PRIVILEGES_ENUM_OBJ@@QAE@XZ
-; public: __thiscall LSA_REF_DOMAIN_MEM::~LSA_REF_DOMAIN_MEM(void)
-??1LSA_REF_DOMAIN_MEM@@QAE@XZ
-; public: __thiscall LSA_SECRET::~LSA_SECRET(void)
-??1LSA_SECRET@@QAE@XZ
-; public: __thiscall LSA_SERVER_ROLE_INFO_MEM::~LSA_SERVER_ROLE_INFO_MEM(void)
-??1LSA_SERVER_ROLE_INFO_MEM@@QAE@XZ
-; public: __thiscall LSA_TRANSLATED_NAME_MEM::~LSA_TRANSLATED_NAME_MEM(void)
-??1LSA_TRANSLATED_NAME_MEM@@QAE@XZ
-; public: __thiscall LSA_TRANSLATED_SID_MEM::~LSA_TRANSLATED_SID_MEM(void)
-??1LSA_TRANSLATED_SID_MEM@@QAE@XZ
-; public: __thiscall LSA_TRUSTED_DC_LIST::~LSA_TRUSTED_DC_LIST(void)
-??1LSA_TRUSTED_DC_LIST@@QAE@XZ
-; public: __thiscall LSA_TRUSTED_DOMAIN::~LSA_TRUSTED_DOMAIN(void)
-??1LSA_TRUSTED_DOMAIN@@QAE@XZ
-; public: __thiscall LSA_TRUST_INFO_MEM::~LSA_TRUST_INFO_MEM(void)
-??1LSA_TRUST_INFO_MEM@@QAE@XZ
-; public: __thiscall MEMBERSHIP_LM_OBJ::~MEMBERSHIP_LM_OBJ(void)
-??1MEMBERSHIP_LM_OBJ@@QAE@XZ
-; protected: __thiscall NET_ACCESS::~NET_ACCESS(void)
-??1NET_ACCESS@@IAE@XZ
-; public: __thiscall NET_ACCESS_1::~NET_ACCESS_1(void)
-??1NET_ACCESS_1@@QAE@XZ
-; public: __thiscall NET_NAME::~NET_NAME(void)
-??1NET_NAME@@QAE@XZ
-; public: __thiscall NEW_LM_OBJ::~NEW_LM_OBJ(void)
-??1NEW_LM_OBJ@@QAE@XZ
-; protected: __thiscall NT_ACCOUNT_ENUM::~NT_ACCOUNT_ENUM(void)
-??1NT_ACCOUNT_ENUM@@IAE@XZ
-; public: __thiscall NT_GROUP_ENUM::~NT_GROUP_ENUM(void)
-??1NT_GROUP_ENUM@@QAE@XZ
-; public: __thiscall NT_GROUP_ENUM_OBJ::~NT_GROUP_ENUM_OBJ(void)
-??1NT_GROUP_ENUM_OBJ@@QAE@XZ
-; public: __thiscall NT_MACHINE_ENUM::~NT_MACHINE_ENUM(void)
-??1NT_MACHINE_ENUM@@QAE@XZ
-; public: __thiscall NT_MACHINE_ENUM_ITER::~NT_MACHINE_ENUM_ITER(void)
-??1NT_MACHINE_ENUM_ITER@@QAE@XZ
-; public: __thiscall NT_MACHINE_ENUM_OBJ::~NT_MACHINE_ENUM_OBJ(void)
-??1NT_MACHINE_ENUM_OBJ@@QAE@XZ
-; protected: __thiscall NT_MEMORY::~NT_MEMORY(void)
-??1NT_MEMORY@@IAE@XZ
-; public: __thiscall NT_USER_ENUM::~NT_USER_ENUM(void)
-??1NT_USER_ENUM@@QAE@XZ
-; public: __thiscall NT_USER_ENUM_OBJ::~NT_USER_ENUM_OBJ(void)
-??1NT_USER_ENUM_OBJ@@QAE@XZ
-; public: __thiscall OS_ACE::~OS_ACE(void)
-??1OS_ACE@@QAE@XZ
-; public: __thiscall OS_ACL::~OS_ACL(void)
-??1OS_ACL@@QAE@XZ
-; public: __thiscall OS_ACL_SUBJECT_ITER::~OS_ACL_SUBJECT_ITER(void)
-??1OS_ACL_SUBJECT_ITER@@QAE@XZ
-; public: __thiscall OS_DACL_SUBJECT_ITER::~OS_DACL_SUBJECT_ITER(void)
-??1OS_DACL_SUBJECT_ITER@@QAE@XZ
-; protected: __thiscall OS_OBJECT_WITH_DATA::~OS_OBJECT_WITH_DATA(void)
-??1OS_OBJECT_WITH_DATA@@IAE@XZ
-; public: __thiscall OS_PRIVILEGE_SET::~OS_PRIVILEGE_SET(void)
-??1OS_PRIVILEGE_SET@@QAE@XZ
-; public: __thiscall OS_SACL_SUBJECT_ITER::~OS_SACL_SUBJECT_ITER(void)
-??1OS_SACL_SUBJECT_ITER@@QAE@XZ
-; public: __thiscall OS_SECURITY_DESCRIPTOR::~OS_SECURITY_DESCRIPTOR(void)
-??1OS_SECURITY_DESCRIPTOR@@QAE@XZ
-; public: __thiscall OS_SID::~OS_SID(void)
-??1OS_SID@@QAE@XZ
-; public: __thiscall REG_VALUE_INFO_STRUCT::~REG_VALUE_INFO_STRUCT(void)
-??1REG_VALUE_INFO_STRUCT@@QAE@XZ
-; public: __thiscall SAM_ALIAS::~SAM_ALIAS(void)
-??1SAM_ALIAS@@QAE@XZ
-; public: __thiscall SAM_DOMAIN::~SAM_DOMAIN(void)
-??1SAM_DOMAIN@@QAE@XZ
-; public: __thiscall SAM_GROUP::~SAM_GROUP(void)
-??1SAM_GROUP@@QAE@XZ
-; public: __thiscall SAM_MEMORY::~SAM_MEMORY(void)
-??1SAM_MEMORY@@QAE@XZ
-; protected: __thiscall SAM_OBJECT::~SAM_OBJECT(void)
-??1SAM_OBJECT@@IAE@XZ
-; public: __thiscall SAM_PSWD_DOM_INFO_MEM::~SAM_PSWD_DOM_INFO_MEM(void)
-??1SAM_PSWD_DOM_INFO_MEM@@QAE@XZ
-; public: __thiscall SAM_RID_ENUMERATION_MEM::~SAM_RID_ENUMERATION_MEM(void)
-??1SAM_RID_ENUMERATION_MEM@@QAE@XZ
-; public: __thiscall SAM_RID_MEM::~SAM_RID_MEM(void)
-??1SAM_RID_MEM@@QAE@XZ
-; public: __thiscall SAM_SERVER::~SAM_SERVER(void)
-??1SAM_SERVER@@QAE@XZ
-; public: __thiscall SAM_SID_MEM::~SAM_SID_MEM(void)
-??1SAM_SID_MEM@@QAE@XZ
-; public: __thiscall SAM_SID_NAME_USE_MEM::~SAM_SID_NAME_USE_MEM(void)
-??1SAM_SID_NAME_USE_MEM@@QAE@XZ
-; public: __thiscall SAM_USER::~SAM_USER(void)
-??1SAM_USER@@QAE@XZ
-; public: __thiscall SAM_USER_ENUM::~SAM_USER_ENUM(void)
-??1SAM_USER_ENUM@@QAE@XZ
-; public: __thiscall SAM_USER_ENUM_ITER::~SAM_USER_ENUM_ITER(void)
-??1SAM_USER_ENUM_ITER@@QAE@XZ
-; public: __thiscall SAM_USER_ENUM_OBJ::~SAM_USER_ENUM_OBJ(void)
-??1SAM_USER_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SC_MANAGER::~SC_MANAGER(void)
-??1SC_MANAGER@@QAE@XZ
-; public: __thiscall SC_SERVICE::~SC_SERVICE(void)
-??1SC_SERVICE@@QAE@XZ
-; public: __thiscall SERVER1_ENUM::~SERVER1_ENUM(void)
-??1SERVER1_ENUM@@QAE@XZ
-; public: __thiscall SERVER1_ENUM_ITER::~SERVER1_ENUM_ITER(void)
-??1SERVER1_ENUM_ITER@@QAE@XZ
-; public: __thiscall SERVER1_ENUM_OBJ::~SERVER1_ENUM_OBJ(void)
-??1SERVER1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SERVER_0::~SERVER_0(void)
-??1SERVER_0@@QAE@XZ
-; public: __thiscall SERVER_1::~SERVER_1(void)
-??1SERVER_1@@QAE@XZ
-; public: __thiscall SERVER_2::~SERVER_2(void)
-??1SERVER_2@@QAE@XZ
-; public: __thiscall SERVER_ENUM::~SERVER_ENUM(void)
-??1SERVER_ENUM@@QAE@XZ
-; public: __thiscall SERVICE_CONTROL::~SERVICE_CONTROL(void)
-??1SERVICE_CONTROL@@QAE@XZ
-; public: __thiscall SERVICE_ENUM::~SERVICE_ENUM(void)
-??1SERVICE_ENUM@@QAE@XZ
-; public: __thiscall SERVICE_ENUM_OBJ::~SERVICE_ENUM_OBJ(void)
-??1SERVICE_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SESSION0_ENUM::~SESSION0_ENUM(void)
-??1SESSION0_ENUM@@QAE@XZ
-; public: __thiscall SESSION0_ENUM_ITER::~SESSION0_ENUM_ITER(void)
-??1SESSION0_ENUM_ITER@@QAE@XZ
-; public: __thiscall SESSION0_ENUM_OBJ::~SESSION0_ENUM_OBJ(void)
-??1SESSION0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SESSION1_ENUM_OBJ::~SESSION1_ENUM_OBJ(void)
-??1SESSION1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SESSION_ENUM::~SESSION_ENUM(void)
-??1SESSION_ENUM@@QAE@XZ
-; public: __thiscall SHARE1_ENUM_OBJ::~SHARE1_ENUM_OBJ(void)
-??1SHARE1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SHARE2_ENUM_OBJ::~SHARE2_ENUM_OBJ(void)
-??1SHARE2_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SHARE::~SHARE(void)
-??1SHARE@@QAE@XZ
-; public: __thiscall SHARE_1::~SHARE_1(void)
-??1SHARE_1@@QAE@XZ
-; public: __thiscall SHARE_2::~SHARE_2(void)
-??1SHARE_2@@QAE@XZ
-; public: __thiscall SHARE_ENUM::~SHARE_ENUM(void)
-??1SHARE_ENUM@@QAE@XZ
-; public: __thiscall SLIST_OF_ADMIN_AUTHORITY::~SLIST_OF_ADMIN_AUTHORITY(void)
-??1SLIST_OF_ADMIN_AUTHORITY@@QAE@XZ
-; public: __thiscall SLIST_OF_API_SESSION::~SLIST_OF_API_SESSION(void)
-??1SLIST_OF_API_SESSION@@QAE@XZ
-; public: __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::~SLIST_OF_BROWSE_DOMAIN_INFO(void)
-??1SLIST_OF_BROWSE_DOMAIN_INFO@@QAE@XZ
-; public: __thiscall SLIST_OF_LM_RESUME_BUFFER::~SLIST_OF_LM_RESUME_BUFFER(void)
-??1SLIST_OF_LM_RESUME_BUFFER@@QAE@XZ
-; public: __thiscall TIME_OF_DAY::~TIME_OF_DAY(void)
-??1TIME_OF_DAY@@QAE@XZ
-; public: __thiscall TRIPLE_SERVER_ENUM::~TRIPLE_SERVER_ENUM(void)
-??1TRIPLE_SERVER_ENUM@@QAE@XZ
-; public: __thiscall TRIPLE_SERVER_ENUM_OBJ::~TRIPLE_SERVER_ENUM_OBJ(void)
-??1TRIPLE_SERVER_ENUM_OBJ@@QAE@XZ
-; public: __thiscall TRUSTED_DOMAIN_ENUM::~TRUSTED_DOMAIN_ENUM(void)
-??1TRUSTED_DOMAIN_ENUM@@QAE@XZ
-; public: __thiscall TRUSTED_DOMAIN_ENUM_OBJ::~TRUSTED_DOMAIN_ENUM_OBJ(void)
-??1TRUSTED_DOMAIN_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USE1_ENUM_OBJ::~USE1_ENUM_OBJ(void)
-??1USE1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER0_ENUM::~USER0_ENUM(void)
-??1USER0_ENUM@@QAE@XZ
-; public: __thiscall USER0_ENUM_ITER::~USER0_ENUM_ITER(void)
-??1USER0_ENUM_ITER@@QAE@XZ
-; public: __thiscall USER0_ENUM_OBJ::~USER0_ENUM_OBJ(void)
-??1USER0_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER10_ENUM_OBJ::~USER10_ENUM_OBJ(void)
-??1USER10_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER1_ENUM_OBJ::~USER1_ENUM_OBJ(void)
-??1USER1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER2_ENUM_OBJ::~USER2_ENUM_OBJ(void)
-??1USER2_ENUM_OBJ@@QAE@XZ
-; public: __thiscall USER::~USER(void)
-??1USER@@QAE@XZ
-; public: __thiscall USER_11::~USER_11(void)
-??1USER_11@@QAE@XZ
-; public: virtual __thiscall USER_2::~USER_2(void)
-??1USER_2@@UAE@XZ
-; public: virtual __thiscall USER_3::~USER_3(void)
-??1USER_3@@UAE@XZ
-; public: __thiscall USER_ENUM::~USER_ENUM(void)
-??1USER_ENUM@@QAE@XZ
-; public: __thiscall USER_MEMB::~USER_MEMB(void)
-??1USER_MEMB@@QAE@XZ
-; public: __thiscall USE_ENUM::~USE_ENUM(void)
-??1USE_ENUM@@QAE@XZ
-; public: __thiscall WKSTA_10::~WKSTA_10(void)
-??1WKSTA_10@@QAE@XZ
-; public: __thiscall WKSTA_1::~WKSTA_1(void)
-??1WKSTA_1@@QAE@XZ
-; public: __thiscall WKSTA_USER_1::~WKSTA_USER_1(void)
-??1WKSTA_USER_1@@QAE@XZ
-; public: class ALLOC_STR & __thiscall ALLOC_STR::operator=(class ALLOC_STR const &)
-??4ALLOC_STR@@QAEAAV0@ABV0@@Z
-; public: class ALLOC_STR & __thiscall ALLOC_STR::operator=(unsigned short const *)
-??4ALLOC_STR@@QAEAAV0@PBG@Z
-; public: int __thiscall BASE::operator!(void)const 
-??7BASE@@QBEHXZ
-; public: int __thiscall OS_LUID::operator==(class OS_LUID const &)const 
-??8OS_LUID@@QBEHABV0@@Z
-; public: int __thiscall OS_SID::operator==(class OS_SID const &)const 
-??8OS_SID@@QBEHABV0@@Z
-; public: struct _UNICODE_STRING const & __thiscall LSA_TRUSTED_DC_LIST::operator[](int)const 
-??ALSA_TRUSTED_DC_LIST@@QBEABU_UNICODE_STRING@@H@Z
-; public: unsigned short const * __thiscall NLS_STR::operator[](class ISTR const &)const 
-??ANLS_STR@@QBEPBGABVISTR@@@Z
-; public: __thiscall NLS_STR::operator unsigned short const *(void)const 
-??BNLS_STR@@QBEPBGXZ
-; public: __thiscall OS_ACL::operator struct _ACL *(void)const 
-??BOS_ACL@@QBEPAU_ACL@@XZ
-; public: __thiscall OS_SID::operator void *(void)const 
-??BOS_SID@@QBEPAXXZ
-; public: class CHARDEVQ1_ENUM_OBJ const * __thiscall CHARDEVQ1_ENUM_ITER::operator()(void)
-??RCHARDEVQ1_ENUM_ITER@@QAEPBVCHARDEVQ1_ENUM_OBJ@@XZ
-; public: class CONN0_ENUM_OBJ const * __thiscall CONN0_ENUM_ITER::operator()(void)
-??RCONN0_ENUM_ITER@@QAEPBVCONN0_ENUM_OBJ@@XZ
-; public: class CONN1_ENUM_OBJ const * __thiscall CONN1_ENUM_ITER::operator()(void)
-??RCONN1_ENUM_ITER@@QAEPBVCONN1_ENUM_OBJ@@XZ
-; public: class CONTEXT_ENUM_OBJ const * __thiscall CONTEXT_ENUM_ITER::operator()(void)
-??RCONTEXT_ENUM_ITER@@QAEPBVCONTEXT_ENUM_OBJ@@XZ
-; public: class DOMAIN0_ENUM_OBJ const * __thiscall DOMAIN0_ENUM_ITER::operator()(void)
-??RDOMAIN0_ENUM_ITER@@QAEPBVDOMAIN0_ENUM_OBJ@@XZ
-; public: class FILE3_ENUM_OBJ const * __thiscall FILE3_ENUM_ITER::operator()(long *,int)
-??RFILE3_ENUM_ITER@@QAEPBVFILE3_ENUM_OBJ@@PAJH@Z
-; public: class GROUP0_ENUM_OBJ const * __thiscall GROUP0_ENUM_ITER::operator()(void)
-??RGROUP0_ENUM_ITER@@QAEPBVGROUP0_ENUM_OBJ@@XZ
-; public: class GROUP1_ENUM_OBJ const * __thiscall GROUP1_ENUM_ITER::operator()(void)
-??RGROUP1_ENUM_ITER@@QAEPBVGROUP1_ENUM_OBJ@@XZ
-; public: class OS_LUID_AND_ATTRIBUTES const * __thiscall LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::operator()(void)
-??RLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QAEPBVOS_LUID_AND_ATTRIBUTES@@XZ
-; public: class NT_MACHINE_ENUM_OBJ const * __thiscall NT_MACHINE_ENUM_ITER::operator()(long *,int)
-??RNT_MACHINE_ENUM_ITER@@QAEPBVNT_MACHINE_ENUM_OBJ@@PAJH@Z
-; public: class SERVER1_ENUM_OBJ const * __thiscall SERVER1_ENUM_ITER::operator()(void)
-??RSERVER1_ENUM_ITER@@QAEPBVSERVER1_ENUM_OBJ@@XZ
-; public: class SERVICE_ENUM_OBJ const * __thiscall SERVICE_ENUM_ITER::operator()(void)
-??RSERVICE_ENUM_ITER@@QAEPBVSERVICE_ENUM_OBJ@@XZ
-; public: class SESSION0_ENUM_OBJ const * __thiscall SESSION0_ENUM_ITER::operator()(void)
-??RSESSION0_ENUM_ITER@@QAEPBVSESSION0_ENUM_OBJ@@XZ
-; public: class SESSION1_ENUM_OBJ const * __thiscall SESSION1_ENUM_ITER::operator()(void)
-??RSESSION1_ENUM_ITER@@QAEPBVSESSION1_ENUM_OBJ@@XZ
-; public: class SHARE1_ENUM_OBJ const * __thiscall SHARE1_ENUM_ITER::operator()(void)
-??RSHARE1_ENUM_ITER@@QAEPBVSHARE1_ENUM_OBJ@@XZ
-; public: class SHARE2_ENUM_OBJ const * __thiscall SHARE2_ENUM_ITER::operator()(void)
-??RSHARE2_ENUM_ITER@@QAEPBVSHARE2_ENUM_OBJ@@XZ
-; public: class TRIPLE_SERVER_ENUM_OBJ const * __thiscall TRIPLE_SERVER_ENUM_ITER::operator()(void)
-??RTRIPLE_SERVER_ENUM_ITER@@QAEPBVTRIPLE_SERVER_ENUM_OBJ@@XZ
-; public: class USE1_ENUM_OBJ const * __thiscall USE1_ENUM_ITER::operator()(void)
-??RUSE1_ENUM_ITER@@QAEPBVUSE1_ENUM_OBJ@@XZ
-; public: class USER0_ENUM_OBJ const * __thiscall USER0_ENUM_ITER::operator()(long *,int)
-??RUSER0_ENUM_ITER@@QAEPBVUSER0_ENUM_OBJ@@PAJH@Z
-; public: long __thiscall SLIST_OF_NLS_STR::Add(class NLS_STR const *)
-?Add@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
-; public: long __thiscall OS_ACL::AddACE(unsigned long,class OS_ACE const &)
-?AddACE@OS_ACL@@QAEJKABVOS_ACE@@@Z
-; public: long __thiscall MEMBERSHIP_LM_OBJ::AddAssocName(unsigned short const *)
-?AddAssocName@MEMBERSHIP_LM_OBJ@@QAEJPBG@Z
-; private: static long __stdcall DOMAIN_WITH_DC_CACHE::AddDcCache(struct _DC_CACHE_ENTRY * *,unsigned short const *,unsigned short const *)
-?AddDcCache@DOMAIN_WITH_DC_CACHE@@CGJPAPAU_DC_CACHE_ENTRY@@PBG1@Z
-; private: void __thiscall BROWSE_DOMAIN_INFO::AddDomainSource(unsigned long)
-?AddDomainSource@BROWSE_DOMAIN_INFO@@AAEXK@Z
-; private: long __thiscall BROWSE_DOMAIN_ENUM::AddDomainToList(unsigned short const *,unsigned long,int)
-?AddDomainToList@BROWSE_DOMAIN_ENUM@@AAEJPBGKH@Z
-; public: long __thiscall SAM_ALIAS::AddMember(void *)
-?AddMember@SAM_ALIAS@@QAEJPAX@Z
-; public: long __thiscall SAM_GROUP::AddMember(unsigned long)
-?AddMember@SAM_GROUP@@QAEJK@Z
-; public: long __thiscall SAM_ALIAS::AddMembers(void * *,unsigned int)
-?AddMembers@SAM_ALIAS@@QAEJPAPAXI@Z
-; public: long __thiscall SAM_GROUP::AddMembers(unsigned long *,unsigned int)
-?AddMembers@SAM_GROUP@@QAEJPAKI@Z
-; public: long __thiscall OS_PRIVILEGE_SET::AddPrivilege(struct _LUID,unsigned long)
-?AddPrivilege@OS_PRIVILEGE_SET@@QAEJU_LUID@@K@Z
-; public: long __thiscall SLIST_OF_ADMIN_AUTHORITY::Append(class ADMIN_AUTHORITY const *)
-?Append@SLIST_OF_ADMIN_AUTHORITY@@QAEJPBVADMIN_AUTHORITY@@@Z
-; public: long __thiscall SLIST_OF_API_SESSION::Append(class API_SESSION const *)
-?Append@SLIST_OF_API_SESSION@@QAEJPBVAPI_SESSION@@@Z
-; public: long __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::Append(class BROWSE_DOMAIN_INFO const *)
-?Append@SLIST_OF_BROWSE_DOMAIN_INFO@@QAEJPBVBROWSE_DOMAIN_INFO@@@Z
-; public: long __thiscall SLIST_OF_LM_RESUME_BUFFER::Append(class LM_RESUME_BUFFER const *)
-?Append@SLIST_OF_LM_RESUME_BUFFER@@QAEJPBVLM_RESUME_BUFFER@@@Z
-; public: long __thiscall SLIST_OF_NLS_STR::Append(class NLS_STR const *)
-?Append@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
-; public: int __thiscall CHARDEVQ1_ENUM_ITER::Backup(void)
-?Backup@CHARDEVQ1_ENUM_ITER@@QAEHXZ
-; public: int __thiscall CONN0_ENUM_ITER::Backup(void)
-?Backup@CONN0_ENUM_ITER@@QAEHXZ
-; public: int __thiscall CONN1_ENUM_ITER::Backup(void)
-?Backup@CONN1_ENUM_ITER@@QAEHXZ
-; public: int __thiscall CONTEXT_ENUM_ITER::Backup(void)
-?Backup@CONTEXT_ENUM_ITER@@QAEHXZ
-; public: int __thiscall DOMAIN0_ENUM_ITER::Backup(void)
-?Backup@DOMAIN0_ENUM_ITER@@QAEHXZ
-; public: int __thiscall GROUP0_ENUM_ITER::Backup(void)
-?Backup@GROUP0_ENUM_ITER@@QAEHXZ
-; public: int __thiscall GROUP1_ENUM_ITER::Backup(void)
-?Backup@GROUP1_ENUM_ITER@@QAEHXZ
-; public: int __thiscall SERVER1_ENUM_ITER::Backup(void)
-?Backup@SERVER1_ENUM_ITER@@QAEHXZ
-; public: int __thiscall SERVICE_ENUM_ITER::Backup(void)
-?Backup@SERVICE_ENUM_ITER@@QAEHXZ
-; public: int __thiscall SESSION0_ENUM_ITER::Backup(void)
-?Backup@SESSION0_ENUM_ITER@@QAEHXZ
-; public: int __thiscall SESSION1_ENUM_ITER::Backup(void)
-?Backup@SESSION1_ENUM_ITER@@QAEHXZ
-; public: int __thiscall SHARE1_ENUM_ITER::Backup(void)
-?Backup@SHARE1_ENUM_ITER@@QAEHXZ
-; public: int __thiscall SHARE2_ENUM_ITER::Backup(void)
-?Backup@SHARE2_ENUM_ITER@@QAEHXZ
-; public: int __thiscall TRIPLE_SERVER_ENUM_ITER::Backup(void)
-?Backup@TRIPLE_SERVER_ENUM_ITER@@QAEHXZ
-; public: int __thiscall USE1_ENUM_ITER::Backup(void)
-?Backup@USE1_ENUM_ITER@@QAEHXZ
-; public: static long __stdcall NT_ACCOUNTS_UTILITY::BuildAndCopySysSid(class OS_SID *,struct _SID_IDENTIFIER_AUTHORITY *,unsigned char,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)
-?BuildAndCopySysSid@NT_ACCOUNTS_UTILITY@@SGJPAVOS_SID@@PAU_SID_IDENTIFIER_AUTHORITY@@EKKKKKKKK@Z
-; public: static long __stdcall NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR *,class NLS_STR const &,class NLS_STR const &,class NLS_STR const *,class NLS_STR const *,enum _SID_NAME_USE)
-?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SGJPAVNLS_STR@@ABV2@1PBV2@2W4_SID_NAME_USE@@@Z
-; public: static long __stdcall NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR *,class NLS_STR const &,void *,class NLS_STR const &,class NLS_STR const *,void *,enum _SID_NAME_USE)
-?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SGJPAVNLS_STR@@ABV2@PAX1PBV2@2W4_SID_NAME_USE@@@Z
-; private: virtual long __thiscall ALIAS_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
-?CallAPI@ALIAS_ENUM@@EAEJHPAPAEPAI@Z
-; private: virtual long __thiscall CHARDEVQ_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@CHARDEVQ_ENUM@@EAEJPAPAEPAI@Z
-; private: virtual long __thiscall CONN_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@CONN_ENUM@@EAEJPAPAEPAI@Z
-; protected: virtual long __thiscall CONTEXT_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@CONTEXT_ENUM@@MAEJPAPAEPAI@Z
-; protected: virtual long __thiscall DEVICE2::CallAPI(void)
-?CallAPI@DEVICE2@@MAEJXZ
-; protected: virtual long __thiscall DEVICE::CallAPI(void)
-?CallAPI@DEVICE@@MAEJXZ
-; private: virtual long __thiscall DOMAIN_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@DOMAIN_ENUM@@EAEJPAPAEPAI@Z
-; private: virtual long __thiscall FILE_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
-?CallAPI@FILE_ENUM@@EAEJHPAPAEPAI@Z
-; private: virtual long __thiscall GROUP_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@GROUP_ENUM@@EAEJPAPAEPAI@Z
-; protected: virtual long __thiscall GROUP_MEMB::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@GROUP_MEMB@@MAEJPAPAEPAI@Z
-; private: virtual long __thiscall LSA_ACCOUNTS_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
-?CallAPI@LSA_ACCOUNTS_ENUM@@EAEJHPAPAEPAI@Z
-; protected: virtual long __thiscall LSA_PRIVILEGES_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
-?CallAPI@LSA_PRIVILEGES_ENUM@@MAEJHPAPAEPAI@Z
-; private: virtual long __thiscall NT_ACCOUNT_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
-?CallAPI@NT_ACCOUNT_ENUM@@EAEJHPAPAEPAI@Z
-; private: virtual long __thiscall SAM_USER_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
-?CallAPI@SAM_USER_ENUM@@EAEJHPAPAEPAI@Z
-; private: virtual long __thiscall SERVER_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@SERVER_ENUM@@EAEJPAPAEPAI@Z
-; private: virtual long __thiscall SERVICE_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@SERVICE_ENUM@@EAEJPAPAEPAI@Z
-; private: virtual long __thiscall SESSION_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@SESSION_ENUM@@EAEJPAPAEPAI@Z
-; private: virtual long __thiscall SHARE_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@SHARE_ENUM@@EAEJPAPAEPAI@Z
-; private: virtual long __thiscall TRIPLE_SERVER_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@TRIPLE_SERVER_ENUM@@EAEJPAPAEPAI@Z
-; private: virtual long __thiscall TRUSTED_DOMAIN_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
-?CallAPI@TRUSTED_DOMAIN_ENUM@@EAEJHPAPAEPAI@Z
-; private: virtual long __thiscall USER_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
-?CallAPI@USER_ENUM@@EAEJHPAPAEPAI@Z
-; protected: virtual long __thiscall USER_MEMB::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@USER_MEMB@@MAEJPAPAEPAI@Z
-; private: virtual long __thiscall USE_ENUM::CallAPI(unsigned char * *,unsigned int *)
-?CallAPI@USE_ENUM@@EAEJPAPAEPAI@Z
-; public: long __thiscall SC_SERVICE::ChangeConfig(unsigned int,unsigned int,unsigned int,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
-?ChangeConfig@SC_SERVICE@@QAEJIIIPBG00000@Z
-; public: long __thiscall NEW_LM_OBJ::ChangeToNew(void)
-?ChangeToNew@NEW_LM_OBJ@@QAEJXZ
-; public: long __thiscall LOCATION::CheckIfNT(int *)
-?CheckIfNT@LOCATION@@QAEJPAH@Z
-; public: long __thiscall LOCATION::CheckIfNT(int *,enum LOCATION_NT_TYPE *)
-?CheckIfNT@LOCATION@@QAEJPAHPAW4LOCATION_NT_TYPE@@@Z
-; public: long __thiscall LSA_POLICY::CheckIfShutDownOnFull(int *)
-?CheckIfShutDownOnFull@LSA_POLICY@@QAEJPAH@Z
-; protected: void __thiscall LSA_POLICY::CleanupUnistrArray(struct _UNICODE_STRING *,unsigned long)
-?CleanupUnistrArray@LSA_POLICY@@IAEXPAU_UNICODE_STRING@@K@Z
-; public: void __thiscall OS_PRIVILEGE_SET::Clear(void)
-?Clear@OS_PRIVILEGE_SET@@QAEXXZ
-; public: void __thiscall SLIST_OF_ADMIN_AUTHORITY::Clear(void)
-?Clear@SLIST_OF_ADMIN_AUTHORITY@@QAEXXZ
-; public: void __thiscall SLIST_OF_API_SESSION::Clear(void)
-?Clear@SLIST_OF_API_SESSION@@QAEXXZ
-; public: void __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::Clear(void)
-?Clear@SLIST_OF_BROWSE_DOMAIN_INFO@@QAEXXZ
-; public: void __thiscall SLIST_OF_LM_RESUME_BUFFER::Clear(void)
-?Clear@SLIST_OF_LM_RESUME_BUFFER@@QAEXXZ
-; protected: long __thiscall NEW_LM_OBJ::ClearBuffer(void)
-?ClearBuffer@NEW_LM_OBJ@@IAEJXZ
-; private: static long __stdcall DOMAIN_WITH_DC_CACHE::ClearDcCache(struct _DC_CACHE_ENTRY *)
-?ClearDcCache@DOMAIN_WITH_DC_CACHE@@CGJPAU_DC_CACHE_ENTRY@@@Z
-; public: long __thiscall NET_ACCESS_1::ClearPerms(void)
-?ClearPerms@NET_ACCESS_1@@QAEJXZ
-; public: long __thiscall GROUP_1::CloneFrom(class GROUP_1 const &)
-?CloneFrom@GROUP_1@@QAEJABV1@@Z
-; public: long __thiscall GROUP_MEMB::CloneFrom(class GROUP_MEMB const &)
-?CloneFrom@GROUP_MEMB@@QAEJABV1@@Z
-; public: long __thiscall SHARE_1::CloneFrom(class SHARE_1 const &)
-?CloneFrom@SHARE_1@@QAEJABV1@@Z
-; public: long __thiscall SHARE_2::CloneFrom(class SHARE_2 const &)
-?CloneFrom@SHARE_2@@QAEJABV1@@Z
-; public: long __thiscall USER_2::CloneFrom(class USER_2 const &)
-?CloneFrom@USER_2@@QAEJABV1@@Z
-; public: long __thiscall USER_3::CloneFrom(class USER_3 const &)
-?CloneFrom@USER_3@@QAEJABV1@@Z
-; public: long __thiscall USER_MEMB::CloneFrom(class USER_MEMB const &)
-?CloneFrom@USER_MEMB@@QAEJABV1@@Z
-; public: long __thiscall SERVICE_CONTROL::Close(void)
-?Close@SERVICE_CONTROL@@QAEJXZ
-; public: long __thiscall LM_FILE::CloseFile(void)
-?CloseFile@LM_FILE@@QAEJXZ
-; public: long __thiscall LSA_OBJECT::CloseHandle(int)
-?CloseHandle@LSA_OBJECT@@QAEJH@Z
-; public: long __thiscall SAM_OBJECT::CloseHandle(void)
-?CloseHandle@SAM_OBJECT@@QAEJXZ
-; private: void __thiscall TRIPLE_SERVER_ENUM::CombineIntoTriple(struct _SERVER_INFO_101 const *,struct _KNOWN_SERVER_INFO const *,struct _TRIPLE_SERVER_INFO *)
-?CombineIntoTriple@TRIPLE_SERVER_ENUM@@AAEXPBU_SERVER_INFO_101@@PBU_KNOWN_SERVER_INFO@@PAU_TRIPLE_SERVER_INFO@@@Z
-; public: long __thiscall OS_ACL_SUBJECT_ITER::Compare(int *,class OS_ACL_SUBJECT_ITER *)
-?Compare@OS_ACL_SUBJECT_ITER@@QAEJPAHPAV1@@Z
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::Compare(class OS_SECURITY_DESCRIPTOR *,int *,int *,int *,int *,struct _GENERIC_MAPPING *,struct _GENERIC_MAPPING *,int,int)
-?Compare@OS_SECURITY_DESCRIPTOR@@QAEJPAV1@PAH111PAU_GENERIC_MAPPING@@2HH@Z
-; public: int __thiscall NET_ACCESS_1::CompareACL(class NET_ACCESS_1 *)
-?CompareACL@NET_ACCESS_1@@QAEHPAV1@@Z
-; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareBrowserServers(void const *,void const *)
-?CompareBrowserServers@TRIPLE_SERVER_ENUM@@CAHPBX0@Z
-; public: virtual int __thiscall OS_DACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER *)
-?CompareCurrentSubject@OS_DACL_SUBJECT_ITER@@UAEHPAVOS_ACL_SUBJECT_ITER@@@Z
-; public: virtual int __thiscall OS_SACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER *)
-?CompareCurrentSubject@OS_SACL_SUBJECT_ITER@@UAEHPAVOS_ACL_SUBJECT_ITER@@@Z
-; private: static int __cdecl DOMAIN0_ENUM::CompareDomains0(void const *,void const *)
-?CompareDomains0@DOMAIN0_ENUM@@CAHPBX0@Z
-; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareLmServers(void const *,void const *)
-?CompareLmServers@TRIPLE_SERVER_ENUM@@CAHPBX0@Z
-; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareNtServers(void const *,void const *)
-?CompareNtServers@TRIPLE_SERVER_ENUM@@CAHPBX0@Z
-; public: long __thiscall DEVICE2::Connect(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long)
-?Connect@DEVICE2@@QAEJPBG000K@Z
-; public: long __thiscall DEVICE::Connect(unsigned short const *,unsigned short const *)
-?Connect@DEVICE@@QAEJPBG0@Z
-; long __stdcall ConnectToNullSession(class NLS_STR const &)
-?ConnectToNullSession@@YGJABVNLS_STR@@@Z
-; public: long __thiscall LM_SERVICE::Continue(unsigned int,unsigned int)
-?Continue@LM_SERVICE@@QAEJII@Z
-; public: long __thiscall SC_SERVICE::Control(unsigned int,struct _SERVICE_STATUS *)
-?Control@SC_SERVICE@@QAEJIPAU_SERVICE_STATUS@@@Z
-; public: long __thiscall OS_ACL::Copy(class OS_ACL const &,int)
-?Copy@OS_ACL@@QAEJABV1@H@Z
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::Copy(class OS_SECURITY_DESCRIPTOR const &)
-?Copy@OS_SECURITY_DESCRIPTOR@@QAEJABV1@@Z
-; public: long __thiscall OS_SID::Copy(class OS_SID const &)
-?Copy@OS_SID@@QAEJABV1@@Z
-; public: long __thiscall NET_ACCESS_1::CopyAccessPerms(class NET_ACCESS_1 const &)
-?CopyAccessPerms@NET_ACCESS_1@@QAEJABV1@@Z
-; private: void __thiscall SERVICE_ENUM::CountServices(unsigned char *,unsigned int *,unsigned int *)
-?CountServices@SERVICE_ENUM@@AAEXPAEPAI1@Z
-; public: static long __stdcall NT_ACCOUNTS_UTILITY::CrackQualifiedAccountName(class NLS_STR const &,class NLS_STR *,class NLS_STR *)
-?CrackQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SGJABVNLS_STR@@PAV2@1@Z
-; public: long __thiscall LSA_SECRET::Create(class LSA_POLICY const &,unsigned long)
-?Create@LSA_SECRET@@QAEJABVLSA_POLICY@@K@Z
-; public: long __thiscall NEW_LM_OBJ::CreateNew(void)
-?CreateNew@NEW_LM_OBJ@@QAEJXZ
-; private: void __thiscall DOMAIN::CtAux(unsigned short const *,unsigned short const *)
-?CtAux@DOMAIN@@AAEXPBG0@Z
-; private: void __thiscall GROUP::CtAux(unsigned short const *)
-?CtAux@GROUP@@AAEXPBG@Z
-; private: void __thiscall GROUP_1::CtAux(void)
-?CtAux@GROUP_1@@AAEXXZ
-; private: void __thiscall LOC_LM_OBJ::CtAux(void)
-?CtAux@LOC_LM_OBJ@@AAEXXZ
-; private: void __thiscall USER::CtAux(unsigned short const *)
-?CtAux@USER@@AAEXPBG@Z
-; private: void __thiscall USER_11::CtAux(void)
-?CtAux@USER_11@@AAEXXZ
-; private: void __thiscall USER_2::CtAux(void)
-?CtAux@USER_2@@AAEXXZ
-; private: void __thiscall USER_3::CtAux(void)
-?CtAux@USER_3@@AAEXXZ
-; public: long __thiscall LSA_TRUSTED_DOMAIN::Delete(void)
-?Delete@LSA_TRUSTED_DOMAIN@@QAEJXZ
-; public: long __thiscall NET_ACCESS::Delete(void)
-?Delete@NET_ACCESS@@QAEJXZ
-; public: long __thiscall NEW_LM_OBJ::Delete(unsigned int)
-?Delete@NEW_LM_OBJ@@QAEJI@Z
-; public: long __thiscall SAM_ALIAS::Delete(void)
-?Delete@SAM_ALIAS@@QAEJXZ
-; public: long __thiscall SC_SERVICE::Delete(void)
-?Delete@SC_SERVICE@@QAEJXZ
-; public: long __thiscall OS_ACL::DeleteACE(unsigned long)
-?DeleteACE@OS_ACL@@QAEJK@Z
-; protected: long __thiscall LSA_POLICY::DeleteAllTrustedDomains(void)
-?DeleteAllTrustedDomains@LSA_POLICY@@IAEJXZ
-; public: long __thiscall MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned int)
-?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QAEJI@Z
-; public: long __thiscall MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned short const *)
-?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QAEJPBG@Z
-; public: long __thiscall LSA_ACCOUNT::DeletePrivilege(struct _LUID)
-?DeletePrivilege@LSA_ACCOUNT@@QAEJU_LUID@@@Z
-; private: void __thiscall LM_ENUM::DeregisterIter(void)
-?DeregisterIter@LM_ENUM@@AAEXXZ
-; private: void __thiscall LM_RESUME_ENUM::DeregisterIter(void)
-?DeregisterIter@LM_RESUME_ENUM@@AAEXXZ
-; private: long __thiscall BROWSE_DOMAIN_ENUM::DetermineIfDomainMember(int *)
-?DetermineIfDomainMember@BROWSE_DOMAIN_ENUM@@AAEJPAH@Z
-; public: long __thiscall DEVICE::Disconnect(unsigned int)
-?Disconnect@DEVICE@@QAEJI@Z
-; public: long __thiscall DEVICE::Disconnect(unsigned short const *,unsigned int)
-?Disconnect@DEVICE@@QAEJPBGI@Z
-; public: long __thiscall LSA_POLICY::DistrustDomain(void * const,class NLS_STR const &,int)
-?DistrustDomain@LSA_POLICY@@QAEJQAXABVNLS_STR@@H@Z
-; public: int __thiscall LM_RESUME_ENUM::DoesKeepBuffers(void)const 
-?DoesKeepBuffers@LM_RESUME_ENUM@@QBEHXZ
-; private: virtual unsigned char * __thiscall ENUM_CALLER_LM_OBJ::EC_QueryBufferPtr(void)const 
-?EC_QueryBufferPtr@ENUM_CALLER_LM_OBJ@@EBEPAEXZ
-; private: virtual unsigned char * __thiscall LM_ENUM::EC_QueryBufferPtr(void)const 
-?EC_QueryBufferPtr@LM_ENUM@@EBEPAEXZ
-; private: virtual unsigned int __thiscall ENUM_CALLER_LM_OBJ::EC_QueryBufferSize(void)const 
-?EC_QueryBufferSize@ENUM_CALLER_LM_OBJ@@EBEIXZ
-; private: virtual long __thiscall ENUM_CALLER_LM_OBJ::EC_ResizeBuffer(unsigned int)
-?EC_ResizeBuffer@ENUM_CALLER_LM_OBJ@@EAEJI@Z
-; private: virtual long __thiscall ENUM_CALLER_LM_OBJ::EC_SetBufferPtr(unsigned char *)
-?EC_SetBufferPtr@ENUM_CALLER_LM_OBJ@@EAEJPAE@Z
-; private: virtual long __thiscall LM_ENUM::EC_SetBufferPtr(unsigned char *)
-?EC_SetBufferPtr@LM_ENUM@@EAEJPAE@Z
-; private: static long __stdcall DOMAIN_WITH_DC_CACHE::EnterCriticalSection(void)
-?EnterCriticalSection@DOMAIN_WITH_DC_CACHE@@CGJXZ
-; unsigned long __stdcall EnumAllComms(void)
-?EnumAllComms@@YGKXZ
-; unsigned long __stdcall EnumAllDrives(void)
-?EnumAllDrives@@YGKXZ
-; unsigned long __stdcall EnumAllLPTs(void)
-?EnumAllLPTs@@YGKXZ
-; private: unsigned short const * __thiscall ITER_DEVICE::EnumComms(void)
-?EnumComms@ITER_DEVICE@@AAEPBGXZ
-; public: long __thiscall SC_SERVICE::EnumDependent(unsigned int,struct _ENUM_SERVICE_STATUSW * *,unsigned long *)
-?EnumDependent@SC_SERVICE@@QAEJIPAPAU_ENUM_SERVICE_STATUSW@@PAK@Z
-; private: unsigned short const * __thiscall ITER_DEVICE::EnumDrives(void)
-?EnumDrives@ITER_DEVICE@@AAEPBGXZ
-; private: unsigned short const * __thiscall ITER_DEVICE::EnumLPTs(void)
-?EnumLPTs@ITER_DEVICE@@AAEPBGXZ
-; private: long __thiscall SERVICE_ENUM::EnumLmServices(unsigned char * *,unsigned int *)
-?EnumLmServices@SERVICE_ENUM@@AAEJPAPAEPAI@Z
-; unsigned long __stdcall EnumLocalComms(void)
-?EnumLocalComms@@YGKXZ
-; unsigned long __stdcall EnumLocalDrives(void)
-?EnumLocalDrives@@YGKXZ
-; unsigned long __stdcall EnumLocalLPTs(void)
-?EnumLocalLPTs@@YGKXZ
-; unsigned long __stdcall EnumNetComms(void)
-?EnumNetComms@@YGKXZ
-; unsigned long __stdcall EnumNetDevices(int)
-?EnumNetDevices@@YGKH@Z
-; unsigned long __stdcall EnumNetDrives(void)
-?EnumNetDrives@@YGKXZ
-; unsigned long __stdcall EnumNetLPTs(void)
-?EnumNetLPTs@@YGKXZ
-; private: long __thiscall SERVICE_ENUM::EnumNtServices(unsigned char * *,unsigned int *)
-?EnumNtServices@SERVICE_ENUM@@AAEJPAPAEPAI@Z
-; public: long __thiscall SC_MANAGER::EnumServiceStatus(unsigned int,unsigned int,struct _ENUM_SERVICE_STATUSW * *,unsigned long *,unsigned short const *)
-?EnumServiceStatus@SC_MANAGER@@QAEJIIPAPAU_ENUM_SERVICE_STATUSW@@PAKPBG@Z
-; unsigned long __stdcall EnumUnavailComms(void)
-?EnumUnavailComms@@YGKXZ
-; unsigned long __stdcall EnumUnavailDevices(int)
-?EnumUnavailDevices@@YGKH@Z
-; unsigned long __stdcall EnumUnavailDrives(void)
-?EnumUnavailDrives@@YGKXZ
-; unsigned long __stdcall EnumUnavailLPTs(void)
-?EnumUnavailLPTs@@YGKXZ
-; public: long __thiscall SAM_DOMAIN::EnumerateAliases(class SAM_RID_ENUMERATION_MEM *,unsigned long *,unsigned long)const 
-?EnumerateAliases@SAM_DOMAIN@@QBEJPAVSAM_RID_ENUMERATION_MEM@@PAKK@Z
-; public: long __thiscall SAM_DOMAIN::EnumerateAliasesForUser(void *,class SAM_RID_MEM *)const 
-?EnumerateAliasesForUser@SAM_DOMAIN@@QBEJPAXPAVSAM_RID_MEM@@@Z
-; public: long __thiscall SAM_DOMAIN::EnumerateGroups(class SAM_RID_ENUMERATION_MEM *,unsigned long *,unsigned long)const 
-?EnumerateGroups@SAM_DOMAIN@@QBEJPAVSAM_RID_ENUMERATION_MEM@@PAKK@Z
-; public: long __thiscall LSA_POLICY::EnumerateTrustedDomains(class LSA_TRUST_INFO_MEM *,unsigned long *,unsigned long)
-?EnumerateTrustedDomains@LSA_POLICY@@QAEJPAVLSA_TRUST_INFO_MEM@@PAKK@Z
-; public: long __thiscall SAM_DOMAIN::EnumerateUsers(class SAM_RID_ENUMERATION_MEM *,unsigned long *,unsigned long,unsigned long)const 
-?EnumerateUsers@SAM_DOMAIN@@QBEJPAVSAM_RID_ENUMERATION_MEM@@PAKKK@Z
-; long __stdcall FillUnicodeString(struct _UNICODE_STRING *,class NLS_STR const &)
-?FillUnicodeString@@YGJPAU_UNICODE_STRING@@ABVNLS_STR@@@Z
-; private: struct _ACCESS_LIST * __thiscall NET_ACCESS_1::FindACE(unsigned short const *,enum PERMNAME_TYPE)const 
-?FindACE@NET_ACCESS_1@@ABEPAU_ACCESS_LIST@@PBGW4PERMNAME_TYPE@@@Z
-; public: long __thiscall OS_ACL::FindACE(class OS_SID const &,int *,class OS_ACE *,unsigned long *,unsigned long)const 
-?FindACE@OS_ACL@@QBEJABVOS_SID@@PAHPAVOS_ACE@@PAKK@Z
-; public: int __thiscall MEMBERSHIP_LM_OBJ::FindAssocName(unsigned short const *,unsigned int *)
-?FindAssocName@MEMBERSHIP_LM_OBJ@@QAEHPBGPAI@Z
-; private: static unsigned short const * __stdcall DOMAIN_WITH_DC_CACHE::FindDcCache(struct _DC_CACHE_ENTRY const *,unsigned short const *)
-?FindDcCache@DOMAIN_WITH_DC_CACHE@@CGPBGPBU_DC_CACHE_ENTRY@@PBG@Z
-; public: class BROWSE_DOMAIN_INFO const * __thiscall BROWSE_DOMAIN_ENUM::FindFirst(unsigned long)
-?FindFirst@BROWSE_DOMAIN_ENUM@@QAEPBVBROWSE_DOMAIN_INFO@@K@Z
-; public: class BROWSE_DOMAIN_INFO const * __thiscall BROWSE_DOMAIN_ENUM::FindNext(unsigned long)
-?FindNext@BROWSE_DOMAIN_ENUM@@QAEPBVBROWSE_DOMAIN_INFO@@K@Z
-; public: long __thiscall OS_ACL_SUBJECT_ITER::FindNextSubject(int *,class OS_SID *,class OS_ACE *)
-?FindNextSubject@OS_ACL_SUBJECT_ITER@@QAEJPAHPAVOS_SID@@PAVOS_ACE@@@Z
-; public: long __thiscall OS_PRIVILEGE_SET::FindPrivilege(struct _LUID)const 
-?FindPrivilege@OS_PRIVILEGE_SET@@QBEJU_LUID@@@Z
-; protected: void __thiscall NEW_LM_OBJ::FixupPointer(unsigned short * *,class NEW_LM_OBJ const *)
-?FixupPointer@NEW_LM_OBJ@@IAEXPAPAGPBV1@@Z
-; protected: virtual void __thiscall ALIAS_ENUM::FreeBuffer(unsigned char * *)
-?FreeBuffer@ALIAS_ENUM@@MAEXPAPAE@Z
-; protected: virtual void __thiscall FILE_ENUM::FreeBuffer(unsigned char * *)
-?FreeBuffer@FILE_ENUM@@MAEXPAPAE@Z
-; protected: virtual void __thiscall LOC_LM_RESUME_ENUM::FreeBuffer(unsigned char * *)
-?FreeBuffer@LOC_LM_RESUME_ENUM@@MAEXPAPAE@Z
-; protected: virtual void __thiscall LSA_ENUM::FreeBuffer(unsigned char * *)
-?FreeBuffer@LSA_ENUM@@MAEXPAPAE@Z
-; protected: virtual void __thiscall LSA_MEMORY::FreeBuffer(void)
-?FreeBuffer@LSA_MEMORY@@MAEXXZ
-; private: void __thiscall LSA_TRUSTED_DC_LIST::FreeBuffer(void)
-?FreeBuffer@LSA_TRUSTED_DC_LIST@@AAEXXZ
-; protected: virtual void __thiscall NT_ACCOUNT_ENUM::FreeBuffer(unsigned char * *)
-?FreeBuffer@NT_ACCOUNT_ENUM@@MAEXPAPAE@Z
-; protected: virtual void __thiscall SAM_MEMORY::FreeBuffer(void)
-?FreeBuffer@SAM_MEMORY@@MAEXXZ
-; protected: virtual void __thiscall SAM_USER_ENUM::FreeBuffer(unsigned char * *)
-?FreeBuffer@SAM_USER_ENUM@@MAEXPAPAE@Z
-; protected: virtual void __thiscall TRUSTED_DOMAIN_ENUM::FreeBuffer(unsigned char * *)
-?FreeBuffer@TRUSTED_DOMAIN_ENUM@@MAEXPAPAE@Z
-; void __stdcall FreeUnicodeString(struct _UNICODE_STRING *)
-?FreeUnicodeString@@YGXPAU_UNICODE_STRING@@@Z
-; public: long __thiscall LSA_POLICY::GetAccountDomain(class LSA_ACCT_DOM_INFO_MEM *)const 
-?GetAccountDomain@LSA_POLICY@@QBEJPAVLSA_ACCT_DOM_INFO_MEM@@@Z
-; public: static long __stdcall DOMAIN::GetAnyDC(unsigned short const *,unsigned short const *,class NLS_STR *)
-?GetAnyDC@DOMAIN@@SGJPBG0PAVNLS_STR@@@Z
-; public: static long __stdcall DOMAIN_WITH_DC_CACHE::GetAnyDC(unsigned short const *,unsigned short const *,class NLS_STR *)
-?GetAnyDC@DOMAIN_WITH_DC_CACHE@@SGJPBG0PAVNLS_STR@@@Z
-; protected: static long __stdcall DOMAIN::GetAnyDCWorker(unsigned short const *,unsigned short const *,class NLS_STR *,int)
-?GetAnyDCWorker@DOMAIN@@KGJPBG0PAVNLS_STR@@H@Z
-; protected: static long __stdcall DOMAIN_WITH_DC_CACHE::GetAnyDCWorker(unsigned short const *,unsigned short const *,class NLS_STR *,int)
-?GetAnyDCWorker@DOMAIN_WITH_DC_CACHE@@KGJPBG0PAVNLS_STR@@H@Z
-; public: static long __stdcall DOMAIN::GetAnyValidDC(unsigned short const *,unsigned short const *,class NLS_STR *)
-?GetAnyValidDC@DOMAIN@@SGJPBG0PAVNLS_STR@@@Z
-; public: static long __stdcall DOMAIN_WITH_DC_CACHE::GetAnyValidDC(unsigned short const *,unsigned short const *,class NLS_STR *)
-?GetAnyValidDC@DOMAIN_WITH_DC_CACHE@@SGJPBG0PAVNLS_STR@@@Z
-; public: long __thiscall LSA_POLICY::GetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM *)
-?GetAuditEventInfo@LSA_POLICY@@QAEJPAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
-; public: long __thiscall ALIAS_ENUM_OBJ::GetComment(class SAM_DOMAIN const &,class NLS_STR *)
-?GetComment@ALIAS_ENUM_OBJ@@QAEJABVSAM_DOMAIN@@PAVNLS_STR@@@Z
-; public: long __thiscall SAM_ALIAS::GetComment(class NLS_STR *)
-?GetComment@SAM_ALIAS@@QAEJPAVNLS_STR@@@Z
-; public: long __thiscall SAM_GROUP::GetComment(class NLS_STR *)
-?GetComment@SAM_GROUP@@QAEJPAVNLS_STR@@@Z
-; private: long __thiscall NET_NAME::GetDeviceInfo(void)
-?GetDeviceInfo@NET_NAME@@AAEJXZ
-; public: virtual long __thiscall DEVICE::GetInfo(void)
-?GetInfo@DEVICE@@UAEJXZ
-; public: virtual long __thiscall DOMAIN::GetInfo(void)
-?GetInfo@DOMAIN@@UAEJXZ
-; public: virtual long __thiscall DOMAIN_WITH_DC_CACHE::GetInfo(void)
-?GetInfo@DOMAIN_WITH_DC_CACHE@@UAEJXZ
-; public: long __thiscall LM_ENUM::GetInfo(void)
-?GetInfo@LM_ENUM@@QAEJXZ
-; public: long __thiscall LM_RESUME_ENUM::GetInfo(int)
-?GetInfo@LM_RESUME_ENUM@@QAEJH@Z
-; public: long __thiscall NEW_LM_OBJ::GetInfo(void)
-?GetInfo@NEW_LM_OBJ@@QAEJXZ
-; public: virtual long __thiscall USER_MODALS::GetInfo(void)
-?GetInfo@USER_MODALS@@UAEJXZ
-; public: virtual long __thiscall USER_MODALS_3::GetInfo(void)
-?GetInfo@USER_MODALS_3@@UAEJXZ
-; private: long __thiscall LM_RESUME_ENUM::GetInfoMulti(void)
-?GetInfoMulti@LM_RESUME_ENUM@@AAEJXZ
-; private: long __thiscall LM_RESUME_ENUM::GetInfoSingle(int)
-?GetInfoSingle@LM_RESUME_ENUM@@AAEJH@Z
-; private: long __thiscall BROWSE_DOMAIN_ENUM::GetLanmanDomains(unsigned long)
-?GetLanmanDomains@BROWSE_DOMAIN_ENUM@@AAEJK@Z
-; private: long __thiscall BROWSE_DOMAIN_ENUM::GetLogonDomainDC(class NLS_STR *)
-?GetLogonDomainDC@BROWSE_DOMAIN_ENUM@@AAEJPAVNLS_STR@@@Z
-; public: long __thiscall SAM_ALIAS::GetMembers(class SAM_SID_MEM *)
-?GetMembers@SAM_ALIAS@@QAEJPAVSAM_SID_MEM@@@Z
-; public: long __thiscall SAM_GROUP::GetMembers(class SAM_RID_MEM *)
-?GetMembers@SAM_GROUP@@QAEJPAVSAM_RID_MEM@@@Z
-; public: long __thiscall SAM_DOMAIN::GetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM *)const 
-?GetPasswordInfo@SAM_DOMAIN@@QBEJPAVSAM_PSWD_DOM_INFO_MEM@@@Z
-; public: long __thiscall LSA_POLICY::GetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM *)const 
-?GetPrimaryDomain@LSA_POLICY@@QBEJPAVLSA_PRIMARY_DOM_INFO_MEM@@@Z
-; public: static long __stdcall NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY &,class SAM_DOMAIN const &,void * const *,unsigned long,int,class STRLIST *,unsigned long *,enum _SID_NAME_USE *,long *,unsigned short const *,class STRLIST *,class STRLIST *,class STRLIST *,class STRLIST *)
-?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SGJAAVLSA_POLICY@@ABVSAM_DOMAIN@@PBQAXKHPAVSTRLIST@@PAKPAW4_SID_NAME_USE@@PAJPBG3333@Z
-; public: static long __stdcall NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY &,void * const,void * const *,unsigned long,int,class STRLIST *,unsigned long *,enum _SID_NAME_USE *,long *,unsigned short const *,class STRLIST *,class STRLIST *,class STRLIST *,class STRLIST *)
-?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SGJAAVLSA_POLICY@@QAXPBQAXKHPAVSTRLIST@@PAKPAW4_SID_NAME_USE@@PAJPBG3333@Z
-; public: static long __stdcall LM_SRVRES::GetResourceCount(unsigned short const *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *)
-?GetResourceCount@LM_SRVRES@@SGJPBGPAK11111@Z
-; public: long __thiscall LSA_POLICY::GetServerRole(class LSA_SERVER_ROLE_INFO_MEM *)const 
-?GetServerRole@LSA_POLICY@@QBEJPAVLSA_SERVER_ROLE_INFO_MEM@@@Z
-; public: static long __stdcall LM_SRVRES::GetSessionsCount(unsigned short const *,unsigned long *)
-?GetSessionsCount@LM_SRVRES@@SGJPBGPAK@Z
-; private: long __thiscall BROWSE_DOMAIN_ENUM::GetTrustingDomains(void)
-?GetTrustingDomains@BROWSE_DOMAIN_ENUM@@AAEJXZ
-; long __stdcall GetW32ComputerName(class NLS_STR &)
-?GetW32ComputerName@@YGJAAVNLS_STR@@@Z
-; long __stdcall GetW32UserAndDomainName(class NLS_STR &,class NLS_STR &)
-?GetW32UserAndDomainName@@YGJAAVNLS_STR@@0@Z
-; long __stdcall GetW32UserName(class NLS_STR &)
-?GetW32UserName@@YGJAAVNLS_STR@@@Z
-; private: long __thiscall BROWSE_DOMAIN_ENUM::GetWorkgroupDomains(void)
-?GetWorkgroupDomains@BROWSE_DOMAIN_ENUM@@AAEJXZ
-; protected: long __thiscall USER::HandleNullAccount(void)
-?HandleNullAccount@USER@@IAEJXZ
-; public: int __thiscall OS_DACL_SUBJECT_ITER::HasInheritOnlyAce(void)const 
-?HasInheritOnlyAce@OS_DACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_F(void)const 
-?HasInheritOnlyAuditAce_F@OS_SACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_S(void)const 
-?HasInheritOnlyAuditAce_S@OS_SACL_SUBJECT_ITER@@QBEHXZ
-; protected: int __thiscall LM_RESUME_ENUM_ITER::HasMoreData(void)const 
-?HasMoreData@LM_RESUME_ENUM_ITER@@IBEHXZ
-; public: int __thiscall OS_DACL_SUBJECT_ITER::HasNewContainerAce(void)const 
-?HasNewContainerAce@OS_DACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_F(void)const 
-?HasNewContainerAuditAce_F@OS_SACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_S(void)const 
-?HasNewContainerAuditAce_S@OS_SACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_DACL_SUBJECT_ITER::HasNewObjectAce(void)const 
-?HasNewObjectAce@OS_DACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_F(void)const 
-?HasNewObjectAuditAce_F@OS_SACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_S(void)const 
-?HasNewObjectAuditAce_S@OS_SACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_DACL_SUBJECT_ITER::HasThisAce(void)const 
-?HasThisAce@OS_DACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_SACL_SUBJECT_ITER::HasThisAuditAce_F(void)const 
-?HasThisAuditAce_F@OS_SACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_SACL_SUBJECT_ITER::HasThisAuditAce_S(void)const 
-?HasThisAuditAce_S@OS_SACL_SUBJECT_ITER@@QBEHXZ
-; long __stdcall I_AppendToSTRLIST(class STRLIST *,class NLS_STR &)
-?I_AppendToSTRLIST@@YGJPAVSTRLIST@@AAVNLS_STR@@@Z
-; protected: virtual long __thiscall GROUP_1::I_ChangeToNew(void)
-?I_ChangeToNew@GROUP_1@@MAEJXZ
-; protected: virtual long __thiscall GROUP_MEMB::I_ChangeToNew(void)
-?I_ChangeToNew@GROUP_MEMB@@MAEJXZ
-; protected: virtual long __thiscall NEW_LM_OBJ::I_ChangeToNew(void)
-?I_ChangeToNew@NEW_LM_OBJ@@MAEJXZ
-; protected: virtual long __thiscall USER_2::I_ChangeToNew(void)
-?I_ChangeToNew@USER_2@@MAEJXZ
-; protected: virtual long __thiscall USER_3::I_ChangeToNew(void)
-?I_ChangeToNew@USER_3@@MAEJXZ
-; protected: virtual long __thiscall USER_MEMB::I_ChangeToNew(void)
-?I_ChangeToNew@USER_MEMB@@MAEJXZ
-; protected: virtual long __thiscall GROUP_1::I_CreateNew(void)
-?I_CreateNew@GROUP_1@@MAEJXZ
-; protected: virtual long __thiscall GROUP_MEMB::I_CreateNew(void)
-?I_CreateNew@GROUP_MEMB@@MAEJXZ
-; protected: virtual long __thiscall LSA_ACCOUNT::I_CreateNew(void)
-?I_CreateNew@LSA_ACCOUNT@@MAEJXZ
-; protected: virtual long __thiscall NET_ACCESS_1::I_CreateNew(void)
-?I_CreateNew@NET_ACCESS_1@@MAEJXZ
-; protected: virtual long __thiscall NEW_LM_OBJ::I_CreateNew(void)
-?I_CreateNew@NEW_LM_OBJ@@MAEJXZ
-; protected: virtual long __thiscall SHARE_2::I_CreateNew(void)
-?I_CreateNew@SHARE_2@@MAEJXZ
-; protected: virtual long __thiscall USER_2::I_CreateNew(void)
-?I_CreateNew@USER_2@@MAEJXZ
-; protected: virtual long __thiscall USER_3::I_CreateNew(void)
-?I_CreateNew@USER_3@@MAEJXZ
-; protected: virtual long __thiscall USER_MEMB::I_CreateNew(void)
-?I_CreateNew@USER_MEMB@@MAEJXZ
-; protected: virtual long __thiscall GROUP::I_Delete(unsigned int)
-?I_Delete@GROUP@@MAEJI@Z
-; protected: virtual long __thiscall LM_SESSION::I_Delete(unsigned int)
-?I_Delete@LM_SESSION@@MAEJI@Z
-; protected: virtual long __thiscall LSA_ACCOUNT::I_Delete(unsigned int)
-?I_Delete@LSA_ACCOUNT@@MAEJI@Z
-; protected: virtual long __thiscall NEW_LM_OBJ::I_Delete(unsigned int)
-?I_Delete@NEW_LM_OBJ@@MAEJI@Z
-; protected: virtual long __thiscall SHARE::I_Delete(unsigned int)
-?I_Delete@SHARE@@MAEJI@Z
-; protected: virtual long __thiscall USER::I_Delete(unsigned int)
-?I_Delete@USER@@MAEJI@Z
-; long __stdcall I_FetchAliasFields(class NLS_STR *,class ADMIN_AUTHORITY * *,class SLIST_OF_ADMIN_AUTHORITY *,unsigned long,int,class NLS_STR const &,class NLS_STR const *,long *)
-?I_FetchAliasFields@@YGJPAVNLS_STR@@PAPAVADMIN_AUTHORITY@@PAVSLIST_OF_ADMIN_AUTHORITY@@KHABV1@PBV1@PAJ@Z
-; long __stdcall I_FetchDCList(class LSA_TRANSLATED_NAME_MEM const &,class LSA_REF_DOMAIN_MEM const &,void *,void *,class NLS_STR * *,class STRLIST *,int *,long *,unsigned short const *,int,int,int)
-?I_FetchDCList@@YGJABVLSA_TRANSLATED_NAME_MEM@@ABVLSA_REF_DOMAIN_MEM@@PAX2PAPAVNLS_STR@@PAVSTRLIST@@PAHPAJPBGHHH@Z
-; long __stdcall I_FetchGroupFields(class NLS_STR *,class NLS_STR const &,class NLS_STR const *,long *)
-?I_FetchGroupFields@@YGJPAVNLS_STR@@ABV1@PBV1@PAJ@Z
-; long __stdcall I_FetchUserFields(class NLS_STR *,class NLS_STR *,unsigned long *,class NLS_STR const &,class NLS_STR const *,long *)
-?I_FetchUserFields@@YGJPAVNLS_STR@@0PAKABV1@PBV1@PAJ@Z
-; protected: virtual long __thiscall GROUP_1::I_GetInfo(void)
-?I_GetInfo@GROUP_1@@MAEJXZ
-; protected: virtual long __thiscall LM_FILE_2::I_GetInfo(void)
-?I_GetInfo@LM_FILE_2@@MAEJXZ
-; protected: virtual long __thiscall LM_FILE_3::I_GetInfo(void)
-?I_GetInfo@LM_FILE_3@@MAEJXZ
-; protected: virtual long __thiscall LM_SESSION_0::I_GetInfo(void)
-?I_GetInfo@LM_SESSION_0@@MAEJXZ
-; protected: virtual long __thiscall LM_SESSION_10::I_GetInfo(void)
-?I_GetInfo@LM_SESSION_10@@MAEJXZ
-; protected: virtual long __thiscall LM_SESSION_1::I_GetInfo(void)
-?I_GetInfo@LM_SESSION_1@@MAEJXZ
-; protected: virtual long __thiscall LM_SESSION_2::I_GetInfo(void)
-?I_GetInfo@LM_SESSION_2@@MAEJXZ
-; protected: virtual long __thiscall LOCAL_USER::I_GetInfo(void)
-?I_GetInfo@LOCAL_USER@@MAEJXZ
-; protected: virtual long __thiscall LSA_ACCOUNT::I_GetInfo(void)
-?I_GetInfo@LSA_ACCOUNT@@MAEJXZ
-; protected: virtual long __thiscall MEMBERSHIP_LM_OBJ::I_GetInfo(void)
-?I_GetInfo@MEMBERSHIP_LM_OBJ@@MAEJXZ
-; protected: virtual long __thiscall NET_ACCESS_1::I_GetInfo(void)
-?I_GetInfo@NET_ACCESS_1@@MAEJXZ
-; protected: virtual long __thiscall NEW_LM_OBJ::I_GetInfo(void)
-?I_GetInfo@NEW_LM_OBJ@@MAEJXZ
-; protected: virtual long __thiscall SERVER_0::I_GetInfo(void)
-?I_GetInfo@SERVER_0@@MAEJXZ
-; protected: virtual long __thiscall SERVER_1::I_GetInfo(void)
-?I_GetInfo@SERVER_1@@MAEJXZ
-; protected: virtual long __thiscall SERVER_2::I_GetInfo(void)
-?I_GetInfo@SERVER_2@@MAEJXZ
-; protected: virtual long __thiscall SHARE_1::I_GetInfo(void)
-?I_GetInfo@SHARE_1@@MAEJXZ
-; protected: virtual long __thiscall SHARE_2::I_GetInfo(void)
-?I_GetInfo@SHARE_2@@MAEJXZ
-; protected: virtual long __thiscall TIME_OF_DAY::I_GetInfo(void)
-?I_GetInfo@TIME_OF_DAY@@MAEJXZ
-; protected: virtual long __thiscall USER_11::I_GetInfo(void)
-?I_GetInfo@USER_11@@MAEJXZ
-; protected: virtual long __thiscall USER_2::I_GetInfo(void)
-?I_GetInfo@USER_2@@MAEJXZ
-; protected: virtual long __thiscall USER_3::I_GetInfo(void)
-?I_GetInfo@USER_3@@MAEJXZ
-; public: virtual long __thiscall WKSTA_10::I_GetInfo(void)
-?I_GetInfo@WKSTA_10@@UAEJXZ
-; public: virtual long __thiscall WKSTA_1::I_GetInfo(void)
-?I_GetInfo@WKSTA_1@@UAEJXZ
-; protected: virtual long __thiscall WKSTA_USER_1::I_GetInfo(void)
-?I_GetInfo@WKSTA_USER_1@@MAEJXZ
-; protected: virtual long __thiscall GROUP_1::I_WriteInfo(void)
-?I_WriteInfo@GROUP_1@@MAEJXZ
-; protected: virtual long __thiscall GROUP_MEMB::I_WriteInfo(void)
-?I_WriteInfo@GROUP_MEMB@@MAEJXZ
-; protected: virtual long __thiscall LSA_ACCOUNT::I_WriteInfo(void)
-?I_WriteInfo@LSA_ACCOUNT@@MAEJXZ
-; protected: virtual long __thiscall NET_ACCESS_1::I_WriteInfo(void)
-?I_WriteInfo@NET_ACCESS_1@@MAEJXZ
-; protected: virtual long __thiscall NEW_LM_OBJ::I_WriteInfo(void)
-?I_WriteInfo@NEW_LM_OBJ@@MAEJXZ
-; protected: virtual long __thiscall SERVER_1::I_WriteInfo(void)
-?I_WriteInfo@SERVER_1@@MAEJXZ
-; protected: virtual long __thiscall SERVER_2::I_WriteInfo(void)
-?I_WriteInfo@SERVER_2@@MAEJXZ
-; protected: virtual long __thiscall SHARE_1::I_WriteInfo(void)
-?I_WriteInfo@SHARE_1@@MAEJXZ
-; protected: virtual long __thiscall SHARE_2::I_WriteInfo(void)
-?I_WriteInfo@SHARE_2@@MAEJXZ
-; protected: virtual long __thiscall USER_2::I_WriteInfo(void)
-?I_WriteInfo@USER_2@@MAEJXZ
-; protected: virtual long __thiscall USER_3::I_WriteInfo(void)
-?I_WriteInfo@USER_3@@MAEJXZ
-; protected: virtual long __thiscall USER_MEMB::I_WriteInfo(void)
-?I_WriteInfo@USER_MEMB@@MAEJXZ
-; protected: virtual long __thiscall WKSTA_USER_1::I_WriteInfo(void)
-?I_WriteInfo@WKSTA_USER_1@@MAEJXZ
-; private: long __thiscall NET_ACCESS_1::I_WriteInfoAux(void)
-?I_WriteInfoAux@NET_ACCESS_1@@AAEJXZ
-; protected: virtual long __thiscall GROUP_1::I_WriteNew(void)
-?I_WriteNew@GROUP_1@@MAEJXZ
-; protected: virtual long __thiscall LSA_ACCOUNT::I_WriteNew(void)
-?I_WriteNew@LSA_ACCOUNT@@MAEJXZ
-; protected: virtual long __thiscall MEMBERSHIP_LM_OBJ::I_WriteNew(void)
-?I_WriteNew@MEMBERSHIP_LM_OBJ@@MAEJXZ
-; protected: virtual long __thiscall NET_ACCESS_1::I_WriteNew(void)
-?I_WriteNew@NET_ACCESS_1@@MAEJXZ
-; protected: virtual long __thiscall NEW_LM_OBJ::I_WriteNew(void)
-?I_WriteNew@NEW_LM_OBJ@@MAEJXZ
-; protected: virtual long __thiscall SHARE_2::I_WriteNew(void)
-?I_WriteNew@SHARE_2@@MAEJXZ
-; protected: virtual long __thiscall USER_2::I_WriteNew(void)
-?I_WriteNew@USER_2@@MAEJXZ
-; protected: virtual long __thiscall USER_3::I_WriteNew(void)
-?I_WriteNew@USER_3@@MAEJXZ
-; private: static void __stdcall LSA_POLICY::InitObjectAttributes(struct _OBJECT_ATTRIBUTES *,struct _SECURITY_QUALITY_OF_SERVICE *)
-?InitObjectAttributes@LSA_POLICY@@CGXPAU_OBJECT_ATTRIBUTES@@PAU_SECURITY_QUALITY_OF_SERVICE@@@Z
-; public: void __thiscall OS_SACL_SUBJECT_DESCRIPTOR::InitToZero(void)
-?InitToZero@OS_SACL_SUBJECT_DESCRIPTOR@@QAEXXZ
-; private: void __thiscall OS_SACL_SUBJECT_ITER::InitToZero(void)
-?InitToZero@OS_SACL_SUBJECT_ITER@@AAEXXZ
-; private: void __thiscall OS_PRIVILEGE_SET::InitializeMemory(void)
-?InitializeMemory@OS_PRIVILEGE_SET@@AAEXXZ
-; public: static void __stdcall OS_SID::InitializeMemory(void *)
-?InitializeMemory@OS_SID@@SGXPAX@Z
-; public: long __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::Insert(class BROWSE_DOMAIN_INFO const *,class ITER_SL_BROWSE_DOMAIN_INFO &)
-?Insert@SLIST_OF_BROWSE_DOMAIN_INFO@@QAEJPBVBROWSE_DOMAIN_INFO@@AAVITER_SL_BROWSE_DOMAIN_INFO@@@Z
-; public: long __thiscall LSA_ACCOUNT::InsertPrivilege(struct _LUID,unsigned long)
-?InsertPrivilege@LSA_ACCOUNT@@QAEJU_LUID@@K@Z
-; public: int __thiscall USER_11::IsAccountsOperator(void)const 
-?IsAccountsOperator@USER_11@@QBEHXZ
-; public: int __thiscall USER_11::IsCommOperator(void)const 
-?IsCommOperator@USER_11@@QBEHXZ
-; public: int __thiscall OS_ACL_SUBJECT_ITER::IsContainer(void)const 
-?IsContainer@OS_ACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall LM_SERVICE::IsContinuing(long *)
-?IsContinuing@LM_SERVICE@@QAEHPAJ@Z
-; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLDefaulted(void)const 
-?IsDACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
-; public: int __thiscall OS_SECURITY_DESCRIPTOR::IsDACLPresent(void)const 
-?IsDACLPresent@OS_SECURITY_DESCRIPTOR@@QBEHXZ
-; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLPresent(void)const 
-?IsDACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
-; public: int __thiscall LSA_ACCOUNT::IsDefaultSettings(void)
-?IsDefaultSettings@LSA_ACCOUNT@@QAEHXZ
-; public: int __thiscall OS_DACL_SUBJECT_ITER::IsDenyAll(void)const 
-?IsDenyAll@OS_DACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall LOCATION::IsDomain(void)const 
-?IsDomain@LOCATION@@QBEHXZ
-; public: int __thiscall LM_SESSION_1::IsEncrypted(void)const 
-?IsEncrypted@LM_SESSION_1@@QBEHXZ
-; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsGroupDefaulted(void)const 
-?IsGroupDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
-; public: int __thiscall LM_SESSION_1::IsGuest(void)const 
-?IsGuest@LM_SESSION_1@@QBEHXZ
-; public: int __thiscall LSA_OBJECT::IsHandleValid(void)const 
-?IsHandleValid@LSA_OBJECT@@QBEHXZ
-; public: int __thiscall OS_ACE::IsInheritOnly(void)const 
-?IsInheritOnly@OS_ACE@@QBEHXZ
-; public: int __thiscall OS_DACL_SUBJECT_ITER::IsInheritOnlyDenyAll(void)const 
-?IsInheritOnlyDenyAll@OS_DACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_ACE::IsInheritancePropagated(void)const 
-?IsInheritancePropagated@OS_ACE@@QBEHXZ
-; public: int __thiscall OS_ACE::IsInherittedByNewContainers(void)const 
-?IsInherittedByNewContainers@OS_ACE@@QBEHXZ
-; public: int __thiscall OS_ACE::IsInherittedByNewObjects(void)const 
-?IsInherittedByNewObjects@OS_ACE@@QBEHXZ
-; protected: int __thiscall LM_OBJ::IsInvalid(void)const 
-?IsInvalid@LM_OBJ@@IBEHXZ
-; private: int __thiscall LM_OBJ_BASE::IsInvalid(void)const 
-?IsInvalid@LM_OBJ_BASE@@ABEHXZ
-; public: int __thiscall OS_ACE::IsKnownACE(void)const 
-?IsKnownACE@OS_ACE@@QBEHXZ
-; public: int __thiscall NET_NAME::IsLocal(long *)
-?IsLocal@NET_NAME@@QAEHPAJ@Z
-; private: int __thiscall NEW_LM_OBJ::IsNew(void)const 
-?IsNew@NEW_LM_OBJ@@ABEHXZ
-; public: int __thiscall OS_DACL_SUBJECT_ITER::IsNewContainerDenyAll(void)const 
-?IsNewContainerDenyAll@OS_DACL_SUBJECT_ITER@@QBEHXZ
-; public: int __thiscall OS_DACL_SUBJECT_ITER::IsNewObjectDenyAll(void)const 
-?IsNewObjectDenyAll@OS_DACL_SUBJECT_ITER@@QBEHXZ
-; protected: int __thiscall NEW_LM_OBJ::IsOKState(void)const 
-?IsOKState@NEW_LM_OBJ@@IBEHXZ
-; protected: int __thiscall OS_ACE::IsOwnerAlloc(void)const 
-?IsOwnerAlloc@OS_ACE@@IBEHXZ
-; protected: int __thiscall OS_ACL::IsOwnerAlloc(void)const 
-?IsOwnerAlloc@OS_ACL@@IBEHXZ
-; private: int __thiscall OS_PRIVILEGE_SET::IsOwnerAlloc(void)const 
-?IsOwnerAlloc@OS_PRIVILEGE_SET@@ABEHXZ
-; protected: int __thiscall OS_SID::IsOwnerAlloc(void)const 
-?IsOwnerAlloc@OS_SID@@IBEHXZ
-; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsOwnerDefaulted(void)const 
-?IsOwnerDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
-; public: int __thiscall LM_SERVICE::IsPaused(long *)
-?IsPaused@LM_SERVICE@@QAEHPAJ@Z
-; public: int __thiscall LM_SERVICE::IsPausing(long *)
-?IsPausing@LM_SERVICE@@QAEHPAJ@Z
-; public: int __thiscall LM_FILE_3::IsPermCreate(void)const 
-?IsPermCreate@LM_FILE_3@@QBEHXZ
-; public: int __thiscall LM_FILE_3::IsPermRead(void)const 
-?IsPermRead@LM_FILE_3@@QBEHXZ
-; public: int __thiscall LM_FILE_3::IsPermWrite(void)const 
-?IsPermWrite@LM_FILE_3@@QBEHXZ
-; public: int __thiscall USER_11::IsPrintOperator(void)const 
-?IsPrintOperator@USER_11@@QBEHXZ
-; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLDefaulted(void)const 
-?IsSACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
-; public: int __thiscall OS_SECURITY_DESCRIPTOR::IsSACLPresent(void)const 
-?IsSACLPresent@OS_SECURITY_DESCRIPTOR@@QBEHXZ
-; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLPresent(void)const 
-?IsSACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
-; public: int __thiscall LOCATION::IsServer(void)const 
-?IsServer@LOCATION@@QBEHXZ
-; public: int __thiscall USER_11::IsServerOperator(void)const 
-?IsServerOperator@USER_11@@QBEHXZ
-; public: int __thiscall NET_NAME::IsSharable(long *)
-?IsSharable@NET_NAME@@QAEHPAJ@Z
-; public: int __thiscall LM_SERVICE::IsStarted(long *)
-?IsStarted@LM_SERVICE@@QAEHPAJ@Z
-; public: int __thiscall LM_SERVICE::IsStarting(long *)
-?IsStarting@LM_SERVICE@@QAEHPAJ@Z
-; public: int __thiscall LM_SERVICE::IsStopped(long *)
-?IsStopped@LM_SERVICE@@QAEHPAJ@Z
-; public: int __thiscall LM_SERVICE::IsStopping(long *)
-?IsStopping@LM_SERVICE@@QAEHPAJ@Z
-; protected: int __thiscall LM_OBJ::IsUnconstructed(void)const 
-?IsUnconstructed@LM_OBJ@@IBEHXZ
-; private: int __thiscall LM_OBJ_BASE::IsUnconstructed(void)const 
-?IsUnconstructed@LM_OBJ_BASE@@ABEHXZ
-; protected: int __thiscall LM_OBJ::IsValid(void)const 
-?IsValid@LM_OBJ@@IBEHXZ
-; private: int __thiscall LM_OBJ_BASE::IsValid(void)const 
-?IsValid@LM_OBJ_BASE@@ABEHXZ
-; public: int __thiscall OS_ACL::IsValid(void)const 
-?IsValid@OS_ACL@@QBEHXZ
-; public: int __thiscall OS_SECURITY_DESCRIPTOR::IsValid(void)const 
-?IsValid@OS_SECURITY_DESCRIPTOR@@QBEHXZ
-; public: int __thiscall OS_SID::IsValid(void)const 
-?IsValid@OS_SID@@QBEHXZ
-; public: static int __stdcall DOMAIN::IsValidDC(unsigned short const *,unsigned short const *)
-?IsValidDC@DOMAIN@@SGHPBG0@Z
-; public: int __thiscall LM_OBJ_BASE::IsValidationOn(void)
-?IsValidationOn@LM_OBJ_BASE@@QAEHXZ
-; int __stdcall IsWhiteSpace(unsigned short)
-?IsWhiteSpace@@YGHG@Z
-; public: long __thiscall LSA_POLICY::JoinDomain(class NLS_STR const &,class NLS_STR const &,int,class NLS_STR const *,unsigned short const *)
-?JoinDomain@LSA_POLICY@@QAEJABVNLS_STR@@0HPBV2@PBG@Z
-; int __stdcall LMOTypeToNetType(enum LMO_DEVICE)
-?LMOTypeToNetType@@YGHW4LMO_DEVICE@@@Z
-; private: static void __stdcall DOMAIN_WITH_DC_CACHE::LeaveCriticalSection(void)
-?LeaveCriticalSection@DOMAIN_WITH_DC_CACHE@@CGXXZ
-; public: long __thiscall LSA_POLICY::LeaveDomain(void)
-?LeaveDomain@LSA_POLICY@@QAEJXZ
-; public: long __thiscall SC_MANAGER::Lock(void)
-?Lock@SC_MANAGER@@QAEJXZ
-; long __stdcall LsaxGetComputerName(class NLS_STR *)
-?LsaxGetComputerName@@YGJPAVNLS_STR@@@Z
-; protected: void __thiscall LM_OBJ::MakeConstructed(void)
-?MakeConstructed@LM_OBJ@@IAEXXZ
-; private: void __thiscall LM_OBJ_BASE::MakeConstructed(void)
-?MakeConstructed@LM_OBJ_BASE@@AAEXXZ
-; protected: void __thiscall LM_OBJ::MakeInvalid(void)
-?MakeInvalid@LM_OBJ@@IAEXXZ
-; private: void __thiscall LM_OBJ_BASE::MakeInvalid(void)
-?MakeInvalid@LM_OBJ_BASE@@AAEXXZ
-; private: void __thiscall NEW_LM_OBJ::MakeNew(void)
-?MakeNew@NEW_LM_OBJ@@AAEXXZ
-; unsigned long __stdcall MakeNullNull(unsigned short const *,unsigned short * *)
-?MakeNullNull@@YGKPBGPAPAG@Z
-; private: static long __stdcall LSA_POLICY::MakeSecretName(class NLS_STR const &,int,class NLS_STR *)
-?MakeSecretName@LSA_POLICY@@CGJABVNLS_STR@@HPAV2@@Z
-; protected: void __thiscall LM_OBJ::MakeUnconstructed(void)
-?MakeUnconstructed@LM_OBJ@@IAEXXZ
-; private: void __thiscall LM_OBJ_BASE::MakeUnconstructed(void)
-?MakeUnconstructed@LM_OBJ_BASE@@AAEXXZ
-; protected: void __thiscall LM_OBJ::MakeValid(void)
-?MakeValid@LM_OBJ@@IAEXXZ
-; private: void __thiscall LM_OBJ_BASE::MakeValid(void)
-?MakeValid@LM_OBJ_BASE@@AAEXXZ
-; private: void __thiscall TRIPLE_SERVER_ENUM::MapBrowserToTriple(struct _SERVER_INFO_101 const *,struct _TRIPLE_SERVER_INFO *)
-?MapBrowserToTriple@TRIPLE_SERVER_ENUM@@AAEXPBU_SERVER_INFO_101@@PAU_TRIPLE_SERVER_INFO@@@Z
-; unsigned long __stdcall MapComm(unsigned short const *)
-?MapComm@@YGKPBG@Z
-; unsigned long __stdcall MapDrive(unsigned short const *)
-?MapDrive@@YGKPBG@Z
-; public: int __thiscall OS_ACL_SUBJECT_ITER::MapGenericAllOnly(void)const 
-?MapGenericAllOnly@OS_ACL_SUBJECT_ITER@@QBEHXZ
-; private: void __thiscall TRIPLE_SERVER_ENUM::MapKnownToTriple(struct _KNOWN_SERVER_INFO const *,struct _TRIPLE_SERVER_INFO *)
-?MapKnownToTriple@TRIPLE_SERVER_ENUM@@AAEXPBU_KNOWN_SERVER_INFO@@PAU_TRIPLE_SERVER_INFO@@@Z
-; unsigned long __stdcall MapLPT(unsigned short const *)
-?MapLPT@@YGKPBG@Z
-; private: void __thiscall SERVICE_ENUM::MapLmStatusToNtState(unsigned long,unsigned long *,unsigned long *)
-?MapLmStatusToNtState@SERVICE_ENUM@@AAEXKPAK0@Z
-; private: void __thiscall TRIPLE_SERVER_ENUM::MapLmToKnown(struct _USER_INFO_0 const *,struct _KNOWN_SERVER_INFO *)
-?MapLmToKnown@TRIPLE_SERVER_ENUM@@AAEXPBU_USER_INFO_0@@PAU_KNOWN_SERVER_INFO@@@Z
-; private: void __thiscall TRIPLE_SERVER_ENUM::MapNtToKnown(struct _DOMAIN_DISPLAY_MACHINE const *,struct _KNOWN_SERVER_INFO *)
-?MapNtToKnown@TRIPLE_SERVER_ENUM@@AAEXPBU_DOMAIN_DISPLAY_MACHINE@@PAU_KNOWN_SERVER_INFO@@@Z
-; public: long __thiscall OS_ACL_SUBJECT_ITER::MapSpecificToGeneric(unsigned long *,int)
-?MapSpecificToGeneric@OS_ACL_SUBJECT_ITER@@QAEJPAKH@Z
-; private: enum _SERVER_ROLE  __thiscall TRIPLE_SERVER_ENUM::MapTypeMaskToRole(unsigned long)const 
-?MapTypeMaskToRole@TRIPLE_SERVER_ENUM@@ABE?AW4_SERVER_ROLE@@K@Z
-; private: enum _SERVER_TYPE  __thiscall TRIPLE_SERVER_ENUM::MapTypeMaskToType(unsigned long)const 
-?MapTypeMaskToType@TRIPLE_SERVER_ENUM@@ABE?AW4_SERVER_TYPE@@K@Z
-; enum LMO_DEVICE  __stdcall NetTypeToLMOType(unsigned long)
-?NetTypeToLMOType@@YG?AW4LMO_DEVICE@@K@Z
-; public: class ALIAS_ENUM_OBJ const * __thiscall ALIAS_ENUM_ITER::Next(long *,int)
-?Next@ALIAS_ENUM_ITER@@QAEPBVALIAS_ENUM_OBJ@@PAJH@Z
-; public: class BROWSE_DOMAIN_INFO const * __thiscall BROWSE_DOMAIN_ENUM::Next(void)
-?Next@BROWSE_DOMAIN_ENUM@@QAEPBVBROWSE_DOMAIN_INFO@@XZ
-; public: class FILE2_ENUM_OBJ const * __thiscall FILE2_ENUM_ITER::Next(long *,int)
-?Next@FILE2_ENUM_ITER@@QAEPBVFILE2_ENUM_OBJ@@PAJH@Z
-; public: class FILE3_ENUM_OBJ const * __thiscall FILE3_ENUM_ITER::Next(long *,int)
-?Next@FILE3_ENUM_ITER@@QAEPBVFILE3_ENUM_OBJ@@PAJH@Z
-; public: unsigned short const * __thiscall ITER_DEVICE::Next(void)
-?Next@ITER_DEVICE@@QAEPBGXZ
-; public: class BROWSE_DOMAIN_INFO * __thiscall ITER_SL_BROWSE_DOMAIN_INFO::Next(void)
-?Next@ITER_SL_BROWSE_DOMAIN_INFO@@QAEPAVBROWSE_DOMAIN_INFO@@XZ
-; public: class LM_RESUME_BUFFER * __thiscall ITER_SL_LM_RESUME_BUFFER::Next(void)
-?Next@ITER_SL_LM_RESUME_BUFFER@@QAEPAVLM_RESUME_BUFFER@@XZ
-; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::Next(void)
-?Next@ITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
-; public: class LSA_ACCOUNTS_ENUM_OBJ const * __thiscall LSA_ACCOUNTS_ENUM_ITER::Next(long *,int)
-?Next@LSA_ACCOUNTS_ENUM_ITER@@QAEPBVLSA_ACCOUNTS_ENUM_OBJ@@PAJH@Z
-; public: class LSA_PRIVILEGES_ENUM_OBJ const * __thiscall LSA_PRIVILEGES_ENUM_ITER::Next(long *,int)
-?Next@LSA_PRIVILEGES_ENUM_ITER@@QAEPBVLSA_PRIVILEGES_ENUM_OBJ@@PAJH@Z
-; public: class NT_GROUP_ENUM_OBJ const * __thiscall NT_GROUP_ENUM_ITER::Next(long *,int)
-?Next@NT_GROUP_ENUM_ITER@@QAEPBVNT_GROUP_ENUM_OBJ@@PAJH@Z
-; public: class NT_MACHINE_ENUM_OBJ const * __thiscall NT_MACHINE_ENUM_ITER::Next(long *,int)
-?Next@NT_MACHINE_ENUM_ITER@@QAEPBVNT_MACHINE_ENUM_OBJ@@PAJH@Z
-; public: class NT_USER_ENUM_OBJ const * __thiscall NT_USER_ENUM_ITER::Next(long *,int)
-?Next@NT_USER_ENUM_ITER@@QAEPBVNT_USER_ENUM_OBJ@@PAJH@Z
-; public: virtual int __thiscall OS_DACL_SUBJECT_ITER::Next(long *)
-?Next@OS_DACL_SUBJECT_ITER@@UAEHPAJ@Z
-; public: virtual int __thiscall OS_SACL_SUBJECT_ITER::Next(long *)
-?Next@OS_SACL_SUBJECT_ITER@@UAEHPAJ@Z
-; public: class SAM_USER_ENUM_OBJ const * __thiscall SAM_USER_ENUM_ITER::Next(long *,int)
-?Next@SAM_USER_ENUM_ITER@@QAEPBVSAM_USER_ENUM_OBJ@@PAJH@Z
-; public: class TRUSTED_DOMAIN_ENUM_OBJ const * __thiscall TRUSTED_DOMAIN_ENUM_ITER::Next(long *,int)
-?Next@TRUSTED_DOMAIN_ENUM_ITER@@QAEPBVTRUSTED_DOMAIN_ENUM_OBJ@@PAJH@Z
-; public: class USER0_ENUM_OBJ const * __thiscall USER0_ENUM_ITER::Next(long *,int)
-?Next@USER0_ENUM_ITER@@QAEPBVUSER0_ENUM_OBJ@@PAJH@Z
-; public: class USER10_ENUM_OBJ const * __thiscall USER10_ENUM_ITER::Next(long *,int)
-?Next@USER10_ENUM_ITER@@QAEPBVUSER10_ENUM_OBJ@@PAJH@Z
-; public: class USER1_ENUM_OBJ const * __thiscall USER1_ENUM_ITER::Next(long *,int)
-?Next@USER1_ENUM_ITER@@QAEPBVUSER1_ENUM_OBJ@@PAJH@Z
-; public: class USER2_ENUM_OBJ const * __thiscall USER2_ENUM_ITER::Next(long *,int)
-?Next@USER2_ENUM_ITER@@QAEPBVUSER2_ENUM_OBJ@@PAJH@Z
-; protected: long __thiscall LM_RESUME_ENUM_ITER::NextGetInfo(void)
-?NextGetInfo@LM_RESUME_ENUM_ITER@@IAEJXZ
-; protected: void __thiscall LM_RESUME_ENUM::NukeBuffers(void)
-?NukeBuffers@LM_RESUME_ENUM@@IAEXXZ
-; public: static long __stdcall LM_SRVRES::NukeUsersSession(unsigned short const *,unsigned short const *,unsigned short const *)
-?NukeUsersSession@LM_SRVRES@@SGJPBG00@Z
-; public: long __thiscall LSA_POLICY::Open(unsigned short const *,unsigned long)
-?Open@LSA_POLICY@@QAEJPBGK@Z
-; public: long __thiscall LSA_SECRET::Open(class LSA_POLICY const &,unsigned long)
-?Open@LSA_SECRET@@QAEJABVLSA_POLICY@@K@Z
-; private: long __thiscall SAM_DOMAIN::OpenDomain(class SAM_SERVER const &,void *,unsigned long)
-?OpenDomain@SAM_DOMAIN@@AAEJABVSAM_SERVER@@PAXK@Z
-; public: long __thiscall LM_SERVICE::Pause(unsigned int,unsigned int)
-?Pause@LM_SERVICE@@QAEJII@Z
-; public: long __thiscall LM_SERVICE::Poll(int *)
-?Poll@LM_SERVICE@@QAEJPAH@Z
-; protected: void __thiscall LSA_ACCOUNT::PrintInfo(unsigned short const *)
-?PrintInfo@LSA_ACCOUNT@@IAEXPBG@Z
-; public: struct _ACCESS_LIST * __thiscall NET_ACCESS_1::QueryACE(unsigned int)const 
-?QueryACE@NET_ACCESS_1@@QBEPAU_ACCESS_LIST@@I@Z
-; public: void * __thiscall OS_ACE::QueryACE(void)const 
-?QueryACE@OS_ACE@@QBEPAXXZ
-; public: long __thiscall OS_ACL::QueryACE(unsigned long,class OS_ACE *)const 
-?QueryACE@OS_ACL@@QBEJKPAVOS_ACE@@@Z
-; public: unsigned int __thiscall NET_ACCESS_1::QueryACECount(void)const 
-?QueryACECount@NET_ACCESS_1@@QBEIXZ
-; public: long __thiscall OS_ACL::QueryACECount(unsigned long *)const 
-?QueryACECount@OS_ACL@@QBEJPAK@Z
-; protected: class OS_ACL const * __thiscall OS_ACL_SUBJECT_ITER::QueryACL(void)const 
-?QueryACL@OS_ACL_SUBJECT_ITER@@IBEPBVOS_ACL@@XZ
-; public: unsigned long __thiscall ADMIN_AUTHORITY::QueryAccessAccountDomain(void)const 
-?QueryAccessAccountDomain@ADMIN_AUTHORITY@@QBEKXZ
-; public: unsigned long __thiscall ADMIN_AUTHORITY::QueryAccessBuiltinDomain(void)const 
-?QueryAccessBuiltinDomain@ADMIN_AUTHORITY@@QBEKXZ
-; public: unsigned long __thiscall ADMIN_AUTHORITY::QueryAccessLSAPolicy(void)const 
-?QueryAccessLSAPolicy@ADMIN_AUTHORITY@@QBEKXZ
-; public: unsigned long __thiscall OS_ACE::QueryAccessMask(void)const 
-?QueryAccessMask@OS_ACE@@QBEKXZ
-; public: unsigned long __thiscall OS_DACL_SUBJECT_ITER::QueryAccessMask(void)const 
-?QueryAccessMask@OS_DACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned long __thiscall ADMIN_AUTHORITY::QueryAccessSamServer(void)const 
-?QueryAccessSamServer@ADMIN_AUTHORITY@@QBEKXZ
-; public: unsigned int __thiscall NT_MACHINE_ENUM_OBJ::QueryAccountCtrl(void)const 
-?QueryAccountCtrl@NT_MACHINE_ENUM_OBJ@@QBEIXZ
-; public: int __thiscall USER_2::QueryAccountDisabled(void)const 
-?QueryAccountDisabled@USER_2@@QBEHXZ
-; public: class SAM_DOMAIN * __thiscall ADMIN_AUTHORITY::QueryAccountDomain(void)const 
-?QueryAccountDomain@ADMIN_AUTHORITY@@QBEPAVSAM_DOMAIN@@XZ
-; public: long __thiscall USER_2::QueryAccountExpires(void)const 
-?QueryAccountExpires@USER_2@@QBEJXZ
-; public: enum _ACCOUNT_TYPE  __thiscall USER_3::QueryAccountType(void)const 
-?QueryAccountType@USER_3@@QBE?AW4_ACCOUNT_TYPE@@XZ
-; public: unsigned char __thiscall OS_ACE::QueryAceFlags(void)const 
-?QueryAceFlags@OS_ACE@@QBEEXZ
-; public: struct _ACL * __thiscall OS_ACL::QueryAcl(void)const 
-?QueryAcl@OS_ACL@@QBEPAU_ACL@@XZ
-; protected: unsigned int __thiscall OS_OBJECT_WITH_DATA::QueryAllocSize(void)const 
-?QueryAllocSize@OS_OBJECT_WITH_DATA@@IBEIXZ
-; public: unsigned short const * __thiscall DOMAIN::QueryAnyDC(void)const 
-?QueryAnyDC@DOMAIN@@QBEPBGXZ
-; public: unsigned short const * __thiscall MEMBERSHIP_LM_OBJ::QueryAssocName(unsigned int)const 
-?QueryAssocName@MEMBERSHIP_LM_OBJ@@QBEPBGI@Z
-; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_F(void)const 
-?QueryAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_S(void)const 
-?QueryAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QBEKXZ
-; public: virtual unsigned long __thiscall LOCAL_USER::QueryAuthFlags(void)const 
-?QueryAuthFlags@LOCAL_USER@@UBEKXZ
-; public: virtual unsigned long __thiscall USER_11::QueryAuthFlags(void)const 
-?QueryAuthFlags@USER_11@@UBEKXZ
-; protected: unsigned char * __thiscall LM_ENUM_ITER::QueryBasePtr(void)const 
-?QueryBasePtr@LM_ENUM_ITER@@IBEPAEXZ
-; protected: unsigned char const * __thiscall LM_RESUME_ENUM_ITER::QueryBasePtr(void)const 
-?QueryBasePtr@LM_RESUME_ENUM_ITER@@IBEPBEXZ
-; protected: unsigned char * __thiscall DEVICE::QueryBufPtr(void)
-?QueryBufPtr@DEVICE@@IAEPAEXZ
-; protected: void * __thiscall NT_MEMORY::QueryBuffer(void)const 
-?QueryBuffer@NT_MEMORY@@IBEPAXXZ
-; public: class BUFFER const & __thiscall SERVICE_CONTROL::QueryBuffer(void)const 
-?QueryBuffer@SERVICE_CONTROL@@QBEABVBUFFER@@XZ
-; public: struct _SAM_RID_ENUMERATION const * __thiscall ALIAS_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@ALIAS_ENUM_OBJ@@QBEPBU_SAM_RID_ENUMERATION@@XZ
-; public: struct _SERVER_INFO_100 const * __thiscall DOMAIN0_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@DOMAIN0_ENUM_OBJ@@QBEPBU_SERVER_INFO_100@@XZ
-; protected: unsigned char const * __thiscall ENUM_OBJ_BASE::QueryBufferPtr(void)const 
-?QueryBufferPtr@ENUM_OBJ_BASE@@IBEPBEXZ
-; public: struct _FILE_INFO_3 const * __thiscall FILE3_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@FILE3_ENUM_OBJ@@QBEPBU_FILE_INFO_3@@XZ
-; public: struct _GROUP_INFO_0 const * __thiscall GROUP0_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@GROUP0_ENUM_OBJ@@QBEPBU_GROUP_INFO_0@@XZ
-; public: unsigned char const * __thiscall LM_RESUME_BUFFER::QueryBufferPtr(void)const 
-?QueryBufferPtr@LM_RESUME_BUFFER@@QBEPBEXZ
-; public: struct _POLICY_PRIVILEGE_DEFINITION const * __thiscall LSA_PRIVILEGES_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QBEPBU_POLICY_PRIVILEGE_DEFINITION@@XZ
-; protected: unsigned char * __thiscall NEW_LM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@NEW_LM_OBJ@@IBEPAEXZ
-; public: struct _DOMAIN_DISPLAY_MACHINE const * __thiscall NT_MACHINE_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@NT_MACHINE_ENUM_OBJ@@QBEPBU_DOMAIN_DISPLAY_MACHINE@@XZ
-; public: struct _SAM_RID_ENUMERATION const * __thiscall SAM_USER_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@SAM_USER_ENUM_OBJ@@QBEPBU_SAM_RID_ENUMERATION@@XZ
-; public: struct _SERVER_INFO_101 const * __thiscall SERVER1_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@SERVER1_ENUM_OBJ@@QBEPBU_SERVER_INFO_101@@XZ
-; public: struct _USER_INFO_0 const * __thiscall USER0_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@USER0_ENUM_OBJ@@QBEPBU_USER_INFO_0@@XZ
-; protected: unsigned int __thiscall NEW_LM_OBJ::QueryBufferSize(void)const 
-?QueryBufferSize@NEW_LM_OBJ@@IBEIXZ
-; public: class SAM_DOMAIN * __thiscall ADMIN_AUTHORITY::QueryBuiltinDomain(void)const 
-?QueryBuiltinDomain@ADMIN_AUTHORITY@@QBEPAVSAM_DOMAIN@@XZ
-; public: long __thiscall OS_ACL::QueryBytesInUse(unsigned long *)const 
-?QueryBytesInUse@OS_ACL@@QBEJPAK@Z
-; public: unsigned short const * __thiscall LM_SESSION_2::QueryClientType(void)const 
-?QueryClientType@LM_SESSION_2@@QBEPBGXZ
-; public: unsigned short const * __thiscall GROUP_1::QueryComment(void)const 
-?QueryComment@GROUP_1@@QBEPBGXZ
-; public: unsigned short const * __thiscall SERVER1_ENUM_OBJ::QueryComment(void)const 
-?QueryComment@SERVER1_ENUM_OBJ@@QBEPBGXZ
-; public: unsigned short const * __thiscall SERVER_1::QueryComment(void)const 
-?QueryComment@SERVER_1@@QBEPBGXZ
-; public: unsigned short const * __thiscall SHARE_1::QueryComment(void)const 
-?QueryComment@SHARE_1@@QBEPBGXZ
-; public: unsigned short const * __thiscall USER_11::QueryComment(void)const 
-?QueryComment@USER_11@@QBEPBGXZ
-; public: long __thiscall NET_NAME::QueryComputerName(class NLS_STR *)
-?QueryComputerName@NET_NAME@@QAEJPAVNLS_STR@@@Z
-; public: long __thiscall SC_SERVICE::QueryConfig(struct _QUERY_SERVICE_CONFIGW * *)
-?QueryConfig@SC_SERVICE@@QAEJPAPAU_QUERY_SERVICE_CONFIGW@@@Z
-; public: class OS_SECURITY_DESCRIPTOR_CONTROL const * __thiscall OS_SECURITY_DESCRIPTOR::QueryControl(void)const 
-?QueryControl@OS_SECURITY_DESCRIPTOR@@QBEPBVOS_SECURITY_DESCRIPTOR_CONTROL@@XZ
-; public: struct _TRUSTED_CONTROLLERS_INFO const & __thiscall LSA_TRUSTED_DC_LIST::QueryControllerList(void)const 
-?QueryControllerList@LSA_TRUSTED_DC_LIST@@QBEABU_TRUSTED_CONTROLLERS_INFO@@XZ
-; public: long __thiscall LSA_TRUSTED_DOMAIN::QueryControllerList(class LSA_REF_DOMAIN_MEM *)const 
-?QueryControllerList@LSA_TRUSTED_DOMAIN@@QBEJPAVLSA_REF_DOMAIN_MEM@@@Z
-; public: unsigned int __thiscall ENUM_CALLER::QueryCount(void)const 
-?QueryCount@ENUM_CALLER@@QBEIXZ
-; protected: unsigned int __thiscall LM_ENUM_ITER::QueryCount(void)const 
-?QueryCount@LM_ENUM_ITER@@IBEIXZ
-; protected: unsigned int __thiscall LM_RESUME_ENUM_ITER::QueryCount(void)const 
-?QueryCount@LM_RESUME_ENUM_ITER@@IBEIXZ
-; public: int __thiscall LSA_TRUSTED_DC_LIST::QueryCount(void)
-?QueryCount@LSA_TRUSTED_DC_LIST@@QAEHXZ
-; public: unsigned long __thiscall NT_MEMORY::QueryCount(void)const 
-?QueryCount@NT_MEMORY@@QBEKXZ
-; protected: static long __stdcall NT_ACCOUNT_ENUM::QueryCountPreferences2(unsigned long *,unsigned long *,unsigned int,unsigned long,unsigned long,unsigned long)
-?QueryCountPreferences2@NT_ACCOUNT_ENUM@@KGJPAK0IKKK@Z
-; protected: virtual long __thiscall NT_ACCOUNT_ENUM::QueryCountPreferences(unsigned long *,unsigned long *,unsigned int,unsigned long,unsigned long,unsigned long)
-?QueryCountPreferences@NT_ACCOUNT_ENUM@@MAEJPAK0IKKK@Z
-; protected: unsigned long __thiscall OS_ACL_SUBJECT_ITER::QueryCurrentACE(void)const 
-?QueryCurrentACE@OS_ACL_SUBJECT_ITER@@IBEKXZ
-; public: long __thiscall LSA_POLICY::QueryCurrentUser(class NLS_STR *)const 
-?QueryCurrentUser@LSA_POLICY@@QBEJPAVNLS_STR@@@Z
-; public: unsigned int __thiscall SHARE_2::QueryCurrentUses(void)const 
-?QueryCurrentUses@SHARE_2@@QBEIXZ
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::QueryDACL(int *,class OS_ACL * *,int *)const 
-?QueryDACL@OS_SECURITY_DESCRIPTOR@@QBEJPAHPAPAVOS_ACL@@0@Z
-; public: long __thiscall LSA_DOMAIN_INFO::QueryDcName(class NLS_STR *)
-?QueryDcName@LSA_DOMAIN_INFO@@QAEJPAVNLS_STR@@@Z
-; protected: enum LMO_DEVICE  __thiscall DEVICE::QueryDevType(void)const 
-?QueryDevType@DEVICE@@IBE?AW4LMO_DEVICE@@XZ
-; public: long __thiscall LOCATION::QueryDisplayName(class NLS_STR *)const 
-?QueryDisplayName@LOCATION@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall LSA_PRIVILEGES_ENUM_OBJ::QueryDisplayName(class NLS_STR *,class LSA_POLICY const *)const 
-?QueryDisplayName@LSA_PRIVILEGES_ENUM_OBJ@@QBEJPAVNLS_STR@@PBVLSA_POLICY@@@Z
-; public: unsigned short const * __thiscall LOCATION::QueryDomain(void)const 
-?QueryDomain@LOCATION@@QBEPBGXZ
-; public: long __thiscall LSA_TRANSLATED_NAME_MEM::QueryDomainIndex(unsigned long)const 
-?QueryDomainIndex@LSA_TRANSLATED_NAME_MEM@@QBEJK@Z
-; public: unsigned short const * __thiscall BROWSE_DOMAIN_INFO::QueryDomainName(void)const 
-?QueryDomainName@BROWSE_DOMAIN_INFO@@QBEPBGXZ
-; public: unsigned long __thiscall BROWSE_DOMAIN_INFO::QueryDomainSources(void)const 
-?QueryDomainSources@BROWSE_DOMAIN_INFO@@QBEKXZ
-; public: long __thiscall NET_NAME::QueryDrive(class NLS_STR *)
-?QueryDrive@NET_NAME@@QAEJPAVNLS_STR@@@Z
-; public: unsigned long __thiscall USER_MODALS_3::QueryDuration(void)const 
-?QueryDuration@USER_MODALS_3@@QBEKXZ
-; public: long __thiscall BASE::QueryError(void)const 
-?QueryError@BASE@@QBEJXZ
-; public: long __thiscall LM_SERVICE::QueryExitCode(void)const 
-?QueryExitCode@LM_SERVICE@@QBEJXZ
-; public: long __thiscall NET_ACCESS_1::QueryFailingName(class NLS_STR *,enum PERMNAME_TYPE *)const 
-?QueryFailingName@NET_ACCESS_1@@QBEJPAVNLS_STR@@PAW4PERMNAME_TYPE@@@Z
-; public: int __thiscall LSA_TRANSLATED_SID_MEM::QueryFailingNameIndex(unsigned long *)
-?QueryFailingNameIndex@LSA_TRANSLATED_SID_MEM@@QAEHPAK@Z
-; public: unsigned long __thiscall LM_FILE::QueryFileId(void)const 
-?QueryFileId@LM_FILE@@QBEKXZ
-; public: unsigned long __thiscall USER_MODALS::QueryForceLogoff(void)const 
-?QueryForceLogoff@USER_MODALS@@QBEKXZ
-; public: unsigned short const * __thiscall USER_11::QueryFullName(void)const 
-?QueryFullName@USER_11@@QBEPBGXZ
-; public: long __thiscall LM_SERVICE::QueryFullStatus(enum LM_SERVICE_STATUS *,struct LM_SERVICE_OTHER_STATUS *)
-?QueryFullStatus@LM_SERVICE@@QAEJPAW4LM_SERVICE_STATUS@@PAULM_SERVICE_OTHER_STATUS@@@Z
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::QueryGroup(int *,class OS_SID * *,int *)const 
-?QueryGroup@OS_SECURITY_DESCRIPTOR@@QBEJPAHPAPAVOS_SID@@0@Z
-; public: void * __thiscall LSA_OBJECT::QueryHandle(void)const 
-?QueryHandle@LSA_OBJECT@@QBEPAXXZ
-; public: void * __thiscall SAM_OBJECT::QueryHandle(void)const 
-?QueryHandle@SAM_OBJECT@@QBEPAXXZ
-; public: struct SC_HANDLE__ * __thiscall SERVICE_CONTROL::QueryHandle(void)const 
-?QueryHandle@SERVICE_CONTROL@@QBEPAUSC_HANDLE__@@XZ
-; public: unsigned short const * __thiscall USER_11::QueryHomeDir(void)const 
-?QueryHomeDir@USER_11@@QBEPBGXZ
-; public: unsigned short const * __thiscall USER_3::QueryHomedirDrive(void)const 
-?QueryHomedirDrive@USER_3@@QBEPBGXZ
-; public: unsigned char * __thiscall LOGON_HOURS_SETTING::QueryHoursBlock(void)const 
-?QueryHoursBlock@LOGON_HOURS_SETTING@@QBEPAEXZ
-; public: unsigned long __thiscall LM_SESSION_10::QueryIdleTime(void)const 
-?QueryIdleTime@LM_SESSION_10@@QBEKXZ
-; public: long __thiscall LSA_SECRET::QueryInfo(class NLS_STR *,class NLS_STR *,union _LARGE_INTEGER *,union _LARGE_INTEGER *)const 
-?QueryInfo@LSA_SECRET@@QBEJPAVNLS_STR@@0PAT_LARGE_INTEGER@@1@Z
-; private: long __thiscall LSA_TRUSTED_DC_LIST::QueryInfo(class NLS_STR const &,unsigned short const *)
-?QueryInfo@LSA_TRUSTED_DC_LIST@@AAEJABVNLS_STR@@PBG@Z
-; public: unsigned int __thiscall LM_ENUM::QueryInfoLevel(void)const 
-?QueryInfoLevel@LM_ENUM@@QBEIXZ
-; public: unsigned int __thiscall LM_RESUME_ENUM::QueryInfoLevel(void)const 
-?QueryInfoLevel@LM_RESUME_ENUM@@QBEIXZ
-; public: unsigned long __thiscall OS_DACL_SUBJECT_ITER::QueryInheritOnlyAccessMask(void)const 
-?QueryInheritOnlyAccessMask@OS_DACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_F(void)const 
-?QueryInheritOnlyAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_S(void)const 
-?QueryInheritOnlyAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned int __thiscall LM_RESUME_BUFFER::QueryItemCount(void)const 
-?QueryItemCount@LM_RESUME_BUFFER@@QBEIXZ
-; protected: virtual unsigned int __thiscall MEMBERSHIP_LM_OBJ::QueryItemSize(void)const 
-?QueryItemSize@MEMBERSHIP_LM_OBJ@@MBEIXZ
-; public: unsigned short const * __thiscall WKSTA_1::QueryLMRoot(void)const 
-?QueryLMRoot@WKSTA_1@@QBEPBGXZ
-; public: class LSA_POLICY * __thiscall ADMIN_AUTHORITY::QueryLSAPolicy(void)const 
-?QueryLSAPolicy@ADMIN_AUTHORITY@@QBEPAVLSA_POLICY@@XZ
-; public: long __thiscall NET_NAME::QueryLastComponent(class NLS_STR *)
-?QueryLastComponent@NET_NAME@@QAEJPAVNLS_STR@@@Z
-; public: long __thiscall OS_SID::QueryLastSubAuthority(unsigned long * *)const 
-?QueryLastSubAuthority@OS_SID@@QBEJPAPAK@Z
-; public: unsigned long __thiscall OS_SID::QueryLength(void)const 
-?QueryLength@OS_SID@@QBEKXZ
-; public: long __thiscall NET_NAME::QueryLocalDrive(class NLS_STR *)
-?QueryLocalDrive@NET_NAME@@QAEJPAVNLS_STR@@@Z
-; public: long __thiscall NET_NAME::QueryLocalPath(class NLS_STR *)
-?QueryLocalPath@NET_NAME@@QAEJPAVNLS_STR@@@Z
-; public: long __thiscall SC_MANAGER::QueryLockStatus(struct _QUERY_SERVICE_LOCK_STATUSW * *)
-?QueryLockStatus@SC_MANAGER@@QAEJPAPAU_QUERY_SERVICE_LOCK_STATUSW@@@Z
-; public: int __thiscall USER_2::QueryLockout(void)const 
-?QueryLockout@USER_2@@QBEHXZ
-; public: unsigned short const * __thiscall WKSTA_10::QueryLogonDomain(void)const 
-?QueryLogonDomain@WKSTA_10@@QBEPBGXZ
-; public: unsigned short const * __thiscall WKSTA_USER_1::QueryLogonDomain(void)const 
-?QueryLogonDomain@WKSTA_USER_1@@QBEPBGXZ
-; public: class LOGON_HOURS_SETTING const & __thiscall USER_11::QueryLogonHours(void)const 
-?QueryLogonHours@USER_11@@QBEABVLOGON_HOURS_SETTING@@XZ
-; public: unsigned short const * __thiscall WKSTA_1::QueryLogonServer(void)const 
-?QueryLogonServer@WKSTA_1@@QBEPBGXZ
-; public: unsigned short const * __thiscall WKSTA_USER_1::QueryLogonServer(void)const 
-?QueryLogonServer@WKSTA_USER_1@@QBEPBGXZ
-; public: unsigned short const * __thiscall WKSTA_10::QueryLogonUser(void)const 
-?QueryLogonUser@WKSTA_10@@QBEPBGXZ
-; public: struct _LUID  __thiscall OS_LUID::QueryLuid(void)const 
-?QueryLuid@OS_LUID@@QBE?AU_LUID@@XZ
-; public: unsigned int __thiscall SERVER1_ENUM_OBJ::QueryMajorVer(void)const 
-?QueryMajorVer@SERVER1_ENUM_OBJ@@QBEIXZ
-; public: unsigned int __thiscall SERVER_1::QueryMajorVer(void)const 
-?QueryMajorVer@SERVER_1@@QBEIXZ
-; public: unsigned int __thiscall WKSTA_10::QueryMajorVer(void)const 
-?QueryMajorVer@WKSTA_10@@QBEIXZ
-; public: unsigned long __thiscall USER_MODALS::QueryMaxPasswdAge(void)const 
-?QueryMaxPasswdAge@USER_MODALS@@QBEKXZ
-; public: unsigned int __thiscall SERVER_2::QueryMaxUsers(void)const 
-?QueryMaxUsers@SERVER_2@@QBEIXZ
-; public: unsigned int __thiscall SHARE_2::QueryMaxUses(void)const 
-?QueryMaxUses@SHARE_2@@QBEIXZ
-; public: unsigned long __thiscall USER_MODALS::QueryMinPasswdAge(void)const 
-?QueryMinPasswdAge@USER_MODALS@@QBEKXZ
-; public: unsigned int __thiscall USER_MODALS::QueryMinPasswdLen(void)const 
-?QueryMinPasswdLen@USER_MODALS@@QBEIXZ
-; public: unsigned int __thiscall SERVER1_ENUM_OBJ::QueryMinorVer(void)const 
-?QueryMinorVer@SERVER1_ENUM_OBJ@@QBEIXZ
-; public: unsigned int __thiscall SERVER_1::QueryMinorVer(void)const 
-?QueryMinorVer@SERVER_1@@QBEIXZ
-; public: unsigned int __thiscall WKSTA_10::QueryMinorVer(void)const 
-?QueryMinorVer@WKSTA_10@@QBEIXZ
-; public: long __thiscall LOCATION::QueryNOSVersion(unsigned int *,unsigned int *)
-?QueryNOSVersion@LOCATION@@QAEJPAI0@Z
-; public: virtual unsigned short const * __thiscall COMPUTER::QueryName(void)const 
-?QueryName@COMPUTER@@UBEPBGXZ
-; public: virtual unsigned short const * __thiscall DEVICE::QueryName(void)const 
-?QueryName@DEVICE@@UBEPBGXZ
-; public: unsigned short const * __thiscall DOMAIN0_ENUM_OBJ::QueryName(void)const 
-?QueryName@DOMAIN0_ENUM_OBJ@@QBEPBGXZ
-; public: virtual unsigned short const * __thiscall DOMAIN::QueryName(void)const 
-?QueryName@DOMAIN@@UBEPBGXZ
-; public: unsigned short const * __thiscall GROUP0_ENUM_OBJ::QueryName(void)const 
-?QueryName@GROUP0_ENUM_OBJ@@QBEPBGXZ
-; public: virtual unsigned short const * __thiscall GROUP::QueryName(void)const 
-?QueryName@GROUP@@UBEPBGXZ
-; public: virtual unsigned short const * __thiscall GROUP_MEMB::QueryName(void)const 
-?QueryName@GROUP_MEMB@@UBEPBGXZ
-; public: unsigned short const * __thiscall LM_SERVICE::QueryName(void)const 
-?QueryName@LM_SERVICE@@QBEPBGXZ
-; public: virtual unsigned short const * __thiscall LM_SESSION::QueryName(void)const 
-?QueryName@LM_SESSION@@UBEPBGXZ
-; public: unsigned short const * __thiscall LOCATION::QueryName(void)const 
-?QueryName@LOCATION@@QBEPBGXZ
-; public: virtual unsigned short const * __thiscall LSA_ACCOUNT::QueryName(void)const 
-?QueryName@LSA_ACCOUNT@@UBEPBGXZ
-; public: long __thiscall LSA_ACCT_DOM_INFO_MEM::QueryName(class NLS_STR *)const 
-?QueryName@LSA_ACCT_DOM_INFO_MEM@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryName(class NLS_STR *)const 
-?QueryName@LSA_PRIMARY_DOM_INFO_MEM@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall LSA_REF_DOMAIN_MEM::QueryName(unsigned long,class NLS_STR *)const 
-?QueryName@LSA_REF_DOMAIN_MEM@@QBEJKPAVNLS_STR@@@Z
-; public: long __thiscall LSA_TRANSLATED_NAME_MEM::QueryName(unsigned long,class NLS_STR *)const 
-?QueryName@LSA_TRANSLATED_NAME_MEM@@QBEJKPAVNLS_STR@@@Z
-; public: long __thiscall LSA_TRUST_INFO_MEM::QueryName(unsigned long,class NLS_STR *)const 
-?QueryName@LSA_TRUST_INFO_MEM@@QBEJKPAVNLS_STR@@@Z
-; public: virtual unsigned short const * __thiscall NET_ACCESS::QueryName(void)const 
-?QueryName@NET_ACCESS@@UBEPBGXZ
-; public: virtual unsigned short const * __thiscall NEW_LM_OBJ::QueryName(void)const 
-?QueryName@NEW_LM_OBJ@@UBEPBGXZ
-; public: long __thiscall OS_SID::QueryName(class NLS_STR *,unsigned short const *,void *)const 
-?QueryName@OS_SID@@QBEJPAVNLS_STR@@PBGPAX@Z
-; public: unsigned short const * __thiscall SERVER1_ENUM_OBJ::QueryName(void)const 
-?QueryName@SERVER1_ENUM_OBJ@@QBEPBGXZ
-; public: virtual unsigned short const * __thiscall SERVER_0::QueryName(void)const 
-?QueryName@SERVER_0@@UBEPBGXZ
-; public: virtual unsigned short const * __thiscall SHARE::QueryName(void)const 
-?QueryName@SHARE@@UBEPBGXZ
-; public: unsigned short const * __thiscall USER0_ENUM_OBJ::QueryName(void)const 
-?QueryName@USER0_ENUM_OBJ@@QBEPBGXZ
-; public: virtual unsigned short const * __thiscall USER::QueryName(void)const 
-?QueryName@USER@@UBEPBGXZ
-; public: virtual unsigned short const * __thiscall USER_MEMB::QueryName(void)const 
-?QueryName@USER_MEMB@@UBEPBGXZ
-; public: virtual unsigned short const * __thiscall USER_MODALS::QueryName(void)const 
-?QueryName@USER_MODALS@@UBEPBGXZ
-; public: virtual unsigned short const * __thiscall USER_MODALS_3::QueryName(void)const 
-?QueryName@USER_MODALS_3@@UBEPBGXZ
-; public: unsigned long __thiscall OS_DACL_SUBJECT_ITER::QueryNewContainerAccessMask(void)const 
-?QueryNewContainerAccessMask@OS_DACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_F(void)const 
-?QueryNewContainerAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_S(void)const 
-?QueryNewContainerAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned long __thiscall OS_DACL_SUBJECT_ITER::QueryNewObjectAccessMask(void)const 
-?QueryNewObjectAccessMask@OS_DACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_F(void)const 
-?QueryNewObjectAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QBEKXZ
-; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_S(void)const 
-?QueryNewObjectAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QBEKXZ
-; public: int __thiscall SAM_PSWD_DOM_INFO_MEM::QueryNoAnonChange(void)
-?QueryNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QAEHXZ
-; public: int __thiscall USER_2::QueryNoPasswordExpire(void)const 
-?QueryNoPasswordExpire@USER_2@@QBEHXZ
-; public: unsigned int __thiscall LM_FILE_3::QueryNumLock(void)const 
-?QueryNumLock@LM_FILE_3@@QBEIXZ
-; public: unsigned long __thiscall FILE3_ENUM_OBJ::QueryNumLocks(void)const 
-?QueryNumLocks@FILE3_ENUM_OBJ@@QBEKXZ
-; public: unsigned int __thiscall LM_SESSION_1::QueryNumOpens(void)const 
-?QueryNumOpens@LM_SESSION_1@@QBEIXZ
-; public: unsigned long __thiscall OS_PRIVILEGE_SET::QueryNumberOfPrivileges(void)const 
-?QueryNumberOfPrivileges@OS_PRIVILEGE_SET@@QBEKXZ
-; public: unsigned long __thiscall USER_MODALS_3::QueryObservation(void)const 
-?QueryObservation@USER_MODALS_3@@QBEKXZ
-; public: class STRLIST * __thiscall WKSTA_10::QueryOtherDomains(void)const 
-?QueryOtherDomains@WKSTA_10@@QBEPAVSTRLIST@@XZ
-; public: unsigned short const * __thiscall WKSTA_USER_1::QueryOtherDomains(void)const 
-?QueryOtherDomains@WKSTA_USER_1@@QBEPBGXZ
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::QueryOwner(int *,class OS_SID * *,int *)const 
-?QueryOwner@OS_SECURITY_DESCRIPTOR@@QBEJPAHPAPAVOS_SID@@0@Z
-; public: unsigned short const * __thiscall DOMAIN::QueryPDC(void)const 
-?QueryPDC@DOMAIN@@QBEPBGXZ
-; public: void * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryPSID(void)const 
-?QueryPSID@LSA_ACCT_DOM_INFO_MEM@@QBEPAXXZ
-; public: void * __thiscall LSA_DOMAIN_INFO::QueryPSID(void)const 
-?QueryPSID@LSA_DOMAIN_INFO@@QBEQAXXZ
-; public: void * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryPSID(void)const 
-?QueryPSID@LSA_PRIMARY_DOM_INFO_MEM@@QBEPAXXZ
-; public: void * __thiscall LSA_REF_DOMAIN_MEM::QueryPSID(unsigned long)const 
-?QueryPSID@LSA_REF_DOMAIN_MEM@@QBEPAXK@Z
-; public: void * __thiscall LSA_TRUST_INFO_MEM::QueryPSID(unsigned long)const 
-?QueryPSID@LSA_TRUST_INFO_MEM@@QBEPAXK@Z
-; public: void * __thiscall OS_SID::QueryPSID(void)const 
-?QueryPSID@OS_SID@@QBEPAXXZ
-; public: void * __thiscall SAM_DOMAIN::QueryPSID(void)const 
-?QueryPSID@SAM_DOMAIN@@QBEPAXXZ
-; public: unsigned short const * __thiscall USER_11::QueryParms(void)const 
-?QueryParms@USER_11@@QBEPBGXZ
-; public: unsigned int __thiscall USER_MODALS::QueryPasswdHistLen(void)const 
-?QueryPasswdHistLen@USER_MODALS@@QBEIXZ
-; public: unsigned short const * __thiscall SHARE_2::QueryPassword(void)const 
-?QueryPassword@SHARE_2@@QBEPBGXZ
-; public: unsigned short const * __thiscall USER_2::QueryPassword(void)const 
-?QueryPassword@USER_2@@QBEPBGXZ
-; public: unsigned long __thiscall USER_3::QueryPasswordExpired(void)const 
-?QueryPasswordExpired@USER_3@@QBEKXZ
-; public: unsigned short const * __thiscall SHARE_2::QueryPath(void)const 
-?QueryPath@SHARE_2@@QBEPBGXZ
-; public: unsigned short const * __thiscall FILE3_ENUM_OBJ::QueryPathName(void)const 
-?QueryPathName@FILE3_ENUM_OBJ@@QBEPBGXZ
-; public: unsigned short const * __thiscall LM_FILE_3::QueryPathname(void)const 
-?QueryPathname@LM_FILE_3@@QBEPBGXZ
-; public: unsigned short const * __thiscall NLS_STR::QueryPch(void)const 
-?QueryPch@NLS_STR@@QBEPBGXZ
-; public: unsigned int __thiscall NET_ACCESS_1::QueryPerm(unsigned short const *,enum PERMNAME_TYPE)const 
-?QueryPerm@NET_ACCESS_1@@QBEIPBGW4PERMNAME_TYPE@@@Z
-; public: unsigned int __thiscall LM_FILE_3::QueryPermission(void)const 
-?QueryPermission@LM_FILE_3@@QBEIXZ
-; public: unsigned int __thiscall SHARE_2::QueryPermissions(void)const 
-?QueryPermissions@SHARE_2@@QBEIXZ
-; public: long __thiscall LSA_TRUSTED_DOMAIN::QueryPosixOffset(unsigned long *)const 
-?QueryPosixOffset@LSA_TRUSTED_DOMAIN@@QBEJPAK@Z
-; public: long __thiscall LSA_POLICY::QueryPrimaryBrowserGroup(class NLS_STR *)const 
-?QueryPrimaryBrowserGroup@LSA_POLICY@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall LSA_POLICY::QueryPrimaryDomainName(class NLS_STR *)const 
-?QueryPrimaryDomainName@LSA_POLICY@@QBEJPAVNLS_STR@@@Z
-; public: unsigned long __thiscall USER_3::QueryPrimaryGroupId(void)const 
-?QueryPrimaryGroupId@USER_3@@QBEKXZ
-; public: virtual unsigned int __thiscall LOCAL_USER::QueryPriv(void)const 
-?QueryPriv@LOCAL_USER@@UBEIXZ
-; public: virtual unsigned int __thiscall USER_11::QueryPriv(void)const 
-?QueryPriv@USER_11@@UBEIXZ
-; public: struct _PRIVILEGE_SET * __thiscall OS_PRIVILEGE_SET::QueryPrivSet(void)const 
-?QueryPrivSet@OS_PRIVILEGE_SET@@QBEPAU_PRIVILEGE_SET@@XZ
-; public: class OS_LUID_AND_ATTRIBUTES const * __thiscall OS_PRIVILEGE_SET::QueryPrivilege(long)
-?QueryPrivilege@OS_PRIVILEGE_SET@@QAEPBVOS_LUID_AND_ATTRIBUTES@@J@Z
-; public: long __thiscall LSA_ACCOUNT::QueryPrivilegeEnumIter(class LSA_ACCOUNT_PRIVILEGE_ENUM_ITER * *)
-?QueryPrivilegeEnumIter@LSA_ACCOUNT@@QAEJPAPAVLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@@Z
-; public: static long __stdcall LSA_POLICY::QueryProductType(enum LSPL_PROD_TYPE *)
-?QueryProductType@LSA_POLICY@@SGJPAW4LSPL_PROD_TYPE@@@Z
-; public: unsigned short const * __thiscall USER_3::QueryProfile(void)const 
-?QueryProfile@USER_3@@QBEPBGXZ
-; protected: unsigned char * __thiscall LM_ENUM::QueryPtr(void)const 
-?QueryPtr@LM_ENUM@@IBEPAEXZ
-; public: struct _POLICY_ACCOUNT_DOMAIN_INFO const * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_ACCT_DOM_INFO_MEM@@QBEPBU_POLICY_ACCOUNT_DOMAIN_INFO@@XZ
-; public: struct _POLICY_AUDIT_EVENTS_INFO * __thiscall LSA_AUDIT_EVENT_INFO_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_AUDIT_EVENT_INFO_MEM@@QBEPAU_POLICY_AUDIT_EVENTS_INFO@@XZ
-; public: struct _POLICY_PRIMARY_DOMAIN_INFO const * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_PRIMARY_DOM_INFO_MEM@@QBEPBU_POLICY_PRIMARY_DOMAIN_INFO@@XZ
-; private: struct _LSA_TRUST_INFORMATION const * __thiscall LSA_REF_DOMAIN_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_REF_DOMAIN_MEM@@ABEPBU_LSA_TRUST_INFORMATION@@XZ
-; public: struct _POLICY_LSA_SERVER_ROLE_INFO const * __thiscall LSA_SERVER_ROLE_INFO_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_SERVER_ROLE_INFO_MEM@@QBEPBU_POLICY_LSA_SERVER_ROLE_INFO@@XZ
-; private: struct _LSA_TRANSLATED_NAME const * __thiscall LSA_TRANSLATED_NAME_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_TRANSLATED_NAME_MEM@@ABEPBU_LSA_TRANSLATED_NAME@@XZ
-; private: struct _LSA_TRANSLATED_SID const * __thiscall LSA_TRANSLATED_SID_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_TRANSLATED_SID_MEM@@ABEPBU_LSA_TRANSLATED_SID@@XZ
-; public: struct _LSA_TRUST_INFORMATION const * __thiscall LSA_TRUST_INFO_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_TRUST_INFO_MEM@@QBEPBU_LSA_TRUST_INFORMATION@@XZ
-; protected: void * __thiscall OS_OBJECT_WITH_DATA::QueryPtr(void)const 
-?QueryPtr@OS_OBJECT_WITH_DATA@@IBEPAXXZ
-; public: struct _DOMAIN_PASSWORD_INFORMATION const * __thiscall SAM_PSWD_DOM_INFO_MEM::QueryPtr(void)const 
-?QueryPtr@SAM_PSWD_DOM_INFO_MEM@@QBEPBU_DOMAIN_PASSWORD_INFORMATION@@XZ
-; public: struct _SAM_RID_ENUMERATION const * __thiscall SAM_RID_ENUMERATION_MEM::QueryPtr(void)const 
-?QueryPtr@SAM_RID_ENUMERATION_MEM@@QBEPBU_SAM_RID_ENUMERATION@@XZ
-; public: unsigned long __thiscall SAM_ALIAS::QueryRID(void)
-?QueryRID@SAM_ALIAS@@QAEKXZ
-; public: long __thiscall OS_SID::QueryRawID(class NLS_STR *)const 
-?QueryRawID@OS_SID@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall NET_NAME::QueryRelativePath(class NLS_STR *)
-?QueryRelativePath@NET_NAME@@QAEJPAVNLS_STR@@@Z
-; public: unsigned short const * __thiscall DEVICE::QueryRemoteName(void)const 
-?QueryRemoteName@DEVICE@@QBEPBGXZ
-; public: unsigned int __thiscall DEVICE::QueryRemoteType(void)const 
-?QueryRemoteType@DEVICE@@QBEIXZ
-; private: unsigned int __thiscall NET_ACCESS_1::QueryRequiredSpace(unsigned int)const 
-?QueryRequiredSpace@NET_ACCESS_1@@ABEII@Z
-; public: unsigned int __thiscall SHARE_1::QueryResourceType(void)const 
-?QueryResourceType@SHARE_1@@QBEIXZ
-; public: static unsigned long __stdcall OS_ACE::QueryRevision(void)
-?QueryRevision@OS_ACE@@SGKXZ
-; public: unsigned long const  __thiscall ALIAS_ENUM_OBJ::QueryRid(void)const 
-?QueryRid@ALIAS_ENUM_OBJ@@QBE?BKXZ
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::QuerySACL(int *,class OS_ACL * *,int *)const 
-?QuerySACL@OS_SECURITY_DESCRIPTOR@@QBEJPAHPAPAVOS_ACL@@0@Z
-; public: long __thiscall OS_ACE::QuerySID(class OS_SID * *)const 
-?QuerySID@OS_ACE@@QBEJPAPAVOS_SID@@@Z
-; public: class OS_SID const * __thiscall OS_ACL_SUBJECT_ITER::QuerySID(void)const 
-?QuerySID@OS_ACL_SUBJECT_ITER@@QBEPBVOS_SID@@XZ
-; protected: void * __thiscall OS_ACE::QuerySIDMemory(void)const 
-?QuerySIDMemory@OS_ACE@@IBEPAXXZ
-; public: class SAM_SERVER * __thiscall ADMIN_AUTHORITY::QuerySamServer(void)const 
-?QuerySamServer@ADMIN_AUTHORITY@@QBEPAVSAM_SERVER@@XZ
-; public: unsigned short const * __thiscall USER_2::QueryScriptPath(void)const 
-?QueryScriptPath@USER_2@@QBEPBGXZ
-; public: long __thiscall SC_SERVICE::QuerySecurity(unsigned long,void * *)
-?QuerySecurity@SC_SERVICE@@QAEJKPAPAX@Z
-; public: unsigned int __thiscall SERVER_2::QuerySecurity(void)const 
-?QuerySecurity@SERVER_2@@QBEIXZ
-; public: unsigned short const * __thiscall DEVICE::QueryServer(void)const 
-?QueryServer@DEVICE@@QBEPBGXZ
-; public: unsigned short const * __thiscall LM_FILE::QueryServer(void)const 
-?QueryServer@LM_FILE@@QBEPBGXZ
-; public: unsigned short const * __thiscall LM_SESSION::QueryServer(void)const 
-?QueryServer@LM_SESSION@@QBEPBGXZ
-; public: unsigned short const * __thiscall LOCATION::QueryServer(void)const 
-?QueryServer@LOCATION@@QBEPBGXZ
-; public: unsigned short const * __thiscall LOC_LM_ENUM::QueryServer(void)const 
-?QueryServer@LOC_LM_ENUM@@QBEPBGXZ
-; protected: unsigned short const * __thiscall LOC_LM_OBJ::QueryServer(void)const 
-?QueryServer@LOC_LM_OBJ@@IBEPBGXZ
-; public: unsigned short const * __thiscall LOC_LM_RESUME_ENUM::QueryServer(void)const 
-?QueryServer@LOC_LM_RESUME_ENUM@@QBEPBGXZ
-; public: unsigned short const * __thiscall SHARE::QueryServer(void)const 
-?QueryServer@SHARE@@QBEPBGXZ
-; public: unsigned short const * __thiscall LM_SERVICE::QueryServerName(void)const 
-?QueryServerName@LM_SERVICE@@QBEPBGXZ
-; public: unsigned short const * __thiscall NET_ACCESS::QueryServerName(void)const 
-?QueryServerName@NET_ACCESS@@QBEPBGXZ
-; public: long __thiscall NET_NAME::QueryServerShare(class NLS_STR *)
-?QueryServerShare@NET_NAME@@QAEJPAVNLS_STR@@@Z
-; public: unsigned long __thiscall SERVER1_ENUM_OBJ::QueryServerType(void)const 
-?QueryServerType@SERVER1_ENUM_OBJ@@QBEKXZ
-; public: unsigned long __thiscall SERVER_1::QueryServerType(void)const 
-?QueryServerType@SERVER_1@@QBEKXZ
-; public: long __thiscall SC_MANAGER::QueryServiceDisplayName(unsigned short const *,class NLS_STR *)
-?QueryServiceDisplayName@SC_MANAGER@@QAEJPBGPAVNLS_STR@@@Z
-; public: long __thiscall SC_MANAGER::QueryServiceKeyName(unsigned short const *,class NLS_STR *)
-?QueryServiceKeyName@SC_MANAGER@@QAEJPBGPAVNLS_STR@@@Z
-; public: long __thiscall NET_NAME::QueryShare(class NLS_STR *)
-?QueryShare@NET_NAME@@QAEJPAVNLS_STR@@@Z
-; public: void * __thiscall OS_SID::QuerySid(void)const 
-?QuerySid@OS_SID@@QBEPAXXZ
-; public: unsigned short __thiscall OS_ACE::QuerySize(void)const 
-?QuerySize@OS_ACE@@QBEGXZ
-; public: long __thiscall OS_ACL::QuerySizeInformation(struct _ACL_SIZE_INFORMATION *)const 
-?QuerySizeInformation@OS_ACL@@QBEJPAU_ACL_SIZE_INFORMATION@@@Z
-; public: enum LMO_DEV_STATE  __thiscall DEVICE::QueryState(void)const 
-?QueryState@DEVICE@@QBE?AW4LMO_DEV_STATE@@XZ
-; public: unsigned int __thiscall DEVICE::QueryStatus(void)const 
-?QueryStatus@DEVICE@@QBEIXZ
-; public: enum LM_SERVICE_STATUS  __thiscall LM_SERVICE::QueryStatus(long *)
-?QueryStatus@LM_SERVICE@@QAE?AW4LM_SERVICE_STATUS@@PAJ@Z
-; public: long __thiscall SC_SERVICE::QueryStatus(struct _SERVICE_STATUS *)
-?QueryStatus@SC_SERVICE@@QAEJPAU_SERVICE_STATUS@@@Z
-; public: long __thiscall OS_SID::QuerySubAuthority(unsigned char,unsigned long * *)const 
-?QuerySubAuthority@OS_SID@@QBEJEPAPAK@Z
-; public: long __thiscall OS_SID::QuerySubAuthorityCount(unsigned char * *)const 
-?QuerySubAuthorityCount@OS_SID@@QBEJPAPAE@Z
-; public: static long __stdcall NT_ACCOUNTS_UTILITY::QuerySystemSid(enum UI_SystemSid,class OS_SID *,unsigned short const *)
-?QuerySystemSid@NT_ACCOUNTS_UTILITY@@SGJW4UI_SystemSid@@PAVOS_SID@@PBG@Z
-; public: unsigned int __thiscall NLS_STR::QueryTextLength(void)const 
-?QueryTextLength@NLS_STR@@QBEIXZ
-; public: unsigned long __thiscall USER_MODALS_3::QueryThreshold(void)const 
-?QueryThreshold@USER_MODALS_3@@QBEKXZ
-; public: unsigned long __thiscall LM_SESSION_10::QueryTime(void)const 
-?QueryTime@LM_SESSION_10@@QBEKXZ
-; protected: unsigned long __thiscall OS_ACL_SUBJECT_ITER::QueryTotalAceCount(void)const 
-?QueryTotalAceCount@OS_ACL_SUBJECT_ITER@@IBEKXZ
-; public: unsigned int __thiscall LM_RESUME_ENUM::QueryTotalItemCount(void)const 
-?QueryTotalItemCount@LM_RESUME_ENUM@@QBEIXZ
-; public: unsigned int __thiscall DEVICE::QueryType(void)const 
-?QueryType@DEVICE@@QBEIXZ
-; public: unsigned char __thiscall OS_ACE::QueryType(void)const 
-?QueryType@OS_ACE@@QBEEXZ
-; public: long __thiscall NET_NAME::QueryUNCPath(class NLS_STR *)
-?QueryUNCPath@NET_NAME@@QAEJPAVNLS_STR@@@Z
-; public: struct _UNICODE_STRING const * __thiscall NT_MACHINE_ENUM_OBJ::QueryUnicodeMachine(void)const 
-?QueryUnicodeMachine@NT_MACHINE_ENUM_OBJ@@QBEPBU_UNICODE_STRING@@XZ
-; public: struct _UNICODE_STRING const * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryUnicodeName(void)const 
-?QueryUnicodeName@LSA_ACCT_DOM_INFO_MEM@@QBEPBU_UNICODE_STRING@@XZ
-; public: struct _UNICODE_STRING const * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryUnicodeName(void)const 
-?QueryUnicodeName@LSA_PRIMARY_DOM_INFO_MEM@@QBEPBU_UNICODE_STRING@@XZ
-; private: struct _UNICODE_STRING const * __thiscall LSA_REF_DOMAIN_MEM::QueryUnicodeName(unsigned long)const 
-?QueryUnicodeName@LSA_REF_DOMAIN_MEM@@ABEPBU_UNICODE_STRING@@K@Z
-; private: struct _UNICODE_STRING const * __thiscall LSA_TRANSLATED_NAME_MEM::QueryUnicodeName(unsigned long)const 
-?QueryUnicodeName@LSA_TRANSLATED_NAME_MEM@@ABEPBU_UNICODE_STRING@@K@Z
-; public: struct _UNICODE_STRING const * __thiscall LSA_TRUST_INFO_MEM::QueryUnicodeName(unsigned long)const 
-?QueryUnicodeName@LSA_TRUST_INFO_MEM@@QBEPBU_UNICODE_STRING@@K@Z
-; public: struct _UNICODE_STRING const * __thiscall SAM_USER_ENUM_OBJ::QueryUnicodeUserName(void)const 
-?QueryUnicodeUserName@SAM_USER_ENUM_OBJ@@QBEPBU_UNICODE_STRING@@XZ
-; public: unsigned int __thiscall LOGON_HOURS_SETTING::QueryUnitsPerWeek(void)const 
-?QueryUnitsPerWeek@LOGON_HOURS_SETTING@@QBEIXZ
-; private: struct _DOMAIN_PASSWORD_INFORMATION * __thiscall SAM_PSWD_DOM_INFO_MEM::QueryUpdatePtr(void)const 
-?QueryUpdatePtr@SAM_PSWD_DOM_INFO_MEM@@ABEPAU_DOMAIN_PASSWORD_INFORMATION@@XZ
-; public: enum _SID_NAME_USE  __thiscall LSA_TRANSLATED_NAME_MEM::QueryUse(unsigned long)const 
-?QueryUse@LSA_TRANSLATED_NAME_MEM@@QBE?AW4_SID_NAME_USE@@K@Z
-; public: int __thiscall USER_2::QueryUserCantChangePass(void)const 
-?QueryUserCantChangePass@USER_2@@QBEHXZ
-; public: unsigned short const * __thiscall USER_11::QueryUserComment(void)const 
-?QueryUserComment@USER_11@@QBEPBGXZ
-; protected: int __thiscall USER_2::QueryUserFlag(unsigned int)const 
-?QueryUserFlag@USER_2@@IBEHI@Z
-; public: unsigned long __thiscall LM_SESSION_1::QueryUserFlags(void)const 
-?QueryUserFlags@LM_SESSION_1@@QBEKXZ
-; public: unsigned int __thiscall USER_2::QueryUserFlags(void)const 
-?QueryUserFlags@USER_2@@QBEIXZ
-; public: unsigned long __thiscall USER_3::QueryUserId(void)const 
-?QueryUserId@USER_3@@QBEKXZ
-; public: long __thiscall SAM_USER_ENUM_OBJ::QueryUserName(class NLS_STR *)const 
-?QueryUserName@SAM_USER_ENUM_OBJ@@QBEJPAVNLS_STR@@@Z
-; public: unsigned short const * __thiscall WKSTA_USER_1::QueryUserName(void)const 
-?QueryUserName@WKSTA_USER_1@@QBEPBGXZ
-; public: int __thiscall USER_2::QueryUserPassRequired(void)const 
-?QueryUserPassRequired@USER_2@@QBEHXZ
-; public: unsigned short const * __thiscall LM_FILE_3::QueryUsername(void)const 
-?QueryUsername@LM_FILE_3@@QBEPBGXZ
-; public: unsigned short const * __thiscall LM_SESSION_10::QueryUsername(void)const 
-?QueryUsername@LM_SESSION_10@@QBEPBGXZ
-; public: long __thiscall LM_CONFIG::QueryValue(class NLS_STR *,unsigned short const *)
-?QueryValue@LM_CONFIG@@QAEJPAVNLS_STR@@PBG@Z
-; public: unsigned short const * __thiscall WKSTA_10::QueryWkstaDomain(void)const 
-?QueryWkstaDomain@WKSTA_10@@QBEPBGXZ
-; public: unsigned short const * __thiscall USER_11::QueryWorkstations(void)const 
-?QueryWorkstations@USER_11@@QBEPBGXZ
-; private: void __thiscall LM_ENUM::RegisterIter(void)
-?RegisterIter@LM_ENUM@@AAEXXZ
-; private: void __thiscall LM_RESUME_ENUM::RegisterIter(void)
-?RegisterIter@LM_RESUME_ENUM@@AAEXXZ
-; public: class NLS_STR * __thiscall SLIST_OF_NLS_STR::Remove(class ITER_SL_NLS_STR &)
-?Remove@SLIST_OF_NLS_STR@@QAEPAVNLS_STR@@AAVITER_SL_NLS_STR@@@Z
-; public: long __thiscall SAM_ALIAS::RemoveMember(void *)
-?RemoveMember@SAM_ALIAS@@QAEJPAX@Z
-; public: long __thiscall SAM_GROUP::RemoveMember(unsigned long)
-?RemoveMember@SAM_GROUP@@QAEJK@Z
-; public: long __thiscall SAM_DOMAIN::RemoveMemberFromAliases(void *)
-?RemoveMemberFromAliases@SAM_DOMAIN@@QAEJPAX@Z
-; public: long __thiscall SAM_ALIAS::RemoveMembers(void * *,unsigned int)
-?RemoveMembers@SAM_ALIAS@@QAEJPAPAXI@Z
-; public: long __thiscall SAM_GROUP::RemoveMembers(unsigned long *,unsigned int)
-?RemoveMembers@SAM_GROUP@@QAEJPAKI@Z
-; public: long __thiscall OS_PRIVILEGE_SET::RemovePrivilege(long)
-?RemovePrivilege@OS_PRIVILEGE_SET@@QAEJJ@Z
-; public: long __thiscall OS_PRIVILEGE_SET::RemovePrivilege(struct _LUID)
-?RemovePrivilege@OS_PRIVILEGE_SET@@QAEJU_LUID@@@Z
-; public: long __thiscall USER::Rename(unsigned short const *)
-?Rename@USER@@QAEJPBG@Z
-; public: long __thiscall ADMIN_AUTHORITY::ReplaceAccountDomain(unsigned long)
-?ReplaceAccountDomain@ADMIN_AUTHORITY@@QAEJK@Z
-; public: long __thiscall ADMIN_AUTHORITY::ReplaceBuiltinDomain(unsigned long)
-?ReplaceBuiltinDomain@ADMIN_AUTHORITY@@QAEJK@Z
-; public: long __thiscall ADMIN_AUTHORITY::ReplaceLSAPolicy(unsigned long)
-?ReplaceLSAPolicy@ADMIN_AUTHORITY@@QAEJK@Z
-; public: long __thiscall ADMIN_AUTHORITY::ReplaceSamServer(unsigned long)
-?ReplaceSamServer@ADMIN_AUTHORITY@@QAEJK@Z
-; protected: void __thiscall BASE::ReportError(long)
-?ReportError@BASE@@IAEXJ@Z
-; protected: void __thiscall NEW_LM_OBJ::ReportError(long)
-?ReportError@NEW_LM_OBJ@@IAEXJ@Z
-; public: void __thiscall BROWSE_DOMAIN_ENUM::Reset(void)
-?Reset@BROWSE_DOMAIN_ENUM@@QAEXXZ
-; public: void __thiscall OS_ACL_SUBJECT_ITER::Reset(void)
-?Reset@OS_ACL_SUBJECT_ITER@@QAEXXZ
-; protected: void __thiscall LSA_OBJECT::ResetHandle(void)
-?ResetHandle@LSA_OBJECT@@IAEXXZ
-; protected: void __thiscall SAM_OBJECT::ResetHandle(void)
-?ResetHandle@SAM_OBJECT@@IAEXXZ
-; protected: long __thiscall OS_OBJECT_WITH_DATA::Resize(unsigned int)
-?Resize@OS_OBJECT_WITH_DATA@@IAEJI@Z
-; protected: long __thiscall NEW_LM_OBJ::ResizeBuffer(unsigned int)
-?ResizeBuffer@NEW_LM_OBJ@@IAEJI@Z
-; public: long __thiscall LM_MESSAGE::SendBuffer(unsigned short const *,unsigned short const *,unsigned int)
-?SendBuffer@LM_MESSAGE@@QAEJPBG0I@Z
-; public: long __thiscall LM_MESSAGE::SendBuffer(unsigned short const *,class BUFFER const &)
-?SendBuffer@LM_MESSAGE@@QAEJPBGABVBUFFER@@@Z
-; public: long __thiscall LOCATION::Set(class LOCATION const &)
-?Set@LOCATION@@QAEJABV1@@Z
-; public: virtual void __thiscall LSA_MEMORY::Set(void *,unsigned long)
-?Set@LSA_MEMORY@@UAEXPAXK@Z
-; public: virtual void __thiscall NT_MEMORY::Set(void *,unsigned long)
-?Set@NT_MEMORY@@UAEXPAXK@Z
-; public: virtual void __thiscall SAM_MEMORY::Set(void *,unsigned long)
-?Set@SAM_MEMORY@@UAEXPAXK@Z
-; private: long __thiscall NET_NAME::SetABSPath(unsigned short const *)
-?SetABSPath@NET_NAME@@AAEJPBG@Z
-; public: void __thiscall OS_ACE::SetAccessMask(unsigned long)
-?SetAccessMask@OS_ACE@@QAEXK@Z
-; public: long __thiscall USER_2::SetAccountDisabled(int)
-?SetAccountDisabled@USER_2@@QAEJH@Z
-; public: long __thiscall LSA_POLICY::SetAccountDomain(class LSA_ACCT_DOM_INFO_MEM const *)
-?SetAccountDomain@LSA_POLICY@@QAEJPBVLSA_ACCT_DOM_INFO_MEM@@@Z
-; public: long __thiscall LSA_POLICY::SetAccountDomainName(class NLS_STR const *,void * const *)
-?SetAccountDomainName@LSA_POLICY@@QAEJPBVNLS_STR@@PBQAX@Z
-; public: long __thiscall USER_2::SetAccountExpires(long)
-?SetAccountExpires@USER_2@@QAEJJ@Z
-; public: long __thiscall USER_3::SetAccountType(enum _ACCOUNT_TYPE)
-?SetAccountType@USER_3@@QAEJW4_ACCOUNT_TYPE@@@Z
-; protected: void __thiscall SHARE_1::SetAdminOnly(int)
-?SetAdminOnly@SHARE_1@@IAEXH@Z
-; public: long __thiscall LSA_POLICY::SetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM *)
-?SetAuditEventInfo@LSA_POLICY@@QAEJPAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
-; public: long __thiscall NET_ACCESS_1::SetAuditFlags(short)
-?SetAuditFlags@NET_ACCESS_1@@QAEJF@Z
-; public: long __thiscall USER_11::SetAuthFlags(unsigned long)
-?SetAuthFlags@USER_11@@QAEJK@Z
-; protected: void __thiscall DEVICE::SetBufPtr(unsigned char *)
-?SetBufPtr@DEVICE@@IAEXPAE@Z
-; public: void __thiscall ALIAS_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const *)
-?SetBufferPtr@ALIAS_ENUM_OBJ@@QAEXPBU_SAM_RID_ENUMERATION@@@Z
-; public: void __thiscall CHARDEVQ1_ENUM_OBJ::SetBufferPtr(struct _CHARDEVQ_INFO_1 const *)
-?SetBufferPtr@CHARDEVQ1_ENUM_OBJ@@QAEXPBU_CHARDEVQ_INFO_1@@@Z
-; public: void __thiscall CONN0_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_0 const *)
-?SetBufferPtr@CONN0_ENUM_OBJ@@QAEXPBU_CONNECTION_INFO_0@@@Z
-; public: void __thiscall CONN1_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_1 const *)
-?SetBufferPtr@CONN1_ENUM_OBJ@@QAEXPBU_CONNECTION_INFO_1@@@Z
-; public: void __thiscall CONTEXT_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const *)
-?SetBufferPtr@CONTEXT_ENUM_OBJ@@QAEXPBU_SERVER_INFO_101@@@Z
-; public: void __thiscall DOMAIN0_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_100 const *)
-?SetBufferPtr@DOMAIN0_ENUM_OBJ@@QAEXPBU_SERVER_INFO_100@@@Z
-; protected: void __thiscall ENUM_OBJ_BASE::SetBufferPtr(unsigned char const *)
-?SetBufferPtr@ENUM_OBJ_BASE@@IAEXPBE@Z
-; public: void __thiscall FILE2_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_2 const *)
-?SetBufferPtr@FILE2_ENUM_OBJ@@QAEXPBU_FILE_INFO_2@@@Z
-; public: void __thiscall FILE3_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_3 const *)
-?SetBufferPtr@FILE3_ENUM_OBJ@@QAEXPBU_FILE_INFO_3@@@Z
-; public: void __thiscall GROUP0_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_0 const *)
-?SetBufferPtr@GROUP0_ENUM_OBJ@@QAEXPBU_GROUP_INFO_0@@@Z
-; public: void __thiscall GROUP1_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_1 const *)
-?SetBufferPtr@GROUP1_ENUM_OBJ@@QAEXPBU_GROUP_INFO_1@@@Z
-; public: void __thiscall LSA_ACCOUNTS_ENUM_OBJ::SetBufferPtr(void * const *)
-?SetBufferPtr@LSA_ACCOUNTS_ENUM_OBJ@@QAEXPBQAX@Z
-; public: void __thiscall LSA_PRIVILEGES_ENUM_OBJ::SetBufferPtr(struct _POLICY_PRIVILEGE_DEFINITION const *)
-?SetBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QAEXPBU_POLICY_PRIVILEGE_DEFINITION@@@Z
-; protected: void __thiscall NEW_LM_OBJ::SetBufferPtr(unsigned char *)
-?SetBufferPtr@NEW_LM_OBJ@@IAEXPAE@Z
-; public: void __thiscall NT_GROUP_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_GROUP const *)
-?SetBufferPtr@NT_GROUP_ENUM_OBJ@@QAEXPBU_DOMAIN_DISPLAY_GROUP@@@Z
-; public: void __thiscall NT_MACHINE_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_MACHINE const *)
-?SetBufferPtr@NT_MACHINE_ENUM_OBJ@@QAEXPBU_DOMAIN_DISPLAY_MACHINE@@@Z
-; public: void __thiscall NT_USER_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_USER const *)
-?SetBufferPtr@NT_USER_ENUM_OBJ@@QAEXPBU_DOMAIN_DISPLAY_USER@@@Z
-; public: void __thiscall SAM_USER_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const *)
-?SetBufferPtr@SAM_USER_ENUM_OBJ@@QAEXPBU_SAM_RID_ENUMERATION@@@Z
-; public: void __thiscall SERVER1_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const *)
-?SetBufferPtr@SERVER1_ENUM_OBJ@@QAEXPBU_SERVER_INFO_101@@@Z
-; protected: void __thiscall SERVICE_ENUM_OBJ::SetBufferPtr(struct _ENUM_SVC_STATUS const *)
-?SetBufferPtr@SERVICE_ENUM_OBJ@@IAEXPBU_ENUM_SVC_STATUS@@@Z
-; public: void __thiscall SESSION0_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_0 const *)
-?SetBufferPtr@SESSION0_ENUM_OBJ@@QAEXPBU_SESSION_INFO_0@@@Z
-; public: void __thiscall SESSION1_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_1 const *)
-?SetBufferPtr@SESSION1_ENUM_OBJ@@QAEXPBU_SESSION_INFO_1@@@Z
-; public: void __thiscall SHARE1_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_1 const *)
-?SetBufferPtr@SHARE1_ENUM_OBJ@@QAEXPBU_SHARE_INFO_1@@@Z
-; public: void __thiscall SHARE2_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_2 const *)
-?SetBufferPtr@SHARE2_ENUM_OBJ@@QAEXPBU_SHARE_INFO_2@@@Z
-; public: void __thiscall TRIPLE_SERVER_ENUM_OBJ::SetBufferPtr(struct _TRIPLE_SERVER_INFO const *)
-?SetBufferPtr@TRIPLE_SERVER_ENUM_OBJ@@QAEXPBU_TRIPLE_SERVER_INFO@@@Z
-; public: void __thiscall TRUSTED_DOMAIN_ENUM_OBJ::SetBufferPtr(struct _LSA_TRUST_INFORMATION const *)
-?SetBufferPtr@TRUSTED_DOMAIN_ENUM_OBJ@@QAEXPBU_LSA_TRUST_INFORMATION@@@Z
-; public: void __thiscall USE1_ENUM_OBJ::SetBufferPtr(struct _USE_INFO_1 const *)
-?SetBufferPtr@USE1_ENUM_OBJ@@QAEXPBU_USE_INFO_1@@@Z
-; public: void __thiscall USER0_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_0 const *)
-?SetBufferPtr@USER0_ENUM_OBJ@@QAEXPBU_USER_INFO_0@@@Z
-; public: void __thiscall USER10_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_10 const *)
-?SetBufferPtr@USER10_ENUM_OBJ@@QAEXPBU_USER_INFO_10@@@Z
-; public: void __thiscall USER1_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_1 const *)
-?SetBufferPtr@USER1_ENUM_OBJ@@QAEXPBU_USER_INFO_1@@@Z
-; public: void __thiscall USER2_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_2 const *)
-?SetBufferPtr@USER2_ENUM_OBJ@@QAEXPBU_USER_INFO_2@@@Z
-; protected: long __thiscall LM_SESSION_2::SetClientType(unsigned short const *)
-?SetClientType@LM_SESSION_2@@IAEJPBG@Z
-; public: long __thiscall GROUP_1::SetComment(unsigned short const *)
-?SetComment@GROUP_1@@QAEJPBG@Z
-; public: long __thiscall SAM_ALIAS::SetComment(class NLS_STR const *)
-?SetComment@SAM_ALIAS@@QAEJPBVNLS_STR@@@Z
-; public: long __thiscall SERVER_1::SetComment(unsigned short const *)
-?SetComment@SERVER_1@@QAEJPBG@Z
-; public: long __thiscall SHARE_1::SetComment(unsigned short const *)
-?SetComment@SHARE_1@@QAEJPBG@Z
-; public: long __thiscall USER_11::SetComment(unsigned short const *)
-?SetComment@USER_11@@QAEJPBG@Z
-; public: long __thiscall LSA_TRUSTED_DOMAIN::SetControllerList(struct _TRUSTED_CONTROLLERS_INFO const &)
-?SetControllerList@LSA_TRUSTED_DOMAIN@@QAEJABU_TRUSTED_CONTROLLERS_INFO@@@Z
-; public: long __thiscall LSA_TRUSTED_DOMAIN::SetControllerList(class LSA_REF_DOMAIN_MEM *)
-?SetControllerList@LSA_TRUSTED_DOMAIN@@QAEJPAVLSA_REF_DOMAIN_MEM@@@Z
-; protected: void __thiscall ENUM_CALLER::SetCount(unsigned int)
-?SetCount@ENUM_CALLER@@IAEXI@Z
-; protected: void __thiscall OS_ACL_SUBJECT_ITER::SetCurrentACE(unsigned long)
-?SetCurrentACE@OS_ACL_SUBJECT_ITER@@IAEXK@Z
-; protected: long __thiscall SHARE_2::SetCurrentUses(unsigned int)
-?SetCurrentUses@SHARE_2@@IAEJI@Z
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetDACL(int,class OS_ACL const *,int)
-?SetDACL@OS_SECURITY_DESCRIPTOR@@QAEJHPBVOS_ACL@@H@Z
-; protected: void __thiscall DEVICE::SetDevState(enum LMO_DEV_STATE)
-?SetDevState@DEVICE@@IAEXW4LMO_DEV_STATE@@@Z
-; protected: void __thiscall DEVICE::SetDevType(enum LMO_DEVICE)
-?SetDevType@DEVICE@@IAEXW4LMO_DEVICE@@@Z
-; protected: long __thiscall DEVICE2::SetDomainName(unsigned short const *)
-?SetDomainName@DEVICE2@@IAEJPBG@Z
-; public: long __thiscall USER_MODALS_3::SetDuration(unsigned long)
-?SetDuration@USER_MODALS_3@@QAEJK@Z
-; protected: long __thiscall LM_FILE::SetFileId(unsigned long)
-?SetFileId@LM_FILE@@IAEJK@Z
-; public: long __thiscall USER_MODALS::SetForceLogoff(unsigned long)
-?SetForceLogoff@USER_MODALS@@QAEJK@Z
-; public: long __thiscall USER_11::SetFullName(unsigned short const *)
-?SetFullName@USER_11@@QAEJPBG@Z
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetGroup(class OS_SID const &,int)
-?SetGroup@OS_SECURITY_DESCRIPTOR@@QAEJABVOS_SID@@H@Z
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetGroup(int,class OS_SID const *,int)
-?SetGroup@OS_SECURITY_DESCRIPTOR@@QAEJHPBVOS_SID@@H@Z
-; public: long __thiscall SAM_GROUP::SetGroupname(class NLS_STR const *)
-?SetGroupname@SAM_GROUP@@QAEJPBVNLS_STR@@@Z
-; protected: void __thiscall LSA_OBJECT::SetHandle(void *)
-?SetHandle@LSA_OBJECT@@IAEXPAX@Z
-; protected: void __thiscall SAM_OBJECT::SetHandle(void *)
-?SetHandle@SAM_OBJECT@@IAEXPAX@Z
-; protected: void __thiscall SERVICE_CONTROL::SetHandle(struct SC_HANDLE__ *)
-?SetHandle@SERVICE_CONTROL@@IAEXPAUSC_HANDLE__@@@Z
-; public: long __thiscall USER_11::SetHomeDir(unsigned short const *)
-?SetHomeDir@USER_11@@QAEJPBG@Z
-; public: long __thiscall USER_3::SetHomedirDrive(unsigned short const *)
-?SetHomedirDrive@USER_3@@QAEJPBG@Z
-; protected: void __thiscall LM_SESSION_10::SetIdleTime(unsigned long)
-?SetIdleTime@LM_SESSION_10@@IAEXK@Z
-; protected: virtual void __thiscall DEVICE2::SetInfo(void)
-?SetInfo@DEVICE2@@MAEXXZ
-; protected: virtual void __thiscall DEVICE::SetInfo(void)
-?SetInfo@DEVICE@@MAEXXZ
-; public: long __thiscall LSA_SECRET::SetInfo(class NLS_STR const *,class NLS_STR const *)
-?SetInfo@LSA_SECRET@@QAEJPBVNLS_STR@@0@Z
-; public: void __thiscall OS_ACE::SetInheritOnly(int)
-?SetInheritOnly@OS_ACE@@QAEXH@Z
-; public: long __thiscall USER_2::SetLockout(int)
-?SetLockout@USER_2@@QAEJH@Z
-; public: long __thiscall WKSTA_USER_1::SetLogonDomain(unsigned short const *)
-?SetLogonDomain@WKSTA_USER_1@@QAEJPBG@Z
-; public: long __thiscall USER_11::SetLogonHours(class LOGON_HOURS_SETTING const &)
-?SetLogonHours@USER_11@@QAEJABVLOGON_HOURS_SETTING@@@Z
-; public: long __thiscall USER_11::SetLogonHours(unsigned char const *,unsigned int)
-?SetLogonHours@USER_11@@QAEJPBEI@Z
-; public: long __thiscall WKSTA_USER_1::SetLogonServer(unsigned short const *)
-?SetLogonServer@WKSTA_USER_1@@QAEJPBG@Z
-; public: void __thiscall OS_LUID_AND_ATTRIBUTES::SetLuidAndAttrib(struct _LUID_AND_ATTRIBUTES)
-?SetLuidAndAttrib@OS_LUID_AND_ATTRIBUTES@@QAEXU_LUID_AND_ATTRIBUTES@@@Z
-; protected: void __thiscall SERVER_1::SetMajorMinorVer(unsigned int,unsigned int)
-?SetMajorMinorVer@SERVER_1@@IAEXII@Z
-; public: long __thiscall USER_MODALS::SetMaxPasswdAge(unsigned long)
-?SetMaxPasswdAge@USER_MODALS@@QAEJK@Z
-; protected: void __thiscall SERVER_2::SetMaxUsers(unsigned int)
-?SetMaxUsers@SERVER_2@@IAEXI@Z
-; public: long __thiscall SHARE_2::SetMaxUses(unsigned int)
-?SetMaxUses@SHARE_2@@QAEJI@Z
-; public: long __thiscall USER_MODALS::SetMinPasswdAge(unsigned long)
-?SetMinPasswdAge@USER_MODALS@@QAEJK@Z
-; public: long __thiscall USER_MODALS::SetMinPasswdLen(unsigned int)
-?SetMinPasswdLen@USER_MODALS@@QAEJI@Z
-; public: long __thiscall COMPUTER::SetName(unsigned short const *)
-?SetName@COMPUTER@@QAEJPBG@Z
-; public: long __thiscall GROUP::SetName(unsigned short const *)
-?SetName@GROUP@@QAEJPBG@Z
-; public: long __thiscall GROUP_MEMB::SetName(unsigned short const *)
-?SetName@GROUP_MEMB@@QAEJPBG@Z
-; protected: long __thiscall LM_SERVICE::SetName(unsigned short const *)
-?SetName@LM_SERVICE@@IAEJPBG@Z
-; protected: long __thiscall LM_SESSION::SetName(unsigned short const *)
-?SetName@LM_SESSION@@IAEJPBG@Z
-; public: long __thiscall NET_ACCESS::SetName(unsigned short const *)
-?SetName@NET_ACCESS@@QAEJPBG@Z
-; protected: long __thiscall SHARE::SetName(unsigned short const *)
-?SetName@SHARE@@IAEJPBG@Z
-; public: long __thiscall USER::SetName(unsigned short const *)
-?SetName@USER@@QAEJPBG@Z
-; public: long __thiscall USER_MEMB::SetName(unsigned short const *)
-?SetName@USER_MEMB@@QAEJPBG@Z
-; public: void __thiscall SAM_PSWD_DOM_INFO_MEM::SetNoAnonChange(int)
-?SetNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QAEXH@Z
-; public: long __thiscall USER_2::SetNoPasswordExpire(int)
-?SetNoPasswordExpire@USER_2@@QAEJH@Z
-; protected: void __thiscall LM_SESSION_1::SetNumOpens(unsigned int)
-?SetNumOpens@LM_SESSION_1@@IAEXI@Z
-; public: long __thiscall USER_MODALS_3::SetObservation(unsigned long)
-?SetObservation@USER_MODALS_3@@QAEJK@Z
-; public: long __thiscall WKSTA_USER_1::SetOtherDomains(unsigned short const *)
-?SetOtherDomains@WKSTA_USER_1@@QAEJPBG@Z
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetOwner(class OS_SID const &,int)
-?SetOwner@OS_SECURITY_DESCRIPTOR@@QAEJABVOS_SID@@H@Z
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetOwner(int,class OS_SID const *,int)
-?SetOwner@OS_SECURITY_DESCRIPTOR@@QAEJHPBVOS_SID@@H@Z
-; public: long __thiscall USER_11::SetParms(unsigned short const *)
-?SetParms@USER_11@@QAEJPBG@Z
-; public: long __thiscall USER_MODALS::SetPasswdHistLen(unsigned int)
-?SetPasswdHistLen@USER_MODALS@@QAEJI@Z
-; public: long __thiscall SAM_USER::SetPassword(class NLS_STR const &,class NLS_STR const &)
-?SetPassword@SAM_USER@@QAEJABVNLS_STR@@0@Z
-; public: long __thiscall SAM_USER::SetPassword(class NLS_STR const &,int)
-?SetPassword@SAM_USER@@QAEJABVNLS_STR@@H@Z
-; public: long __thiscall SHARE_2::SetPassword(unsigned short const *)
-?SetPassword@SHARE_2@@QAEJPBG@Z
-; public: long __thiscall USER_2::SetPassword(unsigned short const *)
-?SetPassword@USER_2@@QAEJPBG@Z
-; public: long __thiscall USER_3::SetPasswordExpired(unsigned long)
-?SetPasswordExpired@USER_3@@QAEJK@Z
-; public: long __thiscall SAM_DOMAIN::SetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM const *)
-?SetPasswordInfo@SAM_DOMAIN@@QAEJPBVSAM_PSWD_DOM_INFO_MEM@@@Z
-; public: long __thiscall SHARE_2::SetPath(unsigned short const *)
-?SetPath@SHARE_2@@QAEJPBG@Z
-; public: long __thiscall NET_ACCESS_1::SetPerm(unsigned short const *,enum PERMNAME_TYPE,unsigned int)
-?SetPerm@NET_ACCESS_1@@QAEJPBGW4PERMNAME_TYPE@@I@Z
-; public: long __thiscall SHARE_2::SetPermissions(unsigned int)
-?SetPermissions@SHARE_2@@QAEJI@Z
-; public: long __thiscall LSA_TRUSTED_DOMAIN::SetPosixOffset(unsigned long)
-?SetPosixOffset@LSA_TRUSTED_DOMAIN@@QAEJK@Z
-; public: long __thiscall LSA_POLICY::SetPrimaryBrowserGroup(class NLS_STR const &)
-?SetPrimaryBrowserGroup@LSA_POLICY@@QAEJABVNLS_STR@@@Z
-; public: long __thiscall LSA_POLICY::SetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM const *)
-?SetPrimaryDomain@LSA_POLICY@@QAEJPBVLSA_PRIMARY_DOM_INFO_MEM@@@Z
-; public: long __thiscall LSA_POLICY::SetPrimaryDomainName(class NLS_STR const *,void * const *)
-?SetPrimaryDomainName@LSA_POLICY@@QAEJPBVNLS_STR@@PBQAX@Z
-; public: long __thiscall USER_3::SetPrimaryGroupId(unsigned long)
-?SetPrimaryGroupId@USER_3@@QAEJK@Z
-; public: long __thiscall USER_11::SetPriv(unsigned int)
-?SetPriv@USER_11@@QAEJI@Z
-; public: long __thiscall USER_3::SetProfile(unsigned short const *)
-?SetProfile@USER_3@@QAEJPBG@Z
-; public: long __thiscall OS_ACE::SetPtr(void *)
-?SetPtr@OS_ACE@@QAEJPAX@Z
-; public: void __thiscall OS_PRIVILEGE_SET::SetPtr(struct _PRIVILEGE_SET *)
-?SetPtr@OS_PRIVILEGE_SET@@QAEXPAU_PRIVILEGE_SET@@@Z
-; public: long __thiscall OS_SID::SetPtr(void *)
-?SetPtr@OS_SID@@QAEJPAX@Z
-; protected: void __thiscall DEVICE::SetRemoteName(unsigned short const *)
-?SetRemoteName@DEVICE@@IAEXPBG@Z
-; protected: void __thiscall DEVICE::SetRemoteType(unsigned int)
-?SetRemoteType@DEVICE@@IAEXI@Z
-; protected: long __thiscall SHARE_1::SetResourceType(unsigned int)
-?SetResourceType@SHARE_1@@IAEJI@Z
-; public: long __thiscall SHARE_2::SetResourceType(unsigned int)
-?SetResourceType@SHARE_2@@QAEJI@Z
-; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetSACL(int,class OS_ACL const *,int)
-?SetSACL@OS_SECURITY_DESCRIPTOR@@QAEJHPBVOS_ACL@@H@Z
-; public: long __thiscall OS_ACE::SetSID(class OS_SID const &)
-?SetSID@OS_ACE@@QAEJABVOS_SID@@@Z
-; public: long __thiscall USER_2::SetScriptPath(unsigned short const *)
-?SetScriptPath@USER_2@@QAEJPBG@Z
-; public: long __thiscall SC_SERVICE::SetSecurity(unsigned long,void * const)
-?SetSecurity@SC_SERVICE@@QAEJKQAX@Z
-; protected: void __thiscall SERVER_2::SetSecurity(unsigned int)
-?SetSecurity@SERVER_2@@IAEXI@Z
-; protected: long __thiscall LM_FILE::SetServer(unsigned short const *)
-?SetServer@LM_FILE@@IAEJPBG@Z
-; protected: void __thiscall DEVICE::SetServerName(unsigned short const *)
-?SetServerName@DEVICE@@IAEXPBG@Z
-; protected: long __thiscall LM_SERVICE::SetServerName(unsigned short const *)
-?SetServerName@LM_SERVICE@@IAEJPBG@Z
-; public: long __thiscall NET_ACCESS::SetServerName(unsigned short const *)
-?SetServerName@NET_ACCESS@@QAEJPBG@Z
-; public: long __thiscall LSA_POLICY::SetServerRole(class LSA_SERVER_ROLE_INFO_MEM const *)
-?SetServerRole@LSA_POLICY@@QAEJPBVLSA_SERVER_ROLE_INFO_MEM@@@Z
-; protected: void __thiscall SERVER_1::SetServerType(unsigned long)
-?SetServerType@SERVER_1@@IAEXK@Z
-; public: long __thiscall LSA_POLICY::SetShutDownOnFull(int)
-?SetShutDownOnFull@LSA_POLICY@@QAEJH@Z
-; public: long __thiscall OS_ACE::SetSize(unsigned int)
-?SetSize@OS_ACE@@QAEJI@Z
-; protected: long __thiscall OS_ACL::SetSize(unsigned int,int)
-?SetSize@OS_ACL@@IAEJIH@Z
-; protected: void __thiscall DEVICE::SetStatus(unsigned int)
-?SetStatus@DEVICE@@IAEXI@Z
-; public: long __thiscall USER_MODALS_3::SetThreshold(unsigned long)
-?SetThreshold@USER_MODALS_3@@QAEJK@Z
-; protected: void __thiscall LM_SESSION_10::SetTime(unsigned long)
-?SetTime@LM_SESSION_10@@IAEXK@Z
-; private: long __thiscall NET_NAME::SetUNCPath(unsigned short const *)
-?SetUNCPath@NET_NAME@@AAEJPBG@Z
-; public: long __thiscall USER_2::SetUserCantChangePass(int)
-?SetUserCantChangePass@USER_2@@QAEJH@Z
-; public: long __thiscall USER_11::SetUserComment(unsigned short const *)
-?SetUserComment@USER_11@@QAEJPBG@Z
-; protected: long __thiscall USER_2::SetUserFlag(int,unsigned int)
-?SetUserFlag@USER_2@@IAEJHI@Z
-; protected: void __thiscall LM_SESSION_1::SetUserFlags(unsigned long)
-?SetUserFlags@LM_SESSION_1@@IAEXK@Z
-; public: long __thiscall USER_2::SetUserFlags(unsigned int)
-?SetUserFlags@USER_2@@QAEJI@Z
-; protected: long __thiscall USER_3::SetUserId(unsigned long)
-?SetUserId@USER_3@@IAEJK@Z
-; public: long __thiscall WKSTA_USER_1::SetUserName(unsigned short const *)
-?SetUserName@WKSTA_USER_1@@QAEJPBG@Z
-; public: long __thiscall USER_2::SetUserPassRequired(int)
-?SetUserPassRequired@USER_2@@QAEJH@Z
-; protected: long __thiscall DEVICE2::SetUsername(unsigned short const *)
-?SetUsername@DEVICE2@@IAEJPBG@Z
-; protected: long __thiscall LM_SESSION_10::SetUsername(unsigned short const *)
-?SetUsername@LM_SESSION_10@@IAEJPBG@Z
-; public: long __thiscall SAM_USER::SetUsername(class NLS_STR const *)
-?SetUsername@SAM_USER@@QAEJPBVNLS_STR@@@Z
-; public: long __thiscall LM_CONFIG::SetValue(class NLS_STR *)
-?SetValue@LM_CONFIG@@QAEJPAVNLS_STR@@@Z
-; public: long __thiscall USER_11::SetWorkstations(unsigned short const *)
-?SetWorkstations@USER_11@@QAEJPBG@Z
-; protected: long __thiscall SHARE_2::SetWriteBuffer(int)
-?SetWriteBuffer@SHARE_2@@IAEJH@Z
-; void __stdcall SkipWhiteSpace(unsigned short * *)
-?SkipWhiteSpace@@YGXPAPAG@Z
-; public: void __thiscall DOMAIN0_ENUM::Sort(void)
-?Sort@DOMAIN0_ENUM@@QAEXXZ
-; public: long __thiscall LM_SERVICE::Start(unsigned short const *,unsigned int,unsigned int)
-?Start@LM_SERVICE@@QAEJPBGII@Z
-; public: long __thiscall SC_SERVICE::Start(unsigned int,unsigned short const * *)
-?Start@SC_SERVICE@@QAEJIPAPBG@Z
-; public: long __thiscall LM_SERVICE::Stop(unsigned int,unsigned int)
-?Stop@LM_SERVICE@@QAEJII@Z
-; protected: long __thiscall LSA_POLICY::TcharArrayToUnistrArray(unsigned short const * const *,struct _UNICODE_STRING *,unsigned long)
-?TcharArrayToUnistrArray@LSA_POLICY@@IAEJPBQBGPAU_UNICODE_STRING@@K@Z
-; public: long __thiscall SAM_DOMAIN::TranslateNamesToRids(unsigned short const * const *,unsigned long,class SAM_RID_MEM *,class SAM_SID_NAME_USE_MEM *)const 
-?TranslateNamesToRids@SAM_DOMAIN@@QBEJPBQBGKPAVSAM_RID_MEM@@PAVSAM_SID_NAME_USE_MEM@@@Z
-; public: long __thiscall LSA_POLICY::TranslateNamesToSids(unsigned short const * const *,unsigned long,class LSA_TRANSLATED_SID_MEM *,class LSA_REF_DOMAIN_MEM *)
-?TranslateNamesToSids@LSA_POLICY@@QAEJPBQBGKPAVLSA_TRANSLATED_SID_MEM@@PAVLSA_REF_DOMAIN_MEM@@@Z
-; public: long __thiscall LSA_POLICY::TranslateSidsToNames(void * const *,unsigned long,class LSA_TRANSLATED_NAME_MEM *,class LSA_REF_DOMAIN_MEM *)
-?TranslateSidsToNames@LSA_POLICY@@QAEJPBQAXKPAVLSA_TRANSLATED_NAME_MEM@@PAVLSA_REF_DOMAIN_MEM@@@Z
-; public: long __thiscall OS_SID::TrimLastSubAuthority(unsigned long *)
-?TrimLastSubAuthority@OS_SID@@QAEJPAK@Z
-; public: long __thiscall USER_11::TrimParams(void)
-?TrimParams@USER_11@@QAEJXZ
-; public: long __thiscall LSA_POLICY::TrustDomain(class LSA_POLICY &,class NLS_STR const &,int,unsigned short const *)
-?TrustDomain@LSA_POLICY@@QAEJAAV1@ABVNLS_STR@@HPBG@Z
-; public: long __thiscall LSA_POLICY::TrustDomain(class NLS_STR const &,void * const,class NLS_STR const &,int,unsigned short const *,int)
-?TrustDomain@LSA_POLICY@@QAEJABVNLS_STR@@QAX0HPBGH@Z
-; public: long __thiscall SC_MANAGER::Unlock(void)
-?Unlock@SC_MANAGER@@QAEJXZ
-; protected: long __thiscall OS_SECURITY_DESCRIPTOR::UpdateControl(void)
-?UpdateControl@OS_SECURITY_DESCRIPTOR@@IAEJXZ
-; protected: long __thiscall OS_SECURITY_DESCRIPTOR::UpdateReferencedSecurityObject(class OS_OBJECT_WITH_DATA *)
-?UpdateReferencedSecurityObject@OS_SECURITY_DESCRIPTOR@@IAEJPAVOS_OBJECT_WITH_DATA@@@Z
-; public: long __thiscall ADMIN_AUTHORITY::UpgradeAccountDomain(unsigned long)
-?UpgradeAccountDomain@ADMIN_AUTHORITY@@QAEJK@Z
-; public: long __thiscall ADMIN_AUTHORITY::UpgradeBuiltinDomain(unsigned long)
-?UpgradeBuiltinDomain@ADMIN_AUTHORITY@@QAEJK@Z
-; public: long __thiscall ADMIN_AUTHORITY::UpgradeLSAPolicy(unsigned long)
-?UpgradeLSAPolicy@ADMIN_AUTHORITY@@QAEJK@Z
-; public: long __thiscall ADMIN_AUTHORITY::UpgradeSamServer(unsigned long)
-?UpgradeSamServer@ADMIN_AUTHORITY@@QAEJK@Z
-; private: long __thiscall COMPUTER::ValidateName(unsigned short const *)
-?ValidateName@COMPUTER@@AAEJPBG@Z
-; protected: virtual long __thiscall DEVICE::ValidateName(void)
-?ValidateName@DEVICE@@MAEJXZ
-; protected: virtual long __thiscall DOMAIN::ValidateName(void)
-?ValidateName@DOMAIN@@MAEJXZ
-; protected: virtual long __thiscall LM_OBJ::ValidateName(void)
-?ValidateName@LM_OBJ@@MAEJXZ
-; public: static long __stdcall NT_ACCOUNTS_UTILITY::ValidateQualifiedAccountName(class NLS_STR const &,int *)
-?ValidateQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SGJABVNLS_STR@@PAH@Z
-; public: long __thiscall LSA_POLICY::VerifyLsa(class LSA_PRIMARY_DOM_INFO_MEM *,class NLS_STR const *)const 
-?VerifyLsa@LSA_POLICY@@QBEJPAVLSA_PRIMARY_DOM_INFO_MEM@@PBVNLS_STR@@@Z
-; private: static long __stdcall NT_ACCOUNTS_UTILITY::W_BuildQualifiedAccountName(class NLS_STR *,class NLS_STR const &,class NLS_STR const *,enum _SID_NAME_USE)
-?W_BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@CGJPAVNLS_STR@@ABV2@PBV2@W4_SID_NAME_USE@@@Z
-; protected: virtual long __thiscall NEW_LM_OBJ::W_ChangeToNew(void)
-?W_ChangeToNew@NEW_LM_OBJ@@MAEJXZ
-; protected: long __thiscall ENUM_CALLER_LM_OBJ::W_CloneFrom(class ENUM_CALLER_LM_OBJ const &)
-?W_CloneFrom@ENUM_CALLER_LM_OBJ@@IAEJABV1@@Z
-; protected: long __thiscall GROUP::W_CloneFrom(class GROUP const &)
-?W_CloneFrom@GROUP@@IAEJABV1@@Z
-; protected: long __thiscall GROUP_1::W_CloneFrom(class GROUP_1 const &)
-?W_CloneFrom@GROUP_1@@IAEJABV1@@Z
-; protected: long __thiscall LOC_LM_OBJ::W_CloneFrom(class LOC_LM_OBJ const &)
-?W_CloneFrom@LOC_LM_OBJ@@IAEJABV1@@Z
-; protected: long __thiscall MEMBERSHIP_LM_OBJ::W_CloneFrom(class MEMBERSHIP_LM_OBJ const &)
-?W_CloneFrom@MEMBERSHIP_LM_OBJ@@IAEJABV1@@Z
-; protected: long __thiscall NEW_LM_OBJ::W_CloneFrom(class NEW_LM_OBJ const &)
-?W_CloneFrom@NEW_LM_OBJ@@IAEJABV1@@Z
-; protected: long __thiscall SHARE::W_CloneFrom(class SHARE const &)
-?W_CloneFrom@SHARE@@IAEJABV1@@Z
-; protected: long __thiscall SHARE_1::W_CloneFrom(class SHARE_1 const &)
-?W_CloneFrom@SHARE_1@@IAEJABV1@@Z
-; protected: long __thiscall SHARE_2::W_CloneFrom(class SHARE_2 const &)
-?W_CloneFrom@SHARE_2@@IAEJABV1@@Z
-; protected: long __thiscall USER::W_CloneFrom(class USER const &)
-?W_CloneFrom@USER@@IAEJABV1@@Z
-; protected: long __thiscall USER_11::W_CloneFrom(class USER_11 const &)
-?W_CloneFrom@USER_11@@IAEJABV1@@Z
-; protected: long __thiscall USER_2::W_CloneFrom(class USER_2 const &)
-?W_CloneFrom@USER_2@@IAEJABV1@@Z
-; protected: long __thiscall USER_3::W_CloneFrom(class USER_3 const &)
-?W_CloneFrom@USER_3@@IAEJABV1@@Z
-; private: void __thiscall LM_SERVICE::W_ComputeOtherStatus(struct LM_SERVICE_OTHER_STATUS *)
-?W_ComputeOtherStatus@LM_SERVICE@@AAEXPAULM_SERVICE_OTHER_STATUS@@@Z
-; protected: virtual long __thiscall ENUM_CALLER_LM_OBJ::W_CreateNew(void)
-?W_CreateNew@ENUM_CALLER_LM_OBJ@@MAEJXZ
-; protected: virtual long __thiscall GROUP_1::W_CreateNew(void)
-?W_CreateNew@GROUP_1@@MAEJXZ
-; protected: virtual long __thiscall GROUP_MEMB::W_CreateNew(void)
-?W_CreateNew@GROUP_MEMB@@MAEJXZ
-; protected: virtual long __thiscall LSA_ACCOUNT::W_CreateNew(void)
-?W_CreateNew@LSA_ACCOUNT@@MAEJXZ
-; protected: virtual long __thiscall NEW_LM_OBJ::W_CreateNew(void)
-?W_CreateNew@NEW_LM_OBJ@@MAEJXZ
-; protected: virtual long __thiscall SHARE::W_CreateNew(void)
-?W_CreateNew@SHARE@@MAEJXZ
-; protected: virtual long __thiscall SHARE_1::W_CreateNew(void)
-?W_CreateNew@SHARE_1@@MAEJXZ
-; protected: virtual long __thiscall SHARE_2::W_CreateNew(void)
-?W_CreateNew@SHARE_2@@MAEJXZ
-; protected: virtual long __thiscall USER_11::W_CreateNew(void)
-?W_CreateNew@USER_11@@MAEJXZ
-; protected: virtual long __thiscall USER_2::W_CreateNew(void)
-?W_CreateNew@USER_2@@MAEJXZ
-; protected: virtual long __thiscall USER_3::W_CreateNew(void)
-?W_CreateNew@USER_3@@MAEJXZ
-; protected: virtual long __thiscall USER_MEMB::W_CreateNew(void)
-?W_CreateNew@USER_MEMB@@MAEJXZ
-; protected: long __thiscall ENUM_CALLER::W_GetInfo(void)
-?W_GetInfo@ENUM_CALLER@@IAEJXZ
-; private: void __thiscall LM_SERVICE::W_InterpretStatus(struct _SERVICE_INFO_2 const *,enum LM_SERVICE_STATUS *,struct LM_SERVICE_OTHER_STATUS *)
-?W_InterpretStatus@LM_SERVICE@@AAEXPBU_SERVICE_INFO_2@@PAW4LM_SERVICE_STATUS@@PAULM_SERVICE_OTHER_STATUS@@@Z
-; private: int __thiscall LM_SERVICE::W_IsWellKnownService(void)const 
-?W_IsWellKnownService@LM_SERVICE@@ABEHXZ
-; private: long __thiscall LM_SERVICE::W_QueryStatus(enum LM_SERVICE_STATUS *,struct LM_SERVICE_OTHER_STATUS *)
-?W_QueryStatus@LM_SERVICE@@AAEJPAW4LM_SERVICE_STATUS@@PAULM_SERVICE_OTHER_STATUS@@@Z
-; private: long __thiscall LM_SERVICE::W_ServiceControl(unsigned int,unsigned int)
-?W_ServiceControl@LM_SERVICE@@AAEJII@Z
-; private: long __thiscall LM_SERVICE::W_ServiceStart(unsigned short const *)
-?W_ServiceStart@LM_SERVICE@@AAEJPBG@Z
-; private: long __thiscall LOCATION::W_Set(unsigned short const *,enum LOCATION_TYPE,int)
-?W_Set@LOCATION@@AAEJPBGW4LOCATION_TYPE@@H@Z
-; private: long __thiscall GROUP_1::W_Write(void)
-?W_Write@GROUP_1@@AAEJXZ
-; private: long __thiscall SERVER_1::W_Write(void)
-?W_Write@SERVER_1@@AAEJXZ
-; private: long __thiscall SERVER_2::W_Write(void)
-?W_Write@SERVER_2@@AAEJXZ
-; protected: long __thiscall USER_2::W_Write(void)
-?W_Write@USER_2@@IAEJXZ
-; protected: long __thiscall USER_3::W_Write(void)
-?W_Write@USER_3@@IAEJXZ
-; private: long __thiscall WKSTA_USER_1::W_Write(void)
-?W_Write@WKSTA_USER_1@@AAEJXZ
-; public: long __thiscall NEW_LM_OBJ::Write(void)
-?Write@NEW_LM_OBJ@@QAEJXZ
-; public: virtual long __thiscall DEVICE::WriteInfo(void)
-?WriteInfo@DEVICE@@UAEJXZ
-; public: virtual long __thiscall DOMAIN::WriteInfo(void)
-?WriteInfo@DOMAIN@@UAEJXZ
-; public: long __thiscall NEW_LM_OBJ::WriteInfo(void)
-?WriteInfo@NEW_LM_OBJ@@QAEJXZ
-; public: virtual long __thiscall USER_MODALS::WriteInfo(void)
-?WriteInfo@USER_MODALS@@UAEJXZ
-; public: virtual long __thiscall USER_MODALS_3::WriteInfo(void)
-?WriteInfo@USER_MODALS_3@@UAEJXZ
-; public: long __thiscall NEW_LM_OBJ::WriteNew(void)
-?WriteNew@NEW_LM_OBJ@@QAEJXZ
-; public: void __thiscall OS_ACE::_DbgPrint(void)const 
-?_DbgPrint@OS_ACE@@QBEXXZ
-; public: void __thiscall OS_ACL::_DbgPrint(void)const 
-?_DbgPrint@OS_ACL@@QBEXXZ
-; public: void __thiscall OS_SECURITY_DESCRIPTOR::_DbgPrint(void)const 
-?_DbgPrint@OS_SECURITY_DESCRIPTOR@@QBEXXZ
-; public: void __thiscall OS_SID::_DbgPrint(void)const 
-?_DbgPrint@OS_SID@@QBEXXZ
-; private: void __thiscall LM_ENUM::_DeregisterIter(void)
-?_DeregisterIter@LM_ENUM@@AAEXXZ
-; private: void __thiscall LM_RESUME_ENUM::_DeregisterIter(void)
-?_DeregisterIter@LM_RESUME_ENUM@@AAEXXZ
-; private: void __thiscall LM_ENUM::_RegisterIter(void)
-?_RegisterIter@LM_ENUM@@AAEXXZ
-; private: void __thiscall LM_RESUME_ENUM::_RegisterIter(void)
-?_RegisterIter@LM_RESUME_ENUM@@AAEXXZ
-DestroySession
-FreeArgv
-I_MNetComputerNameCompare
-I_MNetLogonControl
-I_MNetNameCanonicalize
-I_MNetNameCompare
-I_MNetNameValidate
-I_MNetPathCanonicalize
-I_MNetPathCompare
-I_MNetPathType
-IsSlowTransport
-MAllocMem
-MDosPrintQEnum
-MFreeMem
-MNetAccessAdd
-MNetAccessCheck
-MNetAccessDel
-MNetAccessEnum
-MNetAccessGetInfo
-MNetAccessGetUserPerms
-MNetAccessSetInfo
-MNetApiBufferAlloc
-MNetApiBufferFree
-MNetApiBufferReAlloc
-MNetApiBufferSize
-MNetAuditClear
-MNetAuditRead
-MNetAuditWrite
-MNetCharDevControl
-MNetCharDevGetInfo
-MNetCharDevQEnum
-MNetCharDevQGetInfo
-MNetCharDevQPurge
-MNetCharDevQPurgeSelf
-MNetCharDevQSetInfo
-MNetConfigGet
-MNetConfigGetAll
-MNetConfigSet
-MNetConnectionEnum
-MNetErrorLogClear
-MNetErrorLogRead
-MNetErrorLogWrite
-MNetFileClose
-MNetFileEnum
-MNetFileGetInfo
-MNetGetDCName
-MNetGroupAdd
-MNetGroupAddUser
-MNetGroupDel
-MNetGroupDelUser
-MNetGroupEnum
-MNetGroupGetInfo
-MNetGroupGetUsers
-MNetGroupSetInfo
-MNetGroupSetUsers
-MNetLocalGroupAddMember
-MNetLogonEnum
-MNetMessageBufferSend
-MNetRemoteTOD
-MNetServerDiskEnum
-MNetServerEnum
-MNetServerGetInfo
-MNetServerSetInfo
-MNetServiceControl
-MNetServiceEnum
-MNetServiceGetInfo
-MNetServiceInstall
-MNetSessionDel
-MNetSessionEnum
-MNetSessionGetInfo
-MNetShareAdd
-MNetShareCheck
-MNetShareDel
-MNetShareDelSticky
-MNetShareEnum
-MNetShareEnumSticky
-MNetShareGetInfo
-MNetShareSetInfo
-MNetUseAdd
-MNetUseDel
-MNetUseEnum
-MNetUseGetInfo
-MNetUserAdd
-MNetUserDel
-MNetUserEnum
-MNetUserGetGroups
-MNetUserGetInfo
-MNetUserModalsGet
-MNetUserModalsSet
-MNetUserPasswordSet
-MNetUserSetGroups
-MNetUserSetInfo
-MNetWkstaGetInfo
-MNetWkstaSetInfo
-MNetWkstaSetUID
-MNetWkstaUserEnum
-MNetWkstaUserGetInfo
-MakeArgvArgc
-RegGetMachineIdentifierValue
-SetupNormalSession
-SetupNullSession
-SetupSession
-SlowTransportWorkerThread
+; 
+; Exports of file NETUI1.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETUI1.dll
+EXPORTS
+; public: __thiscall ADMIN_AUTHORITY::ADMIN_AUTHORITY(unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long,int)
+??0ADMIN_AUTHORITY@@QAE@PBGKKKKH@Z
+; public: __thiscall ALIAS_ENUM::ALIAS_ENUM(class SAM_DOMAIN &,unsigned int)
+??0ALIAS_ENUM@@QAE@AAVSAM_DOMAIN@@I@Z
+; public: __thiscall ALIAS_ENUM_ITER::ALIAS_ENUM_ITER(class ALIAS_ENUM &)
+??0ALIAS_ENUM_ITER@@QAE@AAVALIAS_ENUM@@@Z
+; public: __thiscall ALIAS_ENUM_OBJ::ALIAS_ENUM_OBJ(void)
+??0ALIAS_ENUM_OBJ@@QAE@XZ
+; public: __thiscall ALIAS_STR::ALIAS_STR(unsigned short const *)
+??0ALIAS_STR@@QAE@PBG@Z
+; public: __thiscall ALLOC_STR::ALLOC_STR(unsigned short *,unsigned int)
+??0ALLOC_STR@@QAE@PAGI@Z
+; public: __thiscall API_SESSION::API_SESSION(unsigned short const *,int)
+??0API_SESSION@@QAE@PBGH@Z
+; protected: __thiscall BASE::BASE(void)
+??0BASE@@IAE@XZ
+; public: __thiscall BROWSE_DOMAIN_ENUM::BROWSE_DOMAIN_ENUM(unsigned long,unsigned long *)
+??0BROWSE_DOMAIN_ENUM@@QAE@KPAK@Z
+; public: __thiscall BROWSE_DOMAIN_INFO::BROWSE_DOMAIN_INFO(unsigned short const *,unsigned long)
+??0BROWSE_DOMAIN_INFO@@QAE@PBGK@Z
+; public: __thiscall CHARDEVQ1_ENUM::CHARDEVQ1_ENUM(unsigned short const *,unsigned short const *)
+??0CHARDEVQ1_ENUM@@QAE@PBG0@Z
+; public: __thiscall CHARDEVQ1_ENUM_ITER::CHARDEVQ1_ENUM_ITER(class CHARDEVQ1_ENUM &)
+??0CHARDEVQ1_ENUM_ITER@@QAE@AAVCHARDEVQ1_ENUM@@@Z
+; public: __thiscall CHARDEVQ1_ENUM_OBJ::CHARDEVQ1_ENUM_OBJ(void)
+??0CHARDEVQ1_ENUM_OBJ@@QAE@XZ
+; protected: __thiscall CHARDEVQ_ENUM::CHARDEVQ_ENUM(unsigned short const *,unsigned short const *,unsigned int)
+??0CHARDEVQ_ENUM@@IAE@PBG0I@Z
+; protected: __thiscall COMPUTER::COMPUTER(unsigned short const *)
+??0COMPUTER@@IAE@PBG@Z
+; public: __thiscall CONN0_ENUM::CONN0_ENUM(unsigned short const *,unsigned short const *)
+??0CONN0_ENUM@@QAE@PBG0@Z
+; public: __thiscall CONN0_ENUM_ITER::CONN0_ENUM_ITER(class CONN0_ENUM &)
+??0CONN0_ENUM_ITER@@QAE@AAVCONN0_ENUM@@@Z
+; public: __thiscall CONN0_ENUM_OBJ::CONN0_ENUM_OBJ(void)
+??0CONN0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall CONN1_ENUM::CONN1_ENUM(unsigned short const *,unsigned short const *)
+??0CONN1_ENUM@@QAE@PBG0@Z
+; public: __thiscall CONN1_ENUM_ITER::CONN1_ENUM_ITER(class CONN1_ENUM &)
+??0CONN1_ENUM_ITER@@QAE@AAVCONN1_ENUM@@@Z
+; public: __thiscall CONN1_ENUM_OBJ::CONN1_ENUM_OBJ(void)
+??0CONN1_ENUM_OBJ@@QAE@XZ
+; protected: __thiscall CONN_ENUM::CONN_ENUM(unsigned short const *,unsigned short const *,unsigned int)
+??0CONN_ENUM@@IAE@PBG0I@Z
+; public: __thiscall CONTEXT_ENUM::CONTEXT_ENUM(unsigned long)
+??0CONTEXT_ENUM@@QAE@K@Z
+; public: __thiscall CONTEXT_ENUM_ITER::CONTEXT_ENUM_ITER(class CONTEXT_ENUM &)
+??0CONTEXT_ENUM_ITER@@QAE@AAVCONTEXT_ENUM@@@Z
+; public: __thiscall CONTEXT_ENUM_OBJ::CONTEXT_ENUM_OBJ(void)
+??0CONTEXT_ENUM_OBJ@@QAE@XZ
+; public: __thiscall DEVICE2::DEVICE2(unsigned short const *)
+??0DEVICE2@@QAE@PBG@Z
+; public: __thiscall DEVICE::DEVICE(unsigned short const *)
+??0DEVICE@@QAE@PBG@Z
+; public: __thiscall DOMAIN0_ENUM::DOMAIN0_ENUM(unsigned short const *)
+??0DOMAIN0_ENUM@@QAE@PBG@Z
+; public: __thiscall DOMAIN0_ENUM_ITER::DOMAIN0_ENUM_ITER(class DOMAIN0_ENUM &)
+??0DOMAIN0_ENUM_ITER@@QAE@AAVDOMAIN0_ENUM@@@Z
+; public: __thiscall DOMAIN0_ENUM_OBJ::DOMAIN0_ENUM_OBJ(void)
+??0DOMAIN0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall DOMAIN::DOMAIN(unsigned short const *,unsigned short const *,int)
+??0DOMAIN@@QAE@PBG0H@Z
+; public: __thiscall DOMAIN::DOMAIN(unsigned short const *,int)
+??0DOMAIN@@QAE@PBGH@Z
+; protected: __thiscall DOMAIN_ENUM::DOMAIN_ENUM(unsigned short const *,unsigned int)
+??0DOMAIN_ENUM@@IAE@PBGI@Z
+; public: __thiscall DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const *,unsigned short const *,int)
+??0DOMAIN_WITH_DC_CACHE@@QAE@PBG0H@Z
+; public: __thiscall DOMAIN_WITH_DC_CACHE::DOMAIN_WITH_DC_CACHE(unsigned short const *,int)
+??0DOMAIN_WITH_DC_CACHE@@QAE@PBGH@Z
+; public: __thiscall ENUM_CALLER::ENUM_CALLER(void)
+??0ENUM_CALLER@@QAE@XZ
+; public: __thiscall ENUM_CALLER_LM_OBJ::ENUM_CALLER_LM_OBJ(class LOCATION const &)
+??0ENUM_CALLER_LM_OBJ@@QAE@ABVLOCATION@@@Z
+; protected: __thiscall ENUM_OBJ_BASE::ENUM_OBJ_BASE(void)
+??0ENUM_OBJ_BASE@@IAE@XZ
+; public: __thiscall FILE2_ENUM::FILE2_ENUM(unsigned short const *,unsigned short const *,unsigned short const *)
+??0FILE2_ENUM@@QAE@PBG00@Z
+; public: __thiscall FILE2_ENUM_ITER::FILE2_ENUM_ITER(class FILE2_ENUM &)
+??0FILE2_ENUM_ITER@@QAE@AAVFILE2_ENUM@@@Z
+; public: __thiscall FILE2_ENUM_OBJ::FILE2_ENUM_OBJ(void)
+??0FILE2_ENUM_OBJ@@QAE@XZ
+; public: __thiscall FILE3_ENUM::FILE3_ENUM(unsigned short const *,unsigned short const *,unsigned short const *)
+??0FILE3_ENUM@@QAE@PBG00@Z
+; public: __thiscall FILE3_ENUM_ITER::FILE3_ENUM_ITER(class FILE3_ENUM &)
+??0FILE3_ENUM_ITER@@QAE@AAVFILE3_ENUM@@@Z
+; public: __thiscall FILE3_ENUM_OBJ::FILE3_ENUM_OBJ(void)
+??0FILE3_ENUM_OBJ@@QAE@XZ
+; protected: __thiscall FILE_ENUM::FILE_ENUM(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int)
+??0FILE_ENUM@@IAE@PBG00I@Z
+; public: __thiscall GROUP0_ENUM::GROUP0_ENUM(class LOCATION const &,unsigned short const *)
+??0GROUP0_ENUM@@QAE@ABVLOCATION@@PBG@Z
+; public: __thiscall GROUP0_ENUM::GROUP0_ENUM(unsigned short const *,unsigned short const *)
+??0GROUP0_ENUM@@QAE@PBG0@Z
+; public: __thiscall GROUP0_ENUM::GROUP0_ENUM(enum LOCATION_TYPE,unsigned short const *)
+??0GROUP0_ENUM@@QAE@W4LOCATION_TYPE@@PBG@Z
+; public: __thiscall GROUP0_ENUM_ITER::GROUP0_ENUM_ITER(class GROUP0_ENUM &)
+??0GROUP0_ENUM_ITER@@QAE@AAVGROUP0_ENUM@@@Z
+; public: __thiscall GROUP0_ENUM_OBJ::GROUP0_ENUM_OBJ(void)
+??0GROUP0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall GROUP1_ENUM::GROUP1_ENUM(class LOCATION const &)
+??0GROUP1_ENUM@@QAE@ABVLOCATION@@@Z
+; public: __thiscall GROUP1_ENUM::GROUP1_ENUM(unsigned short const *)
+??0GROUP1_ENUM@@QAE@PBG@Z
+; public: __thiscall GROUP1_ENUM::GROUP1_ENUM(enum LOCATION_TYPE)
+??0GROUP1_ENUM@@QAE@W4LOCATION_TYPE@@@Z
+; public: __thiscall GROUP1_ENUM_ITER::GROUP1_ENUM_ITER(class GROUP1_ENUM &)
+??0GROUP1_ENUM_ITER@@QAE@AAVGROUP1_ENUM@@@Z
+; public: __thiscall GROUP1_ENUM_OBJ::GROUP1_ENUM_OBJ(void)
+??0GROUP1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall GROUP::GROUP(unsigned short const *,unsigned short const *)
+??0GROUP@@QAE@PBG0@Z
+; public: __thiscall GROUP::GROUP(unsigned short const *,class LOCATION const &)
+??0GROUP@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall GROUP::GROUP(unsigned short const *,enum LOCATION_TYPE)
+??0GROUP@@QAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall GROUP_0::GROUP_0(unsigned short const *,unsigned short const *)
+??0GROUP_0@@QAE@PBG0@Z
+; public: __thiscall GROUP_0::GROUP_0(unsigned short const *,class LOCATION const &)
+??0GROUP_0@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall GROUP_0::GROUP_0(unsigned short const *,enum LOCATION_TYPE)
+??0GROUP_0@@QAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall GROUP_1::GROUP_1(unsigned short const *,unsigned short const *)
+??0GROUP_1@@QAE@PBG0@Z
+; public: __thiscall GROUP_1::GROUP_1(unsigned short const *,class LOCATION const &)
+??0GROUP_1@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall GROUP_1::GROUP_1(unsigned short const *,enum LOCATION_TYPE)
+??0GROUP_1@@QAE@PBGW4LOCATION_TYPE@@@Z
+; protected: __thiscall GROUP_ENUM::GROUP_ENUM(class LOCATION const &,unsigned int,unsigned short const *)
+??0GROUP_ENUM@@IAE@ABVLOCATION@@IPBG@Z
+; protected: __thiscall GROUP_ENUM::GROUP_ENUM(unsigned short const *,unsigned int,unsigned short const *)
+??0GROUP_ENUM@@IAE@PBGI0@Z
+; protected: __thiscall GROUP_ENUM::GROUP_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const *)
+??0GROUP_ENUM@@IAE@W4LOCATION_TYPE@@IPBG@Z
+; public: __thiscall GROUP_MEMB::GROUP_MEMB(class LOCATION const &,unsigned short const *)
+??0GROUP_MEMB@@QAE@ABVLOCATION@@PBG@Z
+; public: __thiscall ITER_DEVICE::ITER_DEVICE(enum LMO_DEVICE,enum LMO_DEV_USAGE)
+??0ITER_DEVICE@@QAE@W4LMO_DEVICE@@W4LMO_DEV_USAGE@@@Z
+; public: __thiscall ITER_SL_BROWSE_DOMAIN_INFO::ITER_SL_BROWSE_DOMAIN_INFO(class SLIST &)
+??0ITER_SL_BROWSE_DOMAIN_INFO@@QAE@AAVSLIST@@@Z
+; public: __thiscall ITER_SL_LM_RESUME_BUFFER::ITER_SL_LM_RESUME_BUFFER(class SLIST &)
+??0ITER_SL_LM_RESUME_BUFFER@@QAE@AAVSLIST@@@Z
+; public: __thiscall LM_CONFIG::LM_CONFIG(unsigned short const *,unsigned short const *,unsigned short const *)
+??0LM_CONFIG@@QAE@PBG00@Z
+; protected: __thiscall LM_ENUM::LM_ENUM(unsigned int)
+??0LM_ENUM@@IAE@I@Z
+; protected: __thiscall LM_ENUM_ITER::LM_ENUM_ITER(class LM_ENUM &)
+??0LM_ENUM_ITER@@IAE@AAVLM_ENUM@@@Z
+; protected: __thiscall LM_FILE::LM_FILE(unsigned short const *,unsigned long)
+??0LM_FILE@@IAE@PBGK@Z
+; public: __thiscall LM_FILE_2::LM_FILE_2(unsigned short const *,unsigned long)
+??0LM_FILE_2@@QAE@PBGK@Z
+; public: __thiscall LM_FILE_3::LM_FILE_3(unsigned short const *,unsigned long)
+??0LM_FILE_3@@QAE@PBGK@Z
+; public: __thiscall LM_MESSAGE::LM_MESSAGE(class LOCATION &)
+??0LM_MESSAGE@@QAE@AAVLOCATION@@@Z
+; public: __thiscall LM_MESSAGE::LM_MESSAGE(unsigned short const *)
+??0LM_MESSAGE@@QAE@PBG@Z
+; public: __thiscall LM_MESSAGE::LM_MESSAGE(enum LOCATION_TYPE)
+??0LM_MESSAGE@@QAE@W4LOCATION_TYPE@@@Z
+; public: __thiscall LM_OBJ::LM_OBJ(void)
+??0LM_OBJ@@QAE@XZ
+; protected: __thiscall LM_OBJ_BASE::LM_OBJ_BASE(int)
+??0LM_OBJ_BASE@@IAE@H@Z
+; public: __thiscall LM_RESUME_BUFFER::LM_RESUME_BUFFER(class LM_RESUME_ENUM *,unsigned int,unsigned char *)
+??0LM_RESUME_BUFFER@@QAE@PAVLM_RESUME_ENUM@@IPAE@Z
+; protected: __thiscall LM_RESUME_ENUM::LM_RESUME_ENUM(unsigned int,int)
+??0LM_RESUME_ENUM@@IAE@IH@Z
+; protected: __thiscall LM_RESUME_ENUM_ITER::LM_RESUME_ENUM_ITER(class LM_RESUME_ENUM &)
+??0LM_RESUME_ENUM_ITER@@IAE@AAVLM_RESUME_ENUM@@@Z
+; public: __thiscall LM_SERVICE::LM_SERVICE(unsigned short const *,unsigned short const *)
+??0LM_SERVICE@@QAE@PBG0@Z
+; protected: __thiscall LM_SESSION::LM_SESSION(unsigned short const *,unsigned short const *)
+??0LM_SESSION@@IAE@PBG0@Z
+; protected: __thiscall LM_SESSION::LM_SESSION(unsigned short const *,class LOCATION const &)
+??0LM_SESSION@@IAE@PBGABVLOCATION@@@Z
+; protected: __thiscall LM_SESSION::LM_SESSION(unsigned short const *,enum LOCATION_TYPE)
+??0LM_SESSION@@IAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall LM_SESSION_0::LM_SESSION_0(unsigned short const *,unsigned short const *)
+??0LM_SESSION_0@@QAE@PBG0@Z
+; public: __thiscall LM_SESSION_0::LM_SESSION_0(unsigned short const *,class LOCATION const &)
+??0LM_SESSION_0@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall LM_SESSION_0::LM_SESSION_0(unsigned short const *,enum LOCATION_TYPE)
+??0LM_SESSION_0@@QAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall LM_SESSION_10::LM_SESSION_10(unsigned short const *,unsigned short const *)
+??0LM_SESSION_10@@QAE@PBG0@Z
+; public: __thiscall LM_SESSION_10::LM_SESSION_10(unsigned short const *,class LOCATION const &)
+??0LM_SESSION_10@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall LM_SESSION_10::LM_SESSION_10(unsigned short const *,enum LOCATION_TYPE)
+??0LM_SESSION_10@@QAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall LM_SESSION_1::LM_SESSION_1(unsigned short const *,unsigned short const *)
+??0LM_SESSION_1@@QAE@PBG0@Z
+; public: __thiscall LM_SESSION_1::LM_SESSION_1(unsigned short const *,class LOCATION const &)
+??0LM_SESSION_1@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall LM_SESSION_1::LM_SESSION_1(unsigned short const *,enum LOCATION_TYPE)
+??0LM_SESSION_1@@QAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall LM_SESSION_2::LM_SESSION_2(unsigned short const *,unsigned short const *)
+??0LM_SESSION_2@@QAE@PBG0@Z
+; public: __thiscall LM_SESSION_2::LM_SESSION_2(unsigned short const *,class LOCATION const &)
+??0LM_SESSION_2@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall LM_SESSION_2::LM_SESSION_2(unsigned short const *,enum LOCATION_TYPE)
+??0LM_SESSION_2@@QAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall LM_SRVRES::LM_SRVRES(void)
+??0LM_SRVRES@@QAE@XZ
+; public: __thiscall LOCAL_USER::LOCAL_USER(unsigned short const *,unsigned short const *)
+??0LOCAL_USER@@QAE@PBG0@Z
+; public: __thiscall LOCAL_USER::LOCAL_USER(enum LOCATION_TYPE)
+??0LOCAL_USER@@QAE@W4LOCATION_TYPE@@@Z
+; public: __thiscall LOCATION::LOCATION(class LOCATION const &)
+??0LOCATION@@QAE@ABV0@@Z
+; public: __thiscall LOCATION::LOCATION(unsigned short const *,int)
+??0LOCATION@@QAE@PBGH@Z
+; public: __thiscall LOCATION::LOCATION(enum LOCATION_TYPE,int)
+??0LOCATION@@QAE@W4LOCATION_TYPE@@H@Z
+; protected: __thiscall LOC_LM_ENUM::LOC_LM_ENUM(class LOCATION const &,unsigned int)
+??0LOC_LM_ENUM@@IAE@ABVLOCATION@@I@Z
+; protected: __thiscall LOC_LM_ENUM::LOC_LM_ENUM(unsigned short const *,unsigned int)
+??0LOC_LM_ENUM@@IAE@PBGI@Z
+; protected: __thiscall LOC_LM_ENUM::LOC_LM_ENUM(enum LOCATION_TYPE,unsigned int)
+??0LOC_LM_ENUM@@IAE@W4LOCATION_TYPE@@I@Z
+; public: __thiscall LOC_LM_OBJ::LOC_LM_OBJ(class LOCATION const &,int)
+??0LOC_LM_OBJ@@QAE@ABVLOCATION@@H@Z
+; public: __thiscall LOC_LM_OBJ::LOC_LM_OBJ(unsigned short const *,int)
+??0LOC_LM_OBJ@@QAE@PBGH@Z
+; public: __thiscall LOC_LM_OBJ::LOC_LM_OBJ(enum LOCATION_TYPE,int)
+??0LOC_LM_OBJ@@QAE@W4LOCATION_TYPE@@H@Z
+; protected: __thiscall LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(class LOCATION const &,unsigned int,int)
+??0LOC_LM_RESUME_ENUM@@IAE@ABVLOCATION@@IH@Z
+; protected: __thiscall LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(unsigned short const *,unsigned int,int)
+??0LOC_LM_RESUME_ENUM@@IAE@PBGIH@Z
+; protected: __thiscall LOC_LM_RESUME_ENUM::LOC_LM_RESUME_ENUM(enum LOCATION_TYPE,unsigned int,int)
+??0LOC_LM_RESUME_ENUM@@IAE@W4LOCATION_TYPE@@IH@Z
+; public: __thiscall LSA_ACCOUNT::LSA_ACCOUNT(class LSA_POLICY *,void *,unsigned long,unsigned short const *,void *)
+??0LSA_ACCOUNT@@QAE@PAVLSA_POLICY@@PAXKPBG1@Z
+; public: __thiscall LSA_ACCOUNTS_ENUM::LSA_ACCOUNTS_ENUM(class LSA_POLICY const *)
+??0LSA_ACCOUNTS_ENUM@@QAE@PBVLSA_POLICY@@@Z
+; public: __thiscall LSA_ACCOUNTS_ENUM_ITER::LSA_ACCOUNTS_ENUM_ITER(class LSA_ACCOUNTS_ENUM &)
+??0LSA_ACCOUNTS_ENUM_ITER@@QAE@AAVLSA_ACCOUNTS_ENUM@@@Z
+; public: __thiscall LSA_ACCOUNTS_ENUM_OBJ::LSA_ACCOUNTS_ENUM_OBJ(void)
+??0LSA_ACCOUNTS_ENUM_OBJ@@QAE@XZ
+; public: __thiscall LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(class OS_PRIVILEGE_SET *)
+??0LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QAE@PAVOS_PRIVILEGE_SET@@@Z
+; public: __thiscall LSA_ACCT_DOM_INFO_MEM::LSA_ACCT_DOM_INFO_MEM(int)
+??0LSA_ACCT_DOM_INFO_MEM@@QAE@H@Z
+; public: __thiscall LSA_AUDIT_EVENT_INFO_MEM::LSA_AUDIT_EVENT_INFO_MEM(int)
+??0LSA_AUDIT_EVENT_INFO_MEM@@QAE@H@Z
+; public: __thiscall LSA_DOMAIN_INFO::LSA_DOMAIN_INFO(class NLS_STR const &,class LSA_DOMAIN_INFO const *,class LSA_DOMAIN_INFO const *)
+??0LSA_DOMAIN_INFO@@QAE@ABVNLS_STR@@PBV1@1@Z
+; protected: __thiscall LSA_ENUM::LSA_ENUM(class LSA_POLICY const *)
+??0LSA_ENUM@@IAE@PBVLSA_POLICY@@@Z
+; protected: __thiscall LSA_MEMORY::LSA_MEMORY(int)
+??0LSA_MEMORY@@IAE@H@Z
+; protected: __thiscall LSA_OBJECT::LSA_OBJECT(void)
+??0LSA_OBJECT@@IAE@XZ
+; public: __thiscall LSA_POLICY::LSA_POLICY(unsigned short const *,unsigned long)
+??0LSA_POLICY@@QAE@PBGK@Z
+; public: __thiscall LSA_PRIMARY_DOM_INFO_MEM::LSA_PRIMARY_DOM_INFO_MEM(int)
+??0LSA_PRIMARY_DOM_INFO_MEM@@QAE@H@Z
+; public: __thiscall LSA_PRIVILEGES_ENUM::LSA_PRIVILEGES_ENUM(class LSA_POLICY const *)
+??0LSA_PRIVILEGES_ENUM@@QAE@PBVLSA_POLICY@@@Z
+; public: __thiscall LSA_PRIVILEGES_ENUM_ITER::LSA_PRIVILEGES_ENUM_ITER(class LSA_PRIVILEGES_ENUM &)
+??0LSA_PRIVILEGES_ENUM_ITER@@QAE@AAVLSA_PRIVILEGES_ENUM@@@Z
+; public: __thiscall LSA_PRIVILEGES_ENUM_OBJ::LSA_PRIVILEGES_ENUM_OBJ(void)
+??0LSA_PRIVILEGES_ENUM_OBJ@@QAE@XZ
+; public: __thiscall LSA_REF_DOMAIN_MEM::LSA_REF_DOMAIN_MEM(int)
+??0LSA_REF_DOMAIN_MEM@@QAE@H@Z
+; public: __thiscall LSA_SECRET::LSA_SECRET(class NLS_STR const &)
+??0LSA_SECRET@@QAE@ABVNLS_STR@@@Z
+; public: __thiscall LSA_SERVER_ROLE_INFO_MEM::LSA_SERVER_ROLE_INFO_MEM(int,int)
+??0LSA_SERVER_ROLE_INFO_MEM@@QAE@HH@Z
+; public: __thiscall LSA_TRANSLATED_NAME_MEM::LSA_TRANSLATED_NAME_MEM(int)
+??0LSA_TRANSLATED_NAME_MEM@@QAE@H@Z
+; public: __thiscall LSA_TRANSLATED_SID_MEM::LSA_TRANSLATED_SID_MEM(int)
+??0LSA_TRANSLATED_SID_MEM@@QAE@H@Z
+; public: __thiscall LSA_TRUSTED_DC_LIST::LSA_TRUSTED_DC_LIST(class NLS_STR const &,unsigned short const *)
+??0LSA_TRUSTED_DC_LIST@@QAE@ABVNLS_STR@@PBG@Z
+; public: __thiscall LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const &,struct _LSA_TRUST_INFORMATION const &,unsigned long)
+??0LSA_TRUSTED_DOMAIN@@QAE@ABVLSA_POLICY@@ABU_LSA_TRUST_INFORMATION@@K@Z
+; public: __thiscall LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const &,class NLS_STR const &,void * const,unsigned long)
+??0LSA_TRUSTED_DOMAIN@@QAE@ABVLSA_POLICY@@ABVNLS_STR@@QAXK@Z
+; public: __thiscall LSA_TRUSTED_DOMAIN::LSA_TRUSTED_DOMAIN(class LSA_POLICY const &,void * const,unsigned long)
+??0LSA_TRUSTED_DOMAIN@@QAE@ABVLSA_POLICY@@QAXK@Z
+; public: __thiscall LSA_TRUST_INFO_MEM::LSA_TRUST_INFO_MEM(int)
+??0LSA_TRUST_INFO_MEM@@QAE@H@Z
+; public: __thiscall MEMBERSHIP_LM_OBJ::MEMBERSHIP_LM_OBJ(class LOCATION const &,unsigned int)
+??0MEMBERSHIP_LM_OBJ@@QAE@ABVLOCATION@@I@Z
+; protected: __thiscall NET_ACCESS::NET_ACCESS(unsigned short const *,unsigned short const *)
+??0NET_ACCESS@@IAE@PBG0@Z
+; public: __thiscall NET_ACCESS_1::NET_ACCESS_1(unsigned short const *,unsigned short const *)
+??0NET_ACCESS_1@@QAE@PBG0@Z
+; public: __thiscall NET_NAME::NET_NAME(unsigned short const *,enum NETNAME_TYPE)
+??0NET_NAME@@QAE@PBGW4NETNAME_TYPE@@@Z
+; public: __thiscall NEW_LM_OBJ::NEW_LM_OBJ(int)
+??0NEW_LM_OBJ@@QAE@H@Z
+; protected: __thiscall NT_ACCOUNT_ENUM::NT_ACCOUNT_ENUM(class SAM_DOMAIN const *,enum _DOMAIN_DISPLAY_INFORMATION,int)
+??0NT_ACCOUNT_ENUM@@IAE@PBVSAM_DOMAIN@@W4_DOMAIN_DISPLAY_INFORMATION@@H@Z
+; public: __thiscall NT_GROUP_ENUM::NT_GROUP_ENUM(class SAM_DOMAIN const *)
+??0NT_GROUP_ENUM@@QAE@PBVSAM_DOMAIN@@@Z
+; public: __thiscall NT_GROUP_ENUM_ITER::NT_GROUP_ENUM_ITER(class NT_GROUP_ENUM &)
+??0NT_GROUP_ENUM_ITER@@QAE@AAVNT_GROUP_ENUM@@@Z
+; public: __thiscall NT_GROUP_ENUM_OBJ::NT_GROUP_ENUM_OBJ(void)
+??0NT_GROUP_ENUM_OBJ@@QAE@XZ
+; public: __thiscall NT_MACHINE_ENUM::NT_MACHINE_ENUM(class SAM_DOMAIN const *)
+??0NT_MACHINE_ENUM@@QAE@PBVSAM_DOMAIN@@@Z
+; public: __thiscall NT_MACHINE_ENUM_ITER::NT_MACHINE_ENUM_ITER(class NT_MACHINE_ENUM &)
+??0NT_MACHINE_ENUM_ITER@@QAE@AAVNT_MACHINE_ENUM@@@Z
+; public: __thiscall NT_MACHINE_ENUM_OBJ::NT_MACHINE_ENUM_OBJ(void)
+??0NT_MACHINE_ENUM_OBJ@@QAE@XZ
+; protected: __thiscall NT_MEMORY::NT_MEMORY(void)
+??0NT_MEMORY@@IAE@XZ
+; public: __thiscall NT_USER_ENUM::NT_USER_ENUM(class SAM_DOMAIN const *)
+??0NT_USER_ENUM@@QAE@PBVSAM_DOMAIN@@@Z
+; public: __thiscall NT_USER_ENUM_ITER::NT_USER_ENUM_ITER(class NT_USER_ENUM &)
+??0NT_USER_ENUM_ITER@@QAE@AAVNT_USER_ENUM@@@Z
+; public: __thiscall NT_USER_ENUM_OBJ::NT_USER_ENUM_OBJ(void)
+??0NT_USER_ENUM_OBJ@@QAE@XZ
+; public: __thiscall OS_ACE::OS_ACE(void *)
+??0OS_ACE@@QAE@PAX@Z
+; public: __thiscall OS_ACL::OS_ACL(struct _ACL *,int,class OS_SECURITY_DESCRIPTOR *)
+??0OS_ACL@@QAE@PAU_ACL@@HPAVOS_SECURITY_DESCRIPTOR@@@Z
+; public: __thiscall OS_ACL_SUBJECT_ITER::OS_ACL_SUBJECT_ITER(class OS_ACL const *,struct _GENERIC_MAPPING *,struct _GENERIC_MAPPING *,int,int)
+??0OS_ACL_SUBJECT_ITER@@QAE@PBVOS_ACL@@PAU_GENERIC_MAPPING@@1HH@Z
+; public: __thiscall OS_DACL_SUBJECT_ITER::OS_DACL_SUBJECT_ITER(class OS_ACL *,struct _GENERIC_MAPPING *,struct _GENERIC_MAPPING *,int,int)
+??0OS_DACL_SUBJECT_ITER@@QAE@PAVOS_ACL@@PAU_GENERIC_MAPPING@@1HH@Z
+; public: __thiscall OS_LUID::OS_LUID(struct _LUID)
+??0OS_LUID@@QAE@U_LUID@@@Z
+; public: __thiscall OS_LUID::OS_LUID(void)
+??0OS_LUID@@QAE@XZ
+; public: __thiscall OS_LUID_AND_ATTRIBUTES::OS_LUID_AND_ATTRIBUTES(void)
+??0OS_LUID_AND_ATTRIBUTES@@QAE@XZ
+; protected: __thiscall OS_OBJECT_WITH_DATA::OS_OBJECT_WITH_DATA(unsigned int)
+??0OS_OBJECT_WITH_DATA@@IAE@I@Z
+; public: __thiscall OS_PRIVILEGE_SET::OS_PRIVILEGE_SET(struct _PRIVILEGE_SET *)
+??0OS_PRIVILEGE_SET@@QAE@PAU_PRIVILEGE_SET@@@Z
+; public: __thiscall OS_SACL_SUBJECT_ITER::OS_SACL_SUBJECT_ITER(class OS_ACL *,struct _GENERIC_MAPPING *,struct _GENERIC_MAPPING *,int,int)
+??0OS_SACL_SUBJECT_ITER@@QAE@PAVOS_ACL@@PAU_GENERIC_MAPPING@@1HH@Z
+; public: __thiscall OS_SECURITY_DESCRIPTOR::OS_SECURITY_DESCRIPTOR(void *,int)
+??0OS_SECURITY_DESCRIPTOR@@QAE@PAXH@Z
+; public: __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::OS_SECURITY_DESCRIPTOR_CONTROL(unsigned short *)
+??0OS_SECURITY_DESCRIPTOR_CONTROL@@QAE@PAG@Z
+; public: __thiscall OS_SID::OS_SID(void *,int,class OS_SECURITY_DESCRIPTOR *)
+??0OS_SID@@QAE@PAXHPAVOS_SECURITY_DESCRIPTOR@@@Z
+; public: __thiscall OS_SID::OS_SID(void *,unsigned long,class OS_SECURITY_DESCRIPTOR *)
+??0OS_SID@@QAE@PAXKPAVOS_SECURITY_DESCRIPTOR@@@Z
+; public: __thiscall SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const &,unsigned long,unsigned long)
+??0SAM_ALIAS@@QAE@ABVSAM_DOMAIN@@KK@Z
+; public: __thiscall SAM_ALIAS::SAM_ALIAS(class SAM_DOMAIN const &,unsigned short const *,unsigned long)
+??0SAM_ALIAS@@QAE@ABVSAM_DOMAIN@@PBGK@Z
+; public: __thiscall SAM_DOMAIN::SAM_DOMAIN(class SAM_SERVER const &,void *,unsigned long)
+??0SAM_DOMAIN@@QAE@ABVSAM_SERVER@@PAXK@Z
+; public: __thiscall SAM_GROUP::SAM_GROUP(class SAM_DOMAIN const &,unsigned long,unsigned long)
+??0SAM_GROUP@@QAE@ABVSAM_DOMAIN@@KK@Z
+; protected: __thiscall SAM_MEMORY::SAM_MEMORY(int)
+??0SAM_MEMORY@@IAE@H@Z
+; protected: __thiscall SAM_OBJECT::SAM_OBJECT(void)
+??0SAM_OBJECT@@IAE@XZ
+; public: __thiscall SAM_PSWD_DOM_INFO_MEM::SAM_PSWD_DOM_INFO_MEM(int)
+??0SAM_PSWD_DOM_INFO_MEM@@QAE@H@Z
+; public: __thiscall SAM_RID_ENUMERATION_MEM::SAM_RID_ENUMERATION_MEM(int)
+??0SAM_RID_ENUMERATION_MEM@@QAE@H@Z
+; public: __thiscall SAM_RID_MEM::SAM_RID_MEM(int)
+??0SAM_RID_MEM@@QAE@H@Z
+; public: __thiscall SAM_SERVER::SAM_SERVER(unsigned short const *,unsigned long)
+??0SAM_SERVER@@QAE@PBGK@Z
+; public: __thiscall SAM_SID_MEM::SAM_SID_MEM(int)
+??0SAM_SID_MEM@@QAE@H@Z
+; public: __thiscall SAM_SID_NAME_USE_MEM::SAM_SID_NAME_USE_MEM(int)
+??0SAM_SID_NAME_USE_MEM@@QAE@H@Z
+; public: __thiscall SAM_USER::SAM_USER(class SAM_DOMAIN const &,unsigned long,unsigned long)
+??0SAM_USER@@QAE@ABVSAM_DOMAIN@@KK@Z
+; public: __thiscall SAM_USER_ENUM::SAM_USER_ENUM(class SAM_DOMAIN const *,unsigned long,int)
+??0SAM_USER_ENUM@@QAE@PBVSAM_DOMAIN@@KH@Z
+; public: __thiscall SAM_USER_ENUM_ITER::SAM_USER_ENUM_ITER(class SAM_USER_ENUM &)
+??0SAM_USER_ENUM_ITER@@QAE@AAVSAM_USER_ENUM@@@Z
+; public: __thiscall SAM_USER_ENUM_OBJ::SAM_USER_ENUM_OBJ(void)
+??0SAM_USER_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SC_MANAGER::SC_MANAGER(struct SC_HANDLE__ *)
+??0SC_MANAGER@@QAE@PAUSC_HANDLE__@@@Z
+; public: __thiscall SC_MANAGER::SC_MANAGER(unsigned short const *,unsigned int,enum SERVICE_DATABASE)
+??0SC_MANAGER@@QAE@PBGIW4SERVICE_DATABASE@@@Z
+; public: __thiscall SC_SERVICE::SC_SERVICE(class SC_MANAGER const &,unsigned short const *,unsigned short const *,unsigned int,unsigned int,unsigned int,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned int)
+??0SC_SERVICE@@QAE@ABVSC_MANAGER@@PBG1III11111I@Z
+; public: __thiscall SC_SERVICE::SC_SERVICE(class SC_MANAGER const &,unsigned short const *,unsigned int)
+??0SC_SERVICE@@QAE@ABVSC_MANAGER@@PBGI@Z
+; public: __thiscall SERVER1_ENUM::SERVER1_ENUM(unsigned short const *,unsigned short const *,unsigned long)
+??0SERVER1_ENUM@@QAE@PBG0K@Z
+; public: __thiscall SERVER1_ENUM_ITER::SERVER1_ENUM_ITER(class SERVER1_ENUM &)
+??0SERVER1_ENUM_ITER@@QAE@AAVSERVER1_ENUM@@@Z
+; public: __thiscall SERVER1_ENUM_OBJ::SERVER1_ENUM_OBJ(void)
+??0SERVER1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SERVER_0::SERVER_0(unsigned short const *)
+??0SERVER_0@@QAE@PBG@Z
+; public: __thiscall SERVER_1::SERVER_1(unsigned short const *)
+??0SERVER_1@@QAE@PBG@Z
+; public: __thiscall SERVER_2::SERVER_2(unsigned short const *)
+??0SERVER_2@@QAE@PBG@Z
+; protected: __thiscall SERVER_ENUM::SERVER_ENUM(unsigned short const *,unsigned int,unsigned short const *,unsigned long)
+??0SERVER_ENUM@@IAE@PBGI0K@Z
+; public: __thiscall SERVICE_CONTROL::SERVICE_CONTROL(void)
+??0SERVICE_CONTROL@@QAE@XZ
+; public: __thiscall SERVICE_ENUM::SERVICE_ENUM(unsigned short const *,int,unsigned int,unsigned short const *)
+??0SERVICE_ENUM@@QAE@PBGHI0@Z
+; public: __thiscall SERVICE_ENUM_ITER::SERVICE_ENUM_ITER(class SERVICE_ENUM &)
+??0SERVICE_ENUM_ITER@@QAE@AAVSERVICE_ENUM@@@Z
+; public: __thiscall SERVICE_ENUM_OBJ::SERVICE_ENUM_OBJ(void)
+??0SERVICE_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SESSION0_ENUM::SESSION0_ENUM(unsigned short const *)
+??0SESSION0_ENUM@@QAE@PBG@Z
+; public: __thiscall SESSION0_ENUM_ITER::SESSION0_ENUM_ITER(class SESSION0_ENUM &)
+??0SESSION0_ENUM_ITER@@QAE@AAVSESSION0_ENUM@@@Z
+; public: __thiscall SESSION0_ENUM_OBJ::SESSION0_ENUM_OBJ(void)
+??0SESSION0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SESSION1_ENUM::SESSION1_ENUM(unsigned short const *)
+??0SESSION1_ENUM@@QAE@PBG@Z
+; public: __thiscall SESSION1_ENUM_ITER::SESSION1_ENUM_ITER(class SESSION1_ENUM &)
+??0SESSION1_ENUM_ITER@@QAE@AAVSESSION1_ENUM@@@Z
+; public: __thiscall SESSION1_ENUM_OBJ::SESSION1_ENUM_OBJ(void)
+??0SESSION1_ENUM_OBJ@@QAE@XZ
+; protected: __thiscall SESSION_ENUM::SESSION_ENUM(unsigned short const *,unsigned int)
+??0SESSION_ENUM@@IAE@PBGI@Z
+; public: __thiscall SHARE1_ENUM::SHARE1_ENUM(unsigned short const *,int)
+??0SHARE1_ENUM@@QAE@PBGH@Z
+; public: __thiscall SHARE1_ENUM_ITER::SHARE1_ENUM_ITER(class SHARE1_ENUM &)
+??0SHARE1_ENUM_ITER@@QAE@AAVSHARE1_ENUM@@@Z
+; public: __thiscall SHARE1_ENUM_OBJ::SHARE1_ENUM_OBJ(void)
+??0SHARE1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SHARE2_ENUM::SHARE2_ENUM(unsigned short const *,int)
+??0SHARE2_ENUM@@QAE@PBGH@Z
+; public: __thiscall SHARE2_ENUM_ITER::SHARE2_ENUM_ITER(class SHARE2_ENUM &)
+??0SHARE2_ENUM_ITER@@QAE@AAVSHARE2_ENUM@@@Z
+; public: __thiscall SHARE2_ENUM_OBJ::SHARE2_ENUM_OBJ(void)
+??0SHARE2_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SHARE::SHARE(unsigned short const *,unsigned short const *,int)
+??0SHARE@@QAE@PBG0H@Z
+; public: __thiscall SHARE_1::SHARE_1(unsigned short const *,unsigned short const *,int)
+??0SHARE_1@@QAE@PBG0H@Z
+; public: __thiscall SHARE_2::SHARE_2(unsigned short const *,unsigned short const *,int)
+??0SHARE_2@@QAE@PBG0H@Z
+; protected: __thiscall SHARE_ENUM::SHARE_ENUM(unsigned short const *,unsigned int,int)
+??0SHARE_ENUM@@IAE@PBGIH@Z
+; public: __thiscall SLIST_OF_ADMIN_AUTHORITY::SLIST_OF_ADMIN_AUTHORITY(int)
+??0SLIST_OF_ADMIN_AUTHORITY@@QAE@H@Z
+; public: __thiscall SLIST_OF_API_SESSION::SLIST_OF_API_SESSION(int)
+??0SLIST_OF_API_SESSION@@QAE@H@Z
+; public: __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::SLIST_OF_BROWSE_DOMAIN_INFO(int)
+??0SLIST_OF_BROWSE_DOMAIN_INFO@@QAE@H@Z
+; public: __thiscall SLIST_OF_LM_RESUME_BUFFER::SLIST_OF_LM_RESUME_BUFFER(int)
+??0SLIST_OF_LM_RESUME_BUFFER@@QAE@H@Z
+; public: __thiscall TIME_OF_DAY::TIME_OF_DAY(class LOCATION &)
+??0TIME_OF_DAY@@QAE@AAVLOCATION@@@Z
+; public: __thiscall TIME_OF_DAY::TIME_OF_DAY(unsigned short const *)
+??0TIME_OF_DAY@@QAE@PBG@Z
+; public: __thiscall TIME_OF_DAY::TIME_OF_DAY(enum LOCATION_TYPE)
+??0TIME_OF_DAY@@QAE@W4LOCATION_TYPE@@@Z
+; public: __thiscall TRIPLE_SERVER_ENUM::TRIPLE_SERVER_ENUM(unsigned short const *,unsigned short const *,int,int,int,int)
+??0TRIPLE_SERVER_ENUM@@QAE@PBG0HHHH@Z
+; public: __thiscall TRIPLE_SERVER_ENUM_ITER::TRIPLE_SERVER_ENUM_ITER(class TRIPLE_SERVER_ENUM &)
+??0TRIPLE_SERVER_ENUM_ITER@@QAE@AAVTRIPLE_SERVER_ENUM@@@Z
+; public: __thiscall TRIPLE_SERVER_ENUM_OBJ::TRIPLE_SERVER_ENUM_OBJ(void)
+??0TRIPLE_SERVER_ENUM_OBJ@@QAE@XZ
+; public: __thiscall TRUSTED_DOMAIN_ENUM::TRUSTED_DOMAIN_ENUM(class LSA_POLICY const *,int)
+??0TRUSTED_DOMAIN_ENUM@@QAE@PBVLSA_POLICY@@H@Z
+; public: __thiscall TRUSTED_DOMAIN_ENUM_ITER::TRUSTED_DOMAIN_ENUM_ITER(class TRUSTED_DOMAIN_ENUM &)
+??0TRUSTED_DOMAIN_ENUM_ITER@@QAE@AAVTRUSTED_DOMAIN_ENUM@@@Z
+; public: __thiscall TRUSTED_DOMAIN_ENUM_OBJ::TRUSTED_DOMAIN_ENUM_OBJ(void)
+??0TRUSTED_DOMAIN_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USE1_ENUM::USE1_ENUM(unsigned short const *)
+??0USE1_ENUM@@QAE@PBG@Z
+; public: __thiscall USE1_ENUM_ITER::USE1_ENUM_ITER(class USE1_ENUM &)
+??0USE1_ENUM_ITER@@QAE@AAVUSE1_ENUM@@@Z
+; public: __thiscall USE1_ENUM_OBJ::USE1_ENUM_OBJ(void)
+??0USE1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER0_ENUM::USER0_ENUM(class LOCATION const &,unsigned short const *,int)
+??0USER0_ENUM@@QAE@ABVLOCATION@@PBGH@Z
+; public: __thiscall USER0_ENUM::USER0_ENUM(unsigned short const *,unsigned short const *,int)
+??0USER0_ENUM@@QAE@PBG0H@Z
+; public: __thiscall USER0_ENUM::USER0_ENUM(enum LOCATION_TYPE,unsigned short const *,int)
+??0USER0_ENUM@@QAE@W4LOCATION_TYPE@@PBGH@Z
+; public: __thiscall USER0_ENUM_ITER::USER0_ENUM_ITER(class USER0_ENUM &)
+??0USER0_ENUM_ITER@@QAE@AAVUSER0_ENUM@@@Z
+; public: __thiscall USER0_ENUM_OBJ::USER0_ENUM_OBJ(void)
+??0USER0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER10_ENUM::USER10_ENUM(class LOCATION const &,int)
+??0USER10_ENUM@@QAE@ABVLOCATION@@H@Z
+; public: __thiscall USER10_ENUM::USER10_ENUM(unsigned short const *,int)
+??0USER10_ENUM@@QAE@PBGH@Z
+; public: __thiscall USER10_ENUM::USER10_ENUM(enum LOCATION_TYPE,int)
+??0USER10_ENUM@@QAE@W4LOCATION_TYPE@@H@Z
+; public: __thiscall USER10_ENUM_ITER::USER10_ENUM_ITER(class USER10_ENUM &)
+??0USER10_ENUM_ITER@@QAE@AAVUSER10_ENUM@@@Z
+; public: __thiscall USER10_ENUM_OBJ::USER10_ENUM_OBJ(void)
+??0USER10_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER1_ENUM::USER1_ENUM(class LOCATION const &,int)
+??0USER1_ENUM@@QAE@ABVLOCATION@@H@Z
+; public: __thiscall USER1_ENUM::USER1_ENUM(unsigned short const *,int)
+??0USER1_ENUM@@QAE@PBGH@Z
+; public: __thiscall USER1_ENUM::USER1_ENUM(enum LOCATION_TYPE,int)
+??0USER1_ENUM@@QAE@W4LOCATION_TYPE@@H@Z
+; public: __thiscall USER1_ENUM_ITER::USER1_ENUM_ITER(class USER1_ENUM &)
+??0USER1_ENUM_ITER@@QAE@AAVUSER1_ENUM@@@Z
+; public: __thiscall USER1_ENUM_OBJ::USER1_ENUM_OBJ(void)
+??0USER1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER2_ENUM::USER2_ENUM(class LOCATION const &,int)
+??0USER2_ENUM@@QAE@ABVLOCATION@@H@Z
+; public: __thiscall USER2_ENUM::USER2_ENUM(unsigned short const *,int)
+??0USER2_ENUM@@QAE@PBGH@Z
+; public: __thiscall USER2_ENUM::USER2_ENUM(enum LOCATION_TYPE,int)
+??0USER2_ENUM@@QAE@W4LOCATION_TYPE@@H@Z
+; public: __thiscall USER2_ENUM_ITER::USER2_ENUM_ITER(class USER2_ENUM &)
+??0USER2_ENUM_ITER@@QAE@AAVUSER2_ENUM@@@Z
+; public: __thiscall USER2_ENUM_OBJ::USER2_ENUM_OBJ(void)
+??0USER2_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER::USER(unsigned short const *,unsigned short const *)
+??0USER@@QAE@PBG0@Z
+; public: __thiscall USER::USER(unsigned short const *,class LOCATION const &)
+??0USER@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall USER::USER(unsigned short const *,enum LOCATION_TYPE)
+??0USER@@QAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall USER_11::USER_11(unsigned short const *,unsigned short const *)
+??0USER_11@@QAE@PBG0@Z
+; public: __thiscall USER_11::USER_11(unsigned short const *,class LOCATION const &)
+??0USER_11@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall USER_11::USER_11(unsigned short const *,enum LOCATION_TYPE)
+??0USER_11@@QAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall USER_2::USER_2(unsigned short const *,unsigned short const *)
+??0USER_2@@QAE@PBG0@Z
+; public: __thiscall USER_2::USER_2(unsigned short const *,class LOCATION const &)
+??0USER_2@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall USER_2::USER_2(unsigned short const *,enum LOCATION_TYPE)
+??0USER_2@@QAE@PBGW4LOCATION_TYPE@@@Z
+; public: __thiscall USER_3::USER_3(unsigned short const *,unsigned short const *)
+??0USER_3@@QAE@PBG0@Z
+; public: __thiscall USER_3::USER_3(unsigned short const *,class LOCATION const &)
+??0USER_3@@QAE@PBGABVLOCATION@@@Z
+; public: __thiscall USER_3::USER_3(unsigned short const *,enum LOCATION_TYPE)
+??0USER_3@@QAE@PBGW4LOCATION_TYPE@@@Z
+; protected: __thiscall USER_ENUM::USER_ENUM(class LOCATION const &,unsigned int,unsigned short const *,int)
+??0USER_ENUM@@IAE@ABVLOCATION@@IPBGH@Z
+; protected: __thiscall USER_ENUM::USER_ENUM(unsigned short const *,unsigned int,unsigned short const *,int)
+??0USER_ENUM@@IAE@PBGI0H@Z
+; protected: __thiscall USER_ENUM::USER_ENUM(enum LOCATION_TYPE,unsigned int,unsigned short const *,int)
+??0USER_ENUM@@IAE@W4LOCATION_TYPE@@IPBGH@Z
+; public: __thiscall USER_MEMB::USER_MEMB(class LOCATION const &,unsigned short const *)
+??0USER_MEMB@@QAE@ABVLOCATION@@PBG@Z
+; public: __thiscall USER_MODALS::USER_MODALS(unsigned short const *)
+??0USER_MODALS@@QAE@PBG@Z
+; public: __thiscall USER_MODALS_3::USER_MODALS_3(unsigned short const *)
+??0USER_MODALS_3@@QAE@PBG@Z
+; protected: __thiscall USE_ENUM::USE_ENUM(unsigned short const *,unsigned int)
+??0USE_ENUM@@IAE@PBGI@Z
+; public: __thiscall WKSTA_10::WKSTA_10(unsigned short const *)
+??0WKSTA_10@@QAE@PBG@Z
+; public: __thiscall WKSTA_1::WKSTA_1(unsigned short const *)
+??0WKSTA_1@@QAE@PBG@Z
+; public: __thiscall WKSTA_USER_1::WKSTA_USER_1(void)
+??0WKSTA_USER_1@@QAE@XZ
+; public: __thiscall ADMIN_AUTHORITY::~ADMIN_AUTHORITY(void)
+??1ADMIN_AUTHORITY@@QAE@XZ
+; public: __thiscall ALIAS_ENUM::~ALIAS_ENUM(void)
+??1ALIAS_ENUM@@QAE@XZ
+; public: __thiscall ALIAS_ENUM_OBJ::~ALIAS_ENUM_OBJ(void)
+??1ALIAS_ENUM_OBJ@@QAE@XZ
+; public: __thiscall ALIAS_STR::~ALIAS_STR(void)
+??1ALIAS_STR@@QAE@XZ
+; public: __thiscall ALLOC_STR::~ALLOC_STR(void)
+??1ALLOC_STR@@QAE@XZ
+; public: __thiscall API_SESSION::~API_SESSION(void)
+??1API_SESSION@@QAE@XZ
+; public: __thiscall BROWSE_DOMAIN_ENUM::~BROWSE_DOMAIN_ENUM(void)
+??1BROWSE_DOMAIN_ENUM@@QAE@XZ
+; public: __thiscall BROWSE_DOMAIN_INFO::~BROWSE_DOMAIN_INFO(void)
+??1BROWSE_DOMAIN_INFO@@QAE@XZ
+; public: __thiscall CHARDEVQ1_ENUM_OBJ::~CHARDEVQ1_ENUM_OBJ(void)
+??1CHARDEVQ1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall CHARDEVQ_ENUM::~CHARDEVQ_ENUM(void)
+??1CHARDEVQ_ENUM@@QAE@XZ
+; protected: __thiscall COMPUTER::~COMPUTER(void)
+??1COMPUTER@@IAE@XZ
+; public: __thiscall CONN0_ENUM_OBJ::~CONN0_ENUM_OBJ(void)
+??1CONN0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall CONN1_ENUM_OBJ::~CONN1_ENUM_OBJ(void)
+??1CONN1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall CONN_ENUM::~CONN_ENUM(void)
+??1CONN_ENUM@@QAE@XZ
+; public: __thiscall CONTEXT_ENUM_OBJ::~CONTEXT_ENUM_OBJ(void)
+??1CONTEXT_ENUM_OBJ@@QAE@XZ
+; public: __thiscall DEVICE::~DEVICE(void)
+??1DEVICE@@QAE@XZ
+; public: __thiscall DOMAIN0_ENUM::~DOMAIN0_ENUM(void)
+??1DOMAIN0_ENUM@@QAE@XZ
+; public: __thiscall DOMAIN0_ENUM_ITER::~DOMAIN0_ENUM_ITER(void)
+??1DOMAIN0_ENUM_ITER@@QAE@XZ
+; public: __thiscall DOMAIN0_ENUM_OBJ::~DOMAIN0_ENUM_OBJ(void)
+??1DOMAIN0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall DOMAIN::~DOMAIN(void)
+??1DOMAIN@@QAE@XZ
+; public: __thiscall DOMAIN_ENUM::~DOMAIN_ENUM(void)
+??1DOMAIN_ENUM@@QAE@XZ
+; public: __thiscall DOMAIN_WITH_DC_CACHE::~DOMAIN_WITH_DC_CACHE(void)
+??1DOMAIN_WITH_DC_CACHE@@QAE@XZ
+; public: __thiscall ENUM_CALLER_LM_OBJ::~ENUM_CALLER_LM_OBJ(void)
+??1ENUM_CALLER_LM_OBJ@@QAE@XZ
+; protected: __thiscall ENUM_OBJ_BASE::~ENUM_OBJ_BASE(void)
+??1ENUM_OBJ_BASE@@IAE@XZ
+; public: __thiscall FILE2_ENUM_OBJ::~FILE2_ENUM_OBJ(void)
+??1FILE2_ENUM_OBJ@@QAE@XZ
+; public: __thiscall FILE3_ENUM::~FILE3_ENUM(void)
+??1FILE3_ENUM@@QAE@XZ
+; public: __thiscall FILE3_ENUM_ITER::~FILE3_ENUM_ITER(void)
+??1FILE3_ENUM_ITER@@QAE@XZ
+; public: __thiscall FILE3_ENUM_OBJ::~FILE3_ENUM_OBJ(void)
+??1FILE3_ENUM_OBJ@@QAE@XZ
+; protected: __thiscall FILE_ENUM::~FILE_ENUM(void)
+??1FILE_ENUM@@IAE@XZ
+; public: __thiscall GROUP0_ENUM::~GROUP0_ENUM(void)
+??1GROUP0_ENUM@@QAE@XZ
+; public: __thiscall GROUP0_ENUM_ITER::~GROUP0_ENUM_ITER(void)
+??1GROUP0_ENUM_ITER@@QAE@XZ
+; public: __thiscall GROUP0_ENUM_OBJ::~GROUP0_ENUM_OBJ(void)
+??1GROUP0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall GROUP1_ENUM_OBJ::~GROUP1_ENUM_OBJ(void)
+??1GROUP1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall GROUP::~GROUP(void)
+??1GROUP@@QAE@XZ
+; public: __thiscall GROUP_0::~GROUP_0(void)
+??1GROUP_0@@QAE@XZ
+; public: __thiscall GROUP_1::~GROUP_1(void)
+??1GROUP_1@@QAE@XZ
+; public: __thiscall GROUP_ENUM::~GROUP_ENUM(void)
+??1GROUP_ENUM@@QAE@XZ
+; public: __thiscall GROUP_MEMB::~GROUP_MEMB(void)
+??1GROUP_MEMB@@QAE@XZ
+; public: __thiscall ITER_DEVICE::~ITER_DEVICE(void)
+??1ITER_DEVICE@@QAE@XZ
+; public: __thiscall ITER_SL_BROWSE_DOMAIN_INFO::~ITER_SL_BROWSE_DOMAIN_INFO(void)
+??1ITER_SL_BROWSE_DOMAIN_INFO@@QAE@XZ
+; public: __thiscall ITER_SL_LM_RESUME_BUFFER::~ITER_SL_LM_RESUME_BUFFER(void)
+??1ITER_SL_LM_RESUME_BUFFER@@QAE@XZ
+; public: __thiscall LM_CONFIG::~LM_CONFIG(void)
+??1LM_CONFIG@@QAE@XZ
+; public: __thiscall LM_ENUM::~LM_ENUM(void)
+??1LM_ENUM@@QAE@XZ
+; protected: __thiscall LM_ENUM_ITER::~LM_ENUM_ITER(void)
+??1LM_ENUM_ITER@@IAE@XZ
+; protected: __thiscall LM_FILE::~LM_FILE(void)
+??1LM_FILE@@IAE@XZ
+; public: __thiscall LM_FILE_2::~LM_FILE_2(void)
+??1LM_FILE_2@@QAE@XZ
+; public: __thiscall LM_RESUME_BUFFER::~LM_RESUME_BUFFER(void)
+??1LM_RESUME_BUFFER@@QAE@XZ
+; public: __thiscall LM_RESUME_ENUM::~LM_RESUME_ENUM(void)
+??1LM_RESUME_ENUM@@QAE@XZ
+; protected: __thiscall LM_RESUME_ENUM_ITER::~LM_RESUME_ENUM_ITER(void)
+??1LM_RESUME_ENUM_ITER@@IAE@XZ
+; public: __thiscall LM_SERVICE::~LM_SERVICE(void)
+??1LM_SERVICE@@QAE@XZ
+; public: __thiscall LM_SESSION::~LM_SESSION(void)
+??1LM_SESSION@@QAE@XZ
+; public: __thiscall LM_SESSION_0::~LM_SESSION_0(void)
+??1LM_SESSION_0@@QAE@XZ
+; public: __thiscall LM_SESSION_10::~LM_SESSION_10(void)
+??1LM_SESSION_10@@QAE@XZ
+; public: __thiscall LM_SESSION_1::~LM_SESSION_1(void)
+??1LM_SESSION_1@@QAE@XZ
+; public: __thiscall LM_SRVRES::~LM_SRVRES(void)
+??1LM_SRVRES@@QAE@XZ
+; public: __thiscall LOCAL_USER::~LOCAL_USER(void)
+??1LOCAL_USER@@QAE@XZ
+; public: __thiscall LOCATION::~LOCATION(void)
+??1LOCATION@@QAE@XZ
+; public: __thiscall LOC_LM_ENUM::~LOC_LM_ENUM(void)
+??1LOC_LM_ENUM@@QAE@XZ
+; public: __thiscall LOC_LM_OBJ::~LOC_LM_OBJ(void)
+??1LOC_LM_OBJ@@QAE@XZ
+; public: __thiscall LOC_LM_RESUME_ENUM::~LOC_LM_RESUME_ENUM(void)
+??1LOC_LM_RESUME_ENUM@@QAE@XZ
+; public: __thiscall LSA_ACCOUNT::~LSA_ACCOUNT(void)
+??1LSA_ACCOUNT@@QAE@XZ
+; public: __thiscall LSA_ACCOUNTS_ENUM_OBJ::~LSA_ACCOUNTS_ENUM_OBJ(void)
+??1LSA_ACCOUNTS_ENUM_OBJ@@QAE@XZ
+; public: __thiscall LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::~LSA_ACCOUNT_PRIVILEGE_ENUM_ITER(void)
+??1LSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QAE@XZ
+; public: __thiscall LSA_ACCT_DOM_INFO_MEM::~LSA_ACCT_DOM_INFO_MEM(void)
+??1LSA_ACCT_DOM_INFO_MEM@@QAE@XZ
+; public: __thiscall LSA_AUDIT_EVENT_INFO_MEM::~LSA_AUDIT_EVENT_INFO_MEM(void)
+??1LSA_AUDIT_EVENT_INFO_MEM@@QAE@XZ
+; public: __thiscall LSA_DOMAIN_INFO::~LSA_DOMAIN_INFO(void)
+??1LSA_DOMAIN_INFO@@QAE@XZ
+; public: __thiscall LSA_ENUM::~LSA_ENUM(void)
+??1LSA_ENUM@@QAE@XZ
+; protected: __thiscall LSA_MEMORY::~LSA_MEMORY(void)
+??1LSA_MEMORY@@IAE@XZ
+; protected: __thiscall LSA_OBJECT::~LSA_OBJECT(void)
+??1LSA_OBJECT@@IAE@XZ
+; public: __thiscall LSA_POLICY::~LSA_POLICY(void)
+??1LSA_POLICY@@QAE@XZ
+; public: __thiscall LSA_PRIMARY_DOM_INFO_MEM::~LSA_PRIMARY_DOM_INFO_MEM(void)
+??1LSA_PRIMARY_DOM_INFO_MEM@@QAE@XZ
+; public: __thiscall LSA_PRIVILEGES_ENUM_OBJ::~LSA_PRIVILEGES_ENUM_OBJ(void)
+??1LSA_PRIVILEGES_ENUM_OBJ@@QAE@XZ
+; public: __thiscall LSA_REF_DOMAIN_MEM::~LSA_REF_DOMAIN_MEM(void)
+??1LSA_REF_DOMAIN_MEM@@QAE@XZ
+; public: __thiscall LSA_SECRET::~LSA_SECRET(void)
+??1LSA_SECRET@@QAE@XZ
+; public: __thiscall LSA_SERVER_ROLE_INFO_MEM::~LSA_SERVER_ROLE_INFO_MEM(void)
+??1LSA_SERVER_ROLE_INFO_MEM@@QAE@XZ
+; public: __thiscall LSA_TRANSLATED_NAME_MEM::~LSA_TRANSLATED_NAME_MEM(void)
+??1LSA_TRANSLATED_NAME_MEM@@QAE@XZ
+; public: __thiscall LSA_TRANSLATED_SID_MEM::~LSA_TRANSLATED_SID_MEM(void)
+??1LSA_TRANSLATED_SID_MEM@@QAE@XZ
+; public: __thiscall LSA_TRUSTED_DC_LIST::~LSA_TRUSTED_DC_LIST(void)
+??1LSA_TRUSTED_DC_LIST@@QAE@XZ
+; public: __thiscall LSA_TRUSTED_DOMAIN::~LSA_TRUSTED_DOMAIN(void)
+??1LSA_TRUSTED_DOMAIN@@QAE@XZ
+; public: __thiscall LSA_TRUST_INFO_MEM::~LSA_TRUST_INFO_MEM(void)
+??1LSA_TRUST_INFO_MEM@@QAE@XZ
+; public: __thiscall MEMBERSHIP_LM_OBJ::~MEMBERSHIP_LM_OBJ(void)
+??1MEMBERSHIP_LM_OBJ@@QAE@XZ
+; protected: __thiscall NET_ACCESS::~NET_ACCESS(void)
+??1NET_ACCESS@@IAE@XZ
+; public: __thiscall NET_ACCESS_1::~NET_ACCESS_1(void)
+??1NET_ACCESS_1@@QAE@XZ
+; public: __thiscall NET_NAME::~NET_NAME(void)
+??1NET_NAME@@QAE@XZ
+; public: __thiscall NEW_LM_OBJ::~NEW_LM_OBJ(void)
+??1NEW_LM_OBJ@@QAE@XZ
+; protected: __thiscall NT_ACCOUNT_ENUM::~NT_ACCOUNT_ENUM(void)
+??1NT_ACCOUNT_ENUM@@IAE@XZ
+; public: __thiscall NT_GROUP_ENUM::~NT_GROUP_ENUM(void)
+??1NT_GROUP_ENUM@@QAE@XZ
+; public: __thiscall NT_GROUP_ENUM_OBJ::~NT_GROUP_ENUM_OBJ(void)
+??1NT_GROUP_ENUM_OBJ@@QAE@XZ
+; public: __thiscall NT_MACHINE_ENUM::~NT_MACHINE_ENUM(void)
+??1NT_MACHINE_ENUM@@QAE@XZ
+; public: __thiscall NT_MACHINE_ENUM_ITER::~NT_MACHINE_ENUM_ITER(void)
+??1NT_MACHINE_ENUM_ITER@@QAE@XZ
+; public: __thiscall NT_MACHINE_ENUM_OBJ::~NT_MACHINE_ENUM_OBJ(void)
+??1NT_MACHINE_ENUM_OBJ@@QAE@XZ
+; protected: __thiscall NT_MEMORY::~NT_MEMORY(void)
+??1NT_MEMORY@@IAE@XZ
+; public: __thiscall NT_USER_ENUM::~NT_USER_ENUM(void)
+??1NT_USER_ENUM@@QAE@XZ
+; public: __thiscall NT_USER_ENUM_OBJ::~NT_USER_ENUM_OBJ(void)
+??1NT_USER_ENUM_OBJ@@QAE@XZ
+; public: __thiscall OS_ACE::~OS_ACE(void)
+??1OS_ACE@@QAE@XZ
+; public: __thiscall OS_ACL::~OS_ACL(void)
+??1OS_ACL@@QAE@XZ
+; public: __thiscall OS_ACL_SUBJECT_ITER::~OS_ACL_SUBJECT_ITER(void)
+??1OS_ACL_SUBJECT_ITER@@QAE@XZ
+; public: __thiscall OS_DACL_SUBJECT_ITER::~OS_DACL_SUBJECT_ITER(void)
+??1OS_DACL_SUBJECT_ITER@@QAE@XZ
+; protected: __thiscall OS_OBJECT_WITH_DATA::~OS_OBJECT_WITH_DATA(void)
+??1OS_OBJECT_WITH_DATA@@IAE@XZ
+; public: __thiscall OS_PRIVILEGE_SET::~OS_PRIVILEGE_SET(void)
+??1OS_PRIVILEGE_SET@@QAE@XZ
+; public: __thiscall OS_SACL_SUBJECT_ITER::~OS_SACL_SUBJECT_ITER(void)
+??1OS_SACL_SUBJECT_ITER@@QAE@XZ
+; public: __thiscall OS_SECURITY_DESCRIPTOR::~OS_SECURITY_DESCRIPTOR(void)
+??1OS_SECURITY_DESCRIPTOR@@QAE@XZ
+; public: __thiscall OS_SID::~OS_SID(void)
+??1OS_SID@@QAE@XZ
+; public: __thiscall REG_VALUE_INFO_STRUCT::~REG_VALUE_INFO_STRUCT(void)
+??1REG_VALUE_INFO_STRUCT@@QAE@XZ
+; public: __thiscall SAM_ALIAS::~SAM_ALIAS(void)
+??1SAM_ALIAS@@QAE@XZ
+; public: __thiscall SAM_DOMAIN::~SAM_DOMAIN(void)
+??1SAM_DOMAIN@@QAE@XZ
+; public: __thiscall SAM_GROUP::~SAM_GROUP(void)
+??1SAM_GROUP@@QAE@XZ
+; public: __thiscall SAM_MEMORY::~SAM_MEMORY(void)
+??1SAM_MEMORY@@QAE@XZ
+; protected: __thiscall SAM_OBJECT::~SAM_OBJECT(void)
+??1SAM_OBJECT@@IAE@XZ
+; public: __thiscall SAM_PSWD_DOM_INFO_MEM::~SAM_PSWD_DOM_INFO_MEM(void)
+??1SAM_PSWD_DOM_INFO_MEM@@QAE@XZ
+; public: __thiscall SAM_RID_ENUMERATION_MEM::~SAM_RID_ENUMERATION_MEM(void)
+??1SAM_RID_ENUMERATION_MEM@@QAE@XZ
+; public: __thiscall SAM_RID_MEM::~SAM_RID_MEM(void)
+??1SAM_RID_MEM@@QAE@XZ
+; public: __thiscall SAM_SERVER::~SAM_SERVER(void)
+??1SAM_SERVER@@QAE@XZ
+; public: __thiscall SAM_SID_MEM::~SAM_SID_MEM(void)
+??1SAM_SID_MEM@@QAE@XZ
+; public: __thiscall SAM_SID_NAME_USE_MEM::~SAM_SID_NAME_USE_MEM(void)
+??1SAM_SID_NAME_USE_MEM@@QAE@XZ
+; public: __thiscall SAM_USER::~SAM_USER(void)
+??1SAM_USER@@QAE@XZ
+; public: __thiscall SAM_USER_ENUM::~SAM_USER_ENUM(void)
+??1SAM_USER_ENUM@@QAE@XZ
+; public: __thiscall SAM_USER_ENUM_ITER::~SAM_USER_ENUM_ITER(void)
+??1SAM_USER_ENUM_ITER@@QAE@XZ
+; public: __thiscall SAM_USER_ENUM_OBJ::~SAM_USER_ENUM_OBJ(void)
+??1SAM_USER_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SC_MANAGER::~SC_MANAGER(void)
+??1SC_MANAGER@@QAE@XZ
+; public: __thiscall SC_SERVICE::~SC_SERVICE(void)
+??1SC_SERVICE@@QAE@XZ
+; public: __thiscall SERVER1_ENUM::~SERVER1_ENUM(void)
+??1SERVER1_ENUM@@QAE@XZ
+; public: __thiscall SERVER1_ENUM_ITER::~SERVER1_ENUM_ITER(void)
+??1SERVER1_ENUM_ITER@@QAE@XZ
+; public: __thiscall SERVER1_ENUM_OBJ::~SERVER1_ENUM_OBJ(void)
+??1SERVER1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SERVER_0::~SERVER_0(void)
+??1SERVER_0@@QAE@XZ
+; public: __thiscall SERVER_1::~SERVER_1(void)
+??1SERVER_1@@QAE@XZ
+; public: __thiscall SERVER_2::~SERVER_2(void)
+??1SERVER_2@@QAE@XZ
+; public: __thiscall SERVER_ENUM::~SERVER_ENUM(void)
+??1SERVER_ENUM@@QAE@XZ
+; public: __thiscall SERVICE_CONTROL::~SERVICE_CONTROL(void)
+??1SERVICE_CONTROL@@QAE@XZ
+; public: __thiscall SERVICE_ENUM::~SERVICE_ENUM(void)
+??1SERVICE_ENUM@@QAE@XZ
+; public: __thiscall SERVICE_ENUM_OBJ::~SERVICE_ENUM_OBJ(void)
+??1SERVICE_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SESSION0_ENUM::~SESSION0_ENUM(void)
+??1SESSION0_ENUM@@QAE@XZ
+; public: __thiscall SESSION0_ENUM_ITER::~SESSION0_ENUM_ITER(void)
+??1SESSION0_ENUM_ITER@@QAE@XZ
+; public: __thiscall SESSION0_ENUM_OBJ::~SESSION0_ENUM_OBJ(void)
+??1SESSION0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SESSION1_ENUM_OBJ::~SESSION1_ENUM_OBJ(void)
+??1SESSION1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SESSION_ENUM::~SESSION_ENUM(void)
+??1SESSION_ENUM@@QAE@XZ
+; public: __thiscall SHARE1_ENUM_OBJ::~SHARE1_ENUM_OBJ(void)
+??1SHARE1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SHARE2_ENUM_OBJ::~SHARE2_ENUM_OBJ(void)
+??1SHARE2_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SHARE::~SHARE(void)
+??1SHARE@@QAE@XZ
+; public: __thiscall SHARE_1::~SHARE_1(void)
+??1SHARE_1@@QAE@XZ
+; public: __thiscall SHARE_2::~SHARE_2(void)
+??1SHARE_2@@QAE@XZ
+; public: __thiscall SHARE_ENUM::~SHARE_ENUM(void)
+??1SHARE_ENUM@@QAE@XZ
+; public: __thiscall SLIST_OF_ADMIN_AUTHORITY::~SLIST_OF_ADMIN_AUTHORITY(void)
+??1SLIST_OF_ADMIN_AUTHORITY@@QAE@XZ
+; public: __thiscall SLIST_OF_API_SESSION::~SLIST_OF_API_SESSION(void)
+??1SLIST_OF_API_SESSION@@QAE@XZ
+; public: __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::~SLIST_OF_BROWSE_DOMAIN_INFO(void)
+??1SLIST_OF_BROWSE_DOMAIN_INFO@@QAE@XZ
+; public: __thiscall SLIST_OF_LM_RESUME_BUFFER::~SLIST_OF_LM_RESUME_BUFFER(void)
+??1SLIST_OF_LM_RESUME_BUFFER@@QAE@XZ
+; public: __thiscall TIME_OF_DAY::~TIME_OF_DAY(void)
+??1TIME_OF_DAY@@QAE@XZ
+; public: __thiscall TRIPLE_SERVER_ENUM::~TRIPLE_SERVER_ENUM(void)
+??1TRIPLE_SERVER_ENUM@@QAE@XZ
+; public: __thiscall TRIPLE_SERVER_ENUM_OBJ::~TRIPLE_SERVER_ENUM_OBJ(void)
+??1TRIPLE_SERVER_ENUM_OBJ@@QAE@XZ
+; public: __thiscall TRUSTED_DOMAIN_ENUM::~TRUSTED_DOMAIN_ENUM(void)
+??1TRUSTED_DOMAIN_ENUM@@QAE@XZ
+; public: __thiscall TRUSTED_DOMAIN_ENUM_OBJ::~TRUSTED_DOMAIN_ENUM_OBJ(void)
+??1TRUSTED_DOMAIN_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USE1_ENUM_OBJ::~USE1_ENUM_OBJ(void)
+??1USE1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER0_ENUM::~USER0_ENUM(void)
+??1USER0_ENUM@@QAE@XZ
+; public: __thiscall USER0_ENUM_ITER::~USER0_ENUM_ITER(void)
+??1USER0_ENUM_ITER@@QAE@XZ
+; public: __thiscall USER0_ENUM_OBJ::~USER0_ENUM_OBJ(void)
+??1USER0_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER10_ENUM_OBJ::~USER10_ENUM_OBJ(void)
+??1USER10_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER1_ENUM_OBJ::~USER1_ENUM_OBJ(void)
+??1USER1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER2_ENUM_OBJ::~USER2_ENUM_OBJ(void)
+??1USER2_ENUM_OBJ@@QAE@XZ
+; public: __thiscall USER::~USER(void)
+??1USER@@QAE@XZ
+; public: __thiscall USER_11::~USER_11(void)
+??1USER_11@@QAE@XZ
+; public: virtual __thiscall USER_2::~USER_2(void)
+??1USER_2@@UAE@XZ
+; public: virtual __thiscall USER_3::~USER_3(void)
+??1USER_3@@UAE@XZ
+; public: __thiscall USER_ENUM::~USER_ENUM(void)
+??1USER_ENUM@@QAE@XZ
+; public: __thiscall USER_MEMB::~USER_MEMB(void)
+??1USER_MEMB@@QAE@XZ
+; public: __thiscall USE_ENUM::~USE_ENUM(void)
+??1USE_ENUM@@QAE@XZ
+; public: __thiscall WKSTA_10::~WKSTA_10(void)
+??1WKSTA_10@@QAE@XZ
+; public: __thiscall WKSTA_1::~WKSTA_1(void)
+??1WKSTA_1@@QAE@XZ
+; public: __thiscall WKSTA_USER_1::~WKSTA_USER_1(void)
+??1WKSTA_USER_1@@QAE@XZ
+; public: class ALLOC_STR & __thiscall ALLOC_STR::operator=(class ALLOC_STR const &)
+??4ALLOC_STR@@QAEAAV0@ABV0@@Z
+; public: class ALLOC_STR & __thiscall ALLOC_STR::operator=(unsigned short const *)
+??4ALLOC_STR@@QAEAAV0@PBG@Z
+; public: int __thiscall BASE::operator!(void)const 
+??7BASE@@QBEHXZ
+; public: int __thiscall OS_LUID::operator==(class OS_LUID const &)const 
+??8OS_LUID@@QBEHABV0@@Z
+; public: int __thiscall OS_SID::operator==(class OS_SID const &)const 
+??8OS_SID@@QBEHABV0@@Z
+; public: struct _UNICODE_STRING const & __thiscall LSA_TRUSTED_DC_LIST::operator[](int)const 
+??ALSA_TRUSTED_DC_LIST@@QBEABU_UNICODE_STRING@@H@Z
+; public: unsigned short const * __thiscall NLS_STR::operator[](class ISTR const &)const 
+??ANLS_STR@@QBEPBGABVISTR@@@Z
+; public: __thiscall NLS_STR::operator unsigned short const *(void)const 
+??BNLS_STR@@QBEPBGXZ
+; public: __thiscall OS_ACL::operator struct _ACL *(void)const 
+??BOS_ACL@@QBEPAU_ACL@@XZ
+; public: __thiscall OS_SID::operator void *(void)const 
+??BOS_SID@@QBEPAXXZ
+; public: class CHARDEVQ1_ENUM_OBJ const * __thiscall CHARDEVQ1_ENUM_ITER::operator()(void)
+??RCHARDEVQ1_ENUM_ITER@@QAEPBVCHARDEVQ1_ENUM_OBJ@@XZ
+; public: class CONN0_ENUM_OBJ const * __thiscall CONN0_ENUM_ITER::operator()(void)
+??RCONN0_ENUM_ITER@@QAEPBVCONN0_ENUM_OBJ@@XZ
+; public: class CONN1_ENUM_OBJ const * __thiscall CONN1_ENUM_ITER::operator()(void)
+??RCONN1_ENUM_ITER@@QAEPBVCONN1_ENUM_OBJ@@XZ
+; public: class CONTEXT_ENUM_OBJ const * __thiscall CONTEXT_ENUM_ITER::operator()(void)
+??RCONTEXT_ENUM_ITER@@QAEPBVCONTEXT_ENUM_OBJ@@XZ
+; public: class DOMAIN0_ENUM_OBJ const * __thiscall DOMAIN0_ENUM_ITER::operator()(void)
+??RDOMAIN0_ENUM_ITER@@QAEPBVDOMAIN0_ENUM_OBJ@@XZ
+; public: class FILE3_ENUM_OBJ const * __thiscall FILE3_ENUM_ITER::operator()(long *,int)
+??RFILE3_ENUM_ITER@@QAEPBVFILE3_ENUM_OBJ@@PAJH@Z
+; public: class GROUP0_ENUM_OBJ const * __thiscall GROUP0_ENUM_ITER::operator()(void)
+??RGROUP0_ENUM_ITER@@QAEPBVGROUP0_ENUM_OBJ@@XZ
+; public: class GROUP1_ENUM_OBJ const * __thiscall GROUP1_ENUM_ITER::operator()(void)
+??RGROUP1_ENUM_ITER@@QAEPBVGROUP1_ENUM_OBJ@@XZ
+; public: class OS_LUID_AND_ATTRIBUTES const * __thiscall LSA_ACCOUNT_PRIVILEGE_ENUM_ITER::operator()(void)
+??RLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@QAEPBVOS_LUID_AND_ATTRIBUTES@@XZ
+; public: class NT_MACHINE_ENUM_OBJ const * __thiscall NT_MACHINE_ENUM_ITER::operator()(long *,int)
+??RNT_MACHINE_ENUM_ITER@@QAEPBVNT_MACHINE_ENUM_OBJ@@PAJH@Z
+; public: class SERVER1_ENUM_OBJ const * __thiscall SERVER1_ENUM_ITER::operator()(void)
+??RSERVER1_ENUM_ITER@@QAEPBVSERVER1_ENUM_OBJ@@XZ
+; public: class SERVICE_ENUM_OBJ const * __thiscall SERVICE_ENUM_ITER::operator()(void)
+??RSERVICE_ENUM_ITER@@QAEPBVSERVICE_ENUM_OBJ@@XZ
+; public: class SESSION0_ENUM_OBJ const * __thiscall SESSION0_ENUM_ITER::operator()(void)
+??RSESSION0_ENUM_ITER@@QAEPBVSESSION0_ENUM_OBJ@@XZ
+; public: class SESSION1_ENUM_OBJ const * __thiscall SESSION1_ENUM_ITER::operator()(void)
+??RSESSION1_ENUM_ITER@@QAEPBVSESSION1_ENUM_OBJ@@XZ
+; public: class SHARE1_ENUM_OBJ const * __thiscall SHARE1_ENUM_ITER::operator()(void)
+??RSHARE1_ENUM_ITER@@QAEPBVSHARE1_ENUM_OBJ@@XZ
+; public: class SHARE2_ENUM_OBJ const * __thiscall SHARE2_ENUM_ITER::operator()(void)
+??RSHARE2_ENUM_ITER@@QAEPBVSHARE2_ENUM_OBJ@@XZ
+; public: class TRIPLE_SERVER_ENUM_OBJ const * __thiscall TRIPLE_SERVER_ENUM_ITER::operator()(void)
+??RTRIPLE_SERVER_ENUM_ITER@@QAEPBVTRIPLE_SERVER_ENUM_OBJ@@XZ
+; public: class USE1_ENUM_OBJ const * __thiscall USE1_ENUM_ITER::operator()(void)
+??RUSE1_ENUM_ITER@@QAEPBVUSE1_ENUM_OBJ@@XZ
+; public: class USER0_ENUM_OBJ const * __thiscall USER0_ENUM_ITER::operator()(long *,int)
+??RUSER0_ENUM_ITER@@QAEPBVUSER0_ENUM_OBJ@@PAJH@Z
+; public: long __thiscall SLIST_OF_NLS_STR::Add(class NLS_STR const *)
+?Add@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
+; public: long __thiscall OS_ACL::AddACE(unsigned long,class OS_ACE const &)
+?AddACE@OS_ACL@@QAEJKABVOS_ACE@@@Z
+; public: long __thiscall MEMBERSHIP_LM_OBJ::AddAssocName(unsigned short const *)
+?AddAssocName@MEMBERSHIP_LM_OBJ@@QAEJPBG@Z
+; private: static long __stdcall DOMAIN_WITH_DC_CACHE::AddDcCache(struct _DC_CACHE_ENTRY * *,unsigned short const *,unsigned short const *)
+?AddDcCache@DOMAIN_WITH_DC_CACHE@@CGJPAPAU_DC_CACHE_ENTRY@@PBG1@Z
+; private: void __thiscall BROWSE_DOMAIN_INFO::AddDomainSource(unsigned long)
+?AddDomainSource@BROWSE_DOMAIN_INFO@@AAEXK@Z
+; private: long __thiscall BROWSE_DOMAIN_ENUM::AddDomainToList(unsigned short const *,unsigned long,int)
+?AddDomainToList@BROWSE_DOMAIN_ENUM@@AAEJPBGKH@Z
+; public: long __thiscall SAM_ALIAS::AddMember(void *)
+?AddMember@SAM_ALIAS@@QAEJPAX@Z
+; public: long __thiscall SAM_GROUP::AddMember(unsigned long)
+?AddMember@SAM_GROUP@@QAEJK@Z
+; public: long __thiscall SAM_ALIAS::AddMembers(void * *,unsigned int)
+?AddMembers@SAM_ALIAS@@QAEJPAPAXI@Z
+; public: long __thiscall SAM_GROUP::AddMembers(unsigned long *,unsigned int)
+?AddMembers@SAM_GROUP@@QAEJPAKI@Z
+; public: long __thiscall OS_PRIVILEGE_SET::AddPrivilege(struct _LUID,unsigned long)
+?AddPrivilege@OS_PRIVILEGE_SET@@QAEJU_LUID@@K@Z
+; public: long __thiscall SLIST_OF_ADMIN_AUTHORITY::Append(class ADMIN_AUTHORITY const *)
+?Append@SLIST_OF_ADMIN_AUTHORITY@@QAEJPBVADMIN_AUTHORITY@@@Z
+; public: long __thiscall SLIST_OF_API_SESSION::Append(class API_SESSION const *)
+?Append@SLIST_OF_API_SESSION@@QAEJPBVAPI_SESSION@@@Z
+; public: long __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::Append(class BROWSE_DOMAIN_INFO const *)
+?Append@SLIST_OF_BROWSE_DOMAIN_INFO@@QAEJPBVBROWSE_DOMAIN_INFO@@@Z
+; public: long __thiscall SLIST_OF_LM_RESUME_BUFFER::Append(class LM_RESUME_BUFFER const *)
+?Append@SLIST_OF_LM_RESUME_BUFFER@@QAEJPBVLM_RESUME_BUFFER@@@Z
+; public: long __thiscall SLIST_OF_NLS_STR::Append(class NLS_STR const *)
+?Append@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
+; public: int __thiscall CHARDEVQ1_ENUM_ITER::Backup(void)
+?Backup@CHARDEVQ1_ENUM_ITER@@QAEHXZ
+; public: int __thiscall CONN0_ENUM_ITER::Backup(void)
+?Backup@CONN0_ENUM_ITER@@QAEHXZ
+; public: int __thiscall CONN1_ENUM_ITER::Backup(void)
+?Backup@CONN1_ENUM_ITER@@QAEHXZ
+; public: int __thiscall CONTEXT_ENUM_ITER::Backup(void)
+?Backup@CONTEXT_ENUM_ITER@@QAEHXZ
+; public: int __thiscall DOMAIN0_ENUM_ITER::Backup(void)
+?Backup@DOMAIN0_ENUM_ITER@@QAEHXZ
+; public: int __thiscall GROUP0_ENUM_ITER::Backup(void)
+?Backup@GROUP0_ENUM_ITER@@QAEHXZ
+; public: int __thiscall GROUP1_ENUM_ITER::Backup(void)
+?Backup@GROUP1_ENUM_ITER@@QAEHXZ
+; public: int __thiscall SERVER1_ENUM_ITER::Backup(void)
+?Backup@SERVER1_ENUM_ITER@@QAEHXZ
+; public: int __thiscall SERVICE_ENUM_ITER::Backup(void)
+?Backup@SERVICE_ENUM_ITER@@QAEHXZ
+; public: int __thiscall SESSION0_ENUM_ITER::Backup(void)
+?Backup@SESSION0_ENUM_ITER@@QAEHXZ
+; public: int __thiscall SESSION1_ENUM_ITER::Backup(void)
+?Backup@SESSION1_ENUM_ITER@@QAEHXZ
+; public: int __thiscall SHARE1_ENUM_ITER::Backup(void)
+?Backup@SHARE1_ENUM_ITER@@QAEHXZ
+; public: int __thiscall SHARE2_ENUM_ITER::Backup(void)
+?Backup@SHARE2_ENUM_ITER@@QAEHXZ
+; public: int __thiscall TRIPLE_SERVER_ENUM_ITER::Backup(void)
+?Backup@TRIPLE_SERVER_ENUM_ITER@@QAEHXZ
+; public: int __thiscall USE1_ENUM_ITER::Backup(void)
+?Backup@USE1_ENUM_ITER@@QAEHXZ
+; public: static long __stdcall NT_ACCOUNTS_UTILITY::BuildAndCopySysSid(class OS_SID *,struct _SID_IDENTIFIER_AUTHORITY *,unsigned char,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)
+?BuildAndCopySysSid@NT_ACCOUNTS_UTILITY@@SGJPAVOS_SID@@PAU_SID_IDENTIFIER_AUTHORITY@@EKKKKKKKK@Z
+; public: static long __stdcall NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR *,class NLS_STR const &,class NLS_STR const &,class NLS_STR const *,class NLS_STR const *,enum _SID_NAME_USE)
+?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SGJPAVNLS_STR@@ABV2@1PBV2@2W4_SID_NAME_USE@@@Z
+; public: static long __stdcall NT_ACCOUNTS_UTILITY::BuildQualifiedAccountName(class NLS_STR *,class NLS_STR const &,void *,class NLS_STR const &,class NLS_STR const *,void *,enum _SID_NAME_USE)
+?BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SGJPAVNLS_STR@@ABV2@PAX1PBV2@2W4_SID_NAME_USE@@@Z
+; private: virtual long __thiscall ALIAS_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
+?CallAPI@ALIAS_ENUM@@EAEJHPAPAEPAI@Z
+; private: virtual long __thiscall CHARDEVQ_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@CHARDEVQ_ENUM@@EAEJPAPAEPAI@Z
+; private: virtual long __thiscall CONN_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@CONN_ENUM@@EAEJPAPAEPAI@Z
+; protected: virtual long __thiscall CONTEXT_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@CONTEXT_ENUM@@MAEJPAPAEPAI@Z
+; protected: virtual long __thiscall DEVICE2::CallAPI(void)
+?CallAPI@DEVICE2@@MAEJXZ
+; protected: virtual long __thiscall DEVICE::CallAPI(void)
+?CallAPI@DEVICE@@MAEJXZ
+; private: virtual long __thiscall DOMAIN_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@DOMAIN_ENUM@@EAEJPAPAEPAI@Z
+; private: virtual long __thiscall FILE_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
+?CallAPI@FILE_ENUM@@EAEJHPAPAEPAI@Z
+; private: virtual long __thiscall GROUP_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@GROUP_ENUM@@EAEJPAPAEPAI@Z
+; protected: virtual long __thiscall GROUP_MEMB::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@GROUP_MEMB@@MAEJPAPAEPAI@Z
+; private: virtual long __thiscall LSA_ACCOUNTS_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
+?CallAPI@LSA_ACCOUNTS_ENUM@@EAEJHPAPAEPAI@Z
+; protected: virtual long __thiscall LSA_PRIVILEGES_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
+?CallAPI@LSA_PRIVILEGES_ENUM@@MAEJHPAPAEPAI@Z
+; private: virtual long __thiscall NT_ACCOUNT_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
+?CallAPI@NT_ACCOUNT_ENUM@@EAEJHPAPAEPAI@Z
+; private: virtual long __thiscall SAM_USER_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
+?CallAPI@SAM_USER_ENUM@@EAEJHPAPAEPAI@Z
+; private: virtual long __thiscall SERVER_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@SERVER_ENUM@@EAEJPAPAEPAI@Z
+; private: virtual long __thiscall SERVICE_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@SERVICE_ENUM@@EAEJPAPAEPAI@Z
+; private: virtual long __thiscall SESSION_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@SESSION_ENUM@@EAEJPAPAEPAI@Z
+; private: virtual long __thiscall SHARE_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@SHARE_ENUM@@EAEJPAPAEPAI@Z
+; private: virtual long __thiscall TRIPLE_SERVER_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@TRIPLE_SERVER_ENUM@@EAEJPAPAEPAI@Z
+; private: virtual long __thiscall TRUSTED_DOMAIN_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
+?CallAPI@TRUSTED_DOMAIN_ENUM@@EAEJHPAPAEPAI@Z
+; private: virtual long __thiscall USER_ENUM::CallAPI(int,unsigned char * *,unsigned int *)
+?CallAPI@USER_ENUM@@EAEJHPAPAEPAI@Z
+; protected: virtual long __thiscall USER_MEMB::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@USER_MEMB@@MAEJPAPAEPAI@Z
+; private: virtual long __thiscall USE_ENUM::CallAPI(unsigned char * *,unsigned int *)
+?CallAPI@USE_ENUM@@EAEJPAPAEPAI@Z
+; public: long __thiscall SC_SERVICE::ChangeConfig(unsigned int,unsigned int,unsigned int,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
+?ChangeConfig@SC_SERVICE@@QAEJIIIPBG00000@Z
+; public: long __thiscall NEW_LM_OBJ::ChangeToNew(void)
+?ChangeToNew@NEW_LM_OBJ@@QAEJXZ
+; public: long __thiscall LOCATION::CheckIfNT(int *)
+?CheckIfNT@LOCATION@@QAEJPAH@Z
+; public: long __thiscall LOCATION::CheckIfNT(int *,enum LOCATION_NT_TYPE *)
+?CheckIfNT@LOCATION@@QAEJPAHPAW4LOCATION_NT_TYPE@@@Z
+; public: long __thiscall LSA_POLICY::CheckIfShutDownOnFull(int *)
+?CheckIfShutDownOnFull@LSA_POLICY@@QAEJPAH@Z
+; protected: void __thiscall LSA_POLICY::CleanupUnistrArray(struct _UNICODE_STRING *,unsigned long)
+?CleanupUnistrArray@LSA_POLICY@@IAEXPAU_UNICODE_STRING@@K@Z
+; public: void __thiscall OS_PRIVILEGE_SET::Clear(void)
+?Clear@OS_PRIVILEGE_SET@@QAEXXZ
+; public: void __thiscall SLIST_OF_ADMIN_AUTHORITY::Clear(void)
+?Clear@SLIST_OF_ADMIN_AUTHORITY@@QAEXXZ
+; public: void __thiscall SLIST_OF_API_SESSION::Clear(void)
+?Clear@SLIST_OF_API_SESSION@@QAEXXZ
+; public: void __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::Clear(void)
+?Clear@SLIST_OF_BROWSE_DOMAIN_INFO@@QAEXXZ
+; public: void __thiscall SLIST_OF_LM_RESUME_BUFFER::Clear(void)
+?Clear@SLIST_OF_LM_RESUME_BUFFER@@QAEXXZ
+; protected: long __thiscall NEW_LM_OBJ::ClearBuffer(void)
+?ClearBuffer@NEW_LM_OBJ@@IAEJXZ
+; private: static long __stdcall DOMAIN_WITH_DC_CACHE::ClearDcCache(struct _DC_CACHE_ENTRY *)
+?ClearDcCache@DOMAIN_WITH_DC_CACHE@@CGJPAU_DC_CACHE_ENTRY@@@Z
+; public: long __thiscall NET_ACCESS_1::ClearPerms(void)
+?ClearPerms@NET_ACCESS_1@@QAEJXZ
+; public: long __thiscall GROUP_1::CloneFrom(class GROUP_1 const &)
+?CloneFrom@GROUP_1@@QAEJABV1@@Z
+; public: long __thiscall GROUP_MEMB::CloneFrom(class GROUP_MEMB const &)
+?CloneFrom@GROUP_MEMB@@QAEJABV1@@Z
+; public: long __thiscall SHARE_1::CloneFrom(class SHARE_1 const &)
+?CloneFrom@SHARE_1@@QAEJABV1@@Z
+; public: long __thiscall SHARE_2::CloneFrom(class SHARE_2 const &)
+?CloneFrom@SHARE_2@@QAEJABV1@@Z
+; public: long __thiscall USER_2::CloneFrom(class USER_2 const &)
+?CloneFrom@USER_2@@QAEJABV1@@Z
+; public: long __thiscall USER_3::CloneFrom(class USER_3 const &)
+?CloneFrom@USER_3@@QAEJABV1@@Z
+; public: long __thiscall USER_MEMB::CloneFrom(class USER_MEMB const &)
+?CloneFrom@USER_MEMB@@QAEJABV1@@Z
+; public: long __thiscall SERVICE_CONTROL::Close(void)
+?Close@SERVICE_CONTROL@@QAEJXZ
+; public: long __thiscall LM_FILE::CloseFile(void)
+?CloseFile@LM_FILE@@QAEJXZ
+; public: long __thiscall LSA_OBJECT::CloseHandle(int)
+?CloseHandle@LSA_OBJECT@@QAEJH@Z
+; public: long __thiscall SAM_OBJECT::CloseHandle(void)
+?CloseHandle@SAM_OBJECT@@QAEJXZ
+; private: void __thiscall TRIPLE_SERVER_ENUM::CombineIntoTriple(struct _SERVER_INFO_101 const *,struct _KNOWN_SERVER_INFO const *,struct _TRIPLE_SERVER_INFO *)
+?CombineIntoTriple@TRIPLE_SERVER_ENUM@@AAEXPBU_SERVER_INFO_101@@PBU_KNOWN_SERVER_INFO@@PAU_TRIPLE_SERVER_INFO@@@Z
+; public: long __thiscall OS_ACL_SUBJECT_ITER::Compare(int *,class OS_ACL_SUBJECT_ITER *)
+?Compare@OS_ACL_SUBJECT_ITER@@QAEJPAHPAV1@@Z
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::Compare(class OS_SECURITY_DESCRIPTOR *,int *,int *,int *,int *,struct _GENERIC_MAPPING *,struct _GENERIC_MAPPING *,int,int)
+?Compare@OS_SECURITY_DESCRIPTOR@@QAEJPAV1@PAH111PAU_GENERIC_MAPPING@@2HH@Z
+; public: int __thiscall NET_ACCESS_1::CompareACL(class NET_ACCESS_1 *)
+?CompareACL@NET_ACCESS_1@@QAEHPAV1@@Z
+; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareBrowserServers(void const *,void const *)
+?CompareBrowserServers@TRIPLE_SERVER_ENUM@@CAHPBX0@Z
+; public: virtual int __thiscall OS_DACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER *)
+?CompareCurrentSubject@OS_DACL_SUBJECT_ITER@@UAEHPAVOS_ACL_SUBJECT_ITER@@@Z
+; public: virtual int __thiscall OS_SACL_SUBJECT_ITER::CompareCurrentSubject(class OS_ACL_SUBJECT_ITER *)
+?CompareCurrentSubject@OS_SACL_SUBJECT_ITER@@UAEHPAVOS_ACL_SUBJECT_ITER@@@Z
+; private: static int __cdecl DOMAIN0_ENUM::CompareDomains0(void const *,void const *)
+?CompareDomains0@DOMAIN0_ENUM@@CAHPBX0@Z
+; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareLmServers(void const *,void const *)
+?CompareLmServers@TRIPLE_SERVER_ENUM@@CAHPBX0@Z
+; private: static int __cdecl TRIPLE_SERVER_ENUM::CompareNtServers(void const *,void const *)
+?CompareNtServers@TRIPLE_SERVER_ENUM@@CAHPBX0@Z
+; public: long __thiscall DEVICE2::Connect(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long)
+?Connect@DEVICE2@@QAEJPBG000K@Z
+; public: long __thiscall DEVICE::Connect(unsigned short const *,unsigned short const *)
+?Connect@DEVICE@@QAEJPBG0@Z
+; long __stdcall ConnectToNullSession(class NLS_STR const &)
+?ConnectToNullSession@@YGJABVNLS_STR@@@Z
+; public: long __thiscall LM_SERVICE::Continue(unsigned int,unsigned int)
+?Continue@LM_SERVICE@@QAEJII@Z
+; public: long __thiscall SC_SERVICE::Control(unsigned int,struct _SERVICE_STATUS *)
+?Control@SC_SERVICE@@QAEJIPAU_SERVICE_STATUS@@@Z
+; public: long __thiscall OS_ACL::Copy(class OS_ACL const &,int)
+?Copy@OS_ACL@@QAEJABV1@H@Z
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::Copy(class OS_SECURITY_DESCRIPTOR const &)
+?Copy@OS_SECURITY_DESCRIPTOR@@QAEJABV1@@Z
+; public: long __thiscall OS_SID::Copy(class OS_SID const &)
+?Copy@OS_SID@@QAEJABV1@@Z
+; public: long __thiscall NET_ACCESS_1::CopyAccessPerms(class NET_ACCESS_1 const &)
+?CopyAccessPerms@NET_ACCESS_1@@QAEJABV1@@Z
+; private: void __thiscall SERVICE_ENUM::CountServices(unsigned char *,unsigned int *,unsigned int *)
+?CountServices@SERVICE_ENUM@@AAEXPAEPAI1@Z
+; public: static long __stdcall NT_ACCOUNTS_UTILITY::CrackQualifiedAccountName(class NLS_STR const &,class NLS_STR *,class NLS_STR *)
+?CrackQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SGJABVNLS_STR@@PAV2@1@Z
+; public: long __thiscall LSA_SECRET::Create(class LSA_POLICY const &,unsigned long)
+?Create@LSA_SECRET@@QAEJABVLSA_POLICY@@K@Z
+; public: long __thiscall NEW_LM_OBJ::CreateNew(void)
+?CreateNew@NEW_LM_OBJ@@QAEJXZ
+; private: void __thiscall DOMAIN::CtAux(unsigned short const *,unsigned short const *)
+?CtAux@DOMAIN@@AAEXPBG0@Z
+; private: void __thiscall GROUP::CtAux(unsigned short const *)
+?CtAux@GROUP@@AAEXPBG@Z
+; private: void __thiscall GROUP_1::CtAux(void)
+?CtAux@GROUP_1@@AAEXXZ
+; private: void __thiscall LOC_LM_OBJ::CtAux(void)
+?CtAux@LOC_LM_OBJ@@AAEXXZ
+; private: void __thiscall USER::CtAux(unsigned short const *)
+?CtAux@USER@@AAEXPBG@Z
+; private: void __thiscall USER_11::CtAux(void)
+?CtAux@USER_11@@AAEXXZ
+; private: void __thiscall USER_2::CtAux(void)
+?CtAux@USER_2@@AAEXXZ
+; private: void __thiscall USER_3::CtAux(void)
+?CtAux@USER_3@@AAEXXZ
+; public: long __thiscall LSA_TRUSTED_DOMAIN::Delete(void)
+?Delete@LSA_TRUSTED_DOMAIN@@QAEJXZ
+; public: long __thiscall NET_ACCESS::Delete(void)
+?Delete@NET_ACCESS@@QAEJXZ
+; public: long __thiscall NEW_LM_OBJ::Delete(unsigned int)
+?Delete@NEW_LM_OBJ@@QAEJI@Z
+; public: long __thiscall SAM_ALIAS::Delete(void)
+?Delete@SAM_ALIAS@@QAEJXZ
+; public: long __thiscall SC_SERVICE::Delete(void)
+?Delete@SC_SERVICE@@QAEJXZ
+; public: long __thiscall OS_ACL::DeleteACE(unsigned long)
+?DeleteACE@OS_ACL@@QAEJK@Z
+; protected: long __thiscall LSA_POLICY::DeleteAllTrustedDomains(void)
+?DeleteAllTrustedDomains@LSA_POLICY@@IAEJXZ
+; public: long __thiscall MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned int)
+?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QAEJI@Z
+; public: long __thiscall MEMBERSHIP_LM_OBJ::DeleteAssocName(unsigned short const *)
+?DeleteAssocName@MEMBERSHIP_LM_OBJ@@QAEJPBG@Z
+; public: long __thiscall LSA_ACCOUNT::DeletePrivilege(struct _LUID)
+?DeletePrivilege@LSA_ACCOUNT@@QAEJU_LUID@@@Z
+; private: void __thiscall LM_ENUM::DeregisterIter(void)
+?DeregisterIter@LM_ENUM@@AAEXXZ
+; private: void __thiscall LM_RESUME_ENUM::DeregisterIter(void)
+?DeregisterIter@LM_RESUME_ENUM@@AAEXXZ
+; private: long __thiscall BROWSE_DOMAIN_ENUM::DetermineIfDomainMember(int *)
+?DetermineIfDomainMember@BROWSE_DOMAIN_ENUM@@AAEJPAH@Z
+; public: long __thiscall DEVICE::Disconnect(unsigned int)
+?Disconnect@DEVICE@@QAEJI@Z
+; public: long __thiscall DEVICE::Disconnect(unsigned short const *,unsigned int)
+?Disconnect@DEVICE@@QAEJPBGI@Z
+; public: long __thiscall LSA_POLICY::DistrustDomain(void * const,class NLS_STR const &,int)
+?DistrustDomain@LSA_POLICY@@QAEJQAXABVNLS_STR@@H@Z
+; public: int __thiscall LM_RESUME_ENUM::DoesKeepBuffers(void)const 
+?DoesKeepBuffers@LM_RESUME_ENUM@@QBEHXZ
+; private: virtual unsigned char * __thiscall ENUM_CALLER_LM_OBJ::EC_QueryBufferPtr(void)const 
+?EC_QueryBufferPtr@ENUM_CALLER_LM_OBJ@@EBEPAEXZ
+; private: virtual unsigned char * __thiscall LM_ENUM::EC_QueryBufferPtr(void)const 
+?EC_QueryBufferPtr@LM_ENUM@@EBEPAEXZ
+; private: virtual unsigned int __thiscall ENUM_CALLER_LM_OBJ::EC_QueryBufferSize(void)const 
+?EC_QueryBufferSize@ENUM_CALLER_LM_OBJ@@EBEIXZ
+; private: virtual long __thiscall ENUM_CALLER_LM_OBJ::EC_ResizeBuffer(unsigned int)
+?EC_ResizeBuffer@ENUM_CALLER_LM_OBJ@@EAEJI@Z
+; private: virtual long __thiscall ENUM_CALLER_LM_OBJ::EC_SetBufferPtr(unsigned char *)
+?EC_SetBufferPtr@ENUM_CALLER_LM_OBJ@@EAEJPAE@Z
+; private: virtual long __thiscall LM_ENUM::EC_SetBufferPtr(unsigned char *)
+?EC_SetBufferPtr@LM_ENUM@@EAEJPAE@Z
+; private: static long __stdcall DOMAIN_WITH_DC_CACHE::EnterCriticalSection(void)
+?EnterCriticalSection@DOMAIN_WITH_DC_CACHE@@CGJXZ
+; unsigned long __stdcall EnumAllComms(void)
+?EnumAllComms@@YGKXZ
+; unsigned long __stdcall EnumAllDrives(void)
+?EnumAllDrives@@YGKXZ
+; unsigned long __stdcall EnumAllLPTs(void)
+?EnumAllLPTs@@YGKXZ
+; private: unsigned short const * __thiscall ITER_DEVICE::EnumComms(void)
+?EnumComms@ITER_DEVICE@@AAEPBGXZ
+; public: long __thiscall SC_SERVICE::EnumDependent(unsigned int,struct _ENUM_SERVICE_STATUSW * *,unsigned long *)
+?EnumDependent@SC_SERVICE@@QAEJIPAPAU_ENUM_SERVICE_STATUSW@@PAK@Z
+; private: unsigned short const * __thiscall ITER_DEVICE::EnumDrives(void)
+?EnumDrives@ITER_DEVICE@@AAEPBGXZ
+; private: unsigned short const * __thiscall ITER_DEVICE::EnumLPTs(void)
+?EnumLPTs@ITER_DEVICE@@AAEPBGXZ
+; private: long __thiscall SERVICE_ENUM::EnumLmServices(unsigned char * *,unsigned int *)
+?EnumLmServices@SERVICE_ENUM@@AAEJPAPAEPAI@Z
+; unsigned long __stdcall EnumLocalComms(void)
+?EnumLocalComms@@YGKXZ
+; unsigned long __stdcall EnumLocalDrives(void)
+?EnumLocalDrives@@YGKXZ
+; unsigned long __stdcall EnumLocalLPTs(void)
+?EnumLocalLPTs@@YGKXZ
+; unsigned long __stdcall EnumNetComms(void)
+?EnumNetComms@@YGKXZ
+; unsigned long __stdcall EnumNetDevices(int)
+?EnumNetDevices@@YGKH@Z
+; unsigned long __stdcall EnumNetDrives(void)
+?EnumNetDrives@@YGKXZ
+; unsigned long __stdcall EnumNetLPTs(void)
+?EnumNetLPTs@@YGKXZ
+; private: long __thiscall SERVICE_ENUM::EnumNtServices(unsigned char * *,unsigned int *)
+?EnumNtServices@SERVICE_ENUM@@AAEJPAPAEPAI@Z
+; public: long __thiscall SC_MANAGER::EnumServiceStatus(unsigned int,unsigned int,struct _ENUM_SERVICE_STATUSW * *,unsigned long *,unsigned short const *)
+?EnumServiceStatus@SC_MANAGER@@QAEJIIPAPAU_ENUM_SERVICE_STATUSW@@PAKPBG@Z
+; unsigned long __stdcall EnumUnavailComms(void)
+?EnumUnavailComms@@YGKXZ
+; unsigned long __stdcall EnumUnavailDevices(int)
+?EnumUnavailDevices@@YGKH@Z
+; unsigned long __stdcall EnumUnavailDrives(void)
+?EnumUnavailDrives@@YGKXZ
+; unsigned long __stdcall EnumUnavailLPTs(void)
+?EnumUnavailLPTs@@YGKXZ
+; public: long __thiscall SAM_DOMAIN::EnumerateAliases(class SAM_RID_ENUMERATION_MEM *,unsigned long *,unsigned long)const 
+?EnumerateAliases@SAM_DOMAIN@@QBEJPAVSAM_RID_ENUMERATION_MEM@@PAKK@Z
+; public: long __thiscall SAM_DOMAIN::EnumerateAliasesForUser(void *,class SAM_RID_MEM *)const 
+?EnumerateAliasesForUser@SAM_DOMAIN@@QBEJPAXPAVSAM_RID_MEM@@@Z
+; public: long __thiscall SAM_DOMAIN::EnumerateGroups(class SAM_RID_ENUMERATION_MEM *,unsigned long *,unsigned long)const 
+?EnumerateGroups@SAM_DOMAIN@@QBEJPAVSAM_RID_ENUMERATION_MEM@@PAKK@Z
+; public: long __thiscall LSA_POLICY::EnumerateTrustedDomains(class LSA_TRUST_INFO_MEM *,unsigned long *,unsigned long)
+?EnumerateTrustedDomains@LSA_POLICY@@QAEJPAVLSA_TRUST_INFO_MEM@@PAKK@Z
+; public: long __thiscall SAM_DOMAIN::EnumerateUsers(class SAM_RID_ENUMERATION_MEM *,unsigned long *,unsigned long,unsigned long)const 
+?EnumerateUsers@SAM_DOMAIN@@QBEJPAVSAM_RID_ENUMERATION_MEM@@PAKKK@Z
+; long __stdcall FillUnicodeString(struct _UNICODE_STRING *,class NLS_STR const &)
+?FillUnicodeString@@YGJPAU_UNICODE_STRING@@ABVNLS_STR@@@Z
+; private: struct _ACCESS_LIST * __thiscall NET_ACCESS_1::FindACE(unsigned short const *,enum PERMNAME_TYPE)const 
+?FindACE@NET_ACCESS_1@@ABEPAU_ACCESS_LIST@@PBGW4PERMNAME_TYPE@@@Z
+; public: long __thiscall OS_ACL::FindACE(class OS_SID const &,int *,class OS_ACE *,unsigned long *,unsigned long)const 
+?FindACE@OS_ACL@@QBEJABVOS_SID@@PAHPAVOS_ACE@@PAKK@Z
+; public: int __thiscall MEMBERSHIP_LM_OBJ::FindAssocName(unsigned short const *,unsigned int *)
+?FindAssocName@MEMBERSHIP_LM_OBJ@@QAEHPBGPAI@Z
+; private: static unsigned short const * __stdcall DOMAIN_WITH_DC_CACHE::FindDcCache(struct _DC_CACHE_ENTRY const *,unsigned short const *)
+?FindDcCache@DOMAIN_WITH_DC_CACHE@@CGPBGPBU_DC_CACHE_ENTRY@@PBG@Z
+; public: class BROWSE_DOMAIN_INFO const * __thiscall BROWSE_DOMAIN_ENUM::FindFirst(unsigned long)
+?FindFirst@BROWSE_DOMAIN_ENUM@@QAEPBVBROWSE_DOMAIN_INFO@@K@Z
+; public: class BROWSE_DOMAIN_INFO const * __thiscall BROWSE_DOMAIN_ENUM::FindNext(unsigned long)
+?FindNext@BROWSE_DOMAIN_ENUM@@QAEPBVBROWSE_DOMAIN_INFO@@K@Z
+; public: long __thiscall OS_ACL_SUBJECT_ITER::FindNextSubject(int *,class OS_SID *,class OS_ACE *)
+?FindNextSubject@OS_ACL_SUBJECT_ITER@@QAEJPAHPAVOS_SID@@PAVOS_ACE@@@Z
+; public: long __thiscall OS_PRIVILEGE_SET::FindPrivilege(struct _LUID)const 
+?FindPrivilege@OS_PRIVILEGE_SET@@QBEJU_LUID@@@Z
+; protected: void __thiscall NEW_LM_OBJ::FixupPointer(unsigned short * *,class NEW_LM_OBJ const *)
+?FixupPointer@NEW_LM_OBJ@@IAEXPAPAGPBV1@@Z
+; protected: virtual void __thiscall ALIAS_ENUM::FreeBuffer(unsigned char * *)
+?FreeBuffer@ALIAS_ENUM@@MAEXPAPAE@Z
+; protected: virtual void __thiscall FILE_ENUM::FreeBuffer(unsigned char * *)
+?FreeBuffer@FILE_ENUM@@MAEXPAPAE@Z
+; protected: virtual void __thiscall LOC_LM_RESUME_ENUM::FreeBuffer(unsigned char * *)
+?FreeBuffer@LOC_LM_RESUME_ENUM@@MAEXPAPAE@Z
+; protected: virtual void __thiscall LSA_ENUM::FreeBuffer(unsigned char * *)
+?FreeBuffer@LSA_ENUM@@MAEXPAPAE@Z
+; protected: virtual void __thiscall LSA_MEMORY::FreeBuffer(void)
+?FreeBuffer@LSA_MEMORY@@MAEXXZ
+; private: void __thiscall LSA_TRUSTED_DC_LIST::FreeBuffer(void)
+?FreeBuffer@LSA_TRUSTED_DC_LIST@@AAEXXZ
+; protected: virtual void __thiscall NT_ACCOUNT_ENUM::FreeBuffer(unsigned char * *)
+?FreeBuffer@NT_ACCOUNT_ENUM@@MAEXPAPAE@Z
+; protected: virtual void __thiscall SAM_MEMORY::FreeBuffer(void)
+?FreeBuffer@SAM_MEMORY@@MAEXXZ
+; protected: virtual void __thiscall SAM_USER_ENUM::FreeBuffer(unsigned char * *)
+?FreeBuffer@SAM_USER_ENUM@@MAEXPAPAE@Z
+; protected: virtual void __thiscall TRUSTED_DOMAIN_ENUM::FreeBuffer(unsigned char * *)
+?FreeBuffer@TRUSTED_DOMAIN_ENUM@@MAEXPAPAE@Z
+; void __stdcall FreeUnicodeString(struct _UNICODE_STRING *)
+?FreeUnicodeString@@YGXPAU_UNICODE_STRING@@@Z
+; public: long __thiscall LSA_POLICY::GetAccountDomain(class LSA_ACCT_DOM_INFO_MEM *)const 
+?GetAccountDomain@LSA_POLICY@@QBEJPAVLSA_ACCT_DOM_INFO_MEM@@@Z
+; public: static long __stdcall DOMAIN::GetAnyDC(unsigned short const *,unsigned short const *,class NLS_STR *)
+?GetAnyDC@DOMAIN@@SGJPBG0PAVNLS_STR@@@Z
+; public: static long __stdcall DOMAIN_WITH_DC_CACHE::GetAnyDC(unsigned short const *,unsigned short const *,class NLS_STR *)
+?GetAnyDC@DOMAIN_WITH_DC_CACHE@@SGJPBG0PAVNLS_STR@@@Z
+; protected: static long __stdcall DOMAIN::GetAnyDCWorker(unsigned short const *,unsigned short const *,class NLS_STR *,int)
+?GetAnyDCWorker@DOMAIN@@KGJPBG0PAVNLS_STR@@H@Z
+; protected: static long __stdcall DOMAIN_WITH_DC_CACHE::GetAnyDCWorker(unsigned short const *,unsigned short const *,class NLS_STR *,int)
+?GetAnyDCWorker@DOMAIN_WITH_DC_CACHE@@KGJPBG0PAVNLS_STR@@H@Z
+; public: static long __stdcall DOMAIN::GetAnyValidDC(unsigned short const *,unsigned short const *,class NLS_STR *)
+?GetAnyValidDC@DOMAIN@@SGJPBG0PAVNLS_STR@@@Z
+; public: static long __stdcall DOMAIN_WITH_DC_CACHE::GetAnyValidDC(unsigned short const *,unsigned short const *,class NLS_STR *)
+?GetAnyValidDC@DOMAIN_WITH_DC_CACHE@@SGJPBG0PAVNLS_STR@@@Z
+; public: long __thiscall LSA_POLICY::GetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM *)
+?GetAuditEventInfo@LSA_POLICY@@QAEJPAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
+; public: long __thiscall ALIAS_ENUM_OBJ::GetComment(class SAM_DOMAIN const &,class NLS_STR *)
+?GetComment@ALIAS_ENUM_OBJ@@QAEJABVSAM_DOMAIN@@PAVNLS_STR@@@Z
+; public: long __thiscall SAM_ALIAS::GetComment(class NLS_STR *)
+?GetComment@SAM_ALIAS@@QAEJPAVNLS_STR@@@Z
+; public: long __thiscall SAM_GROUP::GetComment(class NLS_STR *)
+?GetComment@SAM_GROUP@@QAEJPAVNLS_STR@@@Z
+; private: long __thiscall NET_NAME::GetDeviceInfo(void)
+?GetDeviceInfo@NET_NAME@@AAEJXZ
+; public: virtual long __thiscall DEVICE::GetInfo(void)
+?GetInfo@DEVICE@@UAEJXZ
+; public: virtual long __thiscall DOMAIN::GetInfo(void)
+?GetInfo@DOMAIN@@UAEJXZ
+; public: virtual long __thiscall DOMAIN_WITH_DC_CACHE::GetInfo(void)
+?GetInfo@DOMAIN_WITH_DC_CACHE@@UAEJXZ
+; public: long __thiscall LM_ENUM::GetInfo(void)
+?GetInfo@LM_ENUM@@QAEJXZ
+; public: long __thiscall LM_RESUME_ENUM::GetInfo(int)
+?GetInfo@LM_RESUME_ENUM@@QAEJH@Z
+; public: long __thiscall NEW_LM_OBJ::GetInfo(void)
+?GetInfo@NEW_LM_OBJ@@QAEJXZ
+; public: virtual long __thiscall USER_MODALS::GetInfo(void)
+?GetInfo@USER_MODALS@@UAEJXZ
+; public: virtual long __thiscall USER_MODALS_3::GetInfo(void)
+?GetInfo@USER_MODALS_3@@UAEJXZ
+; private: long __thiscall LM_RESUME_ENUM::GetInfoMulti(void)
+?GetInfoMulti@LM_RESUME_ENUM@@AAEJXZ
+; private: long __thiscall LM_RESUME_ENUM::GetInfoSingle(int)
+?GetInfoSingle@LM_RESUME_ENUM@@AAEJH@Z
+; private: long __thiscall BROWSE_DOMAIN_ENUM::GetLanmanDomains(unsigned long)
+?GetLanmanDomains@BROWSE_DOMAIN_ENUM@@AAEJK@Z
+; private: long __thiscall BROWSE_DOMAIN_ENUM::GetLogonDomainDC(class NLS_STR *)
+?GetLogonDomainDC@BROWSE_DOMAIN_ENUM@@AAEJPAVNLS_STR@@@Z
+; public: long __thiscall SAM_ALIAS::GetMembers(class SAM_SID_MEM *)
+?GetMembers@SAM_ALIAS@@QAEJPAVSAM_SID_MEM@@@Z
+; public: long __thiscall SAM_GROUP::GetMembers(class SAM_RID_MEM *)
+?GetMembers@SAM_GROUP@@QAEJPAVSAM_RID_MEM@@@Z
+; public: long __thiscall SAM_DOMAIN::GetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM *)const 
+?GetPasswordInfo@SAM_DOMAIN@@QBEJPAVSAM_PSWD_DOM_INFO_MEM@@@Z
+; public: long __thiscall LSA_POLICY::GetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM *)const 
+?GetPrimaryDomain@LSA_POLICY@@QBEJPAVLSA_PRIMARY_DOM_INFO_MEM@@@Z
+; public: static long __stdcall NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY &,class SAM_DOMAIN const &,void * const *,unsigned long,int,class STRLIST *,unsigned long *,enum _SID_NAME_USE *,long *,unsigned short const *,class STRLIST *,class STRLIST *,class STRLIST *,class STRLIST *)
+?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SGJAAVLSA_POLICY@@ABVSAM_DOMAIN@@PBQAXKHPAVSTRLIST@@PAKPAW4_SID_NAME_USE@@PAJPBG3333@Z
+; public: static long __stdcall NT_ACCOUNTS_UTILITY::GetQualifiedAccountNames(class LSA_POLICY &,void * const,void * const *,unsigned long,int,class STRLIST *,unsigned long *,enum _SID_NAME_USE *,long *,unsigned short const *,class STRLIST *,class STRLIST *,class STRLIST *,class STRLIST *)
+?GetQualifiedAccountNames@NT_ACCOUNTS_UTILITY@@SGJAAVLSA_POLICY@@QAXPBQAXKHPAVSTRLIST@@PAKPAW4_SID_NAME_USE@@PAJPBG3333@Z
+; public: static long __stdcall LM_SRVRES::GetResourceCount(unsigned short const *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *,unsigned long *)
+?GetResourceCount@LM_SRVRES@@SGJPBGPAK11111@Z
+; public: long __thiscall LSA_POLICY::GetServerRole(class LSA_SERVER_ROLE_INFO_MEM *)const 
+?GetServerRole@LSA_POLICY@@QBEJPAVLSA_SERVER_ROLE_INFO_MEM@@@Z
+; public: static long __stdcall LM_SRVRES::GetSessionsCount(unsigned short const *,unsigned long *)
+?GetSessionsCount@LM_SRVRES@@SGJPBGPAK@Z
+; private: long __thiscall BROWSE_DOMAIN_ENUM::GetTrustingDomains(void)
+?GetTrustingDomains@BROWSE_DOMAIN_ENUM@@AAEJXZ
+; long __stdcall GetW32ComputerName(class NLS_STR &)
+?GetW32ComputerName@@YGJAAVNLS_STR@@@Z
+; long __stdcall GetW32UserAndDomainName(class NLS_STR &,class NLS_STR &)
+?GetW32UserAndDomainName@@YGJAAVNLS_STR@@0@Z
+; long __stdcall GetW32UserName(class NLS_STR &)
+?GetW32UserName@@YGJAAVNLS_STR@@@Z
+; private: long __thiscall BROWSE_DOMAIN_ENUM::GetWorkgroupDomains(void)
+?GetWorkgroupDomains@BROWSE_DOMAIN_ENUM@@AAEJXZ
+; protected: long __thiscall USER::HandleNullAccount(void)
+?HandleNullAccount@USER@@IAEJXZ
+; public: int __thiscall OS_DACL_SUBJECT_ITER::HasInheritOnlyAce(void)const 
+?HasInheritOnlyAce@OS_DACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_F(void)const 
+?HasInheritOnlyAuditAce_F@OS_SACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_SACL_SUBJECT_ITER::HasInheritOnlyAuditAce_S(void)const 
+?HasInheritOnlyAuditAce_S@OS_SACL_SUBJECT_ITER@@QBEHXZ
+; protected: int __thiscall LM_RESUME_ENUM_ITER::HasMoreData(void)const 
+?HasMoreData@LM_RESUME_ENUM_ITER@@IBEHXZ
+; public: int __thiscall OS_DACL_SUBJECT_ITER::HasNewContainerAce(void)const 
+?HasNewContainerAce@OS_DACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_F(void)const 
+?HasNewContainerAuditAce_F@OS_SACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_SACL_SUBJECT_ITER::HasNewContainerAuditAce_S(void)const 
+?HasNewContainerAuditAce_S@OS_SACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_DACL_SUBJECT_ITER::HasNewObjectAce(void)const 
+?HasNewObjectAce@OS_DACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_F(void)const 
+?HasNewObjectAuditAce_F@OS_SACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_SACL_SUBJECT_ITER::HasNewObjectAuditAce_S(void)const 
+?HasNewObjectAuditAce_S@OS_SACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_DACL_SUBJECT_ITER::HasThisAce(void)const 
+?HasThisAce@OS_DACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_SACL_SUBJECT_ITER::HasThisAuditAce_F(void)const 
+?HasThisAuditAce_F@OS_SACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_SACL_SUBJECT_ITER::HasThisAuditAce_S(void)const 
+?HasThisAuditAce_S@OS_SACL_SUBJECT_ITER@@QBEHXZ
+; long __stdcall I_AppendToSTRLIST(class STRLIST *,class NLS_STR &)
+?I_AppendToSTRLIST@@YGJPAVSTRLIST@@AAVNLS_STR@@@Z
+; protected: virtual long __thiscall GROUP_1::I_ChangeToNew(void)
+?I_ChangeToNew@GROUP_1@@MAEJXZ
+; protected: virtual long __thiscall GROUP_MEMB::I_ChangeToNew(void)
+?I_ChangeToNew@GROUP_MEMB@@MAEJXZ
+; protected: virtual long __thiscall NEW_LM_OBJ::I_ChangeToNew(void)
+?I_ChangeToNew@NEW_LM_OBJ@@MAEJXZ
+; protected: virtual long __thiscall USER_2::I_ChangeToNew(void)
+?I_ChangeToNew@USER_2@@MAEJXZ
+; protected: virtual long __thiscall USER_3::I_ChangeToNew(void)
+?I_ChangeToNew@USER_3@@MAEJXZ
+; protected: virtual long __thiscall USER_MEMB::I_ChangeToNew(void)
+?I_ChangeToNew@USER_MEMB@@MAEJXZ
+; protected: virtual long __thiscall GROUP_1::I_CreateNew(void)
+?I_CreateNew@GROUP_1@@MAEJXZ
+; protected: virtual long __thiscall GROUP_MEMB::I_CreateNew(void)
+?I_CreateNew@GROUP_MEMB@@MAEJXZ
+; protected: virtual long __thiscall LSA_ACCOUNT::I_CreateNew(void)
+?I_CreateNew@LSA_ACCOUNT@@MAEJXZ
+; protected: virtual long __thiscall NET_ACCESS_1::I_CreateNew(void)
+?I_CreateNew@NET_ACCESS_1@@MAEJXZ
+; protected: virtual long __thiscall NEW_LM_OBJ::I_CreateNew(void)
+?I_CreateNew@NEW_LM_OBJ@@MAEJXZ
+; protected: virtual long __thiscall SHARE_2::I_CreateNew(void)
+?I_CreateNew@SHARE_2@@MAEJXZ
+; protected: virtual long __thiscall USER_2::I_CreateNew(void)
+?I_CreateNew@USER_2@@MAEJXZ
+; protected: virtual long __thiscall USER_3::I_CreateNew(void)
+?I_CreateNew@USER_3@@MAEJXZ
+; protected: virtual long __thiscall USER_MEMB::I_CreateNew(void)
+?I_CreateNew@USER_MEMB@@MAEJXZ
+; protected: virtual long __thiscall GROUP::I_Delete(unsigned int)
+?I_Delete@GROUP@@MAEJI@Z
+; protected: virtual long __thiscall LM_SESSION::I_Delete(unsigned int)
+?I_Delete@LM_SESSION@@MAEJI@Z
+; protected: virtual long __thiscall LSA_ACCOUNT::I_Delete(unsigned int)
+?I_Delete@LSA_ACCOUNT@@MAEJI@Z
+; protected: virtual long __thiscall NEW_LM_OBJ::I_Delete(unsigned int)
+?I_Delete@NEW_LM_OBJ@@MAEJI@Z
+; protected: virtual long __thiscall SHARE::I_Delete(unsigned int)
+?I_Delete@SHARE@@MAEJI@Z
+; protected: virtual long __thiscall USER::I_Delete(unsigned int)
+?I_Delete@USER@@MAEJI@Z
+; long __stdcall I_FetchAliasFields(class NLS_STR *,class ADMIN_AUTHORITY * *,class SLIST_OF_ADMIN_AUTHORITY *,unsigned long,int,class NLS_STR const &,class NLS_STR const *,long *)
+?I_FetchAliasFields@@YGJPAVNLS_STR@@PAPAVADMIN_AUTHORITY@@PAVSLIST_OF_ADMIN_AUTHORITY@@KHABV1@PBV1@PAJ@Z
+; long __stdcall I_FetchDCList(class LSA_TRANSLATED_NAME_MEM const &,class LSA_REF_DOMAIN_MEM const &,void *,void *,class NLS_STR * *,class STRLIST *,int *,long *,unsigned short const *,int,int,int)
+?I_FetchDCList@@YGJABVLSA_TRANSLATED_NAME_MEM@@ABVLSA_REF_DOMAIN_MEM@@PAX2PAPAVNLS_STR@@PAVSTRLIST@@PAHPAJPBGHHH@Z
+; long __stdcall I_FetchGroupFields(class NLS_STR *,class NLS_STR const &,class NLS_STR const *,long *)
+?I_FetchGroupFields@@YGJPAVNLS_STR@@ABV1@PBV1@PAJ@Z
+; long __stdcall I_FetchUserFields(class NLS_STR *,class NLS_STR *,unsigned long *,class NLS_STR const &,class NLS_STR const *,long *)
+?I_FetchUserFields@@YGJPAVNLS_STR@@0PAKABV1@PBV1@PAJ@Z
+; protected: virtual long __thiscall GROUP_1::I_GetInfo(void)
+?I_GetInfo@GROUP_1@@MAEJXZ
+; protected: virtual long __thiscall LM_FILE_2::I_GetInfo(void)
+?I_GetInfo@LM_FILE_2@@MAEJXZ
+; protected: virtual long __thiscall LM_FILE_3::I_GetInfo(void)
+?I_GetInfo@LM_FILE_3@@MAEJXZ
+; protected: virtual long __thiscall LM_SESSION_0::I_GetInfo(void)
+?I_GetInfo@LM_SESSION_0@@MAEJXZ
+; protected: virtual long __thiscall LM_SESSION_10::I_GetInfo(void)
+?I_GetInfo@LM_SESSION_10@@MAEJXZ
+; protected: virtual long __thiscall LM_SESSION_1::I_GetInfo(void)
+?I_GetInfo@LM_SESSION_1@@MAEJXZ
+; protected: virtual long __thiscall LM_SESSION_2::I_GetInfo(void)
+?I_GetInfo@LM_SESSION_2@@MAEJXZ
+; protected: virtual long __thiscall LOCAL_USER::I_GetInfo(void)
+?I_GetInfo@LOCAL_USER@@MAEJXZ
+; protected: virtual long __thiscall LSA_ACCOUNT::I_GetInfo(void)
+?I_GetInfo@LSA_ACCOUNT@@MAEJXZ
+; protected: virtual long __thiscall MEMBERSHIP_LM_OBJ::I_GetInfo(void)
+?I_GetInfo@MEMBERSHIP_LM_OBJ@@MAEJXZ
+; protected: virtual long __thiscall NET_ACCESS_1::I_GetInfo(void)
+?I_GetInfo@NET_ACCESS_1@@MAEJXZ
+; protected: virtual long __thiscall NEW_LM_OBJ::I_GetInfo(void)
+?I_GetInfo@NEW_LM_OBJ@@MAEJXZ
+; protected: virtual long __thiscall SERVER_0::I_GetInfo(void)
+?I_GetInfo@SERVER_0@@MAEJXZ
+; protected: virtual long __thiscall SERVER_1::I_GetInfo(void)
+?I_GetInfo@SERVER_1@@MAEJXZ
+; protected: virtual long __thiscall SERVER_2::I_GetInfo(void)
+?I_GetInfo@SERVER_2@@MAEJXZ
+; protected: virtual long __thiscall SHARE_1::I_GetInfo(void)
+?I_GetInfo@SHARE_1@@MAEJXZ
+; protected: virtual long __thiscall SHARE_2::I_GetInfo(void)
+?I_GetInfo@SHARE_2@@MAEJXZ
+; protected: virtual long __thiscall TIME_OF_DAY::I_GetInfo(void)
+?I_GetInfo@TIME_OF_DAY@@MAEJXZ
+; protected: virtual long __thiscall USER_11::I_GetInfo(void)
+?I_GetInfo@USER_11@@MAEJXZ
+; protected: virtual long __thiscall USER_2::I_GetInfo(void)
+?I_GetInfo@USER_2@@MAEJXZ
+; protected: virtual long __thiscall USER_3::I_GetInfo(void)
+?I_GetInfo@USER_3@@MAEJXZ
+; public: virtual long __thiscall WKSTA_10::I_GetInfo(void)
+?I_GetInfo@WKSTA_10@@UAEJXZ
+; public: virtual long __thiscall WKSTA_1::I_GetInfo(void)
+?I_GetInfo@WKSTA_1@@UAEJXZ
+; protected: virtual long __thiscall WKSTA_USER_1::I_GetInfo(void)
+?I_GetInfo@WKSTA_USER_1@@MAEJXZ
+; protected: virtual long __thiscall GROUP_1::I_WriteInfo(void)
+?I_WriteInfo@GROUP_1@@MAEJXZ
+; protected: virtual long __thiscall GROUP_MEMB::I_WriteInfo(void)
+?I_WriteInfo@GROUP_MEMB@@MAEJXZ
+; protected: virtual long __thiscall LSA_ACCOUNT::I_WriteInfo(void)
+?I_WriteInfo@LSA_ACCOUNT@@MAEJXZ
+; protected: virtual long __thiscall NET_ACCESS_1::I_WriteInfo(void)
+?I_WriteInfo@NET_ACCESS_1@@MAEJXZ
+; protected: virtual long __thiscall NEW_LM_OBJ::I_WriteInfo(void)
+?I_WriteInfo@NEW_LM_OBJ@@MAEJXZ
+; protected: virtual long __thiscall SERVER_1::I_WriteInfo(void)
+?I_WriteInfo@SERVER_1@@MAEJXZ
+; protected: virtual long __thiscall SERVER_2::I_WriteInfo(void)
+?I_WriteInfo@SERVER_2@@MAEJXZ
+; protected: virtual long __thiscall SHARE_1::I_WriteInfo(void)
+?I_WriteInfo@SHARE_1@@MAEJXZ
+; protected: virtual long __thiscall SHARE_2::I_WriteInfo(void)
+?I_WriteInfo@SHARE_2@@MAEJXZ
+; protected: virtual long __thiscall USER_2::I_WriteInfo(void)
+?I_WriteInfo@USER_2@@MAEJXZ
+; protected: virtual long __thiscall USER_3::I_WriteInfo(void)
+?I_WriteInfo@USER_3@@MAEJXZ
+; protected: virtual long __thiscall USER_MEMB::I_WriteInfo(void)
+?I_WriteInfo@USER_MEMB@@MAEJXZ
+; protected: virtual long __thiscall WKSTA_USER_1::I_WriteInfo(void)
+?I_WriteInfo@WKSTA_USER_1@@MAEJXZ
+; private: long __thiscall NET_ACCESS_1::I_WriteInfoAux(void)
+?I_WriteInfoAux@NET_ACCESS_1@@AAEJXZ
+; protected: virtual long __thiscall GROUP_1::I_WriteNew(void)
+?I_WriteNew@GROUP_1@@MAEJXZ
+; protected: virtual long __thiscall LSA_ACCOUNT::I_WriteNew(void)
+?I_WriteNew@LSA_ACCOUNT@@MAEJXZ
+; protected: virtual long __thiscall MEMBERSHIP_LM_OBJ::I_WriteNew(void)
+?I_WriteNew@MEMBERSHIP_LM_OBJ@@MAEJXZ
+; protected: virtual long __thiscall NET_ACCESS_1::I_WriteNew(void)
+?I_WriteNew@NET_ACCESS_1@@MAEJXZ
+; protected: virtual long __thiscall NEW_LM_OBJ::I_WriteNew(void)
+?I_WriteNew@NEW_LM_OBJ@@MAEJXZ
+; protected: virtual long __thiscall SHARE_2::I_WriteNew(void)
+?I_WriteNew@SHARE_2@@MAEJXZ
+; protected: virtual long __thiscall USER_2::I_WriteNew(void)
+?I_WriteNew@USER_2@@MAEJXZ
+; protected: virtual long __thiscall USER_3::I_WriteNew(void)
+?I_WriteNew@USER_3@@MAEJXZ
+; private: static void __stdcall LSA_POLICY::InitObjectAttributes(struct _OBJECT_ATTRIBUTES *,struct _SECURITY_QUALITY_OF_SERVICE *)
+?InitObjectAttributes@LSA_POLICY@@CGXPAU_OBJECT_ATTRIBUTES@@PAU_SECURITY_QUALITY_OF_SERVICE@@@Z
+; public: void __thiscall OS_SACL_SUBJECT_DESCRIPTOR::InitToZero(void)
+?InitToZero@OS_SACL_SUBJECT_DESCRIPTOR@@QAEXXZ
+; private: void __thiscall OS_SACL_SUBJECT_ITER::InitToZero(void)
+?InitToZero@OS_SACL_SUBJECT_ITER@@AAEXXZ
+; private: void __thiscall OS_PRIVILEGE_SET::InitializeMemory(void)
+?InitializeMemory@OS_PRIVILEGE_SET@@AAEXXZ
+; public: static void __stdcall OS_SID::InitializeMemory(void *)
+?InitializeMemory@OS_SID@@SGXPAX@Z
+; public: long __thiscall SLIST_OF_BROWSE_DOMAIN_INFO::Insert(class BROWSE_DOMAIN_INFO const *,class ITER_SL_BROWSE_DOMAIN_INFO &)
+?Insert@SLIST_OF_BROWSE_DOMAIN_INFO@@QAEJPBVBROWSE_DOMAIN_INFO@@AAVITER_SL_BROWSE_DOMAIN_INFO@@@Z
+; public: long __thiscall LSA_ACCOUNT::InsertPrivilege(struct _LUID,unsigned long)
+?InsertPrivilege@LSA_ACCOUNT@@QAEJU_LUID@@K@Z
+; public: int __thiscall USER_11::IsAccountsOperator(void)const 
+?IsAccountsOperator@USER_11@@QBEHXZ
+; public: int __thiscall USER_11::IsCommOperator(void)const 
+?IsCommOperator@USER_11@@QBEHXZ
+; public: int __thiscall OS_ACL_SUBJECT_ITER::IsContainer(void)const 
+?IsContainer@OS_ACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall LM_SERVICE::IsContinuing(long *)
+?IsContinuing@LM_SERVICE@@QAEHPAJ@Z
+; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLDefaulted(void)const 
+?IsDACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
+; public: int __thiscall OS_SECURITY_DESCRIPTOR::IsDACLPresent(void)const 
+?IsDACLPresent@OS_SECURITY_DESCRIPTOR@@QBEHXZ
+; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsDACLPresent(void)const 
+?IsDACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
+; public: int __thiscall LSA_ACCOUNT::IsDefaultSettings(void)
+?IsDefaultSettings@LSA_ACCOUNT@@QAEHXZ
+; public: int __thiscall OS_DACL_SUBJECT_ITER::IsDenyAll(void)const 
+?IsDenyAll@OS_DACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall LOCATION::IsDomain(void)const 
+?IsDomain@LOCATION@@QBEHXZ
+; public: int __thiscall LM_SESSION_1::IsEncrypted(void)const 
+?IsEncrypted@LM_SESSION_1@@QBEHXZ
+; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsGroupDefaulted(void)const 
+?IsGroupDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
+; public: int __thiscall LM_SESSION_1::IsGuest(void)const 
+?IsGuest@LM_SESSION_1@@QBEHXZ
+; public: int __thiscall LSA_OBJECT::IsHandleValid(void)const 
+?IsHandleValid@LSA_OBJECT@@QBEHXZ
+; public: int __thiscall OS_ACE::IsInheritOnly(void)const 
+?IsInheritOnly@OS_ACE@@QBEHXZ
+; public: int __thiscall OS_DACL_SUBJECT_ITER::IsInheritOnlyDenyAll(void)const 
+?IsInheritOnlyDenyAll@OS_DACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_ACE::IsInheritancePropagated(void)const 
+?IsInheritancePropagated@OS_ACE@@QBEHXZ
+; public: int __thiscall OS_ACE::IsInherittedByNewContainers(void)const 
+?IsInherittedByNewContainers@OS_ACE@@QBEHXZ
+; public: int __thiscall OS_ACE::IsInherittedByNewObjects(void)const 
+?IsInherittedByNewObjects@OS_ACE@@QBEHXZ
+; protected: int __thiscall LM_OBJ::IsInvalid(void)const 
+?IsInvalid@LM_OBJ@@IBEHXZ
+; private: int __thiscall LM_OBJ_BASE::IsInvalid(void)const 
+?IsInvalid@LM_OBJ_BASE@@ABEHXZ
+; public: int __thiscall OS_ACE::IsKnownACE(void)const 
+?IsKnownACE@OS_ACE@@QBEHXZ
+; public: int __thiscall NET_NAME::IsLocal(long *)
+?IsLocal@NET_NAME@@QAEHPAJ@Z
+; private: int __thiscall NEW_LM_OBJ::IsNew(void)const 
+?IsNew@NEW_LM_OBJ@@ABEHXZ
+; public: int __thiscall OS_DACL_SUBJECT_ITER::IsNewContainerDenyAll(void)const 
+?IsNewContainerDenyAll@OS_DACL_SUBJECT_ITER@@QBEHXZ
+; public: int __thiscall OS_DACL_SUBJECT_ITER::IsNewObjectDenyAll(void)const 
+?IsNewObjectDenyAll@OS_DACL_SUBJECT_ITER@@QBEHXZ
+; protected: int __thiscall NEW_LM_OBJ::IsOKState(void)const 
+?IsOKState@NEW_LM_OBJ@@IBEHXZ
+; protected: int __thiscall OS_ACE::IsOwnerAlloc(void)const 
+?IsOwnerAlloc@OS_ACE@@IBEHXZ
+; protected: int __thiscall OS_ACL::IsOwnerAlloc(void)const 
+?IsOwnerAlloc@OS_ACL@@IBEHXZ
+; private: int __thiscall OS_PRIVILEGE_SET::IsOwnerAlloc(void)const 
+?IsOwnerAlloc@OS_PRIVILEGE_SET@@ABEHXZ
+; protected: int __thiscall OS_SID::IsOwnerAlloc(void)const 
+?IsOwnerAlloc@OS_SID@@IBEHXZ
+; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsOwnerDefaulted(void)const 
+?IsOwnerDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
+; public: int __thiscall LM_SERVICE::IsPaused(long *)
+?IsPaused@LM_SERVICE@@QAEHPAJ@Z
+; public: int __thiscall LM_SERVICE::IsPausing(long *)
+?IsPausing@LM_SERVICE@@QAEHPAJ@Z
+; public: int __thiscall LM_FILE_3::IsPermCreate(void)const 
+?IsPermCreate@LM_FILE_3@@QBEHXZ
+; public: int __thiscall LM_FILE_3::IsPermRead(void)const 
+?IsPermRead@LM_FILE_3@@QBEHXZ
+; public: int __thiscall LM_FILE_3::IsPermWrite(void)const 
+?IsPermWrite@LM_FILE_3@@QBEHXZ
+; public: int __thiscall USER_11::IsPrintOperator(void)const 
+?IsPrintOperator@USER_11@@QBEHXZ
+; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLDefaulted(void)const 
+?IsSACLDefaulted@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
+; public: int __thiscall OS_SECURITY_DESCRIPTOR::IsSACLPresent(void)const 
+?IsSACLPresent@OS_SECURITY_DESCRIPTOR@@QBEHXZ
+; public: int __thiscall OS_SECURITY_DESCRIPTOR_CONTROL::IsSACLPresent(void)const 
+?IsSACLPresent@OS_SECURITY_DESCRIPTOR_CONTROL@@QBEHXZ
+; public: int __thiscall LOCATION::IsServer(void)const 
+?IsServer@LOCATION@@QBEHXZ
+; public: int __thiscall USER_11::IsServerOperator(void)const 
+?IsServerOperator@USER_11@@QBEHXZ
+; public: int __thiscall NET_NAME::IsSharable(long *)
+?IsSharable@NET_NAME@@QAEHPAJ@Z
+; public: int __thiscall LM_SERVICE::IsStarted(long *)
+?IsStarted@LM_SERVICE@@QAEHPAJ@Z
+; public: int __thiscall LM_SERVICE::IsStarting(long *)
+?IsStarting@LM_SERVICE@@QAEHPAJ@Z
+; public: int __thiscall LM_SERVICE::IsStopped(long *)
+?IsStopped@LM_SERVICE@@QAEHPAJ@Z
+; public: int __thiscall LM_SERVICE::IsStopping(long *)
+?IsStopping@LM_SERVICE@@QAEHPAJ@Z
+; protected: int __thiscall LM_OBJ::IsUnconstructed(void)const 
+?IsUnconstructed@LM_OBJ@@IBEHXZ
+; private: int __thiscall LM_OBJ_BASE::IsUnconstructed(void)const 
+?IsUnconstructed@LM_OBJ_BASE@@ABEHXZ
+; protected: int __thiscall LM_OBJ::IsValid(void)const 
+?IsValid@LM_OBJ@@IBEHXZ
+; private: int __thiscall LM_OBJ_BASE::IsValid(void)const 
+?IsValid@LM_OBJ_BASE@@ABEHXZ
+; public: int __thiscall OS_ACL::IsValid(void)const 
+?IsValid@OS_ACL@@QBEHXZ
+; public: int __thiscall OS_SECURITY_DESCRIPTOR::IsValid(void)const 
+?IsValid@OS_SECURITY_DESCRIPTOR@@QBEHXZ
+; public: int __thiscall OS_SID::IsValid(void)const 
+?IsValid@OS_SID@@QBEHXZ
+; public: static int __stdcall DOMAIN::IsValidDC(unsigned short const *,unsigned short const *)
+?IsValidDC@DOMAIN@@SGHPBG0@Z
+; public: int __thiscall LM_OBJ_BASE::IsValidationOn(void)
+?IsValidationOn@LM_OBJ_BASE@@QAEHXZ
+; int __stdcall IsWhiteSpace(unsigned short)
+?IsWhiteSpace@@YGHG@Z
+; public: long __thiscall LSA_POLICY::JoinDomain(class NLS_STR const &,class NLS_STR const &,int,class NLS_STR const *,unsigned short const *)
+?JoinDomain@LSA_POLICY@@QAEJABVNLS_STR@@0HPBV2@PBG@Z
+; int __stdcall LMOTypeToNetType(enum LMO_DEVICE)
+?LMOTypeToNetType@@YGHW4LMO_DEVICE@@@Z
+; private: static void __stdcall DOMAIN_WITH_DC_CACHE::LeaveCriticalSection(void)
+?LeaveCriticalSection@DOMAIN_WITH_DC_CACHE@@CGXXZ
+; public: long __thiscall LSA_POLICY::LeaveDomain(void)
+?LeaveDomain@LSA_POLICY@@QAEJXZ
+; public: long __thiscall SC_MANAGER::Lock(void)
+?Lock@SC_MANAGER@@QAEJXZ
+; long __stdcall LsaxGetComputerName(class NLS_STR *)
+?LsaxGetComputerName@@YGJPAVNLS_STR@@@Z
+; protected: void __thiscall LM_OBJ::MakeConstructed(void)
+?MakeConstructed@LM_OBJ@@IAEXXZ
+; private: void __thiscall LM_OBJ_BASE::MakeConstructed(void)
+?MakeConstructed@LM_OBJ_BASE@@AAEXXZ
+; protected: void __thiscall LM_OBJ::MakeInvalid(void)
+?MakeInvalid@LM_OBJ@@IAEXXZ
+; private: void __thiscall LM_OBJ_BASE::MakeInvalid(void)
+?MakeInvalid@LM_OBJ_BASE@@AAEXXZ
+; private: void __thiscall NEW_LM_OBJ::MakeNew(void)
+?MakeNew@NEW_LM_OBJ@@AAEXXZ
+; unsigned long __stdcall MakeNullNull(unsigned short const *,unsigned short * *)
+?MakeNullNull@@YGKPBGPAPAG@Z
+; private: static long __stdcall LSA_POLICY::MakeSecretName(class NLS_STR const &,int,class NLS_STR *)
+?MakeSecretName@LSA_POLICY@@CGJABVNLS_STR@@HPAV2@@Z
+; protected: void __thiscall LM_OBJ::MakeUnconstructed(void)
+?MakeUnconstructed@LM_OBJ@@IAEXXZ
+; private: void __thiscall LM_OBJ_BASE::MakeUnconstructed(void)
+?MakeUnconstructed@LM_OBJ_BASE@@AAEXXZ
+; protected: void __thiscall LM_OBJ::MakeValid(void)
+?MakeValid@LM_OBJ@@IAEXXZ
+; private: void __thiscall LM_OBJ_BASE::MakeValid(void)
+?MakeValid@LM_OBJ_BASE@@AAEXXZ
+; private: void __thiscall TRIPLE_SERVER_ENUM::MapBrowserToTriple(struct _SERVER_INFO_101 const *,struct _TRIPLE_SERVER_INFO *)
+?MapBrowserToTriple@TRIPLE_SERVER_ENUM@@AAEXPBU_SERVER_INFO_101@@PAU_TRIPLE_SERVER_INFO@@@Z
+; unsigned long __stdcall MapComm(unsigned short const *)
+?MapComm@@YGKPBG@Z
+; unsigned long __stdcall MapDrive(unsigned short const *)
+?MapDrive@@YGKPBG@Z
+; public: int __thiscall OS_ACL_SUBJECT_ITER::MapGenericAllOnly(void)const 
+?MapGenericAllOnly@OS_ACL_SUBJECT_ITER@@QBEHXZ
+; private: void __thiscall TRIPLE_SERVER_ENUM::MapKnownToTriple(struct _KNOWN_SERVER_INFO const *,struct _TRIPLE_SERVER_INFO *)
+?MapKnownToTriple@TRIPLE_SERVER_ENUM@@AAEXPBU_KNOWN_SERVER_INFO@@PAU_TRIPLE_SERVER_INFO@@@Z
+; unsigned long __stdcall MapLPT(unsigned short const *)
+?MapLPT@@YGKPBG@Z
+; private: void __thiscall SERVICE_ENUM::MapLmStatusToNtState(unsigned long,unsigned long *,unsigned long *)
+?MapLmStatusToNtState@SERVICE_ENUM@@AAEXKPAK0@Z
+; private: void __thiscall TRIPLE_SERVER_ENUM::MapLmToKnown(struct _USER_INFO_0 const *,struct _KNOWN_SERVER_INFO *)
+?MapLmToKnown@TRIPLE_SERVER_ENUM@@AAEXPBU_USER_INFO_0@@PAU_KNOWN_SERVER_INFO@@@Z
+; private: void __thiscall TRIPLE_SERVER_ENUM::MapNtToKnown(struct _DOMAIN_DISPLAY_MACHINE const *,struct _KNOWN_SERVER_INFO *)
+?MapNtToKnown@TRIPLE_SERVER_ENUM@@AAEXPBU_DOMAIN_DISPLAY_MACHINE@@PAU_KNOWN_SERVER_INFO@@@Z
+; public: long __thiscall OS_ACL_SUBJECT_ITER::MapSpecificToGeneric(unsigned long *,int)
+?MapSpecificToGeneric@OS_ACL_SUBJECT_ITER@@QAEJPAKH@Z
+; private: enum _SERVER_ROLE  __thiscall TRIPLE_SERVER_ENUM::MapTypeMaskToRole(unsigned long)const 
+?MapTypeMaskToRole@TRIPLE_SERVER_ENUM@@ABE?AW4_SERVER_ROLE@@K@Z
+; private: enum _SERVER_TYPE  __thiscall TRIPLE_SERVER_ENUM::MapTypeMaskToType(unsigned long)const 
+?MapTypeMaskToType@TRIPLE_SERVER_ENUM@@ABE?AW4_SERVER_TYPE@@K@Z
+; enum LMO_DEVICE  __stdcall NetTypeToLMOType(unsigned long)
+?NetTypeToLMOType@@YG?AW4LMO_DEVICE@@K@Z
+; public: class ALIAS_ENUM_OBJ const * __thiscall ALIAS_ENUM_ITER::Next(long *,int)
+?Next@ALIAS_ENUM_ITER@@QAEPBVALIAS_ENUM_OBJ@@PAJH@Z
+; public: class BROWSE_DOMAIN_INFO const * __thiscall BROWSE_DOMAIN_ENUM::Next(void)
+?Next@BROWSE_DOMAIN_ENUM@@QAEPBVBROWSE_DOMAIN_INFO@@XZ
+; public: class FILE2_ENUM_OBJ const * __thiscall FILE2_ENUM_ITER::Next(long *,int)
+?Next@FILE2_ENUM_ITER@@QAEPBVFILE2_ENUM_OBJ@@PAJH@Z
+; public: class FILE3_ENUM_OBJ const * __thiscall FILE3_ENUM_ITER::Next(long *,int)
+?Next@FILE3_ENUM_ITER@@QAEPBVFILE3_ENUM_OBJ@@PAJH@Z
+; public: unsigned short const * __thiscall ITER_DEVICE::Next(void)
+?Next@ITER_DEVICE@@QAEPBGXZ
+; public: class BROWSE_DOMAIN_INFO * __thiscall ITER_SL_BROWSE_DOMAIN_INFO::Next(void)
+?Next@ITER_SL_BROWSE_DOMAIN_INFO@@QAEPAVBROWSE_DOMAIN_INFO@@XZ
+; public: class LM_RESUME_BUFFER * __thiscall ITER_SL_LM_RESUME_BUFFER::Next(void)
+?Next@ITER_SL_LM_RESUME_BUFFER@@QAEPAVLM_RESUME_BUFFER@@XZ
+; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::Next(void)
+?Next@ITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
+; public: class LSA_ACCOUNTS_ENUM_OBJ const * __thiscall LSA_ACCOUNTS_ENUM_ITER::Next(long *,int)
+?Next@LSA_ACCOUNTS_ENUM_ITER@@QAEPBVLSA_ACCOUNTS_ENUM_OBJ@@PAJH@Z
+; public: class LSA_PRIVILEGES_ENUM_OBJ const * __thiscall LSA_PRIVILEGES_ENUM_ITER::Next(long *,int)
+?Next@LSA_PRIVILEGES_ENUM_ITER@@QAEPBVLSA_PRIVILEGES_ENUM_OBJ@@PAJH@Z
+; public: class NT_GROUP_ENUM_OBJ const * __thiscall NT_GROUP_ENUM_ITER::Next(long *,int)
+?Next@NT_GROUP_ENUM_ITER@@QAEPBVNT_GROUP_ENUM_OBJ@@PAJH@Z
+; public: class NT_MACHINE_ENUM_OBJ const * __thiscall NT_MACHINE_ENUM_ITER::Next(long *,int)
+?Next@NT_MACHINE_ENUM_ITER@@QAEPBVNT_MACHINE_ENUM_OBJ@@PAJH@Z
+; public: class NT_USER_ENUM_OBJ const * __thiscall NT_USER_ENUM_ITER::Next(long *,int)
+?Next@NT_USER_ENUM_ITER@@QAEPBVNT_USER_ENUM_OBJ@@PAJH@Z
+; public: virtual int __thiscall OS_DACL_SUBJECT_ITER::Next(long *)
+?Next@OS_DACL_SUBJECT_ITER@@UAEHPAJ@Z
+; public: virtual int __thiscall OS_SACL_SUBJECT_ITER::Next(long *)
+?Next@OS_SACL_SUBJECT_ITER@@UAEHPAJ@Z
+; public: class SAM_USER_ENUM_OBJ const * __thiscall SAM_USER_ENUM_ITER::Next(long *,int)
+?Next@SAM_USER_ENUM_ITER@@QAEPBVSAM_USER_ENUM_OBJ@@PAJH@Z
+; public: class TRUSTED_DOMAIN_ENUM_OBJ const * __thiscall TRUSTED_DOMAIN_ENUM_ITER::Next(long *,int)
+?Next@TRUSTED_DOMAIN_ENUM_ITER@@QAEPBVTRUSTED_DOMAIN_ENUM_OBJ@@PAJH@Z
+; public: class USER0_ENUM_OBJ const * __thiscall USER0_ENUM_ITER::Next(long *,int)
+?Next@USER0_ENUM_ITER@@QAEPBVUSER0_ENUM_OBJ@@PAJH@Z
+; public: class USER10_ENUM_OBJ const * __thiscall USER10_ENUM_ITER::Next(long *,int)
+?Next@USER10_ENUM_ITER@@QAEPBVUSER10_ENUM_OBJ@@PAJH@Z
+; public: class USER1_ENUM_OBJ const * __thiscall USER1_ENUM_ITER::Next(long *,int)
+?Next@USER1_ENUM_ITER@@QAEPBVUSER1_ENUM_OBJ@@PAJH@Z
+; public: class USER2_ENUM_OBJ const * __thiscall USER2_ENUM_ITER::Next(long *,int)
+?Next@USER2_ENUM_ITER@@QAEPBVUSER2_ENUM_OBJ@@PAJH@Z
+; protected: long __thiscall LM_RESUME_ENUM_ITER::NextGetInfo(void)
+?NextGetInfo@LM_RESUME_ENUM_ITER@@IAEJXZ
+; protected: void __thiscall LM_RESUME_ENUM::NukeBuffers(void)
+?NukeBuffers@LM_RESUME_ENUM@@IAEXXZ
+; public: static long __stdcall LM_SRVRES::NukeUsersSession(unsigned short const *,unsigned short const *,unsigned short const *)
+?NukeUsersSession@LM_SRVRES@@SGJPBG00@Z
+; public: long __thiscall LSA_POLICY::Open(unsigned short const *,unsigned long)
+?Open@LSA_POLICY@@QAEJPBGK@Z
+; public: long __thiscall LSA_SECRET::Open(class LSA_POLICY const &,unsigned long)
+?Open@LSA_SECRET@@QAEJABVLSA_POLICY@@K@Z
+; private: long __thiscall SAM_DOMAIN::OpenDomain(class SAM_SERVER const &,void *,unsigned long)
+?OpenDomain@SAM_DOMAIN@@AAEJABVSAM_SERVER@@PAXK@Z
+; public: long __thiscall LM_SERVICE::Pause(unsigned int,unsigned int)
+?Pause@LM_SERVICE@@QAEJII@Z
+; public: long __thiscall LM_SERVICE::Poll(int *)
+?Poll@LM_SERVICE@@QAEJPAH@Z
+; protected: void __thiscall LSA_ACCOUNT::PrintInfo(unsigned short const *)
+?PrintInfo@LSA_ACCOUNT@@IAEXPBG@Z
+; public: struct _ACCESS_LIST * __thiscall NET_ACCESS_1::QueryACE(unsigned int)const 
+?QueryACE@NET_ACCESS_1@@QBEPAU_ACCESS_LIST@@I@Z
+; public: void * __thiscall OS_ACE::QueryACE(void)const 
+?QueryACE@OS_ACE@@QBEPAXXZ
+; public: long __thiscall OS_ACL::QueryACE(unsigned long,class OS_ACE *)const 
+?QueryACE@OS_ACL@@QBEJKPAVOS_ACE@@@Z
+; public: unsigned int __thiscall NET_ACCESS_1::QueryACECount(void)const 
+?QueryACECount@NET_ACCESS_1@@QBEIXZ
+; public: long __thiscall OS_ACL::QueryACECount(unsigned long *)const 
+?QueryACECount@OS_ACL@@QBEJPAK@Z
+; protected: class OS_ACL const * __thiscall OS_ACL_SUBJECT_ITER::QueryACL(void)const 
+?QueryACL@OS_ACL_SUBJECT_ITER@@IBEPBVOS_ACL@@XZ
+; public: unsigned long __thiscall ADMIN_AUTHORITY::QueryAccessAccountDomain(void)const 
+?QueryAccessAccountDomain@ADMIN_AUTHORITY@@QBEKXZ
+; public: unsigned long __thiscall ADMIN_AUTHORITY::QueryAccessBuiltinDomain(void)const 
+?QueryAccessBuiltinDomain@ADMIN_AUTHORITY@@QBEKXZ
+; public: unsigned long __thiscall ADMIN_AUTHORITY::QueryAccessLSAPolicy(void)const 
+?QueryAccessLSAPolicy@ADMIN_AUTHORITY@@QBEKXZ
+; public: unsigned long __thiscall OS_ACE::QueryAccessMask(void)const 
+?QueryAccessMask@OS_ACE@@QBEKXZ
+; public: unsigned long __thiscall OS_DACL_SUBJECT_ITER::QueryAccessMask(void)const 
+?QueryAccessMask@OS_DACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned long __thiscall ADMIN_AUTHORITY::QueryAccessSamServer(void)const 
+?QueryAccessSamServer@ADMIN_AUTHORITY@@QBEKXZ
+; public: unsigned int __thiscall NT_MACHINE_ENUM_OBJ::QueryAccountCtrl(void)const 
+?QueryAccountCtrl@NT_MACHINE_ENUM_OBJ@@QBEIXZ
+; public: int __thiscall USER_2::QueryAccountDisabled(void)const 
+?QueryAccountDisabled@USER_2@@QBEHXZ
+; public: class SAM_DOMAIN * __thiscall ADMIN_AUTHORITY::QueryAccountDomain(void)const 
+?QueryAccountDomain@ADMIN_AUTHORITY@@QBEPAVSAM_DOMAIN@@XZ
+; public: long __thiscall USER_2::QueryAccountExpires(void)const 
+?QueryAccountExpires@USER_2@@QBEJXZ
+; public: enum _ACCOUNT_TYPE  __thiscall USER_3::QueryAccountType(void)const 
+?QueryAccountType@USER_3@@QBE?AW4_ACCOUNT_TYPE@@XZ
+; public: unsigned char __thiscall OS_ACE::QueryAceFlags(void)const 
+?QueryAceFlags@OS_ACE@@QBEEXZ
+; public: struct _ACL * __thiscall OS_ACL::QueryAcl(void)const 
+?QueryAcl@OS_ACL@@QBEPAU_ACL@@XZ
+; protected: unsigned int __thiscall OS_OBJECT_WITH_DATA::QueryAllocSize(void)const 
+?QueryAllocSize@OS_OBJECT_WITH_DATA@@IBEIXZ
+; public: unsigned short const * __thiscall DOMAIN::QueryAnyDC(void)const 
+?QueryAnyDC@DOMAIN@@QBEPBGXZ
+; public: unsigned short const * __thiscall MEMBERSHIP_LM_OBJ::QueryAssocName(unsigned int)const 
+?QueryAssocName@MEMBERSHIP_LM_OBJ@@QBEPBGI@Z
+; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_F(void)const 
+?QueryAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryAuditAccessMask_S(void)const 
+?QueryAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QBEKXZ
+; public: virtual unsigned long __thiscall LOCAL_USER::QueryAuthFlags(void)const 
+?QueryAuthFlags@LOCAL_USER@@UBEKXZ
+; public: virtual unsigned long __thiscall USER_11::QueryAuthFlags(void)const 
+?QueryAuthFlags@USER_11@@UBEKXZ
+; protected: unsigned char * __thiscall LM_ENUM_ITER::QueryBasePtr(void)const 
+?QueryBasePtr@LM_ENUM_ITER@@IBEPAEXZ
+; protected: unsigned char const * __thiscall LM_RESUME_ENUM_ITER::QueryBasePtr(void)const 
+?QueryBasePtr@LM_RESUME_ENUM_ITER@@IBEPBEXZ
+; protected: unsigned char * __thiscall DEVICE::QueryBufPtr(void)
+?QueryBufPtr@DEVICE@@IAEPAEXZ
+; protected: void * __thiscall NT_MEMORY::QueryBuffer(void)const 
+?QueryBuffer@NT_MEMORY@@IBEPAXXZ
+; public: class BUFFER const & __thiscall SERVICE_CONTROL::QueryBuffer(void)const 
+?QueryBuffer@SERVICE_CONTROL@@QBEABVBUFFER@@XZ
+; public: struct _SAM_RID_ENUMERATION const * __thiscall ALIAS_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@ALIAS_ENUM_OBJ@@QBEPBU_SAM_RID_ENUMERATION@@XZ
+; public: struct _SERVER_INFO_100 const * __thiscall DOMAIN0_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@DOMAIN0_ENUM_OBJ@@QBEPBU_SERVER_INFO_100@@XZ
+; protected: unsigned char const * __thiscall ENUM_OBJ_BASE::QueryBufferPtr(void)const 
+?QueryBufferPtr@ENUM_OBJ_BASE@@IBEPBEXZ
+; public: struct _FILE_INFO_3 const * __thiscall FILE3_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@FILE3_ENUM_OBJ@@QBEPBU_FILE_INFO_3@@XZ
+; public: struct _GROUP_INFO_0 const * __thiscall GROUP0_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@GROUP0_ENUM_OBJ@@QBEPBU_GROUP_INFO_0@@XZ
+; public: unsigned char const * __thiscall LM_RESUME_BUFFER::QueryBufferPtr(void)const 
+?QueryBufferPtr@LM_RESUME_BUFFER@@QBEPBEXZ
+; public: struct _POLICY_PRIVILEGE_DEFINITION const * __thiscall LSA_PRIVILEGES_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QBEPBU_POLICY_PRIVILEGE_DEFINITION@@XZ
+; protected: unsigned char * __thiscall NEW_LM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@NEW_LM_OBJ@@IBEPAEXZ
+; public: struct _DOMAIN_DISPLAY_MACHINE const * __thiscall NT_MACHINE_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@NT_MACHINE_ENUM_OBJ@@QBEPBU_DOMAIN_DISPLAY_MACHINE@@XZ
+; public: struct _SAM_RID_ENUMERATION const * __thiscall SAM_USER_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@SAM_USER_ENUM_OBJ@@QBEPBU_SAM_RID_ENUMERATION@@XZ
+; public: struct _SERVER_INFO_101 const * __thiscall SERVER1_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@SERVER1_ENUM_OBJ@@QBEPBU_SERVER_INFO_101@@XZ
+; public: struct _USER_INFO_0 const * __thiscall USER0_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@USER0_ENUM_OBJ@@QBEPBU_USER_INFO_0@@XZ
+; protected: unsigned int __thiscall NEW_LM_OBJ::QueryBufferSize(void)const 
+?QueryBufferSize@NEW_LM_OBJ@@IBEIXZ
+; public: class SAM_DOMAIN * __thiscall ADMIN_AUTHORITY::QueryBuiltinDomain(void)const 
+?QueryBuiltinDomain@ADMIN_AUTHORITY@@QBEPAVSAM_DOMAIN@@XZ
+; public: long __thiscall OS_ACL::QueryBytesInUse(unsigned long *)const 
+?QueryBytesInUse@OS_ACL@@QBEJPAK@Z
+; public: unsigned short const * __thiscall LM_SESSION_2::QueryClientType(void)const 
+?QueryClientType@LM_SESSION_2@@QBEPBGXZ
+; public: unsigned short const * __thiscall GROUP_1::QueryComment(void)const 
+?QueryComment@GROUP_1@@QBEPBGXZ
+; public: unsigned short const * __thiscall SERVER1_ENUM_OBJ::QueryComment(void)const 
+?QueryComment@SERVER1_ENUM_OBJ@@QBEPBGXZ
+; public: unsigned short const * __thiscall SERVER_1::QueryComment(void)const 
+?QueryComment@SERVER_1@@QBEPBGXZ
+; public: unsigned short const * __thiscall SHARE_1::QueryComment(void)const 
+?QueryComment@SHARE_1@@QBEPBGXZ
+; public: unsigned short const * __thiscall USER_11::QueryComment(void)const 
+?QueryComment@USER_11@@QBEPBGXZ
+; public: long __thiscall NET_NAME::QueryComputerName(class NLS_STR *)
+?QueryComputerName@NET_NAME@@QAEJPAVNLS_STR@@@Z
+; public: long __thiscall SC_SERVICE::QueryConfig(struct _QUERY_SERVICE_CONFIGW * *)
+?QueryConfig@SC_SERVICE@@QAEJPAPAU_QUERY_SERVICE_CONFIGW@@@Z
+; public: class OS_SECURITY_DESCRIPTOR_CONTROL const * __thiscall OS_SECURITY_DESCRIPTOR::QueryControl(void)const 
+?QueryControl@OS_SECURITY_DESCRIPTOR@@QBEPBVOS_SECURITY_DESCRIPTOR_CONTROL@@XZ
+; public: struct _TRUSTED_CONTROLLERS_INFO const & __thiscall LSA_TRUSTED_DC_LIST::QueryControllerList(void)const 
+?QueryControllerList@LSA_TRUSTED_DC_LIST@@QBEABU_TRUSTED_CONTROLLERS_INFO@@XZ
+; public: long __thiscall LSA_TRUSTED_DOMAIN::QueryControllerList(class LSA_REF_DOMAIN_MEM *)const 
+?QueryControllerList@LSA_TRUSTED_DOMAIN@@QBEJPAVLSA_REF_DOMAIN_MEM@@@Z
+; public: unsigned int __thiscall ENUM_CALLER::QueryCount(void)const 
+?QueryCount@ENUM_CALLER@@QBEIXZ
+; protected: unsigned int __thiscall LM_ENUM_ITER::QueryCount(void)const 
+?QueryCount@LM_ENUM_ITER@@IBEIXZ
+; protected: unsigned int __thiscall LM_RESUME_ENUM_ITER::QueryCount(void)const 
+?QueryCount@LM_RESUME_ENUM_ITER@@IBEIXZ
+; public: int __thiscall LSA_TRUSTED_DC_LIST::QueryCount(void)
+?QueryCount@LSA_TRUSTED_DC_LIST@@QAEHXZ
+; public: unsigned long __thiscall NT_MEMORY::QueryCount(void)const 
+?QueryCount@NT_MEMORY@@QBEKXZ
+; protected: static long __stdcall NT_ACCOUNT_ENUM::QueryCountPreferences2(unsigned long *,unsigned long *,unsigned int,unsigned long,unsigned long,unsigned long)
+?QueryCountPreferences2@NT_ACCOUNT_ENUM@@KGJPAK0IKKK@Z
+; protected: virtual long __thiscall NT_ACCOUNT_ENUM::QueryCountPreferences(unsigned long *,unsigned long *,unsigned int,unsigned long,unsigned long,unsigned long)
+?QueryCountPreferences@NT_ACCOUNT_ENUM@@MAEJPAK0IKKK@Z
+; protected: unsigned long __thiscall OS_ACL_SUBJECT_ITER::QueryCurrentACE(void)const 
+?QueryCurrentACE@OS_ACL_SUBJECT_ITER@@IBEKXZ
+; public: long __thiscall LSA_POLICY::QueryCurrentUser(class NLS_STR *)const 
+?QueryCurrentUser@LSA_POLICY@@QBEJPAVNLS_STR@@@Z
+; public: unsigned int __thiscall SHARE_2::QueryCurrentUses(void)const 
+?QueryCurrentUses@SHARE_2@@QBEIXZ
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::QueryDACL(int *,class OS_ACL * *,int *)const 
+?QueryDACL@OS_SECURITY_DESCRIPTOR@@QBEJPAHPAPAVOS_ACL@@0@Z
+; public: long __thiscall LSA_DOMAIN_INFO::QueryDcName(class NLS_STR *)
+?QueryDcName@LSA_DOMAIN_INFO@@QAEJPAVNLS_STR@@@Z
+; protected: enum LMO_DEVICE  __thiscall DEVICE::QueryDevType(void)const 
+?QueryDevType@DEVICE@@IBE?AW4LMO_DEVICE@@XZ
+; public: long __thiscall LOCATION::QueryDisplayName(class NLS_STR *)const 
+?QueryDisplayName@LOCATION@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall LSA_PRIVILEGES_ENUM_OBJ::QueryDisplayName(class NLS_STR *,class LSA_POLICY const *)const 
+?QueryDisplayName@LSA_PRIVILEGES_ENUM_OBJ@@QBEJPAVNLS_STR@@PBVLSA_POLICY@@@Z
+; public: unsigned short const * __thiscall LOCATION::QueryDomain(void)const 
+?QueryDomain@LOCATION@@QBEPBGXZ
+; public: long __thiscall LSA_TRANSLATED_NAME_MEM::QueryDomainIndex(unsigned long)const 
+?QueryDomainIndex@LSA_TRANSLATED_NAME_MEM@@QBEJK@Z
+; public: unsigned short const * __thiscall BROWSE_DOMAIN_INFO::QueryDomainName(void)const 
+?QueryDomainName@BROWSE_DOMAIN_INFO@@QBEPBGXZ
+; public: unsigned long __thiscall BROWSE_DOMAIN_INFO::QueryDomainSources(void)const 
+?QueryDomainSources@BROWSE_DOMAIN_INFO@@QBEKXZ
+; public: long __thiscall NET_NAME::QueryDrive(class NLS_STR *)
+?QueryDrive@NET_NAME@@QAEJPAVNLS_STR@@@Z
+; public: unsigned long __thiscall USER_MODALS_3::QueryDuration(void)const 
+?QueryDuration@USER_MODALS_3@@QBEKXZ
+; public: long __thiscall BASE::QueryError(void)const 
+?QueryError@BASE@@QBEJXZ
+; public: long __thiscall LM_SERVICE::QueryExitCode(void)const 
+?QueryExitCode@LM_SERVICE@@QBEJXZ
+; public: long __thiscall NET_ACCESS_1::QueryFailingName(class NLS_STR *,enum PERMNAME_TYPE *)const 
+?QueryFailingName@NET_ACCESS_1@@QBEJPAVNLS_STR@@PAW4PERMNAME_TYPE@@@Z
+; public: int __thiscall LSA_TRANSLATED_SID_MEM::QueryFailingNameIndex(unsigned long *)
+?QueryFailingNameIndex@LSA_TRANSLATED_SID_MEM@@QAEHPAK@Z
+; public: unsigned long __thiscall LM_FILE::QueryFileId(void)const 
+?QueryFileId@LM_FILE@@QBEKXZ
+; public: unsigned long __thiscall USER_MODALS::QueryForceLogoff(void)const 
+?QueryForceLogoff@USER_MODALS@@QBEKXZ
+; public: unsigned short const * __thiscall USER_11::QueryFullName(void)const 
+?QueryFullName@USER_11@@QBEPBGXZ
+; public: long __thiscall LM_SERVICE::QueryFullStatus(enum LM_SERVICE_STATUS *,struct LM_SERVICE_OTHER_STATUS *)
+?QueryFullStatus@LM_SERVICE@@QAEJPAW4LM_SERVICE_STATUS@@PAULM_SERVICE_OTHER_STATUS@@@Z
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::QueryGroup(int *,class OS_SID * *,int *)const 
+?QueryGroup@OS_SECURITY_DESCRIPTOR@@QBEJPAHPAPAVOS_SID@@0@Z
+; public: void * __thiscall LSA_OBJECT::QueryHandle(void)const 
+?QueryHandle@LSA_OBJECT@@QBEPAXXZ
+; public: void * __thiscall SAM_OBJECT::QueryHandle(void)const 
+?QueryHandle@SAM_OBJECT@@QBEPAXXZ
+; public: struct SC_HANDLE__ * __thiscall SERVICE_CONTROL::QueryHandle(void)const 
+?QueryHandle@SERVICE_CONTROL@@QBEPAUSC_HANDLE__@@XZ
+; public: unsigned short const * __thiscall USER_11::QueryHomeDir(void)const 
+?QueryHomeDir@USER_11@@QBEPBGXZ
+; public: unsigned short const * __thiscall USER_3::QueryHomedirDrive(void)const 
+?QueryHomedirDrive@USER_3@@QBEPBGXZ
+; public: unsigned char * __thiscall LOGON_HOURS_SETTING::QueryHoursBlock(void)const 
+?QueryHoursBlock@LOGON_HOURS_SETTING@@QBEPAEXZ
+; public: unsigned long __thiscall LM_SESSION_10::QueryIdleTime(void)const 
+?QueryIdleTime@LM_SESSION_10@@QBEKXZ
+; public: long __thiscall LSA_SECRET::QueryInfo(class NLS_STR *,class NLS_STR *,union _LARGE_INTEGER *,union _LARGE_INTEGER *)const 
+?QueryInfo@LSA_SECRET@@QBEJPAVNLS_STR@@0PAT_LARGE_INTEGER@@1@Z
+; private: long __thiscall LSA_TRUSTED_DC_LIST::QueryInfo(class NLS_STR const &,unsigned short const *)
+?QueryInfo@LSA_TRUSTED_DC_LIST@@AAEJABVNLS_STR@@PBG@Z
+; public: unsigned int __thiscall LM_ENUM::QueryInfoLevel(void)const 
+?QueryInfoLevel@LM_ENUM@@QBEIXZ
+; public: unsigned int __thiscall LM_RESUME_ENUM::QueryInfoLevel(void)const 
+?QueryInfoLevel@LM_RESUME_ENUM@@QBEIXZ
+; public: unsigned long __thiscall OS_DACL_SUBJECT_ITER::QueryInheritOnlyAccessMask(void)const 
+?QueryInheritOnlyAccessMask@OS_DACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_F(void)const 
+?QueryInheritOnlyAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryInheritOnlyAuditAccessMask_S(void)const 
+?QueryInheritOnlyAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned int __thiscall LM_RESUME_BUFFER::QueryItemCount(void)const 
+?QueryItemCount@LM_RESUME_BUFFER@@QBEIXZ
+; protected: virtual unsigned int __thiscall MEMBERSHIP_LM_OBJ::QueryItemSize(void)const 
+?QueryItemSize@MEMBERSHIP_LM_OBJ@@MBEIXZ
+; public: unsigned short const * __thiscall WKSTA_1::QueryLMRoot(void)const 
+?QueryLMRoot@WKSTA_1@@QBEPBGXZ
+; public: class LSA_POLICY * __thiscall ADMIN_AUTHORITY::QueryLSAPolicy(void)const 
+?QueryLSAPolicy@ADMIN_AUTHORITY@@QBEPAVLSA_POLICY@@XZ
+; public: long __thiscall NET_NAME::QueryLastComponent(class NLS_STR *)
+?QueryLastComponent@NET_NAME@@QAEJPAVNLS_STR@@@Z
+; public: long __thiscall OS_SID::QueryLastSubAuthority(unsigned long * *)const 
+?QueryLastSubAuthority@OS_SID@@QBEJPAPAK@Z
+; public: unsigned long __thiscall OS_SID::QueryLength(void)const 
+?QueryLength@OS_SID@@QBEKXZ
+; public: long __thiscall NET_NAME::QueryLocalDrive(class NLS_STR *)
+?QueryLocalDrive@NET_NAME@@QAEJPAVNLS_STR@@@Z
+; public: long __thiscall NET_NAME::QueryLocalPath(class NLS_STR *)
+?QueryLocalPath@NET_NAME@@QAEJPAVNLS_STR@@@Z
+; public: long __thiscall SC_MANAGER::QueryLockStatus(struct _QUERY_SERVICE_LOCK_STATUSW * *)
+?QueryLockStatus@SC_MANAGER@@QAEJPAPAU_QUERY_SERVICE_LOCK_STATUSW@@@Z
+; public: int __thiscall USER_2::QueryLockout(void)const 
+?QueryLockout@USER_2@@QBEHXZ
+; public: unsigned short const * __thiscall WKSTA_10::QueryLogonDomain(void)const 
+?QueryLogonDomain@WKSTA_10@@QBEPBGXZ
+; public: unsigned short const * __thiscall WKSTA_USER_1::QueryLogonDomain(void)const 
+?QueryLogonDomain@WKSTA_USER_1@@QBEPBGXZ
+; public: class LOGON_HOURS_SETTING const & __thiscall USER_11::QueryLogonHours(void)const 
+?QueryLogonHours@USER_11@@QBEABVLOGON_HOURS_SETTING@@XZ
+; public: unsigned short const * __thiscall WKSTA_1::QueryLogonServer(void)const 
+?QueryLogonServer@WKSTA_1@@QBEPBGXZ
+; public: unsigned short const * __thiscall WKSTA_USER_1::QueryLogonServer(void)const 
+?QueryLogonServer@WKSTA_USER_1@@QBEPBGXZ
+; public: unsigned short const * __thiscall WKSTA_10::QueryLogonUser(void)const 
+?QueryLogonUser@WKSTA_10@@QBEPBGXZ
+; public: struct _LUID  __thiscall OS_LUID::QueryLuid(void)const 
+?QueryLuid@OS_LUID@@QBE?AU_LUID@@XZ
+; public: unsigned int __thiscall SERVER1_ENUM_OBJ::QueryMajorVer(void)const 
+?QueryMajorVer@SERVER1_ENUM_OBJ@@QBEIXZ
+; public: unsigned int __thiscall SERVER_1::QueryMajorVer(void)const 
+?QueryMajorVer@SERVER_1@@QBEIXZ
+; public: unsigned int __thiscall WKSTA_10::QueryMajorVer(void)const 
+?QueryMajorVer@WKSTA_10@@QBEIXZ
+; public: unsigned long __thiscall USER_MODALS::QueryMaxPasswdAge(void)const 
+?QueryMaxPasswdAge@USER_MODALS@@QBEKXZ
+; public: unsigned int __thiscall SERVER_2::QueryMaxUsers(void)const 
+?QueryMaxUsers@SERVER_2@@QBEIXZ
+; public: unsigned int __thiscall SHARE_2::QueryMaxUses(void)const 
+?QueryMaxUses@SHARE_2@@QBEIXZ
+; public: unsigned long __thiscall USER_MODALS::QueryMinPasswdAge(void)const 
+?QueryMinPasswdAge@USER_MODALS@@QBEKXZ
+; public: unsigned int __thiscall USER_MODALS::QueryMinPasswdLen(void)const 
+?QueryMinPasswdLen@USER_MODALS@@QBEIXZ
+; public: unsigned int __thiscall SERVER1_ENUM_OBJ::QueryMinorVer(void)const 
+?QueryMinorVer@SERVER1_ENUM_OBJ@@QBEIXZ
+; public: unsigned int __thiscall SERVER_1::QueryMinorVer(void)const 
+?QueryMinorVer@SERVER_1@@QBEIXZ
+; public: unsigned int __thiscall WKSTA_10::QueryMinorVer(void)const 
+?QueryMinorVer@WKSTA_10@@QBEIXZ
+; public: long __thiscall LOCATION::QueryNOSVersion(unsigned int *,unsigned int *)
+?QueryNOSVersion@LOCATION@@QAEJPAI0@Z
+; public: virtual unsigned short const * __thiscall COMPUTER::QueryName(void)const 
+?QueryName@COMPUTER@@UBEPBGXZ
+; public: virtual unsigned short const * __thiscall DEVICE::QueryName(void)const 
+?QueryName@DEVICE@@UBEPBGXZ
+; public: unsigned short const * __thiscall DOMAIN0_ENUM_OBJ::QueryName(void)const 
+?QueryName@DOMAIN0_ENUM_OBJ@@QBEPBGXZ
+; public: virtual unsigned short const * __thiscall DOMAIN::QueryName(void)const 
+?QueryName@DOMAIN@@UBEPBGXZ
+; public: unsigned short const * __thiscall GROUP0_ENUM_OBJ::QueryName(void)const 
+?QueryName@GROUP0_ENUM_OBJ@@QBEPBGXZ
+; public: virtual unsigned short const * __thiscall GROUP::QueryName(void)const 
+?QueryName@GROUP@@UBEPBGXZ
+; public: virtual unsigned short const * __thiscall GROUP_MEMB::QueryName(void)const 
+?QueryName@GROUP_MEMB@@UBEPBGXZ
+; public: unsigned short const * __thiscall LM_SERVICE::QueryName(void)const 
+?QueryName@LM_SERVICE@@QBEPBGXZ
+; public: virtual unsigned short const * __thiscall LM_SESSION::QueryName(void)const 
+?QueryName@LM_SESSION@@UBEPBGXZ
+; public: unsigned short const * __thiscall LOCATION::QueryName(void)const 
+?QueryName@LOCATION@@QBEPBGXZ
+; public: virtual unsigned short const * __thiscall LSA_ACCOUNT::QueryName(void)const 
+?QueryName@LSA_ACCOUNT@@UBEPBGXZ
+; public: long __thiscall LSA_ACCT_DOM_INFO_MEM::QueryName(class NLS_STR *)const 
+?QueryName@LSA_ACCT_DOM_INFO_MEM@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryName(class NLS_STR *)const 
+?QueryName@LSA_PRIMARY_DOM_INFO_MEM@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall LSA_REF_DOMAIN_MEM::QueryName(unsigned long,class NLS_STR *)const 
+?QueryName@LSA_REF_DOMAIN_MEM@@QBEJKPAVNLS_STR@@@Z
+; public: long __thiscall LSA_TRANSLATED_NAME_MEM::QueryName(unsigned long,class NLS_STR *)const 
+?QueryName@LSA_TRANSLATED_NAME_MEM@@QBEJKPAVNLS_STR@@@Z
+; public: long __thiscall LSA_TRUST_INFO_MEM::QueryName(unsigned long,class NLS_STR *)const 
+?QueryName@LSA_TRUST_INFO_MEM@@QBEJKPAVNLS_STR@@@Z
+; public: virtual unsigned short const * __thiscall NET_ACCESS::QueryName(void)const 
+?QueryName@NET_ACCESS@@UBEPBGXZ
+; public: virtual unsigned short const * __thiscall NEW_LM_OBJ::QueryName(void)const 
+?QueryName@NEW_LM_OBJ@@UBEPBGXZ
+; public: long __thiscall OS_SID::QueryName(class NLS_STR *,unsigned short const *,void *)const 
+?QueryName@OS_SID@@QBEJPAVNLS_STR@@PBGPAX@Z
+; public: unsigned short const * __thiscall SERVER1_ENUM_OBJ::QueryName(void)const 
+?QueryName@SERVER1_ENUM_OBJ@@QBEPBGXZ
+; public: virtual unsigned short const * __thiscall SERVER_0::QueryName(void)const 
+?QueryName@SERVER_0@@UBEPBGXZ
+; public: virtual unsigned short const * __thiscall SHARE::QueryName(void)const 
+?QueryName@SHARE@@UBEPBGXZ
+; public: unsigned short const * __thiscall USER0_ENUM_OBJ::QueryName(void)const 
+?QueryName@USER0_ENUM_OBJ@@QBEPBGXZ
+; public: virtual unsigned short const * __thiscall USER::QueryName(void)const 
+?QueryName@USER@@UBEPBGXZ
+; public: virtual unsigned short const * __thiscall USER_MEMB::QueryName(void)const 
+?QueryName@USER_MEMB@@UBEPBGXZ
+; public: virtual unsigned short const * __thiscall USER_MODALS::QueryName(void)const 
+?QueryName@USER_MODALS@@UBEPBGXZ
+; public: virtual unsigned short const * __thiscall USER_MODALS_3::QueryName(void)const 
+?QueryName@USER_MODALS_3@@UBEPBGXZ
+; public: unsigned long __thiscall OS_DACL_SUBJECT_ITER::QueryNewContainerAccessMask(void)const 
+?QueryNewContainerAccessMask@OS_DACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_F(void)const 
+?QueryNewContainerAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryNewContainerAuditAccessMask_S(void)const 
+?QueryNewContainerAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned long __thiscall OS_DACL_SUBJECT_ITER::QueryNewObjectAccessMask(void)const 
+?QueryNewObjectAccessMask@OS_DACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_F(void)const 
+?QueryNewObjectAuditAccessMask_F@OS_SACL_SUBJECT_ITER@@QBEKXZ
+; public: unsigned long __thiscall OS_SACL_SUBJECT_ITER::QueryNewObjectAuditAccessMask_S(void)const 
+?QueryNewObjectAuditAccessMask_S@OS_SACL_SUBJECT_ITER@@QBEKXZ
+; public: int __thiscall SAM_PSWD_DOM_INFO_MEM::QueryNoAnonChange(void)
+?QueryNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QAEHXZ
+; public: int __thiscall USER_2::QueryNoPasswordExpire(void)const 
+?QueryNoPasswordExpire@USER_2@@QBEHXZ
+; public: unsigned int __thiscall LM_FILE_3::QueryNumLock(void)const 
+?QueryNumLock@LM_FILE_3@@QBEIXZ
+; public: unsigned long __thiscall FILE3_ENUM_OBJ::QueryNumLocks(void)const 
+?QueryNumLocks@FILE3_ENUM_OBJ@@QBEKXZ
+; public: unsigned int __thiscall LM_SESSION_1::QueryNumOpens(void)const 
+?QueryNumOpens@LM_SESSION_1@@QBEIXZ
+; public: unsigned long __thiscall OS_PRIVILEGE_SET::QueryNumberOfPrivileges(void)const 
+?QueryNumberOfPrivileges@OS_PRIVILEGE_SET@@QBEKXZ
+; public: unsigned long __thiscall USER_MODALS_3::QueryObservation(void)const 
+?QueryObservation@USER_MODALS_3@@QBEKXZ
+; public: class STRLIST * __thiscall WKSTA_10::QueryOtherDomains(void)const 
+?QueryOtherDomains@WKSTA_10@@QBEPAVSTRLIST@@XZ
+; public: unsigned short const * __thiscall WKSTA_USER_1::QueryOtherDomains(void)const 
+?QueryOtherDomains@WKSTA_USER_1@@QBEPBGXZ
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::QueryOwner(int *,class OS_SID * *,int *)const 
+?QueryOwner@OS_SECURITY_DESCRIPTOR@@QBEJPAHPAPAVOS_SID@@0@Z
+; public: unsigned short const * __thiscall DOMAIN::QueryPDC(void)const 
+?QueryPDC@DOMAIN@@QBEPBGXZ
+; public: void * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryPSID(void)const 
+?QueryPSID@LSA_ACCT_DOM_INFO_MEM@@QBEPAXXZ
+; public: void * __thiscall LSA_DOMAIN_INFO::QueryPSID(void)const 
+?QueryPSID@LSA_DOMAIN_INFO@@QBEQAXXZ
+; public: void * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryPSID(void)const 
+?QueryPSID@LSA_PRIMARY_DOM_INFO_MEM@@QBEPAXXZ
+; public: void * __thiscall LSA_REF_DOMAIN_MEM::QueryPSID(unsigned long)const 
+?QueryPSID@LSA_REF_DOMAIN_MEM@@QBEPAXK@Z
+; public: void * __thiscall LSA_TRUST_INFO_MEM::QueryPSID(unsigned long)const 
+?QueryPSID@LSA_TRUST_INFO_MEM@@QBEPAXK@Z
+; public: void * __thiscall OS_SID::QueryPSID(void)const 
+?QueryPSID@OS_SID@@QBEPAXXZ
+; public: void * __thiscall SAM_DOMAIN::QueryPSID(void)const 
+?QueryPSID@SAM_DOMAIN@@QBEPAXXZ
+; public: unsigned short const * __thiscall USER_11::QueryParms(void)const 
+?QueryParms@USER_11@@QBEPBGXZ
+; public: unsigned int __thiscall USER_MODALS::QueryPasswdHistLen(void)const 
+?QueryPasswdHistLen@USER_MODALS@@QBEIXZ
+; public: unsigned short const * __thiscall SHARE_2::QueryPassword(void)const 
+?QueryPassword@SHARE_2@@QBEPBGXZ
+; public: unsigned short const * __thiscall USER_2::QueryPassword(void)const 
+?QueryPassword@USER_2@@QBEPBGXZ
+; public: unsigned long __thiscall USER_3::QueryPasswordExpired(void)const 
+?QueryPasswordExpired@USER_3@@QBEKXZ
+; public: unsigned short const * __thiscall SHARE_2::QueryPath(void)const 
+?QueryPath@SHARE_2@@QBEPBGXZ
+; public: unsigned short const * __thiscall FILE3_ENUM_OBJ::QueryPathName(void)const 
+?QueryPathName@FILE3_ENUM_OBJ@@QBEPBGXZ
+; public: unsigned short const * __thiscall LM_FILE_3::QueryPathname(void)const 
+?QueryPathname@LM_FILE_3@@QBEPBGXZ
+; public: unsigned short const * __thiscall NLS_STR::QueryPch(void)const 
+?QueryPch@NLS_STR@@QBEPBGXZ
+; public: unsigned int __thiscall NET_ACCESS_1::QueryPerm(unsigned short const *,enum PERMNAME_TYPE)const 
+?QueryPerm@NET_ACCESS_1@@QBEIPBGW4PERMNAME_TYPE@@@Z
+; public: unsigned int __thiscall LM_FILE_3::QueryPermission(void)const 
+?QueryPermission@LM_FILE_3@@QBEIXZ
+; public: unsigned int __thiscall SHARE_2::QueryPermissions(void)const 
+?QueryPermissions@SHARE_2@@QBEIXZ
+; public: long __thiscall LSA_TRUSTED_DOMAIN::QueryPosixOffset(unsigned long *)const 
+?QueryPosixOffset@LSA_TRUSTED_DOMAIN@@QBEJPAK@Z
+; public: long __thiscall LSA_POLICY::QueryPrimaryBrowserGroup(class NLS_STR *)const 
+?QueryPrimaryBrowserGroup@LSA_POLICY@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall LSA_POLICY::QueryPrimaryDomainName(class NLS_STR *)const 
+?QueryPrimaryDomainName@LSA_POLICY@@QBEJPAVNLS_STR@@@Z
+; public: unsigned long __thiscall USER_3::QueryPrimaryGroupId(void)const 
+?QueryPrimaryGroupId@USER_3@@QBEKXZ
+; public: virtual unsigned int __thiscall LOCAL_USER::QueryPriv(void)const 
+?QueryPriv@LOCAL_USER@@UBEIXZ
+; public: virtual unsigned int __thiscall USER_11::QueryPriv(void)const 
+?QueryPriv@USER_11@@UBEIXZ
+; public: struct _PRIVILEGE_SET * __thiscall OS_PRIVILEGE_SET::QueryPrivSet(void)const 
+?QueryPrivSet@OS_PRIVILEGE_SET@@QBEPAU_PRIVILEGE_SET@@XZ
+; public: class OS_LUID_AND_ATTRIBUTES const * __thiscall OS_PRIVILEGE_SET::QueryPrivilege(long)
+?QueryPrivilege@OS_PRIVILEGE_SET@@QAEPBVOS_LUID_AND_ATTRIBUTES@@J@Z
+; public: long __thiscall LSA_ACCOUNT::QueryPrivilegeEnumIter(class LSA_ACCOUNT_PRIVILEGE_ENUM_ITER * *)
+?QueryPrivilegeEnumIter@LSA_ACCOUNT@@QAEJPAPAVLSA_ACCOUNT_PRIVILEGE_ENUM_ITER@@@Z
+; public: static long __stdcall LSA_POLICY::QueryProductType(enum LSPL_PROD_TYPE *)
+?QueryProductType@LSA_POLICY@@SGJPAW4LSPL_PROD_TYPE@@@Z
+; public: unsigned short const * __thiscall USER_3::QueryProfile(void)const 
+?QueryProfile@USER_3@@QBEPBGXZ
+; protected: unsigned char * __thiscall LM_ENUM::QueryPtr(void)const 
+?QueryPtr@LM_ENUM@@IBEPAEXZ
+; public: struct _POLICY_ACCOUNT_DOMAIN_INFO const * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_ACCT_DOM_INFO_MEM@@QBEPBU_POLICY_ACCOUNT_DOMAIN_INFO@@XZ
+; public: struct _POLICY_AUDIT_EVENTS_INFO * __thiscall LSA_AUDIT_EVENT_INFO_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_AUDIT_EVENT_INFO_MEM@@QBEPAU_POLICY_AUDIT_EVENTS_INFO@@XZ
+; public: struct _POLICY_PRIMARY_DOMAIN_INFO const * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_PRIMARY_DOM_INFO_MEM@@QBEPBU_POLICY_PRIMARY_DOMAIN_INFO@@XZ
+; private: struct _LSA_TRUST_INFORMATION const * __thiscall LSA_REF_DOMAIN_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_REF_DOMAIN_MEM@@ABEPBU_LSA_TRUST_INFORMATION@@XZ
+; public: struct _POLICY_LSA_SERVER_ROLE_INFO const * __thiscall LSA_SERVER_ROLE_INFO_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_SERVER_ROLE_INFO_MEM@@QBEPBU_POLICY_LSA_SERVER_ROLE_INFO@@XZ
+; private: struct _LSA_TRANSLATED_NAME const * __thiscall LSA_TRANSLATED_NAME_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_TRANSLATED_NAME_MEM@@ABEPBU_LSA_TRANSLATED_NAME@@XZ
+; private: struct _LSA_TRANSLATED_SID const * __thiscall LSA_TRANSLATED_SID_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_TRANSLATED_SID_MEM@@ABEPBU_LSA_TRANSLATED_SID@@XZ
+; public: struct _LSA_TRUST_INFORMATION const * __thiscall LSA_TRUST_INFO_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_TRUST_INFO_MEM@@QBEPBU_LSA_TRUST_INFORMATION@@XZ
+; protected: void * __thiscall OS_OBJECT_WITH_DATA::QueryPtr(void)const 
+?QueryPtr@OS_OBJECT_WITH_DATA@@IBEPAXXZ
+; public: struct _DOMAIN_PASSWORD_INFORMATION const * __thiscall SAM_PSWD_DOM_INFO_MEM::QueryPtr(void)const 
+?QueryPtr@SAM_PSWD_DOM_INFO_MEM@@QBEPBU_DOMAIN_PASSWORD_INFORMATION@@XZ
+; public: struct _SAM_RID_ENUMERATION const * __thiscall SAM_RID_ENUMERATION_MEM::QueryPtr(void)const 
+?QueryPtr@SAM_RID_ENUMERATION_MEM@@QBEPBU_SAM_RID_ENUMERATION@@XZ
+; public: unsigned long __thiscall SAM_ALIAS::QueryRID(void)
+?QueryRID@SAM_ALIAS@@QAEKXZ
+; public: long __thiscall OS_SID::QueryRawID(class NLS_STR *)const 
+?QueryRawID@OS_SID@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall NET_NAME::QueryRelativePath(class NLS_STR *)
+?QueryRelativePath@NET_NAME@@QAEJPAVNLS_STR@@@Z
+; public: unsigned short const * __thiscall DEVICE::QueryRemoteName(void)const 
+?QueryRemoteName@DEVICE@@QBEPBGXZ
+; public: unsigned int __thiscall DEVICE::QueryRemoteType(void)const 
+?QueryRemoteType@DEVICE@@QBEIXZ
+; private: unsigned int __thiscall NET_ACCESS_1::QueryRequiredSpace(unsigned int)const 
+?QueryRequiredSpace@NET_ACCESS_1@@ABEII@Z
+; public: unsigned int __thiscall SHARE_1::QueryResourceType(void)const 
+?QueryResourceType@SHARE_1@@QBEIXZ
+; public: static unsigned long __stdcall OS_ACE::QueryRevision(void)
+?QueryRevision@OS_ACE@@SGKXZ
+; public: unsigned long const  __thiscall ALIAS_ENUM_OBJ::QueryRid(void)const 
+?QueryRid@ALIAS_ENUM_OBJ@@QBE?BKXZ
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::QuerySACL(int *,class OS_ACL * *,int *)const 
+?QuerySACL@OS_SECURITY_DESCRIPTOR@@QBEJPAHPAPAVOS_ACL@@0@Z
+; public: long __thiscall OS_ACE::QuerySID(class OS_SID * *)const 
+?QuerySID@OS_ACE@@QBEJPAPAVOS_SID@@@Z
+; public: class OS_SID const * __thiscall OS_ACL_SUBJECT_ITER::QuerySID(void)const 
+?QuerySID@OS_ACL_SUBJECT_ITER@@QBEPBVOS_SID@@XZ
+; protected: void * __thiscall OS_ACE::QuerySIDMemory(void)const 
+?QuerySIDMemory@OS_ACE@@IBEPAXXZ
+; public: class SAM_SERVER * __thiscall ADMIN_AUTHORITY::QuerySamServer(void)const 
+?QuerySamServer@ADMIN_AUTHORITY@@QBEPAVSAM_SERVER@@XZ
+; public: unsigned short const * __thiscall USER_2::QueryScriptPath(void)const 
+?QueryScriptPath@USER_2@@QBEPBGXZ
+; public: long __thiscall SC_SERVICE::QuerySecurity(unsigned long,void * *)
+?QuerySecurity@SC_SERVICE@@QAEJKPAPAX@Z
+; public: unsigned int __thiscall SERVER_2::QuerySecurity(void)const 
+?QuerySecurity@SERVER_2@@QBEIXZ
+; public: unsigned short const * __thiscall DEVICE::QueryServer(void)const 
+?QueryServer@DEVICE@@QBEPBGXZ
+; public: unsigned short const * __thiscall LM_FILE::QueryServer(void)const 
+?QueryServer@LM_FILE@@QBEPBGXZ
+; public: unsigned short const * __thiscall LM_SESSION::QueryServer(void)const 
+?QueryServer@LM_SESSION@@QBEPBGXZ
+; public: unsigned short const * __thiscall LOCATION::QueryServer(void)const 
+?QueryServer@LOCATION@@QBEPBGXZ
+; public: unsigned short const * __thiscall LOC_LM_ENUM::QueryServer(void)const 
+?QueryServer@LOC_LM_ENUM@@QBEPBGXZ
+; protected: unsigned short const * __thiscall LOC_LM_OBJ::QueryServer(void)const 
+?QueryServer@LOC_LM_OBJ@@IBEPBGXZ
+; public: unsigned short const * __thiscall LOC_LM_RESUME_ENUM::QueryServer(void)const 
+?QueryServer@LOC_LM_RESUME_ENUM@@QBEPBGXZ
+; public: unsigned short const * __thiscall SHARE::QueryServer(void)const 
+?QueryServer@SHARE@@QBEPBGXZ
+; public: unsigned short const * __thiscall LM_SERVICE::QueryServerName(void)const 
+?QueryServerName@LM_SERVICE@@QBEPBGXZ
+; public: unsigned short const * __thiscall NET_ACCESS::QueryServerName(void)const 
+?QueryServerName@NET_ACCESS@@QBEPBGXZ
+; public: long __thiscall NET_NAME::QueryServerShare(class NLS_STR *)
+?QueryServerShare@NET_NAME@@QAEJPAVNLS_STR@@@Z
+; public: unsigned long __thiscall SERVER1_ENUM_OBJ::QueryServerType(void)const 
+?QueryServerType@SERVER1_ENUM_OBJ@@QBEKXZ
+; public: unsigned long __thiscall SERVER_1::QueryServerType(void)const 
+?QueryServerType@SERVER_1@@QBEKXZ
+; public: long __thiscall SC_MANAGER::QueryServiceDisplayName(unsigned short const *,class NLS_STR *)
+?QueryServiceDisplayName@SC_MANAGER@@QAEJPBGPAVNLS_STR@@@Z
+; public: long __thiscall SC_MANAGER::QueryServiceKeyName(unsigned short const *,class NLS_STR *)
+?QueryServiceKeyName@SC_MANAGER@@QAEJPBGPAVNLS_STR@@@Z
+; public: long __thiscall NET_NAME::QueryShare(class NLS_STR *)
+?QueryShare@NET_NAME@@QAEJPAVNLS_STR@@@Z
+; public: void * __thiscall OS_SID::QuerySid(void)const 
+?QuerySid@OS_SID@@QBEPAXXZ
+; public: unsigned short __thiscall OS_ACE::QuerySize(void)const 
+?QuerySize@OS_ACE@@QBEGXZ
+; public: long __thiscall OS_ACL::QuerySizeInformation(struct _ACL_SIZE_INFORMATION *)const 
+?QuerySizeInformation@OS_ACL@@QBEJPAU_ACL_SIZE_INFORMATION@@@Z
+; public: enum LMO_DEV_STATE  __thiscall DEVICE::QueryState(void)const 
+?QueryState@DEVICE@@QBE?AW4LMO_DEV_STATE@@XZ
+; public: unsigned int __thiscall DEVICE::QueryStatus(void)const 
+?QueryStatus@DEVICE@@QBEIXZ
+; public: enum LM_SERVICE_STATUS  __thiscall LM_SERVICE::QueryStatus(long *)
+?QueryStatus@LM_SERVICE@@QAE?AW4LM_SERVICE_STATUS@@PAJ@Z
+; public: long __thiscall SC_SERVICE::QueryStatus(struct _SERVICE_STATUS *)
+?QueryStatus@SC_SERVICE@@QAEJPAU_SERVICE_STATUS@@@Z
+; public: long __thiscall OS_SID::QuerySubAuthority(unsigned char,unsigned long * *)const 
+?QuerySubAuthority@OS_SID@@QBEJEPAPAK@Z
+; public: long __thiscall OS_SID::QuerySubAuthorityCount(unsigned char * *)const 
+?QuerySubAuthorityCount@OS_SID@@QBEJPAPAE@Z
+; public: static long __stdcall NT_ACCOUNTS_UTILITY::QuerySystemSid(enum UI_SystemSid,class OS_SID *,unsigned short const *)
+?QuerySystemSid@NT_ACCOUNTS_UTILITY@@SGJW4UI_SystemSid@@PAVOS_SID@@PBG@Z
+; public: unsigned int __thiscall NLS_STR::QueryTextLength(void)const 
+?QueryTextLength@NLS_STR@@QBEIXZ
+; public: unsigned long __thiscall USER_MODALS_3::QueryThreshold(void)const 
+?QueryThreshold@USER_MODALS_3@@QBEKXZ
+; public: unsigned long __thiscall LM_SESSION_10::QueryTime(void)const 
+?QueryTime@LM_SESSION_10@@QBEKXZ
+; protected: unsigned long __thiscall OS_ACL_SUBJECT_ITER::QueryTotalAceCount(void)const 
+?QueryTotalAceCount@OS_ACL_SUBJECT_ITER@@IBEKXZ
+; public: unsigned int __thiscall LM_RESUME_ENUM::QueryTotalItemCount(void)const 
+?QueryTotalItemCount@LM_RESUME_ENUM@@QBEIXZ
+; public: unsigned int __thiscall DEVICE::QueryType(void)const 
+?QueryType@DEVICE@@QBEIXZ
+; public: unsigned char __thiscall OS_ACE::QueryType(void)const 
+?QueryType@OS_ACE@@QBEEXZ
+; public: long __thiscall NET_NAME::QueryUNCPath(class NLS_STR *)
+?QueryUNCPath@NET_NAME@@QAEJPAVNLS_STR@@@Z
+; public: struct _UNICODE_STRING const * __thiscall NT_MACHINE_ENUM_OBJ::QueryUnicodeMachine(void)const 
+?QueryUnicodeMachine@NT_MACHINE_ENUM_OBJ@@QBEPBU_UNICODE_STRING@@XZ
+; public: struct _UNICODE_STRING const * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryUnicodeName(void)const 
+?QueryUnicodeName@LSA_ACCT_DOM_INFO_MEM@@QBEPBU_UNICODE_STRING@@XZ
+; public: struct _UNICODE_STRING const * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryUnicodeName(void)const 
+?QueryUnicodeName@LSA_PRIMARY_DOM_INFO_MEM@@QBEPBU_UNICODE_STRING@@XZ
+; private: struct _UNICODE_STRING const * __thiscall LSA_REF_DOMAIN_MEM::QueryUnicodeName(unsigned long)const 
+?QueryUnicodeName@LSA_REF_DOMAIN_MEM@@ABEPBU_UNICODE_STRING@@K@Z
+; private: struct _UNICODE_STRING const * __thiscall LSA_TRANSLATED_NAME_MEM::QueryUnicodeName(unsigned long)const 
+?QueryUnicodeName@LSA_TRANSLATED_NAME_MEM@@ABEPBU_UNICODE_STRING@@K@Z
+; public: struct _UNICODE_STRING const * __thiscall LSA_TRUST_INFO_MEM::QueryUnicodeName(unsigned long)const 
+?QueryUnicodeName@LSA_TRUST_INFO_MEM@@QBEPBU_UNICODE_STRING@@K@Z
+; public: struct _UNICODE_STRING const * __thiscall SAM_USER_ENUM_OBJ::QueryUnicodeUserName(void)const 
+?QueryUnicodeUserName@SAM_USER_ENUM_OBJ@@QBEPBU_UNICODE_STRING@@XZ
+; public: unsigned int __thiscall LOGON_HOURS_SETTING::QueryUnitsPerWeek(void)const 
+?QueryUnitsPerWeek@LOGON_HOURS_SETTING@@QBEIXZ
+; private: struct _DOMAIN_PASSWORD_INFORMATION * __thiscall SAM_PSWD_DOM_INFO_MEM::QueryUpdatePtr(void)const 
+?QueryUpdatePtr@SAM_PSWD_DOM_INFO_MEM@@ABEPAU_DOMAIN_PASSWORD_INFORMATION@@XZ
+; public: enum _SID_NAME_USE  __thiscall LSA_TRANSLATED_NAME_MEM::QueryUse(unsigned long)const 
+?QueryUse@LSA_TRANSLATED_NAME_MEM@@QBE?AW4_SID_NAME_USE@@K@Z
+; public: int __thiscall USER_2::QueryUserCantChangePass(void)const 
+?QueryUserCantChangePass@USER_2@@QBEHXZ
+; public: unsigned short const * __thiscall USER_11::QueryUserComment(void)const 
+?QueryUserComment@USER_11@@QBEPBGXZ
+; protected: int __thiscall USER_2::QueryUserFlag(unsigned int)const 
+?QueryUserFlag@USER_2@@IBEHI@Z
+; public: unsigned long __thiscall LM_SESSION_1::QueryUserFlags(void)const 
+?QueryUserFlags@LM_SESSION_1@@QBEKXZ
+; public: unsigned int __thiscall USER_2::QueryUserFlags(void)const 
+?QueryUserFlags@USER_2@@QBEIXZ
+; public: unsigned long __thiscall USER_3::QueryUserId(void)const 
+?QueryUserId@USER_3@@QBEKXZ
+; public: long __thiscall SAM_USER_ENUM_OBJ::QueryUserName(class NLS_STR *)const 
+?QueryUserName@SAM_USER_ENUM_OBJ@@QBEJPAVNLS_STR@@@Z
+; public: unsigned short const * __thiscall WKSTA_USER_1::QueryUserName(void)const 
+?QueryUserName@WKSTA_USER_1@@QBEPBGXZ
+; public: int __thiscall USER_2::QueryUserPassRequired(void)const 
+?QueryUserPassRequired@USER_2@@QBEHXZ
+; public: unsigned short const * __thiscall LM_FILE_3::QueryUsername(void)const 
+?QueryUsername@LM_FILE_3@@QBEPBGXZ
+; public: unsigned short const * __thiscall LM_SESSION_10::QueryUsername(void)const 
+?QueryUsername@LM_SESSION_10@@QBEPBGXZ
+; public: long __thiscall LM_CONFIG::QueryValue(class NLS_STR *,unsigned short const *)
+?QueryValue@LM_CONFIG@@QAEJPAVNLS_STR@@PBG@Z
+; public: unsigned short const * __thiscall WKSTA_10::QueryWkstaDomain(void)const 
+?QueryWkstaDomain@WKSTA_10@@QBEPBGXZ
+; public: unsigned short const * __thiscall USER_11::QueryWorkstations(void)const 
+?QueryWorkstations@USER_11@@QBEPBGXZ
+; private: void __thiscall LM_ENUM::RegisterIter(void)
+?RegisterIter@LM_ENUM@@AAEXXZ
+; private: void __thiscall LM_RESUME_ENUM::RegisterIter(void)
+?RegisterIter@LM_RESUME_ENUM@@AAEXXZ
+; public: class NLS_STR * __thiscall SLIST_OF_NLS_STR::Remove(class ITER_SL_NLS_STR &)
+?Remove@SLIST_OF_NLS_STR@@QAEPAVNLS_STR@@AAVITER_SL_NLS_STR@@@Z
+; public: long __thiscall SAM_ALIAS::RemoveMember(void *)
+?RemoveMember@SAM_ALIAS@@QAEJPAX@Z
+; public: long __thiscall SAM_GROUP::RemoveMember(unsigned long)
+?RemoveMember@SAM_GROUP@@QAEJK@Z
+; public: long __thiscall SAM_DOMAIN::RemoveMemberFromAliases(void *)
+?RemoveMemberFromAliases@SAM_DOMAIN@@QAEJPAX@Z
+; public: long __thiscall SAM_ALIAS::RemoveMembers(void * *,unsigned int)
+?RemoveMembers@SAM_ALIAS@@QAEJPAPAXI@Z
+; public: long __thiscall SAM_GROUP::RemoveMembers(unsigned long *,unsigned int)
+?RemoveMembers@SAM_GROUP@@QAEJPAKI@Z
+; public: long __thiscall OS_PRIVILEGE_SET::RemovePrivilege(long)
+?RemovePrivilege@OS_PRIVILEGE_SET@@QAEJJ@Z
+; public: long __thiscall OS_PRIVILEGE_SET::RemovePrivilege(struct _LUID)
+?RemovePrivilege@OS_PRIVILEGE_SET@@QAEJU_LUID@@@Z
+; public: long __thiscall USER::Rename(unsigned short const *)
+?Rename@USER@@QAEJPBG@Z
+; public: long __thiscall ADMIN_AUTHORITY::ReplaceAccountDomain(unsigned long)
+?ReplaceAccountDomain@ADMIN_AUTHORITY@@QAEJK@Z
+; public: long __thiscall ADMIN_AUTHORITY::ReplaceBuiltinDomain(unsigned long)
+?ReplaceBuiltinDomain@ADMIN_AUTHORITY@@QAEJK@Z
+; public: long __thiscall ADMIN_AUTHORITY::ReplaceLSAPolicy(unsigned long)
+?ReplaceLSAPolicy@ADMIN_AUTHORITY@@QAEJK@Z
+; public: long __thiscall ADMIN_AUTHORITY::ReplaceSamServer(unsigned long)
+?ReplaceSamServer@ADMIN_AUTHORITY@@QAEJK@Z
+; protected: void __thiscall BASE::ReportError(long)
+?ReportError@BASE@@IAEXJ@Z
+; protected: void __thiscall NEW_LM_OBJ::ReportError(long)
+?ReportError@NEW_LM_OBJ@@IAEXJ@Z
+; public: void __thiscall BROWSE_DOMAIN_ENUM::Reset(void)
+?Reset@BROWSE_DOMAIN_ENUM@@QAEXXZ
+; public: void __thiscall OS_ACL_SUBJECT_ITER::Reset(void)
+?Reset@OS_ACL_SUBJECT_ITER@@QAEXXZ
+; protected: void __thiscall LSA_OBJECT::ResetHandle(void)
+?ResetHandle@LSA_OBJECT@@IAEXXZ
+; protected: void __thiscall SAM_OBJECT::ResetHandle(void)
+?ResetHandle@SAM_OBJECT@@IAEXXZ
+; protected: long __thiscall OS_OBJECT_WITH_DATA::Resize(unsigned int)
+?Resize@OS_OBJECT_WITH_DATA@@IAEJI@Z
+; protected: long __thiscall NEW_LM_OBJ::ResizeBuffer(unsigned int)
+?ResizeBuffer@NEW_LM_OBJ@@IAEJI@Z
+; public: long __thiscall LM_MESSAGE::SendBuffer(unsigned short const *,unsigned short const *,unsigned int)
+?SendBuffer@LM_MESSAGE@@QAEJPBG0I@Z
+; public: long __thiscall LM_MESSAGE::SendBuffer(unsigned short const *,class BUFFER const &)
+?SendBuffer@LM_MESSAGE@@QAEJPBGABVBUFFER@@@Z
+; public: long __thiscall LOCATION::Set(class LOCATION const &)
+?Set@LOCATION@@QAEJABV1@@Z
+; public: virtual void __thiscall LSA_MEMORY::Set(void *,unsigned long)
+?Set@LSA_MEMORY@@UAEXPAXK@Z
+; public: virtual void __thiscall NT_MEMORY::Set(void *,unsigned long)
+?Set@NT_MEMORY@@UAEXPAXK@Z
+; public: virtual void __thiscall SAM_MEMORY::Set(void *,unsigned long)
+?Set@SAM_MEMORY@@UAEXPAXK@Z
+; private: long __thiscall NET_NAME::SetABSPath(unsigned short const *)
+?SetABSPath@NET_NAME@@AAEJPBG@Z
+; public: void __thiscall OS_ACE::SetAccessMask(unsigned long)
+?SetAccessMask@OS_ACE@@QAEXK@Z
+; public: long __thiscall USER_2::SetAccountDisabled(int)
+?SetAccountDisabled@USER_2@@QAEJH@Z
+; public: long __thiscall LSA_POLICY::SetAccountDomain(class LSA_ACCT_DOM_INFO_MEM const *)
+?SetAccountDomain@LSA_POLICY@@QAEJPBVLSA_ACCT_DOM_INFO_MEM@@@Z
+; public: long __thiscall LSA_POLICY::SetAccountDomainName(class NLS_STR const *,void * const *)
+?SetAccountDomainName@LSA_POLICY@@QAEJPBVNLS_STR@@PBQAX@Z
+; public: long __thiscall USER_2::SetAccountExpires(long)
+?SetAccountExpires@USER_2@@QAEJJ@Z
+; public: long __thiscall USER_3::SetAccountType(enum _ACCOUNT_TYPE)
+?SetAccountType@USER_3@@QAEJW4_ACCOUNT_TYPE@@@Z
+; protected: void __thiscall SHARE_1::SetAdminOnly(int)
+?SetAdminOnly@SHARE_1@@IAEXH@Z
+; public: long __thiscall LSA_POLICY::SetAuditEventInfo(class LSA_AUDIT_EVENT_INFO_MEM *)
+?SetAuditEventInfo@LSA_POLICY@@QAEJPAVLSA_AUDIT_EVENT_INFO_MEM@@@Z
+; public: long __thiscall NET_ACCESS_1::SetAuditFlags(short)
+?SetAuditFlags@NET_ACCESS_1@@QAEJF@Z
+; public: long __thiscall USER_11::SetAuthFlags(unsigned long)
+?SetAuthFlags@USER_11@@QAEJK@Z
+; protected: void __thiscall DEVICE::SetBufPtr(unsigned char *)
+?SetBufPtr@DEVICE@@IAEXPAE@Z
+; public: void __thiscall ALIAS_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const *)
+?SetBufferPtr@ALIAS_ENUM_OBJ@@QAEXPBU_SAM_RID_ENUMERATION@@@Z
+; public: void __thiscall CHARDEVQ1_ENUM_OBJ::SetBufferPtr(struct _CHARDEVQ_INFO_1 const *)
+?SetBufferPtr@CHARDEVQ1_ENUM_OBJ@@QAEXPBU_CHARDEVQ_INFO_1@@@Z
+; public: void __thiscall CONN0_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_0 const *)
+?SetBufferPtr@CONN0_ENUM_OBJ@@QAEXPBU_CONNECTION_INFO_0@@@Z
+; public: void __thiscall CONN1_ENUM_OBJ::SetBufferPtr(struct _CONNECTION_INFO_1 const *)
+?SetBufferPtr@CONN1_ENUM_OBJ@@QAEXPBU_CONNECTION_INFO_1@@@Z
+; public: void __thiscall CONTEXT_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const *)
+?SetBufferPtr@CONTEXT_ENUM_OBJ@@QAEXPBU_SERVER_INFO_101@@@Z
+; public: void __thiscall DOMAIN0_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_100 const *)
+?SetBufferPtr@DOMAIN0_ENUM_OBJ@@QAEXPBU_SERVER_INFO_100@@@Z
+; protected: void __thiscall ENUM_OBJ_BASE::SetBufferPtr(unsigned char const *)
+?SetBufferPtr@ENUM_OBJ_BASE@@IAEXPBE@Z
+; public: void __thiscall FILE2_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_2 const *)
+?SetBufferPtr@FILE2_ENUM_OBJ@@QAEXPBU_FILE_INFO_2@@@Z
+; public: void __thiscall FILE3_ENUM_OBJ::SetBufferPtr(struct _FILE_INFO_3 const *)
+?SetBufferPtr@FILE3_ENUM_OBJ@@QAEXPBU_FILE_INFO_3@@@Z
+; public: void __thiscall GROUP0_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_0 const *)
+?SetBufferPtr@GROUP0_ENUM_OBJ@@QAEXPBU_GROUP_INFO_0@@@Z
+; public: void __thiscall GROUP1_ENUM_OBJ::SetBufferPtr(struct _GROUP_INFO_1 const *)
+?SetBufferPtr@GROUP1_ENUM_OBJ@@QAEXPBU_GROUP_INFO_1@@@Z
+; public: void __thiscall LSA_ACCOUNTS_ENUM_OBJ::SetBufferPtr(void * const *)
+?SetBufferPtr@LSA_ACCOUNTS_ENUM_OBJ@@QAEXPBQAX@Z
+; public: void __thiscall LSA_PRIVILEGES_ENUM_OBJ::SetBufferPtr(struct _POLICY_PRIVILEGE_DEFINITION const *)
+?SetBufferPtr@LSA_PRIVILEGES_ENUM_OBJ@@QAEXPBU_POLICY_PRIVILEGE_DEFINITION@@@Z
+; protected: void __thiscall NEW_LM_OBJ::SetBufferPtr(unsigned char *)
+?SetBufferPtr@NEW_LM_OBJ@@IAEXPAE@Z
+; public: void __thiscall NT_GROUP_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_GROUP const *)
+?SetBufferPtr@NT_GROUP_ENUM_OBJ@@QAEXPBU_DOMAIN_DISPLAY_GROUP@@@Z
+; public: void __thiscall NT_MACHINE_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_MACHINE const *)
+?SetBufferPtr@NT_MACHINE_ENUM_OBJ@@QAEXPBU_DOMAIN_DISPLAY_MACHINE@@@Z
+; public: void __thiscall NT_USER_ENUM_OBJ::SetBufferPtr(struct _DOMAIN_DISPLAY_USER const *)
+?SetBufferPtr@NT_USER_ENUM_OBJ@@QAEXPBU_DOMAIN_DISPLAY_USER@@@Z
+; public: void __thiscall SAM_USER_ENUM_OBJ::SetBufferPtr(struct _SAM_RID_ENUMERATION const *)
+?SetBufferPtr@SAM_USER_ENUM_OBJ@@QAEXPBU_SAM_RID_ENUMERATION@@@Z
+; public: void __thiscall SERVER1_ENUM_OBJ::SetBufferPtr(struct _SERVER_INFO_101 const *)
+?SetBufferPtr@SERVER1_ENUM_OBJ@@QAEXPBU_SERVER_INFO_101@@@Z
+; protected: void __thiscall SERVICE_ENUM_OBJ::SetBufferPtr(struct _ENUM_SVC_STATUS const *)
+?SetBufferPtr@SERVICE_ENUM_OBJ@@IAEXPBU_ENUM_SVC_STATUS@@@Z
+; public: void __thiscall SESSION0_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_0 const *)
+?SetBufferPtr@SESSION0_ENUM_OBJ@@QAEXPBU_SESSION_INFO_0@@@Z
+; public: void __thiscall SESSION1_ENUM_OBJ::SetBufferPtr(struct _SESSION_INFO_1 const *)
+?SetBufferPtr@SESSION1_ENUM_OBJ@@QAEXPBU_SESSION_INFO_1@@@Z
+; public: void __thiscall SHARE1_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_1 const *)
+?SetBufferPtr@SHARE1_ENUM_OBJ@@QAEXPBU_SHARE_INFO_1@@@Z
+; public: void __thiscall SHARE2_ENUM_OBJ::SetBufferPtr(struct _SHARE_INFO_2 const *)
+?SetBufferPtr@SHARE2_ENUM_OBJ@@QAEXPBU_SHARE_INFO_2@@@Z
+; public: void __thiscall TRIPLE_SERVER_ENUM_OBJ::SetBufferPtr(struct _TRIPLE_SERVER_INFO const *)
+?SetBufferPtr@TRIPLE_SERVER_ENUM_OBJ@@QAEXPBU_TRIPLE_SERVER_INFO@@@Z
+; public: void __thiscall TRUSTED_DOMAIN_ENUM_OBJ::SetBufferPtr(struct _LSA_TRUST_INFORMATION const *)
+?SetBufferPtr@TRUSTED_DOMAIN_ENUM_OBJ@@QAEXPBU_LSA_TRUST_INFORMATION@@@Z
+; public: void __thiscall USE1_ENUM_OBJ::SetBufferPtr(struct _USE_INFO_1 const *)
+?SetBufferPtr@USE1_ENUM_OBJ@@QAEXPBU_USE_INFO_1@@@Z
+; public: void __thiscall USER0_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_0 const *)
+?SetBufferPtr@USER0_ENUM_OBJ@@QAEXPBU_USER_INFO_0@@@Z
+; public: void __thiscall USER10_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_10 const *)
+?SetBufferPtr@USER10_ENUM_OBJ@@QAEXPBU_USER_INFO_10@@@Z
+; public: void __thiscall USER1_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_1 const *)
+?SetBufferPtr@USER1_ENUM_OBJ@@QAEXPBU_USER_INFO_1@@@Z
+; public: void __thiscall USER2_ENUM_OBJ::SetBufferPtr(struct _USER_INFO_2 const *)
+?SetBufferPtr@USER2_ENUM_OBJ@@QAEXPBU_USER_INFO_2@@@Z
+; protected: long __thiscall LM_SESSION_2::SetClientType(unsigned short const *)
+?SetClientType@LM_SESSION_2@@IAEJPBG@Z
+; public: long __thiscall GROUP_1::SetComment(unsigned short const *)
+?SetComment@GROUP_1@@QAEJPBG@Z
+; public: long __thiscall SAM_ALIAS::SetComment(class NLS_STR const *)
+?SetComment@SAM_ALIAS@@QAEJPBVNLS_STR@@@Z
+; public: long __thiscall SERVER_1::SetComment(unsigned short const *)
+?SetComment@SERVER_1@@QAEJPBG@Z
+; public: long __thiscall SHARE_1::SetComment(unsigned short const *)
+?SetComment@SHARE_1@@QAEJPBG@Z
+; public: long __thiscall USER_11::SetComment(unsigned short const *)
+?SetComment@USER_11@@QAEJPBG@Z
+; public: long __thiscall LSA_TRUSTED_DOMAIN::SetControllerList(struct _TRUSTED_CONTROLLERS_INFO const &)
+?SetControllerList@LSA_TRUSTED_DOMAIN@@QAEJABU_TRUSTED_CONTROLLERS_INFO@@@Z
+; public: long __thiscall LSA_TRUSTED_DOMAIN::SetControllerList(class LSA_REF_DOMAIN_MEM *)
+?SetControllerList@LSA_TRUSTED_DOMAIN@@QAEJPAVLSA_REF_DOMAIN_MEM@@@Z
+; protected: void __thiscall ENUM_CALLER::SetCount(unsigned int)
+?SetCount@ENUM_CALLER@@IAEXI@Z
+; protected: void __thiscall OS_ACL_SUBJECT_ITER::SetCurrentACE(unsigned long)
+?SetCurrentACE@OS_ACL_SUBJECT_ITER@@IAEXK@Z
+; protected: long __thiscall SHARE_2::SetCurrentUses(unsigned int)
+?SetCurrentUses@SHARE_2@@IAEJI@Z
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetDACL(int,class OS_ACL const *,int)
+?SetDACL@OS_SECURITY_DESCRIPTOR@@QAEJHPBVOS_ACL@@H@Z
+; protected: void __thiscall DEVICE::SetDevState(enum LMO_DEV_STATE)
+?SetDevState@DEVICE@@IAEXW4LMO_DEV_STATE@@@Z
+; protected: void __thiscall DEVICE::SetDevType(enum LMO_DEVICE)
+?SetDevType@DEVICE@@IAEXW4LMO_DEVICE@@@Z
+; protected: long __thiscall DEVICE2::SetDomainName(unsigned short const *)
+?SetDomainName@DEVICE2@@IAEJPBG@Z
+; public: long __thiscall USER_MODALS_3::SetDuration(unsigned long)
+?SetDuration@USER_MODALS_3@@QAEJK@Z
+; protected: long __thiscall LM_FILE::SetFileId(unsigned long)
+?SetFileId@LM_FILE@@IAEJK@Z
+; public: long __thiscall USER_MODALS::SetForceLogoff(unsigned long)
+?SetForceLogoff@USER_MODALS@@QAEJK@Z
+; public: long __thiscall USER_11::SetFullName(unsigned short const *)
+?SetFullName@USER_11@@QAEJPBG@Z
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetGroup(class OS_SID const &,int)
+?SetGroup@OS_SECURITY_DESCRIPTOR@@QAEJABVOS_SID@@H@Z
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetGroup(int,class OS_SID const *,int)
+?SetGroup@OS_SECURITY_DESCRIPTOR@@QAEJHPBVOS_SID@@H@Z
+; public: long __thiscall SAM_GROUP::SetGroupname(class NLS_STR const *)
+?SetGroupname@SAM_GROUP@@QAEJPBVNLS_STR@@@Z
+; protected: void __thiscall LSA_OBJECT::SetHandle(void *)
+?SetHandle@LSA_OBJECT@@IAEXPAX@Z
+; protected: void __thiscall SAM_OBJECT::SetHandle(void *)
+?SetHandle@SAM_OBJECT@@IAEXPAX@Z
+; protected: void __thiscall SERVICE_CONTROL::SetHandle(struct SC_HANDLE__ *)
+?SetHandle@SERVICE_CONTROL@@IAEXPAUSC_HANDLE__@@@Z
+; public: long __thiscall USER_11::SetHomeDir(unsigned short const *)
+?SetHomeDir@USER_11@@QAEJPBG@Z
+; public: long __thiscall USER_3::SetHomedirDrive(unsigned short const *)
+?SetHomedirDrive@USER_3@@QAEJPBG@Z
+; protected: void __thiscall LM_SESSION_10::SetIdleTime(unsigned long)
+?SetIdleTime@LM_SESSION_10@@IAEXK@Z
+; protected: virtual void __thiscall DEVICE2::SetInfo(void)
+?SetInfo@DEVICE2@@MAEXXZ
+; protected: virtual void __thiscall DEVICE::SetInfo(void)
+?SetInfo@DEVICE@@MAEXXZ
+; public: long __thiscall LSA_SECRET::SetInfo(class NLS_STR const *,class NLS_STR const *)
+?SetInfo@LSA_SECRET@@QAEJPBVNLS_STR@@0@Z
+; public: void __thiscall OS_ACE::SetInheritOnly(int)
+?SetInheritOnly@OS_ACE@@QAEXH@Z
+; public: long __thiscall USER_2::SetLockout(int)
+?SetLockout@USER_2@@QAEJH@Z
+; public: long __thiscall WKSTA_USER_1::SetLogonDomain(unsigned short const *)
+?SetLogonDomain@WKSTA_USER_1@@QAEJPBG@Z
+; public: long __thiscall USER_11::SetLogonHours(class LOGON_HOURS_SETTING const &)
+?SetLogonHours@USER_11@@QAEJABVLOGON_HOURS_SETTING@@@Z
+; public: long __thiscall USER_11::SetLogonHours(unsigned char const *,unsigned int)
+?SetLogonHours@USER_11@@QAEJPBEI@Z
+; public: long __thiscall WKSTA_USER_1::SetLogonServer(unsigned short const *)
+?SetLogonServer@WKSTA_USER_1@@QAEJPBG@Z
+; public: void __thiscall OS_LUID_AND_ATTRIBUTES::SetLuidAndAttrib(struct _LUID_AND_ATTRIBUTES)
+?SetLuidAndAttrib@OS_LUID_AND_ATTRIBUTES@@QAEXU_LUID_AND_ATTRIBUTES@@@Z
+; protected: void __thiscall SERVER_1::SetMajorMinorVer(unsigned int,unsigned int)
+?SetMajorMinorVer@SERVER_1@@IAEXII@Z
+; public: long __thiscall USER_MODALS::SetMaxPasswdAge(unsigned long)
+?SetMaxPasswdAge@USER_MODALS@@QAEJK@Z
+; protected: void __thiscall SERVER_2::SetMaxUsers(unsigned int)
+?SetMaxUsers@SERVER_2@@IAEXI@Z
+; public: long __thiscall SHARE_2::SetMaxUses(unsigned int)
+?SetMaxUses@SHARE_2@@QAEJI@Z
+; public: long __thiscall USER_MODALS::SetMinPasswdAge(unsigned long)
+?SetMinPasswdAge@USER_MODALS@@QAEJK@Z
+; public: long __thiscall USER_MODALS::SetMinPasswdLen(unsigned int)
+?SetMinPasswdLen@USER_MODALS@@QAEJI@Z
+; public: long __thiscall COMPUTER::SetName(unsigned short const *)
+?SetName@COMPUTER@@QAEJPBG@Z
+; public: long __thiscall GROUP::SetName(unsigned short const *)
+?SetName@GROUP@@QAEJPBG@Z
+; public: long __thiscall GROUP_MEMB::SetName(unsigned short const *)
+?SetName@GROUP_MEMB@@QAEJPBG@Z
+; protected: long __thiscall LM_SERVICE::SetName(unsigned short const *)
+?SetName@LM_SERVICE@@IAEJPBG@Z
+; protected: long __thiscall LM_SESSION::SetName(unsigned short const *)
+?SetName@LM_SESSION@@IAEJPBG@Z
+; public: long __thiscall NET_ACCESS::SetName(unsigned short const *)
+?SetName@NET_ACCESS@@QAEJPBG@Z
+; protected: long __thiscall SHARE::SetName(unsigned short const *)
+?SetName@SHARE@@IAEJPBG@Z
+; public: long __thiscall USER::SetName(unsigned short const *)
+?SetName@USER@@QAEJPBG@Z
+; public: long __thiscall USER_MEMB::SetName(unsigned short const *)
+?SetName@USER_MEMB@@QAEJPBG@Z
+; public: void __thiscall SAM_PSWD_DOM_INFO_MEM::SetNoAnonChange(int)
+?SetNoAnonChange@SAM_PSWD_DOM_INFO_MEM@@QAEXH@Z
+; public: long __thiscall USER_2::SetNoPasswordExpire(int)
+?SetNoPasswordExpire@USER_2@@QAEJH@Z
+; protected: void __thiscall LM_SESSION_1::SetNumOpens(unsigned int)
+?SetNumOpens@LM_SESSION_1@@IAEXI@Z
+; public: long __thiscall USER_MODALS_3::SetObservation(unsigned long)
+?SetObservation@USER_MODALS_3@@QAEJK@Z
+; public: long __thiscall WKSTA_USER_1::SetOtherDomains(unsigned short const *)
+?SetOtherDomains@WKSTA_USER_1@@QAEJPBG@Z
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetOwner(class OS_SID const &,int)
+?SetOwner@OS_SECURITY_DESCRIPTOR@@QAEJABVOS_SID@@H@Z
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetOwner(int,class OS_SID const *,int)
+?SetOwner@OS_SECURITY_DESCRIPTOR@@QAEJHPBVOS_SID@@H@Z
+; public: long __thiscall USER_11::SetParms(unsigned short const *)
+?SetParms@USER_11@@QAEJPBG@Z
+; public: long __thiscall USER_MODALS::SetPasswdHistLen(unsigned int)
+?SetPasswdHistLen@USER_MODALS@@QAEJI@Z
+; public: long __thiscall SAM_USER::SetPassword(class NLS_STR const &,class NLS_STR const &)
+?SetPassword@SAM_USER@@QAEJABVNLS_STR@@0@Z
+; public: long __thiscall SAM_USER::SetPassword(class NLS_STR const &,int)
+?SetPassword@SAM_USER@@QAEJABVNLS_STR@@H@Z
+; public: long __thiscall SHARE_2::SetPassword(unsigned short const *)
+?SetPassword@SHARE_2@@QAEJPBG@Z
+; public: long __thiscall USER_2::SetPassword(unsigned short const *)
+?SetPassword@USER_2@@QAEJPBG@Z
+; public: long __thiscall USER_3::SetPasswordExpired(unsigned long)
+?SetPasswordExpired@USER_3@@QAEJK@Z
+; public: long __thiscall SAM_DOMAIN::SetPasswordInfo(class SAM_PSWD_DOM_INFO_MEM const *)
+?SetPasswordInfo@SAM_DOMAIN@@QAEJPBVSAM_PSWD_DOM_INFO_MEM@@@Z
+; public: long __thiscall SHARE_2::SetPath(unsigned short const *)
+?SetPath@SHARE_2@@QAEJPBG@Z
+; public: long __thiscall NET_ACCESS_1::SetPerm(unsigned short const *,enum PERMNAME_TYPE,unsigned int)
+?SetPerm@NET_ACCESS_1@@QAEJPBGW4PERMNAME_TYPE@@I@Z
+; public: long __thiscall SHARE_2::SetPermissions(unsigned int)
+?SetPermissions@SHARE_2@@QAEJI@Z
+; public: long __thiscall LSA_TRUSTED_DOMAIN::SetPosixOffset(unsigned long)
+?SetPosixOffset@LSA_TRUSTED_DOMAIN@@QAEJK@Z
+; public: long __thiscall LSA_POLICY::SetPrimaryBrowserGroup(class NLS_STR const &)
+?SetPrimaryBrowserGroup@LSA_POLICY@@QAEJABVNLS_STR@@@Z
+; public: long __thiscall LSA_POLICY::SetPrimaryDomain(class LSA_PRIMARY_DOM_INFO_MEM const *)
+?SetPrimaryDomain@LSA_POLICY@@QAEJPBVLSA_PRIMARY_DOM_INFO_MEM@@@Z
+; public: long __thiscall LSA_POLICY::SetPrimaryDomainName(class NLS_STR const *,void * const *)
+?SetPrimaryDomainName@LSA_POLICY@@QAEJPBVNLS_STR@@PBQAX@Z
+; public: long __thiscall USER_3::SetPrimaryGroupId(unsigned long)
+?SetPrimaryGroupId@USER_3@@QAEJK@Z
+; public: long __thiscall USER_11::SetPriv(unsigned int)
+?SetPriv@USER_11@@QAEJI@Z
+; public: long __thiscall USER_3::SetProfile(unsigned short const *)
+?SetProfile@USER_3@@QAEJPBG@Z
+; public: long __thiscall OS_ACE::SetPtr(void *)
+?SetPtr@OS_ACE@@QAEJPAX@Z
+; public: void __thiscall OS_PRIVILEGE_SET::SetPtr(struct _PRIVILEGE_SET *)
+?SetPtr@OS_PRIVILEGE_SET@@QAEXPAU_PRIVILEGE_SET@@@Z
+; public: long __thiscall OS_SID::SetPtr(void *)
+?SetPtr@OS_SID@@QAEJPAX@Z
+; protected: void __thiscall DEVICE::SetRemoteName(unsigned short const *)
+?SetRemoteName@DEVICE@@IAEXPBG@Z
+; protected: void __thiscall DEVICE::SetRemoteType(unsigned int)
+?SetRemoteType@DEVICE@@IAEXI@Z
+; protected: long __thiscall SHARE_1::SetResourceType(unsigned int)
+?SetResourceType@SHARE_1@@IAEJI@Z
+; public: long __thiscall SHARE_2::SetResourceType(unsigned int)
+?SetResourceType@SHARE_2@@QAEJI@Z
+; public: long __thiscall OS_SECURITY_DESCRIPTOR::SetSACL(int,class OS_ACL const *,int)
+?SetSACL@OS_SECURITY_DESCRIPTOR@@QAEJHPBVOS_ACL@@H@Z
+; public: long __thiscall OS_ACE::SetSID(class OS_SID const &)
+?SetSID@OS_ACE@@QAEJABVOS_SID@@@Z
+; public: long __thiscall USER_2::SetScriptPath(unsigned short const *)
+?SetScriptPath@USER_2@@QAEJPBG@Z
+; public: long __thiscall SC_SERVICE::SetSecurity(unsigned long,void * const)
+?SetSecurity@SC_SERVICE@@QAEJKQAX@Z
+; protected: void __thiscall SERVER_2::SetSecurity(unsigned int)
+?SetSecurity@SERVER_2@@IAEXI@Z
+; protected: long __thiscall LM_FILE::SetServer(unsigned short const *)
+?SetServer@LM_FILE@@IAEJPBG@Z
+; protected: void __thiscall DEVICE::SetServerName(unsigned short const *)
+?SetServerName@DEVICE@@IAEXPBG@Z
+; protected: long __thiscall LM_SERVICE::SetServerName(unsigned short const *)
+?SetServerName@LM_SERVICE@@IAEJPBG@Z
+; public: long __thiscall NET_ACCESS::SetServerName(unsigned short const *)
+?SetServerName@NET_ACCESS@@QAEJPBG@Z
+; public: long __thiscall LSA_POLICY::SetServerRole(class LSA_SERVER_ROLE_INFO_MEM const *)
+?SetServerRole@LSA_POLICY@@QAEJPBVLSA_SERVER_ROLE_INFO_MEM@@@Z
+; protected: void __thiscall SERVER_1::SetServerType(unsigned long)
+?SetServerType@SERVER_1@@IAEXK@Z
+; public: long __thiscall LSA_POLICY::SetShutDownOnFull(int)
+?SetShutDownOnFull@LSA_POLICY@@QAEJH@Z
+; public: long __thiscall OS_ACE::SetSize(unsigned int)
+?SetSize@OS_ACE@@QAEJI@Z
+; protected: long __thiscall OS_ACL::SetSize(unsigned int,int)
+?SetSize@OS_ACL@@IAEJIH@Z
+; protected: void __thiscall DEVICE::SetStatus(unsigned int)
+?SetStatus@DEVICE@@IAEXI@Z
+; public: long __thiscall USER_MODALS_3::SetThreshold(unsigned long)
+?SetThreshold@USER_MODALS_3@@QAEJK@Z
+; protected: void __thiscall LM_SESSION_10::SetTime(unsigned long)
+?SetTime@LM_SESSION_10@@IAEXK@Z
+; private: long __thiscall NET_NAME::SetUNCPath(unsigned short const *)
+?SetUNCPath@NET_NAME@@AAEJPBG@Z
+; public: long __thiscall USER_2::SetUserCantChangePass(int)
+?SetUserCantChangePass@USER_2@@QAEJH@Z
+; public: long __thiscall USER_11::SetUserComment(unsigned short const *)
+?SetUserComment@USER_11@@QAEJPBG@Z
+; protected: long __thiscall USER_2::SetUserFlag(int,unsigned int)
+?SetUserFlag@USER_2@@IAEJHI@Z
+; protected: void __thiscall LM_SESSION_1::SetUserFlags(unsigned long)
+?SetUserFlags@LM_SESSION_1@@IAEXK@Z
+; public: long __thiscall USER_2::SetUserFlags(unsigned int)
+?SetUserFlags@USER_2@@QAEJI@Z
+; protected: long __thiscall USER_3::SetUserId(unsigned long)
+?SetUserId@USER_3@@IAEJK@Z
+; public: long __thiscall WKSTA_USER_1::SetUserName(unsigned short const *)
+?SetUserName@WKSTA_USER_1@@QAEJPBG@Z
+; public: long __thiscall USER_2::SetUserPassRequired(int)
+?SetUserPassRequired@USER_2@@QAEJH@Z
+; protected: long __thiscall DEVICE2::SetUsername(unsigned short const *)
+?SetUsername@DEVICE2@@IAEJPBG@Z
+; protected: long __thiscall LM_SESSION_10::SetUsername(unsigned short const *)
+?SetUsername@LM_SESSION_10@@IAEJPBG@Z
+; public: long __thiscall SAM_USER::SetUsername(class NLS_STR const *)
+?SetUsername@SAM_USER@@QAEJPBVNLS_STR@@@Z
+; public: long __thiscall LM_CONFIG::SetValue(class NLS_STR *)
+?SetValue@LM_CONFIG@@QAEJPAVNLS_STR@@@Z
+; public: long __thiscall USER_11::SetWorkstations(unsigned short const *)
+?SetWorkstations@USER_11@@QAEJPBG@Z
+; protected: long __thiscall SHARE_2::SetWriteBuffer(int)
+?SetWriteBuffer@SHARE_2@@IAEJH@Z
+; void __stdcall SkipWhiteSpace(unsigned short * *)
+?SkipWhiteSpace@@YGXPAPAG@Z
+; public: void __thiscall DOMAIN0_ENUM::Sort(void)
+?Sort@DOMAIN0_ENUM@@QAEXXZ
+; public: long __thiscall LM_SERVICE::Start(unsigned short const *,unsigned int,unsigned int)
+?Start@LM_SERVICE@@QAEJPBGII@Z
+; public: long __thiscall SC_SERVICE::Start(unsigned int,unsigned short const * *)
+?Start@SC_SERVICE@@QAEJIPAPBG@Z
+; public: long __thiscall LM_SERVICE::Stop(unsigned int,unsigned int)
+?Stop@LM_SERVICE@@QAEJII@Z
+; protected: long __thiscall LSA_POLICY::TcharArrayToUnistrArray(unsigned short const * const *,struct _UNICODE_STRING *,unsigned long)
+?TcharArrayToUnistrArray@LSA_POLICY@@IAEJPBQBGPAU_UNICODE_STRING@@K@Z
+; public: long __thiscall SAM_DOMAIN::TranslateNamesToRids(unsigned short const * const *,unsigned long,class SAM_RID_MEM *,class SAM_SID_NAME_USE_MEM *)const 
+?TranslateNamesToRids@SAM_DOMAIN@@QBEJPBQBGKPAVSAM_RID_MEM@@PAVSAM_SID_NAME_USE_MEM@@@Z
+; public: long __thiscall LSA_POLICY::TranslateNamesToSids(unsigned short const * const *,unsigned long,class LSA_TRANSLATED_SID_MEM *,class LSA_REF_DOMAIN_MEM *)
+?TranslateNamesToSids@LSA_POLICY@@QAEJPBQBGKPAVLSA_TRANSLATED_SID_MEM@@PAVLSA_REF_DOMAIN_MEM@@@Z
+; public: long __thiscall LSA_POLICY::TranslateSidsToNames(void * const *,unsigned long,class LSA_TRANSLATED_NAME_MEM *,class LSA_REF_DOMAIN_MEM *)
+?TranslateSidsToNames@LSA_POLICY@@QAEJPBQAXKPAVLSA_TRANSLATED_NAME_MEM@@PAVLSA_REF_DOMAIN_MEM@@@Z
+; public: long __thiscall OS_SID::TrimLastSubAuthority(unsigned long *)
+?TrimLastSubAuthority@OS_SID@@QAEJPAK@Z
+; public: long __thiscall USER_11::TrimParams(void)
+?TrimParams@USER_11@@QAEJXZ
+; public: long __thiscall LSA_POLICY::TrustDomain(class LSA_POLICY &,class NLS_STR const &,int,unsigned short const *)
+?TrustDomain@LSA_POLICY@@QAEJAAV1@ABVNLS_STR@@HPBG@Z
+; public: long __thiscall LSA_POLICY::TrustDomain(class NLS_STR const &,void * const,class NLS_STR const &,int,unsigned short const *,int)
+?TrustDomain@LSA_POLICY@@QAEJABVNLS_STR@@QAX0HPBGH@Z
+; public: long __thiscall SC_MANAGER::Unlock(void)
+?Unlock@SC_MANAGER@@QAEJXZ
+; protected: long __thiscall OS_SECURITY_DESCRIPTOR::UpdateControl(void)
+?UpdateControl@OS_SECURITY_DESCRIPTOR@@IAEJXZ
+; protected: long __thiscall OS_SECURITY_DESCRIPTOR::UpdateReferencedSecurityObject(class OS_OBJECT_WITH_DATA *)
+?UpdateReferencedSecurityObject@OS_SECURITY_DESCRIPTOR@@IAEJPAVOS_OBJECT_WITH_DATA@@@Z
+; public: long __thiscall ADMIN_AUTHORITY::UpgradeAccountDomain(unsigned long)
+?UpgradeAccountDomain@ADMIN_AUTHORITY@@QAEJK@Z
+; public: long __thiscall ADMIN_AUTHORITY::UpgradeBuiltinDomain(unsigned long)
+?UpgradeBuiltinDomain@ADMIN_AUTHORITY@@QAEJK@Z
+; public: long __thiscall ADMIN_AUTHORITY::UpgradeLSAPolicy(unsigned long)
+?UpgradeLSAPolicy@ADMIN_AUTHORITY@@QAEJK@Z
+; public: long __thiscall ADMIN_AUTHORITY::UpgradeSamServer(unsigned long)
+?UpgradeSamServer@ADMIN_AUTHORITY@@QAEJK@Z
+; private: long __thiscall COMPUTER::ValidateName(unsigned short const *)
+?ValidateName@COMPUTER@@AAEJPBG@Z
+; protected: virtual long __thiscall DEVICE::ValidateName(void)
+?ValidateName@DEVICE@@MAEJXZ
+; protected: virtual long __thiscall DOMAIN::ValidateName(void)
+?ValidateName@DOMAIN@@MAEJXZ
+; protected: virtual long __thiscall LM_OBJ::ValidateName(void)
+?ValidateName@LM_OBJ@@MAEJXZ
+; public: static long __stdcall NT_ACCOUNTS_UTILITY::ValidateQualifiedAccountName(class NLS_STR const &,int *)
+?ValidateQualifiedAccountName@NT_ACCOUNTS_UTILITY@@SGJABVNLS_STR@@PAH@Z
+; public: long __thiscall LSA_POLICY::VerifyLsa(class LSA_PRIMARY_DOM_INFO_MEM *,class NLS_STR const *)const 
+?VerifyLsa@LSA_POLICY@@QBEJPAVLSA_PRIMARY_DOM_INFO_MEM@@PBVNLS_STR@@@Z
+; private: static long __stdcall NT_ACCOUNTS_UTILITY::W_BuildQualifiedAccountName(class NLS_STR *,class NLS_STR const &,class NLS_STR const *,enum _SID_NAME_USE)
+?W_BuildQualifiedAccountName@NT_ACCOUNTS_UTILITY@@CGJPAVNLS_STR@@ABV2@PBV2@W4_SID_NAME_USE@@@Z
+; protected: virtual long __thiscall NEW_LM_OBJ::W_ChangeToNew(void)
+?W_ChangeToNew@NEW_LM_OBJ@@MAEJXZ
+; protected: long __thiscall ENUM_CALLER_LM_OBJ::W_CloneFrom(class ENUM_CALLER_LM_OBJ const &)
+?W_CloneFrom@ENUM_CALLER_LM_OBJ@@IAEJABV1@@Z
+; protected: long __thiscall GROUP::W_CloneFrom(class GROUP const &)
+?W_CloneFrom@GROUP@@IAEJABV1@@Z
+; protected: long __thiscall GROUP_1::W_CloneFrom(class GROUP_1 const &)
+?W_CloneFrom@GROUP_1@@IAEJABV1@@Z
+; protected: long __thiscall LOC_LM_OBJ::W_CloneFrom(class LOC_LM_OBJ const &)
+?W_CloneFrom@LOC_LM_OBJ@@IAEJABV1@@Z
+; protected: long __thiscall MEMBERSHIP_LM_OBJ::W_CloneFrom(class MEMBERSHIP_LM_OBJ const &)
+?W_CloneFrom@MEMBERSHIP_LM_OBJ@@IAEJABV1@@Z
+; protected: long __thiscall NEW_LM_OBJ::W_CloneFrom(class NEW_LM_OBJ const &)
+?W_CloneFrom@NEW_LM_OBJ@@IAEJABV1@@Z
+; protected: long __thiscall SHARE::W_CloneFrom(class SHARE const &)
+?W_CloneFrom@SHARE@@IAEJABV1@@Z
+; protected: long __thiscall SHARE_1::W_CloneFrom(class SHARE_1 const &)
+?W_CloneFrom@SHARE_1@@IAEJABV1@@Z
+; protected: long __thiscall SHARE_2::W_CloneFrom(class SHARE_2 const &)
+?W_CloneFrom@SHARE_2@@IAEJABV1@@Z
+; protected: long __thiscall USER::W_CloneFrom(class USER const &)
+?W_CloneFrom@USER@@IAEJABV1@@Z
+; protected: long __thiscall USER_11::W_CloneFrom(class USER_11 const &)
+?W_CloneFrom@USER_11@@IAEJABV1@@Z
+; protected: long __thiscall USER_2::W_CloneFrom(class USER_2 const &)
+?W_CloneFrom@USER_2@@IAEJABV1@@Z
+; protected: long __thiscall USER_3::W_CloneFrom(class USER_3 const &)
+?W_CloneFrom@USER_3@@IAEJABV1@@Z
+; private: void __thiscall LM_SERVICE::W_ComputeOtherStatus(struct LM_SERVICE_OTHER_STATUS *)
+?W_ComputeOtherStatus@LM_SERVICE@@AAEXPAULM_SERVICE_OTHER_STATUS@@@Z
+; protected: virtual long __thiscall ENUM_CALLER_LM_OBJ::W_CreateNew(void)
+?W_CreateNew@ENUM_CALLER_LM_OBJ@@MAEJXZ
+; protected: virtual long __thiscall GROUP_1::W_CreateNew(void)
+?W_CreateNew@GROUP_1@@MAEJXZ
+; protected: virtual long __thiscall GROUP_MEMB::W_CreateNew(void)
+?W_CreateNew@GROUP_MEMB@@MAEJXZ
+; protected: virtual long __thiscall LSA_ACCOUNT::W_CreateNew(void)
+?W_CreateNew@LSA_ACCOUNT@@MAEJXZ
+; protected: virtual long __thiscall NEW_LM_OBJ::W_CreateNew(void)
+?W_CreateNew@NEW_LM_OBJ@@MAEJXZ
+; protected: virtual long __thiscall SHARE::W_CreateNew(void)
+?W_CreateNew@SHARE@@MAEJXZ
+; protected: virtual long __thiscall SHARE_1::W_CreateNew(void)
+?W_CreateNew@SHARE_1@@MAEJXZ
+; protected: virtual long __thiscall SHARE_2::W_CreateNew(void)
+?W_CreateNew@SHARE_2@@MAEJXZ
+; protected: virtual long __thiscall USER_11::W_CreateNew(void)
+?W_CreateNew@USER_11@@MAEJXZ
+; protected: virtual long __thiscall USER_2::W_CreateNew(void)
+?W_CreateNew@USER_2@@MAEJXZ
+; protected: virtual long __thiscall USER_3::W_CreateNew(void)
+?W_CreateNew@USER_3@@MAEJXZ
+; protected: virtual long __thiscall USER_MEMB::W_CreateNew(void)
+?W_CreateNew@USER_MEMB@@MAEJXZ
+; protected: long __thiscall ENUM_CALLER::W_GetInfo(void)
+?W_GetInfo@ENUM_CALLER@@IAEJXZ
+; private: void __thiscall LM_SERVICE::W_InterpretStatus(struct _SERVICE_INFO_2 const *,enum LM_SERVICE_STATUS *,struct LM_SERVICE_OTHER_STATUS *)
+?W_InterpretStatus@LM_SERVICE@@AAEXPBU_SERVICE_INFO_2@@PAW4LM_SERVICE_STATUS@@PAULM_SERVICE_OTHER_STATUS@@@Z
+; private: int __thiscall LM_SERVICE::W_IsWellKnownService(void)const 
+?W_IsWellKnownService@LM_SERVICE@@ABEHXZ
+; private: long __thiscall LM_SERVICE::W_QueryStatus(enum LM_SERVICE_STATUS *,struct LM_SERVICE_OTHER_STATUS *)
+?W_QueryStatus@LM_SERVICE@@AAEJPAW4LM_SERVICE_STATUS@@PAULM_SERVICE_OTHER_STATUS@@@Z
+; private: long __thiscall LM_SERVICE::W_ServiceControl(unsigned int,unsigned int)
+?W_ServiceControl@LM_SERVICE@@AAEJII@Z
+; private: long __thiscall LM_SERVICE::W_ServiceStart(unsigned short const *)
+?W_ServiceStart@LM_SERVICE@@AAEJPBG@Z
+; private: long __thiscall LOCATION::W_Set(unsigned short const *,enum LOCATION_TYPE,int)
+?W_Set@LOCATION@@AAEJPBGW4LOCATION_TYPE@@H@Z
+; private: long __thiscall GROUP_1::W_Write(void)
+?W_Write@GROUP_1@@AAEJXZ
+; private: long __thiscall SERVER_1::W_Write(void)
+?W_Write@SERVER_1@@AAEJXZ
+; private: long __thiscall SERVER_2::W_Write(void)
+?W_Write@SERVER_2@@AAEJXZ
+; protected: long __thiscall USER_2::W_Write(void)
+?W_Write@USER_2@@IAEJXZ
+; protected: long __thiscall USER_3::W_Write(void)
+?W_Write@USER_3@@IAEJXZ
+; private: long __thiscall WKSTA_USER_1::W_Write(void)
+?W_Write@WKSTA_USER_1@@AAEJXZ
+; public: long __thiscall NEW_LM_OBJ::Write(void)
+?Write@NEW_LM_OBJ@@QAEJXZ
+; public: virtual long __thiscall DEVICE::WriteInfo(void)
+?WriteInfo@DEVICE@@UAEJXZ
+; public: virtual long __thiscall DOMAIN::WriteInfo(void)
+?WriteInfo@DOMAIN@@UAEJXZ
+; public: long __thiscall NEW_LM_OBJ::WriteInfo(void)
+?WriteInfo@NEW_LM_OBJ@@QAEJXZ
+; public: virtual long __thiscall USER_MODALS::WriteInfo(void)
+?WriteInfo@USER_MODALS@@UAEJXZ
+; public: virtual long __thiscall USER_MODALS_3::WriteInfo(void)
+?WriteInfo@USER_MODALS_3@@UAEJXZ
+; public: long __thiscall NEW_LM_OBJ::WriteNew(void)
+?WriteNew@NEW_LM_OBJ@@QAEJXZ
+; public: void __thiscall OS_ACE::_DbgPrint(void)const 
+?_DbgPrint@OS_ACE@@QBEXXZ
+; public: void __thiscall OS_ACL::_DbgPrint(void)const 
+?_DbgPrint@OS_ACL@@QBEXXZ
+; public: void __thiscall OS_SECURITY_DESCRIPTOR::_DbgPrint(void)const 
+?_DbgPrint@OS_SECURITY_DESCRIPTOR@@QBEXXZ
+; public: void __thiscall OS_SID::_DbgPrint(void)const 
+?_DbgPrint@OS_SID@@QBEXXZ
+; private: void __thiscall LM_ENUM::_DeregisterIter(void)
+?_DeregisterIter@LM_ENUM@@AAEXXZ
+; private: void __thiscall LM_RESUME_ENUM::_DeregisterIter(void)
+?_DeregisterIter@LM_RESUME_ENUM@@AAEXXZ
+; private: void __thiscall LM_ENUM::_RegisterIter(void)
+?_RegisterIter@LM_ENUM@@AAEXXZ
+; private: void __thiscall LM_RESUME_ENUM::_RegisterIter(void)
+?_RegisterIter@LM_RESUME_ENUM@@AAEXXZ
+DestroySession
+FreeArgv
+I_MNetComputerNameCompare
+I_MNetLogonControl
+I_MNetNameCanonicalize
+I_MNetNameCompare
+I_MNetNameValidate
+I_MNetPathCanonicalize
+I_MNetPathCompare
+I_MNetPathType
+IsSlowTransport
+MAllocMem
+MDosPrintQEnum
+MFreeMem
+MNetAccessAdd
+MNetAccessCheck
+MNetAccessDel
+MNetAccessEnum
+MNetAccessGetInfo
+MNetAccessGetUserPerms
+MNetAccessSetInfo
+MNetApiBufferAlloc
+MNetApiBufferFree
+MNetApiBufferReAlloc
+MNetApiBufferSize
+MNetAuditClear
+MNetAuditRead
+MNetAuditWrite
+MNetCharDevControl
+MNetCharDevGetInfo
+MNetCharDevQEnum
+MNetCharDevQGetInfo
+MNetCharDevQPurge
+MNetCharDevQPurgeSelf
+MNetCharDevQSetInfo
+MNetConfigGet
+MNetConfigGetAll
+MNetConfigSet
+MNetConnectionEnum
+MNetErrorLogClear
+MNetErrorLogRead
+MNetErrorLogWrite
+MNetFileClose
+MNetFileEnum
+MNetFileGetInfo
+MNetGetDCName
+MNetGroupAdd
+MNetGroupAddUser
+MNetGroupDel
+MNetGroupDelUser
+MNetGroupEnum
+MNetGroupGetInfo
+MNetGroupGetUsers
+MNetGroupSetInfo
+MNetGroupSetUsers
+MNetLocalGroupAddMember
+MNetLogonEnum
+MNetMessageBufferSend
+MNetRemoteTOD
+MNetServerDiskEnum
+MNetServerEnum
+MNetServerGetInfo
+MNetServerSetInfo
+MNetServiceControl
+MNetServiceEnum
+MNetServiceGetInfo
+MNetServiceInstall
+MNetSessionDel
+MNetSessionEnum
+MNetSessionGetInfo
+MNetShareAdd
+MNetShareCheck
+MNetShareDel
+MNetShareDelSticky
+MNetShareEnum
+MNetShareEnumSticky
+MNetShareGetInfo
+MNetShareSetInfo
+MNetUseAdd
+MNetUseDel
+MNetUseEnum
+MNetUseGetInfo
+MNetUserAdd
+MNetUserDel
+MNetUserEnum
+MNetUserGetGroups
+MNetUserGetInfo
+MNetUserModalsGet
+MNetUserModalsSet
+MNetUserPasswordSet
+MNetUserSetGroups
+MNetUserSetInfo
+MNetWkstaGetInfo
+MNetWkstaSetInfo
+MNetWkstaSetUID
+MNetWkstaUserEnum
+MNetWkstaUserGetInfo
+MakeArgvArgc
+RegGetMachineIdentifierValue
+SetupNormalSession
+SetupNullSession
+SetupSession
+SlowTransportWorkerThread
diff --git a/mingw-w64-crt/lib64/wnetui2.def b/mingw-w64-crt/lib64/wnetui2.def
index 8bec945..6b600c5 100644
--- a/mingw-w64-crt/lib64/wnetui2.def
+++ b/mingw-w64-crt/lib64/wnetui2.def
@@ -1,4093 +1,4093 @@
-; 
-; Exports of file NETUI2.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NETUI2.dll
-EXPORTS
-; public: __thiscall ACCELTABLE::ACCELTABLE(class IDRESOURCE const &)
-??0ACCELTABLE@@QAE@ABVIDRESOURCE@@@Z
-; public: __thiscall ACCOUNT_NAMES_MLE::ACCOUNT_NAMES_MLE(class OWNER_WINDOW *,unsigned int,unsigned short const *,class NT_USER_BROWSER_DIALOG *,int,unsigned long,enum FontType)
-??0ACCOUNT_NAMES_MLE@@QAE@PAVOWNER_WINDOW@@IPBGPAVNT_USER_BROWSER_DIALOG@@HKW4FontType@@@Z
-; public: __thiscall ACTIVATION_EVENT::ACTIVATION_EVENT(unsigned int,unsigned int,long)
-??0ACTIVATION_EVENT@@QAE@IIJ@Z
-; public: __thiscall ALIAS_STR::ALIAS_STR(unsigned short const *)
-??0ALIAS_STR@@QAE@PBG@Z
-; public: __thiscall ALLOC_STR::ALLOC_STR(unsigned short *,unsigned int)
-??0ALLOC_STR@@QAE@PAGI@Z
-; protected: __thiscall APPLICATION::APPLICATION(struct HINSTANCE__ *,int,unsigned int,unsigned int,unsigned int,unsigned int)
-??0APPLICATION@@IAE@PAUHINSTANCE__@@HIIII@Z
-; protected: __thiscall APP_WINDOW::APP_WINDOW(class NLS_STR const &,class IDRESOURCE const &,class IDRESOURCE const &)
-??0APP_WINDOW@@IAE@ABVNLS_STR@@ABVIDRESOURCE@@1@Z
-; protected: __thiscall APP_WINDOW::APP_WINDOW(class XYPOINT,class XYDIMENSION,class NLS_STR const &,class IDRESOURCE const &,class IDRESOURCE const &)
-??0APP_WINDOW@@IAE@VXYPOINT@@VXYDIMENSION@@ABVNLS_STR@@ABVIDRESOURCE@@3@Z
-; public: __thiscall ARRAY_CONTROLVAL_CID_PAIR::ARRAY_CONTROLVAL_CID_PAIR(unsigned int)
-??0ARRAY_CONTROLVAL_CID_PAIR@@QAE@I@Z
-; public: __thiscall ARRAY_CONTROLVAL_CID_PAIR::ARRAY_CONTROLVAL_CID_PAIR(class CONTROLVAL_CID_PAIR *,unsigned int,int)
-??0ARRAY_CONTROLVAL_CID_PAIR@@QAE@PAVCONTROLVAL_CID_PAIR@@IH@Z
-; public: __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::ARRAY_LIST_CONTROLVAL_CID_PAIR(unsigned int)
-??0ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAE@I@Z
-; public: __thiscall ARROW_BUTTON::ARROW_BUTTON(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int)
-??0ARROW_BUTTON@@QAE@PAVOWNER_WINDOW@@IIII@Z
-; public: __thiscall ARROW_BUTTON::ARROW_BUTTON(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
-??0ARROW_BUTTON@@QAE@PAVOWNER_WINDOW@@IIIIVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __thiscall ASSOCHCFILE::ASSOCHCFILE(struct HINSTANCE__ *,long,unsigned long,unsigned long)
-??0ASSOCHCFILE@@QAE@PAUHINSTANCE__@@JKK@Z
-; public: __thiscall ASSOCHWNDDISP::ASSOCHWNDDISP(struct HWND__ *,class DISPATCHER const *)
-??0ASSOCHWNDDISP@@QAE@PAUHWND__@@PBVDISPATCHER@@@Z
-; public: __thiscall ASSOCHWNDPDLG::ASSOCHWNDPDLG(struct HWND__ *,class DIALOG_WINDOW const *)
-??0ASSOCHWNDPDLG@@QAE@PAUHWND__@@PBVDIALOG_WINDOW@@@Z
-; public: __thiscall ASSOCHWNDPWND::ASSOCHWNDPWND(struct HWND__ *,class CLIENT_WINDOW const *)
-??0ASSOCHWNDPWND@@QAE@PAUHWND__@@PBVCLIENT_WINDOW@@@Z
-; public: __thiscall ASSOCHWNDTHIS::ASSOCHWNDTHIS(struct HWND__ *,void const *)
-??0ASSOCHWNDTHIS@@QAE@PAUHWND__@@PBX@Z
-; protected: __thiscall ATOM_BASE::ATOM_BASE(unsigned short)
-??0ATOM_BASE@@IAE@G@Z
-; protected: __thiscall ATOM_BASE::ATOM_BASE(void)
-??0ATOM_BASE@@IAE@XZ
-; public: __thiscall AUDIT_CHECKBOXES::AUDIT_CHECKBOXES(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,class NLS_STR const &,class BITFIELD const &)
-??0AUDIT_CHECKBOXES@@QAE@PAVOWNER_WINDOW@@IIIABVNLS_STR@@ABVBITFIELD@@@Z
-; public: __thiscall AUTO_CURSOR::AUTO_CURSOR(unsigned short const *)
-??0AUTO_CURSOR@@QAE@PBG@Z
-; protected: __thiscall BASE::BASE(void)
-??0BASE@@IAE@XZ
-; public: __thiscall BASE::BASE(class BASE const &)
-??0BASE@@QAE@ABV0@@Z
-; protected: __thiscall BASE_ELLIPSIS::BASE_ELLIPSIS(enum ELLIPSIS_STYLE)
-??0BASE_ELLIPSIS@@IAE@W4ELLIPSIS_STYLE@@@Z
-; public: __thiscall BASE_PASSWORD_DIALOG::BASE_PASSWORD_DIALOG(struct HWND__ *,unsigned short const *,unsigned int,unsigned int,unsigned long,unsigned short const *,unsigned int,unsigned int,unsigned short const *,unsigned int,unsigned short const *)
-??0BASE_PASSWORD_DIALOG@@QAE@PAUHWND__@@PBGIIK1II1I1@Z
-; public: __thiscall BASE_SET_FOCUS_DLG::BASE_SET_FOCUS_DLG(struct HWND__ * const,enum SELECTION_TYPE,unsigned long,unsigned short const *,unsigned long,unsigned short const *,unsigned long)
-??0BASE_SET_FOCUS_DLG@@QAE@QAUHWND__@@W4SELECTION_TYPE@@KPBGK2K@Z
-; public: __thiscall BIT_MAP::BIT_MAP(class IDRESOURCE const &)
-??0BIT_MAP@@QAE@ABVIDRESOURCE@@@Z
-; public: __thiscall BIT_MAP::BIT_MAP(struct HBITMAP__ *)
-??0BIT_MAP@@QAE@PAUHBITMAP__@@@Z
-; public: __thiscall BLT_BACKGROUND_EDIT::BLT_BACKGROUND_EDIT(class OWNER_WINDOW *,unsigned int)
-??0BLT_BACKGROUND_EDIT@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall BLT_COMBOBOX::BLT_COMBOBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType)
-??0BLT_COMBOBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@@Z
-; public: __thiscall BLT_COMBOBOX::BLT_COMBOBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType)
-??0BLT_COMBOBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@@Z
-; public: __thiscall BLT_DATE_SPIN_GROUP::BLT_DATE_SPIN_GROUP(class OWNER_WINDOW *,class INTL_PROFILE const &,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int)
-??0BLT_DATE_SPIN_GROUP@@QAE@PAVOWNER_WINDOW@@ABVINTL_PROFILE@@IIIIIIIII@Z
-; public: __thiscall BLT_LISTBOX::BLT_LISTBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType,int)
-??0BLT_LISTBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@H@Z
-; public: __thiscall BLT_LISTBOX::BLT_LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int)
-??0BLT_LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
-; public: __thiscall BLT_LISTBOX_HAW::BLT_LISTBOX_HAW(class OWNER_WINDOW *,unsigned int,int,enum FontType,int)
-??0BLT_LISTBOX_HAW@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@H@Z
-; public: __thiscall BLT_LISTBOX_HAW::BLT_LISTBOX_HAW(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int)
-??0BLT_LISTBOX_HAW@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
-; public: __thiscall BLT_MASTER_TIMER::BLT_MASTER_TIMER(void)
-??0BLT_MASTER_TIMER@@QAE@XZ
-; public: __thiscall BLT_SCRATCH::BLT_SCRATCH(unsigned int)
-??0BLT_SCRATCH@@QAE@I@Z
-; public: __thiscall BLT_TIME_SPIN_GROUP::BLT_TIME_SPIN_GROUP(class OWNER_WINDOW *,class INTL_PROFILE const &,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int)
-??0BLT_TIME_SPIN_GROUP@@QAE@PAVOWNER_WINDOW@@ABVINTL_PROFILE@@IIIIIIIIII@Z
-; public: __thiscall BROWSER_DOMAIN::BROWSER_DOMAIN(unsigned short const *,void *,int,int)
-??0BROWSER_DOMAIN@@QAE@PBGPAXHH@Z
-; public: __thiscall BROWSER_DOMAIN_CB::BROWSER_DOMAIN_CB(class OWNER_WINDOW *,unsigned int)
-??0BROWSER_DOMAIN_CB@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall BROWSER_DOMAIN_LB::BROWSER_DOMAIN_LB(class OWNER_WINDOW *,unsigned int,class BROWSER_DOMAIN_CB *)
-??0BROWSER_DOMAIN_LB@@QAE@PAVOWNER_WINDOW@@IPAVBROWSER_DOMAIN_CB@@@Z
-; public: __thiscall BROWSER_DOMAIN_LBI::BROWSER_DOMAIN_LBI(class BROWSER_DOMAIN *)
-??0BROWSER_DOMAIN_LBI@@QAE@PAVBROWSER_DOMAIN@@@Z
-; public: __thiscall BROWSER_DOMAIN_LBI_PB::BROWSER_DOMAIN_LBI_PB(class BROWSER_DOMAIN_LBI *)
-??0BROWSER_DOMAIN_LBI_PB@@QAE@PAVBROWSER_DOMAIN_LBI@@@Z
-; public: __thiscall BROWSER_SUBJECT::BROWSER_SUBJECT(void)
-??0BROWSER_SUBJECT@@QAE@XZ
-; public: __thiscall BROWSER_SUBJECT_ITER::BROWSER_SUBJECT_ITER(class NT_USER_BROWSER_DIALOG *)
-??0BROWSER_SUBJECT_ITER@@QAE@PAVNT_USER_BROWSER_DIALOG@@@Z
-; protected: __thiscall BUTTON_CONTROL::BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int)
-??0BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@I@Z
-; protected: __thiscall BUTTON_CONTROL::BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
-??0BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __thiscall CANCEL_TASK_DIALOG::CANCEL_TASK_DIALOG(unsigned int,struct HWND__ *,unsigned short const *,unsigned long,long,enum ELLIPSIS_STYLE)
-??0CANCEL_TASK_DIALOG@@QAE@IPAUHWND__@@PBGKJW4ELLIPSIS_STYLE@@@Z
-; public: __thiscall CHANGEABLE_SPIN_ITEM::CHANGEABLE_SPIN_ITEM(class CONTROL_WINDOW *,unsigned long,unsigned long,unsigned long,int)
-??0CHANGEABLE_SPIN_ITEM@@QAE@PAVCONTROL_WINDOW@@KKKH@Z
-; public: __thiscall CHECKBOX::CHECKBOX(class OWNER_WINDOW *,unsigned int)
-??0CHECKBOX@@QAE@PAVOWNER_WINDOW@@I@Z
-; protected: __thiscall CLIENT_WINDOW::CLIENT_WINDOW(unsigned long,class WINDOW const *,unsigned short const *)
-??0CLIENT_WINDOW@@IAE@KPBVWINDOW@@PBG@Z
-; protected: __thiscall CLIENT_WINDOW::CLIENT_WINDOW(void)
-??0CLIENT_WINDOW@@IAE@XZ
-; public: __thiscall COMBOBOX::COMBOBOX(class OWNER_WINDOW *,unsigned int,unsigned int)
-??0COMBOBOX@@QAE@PAVOWNER_WINDOW@@II@Z
-; public: __thiscall COMBOBOX::COMBOBOX(class OWNER_WINDOW *,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0COMBOBOX@@QAE@PAVOWNER_WINDOW@@IIVXYPOINT@@VXYDIMENSION@@KPBG@Z
-; public: __thiscall CONSOLE_ELLIPSIS::CONSOLE_ELLIPSIS(enum ELLIPSIS_STYLE,int)
-??0CONSOLE_ELLIPSIS@@QAE@W4ELLIPSIS_STYLE@@H@Z
-; public: __thiscall CONTROLVAL_CID_PAIR::CONTROLVAL_CID_PAIR(unsigned int,class CONTROL_VALUE *)
-??0CONTROLVAL_CID_PAIR@@QAE@IPAVCONTROL_VALUE@@@Z
-; public: __thiscall CONTROLVAL_CID_PAIR::CONTROLVAL_CID_PAIR(void)
-??0CONTROLVAL_CID_PAIR@@QAE@XZ
-; private: __thiscall CONTROL_ENTRY::CONTROL_ENTRY(class CONTROL_WINDOW *)
-??0CONTROL_ENTRY@@AAE@PAVCONTROL_WINDOW@@@Z
-; public: __thiscall CONTROL_EVENT::CONTROL_EVENT(unsigned int,unsigned int)
-??0CONTROL_EVENT@@QAE@II@Z
-; public: __thiscall CONTROL_EVENT::CONTROL_EVENT(unsigned int,unsigned int,long)
-??0CONTROL_EVENT@@QAE@IIJ@Z
-; public: __thiscall CONTROL_GROUP::CONTROL_GROUP(class CONTROL_GROUP *)
-??0CONTROL_GROUP@@QAE@PAV0@@Z
-; public: __thiscall CONTROL_TABLE::CONTROL_TABLE(void)
-??0CONTROL_TABLE@@QAE@XZ
-; public: __thiscall CONTROL_VALUE::CONTROL_VALUE(class CONTROL_GROUP *)
-??0CONTROL_VALUE@@QAE@PAVCONTROL_GROUP@@@Z
-; public: __thiscall CONTROL_WINDOW::CONTROL_WINDOW(class OWNER_WINDOW *,unsigned int)
-??0CONTROL_WINDOW@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall CONTROL_WINDOW::CONTROL_WINDOW(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0CONTROL_WINDOW@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
-; public: __thiscall CUSTOM_CONTROL::CUSTOM_CONTROL(class CONTROL_WINDOW *)
-??0CUSTOM_CONTROL@@QAE@PAVCONTROL_WINDOW@@@Z
-; public: __thiscall DEC_SLT::DEC_SLT(class OWNER_WINDOW *,unsigned int,unsigned int)
-??0DEC_SLT@@QAE@PAVOWNER_WINDOW@@II@Z
-; public: __thiscall DEC_SLT::DEC_SLT(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
-??0DEC_SLT@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
-; public: __thiscall DEVICE_COMBO::DEVICE_COMBO(class OWNER_WINDOW *,unsigned int,enum LMO_DEVICE,enum LMO_DEV_USAGE)
-??0DEVICE_COMBO@@QAE@PAVOWNER_WINDOW@@IW4LMO_DEVICE@@W4LMO_DEV_USAGE@@@Z
-; public: __thiscall DEVICE_CONTEXT::DEVICE_CONTEXT(struct HDC__ *)
-??0DEVICE_CONTEXT@@QAE@PAUHDC__@@@Z
-; protected: __thiscall DIALOG_WINDOW::DIALOG_WINDOW(unsigned char const *,unsigned int,struct HWND__ *,int)
-??0DIALOG_WINDOW@@IAE@PBEIPAUHWND__@@H@Z
-; public: __thiscall DIALOG_WINDOW::DIALOG_WINDOW(class IDRESOURCE const &,class PWND2HWND const &,int)
-??0DIALOG_WINDOW@@QAE@ABVIDRESOURCE@@ABVPWND2HWND@@H@Z
-; public: __thiscall DISK_SPACE_SUBCLASS::DISK_SPACE_SUBCLASS(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,long,long,long,long,long,int)
-??0DISK_SPACE_SUBCLASS@@QAE@PAVOWNER_WINDOW@@IIIIIJJJJJH@Z
-; protected: __thiscall DISPATCHER::DISPATCHER(class WINDOW *)
-??0DISPATCHER@@IAE@PAVWINDOW@@@Z
-; public: __thiscall DISPLAY_CONTEXT::DISPLAY_CONTEXT(struct HWND__ *)
-??0DISPLAY_CONTEXT@@QAE@PAUHWND__@@@Z
-; public: __thiscall DISPLAY_CONTEXT::DISPLAY_CONTEXT(class WINDOW *)
-??0DISPLAY_CONTEXT@@QAE@PAVWINDOW@@@Z
-; public: __thiscall DISPLAY_CONTEXT::DISPLAY_CONTEXT(class WINDOW *,struct HDC__ *)
-??0DISPLAY_CONTEXT@@QAE@PAVWINDOW@@PAUHDC__@@@Z
-; public: __thiscall DISPLAY_MAP::DISPLAY_MAP(unsigned int)
-??0DISPLAY_MAP@@QAE@I@Z
-; public: __thiscall DISPLAY_TABLE::DISPLAY_TABLE(unsigned int,unsigned int const *)
-??0DISPLAY_TABLE@@QAE@IPBI@Z
-; public: __thiscall DLGLOAD::DLGLOAD(class IDRESOURCE const &,struct HWND__ *,int (__stdcall*)(struct HWND__ *,unsigned int,unsigned int,long),int)
-??0DLGLOAD@@QAE@ABVIDRESOURCE@@PAUHWND__@@P6GH1IIJ@ZH@Z
-; public: __thiscall DLGLOAD::DLGLOAD(unsigned char const *,unsigned int,struct HWND__ *,int (__stdcall*)(struct HWND__ *,unsigned int,unsigned int,long),int)
-??0DLGLOAD@@QAE@PBEIPAUHWND__@@P6GH1IIJ@ZH@Z
-; public: __thiscall DLIST_OF_SPIN_ITEM::DLIST_OF_SPIN_ITEM(int)
-??0DLIST_OF_SPIN_ITEM@@QAE@H@Z
-; public: __thiscall DMID_DTE::DMID_DTE(unsigned int)
-??0DMID_DTE@@QAE@I@Z
-; protected: __thiscall DM_DTE::DM_DTE(void)
-??0DM_DTE@@IAE@XZ
-; public: __thiscall DM_DTE::DM_DTE(class DISPLAY_MAP *)
-??0DM_DTE@@QAE@PAVDISPLAY_MAP@@@Z
-; public: __thiscall DOMAIN_COMBO::DOMAIN_COMBO(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int)
-??0DOMAIN_COMBO@@QAE@PAVOWNER_WINDOW@@III@Z
-; public: __thiscall DOMAIN_FILL_THREAD::DOMAIN_FILL_THREAD(class NT_USER_BROWSER_DIALOG *,class BROWSER_DOMAIN *,class ADMIN_AUTHORITY const *)
-??0DOMAIN_FILL_THREAD@@QAE@PAVNT_USER_BROWSER_DIALOG@@PAVBROWSER_DOMAIN@@PBVADMIN_AUTHORITY@@@Z
-; protected: __thiscall DTE::DTE(void)
-??0DTE@@IAE@XZ
-; public: __thiscall EDIT_CONTROL::EDIT_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int)
-??0EDIT_CONTROL@@QAE@PAVOWNER_WINDOW@@II@Z
-; public: __thiscall EDIT_CONTROL::EDIT_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
-??0EDIT_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
-; public: __thiscall ELAPSED_TIME_CONTROL::ELAPSED_TIME_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,class SLT &,long,long,long,class SLT &,class SLT &,long,long,long,long,int)
-??0ELAPSED_TIME_CONTROL@@QAE@PAVOWNER_WINDOW@@IIIIIIAAVSLT@@JJJ11JJJJH@Z
-; public: __thiscall EVENT::EVENT(unsigned int,unsigned int,long)
-??0EVENT@@QAE@IIJ@Z
-; public: __thiscall EXPANDABLE_DIALOG::EXPANDABLE_DIALOG(unsigned short const *,struct HWND__ *,unsigned int,unsigned int,int)
-??0EXPANDABLE_DIALOG@@QAE@PBGPAUHWND__@@IIH@Z
-; public: __thiscall FOCUSDLG_DATA_THREAD::FOCUSDLG_DATA_THREAD(struct HWND__ *,unsigned long,enum SELECTION_TYPE,unsigned short const *,unsigned long)
-??0FOCUSDLG_DATA_THREAD@@QAE@PAUHWND__@@KW4SELECTION_TYPE@@PBGK@Z
-; public: __thiscall FOCUS_CHECKBOX::FOCUS_CHECKBOX(class OWNER_WINDOW *,unsigned int)
-??0FOCUS_CHECKBOX@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall FONT::FONT(struct tagLOGFONTW const &)
-??0FONT@@QAE@ABUtagLOGFONTW@@@Z
-; public: __thiscall FONT::FONT(unsigned short const *,unsigned char,int,enum FontAttributes)
-??0FONT@@QAE@PBGEHW4FontAttributes@@@Z
-; public: __thiscall FONT::FONT(enum FontType)
-??0FONT@@QAE@W4FontType@@@Z
-; protected: __thiscall FORWARDING_BASE::FORWARDING_BASE(class BASE *)
-??0FORWARDING_BASE@@IAE@PAVBASE@@@Z
-; protected: __thiscall GET_FNAME_BASE_DLG::GET_FNAME_BASE_DLG(class OWNER_WINDOW *,unsigned short const *,unsigned long)
-??0GET_FNAME_BASE_DLG@@IAE@PAVOWNER_WINDOW@@PBGK@Z
-; public: __thiscall GET_OPEN_FILENAME_DLG::GET_OPEN_FILENAME_DLG(class OWNER_WINDOW *,unsigned short const *,unsigned long)
-??0GET_OPEN_FILENAME_DLG@@QAE@PAVOWNER_WINDOW@@PBGK@Z
-; public: __thiscall GET_SAVE_FILENAME_DLG::GET_SAVE_FILENAME_DLG(class OWNER_WINDOW *,unsigned short const *,unsigned long)
-??0GET_SAVE_FILENAME_DLG@@QAE@PAVOWNER_WINDOW@@PBGK@Z
-; public: __thiscall GLOBAL_ATOM::GLOBAL_ATOM(unsigned short const *)
-??0GLOBAL_ATOM@@QAE@PBG@Z
-; public: __thiscall GRAPHICAL_BUTTON::GRAPHICAL_BUTTON(class OWNER_WINDOW *,unsigned int,unsigned short const *,unsigned short const *,unsigned short const *)
-??0GRAPHICAL_BUTTON@@QAE@PAVOWNER_WINDOW@@IPBG11@Z
-; public: __thiscall GRAPHICAL_BUTTON::GRAPHICAL_BUTTON(class OWNER_WINDOW *,unsigned int,unsigned short const *,unsigned short const *,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0GRAPHICAL_BUTTON@@QAE@PAVOWNER_WINDOW@@IPBG1VXYPOINT@@VXYDIMENSION@@K1@Z
-; public: __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::GRAPHICAL_BUTTON_WITH_DISABLE(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int)
-??0GRAPHICAL_BUTTON_WITH_DISABLE@@QAE@PAVOWNER_WINDOW@@IIII@Z
-; public: __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::GRAPHICAL_BUTTON_WITH_DISABLE(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
-??0GRAPHICAL_BUTTON_WITH_DISABLE@@QAE@PAVOWNER_WINDOW@@IIIIVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __thiscall HAS_MESSAGE_PUMP::HAS_MESSAGE_PUMP(void)
-??0HAS_MESSAGE_PUMP@@QAE@XZ
-; public: __thiscall HAW_FOR_HAWAII_INFO::HAW_FOR_HAWAII_INFO(void)
-??0HAW_FOR_HAWAII_INFO@@QAE@XZ
-; public: __thiscall HIDDEN_CONTROL::HIDDEN_CONTROL(class OWNER_WINDOW *,unsigned int)
-??0HIDDEN_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall HIER_LBI::HIER_LBI(int)
-??0HIER_LBI@@QAE@H@Z
-; public: __thiscall HIER_LBI_ITERATOR::HIER_LBI_ITERATOR(class HIER_LBI *,int)
-??0HIER_LBI_ITERATOR@@QAE@PAVHIER_LBI@@H@Z
-; public: __thiscall HIER_LISTBOX::HIER_LISTBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType,int)
-??0HIER_LISTBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@H@Z
-; public: __thiscall HIER_LISTBOX::HIER_LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int)
-??0HIER_LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
-; public: __thiscall H_SPLITTER_BAR::H_SPLITTER_BAR(class OWNER_WINDOW *,unsigned int)
-??0H_SPLITTER_BAR@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall H_SPLITTER_BAR::H_SPLITTER_BAR(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
-??0H_SPLITTER_BAR@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __thiscall ICANON_SLE::ICANON_SLE(class OWNER_WINDOW *,unsigned int,unsigned int,int)
-??0ICANON_SLE@@QAE@PAVOWNER_WINDOW@@IIH@Z
-; public: __thiscall ICANON_SLE::ICANON_SLE(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int,int)
-??0ICANON_SLE@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGIH@Z
-; public: __thiscall ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW *,unsigned int)
-??0ICON_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW *,unsigned int,class IDRESOURCE const &)
-??0ICON_CONTROL@@QAE@PAVOWNER_WINDOW@@IABVIDRESOURCE@@@Z
-; public: __thiscall ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,class IDRESOURCE const &,unsigned long,unsigned short const *)
-??0ICON_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@ABVIDRESOURCE@@KPBG@Z
-; public: __thiscall ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0ICON_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
-; public: __thiscall IDRESOURCE::IDRESOURCE(unsigned int)
-??0IDRESOURCE@@QAE@I@Z
-; public: __thiscall IDRESOURCE::IDRESOURCE(unsigned short const *)
-??0IDRESOURCE@@QAE@PBG@Z
-; public: __thiscall ITER_CTRL::ITER_CTRL(class OWNER_WINDOW const *)
-??0ITER_CTRL@@QAE@PBVOWNER_WINDOW@@@Z
-; public: __thiscall ITER_DL_SPIN_ITEM::ITER_DL_SPIN_ITEM(class DLIST &)
-??0ITER_DL_SPIN_ITEM@@QAE@AAVDLIST@@@Z
-; public: __thiscall ITER_SL_ASSOCHCFILE::ITER_SL_ASSOCHCFILE(class SLIST &)
-??0ITER_SL_ASSOCHCFILE@@QAE@AAVSLIST@@@Z
-; public: __thiscall ITER_SL_CLIENTDATA::ITER_SL_CLIENTDATA(class SLIST &)
-??0ITER_SL_CLIENTDATA@@QAE@AAVSLIST@@@Z
-; public: __thiscall ITER_SL_STRING_BITSET_PAIR::ITER_SL_STRING_BITSET_PAIR(class SLIST &)
-??0ITER_SL_STRING_BITSET_PAIR@@QAE@AAVSLIST@@@Z
-; public: __thiscall ITER_SL_TIMER_BASE::ITER_SL_TIMER_BASE(class SLIST &)
-??0ITER_SL_TIMER_BASE@@QAE@AAVSLIST@@@Z
-; public: __thiscall ITER_SL_UI_EXT::ITER_SL_UI_EXT(class SLIST &)
-??0ITER_SL_UI_EXT@@QAE@AAVSLIST@@@Z
-; public: __thiscall ITER_SL_USER_BROWSER_LBI::ITER_SL_USER_BROWSER_LBI(class SLIST &)
-??0ITER_SL_USER_BROWSER_LBI@@QAE@AAVSLIST@@@Z
-; public: __thiscall LAZY_LISTBOX::LAZY_LISTBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType)
-??0LAZY_LISTBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@@Z
-; public: __thiscall LAZY_LISTBOX::LAZY_LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType)
-??0LAZY_LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@@Z
-; public: __thiscall LBI::LBI(void)
-??0LBI@@QAE@XZ
-; public: __thiscall LBITREE::LBITREE(void)
-??0LBITREE@@QAE@XZ
-; public: __thiscall LBI_HEAP::LBI_HEAP(int,int)
-??0LBI_HEAP@@QAE@HH@Z
-; public: __thiscall LB_COLUMN_HEADER::LB_COLUMN_HEADER(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION)
-??0LB_COLUMN_HEADER@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@@Z
-; public: __thiscall LB_COL_WIDTHS::LB_COL_WIDTHS(struct HWND__ *,struct HINSTANCE__ *,class IDRESOURCE const &,unsigned int,unsigned int)
-??0LB_COL_WIDTHS@@QAE@PAUHWND__@@PAUHINSTANCE__@@ABVIDRESOURCE@@II@Z
-; public: __thiscall LISTBOX::LISTBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType,int)
-??0LISTBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@H@Z
-; public: __thiscall LISTBOX::LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int)
-??0LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
-; protected: __thiscall LIST_CONTROL::LIST_CONTROL(class OWNER_WINDOW *,unsigned int,int)
-??0LIST_CONTROL@@IAE@PAVOWNER_WINDOW@@IH@Z
-; protected: __thiscall LIST_CONTROL::LIST_CONTROL(class OWNER_WINDOW *,unsigned int,int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0LIST_CONTROL@@IAE@PAVOWNER_WINDOW@@IHVXYPOINT@@VXYDIMENSION@@KPBG@Z
-; public: __thiscall LM_OLLB::LM_OLLB(class OWNER_WINDOW *,unsigned int,enum SELECTION_TYPE,unsigned long)
-??0LM_OLLB@@QAE@PAVOWNER_WINDOW@@IW4SELECTION_TYPE@@K@Z
-; public: __thiscall LM_OLLB::LM_OLLB(class OWNER_WINDOW *,unsigned int,enum SELECTION_TYPE,unsigned short const *,unsigned long,unsigned long)
-??0LM_OLLB@@QAE@PAVOWNER_WINDOW@@IW4SELECTION_TYPE@@PBGKK@Z
-; public: __thiscall LOCAL_ATOM::LOCAL_ATOM(unsigned short const *)
-??0LOCAL_ATOM@@QAE@PBG@Z
-; public: __thiscall LOGON_HOURS_CONTROL::LOGON_HOURS_CONTROL(class OWNER_WINDOW *,unsigned int)
-??0LOGON_HOURS_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall LOGON_HOURS_CONTROL::LOGON_HOURS_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION)
-??0LOGON_HOURS_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@@Z
-; public: __thiscall MAGIC_GROUP::MAGIC_GROUP(class OWNER_WINDOW *,unsigned int,int,unsigned int,class CONTROL_GROUP *)
-??0MAGIC_GROUP@@QAE@PAVOWNER_WINDOW@@IHIPAVCONTROL_GROUP@@@Z
-; public: __thiscall MASK_MAP::MASK_MAP(void)
-??0MASK_MAP@@QAE@XZ
-; public: __thiscall MEMORY_DC::MEMORY_DC(class DEVICE_CONTEXT &)
-??0MEMORY_DC@@QAE@AAVDEVICE_CONTEXT@@@Z
-; protected: __thiscall MENUITEM::MENUITEM(struct HMENU__ *,unsigned int)
-??0MENUITEM@@IAE@PAUHMENU__@@I@Z
-; public: __thiscall MENUITEM::MENUITEM(class APP_WINDOW *,unsigned int)
-??0MENUITEM@@QAE@PAVAPP_WINDOW@@I@Z
-; protected: __thiscall MENU_BASE::MENU_BASE(struct HMENU__ *)
-??0MENU_BASE@@IAE@PAUHMENU__@@@Z
-; public: __thiscall METER::METER(class OWNER_WINDOW *,unsigned int,unsigned long)
-??0METER@@QAE@PAVOWNER_WINDOW@@IK@Z
-; public: __thiscall METER::METER(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long)
-??0METER@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KK@Z
-; public: __thiscall MLE::MLE(class OWNER_WINDOW *,unsigned int,unsigned int)
-??0MLE@@QAE@PAVOWNER_WINDOW@@II@Z
-; public: __thiscall MLE::MLE(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
-??0MLE@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
-; public: __thiscall MLE_FONT::MLE_FONT(class OWNER_WINDOW *,unsigned int,enum FontType)
-??0MLE_FONT@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
-; public: __thiscall MLT::MLT(class OWNER_WINDOW *,unsigned int)
-??0MLT@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall MLT::MLT(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0MLT@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
-; public: __thiscall MLT_FONT::MLT_FONT(class OWNER_WINDOW *,unsigned int,enum FontType)
-??0MLT_FONT@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
-; public: __thiscall MOUSE_EVENT::MOUSE_EVENT(unsigned int,unsigned int,long)
-??0MOUSE_EVENT@@QAE@IIJ@Z
-; public: __thiscall MSGPOPUP_DIALOG::MSGPOPUP_DIALOG(struct HWND__ *,class NLS_STR const &,long,enum MSG_SEVERITY,unsigned long,unsigned int,unsigned int,long,unsigned long)
-??0MSGPOPUP_DIALOG@@QAE@PAUHWND__@@ABVNLS_STR@@JW4MSG_SEVERITY@@KIIJK@Z
-; protected: __thiscall MSG_DIALOG_BASE::MSG_DIALOG_BASE(struct HWND__ *,unsigned short const *,unsigned int)
-??0MSG_DIALOG_BASE@@IAE@PAUHWND__@@PBGI@Z
-; public: __thiscall NT_FIND_ACCOUNT_DIALOG::NT_FIND_ACCOUNT_DIALOG(struct HWND__ *,class NT_USER_BROWSER_DIALOG *,class BROWSER_DOMAIN_CB *,unsigned short const *,unsigned long)
-??0NT_FIND_ACCOUNT_DIALOG@@QAE@PAUHWND__@@PAVNT_USER_BROWSER_DIALOG@@PAVBROWSER_DOMAIN_CB@@PBGK@Z
-; public: __thiscall NT_GLOBALGROUP_BROWSER_DIALOG::NT_GLOBALGROUP_BROWSER_DIALOG(struct HWND__ *,class NT_USER_BROWSER_DIALOG *,unsigned short const *,unsigned short const *,class OS_SID const *,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
-??0NT_GLOBALGROUP_BROWSER_DIALOG@@QAE@PAUHWND__@@PAVNT_USER_BROWSER_DIALOG@@PBG2PBVOS_SID@@PBVSAM_DOMAIN@@PAVLSA_POLICY@@2@Z
-; public: __thiscall NT_GROUP_BROWSER_DIALOG::NT_GROUP_BROWSER_DIALOG(unsigned short const *,struct HWND__ *,class NT_USER_BROWSER_DIALOG *,unsigned short const *,unsigned short const *)
-??0NT_GROUP_BROWSER_DIALOG@@QAE@PBGPAUHWND__@@PAVNT_USER_BROWSER_DIALOG@@00@Z
-; public: __thiscall NT_GROUP_BROWSER_LB::NT_GROUP_BROWSER_LB(class OWNER_WINDOW *,unsigned int)
-??0NT_GROUP_BROWSER_LB@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall NT_LOCALGROUP_BROWSER_DIALOG::NT_LOCALGROUP_BROWSER_DIALOG(struct HWND__ *,class NT_USER_BROWSER_DIALOG *,unsigned short const *,unsigned short const *,class OS_SID const *,class SAM_DOMAIN const *,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
-??0NT_LOCALGROUP_BROWSER_DIALOG@@QAE@PAUHWND__@@PAVNT_USER_BROWSER_DIALOG@@PBG2PBVOS_SID@@PBVSAM_DOMAIN@@4PAVLSA_POLICY@@2@Z
-; public: __thiscall NT_USER_BROWSER_DIALOG::NT_USER_BROWSER_DIALOG(unsigned short const *,struct HWND__ *,unsigned short const *,unsigned long,unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,class ADMIN_AUTHORITY const *)
-??0NT_USER_BROWSER_DIALOG@@QAE@PBGPAUHWND__@@0KK0KKKPBVADMIN_AUTHORITY@@@Z
-; public: __thiscall OLLB_ENTRY::OLLB_ENTRY(enum OUTLINE_LB_LEVEL,int,unsigned short const *,unsigned short const *,unsigned short const *)
-??0OLLB_ENTRY@@QAE@W4OUTLINE_LB_LEVEL@@HPBG11@Z
-; public: __thiscall OPEN_DIALOG_BASE::OPEN_DIALOG_BASE(struct HWND__ *,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned short const *,unsigned short const *,class OPEN_LBOX_BASE *)
-??0OPEN_DIALOG_BASE@@QAE@PAUHWND__@@IIIIIPBG1PAVOPEN_LBOX_BASE@@@Z
-; public: __thiscall OPEN_LBI_BASE::OPEN_LBI_BASE(unsigned short const *,unsigned short const *,unsigned long,unsigned long,unsigned long)
-??0OPEN_LBI_BASE@@QAE@PBG0KKK@Z
-; public: __thiscall OPEN_LBOX_BASE::OPEN_LBOX_BASE(class OWNER_WINDOW *,unsigned int,class NLS_STR const &,class NLS_STR const &)
-??0OPEN_LBOX_BASE@@QAE@PAVOWNER_WINDOW@@IABVNLS_STR@@1@Z
-; public: __thiscall ORDER_GROUP::ORDER_GROUP(class STRING_LISTBOX *,class BUTTON_CONTROL *,class BUTTON_CONTROL *,class CONTROL_GROUP *)
-??0ORDER_GROUP@@QAE@PAVSTRING_LISTBOX@@PAVBUTTON_CONTROL@@1PAVCONTROL_GROUP@@@Z
-; public: __thiscall OUTLINE_LISTBOX::OUTLINE_LISTBOX(class OWNER_WINDOW *,unsigned int,int)
-??0OUTLINE_LISTBOX@@QAE@PAVOWNER_WINDOW@@IH@Z
-; public: __thiscall OWNER_WINDOW::OWNER_WINDOW(unsigned short const *,unsigned long,class WINDOW const *)
-??0OWNER_WINDOW@@QAE@PBGKPBVWINDOW@@@Z
-; public: __thiscall OWNER_WINDOW::OWNER_WINDOW(void)
-??0OWNER_WINDOW@@QAE@XZ
-; public: __thiscall OWNINGWND::OWNINGWND(struct HWND__ *)
-??0OWNINGWND@@QAE@PAUHWND__@@@Z
-; public: __thiscall OWNINGWND::OWNINGWND(class OWNER_WINDOW const *)
-??0OWNINGWND@@QAE@PBVOWNER_WINDOW@@@Z
-; public: __thiscall PAINT_DISPLAY_CONTEXT::PAINT_DISPLAY_CONTEXT(class WINDOW *)
-??0PAINT_DISPLAY_CONTEXT@@QAE@PAVWINDOW@@@Z
-; public: __thiscall PASSWORD_CONTROL::PASSWORD_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int)
-??0PASSWORD_CONTROL@@QAE@PAVOWNER_WINDOW@@II@Z
-; public: __thiscall PASSWORD_CONTROL::PASSWORD_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
-??0PASSWORD_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
-; public: __thiscall POPUP::POPUP(struct HWND__ *,long,enum MSG_SEVERITY,unsigned int,unsigned int,int)
-??0POPUP@@QAE@PAUHWND__@@JW4MSG_SEVERITY@@IIH@Z
-; public: __thiscall POPUP::POPUP(struct HWND__ *,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR const * *,unsigned int)
-??0POPUP@@QAE@PAUHWND__@@JW4MSG_SEVERITY@@KIPAPBVNLS_STR@@I@Z
-; public: __thiscall POPUP_MENU::POPUP_MENU(class IDRESOURCE &)
-??0POPUP_MENU@@QAE@AAVIDRESOURCE@@@Z
-; public: __thiscall POPUP_MENU::POPUP_MENU(class PWND2HWND const &)
-??0POPUP_MENU@@QAE@ABVPWND2HWND@@@Z
-; public: __thiscall POPUP_MENU::POPUP_MENU(struct HMENU__ *)
-??0POPUP_MENU@@QAE@PAUHMENU__@@@Z
-; public: __thiscall POPUP_MENU::POPUP_MENU(void)
-??0POPUP_MENU@@QAE@XZ
-; public: __thiscall PROC_INSTANCE::PROC_INSTANCE(unsigned long)
-??0PROC_INSTANCE@@QAE@K@Z
-; public: __thiscall PROC_TIMER::PROC_TIMER(struct HWND__ *,unsigned long,unsigned long,int)
-??0PROC_TIMER@@QAE@PAUHWND__@@KKH@Z
-; public: __thiscall PROGRESS_CONTROL::PROGRESS_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int)
-??0PROGRESS_CONTROL@@QAE@PAVOWNER_WINDOW@@III@Z
-; public: __thiscall PROMPT_AND_CONNECT::PROMPT_AND_CONNECT(struct HWND__ *,unsigned short const *,unsigned long,unsigned int,unsigned short const *)
-??0PROMPT_AND_CONNECT@@QAE@PAUHWND__@@PBGKI1@Z
-; public: __thiscall PROMPT_FOR_ANY_DC_DLG::PROMPT_FOR_ANY_DC_DLG(class PWND2HWND &,unsigned long,class NLS_STR const *,class PWND2HWND *)
-??0PROMPT_FOR_ANY_DC_DLG@@QAE@AAVPWND2HWND@@KPBVNLS_STR@@PAV2@@Z
-; public: __thiscall PUSH_BUTTON::PUSH_BUTTON(class OWNER_WINDOW *,unsigned int)
-??0PUSH_BUTTON@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall PUSH_BUTTON::PUSH_BUTTON(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
-??0PUSH_BUTTON@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __thiscall PWND2HWND::PWND2HWND(struct HWND__ *)
-??0PWND2HWND@@QAE@PAUHWND__@@@Z
-; public: __thiscall RADIO_BUTTON::RADIO_BUTTON(class OWNER_WINDOW *,unsigned int)
-??0RADIO_BUTTON@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall RADIO_GROUP::RADIO_GROUP(class OWNER_WINDOW *,unsigned int,int,unsigned int,class CONTROL_GROUP *)
-??0RADIO_GROUP@@QAE@PAVOWNER_WINDOW@@IHIPAVCONTROL_GROUP@@@Z
-; public: __thiscall RESOURCE_PASSWORD_DIALOG::RESOURCE_PASSWORD_DIALOG(struct HWND__ *,unsigned short const *,unsigned int,unsigned long)
-??0RESOURCE_PASSWORD_DIALOG@@QAE@PAUHWND__@@PBGIK@Z
-; public: __thiscall RESOURCE_STR::RESOURCE_STR(long)
-??0RESOURCE_STR@@QAE@J@Z
-; public: __thiscall RITER_DL_SPIN_ITEM::RITER_DL_SPIN_ITEM(class DLIST &)
-??0RITER_DL_SPIN_ITEM@@QAE@AAVDLIST@@@Z
-; public: __thiscall SCREEN_DC::SCREEN_DC(void)
-??0SCREEN_DC@@QAE@XZ
-; public: __thiscall SCROLLBAR::SCROLLBAR(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
-??0SCROLLBAR@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __thiscall SCROLL_EVENT::SCROLL_EVENT(unsigned int,unsigned int,long)
-??0SCROLL_EVENT@@QAE@IIJ@Z
-; public: __thiscall SET_CONTROL::SET_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int,struct HICON__ *,struct HICON__ *,class LISTBOX *,class LISTBOX *,unsigned int)
-??0SET_CONTROL@@QAE@PAVOWNER_WINDOW@@IIPAUHICON__@@1PAVLISTBOX@@2I@Z
-; public: __thiscall SET_OF_AUDIT_CATEGORIES::SET_OF_AUDIT_CATEGORIES(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,class MASK_MAP *,class BITFIELD *,class BITFIELD *,int)
-??0SET_OF_AUDIT_CATEGORIES@@QAE@PAVOWNER_WINDOW@@IIIPAVMASK_MAP@@PAVBITFIELD@@2H@Z
-; public: __thiscall SLE::SLE(class OWNER_WINDOW *,unsigned int,unsigned int)
-??0SLE@@QAE@PAVOWNER_WINDOW@@II@Z
-; public: __thiscall SLE::SLE(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
-??0SLE@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
-; public: __thiscall SLE_FONT::SLE_FONT(class OWNER_WINDOW *,unsigned int,enum FontType)
-??0SLE_FONT@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
-; public: __thiscall SLE_STRIP::SLE_STRIP(class OWNER_WINDOW *,unsigned int,unsigned int,int)
-??0SLE_STRIP@@QAE@PAVOWNER_WINDOW@@IIH@Z
-; public: __thiscall SLE_STRIP::SLE_STRIP(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int,int)
-??0SLE_STRIP@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGIH@Z
-; public: __thiscall SLE_STRLB_GROUP::SLE_STRLB_GROUP(class OWNER_WINDOW *,class SLE *,class STRING_LISTBOX *,class PUSH_BUTTON *,class PUSH_BUTTON *)
-??0SLE_STRLB_GROUP@@QAE@PAVOWNER_WINDOW@@PAVSLE@@PAVSTRING_LISTBOX@@PAVPUSH_BUTTON@@3@Z
-; public: __thiscall SLIST_OF_ASSOCHCFILE::SLIST_OF_ASSOCHCFILE(int)
-??0SLIST_OF_ASSOCHCFILE@@QAE@H@Z
-; public: __thiscall SLIST_OF_CLIENTDATA::SLIST_OF_CLIENTDATA(int)
-??0SLIST_OF_CLIENTDATA@@QAE@H@Z
-; public: __thiscall SLIST_OF_OS_SID::SLIST_OF_OS_SID(int)
-??0SLIST_OF_OS_SID@@QAE@H@Z
-; public: __thiscall SLIST_OF_STRING_BITSET_PAIR::SLIST_OF_STRING_BITSET_PAIR(int)
-??0SLIST_OF_STRING_BITSET_PAIR@@QAE@H@Z
-; public: __thiscall SLIST_OF_TIMER_BASE::SLIST_OF_TIMER_BASE(int)
-??0SLIST_OF_TIMER_BASE@@QAE@H@Z
-; public: __thiscall SLIST_OF_UI_EXT::SLIST_OF_UI_EXT(int)
-??0SLIST_OF_UI_EXT@@QAE@H@Z
-; public: __thiscall SLIST_OF_ULC_API_BUFFER::SLIST_OF_ULC_API_BUFFER(int)
-??0SLIST_OF_ULC_API_BUFFER@@QAE@H@Z
-; public: __thiscall SLIST_OF_USER_BROWSER_LBI::SLIST_OF_USER_BROWSER_LBI(int)
-??0SLIST_OF_USER_BROWSER_LBI@@QAE@H@Z
-; public: __thiscall SLT::SLT(class OWNER_WINDOW *,unsigned int)
-??0SLT@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall SLT::SLT(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0SLT@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
-; public: __thiscall SLT_ELLIPSIS::SLT_ELLIPSIS(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,enum ELLIPSIS_STYLE)
-??0SLT_ELLIPSIS@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGW4ELLIPSIS_STYLE@@@Z
-; public: __thiscall SLT_ELLIPSIS::SLT_ELLIPSIS(class OWNER_WINDOW *,unsigned int,enum ELLIPSIS_STYLE)
-??0SLT_ELLIPSIS@@QAE@PAVOWNER_WINDOW@@IW4ELLIPSIS_STYLE@@@Z
-; public: __thiscall SLT_FONT::SLT_FONT(class OWNER_WINDOW *,unsigned int,enum FontType)
-??0SLT_FONT@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
-; public: __thiscall SOLID_BRUSH::SOLID_BRUSH(int)
-??0SOLID_BRUSH@@QAE@H@Z
-; public: __thiscall SPIN_GROUP::SPIN_GROUP(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,int)
-??0SPIN_GROUP@@QAE@PAVOWNER_WINDOW@@IIIH@Z
-; public: __thiscall SPIN_GROUP::SPIN_GROUP(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int)
-??0SPIN_GROUP@@QAE@PAVOWNER_WINDOW@@IIIVXYPOINT@@VXYDIMENSION@@KH@Z
-; public: __thiscall SPIN_ITEM::SPIN_ITEM(class CONTROL_WINDOW *)
-??0SPIN_ITEM@@QAE@PAVCONTROL_WINDOW@@@Z
-; public: __thiscall SPIN_SLE_NUM::SPIN_SLE_NUM(class OWNER_WINDOW *,unsigned int,unsigned long,unsigned long,unsigned long,int,unsigned int)
-??0SPIN_SLE_NUM@@QAE@PAVOWNER_WINDOW@@IKKKHI@Z
-; public: __thiscall SPIN_SLE_NUM::SPIN_SLE_NUM(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long,unsigned long,unsigned long,int,unsigned int)
-??0SPIN_SLE_NUM@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KKKKHI@Z
-; public: __thiscall SPIN_SLE_NUM_VALID::SPIN_SLE_NUM_VALID(class OWNER_WINDOW *,unsigned int,unsigned long,unsigned long,unsigned long,int)
-??0SPIN_SLE_NUM_VALID@@QAE@PAVOWNER_WINDOW@@IKKKH@Z
-; public: __thiscall SPIN_SLE_NUM_VALID::SPIN_SLE_NUM_VALID(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long,unsigned long,unsigned long,int)
-??0SPIN_SLE_NUM_VALID@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KKKKH@Z
-; public: __thiscall SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW *,unsigned int,long,long,int,unsigned int)
-??0SPIN_SLE_STR@@QAE@PAVOWNER_WINDOW@@IJJHI@Z
-; public: __thiscall SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW *,unsigned int,long,long,class XYPOINT,class XYDIMENSION,unsigned long,int,unsigned int)
-??0SPIN_SLE_STR@@QAE@PAVOWNER_WINDOW@@IJJVXYPOINT@@VXYDIMENSION@@KHI@Z
-; public: __thiscall SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW *,unsigned int,unsigned short const * * const,long,int,unsigned int)
-??0SPIN_SLE_STR@@QAE@PAVOWNER_WINDOW@@IQAPBGJHI@Z
-; public: __thiscall SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW *,unsigned int,unsigned short const * * const,long,class XYPOINT,class XYDIMENSION,unsigned long,int,unsigned int)
-??0SPIN_SLE_STR@@QAE@PAVOWNER_WINDOW@@IQAPBGJVXYPOINT@@VXYDIMENSION@@KHI@Z
-; public: __thiscall SPIN_SLE_VALID_SECOND::SPIN_SLE_VALID_SECOND(class OWNER_WINDOW *,unsigned int,long,long,long,long,int)
-??0SPIN_SLE_VALID_SECOND@@QAE@PAVOWNER_WINDOW@@IJJJJH@Z
-; public: __thiscall SPIN_SLT_SEPARATOR::SPIN_SLT_SEPARATOR(class OWNER_WINDOW *,unsigned int)
-??0SPIN_SLT_SEPARATOR@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall SPIN_SLT_SEPARATOR::SPIN_SLT_SEPARATOR(class OWNER_WINDOW *,unsigned int,unsigned short const *,class XYPOINT,class XYDIMENSION,unsigned long)
-??0SPIN_SLT_SEPARATOR@@QAE@PAVOWNER_WINDOW@@IPBGVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __thiscall STANDALONE_SET_FOCUS_DLG::STANDALONE_SET_FOCUS_DLG(struct HWND__ *,class NLS_STR *,unsigned long,enum SELECTION_TYPE,unsigned long,unsigned short const *,unsigned short const *,unsigned long)
-??0STANDALONE_SET_FOCUS_DLG@@QAE@PAUHWND__@@PAVNLS_STR@@KW4SELECTION_TYPE@@KPBG3K@Z
-; protected: __thiscall STATE2_BUTTON_CONTROL::STATE2_BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int)
-??0STATE2_BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall STATELB::STATELB(int * const,class OWNER_WINDOW *,unsigned int,int,int,enum FontType)
-??0STATELB@@QAE@QAHPAVOWNER_WINDOW@@IHHW4FontType@@@Z
-; public: __thiscall STATELBGRP::STATELBGRP(class STATELB *)
-??0STATELBGRP@@QAE@PAVSTATELB@@@Z
-; public: __thiscall STATELBGRP::STATELBGRP(int * const,class OWNER_WINDOW *,unsigned int,int,int,enum FontType)
-??0STATELBGRP@@QAE@QAHPAVOWNER_WINDOW@@IHHW4FontType@@@Z
-; protected: __thiscall STATE_BUTTON_CONTROL::STATE_BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int)
-??0STATE_BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@I@Z
-; protected: __thiscall STATE_BUTTON_CONTROL::STATE_BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
-??0STATE_BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
-; public: __thiscall STATIC_SPIN_ITEM::STATIC_SPIN_ITEM(class CONTROL_WINDOW *)
-??0STATIC_SPIN_ITEM@@QAE@PAVCONTROL_WINDOW@@@Z
-; public: __thiscall STATIC_TEXT_CONTROL::STATIC_TEXT_CONTROL(class OWNER_WINDOW *,unsigned int)
-??0STATIC_TEXT_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall STATIC_TEXT_CONTROL::STATIC_TEXT_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0STATIC_TEXT_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
-; public: __thiscall STLBITEM::STLBITEM(class STATELBGRP *)
-??0STLBITEM@@QAE@PAVSTATELBGRP@@@Z
-; public: __thiscall STRING_BITSET_PAIR::STRING_BITSET_PAIR(class NLS_STR const &,class BITFIELD const &,int)
-??0STRING_BITSET_PAIR@@QAE@ABVNLS_STR@@ABVBITFIELD@@H@Z
-; public: __thiscall STRING_LISTBOX::STRING_LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,enum FontType)
-??0STRING_LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGW4FontType@@@Z
-; public: __thiscall STRING_LISTBOX::STRING_LISTBOX(class OWNER_WINDOW *,unsigned int,enum FontType)
-??0STRING_LISTBOX@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
-; protected: __thiscall STRING_LIST_CONTROL::STRING_LIST_CONTROL(class OWNER_WINDOW *,unsigned int,int)
-??0STRING_LIST_CONTROL@@IAE@PAVOWNER_WINDOW@@IH@Z
-; protected: __thiscall STRING_LIST_CONTROL::STRING_LIST_CONTROL(class OWNER_WINDOW *,unsigned int,int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0STRING_LIST_CONTROL@@IAE@PAVOWNER_WINDOW@@IHVXYPOINT@@VXYDIMENSION@@KPBG@Z
-; public: __thiscall STR_DTE::STR_DTE(unsigned short const *)
-??0STR_DTE@@QAE@PBG@Z
-; public: __thiscall STR_DTE_ELLIPSIS::STR_DTE_ELLIPSIS(unsigned short const *,class LISTBOX *,enum ELLIPSIS_STYLE)
-??0STR_DTE_ELLIPSIS@@QAE@PBGPAVLISTBOX@@W4ELLIPSIS_STYLE@@@Z
-; public: __thiscall SUBJECT_BITMAP_BLOCK::SUBJECT_BITMAP_BLOCK(void)
-??0SUBJECT_BITMAP_BLOCK@@QAE@XZ
-; public: __thiscall SYSMENUITEM::SYSMENUITEM(class OWNER_WINDOW *,unsigned int)
-??0SYSMENUITEM@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall SYSTEM_MENU::SYSTEM_MENU(class PWND2HWND const &)
-??0SYSTEM_MENU@@QAE@ABVPWND2HWND@@@Z
-; public: __thiscall TEXT_CONTROL::TEXT_CONTROL(class OWNER_WINDOW *,unsigned int)
-??0TEXT_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall TEXT_CONTROL::TEXT_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
-??0TEXT_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
-; public: __thiscall TIMER::TIMER(class TIMER_CALLOUT *,unsigned long,int)
-??0TIMER@@QAE@PAVTIMER_CALLOUT@@KH@Z
-; public: __thiscall TIMER_BASE::TIMER_BASE(unsigned long,int)
-??0TIMER_BASE@@QAE@KH@Z
-; public: __thiscall TIMER_EVENT::TIMER_EVENT(unsigned int,unsigned int,long)
-??0TIMER_EVENT@@QAE@IIJ@Z
-; public: __thiscall TIMER_WINDOW::TIMER_WINDOW(class BLT_MASTER_TIMER *)
-??0TIMER_WINDOW@@QAE@PAVBLT_MASTER_TIMER@@@Z
-; public: __thiscall UI_DOMAIN::UI_DOMAIN(class PWND2HWND &,unsigned long,unsigned short const *,int)
-??0UI_DOMAIN@@QAE@AAVPWND2HWND@@KPBGH@Z
-; protected: __thiscall UI_EXT::UI_EXT(unsigned short const *,unsigned long)
-??0UI_EXT@@IAE@PBGK@Z
-; public: __thiscall UI_EXT_MGR::UI_EXT_MGR(class UI_EXT_MGR_IF *,unsigned long,unsigned long)
-??0UI_EXT_MGR@@QAE@PAVUI_EXT_MGR_IF@@KK@Z
-; protected: __thiscall UI_EXT_MGR_IF::UI_EXT_MGR_IF(void)
-??0UI_EXT_MGR_IF@@IAE@XZ
-; protected: __thiscall UI_MENU_EXT::UI_MENU_EXT(unsigned short const *,unsigned long)
-??0UI_MENU_EXT@@IAE@PBGK@Z
-; public: __thiscall UI_MENU_EXT_MGR::UI_MENU_EXT_MGR(class UI_EXT_MGR_IF *,unsigned long,unsigned long)
-??0UI_MENU_EXT_MGR@@QAE@PAVUI_EXT_MGR_IF@@KK@Z
-; public: __thiscall ULC_API_BUFFER::ULC_API_BUFFER(struct _DOMAIN_DISPLAY_USER *,unsigned long)
-??0ULC_API_BUFFER@@QAE@PAU_DOMAIN_DISPLAY_USER@@K@Z
-; public: __thiscall USER_BROWSER_LB::USER_BROWSER_LB(class OWNER_WINDOW *,unsigned int)
-??0USER_BROWSER_LB@@QAE@PAVOWNER_WINDOW@@I@Z
-; public: __thiscall USER_BROWSER_LBI::USER_BROWSER_LBI(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,void * const,enum UI_SystemSid,enum _SID_NAME_USE,unsigned long)
-??0USER_BROWSER_LBI@@QAE@PBG0000QAXW4UI_SystemSid@@W4_SID_NAME_USE@@K@Z
-; public: __thiscall USER_BROWSER_LBI_CACHE::USER_BROWSER_LBI_CACHE(void)
-??0USER_BROWSER_LBI_CACHE@@QAE@XZ
-; public: __thiscall USER_LBI_CACHE::USER_LBI_CACHE(int)
-??0USER_LBI_CACHE@@QAE@H@Z
-; public: __thiscall USRLB_NT_GROUP_ENUM::USRLB_NT_GROUP_ENUM(class SAM_DOMAIN const *)
-??0USRLB_NT_GROUP_ENUM@@QAE@PBVSAM_DOMAIN@@@Z
-; public: __thiscall WIN32_EVENT::WIN32_EVENT(unsigned short const *,int,int)
-??0WIN32_EVENT@@QAE@PBGHH@Z
-; public: __thiscall WIN32_HANDLE::WIN32_HANDLE(void *)
-??0WIN32_HANDLE@@QAE@PAX@Z
-; public: __thiscall WIN32_MUTEX::WIN32_MUTEX(unsigned short const *,int)
-??0WIN32_MUTEX@@QAE@PBGH@Z
-; public: __thiscall WIN32_SEMAPHORE::WIN32_SEMAPHORE(unsigned short const *,long,long)
-??0WIN32_SEMAPHORE@@QAE@PBGJJ@Z
-; protected: __thiscall WIN32_SYNC_BASE::WIN32_SYNC_BASE(void *)
-??0WIN32_SYNC_BASE@@IAE@PAX@Z
-; public: __thiscall WIN32_THREAD::WIN32_THREAD(int,unsigned int,unsigned short const *)
-??0WIN32_THREAD@@QAE@HIPBG@Z
-; public: __thiscall WINDOW::WINDOW(class WINDOW const &)
-??0WINDOW@@QAE@ABV0@@Z
-; public: __thiscall WINDOW::WINDOW(struct HWND__ *)
-??0WINDOW@@QAE@PAUHWND__@@@Z
-; public: __thiscall WINDOW::WINDOW(unsigned short const *,unsigned long,class WINDOW const *,unsigned int)
-??0WINDOW@@QAE@PBGKPBV0@I@Z
-; public: __thiscall WINDOW::WINDOW(void)
-??0WINDOW@@QAE@XZ
-; public: __thiscall WINDOW_TIMER::WINDOW_TIMER(struct HWND__ *,unsigned long,int,int)
-??0WINDOW_TIMER@@QAE@PAUHWND__@@KHH@Z
-; public: __thiscall WIN_ELLIPSIS::WIN_ELLIPSIS(class WINDOW *,struct HDC__ *,struct tagRECT const *,enum ELLIPSIS_STYLE)
-??0WIN_ELLIPSIS@@QAE@PAVWINDOW@@PAUHDC__@@PBUtagRECT@@W4ELLIPSIS_STYLE@@@Z
-; public: __thiscall WIN_ELLIPSIS::WIN_ELLIPSIS(class WINDOW *,enum ELLIPSIS_STYLE)
-??0WIN_ELLIPSIS@@QAE@PAVWINDOW@@W4ELLIPSIS_STYLE@@@Z
-; public: __thiscall XYDIMENSION::XYDIMENSION(struct tagSIZE const &)
-??0XYDIMENSION@@QAE@ABUtagSIZE@@@Z
-; public: __thiscall XYDIMENSION::XYDIMENSION(unsigned int,unsigned int)
-??0XYDIMENSION@@QAE@II@Z
-; public: __thiscall XYPOINT::XYPOINT(struct tagPOINT const &)
-??0XYPOINT@@QAE@ABUtagPOINT@@@Z
-; public: __thiscall XYPOINT::XYPOINT(int,int)
-??0XYPOINT@@QAE@HH@Z
-; public: __thiscall XYPOINT::XYPOINT(long)
-??0XYPOINT@@QAE@J@Z
-; public: __thiscall XYRECT::XYRECT(struct tagRECT const &)
-??0XYRECT@@QAE@ABUtagRECT@@@Z
-; public: __thiscall XYRECT::XYRECT(class XYRECT const &)
-??0XYRECT@@QAE@ABV0@@Z
-; public: __thiscall XYRECT::XYRECT(int,int,int,int)
-??0XYRECT@@QAE@HHHH@Z
-; public: __thiscall XYRECT::XYRECT(struct HWND__ *,int)
-??0XYRECT@@QAE@PAUHWND__@@H@Z
-; public: __thiscall XYRECT::XYRECT(class WINDOW const *,int)
-??0XYRECT@@QAE@PBVWINDOW@@H@Z
-; public: __thiscall XYRECT::XYRECT(class XYPOINT,class XYPOINT)
-??0XYRECT@@QAE@VXYPOINT@@0@Z
-; public: __thiscall XYRECT::XYRECT(class XYPOINT,class XYDIMENSION)
-??0XYRECT@@QAE@VXYPOINT@@VXYDIMENSION@@@Z
-; public: __thiscall XYRECT::XYRECT(void)
-??0XYRECT@@QAE@XZ
-; public: __thiscall ACCELTABLE::~ACCELTABLE(void)
-??1ACCELTABLE@@QAE@XZ
-; public: __thiscall ACCOUNT_NAMES_MLE::~ACCOUNT_NAMES_MLE(void)
-??1ACCOUNT_NAMES_MLE@@QAE@XZ
-; public: __thiscall ALIAS_STR::~ALIAS_STR(void)
-??1ALIAS_STR@@QAE@XZ
-; public: __thiscall ALLOC_STR::~ALLOC_STR(void)
-??1ALLOC_STR@@QAE@XZ
-; protected: __thiscall APPLICATION::~APPLICATION(void)
-??1APPLICATION@@IAE@XZ
-; protected: __thiscall APP_WINDOW::~APP_WINDOW(void)
-??1APP_WINDOW@@IAE@XZ
-; public: __thiscall ARRAY_CONTROLVAL_CID_PAIR::~ARRAY_CONTROLVAL_CID_PAIR(void)
-??1ARRAY_CONTROLVAL_CID_PAIR@@QAE@XZ
-; public: __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::~ARRAY_LIST_CONTROLVAL_CID_PAIR(void)
-??1ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAE@XZ
-; public: __thiscall ARROW_BUTTON::~ARROW_BUTTON(void)
-??1ARROW_BUTTON@@QAE@XZ
-; public: __thiscall ASSOCHCFILE::~ASSOCHCFILE(void)
-??1ASSOCHCFILE@@QAE@XZ
-; public: __thiscall ASSOCHWNDDISP::~ASSOCHWNDDISP(void)
-??1ASSOCHWNDDISP@@QAE@XZ
-; public: __thiscall ASSOCHWNDPDLG::~ASSOCHWNDPDLG(void)
-??1ASSOCHWNDPDLG@@QAE@XZ
-; public: __thiscall ASSOCHWNDPWND::~ASSOCHWNDPWND(void)
-??1ASSOCHWNDPWND@@QAE@XZ
-; public: __thiscall ASSOCHWNDTHIS::~ASSOCHWNDTHIS(void)
-??1ASSOCHWNDTHIS@@QAE@XZ
-; protected: __thiscall ATOM_BASE::~ATOM_BASE(void)
-??1ATOM_BASE@@IAE@XZ
-; public: __thiscall AUDIT_CHECKBOXES::~AUDIT_CHECKBOXES(void)
-??1AUDIT_CHECKBOXES@@QAE@XZ
-; public: __thiscall AUTO_CURSOR::~AUTO_CURSOR(void)
-??1AUTO_CURSOR@@QAE@XZ
-; public: __thiscall BASE_ELLIPSIS::~BASE_ELLIPSIS(void)
-??1BASE_ELLIPSIS@@QAE@XZ
-; public: __thiscall BASE_PASSWORD_DIALOG::~BASE_PASSWORD_DIALOG(void)
-??1BASE_PASSWORD_DIALOG@@QAE@XZ
-; public: __thiscall BASE_SET_FOCUS_DLG::~BASE_SET_FOCUS_DLG(void)
-??1BASE_SET_FOCUS_DLG@@QAE@XZ
-; public: __thiscall BIT_MAP::~BIT_MAP(void)
-??1BIT_MAP@@QAE@XZ
-; public: __thiscall BLT_BACKGROUND_EDIT::~BLT_BACKGROUND_EDIT(void)
-??1BLT_BACKGROUND_EDIT@@QAE@XZ
-; public: __thiscall BLT_COMBOBOX::~BLT_COMBOBOX(void)
-??1BLT_COMBOBOX@@QAE@XZ
-; public: __thiscall BLT_DATE_SPIN_GROUP::~BLT_DATE_SPIN_GROUP(void)
-??1BLT_DATE_SPIN_GROUP@@QAE@XZ
-; public: __thiscall BLT_LISTBOX::~BLT_LISTBOX(void)
-??1BLT_LISTBOX@@QAE@XZ
-; public: __thiscall BLT_MASTER_TIMER::~BLT_MASTER_TIMER(void)
-??1BLT_MASTER_TIMER@@QAE@XZ
-; public: __thiscall BLT_SCRATCH::~BLT_SCRATCH(void)
-??1BLT_SCRATCH@@QAE@XZ
-; public: __thiscall BLT_TIME_SPIN_GROUP::~BLT_TIME_SPIN_GROUP(void)
-??1BLT_TIME_SPIN_GROUP@@QAE@XZ
-; public: __thiscall BROWSER_DOMAIN::~BROWSER_DOMAIN(void)
-??1BROWSER_DOMAIN@@QAE@XZ
-; public: __thiscall BROWSER_DOMAIN_CB::~BROWSER_DOMAIN_CB(void)
-??1BROWSER_DOMAIN_CB@@QAE@XZ
-; public: __thiscall BROWSER_DOMAIN_LB::~BROWSER_DOMAIN_LB(void)
-??1BROWSER_DOMAIN_LB@@QAE@XZ
-; public: virtual __thiscall BROWSER_DOMAIN_LBI::~BROWSER_DOMAIN_LBI(void)
-??1BROWSER_DOMAIN_LBI@@UAE@XZ
-; public: virtual __thiscall BROWSER_DOMAIN_LBI_PB::~BROWSER_DOMAIN_LBI_PB(void)
-??1BROWSER_DOMAIN_LBI_PB@@UAE@XZ
-; public: __thiscall BROWSER_SUBJECT::~BROWSER_SUBJECT(void)
-??1BROWSER_SUBJECT@@QAE@XZ
-; public: __thiscall BROWSER_SUBJECT_ITER::~BROWSER_SUBJECT_ITER(void)
-??1BROWSER_SUBJECT_ITER@@QAE@XZ
-; public: __thiscall BUTTON_CONTROL::~BUTTON_CONTROL(void)
-??1BUTTON_CONTROL@@QAE@XZ
-; public: __thiscall CANCEL_TASK_DIALOG::~CANCEL_TASK_DIALOG(void)
-??1CANCEL_TASK_DIALOG@@QAE@XZ
-; public: __thiscall CHANGEABLE_SPIN_ITEM::~CHANGEABLE_SPIN_ITEM(void)
-??1CHANGEABLE_SPIN_ITEM@@QAE@XZ
-; public: __thiscall CHECKBOX::~CHECKBOX(void)
-??1CHECKBOX@@QAE@XZ
-; public: __thiscall CLIENT_WINDOW::~CLIENT_WINDOW(void)
-??1CLIENT_WINDOW@@QAE@XZ
-; public: __thiscall COMBOBOX::~COMBOBOX(void)
-??1COMBOBOX@@QAE@XZ
-; public: __thiscall CONTROL_TABLE::~CONTROL_TABLE(void)
-??1CONTROL_TABLE@@QAE@XZ
-; public: __thiscall CONTROL_WINDOW::~CONTROL_WINDOW(void)
-??1CONTROL_WINDOW@@QAE@XZ
-; public: __thiscall CUSTOM_CONTROL::~CUSTOM_CONTROL(void)
-??1CUSTOM_CONTROL@@QAE@XZ
-; public: __thiscall DEC_SLT::~DEC_SLT(void)
-??1DEC_SLT@@QAE@XZ
-; public: __thiscall DEC_STR::~DEC_STR(void)
-??1DEC_STR@@QAE@XZ
-; public: __thiscall DIALOG_WINDOW::~DIALOG_WINDOW(void)
-??1DIALOG_WINDOW@@QAE@XZ
-; protected: __thiscall DISPATCHER::~DISPATCHER(void)
-??1DISPATCHER@@IAE@XZ
-; public: __thiscall DISPLAY_CONTEXT::~DISPLAY_CONTEXT(void)
-??1DISPLAY_CONTEXT@@QAE@XZ
-; public: __thiscall DISPLAY_MAP::~DISPLAY_MAP(void)
-??1DISPLAY_MAP@@QAE@XZ
-; public: __thiscall DLGLOAD::~DLGLOAD(void)
-??1DLGLOAD@@QAE@XZ
-; public: __thiscall DLIST_OF_SPIN_ITEM::~DLIST_OF_SPIN_ITEM(void)
-??1DLIST_OF_SPIN_ITEM@@QAE@XZ
-; public: __thiscall DMID_DTE::~DMID_DTE(void)
-??1DMID_DTE@@QAE@XZ
-; public: virtual __thiscall DOMAIN_FILL_THREAD::~DOMAIN_FILL_THREAD(void)
-??1DOMAIN_FILL_THREAD@@UAE@XZ
-; public: __thiscall EDIT_CONTROL::~EDIT_CONTROL(void)
-??1EDIT_CONTROL@@QAE@XZ
-; protected: __thiscall ENUM_OBJ_BASE::~ENUM_OBJ_BASE(void)
-??1ENUM_OBJ_BASE@@IAE@XZ
-; public: __thiscall EXPANDABLE_DIALOG::~EXPANDABLE_DIALOG(void)
-??1EXPANDABLE_DIALOG@@QAE@XZ
-; public: __thiscall FILE3_ENUM::~FILE3_ENUM(void)
-??1FILE3_ENUM@@QAE@XZ
-; public: __thiscall FILE3_ENUM_ITER::~FILE3_ENUM_ITER(void)
-??1FILE3_ENUM_ITER@@QAE@XZ
-; public: __thiscall FILE3_ENUM_OBJ::~FILE3_ENUM_OBJ(void)
-??1FILE3_ENUM_OBJ@@QAE@XZ
-; public: virtual __thiscall FOCUSDLG_DATA_THREAD::~FOCUSDLG_DATA_THREAD(void)
-??1FOCUSDLG_DATA_THREAD@@UAE@XZ
-; public: __thiscall FOCUS_CHECKBOX::~FOCUS_CHECKBOX(void)
-??1FOCUS_CHECKBOX@@QAE@XZ
-; public: __thiscall FONT::~FONT(void)
-??1FONT@@QAE@XZ
-; protected: __thiscall GET_FNAME_BASE_DLG::~GET_FNAME_BASE_DLG(void)
-??1GET_FNAME_BASE_DLG@@IAE@XZ
-; public: __thiscall GLOBAL_ATOM::~GLOBAL_ATOM(void)
-??1GLOBAL_ATOM@@QAE@XZ
-; public: __thiscall GRAPHICAL_BUTTON::~GRAPHICAL_BUTTON(void)
-??1GRAPHICAL_BUTTON@@QAE@XZ
-; public: __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::~GRAPHICAL_BUTTON_WITH_DISABLE(void)
-??1GRAPHICAL_BUTTON_WITH_DISABLE@@QAE@XZ
-; public: __thiscall HAW_FOR_HAWAII_INFO::~HAW_FOR_HAWAII_INFO(void)
-??1HAW_FOR_HAWAII_INFO@@QAE@XZ
-; public: __thiscall HEX_STR::~HEX_STR(void)
-??1HEX_STR@@QAE@XZ
-; public: virtual __thiscall HIER_LBI::~HIER_LBI(void)
-??1HIER_LBI@@UAE@XZ
-; public: __thiscall HIER_LBI_ITERATOR::~HIER_LBI_ITERATOR(void)
-??1HIER_LBI_ITERATOR@@QAE@XZ
-; public: __thiscall HIER_LISTBOX::~HIER_LISTBOX(void)
-??1HIER_LISTBOX@@QAE@XZ
-; public: __thiscall H_SPLITTER_BAR::~H_SPLITTER_BAR(void)
-??1H_SPLITTER_BAR@@QAE@XZ
-; public: __thiscall ICANON_SLE::~ICANON_SLE(void)
-??1ICANON_SLE@@QAE@XZ
-; public: __thiscall ICON_CONTROL::~ICON_CONTROL(void)
-??1ICON_CONTROL@@QAE@XZ
-; public: __thiscall ITER_DL_SPIN_ITEM::~ITER_DL_SPIN_ITEM(void)
-??1ITER_DL_SPIN_ITEM@@QAE@XZ
-; public: __thiscall ITER_SL_ASSOCHCFILE::~ITER_SL_ASSOCHCFILE(void)
-??1ITER_SL_ASSOCHCFILE@@QAE@XZ
-; public: __thiscall ITER_SL_CLIENTDATA::~ITER_SL_CLIENTDATA(void)
-??1ITER_SL_CLIENTDATA@@QAE@XZ
-; public: __thiscall ITER_SL_STRING_BITSET_PAIR::~ITER_SL_STRING_BITSET_PAIR(void)
-??1ITER_SL_STRING_BITSET_PAIR@@QAE@XZ
-; public: __thiscall ITER_SL_TIMER_BASE::~ITER_SL_TIMER_BASE(void)
-??1ITER_SL_TIMER_BASE@@QAE@XZ
-; public: __thiscall ITER_SL_UI_EXT::~ITER_SL_UI_EXT(void)
-??1ITER_SL_UI_EXT@@QAE@XZ
-; public: __thiscall ITER_SL_USER_BROWSER_LBI::~ITER_SL_USER_BROWSER_LBI(void)
-??1ITER_SL_USER_BROWSER_LBI@@QAE@XZ
-; public: __thiscall LAZY_LISTBOX::~LAZY_LISTBOX(void)
-??1LAZY_LISTBOX@@QAE@XZ
-; public: virtual __thiscall LBI::~LBI(void)
-??1LBI@@UAE@XZ
-; public: __thiscall LBITREE::~LBITREE(void)
-??1LBITREE@@QAE@XZ
-; public: __thiscall LBI_HEAP::~LBI_HEAP(void)
-??1LBI_HEAP@@QAE@XZ
-; public: __thiscall LB_COL_WIDTHS::~LB_COL_WIDTHS(void)
-??1LB_COL_WIDTHS@@QAE@XZ
-; public: __thiscall LISTBOX::~LISTBOX(void)
-??1LISTBOX@@QAE@XZ
-; protected: __thiscall LIST_CONTROL::~LIST_CONTROL(void)
-??1LIST_CONTROL@@IAE@XZ
-; public: __thiscall LM_FILE_2::~LM_FILE_2(void)
-??1LM_FILE_2@@QAE@XZ
-; public: __thiscall LM_MESSAGE::~LM_MESSAGE(void)
-??1LM_MESSAGE@@QAE@XZ
-; public: __thiscall LM_OLLB::~LM_OLLB(void)
-??1LM_OLLB@@QAE@XZ
-; public: __thiscall LOCAL_ATOM::~LOCAL_ATOM(void)
-??1LOCAL_ATOM@@QAE@XZ
-; public: __thiscall LOC_LM_OBJ::~LOC_LM_OBJ(void)
-??1LOC_LM_OBJ@@QAE@XZ
-; public: __thiscall LOGON_HOURS_CONTROL::~LOGON_HOURS_CONTROL(void)
-??1LOGON_HOURS_CONTROL@@QAE@XZ
-; public: __thiscall MAGIC_GROUP::~MAGIC_GROUP(void)
-??1MAGIC_GROUP@@QAE@XZ
-; public: __thiscall MASK_MAP::~MASK_MAP(void)
-??1MASK_MAP@@QAE@XZ
-; public: __thiscall MEMORY_DC::~MEMORY_DC(void)
-??1MEMORY_DC@@QAE@XZ
-; public: __thiscall MENU_BASE::~MENU_BASE(void)
-??1MENU_BASE@@QAE@XZ
-; public: __thiscall MLE::~MLE(void)
-??1MLE@@QAE@XZ
-; public: __thiscall MLE_FONT::~MLE_FONT(void)
-??1MLE_FONT@@QAE@XZ
-; public: __thiscall MLT::~MLT(void)
-??1MLT@@QAE@XZ
-; public: __thiscall MSGPOPUP_DIALOG::~MSGPOPUP_DIALOG(void)
-??1MSGPOPUP_DIALOG@@QAE@XZ
-; protected: __thiscall MSG_DIALOG_BASE::~MSG_DIALOG_BASE(void)
-??1MSG_DIALOG_BASE@@IAE@XZ
-; public: __thiscall NT_FIND_ACCOUNT_DIALOG::~NT_FIND_ACCOUNT_DIALOG(void)
-??1NT_FIND_ACCOUNT_DIALOG@@QAE@XZ
-; public: virtual __thiscall NT_GLOBALGROUP_BROWSER_DIALOG::~NT_GLOBALGROUP_BROWSER_DIALOG(void)
-??1NT_GLOBALGROUP_BROWSER_DIALOG@@UAE@XZ
-; public: virtual __thiscall NT_GROUP_BROWSER_DIALOG::~NT_GROUP_BROWSER_DIALOG(void)
-??1NT_GROUP_BROWSER_DIALOG@@UAE@XZ
-; public: __thiscall NT_GROUP_BROWSER_LB::~NT_GROUP_BROWSER_LB(void)
-??1NT_GROUP_BROWSER_LB@@QAE@XZ
-; public: __thiscall NT_GROUP_ENUM_ITER::~NT_GROUP_ENUM_ITER(void)
-??1NT_GROUP_ENUM_ITER@@QAE@XZ
-; public: __thiscall NT_GROUP_ENUM_OBJ::~NT_GROUP_ENUM_OBJ(void)
-??1NT_GROUP_ENUM_OBJ@@QAE@XZ
-; public: virtual __thiscall NT_LOCALGROUP_BROWSER_DIALOG::~NT_LOCALGROUP_BROWSER_DIALOG(void)
-??1NT_LOCALGROUP_BROWSER_DIALOG@@UAE@XZ
-; public: __thiscall NT_USER_BROWSER_DIALOG::~NT_USER_BROWSER_DIALOG(void)
-??1NT_USER_BROWSER_DIALOG@@QAE@XZ
-; public: virtual __thiscall OLLB_ENTRY::~OLLB_ENTRY(void)
-??1OLLB_ENTRY@@UAE@XZ
-; public: __thiscall OPEN_DIALOG_BASE::~OPEN_DIALOG_BASE(void)
-??1OPEN_DIALOG_BASE@@QAE@XZ
-; public: virtual __thiscall OPEN_LBI_BASE::~OPEN_LBI_BASE(void)
-??1OPEN_LBI_BASE@@UAE@XZ
-; public: __thiscall OPEN_LBOX_BASE::~OPEN_LBOX_BASE(void)
-??1OPEN_LBOX_BASE@@QAE@XZ
-; public: __thiscall OUTLINE_LISTBOX::~OUTLINE_LISTBOX(void)
-??1OUTLINE_LISTBOX@@QAE@XZ
-; public: __thiscall OWNER_WINDOW::~OWNER_WINDOW(void)
-??1OWNER_WINDOW@@QAE@XZ
-; public: __thiscall PAINT_DISPLAY_CONTEXT::~PAINT_DISPLAY_CONTEXT(void)
-??1PAINT_DISPLAY_CONTEXT@@QAE@XZ
-; public: __thiscall PASSWORD_CONTROL::~PASSWORD_CONTROL(void)
-??1PASSWORD_CONTROL@@QAE@XZ
-; public: __thiscall POPUP::~POPUP(void)
-??1POPUP@@QAE@XZ
-; public: __thiscall POPUP_MENU::~POPUP_MENU(void)
-??1POPUP_MENU@@QAE@XZ
-; public: __thiscall PROC_INSTANCE::~PROC_INSTANCE(void)
-??1PROC_INSTANCE@@QAE@XZ
-; public: __thiscall PROGRESS_CONTROL::~PROGRESS_CONTROL(void)
-??1PROGRESS_CONTROL@@QAE@XZ
-; public: __thiscall PROMPT_AND_CONNECT::~PROMPT_AND_CONNECT(void)
-??1PROMPT_AND_CONNECT@@QAE@XZ
-; public: __thiscall PROMPT_FOR_ANY_DC_DLG::~PROMPT_FOR_ANY_DC_DLG(void)
-??1PROMPT_FOR_ANY_DC_DLG@@QAE@XZ
-; public: __thiscall PUSH_BUTTON::~PUSH_BUTTON(void)
-??1PUSH_BUTTON@@QAE@XZ
-; public: __thiscall RADIO_BUTTON::~RADIO_BUTTON(void)
-??1RADIO_BUTTON@@QAE@XZ
-; public: __thiscall RADIO_GROUP::~RADIO_GROUP(void)
-??1RADIO_GROUP@@QAE@XZ
-; public: __thiscall RESOURCE_PASSWORD_DIALOG::~RESOURCE_PASSWORD_DIALOG(void)
-??1RESOURCE_PASSWORD_DIALOG@@QAE@XZ
-; public: __thiscall RESOURCE_STR::~RESOURCE_STR(void)
-??1RESOURCE_STR@@QAE@XZ
-; public: __thiscall RITER_DL_SPIN_ITEM::~RITER_DL_SPIN_ITEM(void)
-??1RITER_DL_SPIN_ITEM@@QAE@XZ
-; public: __thiscall SCREEN_DC::~SCREEN_DC(void)
-??1SCREEN_DC@@QAE@XZ
-; public: __thiscall SERVER1_ENUM::~SERVER1_ENUM(void)
-??1SERVER1_ENUM@@QAE@XZ
-; public: __thiscall SERVER1_ENUM_ITER::~SERVER1_ENUM_ITER(void)
-??1SERVER1_ENUM_ITER@@QAE@XZ
-; public: __thiscall SERVER1_ENUM_OBJ::~SERVER1_ENUM_OBJ(void)
-??1SERVER1_ENUM_OBJ@@QAE@XZ
-; public: __thiscall SERVER_ENUM::~SERVER_ENUM(void)
-??1SERVER_ENUM@@QAE@XZ
-; public: __thiscall SET_CONTROL::~SET_CONTROL(void)
-??1SET_CONTROL@@QAE@XZ
-; public: __thiscall SET_OF_AUDIT_CATEGORIES::~SET_OF_AUDIT_CATEGORIES(void)
-??1SET_OF_AUDIT_CATEGORIES@@QAE@XZ
-; public: __thiscall SLE::~SLE(void)
-??1SLE@@QAE@XZ
-; public: __thiscall SLE_FONT::~SLE_FONT(void)
-??1SLE_FONT@@QAE@XZ
-; public: __thiscall SLE_STRLB_GROUP::~SLE_STRLB_GROUP(void)
-??1SLE_STRLB_GROUP@@QAE@XZ
-; public: __thiscall SLIST_OF_ASSOCHCFILE::~SLIST_OF_ASSOCHCFILE(void)
-??1SLIST_OF_ASSOCHCFILE@@QAE@XZ
-; public: __thiscall SLIST_OF_CLIENTDATA::~SLIST_OF_CLIENTDATA(void)
-??1SLIST_OF_CLIENTDATA@@QAE@XZ
-; public: __thiscall SLIST_OF_OS_SID::~SLIST_OF_OS_SID(void)
-??1SLIST_OF_OS_SID@@QAE@XZ
-; public: __thiscall SLIST_OF_STRING_BITSET_PAIR::~SLIST_OF_STRING_BITSET_PAIR(void)
-??1SLIST_OF_STRING_BITSET_PAIR@@QAE@XZ
-; public: __thiscall SLIST_OF_TIMER_BASE::~SLIST_OF_TIMER_BASE(void)
-??1SLIST_OF_TIMER_BASE@@QAE@XZ
-; public: __thiscall SLIST_OF_UI_EXT::~SLIST_OF_UI_EXT(void)
-??1SLIST_OF_UI_EXT@@QAE@XZ
-; public: __thiscall SLIST_OF_ULC_API_BUFFER::~SLIST_OF_ULC_API_BUFFER(void)
-??1SLIST_OF_ULC_API_BUFFER@@QAE@XZ
-; public: __thiscall SLIST_OF_USER_BROWSER_LBI::~SLIST_OF_USER_BROWSER_LBI(void)
-??1SLIST_OF_USER_BROWSER_LBI@@QAE@XZ
-; public: __thiscall SLT::~SLT(void)
-??1SLT@@QAE@XZ
-; public: __thiscall SLT_ELLIPSIS::~SLT_ELLIPSIS(void)
-??1SLT_ELLIPSIS@@QAE@XZ
-; public: __thiscall SOLID_BRUSH::~SOLID_BRUSH(void)
-??1SOLID_BRUSH@@QAE@XZ
-; public: __thiscall SPIN_GROUP::~SPIN_GROUP(void)
-??1SPIN_GROUP@@QAE@XZ
-; public: __thiscall SPIN_ITEM::~SPIN_ITEM(void)
-??1SPIN_ITEM@@QAE@XZ
-; public: __thiscall SPIN_SLE_NUM::~SPIN_SLE_NUM(void)
-??1SPIN_SLE_NUM@@QAE@XZ
-; public: __thiscall SPIN_SLE_NUM_VALID::~SPIN_SLE_NUM_VALID(void)
-??1SPIN_SLE_NUM_VALID@@QAE@XZ
-; public: __thiscall SPIN_SLE_STR::~SPIN_SLE_STR(void)
-??1SPIN_SLE_STR@@QAE@XZ
-; public: __thiscall SPIN_SLE_VALID_SECOND::~SPIN_SLE_VALID_SECOND(void)
-??1SPIN_SLE_VALID_SECOND@@QAE@XZ
-; public: __thiscall SPIN_SLT_SEPARATOR::~SPIN_SLT_SEPARATOR(void)
-??1SPIN_SLT_SEPARATOR@@QAE@XZ
-; public: __thiscall STATE2_BUTTON_CONTROL::~STATE2_BUTTON_CONTROL(void)
-??1STATE2_BUTTON_CONTROL@@QAE@XZ
-; public: __thiscall STATELB::~STATELB(void)
-??1STATELB@@QAE@XZ
-; public: __thiscall STATELBGRP::~STATELBGRP(void)
-??1STATELBGRP@@QAE@XZ
-; public: __thiscall STATE_BUTTON_CONTROL::~STATE_BUTTON_CONTROL(void)
-??1STATE_BUTTON_CONTROL@@QAE@XZ
-; public: __thiscall STATIC_SPIN_ITEM::~STATIC_SPIN_ITEM(void)
-??1STATIC_SPIN_ITEM@@QAE@XZ
-; public: __thiscall STATIC_TEXT_CONTROL::~STATIC_TEXT_CONTROL(void)
-??1STATIC_TEXT_CONTROL@@QAE@XZ
-; public: virtual __thiscall STLBITEM::~STLBITEM(void)
-??1STLBITEM@@UAE@XZ
-; public: __thiscall STRING_BITSET_PAIR::~STRING_BITSET_PAIR(void)
-??1STRING_BITSET_PAIR@@QAE@XZ
-; public: __thiscall STRING_LIST_CONTROL::~STRING_LIST_CONTROL(void)
-??1STRING_LIST_CONTROL@@QAE@XZ
-; public: __thiscall SUBJECT_BITMAP_BLOCK::~SUBJECT_BITMAP_BLOCK(void)
-??1SUBJECT_BITMAP_BLOCK@@QAE@XZ
-; public: __thiscall SYSTEM_MENU::~SYSTEM_MENU(void)
-??1SYSTEM_MENU@@QAE@XZ
-; public: __thiscall TEXT_CONTROL::~TEXT_CONTROL(void)
-??1TEXT_CONTROL@@QAE@XZ
-; public: __thiscall TIMER_BASE::~TIMER_BASE(void)
-??1TIMER_BASE@@QAE@XZ
-; public: __thiscall TIMER_WINDOW::~TIMER_WINDOW(void)
-??1TIMER_WINDOW@@QAE@XZ
-; public: __thiscall UI_DOMAIN::~UI_DOMAIN(void)
-??1UI_DOMAIN@@QAE@XZ
-; public: virtual __thiscall UI_EXT::~UI_EXT(void)
-??1UI_EXT@@UAE@XZ
-; public: __thiscall UI_EXT_MGR::~UI_EXT_MGR(void)
-??1UI_EXT_MGR@@QAE@XZ
-; public: __thiscall UI_EXT_MGR_IF::~UI_EXT_MGR_IF(void)
-??1UI_EXT_MGR_IF@@QAE@XZ
-; public: virtual __thiscall UI_MENU_EXT::~UI_MENU_EXT(void)
-??1UI_MENU_EXT@@UAE@XZ
-; public: virtual __thiscall UI_MENU_EXT_MGR::~UI_MENU_EXT_MGR(void)
-??1UI_MENU_EXT_MGR@@UAE@XZ
-; public: __thiscall ULC_API_BUFFER::~ULC_API_BUFFER(void)
-??1ULC_API_BUFFER@@QAE@XZ
-; public: __thiscall USER_BROWSER_LB::~USER_BROWSER_LB(void)
-??1USER_BROWSER_LB@@QAE@XZ
-; public: virtual __thiscall USER_BROWSER_LBI::~USER_BROWSER_LBI(void)
-??1USER_BROWSER_LBI@@UAE@XZ
-; public: virtual __thiscall USER_BROWSER_LBI_CACHE::~USER_BROWSER_LBI_CACHE(void)
-??1USER_BROWSER_LBI_CACHE@@UAE@XZ
-; public: virtual __thiscall USER_LBI_CACHE::~USER_LBI_CACHE(void)
-??1USER_LBI_CACHE@@UAE@XZ
-; public: __thiscall USRLB_NT_GROUP_ENUM::~USRLB_NT_GROUP_ENUM(void)
-??1USRLB_NT_GROUP_ENUM@@QAE@XZ
-; public: __thiscall WIN32_EVENT::~WIN32_EVENT(void)
-??1WIN32_EVENT@@QAE@XZ
-; public: __thiscall WIN32_HANDLE::~WIN32_HANDLE(void)
-??1WIN32_HANDLE@@QAE@XZ
-; public: __thiscall WIN32_MUTEX::~WIN32_MUTEX(void)
-??1WIN32_MUTEX@@QAE@XZ
-; public: __thiscall WIN32_SEMAPHORE::~WIN32_SEMAPHORE(void)
-??1WIN32_SEMAPHORE@@QAE@XZ
-; public: __thiscall WIN32_SYNC_BASE::~WIN32_SYNC_BASE(void)
-??1WIN32_SYNC_BASE@@QAE@XZ
-; public: virtual __thiscall WIN32_THREAD::~WIN32_THREAD(void)
-??1WIN32_THREAD@@UAE@XZ
-; public: __thiscall WINDOW::~WINDOW(void)
-??1WINDOW@@QAE@XZ
-; public: __thiscall WIN_ELLIPSIS::~WIN_ELLIPSIS(void)
-??1WIN_ELLIPSIS@@QAE@XZ
-; public: class ARRAY_CONTROLVAL_CID_PAIR & __thiscall ARRAY_CONTROLVAL_CID_PAIR::operator=(class ARRAY_CONTROLVAL_CID_PAIR &)
-??4ARRAY_CONTROLVAL_CID_PAIR@@QAEAAV0@AAV0@@Z
-; public: virtual unsigned short const * __thiscall GLOBAL_ATOM::operator=(unsigned short const *)
-??4GLOBAL_ATOM@@UAEPBGPBG@Z
-; public: virtual unsigned short const * __thiscall LOCAL_ATOM::operator=(unsigned short const *)
-??4LOCAL_ATOM@@UAEPBGPBG@Z
-; public: class XYRECT & __thiscall XYRECT::operator=(class XYRECT const &)
-??4XYRECT@@QAEAAV0@ABV0@@Z
-; public: int __thiscall ASSOCHWNDDISP::operator!(void)const 
-??7ASSOCHWNDDISP@@QBEHXZ
-; public: int __thiscall ASSOCHWNDPWND::operator!(void)const 
-??7ASSOCHWNDPWND@@QBEHXZ
-; public: int __thiscall BASE::operator!(void)const 
-??7BASE@@QBEHXZ
-; public: int __thiscall CONTROL_WINDOW::operator!(void)const 
-??7CONTROL_WINDOW@@QBEHXZ
-; public: int __thiscall XYRECT::operator==(class XYRECT const &)const 
-??8XYRECT@@QBEHABV0@@Z
-; public: class CONTROLVAL_CID_PAIR & __thiscall ARRAY_CONTROLVAL_CID_PAIR::operator[](unsigned int)const 
-??AARRAY_CONTROLVAL_CID_PAIR@@QBEAAVCONTROLVAL_CID_PAIR@@I@Z
-; public: class DTE * & __thiscall DISPLAY_TABLE::operator[](unsigned int)
-??ADISPLAY_TABLE@@QAEAAPAVDTE@@I@Z
-; public: class RADIO_BUTTON * __thiscall RADIO_GROUP::operator[](unsigned int)
-??ARADIO_GROUP@@QAEPAVRADIO_BUTTON@@I@Z
-; public: __thiscall NLS_STR::operator unsigned short const *(void)const 
-??BNLS_STR@@QBEPBGXZ
-; public: __thiscall OS_SID::operator void *(void)const 
-??BOS_SID@@QBEPAXXZ
-; public: __thiscall XYRECT::operator struct tagRECT const *(void)const 
-??BXYRECT@@QBEPBUtagRECT@@XZ
-; public: class FILE3_ENUM_OBJ const * __thiscall FILE3_ENUM_ITER::operator()(long *,int)
-??RFILE3_ENUM_ITER@@QAEPBVFILE3_ENUM_OBJ@@PAJH@Z
-; public: class HIER_LBI * __thiscall HIER_LBI_ITERATOR::operator()(void)
-??RHIER_LBI_ITERATOR@@QAEPAVHIER_LBI@@XZ
-; public: class CONTROL_WINDOW * __thiscall ITER_CTRL::operator()(void)
-??RITER_CTRL@@QAEPAVCONTROL_WINDOW@@XZ
-; public: unsigned short const * __thiscall ITER_DEVICE::operator()(void)
-??RITER_DEVICE@@QAEPBGXZ
-; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::operator()(void)
-??RITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
-; public: class NT_GROUP_ENUM_OBJ const * __thiscall NT_GROUP_ENUM_ITER::operator()(long *,int)
-??RNT_GROUP_ENUM_ITER@@QAEPBVNT_GROUP_ENUM_OBJ@@PAJH@Z
-; public: virtual void __thiscall CHANGEABLE_SPIN_ITEM::operator+=(unsigned long)
-??YCHANGEABLE_SPIN_ITEM@@UAEXK@Z
-; public: class XYRECT & __thiscall XYRECT::operator+=(class XYRECT const &)
-??YXYRECT@@QAEAAV0@ABV0@@Z
-; public: virtual void __thiscall CHANGEABLE_SPIN_ITEM::operator-=(unsigned long)
-??ZCHANGEABLE_SPIN_ITEM@@UAEXK@Z
-; void __stdcall `vector constructor iterator'(void *,unsigned int,int,void * (__thiscall*)(void *))
-??_H@YGXPAXIHP6EPAX0@Z@Z
-; void __stdcall `vector destructor iterator'(void *,unsigned int,int,void (__thiscall*)(void *))
-??_I@YGXPAXIHP6EX0@Z@Z
-; void __stdcall `vector vbase constructor iterator'(void *,unsigned int,int,void * (__thiscall*)(void *))
-??_J@YGXPAXIHP6EPAX0@Z@Z
-; private: void __thiscall HIER_LBI::Abandon(void)
-?Abandon@HIER_LBI@@AAEXXZ
-; private: void __thiscall HIER_LBI::AbandonAllChildren(void)
-?AbandonAllChildren@HIER_LBI@@AAEXXZ
-; protected: virtual int __thiscall MSG_DIALOG_BASE::ActionOnError(long)
-?ActionOnError@MSG_DIALOG_BASE@@MAEHJ@Z
-; private: void __thiscall MAGIC_GROUP::ActivateAssocControls(unsigned int,unsigned int,class CONTROL_VALUE *)
-?ActivateAssocControls@MAGIC_GROUP@@AAEXIIPAVCONTROL_VALUE@@@Z
-; public: virtual void __thiscall UI_EXT_MGR::ActivateExtension(struct HWND__ *,unsigned long)
-?ActivateExtension@UI_EXT_MGR@@UAEXPAUHWND__@@K@Z
-; public: int __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::Add(class CONTROLVAL_CID_PAIR const &)
-?Add@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAEHABVCONTROLVAL_CID_PAIR@@@Z
-; public: static void __stdcall HWND_DLGPTR_CACHE::Add(struct HWND__ *,class DIALOG_WINDOW *)
-?Add@HWND_DLGPTR_CACHE@@SGXPAUHWND__@@PAVDIALOG_WINDOW@@@Z
-; public: long __thiscall MASK_MAP::Add(class BITFIELD const &,class NLS_STR const &,int)
-?Add@MASK_MAP@@QAEJABVBITFIELD@@ABVNLS_STR@@H@Z
-; public: long __thiscall MASK_MAP::Add(struct US_IDS_PAIRS * const,unsigned short)
-?Add@MASK_MAP@@QAEJQAUUS_IDS_PAIRS@@G@Z
-; public: long __thiscall SLIST_OF_ASSOCHCFILE::Add(class ASSOCHCFILE const *)
-?Add@SLIST_OF_ASSOCHCFILE@@QAEJPBVASSOCHCFILE@@@Z
-; public: long __thiscall SLIST_OF_CLIENTDATA::Add(struct CLIENTDATA const *)
-?Add@SLIST_OF_CLIENTDATA@@QAEJPBUCLIENTDATA@@@Z
-; public: long __thiscall SLIST_OF_NLS_STR::Add(class NLS_STR const *)
-?Add@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
-; public: long __thiscall SLIST_OF_OS_SID::Add(class OS_SID const *)
-?Add@SLIST_OF_OS_SID@@QAEJPBVOS_SID@@@Z
-; public: long __thiscall SLIST_OF_TIMER_BASE::Add(class TIMER_BASE const *)
-?Add@SLIST_OF_TIMER_BASE@@QAEJPBVTIMER_BASE@@@Z
-; public: long __thiscall SLIST_OF_USER_BROWSER_LBI::Add(class USER_BROWSER_LBI const *)
-?Add@SLIST_OF_USER_BROWSER_LBI@@QAEJPBVUSER_BROWSER_LBI@@@Z
-; protected: long __thiscall USER_BROWSER_LBI_CACHE::AddAliases(class ADMIN_AUTHORITY *,unsigned short const *,int *)
-?AddAliases@USER_BROWSER_LBI_CACHE@@IAEJPAVADMIN_AUTHORITY@@PBGPAH@Z
-; protected: long __thiscall USER_BROWSER_LBI_CACHE::AddAliases(class SAM_DOMAIN *,unsigned short const *,int *)
-?AddAliases@USER_BROWSER_LBI_CACHE@@IAEJPAVSAM_DOMAIN@@PBGPAH@Z
-; public: long __thiscall MAGIC_GROUP::AddAssociation(unsigned int,class CONTROL_VALUE *)
-?AddAssociation@MAGIC_GROUP@@QAEJIPAVCONTROL_VALUE@@@Z
-; public: long __thiscall SPIN_GROUP::AddAssociation(class SPIN_ITEM *)
-?AddAssociation@SPIN_GROUP@@QAEJPAVSPIN_ITEM@@@Z
-; protected: virtual long __thiscall HIER_LISTBOX::AddChildren(class HIER_LBI *)
-?AddChildren@HIER_LISTBOX@@MAEJPAVHIER_LBI@@@Z
-; public: static long __stdcall BLTIMP::AddClient(struct HINSTANCE__ *,unsigned int,unsigned int,unsigned int,unsigned int)
-?AddClient@BLTIMP@@SGJPAUHINSTANCE__@@IIII@Z
-; public: int __thiscall CONTROL_TABLE::AddControl(class CONTROL_WINDOW *)
-?AddControl@CONTROL_TABLE@@QAEHPAVCONTROL_WINDOW@@@Z
-; private: int __thiscall OWNER_WINDOW::AddControl(class CONTROL_WINDOW *)
-?AddControl@OWNER_WINDOW@@AAEHPAVCONTROL_WINDOW@@@Z
-; public: int __thiscall OUTLINE_LISTBOX::AddDomain(unsigned short const *,unsigned short const *,int)
-?AddDomain@OUTLINE_LISTBOX@@QAEHPBG0H@Z
-; protected: long __thiscall USER_BROWSER_LBI_CACHE::AddGroups(class ADMIN_AUTHORITY *,unsigned short const *,int *)
-?AddGroups@USER_BROWSER_LBI_CACHE@@IAEJPAVADMIN_AUTHORITY@@PBGPAH@Z
-; public: static long __stdcall BLTIMP::AddHelpAssoc(struct HINSTANCE__ *,long,unsigned long,unsigned long)
-?AddHelpAssoc@BLTIMP@@SGJPAUHINSTANCE__@@JKK@Z
-; public: int __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::AddIdemp(class CONTROLVAL_CID_PAIR const &)
-?AddIdemp@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAEHABVCONTROLVAL_CID_PAIR@@@Z
-; public: int __thiscall BLT_LISTBOX::AddItem(class LBI *)
-?AddItem@BLT_LISTBOX@@QAEHPAVLBI@@@Z
-; public: long __thiscall BROWSER_DOMAIN_CB::AddItem(class BROWSER_DOMAIN *)
-?AddItem@BROWSER_DOMAIN_CB@@QAEJPAVBROWSER_DOMAIN@@@Z
-; public: int __thiscall HIER_LISTBOX::AddItem(class HIER_LBI *,class HIER_LBI *,int)
-?AddItem@HIER_LISTBOX@@QAEHPAVHIER_LBI@@0H@Z
-; public: long __thiscall LBI_HEAP::AddItem(class LBI *)
-?AddItem@LBI_HEAP@@QAEJPAVLBI@@@Z
-; protected: int __thiscall OUTLINE_LISTBOX::AddItem(enum OUTLINE_LB_LEVEL,int,unsigned short const *,unsigned short const *,unsigned short const *)
-?AddItem@OUTLINE_LISTBOX@@IAEHW4OUTLINE_LB_LEVEL@@HPBG11@Z
-; public: int __thiscall STRING_LIST_CONTROL::AddItem(unsigned short const *)
-?AddItem@STRING_LIST_CONTROL@@QAEHPBG@Z
-; public: int __thiscall USER_BROWSER_LB::AddItem(class LBI *)
-?AddItem@USER_BROWSER_LB@@QAEHPAVLBI@@@Z
-; public: virtual int __thiscall USER_BROWSER_LBI_CACHE::AddItem(class LBI *)
-?AddItem@USER_BROWSER_LBI_CACHE@@UAEHPAVLBI@@@Z
-; public: virtual int __thiscall USER_LBI_CACHE::AddItem(class LBI *)
-?AddItem@USER_LBI_CACHE@@UAEHPAVLBI@@@Z
-; protected: int __thiscall LIST_CONTROL::AddItemData(void *)
-?AddItemData@LIST_CONTROL@@IAEHPAX@Z
-; public: int __thiscall BLT_LISTBOX::AddItemIdemp(class LBI *)
-?AddItemIdemp@BLT_LISTBOX@@QAEHPAVLBI@@@Z
-; public: int __thiscall STRING_LIST_CONTROL::AddItemIdemp(class NLS_STR const &)
-?AddItemIdemp@STRING_LIST_CONTROL@@QAEHABVNLS_STR@@@Z
-; public: int __thiscall STRING_LIST_CONTROL::AddItemIdemp(unsigned short const *)
-?AddItemIdemp@STRING_LIST_CONTROL@@QAEHPBG@Z
-; public: int __thiscall LBITREE::AddNode(class HIER_LBI *,class HIER_LBI *,int)
-?AddNode@LBITREE@@QAEHPAVHIER_LBI@@0H@Z
-; public: long __thiscall NT_USER_BROWSER_DIALOG::AddSelectedUserBrowserLBIs(class USER_BROWSER_LB *,int,int)
-?AddSelectedUserBrowserLBIs@NT_USER_BROWSER_DIALOG@@QAEJPAVUSER_BROWSER_LB@@HH@Z
-; public: int __thiscall OUTLINE_LISTBOX::AddServer(unsigned short const *,unsigned short const *,unsigned short const *)
-?AddServer@OUTLINE_LISTBOX@@QAEHPBG00@Z
-; public: void __thiscall HIER_LISTBOX::AddSortedItems(class HIER_LBI * *,int,class HIER_LBI *,int)
-?AddSortedItems@HIER_LISTBOX@@QAEXPAPAVHIER_LBI@@HPAV2@H@Z
-; public: long __thiscall USER_BROWSER_LBI_CACHE::AddUsers(class ADMIN_AUTHORITY *,unsigned short const *,int,int *)
-?AddUsers@USER_BROWSER_LBI_CACHE@@QAEJPAVADMIN_AUTHORITY@@PBGHPAH@Z
-; protected: long __thiscall USER_BROWSER_LBI_CACHE::AddWellKnownSids(class ADMIN_AUTHORITY *,unsigned long,int *)
-?AddWellKnownSids@USER_BROWSER_LBI_CACHE@@IAEJPAVADMIN_AUTHORITY@@KPAH@Z
-; public: void __thiscall LBI_HEAP::Adjust(void)
-?Adjust@LBI_HEAP@@QAEXXZ
-; public: class XYRECT & __thiscall XYRECT::AdjustBottom(int)
-?AdjustBottom@XYRECT@@QAEAAV1@H@Z
-; private: void __thiscall HIER_LBI::AdjustDescendantCount(int)
-?AdjustDescendantCount@HIER_LBI@@AAEXH@Z
-; private: void __thiscall LBI_HEAP::AdjustDownwards(int)
-?AdjustDownwards@LBI_HEAP@@AAEXH@Z
-; public: class XYRECT & __thiscall XYRECT::AdjustLeft(int)
-?AdjustLeft@XYRECT@@QAEAAV1@H@Z
-; public: class XYRECT & __thiscall XYRECT::AdjustRight(int)
-?AdjustRight@XYRECT@@QAEAAV1@H@Z
-; public: class XYRECT & __thiscall XYRECT::AdjustTop(int)
-?AdjustTop@XYRECT@@QAEAAV1@H@Z
-; private: void __thiscall LBI_HEAP::AdjustUpwards(int)
-?AdjustUpwards@LBI_HEAP@@AAEXH@Z
-; private: void __thiscall HIER_LBI::Adopt(class HIER_LBI *,int)
-?Adopt@HIER_LBI@@AAEXPAV1@H@Z
-; public: void __thiscall PROGRESS_CONTROL::Advance(int)
-?Advance@PROGRESS_CONTROL@@QAEXH@Z
-; protected: virtual void __thiscall CONTROL_GROUP::AfterGroupActions(void)
-?AfterGroupActions@CONTROL_GROUP@@MAEXXZ
-; public: void __thiscall USER_BROWSER_LBI::AliasUnicodeStrToDisplayName(struct _UNICODE_STRING *)
-?AliasUnicodeStrToDisplayName@USER_BROWSER_LBI@@QAEXPAU_UNICODE_STRING@@@Z
-; public: long __thiscall DLIST_OF_SPIN_ITEM::Append(class SPIN_ITEM * const)
-?Append@DLIST_OF_SPIN_ITEM@@QAEJQAVSPIN_ITEM@@@Z
-; public: long __thiscall MENU_BASE::Append(unsigned short const *,unsigned int,unsigned int)const 
-?Append@MENU_BASE@@QBEJPBGII@Z
-; public: long __thiscall MENU_BASE::Append(unsigned short const *,struct HMENU__ *,unsigned int)const 
-?Append@MENU_BASE@@QBEJPBGPAUHMENU__@@I@Z
-; public: long __thiscall SLIST_OF_NLS_STR::Append(class NLS_STR const *)
-?Append@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
-; public: long __thiscall SLIST_OF_STRING_BITSET_PAIR::Append(class STRING_BITSET_PAIR const *)
-?Append@SLIST_OF_STRING_BITSET_PAIR@@QAEJPBVSTRING_BITSET_PAIR@@@Z
-; public: long __thiscall SLIST_OF_UI_EXT::Append(class UI_EXT const *)
-?Append@SLIST_OF_UI_EXT@@QAEJPBVUI_EXT@@@Z
-; public: long __thiscall SLIST_OF_ULC_API_BUFFER::Append(class ULC_API_BUFFER const *)
-?Append@SLIST_OF_ULC_API_BUFFER@@QAEJPBVULC_API_BUFFER@@@Z
-; public: long __thiscall SLIST_OF_USER_BROWSER_LBI::Append(class USER_BROWSER_LBI const *)
-?Append@SLIST_OF_USER_BROWSER_LBI@@QAEJPBVUSER_BROWSER_LBI@@@Z
-; public: virtual long __thiscall DM_DTE::AppendDataTo(class NLS_STR *)const 
-?AppendDataTo@DM_DTE@@UBEJPAVNLS_STR@@@Z
-; public: virtual long __thiscall STR_DTE::AppendDataTo(class NLS_STR *)const 
-?AppendDataTo@STR_DTE@@UBEJPAVNLS_STR@@@Z
-; public: long __thiscall MENU_BASE::AppendSeparator(void)const 
-?AppendSeparator@MENU_BASE@@QBEJXZ
-; public: long __thiscall SET_OF_AUDIT_CATEGORIES::ApplyPermissionsToCheckBoxes(class BITFIELD *,class BITFIELD *)
-?ApplyPermissionsToCheckBoxes@SET_OF_AUDIT_CATEGORIES@@QAEJPAVBITFIELD@@0@Z
-; public: int __thiscall NT_USER_BROWSER_DIALOG::AreUsersShown(void)const 
-?AreUsersShown@NT_USER_BROWSER_DIALOG@@QBEHXZ
-; protected: unsigned short const * __thiscall ATOM_BASE::AssignAux(unsigned short const *)
-?AssignAux@ATOM_BASE@@IAEPBGPBG@Z
-; public: long __thiscall POPUP_MENU::Attach(class PWND2HWND const &)
-?Attach@POPUP_MENU@@QAEJABVPWND2HWND@@@Z
-; long __stdcall BLTDoubleChar(class NLS_STR *,unsigned short)
-?BLTDoubleChar@@YGJPAVNLS_STR@@G@Z
-; protected: virtual long __thiscall SET_CONTROL::BLTMoveItems(class BLT_LISTBOX *,class BLT_LISTBOX *)
-?BLTMoveItems@SET_CONTROL@@MAEJPAVBLT_LISTBOX@@0@Z
-; int __stdcall BLTPoints2LogUnits(int)
-?BLTPoints2LogUnits@@YGHH@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::Beep(void)const 
-?Beep@LOGON_HOURS_CONTROL@@ABEXXZ
-; protected: long __thiscall UI_MENU_EXT::BiasMenuIds(unsigned long)
-?BiasMenuIds@UI_MENU_EXT@@IAEJK@Z
-; public: int __thiscall USER_LBI_CACHE::BinarySearch(struct _DOMAIN_DISPLAY_USER *)
-?BinarySearch@USER_LBI_CACHE@@QAEHPAU_DOMAIN_DISPLAY_USER@@@Z
-; public: int __thiscall USER_LBI_CACHE::BinarySearch(class LBI *)
-?BinarySearch@USER_LBI_CACHE@@QAEHPAVLBI@@@Z
-; public: int __thiscall DEVICE_CONTEXT::BitBlt(class XYPOINT const &,class XYDIMENSION,class DEVICE_CONTEXT const &,class XYPOINT const &,unsigned long)
-?BitBlt@DEVICE_CONTEXT@@QAEHABVXYPOINT@@VXYDIMENSION@@ABV1@0K@Z
-; public: int __thiscall DEVICE_CONTEXT::BitBlt(int,int,int,int,class DEVICE_CONTEXT const &,int,int,unsigned long)
-?BitBlt@DEVICE_CONTEXT@@QAEHHHHHABV1@HHK@Z
-; public: long __thiscall MASK_MAP::BitsToString(class BITFIELD const &,class NLS_STR *,int,unsigned int *)
-?BitsToString@MASK_MAP@@QAEJABVBITFIELD@@PAVNLS_STR@@HPAI@Z
-; protected: long __thiscall USER_BROWSER_LBI_CACHE::BuildAndAddLBI(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,void * const,enum UI_SystemSid,enum _SID_NAME_USE,unsigned long)
-?BuildAndAddLBI@USER_BROWSER_LBI_CACHE@@IAEJPBG0000QAXW4UI_SystemSid@@W4_SID_NAME_USE@@K@Z
-; protected: long __thiscall ACCOUNT_NAMES_MLE::BuildNameListFromStrList(class NLS_STR *,class STRLIST *)
-?BuildNameListFromStrList@ACCOUNT_NAMES_MLE@@IAEJPAVNLS_STR@@PAVSTRLIST@@@Z
-; protected: static long __stdcall BLT_COMBOBOX::CBSubclassProc(struct HWND__ *,unsigned int,unsigned int,long)
-?CBSubclassProc@BLT_COMBOBOX@@KGJPAUHWND__@@IIJ@Z
-; protected: virtual int __thiscall BLT_LISTBOX::CD_Char(unsigned short,unsigned short)
-?CD_Char@BLT_LISTBOX@@MAEHGG@Z
-; protected: virtual int __thiscall BLT_LISTBOX_HAW::CD_Char(unsigned short,unsigned short)
-?CD_Char@BLT_LISTBOX_HAW@@MAEHGG@Z
-; protected: virtual int __thiscall CONTROL_WINDOW::CD_Char(unsigned short,unsigned short)
-?CD_Char@CONTROL_WINDOW@@MAEHGG@Z
-; protected: virtual int __thiscall LM_OLLB::CD_Char(unsigned short,unsigned short)
-?CD_Char@LM_OLLB@@MAEHGG@Z
-; protected: virtual int __thiscall OUTLINE_LISTBOX::CD_Char(unsigned short,unsigned short)
-?CD_Char@OUTLINE_LISTBOX@@MAEHGG@Z
-; protected: virtual int __thiscall STATELB::CD_Char(unsigned short,unsigned short)
-?CD_Char@STATELB@@MAEHGG@Z
-; protected: virtual int __thiscall USER_BROWSER_LB::CD_Char(unsigned short,unsigned short)
-?CD_Char@USER_BROWSER_LB@@MAEHGG@Z
-; protected: int __thiscall BLT_LISTBOX::CD_Char_HAWforHawaii(unsigned short,unsigned short,class HAW_FOR_HAWAII_INFO *)
-?CD_Char_HAWforHawaii@BLT_LISTBOX@@IAEHGGPAVHAW_FOR_HAWAII_INFO@@@Z
-; protected: int __thiscall USER_BROWSER_LB::CD_Char_HAWforHawaii(unsigned short,unsigned short,class HAW_FOR_HAWAII_INFO *)
-?CD_Char_HAWforHawaii@USER_BROWSER_LB@@IAEHGGPAVHAW_FOR_HAWAII_INFO@@@Z
-; protected: virtual int __thiscall CONTROL_WINDOW::CD_Draw(struct tagDRAWITEMSTRUCT *)
-?CD_Draw@CONTROL_WINDOW@@MAEHPAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual int __thiscall GRAPHICAL_BUTTON::CD_Draw(struct tagDRAWITEMSTRUCT *)
-?CD_Draw@GRAPHICAL_BUTTON@@MAEHPAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual int __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::CD_Draw(struct tagDRAWITEMSTRUCT *)
-?CD_Draw@GRAPHICAL_BUTTON_WITH_DISABLE@@MAEHPAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual int __thiscall LISTBOX::CD_Draw(struct tagDRAWITEMSTRUCT *)
-?CD_Draw@LISTBOX@@MAEHPAUtagDRAWITEMSTRUCT@@@Z
-; protected: virtual long __thiscall BLT_LISTBOX::CD_Guiltt(int,class NLS_STR *)
-?CD_Guiltt@BLT_LISTBOX@@MAEJHPAVNLS_STR@@@Z
-; protected: virtual long __thiscall CONTROL_WINDOW::CD_Guiltt(int,class NLS_STR *)
-?CD_Guiltt@CONTROL_WINDOW@@MAEJHPAVNLS_STR@@@Z
-; protected: virtual long __thiscall LAZY_LISTBOX::CD_Guiltt(int,class NLS_STR *)
-?CD_Guiltt@LAZY_LISTBOX@@MAEJHPAVNLS_STR@@@Z
-; protected: virtual int __thiscall BLT_LISTBOX::CD_Measure(struct tagMEASUREITEMSTRUCT *)
-?CD_Measure@BLT_LISTBOX@@MAEHPAUtagMEASUREITEMSTRUCT@@@Z
-; protected: virtual int __thiscall CONTROL_WINDOW::CD_Measure(struct tagMEASUREITEMSTRUCT *)
-?CD_Measure@CONTROL_WINDOW@@MAEHPAUtagMEASUREITEMSTRUCT@@@Z
-; protected: virtual int __thiscall CONTROL_WINDOW::CD_VKey(unsigned short,unsigned short)
-?CD_VKey@CONTROL_WINDOW@@MAEHGG@Z
-; protected: virtual int __thiscall LISTBOX::CD_VKey(unsigned short,unsigned short)
-?CD_VKey@LISTBOX@@MAEHGG@Z
-; protected: virtual int __thiscall STATELB::CD_VKey(unsigned short,unsigned short)
-?CD_VKey@STATELB@@MAEHGG@Z
-; protected: virtual int __thiscall USER_BROWSER_LB::CD_VKey(unsigned short,unsigned short)
-?CD_VKey@USER_BROWSER_LB@@MAEHGG@Z
-; protected: void __thiscall CONTROL_GROUP::CVRestoreValue(class CONTROL_VALUE *,int)
-?CVRestoreValue@CONTROL_GROUP@@IAEXPAVCONTROL_VALUE@@H@Z
-; public: void __thiscall CUSTOM_CONTROL::CVRestoreValue(int)
-?CVRestoreValue@CUSTOM_CONTROL@@QAEXH@Z
-; protected: void __thiscall CONTROL_GROUP::CVSaveValue(class CONTROL_VALUE *,int)
-?CVSaveValue@CONTROL_GROUP@@IAEXPAVCONTROL_VALUE@@H@Z
-; public: void __thiscall CUSTOM_CONTROL::CVSaveValue(int)
-?CVSaveValue@CUSTOM_CONTROL@@QAEXH@Z
-; private: struct HICON__ * __thiscall SET_CONTROL::CalcAppropriateCursor(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
-?CalcAppropriateCursor@SET_CONTROL@@ABEPAUHICON__@@PAVLISTBOX@@0ABVXYPOINT@@@Z
-; private: static unsigned int __stdcall METALLIC_STR_DTE::CalcBottomTextMargin(void)
-?CalcBottomTextMargin@METALLIC_STR_DTE@@CGIXZ
-; private: int __thiscall LOGON_HOURS_CONTROL::CalcButtonFromPoint(class XYPOINT)const 
-?CalcButtonFromPoint@LOGON_HOURS_CONTROL@@ABEHVXYPOINT@@@Z
-; public: static long __stdcall DISPLAY_TABLE::CalcColumnWidths(unsigned int *,unsigned int,class OWNER_WINDOW *,unsigned int,int)
-?CalcColumnWidths@DISPLAY_TABLE@@SGJPAIIPAVOWNER_WINDOW@@IH@Z
-; private: static int __stdcall POPUP::CalcDefButton(unsigned int,unsigned int)
-?CalcDefButton@POPUP@@CGHII@Z
-; protected: static int __stdcall OWNER_WINDOW::CalcFixedCDMeasure(struct HWND__ *,struct tagMEASUREITEMSTRUCT *)
-?CalcFixedCDMeasure@OWNER_WINDOW@@KGHPAUHWND__@@PAUtagMEASUREITEMSTRUCT@@@Z
-; protected: static int __stdcall WINDOW::CalcFixedHeight(struct HWND__ *,unsigned int *)
-?CalcFixedHeight@WINDOW@@KGHPAUHWND__@@PAI@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::CalcGridRect(class XYRECT *)const 
-?CalcGridRect@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@@Z
-; public: virtual unsigned int __thiscall LBI::CalcHeight(unsigned int)
-?CalcHeight@LBI@@UAEII@Z
-; public: int __thiscall XYRECT::CalcHeight(void)const 
-?CalcHeight@XYRECT@@QBEHXZ
-; public: static unsigned short const * __stdcall BLT::CalcHelpFileHC(unsigned long)
-?CalcHelpFileHC@BLT@@SGPBGK@Z
-; public: static struct HINSTANCE__ * __stdcall BLT::CalcHmodRsrc(class IDRESOURCE const &)
-?CalcHmodRsrc@BLT@@SGPAUHINSTANCE__@@ABVIDRESOURCE@@@Z
-; public: static struct HINSTANCE__ * __stdcall BLT::CalcHmodString(long)
-?CalcHmodString@BLT@@SGPAUHINSTANCE__@@J@Z
-; public: class XYRECT & __thiscall XYRECT::CalcIntersect(class XYRECT const &,class XYRECT const &)
-?CalcIntersect@XYRECT@@QAEAAV1@ABV1@0@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::CalcRectForCell(class XYRECT *,int)const 
-?CalcRectForCell@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@H@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::CalcRectForCorner(class XYRECT *)const 
-?CalcRectForCorner@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::CalcRectForDay(class XYRECT *,int)const 
-?CalcRectForDay@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@H@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::CalcRectForHour(class XYRECT *,int)const 
-?CalcRectForHour@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@H@Z
-; public: long __thiscall BLT_LISTBOX::CalcSingleLineHeight(void)
-?CalcSingleLineHeight@BLT_LISTBOX@@QAEJXZ
-; private: long __thiscall LOGON_HOURS_CONTROL::CalcSizes(class XYDIMENSION)
-?CalcSizes@LOGON_HOURS_CONTROL@@AAEJVXYDIMENSION@@@Z
-; private: static unsigned int __stdcall METALLIC_STR_DTE::CalcTopTextMargin(void)
-?CalcTopTextMargin@METALLIC_STR_DTE@@CGIXZ
-; public: class XYRECT & __thiscall XYRECT::CalcUnion(class XYRECT const &,class XYRECT const &)
-?CalcUnion@XYRECT@@QAEAAV1@ABV1@0@Z
-; public: int __thiscall XYRECT::CalcWidth(void)const 
-?CalcWidth@XYRECT@@QBEHXZ
-; public: long __thiscall ACCOUNT_NAMES_MLE::CanonicalizeNames(unsigned short const *,class STRLIST *)
-?CanonicalizeNames@ACCOUNT_NAMES_MLE@@QAEJPBGPAVSTRLIST@@@Z
-; public: void __thiscall CLIENT_WINDOW::CaptureMouse(void)
-?CaptureMouse@CLIENT_WINDOW@@QAEXXZ
-; public: void __thiscall DISPATCHER::CaptureMouse(void)
-?CaptureMouse@DISPATCHER@@QAEXXZ
-; public: void __thiscall WINDOW::Center(struct HWND__ *)
-?Center@WINDOW@@QAEXPAUHWND__@@@Z
-; public: int __thiscall SPIN_GROUP::ChangeFieldValue(unsigned short,int)
-?ChangeFieldValue@SPIN_GROUP@@QAEHGH@Z
-; public: void __thiscall AUDIT_CHECKBOXES::CheckFailed(int)
-?CheckFailed@AUDIT_CHECKBOXES@@QAEXH@Z
-; public: unsigned int __thiscall MENU_BASE::CheckItem(unsigned int,int,unsigned int)const 
-?CheckItem@MENU_BASE@@QBEIIHI@Z
-; protected: long __thiscall ACCOUNT_NAMES_MLE::CheckLookedUpNames(unsigned short * *,class LSA_TRANSLATED_SID_MEM *,class STRLIST *,class NLS_STR *,unsigned short const *,long *)
-?CheckLookedUpNames@ACCOUNT_NAMES_MLE@@IAEJPAPAGPAVLSA_TRANSLATED_SID_MEM@@PAVSTRLIST@@PAVNLS_STR@@PBGPAJ@Z
-; public: static long __stdcall ACCOUNT_NAMES_MLE::CheckNameType(enum _SID_NAME_USE,unsigned long)
-?CheckNameType@ACCOUNT_NAMES_MLE@@SGJW4_SID_NAME_USE@@K@Z
-; public: int __thiscall CHANGEABLE_SPIN_ITEM::CheckRange(unsigned long)const 
-?CheckRange@CHANGEABLE_SPIN_ITEM@@QBEHK@Z
-; public: void __thiscall AUDIT_CHECKBOXES::CheckSuccess(int)
-?CheckSuccess@AUDIT_CHECKBOXES@@QAEXH@Z
-; public: virtual int __thiscall CHANGEABLE_SPIN_ITEM::CheckValid(void)
-?CheckValid@CHANGEABLE_SPIN_ITEM@@UAEHXZ
-; public: virtual int __thiscall SPIN_SLE_NUM_VALID::CheckValid(void)
-?CheckValid@SPIN_SLE_NUM_VALID@@UAEHXZ
-; public: class CONTROL_WINDOW * __thiscall CONTROL_TABLE::CidToCtrlPtr(unsigned int)const 
-?CidToCtrlPtr@CONTROL_TABLE@@QBEPAVCONTROL_WINDOW@@I@Z
-; protected: class CONTROL_WINDOW * __thiscall OWNER_WINDOW::CidToCtrlPtr(unsigned int)const 
-?CidToCtrlPtr@OWNER_WINDOW@@IBEPAVCONTROL_WINDOW@@I@Z
-; public: void __thiscall CONTROL_WINDOW::ClaimFocus(void)
-?ClaimFocus@CONTROL_WINDOW@@QAEXXZ
-; public: void __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::Clear(void)
-?Clear@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAEXXZ
-; public: void __thiscall DLIST_OF_SPIN_ITEM::Clear(void)
-?Clear@DLIST_OF_SPIN_ITEM@@QAEXXZ
-; public: void __thiscall SLIST_OF_ASSOCHCFILE::Clear(void)
-?Clear@SLIST_OF_ASSOCHCFILE@@QAEXXZ
-; public: void __thiscall SLIST_OF_CLIENTDATA::Clear(void)
-?Clear@SLIST_OF_CLIENTDATA@@QAEXXZ
-; public: void __thiscall SLIST_OF_OS_SID::Clear(void)
-?Clear@SLIST_OF_OS_SID@@QAEXXZ
-; public: void __thiscall SLIST_OF_STRING_BITSET_PAIR::Clear(void)
-?Clear@SLIST_OF_STRING_BITSET_PAIR@@QAEXXZ
-; public: void __thiscall SLIST_OF_TIMER_BASE::Clear(void)
-?Clear@SLIST_OF_TIMER_BASE@@QAEXXZ
-; public: void __thiscall SLIST_OF_UI_EXT::Clear(void)
-?Clear@SLIST_OF_UI_EXT@@QAEXXZ
-; public: void __thiscall SLIST_OF_ULC_API_BUFFER::Clear(void)
-?Clear@SLIST_OF_ULC_API_BUFFER@@QAEXXZ
-; public: void __thiscall SLIST_OF_USER_BROWSER_LBI::Clear(void)
-?Clear@SLIST_OF_USER_BROWSER_LBI@@QAEXXZ
-; private: void __thiscall H_SPLITTER_BAR::ClearDragBar(void)
-?ClearDragBar@H_SPLITTER_BAR@@AAEXXZ
-; public: static unsigned long __stdcall BLT_MASTER_TIMER::ClearMasterTimerHotkey(void)
-?ClearMasterTimerHotkey@BLT_MASTER_TIMER@@SGKXZ
-; public: void __thiscall SLT_ELLIPSIS::ClearText(void)
-?ClearText@SLT_ELLIPSIS@@QAEXXZ
-; public: void __thiscall WINDOW::ClearText(void)
-?ClearText@WINDOW@@QAEXXZ
-; public: void __thiscall XYPOINT::ClientToScreen(struct HWND__ *)
-?ClientToScreen@XYPOINT@@QAEXPAUHWND__@@@Z
-; public: void __thiscall APP_WINDOW::Close(void)
-?Close@APP_WINDOW@@QAEXXZ
-; public: long __thiscall WIN32_HANDLE::Close(void)
-?Close@WIN32_HANDLE@@QAEJXZ
-; protected: void __thiscall OPEN_DIALOG_BASE::CloseFile(class OPEN_LBI_BASE *)
-?CloseFile@OPEN_DIALOG_BASE@@IAEXPAVOPEN_LBI_BASE@@@Z
-; protected: static int __stdcall USER_LBI_CACHE::CmpUniStrs(struct _UNICODE_STRING const *,struct _UNICODE_STRING const *)
-?CmpUniStrs@USER_LBI_CACHE@@KGHPBU_UNICODE_STRING@@0@Z
-; public: long __thiscall LM_OLLB::CollapseDomain(int)
-?CollapseDomain@LM_OLLB@@QAEJH@Z
-; public: long __thiscall LM_OLLB::CollapseDomain(void)
-?CollapseDomain@LM_OLLB@@QAEJXZ
-; public: void __thiscall HIER_LISTBOX::CollapseItem(int,int)
-?CollapseItem@HIER_LISTBOX@@QAEXHH@Z
-; public: void __thiscall HIER_LISTBOX::CollapseItem(class HIER_LBI *,int)
-?CollapseItem@HIER_LISTBOX@@QAEXPAVHIER_LBI@@H@Z
-; int __stdcall CommDlgHookProc(struct HWND__ *,unsigned short,unsigned int,long)
-?CommDlgHookProc@@YGHPAUHWND__@@GIJ@Z
-; public: unsigned long __thiscall WINDOW::Command(unsigned int,unsigned int,long)const 
-?Command@WINDOW@@QBEKIIJ@Z
-; public: virtual int __thiscall BROWSER_DOMAIN_LBI::Compare(class LBI const *)const 
-?Compare@BROWSER_DOMAIN_LBI@@UBEHPBVLBI@@@Z
-; public: virtual int __thiscall BROWSER_DOMAIN_LBI_PB::Compare(class LBI const *)const 
-?Compare@BROWSER_DOMAIN_LBI_PB@@UBEHPBVLBI@@@Z
-; public: int __thiscall CONTROLVAL_CID_PAIR::Compare(class CONTROLVAL_CID_PAIR const *)const 
-?Compare@CONTROLVAL_CID_PAIR@@QBEHPBV1@@Z
-; public: virtual int __thiscall LBI::Compare(class LBI const *)const 
-?Compare@LBI@@UBEHPBV1@@Z
-; public: virtual int __thiscall OLLB_ENTRY::Compare(class LBI const *)const 
-?Compare@OLLB_ENTRY@@UBEHPBVLBI@@@Z
-; protected: virtual int __thiscall STLBITEM::Compare(class LBI const *)const 
-?Compare@STLBITEM@@MBEHPBVLBI@@@Z
-; public: virtual int __thiscall USER_BROWSER_LBI::Compare(class LBI const *)const 
-?Compare@USER_BROWSER_LBI@@UBEHPBVLBI@@@Z
-; protected: virtual int __thiscall USER_BROWSER_LBI_CACHE::Compare(class LBI const *,class LBI const *)const 
-?Compare@USER_BROWSER_LBI_CACHE@@MBEHPBVLBI@@0@Z
-; protected: virtual int __thiscall USER_BROWSER_LBI_CACHE::Compare(class LBI const *,struct _DOMAIN_DISPLAY_USER const *)const 
-?Compare@USER_BROWSER_LBI_CACHE@@MBEHPBVLBI@@PBU_DOMAIN_DISPLAY_USER@@@Z
-; public: int __thiscall USER_BROWSER_LBI::CompareAux(class LBI const *)const 
-?CompareAux@USER_BROWSER_LBI@@QBEHPBVLBI@@@Z
-; protected: static int __cdecl USER_BROWSER_LBI_CACHE::CompareCacheLBIs(struct _ULC_ENTRY_BASE const *,struct _ULC_ENTRY_BASE const *)
-?CompareCacheLBIs@USER_BROWSER_LBI_CACHE@@KAHPBU_ULC_ENTRY_BASE@@0@Z
-; protected: static int __cdecl USER_LBI_CACHE::CompareLogonNames(void const *,void const *)
-?CompareLogonNames@USER_LBI_CACHE@@KAHPBX0@Z
-; public: virtual int __thiscall LBI::Compare_HAWforHawaii(class NLS_STR const &)const 
-?Compare_HAWforHawaii@LBI@@UBEHABVNLS_STR@@@Z
-; public: virtual int __thiscall USER_BROWSER_LBI::Compare_HAWforHawaii(class NLS_STR const &)const 
-?Compare_HAWforHawaii@USER_BROWSER_LBI@@UBEHABVNLS_STR@@@Z
-; int __cdecl ComparepLBIs(class USER_BROWSER_LBI * const *,class USER_BROWSER_LBI * const *)
-?ComparepLBIs@@YAHPBQAVUSER_BROWSER_LBI@@0@Z
-; public: long __thiscall PROMPT_AND_CONNECT::Connect(void)
-?Connect@PROMPT_AND_CONNECT@@QAEJXZ
-; public: int __thiscall XYRECT::ContainsXY(class XYPOINT)const 
-?ContainsXY@XYRECT@@QBEHVXYPOINT@@@Z
-; protected: long __thiscall SLT_ELLIPSIS::ConvertAndSetStr(void)
-?ConvertAndSetStr@SLT_ELLIPSIS@@IAEJXZ
-; public: void __thiscall XYRECT::ConvertClientToScreen(struct HWND__ *)
-?ConvertClientToScreen@XYRECT@@QAEXPAUHWND__@@@Z
-; public: void __thiscall XYRECT::ConvertScreenToClient(struct HWND__ *)
-?ConvertScreenToClient@XYRECT@@QAEXPAUHWND__@@@Z
-; protected: virtual class LBI * __thiscall USER_BROWSER_LBI_CACHE::CreateLBI(struct _DOMAIN_DISPLAY_USER const *)
-?CreateLBI@USER_BROWSER_LBI_CACHE@@MAEPAVLBI@@PBU_DOMAIN_DISPLAY_USER@@@Z
-; public: long __thiscall ACCOUNT_NAMES_MLE::CreateLBIListFromNames(unsigned short const *,unsigned short const *,class SLIST_OF_USER_BROWSER_LBI *,class SLIST_OF_USER_BROWSER_LBI *,long *,class NLS_STR *)
-?CreateLBIListFromNames@ACCOUNT_NAMES_MLE@@QAEJPBG0PAVSLIST_OF_USER_BROWSER_LBI@@1PAJPAVNLS_STR@@@Z
-; long __stdcall CreateLBIsFromSids(void * const *,unsigned long,void * const,class LSA_POLICY *,unsigned short const *,class USER_BROWSER_LB *,class SLIST_OF_USER_BROWSER_LBI *)
-?CreateLBIsFromSids@@YGJPBQAXKQAXPAVLSA_POLICY@@PBGPAVUSER_BROWSER_LB@@PAVSLIST_OF_USER_BROWSER_LBI@@@Z
-; private: void __thiscall GRAPHICAL_BUTTON::CtAux(unsigned short const *,unsigned short const *,unsigned short const *)
-?CtAux@GRAPHICAL_BUTTON@@AAEXPBG00@Z
-; private: void __thiscall H_SPLITTER_BAR::CtAux(void)
-?CtAux@H_SPLITTER_BAR@@AAEXXZ
-; private: long __thiscall POPUP_MENU::CtAux(struct HMENU__ *)
-?CtAux@POPUP_MENU@@AAEJPAUHMENU__@@@Z
-; private: void __thiscall PROGRESS_CONTROL::CtAux(void)
-?CtAux@PROGRESS_CONTROL@@AAEXXZ
-; public: long __thiscall MENU_BASE::Delete(unsigned int,unsigned int)const 
-?Delete@MENU_BASE@@QBEJII@Z
-; public: void __thiscall LIST_CONTROL::DeleteAllItems(void)
-?DeleteAllItems@LIST_CONTROL@@QAEXXZ
-; protected: void __thiscall WIN32_THREAD::DeleteAndExit(unsigned int)
-?DeleteAndExit@WIN32_THREAD@@IAEXI@Z
-; public: void __thiscall HIER_LISTBOX::DeleteChildren(class HIER_LBI *)
-?DeleteChildren@HIER_LISTBOX@@QAEXPAVHIER_LBI@@@Z
-; public: void __thiscall DEVICE_COMBO::DeleteCurrentDeviceName(void)
-?DeleteCurrentDeviceName@DEVICE_COMBO@@QAEXXZ
-; public: int __thiscall HIER_LISTBOX::DeleteItem(int,int)
-?DeleteItem@HIER_LISTBOX@@QAEHHH@Z
-; public: int __thiscall LIST_CONTROL::DeleteItem(int)
-?DeleteItem@LIST_CONTROL@@QAEHH@Z
-; public: static void __stdcall BLT::DeregisterHelpFile(struct HINSTANCE__ *,unsigned long)
-?DeregisterHelpFile@BLT@@SGXPAUHINSTANCE__@@K@Z
-; public: long __thiscall POPUP_MENU::Destroy(void)
-?Destroy@POPUP_MENU@@QAEJXZ
-; protected: void __thiscall DIALOG_WINDOW::Dismiss(unsigned int)
-?Dismiss@DIALOG_WINDOW@@IAEXI@Z
-; protected: void __thiscall DIALOG_WINDOW::DismissMsg(long,unsigned int)
-?DismissMsg@DIALOG_WINDOW@@IAEXJI@Z
-; protected: virtual int __thiscall DISPATCHER::Dispatch(class EVENT const &,unsigned long *)
-?Dispatch@DISPATCHER@@MAEHABVEVENT@@PAK@Z
-; protected: virtual int __thiscall H_SPLITTER_BAR::Dispatch(class EVENT const &,unsigned long *)
-?Dispatch@H_SPLITTER_BAR@@MAEHABVEVENT@@PAK@Z
-; protected: virtual int __thiscall LB_COLUMN_HEADER::Dispatch(class EVENT const &,unsigned long *)
-?Dispatch@LB_COLUMN_HEADER@@MAEHABVEVENT@@PAK@Z
-; protected: virtual long __thiscall APP_WINDOW::DispatchMessageW(class EVENT const &)
-?DispatchMessageW@APP_WINDOW@@MAEJABVEVENT@@@Z
-; protected: virtual long __thiscall CLIENT_WINDOW::DispatchMessageW(class EVENT const &)
-?DispatchMessageW@CLIENT_WINDOW@@MAEJABVEVENT@@@Z
-; protected: virtual void __thiscall PROC_TIMER::DispatchTimer(void)
-?DispatchTimer@PROC_TIMER@@MAEXXZ
-; protected: virtual void __thiscall TIMER::DispatchTimer(void)
-?DispatchTimer@TIMER@@MAEXXZ
-; protected: virtual void __thiscall TIMER_BASE::DispatchTimer(void)
-?DispatchTimer@TIMER_BASE@@MAEXXZ
-; protected: virtual void __thiscall WINDOW_TIMER::DispatchTimer(void)
-?DispatchTimer@WINDOW_TIMER@@MAEXXZ
-; private: void __thiscall APPLICATION::DisplayCtError(long)
-?DisplayCtError@APPLICATION@@AAEXJ@Z
-; protected: virtual void __thiscall SPIN_SLE_NUM_VALID::DisplayErrorMsg(void)
-?DisplayErrorMsg@SPIN_SLE_NUM_VALID@@MAEXXZ
-; unsigned int __stdcall DisplayGenericError(class OWNINGWND const &,long,long,unsigned short const *,unsigned short const *,enum MSG_SEVERITY)
-?DisplayGenericError@@YGIABVOWNINGWND@@JJPBG1W4MSG_SEVERITY@@@Z
-; unsigned int __stdcall DisplayGenericError(class OWNINGWND const &,long,long,unsigned short const *,enum MSG_SEVERITY)
-?DisplayGenericError@@YGIABVOWNINGWND@@JJPBGW4MSG_SEVERITY@@@Z
-; private: void __thiscall SPIN_SLE_NUM::DisplayNum(unsigned long)
-?DisplayNum@SPIN_SLE_NUM@@AAEXK@Z
-; public: static int __stdcall DIALOG_WINDOW::DlgProc(struct HWND__ *,unsigned int,unsigned int,long)
-?DlgProc@DIALOG_WINDOW@@SGHPAUHWND__@@IIJ@Z
-; public: virtual long __thiscall SET_CONTROL::DoAdd(void)
-?DoAdd@SET_CONTROL@@UAEJXZ
-; private: long __thiscall SET_CONTROL::DoAddOrRemove(class LISTBOX *,class LISTBOX *)
-?DoAddOrRemove@SET_CONTROL@@AAEJPAVLISTBOX@@0@Z
-; public: int __thiscall SPIN_GROUP::DoArrowCommand(unsigned int,unsigned short)
-?DoArrowCommand@SPIN_GROUP@@QAEHIG@Z
-; public: void __thiscall LOGON_HOURS_CONTROL::DoBanButton(void)
-?DoBanButton@LOGON_HOURS_CONTROL@@QAEXXZ
-; private: void __thiscall LOGON_HOURS_CONTROL::DoButtonClick(int)
-?DoButtonClick@LOGON_HOURS_CONTROL@@AAEXH@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DoButtonDownVisuals(void)
-?DoButtonDownVisuals@LOGON_HOURS_CONTROL@@AAEXXZ
-; private: void __thiscall LOGON_HOURS_CONTROL::DoButtonUpVisuals(int)
-?DoButtonUpVisuals@LOGON_HOURS_CONTROL@@AAEXH@Z
-; public: int __thiscall DISPATCHER::DoChar(class CHAR_EVENT const &)
-?DoChar@DISPATCHER@@QAEHABVCHAR_EVENT@@@Z
-; public: int __thiscall SPIN_GROUP::DoChar(class CHAR_EVENT const &)
-?DoChar@SPIN_GROUP@@QAEHABVCHAR_EVENT@@@Z
-; public: int __thiscall SPIN_GROUP::DoNewFocus(class SPIN_ITEM *)
-?DoNewFocus@SPIN_GROUP@@QAEHPAVSPIN_ITEM@@@Z
-; protected: virtual long __thiscall CANCEL_TASK_DIALOG::DoOneItem(unsigned long,int *,int *,long *)
-?DoOneItem@CANCEL_TASK_DIALOG@@MAEJKPAH0PAJ@Z
-; public: void __thiscall LOGON_HOURS_CONTROL::DoPermitButton(void)
-?DoPermitButton@LOGON_HOURS_CONTROL@@QAEXXZ
-; public: virtual long __thiscall SET_CONTROL::DoRemove(void)
-?DoRemove@SET_CONTROL@@UAEJXZ
-; protected: long __thiscall NT_FIND_ACCOUNT_DIALOG::DoSearch(void)
-?DoSearch@NT_FIND_ACCOUNT_DIALOG@@IAEJXZ
-; public: int __thiscall DISPATCHER::DoUserMessage(class EVENT const &)
-?DoUserMessage@DISPATCHER@@QAEHABVEVENT@@@Z
-; private: int __thiscall LOGON_HOURS_CONTROL::DrawAllButtons(class PAINT_DISPLAY_CONTEXT &)const 
-?DrawAllButtons@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@@Z
-; private: int __thiscall LOGON_HOURS_CONTROL::DrawBackground(class PAINT_DISPLAY_CONTEXT &)const 
-?DrawBackground@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawCurrentSelection(class DISPLAY_CONTEXT const &)const 
-?DrawCurrentSelection@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusOnCell(class DISPLAY_CONTEXT const &,int)const 
-?DrawFocusOnCell@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusOnCornerButton(class DISPLAY_CONTEXT const &)const 
-?DrawFocusOnCornerButton@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusOnDayButton(class DISPLAY_CONTEXT const &,int)const 
-?DrawFocusOnDayButton@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusOnHourButton(class DISPLAY_CONTEXT const &,int)const 
-?DrawFocusOnHourButton@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
-; public: void __thiscall DEVICE_CONTEXT::DrawFocusRect(struct tagRECT const *)const 
-?DrawFocusRect@DEVICE_CONTEXT@@QBEXPBUtagRECT@@@Z
-; protected: void __thiscall FOCUS_CHECKBOX::DrawFocusRect(class DEVICE_CONTEXT *,struct tagRECT *,int)
-?DrawFocusRect@FOCUS_CHECKBOX@@IAEXPAVDEVICE_CONTEXT@@PAUtagRECT@@H@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusSomewhere(class DISPLAY_CONTEXT const &,int)const 
-?DrawFocusSomewhere@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
-; private: int __thiscall LOGON_HOURS_CONTROL::DrawGridSetting(class PAINT_DISPLAY_CONTEXT &)const 
-?DrawGridSetting@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@@Z
-; private: int __thiscall LOGON_HOURS_CONTROL::DrawGridWires(class PAINT_DISPLAY_CONTEXT &)const 
-?DrawGridWires@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@@Z
-; private: int __thiscall APP_WINDOW::DrawIcon(void)
-?DrawIcon@APP_WINDOW@@AAEHXZ
-; public: long __thiscall APP_WINDOW::DrawMenuBar(void)const 
-?DrawMenuBar@APP_WINDOW@@QBEJXZ
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawOneCornerButton(class PAINT_DISPLAY_CONTEXT &,class XYRECT const &,int,struct HBRUSH__ *,struct HPEN__ *,struct HPEN__ *)const 
-?DrawOneCornerButton@LOGON_HOURS_CONTROL@@ABEXAAVPAINT_DISPLAY_CONTEXT@@ABVXYRECT@@HPAUHBRUSH__@@PAUHPEN__@@3@Z
-; private: int __thiscall LOGON_HOURS_CONTROL::DrawOneDayBar(class PAINT_DISPLAY_CONTEXT &,int,int,int,struct HBRUSH__ *)const 
-?DrawOneDayBar@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@HHHPAUHBRUSH__@@@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawOneFlatButton(class PAINT_DISPLAY_CONTEXT &,class XYRECT const &,int,struct HBRUSH__ *,struct HPEN__ *,struct HPEN__ *)const 
-?DrawOneFlatButton@LOGON_HOURS_CONTROL@@ABEXAAVPAINT_DISPLAY_CONTEXT@@ABVXYRECT@@HPAUHBRUSH__@@PAUHPEN__@@3@Z
-; public: void __thiscall DEVICE_CONTEXT::DrawRect(struct tagRECT const *)const 
-?DrawRect@DEVICE_CONTEXT@@QBEXPBUtagRECT@@@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawSelectionOnCell(class DISPLAY_CONTEXT const &,int)const 
-?DrawSelectionOnCell@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::DrawSelectionOnCells(class DISPLAY_CONTEXT const &,int,int)const 
-?DrawSelectionOnCells@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@HH@Z
-; public: int __thiscall DEVICE_CONTEXT::DrawTextW(class NLS_STR const &,struct tagRECT *,unsigned int)
-?DrawTextW@DEVICE_CONTEXT@@QAEHABVNLS_STR@@PAUtagRECT@@I@Z
-; private: int __thiscall POPUP::Emergency(void)const 
-?Emergency@POPUP@@ABEHXZ
-; public: void __thiscall AUDIT_CHECKBOXES::Enable(int,int)
-?Enable@AUDIT_CHECKBOXES@@QAEXHH@Z
-; public: void __thiscall MAGIC_GROUP::Enable(int)
-?Enable@MAGIC_GROUP@@QAEXH@Z
-; public: void __thiscall MENUITEM::Enable(int)
-?Enable@MENUITEM@@QAEXH@Z
-; public: void __thiscall RADIO_GROUP::Enable(int)
-?Enable@RADIO_GROUP@@QAEXH@Z
-; public: void __thiscall SET_OF_AUDIT_CATEGORIES::Enable(int,int)
-?Enable@SET_OF_AUDIT_CATEGORIES@@QAEXHH@Z
-; public: void __thiscall TIMER_BASE::Enable(int)
-?Enable@TIMER_BASE@@QAEXH@Z
-; public: void __thiscall WINDOW::Enable(int)
-?Enable@WINDOW@@QAEXH@Z
-; protected: void __thiscall NT_USER_BROWSER_DIALOG::EnableBrowsing(int)
-?EnableBrowsing@NT_USER_BROWSER_DIALOG@@IAEXH@Z
-; protected: void __thiscall SET_CONTROL::EnableButtons(void)
-?EnableButtons@SET_CONTROL@@IAEXXZ
-; public: unsigned int __thiscall MENU_BASE::EnableItem(unsigned int,int,unsigned int)const 
-?EnableItem@MENU_BASE@@QBEIIHI@Z
-; public: void __thiscall SET_CONTROL::EnableMoves(int)
-?EnableMoves@SET_CONTROL@@QAEXH@Z
-; public: void __thiscall TRISTATE::EnableThirdState(int)
-?EnableThirdState@TRISTATE@@QAEXH@Z
-; public: static long __stdcall BLTIMP::EnterBLTCritSect(void)
-?EnterBLTCritSect@BLTIMP@@SGJXZ
-; public: static long __stdcall BLTIMP::EnterResourceCritSect(void)
-?EnterResourceCritSect@BLTIMP@@SGJXZ
-; public: long __thiscall MASK_MAP::EnumBits(class BITFIELD *,int *,int *,int)
-?EnumBits@MASK_MAP@@QAEJPAVBITFIELD@@PAH1H@Z
-; public: long __thiscall MASK_MAP::EnumStrings(class NLS_STR *,int *,int *,int)
-?EnumStrings@MASK_MAP@@QAEJPAVNLS_STR@@PAH1H@Z
-; protected: void __thiscall FOCUS_CHECKBOX::EraseFocusRect(class DEVICE_CONTEXT *,struct tagRECT *)
-?EraseFocusRect@FOCUS_CHECKBOX@@IAEXPAVDEVICE_CONTEXT@@PAUtagRECT@@@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::EraseSelection(class DISPLAY_CONTEXT const &)
-?EraseSelection@LOGON_HOURS_CONTROL@@AAEXABVDISPLAY_CONTEXT@@@Z
-; protected: void __thiscall WIN32_THREAD::Exit(unsigned int)
-?Exit@WIN32_THREAD@@IAEXI@Z
-; public: long __thiscall DOMAIN_FILL_THREAD::ExitThread(void)
-?ExitThread@DOMAIN_FILL_THREAD@@QAEJXZ
-; public: long __thiscall FOCUSDLG_DATA_THREAD::ExitThread(void)
-?ExitThread@FOCUSDLG_DATA_THREAD@@QAEJXZ
-; private: int __thiscall HIER_LISTBOX::ExpandChildren(int,class HIER_LBI *)
-?ExpandChildren@HIER_LISTBOX@@AAEHHPAVHIER_LBI@@@Z
-; public: long __thiscall LM_OLLB::ExpandDomain(int)
-?ExpandDomain@LM_OLLB@@QAEJH@Z
-; public: long __thiscall LM_OLLB::ExpandDomain(void)
-?ExpandDomain@LM_OLLB@@QAEJXZ
-; public: long __thiscall HIER_LISTBOX::ExpandItem(int)
-?ExpandItem@HIER_LISTBOX@@QAEJH@Z
-; public: long __thiscall HIER_LISTBOX::ExpandItem(class HIER_LBI *)
-?ExpandItem@HIER_LISTBOX@@QAEJPAVHIER_LBI@@@Z
-; public: int __thiscall DEVICE_CONTEXT::ExtTextOutW(int,int,unsigned int,struct tagRECT const *,class NLS_STR const &,int *)
-?ExtTextOutW@DEVICE_CONTEXT@@QAEHHHIPBUtagRECT@@ABVNLS_STR@@PAH@Z
-; public: int __thiscall DEVICE_CONTEXT::ExtTextOutW(int,int,unsigned int,struct tagRECT const *,unsigned short const *,int,int *)
-?ExtTextOutW@DEVICE_CONTEXT@@QAEHHHIPBUtagRECT@@PBGHPAH@Z
-; public: long __thiscall NT_GROUP_BROWSER_LB::Fill(void * const *,unsigned long,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
-?Fill@NT_GROUP_BROWSER_LB@@QAEJPBQAXKPBVSAM_DOMAIN@@PAVLSA_POLICY@@PBG@Z
-; public: long __thiscall OPEN_LBOX_BASE::Fill(void)
-?Fill@OPEN_LBOX_BASE@@QAEJXZ
-; public: long __thiscall USER_BROWSER_LBI_CACHE::Fill(class ADMIN_AUTHORITY *,unsigned short const *,unsigned long,int,int,int *)
-?Fill@USER_BROWSER_LBI_CACHE@@QAEJPAVADMIN_AUTHORITY@@PBGKHHPAH@Z
-; public: void __thiscall LM_OLLB::FillAllInfo(class BROWSE_DOMAIN_ENUM *,class SERVER1_ENUM *,unsigned short const *)
-?FillAllInfo@LM_OLLB@@QAEXPAVBROWSE_DOMAIN_ENUM@@PAVSERVER1_ENUM@@PBG@Z
-; private: void __thiscall MSGPOPUP_DIALOG::FillButtonArray(unsigned int,int *,int *)
-?FillButtonArray@MSGPOPUP_DIALOG@@AAEXIPAH0@Z
-; private: long __thiscall DEVICE_COMBO::FillDevices(void)
-?FillDevices@DEVICE_COMBO@@AAEJXZ
-; private: long __thiscall LM_OLLB::FillDomains(unsigned long,unsigned short const *)
-?FillDomains@LM_OLLB@@AAEJKPBG@Z
-; public: long __thiscall NT_GROUP_BROWSER_LB::FillGlobalGroupMembers(class OS_SID const *,class SAM_DOMAIN const *,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
-?FillGlobalGroupMembers@NT_GROUP_BROWSER_LB@@QAEJPBVOS_SID@@PBVSAM_DOMAIN@@1PAVLSA_POLICY@@PBG@Z
-; public: long __thiscall NT_GROUP_BROWSER_LB::FillLocalGroupMembers(class OS_SID const *,class SAM_DOMAIN const *,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
-?FillLocalGroupMembers@NT_GROUP_BROWSER_LB@@QAEJPBVOS_SID@@PBVSAM_DOMAIN@@1PAVLSA_POLICY@@PBG@Z
-; private: long __thiscall LM_OLLB::FillServers(unsigned short const *,unsigned int *)
-?FillServers@LM_OLLB@@AAEJPBGPAI@Z
-; protected: virtual int __thiscall DIALOG_WINDOW::FilterMessage(struct tagMSG *)
-?FilterMessage@DIALOG_WINDOW@@MAEHPAUtagMSG@@@Z
-; protected: virtual int __thiscall HAS_MESSAGE_PUMP::FilterMessage(struct tagMSG *)
-?FilterMessage@HAS_MESSAGE_PUMP@@MAEHPAUtagMSG@@@Z
-; public: int __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::Find(class CONTROLVAL_CID_PAIR const &)const 
-?Find@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QBEHABVCONTROLVAL_CID_PAIR@@@Z
-; public: static class DIALOG_WINDOW * __stdcall HWND_DLGPTR_CACHE::Find(struct HWND__ *)
-?Find@HWND_DLGPTR_CACHE@@SGPAVDIALOG_WINDOW@@PAUHWND__@@@Z
-; private: unsigned int __thiscall MAGIC_GROUP::FindAssocRadioButton(class CONTROL_VALUE *)
-?FindAssocRadioButton@MAGIC_GROUP@@AAEIPAVCONTROL_VALUE@@@Z
-; public: class BROWSER_DOMAIN * __thiscall NT_USER_BROWSER_DIALOG::FindDomain(class OS_SID const *)
-?FindDomain@NT_USER_BROWSER_DIALOG@@QAEPAVBROWSER_DOMAIN@@PBVOS_SID@@@Z
-; public: class UI_EXT * __thiscall UI_EXT_MGR::FindExtensionByDelta(unsigned long)
-?FindExtensionByDelta@UI_EXT_MGR@@QAEPAVUI_EXT@@K@Z
-; public: class UI_EXT * __thiscall UI_EXT_MGR::FindExtensionByName(unsigned short const *)
-?FindExtensionByName@UI_EXT_MGR@@QAEPAVUI_EXT@@PBG@Z
-; public: int __thiscall BLT_LISTBOX::FindItem(class LBI const &)const 
-?FindItem@BLT_LISTBOX@@QBEHABVLBI@@@Z
-; public: int __thiscall OUTLINE_LISTBOX::FindItem(unsigned short const *,unsigned short const *)const 
-?FindItem@OUTLINE_LISTBOX@@QBEHPBG0@Z
-; public: int __thiscall STRING_LIST_CONTROL::FindItem(unsigned short const *)const 
-?FindItem@STRING_LIST_CONTROL@@QBEHPBG@Z
-; public: int __thiscall STRING_LIST_CONTROL::FindItem(unsigned short const *,int)const 
-?FindItem@STRING_LIST_CONTROL@@QBEHPBGH@Z
-; public: int __thiscall STRING_LIST_CONTROL::FindItemExact(unsigned short const *)const 
-?FindItemExact@STRING_LIST_CONTROL@@QBEHPBG@Z
-; public: int __thiscall STRING_LIST_CONTROL::FindItemExact(unsigned short const *,int)const 
-?FindItemExact@STRING_LIST_CONTROL@@QBEHPBGH@Z
-; public: void __thiscall DEVICE_CONTEXT::FrameRect(struct tagRECT const *,struct HBRUSH__ *)const 
-?FrameRect@DEVICE_CONTEXT@@QBEXPBUtagRECT@@PAUHBRUSH__@@@Z
-; private: virtual long __thiscall SPIN_SLE_STR::GetAccKey(class NLS_STR *)
-?GetAccKey@SPIN_SLE_STR@@EAEJPAVNLS_STR@@@Z
-; protected: virtual long __thiscall SPIN_SLT_SEPARATOR::GetAccKey(class NLS_STR *)
-?GetAccKey@SPIN_SLT_SEPARATOR@@MAEJPAVNLS_STR@@@Z
-; private: long __thiscall MSG_DIALOG_BASE::GetAndSendText(void)
-?GetAndSendText@MSG_DIALOG_BASE@@AAEJXZ
-; public: unsigned long __thiscall DEVICE_CONTEXT::GetBkColor(void)const 
-?GetBkColor@DEVICE_CONTEXT@@QBEKXZ
-; public: long __thiscall BROWSER_DOMAIN::GetDomainInfo(class NT_USER_BROWSER_DIALOG *,class ADMIN_AUTHORITY const *)
-?GetDomainInfo@BROWSER_DOMAIN@@QAEJPAVNT_USER_BROWSER_DIALOG@@PBVADMIN_AUTHORITY@@@Z
-; public: long __thiscall UI_DOMAIN::GetInfo(void)
-?GetInfo@UI_DOMAIN@@QAEJXZ
-; public: long __thiscall APP_WINDOW::GetPlacement(struct tagWINDOWPLACEMENT *)const 
-?GetPlacement@APP_WINDOW@@QBEJPAUtagWINDOWPLACEMENT@@@Z
-; public: long __thiscall BROWSER_DOMAIN::GetQualifiedDomainName(class NLS_STR *)
-?GetQualifiedDomainName@BROWSER_DOMAIN@@QAEJPAVNLS_STR@@@Z
-; public: long __thiscall BROWSER_DOMAIN_LBI_PB::GetQualifiedDomainName(class NLS_STR *)
-?GetQualifiedDomainName@BROWSER_DOMAIN_LBI_PB@@QAEJPAVNLS_STR@@@Z
-; public: unsigned long __thiscall DEVICE_CONTEXT::GetTextColor(void)const 
-?GetTextColor@DEVICE_CONTEXT@@QBEKXZ
-; private: int __thiscall DISPLAY_MAP::GetTransColorIndex(unsigned long *,int)const 
-?GetTransColorIndex@DISPLAY_MAP@@ABEHPAKH@Z
-; protected: long __thiscall NT_USER_BROWSER_DIALOG::GetTrustedDomainList(unsigned short const *,class BROWSER_DOMAIN * *,class BROWSER_DOMAIN_CB *,class ADMIN_AUTHORITY const *)
-?GetTrustedDomainList@NT_USER_BROWSER_DIALOG@@IAEJPBGPAPAVBROWSER_DOMAIN@@PAVBROWSER_DOMAIN_CB@@PBVADMIN_AUTHORITY@@@Z
-; public: int __thiscall SET_CONTROL::HandleOnLMouseButtonDown(class LISTBOX *,class CUSTOM_CONTROL *,class MOUSE_EVENT const &)
-?HandleOnLMouseButtonDown@SET_CONTROL@@QAEHPAVLISTBOX@@PAVCUSTOM_CONTROL@@ABVMOUSE_EVENT@@@Z
-; public: int __thiscall SET_CONTROL::HandleOnLMouseButtonUp(class LISTBOX *,class CUSTOM_CONTROL *,class MOUSE_EVENT const &)
-?HandleOnLMouseButtonUp@SET_CONTROL@@QAEHPAVLISTBOX@@PAVCUSTOM_CONTROL@@ABVMOUSE_EVENT@@@Z
-; public: int __thiscall SET_CONTROL::HandleOnMouseMove(class LISTBOX *,class MOUSE_EVENT const &)
-?HandleOnMouseMove@SET_CONTROL@@QAEHPAVLISTBOX@@ABVMOUSE_EVENT@@@Z
-; public: int __thiscall HIER_LBI::HasChildren(void)
-?HasChildren@HIER_LBI@@QAEHXZ
-; public: int __thiscall WINDOW::HasFocus(void)const 
-?HasFocus@WINDOW@@QBEHXZ
-; public: static class DISPATCHER * __stdcall ASSOCHWNDDISP::HwndToPdispatch(struct HWND__ *)
-?HwndToPdispatch@ASSOCHWNDDISP@@SGPAVDISPATCHER@@PAUHWND__@@@Z
-; public: static class DIALOG_WINDOW * __stdcall ASSOCHWNDPDLG::HwndToPdlg(struct HWND__ *)
-?HwndToPdlg@ASSOCHWNDPDLG@@SGPAVDIALOG_WINDOW@@PAUHWND__@@@Z
-; public: static class CLIENT_WINDOW * __stdcall ASSOCHWNDPWND::HwndToPwnd(struct HWND__ *)
-?HwndToPwnd@ASSOCHWNDPWND@@SGPAVCLIENT_WINDOW@@PAUHWND__@@@Z
-; private: static class CLIENT_WINDOW * __stdcall CLIENT_WINDOW::HwndToPwnd(struct HWND__ *)
-?HwndToPwnd@CLIENT_WINDOW@@CGPAV1@PAUHWND__@@@Z
-; private: static class DIALOG_WINDOW * __stdcall DIALOG_WINDOW::HwndToPwnd(struct HWND__ *)
-?HwndToPwnd@DIALOG_WINDOW@@CGPAV1@PAUHWND__@@@Z
-; protected: static class DISPATCHER * __stdcall DISPATCHER::HwndToPwnd(struct HWND__ *)
-?HwndToPwnd@DISPATCHER@@KGPAV1@PAUHWND__@@@Z
-; public: static void * __stdcall ASSOCHWNDTHIS::HwndToThis(struct HWND__ *)
-?HwndToThis@ASSOCHWNDTHIS@@SGPAXPAUHWND__@@@Z
-; public: int __thiscall BASE_SET_FOCUS_DLG::InRasMode(void)const 
-?InRasMode@BASE_SET_FOCUS_DLG@@QBEHXZ
-; public: int __thiscall XYPOINT::InRect(class XYRECT const &)const 
-?InRect@XYPOINT@@QBEHABVXYRECT@@@Z
-; public: virtual void __thiscall CONTROL_WINDOW::IndicateError(long)
-?IndicateError@CONTROL_WINDOW@@UAEXJ@Z
-; public: virtual void __thiscall SLE::IndicateError(long)
-?IndicateError@SLE@@UAEXJ@Z
-; public: class XYRECT & __thiscall XYRECT::Inflate(int,int)
-?Inflate@XYRECT@@QAEAAV1@HH@Z
-; public: class XYRECT & __thiscall XYRECT::Inflate(class XYDIMENSION)
-?Inflate@XYRECT@@QAEAAV1@VXYDIMENSION@@@Z
-; public: static long __stdcall BASE_ELLIPSIS::Init(void)
-?Init@BASE_ELLIPSIS@@SGJXZ
-; public: static long __stdcall BLT::Init(struct HINSTANCE__ *,unsigned int,unsigned int,unsigned int,unsigned int)
-?Init@BLT@@SGJPAUHINSTANCE__@@IIII@Z
-; public: static long __stdcall BLTIMP::Init(void)
-?Init@BLTIMP@@SGJXZ
-; public: static long __stdcall BLT_MASTER_TIMER::Init(void)
-?Init@BLT_MASTER_TIMER@@SGJXZ
-; public: static long __stdcall CLIENT_WINDOW::Init(void)
-?Init@CLIENT_WINDOW@@SGJXZ
-; public: static long __stdcall POPUP::Init(void)
-?Init@POPUP@@SGJXZ
-; public: long __thiscall SLE_STRLB_GROUP::Init(class STRLIST *)
-?Init@SLE_STRLB_GROUP@@QAEJPAVSTRLIST@@@Z
-; public: static void __stdcall WIN32_FONT_PICKER::InitCHOOSEFONT(struct tagCHOOSEFONTW *,struct tagLOGFONTW *,struct HWND__ *)
-?InitCHOOSEFONT@WIN32_FONT_PICKER@@SGXPAUtagCHOOSEFONTW@@PAUtagLOGFONTW@@PAUHWND__@@@Z
-; public: static long __stdcall BLT::InitDLL(void)
-?InitDLL@BLT@@SGJXZ
-; protected: void __thiscall GET_FNAME_BASE_DLG::InitialOFN(void)
-?InitialOFN@GET_FNAME_BASE_DLG@@IAEXXZ
-; private: long __thiscall SPIN_SLE_STR::Initialize(long,class OWNER_WINDOW *,unsigned int)
-?Initialize@SPIN_SLE_STR@@AAEJJPAVOWNER_WINDOW@@I@Z
-; private: long __thiscall SPIN_SLE_STR::Initialize(unsigned short const * * const,class OWNER_WINDOW *,unsigned int)
-?Initialize@SPIN_SLE_STR@@AAEJQAPBGPAVOWNER_WINDOW@@I@Z
-; private: long __thiscall SPIN_SLT_SEPARATOR::Initialize(void)
-?Initialize@SPIN_SLT_SEPARATOR@@AAEJXZ
-; public: long __thiscall MENU_BASE::Insert(unsigned short const *,unsigned int,unsigned int,unsigned int)const 
-?Insert@MENU_BASE@@QBEJPBGIII@Z
-; public: long __thiscall MENU_BASE::Insert(unsigned short const *,unsigned int,struct HMENU__ *,unsigned int)const 
-?Insert@MENU_BASE@@QBEJPBGIPAUHMENU__@@I@Z
-; public: int __thiscall BLT_LISTBOX::InsertItem(int,class LBI *)
-?InsertItem@BLT_LISTBOX@@QAEHHPAVLBI@@@Z
-; public: int __thiscall STRING_LIST_CONTROL::InsertItem(int,class NLS_STR const &)
-?InsertItem@STRING_LIST_CONTROL@@QAEHHABVNLS_STR@@@Z
-; public: int __thiscall STRING_LIST_CONTROL::InsertItem(int,unsigned short const *)
-?InsertItem@STRING_LIST_CONTROL@@QAEHHPBG@Z
-; protected: int __thiscall LIST_CONTROL::InsertItemData(int,void *)
-?InsertItemData@LIST_CONTROL@@IAEHHPAX@Z
-; public: long __thiscall NLS_STR::InsertParams(class NLS_STR const &)
-?InsertParams@NLS_STR@@QAEJABV1@@Z
-; public: long __thiscall MENU_BASE::InsertSeparator(unsigned int,unsigned int)const 
-?InsertSeparator@MENU_BASE@@QBEJII@Z
-; public: long __thiscall BLT_MASTER_TIMER::InsertTimer(class TIMER_BASE *)
-?InsertTimer@BLT_MASTER_TIMER@@QAEJPAVTIMER_BASE@@@Z
-; public: void __thiscall WINDOW::Invalidate(class XYRECT const &)
-?Invalidate@WINDOW@@QAEXABVXYRECT@@@Z
-; public: void __thiscall WINDOW::Invalidate(int)
-?Invalidate@WINDOW@@QAEXH@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::InvalidateButton(int)
-?InvalidateButton@LOGON_HOURS_CONTROL@@AAEXH@Z
-; public: void __thiscall LISTBOX::InvalidateItem(int,int)
-?InvalidateItem@LISTBOX@@QAEXHH@Z
-; private: void __thiscall H_SPLITTER_BAR::InvertDragBar(class XYPOINT const &)
-?InvertDragBar@H_SPLITTER_BAR@@AAEXABVXYPOINT@@@Z
-; public: void __thiscall DEVICE_CONTEXT::InvertRect(struct tagRECT const *)const 
-?InvertRect@DEVICE_CONTEXT@@QBEXPBUtagRECT@@@Z
-; public: int __thiscall INTL_PROFILE::Is24Hour(void)const 
-?Is24Hour@INTL_PROFILE@@QBEHXZ
-; public: int __thiscall ACTIVATION_EVENT::IsActivating(void)const 
-?IsActivating@ACTIVATION_EVENT@@QBEHXZ
-; public: int __thiscall SPIN_GROUP::IsActive(void)const 
-?IsActive@SPIN_GROUP@@QBEHXZ
-; public: int __thiscall ASSOCHCFILE::IsAssociatedHC(unsigned long)const 
-?IsAssociatedHC@ASSOCHCFILE@@QBEHK@Z
-; protected: int __thiscall HEAP_BASE::IsAutoReadjusting(void)const 
-?IsAutoReadjusting@HEAP_BASE@@IBEHXZ
-; protected: int __thiscall NT_USER_BROWSER_DIALOG::IsBrowsingEnabled(void)const 
-?IsBrowsingEnabled@NT_USER_BROWSER_DIALOG@@IBEHXZ
-; private: int __thiscall LOGON_HOURS_CONTROL::IsButtonACell(int)const 
-?IsButtonACell@LOGON_HOURS_CONTROL@@ABEHH@Z
-; public: int __thiscall MENUITEM::IsChecked(void)const 
-?IsChecked@MENUITEM@@QBEHXZ
-; public: int __thiscall WINDOW::IsChild(void)const 
-?IsChild@WINDOW@@QBEHXZ
-; public: static int __stdcall WINDOW::IsClientGeneratedMessage(void)
-?IsClientGeneratedMessage@WINDOW@@SGHXZ
-; public: int __thiscall LIST_CONTROL::IsCombo(void)const 
-?IsCombo@LIST_CONTROL@@QBEHXZ
-; public: int __thiscall PROMPT_AND_CONNECT::IsConnected(void)
-?IsConnected@PROMPT_AND_CONNECT@@QAEHXZ
-; private: int __thiscall BLT_DATE_SPIN_GROUP::IsConstructionFail(class CONTROL_WINDOW *)
-?IsConstructionFail@BLT_DATE_SPIN_GROUP@@AAEHPAVCONTROL_WINDOW@@@Z
-; private: int __thiscall BLT_TIME_SPIN_GROUP::IsConstructionFail(class CONTROL_WINDOW *)
-?IsConstructionFail@BLT_TIME_SPIN_GROUP@@AAEHPAVCONTROL_WINDOW@@@Z
-; public: int __thiscall INTL_PROFILE::IsDayLZero(void)const 
-?IsDayLZero@INTL_PROFILE@@QBEHXZ
-; private: virtual int __thiscall HIER_LBI::IsDestroyable(void)
-?IsDestroyable@HIER_LBI@@EAEHXZ
-; protected: virtual int __thiscall LBI::IsDestroyable(void)
-?IsDestroyable@LBI@@MAEHXZ
-; protected: int __thiscall NT_USER_BROWSER_DIALOG::IsDomainComboDropped(void)const 
-?IsDomainComboDropped@NT_USER_BROWSER_DIALOG@@IBEHXZ
-; public: int __thiscall COMBOBOX::IsDropDown(void)const 
-?IsDropDown@COMBOBOX@@QBEHXZ
-; public: int __thiscall COMBOBOX::IsDropDownList(void)const 
-?IsDropDownList@COMBOBOX@@QBEHXZ
-; public: int __thiscall BLT_COMBOBOX::IsDropped(void)const 
-?IsDropped@BLT_COMBOBOX@@QBEHXZ
-; public: int __thiscall XYRECT::IsEmpty(void)const 
-?IsEmpty@XYRECT@@QBEHXZ
-; public: int __thiscall MENUITEM::IsEnabled(void)const 
-?IsEnabled@MENUITEM@@QBEHXZ
-; public: int __thiscall TIMER_BASE::IsEnabled(void)const 
-?IsEnabled@TIMER_BASE@@QBEHXZ
-; public: int __thiscall WINDOW::IsEnabled(void)const 
-?IsEnabled@WINDOW@@QBEHXZ
-; protected: int __thiscall BASE_SET_FOCUS_DLG::IsExpanded(void)const 
-?IsExpanded@BASE_SET_FOCUS_DLG@@IBEHXZ
-; public: int __thiscall OLLB_ENTRY::IsExpanded(void)const 
-?IsExpanded@OLLB_ENTRY@@QBEHXZ
-; public: int __thiscall AUDIT_CHECKBOXES::IsFailedChecked(void)
-?IsFailedChecked@AUDIT_CHECKBOXES@@QAEHXZ
-; protected: int __thiscall CANCEL_TASK_DIALOG::IsFinished(void)const 
-?IsFinished@CANCEL_TASK_DIALOG@@IBEHXZ
-; public: int __thiscall GET_FNAME_BASE_DLG::IsHelpActive(void)
-?IsHelpActive@GET_FNAME_BASE_DLG@@QAEHXZ
-; public: int __thiscall INTL_PROFILE::IsHourLZero(void)const 
-?IsHourLZero@INTL_PROFILE@@QBEHXZ
-; protected: int __thiscall CANCEL_TASK_DIALOG::IsInTimer(void)const 
-?IsInTimer@CANCEL_TASK_DIALOG@@IBEHXZ
-; public: int __thiscall BROWSER_DOMAIN::IsInitialized(void)const 
-?IsInitialized@BROWSER_DOMAIN@@QBEHXZ
-; public: virtual int __thiscall USER_LBI_CACHE::IsItemAvailable(int)
-?IsItemAvailable@USER_LBI_CACHE@@UAEHH@Z
-; public: int __thiscall LIST_CONTROL::IsItemSelected(unsigned int)const 
-?IsItemSelected@LIST_CONTROL@@QBEHI@Z
-; public: int __thiscall RADIO_GROUP::IsMember(unsigned int)
-?IsMember@RADIO_GROUP@@QAEHI@Z
-; public: int __thiscall CLIENT_WINDOW::IsMinimized(void)const 
-?IsMinimized@CLIENT_WINDOW@@QBEHXZ
-; public: int __thiscall SPIN_GROUP::IsModified(void)const 
-?IsModified@SPIN_GROUP@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::IsMonthLZero(void)const 
-?IsMonthLZero@INTL_PROFILE@@QBEHXZ
-; public: int __thiscall LIST_CONTROL::IsMultSel(void)const 
-?IsMultSel@LIST_CONTROL@@QBEHXZ
-; private: int __thiscall SET_CONTROL::IsOnDragStart(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
-?IsOnDragStart@SET_CONTROL@@ABEHPAVLISTBOX@@0ABVXYPOINT@@@Z
-; private: int __thiscall SET_CONTROL::IsOnSelectedItem(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
-?IsOnSelectedItem@SET_CONTROL@@ABEHPAVLISTBOX@@0ABVXYPOINT@@@Z
-; private: int __thiscall SET_CONTROL::IsOverTarget(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
-?IsOverTarget@SET_CONTROL@@ABEHPAVLISTBOX@@0ABVXYPOINT@@@Z
-; private: int __thiscall HIER_LBI::IsParent(class HIER_LBI *)
-?IsParent@HIER_LBI@@AAEHPAV1@@Z
-; public: int __thiscall MENU_BASE::IsPopup(int)const 
-?IsPopup@MENU_BASE@@QBEHH@Z
-; public: int __thiscall MASK_MAP::IsPresent(class BITFIELD *)
-?IsPresent@MASK_MAP@@QAEHPAVBITFIELD@@@Z
-; protected: virtual int __thiscall DIALOG_WINDOW::IsPumpFinished(void)
-?IsPumpFinished@DIALOG_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall HAS_MESSAGE_PUMP::IsPumpFinished(void)
-?IsPumpFinished@HAS_MESSAGE_PUMP@@MAEHXZ
-; public: int __thiscall LISTBOX::IsReadOnly(void)const 
-?IsReadOnly@LISTBOX@@QBEHXZ
-; protected: int __thiscall HEAP_BASE::IsRoot(int)const 
-?IsRoot@HEAP_BASE@@IBEHH@Z
-; public: int __thiscall WIN32_THREAD::IsRunnable(void)const 
-?IsRunnable@WIN32_THREAD@@QBEHXZ
-; protected: int __thiscall USER_BROWSER_LB::IsSelectionExpandableGroup(class USER_BROWSER_LBI const *,int)const 
-?IsSelectionExpandableGroup@USER_BROWSER_LB@@IBEHPBVUSER_BROWSER_LBI@@H@Z
-; public: int __thiscall USER_BROWSER_LB::IsSelectionExpandableGroup(void)const 
-?IsSelectionExpandableGroup@USER_BROWSER_LB@@QBEHXZ
-; public: int __thiscall MENU_BASE::IsSeparator(int)const 
-?IsSeparator@MENU_BASE@@QBEHH@Z
-; protected: int __thiscall NT_USER_BROWSER_DIALOG::IsShowUsersButtonUsed(void)const 
-?IsShowUsersButtonUsed@NT_USER_BROWSER_DIALOG@@IBEHXZ
-; public: int __thiscall COMBOBOX::IsSimple(void)const 
-?IsSimple@COMBOBOX@@QBEHXZ
-; public: int __thiscall ACCOUNT_NAMES_MLE::IsSingleSelect(void)const 
-?IsSingleSelect@ACCOUNT_NAMES_MLE@@QBEHXZ
-; public: int __thiscall NT_USER_BROWSER_DIALOG::IsSingleSelection(void)const 
-?IsSingleSelection@NT_USER_BROWSER_DIALOG@@QBEHXZ
-; public: virtual int __thiscall CHANGEABLE_SPIN_ITEM::IsStatic(void)const 
-?IsStatic@CHANGEABLE_SPIN_ITEM@@UBEHXZ
-; public: virtual int __thiscall STATIC_SPIN_ITEM::IsStatic(void)const 
-?IsStatic@STATIC_SPIN_ITEM@@UBEHXZ
-; public: int __thiscall AUDIT_CHECKBOXES::IsSuccessChecked(void)
-?IsSuccessChecked@AUDIT_CHECKBOXES@@QAEHXZ
-; public: static int __stdcall APPLICATION::IsSystemInitialized(void)
-?IsSystemInitialized@APPLICATION@@SGHXZ
-; public: int __thiscall BROWSER_DOMAIN::IsTargetDomain(void)const 
-?IsTargetDomain@BROWSER_DOMAIN@@QBEHXZ
-; public: int __thiscall BROWSER_DOMAIN_LBI::IsTargetDomain(void)const 
-?IsTargetDomain@BROWSER_DOMAIN_LBI@@QBEHXZ
-; public: int __thiscall BROWSER_DOMAIN_LBI_PB::IsTargetDomain(void)const 
-?IsTargetDomain@BROWSER_DOMAIN_LBI_PB@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::IsTimePrefix(void)const 
-?IsTimePrefix@INTL_PROFILE@@QBEHXZ
-; public: int __thiscall COMBOBOX::IsUserEdittable(void)const 
-?IsUserEdittable@COMBOBOX@@QBEHXZ
-; public: int __thiscall BLT_DATE_SPIN_GROUP::IsValid(void)
-?IsValid@BLT_DATE_SPIN_GROUP@@QAEHXZ
-; public: int __thiscall BLT_TIME_SPIN_GROUP::IsValid(void)
-?IsValid@BLT_TIME_SPIN_GROUP@@QAEHXZ
-; protected: virtual int __thiscall DIALOG_WINDOW::IsValid(void)
-?IsValid@DIALOG_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall SPIN_SLE_NUM_VALID::IsValid(void)
-?IsValid@SPIN_SLE_NUM_VALID@@MAEHXZ
-; protected: int __thiscall SPIN_GROUP::IsValidField(void)
-?IsValidField@SPIN_GROUP@@IAEHXZ
-; protected: int __thiscall BASE_ELLIPSIS::IsValidStyle(enum ELLIPSIS_STYLE)const 
-?IsValidStyle@BASE_ELLIPSIS@@IBEHW4ELLIPSIS_STYLE@@@Z
-; protected: int __thiscall ACCOUNT_NAMES_MLE::IsWellKnownAccount(class NLS_STR const &)
-?IsWellKnownAccount@ACCOUNT_NAMES_MLE@@IAEHABVNLS_STR@@@Z
-; public: int __thiscall BROWSER_DOMAIN::IsWinNTMachine(void)const 
-?IsWinNTMachine@BROWSER_DOMAIN@@QBEHXZ
-; protected: int __thiscall H_SPLITTER_BAR::IsWithinHitZone(class XYPOINT const &)
-?IsWithinHitZone@H_SPLITTER_BAR@@IAEHABVXYPOINT@@@Z
-; private: int __thiscall SET_CONTROL::IsWithinHitZone(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
-?IsWithinHitZone@SET_CONTROL@@ABEHPAVLISTBOX@@0ABVXYPOINT@@@Z
-; public: int __thiscall INTL_PROFILE::IsYrCentury(void)const 
-?IsYrCentury@INTL_PROFILE@@QBEHXZ
-; public: static int __stdcall MENUITEM::ItemExists(struct HMENU__ *,unsigned int)
-?ItemExists@MENUITEM@@SGHPAUHMENU__@@I@Z
-; public: static int __stdcall MENUITEM::ItemExists(class APP_WINDOW *,unsigned int)
-?ItemExists@MENUITEM@@SGHPAVAPP_WINDOW@@I@Z
-; public: int __thiscall SPIN_GROUP::JumpNextField(void)
-?JumpNextField@SPIN_GROUP@@QAEHXZ
-; public: int __thiscall SPIN_GROUP::JumpPrevField(void)
-?JumpPrevField@SPIN_GROUP@@QAEHXZ
-; private: void __thiscall DIALOG_WINDOW::LaunchHelp(void)
-?LaunchHelp@DIALOG_WINDOW@@AAEXXZ
-; public: static void __stdcall BLTIMP::LeaveBLTCritSect(void)
-?LeaveBLTCritSect@BLTIMP@@SGXXZ
-; public: static void __stdcall BLTIMP::LeaveResourceCritSect(void)
-?LeaveResourceCritSect@BLTIMP@@SGXXZ
-; public: void __thiscall DEVICE_CONTEXT::LineTo(int,int)const 
-?LineTo@DEVICE_CONTEXT@@QBEXHH@Z
-; public: static struct HICON__ * __stdcall CURSOR::Load(class IDRESOURCE const &)
-?Load@CURSOR@@SGPAUHICON__@@ABVIDRESOURCE@@@Z
-; public: long __thiscall NLS_STR::Load(long)
-?Load@NLS_STR@@QAEJJ@Z
-; public: virtual unsigned int __thiscall UI_EXT_MGR::LoadExtensions(void)
-?LoadExtensions@UI_EXT_MGR@@UAEIXZ
-; private: long __thiscall LOGON_HOURS_CONTROL::LoadLabels(long)
-?LoadLabels@LOGON_HOURS_CONTROL@@AAEJJ@Z
-; private: class NLS_STR * __thiscall POPUP::LoadMessage(long,int)
-?LoadMessage@POPUP@@AAEPAVNLS_STR@@JH@Z
-; public: static struct HICON__ * __stdcall CURSOR::LoadSystem(class IDRESOURCE const &)
-?LoadSystem@CURSOR@@SGPAUHICON__@@ABVIDRESOURCE@@@Z
-; public: long __thiscall NLS_STR::LoadSystem(long)
-?LoadSystem@NLS_STR@@QAEJJ@Z
-; protected: virtual void __thiscall USER_LBI_CACHE::LockCache(void)
-?LockCache@USER_LBI_CACHE@@MAEXXZ
-; void __stdcall MLTextPaint(struct HDC__ *,unsigned short const *,struct tagRECT const *)
-?MLTextPaint@@YGXPAUHDC__@@PBGPBUtagRECT@@@Z
-; protected: virtual long __thiscall DOMAIN_FILL_THREAD::Main(void)
-?Main@DOMAIN_FILL_THREAD@@MAEJXZ
-; protected: virtual long __thiscall FOCUSDLG_DATA_THREAD::Main(void)
-?Main@FOCUSDLG_DATA_THREAD@@MAEJXZ
-; protected: virtual long __thiscall WIN32_THREAD::Main(void)
-?Main@WIN32_THREAD@@MAEJXZ
-; public: void __thiscall PUSH_BUTTON::MakeDefault(void)
-?MakeDefault@PUSH_BUTTON@@QAEXXZ
-; private: static int __stdcall POPUP::MapButton(unsigned int)
-?MapButton@POPUP@@CGHI@Z
-; public: static long __stdcall BLT::MapLastError(long)
-?MapLastError@BLT@@SGJJ@Z
-; public: static long __stdcall POPUP::MapMessage(long)
-?MapMessage@POPUP@@SGJJ@Z
-; protected: virtual int __thiscall APP_WINDOW::MayRestore(void)
-?MayRestore@APP_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall CANCEL_TASK_DIALOG::MayRun(void)
-?MayRun@CANCEL_TASK_DIALOG@@MAEHXZ
-; protected: virtual int __thiscall DIALOG_WINDOW::MayRun(void)
-?MayRun@DIALOG_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall APP_WINDOW::MayShutdown(void)
-?MayShutdown@APP_WINDOW@@MAEHXZ
-; public: virtual void __thiscall UI_MENU_EXT_MGR::MenuInitExtensions(void)
-?MenuInitExtensions@UI_MENU_EXT_MGR@@UAEXXZ
-; public: long __thiscall MENU_BASE::Modify(unsigned short const *,unsigned int,unsigned int,unsigned int)const 
-?Modify@MENU_BASE@@QBEJPBGIII@Z
-; public: long __thiscall MENU_BASE::Modify(unsigned short const *,unsigned int,struct HMENU__ *,unsigned int)const 
-?Modify@MENU_BASE@@QBEJPBGIPAUHMENU__@@I@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusDown(void)
-?MoveFocusDown@LOGON_HOURS_CONTROL@@AAEXXZ
-; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusLeft(void)
-?MoveFocusLeft@LOGON_HOURS_CONTROL@@AAEXXZ
-; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusRight(void)
-?MoveFocusRight@LOGON_HOURS_CONTROL@@AAEXXZ
-; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusTo(int)
-?MoveFocusTo@LOGON_HOURS_CONTROL@@AAEXH@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusUp(void)
-?MoveFocusUp@LOGON_HOURS_CONTROL@@AAEXXZ
-; protected: virtual long __thiscall BLT_SET_CONTROL::MoveItems(class LISTBOX *,class LISTBOX *)
-?MoveItems@BLT_SET_CONTROL@@MAEJPAVLISTBOX@@0@Z
-; public: void __thiscall DEVICE_CONTEXT::MoveTo(int,int)const 
-?MoveTo@DEVICE_CONTEXT@@QBEXHH@Z
-; private: static int __stdcall MSGPOPUP_DIALOG::Msg2HC(long,unsigned long *)
-?Msg2HC@MSGPOPUP_DIALOG@@CGHJPAK@Z
-; int __stdcall MsgPopup(class OWNINGWND const &,long,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR * * const,unsigned int)
-?MsgPopup@@YGHABVOWNINGWND@@JJW4MSG_SEVERITY@@KIQAPAVNLS_STR@@I@Z
-; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY)
-?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@@Z
-; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY,unsigned int,unsigned int)
-?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@II@Z
-; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY,unsigned int,unsigned short const *,unsigned short const *,unsigned int)
-?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@IPBG2I@Z
-; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY,unsigned int,unsigned short const *,unsigned int)
-?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@IPBGI@Z
-; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR * * const,unsigned int)
-?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@KIQAPAVNLS_STR@@I@Z
-; public: long __thiscall BROWSER_SUBJECT_ITER::Next(class BROWSER_SUBJECT * *)
-?Next@BROWSER_SUBJECT_ITER@@QAEJPAPAVBROWSER_SUBJECT@@@Z
-; public: class BROWSE_DOMAIN_INFO const * __thiscall BROWSE_DOMAIN_ENUM::Next(void)
-?Next@BROWSE_DOMAIN_ENUM@@QAEPBVBROWSE_DOMAIN_INFO@@XZ
-; public: class CONTROL_WINDOW * __thiscall ITER_CTRL::Next(void)
-?Next@ITER_CTRL@@QAEPAVCONTROL_WINDOW@@XZ
-; public: class SPIN_ITEM * __thiscall ITER_DL_SPIN_ITEM::Next(void)
-?Next@ITER_DL_SPIN_ITEM@@QAEPAVSPIN_ITEM@@XZ
-; public: class ASSOCHCFILE * __thiscall ITER_SL_ASSOCHCFILE::Next(void)
-?Next@ITER_SL_ASSOCHCFILE@@QAEPAVASSOCHCFILE@@XZ
-; public: class BROWSE_DOMAIN_INFO * __thiscall ITER_SL_BROWSE_DOMAIN_INFO::Next(void)
-?Next@ITER_SL_BROWSE_DOMAIN_INFO@@QAEPAVBROWSE_DOMAIN_INFO@@XZ
-; public: struct CLIENTDATA * __thiscall ITER_SL_CLIENTDATA::Next(void)
-?Next@ITER_SL_CLIENTDATA@@QAEPAUCLIENTDATA@@XZ
-; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::Next(void)
-?Next@ITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
-; public: class STRING_BITSET_PAIR * __thiscall ITER_SL_STRING_BITSET_PAIR::Next(void)
-?Next@ITER_SL_STRING_BITSET_PAIR@@QAEPAVSTRING_BITSET_PAIR@@XZ
-; public: class TIMER_BASE * __thiscall ITER_SL_TIMER_BASE::Next(void)
-?Next@ITER_SL_TIMER_BASE@@QAEPAVTIMER_BASE@@XZ
-; public: class UI_EXT * __thiscall ITER_SL_UI_EXT::Next(void)
-?Next@ITER_SL_UI_EXT@@QAEPAVUI_EXT@@XZ
-; public: class USER_BROWSER_LBI * __thiscall ITER_SL_USER_BROWSER_LBI::Next(void)
-?Next@ITER_SL_USER_BROWSER_LBI@@QAEPAVUSER_BROWSER_LBI@@XZ
-; public: class SPIN_ITEM * __thiscall RITER_DL_SPIN_ITEM::Next(void)
-?Next@RITER_DL_SPIN_ITEM@@QAEPAVSPIN_ITEM@@XZ
-; public: int __thiscall STLBITEM::NextState(void)
-?NextState@STLBITEM@@QAEHXZ
-; public: class TIMER_BASE * __thiscall BLT_MASTER_TIMER::NextTimer(void)
-?NextTimer@BLT_MASTER_TIMER@@QAEPAVTIMER_BASE@@XZ
-; public: long __thiscall CONTROL_WINDOW::NotifyGroups(class CONTROL_EVENT const &)
-?NotifyGroups@CONTROL_WINDOW@@QAEJABVCONTROL_EVENT@@@Z
-; public: class XYRECT & __thiscall XYRECT::Offset(int,int)
-?Offset@XYRECT@@QAEAAV1@HH@Z
-; public: class XYRECT & __thiscall XYRECT::Offset(class XYDIMENSION)
-?Offset@XYRECT@@QAEAAV1@VXYDIMENSION@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnActivation(class ACTIVATION_EVENT const &)
-?OnActivation@CLIENT_WINDOW@@MAEHABVACTIVATION_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnActivation(class ACTIVATION_EVENT const &)
-?OnActivation@DISPATCHER@@MAEHABVACTIVATION_EVENT@@@Z
-; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnAdd(void)
-?OnAdd@NT_USER_BROWSER_DIALOG@@IAEJXZ
-; protected: long __thiscall SLE_STRLB_GROUP::OnAdd(void)
-?OnAdd@SLE_STRLB_GROUP@@IAEJXZ
-; protected: int __thiscall OWNER_WINDOW::OnCDMessages(unsigned int,unsigned int,long)
-?OnCDMessages@OWNER_WINDOW@@IAEHIIJ@Z
-; protected: virtual int __thiscall DIALOG_WINDOW::OnCancel(void)
-?OnCancel@DIALOG_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall MSGPOPUP_DIALOG::OnCancel(void)
-?OnCancel@MSGPOPUP_DIALOG@@MAEHXZ
-; protected: virtual int __thiscall CLIENT_WINDOW::OnChange(class CONTROL_EVENT const &)
-?OnChange@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnChar(class CHAR_EVENT const &)
-?OnChar@CLIENT_WINDOW@@MAEHABVCHAR_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnChar(class CHAR_EVENT const &)
-?OnChar@DISPATCHER@@MAEHABVCHAR_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_ITEM::OnChar(class CHAR_EVENT const &)
-?OnChar@SPIN_ITEM@@MAEHABVCHAR_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_NUM::OnChar(class CHAR_EVENT const &)
-?OnChar@SPIN_SLE_NUM@@MAEHABVCHAR_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_STR::OnChar(class CHAR_EVENT const &)
-?OnChar@SPIN_SLE_STR@@MAEHABVCHAR_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnClick(class CONTROL_EVENT const &)
-?OnClick@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall APP_WINDOW::OnCloseReq(void)
-?OnCloseReq@APP_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall CLIENT_WINDOW::OnCloseReq(void)
-?OnCloseReq@CLIENT_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall DISPATCHER::OnCloseReq(void)
-?OnCloseReq@DISPATCHER@@MAEHXZ
-; protected: virtual int __thiscall BASE_SET_FOCUS_DLG::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@BASE_SET_FOCUS_DLG@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall DIALOG_WINDOW::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@DIALOG_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@DISPATCHER@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall EXPANDABLE_DIALOG::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@EXPANDABLE_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall MSGPOPUP_DIALOG::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@MSGPOPUP_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall NT_FIND_ACCOUNT_DIALOG::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@NT_FIND_ACCOUNT_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall NT_GROUP_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@NT_GROUP_BROWSER_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall NT_LOCALGROUP_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@NT_LOCALGROUP_BROWSER_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall NT_USER_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@NT_USER_BROWSER_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall OPEN_DIALOG_BASE::OnCommand(class CONTROL_EVENT const &)
-?OnCommand@OPEN_DIALOG_BASE@@MAEHABVCONTROL_EVENT@@@Z
-; public: static int __stdcall LBI::OnCompareItem(unsigned int,long)
-?OnCompareItem@LBI@@SGHIJ@Z
-; protected: virtual void __thiscall DIALOG_WINDOW::OnControlError(unsigned int,long)
-?OnControlError@DIALOG_WINDOW@@MAEXIJ@Z
-; public: virtual struct HBRUSH__ * __thiscall BLT_BACKGROUND_EDIT::OnCtlColor(struct HDC__ *,struct HWND__ *,unsigned int *)
-?OnCtlColor@BLT_BACKGROUND_EDIT@@UAEPAUHBRUSH__@@PAUHDC__@@PAUHWND__@@PAI@Z
-; public: virtual struct HBRUSH__ * __thiscall CONTROL_WINDOW::OnCtlColor(struct HDC__ *,struct HWND__ *,unsigned int *)
-?OnCtlColor@CONTROL_WINDOW@@UAEPAUHBRUSH__@@PAUHDC__@@PAUHWND__@@PAI@Z
-; protected: virtual struct HBRUSH__ * __thiscall DIALOG_WINDOW::OnCtlColor(struct HDC__ *,struct HWND__ *,unsigned int *)
-?OnCtlColor@DIALOG_WINDOW@@MAEPAUHBRUSH__@@PAUHDC__@@PAUHWND__@@PAI@Z
-; public: virtual struct HBRUSH__ * __thiscall SPIN_SLT_SEPARATOR::OnCtlColor(struct HDC__ *,struct HWND__ *,unsigned int *)
-?OnCtlColor@SPIN_SLT_SEPARATOR@@UAEPAUHBRUSH__@@PAUHDC__@@PAUHWND__@@PAI@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnDblClick(class CONTROL_EVENT const &)
-?OnDblClick@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnDeactivation(class ACTIVATION_EVENT const &)
-?OnDeactivation@CLIENT_WINDOW@@MAEHABVACTIVATION_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnDeactivation(class ACTIVATION_EVENT const &)
-?OnDeactivation@DISPATCHER@@MAEHABVACTIVATION_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnDefocus(class FOCUS_EVENT const &)
-?OnDefocus@CLIENT_WINDOW@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnDefocus(class FOCUS_EVENT const &)
-?OnDefocus@DISPATCHER@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall FOCUS_CHECKBOX::OnDefocus(class FOCUS_EVENT const &)
-?OnDefocus@FOCUS_CHECKBOX@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnDefocus(class FOCUS_EVENT const &)
-?OnDefocus@LOGON_HOURS_CONTROL@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_NUM::OnDefocus(class FOCUS_EVENT const &)
-?OnDefocus@SPIN_SLE_NUM@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_NUM_VALID::OnDefocus(class FOCUS_EVENT const &)
-?OnDefocus@SPIN_SLE_NUM_VALID@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual void __thiscall LAZY_LISTBOX::OnDeleteItem(class LBI *)
-?OnDeleteItem@LAZY_LISTBOX@@MAEXPAVLBI@@@Z
-; public: static void __stdcall LBI::OnDeleteItem(unsigned int,long)
-?OnDeleteItem@LBI@@SGXIJ@Z
-; protected: virtual void __thiscall USER_BROWSER_LB::OnDeleteItem(class LBI *)
-?OnDeleteItem@USER_BROWSER_LB@@MAEXPAVLBI@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnDestroy(void)
-?OnDestroy@CLIENT_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall DISPATCHER::OnDestroy(void)
-?OnDestroy@DISPATCHER@@MAEHXZ
-; protected: virtual int __thiscall DIALOG_WINDOW::OnDlgActivation(class ACTIVATION_EVENT const &)
-?OnDlgActivation@DIALOG_WINDOW@@MAEHABVACTIVATION_EVENT@@@Z
-; protected: virtual int __thiscall DIALOG_WINDOW::OnDlgDeactivation(class ACTIVATION_EVENT const &)
-?OnDlgDeactivation@DIALOG_WINDOW@@MAEHABVACTIVATION_EVENT@@@Z
-; protected: virtual int __thiscall NT_USER_BROWSER_DIALOG::OnDlgDeactivation(class ACTIVATION_EVENT const &)
-?OnDlgDeactivation@NT_USER_BROWSER_DIALOG@@MAEHABVACTIVATION_EVENT@@@Z
-; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnDomainChange(class BROWSER_DOMAIN *,class ADMIN_AUTHORITY const *)
-?OnDomainChange@NT_USER_BROWSER_DIALOG@@IAEJPAVBROWSER_DOMAIN@@PBVADMIN_AUTHORITY@@@Z
-; private: void __thiscall BASE_SET_FOCUS_DLG::OnDomainLBChange(void)
-?OnDomainLBChange@BASE_SET_FOCUS_DLG@@AAEXXZ
-; public: void __thiscall HIER_LISTBOX::OnDoubleClick(class HIER_LBI *)
-?OnDoubleClick@HIER_LISTBOX@@QAEXPAVHIER_LBI@@@Z
-; protected: virtual void __thiscall H_SPLITTER_BAR::OnDragRelease(class XYPOINT const &)
-?OnDragRelease@H_SPLITTER_BAR@@MAEXABVXYPOINT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnDropDown(class CONTROL_EVENT const &)
-?OnDropDown@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnEnter(class CONTROL_EVENT const &)
-?OnEnter@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_NUM::OnEnter(class CONTROL_EVENT const &)
-?OnEnter@SPIN_SLE_NUM@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_NUM_VALID::OnEnter(class CONTROL_EVENT const &)
-?OnEnter@SPIN_SLE_NUM_VALID@@MAEHABVCONTROL_EVENT@@@Z
-; protected: virtual void __thiscall EXPANDABLE_DIALOG::OnExpand(void)
-?OnExpand@EXPANDABLE_DIALOG@@MAEXXZ
-; protected: virtual int __thiscall CLIENT_WINDOW::OnFocus(class FOCUS_EVENT const &)
-?OnFocus@CLIENT_WINDOW@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnFocus(class FOCUS_EVENT const &)
-?OnFocus@DISPATCHER@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall FOCUS_CHECKBOX::OnFocus(class FOCUS_EVENT const &)
-?OnFocus@FOCUS_CHECKBOX@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnFocus(class FOCUS_EVENT const &)
-?OnFocus@LOGON_HOURS_CONTROL@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_ITEM::OnFocus(class FOCUS_EVENT const &)
-?OnFocus@SPIN_ITEM@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_NUM::OnFocus(class FOCUS_EVENT const &)
-?OnFocus@SPIN_SLE_NUM@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_STR::OnFocus(class FOCUS_EVENT const &)
-?OnFocus@SPIN_SLE_STR@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual int __thiscall STATIC_SPIN_ITEM::OnFocus(class FOCUS_EVENT const &)
-?OnFocus@STATIC_SPIN_ITEM@@MAEHABVFOCUS_EVENT@@@Z
-; protected: virtual long __thiscall CONTROL_GROUP::OnGroupAction(class CONTROL_GROUP *)
-?OnGroupAction@CONTROL_GROUP@@MAEJPAV1@@Z
-; protected: virtual long __thiscall MAGIC_GROUP::OnGroupAction(class CONTROL_GROUP *)
-?OnGroupAction@MAGIC_GROUP@@MAEJPAVCONTROL_GROUP@@@Z
-; private: int __thiscall DIALOG_WINDOW::OnHelp(void)
-?OnHelp@DIALOG_WINDOW@@AAEHXZ
-; public: void __thiscall GET_FNAME_BASE_DLG::OnHelp(struct HWND__ *)
-?OnHelp@GET_FNAME_BASE_DLG@@QAEXPAUHWND__@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnKeyDown(class VKEY_EVENT const &)
-?OnKeyDown@CLIENT_WINDOW@@MAEHABVVKEY_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnKeyDown(class VKEY_EVENT const &)
-?OnKeyDown@DISPATCHER@@MAEHABVVKEY_EVENT@@@Z
-; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnKeyDown(class VKEY_EVENT const &)
-?OnKeyDown@LOGON_HOURS_CONTROL@@MAEHABVVKEY_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_NUM::OnKeyDown(class VKEY_EVENT const &)
-?OnKeyDown@SPIN_SLE_NUM@@MAEHABVVKEY_EVENT@@@Z
-; protected: virtual int __thiscall SPIN_SLE_STR::OnKeyDown(class VKEY_EVENT const &)
-?OnKeyDown@SPIN_SLE_STR@@MAEHABVVKEY_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnKeyUp(class VKEY_EVENT const &)
-?OnKeyUp@CLIENT_WINDOW@@MAEHABVVKEY_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnKeyUp(class VKEY_EVENT const &)
-?OnKeyUp@DISPATCHER@@MAEHABVVKEY_EVENT@@@Z
-; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnKeyUp(class VKEY_EVENT const &)
-?OnKeyUp@LOGON_HOURS_CONTROL@@MAEHABVVKEY_EVENT@@@Z
-; protected: static int __stdcall OWNER_WINDOW::OnLBIMessages(unsigned int,unsigned int,long)
-?OnLBIMessages@OWNER_WINDOW@@KGHIIJ@Z
-; protected: virtual int __thiscall ARROW_BUTTON::OnLMouseButtonDblClick(class MOUSE_EVENT const &)
-?OnLMouseButtonDblClick@ARROW_BUTTON@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnLMouseButtonDblClick(class MOUSE_EVENT const &)
-?OnLMouseButtonDblClick@CLIENT_WINDOW@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnLMouseButtonDblClick(class MOUSE_EVENT const &)
-?OnLMouseButtonDblClick@DISPATCHER@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall ARROW_BUTTON::OnLMouseButtonDown(class MOUSE_EVENT const &)
-?OnLMouseButtonDown@ARROW_BUTTON@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnLMouseButtonDown(class MOUSE_EVENT const &)
-?OnLMouseButtonDown@CLIENT_WINDOW@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnLMouseButtonDown(class MOUSE_EVENT const &)
-?OnLMouseButtonDown@DISPATCHER@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall H_SPLITTER_BAR::OnLMouseButtonDown(class MOUSE_EVENT const &)
-?OnLMouseButtonDown@H_SPLITTER_BAR@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnLMouseButtonDown(class MOUSE_EVENT const &)
-?OnLMouseButtonDown@LOGON_HOURS_CONTROL@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall ARROW_BUTTON::OnLMouseButtonUp(class MOUSE_EVENT const &)
-?OnLMouseButtonUp@ARROW_BUTTON@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnLMouseButtonUp(class MOUSE_EVENT const &)
-?OnLMouseButtonUp@CLIENT_WINDOW@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnLMouseButtonUp(class MOUSE_EVENT const &)
-?OnLMouseButtonUp@DISPATCHER@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall H_SPLITTER_BAR::OnLMouseButtonUp(class MOUSE_EVENT const &)
-?OnLMouseButtonUp@H_SPLITTER_BAR@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnLMouseButtonUp(class MOUSE_EVENT const &)
-?OnLMouseButtonUp@LOGON_HOURS_CONTROL@@MAEHABVMOUSE_EVENT@@@Z
-; protected: long __thiscall NT_LOCALGROUP_BROWSER_DIALOG::OnMembers(void)
-?OnMembers@NT_LOCALGROUP_BROWSER_DIALOG@@IAEJXZ
-; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnMembers(void)
-?OnMembers@NT_USER_BROWSER_DIALOG@@IAEJXZ
-; protected: virtual int __thiscall APP_WINDOW::OnMenuCommand(unsigned int)
-?OnMenuCommand@APP_WINDOW@@MAEHI@Z
-; protected: virtual int __thiscall APP_WINDOW::OnMenuInit(class MENU_EVENT const &)
-?OnMenuInit@APP_WINDOW@@MAEHABVMENU_EVENT@@@Z
-; protected: virtual int __thiscall APP_WINDOW::OnMenuSelect(class MENUITEM_EVENT const &)
-?OnMenuSelect@APP_WINDOW@@MAEHABVMENUITEM_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnMouseMove(class MOUSE_EVENT const &)
-?OnMouseMove@CLIENT_WINDOW@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnMouseMove(class MOUSE_EVENT const &)
-?OnMouseMove@DISPATCHER@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall H_SPLITTER_BAR::OnMouseMove(class MOUSE_EVENT const &)
-?OnMouseMove@H_SPLITTER_BAR@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnMouseMove(class MOUSE_EVENT const &)
-?OnMouseMove@LOGON_HOURS_CONTROL@@MAEHABVMOUSE_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnMove(class MOVE_EVENT const &)
-?OnMove@CLIENT_WINDOW@@MAEHABVMOVE_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnMove(class MOVE_EVENT const &)
-?OnMove@DISPATCHER@@MAEHABVMOVE_EVENT@@@Z
-; protected: virtual class LBI * __thiscall USER_BROWSER_LB::OnNewItem(unsigned int)
-?OnNewItem@USER_BROWSER_LB@@MAEPAVLBI@@I@Z
-; protected: virtual int __thiscall BASE_SET_FOCUS_DLG::OnOK(void)
-?OnOK@BASE_SET_FOCUS_DLG@@MAEHXZ
-; protected: virtual int __thiscall DIALOG_WINDOW::OnOK(void)
-?OnOK@DIALOG_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall MSGPOPUP_DIALOG::OnOK(void)
-?OnOK@MSGPOPUP_DIALOG@@MAEHXZ
-; private: virtual int __thiscall MSG_DIALOG_BASE::OnOK(void)
-?OnOK@MSG_DIALOG_BASE@@EAEHXZ
-; protected: virtual int __thiscall NT_FIND_ACCOUNT_DIALOG::OnOK(void)
-?OnOK@NT_FIND_ACCOUNT_DIALOG@@MAEHXZ
-; protected: virtual int __thiscall NT_USER_BROWSER_DIALOG::OnOK(void)
-?OnOK@NT_USER_BROWSER_DIALOG@@MAEHXZ
-; protected: virtual int __thiscall PROMPT_FOR_ANY_DC_DLG::OnOK(void)
-?OnOK@PROMPT_FOR_ANY_DC_DLG@@MAEHXZ
-; protected: virtual int __thiscall CLIENT_WINDOW::OnOther(class EVENT const &)
-?OnOther@CLIENT_WINDOW@@MAEHABVEVENT@@@Z
-; protected: virtual int __thiscall APP_WINDOW::OnPaintReq(void)
-?OnPaintReq@APP_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall CLIENT_WINDOW::OnPaintReq(void)
-?OnPaintReq@CLIENT_WINDOW@@MAEHXZ
-; protected: virtual int __thiscall DISPATCHER::OnPaintReq(void)
-?OnPaintReq@DISPATCHER@@MAEHXZ
-; protected: virtual int __thiscall FOCUS_CHECKBOX::OnPaintReq(void)
-?OnPaintReq@FOCUS_CHECKBOX@@MAEHXZ
-; protected: virtual int __thiscall H_SPLITTER_BAR::OnPaintReq(void)
-?OnPaintReq@H_SPLITTER_BAR@@MAEHXZ
-; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnPaintReq(void)
-?OnPaintReq@LOGON_HOURS_CONTROL@@MAEHXZ
-; protected: virtual int __thiscall METER::OnPaintReq(void)
-?OnPaintReq@METER@@MAEHXZ
-; protected: virtual unsigned long __thiscall DISPATCHER::OnQDlgCode(void)
-?OnQDlgCode@DISPATCHER@@MAEKXZ
-; protected: virtual unsigned long __thiscall LOGON_HOURS_CONTROL::OnQDlgCode(void)
-?OnQDlgCode@LOGON_HOURS_CONTROL@@MAEKXZ
-; protected: virtual unsigned long __thiscall DISPATCHER::OnQHitTest(class XYPOINT const &)
-?OnQHitTest@DISPATCHER@@MAEKABVXYPOINT@@@Z
-; protected: virtual unsigned long __thiscall H_SPLITTER_BAR::OnQHitTest(class XYPOINT const &)
-?OnQHitTest@H_SPLITTER_BAR@@MAEKABVXYPOINT@@@Z
-; protected: virtual unsigned long __thiscall LOGON_HOURS_CONTROL::OnQHitTest(class XYPOINT const &)
-?OnQHitTest@LOGON_HOURS_CONTROL@@MAEKABVXYPOINT@@@Z
-; protected: virtual int __thiscall APP_WINDOW::OnQMinMax(class QMINMAX_EVENT &)
-?OnQMinMax@APP_WINDOW@@MAEHAAVQMINMAX_EVENT@@@Z
-; protected: virtual unsigned long __thiscall DISPATCHER::OnQMouseActivate(class QMOUSEACT_EVENT const &)
-?OnQMouseActivate@DISPATCHER@@MAEKABVQMOUSEACT_EVENT@@@Z
-; protected: virtual unsigned long __thiscall LOGON_HOURS_CONTROL::OnQMouseActivate(class QMOUSEACT_EVENT const &)
-?OnQMouseActivate@LOGON_HOURS_CONTROL@@MAEKABVQMOUSEACT_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnQMouseCursor(class QMOUSEACT_EVENT const &)
-?OnQMouseCursor@DISPATCHER@@MAEHABVQMOUSEACT_EVENT@@@Z
-; protected: virtual int __thiscall H_SPLITTER_BAR::OnQMouseCursor(class QMOUSEACT_EVENT const &)
-?OnQMouseCursor@H_SPLITTER_BAR@@MAEHABVQMOUSEACT_EVENT@@@Z
-; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnQMouseCursor(class QMOUSEACT_EVENT const &)
-?OnQMouseCursor@LOGON_HOURS_CONTROL@@MAEHABVQMOUSEACT_EVENT@@@Z
-; protected: long __thiscall SLE_STRLB_GROUP::OnRemove(void)
-?OnRemove@SLE_STRLB_GROUP@@IAEJXZ
-; protected: virtual int __thiscall CLIENT_WINDOW::OnResize(class SIZE_EVENT const &)
-?OnResize@CLIENT_WINDOW@@MAEHABVSIZE_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnResize(class SIZE_EVENT const &)
-?OnResize@DISPATCHER@@MAEHABVSIZE_EVENT@@@Z
-; protected: virtual int __thiscall H_SPLITTER_BAR::OnResize(class SIZE_EVENT const &)
-?OnResize@H_SPLITTER_BAR@@MAEHABVSIZE_EVENT@@@Z
-; protected: virtual int __thiscall DIALOG_WINDOW::OnScrollBar(class SCROLL_EVENT const &)
-?OnScrollBar@DIALOG_WINDOW@@MAEHABVSCROLL_EVENT@@@Z
-; protected: virtual int __thiscall DIALOG_WINDOW::OnScrollBarThumb(class SCROLL_THUMB_EVENT const &)
-?OnScrollBarThumb@DIALOG_WINDOW@@MAEHABVSCROLL_THUMB_EVENT@@@Z
-; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnSearch(void)
-?OnSearch@NT_USER_BROWSER_DIALOG@@IAEJXZ
-; protected: virtual int __thiscall CLIENT_WINDOW::OnSelect(class CONTROL_EVENT const &)
-?OnSelect@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
-; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnShowUsers(void)
-?OnShowUsers@NT_USER_BROWSER_DIALOG@@IAEJXZ
-; protected: virtual void __thiscall APP_WINDOW::OnShutdown(void)
-?OnShutdown@APP_WINDOW@@MAEXXZ
-; protected: virtual void __thiscall DIALOG_WINDOW::OnSysColorChange(void)
-?OnSysColorChange@DIALOG_WINDOW@@MAEXXZ
-; protected: virtual int __thiscall APP_WINDOW::OnSystemChange(class SYSCHANGE_EVENT const &)
-?OnSystemChange@APP_WINDOW@@MAEHABVSYSCHANGE_EVENT@@@Z
-; protected: virtual int __thiscall ARROW_BUTTON::OnTimer(class TIMER_EVENT const &)
-?OnTimer@ARROW_BUTTON@@MAEHABVTIMER_EVENT@@@Z
-; protected: virtual int __thiscall CANCEL_TASK_DIALOG::OnTimer(class TIMER_EVENT const &)
-?OnTimer@CANCEL_TASK_DIALOG@@MAEHABVTIMER_EVENT@@@Z
-; protected: virtual int __thiscall CLIENT_WINDOW::OnTimer(class TIMER_EVENT const &)
-?OnTimer@CLIENT_WINDOW@@MAEHABVTIMER_EVENT@@@Z
-; protected: virtual int __thiscall DIALOG_WINDOW::OnTimer(class TIMER_EVENT const &)
-?OnTimer@DIALOG_WINDOW@@MAEHABVTIMER_EVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnTimer(class TIMER_EVENT const &)
-?OnTimer@DISPATCHER@@MAEHABVTIMER_EVENT@@@Z
-; protected: virtual int __thiscall TIMER_WINDOW::OnTimer(class TIMER_EVENT const &)
-?OnTimer@TIMER_WINDOW@@MAEHABVTIMER_EVENT@@@Z
-; protected: virtual void __thiscall TIMER_CALLOUT::OnTimerNotification(unsigned int)
-?OnTimerNotification@TIMER_CALLOUT@@MAEXI@Z
-; protected: virtual long __thiscall CONTROL_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
-?OnUserAction@CONTROL_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
-; protected: virtual long __thiscall CONTROL_WINDOW::OnUserAction(class CONTROL_EVENT const &)
-?OnUserAction@CONTROL_WINDOW@@MAEJABVCONTROL_EVENT@@@Z
-; protected: virtual long __thiscall LM_OLLB::OnUserAction(class CONTROL_EVENT const &)
-?OnUserAction@LM_OLLB@@MAEJABVCONTROL_EVENT@@@Z
-; protected: virtual long __thiscall MAGIC_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
-?OnUserAction@MAGIC_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
-; protected: virtual long __thiscall ORDER_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
-?OnUserAction@ORDER_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
-; protected: virtual long __thiscall RADIO_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
-?OnUserAction@RADIO_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
-; protected: virtual long __thiscall SET_CONTROL::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
-?OnUserAction@SET_CONTROL@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
-; protected: virtual long __thiscall SLE_STRLB_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
-?OnUserAction@SLE_STRLB_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
-; protected: virtual long __thiscall SPIN_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
-?OnUserAction@SPIN_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
-; protected: virtual long __thiscall STATELBGRP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
-?OnUserAction@STATELBGRP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
-; protected: virtual int __thiscall BASE_SET_FOCUS_DLG::OnUserMessage(class EVENT const &)
-?OnUserMessage@BASE_SET_FOCUS_DLG@@MAEHABVEVENT@@@Z
-; protected: virtual int __thiscall DISPATCHER::OnUserMessage(class EVENT const &)
-?OnUserMessage@DISPATCHER@@MAEHABVEVENT@@@Z
-; protected: virtual int __thiscall NT_USER_BROWSER_DIALOG::OnUserMessage(class EVENT const &)
-?OnUserMessage@NT_USER_BROWSER_DIALOG@@MAEHABVEVENT@@@Z
-; protected: virtual int __thiscall OWNER_WINDOW::OnUserMessage(class EVENT const &)
-?OnUserMessage@OWNER_WINDOW@@MAEHABVEVENT@@@Z
-; protected: virtual void __thiscall DIALOG_WINDOW::OnValidationError(unsigned int,long)
-?OnValidationError@DIALOG_WINDOW@@MAEXIJ@Z
-; private: class LISTBOX * __thiscall SET_CONTROL::OtherListbox(class LISTBOX *)const 
-?OtherListbox@SET_CONTROL@@ABEPAVLISTBOX@@PAV2@@Z
-; public: virtual void __thiscall BROWSER_DOMAIN_LBI::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
-?Paint@BROWSER_DOMAIN_LBI@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
-; public: virtual void __thiscall BROWSER_DOMAIN_LBI_PB::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
-?Paint@BROWSER_DOMAIN_LBI_PB@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
-; public: virtual void __thiscall COUNTED_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
-?Paint@COUNTED_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
-; public: int __thiscall DISPLAY_MAP::Paint(struct HDC__ *,int,int)const 
-?Paint@DISPLAY_MAP@@QBEHPAUHDC__@@HH@Z
-; public: void __thiscall DISPLAY_TABLE::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *)const 
-?Paint@DISPLAY_TABLE@@QBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@@Z
-; public: void __thiscall DISPLAY_TABLE::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
-?Paint@DISPLAY_TABLE@@QBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
-; public: virtual void __thiscall DM_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
-?Paint@DM_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
-; public: virtual void __thiscall LBI::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
-?Paint@LBI@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
-; public: virtual void __thiscall METALLIC_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
-?Paint@METALLIC_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
-; public: virtual void __thiscall MULTILINE_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
-?Paint@MULTILINE_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
-; public: virtual void __thiscall OLLB_ENTRY::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
-?Paint@OLLB_ENTRY@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
-; public: virtual void __thiscall OWNER_DRAW_DMID_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
-?Paint@OWNER_DRAW_DMID_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
-; public: virtual void __thiscall OWNER_DRAW_MULTILINE_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
-?Paint@OWNER_DRAW_MULTILINE_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
-; public: virtual void __thiscall OWNER_DRAW_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
-?Paint@OWNER_DRAW_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
-; protected: virtual void __thiscall STLBITEM::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
-?Paint@STLBITEM@@MBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
-; public: virtual void __thiscall STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
-?Paint@STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
-; public: virtual void __thiscall STR_DTE_ELLIPSIS::Paint(struct HDC__ *,struct tagRECT const *)const 
-?Paint@STR_DTE_ELLIPSIS@@UBEXPAUHDC__@@PBUtagRECT@@@Z
-; public: virtual void __thiscall USER_BROWSER_LBI::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
-?Paint@USER_BROWSER_LBI@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
-; protected: long __thiscall ACCOUNT_NAMES_MLE::ParseUserNameList(class STRLIST *,unsigned short const *)
-?ParseUserNameList@ACCOUNT_NAMES_MLE@@IAEJPAVSTRLIST@@PBG@Z
-; private: void __thiscall MSGPOPUP_DIALOG::PlaceButtons(void)
-?PlaceButtons@MSGPOPUP_DIALOG@@AAEXXZ
-; private: long __thiscall BLT_DATE_SPIN_GROUP::PlaceControl(int,class OWNER_WINDOW *,class INTL_PROFILE const &,class XYPOINT const &,class XYDIMENSION const &,class XYPOINT const &,class XYDIMENSION const &,class XYPOINT const &,class XYDIMENSION const &)
-?PlaceControl@BLT_DATE_SPIN_GROUP@@AAEJHPAVOWNER_WINDOW@@ABVINTL_PROFILE@@ABVXYPOINT@@ABVXYDIMENSION@@2323@Z
-; protected: virtual long __thiscall DOMAIN_FILL_THREAD::PostMain(void)
-?PostMain@DOMAIN_FILL_THREAD@@MAEJXZ
-; protected: virtual long __thiscall FOCUSDLG_DATA_THREAD::PostMain(void)
-?PostMain@FOCUSDLG_DATA_THREAD@@MAEJXZ
-; protected: virtual long __thiscall WIN32_THREAD::PostMain(void)
-?PostMain@WIN32_THREAD@@MAEJXZ
-; protected: virtual long __thiscall WIN32_THREAD::PreMain(void)
-?PreMain@WIN32_THREAD@@MAEJXZ
-; public: long __thiscall BASE_SET_FOCUS_DLG::Process(int *)
-?Process@BASE_SET_FOCUS_DLG@@QAEJPAH@Z
-; public: long __thiscall BASE_SET_FOCUS_DLG::Process(unsigned int *)
-?Process@BASE_SET_FOCUS_DLG@@QAEJPAI@Z
-; public: long __thiscall DIALOG_WINDOW::Process(int *)
-?Process@DIALOG_WINDOW@@QAEJPAH@Z
-; public: long __thiscall DIALOG_WINDOW::Process(unsigned int *)
-?Process@DIALOG_WINDOW@@QAEJPAI@Z
-; public: long __thiscall EXPANDABLE_DIALOG::Process(int *)
-?Process@EXPANDABLE_DIALOG@@QAEJPAH@Z
-; public: long __thiscall EXPANDABLE_DIALOG::Process(unsigned int *)
-?Process@EXPANDABLE_DIALOG@@QAEJPAI@Z
-; public: virtual long __thiscall GET_OPEN_FILENAME_DLG::Process(int *)
-?Process@GET_OPEN_FILENAME_DLG@@UAEJPAH@Z
-; public: virtual long __thiscall GET_SAVE_FILENAME_DLG::Process(int *)
-?Process@GET_SAVE_FILENAME_DLG@@UAEJPAH@Z
-; public: static long __stdcall WIN32_FONT_PICKER::Process(class OWNER_WINDOW *,int *,class FONT *,struct tagLOGFONTW *,struct tagCHOOSEFONTW *)
-?Process@WIN32_FONT_PICKER@@SGJPAVOWNER_WINDOW@@PAHPAVFONT@@PAUtagLOGFONTW@@PAUtagCHOOSEFONTW@@@Z
-; private: long __thiscall BASE_SET_FOCUS_DLG::ProcessNetPath(class NLS_STR *,long *)
-?ProcessNetPath@BASE_SET_FOCUS_DLG@@AAEJPAVNLS_STR@@PAJ@Z
-; public: long __thiscall WIN32_EVENT::Pulse(void)
-?Pulse@WIN32_EVENT@@QAEJXZ
-; public: long __thiscall USER_BROWSER_LBI::QualifyDisplayName(void)
-?QualifyDisplayName@USER_BROWSER_LBI@@QAEJXZ
-; public: static struct HICON__ * __stdcall CURSOR::Query(void)
-?Query@CURSOR@@SGPAUHICON__@@XZ
-; public: virtual long __thiscall SPIN_ITEM::QueryAccCharPos(unsigned short)
-?QueryAccCharPos@SPIN_ITEM@@UAEJG@Z
-; public: virtual long __thiscall SPIN_SLE_STR::QueryAccCharPos(unsigned short)
-?QueryAccCharPos@SPIN_SLE_STR@@UAEJG@Z
-; public: long __thiscall SPIN_ITEM::QueryAccKey(class NLS_STR *)
-?QueryAccKey@SPIN_ITEM@@QAEJPAVNLS_STR@@@Z
-; public: unsigned short const * __thiscall OPEN_LBI_BASE::QueryAccessName(void)const 
-?QueryAccessName@OPEN_LBI_BASE@@QBEPBGXZ
-; public: class SAM_DOMAIN * __thiscall BROWSER_DOMAIN::QueryAccountDomain(void)const 
-?QueryAccountDomain@BROWSER_DOMAIN@@QBEPAVSAM_DOMAIN@@XZ
-; public: unsigned short const * __thiscall BROWSER_SUBJECT::QueryAccountName(void)const 
-?QueryAccountName@BROWSER_SUBJECT@@QBEPBGXZ
-; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryAccountName(void)const 
-?QueryAccountName@USER_BROWSER_LBI@@QBEPBGXZ
-; protected: virtual int __thiscall H_SPLITTER_BAR::QueryActiveArea(void)
-?QueryActiveArea@H_SPLITTER_BAR@@MAEHXZ
-; protected: class PUSH_BUTTON * __thiscall SLE_STRLB_GROUP::QueryAddButton(void)const 
-?QueryAddButton@SLE_STRLB_GROUP@@IBEPAVPUSH_BUTTON@@XZ
-; public: class ADMIN_AUTHORITY * __thiscall BROWSER_DOMAIN::QueryAdminAuthority(void)const 
-?QueryAdminAuthority@BROWSER_DOMAIN@@QBEPAVADMIN_AUTHORITY@@XZ
-; public: class ADMIN_AUTHORITY * __thiscall DOMAIN_FILL_THREAD::QueryAdminAuthority(void)const 
-?QueryAdminAuthority@DOMAIN_FILL_THREAD@@QBEPAVADMIN_AUTHORITY@@XZ
-; public: unsigned short const * __thiscall UI_DOMAIN::QueryAnyDC(void)const 
-?QueryAnyDC@UI_DOMAIN@@QBEPBGXZ
-; public: int __thiscall OWNER_WINDOW::QueryAttribute(unsigned long)
-?QueryAttribute@OWNER_WINDOW@@QAEHK@Z
-; public: class AUDIT_CHECKBOXES * __thiscall SET_OF_AUDIT_CATEGORIES::QueryAuditCheckBox(int)
-?QueryAuditCheckBox@SET_OF_AUDIT_CATEGORIES@@QAEPAVAUDIT_CHECKBOXES@@H@Z
-; public: int __thiscall DEVICE_CONTEXT::QueryAveCharWidth(void)const 
-?QueryAveCharWidth@DEVICE_CONTEXT@@QBEHXZ
-; public: virtual unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryBigDecValue(void)const 
-?QueryBigDecValue@CHANGEABLE_SPIN_ITEM@@UBEKXZ
-; public: virtual unsigned long __thiscall SPIN_SLE_VALID_SECOND::QueryBigDecValue(void)const 
-?QueryBigDecValue@SPIN_SLE_VALID_SECOND@@UBEKXZ
-; public: virtual unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryBigIncValue(void)const 
-?QueryBigIncValue@CHANGEABLE_SPIN_ITEM@@UBEKXZ
-; public: virtual unsigned long __thiscall SPIN_SLE_VALID_SECOND::QueryBigIncValue(void)const 
-?QueryBigIncValue@SPIN_SLE_VALID_SECOND@@UBEKXZ
-; public: class BITFIELD * __thiscall STRING_BITSET_PAIR::QueryBitfield(void)
-?QueryBitfield@STRING_BITSET_PAIR@@QAEPAVBITFIELD@@XZ
-; public: struct HBITMAP__ * __thiscall DISPLAY_MAP::QueryBitmapHandle(void)const 
-?QueryBitmapHandle@DISPLAY_MAP@@QBEPAUHBITMAP__@@XZ
-; public: long __thiscall MASK_MAP::QueryBits(unsigned int,class BITFIELD *,class NLS_STR *,int *)
-?QueryBits@MASK_MAP@@QAEJIPAVBITFIELD@@PAVNLS_STR@@PAH@Z
-; public: int __thiscall XYRECT::QueryBottom(void)const 
-?QueryBottom@XYRECT@@QBEHXZ
-; public: class BROWSER_DOMAIN * __thiscall BROWSER_DOMAIN_LBI::QueryBrowserDomain(void)const 
-?QueryBrowserDomain@BROWSER_DOMAIN_LBI@@QBEPAVBROWSER_DOMAIN@@XZ
-; public: class BROWSER_DOMAIN * __thiscall BROWSER_DOMAIN_LBI_PB::QueryBrowserDomain(void)const 
-?QueryBrowserDomain@BROWSER_DOMAIN_LBI_PB@@QBEPAVBROWSER_DOMAIN@@XZ
-; protected: void * __thiscall NT_MEMORY::QueryBuffer(void)const 
-?QueryBuffer@NT_MEMORY@@IBEPAXXZ
-; protected: unsigned char const * __thiscall ENUM_OBJ_BASE::QueryBufferPtr(void)const 
-?QueryBufferPtr@ENUM_OBJ_BASE@@IBEPBEXZ
-; public: struct _DOMAIN_DISPLAY_GROUP const * __thiscall NT_GROUP_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@NT_GROUP_ENUM_OBJ@@QBEPBU_DOMAIN_DISPLAY_GROUP@@XZ
-; public: struct _SERVER_INFO_101 const * __thiscall SERVER1_ENUM_OBJ::QueryBufferPtr(void)const 
-?QueryBufferPtr@SERVER1_ENUM_OBJ@@QBEPBU_SERVER_INFO_101@@XZ
-; public: class SAM_DOMAIN * __thiscall BROWSER_DOMAIN::QueryBuiltinDomain(void)const 
-?QueryBuiltinDomain@BROWSER_DOMAIN@@QBEPAVSAM_DOMAIN@@XZ
-; private: class PUSH_BUTTON * __thiscall MSGPOPUP_DIALOG::QueryButton(unsigned int)
-?QueryButton@MSGPOPUP_DIALOG@@AAEPAVPUSH_BUTTON@@I@Z
-; public: int __thiscall LIST_CONTROL::QueryCaretIndex(void)const 
-?QueryCaretIndex@LIST_CONTROL@@QBEHXZ
-; public: unsigned short __thiscall CHAR_EVENT::QueryChar(void)const 
-?QueryChar@CHAR_EVENT@@QBEGXZ
-; public: int __thiscall STATE2_BUTTON_CONTROL::QueryCheck(void)const 
-?QueryCheck@STATE2_BUTTON_CONTROL@@QBEHXZ
-; public: unsigned int __thiscall CONTROL_ENTRY::QueryCid(void)const 
-?QueryCid@CONTROL_ENTRY@@QBEIXZ
-; public: unsigned int __thiscall CONTROL_EVENT::QueryCid(void)const 
-?QueryCid@CONTROL_EVENT@@QBEIXZ
-; public: unsigned int __thiscall CONTROL_WINDOW::QueryCid(void)const 
-?QueryCid@CONTROL_WINDOW@@QBEIXZ
-; public: void __thiscall WINDOW::QueryClientRect(struct tagRECT *)const 
-?QueryClientRect@WINDOW@@QBEXPAUtagRECT@@@Z
-; public: void __thiscall WINDOW::QueryClientRect(class XYRECT *)const 
-?QueryClientRect@WINDOW@@QBEXPAVXYRECT@@@Z
-; public: unsigned int __thiscall CONTROL_EVENT::QueryCode(void)const 
-?QueryCode@CONTROL_EVENT@@QBEIXZ
-; public: unsigned int const * __thiscall STATELB::QueryColData(void)
-?QueryColData@STATELB@@QAEPBIXZ
-; public: unsigned int const * __thiscall BROWSER_DOMAIN_CB::QueryColWidthArray(void)const 
-?QueryColWidthArray@BROWSER_DOMAIN_CB@@QBEPBIXZ
-; public: unsigned int const * __thiscall USER_BROWSER_LB::QueryColWidthArray(void)const 
-?QueryColWidthArray@USER_BROWSER_LB@@QBEPBIXZ
-; protected: static unsigned short const * __stdcall CONTROL_WINDOW::QueryComboboxClassName(void)
-?QueryComboboxClassName@CONTROL_WINDOW@@KGPBGXZ
-; public: enum SCROLL_EVENT::SCROLL_COMMAND  __thiscall SCROLL_EVENT::QueryCommand(void)const 
-?QueryCommand@SCROLL_EVENT@@QBE?AW4SCROLL_COMMAND@1@XZ
-; public: unsigned short const * __thiscall BROWSER_SUBJECT::QueryComment(void)const 
-?QueryComment@BROWSER_SUBJECT@@QBEPBGXZ
-; public: long __thiscall NT_GROUP_ENUM_OBJ::QueryComment(class NLS_STR *)const 
-?QueryComment@NT_GROUP_ENUM_OBJ@@QBEJPAVNLS_STR@@@Z
-; public: unsigned short const * __thiscall SERVER1_ENUM_OBJ::QueryComment(void)const 
-?QueryComment@SERVER1_ENUM_OBJ@@QBEPBGXZ
-; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryComment(void)const 
-?QueryComment@USER_BROWSER_LBI@@QBEPBGXZ
-; protected: virtual int (__cdecl*__thiscall USER_BROWSER_LBI_CACHE::QueryCompareMethod(void)const )(void const *,void const *)
-?QueryCompareMethod@USER_BROWSER_LBI_CACHE@@MBEP6AHPBX0@ZXZ
-; protected: virtual int (__cdecl*__thiscall USER_LBI_CACHE::QueryCompareMethod(void)const )(void const *,void const *)
-?QueryCompareMethod@USER_LBI_CACHE@@MBEP6AHPBX0@ZXZ
-; public: class CONTROL_VALUE * __thiscall CONTROLVAL_CID_PAIR::QueryContVal(void)const 
-?QueryContVal@CONTROLVAL_CID_PAIR@@QBEPAVCONTROL_VALUE@@XZ
-; public: void __thiscall SPIN_SLE_NUM::QueryContent(unsigned long *)const 
-?QueryContent@SPIN_SLE_NUM@@QBEXPAK@Z
-; public: void __thiscall SPIN_SLE_NUM::QueryContent(class NLS_STR *)const 
-?QueryContent@SPIN_SLE_NUM@@QBEXPAVNLS_STR@@@Z
-; public: long __thiscall SPIN_SLE_STR::QueryContent(class NLS_STR *)const 
-?QueryContent@SPIN_SLE_STR@@QBEJPAVNLS_STR@@@Z
-; public: class CONTROL_WINDOW * __thiscall CUSTOM_CONTROL::QueryControlWin(void)const 
-?QueryControlWin@CUSTOM_CONTROL@@QBEPAVCONTROL_WINDOW@@XZ
-; public: unsigned int __thiscall ARRAY_CONTROLVAL_CID_PAIR::QueryCount(void)const 
-?QueryCount@ARRAY_CONTROLVAL_CID_PAIR@@QBEIXZ
-; public: unsigned int __thiscall BITFIELD::QueryCount(void)const 
-?QueryCount@BITFIELD@@QBEIXZ
-; public: unsigned int __thiscall CONTROL_TABLE::QueryCount(void)const 
-?QueryCount@CONTROL_TABLE@@QBEIXZ
-; public: int __thiscall COUNTED_STR_DTE::QueryCount(void)const 
-?QueryCount@COUNTED_STR_DTE@@QBEHXZ
-; public: int __thiscall HEAP_BASE::QueryCount(void)const 
-?QueryCount@HEAP_BASE@@QBEHXZ
-; public: int __thiscall LIST_CONTROL::QueryCount(void)const 
-?QueryCount@LIST_CONTROL@@QBEHXZ
-; public: unsigned int __thiscall MASK_MAP::QueryCount(void)
-?QueryCount@MASK_MAP@@QAEIXZ
-; public: unsigned long __thiscall NT_MEMORY::QueryCount(void)const 
-?QueryCount@NT_MEMORY@@QBEKXZ
-; public: int __thiscall RADIO_GROUP::QueryCount(void)
-?QueryCount@RADIO_GROUP@@QAEHXZ
-; public: int __thiscall SET_OF_AUDIT_CATEGORIES::QueryCount(void)
-?QueryCount@SET_OF_AUDIT_CATEGORIES@@QAEHXZ
-; public: unsigned long __thiscall USER_BROWSER_LBI_CACHE::QueryCount(void)const 
-?QueryCount@USER_BROWSER_LBI_CACHE@@QBEKXZ
-; public: int __thiscall USER_LBI_CACHE::QueryCount(void)const 
-?QueryCount@USER_LBI_CACHE@@QBEHXZ
-; protected: virtual long __thiscall USRLB_NT_GROUP_ENUM::QueryCountPreferences(unsigned long *,unsigned long *,unsigned int,unsigned long,unsigned long,unsigned long)
-?QueryCountPreferences@USRLB_NT_GROUP_ENUM@@MAEJPAK0IKKK@Z
-; public: class CONTROL_WINDOW * __thiscall CONTROL_ENTRY::QueryCtrlPtr(void)const 
-?QueryCtrlPtr@CONTROL_ENTRY@@QBEPAVCONTROL_WINDOW@@XZ
-; public: class USER_BROWSER_LBI_CACHE * __thiscall USER_BROWSER_LB::QueryCurrentCache(void)const 
-?QueryCurrentCache@USER_BROWSER_LB@@QBEPAVUSER_BROWSER_LBI_CACHE@@XZ
-; public: class BROWSER_DOMAIN * __thiscall NT_USER_BROWSER_DIALOG::QueryCurrentDomainFocus(void)const 
-?QueryCurrentDomainFocus@NT_USER_BROWSER_DIALOG@@QBEPAVBROWSER_DOMAIN@@XZ
-; protected: class SPIN_ITEM * __thiscall SPIN_GROUP::QueryCurrentField(void)const 
-?QueryCurrentField@SPIN_GROUP@@IBEPAVSPIN_ITEM@@XZ
-; public: int __thiscall LIST_CONTROL::QueryCurrentItem(void)const 
-?QueryCurrentItem@LIST_CONTROL@@QBEHXZ
-; public: unsigned short const * __thiscall NT_USER_BROWSER_DIALOG::QueryDCofPrimaryDomain(void)
-?QueryDCofPrimaryDomain@NT_USER_BROWSER_DIALOG@@QAEPBGXZ
-; public: int __thiscall BLT_DATE_SPIN_GROUP::QueryDay(void)const 
-?QueryDay@BLT_DATE_SPIN_GROUP@@QBEHXZ
-; public: int __thiscall WIN_TIME::QueryDay(void)const 
-?QueryDay@WIN_TIME@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::QueryDayPos(void)const 
-?QueryDayPos@INTL_PROFILE@@QBEHXZ
-; public: unsigned long __thiscall UI_EXT::QueryDelta(void)const 
-?QueryDelta@UI_EXT@@QBEKXZ
-; public: unsigned long __thiscall UI_EXT_MGR::QueryDeltaDelta(void)const 
-?QueryDeltaDelta@UI_EXT_MGR@@QBEKXZ
-; private: unsigned int __thiscall HIER_LBI::QueryDescendants(void)
-?QueryDescendants@HIER_LBI@@AAEIXZ
-; public: int __thiscall H_SPLITTER_BAR::QueryDesiredHeight(void)
-?QueryDesiredHeight@H_SPLITTER_BAR@@QAEHXZ
-; public: long __thiscall DEVICE_COMBO::QueryDevice(class NLS_STR *)const 
-?QueryDevice@DEVICE_COMBO@@QBEJPAVNLS_STR@@@Z
-; public: struct HBITMAP__ * __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::QueryDisable(void)const 
-?QueryDisable@GRAPHICAL_BUTTON_WITH_DISABLE@@QBEPAUHBITMAP__@@XZ
-; public: class DISPLAY_MAP * __thiscall BROWSER_DOMAIN_CB::QueryDisplayMap(class BROWSER_DOMAIN_LBI const *)
-?QueryDisplayMap@BROWSER_DOMAIN_CB@@QAEPAVDISPLAY_MAP@@PBVBROWSER_DOMAIN_LBI@@@Z
-; public: class DISPLAY_MAP * __thiscall DM_DTE::QueryDisplayMap(void)const 
-?QueryDisplayMap@DM_DTE@@QBEPAVDISPLAY_MAP@@XZ
-; public: class DISPLAY_MAP * __thiscall SUBJECT_BITMAP_BLOCK::QueryDisplayMap(int,int,int)
-?QueryDisplayMap@SUBJECT_BITMAP_BLOCK@@QAEPAVDISPLAY_MAP@@HHH@Z
-; public: class DISPLAY_MAP * __thiscall USER_BROWSER_LB::QueryDisplayMap(class USER_BROWSER_LBI const *)
-?QueryDisplayMap@USER_BROWSER_LB@@QAEPAVDISPLAY_MAP@@PBVUSER_BROWSER_LBI@@@Z
-; public: unsigned short const * __thiscall BROWSER_DOMAIN::QueryDisplayName(void)const 
-?QueryDisplayName@BROWSER_DOMAIN@@QBEPBGXZ
-; public: unsigned short const * __thiscall BROWSER_DOMAIN_LBI::QueryDisplayName(void)const 
-?QueryDisplayName@BROWSER_DOMAIN_LBI@@QBEPBGXZ
-; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryDisplayName(void)const 
-?QueryDisplayName@USER_BROWSER_LBI@@QBEPBGXZ
-; public: unsigned int __thiscall DM_DTE::QueryDisplayWidth(void)const 
-?QueryDisplayWidth@DM_DTE@@QBEIXZ
-; public: unsigned short const * __thiscall UI_EXT::QueryDllName(void)const 
-?QueryDllName@UI_EXT@@QBEPBGXZ
-; public: class DM_DTE * __thiscall OUTLINE_LISTBOX::QueryDmDte(enum OUTLINE_LB_LEVEL,int)const 
-?QueryDmDte@OUTLINE_LISTBOX@@QBEPAVDM_DTE@@W4OUTLINE_LB_LEVEL@@H@Z
-; public: class DMID_DTE * __thiscall SUBJECT_BITMAP_BLOCK::QueryDmDte(int,int,int)
-?QueryDmDte@SUBJECT_BITMAP_BLOCK@@QAEPAVDMID_DTE@@HHH@Z
-; public: unsigned short const * __thiscall OLLB_ENTRY::QueryDomain(void)const 
-?QueryDomain@OLLB_ENTRY@@QBEPBGXZ
-; public: unsigned int __thiscall BROWSE_DOMAIN_ENUM::QueryDomainCount(void)
-?QueryDomainCount@BROWSE_DOMAIN_ENUM@@QAEIXZ
-; public: long __thiscall LSA_TRANSLATED_NAME_MEM::QueryDomainIndex(unsigned long)const 
-?QueryDomainIndex@LSA_TRANSLATED_NAME_MEM@@QBEJK@Z
-; public: long __thiscall LSA_TRANSLATED_SID_MEM::QueryDomainIndex(unsigned long)const 
-?QueryDomainIndex@LSA_TRANSLATED_SID_MEM@@QBEJK@Z
-; public: unsigned short const * __thiscall BROWSER_DOMAIN::QueryDomainName(void)const 
-?QueryDomainName@BROWSER_DOMAIN@@QBEPBGXZ
-; public: unsigned short const * __thiscall BROWSER_SUBJECT::QueryDomainName(void)const 
-?QueryDomainName@BROWSER_SUBJECT@@QBEPBGXZ
-; public: unsigned short const * __thiscall BROWSE_DOMAIN_INFO::QueryDomainName(void)const 
-?QueryDomainName@BROWSE_DOMAIN_INFO@@QBEPBGXZ
-; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryDomainName(void)const 
-?QueryDomainName@USER_BROWSER_LBI@@QBEPBGXZ
-; public: class OS_SID const * __thiscall BROWSER_DOMAIN::QueryDomainSid(void)const 
-?QueryDomainSid@BROWSER_DOMAIN@@QBEPBVOS_SID@@XZ
-; public: class OS_SID const * __thiscall BROWSER_SUBJECT::QueryDomainSid(void)const 
-?QueryDomainSid@BROWSER_SUBJECT@@QBEPBVOS_SID@@XZ
-; protected: static unsigned short const * __stdcall CONTROL_WINDOW::QueryEditClassName(void)
-?QueryEditClassName@CONTROL_WINDOW@@KGPBGXZ
-; public: struct _ULC_ENTRY_BASE * __thiscall USER_BROWSER_LBI_CACHE::QueryEntryPtr(int)
-?QueryEntryPtr@USER_BROWSER_LBI_CACHE@@QAEPAU_ULC_ENTRY_BASE@@H@Z
-; public: long __thiscall ASSOCHWNDPDLG::QueryError(void)const 
-?QueryError@ASSOCHWNDPDLG@@QBEJXZ
-; public: long __thiscall ASSOCHWNDPWND::QueryError(void)const 
-?QueryError@ASSOCHWNDPWND@@QBEJXZ
-; public: long __thiscall BASE::QueryError(void)const 
-?QueryError@BASE@@QBEJXZ
-; public: long __thiscall CONTROL_WINDOW::QueryError(void)const 
-?QueryError@CONTROL_WINDOW@@QBEJXZ
-; public: long __thiscall FORWARDING_BASE::QueryError(void)const 
-?QueryError@FORWARDING_BASE@@QBEJXZ
-; public: long __thiscall SLT_ELLIPSIS::QueryError(void)const 
-?QueryError@SLT_ELLIPSIS@@QBEJXZ
-; protected: long __thiscall GET_FNAME_BASE_DLG::QueryErrorCode(void)const 
-?QueryErrorCode@GET_FNAME_BASE_DLG@@IBEJXZ
-; public: class USER_BROWSER_LBI * __thiscall USER_BROWSER_LB::QueryErrorLBI(void)const 
-?QueryErrorLBI@USER_BROWSER_LB@@QBEPAVUSER_BROWSER_LBI@@XZ
-; public: long __thiscall BROWSER_DOMAIN::QueryErrorLoadingAuthority(void)const 
-?QueryErrorLoadingAuthority@BROWSER_DOMAIN@@QBEJXZ
-; public: long __thiscall DOMAIN_FILL_THREAD::QueryErrorLoadingAuthority(void)const 
-?QueryErrorLoadingAuthority@DOMAIN_FILL_THREAD@@QBEJXZ
-; protected: virtual unsigned int __thiscall ARROW_BUTTON::QueryEventEffects(class CONTROL_EVENT const &)
-?QueryEventEffects@ARROW_BUTTON@@MAEIABVCONTROL_EVENT@@@Z
-; protected: virtual unsigned int __thiscall BUTTON_CONTROL::QueryEventEffects(class CONTROL_EVENT const &)
-?QueryEventEffects@BUTTON_CONTROL@@MAEIABVCONTROL_EVENT@@@Z
-; protected: virtual unsigned int __thiscall COMBOBOX::QueryEventEffects(class CONTROL_EVENT const &)
-?QueryEventEffects@COMBOBOX@@MAEIABVCONTROL_EVENT@@@Z
-; public: virtual unsigned int __thiscall CONTROL_VALUE::QueryEventEffects(class CONTROL_EVENT const &)
-?QueryEventEffects@CONTROL_VALUE@@UAEIABVCONTROL_EVENT@@@Z
-; protected: virtual unsigned int __thiscall EDIT_CONTROL::QueryEventEffects(class CONTROL_EVENT const &)
-?QueryEventEffects@EDIT_CONTROL@@MAEIABVCONTROL_EVENT@@@Z
-; protected: virtual unsigned int __thiscall LIST_CONTROL::QueryEventEffects(class CONTROL_EVENT const &)
-?QueryEventEffects@LIST_CONTROL@@MAEIABVCONTROL_EVENT@@@Z
-; public: int __thiscall HIER_LBI::QueryExpanded(void)const 
-?QueryExpanded@HIER_LBI@@QBEHXZ
-; public: class SLIST_OF_UI_EXT * __thiscall UI_EXT_MGR::QueryExtensions(void)
-?QueryExtensions@UI_EXT_MGR@@QAEPAVSLIST_OF_UI_EXT@@XZ
-; public: unsigned int __thiscall SET_OF_AUDIT_CATEGORIES::QueryFailedBaseCID(void)
-?QueryFailedBaseCID@SET_OF_AUDIT_CATEGORIES@@QAEIXZ
-; public: unsigned long __thiscall OPEN_LBI_BASE::QueryFileID(void)const 
-?QueryFileID@OPEN_LBI_BASE@@QBEKXZ
-; public: long __thiscall GET_FNAME_BASE_DLG::QueryFileTitle(class NLS_STR *)const 
-?QueryFileTitle@GET_FNAME_BASE_DLG@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall GET_FNAME_BASE_DLG::QueryFilename(class NLS_STR *)const 
-?QueryFilename@GET_FNAME_BASE_DLG@@QBEJPAVNLS_STR@@@Z
-; protected: int __thiscall HEAP_BASE::QueryFirstLeaf(void)const 
-?QueryFirstLeaf@HEAP_BASE@@IBEHXZ
-; public: unsigned long __thiscall ACCOUNT_NAMES_MLE::QueryFlags(void)const 
-?QueryFlags@ACCOUNT_NAMES_MLE@@QBEKXZ
-; public: unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryFlags(void)const 
-?QueryFlags@NT_USER_BROWSER_DIALOG@@QBEKXZ
-; public: struct HFONT__ * __thiscall CONTROL_WINDOW::QueryFont(void)const 
-?QueryFont@CONTROL_WINDOW@@QBEPAUHFONT__@@XZ
-; public: int __thiscall DEVICE_CONTEXT::QueryFontHeight(void)const 
-?QueryFontHeight@DEVICE_CONTEXT@@QBEHXZ
-; public: unsigned short const * __thiscall BROWSER_SUBJECT::QueryFullName(void)const 
-?QueryFullName@BROWSER_SUBJECT@@QBEPBGXZ
-; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryFullName(void)const 
-?QueryFullName@USER_BROWSER_LBI@@QBEPBGXZ
-; public: class CONTROL_GROUP * __thiscall CONTROL_VALUE::QueryGroup(void)const 
-?QueryGroup@CONTROL_VALUE@@QBEPAVCONTROL_GROUP@@XZ
-; public: long __thiscall NT_GROUP_ENUM_OBJ::QueryGroup(class NLS_STR *)const 
-?QueryGroup@NT_GROUP_ENUM_OBJ@@QBEJPAVNLS_STR@@@Z
-; public: class CONTROL_GROUP * __thiscall SPIN_ITEM::QueryGroup(void)
-?QueryGroup@SPIN_ITEM@@QAEPAVCONTROL_GROUP@@XZ
-; public: struct HACCEL__ * __thiscall ACCELTABLE::QueryHandle(void)const 
-?QueryHandle@ACCELTABLE@@QBEPAUHACCEL__@@XZ
-; public: unsigned short __thiscall ATOM_BASE::QueryHandle(void)const 
-?QueryHandle@ATOM_BASE@@QBEGXZ
-; public: struct HBITMAP__ * __thiscall BIT_MAP::QueryHandle(void)const 
-?QueryHandle@BIT_MAP@@QBEPAUHBITMAP__@@XZ
-; public: struct HFONT__ * __thiscall FONT::QueryHandle(void)const 
-?QueryHandle@FONT@@QBEPAUHFONT__@@XZ
-; public: struct HMENU__ * __thiscall MENU_BASE::QueryHandle(void)const 
-?QueryHandle@MENU_BASE@@QBEPAUHMENU__@@XZ
-; public: void * __thiscall SAM_OBJECT::QueryHandle(void)const 
-?QueryHandle@SAM_OBJECT@@QBEPAXXZ
-; public: struct HBRUSH__ * __thiscall SOLID_BRUSH::QueryHandle(void)const 
-?QueryHandle@SOLID_BRUSH@@QBEPAUHBRUSH__@@XZ
-; public: void * __thiscall WIN32_HANDLE::QueryHandle(void)const 
-?QueryHandle@WIN32_HANDLE@@QBEPAXXZ
-; public: struct HDC__ * __thiscall DEVICE_CONTEXT::QueryHdc(void)const 
-?QueryHdc@DEVICE_CONTEXT@@QBEPAUHDC__@@XZ
-; public: unsigned int __thiscall BIT_MAP::QueryHeight(void)const 
-?QueryHeight@BIT_MAP@@QBEIXZ
-; public: unsigned int __thiscall DISPLAY_MAP::QueryHeight(void)const 
-?QueryHeight@DISPLAY_MAP@@QBEIXZ
-; public: int __thiscall LB_COLUMN_HEADER::QueryHeight(void)
-?QueryHeight@LB_COLUMN_HEADER@@QAEHXZ
-; public: unsigned int __thiscall SIZE_EVENT::QueryHeight(void)const 
-?QueryHeight@SIZE_EVENT@@QBEIXZ
-; public: unsigned int __thiscall XYDIMENSION::QueryHeight(void)const 
-?QueryHeight@XYDIMENSION@@QBEIXZ
-; protected: virtual unsigned long __thiscall BASE_PASSWORD_DIALOG::QueryHelpContext(void)
-?QueryHelpContext@BASE_PASSWORD_DIALOG@@MAEKXZ
-; protected: virtual unsigned long __thiscall BASE_SET_FOCUS_DLG::QueryHelpContext(void)
-?QueryHelpContext@BASE_SET_FOCUS_DLG@@MAEKXZ
-; protected: virtual unsigned long __thiscall DIALOG_WINDOW::QueryHelpContext(void)
-?QueryHelpContext@DIALOG_WINDOW@@MAEKXZ
-; public: unsigned long __thiscall GET_FNAME_BASE_DLG::QueryHelpContext(void)
-?QueryHelpContext@GET_FNAME_BASE_DLG@@QAEKXZ
-; protected: virtual unsigned long __thiscall MSGPOPUP_DIALOG::QueryHelpContext(void)
-?QueryHelpContext@MSGPOPUP_DIALOG@@MAEKXZ
-; protected: virtual unsigned long __thiscall NT_FIND_ACCOUNT_DIALOG::QueryHelpContext(void)
-?QueryHelpContext@NT_FIND_ACCOUNT_DIALOG@@MAEKXZ
-; protected: virtual unsigned long __thiscall NT_GLOBALGROUP_BROWSER_DIALOG::QueryHelpContext(void)
-?QueryHelpContext@NT_GLOBALGROUP_BROWSER_DIALOG@@MAEKXZ
-; protected: virtual unsigned long __thiscall NT_LOCALGROUP_BROWSER_DIALOG::QueryHelpContext(void)
-?QueryHelpContext@NT_LOCALGROUP_BROWSER_DIALOG@@MAEKXZ
-; public: virtual unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryHelpContext(void)
-?QueryHelpContext@NT_USER_BROWSER_DIALOG@@UAEKXZ
-; protected: virtual unsigned long __thiscall OPEN_DIALOG_BASE::QueryHelpContext(void)
-?QueryHelpContext@OPEN_DIALOG_BASE@@MAEKXZ
-; protected: virtual unsigned long __thiscall PROMPT_FOR_ANY_DC_DLG::QueryHelpContext(void)
-?QueryHelpContext@PROMPT_FOR_ANY_DC_DLG@@MAEKXZ
-; public: unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryHelpContextGlobalMembership(void)
-?QueryHelpContextGlobalMembership@NT_USER_BROWSER_DIALOG@@QAEKXZ
-; public: unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryHelpContextLocalMembership(void)
-?QueryHelpContextLocalMembership@NT_USER_BROWSER_DIALOG@@QAEKXZ
-; public: unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryHelpContextSearch(void)
-?QueryHelpContextSearch@NT_USER_BROWSER_DIALOG@@QAEKXZ
-; public: unsigned short const * __thiscall ASSOCHCFILE::QueryHelpFile(void)const 
-?QueryHelpFile@ASSOCHCFILE@@QBEPBGXZ
-; protected: virtual unsigned short const * __thiscall BASE_SET_FOCUS_DLG::QueryHelpFile(unsigned long)
-?QueryHelpFile@BASE_SET_FOCUS_DLG@@MAEPBGK@Z
-; protected: virtual unsigned short const * __thiscall DIALOG_WINDOW::QueryHelpFile(unsigned long)
-?QueryHelpFile@DIALOG_WINDOW@@MAEPBGK@Z
-; public: class NLS_STR * __thiscall GET_FNAME_BASE_DLG::QueryHelpFile(void)
-?QueryHelpFile@GET_FNAME_BASE_DLG@@QAEPAVNLS_STR@@XZ
-; protected: virtual unsigned short const * __thiscall NT_FIND_ACCOUNT_DIALOG::QueryHelpFile(unsigned long)
-?QueryHelpFile@NT_FIND_ACCOUNT_DIALOG@@MAEPBGK@Z
-; protected: virtual unsigned short const * __thiscall NT_GROUP_BROWSER_DIALOG::QueryHelpFile(unsigned long)
-?QueryHelpFile@NT_GROUP_BROWSER_DIALOG@@MAEPBGK@Z
-; public: virtual unsigned short const * __thiscall NT_USER_BROWSER_DIALOG::QueryHelpFile(unsigned long)
-?QueryHelpFile@NT_USER_BROWSER_DIALOG@@UAEPBGK@Z
-; public: unsigned int __thiscall QMOUSEACT_EVENT::QueryHitTest(void)const 
-?QueryHitTest@QMOUSEACT_EVENT@@QBEIXZ
-; public: unsigned int __thiscall LISTBOX::QueryHorizontalExtent(void)const 
-?QueryHorizontalExtent@LISTBOX@@QBEIXZ
-; public: int __thiscall BLT_TIME_SPIN_GROUP::QueryHour(void)const 
-?QueryHour@BLT_TIME_SPIN_GROUP@@QBEHXZ
-; public: int __thiscall WIN_TIME::QueryHour(void)const 
-?QueryHour@WIN_TIME@@QBEHXZ
-; public: long __thiscall LOGON_HOURS_CONTROL::QueryHours(class LOGON_HOURS_SETTING *)const 
-?QueryHours@LOGON_HOURS_CONTROL@@QBEJPAVLOGON_HOURS_SETTING@@@Z
-; public: struct HWND__ * __thiscall CONTROL_EVENT::QueryHwnd(void)const 
-?QueryHwnd@CONTROL_EVENT@@QBEPAUHWND__@@XZ
-; public: struct HWND__ * __thiscall DISPATCHER::QueryHwnd(void)const 
-?QueryHwnd@DISPATCHER@@QBEPAUHWND__@@XZ
-; protected: struct HWND__ * __thiscall DISPLAY_CONTEXT::QueryHwnd(void)
-?QueryHwnd@DISPLAY_CONTEXT@@IAEPAUHWND__@@XZ
-; public: struct HWND__ * __thiscall DLGLOAD::QueryHwnd(void)const 
-?QueryHwnd@DLGLOAD@@QBEPAUHWND__@@XZ
-; public: struct HWND__ * __thiscall OWNINGWND::QueryHwnd(void)const 
-?QueryHwnd@OWNINGWND@@QBEPAUHWND__@@XZ
-; public: struct HWND__ * __thiscall PWND2HWND::QueryHwnd(void)const 
-?QueryHwnd@PWND2HWND@@QBEPAUHWND__@@XZ
-; public: struct HWND__ * __thiscall WINDOW::QueryHwnd(void)const 
-?QueryHwnd@WINDOW@@QBEPAUHWND__@@XZ
-; public: unsigned int __thiscall DISPLAY_MAP::QueryID(void)const 
-?QueryID@DISPLAY_MAP@@QBEIXZ
-; public: int __thiscall STRING_BITSET_PAIR::QueryID(void)
-?QueryID@STRING_BITSET_PAIR@@QAEHXZ
-; public: unsigned int __thiscall TIMER_BASE::QueryID(void)const 
-?QueryID@TIMER_BASE@@QBEIXZ
-; public: struct HICON__ * __thiscall APP_WINDOW::QueryIcon(void)const 
-?QueryIcon@APP_WINDOW@@QBEPAUHICON__@@XZ
-; private: unsigned short const * __thiscall MSGPOPUP_DIALOG::QueryIcon(enum MSG_SEVERITY)
-?QueryIcon@MSGPOPUP_DIALOG@@AAEPBGW4MSG_SEVERITY@@@Z
-; public: int __thiscall HIER_LBI::QueryIndentLevel(void)
-?QueryIndentLevel@HIER_LBI@@QAEHXZ
-; public: class SLE * __thiscall SLE_STRLB_GROUP::QueryInputSLE(void)const 
-?QueryInputSLE@SLE_STRLB_GROUP@@QBEPAVSLE@@XZ
-; public: class XYRECT const & __thiscall PAINT_DISPLAY_CONTEXT::QueryInvalidRect(void)const 
-?QueryInvalidRect@PAINT_DISPLAY_CONTEXT@@QBEABVXYRECT@@XZ
-; public: class LBI * __thiscall BLT_LISTBOX::QueryItem(int)const 
-?QueryItem@BLT_LISTBOX@@QBEPAVLBI@@H@Z
-; public: class LBI * __thiscall BLT_LISTBOX::QueryItem(void)const 
-?QueryItem@BLT_LISTBOX@@QBEPAVLBI@@XZ
-; public: class CONTROL_ENTRY * __thiscall CONTROL_TABLE::QueryItem(unsigned int)const 
-?QueryItem@CONTROL_TABLE@@QBEPAVCONTROL_ENTRY@@I@Z
-; public: class OPEN_LBI_BASE * __thiscall OPEN_LBOX_BASE::QueryItem(int)const 
-?QueryItem@OPEN_LBOX_BASE@@QBEPAVOPEN_LBI_BASE@@H@Z
-; public: class OPEN_LBI_BASE * __thiscall OPEN_LBOX_BASE::QueryItem(void)const 
-?QueryItem@OPEN_LBOX_BASE@@QBEPAVOPEN_LBI_BASE@@XZ
-; public: class OLLB_ENTRY * __thiscall OUTLINE_LISTBOX::QueryItem(int)const 
-?QueryItem@OUTLINE_LISTBOX@@QBEPAVOLLB_ENTRY@@H@Z
-; public: class OLLB_ENTRY * __thiscall OUTLINE_LISTBOX::QueryItem(void)const 
-?QueryItem@OUTLINE_LISTBOX@@QBEPAVOLLB_ENTRY@@XZ
-; public: class STLBITEM * __thiscall STATELB::QueryItem(void)const 
-?QueryItem@STATELB@@QBEPAVSTLBITEM@@XZ
-; public: class USER_BROWSER_LBI * __thiscall USER_BROWSER_LB::QueryItem(int)const 
-?QueryItem@USER_BROWSER_LB@@QBEPAVUSER_BROWSER_LBI@@H@Z
-; public: class USER_BROWSER_LBI * __thiscall USER_BROWSER_LB::QueryItem(void)const 
-?QueryItem@USER_BROWSER_LB@@QBEPAVUSER_BROWSER_LBI@@XZ
-; public: virtual class LBI * __thiscall USER_LBI_CACHE::QueryItem(int)
-?QueryItem@USER_LBI_CACHE@@UAEPAVLBI@@H@Z
-; public: int __thiscall MENU_BASE::QueryItemCount(void)const 
-?QueryItemCount@MENU_BASE@@QBEHXZ
-; public: unsigned int __thiscall LIST_CONTROL::QueryItemHeight(unsigned int)const 
-?QueryItemHeight@LIST_CONTROL@@QBEII@Z
-; public: unsigned int __thiscall MENU_BASE::QueryItemID(int)const 
-?QueryItemID@MENU_BASE@@QBEIH@Z
-; public: int __thiscall STRING_LIST_CONTROL::QueryItemLength(int)const 
-?QueryItemLength@STRING_LIST_CONTROL@@QBEHH@Z
-; public: int __thiscall STRING_LIST_CONTROL::QueryItemSize(int)const 
-?QueryItemSize@STRING_LIST_CONTROL@@QBEHH@Z
-; public: unsigned int __thiscall MENU_BASE::QueryItemState(unsigned int,unsigned int)const 
-?QueryItemState@MENU_BASE@@QBEIII@Z
-; public: long __thiscall MENU_BASE::QueryItemText(unsigned short *,unsigned int,unsigned int,unsigned int)const 
-?QueryItemText@MENU_BASE@@QBEJPAGIII@Z
-; public: long __thiscall MENU_BASE::QueryItemText(class NLS_STR *,unsigned int,unsigned int)const 
-?QueryItemText@MENU_BASE@@QBEJPAVNLS_STR@@II@Z
-; public: long __thiscall STRING_LIST_CONTROL::QueryItemText(unsigned short *,int,int)const 
-?QueryItemText@STRING_LIST_CONTROL@@QBEJPAGHH@Z
-; public: long __thiscall STRING_LIST_CONTROL::QueryItemText(class NLS_STR *)const 
-?QueryItemText@STRING_LIST_CONTROL@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall STRING_LIST_CONTROL::QueryItemText(class NLS_STR *,int)const 
-?QueryItemText@STRING_LIST_CONTROL@@QBEJPAVNLS_STR@@H@Z
-; private: long __thiscall STRING_LIST_CONTROL::QueryItemTextAux(unsigned short *,int)const 
-?QueryItemTextAux@STRING_LIST_CONTROL@@ABEJPAGH@Z
-; private: int __thiscall HIER_LBI::QueryLBIndex(void)
-?QueryLBIndex@HIER_LBI@@AAEHXZ
-; public: long __thiscall EVENT::QueryLParam(void)const 
-?QueryLParam@EVENT@@QBEJXZ
-; public: class LSA_POLICY * __thiscall BROWSER_DOMAIN::QueryLSAPolicy(void)const 
-?QueryLSAPolicy@BROWSER_DOMAIN@@QBEPAVLSA_POLICY@@XZ
-; public: class STATELB * __thiscall STATELBGRP::QueryLb(void)
-?QueryLb@STATELBGRP@@QAEPAVSTATELB@@XZ
-; public: virtual unsigned short __thiscall BROWSER_DOMAIN_LBI::QueryLeadingChar(void)const 
-?QueryLeadingChar@BROWSER_DOMAIN_LBI@@UBEGXZ
-; public: virtual unsigned short __thiscall BROWSER_DOMAIN_LBI_PB::QueryLeadingChar(void)const 
-?QueryLeadingChar@BROWSER_DOMAIN_LBI_PB@@UBEGXZ
-; public: virtual unsigned short __thiscall LBI::QueryLeadingChar(void)const 
-?QueryLeadingChar@LBI@@UBEGXZ
-; public: virtual unsigned short __thiscall OLLB_ENTRY::QueryLeadingChar(void)const 
-?QueryLeadingChar@OLLB_ENTRY@@UBEGXZ
-; protected: virtual unsigned short __thiscall OPEN_LBI_BASE::QueryLeadingChar(void)const 
-?QueryLeadingChar@OPEN_LBI_BASE@@MBEGXZ
-; protected: virtual unsigned short __thiscall STLBITEM::QueryLeadingChar(void)const 
-?QueryLeadingChar@STLBITEM@@MBEGXZ
-; public: virtual unsigned short __thiscall USER_BROWSER_LBI::QueryLeadingChar(void)const 
-?QueryLeadingChar@USER_BROWSER_LBI@@UBEGXZ
-; public: int __thiscall XYRECT::QueryLeft(void)const 
-?QueryLeft@XYRECT@@QBEHXZ
-; protected: int __thiscall HEAP_BASE::QueryLeftChild(int)const 
-?QueryLeftChild@HEAP_BASE@@IBEHH@Z
-; public: virtual unsigned int __thiscall DTE::QueryLeftMargin(void)const 
-?QueryLeftMargin@DTE@@UBEIXZ
-; public: virtual unsigned int __thiscall METALLIC_STR_DTE::QueryLeftMargin(void)const 
-?QueryLeftMargin@METALLIC_STR_DTE@@UBEIXZ
-; public: int __thiscall OLLB_ENTRY::QueryLevel(void)const 
-?QueryLevel@OLLB_ENTRY@@QBEHXZ
-; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryLimit(void)const 
-?QueryLimit@CHANGEABLE_SPIN_ITEM@@QBEKXZ
-; protected: virtual int __thiscall CONSOLE_ELLIPSIS::QueryLimit(void)
-?QueryLimit@CONSOLE_ELLIPSIS@@MAEHXZ
-; protected: virtual int __thiscall WIN_ELLIPSIS::QueryLimit(void)
-?QueryLimit@WIN_ELLIPSIS@@MAEHXZ
-; protected: static unsigned short const * __stdcall CONTROL_WINDOW::QueryListboxClassName(void)
-?QueryListboxClassName@CONTROL_WINDOW@@KGPBGXZ
-; long __stdcall QueryLoggedOnDomainInfo(class NLS_STR *,class NLS_STR *)
-?QueryLoggedOnDomainInfo@@YGJPAVNLS_STR@@0@Z
-; public: unsigned short const * __thiscall BROWSER_DOMAIN::QueryLsaLookupName(void)const 
-?QueryLsaLookupName@BROWSER_DOMAIN@@QBEPBGXZ
-; public: struct HBITMAP__ * __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::QueryMain(void)const 
-?QueryMain@GRAPHICAL_BUTTON_WITH_DISABLE@@QBEPAUHBITMAP__@@XZ
-; public: struct HBITMAP__ * __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::QueryMainInvert(void)const 
-?QueryMainInvert@GRAPHICAL_BUTTON_WITH_DISABLE@@QBEPAUHBITMAP__@@XZ
-; public: class DISPLAY_MAP * const * __thiscall STATELB::QueryMapArray(void)const 
-?QueryMapArray@STATELB@@QBEPBQAVDISPLAY_MAP@@XZ
-; public: int __thiscall STATELB::QueryMapCount(void)const 
-?QueryMapCount@STATELB@@QBEHXZ
-; public: class BITFIELD * __thiscall AUDIT_CHECKBOXES::QueryMask(void)
-?QueryMask@AUDIT_CHECKBOXES@@QAEPAVBITFIELD@@XZ
-; public: struct HBITMAP__ * __thiscall DISPLAY_MAP::QueryMaskHandle(void)const 
-?QueryMaskHandle@DISPLAY_MAP@@QBEPAUHBITMAP__@@XZ
-; public: static long __stdcall BLT_MASTER_TIMER::QueryMasterTimer(class BLT_MASTER_TIMER * *)
-?QueryMasterTimer@BLT_MASTER_TIMER@@SGJPAPAV1@@Z
-; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryMax(void)const 
-?QueryMax@CHANGEABLE_SPIN_ITEM@@QBEKXZ
-; public: unsigned int __thiscall SCROLLBAR::QueryMax(void)const 
-?QueryMax@SCROLLBAR@@QBEIXZ
-; protected: virtual int __thiscall CONSOLE_ELLIPSIS::QueryMaxCharWidth(void)
-?QueryMaxCharWidth@CONSOLE_ELLIPSIS@@MAEHXZ
-; protected: virtual int __thiscall WIN_ELLIPSIS::QueryMaxCharWidth(void)
-?QueryMaxCharWidth@WIN_ELLIPSIS@@MAEHXZ
-; public: struct HMENU__ * __thiscall APP_WINDOW::QueryMenu(void)const 
-?QueryMenu@APP_WINDOW@@QBEPAUHMENU__@@XZ
-; public: struct HMENU__ * __thiscall UI_MENU_EXT::QueryMenuHandle(void)const 
-?QueryMenuHandle@UI_MENU_EXT@@QBEPAUHMENU__@@XZ
-; public: unsigned int __thiscall EVENT::QueryMessage(void)const 
-?QueryMessage@EVENT@@QBEIXZ
-; public: int __thiscall BLT_TIME_SPIN_GROUP::QueryMin(void)const 
-?QueryMin@BLT_TIME_SPIN_GROUP@@QBEHXZ
-; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryMin(void)const 
-?QueryMin@CHANGEABLE_SPIN_ITEM@@QBEKXZ
-; public: unsigned int __thiscall SCROLLBAR::QueryMin(void)const 
-?QueryMin@SCROLLBAR@@QBEIXZ
-; public: int __thiscall WIN_TIME::QueryMinute(void)const 
-?QueryMinute@WIN_TIME@@QBEHXZ
-; public: long __thiscall ELAPSED_TIME_CONTROL::QueryMinuteValue(void)const 
-?QueryMinuteValue@ELAPSED_TIME_CONTROL@@QBEJXZ
-; public: struct HINSTANCE__ * __thiscall ASSOCHCFILE::QueryModule(void)const 
-?QueryModule@ASSOCHCFILE@@QBEPAUHINSTANCE__@@XZ
-; public: int __thiscall BLT_DATE_SPIN_GROUP::QueryMonth(void)const 
-?QueryMonth@BLT_DATE_SPIN_GROUP@@QBEHXZ
-; public: int __thiscall WIN_TIME::QueryMonth(void)const 
-?QueryMonth@WIN_TIME@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::QueryMonthPos(void)const 
-?QueryMonthPos@INTL_PROFILE@@QBEHXZ
-; public: long __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryName(class NLS_STR *)const 
-?QueryName@LSA_PRIMARY_DOM_INFO_MEM@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall LSA_REF_DOMAIN_MEM::QueryName(unsigned long,class NLS_STR *)const 
-?QueryName@LSA_REF_DOMAIN_MEM@@QBEJKPAVNLS_STR@@@Z
-; public: long __thiscall LSA_TRANSLATED_NAME_MEM::QueryName(unsigned long,class NLS_STR *)const 
-?QueryName@LSA_TRANSLATED_NAME_MEM@@QBEJKPAVNLS_STR@@@Z
-; public: long __thiscall LSA_TRUST_INFO_MEM::QueryName(unsigned long,class NLS_STR *)const 
-?QueryName@LSA_TRUST_INFO_MEM@@QBEJKPAVNLS_STR@@@Z
-; public: long __thiscall SAM_RID_ENUMERATION_MEM::QueryName(unsigned long,class NLS_STR *)const 
-?QueryName@SAM_RID_ENUMERATION_MEM@@QBEJKPAVNLS_STR@@@Z
-; public: unsigned short const * __thiscall SERVER1_ENUM_OBJ::QueryName(void)const 
-?QueryName@SERVER1_ENUM_OBJ@@QBEPBGXZ
-; public: unsigned short const * __thiscall UI_DOMAIN::QueryName(void)const 
-?QueryName@UI_DOMAIN@@QBEPBGXZ
-; protected: struct tagOFNW * __thiscall GET_FNAME_BASE_DLG::QueryOFN(void)
-?QueryOFN@GET_FNAME_BASE_DLG@@IAEPAUtagOFNW@@XZ
-; public: class OS_SID const * __thiscall SAM_DOMAIN::QueryOSSID(void)const 
-?QueryOSSID@SAM_DOMAIN@@QBEPBVOS_SID@@XZ
-; public: class OS_SID const * __thiscall USER_BROWSER_LBI::QueryOSSID(void)const 
-?QueryOSSID@USER_BROWSER_LBI@@QBEPBVOS_SID@@XZ
-; protected: virtual long __thiscall CANCEL_TASK_DIALOG::QueryObjectName(class NLS_STR *)
-?QueryObjectName@CANCEL_TASK_DIALOG@@MAEJPAVNLS_STR@@@Z
-; public: class NLS_STR  __thiscall BASE_ELLIPSIS::QueryOriginalStr(void)const 
-?QueryOriginalStr@BASE_ELLIPSIS@@QBE?AVNLS_STR@@XZ
-; public: struct HWND__ * __thiscall WINDOW::QueryOwnerHwnd(void)const 
-?QueryOwnerHwnd@WINDOW@@QBEPAUHWND__@@XZ
-; public: class OWNER_WINDOW * __thiscall SET_OF_AUDIT_CATEGORIES::QueryOwnerWindow(void)
-?QueryOwnerWindow@SET_OF_AUDIT_CATEGORIES@@QAEPAVOWNER_WINDOW@@XZ
-; public: unsigned short const * __thiscall UI_DOMAIN::QueryPDC(void)const 
-?QueryPDC@UI_DOMAIN@@QBEPBGXZ
-; public: void * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryPSID(void)const 
-?QueryPSID@LSA_ACCT_DOM_INFO_MEM@@QBEPAXXZ
-; public: void * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryPSID(void)const 
-?QueryPSID@LSA_PRIMARY_DOM_INFO_MEM@@QBEPAXXZ
-; public: void * __thiscall LSA_REF_DOMAIN_MEM::QueryPSID(unsigned long)const 
-?QueryPSID@LSA_REF_DOMAIN_MEM@@QBEPAXK@Z
-; public: void * __thiscall LSA_TRUST_INFO_MEM::QueryPSID(unsigned long)const 
-?QueryPSID@LSA_TRUST_INFO_MEM@@QBEPAXK@Z
-; public: void * __thiscall OS_SID::QueryPSID(void)const 
-?QueryPSID@OS_SID@@QBEPAXXZ
-; public: void * __thiscall SAM_DOMAIN::QueryPSID(void)const 
-?QueryPSID@SAM_DOMAIN@@QBEPAXXZ
-; public: void * __thiscall USER_BROWSER_LBI::QueryPSID(void)const 
-?QueryPSID@USER_BROWSER_LBI@@QBEQAXXZ
-; protected: int __thiscall HEAP_BASE::QueryParent(int)const 
-?QueryParent@HEAP_BASE@@IBEHH@Z
-; public: long __thiscall BASE_PASSWORD_DIALOG::QueryPassword(class NLS_STR *)
-?QueryPassword@BASE_PASSWORD_DIALOG@@QAEJPAVNLS_STR@@@Z
-; public: unsigned short const * __thiscall OPEN_LBI_BASE::QueryPath(void)const 
-?QueryPath@OPEN_LBI_BASE@@QBEPBGXZ
-; public: unsigned short const * __thiscall NLS_STR::QueryPch(void)const 
-?QueryPch@NLS_STR@@QBEPBGXZ
-; public: unsigned short const * __thiscall STR_DTE::QueryPch(void)const 
-?QueryPch@STR_DTE@@QBEPBGXZ
-; public: unsigned long __thiscall OPEN_LBI_BASE::QueryPermissions(void)const 
-?QueryPermissions@OPEN_LBI_BASE@@QBEKXZ
-; public: struct tagPOINT  __thiscall XYPOINT::QueryPoint(void)const 
-?QueryPoint@XYPOINT@@QBE?AUtagPOINT@@XZ
-; public: static class XYPOINT  __stdcall CURSOR::QueryPos(void)
-?QueryPos@CURSOR@@SG?AVXYPOINT@@XZ
-; public: class XYPOINT  __thiscall MOUSE_EVENT::QueryPos(void)const 
-?QueryPos@MOUSE_EVENT@@QBE?AVXYPOINT@@XZ
-; public: unsigned int __thiscall SCROLLBAR::QueryPos(void)const 
-?QueryPos@SCROLLBAR@@QBEIXZ
-; public: class XYPOINT  __thiscall SPIN_GROUP::QueryPos(void)
-?QueryPos@SPIN_GROUP@@QAE?AVXYPOINT@@XZ
-; public: class XYPOINT  __thiscall WINDOW::QueryPos(void)const 
-?QueryPos@WINDOW@@QBE?AVXYPOINT@@XZ
-; public: int __thiscall WIN32_THREAD::QueryPriority(void)
-?QueryPriority@WIN32_THREAD@@QAEHXZ
-; public: unsigned long __thiscall PROC_INSTANCE::QueryProc(void)const 
-?QueryProc@PROC_INSTANCE@@QBEKXZ
-; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::QueryProp(void)
-?QueryProp@ITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
-; public: class USER_BROWSER_LBI * __thiscall ITER_SL_USER_BROWSER_LBI::QueryProp(void)
-?QueryProp@ITER_SL_USER_BROWSER_LBI@@QAEPAVUSER_BROWSER_LBI@@XZ
-; public: unsigned short const * __thiscall IDRESOURCE::QueryPsz(void)const 
-?QueryPsz@IDRESOURCE@@QBEPBGXZ
-; public: unsigned char * __thiscall BLT_SCRATCH::QueryPtr(void)const 
-?QueryPtr@BLT_SCRATCH@@QBEPAEXZ
-; public: struct _POLICY_ACCOUNT_DOMAIN_INFO const * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_ACCT_DOM_INFO_MEM@@QBEPBU_POLICY_ACCOUNT_DOMAIN_INFO@@XZ
-; public: struct _POLICY_PRIMARY_DOMAIN_INFO const * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_PRIMARY_DOM_INFO_MEM@@QBEPBU_POLICY_PRIMARY_DOMAIN_INFO@@XZ
-; private: struct _LSA_TRUST_INFORMATION const * __thiscall LSA_REF_DOMAIN_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_REF_DOMAIN_MEM@@ABEPBU_LSA_TRUST_INFORMATION@@XZ
-; private: struct _LSA_TRANSLATED_NAME const * __thiscall LSA_TRANSLATED_NAME_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_TRANSLATED_NAME_MEM@@ABEPBU_LSA_TRANSLATED_NAME@@XZ
-; private: struct _LSA_TRANSLATED_SID const * __thiscall LSA_TRANSLATED_SID_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_TRANSLATED_SID_MEM@@ABEPBU_LSA_TRANSLATED_SID@@XZ
-; public: struct _LSA_TRUST_INFORMATION const * __thiscall LSA_TRUST_INFO_MEM::QueryPtr(void)const 
-?QueryPtr@LSA_TRUST_INFO_MEM@@QBEPBU_LSA_TRUST_INFORMATION@@XZ
-; public: struct _SAM_RID_ENUMERATION const * __thiscall SAM_RID_ENUMERATION_MEM::QueryPtr(void)const 
-?QueryPtr@SAM_RID_ENUMERATION_MEM@@QBEPBU_SAM_RID_ENUMERATION@@XZ
-; private: unsigned long const * __thiscall SAM_RID_MEM::QueryPtr(void)const 
-?QueryPtr@SAM_RID_MEM@@ABEPBKXZ
-; public: void * * __thiscall SAM_SID_MEM::QueryPtr(void)const 
-?QueryPtr@SAM_SID_MEM@@QBEPAPAXXZ
-; public: long __thiscall BROWSER_SUBJECT::QueryQualifiedName(class NLS_STR *,class NLS_STR const *,int)const 
-?QueryQualifiedName@BROWSER_SUBJECT@@QBEJPAVNLS_STR@@PBV2@H@Z
-; public: unsigned int __thiscall CONTROLVAL_CID_PAIR::QueryRBCID(void)const 
-?QueryRBCID@CONTROLVAL_CID_PAIR@@QBEIXZ
-; public: unsigned long __thiscall LSA_TRANSLATED_SID_MEM::QueryRID(unsigned long)const 
-?QueryRID@LSA_TRANSLATED_SID_MEM@@QBEKK@Z
-; public: unsigned int __thiscall NT_GROUP_ENUM_OBJ::QueryRID(void)const 
-?QueryRID@NT_GROUP_ENUM_OBJ@@QBEIXZ
-; public: unsigned long __thiscall SAM_RID_ENUMERATION_MEM::QueryRID(unsigned long)const 
-?QueryRID@SAM_RID_ENUMERATION_MEM@@QBEKK@Z
-; public: unsigned long __thiscall SAM_RID_MEM::QueryRID(unsigned long)const 
-?QueryRID@SAM_RID_MEM@@QBEKK@Z
-; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryRange(void)const 
-?QueryRange@CHANGEABLE_SPIN_ITEM@@QBEKXZ
-; protected: class PUSH_BUTTON * __thiscall SLE_STRLB_GROUP::QueryRemoveButton(void)const 
-?QueryRemoveButton@SLE_STRLB_GROUP@@IBEPAVPUSH_BUTTON@@XZ
-; public: unsigned int __thiscall KEY_EVENT::QueryRepeat(void)const 
-?QueryRepeat@KEY_EVENT@@QBEIXZ
-; public: int __thiscall XYRECT::QueryRight(void)const 
-?QueryRight@XYRECT@@QBEHXZ
-; protected: int __thiscall HEAP_BASE::QueryRightSibling(int)const 
-?QueryRightSibling@HEAP_BASE@@IBEHH@Z
-; public: virtual struct HWND__ * __thiscall CLIENT_WINDOW::QueryRobustHwnd(void)const 
-?QueryRobustHwnd@CLIENT_WINDOW@@UBEPAUHWND__@@XZ
-; public: virtual struct HWND__ * __thiscall DIALOG_WINDOW::QueryRobustHwnd(void)const 
-?QueryRobustHwnd@DIALOG_WINDOW@@UBEPAUHWND__@@XZ
-; public: virtual struct HWND__ * __thiscall DISPATCHER::QueryRobustHwnd(void)const 
-?QueryRobustHwnd@DISPATCHER@@UBEPAUHWND__@@XZ
-; public: unsigned int __thiscall SET_OF_AUDIT_CATEGORIES::QuerySLTBaseCID(void)
-?QuerySLTBaseCID@SET_OF_AUDIT_CATEGORIES@@QAEIXZ
-; public: unsigned int __thiscall LISTBOX::QueryScrollPos(void)const 
-?QueryScrollPos@LISTBOX@@QBEIXZ
-; public: int __thiscall BLT_TIME_SPIN_GROUP::QuerySec(void)const 
-?QuerySec@BLT_TIME_SPIN_GROUP@@QBEHXZ
-; public: int __thiscall WIN_TIME::QuerySecond(void)const 
-?QuerySecond@WIN_TIME@@QBEHXZ
-; public: long __thiscall ELAPSED_TIME_CONTROL::QuerySecondValue(void)const 
-?QuerySecondValue@ELAPSED_TIME_CONTROL@@QBEJXZ
-; public: int __thiscall LIST_CONTROL::QuerySelCount(void)const 
-?QuerySelCount@LIST_CONTROL@@QBEHXZ
-; public: long __thiscall LIST_CONTROL::QuerySelItems(int *,int)const 
-?QuerySelItems@LIST_CONTROL@@QBEJPAHH@Z
-; public: int __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::QuerySelected(void)const 
-?QuerySelected@GRAPHICAL_BUTTON_WITH_DISABLE@@QBEHXZ
-; public: unsigned int __thiscall MAGIC_GROUP::QuerySelection(void)const 
-?QuerySelection@MAGIC_GROUP@@QBEIXZ
-; public: unsigned int __thiscall RADIO_GROUP::QuerySelection(void)const 
-?QuerySelection@RADIO_GROUP@@QBEIXZ
-; public: class SLIST_OF_USER_BROWSER_LBI * __thiscall NT_USER_BROWSER_DIALOG::QuerySelectionCache(void)
-?QuerySelectionCache@NT_USER_BROWSER_DIALOG@@QAEPAVSLIST_OF_USER_BROWSER_LBI@@XZ
-; public: class SLIST_OF_USER_BROWSER_LBI * __thiscall NT_USER_BROWSER_DIALOG::QuerySelectionList(void)
-?QuerySelectionList@NT_USER_BROWSER_DIALOG@@QAEPAVSLIST_OF_USER_BROWSER_LBI@@XZ
-; public: unsigned short const * __thiscall ADMIN_AUTHORITY::QueryServer(void)const 
-?QueryServer@ADMIN_AUTHORITY@@QBEPBGXZ
-; public: unsigned short const * __thiscall OLLB_ENTRY::QueryServer(void)const 
-?QueryServer@OLLB_ENTRY@@QBEPBGXZ
-; public: unsigned short const * __thiscall OPEN_DIALOG_BASE::QueryServer(void)const 
-?QueryServer@OPEN_DIALOG_BASE@@QBEPBGXZ
-; public: unsigned short const * __thiscall NT_USER_BROWSER_DIALOG::QueryServerResourceLivesOn(void)const 
-?QueryServerResourceLivesOn@NT_USER_BROWSER_DIALOG@@QBEPBGXZ
-; public: class OS_SID const * __thiscall BROWSER_SUBJECT::QuerySid(void)const 
-?QuerySid@BROWSER_SUBJECT@@QBEPBVOS_SID@@XZ
-; public: void * __thiscall OS_SID::QuerySid(void)const 
-?QuerySid@OS_SID@@QBEPAXXZ
-; public: unsigned int __thiscall BLT_LISTBOX::QuerySingleLineHeight(void)
-?QuerySingleLineHeight@BLT_LISTBOX@@QAEIXZ
-; public: unsigned int __thiscall BLT_SCRATCH::QuerySize(void)const 
-?QuerySize@BLT_SCRATCH@@QBEIXZ
-; public: class XYDIMENSION  __thiscall SPIN_GROUP::QuerySize(void)
-?QuerySize@SPIN_GROUP@@QAE?AVXYDIMENSION@@XZ
-; public: class XYDIMENSION  __thiscall WINDOW::QuerySize(void)const 
-?QuerySize@WINDOW@@QBE?AVXYDIMENSION@@XZ
-; public: void __thiscall WINDOW::QuerySize(int *,int *)const 
-?QuerySize@WINDOW@@QBEXPAH0@Z
-; public: virtual unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QuerySmallDecValue(void)const 
-?QuerySmallDecValue@CHANGEABLE_SPIN_ITEM@@UBEKXZ
-; public: virtual unsigned long __thiscall SPIN_SLE_VALID_SECOND::QuerySmallDecValue(void)const 
-?QuerySmallDecValue@SPIN_SLE_VALID_SECOND@@UBEKXZ
-; public: virtual unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QuerySmallIncValue(void)const 
-?QuerySmallIncValue@CHANGEABLE_SPIN_ITEM@@UBEKXZ
-; public: virtual unsigned long __thiscall SPIN_SLE_VALID_SECOND::QuerySmallIncValue(void)const 
-?QuerySmallIncValue@SPIN_SLE_VALID_SECOND@@UBEKXZ
-; protected: class NT_GROUP_BROWSER_DIALOG * __thiscall NT_GROUP_BROWSER_DIALOG::QuerySourceDialog(void)
-?QuerySourceDialog@NT_GROUP_BROWSER_DIALOG@@IAEPAV1@XZ
-; public: class USER_BROWSER_LB * __thiscall NT_FIND_ACCOUNT_DIALOG::QuerySourceListbox(void)
-?QuerySourceListbox@NT_FIND_ACCOUNT_DIALOG@@QAEPAVUSER_BROWSER_LB@@XZ
-; public: class USER_BROWSER_LB * __thiscall NT_GROUP_BROWSER_DIALOG::QuerySourceListbox(void)
-?QuerySourceListbox@NT_GROUP_BROWSER_DIALOG@@QAEPAVUSER_BROWSER_LB@@XZ
-; protected: unsigned int __thiscall STATE_BUTTON_CONTROL::QueryState(void)const 
-?QueryState@STATE_BUTTON_CONTROL@@IBEIXZ
-; public: int __thiscall STLBITEM::QueryState(void)const 
-?QueryState@STLBITEM@@QBEHXZ
-; private: enum _THREAD_STATE  __thiscall WIN32_THREAD::QueryState(void)const 
-?QueryState@WIN32_THREAD@@ABE?AW4_THREAD_STATE@@XZ
-; protected: static unsigned short const * __stdcall CONTROL_WINDOW::QueryStaticClassName(void)
-?QueryStaticClassName@CONTROL_WINDOW@@KGPBGXZ
-; public: class STRING_LISTBOX * __thiscall SLE_STRLB_GROUP::QueryStrLB(void)const 
-?QueryStrLB@SLE_STRLB_GROUP@@QBEPAVSTRING_LISTBOX@@XZ
-; protected: virtual int __thiscall CONSOLE_ELLIPSIS::QueryStrLen(unsigned short const *,int)
-?QueryStrLen@CONSOLE_ELLIPSIS@@MAEHPBGH@Z
-; protected: virtual int __thiscall CONSOLE_ELLIPSIS::QueryStrLen(class NLS_STR)
-?QueryStrLen@CONSOLE_ELLIPSIS@@MAEHVNLS_STR@@@Z
-; protected: virtual int __thiscall WIN_ELLIPSIS::QueryStrLen(unsigned short const *,int)
-?QueryStrLen@WIN_ELLIPSIS@@MAEHPBGH@Z
-; protected: virtual int __thiscall WIN_ELLIPSIS::QueryStrLen(class NLS_STR)
-?QueryStrLen@WIN_ELLIPSIS@@MAEHVNLS_STR@@@Z
-; private: long __thiscall SPIN_SLE_STR::QueryStrNum(class NLS_STR const &,long)
-?QueryStrNum@SPIN_SLE_STR@@AAEJABVNLS_STR@@J@Z
-; public: long __thiscall ATOM_BASE::QueryString(unsigned short *,unsigned int)const 
-?QueryString@ATOM_BASE@@QBEJPAGI@Z
-; public: class NLS_STR * __thiscall STRING_BITSET_PAIR::QueryString(void)
-?QueryString@STRING_BITSET_PAIR@@QAEPAVNLS_STR@@XZ
-; public: enum ELLIPSIS_STYLE  __thiscall BASE_ELLIPSIS::QueryStyle(void)const 
-?QueryStyle@BASE_ELLIPSIS@@QBE?AW4ELLIPSIS_STYLE@@XZ
-; public: unsigned long __thiscall WINDOW::QueryStyle(void)const 
-?QueryStyle@WINDOW@@QBEKXZ
-; public: struct HMENU__ * __thiscall MENU_BASE::QuerySubMenu(int)const 
-?QuerySubMenu@MENU_BASE@@QBEPAUHMENU__@@H@Z
-; public: unsigned int __thiscall SET_OF_AUDIT_CATEGORIES::QuerySuccessBaseCID(void)
-?QuerySuccessBaseCID@SET_OF_AUDIT_CATEGORIES@@QAEIXZ
-; protected: unsigned long __thiscall BASE_SET_FOCUS_DLG::QuerySuppliedHelpContext(void)
-?QuerySuppliedHelpContext@BASE_SET_FOCUS_DLG@@IAEKXZ
-; protected: unsigned short const * __thiscall BASE_SET_FOCUS_DLG::QuerySuppliedHelpFile(void)
-?QuerySuppliedHelpFile@BASE_SET_FOCUS_DLG@@IAEPBGXZ
-; public: long __thiscall BASE_ELLIPSIS::QueryText(unsigned short *,unsigned int)const 
-?QueryText@BASE_ELLIPSIS@@QBEJPAGI@Z
-; public: long __thiscall BASE_ELLIPSIS::QueryText(class NLS_STR *)const 
-?QueryText@BASE_ELLIPSIS@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall SLE_STRIP::QueryText(unsigned short *,unsigned int,unsigned short const *,unsigned short const *)const 
-?QueryText@SLE_STRIP@@QBEJPAGIPBG1@Z
-; public: long __thiscall SLE_STRIP::QueryText(class NLS_STR *,unsigned short const *,unsigned short const *)const 
-?QueryText@SLE_STRIP@@QBEJPAVNLS_STR@@PBG1@Z
-; public: long __thiscall SLT_ELLIPSIS::QueryText(unsigned short *,unsigned int)const 
-?QueryText@SLT_ELLIPSIS@@QBEJPAGI@Z
-; public: long __thiscall SLT_ELLIPSIS::QueryText(class NLS_STR *)const 
-?QueryText@SLT_ELLIPSIS@@QBEJPAVNLS_STR@@@Z
-; public: long __thiscall WINDOW::QueryText(unsigned short *,unsigned int)const 
-?QueryText@WINDOW@@QBEJPAGI@Z
-; public: long __thiscall WINDOW::QueryText(class NLS_STR *)const 
-?QueryText@WINDOW@@QBEJPAVNLS_STR@@@Z
-; public: class XYDIMENSION  __thiscall DEVICE_CONTEXT::QueryTextExtent(class NLS_STR const &)const 
-?QueryTextExtent@DEVICE_CONTEXT@@QBE?AVXYDIMENSION@@ABVNLS_STR@@@Z
-; public: class XYDIMENSION  __thiscall DEVICE_CONTEXT::QueryTextExtent(unsigned short const *,unsigned int)const 
-?QueryTextExtent@DEVICE_CONTEXT@@QBE?AVXYDIMENSION@@PBGI@Z
-; public: int __thiscall BASE_ELLIPSIS::QueryTextLength(void)const 
-?QueryTextLength@BASE_ELLIPSIS@@QBEHXZ
-; public: unsigned int __thiscall NLS_STR::QueryTextLength(void)const 
-?QueryTextLength@NLS_STR@@QBEIXZ
-; public: int __thiscall WINDOW::QueryTextLength(void)const 
-?QueryTextLength@WINDOW@@QBEHXZ
-; public: int __thiscall DEVICE_CONTEXT::QueryTextMetrics(struct tagTEXTMETRICW *)const 
-?QueryTextMetrics@DEVICE_CONTEXT@@QBEHPAUtagTEXTMETRICW@@@Z
-; public: int __thiscall BASE_ELLIPSIS::QueryTextSize(void)const 
-?QueryTextSize@BASE_ELLIPSIS@@QBEHXZ
-; public: int __thiscall WINDOW::QueryTextSize(void)const 
-?QueryTextSize@WINDOW@@QBEHXZ
-; public: int __thiscall DISPLAY_CONTEXT::QueryTextWidth(class NLS_STR const &)const 
-?QueryTextWidth@DISPLAY_CONTEXT@@QBEHABVNLS_STR@@@Z
-; public: int __thiscall DISPLAY_CONTEXT::QueryTextWidth(unsigned short const *,unsigned int)const 
-?QueryTextWidth@DISPLAY_CONTEXT@@QBEHPBGI@Z
-; public: int __thiscall XYRECT::QueryTop(void)const 
-?QueryTop@XYRECT@@QBEHXZ
-; public: int __thiscall LIST_CONTROL::QueryTopIndex(void)const 
-?QueryTopIndex@LIST_CONTROL@@QBEHXZ
-; public: enum _SID_NAME_USE  __thiscall BROWSER_SUBJECT::QueryType(void)const 
-?QueryType@BROWSER_SUBJECT@@QBE?AW4_SID_NAME_USE@@XZ
-; public: enum OUTLINE_LB_LEVEL  __thiscall OLLB_ENTRY::QueryType(void)const 
-?QueryType@OLLB_ENTRY@@QBE?AW4OUTLINE_LB_LEVEL@@XZ
-; public: enum _SID_NAME_USE  __thiscall USER_BROWSER_LBI::QueryType(void)const 
-?QueryType@USER_BROWSER_LBI@@QBE?AW4_SID_NAME_USE@@XZ
-; public: enum UI_SystemSid  __thiscall USER_BROWSER_LBI::QueryUISysSid(void)const 
-?QueryUISysSid@USER_BROWSER_LBI@@QBE?AW4UI_SystemSid@@XZ
-; protected: struct _ULC_ENTRY * __thiscall USER_LBI_CACHE::QueryULCEntryPtr(int)
-?QueryULCEntryPtr@USER_LBI_CACHE@@IAEPAU_ULC_ENTRY@@H@Z
-; protected: int __thiscall USER_LBI_CACHE::QueryULCEntrySize(void)
-?QueryULCEntrySize@USER_LBI_CACHE@@IAEHXZ
-; public: struct _UNICODE_STRING const * __thiscall NT_GROUP_ENUM_OBJ::QueryUnicodeComment(void)const 
-?QueryUnicodeComment@NT_GROUP_ENUM_OBJ@@QBEPBU_UNICODE_STRING@@XZ
-; public: struct _UNICODE_STRING const * __thiscall NT_GROUP_ENUM_OBJ::QueryUnicodeGroup(void)const 
-?QueryUnicodeGroup@NT_GROUP_ENUM_OBJ@@QBEPBU_UNICODE_STRING@@XZ
-; public: struct _UNICODE_STRING const * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryUnicodeName(void)const 
-?QueryUnicodeName@LSA_PRIMARY_DOM_INFO_MEM@@QBEPBU_UNICODE_STRING@@XZ
-; private: struct _UNICODE_STRING const * __thiscall LSA_REF_DOMAIN_MEM::QueryUnicodeName(unsigned long)const 
-?QueryUnicodeName@LSA_REF_DOMAIN_MEM@@ABEPBU_UNICODE_STRING@@K@Z
-; private: struct _UNICODE_STRING const * __thiscall LSA_TRANSLATED_NAME_MEM::QueryUnicodeName(unsigned long)const 
-?QueryUnicodeName@LSA_TRANSLATED_NAME_MEM@@ABEPBU_UNICODE_STRING@@K@Z
-; public: struct _UNICODE_STRING const * __thiscall LSA_TRUST_INFO_MEM::QueryUnicodeName(unsigned long)const 
-?QueryUnicodeName@LSA_TRUST_INFO_MEM@@QBEPBU_UNICODE_STRING@@K@Z
-; public: struct _UNICODE_STRING const * __thiscall SAM_RID_ENUMERATION_MEM::QueryUnicodeName(unsigned long)const 
-?QueryUnicodeName@SAM_RID_ENUMERATION_MEM@@QBEPBU_UNICODE_STRING@@K@Z
-; public: enum _SID_NAME_USE  __thiscall LSA_TRANSLATED_NAME_MEM::QueryUse(unsigned long)const 
-?QueryUse@LSA_TRANSLATED_NAME_MEM@@QBE?AW4_SID_NAME_USE@@K@Z
-; public: enum _SID_NAME_USE  __thiscall LSA_TRANSLATED_SID_MEM::QueryUse(unsigned long)const 
-?QueryUse@LSA_TRANSLATED_SID_MEM@@QBE?AW4_SID_NAME_USE@@K@Z
-; public: unsigned long __thiscall USER_BROWSER_LBI::QueryUserAccountFlags(void)const 
-?QueryUserAccountFlags@USER_BROWSER_LBI@@QBEKXZ
-; protected: class NT_USER_BROWSER_DIALOG * __thiscall NT_GROUP_BROWSER_DIALOG::QueryUserBrowserDialog(void)
-?QueryUserBrowserDialog@NT_GROUP_BROWSER_DIALOG@@IAEPAVNT_USER_BROWSER_DIALOG@@XZ
-; public: unsigned short const * __thiscall OPEN_LBI_BASE::QueryUserName(void)const 
-?QueryUserName@OPEN_LBI_BASE@@QBEPBGXZ
-; public: long __thiscall SET_OF_AUDIT_CATEGORIES::QueryUserSelectedBits(class BITFIELD *,class BITFIELD *)
-?QueryUserSelectedBits@SET_OF_AUDIT_CATEGORIES@@QAEJPAVBITFIELD@@0@Z
-; public: unsigned int __thiscall VKEY_EVENT::QueryVKey(void)const 
-?QueryVKey@VKEY_EVENT@@QBEIXZ
-; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryValue(void)const 
-?QueryValue@CHANGEABLE_SPIN_ITEM@@QBEKXZ
-; public: static unsigned int __stdcall METALLIC_STR_DTE::QueryVerticalMargins(void)
-?QueryVerticalMargins@METALLIC_STR_DTE@@SGIXZ
-; public: unsigned int __thiscall EVENT::QueryWParam(void)const 
-?QueryWParam@EVENT@@QBEIXZ
-; public: static unsigned short const * __stdcall SLE_STRIP::QueryWhiteSpace(void)
-?QueryWhiteSpace@SLE_STRIP@@SGPBGXZ
-; public: unsigned int __thiscall BIT_MAP::QueryWidth(void)const 
-?QueryWidth@BIT_MAP@@QBEIXZ
-; public: unsigned int __thiscall DISPLAY_MAP::QueryWidth(void)const 
-?QueryWidth@DISPLAY_MAP@@QBEIXZ
-; public: unsigned int __thiscall SIZE_EVENT::QueryWidth(void)const 
-?QueryWidth@SIZE_EVENT@@QBEIXZ
-; public: unsigned int __thiscall XYDIMENSION::QueryWidth(void)const 
-?QueryWidth@XYDIMENSION@@QBEIXZ
-; public: void __thiscall WINDOW::QueryWindowRect(struct tagRECT *)const 
-?QueryWindowRect@WINDOW@@QBEXPAUtagRECT@@@Z
-; public: void __thiscall WINDOW::QueryWindowRect(class XYRECT *)const 
-?QueryWindowRect@WINDOW@@QBEXPAVXYRECT@@@Z
-; public: int __thiscall CHANGEABLE_SPIN_ITEM::QueryWrap(void)const 
-?QueryWrap@CHANGEABLE_SPIN_ITEM@@QBEHXZ
-; public: int __thiscall XYPOINT::QueryX(void)const 
-?QueryX@XYPOINT@@QBEHXZ
-; public: unsigned int __thiscall LOGON_HOURS_CONTROL::QueryXForRow(int)
-?QueryXForRow@LOGON_HOURS_CONTROL@@QAEIH@Z
-; public: int __thiscall XYPOINT::QueryY(void)const 
-?QueryY@XYPOINT@@QBEHXZ
-; public: int __thiscall BLT_DATE_SPIN_GROUP::QueryYear(void)const 
-?QueryYear@BLT_DATE_SPIN_GROUP@@QBEHXZ
-; public: int __thiscall WIN_TIME::QueryYear(void)const 
-?QueryYear@WIN_TIME@@QBEHXZ
-; public: int __thiscall INTL_PROFILE::QueryYearPos(void)const 
-?QueryYearPos@INTL_PROFILE@@QBEHXZ
-; protected: virtual enum FOCUS_CACHE_SETTING  __thiscall BASE_SET_FOCUS_DLG::ReadFocusCache(unsigned short const *)const 
-?ReadFocusCache@BASE_SET_FOCUS_DLG@@MBE?AW4FOCUS_CACHE_SETTING@@PBG@Z
-; public: long __thiscall USER_LBI_CACHE::ReadUsers(class ADMIN_AUTHORITY *,unsigned int,unsigned int,int,int *)
-?ReadUsers@USER_LBI_CACHE@@QAEJPAVADMIN_AUTHORITY@@IIHPAH@Z
-; public: long __thiscall DEVICE_COMBO::Refresh(void)
-?Refresh@DEVICE_COMBO@@QAEJXZ
-; protected: void __thiscall OPEN_DIALOG_BASE::Refresh(void)
-?Refresh@OPEN_DIALOG_BASE@@IAEXXZ
-; public: long __thiscall OPEN_LBOX_BASE::Refresh(void)
-?Refresh@OPEN_LBOX_BASE@@QAEJXZ
-; protected: virtual void __thiscall HIER_LISTBOX::RefreshChildren(class HIER_LBI *)
-?RefreshChildren@HIER_LISTBOX@@MAEXPAVHIER_LBI@@@Z
-; public: virtual void __thiscall UI_EXT_MGR::RefreshExtensions(struct HWND__ *)
-?RefreshExtensions@UI_EXT_MGR@@UAEXPAUHWND__@@@Z
-; public: static long __stdcall BLT::RegisterHelpFile(struct HINSTANCE__ *,long,unsigned long,unsigned long)
-?RegisterHelpFile@BLT@@SGJPAUHINSTANCE__@@JKK@Z
-; public: long __thiscall WIN32_MUTEX::Release(void)
-?Release@WIN32_MUTEX@@QAEJXZ
-; public: long __thiscall WIN32_SEMAPHORE::Release(long,long *)
-?Release@WIN32_SEMAPHORE@@QAEJJPAJ@Z
-; private: virtual void __thiscall BLT_LISTBOX::ReleaseLBI(class LBI *)
-?ReleaseLBI@BLT_LISTBOX@@EAEXPAVLBI@@@Z
-; private: virtual void __thiscall LAZY_LISTBOX::ReleaseLBI(class LBI *)
-?ReleaseLBI@LAZY_LISTBOX@@EAEXPAVLBI@@@Z
-; public: void __thiscall CLIENT_WINDOW::ReleaseMouse(void)
-?ReleaseMouse@CLIENT_WINDOW@@QAEXXZ
-; public: void __thiscall DISPATCHER::ReleaseMouse(void)
-?ReleaseMouse@DISPATCHER@@QAEXXZ
-; public: virtual long __thiscall LB_COL_WIDTHS::ReloadColumnWidths(struct HWND__ *,struct HINSTANCE__ *,class IDRESOURCE const &)
-?ReloadColumnWidths@LB_COL_WIDTHS@@UAEJPAUHWND__@@PAUHINSTANCE__@@ABVIDRESOURCE@@@Z
-; public: int __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::Remove(class CONTROLVAL_CID_PAIR const &)
-?Remove@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAEHABVCONTROLVAL_CID_PAIR@@@Z
-; public: static void __stdcall HWND_DLGPTR_CACHE::Remove(struct HWND__ *)
-?Remove@HWND_DLGPTR_CACHE@@SGXPAUHWND__@@@Z
-; public: long __thiscall MENU_BASE::Remove(unsigned int,unsigned int)const 
-?Remove@MENU_BASE@@QBEJII@Z
-; public: class ASSOCHCFILE * __thiscall SLIST_OF_ASSOCHCFILE::Remove(class ITER_SL_ASSOCHCFILE &)
-?Remove@SLIST_OF_ASSOCHCFILE@@QAEPAVASSOCHCFILE@@AAVITER_SL_ASSOCHCFILE@@@Z
-; public: struct CLIENTDATA * __thiscall SLIST_OF_CLIENTDATA::Remove(class ITER_SL_CLIENTDATA &)
-?Remove@SLIST_OF_CLIENTDATA@@QAEPAUCLIENTDATA@@AAVITER_SL_CLIENTDATA@@@Z
-; public: class NLS_STR * __thiscall SLIST_OF_NLS_STR::Remove(class ITER_SL_NLS_STR &)
-?Remove@SLIST_OF_NLS_STR@@QAEPAVNLS_STR@@AAVITER_SL_NLS_STR@@@Z
-; public: class TIMER_BASE * __thiscall SLIST_OF_TIMER_BASE::Remove(class ITER_SL_TIMER_BASE &)
-?Remove@SLIST_OF_TIMER_BASE@@QAEPAVTIMER_BASE@@AAVITER_SL_TIMER_BASE@@@Z
-; public: class USER_BROWSER_LBI * __thiscall SLIST_OF_USER_BROWSER_LBI::Remove(class ITER_SL_USER_BROWSER_LBI &)
-?Remove@SLIST_OF_USER_BROWSER_LBI@@QAEPAVUSER_BROWSER_LBI@@AAVITER_SL_USER_BROWSER_LBI@@@Z
-; public: void __thiscall BLT_LISTBOX::RemoveAllItems(void)
-?RemoveAllItems@BLT_LISTBOX@@QAEXXZ
-; public: static void __stdcall BLTIMP::RemoveClient(struct HINSTANCE__ *)
-?RemoveClient@BLTIMP@@SGXPAUHINSTANCE__@@@Z
-; public: int __thiscall CONTROL_TABLE::RemoveControl(class CONTROL_WINDOW *)
-?RemoveControl@CONTROL_TABLE@@QAEHPAVCONTROL_WINDOW@@@Z
-; protected: void __thiscall ACCOUNT_NAMES_MLE::RemoveDuplicateAccountNames(class STRLIST *)
-?RemoveDuplicateAccountNames@ACCOUNT_NAMES_MLE@@IAEXPAVSTRLIST@@@Z
-; public: static void __stdcall BLTIMP::RemoveHelpAssoc(struct HINSTANCE__ *,unsigned long)
-?RemoveHelpAssoc@BLTIMP@@SGXPAUHINSTANCE__@@K@Z
-; public: class LBI * __thiscall BLT_LISTBOX::RemoveItem(int)
-?RemoveItem@BLT_LISTBOX@@QAEPAVLBI@@H@Z
-; public: class LBI * __thiscall USER_BROWSER_LB::RemoveItem(int)
-?RemoveItem@USER_BROWSER_LB@@QAEPAVLBI@@H@Z
-; public: virtual class LBI * __thiscall USER_BROWSER_LBI_CACHE::RemoveItem(int)
-?RemoveItem@USER_BROWSER_LBI_CACHE@@UAEPAVLBI@@H@Z
-; public: virtual class LBI * __thiscall USER_LBI_CACHE::RemoveItem(int)
-?RemoveItem@USER_LBI_CACHE@@UAEPAVLBI@@H@Z
-; public: void __thiscall LIST_CONTROL::RemoveSelection(void)
-?RemoveSelection@LIST_CONTROL@@QAEXXZ
-; public: void __thiscall BLT_MASTER_TIMER::RemoveTimer(class TIMER_BASE *)
-?RemoveTimer@BLT_MASTER_TIMER@@QAEXPAVTIMER_BASE@@@Z
-; public: class LBI * __thiscall LBI_HEAP::RemoveTopItem(void)
-?RemoveTopItem@LBI_HEAP@@QAEPAVLBI@@XZ
-; public: void __thiscall WINDOW::RepaintNow(void)
-?RepaintNow@WINDOW@@QAEXXZ
-; protected: long __thiscall ACCOUNT_NAMES_MLE::ReplaceDomainIfBuiltIn(class NLS_STR *,int *)
-?ReplaceDomainIfBuiltIn@ACCOUNT_NAMES_MLE@@IAEJPAVNLS_STR@@PAH@Z
-; public: long __thiscall BLT_LISTBOX::ReplaceItem(int,class LBI *,class LBI * *)
-?ReplaceItem@BLT_LISTBOX@@QAEJHPAVLBI@@PAPAV2@@Z
-; protected: void __thiscall BASE::ReportError(long)
-?ReportError@BASE@@IAEXJ@Z
-; protected: void __thiscall CONTROL_TABLE::ReportError(void)
-?ReportError@CONTROL_TABLE@@IAEXXZ
-; protected: void __thiscall CONTROL_WINDOW::ReportError(long)
-?ReportError@CONTROL_WINDOW@@IAEXJ@Z
-; protected: void __thiscall FORWARDING_BASE::ReportError(long)
-?ReportError@FORWARDING_BASE@@IAEXJ@Z
-; protected: void __thiscall SLT_ELLIPSIS::ReportError(long)
-?ReportError@SLT_ELLIPSIS@@IAEXJ@Z
-; public: long __thiscall BROWSER_DOMAIN::RequestAccountData(void)
-?RequestAccountData@BROWSER_DOMAIN@@QAEJXZ
-; public: long __thiscall DOMAIN_FILL_THREAD::RequestAccountData(void)
-?RequestAccountData@DOMAIN_FILL_THREAD@@QAEJXZ
-; public: long __thiscall BROWSER_DOMAIN::RequestAndWaitForUsers(void)
-?RequestAndWaitForUsers@BROWSER_DOMAIN@@QAEJXZ
-; public: long __thiscall DOMAIN_FILL_THREAD::RequestAndWaitForUsers(void)
-?RequestAndWaitForUsers@DOMAIN_FILL_THREAD@@QAEJXZ
-; private: virtual class LBI * __thiscall BLT_LISTBOX::RequestLBI(struct tagDRAWITEMSTRUCT const *)
-?RequestLBI@BLT_LISTBOX@@EAEPAVLBI@@PBUtagDRAWITEMSTRUCT@@@Z
-; private: virtual class LBI * __thiscall LAZY_LISTBOX::RequestLBI(struct tagDRAWITEMSTRUCT const *)
-?RequestLBI@LAZY_LISTBOX@@EAEPAVLBI@@PBUtagDRAWITEMSTRUCT@@@Z
-; public: void __thiscall BROWSE_DOMAIN_ENUM::Reset(void)
-?Reset@BROWSE_DOMAIN_ENUM@@QAEXXZ
-; public: void __thiscall ITER_CTRL::Reset(void)
-?Reset@ITER_CTRL@@QAEXXZ
-; public: long __thiscall WIN32_EVENT::Reset(void)
-?Reset@WIN32_EVENT@@QAEJXZ
-; public: static void __stdcall POPUP::ResetCaption(void)
-?ResetCaption@POPUP@@SGXXZ
-; protected: void __thiscall WINDOW::ResetCreator(void)
-?ResetCreator@WINDOW@@IAEXXZ
-; protected: void __thiscall BASE::ResetError(void)
-?ResetError@BASE@@IAEXXZ
-; protected: void __thiscall CONTROL_WINDOW::ResetError(void)
-?ResetError@CONTROL_WINDOW@@IAEXXZ
-; protected: void __thiscall FORWARDING_BASE::ResetError(void)
-?ResetError@FORWARDING_BASE@@IAEXXZ
-; protected: void __thiscall SLT_ELLIPSIS::ResetError(void)
-?ResetError@SLT_ELLIPSIS@@IAEXXZ
-; public: void __thiscall BLT_MASTER_TIMER::ResetIterator(void)
-?ResetIterator@BLT_MASTER_TIMER@@QAEXXZ
-; public: void __thiscall SLT_ELLIPSIS::ResetStyle(enum ELLIPSIS_STYLE)
-?ResetStyle@SLT_ELLIPSIS@@QAEXW4ELLIPSIS_STYLE@@@Z
-; public: int __thiscall ARRAY_CONTROLVAL_CID_PAIR::Resize(unsigned int,int)
-?Resize@ARRAY_CONTROLVAL_CID_PAIR@@QAEHIH@Z
-; public: long __thiscall BLT_LISTBOX::Resort(void)
-?Resort@BLT_LISTBOX@@QAEJXZ
-; protected: virtual void __thiscall BLT_DATE_SPIN_GROUP::RestoreValue(int)
-?RestoreValue@BLT_DATE_SPIN_GROUP@@MAEXH@Z
-; protected: virtual void __thiscall BLT_TIME_SPIN_GROUP::RestoreValue(int)
-?RestoreValue@BLT_TIME_SPIN_GROUP@@MAEXH@Z
-; protected: virtual void __thiscall COMBOBOX::RestoreValue(int)
-?RestoreValue@COMBOBOX@@MAEXH@Z
-; protected: virtual void __thiscall CONTROL_VALUE::RestoreValue(int)
-?RestoreValue@CONTROL_VALUE@@MAEXH@Z
-; protected: virtual void __thiscall EDIT_CONTROL::RestoreValue(int)
-?RestoreValue@EDIT_CONTROL@@MAEXH@Z
-; protected: virtual void __thiscall LIST_CONTROL::RestoreValue(int)
-?RestoreValue@LIST_CONTROL@@MAEXH@Z
-; protected: virtual void __thiscall MAGIC_GROUP::RestoreValue(int)
-?RestoreValue@MAGIC_GROUP@@MAEXH@Z
-; protected: virtual void __thiscall RADIO_GROUP::RestoreValue(int)
-?RestoreValue@RADIO_GROUP@@MAEXH@Z
-; protected: virtual void __thiscall SLT::RestoreValue(int)
-?RestoreValue@SLT@@MAEXH@Z
-; public: virtual void __thiscall SPIN_GROUP::RestoreValue(int)
-?RestoreValue@SPIN_GROUP@@UAEXH@Z
-; protected: virtual void __thiscall STATE_BUTTON_CONTROL::RestoreValue(int)
-?RestoreValue@STATE_BUTTON_CONTROL@@MAEXH@Z
-; public: long __thiscall WIN32_THREAD::Resume(void)
-?Resume@WIN32_THREAD@@QAEJXZ
-; protected: virtual int __thiscall APPLICATION::Run(void)
-?Run@APPLICATION@@MAEHXZ
-; protected: unsigned int __thiscall HAS_MESSAGE_PUMP::RunMessagePump(void)
-?RunMessagePump@HAS_MESSAGE_PUMP@@IAEIXZ
-; public: virtual long __thiscall CHANGEABLE_SPIN_ITEM::SaveCurrentData(void)
-?SaveCurrentData@CHANGEABLE_SPIN_ITEM@@UAEJXZ
-; public: virtual long __thiscall SPIN_SLE_NUM::SaveCurrentData(void)
-?SaveCurrentData@SPIN_SLE_NUM@@UAEJXZ
-; public: virtual long __thiscall SPIN_SLE_STR::SaveCurrentData(void)
-?SaveCurrentData@SPIN_SLE_STR@@UAEJXZ
-; protected: virtual void __thiscall BLT_DATE_SPIN_GROUP::SaveValue(int)
-?SaveValue@BLT_DATE_SPIN_GROUP@@MAEXH@Z
-; protected: virtual void __thiscall BLT_TIME_SPIN_GROUP::SaveValue(int)
-?SaveValue@BLT_TIME_SPIN_GROUP@@MAEXH@Z
-; protected: virtual void __thiscall COMBOBOX::SaveValue(int)
-?SaveValue@COMBOBOX@@MAEXH@Z
-; protected: virtual void __thiscall CONTROL_VALUE::SaveValue(int)
-?SaveValue@CONTROL_VALUE@@MAEXH@Z
-; protected: virtual void __thiscall EDIT_CONTROL::SaveValue(int)
-?SaveValue@EDIT_CONTROL@@MAEXH@Z
-; protected: virtual void __thiscall LIST_CONTROL::SaveValue(int)
-?SaveValue@LIST_CONTROL@@MAEXH@Z
-; protected: virtual void __thiscall MAGIC_GROUP::SaveValue(int)
-?SaveValue@MAGIC_GROUP@@MAEXH@Z
-; protected: virtual void __thiscall RADIO_GROUP::SaveValue(int)
-?SaveValue@RADIO_GROUP@@MAEXH@Z
-; protected: virtual void __thiscall SLT::SaveValue(int)
-?SaveValue@SLT@@MAEXH@Z
-; public: virtual void __thiscall SPIN_GROUP::SaveValue(int)
-?SaveValue@SPIN_GROUP@@UAEXH@Z
-; protected: virtual void __thiscall STATE_BUTTON_CONTROL::SaveValue(int)
-?SaveValue@STATE_BUTTON_CONTROL@@MAEXH@Z
-; public: void __thiscall XYPOINT::ScreenToClient(struct HWND__ *)
-?ScreenToClient@XYPOINT@@QAEXPAUHWND__@@@Z
-; public: struct HBITMAP__ * __thiscall DEVICE_CONTEXT::SelectBitmap(struct HBITMAP__ *)
-?SelectBitmap@DEVICE_CONTEXT@@QAEPAUHBITMAP__@@PAU2@@Z
-; public: struct HBRUSH__ * __thiscall DEVICE_CONTEXT::SelectBrush(struct HBRUSH__ *)
-?SelectBrush@DEVICE_CONTEXT@@QAEPAUHBRUSH__@@PAU2@@Z
-; public: struct HFONT__ * __thiscall DEVICE_CONTEXT::SelectFont(struct HFONT__ *)
-?SelectFont@DEVICE_CONTEXT@@QAEPAUHFONT__@@PAU2@@Z
-; public: void __thiscall BROWSER_DOMAIN_CB::SelectItem(class BROWSER_DOMAIN *)
-?SelectItem@BROWSER_DOMAIN_CB@@QAEXPAVBROWSER_DOMAIN@@@Z
-; public: void __thiscall LIST_CONTROL::SelectItem(int,int)
-?SelectItem@LIST_CONTROL@@QAEXHH@Z
-; public: void __thiscall LIST_CONTROL::SelectItems(int *,int,int)
-?SelectItems@LIST_CONTROL@@QAEXPAHHH@Z
-; private: void __thiscall BASE_SET_FOCUS_DLG::SelectNetPathString(void)
-?SelectNetPathString@BASE_SET_FOCUS_DLG@@AAEXXZ
-; protected: void * __thiscall DEVICE_CONTEXT::SelectObject(void *)
-?SelectObject@DEVICE_CONTEXT@@IAEPAXPAX@Z
-; public: struct HPEN__ * __thiscall DEVICE_CONTEXT::SelectPen(struct HPEN__ *)
-?SelectPen@DEVICE_CONTEXT@@QAEPAUHPEN__@@PAU2@@Z
-; public: void __thiscall COMBOBOX::SelectString(void)
-?SelectString@COMBOBOX@@QAEXXZ
-; public: void __thiscall EDIT_CONTROL::SelectString(void)
-?SelectString@EDIT_CONTROL@@QAEXXZ
-; public: long __thiscall EVENT::SendTo(struct HWND__ *)const 
-?SendTo@EVENT@@QBEJPAUHWND__@@@Z
-; public: static struct HICON__ * __stdcall CURSOR::Set(struct HICON__ *)
-?Set@CURSOR@@SGPAUHICON__@@PAU2@@Z
-; public: long __thiscall WIN32_EVENT::Set(void)
-?Set@WIN32_EVENT@@QAEJXZ
-; public: long __thiscall SPIN_ITEM::SetAccKey(class NLS_STR const &)
-?SetAccKey@SPIN_ITEM@@QAEJABVNLS_STR@@@Z
-; public: long __thiscall SPIN_ITEM::SetAccKey(long)
-?SetAccKey@SPIN_ITEM@@QAEJJ@Z
-; public: long __thiscall NT_USER_BROWSER_DIALOG::SetAndFillErrorText(long,int)
-?SetAndFillErrorText@NT_USER_BROWSER_DIALOG@@QAEJJH@Z
-; protected: void __thiscall SPIN_GROUP::SetArrowButtonStatus(void)
-?SetArrowButtonStatus@SPIN_GROUP@@IAEXXZ
-; public: long __thiscall BROWSER_DOMAIN::SetAsTargetDomain(void)
-?SetAsTargetDomain@BROWSER_DOMAIN@@QAEJXZ
-; protected: void __thiscall HEAP_BASE::SetAutoReadjust(int)
-?SetAutoReadjust@HEAP_BASE@@IAEXH@Z
-; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetBigDecValue(unsigned long)
-?SetBigDecValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
-; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetBigIncValue(unsigned long)
-?SetBigIncValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
-; public: void __thiscall BIT_MAP::SetBitmap(struct HBITMAP__ *)
-?SetBitmap@BIT_MAP@@QAEXPAUHBITMAP__@@@Z
-; private: void __thiscall DISPLAY_MAP::SetBitmapBits(unsigned char *,int,int,unsigned int)
-?SetBitmapBits@DISPLAY_MAP@@AAEXPAEHHI@Z
-; public: unsigned long __thiscall DEVICE_CONTEXT::SetBkColor(unsigned long)
-?SetBkColor@DEVICE_CONTEXT@@QAEKK@Z
-; public: int __thiscall DEVICE_CONTEXT::SetBkMode(int)
-?SetBkMode@DEVICE_CONTEXT@@QAEHH@Z
-; protected: long __thiscall GET_FNAME_BASE_DLG::SetBuffer(class BUFFER *,class STRLIST &)
-?SetBuffer@GET_FNAME_BASE_DLG@@IAEJPAVBUFFER@@AAVSTRLIST@@@Z
-; protected: void __thiscall ENUM_OBJ_BASE::SetBufferPtr(unsigned char const *)
-?SetBufferPtr@ENUM_OBJ_BASE@@IAEXPBE@Z
-; public: void __thiscall ORDER_GROUP::SetButton(void)
-?SetButton@ORDER_GROUP@@QAEXXZ
-; public: static void __stdcall POPUP::SetCaption(long)
-?SetCaption@POPUP@@SGXJ@Z
-; public: void __thiscall LIST_CONTROL::SetCaretIndex(int,int)
-?SetCaretIndex@LIST_CONTROL@@QAEXHH@Z
-; public: void __thiscall MENUITEM::SetCheck(int)
-?SetCheck@MENUITEM@@QAEXH@Z
-; private: void __thiscall RADIO_BUTTON::SetCheck(int)
-?SetCheck@RADIO_BUTTON@@AAEXH@Z
-; public: void __thiscall STATE2_BUTTON_CONTROL::SetCheck(int)
-?SetCheck@STATE2_BUTTON_CONTROL@@QAEXH@Z
-; public: long __thiscall SET_OF_AUDIT_CATEGORIES::SetCheckBoxNames(class MASK_MAP *)
-?SetCheckBoxNames@SET_OF_AUDIT_CATEGORIES@@QAEJPAVMASK_MAP@@@Z
-; protected: static void __stdcall WINDOW::SetClientGeneratedMsgFlag(int)
-?SetClientGeneratedMsgFlag@WINDOW@@KGXH@Z
-; public: void __thiscall METER::SetComplete(int)
-?SetComplete@METER@@QAEXH@Z
-; protected: virtual void __thiscall BLT_DATE_SPIN_GROUP::SetControlValueFocus(void)
-?SetControlValueFocus@BLT_DATE_SPIN_GROUP@@MAEXXZ
-; protected: virtual void __thiscall BLT_TIME_SPIN_GROUP::SetControlValueFocus(void)
-?SetControlValueFocus@BLT_TIME_SPIN_GROUP@@MAEXXZ
-; public: virtual void __thiscall CONTROL_VALUE::SetControlValueFocus(void)
-?SetControlValueFocus@CONTROL_VALUE@@UAEXXZ
-; public: virtual void __thiscall CONTROL_WINDOW::SetControlValueFocus(void)
-?SetControlValueFocus@CONTROL_WINDOW@@UAEXXZ
-; protected: virtual void __thiscall EDIT_CONTROL::SetControlValueFocus(void)
-?SetControlValueFocus@EDIT_CONTROL@@MAEXXZ
-; public: virtual void __thiscall MAGIC_GROUP::SetControlValueFocus(void)
-?SetControlValueFocus@MAGIC_GROUP@@UAEXXZ
-; public: virtual void __thiscall RADIO_GROUP::SetControlValueFocus(void)
-?SetControlValueFocus@RADIO_GROUP@@UAEXXZ
-; public: virtual void __thiscall SPIN_GROUP::SetControlValueFocus(void)
-?SetControlValueFocus@SPIN_GROUP@@UAEXXZ
-; public: void __thiscall LAZY_LISTBOX::SetCount(unsigned int)
-?SetCount@LAZY_LISTBOX@@QAEXI@Z
-; public: void __thiscall USER_BROWSER_LB::SetCurrentCache(class USER_BROWSER_LBI_CACHE *)
-?SetCurrentCache@USER_BROWSER_LB@@QAEXPAVUSER_BROWSER_LBI_CACHE@@@Z
-; public: long __thiscall BLT_DATE_SPIN_GROUP::SetCurrentDay(void)
-?SetCurrentDay@BLT_DATE_SPIN_GROUP@@QAEJXZ
-; public: void __thiscall NT_USER_BROWSER_DIALOG::SetCurrentDomainFocus(class BROWSER_DOMAIN *)
-?SetCurrentDomainFocus@NT_USER_BROWSER_DIALOG@@QAEXPAVBROWSER_DOMAIN@@@Z
-; protected: void __thiscall SPIN_GROUP::SetCurrentField(class SPIN_ITEM *)
-?SetCurrentField@SPIN_GROUP@@IAEXPAVSPIN_ITEM@@@Z
-; public: long __thiscall BLT_TIME_SPIN_GROUP::SetCurrentTime(void)
-?SetCurrentTime@BLT_TIME_SPIN_GROUP@@QAEJXZ
-; public: long __thiscall GET_FNAME_BASE_DLG::SetCustomFilter(class STRLIST &,unsigned long)
-?SetCustomFilter@GET_FNAME_BASE_DLG@@QAEJAAVSTRLIST@@K@Z
-; public: void __thiscall DISK_SPACE_SUBCLASS::SetDSFieldName(long)
-?SetDSFieldName@DISK_SPACE_SUBCLASS@@QAEXJ@Z
-; public: void __thiscall BLT_DATE_SPIN_GROUP::SetDay(int)
-?SetDay@BLT_DATE_SPIN_GROUP@@QAEXH@Z
-; private: static void __stdcall HIER_LBI::SetDestroyable(int)
-?SetDestroyable@HIER_LBI@@CGXH@Z
-; public: void __thiscall OWNER_WINDOW::SetDialogFocus(class CONTROL_WINDOW &)
-?SetDialogFocus@OWNER_WINDOW@@QAEXAAVCONTROL_WINDOW@@@Z
-; protected: void __thiscall NT_USER_BROWSER_DIALOG::SetDomainComboDropFlag(int)
-?SetDomainComboDropFlag@NT_USER_BROWSER_DIALOG@@IAEXH@Z
-; public: void __thiscall OUTLINE_LISTBOX::SetDomainExpanded(int,int)
-?SetDomainExpanded@OUTLINE_LISTBOX@@QAEXHH@Z
-; public: long __thiscall BASE_ELLIPSIS::SetEllipsis(unsigned short *)
-?SetEllipsis@BASE_ELLIPSIS@@QAEJPAG@Z
-; public: long __thiscall BASE_ELLIPSIS::SetEllipsis(class NLS_STR *)
-?SetEllipsis@BASE_ELLIPSIS@@QAEJPAVNLS_STR@@@Z
-; protected: long __thiscall BASE_ELLIPSIS::SetEllipsisCenter(class NLS_STR *)
-?SetEllipsisCenter@BASE_ELLIPSIS@@IAEJPAVNLS_STR@@@Z
-; protected: long __thiscall BASE_ELLIPSIS::SetEllipsisLeft(class NLS_STR *)
-?SetEllipsisLeft@BASE_ELLIPSIS@@IAEJPAVNLS_STR@@@Z
-; protected: long __thiscall BASE_ELLIPSIS::SetEllipsisPath(class NLS_STR *)
-?SetEllipsisPath@BASE_ELLIPSIS@@IAEJPAVNLS_STR@@@Z
-; protected: long __thiscall BASE_ELLIPSIS::SetEllipsisRight(class NLS_STR *)
-?SetEllipsisRight@BASE_ELLIPSIS@@IAEJPAVNLS_STR@@@Z
-; protected: void __thiscall GET_FNAME_BASE_DLG::SetEnableHook(int)
-?SetEnableHook@GET_FNAME_BASE_DLG@@IAEXH@Z
-; public: void __thiscall HIER_LBI::SetExpanded(int)
-?SetExpanded@HIER_LBI@@QAEXH@Z
-; private: void __thiscall OLLB_ENTRY::SetExpanded(int)
-?SetExpanded@OLLB_ENTRY@@AAEXH@Z
-; public: int __thiscall SPIN_GROUP::SetFieldMinMax(unsigned short)
-?SetFieldMinMax@SPIN_GROUP@@QAEHG@Z
-; public: long __thiscall SPIN_SLE_NUM_VALID::SetFieldName(long)
-?SetFieldName@SPIN_SLE_NUM_VALID@@QAEJJ@Z
-; public: long __thiscall GET_FNAME_BASE_DLG::SetFileExtension(class NLS_STR const &)
-?SetFileExtension@GET_FNAME_BASE_DLG@@QAEJABVNLS_STR@@@Z
-; public: long __thiscall GET_FNAME_BASE_DLG::SetFilter(class STRLIST &,unsigned long)
-?SetFilter@GET_FNAME_BASE_DLG@@QAEJAAVSTRLIST@@K@Z
-; public: void __thiscall MLE::SetFmtLines(int)
-?SetFmtLines@MLE@@QAEXH@Z
-; public: void __thiscall OWNER_WINDOW::SetFocus(unsigned int)
-?SetFocus@OWNER_WINDOW@@QAEXI@Z
-; public: void __thiscall CONTROL_WINDOW::SetFont(struct HFONT__ *,int)
-?SetFont@CONTROL_WINDOW@@QAEXPAUHFONT__@@H@Z
-; public: long __thiscall FONT::SetFont(struct tagLOGFONTW const &)
-?SetFont@FONT@@QAEJABUtagLOGFONTW@@@Z
-; public: long __thiscall FONT::SetFont(struct HFONT__ *)
-?SetFont@FONT@@QAEJPAUHFONT__@@@Z
-; public: void __thiscall CONTROL_VALUE::SetGroup(class CONTROL_GROUP *)
-?SetGroup@CONTROL_VALUE@@QAEXPAVCONTROL_GROUP@@@Z
-; protected: void __thiscall MENU_BASE::SetHandle(struct HMENU__ *)
-?SetHandle@MENU_BASE@@IAEXPAUHMENU__@@@Z
-; protected: void __thiscall WIN32_HANDLE::SetHandle(void *)
-?SetHandle@WIN32_HANDLE@@IAEXPAX@Z
-; public: void __thiscall XYDIMENSION::SetHeight(unsigned int)
-?SetHeight@XYDIMENSION@@QAEXI@Z
-; public: void __thiscall GET_FNAME_BASE_DLG::SetHelpActive(int)
-?SetHelpActive@GET_FNAME_BASE_DLG@@QAEXH@Z
-; public: static unsigned long __stdcall POPUP::SetHelpContextBase(unsigned long)
-?SetHelpContextBase@POPUP@@SGKK@Z
-; public: void __thiscall GET_FNAME_BASE_DLG::SetHookProc(unsigned long)
-?SetHookProc@GET_FNAME_BASE_DLG@@QAEXK@Z
-; public: void __thiscall LISTBOX::SetHorizontalExtent(unsigned int)
-?SetHorizontalExtent@LISTBOX@@QAEXI@Z
-; public: void __thiscall BLT_TIME_SPIN_GROUP::SetHour(int)
-?SetHour@BLT_TIME_SPIN_GROUP@@QAEXH@Z
-; public: long __thiscall LOGON_HOURS_CONTROL::SetHours(class LOGON_HOURS_SETTING const *)
-?SetHours@LOGON_HOURS_CONTROL@@QAEJPBVLOGON_HOURS_SETTING@@@Z
-; protected: void __thiscall WINDOW::SetHwnd(struct HWND__ *)
-?SetHwnd@WINDOW@@IAEXPAUHWND__@@@Z
-; public: int __thiscall APP_WINDOW::SetIcon(class IDRESOURCE const &)
-?SetIcon@APP_WINDOW@@QAEHABVIDRESOURCE@@@Z
-; public: long __thiscall ICON_CONTROL::SetIcon(class IDRESOURCE const &)
-?SetIcon@ICON_CONTROL@@QAEJABVIDRESOURCE@@@Z
-; protected: void __thiscall CANCEL_TASK_DIALOG::SetInTimer(int)
-?SetInTimer@CANCEL_TASK_DIALOG@@IAEXH@Z
-; public: void __thiscall USER_BROWSER_LBI_CACHE::SetIncludeUsers(int)
-?SetIncludeUsers@USER_BROWSER_LBI_CACHE@@QAEXH@Z
-; private: void __thiscall HIER_LBI::SetIndentLevel(void)
-?SetIndentLevel@HIER_LBI@@AAEXXZ
-; public: long __thiscall GET_FNAME_BASE_DLG::SetInitialDir(class NLS_STR const &)
-?SetInitialDir@GET_FNAME_BASE_DLG@@QAEJABVNLS_STR@@@Z
-; private: void __thiscall BLT_LISTBOX::SetItem(int,class LBI *)
-?SetItem@BLT_LISTBOX@@AAEXHPAVLBI@@@Z
-; protected: int __thiscall LIST_CONTROL::SetItemData(int,void *)
-?SetItemData@LIST_CONTROL@@IAEHHPAX@Z
-; public: int __thiscall DEVICE_CONTEXT::SetMapMode(int)
-?SetMapMode@DEVICE_CONTEXT@@QAEHH@Z
-; private: void __thiscall DISPLAY_MAP::SetMaskBits(unsigned char *,int,int,unsigned int)
-?SetMaskBits@DISPLAY_MAP@@AAEXPAEHHI@Z
-; private: void __thiscall SPIN_SLE_NUM::SetMaxInput(void)
-?SetMaxInput@SPIN_SLE_NUM@@AAEXXZ
-; public: int __thiscall COMBOBOX::SetMaxLength(unsigned int)
-?SetMaxLength@COMBOBOX@@QAEHI@Z
-; public: void __thiscall EDIT_CONTROL::SetMaxLength(unsigned int)
-?SetMaxLength@EDIT_CONTROL@@QAEXI@Z
-; public: int __thiscall APP_WINDOW::SetMenu(class IDRESOURCE const &)
-?SetMenu@APP_WINDOW@@QAEHABVIDRESOURCE@@@Z
-; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetMin(unsigned long)
-?SetMin@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
-; public: void __thiscall SPIN_SLE_NUM::SetMin(unsigned long)
-?SetMin@SPIN_SLE_NUM@@QAEXK@Z
-; public: void __thiscall BLT_TIME_SPIN_GROUP::SetMinute(int)
-?SetMinute@BLT_TIME_SPIN_GROUP@@QAEXH@Z
-; public: void __thiscall ELAPSED_TIME_CONTROL::SetMinuteFieldName(long)
-?SetMinuteFieldName@ELAPSED_TIME_CONTROL@@QAEXJ@Z
-; public: void __thiscall ELAPSED_TIME_CONTROL::SetMinuteMin(long)
-?SetMinuteMin@ELAPSED_TIME_CONTROL@@QAEXJ@Z
-; public: void __thiscall ELAPSED_TIME_CONTROL::SetMinuteRange(long)
-?SetMinuteRange@ELAPSED_TIME_CONTROL@@QAEXJ@Z
-; public: void __thiscall ELAPSED_TIME_CONTROL::SetMinuteValue(long)
-?SetMinuteValue@ELAPSED_TIME_CONTROL@@QAEXJ@Z
-; public: void __thiscall SPIN_GROUP::SetModified(int)
-?SetModified@SPIN_GROUP@@QAEXH@Z
-; public: void __thiscall BLT_DATE_SPIN_GROUP::SetMonth(int)
-?SetMonth@BLT_DATE_SPIN_GROUP@@QAEXH@Z
-; public: static void __stdcall POPUP::SetMsgMapTable(struct _MSGMAPENTRY *)
-?SetMsgMapTable@POPUP@@SGXPAU_MSGMAPENTRY@@@Z
-; protected: virtual long __thiscall BASE_SET_FOCUS_DLG::SetNetworkFocus(struct HWND__ *,unsigned short const *,enum FOCUS_CACHE_SETTING)
-?SetNetworkFocus@BASE_SET_FOCUS_DLG@@MAEJPAUHWND__@@PBGW4FOCUS_CACHE_SETTING@@@Z
-; protected: virtual long __thiscall STANDALONE_SET_FOCUS_DLG::SetNetworkFocus(struct HWND__ *,unsigned short const *,enum FOCUS_CACHE_SETTING)
-?SetNetworkFocus@STANDALONE_SET_FOCUS_DLG@@MAEJPAUHWND__@@PBGW4FOCUS_CACHE_SETTING@@@Z
-; private: void __thiscall TIMER_BASE::SetNewTimeDue(void)
-?SetNewTimeDue@TIMER_BASE@@AAEXXZ
-; public: long __thiscall BASE_ELLIPSIS::SetOriginalStr(unsigned short const *)
-?SetOriginalStr@BASE_ELLIPSIS@@QAEJPBG@Z
-; protected: void __thiscall DM_DTE::SetPdm(class DISPLAY_MAP *)
-?SetPdm@DM_DTE@@IAEXPAVDISPLAY_MAP@@@Z
-; public: virtual void __thiscall HIER_LBI::SetPelIndent(unsigned int)
-?SetPelIndent@HIER_LBI@@UAEXI@Z
-; public: long __thiscall APP_WINDOW::SetPlacement(struct tagWINDOWPLACEMENT const *)const 
-?SetPlacement@APP_WINDOW@@QBEJPBUtagWINDOWPLACEMENT@@@Z
-; public: static void __stdcall CURSOR::SetPos(class XYPOINT const &)
-?SetPos@CURSOR@@SGXABVXYPOINT@@@Z
-; public: void __thiscall SCROLLBAR::SetPos(unsigned int)
-?SetPos@SCROLLBAR@@QAEXI@Z
-; public: void __thiscall WINDOW::SetPos(class XYPOINT,int,class WINDOW *)
-?SetPos@WINDOW@@QAEXVXYPOINT@@HPAV1@@Z
-; public: long __thiscall ICON_CONTROL::SetPredefinedIcon(class IDRESOURCE const &)
-?SetPredefinedIcon@ICON_CONTROL@@QAEJABVIDRESOURCE@@@Z
-; public: long __thiscall WIN32_THREAD::SetPriority(int)
-?SetPriority@WIN32_THREAD@@QAEJH@Z
-; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetRange(unsigned long)
-?SetRange@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
-; public: void __thiscall SCROLLBAR::SetRange(unsigned int,unsigned int)
-?SetRange@SCROLLBAR@@QAEXII@Z
-; public: void __thiscall SPIN_SLE_NUM::SetRange(unsigned long)
-?SetRange@SPIN_SLE_NUM@@QAEXK@Z
-; public: void __thiscall SPIN_SLE_STR::SetRange(long)
-?SetRange@SPIN_SLE_STR@@QAEXJ@Z
-; public: void __thiscall WINDOW::SetRedraw(int)
-?SetRedraw@WINDOW@@QAEXH@Z
-; public: long __thiscall EDIT_CONTROL::SetSaveValue(unsigned short const *)
-?SetSaveValue@EDIT_CONTROL@@QAEJPBG@Z
-; public: long __thiscall SPIN_SLE_NUM::SetSaveValue(unsigned long)
-?SetSaveValue@SPIN_SLE_NUM@@QAEJK@Z
-; public: void __thiscall LISTBOX::SetScrollPos(unsigned int)
-?SetScrollPos@LISTBOX@@QAEXI@Z
-; public: void __thiscall BLT_TIME_SPIN_GROUP::SetSecond(int)
-?SetSecond@BLT_TIME_SPIN_GROUP@@QAEXH@Z
-; public: void __thiscall ELAPSED_TIME_CONTROL::SetSecondFieldName(long)
-?SetSecondFieldName@ELAPSED_TIME_CONTROL@@QAEXJ@Z
-; public: void __thiscall ELAPSED_TIME_CONTROL::SetSecondMin(long)
-?SetSecondMin@ELAPSED_TIME_CONTROL@@QAEXJ@Z
-; public: void __thiscall ELAPSED_TIME_CONTROL::SetSecondRange(long)
-?SetSecondRange@ELAPSED_TIME_CONTROL@@QAEXJ@Z
-; public: void __thiscall ELAPSED_TIME_CONTROL::SetSecondValue(long)
-?SetSecondValue@ELAPSED_TIME_CONTROL@@QAEXJ@Z
-; public: void __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::SetSelected(int)
-?SetSelected@GRAPHICAL_BUTTON_WITH_DISABLE@@QAEXH@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::SetSelectedCells(int)
-?SetSelectedCells@LOGON_HOURS_CONTROL@@AAEXH@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::SetSelection(int)
-?SetSelection@LOGON_HOURS_CONTROL@@AAEXH@Z
-; private: void __thiscall LOGON_HOURS_CONTROL::SetSelection(int,int)
-?SetSelection@LOGON_HOURS_CONTROL@@AAEXHH@Z
-; public: void __thiscall MAGIC_GROUP::SetSelection(unsigned int)
-?SetSelection@MAGIC_GROUP@@QAEXI@Z
-; public: void __thiscall RADIO_GROUP::SetSelection(unsigned int)
-?SetSelection@RADIO_GROUP@@QAEXI@Z
-; protected: void __thiscall RADIO_GROUP::SetSelectionDontNotifyGroups(unsigned int)
-?SetSelectionDontNotifyGroups@RADIO_GROUP@@IAEXI@Z
-; public: void __thiscall CONSOLE_ELLIPSIS::SetSize(int)
-?SetSize@CONSOLE_ELLIPSIS@@QAEXH@Z
-; public: void __thiscall SLT_ELLIPSIS::SetSize(int,int,int)
-?SetSize@SLT_ELLIPSIS@@QAEXHHH@Z
-; public: void __thiscall WINDOW::SetSize(int,int,int)
-?SetSize@WINDOW@@QAEXHHH@Z
-; public: void __thiscall WINDOW::SetSize(class XYDIMENSION,int)
-?SetSize@WINDOW@@QAEXVXYDIMENSION@@H@Z
-; public: void __thiscall WIN_ELLIPSIS::SetSize(int,int)
-?SetSize@WIN_ELLIPSIS@@QAEXHH@Z
-; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetSmallDecValue(unsigned long)
-?SetSmallDecValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
-; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetSmallIncValue(unsigned long)
-?SetSmallIncValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
-; protected: void __thiscall NT_GROUP_BROWSER_DIALOG::SetSourceDialog(class NT_GROUP_BROWSER_DIALOG *)
-?SetSourceDialog@NT_GROUP_BROWSER_DIALOG@@IAEXPAV1@@Z
-; private: long __thiscall ELAPSED_TIME_CONTROL::SetSpinItemAccKey(class SPIN_ITEM *,class SLT &,int)
-?SetSpinItemAccKey@ELAPSED_TIME_CONTROL@@AAEJPAVSPIN_ITEM@@AAVSLT@@H@Z
-; protected: void __thiscall SLE_STRLB_GROUP::SetState(void)const 
-?SetState@SLE_STRLB_GROUP@@IBEXXZ
-; protected: void __thiscall STATE_BUTTON_CONTROL::SetState(unsigned int)
-?SetState@STATE_BUTTON_CONTROL@@IAEXI@Z
-; public: int __thiscall STLBITEM::SetState(int)
-?SetState@STLBITEM@@QAEHH@Z
-; private: void __thiscall WIN32_THREAD::SetState(enum _THREAD_STATE)
-?SetState@WIN32_THREAD@@AAEXW4_THREAD_STATE@@@Z
-; public: void __thiscall GRAPHICAL_BUTTON::SetStatus(unsigned int)
-?SetStatus@GRAPHICAL_BUTTON@@QAEXI@Z
-; public: void __thiscall GRAPHICAL_BUTTON::SetStatus(struct HBITMAP__ *)
-?SetStatus@GRAPHICAL_BUTTON@@QAEXPAUHBITMAP__@@@Z
-; private: void __thiscall SPIN_SLE_STR::SetStr(long)
-?SetStr@SPIN_SLE_STR@@AAEXJ@Z
-; private: long __thiscall GET_FNAME_BASE_DLG::SetStringField(unsigned short * *,class NLS_STR const &)
-?SetStringField@GET_FNAME_BASE_DLG@@AAEJPAPAGABVNLS_STR@@@Z
-; public: void __thiscall BASE_ELLIPSIS::SetStyle(enum ELLIPSIS_STYLE)
-?SetStyle@BASE_ELLIPSIS@@QAEXW4ELLIPSIS_STYLE@@@Z
-; public: void __thiscall WINDOW::SetStyle(unsigned long)
-?SetStyle@WINDOW@@QAEXK@Z
-; protected: virtual void __thiscall CONTROL_VALUE::SetTabStop(int)
-?SetTabStop@CONTROL_VALUE@@MAEXH@Z
-; protected: virtual void __thiscall CONTROL_WINDOW::SetTabStop(int)
-?SetTabStop@CONTROL_WINDOW@@MAEXH@Z
-; public: long __thiscall ACCOUNT_NAMES_MLE::SetTargetDomain(unsigned short const *)
-?SetTargetDomain@ACCOUNT_NAMES_MLE@@QAEJPBG@Z
-; public: long __thiscall GET_FNAME_BASE_DLG::SetText(class NLS_STR const &)
-?SetText@GET_FNAME_BASE_DLG@@QAEJABVNLS_STR@@@Z
-; public: int __thiscall MENUITEM::SetText(unsigned short const *)
-?SetText@MENUITEM@@QAEHPBG@Z
-; public: long __thiscall SLT_ELLIPSIS::SetText(class NLS_STR const &)
-?SetText@SLT_ELLIPSIS@@QAEJABVNLS_STR@@@Z
-; public: long __thiscall SLT_ELLIPSIS::SetText(unsigned short const *)
-?SetText@SLT_ELLIPSIS@@QAEJPBG@Z
-; public: void __thiscall WINDOW::SetText(class NLS_STR const &)
-?SetText@WINDOW@@QAEXABVNLS_STR@@@Z
-; public: void __thiscall WINDOW::SetText(unsigned short const *)
-?SetText@WINDOW@@QAEXPBG@Z
-; public: unsigned int __thiscall DEVICE_CONTEXT::SetTextAlign(unsigned int)
-?SetTextAlign@DEVICE_CONTEXT@@QAEII@Z
-; public: unsigned long __thiscall DEVICE_CONTEXT::SetTextColor(unsigned long)
-?SetTextColor@DEVICE_CONTEXT@@QAEKK@Z
-; public: void __thiscall LIST_CONTROL::SetTopIndex(int)
-?SetTopIndex@LIST_CONTROL@@QAEXH@Z
-; public: long __thiscall BROWSER_SUBJECT::SetUserBrowserLBI(class USER_BROWSER_LBI *)
-?SetUserBrowserLBI@BROWSER_SUBJECT@@QAEJPAVUSER_BROWSER_LBI@@@Z
-; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetValue(unsigned long)
-?SetValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
-; public: void __thiscall DEC_SLT::SetValue(long)
-?SetValue@DEC_SLT@@QAEXJ@Z
-; public: void __thiscall DEC_SLT::SetValue(unsigned long)
-?SetValue@DEC_SLT@@QAEXK@Z
-; public: void __thiscall XYDIMENSION::SetWidth(unsigned int)
-?SetWidth@XYDIMENSION@@QAEXI@Z
-; public: void __thiscall XYPOINT::SetX(int)
-?SetX@XYPOINT@@QAEXH@Z
-; public: void __thiscall XYPOINT::SetY(int)
-?SetY@XYPOINT@@QAEXH@Z
-; public: void __thiscall BLT_DATE_SPIN_GROUP::SetYear(int)
-?SetYear@BLT_DATE_SPIN_GROUP@@QAEXH@Z
-; public: static void __stdcall CURSOR::Show(int)
-?Show@CURSOR@@SGXH@Z
-; public: int __thiscall POPUP::Show(void)
-?Show@POPUP@@QAEHXZ
-; public: int __thiscall WINDOW::Show(int)
-?Show@WINDOW@@QAEHH@Z
-; protected: void __thiscall BASE_SET_FOCUS_DLG::ShowArea(int)
-?ShowArea@BASE_SET_FOCUS_DLG@@IAEXH@Z
-; protected: void __thiscall EXPANDABLE_DIALOG::ShowArea(int)
-?ShowArea@EXPANDABLE_DIALOG@@IAEXH@Z
-; private: void __thiscall H_SPLITTER_BAR::ShowDragBar(class XYPOINT const &)
-?ShowDragBar@H_SPLITTER_BAR@@AAEXABVXYPOINT@@@Z
-; public: void __thiscall WINDOW::ShowFirst(void)
-?ShowFirst@WINDOW@@QAEXXZ
-; private: void __thiscall H_SPLITTER_BAR::ShowSpecialCursor(int)
-?ShowSpecialCursor@H_SPLITTER_BAR@@AAEXH@Z
-; public: void __thiscall WIN32_THREAD::Sleep(unsigned int)
-?Sleep@WIN32_THREAD@@QAEXI@Z
-; public: void __thiscall USER_LBI_CACHE::Sort(void)
-?Sort@USER_LBI_CACHE@@QAEXXZ
-; private: static unsigned long __stdcall WIN32_THREAD::StartThread(void *)
-?StartThread@WIN32_THREAD@@CGKPAX@Z
-; private: long __thiscall LB_COL_WIDTHS::StretchForFonts(struct HWND__ *,unsigned short const *)
-?StretchForFonts@LB_COL_WIDTHS@@AAEJPAUHWND__@@PBG@Z
-; public: long __thiscall MASK_MAP::StringToBits(class NLS_STR const &,class BITFIELD *,int,unsigned int *)
-?StringToBits@MASK_MAP@@QAEJABVNLS_STR@@PAVBITFIELD@@HPAI@Z
-; protected: long __thiscall ACCOUNT_NAMES_MLE::StripDomainIfWellKnown(class NLS_STR *)
-?StripDomainIfWellKnown@ACCOUNT_NAMES_MLE@@IAEJPAVNLS_STR@@@Z
-; protected: long __thiscall CUSTOM_CONTROL::SubClassWndProc(class EVENT const &)
-?SubClassWndProc@CUSTOM_CONTROL@@IAEJABVEVENT@@@Z
-; public: long __thiscall WIN32_THREAD::Suspend(void)
-?Suspend@WIN32_THREAD@@QAEJXZ
-; public: static void __stdcall BASE_ELLIPSIS::Term(void)
-?Term@BASE_ELLIPSIS@@SGXXZ
-; public: static void __stdcall BLT::Term(struct HINSTANCE__ *)
-?Term@BLT@@SGXPAUHINSTANCE__@@@Z
-; public: static void __stdcall BLTIMP::Term(void)
-?Term@BLTIMP@@SGXXZ
-; public: static void __stdcall BLT_MASTER_TIMER::Term(void)
-?Term@BLT_MASTER_TIMER@@SGXXZ
-; public: static void __stdcall CLIENT_WINDOW::Term(void)
-?Term@CLIENT_WINDOW@@SGXXZ
-; public: static void __stdcall POPUP::Term(void)
-?Term@POPUP@@SGXXZ
-; public: static void __stdcall BLT::TermDLL(void)
-?TermDLL@BLT@@SGXXZ
-; public: long __thiscall WIN32_THREAD::Terminate(unsigned int)
-?Terminate@WIN32_THREAD@@QAEJI@Z
-; public: int __thiscall DEVICE_CONTEXT::TextOutW(class NLS_STR const &,class XYPOINT)const 
-?TextOutW@DEVICE_CONTEXT@@QBEHABVNLS_STR@@VXYPOINT@@@Z
-; public: int __thiscall DEVICE_CONTEXT::TextOutW(class NLS_STR const &,class XYPOINT,struct tagRECT const *)const 
-?TextOutW@DEVICE_CONTEXT@@QBEHABVNLS_STR@@VXYPOINT@@PBUtagRECT@@@Z
-; public: int __thiscall DEVICE_CONTEXT::TextOutW(unsigned short const *,int,int,int)const 
-?TextOutW@DEVICE_CONTEXT@@QBEHPBGHHH@Z
-; public: int __thiscall DEVICE_CONTEXT::TextOutW(unsigned short const *,int,int,int,struct tagRECT const *)const 
-?TextOutW@DEVICE_CONTEXT@@QBEHPBGHHHPBUtagRECT@@@Z
-; public: int __thiscall CHECKBOX::Toggle(void)
-?Toggle@CHECKBOX@@QAEHXZ
-; public: long __thiscall LM_OLLB::ToggleDomain(int)
-?ToggleDomain@LM_OLLB@@QAEJH@Z
-; public: long __thiscall POPUP_MENU::Track(class PWND2HWND const &,unsigned int,int,int,struct tagRECT const *)const 
-?Track@POPUP_MENU@@QBEJABVPWND2HWND@@IHHPBUtagRECT@@@Z
-; public: int __thiscall ACCELTABLE::Translate(class WINDOW const *,struct tagMSG *)const 
-?Translate@ACCELTABLE@@QBEHPBVWINDOW@@PAUtagMSG@@@Z
-; public: void __thiscall TIMER_BASE::TriggerNow(void)
-?TriggerNow@TIMER_BASE@@QAEXXZ
-; long __stdcall TrimLeading(class NLS_STR *,unsigned short const *)
-?TrimLeading@@YGJPAVNLS_STR@@PBG@Z
-; long __stdcall TrimTrailing(class NLS_STR *,unsigned short const *)
-?TrimTrailing@@YGJPAVNLS_STR@@PBG@Z
-; public: void __thiscall AUTO_CURSOR::TurnOff(void)
-?TurnOff@AUTO_CURSOR@@QAEXXZ
-; public: void __thiscall AUTO_CURSOR::TurnOn(void)
-?TurnOn@AUTO_CURSOR@@QAEXXZ
-; public: long __thiscall BROWSER_DOMAIN::UnRequestAccountData(void)
-?UnRequestAccountData@BROWSER_DOMAIN@@QAEJXZ
-; public: long __thiscall DOMAIN_FILL_THREAD::UnRequestAccountData(void)
-?UnRequestAccountData@DOMAIN_FILL_THREAD@@QAEJXZ
-; public: virtual void __thiscall UI_EXT_MGR::UnloadExtensions(void)
-?UnloadExtensions@UI_EXT_MGR@@UAEXXZ
-; private: void __thiscall LOGON_HOURS_CONTROL::UnloadLabels(void)
-?UnloadLabels@LOGON_HOURS_CONTROL@@AAEXXZ
-; protected: virtual void __thiscall USER_LBI_CACHE::UnlockCache(void)
-?UnlockCache@USER_LBI_CACHE@@MAEXXZ
-; private: static void __stdcall BLTIMP::Unwind(enum BLT_CTOR_STATE)
-?Unwind@BLTIMP@@CGXW4BLT_CTOR_STATE@@@Z
-; public: virtual void __thiscall CHANGEABLE_SPIN_ITEM::Update(void)
-?Update@CHANGEABLE_SPIN_ITEM@@UAEXXZ
-; public: virtual void __thiscall SPIN_SLE_NUM::Update(void)
-?Update@SPIN_SLE_NUM@@UAEXXZ
-; public: virtual void __thiscall SPIN_SLE_STR::Update(void)
-?Update@SPIN_SLE_STR@@UAEXXZ
-; protected: void __thiscall NT_FIND_ACCOUNT_DIALOG::UpdateButtonState(void)
-?UpdateButtonState@NT_FIND_ACCOUNT_DIALOG@@IAEXXZ
-; protected: virtual void __thiscall NT_GROUP_BROWSER_DIALOG::UpdateButtonState(void)
-?UpdateButtonState@NT_GROUP_BROWSER_DIALOG@@MAEXXZ
-; protected: virtual void __thiscall NT_LOCALGROUP_BROWSER_DIALOG::UpdateButtonState(void)
-?UpdateButtonState@NT_LOCALGROUP_BROWSER_DIALOG@@MAEXXZ
-; protected: void __thiscall NT_USER_BROWSER_DIALOG::UpdateButtonState(void)
-?UpdateButtonState@NT_USER_BROWSER_DIALOG@@IAEXXZ
-; private: void __thiscall BASE_SET_FOCUS_DLG::UpdateRasMode(void)
-?UpdateRasMode@BASE_SET_FOCUS_DLG@@AAEXXZ
-; public: virtual long __thiscall CONTROL_WINDOW::Validate(void)
-?Validate@CONTROL_WINDOW@@UAEJXZ
-; private: long __thiscall DIALOG_WINDOW::Validate(void)
-?Validate@DIALOG_WINDOW@@AAEJXZ
-; public: virtual long __thiscall ICANON_SLE::Validate(void)
-?Validate@ICANON_SLE@@UAEJXZ
-; public: virtual long __thiscall SPIN_SLE_NUM::Validate(void)
-?Validate@SPIN_SLE_NUM@@UAEJXZ
-; protected: virtual long __thiscall SLE_STRLB_GROUP::W_Add(unsigned short const *)
-?W_Add@SLE_STRLB_GROUP@@MAEJPBG@Z
-; private: virtual unsigned short __thiscall GLOBAL_ATOM::W_AddAtom(unsigned short const *)const 
-?W_AddAtom@GLOBAL_ATOM@@EBEGPBG@Z
-; private: virtual unsigned short __thiscall LOCAL_ATOM::W_AddAtom(unsigned short const *)const 
-?W_AddAtom@LOCAL_ATOM@@EBEGPBG@Z
-; protected: long __thiscall MENU_BASE::W_Append(void const *,unsigned int,unsigned int)const 
-?W_Append@MENU_BASE@@IBEJPBXII@Z
-; private: long __thiscall UI_MENU_EXT::W_BiasMenuIds(struct HMENU__ *,unsigned long)
-?W_BiasMenuIds@UI_MENU_EXT@@AAEJPAUHMENU__@@K@Z
-; private: class LBI * __thiscall USER_LBI_CACHE::W_GetLBI(int)
-?W_GetLBI@USER_LBI_CACHE@@AAEPAVLBI@@H@Z
-; private: int __thiscall USER_LBI_CACHE::W_GrowCache(int)
-?W_GrowCache@USER_LBI_CACHE@@AAEHH@Z
-; protected: long __thiscall MENU_BASE::W_Insert(void const *,unsigned int,unsigned int,unsigned int)const 
-?W_Insert@MENU_BASE@@IBEJPBXIII@Z
-; protected: virtual class UI_EXT * __thiscall UI_EXT_MGR::W_LoadExtension(unsigned short const *,unsigned long)
-?W_LoadExtension@UI_EXT_MGR@@MAEPAVUI_EXT@@PBGK@Z
-; protected: long __thiscall MENU_BASE::W_Modify(void const *,unsigned int,unsigned int,unsigned int)const 
-?W_Modify@MENU_BASE@@IBEJPBXIII@Z
-; public: void __thiscall BROWSER_DOMAIN_LBI::W_Paint(class BROWSER_DOMAIN_CB *,class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
-?W_Paint@BROWSER_DOMAIN_LBI@@QBEXPAVBROWSER_DOMAIN_CB@@PAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
-; protected: int __thiscall MENU_BASE::W_QueryItemText(unsigned short *,unsigned int,unsigned int,unsigned int)const 
-?W_QueryItemText@MENU_BASE@@IBEHPAGIII@Z
-; private: virtual long __thiscall GLOBAL_ATOM::W_QueryString(unsigned short *,unsigned int)const 
-?W_QueryString@GLOBAL_ATOM@@EBEJPAGI@Z
-; private: virtual long __thiscall LOCAL_ATOM::W_QueryString(unsigned short *,unsigned int)const 
-?W_QueryString@LOCAL_ATOM@@EBEJPAGI@Z
-; private: long __thiscall ICON_CONTROL::W_SetIcon(class IDRESOURCE const &,int)
-?W_SetIcon@ICON_CONTROL@@AAEJABVIDRESOURCE@@H@Z
-; public: long __thiscall WIN32_SYNC_BASE::Wait(unsigned int)
-?Wait@WIN32_SYNC_BASE@@QAEJI@Z
-; public: long __thiscall BROWSER_DOMAIN::WaitForAdminAuthority(unsigned long,int *)const 
-?WaitForAdminAuthority@BROWSER_DOMAIN@@QBEJKPAH@Z
-; public: long __thiscall DOMAIN_FILL_THREAD::WaitForAdminAuthority(unsigned long,int *)const 
-?WaitForAdminAuthority@DOMAIN_FILL_THREAD@@QBEJKPAH@Z
-; private: int __thiscall OPEN_DIALOG_BASE::WarnCloseMulti(void)
-?WarnCloseMulti@OPEN_DIALOG_BASE@@AAEHXZ
-; private: int __thiscall OPEN_DIALOG_BASE::WarnCloseSingle(class OPEN_LBI_BASE *)
-?WarnCloseSingle@OPEN_DIALOG_BASE@@AAEHPAVOPEN_LBI_BASE@@@Z
-; private: int __thiscall ARRAY_CONTROLVAL_CID_PAIR::WithinRange(unsigned int)const 
-?WithinRange@ARRAY_CONTROLVAL_CID_PAIR@@ABEHI@Z
-; public: static long __stdcall CLIENT_WINDOW::WndProc(struct HWND__ *,unsigned int,unsigned int,long)
-?WndProc@CLIENT_WINDOW@@SGJPAUHWND__@@IIJ@Z
-; public: static long __stdcall CUSTOM_CONTROL::WndProc(struct HWND__ *,unsigned int,unsigned int,long)
-?WndProc@CUSTOM_CONTROL@@SGJPAUHWND__@@IIJ@Z
-; int __stdcall max(int,int)
-?max@@YGHHH@Z
-; int __stdcall min(int,int)
-?min@@YGHHH@Z
-; public: unsigned long (__stdcall*__thiscall GET_FNAME_BASE_DLG::pfExtendedError(void)const )(void)
-?pfExtendedError@GET_FNAME_BASE_DLG@@QBEP6GKXZXZ
-; public: int (__stdcall*__thiscall GET_FNAME_BASE_DLG::pfGetOpenFileName(void)const )(struct tagOFNW *)
-?pfGetOpenFileName@GET_FNAME_BASE_DLG@@QBEP6GHPAUtagOFNW@@@ZXZ
-; public: int (__stdcall*__thiscall GET_FNAME_BASE_DLG::pfGetSaveFileName(void)const )(struct tagOFNW *)
-?pfGetSaveFileName@GET_FNAME_BASE_DLG@@QBEP6GHPAUtagOFNW@@@ZXZ
-BltCCWndProc
-BltDlgProc
-BltWndProc
-CloseUserBrowser
-EnumUserBrowserSelection
-OpenUserBrowser
-ShellDlgProc
+; 
+; Exports of file NETUI2.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NETUI2.dll
+EXPORTS
+; public: __thiscall ACCELTABLE::ACCELTABLE(class IDRESOURCE const &)
+??0ACCELTABLE@@QAE@ABVIDRESOURCE@@@Z
+; public: __thiscall ACCOUNT_NAMES_MLE::ACCOUNT_NAMES_MLE(class OWNER_WINDOW *,unsigned int,unsigned short const *,class NT_USER_BROWSER_DIALOG *,int,unsigned long,enum FontType)
+??0ACCOUNT_NAMES_MLE@@QAE@PAVOWNER_WINDOW@@IPBGPAVNT_USER_BROWSER_DIALOG@@HKW4FontType@@@Z
+; public: __thiscall ACTIVATION_EVENT::ACTIVATION_EVENT(unsigned int,unsigned int,long)
+??0ACTIVATION_EVENT@@QAE@IIJ@Z
+; public: __thiscall ALIAS_STR::ALIAS_STR(unsigned short const *)
+??0ALIAS_STR@@QAE@PBG@Z
+; public: __thiscall ALLOC_STR::ALLOC_STR(unsigned short *,unsigned int)
+??0ALLOC_STR@@QAE@PAGI@Z
+; protected: __thiscall APPLICATION::APPLICATION(struct HINSTANCE__ *,int,unsigned int,unsigned int,unsigned int,unsigned int)
+??0APPLICATION@@IAE@PAUHINSTANCE__@@HIIII@Z
+; protected: __thiscall APP_WINDOW::APP_WINDOW(class NLS_STR const &,class IDRESOURCE const &,class IDRESOURCE const &)
+??0APP_WINDOW@@IAE@ABVNLS_STR@@ABVIDRESOURCE@@1@Z
+; protected: __thiscall APP_WINDOW::APP_WINDOW(class XYPOINT,class XYDIMENSION,class NLS_STR const &,class IDRESOURCE const &,class IDRESOURCE const &)
+??0APP_WINDOW@@IAE@VXYPOINT@@VXYDIMENSION@@ABVNLS_STR@@ABVIDRESOURCE@@3@Z
+; public: __thiscall ARRAY_CONTROLVAL_CID_PAIR::ARRAY_CONTROLVAL_CID_PAIR(unsigned int)
+??0ARRAY_CONTROLVAL_CID_PAIR@@QAE@I@Z
+; public: __thiscall ARRAY_CONTROLVAL_CID_PAIR::ARRAY_CONTROLVAL_CID_PAIR(class CONTROLVAL_CID_PAIR *,unsigned int,int)
+??0ARRAY_CONTROLVAL_CID_PAIR@@QAE@PAVCONTROLVAL_CID_PAIR@@IH@Z
+; public: __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::ARRAY_LIST_CONTROLVAL_CID_PAIR(unsigned int)
+??0ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAE@I@Z
+; public: __thiscall ARROW_BUTTON::ARROW_BUTTON(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int)
+??0ARROW_BUTTON@@QAE@PAVOWNER_WINDOW@@IIII@Z
+; public: __thiscall ARROW_BUTTON::ARROW_BUTTON(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
+??0ARROW_BUTTON@@QAE@PAVOWNER_WINDOW@@IIIIVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __thiscall ASSOCHCFILE::ASSOCHCFILE(struct HINSTANCE__ *,long,unsigned long,unsigned long)
+??0ASSOCHCFILE@@QAE@PAUHINSTANCE__@@JKK@Z
+; public: __thiscall ASSOCHWNDDISP::ASSOCHWNDDISP(struct HWND__ *,class DISPATCHER const *)
+??0ASSOCHWNDDISP@@QAE@PAUHWND__@@PBVDISPATCHER@@@Z
+; public: __thiscall ASSOCHWNDPDLG::ASSOCHWNDPDLG(struct HWND__ *,class DIALOG_WINDOW const *)
+??0ASSOCHWNDPDLG@@QAE@PAUHWND__@@PBVDIALOG_WINDOW@@@Z
+; public: __thiscall ASSOCHWNDPWND::ASSOCHWNDPWND(struct HWND__ *,class CLIENT_WINDOW const *)
+??0ASSOCHWNDPWND@@QAE@PAUHWND__@@PBVCLIENT_WINDOW@@@Z
+; public: __thiscall ASSOCHWNDTHIS::ASSOCHWNDTHIS(struct HWND__ *,void const *)
+??0ASSOCHWNDTHIS@@QAE@PAUHWND__@@PBX@Z
+; protected: __thiscall ATOM_BASE::ATOM_BASE(unsigned short)
+??0ATOM_BASE@@IAE@G@Z
+; protected: __thiscall ATOM_BASE::ATOM_BASE(void)
+??0ATOM_BASE@@IAE@XZ
+; public: __thiscall AUDIT_CHECKBOXES::AUDIT_CHECKBOXES(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,class NLS_STR const &,class BITFIELD const &)
+??0AUDIT_CHECKBOXES@@QAE@PAVOWNER_WINDOW@@IIIABVNLS_STR@@ABVBITFIELD@@@Z
+; public: __thiscall AUTO_CURSOR::AUTO_CURSOR(unsigned short const *)
+??0AUTO_CURSOR@@QAE@PBG@Z
+; protected: __thiscall BASE::BASE(void)
+??0BASE@@IAE@XZ
+; public: __thiscall BASE::BASE(class BASE const &)
+??0BASE@@QAE@ABV0@@Z
+; protected: __thiscall BASE_ELLIPSIS::BASE_ELLIPSIS(enum ELLIPSIS_STYLE)
+??0BASE_ELLIPSIS@@IAE@W4ELLIPSIS_STYLE@@@Z
+; public: __thiscall BASE_PASSWORD_DIALOG::BASE_PASSWORD_DIALOG(struct HWND__ *,unsigned short const *,unsigned int,unsigned int,unsigned long,unsigned short const *,unsigned int,unsigned int,unsigned short const *,unsigned int,unsigned short const *)
+??0BASE_PASSWORD_DIALOG@@QAE@PAUHWND__@@PBGIIK1II1I1@Z
+; public: __thiscall BASE_SET_FOCUS_DLG::BASE_SET_FOCUS_DLG(struct HWND__ * const,enum SELECTION_TYPE,unsigned long,unsigned short const *,unsigned long,unsigned short const *,unsigned long)
+??0BASE_SET_FOCUS_DLG@@QAE@QAUHWND__@@W4SELECTION_TYPE@@KPBGK2K@Z
+; public: __thiscall BIT_MAP::BIT_MAP(class IDRESOURCE const &)
+??0BIT_MAP@@QAE@ABVIDRESOURCE@@@Z
+; public: __thiscall BIT_MAP::BIT_MAP(struct HBITMAP__ *)
+??0BIT_MAP@@QAE@PAUHBITMAP__@@@Z
+; public: __thiscall BLT_BACKGROUND_EDIT::BLT_BACKGROUND_EDIT(class OWNER_WINDOW *,unsigned int)
+??0BLT_BACKGROUND_EDIT@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall BLT_COMBOBOX::BLT_COMBOBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType)
+??0BLT_COMBOBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@@Z
+; public: __thiscall BLT_COMBOBOX::BLT_COMBOBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType)
+??0BLT_COMBOBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@@Z
+; public: __thiscall BLT_DATE_SPIN_GROUP::BLT_DATE_SPIN_GROUP(class OWNER_WINDOW *,class INTL_PROFILE const &,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int)
+??0BLT_DATE_SPIN_GROUP@@QAE@PAVOWNER_WINDOW@@ABVINTL_PROFILE@@IIIIIIIII@Z
+; public: __thiscall BLT_LISTBOX::BLT_LISTBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType,int)
+??0BLT_LISTBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@H@Z
+; public: __thiscall BLT_LISTBOX::BLT_LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int)
+??0BLT_LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
+; public: __thiscall BLT_LISTBOX_HAW::BLT_LISTBOX_HAW(class OWNER_WINDOW *,unsigned int,int,enum FontType,int)
+??0BLT_LISTBOX_HAW@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@H@Z
+; public: __thiscall BLT_LISTBOX_HAW::BLT_LISTBOX_HAW(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int)
+??0BLT_LISTBOX_HAW@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
+; public: __thiscall BLT_MASTER_TIMER::BLT_MASTER_TIMER(void)
+??0BLT_MASTER_TIMER@@QAE@XZ
+; public: __thiscall BLT_SCRATCH::BLT_SCRATCH(unsigned int)
+??0BLT_SCRATCH@@QAE@I@Z
+; public: __thiscall BLT_TIME_SPIN_GROUP::BLT_TIME_SPIN_GROUP(class OWNER_WINDOW *,class INTL_PROFILE const &,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int)
+??0BLT_TIME_SPIN_GROUP@@QAE@PAVOWNER_WINDOW@@ABVINTL_PROFILE@@IIIIIIIIII@Z
+; public: __thiscall BROWSER_DOMAIN::BROWSER_DOMAIN(unsigned short const *,void *,int,int)
+??0BROWSER_DOMAIN@@QAE@PBGPAXHH@Z
+; public: __thiscall BROWSER_DOMAIN_CB::BROWSER_DOMAIN_CB(class OWNER_WINDOW *,unsigned int)
+??0BROWSER_DOMAIN_CB@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall BROWSER_DOMAIN_LB::BROWSER_DOMAIN_LB(class OWNER_WINDOW *,unsigned int,class BROWSER_DOMAIN_CB *)
+??0BROWSER_DOMAIN_LB@@QAE@PAVOWNER_WINDOW@@IPAVBROWSER_DOMAIN_CB@@@Z
+; public: __thiscall BROWSER_DOMAIN_LBI::BROWSER_DOMAIN_LBI(class BROWSER_DOMAIN *)
+??0BROWSER_DOMAIN_LBI@@QAE@PAVBROWSER_DOMAIN@@@Z
+; public: __thiscall BROWSER_DOMAIN_LBI_PB::BROWSER_DOMAIN_LBI_PB(class BROWSER_DOMAIN_LBI *)
+??0BROWSER_DOMAIN_LBI_PB@@QAE@PAVBROWSER_DOMAIN_LBI@@@Z
+; public: __thiscall BROWSER_SUBJECT::BROWSER_SUBJECT(void)
+??0BROWSER_SUBJECT@@QAE@XZ
+; public: __thiscall BROWSER_SUBJECT_ITER::BROWSER_SUBJECT_ITER(class NT_USER_BROWSER_DIALOG *)
+??0BROWSER_SUBJECT_ITER@@QAE@PAVNT_USER_BROWSER_DIALOG@@@Z
+; protected: __thiscall BUTTON_CONTROL::BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int)
+??0BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@I@Z
+; protected: __thiscall BUTTON_CONTROL::BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
+??0BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __thiscall CANCEL_TASK_DIALOG::CANCEL_TASK_DIALOG(unsigned int,struct HWND__ *,unsigned short const *,unsigned long,long,enum ELLIPSIS_STYLE)
+??0CANCEL_TASK_DIALOG@@QAE@IPAUHWND__@@PBGKJW4ELLIPSIS_STYLE@@@Z
+; public: __thiscall CHANGEABLE_SPIN_ITEM::CHANGEABLE_SPIN_ITEM(class CONTROL_WINDOW *,unsigned long,unsigned long,unsigned long,int)
+??0CHANGEABLE_SPIN_ITEM@@QAE@PAVCONTROL_WINDOW@@KKKH@Z
+; public: __thiscall CHECKBOX::CHECKBOX(class OWNER_WINDOW *,unsigned int)
+??0CHECKBOX@@QAE@PAVOWNER_WINDOW@@I@Z
+; protected: __thiscall CLIENT_WINDOW::CLIENT_WINDOW(unsigned long,class WINDOW const *,unsigned short const *)
+??0CLIENT_WINDOW@@IAE@KPBVWINDOW@@PBG@Z
+; protected: __thiscall CLIENT_WINDOW::CLIENT_WINDOW(void)
+??0CLIENT_WINDOW@@IAE@XZ
+; public: __thiscall COMBOBOX::COMBOBOX(class OWNER_WINDOW *,unsigned int,unsigned int)
+??0COMBOBOX@@QAE@PAVOWNER_WINDOW@@II@Z
+; public: __thiscall COMBOBOX::COMBOBOX(class OWNER_WINDOW *,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0COMBOBOX@@QAE@PAVOWNER_WINDOW@@IIVXYPOINT@@VXYDIMENSION@@KPBG@Z
+; public: __thiscall CONSOLE_ELLIPSIS::CONSOLE_ELLIPSIS(enum ELLIPSIS_STYLE,int)
+??0CONSOLE_ELLIPSIS@@QAE@W4ELLIPSIS_STYLE@@H@Z
+; public: __thiscall CONTROLVAL_CID_PAIR::CONTROLVAL_CID_PAIR(unsigned int,class CONTROL_VALUE *)
+??0CONTROLVAL_CID_PAIR@@QAE@IPAVCONTROL_VALUE@@@Z
+; public: __thiscall CONTROLVAL_CID_PAIR::CONTROLVAL_CID_PAIR(void)
+??0CONTROLVAL_CID_PAIR@@QAE@XZ
+; private: __thiscall CONTROL_ENTRY::CONTROL_ENTRY(class CONTROL_WINDOW *)
+??0CONTROL_ENTRY@@AAE@PAVCONTROL_WINDOW@@@Z
+; public: __thiscall CONTROL_EVENT::CONTROL_EVENT(unsigned int,unsigned int)
+??0CONTROL_EVENT@@QAE@II@Z
+; public: __thiscall CONTROL_EVENT::CONTROL_EVENT(unsigned int,unsigned int,long)
+??0CONTROL_EVENT@@QAE@IIJ@Z
+; public: __thiscall CONTROL_GROUP::CONTROL_GROUP(class CONTROL_GROUP *)
+??0CONTROL_GROUP@@QAE@PAV0@@Z
+; public: __thiscall CONTROL_TABLE::CONTROL_TABLE(void)
+??0CONTROL_TABLE@@QAE@XZ
+; public: __thiscall CONTROL_VALUE::CONTROL_VALUE(class CONTROL_GROUP *)
+??0CONTROL_VALUE@@QAE@PAVCONTROL_GROUP@@@Z
+; public: __thiscall CONTROL_WINDOW::CONTROL_WINDOW(class OWNER_WINDOW *,unsigned int)
+??0CONTROL_WINDOW@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall CONTROL_WINDOW::CONTROL_WINDOW(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0CONTROL_WINDOW@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
+; public: __thiscall CUSTOM_CONTROL::CUSTOM_CONTROL(class CONTROL_WINDOW *)
+??0CUSTOM_CONTROL@@QAE@PAVCONTROL_WINDOW@@@Z
+; public: __thiscall DEC_SLT::DEC_SLT(class OWNER_WINDOW *,unsigned int,unsigned int)
+??0DEC_SLT@@QAE@PAVOWNER_WINDOW@@II@Z
+; public: __thiscall DEC_SLT::DEC_SLT(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
+??0DEC_SLT@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
+; public: __thiscall DEVICE_COMBO::DEVICE_COMBO(class OWNER_WINDOW *,unsigned int,enum LMO_DEVICE,enum LMO_DEV_USAGE)
+??0DEVICE_COMBO@@QAE@PAVOWNER_WINDOW@@IW4LMO_DEVICE@@W4LMO_DEV_USAGE@@@Z
+; public: __thiscall DEVICE_CONTEXT::DEVICE_CONTEXT(struct HDC__ *)
+??0DEVICE_CONTEXT@@QAE@PAUHDC__@@@Z
+; protected: __thiscall DIALOG_WINDOW::DIALOG_WINDOW(unsigned char const *,unsigned int,struct HWND__ *,int)
+??0DIALOG_WINDOW@@IAE@PBEIPAUHWND__@@H@Z
+; public: __thiscall DIALOG_WINDOW::DIALOG_WINDOW(class IDRESOURCE const &,class PWND2HWND const &,int)
+??0DIALOG_WINDOW@@QAE@ABVIDRESOURCE@@ABVPWND2HWND@@H@Z
+; public: __thiscall DISK_SPACE_SUBCLASS::DISK_SPACE_SUBCLASS(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,long,long,long,long,long,int)
+??0DISK_SPACE_SUBCLASS@@QAE@PAVOWNER_WINDOW@@IIIIIJJJJJH@Z
+; protected: __thiscall DISPATCHER::DISPATCHER(class WINDOW *)
+??0DISPATCHER@@IAE@PAVWINDOW@@@Z
+; public: __thiscall DISPLAY_CONTEXT::DISPLAY_CONTEXT(struct HWND__ *)
+??0DISPLAY_CONTEXT@@QAE@PAUHWND__@@@Z
+; public: __thiscall DISPLAY_CONTEXT::DISPLAY_CONTEXT(class WINDOW *)
+??0DISPLAY_CONTEXT@@QAE@PAVWINDOW@@@Z
+; public: __thiscall DISPLAY_CONTEXT::DISPLAY_CONTEXT(class WINDOW *,struct HDC__ *)
+??0DISPLAY_CONTEXT@@QAE@PAVWINDOW@@PAUHDC__@@@Z
+; public: __thiscall DISPLAY_MAP::DISPLAY_MAP(unsigned int)
+??0DISPLAY_MAP@@QAE@I@Z
+; public: __thiscall DISPLAY_TABLE::DISPLAY_TABLE(unsigned int,unsigned int const *)
+??0DISPLAY_TABLE@@QAE@IPBI@Z
+; public: __thiscall DLGLOAD::DLGLOAD(class IDRESOURCE const &,struct HWND__ *,int (__stdcall*)(struct HWND__ *,unsigned int,unsigned int,long),int)
+??0DLGLOAD@@QAE@ABVIDRESOURCE@@PAUHWND__@@P6GH1IIJ@ZH@Z
+; public: __thiscall DLGLOAD::DLGLOAD(unsigned char const *,unsigned int,struct HWND__ *,int (__stdcall*)(struct HWND__ *,unsigned int,unsigned int,long),int)
+??0DLGLOAD@@QAE@PBEIPAUHWND__@@P6GH1IIJ@ZH@Z
+; public: __thiscall DLIST_OF_SPIN_ITEM::DLIST_OF_SPIN_ITEM(int)
+??0DLIST_OF_SPIN_ITEM@@QAE@H@Z
+; public: __thiscall DMID_DTE::DMID_DTE(unsigned int)
+??0DMID_DTE@@QAE@I@Z
+; protected: __thiscall DM_DTE::DM_DTE(void)
+??0DM_DTE@@IAE@XZ
+; public: __thiscall DM_DTE::DM_DTE(class DISPLAY_MAP *)
+??0DM_DTE@@QAE@PAVDISPLAY_MAP@@@Z
+; public: __thiscall DOMAIN_COMBO::DOMAIN_COMBO(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int)
+??0DOMAIN_COMBO@@QAE@PAVOWNER_WINDOW@@III@Z
+; public: __thiscall DOMAIN_FILL_THREAD::DOMAIN_FILL_THREAD(class NT_USER_BROWSER_DIALOG *,class BROWSER_DOMAIN *,class ADMIN_AUTHORITY const *)
+??0DOMAIN_FILL_THREAD@@QAE@PAVNT_USER_BROWSER_DIALOG@@PAVBROWSER_DOMAIN@@PBVADMIN_AUTHORITY@@@Z
+; protected: __thiscall DTE::DTE(void)
+??0DTE@@IAE@XZ
+; public: __thiscall EDIT_CONTROL::EDIT_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int)
+??0EDIT_CONTROL@@QAE@PAVOWNER_WINDOW@@II@Z
+; public: __thiscall EDIT_CONTROL::EDIT_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
+??0EDIT_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
+; public: __thiscall ELAPSED_TIME_CONTROL::ELAPSED_TIME_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,class SLT &,long,long,long,class SLT &,class SLT &,long,long,long,long,int)
+??0ELAPSED_TIME_CONTROL@@QAE@PAVOWNER_WINDOW@@IIIIIIAAVSLT@@JJJ11JJJJH@Z
+; public: __thiscall EVENT::EVENT(unsigned int,unsigned int,long)
+??0EVENT@@QAE@IIJ@Z
+; public: __thiscall EXPANDABLE_DIALOG::EXPANDABLE_DIALOG(unsigned short const *,struct HWND__ *,unsigned int,unsigned int,int)
+??0EXPANDABLE_DIALOG@@QAE@PBGPAUHWND__@@IIH@Z
+; public: __thiscall FOCUSDLG_DATA_THREAD::FOCUSDLG_DATA_THREAD(struct HWND__ *,unsigned long,enum SELECTION_TYPE,unsigned short const *,unsigned long)
+??0FOCUSDLG_DATA_THREAD@@QAE@PAUHWND__@@KW4SELECTION_TYPE@@PBGK@Z
+; public: __thiscall FOCUS_CHECKBOX::FOCUS_CHECKBOX(class OWNER_WINDOW *,unsigned int)
+??0FOCUS_CHECKBOX@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall FONT::FONT(struct tagLOGFONTW const &)
+??0FONT@@QAE@ABUtagLOGFONTW@@@Z
+; public: __thiscall FONT::FONT(unsigned short const *,unsigned char,int,enum FontAttributes)
+??0FONT@@QAE@PBGEHW4FontAttributes@@@Z
+; public: __thiscall FONT::FONT(enum FontType)
+??0FONT@@QAE@W4FontType@@@Z
+; protected: __thiscall FORWARDING_BASE::FORWARDING_BASE(class BASE *)
+??0FORWARDING_BASE@@IAE@PAVBASE@@@Z
+; protected: __thiscall GET_FNAME_BASE_DLG::GET_FNAME_BASE_DLG(class OWNER_WINDOW *,unsigned short const *,unsigned long)
+??0GET_FNAME_BASE_DLG@@IAE@PAVOWNER_WINDOW@@PBGK@Z
+; public: __thiscall GET_OPEN_FILENAME_DLG::GET_OPEN_FILENAME_DLG(class OWNER_WINDOW *,unsigned short const *,unsigned long)
+??0GET_OPEN_FILENAME_DLG@@QAE@PAVOWNER_WINDOW@@PBGK@Z
+; public: __thiscall GET_SAVE_FILENAME_DLG::GET_SAVE_FILENAME_DLG(class OWNER_WINDOW *,unsigned short const *,unsigned long)
+??0GET_SAVE_FILENAME_DLG@@QAE@PAVOWNER_WINDOW@@PBGK@Z
+; public: __thiscall GLOBAL_ATOM::GLOBAL_ATOM(unsigned short const *)
+??0GLOBAL_ATOM@@QAE@PBG@Z
+; public: __thiscall GRAPHICAL_BUTTON::GRAPHICAL_BUTTON(class OWNER_WINDOW *,unsigned int,unsigned short const *,unsigned short const *,unsigned short const *)
+??0GRAPHICAL_BUTTON@@QAE@PAVOWNER_WINDOW@@IPBG11@Z
+; public: __thiscall GRAPHICAL_BUTTON::GRAPHICAL_BUTTON(class OWNER_WINDOW *,unsigned int,unsigned short const *,unsigned short const *,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0GRAPHICAL_BUTTON@@QAE@PAVOWNER_WINDOW@@IPBG1VXYPOINT@@VXYDIMENSION@@K1@Z
+; public: __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::GRAPHICAL_BUTTON_WITH_DISABLE(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int)
+??0GRAPHICAL_BUTTON_WITH_DISABLE@@QAE@PAVOWNER_WINDOW@@IIII@Z
+; public: __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::GRAPHICAL_BUTTON_WITH_DISABLE(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
+??0GRAPHICAL_BUTTON_WITH_DISABLE@@QAE@PAVOWNER_WINDOW@@IIIIVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __thiscall HAS_MESSAGE_PUMP::HAS_MESSAGE_PUMP(void)
+??0HAS_MESSAGE_PUMP@@QAE@XZ
+; public: __thiscall HAW_FOR_HAWAII_INFO::HAW_FOR_HAWAII_INFO(void)
+??0HAW_FOR_HAWAII_INFO@@QAE@XZ
+; public: __thiscall HIDDEN_CONTROL::HIDDEN_CONTROL(class OWNER_WINDOW *,unsigned int)
+??0HIDDEN_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall HIER_LBI::HIER_LBI(int)
+??0HIER_LBI@@QAE@H@Z
+; public: __thiscall HIER_LBI_ITERATOR::HIER_LBI_ITERATOR(class HIER_LBI *,int)
+??0HIER_LBI_ITERATOR@@QAE@PAVHIER_LBI@@H@Z
+; public: __thiscall HIER_LISTBOX::HIER_LISTBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType,int)
+??0HIER_LISTBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@H@Z
+; public: __thiscall HIER_LISTBOX::HIER_LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int)
+??0HIER_LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
+; public: __thiscall H_SPLITTER_BAR::H_SPLITTER_BAR(class OWNER_WINDOW *,unsigned int)
+??0H_SPLITTER_BAR@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall H_SPLITTER_BAR::H_SPLITTER_BAR(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
+??0H_SPLITTER_BAR@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __thiscall ICANON_SLE::ICANON_SLE(class OWNER_WINDOW *,unsigned int,unsigned int,int)
+??0ICANON_SLE@@QAE@PAVOWNER_WINDOW@@IIH@Z
+; public: __thiscall ICANON_SLE::ICANON_SLE(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int,int)
+??0ICANON_SLE@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGIH@Z
+; public: __thiscall ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW *,unsigned int)
+??0ICON_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW *,unsigned int,class IDRESOURCE const &)
+??0ICON_CONTROL@@QAE@PAVOWNER_WINDOW@@IABVIDRESOURCE@@@Z
+; public: __thiscall ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,class IDRESOURCE const &,unsigned long,unsigned short const *)
+??0ICON_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@ABVIDRESOURCE@@KPBG@Z
+; public: __thiscall ICON_CONTROL::ICON_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0ICON_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
+; public: __thiscall IDRESOURCE::IDRESOURCE(unsigned int)
+??0IDRESOURCE@@QAE@I@Z
+; public: __thiscall IDRESOURCE::IDRESOURCE(unsigned short const *)
+??0IDRESOURCE@@QAE@PBG@Z
+; public: __thiscall ITER_CTRL::ITER_CTRL(class OWNER_WINDOW const *)
+??0ITER_CTRL@@QAE@PBVOWNER_WINDOW@@@Z
+; public: __thiscall ITER_DL_SPIN_ITEM::ITER_DL_SPIN_ITEM(class DLIST &)
+??0ITER_DL_SPIN_ITEM@@QAE@AAVDLIST@@@Z
+; public: __thiscall ITER_SL_ASSOCHCFILE::ITER_SL_ASSOCHCFILE(class SLIST &)
+??0ITER_SL_ASSOCHCFILE@@QAE@AAVSLIST@@@Z
+; public: __thiscall ITER_SL_CLIENTDATA::ITER_SL_CLIENTDATA(class SLIST &)
+??0ITER_SL_CLIENTDATA@@QAE@AAVSLIST@@@Z
+; public: __thiscall ITER_SL_STRING_BITSET_PAIR::ITER_SL_STRING_BITSET_PAIR(class SLIST &)
+??0ITER_SL_STRING_BITSET_PAIR@@QAE@AAVSLIST@@@Z
+; public: __thiscall ITER_SL_TIMER_BASE::ITER_SL_TIMER_BASE(class SLIST &)
+??0ITER_SL_TIMER_BASE@@QAE@AAVSLIST@@@Z
+; public: __thiscall ITER_SL_UI_EXT::ITER_SL_UI_EXT(class SLIST &)
+??0ITER_SL_UI_EXT@@QAE@AAVSLIST@@@Z
+; public: __thiscall ITER_SL_USER_BROWSER_LBI::ITER_SL_USER_BROWSER_LBI(class SLIST &)
+??0ITER_SL_USER_BROWSER_LBI@@QAE@AAVSLIST@@@Z
+; public: __thiscall LAZY_LISTBOX::LAZY_LISTBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType)
+??0LAZY_LISTBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@@Z
+; public: __thiscall LAZY_LISTBOX::LAZY_LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType)
+??0LAZY_LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@@Z
+; public: __thiscall LBI::LBI(void)
+??0LBI@@QAE@XZ
+; public: __thiscall LBITREE::LBITREE(void)
+??0LBITREE@@QAE@XZ
+; public: __thiscall LBI_HEAP::LBI_HEAP(int,int)
+??0LBI_HEAP@@QAE@HH@Z
+; public: __thiscall LB_COLUMN_HEADER::LB_COLUMN_HEADER(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION)
+??0LB_COLUMN_HEADER@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@@Z
+; public: __thiscall LB_COL_WIDTHS::LB_COL_WIDTHS(struct HWND__ *,struct HINSTANCE__ *,class IDRESOURCE const &,unsigned int,unsigned int)
+??0LB_COL_WIDTHS@@QAE@PAUHWND__@@PAUHINSTANCE__@@ABVIDRESOURCE@@II@Z
+; public: __thiscall LISTBOX::LISTBOX(class OWNER_WINDOW *,unsigned int,int,enum FontType,int)
+??0LISTBOX@@QAE@PAVOWNER_WINDOW@@IHW4FontType@@H@Z
+; public: __thiscall LISTBOX::LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int,enum FontType,int)
+??0LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KHW4FontType@@H@Z
+; protected: __thiscall LIST_CONTROL::LIST_CONTROL(class OWNER_WINDOW *,unsigned int,int)
+??0LIST_CONTROL@@IAE@PAVOWNER_WINDOW@@IH@Z
+; protected: __thiscall LIST_CONTROL::LIST_CONTROL(class OWNER_WINDOW *,unsigned int,int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0LIST_CONTROL@@IAE@PAVOWNER_WINDOW@@IHVXYPOINT@@VXYDIMENSION@@KPBG@Z
+; public: __thiscall LM_OLLB::LM_OLLB(class OWNER_WINDOW *,unsigned int,enum SELECTION_TYPE,unsigned long)
+??0LM_OLLB@@QAE@PAVOWNER_WINDOW@@IW4SELECTION_TYPE@@K@Z
+; public: __thiscall LM_OLLB::LM_OLLB(class OWNER_WINDOW *,unsigned int,enum SELECTION_TYPE,unsigned short const *,unsigned long,unsigned long)
+??0LM_OLLB@@QAE@PAVOWNER_WINDOW@@IW4SELECTION_TYPE@@PBGKK@Z
+; public: __thiscall LOCAL_ATOM::LOCAL_ATOM(unsigned short const *)
+??0LOCAL_ATOM@@QAE@PBG@Z
+; public: __thiscall LOGON_HOURS_CONTROL::LOGON_HOURS_CONTROL(class OWNER_WINDOW *,unsigned int)
+??0LOGON_HOURS_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall LOGON_HOURS_CONTROL::LOGON_HOURS_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION)
+??0LOGON_HOURS_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@@Z
+; public: __thiscall MAGIC_GROUP::MAGIC_GROUP(class OWNER_WINDOW *,unsigned int,int,unsigned int,class CONTROL_GROUP *)
+??0MAGIC_GROUP@@QAE@PAVOWNER_WINDOW@@IHIPAVCONTROL_GROUP@@@Z
+; public: __thiscall MASK_MAP::MASK_MAP(void)
+??0MASK_MAP@@QAE@XZ
+; public: __thiscall MEMORY_DC::MEMORY_DC(class DEVICE_CONTEXT &)
+??0MEMORY_DC@@QAE@AAVDEVICE_CONTEXT@@@Z
+; protected: __thiscall MENUITEM::MENUITEM(struct HMENU__ *,unsigned int)
+??0MENUITEM@@IAE@PAUHMENU__@@I@Z
+; public: __thiscall MENUITEM::MENUITEM(class APP_WINDOW *,unsigned int)
+??0MENUITEM@@QAE@PAVAPP_WINDOW@@I@Z
+; protected: __thiscall MENU_BASE::MENU_BASE(struct HMENU__ *)
+??0MENU_BASE@@IAE@PAUHMENU__@@@Z
+; public: __thiscall METER::METER(class OWNER_WINDOW *,unsigned int,unsigned long)
+??0METER@@QAE@PAVOWNER_WINDOW@@IK@Z
+; public: __thiscall METER::METER(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long)
+??0METER@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KK@Z
+; public: __thiscall MLE::MLE(class OWNER_WINDOW *,unsigned int,unsigned int)
+??0MLE@@QAE@PAVOWNER_WINDOW@@II@Z
+; public: __thiscall MLE::MLE(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
+??0MLE@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
+; public: __thiscall MLE_FONT::MLE_FONT(class OWNER_WINDOW *,unsigned int,enum FontType)
+??0MLE_FONT@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
+; public: __thiscall MLT::MLT(class OWNER_WINDOW *,unsigned int)
+??0MLT@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall MLT::MLT(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0MLT@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
+; public: __thiscall MLT_FONT::MLT_FONT(class OWNER_WINDOW *,unsigned int,enum FontType)
+??0MLT_FONT@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
+; public: __thiscall MOUSE_EVENT::MOUSE_EVENT(unsigned int,unsigned int,long)
+??0MOUSE_EVENT@@QAE@IIJ@Z
+; public: __thiscall MSGPOPUP_DIALOG::MSGPOPUP_DIALOG(struct HWND__ *,class NLS_STR const &,long,enum MSG_SEVERITY,unsigned long,unsigned int,unsigned int,long,unsigned long)
+??0MSGPOPUP_DIALOG@@QAE@PAUHWND__@@ABVNLS_STR@@JW4MSG_SEVERITY@@KIIJK@Z
+; protected: __thiscall MSG_DIALOG_BASE::MSG_DIALOG_BASE(struct HWND__ *,unsigned short const *,unsigned int)
+??0MSG_DIALOG_BASE@@IAE@PAUHWND__@@PBGI@Z
+; public: __thiscall NT_FIND_ACCOUNT_DIALOG::NT_FIND_ACCOUNT_DIALOG(struct HWND__ *,class NT_USER_BROWSER_DIALOG *,class BROWSER_DOMAIN_CB *,unsigned short const *,unsigned long)
+??0NT_FIND_ACCOUNT_DIALOG@@QAE@PAUHWND__@@PAVNT_USER_BROWSER_DIALOG@@PAVBROWSER_DOMAIN_CB@@PBGK@Z
+; public: __thiscall NT_GLOBALGROUP_BROWSER_DIALOG::NT_GLOBALGROUP_BROWSER_DIALOG(struct HWND__ *,class NT_USER_BROWSER_DIALOG *,unsigned short const *,unsigned short const *,class OS_SID const *,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
+??0NT_GLOBALGROUP_BROWSER_DIALOG@@QAE@PAUHWND__@@PAVNT_USER_BROWSER_DIALOG@@PBG2PBVOS_SID@@PBVSAM_DOMAIN@@PAVLSA_POLICY@@2@Z
+; public: __thiscall NT_GROUP_BROWSER_DIALOG::NT_GROUP_BROWSER_DIALOG(unsigned short const *,struct HWND__ *,class NT_USER_BROWSER_DIALOG *,unsigned short const *,unsigned short const *)
+??0NT_GROUP_BROWSER_DIALOG@@QAE@PBGPAUHWND__@@PAVNT_USER_BROWSER_DIALOG@@00@Z
+; public: __thiscall NT_GROUP_BROWSER_LB::NT_GROUP_BROWSER_LB(class OWNER_WINDOW *,unsigned int)
+??0NT_GROUP_BROWSER_LB@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall NT_LOCALGROUP_BROWSER_DIALOG::NT_LOCALGROUP_BROWSER_DIALOG(struct HWND__ *,class NT_USER_BROWSER_DIALOG *,unsigned short const *,unsigned short const *,class OS_SID const *,class SAM_DOMAIN const *,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
+??0NT_LOCALGROUP_BROWSER_DIALOG@@QAE@PAUHWND__@@PAVNT_USER_BROWSER_DIALOG@@PBG2PBVOS_SID@@PBVSAM_DOMAIN@@4PAVLSA_POLICY@@2@Z
+; public: __thiscall NT_USER_BROWSER_DIALOG::NT_USER_BROWSER_DIALOG(unsigned short const *,struct HWND__ *,unsigned short const *,unsigned long,unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,class ADMIN_AUTHORITY const *)
+??0NT_USER_BROWSER_DIALOG@@QAE@PBGPAUHWND__@@0KK0KKKPBVADMIN_AUTHORITY@@@Z
+; public: __thiscall OLLB_ENTRY::OLLB_ENTRY(enum OUTLINE_LB_LEVEL,int,unsigned short const *,unsigned short const *,unsigned short const *)
+??0OLLB_ENTRY@@QAE@W4OUTLINE_LB_LEVEL@@HPBG11@Z
+; public: __thiscall OPEN_DIALOG_BASE::OPEN_DIALOG_BASE(struct HWND__ *,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned short const *,unsigned short const *,class OPEN_LBOX_BASE *)
+??0OPEN_DIALOG_BASE@@QAE@PAUHWND__@@IIIIIPBG1PAVOPEN_LBOX_BASE@@@Z
+; public: __thiscall OPEN_LBI_BASE::OPEN_LBI_BASE(unsigned short const *,unsigned short const *,unsigned long,unsigned long,unsigned long)
+??0OPEN_LBI_BASE@@QAE@PBG0KKK@Z
+; public: __thiscall OPEN_LBOX_BASE::OPEN_LBOX_BASE(class OWNER_WINDOW *,unsigned int,class NLS_STR const &,class NLS_STR const &)
+??0OPEN_LBOX_BASE@@QAE@PAVOWNER_WINDOW@@IABVNLS_STR@@1@Z
+; public: __thiscall ORDER_GROUP::ORDER_GROUP(class STRING_LISTBOX *,class BUTTON_CONTROL *,class BUTTON_CONTROL *,class CONTROL_GROUP *)
+??0ORDER_GROUP@@QAE@PAVSTRING_LISTBOX@@PAVBUTTON_CONTROL@@1PAVCONTROL_GROUP@@@Z
+; public: __thiscall OUTLINE_LISTBOX::OUTLINE_LISTBOX(class OWNER_WINDOW *,unsigned int,int)
+??0OUTLINE_LISTBOX@@QAE@PAVOWNER_WINDOW@@IH@Z
+; public: __thiscall OWNER_WINDOW::OWNER_WINDOW(unsigned short const *,unsigned long,class WINDOW const *)
+??0OWNER_WINDOW@@QAE@PBGKPBVWINDOW@@@Z
+; public: __thiscall OWNER_WINDOW::OWNER_WINDOW(void)
+??0OWNER_WINDOW@@QAE@XZ
+; public: __thiscall OWNINGWND::OWNINGWND(struct HWND__ *)
+??0OWNINGWND@@QAE@PAUHWND__@@@Z
+; public: __thiscall OWNINGWND::OWNINGWND(class OWNER_WINDOW const *)
+??0OWNINGWND@@QAE@PBVOWNER_WINDOW@@@Z
+; public: __thiscall PAINT_DISPLAY_CONTEXT::PAINT_DISPLAY_CONTEXT(class WINDOW *)
+??0PAINT_DISPLAY_CONTEXT@@QAE@PAVWINDOW@@@Z
+; public: __thiscall PASSWORD_CONTROL::PASSWORD_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int)
+??0PASSWORD_CONTROL@@QAE@PAVOWNER_WINDOW@@II@Z
+; public: __thiscall PASSWORD_CONTROL::PASSWORD_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
+??0PASSWORD_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
+; public: __thiscall POPUP::POPUP(struct HWND__ *,long,enum MSG_SEVERITY,unsigned int,unsigned int,int)
+??0POPUP@@QAE@PAUHWND__@@JW4MSG_SEVERITY@@IIH@Z
+; public: __thiscall POPUP::POPUP(struct HWND__ *,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR const * *,unsigned int)
+??0POPUP@@QAE@PAUHWND__@@JW4MSG_SEVERITY@@KIPAPBVNLS_STR@@I@Z
+; public: __thiscall POPUP_MENU::POPUP_MENU(class IDRESOURCE &)
+??0POPUP_MENU@@QAE@AAVIDRESOURCE@@@Z
+; public: __thiscall POPUP_MENU::POPUP_MENU(class PWND2HWND const &)
+??0POPUP_MENU@@QAE@ABVPWND2HWND@@@Z
+; public: __thiscall POPUP_MENU::POPUP_MENU(struct HMENU__ *)
+??0POPUP_MENU@@QAE@PAUHMENU__@@@Z
+; public: __thiscall POPUP_MENU::POPUP_MENU(void)
+??0POPUP_MENU@@QAE@XZ
+; public: __thiscall PROC_INSTANCE::PROC_INSTANCE(unsigned long)
+??0PROC_INSTANCE@@QAE@K@Z
+; public: __thiscall PROC_TIMER::PROC_TIMER(struct HWND__ *,unsigned long,unsigned long,int)
+??0PROC_TIMER@@QAE@PAUHWND__@@KKH@Z
+; public: __thiscall PROGRESS_CONTROL::PROGRESS_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int)
+??0PROGRESS_CONTROL@@QAE@PAVOWNER_WINDOW@@III@Z
+; public: __thiscall PROMPT_AND_CONNECT::PROMPT_AND_CONNECT(struct HWND__ *,unsigned short const *,unsigned long,unsigned int,unsigned short const *)
+??0PROMPT_AND_CONNECT@@QAE@PAUHWND__@@PBGKI1@Z
+; public: __thiscall PROMPT_FOR_ANY_DC_DLG::PROMPT_FOR_ANY_DC_DLG(class PWND2HWND &,unsigned long,class NLS_STR const *,class PWND2HWND *)
+??0PROMPT_FOR_ANY_DC_DLG@@QAE@AAVPWND2HWND@@KPBVNLS_STR@@PAV2@@Z
+; public: __thiscall PUSH_BUTTON::PUSH_BUTTON(class OWNER_WINDOW *,unsigned int)
+??0PUSH_BUTTON@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall PUSH_BUTTON::PUSH_BUTTON(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
+??0PUSH_BUTTON@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __thiscall PWND2HWND::PWND2HWND(struct HWND__ *)
+??0PWND2HWND@@QAE@PAUHWND__@@@Z
+; public: __thiscall RADIO_BUTTON::RADIO_BUTTON(class OWNER_WINDOW *,unsigned int)
+??0RADIO_BUTTON@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall RADIO_GROUP::RADIO_GROUP(class OWNER_WINDOW *,unsigned int,int,unsigned int,class CONTROL_GROUP *)
+??0RADIO_GROUP@@QAE@PAVOWNER_WINDOW@@IHIPAVCONTROL_GROUP@@@Z
+; public: __thiscall RESOURCE_PASSWORD_DIALOG::RESOURCE_PASSWORD_DIALOG(struct HWND__ *,unsigned short const *,unsigned int,unsigned long)
+??0RESOURCE_PASSWORD_DIALOG@@QAE@PAUHWND__@@PBGIK@Z
+; public: __thiscall RESOURCE_STR::RESOURCE_STR(long)
+??0RESOURCE_STR@@QAE@J@Z
+; public: __thiscall RITER_DL_SPIN_ITEM::RITER_DL_SPIN_ITEM(class DLIST &)
+??0RITER_DL_SPIN_ITEM@@QAE@AAVDLIST@@@Z
+; public: __thiscall SCREEN_DC::SCREEN_DC(void)
+??0SCREEN_DC@@QAE@XZ
+; public: __thiscall SCROLLBAR::SCROLLBAR(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
+??0SCROLLBAR@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __thiscall SCROLL_EVENT::SCROLL_EVENT(unsigned int,unsigned int,long)
+??0SCROLL_EVENT@@QAE@IIJ@Z
+; public: __thiscall SET_CONTROL::SET_CONTROL(class OWNER_WINDOW *,unsigned int,unsigned int,struct HICON__ *,struct HICON__ *,class LISTBOX *,class LISTBOX *,unsigned int)
+??0SET_CONTROL@@QAE@PAVOWNER_WINDOW@@IIPAUHICON__@@1PAVLISTBOX@@2I@Z
+; public: __thiscall SET_OF_AUDIT_CATEGORIES::SET_OF_AUDIT_CATEGORIES(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,class MASK_MAP *,class BITFIELD *,class BITFIELD *,int)
+??0SET_OF_AUDIT_CATEGORIES@@QAE@PAVOWNER_WINDOW@@IIIPAVMASK_MAP@@PAVBITFIELD@@2H@Z
+; public: __thiscall SLE::SLE(class OWNER_WINDOW *,unsigned int,unsigned int)
+??0SLE@@QAE@PAVOWNER_WINDOW@@II@Z
+; public: __thiscall SLE::SLE(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int)
+??0SLE@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGI@Z
+; public: __thiscall SLE_FONT::SLE_FONT(class OWNER_WINDOW *,unsigned int,enum FontType)
+??0SLE_FONT@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
+; public: __thiscall SLE_STRIP::SLE_STRIP(class OWNER_WINDOW *,unsigned int,unsigned int,int)
+??0SLE_STRIP@@QAE@PAVOWNER_WINDOW@@IIH@Z
+; public: __thiscall SLE_STRIP::SLE_STRIP(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,unsigned int,int)
+??0SLE_STRIP@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGIH@Z
+; public: __thiscall SLE_STRLB_GROUP::SLE_STRLB_GROUP(class OWNER_WINDOW *,class SLE *,class STRING_LISTBOX *,class PUSH_BUTTON *,class PUSH_BUTTON *)
+??0SLE_STRLB_GROUP@@QAE@PAVOWNER_WINDOW@@PAVSLE@@PAVSTRING_LISTBOX@@PAVPUSH_BUTTON@@3@Z
+; public: __thiscall SLIST_OF_ASSOCHCFILE::SLIST_OF_ASSOCHCFILE(int)
+??0SLIST_OF_ASSOCHCFILE@@QAE@H@Z
+; public: __thiscall SLIST_OF_CLIENTDATA::SLIST_OF_CLIENTDATA(int)
+??0SLIST_OF_CLIENTDATA@@QAE@H@Z
+; public: __thiscall SLIST_OF_OS_SID::SLIST_OF_OS_SID(int)
+??0SLIST_OF_OS_SID@@QAE@H@Z
+; public: __thiscall SLIST_OF_STRING_BITSET_PAIR::SLIST_OF_STRING_BITSET_PAIR(int)
+??0SLIST_OF_STRING_BITSET_PAIR@@QAE@H@Z
+; public: __thiscall SLIST_OF_TIMER_BASE::SLIST_OF_TIMER_BASE(int)
+??0SLIST_OF_TIMER_BASE@@QAE@H@Z
+; public: __thiscall SLIST_OF_UI_EXT::SLIST_OF_UI_EXT(int)
+??0SLIST_OF_UI_EXT@@QAE@H@Z
+; public: __thiscall SLIST_OF_ULC_API_BUFFER::SLIST_OF_ULC_API_BUFFER(int)
+??0SLIST_OF_ULC_API_BUFFER@@QAE@H@Z
+; public: __thiscall SLIST_OF_USER_BROWSER_LBI::SLIST_OF_USER_BROWSER_LBI(int)
+??0SLIST_OF_USER_BROWSER_LBI@@QAE@H@Z
+; public: __thiscall SLT::SLT(class OWNER_WINDOW *,unsigned int)
+??0SLT@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall SLT::SLT(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0SLT@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
+; public: __thiscall SLT_ELLIPSIS::SLT_ELLIPSIS(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,enum ELLIPSIS_STYLE)
+??0SLT_ELLIPSIS@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGW4ELLIPSIS_STYLE@@@Z
+; public: __thiscall SLT_ELLIPSIS::SLT_ELLIPSIS(class OWNER_WINDOW *,unsigned int,enum ELLIPSIS_STYLE)
+??0SLT_ELLIPSIS@@QAE@PAVOWNER_WINDOW@@IW4ELLIPSIS_STYLE@@@Z
+; public: __thiscall SLT_FONT::SLT_FONT(class OWNER_WINDOW *,unsigned int,enum FontType)
+??0SLT_FONT@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
+; public: __thiscall SOLID_BRUSH::SOLID_BRUSH(int)
+??0SOLID_BRUSH@@QAE@H@Z
+; public: __thiscall SPIN_GROUP::SPIN_GROUP(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,int)
+??0SPIN_GROUP@@QAE@PAVOWNER_WINDOW@@IIIH@Z
+; public: __thiscall SPIN_GROUP::SPIN_GROUP(class OWNER_WINDOW *,unsigned int,unsigned int,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,int)
+??0SPIN_GROUP@@QAE@PAVOWNER_WINDOW@@IIIVXYPOINT@@VXYDIMENSION@@KH@Z
+; public: __thiscall SPIN_ITEM::SPIN_ITEM(class CONTROL_WINDOW *)
+??0SPIN_ITEM@@QAE@PAVCONTROL_WINDOW@@@Z
+; public: __thiscall SPIN_SLE_NUM::SPIN_SLE_NUM(class OWNER_WINDOW *,unsigned int,unsigned long,unsigned long,unsigned long,int,unsigned int)
+??0SPIN_SLE_NUM@@QAE@PAVOWNER_WINDOW@@IKKKHI@Z
+; public: __thiscall SPIN_SLE_NUM::SPIN_SLE_NUM(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long,unsigned long,unsigned long,int,unsigned int)
+??0SPIN_SLE_NUM@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KKKKHI@Z
+; public: __thiscall SPIN_SLE_NUM_VALID::SPIN_SLE_NUM_VALID(class OWNER_WINDOW *,unsigned int,unsigned long,unsigned long,unsigned long,int)
+??0SPIN_SLE_NUM_VALID@@QAE@PAVOWNER_WINDOW@@IKKKH@Z
+; public: __thiscall SPIN_SLE_NUM_VALID::SPIN_SLE_NUM_VALID(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned long,unsigned long,unsigned long,int)
+??0SPIN_SLE_NUM_VALID@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KKKKH@Z
+; public: __thiscall SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW *,unsigned int,long,long,int,unsigned int)
+??0SPIN_SLE_STR@@QAE@PAVOWNER_WINDOW@@IJJHI@Z
+; public: __thiscall SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW *,unsigned int,long,long,class XYPOINT,class XYDIMENSION,unsigned long,int,unsigned int)
+??0SPIN_SLE_STR@@QAE@PAVOWNER_WINDOW@@IJJVXYPOINT@@VXYDIMENSION@@KHI@Z
+; public: __thiscall SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW *,unsigned int,unsigned short const * * const,long,int,unsigned int)
+??0SPIN_SLE_STR@@QAE@PAVOWNER_WINDOW@@IQAPBGJHI@Z
+; public: __thiscall SPIN_SLE_STR::SPIN_SLE_STR(class OWNER_WINDOW *,unsigned int,unsigned short const * * const,long,class XYPOINT,class XYDIMENSION,unsigned long,int,unsigned int)
+??0SPIN_SLE_STR@@QAE@PAVOWNER_WINDOW@@IQAPBGJVXYPOINT@@VXYDIMENSION@@KHI@Z
+; public: __thiscall SPIN_SLE_VALID_SECOND::SPIN_SLE_VALID_SECOND(class OWNER_WINDOW *,unsigned int,long,long,long,long,int)
+??0SPIN_SLE_VALID_SECOND@@QAE@PAVOWNER_WINDOW@@IJJJJH@Z
+; public: __thiscall SPIN_SLT_SEPARATOR::SPIN_SLT_SEPARATOR(class OWNER_WINDOW *,unsigned int)
+??0SPIN_SLT_SEPARATOR@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall SPIN_SLT_SEPARATOR::SPIN_SLT_SEPARATOR(class OWNER_WINDOW *,unsigned int,unsigned short const *,class XYPOINT,class XYDIMENSION,unsigned long)
+??0SPIN_SLT_SEPARATOR@@QAE@PAVOWNER_WINDOW@@IPBGVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __thiscall STANDALONE_SET_FOCUS_DLG::STANDALONE_SET_FOCUS_DLG(struct HWND__ *,class NLS_STR *,unsigned long,enum SELECTION_TYPE,unsigned long,unsigned short const *,unsigned short const *,unsigned long)
+??0STANDALONE_SET_FOCUS_DLG@@QAE@PAUHWND__@@PAVNLS_STR@@KW4SELECTION_TYPE@@KPBG3K@Z
+; protected: __thiscall STATE2_BUTTON_CONTROL::STATE2_BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int)
+??0STATE2_BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall STATELB::STATELB(int * const,class OWNER_WINDOW *,unsigned int,int,int,enum FontType)
+??0STATELB@@QAE@QAHPAVOWNER_WINDOW@@IHHW4FontType@@@Z
+; public: __thiscall STATELBGRP::STATELBGRP(class STATELB *)
+??0STATELBGRP@@QAE@PAVSTATELB@@@Z
+; public: __thiscall STATELBGRP::STATELBGRP(int * const,class OWNER_WINDOW *,unsigned int,int,int,enum FontType)
+??0STATELBGRP@@QAE@QAHPAVOWNER_WINDOW@@IHHW4FontType@@@Z
+; protected: __thiscall STATE_BUTTON_CONTROL::STATE_BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int)
+??0STATE_BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@I@Z
+; protected: __thiscall STATE_BUTTON_CONTROL::STATE_BUTTON_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long)
+??0STATE_BUTTON_CONTROL@@IAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@K@Z
+; public: __thiscall STATIC_SPIN_ITEM::STATIC_SPIN_ITEM(class CONTROL_WINDOW *)
+??0STATIC_SPIN_ITEM@@QAE@PAVCONTROL_WINDOW@@@Z
+; public: __thiscall STATIC_TEXT_CONTROL::STATIC_TEXT_CONTROL(class OWNER_WINDOW *,unsigned int)
+??0STATIC_TEXT_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall STATIC_TEXT_CONTROL::STATIC_TEXT_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0STATIC_TEXT_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
+; public: __thiscall STLBITEM::STLBITEM(class STATELBGRP *)
+??0STLBITEM@@QAE@PAVSTATELBGRP@@@Z
+; public: __thiscall STRING_BITSET_PAIR::STRING_BITSET_PAIR(class NLS_STR const &,class BITFIELD const &,int)
+??0STRING_BITSET_PAIR@@QAE@ABVNLS_STR@@ABVBITFIELD@@H@Z
+; public: __thiscall STRING_LISTBOX::STRING_LISTBOX(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *,enum FontType)
+??0STRING_LISTBOX@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBGW4FontType@@@Z
+; public: __thiscall STRING_LISTBOX::STRING_LISTBOX(class OWNER_WINDOW *,unsigned int,enum FontType)
+??0STRING_LISTBOX@@QAE@PAVOWNER_WINDOW@@IW4FontType@@@Z
+; protected: __thiscall STRING_LIST_CONTROL::STRING_LIST_CONTROL(class OWNER_WINDOW *,unsigned int,int)
+??0STRING_LIST_CONTROL@@IAE@PAVOWNER_WINDOW@@IH@Z
+; protected: __thiscall STRING_LIST_CONTROL::STRING_LIST_CONTROL(class OWNER_WINDOW *,unsigned int,int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0STRING_LIST_CONTROL@@IAE@PAVOWNER_WINDOW@@IHVXYPOINT@@VXYDIMENSION@@KPBG@Z
+; public: __thiscall STR_DTE::STR_DTE(unsigned short const *)
+??0STR_DTE@@QAE@PBG@Z
+; public: __thiscall STR_DTE_ELLIPSIS::STR_DTE_ELLIPSIS(unsigned short const *,class LISTBOX *,enum ELLIPSIS_STYLE)
+??0STR_DTE_ELLIPSIS@@QAE@PBGPAVLISTBOX@@W4ELLIPSIS_STYLE@@@Z
+; public: __thiscall SUBJECT_BITMAP_BLOCK::SUBJECT_BITMAP_BLOCK(void)
+??0SUBJECT_BITMAP_BLOCK@@QAE@XZ
+; public: __thiscall SYSMENUITEM::SYSMENUITEM(class OWNER_WINDOW *,unsigned int)
+??0SYSMENUITEM@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall SYSTEM_MENU::SYSTEM_MENU(class PWND2HWND const &)
+??0SYSTEM_MENU@@QAE@ABVPWND2HWND@@@Z
+; public: __thiscall TEXT_CONTROL::TEXT_CONTROL(class OWNER_WINDOW *,unsigned int)
+??0TEXT_CONTROL@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall TEXT_CONTROL::TEXT_CONTROL(class OWNER_WINDOW *,unsigned int,class XYPOINT,class XYDIMENSION,unsigned long,unsigned short const *)
+??0TEXT_CONTROL@@QAE@PAVOWNER_WINDOW@@IVXYPOINT@@VXYDIMENSION@@KPBG@Z
+; public: __thiscall TIMER::TIMER(class TIMER_CALLOUT *,unsigned long,int)
+??0TIMER@@QAE@PAVTIMER_CALLOUT@@KH@Z
+; public: __thiscall TIMER_BASE::TIMER_BASE(unsigned long,int)
+??0TIMER_BASE@@QAE@KH@Z
+; public: __thiscall TIMER_EVENT::TIMER_EVENT(unsigned int,unsigned int,long)
+??0TIMER_EVENT@@QAE@IIJ@Z
+; public: __thiscall TIMER_WINDOW::TIMER_WINDOW(class BLT_MASTER_TIMER *)
+??0TIMER_WINDOW@@QAE@PAVBLT_MASTER_TIMER@@@Z
+; public: __thiscall UI_DOMAIN::UI_DOMAIN(class PWND2HWND &,unsigned long,unsigned short const *,int)
+??0UI_DOMAIN@@QAE@AAVPWND2HWND@@KPBGH@Z
+; protected: __thiscall UI_EXT::UI_EXT(unsigned short const *,unsigned long)
+??0UI_EXT@@IAE@PBGK@Z
+; public: __thiscall UI_EXT_MGR::UI_EXT_MGR(class UI_EXT_MGR_IF *,unsigned long,unsigned long)
+??0UI_EXT_MGR@@QAE@PAVUI_EXT_MGR_IF@@KK@Z
+; protected: __thiscall UI_EXT_MGR_IF::UI_EXT_MGR_IF(void)
+??0UI_EXT_MGR_IF@@IAE@XZ
+; protected: __thiscall UI_MENU_EXT::UI_MENU_EXT(unsigned short const *,unsigned long)
+??0UI_MENU_EXT@@IAE@PBGK@Z
+; public: __thiscall UI_MENU_EXT_MGR::UI_MENU_EXT_MGR(class UI_EXT_MGR_IF *,unsigned long,unsigned long)
+??0UI_MENU_EXT_MGR@@QAE@PAVUI_EXT_MGR_IF@@KK@Z
+; public: __thiscall ULC_API_BUFFER::ULC_API_BUFFER(struct _DOMAIN_DISPLAY_USER *,unsigned long)
+??0ULC_API_BUFFER@@QAE@PAU_DOMAIN_DISPLAY_USER@@K@Z
+; public: __thiscall USER_BROWSER_LB::USER_BROWSER_LB(class OWNER_WINDOW *,unsigned int)
+??0USER_BROWSER_LB@@QAE@PAVOWNER_WINDOW@@I@Z
+; public: __thiscall USER_BROWSER_LBI::USER_BROWSER_LBI(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,void * const,enum UI_SystemSid,enum _SID_NAME_USE,unsigned long)
+??0USER_BROWSER_LBI@@QAE@PBG0000QAXW4UI_SystemSid@@W4_SID_NAME_USE@@K@Z
+; public: __thiscall USER_BROWSER_LBI_CACHE::USER_BROWSER_LBI_CACHE(void)
+??0USER_BROWSER_LBI_CACHE@@QAE@XZ
+; public: __thiscall USER_LBI_CACHE::USER_LBI_CACHE(int)
+??0USER_LBI_CACHE@@QAE@H@Z
+; public: __thiscall USRLB_NT_GROUP_ENUM::USRLB_NT_GROUP_ENUM(class SAM_DOMAIN const *)
+??0USRLB_NT_GROUP_ENUM@@QAE@PBVSAM_DOMAIN@@@Z
+; public: __thiscall WIN32_EVENT::WIN32_EVENT(unsigned short const *,int,int)
+??0WIN32_EVENT@@QAE@PBGHH@Z
+; public: __thiscall WIN32_HANDLE::WIN32_HANDLE(void *)
+??0WIN32_HANDLE@@QAE@PAX@Z
+; public: __thiscall WIN32_MUTEX::WIN32_MUTEX(unsigned short const *,int)
+??0WIN32_MUTEX@@QAE@PBGH@Z
+; public: __thiscall WIN32_SEMAPHORE::WIN32_SEMAPHORE(unsigned short const *,long,long)
+??0WIN32_SEMAPHORE@@QAE@PBGJJ@Z
+; protected: __thiscall WIN32_SYNC_BASE::WIN32_SYNC_BASE(void *)
+??0WIN32_SYNC_BASE@@IAE@PAX@Z
+; public: __thiscall WIN32_THREAD::WIN32_THREAD(int,unsigned int,unsigned short const *)
+??0WIN32_THREAD@@QAE@HIPBG@Z
+; public: __thiscall WINDOW::WINDOW(class WINDOW const &)
+??0WINDOW@@QAE@ABV0@@Z
+; public: __thiscall WINDOW::WINDOW(struct HWND__ *)
+??0WINDOW@@QAE@PAUHWND__@@@Z
+; public: __thiscall WINDOW::WINDOW(unsigned short const *,unsigned long,class WINDOW const *,unsigned int)
+??0WINDOW@@QAE@PBGKPBV0@I@Z
+; public: __thiscall WINDOW::WINDOW(void)
+??0WINDOW@@QAE@XZ
+; public: __thiscall WINDOW_TIMER::WINDOW_TIMER(struct HWND__ *,unsigned long,int,int)
+??0WINDOW_TIMER@@QAE@PAUHWND__@@KHH@Z
+; public: __thiscall WIN_ELLIPSIS::WIN_ELLIPSIS(class WINDOW *,struct HDC__ *,struct tagRECT const *,enum ELLIPSIS_STYLE)
+??0WIN_ELLIPSIS@@QAE@PAVWINDOW@@PAUHDC__@@PBUtagRECT@@W4ELLIPSIS_STYLE@@@Z
+; public: __thiscall WIN_ELLIPSIS::WIN_ELLIPSIS(class WINDOW *,enum ELLIPSIS_STYLE)
+??0WIN_ELLIPSIS@@QAE@PAVWINDOW@@W4ELLIPSIS_STYLE@@@Z
+; public: __thiscall XYDIMENSION::XYDIMENSION(struct tagSIZE const &)
+??0XYDIMENSION@@QAE@ABUtagSIZE@@@Z
+; public: __thiscall XYDIMENSION::XYDIMENSION(unsigned int,unsigned int)
+??0XYDIMENSION@@QAE@II@Z
+; public: __thiscall XYPOINT::XYPOINT(struct tagPOINT const &)
+??0XYPOINT@@QAE@ABUtagPOINT@@@Z
+; public: __thiscall XYPOINT::XYPOINT(int,int)
+??0XYPOINT@@QAE@HH@Z
+; public: __thiscall XYPOINT::XYPOINT(long)
+??0XYPOINT@@QAE@J@Z
+; public: __thiscall XYRECT::XYRECT(struct tagRECT const &)
+??0XYRECT@@QAE@ABUtagRECT@@@Z
+; public: __thiscall XYRECT::XYRECT(class XYRECT const &)
+??0XYRECT@@QAE@ABV0@@Z
+; public: __thiscall XYRECT::XYRECT(int,int,int,int)
+??0XYRECT@@QAE@HHHH@Z
+; public: __thiscall XYRECT::XYRECT(struct HWND__ *,int)
+??0XYRECT@@QAE@PAUHWND__@@H@Z
+; public: __thiscall XYRECT::XYRECT(class WINDOW const *,int)
+??0XYRECT@@QAE@PBVWINDOW@@H@Z
+; public: __thiscall XYRECT::XYRECT(class XYPOINT,class XYPOINT)
+??0XYRECT@@QAE@VXYPOINT@@0@Z
+; public: __thiscall XYRECT::XYRECT(class XYPOINT,class XYDIMENSION)
+??0XYRECT@@QAE@VXYPOINT@@VXYDIMENSION@@@Z
+; public: __thiscall XYRECT::XYRECT(void)
+??0XYRECT@@QAE@XZ
+; public: __thiscall ACCELTABLE::~ACCELTABLE(void)
+??1ACCELTABLE@@QAE@XZ
+; public: __thiscall ACCOUNT_NAMES_MLE::~ACCOUNT_NAMES_MLE(void)
+??1ACCOUNT_NAMES_MLE@@QAE@XZ
+; public: __thiscall ALIAS_STR::~ALIAS_STR(void)
+??1ALIAS_STR@@QAE@XZ
+; public: __thiscall ALLOC_STR::~ALLOC_STR(void)
+??1ALLOC_STR@@QAE@XZ
+; protected: __thiscall APPLICATION::~APPLICATION(void)
+??1APPLICATION@@IAE@XZ
+; protected: __thiscall APP_WINDOW::~APP_WINDOW(void)
+??1APP_WINDOW@@IAE@XZ
+; public: __thiscall ARRAY_CONTROLVAL_CID_PAIR::~ARRAY_CONTROLVAL_CID_PAIR(void)
+??1ARRAY_CONTROLVAL_CID_PAIR@@QAE@XZ
+; public: __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::~ARRAY_LIST_CONTROLVAL_CID_PAIR(void)
+??1ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAE@XZ
+; public: __thiscall ARROW_BUTTON::~ARROW_BUTTON(void)
+??1ARROW_BUTTON@@QAE@XZ
+; public: __thiscall ASSOCHCFILE::~ASSOCHCFILE(void)
+??1ASSOCHCFILE@@QAE@XZ
+; public: __thiscall ASSOCHWNDDISP::~ASSOCHWNDDISP(void)
+??1ASSOCHWNDDISP@@QAE@XZ
+; public: __thiscall ASSOCHWNDPDLG::~ASSOCHWNDPDLG(void)
+??1ASSOCHWNDPDLG@@QAE@XZ
+; public: __thiscall ASSOCHWNDPWND::~ASSOCHWNDPWND(void)
+??1ASSOCHWNDPWND@@QAE@XZ
+; public: __thiscall ASSOCHWNDTHIS::~ASSOCHWNDTHIS(void)
+??1ASSOCHWNDTHIS@@QAE@XZ
+; protected: __thiscall ATOM_BASE::~ATOM_BASE(void)
+??1ATOM_BASE@@IAE@XZ
+; public: __thiscall AUDIT_CHECKBOXES::~AUDIT_CHECKBOXES(void)
+??1AUDIT_CHECKBOXES@@QAE@XZ
+; public: __thiscall AUTO_CURSOR::~AUTO_CURSOR(void)
+??1AUTO_CURSOR@@QAE@XZ
+; public: __thiscall BASE_ELLIPSIS::~BASE_ELLIPSIS(void)
+??1BASE_ELLIPSIS@@QAE@XZ
+; public: __thiscall BASE_PASSWORD_DIALOG::~BASE_PASSWORD_DIALOG(void)
+??1BASE_PASSWORD_DIALOG@@QAE@XZ
+; public: __thiscall BASE_SET_FOCUS_DLG::~BASE_SET_FOCUS_DLG(void)
+??1BASE_SET_FOCUS_DLG@@QAE@XZ
+; public: __thiscall BIT_MAP::~BIT_MAP(void)
+??1BIT_MAP@@QAE@XZ
+; public: __thiscall BLT_BACKGROUND_EDIT::~BLT_BACKGROUND_EDIT(void)
+??1BLT_BACKGROUND_EDIT@@QAE@XZ
+; public: __thiscall BLT_COMBOBOX::~BLT_COMBOBOX(void)
+??1BLT_COMBOBOX@@QAE@XZ
+; public: __thiscall BLT_DATE_SPIN_GROUP::~BLT_DATE_SPIN_GROUP(void)
+??1BLT_DATE_SPIN_GROUP@@QAE@XZ
+; public: __thiscall BLT_LISTBOX::~BLT_LISTBOX(void)
+??1BLT_LISTBOX@@QAE@XZ
+; public: __thiscall BLT_MASTER_TIMER::~BLT_MASTER_TIMER(void)
+??1BLT_MASTER_TIMER@@QAE@XZ
+; public: __thiscall BLT_SCRATCH::~BLT_SCRATCH(void)
+??1BLT_SCRATCH@@QAE@XZ
+; public: __thiscall BLT_TIME_SPIN_GROUP::~BLT_TIME_SPIN_GROUP(void)
+??1BLT_TIME_SPIN_GROUP@@QAE@XZ
+; public: __thiscall BROWSER_DOMAIN::~BROWSER_DOMAIN(void)
+??1BROWSER_DOMAIN@@QAE@XZ
+; public: __thiscall BROWSER_DOMAIN_CB::~BROWSER_DOMAIN_CB(void)
+??1BROWSER_DOMAIN_CB@@QAE@XZ
+; public: __thiscall BROWSER_DOMAIN_LB::~BROWSER_DOMAIN_LB(void)
+??1BROWSER_DOMAIN_LB@@QAE@XZ
+; public: virtual __thiscall BROWSER_DOMAIN_LBI::~BROWSER_DOMAIN_LBI(void)
+??1BROWSER_DOMAIN_LBI@@UAE@XZ
+; public: virtual __thiscall BROWSER_DOMAIN_LBI_PB::~BROWSER_DOMAIN_LBI_PB(void)
+??1BROWSER_DOMAIN_LBI_PB@@UAE@XZ
+; public: __thiscall BROWSER_SUBJECT::~BROWSER_SUBJECT(void)
+??1BROWSER_SUBJECT@@QAE@XZ
+; public: __thiscall BROWSER_SUBJECT_ITER::~BROWSER_SUBJECT_ITER(void)
+??1BROWSER_SUBJECT_ITER@@QAE@XZ
+; public: __thiscall BUTTON_CONTROL::~BUTTON_CONTROL(void)
+??1BUTTON_CONTROL@@QAE@XZ
+; public: __thiscall CANCEL_TASK_DIALOG::~CANCEL_TASK_DIALOG(void)
+??1CANCEL_TASK_DIALOG@@QAE@XZ
+; public: __thiscall CHANGEABLE_SPIN_ITEM::~CHANGEABLE_SPIN_ITEM(void)
+??1CHANGEABLE_SPIN_ITEM@@QAE@XZ
+; public: __thiscall CHECKBOX::~CHECKBOX(void)
+??1CHECKBOX@@QAE@XZ
+; public: __thiscall CLIENT_WINDOW::~CLIENT_WINDOW(void)
+??1CLIENT_WINDOW@@QAE@XZ
+; public: __thiscall COMBOBOX::~COMBOBOX(void)
+??1COMBOBOX@@QAE@XZ
+; public: __thiscall CONTROL_TABLE::~CONTROL_TABLE(void)
+??1CONTROL_TABLE@@QAE@XZ
+; public: __thiscall CONTROL_WINDOW::~CONTROL_WINDOW(void)
+??1CONTROL_WINDOW@@QAE@XZ
+; public: __thiscall CUSTOM_CONTROL::~CUSTOM_CONTROL(void)
+??1CUSTOM_CONTROL@@QAE@XZ
+; public: __thiscall DEC_SLT::~DEC_SLT(void)
+??1DEC_SLT@@QAE@XZ
+; public: __thiscall DEC_STR::~DEC_STR(void)
+??1DEC_STR@@QAE@XZ
+; public: __thiscall DIALOG_WINDOW::~DIALOG_WINDOW(void)
+??1DIALOG_WINDOW@@QAE@XZ
+; protected: __thiscall DISPATCHER::~DISPATCHER(void)
+??1DISPATCHER@@IAE@XZ
+; public: __thiscall DISPLAY_CONTEXT::~DISPLAY_CONTEXT(void)
+??1DISPLAY_CONTEXT@@QAE@XZ
+; public: __thiscall DISPLAY_MAP::~DISPLAY_MAP(void)
+??1DISPLAY_MAP@@QAE@XZ
+; public: __thiscall DLGLOAD::~DLGLOAD(void)
+??1DLGLOAD@@QAE@XZ
+; public: __thiscall DLIST_OF_SPIN_ITEM::~DLIST_OF_SPIN_ITEM(void)
+??1DLIST_OF_SPIN_ITEM@@QAE@XZ
+; public: __thiscall DMID_DTE::~DMID_DTE(void)
+??1DMID_DTE@@QAE@XZ
+; public: virtual __thiscall DOMAIN_FILL_THREAD::~DOMAIN_FILL_THREAD(void)
+??1DOMAIN_FILL_THREAD@@UAE@XZ
+; public: __thiscall EDIT_CONTROL::~EDIT_CONTROL(void)
+??1EDIT_CONTROL@@QAE@XZ
+; protected: __thiscall ENUM_OBJ_BASE::~ENUM_OBJ_BASE(void)
+??1ENUM_OBJ_BASE@@IAE@XZ
+; public: __thiscall EXPANDABLE_DIALOG::~EXPANDABLE_DIALOG(void)
+??1EXPANDABLE_DIALOG@@QAE@XZ
+; public: __thiscall FILE3_ENUM::~FILE3_ENUM(void)
+??1FILE3_ENUM@@QAE@XZ
+; public: __thiscall FILE3_ENUM_ITER::~FILE3_ENUM_ITER(void)
+??1FILE3_ENUM_ITER@@QAE@XZ
+; public: __thiscall FILE3_ENUM_OBJ::~FILE3_ENUM_OBJ(void)
+??1FILE3_ENUM_OBJ@@QAE@XZ
+; public: virtual __thiscall FOCUSDLG_DATA_THREAD::~FOCUSDLG_DATA_THREAD(void)
+??1FOCUSDLG_DATA_THREAD@@UAE@XZ
+; public: __thiscall FOCUS_CHECKBOX::~FOCUS_CHECKBOX(void)
+??1FOCUS_CHECKBOX@@QAE@XZ
+; public: __thiscall FONT::~FONT(void)
+??1FONT@@QAE@XZ
+; protected: __thiscall GET_FNAME_BASE_DLG::~GET_FNAME_BASE_DLG(void)
+??1GET_FNAME_BASE_DLG@@IAE@XZ
+; public: __thiscall GLOBAL_ATOM::~GLOBAL_ATOM(void)
+??1GLOBAL_ATOM@@QAE@XZ
+; public: __thiscall GRAPHICAL_BUTTON::~GRAPHICAL_BUTTON(void)
+??1GRAPHICAL_BUTTON@@QAE@XZ
+; public: __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::~GRAPHICAL_BUTTON_WITH_DISABLE(void)
+??1GRAPHICAL_BUTTON_WITH_DISABLE@@QAE@XZ
+; public: __thiscall HAW_FOR_HAWAII_INFO::~HAW_FOR_HAWAII_INFO(void)
+??1HAW_FOR_HAWAII_INFO@@QAE@XZ
+; public: __thiscall HEX_STR::~HEX_STR(void)
+??1HEX_STR@@QAE@XZ
+; public: virtual __thiscall HIER_LBI::~HIER_LBI(void)
+??1HIER_LBI@@UAE@XZ
+; public: __thiscall HIER_LBI_ITERATOR::~HIER_LBI_ITERATOR(void)
+??1HIER_LBI_ITERATOR@@QAE@XZ
+; public: __thiscall HIER_LISTBOX::~HIER_LISTBOX(void)
+??1HIER_LISTBOX@@QAE@XZ
+; public: __thiscall H_SPLITTER_BAR::~H_SPLITTER_BAR(void)
+??1H_SPLITTER_BAR@@QAE@XZ
+; public: __thiscall ICANON_SLE::~ICANON_SLE(void)
+??1ICANON_SLE@@QAE@XZ
+; public: __thiscall ICON_CONTROL::~ICON_CONTROL(void)
+??1ICON_CONTROL@@QAE@XZ
+; public: __thiscall ITER_DL_SPIN_ITEM::~ITER_DL_SPIN_ITEM(void)
+??1ITER_DL_SPIN_ITEM@@QAE@XZ
+; public: __thiscall ITER_SL_ASSOCHCFILE::~ITER_SL_ASSOCHCFILE(void)
+??1ITER_SL_ASSOCHCFILE@@QAE@XZ
+; public: __thiscall ITER_SL_CLIENTDATA::~ITER_SL_CLIENTDATA(void)
+??1ITER_SL_CLIENTDATA@@QAE@XZ
+; public: __thiscall ITER_SL_STRING_BITSET_PAIR::~ITER_SL_STRING_BITSET_PAIR(void)
+??1ITER_SL_STRING_BITSET_PAIR@@QAE@XZ
+; public: __thiscall ITER_SL_TIMER_BASE::~ITER_SL_TIMER_BASE(void)
+??1ITER_SL_TIMER_BASE@@QAE@XZ
+; public: __thiscall ITER_SL_UI_EXT::~ITER_SL_UI_EXT(void)
+??1ITER_SL_UI_EXT@@QAE@XZ
+; public: __thiscall ITER_SL_USER_BROWSER_LBI::~ITER_SL_USER_BROWSER_LBI(void)
+??1ITER_SL_USER_BROWSER_LBI@@QAE@XZ
+; public: __thiscall LAZY_LISTBOX::~LAZY_LISTBOX(void)
+??1LAZY_LISTBOX@@QAE@XZ
+; public: virtual __thiscall LBI::~LBI(void)
+??1LBI@@UAE@XZ
+; public: __thiscall LBITREE::~LBITREE(void)
+??1LBITREE@@QAE@XZ
+; public: __thiscall LBI_HEAP::~LBI_HEAP(void)
+??1LBI_HEAP@@QAE@XZ
+; public: __thiscall LB_COL_WIDTHS::~LB_COL_WIDTHS(void)
+??1LB_COL_WIDTHS@@QAE@XZ
+; public: __thiscall LISTBOX::~LISTBOX(void)
+??1LISTBOX@@QAE@XZ
+; protected: __thiscall LIST_CONTROL::~LIST_CONTROL(void)
+??1LIST_CONTROL@@IAE@XZ
+; public: __thiscall LM_FILE_2::~LM_FILE_2(void)
+??1LM_FILE_2@@QAE@XZ
+; public: __thiscall LM_MESSAGE::~LM_MESSAGE(void)
+??1LM_MESSAGE@@QAE@XZ
+; public: __thiscall LM_OLLB::~LM_OLLB(void)
+??1LM_OLLB@@QAE@XZ
+; public: __thiscall LOCAL_ATOM::~LOCAL_ATOM(void)
+??1LOCAL_ATOM@@QAE@XZ
+; public: __thiscall LOC_LM_OBJ::~LOC_LM_OBJ(void)
+??1LOC_LM_OBJ@@QAE@XZ
+; public: __thiscall LOGON_HOURS_CONTROL::~LOGON_HOURS_CONTROL(void)
+??1LOGON_HOURS_CONTROL@@QAE@XZ
+; public: __thiscall MAGIC_GROUP::~MAGIC_GROUP(void)
+??1MAGIC_GROUP@@QAE@XZ
+; public: __thiscall MASK_MAP::~MASK_MAP(void)
+??1MASK_MAP@@QAE@XZ
+; public: __thiscall MEMORY_DC::~MEMORY_DC(void)
+??1MEMORY_DC@@QAE@XZ
+; public: __thiscall MENU_BASE::~MENU_BASE(void)
+??1MENU_BASE@@QAE@XZ
+; public: __thiscall MLE::~MLE(void)
+??1MLE@@QAE@XZ
+; public: __thiscall MLE_FONT::~MLE_FONT(void)
+??1MLE_FONT@@QAE@XZ
+; public: __thiscall MLT::~MLT(void)
+??1MLT@@QAE@XZ
+; public: __thiscall MSGPOPUP_DIALOG::~MSGPOPUP_DIALOG(void)
+??1MSGPOPUP_DIALOG@@QAE@XZ
+; protected: __thiscall MSG_DIALOG_BASE::~MSG_DIALOG_BASE(void)
+??1MSG_DIALOG_BASE@@IAE@XZ
+; public: __thiscall NT_FIND_ACCOUNT_DIALOG::~NT_FIND_ACCOUNT_DIALOG(void)
+??1NT_FIND_ACCOUNT_DIALOG@@QAE@XZ
+; public: virtual __thiscall NT_GLOBALGROUP_BROWSER_DIALOG::~NT_GLOBALGROUP_BROWSER_DIALOG(void)
+??1NT_GLOBALGROUP_BROWSER_DIALOG@@UAE@XZ
+; public: virtual __thiscall NT_GROUP_BROWSER_DIALOG::~NT_GROUP_BROWSER_DIALOG(void)
+??1NT_GROUP_BROWSER_DIALOG@@UAE@XZ
+; public: __thiscall NT_GROUP_BROWSER_LB::~NT_GROUP_BROWSER_LB(void)
+??1NT_GROUP_BROWSER_LB@@QAE@XZ
+; public: __thiscall NT_GROUP_ENUM_ITER::~NT_GROUP_ENUM_ITER(void)
+??1NT_GROUP_ENUM_ITER@@QAE@XZ
+; public: __thiscall NT_GROUP_ENUM_OBJ::~NT_GROUP_ENUM_OBJ(void)
+??1NT_GROUP_ENUM_OBJ@@QAE@XZ
+; public: virtual __thiscall NT_LOCALGROUP_BROWSER_DIALOG::~NT_LOCALGROUP_BROWSER_DIALOG(void)
+??1NT_LOCALGROUP_BROWSER_DIALOG@@UAE@XZ
+; public: __thiscall NT_USER_BROWSER_DIALOG::~NT_USER_BROWSER_DIALOG(void)
+??1NT_USER_BROWSER_DIALOG@@QAE@XZ
+; public: virtual __thiscall OLLB_ENTRY::~OLLB_ENTRY(void)
+??1OLLB_ENTRY@@UAE@XZ
+; public: __thiscall OPEN_DIALOG_BASE::~OPEN_DIALOG_BASE(void)
+??1OPEN_DIALOG_BASE@@QAE@XZ
+; public: virtual __thiscall OPEN_LBI_BASE::~OPEN_LBI_BASE(void)
+??1OPEN_LBI_BASE@@UAE@XZ
+; public: __thiscall OPEN_LBOX_BASE::~OPEN_LBOX_BASE(void)
+??1OPEN_LBOX_BASE@@QAE@XZ
+; public: __thiscall OUTLINE_LISTBOX::~OUTLINE_LISTBOX(void)
+??1OUTLINE_LISTBOX@@QAE@XZ
+; public: __thiscall OWNER_WINDOW::~OWNER_WINDOW(void)
+??1OWNER_WINDOW@@QAE@XZ
+; public: __thiscall PAINT_DISPLAY_CONTEXT::~PAINT_DISPLAY_CONTEXT(void)
+??1PAINT_DISPLAY_CONTEXT@@QAE@XZ
+; public: __thiscall PASSWORD_CONTROL::~PASSWORD_CONTROL(void)
+??1PASSWORD_CONTROL@@QAE@XZ
+; public: __thiscall POPUP::~POPUP(void)
+??1POPUP@@QAE@XZ
+; public: __thiscall POPUP_MENU::~POPUP_MENU(void)
+??1POPUP_MENU@@QAE@XZ
+; public: __thiscall PROC_INSTANCE::~PROC_INSTANCE(void)
+??1PROC_INSTANCE@@QAE@XZ
+; public: __thiscall PROGRESS_CONTROL::~PROGRESS_CONTROL(void)
+??1PROGRESS_CONTROL@@QAE@XZ
+; public: __thiscall PROMPT_AND_CONNECT::~PROMPT_AND_CONNECT(void)
+??1PROMPT_AND_CONNECT@@QAE@XZ
+; public: __thiscall PROMPT_FOR_ANY_DC_DLG::~PROMPT_FOR_ANY_DC_DLG(void)
+??1PROMPT_FOR_ANY_DC_DLG@@QAE@XZ
+; public: __thiscall PUSH_BUTTON::~PUSH_BUTTON(void)
+??1PUSH_BUTTON@@QAE@XZ
+; public: __thiscall RADIO_BUTTON::~RADIO_BUTTON(void)
+??1RADIO_BUTTON@@QAE@XZ
+; public: __thiscall RADIO_GROUP::~RADIO_GROUP(void)
+??1RADIO_GROUP@@QAE@XZ
+; public: __thiscall RESOURCE_PASSWORD_DIALOG::~RESOURCE_PASSWORD_DIALOG(void)
+??1RESOURCE_PASSWORD_DIALOG@@QAE@XZ
+; public: __thiscall RESOURCE_STR::~RESOURCE_STR(void)
+??1RESOURCE_STR@@QAE@XZ
+; public: __thiscall RITER_DL_SPIN_ITEM::~RITER_DL_SPIN_ITEM(void)
+??1RITER_DL_SPIN_ITEM@@QAE@XZ
+; public: __thiscall SCREEN_DC::~SCREEN_DC(void)
+??1SCREEN_DC@@QAE@XZ
+; public: __thiscall SERVER1_ENUM::~SERVER1_ENUM(void)
+??1SERVER1_ENUM@@QAE@XZ
+; public: __thiscall SERVER1_ENUM_ITER::~SERVER1_ENUM_ITER(void)
+??1SERVER1_ENUM_ITER@@QAE@XZ
+; public: __thiscall SERVER1_ENUM_OBJ::~SERVER1_ENUM_OBJ(void)
+??1SERVER1_ENUM_OBJ@@QAE@XZ
+; public: __thiscall SERVER_ENUM::~SERVER_ENUM(void)
+??1SERVER_ENUM@@QAE@XZ
+; public: __thiscall SET_CONTROL::~SET_CONTROL(void)
+??1SET_CONTROL@@QAE@XZ
+; public: __thiscall SET_OF_AUDIT_CATEGORIES::~SET_OF_AUDIT_CATEGORIES(void)
+??1SET_OF_AUDIT_CATEGORIES@@QAE@XZ
+; public: __thiscall SLE::~SLE(void)
+??1SLE@@QAE@XZ
+; public: __thiscall SLE_FONT::~SLE_FONT(void)
+??1SLE_FONT@@QAE@XZ
+; public: __thiscall SLE_STRLB_GROUP::~SLE_STRLB_GROUP(void)
+??1SLE_STRLB_GROUP@@QAE@XZ
+; public: __thiscall SLIST_OF_ASSOCHCFILE::~SLIST_OF_ASSOCHCFILE(void)
+??1SLIST_OF_ASSOCHCFILE@@QAE@XZ
+; public: __thiscall SLIST_OF_CLIENTDATA::~SLIST_OF_CLIENTDATA(void)
+??1SLIST_OF_CLIENTDATA@@QAE@XZ
+; public: __thiscall SLIST_OF_OS_SID::~SLIST_OF_OS_SID(void)
+??1SLIST_OF_OS_SID@@QAE@XZ
+; public: __thiscall SLIST_OF_STRING_BITSET_PAIR::~SLIST_OF_STRING_BITSET_PAIR(void)
+??1SLIST_OF_STRING_BITSET_PAIR@@QAE@XZ
+; public: __thiscall SLIST_OF_TIMER_BASE::~SLIST_OF_TIMER_BASE(void)
+??1SLIST_OF_TIMER_BASE@@QAE@XZ
+; public: __thiscall SLIST_OF_UI_EXT::~SLIST_OF_UI_EXT(void)
+??1SLIST_OF_UI_EXT@@QAE@XZ
+; public: __thiscall SLIST_OF_ULC_API_BUFFER::~SLIST_OF_ULC_API_BUFFER(void)
+??1SLIST_OF_ULC_API_BUFFER@@QAE@XZ
+; public: __thiscall SLIST_OF_USER_BROWSER_LBI::~SLIST_OF_USER_BROWSER_LBI(void)
+??1SLIST_OF_USER_BROWSER_LBI@@QAE@XZ
+; public: __thiscall SLT::~SLT(void)
+??1SLT@@QAE@XZ
+; public: __thiscall SLT_ELLIPSIS::~SLT_ELLIPSIS(void)
+??1SLT_ELLIPSIS@@QAE@XZ
+; public: __thiscall SOLID_BRUSH::~SOLID_BRUSH(void)
+??1SOLID_BRUSH@@QAE@XZ
+; public: __thiscall SPIN_GROUP::~SPIN_GROUP(void)
+??1SPIN_GROUP@@QAE@XZ
+; public: __thiscall SPIN_ITEM::~SPIN_ITEM(void)
+??1SPIN_ITEM@@QAE@XZ
+; public: __thiscall SPIN_SLE_NUM::~SPIN_SLE_NUM(void)
+??1SPIN_SLE_NUM@@QAE@XZ
+; public: __thiscall SPIN_SLE_NUM_VALID::~SPIN_SLE_NUM_VALID(void)
+??1SPIN_SLE_NUM_VALID@@QAE@XZ
+; public: __thiscall SPIN_SLE_STR::~SPIN_SLE_STR(void)
+??1SPIN_SLE_STR@@QAE@XZ
+; public: __thiscall SPIN_SLE_VALID_SECOND::~SPIN_SLE_VALID_SECOND(void)
+??1SPIN_SLE_VALID_SECOND@@QAE@XZ
+; public: __thiscall SPIN_SLT_SEPARATOR::~SPIN_SLT_SEPARATOR(void)
+??1SPIN_SLT_SEPARATOR@@QAE@XZ
+; public: __thiscall STATE2_BUTTON_CONTROL::~STATE2_BUTTON_CONTROL(void)
+??1STATE2_BUTTON_CONTROL@@QAE@XZ
+; public: __thiscall STATELB::~STATELB(void)
+??1STATELB@@QAE@XZ
+; public: __thiscall STATELBGRP::~STATELBGRP(void)
+??1STATELBGRP@@QAE@XZ
+; public: __thiscall STATE_BUTTON_CONTROL::~STATE_BUTTON_CONTROL(void)
+??1STATE_BUTTON_CONTROL@@QAE@XZ
+; public: __thiscall STATIC_SPIN_ITEM::~STATIC_SPIN_ITEM(void)
+??1STATIC_SPIN_ITEM@@QAE@XZ
+; public: __thiscall STATIC_TEXT_CONTROL::~STATIC_TEXT_CONTROL(void)
+??1STATIC_TEXT_CONTROL@@QAE@XZ
+; public: virtual __thiscall STLBITEM::~STLBITEM(void)
+??1STLBITEM@@UAE@XZ
+; public: __thiscall STRING_BITSET_PAIR::~STRING_BITSET_PAIR(void)
+??1STRING_BITSET_PAIR@@QAE@XZ
+; public: __thiscall STRING_LIST_CONTROL::~STRING_LIST_CONTROL(void)
+??1STRING_LIST_CONTROL@@QAE@XZ
+; public: __thiscall SUBJECT_BITMAP_BLOCK::~SUBJECT_BITMAP_BLOCK(void)
+??1SUBJECT_BITMAP_BLOCK@@QAE@XZ
+; public: __thiscall SYSTEM_MENU::~SYSTEM_MENU(void)
+??1SYSTEM_MENU@@QAE@XZ
+; public: __thiscall TEXT_CONTROL::~TEXT_CONTROL(void)
+??1TEXT_CONTROL@@QAE@XZ
+; public: __thiscall TIMER_BASE::~TIMER_BASE(void)
+??1TIMER_BASE@@QAE@XZ
+; public: __thiscall TIMER_WINDOW::~TIMER_WINDOW(void)
+??1TIMER_WINDOW@@QAE@XZ
+; public: __thiscall UI_DOMAIN::~UI_DOMAIN(void)
+??1UI_DOMAIN@@QAE@XZ
+; public: virtual __thiscall UI_EXT::~UI_EXT(void)
+??1UI_EXT@@UAE@XZ
+; public: __thiscall UI_EXT_MGR::~UI_EXT_MGR(void)
+??1UI_EXT_MGR@@QAE@XZ
+; public: __thiscall UI_EXT_MGR_IF::~UI_EXT_MGR_IF(void)
+??1UI_EXT_MGR_IF@@QAE@XZ
+; public: virtual __thiscall UI_MENU_EXT::~UI_MENU_EXT(void)
+??1UI_MENU_EXT@@UAE@XZ
+; public: virtual __thiscall UI_MENU_EXT_MGR::~UI_MENU_EXT_MGR(void)
+??1UI_MENU_EXT_MGR@@UAE@XZ
+; public: __thiscall ULC_API_BUFFER::~ULC_API_BUFFER(void)
+??1ULC_API_BUFFER@@QAE@XZ
+; public: __thiscall USER_BROWSER_LB::~USER_BROWSER_LB(void)
+??1USER_BROWSER_LB@@QAE@XZ
+; public: virtual __thiscall USER_BROWSER_LBI::~USER_BROWSER_LBI(void)
+??1USER_BROWSER_LBI@@UAE@XZ
+; public: virtual __thiscall USER_BROWSER_LBI_CACHE::~USER_BROWSER_LBI_CACHE(void)
+??1USER_BROWSER_LBI_CACHE@@UAE@XZ
+; public: virtual __thiscall USER_LBI_CACHE::~USER_LBI_CACHE(void)
+??1USER_LBI_CACHE@@UAE@XZ
+; public: __thiscall USRLB_NT_GROUP_ENUM::~USRLB_NT_GROUP_ENUM(void)
+??1USRLB_NT_GROUP_ENUM@@QAE@XZ
+; public: __thiscall WIN32_EVENT::~WIN32_EVENT(void)
+??1WIN32_EVENT@@QAE@XZ
+; public: __thiscall WIN32_HANDLE::~WIN32_HANDLE(void)
+??1WIN32_HANDLE@@QAE@XZ
+; public: __thiscall WIN32_MUTEX::~WIN32_MUTEX(void)
+??1WIN32_MUTEX@@QAE@XZ
+; public: __thiscall WIN32_SEMAPHORE::~WIN32_SEMAPHORE(void)
+??1WIN32_SEMAPHORE@@QAE@XZ
+; public: __thiscall WIN32_SYNC_BASE::~WIN32_SYNC_BASE(void)
+??1WIN32_SYNC_BASE@@QAE@XZ
+; public: virtual __thiscall WIN32_THREAD::~WIN32_THREAD(void)
+??1WIN32_THREAD@@UAE@XZ
+; public: __thiscall WINDOW::~WINDOW(void)
+??1WINDOW@@QAE@XZ
+; public: __thiscall WIN_ELLIPSIS::~WIN_ELLIPSIS(void)
+??1WIN_ELLIPSIS@@QAE@XZ
+; public: class ARRAY_CONTROLVAL_CID_PAIR & __thiscall ARRAY_CONTROLVAL_CID_PAIR::operator=(class ARRAY_CONTROLVAL_CID_PAIR &)
+??4ARRAY_CONTROLVAL_CID_PAIR@@QAEAAV0@AAV0@@Z
+; public: virtual unsigned short const * __thiscall GLOBAL_ATOM::operator=(unsigned short const *)
+??4GLOBAL_ATOM@@UAEPBGPBG@Z
+; public: virtual unsigned short const * __thiscall LOCAL_ATOM::operator=(unsigned short const *)
+??4LOCAL_ATOM@@UAEPBGPBG@Z
+; public: class XYRECT & __thiscall XYRECT::operator=(class XYRECT const &)
+??4XYRECT@@QAEAAV0@ABV0@@Z
+; public: int __thiscall ASSOCHWNDDISP::operator!(void)const 
+??7ASSOCHWNDDISP@@QBEHXZ
+; public: int __thiscall ASSOCHWNDPWND::operator!(void)const 
+??7ASSOCHWNDPWND@@QBEHXZ
+; public: int __thiscall BASE::operator!(void)const 
+??7BASE@@QBEHXZ
+; public: int __thiscall CONTROL_WINDOW::operator!(void)const 
+??7CONTROL_WINDOW@@QBEHXZ
+; public: int __thiscall XYRECT::operator==(class XYRECT const &)const 
+??8XYRECT@@QBEHABV0@@Z
+; public: class CONTROLVAL_CID_PAIR & __thiscall ARRAY_CONTROLVAL_CID_PAIR::operator[](unsigned int)const 
+??AARRAY_CONTROLVAL_CID_PAIR@@QBEAAVCONTROLVAL_CID_PAIR@@I@Z
+; public: class DTE * & __thiscall DISPLAY_TABLE::operator[](unsigned int)
+??ADISPLAY_TABLE@@QAEAAPAVDTE@@I@Z
+; public: class RADIO_BUTTON * __thiscall RADIO_GROUP::operator[](unsigned int)
+??ARADIO_GROUP@@QAEPAVRADIO_BUTTON@@I@Z
+; public: __thiscall NLS_STR::operator unsigned short const *(void)const 
+??BNLS_STR@@QBEPBGXZ
+; public: __thiscall OS_SID::operator void *(void)const 
+??BOS_SID@@QBEPAXXZ
+; public: __thiscall XYRECT::operator struct tagRECT const *(void)const 
+??BXYRECT@@QBEPBUtagRECT@@XZ
+; public: class FILE3_ENUM_OBJ const * __thiscall FILE3_ENUM_ITER::operator()(long *,int)
+??RFILE3_ENUM_ITER@@QAEPBVFILE3_ENUM_OBJ@@PAJH@Z
+; public: class HIER_LBI * __thiscall HIER_LBI_ITERATOR::operator()(void)
+??RHIER_LBI_ITERATOR@@QAEPAVHIER_LBI@@XZ
+; public: class CONTROL_WINDOW * __thiscall ITER_CTRL::operator()(void)
+??RITER_CTRL@@QAEPAVCONTROL_WINDOW@@XZ
+; public: unsigned short const * __thiscall ITER_DEVICE::operator()(void)
+??RITER_DEVICE@@QAEPBGXZ
+; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::operator()(void)
+??RITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
+; public: class NT_GROUP_ENUM_OBJ const * __thiscall NT_GROUP_ENUM_ITER::operator()(long *,int)
+??RNT_GROUP_ENUM_ITER@@QAEPBVNT_GROUP_ENUM_OBJ@@PAJH@Z
+; public: virtual void __thiscall CHANGEABLE_SPIN_ITEM::operator+=(unsigned long)
+??YCHANGEABLE_SPIN_ITEM@@UAEXK@Z
+; public: class XYRECT & __thiscall XYRECT::operator+=(class XYRECT const &)
+??YXYRECT@@QAEAAV0@ABV0@@Z
+; public: virtual void __thiscall CHANGEABLE_SPIN_ITEM::operator-=(unsigned long)
+??ZCHANGEABLE_SPIN_ITEM@@UAEXK@Z
+; void __stdcall `vector constructor iterator'(void *,unsigned int,int,void * (__thiscall*)(void *))
+??_H@YGXPAXIHP6EPAX0@Z@Z
+; void __stdcall `vector destructor iterator'(void *,unsigned int,int,void (__thiscall*)(void *))
+??_I@YGXPAXIHP6EX0@Z@Z
+; void __stdcall `vector vbase constructor iterator'(void *,unsigned int,int,void * (__thiscall*)(void *))
+??_J@YGXPAXIHP6EPAX0@Z@Z
+; private: void __thiscall HIER_LBI::Abandon(void)
+?Abandon@HIER_LBI@@AAEXXZ
+; private: void __thiscall HIER_LBI::AbandonAllChildren(void)
+?AbandonAllChildren@HIER_LBI@@AAEXXZ
+; protected: virtual int __thiscall MSG_DIALOG_BASE::ActionOnError(long)
+?ActionOnError@MSG_DIALOG_BASE@@MAEHJ@Z
+; private: void __thiscall MAGIC_GROUP::ActivateAssocControls(unsigned int,unsigned int,class CONTROL_VALUE *)
+?ActivateAssocControls@MAGIC_GROUP@@AAEXIIPAVCONTROL_VALUE@@@Z
+; public: virtual void __thiscall UI_EXT_MGR::ActivateExtension(struct HWND__ *,unsigned long)
+?ActivateExtension@UI_EXT_MGR@@UAEXPAUHWND__@@K@Z
+; public: int __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::Add(class CONTROLVAL_CID_PAIR const &)
+?Add@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAEHABVCONTROLVAL_CID_PAIR@@@Z
+; public: static void __stdcall HWND_DLGPTR_CACHE::Add(struct HWND__ *,class DIALOG_WINDOW *)
+?Add@HWND_DLGPTR_CACHE@@SGXPAUHWND__@@PAVDIALOG_WINDOW@@@Z
+; public: long __thiscall MASK_MAP::Add(class BITFIELD const &,class NLS_STR const &,int)
+?Add@MASK_MAP@@QAEJABVBITFIELD@@ABVNLS_STR@@H@Z
+; public: long __thiscall MASK_MAP::Add(struct US_IDS_PAIRS * const,unsigned short)
+?Add@MASK_MAP@@QAEJQAUUS_IDS_PAIRS@@G@Z
+; public: long __thiscall SLIST_OF_ASSOCHCFILE::Add(class ASSOCHCFILE const *)
+?Add@SLIST_OF_ASSOCHCFILE@@QAEJPBVASSOCHCFILE@@@Z
+; public: long __thiscall SLIST_OF_CLIENTDATA::Add(struct CLIENTDATA const *)
+?Add@SLIST_OF_CLIENTDATA@@QAEJPBUCLIENTDATA@@@Z
+; public: long __thiscall SLIST_OF_NLS_STR::Add(class NLS_STR const *)
+?Add@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
+; public: long __thiscall SLIST_OF_OS_SID::Add(class OS_SID const *)
+?Add@SLIST_OF_OS_SID@@QAEJPBVOS_SID@@@Z
+; public: long __thiscall SLIST_OF_TIMER_BASE::Add(class TIMER_BASE const *)
+?Add@SLIST_OF_TIMER_BASE@@QAEJPBVTIMER_BASE@@@Z
+; public: long __thiscall SLIST_OF_USER_BROWSER_LBI::Add(class USER_BROWSER_LBI const *)
+?Add@SLIST_OF_USER_BROWSER_LBI@@QAEJPBVUSER_BROWSER_LBI@@@Z
+; protected: long __thiscall USER_BROWSER_LBI_CACHE::AddAliases(class ADMIN_AUTHORITY *,unsigned short const *,int *)
+?AddAliases@USER_BROWSER_LBI_CACHE@@IAEJPAVADMIN_AUTHORITY@@PBGPAH@Z
+; protected: long __thiscall USER_BROWSER_LBI_CACHE::AddAliases(class SAM_DOMAIN *,unsigned short const *,int *)
+?AddAliases@USER_BROWSER_LBI_CACHE@@IAEJPAVSAM_DOMAIN@@PBGPAH@Z
+; public: long __thiscall MAGIC_GROUP::AddAssociation(unsigned int,class CONTROL_VALUE *)
+?AddAssociation@MAGIC_GROUP@@QAEJIPAVCONTROL_VALUE@@@Z
+; public: long __thiscall SPIN_GROUP::AddAssociation(class SPIN_ITEM *)
+?AddAssociation@SPIN_GROUP@@QAEJPAVSPIN_ITEM@@@Z
+; protected: virtual long __thiscall HIER_LISTBOX::AddChildren(class HIER_LBI *)
+?AddChildren@HIER_LISTBOX@@MAEJPAVHIER_LBI@@@Z
+; public: static long __stdcall BLTIMP::AddClient(struct HINSTANCE__ *,unsigned int,unsigned int,unsigned int,unsigned int)
+?AddClient@BLTIMP@@SGJPAUHINSTANCE__@@IIII@Z
+; public: int __thiscall CONTROL_TABLE::AddControl(class CONTROL_WINDOW *)
+?AddControl@CONTROL_TABLE@@QAEHPAVCONTROL_WINDOW@@@Z
+; private: int __thiscall OWNER_WINDOW::AddControl(class CONTROL_WINDOW *)
+?AddControl@OWNER_WINDOW@@AAEHPAVCONTROL_WINDOW@@@Z
+; public: int __thiscall OUTLINE_LISTBOX::AddDomain(unsigned short const *,unsigned short const *,int)
+?AddDomain@OUTLINE_LISTBOX@@QAEHPBG0H@Z
+; protected: long __thiscall USER_BROWSER_LBI_CACHE::AddGroups(class ADMIN_AUTHORITY *,unsigned short const *,int *)
+?AddGroups@USER_BROWSER_LBI_CACHE@@IAEJPAVADMIN_AUTHORITY@@PBGPAH@Z
+; public: static long __stdcall BLTIMP::AddHelpAssoc(struct HINSTANCE__ *,long,unsigned long,unsigned long)
+?AddHelpAssoc@BLTIMP@@SGJPAUHINSTANCE__@@JKK@Z
+; public: int __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::AddIdemp(class CONTROLVAL_CID_PAIR const &)
+?AddIdemp@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAEHABVCONTROLVAL_CID_PAIR@@@Z
+; public: int __thiscall BLT_LISTBOX::AddItem(class LBI *)
+?AddItem@BLT_LISTBOX@@QAEHPAVLBI@@@Z
+; public: long __thiscall BROWSER_DOMAIN_CB::AddItem(class BROWSER_DOMAIN *)
+?AddItem@BROWSER_DOMAIN_CB@@QAEJPAVBROWSER_DOMAIN@@@Z
+; public: int __thiscall HIER_LISTBOX::AddItem(class HIER_LBI *,class HIER_LBI *,int)
+?AddItem@HIER_LISTBOX@@QAEHPAVHIER_LBI@@0H@Z
+; public: long __thiscall LBI_HEAP::AddItem(class LBI *)
+?AddItem@LBI_HEAP@@QAEJPAVLBI@@@Z
+; protected: int __thiscall OUTLINE_LISTBOX::AddItem(enum OUTLINE_LB_LEVEL,int,unsigned short const *,unsigned short const *,unsigned short const *)
+?AddItem@OUTLINE_LISTBOX@@IAEHW4OUTLINE_LB_LEVEL@@HPBG11@Z
+; public: int __thiscall STRING_LIST_CONTROL::AddItem(unsigned short const *)
+?AddItem@STRING_LIST_CONTROL@@QAEHPBG@Z
+; public: int __thiscall USER_BROWSER_LB::AddItem(class LBI *)
+?AddItem@USER_BROWSER_LB@@QAEHPAVLBI@@@Z
+; public: virtual int __thiscall USER_BROWSER_LBI_CACHE::AddItem(class LBI *)
+?AddItem@USER_BROWSER_LBI_CACHE@@UAEHPAVLBI@@@Z
+; public: virtual int __thiscall USER_LBI_CACHE::AddItem(class LBI *)
+?AddItem@USER_LBI_CACHE@@UAEHPAVLBI@@@Z
+; protected: int __thiscall LIST_CONTROL::AddItemData(void *)
+?AddItemData@LIST_CONTROL@@IAEHPAX@Z
+; public: int __thiscall BLT_LISTBOX::AddItemIdemp(class LBI *)
+?AddItemIdemp@BLT_LISTBOX@@QAEHPAVLBI@@@Z
+; public: int __thiscall STRING_LIST_CONTROL::AddItemIdemp(class NLS_STR const &)
+?AddItemIdemp@STRING_LIST_CONTROL@@QAEHABVNLS_STR@@@Z
+; public: int __thiscall STRING_LIST_CONTROL::AddItemIdemp(unsigned short const *)
+?AddItemIdemp@STRING_LIST_CONTROL@@QAEHPBG@Z
+; public: int __thiscall LBITREE::AddNode(class HIER_LBI *,class HIER_LBI *,int)
+?AddNode@LBITREE@@QAEHPAVHIER_LBI@@0H@Z
+; public: long __thiscall NT_USER_BROWSER_DIALOG::AddSelectedUserBrowserLBIs(class USER_BROWSER_LB *,int,int)
+?AddSelectedUserBrowserLBIs@NT_USER_BROWSER_DIALOG@@QAEJPAVUSER_BROWSER_LB@@HH@Z
+; public: int __thiscall OUTLINE_LISTBOX::AddServer(unsigned short const *,unsigned short const *,unsigned short const *)
+?AddServer@OUTLINE_LISTBOX@@QAEHPBG00@Z
+; public: void __thiscall HIER_LISTBOX::AddSortedItems(class HIER_LBI * *,int,class HIER_LBI *,int)
+?AddSortedItems@HIER_LISTBOX@@QAEXPAPAVHIER_LBI@@HPAV2@H@Z
+; public: long __thiscall USER_BROWSER_LBI_CACHE::AddUsers(class ADMIN_AUTHORITY *,unsigned short const *,int,int *)
+?AddUsers@USER_BROWSER_LBI_CACHE@@QAEJPAVADMIN_AUTHORITY@@PBGHPAH@Z
+; protected: long __thiscall USER_BROWSER_LBI_CACHE::AddWellKnownSids(class ADMIN_AUTHORITY *,unsigned long,int *)
+?AddWellKnownSids@USER_BROWSER_LBI_CACHE@@IAEJPAVADMIN_AUTHORITY@@KPAH@Z
+; public: void __thiscall LBI_HEAP::Adjust(void)
+?Adjust@LBI_HEAP@@QAEXXZ
+; public: class XYRECT & __thiscall XYRECT::AdjustBottom(int)
+?AdjustBottom@XYRECT@@QAEAAV1@H@Z
+; private: void __thiscall HIER_LBI::AdjustDescendantCount(int)
+?AdjustDescendantCount@HIER_LBI@@AAEXH@Z
+; private: void __thiscall LBI_HEAP::AdjustDownwards(int)
+?AdjustDownwards@LBI_HEAP@@AAEXH@Z
+; public: class XYRECT & __thiscall XYRECT::AdjustLeft(int)
+?AdjustLeft@XYRECT@@QAEAAV1@H@Z
+; public: class XYRECT & __thiscall XYRECT::AdjustRight(int)
+?AdjustRight@XYRECT@@QAEAAV1@H@Z
+; public: class XYRECT & __thiscall XYRECT::AdjustTop(int)
+?AdjustTop@XYRECT@@QAEAAV1@H@Z
+; private: void __thiscall LBI_HEAP::AdjustUpwards(int)
+?AdjustUpwards@LBI_HEAP@@AAEXH@Z
+; private: void __thiscall HIER_LBI::Adopt(class HIER_LBI *,int)
+?Adopt@HIER_LBI@@AAEXPAV1@H@Z
+; public: void __thiscall PROGRESS_CONTROL::Advance(int)
+?Advance@PROGRESS_CONTROL@@QAEXH@Z
+; protected: virtual void __thiscall CONTROL_GROUP::AfterGroupActions(void)
+?AfterGroupActions@CONTROL_GROUP@@MAEXXZ
+; public: void __thiscall USER_BROWSER_LBI::AliasUnicodeStrToDisplayName(struct _UNICODE_STRING *)
+?AliasUnicodeStrToDisplayName@USER_BROWSER_LBI@@QAEXPAU_UNICODE_STRING@@@Z
+; public: long __thiscall DLIST_OF_SPIN_ITEM::Append(class SPIN_ITEM * const)
+?Append@DLIST_OF_SPIN_ITEM@@QAEJQAVSPIN_ITEM@@@Z
+; public: long __thiscall MENU_BASE::Append(unsigned short const *,unsigned int,unsigned int)const 
+?Append@MENU_BASE@@QBEJPBGII@Z
+; public: long __thiscall MENU_BASE::Append(unsigned short const *,struct HMENU__ *,unsigned int)const 
+?Append@MENU_BASE@@QBEJPBGPAUHMENU__@@I@Z
+; public: long __thiscall SLIST_OF_NLS_STR::Append(class NLS_STR const *)
+?Append@SLIST_OF_NLS_STR@@QAEJPBVNLS_STR@@@Z
+; public: long __thiscall SLIST_OF_STRING_BITSET_PAIR::Append(class STRING_BITSET_PAIR const *)
+?Append@SLIST_OF_STRING_BITSET_PAIR@@QAEJPBVSTRING_BITSET_PAIR@@@Z
+; public: long __thiscall SLIST_OF_UI_EXT::Append(class UI_EXT const *)
+?Append@SLIST_OF_UI_EXT@@QAEJPBVUI_EXT@@@Z
+; public: long __thiscall SLIST_OF_ULC_API_BUFFER::Append(class ULC_API_BUFFER const *)
+?Append@SLIST_OF_ULC_API_BUFFER@@QAEJPBVULC_API_BUFFER@@@Z
+; public: long __thiscall SLIST_OF_USER_BROWSER_LBI::Append(class USER_BROWSER_LBI const *)
+?Append@SLIST_OF_USER_BROWSER_LBI@@QAEJPBVUSER_BROWSER_LBI@@@Z
+; public: virtual long __thiscall DM_DTE::AppendDataTo(class NLS_STR *)const 
+?AppendDataTo@DM_DTE@@UBEJPAVNLS_STR@@@Z
+; public: virtual long __thiscall STR_DTE::AppendDataTo(class NLS_STR *)const 
+?AppendDataTo@STR_DTE@@UBEJPAVNLS_STR@@@Z
+; public: long __thiscall MENU_BASE::AppendSeparator(void)const 
+?AppendSeparator@MENU_BASE@@QBEJXZ
+; public: long __thiscall SET_OF_AUDIT_CATEGORIES::ApplyPermissionsToCheckBoxes(class BITFIELD *,class BITFIELD *)
+?ApplyPermissionsToCheckBoxes@SET_OF_AUDIT_CATEGORIES@@QAEJPAVBITFIELD@@0@Z
+; public: int __thiscall NT_USER_BROWSER_DIALOG::AreUsersShown(void)const 
+?AreUsersShown@NT_USER_BROWSER_DIALOG@@QBEHXZ
+; protected: unsigned short const * __thiscall ATOM_BASE::AssignAux(unsigned short const *)
+?AssignAux@ATOM_BASE@@IAEPBGPBG@Z
+; public: long __thiscall POPUP_MENU::Attach(class PWND2HWND const &)
+?Attach@POPUP_MENU@@QAEJABVPWND2HWND@@@Z
+; long __stdcall BLTDoubleChar(class NLS_STR *,unsigned short)
+?BLTDoubleChar@@YGJPAVNLS_STR@@G@Z
+; protected: virtual long __thiscall SET_CONTROL::BLTMoveItems(class BLT_LISTBOX *,class BLT_LISTBOX *)
+?BLTMoveItems@SET_CONTROL@@MAEJPAVBLT_LISTBOX@@0@Z
+; int __stdcall BLTPoints2LogUnits(int)
+?BLTPoints2LogUnits@@YGHH@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::Beep(void)const 
+?Beep@LOGON_HOURS_CONTROL@@ABEXXZ
+; protected: long __thiscall UI_MENU_EXT::BiasMenuIds(unsigned long)
+?BiasMenuIds@UI_MENU_EXT@@IAEJK@Z
+; public: int __thiscall USER_LBI_CACHE::BinarySearch(struct _DOMAIN_DISPLAY_USER *)
+?BinarySearch@USER_LBI_CACHE@@QAEHPAU_DOMAIN_DISPLAY_USER@@@Z
+; public: int __thiscall USER_LBI_CACHE::BinarySearch(class LBI *)
+?BinarySearch@USER_LBI_CACHE@@QAEHPAVLBI@@@Z
+; public: int __thiscall DEVICE_CONTEXT::BitBlt(class XYPOINT const &,class XYDIMENSION,class DEVICE_CONTEXT const &,class XYPOINT const &,unsigned long)
+?BitBlt@DEVICE_CONTEXT@@QAEHABVXYPOINT@@VXYDIMENSION@@ABV1@0K@Z
+; public: int __thiscall DEVICE_CONTEXT::BitBlt(int,int,int,int,class DEVICE_CONTEXT const &,int,int,unsigned long)
+?BitBlt@DEVICE_CONTEXT@@QAEHHHHHABV1@HHK@Z
+; public: long __thiscall MASK_MAP::BitsToString(class BITFIELD const &,class NLS_STR *,int,unsigned int *)
+?BitsToString@MASK_MAP@@QAEJABVBITFIELD@@PAVNLS_STR@@HPAI@Z
+; protected: long __thiscall USER_BROWSER_LBI_CACHE::BuildAndAddLBI(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,void * const,enum UI_SystemSid,enum _SID_NAME_USE,unsigned long)
+?BuildAndAddLBI@USER_BROWSER_LBI_CACHE@@IAEJPBG0000QAXW4UI_SystemSid@@W4_SID_NAME_USE@@K@Z
+; protected: long __thiscall ACCOUNT_NAMES_MLE::BuildNameListFromStrList(class NLS_STR *,class STRLIST *)
+?BuildNameListFromStrList@ACCOUNT_NAMES_MLE@@IAEJPAVNLS_STR@@PAVSTRLIST@@@Z
+; protected: static long __stdcall BLT_COMBOBOX::CBSubclassProc(struct HWND__ *,unsigned int,unsigned int,long)
+?CBSubclassProc@BLT_COMBOBOX@@KGJPAUHWND__@@IIJ@Z
+; protected: virtual int __thiscall BLT_LISTBOX::CD_Char(unsigned short,unsigned short)
+?CD_Char@BLT_LISTBOX@@MAEHGG@Z
+; protected: virtual int __thiscall BLT_LISTBOX_HAW::CD_Char(unsigned short,unsigned short)
+?CD_Char@BLT_LISTBOX_HAW@@MAEHGG@Z
+; protected: virtual int __thiscall CONTROL_WINDOW::CD_Char(unsigned short,unsigned short)
+?CD_Char@CONTROL_WINDOW@@MAEHGG@Z
+; protected: virtual int __thiscall LM_OLLB::CD_Char(unsigned short,unsigned short)
+?CD_Char@LM_OLLB@@MAEHGG@Z
+; protected: virtual int __thiscall OUTLINE_LISTBOX::CD_Char(unsigned short,unsigned short)
+?CD_Char@OUTLINE_LISTBOX@@MAEHGG@Z
+; protected: virtual int __thiscall STATELB::CD_Char(unsigned short,unsigned short)
+?CD_Char@STATELB@@MAEHGG@Z
+; protected: virtual int __thiscall USER_BROWSER_LB::CD_Char(unsigned short,unsigned short)
+?CD_Char@USER_BROWSER_LB@@MAEHGG@Z
+; protected: int __thiscall BLT_LISTBOX::CD_Char_HAWforHawaii(unsigned short,unsigned short,class HAW_FOR_HAWAII_INFO *)
+?CD_Char_HAWforHawaii@BLT_LISTBOX@@IAEHGGPAVHAW_FOR_HAWAII_INFO@@@Z
+; protected: int __thiscall USER_BROWSER_LB::CD_Char_HAWforHawaii(unsigned short,unsigned short,class HAW_FOR_HAWAII_INFO *)
+?CD_Char_HAWforHawaii@USER_BROWSER_LB@@IAEHGGPAVHAW_FOR_HAWAII_INFO@@@Z
+; protected: virtual int __thiscall CONTROL_WINDOW::CD_Draw(struct tagDRAWITEMSTRUCT *)
+?CD_Draw@CONTROL_WINDOW@@MAEHPAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual int __thiscall GRAPHICAL_BUTTON::CD_Draw(struct tagDRAWITEMSTRUCT *)
+?CD_Draw@GRAPHICAL_BUTTON@@MAEHPAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual int __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::CD_Draw(struct tagDRAWITEMSTRUCT *)
+?CD_Draw@GRAPHICAL_BUTTON_WITH_DISABLE@@MAEHPAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual int __thiscall LISTBOX::CD_Draw(struct tagDRAWITEMSTRUCT *)
+?CD_Draw@LISTBOX@@MAEHPAUtagDRAWITEMSTRUCT@@@Z
+; protected: virtual long __thiscall BLT_LISTBOX::CD_Guiltt(int,class NLS_STR *)
+?CD_Guiltt@BLT_LISTBOX@@MAEJHPAVNLS_STR@@@Z
+; protected: virtual long __thiscall CONTROL_WINDOW::CD_Guiltt(int,class NLS_STR *)
+?CD_Guiltt@CONTROL_WINDOW@@MAEJHPAVNLS_STR@@@Z
+; protected: virtual long __thiscall LAZY_LISTBOX::CD_Guiltt(int,class NLS_STR *)
+?CD_Guiltt@LAZY_LISTBOX@@MAEJHPAVNLS_STR@@@Z
+; protected: virtual int __thiscall BLT_LISTBOX::CD_Measure(struct tagMEASUREITEMSTRUCT *)
+?CD_Measure@BLT_LISTBOX@@MAEHPAUtagMEASUREITEMSTRUCT@@@Z
+; protected: virtual int __thiscall CONTROL_WINDOW::CD_Measure(struct tagMEASUREITEMSTRUCT *)
+?CD_Measure@CONTROL_WINDOW@@MAEHPAUtagMEASUREITEMSTRUCT@@@Z
+; protected: virtual int __thiscall CONTROL_WINDOW::CD_VKey(unsigned short,unsigned short)
+?CD_VKey@CONTROL_WINDOW@@MAEHGG@Z
+; protected: virtual int __thiscall LISTBOX::CD_VKey(unsigned short,unsigned short)
+?CD_VKey@LISTBOX@@MAEHGG@Z
+; protected: virtual int __thiscall STATELB::CD_VKey(unsigned short,unsigned short)
+?CD_VKey@STATELB@@MAEHGG@Z
+; protected: virtual int __thiscall USER_BROWSER_LB::CD_VKey(unsigned short,unsigned short)
+?CD_VKey@USER_BROWSER_LB@@MAEHGG@Z
+; protected: void __thiscall CONTROL_GROUP::CVRestoreValue(class CONTROL_VALUE *,int)
+?CVRestoreValue@CONTROL_GROUP@@IAEXPAVCONTROL_VALUE@@H@Z
+; public: void __thiscall CUSTOM_CONTROL::CVRestoreValue(int)
+?CVRestoreValue@CUSTOM_CONTROL@@QAEXH@Z
+; protected: void __thiscall CONTROL_GROUP::CVSaveValue(class CONTROL_VALUE *,int)
+?CVSaveValue@CONTROL_GROUP@@IAEXPAVCONTROL_VALUE@@H@Z
+; public: void __thiscall CUSTOM_CONTROL::CVSaveValue(int)
+?CVSaveValue@CUSTOM_CONTROL@@QAEXH@Z
+; private: struct HICON__ * __thiscall SET_CONTROL::CalcAppropriateCursor(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
+?CalcAppropriateCursor@SET_CONTROL@@ABEPAUHICON__@@PAVLISTBOX@@0ABVXYPOINT@@@Z
+; private: static unsigned int __stdcall METALLIC_STR_DTE::CalcBottomTextMargin(void)
+?CalcBottomTextMargin@METALLIC_STR_DTE@@CGIXZ
+; private: int __thiscall LOGON_HOURS_CONTROL::CalcButtonFromPoint(class XYPOINT)const 
+?CalcButtonFromPoint@LOGON_HOURS_CONTROL@@ABEHVXYPOINT@@@Z
+; public: static long __stdcall DISPLAY_TABLE::CalcColumnWidths(unsigned int *,unsigned int,class OWNER_WINDOW *,unsigned int,int)
+?CalcColumnWidths@DISPLAY_TABLE@@SGJPAIIPAVOWNER_WINDOW@@IH@Z
+; private: static int __stdcall POPUP::CalcDefButton(unsigned int,unsigned int)
+?CalcDefButton@POPUP@@CGHII@Z
+; protected: static int __stdcall OWNER_WINDOW::CalcFixedCDMeasure(struct HWND__ *,struct tagMEASUREITEMSTRUCT *)
+?CalcFixedCDMeasure@OWNER_WINDOW@@KGHPAUHWND__@@PAUtagMEASUREITEMSTRUCT@@@Z
+; protected: static int __stdcall WINDOW::CalcFixedHeight(struct HWND__ *,unsigned int *)
+?CalcFixedHeight@WINDOW@@KGHPAUHWND__@@PAI@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::CalcGridRect(class XYRECT *)const 
+?CalcGridRect@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@@Z
+; public: virtual unsigned int __thiscall LBI::CalcHeight(unsigned int)
+?CalcHeight@LBI@@UAEII@Z
+; public: int __thiscall XYRECT::CalcHeight(void)const 
+?CalcHeight@XYRECT@@QBEHXZ
+; public: static unsigned short const * __stdcall BLT::CalcHelpFileHC(unsigned long)
+?CalcHelpFileHC@BLT@@SGPBGK@Z
+; public: static struct HINSTANCE__ * __stdcall BLT::CalcHmodRsrc(class IDRESOURCE const &)
+?CalcHmodRsrc@BLT@@SGPAUHINSTANCE__@@ABVIDRESOURCE@@@Z
+; public: static struct HINSTANCE__ * __stdcall BLT::CalcHmodString(long)
+?CalcHmodString@BLT@@SGPAUHINSTANCE__@@J@Z
+; public: class XYRECT & __thiscall XYRECT::CalcIntersect(class XYRECT const &,class XYRECT const &)
+?CalcIntersect@XYRECT@@QAEAAV1@ABV1@0@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::CalcRectForCell(class XYRECT *,int)const 
+?CalcRectForCell@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@H@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::CalcRectForCorner(class XYRECT *)const 
+?CalcRectForCorner@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::CalcRectForDay(class XYRECT *,int)const 
+?CalcRectForDay@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@H@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::CalcRectForHour(class XYRECT *,int)const 
+?CalcRectForHour@LOGON_HOURS_CONTROL@@ABEXPAVXYRECT@@H@Z
+; public: long __thiscall BLT_LISTBOX::CalcSingleLineHeight(void)
+?CalcSingleLineHeight@BLT_LISTBOX@@QAEJXZ
+; private: long __thiscall LOGON_HOURS_CONTROL::CalcSizes(class XYDIMENSION)
+?CalcSizes@LOGON_HOURS_CONTROL@@AAEJVXYDIMENSION@@@Z
+; private: static unsigned int __stdcall METALLIC_STR_DTE::CalcTopTextMargin(void)
+?CalcTopTextMargin@METALLIC_STR_DTE@@CGIXZ
+; public: class XYRECT & __thiscall XYRECT::CalcUnion(class XYRECT const &,class XYRECT const &)
+?CalcUnion@XYRECT@@QAEAAV1@ABV1@0@Z
+; public: int __thiscall XYRECT::CalcWidth(void)const 
+?CalcWidth@XYRECT@@QBEHXZ
+; public: long __thiscall ACCOUNT_NAMES_MLE::CanonicalizeNames(unsigned short const *,class STRLIST *)
+?CanonicalizeNames@ACCOUNT_NAMES_MLE@@QAEJPBGPAVSTRLIST@@@Z
+; public: void __thiscall CLIENT_WINDOW::CaptureMouse(void)
+?CaptureMouse@CLIENT_WINDOW@@QAEXXZ
+; public: void __thiscall DISPATCHER::CaptureMouse(void)
+?CaptureMouse@DISPATCHER@@QAEXXZ
+; public: void __thiscall WINDOW::Center(struct HWND__ *)
+?Center@WINDOW@@QAEXPAUHWND__@@@Z
+; public: int __thiscall SPIN_GROUP::ChangeFieldValue(unsigned short,int)
+?ChangeFieldValue@SPIN_GROUP@@QAEHGH@Z
+; public: void __thiscall AUDIT_CHECKBOXES::CheckFailed(int)
+?CheckFailed@AUDIT_CHECKBOXES@@QAEXH@Z
+; public: unsigned int __thiscall MENU_BASE::CheckItem(unsigned int,int,unsigned int)const 
+?CheckItem@MENU_BASE@@QBEIIHI@Z
+; protected: long __thiscall ACCOUNT_NAMES_MLE::CheckLookedUpNames(unsigned short * *,class LSA_TRANSLATED_SID_MEM *,class STRLIST *,class NLS_STR *,unsigned short const *,long *)
+?CheckLookedUpNames@ACCOUNT_NAMES_MLE@@IAEJPAPAGPAVLSA_TRANSLATED_SID_MEM@@PAVSTRLIST@@PAVNLS_STR@@PBGPAJ@Z
+; public: static long __stdcall ACCOUNT_NAMES_MLE::CheckNameType(enum _SID_NAME_USE,unsigned long)
+?CheckNameType@ACCOUNT_NAMES_MLE@@SGJW4_SID_NAME_USE@@K@Z
+; public: int __thiscall CHANGEABLE_SPIN_ITEM::CheckRange(unsigned long)const 
+?CheckRange@CHANGEABLE_SPIN_ITEM@@QBEHK@Z
+; public: void __thiscall AUDIT_CHECKBOXES::CheckSuccess(int)
+?CheckSuccess@AUDIT_CHECKBOXES@@QAEXH@Z
+; public: virtual int __thiscall CHANGEABLE_SPIN_ITEM::CheckValid(void)
+?CheckValid@CHANGEABLE_SPIN_ITEM@@UAEHXZ
+; public: virtual int __thiscall SPIN_SLE_NUM_VALID::CheckValid(void)
+?CheckValid@SPIN_SLE_NUM_VALID@@UAEHXZ
+; public: class CONTROL_WINDOW * __thiscall CONTROL_TABLE::CidToCtrlPtr(unsigned int)const 
+?CidToCtrlPtr@CONTROL_TABLE@@QBEPAVCONTROL_WINDOW@@I@Z
+; protected: class CONTROL_WINDOW * __thiscall OWNER_WINDOW::CidToCtrlPtr(unsigned int)const 
+?CidToCtrlPtr@OWNER_WINDOW@@IBEPAVCONTROL_WINDOW@@I@Z
+; public: void __thiscall CONTROL_WINDOW::ClaimFocus(void)
+?ClaimFocus@CONTROL_WINDOW@@QAEXXZ
+; public: void __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::Clear(void)
+?Clear@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAEXXZ
+; public: void __thiscall DLIST_OF_SPIN_ITEM::Clear(void)
+?Clear@DLIST_OF_SPIN_ITEM@@QAEXXZ
+; public: void __thiscall SLIST_OF_ASSOCHCFILE::Clear(void)
+?Clear@SLIST_OF_ASSOCHCFILE@@QAEXXZ
+; public: void __thiscall SLIST_OF_CLIENTDATA::Clear(void)
+?Clear@SLIST_OF_CLIENTDATA@@QAEXXZ
+; public: void __thiscall SLIST_OF_OS_SID::Clear(void)
+?Clear@SLIST_OF_OS_SID@@QAEXXZ
+; public: void __thiscall SLIST_OF_STRING_BITSET_PAIR::Clear(void)
+?Clear@SLIST_OF_STRING_BITSET_PAIR@@QAEXXZ
+; public: void __thiscall SLIST_OF_TIMER_BASE::Clear(void)
+?Clear@SLIST_OF_TIMER_BASE@@QAEXXZ
+; public: void __thiscall SLIST_OF_UI_EXT::Clear(void)
+?Clear@SLIST_OF_UI_EXT@@QAEXXZ
+; public: void __thiscall SLIST_OF_ULC_API_BUFFER::Clear(void)
+?Clear@SLIST_OF_ULC_API_BUFFER@@QAEXXZ
+; public: void __thiscall SLIST_OF_USER_BROWSER_LBI::Clear(void)
+?Clear@SLIST_OF_USER_BROWSER_LBI@@QAEXXZ
+; private: void __thiscall H_SPLITTER_BAR::ClearDragBar(void)
+?ClearDragBar@H_SPLITTER_BAR@@AAEXXZ
+; public: static unsigned long __stdcall BLT_MASTER_TIMER::ClearMasterTimerHotkey(void)
+?ClearMasterTimerHotkey@BLT_MASTER_TIMER@@SGKXZ
+; public: void __thiscall SLT_ELLIPSIS::ClearText(void)
+?ClearText@SLT_ELLIPSIS@@QAEXXZ
+; public: void __thiscall WINDOW::ClearText(void)
+?ClearText@WINDOW@@QAEXXZ
+; public: void __thiscall XYPOINT::ClientToScreen(struct HWND__ *)
+?ClientToScreen@XYPOINT@@QAEXPAUHWND__@@@Z
+; public: void __thiscall APP_WINDOW::Close(void)
+?Close@APP_WINDOW@@QAEXXZ
+; public: long __thiscall WIN32_HANDLE::Close(void)
+?Close@WIN32_HANDLE@@QAEJXZ
+; protected: void __thiscall OPEN_DIALOG_BASE::CloseFile(class OPEN_LBI_BASE *)
+?CloseFile@OPEN_DIALOG_BASE@@IAEXPAVOPEN_LBI_BASE@@@Z
+; protected: static int __stdcall USER_LBI_CACHE::CmpUniStrs(struct _UNICODE_STRING const *,struct _UNICODE_STRING const *)
+?CmpUniStrs@USER_LBI_CACHE@@KGHPBU_UNICODE_STRING@@0@Z
+; public: long __thiscall LM_OLLB::CollapseDomain(int)
+?CollapseDomain@LM_OLLB@@QAEJH@Z
+; public: long __thiscall LM_OLLB::CollapseDomain(void)
+?CollapseDomain@LM_OLLB@@QAEJXZ
+; public: void __thiscall HIER_LISTBOX::CollapseItem(int,int)
+?CollapseItem@HIER_LISTBOX@@QAEXHH@Z
+; public: void __thiscall HIER_LISTBOX::CollapseItem(class HIER_LBI *,int)
+?CollapseItem@HIER_LISTBOX@@QAEXPAVHIER_LBI@@H@Z
+; int __stdcall CommDlgHookProc(struct HWND__ *,unsigned short,unsigned int,long)
+?CommDlgHookProc@@YGHPAUHWND__@@GIJ@Z
+; public: unsigned long __thiscall WINDOW::Command(unsigned int,unsigned int,long)const 
+?Command@WINDOW@@QBEKIIJ@Z
+; public: virtual int __thiscall BROWSER_DOMAIN_LBI::Compare(class LBI const *)const 
+?Compare@BROWSER_DOMAIN_LBI@@UBEHPBVLBI@@@Z
+; public: virtual int __thiscall BROWSER_DOMAIN_LBI_PB::Compare(class LBI const *)const 
+?Compare@BROWSER_DOMAIN_LBI_PB@@UBEHPBVLBI@@@Z
+; public: int __thiscall CONTROLVAL_CID_PAIR::Compare(class CONTROLVAL_CID_PAIR const *)const 
+?Compare@CONTROLVAL_CID_PAIR@@QBEHPBV1@@Z
+; public: virtual int __thiscall LBI::Compare(class LBI const *)const 
+?Compare@LBI@@UBEHPBV1@@Z
+; public: virtual int __thiscall OLLB_ENTRY::Compare(class LBI const *)const 
+?Compare@OLLB_ENTRY@@UBEHPBVLBI@@@Z
+; protected: virtual int __thiscall STLBITEM::Compare(class LBI const *)const 
+?Compare@STLBITEM@@MBEHPBVLBI@@@Z
+; public: virtual int __thiscall USER_BROWSER_LBI::Compare(class LBI const *)const 
+?Compare@USER_BROWSER_LBI@@UBEHPBVLBI@@@Z
+; protected: virtual int __thiscall USER_BROWSER_LBI_CACHE::Compare(class LBI const *,class LBI const *)const 
+?Compare@USER_BROWSER_LBI_CACHE@@MBEHPBVLBI@@0@Z
+; protected: virtual int __thiscall USER_BROWSER_LBI_CACHE::Compare(class LBI const *,struct _DOMAIN_DISPLAY_USER const *)const 
+?Compare@USER_BROWSER_LBI_CACHE@@MBEHPBVLBI@@PBU_DOMAIN_DISPLAY_USER@@@Z
+; public: int __thiscall USER_BROWSER_LBI::CompareAux(class LBI const *)const 
+?CompareAux@USER_BROWSER_LBI@@QBEHPBVLBI@@@Z
+; protected: static int __cdecl USER_BROWSER_LBI_CACHE::CompareCacheLBIs(struct _ULC_ENTRY_BASE const *,struct _ULC_ENTRY_BASE const *)
+?CompareCacheLBIs@USER_BROWSER_LBI_CACHE@@KAHPBU_ULC_ENTRY_BASE@@0@Z
+; protected: static int __cdecl USER_LBI_CACHE::CompareLogonNames(void const *,void const *)
+?CompareLogonNames@USER_LBI_CACHE@@KAHPBX0@Z
+; public: virtual int __thiscall LBI::Compare_HAWforHawaii(class NLS_STR const &)const 
+?Compare_HAWforHawaii@LBI@@UBEHABVNLS_STR@@@Z
+; public: virtual int __thiscall USER_BROWSER_LBI::Compare_HAWforHawaii(class NLS_STR const &)const 
+?Compare_HAWforHawaii@USER_BROWSER_LBI@@UBEHABVNLS_STR@@@Z
+; int __cdecl ComparepLBIs(class USER_BROWSER_LBI * const *,class USER_BROWSER_LBI * const *)
+?ComparepLBIs@@YAHPBQAVUSER_BROWSER_LBI@@0@Z
+; public: long __thiscall PROMPT_AND_CONNECT::Connect(void)
+?Connect@PROMPT_AND_CONNECT@@QAEJXZ
+; public: int __thiscall XYRECT::ContainsXY(class XYPOINT)const 
+?ContainsXY@XYRECT@@QBEHVXYPOINT@@@Z
+; protected: long __thiscall SLT_ELLIPSIS::ConvertAndSetStr(void)
+?ConvertAndSetStr@SLT_ELLIPSIS@@IAEJXZ
+; public: void __thiscall XYRECT::ConvertClientToScreen(struct HWND__ *)
+?ConvertClientToScreen@XYRECT@@QAEXPAUHWND__@@@Z
+; public: void __thiscall XYRECT::ConvertScreenToClient(struct HWND__ *)
+?ConvertScreenToClient@XYRECT@@QAEXPAUHWND__@@@Z
+; protected: virtual class LBI * __thiscall USER_BROWSER_LBI_CACHE::CreateLBI(struct _DOMAIN_DISPLAY_USER const *)
+?CreateLBI@USER_BROWSER_LBI_CACHE@@MAEPAVLBI@@PBU_DOMAIN_DISPLAY_USER@@@Z
+; public: long __thiscall ACCOUNT_NAMES_MLE::CreateLBIListFromNames(unsigned short const *,unsigned short const *,class SLIST_OF_USER_BROWSER_LBI *,class SLIST_OF_USER_BROWSER_LBI *,long *,class NLS_STR *)
+?CreateLBIListFromNames@ACCOUNT_NAMES_MLE@@QAEJPBG0PAVSLIST_OF_USER_BROWSER_LBI@@1PAJPAVNLS_STR@@@Z
+; long __stdcall CreateLBIsFromSids(void * const *,unsigned long,void * const,class LSA_POLICY *,unsigned short const *,class USER_BROWSER_LB *,class SLIST_OF_USER_BROWSER_LBI *)
+?CreateLBIsFromSids@@YGJPBQAXKQAXPAVLSA_POLICY@@PBGPAVUSER_BROWSER_LB@@PAVSLIST_OF_USER_BROWSER_LBI@@@Z
+; private: void __thiscall GRAPHICAL_BUTTON::CtAux(unsigned short const *,unsigned short const *,unsigned short const *)
+?CtAux@GRAPHICAL_BUTTON@@AAEXPBG00@Z
+; private: void __thiscall H_SPLITTER_BAR::CtAux(void)
+?CtAux@H_SPLITTER_BAR@@AAEXXZ
+; private: long __thiscall POPUP_MENU::CtAux(struct HMENU__ *)
+?CtAux@POPUP_MENU@@AAEJPAUHMENU__@@@Z
+; private: void __thiscall PROGRESS_CONTROL::CtAux(void)
+?CtAux@PROGRESS_CONTROL@@AAEXXZ
+; public: long __thiscall MENU_BASE::Delete(unsigned int,unsigned int)const 
+?Delete@MENU_BASE@@QBEJII@Z
+; public: void __thiscall LIST_CONTROL::DeleteAllItems(void)
+?DeleteAllItems@LIST_CONTROL@@QAEXXZ
+; protected: void __thiscall WIN32_THREAD::DeleteAndExit(unsigned int)
+?DeleteAndExit@WIN32_THREAD@@IAEXI@Z
+; public: void __thiscall HIER_LISTBOX::DeleteChildren(class HIER_LBI *)
+?DeleteChildren@HIER_LISTBOX@@QAEXPAVHIER_LBI@@@Z
+; public: void __thiscall DEVICE_COMBO::DeleteCurrentDeviceName(void)
+?DeleteCurrentDeviceName@DEVICE_COMBO@@QAEXXZ
+; public: int __thiscall HIER_LISTBOX::DeleteItem(int,int)
+?DeleteItem@HIER_LISTBOX@@QAEHHH@Z
+; public: int __thiscall LIST_CONTROL::DeleteItem(int)
+?DeleteItem@LIST_CONTROL@@QAEHH@Z
+; public: static void __stdcall BLT::DeregisterHelpFile(struct HINSTANCE__ *,unsigned long)
+?DeregisterHelpFile@BLT@@SGXPAUHINSTANCE__@@K@Z
+; public: long __thiscall POPUP_MENU::Destroy(void)
+?Destroy@POPUP_MENU@@QAEJXZ
+; protected: void __thiscall DIALOG_WINDOW::Dismiss(unsigned int)
+?Dismiss@DIALOG_WINDOW@@IAEXI@Z
+; protected: void __thiscall DIALOG_WINDOW::DismissMsg(long,unsigned int)
+?DismissMsg@DIALOG_WINDOW@@IAEXJI@Z
+; protected: virtual int __thiscall DISPATCHER::Dispatch(class EVENT const &,unsigned long *)
+?Dispatch@DISPATCHER@@MAEHABVEVENT@@PAK@Z
+; protected: virtual int __thiscall H_SPLITTER_BAR::Dispatch(class EVENT const &,unsigned long *)
+?Dispatch@H_SPLITTER_BAR@@MAEHABVEVENT@@PAK@Z
+; protected: virtual int __thiscall LB_COLUMN_HEADER::Dispatch(class EVENT const &,unsigned long *)
+?Dispatch@LB_COLUMN_HEADER@@MAEHABVEVENT@@PAK@Z
+; protected: virtual long __thiscall APP_WINDOW::DispatchMessageW(class EVENT const &)
+?DispatchMessageW@APP_WINDOW@@MAEJABVEVENT@@@Z
+; protected: virtual long __thiscall CLIENT_WINDOW::DispatchMessageW(class EVENT const &)
+?DispatchMessageW@CLIENT_WINDOW@@MAEJABVEVENT@@@Z
+; protected: virtual void __thiscall PROC_TIMER::DispatchTimer(void)
+?DispatchTimer@PROC_TIMER@@MAEXXZ
+; protected: virtual void __thiscall TIMER::DispatchTimer(void)
+?DispatchTimer@TIMER@@MAEXXZ
+; protected: virtual void __thiscall TIMER_BASE::DispatchTimer(void)
+?DispatchTimer@TIMER_BASE@@MAEXXZ
+; protected: virtual void __thiscall WINDOW_TIMER::DispatchTimer(void)
+?DispatchTimer@WINDOW_TIMER@@MAEXXZ
+; private: void __thiscall APPLICATION::DisplayCtError(long)
+?DisplayCtError@APPLICATION@@AAEXJ@Z
+; protected: virtual void __thiscall SPIN_SLE_NUM_VALID::DisplayErrorMsg(void)
+?DisplayErrorMsg@SPIN_SLE_NUM_VALID@@MAEXXZ
+; unsigned int __stdcall DisplayGenericError(class OWNINGWND const &,long,long,unsigned short const *,unsigned short const *,enum MSG_SEVERITY)
+?DisplayGenericError@@YGIABVOWNINGWND@@JJPBG1W4MSG_SEVERITY@@@Z
+; unsigned int __stdcall DisplayGenericError(class OWNINGWND const &,long,long,unsigned short const *,enum MSG_SEVERITY)
+?DisplayGenericError@@YGIABVOWNINGWND@@JJPBGW4MSG_SEVERITY@@@Z
+; private: void __thiscall SPIN_SLE_NUM::DisplayNum(unsigned long)
+?DisplayNum@SPIN_SLE_NUM@@AAEXK@Z
+; public: static int __stdcall DIALOG_WINDOW::DlgProc(struct HWND__ *,unsigned int,unsigned int,long)
+?DlgProc@DIALOG_WINDOW@@SGHPAUHWND__@@IIJ@Z
+; public: virtual long __thiscall SET_CONTROL::DoAdd(void)
+?DoAdd@SET_CONTROL@@UAEJXZ
+; private: long __thiscall SET_CONTROL::DoAddOrRemove(class LISTBOX *,class LISTBOX *)
+?DoAddOrRemove@SET_CONTROL@@AAEJPAVLISTBOX@@0@Z
+; public: int __thiscall SPIN_GROUP::DoArrowCommand(unsigned int,unsigned short)
+?DoArrowCommand@SPIN_GROUP@@QAEHIG@Z
+; public: void __thiscall LOGON_HOURS_CONTROL::DoBanButton(void)
+?DoBanButton@LOGON_HOURS_CONTROL@@QAEXXZ
+; private: void __thiscall LOGON_HOURS_CONTROL::DoButtonClick(int)
+?DoButtonClick@LOGON_HOURS_CONTROL@@AAEXH@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DoButtonDownVisuals(void)
+?DoButtonDownVisuals@LOGON_HOURS_CONTROL@@AAEXXZ
+; private: void __thiscall LOGON_HOURS_CONTROL::DoButtonUpVisuals(int)
+?DoButtonUpVisuals@LOGON_HOURS_CONTROL@@AAEXH@Z
+; public: int __thiscall DISPATCHER::DoChar(class CHAR_EVENT const &)
+?DoChar@DISPATCHER@@QAEHABVCHAR_EVENT@@@Z
+; public: int __thiscall SPIN_GROUP::DoChar(class CHAR_EVENT const &)
+?DoChar@SPIN_GROUP@@QAEHABVCHAR_EVENT@@@Z
+; public: int __thiscall SPIN_GROUP::DoNewFocus(class SPIN_ITEM *)
+?DoNewFocus@SPIN_GROUP@@QAEHPAVSPIN_ITEM@@@Z
+; protected: virtual long __thiscall CANCEL_TASK_DIALOG::DoOneItem(unsigned long,int *,int *,long *)
+?DoOneItem@CANCEL_TASK_DIALOG@@MAEJKPAH0PAJ@Z
+; public: void __thiscall LOGON_HOURS_CONTROL::DoPermitButton(void)
+?DoPermitButton@LOGON_HOURS_CONTROL@@QAEXXZ
+; public: virtual long __thiscall SET_CONTROL::DoRemove(void)
+?DoRemove@SET_CONTROL@@UAEJXZ
+; protected: long __thiscall NT_FIND_ACCOUNT_DIALOG::DoSearch(void)
+?DoSearch@NT_FIND_ACCOUNT_DIALOG@@IAEJXZ
+; public: int __thiscall DISPATCHER::DoUserMessage(class EVENT const &)
+?DoUserMessage@DISPATCHER@@QAEHABVEVENT@@@Z
+; private: int __thiscall LOGON_HOURS_CONTROL::DrawAllButtons(class PAINT_DISPLAY_CONTEXT &)const 
+?DrawAllButtons@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@@Z
+; private: int __thiscall LOGON_HOURS_CONTROL::DrawBackground(class PAINT_DISPLAY_CONTEXT &)const 
+?DrawBackground@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawCurrentSelection(class DISPLAY_CONTEXT const &)const 
+?DrawCurrentSelection@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusOnCell(class DISPLAY_CONTEXT const &,int)const 
+?DrawFocusOnCell@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusOnCornerButton(class DISPLAY_CONTEXT const &)const 
+?DrawFocusOnCornerButton@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusOnDayButton(class DISPLAY_CONTEXT const &,int)const 
+?DrawFocusOnDayButton@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusOnHourButton(class DISPLAY_CONTEXT const &,int)const 
+?DrawFocusOnHourButton@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
+; public: void __thiscall DEVICE_CONTEXT::DrawFocusRect(struct tagRECT const *)const 
+?DrawFocusRect@DEVICE_CONTEXT@@QBEXPBUtagRECT@@@Z
+; protected: void __thiscall FOCUS_CHECKBOX::DrawFocusRect(class DEVICE_CONTEXT *,struct tagRECT *,int)
+?DrawFocusRect@FOCUS_CHECKBOX@@IAEXPAVDEVICE_CONTEXT@@PAUtagRECT@@H@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawFocusSomewhere(class DISPLAY_CONTEXT const &,int)const 
+?DrawFocusSomewhere@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
+; private: int __thiscall LOGON_HOURS_CONTROL::DrawGridSetting(class PAINT_DISPLAY_CONTEXT &)const 
+?DrawGridSetting@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@@Z
+; private: int __thiscall LOGON_HOURS_CONTROL::DrawGridWires(class PAINT_DISPLAY_CONTEXT &)const 
+?DrawGridWires@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@@Z
+; private: int __thiscall APP_WINDOW::DrawIcon(void)
+?DrawIcon@APP_WINDOW@@AAEHXZ
+; public: long __thiscall APP_WINDOW::DrawMenuBar(void)const 
+?DrawMenuBar@APP_WINDOW@@QBEJXZ
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawOneCornerButton(class PAINT_DISPLAY_CONTEXT &,class XYRECT const &,int,struct HBRUSH__ *,struct HPEN__ *,struct HPEN__ *)const 
+?DrawOneCornerButton@LOGON_HOURS_CONTROL@@ABEXAAVPAINT_DISPLAY_CONTEXT@@ABVXYRECT@@HPAUHBRUSH__@@PAUHPEN__@@3@Z
+; private: int __thiscall LOGON_HOURS_CONTROL::DrawOneDayBar(class PAINT_DISPLAY_CONTEXT &,int,int,int,struct HBRUSH__ *)const 
+?DrawOneDayBar@LOGON_HOURS_CONTROL@@ABEHAAVPAINT_DISPLAY_CONTEXT@@HHHPAUHBRUSH__@@@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawOneFlatButton(class PAINT_DISPLAY_CONTEXT &,class XYRECT const &,int,struct HBRUSH__ *,struct HPEN__ *,struct HPEN__ *)const 
+?DrawOneFlatButton@LOGON_HOURS_CONTROL@@ABEXAAVPAINT_DISPLAY_CONTEXT@@ABVXYRECT@@HPAUHBRUSH__@@PAUHPEN__@@3@Z
+; public: void __thiscall DEVICE_CONTEXT::DrawRect(struct tagRECT const *)const 
+?DrawRect@DEVICE_CONTEXT@@QBEXPBUtagRECT@@@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawSelectionOnCell(class DISPLAY_CONTEXT const &,int)const 
+?DrawSelectionOnCell@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@H@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::DrawSelectionOnCells(class DISPLAY_CONTEXT const &,int,int)const 
+?DrawSelectionOnCells@LOGON_HOURS_CONTROL@@ABEXABVDISPLAY_CONTEXT@@HH@Z
+; public: int __thiscall DEVICE_CONTEXT::DrawTextW(class NLS_STR const &,struct tagRECT *,unsigned int)
+?DrawTextW@DEVICE_CONTEXT@@QAEHABVNLS_STR@@PAUtagRECT@@I@Z
+; private: int __thiscall POPUP::Emergency(void)const 
+?Emergency@POPUP@@ABEHXZ
+; public: void __thiscall AUDIT_CHECKBOXES::Enable(int,int)
+?Enable@AUDIT_CHECKBOXES@@QAEXHH@Z
+; public: void __thiscall MAGIC_GROUP::Enable(int)
+?Enable@MAGIC_GROUP@@QAEXH@Z
+; public: void __thiscall MENUITEM::Enable(int)
+?Enable@MENUITEM@@QAEXH@Z
+; public: void __thiscall RADIO_GROUP::Enable(int)
+?Enable@RADIO_GROUP@@QAEXH@Z
+; public: void __thiscall SET_OF_AUDIT_CATEGORIES::Enable(int,int)
+?Enable@SET_OF_AUDIT_CATEGORIES@@QAEXHH@Z
+; public: void __thiscall TIMER_BASE::Enable(int)
+?Enable@TIMER_BASE@@QAEXH@Z
+; public: void __thiscall WINDOW::Enable(int)
+?Enable@WINDOW@@QAEXH@Z
+; protected: void __thiscall NT_USER_BROWSER_DIALOG::EnableBrowsing(int)
+?EnableBrowsing@NT_USER_BROWSER_DIALOG@@IAEXH@Z
+; protected: void __thiscall SET_CONTROL::EnableButtons(void)
+?EnableButtons@SET_CONTROL@@IAEXXZ
+; public: unsigned int __thiscall MENU_BASE::EnableItem(unsigned int,int,unsigned int)const 
+?EnableItem@MENU_BASE@@QBEIIHI@Z
+; public: void __thiscall SET_CONTROL::EnableMoves(int)
+?EnableMoves@SET_CONTROL@@QAEXH@Z
+; public: void __thiscall TRISTATE::EnableThirdState(int)
+?EnableThirdState@TRISTATE@@QAEXH@Z
+; public: static long __stdcall BLTIMP::EnterBLTCritSect(void)
+?EnterBLTCritSect@BLTIMP@@SGJXZ
+; public: static long __stdcall BLTIMP::EnterResourceCritSect(void)
+?EnterResourceCritSect@BLTIMP@@SGJXZ
+; public: long __thiscall MASK_MAP::EnumBits(class BITFIELD *,int *,int *,int)
+?EnumBits@MASK_MAP@@QAEJPAVBITFIELD@@PAH1H@Z
+; public: long __thiscall MASK_MAP::EnumStrings(class NLS_STR *,int *,int *,int)
+?EnumStrings@MASK_MAP@@QAEJPAVNLS_STR@@PAH1H@Z
+; protected: void __thiscall FOCUS_CHECKBOX::EraseFocusRect(class DEVICE_CONTEXT *,struct tagRECT *)
+?EraseFocusRect@FOCUS_CHECKBOX@@IAEXPAVDEVICE_CONTEXT@@PAUtagRECT@@@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::EraseSelection(class DISPLAY_CONTEXT const &)
+?EraseSelection@LOGON_HOURS_CONTROL@@AAEXABVDISPLAY_CONTEXT@@@Z
+; protected: void __thiscall WIN32_THREAD::Exit(unsigned int)
+?Exit@WIN32_THREAD@@IAEXI@Z
+; public: long __thiscall DOMAIN_FILL_THREAD::ExitThread(void)
+?ExitThread@DOMAIN_FILL_THREAD@@QAEJXZ
+; public: long __thiscall FOCUSDLG_DATA_THREAD::ExitThread(void)
+?ExitThread@FOCUSDLG_DATA_THREAD@@QAEJXZ
+; private: int __thiscall HIER_LISTBOX::ExpandChildren(int,class HIER_LBI *)
+?ExpandChildren@HIER_LISTBOX@@AAEHHPAVHIER_LBI@@@Z
+; public: long __thiscall LM_OLLB::ExpandDomain(int)
+?ExpandDomain@LM_OLLB@@QAEJH@Z
+; public: long __thiscall LM_OLLB::ExpandDomain(void)
+?ExpandDomain@LM_OLLB@@QAEJXZ
+; public: long __thiscall HIER_LISTBOX::ExpandItem(int)
+?ExpandItem@HIER_LISTBOX@@QAEJH@Z
+; public: long __thiscall HIER_LISTBOX::ExpandItem(class HIER_LBI *)
+?ExpandItem@HIER_LISTBOX@@QAEJPAVHIER_LBI@@@Z
+; public: int __thiscall DEVICE_CONTEXT::ExtTextOutW(int,int,unsigned int,struct tagRECT const *,class NLS_STR const &,int *)
+?ExtTextOutW@DEVICE_CONTEXT@@QAEHHHIPBUtagRECT@@ABVNLS_STR@@PAH@Z
+; public: int __thiscall DEVICE_CONTEXT::ExtTextOutW(int,int,unsigned int,struct tagRECT const *,unsigned short const *,int,int *)
+?ExtTextOutW@DEVICE_CONTEXT@@QAEHHHIPBUtagRECT@@PBGHPAH@Z
+; public: long __thiscall NT_GROUP_BROWSER_LB::Fill(void * const *,unsigned long,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
+?Fill@NT_GROUP_BROWSER_LB@@QAEJPBQAXKPBVSAM_DOMAIN@@PAVLSA_POLICY@@PBG@Z
+; public: long __thiscall OPEN_LBOX_BASE::Fill(void)
+?Fill@OPEN_LBOX_BASE@@QAEJXZ
+; public: long __thiscall USER_BROWSER_LBI_CACHE::Fill(class ADMIN_AUTHORITY *,unsigned short const *,unsigned long,int,int,int *)
+?Fill@USER_BROWSER_LBI_CACHE@@QAEJPAVADMIN_AUTHORITY@@PBGKHHPAH@Z
+; public: void __thiscall LM_OLLB::FillAllInfo(class BROWSE_DOMAIN_ENUM *,class SERVER1_ENUM *,unsigned short const *)
+?FillAllInfo@LM_OLLB@@QAEXPAVBROWSE_DOMAIN_ENUM@@PAVSERVER1_ENUM@@PBG@Z
+; private: void __thiscall MSGPOPUP_DIALOG::FillButtonArray(unsigned int,int *,int *)
+?FillButtonArray@MSGPOPUP_DIALOG@@AAEXIPAH0@Z
+; private: long __thiscall DEVICE_COMBO::FillDevices(void)
+?FillDevices@DEVICE_COMBO@@AAEJXZ
+; private: long __thiscall LM_OLLB::FillDomains(unsigned long,unsigned short const *)
+?FillDomains@LM_OLLB@@AAEJKPBG@Z
+; public: long __thiscall NT_GROUP_BROWSER_LB::FillGlobalGroupMembers(class OS_SID const *,class SAM_DOMAIN const *,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
+?FillGlobalGroupMembers@NT_GROUP_BROWSER_LB@@QAEJPBVOS_SID@@PBVSAM_DOMAIN@@1PAVLSA_POLICY@@PBG@Z
+; public: long __thiscall NT_GROUP_BROWSER_LB::FillLocalGroupMembers(class OS_SID const *,class SAM_DOMAIN const *,class SAM_DOMAIN const *,class LSA_POLICY *,unsigned short const *)
+?FillLocalGroupMembers@NT_GROUP_BROWSER_LB@@QAEJPBVOS_SID@@PBVSAM_DOMAIN@@1PAVLSA_POLICY@@PBG@Z
+; private: long __thiscall LM_OLLB::FillServers(unsigned short const *,unsigned int *)
+?FillServers@LM_OLLB@@AAEJPBGPAI@Z
+; protected: virtual int __thiscall DIALOG_WINDOW::FilterMessage(struct tagMSG *)
+?FilterMessage@DIALOG_WINDOW@@MAEHPAUtagMSG@@@Z
+; protected: virtual int __thiscall HAS_MESSAGE_PUMP::FilterMessage(struct tagMSG *)
+?FilterMessage@HAS_MESSAGE_PUMP@@MAEHPAUtagMSG@@@Z
+; public: int __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::Find(class CONTROLVAL_CID_PAIR const &)const 
+?Find@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QBEHABVCONTROLVAL_CID_PAIR@@@Z
+; public: static class DIALOG_WINDOW * __stdcall HWND_DLGPTR_CACHE::Find(struct HWND__ *)
+?Find@HWND_DLGPTR_CACHE@@SGPAVDIALOG_WINDOW@@PAUHWND__@@@Z
+; private: unsigned int __thiscall MAGIC_GROUP::FindAssocRadioButton(class CONTROL_VALUE *)
+?FindAssocRadioButton@MAGIC_GROUP@@AAEIPAVCONTROL_VALUE@@@Z
+; public: class BROWSER_DOMAIN * __thiscall NT_USER_BROWSER_DIALOG::FindDomain(class OS_SID const *)
+?FindDomain@NT_USER_BROWSER_DIALOG@@QAEPAVBROWSER_DOMAIN@@PBVOS_SID@@@Z
+; public: class UI_EXT * __thiscall UI_EXT_MGR::FindExtensionByDelta(unsigned long)
+?FindExtensionByDelta@UI_EXT_MGR@@QAEPAVUI_EXT@@K@Z
+; public: class UI_EXT * __thiscall UI_EXT_MGR::FindExtensionByName(unsigned short const *)
+?FindExtensionByName@UI_EXT_MGR@@QAEPAVUI_EXT@@PBG@Z
+; public: int __thiscall BLT_LISTBOX::FindItem(class LBI const &)const 
+?FindItem@BLT_LISTBOX@@QBEHABVLBI@@@Z
+; public: int __thiscall OUTLINE_LISTBOX::FindItem(unsigned short const *,unsigned short const *)const 
+?FindItem@OUTLINE_LISTBOX@@QBEHPBG0@Z
+; public: int __thiscall STRING_LIST_CONTROL::FindItem(unsigned short const *)const 
+?FindItem@STRING_LIST_CONTROL@@QBEHPBG@Z
+; public: int __thiscall STRING_LIST_CONTROL::FindItem(unsigned short const *,int)const 
+?FindItem@STRING_LIST_CONTROL@@QBEHPBGH@Z
+; public: int __thiscall STRING_LIST_CONTROL::FindItemExact(unsigned short const *)const 
+?FindItemExact@STRING_LIST_CONTROL@@QBEHPBG@Z
+; public: int __thiscall STRING_LIST_CONTROL::FindItemExact(unsigned short const *,int)const 
+?FindItemExact@STRING_LIST_CONTROL@@QBEHPBGH@Z
+; public: void __thiscall DEVICE_CONTEXT::FrameRect(struct tagRECT const *,struct HBRUSH__ *)const 
+?FrameRect@DEVICE_CONTEXT@@QBEXPBUtagRECT@@PAUHBRUSH__@@@Z
+; private: virtual long __thiscall SPIN_SLE_STR::GetAccKey(class NLS_STR *)
+?GetAccKey@SPIN_SLE_STR@@EAEJPAVNLS_STR@@@Z
+; protected: virtual long __thiscall SPIN_SLT_SEPARATOR::GetAccKey(class NLS_STR *)
+?GetAccKey@SPIN_SLT_SEPARATOR@@MAEJPAVNLS_STR@@@Z
+; private: long __thiscall MSG_DIALOG_BASE::GetAndSendText(void)
+?GetAndSendText@MSG_DIALOG_BASE@@AAEJXZ
+; public: unsigned long __thiscall DEVICE_CONTEXT::GetBkColor(void)const 
+?GetBkColor@DEVICE_CONTEXT@@QBEKXZ
+; public: long __thiscall BROWSER_DOMAIN::GetDomainInfo(class NT_USER_BROWSER_DIALOG *,class ADMIN_AUTHORITY const *)
+?GetDomainInfo@BROWSER_DOMAIN@@QAEJPAVNT_USER_BROWSER_DIALOG@@PBVADMIN_AUTHORITY@@@Z
+; public: long __thiscall UI_DOMAIN::GetInfo(void)
+?GetInfo@UI_DOMAIN@@QAEJXZ
+; public: long __thiscall APP_WINDOW::GetPlacement(struct tagWINDOWPLACEMENT *)const 
+?GetPlacement@APP_WINDOW@@QBEJPAUtagWINDOWPLACEMENT@@@Z
+; public: long __thiscall BROWSER_DOMAIN::GetQualifiedDomainName(class NLS_STR *)
+?GetQualifiedDomainName@BROWSER_DOMAIN@@QAEJPAVNLS_STR@@@Z
+; public: long __thiscall BROWSER_DOMAIN_LBI_PB::GetQualifiedDomainName(class NLS_STR *)
+?GetQualifiedDomainName@BROWSER_DOMAIN_LBI_PB@@QAEJPAVNLS_STR@@@Z
+; public: unsigned long __thiscall DEVICE_CONTEXT::GetTextColor(void)const 
+?GetTextColor@DEVICE_CONTEXT@@QBEKXZ
+; private: int __thiscall DISPLAY_MAP::GetTransColorIndex(unsigned long *,int)const 
+?GetTransColorIndex@DISPLAY_MAP@@ABEHPAKH@Z
+; protected: long __thiscall NT_USER_BROWSER_DIALOG::GetTrustedDomainList(unsigned short const *,class BROWSER_DOMAIN * *,class BROWSER_DOMAIN_CB *,class ADMIN_AUTHORITY const *)
+?GetTrustedDomainList@NT_USER_BROWSER_DIALOG@@IAEJPBGPAPAVBROWSER_DOMAIN@@PAVBROWSER_DOMAIN_CB@@PBVADMIN_AUTHORITY@@@Z
+; public: int __thiscall SET_CONTROL::HandleOnLMouseButtonDown(class LISTBOX *,class CUSTOM_CONTROL *,class MOUSE_EVENT const &)
+?HandleOnLMouseButtonDown@SET_CONTROL@@QAEHPAVLISTBOX@@PAVCUSTOM_CONTROL@@ABVMOUSE_EVENT@@@Z
+; public: int __thiscall SET_CONTROL::HandleOnLMouseButtonUp(class LISTBOX *,class CUSTOM_CONTROL *,class MOUSE_EVENT const &)
+?HandleOnLMouseButtonUp@SET_CONTROL@@QAEHPAVLISTBOX@@PAVCUSTOM_CONTROL@@ABVMOUSE_EVENT@@@Z
+; public: int __thiscall SET_CONTROL::HandleOnMouseMove(class LISTBOX *,class MOUSE_EVENT const &)
+?HandleOnMouseMove@SET_CONTROL@@QAEHPAVLISTBOX@@ABVMOUSE_EVENT@@@Z
+; public: int __thiscall HIER_LBI::HasChildren(void)
+?HasChildren@HIER_LBI@@QAEHXZ
+; public: int __thiscall WINDOW::HasFocus(void)const 
+?HasFocus@WINDOW@@QBEHXZ
+; public: static class DISPATCHER * __stdcall ASSOCHWNDDISP::HwndToPdispatch(struct HWND__ *)
+?HwndToPdispatch@ASSOCHWNDDISP@@SGPAVDISPATCHER@@PAUHWND__@@@Z
+; public: static class DIALOG_WINDOW * __stdcall ASSOCHWNDPDLG::HwndToPdlg(struct HWND__ *)
+?HwndToPdlg@ASSOCHWNDPDLG@@SGPAVDIALOG_WINDOW@@PAUHWND__@@@Z
+; public: static class CLIENT_WINDOW * __stdcall ASSOCHWNDPWND::HwndToPwnd(struct HWND__ *)
+?HwndToPwnd@ASSOCHWNDPWND@@SGPAVCLIENT_WINDOW@@PAUHWND__@@@Z
+; private: static class CLIENT_WINDOW * __stdcall CLIENT_WINDOW::HwndToPwnd(struct HWND__ *)
+?HwndToPwnd@CLIENT_WINDOW@@CGPAV1@PAUHWND__@@@Z
+; private: static class DIALOG_WINDOW * __stdcall DIALOG_WINDOW::HwndToPwnd(struct HWND__ *)
+?HwndToPwnd@DIALOG_WINDOW@@CGPAV1@PAUHWND__@@@Z
+; protected: static class DISPATCHER * __stdcall DISPATCHER::HwndToPwnd(struct HWND__ *)
+?HwndToPwnd@DISPATCHER@@KGPAV1@PAUHWND__@@@Z
+; public: static void * __stdcall ASSOCHWNDTHIS::HwndToThis(struct HWND__ *)
+?HwndToThis@ASSOCHWNDTHIS@@SGPAXPAUHWND__@@@Z
+; public: int __thiscall BASE_SET_FOCUS_DLG::InRasMode(void)const 
+?InRasMode@BASE_SET_FOCUS_DLG@@QBEHXZ
+; public: int __thiscall XYPOINT::InRect(class XYRECT const &)const 
+?InRect@XYPOINT@@QBEHABVXYRECT@@@Z
+; public: virtual void __thiscall CONTROL_WINDOW::IndicateError(long)
+?IndicateError@CONTROL_WINDOW@@UAEXJ@Z
+; public: virtual void __thiscall SLE::IndicateError(long)
+?IndicateError@SLE@@UAEXJ@Z
+; public: class XYRECT & __thiscall XYRECT::Inflate(int,int)
+?Inflate@XYRECT@@QAEAAV1@HH@Z
+; public: class XYRECT & __thiscall XYRECT::Inflate(class XYDIMENSION)
+?Inflate@XYRECT@@QAEAAV1@VXYDIMENSION@@@Z
+; public: static long __stdcall BASE_ELLIPSIS::Init(void)
+?Init@BASE_ELLIPSIS@@SGJXZ
+; public: static long __stdcall BLT::Init(struct HINSTANCE__ *,unsigned int,unsigned int,unsigned int,unsigned int)
+?Init@BLT@@SGJPAUHINSTANCE__@@IIII@Z
+; public: static long __stdcall BLTIMP::Init(void)
+?Init@BLTIMP@@SGJXZ
+; public: static long __stdcall BLT_MASTER_TIMER::Init(void)
+?Init@BLT_MASTER_TIMER@@SGJXZ
+; public: static long __stdcall CLIENT_WINDOW::Init(void)
+?Init@CLIENT_WINDOW@@SGJXZ
+; public: static long __stdcall POPUP::Init(void)
+?Init@POPUP@@SGJXZ
+; public: long __thiscall SLE_STRLB_GROUP::Init(class STRLIST *)
+?Init@SLE_STRLB_GROUP@@QAEJPAVSTRLIST@@@Z
+; public: static void __stdcall WIN32_FONT_PICKER::InitCHOOSEFONT(struct tagCHOOSEFONTW *,struct tagLOGFONTW *,struct HWND__ *)
+?InitCHOOSEFONT@WIN32_FONT_PICKER@@SGXPAUtagCHOOSEFONTW@@PAUtagLOGFONTW@@PAUHWND__@@@Z
+; public: static long __stdcall BLT::InitDLL(void)
+?InitDLL@BLT@@SGJXZ
+; protected: void __thiscall GET_FNAME_BASE_DLG::InitialOFN(void)
+?InitialOFN@GET_FNAME_BASE_DLG@@IAEXXZ
+; private: long __thiscall SPIN_SLE_STR::Initialize(long,class OWNER_WINDOW *,unsigned int)
+?Initialize@SPIN_SLE_STR@@AAEJJPAVOWNER_WINDOW@@I@Z
+; private: long __thiscall SPIN_SLE_STR::Initialize(unsigned short const * * const,class OWNER_WINDOW *,unsigned int)
+?Initialize@SPIN_SLE_STR@@AAEJQAPBGPAVOWNER_WINDOW@@I@Z
+; private: long __thiscall SPIN_SLT_SEPARATOR::Initialize(void)
+?Initialize@SPIN_SLT_SEPARATOR@@AAEJXZ
+; public: long __thiscall MENU_BASE::Insert(unsigned short const *,unsigned int,unsigned int,unsigned int)const 
+?Insert@MENU_BASE@@QBEJPBGIII@Z
+; public: long __thiscall MENU_BASE::Insert(unsigned short const *,unsigned int,struct HMENU__ *,unsigned int)const 
+?Insert@MENU_BASE@@QBEJPBGIPAUHMENU__@@I@Z
+; public: int __thiscall BLT_LISTBOX::InsertItem(int,class LBI *)
+?InsertItem@BLT_LISTBOX@@QAEHHPAVLBI@@@Z
+; public: int __thiscall STRING_LIST_CONTROL::InsertItem(int,class NLS_STR const &)
+?InsertItem@STRING_LIST_CONTROL@@QAEHHABVNLS_STR@@@Z
+; public: int __thiscall STRING_LIST_CONTROL::InsertItem(int,unsigned short const *)
+?InsertItem@STRING_LIST_CONTROL@@QAEHHPBG@Z
+; protected: int __thiscall LIST_CONTROL::InsertItemData(int,void *)
+?InsertItemData@LIST_CONTROL@@IAEHHPAX@Z
+; public: long __thiscall NLS_STR::InsertParams(class NLS_STR const &)
+?InsertParams@NLS_STR@@QAEJABV1@@Z
+; public: long __thiscall MENU_BASE::InsertSeparator(unsigned int,unsigned int)const 
+?InsertSeparator@MENU_BASE@@QBEJII@Z
+; public: long __thiscall BLT_MASTER_TIMER::InsertTimer(class TIMER_BASE *)
+?InsertTimer@BLT_MASTER_TIMER@@QAEJPAVTIMER_BASE@@@Z
+; public: void __thiscall WINDOW::Invalidate(class XYRECT const &)
+?Invalidate@WINDOW@@QAEXABVXYRECT@@@Z
+; public: void __thiscall WINDOW::Invalidate(int)
+?Invalidate@WINDOW@@QAEXH@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::InvalidateButton(int)
+?InvalidateButton@LOGON_HOURS_CONTROL@@AAEXH@Z
+; public: void __thiscall LISTBOX::InvalidateItem(int,int)
+?InvalidateItem@LISTBOX@@QAEXHH@Z
+; private: void __thiscall H_SPLITTER_BAR::InvertDragBar(class XYPOINT const &)
+?InvertDragBar@H_SPLITTER_BAR@@AAEXABVXYPOINT@@@Z
+; public: void __thiscall DEVICE_CONTEXT::InvertRect(struct tagRECT const *)const 
+?InvertRect@DEVICE_CONTEXT@@QBEXPBUtagRECT@@@Z
+; public: int __thiscall INTL_PROFILE::Is24Hour(void)const 
+?Is24Hour@INTL_PROFILE@@QBEHXZ
+; public: int __thiscall ACTIVATION_EVENT::IsActivating(void)const 
+?IsActivating@ACTIVATION_EVENT@@QBEHXZ
+; public: int __thiscall SPIN_GROUP::IsActive(void)const 
+?IsActive@SPIN_GROUP@@QBEHXZ
+; public: int __thiscall ASSOCHCFILE::IsAssociatedHC(unsigned long)const 
+?IsAssociatedHC@ASSOCHCFILE@@QBEHK@Z
+; protected: int __thiscall HEAP_BASE::IsAutoReadjusting(void)const 
+?IsAutoReadjusting@HEAP_BASE@@IBEHXZ
+; protected: int __thiscall NT_USER_BROWSER_DIALOG::IsBrowsingEnabled(void)const 
+?IsBrowsingEnabled@NT_USER_BROWSER_DIALOG@@IBEHXZ
+; private: int __thiscall LOGON_HOURS_CONTROL::IsButtonACell(int)const 
+?IsButtonACell@LOGON_HOURS_CONTROL@@ABEHH@Z
+; public: int __thiscall MENUITEM::IsChecked(void)const 
+?IsChecked@MENUITEM@@QBEHXZ
+; public: int __thiscall WINDOW::IsChild(void)const 
+?IsChild@WINDOW@@QBEHXZ
+; public: static int __stdcall WINDOW::IsClientGeneratedMessage(void)
+?IsClientGeneratedMessage@WINDOW@@SGHXZ
+; public: int __thiscall LIST_CONTROL::IsCombo(void)const 
+?IsCombo@LIST_CONTROL@@QBEHXZ
+; public: int __thiscall PROMPT_AND_CONNECT::IsConnected(void)
+?IsConnected@PROMPT_AND_CONNECT@@QAEHXZ
+; private: int __thiscall BLT_DATE_SPIN_GROUP::IsConstructionFail(class CONTROL_WINDOW *)
+?IsConstructionFail@BLT_DATE_SPIN_GROUP@@AAEHPAVCONTROL_WINDOW@@@Z
+; private: int __thiscall BLT_TIME_SPIN_GROUP::IsConstructionFail(class CONTROL_WINDOW *)
+?IsConstructionFail@BLT_TIME_SPIN_GROUP@@AAEHPAVCONTROL_WINDOW@@@Z
+; public: int __thiscall INTL_PROFILE::IsDayLZero(void)const 
+?IsDayLZero@INTL_PROFILE@@QBEHXZ
+; private: virtual int __thiscall HIER_LBI::IsDestroyable(void)
+?IsDestroyable@HIER_LBI@@EAEHXZ
+; protected: virtual int __thiscall LBI::IsDestroyable(void)
+?IsDestroyable@LBI@@MAEHXZ
+; protected: int __thiscall NT_USER_BROWSER_DIALOG::IsDomainComboDropped(void)const 
+?IsDomainComboDropped@NT_USER_BROWSER_DIALOG@@IBEHXZ
+; public: int __thiscall COMBOBOX::IsDropDown(void)const 
+?IsDropDown@COMBOBOX@@QBEHXZ
+; public: int __thiscall COMBOBOX::IsDropDownList(void)const 
+?IsDropDownList@COMBOBOX@@QBEHXZ
+; public: int __thiscall BLT_COMBOBOX::IsDropped(void)const 
+?IsDropped@BLT_COMBOBOX@@QBEHXZ
+; public: int __thiscall XYRECT::IsEmpty(void)const 
+?IsEmpty@XYRECT@@QBEHXZ
+; public: int __thiscall MENUITEM::IsEnabled(void)const 
+?IsEnabled@MENUITEM@@QBEHXZ
+; public: int __thiscall TIMER_BASE::IsEnabled(void)const 
+?IsEnabled@TIMER_BASE@@QBEHXZ
+; public: int __thiscall WINDOW::IsEnabled(void)const 
+?IsEnabled@WINDOW@@QBEHXZ
+; protected: int __thiscall BASE_SET_FOCUS_DLG::IsExpanded(void)const 
+?IsExpanded@BASE_SET_FOCUS_DLG@@IBEHXZ
+; public: int __thiscall OLLB_ENTRY::IsExpanded(void)const 
+?IsExpanded@OLLB_ENTRY@@QBEHXZ
+; public: int __thiscall AUDIT_CHECKBOXES::IsFailedChecked(void)
+?IsFailedChecked@AUDIT_CHECKBOXES@@QAEHXZ
+; protected: int __thiscall CANCEL_TASK_DIALOG::IsFinished(void)const 
+?IsFinished@CANCEL_TASK_DIALOG@@IBEHXZ
+; public: int __thiscall GET_FNAME_BASE_DLG::IsHelpActive(void)
+?IsHelpActive@GET_FNAME_BASE_DLG@@QAEHXZ
+; public: int __thiscall INTL_PROFILE::IsHourLZero(void)const 
+?IsHourLZero@INTL_PROFILE@@QBEHXZ
+; protected: int __thiscall CANCEL_TASK_DIALOG::IsInTimer(void)const 
+?IsInTimer@CANCEL_TASK_DIALOG@@IBEHXZ
+; public: int __thiscall BROWSER_DOMAIN::IsInitialized(void)const 
+?IsInitialized@BROWSER_DOMAIN@@QBEHXZ
+; public: virtual int __thiscall USER_LBI_CACHE::IsItemAvailable(int)
+?IsItemAvailable@USER_LBI_CACHE@@UAEHH@Z
+; public: int __thiscall LIST_CONTROL::IsItemSelected(unsigned int)const 
+?IsItemSelected@LIST_CONTROL@@QBEHI@Z
+; public: int __thiscall RADIO_GROUP::IsMember(unsigned int)
+?IsMember@RADIO_GROUP@@QAEHI@Z
+; public: int __thiscall CLIENT_WINDOW::IsMinimized(void)const 
+?IsMinimized@CLIENT_WINDOW@@QBEHXZ
+; public: int __thiscall SPIN_GROUP::IsModified(void)const 
+?IsModified@SPIN_GROUP@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::IsMonthLZero(void)const 
+?IsMonthLZero@INTL_PROFILE@@QBEHXZ
+; public: int __thiscall LIST_CONTROL::IsMultSel(void)const 
+?IsMultSel@LIST_CONTROL@@QBEHXZ
+; private: int __thiscall SET_CONTROL::IsOnDragStart(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
+?IsOnDragStart@SET_CONTROL@@ABEHPAVLISTBOX@@0ABVXYPOINT@@@Z
+; private: int __thiscall SET_CONTROL::IsOnSelectedItem(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
+?IsOnSelectedItem@SET_CONTROL@@ABEHPAVLISTBOX@@0ABVXYPOINT@@@Z
+; private: int __thiscall SET_CONTROL::IsOverTarget(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
+?IsOverTarget@SET_CONTROL@@ABEHPAVLISTBOX@@0ABVXYPOINT@@@Z
+; private: int __thiscall HIER_LBI::IsParent(class HIER_LBI *)
+?IsParent@HIER_LBI@@AAEHPAV1@@Z
+; public: int __thiscall MENU_BASE::IsPopup(int)const 
+?IsPopup@MENU_BASE@@QBEHH@Z
+; public: int __thiscall MASK_MAP::IsPresent(class BITFIELD *)
+?IsPresent@MASK_MAP@@QAEHPAVBITFIELD@@@Z
+; protected: virtual int __thiscall DIALOG_WINDOW::IsPumpFinished(void)
+?IsPumpFinished@DIALOG_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall HAS_MESSAGE_PUMP::IsPumpFinished(void)
+?IsPumpFinished@HAS_MESSAGE_PUMP@@MAEHXZ
+; public: int __thiscall LISTBOX::IsReadOnly(void)const 
+?IsReadOnly@LISTBOX@@QBEHXZ
+; protected: int __thiscall HEAP_BASE::IsRoot(int)const 
+?IsRoot@HEAP_BASE@@IBEHH@Z
+; public: int __thiscall WIN32_THREAD::IsRunnable(void)const 
+?IsRunnable@WIN32_THREAD@@QBEHXZ
+; protected: int __thiscall USER_BROWSER_LB::IsSelectionExpandableGroup(class USER_BROWSER_LBI const *,int)const 
+?IsSelectionExpandableGroup@USER_BROWSER_LB@@IBEHPBVUSER_BROWSER_LBI@@H@Z
+; public: int __thiscall USER_BROWSER_LB::IsSelectionExpandableGroup(void)const 
+?IsSelectionExpandableGroup@USER_BROWSER_LB@@QBEHXZ
+; public: int __thiscall MENU_BASE::IsSeparator(int)const 
+?IsSeparator@MENU_BASE@@QBEHH@Z
+; protected: int __thiscall NT_USER_BROWSER_DIALOG::IsShowUsersButtonUsed(void)const 
+?IsShowUsersButtonUsed@NT_USER_BROWSER_DIALOG@@IBEHXZ
+; public: int __thiscall COMBOBOX::IsSimple(void)const 
+?IsSimple@COMBOBOX@@QBEHXZ
+; public: int __thiscall ACCOUNT_NAMES_MLE::IsSingleSelect(void)const 
+?IsSingleSelect@ACCOUNT_NAMES_MLE@@QBEHXZ
+; public: int __thiscall NT_USER_BROWSER_DIALOG::IsSingleSelection(void)const 
+?IsSingleSelection@NT_USER_BROWSER_DIALOG@@QBEHXZ
+; public: virtual int __thiscall CHANGEABLE_SPIN_ITEM::IsStatic(void)const 
+?IsStatic@CHANGEABLE_SPIN_ITEM@@UBEHXZ
+; public: virtual int __thiscall STATIC_SPIN_ITEM::IsStatic(void)const 
+?IsStatic@STATIC_SPIN_ITEM@@UBEHXZ
+; public: int __thiscall AUDIT_CHECKBOXES::IsSuccessChecked(void)
+?IsSuccessChecked@AUDIT_CHECKBOXES@@QAEHXZ
+; public: static int __stdcall APPLICATION::IsSystemInitialized(void)
+?IsSystemInitialized@APPLICATION@@SGHXZ
+; public: int __thiscall BROWSER_DOMAIN::IsTargetDomain(void)const 
+?IsTargetDomain@BROWSER_DOMAIN@@QBEHXZ
+; public: int __thiscall BROWSER_DOMAIN_LBI::IsTargetDomain(void)const 
+?IsTargetDomain@BROWSER_DOMAIN_LBI@@QBEHXZ
+; public: int __thiscall BROWSER_DOMAIN_LBI_PB::IsTargetDomain(void)const 
+?IsTargetDomain@BROWSER_DOMAIN_LBI_PB@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::IsTimePrefix(void)const 
+?IsTimePrefix@INTL_PROFILE@@QBEHXZ
+; public: int __thiscall COMBOBOX::IsUserEdittable(void)const 
+?IsUserEdittable@COMBOBOX@@QBEHXZ
+; public: int __thiscall BLT_DATE_SPIN_GROUP::IsValid(void)
+?IsValid@BLT_DATE_SPIN_GROUP@@QAEHXZ
+; public: int __thiscall BLT_TIME_SPIN_GROUP::IsValid(void)
+?IsValid@BLT_TIME_SPIN_GROUP@@QAEHXZ
+; protected: virtual int __thiscall DIALOG_WINDOW::IsValid(void)
+?IsValid@DIALOG_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall SPIN_SLE_NUM_VALID::IsValid(void)
+?IsValid@SPIN_SLE_NUM_VALID@@MAEHXZ
+; protected: int __thiscall SPIN_GROUP::IsValidField(void)
+?IsValidField@SPIN_GROUP@@IAEHXZ
+; protected: int __thiscall BASE_ELLIPSIS::IsValidStyle(enum ELLIPSIS_STYLE)const 
+?IsValidStyle@BASE_ELLIPSIS@@IBEHW4ELLIPSIS_STYLE@@@Z
+; protected: int __thiscall ACCOUNT_NAMES_MLE::IsWellKnownAccount(class NLS_STR const &)
+?IsWellKnownAccount@ACCOUNT_NAMES_MLE@@IAEHABVNLS_STR@@@Z
+; public: int __thiscall BROWSER_DOMAIN::IsWinNTMachine(void)const 
+?IsWinNTMachine@BROWSER_DOMAIN@@QBEHXZ
+; protected: int __thiscall H_SPLITTER_BAR::IsWithinHitZone(class XYPOINT const &)
+?IsWithinHitZone@H_SPLITTER_BAR@@IAEHABVXYPOINT@@@Z
+; private: int __thiscall SET_CONTROL::IsWithinHitZone(class LISTBOX *,class LISTBOX *,class XYPOINT const &)const 
+?IsWithinHitZone@SET_CONTROL@@ABEHPAVLISTBOX@@0ABVXYPOINT@@@Z
+; public: int __thiscall INTL_PROFILE::IsYrCentury(void)const 
+?IsYrCentury@INTL_PROFILE@@QBEHXZ
+; public: static int __stdcall MENUITEM::ItemExists(struct HMENU__ *,unsigned int)
+?ItemExists@MENUITEM@@SGHPAUHMENU__@@I@Z
+; public: static int __stdcall MENUITEM::ItemExists(class APP_WINDOW *,unsigned int)
+?ItemExists@MENUITEM@@SGHPAVAPP_WINDOW@@I@Z
+; public: int __thiscall SPIN_GROUP::JumpNextField(void)
+?JumpNextField@SPIN_GROUP@@QAEHXZ
+; public: int __thiscall SPIN_GROUP::JumpPrevField(void)
+?JumpPrevField@SPIN_GROUP@@QAEHXZ
+; private: void __thiscall DIALOG_WINDOW::LaunchHelp(void)
+?LaunchHelp@DIALOG_WINDOW@@AAEXXZ
+; public: static void __stdcall BLTIMP::LeaveBLTCritSect(void)
+?LeaveBLTCritSect@BLTIMP@@SGXXZ
+; public: static void __stdcall BLTIMP::LeaveResourceCritSect(void)
+?LeaveResourceCritSect@BLTIMP@@SGXXZ
+; public: void __thiscall DEVICE_CONTEXT::LineTo(int,int)const 
+?LineTo@DEVICE_CONTEXT@@QBEXHH@Z
+; public: static struct HICON__ * __stdcall CURSOR::Load(class IDRESOURCE const &)
+?Load@CURSOR@@SGPAUHICON__@@ABVIDRESOURCE@@@Z
+; public: long __thiscall NLS_STR::Load(long)
+?Load@NLS_STR@@QAEJJ@Z
+; public: virtual unsigned int __thiscall UI_EXT_MGR::LoadExtensions(void)
+?LoadExtensions@UI_EXT_MGR@@UAEIXZ
+; private: long __thiscall LOGON_HOURS_CONTROL::LoadLabels(long)
+?LoadLabels@LOGON_HOURS_CONTROL@@AAEJJ@Z
+; private: class NLS_STR * __thiscall POPUP::LoadMessage(long,int)
+?LoadMessage@POPUP@@AAEPAVNLS_STR@@JH@Z
+; public: static struct HICON__ * __stdcall CURSOR::LoadSystem(class IDRESOURCE const &)
+?LoadSystem@CURSOR@@SGPAUHICON__@@ABVIDRESOURCE@@@Z
+; public: long __thiscall NLS_STR::LoadSystem(long)
+?LoadSystem@NLS_STR@@QAEJJ@Z
+; protected: virtual void __thiscall USER_LBI_CACHE::LockCache(void)
+?LockCache@USER_LBI_CACHE@@MAEXXZ
+; void __stdcall MLTextPaint(struct HDC__ *,unsigned short const *,struct tagRECT const *)
+?MLTextPaint@@YGXPAUHDC__@@PBGPBUtagRECT@@@Z
+; protected: virtual long __thiscall DOMAIN_FILL_THREAD::Main(void)
+?Main@DOMAIN_FILL_THREAD@@MAEJXZ
+; protected: virtual long __thiscall FOCUSDLG_DATA_THREAD::Main(void)
+?Main@FOCUSDLG_DATA_THREAD@@MAEJXZ
+; protected: virtual long __thiscall WIN32_THREAD::Main(void)
+?Main@WIN32_THREAD@@MAEJXZ
+; public: void __thiscall PUSH_BUTTON::MakeDefault(void)
+?MakeDefault@PUSH_BUTTON@@QAEXXZ
+; private: static int __stdcall POPUP::MapButton(unsigned int)
+?MapButton@POPUP@@CGHI@Z
+; public: static long __stdcall BLT::MapLastError(long)
+?MapLastError@BLT@@SGJJ@Z
+; public: static long __stdcall POPUP::MapMessage(long)
+?MapMessage@POPUP@@SGJJ@Z
+; protected: virtual int __thiscall APP_WINDOW::MayRestore(void)
+?MayRestore@APP_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall CANCEL_TASK_DIALOG::MayRun(void)
+?MayRun@CANCEL_TASK_DIALOG@@MAEHXZ
+; protected: virtual int __thiscall DIALOG_WINDOW::MayRun(void)
+?MayRun@DIALOG_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall APP_WINDOW::MayShutdown(void)
+?MayShutdown@APP_WINDOW@@MAEHXZ
+; public: virtual void __thiscall UI_MENU_EXT_MGR::MenuInitExtensions(void)
+?MenuInitExtensions@UI_MENU_EXT_MGR@@UAEXXZ
+; public: long __thiscall MENU_BASE::Modify(unsigned short const *,unsigned int,unsigned int,unsigned int)const 
+?Modify@MENU_BASE@@QBEJPBGIII@Z
+; public: long __thiscall MENU_BASE::Modify(unsigned short const *,unsigned int,struct HMENU__ *,unsigned int)const 
+?Modify@MENU_BASE@@QBEJPBGIPAUHMENU__@@I@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusDown(void)
+?MoveFocusDown@LOGON_HOURS_CONTROL@@AAEXXZ
+; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusLeft(void)
+?MoveFocusLeft@LOGON_HOURS_CONTROL@@AAEXXZ
+; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusRight(void)
+?MoveFocusRight@LOGON_HOURS_CONTROL@@AAEXXZ
+; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusTo(int)
+?MoveFocusTo@LOGON_HOURS_CONTROL@@AAEXH@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::MoveFocusUp(void)
+?MoveFocusUp@LOGON_HOURS_CONTROL@@AAEXXZ
+; protected: virtual long __thiscall BLT_SET_CONTROL::MoveItems(class LISTBOX *,class LISTBOX *)
+?MoveItems@BLT_SET_CONTROL@@MAEJPAVLISTBOX@@0@Z
+; public: void __thiscall DEVICE_CONTEXT::MoveTo(int,int)const 
+?MoveTo@DEVICE_CONTEXT@@QBEXHH@Z
+; private: static int __stdcall MSGPOPUP_DIALOG::Msg2HC(long,unsigned long *)
+?Msg2HC@MSGPOPUP_DIALOG@@CGHJPAK@Z
+; int __stdcall MsgPopup(class OWNINGWND const &,long,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR * * const,unsigned int)
+?MsgPopup@@YGHABVOWNINGWND@@JJW4MSG_SEVERITY@@KIQAPAVNLS_STR@@I@Z
+; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY)
+?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@@Z
+; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY,unsigned int,unsigned int)
+?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@II@Z
+; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY,unsigned int,unsigned short const *,unsigned short const *,unsigned int)
+?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@IPBG2I@Z
+; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY,unsigned int,unsigned short const *,unsigned int)
+?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@IPBGI@Z
+; int __stdcall MsgPopup(class OWNINGWND const &,long,enum MSG_SEVERITY,unsigned long,unsigned int,class NLS_STR * * const,unsigned int)
+?MsgPopup@@YGHABVOWNINGWND@@JW4MSG_SEVERITY@@KIQAPAVNLS_STR@@I@Z
+; public: long __thiscall BROWSER_SUBJECT_ITER::Next(class BROWSER_SUBJECT * *)
+?Next@BROWSER_SUBJECT_ITER@@QAEJPAPAVBROWSER_SUBJECT@@@Z
+; public: class BROWSE_DOMAIN_INFO const * __thiscall BROWSE_DOMAIN_ENUM::Next(void)
+?Next@BROWSE_DOMAIN_ENUM@@QAEPBVBROWSE_DOMAIN_INFO@@XZ
+; public: class CONTROL_WINDOW * __thiscall ITER_CTRL::Next(void)
+?Next@ITER_CTRL@@QAEPAVCONTROL_WINDOW@@XZ
+; public: class SPIN_ITEM * __thiscall ITER_DL_SPIN_ITEM::Next(void)
+?Next@ITER_DL_SPIN_ITEM@@QAEPAVSPIN_ITEM@@XZ
+; public: class ASSOCHCFILE * __thiscall ITER_SL_ASSOCHCFILE::Next(void)
+?Next@ITER_SL_ASSOCHCFILE@@QAEPAVASSOCHCFILE@@XZ
+; public: class BROWSE_DOMAIN_INFO * __thiscall ITER_SL_BROWSE_DOMAIN_INFO::Next(void)
+?Next@ITER_SL_BROWSE_DOMAIN_INFO@@QAEPAVBROWSE_DOMAIN_INFO@@XZ
+; public: struct CLIENTDATA * __thiscall ITER_SL_CLIENTDATA::Next(void)
+?Next@ITER_SL_CLIENTDATA@@QAEPAUCLIENTDATA@@XZ
+; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::Next(void)
+?Next@ITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
+; public: class STRING_BITSET_PAIR * __thiscall ITER_SL_STRING_BITSET_PAIR::Next(void)
+?Next@ITER_SL_STRING_BITSET_PAIR@@QAEPAVSTRING_BITSET_PAIR@@XZ
+; public: class TIMER_BASE * __thiscall ITER_SL_TIMER_BASE::Next(void)
+?Next@ITER_SL_TIMER_BASE@@QAEPAVTIMER_BASE@@XZ
+; public: class UI_EXT * __thiscall ITER_SL_UI_EXT::Next(void)
+?Next@ITER_SL_UI_EXT@@QAEPAVUI_EXT@@XZ
+; public: class USER_BROWSER_LBI * __thiscall ITER_SL_USER_BROWSER_LBI::Next(void)
+?Next@ITER_SL_USER_BROWSER_LBI@@QAEPAVUSER_BROWSER_LBI@@XZ
+; public: class SPIN_ITEM * __thiscall RITER_DL_SPIN_ITEM::Next(void)
+?Next@RITER_DL_SPIN_ITEM@@QAEPAVSPIN_ITEM@@XZ
+; public: int __thiscall STLBITEM::NextState(void)
+?NextState@STLBITEM@@QAEHXZ
+; public: class TIMER_BASE * __thiscall BLT_MASTER_TIMER::NextTimer(void)
+?NextTimer@BLT_MASTER_TIMER@@QAEPAVTIMER_BASE@@XZ
+; public: long __thiscall CONTROL_WINDOW::NotifyGroups(class CONTROL_EVENT const &)
+?NotifyGroups@CONTROL_WINDOW@@QAEJABVCONTROL_EVENT@@@Z
+; public: class XYRECT & __thiscall XYRECT::Offset(int,int)
+?Offset@XYRECT@@QAEAAV1@HH@Z
+; public: class XYRECT & __thiscall XYRECT::Offset(class XYDIMENSION)
+?Offset@XYRECT@@QAEAAV1@VXYDIMENSION@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnActivation(class ACTIVATION_EVENT const &)
+?OnActivation@CLIENT_WINDOW@@MAEHABVACTIVATION_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnActivation(class ACTIVATION_EVENT const &)
+?OnActivation@DISPATCHER@@MAEHABVACTIVATION_EVENT@@@Z
+; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnAdd(void)
+?OnAdd@NT_USER_BROWSER_DIALOG@@IAEJXZ
+; protected: long __thiscall SLE_STRLB_GROUP::OnAdd(void)
+?OnAdd@SLE_STRLB_GROUP@@IAEJXZ
+; protected: int __thiscall OWNER_WINDOW::OnCDMessages(unsigned int,unsigned int,long)
+?OnCDMessages@OWNER_WINDOW@@IAEHIIJ@Z
+; protected: virtual int __thiscall DIALOG_WINDOW::OnCancel(void)
+?OnCancel@DIALOG_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall MSGPOPUP_DIALOG::OnCancel(void)
+?OnCancel@MSGPOPUP_DIALOG@@MAEHXZ
+; protected: virtual int __thiscall CLIENT_WINDOW::OnChange(class CONTROL_EVENT const &)
+?OnChange@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnChar(class CHAR_EVENT const &)
+?OnChar@CLIENT_WINDOW@@MAEHABVCHAR_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnChar(class CHAR_EVENT const &)
+?OnChar@DISPATCHER@@MAEHABVCHAR_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_ITEM::OnChar(class CHAR_EVENT const &)
+?OnChar@SPIN_ITEM@@MAEHABVCHAR_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_NUM::OnChar(class CHAR_EVENT const &)
+?OnChar@SPIN_SLE_NUM@@MAEHABVCHAR_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_STR::OnChar(class CHAR_EVENT const &)
+?OnChar@SPIN_SLE_STR@@MAEHABVCHAR_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnClick(class CONTROL_EVENT const &)
+?OnClick@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall APP_WINDOW::OnCloseReq(void)
+?OnCloseReq@APP_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall CLIENT_WINDOW::OnCloseReq(void)
+?OnCloseReq@CLIENT_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall DISPATCHER::OnCloseReq(void)
+?OnCloseReq@DISPATCHER@@MAEHXZ
+; protected: virtual int __thiscall BASE_SET_FOCUS_DLG::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@BASE_SET_FOCUS_DLG@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall DIALOG_WINDOW::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@DIALOG_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@DISPATCHER@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall EXPANDABLE_DIALOG::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@EXPANDABLE_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall MSGPOPUP_DIALOG::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@MSGPOPUP_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall NT_FIND_ACCOUNT_DIALOG::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@NT_FIND_ACCOUNT_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall NT_GROUP_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@NT_GROUP_BROWSER_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall NT_LOCALGROUP_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@NT_LOCALGROUP_BROWSER_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall NT_USER_BROWSER_DIALOG::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@NT_USER_BROWSER_DIALOG@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall OPEN_DIALOG_BASE::OnCommand(class CONTROL_EVENT const &)
+?OnCommand@OPEN_DIALOG_BASE@@MAEHABVCONTROL_EVENT@@@Z
+; public: static int __stdcall LBI::OnCompareItem(unsigned int,long)
+?OnCompareItem@LBI@@SGHIJ@Z
+; protected: virtual void __thiscall DIALOG_WINDOW::OnControlError(unsigned int,long)
+?OnControlError@DIALOG_WINDOW@@MAEXIJ@Z
+; public: virtual struct HBRUSH__ * __thiscall BLT_BACKGROUND_EDIT::OnCtlColor(struct HDC__ *,struct HWND__ *,unsigned int *)
+?OnCtlColor@BLT_BACKGROUND_EDIT@@UAEPAUHBRUSH__@@PAUHDC__@@PAUHWND__@@PAI@Z
+; public: virtual struct HBRUSH__ * __thiscall CONTROL_WINDOW::OnCtlColor(struct HDC__ *,struct HWND__ *,unsigned int *)
+?OnCtlColor@CONTROL_WINDOW@@UAEPAUHBRUSH__@@PAUHDC__@@PAUHWND__@@PAI@Z
+; protected: virtual struct HBRUSH__ * __thiscall DIALOG_WINDOW::OnCtlColor(struct HDC__ *,struct HWND__ *,unsigned int *)
+?OnCtlColor@DIALOG_WINDOW@@MAEPAUHBRUSH__@@PAUHDC__@@PAUHWND__@@PAI@Z
+; public: virtual struct HBRUSH__ * __thiscall SPIN_SLT_SEPARATOR::OnCtlColor(struct HDC__ *,struct HWND__ *,unsigned int *)
+?OnCtlColor@SPIN_SLT_SEPARATOR@@UAEPAUHBRUSH__@@PAUHDC__@@PAUHWND__@@PAI@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnDblClick(class CONTROL_EVENT const &)
+?OnDblClick@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnDeactivation(class ACTIVATION_EVENT const &)
+?OnDeactivation@CLIENT_WINDOW@@MAEHABVACTIVATION_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnDeactivation(class ACTIVATION_EVENT const &)
+?OnDeactivation@DISPATCHER@@MAEHABVACTIVATION_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnDefocus(class FOCUS_EVENT const &)
+?OnDefocus@CLIENT_WINDOW@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnDefocus(class FOCUS_EVENT const &)
+?OnDefocus@DISPATCHER@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall FOCUS_CHECKBOX::OnDefocus(class FOCUS_EVENT const &)
+?OnDefocus@FOCUS_CHECKBOX@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnDefocus(class FOCUS_EVENT const &)
+?OnDefocus@LOGON_HOURS_CONTROL@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_NUM::OnDefocus(class FOCUS_EVENT const &)
+?OnDefocus@SPIN_SLE_NUM@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_NUM_VALID::OnDefocus(class FOCUS_EVENT const &)
+?OnDefocus@SPIN_SLE_NUM_VALID@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual void __thiscall LAZY_LISTBOX::OnDeleteItem(class LBI *)
+?OnDeleteItem@LAZY_LISTBOX@@MAEXPAVLBI@@@Z
+; public: static void __stdcall LBI::OnDeleteItem(unsigned int,long)
+?OnDeleteItem@LBI@@SGXIJ@Z
+; protected: virtual void __thiscall USER_BROWSER_LB::OnDeleteItem(class LBI *)
+?OnDeleteItem@USER_BROWSER_LB@@MAEXPAVLBI@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnDestroy(void)
+?OnDestroy@CLIENT_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall DISPATCHER::OnDestroy(void)
+?OnDestroy@DISPATCHER@@MAEHXZ
+; protected: virtual int __thiscall DIALOG_WINDOW::OnDlgActivation(class ACTIVATION_EVENT const &)
+?OnDlgActivation@DIALOG_WINDOW@@MAEHABVACTIVATION_EVENT@@@Z
+; protected: virtual int __thiscall DIALOG_WINDOW::OnDlgDeactivation(class ACTIVATION_EVENT const &)
+?OnDlgDeactivation@DIALOG_WINDOW@@MAEHABVACTIVATION_EVENT@@@Z
+; protected: virtual int __thiscall NT_USER_BROWSER_DIALOG::OnDlgDeactivation(class ACTIVATION_EVENT const &)
+?OnDlgDeactivation@NT_USER_BROWSER_DIALOG@@MAEHABVACTIVATION_EVENT@@@Z
+; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnDomainChange(class BROWSER_DOMAIN *,class ADMIN_AUTHORITY const *)
+?OnDomainChange@NT_USER_BROWSER_DIALOG@@IAEJPAVBROWSER_DOMAIN@@PBVADMIN_AUTHORITY@@@Z
+; private: void __thiscall BASE_SET_FOCUS_DLG::OnDomainLBChange(void)
+?OnDomainLBChange@BASE_SET_FOCUS_DLG@@AAEXXZ
+; public: void __thiscall HIER_LISTBOX::OnDoubleClick(class HIER_LBI *)
+?OnDoubleClick@HIER_LISTBOX@@QAEXPAVHIER_LBI@@@Z
+; protected: virtual void __thiscall H_SPLITTER_BAR::OnDragRelease(class XYPOINT const &)
+?OnDragRelease@H_SPLITTER_BAR@@MAEXABVXYPOINT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnDropDown(class CONTROL_EVENT const &)
+?OnDropDown@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnEnter(class CONTROL_EVENT const &)
+?OnEnter@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_NUM::OnEnter(class CONTROL_EVENT const &)
+?OnEnter@SPIN_SLE_NUM@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_NUM_VALID::OnEnter(class CONTROL_EVENT const &)
+?OnEnter@SPIN_SLE_NUM_VALID@@MAEHABVCONTROL_EVENT@@@Z
+; protected: virtual void __thiscall EXPANDABLE_DIALOG::OnExpand(void)
+?OnExpand@EXPANDABLE_DIALOG@@MAEXXZ
+; protected: virtual int __thiscall CLIENT_WINDOW::OnFocus(class FOCUS_EVENT const &)
+?OnFocus@CLIENT_WINDOW@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnFocus(class FOCUS_EVENT const &)
+?OnFocus@DISPATCHER@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall FOCUS_CHECKBOX::OnFocus(class FOCUS_EVENT const &)
+?OnFocus@FOCUS_CHECKBOX@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnFocus(class FOCUS_EVENT const &)
+?OnFocus@LOGON_HOURS_CONTROL@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_ITEM::OnFocus(class FOCUS_EVENT const &)
+?OnFocus@SPIN_ITEM@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_NUM::OnFocus(class FOCUS_EVENT const &)
+?OnFocus@SPIN_SLE_NUM@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_STR::OnFocus(class FOCUS_EVENT const &)
+?OnFocus@SPIN_SLE_STR@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual int __thiscall STATIC_SPIN_ITEM::OnFocus(class FOCUS_EVENT const &)
+?OnFocus@STATIC_SPIN_ITEM@@MAEHABVFOCUS_EVENT@@@Z
+; protected: virtual long __thiscall CONTROL_GROUP::OnGroupAction(class CONTROL_GROUP *)
+?OnGroupAction@CONTROL_GROUP@@MAEJPAV1@@Z
+; protected: virtual long __thiscall MAGIC_GROUP::OnGroupAction(class CONTROL_GROUP *)
+?OnGroupAction@MAGIC_GROUP@@MAEJPAVCONTROL_GROUP@@@Z
+; private: int __thiscall DIALOG_WINDOW::OnHelp(void)
+?OnHelp@DIALOG_WINDOW@@AAEHXZ
+; public: void __thiscall GET_FNAME_BASE_DLG::OnHelp(struct HWND__ *)
+?OnHelp@GET_FNAME_BASE_DLG@@QAEXPAUHWND__@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnKeyDown(class VKEY_EVENT const &)
+?OnKeyDown@CLIENT_WINDOW@@MAEHABVVKEY_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnKeyDown(class VKEY_EVENT const &)
+?OnKeyDown@DISPATCHER@@MAEHABVVKEY_EVENT@@@Z
+; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnKeyDown(class VKEY_EVENT const &)
+?OnKeyDown@LOGON_HOURS_CONTROL@@MAEHABVVKEY_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_NUM::OnKeyDown(class VKEY_EVENT const &)
+?OnKeyDown@SPIN_SLE_NUM@@MAEHABVVKEY_EVENT@@@Z
+; protected: virtual int __thiscall SPIN_SLE_STR::OnKeyDown(class VKEY_EVENT const &)
+?OnKeyDown@SPIN_SLE_STR@@MAEHABVVKEY_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnKeyUp(class VKEY_EVENT const &)
+?OnKeyUp@CLIENT_WINDOW@@MAEHABVVKEY_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnKeyUp(class VKEY_EVENT const &)
+?OnKeyUp@DISPATCHER@@MAEHABVVKEY_EVENT@@@Z
+; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnKeyUp(class VKEY_EVENT const &)
+?OnKeyUp@LOGON_HOURS_CONTROL@@MAEHABVVKEY_EVENT@@@Z
+; protected: static int __stdcall OWNER_WINDOW::OnLBIMessages(unsigned int,unsigned int,long)
+?OnLBIMessages@OWNER_WINDOW@@KGHIIJ@Z
+; protected: virtual int __thiscall ARROW_BUTTON::OnLMouseButtonDblClick(class MOUSE_EVENT const &)
+?OnLMouseButtonDblClick@ARROW_BUTTON@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnLMouseButtonDblClick(class MOUSE_EVENT const &)
+?OnLMouseButtonDblClick@CLIENT_WINDOW@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnLMouseButtonDblClick(class MOUSE_EVENT const &)
+?OnLMouseButtonDblClick@DISPATCHER@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall ARROW_BUTTON::OnLMouseButtonDown(class MOUSE_EVENT const &)
+?OnLMouseButtonDown@ARROW_BUTTON@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnLMouseButtonDown(class MOUSE_EVENT const &)
+?OnLMouseButtonDown@CLIENT_WINDOW@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnLMouseButtonDown(class MOUSE_EVENT const &)
+?OnLMouseButtonDown@DISPATCHER@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall H_SPLITTER_BAR::OnLMouseButtonDown(class MOUSE_EVENT const &)
+?OnLMouseButtonDown@H_SPLITTER_BAR@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnLMouseButtonDown(class MOUSE_EVENT const &)
+?OnLMouseButtonDown@LOGON_HOURS_CONTROL@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall ARROW_BUTTON::OnLMouseButtonUp(class MOUSE_EVENT const &)
+?OnLMouseButtonUp@ARROW_BUTTON@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnLMouseButtonUp(class MOUSE_EVENT const &)
+?OnLMouseButtonUp@CLIENT_WINDOW@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnLMouseButtonUp(class MOUSE_EVENT const &)
+?OnLMouseButtonUp@DISPATCHER@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall H_SPLITTER_BAR::OnLMouseButtonUp(class MOUSE_EVENT const &)
+?OnLMouseButtonUp@H_SPLITTER_BAR@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnLMouseButtonUp(class MOUSE_EVENT const &)
+?OnLMouseButtonUp@LOGON_HOURS_CONTROL@@MAEHABVMOUSE_EVENT@@@Z
+; protected: long __thiscall NT_LOCALGROUP_BROWSER_DIALOG::OnMembers(void)
+?OnMembers@NT_LOCALGROUP_BROWSER_DIALOG@@IAEJXZ
+; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnMembers(void)
+?OnMembers@NT_USER_BROWSER_DIALOG@@IAEJXZ
+; protected: virtual int __thiscall APP_WINDOW::OnMenuCommand(unsigned int)
+?OnMenuCommand@APP_WINDOW@@MAEHI@Z
+; protected: virtual int __thiscall APP_WINDOW::OnMenuInit(class MENU_EVENT const &)
+?OnMenuInit@APP_WINDOW@@MAEHABVMENU_EVENT@@@Z
+; protected: virtual int __thiscall APP_WINDOW::OnMenuSelect(class MENUITEM_EVENT const &)
+?OnMenuSelect@APP_WINDOW@@MAEHABVMENUITEM_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnMouseMove(class MOUSE_EVENT const &)
+?OnMouseMove@CLIENT_WINDOW@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnMouseMove(class MOUSE_EVENT const &)
+?OnMouseMove@DISPATCHER@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall H_SPLITTER_BAR::OnMouseMove(class MOUSE_EVENT const &)
+?OnMouseMove@H_SPLITTER_BAR@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnMouseMove(class MOUSE_EVENT const &)
+?OnMouseMove@LOGON_HOURS_CONTROL@@MAEHABVMOUSE_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnMove(class MOVE_EVENT const &)
+?OnMove@CLIENT_WINDOW@@MAEHABVMOVE_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnMove(class MOVE_EVENT const &)
+?OnMove@DISPATCHER@@MAEHABVMOVE_EVENT@@@Z
+; protected: virtual class LBI * __thiscall USER_BROWSER_LB::OnNewItem(unsigned int)
+?OnNewItem@USER_BROWSER_LB@@MAEPAVLBI@@I@Z
+; protected: virtual int __thiscall BASE_SET_FOCUS_DLG::OnOK(void)
+?OnOK@BASE_SET_FOCUS_DLG@@MAEHXZ
+; protected: virtual int __thiscall DIALOG_WINDOW::OnOK(void)
+?OnOK@DIALOG_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall MSGPOPUP_DIALOG::OnOK(void)
+?OnOK@MSGPOPUP_DIALOG@@MAEHXZ
+; private: virtual int __thiscall MSG_DIALOG_BASE::OnOK(void)
+?OnOK@MSG_DIALOG_BASE@@EAEHXZ
+; protected: virtual int __thiscall NT_FIND_ACCOUNT_DIALOG::OnOK(void)
+?OnOK@NT_FIND_ACCOUNT_DIALOG@@MAEHXZ
+; protected: virtual int __thiscall NT_USER_BROWSER_DIALOG::OnOK(void)
+?OnOK@NT_USER_BROWSER_DIALOG@@MAEHXZ
+; protected: virtual int __thiscall PROMPT_FOR_ANY_DC_DLG::OnOK(void)
+?OnOK@PROMPT_FOR_ANY_DC_DLG@@MAEHXZ
+; protected: virtual int __thiscall CLIENT_WINDOW::OnOther(class EVENT const &)
+?OnOther@CLIENT_WINDOW@@MAEHABVEVENT@@@Z
+; protected: virtual int __thiscall APP_WINDOW::OnPaintReq(void)
+?OnPaintReq@APP_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall CLIENT_WINDOW::OnPaintReq(void)
+?OnPaintReq@CLIENT_WINDOW@@MAEHXZ
+; protected: virtual int __thiscall DISPATCHER::OnPaintReq(void)
+?OnPaintReq@DISPATCHER@@MAEHXZ
+; protected: virtual int __thiscall FOCUS_CHECKBOX::OnPaintReq(void)
+?OnPaintReq@FOCUS_CHECKBOX@@MAEHXZ
+; protected: virtual int __thiscall H_SPLITTER_BAR::OnPaintReq(void)
+?OnPaintReq@H_SPLITTER_BAR@@MAEHXZ
+; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnPaintReq(void)
+?OnPaintReq@LOGON_HOURS_CONTROL@@MAEHXZ
+; protected: virtual int __thiscall METER::OnPaintReq(void)
+?OnPaintReq@METER@@MAEHXZ
+; protected: virtual unsigned long __thiscall DISPATCHER::OnQDlgCode(void)
+?OnQDlgCode@DISPATCHER@@MAEKXZ
+; protected: virtual unsigned long __thiscall LOGON_HOURS_CONTROL::OnQDlgCode(void)
+?OnQDlgCode@LOGON_HOURS_CONTROL@@MAEKXZ
+; protected: virtual unsigned long __thiscall DISPATCHER::OnQHitTest(class XYPOINT const &)
+?OnQHitTest@DISPATCHER@@MAEKABVXYPOINT@@@Z
+; protected: virtual unsigned long __thiscall H_SPLITTER_BAR::OnQHitTest(class XYPOINT const &)
+?OnQHitTest@H_SPLITTER_BAR@@MAEKABVXYPOINT@@@Z
+; protected: virtual unsigned long __thiscall LOGON_HOURS_CONTROL::OnQHitTest(class XYPOINT const &)
+?OnQHitTest@LOGON_HOURS_CONTROL@@MAEKABVXYPOINT@@@Z
+; protected: virtual int __thiscall APP_WINDOW::OnQMinMax(class QMINMAX_EVENT &)
+?OnQMinMax@APP_WINDOW@@MAEHAAVQMINMAX_EVENT@@@Z
+; protected: virtual unsigned long __thiscall DISPATCHER::OnQMouseActivate(class QMOUSEACT_EVENT const &)
+?OnQMouseActivate@DISPATCHER@@MAEKABVQMOUSEACT_EVENT@@@Z
+; protected: virtual unsigned long __thiscall LOGON_HOURS_CONTROL::OnQMouseActivate(class QMOUSEACT_EVENT const &)
+?OnQMouseActivate@LOGON_HOURS_CONTROL@@MAEKABVQMOUSEACT_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnQMouseCursor(class QMOUSEACT_EVENT const &)
+?OnQMouseCursor@DISPATCHER@@MAEHABVQMOUSEACT_EVENT@@@Z
+; protected: virtual int __thiscall H_SPLITTER_BAR::OnQMouseCursor(class QMOUSEACT_EVENT const &)
+?OnQMouseCursor@H_SPLITTER_BAR@@MAEHABVQMOUSEACT_EVENT@@@Z
+; protected: virtual int __thiscall LOGON_HOURS_CONTROL::OnQMouseCursor(class QMOUSEACT_EVENT const &)
+?OnQMouseCursor@LOGON_HOURS_CONTROL@@MAEHABVQMOUSEACT_EVENT@@@Z
+; protected: long __thiscall SLE_STRLB_GROUP::OnRemove(void)
+?OnRemove@SLE_STRLB_GROUP@@IAEJXZ
+; protected: virtual int __thiscall CLIENT_WINDOW::OnResize(class SIZE_EVENT const &)
+?OnResize@CLIENT_WINDOW@@MAEHABVSIZE_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnResize(class SIZE_EVENT const &)
+?OnResize@DISPATCHER@@MAEHABVSIZE_EVENT@@@Z
+; protected: virtual int __thiscall H_SPLITTER_BAR::OnResize(class SIZE_EVENT const &)
+?OnResize@H_SPLITTER_BAR@@MAEHABVSIZE_EVENT@@@Z
+; protected: virtual int __thiscall DIALOG_WINDOW::OnScrollBar(class SCROLL_EVENT const &)
+?OnScrollBar@DIALOG_WINDOW@@MAEHABVSCROLL_EVENT@@@Z
+; protected: virtual int __thiscall DIALOG_WINDOW::OnScrollBarThumb(class SCROLL_THUMB_EVENT const &)
+?OnScrollBarThumb@DIALOG_WINDOW@@MAEHABVSCROLL_THUMB_EVENT@@@Z
+; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnSearch(void)
+?OnSearch@NT_USER_BROWSER_DIALOG@@IAEJXZ
+; protected: virtual int __thiscall CLIENT_WINDOW::OnSelect(class CONTROL_EVENT const &)
+?OnSelect@CLIENT_WINDOW@@MAEHABVCONTROL_EVENT@@@Z
+; protected: long __thiscall NT_USER_BROWSER_DIALOG::OnShowUsers(void)
+?OnShowUsers@NT_USER_BROWSER_DIALOG@@IAEJXZ
+; protected: virtual void __thiscall APP_WINDOW::OnShutdown(void)
+?OnShutdown@APP_WINDOW@@MAEXXZ
+; protected: virtual void __thiscall DIALOG_WINDOW::OnSysColorChange(void)
+?OnSysColorChange@DIALOG_WINDOW@@MAEXXZ
+; protected: virtual int __thiscall APP_WINDOW::OnSystemChange(class SYSCHANGE_EVENT const &)
+?OnSystemChange@APP_WINDOW@@MAEHABVSYSCHANGE_EVENT@@@Z
+; protected: virtual int __thiscall ARROW_BUTTON::OnTimer(class TIMER_EVENT const &)
+?OnTimer@ARROW_BUTTON@@MAEHABVTIMER_EVENT@@@Z
+; protected: virtual int __thiscall CANCEL_TASK_DIALOG::OnTimer(class TIMER_EVENT const &)
+?OnTimer@CANCEL_TASK_DIALOG@@MAEHABVTIMER_EVENT@@@Z
+; protected: virtual int __thiscall CLIENT_WINDOW::OnTimer(class TIMER_EVENT const &)
+?OnTimer@CLIENT_WINDOW@@MAEHABVTIMER_EVENT@@@Z
+; protected: virtual int __thiscall DIALOG_WINDOW::OnTimer(class TIMER_EVENT const &)
+?OnTimer@DIALOG_WINDOW@@MAEHABVTIMER_EVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnTimer(class TIMER_EVENT const &)
+?OnTimer@DISPATCHER@@MAEHABVTIMER_EVENT@@@Z
+; protected: virtual int __thiscall TIMER_WINDOW::OnTimer(class TIMER_EVENT const &)
+?OnTimer@TIMER_WINDOW@@MAEHABVTIMER_EVENT@@@Z
+; protected: virtual void __thiscall TIMER_CALLOUT::OnTimerNotification(unsigned int)
+?OnTimerNotification@TIMER_CALLOUT@@MAEXI@Z
+; protected: virtual long __thiscall CONTROL_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
+?OnUserAction@CONTROL_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
+; protected: virtual long __thiscall CONTROL_WINDOW::OnUserAction(class CONTROL_EVENT const &)
+?OnUserAction@CONTROL_WINDOW@@MAEJABVCONTROL_EVENT@@@Z
+; protected: virtual long __thiscall LM_OLLB::OnUserAction(class CONTROL_EVENT const &)
+?OnUserAction@LM_OLLB@@MAEJABVCONTROL_EVENT@@@Z
+; protected: virtual long __thiscall MAGIC_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
+?OnUserAction@MAGIC_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
+; protected: virtual long __thiscall ORDER_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
+?OnUserAction@ORDER_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
+; protected: virtual long __thiscall RADIO_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
+?OnUserAction@RADIO_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
+; protected: virtual long __thiscall SET_CONTROL::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
+?OnUserAction@SET_CONTROL@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
+; protected: virtual long __thiscall SLE_STRLB_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
+?OnUserAction@SLE_STRLB_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
+; protected: virtual long __thiscall SPIN_GROUP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
+?OnUserAction@SPIN_GROUP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
+; protected: virtual long __thiscall STATELBGRP::OnUserAction(class CONTROL_WINDOW *,class CONTROL_EVENT const &)
+?OnUserAction@STATELBGRP@@MAEJPAVCONTROL_WINDOW@@ABVCONTROL_EVENT@@@Z
+; protected: virtual int __thiscall BASE_SET_FOCUS_DLG::OnUserMessage(class EVENT const &)
+?OnUserMessage@BASE_SET_FOCUS_DLG@@MAEHABVEVENT@@@Z
+; protected: virtual int __thiscall DISPATCHER::OnUserMessage(class EVENT const &)
+?OnUserMessage@DISPATCHER@@MAEHABVEVENT@@@Z
+; protected: virtual int __thiscall NT_USER_BROWSER_DIALOG::OnUserMessage(class EVENT const &)
+?OnUserMessage@NT_USER_BROWSER_DIALOG@@MAEHABVEVENT@@@Z
+; protected: virtual int __thiscall OWNER_WINDOW::OnUserMessage(class EVENT const &)
+?OnUserMessage@OWNER_WINDOW@@MAEHABVEVENT@@@Z
+; protected: virtual void __thiscall DIALOG_WINDOW::OnValidationError(unsigned int,long)
+?OnValidationError@DIALOG_WINDOW@@MAEXIJ@Z
+; private: class LISTBOX * __thiscall SET_CONTROL::OtherListbox(class LISTBOX *)const 
+?OtherListbox@SET_CONTROL@@ABEPAVLISTBOX@@PAV2@@Z
+; public: virtual void __thiscall BROWSER_DOMAIN_LBI::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
+?Paint@BROWSER_DOMAIN_LBI@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
+; public: virtual void __thiscall BROWSER_DOMAIN_LBI_PB::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
+?Paint@BROWSER_DOMAIN_LBI_PB@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
+; public: virtual void __thiscall COUNTED_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
+?Paint@COUNTED_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
+; public: int __thiscall DISPLAY_MAP::Paint(struct HDC__ *,int,int)const 
+?Paint@DISPLAY_MAP@@QBEHPAUHDC__@@HH@Z
+; public: void __thiscall DISPLAY_TABLE::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *)const 
+?Paint@DISPLAY_TABLE@@QBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@@Z
+; public: void __thiscall DISPLAY_TABLE::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
+?Paint@DISPLAY_TABLE@@QBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
+; public: virtual void __thiscall DM_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
+?Paint@DM_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
+; public: virtual void __thiscall LBI::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
+?Paint@LBI@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
+; public: virtual void __thiscall METALLIC_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
+?Paint@METALLIC_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
+; public: virtual void __thiscall MULTILINE_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
+?Paint@MULTILINE_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
+; public: virtual void __thiscall OLLB_ENTRY::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
+?Paint@OLLB_ENTRY@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
+; public: virtual void __thiscall OWNER_DRAW_DMID_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
+?Paint@OWNER_DRAW_DMID_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
+; public: virtual void __thiscall OWNER_DRAW_MULTILINE_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
+?Paint@OWNER_DRAW_MULTILINE_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
+; public: virtual void __thiscall OWNER_DRAW_STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
+?Paint@OWNER_DRAW_STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
+; protected: virtual void __thiscall STLBITEM::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
+?Paint@STLBITEM@@MBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
+; public: virtual void __thiscall STR_DTE::Paint(struct HDC__ *,struct tagRECT const *)const 
+?Paint@STR_DTE@@UBEXPAUHDC__@@PBUtagRECT@@@Z
+; public: virtual void __thiscall STR_DTE_ELLIPSIS::Paint(struct HDC__ *,struct tagRECT const *)const 
+?Paint@STR_DTE_ELLIPSIS@@UBEXPAUHDC__@@PBUtagRECT@@@Z
+; public: virtual void __thiscall USER_BROWSER_LBI::Paint(class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
+?Paint@USER_BROWSER_LBI@@UBEXPAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
+; protected: long __thiscall ACCOUNT_NAMES_MLE::ParseUserNameList(class STRLIST *,unsigned short const *)
+?ParseUserNameList@ACCOUNT_NAMES_MLE@@IAEJPAVSTRLIST@@PBG@Z
+; private: void __thiscall MSGPOPUP_DIALOG::PlaceButtons(void)
+?PlaceButtons@MSGPOPUP_DIALOG@@AAEXXZ
+; private: long __thiscall BLT_DATE_SPIN_GROUP::PlaceControl(int,class OWNER_WINDOW *,class INTL_PROFILE const &,class XYPOINT const &,class XYDIMENSION const &,class XYPOINT const &,class XYDIMENSION const &,class XYPOINT const &,class XYDIMENSION const &)
+?PlaceControl@BLT_DATE_SPIN_GROUP@@AAEJHPAVOWNER_WINDOW@@ABVINTL_PROFILE@@ABVXYPOINT@@ABVXYDIMENSION@@2323@Z
+; protected: virtual long __thiscall DOMAIN_FILL_THREAD::PostMain(void)
+?PostMain@DOMAIN_FILL_THREAD@@MAEJXZ
+; protected: virtual long __thiscall FOCUSDLG_DATA_THREAD::PostMain(void)
+?PostMain@FOCUSDLG_DATA_THREAD@@MAEJXZ
+; protected: virtual long __thiscall WIN32_THREAD::PostMain(void)
+?PostMain@WIN32_THREAD@@MAEJXZ
+; protected: virtual long __thiscall WIN32_THREAD::PreMain(void)
+?PreMain@WIN32_THREAD@@MAEJXZ
+; public: long __thiscall BASE_SET_FOCUS_DLG::Process(int *)
+?Process@BASE_SET_FOCUS_DLG@@QAEJPAH@Z
+; public: long __thiscall BASE_SET_FOCUS_DLG::Process(unsigned int *)
+?Process@BASE_SET_FOCUS_DLG@@QAEJPAI@Z
+; public: long __thiscall DIALOG_WINDOW::Process(int *)
+?Process@DIALOG_WINDOW@@QAEJPAH@Z
+; public: long __thiscall DIALOG_WINDOW::Process(unsigned int *)
+?Process@DIALOG_WINDOW@@QAEJPAI@Z
+; public: long __thiscall EXPANDABLE_DIALOG::Process(int *)
+?Process@EXPANDABLE_DIALOG@@QAEJPAH@Z
+; public: long __thiscall EXPANDABLE_DIALOG::Process(unsigned int *)
+?Process@EXPANDABLE_DIALOG@@QAEJPAI@Z
+; public: virtual long __thiscall GET_OPEN_FILENAME_DLG::Process(int *)
+?Process@GET_OPEN_FILENAME_DLG@@UAEJPAH@Z
+; public: virtual long __thiscall GET_SAVE_FILENAME_DLG::Process(int *)
+?Process@GET_SAVE_FILENAME_DLG@@UAEJPAH@Z
+; public: static long __stdcall WIN32_FONT_PICKER::Process(class OWNER_WINDOW *,int *,class FONT *,struct tagLOGFONTW *,struct tagCHOOSEFONTW *)
+?Process@WIN32_FONT_PICKER@@SGJPAVOWNER_WINDOW@@PAHPAVFONT@@PAUtagLOGFONTW@@PAUtagCHOOSEFONTW@@@Z
+; private: long __thiscall BASE_SET_FOCUS_DLG::ProcessNetPath(class NLS_STR *,long *)
+?ProcessNetPath@BASE_SET_FOCUS_DLG@@AAEJPAVNLS_STR@@PAJ@Z
+; public: long __thiscall WIN32_EVENT::Pulse(void)
+?Pulse@WIN32_EVENT@@QAEJXZ
+; public: long __thiscall USER_BROWSER_LBI::QualifyDisplayName(void)
+?QualifyDisplayName@USER_BROWSER_LBI@@QAEJXZ
+; public: static struct HICON__ * __stdcall CURSOR::Query(void)
+?Query@CURSOR@@SGPAUHICON__@@XZ
+; public: virtual long __thiscall SPIN_ITEM::QueryAccCharPos(unsigned short)
+?QueryAccCharPos@SPIN_ITEM@@UAEJG@Z
+; public: virtual long __thiscall SPIN_SLE_STR::QueryAccCharPos(unsigned short)
+?QueryAccCharPos@SPIN_SLE_STR@@UAEJG@Z
+; public: long __thiscall SPIN_ITEM::QueryAccKey(class NLS_STR *)
+?QueryAccKey@SPIN_ITEM@@QAEJPAVNLS_STR@@@Z
+; public: unsigned short const * __thiscall OPEN_LBI_BASE::QueryAccessName(void)const 
+?QueryAccessName@OPEN_LBI_BASE@@QBEPBGXZ
+; public: class SAM_DOMAIN * __thiscall BROWSER_DOMAIN::QueryAccountDomain(void)const 
+?QueryAccountDomain@BROWSER_DOMAIN@@QBEPAVSAM_DOMAIN@@XZ
+; public: unsigned short const * __thiscall BROWSER_SUBJECT::QueryAccountName(void)const 
+?QueryAccountName@BROWSER_SUBJECT@@QBEPBGXZ
+; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryAccountName(void)const 
+?QueryAccountName@USER_BROWSER_LBI@@QBEPBGXZ
+; protected: virtual int __thiscall H_SPLITTER_BAR::QueryActiveArea(void)
+?QueryActiveArea@H_SPLITTER_BAR@@MAEHXZ
+; protected: class PUSH_BUTTON * __thiscall SLE_STRLB_GROUP::QueryAddButton(void)const 
+?QueryAddButton@SLE_STRLB_GROUP@@IBEPAVPUSH_BUTTON@@XZ
+; public: class ADMIN_AUTHORITY * __thiscall BROWSER_DOMAIN::QueryAdminAuthority(void)const 
+?QueryAdminAuthority@BROWSER_DOMAIN@@QBEPAVADMIN_AUTHORITY@@XZ
+; public: class ADMIN_AUTHORITY * __thiscall DOMAIN_FILL_THREAD::QueryAdminAuthority(void)const 
+?QueryAdminAuthority@DOMAIN_FILL_THREAD@@QBEPAVADMIN_AUTHORITY@@XZ
+; public: unsigned short const * __thiscall UI_DOMAIN::QueryAnyDC(void)const 
+?QueryAnyDC@UI_DOMAIN@@QBEPBGXZ
+; public: int __thiscall OWNER_WINDOW::QueryAttribute(unsigned long)
+?QueryAttribute@OWNER_WINDOW@@QAEHK@Z
+; public: class AUDIT_CHECKBOXES * __thiscall SET_OF_AUDIT_CATEGORIES::QueryAuditCheckBox(int)
+?QueryAuditCheckBox@SET_OF_AUDIT_CATEGORIES@@QAEPAVAUDIT_CHECKBOXES@@H@Z
+; public: int __thiscall DEVICE_CONTEXT::QueryAveCharWidth(void)const 
+?QueryAveCharWidth@DEVICE_CONTEXT@@QBEHXZ
+; public: virtual unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryBigDecValue(void)const 
+?QueryBigDecValue@CHANGEABLE_SPIN_ITEM@@UBEKXZ
+; public: virtual unsigned long __thiscall SPIN_SLE_VALID_SECOND::QueryBigDecValue(void)const 
+?QueryBigDecValue@SPIN_SLE_VALID_SECOND@@UBEKXZ
+; public: virtual unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryBigIncValue(void)const 
+?QueryBigIncValue@CHANGEABLE_SPIN_ITEM@@UBEKXZ
+; public: virtual unsigned long __thiscall SPIN_SLE_VALID_SECOND::QueryBigIncValue(void)const 
+?QueryBigIncValue@SPIN_SLE_VALID_SECOND@@UBEKXZ
+; public: class BITFIELD * __thiscall STRING_BITSET_PAIR::QueryBitfield(void)
+?QueryBitfield@STRING_BITSET_PAIR@@QAEPAVBITFIELD@@XZ
+; public: struct HBITMAP__ * __thiscall DISPLAY_MAP::QueryBitmapHandle(void)const 
+?QueryBitmapHandle@DISPLAY_MAP@@QBEPAUHBITMAP__@@XZ
+; public: long __thiscall MASK_MAP::QueryBits(unsigned int,class BITFIELD *,class NLS_STR *,int *)
+?QueryBits@MASK_MAP@@QAEJIPAVBITFIELD@@PAVNLS_STR@@PAH@Z
+; public: int __thiscall XYRECT::QueryBottom(void)const 
+?QueryBottom@XYRECT@@QBEHXZ
+; public: class BROWSER_DOMAIN * __thiscall BROWSER_DOMAIN_LBI::QueryBrowserDomain(void)const 
+?QueryBrowserDomain@BROWSER_DOMAIN_LBI@@QBEPAVBROWSER_DOMAIN@@XZ
+; public: class BROWSER_DOMAIN * __thiscall BROWSER_DOMAIN_LBI_PB::QueryBrowserDomain(void)const 
+?QueryBrowserDomain@BROWSER_DOMAIN_LBI_PB@@QBEPAVBROWSER_DOMAIN@@XZ
+; protected: void * __thiscall NT_MEMORY::QueryBuffer(void)const 
+?QueryBuffer@NT_MEMORY@@IBEPAXXZ
+; protected: unsigned char const * __thiscall ENUM_OBJ_BASE::QueryBufferPtr(void)const 
+?QueryBufferPtr@ENUM_OBJ_BASE@@IBEPBEXZ
+; public: struct _DOMAIN_DISPLAY_GROUP const * __thiscall NT_GROUP_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@NT_GROUP_ENUM_OBJ@@QBEPBU_DOMAIN_DISPLAY_GROUP@@XZ
+; public: struct _SERVER_INFO_101 const * __thiscall SERVER1_ENUM_OBJ::QueryBufferPtr(void)const 
+?QueryBufferPtr@SERVER1_ENUM_OBJ@@QBEPBU_SERVER_INFO_101@@XZ
+; public: class SAM_DOMAIN * __thiscall BROWSER_DOMAIN::QueryBuiltinDomain(void)const 
+?QueryBuiltinDomain@BROWSER_DOMAIN@@QBEPAVSAM_DOMAIN@@XZ
+; private: class PUSH_BUTTON * __thiscall MSGPOPUP_DIALOG::QueryButton(unsigned int)
+?QueryButton@MSGPOPUP_DIALOG@@AAEPAVPUSH_BUTTON@@I@Z
+; public: int __thiscall LIST_CONTROL::QueryCaretIndex(void)const 
+?QueryCaretIndex@LIST_CONTROL@@QBEHXZ
+; public: unsigned short __thiscall CHAR_EVENT::QueryChar(void)const 
+?QueryChar@CHAR_EVENT@@QBEGXZ
+; public: int __thiscall STATE2_BUTTON_CONTROL::QueryCheck(void)const 
+?QueryCheck@STATE2_BUTTON_CONTROL@@QBEHXZ
+; public: unsigned int __thiscall CONTROL_ENTRY::QueryCid(void)const 
+?QueryCid@CONTROL_ENTRY@@QBEIXZ
+; public: unsigned int __thiscall CONTROL_EVENT::QueryCid(void)const 
+?QueryCid@CONTROL_EVENT@@QBEIXZ
+; public: unsigned int __thiscall CONTROL_WINDOW::QueryCid(void)const 
+?QueryCid@CONTROL_WINDOW@@QBEIXZ
+; public: void __thiscall WINDOW::QueryClientRect(struct tagRECT *)const 
+?QueryClientRect@WINDOW@@QBEXPAUtagRECT@@@Z
+; public: void __thiscall WINDOW::QueryClientRect(class XYRECT *)const 
+?QueryClientRect@WINDOW@@QBEXPAVXYRECT@@@Z
+; public: unsigned int __thiscall CONTROL_EVENT::QueryCode(void)const 
+?QueryCode@CONTROL_EVENT@@QBEIXZ
+; public: unsigned int const * __thiscall STATELB::QueryColData(void)
+?QueryColData@STATELB@@QAEPBIXZ
+; public: unsigned int const * __thiscall BROWSER_DOMAIN_CB::QueryColWidthArray(void)const 
+?QueryColWidthArray@BROWSER_DOMAIN_CB@@QBEPBIXZ
+; public: unsigned int const * __thiscall USER_BROWSER_LB::QueryColWidthArray(void)const 
+?QueryColWidthArray@USER_BROWSER_LB@@QBEPBIXZ
+; protected: static unsigned short const * __stdcall CONTROL_WINDOW::QueryComboboxClassName(void)
+?QueryComboboxClassName@CONTROL_WINDOW@@KGPBGXZ
+; public: enum SCROLL_EVENT::SCROLL_COMMAND  __thiscall SCROLL_EVENT::QueryCommand(void)const 
+?QueryCommand@SCROLL_EVENT@@QBE?AW4SCROLL_COMMAND@1@XZ
+; public: unsigned short const * __thiscall BROWSER_SUBJECT::QueryComment(void)const 
+?QueryComment@BROWSER_SUBJECT@@QBEPBGXZ
+; public: long __thiscall NT_GROUP_ENUM_OBJ::QueryComment(class NLS_STR *)const 
+?QueryComment@NT_GROUP_ENUM_OBJ@@QBEJPAVNLS_STR@@@Z
+; public: unsigned short const * __thiscall SERVER1_ENUM_OBJ::QueryComment(void)const 
+?QueryComment@SERVER1_ENUM_OBJ@@QBEPBGXZ
+; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryComment(void)const 
+?QueryComment@USER_BROWSER_LBI@@QBEPBGXZ
+; protected: virtual int (__cdecl*__thiscall USER_BROWSER_LBI_CACHE::QueryCompareMethod(void)const )(void const *,void const *)
+?QueryCompareMethod@USER_BROWSER_LBI_CACHE@@MBEP6AHPBX0@ZXZ
+; protected: virtual int (__cdecl*__thiscall USER_LBI_CACHE::QueryCompareMethod(void)const )(void const *,void const *)
+?QueryCompareMethod@USER_LBI_CACHE@@MBEP6AHPBX0@ZXZ
+; public: class CONTROL_VALUE * __thiscall CONTROLVAL_CID_PAIR::QueryContVal(void)const 
+?QueryContVal@CONTROLVAL_CID_PAIR@@QBEPAVCONTROL_VALUE@@XZ
+; public: void __thiscall SPIN_SLE_NUM::QueryContent(unsigned long *)const 
+?QueryContent@SPIN_SLE_NUM@@QBEXPAK@Z
+; public: void __thiscall SPIN_SLE_NUM::QueryContent(class NLS_STR *)const 
+?QueryContent@SPIN_SLE_NUM@@QBEXPAVNLS_STR@@@Z
+; public: long __thiscall SPIN_SLE_STR::QueryContent(class NLS_STR *)const 
+?QueryContent@SPIN_SLE_STR@@QBEJPAVNLS_STR@@@Z
+; public: class CONTROL_WINDOW * __thiscall CUSTOM_CONTROL::QueryControlWin(void)const 
+?QueryControlWin@CUSTOM_CONTROL@@QBEPAVCONTROL_WINDOW@@XZ
+; public: unsigned int __thiscall ARRAY_CONTROLVAL_CID_PAIR::QueryCount(void)const 
+?QueryCount@ARRAY_CONTROLVAL_CID_PAIR@@QBEIXZ
+; public: unsigned int __thiscall BITFIELD::QueryCount(void)const 
+?QueryCount@BITFIELD@@QBEIXZ
+; public: unsigned int __thiscall CONTROL_TABLE::QueryCount(void)const 
+?QueryCount@CONTROL_TABLE@@QBEIXZ
+; public: int __thiscall COUNTED_STR_DTE::QueryCount(void)const 
+?QueryCount@COUNTED_STR_DTE@@QBEHXZ
+; public: int __thiscall HEAP_BASE::QueryCount(void)const 
+?QueryCount@HEAP_BASE@@QBEHXZ
+; public: int __thiscall LIST_CONTROL::QueryCount(void)const 
+?QueryCount@LIST_CONTROL@@QBEHXZ
+; public: unsigned int __thiscall MASK_MAP::QueryCount(void)
+?QueryCount@MASK_MAP@@QAEIXZ
+; public: unsigned long __thiscall NT_MEMORY::QueryCount(void)const 
+?QueryCount@NT_MEMORY@@QBEKXZ
+; public: int __thiscall RADIO_GROUP::QueryCount(void)
+?QueryCount@RADIO_GROUP@@QAEHXZ
+; public: int __thiscall SET_OF_AUDIT_CATEGORIES::QueryCount(void)
+?QueryCount@SET_OF_AUDIT_CATEGORIES@@QAEHXZ
+; public: unsigned long __thiscall USER_BROWSER_LBI_CACHE::QueryCount(void)const 
+?QueryCount@USER_BROWSER_LBI_CACHE@@QBEKXZ
+; public: int __thiscall USER_LBI_CACHE::QueryCount(void)const 
+?QueryCount@USER_LBI_CACHE@@QBEHXZ
+; protected: virtual long __thiscall USRLB_NT_GROUP_ENUM::QueryCountPreferences(unsigned long *,unsigned long *,unsigned int,unsigned long,unsigned long,unsigned long)
+?QueryCountPreferences@USRLB_NT_GROUP_ENUM@@MAEJPAK0IKKK@Z
+; public: class CONTROL_WINDOW * __thiscall CONTROL_ENTRY::QueryCtrlPtr(void)const 
+?QueryCtrlPtr@CONTROL_ENTRY@@QBEPAVCONTROL_WINDOW@@XZ
+; public: class USER_BROWSER_LBI_CACHE * __thiscall USER_BROWSER_LB::QueryCurrentCache(void)const 
+?QueryCurrentCache@USER_BROWSER_LB@@QBEPAVUSER_BROWSER_LBI_CACHE@@XZ
+; public: class BROWSER_DOMAIN * __thiscall NT_USER_BROWSER_DIALOG::QueryCurrentDomainFocus(void)const 
+?QueryCurrentDomainFocus@NT_USER_BROWSER_DIALOG@@QBEPAVBROWSER_DOMAIN@@XZ
+; protected: class SPIN_ITEM * __thiscall SPIN_GROUP::QueryCurrentField(void)const 
+?QueryCurrentField@SPIN_GROUP@@IBEPAVSPIN_ITEM@@XZ
+; public: int __thiscall LIST_CONTROL::QueryCurrentItem(void)const 
+?QueryCurrentItem@LIST_CONTROL@@QBEHXZ
+; public: unsigned short const * __thiscall NT_USER_BROWSER_DIALOG::QueryDCofPrimaryDomain(void)
+?QueryDCofPrimaryDomain@NT_USER_BROWSER_DIALOG@@QAEPBGXZ
+; public: int __thiscall BLT_DATE_SPIN_GROUP::QueryDay(void)const 
+?QueryDay@BLT_DATE_SPIN_GROUP@@QBEHXZ
+; public: int __thiscall WIN_TIME::QueryDay(void)const 
+?QueryDay@WIN_TIME@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::QueryDayPos(void)const 
+?QueryDayPos@INTL_PROFILE@@QBEHXZ
+; public: unsigned long __thiscall UI_EXT::QueryDelta(void)const 
+?QueryDelta@UI_EXT@@QBEKXZ
+; public: unsigned long __thiscall UI_EXT_MGR::QueryDeltaDelta(void)const 
+?QueryDeltaDelta@UI_EXT_MGR@@QBEKXZ
+; private: unsigned int __thiscall HIER_LBI::QueryDescendants(void)
+?QueryDescendants@HIER_LBI@@AAEIXZ
+; public: int __thiscall H_SPLITTER_BAR::QueryDesiredHeight(void)
+?QueryDesiredHeight@H_SPLITTER_BAR@@QAEHXZ
+; public: long __thiscall DEVICE_COMBO::QueryDevice(class NLS_STR *)const 
+?QueryDevice@DEVICE_COMBO@@QBEJPAVNLS_STR@@@Z
+; public: struct HBITMAP__ * __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::QueryDisable(void)const 
+?QueryDisable@GRAPHICAL_BUTTON_WITH_DISABLE@@QBEPAUHBITMAP__@@XZ
+; public: class DISPLAY_MAP * __thiscall BROWSER_DOMAIN_CB::QueryDisplayMap(class BROWSER_DOMAIN_LBI const *)
+?QueryDisplayMap@BROWSER_DOMAIN_CB@@QAEPAVDISPLAY_MAP@@PBVBROWSER_DOMAIN_LBI@@@Z
+; public: class DISPLAY_MAP * __thiscall DM_DTE::QueryDisplayMap(void)const 
+?QueryDisplayMap@DM_DTE@@QBEPAVDISPLAY_MAP@@XZ
+; public: class DISPLAY_MAP * __thiscall SUBJECT_BITMAP_BLOCK::QueryDisplayMap(int,int,int)
+?QueryDisplayMap@SUBJECT_BITMAP_BLOCK@@QAEPAVDISPLAY_MAP@@HHH@Z
+; public: class DISPLAY_MAP * __thiscall USER_BROWSER_LB::QueryDisplayMap(class USER_BROWSER_LBI const *)
+?QueryDisplayMap@USER_BROWSER_LB@@QAEPAVDISPLAY_MAP@@PBVUSER_BROWSER_LBI@@@Z
+; public: unsigned short const * __thiscall BROWSER_DOMAIN::QueryDisplayName(void)const 
+?QueryDisplayName@BROWSER_DOMAIN@@QBEPBGXZ
+; public: unsigned short const * __thiscall BROWSER_DOMAIN_LBI::QueryDisplayName(void)const 
+?QueryDisplayName@BROWSER_DOMAIN_LBI@@QBEPBGXZ
+; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryDisplayName(void)const 
+?QueryDisplayName@USER_BROWSER_LBI@@QBEPBGXZ
+; public: unsigned int __thiscall DM_DTE::QueryDisplayWidth(void)const 
+?QueryDisplayWidth@DM_DTE@@QBEIXZ
+; public: unsigned short const * __thiscall UI_EXT::QueryDllName(void)const 
+?QueryDllName@UI_EXT@@QBEPBGXZ
+; public: class DM_DTE * __thiscall OUTLINE_LISTBOX::QueryDmDte(enum OUTLINE_LB_LEVEL,int)const 
+?QueryDmDte@OUTLINE_LISTBOX@@QBEPAVDM_DTE@@W4OUTLINE_LB_LEVEL@@H@Z
+; public: class DMID_DTE * __thiscall SUBJECT_BITMAP_BLOCK::QueryDmDte(int,int,int)
+?QueryDmDte@SUBJECT_BITMAP_BLOCK@@QAEPAVDMID_DTE@@HHH@Z
+; public: unsigned short const * __thiscall OLLB_ENTRY::QueryDomain(void)const 
+?QueryDomain@OLLB_ENTRY@@QBEPBGXZ
+; public: unsigned int __thiscall BROWSE_DOMAIN_ENUM::QueryDomainCount(void)
+?QueryDomainCount@BROWSE_DOMAIN_ENUM@@QAEIXZ
+; public: long __thiscall LSA_TRANSLATED_NAME_MEM::QueryDomainIndex(unsigned long)const 
+?QueryDomainIndex@LSA_TRANSLATED_NAME_MEM@@QBEJK@Z
+; public: long __thiscall LSA_TRANSLATED_SID_MEM::QueryDomainIndex(unsigned long)const 
+?QueryDomainIndex@LSA_TRANSLATED_SID_MEM@@QBEJK@Z
+; public: unsigned short const * __thiscall BROWSER_DOMAIN::QueryDomainName(void)const 
+?QueryDomainName@BROWSER_DOMAIN@@QBEPBGXZ
+; public: unsigned short const * __thiscall BROWSER_SUBJECT::QueryDomainName(void)const 
+?QueryDomainName@BROWSER_SUBJECT@@QBEPBGXZ
+; public: unsigned short const * __thiscall BROWSE_DOMAIN_INFO::QueryDomainName(void)const 
+?QueryDomainName@BROWSE_DOMAIN_INFO@@QBEPBGXZ
+; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryDomainName(void)const 
+?QueryDomainName@USER_BROWSER_LBI@@QBEPBGXZ
+; public: class OS_SID const * __thiscall BROWSER_DOMAIN::QueryDomainSid(void)const 
+?QueryDomainSid@BROWSER_DOMAIN@@QBEPBVOS_SID@@XZ
+; public: class OS_SID const * __thiscall BROWSER_SUBJECT::QueryDomainSid(void)const 
+?QueryDomainSid@BROWSER_SUBJECT@@QBEPBVOS_SID@@XZ
+; protected: static unsigned short const * __stdcall CONTROL_WINDOW::QueryEditClassName(void)
+?QueryEditClassName@CONTROL_WINDOW@@KGPBGXZ
+; public: struct _ULC_ENTRY_BASE * __thiscall USER_BROWSER_LBI_CACHE::QueryEntryPtr(int)
+?QueryEntryPtr@USER_BROWSER_LBI_CACHE@@QAEPAU_ULC_ENTRY_BASE@@H@Z
+; public: long __thiscall ASSOCHWNDPDLG::QueryError(void)const 
+?QueryError@ASSOCHWNDPDLG@@QBEJXZ
+; public: long __thiscall ASSOCHWNDPWND::QueryError(void)const 
+?QueryError@ASSOCHWNDPWND@@QBEJXZ
+; public: long __thiscall BASE::QueryError(void)const 
+?QueryError@BASE@@QBEJXZ
+; public: long __thiscall CONTROL_WINDOW::QueryError(void)const 
+?QueryError@CONTROL_WINDOW@@QBEJXZ
+; public: long __thiscall FORWARDING_BASE::QueryError(void)const 
+?QueryError@FORWARDING_BASE@@QBEJXZ
+; public: long __thiscall SLT_ELLIPSIS::QueryError(void)const 
+?QueryError@SLT_ELLIPSIS@@QBEJXZ
+; protected: long __thiscall GET_FNAME_BASE_DLG::QueryErrorCode(void)const 
+?QueryErrorCode@GET_FNAME_BASE_DLG@@IBEJXZ
+; public: class USER_BROWSER_LBI * __thiscall USER_BROWSER_LB::QueryErrorLBI(void)const 
+?QueryErrorLBI@USER_BROWSER_LB@@QBEPAVUSER_BROWSER_LBI@@XZ
+; public: long __thiscall BROWSER_DOMAIN::QueryErrorLoadingAuthority(void)const 
+?QueryErrorLoadingAuthority@BROWSER_DOMAIN@@QBEJXZ
+; public: long __thiscall DOMAIN_FILL_THREAD::QueryErrorLoadingAuthority(void)const 
+?QueryErrorLoadingAuthority@DOMAIN_FILL_THREAD@@QBEJXZ
+; protected: virtual unsigned int __thiscall ARROW_BUTTON::QueryEventEffects(class CONTROL_EVENT const &)
+?QueryEventEffects@ARROW_BUTTON@@MAEIABVCONTROL_EVENT@@@Z
+; protected: virtual unsigned int __thiscall BUTTON_CONTROL::QueryEventEffects(class CONTROL_EVENT const &)
+?QueryEventEffects@BUTTON_CONTROL@@MAEIABVCONTROL_EVENT@@@Z
+; protected: virtual unsigned int __thiscall COMBOBOX::QueryEventEffects(class CONTROL_EVENT const &)
+?QueryEventEffects@COMBOBOX@@MAEIABVCONTROL_EVENT@@@Z
+; public: virtual unsigned int __thiscall CONTROL_VALUE::QueryEventEffects(class CONTROL_EVENT const &)
+?QueryEventEffects@CONTROL_VALUE@@UAEIABVCONTROL_EVENT@@@Z
+; protected: virtual unsigned int __thiscall EDIT_CONTROL::QueryEventEffects(class CONTROL_EVENT const &)
+?QueryEventEffects@EDIT_CONTROL@@MAEIABVCONTROL_EVENT@@@Z
+; protected: virtual unsigned int __thiscall LIST_CONTROL::QueryEventEffects(class CONTROL_EVENT const &)
+?QueryEventEffects@LIST_CONTROL@@MAEIABVCONTROL_EVENT@@@Z
+; public: int __thiscall HIER_LBI::QueryExpanded(void)const 
+?QueryExpanded@HIER_LBI@@QBEHXZ
+; public: class SLIST_OF_UI_EXT * __thiscall UI_EXT_MGR::QueryExtensions(void)
+?QueryExtensions@UI_EXT_MGR@@QAEPAVSLIST_OF_UI_EXT@@XZ
+; public: unsigned int __thiscall SET_OF_AUDIT_CATEGORIES::QueryFailedBaseCID(void)
+?QueryFailedBaseCID@SET_OF_AUDIT_CATEGORIES@@QAEIXZ
+; public: unsigned long __thiscall OPEN_LBI_BASE::QueryFileID(void)const 
+?QueryFileID@OPEN_LBI_BASE@@QBEKXZ
+; public: long __thiscall GET_FNAME_BASE_DLG::QueryFileTitle(class NLS_STR *)const 
+?QueryFileTitle@GET_FNAME_BASE_DLG@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall GET_FNAME_BASE_DLG::QueryFilename(class NLS_STR *)const 
+?QueryFilename@GET_FNAME_BASE_DLG@@QBEJPAVNLS_STR@@@Z
+; protected: int __thiscall HEAP_BASE::QueryFirstLeaf(void)const 
+?QueryFirstLeaf@HEAP_BASE@@IBEHXZ
+; public: unsigned long __thiscall ACCOUNT_NAMES_MLE::QueryFlags(void)const 
+?QueryFlags@ACCOUNT_NAMES_MLE@@QBEKXZ
+; public: unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryFlags(void)const 
+?QueryFlags@NT_USER_BROWSER_DIALOG@@QBEKXZ
+; public: struct HFONT__ * __thiscall CONTROL_WINDOW::QueryFont(void)const 
+?QueryFont@CONTROL_WINDOW@@QBEPAUHFONT__@@XZ
+; public: int __thiscall DEVICE_CONTEXT::QueryFontHeight(void)const 
+?QueryFontHeight@DEVICE_CONTEXT@@QBEHXZ
+; public: unsigned short const * __thiscall BROWSER_SUBJECT::QueryFullName(void)const 
+?QueryFullName@BROWSER_SUBJECT@@QBEPBGXZ
+; public: unsigned short const * __thiscall USER_BROWSER_LBI::QueryFullName(void)const 
+?QueryFullName@USER_BROWSER_LBI@@QBEPBGXZ
+; public: class CONTROL_GROUP * __thiscall CONTROL_VALUE::QueryGroup(void)const 
+?QueryGroup@CONTROL_VALUE@@QBEPAVCONTROL_GROUP@@XZ
+; public: long __thiscall NT_GROUP_ENUM_OBJ::QueryGroup(class NLS_STR *)const 
+?QueryGroup@NT_GROUP_ENUM_OBJ@@QBEJPAVNLS_STR@@@Z
+; public: class CONTROL_GROUP * __thiscall SPIN_ITEM::QueryGroup(void)
+?QueryGroup@SPIN_ITEM@@QAEPAVCONTROL_GROUP@@XZ
+; public: struct HACCEL__ * __thiscall ACCELTABLE::QueryHandle(void)const 
+?QueryHandle@ACCELTABLE@@QBEPAUHACCEL__@@XZ
+; public: unsigned short __thiscall ATOM_BASE::QueryHandle(void)const 
+?QueryHandle@ATOM_BASE@@QBEGXZ
+; public: struct HBITMAP__ * __thiscall BIT_MAP::QueryHandle(void)const 
+?QueryHandle@BIT_MAP@@QBEPAUHBITMAP__@@XZ
+; public: struct HFONT__ * __thiscall FONT::QueryHandle(void)const 
+?QueryHandle@FONT@@QBEPAUHFONT__@@XZ
+; public: struct HMENU__ * __thiscall MENU_BASE::QueryHandle(void)const 
+?QueryHandle@MENU_BASE@@QBEPAUHMENU__@@XZ
+; public: void * __thiscall SAM_OBJECT::QueryHandle(void)const 
+?QueryHandle@SAM_OBJECT@@QBEPAXXZ
+; public: struct HBRUSH__ * __thiscall SOLID_BRUSH::QueryHandle(void)const 
+?QueryHandle@SOLID_BRUSH@@QBEPAUHBRUSH__@@XZ
+; public: void * __thiscall WIN32_HANDLE::QueryHandle(void)const 
+?QueryHandle@WIN32_HANDLE@@QBEPAXXZ
+; public: struct HDC__ * __thiscall DEVICE_CONTEXT::QueryHdc(void)const 
+?QueryHdc@DEVICE_CONTEXT@@QBEPAUHDC__@@XZ
+; public: unsigned int __thiscall BIT_MAP::QueryHeight(void)const 
+?QueryHeight@BIT_MAP@@QBEIXZ
+; public: unsigned int __thiscall DISPLAY_MAP::QueryHeight(void)const 
+?QueryHeight@DISPLAY_MAP@@QBEIXZ
+; public: int __thiscall LB_COLUMN_HEADER::QueryHeight(void)
+?QueryHeight@LB_COLUMN_HEADER@@QAEHXZ
+; public: unsigned int __thiscall SIZE_EVENT::QueryHeight(void)const 
+?QueryHeight@SIZE_EVENT@@QBEIXZ
+; public: unsigned int __thiscall XYDIMENSION::QueryHeight(void)const 
+?QueryHeight@XYDIMENSION@@QBEIXZ
+; protected: virtual unsigned long __thiscall BASE_PASSWORD_DIALOG::QueryHelpContext(void)
+?QueryHelpContext@BASE_PASSWORD_DIALOG@@MAEKXZ
+; protected: virtual unsigned long __thiscall BASE_SET_FOCUS_DLG::QueryHelpContext(void)
+?QueryHelpContext@BASE_SET_FOCUS_DLG@@MAEKXZ
+; protected: virtual unsigned long __thiscall DIALOG_WINDOW::QueryHelpContext(void)
+?QueryHelpContext@DIALOG_WINDOW@@MAEKXZ
+; public: unsigned long __thiscall GET_FNAME_BASE_DLG::QueryHelpContext(void)
+?QueryHelpContext@GET_FNAME_BASE_DLG@@QAEKXZ
+; protected: virtual unsigned long __thiscall MSGPOPUP_DIALOG::QueryHelpContext(void)
+?QueryHelpContext@MSGPOPUP_DIALOG@@MAEKXZ
+; protected: virtual unsigned long __thiscall NT_FIND_ACCOUNT_DIALOG::QueryHelpContext(void)
+?QueryHelpContext@NT_FIND_ACCOUNT_DIALOG@@MAEKXZ
+; protected: virtual unsigned long __thiscall NT_GLOBALGROUP_BROWSER_DIALOG::QueryHelpContext(void)
+?QueryHelpContext@NT_GLOBALGROUP_BROWSER_DIALOG@@MAEKXZ
+; protected: virtual unsigned long __thiscall NT_LOCALGROUP_BROWSER_DIALOG::QueryHelpContext(void)
+?QueryHelpContext@NT_LOCALGROUP_BROWSER_DIALOG@@MAEKXZ
+; public: virtual unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryHelpContext(void)
+?QueryHelpContext@NT_USER_BROWSER_DIALOG@@UAEKXZ
+; protected: virtual unsigned long __thiscall OPEN_DIALOG_BASE::QueryHelpContext(void)
+?QueryHelpContext@OPEN_DIALOG_BASE@@MAEKXZ
+; protected: virtual unsigned long __thiscall PROMPT_FOR_ANY_DC_DLG::QueryHelpContext(void)
+?QueryHelpContext@PROMPT_FOR_ANY_DC_DLG@@MAEKXZ
+; public: unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryHelpContextGlobalMembership(void)
+?QueryHelpContextGlobalMembership@NT_USER_BROWSER_DIALOG@@QAEKXZ
+; public: unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryHelpContextLocalMembership(void)
+?QueryHelpContextLocalMembership@NT_USER_BROWSER_DIALOG@@QAEKXZ
+; public: unsigned long __thiscall NT_USER_BROWSER_DIALOG::QueryHelpContextSearch(void)
+?QueryHelpContextSearch@NT_USER_BROWSER_DIALOG@@QAEKXZ
+; public: unsigned short const * __thiscall ASSOCHCFILE::QueryHelpFile(void)const 
+?QueryHelpFile@ASSOCHCFILE@@QBEPBGXZ
+; protected: virtual unsigned short const * __thiscall BASE_SET_FOCUS_DLG::QueryHelpFile(unsigned long)
+?QueryHelpFile@BASE_SET_FOCUS_DLG@@MAEPBGK@Z
+; protected: virtual unsigned short const * __thiscall DIALOG_WINDOW::QueryHelpFile(unsigned long)
+?QueryHelpFile@DIALOG_WINDOW@@MAEPBGK@Z
+; public: class NLS_STR * __thiscall GET_FNAME_BASE_DLG::QueryHelpFile(void)
+?QueryHelpFile@GET_FNAME_BASE_DLG@@QAEPAVNLS_STR@@XZ
+; protected: virtual unsigned short const * __thiscall NT_FIND_ACCOUNT_DIALOG::QueryHelpFile(unsigned long)
+?QueryHelpFile@NT_FIND_ACCOUNT_DIALOG@@MAEPBGK@Z
+; protected: virtual unsigned short const * __thiscall NT_GROUP_BROWSER_DIALOG::QueryHelpFile(unsigned long)
+?QueryHelpFile@NT_GROUP_BROWSER_DIALOG@@MAEPBGK@Z
+; public: virtual unsigned short const * __thiscall NT_USER_BROWSER_DIALOG::QueryHelpFile(unsigned long)
+?QueryHelpFile@NT_USER_BROWSER_DIALOG@@UAEPBGK@Z
+; public: unsigned int __thiscall QMOUSEACT_EVENT::QueryHitTest(void)const 
+?QueryHitTest@QMOUSEACT_EVENT@@QBEIXZ
+; public: unsigned int __thiscall LISTBOX::QueryHorizontalExtent(void)const 
+?QueryHorizontalExtent@LISTBOX@@QBEIXZ
+; public: int __thiscall BLT_TIME_SPIN_GROUP::QueryHour(void)const 
+?QueryHour@BLT_TIME_SPIN_GROUP@@QBEHXZ
+; public: int __thiscall WIN_TIME::QueryHour(void)const 
+?QueryHour@WIN_TIME@@QBEHXZ
+; public: long __thiscall LOGON_HOURS_CONTROL::QueryHours(class LOGON_HOURS_SETTING *)const 
+?QueryHours@LOGON_HOURS_CONTROL@@QBEJPAVLOGON_HOURS_SETTING@@@Z
+; public: struct HWND__ * __thiscall CONTROL_EVENT::QueryHwnd(void)const 
+?QueryHwnd@CONTROL_EVENT@@QBEPAUHWND__@@XZ
+; public: struct HWND__ * __thiscall DISPATCHER::QueryHwnd(void)const 
+?QueryHwnd@DISPATCHER@@QBEPAUHWND__@@XZ
+; protected: struct HWND__ * __thiscall DISPLAY_CONTEXT::QueryHwnd(void)
+?QueryHwnd@DISPLAY_CONTEXT@@IAEPAUHWND__@@XZ
+; public: struct HWND__ * __thiscall DLGLOAD::QueryHwnd(void)const 
+?QueryHwnd@DLGLOAD@@QBEPAUHWND__@@XZ
+; public: struct HWND__ * __thiscall OWNINGWND::QueryHwnd(void)const 
+?QueryHwnd@OWNINGWND@@QBEPAUHWND__@@XZ
+; public: struct HWND__ * __thiscall PWND2HWND::QueryHwnd(void)const 
+?QueryHwnd@PWND2HWND@@QBEPAUHWND__@@XZ
+; public: struct HWND__ * __thiscall WINDOW::QueryHwnd(void)const 
+?QueryHwnd@WINDOW@@QBEPAUHWND__@@XZ
+; public: unsigned int __thiscall DISPLAY_MAP::QueryID(void)const 
+?QueryID@DISPLAY_MAP@@QBEIXZ
+; public: int __thiscall STRING_BITSET_PAIR::QueryID(void)
+?QueryID@STRING_BITSET_PAIR@@QAEHXZ
+; public: unsigned int __thiscall TIMER_BASE::QueryID(void)const 
+?QueryID@TIMER_BASE@@QBEIXZ
+; public: struct HICON__ * __thiscall APP_WINDOW::QueryIcon(void)const 
+?QueryIcon@APP_WINDOW@@QBEPAUHICON__@@XZ
+; private: unsigned short const * __thiscall MSGPOPUP_DIALOG::QueryIcon(enum MSG_SEVERITY)
+?QueryIcon@MSGPOPUP_DIALOG@@AAEPBGW4MSG_SEVERITY@@@Z
+; public: int __thiscall HIER_LBI::QueryIndentLevel(void)
+?QueryIndentLevel@HIER_LBI@@QAEHXZ
+; public: class SLE * __thiscall SLE_STRLB_GROUP::QueryInputSLE(void)const 
+?QueryInputSLE@SLE_STRLB_GROUP@@QBEPAVSLE@@XZ
+; public: class XYRECT const & __thiscall PAINT_DISPLAY_CONTEXT::QueryInvalidRect(void)const 
+?QueryInvalidRect@PAINT_DISPLAY_CONTEXT@@QBEABVXYRECT@@XZ
+; public: class LBI * __thiscall BLT_LISTBOX::QueryItem(int)const 
+?QueryItem@BLT_LISTBOX@@QBEPAVLBI@@H@Z
+; public: class LBI * __thiscall BLT_LISTBOX::QueryItem(void)const 
+?QueryItem@BLT_LISTBOX@@QBEPAVLBI@@XZ
+; public: class CONTROL_ENTRY * __thiscall CONTROL_TABLE::QueryItem(unsigned int)const 
+?QueryItem@CONTROL_TABLE@@QBEPAVCONTROL_ENTRY@@I@Z
+; public: class OPEN_LBI_BASE * __thiscall OPEN_LBOX_BASE::QueryItem(int)const 
+?QueryItem@OPEN_LBOX_BASE@@QBEPAVOPEN_LBI_BASE@@H@Z
+; public: class OPEN_LBI_BASE * __thiscall OPEN_LBOX_BASE::QueryItem(void)const 
+?QueryItem@OPEN_LBOX_BASE@@QBEPAVOPEN_LBI_BASE@@XZ
+; public: class OLLB_ENTRY * __thiscall OUTLINE_LISTBOX::QueryItem(int)const 
+?QueryItem@OUTLINE_LISTBOX@@QBEPAVOLLB_ENTRY@@H@Z
+; public: class OLLB_ENTRY * __thiscall OUTLINE_LISTBOX::QueryItem(void)const 
+?QueryItem@OUTLINE_LISTBOX@@QBEPAVOLLB_ENTRY@@XZ
+; public: class STLBITEM * __thiscall STATELB::QueryItem(void)const 
+?QueryItem@STATELB@@QBEPAVSTLBITEM@@XZ
+; public: class USER_BROWSER_LBI * __thiscall USER_BROWSER_LB::QueryItem(int)const 
+?QueryItem@USER_BROWSER_LB@@QBEPAVUSER_BROWSER_LBI@@H@Z
+; public: class USER_BROWSER_LBI * __thiscall USER_BROWSER_LB::QueryItem(void)const 
+?QueryItem@USER_BROWSER_LB@@QBEPAVUSER_BROWSER_LBI@@XZ
+; public: virtual class LBI * __thiscall USER_LBI_CACHE::QueryItem(int)
+?QueryItem@USER_LBI_CACHE@@UAEPAVLBI@@H@Z
+; public: int __thiscall MENU_BASE::QueryItemCount(void)const 
+?QueryItemCount@MENU_BASE@@QBEHXZ
+; public: unsigned int __thiscall LIST_CONTROL::QueryItemHeight(unsigned int)const 
+?QueryItemHeight@LIST_CONTROL@@QBEII@Z
+; public: unsigned int __thiscall MENU_BASE::QueryItemID(int)const 
+?QueryItemID@MENU_BASE@@QBEIH@Z
+; public: int __thiscall STRING_LIST_CONTROL::QueryItemLength(int)const 
+?QueryItemLength@STRING_LIST_CONTROL@@QBEHH@Z
+; public: int __thiscall STRING_LIST_CONTROL::QueryItemSize(int)const 
+?QueryItemSize@STRING_LIST_CONTROL@@QBEHH@Z
+; public: unsigned int __thiscall MENU_BASE::QueryItemState(unsigned int,unsigned int)const 
+?QueryItemState@MENU_BASE@@QBEIII@Z
+; public: long __thiscall MENU_BASE::QueryItemText(unsigned short *,unsigned int,unsigned int,unsigned int)const 
+?QueryItemText@MENU_BASE@@QBEJPAGIII@Z
+; public: long __thiscall MENU_BASE::QueryItemText(class NLS_STR *,unsigned int,unsigned int)const 
+?QueryItemText@MENU_BASE@@QBEJPAVNLS_STR@@II@Z
+; public: long __thiscall STRING_LIST_CONTROL::QueryItemText(unsigned short *,int,int)const 
+?QueryItemText@STRING_LIST_CONTROL@@QBEJPAGHH@Z
+; public: long __thiscall STRING_LIST_CONTROL::QueryItemText(class NLS_STR *)const 
+?QueryItemText@STRING_LIST_CONTROL@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall STRING_LIST_CONTROL::QueryItemText(class NLS_STR *,int)const 
+?QueryItemText@STRING_LIST_CONTROL@@QBEJPAVNLS_STR@@H@Z
+; private: long __thiscall STRING_LIST_CONTROL::QueryItemTextAux(unsigned short *,int)const 
+?QueryItemTextAux@STRING_LIST_CONTROL@@ABEJPAGH@Z
+; private: int __thiscall HIER_LBI::QueryLBIndex(void)
+?QueryLBIndex@HIER_LBI@@AAEHXZ
+; public: long __thiscall EVENT::QueryLParam(void)const 
+?QueryLParam@EVENT@@QBEJXZ
+; public: class LSA_POLICY * __thiscall BROWSER_DOMAIN::QueryLSAPolicy(void)const 
+?QueryLSAPolicy@BROWSER_DOMAIN@@QBEPAVLSA_POLICY@@XZ
+; public: class STATELB * __thiscall STATELBGRP::QueryLb(void)
+?QueryLb@STATELBGRP@@QAEPAVSTATELB@@XZ
+; public: virtual unsigned short __thiscall BROWSER_DOMAIN_LBI::QueryLeadingChar(void)const 
+?QueryLeadingChar@BROWSER_DOMAIN_LBI@@UBEGXZ
+; public: virtual unsigned short __thiscall BROWSER_DOMAIN_LBI_PB::QueryLeadingChar(void)const 
+?QueryLeadingChar@BROWSER_DOMAIN_LBI_PB@@UBEGXZ
+; public: virtual unsigned short __thiscall LBI::QueryLeadingChar(void)const 
+?QueryLeadingChar@LBI@@UBEGXZ
+; public: virtual unsigned short __thiscall OLLB_ENTRY::QueryLeadingChar(void)const 
+?QueryLeadingChar@OLLB_ENTRY@@UBEGXZ
+; protected: virtual unsigned short __thiscall OPEN_LBI_BASE::QueryLeadingChar(void)const 
+?QueryLeadingChar@OPEN_LBI_BASE@@MBEGXZ
+; protected: virtual unsigned short __thiscall STLBITEM::QueryLeadingChar(void)const 
+?QueryLeadingChar@STLBITEM@@MBEGXZ
+; public: virtual unsigned short __thiscall USER_BROWSER_LBI::QueryLeadingChar(void)const 
+?QueryLeadingChar@USER_BROWSER_LBI@@UBEGXZ
+; public: int __thiscall XYRECT::QueryLeft(void)const 
+?QueryLeft@XYRECT@@QBEHXZ
+; protected: int __thiscall HEAP_BASE::QueryLeftChild(int)const 
+?QueryLeftChild@HEAP_BASE@@IBEHH@Z
+; public: virtual unsigned int __thiscall DTE::QueryLeftMargin(void)const 
+?QueryLeftMargin@DTE@@UBEIXZ
+; public: virtual unsigned int __thiscall METALLIC_STR_DTE::QueryLeftMargin(void)const 
+?QueryLeftMargin@METALLIC_STR_DTE@@UBEIXZ
+; public: int __thiscall OLLB_ENTRY::QueryLevel(void)const 
+?QueryLevel@OLLB_ENTRY@@QBEHXZ
+; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryLimit(void)const 
+?QueryLimit@CHANGEABLE_SPIN_ITEM@@QBEKXZ
+; protected: virtual int __thiscall CONSOLE_ELLIPSIS::QueryLimit(void)
+?QueryLimit@CONSOLE_ELLIPSIS@@MAEHXZ
+; protected: virtual int __thiscall WIN_ELLIPSIS::QueryLimit(void)
+?QueryLimit@WIN_ELLIPSIS@@MAEHXZ
+; protected: static unsigned short const * __stdcall CONTROL_WINDOW::QueryListboxClassName(void)
+?QueryListboxClassName@CONTROL_WINDOW@@KGPBGXZ
+; long __stdcall QueryLoggedOnDomainInfo(class NLS_STR *,class NLS_STR *)
+?QueryLoggedOnDomainInfo@@YGJPAVNLS_STR@@0@Z
+; public: unsigned short const * __thiscall BROWSER_DOMAIN::QueryLsaLookupName(void)const 
+?QueryLsaLookupName@BROWSER_DOMAIN@@QBEPBGXZ
+; public: struct HBITMAP__ * __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::QueryMain(void)const 
+?QueryMain@GRAPHICAL_BUTTON_WITH_DISABLE@@QBEPAUHBITMAP__@@XZ
+; public: struct HBITMAP__ * __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::QueryMainInvert(void)const 
+?QueryMainInvert@GRAPHICAL_BUTTON_WITH_DISABLE@@QBEPAUHBITMAP__@@XZ
+; public: class DISPLAY_MAP * const * __thiscall STATELB::QueryMapArray(void)const 
+?QueryMapArray@STATELB@@QBEPBQAVDISPLAY_MAP@@XZ
+; public: int __thiscall STATELB::QueryMapCount(void)const 
+?QueryMapCount@STATELB@@QBEHXZ
+; public: class BITFIELD * __thiscall AUDIT_CHECKBOXES::QueryMask(void)
+?QueryMask@AUDIT_CHECKBOXES@@QAEPAVBITFIELD@@XZ
+; public: struct HBITMAP__ * __thiscall DISPLAY_MAP::QueryMaskHandle(void)const 
+?QueryMaskHandle@DISPLAY_MAP@@QBEPAUHBITMAP__@@XZ
+; public: static long __stdcall BLT_MASTER_TIMER::QueryMasterTimer(class BLT_MASTER_TIMER * *)
+?QueryMasterTimer@BLT_MASTER_TIMER@@SGJPAPAV1@@Z
+; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryMax(void)const 
+?QueryMax@CHANGEABLE_SPIN_ITEM@@QBEKXZ
+; public: unsigned int __thiscall SCROLLBAR::QueryMax(void)const 
+?QueryMax@SCROLLBAR@@QBEIXZ
+; protected: virtual int __thiscall CONSOLE_ELLIPSIS::QueryMaxCharWidth(void)
+?QueryMaxCharWidth@CONSOLE_ELLIPSIS@@MAEHXZ
+; protected: virtual int __thiscall WIN_ELLIPSIS::QueryMaxCharWidth(void)
+?QueryMaxCharWidth@WIN_ELLIPSIS@@MAEHXZ
+; public: struct HMENU__ * __thiscall APP_WINDOW::QueryMenu(void)const 
+?QueryMenu@APP_WINDOW@@QBEPAUHMENU__@@XZ
+; public: struct HMENU__ * __thiscall UI_MENU_EXT::QueryMenuHandle(void)const 
+?QueryMenuHandle@UI_MENU_EXT@@QBEPAUHMENU__@@XZ
+; public: unsigned int __thiscall EVENT::QueryMessage(void)const 
+?QueryMessage@EVENT@@QBEIXZ
+; public: int __thiscall BLT_TIME_SPIN_GROUP::QueryMin(void)const 
+?QueryMin@BLT_TIME_SPIN_GROUP@@QBEHXZ
+; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryMin(void)const 
+?QueryMin@CHANGEABLE_SPIN_ITEM@@QBEKXZ
+; public: unsigned int __thiscall SCROLLBAR::QueryMin(void)const 
+?QueryMin@SCROLLBAR@@QBEIXZ
+; public: int __thiscall WIN_TIME::QueryMinute(void)const 
+?QueryMinute@WIN_TIME@@QBEHXZ
+; public: long __thiscall ELAPSED_TIME_CONTROL::QueryMinuteValue(void)const 
+?QueryMinuteValue@ELAPSED_TIME_CONTROL@@QBEJXZ
+; public: struct HINSTANCE__ * __thiscall ASSOCHCFILE::QueryModule(void)const 
+?QueryModule@ASSOCHCFILE@@QBEPAUHINSTANCE__@@XZ
+; public: int __thiscall BLT_DATE_SPIN_GROUP::QueryMonth(void)const 
+?QueryMonth@BLT_DATE_SPIN_GROUP@@QBEHXZ
+; public: int __thiscall WIN_TIME::QueryMonth(void)const 
+?QueryMonth@WIN_TIME@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::QueryMonthPos(void)const 
+?QueryMonthPos@INTL_PROFILE@@QBEHXZ
+; public: long __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryName(class NLS_STR *)const 
+?QueryName@LSA_PRIMARY_DOM_INFO_MEM@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall LSA_REF_DOMAIN_MEM::QueryName(unsigned long,class NLS_STR *)const 
+?QueryName@LSA_REF_DOMAIN_MEM@@QBEJKPAVNLS_STR@@@Z
+; public: long __thiscall LSA_TRANSLATED_NAME_MEM::QueryName(unsigned long,class NLS_STR *)const 
+?QueryName@LSA_TRANSLATED_NAME_MEM@@QBEJKPAVNLS_STR@@@Z
+; public: long __thiscall LSA_TRUST_INFO_MEM::QueryName(unsigned long,class NLS_STR *)const 
+?QueryName@LSA_TRUST_INFO_MEM@@QBEJKPAVNLS_STR@@@Z
+; public: long __thiscall SAM_RID_ENUMERATION_MEM::QueryName(unsigned long,class NLS_STR *)const 
+?QueryName@SAM_RID_ENUMERATION_MEM@@QBEJKPAVNLS_STR@@@Z
+; public: unsigned short const * __thiscall SERVER1_ENUM_OBJ::QueryName(void)const 
+?QueryName@SERVER1_ENUM_OBJ@@QBEPBGXZ
+; public: unsigned short const * __thiscall UI_DOMAIN::QueryName(void)const 
+?QueryName@UI_DOMAIN@@QBEPBGXZ
+; protected: struct tagOFNW * __thiscall GET_FNAME_BASE_DLG::QueryOFN(void)
+?QueryOFN@GET_FNAME_BASE_DLG@@IAEPAUtagOFNW@@XZ
+; public: class OS_SID const * __thiscall SAM_DOMAIN::QueryOSSID(void)const 
+?QueryOSSID@SAM_DOMAIN@@QBEPBVOS_SID@@XZ
+; public: class OS_SID const * __thiscall USER_BROWSER_LBI::QueryOSSID(void)const 
+?QueryOSSID@USER_BROWSER_LBI@@QBEPBVOS_SID@@XZ
+; protected: virtual long __thiscall CANCEL_TASK_DIALOG::QueryObjectName(class NLS_STR *)
+?QueryObjectName@CANCEL_TASK_DIALOG@@MAEJPAVNLS_STR@@@Z
+; public: class NLS_STR  __thiscall BASE_ELLIPSIS::QueryOriginalStr(void)const 
+?QueryOriginalStr@BASE_ELLIPSIS@@QBE?AVNLS_STR@@XZ
+; public: struct HWND__ * __thiscall WINDOW::QueryOwnerHwnd(void)const 
+?QueryOwnerHwnd@WINDOW@@QBEPAUHWND__@@XZ
+; public: class OWNER_WINDOW * __thiscall SET_OF_AUDIT_CATEGORIES::QueryOwnerWindow(void)
+?QueryOwnerWindow@SET_OF_AUDIT_CATEGORIES@@QAEPAVOWNER_WINDOW@@XZ
+; public: unsigned short const * __thiscall UI_DOMAIN::QueryPDC(void)const 
+?QueryPDC@UI_DOMAIN@@QBEPBGXZ
+; public: void * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryPSID(void)const 
+?QueryPSID@LSA_ACCT_DOM_INFO_MEM@@QBEPAXXZ
+; public: void * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryPSID(void)const 
+?QueryPSID@LSA_PRIMARY_DOM_INFO_MEM@@QBEPAXXZ
+; public: void * __thiscall LSA_REF_DOMAIN_MEM::QueryPSID(unsigned long)const 
+?QueryPSID@LSA_REF_DOMAIN_MEM@@QBEPAXK@Z
+; public: void * __thiscall LSA_TRUST_INFO_MEM::QueryPSID(unsigned long)const 
+?QueryPSID@LSA_TRUST_INFO_MEM@@QBEPAXK@Z
+; public: void * __thiscall OS_SID::QueryPSID(void)const 
+?QueryPSID@OS_SID@@QBEPAXXZ
+; public: void * __thiscall SAM_DOMAIN::QueryPSID(void)const 
+?QueryPSID@SAM_DOMAIN@@QBEPAXXZ
+; public: void * __thiscall USER_BROWSER_LBI::QueryPSID(void)const 
+?QueryPSID@USER_BROWSER_LBI@@QBEQAXXZ
+; protected: int __thiscall HEAP_BASE::QueryParent(int)const 
+?QueryParent@HEAP_BASE@@IBEHH@Z
+; public: long __thiscall BASE_PASSWORD_DIALOG::QueryPassword(class NLS_STR *)
+?QueryPassword@BASE_PASSWORD_DIALOG@@QAEJPAVNLS_STR@@@Z
+; public: unsigned short const * __thiscall OPEN_LBI_BASE::QueryPath(void)const 
+?QueryPath@OPEN_LBI_BASE@@QBEPBGXZ
+; public: unsigned short const * __thiscall NLS_STR::QueryPch(void)const 
+?QueryPch@NLS_STR@@QBEPBGXZ
+; public: unsigned short const * __thiscall STR_DTE::QueryPch(void)const 
+?QueryPch@STR_DTE@@QBEPBGXZ
+; public: unsigned long __thiscall OPEN_LBI_BASE::QueryPermissions(void)const 
+?QueryPermissions@OPEN_LBI_BASE@@QBEKXZ
+; public: struct tagPOINT  __thiscall XYPOINT::QueryPoint(void)const 
+?QueryPoint@XYPOINT@@QBE?AUtagPOINT@@XZ
+; public: static class XYPOINT  __stdcall CURSOR::QueryPos(void)
+?QueryPos@CURSOR@@SG?AVXYPOINT@@XZ
+; public: class XYPOINT  __thiscall MOUSE_EVENT::QueryPos(void)const 
+?QueryPos@MOUSE_EVENT@@QBE?AVXYPOINT@@XZ
+; public: unsigned int __thiscall SCROLLBAR::QueryPos(void)const 
+?QueryPos@SCROLLBAR@@QBEIXZ
+; public: class XYPOINT  __thiscall SPIN_GROUP::QueryPos(void)
+?QueryPos@SPIN_GROUP@@QAE?AVXYPOINT@@XZ
+; public: class XYPOINT  __thiscall WINDOW::QueryPos(void)const 
+?QueryPos@WINDOW@@QBE?AVXYPOINT@@XZ
+; public: int __thiscall WIN32_THREAD::QueryPriority(void)
+?QueryPriority@WIN32_THREAD@@QAEHXZ
+; public: unsigned long __thiscall PROC_INSTANCE::QueryProc(void)const 
+?QueryProc@PROC_INSTANCE@@QBEKXZ
+; public: class NLS_STR * __thiscall ITER_SL_NLS_STR::QueryProp(void)
+?QueryProp@ITER_SL_NLS_STR@@QAEPAVNLS_STR@@XZ
+; public: class USER_BROWSER_LBI * __thiscall ITER_SL_USER_BROWSER_LBI::QueryProp(void)
+?QueryProp@ITER_SL_USER_BROWSER_LBI@@QAEPAVUSER_BROWSER_LBI@@XZ
+; public: unsigned short const * __thiscall IDRESOURCE::QueryPsz(void)const 
+?QueryPsz@IDRESOURCE@@QBEPBGXZ
+; public: unsigned char * __thiscall BLT_SCRATCH::QueryPtr(void)const 
+?QueryPtr@BLT_SCRATCH@@QBEPAEXZ
+; public: struct _POLICY_ACCOUNT_DOMAIN_INFO const * __thiscall LSA_ACCT_DOM_INFO_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_ACCT_DOM_INFO_MEM@@QBEPBU_POLICY_ACCOUNT_DOMAIN_INFO@@XZ
+; public: struct _POLICY_PRIMARY_DOMAIN_INFO const * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_PRIMARY_DOM_INFO_MEM@@QBEPBU_POLICY_PRIMARY_DOMAIN_INFO@@XZ
+; private: struct _LSA_TRUST_INFORMATION const * __thiscall LSA_REF_DOMAIN_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_REF_DOMAIN_MEM@@ABEPBU_LSA_TRUST_INFORMATION@@XZ
+; private: struct _LSA_TRANSLATED_NAME const * __thiscall LSA_TRANSLATED_NAME_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_TRANSLATED_NAME_MEM@@ABEPBU_LSA_TRANSLATED_NAME@@XZ
+; private: struct _LSA_TRANSLATED_SID const * __thiscall LSA_TRANSLATED_SID_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_TRANSLATED_SID_MEM@@ABEPBU_LSA_TRANSLATED_SID@@XZ
+; public: struct _LSA_TRUST_INFORMATION const * __thiscall LSA_TRUST_INFO_MEM::QueryPtr(void)const 
+?QueryPtr@LSA_TRUST_INFO_MEM@@QBEPBU_LSA_TRUST_INFORMATION@@XZ
+; public: struct _SAM_RID_ENUMERATION const * __thiscall SAM_RID_ENUMERATION_MEM::QueryPtr(void)const 
+?QueryPtr@SAM_RID_ENUMERATION_MEM@@QBEPBU_SAM_RID_ENUMERATION@@XZ
+; private: unsigned long const * __thiscall SAM_RID_MEM::QueryPtr(void)const 
+?QueryPtr@SAM_RID_MEM@@ABEPBKXZ
+; public: void * * __thiscall SAM_SID_MEM::QueryPtr(void)const 
+?QueryPtr@SAM_SID_MEM@@QBEPAPAXXZ
+; public: long __thiscall BROWSER_SUBJECT::QueryQualifiedName(class NLS_STR *,class NLS_STR const *,int)const 
+?QueryQualifiedName@BROWSER_SUBJECT@@QBEJPAVNLS_STR@@PBV2@H@Z
+; public: unsigned int __thiscall CONTROLVAL_CID_PAIR::QueryRBCID(void)const 
+?QueryRBCID@CONTROLVAL_CID_PAIR@@QBEIXZ
+; public: unsigned long __thiscall LSA_TRANSLATED_SID_MEM::QueryRID(unsigned long)const 
+?QueryRID@LSA_TRANSLATED_SID_MEM@@QBEKK@Z
+; public: unsigned int __thiscall NT_GROUP_ENUM_OBJ::QueryRID(void)const 
+?QueryRID@NT_GROUP_ENUM_OBJ@@QBEIXZ
+; public: unsigned long __thiscall SAM_RID_ENUMERATION_MEM::QueryRID(unsigned long)const 
+?QueryRID@SAM_RID_ENUMERATION_MEM@@QBEKK@Z
+; public: unsigned long __thiscall SAM_RID_MEM::QueryRID(unsigned long)const 
+?QueryRID@SAM_RID_MEM@@QBEKK@Z
+; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryRange(void)const 
+?QueryRange@CHANGEABLE_SPIN_ITEM@@QBEKXZ
+; protected: class PUSH_BUTTON * __thiscall SLE_STRLB_GROUP::QueryRemoveButton(void)const 
+?QueryRemoveButton@SLE_STRLB_GROUP@@IBEPAVPUSH_BUTTON@@XZ
+; public: unsigned int __thiscall KEY_EVENT::QueryRepeat(void)const 
+?QueryRepeat@KEY_EVENT@@QBEIXZ
+; public: int __thiscall XYRECT::QueryRight(void)const 
+?QueryRight@XYRECT@@QBEHXZ
+; protected: int __thiscall HEAP_BASE::QueryRightSibling(int)const 
+?QueryRightSibling@HEAP_BASE@@IBEHH@Z
+; public: virtual struct HWND__ * __thiscall CLIENT_WINDOW::QueryRobustHwnd(void)const 
+?QueryRobustHwnd@CLIENT_WINDOW@@UBEPAUHWND__@@XZ
+; public: virtual struct HWND__ * __thiscall DIALOG_WINDOW::QueryRobustHwnd(void)const 
+?QueryRobustHwnd@DIALOG_WINDOW@@UBEPAUHWND__@@XZ
+; public: virtual struct HWND__ * __thiscall DISPATCHER::QueryRobustHwnd(void)const 
+?QueryRobustHwnd@DISPATCHER@@UBEPAUHWND__@@XZ
+; public: unsigned int __thiscall SET_OF_AUDIT_CATEGORIES::QuerySLTBaseCID(void)
+?QuerySLTBaseCID@SET_OF_AUDIT_CATEGORIES@@QAEIXZ
+; public: unsigned int __thiscall LISTBOX::QueryScrollPos(void)const 
+?QueryScrollPos@LISTBOX@@QBEIXZ
+; public: int __thiscall BLT_TIME_SPIN_GROUP::QuerySec(void)const 
+?QuerySec@BLT_TIME_SPIN_GROUP@@QBEHXZ
+; public: int __thiscall WIN_TIME::QuerySecond(void)const 
+?QuerySecond@WIN_TIME@@QBEHXZ
+; public: long __thiscall ELAPSED_TIME_CONTROL::QuerySecondValue(void)const 
+?QuerySecondValue@ELAPSED_TIME_CONTROL@@QBEJXZ
+; public: int __thiscall LIST_CONTROL::QuerySelCount(void)const 
+?QuerySelCount@LIST_CONTROL@@QBEHXZ
+; public: long __thiscall LIST_CONTROL::QuerySelItems(int *,int)const 
+?QuerySelItems@LIST_CONTROL@@QBEJPAHH@Z
+; public: int __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::QuerySelected(void)const 
+?QuerySelected@GRAPHICAL_BUTTON_WITH_DISABLE@@QBEHXZ
+; public: unsigned int __thiscall MAGIC_GROUP::QuerySelection(void)const 
+?QuerySelection@MAGIC_GROUP@@QBEIXZ
+; public: unsigned int __thiscall RADIO_GROUP::QuerySelection(void)const 
+?QuerySelection@RADIO_GROUP@@QBEIXZ
+; public: class SLIST_OF_USER_BROWSER_LBI * __thiscall NT_USER_BROWSER_DIALOG::QuerySelectionCache(void)
+?QuerySelectionCache@NT_USER_BROWSER_DIALOG@@QAEPAVSLIST_OF_USER_BROWSER_LBI@@XZ
+; public: class SLIST_OF_USER_BROWSER_LBI * __thiscall NT_USER_BROWSER_DIALOG::QuerySelectionList(void)
+?QuerySelectionList@NT_USER_BROWSER_DIALOG@@QAEPAVSLIST_OF_USER_BROWSER_LBI@@XZ
+; public: unsigned short const * __thiscall ADMIN_AUTHORITY::QueryServer(void)const 
+?QueryServer@ADMIN_AUTHORITY@@QBEPBGXZ
+; public: unsigned short const * __thiscall OLLB_ENTRY::QueryServer(void)const 
+?QueryServer@OLLB_ENTRY@@QBEPBGXZ
+; public: unsigned short const * __thiscall OPEN_DIALOG_BASE::QueryServer(void)const 
+?QueryServer@OPEN_DIALOG_BASE@@QBEPBGXZ
+; public: unsigned short const * __thiscall NT_USER_BROWSER_DIALOG::QueryServerResourceLivesOn(void)const 
+?QueryServerResourceLivesOn@NT_USER_BROWSER_DIALOG@@QBEPBGXZ
+; public: class OS_SID const * __thiscall BROWSER_SUBJECT::QuerySid(void)const 
+?QuerySid@BROWSER_SUBJECT@@QBEPBVOS_SID@@XZ
+; public: void * __thiscall OS_SID::QuerySid(void)const 
+?QuerySid@OS_SID@@QBEPAXXZ
+; public: unsigned int __thiscall BLT_LISTBOX::QuerySingleLineHeight(void)
+?QuerySingleLineHeight@BLT_LISTBOX@@QAEIXZ
+; public: unsigned int __thiscall BLT_SCRATCH::QuerySize(void)const 
+?QuerySize@BLT_SCRATCH@@QBEIXZ
+; public: class XYDIMENSION  __thiscall SPIN_GROUP::QuerySize(void)
+?QuerySize@SPIN_GROUP@@QAE?AVXYDIMENSION@@XZ
+; public: class XYDIMENSION  __thiscall WINDOW::QuerySize(void)const 
+?QuerySize@WINDOW@@QBE?AVXYDIMENSION@@XZ
+; public: void __thiscall WINDOW::QuerySize(int *,int *)const 
+?QuerySize@WINDOW@@QBEXPAH0@Z
+; public: virtual unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QuerySmallDecValue(void)const 
+?QuerySmallDecValue@CHANGEABLE_SPIN_ITEM@@UBEKXZ
+; public: virtual unsigned long __thiscall SPIN_SLE_VALID_SECOND::QuerySmallDecValue(void)const 
+?QuerySmallDecValue@SPIN_SLE_VALID_SECOND@@UBEKXZ
+; public: virtual unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QuerySmallIncValue(void)const 
+?QuerySmallIncValue@CHANGEABLE_SPIN_ITEM@@UBEKXZ
+; public: virtual unsigned long __thiscall SPIN_SLE_VALID_SECOND::QuerySmallIncValue(void)const 
+?QuerySmallIncValue@SPIN_SLE_VALID_SECOND@@UBEKXZ
+; protected: class NT_GROUP_BROWSER_DIALOG * __thiscall NT_GROUP_BROWSER_DIALOG::QuerySourceDialog(void)
+?QuerySourceDialog@NT_GROUP_BROWSER_DIALOG@@IAEPAV1@XZ
+; public: class USER_BROWSER_LB * __thiscall NT_FIND_ACCOUNT_DIALOG::QuerySourceListbox(void)
+?QuerySourceListbox@NT_FIND_ACCOUNT_DIALOG@@QAEPAVUSER_BROWSER_LB@@XZ
+; public: class USER_BROWSER_LB * __thiscall NT_GROUP_BROWSER_DIALOG::QuerySourceListbox(void)
+?QuerySourceListbox@NT_GROUP_BROWSER_DIALOG@@QAEPAVUSER_BROWSER_LB@@XZ
+; protected: unsigned int __thiscall STATE_BUTTON_CONTROL::QueryState(void)const 
+?QueryState@STATE_BUTTON_CONTROL@@IBEIXZ
+; public: int __thiscall STLBITEM::QueryState(void)const 
+?QueryState@STLBITEM@@QBEHXZ
+; private: enum _THREAD_STATE  __thiscall WIN32_THREAD::QueryState(void)const 
+?QueryState@WIN32_THREAD@@ABE?AW4_THREAD_STATE@@XZ
+; protected: static unsigned short const * __stdcall CONTROL_WINDOW::QueryStaticClassName(void)
+?QueryStaticClassName@CONTROL_WINDOW@@KGPBGXZ
+; public: class STRING_LISTBOX * __thiscall SLE_STRLB_GROUP::QueryStrLB(void)const 
+?QueryStrLB@SLE_STRLB_GROUP@@QBEPAVSTRING_LISTBOX@@XZ
+; protected: virtual int __thiscall CONSOLE_ELLIPSIS::QueryStrLen(unsigned short const *,int)
+?QueryStrLen@CONSOLE_ELLIPSIS@@MAEHPBGH@Z
+; protected: virtual int __thiscall CONSOLE_ELLIPSIS::QueryStrLen(class NLS_STR)
+?QueryStrLen@CONSOLE_ELLIPSIS@@MAEHVNLS_STR@@@Z
+; protected: virtual int __thiscall WIN_ELLIPSIS::QueryStrLen(unsigned short const *,int)
+?QueryStrLen@WIN_ELLIPSIS@@MAEHPBGH@Z
+; protected: virtual int __thiscall WIN_ELLIPSIS::QueryStrLen(class NLS_STR)
+?QueryStrLen@WIN_ELLIPSIS@@MAEHVNLS_STR@@@Z
+; private: long __thiscall SPIN_SLE_STR::QueryStrNum(class NLS_STR const &,long)
+?QueryStrNum@SPIN_SLE_STR@@AAEJABVNLS_STR@@J@Z
+; public: long __thiscall ATOM_BASE::QueryString(unsigned short *,unsigned int)const 
+?QueryString@ATOM_BASE@@QBEJPAGI@Z
+; public: class NLS_STR * __thiscall STRING_BITSET_PAIR::QueryString(void)
+?QueryString@STRING_BITSET_PAIR@@QAEPAVNLS_STR@@XZ
+; public: enum ELLIPSIS_STYLE  __thiscall BASE_ELLIPSIS::QueryStyle(void)const 
+?QueryStyle@BASE_ELLIPSIS@@QBE?AW4ELLIPSIS_STYLE@@XZ
+; public: unsigned long __thiscall WINDOW::QueryStyle(void)const 
+?QueryStyle@WINDOW@@QBEKXZ
+; public: struct HMENU__ * __thiscall MENU_BASE::QuerySubMenu(int)const 
+?QuerySubMenu@MENU_BASE@@QBEPAUHMENU__@@H@Z
+; public: unsigned int __thiscall SET_OF_AUDIT_CATEGORIES::QuerySuccessBaseCID(void)
+?QuerySuccessBaseCID@SET_OF_AUDIT_CATEGORIES@@QAEIXZ
+; protected: unsigned long __thiscall BASE_SET_FOCUS_DLG::QuerySuppliedHelpContext(void)
+?QuerySuppliedHelpContext@BASE_SET_FOCUS_DLG@@IAEKXZ
+; protected: unsigned short const * __thiscall BASE_SET_FOCUS_DLG::QuerySuppliedHelpFile(void)
+?QuerySuppliedHelpFile@BASE_SET_FOCUS_DLG@@IAEPBGXZ
+; public: long __thiscall BASE_ELLIPSIS::QueryText(unsigned short *,unsigned int)const 
+?QueryText@BASE_ELLIPSIS@@QBEJPAGI@Z
+; public: long __thiscall BASE_ELLIPSIS::QueryText(class NLS_STR *)const 
+?QueryText@BASE_ELLIPSIS@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall SLE_STRIP::QueryText(unsigned short *,unsigned int,unsigned short const *,unsigned short const *)const 
+?QueryText@SLE_STRIP@@QBEJPAGIPBG1@Z
+; public: long __thiscall SLE_STRIP::QueryText(class NLS_STR *,unsigned short const *,unsigned short const *)const 
+?QueryText@SLE_STRIP@@QBEJPAVNLS_STR@@PBG1@Z
+; public: long __thiscall SLT_ELLIPSIS::QueryText(unsigned short *,unsigned int)const 
+?QueryText@SLT_ELLIPSIS@@QBEJPAGI@Z
+; public: long __thiscall SLT_ELLIPSIS::QueryText(class NLS_STR *)const 
+?QueryText@SLT_ELLIPSIS@@QBEJPAVNLS_STR@@@Z
+; public: long __thiscall WINDOW::QueryText(unsigned short *,unsigned int)const 
+?QueryText@WINDOW@@QBEJPAGI@Z
+; public: long __thiscall WINDOW::QueryText(class NLS_STR *)const 
+?QueryText@WINDOW@@QBEJPAVNLS_STR@@@Z
+; public: class XYDIMENSION  __thiscall DEVICE_CONTEXT::QueryTextExtent(class NLS_STR const &)const 
+?QueryTextExtent@DEVICE_CONTEXT@@QBE?AVXYDIMENSION@@ABVNLS_STR@@@Z
+; public: class XYDIMENSION  __thiscall DEVICE_CONTEXT::QueryTextExtent(unsigned short const *,unsigned int)const 
+?QueryTextExtent@DEVICE_CONTEXT@@QBE?AVXYDIMENSION@@PBGI@Z
+; public: int __thiscall BASE_ELLIPSIS::QueryTextLength(void)const 
+?QueryTextLength@BASE_ELLIPSIS@@QBEHXZ
+; public: unsigned int __thiscall NLS_STR::QueryTextLength(void)const 
+?QueryTextLength@NLS_STR@@QBEIXZ
+; public: int __thiscall WINDOW::QueryTextLength(void)const 
+?QueryTextLength@WINDOW@@QBEHXZ
+; public: int __thiscall DEVICE_CONTEXT::QueryTextMetrics(struct tagTEXTMETRICW *)const 
+?QueryTextMetrics@DEVICE_CONTEXT@@QBEHPAUtagTEXTMETRICW@@@Z
+; public: int __thiscall BASE_ELLIPSIS::QueryTextSize(void)const 
+?QueryTextSize@BASE_ELLIPSIS@@QBEHXZ
+; public: int __thiscall WINDOW::QueryTextSize(void)const 
+?QueryTextSize@WINDOW@@QBEHXZ
+; public: int __thiscall DISPLAY_CONTEXT::QueryTextWidth(class NLS_STR const &)const 
+?QueryTextWidth@DISPLAY_CONTEXT@@QBEHABVNLS_STR@@@Z
+; public: int __thiscall DISPLAY_CONTEXT::QueryTextWidth(unsigned short const *,unsigned int)const 
+?QueryTextWidth@DISPLAY_CONTEXT@@QBEHPBGI@Z
+; public: int __thiscall XYRECT::QueryTop(void)const 
+?QueryTop@XYRECT@@QBEHXZ
+; public: int __thiscall LIST_CONTROL::QueryTopIndex(void)const 
+?QueryTopIndex@LIST_CONTROL@@QBEHXZ
+; public: enum _SID_NAME_USE  __thiscall BROWSER_SUBJECT::QueryType(void)const 
+?QueryType@BROWSER_SUBJECT@@QBE?AW4_SID_NAME_USE@@XZ
+; public: enum OUTLINE_LB_LEVEL  __thiscall OLLB_ENTRY::QueryType(void)const 
+?QueryType@OLLB_ENTRY@@QBE?AW4OUTLINE_LB_LEVEL@@XZ
+; public: enum _SID_NAME_USE  __thiscall USER_BROWSER_LBI::QueryType(void)const 
+?QueryType@USER_BROWSER_LBI@@QBE?AW4_SID_NAME_USE@@XZ
+; public: enum UI_SystemSid  __thiscall USER_BROWSER_LBI::QueryUISysSid(void)const 
+?QueryUISysSid@USER_BROWSER_LBI@@QBE?AW4UI_SystemSid@@XZ
+; protected: struct _ULC_ENTRY * __thiscall USER_LBI_CACHE::QueryULCEntryPtr(int)
+?QueryULCEntryPtr@USER_LBI_CACHE@@IAEPAU_ULC_ENTRY@@H@Z
+; protected: int __thiscall USER_LBI_CACHE::QueryULCEntrySize(void)
+?QueryULCEntrySize@USER_LBI_CACHE@@IAEHXZ
+; public: struct _UNICODE_STRING const * __thiscall NT_GROUP_ENUM_OBJ::QueryUnicodeComment(void)const 
+?QueryUnicodeComment@NT_GROUP_ENUM_OBJ@@QBEPBU_UNICODE_STRING@@XZ
+; public: struct _UNICODE_STRING const * __thiscall NT_GROUP_ENUM_OBJ::QueryUnicodeGroup(void)const 
+?QueryUnicodeGroup@NT_GROUP_ENUM_OBJ@@QBEPBU_UNICODE_STRING@@XZ
+; public: struct _UNICODE_STRING const * __thiscall LSA_PRIMARY_DOM_INFO_MEM::QueryUnicodeName(void)const 
+?QueryUnicodeName@LSA_PRIMARY_DOM_INFO_MEM@@QBEPBU_UNICODE_STRING@@XZ
+; private: struct _UNICODE_STRING const * __thiscall LSA_REF_DOMAIN_MEM::QueryUnicodeName(unsigned long)const 
+?QueryUnicodeName@LSA_REF_DOMAIN_MEM@@ABEPBU_UNICODE_STRING@@K@Z
+; private: struct _UNICODE_STRING const * __thiscall LSA_TRANSLATED_NAME_MEM::QueryUnicodeName(unsigned long)const 
+?QueryUnicodeName@LSA_TRANSLATED_NAME_MEM@@ABEPBU_UNICODE_STRING@@K@Z
+; public: struct _UNICODE_STRING const * __thiscall LSA_TRUST_INFO_MEM::QueryUnicodeName(unsigned long)const 
+?QueryUnicodeName@LSA_TRUST_INFO_MEM@@QBEPBU_UNICODE_STRING@@K@Z
+; public: struct _UNICODE_STRING const * __thiscall SAM_RID_ENUMERATION_MEM::QueryUnicodeName(unsigned long)const 
+?QueryUnicodeName@SAM_RID_ENUMERATION_MEM@@QBEPBU_UNICODE_STRING@@K@Z
+; public: enum _SID_NAME_USE  __thiscall LSA_TRANSLATED_NAME_MEM::QueryUse(unsigned long)const 
+?QueryUse@LSA_TRANSLATED_NAME_MEM@@QBE?AW4_SID_NAME_USE@@K@Z
+; public: enum _SID_NAME_USE  __thiscall LSA_TRANSLATED_SID_MEM::QueryUse(unsigned long)const 
+?QueryUse@LSA_TRANSLATED_SID_MEM@@QBE?AW4_SID_NAME_USE@@K@Z
+; public: unsigned long __thiscall USER_BROWSER_LBI::QueryUserAccountFlags(void)const 
+?QueryUserAccountFlags@USER_BROWSER_LBI@@QBEKXZ
+; protected: class NT_USER_BROWSER_DIALOG * __thiscall NT_GROUP_BROWSER_DIALOG::QueryUserBrowserDialog(void)
+?QueryUserBrowserDialog@NT_GROUP_BROWSER_DIALOG@@IAEPAVNT_USER_BROWSER_DIALOG@@XZ
+; public: unsigned short const * __thiscall OPEN_LBI_BASE::QueryUserName(void)const 
+?QueryUserName@OPEN_LBI_BASE@@QBEPBGXZ
+; public: long __thiscall SET_OF_AUDIT_CATEGORIES::QueryUserSelectedBits(class BITFIELD *,class BITFIELD *)
+?QueryUserSelectedBits@SET_OF_AUDIT_CATEGORIES@@QAEJPAVBITFIELD@@0@Z
+; public: unsigned int __thiscall VKEY_EVENT::QueryVKey(void)const 
+?QueryVKey@VKEY_EVENT@@QBEIXZ
+; public: unsigned long __thiscall CHANGEABLE_SPIN_ITEM::QueryValue(void)const 
+?QueryValue@CHANGEABLE_SPIN_ITEM@@QBEKXZ
+; public: static unsigned int __stdcall METALLIC_STR_DTE::QueryVerticalMargins(void)
+?QueryVerticalMargins@METALLIC_STR_DTE@@SGIXZ
+; public: unsigned int __thiscall EVENT::QueryWParam(void)const 
+?QueryWParam@EVENT@@QBEIXZ
+; public: static unsigned short const * __stdcall SLE_STRIP::QueryWhiteSpace(void)
+?QueryWhiteSpace@SLE_STRIP@@SGPBGXZ
+; public: unsigned int __thiscall BIT_MAP::QueryWidth(void)const 
+?QueryWidth@BIT_MAP@@QBEIXZ
+; public: unsigned int __thiscall DISPLAY_MAP::QueryWidth(void)const 
+?QueryWidth@DISPLAY_MAP@@QBEIXZ
+; public: unsigned int __thiscall SIZE_EVENT::QueryWidth(void)const 
+?QueryWidth@SIZE_EVENT@@QBEIXZ
+; public: unsigned int __thiscall XYDIMENSION::QueryWidth(void)const 
+?QueryWidth@XYDIMENSION@@QBEIXZ
+; public: void __thiscall WINDOW::QueryWindowRect(struct tagRECT *)const 
+?QueryWindowRect@WINDOW@@QBEXPAUtagRECT@@@Z
+; public: void __thiscall WINDOW::QueryWindowRect(class XYRECT *)const 
+?QueryWindowRect@WINDOW@@QBEXPAVXYRECT@@@Z
+; public: int __thiscall CHANGEABLE_SPIN_ITEM::QueryWrap(void)const 
+?QueryWrap@CHANGEABLE_SPIN_ITEM@@QBEHXZ
+; public: int __thiscall XYPOINT::QueryX(void)const 
+?QueryX@XYPOINT@@QBEHXZ
+; public: unsigned int __thiscall LOGON_HOURS_CONTROL::QueryXForRow(int)
+?QueryXForRow@LOGON_HOURS_CONTROL@@QAEIH@Z
+; public: int __thiscall XYPOINT::QueryY(void)const 
+?QueryY@XYPOINT@@QBEHXZ
+; public: int __thiscall BLT_DATE_SPIN_GROUP::QueryYear(void)const 
+?QueryYear@BLT_DATE_SPIN_GROUP@@QBEHXZ
+; public: int __thiscall WIN_TIME::QueryYear(void)const 
+?QueryYear@WIN_TIME@@QBEHXZ
+; public: int __thiscall INTL_PROFILE::QueryYearPos(void)const 
+?QueryYearPos@INTL_PROFILE@@QBEHXZ
+; protected: virtual enum FOCUS_CACHE_SETTING  __thiscall BASE_SET_FOCUS_DLG::ReadFocusCache(unsigned short const *)const 
+?ReadFocusCache@BASE_SET_FOCUS_DLG@@MBE?AW4FOCUS_CACHE_SETTING@@PBG@Z
+; public: long __thiscall USER_LBI_CACHE::ReadUsers(class ADMIN_AUTHORITY *,unsigned int,unsigned int,int,int *)
+?ReadUsers@USER_LBI_CACHE@@QAEJPAVADMIN_AUTHORITY@@IIHPAH@Z
+; public: long __thiscall DEVICE_COMBO::Refresh(void)
+?Refresh@DEVICE_COMBO@@QAEJXZ
+; protected: void __thiscall OPEN_DIALOG_BASE::Refresh(void)
+?Refresh@OPEN_DIALOG_BASE@@IAEXXZ
+; public: long __thiscall OPEN_LBOX_BASE::Refresh(void)
+?Refresh@OPEN_LBOX_BASE@@QAEJXZ
+; protected: virtual void __thiscall HIER_LISTBOX::RefreshChildren(class HIER_LBI *)
+?RefreshChildren@HIER_LISTBOX@@MAEXPAVHIER_LBI@@@Z
+; public: virtual void __thiscall UI_EXT_MGR::RefreshExtensions(struct HWND__ *)
+?RefreshExtensions@UI_EXT_MGR@@UAEXPAUHWND__@@@Z
+; public: static long __stdcall BLT::RegisterHelpFile(struct HINSTANCE__ *,long,unsigned long,unsigned long)
+?RegisterHelpFile@BLT@@SGJPAUHINSTANCE__@@JKK@Z
+; public: long __thiscall WIN32_MUTEX::Release(void)
+?Release@WIN32_MUTEX@@QAEJXZ
+; public: long __thiscall WIN32_SEMAPHORE::Release(long,long *)
+?Release@WIN32_SEMAPHORE@@QAEJJPAJ@Z
+; private: virtual void __thiscall BLT_LISTBOX::ReleaseLBI(class LBI *)
+?ReleaseLBI@BLT_LISTBOX@@EAEXPAVLBI@@@Z
+; private: virtual void __thiscall LAZY_LISTBOX::ReleaseLBI(class LBI *)
+?ReleaseLBI@LAZY_LISTBOX@@EAEXPAVLBI@@@Z
+; public: void __thiscall CLIENT_WINDOW::ReleaseMouse(void)
+?ReleaseMouse@CLIENT_WINDOW@@QAEXXZ
+; public: void __thiscall DISPATCHER::ReleaseMouse(void)
+?ReleaseMouse@DISPATCHER@@QAEXXZ
+; public: virtual long __thiscall LB_COL_WIDTHS::ReloadColumnWidths(struct HWND__ *,struct HINSTANCE__ *,class IDRESOURCE const &)
+?ReloadColumnWidths@LB_COL_WIDTHS@@UAEJPAUHWND__@@PAUHINSTANCE__@@ABVIDRESOURCE@@@Z
+; public: int __thiscall ARRAY_LIST_CONTROLVAL_CID_PAIR::Remove(class CONTROLVAL_CID_PAIR const &)
+?Remove@ARRAY_LIST_CONTROLVAL_CID_PAIR@@QAEHABVCONTROLVAL_CID_PAIR@@@Z
+; public: static void __stdcall HWND_DLGPTR_CACHE::Remove(struct HWND__ *)
+?Remove@HWND_DLGPTR_CACHE@@SGXPAUHWND__@@@Z
+; public: long __thiscall MENU_BASE::Remove(unsigned int,unsigned int)const 
+?Remove@MENU_BASE@@QBEJII@Z
+; public: class ASSOCHCFILE * __thiscall SLIST_OF_ASSOCHCFILE::Remove(class ITER_SL_ASSOCHCFILE &)
+?Remove@SLIST_OF_ASSOCHCFILE@@QAEPAVASSOCHCFILE@@AAVITER_SL_ASSOCHCFILE@@@Z
+; public: struct CLIENTDATA * __thiscall SLIST_OF_CLIENTDATA::Remove(class ITER_SL_CLIENTDATA &)
+?Remove@SLIST_OF_CLIENTDATA@@QAEPAUCLIENTDATA@@AAVITER_SL_CLIENTDATA@@@Z
+; public: class NLS_STR * __thiscall SLIST_OF_NLS_STR::Remove(class ITER_SL_NLS_STR &)
+?Remove@SLIST_OF_NLS_STR@@QAEPAVNLS_STR@@AAVITER_SL_NLS_STR@@@Z
+; public: class TIMER_BASE * __thiscall SLIST_OF_TIMER_BASE::Remove(class ITER_SL_TIMER_BASE &)
+?Remove@SLIST_OF_TIMER_BASE@@QAEPAVTIMER_BASE@@AAVITER_SL_TIMER_BASE@@@Z
+; public: class USER_BROWSER_LBI * __thiscall SLIST_OF_USER_BROWSER_LBI::Remove(class ITER_SL_USER_BROWSER_LBI &)
+?Remove@SLIST_OF_USER_BROWSER_LBI@@QAEPAVUSER_BROWSER_LBI@@AAVITER_SL_USER_BROWSER_LBI@@@Z
+; public: void __thiscall BLT_LISTBOX::RemoveAllItems(void)
+?RemoveAllItems@BLT_LISTBOX@@QAEXXZ
+; public: static void __stdcall BLTIMP::RemoveClient(struct HINSTANCE__ *)
+?RemoveClient@BLTIMP@@SGXPAUHINSTANCE__@@@Z
+; public: int __thiscall CONTROL_TABLE::RemoveControl(class CONTROL_WINDOW *)
+?RemoveControl@CONTROL_TABLE@@QAEHPAVCONTROL_WINDOW@@@Z
+; protected: void __thiscall ACCOUNT_NAMES_MLE::RemoveDuplicateAccountNames(class STRLIST *)
+?RemoveDuplicateAccountNames@ACCOUNT_NAMES_MLE@@IAEXPAVSTRLIST@@@Z
+; public: static void __stdcall BLTIMP::RemoveHelpAssoc(struct HINSTANCE__ *,unsigned long)
+?RemoveHelpAssoc@BLTIMP@@SGXPAUHINSTANCE__@@K@Z
+; public: class LBI * __thiscall BLT_LISTBOX::RemoveItem(int)
+?RemoveItem@BLT_LISTBOX@@QAEPAVLBI@@H@Z
+; public: class LBI * __thiscall USER_BROWSER_LB::RemoveItem(int)
+?RemoveItem@USER_BROWSER_LB@@QAEPAVLBI@@H@Z
+; public: virtual class LBI * __thiscall USER_BROWSER_LBI_CACHE::RemoveItem(int)
+?RemoveItem@USER_BROWSER_LBI_CACHE@@UAEPAVLBI@@H@Z
+; public: virtual class LBI * __thiscall USER_LBI_CACHE::RemoveItem(int)
+?RemoveItem@USER_LBI_CACHE@@UAEPAVLBI@@H@Z
+; public: void __thiscall LIST_CONTROL::RemoveSelection(void)
+?RemoveSelection@LIST_CONTROL@@QAEXXZ
+; public: void __thiscall BLT_MASTER_TIMER::RemoveTimer(class TIMER_BASE *)
+?RemoveTimer@BLT_MASTER_TIMER@@QAEXPAVTIMER_BASE@@@Z
+; public: class LBI * __thiscall LBI_HEAP::RemoveTopItem(void)
+?RemoveTopItem@LBI_HEAP@@QAEPAVLBI@@XZ
+; public: void __thiscall WINDOW::RepaintNow(void)
+?RepaintNow@WINDOW@@QAEXXZ
+; protected: long __thiscall ACCOUNT_NAMES_MLE::ReplaceDomainIfBuiltIn(class NLS_STR *,int *)
+?ReplaceDomainIfBuiltIn@ACCOUNT_NAMES_MLE@@IAEJPAVNLS_STR@@PAH@Z
+; public: long __thiscall BLT_LISTBOX::ReplaceItem(int,class LBI *,class LBI * *)
+?ReplaceItem@BLT_LISTBOX@@QAEJHPAVLBI@@PAPAV2@@Z
+; protected: void __thiscall BASE::ReportError(long)
+?ReportError@BASE@@IAEXJ@Z
+; protected: void __thiscall CONTROL_TABLE::ReportError(void)
+?ReportError@CONTROL_TABLE@@IAEXXZ
+; protected: void __thiscall CONTROL_WINDOW::ReportError(long)
+?ReportError@CONTROL_WINDOW@@IAEXJ@Z
+; protected: void __thiscall FORWARDING_BASE::ReportError(long)
+?ReportError@FORWARDING_BASE@@IAEXJ@Z
+; protected: void __thiscall SLT_ELLIPSIS::ReportError(long)
+?ReportError@SLT_ELLIPSIS@@IAEXJ@Z
+; public: long __thiscall BROWSER_DOMAIN::RequestAccountData(void)
+?RequestAccountData@BROWSER_DOMAIN@@QAEJXZ
+; public: long __thiscall DOMAIN_FILL_THREAD::RequestAccountData(void)
+?RequestAccountData@DOMAIN_FILL_THREAD@@QAEJXZ
+; public: long __thiscall BROWSER_DOMAIN::RequestAndWaitForUsers(void)
+?RequestAndWaitForUsers@BROWSER_DOMAIN@@QAEJXZ
+; public: long __thiscall DOMAIN_FILL_THREAD::RequestAndWaitForUsers(void)
+?RequestAndWaitForUsers@DOMAIN_FILL_THREAD@@QAEJXZ
+; private: virtual class LBI * __thiscall BLT_LISTBOX::RequestLBI(struct tagDRAWITEMSTRUCT const *)
+?RequestLBI@BLT_LISTBOX@@EAEPAVLBI@@PBUtagDRAWITEMSTRUCT@@@Z
+; private: virtual class LBI * __thiscall LAZY_LISTBOX::RequestLBI(struct tagDRAWITEMSTRUCT const *)
+?RequestLBI@LAZY_LISTBOX@@EAEPAVLBI@@PBUtagDRAWITEMSTRUCT@@@Z
+; public: void __thiscall BROWSE_DOMAIN_ENUM::Reset(void)
+?Reset@BROWSE_DOMAIN_ENUM@@QAEXXZ
+; public: void __thiscall ITER_CTRL::Reset(void)
+?Reset@ITER_CTRL@@QAEXXZ
+; public: long __thiscall WIN32_EVENT::Reset(void)
+?Reset@WIN32_EVENT@@QAEJXZ
+; public: static void __stdcall POPUP::ResetCaption(void)
+?ResetCaption@POPUP@@SGXXZ
+; protected: void __thiscall WINDOW::ResetCreator(void)
+?ResetCreator@WINDOW@@IAEXXZ
+; protected: void __thiscall BASE::ResetError(void)
+?ResetError@BASE@@IAEXXZ
+; protected: void __thiscall CONTROL_WINDOW::ResetError(void)
+?ResetError@CONTROL_WINDOW@@IAEXXZ
+; protected: void __thiscall FORWARDING_BASE::ResetError(void)
+?ResetError@FORWARDING_BASE@@IAEXXZ
+; protected: void __thiscall SLT_ELLIPSIS::ResetError(void)
+?ResetError@SLT_ELLIPSIS@@IAEXXZ
+; public: void __thiscall BLT_MASTER_TIMER::ResetIterator(void)
+?ResetIterator@BLT_MASTER_TIMER@@QAEXXZ
+; public: void __thiscall SLT_ELLIPSIS::ResetStyle(enum ELLIPSIS_STYLE)
+?ResetStyle@SLT_ELLIPSIS@@QAEXW4ELLIPSIS_STYLE@@@Z
+; public: int __thiscall ARRAY_CONTROLVAL_CID_PAIR::Resize(unsigned int,int)
+?Resize@ARRAY_CONTROLVAL_CID_PAIR@@QAEHIH@Z
+; public: long __thiscall BLT_LISTBOX::Resort(void)
+?Resort@BLT_LISTBOX@@QAEJXZ
+; protected: virtual void __thiscall BLT_DATE_SPIN_GROUP::RestoreValue(int)
+?RestoreValue@BLT_DATE_SPIN_GROUP@@MAEXH@Z
+; protected: virtual void __thiscall BLT_TIME_SPIN_GROUP::RestoreValue(int)
+?RestoreValue@BLT_TIME_SPIN_GROUP@@MAEXH@Z
+; protected: virtual void __thiscall COMBOBOX::RestoreValue(int)
+?RestoreValue@COMBOBOX@@MAEXH@Z
+; protected: virtual void __thiscall CONTROL_VALUE::RestoreValue(int)
+?RestoreValue@CONTROL_VALUE@@MAEXH@Z
+; protected: virtual void __thiscall EDIT_CONTROL::RestoreValue(int)
+?RestoreValue@EDIT_CONTROL@@MAEXH@Z
+; protected: virtual void __thiscall LIST_CONTROL::RestoreValue(int)
+?RestoreValue@LIST_CONTROL@@MAEXH@Z
+; protected: virtual void __thiscall MAGIC_GROUP::RestoreValue(int)
+?RestoreValue@MAGIC_GROUP@@MAEXH@Z
+; protected: virtual void __thiscall RADIO_GROUP::RestoreValue(int)
+?RestoreValue@RADIO_GROUP@@MAEXH@Z
+; protected: virtual void __thiscall SLT::RestoreValue(int)
+?RestoreValue@SLT@@MAEXH@Z
+; public: virtual void __thiscall SPIN_GROUP::RestoreValue(int)
+?RestoreValue@SPIN_GROUP@@UAEXH@Z
+; protected: virtual void __thiscall STATE_BUTTON_CONTROL::RestoreValue(int)
+?RestoreValue@STATE_BUTTON_CONTROL@@MAEXH@Z
+; public: long __thiscall WIN32_THREAD::Resume(void)
+?Resume@WIN32_THREAD@@QAEJXZ
+; protected: virtual int __thiscall APPLICATION::Run(void)
+?Run@APPLICATION@@MAEHXZ
+; protected: unsigned int __thiscall HAS_MESSAGE_PUMP::RunMessagePump(void)
+?RunMessagePump@HAS_MESSAGE_PUMP@@IAEIXZ
+; public: virtual long __thiscall CHANGEABLE_SPIN_ITEM::SaveCurrentData(void)
+?SaveCurrentData@CHANGEABLE_SPIN_ITEM@@UAEJXZ
+; public: virtual long __thiscall SPIN_SLE_NUM::SaveCurrentData(void)
+?SaveCurrentData@SPIN_SLE_NUM@@UAEJXZ
+; public: virtual long __thiscall SPIN_SLE_STR::SaveCurrentData(void)
+?SaveCurrentData@SPIN_SLE_STR@@UAEJXZ
+; protected: virtual void __thiscall BLT_DATE_SPIN_GROUP::SaveValue(int)
+?SaveValue@BLT_DATE_SPIN_GROUP@@MAEXH@Z
+; protected: virtual void __thiscall BLT_TIME_SPIN_GROUP::SaveValue(int)
+?SaveValue@BLT_TIME_SPIN_GROUP@@MAEXH@Z
+; protected: virtual void __thiscall COMBOBOX::SaveValue(int)
+?SaveValue@COMBOBOX@@MAEXH@Z
+; protected: virtual void __thiscall CONTROL_VALUE::SaveValue(int)
+?SaveValue@CONTROL_VALUE@@MAEXH@Z
+; protected: virtual void __thiscall EDIT_CONTROL::SaveValue(int)
+?SaveValue@EDIT_CONTROL@@MAEXH@Z
+; protected: virtual void __thiscall LIST_CONTROL::SaveValue(int)
+?SaveValue@LIST_CONTROL@@MAEXH@Z
+; protected: virtual void __thiscall MAGIC_GROUP::SaveValue(int)
+?SaveValue@MAGIC_GROUP@@MAEXH@Z
+; protected: virtual void __thiscall RADIO_GROUP::SaveValue(int)
+?SaveValue@RADIO_GROUP@@MAEXH@Z
+; protected: virtual void __thiscall SLT::SaveValue(int)
+?SaveValue@SLT@@MAEXH@Z
+; public: virtual void __thiscall SPIN_GROUP::SaveValue(int)
+?SaveValue@SPIN_GROUP@@UAEXH@Z
+; protected: virtual void __thiscall STATE_BUTTON_CONTROL::SaveValue(int)
+?SaveValue@STATE_BUTTON_CONTROL@@MAEXH@Z
+; public: void __thiscall XYPOINT::ScreenToClient(struct HWND__ *)
+?ScreenToClient@XYPOINT@@QAEXPAUHWND__@@@Z
+; public: struct HBITMAP__ * __thiscall DEVICE_CONTEXT::SelectBitmap(struct HBITMAP__ *)
+?SelectBitmap@DEVICE_CONTEXT@@QAEPAUHBITMAP__@@PAU2@@Z
+; public: struct HBRUSH__ * __thiscall DEVICE_CONTEXT::SelectBrush(struct HBRUSH__ *)
+?SelectBrush@DEVICE_CONTEXT@@QAEPAUHBRUSH__@@PAU2@@Z
+; public: struct HFONT__ * __thiscall DEVICE_CONTEXT::SelectFont(struct HFONT__ *)
+?SelectFont@DEVICE_CONTEXT@@QAEPAUHFONT__@@PAU2@@Z
+; public: void __thiscall BROWSER_DOMAIN_CB::SelectItem(class BROWSER_DOMAIN *)
+?SelectItem@BROWSER_DOMAIN_CB@@QAEXPAVBROWSER_DOMAIN@@@Z
+; public: void __thiscall LIST_CONTROL::SelectItem(int,int)
+?SelectItem@LIST_CONTROL@@QAEXHH@Z
+; public: void __thiscall LIST_CONTROL::SelectItems(int *,int,int)
+?SelectItems@LIST_CONTROL@@QAEXPAHHH@Z
+; private: void __thiscall BASE_SET_FOCUS_DLG::SelectNetPathString(void)
+?SelectNetPathString@BASE_SET_FOCUS_DLG@@AAEXXZ
+; protected: void * __thiscall DEVICE_CONTEXT::SelectObject(void *)
+?SelectObject@DEVICE_CONTEXT@@IAEPAXPAX@Z
+; public: struct HPEN__ * __thiscall DEVICE_CONTEXT::SelectPen(struct HPEN__ *)
+?SelectPen@DEVICE_CONTEXT@@QAEPAUHPEN__@@PAU2@@Z
+; public: void __thiscall COMBOBOX::SelectString(void)
+?SelectString@COMBOBOX@@QAEXXZ
+; public: void __thiscall EDIT_CONTROL::SelectString(void)
+?SelectString@EDIT_CONTROL@@QAEXXZ
+; public: long __thiscall EVENT::SendTo(struct HWND__ *)const 
+?SendTo@EVENT@@QBEJPAUHWND__@@@Z
+; public: static struct HICON__ * __stdcall CURSOR::Set(struct HICON__ *)
+?Set@CURSOR@@SGPAUHICON__@@PAU2@@Z
+; public: long __thiscall WIN32_EVENT::Set(void)
+?Set@WIN32_EVENT@@QAEJXZ
+; public: long __thiscall SPIN_ITEM::SetAccKey(class NLS_STR const &)
+?SetAccKey@SPIN_ITEM@@QAEJABVNLS_STR@@@Z
+; public: long __thiscall SPIN_ITEM::SetAccKey(long)
+?SetAccKey@SPIN_ITEM@@QAEJJ@Z
+; public: long __thiscall NT_USER_BROWSER_DIALOG::SetAndFillErrorText(long,int)
+?SetAndFillErrorText@NT_USER_BROWSER_DIALOG@@QAEJJH@Z
+; protected: void __thiscall SPIN_GROUP::SetArrowButtonStatus(void)
+?SetArrowButtonStatus@SPIN_GROUP@@IAEXXZ
+; public: long __thiscall BROWSER_DOMAIN::SetAsTargetDomain(void)
+?SetAsTargetDomain@BROWSER_DOMAIN@@QAEJXZ
+; protected: void __thiscall HEAP_BASE::SetAutoReadjust(int)
+?SetAutoReadjust@HEAP_BASE@@IAEXH@Z
+; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetBigDecValue(unsigned long)
+?SetBigDecValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
+; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetBigIncValue(unsigned long)
+?SetBigIncValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
+; public: void __thiscall BIT_MAP::SetBitmap(struct HBITMAP__ *)
+?SetBitmap@BIT_MAP@@QAEXPAUHBITMAP__@@@Z
+; private: void __thiscall DISPLAY_MAP::SetBitmapBits(unsigned char *,int,int,unsigned int)
+?SetBitmapBits@DISPLAY_MAP@@AAEXPAEHHI@Z
+; public: unsigned long __thiscall DEVICE_CONTEXT::SetBkColor(unsigned long)
+?SetBkColor@DEVICE_CONTEXT@@QAEKK@Z
+; public: int __thiscall DEVICE_CONTEXT::SetBkMode(int)
+?SetBkMode@DEVICE_CONTEXT@@QAEHH@Z
+; protected: long __thiscall GET_FNAME_BASE_DLG::SetBuffer(class BUFFER *,class STRLIST &)
+?SetBuffer@GET_FNAME_BASE_DLG@@IAEJPAVBUFFER@@AAVSTRLIST@@@Z
+; protected: void __thiscall ENUM_OBJ_BASE::SetBufferPtr(unsigned char const *)
+?SetBufferPtr@ENUM_OBJ_BASE@@IAEXPBE@Z
+; public: void __thiscall ORDER_GROUP::SetButton(void)
+?SetButton@ORDER_GROUP@@QAEXXZ
+; public: static void __stdcall POPUP::SetCaption(long)
+?SetCaption@POPUP@@SGXJ@Z
+; public: void __thiscall LIST_CONTROL::SetCaretIndex(int,int)
+?SetCaretIndex@LIST_CONTROL@@QAEXHH@Z
+; public: void __thiscall MENUITEM::SetCheck(int)
+?SetCheck@MENUITEM@@QAEXH@Z
+; private: void __thiscall RADIO_BUTTON::SetCheck(int)
+?SetCheck@RADIO_BUTTON@@AAEXH@Z
+; public: void __thiscall STATE2_BUTTON_CONTROL::SetCheck(int)
+?SetCheck@STATE2_BUTTON_CONTROL@@QAEXH@Z
+; public: long __thiscall SET_OF_AUDIT_CATEGORIES::SetCheckBoxNames(class MASK_MAP *)
+?SetCheckBoxNames@SET_OF_AUDIT_CATEGORIES@@QAEJPAVMASK_MAP@@@Z
+; protected: static void __stdcall WINDOW::SetClientGeneratedMsgFlag(int)
+?SetClientGeneratedMsgFlag@WINDOW@@KGXH@Z
+; public: void __thiscall METER::SetComplete(int)
+?SetComplete@METER@@QAEXH@Z
+; protected: virtual void __thiscall BLT_DATE_SPIN_GROUP::SetControlValueFocus(void)
+?SetControlValueFocus@BLT_DATE_SPIN_GROUP@@MAEXXZ
+; protected: virtual void __thiscall BLT_TIME_SPIN_GROUP::SetControlValueFocus(void)
+?SetControlValueFocus@BLT_TIME_SPIN_GROUP@@MAEXXZ
+; public: virtual void __thiscall CONTROL_VALUE::SetControlValueFocus(void)
+?SetControlValueFocus@CONTROL_VALUE@@UAEXXZ
+; public: virtual void __thiscall CONTROL_WINDOW::SetControlValueFocus(void)
+?SetControlValueFocus@CONTROL_WINDOW@@UAEXXZ
+; protected: virtual void __thiscall EDIT_CONTROL::SetControlValueFocus(void)
+?SetControlValueFocus@EDIT_CONTROL@@MAEXXZ
+; public: virtual void __thiscall MAGIC_GROUP::SetControlValueFocus(void)
+?SetControlValueFocus@MAGIC_GROUP@@UAEXXZ
+; public: virtual void __thiscall RADIO_GROUP::SetControlValueFocus(void)
+?SetControlValueFocus@RADIO_GROUP@@UAEXXZ
+; public: virtual void __thiscall SPIN_GROUP::SetControlValueFocus(void)
+?SetControlValueFocus@SPIN_GROUP@@UAEXXZ
+; public: void __thiscall LAZY_LISTBOX::SetCount(unsigned int)
+?SetCount@LAZY_LISTBOX@@QAEXI@Z
+; public: void __thiscall USER_BROWSER_LB::SetCurrentCache(class USER_BROWSER_LBI_CACHE *)
+?SetCurrentCache@USER_BROWSER_LB@@QAEXPAVUSER_BROWSER_LBI_CACHE@@@Z
+; public: long __thiscall BLT_DATE_SPIN_GROUP::SetCurrentDay(void)
+?SetCurrentDay@BLT_DATE_SPIN_GROUP@@QAEJXZ
+; public: void __thiscall NT_USER_BROWSER_DIALOG::SetCurrentDomainFocus(class BROWSER_DOMAIN *)
+?SetCurrentDomainFocus@NT_USER_BROWSER_DIALOG@@QAEXPAVBROWSER_DOMAIN@@@Z
+; protected: void __thiscall SPIN_GROUP::SetCurrentField(class SPIN_ITEM *)
+?SetCurrentField@SPIN_GROUP@@IAEXPAVSPIN_ITEM@@@Z
+; public: long __thiscall BLT_TIME_SPIN_GROUP::SetCurrentTime(void)
+?SetCurrentTime@BLT_TIME_SPIN_GROUP@@QAEJXZ
+; public: long __thiscall GET_FNAME_BASE_DLG::SetCustomFilter(class STRLIST &,unsigned long)
+?SetCustomFilter@GET_FNAME_BASE_DLG@@QAEJAAVSTRLIST@@K@Z
+; public: void __thiscall DISK_SPACE_SUBCLASS::SetDSFieldName(long)
+?SetDSFieldName@DISK_SPACE_SUBCLASS@@QAEXJ@Z
+; public: void __thiscall BLT_DATE_SPIN_GROUP::SetDay(int)
+?SetDay@BLT_DATE_SPIN_GROUP@@QAEXH@Z
+; private: static void __stdcall HIER_LBI::SetDestroyable(int)
+?SetDestroyable@HIER_LBI@@CGXH@Z
+; public: void __thiscall OWNER_WINDOW::SetDialogFocus(class CONTROL_WINDOW &)
+?SetDialogFocus@OWNER_WINDOW@@QAEXAAVCONTROL_WINDOW@@@Z
+; protected: void __thiscall NT_USER_BROWSER_DIALOG::SetDomainComboDropFlag(int)
+?SetDomainComboDropFlag@NT_USER_BROWSER_DIALOG@@IAEXH@Z
+; public: void __thiscall OUTLINE_LISTBOX::SetDomainExpanded(int,int)
+?SetDomainExpanded@OUTLINE_LISTBOX@@QAEXHH@Z
+; public: long __thiscall BASE_ELLIPSIS::SetEllipsis(unsigned short *)
+?SetEllipsis@BASE_ELLIPSIS@@QAEJPAG@Z
+; public: long __thiscall BASE_ELLIPSIS::SetEllipsis(class NLS_STR *)
+?SetEllipsis@BASE_ELLIPSIS@@QAEJPAVNLS_STR@@@Z
+; protected: long __thiscall BASE_ELLIPSIS::SetEllipsisCenter(class NLS_STR *)
+?SetEllipsisCenter@BASE_ELLIPSIS@@IAEJPAVNLS_STR@@@Z
+; protected: long __thiscall BASE_ELLIPSIS::SetEllipsisLeft(class NLS_STR *)
+?SetEllipsisLeft@BASE_ELLIPSIS@@IAEJPAVNLS_STR@@@Z
+; protected: long __thiscall BASE_ELLIPSIS::SetEllipsisPath(class NLS_STR *)
+?SetEllipsisPath@BASE_ELLIPSIS@@IAEJPAVNLS_STR@@@Z
+; protected: long __thiscall BASE_ELLIPSIS::SetEllipsisRight(class NLS_STR *)
+?SetEllipsisRight@BASE_ELLIPSIS@@IAEJPAVNLS_STR@@@Z
+; protected: void __thiscall GET_FNAME_BASE_DLG::SetEnableHook(int)
+?SetEnableHook@GET_FNAME_BASE_DLG@@IAEXH@Z
+; public: void __thiscall HIER_LBI::SetExpanded(int)
+?SetExpanded@HIER_LBI@@QAEXH@Z
+; private: void __thiscall OLLB_ENTRY::SetExpanded(int)
+?SetExpanded@OLLB_ENTRY@@AAEXH@Z
+; public: int __thiscall SPIN_GROUP::SetFieldMinMax(unsigned short)
+?SetFieldMinMax@SPIN_GROUP@@QAEHG@Z
+; public: long __thiscall SPIN_SLE_NUM_VALID::SetFieldName(long)
+?SetFieldName@SPIN_SLE_NUM_VALID@@QAEJJ@Z
+; public: long __thiscall GET_FNAME_BASE_DLG::SetFileExtension(class NLS_STR const &)
+?SetFileExtension@GET_FNAME_BASE_DLG@@QAEJABVNLS_STR@@@Z
+; public: long __thiscall GET_FNAME_BASE_DLG::SetFilter(class STRLIST &,unsigned long)
+?SetFilter@GET_FNAME_BASE_DLG@@QAEJAAVSTRLIST@@K@Z
+; public: void __thiscall MLE::SetFmtLines(int)
+?SetFmtLines@MLE@@QAEXH@Z
+; public: void __thiscall OWNER_WINDOW::SetFocus(unsigned int)
+?SetFocus@OWNER_WINDOW@@QAEXI@Z
+; public: void __thiscall CONTROL_WINDOW::SetFont(struct HFONT__ *,int)
+?SetFont@CONTROL_WINDOW@@QAEXPAUHFONT__@@H@Z
+; public: long __thiscall FONT::SetFont(struct tagLOGFONTW const &)
+?SetFont@FONT@@QAEJABUtagLOGFONTW@@@Z
+; public: long __thiscall FONT::SetFont(struct HFONT__ *)
+?SetFont@FONT@@QAEJPAUHFONT__@@@Z
+; public: void __thiscall CONTROL_VALUE::SetGroup(class CONTROL_GROUP *)
+?SetGroup@CONTROL_VALUE@@QAEXPAVCONTROL_GROUP@@@Z
+; protected: void __thiscall MENU_BASE::SetHandle(struct HMENU__ *)
+?SetHandle@MENU_BASE@@IAEXPAUHMENU__@@@Z
+; protected: void __thiscall WIN32_HANDLE::SetHandle(void *)
+?SetHandle@WIN32_HANDLE@@IAEXPAX@Z
+; public: void __thiscall XYDIMENSION::SetHeight(unsigned int)
+?SetHeight@XYDIMENSION@@QAEXI@Z
+; public: void __thiscall GET_FNAME_BASE_DLG::SetHelpActive(int)
+?SetHelpActive@GET_FNAME_BASE_DLG@@QAEXH@Z
+; public: static unsigned long __stdcall POPUP::SetHelpContextBase(unsigned long)
+?SetHelpContextBase@POPUP@@SGKK@Z
+; public: void __thiscall GET_FNAME_BASE_DLG::SetHookProc(unsigned long)
+?SetHookProc@GET_FNAME_BASE_DLG@@QAEXK@Z
+; public: void __thiscall LISTBOX::SetHorizontalExtent(unsigned int)
+?SetHorizontalExtent@LISTBOX@@QAEXI@Z
+; public: void __thiscall BLT_TIME_SPIN_GROUP::SetHour(int)
+?SetHour@BLT_TIME_SPIN_GROUP@@QAEXH@Z
+; public: long __thiscall LOGON_HOURS_CONTROL::SetHours(class LOGON_HOURS_SETTING const *)
+?SetHours@LOGON_HOURS_CONTROL@@QAEJPBVLOGON_HOURS_SETTING@@@Z
+; protected: void __thiscall WINDOW::SetHwnd(struct HWND__ *)
+?SetHwnd@WINDOW@@IAEXPAUHWND__@@@Z
+; public: int __thiscall APP_WINDOW::SetIcon(class IDRESOURCE const &)
+?SetIcon@APP_WINDOW@@QAEHABVIDRESOURCE@@@Z
+; public: long __thiscall ICON_CONTROL::SetIcon(class IDRESOURCE const &)
+?SetIcon@ICON_CONTROL@@QAEJABVIDRESOURCE@@@Z
+; protected: void __thiscall CANCEL_TASK_DIALOG::SetInTimer(int)
+?SetInTimer@CANCEL_TASK_DIALOG@@IAEXH@Z
+; public: void __thiscall USER_BROWSER_LBI_CACHE::SetIncludeUsers(int)
+?SetIncludeUsers@USER_BROWSER_LBI_CACHE@@QAEXH@Z
+; private: void __thiscall HIER_LBI::SetIndentLevel(void)
+?SetIndentLevel@HIER_LBI@@AAEXXZ
+; public: long __thiscall GET_FNAME_BASE_DLG::SetInitialDir(class NLS_STR const &)
+?SetInitialDir@GET_FNAME_BASE_DLG@@QAEJABVNLS_STR@@@Z
+; private: void __thiscall BLT_LISTBOX::SetItem(int,class LBI *)
+?SetItem@BLT_LISTBOX@@AAEXHPAVLBI@@@Z
+; protected: int __thiscall LIST_CONTROL::SetItemData(int,void *)
+?SetItemData@LIST_CONTROL@@IAEHHPAX@Z
+; public: int __thiscall DEVICE_CONTEXT::SetMapMode(int)
+?SetMapMode@DEVICE_CONTEXT@@QAEHH@Z
+; private: void __thiscall DISPLAY_MAP::SetMaskBits(unsigned char *,int,int,unsigned int)
+?SetMaskBits@DISPLAY_MAP@@AAEXPAEHHI@Z
+; private: void __thiscall SPIN_SLE_NUM::SetMaxInput(void)
+?SetMaxInput@SPIN_SLE_NUM@@AAEXXZ
+; public: int __thiscall COMBOBOX::SetMaxLength(unsigned int)
+?SetMaxLength@COMBOBOX@@QAEHI@Z
+; public: void __thiscall EDIT_CONTROL::SetMaxLength(unsigned int)
+?SetMaxLength@EDIT_CONTROL@@QAEXI@Z
+; public: int __thiscall APP_WINDOW::SetMenu(class IDRESOURCE const &)
+?SetMenu@APP_WINDOW@@QAEHABVIDRESOURCE@@@Z
+; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetMin(unsigned long)
+?SetMin@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
+; public: void __thiscall SPIN_SLE_NUM::SetMin(unsigned long)
+?SetMin@SPIN_SLE_NUM@@QAEXK@Z
+; public: void __thiscall BLT_TIME_SPIN_GROUP::SetMinute(int)
+?SetMinute@BLT_TIME_SPIN_GROUP@@QAEXH@Z
+; public: void __thiscall ELAPSED_TIME_CONTROL::SetMinuteFieldName(long)
+?SetMinuteFieldName@ELAPSED_TIME_CONTROL@@QAEXJ@Z
+; public: void __thiscall ELAPSED_TIME_CONTROL::SetMinuteMin(long)
+?SetMinuteMin@ELAPSED_TIME_CONTROL@@QAEXJ@Z
+; public: void __thiscall ELAPSED_TIME_CONTROL::SetMinuteRange(long)
+?SetMinuteRange@ELAPSED_TIME_CONTROL@@QAEXJ@Z
+; public: void __thiscall ELAPSED_TIME_CONTROL::SetMinuteValue(long)
+?SetMinuteValue@ELAPSED_TIME_CONTROL@@QAEXJ@Z
+; public: void __thiscall SPIN_GROUP::SetModified(int)
+?SetModified@SPIN_GROUP@@QAEXH@Z
+; public: void __thiscall BLT_DATE_SPIN_GROUP::SetMonth(int)
+?SetMonth@BLT_DATE_SPIN_GROUP@@QAEXH@Z
+; public: static void __stdcall POPUP::SetMsgMapTable(struct _MSGMAPENTRY *)
+?SetMsgMapTable@POPUP@@SGXPAU_MSGMAPENTRY@@@Z
+; protected: virtual long __thiscall BASE_SET_FOCUS_DLG::SetNetworkFocus(struct HWND__ *,unsigned short const *,enum FOCUS_CACHE_SETTING)
+?SetNetworkFocus@BASE_SET_FOCUS_DLG@@MAEJPAUHWND__@@PBGW4FOCUS_CACHE_SETTING@@@Z
+; protected: virtual long __thiscall STANDALONE_SET_FOCUS_DLG::SetNetworkFocus(struct HWND__ *,unsigned short const *,enum FOCUS_CACHE_SETTING)
+?SetNetworkFocus@STANDALONE_SET_FOCUS_DLG@@MAEJPAUHWND__@@PBGW4FOCUS_CACHE_SETTING@@@Z
+; private: void __thiscall TIMER_BASE::SetNewTimeDue(void)
+?SetNewTimeDue@TIMER_BASE@@AAEXXZ
+; public: long __thiscall BASE_ELLIPSIS::SetOriginalStr(unsigned short const *)
+?SetOriginalStr@BASE_ELLIPSIS@@QAEJPBG@Z
+; protected: void __thiscall DM_DTE::SetPdm(class DISPLAY_MAP *)
+?SetPdm@DM_DTE@@IAEXPAVDISPLAY_MAP@@@Z
+; public: virtual void __thiscall HIER_LBI::SetPelIndent(unsigned int)
+?SetPelIndent@HIER_LBI@@UAEXI@Z
+; public: long __thiscall APP_WINDOW::SetPlacement(struct tagWINDOWPLACEMENT const *)const 
+?SetPlacement@APP_WINDOW@@QBEJPBUtagWINDOWPLACEMENT@@@Z
+; public: static void __stdcall CURSOR::SetPos(class XYPOINT const &)
+?SetPos@CURSOR@@SGXABVXYPOINT@@@Z
+; public: void __thiscall SCROLLBAR::SetPos(unsigned int)
+?SetPos@SCROLLBAR@@QAEXI@Z
+; public: void __thiscall WINDOW::SetPos(class XYPOINT,int,class WINDOW *)
+?SetPos@WINDOW@@QAEXVXYPOINT@@HPAV1@@Z
+; public: long __thiscall ICON_CONTROL::SetPredefinedIcon(class IDRESOURCE const &)
+?SetPredefinedIcon@ICON_CONTROL@@QAEJABVIDRESOURCE@@@Z
+; public: long __thiscall WIN32_THREAD::SetPriority(int)
+?SetPriority@WIN32_THREAD@@QAEJH@Z
+; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetRange(unsigned long)
+?SetRange@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
+; public: void __thiscall SCROLLBAR::SetRange(unsigned int,unsigned int)
+?SetRange@SCROLLBAR@@QAEXII@Z
+; public: void __thiscall SPIN_SLE_NUM::SetRange(unsigned long)
+?SetRange@SPIN_SLE_NUM@@QAEXK@Z
+; public: void __thiscall SPIN_SLE_STR::SetRange(long)
+?SetRange@SPIN_SLE_STR@@QAEXJ@Z
+; public: void __thiscall WINDOW::SetRedraw(int)
+?SetRedraw@WINDOW@@QAEXH@Z
+; public: long __thiscall EDIT_CONTROL::SetSaveValue(unsigned short const *)
+?SetSaveValue@EDIT_CONTROL@@QAEJPBG@Z
+; public: long __thiscall SPIN_SLE_NUM::SetSaveValue(unsigned long)
+?SetSaveValue@SPIN_SLE_NUM@@QAEJK@Z
+; public: void __thiscall LISTBOX::SetScrollPos(unsigned int)
+?SetScrollPos@LISTBOX@@QAEXI@Z
+; public: void __thiscall BLT_TIME_SPIN_GROUP::SetSecond(int)
+?SetSecond@BLT_TIME_SPIN_GROUP@@QAEXH@Z
+; public: void __thiscall ELAPSED_TIME_CONTROL::SetSecondFieldName(long)
+?SetSecondFieldName@ELAPSED_TIME_CONTROL@@QAEXJ@Z
+; public: void __thiscall ELAPSED_TIME_CONTROL::SetSecondMin(long)
+?SetSecondMin@ELAPSED_TIME_CONTROL@@QAEXJ@Z
+; public: void __thiscall ELAPSED_TIME_CONTROL::SetSecondRange(long)
+?SetSecondRange@ELAPSED_TIME_CONTROL@@QAEXJ@Z
+; public: void __thiscall ELAPSED_TIME_CONTROL::SetSecondValue(long)
+?SetSecondValue@ELAPSED_TIME_CONTROL@@QAEXJ@Z
+; public: void __thiscall GRAPHICAL_BUTTON_WITH_DISABLE::SetSelected(int)
+?SetSelected@GRAPHICAL_BUTTON_WITH_DISABLE@@QAEXH@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::SetSelectedCells(int)
+?SetSelectedCells@LOGON_HOURS_CONTROL@@AAEXH@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::SetSelection(int)
+?SetSelection@LOGON_HOURS_CONTROL@@AAEXH@Z
+; private: void __thiscall LOGON_HOURS_CONTROL::SetSelection(int,int)
+?SetSelection@LOGON_HOURS_CONTROL@@AAEXHH@Z
+; public: void __thiscall MAGIC_GROUP::SetSelection(unsigned int)
+?SetSelection@MAGIC_GROUP@@QAEXI@Z
+; public: void __thiscall RADIO_GROUP::SetSelection(unsigned int)
+?SetSelection@RADIO_GROUP@@QAEXI@Z
+; protected: void __thiscall RADIO_GROUP::SetSelectionDontNotifyGroups(unsigned int)
+?SetSelectionDontNotifyGroups@RADIO_GROUP@@IAEXI@Z
+; public: void __thiscall CONSOLE_ELLIPSIS::SetSize(int)
+?SetSize@CONSOLE_ELLIPSIS@@QAEXH@Z
+; public: void __thiscall SLT_ELLIPSIS::SetSize(int,int,int)
+?SetSize@SLT_ELLIPSIS@@QAEXHHH@Z
+; public: void __thiscall WINDOW::SetSize(int,int,int)
+?SetSize@WINDOW@@QAEXHHH@Z
+; public: void __thiscall WINDOW::SetSize(class XYDIMENSION,int)
+?SetSize@WINDOW@@QAEXVXYDIMENSION@@H@Z
+; public: void __thiscall WIN_ELLIPSIS::SetSize(int,int)
+?SetSize@WIN_ELLIPSIS@@QAEXHH@Z
+; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetSmallDecValue(unsigned long)
+?SetSmallDecValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
+; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetSmallIncValue(unsigned long)
+?SetSmallIncValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
+; protected: void __thiscall NT_GROUP_BROWSER_DIALOG::SetSourceDialog(class NT_GROUP_BROWSER_DIALOG *)
+?SetSourceDialog@NT_GROUP_BROWSER_DIALOG@@IAEXPAV1@@Z
+; private: long __thiscall ELAPSED_TIME_CONTROL::SetSpinItemAccKey(class SPIN_ITEM *,class SLT &,int)
+?SetSpinItemAccKey@ELAPSED_TIME_CONTROL@@AAEJPAVSPIN_ITEM@@AAVSLT@@H@Z
+; protected: void __thiscall SLE_STRLB_GROUP::SetState(void)const 
+?SetState@SLE_STRLB_GROUP@@IBEXXZ
+; protected: void __thiscall STATE_BUTTON_CONTROL::SetState(unsigned int)
+?SetState@STATE_BUTTON_CONTROL@@IAEXI@Z
+; public: int __thiscall STLBITEM::SetState(int)
+?SetState@STLBITEM@@QAEHH@Z
+; private: void __thiscall WIN32_THREAD::SetState(enum _THREAD_STATE)
+?SetState@WIN32_THREAD@@AAEXW4_THREAD_STATE@@@Z
+; public: void __thiscall GRAPHICAL_BUTTON::SetStatus(unsigned int)
+?SetStatus@GRAPHICAL_BUTTON@@QAEXI@Z
+; public: void __thiscall GRAPHICAL_BUTTON::SetStatus(struct HBITMAP__ *)
+?SetStatus@GRAPHICAL_BUTTON@@QAEXPAUHBITMAP__@@@Z
+; private: void __thiscall SPIN_SLE_STR::SetStr(long)
+?SetStr@SPIN_SLE_STR@@AAEXJ@Z
+; private: long __thiscall GET_FNAME_BASE_DLG::SetStringField(unsigned short * *,class NLS_STR const &)
+?SetStringField@GET_FNAME_BASE_DLG@@AAEJPAPAGABVNLS_STR@@@Z
+; public: void __thiscall BASE_ELLIPSIS::SetStyle(enum ELLIPSIS_STYLE)
+?SetStyle@BASE_ELLIPSIS@@QAEXW4ELLIPSIS_STYLE@@@Z
+; public: void __thiscall WINDOW::SetStyle(unsigned long)
+?SetStyle@WINDOW@@QAEXK@Z
+; protected: virtual void __thiscall CONTROL_VALUE::SetTabStop(int)
+?SetTabStop@CONTROL_VALUE@@MAEXH@Z
+; protected: virtual void __thiscall CONTROL_WINDOW::SetTabStop(int)
+?SetTabStop@CONTROL_WINDOW@@MAEXH@Z
+; public: long __thiscall ACCOUNT_NAMES_MLE::SetTargetDomain(unsigned short const *)
+?SetTargetDomain@ACCOUNT_NAMES_MLE@@QAEJPBG@Z
+; public: long __thiscall GET_FNAME_BASE_DLG::SetText(class NLS_STR const &)
+?SetText@GET_FNAME_BASE_DLG@@QAEJABVNLS_STR@@@Z
+; public: int __thiscall MENUITEM::SetText(unsigned short const *)
+?SetText@MENUITEM@@QAEHPBG@Z
+; public: long __thiscall SLT_ELLIPSIS::SetText(class NLS_STR const &)
+?SetText@SLT_ELLIPSIS@@QAEJABVNLS_STR@@@Z
+; public: long __thiscall SLT_ELLIPSIS::SetText(unsigned short const *)
+?SetText@SLT_ELLIPSIS@@QAEJPBG@Z
+; public: void __thiscall WINDOW::SetText(class NLS_STR const &)
+?SetText@WINDOW@@QAEXABVNLS_STR@@@Z
+; public: void __thiscall WINDOW::SetText(unsigned short const *)
+?SetText@WINDOW@@QAEXPBG@Z
+; public: unsigned int __thiscall DEVICE_CONTEXT::SetTextAlign(unsigned int)
+?SetTextAlign@DEVICE_CONTEXT@@QAEII@Z
+; public: unsigned long __thiscall DEVICE_CONTEXT::SetTextColor(unsigned long)
+?SetTextColor@DEVICE_CONTEXT@@QAEKK@Z
+; public: void __thiscall LIST_CONTROL::SetTopIndex(int)
+?SetTopIndex@LIST_CONTROL@@QAEXH@Z
+; public: long __thiscall BROWSER_SUBJECT::SetUserBrowserLBI(class USER_BROWSER_LBI *)
+?SetUserBrowserLBI@BROWSER_SUBJECT@@QAEJPAVUSER_BROWSER_LBI@@@Z
+; public: void __thiscall CHANGEABLE_SPIN_ITEM::SetValue(unsigned long)
+?SetValue@CHANGEABLE_SPIN_ITEM@@QAEXK@Z
+; public: void __thiscall DEC_SLT::SetValue(long)
+?SetValue@DEC_SLT@@QAEXJ@Z
+; public: void __thiscall DEC_SLT::SetValue(unsigned long)
+?SetValue@DEC_SLT@@QAEXK@Z
+; public: void __thiscall XYDIMENSION::SetWidth(unsigned int)
+?SetWidth@XYDIMENSION@@QAEXI@Z
+; public: void __thiscall XYPOINT::SetX(int)
+?SetX@XYPOINT@@QAEXH@Z
+; public: void __thiscall XYPOINT::SetY(int)
+?SetY@XYPOINT@@QAEXH@Z
+; public: void __thiscall BLT_DATE_SPIN_GROUP::SetYear(int)
+?SetYear@BLT_DATE_SPIN_GROUP@@QAEXH@Z
+; public: static void __stdcall CURSOR::Show(int)
+?Show@CURSOR@@SGXH@Z
+; public: int __thiscall POPUP::Show(void)
+?Show@POPUP@@QAEHXZ
+; public: int __thiscall WINDOW::Show(int)
+?Show@WINDOW@@QAEHH@Z
+; protected: void __thiscall BASE_SET_FOCUS_DLG::ShowArea(int)
+?ShowArea@BASE_SET_FOCUS_DLG@@IAEXH@Z
+; protected: void __thiscall EXPANDABLE_DIALOG::ShowArea(int)
+?ShowArea@EXPANDABLE_DIALOG@@IAEXH@Z
+; private: void __thiscall H_SPLITTER_BAR::ShowDragBar(class XYPOINT const &)
+?ShowDragBar@H_SPLITTER_BAR@@AAEXABVXYPOINT@@@Z
+; public: void __thiscall WINDOW::ShowFirst(void)
+?ShowFirst@WINDOW@@QAEXXZ
+; private: void __thiscall H_SPLITTER_BAR::ShowSpecialCursor(int)
+?ShowSpecialCursor@H_SPLITTER_BAR@@AAEXH@Z
+; public: void __thiscall WIN32_THREAD::Sleep(unsigned int)
+?Sleep@WIN32_THREAD@@QAEXI@Z
+; public: void __thiscall USER_LBI_CACHE::Sort(void)
+?Sort@USER_LBI_CACHE@@QAEXXZ
+; private: static unsigned long __stdcall WIN32_THREAD::StartThread(void *)
+?StartThread@WIN32_THREAD@@CGKPAX@Z
+; private: long __thiscall LB_COL_WIDTHS::StretchForFonts(struct HWND__ *,unsigned short const *)
+?StretchForFonts@LB_COL_WIDTHS@@AAEJPAUHWND__@@PBG@Z
+; public: long __thiscall MASK_MAP::StringToBits(class NLS_STR const &,class BITFIELD *,int,unsigned int *)
+?StringToBits@MASK_MAP@@QAEJABVNLS_STR@@PAVBITFIELD@@HPAI@Z
+; protected: long __thiscall ACCOUNT_NAMES_MLE::StripDomainIfWellKnown(class NLS_STR *)
+?StripDomainIfWellKnown@ACCOUNT_NAMES_MLE@@IAEJPAVNLS_STR@@@Z
+; protected: long __thiscall CUSTOM_CONTROL::SubClassWndProc(class EVENT const &)
+?SubClassWndProc@CUSTOM_CONTROL@@IAEJABVEVENT@@@Z
+; public: long __thiscall WIN32_THREAD::Suspend(void)
+?Suspend@WIN32_THREAD@@QAEJXZ
+; public: static void __stdcall BASE_ELLIPSIS::Term(void)
+?Term@BASE_ELLIPSIS@@SGXXZ
+; public: static void __stdcall BLT::Term(struct HINSTANCE__ *)
+?Term@BLT@@SGXPAUHINSTANCE__@@@Z
+; public: static void __stdcall BLTIMP::Term(void)
+?Term@BLTIMP@@SGXXZ
+; public: static void __stdcall BLT_MASTER_TIMER::Term(void)
+?Term@BLT_MASTER_TIMER@@SGXXZ
+; public: static void __stdcall CLIENT_WINDOW::Term(void)
+?Term@CLIENT_WINDOW@@SGXXZ
+; public: static void __stdcall POPUP::Term(void)
+?Term@POPUP@@SGXXZ
+; public: static void __stdcall BLT::TermDLL(void)
+?TermDLL@BLT@@SGXXZ
+; public: long __thiscall WIN32_THREAD::Terminate(unsigned int)
+?Terminate@WIN32_THREAD@@QAEJI@Z
+; public: int __thiscall DEVICE_CONTEXT::TextOutW(class NLS_STR const &,class XYPOINT)const 
+?TextOutW@DEVICE_CONTEXT@@QBEHABVNLS_STR@@VXYPOINT@@@Z
+; public: int __thiscall DEVICE_CONTEXT::TextOutW(class NLS_STR const &,class XYPOINT,struct tagRECT const *)const 
+?TextOutW@DEVICE_CONTEXT@@QBEHABVNLS_STR@@VXYPOINT@@PBUtagRECT@@@Z
+; public: int __thiscall DEVICE_CONTEXT::TextOutW(unsigned short const *,int,int,int)const 
+?TextOutW@DEVICE_CONTEXT@@QBEHPBGHHH@Z
+; public: int __thiscall DEVICE_CONTEXT::TextOutW(unsigned short const *,int,int,int,struct tagRECT const *)const 
+?TextOutW@DEVICE_CONTEXT@@QBEHPBGHHHPBUtagRECT@@@Z
+; public: int __thiscall CHECKBOX::Toggle(void)
+?Toggle@CHECKBOX@@QAEHXZ
+; public: long __thiscall LM_OLLB::ToggleDomain(int)
+?ToggleDomain@LM_OLLB@@QAEJH@Z
+; public: long __thiscall POPUP_MENU::Track(class PWND2HWND const &,unsigned int,int,int,struct tagRECT const *)const 
+?Track@POPUP_MENU@@QBEJABVPWND2HWND@@IHHPBUtagRECT@@@Z
+; public: int __thiscall ACCELTABLE::Translate(class WINDOW const *,struct tagMSG *)const 
+?Translate@ACCELTABLE@@QBEHPBVWINDOW@@PAUtagMSG@@@Z
+; public: void __thiscall TIMER_BASE::TriggerNow(void)
+?TriggerNow@TIMER_BASE@@QAEXXZ
+; long __stdcall TrimLeading(class NLS_STR *,unsigned short const *)
+?TrimLeading@@YGJPAVNLS_STR@@PBG@Z
+; long __stdcall TrimTrailing(class NLS_STR *,unsigned short const *)
+?TrimTrailing@@YGJPAVNLS_STR@@PBG@Z
+; public: void __thiscall AUTO_CURSOR::TurnOff(void)
+?TurnOff@AUTO_CURSOR@@QAEXXZ
+; public: void __thiscall AUTO_CURSOR::TurnOn(void)
+?TurnOn@AUTO_CURSOR@@QAEXXZ
+; public: long __thiscall BROWSER_DOMAIN::UnRequestAccountData(void)
+?UnRequestAccountData@BROWSER_DOMAIN@@QAEJXZ
+; public: long __thiscall DOMAIN_FILL_THREAD::UnRequestAccountData(void)
+?UnRequestAccountData@DOMAIN_FILL_THREAD@@QAEJXZ
+; public: virtual void __thiscall UI_EXT_MGR::UnloadExtensions(void)
+?UnloadExtensions@UI_EXT_MGR@@UAEXXZ
+; private: void __thiscall LOGON_HOURS_CONTROL::UnloadLabels(void)
+?UnloadLabels@LOGON_HOURS_CONTROL@@AAEXXZ
+; protected: virtual void __thiscall USER_LBI_CACHE::UnlockCache(void)
+?UnlockCache@USER_LBI_CACHE@@MAEXXZ
+; private: static void __stdcall BLTIMP::Unwind(enum BLT_CTOR_STATE)
+?Unwind@BLTIMP@@CGXW4BLT_CTOR_STATE@@@Z
+; public: virtual void __thiscall CHANGEABLE_SPIN_ITEM::Update(void)
+?Update@CHANGEABLE_SPIN_ITEM@@UAEXXZ
+; public: virtual void __thiscall SPIN_SLE_NUM::Update(void)
+?Update@SPIN_SLE_NUM@@UAEXXZ
+; public: virtual void __thiscall SPIN_SLE_STR::Update(void)
+?Update@SPIN_SLE_STR@@UAEXXZ
+; protected: void __thiscall NT_FIND_ACCOUNT_DIALOG::UpdateButtonState(void)
+?UpdateButtonState@NT_FIND_ACCOUNT_DIALOG@@IAEXXZ
+; protected: virtual void __thiscall NT_GROUP_BROWSER_DIALOG::UpdateButtonState(void)
+?UpdateButtonState@NT_GROUP_BROWSER_DIALOG@@MAEXXZ
+; protected: virtual void __thiscall NT_LOCALGROUP_BROWSER_DIALOG::UpdateButtonState(void)
+?UpdateButtonState@NT_LOCALGROUP_BROWSER_DIALOG@@MAEXXZ
+; protected: void __thiscall NT_USER_BROWSER_DIALOG::UpdateButtonState(void)
+?UpdateButtonState@NT_USER_BROWSER_DIALOG@@IAEXXZ
+; private: void __thiscall BASE_SET_FOCUS_DLG::UpdateRasMode(void)
+?UpdateRasMode@BASE_SET_FOCUS_DLG@@AAEXXZ
+; public: virtual long __thiscall CONTROL_WINDOW::Validate(void)
+?Validate@CONTROL_WINDOW@@UAEJXZ
+; private: long __thiscall DIALOG_WINDOW::Validate(void)
+?Validate@DIALOG_WINDOW@@AAEJXZ
+; public: virtual long __thiscall ICANON_SLE::Validate(void)
+?Validate@ICANON_SLE@@UAEJXZ
+; public: virtual long __thiscall SPIN_SLE_NUM::Validate(void)
+?Validate@SPIN_SLE_NUM@@UAEJXZ
+; protected: virtual long __thiscall SLE_STRLB_GROUP::W_Add(unsigned short const *)
+?W_Add@SLE_STRLB_GROUP@@MAEJPBG@Z
+; private: virtual unsigned short __thiscall GLOBAL_ATOM::W_AddAtom(unsigned short const *)const 
+?W_AddAtom@GLOBAL_ATOM@@EBEGPBG@Z
+; private: virtual unsigned short __thiscall LOCAL_ATOM::W_AddAtom(unsigned short const *)const 
+?W_AddAtom@LOCAL_ATOM@@EBEGPBG@Z
+; protected: long __thiscall MENU_BASE::W_Append(void const *,unsigned int,unsigned int)const 
+?W_Append@MENU_BASE@@IBEJPBXII@Z
+; private: long __thiscall UI_MENU_EXT::W_BiasMenuIds(struct HMENU__ *,unsigned long)
+?W_BiasMenuIds@UI_MENU_EXT@@AAEJPAUHMENU__@@K@Z
+; private: class LBI * __thiscall USER_LBI_CACHE::W_GetLBI(int)
+?W_GetLBI@USER_LBI_CACHE@@AAEPAVLBI@@H@Z
+; private: int __thiscall USER_LBI_CACHE::W_GrowCache(int)
+?W_GrowCache@USER_LBI_CACHE@@AAEHH@Z
+; protected: long __thiscall MENU_BASE::W_Insert(void const *,unsigned int,unsigned int,unsigned int)const 
+?W_Insert@MENU_BASE@@IBEJPBXIII@Z
+; protected: virtual class UI_EXT * __thiscall UI_EXT_MGR::W_LoadExtension(unsigned short const *,unsigned long)
+?W_LoadExtension@UI_EXT_MGR@@MAEPAVUI_EXT@@PBGK@Z
+; protected: long __thiscall MENU_BASE::W_Modify(void const *,unsigned int,unsigned int,unsigned int)const 
+?W_Modify@MENU_BASE@@IBEJPBXIII@Z
+; public: void __thiscall BROWSER_DOMAIN_LBI::W_Paint(class BROWSER_DOMAIN_CB *,class LISTBOX *,struct HDC__ *,struct tagRECT const *,struct GUILTT_INFO *)const 
+?W_Paint@BROWSER_DOMAIN_LBI@@QBEXPAVBROWSER_DOMAIN_CB@@PAVLISTBOX@@PAUHDC__@@PBUtagRECT@@PAUGUILTT_INFO@@@Z
+; protected: int __thiscall MENU_BASE::W_QueryItemText(unsigned short *,unsigned int,unsigned int,unsigned int)const 
+?W_QueryItemText@MENU_BASE@@IBEHPAGIII@Z
+; private: virtual long __thiscall GLOBAL_ATOM::W_QueryString(unsigned short *,unsigned int)const 
+?W_QueryString@GLOBAL_ATOM@@EBEJPAGI@Z
+; private: virtual long __thiscall LOCAL_ATOM::W_QueryString(unsigned short *,unsigned int)const 
+?W_QueryString@LOCAL_ATOM@@EBEJPAGI@Z
+; private: long __thiscall ICON_CONTROL::W_SetIcon(class IDRESOURCE const &,int)
+?W_SetIcon@ICON_CONTROL@@AAEJABVIDRESOURCE@@H@Z
+; public: long __thiscall WIN32_SYNC_BASE::Wait(unsigned int)
+?Wait@WIN32_SYNC_BASE@@QAEJI@Z
+; public: long __thiscall BROWSER_DOMAIN::WaitForAdminAuthority(unsigned long,int *)const 
+?WaitForAdminAuthority@BROWSER_DOMAIN@@QBEJKPAH@Z
+; public: long __thiscall DOMAIN_FILL_THREAD::WaitForAdminAuthority(unsigned long,int *)const 
+?WaitForAdminAuthority@DOMAIN_FILL_THREAD@@QBEJKPAH@Z
+; private: int __thiscall OPEN_DIALOG_BASE::WarnCloseMulti(void)
+?WarnCloseMulti@OPEN_DIALOG_BASE@@AAEHXZ
+; private: int __thiscall OPEN_DIALOG_BASE::WarnCloseSingle(class OPEN_LBI_BASE *)
+?WarnCloseSingle@OPEN_DIALOG_BASE@@AAEHPAVOPEN_LBI_BASE@@@Z
+; private: int __thiscall ARRAY_CONTROLVAL_CID_PAIR::WithinRange(unsigned int)const 
+?WithinRange@ARRAY_CONTROLVAL_CID_PAIR@@ABEHI@Z
+; public: static long __stdcall CLIENT_WINDOW::WndProc(struct HWND__ *,unsigned int,unsigned int,long)
+?WndProc@CLIENT_WINDOW@@SGJPAUHWND__@@IIJ@Z
+; public: static long __stdcall CUSTOM_CONTROL::WndProc(struct HWND__ *,unsigned int,unsigned int,long)
+?WndProc@CUSTOM_CONTROL@@SGJPAUHWND__@@IIJ@Z
+; int __stdcall max(int,int)
+?max@@YGHHH@Z
+; int __stdcall min(int,int)
+?min@@YGHHH@Z
+; public: unsigned long (__stdcall*__thiscall GET_FNAME_BASE_DLG::pfExtendedError(void)const )(void)
+?pfExtendedError@GET_FNAME_BASE_DLG@@QBEP6GKXZXZ
+; public: int (__stdcall*__thiscall GET_FNAME_BASE_DLG::pfGetOpenFileName(void)const )(struct tagOFNW *)
+?pfGetOpenFileName@GET_FNAME_BASE_DLG@@QBEP6GHPAUtagOFNW@@@ZXZ
+; public: int (__stdcall*__thiscall GET_FNAME_BASE_DLG::pfGetSaveFileName(void)const )(struct tagOFNW *)
+?pfGetSaveFileName@GET_FNAME_BASE_DLG@@QBEP6GHPAUtagOFNW@@@ZXZ
+BltCCWndProc
+BltDlgProc
+BltWndProc
+CloseUserBrowser
+EnumUserBrowserSelection
+OpenUserBrowser
+ShellDlgProc
diff --git a/mingw-w64-crt/lib64/wnewdev.def b/mingw-w64-crt/lib64/wnewdev.def
index c0456a5..157d61e 100644
--- a/mingw-w64-crt/lib64/wnewdev.def
+++ b/mingw-w64-crt/lib64/wnewdev.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file newdev.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY newdev.dll
-EXPORTS
-ClientSideInstallW
-DevInstallW
-InstallDevInst
-InstallDevInstEx
-InstallNewDevice
-InstallSelectedDevice
-InstallSelectedDriver
-InstallWindowsUpdateDriver
-RollbackDriver
-UpdateDriverForPlugAndPlayDevicesA
-UpdateDriverForPlugAndPlayDevicesW
-WindowsUpdateDriverSearchingPolicyUi
+; 
+; Exports of file newdev.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY newdev.dll
+EXPORTS
+ClientSideInstallW
+DevInstallW
+InstallDevInst
+InstallDevInstEx
+InstallNewDevice
+InstallSelectedDevice
+InstallSelectedDriver
+InstallWindowsUpdateDriver
+RollbackDriver
+UpdateDriverForPlugAndPlayDevicesA
+UpdateDriverForPlugAndPlayDevicesW
+WindowsUpdateDriverSearchingPolicyUi
diff --git a/mingw-w64-crt/lib64/wnlhtml.def b/mingw-w64-crt/lib64/wnlhtml.def
index 36fe730..3d920f8 100644
--- a/mingw-w64-crt/lib64/wnlhtml.def
+++ b/mingw-w64-crt/lib64/wnlhtml.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NLHTML.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NLHTML.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NLHTML.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NLHTML.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wnntpadm.def b/mingw-w64-crt/lib64/wnntpadm.def
index 1cf0ce4..4652702 100644
--- a/mingw-w64-crt/lib64/wnntpadm.def
+++ b/mingw-w64-crt/lib64/wnntpadm.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NNTPADM.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NNTPADM.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NNTPADM.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NNTPADM.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wnntpapi.def b/mingw-w64-crt/lib64/wnntpapi.def
index c253e30..24c7c2b 100644
--- a/mingw-w64-crt/lib64/wnntpapi.def
+++ b/mingw-w64-crt/lib64/wnntpapi.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file NNTPAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NNTPAPI.dll
-EXPORTS
-NntpAddExpire
-NntpAddFeed
-NntpCancelMessageID
-NntpClearStatistics
-NntpCreateNewsgroup
-NntpDeleteExpire
-NntpDeleteFeed
-NntpDeleteNewsgroup
-NntpEnableFeed
-NntpEnumerateExpires
-NntpEnumerateFeeds
-NntpEnumerateSessions
-NntpFindNewsgroup
-NntpGetAdminInformation
-NntpGetBuildStatus
-NntpGetExpireInformation
-NntpGetFeedInformation
-NntpGetNewsgroup
-NntpGetVRootWin32Error
-NntpQueryStatistics
-NntpSetAdminInformation
-NntpSetExpireInformation
-NntpSetFeedInformation
-NntpSetNewsgroup
-NntpStartRebuild
-NntpTerminateSession
+; 
+; Exports of file NNTPAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NNTPAPI.dll
+EXPORTS
+NntpAddExpire
+NntpAddFeed
+NntpCancelMessageID
+NntpClearStatistics
+NntpCreateNewsgroup
+NntpDeleteExpire
+NntpDeleteFeed
+NntpDeleteNewsgroup
+NntpEnableFeed
+NntpEnumerateExpires
+NntpEnumerateFeeds
+NntpEnumerateSessions
+NntpFindNewsgroup
+NntpGetAdminInformation
+NntpGetBuildStatus
+NntpGetExpireInformation
+NntpGetFeedInformation
+NntpGetNewsgroup
+NntpGetVRootWin32Error
+NntpQueryStatistics
+NntpSetAdminInformation
+NntpSetExpireInformation
+NntpSetFeedInformation
+NntpSetNewsgroup
+NntpStartRebuild
+NntpTerminateSession
diff --git a/mingw-w64-crt/lib64/wnntpsnap.def b/mingw-w64-crt/lib64/wnntpsnap.def
index 3dae967..42590b9 100644
--- a/mingw-w64-crt/lib64/wnntpsnap.def
+++ b/mingw-w64-crt/lib64/wnntpsnap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file NNTPSNAP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NNTPSNAP.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file NNTPSNAP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NNTPSNAP.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wnpdsplay.def b/mingw-w64-crt/lib64/wnpdsplay.def
index 7702b66..bb90a0b 100644
--- a/mingw-w64-crt/lib64/wnpdsplay.def
+++ b/mingw-w64-crt/lib64/wnpdsplay.def
@@ -1,371 +1,371 @@
-; 
-; Exports of file NPDSPlay.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NPDSPlay.dll
-EXPORTS
-NP_GetEntryPoints
-NP_Initialize
-NP_Shutdown
-Java_NPDS_npDSJavaPeer_AboutBox_stub
-Java_NPDS_npDSJavaPeer_Cancel_stub
-Java_NPDS_npDSJavaPeer_FastForward_stub
-Java_NPDS_npDSJavaPeer_FastReverse_stub
-Java_NPDS_npDSJavaPeer_GetActiveMovie_stub
-Java_NPDS_npDSJavaPeer_GetAllowChangeDisplaySize_stub
-Java_NPDS_npDSJavaPeer_GetAllowScan_stub
-Java_NPDS_npDSJavaPeer_GetAnimationAtStart_stub
-Java_NPDS_npDSJavaPeer_GetAudioStream_stub
-Java_NPDS_npDSJavaPeer_GetAutoRewind_stub
-Java_NPDS_npDSJavaPeer_GetAutoSize_stub
-Java_NPDS_npDSJavaPeer_GetAutoStart_stub
-Java_NPDS_npDSJavaPeer_GetBalance_stub
-Java_NPDS_npDSJavaPeer_GetBandwidth_stub
-Java_NPDS_npDSJavaPeer_GetBaseURL_stub
-Java_NPDS_npDSJavaPeer_GetBufferingCount_stub
-Java_NPDS_npDSJavaPeer_GetBufferingProgress_stub
-Java_NPDS_npDSJavaPeer_GetBufferingTime_stub
-Java_NPDS_npDSJavaPeer_GetCanPreview_stub
-Java_NPDS_npDSJavaPeer_GetCanScan_stub
-Java_NPDS_npDSJavaPeer_GetCanSeekToMarkers_stub
-Java_NPDS_npDSJavaPeer_GetCanSeek_stub
-Java_NPDS_npDSJavaPeer_GetCaptioningID_stub
-Java_NPDS_npDSJavaPeer_GetChannelDescription_stub
-Java_NPDS_npDSJavaPeer_GetChannelName_stub
-Java_NPDS_npDSJavaPeer_GetChannelURL_stub
-Java_NPDS_npDSJavaPeer_GetClickToPlay_stub
-Java_NPDS_npDSJavaPeer_GetClientID_stub
-Java_NPDS_npDSJavaPeer_GetCodecCount_stub
-Java_NPDS_npDSJavaPeer_GetCodecDescription_stub
-Java_NPDS_npDSJavaPeer_GetCodecInstalled_stub
-Java_NPDS_npDSJavaPeer_GetCodecURL_stub
-Java_NPDS_npDSJavaPeer_GetConnectionSpeed_stub
-Java_NPDS_npDSJavaPeer_GetContactAddress_stub
-Java_NPDS_npDSJavaPeer_GetContactEmail_stub
-Java_NPDS_npDSJavaPeer_GetContactPhone_stub
-Java_NPDS_npDSJavaPeer_GetCreationDate_stub
-Java_NPDS_npDSJavaPeer_GetCurrentMarker_stub
-Java_NPDS_npDSJavaPeer_GetCurrentPosition_stub
-Java_NPDS_npDSJavaPeer_GetCursorType_stub
-Java_NPDS_npDSJavaPeer_GetDefaultFrame_stub
-Java_NPDS_npDSJavaPeer_GetDisplayBackColor_stub
-Java_NPDS_npDSJavaPeer_GetDisplayForeColor_stub
-Java_NPDS_npDSJavaPeer_GetDisplayMode_stub
-Java_NPDS_npDSJavaPeer_GetDisplaySize_stub
-Java_NPDS_npDSJavaPeer_GetDuration_stub
-Java_NPDS_npDSJavaPeer_GetEnableContextMenu_stub
-Java_NPDS_npDSJavaPeer_GetEnableFullScreenControls_stub
-Java_NPDS_npDSJavaPeer_GetEnablePositionControls_stub
-Java_NPDS_npDSJavaPeer_GetEnableTracker_stub
-Java_NPDS_npDSJavaPeer_GetEnabled_stub
-Java_NPDS_npDSJavaPeer_GetErrorCode_stub
-Java_NPDS_npDSJavaPeer_GetErrorCorrection_stub
-Java_NPDS_npDSJavaPeer_GetErrorDescription_stub
-Java_NPDS_npDSJavaPeer_GetFileName_stub
-Java_NPDS_npDSJavaPeer_GetHasError_stub
-Java_NPDS_npDSJavaPeer_GetHasMultipleItems_stub
-Java_NPDS_npDSJavaPeer_GetImageSourceHeight_stub
-Java_NPDS_npDSJavaPeer_GetImageSourceWidth_stub
-Java_NPDS_npDSJavaPeer_GetInvokeURLs_stub
-Java_NPDS_npDSJavaPeer_GetIsBroadcast_stub
-Java_NPDS_npDSJavaPeer_GetIsDurationValid_stub
-Java_NPDS_npDSJavaPeer_GetLanguage_stub
-Java_NPDS_npDSJavaPeer_GetLostPackets_stub
-Java_NPDS_npDSJavaPeer_GetMarkerCount_stub
-Java_NPDS_npDSJavaPeer_GetMarkerName_stub
-Java_NPDS_npDSJavaPeer_GetMarkerTime_stub
-Java_NPDS_npDSJavaPeer_GetMediaInfoString_stub
-Java_NPDS_npDSJavaPeer_GetMoreInfoURL_stub
-Java_NPDS_npDSJavaPeer_GetMute_stub
-Java_NPDS_npDSJavaPeer_GetNSPlay_stub
-Java_NPDS_npDSJavaPeer_GetOpenState_stub
-Java_NPDS_npDSJavaPeer_GetPlayCount_stub
-Java_NPDS_npDSJavaPeer_GetPlayState_stub
-Java_NPDS_npDSJavaPeer_GetPreviewMode_stub
-Java_NPDS_npDSJavaPeer_GetRate_stub
-Java_NPDS_npDSJavaPeer_GetReadyState_stub
-Java_NPDS_npDSJavaPeer_GetReceivedPackets_stub
-Java_NPDS_npDSJavaPeer_GetReceptionQuality_stub
-Java_NPDS_npDSJavaPeer_GetRecoveredPackets_stub
-Java_NPDS_npDSJavaPeer_GetSAMIFileName_stub
-Java_NPDS_npDSJavaPeer_GetSAMILang_stub
-Java_NPDS_npDSJavaPeer_GetSAMIStyle_stub
-Java_NPDS_npDSJavaPeer_GetSelectionEnd_stub
-Java_NPDS_npDSJavaPeer_GetSelectionStart_stub
-Java_NPDS_npDSJavaPeer_GetSendErrorEvents_stub
-Java_NPDS_npDSJavaPeer_GetSendKeyboardEvents_stub
-Java_NPDS_npDSJavaPeer_GetSendMouseClickEvents_stub
-Java_NPDS_npDSJavaPeer_GetSendMouseMoveEvents_stub
-Java_NPDS_npDSJavaPeer_GetSendOpenStateChangeEvents_stub
-Java_NPDS_npDSJavaPeer_GetSendPlayStateChangeEvents_stub
-Java_NPDS_npDSJavaPeer_GetSendWarningEvents_stub
-Java_NPDS_npDSJavaPeer_GetShowAudioControls_stub
-Java_NPDS_npDSJavaPeer_GetShowCaptioning_stub
-Java_NPDS_npDSJavaPeer_GetShowControls_stub
-Java_NPDS_npDSJavaPeer_GetShowDisplay_stub
-Java_NPDS_npDSJavaPeer_GetShowGotoBar_stub
-Java_NPDS_npDSJavaPeer_GetShowPositionControls_stub
-Java_NPDS_npDSJavaPeer_GetShowStatusBar_stub
-Java_NPDS_npDSJavaPeer_GetShowTracker_stub
-Java_NPDS_npDSJavaPeer_GetSourceLink_stub
-Java_NPDS_npDSJavaPeer_GetSourceProtocol_stub
-Java_NPDS_npDSJavaPeer_GetStreamCount_stub
-Java_NPDS_npDSJavaPeer_GetStreamGroup_stub
-Java_NPDS_npDSJavaPeer_GetStreamName_stub
-Java_NPDS_npDSJavaPeer_GetStreamSelected_stub
-Java_NPDS_npDSJavaPeer_GetTransparentAtStart_stub
-Java_NPDS_npDSJavaPeer_GetVideoBorder3D_stub
-Java_NPDS_npDSJavaPeer_GetVideoBorderColor_stub
-Java_NPDS_npDSJavaPeer_GetVideoBorderWidth_stub
-Java_NPDS_npDSJavaPeer_GetVolume_stub
-Java_NPDS_npDSJavaPeer_IsSoundCardEnabled_stub
-Java_NPDS_npDSJavaPeer_LaunchURL_stub
-Java_NPDS_npDSJavaPeer_Next_stub
-Java_NPDS_npDSJavaPeer_Open_stub
-Java_NPDS_npDSJavaPeer_Pause_stub
-Java_NPDS_npDSJavaPeer_Play_stub
-Java_NPDS_npDSJavaPeer_Previous_stub
-Java_NPDS_npDSJavaPeer_SetAllowChangeDisplaySize_stub
-Java_NPDS_npDSJavaPeer_SetAllowScan_stub
-Java_NPDS_npDSJavaPeer_SetAnimationAtStart_stub
-Java_NPDS_npDSJavaPeer_SetAudioStream_stub
-Java_NPDS_npDSJavaPeer_SetAutoRewind_stub
-Java_NPDS_npDSJavaPeer_SetAutoSize_stub
-Java_NPDS_npDSJavaPeer_SetAutoStart_stub
-Java_NPDS_npDSJavaPeer_SetBalance_stub
-Java_NPDS_npDSJavaPeer_SetBaseURL_stub
-Java_NPDS_npDSJavaPeer_SetBufferingTime_stub
-Java_NPDS_npDSJavaPeer_SetCaptioningID_stub
-Java_NPDS_npDSJavaPeer_SetClickToPlay_stub
-Java_NPDS_npDSJavaPeer_SetCurrentMarker_stub
-Java_NPDS_npDSJavaPeer_SetCurrentPosition_stub
-Java_NPDS_npDSJavaPeer_SetCursorType_stub
-Java_NPDS_npDSJavaPeer_SetDefaultFrame_stub
-Java_NPDS_npDSJavaPeer_SetDisplayBackColor_stub
-Java_NPDS_npDSJavaPeer_SetDisplayForeColor_stub
-Java_NPDS_npDSJavaPeer_SetDisplayMode_stub
-Java_NPDS_npDSJavaPeer_SetDisplaySize_stub
-Java_NPDS_npDSJavaPeer_SetEnableContextMenu_stub
-Java_NPDS_npDSJavaPeer_SetEnableFullScreenControls_stub
-Java_NPDS_npDSJavaPeer_SetEnablePositionControls_stub
-Java_NPDS_npDSJavaPeer_SetEnableTracker_stub
-Java_NPDS_npDSJavaPeer_SetEnabled_stub
-Java_NPDS_npDSJavaPeer_SetFileName_stub
-Java_NPDS_npDSJavaPeer_SetInvokeURLs_stub
-Java_NPDS_npDSJavaPeer_SetLanguage_stub
-Java_NPDS_npDSJavaPeer_SetMute_stub
-Java_NPDS_npDSJavaPeer_SetPlayCount_stub
-Java_NPDS_npDSJavaPeer_SetPreviewMode_stub
-Java_NPDS_npDSJavaPeer_SetRate_stub
-Java_NPDS_npDSJavaPeer_SetSAMIFileName_stub
-Java_NPDS_npDSJavaPeer_SetSAMILang_stub
-Java_NPDS_npDSJavaPeer_SetSAMIStyle_stub
-Java_NPDS_npDSJavaPeer_SetSelectionEnd_stub
-Java_NPDS_npDSJavaPeer_SetSelectionStart_stub
-Java_NPDS_npDSJavaPeer_SetSendErrorEvents_stub
-Java_NPDS_npDSJavaPeer_SetSendKeyboardEvents_stub
-Java_NPDS_npDSJavaPeer_SetSendMouseClickEvents_stub
-Java_NPDS_npDSJavaPeer_SetSendMouseMoveEvents_stub
-Java_NPDS_npDSJavaPeer_SetSendOpenStateChangeEvents_stub
-Java_NPDS_npDSJavaPeer_SetSendPlayStateChangeEvents_stub
-Java_NPDS_npDSJavaPeer_SetSendWarningEvents_stub
-Java_NPDS_npDSJavaPeer_SetShowAudioControls_stub
-Java_NPDS_npDSJavaPeer_SetShowCaptioning_stub
-Java_NPDS_npDSJavaPeer_SetShowControls_stub
-Java_NPDS_npDSJavaPeer_SetShowDisplay_stub
-Java_NPDS_npDSJavaPeer_SetShowGotoBar_stub
-Java_NPDS_npDSJavaPeer_SetShowPositionControls_stub
-Java_NPDS_npDSJavaPeer_SetShowStatusBar_stub
-Java_NPDS_npDSJavaPeer_SetShowTracker_stub
-Java_NPDS_npDSJavaPeer_SetTransparentAtStart_stub
-Java_NPDS_npDSJavaPeer_SetVideoBorder3D_stub
-Java_NPDS_npDSJavaPeer_SetVideoBorderColor_stub
-Java_NPDS_npDSJavaPeer_SetVideoBorderWidth_stub
-Java_NPDS_npDSJavaPeer_SetVolume_stub
-Java_NPDS_npDSJavaPeer_Stop_stub
-Java_NPDS_npDSJavaPeer_StreamSelect_stub
-native_NPDS_npDSJavaPeer_AboutBox
-native_NPDS_npDSJavaPeer_Cancel
-native_NPDS_npDSJavaPeer_FastForward
-native_NPDS_npDSJavaPeer_FastReverse
-native_NPDS_npDSJavaPeer_GetActiveMovie
-native_NPDS_npDSJavaPeer_GetAllowChangeDisplaySize
-native_NPDS_npDSJavaPeer_GetAllowScan
-native_NPDS_npDSJavaPeer_GetAnimationAtStart
-native_NPDS_npDSJavaPeer_GetAudioStream
-native_NPDS_npDSJavaPeer_GetAutoRewind
-native_NPDS_npDSJavaPeer_GetAutoSize
-native_NPDS_npDSJavaPeer_GetAutoStart
-native_NPDS_npDSJavaPeer_GetBalance
-native_NPDS_npDSJavaPeer_GetBandwidth
-native_NPDS_npDSJavaPeer_GetBaseURL
-native_NPDS_npDSJavaPeer_GetBufferingCount
-native_NPDS_npDSJavaPeer_GetBufferingProgress
-native_NPDS_npDSJavaPeer_GetBufferingTime
-native_NPDS_npDSJavaPeer_GetCanPreview
-native_NPDS_npDSJavaPeer_GetCanScan
-native_NPDS_npDSJavaPeer_GetCanSeek
-native_NPDS_npDSJavaPeer_GetCanSeekToMarkers
-native_NPDS_npDSJavaPeer_GetCaptioningID
-native_NPDS_npDSJavaPeer_GetChannelDescription
-native_NPDS_npDSJavaPeer_GetChannelName
-native_NPDS_npDSJavaPeer_GetChannelURL
-native_NPDS_npDSJavaPeer_GetClickToPlay
-native_NPDS_npDSJavaPeer_GetClientID
-native_NPDS_npDSJavaPeer_GetCodecCount
-native_NPDS_npDSJavaPeer_GetCodecDescription
-native_NPDS_npDSJavaPeer_GetCodecInstalled
-native_NPDS_npDSJavaPeer_GetCodecURL
-native_NPDS_npDSJavaPeer_GetConnectionSpeed
-native_NPDS_npDSJavaPeer_GetContactAddress
-native_NPDS_npDSJavaPeer_GetContactEmail
-native_NPDS_npDSJavaPeer_GetContactPhone
-native_NPDS_npDSJavaPeer_GetCreationDate
-native_NPDS_npDSJavaPeer_GetCurrentMarker
-native_NPDS_npDSJavaPeer_GetCurrentPosition
-native_NPDS_npDSJavaPeer_GetCursorType
-native_NPDS_npDSJavaPeer_GetDefaultFrame
-native_NPDS_npDSJavaPeer_GetDisplayBackColor
-native_NPDS_npDSJavaPeer_GetDisplayForeColor
-native_NPDS_npDSJavaPeer_GetDisplayMode
-native_NPDS_npDSJavaPeer_GetDisplaySize
-native_NPDS_npDSJavaPeer_GetDuration
-native_NPDS_npDSJavaPeer_GetEnableContextMenu
-native_NPDS_npDSJavaPeer_GetEnableFullScreenControls
-native_NPDS_npDSJavaPeer_GetEnablePositionControls
-native_NPDS_npDSJavaPeer_GetEnableTracker
-native_NPDS_npDSJavaPeer_GetEnabled
-native_NPDS_npDSJavaPeer_GetErrorCode
-native_NPDS_npDSJavaPeer_GetErrorCorrection
-native_NPDS_npDSJavaPeer_GetErrorDescription
-native_NPDS_npDSJavaPeer_GetFileName
-native_NPDS_npDSJavaPeer_GetHasError
-native_NPDS_npDSJavaPeer_GetHasMultipleItems
-native_NPDS_npDSJavaPeer_GetImageSourceHeight
-native_NPDS_npDSJavaPeer_GetImageSourceWidth
-native_NPDS_npDSJavaPeer_GetInvokeURLs
-native_NPDS_npDSJavaPeer_GetIsBroadcast
-native_NPDS_npDSJavaPeer_GetIsDurationValid
-native_NPDS_npDSJavaPeer_GetLanguage
-native_NPDS_npDSJavaPeer_GetLostPackets
-native_NPDS_npDSJavaPeer_GetMarkerCount
-native_NPDS_npDSJavaPeer_GetMarkerName
-native_NPDS_npDSJavaPeer_GetMarkerTime
-native_NPDS_npDSJavaPeer_GetMediaInfoString
-native_NPDS_npDSJavaPeer_GetMoreInfoURL
-native_NPDS_npDSJavaPeer_GetMute
-native_NPDS_npDSJavaPeer_GetNSPlay
-native_NPDS_npDSJavaPeer_GetOpenState
-native_NPDS_npDSJavaPeer_GetPlayCount
-native_NPDS_npDSJavaPeer_GetPlayState
-native_NPDS_npDSJavaPeer_GetPreviewMode
-native_NPDS_npDSJavaPeer_GetRate
-native_NPDS_npDSJavaPeer_GetReadyState
-native_NPDS_npDSJavaPeer_GetReceivedPackets
-native_NPDS_npDSJavaPeer_GetReceptionQuality
-native_NPDS_npDSJavaPeer_GetRecoveredPackets
-native_NPDS_npDSJavaPeer_GetSAMIFileName
-native_NPDS_npDSJavaPeer_GetSAMILang
-native_NPDS_npDSJavaPeer_GetSAMIStyle
-native_NPDS_npDSJavaPeer_GetSelectionEnd
-native_NPDS_npDSJavaPeer_GetSelectionStart
-native_NPDS_npDSJavaPeer_GetSendErrorEvents
-native_NPDS_npDSJavaPeer_GetSendKeyboardEvents
-native_NPDS_npDSJavaPeer_GetSendMouseClickEvents
-native_NPDS_npDSJavaPeer_GetSendMouseMoveEvents
-native_NPDS_npDSJavaPeer_GetSendOpenStateChangeEvents
-native_NPDS_npDSJavaPeer_GetSendPlayStateChangeEvents
-native_NPDS_npDSJavaPeer_GetSendWarningEvents
-native_NPDS_npDSJavaPeer_GetShowAudioControls
-native_NPDS_npDSJavaPeer_GetShowCaptioning
-native_NPDS_npDSJavaPeer_GetShowControls
-native_NPDS_npDSJavaPeer_GetShowDisplay
-native_NPDS_npDSJavaPeer_GetShowGotoBar
-native_NPDS_npDSJavaPeer_GetShowPositionControls
-native_NPDS_npDSJavaPeer_GetShowStatusBar
-native_NPDS_npDSJavaPeer_GetShowTracker
-native_NPDS_npDSJavaPeer_GetSourceLink
-native_NPDS_npDSJavaPeer_GetSourceProtocol
-native_NPDS_npDSJavaPeer_GetStreamCount
-native_NPDS_npDSJavaPeer_GetStreamGroup
-native_NPDS_npDSJavaPeer_GetStreamName
-native_NPDS_npDSJavaPeer_GetStreamSelected
-native_NPDS_npDSJavaPeer_GetTransparentAtStart
-native_NPDS_npDSJavaPeer_GetVideoBorder3D
-native_NPDS_npDSJavaPeer_GetVideoBorderColor
-native_NPDS_npDSJavaPeer_GetVideoBorderWidth
-native_NPDS_npDSJavaPeer_GetVolume
-native_NPDS_npDSJavaPeer_IsSoundCardEnabled
-native_NPDS_npDSJavaPeer_LaunchURL
-native_NPDS_npDSJavaPeer_Next
-native_NPDS_npDSJavaPeer_Open
-native_NPDS_npDSJavaPeer_Pause
-native_NPDS_npDSJavaPeer_Play
-native_NPDS_npDSJavaPeer_Previous
-native_NPDS_npDSJavaPeer_SetAllowChangeDisplaySize
-native_NPDS_npDSJavaPeer_SetAllowScan
-native_NPDS_npDSJavaPeer_SetAnimationAtStart
-native_NPDS_npDSJavaPeer_SetAudioStream
-native_NPDS_npDSJavaPeer_SetAutoRewind
-native_NPDS_npDSJavaPeer_SetAutoSize
-native_NPDS_npDSJavaPeer_SetAutoStart
-native_NPDS_npDSJavaPeer_SetBalance
-native_NPDS_npDSJavaPeer_SetBaseURL
-native_NPDS_npDSJavaPeer_SetBufferingTime
-native_NPDS_npDSJavaPeer_SetCaptioningID
-native_NPDS_npDSJavaPeer_SetClickToPlay
-native_NPDS_npDSJavaPeer_SetCurrentMarker
-native_NPDS_npDSJavaPeer_SetCurrentPosition
-native_NPDS_npDSJavaPeer_SetCursorType
-native_NPDS_npDSJavaPeer_SetDefaultFrame
-native_NPDS_npDSJavaPeer_SetDisplayBackColor
-native_NPDS_npDSJavaPeer_SetDisplayForeColor
-native_NPDS_npDSJavaPeer_SetDisplayMode
-native_NPDS_npDSJavaPeer_SetDisplaySize
-native_NPDS_npDSJavaPeer_SetEnableContextMenu
-native_NPDS_npDSJavaPeer_SetEnableFullScreenControls
-native_NPDS_npDSJavaPeer_SetEnablePositionControls
-native_NPDS_npDSJavaPeer_SetEnableTracker
-native_NPDS_npDSJavaPeer_SetEnabled
-native_NPDS_npDSJavaPeer_SetFileName
-native_NPDS_npDSJavaPeer_SetInvokeURLs
-native_NPDS_npDSJavaPeer_SetLanguage
-native_NPDS_npDSJavaPeer_SetMute
-native_NPDS_npDSJavaPeer_SetPlayCount
-native_NPDS_npDSJavaPeer_SetPreviewMode
-native_NPDS_npDSJavaPeer_SetRate
-native_NPDS_npDSJavaPeer_SetSAMIFileName
-native_NPDS_npDSJavaPeer_SetSAMILang
-native_NPDS_npDSJavaPeer_SetSAMIStyle
-native_NPDS_npDSJavaPeer_SetSelectionEnd
-native_NPDS_npDSJavaPeer_SetSelectionStart
-native_NPDS_npDSJavaPeer_SetSendErrorEvents
-native_NPDS_npDSJavaPeer_SetSendKeyboardEvents
-native_NPDS_npDSJavaPeer_SetSendMouseClickEvents
-native_NPDS_npDSJavaPeer_SetSendMouseMoveEvents
-native_NPDS_npDSJavaPeer_SetSendOpenStateChangeEvents
-native_NPDS_npDSJavaPeer_SetSendPlayStateChangeEvents
-native_NPDS_npDSJavaPeer_SetSendWarningEvents
-native_NPDS_npDSJavaPeer_SetShowAudioControls
-native_NPDS_npDSJavaPeer_SetShowCaptioning
-native_NPDS_npDSJavaPeer_SetShowControls
-native_NPDS_npDSJavaPeer_SetShowDisplay
-native_NPDS_npDSJavaPeer_SetShowGotoBar
-native_NPDS_npDSJavaPeer_SetShowPositionControls
-native_NPDS_npDSJavaPeer_SetShowStatusBar
-native_NPDS_npDSJavaPeer_SetShowTracker
-native_NPDS_npDSJavaPeer_SetTransparentAtStart
-native_NPDS_npDSJavaPeer_SetVideoBorder3D
-native_NPDS_npDSJavaPeer_SetVideoBorderColor
-native_NPDS_npDSJavaPeer_SetVideoBorderWidth
-native_NPDS_npDSJavaPeer_SetVolume
-native_NPDS_npDSJavaPeer_Stop
-native_NPDS_npDSJavaPeer_StreamSelect
-unuse_NPDS_npDSEvtInterface
-unuse_NPDS_npDSJavaPeer
-unuse_netscape_plugin_Plugin
-use_NPDS_npDSEvtInterface
-use_NPDS_npDSJavaPeer
-use_netscape_plugin_Plugin
+; 
+; Exports of file NPDSPlay.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NPDSPlay.dll
+EXPORTS
+NP_GetEntryPoints
+NP_Initialize
+NP_Shutdown
+Java_NPDS_npDSJavaPeer_AboutBox_stub
+Java_NPDS_npDSJavaPeer_Cancel_stub
+Java_NPDS_npDSJavaPeer_FastForward_stub
+Java_NPDS_npDSJavaPeer_FastReverse_stub
+Java_NPDS_npDSJavaPeer_GetActiveMovie_stub
+Java_NPDS_npDSJavaPeer_GetAllowChangeDisplaySize_stub
+Java_NPDS_npDSJavaPeer_GetAllowScan_stub
+Java_NPDS_npDSJavaPeer_GetAnimationAtStart_stub
+Java_NPDS_npDSJavaPeer_GetAudioStream_stub
+Java_NPDS_npDSJavaPeer_GetAutoRewind_stub
+Java_NPDS_npDSJavaPeer_GetAutoSize_stub
+Java_NPDS_npDSJavaPeer_GetAutoStart_stub
+Java_NPDS_npDSJavaPeer_GetBalance_stub
+Java_NPDS_npDSJavaPeer_GetBandwidth_stub
+Java_NPDS_npDSJavaPeer_GetBaseURL_stub
+Java_NPDS_npDSJavaPeer_GetBufferingCount_stub
+Java_NPDS_npDSJavaPeer_GetBufferingProgress_stub
+Java_NPDS_npDSJavaPeer_GetBufferingTime_stub
+Java_NPDS_npDSJavaPeer_GetCanPreview_stub
+Java_NPDS_npDSJavaPeer_GetCanScan_stub
+Java_NPDS_npDSJavaPeer_GetCanSeekToMarkers_stub
+Java_NPDS_npDSJavaPeer_GetCanSeek_stub
+Java_NPDS_npDSJavaPeer_GetCaptioningID_stub
+Java_NPDS_npDSJavaPeer_GetChannelDescription_stub
+Java_NPDS_npDSJavaPeer_GetChannelName_stub
+Java_NPDS_npDSJavaPeer_GetChannelURL_stub
+Java_NPDS_npDSJavaPeer_GetClickToPlay_stub
+Java_NPDS_npDSJavaPeer_GetClientID_stub
+Java_NPDS_npDSJavaPeer_GetCodecCount_stub
+Java_NPDS_npDSJavaPeer_GetCodecDescription_stub
+Java_NPDS_npDSJavaPeer_GetCodecInstalled_stub
+Java_NPDS_npDSJavaPeer_GetCodecURL_stub
+Java_NPDS_npDSJavaPeer_GetConnectionSpeed_stub
+Java_NPDS_npDSJavaPeer_GetContactAddress_stub
+Java_NPDS_npDSJavaPeer_GetContactEmail_stub
+Java_NPDS_npDSJavaPeer_GetContactPhone_stub
+Java_NPDS_npDSJavaPeer_GetCreationDate_stub
+Java_NPDS_npDSJavaPeer_GetCurrentMarker_stub
+Java_NPDS_npDSJavaPeer_GetCurrentPosition_stub
+Java_NPDS_npDSJavaPeer_GetCursorType_stub
+Java_NPDS_npDSJavaPeer_GetDefaultFrame_stub
+Java_NPDS_npDSJavaPeer_GetDisplayBackColor_stub
+Java_NPDS_npDSJavaPeer_GetDisplayForeColor_stub
+Java_NPDS_npDSJavaPeer_GetDisplayMode_stub
+Java_NPDS_npDSJavaPeer_GetDisplaySize_stub
+Java_NPDS_npDSJavaPeer_GetDuration_stub
+Java_NPDS_npDSJavaPeer_GetEnableContextMenu_stub
+Java_NPDS_npDSJavaPeer_GetEnableFullScreenControls_stub
+Java_NPDS_npDSJavaPeer_GetEnablePositionControls_stub
+Java_NPDS_npDSJavaPeer_GetEnableTracker_stub
+Java_NPDS_npDSJavaPeer_GetEnabled_stub
+Java_NPDS_npDSJavaPeer_GetErrorCode_stub
+Java_NPDS_npDSJavaPeer_GetErrorCorrection_stub
+Java_NPDS_npDSJavaPeer_GetErrorDescription_stub
+Java_NPDS_npDSJavaPeer_GetFileName_stub
+Java_NPDS_npDSJavaPeer_GetHasError_stub
+Java_NPDS_npDSJavaPeer_GetHasMultipleItems_stub
+Java_NPDS_npDSJavaPeer_GetImageSourceHeight_stub
+Java_NPDS_npDSJavaPeer_GetImageSourceWidth_stub
+Java_NPDS_npDSJavaPeer_GetInvokeURLs_stub
+Java_NPDS_npDSJavaPeer_GetIsBroadcast_stub
+Java_NPDS_npDSJavaPeer_GetIsDurationValid_stub
+Java_NPDS_npDSJavaPeer_GetLanguage_stub
+Java_NPDS_npDSJavaPeer_GetLostPackets_stub
+Java_NPDS_npDSJavaPeer_GetMarkerCount_stub
+Java_NPDS_npDSJavaPeer_GetMarkerName_stub
+Java_NPDS_npDSJavaPeer_GetMarkerTime_stub
+Java_NPDS_npDSJavaPeer_GetMediaInfoString_stub
+Java_NPDS_npDSJavaPeer_GetMoreInfoURL_stub
+Java_NPDS_npDSJavaPeer_GetMute_stub
+Java_NPDS_npDSJavaPeer_GetNSPlay_stub
+Java_NPDS_npDSJavaPeer_GetOpenState_stub
+Java_NPDS_npDSJavaPeer_GetPlayCount_stub
+Java_NPDS_npDSJavaPeer_GetPlayState_stub
+Java_NPDS_npDSJavaPeer_GetPreviewMode_stub
+Java_NPDS_npDSJavaPeer_GetRate_stub
+Java_NPDS_npDSJavaPeer_GetReadyState_stub
+Java_NPDS_npDSJavaPeer_GetReceivedPackets_stub
+Java_NPDS_npDSJavaPeer_GetReceptionQuality_stub
+Java_NPDS_npDSJavaPeer_GetRecoveredPackets_stub
+Java_NPDS_npDSJavaPeer_GetSAMIFileName_stub
+Java_NPDS_npDSJavaPeer_GetSAMILang_stub
+Java_NPDS_npDSJavaPeer_GetSAMIStyle_stub
+Java_NPDS_npDSJavaPeer_GetSelectionEnd_stub
+Java_NPDS_npDSJavaPeer_GetSelectionStart_stub
+Java_NPDS_npDSJavaPeer_GetSendErrorEvents_stub
+Java_NPDS_npDSJavaPeer_GetSendKeyboardEvents_stub
+Java_NPDS_npDSJavaPeer_GetSendMouseClickEvents_stub
+Java_NPDS_npDSJavaPeer_GetSendMouseMoveEvents_stub
+Java_NPDS_npDSJavaPeer_GetSendOpenStateChangeEvents_stub
+Java_NPDS_npDSJavaPeer_GetSendPlayStateChangeEvents_stub
+Java_NPDS_npDSJavaPeer_GetSendWarningEvents_stub
+Java_NPDS_npDSJavaPeer_GetShowAudioControls_stub
+Java_NPDS_npDSJavaPeer_GetShowCaptioning_stub
+Java_NPDS_npDSJavaPeer_GetShowControls_stub
+Java_NPDS_npDSJavaPeer_GetShowDisplay_stub
+Java_NPDS_npDSJavaPeer_GetShowGotoBar_stub
+Java_NPDS_npDSJavaPeer_GetShowPositionControls_stub
+Java_NPDS_npDSJavaPeer_GetShowStatusBar_stub
+Java_NPDS_npDSJavaPeer_GetShowTracker_stub
+Java_NPDS_npDSJavaPeer_GetSourceLink_stub
+Java_NPDS_npDSJavaPeer_GetSourceProtocol_stub
+Java_NPDS_npDSJavaPeer_GetStreamCount_stub
+Java_NPDS_npDSJavaPeer_GetStreamGroup_stub
+Java_NPDS_npDSJavaPeer_GetStreamName_stub
+Java_NPDS_npDSJavaPeer_GetStreamSelected_stub
+Java_NPDS_npDSJavaPeer_GetTransparentAtStart_stub
+Java_NPDS_npDSJavaPeer_GetVideoBorder3D_stub
+Java_NPDS_npDSJavaPeer_GetVideoBorderColor_stub
+Java_NPDS_npDSJavaPeer_GetVideoBorderWidth_stub
+Java_NPDS_npDSJavaPeer_GetVolume_stub
+Java_NPDS_npDSJavaPeer_IsSoundCardEnabled_stub
+Java_NPDS_npDSJavaPeer_LaunchURL_stub
+Java_NPDS_npDSJavaPeer_Next_stub
+Java_NPDS_npDSJavaPeer_Open_stub
+Java_NPDS_npDSJavaPeer_Pause_stub
+Java_NPDS_npDSJavaPeer_Play_stub
+Java_NPDS_npDSJavaPeer_Previous_stub
+Java_NPDS_npDSJavaPeer_SetAllowChangeDisplaySize_stub
+Java_NPDS_npDSJavaPeer_SetAllowScan_stub
+Java_NPDS_npDSJavaPeer_SetAnimationAtStart_stub
+Java_NPDS_npDSJavaPeer_SetAudioStream_stub
+Java_NPDS_npDSJavaPeer_SetAutoRewind_stub
+Java_NPDS_npDSJavaPeer_SetAutoSize_stub
+Java_NPDS_npDSJavaPeer_SetAutoStart_stub
+Java_NPDS_npDSJavaPeer_SetBalance_stub
+Java_NPDS_npDSJavaPeer_SetBaseURL_stub
+Java_NPDS_npDSJavaPeer_SetBufferingTime_stub
+Java_NPDS_npDSJavaPeer_SetCaptioningID_stub
+Java_NPDS_npDSJavaPeer_SetClickToPlay_stub
+Java_NPDS_npDSJavaPeer_SetCurrentMarker_stub
+Java_NPDS_npDSJavaPeer_SetCurrentPosition_stub
+Java_NPDS_npDSJavaPeer_SetCursorType_stub
+Java_NPDS_npDSJavaPeer_SetDefaultFrame_stub
+Java_NPDS_npDSJavaPeer_SetDisplayBackColor_stub
+Java_NPDS_npDSJavaPeer_SetDisplayForeColor_stub
+Java_NPDS_npDSJavaPeer_SetDisplayMode_stub
+Java_NPDS_npDSJavaPeer_SetDisplaySize_stub
+Java_NPDS_npDSJavaPeer_SetEnableContextMenu_stub
+Java_NPDS_npDSJavaPeer_SetEnableFullScreenControls_stub
+Java_NPDS_npDSJavaPeer_SetEnablePositionControls_stub
+Java_NPDS_npDSJavaPeer_SetEnableTracker_stub
+Java_NPDS_npDSJavaPeer_SetEnabled_stub
+Java_NPDS_npDSJavaPeer_SetFileName_stub
+Java_NPDS_npDSJavaPeer_SetInvokeURLs_stub
+Java_NPDS_npDSJavaPeer_SetLanguage_stub
+Java_NPDS_npDSJavaPeer_SetMute_stub
+Java_NPDS_npDSJavaPeer_SetPlayCount_stub
+Java_NPDS_npDSJavaPeer_SetPreviewMode_stub
+Java_NPDS_npDSJavaPeer_SetRate_stub
+Java_NPDS_npDSJavaPeer_SetSAMIFileName_stub
+Java_NPDS_npDSJavaPeer_SetSAMILang_stub
+Java_NPDS_npDSJavaPeer_SetSAMIStyle_stub
+Java_NPDS_npDSJavaPeer_SetSelectionEnd_stub
+Java_NPDS_npDSJavaPeer_SetSelectionStart_stub
+Java_NPDS_npDSJavaPeer_SetSendErrorEvents_stub
+Java_NPDS_npDSJavaPeer_SetSendKeyboardEvents_stub
+Java_NPDS_npDSJavaPeer_SetSendMouseClickEvents_stub
+Java_NPDS_npDSJavaPeer_SetSendMouseMoveEvents_stub
+Java_NPDS_npDSJavaPeer_SetSendOpenStateChangeEvents_stub
+Java_NPDS_npDSJavaPeer_SetSendPlayStateChangeEvents_stub
+Java_NPDS_npDSJavaPeer_SetSendWarningEvents_stub
+Java_NPDS_npDSJavaPeer_SetShowAudioControls_stub
+Java_NPDS_npDSJavaPeer_SetShowCaptioning_stub
+Java_NPDS_npDSJavaPeer_SetShowControls_stub
+Java_NPDS_npDSJavaPeer_SetShowDisplay_stub
+Java_NPDS_npDSJavaPeer_SetShowGotoBar_stub
+Java_NPDS_npDSJavaPeer_SetShowPositionControls_stub
+Java_NPDS_npDSJavaPeer_SetShowStatusBar_stub
+Java_NPDS_npDSJavaPeer_SetShowTracker_stub
+Java_NPDS_npDSJavaPeer_SetTransparentAtStart_stub
+Java_NPDS_npDSJavaPeer_SetVideoBorder3D_stub
+Java_NPDS_npDSJavaPeer_SetVideoBorderColor_stub
+Java_NPDS_npDSJavaPeer_SetVideoBorderWidth_stub
+Java_NPDS_npDSJavaPeer_SetVolume_stub
+Java_NPDS_npDSJavaPeer_Stop_stub
+Java_NPDS_npDSJavaPeer_StreamSelect_stub
+native_NPDS_npDSJavaPeer_AboutBox
+native_NPDS_npDSJavaPeer_Cancel
+native_NPDS_npDSJavaPeer_FastForward
+native_NPDS_npDSJavaPeer_FastReverse
+native_NPDS_npDSJavaPeer_GetActiveMovie
+native_NPDS_npDSJavaPeer_GetAllowChangeDisplaySize
+native_NPDS_npDSJavaPeer_GetAllowScan
+native_NPDS_npDSJavaPeer_GetAnimationAtStart
+native_NPDS_npDSJavaPeer_GetAudioStream
+native_NPDS_npDSJavaPeer_GetAutoRewind
+native_NPDS_npDSJavaPeer_GetAutoSize
+native_NPDS_npDSJavaPeer_GetAutoStart
+native_NPDS_npDSJavaPeer_GetBalance
+native_NPDS_npDSJavaPeer_GetBandwidth
+native_NPDS_npDSJavaPeer_GetBaseURL
+native_NPDS_npDSJavaPeer_GetBufferingCount
+native_NPDS_npDSJavaPeer_GetBufferingProgress
+native_NPDS_npDSJavaPeer_GetBufferingTime
+native_NPDS_npDSJavaPeer_GetCanPreview
+native_NPDS_npDSJavaPeer_GetCanScan
+native_NPDS_npDSJavaPeer_GetCanSeek
+native_NPDS_npDSJavaPeer_GetCanSeekToMarkers
+native_NPDS_npDSJavaPeer_GetCaptioningID
+native_NPDS_npDSJavaPeer_GetChannelDescription
+native_NPDS_npDSJavaPeer_GetChannelName
+native_NPDS_npDSJavaPeer_GetChannelURL
+native_NPDS_npDSJavaPeer_GetClickToPlay
+native_NPDS_npDSJavaPeer_GetClientID
+native_NPDS_npDSJavaPeer_GetCodecCount
+native_NPDS_npDSJavaPeer_GetCodecDescription
+native_NPDS_npDSJavaPeer_GetCodecInstalled
+native_NPDS_npDSJavaPeer_GetCodecURL
+native_NPDS_npDSJavaPeer_GetConnectionSpeed
+native_NPDS_npDSJavaPeer_GetContactAddress
+native_NPDS_npDSJavaPeer_GetContactEmail
+native_NPDS_npDSJavaPeer_GetContactPhone
+native_NPDS_npDSJavaPeer_GetCreationDate
+native_NPDS_npDSJavaPeer_GetCurrentMarker
+native_NPDS_npDSJavaPeer_GetCurrentPosition
+native_NPDS_npDSJavaPeer_GetCursorType
+native_NPDS_npDSJavaPeer_GetDefaultFrame
+native_NPDS_npDSJavaPeer_GetDisplayBackColor
+native_NPDS_npDSJavaPeer_GetDisplayForeColor
+native_NPDS_npDSJavaPeer_GetDisplayMode
+native_NPDS_npDSJavaPeer_GetDisplaySize
+native_NPDS_npDSJavaPeer_GetDuration
+native_NPDS_npDSJavaPeer_GetEnableContextMenu
+native_NPDS_npDSJavaPeer_GetEnableFullScreenControls
+native_NPDS_npDSJavaPeer_GetEnablePositionControls
+native_NPDS_npDSJavaPeer_GetEnableTracker
+native_NPDS_npDSJavaPeer_GetEnabled
+native_NPDS_npDSJavaPeer_GetErrorCode
+native_NPDS_npDSJavaPeer_GetErrorCorrection
+native_NPDS_npDSJavaPeer_GetErrorDescription
+native_NPDS_npDSJavaPeer_GetFileName
+native_NPDS_npDSJavaPeer_GetHasError
+native_NPDS_npDSJavaPeer_GetHasMultipleItems
+native_NPDS_npDSJavaPeer_GetImageSourceHeight
+native_NPDS_npDSJavaPeer_GetImageSourceWidth
+native_NPDS_npDSJavaPeer_GetInvokeURLs
+native_NPDS_npDSJavaPeer_GetIsBroadcast
+native_NPDS_npDSJavaPeer_GetIsDurationValid
+native_NPDS_npDSJavaPeer_GetLanguage
+native_NPDS_npDSJavaPeer_GetLostPackets
+native_NPDS_npDSJavaPeer_GetMarkerCount
+native_NPDS_npDSJavaPeer_GetMarkerName
+native_NPDS_npDSJavaPeer_GetMarkerTime
+native_NPDS_npDSJavaPeer_GetMediaInfoString
+native_NPDS_npDSJavaPeer_GetMoreInfoURL
+native_NPDS_npDSJavaPeer_GetMute
+native_NPDS_npDSJavaPeer_GetNSPlay
+native_NPDS_npDSJavaPeer_GetOpenState
+native_NPDS_npDSJavaPeer_GetPlayCount
+native_NPDS_npDSJavaPeer_GetPlayState
+native_NPDS_npDSJavaPeer_GetPreviewMode
+native_NPDS_npDSJavaPeer_GetRate
+native_NPDS_npDSJavaPeer_GetReadyState
+native_NPDS_npDSJavaPeer_GetReceivedPackets
+native_NPDS_npDSJavaPeer_GetReceptionQuality
+native_NPDS_npDSJavaPeer_GetRecoveredPackets
+native_NPDS_npDSJavaPeer_GetSAMIFileName
+native_NPDS_npDSJavaPeer_GetSAMILang
+native_NPDS_npDSJavaPeer_GetSAMIStyle
+native_NPDS_npDSJavaPeer_GetSelectionEnd
+native_NPDS_npDSJavaPeer_GetSelectionStart
+native_NPDS_npDSJavaPeer_GetSendErrorEvents
+native_NPDS_npDSJavaPeer_GetSendKeyboardEvents
+native_NPDS_npDSJavaPeer_GetSendMouseClickEvents
+native_NPDS_npDSJavaPeer_GetSendMouseMoveEvents
+native_NPDS_npDSJavaPeer_GetSendOpenStateChangeEvents
+native_NPDS_npDSJavaPeer_GetSendPlayStateChangeEvents
+native_NPDS_npDSJavaPeer_GetSendWarningEvents
+native_NPDS_npDSJavaPeer_GetShowAudioControls
+native_NPDS_npDSJavaPeer_GetShowCaptioning
+native_NPDS_npDSJavaPeer_GetShowControls
+native_NPDS_npDSJavaPeer_GetShowDisplay
+native_NPDS_npDSJavaPeer_GetShowGotoBar
+native_NPDS_npDSJavaPeer_GetShowPositionControls
+native_NPDS_npDSJavaPeer_GetShowStatusBar
+native_NPDS_npDSJavaPeer_GetShowTracker
+native_NPDS_npDSJavaPeer_GetSourceLink
+native_NPDS_npDSJavaPeer_GetSourceProtocol
+native_NPDS_npDSJavaPeer_GetStreamCount
+native_NPDS_npDSJavaPeer_GetStreamGroup
+native_NPDS_npDSJavaPeer_GetStreamName
+native_NPDS_npDSJavaPeer_GetStreamSelected
+native_NPDS_npDSJavaPeer_GetTransparentAtStart
+native_NPDS_npDSJavaPeer_GetVideoBorder3D
+native_NPDS_npDSJavaPeer_GetVideoBorderColor
+native_NPDS_npDSJavaPeer_GetVideoBorderWidth
+native_NPDS_npDSJavaPeer_GetVolume
+native_NPDS_npDSJavaPeer_IsSoundCardEnabled
+native_NPDS_npDSJavaPeer_LaunchURL
+native_NPDS_npDSJavaPeer_Next
+native_NPDS_npDSJavaPeer_Open
+native_NPDS_npDSJavaPeer_Pause
+native_NPDS_npDSJavaPeer_Play
+native_NPDS_npDSJavaPeer_Previous
+native_NPDS_npDSJavaPeer_SetAllowChangeDisplaySize
+native_NPDS_npDSJavaPeer_SetAllowScan
+native_NPDS_npDSJavaPeer_SetAnimationAtStart
+native_NPDS_npDSJavaPeer_SetAudioStream
+native_NPDS_npDSJavaPeer_SetAutoRewind
+native_NPDS_npDSJavaPeer_SetAutoSize
+native_NPDS_npDSJavaPeer_SetAutoStart
+native_NPDS_npDSJavaPeer_SetBalance
+native_NPDS_npDSJavaPeer_SetBaseURL
+native_NPDS_npDSJavaPeer_SetBufferingTime
+native_NPDS_npDSJavaPeer_SetCaptioningID
+native_NPDS_npDSJavaPeer_SetClickToPlay
+native_NPDS_npDSJavaPeer_SetCurrentMarker
+native_NPDS_npDSJavaPeer_SetCurrentPosition
+native_NPDS_npDSJavaPeer_SetCursorType
+native_NPDS_npDSJavaPeer_SetDefaultFrame
+native_NPDS_npDSJavaPeer_SetDisplayBackColor
+native_NPDS_npDSJavaPeer_SetDisplayForeColor
+native_NPDS_npDSJavaPeer_SetDisplayMode
+native_NPDS_npDSJavaPeer_SetDisplaySize
+native_NPDS_npDSJavaPeer_SetEnableContextMenu
+native_NPDS_npDSJavaPeer_SetEnableFullScreenControls
+native_NPDS_npDSJavaPeer_SetEnablePositionControls
+native_NPDS_npDSJavaPeer_SetEnableTracker
+native_NPDS_npDSJavaPeer_SetEnabled
+native_NPDS_npDSJavaPeer_SetFileName
+native_NPDS_npDSJavaPeer_SetInvokeURLs
+native_NPDS_npDSJavaPeer_SetLanguage
+native_NPDS_npDSJavaPeer_SetMute
+native_NPDS_npDSJavaPeer_SetPlayCount
+native_NPDS_npDSJavaPeer_SetPreviewMode
+native_NPDS_npDSJavaPeer_SetRate
+native_NPDS_npDSJavaPeer_SetSAMIFileName
+native_NPDS_npDSJavaPeer_SetSAMILang
+native_NPDS_npDSJavaPeer_SetSAMIStyle
+native_NPDS_npDSJavaPeer_SetSelectionEnd
+native_NPDS_npDSJavaPeer_SetSelectionStart
+native_NPDS_npDSJavaPeer_SetSendErrorEvents
+native_NPDS_npDSJavaPeer_SetSendKeyboardEvents
+native_NPDS_npDSJavaPeer_SetSendMouseClickEvents
+native_NPDS_npDSJavaPeer_SetSendMouseMoveEvents
+native_NPDS_npDSJavaPeer_SetSendOpenStateChangeEvents
+native_NPDS_npDSJavaPeer_SetSendPlayStateChangeEvents
+native_NPDS_npDSJavaPeer_SetSendWarningEvents
+native_NPDS_npDSJavaPeer_SetShowAudioControls
+native_NPDS_npDSJavaPeer_SetShowCaptioning
+native_NPDS_npDSJavaPeer_SetShowControls
+native_NPDS_npDSJavaPeer_SetShowDisplay
+native_NPDS_npDSJavaPeer_SetShowGotoBar
+native_NPDS_npDSJavaPeer_SetShowPositionControls
+native_NPDS_npDSJavaPeer_SetShowStatusBar
+native_NPDS_npDSJavaPeer_SetShowTracker
+native_NPDS_npDSJavaPeer_SetTransparentAtStart
+native_NPDS_npDSJavaPeer_SetVideoBorder3D
+native_NPDS_npDSJavaPeer_SetVideoBorderColor
+native_NPDS_npDSJavaPeer_SetVideoBorderWidth
+native_NPDS_npDSJavaPeer_SetVolume
+native_NPDS_npDSJavaPeer_Stop
+native_NPDS_npDSJavaPeer_StreamSelect
+unuse_NPDS_npDSEvtInterface
+unuse_NPDS_npDSJavaPeer
+unuse_netscape_plugin_Plugin
+use_NPDS_npDSEvtInterface
+use_NPDS_npDSJavaPeer
+use_netscape_plugin_Plugin
diff --git a/mingw-w64-crt/lib64/wnpptools.def b/mingw-w64-crt/lib64/wnpptools.def
index fb3ec51..9f762e8 100644
--- a/mingw-w64-crt/lib64/wnpptools.def
+++ b/mingw-w64-crt/lib64/wnpptools.def
@@ -1,73 +1,73 @@
-; 
-; Exports of file NPPTools.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NPPTools.dll
-EXPORTS
-ClearEventData
-ReleaseEventSystem
-SendEvent
-ConvertHexStringToWString
-ConvertWStringToHexString
-CreateBlob
-CreateNPPInterface
-DestroyBlob
-DuplicateBlob
-FilterNPPBlob
-FindOneOf
-FindUnknownBlobCategories
-FindUnknownBlobTags
-GetBoolFromBlob
-GetClassIDFromBlob
-GetDwordFromBlob
-GetMacAddressFromBlob
-GetNPPAddress2FilterFromBlob
-GetNPPAddressFilterFromBlob
-GetNPPBlobFromUI
-GetNPPBlobTable
-GetNPPEtypeSapFilter
-GetNPPMacTypeAsNumber
-GetNPPPatternFilterFromBlob
-GetNPPTriggerFromBlob
-GetNetworkInfoFromBlob
-GetStringFromBlob
-GetStringsFromBlob
-GetWStringFromBlob
-IsRemoteNPP
-LockBlob
-MarshalBlob
-MergeBlob
-NmAddUsedEntry
-NmHeapAllocate
-NmHeapFree
-NmHeapReallocate
-NmHeapSetMaxSize
-NmHeapSize
-NmRemoveUsedEntry
-RaiseNMEvent
-ReadBlobFromFile
-RegCreateBlobKey
-RegOpenBlobKey
-RemoveFromBlob
-SelectNPPBlobFromTable
-SetBoolInBlob
-SetClassIDInBlob
-SetDwordInBlob
-SetMacAddressInBlob
-SetNPPAddress2FilterInBlob
-SetNPPAddressFilterInBlob
-SetNPPEtypeSapFilter
-SetNPPPatternFilterInBlob
-SetNPPTriggerInBlob
-SetNetworkInfoInBlob
-SetStringInBlob
-SetWStringInBlob
-SubkeyExists
-UnMarshalBlob
-UnlockBlob
-WriteBlobToFile
-WriteCrackedBlobToFile
-recursiveDeleteKey
-setKeyAndValue
+; 
+; Exports of file NPPTools.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NPPTools.dll
+EXPORTS
+ClearEventData
+ReleaseEventSystem
+SendEvent
+ConvertHexStringToWString
+ConvertWStringToHexString
+CreateBlob
+CreateNPPInterface
+DestroyBlob
+DuplicateBlob
+FilterNPPBlob
+FindOneOf
+FindUnknownBlobCategories
+FindUnknownBlobTags
+GetBoolFromBlob
+GetClassIDFromBlob
+GetDwordFromBlob
+GetMacAddressFromBlob
+GetNPPAddress2FilterFromBlob
+GetNPPAddressFilterFromBlob
+GetNPPBlobFromUI
+GetNPPBlobTable
+GetNPPEtypeSapFilter
+GetNPPMacTypeAsNumber
+GetNPPPatternFilterFromBlob
+GetNPPTriggerFromBlob
+GetNetworkInfoFromBlob
+GetStringFromBlob
+GetStringsFromBlob
+GetWStringFromBlob
+IsRemoteNPP
+LockBlob
+MarshalBlob
+MergeBlob
+NmAddUsedEntry
+NmHeapAllocate
+NmHeapFree
+NmHeapReallocate
+NmHeapSetMaxSize
+NmHeapSize
+NmRemoveUsedEntry
+RaiseNMEvent
+ReadBlobFromFile
+RegCreateBlobKey
+RegOpenBlobKey
+RemoveFromBlob
+SelectNPPBlobFromTable
+SetBoolInBlob
+SetClassIDInBlob
+SetDwordInBlob
+SetMacAddressInBlob
+SetNPPAddress2FilterInBlob
+SetNPPAddressFilterInBlob
+SetNPPEtypeSapFilter
+SetNPPPatternFilterInBlob
+SetNPPTriggerInBlob
+SetNetworkInfoInBlob
+SetStringInBlob
+SetWStringInBlob
+SubkeyExists
+UnMarshalBlob
+UnlockBlob
+WriteBlobToFile
+WriteCrackedBlobToFile
+recursiveDeleteKey
+setKeyAndValue
diff --git a/mingw-w64-crt/lib64/wnshipsec.def b/mingw-w64-crt/lib64/wnshipsec.def
index 8f195bc..a7d1106 100644
--- a/mingw-w64-crt/lib64/wnshipsec.def
+++ b/mingw-w64-crt/lib64/wnshipsec.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file NSHIPSEC.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NSHIPSEC.DLL
-EXPORTS
-GetIpsecLastError
-GetResourceString
-InitHelperDll
+; 
+; Exports of file NSHIPSEC.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NSHIPSEC.DLL
+EXPORTS
+GetIpsecLastError
+GetResourceString
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/wntdll.def b/mingw-w64-crt/lib64/wntdll.def
index 38dda00..a4f66f8 100644
--- a/mingw-w64-crt/lib64/wntdll.def
+++ b/mingw-w64-crt/lib64/wntdll.def
@@ -1,1420 +1,1420 @@
-; 
-; Exports of file ntdll.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntdll.dll
-EXPORTS
-PropertyLengthAsVariant
-RtlConvertPropertyToVariant
-RtlConvertVariantToProperty
-RtlActivateActivationContextUnsafeFast
-RtlDeactivateActivationContextUnsafeFast
-RtlInterlockedPushListSList
-RtlUlongByteSwap
-RtlUlonglongByteSwap
-RtlUshortByteSwap
-ExpInterlockedPopEntrySListEnd
-ExpInterlockedPopEntrySListFault
-ExpInterlockedPopEntrySListResume
-CsrAllocateCaptureBuffer
-CsrAllocateMessagePointer
-CsrCaptureMessageBuffer
-CsrCaptureMessageMultiUnicodeStringsInPlace
-CsrCaptureMessageString
-CsrCaptureTimeout
-CsrClientCallServer
-CsrClientConnectToServer
-CsrFreeCaptureBuffer
-CsrGetProcessId
-CsrIdentifyAlertableThread
-CsrNewThread
-CsrProbeForRead
-CsrProbeForWrite
-CsrSetPriorityClass
-DbgBreakPoint
-DbgPrint
-DbgPrintEx
-DbgPrintReturnControlC
-DbgPrompt
-DbgQueryDebugFilterState
-DbgSetDebugFilterState
-DbgUiConnectToDbg
-DbgUiContinue
-DbgUiConvertStateChangeStructure
-DbgUiDebugActiveProcess
-DbgUiGetThreadDebugObject
-DbgUiIssueRemoteBreakin
-DbgUiRemoteBreakin
-DbgUiSetThreadDebugObject
-DbgUiStopDebugging
-DbgUiWaitStateChange
-DbgUserBreakPoint
-EtwControlTraceA
-EtwControlTraceW
-EtwCreateTraceInstanceId
-EtwEnableTrace
-EtwEnumerateTraceGuids
-EtwFlushTraceA
-EtwFlushTraceW
-EtwGetTraceEnableFlags
-EtwGetTraceEnableLevel
-EtwGetTraceLoggerHandle
-EtwNotificationRegistrationA
-EtwNotificationRegistrationW
-EtwQueryAllTracesA
-EtwQueryAllTracesW
-EtwQueryTraceA
-EtwQueryTraceW
-EtwReceiveNotificationsA
-EtwReceiveNotificationsW
-EtwRegisterTraceGuidsA
-EtwRegisterTraceGuidsW
-EtwStartTraceA
-EtwStartTraceW
-EtwStopTraceA
-EtwStopTraceW
-EtwTraceEvent
-EtwTraceEventInstance
-EtwTraceMessage
-EtwTraceMessageVa
-EtwUnregisterTraceGuids
-EtwUpdateTraceA
-EtwUpdateTraceW
-EtwpGetTraceBuffer
-EtwpSetHWConfigFunction
-KiFastSystemCall
-KiFastSystemCallRet
-KiIntSystemCall
-KiRaiseUserExceptionDispatcher
-KiUserApcDispatcher
-KiUserCallbackDispatcher
-KiUserExceptionDispatcher
-LdrAccessOutOfProcessResource
-LdrAccessResource
-LdrAddRefDll
-LdrAlternateResourcesEnabled
-LdrCreateOutOfProcessImage
-LdrDestroyOutOfProcessImage
-LdrDisableThreadCalloutsForDll
-LdrEnumResources
-LdrEnumerateLoadedModules
-LdrFindCreateProcessManifest
-LdrFindEntryForAddress
-LdrFindResourceDirectory_U
-LdrFindResourceEx_U
-LdrFindResource_U
-LdrFlushAlternateResourceModules
-LdrGetDllHandle
-LdrGetDllHandleEx
-LdrGetProcedureAddress
-LdrHotPatchRoutine
-LdrInitShimEngineDynamic
-LdrInitializeThunk
-LdrLoadAlternateResourceModule
-LdrLoadDll
-LdrLockLoaderLock
-LdrOpenImageFileOptionsKey
-LdrProcessRelocationBlock
-LdrQueryImageFileExecutionOptions
-LdrQueryImageFileExecutionOptionsEx
-LdrQueryImageFileKeyOption
-LdrQueryProcessModuleInformation
-LdrSetAppCompatDllRedirectionCallback
-LdrSetDllManifestProber
-LdrShutdownProcess
-LdrShutdownThread
-LdrUnloadAlternateResourceModule
-LdrUnloadDll
-LdrUnlockLoaderLock
-LdrVerifyImageMatchesChecksum
-NlsAnsiCodePage DATA
-NlsMbCodePageTag DATA
-NlsMbOemCodePageTag DATA
-NtAcceptConnectPort
-NtAccessCheck
-NtAccessCheckAndAuditAlarm
-NtAccessCheckByType
-NtAccessCheckByTypeAndAuditAlarm
-NtAccessCheckByTypeResultList
-NtAccessCheckByTypeResultListAndAuditAlarm
-NtAccessCheckByTypeResultListAndAuditAlarmByHandle
-NtAddAtom
-NtAddBootEntry
-NtAddDriverEntry
-NtAdjustGroupsToken
-NtAdjustPrivilegesToken
-NtAlertResumeThread
-NtAlertThread
-NtAllocateLocallyUniqueId
-NtAllocateUserPhysicalPages
-NtAllocateUuids
-NtAllocateVirtualMemory
-NtApphelpCacheControl
-NtAreMappedFilesTheSame
-NtAssignProcessToJobObject
-NtCallbackReturn
-NtCancelDeviceWakeupRequest
-NtCancelIoFile
-NtCancelTimer
-NtClearEvent
-NtClose
-NtCloseObjectAuditAlarm
-NtCompactKeys
-NtCompareTokens
-NtCompleteConnectPort
-NtCompressKey
-NtConnectPort
-NtContinue
-NtCreateDebugObject
-NtCreateDirectoryObject
-NtCreateEvent
-NtCreateEventPair
-NtCreateFile
-NtCreateIoCompletion
-NtCreateJobObject
-NtCreateJobSet
-NtCreateKey
-NtCreateKeyedEvent
-NtCreateMailslotFile
-NtCreateMutant
-NtCreateNamedPipeFile
-NtCreatePagingFile
-NtCreatePort
-NtCreateProcess
-NtCreateProcessEx
-NtCreateProfile
-NtCreateSection
-NtCreateSemaphore
-NtCreateSymbolicLinkObject
-NtCreateThread
-NtCreateTimer
-NtCreateToken
-NtCreateWaitablePort
-NtCurrentTeb
-NtDebugActiveProcess
-NtDebugContinue
-NtDelayExecution
-NtDeleteAtom
-NtDeleteBootEntry
-NtDeleteDriverEntry
-NtDeleteFile
-NtDeleteKey
-NtDeleteObjectAuditAlarm
-NtDeleteValueKey
-NtDeviceIoControlFile
-NtDisplayString
-NtDuplicateObject
-NtDuplicateToken
-NtEnumerateBootEntries
-NtEnumerateDriverEntries
-NtEnumerateKey
-NtEnumerateSystemEnvironmentValuesEx
-NtEnumerateValueKey
-NtExtendSection
-NtFilterToken
-NtFindAtom
-NtFlushBuffersFile
-NtFlushInstructionCache
-NtFlushKey
-NtFlushVirtualMemory
-NtFlushWriteBuffer
-NtFreeUserPhysicalPages
-NtFreeVirtualMemory
-NtFsControlFile
-NtGetContextThread
-NtGetCurrentProcessorNumber
-NtGetDevicePowerState
-NtGetPlugPlayEvent
-NtGetTickCount
-NtGetWriteWatch
-NtImpersonateAnonymousToken
-NtImpersonateClientOfPort
-NtImpersonateThread
-NtInitializeRegistry
-NtInitiatePowerAction
-NtIsProcessInJob
-NtIsSystemResumeAutomatic
-NtListenPort
-NtLoadDriver
-NtLoadKey2
-NtLoadKey
-NtLoadKeyEx
-NtLockFile
-NtLockProductActivationKeys
-NtLockRegistryKey
-NtLockVirtualMemory
-NtMakePermanentObject
-NtMakeTemporaryObject
-NtMapUserPhysicalPages
-NtMapUserPhysicalPagesScatter
-NtMapViewOfSection
-NtModifyBootEntry
-NtModifyDriverEntry
-NtNotifyChangeDirectoryFile
-NtNotifyChangeKey
-NtNotifyChangeMultipleKeys
-NtOpenDirectoryObject
-NtOpenEvent
-NtOpenEventPair
-NtOpenFile
-NtOpenIoCompletion
-NtOpenJobObject
-NtOpenKey
-NtOpenKeyedEvent
-NtOpenMutant
-NtOpenObjectAuditAlarm
-NtOpenProcess
-NtOpenProcessToken
-NtOpenProcessTokenEx
-NtOpenSection
-NtOpenSemaphore
-NtOpenSymbolicLinkObject
-NtOpenThread
-NtOpenThreadToken
-NtOpenThreadTokenEx
-NtOpenTimer
-NtPlugPlayControl
-NtPowerInformation
-NtPrivilegeCheck
-NtPrivilegeObjectAuditAlarm
-NtPrivilegedServiceAuditAlarm
-NtProtectVirtualMemory
-NtPulseEvent
-NtQueryAttributesFile
-NtQueryBootEntryOrder
-NtQueryBootOptions
-NtQueryDebugFilterState
-NtQueryDefaultLocale
-NtQueryDefaultUILanguage
-NtQueryDirectoryFile
-NtQueryDirectoryObject
-NtQueryDriverEntryOrder
-NtQueryEaFile
-NtQueryEvent
-NtQueryFullAttributesFile
-NtQueryInformationAtom
-NtQueryInformationFile
-NtQueryInformationJobObject
-NtQueryInformationPort
-NtQueryInformationProcess
-NtQueryInformationThread
-NtQueryInformationToken
-NtQueryInstallUILanguage
-NtQueryIntervalProfile
-NtQueryIoCompletion
-NtQueryKey
-NtQueryMultipleValueKey
-NtQueryMutant
-NtQueryObject
-NtQueryOpenSubKeys
-NtQueryOpenSubKeysEx
-NtQueryPerformanceCounter
-NtQueryPortInformationProcess
-NtQueryQuotaInformationFile
-NtQuerySection
-NtQuerySecurityObject
-NtQuerySemaphore
-NtQuerySymbolicLinkObject
-NtQuerySystemEnvironmentValue
-NtQuerySystemEnvironmentValueEx
-NtQuerySystemInformation
-NtQuerySystemTime
-NtQueryTimer
-NtQueryTimerResolution
-NtQueryValueKey
-NtQueryVirtualMemory
-NtQueryVolumeInformationFile
-NtQueueApcThread
-NtRaiseException
-NtRaiseHardError
-NtReadFile
-NtReadFileScatter
-NtReadRequestData
-NtReadVirtualMemory
-NtRegisterThreadTerminatePort
-NtReleaseKeyedEvent
-NtReleaseMutant
-NtReleaseSemaphore
-NtRemoveIoCompletion
-NtRemoveProcessDebug
-NtRenameKey
-NtReplaceKey
-NtReplyPort
-NtReplyWaitReceivePort
-NtReplyWaitReceivePortEx
-NtReplyWaitReplyPort
-NtRequestDeviceWakeup
-NtRequestPort
-NtRequestWaitReplyPort
-NtRequestWakeupLatency
-NtResetEvent
-NtResetWriteWatch
-NtRestoreKey
-NtResumeProcess
-NtResumeThread
-NtSaveKey
-NtSaveKeyEx
-NtSaveMergedKeys
-NtSecureConnectPort
-NtSetBootEntryOrder
-NtSetBootOptions
-NtSetContextThread
-NtSetDebugFilterState
-NtSetDefaultHardErrorPort
-NtSetDefaultLocale
-NtSetDefaultUILanguage
-NtSetDriverEntryOrder
-NtSetEaFile
-NtSetEvent
-NtSetEventBoostPriority
-NtSetHighEventPair
-NtSetHighWaitLowEventPair
-NtSetInformationDebugObject
-NtSetInformationFile
-NtSetInformationJobObject
-NtSetInformationKey
-NtSetInformationObject
-NtSetInformationProcess
-NtSetInformationThread
-NtSetInformationToken
-NtSetIntervalProfile
-NtSetIoCompletion
-NtSetLdtEntries
-NtSetLowEventPair
-NtSetLowWaitHighEventPair
-NtSetQuotaInformationFile
-NtSetSecurityObject
-NtSetSystemEnvironmentValue
-NtSetSystemEnvironmentValueEx
-NtSetSystemInformation
-NtSetSystemPowerState
-NtSetSystemTime
-NtSetThreadExecutionState
-NtSetTimer
-NtSetTimerResolution
-NtSetUuidSeed
-NtSetValueKey
-NtSetVolumeInformationFile
-NtShutdownSystem
-NtSignalAndWaitForSingleObject
-NtStartProfile
-NtStopProfile
-NtSuspendProcess
-NtSuspendThread
-NtSystemDebugControl
-NtTerminateJobObject
-NtTerminateProcess
-NtTerminateThread
-NtTestAlert
-NtTraceEvent
-NtTranslateFilePath
-NtUnloadDriver
-NtUnloadKey2
-NtUnloadKey
-NtUnloadKeyEx
-NtUnlockFile
-NtUnlockVirtualMemory
-NtUnmapViewOfSection
-NtVdmControl
-NtWaitForDebugEvent
-NtWaitForKeyedEvent
-NtWaitForMultipleObjects32
-NtWaitForMultipleObjects
-NtWaitForSingleObject
-NtWaitHighEventPair
-NtWaitLowEventPair
-NtWow64CsrAllocateCaptureBuffer
-NtWow64CsrAllocateMessagePointer
-NtWow64CsrCaptureMessageBuffer
-NtWow64CsrCaptureMessageString
-NtWow64CsrClientCallServer
-NtWow64CsrClientConnectToServer
-NtWow64CsrFreeCaptureBuffer
-NtWow64CsrGetProcessId
-NtWow64CsrIdentifyAlertableThread
-NtWow64CsrNewThread
-NtWow64CsrSetPriorityClass
-NtWow64DebuggerCall
-NtWow64GetNativeSystemInformation
-NtWow64QueryInformationProcess64
-NtWow64QueryVirtualMemory64
-NtWow64ReadVirtualMemory64
-NtWriteFile
-NtWriteFileGather
-NtWriteRequestData
-NtWriteVirtualMemory
-NtYieldExecution
-PfxFindPrefix
-PfxInitialize
-PfxInsertPrefix
-PfxRemovePrefix
-RtlAbortRXact
-RtlAbsoluteToSelfRelativeSD
-RtlAcquirePebLock
-RtlAcquirePrivilege
-RtlAcquireResourceExclusive
-RtlAcquireResourceShared
-RtlActivateActivationContext
-RtlActivateActivationContextEx
-RtlAddAccessAllowedAce
-RtlAddAccessAllowedAceEx
-RtlAddAccessAllowedObjectAce
-RtlAddAccessDeniedAce
-RtlAddAccessDeniedAceEx
-RtlAddAccessDeniedObjectAce
-RtlAddAce
-RtlAddActionToRXact
-RtlAddAtomToAtomTable
-RtlAddAttributeActionToRXact
-RtlAddAuditAccessAce
-RtlAddAuditAccessAceEx
-RtlAddAuditAccessObjectAce
-RtlAddCompoundAce
-RtlAddRefActivationContext
-RtlAddVectoredContinueHandler
-RtlAddVectoredExceptionHandler
-RtlAddressInSectionTable
-RtlAdjustPrivilege
-RtlAllocateActivationContextStack
-RtlAllocateAndInitializeSid
-RtlAllocateHandle
-RtlAllocateHeap
-RtlAnsiCharToUnicodeChar
-RtlAnsiStringToUnicodeSize
-RtlAnsiStringToUnicodeString
-RtlAppendAsciizToString
-RtlAppendPathElement
-RtlAppendStringToString
-RtlAppendUnicodeStringToString
-RtlAppendUnicodeToString
-RtlApplicationVerifierStop
-RtlApplyRXact
-RtlApplyRXactNoFlush
-RtlAreAllAccessesGranted
-RtlAreAnyAccessesGranted
-RtlAreBitsClear
-RtlAreBitsSet
-RtlAssert
-RtlCancelTimer
-RtlCaptureContext
-RtlCaptureStackBackTrace
-RtlCaptureStackContext
-RtlCharToInteger
-RtlCheckForOrphanedCriticalSections
-RtlCheckProcessParameters
-RtlCheckRegistryKey
-RtlClearAllBits
-RtlClearBits
-RtlCompactHeap
-RtlCompareMemory
-RtlCompareMemoryUlong
-RtlCompareString
-RtlCompareUnicodeString
-RtlCompressBuffer
-RtlComputeCrc32
-RtlComputeImportTableHash
-RtlComputePrivatizedDllName_U
-RtlConsoleMultiByteToUnicodeN
-RtlConvertExclusiveToShared
-RtlConvertLongToLargeInteger
-RtlConvertSharedToExclusive
-RtlConvertSidToUnicodeString
-RtlConvertToAutoInheritSecurityObject
-RtlConvertUiListToApiList
-RtlConvertUlongToLargeInteger
-RtlCopyLuid
-RtlCopyLuidAndAttributesArray
-RtlCopyMappedMemory
-RtlCopySecurityDescriptor
-RtlCopySid
-RtlCopySidAndAttributesArray
-RtlCopyString
-RtlCopyUnicodeString
-RtlCreateAcl
-RtlCreateActivationContext
-RtlCreateAndSetSD
-RtlCreateAtomTable
-RtlCreateBootStatusDataFile
-RtlCreateEnvironment
-RtlCreateHeap
-RtlCreateProcessParameters
-RtlCreateQueryDebugBuffer
-RtlCreateRegistryKey
-RtlCreateSecurityDescriptor
-RtlCreateSystemVolumeInformationFolder
-RtlCreateTagHeap
-RtlCreateTimer
-RtlCreateTimerQueue
-RtlCreateUnicodeString
-RtlCreateUnicodeStringFromAsciiz
-RtlCreateUserProcess
-RtlCreateUserSecurityObject
-RtlCreateUserThread
-RtlCustomCPToUnicodeN
-RtlCutoverTimeToSystemTime
-RtlDeNormalizeProcessParams
-RtlDeactivateActivationContext
-RtlDebugPrintTimes
-RtlDecodePointer
-RtlDecodeSystemPointer
-RtlDecompressBuffer
-RtlDecompressFragment
-RtlDefaultNpAcl
-RtlDelete
-RtlDeleteAce
-RtlDeleteAtomFromAtomTable
-RtlDeleteCriticalSection
-RtlDeleteElementGenericTable
-RtlDeleteElementGenericTableAvl
-RtlDeleteNoSplay
-RtlDeleteRegistryValue
-RtlDeleteResource
-RtlDeleteSecurityObject
-RtlDeleteTimer
-RtlDeleteTimerQueue
-RtlDeleteTimerQueueEx
-RtlDeregisterWait
-RtlDeregisterWaitEx
-RtlDestroyAtomTable
-RtlDestroyEnvironment
-RtlDestroyHandleTable
-RtlDestroyHeap
-RtlDestroyProcessParameters
-RtlDestroyQueryDebugBuffer
-RtlDetermineDosPathNameType_U
-RtlDllShutdownInProgress
-RtlDnsHostNameToComputerName
-RtlDoesFileExists_U
-RtlDosApplyFileIsolationRedirection_Ustr
-RtlDosPathNameToNtPathName_U
-RtlDosPathNameToNtPathName_U_WithStatus
-RtlDosPathNameToRelativeNtPathName_U
-RtlDosPathNameToRelativeNtPathName_U_WithStatus
-RtlDosSearchPath_U
-RtlDosSearchPath_Ustr
-RtlDowncaseUnicodeChar
-RtlDowncaseUnicodeString
-RtlDumpResource
-RtlDuplicateUnicodeString
-RtlEmptyAtomTable
-RtlEnableEarlyCriticalSectionEventCreation
-RtlEncodePointer
-RtlEncodeSystemPointer
-RtlEnlargedIntegerMultiply
-RtlEnlargedUnsignedDivide
-RtlEnlargedUnsignedMultiply
-RtlEnterCriticalSection
-RtlEnumProcessHeaps
-RtlEnumerateGenericTable
-RtlEnumerateGenericTableAvl
-RtlEnumerateGenericTableLikeADirectory
-RtlEnumerateGenericTableWithoutSplaying
-RtlEnumerateGenericTableWithoutSplayingAvl
-RtlEqualComputerName
-RtlEqualDomainName
-RtlEqualLuid
-RtlEqualPrefixSid
-RtlEqualSid
-RtlEqualString
-RtlEqualUnicodeString
-RtlEraseUnicodeString
-RtlExitUserThread
-RtlExpandEnvironmentStrings_U
-RtlExtendHeap
-RtlExtendedIntegerMultiply
-RtlExtendedLargeIntegerDivide
-RtlExtendedMagicDivide
-RtlFillMemory
-RtlFillMemoryUlong
-RtlFindActivationContextSectionGuid
-RtlFindActivationContextSectionString
-RtlFindCharInUnicodeString
-RtlFindClearBits
-RtlFindClearBitsAndSet
-RtlFindClearRuns
-RtlFindLastBackwardRunClear
-RtlFindLeastSignificantBit
-RtlFindLongestRunClear
-RtlFindMessage
-RtlFindMostSignificantBit
-RtlFindNextForwardRunClear
-RtlFindSetBits
-RtlFindSetBitsAndClear
-RtlFirstEntrySList
-RtlFirstFreeAce
-RtlFlushSecureMemoryCache
-RtlFormatCurrentUserKeyPath
-RtlFormatMessage
-RtlFormatMessageEx
-RtlFreeActivationContextStack
-RtlFreeAnsiString
-RtlFreeHandle
-RtlFreeHeap
-RtlFreeOemString
-RtlFreeSid
-RtlFreeThreadActivationContextStack
-RtlFreeUnicodeString
-RtlFreeUserThreadStack
-RtlGUIDFromString
-RtlGenerate8dot3Name
-RtlGetAce
-RtlGetActiveActivationContext
-RtlGetCallersAddress
-RtlGetCompressionWorkSpaceSize
-RtlGetControlSecurityDescriptor
-RtlGetCriticalSectionRecursionCount
-RtlGetCurrentDirectory_U
-RtlGetCurrentPeb
-RtlGetCurrentProcessorNumber
-RtlGetDaclSecurityDescriptor
-RtlGetElementGenericTable
-RtlGetElementGenericTableAvl
-RtlGetFrame
-RtlGetFullPathName_U
-RtlGetFullPathName_UstrEx
-RtlGetGroupSecurityDescriptor
-RtlGetLastNtStatus
-RtlGetLastWin32Error
-RtlGetLengthWithoutLastFullDosOrNtPathElement
-RtlGetLengthWithoutTrailingPathSeperators
-RtlGetLongestNtPathLength
-RtlGetNativeSystemInformation
-RtlGetNtGlobalFlags
-RtlGetNtProductType
-RtlGetNtVersionNumbers
-RtlGetOwnerSecurityDescriptor
-RtlGetProcessHeaps
-RtlGetSaclSecurityDescriptor
-RtlGetSecurityDescriptorRMControl
-RtlGetSetBootStatusData
-RtlGetThreadErrorMode
-RtlGetUnloadEventTrace
-RtlGetUserInfoHeap
-RtlGetVersion
-RtlHashUnicodeString
-RtlIdentifierAuthoritySid
-RtlImageDirectoryEntryToData
-RtlImageNtHeader
-RtlImageNtHeaderEx
-RtlImageRvaToSection
-RtlImageRvaToVa
-RtlImpersonateSelf
-RtlInitAnsiString
-RtlInitAnsiStringEx
-RtlInitCodePageTable
-RtlInitNlsTables
-RtlInitString
-RtlInitUnicodeString
-RtlInitUnicodeStringEx
-RtlInitializeAtomPackage
-RtlInitializeBitMap
-RtlInitializeContext
-RtlInitializeCriticalSection
-RtlInitializeCriticalSectionAndSpinCount
-RtlInitializeGenericTable
-RtlInitializeGenericTableAvl
-RtlInitializeHandleTable
-RtlInitializeRXact
-RtlInitializeResource
-RtlInitializeSListHead
-RtlInitializeSid
-RtlInsertElementGenericTable
-RtlInsertElementGenericTableAvl
-RtlInsertElementGenericTableFull
-RtlInsertElementGenericTableFullAvl
-RtlInt64ToUnicodeString
-RtlIntegerToChar
-RtlIntegerToUnicodeString
-RtlInterlockedCompareExchange64
-RtlInterlockedFlushSList
-RtlInterlockedPopEntrySList
-RtlInterlockedPushEntrySList
-RtlIpv4AddressToStringA
-RtlIpv4AddressToStringExA
-RtlIpv4AddressToStringExW
-RtlIpv4AddressToStringW
-RtlIpv4StringToAddressA
-RtlIpv4StringToAddressExA
-RtlIpv4StringToAddressExW
-RtlIpv4StringToAddressW
-RtlIpv6AddressToStringA
-RtlIpv6AddressToStringExA
-RtlIpv6AddressToStringExW
-RtlIpv6AddressToStringW
-RtlIpv6StringToAddressA
-RtlIpv6StringToAddressExA
-RtlIpv6StringToAddressExW
-RtlIpv6StringToAddressW
-RtlIsActivationContextActive
-RtlIsCriticalSectionLocked
-RtlIsCriticalSectionLockedByThread
-RtlIsDosDeviceName_U
-RtlIsGenericTableEmpty
-RtlIsGenericTableEmptyAvl
-RtlIsNameLegalDOS8Dot3
-RtlIsTextUnicode
-RtlIsThreadWithinLoaderCallout
-RtlIsValidHandle
-RtlIsValidIndexHandle
-RtlLargeIntegerAdd
-RtlLargeIntegerArithmeticShift
-RtlLargeIntegerDivide
-RtlLargeIntegerNegate
-RtlLargeIntegerShiftLeft
-RtlLargeIntegerShiftRight
-RtlLargeIntegerSubtract
-RtlLargeIntegerToChar
-RtlLeaveCriticalSection
-RtlLengthRequiredSid
-RtlLengthSecurityDescriptor
-RtlLengthSid
-RtlLocalTimeToSystemTime
-RtlLockBootStatusData
-RtlLockHeap
-RtlLogStackBackTrace
-RtlLookupAtomInAtomTable
-RtlLookupElementGenericTable
-RtlLookupElementGenericTableAvl
-RtlLookupElementGenericTableFull
-RtlLookupElementGenericTableFullAvl
-RtlMakeSelfRelativeSD
-RtlMapGenericMask
-RtlMapSecurityErrorToNtStatus
-RtlMoveMemory
-RtlMultiAppendUnicodeStringBuffer
-RtlMultiByteToUnicodeN
-RtlMultiByteToUnicodeSize
-RtlMultipleAllocateHeap
-RtlMultipleFreeHeap
-RtlNewInstanceSecurityObject
-RtlNewSecurityGrantedAccess
-RtlNewSecurityObject
-RtlNewSecurityObjectEx
-RtlNewSecurityObjectWithMultipleInheritance
-RtlNormalizeProcessParams
-RtlNtPathNameToDosPathName
-RtlNtStatusToDosError
-RtlNtStatusToDosErrorNoTeb
-RtlNumberGenericTableElements
-RtlNumberGenericTableElementsAvl
-RtlNumberOfClearBits
-RtlNumberOfSetBits
-RtlOemStringToUnicodeSize
-RtlOemStringToUnicodeString
-RtlOemToUnicodeN
-RtlOpenCurrentUser
-RtlPcToFileHeader
-RtlPinAtomInAtomTable
-RtlPopFrame
-RtlPrefixString
-RtlPrefixUnicodeString
-RtlProtectHeap
-RtlPushFrame
-RtlQueryAtomInAtomTable
-RtlQueryDepthSList
-RtlQueryEnvironmentVariable_U
-RtlQueryHeapInformation
-RtlQueryInformationAcl
-RtlQueryInformationActivationContext
-RtlQueryInformationActiveActivationContext
-RtlQueryProcessBackTraceInformation
-RtlQueryProcessDebugInformation
-RtlQueryProcessHeapInformation
-RtlQueryProcessLockInformation
-RtlQueryRegistryValues
-RtlQuerySecurityObject
-RtlQueryTagHeap
-RtlQueryTimeZoneInformation
-RtlQueueApcWow64Thread
-RtlQueueWorkItem
-RtlRaiseException
-RtlRaiseStatus
-RtlRandom
-RtlRandomEx
-RtlReAllocateHeap
-RtlRealPredecessor
-RtlRealSuccessor
-RtlRegisterSecureMemoryCacheCallback
-RtlRegisterWait
-RtlReleaseActivationContext
-RtlReleasePebLock
-RtlReleasePrivilege
-RtlReleaseRelativeName
-RtlReleaseResource
-RtlRemoteCall
-RtlRemoveVectoredContinueHandler
-RtlRemoveVectoredExceptionHandler
-RtlResetRtlTranslations
-RtlRestoreLastWin32Error
-RtlRunDecodeUnicodeString
-RtlRunEncodeUnicodeString
-RtlSecondsSince1970ToTime
-RtlSecondsSince1980ToTime
-RtlSelfRelativeToAbsoluteSD2
-RtlSelfRelativeToAbsoluteSD
-RtlSetAllBits
-RtlSetAttributesSecurityDescriptor
-RtlSetBits
-RtlSetControlSecurityDescriptor
-RtlSetCriticalSectionSpinCount
-RtlSetCurrentDirectory_U
-RtlSetCurrentEnvironment
-RtlSetDaclSecurityDescriptor
-RtlSetEnvironmentStrings
-RtlSetEnvironmentVariable
-RtlSetGroupSecurityDescriptor
-RtlSetHeapInformation
-RtlSetInformationAcl
-RtlSetIoCompletionCallback
-RtlSetLastWin32Error
-RtlSetLastWin32ErrorAndNtStatusFromNtStatus
-RtlSetOwnerSecurityDescriptor
-RtlSetProcessIsCritical
-RtlSetSaclSecurityDescriptor
-RtlSetSecurityDescriptorRMControl
-RtlSetSecurityObject
-RtlSetSecurityObjectEx
-RtlSetThreadErrorMode
-RtlSetThreadIsCritical
-RtlSetThreadPoolStartFunc
-RtlSetTimeZoneInformation
-RtlSetTimer
-RtlSetUnhandledExceptionFilter
-RtlSetUnicodeCallouts
-RtlSetUserFlagsHeap
-RtlSetUserValueHeap
-RtlSizeHeap
-RtlSplay
-RtlStartRXact
-RtlStringFromGUID
-RtlSubAuthorityCountSid
-RtlSubAuthoritySid
-RtlSubtreePredecessor
-RtlSubtreeSuccessor
-RtlSystemTimeToLocalTime
-RtlTimeFieldsToTime
-RtlTimeToElapsedTimeFields
-RtlTimeToSecondsSince1970
-RtlTimeToSecondsSince1980
-RtlTimeToTimeFields
-RtlTraceDatabaseAdd
-RtlTraceDatabaseCreate
-RtlTraceDatabaseDestroy
-RtlTraceDatabaseEnumerate
-RtlTraceDatabaseFind
-RtlTraceDatabaseLock
-RtlTraceDatabaseUnlock
-RtlTraceDatabaseValidate
-RtlTryEnterCriticalSection
-RtlUnhandledExceptionFilter2
-RtlUnhandledExceptionFilter
-RtlUnicodeStringToAnsiSize
-RtlUnicodeStringToAnsiString
-RtlUnicodeStringToCountedOemString
-RtlUnicodeStringToInteger
-RtlUnicodeStringToOemSize
-RtlUnicodeStringToOemString
-RtlUnicodeToCustomCPN
-RtlUnicodeToMultiByteN
-RtlUnicodeToMultiByteSize
-RtlUnicodeToOemN
-RtlUniform
-RtlUnlockBootStatusData
-RtlUnlockHeap
-RtlUnwind
-RtlUpcaseUnicodeChar
-RtlUpcaseUnicodeString
-RtlUpcaseUnicodeStringToAnsiString
-RtlUpcaseUnicodeStringToCountedOemString
-RtlUpcaseUnicodeStringToOemString
-RtlUpcaseUnicodeToCustomCPN
-RtlUpcaseUnicodeToMultiByteN
-RtlUpcaseUnicodeToOemN
-RtlUpdateTimer
-RtlUpperChar
-RtlUpperString
-RtlUsageHeap
-RtlValidAcl
-RtlValidRelativeSecurityDescriptor
-RtlValidSecurityDescriptor
-RtlValidSid
-RtlValidateHeap
-RtlValidateProcessHeaps
-RtlValidateUnicodeString
-RtlVerifyVersionInfo
-RtlWalkFrameChain
-RtlWalkHeap
-RtlWow64EnableFsRedirection
-RtlWow64EnableFsRedirectionEx
-RtlWriteRegistryValue
-RtlZeroHeap
-RtlZeroMemory
-RtlZombifyActivationContext
-RtlpApplyLengthFunction
-RtlpEnsureBufferSize
-RtlpNotOwnerCriticalSection
-RtlpNtCreateKey
-RtlpNtEnumerateSubKey
-RtlpNtMakeTemporaryKey
-RtlpNtOpenKey
-RtlpNtQueryValueKey
-RtlpNtSetValueKey
-RtlpUnWaitCriticalSection
-RtlpWaitForCriticalSection
-RtlxAnsiStringToUnicodeSize
-RtlxOemStringToUnicodeSize
-RtlxUnicodeStringToAnsiSize
-RtlxUnicodeStringToOemSize
-VerSetConditionMask
-ZwAcceptConnectPort
-ZwAccessCheck
-ZwAccessCheckAndAuditAlarm
-ZwAccessCheckByType
-ZwAccessCheckByTypeAndAuditAlarm
-ZwAccessCheckByTypeResultList
-ZwAccessCheckByTypeResultListAndAuditAlarm
-ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
-ZwAddAtom
-ZwAddBootEntry
-ZwAddDriverEntry
-ZwAdjustGroupsToken
-ZwAdjustPrivilegesToken
-ZwAlertResumeThread
-ZwAlertThread
-ZwAllocateLocallyUniqueId
-ZwAllocateUserPhysicalPages
-ZwAllocateUuids
-ZwAllocateVirtualMemory
-ZwApphelpCacheControl
-ZwAreMappedFilesTheSame
-ZwAssignProcessToJobObject
-ZwCallbackReturn
-ZwCancelDeviceWakeupRequest
-ZwCancelIoFile
-ZwCancelTimer
-ZwClearEvent
-ZwClose
-ZwCloseObjectAuditAlarm
-ZwCompactKeys
-ZwCompareTokens
-ZwCompleteConnectPort
-ZwCompressKey
-ZwConnectPort
-ZwContinue
-ZwCreateDebugObject
-ZwCreateDirectoryObject
-ZwCreateEvent
-ZwCreateEventPair
-ZwCreateFile
-ZwCreateIoCompletion
-ZwCreateJobObject
-ZwCreateJobSet
-ZwCreateKey
-ZwCreateKeyedEvent
-ZwCreateMailslotFile
-ZwCreateMutant
-ZwCreateNamedPipeFile
-ZwCreatePagingFile
-ZwCreatePort
-ZwCreateProcess
-ZwCreateProcessEx
-ZwCreateProfile
-ZwCreateSection
-ZwCreateSemaphore
-ZwCreateSymbolicLinkObject
-ZwCreateThread
-ZwCreateTimer
-ZwCreateToken
-ZwCreateWaitablePort
-ZwDebugActiveProcess
-ZwDebugContinue
-ZwDelayExecution
-ZwDeleteAtom
-ZwDeleteBootEntry
-ZwDeleteDriverEntry
-ZwDeleteFile
-ZwDeleteKey
-ZwDeleteObjectAuditAlarm
-ZwDeleteValueKey
-ZwDeviceIoControlFile
-ZwDisplayString
-ZwDuplicateObject
-ZwDuplicateToken
-ZwEnumerateBootEntries
-ZwEnumerateDriverEntries
-ZwEnumerateKey
-ZwEnumerateSystemEnvironmentValuesEx
-ZwEnumerateValueKey
-ZwExtendSection
-ZwFilterToken
-ZwFindAtom
-ZwFlushBuffersFile
-ZwFlushInstructionCache
-ZwFlushKey
-ZwFlushVirtualMemory
-ZwFlushWriteBuffer
-ZwFreeUserPhysicalPages
-ZwFreeVirtualMemory
-ZwFsControlFile
-ZwGetContextThread
-ZwGetCurrentProcessorNumber
-ZwGetDevicePowerState
-ZwGetPlugPlayEvent
-ZwGetWriteWatch
-ZwImpersonateAnonymousToken
-ZwImpersonateClientOfPort
-ZwImpersonateThread
-ZwInitializeRegistry
-ZwInitiatePowerAction
-ZwIsProcessInJob
-ZwIsSystemResumeAutomatic
-ZwListenPort
-ZwLoadDriver
-ZwLoadKey2
-ZwLoadKey
-ZwLoadKeyEx
-ZwLockFile
-ZwLockProductActivationKeys
-ZwLockRegistryKey
-ZwLockVirtualMemory
-ZwMakePermanentObject
-ZwMakeTemporaryObject
-ZwMapUserPhysicalPages
-ZwMapUserPhysicalPagesScatter
-ZwMapViewOfSection
-ZwModifyBootEntry
-ZwModifyDriverEntry
-ZwNotifyChangeDirectoryFile
-ZwNotifyChangeKey
-ZwNotifyChangeMultipleKeys
-ZwOpenDirectoryObject
-ZwOpenEvent
-ZwOpenEventPair
-ZwOpenFile
-ZwOpenIoCompletion
-ZwOpenJobObject
-ZwOpenKey
-ZwOpenKeyedEvent
-ZwOpenMutant
-ZwOpenObjectAuditAlarm
-ZwOpenProcess
-ZwOpenProcessToken
-ZwOpenProcessTokenEx
-ZwOpenSection
-ZwOpenSemaphore
-ZwOpenSymbolicLinkObject
-ZwOpenThread
-ZwOpenThreadToken
-ZwOpenThreadTokenEx
-ZwOpenTimer
-ZwPlugPlayControl
-ZwPowerInformation
-ZwPrivilegeCheck
-ZwPrivilegeObjectAuditAlarm
-ZwPrivilegedServiceAuditAlarm
-ZwProtectVirtualMemory
-ZwPulseEvent
-ZwQueryAttributesFile
-ZwQueryBootEntryOrder
-ZwQueryBootOptions
-ZwQueryDebugFilterState
-ZwQueryDefaultLocale
-ZwQueryDefaultUILanguage
-ZwQueryDirectoryFile
-ZwQueryDirectoryObject
-ZwQueryDriverEntryOrder
-ZwQueryEaFile
-ZwQueryEvent
-ZwQueryFullAttributesFile
-ZwQueryInformationAtom
-ZwQueryInformationFile
-ZwQueryInformationJobObject
-ZwQueryInformationPort
-ZwQueryInformationProcess
-ZwQueryInformationThread
-ZwQueryInformationToken
-ZwQueryInstallUILanguage
-ZwQueryIntervalProfile
-ZwQueryIoCompletion
-ZwQueryKey
-ZwQueryMultipleValueKey
-ZwQueryMutant
-ZwQueryObject
-ZwQueryOpenSubKeys
-ZwQueryOpenSubKeysEx
-ZwQueryPerformanceCounter
-ZwQueryPortInformationProcess
-ZwQueryQuotaInformationFile
-ZwQuerySection
-ZwQuerySecurityObject
-ZwQuerySemaphore
-ZwQuerySymbolicLinkObject
-ZwQuerySystemEnvironmentValue
-ZwQuerySystemEnvironmentValueEx
-ZwQuerySystemInformation
-ZwQuerySystemTime
-ZwQueryTimer
-ZwQueryTimerResolution
-ZwQueryValueKey
-ZwQueryVirtualMemory
-ZwQueryVolumeInformationFile
-ZwQueueApcThread
-ZwRaiseException
-ZwRaiseHardError
-ZwReadFile
-ZwReadFileScatter
-ZwReadRequestData
-ZwReadVirtualMemory
-ZwRegisterThreadTerminatePort
-ZwReleaseKeyedEvent
-ZwReleaseMutant
-ZwReleaseSemaphore
-ZwRemoveIoCompletion
-ZwRemoveProcessDebug
-ZwRenameKey
-ZwReplaceKey
-ZwReplyPort
-ZwReplyWaitReceivePort
-ZwReplyWaitReceivePortEx
-ZwReplyWaitReplyPort
-ZwRequestDeviceWakeup
-ZwRequestPort
-ZwRequestWaitReplyPort
-ZwRequestWakeupLatency
-ZwResetEvent
-ZwResetWriteWatch
-ZwRestoreKey
-ZwResumeProcess
-ZwResumeThread
-ZwSaveKey
-ZwSaveKeyEx
-ZwSaveMergedKeys
-ZwSecureConnectPort
-ZwSetBootEntryOrder
-ZwSetBootOptions
-ZwSetContextThread
-ZwSetDebugFilterState
-ZwSetDefaultHardErrorPort
-ZwSetDefaultLocale
-ZwSetDefaultUILanguage
-ZwSetDriverEntryOrder
-ZwSetEaFile
-ZwSetEvent
-ZwSetEventBoostPriority
-ZwSetHighEventPair
-ZwSetHighWaitLowEventPair
-ZwSetInformationDebugObject
-ZwSetInformationFile
-ZwSetInformationJobObject
-ZwSetInformationKey
-ZwSetInformationObject
-ZwSetInformationProcess
-ZwSetInformationThread
-ZwSetInformationToken
-ZwSetIntervalProfile
-ZwSetIoCompletion
-ZwSetLdtEntries
-ZwSetLowEventPair
-ZwSetLowWaitHighEventPair
-ZwSetQuotaInformationFile
-ZwSetSecurityObject
-ZwSetSystemEnvironmentValue
-ZwSetSystemEnvironmentValueEx
-ZwSetSystemInformation
-ZwSetSystemPowerState
-ZwSetSystemTime
-ZwSetThreadExecutionState
-ZwSetTimer
-ZwSetTimerResolution
-ZwSetUuidSeed
-ZwSetValueKey
-ZwSetVolumeInformationFile
-ZwShutdownSystem
-ZwSignalAndWaitForSingleObject
-ZwStartProfile
-ZwStopProfile
-ZwSuspendProcess
-ZwSuspendThread
-ZwSystemDebugControl
-ZwTerminateJobObject
-ZwTerminateProcess
-ZwTerminateThread
-ZwTestAlert
-ZwTraceEvent
-ZwTranslateFilePath
-ZwUnloadDriver
-ZwUnloadKey2
-ZwUnloadKey
-ZwUnloadKeyEx
-ZwUnlockFile
-ZwUnlockVirtualMemory
-ZwUnmapViewOfSection
-ZwVdmControl
-ZwWaitForDebugEvent
-ZwWaitForKeyedEvent
-ZwWaitForMultipleObjects32
-ZwWaitForMultipleObjects
-ZwWaitForSingleObject
-ZwWaitHighEventPair
-ZwWaitLowEventPair
-ZwWow64CsrAllocateCaptureBuffer
-ZwWow64CsrAllocateMessagePointer
-ZwWow64CsrCaptureMessageBuffer
-ZwWow64CsrCaptureMessageString
-ZwWow64CsrClientCallServer
-ZwWow64CsrClientConnectToServer
-ZwWow64CsrFreeCaptureBuffer
-ZwWow64CsrGetProcessId
-ZwWow64CsrIdentifyAlertableThread
-ZwWow64CsrNewThread
-ZwWow64CsrSetPriorityClass
-ZwWow64DebuggerCall
-ZwWow64GetNativeSystemInformation
-ZwWow64QueryInformationProcess64
-ZwWow64QueryVirtualMemory64
-ZwWow64ReadVirtualMemory64
-ZwWriteFile
-ZwWriteFileGather
-ZwWriteRequestData
-ZwWriteVirtualMemory
-ZwYieldExecution
-_CIcos
-_CIlog
-_CIpow
-_CIsin
-_CIsqrt
-__isascii
-__iscsym
-__iscsymf
-__toascii
-_alldiv
-_alldvrm
-_allmul
-_alloca_probe
-_allrem
-_allshl
-_allshr
-_atoi64
-_aulldiv
-_aulldvrm
-_aullrem
-_aullshr
-_chkstk
-_fltused DATA
-_ftol
-_i64toa
-_i64tow
-_itoa
-_itow
-_lfind
-_ltoa
-_ltow
-_memccpy
-_memicmp
-_snprintf
-_snwprintf
-_splitpath
-_strcmpi
-_stricmp
-_strlwr
-_strnicmp
-_strupr
-_tolower
-_toupper
-_ui64toa
-_ui64tow
-_ultoa
-_ultow
-_vscwprintf
-_vsnprintf
-_vsnwprintf
-_wcsicmp
-_wcslwr
-_wcsnicmp
-_wcstoui64
-_wcsupr
-_wtoi
-_wtoi64
-_wtol
-abs
-atan
-atoi
-atol
-bsearch
-ceil
-cos
-fabs
-floor
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalpha
-iswctype
-iswdigit
-iswlower
-iswspace
-iswxdigit
-isxdigit
-labs
-log
-mbstowcs
-memchr
-memcmp
-memcpy
-memmove
-memset
-pow
-qsort
-sin
-sprintf
-sqrt
-sscanf
-strcat
-strchr
-strcmp
-strcpy
-strcspn
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtol
-strtoul
-swprintf
-tan
-tolower
-toupper
-towlower
-towupper
-vDbgPrintEx
-vDbgPrintExWithPrefix
-vsprintf
-wcscat
-wcschr
-wcscmp
-wcscpy
-wcscspn
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstol
-wcstombs
-wcstoul
+; 
+; Exports of file ntdll.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntdll.dll
+EXPORTS
+PropertyLengthAsVariant
+RtlConvertPropertyToVariant
+RtlConvertVariantToProperty
+RtlActivateActivationContextUnsafeFast
+RtlDeactivateActivationContextUnsafeFast
+RtlInterlockedPushListSList
+RtlUlongByteSwap
+RtlUlonglongByteSwap
+RtlUshortByteSwap
+ExpInterlockedPopEntrySListEnd
+ExpInterlockedPopEntrySListFault
+ExpInterlockedPopEntrySListResume
+CsrAllocateCaptureBuffer
+CsrAllocateMessagePointer
+CsrCaptureMessageBuffer
+CsrCaptureMessageMultiUnicodeStringsInPlace
+CsrCaptureMessageString
+CsrCaptureTimeout
+CsrClientCallServer
+CsrClientConnectToServer
+CsrFreeCaptureBuffer
+CsrGetProcessId
+CsrIdentifyAlertableThread
+CsrNewThread
+CsrProbeForRead
+CsrProbeForWrite
+CsrSetPriorityClass
+DbgBreakPoint
+DbgPrint
+DbgPrintEx
+DbgPrintReturnControlC
+DbgPrompt
+DbgQueryDebugFilterState
+DbgSetDebugFilterState
+DbgUiConnectToDbg
+DbgUiContinue
+DbgUiConvertStateChangeStructure
+DbgUiDebugActiveProcess
+DbgUiGetThreadDebugObject
+DbgUiIssueRemoteBreakin
+DbgUiRemoteBreakin
+DbgUiSetThreadDebugObject
+DbgUiStopDebugging
+DbgUiWaitStateChange
+DbgUserBreakPoint
+EtwControlTraceA
+EtwControlTraceW
+EtwCreateTraceInstanceId
+EtwEnableTrace
+EtwEnumerateTraceGuids
+EtwFlushTraceA
+EtwFlushTraceW
+EtwGetTraceEnableFlags
+EtwGetTraceEnableLevel
+EtwGetTraceLoggerHandle
+EtwNotificationRegistrationA
+EtwNotificationRegistrationW
+EtwQueryAllTracesA
+EtwQueryAllTracesW
+EtwQueryTraceA
+EtwQueryTraceW
+EtwReceiveNotificationsA
+EtwReceiveNotificationsW
+EtwRegisterTraceGuidsA
+EtwRegisterTraceGuidsW
+EtwStartTraceA
+EtwStartTraceW
+EtwStopTraceA
+EtwStopTraceW
+EtwTraceEvent
+EtwTraceEventInstance
+EtwTraceMessage
+EtwTraceMessageVa
+EtwUnregisterTraceGuids
+EtwUpdateTraceA
+EtwUpdateTraceW
+EtwpGetTraceBuffer
+EtwpSetHWConfigFunction
+KiFastSystemCall
+KiFastSystemCallRet
+KiIntSystemCall
+KiRaiseUserExceptionDispatcher
+KiUserApcDispatcher
+KiUserCallbackDispatcher
+KiUserExceptionDispatcher
+LdrAccessOutOfProcessResource
+LdrAccessResource
+LdrAddRefDll
+LdrAlternateResourcesEnabled
+LdrCreateOutOfProcessImage
+LdrDestroyOutOfProcessImage
+LdrDisableThreadCalloutsForDll
+LdrEnumResources
+LdrEnumerateLoadedModules
+LdrFindCreateProcessManifest
+LdrFindEntryForAddress
+LdrFindResourceDirectory_U
+LdrFindResourceEx_U
+LdrFindResource_U
+LdrFlushAlternateResourceModules
+LdrGetDllHandle
+LdrGetDllHandleEx
+LdrGetProcedureAddress
+LdrHotPatchRoutine
+LdrInitShimEngineDynamic
+LdrInitializeThunk
+LdrLoadAlternateResourceModule
+LdrLoadDll
+LdrLockLoaderLock
+LdrOpenImageFileOptionsKey
+LdrProcessRelocationBlock
+LdrQueryImageFileExecutionOptions
+LdrQueryImageFileExecutionOptionsEx
+LdrQueryImageFileKeyOption
+LdrQueryProcessModuleInformation
+LdrSetAppCompatDllRedirectionCallback
+LdrSetDllManifestProber
+LdrShutdownProcess
+LdrShutdownThread
+LdrUnloadAlternateResourceModule
+LdrUnloadDll
+LdrUnlockLoaderLock
+LdrVerifyImageMatchesChecksum
+NlsAnsiCodePage DATA
+NlsMbCodePageTag DATA
+NlsMbOemCodePageTag DATA
+NtAcceptConnectPort
+NtAccessCheck
+NtAccessCheckAndAuditAlarm
+NtAccessCheckByType
+NtAccessCheckByTypeAndAuditAlarm
+NtAccessCheckByTypeResultList
+NtAccessCheckByTypeResultListAndAuditAlarm
+NtAccessCheckByTypeResultListAndAuditAlarmByHandle
+NtAddAtom
+NtAddBootEntry
+NtAddDriverEntry
+NtAdjustGroupsToken
+NtAdjustPrivilegesToken
+NtAlertResumeThread
+NtAlertThread
+NtAllocateLocallyUniqueId
+NtAllocateUserPhysicalPages
+NtAllocateUuids
+NtAllocateVirtualMemory
+NtApphelpCacheControl
+NtAreMappedFilesTheSame
+NtAssignProcessToJobObject
+NtCallbackReturn
+NtCancelDeviceWakeupRequest
+NtCancelIoFile
+NtCancelTimer
+NtClearEvent
+NtClose
+NtCloseObjectAuditAlarm
+NtCompactKeys
+NtCompareTokens
+NtCompleteConnectPort
+NtCompressKey
+NtConnectPort
+NtContinue
+NtCreateDebugObject
+NtCreateDirectoryObject
+NtCreateEvent
+NtCreateEventPair
+NtCreateFile
+NtCreateIoCompletion
+NtCreateJobObject
+NtCreateJobSet
+NtCreateKey
+NtCreateKeyedEvent
+NtCreateMailslotFile
+NtCreateMutant
+NtCreateNamedPipeFile
+NtCreatePagingFile
+NtCreatePort
+NtCreateProcess
+NtCreateProcessEx
+NtCreateProfile
+NtCreateSection
+NtCreateSemaphore
+NtCreateSymbolicLinkObject
+NtCreateThread
+NtCreateTimer
+NtCreateToken
+NtCreateWaitablePort
+NtCurrentTeb
+NtDebugActiveProcess
+NtDebugContinue
+NtDelayExecution
+NtDeleteAtom
+NtDeleteBootEntry
+NtDeleteDriverEntry
+NtDeleteFile
+NtDeleteKey
+NtDeleteObjectAuditAlarm
+NtDeleteValueKey
+NtDeviceIoControlFile
+NtDisplayString
+NtDuplicateObject
+NtDuplicateToken
+NtEnumerateBootEntries
+NtEnumerateDriverEntries
+NtEnumerateKey
+NtEnumerateSystemEnvironmentValuesEx
+NtEnumerateValueKey
+NtExtendSection
+NtFilterToken
+NtFindAtom
+NtFlushBuffersFile
+NtFlushInstructionCache
+NtFlushKey
+NtFlushVirtualMemory
+NtFlushWriteBuffer
+NtFreeUserPhysicalPages
+NtFreeVirtualMemory
+NtFsControlFile
+NtGetContextThread
+NtGetCurrentProcessorNumber
+NtGetDevicePowerState
+NtGetPlugPlayEvent
+NtGetTickCount
+NtGetWriteWatch
+NtImpersonateAnonymousToken
+NtImpersonateClientOfPort
+NtImpersonateThread
+NtInitializeRegistry
+NtInitiatePowerAction
+NtIsProcessInJob
+NtIsSystemResumeAutomatic
+NtListenPort
+NtLoadDriver
+NtLoadKey2
+NtLoadKey
+NtLoadKeyEx
+NtLockFile
+NtLockProductActivationKeys
+NtLockRegistryKey
+NtLockVirtualMemory
+NtMakePermanentObject
+NtMakeTemporaryObject
+NtMapUserPhysicalPages
+NtMapUserPhysicalPagesScatter
+NtMapViewOfSection
+NtModifyBootEntry
+NtModifyDriverEntry
+NtNotifyChangeDirectoryFile
+NtNotifyChangeKey
+NtNotifyChangeMultipleKeys
+NtOpenDirectoryObject
+NtOpenEvent
+NtOpenEventPair
+NtOpenFile
+NtOpenIoCompletion
+NtOpenJobObject
+NtOpenKey
+NtOpenKeyedEvent
+NtOpenMutant
+NtOpenObjectAuditAlarm
+NtOpenProcess
+NtOpenProcessToken
+NtOpenProcessTokenEx
+NtOpenSection
+NtOpenSemaphore
+NtOpenSymbolicLinkObject
+NtOpenThread
+NtOpenThreadToken
+NtOpenThreadTokenEx
+NtOpenTimer
+NtPlugPlayControl
+NtPowerInformation
+NtPrivilegeCheck
+NtPrivilegeObjectAuditAlarm
+NtPrivilegedServiceAuditAlarm
+NtProtectVirtualMemory
+NtPulseEvent
+NtQueryAttributesFile
+NtQueryBootEntryOrder
+NtQueryBootOptions
+NtQueryDebugFilterState
+NtQueryDefaultLocale
+NtQueryDefaultUILanguage
+NtQueryDirectoryFile
+NtQueryDirectoryObject
+NtQueryDriverEntryOrder
+NtQueryEaFile
+NtQueryEvent
+NtQueryFullAttributesFile
+NtQueryInformationAtom
+NtQueryInformationFile
+NtQueryInformationJobObject
+NtQueryInformationPort
+NtQueryInformationProcess
+NtQueryInformationThread
+NtQueryInformationToken
+NtQueryInstallUILanguage
+NtQueryIntervalProfile
+NtQueryIoCompletion
+NtQueryKey
+NtQueryMultipleValueKey
+NtQueryMutant
+NtQueryObject
+NtQueryOpenSubKeys
+NtQueryOpenSubKeysEx
+NtQueryPerformanceCounter
+NtQueryPortInformationProcess
+NtQueryQuotaInformationFile
+NtQuerySection
+NtQuerySecurityObject
+NtQuerySemaphore
+NtQuerySymbolicLinkObject
+NtQuerySystemEnvironmentValue
+NtQuerySystemEnvironmentValueEx
+NtQuerySystemInformation
+NtQuerySystemTime
+NtQueryTimer
+NtQueryTimerResolution
+NtQueryValueKey
+NtQueryVirtualMemory
+NtQueryVolumeInformationFile
+NtQueueApcThread
+NtRaiseException
+NtRaiseHardError
+NtReadFile
+NtReadFileScatter
+NtReadRequestData
+NtReadVirtualMemory
+NtRegisterThreadTerminatePort
+NtReleaseKeyedEvent
+NtReleaseMutant
+NtReleaseSemaphore
+NtRemoveIoCompletion
+NtRemoveProcessDebug
+NtRenameKey
+NtReplaceKey
+NtReplyPort
+NtReplyWaitReceivePort
+NtReplyWaitReceivePortEx
+NtReplyWaitReplyPort
+NtRequestDeviceWakeup
+NtRequestPort
+NtRequestWaitReplyPort
+NtRequestWakeupLatency
+NtResetEvent
+NtResetWriteWatch
+NtRestoreKey
+NtResumeProcess
+NtResumeThread
+NtSaveKey
+NtSaveKeyEx
+NtSaveMergedKeys
+NtSecureConnectPort
+NtSetBootEntryOrder
+NtSetBootOptions
+NtSetContextThread
+NtSetDebugFilterState
+NtSetDefaultHardErrorPort
+NtSetDefaultLocale
+NtSetDefaultUILanguage
+NtSetDriverEntryOrder
+NtSetEaFile
+NtSetEvent
+NtSetEventBoostPriority
+NtSetHighEventPair
+NtSetHighWaitLowEventPair
+NtSetInformationDebugObject
+NtSetInformationFile
+NtSetInformationJobObject
+NtSetInformationKey
+NtSetInformationObject
+NtSetInformationProcess
+NtSetInformationThread
+NtSetInformationToken
+NtSetIntervalProfile
+NtSetIoCompletion
+NtSetLdtEntries
+NtSetLowEventPair
+NtSetLowWaitHighEventPair
+NtSetQuotaInformationFile
+NtSetSecurityObject
+NtSetSystemEnvironmentValue
+NtSetSystemEnvironmentValueEx
+NtSetSystemInformation
+NtSetSystemPowerState
+NtSetSystemTime
+NtSetThreadExecutionState
+NtSetTimer
+NtSetTimerResolution
+NtSetUuidSeed
+NtSetValueKey
+NtSetVolumeInformationFile
+NtShutdownSystem
+NtSignalAndWaitForSingleObject
+NtStartProfile
+NtStopProfile
+NtSuspendProcess
+NtSuspendThread
+NtSystemDebugControl
+NtTerminateJobObject
+NtTerminateProcess
+NtTerminateThread
+NtTestAlert
+NtTraceEvent
+NtTranslateFilePath
+NtUnloadDriver
+NtUnloadKey2
+NtUnloadKey
+NtUnloadKeyEx
+NtUnlockFile
+NtUnlockVirtualMemory
+NtUnmapViewOfSection
+NtVdmControl
+NtWaitForDebugEvent
+NtWaitForKeyedEvent
+NtWaitForMultipleObjects32
+NtWaitForMultipleObjects
+NtWaitForSingleObject
+NtWaitHighEventPair
+NtWaitLowEventPair
+NtWow64CsrAllocateCaptureBuffer
+NtWow64CsrAllocateMessagePointer
+NtWow64CsrCaptureMessageBuffer
+NtWow64CsrCaptureMessageString
+NtWow64CsrClientCallServer
+NtWow64CsrClientConnectToServer
+NtWow64CsrFreeCaptureBuffer
+NtWow64CsrGetProcessId
+NtWow64CsrIdentifyAlertableThread
+NtWow64CsrNewThread
+NtWow64CsrSetPriorityClass
+NtWow64DebuggerCall
+NtWow64GetNativeSystemInformation
+NtWow64QueryInformationProcess64
+NtWow64QueryVirtualMemory64
+NtWow64ReadVirtualMemory64
+NtWriteFile
+NtWriteFileGather
+NtWriteRequestData
+NtWriteVirtualMemory
+NtYieldExecution
+PfxFindPrefix
+PfxInitialize
+PfxInsertPrefix
+PfxRemovePrefix
+RtlAbortRXact
+RtlAbsoluteToSelfRelativeSD
+RtlAcquirePebLock
+RtlAcquirePrivilege
+RtlAcquireResourceExclusive
+RtlAcquireResourceShared
+RtlActivateActivationContext
+RtlActivateActivationContextEx
+RtlAddAccessAllowedAce
+RtlAddAccessAllowedAceEx
+RtlAddAccessAllowedObjectAce
+RtlAddAccessDeniedAce
+RtlAddAccessDeniedAceEx
+RtlAddAccessDeniedObjectAce
+RtlAddAce
+RtlAddActionToRXact
+RtlAddAtomToAtomTable
+RtlAddAttributeActionToRXact
+RtlAddAuditAccessAce
+RtlAddAuditAccessAceEx
+RtlAddAuditAccessObjectAce
+RtlAddCompoundAce
+RtlAddRefActivationContext
+RtlAddVectoredContinueHandler
+RtlAddVectoredExceptionHandler
+RtlAddressInSectionTable
+RtlAdjustPrivilege
+RtlAllocateActivationContextStack
+RtlAllocateAndInitializeSid
+RtlAllocateHandle
+RtlAllocateHeap
+RtlAnsiCharToUnicodeChar
+RtlAnsiStringToUnicodeSize
+RtlAnsiStringToUnicodeString
+RtlAppendAsciizToString
+RtlAppendPathElement
+RtlAppendStringToString
+RtlAppendUnicodeStringToString
+RtlAppendUnicodeToString
+RtlApplicationVerifierStop
+RtlApplyRXact
+RtlApplyRXactNoFlush
+RtlAreAllAccessesGranted
+RtlAreAnyAccessesGranted
+RtlAreBitsClear
+RtlAreBitsSet
+RtlAssert
+RtlCancelTimer
+RtlCaptureContext
+RtlCaptureStackBackTrace
+RtlCaptureStackContext
+RtlCharToInteger
+RtlCheckForOrphanedCriticalSections
+RtlCheckProcessParameters
+RtlCheckRegistryKey
+RtlClearAllBits
+RtlClearBits
+RtlCompactHeap
+RtlCompareMemory
+RtlCompareMemoryUlong
+RtlCompareString
+RtlCompareUnicodeString
+RtlCompressBuffer
+RtlComputeCrc32
+RtlComputeImportTableHash
+RtlComputePrivatizedDllName_U
+RtlConsoleMultiByteToUnicodeN
+RtlConvertExclusiveToShared
+RtlConvertLongToLargeInteger
+RtlConvertSharedToExclusive
+RtlConvertSidToUnicodeString
+RtlConvertToAutoInheritSecurityObject
+RtlConvertUiListToApiList
+RtlConvertUlongToLargeInteger
+RtlCopyLuid
+RtlCopyLuidAndAttributesArray
+RtlCopyMappedMemory
+RtlCopySecurityDescriptor
+RtlCopySid
+RtlCopySidAndAttributesArray
+RtlCopyString
+RtlCopyUnicodeString
+RtlCreateAcl
+RtlCreateActivationContext
+RtlCreateAndSetSD
+RtlCreateAtomTable
+RtlCreateBootStatusDataFile
+RtlCreateEnvironment
+RtlCreateHeap
+RtlCreateProcessParameters
+RtlCreateQueryDebugBuffer
+RtlCreateRegistryKey
+RtlCreateSecurityDescriptor
+RtlCreateSystemVolumeInformationFolder
+RtlCreateTagHeap
+RtlCreateTimer
+RtlCreateTimerQueue
+RtlCreateUnicodeString
+RtlCreateUnicodeStringFromAsciiz
+RtlCreateUserProcess
+RtlCreateUserSecurityObject
+RtlCreateUserThread
+RtlCustomCPToUnicodeN
+RtlCutoverTimeToSystemTime
+RtlDeNormalizeProcessParams
+RtlDeactivateActivationContext
+RtlDebugPrintTimes
+RtlDecodePointer
+RtlDecodeSystemPointer
+RtlDecompressBuffer
+RtlDecompressFragment
+RtlDefaultNpAcl
+RtlDelete
+RtlDeleteAce
+RtlDeleteAtomFromAtomTable
+RtlDeleteCriticalSection
+RtlDeleteElementGenericTable
+RtlDeleteElementGenericTableAvl
+RtlDeleteNoSplay
+RtlDeleteRegistryValue
+RtlDeleteResource
+RtlDeleteSecurityObject
+RtlDeleteTimer
+RtlDeleteTimerQueue
+RtlDeleteTimerQueueEx
+RtlDeregisterWait
+RtlDeregisterWaitEx
+RtlDestroyAtomTable
+RtlDestroyEnvironment
+RtlDestroyHandleTable
+RtlDestroyHeap
+RtlDestroyProcessParameters
+RtlDestroyQueryDebugBuffer
+RtlDetermineDosPathNameType_U
+RtlDllShutdownInProgress
+RtlDnsHostNameToComputerName
+RtlDoesFileExists_U
+RtlDosApplyFileIsolationRedirection_Ustr
+RtlDosPathNameToNtPathName_U
+RtlDosPathNameToNtPathName_U_WithStatus
+RtlDosPathNameToRelativeNtPathName_U
+RtlDosPathNameToRelativeNtPathName_U_WithStatus
+RtlDosSearchPath_U
+RtlDosSearchPath_Ustr
+RtlDowncaseUnicodeChar
+RtlDowncaseUnicodeString
+RtlDumpResource
+RtlDuplicateUnicodeString
+RtlEmptyAtomTable
+RtlEnableEarlyCriticalSectionEventCreation
+RtlEncodePointer
+RtlEncodeSystemPointer
+RtlEnlargedIntegerMultiply
+RtlEnlargedUnsignedDivide
+RtlEnlargedUnsignedMultiply
+RtlEnterCriticalSection
+RtlEnumProcessHeaps
+RtlEnumerateGenericTable
+RtlEnumerateGenericTableAvl
+RtlEnumerateGenericTableLikeADirectory
+RtlEnumerateGenericTableWithoutSplaying
+RtlEnumerateGenericTableWithoutSplayingAvl
+RtlEqualComputerName
+RtlEqualDomainName
+RtlEqualLuid
+RtlEqualPrefixSid
+RtlEqualSid
+RtlEqualString
+RtlEqualUnicodeString
+RtlEraseUnicodeString
+RtlExitUserThread
+RtlExpandEnvironmentStrings_U
+RtlExtendHeap
+RtlExtendedIntegerMultiply
+RtlExtendedLargeIntegerDivide
+RtlExtendedMagicDivide
+RtlFillMemory
+RtlFillMemoryUlong
+RtlFindActivationContextSectionGuid
+RtlFindActivationContextSectionString
+RtlFindCharInUnicodeString
+RtlFindClearBits
+RtlFindClearBitsAndSet
+RtlFindClearRuns
+RtlFindLastBackwardRunClear
+RtlFindLeastSignificantBit
+RtlFindLongestRunClear
+RtlFindMessage
+RtlFindMostSignificantBit
+RtlFindNextForwardRunClear
+RtlFindSetBits
+RtlFindSetBitsAndClear
+RtlFirstEntrySList
+RtlFirstFreeAce
+RtlFlushSecureMemoryCache
+RtlFormatCurrentUserKeyPath
+RtlFormatMessage
+RtlFormatMessageEx
+RtlFreeActivationContextStack
+RtlFreeAnsiString
+RtlFreeHandle
+RtlFreeHeap
+RtlFreeOemString
+RtlFreeSid
+RtlFreeThreadActivationContextStack
+RtlFreeUnicodeString
+RtlFreeUserThreadStack
+RtlGUIDFromString
+RtlGenerate8dot3Name
+RtlGetAce
+RtlGetActiveActivationContext
+RtlGetCallersAddress
+RtlGetCompressionWorkSpaceSize
+RtlGetControlSecurityDescriptor
+RtlGetCriticalSectionRecursionCount
+RtlGetCurrentDirectory_U
+RtlGetCurrentPeb
+RtlGetCurrentProcessorNumber
+RtlGetDaclSecurityDescriptor
+RtlGetElementGenericTable
+RtlGetElementGenericTableAvl
+RtlGetFrame
+RtlGetFullPathName_U
+RtlGetFullPathName_UstrEx
+RtlGetGroupSecurityDescriptor
+RtlGetLastNtStatus
+RtlGetLastWin32Error
+RtlGetLengthWithoutLastFullDosOrNtPathElement
+RtlGetLengthWithoutTrailingPathSeperators
+RtlGetLongestNtPathLength
+RtlGetNativeSystemInformation
+RtlGetNtGlobalFlags
+RtlGetNtProductType
+RtlGetNtVersionNumbers
+RtlGetOwnerSecurityDescriptor
+RtlGetProcessHeaps
+RtlGetSaclSecurityDescriptor
+RtlGetSecurityDescriptorRMControl
+RtlGetSetBootStatusData
+RtlGetThreadErrorMode
+RtlGetUnloadEventTrace
+RtlGetUserInfoHeap
+RtlGetVersion
+RtlHashUnicodeString
+RtlIdentifierAuthoritySid
+RtlImageDirectoryEntryToData
+RtlImageNtHeader
+RtlImageNtHeaderEx
+RtlImageRvaToSection
+RtlImageRvaToVa
+RtlImpersonateSelf
+RtlInitAnsiString
+RtlInitAnsiStringEx
+RtlInitCodePageTable
+RtlInitNlsTables
+RtlInitString
+RtlInitUnicodeString
+RtlInitUnicodeStringEx
+RtlInitializeAtomPackage
+RtlInitializeBitMap
+RtlInitializeContext
+RtlInitializeCriticalSection
+RtlInitializeCriticalSectionAndSpinCount
+RtlInitializeGenericTable
+RtlInitializeGenericTableAvl
+RtlInitializeHandleTable
+RtlInitializeRXact
+RtlInitializeResource
+RtlInitializeSListHead
+RtlInitializeSid
+RtlInsertElementGenericTable
+RtlInsertElementGenericTableAvl
+RtlInsertElementGenericTableFull
+RtlInsertElementGenericTableFullAvl
+RtlInt64ToUnicodeString
+RtlIntegerToChar
+RtlIntegerToUnicodeString
+RtlInterlockedCompareExchange64
+RtlInterlockedFlushSList
+RtlInterlockedPopEntrySList
+RtlInterlockedPushEntrySList
+RtlIpv4AddressToStringA
+RtlIpv4AddressToStringExA
+RtlIpv4AddressToStringExW
+RtlIpv4AddressToStringW
+RtlIpv4StringToAddressA
+RtlIpv4StringToAddressExA
+RtlIpv4StringToAddressExW
+RtlIpv4StringToAddressW
+RtlIpv6AddressToStringA
+RtlIpv6AddressToStringExA
+RtlIpv6AddressToStringExW
+RtlIpv6AddressToStringW
+RtlIpv6StringToAddressA
+RtlIpv6StringToAddressExA
+RtlIpv6StringToAddressExW
+RtlIpv6StringToAddressW
+RtlIsActivationContextActive
+RtlIsCriticalSectionLocked
+RtlIsCriticalSectionLockedByThread
+RtlIsDosDeviceName_U
+RtlIsGenericTableEmpty
+RtlIsGenericTableEmptyAvl
+RtlIsNameLegalDOS8Dot3
+RtlIsTextUnicode
+RtlIsThreadWithinLoaderCallout
+RtlIsValidHandle
+RtlIsValidIndexHandle
+RtlLargeIntegerAdd
+RtlLargeIntegerArithmeticShift
+RtlLargeIntegerDivide
+RtlLargeIntegerNegate
+RtlLargeIntegerShiftLeft
+RtlLargeIntegerShiftRight
+RtlLargeIntegerSubtract
+RtlLargeIntegerToChar
+RtlLeaveCriticalSection
+RtlLengthRequiredSid
+RtlLengthSecurityDescriptor
+RtlLengthSid
+RtlLocalTimeToSystemTime
+RtlLockBootStatusData
+RtlLockHeap
+RtlLogStackBackTrace
+RtlLookupAtomInAtomTable
+RtlLookupElementGenericTable
+RtlLookupElementGenericTableAvl
+RtlLookupElementGenericTableFull
+RtlLookupElementGenericTableFullAvl
+RtlMakeSelfRelativeSD
+RtlMapGenericMask
+RtlMapSecurityErrorToNtStatus
+RtlMoveMemory
+RtlMultiAppendUnicodeStringBuffer
+RtlMultiByteToUnicodeN
+RtlMultiByteToUnicodeSize
+RtlMultipleAllocateHeap
+RtlMultipleFreeHeap
+RtlNewInstanceSecurityObject
+RtlNewSecurityGrantedAccess
+RtlNewSecurityObject
+RtlNewSecurityObjectEx
+RtlNewSecurityObjectWithMultipleInheritance
+RtlNormalizeProcessParams
+RtlNtPathNameToDosPathName
+RtlNtStatusToDosError
+RtlNtStatusToDosErrorNoTeb
+RtlNumberGenericTableElements
+RtlNumberGenericTableElementsAvl
+RtlNumberOfClearBits
+RtlNumberOfSetBits
+RtlOemStringToUnicodeSize
+RtlOemStringToUnicodeString
+RtlOemToUnicodeN
+RtlOpenCurrentUser
+RtlPcToFileHeader
+RtlPinAtomInAtomTable
+RtlPopFrame
+RtlPrefixString
+RtlPrefixUnicodeString
+RtlProtectHeap
+RtlPushFrame
+RtlQueryAtomInAtomTable
+RtlQueryDepthSList
+RtlQueryEnvironmentVariable_U
+RtlQueryHeapInformation
+RtlQueryInformationAcl
+RtlQueryInformationActivationContext
+RtlQueryInformationActiveActivationContext
+RtlQueryProcessBackTraceInformation
+RtlQueryProcessDebugInformation
+RtlQueryProcessHeapInformation
+RtlQueryProcessLockInformation
+RtlQueryRegistryValues
+RtlQuerySecurityObject
+RtlQueryTagHeap
+RtlQueryTimeZoneInformation
+RtlQueueApcWow64Thread
+RtlQueueWorkItem
+RtlRaiseException
+RtlRaiseStatus
+RtlRandom
+RtlRandomEx
+RtlReAllocateHeap
+RtlRealPredecessor
+RtlRealSuccessor
+RtlRegisterSecureMemoryCacheCallback
+RtlRegisterWait
+RtlReleaseActivationContext
+RtlReleasePebLock
+RtlReleasePrivilege
+RtlReleaseRelativeName
+RtlReleaseResource
+RtlRemoteCall
+RtlRemoveVectoredContinueHandler
+RtlRemoveVectoredExceptionHandler
+RtlResetRtlTranslations
+RtlRestoreLastWin32Error
+RtlRunDecodeUnicodeString
+RtlRunEncodeUnicodeString
+RtlSecondsSince1970ToTime
+RtlSecondsSince1980ToTime
+RtlSelfRelativeToAbsoluteSD2
+RtlSelfRelativeToAbsoluteSD
+RtlSetAllBits
+RtlSetAttributesSecurityDescriptor
+RtlSetBits
+RtlSetControlSecurityDescriptor
+RtlSetCriticalSectionSpinCount
+RtlSetCurrentDirectory_U
+RtlSetCurrentEnvironment
+RtlSetDaclSecurityDescriptor
+RtlSetEnvironmentStrings
+RtlSetEnvironmentVariable
+RtlSetGroupSecurityDescriptor
+RtlSetHeapInformation
+RtlSetInformationAcl
+RtlSetIoCompletionCallback
+RtlSetLastWin32Error
+RtlSetLastWin32ErrorAndNtStatusFromNtStatus
+RtlSetOwnerSecurityDescriptor
+RtlSetProcessIsCritical
+RtlSetSaclSecurityDescriptor
+RtlSetSecurityDescriptorRMControl
+RtlSetSecurityObject
+RtlSetSecurityObjectEx
+RtlSetThreadErrorMode
+RtlSetThreadIsCritical
+RtlSetThreadPoolStartFunc
+RtlSetTimeZoneInformation
+RtlSetTimer
+RtlSetUnhandledExceptionFilter
+RtlSetUnicodeCallouts
+RtlSetUserFlagsHeap
+RtlSetUserValueHeap
+RtlSizeHeap
+RtlSplay
+RtlStartRXact
+RtlStringFromGUID
+RtlSubAuthorityCountSid
+RtlSubAuthoritySid
+RtlSubtreePredecessor
+RtlSubtreeSuccessor
+RtlSystemTimeToLocalTime
+RtlTimeFieldsToTime
+RtlTimeToElapsedTimeFields
+RtlTimeToSecondsSince1970
+RtlTimeToSecondsSince1980
+RtlTimeToTimeFields
+RtlTraceDatabaseAdd
+RtlTraceDatabaseCreate
+RtlTraceDatabaseDestroy
+RtlTraceDatabaseEnumerate
+RtlTraceDatabaseFind
+RtlTraceDatabaseLock
+RtlTraceDatabaseUnlock
+RtlTraceDatabaseValidate
+RtlTryEnterCriticalSection
+RtlUnhandledExceptionFilter2
+RtlUnhandledExceptionFilter
+RtlUnicodeStringToAnsiSize
+RtlUnicodeStringToAnsiString
+RtlUnicodeStringToCountedOemString
+RtlUnicodeStringToInteger
+RtlUnicodeStringToOemSize
+RtlUnicodeStringToOemString
+RtlUnicodeToCustomCPN
+RtlUnicodeToMultiByteN
+RtlUnicodeToMultiByteSize
+RtlUnicodeToOemN
+RtlUniform
+RtlUnlockBootStatusData
+RtlUnlockHeap
+RtlUnwind
+RtlUpcaseUnicodeChar
+RtlUpcaseUnicodeString
+RtlUpcaseUnicodeStringToAnsiString
+RtlUpcaseUnicodeStringToCountedOemString
+RtlUpcaseUnicodeStringToOemString
+RtlUpcaseUnicodeToCustomCPN
+RtlUpcaseUnicodeToMultiByteN
+RtlUpcaseUnicodeToOemN
+RtlUpdateTimer
+RtlUpperChar
+RtlUpperString
+RtlUsageHeap
+RtlValidAcl
+RtlValidRelativeSecurityDescriptor
+RtlValidSecurityDescriptor
+RtlValidSid
+RtlValidateHeap
+RtlValidateProcessHeaps
+RtlValidateUnicodeString
+RtlVerifyVersionInfo
+RtlWalkFrameChain
+RtlWalkHeap
+RtlWow64EnableFsRedirection
+RtlWow64EnableFsRedirectionEx
+RtlWriteRegistryValue
+RtlZeroHeap
+RtlZeroMemory
+RtlZombifyActivationContext
+RtlpApplyLengthFunction
+RtlpEnsureBufferSize
+RtlpNotOwnerCriticalSection
+RtlpNtCreateKey
+RtlpNtEnumerateSubKey
+RtlpNtMakeTemporaryKey
+RtlpNtOpenKey
+RtlpNtQueryValueKey
+RtlpNtSetValueKey
+RtlpUnWaitCriticalSection
+RtlpWaitForCriticalSection
+RtlxAnsiStringToUnicodeSize
+RtlxOemStringToUnicodeSize
+RtlxUnicodeStringToAnsiSize
+RtlxUnicodeStringToOemSize
+VerSetConditionMask
+ZwAcceptConnectPort
+ZwAccessCheck
+ZwAccessCheckAndAuditAlarm
+ZwAccessCheckByType
+ZwAccessCheckByTypeAndAuditAlarm
+ZwAccessCheckByTypeResultList
+ZwAccessCheckByTypeResultListAndAuditAlarm
+ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
+ZwAddAtom
+ZwAddBootEntry
+ZwAddDriverEntry
+ZwAdjustGroupsToken
+ZwAdjustPrivilegesToken
+ZwAlertResumeThread
+ZwAlertThread
+ZwAllocateLocallyUniqueId
+ZwAllocateUserPhysicalPages
+ZwAllocateUuids
+ZwAllocateVirtualMemory
+ZwApphelpCacheControl
+ZwAreMappedFilesTheSame
+ZwAssignProcessToJobObject
+ZwCallbackReturn
+ZwCancelDeviceWakeupRequest
+ZwCancelIoFile
+ZwCancelTimer
+ZwClearEvent
+ZwClose
+ZwCloseObjectAuditAlarm
+ZwCompactKeys
+ZwCompareTokens
+ZwCompleteConnectPort
+ZwCompressKey
+ZwConnectPort
+ZwContinue
+ZwCreateDebugObject
+ZwCreateDirectoryObject
+ZwCreateEvent
+ZwCreateEventPair
+ZwCreateFile
+ZwCreateIoCompletion
+ZwCreateJobObject
+ZwCreateJobSet
+ZwCreateKey
+ZwCreateKeyedEvent
+ZwCreateMailslotFile
+ZwCreateMutant
+ZwCreateNamedPipeFile
+ZwCreatePagingFile
+ZwCreatePort
+ZwCreateProcess
+ZwCreateProcessEx
+ZwCreateProfile
+ZwCreateSection
+ZwCreateSemaphore
+ZwCreateSymbolicLinkObject
+ZwCreateThread
+ZwCreateTimer
+ZwCreateToken
+ZwCreateWaitablePort
+ZwDebugActiveProcess
+ZwDebugContinue
+ZwDelayExecution
+ZwDeleteAtom
+ZwDeleteBootEntry
+ZwDeleteDriverEntry
+ZwDeleteFile
+ZwDeleteKey
+ZwDeleteObjectAuditAlarm
+ZwDeleteValueKey
+ZwDeviceIoControlFile
+ZwDisplayString
+ZwDuplicateObject
+ZwDuplicateToken
+ZwEnumerateBootEntries
+ZwEnumerateDriverEntries
+ZwEnumerateKey
+ZwEnumerateSystemEnvironmentValuesEx
+ZwEnumerateValueKey
+ZwExtendSection
+ZwFilterToken
+ZwFindAtom
+ZwFlushBuffersFile
+ZwFlushInstructionCache
+ZwFlushKey
+ZwFlushVirtualMemory
+ZwFlushWriteBuffer
+ZwFreeUserPhysicalPages
+ZwFreeVirtualMemory
+ZwFsControlFile
+ZwGetContextThread
+ZwGetCurrentProcessorNumber
+ZwGetDevicePowerState
+ZwGetPlugPlayEvent
+ZwGetWriteWatch
+ZwImpersonateAnonymousToken
+ZwImpersonateClientOfPort
+ZwImpersonateThread
+ZwInitializeRegistry
+ZwInitiatePowerAction
+ZwIsProcessInJob
+ZwIsSystemResumeAutomatic
+ZwListenPort
+ZwLoadDriver
+ZwLoadKey2
+ZwLoadKey
+ZwLoadKeyEx
+ZwLockFile
+ZwLockProductActivationKeys
+ZwLockRegistryKey
+ZwLockVirtualMemory
+ZwMakePermanentObject
+ZwMakeTemporaryObject
+ZwMapUserPhysicalPages
+ZwMapUserPhysicalPagesScatter
+ZwMapViewOfSection
+ZwModifyBootEntry
+ZwModifyDriverEntry
+ZwNotifyChangeDirectoryFile
+ZwNotifyChangeKey
+ZwNotifyChangeMultipleKeys
+ZwOpenDirectoryObject
+ZwOpenEvent
+ZwOpenEventPair
+ZwOpenFile
+ZwOpenIoCompletion
+ZwOpenJobObject
+ZwOpenKey
+ZwOpenKeyedEvent
+ZwOpenMutant
+ZwOpenObjectAuditAlarm
+ZwOpenProcess
+ZwOpenProcessToken
+ZwOpenProcessTokenEx
+ZwOpenSection
+ZwOpenSemaphore
+ZwOpenSymbolicLinkObject
+ZwOpenThread
+ZwOpenThreadToken
+ZwOpenThreadTokenEx
+ZwOpenTimer
+ZwPlugPlayControl
+ZwPowerInformation
+ZwPrivilegeCheck
+ZwPrivilegeObjectAuditAlarm
+ZwPrivilegedServiceAuditAlarm
+ZwProtectVirtualMemory
+ZwPulseEvent
+ZwQueryAttributesFile
+ZwQueryBootEntryOrder
+ZwQueryBootOptions
+ZwQueryDebugFilterState
+ZwQueryDefaultLocale
+ZwQueryDefaultUILanguage
+ZwQueryDirectoryFile
+ZwQueryDirectoryObject
+ZwQueryDriverEntryOrder
+ZwQueryEaFile
+ZwQueryEvent
+ZwQueryFullAttributesFile
+ZwQueryInformationAtom
+ZwQueryInformationFile
+ZwQueryInformationJobObject
+ZwQueryInformationPort
+ZwQueryInformationProcess
+ZwQueryInformationThread
+ZwQueryInformationToken
+ZwQueryInstallUILanguage
+ZwQueryIntervalProfile
+ZwQueryIoCompletion
+ZwQueryKey
+ZwQueryMultipleValueKey
+ZwQueryMutant
+ZwQueryObject
+ZwQueryOpenSubKeys
+ZwQueryOpenSubKeysEx
+ZwQueryPerformanceCounter
+ZwQueryPortInformationProcess
+ZwQueryQuotaInformationFile
+ZwQuerySection
+ZwQuerySecurityObject
+ZwQuerySemaphore
+ZwQuerySymbolicLinkObject
+ZwQuerySystemEnvironmentValue
+ZwQuerySystemEnvironmentValueEx
+ZwQuerySystemInformation
+ZwQuerySystemTime
+ZwQueryTimer
+ZwQueryTimerResolution
+ZwQueryValueKey
+ZwQueryVirtualMemory
+ZwQueryVolumeInformationFile
+ZwQueueApcThread
+ZwRaiseException
+ZwRaiseHardError
+ZwReadFile
+ZwReadFileScatter
+ZwReadRequestData
+ZwReadVirtualMemory
+ZwRegisterThreadTerminatePort
+ZwReleaseKeyedEvent
+ZwReleaseMutant
+ZwReleaseSemaphore
+ZwRemoveIoCompletion
+ZwRemoveProcessDebug
+ZwRenameKey
+ZwReplaceKey
+ZwReplyPort
+ZwReplyWaitReceivePort
+ZwReplyWaitReceivePortEx
+ZwReplyWaitReplyPort
+ZwRequestDeviceWakeup
+ZwRequestPort
+ZwRequestWaitReplyPort
+ZwRequestWakeupLatency
+ZwResetEvent
+ZwResetWriteWatch
+ZwRestoreKey
+ZwResumeProcess
+ZwResumeThread
+ZwSaveKey
+ZwSaveKeyEx
+ZwSaveMergedKeys
+ZwSecureConnectPort
+ZwSetBootEntryOrder
+ZwSetBootOptions
+ZwSetContextThread
+ZwSetDebugFilterState
+ZwSetDefaultHardErrorPort
+ZwSetDefaultLocale
+ZwSetDefaultUILanguage
+ZwSetDriverEntryOrder
+ZwSetEaFile
+ZwSetEvent
+ZwSetEventBoostPriority
+ZwSetHighEventPair
+ZwSetHighWaitLowEventPair
+ZwSetInformationDebugObject
+ZwSetInformationFile
+ZwSetInformationJobObject
+ZwSetInformationKey
+ZwSetInformationObject
+ZwSetInformationProcess
+ZwSetInformationThread
+ZwSetInformationToken
+ZwSetIntervalProfile
+ZwSetIoCompletion
+ZwSetLdtEntries
+ZwSetLowEventPair
+ZwSetLowWaitHighEventPair
+ZwSetQuotaInformationFile
+ZwSetSecurityObject
+ZwSetSystemEnvironmentValue
+ZwSetSystemEnvironmentValueEx
+ZwSetSystemInformation
+ZwSetSystemPowerState
+ZwSetSystemTime
+ZwSetThreadExecutionState
+ZwSetTimer
+ZwSetTimerResolution
+ZwSetUuidSeed
+ZwSetValueKey
+ZwSetVolumeInformationFile
+ZwShutdownSystem
+ZwSignalAndWaitForSingleObject
+ZwStartProfile
+ZwStopProfile
+ZwSuspendProcess
+ZwSuspendThread
+ZwSystemDebugControl
+ZwTerminateJobObject
+ZwTerminateProcess
+ZwTerminateThread
+ZwTestAlert
+ZwTraceEvent
+ZwTranslateFilePath
+ZwUnloadDriver
+ZwUnloadKey2
+ZwUnloadKey
+ZwUnloadKeyEx
+ZwUnlockFile
+ZwUnlockVirtualMemory
+ZwUnmapViewOfSection
+ZwVdmControl
+ZwWaitForDebugEvent
+ZwWaitForKeyedEvent
+ZwWaitForMultipleObjects32
+ZwWaitForMultipleObjects
+ZwWaitForSingleObject
+ZwWaitHighEventPair
+ZwWaitLowEventPair
+ZwWow64CsrAllocateCaptureBuffer
+ZwWow64CsrAllocateMessagePointer
+ZwWow64CsrCaptureMessageBuffer
+ZwWow64CsrCaptureMessageString
+ZwWow64CsrClientCallServer
+ZwWow64CsrClientConnectToServer
+ZwWow64CsrFreeCaptureBuffer
+ZwWow64CsrGetProcessId
+ZwWow64CsrIdentifyAlertableThread
+ZwWow64CsrNewThread
+ZwWow64CsrSetPriorityClass
+ZwWow64DebuggerCall
+ZwWow64GetNativeSystemInformation
+ZwWow64QueryInformationProcess64
+ZwWow64QueryVirtualMemory64
+ZwWow64ReadVirtualMemory64
+ZwWriteFile
+ZwWriteFileGather
+ZwWriteRequestData
+ZwWriteVirtualMemory
+ZwYieldExecution
+_CIcos
+_CIlog
+_CIpow
+_CIsin
+_CIsqrt
+__isascii
+__iscsym
+__iscsymf
+__toascii
+_alldiv
+_alldvrm
+_allmul
+_alloca_probe
+_allrem
+_allshl
+_allshr
+_atoi64
+_aulldiv
+_aulldvrm
+_aullrem
+_aullshr
+_chkstk
+_fltused DATA
+_ftol
+_i64toa
+_i64tow
+_itoa
+_itow
+_lfind
+_ltoa
+_ltow
+_memccpy
+_memicmp
+_snprintf
+_snwprintf
+_splitpath
+_strcmpi
+_stricmp
+_strlwr
+_strnicmp
+_strupr
+_tolower
+_toupper
+_ui64toa
+_ui64tow
+_ultoa
+_ultow
+_vscwprintf
+_vsnprintf
+_vsnwprintf
+_wcsicmp
+_wcslwr
+_wcsnicmp
+_wcstoui64
+_wcsupr
+_wtoi
+_wtoi64
+_wtol
+abs
+atan
+atoi
+atol
+bsearch
+ceil
+cos
+fabs
+floor
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalpha
+iswctype
+iswdigit
+iswlower
+iswspace
+iswxdigit
+isxdigit
+labs
+log
+mbstowcs
+memchr
+memcmp
+memcpy
+memmove
+memset
+pow
+qsort
+sin
+sprintf
+sqrt
+sscanf
+strcat
+strchr
+strcmp
+strcpy
+strcspn
+strlen
+strncat
+strncmp
+strncpy
+strpbrk
+strrchr
+strspn
+strstr
+strtol
+strtoul
+swprintf
+tan
+tolower
+toupper
+towlower
+towupper
+vDbgPrintEx
+vDbgPrintExWithPrefix
+vsprintf
+wcscat
+wcschr
+wcscmp
+wcscpy
+wcscspn
+wcslen
+wcsncat
+wcsncmp
+wcsncpy
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstol
+wcstombs
+wcstoul
diff --git a/mingw-w64-crt/lib64/wntdsapi.def b/mingw-w64-crt/lib64/wntdsapi.def
index aca4344..5f06bac 100644
--- a/mingw-w64-crt/lib64/wntdsapi.def
+++ b/mingw-w64-crt/lib64/wntdsapi.def
@@ -1,112 +1,112 @@
-; 
-; Exports of file NTDSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTDSAPI.dll
-EXPORTS
-DsAddSidHistoryA
-DsAddSidHistoryW
-DsBindA
-DsBindToISTGA
-DsBindToISTGW
-DsBindW
-DsBindWithCredA
-DsBindWithCredW
-DsBindWithSpnA
-DsBindWithSpnExA
-DsBindWithSpnExW
-DsBindWithSpnW
-DsBindingSetTimeout
-DsClientMakeSpnForTargetServerA
-DsClientMakeSpnForTargetServerW
-DsCrackNamesA
-DsCrackNamesW
-DsCrackSpn2A
-DsCrackSpn2W
-DsCrackSpn3W
-DsCrackSpnA
-DsCrackSpnW
-DsCrackUnquotedMangledRdnA
-DsCrackUnquotedMangledRdnW
-DsFreeDomainControllerInfoA
-DsFreeDomainControllerInfoW
-DsFreeNameResultA
-DsFreeNameResultW
-DsFreePasswordCredentials
-DsFreeSchemaGuidMapA
-DsFreeSchemaGuidMapW
-DsFreeSpnArrayA
-DsFreeSpnArrayW
-DsGetDomainControllerInfoA
-DsGetDomainControllerInfoW
-DsGetRdnW
-DsGetSpnA
-DsGetSpnW
-DsInheritSecurityIdentityA
-DsInheritSecurityIdentityW
-DsIsMangledDnA
-DsIsMangledDnW
-DsIsMangledRdnValueA
-DsIsMangledRdnValueW
-DsListDomainsInSiteA
-DsListDomainsInSiteW
-DsListInfoForServerA
-DsListInfoForServerW
-DsListRolesA
-DsListRolesW
-DsListServersForDomainInSiteA
-DsListServersForDomainInSiteW
-DsListServersInSiteA
-DsListServersInSiteW
-DsListSitesA
-DsListSitesW
-DsLogEntry
-DsMakePasswordCredentialsA
-DsMakePasswordCredentialsW
-DsMakeSpnA
-DsMakeSpnW
-DsMapSchemaGuidsA
-DsMapSchemaGuidsW
-DsQuerySitesByCostA
-DsQuerySitesByCostW
-DsQuerySitesFree
-DsQuoteRdnValueA
-DsQuoteRdnValueW
-DsRemoveDsDomainA
-DsRemoveDsDomainW
-DsRemoveDsServerA
-DsRemoveDsServerW
-DsReplicaAddA
-DsReplicaAddW
-DsReplicaConsistencyCheck
-DsReplicaDelA
-DsReplicaDelW
-DsReplicaFreeInfo
-DsReplicaGetInfo2W
-DsReplicaGetInfoW
-DsReplicaModifyA
-DsReplicaModifyW
-DsReplicaSyncA
-DsReplicaSyncAllA
-DsReplicaSyncAllW
-DsReplicaSyncW
-DsReplicaUpdateRefsA
-DsReplicaUpdateRefsW
-DsReplicaVerifyObjectsA
-DsReplicaVerifyObjectsW
-DsServerRegisterSpnA
-DsServerRegisterSpnW
-DsUnBindA
-DsUnBindW
-DsUnquoteRdnValueA
-DsUnquoteRdnValueW
-DsWriteAccountSpnA
-DsWriteAccountSpnW
-DsaopBind
-DsaopBindWithCred
-DsaopBindWithSpn
-DsaopExecuteScript
-DsaopPrepareScript
-DsaopUnBind
+; 
+; Exports of file NTDSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTDSAPI.dll
+EXPORTS
+DsAddSidHistoryA
+DsAddSidHistoryW
+DsBindA
+DsBindToISTGA
+DsBindToISTGW
+DsBindW
+DsBindWithCredA
+DsBindWithCredW
+DsBindWithSpnA
+DsBindWithSpnExA
+DsBindWithSpnExW
+DsBindWithSpnW
+DsBindingSetTimeout
+DsClientMakeSpnForTargetServerA
+DsClientMakeSpnForTargetServerW
+DsCrackNamesA
+DsCrackNamesW
+DsCrackSpn2A
+DsCrackSpn2W
+DsCrackSpn3W
+DsCrackSpnA
+DsCrackSpnW
+DsCrackUnquotedMangledRdnA
+DsCrackUnquotedMangledRdnW
+DsFreeDomainControllerInfoA
+DsFreeDomainControllerInfoW
+DsFreeNameResultA
+DsFreeNameResultW
+DsFreePasswordCredentials
+DsFreeSchemaGuidMapA
+DsFreeSchemaGuidMapW
+DsFreeSpnArrayA
+DsFreeSpnArrayW
+DsGetDomainControllerInfoA
+DsGetDomainControllerInfoW
+DsGetRdnW
+DsGetSpnA
+DsGetSpnW
+DsInheritSecurityIdentityA
+DsInheritSecurityIdentityW
+DsIsMangledDnA
+DsIsMangledDnW
+DsIsMangledRdnValueA
+DsIsMangledRdnValueW
+DsListDomainsInSiteA
+DsListDomainsInSiteW
+DsListInfoForServerA
+DsListInfoForServerW
+DsListRolesA
+DsListRolesW
+DsListServersForDomainInSiteA
+DsListServersForDomainInSiteW
+DsListServersInSiteA
+DsListServersInSiteW
+DsListSitesA
+DsListSitesW
+DsLogEntry
+DsMakePasswordCredentialsA
+DsMakePasswordCredentialsW
+DsMakeSpnA
+DsMakeSpnW
+DsMapSchemaGuidsA
+DsMapSchemaGuidsW
+DsQuerySitesByCostA
+DsQuerySitesByCostW
+DsQuerySitesFree
+DsQuoteRdnValueA
+DsQuoteRdnValueW
+DsRemoveDsDomainA
+DsRemoveDsDomainW
+DsRemoveDsServerA
+DsRemoveDsServerW
+DsReplicaAddA
+DsReplicaAddW
+DsReplicaConsistencyCheck
+DsReplicaDelA
+DsReplicaDelW
+DsReplicaFreeInfo
+DsReplicaGetInfo2W
+DsReplicaGetInfoW
+DsReplicaModifyA
+DsReplicaModifyW
+DsReplicaSyncA
+DsReplicaSyncAllA
+DsReplicaSyncAllW
+DsReplicaSyncW
+DsReplicaUpdateRefsA
+DsReplicaUpdateRefsW
+DsReplicaVerifyObjectsA
+DsReplicaVerifyObjectsW
+DsServerRegisterSpnA
+DsServerRegisterSpnW
+DsUnBindA
+DsUnBindW
+DsUnquoteRdnValueA
+DsUnquoteRdnValueW
+DsWriteAccountSpnA
+DsWriteAccountSpnW
+DsaopBind
+DsaopBindWithCred
+DsaopBindWithSpn
+DsaopExecuteScript
+DsaopPrepareScript
+DsaopUnBind
diff --git a/mingw-w64-crt/lib64/wntdsbcli.def b/mingw-w64-crt/lib64/wntdsbcli.def
index 8112aff..8945550 100644
--- a/mingw-w64-crt/lib64/wntdsbcli.def
+++ b/mingw-w64-crt/lib64/wntdsbcli.def
@@ -1,36 +1,36 @@
-; 
-; Exports of file ntdsbcli.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntdsbcli.dll
-EXPORTS
-DsBackupClose
-DsBackupEnd
-DsBackupFree
-DsBackupGetBackupLogsA
-DsBackupGetBackupLogsW
-DsBackupGetDatabaseNamesA
-DsBackupGetDatabaseNamesW
-DsBackupOpenFileA
-DsBackupOpenFileW
-DsBackupPrepareA
-DsBackupPrepareW
-DsBackupRead
-DsBackupTruncateLogs
-DsIsNTDSOnlineA
-DsIsNTDSOnlineW
-DsRestoreCheckExpiryToken
-DsRestoreEnd
-DsRestoreGetDatabaseLocationsA
-DsRestoreGetDatabaseLocationsW
-DsRestorePrepareA
-DsRestorePrepareW
-DsRestoreRegisterA
-DsRestoreRegisterComplete
-DsRestoreRegisterW
-DsSetAuthIdentityA
-DsSetAuthIdentityW
-DsSetCurrentBackupLogA
-DsSetCurrentBackupLogW
+; 
+; Exports of file ntdsbcli.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntdsbcli.dll
+EXPORTS
+DsBackupClose
+DsBackupEnd
+DsBackupFree
+DsBackupGetBackupLogsA
+DsBackupGetBackupLogsW
+DsBackupGetDatabaseNamesA
+DsBackupGetDatabaseNamesW
+DsBackupOpenFileA
+DsBackupOpenFileW
+DsBackupPrepareA
+DsBackupPrepareW
+DsBackupRead
+DsBackupTruncateLogs
+DsIsNTDSOnlineA
+DsIsNTDSOnlineW
+DsRestoreCheckExpiryToken
+DsRestoreEnd
+DsRestoreGetDatabaseLocationsA
+DsRestoreGetDatabaseLocationsW
+DsRestorePrepareA
+DsRestorePrepareW
+DsRestoreRegisterA
+DsRestoreRegisterComplete
+DsRestoreRegisterW
+DsSetAuthIdentityA
+DsSetAuthIdentityW
+DsSetCurrentBackupLogA
+DsSetCurrentBackupLogW
diff --git a/mingw-w64-crt/lib64/wntlanman.def b/mingw-w64-crt/lib64/wntlanman.def
index cc523ea..ce5d11e 100644
--- a/mingw-w64-crt/lib64/wntlanman.def
+++ b/mingw-w64-crt/lib64/wntlanman.def
@@ -1,39 +1,39 @@
-; 
-; Exports of file NTLANMAN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTLANMAN.dll
-EXPORTS
-NPGetConnection
-NPGetCaps
-DllMain
-I_SystemFocusDialog
-NPGetUser
-NPAddConnection
-NPCancelConnection
-IsDfsPathEx
-NPAddConnection3ForCSCAgent
-NPCancelConnectionForCSCAgent
-ServerBrowseDialogA0
-ShareAsDialogA0
-ShareCreate
-ShareManage
-ShareStop
-StopShareDialogA0
-NPPropertyDialog
-NPGetDirectoryType
-NPDirectoryNotify
-NPGetPropertyText
-NPOpenEnum
-NPEnumResource
-NPCloseEnum
-NPFormatNetworkName
-NPAddConnection3
-NPGetUniversalName
-NPGetResourceParent
-NPGetConnectionPerformance
-NPGetResourceInformation
-NPGetReconnectFlags
-NPGetConnection3
+; 
+; Exports of file NTLANMAN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTLANMAN.dll
+EXPORTS
+NPGetConnection
+NPGetCaps
+DllMain
+I_SystemFocusDialog
+NPGetUser
+NPAddConnection
+NPCancelConnection
+IsDfsPathEx
+NPAddConnection3ForCSCAgent
+NPCancelConnectionForCSCAgent
+ServerBrowseDialogA0
+ShareAsDialogA0
+ShareCreate
+ShareManage
+ShareStop
+StopShareDialogA0
+NPPropertyDialog
+NPGetDirectoryType
+NPDirectoryNotify
+NPGetPropertyText
+NPOpenEnum
+NPEnumResource
+NPCloseEnum
+NPFormatNetworkName
+NPAddConnection3
+NPGetUniversalName
+NPGetResourceParent
+NPGetConnectionPerformance
+NPGetResourceInformation
+NPGetReconnectFlags
+NPGetConnection3
diff --git a/mingw-w64-crt/lib64/wntlanui.def b/mingw-w64-crt/lib64/wntlanui.def
index 7551e48..8b80f75 100644
--- a/mingw-w64-crt/lib64/wntlanui.def
+++ b/mingw-w64-crt/lib64/wntlanui.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file NTLANUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTLANUI.dll
-EXPORTS
-ShareAsDialogA0
-StopShareDialogA0
-DllMain
-I_SystemFocusDialog
-NPGetPropertyText
-NPPropertyDialog
-ServerBrowseDialogA0
-ShareCreate
-ShareManage
-ShareStop
+; 
+; Exports of file NTLANUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTLANUI.dll
+EXPORTS
+ShareAsDialogA0
+StopShareDialogA0
+DllMain
+I_SystemFocusDialog
+NPGetPropertyText
+NPPropertyDialog
+ServerBrowseDialogA0
+ShareCreate
+ShareManage
+ShareStop
diff --git a/mingw-w64-crt/lib64/wntlanui2.def b/mingw-w64-crt/lib64/wntlanui2.def
index 15b81e1..468a471 100644
--- a/mingw-w64-crt/lib64/wntlanui2.def
+++ b/mingw-w64-crt/lib64/wntlanui2.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file netobjs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY netobjs.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file netobjs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY netobjs.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wntlsapi.def b/mingw-w64-crt/lib64/wntlsapi.def
index fce04a9..4ad7f1d 100644
--- a/mingw-w64-crt/lib64/wntlsapi.def
+++ b/mingw-w64-crt/lib64/wntlsapi.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file ntlsapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntlsapi.dll
-EXPORTS
-NtLSFreeHandle
-NtLicenseRequestA
-NtLicenseRequestW
+; 
+; Exports of file ntlsapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntlsapi.dll
+EXPORTS
+NtLSFreeHandle
+NtLicenseRequestA
+NtLicenseRequestW
diff --git a/mingw-w64-crt/lib64/wntmarta.def b/mingw-w64-crt/lib64/wntmarta.def
index 3bfd94f..b714c01 100644
--- a/mingw-w64-crt/lib64/wntmarta.def
+++ b/mingw-w64-crt/lib64/wntmarta.def
@@ -1,51 +1,51 @@
-; 
-; Exports of file NTMARTA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTMARTA.dll
-EXPORTS
-AccFreeIndexArray
-AccGetInheritanceSource
-AccProvHandleGrantAccessRights
-AccRewriteGetExplicitEntriesFromAcl
-AccRewriteGetHandleRights
-AccRewriteGetNamedRights
-AccRewriteSetEntriesInAcl
-AccRewriteSetHandleRights
-AccRewriteSetNamedRights
-AccTreeResetNamedSecurityInfo
-AccConvertAccessMaskToActrlAccess
-AccConvertAccessToSD
-AccConvertAccessToSecurityDescriptor
-AccConvertAclToAccess
-AccConvertSDToAccess
-AccGetAccessForTrustee
-AccGetExplicitEntries
-AccLookupAccountName
-AccLookupAccountSid
-AccLookupAccountTrustee
-AccProvCancelOperation
-AccProvGetAccessInfoPerObjectType
-AccProvGetAllRights
-AccProvGetCapabilities
-AccProvGetOperationResults
-AccProvGetTrusteesAccess
-AccProvGrantAccessRights
-AccProvHandleGetAccessInfoPerObjectType
-AccProvHandleGetAllRights
-AccProvHandleGetTrusteesAccess
-AccProvHandleIsAccessAudited
-AccProvHandleIsObjectAccessible
-AccProvHandleRevokeAccessRights
-AccProvHandleRevokeAuditRights
-AccProvHandleSetAccessRights
-AccProvIsAccessAudited
-AccProvIsObjectAccessible
-AccProvRevokeAccessRights
-AccProvRevokeAuditRights
-AccProvSetAccessRights
-AccSetEntriesInAList
-EventGuidToName
-EventNameFree
+; 
+; Exports of file NTMARTA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTMARTA.dll
+EXPORTS
+AccFreeIndexArray
+AccGetInheritanceSource
+AccProvHandleGrantAccessRights
+AccRewriteGetExplicitEntriesFromAcl
+AccRewriteGetHandleRights
+AccRewriteGetNamedRights
+AccRewriteSetEntriesInAcl
+AccRewriteSetHandleRights
+AccRewriteSetNamedRights
+AccTreeResetNamedSecurityInfo
+AccConvertAccessMaskToActrlAccess
+AccConvertAccessToSD
+AccConvertAccessToSecurityDescriptor
+AccConvertAclToAccess
+AccConvertSDToAccess
+AccGetAccessForTrustee
+AccGetExplicitEntries
+AccLookupAccountName
+AccLookupAccountSid
+AccLookupAccountTrustee
+AccProvCancelOperation
+AccProvGetAccessInfoPerObjectType
+AccProvGetAllRights
+AccProvGetCapabilities
+AccProvGetOperationResults
+AccProvGetTrusteesAccess
+AccProvGrantAccessRights
+AccProvHandleGetAccessInfoPerObjectType
+AccProvHandleGetAllRights
+AccProvHandleGetTrusteesAccess
+AccProvHandleIsAccessAudited
+AccProvHandleIsObjectAccessible
+AccProvHandleRevokeAccessRights
+AccProvHandleRevokeAuditRights
+AccProvHandleSetAccessRights
+AccProvIsAccessAudited
+AccProvIsObjectAccessible
+AccProvRevokeAccessRights
+AccProvRevokeAuditRights
+AccProvSetAccessRights
+AccSetEntriesInAList
+EventGuidToName
+EventNameFree
diff --git a/mingw-w64-crt/lib64/wntmsapi.def b/mingw-w64-crt/lib64/wntmsapi.def
index c1d3ff6..930d4fb 100644
--- a/mingw-w64-crt/lib64/wntmsapi.def
+++ b/mingw-w64-crt/lib64/wntmsapi.def
@@ -1,83 +1,83 @@
-; 
-; Exports of file NTMSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTMSAPI.dll
-EXPORTS
-AccessNtmsLibraryDoor
-AddNtmsMediaType
-AllocateNtmsMedia
-BeginNtmsDeviceChangeDetection
-CancelNtmsLibraryRequest
-CancelNtmsOperatorRequest
-ChangeNtmsMediaType
-CleanNtmsDrive
-CloseNtmsNotification
-CloseNtmsSession
-CreateNtmsMediaA
-CreateNtmsMediaPoolA
-CreateNtmsMediaPoolW
-CreateNtmsMediaW
-DeallocateNtmsMedia
-DecommissionNtmsMedia
-DeleteNtmsDrive
-DeleteNtmsLibrary
-DeleteNtmsMedia
-DeleteNtmsMediaPool
-DeleteNtmsMediaType
-DeleteNtmsRequests
-DisableNtmsObject
-DismountNtmsDrive
-DismountNtmsMedia
-DoEjectFromSADriveW
-EjectDiskFromSADriveA
-EjectDiskFromSADriveW
-EjectNtmsCleaner
-EjectNtmsMedia
-EnableNtmsObject
-EndNtmsDeviceChangeDetection
-EnumerateNtmsObject
-ExportNtmsDatabase
-GetNtmsMediaPoolNameA
-GetNtmsMediaPoolNameW
-GetNtmsObjectAttributeA
-GetNtmsObjectAttributeW
-GetNtmsObjectInformationA
-GetNtmsObjectInformationW
-GetNtmsObjectSecurity
-GetNtmsRequestOrder
-GetNtmsUIOptionsA
-GetNtmsUIOptionsW
-GetVolumesFromDriveA
-GetVolumesFromDriveW
-IdentifyNtmsSlot
-ImportNtmsDatabase
-InjectNtmsCleaner
-InjectNtmsMedia
-InventoryNtmsLibrary
-MountNtmsMedia
-MoveToNtmsMediaPool
-OpenNtmsNotification
-OpenNtmsSessionA
-OpenNtmsSessionW
-ReleaseNtmsCleanerSlot
-ReserveNtmsCleanerSlot
-SatisfyNtmsOperatorRequest
-SetNtmsDeviceChangeDetection
-SetNtmsMediaComplete
-SetNtmsObjectAttributeA
-SetNtmsObjectAttributeW
-SetNtmsObjectInformationA
-SetNtmsObjectInformationW
-SetNtmsObjectSecurity
-SetNtmsRequestOrder
-SetNtmsUIOptionsA
-SetNtmsUIOptionsW
-SubmitNtmsOperatorRequestA
-SubmitNtmsOperatorRequestW
-SwapNtmsMedia
-UpdateNtmsOmidInfo
-WaitForNtmsNotification
-WaitForNtmsOperatorRequest
+; 
+; Exports of file NTMSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTMSAPI.dll
+EXPORTS
+AccessNtmsLibraryDoor
+AddNtmsMediaType
+AllocateNtmsMedia
+BeginNtmsDeviceChangeDetection
+CancelNtmsLibraryRequest
+CancelNtmsOperatorRequest
+ChangeNtmsMediaType
+CleanNtmsDrive
+CloseNtmsNotification
+CloseNtmsSession
+CreateNtmsMediaA
+CreateNtmsMediaPoolA
+CreateNtmsMediaPoolW
+CreateNtmsMediaW
+DeallocateNtmsMedia
+DecommissionNtmsMedia
+DeleteNtmsDrive
+DeleteNtmsLibrary
+DeleteNtmsMedia
+DeleteNtmsMediaPool
+DeleteNtmsMediaType
+DeleteNtmsRequests
+DisableNtmsObject
+DismountNtmsDrive
+DismountNtmsMedia
+DoEjectFromSADriveW
+EjectDiskFromSADriveA
+EjectDiskFromSADriveW
+EjectNtmsCleaner
+EjectNtmsMedia
+EnableNtmsObject
+EndNtmsDeviceChangeDetection
+EnumerateNtmsObject
+ExportNtmsDatabase
+GetNtmsMediaPoolNameA
+GetNtmsMediaPoolNameW
+GetNtmsObjectAttributeA
+GetNtmsObjectAttributeW
+GetNtmsObjectInformationA
+GetNtmsObjectInformationW
+GetNtmsObjectSecurity
+GetNtmsRequestOrder
+GetNtmsUIOptionsA
+GetNtmsUIOptionsW
+GetVolumesFromDriveA
+GetVolumesFromDriveW
+IdentifyNtmsSlot
+ImportNtmsDatabase
+InjectNtmsCleaner
+InjectNtmsMedia
+InventoryNtmsLibrary
+MountNtmsMedia
+MoveToNtmsMediaPool
+OpenNtmsNotification
+OpenNtmsSessionA
+OpenNtmsSessionW
+ReleaseNtmsCleanerSlot
+ReserveNtmsCleanerSlot
+SatisfyNtmsOperatorRequest
+SetNtmsDeviceChangeDetection
+SetNtmsMediaComplete
+SetNtmsObjectAttributeA
+SetNtmsObjectAttributeW
+SetNtmsObjectInformationA
+SetNtmsObjectInformationW
+SetNtmsObjectSecurity
+SetNtmsRequestOrder
+SetNtmsUIOptionsA
+SetNtmsUIOptionsW
+SubmitNtmsOperatorRequestA
+SubmitNtmsOperatorRequestW
+SwapNtmsMedia
+UpdateNtmsOmidInfo
+WaitForNtmsNotification
+WaitForNtmsOperatorRequest
diff --git a/mingw-w64-crt/lib64/wntprint.def b/mingw-w64-crt/lib64/wntprint.def
index 2917a10..3c19cbc 100644
--- a/mingw-w64-crt/lib64/wntprint.def
+++ b/mingw-w64-crt/lib64/wntprint.def
@@ -1,51 +1,51 @@
-; 
-; Exports of file NTPRINT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY NTPRINT.dll
-EXPORTS
-IppOcEntry
-PSetupUpgradeClusterDriversW
-ServerInstallW
-SetupInetPrint
-ClassInstall32
-PSetupAssociateICMProfiles
-PSetupBuildDriversFromPath
-PSetupCreateDrvSetupPage
-PSetupCreateMonitorInfo
-PSetupCreatePrinterDeviceInfoList
-PSetupDestroyDriverInfo3
-PSetupDestroyMonitorInfo
-PSetupDestroyPrinterDeviceInfoList
-PSetupDestroySelectedDriverInfo
-PSetupDriverInfoFromName
-PSetupEnumMonitor
-PSetupFindMappedDriver
-PSetupFreeDrvField
-PSetupFreeMem
-PSetupGetActualInstallSection
-PSetupGetDriverInfForPrinter
-PSetupGetDriverInfForPrinterEx
-PSetupGetDriverInfo3
-PSetupGetLocalDataField
-PSetupGetPathToSearch
-PSetupGetSelectedDriverInfo
-PSetupInstallICMProfiles
-PSetupInstallInboxDriverSilently
-PSetupInstallMonitor
-PSetupInstallPrinterDriver
-PSetupInstallPrinterDriverFromTheWeb
-PSetupIsCompatibleDriver
-PSetupIsDriverInstalled
-PSetupIsTheDriverFoundInInfInstalled
-PSetupKillBadUserConnections
-PSetupPreSelectDriver
-PSetupProcessPrinterAdded
-PSetupSelectDeviceButtons
-PSetupSelectDriver
-PSetupSetDriverPlatform
-PSetupSetSelectDevTitleAndInstructions
-PSetupShowBlockedDriverUI
-PSetupThisPlatform
+; 
+; Exports of file NTPRINT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY NTPRINT.dll
+EXPORTS
+IppOcEntry
+PSetupUpgradeClusterDriversW
+ServerInstallW
+SetupInetPrint
+ClassInstall32
+PSetupAssociateICMProfiles
+PSetupBuildDriversFromPath
+PSetupCreateDrvSetupPage
+PSetupCreateMonitorInfo
+PSetupCreatePrinterDeviceInfoList
+PSetupDestroyDriverInfo3
+PSetupDestroyMonitorInfo
+PSetupDestroyPrinterDeviceInfoList
+PSetupDestroySelectedDriverInfo
+PSetupDriverInfoFromName
+PSetupEnumMonitor
+PSetupFindMappedDriver
+PSetupFreeDrvField
+PSetupFreeMem
+PSetupGetActualInstallSection
+PSetupGetDriverInfForPrinter
+PSetupGetDriverInfForPrinterEx
+PSetupGetDriverInfo3
+PSetupGetLocalDataField
+PSetupGetPathToSearch
+PSetupGetSelectedDriverInfo
+PSetupInstallICMProfiles
+PSetupInstallInboxDriverSilently
+PSetupInstallMonitor
+PSetupInstallPrinterDriver
+PSetupInstallPrinterDriverFromTheWeb
+PSetupIsCompatibleDriver
+PSetupIsDriverInstalled
+PSetupIsTheDriverFoundInInfInstalled
+PSetupKillBadUserConnections
+PSetupPreSelectDriver
+PSetupProcessPrinterAdded
+PSetupSelectDeviceButtons
+PSetupSelectDriver
+PSetupSetDriverPlatform
+PSetupSetSelectDevTitleAndInstructions
+PSetupShowBlockedDriverUI
+PSetupThisPlatform
diff --git a/mingw-w64-crt/lib64/wntshrui.def b/mingw-w64-crt/lib64/wntshrui.def
index b51ebd8..08b09f1 100644
--- a/mingw-w64-crt/lib64/wntshrui.def
+++ b/mingw-w64-crt/lib64/wntshrui.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file ntshrui.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntshrui.dll
-EXPORTS
-CanShareFolderW
-DllCanUnloadNow
-DllGetClassObject
-GetLocalPathFromNetResource
-GetLocalPathFromNetResourceA
-GetLocalPathFromNetResourceW
-GetNetResourceFromLocalPath
-GetNetResourceFromLocalPathA
-GetNetResourceFromLocalPathW
-IsFolderPrivateForUser
-IsPathShared
-IsPathSharedA
-IsPathSharedW
-SetFolderPermissionsForSharing
-SharingDialog
-SharingDialogA
-SharingDialogW
-ShowShareFolderUIW
+; 
+; Exports of file ntshrui.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntshrui.dll
+EXPORTS
+CanShareFolderW
+DllCanUnloadNow
+DllGetClassObject
+GetLocalPathFromNetResource
+GetLocalPathFromNetResourceA
+GetLocalPathFromNetResourceW
+GetNetResourceFromLocalPath
+GetNetResourceFromLocalPathA
+GetNetResourceFromLocalPathW
+IsFolderPrivateForUser
+IsPathShared
+IsPathSharedA
+IsPathSharedW
+SetFolderPermissionsForSharing
+SharingDialog
+SharingDialogA
+SharingDialogW
+ShowShareFolderUIW
diff --git a/mingw-w64-crt/lib64/wntvdm64.def b/mingw-w64-crt/lib64/wntvdm64.def
index 6b25326..e17f049 100644
--- a/mingw-w64-crt/lib64/wntvdm64.def
+++ b/mingw-w64-crt/lib64/wntvdm64.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file ntvdm64.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ntvdm64.dll
-EXPORTS
-DllInstall
-NtVdm64CreateProcess
-NtVdm64RaiseInvalid16BitError
+; 
+; Exports of file ntvdm64.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ntvdm64.dll
+EXPORTS
+DllInstall
+NtVdm64CreateProcess
+NtVdm64RaiseInvalid16BitError
diff --git a/mingw-w64-crt/lib64/woakley.def b/mingw-w64-crt/lib64/woakley.def
index 546e115..a50391d 100644
--- a/mingw-w64-crt/lib64/woakley.def
+++ b/mingw-w64-crt/lib64/woakley.def
@@ -1,24 +1,24 @@
-; 
-; Exports of file oakley.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY oakley.DLL
-EXPORTS
-IKEQueryStatistics
-IKEEnumMMs
-IKEDeleteAssociation
-IKEInitiateIKENegotiation
-IKEQuerySpiChange
-IKERegisterNotifyClient
-IKEInit
-IKEShutdown
-IKEInterfaceChange
-IKECloseIKENotifyHandle
-IKEQueryIKENegotiationStatus
-IKECloseIKENegotiationHandle
-IKENotifyPolicyChange
-IKEAddSAs
-IKESetConfigurationVariables
-IKEGetConfigurationVariables
+; 
+; Exports of file oakley.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY oakley.DLL
+EXPORTS
+IKEQueryStatistics
+IKEEnumMMs
+IKEDeleteAssociation
+IKEInitiateIKENegotiation
+IKEQuerySpiChange
+IKERegisterNotifyClient
+IKEInit
+IKEShutdown
+IKEInterfaceChange
+IKECloseIKENotifyHandle
+IKEQueryIKENegotiationStatus
+IKECloseIKENegotiationHandle
+IKENotifyPolicyChange
+IKEAddSAs
+IKESetConfigurationVariables
+IKEGetConfigurationVariables
diff --git a/mingw-w64-crt/lib64/wobjsel.def b/mingw-w64-crt/lib64/wobjsel.def
index 5381f6a..17d66c3 100644
--- a/mingw-w64-crt/lib64/wobjsel.def
+++ b/mingw-w64-crt/lib64/wobjsel.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file objsel.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY objsel.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file objsel.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY objsel.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/woccache.def b/mingw-w64-crt/lib64/woccache.def
index dd58250..47cf5fa 100644
--- a/mingw-w64-crt/lib64/woccache.def
+++ b/mingw-w64-crt/lib64/woccache.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file OCCACHE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OCCACHE.dll
-EXPORTS
-FindControlClose
-FindFirstControl
-FindNextControl
-GetControlDependentFile
-GetControlInfo
-IsModuleRemovable
-ReleaseControlHandle
-RemoveControlByHandle
-RemoveControlByName
-RemoveExpiredControls
-SweepControlsByLastAccessDate
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OCCACHE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OCCACHE.dll
+EXPORTS
+FindControlClose
+FindFirstControl
+FindNextControl
+GetControlDependentFile
+GetControlInfo
+IsModuleRemovable
+ReleaseControlHandle
+RemoveControlByHandle
+RemoveControlByName
+RemoveExpiredControls
+SweepControlsByLastAccessDate
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wocmanage.def b/mingw-w64-crt/lib64/wocmanage.def
index af11f10..d0f7c29 100644
--- a/mingw-w64-crt/lib64/wocmanage.def
+++ b/mingw-w64-crt/lib64/wocmanage.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file OCMANAGE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OCMANAGE.dll
-EXPORTS
-OcComponentState
-OcCreateOcPage
-OcCreateSetupPage
-OcGetWizardPages
-OcInitialize
-OcRememberWizardDialogHandle
-OcSubComponentsPresent
-OcTerminate
+; 
+; Exports of file OCMANAGE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OCMANAGE.dll
+EXPORTS
+OcComponentState
+OcCreateOcPage
+OcCreateSetupPage
+OcGetWizardPages
+OcInitialize
+OcRememberWizardDialogHandle
+OcSubComponentsPresent
+OcTerminate
diff --git a/mingw-w64-crt/lib64/wodbc32.def b/mingw-w64-crt/lib64/wodbc32.def
index 5b7ab46..bd58fcf 100644
--- a/mingw-w64-crt/lib64/wodbc32.def
+++ b/mingw-w64-crt/lib64/wodbc32.def
@@ -1,190 +1,190 @@
-; 
-; Exports of file ODBC32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBC32.dll
-EXPORTS
-SQLAllocConnect
-SQLAllocEnv
-SQLAllocStmt
-SQLBindCol
-SQLCancel
-SQLColAttributes
-SQLConnect
-SQLDescribeCol
-SQLDisconnect
-SQLError
-SQLExecDirect
-SQLExecute
-SQLFetch
-SQLFreeConnect
-SQLFreeEnv
-SQLFreeStmt
-SQLGetCursorName
-SQLNumResultCols
-SQLPrepare
-SQLRowCount
-SQLSetCursorName
-SQLSetParam
-SQLTransact
-SQLAllocHandle
-SQLBindParam
-SQLCloseCursor
-SQLColAttribute
-SQLCopyDesc
-SQLEndTran
-SQLFetchScroll
-SQLFreeHandle
-SQLGetConnectAttr
-SQLGetDescField
-SQLGetDescRec
-SQLGetDiagField
-SQLGetDiagRec
-SQLGetEnvAttr
-SQLGetStmtAttr
-SQLSetConnectAttr
-SQLColumns
-SQLDriverConnect
-SQLGetConnectOption
-SQLGetData
-SQLGetFunctions
-SQLGetInfo
-SQLGetStmtOption
-SQLGetTypeInfo
-SQLParamData
-SQLPutData
-SQLSetConnectOption
-SQLSetStmtOption
-SQLSpecialColumns
-SQLStatistics
-SQLTables
-SQLBrowseConnect
-SQLColumnPrivileges
-SQLDataSources
-SQLDescribeParam
-SQLExtendedFetch
-SQLForeignKeys
-SQLMoreResults
-SQLNativeSql
-SQLNumParams
-SQLParamOptions
-SQLPrimaryKeys
-SQLProcedureColumns
-SQLProcedures
-SQLSetPos
-SQLSetScrollOptions
-SQLTablePrivileges
-SQLDrivers
-SQLBindParameter
-SQLSetDescField
-SQLSetDescRec
-SQLSetEnvAttr
-SQLSetStmtAttr
-SQLAllocHandleStd
-SQLBulkOperations
-CloseODBCPerfData
-CollectODBCPerfData
-CursorLibLockDbc
-CursorLibLockDesc
-CursorLibLockStmt
-ODBCGetTryWaitValue
-CursorLibTransact
-ODBCSetTryWaitValue
-DllBidEntryPoint
-GetODBCSharedData
-LockHandle
-MpHeapAlloc
-MpHeapCompact
-MpHeapCreate
-MpHeapDestroy
-MpHeapFree
-MpHeapReAlloc
-MpHeapSize
-MpHeapValidate
-ODBCInternalConnectW
-OpenODBCPerfData
-PostComponentError
-PostODBCComponentError
-PostODBCError
-SearchStatusCode
-VFreeErrors
-VRetrieveDriverErrorsRowCol
-SQLColAttributesW
-SQLConnectW
-SQLDescribeColW
-ValidateErrorQueue
-SQLErrorW
-SQLExecDirectW
-g_hHeapMalloc DATA
-SQLGetCursorNameW
-SQLPrepareW
-SQLSetCursorNameW
-SQLColAttributeW
-SQLGetConnectAttrW
-SQLGetDescFieldW
-SQLGetDescRecW
-SQLGetDiagFieldW
-SQLGetDiagRecW
-SQLGetStmtAttrW
-SQLSetConnectAttrW
-SQLColumnsW
-SQLDriverConnectW
-SQLGetConnectOptionW
-SQLGetInfoW
-SQLGetTypeInfoW
-SQLSetConnectOptionW
-SQLSpecialColumnsW
-SQLStatisticsW
-SQLTablesW
-SQLBrowseConnectW
-SQLColumnPrivilegesW
-SQLDataSourcesW
-SQLForeignKeysW
-SQLNativeSqlW
-SQLPrimaryKeysW
-SQLProcedureColumnsW
-SQLProceduresW
-SQLTablePrivilegesW
-SQLDriversW
-SQLSetDescFieldW
-SQLSetStmtAttrW
-SQLColAttributesA
-SQLConnectA
-SQLDescribeColA
-SQLErrorA
-SQLExecDirectA
-SQLGetCursorNameA
-SQLPrepareA
-SQLSetCursorNameA
-SQLColAttributeA
-SQLGetConnectAttrA
-SQLGetDescFieldA
-SQLGetDescRecA
-SQLGetDiagFieldA
-SQLGetDiagRecA
-SQLGetStmtAttrA
-SQLSetConnectAttrA
-SQLColumnsA
-SQLDriverConnectA
-SQLGetConnectOptionA
-SQLGetInfoA
-SQLGetTypeInfoA
-SQLSetConnectOptionA
-SQLSpecialColumnsA
-SQLStatisticsA
-SQLTablesA
-SQLBrowseConnectA
-SQLColumnPrivilegesA
-SQLDataSourcesA
-SQLForeignKeysA
-SQLNativeSqlA
-SQLPrimaryKeysA
-SQLProcedureColumnsA
-SQLProceduresA
-SQLTablePrivilegesA
-SQLDriversA
-SQLSetDescFieldA
-SQLSetStmtAttrA
-ODBCQualifyFileDSNW
+; 
+; Exports of file ODBC32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBC32.dll
+EXPORTS
+SQLAllocConnect
+SQLAllocEnv
+SQLAllocStmt
+SQLBindCol
+SQLCancel
+SQLColAttributes
+SQLConnect
+SQLDescribeCol
+SQLDisconnect
+SQLError
+SQLExecDirect
+SQLExecute
+SQLFetch
+SQLFreeConnect
+SQLFreeEnv
+SQLFreeStmt
+SQLGetCursorName
+SQLNumResultCols
+SQLPrepare
+SQLRowCount
+SQLSetCursorName
+SQLSetParam
+SQLTransact
+SQLAllocHandle
+SQLBindParam
+SQLCloseCursor
+SQLColAttribute
+SQLCopyDesc
+SQLEndTran
+SQLFetchScroll
+SQLFreeHandle
+SQLGetConnectAttr
+SQLGetDescField
+SQLGetDescRec
+SQLGetDiagField
+SQLGetDiagRec
+SQLGetEnvAttr
+SQLGetStmtAttr
+SQLSetConnectAttr
+SQLColumns
+SQLDriverConnect
+SQLGetConnectOption
+SQLGetData
+SQLGetFunctions
+SQLGetInfo
+SQLGetStmtOption
+SQLGetTypeInfo
+SQLParamData
+SQLPutData
+SQLSetConnectOption
+SQLSetStmtOption
+SQLSpecialColumns
+SQLStatistics
+SQLTables
+SQLBrowseConnect
+SQLColumnPrivileges
+SQLDataSources
+SQLDescribeParam
+SQLExtendedFetch
+SQLForeignKeys
+SQLMoreResults
+SQLNativeSql
+SQLNumParams
+SQLParamOptions
+SQLPrimaryKeys
+SQLProcedureColumns
+SQLProcedures
+SQLSetPos
+SQLSetScrollOptions
+SQLTablePrivileges
+SQLDrivers
+SQLBindParameter
+SQLSetDescField
+SQLSetDescRec
+SQLSetEnvAttr
+SQLSetStmtAttr
+SQLAllocHandleStd
+SQLBulkOperations
+CloseODBCPerfData
+CollectODBCPerfData
+CursorLibLockDbc
+CursorLibLockDesc
+CursorLibLockStmt
+ODBCGetTryWaitValue
+CursorLibTransact
+ODBCSetTryWaitValue
+DllBidEntryPoint
+GetODBCSharedData
+LockHandle
+MpHeapAlloc
+MpHeapCompact
+MpHeapCreate
+MpHeapDestroy
+MpHeapFree
+MpHeapReAlloc
+MpHeapSize
+MpHeapValidate
+ODBCInternalConnectW
+OpenODBCPerfData
+PostComponentError
+PostODBCComponentError
+PostODBCError
+SearchStatusCode
+VFreeErrors
+VRetrieveDriverErrorsRowCol
+SQLColAttributesW
+SQLConnectW
+SQLDescribeColW
+ValidateErrorQueue
+SQLErrorW
+SQLExecDirectW
+g_hHeapMalloc DATA
+SQLGetCursorNameW
+SQLPrepareW
+SQLSetCursorNameW
+SQLColAttributeW
+SQLGetConnectAttrW
+SQLGetDescFieldW
+SQLGetDescRecW
+SQLGetDiagFieldW
+SQLGetDiagRecW
+SQLGetStmtAttrW
+SQLSetConnectAttrW
+SQLColumnsW
+SQLDriverConnectW
+SQLGetConnectOptionW
+SQLGetInfoW
+SQLGetTypeInfoW
+SQLSetConnectOptionW
+SQLSpecialColumnsW
+SQLStatisticsW
+SQLTablesW
+SQLBrowseConnectW
+SQLColumnPrivilegesW
+SQLDataSourcesW
+SQLForeignKeysW
+SQLNativeSqlW
+SQLPrimaryKeysW
+SQLProcedureColumnsW
+SQLProceduresW
+SQLTablePrivilegesW
+SQLDriversW
+SQLSetDescFieldW
+SQLSetStmtAttrW
+SQLColAttributesA
+SQLConnectA
+SQLDescribeColA
+SQLErrorA
+SQLExecDirectA
+SQLGetCursorNameA
+SQLPrepareA
+SQLSetCursorNameA
+SQLColAttributeA
+SQLGetConnectAttrA
+SQLGetDescFieldA
+SQLGetDescRecA
+SQLGetDiagFieldA
+SQLGetDiagRecA
+SQLGetStmtAttrA
+SQLSetConnectAttrA
+SQLColumnsA
+SQLDriverConnectA
+SQLGetConnectOptionA
+SQLGetInfoA
+SQLGetTypeInfoA
+SQLSetConnectOptionA
+SQLSpecialColumnsA
+SQLStatisticsA
+SQLTablesA
+SQLBrowseConnectA
+SQLColumnPrivilegesA
+SQLDataSourcesA
+SQLForeignKeysA
+SQLNativeSqlA
+SQLPrimaryKeysA
+SQLProcedureColumnsA
+SQLProceduresA
+SQLTablePrivilegesA
+SQLDriversA
+SQLSetDescFieldA
+SQLSetStmtAttrA
+ODBCQualifyFileDSNW
diff --git a/mingw-w64-crt/lib64/wodbc32gt.def b/mingw-w64-crt/lib64/wodbc32gt.def
index c5fa7a1..3a94388 100644
--- a/mingw-w64-crt/lib64/wodbc32gt.def
+++ b/mingw-w64-crt/lib64/wodbc32gt.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file ODBC32GT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBC32GT.dll
-EXPORTS
-Dispatch
-Dispatch2
+; 
+; Exports of file ODBC32GT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBC32GT.dll
+EXPORTS
+Dispatch
+Dispatch2
diff --git a/mingw-w64-crt/lib64/wodbcconf.def b/mingw-w64-crt/lib64/wodbcconf.def
index 1635f7d..c07103b 100644
--- a/mingw-w64-crt/lib64/wodbcconf.def
+++ b/mingw-w64-crt/lib64/wodbcconf.def
@@ -1,104 +1,104 @@
-; 
-; Exports of file odbcconf.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY odbcconf.DLL
-EXPORTS
-SetSilent
-SetActionLogFile
-SetActionLogModeSz
-SetActionLogMode
-ExecuteAction
-SetActionEnum
-SetActionName
-ExpandPath
-GetPathFromID
-ApplyW2KXPak
-ApplyMillenCat
-UnregW2KXPak
-AppRegEnum
-CloseAppRegEnum
-OpenAppRegEnum
-QueryApplication
-RefreshAppRegEnum
-RegisterApplication
-RunDLL32_RegisterApplication
-RunDLL32_UnregisterApplication
-UnregisterApplication
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-SLListCreate
-SLListDestroy
-SLListAddNode
-SLListRemoveNode
-SLListGetHead
-SLListGetNext
-SLListGetData
-SLListSetData
-DllUnregisterServer
-DLListCreate
-DLListDestroy
-DLListAddNode
-DLListRemoveNode
-DLListGetHead
-DLListGetNext
-DLListGetPrev
-DLListGetData
-DLListSetData
-OpenProcessInfo
-CloseProcessInfo
-IsFileLocked
-EnableNTPrivilege
-DisableNTPrivilege
-EnableDebugPrivileges
-DisableDebugPrivileges
-LookupAppFriendlyName
-IsModuleLoadedByProcess
-IsModuleLoadedByProcessEx
-ShutdownProcess
-OpenProcessDisplayNames
-CloseProcessDisplayNames
-GetProcessListFromFileList
-OpenProcessList
-CloseProcessList
-EnumerateProcesses
-AddInfToList
-CreateInfList
-PopulateInfFileList
-DestroyInfList
-OpenDriveSpaceList
-CloseDriveSpaceList
-CalculateRequiredDriveSpace
-OpenDriveSpaceListFromInfList
-RunDLL32_FilterRunOnceExRegistration
-AddFilterRunOnceExRegistrationToRegistry
-RemoveFilterRunOnceExRegistrationFromRegistry
-FilterRunOnceExRegistration
-BackupRegKey
-RestoreRegKey
-RegVersion
-RegVersionEx
-LoadRegVersion
-LoadRegVersionEx
-GetProgramFilesDirectory
-GetProgramFilesCommonFilesDirectory
-OpenPendingRenameList
-ClosePendingRenameList
-ParseVersionDataFromString
-ParseVersionDataFromStringEx
-CompareVersionData
-CompareVersionDataEx
-IsExceptionInf
-IsExceptionInfEx
-CreateRegKeyBackupList
-DestroyRegKeyBackupList
-RegKeyBackup
-RegKeyRestore
-SaveRegKeyBackupToFile
-LoadRegKeyBackupFromFile
-BackupCatalog
-RestoreCatalog
-DoesFileExist
+; 
+; Exports of file odbcconf.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY odbcconf.DLL
+EXPORTS
+SetSilent
+SetActionLogFile
+SetActionLogModeSz
+SetActionLogMode
+ExecuteAction
+SetActionEnum
+SetActionName
+ExpandPath
+GetPathFromID
+ApplyW2KXPak
+ApplyMillenCat
+UnregW2KXPak
+AppRegEnum
+CloseAppRegEnum
+OpenAppRegEnum
+QueryApplication
+RefreshAppRegEnum
+RegisterApplication
+RunDLL32_RegisterApplication
+RunDLL32_UnregisterApplication
+UnregisterApplication
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+SLListCreate
+SLListDestroy
+SLListAddNode
+SLListRemoveNode
+SLListGetHead
+SLListGetNext
+SLListGetData
+SLListSetData
+DllUnregisterServer
+DLListCreate
+DLListDestroy
+DLListAddNode
+DLListRemoveNode
+DLListGetHead
+DLListGetNext
+DLListGetPrev
+DLListGetData
+DLListSetData
+OpenProcessInfo
+CloseProcessInfo
+IsFileLocked
+EnableNTPrivilege
+DisableNTPrivilege
+EnableDebugPrivileges
+DisableDebugPrivileges
+LookupAppFriendlyName
+IsModuleLoadedByProcess
+IsModuleLoadedByProcessEx
+ShutdownProcess
+OpenProcessDisplayNames
+CloseProcessDisplayNames
+GetProcessListFromFileList
+OpenProcessList
+CloseProcessList
+EnumerateProcesses
+AddInfToList
+CreateInfList
+PopulateInfFileList
+DestroyInfList
+OpenDriveSpaceList
+CloseDriveSpaceList
+CalculateRequiredDriveSpace
+OpenDriveSpaceListFromInfList
+RunDLL32_FilterRunOnceExRegistration
+AddFilterRunOnceExRegistrationToRegistry
+RemoveFilterRunOnceExRegistrationFromRegistry
+FilterRunOnceExRegistration
+BackupRegKey
+RestoreRegKey
+RegVersion
+RegVersionEx
+LoadRegVersion
+LoadRegVersionEx
+GetProgramFilesDirectory
+GetProgramFilesCommonFilesDirectory
+OpenPendingRenameList
+ClosePendingRenameList
+ParseVersionDataFromString
+ParseVersionDataFromStringEx
+CompareVersionData
+CompareVersionDataEx
+IsExceptionInf
+IsExceptionInfEx
+CreateRegKeyBackupList
+DestroyRegKeyBackupList
+RegKeyBackup
+RegKeyRestore
+SaveRegKeyBackupToFile
+LoadRegKeyBackupFromFile
+BackupCatalog
+RestoreCatalog
+DoesFileExist
diff --git a/mingw-w64-crt/lib64/wodbccp32.def b/mingw-w64-crt/lib64/wodbccp32.def
index 1224c37..b495504 100644
--- a/mingw-w64-crt/lib64/wodbccp32.def
+++ b/mingw-w64-crt/lib64/wodbccp32.def
@@ -1,65 +1,65 @@
-; 
-; Exports of file ODBCCP32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBCCP32.dll
-EXPORTS
-SQLInstallDriver
-SQLInstallDriverManager
-SQLGetInstalledDrivers
-SQLGetAvailableDrivers
-SQLConfigDataSource
-SQLRemoveDefaultDataSource
-SQLWriteDSNToIni
-SQLRemoveDSNFromIni
-SQLInstallODBC
-SQLManageDataSources
-SQLCreateDataSource
-SQLGetTranslator
-SQLWritePrivateProfileString
-SQLGetPrivateProfileString
-SQLValidDSN
-SQLRemoveDriverManager
-SQLInstallTranslator
-SQLRemoveTranslator
-SQLRemoveDriver
-SQLConfigDriver
-SQLInstallerError
-SQLPostInstallerError
-SQLReadFileDSN
-SQLWriteFileDSN
-SQLInstallDriverEx
-SQLGetConfigMode
-SQLSetConfigMode
-SQLInstallTranslatorEx
-SQLCreateDataSourceEx
-ODBCCPlApplet
-SelectTransDlg
-SQLInstallDriverW
-SQLInstallDriverManagerW
-SQLGetInstalledDriversW
-SQLGetAvailableDriversW
-SQLConfigDataSourceW
-SQLWriteDSNToIniW
-SQLRemoveDSNFromIniW
-SQLInstallODBCW
-SQLCreateDataSourceW
-SQLGetTranslatorW
-SQLWritePrivateProfileStringW
-SQLGetPrivateProfileStringW
-SQLValidDSNW
-SQLInstallTranslatorW
-SQLRemoveTranslatorW
-SQLRemoveDriverW
-SQLConfigDriverW
-SQLInstallerErrorW
-SQLPostInstallerErrorW
-SQLReadFileDSNW
-SQLWriteFileDSNW
-SQLInstallDriverExW
-SQLInstallTranslatorExW
-SQLCreateDataSourceExW
-SQLLoadDriverListBox
-SQLLoadDataSourcesListBox
+; 
+; Exports of file ODBCCP32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBCCP32.dll
+EXPORTS
+SQLInstallDriver
+SQLInstallDriverManager
+SQLGetInstalledDrivers
+SQLGetAvailableDrivers
+SQLConfigDataSource
+SQLRemoveDefaultDataSource
+SQLWriteDSNToIni
+SQLRemoveDSNFromIni
+SQLInstallODBC
+SQLManageDataSources
+SQLCreateDataSource
+SQLGetTranslator
+SQLWritePrivateProfileString
+SQLGetPrivateProfileString
+SQLValidDSN
+SQLRemoveDriverManager
+SQLInstallTranslator
+SQLRemoveTranslator
+SQLRemoveDriver
+SQLConfigDriver
+SQLInstallerError
+SQLPostInstallerError
+SQLReadFileDSN
+SQLWriteFileDSN
+SQLInstallDriverEx
+SQLGetConfigMode
+SQLSetConfigMode
+SQLInstallTranslatorEx
+SQLCreateDataSourceEx
+ODBCCPlApplet
+SelectTransDlg
+SQLInstallDriverW
+SQLInstallDriverManagerW
+SQLGetInstalledDriversW
+SQLGetAvailableDriversW
+SQLConfigDataSourceW
+SQLWriteDSNToIniW
+SQLRemoveDSNFromIniW
+SQLInstallODBCW
+SQLCreateDataSourceW
+SQLGetTranslatorW
+SQLWritePrivateProfileStringW
+SQLGetPrivateProfileStringW
+SQLValidDSNW
+SQLInstallTranslatorW
+SQLRemoveTranslatorW
+SQLRemoveDriverW
+SQLConfigDriverW
+SQLInstallerErrorW
+SQLPostInstallerErrorW
+SQLReadFileDSNW
+SQLWriteFileDSNW
+SQLInstallDriverExW
+SQLInstallTranslatorExW
+SQLCreateDataSourceExW
+SQLLoadDriverListBox
+SQLLoadDataSourcesListBox
diff --git a/mingw-w64-crt/lib64/wodbccr32.def b/mingw-w64-crt/lib64/wodbccr32.def
index 795576d..3edb80a 100644
--- a/mingw-w64-crt/lib64/wodbccr32.def
+++ b/mingw-w64-crt/lib64/wodbccr32.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file ODBCCR32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBCCR32.dll
-EXPORTS
-SQLBindCol
-SQLCancel
-ReleaseCLStmtResources
-SQLExecDirect
-SQLExecute
-SQLFetch
-SQLFreeStmt
-SQLPrepare
-SQLRowCount
-SQLTransact
-SQLCloseCursor
-SQLEndTran
-SQLFetchScroll
-SQLFreeHandle
-SQLGetDescField
-SQLGetDescRec
-SQLGetStmtAttr
-SQLSetConnectAttr
-SQLGetData
-SQLGetInfo
-SQLGetStmtOption
-SQLParamData
-SQLPutData
-SQLSetConnectOption
-SQLSetStmtOption
-SQLExtendedFetch
-SQLMoreResults
-SQLNativeSql
-SQLNumParams
-SQLParamOptions
-SQLSetPos
-SQLSetScrollOptions
-SQLBindParameter
-SQLSetDescField
-SQLSetDescRec
-SQLSetStmtAttr
-SQLBulkOperations
+; 
+; Exports of file ODBCCR32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBCCR32.dll
+EXPORTS
+SQLBindCol
+SQLCancel
+ReleaseCLStmtResources
+SQLExecDirect
+SQLExecute
+SQLFetch
+SQLFreeStmt
+SQLPrepare
+SQLRowCount
+SQLTransact
+SQLCloseCursor
+SQLEndTran
+SQLFetchScroll
+SQLFreeHandle
+SQLGetDescField
+SQLGetDescRec
+SQLGetStmtAttr
+SQLSetConnectAttr
+SQLGetData
+SQLGetInfo
+SQLGetStmtOption
+SQLParamData
+SQLPutData
+SQLSetConnectOption
+SQLSetStmtOption
+SQLExtendedFetch
+SQLMoreResults
+SQLNativeSql
+SQLNumParams
+SQLParamOptions
+SQLSetPos
+SQLSetScrollOptions
+SQLBindParameter
+SQLSetDescField
+SQLSetDescRec
+SQLSetStmtAttr
+SQLBulkOperations
diff --git a/mingw-w64-crt/lib64/wodbccu32.def b/mingw-w64-crt/lib64/wodbccu32.def
index 795576d..3edb80a 100644
--- a/mingw-w64-crt/lib64/wodbccu32.def
+++ b/mingw-w64-crt/lib64/wodbccu32.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file ODBCCR32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBCCR32.dll
-EXPORTS
-SQLBindCol
-SQLCancel
-ReleaseCLStmtResources
-SQLExecDirect
-SQLExecute
-SQLFetch
-SQLFreeStmt
-SQLPrepare
-SQLRowCount
-SQLTransact
-SQLCloseCursor
-SQLEndTran
-SQLFetchScroll
-SQLFreeHandle
-SQLGetDescField
-SQLGetDescRec
-SQLGetStmtAttr
-SQLSetConnectAttr
-SQLGetData
-SQLGetInfo
-SQLGetStmtOption
-SQLParamData
-SQLPutData
-SQLSetConnectOption
-SQLSetStmtOption
-SQLExtendedFetch
-SQLMoreResults
-SQLNativeSql
-SQLNumParams
-SQLParamOptions
-SQLSetPos
-SQLSetScrollOptions
-SQLBindParameter
-SQLSetDescField
-SQLSetDescRec
-SQLSetStmtAttr
-SQLBulkOperations
+; 
+; Exports of file ODBCCR32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBCCR32.dll
+EXPORTS
+SQLBindCol
+SQLCancel
+ReleaseCLStmtResources
+SQLExecDirect
+SQLExecute
+SQLFetch
+SQLFreeStmt
+SQLPrepare
+SQLRowCount
+SQLTransact
+SQLCloseCursor
+SQLEndTran
+SQLFetchScroll
+SQLFreeHandle
+SQLGetDescField
+SQLGetDescRec
+SQLGetStmtAttr
+SQLSetConnectAttr
+SQLGetData
+SQLGetInfo
+SQLGetStmtOption
+SQLParamData
+SQLPutData
+SQLSetConnectOption
+SQLSetStmtOption
+SQLExtendedFetch
+SQLMoreResults
+SQLNativeSql
+SQLNumParams
+SQLParamOptions
+SQLSetPos
+SQLSetScrollOptions
+SQLBindParameter
+SQLSetDescField
+SQLSetDescRec
+SQLSetStmtAttr
+SQLBulkOperations
diff --git a/mingw-w64-crt/lib64/wodbcji32.def b/mingw-w64-crt/lib64/wodbcji32.def
index def5822..06476da 100644
--- a/mingw-w64-crt/lib64/wodbcji32.def
+++ b/mingw-w64-crt/lib64/wodbcji32.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file odbcji32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY odbcji32.dll
-EXPORTS
-IntlLibHinst
-LibMain
+; 
+; Exports of file odbcji32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY odbcji32.dll
+EXPORTS
+IntlLibHinst
+LibMain
diff --git a/mingw-w64-crt/lib64/wodbcjt32.def b/mingw-w64-crt/lib64/wodbcjt32.def
index 1551a48..2e00196 100644
--- a/mingw-w64-crt/lib64/wodbcjt32.def
+++ b/mingw-w64-crt/lib64/wodbcjt32.def
@@ -1,84 +1,84 @@
-; 
-; Exports of file odbcjt32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY odbcjt32.dll
-EXPORTS
-SQLAllocConnect
-SQLAllocEnv
-SQLAllocStmt
-SQLBindCol
-SQLCancel
-SQLDisconnect
-SQLExecute
-SQLFetch
-SQLFreeConnect
-SQLFreeEnv
-SQLFreeStmt
-SQLNumResultCols
-SQLRowCount
-SQLAllocHandle
-SQLCloseCursor
-SQLCopyDesc
-SQLEndTran
-SQLFetchScroll
-SQLFreeHandle
-SQLGetData
-SQLGetFunctions
-SQLParamData
-SQLPutData
-SQLExtendedFetch
-SQLMoreResults
-SQLNumParams
-SQLSetPos
-SQLSetScrollOptions
-SQLBindParameter
-SQLSetDescRec
-SQLSetEnvAttr
-SQLBulkOperations
-SQLConnectW
-SQLDescribeColW
-SQLExecDirectW
-SQLGetCursorNameW
-SQLPrepareW
-SQLSetCursorNameW
-SQLColAttributeW
-SQLGetConnectAttrW
-SQLGetDescFieldW
-SQLGetDescRecW
-SQLGetDiagFieldW
-SQLGetDiagRecW
-SQLGetStmtAttrW
-SQLSetConnectAttrW
-SQLColumnsW
-SQLDriverConnectW
-SQLGetInfoW
-SQLGetTypeInfoW
-SQLSpecialColumnsW
-SQLStatisticsW
-SQLTablesW
-SQLNativeSqlW
-SQLProcedureColumnsW
-SQLProceduresW
-SQLSetDescFieldW
-SQLSetStmtAttrW
-LoadByOrdinal
-LibMain
-RepairCompactProc
-AdvancedDialogProc
-OpenDirHook
-InvisibleSelectDb
-InitDialogAgain
-LoginDialogProc
-InitializeLoginDialog
-SelectUIdxDlgProc
-ConfigDialogProc
-ConfigDSNExW
-ConfigDSNW
-SelectIndexDlgProc
-DefTxtFmtDlgProc
-AssertSzFail
-ConfigDriverW
-ConfigDSN
+; 
+; Exports of file odbcjt32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY odbcjt32.dll
+EXPORTS
+SQLAllocConnect
+SQLAllocEnv
+SQLAllocStmt
+SQLBindCol
+SQLCancel
+SQLDisconnect
+SQLExecute
+SQLFetch
+SQLFreeConnect
+SQLFreeEnv
+SQLFreeStmt
+SQLNumResultCols
+SQLRowCount
+SQLAllocHandle
+SQLCloseCursor
+SQLCopyDesc
+SQLEndTran
+SQLFetchScroll
+SQLFreeHandle
+SQLGetData
+SQLGetFunctions
+SQLParamData
+SQLPutData
+SQLExtendedFetch
+SQLMoreResults
+SQLNumParams
+SQLSetPos
+SQLSetScrollOptions
+SQLBindParameter
+SQLSetDescRec
+SQLSetEnvAttr
+SQLBulkOperations
+SQLConnectW
+SQLDescribeColW
+SQLExecDirectW
+SQLGetCursorNameW
+SQLPrepareW
+SQLSetCursorNameW
+SQLColAttributeW
+SQLGetConnectAttrW
+SQLGetDescFieldW
+SQLGetDescRecW
+SQLGetDiagFieldW
+SQLGetDiagRecW
+SQLGetStmtAttrW
+SQLSetConnectAttrW
+SQLColumnsW
+SQLDriverConnectW
+SQLGetInfoW
+SQLGetTypeInfoW
+SQLSpecialColumnsW
+SQLStatisticsW
+SQLTablesW
+SQLNativeSqlW
+SQLProcedureColumnsW
+SQLProceduresW
+SQLSetDescFieldW
+SQLSetStmtAttrW
+LoadByOrdinal
+LibMain
+RepairCompactProc
+AdvancedDialogProc
+OpenDirHook
+InvisibleSelectDb
+InitDialogAgain
+LoginDialogProc
+InitializeLoginDialog
+SelectUIdxDlgProc
+ConfigDialogProc
+ConfigDSNExW
+ConfigDSNW
+SelectIndexDlgProc
+DefTxtFmtDlgProc
+AssertSzFail
+ConfigDriverW
+ConfigDSN
diff --git a/mingw-w64-crt/lib64/wodbctrac.def b/mingw-w64-crt/lib64/wodbctrac.def
index 9f3fa00..9dc959b 100644
--- a/mingw-w64-crt/lib64/wodbctrac.def
+++ b/mingw-w64-crt/lib64/wodbctrac.def
@@ -1,130 +1,130 @@
-; 
-; Exports of file ODBCTRAC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ODBCTRAC.dll
-EXPORTS
-TraceSQLAllocConnect
-TraceSQLAllocEnv
-TraceSQLAllocStmt
-TraceSQLBindCol
-TraceSQLCancel
-TraceSQLColAttributes
-TraceSQLConnect
-TraceSQLDescribeCol
-TraceSQLDisconnect
-TraceSQLError
-TraceSQLExecDirect
-TraceSQLExecute
-TraceSQLFetch
-TraceSQLFreeConnect
-TraceSQLFreeEnv
-TraceSQLFreeStmt
-TraceSQLGetCursorName
-TraceSQLNumResultCols
-TraceSQLPrepare
-TraceSQLRowCount
-TraceSQLSetCursorName
-TraceSQLSetParam
-TraceSQLTransact
-TraceSQLAllocHandle
-TraceSQLBindParam
-TraceSQLCloseCursor
-TraceSQLColAttribute
-TraceSQLCopyDesc
-TraceSQLEndTran
-TraceSQLFetchScroll
-TraceSQLFreeHandle
-TraceSQLGetConnectAttr
-TraceSQLGetDescField
-TraceSQLGetDescRec
-TraceSQLGetDiagField
-TraceSQLGetDiagRec
-TraceSQLGetEnvAttr
-TraceSQLGetStmtAttr
-TraceSQLSetConnectAttr
-TraceSQLColumns
-TraceSQLDriverConnect
-TraceSQLGetConnectOption
-TraceSQLGetData
-TraceSQLGetFunctions
-TraceSQLGetInfo
-TraceSQLGetStmtOption
-TraceSQLGetTypeInfo
-TraceSQLParamData
-TraceSQLPutData
-TraceSQLSetConnectOption
-TraceSQLSetStmtOption
-TraceSQLSpecialColumns
-TraceSQLStatistics
-TraceSQLTables
-TraceSQLBrowseConnect
-TraceSQLColumnPrivileges
-TraceSQLDataSources
-TraceSQLDescribeParam
-TraceSQLExtendedFetch
-TraceSQLForeignKeys
-TraceSQLMoreResults
-TraceSQLNativeSql
-TraceSQLNumParams
-TraceSQLParamOptions
-TraceSQLPrimaryKeys
-TraceSQLProcedureColumns
-TraceSQLProcedures
-TraceSQLSetPos
-TraceSQLSetScrollOptions
-TraceSQLTablePrivileges
-TraceSQLDrivers
-TraceSQLBindParameter
-TraceSQLSetDescField
-TraceSQLSetDescRec
-TraceSQLSetEnvAttr
-TraceSQLSetStmtAttr
-TraceSQLAllocHandleStd
-TraceSQLBulkOperations
-FireVSDebugEvent
-TraceVSControl
-TraceSQLColAttributesW
-TraceSQLConnectW
-TraceSQLDescribeColW
-TraceSQLErrorW
-TraceSQLExecDirectW
-TraceSQLGetCursorNameW
-TraceSQLPrepareW
-TraceSQLSetCursorNameW
-TraceSQLColAttributeW
-TraceSQLGetConnectAttrW
-TraceSQLGetDescFieldW
-TraceSQLGetDescRecW
-TraceSQLGetDiagFieldW
-TraceSQLGetDiagRecW
-TraceSQLGetStmtAttrW
-TraceSQLSetConnectAttrW
-TraceSQLColumnsW
-TraceSQLDriverConnectW
-TraceSQLGetConnectOptionW
-TraceSQLGetInfoW
-TraceSQLGetTypeInfoW
-TraceSQLSetConnectOptionW
-TraceSQLSpecialColumnsW
-TraceSQLStatisticsW
-TraceSQLTablesW
-TraceSQLBrowseConnectW
-TraceSQLColumnPrivilegesW
-TraceSQLDataSourcesW
-TraceSQLForeignKeysW
-TraceSQLNativeSqlW
-TraceSQLPrimaryKeysW
-TraceSQLProcedureColumnsW
-TraceSQLProceduresW
-TraceSQLTablePrivilegesW
-TraceSQLDriversW
-TraceSQLSetDescFieldW
-TraceSQLSetStmtAttrW
-TraceSQLAllocHandleStdW
-TraceReturn
-TraceOpenLogFile
-TraceCloseLogFile
-TraceVersion
+; 
+; Exports of file ODBCTRAC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ODBCTRAC.dll
+EXPORTS
+TraceSQLAllocConnect
+TraceSQLAllocEnv
+TraceSQLAllocStmt
+TraceSQLBindCol
+TraceSQLCancel
+TraceSQLColAttributes
+TraceSQLConnect
+TraceSQLDescribeCol
+TraceSQLDisconnect
+TraceSQLError
+TraceSQLExecDirect
+TraceSQLExecute
+TraceSQLFetch
+TraceSQLFreeConnect
+TraceSQLFreeEnv
+TraceSQLFreeStmt
+TraceSQLGetCursorName
+TraceSQLNumResultCols
+TraceSQLPrepare
+TraceSQLRowCount
+TraceSQLSetCursorName
+TraceSQLSetParam
+TraceSQLTransact
+TraceSQLAllocHandle
+TraceSQLBindParam
+TraceSQLCloseCursor
+TraceSQLColAttribute
+TraceSQLCopyDesc
+TraceSQLEndTran
+TraceSQLFetchScroll
+TraceSQLFreeHandle
+TraceSQLGetConnectAttr
+TraceSQLGetDescField
+TraceSQLGetDescRec
+TraceSQLGetDiagField
+TraceSQLGetDiagRec
+TraceSQLGetEnvAttr
+TraceSQLGetStmtAttr
+TraceSQLSetConnectAttr
+TraceSQLColumns
+TraceSQLDriverConnect
+TraceSQLGetConnectOption
+TraceSQLGetData
+TraceSQLGetFunctions
+TraceSQLGetInfo
+TraceSQLGetStmtOption
+TraceSQLGetTypeInfo
+TraceSQLParamData
+TraceSQLPutData
+TraceSQLSetConnectOption
+TraceSQLSetStmtOption
+TraceSQLSpecialColumns
+TraceSQLStatistics
+TraceSQLTables
+TraceSQLBrowseConnect
+TraceSQLColumnPrivileges
+TraceSQLDataSources
+TraceSQLDescribeParam
+TraceSQLExtendedFetch
+TraceSQLForeignKeys
+TraceSQLMoreResults
+TraceSQLNativeSql
+TraceSQLNumParams
+TraceSQLParamOptions
+TraceSQLPrimaryKeys
+TraceSQLProcedureColumns
+TraceSQLProcedures
+TraceSQLSetPos
+TraceSQLSetScrollOptions
+TraceSQLTablePrivileges
+TraceSQLDrivers
+TraceSQLBindParameter
+TraceSQLSetDescField
+TraceSQLSetDescRec
+TraceSQLSetEnvAttr
+TraceSQLSetStmtAttr
+TraceSQLAllocHandleStd
+TraceSQLBulkOperations
+FireVSDebugEvent
+TraceVSControl
+TraceSQLColAttributesW
+TraceSQLConnectW
+TraceSQLDescribeColW
+TraceSQLErrorW
+TraceSQLExecDirectW
+TraceSQLGetCursorNameW
+TraceSQLPrepareW
+TraceSQLSetCursorNameW
+TraceSQLColAttributeW
+TraceSQLGetConnectAttrW
+TraceSQLGetDescFieldW
+TraceSQLGetDescRecW
+TraceSQLGetDiagFieldW
+TraceSQLGetDiagRecW
+TraceSQLGetStmtAttrW
+TraceSQLSetConnectAttrW
+TraceSQLColumnsW
+TraceSQLDriverConnectW
+TraceSQLGetConnectOptionW
+TraceSQLGetInfoW
+TraceSQLGetTypeInfoW
+TraceSQLSetConnectOptionW
+TraceSQLSpecialColumnsW
+TraceSQLStatisticsW
+TraceSQLTablesW
+TraceSQLBrowseConnectW
+TraceSQLColumnPrivilegesW
+TraceSQLDataSourcesW
+TraceSQLForeignKeysW
+TraceSQLNativeSqlW
+TraceSQLPrimaryKeysW
+TraceSQLProcedureColumnsW
+TraceSQLProceduresW
+TraceSQLTablePrivilegesW
+TraceSQLDriversW
+TraceSQLSetDescFieldW
+TraceSQLSetStmtAttrW
+TraceSQLAllocHandleStdW
+TraceReturn
+TraceOpenLogFile
+TraceCloseLogFile
+TraceVersion
diff --git a/mingw-w64-crt/lib64/woddbse32.def b/mingw-w64-crt/lib64/woddbse32.def
index 3b1ae6b..dfaf4ea 100644
--- a/mingw-w64-crt/lib64/woddbse32.def
+++ b/mingw-w64-crt/lib64/woddbse32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file oddbse32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY oddbse32.dll
-EXPORTS
-ConfigDSNW
+; 
+; Exports of file oddbse32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY oddbse32.dll
+EXPORTS
+ConfigDSNW
diff --git a/mingw-w64-crt/lib64/wodexl32.def b/mingw-w64-crt/lib64/wodexl32.def
index ff3dafb..adc3667 100644
--- a/mingw-w64-crt/lib64/wodexl32.def
+++ b/mingw-w64-crt/lib64/wodexl32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file odexl32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY odexl32.dll
-EXPORTS
-ConfigDSNW
+; 
+; Exports of file odexl32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY odexl32.dll
+EXPORTS
+ConfigDSNW
diff --git a/mingw-w64-crt/lib64/wodfox32.def b/mingw-w64-crt/lib64/wodfox32.def
index 954889e..9fdbf00 100644
--- a/mingw-w64-crt/lib64/wodfox32.def
+++ b/mingw-w64-crt/lib64/wodfox32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file odfox32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY odfox32.dll
-EXPORTS
-ConfigDSNW
+; 
+; Exports of file odfox32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY odfox32.dll
+EXPORTS
+ConfigDSNW
diff --git a/mingw-w64-crt/lib64/wodpdx32.def b/mingw-w64-crt/lib64/wodpdx32.def
index 6220439..ee4378a 100644
--- a/mingw-w64-crt/lib64/wodpdx32.def
+++ b/mingw-w64-crt/lib64/wodpdx32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file odpdx32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY odpdx32.dll
-EXPORTS
-ConfigDSNW
+; 
+; Exports of file odpdx32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY odpdx32.dll
+EXPORTS
+ConfigDSNW
diff --git a/mingw-w64-crt/lib64/wodtext32.def b/mingw-w64-crt/lib64/wodtext32.def
index 0e5b598..e0b1253 100644
--- a/mingw-w64-crt/lib64/wodtext32.def
+++ b/mingw-w64-crt/lib64/wodtext32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file odtext32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY odtext32.dll
-EXPORTS
-ConfigDSNW
+; 
+; Exports of file odtext32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY odtext32.dll
+EXPORTS
+ConfigDSNW
diff --git a/mingw-w64-crt/lib64/woeimport.def b/mingw-w64-crt/lib64/woeimport.def
index baf209e..52e7007 100644
--- a/mingw-w64-crt/lib64/woeimport.def
+++ b/mingw-w64-crt/lib64/woeimport.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file OEIMPORT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OEIMPORT.dll
-EXPORTS
-PerformImport
-ExportMessages
-PerformMigration
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OEIMPORT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OEIMPORT.dll
+EXPORTS
+PerformImport
+ExportMessages
+PerformMigration
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/woemiglib.def b/mingw-w64-crt/lib64/woemiglib.def
index 82d4804..3b6cabd 100644
--- a/mingw-w64-crt/lib64/woemiglib.def
+++ b/mingw-w64-crt/lib64/woemiglib.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file OEMIGLIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OEMIGLIB.dll
-EXPORTS
-OE5SimpleCreate
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OEMIGLIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OEMIGLIB.dll
+EXPORTS
+OE5SimpleCreate
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wofffilt.def b/mingw-w64-crt/lib64/wofffilt.def
index 93e48ce..8e18312 100644
--- a/mingw-w64-crt/lib64/wofffilt.def
+++ b/mingw-w64-crt/lib64/wofffilt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file OFFFILT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OFFFILT.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OFFFILT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OFFFILT.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wole32.def b/mingw-w64-crt/lib64/wole32.def
index 484216c..1aa211f 100644
--- a/mingw-w64-crt/lib64/wole32.def
+++ b/mingw-w64-crt/lib64/wole32.def
@@ -1,333 +1,333 @@
-; 
-; Exports of file ole32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ole32.dll
-EXPORTS
-CoVrfCheckThreadState
-CoVrfGetThreadState
-CoVrfReleaseThreadState
-PropVariantChangeType
-BindMoniker
-CLIPFORMAT_UserFree
-CLIPFORMAT_UserMarshal
-CLIPFORMAT_UserSize
-CLIPFORMAT_UserUnmarshal
-CLSIDFromOle1Class
-CLSIDFromProgID
-CLSIDFromProgIDEx
-CLSIDFromString
-CoAddRefServerProcess
-CoAllowSetForegroundWindow
-CoBuildVersion
-CoCancelCall
-CoCopyProxy
-CoCreateFreeThreadedMarshaler
-CoCreateGuid
-CoCreateInstance
-CoCreateInstanceEx
-CoCreateObjectInContext
-CoDeactivateObject
-CoDisableCallCancellation
-CoDisconnectObject
-CoDosDateTimeToFileTime
-CoEnableCallCancellation
-CoFileTimeNow
-CoFileTimeToDosDateTime
-CoFreeAllLibraries
-CoFreeLibrary
-CoFreeUnusedLibraries
-CoFreeUnusedLibrariesEx
-CoGetApartmentID
-CoGetCallContext
-CoGetCallerTID
-CoGetCancelObject
-CoGetClassObject
-CoGetClassVersion
-CoGetComCatalog
-CoGetContextToken
-CoGetCurrentLogicalThreadId
-CoGetCurrentProcess
-CoGetDefaultContext
-CoGetInstanceFromFile
-CoGetInstanceFromIStorage
-CoGetInterceptor
-CoGetInterceptorFromTypeInfo
-CoGetInterfaceAndReleaseStream
-CoGetMalloc
-CoGetMarshalSizeMax
-CoGetModuleType
-CoGetObject
-CoGetObjectContext
-CoGetPSClsid
-CoGetProcessIdentifier
-CoGetStandardMarshal
-CoGetState
-CoGetStdMarshalEx
-CoGetSystemSecurityPermissions
-CoGetTreatAsClass
-CoImpersonateClient
-CoInitialize
-CoInitializeEx
-CoInitializeSecurity
-CoInitializeWOW
-CoInstall
-CoInvalidateRemoteMachineBindings
-CoIsHandlerConnected
-CoIsOle1Class
-CoLoadLibrary
-CoLockObjectExternal
-CoMarshalHresult
-CoMarshalInterThreadInterfaceInStream
-CoMarshalInterface
-CoPopServiceDomain
-CoPushServiceDomain
-CoQueryAuthenticationServices
-CoQueryClientBlanket
-CoQueryProxyBlanket
-CoQueryReleaseObject
-CoReactivateObject
-CoRegisterChannelHook
-CoRegisterClassObject
-CoRegisterInitializeSpy
-CoRegisterMallocSpy
-CoRegisterMessageFilter
-CoRegisterPSClsid
-CoRegisterSurrogate
-CoRegisterSurrogateEx
-CoReleaseMarshalData
-CoReleaseServerProcess
-CoResumeClassObjects
-CoRetireServer
-CoRevertToSelf
-CoRevokeClassObject
-CoRevokeInitializeSpy
-CoRevokeMallocSpy
-CoSetCancelObject
-CoSetProxyBlanket
-CoSetState
-CoSuspendClassObjects
-CoSwitchCallContext
-CoTaskMemAlloc
-CoTaskMemFree
-CoTaskMemRealloc
-CoTestCancel
-CoTreatAsClass
-CoUninitialize
-CoUnloadingWOW
-CoUnmarshalHresult
-CoUnmarshalInterface
-CoWaitForMultipleHandles
-ComPs_NdrDllCanUnloadNow
-ComPs_NdrDllGetClassObject
-ComPs_NdrDllRegisterProxy
-ComPs_NdrDllUnregisterProxy
-CreateAntiMoniker
-CreateBindCtx
-CreateClassMoniker
-CreateDataAdviseHolder
-CreateDataCache
-CreateErrorInfo
-CreateFileMoniker
-CreateGenericComposite
-CreateILockBytesOnHGlobal
-CreateItemMoniker
-CreateObjrefMoniker
-CreateOleAdviseHolder
-CreatePointerMoniker
-CreateStdProgressIndicator
-CreateStreamOnHGlobal
-DcomChannelSetHResult
-DllDebugObjectRPCHook
-DllGetClassObject
-DllGetClassObjectWOW
-DllRegisterServer
-DoDragDrop
-EnableHookObject
-FmtIdToPropStgName
-FreePropVariantArray
-GetClassFile
-GetConvertStg
-GetDocumentBitStg
-GetErrorInfo
-GetHGlobalFromILockBytes
-GetHGlobalFromStream
-GetHookInterface
-GetRunningObjectTable
-HACCEL_UserFree
-HACCEL_UserMarshal
-HACCEL_UserSize
-HACCEL_UserUnmarshal
-HBITMAP_UserFree
-HBITMAP_UserMarshal
-HBITMAP_UserSize
-HBITMAP_UserUnmarshal
-HBRUSH_UserFree
-HBRUSH_UserMarshal
-HBRUSH_UserSize
-HBRUSH_UserUnmarshal
-HDC_UserFree
-HDC_UserMarshal
-HDC_UserSize
-HDC_UserUnmarshal
-HENHMETAFILE_UserFree
-HENHMETAFILE_UserMarshal
-HENHMETAFILE_UserSize
-HENHMETAFILE_UserUnmarshal
-HGLOBAL_UserFree
-HGLOBAL_UserMarshal
-HGLOBAL_UserSize
-HGLOBAL_UserUnmarshal
-HICON_UserFree
-HICON_UserMarshal
-HICON_UserSize
-HICON_UserUnmarshal
-HMENU_UserFree
-HMENU_UserMarshal
-HMENU_UserSize
-HMENU_UserUnmarshal
-HMETAFILEPICT_UserFree
-HMETAFILEPICT_UserMarshal
-HMETAFILEPICT_UserSize
-HMETAFILEPICT_UserUnmarshal
-HMETAFILE_UserFree
-HMETAFILE_UserMarshal
-HMETAFILE_UserSize
-HMETAFILE_UserUnmarshal
-HPALETTE_UserFree
-HPALETTE_UserMarshal
-HPALETTE_UserSize
-HPALETTE_UserUnmarshal
-HWND_UserFree
-HWND_UserMarshal
-HWND_UserSize
-HWND_UserUnmarshal
-HkOleRegisterObject
-IIDFromString
-IsAccelerator
-IsEqualGUID
-IsValidIid
-IsValidInterface
-IsValidPtrIn
-IsValidPtrOut
-MkParseDisplayName
-MonikerCommonPrefixWith
-MonikerRelativePathTo
-OleBuildVersion
-OleConvertIStorageToOLESTREAM
-OleConvertIStorageToOLESTREAMEx
-OleConvertOLESTREAMToIStorage
-OleConvertOLESTREAMToIStorageEx
-OleCreate
-OleCreateDefaultHandler
-OleCreateEmbeddingHelper
-OleCreateEx
-OleCreateFromData
-OleCreateFromDataEx
-OleCreateFromFile
-OleCreateFromFileEx
-OleCreateLink
-OleCreateLinkEx
-OleCreateLinkFromData
-OleCreateLinkFromDataEx
-OleCreateLinkToFile
-OleCreateLinkToFileEx
-OleCreateMenuDescriptor
-OleCreateStaticFromData
-OleDestroyMenuDescriptor
-OleDoAutoConvert
-OleDraw
-OleDuplicateData
-OleFlushClipboard
-OleGetAutoConvert
-OleGetClipboard
-OleGetIconOfClass
-OleGetIconOfFile
-OleInitialize
-OleInitializeWOW
-OleIsCurrentClipboard
-OleIsRunning
-OleLoad
-OleLoadFromStream
-OleLockRunning
-OleMetafilePictFromIconAndLabel
-OleNoteObjectVisible
-OleQueryCreateFromData
-OleQueryLinkFromData
-OleRegEnumFormatEtc
-OleRegEnumVerbs
-OleRegGetMiscStatus
-OleRegGetUserType
-OleRun
-OleSave
-OleSaveToStream
-OleSetAutoConvert
-OleSetClipboard
-OleSetContainedObject
-OleSetMenuDescriptor
-OleTranslateAccelerator
-OleUninitialize
-OpenOrCreateStream
-ProgIDFromCLSID
-PropStgNameToFmtId
-PropSysAllocString
-PropSysFreeString
-PropVariantClear
-PropVariantCopy
-ReadClassStg
-ReadClassStm
-ReadFmtUserTypeStg
-ReadOleStg
-ReadStringStream
-RegisterDragDrop
-ReleaseStgMedium
-RevokeDragDrop
-SNB_UserFree
-SNB_UserMarshal
-SNB_UserSize
-SNB_UserUnmarshal
-STGMEDIUM_UserFree
-STGMEDIUM_UserMarshal
-STGMEDIUM_UserSize
-STGMEDIUM_UserUnmarshal
-SetConvertStg
-SetDocumentBitStg
-SetErrorInfo
-StgConvertPropertyToVariant
-StgConvertVariantToProperty
-StgCreateDocfile
-StgCreateDocfileOnILockBytes
-StgCreatePropSetStg
-StgCreatePropStg
-StgCreateStorageEx
-StgGetIFillLockBytesOnFile
-StgGetIFillLockBytesOnILockBytes
-StgIsStorageFile
-StgIsStorageILockBytes
-StgOpenAsyncDocfileOnIFillLockBytes
-StgOpenPropStg
-StgOpenStorage
-StgOpenStorageEx
-StgOpenStorageOnHandle
-StgOpenStorageOnILockBytes
-StgPropertyLengthAsVariant
-StgSetTimes
-StringFromCLSID
-StringFromGUID2
-StringFromIID
-UpdateDCOMSettings
-UtConvertDvtd16toDvtd32
-UtConvertDvtd32toDvtd16
-UtGetDvtd16Info
-UtGetDvtd32Info
-WdtpInterfacePointer_UserFree
-WdtpInterfacePointer_UserMarshal
-WdtpInterfacePointer_UserSize
-WdtpInterfacePointer_UserUnmarshal
-WriteClassStg
-WriteClassStm
-WriteFmtUserTypeStg
-WriteOleStg
-WriteStringStream
+; 
+; Exports of file ole32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ole32.dll
+EXPORTS
+CoVrfCheckThreadState
+CoVrfGetThreadState
+CoVrfReleaseThreadState
+PropVariantChangeType
+BindMoniker
+CLIPFORMAT_UserFree
+CLIPFORMAT_UserMarshal
+CLIPFORMAT_UserSize
+CLIPFORMAT_UserUnmarshal
+CLSIDFromOle1Class
+CLSIDFromProgID
+CLSIDFromProgIDEx
+CLSIDFromString
+CoAddRefServerProcess
+CoAllowSetForegroundWindow
+CoBuildVersion
+CoCancelCall
+CoCopyProxy
+CoCreateFreeThreadedMarshaler
+CoCreateGuid
+CoCreateInstance
+CoCreateInstanceEx
+CoCreateObjectInContext
+CoDeactivateObject
+CoDisableCallCancellation
+CoDisconnectObject
+CoDosDateTimeToFileTime
+CoEnableCallCancellation
+CoFileTimeNow
+CoFileTimeToDosDateTime
+CoFreeAllLibraries
+CoFreeLibrary
+CoFreeUnusedLibraries
+CoFreeUnusedLibrariesEx
+CoGetApartmentID
+CoGetCallContext
+CoGetCallerTID
+CoGetCancelObject
+CoGetClassObject
+CoGetClassVersion
+CoGetComCatalog
+CoGetContextToken
+CoGetCurrentLogicalThreadId
+CoGetCurrentProcess
+CoGetDefaultContext
+CoGetInstanceFromFile
+CoGetInstanceFromIStorage
+CoGetInterceptor
+CoGetInterceptorFromTypeInfo
+CoGetInterfaceAndReleaseStream
+CoGetMalloc
+CoGetMarshalSizeMax
+CoGetModuleType
+CoGetObject
+CoGetObjectContext
+CoGetPSClsid
+CoGetProcessIdentifier
+CoGetStandardMarshal
+CoGetState
+CoGetStdMarshalEx
+CoGetSystemSecurityPermissions
+CoGetTreatAsClass
+CoImpersonateClient
+CoInitialize
+CoInitializeEx
+CoInitializeSecurity
+CoInitializeWOW
+CoInstall
+CoInvalidateRemoteMachineBindings
+CoIsHandlerConnected
+CoIsOle1Class
+CoLoadLibrary
+CoLockObjectExternal
+CoMarshalHresult
+CoMarshalInterThreadInterfaceInStream
+CoMarshalInterface
+CoPopServiceDomain
+CoPushServiceDomain
+CoQueryAuthenticationServices
+CoQueryClientBlanket
+CoQueryProxyBlanket
+CoQueryReleaseObject
+CoReactivateObject
+CoRegisterChannelHook
+CoRegisterClassObject
+CoRegisterInitializeSpy
+CoRegisterMallocSpy
+CoRegisterMessageFilter
+CoRegisterPSClsid
+CoRegisterSurrogate
+CoRegisterSurrogateEx
+CoReleaseMarshalData
+CoReleaseServerProcess
+CoResumeClassObjects
+CoRetireServer
+CoRevertToSelf
+CoRevokeClassObject
+CoRevokeInitializeSpy
+CoRevokeMallocSpy
+CoSetCancelObject
+CoSetProxyBlanket
+CoSetState
+CoSuspendClassObjects
+CoSwitchCallContext
+CoTaskMemAlloc
+CoTaskMemFree
+CoTaskMemRealloc
+CoTestCancel
+CoTreatAsClass
+CoUninitialize
+CoUnloadingWOW
+CoUnmarshalHresult
+CoUnmarshalInterface
+CoWaitForMultipleHandles
+ComPs_NdrDllCanUnloadNow
+ComPs_NdrDllGetClassObject
+ComPs_NdrDllRegisterProxy
+ComPs_NdrDllUnregisterProxy
+CreateAntiMoniker
+CreateBindCtx
+CreateClassMoniker
+CreateDataAdviseHolder
+CreateDataCache
+CreateErrorInfo
+CreateFileMoniker
+CreateGenericComposite
+CreateILockBytesOnHGlobal
+CreateItemMoniker
+CreateObjrefMoniker
+CreateOleAdviseHolder
+CreatePointerMoniker
+CreateStdProgressIndicator
+CreateStreamOnHGlobal
+DcomChannelSetHResult
+DllDebugObjectRPCHook
+DllGetClassObject
+DllGetClassObjectWOW
+DllRegisterServer
+DoDragDrop
+EnableHookObject
+FmtIdToPropStgName
+FreePropVariantArray
+GetClassFile
+GetConvertStg
+GetDocumentBitStg
+GetErrorInfo
+GetHGlobalFromILockBytes
+GetHGlobalFromStream
+GetHookInterface
+GetRunningObjectTable
+HACCEL_UserFree
+HACCEL_UserMarshal
+HACCEL_UserSize
+HACCEL_UserUnmarshal
+HBITMAP_UserFree
+HBITMAP_UserMarshal
+HBITMAP_UserSize
+HBITMAP_UserUnmarshal
+HBRUSH_UserFree
+HBRUSH_UserMarshal
+HBRUSH_UserSize
+HBRUSH_UserUnmarshal
+HDC_UserFree
+HDC_UserMarshal
+HDC_UserSize
+HDC_UserUnmarshal
+HENHMETAFILE_UserFree
+HENHMETAFILE_UserMarshal
+HENHMETAFILE_UserSize
+HENHMETAFILE_UserUnmarshal
+HGLOBAL_UserFree
+HGLOBAL_UserMarshal
+HGLOBAL_UserSize
+HGLOBAL_UserUnmarshal
+HICON_UserFree
+HICON_UserMarshal
+HICON_UserSize
+HICON_UserUnmarshal
+HMENU_UserFree
+HMENU_UserMarshal
+HMENU_UserSize
+HMENU_UserUnmarshal
+HMETAFILEPICT_UserFree
+HMETAFILEPICT_UserMarshal
+HMETAFILEPICT_UserSize
+HMETAFILEPICT_UserUnmarshal
+HMETAFILE_UserFree
+HMETAFILE_UserMarshal
+HMETAFILE_UserSize
+HMETAFILE_UserUnmarshal
+HPALETTE_UserFree
+HPALETTE_UserMarshal
+HPALETTE_UserSize
+HPALETTE_UserUnmarshal
+HWND_UserFree
+HWND_UserMarshal
+HWND_UserSize
+HWND_UserUnmarshal
+HkOleRegisterObject
+IIDFromString
+IsAccelerator
+IsEqualGUID
+IsValidIid
+IsValidInterface
+IsValidPtrIn
+IsValidPtrOut
+MkParseDisplayName
+MonikerCommonPrefixWith
+MonikerRelativePathTo
+OleBuildVersion
+OleConvertIStorageToOLESTREAM
+OleConvertIStorageToOLESTREAMEx
+OleConvertOLESTREAMToIStorage
+OleConvertOLESTREAMToIStorageEx
+OleCreate
+OleCreateDefaultHandler
+OleCreateEmbeddingHelper
+OleCreateEx
+OleCreateFromData
+OleCreateFromDataEx
+OleCreateFromFile
+OleCreateFromFileEx
+OleCreateLink
+OleCreateLinkEx
+OleCreateLinkFromData
+OleCreateLinkFromDataEx
+OleCreateLinkToFile
+OleCreateLinkToFileEx
+OleCreateMenuDescriptor
+OleCreateStaticFromData
+OleDestroyMenuDescriptor
+OleDoAutoConvert
+OleDraw
+OleDuplicateData
+OleFlushClipboard
+OleGetAutoConvert
+OleGetClipboard
+OleGetIconOfClass
+OleGetIconOfFile
+OleInitialize
+OleInitializeWOW
+OleIsCurrentClipboard
+OleIsRunning
+OleLoad
+OleLoadFromStream
+OleLockRunning
+OleMetafilePictFromIconAndLabel
+OleNoteObjectVisible
+OleQueryCreateFromData
+OleQueryLinkFromData
+OleRegEnumFormatEtc
+OleRegEnumVerbs
+OleRegGetMiscStatus
+OleRegGetUserType
+OleRun
+OleSave
+OleSaveToStream
+OleSetAutoConvert
+OleSetClipboard
+OleSetContainedObject
+OleSetMenuDescriptor
+OleTranslateAccelerator
+OleUninitialize
+OpenOrCreateStream
+ProgIDFromCLSID
+PropStgNameToFmtId
+PropSysAllocString
+PropSysFreeString
+PropVariantClear
+PropVariantCopy
+ReadClassStg
+ReadClassStm
+ReadFmtUserTypeStg
+ReadOleStg
+ReadStringStream
+RegisterDragDrop
+ReleaseStgMedium
+RevokeDragDrop
+SNB_UserFree
+SNB_UserMarshal
+SNB_UserSize
+SNB_UserUnmarshal
+STGMEDIUM_UserFree
+STGMEDIUM_UserMarshal
+STGMEDIUM_UserSize
+STGMEDIUM_UserUnmarshal
+SetConvertStg
+SetDocumentBitStg
+SetErrorInfo
+StgConvertPropertyToVariant
+StgConvertVariantToProperty
+StgCreateDocfile
+StgCreateDocfileOnILockBytes
+StgCreatePropSetStg
+StgCreatePropStg
+StgCreateStorageEx
+StgGetIFillLockBytesOnFile
+StgGetIFillLockBytesOnILockBytes
+StgIsStorageFile
+StgIsStorageILockBytes
+StgOpenAsyncDocfileOnIFillLockBytes
+StgOpenPropStg
+StgOpenStorage
+StgOpenStorageEx
+StgOpenStorageOnHandle
+StgOpenStorageOnILockBytes
+StgPropertyLengthAsVariant
+StgSetTimes
+StringFromCLSID
+StringFromGUID2
+StringFromIID
+UpdateDCOMSettings
+UtConvertDvtd16toDvtd32
+UtConvertDvtd32toDvtd16
+UtGetDvtd16Info
+UtGetDvtd32Info
+WdtpInterfacePointer_UserFree
+WdtpInterfacePointer_UserMarshal
+WdtpInterfacePointer_UserSize
+WdtpInterfacePointer_UserUnmarshal
+WriteClassStg
+WriteClassStm
+WriteFmtUserTypeStg
+WriteOleStg
+WriteStringStream
diff --git a/mingw-w64-crt/lib64/woleacc.def b/mingw-w64-crt/lib64/woleacc.def
index d3c4dc1..414290a 100644
--- a/mingw-w64-crt/lib64/woleacc.def
+++ b/mingw-w64-crt/lib64/woleacc.def
@@ -1,30 +1,30 @@
-; 
-; Exports of file OLEACC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLEACC.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-AccessibleChildren
-AccessibleObjectFromEvent
-AccessibleObjectFromPoint
-AccessibleObjectFromWindow
-CreateStdAccessibleObject
-CreateStdAccessibleProxyA
-CreateStdAccessibleProxyW
-DllCanUnloadNow
-DllGetClassObject
-GetOleaccVersionInfo
-GetRoleTextA
-GetRoleTextW
-GetStateTextA
-GetStateTextW
-IID_IAccessible
-IID_IAccessibleHandler
-LIBID_Accessibility
-LresultFromObject
-ObjectFromLresult
-WindowFromAccessibleObject
+; 
+; Exports of file OLEACC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLEACC.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+AccessibleChildren
+AccessibleObjectFromEvent
+AccessibleObjectFromPoint
+AccessibleObjectFromWindow
+CreateStdAccessibleObject
+CreateStdAccessibleProxyA
+CreateStdAccessibleProxyW
+DllCanUnloadNow
+DllGetClassObject
+GetOleaccVersionInfo
+GetRoleTextA
+GetRoleTextW
+GetStateTextA
+GetStateTextW
+IID_IAccessible
+IID_IAccessibleHandler
+LIBID_Accessibility
+LresultFromObject
+ObjectFromLresult
+WindowFromAccessibleObject
diff --git a/mingw-w64-crt/lib64/woleaut32.def b/mingw-w64-crt/lib64/woleaut32.def
index 12d03e6..1edebd4 100644
--- a/mingw-w64-crt/lib64/woleaut32.def
+++ b/mingw-w64-crt/lib64/woleaut32.def
@@ -1,406 +1,406 @@
-; 
-; Exports of file OLEAUT32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLEAUT32.dll
-EXPORTS
-SysAllocString
-SysReAllocString
-SysAllocStringLen
-SysReAllocStringLen
-SysFreeString
-SysStringLen
-VariantInit
-VariantClear
-VariantCopy
-VariantCopyInd
-VariantChangeType
-VariantTimeToDosDateTime
-DosDateTimeToVariantTime
-SafeArrayCreate
-SafeArrayDestroy
-SafeArrayGetDim
-SafeArrayGetElemsize
-SafeArrayGetUBound
-SafeArrayGetLBound
-SafeArrayLock
-SafeArrayUnlock
-SafeArrayAccessData
-SafeArrayUnaccessData
-SafeArrayGetElement
-SafeArrayPutElement
-SafeArrayCopy
-DispGetParam
-DispGetIDsOfNames
-DispInvoke
-CreateDispTypeInfo
-CreateStdDispatch
-RegisterActiveObject
-RevokeActiveObject
-GetActiveObject
-SafeArrayAllocDescriptor
-SafeArrayAllocData
-SafeArrayDestroyDescriptor
-SafeArrayDestroyData
-SafeArrayRedim
-SafeArrayAllocDescriptorEx
-SafeArrayCreateEx
-SafeArrayCreateVectorEx
-SafeArraySetRecordInfo
-SafeArrayGetRecordInfo
-VarParseNumFromStr
-VarNumFromParseNum
-VarI2FromUI1
-VarI2FromI4
-VarI2FromR4
-VarI2FromR8
-VarI2FromCy
-VarI2FromDate
-VarI2FromStr
-VarI2FromDisp
-VarI2FromBool
-SafeArraySetIID
-VarI4FromUI1
-VarI4FromI2
-VarI4FromR4
-VarI4FromR8
-VarI4FromCy
-VarI4FromDate
-VarI4FromStr
-VarI4FromDisp
-VarI4FromBool
-SafeArrayGetIID
-VarR4FromUI1
-VarR4FromI2
-VarR4FromI4
-VarR4FromR8
-VarR4FromCy
-VarR4FromDate
-VarR4FromStr
-VarR4FromDisp
-VarR4FromBool
-SafeArrayGetVartype
-VarR8FromUI1
-VarR8FromI2
-VarR8FromI4
-VarR8FromR4
-VarR8FromCy
-VarR8FromDate
-VarR8FromStr
-VarR8FromDisp
-VarR8FromBool
-VarFormat
-VarDateFromUI1
-VarDateFromI2
-VarDateFromI4
-VarDateFromR4
-VarDateFromR8
-VarDateFromCy
-VarDateFromStr
-VarDateFromDisp
-VarDateFromBool
-VarFormatDateTime
-VarCyFromUI1
-VarCyFromI2
-VarCyFromI4
-VarCyFromR4
-VarCyFromR8
-VarCyFromDate
-VarCyFromStr
-VarCyFromDisp
-VarCyFromBool
-VarFormatNumber
-VarBstrFromUI1
-VarBstrFromI2
-VarBstrFromI4
-VarBstrFromR4
-VarBstrFromR8
-VarBstrFromCy
-VarBstrFromDate
-VarBstrFromDisp
-VarBstrFromBool
-VarFormatPercent
-VarBoolFromUI1
-VarBoolFromI2
-VarBoolFromI4
-VarBoolFromR4
-VarBoolFromR8
-VarBoolFromDate
-VarBoolFromCy
-VarBoolFromStr
-VarBoolFromDisp
-VarFormatCurrency
-VarWeekdayName
-VarMonthName
-VarUI1FromI2
-VarUI1FromI4
-VarUI1FromR4
-VarUI1FromR8
-VarUI1FromCy
-VarUI1FromDate
-VarUI1FromStr
-VarUI1FromDisp
-VarUI1FromBool
-VarFormatFromTokens
-VarTokenizeFormatString
-VarAdd
-VarAnd
-VarDiv
-DllCanUnloadNow
-DllGetClassObject
-DispCallFunc
-VariantChangeTypeEx
-SafeArrayPtrOfIndex
-SysStringByteLen
-SysAllocStringByteLen
-DllRegisterServer
-VarEqv
-VarIdiv
-VarImp
-VarMod
-VarMul
-VarOr
-VarPow
-VarSub
-CreateTypeLib
-LoadTypeLib
-LoadRegTypeLib
-RegisterTypeLib
-QueryPathOfRegTypeLib
-LHashValOfNameSys
-LHashValOfNameSysA
-VarXor
-VarAbs
-VarFix
-OaBuildVersion
-ClearCustData
-VarInt
-VarNeg
-VarNot
-VarRound
-VarCmp
-VarDecAdd
-VarDecDiv
-VarDecMul
-CreateTypeLib2
-VarDecSub
-VarDecAbs
-LoadTypeLibEx
-SystemTimeToVariantTime
-VariantTimeToSystemTime
-UnRegisterTypeLib
-VarDecFix
-VarDecInt
-VarDecNeg
-VarDecFromUI1
-VarDecFromI2
-VarDecFromI4
-VarDecFromR4
-VarDecFromR8
-VarDecFromDate
-VarDecFromCy
-VarDecFromStr
-VarDecFromDisp
-VarDecFromBool
-GetErrorInfo
-SetErrorInfo
-CreateErrorInfo
-VarDecRound
-VarDecCmp
-VarI2FromI1
-VarI2FromUI2
-VarI2FromUI4
-VarI2FromDec
-VarI4FromI1
-VarI4FromUI2
-VarI4FromUI4
-VarI4FromDec
-VarR4FromI1
-VarR4FromUI2
-VarR4FromUI4
-VarR4FromDec
-VarR8FromI1
-VarR8FromUI2
-VarR8FromUI4
-VarR8FromDec
-VarDateFromI1
-VarDateFromUI2
-VarDateFromUI4
-VarDateFromDec
-VarCyFromI1
-VarCyFromUI2
-VarCyFromUI4
-VarCyFromDec
-VarBstrFromI1
-VarBstrFromUI2
-VarBstrFromUI4
-VarBstrFromDec
-VarBoolFromI1
-VarBoolFromUI2
-VarBoolFromUI4
-VarBoolFromDec
-VarUI1FromI1
-VarUI1FromUI2
-VarUI1FromUI4
-VarUI1FromDec
-VarDecFromI1
-VarDecFromUI2
-VarDecFromUI4
-VarI1FromUI1
-VarI1FromI2
-VarI1FromI4
-VarI1FromR4
-VarI1FromR8
-VarI1FromDate
-VarI1FromCy
-VarI1FromStr
-VarI1FromDisp
-VarI1FromBool
-VarI1FromUI2
-VarI1FromUI4
-VarI1FromDec
-VarUI2FromUI1
-VarUI2FromI2
-VarUI2FromI4
-VarUI2FromR4
-VarUI2FromR8
-VarUI2FromDate
-VarUI2FromCy
-VarUI2FromStr
-VarUI2FromDisp
-VarUI2FromBool
-VarUI2FromI1
-VarUI2FromUI4
-VarUI2FromDec
-VarUI4FromUI1
-VarUI4FromI2
-VarUI4FromI4
-VarUI4FromR4
-VarUI4FromR8
-VarUI4FromDate
-VarUI4FromCy
-VarUI4FromStr
-VarUI4FromDisp
-VarUI4FromBool
-VarUI4FromI1
-VarUI4FromUI2
-VarUI4FromDec
-BSTR_UserSize
-BSTR_UserMarshal
-BSTR_UserUnmarshal
-BSTR_UserFree
-VARIANT_UserSize
-VARIANT_UserMarshal
-VARIANT_UserUnmarshal
-VARIANT_UserFree
-LPSAFEARRAY_UserSize
-LPSAFEARRAY_UserMarshal
-LPSAFEARRAY_UserUnmarshal
-LPSAFEARRAY_UserFree
-LPSAFEARRAY_Size
-LPSAFEARRAY_Marshal
-LPSAFEARRAY_Unmarshal
-VarDecCmpR8
-VarCyAdd
-DllUnregisterServer
-OACreateTypeLib2
-VarCyMul
-VarCyMulI4
-VarCySub
-VarCyAbs
-VarCyFix
-VarCyInt
-VarCyNeg
-VarCyRound
-VarCyCmp
-VarCyCmpR8
-VarBstrCat
-VarBstrCmp
-VarR8Pow
-VarR4CmpR8
-VarR8Round
-VarCat
-VarDateFromUdateEx
-GetRecordInfoFromGuids
-GetRecordInfoFromTypeInfo
-SetVarConversionLocaleSetting
-GetVarConversionLocaleSetting
-SetOaNoCache
-VarCyMulI8
-VarDateFromUdate
-VarUdateFromDate
-GetAltMonthNames
-VarI8FromUI1
-VarI8FromI2
-VarI8FromR4
-VarI8FromR8
-VarI8FromCy
-VarI8FromDate
-VarI8FromStr
-VarI8FromDisp
-VarI8FromBool
-VarI8FromI1
-VarI8FromUI2
-VarI8FromUI4
-VarI8FromDec
-VarI2FromI8
-VarI2FromUI8
-VarI4FromI8
-VarI4FromUI8
-VarR4FromI8
-VarR4FromUI8
-VarR8FromI8
-VarR8FromUI8
-VarDateFromI8
-VarDateFromUI8
-VarCyFromI8
-VarCyFromUI8
-VarBstrFromI8
-VarBstrFromUI8
-VarBoolFromI8
-VarBoolFromUI8
-VarUI1FromI8
-VarUI1FromUI8
-VarDecFromI8
-VarDecFromUI8
-VarI1FromI8
-VarI1FromUI8
-VarUI2FromI8
-VarUI2FromUI8
-OleLoadPictureEx
-OleLoadPictureFileEx
-SafeArrayCreateVector
-SafeArrayCopyData
-VectorFromBstr
-BstrFromVector
-OleIconToCursor
-OleCreatePropertyFrameIndirect
-OleCreatePropertyFrame
-OleLoadPicture
-OleCreatePictureIndirect
-OleCreateFontIndirect
-OleTranslateColor
-OleLoadPictureFile
-OleSavePictureFile
-OleLoadPicturePath
-VarUI4FromI8
-VarUI4FromUI8
-VarI8FromUI8
-VarUI8FromI8
-VarUI8FromUI1
-VarUI8FromI2
-VarUI8FromR4
-VarUI8FromR8
-VarUI8FromCy
-VarUI8FromDate
-VarUI8FromStr
-VarUI8FromDisp
-VarUI8FromBool
-VarUI8FromI1
-VarUI8FromUI2
-VarUI8FromUI4
-VarUI8FromDec
-RegisterTypeLibForUser
-UnRegisterTypeLibForUser
+; 
+; Exports of file OLEAUT32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLEAUT32.dll
+EXPORTS
+SysAllocString
+SysReAllocString
+SysAllocStringLen
+SysReAllocStringLen
+SysFreeString
+SysStringLen
+VariantInit
+VariantClear
+VariantCopy
+VariantCopyInd
+VariantChangeType
+VariantTimeToDosDateTime
+DosDateTimeToVariantTime
+SafeArrayCreate
+SafeArrayDestroy
+SafeArrayGetDim
+SafeArrayGetElemsize
+SafeArrayGetUBound
+SafeArrayGetLBound
+SafeArrayLock
+SafeArrayUnlock
+SafeArrayAccessData
+SafeArrayUnaccessData
+SafeArrayGetElement
+SafeArrayPutElement
+SafeArrayCopy
+DispGetParam
+DispGetIDsOfNames
+DispInvoke
+CreateDispTypeInfo
+CreateStdDispatch
+RegisterActiveObject
+RevokeActiveObject
+GetActiveObject
+SafeArrayAllocDescriptor
+SafeArrayAllocData
+SafeArrayDestroyDescriptor
+SafeArrayDestroyData
+SafeArrayRedim
+SafeArrayAllocDescriptorEx
+SafeArrayCreateEx
+SafeArrayCreateVectorEx
+SafeArraySetRecordInfo
+SafeArrayGetRecordInfo
+VarParseNumFromStr
+VarNumFromParseNum
+VarI2FromUI1
+VarI2FromI4
+VarI2FromR4
+VarI2FromR8
+VarI2FromCy
+VarI2FromDate
+VarI2FromStr
+VarI2FromDisp
+VarI2FromBool
+SafeArraySetIID
+VarI4FromUI1
+VarI4FromI2
+VarI4FromR4
+VarI4FromR8
+VarI4FromCy
+VarI4FromDate
+VarI4FromStr
+VarI4FromDisp
+VarI4FromBool
+SafeArrayGetIID
+VarR4FromUI1
+VarR4FromI2
+VarR4FromI4
+VarR4FromR8
+VarR4FromCy
+VarR4FromDate
+VarR4FromStr
+VarR4FromDisp
+VarR4FromBool
+SafeArrayGetVartype
+VarR8FromUI1
+VarR8FromI2
+VarR8FromI4
+VarR8FromR4
+VarR8FromCy
+VarR8FromDate
+VarR8FromStr
+VarR8FromDisp
+VarR8FromBool
+VarFormat
+VarDateFromUI1
+VarDateFromI2
+VarDateFromI4
+VarDateFromR4
+VarDateFromR8
+VarDateFromCy
+VarDateFromStr
+VarDateFromDisp
+VarDateFromBool
+VarFormatDateTime
+VarCyFromUI1
+VarCyFromI2
+VarCyFromI4
+VarCyFromR4
+VarCyFromR8
+VarCyFromDate
+VarCyFromStr
+VarCyFromDisp
+VarCyFromBool
+VarFormatNumber
+VarBstrFromUI1
+VarBstrFromI2
+VarBstrFromI4
+VarBstrFromR4
+VarBstrFromR8
+VarBstrFromCy
+VarBstrFromDate
+VarBstrFromDisp
+VarBstrFromBool
+VarFormatPercent
+VarBoolFromUI1
+VarBoolFromI2
+VarBoolFromI4
+VarBoolFromR4
+VarBoolFromR8
+VarBoolFromDate
+VarBoolFromCy
+VarBoolFromStr
+VarBoolFromDisp
+VarFormatCurrency
+VarWeekdayName
+VarMonthName
+VarUI1FromI2
+VarUI1FromI4
+VarUI1FromR4
+VarUI1FromR8
+VarUI1FromCy
+VarUI1FromDate
+VarUI1FromStr
+VarUI1FromDisp
+VarUI1FromBool
+VarFormatFromTokens
+VarTokenizeFormatString
+VarAdd
+VarAnd
+VarDiv
+DllCanUnloadNow
+DllGetClassObject
+DispCallFunc
+VariantChangeTypeEx
+SafeArrayPtrOfIndex
+SysStringByteLen
+SysAllocStringByteLen
+DllRegisterServer
+VarEqv
+VarIdiv
+VarImp
+VarMod
+VarMul
+VarOr
+VarPow
+VarSub
+CreateTypeLib
+LoadTypeLib
+LoadRegTypeLib
+RegisterTypeLib
+QueryPathOfRegTypeLib
+LHashValOfNameSys
+LHashValOfNameSysA
+VarXor
+VarAbs
+VarFix
+OaBuildVersion
+ClearCustData
+VarInt
+VarNeg
+VarNot
+VarRound
+VarCmp
+VarDecAdd
+VarDecDiv
+VarDecMul
+CreateTypeLib2
+VarDecSub
+VarDecAbs
+LoadTypeLibEx
+SystemTimeToVariantTime
+VariantTimeToSystemTime
+UnRegisterTypeLib
+VarDecFix
+VarDecInt
+VarDecNeg
+VarDecFromUI1
+VarDecFromI2
+VarDecFromI4
+VarDecFromR4
+VarDecFromR8
+VarDecFromDate
+VarDecFromCy
+VarDecFromStr
+VarDecFromDisp
+VarDecFromBool
+GetErrorInfo
+SetErrorInfo
+CreateErrorInfo
+VarDecRound
+VarDecCmp
+VarI2FromI1
+VarI2FromUI2
+VarI2FromUI4
+VarI2FromDec
+VarI4FromI1
+VarI4FromUI2
+VarI4FromUI4
+VarI4FromDec
+VarR4FromI1
+VarR4FromUI2
+VarR4FromUI4
+VarR4FromDec
+VarR8FromI1
+VarR8FromUI2
+VarR8FromUI4
+VarR8FromDec
+VarDateFromI1
+VarDateFromUI2
+VarDateFromUI4
+VarDateFromDec
+VarCyFromI1
+VarCyFromUI2
+VarCyFromUI4
+VarCyFromDec
+VarBstrFromI1
+VarBstrFromUI2
+VarBstrFromUI4
+VarBstrFromDec
+VarBoolFromI1
+VarBoolFromUI2
+VarBoolFromUI4
+VarBoolFromDec
+VarUI1FromI1
+VarUI1FromUI2
+VarUI1FromUI4
+VarUI1FromDec
+VarDecFromI1
+VarDecFromUI2
+VarDecFromUI4
+VarI1FromUI1
+VarI1FromI2
+VarI1FromI4
+VarI1FromR4
+VarI1FromR8
+VarI1FromDate
+VarI1FromCy
+VarI1FromStr
+VarI1FromDisp
+VarI1FromBool
+VarI1FromUI2
+VarI1FromUI4
+VarI1FromDec
+VarUI2FromUI1
+VarUI2FromI2
+VarUI2FromI4
+VarUI2FromR4
+VarUI2FromR8
+VarUI2FromDate
+VarUI2FromCy
+VarUI2FromStr
+VarUI2FromDisp
+VarUI2FromBool
+VarUI2FromI1
+VarUI2FromUI4
+VarUI2FromDec
+VarUI4FromUI1
+VarUI4FromI2
+VarUI4FromI4
+VarUI4FromR4
+VarUI4FromR8
+VarUI4FromDate
+VarUI4FromCy
+VarUI4FromStr
+VarUI4FromDisp
+VarUI4FromBool
+VarUI4FromI1
+VarUI4FromUI2
+VarUI4FromDec
+BSTR_UserSize
+BSTR_UserMarshal
+BSTR_UserUnmarshal
+BSTR_UserFree
+VARIANT_UserSize
+VARIANT_UserMarshal
+VARIANT_UserUnmarshal
+VARIANT_UserFree
+LPSAFEARRAY_UserSize
+LPSAFEARRAY_UserMarshal
+LPSAFEARRAY_UserUnmarshal
+LPSAFEARRAY_UserFree
+LPSAFEARRAY_Size
+LPSAFEARRAY_Marshal
+LPSAFEARRAY_Unmarshal
+VarDecCmpR8
+VarCyAdd
+DllUnregisterServer
+OACreateTypeLib2
+VarCyMul
+VarCyMulI4
+VarCySub
+VarCyAbs
+VarCyFix
+VarCyInt
+VarCyNeg
+VarCyRound
+VarCyCmp
+VarCyCmpR8
+VarBstrCat
+VarBstrCmp
+VarR8Pow
+VarR4CmpR8
+VarR8Round
+VarCat
+VarDateFromUdateEx
+GetRecordInfoFromGuids
+GetRecordInfoFromTypeInfo
+SetVarConversionLocaleSetting
+GetVarConversionLocaleSetting
+SetOaNoCache
+VarCyMulI8
+VarDateFromUdate
+VarUdateFromDate
+GetAltMonthNames
+VarI8FromUI1
+VarI8FromI2
+VarI8FromR4
+VarI8FromR8
+VarI8FromCy
+VarI8FromDate
+VarI8FromStr
+VarI8FromDisp
+VarI8FromBool
+VarI8FromI1
+VarI8FromUI2
+VarI8FromUI4
+VarI8FromDec
+VarI2FromI8
+VarI2FromUI8
+VarI4FromI8
+VarI4FromUI8
+VarR4FromI8
+VarR4FromUI8
+VarR8FromI8
+VarR8FromUI8
+VarDateFromI8
+VarDateFromUI8
+VarCyFromI8
+VarCyFromUI8
+VarBstrFromI8
+VarBstrFromUI8
+VarBoolFromI8
+VarBoolFromUI8
+VarUI1FromI8
+VarUI1FromUI8
+VarDecFromI8
+VarDecFromUI8
+VarI1FromI8
+VarI1FromUI8
+VarUI2FromI8
+VarUI2FromUI8
+OleLoadPictureEx
+OleLoadPictureFileEx
+SafeArrayCreateVector
+SafeArrayCopyData
+VectorFromBstr
+BstrFromVector
+OleIconToCursor
+OleCreatePropertyFrameIndirect
+OleCreatePropertyFrame
+OleLoadPicture
+OleCreatePictureIndirect
+OleCreateFontIndirect
+OleTranslateColor
+OleLoadPictureFile
+OleSavePictureFile
+OleLoadPicturePath
+VarUI4FromI8
+VarUI4FromUI8
+VarI8FromUI8
+VarUI8FromI8
+VarUI8FromUI1
+VarUI8FromI2
+VarUI8FromR4
+VarUI8FromR8
+VarUI8FromCy
+VarUI8FromDate
+VarUI8FromStr
+VarUI8FromDisp
+VarUI8FromBool
+VarUI8FromI1
+VarUI8FromUI2
+VarUI8FromUI4
+VarUI8FromDec
+RegisterTypeLibForUser
+UnRegisterTypeLibForUser
diff --git a/mingw-w64-crt/lib64/wolecli32.def b/mingw-w64-crt/lib64/wolecli32.def
index eeade45..459b0ab 100644
--- a/mingw-w64-crt/lib64/wolecli32.def
+++ b/mingw-w64-crt/lib64/wolecli32.def
@@ -1,186 +1,186 @@
-; 
-; Exports of file OLECLI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLECLI32.dll
-EXPORTS
-WEP
-OleDelete
-OleSaveToStream
-OleLoadFromStream
-OleClone
-OleCopyFromLink
-OleEqual
-OleQueryLinkFromClip
-OleQueryCreateFromClip
-OleCreateLinkFromClip
-OleCreateFromClip
-OleCopyToClipboard
-OleQueryType
-OleSetHostNames
-OleSetTargetDevice
-OleSetBounds
-OleQueryBounds
-OleDraw
-OleQueryOpen
-OleActivate
-OleUpdate
-OleReconnect
-OleGetLinkUpdateOptions
-OleSetLinkUpdateOptions
-OleEnumFormats
-OleClose
-OleGetData
-OleSetData
-OleQueryProtocol
-OleQueryOutOfDate
-OleObjectConvert
-OleCreateFromTemplate
-OleCreate
-OleQueryReleaseStatus
-OleQueryReleaseError
-OleQueryReleaseMethod
-OleCreateFromFile
-OleCreateLinkFromFile
-OleRelease
-OleRegisterClientDoc
-OleRevokeClientDoc
-OleRenameClientDoc
-OleRevertClientDoc
-OleSavedClientDoc
-OleRename
-OleEnumObjects
-OleQueryName
-OleSetColorScheme
-OleRequestData
-OleLockServer
-OleUnlockServer
-OleQuerySize
-OleExecute
-OleCreateInvisible
-OleQueryClientVersion
-OleIsDcMeta
-DocWndProc
-SrvrWndProc
-MfCallbackFunc
-DefLoadFromStream
-DefCreateFromClip
-DefCreateLinkFromClip
-DefCreateFromTemplate
-DefCreate
-DefCreateFromFile
-DefCreateLinkFromFile
-DefCreateInvisible
-LeRelease
-LeShow
-LeGetData
-LeSetData
-LeSetHostNames
-LeSetTargetDevice
-LeSetBounds
-LeSaveToStream
-LeClone
-LeCopyFromLink
-LeEqual
-LeCopy
-LeQueryType
-LeQueryBounds
-LeDraw
-LeQueryOpen
-LeActivate
-LeUpdate
-LeReconnect
-LeEnumFormat
-LeQueryProtocol
-LeQueryOutOfDate
-LeObjectConvert
-LeChangeData
-LeClose
-LeGetUpdateOptions
-LeSetUpdateOptions
-LeExecute
-LeObjectLong
-LeCreateInvisible
-MfRelease
-MfGetData
-MfSaveToStream
-MfClone
-MfEqual
-MfCopy
-MfQueryBounds
-MfDraw
-MfEnumFormat
-MfChangeData
-BmRelease
-BmGetData
-BmSaveToStream
-BmClone
-BmEqual
-BmCopy
-BmQueryBounds
-BmDraw
-BmEnumFormat
-BmChangeData
-DibRelease
-DibGetData
-DibSaveToStream
-DibClone
-DibEqual
-DibCopy
-DibQueryBounds
-DibDraw
-DibEnumFormat
-DibChangeData
-GenRelease
-GenGetData
-GenSetData
-GenSaveToStream
-GenClone
-GenEqual
-GenCopy
-GenQueryBounds
-GenDraw
-GenEnumFormat
-GenChangeData
-ErrShow
-ErrSetData
-ErrSetHostNames
-ErrSetTargetDevice
-ErrSetBounds
-ErrCopyFromLink
-ErrQueryOpen
-ErrActivate
-ErrClose
-ErrUpdate
-ErrReconnect
-ErrQueryProtocol
-ErrQueryOutOfDate
-ErrObjectConvert
-ErrGetUpdateOptions
-ErrSetUpdateOptions
-ErrExecute
-ErrObjectLong
-PbLoadFromStream
-PbCreateFromClip
-PbCreateLinkFromClip
-PbCreateFromTemplate
-PbCreate
-PbDraw
-PbQueryBounds
-PbCopyToClipboard
-PbCreateFromFile
-PbCreateLinkFromFile
-PbEnumFormats
-PbGetData
-PbCreateInvisible
-ObjQueryName
-ObjRename
-ObjQueryType
-ObjQuerySize
-ConnectDlgProc
-SetNetName
-CheckNetDrive
-SetNextNetDrive
-GetTaskVisibleWindow
+; 
+; Exports of file OLECLI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLECLI32.dll
+EXPORTS
+WEP
+OleDelete
+OleSaveToStream
+OleLoadFromStream
+OleClone
+OleCopyFromLink
+OleEqual
+OleQueryLinkFromClip
+OleQueryCreateFromClip
+OleCreateLinkFromClip
+OleCreateFromClip
+OleCopyToClipboard
+OleQueryType
+OleSetHostNames
+OleSetTargetDevice
+OleSetBounds
+OleQueryBounds
+OleDraw
+OleQueryOpen
+OleActivate
+OleUpdate
+OleReconnect
+OleGetLinkUpdateOptions
+OleSetLinkUpdateOptions
+OleEnumFormats
+OleClose
+OleGetData
+OleSetData
+OleQueryProtocol
+OleQueryOutOfDate
+OleObjectConvert
+OleCreateFromTemplate
+OleCreate
+OleQueryReleaseStatus
+OleQueryReleaseError
+OleQueryReleaseMethod
+OleCreateFromFile
+OleCreateLinkFromFile
+OleRelease
+OleRegisterClientDoc
+OleRevokeClientDoc
+OleRenameClientDoc
+OleRevertClientDoc
+OleSavedClientDoc
+OleRename
+OleEnumObjects
+OleQueryName
+OleSetColorScheme
+OleRequestData
+OleLockServer
+OleUnlockServer
+OleQuerySize
+OleExecute
+OleCreateInvisible
+OleQueryClientVersion
+OleIsDcMeta
+DocWndProc
+SrvrWndProc
+MfCallbackFunc
+DefLoadFromStream
+DefCreateFromClip
+DefCreateLinkFromClip
+DefCreateFromTemplate
+DefCreate
+DefCreateFromFile
+DefCreateLinkFromFile
+DefCreateInvisible
+LeRelease
+LeShow
+LeGetData
+LeSetData
+LeSetHostNames
+LeSetTargetDevice
+LeSetBounds
+LeSaveToStream
+LeClone
+LeCopyFromLink
+LeEqual
+LeCopy
+LeQueryType
+LeQueryBounds
+LeDraw
+LeQueryOpen
+LeActivate
+LeUpdate
+LeReconnect
+LeEnumFormat
+LeQueryProtocol
+LeQueryOutOfDate
+LeObjectConvert
+LeChangeData
+LeClose
+LeGetUpdateOptions
+LeSetUpdateOptions
+LeExecute
+LeObjectLong
+LeCreateInvisible
+MfRelease
+MfGetData
+MfSaveToStream
+MfClone
+MfEqual
+MfCopy
+MfQueryBounds
+MfDraw
+MfEnumFormat
+MfChangeData
+BmRelease
+BmGetData
+BmSaveToStream
+BmClone
+BmEqual
+BmCopy
+BmQueryBounds
+BmDraw
+BmEnumFormat
+BmChangeData
+DibRelease
+DibGetData
+DibSaveToStream
+DibClone
+DibEqual
+DibCopy
+DibQueryBounds
+DibDraw
+DibEnumFormat
+DibChangeData
+GenRelease
+GenGetData
+GenSetData
+GenSaveToStream
+GenClone
+GenEqual
+GenCopy
+GenQueryBounds
+GenDraw
+GenEnumFormat
+GenChangeData
+ErrShow
+ErrSetData
+ErrSetHostNames
+ErrSetTargetDevice
+ErrSetBounds
+ErrCopyFromLink
+ErrQueryOpen
+ErrActivate
+ErrClose
+ErrUpdate
+ErrReconnect
+ErrQueryProtocol
+ErrQueryOutOfDate
+ErrObjectConvert
+ErrGetUpdateOptions
+ErrSetUpdateOptions
+ErrExecute
+ErrObjectLong
+PbLoadFromStream
+PbCreateFromClip
+PbCreateLinkFromClip
+PbCreateFromTemplate
+PbCreate
+PbDraw
+PbQueryBounds
+PbCopyToClipboard
+PbCreateFromFile
+PbCreateLinkFromFile
+PbEnumFormats
+PbGetData
+PbCreateInvisible
+ObjQueryName
+ObjRename
+ObjQueryType
+ObjQuerySize
+ConnectDlgProc
+SetNetName
+CheckNetDrive
+SetNextNetDrive
+GetTaskVisibleWindow
diff --git a/mingw-w64-crt/lib64/wolecnv32.def b/mingw-w64-crt/lib64/wolecnv32.def
index 685dcbf..fc2c409 100644
--- a/mingw-w64-crt/lib64/wolecnv32.def
+++ b/mingw-w64-crt/lib64/wolecnv32.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file OLECNV32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLECNV32.dll
-EXPORTS
-QD2GDI
+; 
+; Exports of file OLECNV32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLECNV32.dll
+EXPORTS
+QD2GDI
diff --git a/mingw-w64-crt/lib64/woledb32.def b/mingw-w64-crt/lib64/woledb32.def
index 0bf2f32..ce742e7 100644
--- a/mingw-w64-crt/lib64/woledb32.def
+++ b/mingw-w64-crt/lib64/woledb32.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file OLEDB32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLEDB32.dll
-EXPORTS
-DllMain
-OpenDSLFile
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OLEDB32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLEDB32.dll
+EXPORTS
+DllMain
+OpenDSLFile
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/woledb32r.def b/mingw-w64-crt/lib64/woledb32r.def
index ae94839..25fef23 100644
--- a/mingw-w64-crt/lib64/woledb32r.def
+++ b/mingw-w64-crt/lib64/woledb32r.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file OLEDB32R.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLEDB32R.dll
-EXPORTS
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OLEDB32R.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLEDB32R.dll
+EXPORTS
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/woledlg.def b/mingw-w64-crt/lib64/woledlg.def
index f57aabe..cc99de2 100644
--- a/mingw-w64-crt/lib64/woledlg.def
+++ b/mingw-w64-crt/lib64/woledlg.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file oledlg.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY oledlg.dll
-EXPORTS
-OleUIAddVerbMenuA
-OleUICanConvertOrActivateAs
-OleUIInsertObjectA
-OleUIPasteSpecialA
-OleUIEditLinksA
-OleUIChangeIconA
-OleUIConvertA
-OleUIBusyA
-OleUIUpdateLinksA
-OleUIPromptUserA
-OleUIObjectPropertiesA
-OleUIChangeSourceA
-OleUIAddVerbMenuW
-OleUIBusyW
-OleUIChangeIconW
-OleUIChangeSourceW
-OleUIConvertW
-OleUIEditLinksW
-OleUIInsertObjectW
-OleUIObjectPropertiesW
-OleUIPasteSpecialW
-OleUIPromptUserW
-OleUIUpdateLinksW
+; 
+; Exports of file oledlg.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY oledlg.dll
+EXPORTS
+OleUIAddVerbMenuA
+OleUICanConvertOrActivateAs
+OleUIInsertObjectA
+OleUIPasteSpecialA
+OleUIEditLinksA
+OleUIChangeIconA
+OleUIConvertA
+OleUIBusyA
+OleUIUpdateLinksA
+OleUIPromptUserA
+OleUIObjectPropertiesA
+OleUIChangeSourceA
+OleUIAddVerbMenuW
+OleUIBusyW
+OleUIChangeIconW
+OleUIChangeSourceW
+OleUIConvertW
+OleUIEditLinksW
+OleUIInsertObjectW
+OleUIObjectPropertiesW
+OleUIPasteSpecialW
+OleUIPromptUserW
+OleUIUpdateLinksW
diff --git a/mingw-w64-crt/lib64/woleprn.def b/mingw-w64-crt/lib64/woleprn.def
index fe9edf5..c704ae6 100644
--- a/mingw-w64-crt/lib64/woleprn.def
+++ b/mingw-w64-crt/lib64/woleprn.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file oleprn.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY oleprn.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file oleprn.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY oleprn.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wolepro32.def b/mingw-w64-crt/lib64/wolepro32.def
index 6cc7209..4c2819d 100644
--- a/mingw-w64-crt/lib64/wolepro32.def
+++ b/mingw-w64-crt/lib64/wolepro32.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file OLEPRO32.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLEPRO32.DLL
-EXPORTS
-OleIconToCursor
-OleCreatePropertyFrameIndirect
-OleCreatePropertyFrame
-OleLoadPicture
-OleCreatePictureIndirect
-OleCreateFontIndirect
-OleTranslateColor
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file OLEPRO32.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLEPRO32.DLL
+EXPORTS
+OleIconToCursor
+OleCreatePropertyFrameIndirect
+OleCreatePropertyFrame
+OleLoadPicture
+OleCreatePictureIndirect
+OleCreateFontIndirect
+OleTranslateColor
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wolesvr32.def b/mingw-w64-crt/lib64/wolesvr32.def
index 3ff4913..02ef669 100644
--- a/mingw-w64-crt/lib64/wolesvr32.def
+++ b/mingw-w64-crt/lib64/wolesvr32.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file OLESVR32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLESVR32.dll
-EXPORTS
-WEP
-OleRegisterServer
-OleRevokeServer
-OleBlockServer
-OleUnblockServer
-OleRegisterServerDoc
-OleRevokeServerDoc
-OleRenameServerDoc
-OleRevertServerDoc
-OleSavedServerDoc
-OleRevokeObject
-OleQueryServerVersion
-SrvrWndProc
-DocWndProc
-ItemWndProc
-SendDataMsg
-FindItemWnd
-ItemCallBack
-TerminateClients
-TerminateDocClients
-DeleteClientInfo
-SendRenameMsg
-EnumForTerminate
+; 
+; Exports of file OLESVR32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLESVR32.dll
+EXPORTS
+WEP
+OleRegisterServer
+OleRevokeServer
+OleBlockServer
+OleUnblockServer
+OleRegisterServerDoc
+OleRevokeServerDoc
+OleRenameServerDoc
+OleRevertServerDoc
+OleSavedServerDoc
+OleRevokeObject
+OleQueryServerVersion
+SrvrWndProc
+DocWndProc
+ItemWndProc
+SendDataMsg
+FindItemWnd
+ItemCallBack
+TerminateClients
+TerminateDocClients
+DeleteClientInfo
+SendRenameMsg
+EnumForTerminate
diff --git a/mingw-w64-crt/lib64/wolethk32.def b/mingw-w64-crt/lib64/wolethk32.def
index 22ae69c..2769199 100644
--- a/mingw-w64-crt/lib64/wolethk32.def
+++ b/mingw-w64-crt/lib64/wolethk32.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file OLETHK32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OLETHK32.dll
-EXPORTS
-InvokeOn32
-IntOpInitialize
-CallbackProcessing_3216
-IUnknownObj32
-CSm16ReleaseHandler_Release32
-ThkMgrInitialize
-ThkMgrUninitialize
-TransformHRESULT_1632
-TransformHRESULT_3216
-ConvertObjDescriptor
-ConvertHr1632Thunk
-ConvertHr3216Thunk
-IntOpUninitialize
-ThkAddAppCompatFlag
+; 
+; Exports of file OLETHK32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OLETHK32.dll
+EXPORTS
+InvokeOn32
+IntOpInitialize
+CallbackProcessing_3216
+IUnknownObj32
+CSm16ReleaseHandler_Release32
+ThkMgrInitialize
+ThkMgrUninitialize
+TransformHRESULT_1632
+TransformHRESULT_3216
+ConvertObjDescriptor
+ConvertHr1632Thunk
+ConvertHr3216Thunk
+IntOpUninitialize
+ThkAddAppCompatFlag
diff --git a/mingw-w64-crt/lib64/wopengl32.def b/mingw-w64-crt/lib64/wopengl32.def
index 34c8982..2111eb0 100644
--- a/mingw-w64-crt/lib64/wopengl32.def
+++ b/mingw-w64-crt/lib64/wopengl32.def
@@ -1,376 +1,376 @@
-; 
-; Exports of file OPENGL32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OPENGL32.dll
-EXPORTS
-GlmfBeginGlsBlock
-GlmfCloseMetaFile
-GlmfEndGlsBlock
-GlmfEndPlayback
-GlmfInitPlayback
-GlmfPlayGlsRecord
-glAccum
-glAlphaFunc
-glAreTexturesResident
-glArrayElement
-glBegin
-glBindTexture
-glBitmap
-glBlendFunc
-glCallList
-glCallLists
-glClear
-glClearAccum
-glClearColor
-glClearDepth
-glClearIndex
-glClearStencil
-glClipPlane
-glColor3b
-glColor3bv
-glColor3d
-glColor3dv
-glColor3f
-glColor3fv
-glColor3i
-glColor3iv
-glColor3s
-glColor3sv
-glColor3ub
-glColor3ubv
-glColor3ui
-glColor3uiv
-glColor3us
-glColor3usv
-glColor4b
-glColor4bv
-glColor4d
-glColor4dv
-glColor4f
-glColor4fv
-glColor4i
-glColor4iv
-glColor4s
-glColor4sv
-glColor4ub
-glColor4ubv
-glColor4ui
-glColor4uiv
-glColor4us
-glColor4usv
-glColorMask
-glColorMaterial
-glColorPointer
-glCopyPixels
-glCopyTexImage1D
-glCopyTexImage2D
-glCopyTexSubImage1D
-glCopyTexSubImage2D
-glCullFace
-glDebugEntry
-glDeleteLists
-glDeleteTextures
-glDepthFunc
-glDepthMask
-glDepthRange
-glDisable
-glDisableClientState
-glDrawArrays
-glDrawBuffer
-glDrawElements
-glDrawPixels
-glEdgeFlag
-glEdgeFlagPointer
-glEdgeFlagv
-glEnable
-glEnableClientState
-glEnd
-glEndList
-glEvalCoord1d
-glEvalCoord1dv
-glEvalCoord1f
-glEvalCoord1fv
-glEvalCoord2d
-glEvalCoord2dv
-glEvalCoord2f
-glEvalCoord2fv
-glEvalMesh1
-glEvalMesh2
-glEvalPoint1
-glEvalPoint2
-glFeedbackBuffer
-glFinish
-glFlush
-glFogf
-glFogfv
-glFogi
-glFogiv
-glFrontFace
-glFrustum
-glGenLists
-glGenTextures
-glGetBooleanv
-glGetClipPlane
-glGetDoublev
-glGetError
-glGetFloatv
-glGetIntegerv
-glGetLightfv
-glGetLightiv
-glGetMapdv
-glGetMapfv
-glGetMapiv
-glGetMaterialfv
-glGetMaterialiv
-glGetPixelMapfv
-glGetPixelMapuiv
-glGetPixelMapusv
-glGetPointerv
-glGetPolygonStipple
-glGetString
-glGetTexEnvfv
-glGetTexEnviv
-glGetTexGendv
-glGetTexGenfv
-glGetTexGeniv
-glGetTexImage
-glGetTexLevelParameterfv
-glGetTexLevelParameteriv
-glGetTexParameterfv
-glGetTexParameteriv
-glHint
-glIndexMask
-glIndexPointer
-glIndexd
-glIndexdv
-glIndexf
-glIndexfv
-glIndexi
-glIndexiv
-glIndexs
-glIndexsv
-glIndexub
-glIndexubv
-glInitNames
-glInterleavedArrays
-glIsEnabled
-glIsList
-glIsTexture
-glLightModelf
-glLightModelfv
-glLightModeli
-glLightModeliv
-glLightf
-glLightfv
-glLighti
-glLightiv
-glLineStipple
-glLineWidth
-glListBase
-glLoadIdentity
-glLoadMatrixd
-glLoadMatrixf
-glLoadName
-glLogicOp
-glMap1d
-glMap1f
-glMap2d
-glMap2f
-glMapGrid1d
-glMapGrid1f
-glMapGrid2d
-glMapGrid2f
-glMaterialf
-glMaterialfv
-glMateriali
-glMaterialiv
-glMatrixMode
-glMultMatrixd
-glMultMatrixf
-glNewList
-glNormal3b
-glNormal3bv
-glNormal3d
-glNormal3dv
-glNormal3f
-glNormal3fv
-glNormal3i
-glNormal3iv
-glNormal3s
-glNormal3sv
-glNormalPointer
-glOrtho
-glPassThrough
-glPixelMapfv
-glPixelMapuiv
-glPixelMapusv
-glPixelStoref
-glPixelStorei
-glPixelTransferf
-glPixelTransferi
-glPixelZoom
-glPointSize
-glPolygonMode
-glPolygonOffset
-glPolygonStipple
-glPopAttrib
-glPopClientAttrib
-glPopMatrix
-glPopName
-glPrioritizeTextures
-glPushAttrib
-glPushClientAttrib
-glPushMatrix
-glPushName
-glRasterPos2d
-glRasterPos2dv
-glRasterPos2f
-glRasterPos2fv
-glRasterPos2i
-glRasterPos2iv
-glRasterPos2s
-glRasterPos2sv
-glRasterPos3d
-glRasterPos3dv
-glRasterPos3f
-glRasterPos3fv
-glRasterPos3i
-glRasterPos3iv
-glRasterPos3s
-glRasterPos3sv
-glRasterPos4d
-glRasterPos4dv
-glRasterPos4f
-glRasterPos4fv
-glRasterPos4i
-glRasterPos4iv
-glRasterPos4s
-glRasterPos4sv
-glReadBuffer
-glReadPixels
-glRectd
-glRectdv
-glRectf
-glRectfv
-glRecti
-glRectiv
-glRects
-glRectsv
-glRenderMode
-glRotated
-glRotatef
-glScaled
-glScalef
-glScissor
-glSelectBuffer
-glShadeModel
-glStencilFunc
-glStencilMask
-glStencilOp
-glTexCoord1d
-glTexCoord1dv
-glTexCoord1f
-glTexCoord1fv
-glTexCoord1i
-glTexCoord1iv
-glTexCoord1s
-glTexCoord1sv
-glTexCoord2d
-glTexCoord2dv
-glTexCoord2f
-glTexCoord2fv
-glTexCoord2i
-glTexCoord2iv
-glTexCoord2s
-glTexCoord2sv
-glTexCoord3d
-glTexCoord3dv
-glTexCoord3f
-glTexCoord3fv
-glTexCoord3i
-glTexCoord3iv
-glTexCoord3s
-glTexCoord3sv
-glTexCoord4d
-glTexCoord4dv
-glTexCoord4f
-glTexCoord4fv
-glTexCoord4i
-glTexCoord4iv
-glTexCoord4s
-glTexCoord4sv
-glTexCoordPointer
-glTexEnvf
-glTexEnvfv
-glTexEnvi
-glTexEnviv
-glTexGend
-glTexGendv
-glTexGenf
-glTexGenfv
-glTexGeni
-glTexGeniv
-glTexImage1D
-glTexImage2D
-glTexParameterf
-glTexParameterfv
-glTexParameteri
-glTexParameteriv
-glTexSubImage1D
-glTexSubImage2D
-glTranslated
-glTranslatef
-glVertex2d
-glVertex2dv
-glVertex2f
-glVertex2fv
-glVertex2i
-glVertex2iv
-glVertex2s
-glVertex2sv
-glVertex3d
-glVertex3dv
-glVertex3f
-glVertex3fv
-glVertex3i
-glVertex3iv
-glVertex3s
-glVertex3sv
-glVertex4d
-glVertex4dv
-glVertex4f
-glVertex4fv
-glVertex4i
-glVertex4iv
-glVertex4s
-glVertex4sv
-glVertexPointer
-glViewport
-wglChoosePixelFormat
-wglCopyContext
-wglCreateContext
-wglCreateLayerContext
-wglDeleteContext
-wglDescribeLayerPlane
-wglDescribePixelFormat
-wglGetCurrentContext
-wglGetCurrentDC
-wglGetDefaultProcAddress
-wglGetLayerPaletteEntries
-wglGetPixelFormat
-wglGetProcAddress
-wglMakeCurrent
-wglRealizeLayerPalette
-wglSetLayerPaletteEntries
-wglSetPixelFormat
-wglShareLists
-wglSwapBuffers
-wglSwapLayerBuffers
-wglSwapMultipleBuffers
-wglUseFontBitmapsA
-wglUseFontBitmapsW
-wglUseFontOutlinesA
-wglUseFontOutlinesW
+; 
+; Exports of file OPENGL32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OPENGL32.dll
+EXPORTS
+GlmfBeginGlsBlock
+GlmfCloseMetaFile
+GlmfEndGlsBlock
+GlmfEndPlayback
+GlmfInitPlayback
+GlmfPlayGlsRecord
+glAccum
+glAlphaFunc
+glAreTexturesResident
+glArrayElement
+glBegin
+glBindTexture
+glBitmap
+glBlendFunc
+glCallList
+glCallLists
+glClear
+glClearAccum
+glClearColor
+glClearDepth
+glClearIndex
+glClearStencil
+glClipPlane
+glColor3b
+glColor3bv
+glColor3d
+glColor3dv
+glColor3f
+glColor3fv
+glColor3i
+glColor3iv
+glColor3s
+glColor3sv
+glColor3ub
+glColor3ubv
+glColor3ui
+glColor3uiv
+glColor3us
+glColor3usv
+glColor4b
+glColor4bv
+glColor4d
+glColor4dv
+glColor4f
+glColor4fv
+glColor4i
+glColor4iv
+glColor4s
+glColor4sv
+glColor4ub
+glColor4ubv
+glColor4ui
+glColor4uiv
+glColor4us
+glColor4usv
+glColorMask
+glColorMaterial
+glColorPointer
+glCopyPixels
+glCopyTexImage1D
+glCopyTexImage2D
+glCopyTexSubImage1D
+glCopyTexSubImage2D
+glCullFace
+glDebugEntry
+glDeleteLists
+glDeleteTextures
+glDepthFunc
+glDepthMask
+glDepthRange
+glDisable
+glDisableClientState
+glDrawArrays
+glDrawBuffer
+glDrawElements
+glDrawPixels
+glEdgeFlag
+glEdgeFlagPointer
+glEdgeFlagv
+glEnable
+glEnableClientState
+glEnd
+glEndList
+glEvalCoord1d
+glEvalCoord1dv
+glEvalCoord1f
+glEvalCoord1fv
+glEvalCoord2d
+glEvalCoord2dv
+glEvalCoord2f
+glEvalCoord2fv
+glEvalMesh1
+glEvalMesh2
+glEvalPoint1
+glEvalPoint2
+glFeedbackBuffer
+glFinish
+glFlush
+glFogf
+glFogfv
+glFogi
+glFogiv
+glFrontFace
+glFrustum
+glGenLists
+glGenTextures
+glGetBooleanv
+glGetClipPlane
+glGetDoublev
+glGetError
+glGetFloatv
+glGetIntegerv
+glGetLightfv
+glGetLightiv
+glGetMapdv
+glGetMapfv
+glGetMapiv
+glGetMaterialfv
+glGetMaterialiv
+glGetPixelMapfv
+glGetPixelMapuiv
+glGetPixelMapusv
+glGetPointerv
+glGetPolygonStipple
+glGetString
+glGetTexEnvfv
+glGetTexEnviv
+glGetTexGendv
+glGetTexGenfv
+glGetTexGeniv
+glGetTexImage
+glGetTexLevelParameterfv
+glGetTexLevelParameteriv
+glGetTexParameterfv
+glGetTexParameteriv
+glHint
+glIndexMask
+glIndexPointer
+glIndexd
+glIndexdv
+glIndexf
+glIndexfv
+glIndexi
+glIndexiv
+glIndexs
+glIndexsv
+glIndexub
+glIndexubv
+glInitNames
+glInterleavedArrays
+glIsEnabled
+glIsList
+glIsTexture
+glLightModelf
+glLightModelfv
+glLightModeli
+glLightModeliv
+glLightf
+glLightfv
+glLighti
+glLightiv
+glLineStipple
+glLineWidth
+glListBase
+glLoadIdentity
+glLoadMatrixd
+glLoadMatrixf
+glLoadName
+glLogicOp
+glMap1d
+glMap1f
+glMap2d
+glMap2f
+glMapGrid1d
+glMapGrid1f
+glMapGrid2d
+glMapGrid2f
+glMaterialf
+glMaterialfv
+glMateriali
+glMaterialiv
+glMatrixMode
+glMultMatrixd
+glMultMatrixf
+glNewList
+glNormal3b
+glNormal3bv
+glNormal3d
+glNormal3dv
+glNormal3f
+glNormal3fv
+glNormal3i
+glNormal3iv
+glNormal3s
+glNormal3sv
+glNormalPointer
+glOrtho
+glPassThrough
+glPixelMapfv
+glPixelMapuiv
+glPixelMapusv
+glPixelStoref
+glPixelStorei
+glPixelTransferf
+glPixelTransferi
+glPixelZoom
+glPointSize
+glPolygonMode
+glPolygonOffset
+glPolygonStipple
+glPopAttrib
+glPopClientAttrib
+glPopMatrix
+glPopName
+glPrioritizeTextures
+glPushAttrib
+glPushClientAttrib
+glPushMatrix
+glPushName
+glRasterPos2d
+glRasterPos2dv
+glRasterPos2f
+glRasterPos2fv
+glRasterPos2i
+glRasterPos2iv
+glRasterPos2s
+glRasterPos2sv
+glRasterPos3d
+glRasterPos3dv
+glRasterPos3f
+glRasterPos3fv
+glRasterPos3i
+glRasterPos3iv
+glRasterPos3s
+glRasterPos3sv
+glRasterPos4d
+glRasterPos4dv
+glRasterPos4f
+glRasterPos4fv
+glRasterPos4i
+glRasterPos4iv
+glRasterPos4s
+glRasterPos4sv
+glReadBuffer
+glReadPixels
+glRectd
+glRectdv
+glRectf
+glRectfv
+glRecti
+glRectiv
+glRects
+glRectsv
+glRenderMode
+glRotated
+glRotatef
+glScaled
+glScalef
+glScissor
+glSelectBuffer
+glShadeModel
+glStencilFunc
+glStencilMask
+glStencilOp
+glTexCoord1d
+glTexCoord1dv
+glTexCoord1f
+glTexCoord1fv
+glTexCoord1i
+glTexCoord1iv
+glTexCoord1s
+glTexCoord1sv
+glTexCoord2d
+glTexCoord2dv
+glTexCoord2f
+glTexCoord2fv
+glTexCoord2i
+glTexCoord2iv
+glTexCoord2s
+glTexCoord2sv
+glTexCoord3d
+glTexCoord3dv
+glTexCoord3f
+glTexCoord3fv
+glTexCoord3i
+glTexCoord3iv
+glTexCoord3s
+glTexCoord3sv
+glTexCoord4d
+glTexCoord4dv
+glTexCoord4f
+glTexCoord4fv
+glTexCoord4i
+glTexCoord4iv
+glTexCoord4s
+glTexCoord4sv
+glTexCoordPointer
+glTexEnvf
+glTexEnvfv
+glTexEnvi
+glTexEnviv
+glTexGend
+glTexGendv
+glTexGenf
+glTexGenfv
+glTexGeni
+glTexGeniv
+glTexImage1D
+glTexImage2D
+glTexParameterf
+glTexParameterfv
+glTexParameteri
+glTexParameteriv
+glTexSubImage1D
+glTexSubImage2D
+glTranslated
+glTranslatef
+glVertex2d
+glVertex2dv
+glVertex2f
+glVertex2fv
+glVertex2i
+glVertex2iv
+glVertex2s
+glVertex2sv
+glVertex3d
+glVertex3dv
+glVertex3f
+glVertex3fv
+glVertex3i
+glVertex3iv
+glVertex3s
+glVertex3sv
+glVertex4d
+glVertex4dv
+glVertex4f
+glVertex4fv
+glVertex4i
+glVertex4iv
+glVertex4s
+glVertex4sv
+glVertexPointer
+glViewport
+wglChoosePixelFormat
+wglCopyContext
+wglCreateContext
+wglCreateLayerContext
+wglDeleteContext
+wglDescribeLayerPlane
+wglDescribePixelFormat
+wglGetCurrentContext
+wglGetCurrentDC
+wglGetDefaultProcAddress
+wglGetLayerPaletteEntries
+wglGetPixelFormat
+wglGetProcAddress
+wglMakeCurrent
+wglRealizeLayerPalette
+wglSetLayerPaletteEntries
+wglSetPixelFormat
+wglShareLists
+wglSwapBuffers
+wglSwapLayerBuffers
+wglSwapMultipleBuffers
+wglUseFontBitmapsA
+wglUseFontBitmapsW
+wglUseFontOutlinesA
+wglUseFontOutlinesW
diff --git a/mingw-w64-crt/lib64/wosuninst.def b/mingw-w64-crt/lib64/wosuninst.def
index 6063adc..db2d630 100644
--- a/mingw-w64-crt/lib64/wosuninst.def
+++ b/mingw-w64-crt/lib64/wosuninst.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file OSUNINST.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY OSUNINST.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-ExecuteUninstall
-GetUninstallImageSize
-IsUninstallImageValid
-ProvideUiAlerts
-RemoveUninstallImage
+; 
+; Exports of file OSUNINST.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY OSUNINST.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+ExecuteUninstall
+GetUninstallImageSize
+IsUninstallImageValid
+ProvideUiAlerts
+RemoveUninstallImage
diff --git a/mingw-w64-crt/lib64/wow64.def b/mingw-w64-crt/lib64/wow64.def
index 2e88429..9acd718 100644
--- a/mingw-w64-crt/lib64/wow64.def
+++ b/mingw-w64-crt/lib64/wow64.def
@@ -1,32 +1,32 @@
-; 
-; Exports of file wow64.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wow64.dll
-EXPORTS
-Wow64AllocateHeap
-Wow64AllocateTemp
-Wow64ApcRoutine
-Wow64Assert
-Wow64CheckIfNXEnabled
-Wow64EmulateAtlThunk
-Wow64ExecuteFlags DATA
-Wow64FreeHeap
-Wow64GetWow64ImageOption
-Wow64KiUserCallbackDispatcher
-Wow64LdrpInitialize
-Wow64LogPrint
-Wow64OpenConfigKey
-Wow64PrepareForDebuggerAttach
-Wow64PrepareForException
-Wow64RaiseException
-Wow64ShallowThunkAllocObjectAttributes32TO64_FNC
-Wow64ShallowThunkAllocSecurityQualityOfService32TO64_FNC
-Wow64ShallowThunkSIZE_T32TO64
-Wow64ShallowThunkSIZE_T64TO32
-Wow64StartupContextToContextX86
-Wow64SystemService
-Wow64SystemServiceEx
-pfnWow64PerfMonitorCall DATA
+; 
+; Exports of file wow64.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wow64.dll
+EXPORTS
+Wow64AllocateHeap
+Wow64AllocateTemp
+Wow64ApcRoutine
+Wow64Assert
+Wow64CheckIfNXEnabled
+Wow64EmulateAtlThunk
+Wow64ExecuteFlags DATA
+Wow64FreeHeap
+Wow64GetWow64ImageOption
+Wow64KiUserCallbackDispatcher
+Wow64LdrpInitialize
+Wow64LogPrint
+Wow64OpenConfigKey
+Wow64PrepareForDebuggerAttach
+Wow64PrepareForException
+Wow64RaiseException
+Wow64ShallowThunkAllocObjectAttributes32TO64_FNC
+Wow64ShallowThunkAllocSecurityQualityOfService32TO64_FNC
+Wow64ShallowThunkSIZE_T32TO64
+Wow64ShallowThunkSIZE_T64TO32
+Wow64StartupContextToContextX86
+Wow64SystemService
+Wow64SystemServiceEx
+pfnWow64PerfMonitorCall DATA
diff --git a/mingw-w64-crt/lib64/wow64cpu.def b/mingw-w64-crt/lib64/wow64cpu.def
index 8eb4e59..9866ada 100644
--- a/mingw-w64-crt/lib64/wow64cpu.def
+++ b/mingw-w64-crt/lib64/wow64cpu.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file wow64cpu.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wow64cpu.dll
-EXPORTS
-CpuFlushInstructionCache
-CpuGetContext
-CpuGetStackPointer
-CpuInitializeStartupContext
-CpuNotifyDllLoad
-CpuNotifyDllUnload
-CpuPrepareForDebuggerAttach
-CpuProcessDebugEvent
-CpuProcessInit
-CpuProcessTerm
-CpuResetFloatingPoint
-CpuResetToConsistentState
-CpuSetContext
-CpuSetInstructionPointer
-CpuSetStackPointer
-CpuSimulate
-CpuSuspendThread
-CpuThreadInit
-CpuThreadTerm
-TurboDispatchJumpAddressEnd
-TurboDispatchJumpAddressStart
+; 
+; Exports of file wow64cpu.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wow64cpu.dll
+EXPORTS
+CpuFlushInstructionCache
+CpuGetContext
+CpuGetStackPointer
+CpuInitializeStartupContext
+CpuNotifyDllLoad
+CpuNotifyDllUnload
+CpuPrepareForDebuggerAttach
+CpuProcessDebugEvent
+CpuProcessInit
+CpuProcessTerm
+CpuResetFloatingPoint
+CpuResetToConsistentState
+CpuSetContext
+CpuSetInstructionPointer
+CpuSetStackPointer
+CpuSimulate
+CpuSuspendThread
+CpuThreadInit
+CpuThreadTerm
+TurboDispatchJumpAddressEnd
+TurboDispatchJumpAddressStart
diff --git a/mingw-w64-crt/lib64/wow64mib.def b/mingw-w64-crt/lib64/wow64mib.def
index 84f704f..85f6818 100644
--- a/mingw-w64-crt/lib64/wow64mib.def
+++ b/mingw-w64-crt/lib64/wow64mib.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file wow64mib.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wow64mib.dll
-EXPORTS
-SnmpExtensionClose
-SnmpExtensionInit
-SnmpExtensionInitEx
-SnmpExtensionQuery
-SnmpExtensionTrap
+; 
+; Exports of file wow64mib.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wow64mib.dll
+EXPORTS
+SnmpExtensionClose
+SnmpExtensionInit
+SnmpExtensionInitEx
+SnmpExtensionQuery
+SnmpExtensionTrap
diff --git a/mingw-w64-crt/lib64/wow64win.def b/mingw-w64-crt/lib64/wow64win.def
index 63dd8dc..241beb2 100644
--- a/mingw-w64-crt/lib64/wow64win.def
+++ b/mingw-w64-crt/lib64/wow64win.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wow64win.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wow64win.dll
-EXPORTS
-Win32kCallbackTable
-ptcbc DATA
-sdwhcon DATA
-sdwhwin32 DATA
+; 
+; Exports of file wow64win.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wow64win.dll
+EXPORTS
+Win32kCallbackTable
+ptcbc DATA
+sdwhcon DATA
+sdwhwin32 DATA
diff --git a/mingw-w64-crt/lib64/wpadrs411.def b/mingw-w64-crt/lib64/wpadrs411.def
index 3033285..68bd4b5 100644
--- a/mingw-w64-crt/lib64/wpadrs411.def
+++ b/mingw-w64-crt/lib64/wpadrs411.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file resmain.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY resmain.dll
-EXPORTS
-PadHelp_HandleContextPopup
-PadHelp_HandleHelp
+; 
+; Exports of file resmain.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY resmain.dll
+EXPORTS
+PadHelp_HandleContextPopup
+PadHelp_HandleHelp
diff --git a/mingw-w64-crt/lib64/wpadrs412.def b/mingw-w64-crt/lib64/wpadrs412.def
index 3033285..68bd4b5 100644
--- a/mingw-w64-crt/lib64/wpadrs412.def
+++ b/mingw-w64-crt/lib64/wpadrs412.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file resmain.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY resmain.dll
-EXPORTS
-PadHelp_HandleContextPopup
-PadHelp_HandleHelp
+; 
+; Exports of file resmain.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY resmain.dll
+EXPORTS
+PadHelp_HandleContextPopup
+PadHelp_HandleHelp
diff --git a/mingw-w64-crt/lib64/wpadrs804.def b/mingw-w64-crt/lib64/wpadrs804.def
index 5180b41..71a6475 100644
--- a/mingw-w64-crt/lib64/wpadrs804.def
+++ b/mingw-w64-crt/lib64/wpadrs804.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file RESMAIN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RESMAIN.dll
-EXPORTS
-PadHelp_HandleContextPopup
-PadHelp_HandleHelp
+; 
+; Exports of file RESMAIN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RESMAIN.dll
+EXPORTS
+PadHelp_HandleContextPopup
+PadHelp_HandleHelp
diff --git a/mingw-w64-crt/lib64/wpanmap.def b/mingw-w64-crt/lib64/wpanmap.def
index a4bdb6e..0ce5fe4 100644
--- a/mingw-w64-crt/lib64/wpanmap.def
+++ b/mingw-w64-crt/lib64/wpanmap.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file panmap.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY panmap.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file panmap.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY panmap.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wpautoenr.def b/mingw-w64-crt/lib64/wpautoenr.def
index e2621c5..3fbe4f5 100644
--- a/mingw-w64-crt/lib64/wpautoenr.def
+++ b/mingw-w64-crt/lib64/wpautoenr.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PAUTOENR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PAUTOENR.dll
-EXPORTS
-CertAutoEnrollment
-CertAutoRemove
-ProvAutoEnrollment
+; 
+; Exports of file PAUTOENR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PAUTOENR.dll
+EXPORTS
+CertAutoEnrollment
+CertAutoRemove
+ProvAutoEnrollment
diff --git a/mingw-w64-crt/lib64/wpd_ci.def b/mingw-w64-crt/lib64/wpd_ci.def
index 0079c7d..0c6c698 100644
--- a/mingw-w64-crt/lib64/wpd_ci.def
+++ b/mingw-w64-crt/lib64/wpd_ci.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file wpd_ci.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wpd_ci.dll
-EXPORTS
-DoCmd
-MigrateMTPDevicesInstalledAsMSC
-RescanBus
-WpdClassInstaller
+; 
+; Exports of file wpd_ci.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wpd_ci.dll
+EXPORTS
+DoCmd
+MigrateMTPDevicesInstalledAsMSC
+RescanBus
+WpdClassInstaller
diff --git a/mingw-w64-crt/lib64/wpdh.def b/mingw-w64-crt/lib64/wpdh.def
index b1bc8e2..3fc47ba 100644
--- a/mingw-w64-crt/lib64/wpdh.def
+++ b/mingw-w64-crt/lib64/wpdh.def
@@ -1,167 +1,167 @@
-; 
-; Exports of file pdh.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY pdh.dll
-EXPORTS
-PdhPlaGetLogFileNameA
-DllInstall
-PdhAdd009CounterA
-PdhAdd009CounterW
-PdhAddCounterA
-PdhAddCounterW
-PdhBindInputDataSourceA
-PdhBindInputDataSourceW
-PdhBrowseCountersA
-PdhBrowseCountersHA
-PdhBrowseCountersHW
-PdhBrowseCountersW
-PdhCalculateCounterFromRawValue
-PdhCloseLog
-PdhCloseQuery
-PdhCollectQueryData
-PdhCollectQueryDataEx
-PdhComputeCounterStatistics
-PdhConnectMachineA
-PdhConnectMachineW
-PdhCreateSQLTablesA
-PdhCreateSQLTablesW
-PdhEnumLogSetNamesA
-PdhEnumLogSetNamesW
-PdhEnumMachinesA
-PdhEnumMachinesHA
-PdhEnumMachinesHW
-PdhEnumMachinesW
-PdhEnumObjectItemsA
-PdhEnumObjectItemsHA
-PdhEnumObjectItemsHW
-PdhEnumObjectItemsW
-PdhEnumObjectsA
-PdhEnumObjectsHA
-PdhEnumObjectsHW
-PdhEnumObjectsW
-PdhExpandCounterPathA
-PdhExpandCounterPathW
-PdhExpandWildCardPathA
-PdhExpandWildCardPathHA
-PdhExpandWildCardPathHW
-PdhExpandWildCardPathW
-PdhFormatFromRawValue
-PdhGetCounterInfoA
-PdhGetCounterInfoW
-PdhGetCounterTimeBase
-PdhGetDataSourceTimeRangeA
-PdhGetDataSourceTimeRangeH
-PdhGetDataSourceTimeRangeW
-PdhGetDefaultPerfCounterA
-PdhGetDefaultPerfCounterHA
-PdhGetDefaultPerfCounterHW
-PdhGetDefaultPerfCounterW
-PdhGetDefaultPerfObjectA
-PdhGetDefaultPerfObjectHA
-PdhGetDefaultPerfObjectHW
-PdhGetDefaultPerfObjectW
-PdhGetDllVersion
-PdhGetFormattedCounterArrayA
-PdhGetFormattedCounterArrayW
-PdhGetFormattedCounterValue
-PdhGetLogFileSize
-PdhGetLogFileTypeA
-PdhGetLogFileTypeW
-PdhGetLogSetGUID
-PdhGetRawCounterArrayA
-PdhGetRawCounterArrayW
-PdhGetRawCounterValue
-PdhIsRealTimeQuery
-PdhListLogFileHeaderA
-PdhListLogFileHeaderW
-PdhLookupPerfIndexByNameA
-PdhLookupPerfIndexByNameW
-PdhLookupPerfNameByIndexA
-PdhLookupPerfNameByIndexW
-PdhMakeCounterPathA
-PdhMakeCounterPathW
-PdhOpenLogA
-PdhOpenLogW
-PdhOpenQuery
-PdhOpenQueryA
-PdhOpenQueryH
-PdhOpenQueryW
-PdhParseCounterPathA
-PdhParseCounterPathW
-PdhParseInstanceNameA
-PdhParseInstanceNameW
-PdhPlaAddItemA
-PdhPlaAddItemW
-PdhPlaCreateA
-PdhPlaCreateW
-PdhPlaDeleteA
-PdhPlaDeleteW
-PdhPlaDowngradeW
-PdhPlaEnumCollectionsA
-PdhPlaEnumCollectionsW
-PdhPlaGetInfoA
-PdhPlaGetInfoW
-PdhPlaGetLogFileNameW
-PdhPlaGetScheduleA
-PdhPlaGetScheduleW
-PdhPlaRemoveAllItemsA
-PdhPlaRemoveAllItemsW
-PdhPlaScheduleA
-PdhPlaScheduleW
-PdhPlaSetInfoA
-PdhPlaSetInfoW
-PdhPlaSetItemListA
-PdhPlaSetItemListW
-PdhPlaSetRunAsA
-PdhPlaSetRunAsW
-PdhPlaStartA
-PdhPlaStartW
-PdhPlaStopA
-PdhPlaStopW
-PdhPlaUpgradeW
-PdhPlaValidateInfoA
-PdhPlaValidateInfoW
-PdhReadRawLogRecord
-PdhRelogA
-PdhRelogW
-PdhRemoveCounter
-PdhSelectDataSourceA
-PdhSelectDataSourceW
-PdhSetCounterScaleFactor
-PdhSetDefaultRealTimeDataSource
-PdhSetLogSetRunID
-PdhSetQueryTimeRange
-PdhTranslate009CounterA
-PdhTranslate009CounterW
-PdhTranslateLocaleCounterA
-PdhTranslateLocaleCounterW
-PdhUpdateLogA
-PdhUpdateLogFileCatalog
-PdhUpdateLogW
-PdhValidatePathA
-PdhValidatePathW
-PdhVbAddCounter
-PdhVbCreateCounterPathList
-PdhVbGetCounterPathElements
-PdhVbGetCounterPathFromList
-PdhVbGetDoubleCounterValue
-PdhVbGetLogFileSize
-PdhVbGetOneCounterPath
-PdhVbIsGoodStatus
-PdhVbOpenLog
-PdhVbOpenQuery
-PdhVbUpdateLog
-PdhVerifySQLDBA
-PdhVerifySQLDBW
-PdhiPla2003SP1Installed
-PdhiPlaDowngrade
-PdhiPlaFormatBlanksA
-PdhiPlaFormatBlanksW
-PdhiPlaGetVersion
-PdhiPlaRunAs
-PdhiPlaSetRunAs
-PdhiPlaUpgrade
-PlaTimeInfoToMilliSeconds
+; 
+; Exports of file pdh.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY pdh.dll
+EXPORTS
+PdhPlaGetLogFileNameA
+DllInstall
+PdhAdd009CounterA
+PdhAdd009CounterW
+PdhAddCounterA
+PdhAddCounterW
+PdhBindInputDataSourceA
+PdhBindInputDataSourceW
+PdhBrowseCountersA
+PdhBrowseCountersHA
+PdhBrowseCountersHW
+PdhBrowseCountersW
+PdhCalculateCounterFromRawValue
+PdhCloseLog
+PdhCloseQuery
+PdhCollectQueryData
+PdhCollectQueryDataEx
+PdhComputeCounterStatistics
+PdhConnectMachineA
+PdhConnectMachineW
+PdhCreateSQLTablesA
+PdhCreateSQLTablesW
+PdhEnumLogSetNamesA
+PdhEnumLogSetNamesW
+PdhEnumMachinesA
+PdhEnumMachinesHA
+PdhEnumMachinesHW
+PdhEnumMachinesW
+PdhEnumObjectItemsA
+PdhEnumObjectItemsHA
+PdhEnumObjectItemsHW
+PdhEnumObjectItemsW
+PdhEnumObjectsA
+PdhEnumObjectsHA
+PdhEnumObjectsHW
+PdhEnumObjectsW
+PdhExpandCounterPathA
+PdhExpandCounterPathW
+PdhExpandWildCardPathA
+PdhExpandWildCardPathHA
+PdhExpandWildCardPathHW
+PdhExpandWildCardPathW
+PdhFormatFromRawValue
+PdhGetCounterInfoA
+PdhGetCounterInfoW
+PdhGetCounterTimeBase
+PdhGetDataSourceTimeRangeA
+PdhGetDataSourceTimeRangeH
+PdhGetDataSourceTimeRangeW
+PdhGetDefaultPerfCounterA
+PdhGetDefaultPerfCounterHA
+PdhGetDefaultPerfCounterHW
+PdhGetDefaultPerfCounterW
+PdhGetDefaultPerfObjectA
+PdhGetDefaultPerfObjectHA
+PdhGetDefaultPerfObjectHW
+PdhGetDefaultPerfObjectW
+PdhGetDllVersion
+PdhGetFormattedCounterArrayA
+PdhGetFormattedCounterArrayW
+PdhGetFormattedCounterValue
+PdhGetLogFileSize
+PdhGetLogFileTypeA
+PdhGetLogFileTypeW
+PdhGetLogSetGUID
+PdhGetRawCounterArrayA
+PdhGetRawCounterArrayW
+PdhGetRawCounterValue
+PdhIsRealTimeQuery
+PdhListLogFileHeaderA
+PdhListLogFileHeaderW
+PdhLookupPerfIndexByNameA
+PdhLookupPerfIndexByNameW
+PdhLookupPerfNameByIndexA
+PdhLookupPerfNameByIndexW
+PdhMakeCounterPathA
+PdhMakeCounterPathW
+PdhOpenLogA
+PdhOpenLogW
+PdhOpenQuery
+PdhOpenQueryA
+PdhOpenQueryH
+PdhOpenQueryW
+PdhParseCounterPathA
+PdhParseCounterPathW
+PdhParseInstanceNameA
+PdhParseInstanceNameW
+PdhPlaAddItemA
+PdhPlaAddItemW
+PdhPlaCreateA
+PdhPlaCreateW
+PdhPlaDeleteA
+PdhPlaDeleteW
+PdhPlaDowngradeW
+PdhPlaEnumCollectionsA
+PdhPlaEnumCollectionsW
+PdhPlaGetInfoA
+PdhPlaGetInfoW
+PdhPlaGetLogFileNameW
+PdhPlaGetScheduleA
+PdhPlaGetScheduleW
+PdhPlaRemoveAllItemsA
+PdhPlaRemoveAllItemsW
+PdhPlaScheduleA
+PdhPlaScheduleW
+PdhPlaSetInfoA
+PdhPlaSetInfoW
+PdhPlaSetItemListA
+PdhPlaSetItemListW
+PdhPlaSetRunAsA
+PdhPlaSetRunAsW
+PdhPlaStartA
+PdhPlaStartW
+PdhPlaStopA
+PdhPlaStopW
+PdhPlaUpgradeW
+PdhPlaValidateInfoA
+PdhPlaValidateInfoW
+PdhReadRawLogRecord
+PdhRelogA
+PdhRelogW
+PdhRemoveCounter
+PdhSelectDataSourceA
+PdhSelectDataSourceW
+PdhSetCounterScaleFactor
+PdhSetDefaultRealTimeDataSource
+PdhSetLogSetRunID
+PdhSetQueryTimeRange
+PdhTranslate009CounterA
+PdhTranslate009CounterW
+PdhTranslateLocaleCounterA
+PdhTranslateLocaleCounterW
+PdhUpdateLogA
+PdhUpdateLogFileCatalog
+PdhUpdateLogW
+PdhValidatePathA
+PdhValidatePathW
+PdhVbAddCounter
+PdhVbCreateCounterPathList
+PdhVbGetCounterPathElements
+PdhVbGetCounterPathFromList
+PdhVbGetDoubleCounterValue
+PdhVbGetLogFileSize
+PdhVbGetOneCounterPath
+PdhVbIsGoodStatus
+PdhVbOpenLog
+PdhVbOpenQuery
+PdhVbUpdateLog
+PdhVerifySQLDBA
+PdhVerifySQLDBW
+PdhiPla2003SP1Installed
+PdhiPlaDowngrade
+PdhiPlaFormatBlanksA
+PdhiPlaFormatBlanksW
+PdhiPlaGetVersion
+PdhiPlaRunAs
+PdhiPlaSetRunAs
+PdhiPlaUpgrade
+PlaTimeInfoToMilliSeconds
diff --git a/mingw-w64-crt/lib64/wperfctrs.def b/mingw-w64-crt/lib64/wperfctrs.def
index a67db99..0d03538 100644
--- a/mingw-w64-crt/lib64/wperfctrs.def
+++ b/mingw-w64-crt/lib64/wperfctrs.def
@@ -1,26 +1,26 @@
-; 
-; Exports of file perfctrs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY perfctrs.dll
-EXPORTS
-OpenNbfPerformanceData
-CollectNbfPerformanceData
-CloseNbfPerformanceData
-OpenTcpIpPerformanceData
-CollectTcpIpPerformanceData
-CloseTcpIpPerformanceData
-OpenIPXPerformanceData
-CollectIPXPerformanceData
-CloseIPXPerformanceData
-OpenSPXPerformanceData
-CollectSPXPerformanceData
-CloseSPXPerformanceData
-OpenNWNBPerformanceData
-CollectNWNBPerformanceData
-CloseNWNBPerformanceData
-OpenDhcpPerformanceData
-CollectDhcpPerformanceData
-CloseDhcpPerformanceData
+; 
+; Exports of file perfctrs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY perfctrs.dll
+EXPORTS
+OpenNbfPerformanceData
+CollectNbfPerformanceData
+CloseNbfPerformanceData
+OpenTcpIpPerformanceData
+CollectTcpIpPerformanceData
+CloseTcpIpPerformanceData
+OpenIPXPerformanceData
+CollectIPXPerformanceData
+CloseIPXPerformanceData
+OpenSPXPerformanceData
+CollectSPXPerformanceData
+CloseSPXPerformanceData
+OpenNWNBPerformanceData
+CollectNWNBPerformanceData
+CloseNWNBPerformanceData
+OpenDhcpPerformanceData
+CollectDhcpPerformanceData
+CloseDhcpPerformanceData
diff --git a/mingw-w64-crt/lib64/wperfdisk.def b/mingw-w64-crt/lib64/wperfdisk.def
index 34bd799..c009696 100644
--- a/mingw-w64-crt/lib64/wperfdisk.def
+++ b/mingw-w64-crt/lib64/wperfdisk.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfDisk.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfDisk.dll
-EXPORTS
-CloseDiskObject
-CollectDiskObjectData
-OpenDiskObject
+; 
+; Exports of file PerfDisk.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfDisk.dll
+EXPORTS
+CloseDiskObject
+CollectDiskObjectData
+OpenDiskObject
diff --git a/mingw-w64-crt/lib64/wperfnet.def b/mingw-w64-crt/lib64/wperfnet.def
index 270c4f8..0879fab 100644
--- a/mingw-w64-crt/lib64/wperfnet.def
+++ b/mingw-w64-crt/lib64/wperfnet.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfNet.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfNet.dll
-EXPORTS
-CloseNetSvcsObject
-CollectNetSvcsObjectData
-OpenNetSvcsObject
+; 
+; Exports of file PerfNet.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfNet.dll
+EXPORTS
+CloseNetSvcsObject
+CollectNetSvcsObjectData
+OpenNetSvcsObject
diff --git a/mingw-w64-crt/lib64/wperfos.def b/mingw-w64-crt/lib64/wperfos.def
index 286ce56..0f49c43 100644
--- a/mingw-w64-crt/lib64/wperfos.def
+++ b/mingw-w64-crt/lib64/wperfos.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfOS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfOS.dll
-EXPORTS
-CloseOSObject
-CollectOSObjectData
-OpenOSObject
+; 
+; Exports of file PerfOS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfOS.dll
+EXPORTS
+CloseOSObject
+CollectOSObjectData
+OpenOSObject
diff --git a/mingw-w64-crt/lib64/wperfproc.def b/mingw-w64-crt/lib64/wperfproc.def
index cc94f8a..75b3904 100644
--- a/mingw-w64-crt/lib64/wperfproc.def
+++ b/mingw-w64-crt/lib64/wperfproc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfProc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfProc.dll
-EXPORTS
-CloseSysProcessObject
-CollectSysProcessObjectData
-OpenSysProcessObject
+; 
+; Exports of file PerfProc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfProc.dll
+EXPORTS
+CloseSysProcessObject
+CollectSysProcessObjectData
+OpenSysProcessObject
diff --git a/mingw-w64-crt/lib64/wperfts.def b/mingw-w64-crt/lib64/wperfts.def
index 36bbaf4..db53a22 100644
--- a/mingw-w64-crt/lib64/wperfts.def
+++ b/mingw-w64-crt/lib64/wperfts.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PerfTS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PerfTS.dll
-EXPORTS
-CloseTSObject
-CollectTSObjectData
-OpenTSObject
+; 
+; Exports of file PerfTS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PerfTS.dll
+EXPORTS
+CloseTSObject
+CollectTSObjectData
+OpenTSObject
diff --git a/mingw-w64-crt/lib64/wphotowiz.def b/mingw-w64-crt/lib64/wphotowiz.def
index 63a353a..057a165 100644
--- a/mingw-w64-crt/lib64/wphotowiz.def
+++ b/mingw-w64-crt/lib64/wphotowiz.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file PHOTOWIZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PHOTOWIZ.dll
-EXPORTS
-UsePPWForPrintTo
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllMain
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file PHOTOWIZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PHOTOWIZ.dll
+EXPORTS
+UsePPWForPrintTo
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllMain
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wpid.def b/mingw-w64-crt/lib64/wpid.def
index 394a3b5..20033a9 100644
--- a/mingw-w64-crt/lib64/wpid.def
+++ b/mingw-w64-crt/lib64/wpid.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file pid.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY pid.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
+; 
+; Exports of file pid.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY pid.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
diff --git a/mingw-w64-crt/lib64/wpidgen.def b/mingw-w64-crt/lib64/wpidgen.def
index 56e9578..f4bbeed 100644
--- a/mingw-w64-crt/lib64/wpidgen.def
+++ b/mingw-w64-crt/lib64/wpidgen.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file PIDGen.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PIDGen.dll
-EXPORTS
-PIDGenA
-PIDGenW
-PIDGenSimpA
-PIDGenSimpW
-SetupPIDGenA
-SetupPIDGenW
-PIDGenExA
-PIDGenExW
-SetupPIDGenExA
-SetupPIDGenExW
-PIDGenEx2A
-PIDGenEx2W
+; 
+; Exports of file PIDGen.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PIDGen.dll
+EXPORTS
+PIDGenA
+PIDGenW
+PIDGenSimpA
+PIDGenSimpW
+SetupPIDGenA
+SetupPIDGenW
+PIDGenExA
+PIDGenExW
+SetupPIDGenExA
+SetupPIDGenExW
+PIDGenEx2A
+PIDGenEx2W
diff --git a/mingw-w64-crt/lib64/wpjlmon.def b/mingw-w64-crt/lib64/wpjlmon.def
index f0e820e..667b964 100644
--- a/mingw-w64-crt/lib64/wpjlmon.def
+++ b/mingw-w64-crt/lib64/wpjlmon.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file PJLMON.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PJLMON.dll
-EXPORTS
-InitializePrintMonitor
+; 
+; Exports of file PJLMON.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PJLMON.dll
+EXPORTS
+InitializePrintMonitor
diff --git a/mingw-w64-crt/lib64/wpngfilt.def b/mingw-w64-crt/lib64/wpngfilt.def
index cb8d366..c9e0cb9 100644
--- a/mingw-w64-crt/lib64/wpngfilt.def
+++ b/mingw-w64-crt/lib64/wpngfilt.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file PNGFILTER.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PNGFILTER.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file PNGFILTER.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PNGFILTER.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wpolstore.def b/mingw-w64-crt/lib64/wpolstore.def
index 6bc8b00..0e1e688 100644
--- a/mingw-w64-crt/lib64/wpolstore.def
+++ b/mingw-w64-crt/lib64/wpolstore.def
@@ -1,72 +1,72 @@
-; 
-; Exports of file POLSTORE.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY POLSTORE.DLL
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-IPSecAllocPolMem
-IPSecAllocPolStr
-IPSecAssignPolicy
-IPSecChooseDriverBootMode
-IPSecClearWMIStore
-IPSecClosePolicyStore
-IPSecCopyAuthMethod
-IPSecCopyFilterData
-IPSecCopyFilterSpec
-IPSecCopyISAKMPData
-IPSecCopyNFAData
-IPSecCopyNegPolData
-IPSecCopyPolicyData
-IPSecCreateFilterData
-IPSecCreateISAKMPData
-IPSecCreateNFAData
-IPSecCreateNegPolData
-IPSecCreatePolicyData
-IPSecDeleteFilterData
-IPSecDeleteISAKMPData
-IPSecDeleteNFAData
-IPSecDeleteNegPolData
-IPSecDeletePolicyData
-IPSecEnumFilterData
-IPSecEnumISAKMPData
-IPSecEnumNFAData
-IPSecEnumNegPolData
-IPSecEnumPolicyData
-IPSecExportPolicies
-IPSecFreeFilterData
-IPSecFreeFilterSpec
-IPSecFreeFilterSpecs
-IPSecFreeISAKMPData
-IPSecFreeMulFilterData
-IPSecFreeMulISAKMPData
-IPSecFreeMulNFAData
-IPSecFreeMulNegPolData
-IPSecFreeMulPolicyData
-IPSecFreeNFAData
-IPSecFreeNegPolData
-IPSecFreePolMem
-IPSecFreePolStr
-IPSecFreePolicyData
-IPSecGetAssignedDomainPolicyName
-IPSecGetAssignedPolicyData
-IPSecGetFilterData
-IPSecGetISAKMPData
-IPSecGetNegPolData
-IPSecImportPolicies
-IPSecIsDomainPolicyAssigned
-IPSecIsLocalPolicyAssigned
-IPSecOpenPolicyStore
-IPSecReallocatePolMem
-IPSecReallocatePolStr
-IPSecRestoreDefaultPolicies
-IPSecSetFilterData
-IPSecSetISAKMPData
-IPSecSetNFAData
-IPSecSetNegPolData
-IPSecSetPolicyData
-IPSecUnassignPolicy
-WriteDirectoryPolicyToWMI
+; 
+; Exports of file POLSTORE.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY POLSTORE.DLL
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+IPSecAllocPolMem
+IPSecAllocPolStr
+IPSecAssignPolicy
+IPSecChooseDriverBootMode
+IPSecClearWMIStore
+IPSecClosePolicyStore
+IPSecCopyAuthMethod
+IPSecCopyFilterData
+IPSecCopyFilterSpec
+IPSecCopyISAKMPData
+IPSecCopyNFAData
+IPSecCopyNegPolData
+IPSecCopyPolicyData
+IPSecCreateFilterData
+IPSecCreateISAKMPData
+IPSecCreateNFAData
+IPSecCreateNegPolData
+IPSecCreatePolicyData
+IPSecDeleteFilterData
+IPSecDeleteISAKMPData
+IPSecDeleteNFAData
+IPSecDeleteNegPolData
+IPSecDeletePolicyData
+IPSecEnumFilterData
+IPSecEnumISAKMPData
+IPSecEnumNFAData
+IPSecEnumNegPolData
+IPSecEnumPolicyData
+IPSecExportPolicies
+IPSecFreeFilterData
+IPSecFreeFilterSpec
+IPSecFreeFilterSpecs
+IPSecFreeISAKMPData
+IPSecFreeMulFilterData
+IPSecFreeMulISAKMPData
+IPSecFreeMulNFAData
+IPSecFreeMulNegPolData
+IPSecFreeMulPolicyData
+IPSecFreeNFAData
+IPSecFreeNegPolData
+IPSecFreePolMem
+IPSecFreePolStr
+IPSecFreePolicyData
+IPSecGetAssignedDomainPolicyName
+IPSecGetAssignedPolicyData
+IPSecGetFilterData
+IPSecGetISAKMPData
+IPSecGetNegPolData
+IPSecImportPolicies
+IPSecIsDomainPolicyAssigned
+IPSecIsLocalPolicyAssigned
+IPSecOpenPolicyStore
+IPSecReallocatePolMem
+IPSecReallocatePolStr
+IPSecRestoreDefaultPolicies
+IPSecSetFilterData
+IPSecSetISAKMPData
+IPSecSetNFAData
+IPSecSetNegPolData
+IPSecSetPolicyData
+IPSecUnassignPolicy
+WriteDirectoryPolicyToWMI
diff --git a/mingw-w64-crt/lib64/wpowrprof.def b/mingw-w64-crt/lib64/wpowrprof.def
index 4c7bc07..014c0bd 100644
--- a/mingw-w64-crt/lib64/wpowrprof.def
+++ b/mingw-w64-crt/lib64/wpowrprof.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file POWRPROF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY POWRPROF.dll
-EXPORTS
-CallNtPowerInformation
-CanUserWritePwrScheme
-DeletePwrScheme
-EnumPwrSchemes
-GetActivePwrScheme
-GetCurrentPowerPolicies
-GetPwrCapabilities
-GetPwrDiskSpindownRange
-IsAdminOverrideActive
-IsPwrHibernateAllowed
-IsPwrShutdownAllowed
-IsPwrSuspendAllowed
-LoadCurrentPwrScheme
-MergeLegacyPwrScheme
-ReadGlobalPwrPolicy
-ReadProcessorPwrScheme
-ReadPwrScheme
-SetActivePwrScheme
-SetSuspendState
-ValidatePowerPolicies
-WriteGlobalPwrPolicy
-WriteProcessorPwrScheme
-WritePwrScheme
+; 
+; Exports of file POWRPROF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY POWRPROF.dll
+EXPORTS
+CallNtPowerInformation
+CanUserWritePwrScheme
+DeletePwrScheme
+EnumPwrSchemes
+GetActivePwrScheme
+GetCurrentPowerPolicies
+GetPwrCapabilities
+GetPwrDiskSpindownRange
+IsAdminOverrideActive
+IsPwrHibernateAllowed
+IsPwrShutdownAllowed
+IsPwrSuspendAllowed
+LoadCurrentPwrScheme
+MergeLegacyPwrScheme
+ReadGlobalPwrPolicy
+ReadProcessorPwrScheme
+ReadPwrScheme
+SetActivePwrScheme
+SetSuspendState
+ValidatePowerPolicies
+WriteGlobalPwrPolicy
+WriteProcessorPwrScheme
+WritePwrScheme
diff --git a/mingw-w64-crt/lib64/wprintui.def b/mingw-w64-crt/lib64/wprintui.def
index 8228492..1dce008 100644
--- a/mingw-w64-crt/lib64/wprintui.def
+++ b/mingw-w64-crt/lib64/wprintui.def
@@ -1,33 +1,33 @@
-; 
-; Exports of file PRINTUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PRINTUI.dll
-EXPORTS
-ConstructPrinterFriendlyName
-DocumentPropertiesWrap
-PnPInterface
-PrintUIEntryW
-PrinterPropPageProvider
-ConnectToPrinterDlg
-ConnectToPrinterPropertyPage
-DllCanUnloadNow
-DllGetClassObject
-DllMain
-GetLegacyPrintUI
-PrintNotifyTray_Exit
-PrintNotifyTray_Init
-RegisterPrintNotify
-ShowErrorMessageHR
-ShowErrorMessageSC
-UnregisterPrintNotify
-bFolderEnumPrinters
-bFolderGetPrinter
-bFolderRefresh
-bPrinterSetup
-vDocumentDefaults
-vPrinterPropPages
-vQueueCreate
-vServerPropPages
+; 
+; Exports of file PRINTUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PRINTUI.dll
+EXPORTS
+ConstructPrinterFriendlyName
+DocumentPropertiesWrap
+PnPInterface
+PrintUIEntryW
+PrinterPropPageProvider
+ConnectToPrinterDlg
+ConnectToPrinterPropertyPage
+DllCanUnloadNow
+DllGetClassObject
+DllMain
+GetLegacyPrintUI
+PrintNotifyTray_Exit
+PrintNotifyTray_Init
+RegisterPrintNotify
+ShowErrorMessageHR
+ShowErrorMessageSC
+UnregisterPrintNotify
+bFolderEnumPrinters
+bFolderGetPrinter
+bFolderRefresh
+bPrinterSetup
+vDocumentDefaults
+vPrinterPropPages
+vQueueCreate
+vServerPropPages
diff --git a/mingw-w64-crt/lib64/wprofmap.def b/mingw-w64-crt/lib64/wprofmap.def
index 0edf458..5f5d9de 100644
--- a/mingw-w64-crt/lib64/wprofmap.def
+++ b/mingw-w64-crt/lib64/wprofmap.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file PROFMAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PROFMAP.dll
-EXPORTS
-DllMain
-InitializeProfileMappingApi
-RemapAndMoveUserA
-RemapAndMoveUserW
-RemapUserProfileA
-RemapUserProfileW
+; 
+; Exports of file PROFMAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PROFMAP.dll
+EXPORTS
+DllMain
+InitializeProfileMappingApi
+RemapAndMoveUserA
+RemapAndMoveUserW
+RemapUserProfileA
+RemapUserProfileW
diff --git a/mingw-w64-crt/lib64/wprovthrd.def b/mingw-w64-crt/lib64/wprovthrd.def
index 05c42eb..e674822 100644
--- a/mingw-w64-crt/lib64/wprovthrd.def
+++ b/mingw-w64-crt/lib64/wprovthrd.def
@@ -1,1942 +1,1942 @@
-; 
-; Exports of file PROVTHRD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PROVTHRD.dll
-EXPORTS
-; PAGPAG::?$CompareElements(YGHPBQAG0@Z)
-??$CompareElements@PAGPAG@@YGHPBQAG0@Z
-; PAG::?$HashKey(YGIPAG@Z)
-??$HashKey@PAG@@YGIPAG@Z
-; public: __thiscall CBString::CBString(int)
-??0CBString@@QAE@H@Z
-; public: __thiscall CBString::CBString(unsigned short *)
-??0CBString@@QAE@PAG@Z
-; public: __thiscall CBString::CBString(void)
-??0CBString@@QAE@XZ
-; public: __thiscall Conjunctions::Conjunctions(unsigned long)
-??0Conjunctions@@QAE@K@Z
-; public: __thiscall Disjunctions::Disjunctions(unsigned long,unsigned long)
-??0Disjunctions@@QAE@KK@Z
-; public: __thiscall PartitionSet::PartitionSet(class PartitionSet const &)
-??0PartitionSet@@QAE@ABV0@@Z
-; public: __thiscall PartitionSet::PartitionSet(void)
-??0PartitionSet@@QAE@XZ
-; public: __thiscall ProvAnalyser::ProvAnalyser(class ProvAnalyser const &)
-??0ProvAnalyser@@QAE@ABV0@@Z
-; public: __thiscall ProvAnalyser::ProvAnalyser(unsigned short const *)
-??0ProvAnalyser@@QAE@PBG@Z
-; public: __thiscall ProvBitStringType::ProvBitStringType(class ProvBitStringType const &)
-??0ProvBitStringType@@QAE@ABV0@@Z
-; public: __thiscall ProvBitStringType::ProvBitStringType(unsigned short const *)
-??0ProvBitStringType@@QAE@PBG@Z
-; public: __thiscall ProvBitStringType::ProvBitStringType(unsigned short const *,class ProvOctetString const &)
-??0ProvBitStringType@@QAE@PBGABVProvOctetString@@@Z
-; public: __thiscall ProvBitStringType::ProvBitStringType(unsigned short const *,unsigned short const * *,unsigned long const &)
-??0ProvBitStringType@@QAE@PBGPAPBGABK@Z
-; public: __thiscall ProvCounter64::ProvCounter64(class ProvCounter64 const &)
-??0ProvCounter64@@QAE@ABV0@@Z
-; public: __thiscall ProvCounter64::ProvCounter64(unsigned long,unsigned long)
-??0ProvCounter64@@QAE@KK@Z
-; public: __thiscall ProvCounter64Type::ProvCounter64Type(class ProvCounter64Type const &)
-??0ProvCounter64Type@@QAE@ABV0@@Z
-; public: __thiscall ProvCounter64Type::ProvCounter64Type(class ProvCounter64 const &)
-??0ProvCounter64Type@@QAE@ABVProvCounter64@@@Z
-; public: __thiscall ProvCounter64Type::ProvCounter64Type(unsigned long,unsigned long)
-??0ProvCounter64Type@@QAE@KK@Z
-; public: __thiscall ProvCounter64Type::ProvCounter64Type(unsigned short const *)
-??0ProvCounter64Type@@QAE@PBG@Z
-; public: __thiscall ProvCounter64Type::ProvCounter64Type(void)
-??0ProvCounter64Type@@QAE@XZ
-; public: __thiscall ProvCounter::ProvCounter(class ProvCounter const &)
-??0ProvCounter@@QAE@ABV0@@Z
-; public: __thiscall ProvCounter::ProvCounter(unsigned long)
-??0ProvCounter@@QAE@K@Z
-; public: __thiscall ProvCounterType::ProvCounterType(class ProvCounterType const &)
-??0ProvCounterType@@QAE@ABV0@@Z
-; public: __thiscall ProvCounterType::ProvCounterType(class ProvCounter const &)
-??0ProvCounterType@@QAE@ABVProvCounter@@@Z
-; public: __thiscall ProvCounterType::ProvCounterType(unsigned long)
-??0ProvCounterType@@QAE@K@Z
-; public: __thiscall ProvCounterType::ProvCounterType(unsigned short const *)
-??0ProvCounterType@@QAE@PBG@Z
-; public: __thiscall ProvCounterType::ProvCounterType(void)
-??0ProvCounterType@@QAE@XZ
-; public: __thiscall ProvDateTimeType::ProvDateTimeType(class ProvDateTimeType const &)
-??0ProvDateTimeType@@QAE@ABV0@@Z
-; public: __thiscall ProvDateTimeType::ProvDateTimeType(class ProvOctetString const &)
-??0ProvDateTimeType@@QAE@ABVProvOctetString@@@Z
-; public: __thiscall ProvDateTimeType::ProvDateTimeType(unsigned short const *)
-??0ProvDateTimeType@@QAE@PBG@Z
-; public: __thiscall ProvDateTimeType::ProvDateTimeType(void)
-??0ProvDateTimeType@@QAE@XZ
-; public: __thiscall ProvDebugLog::ProvDebugLog(char)
-??0ProvDebugLog@@QAE@D@Z
-; public: __thiscall ProvDisplayStringType::ProvDisplayStringType(class ProvDisplayStringType const &)
-??0ProvDisplayStringType@@QAE@ABV0@@Z
-; public: __thiscall ProvDisplayStringType::ProvDisplayStringType(class ProvOctetString const &,unsigned short const *)
-??0ProvDisplayStringType@@QAE@ABVProvOctetString@@PBG@Z
-; public: __thiscall ProvDisplayStringType::ProvDisplayStringType(unsigned short const *,unsigned short const *)
-??0ProvDisplayStringType@@QAE@PBG0@Z
-; public: __thiscall ProvDisplayStringType::ProvDisplayStringType(unsigned short const *)
-??0ProvDisplayStringType@@QAE@PBG@Z
-; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(class ProvEnumeratedType const &)
-??0ProvEnumeratedType@@QAE@ABV0@@Z
-; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(unsigned short const *,unsigned short const *)
-??0ProvEnumeratedType@@QAE@PBG0@Z
-; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(unsigned short const *)
-??0ProvEnumeratedType@@QAE@PBG@Z
-; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(unsigned short const *,long const &)
-??0ProvEnumeratedType@@QAE@PBGABJ@Z
-; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(unsigned short const *,class ProvInteger const &)
-??0ProvEnumeratedType@@QAE@PBGABVProvInteger@@@Z
-; public: __thiscall ProvEventObject::ProvEventObject(class ProvEventObject const &)
-??0ProvEventObject@@QAE@ABV0@@Z
-; public: __thiscall ProvEventObject::ProvEventObject(unsigned short const *)
-??0ProvEventObject@@QAE@PBG@Z
-; public: __thiscall ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const &)
-??0ProvFixedLengthDisplayStringType@@QAE@ABK@Z
-; public: __thiscall ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const &,class ProvOctetString const &)
-??0ProvFixedLengthDisplayStringType@@QAE@ABKABVProvOctetString@@@Z
-; public: __thiscall ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const &,unsigned short const *)
-??0ProvFixedLengthDisplayStringType@@QAE@ABKPBG@Z
-; public: __thiscall ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(class ProvFixedLengthDisplayStringType const &)
-??0ProvFixedLengthDisplayStringType@@QAE@ABV0@@Z
-; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const &)
-??0ProvFixedLengthOctetStringType@@QAE@ABK@Z
-; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const &,class ProvOctetString const &)
-??0ProvFixedLengthOctetStringType@@QAE@ABKABVProvOctetString@@@Z
-; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const &,unsigned char const *)
-??0ProvFixedLengthOctetStringType@@QAE@ABKPBE@Z
-; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const &,unsigned short const *)
-??0ProvFixedLengthOctetStringType@@QAE@ABKPBG@Z
-; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(class ProvFixedLengthOctetStringType const &)
-??0ProvFixedLengthOctetStringType@@QAE@ABV0@@Z
-; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const &)
-??0ProvFixedLengthOpaqueType@@QAE@ABK@Z
-; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const &,class ProvOpaque const &)
-??0ProvFixedLengthOpaqueType@@QAE@ABKABVProvOpaque@@@Z
-; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const &,unsigned char const *,unsigned long)
-??0ProvFixedLengthOpaqueType@@QAE@ABKPBEK@Z
-; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const &,unsigned short const *)
-??0ProvFixedLengthOpaqueType@@QAE@ABKPBG@Z
-; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(class ProvFixedLengthOpaqueType const &)
-??0ProvFixedLengthOpaqueType@@QAE@ABV0@@Z
-; public: __thiscall ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const &)
-??0ProvFixedLengthPhysAddressType@@QAE@ABK@Z
-; public: __thiscall ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const &,class ProvOctetString const &)
-??0ProvFixedLengthPhysAddressType@@QAE@ABKABVProvOctetString@@@Z
-; public: __thiscall ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const &,unsigned short const *)
-??0ProvFixedLengthPhysAddressType@@QAE@ABKPBG@Z
-; public: __thiscall ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(class ProvFixedLengthPhysAddressType const &)
-??0ProvFixedLengthPhysAddressType@@QAE@ABV0@@Z
-; public: __thiscall ProvFixedType::ProvFixedType(class ProvFixedType const &)
-??0ProvFixedType@@QAE@ABV0@@Z
-; public: __thiscall ProvFixedType::ProvFixedType(unsigned long)
-??0ProvFixedType@@QAE@K@Z
-; public: __thiscall ProvGauge::ProvGauge(class ProvGauge const &)
-??0ProvGauge@@QAE@ABV0@@Z
-; public: __thiscall ProvGauge::ProvGauge(long)
-??0ProvGauge@@QAE@J@Z
-; public: __thiscall ProvGaugeType::ProvGaugeType(class ProvGaugeType const &)
-??0ProvGaugeType@@QAE@ABV0@@Z
-; public: __thiscall ProvGaugeType::ProvGaugeType(class ProvGauge const &,unsigned short const *)
-??0ProvGaugeType@@QAE@ABVProvGauge@@PBG@Z
-; public: __thiscall ProvGaugeType::ProvGaugeType(unsigned long,unsigned short const *)
-??0ProvGaugeType@@QAE@KPBG@Z
-; public: __thiscall ProvGaugeType::ProvGaugeType(unsigned short const *,unsigned short const *)
-??0ProvGaugeType@@QAE@PBG0@Z
-; public: __thiscall ProvGaugeType::ProvGaugeType(unsigned short const *)
-??0ProvGaugeType@@QAE@PBG@Z
-; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(class ProvIPXAddressType const &)
-??0ProvIPXAddressType@@QAE@ABV0@@Z
-; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(class ProvOctetString const &)
-??0ProvIPXAddressType@@QAE@ABVProvOctetString@@@Z
-; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(unsigned char const *)
-??0ProvIPXAddressType@@QAE@PBE@Z
-; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(unsigned short const *)
-??0ProvIPXAddressType@@QAE@PBG@Z
-; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(void)
-??0ProvIPXAddressType@@QAE@XZ
-; protected: __thiscall ProvInstanceType::ProvInstanceType(class ProvInstanceType const &)
-??0ProvInstanceType@@IAE@ABV0@@Z
-; protected: __thiscall ProvInstanceType::ProvInstanceType(int,int)
-??0ProvInstanceType@@IAE@HH@Z
-; public: __thiscall ProvInteger::ProvInteger(class ProvInteger const &)
-??0ProvInteger@@QAE@ABV0@@Z
-; public: __thiscall ProvInteger::ProvInteger(long)
-??0ProvInteger@@QAE@J@Z
-; public: __thiscall ProvIntegerType::ProvIntegerType(class ProvIntegerType const &)
-??0ProvIntegerType@@QAE@ABV0@@Z
-; public: __thiscall ProvIntegerType::ProvIntegerType(class ProvInteger const &,unsigned short const *)
-??0ProvIntegerType@@QAE@ABVProvInteger@@PBG@Z
-; public: __thiscall ProvIntegerType::ProvIntegerType(long,unsigned short const *)
-??0ProvIntegerType@@QAE@JPBG@Z
-; public: __thiscall ProvIntegerType::ProvIntegerType(unsigned short const *,unsigned short const *)
-??0ProvIntegerType@@QAE@PBG0@Z
-; public: __thiscall ProvIntegerType::ProvIntegerType(unsigned short const *)
-??0ProvIntegerType@@QAE@PBG@Z
-; public: __thiscall ProvIpAddress::ProvIpAddress(class ProvIpAddress const &)
-??0ProvIpAddress@@QAE@ABV0@@Z
-; public: __thiscall ProvIpAddress::ProvIpAddress(unsigned long)
-??0ProvIpAddress@@QAE@K@Z
-; public: __thiscall ProvIpAddress::ProvIpAddress(char const *)
-??0ProvIpAddress@@QAE@PBD@Z
-; public: __thiscall ProvIpAddressType::ProvIpAddressType(class ProvIpAddressType const &)
-??0ProvIpAddressType@@QAE@ABV0@@Z
-; public: __thiscall ProvIpAddressType::ProvIpAddressType(class ProvIpAddress const &)
-??0ProvIpAddressType@@QAE@ABVProvIpAddress@@@Z
-; public: __thiscall ProvIpAddressType::ProvIpAddressType(unsigned long)
-??0ProvIpAddressType@@QAE@K@Z
-; public: __thiscall ProvIpAddressType::ProvIpAddressType(unsigned short const *)
-??0ProvIpAddressType@@QAE@PBG@Z
-; public: __thiscall ProvIpAddressType::ProvIpAddressType(void)
-??0ProvIpAddressType@@QAE@XZ
-; public: __thiscall ProvLexicon::ProvLexicon(void)
-??0ProvLexicon@@QAE@XZ
-; public: __thiscall ProvMacAddressType::ProvMacAddressType(class ProvMacAddressType const &)
-??0ProvMacAddressType@@QAE@ABV0@@Z
-; public: __thiscall ProvMacAddressType::ProvMacAddressType(class ProvOctetString const &)
-??0ProvMacAddressType@@QAE@ABVProvOctetString@@@Z
-; public: __thiscall ProvMacAddressType::ProvMacAddressType(unsigned char const *)
-??0ProvMacAddressType@@QAE@PBE@Z
-; public: __thiscall ProvMacAddressType::ProvMacAddressType(unsigned short const *)
-??0ProvMacAddressType@@QAE@PBG@Z
-; public: __thiscall ProvMacAddressType::ProvMacAddressType(void)
-??0ProvMacAddressType@@QAE@XZ
-; public: __thiscall ProvNegativeRangeType::ProvNegativeRangeType(class ProvNegativeRangeType const &)
-??0ProvNegativeRangeType@@QAE@ABV0@@Z
-; public: __thiscall ProvNegativeRangeType::ProvNegativeRangeType(long,long)
-??0ProvNegativeRangeType@@QAE@JJ@Z
-; public: __thiscall ProvNegativeRangeType::ProvNegativeRangeType(void)
-??0ProvNegativeRangeType@@QAE@XZ
-; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(class ProvNetworkAddressType const &)
-??0ProvNetworkAddressType@@QAE@ABV0@@Z
-; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(class ProvIpAddress const &)
-??0ProvNetworkAddressType@@QAE@ABVProvIpAddress@@@Z
-; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(unsigned long)
-??0ProvNetworkAddressType@@QAE@K@Z
-; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(unsigned short const *)
-??0ProvNetworkAddressType@@QAE@PBG@Z
-; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(void)
-??0ProvNetworkAddressType@@QAE@XZ
-; public: __thiscall ProvNull::ProvNull(void)
-??0ProvNull@@QAE@XZ
-; public: __thiscall ProvNullType::ProvNullType(class ProvNullType const &)
-??0ProvNullType@@QAE@ABV0@@Z
-; public: __thiscall ProvNullType::ProvNullType(class ProvNull const &)
-??0ProvNullType@@QAE@ABVProvNull@@@Z
-; public: __thiscall ProvNullType::ProvNullType(void)
-??0ProvNullType@@QAE@XZ
-; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(class ProvOSIAddressType const &)
-??0ProvOSIAddressType@@QAE@ABV0@@Z
-; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(class ProvOctetString const &)
-??0ProvOSIAddressType@@QAE@ABVProvOctetString@@@Z
-; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(unsigned char const *,unsigned long)
-??0ProvOSIAddressType@@QAE@PBEK@Z
-; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(unsigned short const *)
-??0ProvOSIAddressType@@QAE@PBG@Z
-; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(void)
-??0ProvOSIAddressType@@QAE@XZ
-; public: __thiscall ProvObjectIdentifier::ProvObjectIdentifier(class ProvObjectIdentifier const &)
-??0ProvObjectIdentifier@@QAE@ABV0@@Z
-; public: __thiscall ProvObjectIdentifier::ProvObjectIdentifier(char const *)
-??0ProvObjectIdentifier@@QAE@PBD@Z
-; public: __thiscall ProvObjectIdentifier::ProvObjectIdentifier(unsigned long const *,unsigned long)
-??0ProvObjectIdentifier@@QAE@PBKK@Z
-; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(class ProvObjectIdentifierType const &)
-??0ProvObjectIdentifierType@@QAE@ABV0@@Z
-; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(class ProvObjectIdentifier const &)
-??0ProvObjectIdentifierType@@QAE@ABVProvObjectIdentifier@@@Z
-; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(unsigned short const *)
-??0ProvObjectIdentifierType@@QAE@PBG@Z
-; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(unsigned long const *,unsigned long)
-??0ProvObjectIdentifierType@@QAE@PBKK@Z
-; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(void)
-??0ProvObjectIdentifierType@@QAE@XZ
-; public: __thiscall ProvOctetString::ProvOctetString(class ProvOctetString const &)
-??0ProvOctetString@@QAE@ABV0@@Z
-; public: __thiscall ProvOctetString::ProvOctetString(unsigned char const *,unsigned long)
-??0ProvOctetString@@QAE@PBEK@Z
-; public: __thiscall ProvOctetStringType::ProvOctetStringType(class ProvOctetStringType const &)
-??0ProvOctetStringType@@QAE@ABV0@@Z
-; public: __thiscall ProvOctetStringType::ProvOctetStringType(class ProvOctetString const &,unsigned short const *)
-??0ProvOctetStringType@@QAE@ABVProvOctetString@@PBG@Z
-; public: __thiscall ProvOctetStringType::ProvOctetStringType(unsigned char const *,unsigned long,unsigned short const *)
-??0ProvOctetStringType@@QAE@PBEKPBG@Z
-; public: __thiscall ProvOctetStringType::ProvOctetStringType(unsigned short const *,unsigned short const *)
-??0ProvOctetStringType@@QAE@PBG0@Z
-; public: __thiscall ProvOctetStringType::ProvOctetStringType(unsigned short const *)
-??0ProvOctetStringType@@QAE@PBG@Z
-; public: __thiscall ProvOpaque::ProvOpaque(class ProvOpaque const &)
-??0ProvOpaque@@QAE@ABV0@@Z
-; public: __thiscall ProvOpaque::ProvOpaque(unsigned char const *,unsigned long)
-??0ProvOpaque@@QAE@PBEK@Z
-; public: __thiscall ProvOpaqueType::ProvOpaqueType(class ProvOpaqueType const &)
-??0ProvOpaqueType@@QAE@ABV0@@Z
-; public: __thiscall ProvOpaqueType::ProvOpaqueType(class ProvOpaque const &,unsigned short const *)
-??0ProvOpaqueType@@QAE@ABVProvOpaque@@PBG@Z
-; public: __thiscall ProvOpaqueType::ProvOpaqueType(unsigned char const *,unsigned long,unsigned short const *)
-??0ProvOpaqueType@@QAE@PBEKPBG@Z
-; public: __thiscall ProvOpaqueType::ProvOpaqueType(unsigned short const *,unsigned short const *)
-??0ProvOpaqueType@@QAE@PBG0@Z
-; public: __thiscall ProvOpaqueType::ProvOpaqueType(unsigned short const *)
-??0ProvOpaqueType@@QAE@PBG@Z
-; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(class ProvPhysAddressType const &)
-??0ProvPhysAddressType@@QAE@ABV0@@Z
-; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(class ProvOctetString const &,unsigned short const *)
-??0ProvPhysAddressType@@QAE@ABVProvOctetString@@PBG@Z
-; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(unsigned char const *,unsigned long,unsigned short const *)
-??0ProvPhysAddressType@@QAE@PBEKPBG@Z
-; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(unsigned short const *,unsigned short const *)
-??0ProvPhysAddressType@@QAE@PBG0@Z
-; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(unsigned short const *)
-??0ProvPhysAddressType@@QAE@PBG@Z
-; public: __thiscall ProvPositiveRangeType::ProvPositiveRangeType(class ProvPositiveRangeType const &)
-??0ProvPositiveRangeType@@QAE@ABV0@@Z
-; public: __thiscall ProvPositiveRangeType::ProvPositiveRangeType(unsigned long,long)
-??0ProvPositiveRangeType@@QAE@KJ@Z
-; public: __thiscall ProvPositiveRangeType::ProvPositiveRangeType(void)
-??0ProvPositiveRangeType@@QAE@XZ
-; public: __thiscall ProvPositiveRangedType::ProvPositiveRangedType(class ProvPositiveRangedType const &)
-??0ProvPositiveRangedType@@QAE@ABV0@@Z
-; public: __thiscall ProvPositiveRangedType::ProvPositiveRangedType(unsigned short const *)
-??0ProvPositiveRangedType@@QAE@PBG@Z
-; public: __thiscall ProvRowStatusType::ProvRowStatusType(long const &)
-??0ProvRowStatusType@@QAE@ABJ@Z
-; public: __thiscall ProvRowStatusType::ProvRowStatusType(class ProvRowStatusType const &)
-??0ProvRowStatusType@@QAE@ABV0@@Z
-; public: __thiscall ProvRowStatusType::ProvRowStatusType(class ProvInteger const &)
-??0ProvRowStatusType@@QAE@ABVProvInteger@@@Z
-; public: __thiscall ProvRowStatusType::ProvRowStatusType(enum ProvRowStatusType::ProvRowStatusEnum const &)
-??0ProvRowStatusType@@QAE@ABW4ProvRowStatusEnum@0@@Z
-; public: __thiscall ProvRowStatusType::ProvRowStatusType(unsigned short const *)
-??0ProvRowStatusType@@QAE@PBG@Z
-; public: __thiscall ProvRowStatusType::ProvRowStatusType(void)
-??0ProvRowStatusType@@QAE@XZ
-; public: __thiscall ProvTimeTicks::ProvTimeTicks(class ProvTimeTicks const &)
-??0ProvTimeTicks@@QAE@ABV0@@Z
-; public: __thiscall ProvTimeTicks::ProvTimeTicks(unsigned long)
-??0ProvTimeTicks@@QAE@K@Z
-; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(class ProvTimeTicksType const &)
-??0ProvTimeTicksType@@QAE@ABV0@@Z
-; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(class ProvTimeTicks const &)
-??0ProvTimeTicksType@@QAE@ABVProvTimeTicks@@@Z
-; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(unsigned long)
-??0ProvTimeTicksType@@QAE@K@Z
-; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(unsigned short const *)
-??0ProvTimeTicksType@@QAE@PBG@Z
-; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(void)
-??0ProvTimeTicksType@@QAE@XZ
-; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(class ProvUDPAddressType const &)
-??0ProvUDPAddressType@@QAE@ABV0@@Z
-; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(class ProvOctetString const &)
-??0ProvUDPAddressType@@QAE@ABVProvOctetString@@@Z
-; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(unsigned char const *)
-??0ProvUDPAddressType@@QAE@PBE@Z
-; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(unsigned short const *)
-??0ProvUDPAddressType@@QAE@PBG@Z
-; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(void)
-??0ProvUDPAddressType@@QAE@XZ
-; public: __thiscall ProvUInteger32::ProvUInteger32(class ProvUInteger32 const &)
-??0ProvUInteger32@@QAE@ABV0@@Z
-; public: __thiscall ProvUInteger32::ProvUInteger32(long)
-??0ProvUInteger32@@QAE@J@Z
-; private: __thiscall ProvValue::ProvValue(class ProvValue const &)
-??0ProvValue@@AAE@ABV0@@Z
-; protected: __thiscall ProvValue::ProvValue(void)
-??0ProvValue@@IAE@XZ
-; public: __thiscall QueryPreprocessor::QueryPreprocessor(class QueryPreprocessor const &)
-??0QueryPreprocessor@@QAE@ABV0@@Z
-; public: __thiscall QueryPreprocessor::QueryPreprocessor(void)
-??0QueryPreprocessor@@QAE@XZ
-; public: __thiscall WmiAndNode::WmiAndNode(class WmiAndNode const &)
-??0WmiAndNode@@QAE@ABV0@@Z
-; public: __thiscall WmiAndNode::WmiAndNode(class WmiTreeNode *,class WmiTreeNode *,class WmiTreeNode *)
-??0WmiAndNode@@QAE@PAVWmiTreeNode@@00@Z
-; public: __thiscall WmiNotNode::WmiNotNode(class WmiNotNode const &)
-??0WmiNotNode@@QAE@ABV0@@Z
-; public: __thiscall WmiNotNode::WmiNotNode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiNotNode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiNullNode::WmiNullNode(class WmiNullNode const &)
-??0WmiNullNode@@QAE@ABV0@@Z
-; public: __thiscall WmiNullNode::WmiNullNode(unsigned short *,unsigned long,class WmiTreeNode *)
-??0WmiNullNode@@QAE@PAGKPAVWmiTreeNode@@@Z
-; public: __thiscall WmiNullRangeNode::WmiNullRangeNode(class WmiNullRangeNode const &)
-??0WmiNullRangeNode@@QAE@ABV0@@Z
-; public: __thiscall WmiNullRangeNode::WmiNullRangeNode(unsigned short *,unsigned long,class WmiTreeNode *,class WmiTreeNode *)
-??0WmiNullRangeNode@@QAE@PAGKPAVWmiTreeNode@@1@Z
-; public: __thiscall WmiOperatorEqualNode::WmiOperatorEqualNode(class WmiOperatorEqualNode const &)
-??0WmiOperatorEqualNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorEqualNode::WmiOperatorEqualNode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorEqualNode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorEqualOrGreaterNode::WmiOperatorEqualOrGreaterNode(class WmiOperatorEqualOrGreaterNode const &)
-??0WmiOperatorEqualOrGreaterNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorEqualOrGreaterNode::WmiOperatorEqualOrGreaterNode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorEqualOrGreaterNode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorEqualOrLessNode::WmiOperatorEqualOrLessNode(class WmiOperatorEqualOrLessNode const &)
-??0WmiOperatorEqualOrLessNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorEqualOrLessNode::WmiOperatorEqualOrLessNode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorEqualOrLessNode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorGreaterNode::WmiOperatorGreaterNode(class WmiOperatorGreaterNode const &)
-??0WmiOperatorGreaterNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorGreaterNode::WmiOperatorGreaterNode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorGreaterNode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorIsANode::WmiOperatorIsANode(class WmiOperatorIsANode const &)
-??0WmiOperatorIsANode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorIsANode::WmiOperatorIsANode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorIsANode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorLessNode::WmiOperatorLessNode(class WmiOperatorLessNode const &)
-??0WmiOperatorLessNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorLessNode::WmiOperatorLessNode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorLessNode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorLikeNode::WmiOperatorLikeNode(class WmiOperatorLikeNode const &)
-??0WmiOperatorLikeNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorLikeNode::WmiOperatorLikeNode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorLikeNode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorNode::WmiOperatorNode(class WmiOperatorNode const &)
-??0WmiOperatorNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorNode::WmiOperatorNode(unsigned long,class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorNode@@QAE@KPAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorNotEqualNode::WmiOperatorNotEqualNode(class WmiOperatorNotEqualNode const &)
-??0WmiOperatorNotEqualNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorNotEqualNode::WmiOperatorNotEqualNode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorNotEqualNode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorNotIsANode::WmiOperatorNotIsANode(class WmiOperatorNotIsANode const &)
-??0WmiOperatorNotIsANode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorNotIsANode::WmiOperatorNotIsANode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorNotIsANode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOperatorNotLikeNode::WmiOperatorNotLikeNode(class WmiOperatorNotLikeNode const &)
-??0WmiOperatorNotLikeNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOperatorNotLikeNode::WmiOperatorNotLikeNode(class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOperatorNotLikeNode@@QAE@PAVWmiTreeNode@@0@Z
-; public: __thiscall WmiOrNode::WmiOrNode(class WmiOrNode const &)
-??0WmiOrNode@@QAE@ABV0@@Z
-; public: __thiscall WmiOrNode::WmiOrNode(class WmiTreeNode *,class WmiTreeNode *,class WmiTreeNode *)
-??0WmiOrNode@@QAE@PAVWmiTreeNode@@00@Z
-; public: __thiscall WmiRangeNode::WmiRangeNode(class WmiRangeNode const &)
-??0WmiRangeNode@@QAE@ABV0@@Z
-; public: __thiscall WmiRangeNode::WmiRangeNode(unsigned long,unsigned short *,unsigned long,int,int,int,int,class WmiTreeNode *,class WmiTreeNode *)
-??0WmiRangeNode@@QAE@KPAGKHHHHPAVWmiTreeNode@@1@Z
-; public: __thiscall WmiSignedIntegerNode::WmiSignedIntegerNode(class WmiSignedIntegerNode const &)
-??0WmiSignedIntegerNode@@QAE@ABV0@@Z
-; public: __thiscall WmiSignedIntegerNode::WmiSignedIntegerNode(unsigned short *,long,unsigned long,class WmiTreeNode *)
-??0WmiSignedIntegerNode@@QAE@PAGJKPAVWmiTreeNode@@@Z
-; public: __thiscall WmiSignedIntegerRangeNode::WmiSignedIntegerRangeNode(class WmiSignedIntegerRangeNode const &)
-??0WmiSignedIntegerRangeNode@@QAE@ABV0@@Z
-; public: __thiscall WmiSignedIntegerRangeNode::WmiSignedIntegerRangeNode(unsigned short *,unsigned long,int,int,int,int,long,long,class WmiTreeNode *,class WmiTreeNode *)
-??0WmiSignedIntegerRangeNode@@QAE@PAGKHHHHJJPAVWmiTreeNode@@1@Z
-; public: __thiscall WmiStringNode::WmiStringNode(class WmiStringNode const &)
-??0WmiStringNode@@QAE@ABV0@@Z
-; public: __thiscall WmiStringNode::WmiStringNode(unsigned short *,unsigned short *,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,unsigned long,class WmiTreeNode *)
-??0WmiStringNode@@QAE@PAG0W4WmiValueFunction@WmiValueNode@@1KPAVWmiTreeNode@@@Z
-; public: __thiscall WmiStringRangeNode::WmiStringRangeNode(class WmiStringRangeNode const &)
-??0WmiStringRangeNode@@QAE@ABV0@@Z
-; public: __thiscall WmiStringRangeNode::WmiStringRangeNode(unsigned short *,unsigned long,int,int,int,int,unsigned short *,unsigned short *,class WmiTreeNode *,class WmiTreeNode *)
-??0WmiStringRangeNode@@QAE@PAGKHHHH00PAVWmiTreeNode@@1@Z
-; public: __thiscall WmiTreeNode::WmiTreeNode(class WmiTreeNode const &)
-??0WmiTreeNode@@QAE@ABV0@@Z
-; public: __thiscall WmiTreeNode::WmiTreeNode(unsigned long,void *,class WmiTreeNode *,class WmiTreeNode *,class WmiTreeNode *)
-??0WmiTreeNode@@QAE@KPAXPAV0@11@Z
-; public: __thiscall WmiTreeNode::WmiTreeNode(class WmiTreeNode *)
-??0WmiTreeNode@@QAE@PAV0@@Z
-; public: __thiscall WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNodeIterator const &)
-??0WmiTreeNodeIterator@@QAE@ABV0@@Z
-; public: __thiscall WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNodeIterator *)
-??0WmiTreeNodeIterator@@QAE@PAV0@@Z
-; public: __thiscall WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNode *)
-??0WmiTreeNodeIterator@@QAE@PAVWmiTreeNode@@@Z
-; public: __thiscall WmiUnsignedIntegerNode::WmiUnsignedIntegerNode(class WmiUnsignedIntegerNode const &)
-??0WmiUnsignedIntegerNode@@QAE@ABV0@@Z
-; public: __thiscall WmiUnsignedIntegerNode::WmiUnsignedIntegerNode(unsigned short *,unsigned long,unsigned long,class WmiTreeNode *)
-??0WmiUnsignedIntegerNode@@QAE@PAGKKPAVWmiTreeNode@@@Z
-; public: __thiscall WmiUnsignedIntegerRangeNode::WmiUnsignedIntegerRangeNode(class WmiUnsignedIntegerRangeNode const &)
-??0WmiUnsignedIntegerRangeNode@@QAE@ABV0@@Z
-; public: __thiscall WmiUnsignedIntegerRangeNode::WmiUnsignedIntegerRangeNode(unsigned short *,unsigned long,int,int,int,int,unsigned long,unsigned long,class WmiTreeNode *,class WmiTreeNode *)
-??0WmiUnsignedIntegerRangeNode@@QAE@PAGKHHHHKKPAVWmiTreeNode@@1@Z
-; public: __thiscall WmiValueNode::WmiValueNode(class WmiValueNode const &)
-??0WmiValueNode@@QAE@ABV0@@Z
-; public: __thiscall WmiValueNode::WmiValueNode(unsigned long,unsigned short *,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,unsigned long,class WmiTreeNode *)
-??0WmiValueNode@@QAE@KPAGW4WmiValueFunction@0@1KPAVWmiTreeNode@@@Z
-; public: __thiscall CBString::~CBString(void)
-??1CBString@@QAE@XZ
-; public: __thiscall Conjunctions::~Conjunctions(void)
-??1Conjunctions@@QAE@XZ
-; public: __thiscall Disjunctions::~Disjunctions(void)
-??1Disjunctions@@QAE@XZ
-; public: virtual __thiscall PartitionSet::~PartitionSet(void)
-??1PartitionSet@@UAE@XZ
-; public: virtual __thiscall ProvAnalyser::~ProvAnalyser(void)
-??1ProvAnalyser@@UAE@XZ
-; public: virtual __thiscall ProvBitStringType::~ProvBitStringType(void)
-??1ProvBitStringType@@UAE@XZ
-; public: virtual __thiscall ProvCounter64::~ProvCounter64(void)
-??1ProvCounter64@@UAE@XZ
-; public: virtual __thiscall ProvCounter64Type::~ProvCounter64Type(void)
-??1ProvCounter64Type@@UAE@XZ
-; public: virtual __thiscall ProvCounter::~ProvCounter(void)
-??1ProvCounter@@UAE@XZ
-; public: virtual __thiscall ProvCounterType::~ProvCounterType(void)
-??1ProvCounterType@@UAE@XZ
-; public: virtual __thiscall ProvDateTimeType::~ProvDateTimeType(void)
-??1ProvDateTimeType@@UAE@XZ
-; public: virtual __thiscall ProvDisplayStringType::~ProvDisplayStringType(void)
-??1ProvDisplayStringType@@UAE@XZ
-; public: virtual __thiscall ProvEnumeratedType::~ProvEnumeratedType(void)
-??1ProvEnumeratedType@@UAE@XZ
-; public: virtual __thiscall ProvEventObject::~ProvEventObject(void)
-??1ProvEventObject@@UAE@XZ
-; public: virtual __thiscall ProvFixedLengthDisplayStringType::~ProvFixedLengthDisplayStringType(void)
-??1ProvFixedLengthDisplayStringType@@UAE@XZ
-; public: virtual __thiscall ProvFixedLengthOctetStringType::~ProvFixedLengthOctetStringType(void)
-??1ProvFixedLengthOctetStringType@@UAE@XZ
-; public: virtual __thiscall ProvFixedLengthOpaqueType::~ProvFixedLengthOpaqueType(void)
-??1ProvFixedLengthOpaqueType@@UAE@XZ
-; public: virtual __thiscall ProvFixedLengthPhysAddressType::~ProvFixedLengthPhysAddressType(void)
-??1ProvFixedLengthPhysAddressType@@UAE@XZ
-; public: virtual __thiscall ProvFixedType::~ProvFixedType(void)
-??1ProvFixedType@@UAE@XZ
-; public: virtual __thiscall ProvGauge::~ProvGauge(void)
-??1ProvGauge@@UAE@XZ
-; public: virtual __thiscall ProvGaugeType::~ProvGaugeType(void)
-??1ProvGaugeType@@UAE@XZ
-; public: virtual __thiscall ProvIPXAddressType::~ProvIPXAddressType(void)
-??1ProvIPXAddressType@@UAE@XZ
-; public: virtual __thiscall ProvInstanceType::~ProvInstanceType(void)
-??1ProvInstanceType@@UAE@XZ
-; public: virtual __thiscall ProvInteger::~ProvInteger(void)
-??1ProvInteger@@UAE@XZ
-; public: virtual __thiscall ProvIntegerType::~ProvIntegerType(void)
-??1ProvIntegerType@@UAE@XZ
-; public: virtual __thiscall ProvIpAddress::~ProvIpAddress(void)
-??1ProvIpAddress@@UAE@XZ
-; public: virtual __thiscall ProvIpAddressType::~ProvIpAddressType(void)
-??1ProvIpAddressType@@UAE@XZ
-; public: __thiscall ProvLexicon::~ProvLexicon(void)
-??1ProvLexicon@@QAE@XZ
-; public: virtual __thiscall ProvMacAddressType::~ProvMacAddressType(void)
-??1ProvMacAddressType@@UAE@XZ
-; public: virtual __thiscall ProvNegativeRangeType::~ProvNegativeRangeType(void)
-??1ProvNegativeRangeType@@UAE@XZ
-; public: virtual __thiscall ProvNetworkAddressType::~ProvNetworkAddressType(void)
-??1ProvNetworkAddressType@@UAE@XZ
-; public: virtual __thiscall ProvNull::~ProvNull(void)
-??1ProvNull@@UAE@XZ
-; public: virtual __thiscall ProvNullType::~ProvNullType(void)
-??1ProvNullType@@UAE@XZ
-; public: virtual __thiscall ProvOSIAddressType::~ProvOSIAddressType(void)
-??1ProvOSIAddressType@@UAE@XZ
-; public: virtual __thiscall ProvObjectIdentifier::~ProvObjectIdentifier(void)
-??1ProvObjectIdentifier@@UAE@XZ
-; public: virtual __thiscall ProvObjectIdentifierType::~ProvObjectIdentifierType(void)
-??1ProvObjectIdentifierType@@UAE@XZ
-; public: virtual __thiscall ProvOctetString::~ProvOctetString(void)
-??1ProvOctetString@@UAE@XZ
-; public: virtual __thiscall ProvOctetStringType::~ProvOctetStringType(void)
-??1ProvOctetStringType@@UAE@XZ
-; public: virtual __thiscall ProvOpaque::~ProvOpaque(void)
-??1ProvOpaque@@UAE@XZ
-; public: virtual __thiscall ProvOpaqueType::~ProvOpaqueType(void)
-??1ProvOpaqueType@@UAE@XZ
-; public: virtual __thiscall ProvPhysAddressType::~ProvPhysAddressType(void)
-??1ProvPhysAddressType@@UAE@XZ
-; public: virtual __thiscall ProvPositiveRangeType::~ProvPositiveRangeType(void)
-??1ProvPositiveRangeType@@UAE@XZ
-; public: virtual __thiscall ProvPositiveRangedType::~ProvPositiveRangedType(void)
-??1ProvPositiveRangedType@@UAE@XZ
-; public: virtual __thiscall ProvRowStatusType::~ProvRowStatusType(void)
-??1ProvRowStatusType@@UAE@XZ
-; public: virtual __thiscall ProvTimeTicks::~ProvTimeTicks(void)
-??1ProvTimeTicks@@UAE@XZ
-; public: virtual __thiscall ProvTimeTicksType::~ProvTimeTicksType(void)
-??1ProvTimeTicksType@@UAE@XZ
-; public: virtual __thiscall ProvUDPAddressType::~ProvUDPAddressType(void)
-??1ProvUDPAddressType@@UAE@XZ
-; public: virtual __thiscall ProvUInteger32::~ProvUInteger32(void)
-??1ProvUInteger32@@UAE@XZ
-; public: virtual __thiscall ProvValue::~ProvValue(void)
-??1ProvValue@@UAE@XZ
-; public: virtual __thiscall QueryPreprocessor::~QueryPreprocessor(void)
-??1QueryPreprocessor@@UAE@XZ
-; public: virtual __thiscall WmiAndNode::~WmiAndNode(void)
-??1WmiAndNode@@UAE@XZ
-; public: virtual __thiscall WmiNotNode::~WmiNotNode(void)
-??1WmiNotNode@@UAE@XZ
-; public: virtual __thiscall WmiNullNode::~WmiNullNode(void)
-??1WmiNullNode@@UAE@XZ
-; public: virtual __thiscall WmiNullRangeNode::~WmiNullRangeNode(void)
-??1WmiNullRangeNode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorEqualNode::~WmiOperatorEqualNode(void)
-??1WmiOperatorEqualNode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorEqualOrGreaterNode::~WmiOperatorEqualOrGreaterNode(void)
-??1WmiOperatorEqualOrGreaterNode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorEqualOrLessNode::~WmiOperatorEqualOrLessNode(void)
-??1WmiOperatorEqualOrLessNode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorGreaterNode::~WmiOperatorGreaterNode(void)
-??1WmiOperatorGreaterNode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorIsANode::~WmiOperatorIsANode(void)
-??1WmiOperatorIsANode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorLessNode::~WmiOperatorLessNode(void)
-??1WmiOperatorLessNode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorLikeNode::~WmiOperatorLikeNode(void)
-??1WmiOperatorLikeNode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorNode::~WmiOperatorNode(void)
-??1WmiOperatorNode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorNotEqualNode::~WmiOperatorNotEqualNode(void)
-??1WmiOperatorNotEqualNode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorNotIsANode::~WmiOperatorNotIsANode(void)
-??1WmiOperatorNotIsANode@@UAE@XZ
-; public: virtual __thiscall WmiOperatorNotLikeNode::~WmiOperatorNotLikeNode(void)
-??1WmiOperatorNotLikeNode@@UAE@XZ
-; public: virtual __thiscall WmiOrNode::~WmiOrNode(void)
-??1WmiOrNode@@UAE@XZ
-; public: virtual __thiscall WmiRangeNode::~WmiRangeNode(void)
-??1WmiRangeNode@@UAE@XZ
-; public: virtual __thiscall WmiSignedIntegerNode::~WmiSignedIntegerNode(void)
-??1WmiSignedIntegerNode@@UAE@XZ
-; public: virtual __thiscall WmiSignedIntegerRangeNode::~WmiSignedIntegerRangeNode(void)
-??1WmiSignedIntegerRangeNode@@UAE@XZ
-; public: virtual __thiscall WmiStringNode::~WmiStringNode(void)
-??1WmiStringNode@@UAE@XZ
-; public: virtual __thiscall WmiStringRangeNode::~WmiStringRangeNode(void)
-??1WmiStringRangeNode@@UAE@XZ
-; public: virtual __thiscall WmiTreeNode::~WmiTreeNode(void)
-??1WmiTreeNode@@UAE@XZ
-; public: virtual __thiscall WmiTreeNodeIterator::~WmiTreeNodeIterator(void)
-??1WmiTreeNodeIterator@@UAE@XZ
-; public: virtual __thiscall WmiUnsignedIntegerNode::~WmiUnsignedIntegerNode(void)
-??1WmiUnsignedIntegerNode@@UAE@XZ
-; public: virtual __thiscall WmiUnsignedIntegerRangeNode::~WmiUnsignedIntegerRangeNode(void)
-??1WmiUnsignedIntegerRangeNode@@UAE@XZ
-; public: virtual __thiscall WmiValueNode::~WmiValueNode(void)
-??1WmiValueNode@@UAE@XZ
-; public: class CBString & __thiscall CBString::operator=(class CBString const &)
-??4CBString@@QAEAAV0@ABV0@@Z
-; public: class CBString const & __thiscall CBString::operator=(unsigned short *)
-??4CBString@@QAEABV0@PAG@Z
-; public: class Conjunctions & __thiscall Conjunctions::operator=(class Conjunctions const &)
-??4Conjunctions@@QAEAAV0@ABV0@@Z
-; public: class Disjunctions & __thiscall Disjunctions::operator=(class Disjunctions const &)
-??4Disjunctions@@QAEAAV0@ABV0@@Z
-; public: class PartitionSet & __thiscall PartitionSet::operator=(class PartitionSet const &)
-??4PartitionSet@@QAEAAV0@ABV0@@Z
-; public: class ProvAnalyser & __thiscall ProvAnalyser::operator=(class ProvAnalyser const &)
-??4ProvAnalyser@@QAEAAV0@ABV0@@Z
-; public: class ProvBitStringType & __thiscall ProvBitStringType::operator=(class ProvBitStringType const &)
-??4ProvBitStringType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvCounter64::operator=(class ProvCounter64 const &)
-??4ProvCounter64@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvCounter64Type & __thiscall ProvCounter64Type::operator=(class ProvCounter64Type const &)
-??4ProvCounter64Type@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvCounter::operator=(class ProvCounter const &)
-??4ProvCounter@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvCounterType & __thiscall ProvCounterType::operator=(class ProvCounterType const &)
-??4ProvCounterType@@QAEAAV0@ABV0@@Z
-; public: class ProvDateTimeType & __thiscall ProvDateTimeType::operator=(class ProvDateTimeType const &)
-??4ProvDateTimeType@@QAEAAV0@ABV0@@Z
-; public: class ProvDebugLog & __thiscall ProvDebugLog::operator=(class ProvDebugLog const &)
-??4ProvDebugLog@@QAEAAV0@ABV0@@Z
-; public: class ProvDisplayStringType & __thiscall ProvDisplayStringType::operator=(class ProvDisplayStringType const &)
-??4ProvDisplayStringType@@QAEAAV0@ABV0@@Z
-; public: class ProvEnumeratedType & __thiscall ProvEnumeratedType::operator=(class ProvEnumeratedType const &)
-??4ProvEnumeratedType@@QAEAAV0@ABV0@@Z
-; public: class ProvEventObject & __thiscall ProvEventObject::operator=(class ProvEventObject const &)
-??4ProvEventObject@@QAEAAV0@ABV0@@Z
-; public: class ProvFixedLengthDisplayStringType & __thiscall ProvFixedLengthDisplayStringType::operator=(class ProvFixedLengthDisplayStringType const &)
-??4ProvFixedLengthDisplayStringType@@QAEAAV0@ABV0@@Z
-; public: class ProvFixedLengthOctetStringType & __thiscall ProvFixedLengthOctetStringType::operator=(class ProvFixedLengthOctetStringType const &)
-??4ProvFixedLengthOctetStringType@@QAEAAV0@ABV0@@Z
-; public: class ProvFixedLengthOpaqueType & __thiscall ProvFixedLengthOpaqueType::operator=(class ProvFixedLengthOpaqueType const &)
-??4ProvFixedLengthOpaqueType@@QAEAAV0@ABV0@@Z
-; public: class ProvFixedLengthPhysAddressType & __thiscall ProvFixedLengthPhysAddressType::operator=(class ProvFixedLengthPhysAddressType const &)
-??4ProvFixedLengthPhysAddressType@@QAEAAV0@ABV0@@Z
-; public: class ProvFixedType & __thiscall ProvFixedType::operator=(class ProvFixedType const &)
-??4ProvFixedType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvGauge::operator=(class ProvGauge const &)
-??4ProvGauge@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvGaugeType & __thiscall ProvGaugeType::operator=(class ProvGaugeType const &)
-??4ProvGaugeType@@QAEAAV0@ABV0@@Z
-; public: class ProvIPXAddressType & __thiscall ProvIPXAddressType::operator=(class ProvIPXAddressType const &)
-??4ProvIPXAddressType@@QAEAAV0@ABV0@@Z
-; public: class ProvInstanceType & __thiscall ProvInstanceType::operator=(class ProvInstanceType const &)
-??4ProvInstanceType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvInteger::operator=(class ProvInteger const &)
-??4ProvInteger@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvIntegerType & __thiscall ProvIntegerType::operator=(class ProvIntegerType const &)
-??4ProvIntegerType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvIpAddress::operator=(class ProvIpAddress const &)
-??4ProvIpAddress@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvIpAddressType & __thiscall ProvIpAddressType::operator=(class ProvIpAddressType const &)
-??4ProvIpAddressType@@QAEAAV0@ABV0@@Z
-; public: class ProvLexicon & __thiscall ProvLexicon::operator=(class ProvLexicon const &)
-??4ProvLexicon@@QAEAAV0@ABV0@@Z
-; public: class ProvMacAddressType & __thiscall ProvMacAddressType::operator=(class ProvMacAddressType const &)
-??4ProvMacAddressType@@QAEAAV0@ABV0@@Z
-; public: class ProvNegativeRangeType & __thiscall ProvNegativeRangeType::operator=(class ProvNegativeRangeType const &)
-??4ProvNegativeRangeType@@QAEAAV0@ABV0@@Z
-; public: class ProvNetworkAddressType & __thiscall ProvNetworkAddressType::operator=(class ProvNetworkAddressType const &)
-??4ProvNetworkAddressType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvNull::operator=(class ProvNull const &)
-??4ProvNull@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvNullType & __thiscall ProvNullType::operator=(class ProvNullType const &)
-??4ProvNullType@@QAEAAV0@ABV0@@Z
-; public: class ProvOSIAddressType & __thiscall ProvOSIAddressType::operator=(class ProvOSIAddressType const &)
-??4ProvOSIAddressType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvObjectIdentifier::operator=(class ProvObjectIdentifier const &)
-??4ProvObjectIdentifier@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvObjectIdentifierType & __thiscall ProvObjectIdentifierType::operator=(class ProvObjectIdentifierType const &)
-??4ProvObjectIdentifierType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvOctetString::operator=(class ProvOctetString const &)
-??4ProvOctetString@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvOctetStringType & __thiscall ProvOctetStringType::operator=(class ProvOctetStringType const &)
-??4ProvOctetStringType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvOpaque::operator=(class ProvOpaque const &)
-??4ProvOpaque@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvOpaqueType & __thiscall ProvOpaqueType::operator=(class ProvOpaqueType const &)
-??4ProvOpaqueType@@QAEAAV0@ABV0@@Z
-; public: class ProvPhysAddressType & __thiscall ProvPhysAddressType::operator=(class ProvPhysAddressType const &)
-??4ProvPhysAddressType@@QAEAAV0@ABV0@@Z
-; public: class ProvPositiveRangeType & __thiscall ProvPositiveRangeType::operator=(class ProvPositiveRangeType const &)
-??4ProvPositiveRangeType@@QAEAAV0@ABV0@@Z
-; public: class ProvPositiveRangedType & __thiscall ProvPositiveRangedType::operator=(class ProvPositiveRangedType const &)
-??4ProvPositiveRangedType@@QAEAAV0@ABV0@@Z
-; public: class ProvRowStatusType & __thiscall ProvRowStatusType::operator=(class ProvRowStatusType const &)
-??4ProvRowStatusType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvTimeTicks::operator=(class ProvTimeTicks const &)
-??4ProvTimeTicks@@QAEAAVProvValue@@ABV0@@Z
-; public: class ProvTimeTicksType & __thiscall ProvTimeTicksType::operator=(class ProvTimeTicksType const &)
-??4ProvTimeTicksType@@QAEAAV0@ABV0@@Z
-; public: class ProvUDPAddressType & __thiscall ProvUDPAddressType::operator=(class ProvUDPAddressType const &)
-??4ProvUDPAddressType@@QAEAAV0@ABV0@@Z
-; public: class ProvValue & __thiscall ProvUInteger32::operator=(class ProvUInteger32 const &)
-??4ProvUInteger32@@QAEAAVProvValue@@ABV0@@Z
-; private: class ProvValue & __thiscall ProvValue::operator=(class ProvValue const &)
-??4ProvValue@@AAEAAV0@ABV0@@Z
-; public: class QueryPreprocessor & __thiscall QueryPreprocessor::operator=(class QueryPreprocessor const &)
-??4QueryPreprocessor@@QAEAAV0@ABV0@@Z
-; public: class WmiAndNode & __thiscall WmiAndNode::operator=(class WmiAndNode const &)
-??4WmiAndNode@@QAEAAV0@ABV0@@Z
-; public: class WmiNotNode & __thiscall WmiNotNode::operator=(class WmiNotNode const &)
-??4WmiNotNode@@QAEAAV0@ABV0@@Z
-; public: class WmiNullNode & __thiscall WmiNullNode::operator=(class WmiNullNode const &)
-??4WmiNullNode@@QAEAAV0@ABV0@@Z
-; public: class WmiNullRangeNode & __thiscall WmiNullRangeNode::operator=(class WmiNullRangeNode const &)
-??4WmiNullRangeNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorEqualNode & __thiscall WmiOperatorEqualNode::operator=(class WmiOperatorEqualNode const &)
-??4WmiOperatorEqualNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorEqualOrGreaterNode & __thiscall WmiOperatorEqualOrGreaterNode::operator=(class WmiOperatorEqualOrGreaterNode const &)
-??4WmiOperatorEqualOrGreaterNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorEqualOrLessNode & __thiscall WmiOperatorEqualOrLessNode::operator=(class WmiOperatorEqualOrLessNode const &)
-??4WmiOperatorEqualOrLessNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorGreaterNode & __thiscall WmiOperatorGreaterNode::operator=(class WmiOperatorGreaterNode const &)
-??4WmiOperatorGreaterNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorIsANode & __thiscall WmiOperatorIsANode::operator=(class WmiOperatorIsANode const &)
-??4WmiOperatorIsANode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorLessNode & __thiscall WmiOperatorLessNode::operator=(class WmiOperatorLessNode const &)
-??4WmiOperatorLessNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorLikeNode & __thiscall WmiOperatorLikeNode::operator=(class WmiOperatorLikeNode const &)
-??4WmiOperatorLikeNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorNode & __thiscall WmiOperatorNode::operator=(class WmiOperatorNode const &)
-??4WmiOperatorNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorNotEqualNode & __thiscall WmiOperatorNotEqualNode::operator=(class WmiOperatorNotEqualNode const &)
-??4WmiOperatorNotEqualNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorNotIsANode & __thiscall WmiOperatorNotIsANode::operator=(class WmiOperatorNotIsANode const &)
-??4WmiOperatorNotIsANode@@QAEAAV0@ABV0@@Z
-; public: class WmiOperatorNotLikeNode & __thiscall WmiOperatorNotLikeNode::operator=(class WmiOperatorNotLikeNode const &)
-??4WmiOperatorNotLikeNode@@QAEAAV0@ABV0@@Z
-; public: class WmiOrNode & __thiscall WmiOrNode::operator=(class WmiOrNode const &)
-??4WmiOrNode@@QAEAAV0@ABV0@@Z
-; public: class WmiRangeNode & __thiscall WmiRangeNode::operator=(class WmiRangeNode const &)
-??4WmiRangeNode@@QAEAAV0@ABV0@@Z
-; public: class WmiSignedIntegerNode & __thiscall WmiSignedIntegerNode::operator=(class WmiSignedIntegerNode const &)
-??4WmiSignedIntegerNode@@QAEAAV0@ABV0@@Z
-; public: class WmiSignedIntegerRangeNode & __thiscall WmiSignedIntegerRangeNode::operator=(class WmiSignedIntegerRangeNode const &)
-??4WmiSignedIntegerRangeNode@@QAEAAV0@ABV0@@Z
-; public: class WmiStringNode & __thiscall WmiStringNode::operator=(class WmiStringNode const &)
-??4WmiStringNode@@QAEAAV0@ABV0@@Z
-; public: class WmiStringRangeNode & __thiscall WmiStringRangeNode::operator=(class WmiStringRangeNode const &)
-??4WmiStringRangeNode@@QAEAAV0@ABV0@@Z
-; public: class WmiTreeNode & __thiscall WmiTreeNode::operator=(class WmiTreeNode const &)
-??4WmiTreeNode@@QAEAAV0@ABV0@@Z
-; public: class WmiTreeNodeIterator & __thiscall WmiTreeNodeIterator::operator=(class WmiTreeNodeIterator const &)
-??4WmiTreeNodeIterator@@QAEAAV0@ABV0@@Z
-; public: class WmiUnsignedIntegerNode & __thiscall WmiUnsignedIntegerNode::operator=(class WmiUnsignedIntegerNode const &)
-??4WmiUnsignedIntegerNode@@QAEAAV0@ABV0@@Z
-; public: class WmiUnsignedIntegerRangeNode & __thiscall WmiUnsignedIntegerRangeNode::operator=(class WmiUnsignedIntegerRangeNode const &)
-??4WmiUnsignedIntegerRangeNode@@QAEAAV0@ABV0@@Z
-; public: class WmiValueNode & __thiscall WmiValueNode::operator=(class WmiValueNode const &)
-??4WmiValueNode@@QAEAAV0@ABV0@@Z
-; public: int __thiscall ProvInstanceType::operator==(class ProvInstanceType const &)const 
-??8ProvInstanceType@@QBEHABV0@@Z
-; public: int __thiscall ProvObjectIdentifier::operator==(class ProvObjectIdentifier const &)const 
-??8ProvObjectIdentifier@@QBEHABV0@@Z
-; public: int __thiscall ProvValue::operator==(class ProvValue const &)const 
-??8ProvValue@@QBEHABV0@@Z
-; public: int __thiscall ProvInstanceType::operator!=(class ProvInstanceType const &)const 
-??9ProvInstanceType@@QBEHABV0@@Z
-; public: int __thiscall ProvObjectIdentifier::operator!=(class ProvObjectIdentifier const &)const 
-??9ProvObjectIdentifier@@QBEHABV0@@Z
-; public: int __thiscall ProvValue::operator!=(class ProvValue const &)const 
-??9ProvValue@@QBEHABV0@@Z
-; public: unsigned long & __thiscall ProvObjectIdentifier::operator[](unsigned long)const 
-??AProvObjectIdentifier@@QBEAAKK@Z
-; public: virtual __thiscall ProvAnalyser::operator void *(void)
-??BProvAnalyser@@UAEPAXXZ
-; public: virtual __thiscall ProvInstanceType::operator void *(void)
-??BProvInstanceType@@UAEPAXXZ
-; public: virtual __thiscall ProvPositiveRangedType::operator void *(void)
-??BProvPositiveRangedType@@UAEPAXXZ
-; public: class ProvObjectIdentifier  __thiscall ProvObjectIdentifier::operator+(class ProvObjectIdentifier const &)const 
-??HProvObjectIdentifier@@QBE?AV0@ABV0@@Z
-; public: int __thiscall ProvObjectIdentifier::operator<(class ProvObjectIdentifier const &)const 
-??MProvObjectIdentifier@@QBEHABV0@@Z
-; public: int __thiscall ProvObjectIdentifier::operator<=(class ProvObjectIdentifier const &)const 
-??NProvObjectIdentifier@@QBEHABV0@@Z
-; public: int __thiscall ProvObjectIdentifier::operator>(class ProvObjectIdentifier const &)const 
-??OProvObjectIdentifier@@QBEHABV0@@Z
-; public: int __thiscall ProvObjectIdentifier::operator>=(class ProvObjectIdentifier const &)const 
-??PProvObjectIdentifier@@QBEHABV0@@Z
-; public: void * __thiscall ProvIpAddress::operator()(void)const 
-??RProvIpAddress@@QBEPAXXZ
-; public: void * __thiscall ProvObjectIdentifier::operator()(void)const 
-??RProvObjectIdentifier@@QBEPAXXZ
-; public: void * __thiscall ProvOctetString::operator()(void)const 
-??RProvOctetString@@QBEPAXXZ
-; public: void * __thiscall ProvOpaque::operator()(void)const 
-??RProvOpaque@@QBEPAXXZ
-; const  PartitionSet::`vftable'
-??_7PartitionSet@@6B@
-; const  ProvAnalyser::`vftable'
-??_7ProvAnalyser@@6B@
-; const  ProvBitStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvBitStringType@@6BProvInstanceType@@@
-; const  ProvBitStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvBitStringType@@6BProvPositiveRangedType@@@
-; const  ProvCounter64::`vftable'
-??_7ProvCounter64@@6B@
-; const  ProvCounter64Type::`vftable'
-??_7ProvCounter64Type@@6B@
-; const  ProvCounter::`vftable'
-??_7ProvCounter@@6B@
-; const  ProvCounterType::`vftable'
-??_7ProvCounterType@@6B@
-; const  ProvDateTimeType::`vftable'{for `ProvInstanceType'}
-??_7ProvDateTimeType@@6BProvInstanceType@@@
-; const  ProvDateTimeType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvDateTimeType@@6BProvPositiveRangedType@@@
-; const  ProvDisplayStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvDisplayStringType@@6BProvInstanceType@@@
-; const  ProvDisplayStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvDisplayStringType@@6BProvPositiveRangedType@@@
-; const  ProvEnumeratedType::`vftable'{for `ProvInstanceType'}
-??_7ProvEnumeratedType@@6BProvInstanceType@@@
-; const  ProvEnumeratedType::`vftable'{for `ProvNegativeRangedType'}
-??_7ProvEnumeratedType@@6BProvNegativeRangedType@@@
-; const  ProvEventObject::`vftable'
-??_7ProvEventObject@@6B@
-; const  ProvFixedLengthDisplayStringType::`vftable'
-??_7ProvFixedLengthDisplayStringType@@6B@
-; const  ProvFixedLengthDisplayStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvFixedLengthDisplayStringType@@6BProvInstanceType@@@
-; const  ProvFixedLengthDisplayStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvFixedLengthDisplayStringType@@6BProvPositiveRangedType@@@
-; const  ProvFixedLengthOctetStringType::`vftable'
-??_7ProvFixedLengthOctetStringType@@6B@
-; const  ProvFixedLengthOctetStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvFixedLengthOctetStringType@@6BProvInstanceType@@@
-; const  ProvFixedLengthOctetStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvFixedLengthOctetStringType@@6BProvPositiveRangedType@@@
-; const  ProvFixedLengthOpaqueType::`vftable'
-??_7ProvFixedLengthOpaqueType@@6B@
-; const  ProvFixedLengthOpaqueType::`vftable'{for `ProvInstanceType'}
-??_7ProvFixedLengthOpaqueType@@6BProvInstanceType@@@
-; const  ProvFixedLengthOpaqueType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvFixedLengthOpaqueType@@6BProvPositiveRangedType@@@
-; const  ProvFixedLengthPhysAddressType::`vftable'
-??_7ProvFixedLengthPhysAddressType@@6B@
-; const  ProvFixedLengthPhysAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvFixedLengthPhysAddressType@@6BProvInstanceType@@@
-; const  ProvFixedLengthPhysAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvFixedLengthPhysAddressType@@6BProvPositiveRangedType@@@
-; const  ProvFixedType::`vftable'
-??_7ProvFixedType@@6B@
-; const  ProvGauge::`vftable'
-??_7ProvGauge@@6B@
-; const  ProvGaugeType::`vftable'{for `ProvInstanceType'}
-??_7ProvGaugeType@@6BProvInstanceType@@@
-; const  ProvGaugeType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvGaugeType@@6BProvPositiveRangedType@@@
-; const  ProvIPXAddressType::`vftable'
-??_7ProvIPXAddressType@@6B@
-; const  ProvIPXAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvIPXAddressType@@6BProvInstanceType@@@
-; const  ProvIPXAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvIPXAddressType@@6BProvPositiveRangedType@@@
-; const  ProvInstanceType::`vftable'
-??_7ProvInstanceType@@6B@
-; const  ProvInteger::`vftable'
-??_7ProvInteger@@6B@
-; const  ProvIntegerType::`vftable'{for `ProvInstanceType'}
-??_7ProvIntegerType@@6BProvInstanceType@@@
-; const  ProvIntegerType::`vftable'{for `ProvNegativeRangedType'}
-??_7ProvIntegerType@@6BProvNegativeRangedType@@@
-; const  ProvIpAddress::`vftable'
-??_7ProvIpAddress@@6B@
-; const  ProvIpAddressType::`vftable'
-??_7ProvIpAddressType@@6B@
-; const  ProvMacAddressType::`vftable'
-??_7ProvMacAddressType@@6B@
-; const  ProvMacAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvMacAddressType@@6BProvInstanceType@@@
-; const  ProvMacAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvMacAddressType@@6BProvPositiveRangedType@@@
-; const  ProvNegativeRangeType::`vftable'
-??_7ProvNegativeRangeType@@6B@
-; const  ProvNetworkAddressType::`vftable'
-??_7ProvNetworkAddressType@@6B@
-; const  ProvNull::`vftable'
-??_7ProvNull@@6B@
-; const  ProvNullType::`vftable'
-??_7ProvNullType@@6B@
-; const  ProvOSIAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvOSIAddressType@@6BProvInstanceType@@@
-; const  ProvOSIAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvOSIAddressType@@6BProvPositiveRangedType@@@
-; const  ProvObjectIdentifier::`vftable'
-??_7ProvObjectIdentifier@@6B@
-; const  ProvObjectIdentifierType::`vftable'
-??_7ProvObjectIdentifierType@@6B@
-; const  ProvOctetString::`vftable'
-??_7ProvOctetString@@6B@
-; const  ProvOctetStringType::`vftable'{for `ProvInstanceType'}
-??_7ProvOctetStringType@@6BProvInstanceType@@@
-; const  ProvOctetStringType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvOctetStringType@@6BProvPositiveRangedType@@@
-; const  ProvOpaque::`vftable'
-??_7ProvOpaque@@6B@
-; const  ProvOpaqueType::`vftable'{for `ProvInstanceType'}
-??_7ProvOpaqueType@@6BProvInstanceType@@@
-; const  ProvOpaqueType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvOpaqueType@@6BProvPositiveRangedType@@@
-; const  ProvPhysAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvPhysAddressType@@6BProvInstanceType@@@
-; const  ProvPhysAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvPhysAddressType@@6BProvPositiveRangedType@@@
-; const  ProvPositiveRangeType::`vftable'
-??_7ProvPositiveRangeType@@6B@
-; const  ProvPositiveRangedType::`vftable'
-??_7ProvPositiveRangedType@@6B@
-; const  ProvRowStatusType::`vftable'{for `ProvInstanceType'}
-??_7ProvRowStatusType@@6BProvInstanceType@@@
-; const  ProvRowStatusType::`vftable'{for `ProvNegativeRangedType'}
-??_7ProvRowStatusType@@6BProvNegativeRangedType@@@
-; const  ProvTimeTicks::`vftable'
-??_7ProvTimeTicks@@6B@
-; const  ProvTimeTicksType::`vftable'
-??_7ProvTimeTicksType@@6B@
-; const  ProvUDPAddressType::`vftable'
-??_7ProvUDPAddressType@@6B@
-; const  ProvUDPAddressType::`vftable'{for `ProvInstanceType'}
-??_7ProvUDPAddressType@@6BProvInstanceType@@@
-; const  ProvUDPAddressType::`vftable'{for `ProvPositiveRangedType'}
-??_7ProvUDPAddressType@@6BProvPositiveRangedType@@@
-; const  ProvUInteger32::`vftable'
-??_7ProvUInteger32@@6B@
-; const  ProvValue::`vftable'
-??_7ProvValue@@6B@
-; const  QueryPreprocessor::`vftable'
-??_7QueryPreprocessor@@6B@
-; const  WmiAndNode::`vftable'
-??_7WmiAndNode@@6B@
-; const  WmiNotNode::`vftable'
-??_7WmiNotNode@@6B@
-; const  WmiNullNode::`vftable'
-??_7WmiNullNode@@6B@
-; const  WmiNullRangeNode::`vftable'
-??_7WmiNullRangeNode@@6B@
-; const  WmiOperatorEqualNode::`vftable'
-??_7WmiOperatorEqualNode@@6B@
-; const  WmiOperatorEqualOrGreaterNode::`vftable'
-??_7WmiOperatorEqualOrGreaterNode@@6B@
-; const  WmiOperatorEqualOrLessNode::`vftable'
-??_7WmiOperatorEqualOrLessNode@@6B@
-; const  WmiOperatorGreaterNode::`vftable'
-??_7WmiOperatorGreaterNode@@6B@
-; const  WmiOperatorIsANode::`vftable'
-??_7WmiOperatorIsANode@@6B@
-; const  WmiOperatorLessNode::`vftable'
-??_7WmiOperatorLessNode@@6B@
-; const  WmiOperatorLikeNode::`vftable'
-??_7WmiOperatorLikeNode@@6B@
-; const  WmiOperatorNode::`vftable'
-??_7WmiOperatorNode@@6B@
-; const  WmiOperatorNotEqualNode::`vftable'
-??_7WmiOperatorNotEqualNode@@6B@
-; const  WmiOperatorNotIsANode::`vftable'
-??_7WmiOperatorNotIsANode@@6B@
-; const  WmiOperatorNotLikeNode::`vftable'
-??_7WmiOperatorNotLikeNode@@6B@
-; const  WmiOrNode::`vftable'
-??_7WmiOrNode@@6B@
-; const  WmiRangeNode::`vftable'
-??_7WmiRangeNode@@6B@
-; const  WmiSignedIntegerNode::`vftable'
-??_7WmiSignedIntegerNode@@6B@
-; const  WmiSignedIntegerRangeNode::`vftable'
-??_7WmiSignedIntegerRangeNode@@6B@
-; const  WmiStringNode::`vftable'
-??_7WmiStringNode@@6B@
-; const  WmiStringRangeNode::`vftable'
-??_7WmiStringRangeNode@@6B@
-; const  WmiTreeNode::`vftable'
-??_7WmiTreeNode@@6B@
-; const  WmiTreeNodeIterator::`vftable'
-??_7WmiTreeNodeIterator@@6B@
-; const  WmiUnsignedIntegerNode::`vftable'
-??_7WmiUnsignedIntegerNode@@6B@
-; const  WmiUnsignedIntegerRangeNode::`vftable'
-??_7WmiUnsignedIntegerRangeNode@@6B@
-; const  WmiValueNode::`vftable'
-??_7WmiValueNode@@6B@
-; public: void __thiscall ProvAnalyser::`default constructor closure'(void)
-??_FProvAnalyser@@QAEXXZ
-; public: void __thiscall ProvDisplayStringType::`default constructor closure'(void)
-??_FProvDisplayStringType@@QAEXXZ
-; public: void __thiscall ProvEventObject::`default constructor closure'(void)
-??_FProvEventObject@@QAEXXZ
-; public: void __thiscall ProvGaugeType::`default constructor closure'(void)
-??_FProvGaugeType@@QAEXXZ
-; public: void __thiscall ProvInstanceType::`default constructor closure'(void)
-??_FProvInstanceType@@QAEXXZ
-; public: void __thiscall ProvIntegerType::`default constructor closure'(void)
-??_FProvIntegerType@@QAEXXZ
-; public: void __thiscall ProvOctetStringType::`default constructor closure'(void)
-??_FProvOctetStringType@@QAEXXZ
-; public: void __thiscall ProvOpaqueType::`default constructor closure'(void)
-??_FProvOpaqueType@@QAEXXZ
-; public: void __thiscall ProvPhysAddressType::`default constructor closure'(void)
-??_FProvPhysAddressType@@QAEXXZ
-; public: void __thiscall ProvPositiveRangedType::`default constructor closure'(void)
-??_FProvPositiveRangedType@@QAEXXZ
-; public: void __thiscall WmiAndNode::`default constructor closure'(void)
-??_FWmiAndNode@@QAEXXZ
-; public: void __thiscall WmiNotNode::`default constructor closure'(void)
-??_FWmiNotNode@@QAEXXZ
-; public: void __thiscall WmiOperatorEqualNode::`default constructor closure'(void)
-??_FWmiOperatorEqualNode@@QAEXXZ
-; public: void __thiscall WmiOperatorEqualOrGreaterNode::`default constructor closure'(void)
-??_FWmiOperatorEqualOrGreaterNode@@QAEXXZ
-; public: void __thiscall WmiOperatorEqualOrLessNode::`default constructor closure'(void)
-??_FWmiOperatorEqualOrLessNode@@QAEXXZ
-; public: void __thiscall WmiOperatorGreaterNode::`default constructor closure'(void)
-??_FWmiOperatorGreaterNode@@QAEXXZ
-; public: void __thiscall WmiOperatorIsANode::`default constructor closure'(void)
-??_FWmiOperatorIsANode@@QAEXXZ
-; public: void __thiscall WmiOperatorLessNode::`default constructor closure'(void)
-??_FWmiOperatorLessNode@@QAEXXZ
-; public: void __thiscall WmiOperatorLikeNode::`default constructor closure'(void)
-??_FWmiOperatorLikeNode@@QAEXXZ
-; public: void __thiscall WmiOperatorNotEqualNode::`default constructor closure'(void)
-??_FWmiOperatorNotEqualNode@@QAEXXZ
-; public: void __thiscall WmiOperatorNotIsANode::`default constructor closure'(void)
-??_FWmiOperatorNotIsANode@@QAEXXZ
-; public: void __thiscall WmiOperatorNotLikeNode::`default constructor closure'(void)
-??_FWmiOperatorNotLikeNode@@QAEXXZ
-; public: void __thiscall WmiOrNode::`default constructor closure'(void)
-??_FWmiOrNode@@QAEXXZ
-; public: void __thiscall WmiTreeNode::`default constructor closure'(void)
-??_FWmiTreeNode@@QAEXXZ
-; protected: virtual class WmiRangeNode * __thiscall QueryPreprocessor::AllocInfiniteRangeNode(void *,unsigned short *)
-?AllocInfiniteRangeNode@QueryPreprocessor@@MAEPAVWmiRangeNode@@PAXPAG@Z
-; protected: virtual class WmiTreeNode * __thiscall QueryPreprocessor::AllocTypeNode(void *,unsigned short *,struct tagVARIANT &,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,class WmiTreeNode *)
-?AllocTypeNode@QueryPreprocessor@@MAEPAVWmiTreeNode@@PAXPAGAAUtagVARIANT@@W4WmiValueFunction@WmiValueNode@@3PAV2@@Z
-; protected: virtual int __thiscall ProvAnalyser::Analyse(class ProvLexicon *,unsigned long &,unsigned short,unsigned short const *,unsigned long &,int,int,int)
-?Analyse@ProvAnalyser@@MAEHPAVProvLexicon@@AAKGPBG1HHH@Z
-; private: int __thiscall ProvBitStringType::BitStringDef(void)
-?BitStringDef@ProvBitStringType@@AAEHXZ
-; public: int __thiscall ProvPositiveRangedType::Check(unsigned long const &)
-?Check@ProvPositiveRangedType@@QAEHABK@Z
-; public: void __thiscall ProvEventObject::Clear(void)
-?Clear@ProvEventObject@@QAEXXZ
-; public: int __thiscall WmiRangeNode::ClosedLowerBound(void)
-?ClosedLowerBound@WmiRangeNode@@QAEHXZ
-; public: int __thiscall WmiRangeNode::ClosedUpperBound(void)
-?ClosedUpperBound@WmiRangeNode@@QAEHXZ
-; public: static void __stdcall ProvDebugLog::Closedown(void)
-?Closedown@ProvDebugLog@@SGXXZ
-; protected: enum ProvObjectIdentifier::Comparison  __thiscall ProvObjectIdentifier::Compare(class ProvObjectIdentifier const &,class ProvObjectIdentifier const &)const 
-?Compare@ProvObjectIdentifier@@IBE?AW4Comparison@1@ABV1@0@Z
-; public: long __thiscall WmiRangeNode::ComparePropertyName(class WmiRangeNode &)
-?ComparePropertyName@WmiRangeNode@@QAEJAAV1@@Z
-; public: long __thiscall WmiValueNode::ComparePropertyName(class WmiValueNode &)
-?ComparePropertyName@WmiValueNode@@QAEJAAV1@@Z
-; public: virtual void __thiscall ProvEventObject::Complete(void)
-?Complete@ProvEventObject@@UAEXXZ
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::ConvertToRanges(class WmiTreeNode * &)
-?ConvertToRanges@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
-; public: virtual class ProvInstanceType * __thiscall ProvBitStringType::Copy(void)const 
-?Copy@ProvBitStringType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvCounter64::Copy(void)const 
-?Copy@ProvCounter64@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvCounter64Type::Copy(void)const 
-?Copy@ProvCounter64Type@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvCounter::Copy(void)const 
-?Copy@ProvCounter@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvCounterType::Copy(void)const 
-?Copy@ProvCounterType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvDateTimeType::Copy(void)const 
-?Copy@ProvDateTimeType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvDisplayStringType::Copy(void)const 
-?Copy@ProvDisplayStringType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvEnumeratedType::Copy(void)const 
-?Copy@ProvEnumeratedType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvFixedLengthDisplayStringType::Copy(void)const 
-?Copy@ProvFixedLengthDisplayStringType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvFixedLengthOctetStringType::Copy(void)const 
-?Copy@ProvFixedLengthOctetStringType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvFixedLengthOpaqueType::Copy(void)const 
-?Copy@ProvFixedLengthOpaqueType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvFixedLengthPhysAddressType::Copy(void)const 
-?Copy@ProvFixedLengthPhysAddressType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvGauge::Copy(void)const 
-?Copy@ProvGauge@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvGaugeType::Copy(void)const 
-?Copy@ProvGaugeType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvIPXAddressType::Copy(void)const 
-?Copy@ProvIPXAddressType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvInteger::Copy(void)const 
-?Copy@ProvInteger@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvIntegerType::Copy(void)const 
-?Copy@ProvIntegerType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvIpAddress::Copy(void)const 
-?Copy@ProvIpAddress@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvIpAddressType::Copy(void)const 
-?Copy@ProvIpAddressType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvMacAddressType::Copy(void)const 
-?Copy@ProvMacAddressType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvNegativeRangeType * __thiscall ProvNegativeRangeType::Copy(void)
-?Copy@ProvNegativeRangeType@@UAEPAV1@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvNetworkAddressType::Copy(void)const 
-?Copy@ProvNetworkAddressType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvNull::Copy(void)const 
-?Copy@ProvNull@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvNullType::Copy(void)const 
-?Copy@ProvNullType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvOSIAddressType::Copy(void)const 
-?Copy@ProvOSIAddressType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvObjectIdentifier::Copy(void)const 
-?Copy@ProvObjectIdentifier@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvObjectIdentifierType::Copy(void)const 
-?Copy@ProvObjectIdentifierType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvOctetString::Copy(void)const 
-?Copy@ProvOctetString@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvOctetStringType::Copy(void)const 
-?Copy@ProvOctetStringType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvOpaque::Copy(void)const 
-?Copy@ProvOpaque@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvOpaqueType::Copy(void)const 
-?Copy@ProvOpaqueType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvPhysAddressType::Copy(void)const 
-?Copy@ProvPhysAddressType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvPositiveRangeType * __thiscall ProvPositiveRangeType::Copy(void)
-?Copy@ProvPositiveRangeType@@UAEPAV1@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvRowStatusType::Copy(void)const 
-?Copy@ProvRowStatusType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvTimeTicks::Copy(void)const 
-?Copy@ProvTimeTicks@@UBEPAVProvValue@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvTimeTicksType::Copy(void)const 
-?Copy@ProvTimeTicksType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvInstanceType * __thiscall ProvUDPAddressType::Copy(void)const 
-?Copy@ProvUDPAddressType@@UBEPAVProvInstanceType@@XZ
-; public: virtual class ProvValue * __thiscall ProvUInteger32::Copy(void)const 
-?Copy@ProvUInteger32@@UBEPAVProvValue@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiAndNode::Copy(void)
-?Copy@WmiAndNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiNotNode::Copy(void)
-?Copy@WmiNotNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiNullNode::Copy(void)
-?Copy@WmiNullNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiNullRangeNode::Copy(void)
-?Copy@WmiNullRangeNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorEqualNode::Copy(void)
-?Copy@WmiOperatorEqualNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorEqualOrGreaterNode::Copy(void)
-?Copy@WmiOperatorEqualOrGreaterNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorEqualOrLessNode::Copy(void)
-?Copy@WmiOperatorEqualOrLessNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorGreaterNode::Copy(void)
-?Copy@WmiOperatorGreaterNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorIsANode::Copy(void)
-?Copy@WmiOperatorIsANode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorLessNode::Copy(void)
-?Copy@WmiOperatorLessNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorLikeNode::Copy(void)
-?Copy@WmiOperatorLikeNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorNotEqualNode::Copy(void)
-?Copy@WmiOperatorNotEqualNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorNotIsANode::Copy(void)
-?Copy@WmiOperatorNotIsANode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOperatorNotLikeNode::Copy(void)
-?Copy@WmiOperatorNotLikeNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiOrNode::Copy(void)
-?Copy@WmiOrNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiSignedIntegerNode::Copy(void)
-?Copy@WmiSignedIntegerNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiSignedIntegerRangeNode::Copy(void)
-?Copy@WmiSignedIntegerRangeNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiStringNode::Copy(void)
-?Copy@WmiStringNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiStringRangeNode::Copy(void)
-?Copy@WmiStringRangeNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiTreeNode::Copy(void)
-?Copy@WmiTreeNode@@UAEPAV1@XZ
-; public: virtual class WmiTreeNodeIterator * __thiscall WmiTreeNodeIterator::Copy(void)
-?Copy@WmiTreeNodeIterator@@UAEPAV1@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiUnsignedIntegerNode::Copy(void)
-?Copy@WmiUnsignedIntegerNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiUnsignedIntegerRangeNode::Copy(void)
-?Copy@WmiUnsignedIntegerRangeNode@@UAEPAVWmiTreeNode@@XZ
-; public: virtual class WmiTreeNode * __thiscall WmiTreeNode::CopyNode(void)
-?CopyNode@WmiTreeNode@@UAEPAV1@XZ
-; protected: void __thiscall QueryPreprocessor::CountDisjunctions(class WmiTreeNode *,unsigned long &)
-?CountDisjunctions@QueryPreprocessor@@IAEXPAVWmiTreeNode@@AAK@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::CreateDisjunctionContainer(void *,class WmiTreeNode *,unsigned long,unsigned short * *,class Disjunctions * &)
-?CreateDisjunctionContainer@QueryPreprocessor@@IAE?AW4WmiTriState@@PAXPAVWmiTreeNode@@KPAPAGAAPAVDisjunctions@@@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::CreateDisjunctions(void *,class WmiTreeNode *,class Disjunctions *,unsigned long,unsigned short * *,unsigned long &)
-?CreateDisjunctions@QueryPreprocessor@@IAE?AW4WmiTriState@@PAXPAVWmiTreeNode@@PAVDisjunctions@@KPAPAGAAK@Z
-; protected: virtual class ProvLexicon * __thiscall ProvAnalyser::CreateLexicon(void)
-?CreateLexicon@ProvAnalyser@@MAEPAVProvLexicon@@XZ
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::CreatePartitionSet(class Disjunctions *,class PartitionSet * &)
-?CreatePartitionSet@QueryPreprocessor@@IAE?AW4WmiTriState@@PAVDisjunctions@@AAPAVPartitionSet@@@Z
-; public: class ProvObjectIdentifier * __thiscall ProvObjectIdentifier::Cut(class ProvObjectIdentifier &)const 
-?Cut@ProvObjectIdentifier@@QBEPAV1@AAV1@@Z
-; private: int __thiscall ProvDateTimeType::DateTimeDef(void)
-?DateTimeDef@ProvDateTimeType@@AAEHXZ
-; unsigned short * __stdcall DbcsToUnicodeString(char const *)
-?DbcsToUnicodeString@@YGPAGPBD@Z
-; public: static unsigned long __stdcall ProvAnalyser::DecCharToDecInteger(char)
-?DecCharToDecInteger@ProvAnalyser@@SGKD@Z
-; public: static char __stdcall ProvAnalyser::DecIntegerToDecChar(unsigned char)
-?DecIntegerToDecChar@ProvAnalyser@@SGDE@Z
-; public: static unsigned short __stdcall ProvAnalyser::DecIntegerToDecWChar(unsigned char)
-?DecIntegerToDecWChar@ProvAnalyser@@SGGE@Z
-; public: static char __stdcall ProvAnalyser::DecIntegerToHexChar(unsigned char)
-?DecIntegerToHexChar@ProvAnalyser@@SGDE@Z
-; public: static unsigned short __stdcall ProvAnalyser::DecIntegerToHexWChar(unsigned char)
-?DecIntegerToHexWChar@ProvAnalyser@@SGGE@Z
-; public: static char __stdcall ProvAnalyser::DecIntegerToOctChar(unsigned char)
-?DecIntegerToOctChar@ProvAnalyser@@SGDE@Z
-; public: static unsigned short __stdcall ProvAnalyser::DecIntegerToOctWChar(unsigned char)
-?DecIntegerToOctWChar@ProvAnalyser@@SGGE@Z
-; public: static unsigned long __stdcall ProvAnalyser::DecWCharToDecInteger(unsigned short)
-?DecWCharToDecInteger@ProvAnalyser@@SGKG@Z
-; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::DisjunctiveNormalForm(class WmiTreeNode * &)
-?DisjunctiveNormalForm@QueryPreprocessor@@IAE?AW4QuadState@1@AAPAVWmiTreeNode@@@Z
-; private: void __thiscall ProvDateTimeType::Encode(unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &)
-?Encode@ProvDateTimeType@@AAEXABK0000000000@Z
-; private: int __thiscall ProvEnumeratedType::EnumerationDef(void)
-?EnumerationDef@ProvEnumeratedType@@AAEHXZ
-; protected: virtual int __thiscall ProvCounter64::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvCounter64@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvCounter64::Equivalent(class ProvCounter64 const &)const 
-?Equivalent@ProvCounter64@@QBEHABV1@@Z
-; protected: virtual int __thiscall ProvCounter64Type::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvCounter64Type@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvCounter::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvCounter@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvCounter::Equivalent(class ProvCounter const &)const 
-?Equivalent@ProvCounter@@QBEHABV1@@Z
-; protected: virtual int __thiscall ProvCounterType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvCounterType@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvGauge::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvGauge@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvGauge::Equivalent(class ProvGauge const &)const 
-?Equivalent@ProvGauge@@QBEHABV1@@Z
-; protected: virtual int __thiscall ProvGaugeType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvGaugeType@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvInteger::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvInteger@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvInteger::Equivalent(class ProvInteger const &)const 
-?Equivalent@ProvInteger@@QBEHABV1@@Z
-; protected: virtual int __thiscall ProvIntegerType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvIntegerType@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvIpAddress::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvIpAddress@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvIpAddress::Equivalent(class ProvIpAddress const &)const 
-?Equivalent@ProvIpAddress@@QBEHABV1@@Z
-; protected: virtual int __thiscall ProvIpAddressType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvIpAddressType@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvNetworkAddressType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvNetworkAddressType@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvNull::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvNull@@MBEHABVProvValue@@@Z
-; protected: virtual int __thiscall ProvNullType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvNullType@@MBEHABVProvInstanceType@@@Z
-; protected: int __thiscall ProvObjectIdentifier::Equivalent(class ProvObjectIdentifier const &)const 
-?Equivalent@ProvObjectIdentifier@@IBEHABV1@@Z
-; protected: virtual int __thiscall ProvObjectIdentifier::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvObjectIdentifier@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvObjectIdentifier::Equivalent(class ProvObjectIdentifier const &,unsigned long)const 
-?Equivalent@ProvObjectIdentifier@@QBEHABV1@K@Z
-; protected: virtual int __thiscall ProvObjectIdentifierType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvObjectIdentifierType@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvOctetString::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvOctetString@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvOctetString::Equivalent(class ProvOctetString const &)const 
-?Equivalent@ProvOctetString@@QBEHABV1@@Z
-; protected: virtual int __thiscall ProvOctetStringType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvOctetStringType@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvOpaque::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvOpaque@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvOpaque::Equivalent(class ProvOpaque const &)const 
-?Equivalent@ProvOpaque@@QBEHABV1@@Z
-; protected: virtual int __thiscall ProvOpaqueType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvOpaqueType@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvTimeTicks::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvTimeTicks@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvTimeTicks::Equivalent(class ProvTimeTicks const &)const 
-?Equivalent@ProvTimeTicks@@QBEHABV1@@Z
-; protected: virtual int __thiscall ProvTimeTicksType::Equivalent(class ProvInstanceType const &)const 
-?Equivalent@ProvTimeTicksType@@MBEHABVProvInstanceType@@@Z
-; protected: virtual int __thiscall ProvUInteger32::Equivalent(class ProvValue const &)const 
-?Equivalent@ProvUInteger32@@MBEHABVProvValue@@@Z
-; public: int __thiscall ProvUInteger32::Equivalent(class ProvUInteger32 const &)const 
-?Equivalent@ProvUInteger32@@QBEHABV1@@Z
-; protected: int __thiscall QueryPreprocessor::Evaluate(void *,struct SQL_LEVEL_1_RPN_EXPRESSION &,class WmiTreeNode * *)
-?Evaluate@QueryPreprocessor@@IAEHPAXAAUSQL_LEVEL_1_RPN_EXPRESSION@@PAPAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::EvaluateAndExpression(class WmiTreeNode * &)
-?EvaluateAndExpression@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::EvaluateNotEqualExpression(class WmiTreeNode * &)
-?EvaluateNotEqualExpression@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::EvaluateNotExpression(class WmiTreeNode * &)
-?EvaluateNotExpression@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::EvaluateOrExpression(class WmiTreeNode * &)
-?EvaluateOrExpression@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
-; public: class ProvLexicon * __thiscall ProvAnalyser::Get(int,int,int)
-?Get@ProvAnalyser@@QAEPAVProvLexicon@@HHH@Z
-; private: class ProvLexicon * __thiscall ProvBitStringType::Get(void)
-?Get@ProvBitStringType@@AAEPAVProvLexicon@@XZ
-; private: class ProvLexicon * __thiscall ProvDateTimeType::Get(void)
-?Get@ProvDateTimeType@@AAEPAVProvLexicon@@XZ
-; private: class ProvLexicon * __thiscall ProvEnumeratedType::Get(void)
-?Get@ProvEnumeratedType@@AAEPAVProvLexicon@@XZ
-; protected: class ProvLexicon * __thiscall ProvPositiveRangedType::Get(void)
-?Get@ProvPositiveRangedType@@IAEPAVProvLexicon@@XZ
-; public: char * __thiscall ProvObjectIdentifier::GetAllocatedString(void)const 
-?GetAllocatedString@ProvObjectIdentifier@@QBEPADXZ
-; public: unsigned long __thiscall Disjunctions::GetConjunctionCount(void)
-?GetConjunctionCount@Disjunctions@@QAEKXZ
-; public: enum WmiValueNode::WmiValueFunction  __thiscall WmiValueNode::GetConstantFunction(void)
-?GetConstantFunction@WmiValueNode@@QAE?AW4WmiValueFunction@1@XZ
-; public: void * __thiscall WmiTreeNode::GetData(void)
-?GetData@WmiTreeNode@@QAEPAXXZ
-; public: void __thiscall WmiTreeNode::GetData(void * *)
-?GetData@WmiTreeNode@@QAEXPAPAX@Z
-; public: class Conjunctions * __thiscall Disjunctions::GetDisjunction(unsigned long)
-?GetDisjunction@Disjunctions@@QAEPAVConjunctions@@K@Z
-; public: unsigned long __thiscall Disjunctions::GetDisjunctionCount(void)
-?GetDisjunctionCount@Disjunctions@@QAEKXZ
-; public: void * __thiscall ProvEventObject::GetHandle(void)
-?GetHandle@ProvEventObject@@QAEPAXXZ
-; public: unsigned long __thiscall ProvCounter64::GetHighValue(void)const 
-?GetHighValue@ProvCounter64@@QBEKXZ
-; public: unsigned long __thiscall WmiRangeNode::GetIndex(void)
-?GetIndex@WmiRangeNode@@QAEKXZ
-; public: unsigned long __thiscall WmiValueNode::GetIndex(void)
-?GetIndex@WmiValueNode@@QAEKXZ
-; public: enum WmiTriState  __thiscall WmiSignedIntegerRangeNode::GetIntersectingRange(class WmiSignedIntegerRangeNode &,class WmiSignedIntegerRangeNode * &)
-?GetIntersectingRange@WmiSignedIntegerRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
-; public: enum WmiTriState  __thiscall WmiStringRangeNode::GetIntersectingRange(class WmiStringRangeNode &,class WmiStringRangeNode * &)
-?GetIntersectingRange@WmiStringRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
-; public: enum WmiTriState  __thiscall WmiUnsignedIntegerRangeNode::GetIntersectingRange(class WmiUnsignedIntegerRangeNode &,class WmiUnsignedIntegerRangeNode * &)
-?GetIntersectingRange@WmiUnsignedIntegerRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
-; public: class WmiTreeNode * __thiscall WmiTreeNodeIterator::GetIterator(void)
-?GetIterator@WmiTreeNodeIterator@@QAEPAVWmiTreeNode@@XZ
-; public: unsigned long __thiscall PartitionSet::GetKeyIndex(void)
-?GetKeyIndex@PartitionSet@@QAEKXZ
-; public: class WmiTreeNode * __thiscall WmiTreeNode::GetLeft(void)
-?GetLeft@WmiTreeNode@@QAEPAV1@XZ
-; public: void __thiscall WmiTreeNode::GetLeft(class WmiTreeNode * * &)
-?GetLeft@WmiTreeNode@@QAEXAAPAPAV1@@Z
-; public: unsigned long __thiscall ProvDebugLog::GetLevel(void)
-?GetLevel@ProvDebugLog@@QAEKXZ
-; public: int __thiscall ProvDebugLog::GetLogging(void)
-?GetLogging@ProvDebugLog@@QAEHXZ
-; public: unsigned long __thiscall ProvCounter64::GetLowValue(void)const 
-?GetLowValue@ProvCounter64@@QBEKXZ
-; public: long __thiscall ProvNegativeRangeType::GetLowerBound(void)
-?GetLowerBound@ProvNegativeRangeType@@QAEJXZ
-; public: unsigned long __thiscall ProvPositiveRangeType::GetLowerBound(void)
-?GetLowerBound@ProvPositiveRangeType@@QAEKXZ
-; public: enum WmiTriState  __thiscall WmiSignedIntegerRangeNode::GetOverlappingRange(class WmiSignedIntegerRangeNode &,class WmiSignedIntegerRangeNode * &)
-?GetOverlappingRange@WmiSignedIntegerRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
-; public: enum WmiTriState  __thiscall WmiStringRangeNode::GetOverlappingRange(class WmiStringRangeNode &,class WmiStringRangeNode * &)
-?GetOverlappingRange@WmiStringRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
-; public: enum WmiTriState  __thiscall WmiUnsignedIntegerRangeNode::GetOverlappingRange(class WmiUnsignedIntegerRangeNode &,class WmiUnsignedIntegerRangeNode * &)
-?GetOverlappingRange@WmiUnsignedIntegerRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
-; public: class WmiTreeNode * __thiscall WmiTreeNode::GetParent(void)
-?GetParent@WmiTreeNode@@QAEPAV1@XZ
-; public: void __thiscall WmiTreeNode::GetParent(class WmiTreeNode * * &)
-?GetParent@WmiTreeNode@@QAEXAAPAPAV1@@Z
-; public: class PartitionSet * __thiscall PartitionSet::GetPartition(unsigned long)
-?GetPartition@PartitionSet@@QAEPAV1@K@Z
-; public: unsigned long __thiscall PartitionSet::GetPartitionCount(void)
-?GetPartitionCount@PartitionSet@@QAEKXZ
-; public: enum WmiValueNode::WmiValueFunction  __thiscall WmiValueNode::GetPropertyFunction(void)
-?GetPropertyFunction@WmiValueNode@@QAE?AW4WmiValueFunction@1@XZ
-; public: unsigned short * __thiscall WmiRangeNode::GetPropertyName(void)
-?GetPropertyName@WmiRangeNode@@QAEPAGXZ
-; public: unsigned short * __thiscall WmiValueNode::GetPropertyName(void)
-?GetPropertyName@WmiValueNode@@QAEPAGXZ
-; public: static class ProvDebugLog * __stdcall ProvDebugLog::GetProvDebugLog(char)
-?GetProvDebugLog@ProvDebugLog@@SGPAV1@D@Z
-; public: class WmiRangeNode * __thiscall Conjunctions::GetRange(unsigned long)
-?GetRange@Conjunctions@@QAEPAVWmiRangeNode@@K@Z
-; public: class WmiRangeNode * __thiscall PartitionSet::GetRange(void)
-?GetRange@PartitionSet@@QAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorEqualNode::GetRange(void)
-?GetRange@WmiOperatorEqualNode@@UAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorEqualOrGreaterNode::GetRange(void)
-?GetRange@WmiOperatorEqualOrGreaterNode@@UAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorEqualOrLessNode::GetRange(void)
-?GetRange@WmiOperatorEqualOrLessNode@@UAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorGreaterNode::GetRange(void)
-?GetRange@WmiOperatorGreaterNode@@UAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorIsANode::GetRange(void)
-?GetRange@WmiOperatorIsANode@@UAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorLessNode::GetRange(void)
-?GetRange@WmiOperatorLessNode@@UAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorLikeNode::GetRange(void)
-?GetRange@WmiOperatorLikeNode@@UAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorNotEqualNode::GetRange(void)
-?GetRange@WmiOperatorNotEqualNode@@UAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorNotIsANode::GetRange(void)
-?GetRange@WmiOperatorNotIsANode@@UAEPAVWmiRangeNode@@XZ
-; public: virtual class WmiRangeNode * __thiscall WmiOperatorNotLikeNode::GetRange(void)
-?GetRange@WmiOperatorNotLikeNode@@UAEPAVWmiRangeNode@@XZ
-; public: unsigned long __thiscall Conjunctions::GetRangeCount(void)
-?GetRangeCount@Conjunctions@@QAEKXZ
-; public: class WmiTreeNode * __thiscall WmiTreeNode::GetRight(void)
-?GetRight@WmiTreeNode@@QAEPAV1@XZ
-; public: void __thiscall WmiTreeNode::GetRight(class WmiTreeNode * * &)
-?GetRight@WmiTreeNode@@QAEXAAPAPAV1@@Z
-; public: enum ProvRowStatusType::ProvRowStatusEnum  __thiscall ProvRowStatusType::GetRowStatus(void)const 
-?GetRowStatus@ProvRowStatusType@@QBE?AW4ProvRowStatusEnum@1@XZ
-; public: unsigned short * __thiscall CBString::GetString(void)
-?GetString@CBString@@QAEPAGXZ
-; public: virtual unsigned short * __thiscall ProvBitStringType::GetStringValue(void)const 
-?GetStringValue@ProvBitStringType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvCounter64Type::GetStringValue(void)const 
-?GetStringValue@ProvCounter64Type@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvCounterType::GetStringValue(void)const 
-?GetStringValue@ProvCounterType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvDateTimeType::GetStringValue(void)const 
-?GetStringValue@ProvDateTimeType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvDisplayStringType::GetStringValue(void)const 
-?GetStringValue@ProvDisplayStringType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvEnumeratedType::GetStringValue(void)const 
-?GetStringValue@ProvEnumeratedType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvFixedLengthDisplayStringType::GetStringValue(void)const 
-?GetStringValue@ProvFixedLengthDisplayStringType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvFixedLengthPhysAddressType::GetStringValue(void)const 
-?GetStringValue@ProvFixedLengthPhysAddressType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvGaugeType::GetStringValue(void)const 
-?GetStringValue@ProvGaugeType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvIPXAddressType::GetStringValue(void)const 
-?GetStringValue@ProvIPXAddressType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvIntegerType::GetStringValue(void)const 
-?GetStringValue@ProvIntegerType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvIpAddressType::GetStringValue(void)const 
-?GetStringValue@ProvIpAddressType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvMacAddressType::GetStringValue(void)const 
-?GetStringValue@ProvMacAddressType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvNetworkAddressType::GetStringValue(void)const 
-?GetStringValue@ProvNetworkAddressType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvNullType::GetStringValue(void)const 
-?GetStringValue@ProvNullType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvOSIAddressType::GetStringValue(void)const 
-?GetStringValue@ProvOSIAddressType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvObjectIdentifierType::GetStringValue(void)const 
-?GetStringValue@ProvObjectIdentifierType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvOctetStringType::GetStringValue(void)const 
-?GetStringValue@ProvOctetStringType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvOpaqueType::GetStringValue(void)const 
-?GetStringValue@ProvOpaqueType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvPhysAddressType::GetStringValue(void)const 
-?GetStringValue@ProvPhysAddressType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvRowStatusType::GetStringValue(void)const 
-?GetStringValue@ProvRowStatusType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvTimeTicksType::GetStringValue(void)const 
-?GetStringValue@ProvTimeTicksType@@UBEPAGXZ
-; public: virtual unsigned short * __thiscall ProvUDPAddressType::GetStringValue(void)const 
-?GetStringValue@ProvUDPAddressType@@UBEPAGXZ
-; private: class ProvLexicon * __thiscall ProvAnalyser::GetToken(int,int,int)
-?GetToken@ProvAnalyser@@AAEPAVProvLexicon@@HHH@Z
-; public: enum ProvLexicon::LexiconToken  __thiscall ProvLexicon::GetToken(void)
-?GetToken@ProvLexicon@@QAE?AW4LexiconToken@1@XZ
-; public: unsigned long __thiscall WmiTreeNode::GetType(void)
-?GetType@WmiTreeNode@@QAEKXZ
-; public: long __thiscall ProvNegativeRangeType::GetUpperBound(void)
-?GetUpperBound@ProvNegativeRangeType@@QAEJXZ
-; public: unsigned long __thiscall ProvPositiveRangeType::GetUpperBound(void)
-?GetUpperBound@ProvPositiveRangeType@@QAEKXZ
-; public: unsigned long __thiscall ProvBitStringType::GetValue(unsigned short * * &)const 
-?GetValue@ProvBitStringType@@QBEKAAPAPAG@Z
-; public: void __thiscall ProvCounter64Type::GetValue(unsigned long &,unsigned long &)const 
-?GetValue@ProvCounter64Type@@QBEXAAK0@Z
-; public: unsigned long __thiscall ProvCounter::GetValue(void)const 
-?GetValue@ProvCounter@@QBEKXZ
-; public: unsigned long __thiscall ProvCounterType::GetValue(void)const 
-?GetValue@ProvCounterType@@QBEKXZ
-; public: unsigned short * __thiscall ProvDateTimeType::GetValue(void)const 
-?GetValue@ProvDateTimeType@@QBEPAGXZ
-; public: unsigned short * __thiscall ProvDisplayStringType::GetValue(void)const 
-?GetValue@ProvDisplayStringType@@QBEPAGXZ
-; public: unsigned short * __thiscall ProvEnumeratedType::GetValue(void)const 
-?GetValue@ProvEnumeratedType@@QBEPAGXZ
-; public: unsigned short * __thiscall ProvFixedLengthDisplayStringType::GetValue(void)const 
-?GetValue@ProvFixedLengthDisplayStringType@@QBEPAGXZ
-; public: unsigned long __thiscall ProvGauge::GetValue(void)const 
-?GetValue@ProvGauge@@QBEKXZ
-; public: unsigned long __thiscall ProvGaugeType::GetValue(void)const 
-?GetValue@ProvGaugeType@@QBEKXZ
-; public: long __thiscall ProvInteger::GetValue(void)const 
-?GetValue@ProvInteger@@QBEJXZ
-; public: long __thiscall ProvIntegerType::GetValue(void)const 
-?GetValue@ProvIntegerType@@QBEJXZ
-; public: unsigned long __thiscall ProvIpAddress::GetValue(void)const 
-?GetValue@ProvIpAddress@@QBEKXZ
-; public: unsigned long __thiscall ProvIpAddressType::GetValue(void)const 
-?GetValue@ProvIpAddressType@@QBEKXZ
-; public: union ProvLexiconValue * __thiscall ProvLexicon::GetValue(void)
-?GetValue@ProvLexicon@@QAEPATProvLexiconValue@@XZ
-; public: unsigned long __thiscall ProvNetworkAddressType::GetValue(void)const 
-?GetValue@ProvNetworkAddressType@@QBEKXZ
-; public: unsigned long * __thiscall ProvObjectIdentifier::GetValue(void)const 
-?GetValue@ProvObjectIdentifier@@QBEPAKXZ
-; public: unsigned long * __thiscall ProvObjectIdentifierType::GetValue(void)const 
-?GetValue@ProvObjectIdentifierType@@QBEPAKXZ
-; public: unsigned char * __thiscall ProvOctetString::GetValue(void)const 
-?GetValue@ProvOctetString@@QBEPAEXZ
-; public: unsigned char * __thiscall ProvOctetStringType::GetValue(void)const 
-?GetValue@ProvOctetStringType@@QBEPAEXZ
-; public: unsigned char * __thiscall ProvOpaque::GetValue(void)const 
-?GetValue@ProvOpaque@@QBEPAEXZ
-; public: unsigned char * __thiscall ProvOpaqueType::GetValue(void)const 
-?GetValue@ProvOpaqueType@@QBEPAEXZ
-; public: unsigned short * __thiscall ProvRowStatusType::GetValue(void)const 
-?GetValue@ProvRowStatusType@@QBEPAGXZ
-; public: unsigned long __thiscall ProvTimeTicks::GetValue(void)const 
-?GetValue@ProvTimeTicks@@QBEKXZ
-; public: unsigned long __thiscall ProvTimeTicksType::GetValue(void)const 
-?GetValue@ProvTimeTicksType@@QBEKXZ
-; public: unsigned long __thiscall ProvUInteger32::GetValue(void)const 
-?GetValue@ProvUInteger32@@QBEKXZ
-; public: long __thiscall WmiSignedIntegerNode::GetValue(void)
-?GetValue@WmiSignedIntegerNode@@QAEJXZ
-; public: unsigned short * __thiscall WmiStringNode::GetValue(void)
-?GetValue@WmiStringNode@@QAEPAGXZ
-; public: unsigned long __thiscall WmiUnsignedIntegerNode::GetValue(void)
-?GetValue@WmiUnsignedIntegerNode@@QAEKXZ
-; public: unsigned long __thiscall ProvObjectIdentifier::GetValueLength(void)const 
-?GetValueLength@ProvObjectIdentifier@@QBEKXZ
-; public: unsigned long __thiscall ProvObjectIdentifierType::GetValueLength(void)const 
-?GetValueLength@ProvObjectIdentifierType@@QBEKXZ
-; public: unsigned long __thiscall ProvOctetString::GetValueLength(void)const 
-?GetValueLength@ProvOctetString@@QBEKXZ
-; public: unsigned long __thiscall ProvOctetStringType::GetValueLength(void)const 
-?GetValueLength@ProvOctetStringType@@QBEKXZ
-; public: unsigned long __thiscall ProvOpaque::GetValueLength(void)const 
-?GetValueLength@ProvOpaque@@QBEKXZ
-; public: unsigned long __thiscall ProvOpaqueType::GetValueLength(void)const 
-?GetValueLength@ProvOpaqueType@@QBEKXZ
-; public: static unsigned long __stdcall ProvAnalyser::HexCharToDecInteger(char)
-?HexCharToDecInteger@ProvAnalyser@@SGKD@Z
-; public: static unsigned long __stdcall ProvAnalyser::HexWCharToDecInteger(unsigned short)
-?HexWCharToDecInteger@ProvAnalyser@@SGKG@Z
-; public: int __thiscall WmiRangeNode::InfiniteLowerBound(void)
-?InfiniteLowerBound@WmiRangeNode@@QAEHXZ
-; public: int __thiscall WmiRangeNode::InfiniteUpperBound(void)
-?InfiniteUpperBound@WmiRangeNode@@QAEHXZ
-; protected: virtual void __thiscall ProvAnalyser::Initialise(void)
-?Initialise@ProvAnalyser@@MAEXXZ
-; public: enum WmiTriState  __thiscall Conjunctions::Initialize(void)
-?Initialize@Conjunctions@@QAE?AW4WmiTriState@@XZ
-; public: enum WmiTriState  __thiscall Disjunctions::Initialize(void)
-?Initialize@Disjunctions@@QAE?AW4WmiTriState@@XZ
-; public: enum WmiTriState  __thiscall PartitionSet::Initialize(unsigned long)
-?Initialize@PartitionSet@@QAE?AW4WmiTriState@@K@Z
-; protected: virtual void __thiscall ProvObjectIdentifier::Initialize(unsigned long const *,unsigned long)
-?Initialize@ProvObjectIdentifier@@MAEXPBKK@Z
-; protected: virtual void __thiscall ProvOctetString::Initialize(unsigned char const *,unsigned long)
-?Initialize@ProvOctetString@@MAEXPBEK@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::InsertNode(class WmiTreeNode * &,class WmiTreeNode * &)
-?InsertNode@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@0@Z
-; protected: virtual enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::InvariantEvaluate(void *,class WmiTreeNode *,class WmiTreeNode *)
-?InvariantEvaluate@QueryPreprocessor@@MAE?AW4QuadState@1@PAXPAVWmiTreeNode@@1@Z
-; public: static int __stdcall ProvAnalyser::IsAlpha(unsigned short)
-?IsAlpha@ProvAnalyser@@SGHG@Z
-; public: static int __stdcall ProvAnalyser::IsAlphaNumeric(unsigned short)
-?IsAlphaNumeric@ProvAnalyser@@SGHG@Z
-; public: static int __stdcall ProvAnalyser::IsDecimal(unsigned short)
-?IsDecimal@ProvAnalyser@@SGHG@Z
-; public: static int __stdcall ProvAnalyser::IsEof(unsigned short)
-?IsEof@ProvAnalyser@@SGHG@Z
-; public: static int __stdcall ProvAnalyser::IsHex(unsigned short)
-?IsHex@ProvAnalyser@@SGHG@Z
-; public: static int __stdcall ProvAnalyser::IsLeadingDecimal(unsigned short)
-?IsLeadingDecimal@ProvAnalyser@@SGHG@Z
-; public: virtual int __thiscall ProvInstanceType::IsNull(void)const 
-?IsNull@ProvInstanceType@@UBEHXZ
-; public: static int __stdcall ProvAnalyser::IsOctal(unsigned short)
-?IsOctal@ProvAnalyser@@SGHG@Z
-; public: virtual int __thiscall ProvCounter64Type::IsProvV1Type(void)const 
-?IsProvV1Type@ProvCounter64Type@@UBEHXZ
-; public: virtual int __thiscall ProvInstanceType::IsProvV1Type(void)const 
-?IsProvV1Type@ProvInstanceType@@UBEHXZ
-; public: virtual int __thiscall ProvInstanceType::IsProvV2CType(void)const 
-?IsProvV2CType@ProvInstanceType@@UBEHXZ
-; public: virtual int __thiscall ProvNullType::IsProvV2CType(void)const 
-?IsProvV2CType@ProvNullType@@UBEHXZ
-; public: virtual int __thiscall ProvInstanceType::IsValid(void)const 
-?IsValid@ProvInstanceType@@UBEHXZ
-; public: int __thiscall ProvPositiveRangedType::IsValid(void)
-?IsValid@ProvPositiveRangedType@@QAEHXZ
-; public: static int __stdcall ProvAnalyser::IsWhitespace(unsigned short)
-?IsWhitespace@ProvAnalyser@@SGHG@Z
-; public: int __thiscall PartitionSet::Leaf(void)
-?Leaf@PartitionSet@@QAEHXZ
-; public: int __thiscall WmiSignedIntegerNode::LexicographicallyAfter(long &)
-?LexicographicallyAfter@WmiSignedIntegerNode@@QAEHAAJ@Z
-; public: int __thiscall WmiStringNode::LexicographicallyAfter(unsigned short * &)
-?LexicographicallyAfter@WmiStringNode@@QAEHAAPAG@Z
-; public: int __thiscall WmiUnsignedIntegerNode::LexicographicallyAfter(unsigned long &)
-?LexicographicallyAfter@WmiUnsignedIntegerNode@@QAEHAAK@Z
-; public: int __thiscall WmiSignedIntegerNode::LexicographicallyBefore(long &)
-?LexicographicallyBefore@WmiSignedIntegerNode@@QAEHAAJ@Z
-; public: int __thiscall WmiStringNode::LexicographicallyBefore(unsigned short * &)
-?LexicographicallyBefore@WmiStringNode@@QAEHAAPAG@Z
-; public: int __thiscall WmiUnsignedIntegerNode::LexicographicallyBefore(unsigned long &)
-?LexicographicallyBefore@WmiUnsignedIntegerNode@@QAEHAAK@Z
-; public: long __thiscall WmiSignedIntegerRangeNode::LowerBound(void)
-?LowerBound@WmiSignedIntegerRangeNode@@QAEJXZ
-; public: unsigned short * __thiscall WmiStringRangeNode::LowerBound(void)
-?LowerBound@WmiStringRangeNode@@QAEPAGXZ
-; public: unsigned long __thiscall WmiUnsignedIntegerRangeNode::LowerBound(void)
-?LowerBound@WmiUnsignedIntegerRangeNode@@QAEKXZ
-; private: class ProvLexicon * __thiscall ProvBitStringType::Match(enum ProvLexicon::LexiconToken)
-?Match@ProvBitStringType@@AAEPAVProvLexicon@@W4LexiconToken@2@@Z
-; private: class ProvLexicon * __thiscall ProvDateTimeType::Match(enum ProvLexicon::LexiconToken)
-?Match@ProvDateTimeType@@AAEPAVProvLexicon@@W4LexiconToken@2@@Z
-; private: class ProvLexicon * __thiscall ProvEnumeratedType::Match(enum ProvLexicon::LexiconToken)
-?Match@ProvEnumeratedType@@AAEPAVProvLexicon@@W4LexiconToken@2@@Z
-; protected: class ProvLexicon * __thiscall ProvPositiveRangedType::Match(enum ProvLexicon::LexiconToken)
-?Match@ProvPositiveRangedType@@IAEPAVProvLexicon@@W4LexiconToken@2@@Z
-; public: static unsigned long __stdcall ProvAnalyser::OctCharToDecInteger(char)
-?OctCharToDecInteger@ProvAnalyser@@SGKD@Z
-; public: static unsigned long __stdcall ProvAnalyser::OctWCharToDecInteger(unsigned short)
-?OctWCharToDecInteger@ProvAnalyser@@SGKG@Z
-; private: void __thiscall ProvObjectIdentifier::OverWrite(unsigned long const *)
-?OverWrite@ProvObjectIdentifier@@AAEXPBK@Z
-; private: void __thiscall ProvOctetString::OverWrite(unsigned char const *)
-?OverWrite@ProvOctetString@@AAEXPBE@Z
-; private: int __thiscall ProvBitStringType::Parse(unsigned short const *)
-?Parse@ProvBitStringType@@AAEHPBG@Z
-; protected: int __thiscall ProvCounter64Type::Parse(unsigned short const *)
-?Parse@ProvCounter64Type@@IAEHPBG@Z
-; protected: int __thiscall ProvCounterType::Parse(unsigned short const *)
-?Parse@ProvCounterType@@IAEHPBG@Z
-; private: int __thiscall ProvDateTimeType::Parse(unsigned short const *)
-?Parse@ProvDateTimeType@@AAEHPBG@Z
-; private: int __thiscall ProvEnumeratedType::Parse(unsigned short const *)
-?Parse@ProvEnumeratedType@@AAEHPBG@Z
-; protected: int __thiscall ProvFixedLengthPhysAddressType::Parse(unsigned short const *)
-?Parse@ProvFixedLengthPhysAddressType@@IAEHPBG@Z
-; protected: int __thiscall ProvGaugeType::Parse(unsigned short const *)
-?Parse@ProvGaugeType@@IAEHPBG@Z
-; protected: int __thiscall ProvIPXAddressType::Parse(unsigned short const *)
-?Parse@ProvIPXAddressType@@IAEHPBG@Z
-; protected: int __thiscall ProvIntegerType::Parse(unsigned short const *)
-?Parse@ProvIntegerType@@IAEHPBG@Z
-; protected: int __thiscall ProvIpAddressType::Parse(unsigned short const *)
-?Parse@ProvIpAddressType@@IAEHPBG@Z
-; protected: int __thiscall ProvMacAddressType::Parse(unsigned short const *)
-?Parse@ProvMacAddressType@@IAEHPBG@Z
-; protected: int __thiscall ProvNetworkAddressType::Parse(unsigned short const *)
-?Parse@ProvNetworkAddressType@@IAEHPBG@Z
-; protected: int __thiscall ProvOSIAddressType::Parse(unsigned short const *)
-?Parse@ProvOSIAddressType@@IAEHPBG@Z
-; protected: int __thiscall ProvObjectIdentifierType::Parse(unsigned short const *)
-?Parse@ProvObjectIdentifierType@@IAEHPBG@Z
-; protected: int __thiscall ProvOctetStringType::Parse(unsigned short const *)
-?Parse@ProvOctetStringType@@IAEHPBG@Z
-; protected: int __thiscall ProvOpaqueType::Parse(unsigned short const *)
-?Parse@ProvOpaqueType@@IAEHPBG@Z
-; protected: int __thiscall ProvPhysAddressType::Parse(unsigned short const *)
-?Parse@ProvPhysAddressType@@IAEHPBG@Z
-; protected: int __thiscall ProvPositiveRangedType::Parse(unsigned short const *)
-?Parse@ProvPositiveRangedType@@IAEHPBG@Z
-; protected: int __thiscall ProvTimeTicksType::Parse(unsigned short const *)
-?Parse@ProvTimeTicksType@@IAEHPBG@Z
-; protected: int __thiscall ProvUDPAddressType::Parse(unsigned short const *)
-?Parse@ProvUDPAddressType@@IAEHPBG@Z
-; public: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::PreProcess(void *,struct SQL_LEVEL_1_RPN_EXPRESSION *,class WmiTreeNode * &)
-?PreProcess@QueryPreprocessor@@QAE?AW4QuadState@1@PAXPAUSQL_LEVEL_1_RPN_EXPRESSION@@AAPAVWmiTreeNode@@@Z
-; public: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::PreProcess(void *,struct SQL_LEVEL_1_RPN_EXPRESSION *,class WmiTreeNode *,unsigned long,unsigned short * *,class PartitionSet * &)
-?PreProcess@QueryPreprocessor@@QAE?AW4QuadState@1@PAXPAUSQL_LEVEL_1_RPN_EXPRESSION@@PAVWmiTreeNode@@KPAPAGAAPAVPartitionSet@@@Z
-; public: int __thiscall ProvObjectIdentifier::Prefix(unsigned long,class ProvObjectIdentifier &)const 
-?Prefix@ProvObjectIdentifier@@QBEHKAAV1@@Z
-; public: virtual void __thiscall WmiAndNode::Print(void)
-?Print@WmiAndNode@@UAEXXZ
-; public: virtual void __thiscall WmiNotNode::Print(void)
-?Print@WmiNotNode@@UAEXXZ
-; public: virtual void __thiscall WmiNullNode::Print(void)
-?Print@WmiNullNode@@UAEXXZ
-; public: virtual void __thiscall WmiNullRangeNode::Print(void)
-?Print@WmiNullRangeNode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorEqualNode::Print(void)
-?Print@WmiOperatorEqualNode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorEqualOrGreaterNode::Print(void)
-?Print@WmiOperatorEqualOrGreaterNode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorEqualOrLessNode::Print(void)
-?Print@WmiOperatorEqualOrLessNode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorGreaterNode::Print(void)
-?Print@WmiOperatorGreaterNode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorIsANode::Print(void)
-?Print@WmiOperatorIsANode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorLessNode::Print(void)
-?Print@WmiOperatorLessNode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorLikeNode::Print(void)
-?Print@WmiOperatorLikeNode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorNotEqualNode::Print(void)
-?Print@WmiOperatorNotEqualNode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorNotIsANode::Print(void)
-?Print@WmiOperatorNotIsANode@@UAEXXZ
-; public: virtual void __thiscall WmiOperatorNotLikeNode::Print(void)
-?Print@WmiOperatorNotLikeNode@@UAEXXZ
-; public: virtual void __thiscall WmiOrNode::Print(void)
-?Print@WmiOrNode@@UAEXXZ
-; public: virtual void __thiscall WmiSignedIntegerNode::Print(void)
-?Print@WmiSignedIntegerNode@@UAEXXZ
-; public: virtual void __thiscall WmiSignedIntegerRangeNode::Print(void)
-?Print@WmiSignedIntegerRangeNode@@UAEXXZ
-; public: virtual void __thiscall WmiStringNode::Print(void)
-?Print@WmiStringNode@@UAEXXZ
-; public: virtual void __thiscall WmiStringRangeNode::Print(void)
-?Print@WmiStringRangeNode@@UAEXXZ
-; public: virtual void __thiscall WmiTreeNode::Print(void)
-?Print@WmiTreeNode@@UAEXXZ
-; public: virtual void __thiscall WmiUnsignedIntegerNode::Print(void)
-?Print@WmiUnsignedIntegerNode@@UAEXXZ
-; public: virtual void __thiscall WmiUnsignedIntegerRangeNode::Print(void)
-?Print@WmiUnsignedIntegerRangeNode@@UAEXXZ
-; protected: void __thiscall QueryPreprocessor::PrintTree(class WmiTreeNode *)
-?PrintTree@QueryPreprocessor@@IAEXPAVWmiTreeNode@@@Z
-; public: virtual void __thiscall ProvEventObject::Process(void)
-?Process@ProvEventObject@@UAEXXZ
-; private: void __thiscall ProvBitStringType::PushBack(void)
-?PushBack@ProvBitStringType@@AAEXXZ
-; private: void __thiscall ProvDateTimeType::PushBack(void)
-?PushBack@ProvDateTimeType@@AAEXXZ
-; private: void __thiscall ProvEnumeratedType::PushBack(void)
-?PushBack@ProvEnumeratedType@@AAEXXZ
-; protected: void __thiscall ProvPositiveRangedType::PushBack(void)
-?PushBack@ProvPositiveRangedType@@IAEXXZ
-; public: void __thiscall ProvAnalyser::PutBack(class ProvLexicon const *)
-?PutBack@ProvAnalyser@@QAEXPBVProvLexicon@@@Z
-; public: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::Query(unsigned short *,struct SQL_LEVEL_1_RPN_EXPRESSION * &)
-?Query@QueryPreprocessor@@QAE?AW4QuadState@1@PAGAAPAUSQL_LEVEL_1_RPN_EXPRESSION@@@Z
-; protected: void __thiscall QueryPreprocessor::QuickSort(class WmiRangeNode * *,unsigned long *,unsigned long)
-?QuickSort@QueryPreprocessor@@IAEXPAPAVWmiRangeNode@@PAKK@Z
-; protected: int __thiscall ProvPositiveRangedType::RangeDef(void)
-?RangeDef@ProvPositiveRangedType@@IAEHXZ
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursiveConvertToRanges(class WmiTreeNode * &)
-?RecursiveConvertToRanges@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
-; private: int __thiscall ProvBitStringType::RecursiveDef(void)
-?RecursiveDef@ProvBitStringType@@AAEHXZ
-; private: int __thiscall ProvEnumeratedType::RecursiveDef(void)
-?RecursiveDef@ProvEnumeratedType@@AAEHXZ
-; protected: int __thiscall ProvPositiveRangedType::RecursiveDef(void)
-?RecursiveDef@ProvPositiveRangedType@@IAEHXZ
-; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RecursiveDisjunctiveNormalForm(class WmiTreeNode * &)
-?RecursiveDisjunctiveNormalForm@QueryPreprocessor@@IAE?AW4QuadState@1@AAPAVWmiTreeNode@@@Z
-; protected: int __thiscall QueryPreprocessor::RecursiveEvaluate(void *,struct SQL_LEVEL_1_RPN_EXPRESSION &,class WmiTreeNode *,class WmiTreeNode * *,int &)
-?RecursiveEvaluate@QueryPreprocessor@@IAEHPAXAAUSQL_LEVEL_1_RPN_EXPRESSION@@PAVWmiTreeNode@@PAPAV3@AAH@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursiveInsertNode(class WmiTreeNode * &,class WmiTreeNode * &)
-?RecursiveInsertNode@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@0@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursivePartitionSet(class Disjunctions *,class PartitionSet * &,unsigned long,unsigned long *,unsigned long)
-?RecursivePartitionSet@QueryPreprocessor@@IAE?AW4WmiTriState@@PAVDisjunctions@@AAPAVPartitionSet@@KPAKK@Z
-; protected: void __thiscall QueryPreprocessor::RecursiveQuickSort(class WmiRangeNode * *,unsigned long *,unsigned long,unsigned long)
-?RecursiveQuickSort@QueryPreprocessor@@IAEXPAPAVWmiRangeNode@@PAKKK@Z
-; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RecursiveRemoveInvariants(void *,class WmiTreeNode * &)
-?RecursiveRemoveInvariants@QueryPreprocessor@@IAE?AW4QuadState@1@PAXAAPAVWmiTreeNode@@@Z
-; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RecursiveRemoveNonOverlappingRanges(class WmiTreeNode * &,class WmiTreeNode * &)
-?RecursiveRemoveNonOverlappingRanges@QueryPreprocessor@@IAE?AW4QuadState@1@AAPAVWmiTreeNode@@0@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursiveSort(class WmiTreeNode * &)
-?RecursiveSort@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursiveSortConditionals(class WmiTreeNode * &,class WmiTreeNode * &)
-?RecursiveSortConditionals@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@0@Z
-; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RemoveInvariants(void *,class WmiTreeNode * &)
-?RemoveInvariants@QueryPreprocessor@@IAE?AW4QuadState@1@PAXAAPAVWmiTreeNode@@@Z
-; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RemoveNonOverlappingRanges(class WmiTreeNode * &)
-?RemoveNonOverlappingRanges@QueryPreprocessor@@IAE?AW4QuadState@1@AAPAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::RemoveOverlaps(unsigned long *,unsigned long,unsigned long *,unsigned long *,class WmiRangeNode * *)
-?RemoveOverlaps@QueryPreprocessor@@IAE?AW4WmiTriState@@PAKK00PAPAVWmiRangeNode@@@Z
-; protected: virtual unsigned long * __thiscall ProvObjectIdentifier::Replicate(unsigned long const *,unsigned long,unsigned long const *,unsigned long)const 
-?Replicate@ProvObjectIdentifier@@MBEPAKPBKK0K@Z
-; protected: virtual unsigned long * __thiscall ProvObjectIdentifier::Replicate(unsigned long const *,unsigned long)const 
-?Replicate@ProvObjectIdentifier@@MBEPAKPBKK@Z
-; protected: virtual unsigned char * __thiscall ProvOctetString::Replicate(unsigned char const *,unsigned long)
-?Replicate@ProvOctetString@@MAEPAEPBEK@Z
-; public: int __thiscall PartitionSet::Root(void)
-?Root@PartitionSet@@QAEHXZ
-; public: void __thiscall ProvAnalyser::Set(unsigned short const *)
-?Set@ProvAnalyser@@QAEXPBG@Z
-; public: void __thiscall ProvEventObject::Set(void)
-?Set@ProvEventObject@@QAEXXZ
-; public: void * __thiscall WmiTreeNode::SetData(void *)
-?SetData@WmiTreeNode@@QAEPAXPAX@Z
-; public: class WmiTreeNode * __thiscall WmiTreeNodeIterator::SetIterator(class WmiTreeNode *)
-?SetIterator@WmiTreeNodeIterator@@QAEPAVWmiTreeNode@@PAV2@@Z
-; public: void __thiscall PartitionSet::SetKeyIndex(unsigned long)
-?SetKeyIndex@PartitionSet@@QAEXK@Z
-; public: class WmiTreeNode * __thiscall WmiTreeNode::SetLeft(class WmiTreeNode *)
-?SetLeft@WmiTreeNode@@QAEPAV1@PAV1@@Z
-; public: void __thiscall ProvNegativeRangeType::SetLowerBound(long const &)
-?SetLowerBound@ProvNegativeRangeType@@QAEXABJ@Z
-; public: void __thiscall ProvPositiveRangeType::SetLowerBound(unsigned long const &)
-?SetLowerBound@ProvPositiveRangeType@@QAEXABK@Z
-; public: void __thiscall ProvInstanceType::SetNull(int)
-?SetNull@ProvInstanceType@@QAEXH@Z
-; public: class WmiTreeNode * __thiscall WmiTreeNode::SetParent(class WmiTreeNode *)
-?SetParent@WmiTreeNode@@QAEPAV1@PAV1@@Z
-; public: void __thiscall PartitionSet::SetPartition(unsigned long,class PartitionSet *)
-?SetPartition@PartitionSet@@QAEXKPAV1@@Z
-; public: void __thiscall Conjunctions::SetRange(unsigned long,class WmiRangeNode *)
-?SetRange@Conjunctions@@QAEXKPAVWmiRangeNode@@@Z
-; public: void __thiscall PartitionSet::SetRange(class WmiRangeNode *)
-?SetRange@PartitionSet@@QAEXPAVWmiRangeNode@@@Z
-; public: class WmiTreeNode * __thiscall WmiTreeNode::SetRight(class WmiTreeNode *)
-?SetRight@WmiTreeNode@@QAEPAV1@PAV1@@Z
-; public: void __thiscall ProvInstanceType::SetStatus(int)
-?SetStatus@ProvInstanceType@@QAEXH@Z
-; public: void __thiscall ProvPositiveRangedType::SetStatus(int const &)
-?SetStatus@ProvPositiveRangedType@@QAEXABH@Z
-; public: void __thiscall ProvLexicon::SetToken(enum ProvLexicon::LexiconToken)
-?SetToken@ProvLexicon@@QAEXW4LexiconToken@1@@Z
-; public: void __thiscall WmiTreeNode::SetType(unsigned long)
-?SetType@WmiTreeNode@@QAEXK@Z
-; public: void __thiscall ProvNegativeRangeType::SetUpperBound(long const &)
-?SetUpperBound@ProvNegativeRangeType@@QAEXABJ@Z
-; public: void __thiscall ProvPositiveRangeType::SetUpperBound(unsigned long const &)
-?SetUpperBound@ProvPositiveRangeType@@QAEXABK@Z
-; public: void __thiscall ProvCounter64::SetValue(unsigned long,unsigned long)
-?SetValue@ProvCounter64@@QAEXKK@Z
-; public: void __thiscall ProvCounter::SetValue(unsigned long)
-?SetValue@ProvCounter@@QAEXK@Z
-; public: void __thiscall ProvGauge::SetValue(unsigned long)
-?SetValue@ProvGauge@@QAEXK@Z
-; public: void __thiscall ProvInteger::SetValue(long)
-?SetValue@ProvInteger@@QAEXJ@Z
-; public: void __thiscall ProvIpAddress::SetValue(unsigned long)
-?SetValue@ProvIpAddress@@QAEXK@Z
-; public: void __thiscall ProvObjectIdentifier::SetValue(unsigned long const *,unsigned long)
-?SetValue@ProvObjectIdentifier@@QAEXPBKK@Z
-; public: void __thiscall ProvOctetString::SetValue(unsigned char const *,unsigned long)
-?SetValue@ProvOctetString@@QAEXPBEK@Z
-; public: void __thiscall ProvOpaque::SetValue(unsigned char const *,unsigned long)
-?SetValue@ProvOpaque@@QAEXPBEK@Z
-; public: void __thiscall ProvTimeTicks::SetValue(unsigned long)
-?SetValue@ProvTimeTicks@@QAEXK@Z
-; public: void __thiscall ProvUInteger32::SetValue(unsigned long)
-?SetValue@ProvUInteger32@@QAEXK@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::Sort(class WmiTreeNode * &)
-?Sort@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
-; protected: enum WmiTriState  __thiscall QueryPreprocessor::SortConditionals(class WmiTreeNode * &)
-?SortConditionals@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
-; protected: void __thiscall QueryPreprocessor::SortRanges(unsigned long,unsigned long *,class WmiRangeNode * *)
-?SortRanges@QueryPreprocessor@@IAEXKPAKPAPAVWmiRangeNode@@@Z
-; public: static int __stdcall ProvDebugLog::Startup(void)
-?Startup@ProvDebugLog@@SGHXZ
-; public: int __thiscall ProvObjectIdentifier::Suffix(unsigned long,class ProvObjectIdentifier &)const 
-?Suffix@ProvObjectIdentifier@@QBEHKAAV1@@Z
-; protected: void __thiscall QueryPreprocessor::TransformAndOrExpression(class WmiTreeNode * &,class WmiTreeNode *,class WmiTreeNode *)
-?TransformAndOrExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@1@Z
-; protected: void __thiscall QueryPreprocessor::TransformAndTrueEvaluation(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformAndTrueEvaluation@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformIntersectingRange(class WmiTreeNode * &,class WmiTreeNode *,class WmiTreeNode *)
-?TransformIntersectingRange@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@1@Z
-; protected: void __thiscall QueryPreprocessor::TransformNonIntersectingRange(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNonIntersectingRange@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotAndExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotAndExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotEqualExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotEqualExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotNotExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotNotExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorEqualExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorEqualExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorEqualOrGreaterExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorEqualOrGreaterExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorEqualOrLessExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorEqualOrLessExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorGreaterExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorGreaterExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorIsAExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorIsAExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorLessExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorLessExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorLikeExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorLikeExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorNotEqualExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorNotEqualExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorNotIsAExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorNotIsAExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOperatorNotLikeExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOperatorNotLikeExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformNotOrExpression(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformNotOrExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: void __thiscall QueryPreprocessor::TransformOperatorToRange(class WmiTreeNode * &)
-?TransformOperatorToRange@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@@Z
-; protected: void __thiscall QueryPreprocessor::TransformOrFalseEvaluation(class WmiTreeNode * &,class WmiTreeNode *)
-?TransformOrFalseEvaluation@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
-; protected: virtual void __thiscall ProvObjectIdentifier::UnReplicate(unsigned long *)
-?UnReplicate@ProvObjectIdentifier@@MAEXPAK@Z
-; protected: virtual void __thiscall ProvOctetString::UnReplicate(unsigned char *)
-?UnReplicate@ProvOctetString@@MAEXPAE@Z
-; unsigned short * __stdcall UnicodeStringAppend(unsigned short const *,unsigned short const *)
-?UnicodeStringAppend@@YGPAGPBG0@Z
-; unsigned short * __stdcall UnicodeStringDuplicate(unsigned short const *)
-?UnicodeStringDuplicate@@YGPAGPBG@Z
-; char * __stdcall UnicodeToDbcsString(unsigned short const *)
-?UnicodeToDbcsString@@YGPADPBG@Z
-; public: long __thiscall WmiSignedIntegerRangeNode::UpperBound(void)
-?UpperBound@WmiSignedIntegerRangeNode@@QAEJXZ
-; public: unsigned short * __thiscall WmiStringRangeNode::UpperBound(void)
-?UpperBound@WmiStringRangeNode@@QAEPAGXZ
-; public: unsigned long __thiscall WmiUnsignedIntegerRangeNode::UpperBound(void)
-?UpperBound@WmiUnsignedIntegerRangeNode@@QAEKXZ
-; public: virtual int __thiscall ProvEventObject::Wait(void)
-?Wait@ProvEventObject@@UAEHXZ
-; public: void __cdecl ProvDebugLog::Write(unsigned short const *,...)
-?Write@ProvDebugLog@@QAAXPBGZZ
-; public: void __cdecl ProvDebugLog::WriteA(char const *,...)
-?WriteA@ProvDebugLog@@QAAXPBDZZ
-; public: void __cdecl ProvDebugLog::WriteFileAndLine(char const *,unsigned long,unsigned short const *,...)
-?WriteFileAndLine@ProvDebugLog@@QAAXPBDKPBGZZ
-; public: void __cdecl ProvDebugLog::WriteFileAndLine(unsigned short const *,unsigned long,unsigned short const *,...)
-?WriteFileAndLine@ProvDebugLog@@QAAXPBGK0ZZ
-; public: void __cdecl ProvDebugLog::WriteFileAndLineA(char const *,unsigned long,char const *,...)
-?WriteFileAndLineA@ProvDebugLog@@QAAXPBDK0ZZ
-; public: void __cdecl ProvDebugLog::WriteFileAndLineW(unsigned short const *,unsigned long,unsigned short const *,...)
-?WriteFileAndLineW@ProvDebugLog@@QAAXPBGK0ZZ
-; public: void __cdecl ProvDebugLog::WriteW(unsigned short const *,...)
-?WriteW@ProvDebugLog@@QAAXPBGZZ
-; public: static class ProvDebugLog *  ProvDebugLog::s_ProvDebugLog
-?s_ProvDebugLog@ProvDebugLog@@2PAV1@A DATA
-; public: static long  ProvDebugLog::s_ReferenceCount
-?s_ReferenceCount@ProvDebugLog@@2JA DATA
-; public: static class ProvDebugLog *  ProvDebugLog::s_aLogs
-?s_aLogs@ProvDebugLog@@2PAV1@A DATA
+; 
+; Exports of file PROVTHRD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PROVTHRD.dll
+EXPORTS
+; PAGPAG::?$CompareElements(YGHPBQAG0@Z)
+??$CompareElements@PAGPAG@@YGHPBQAG0@Z
+; PAG::?$HashKey(YGIPAG@Z)
+??$HashKey@PAG@@YGIPAG@Z
+; public: __thiscall CBString::CBString(int)
+??0CBString@@QAE@H@Z
+; public: __thiscall CBString::CBString(unsigned short *)
+??0CBString@@QAE@PAG@Z
+; public: __thiscall CBString::CBString(void)
+??0CBString@@QAE@XZ
+; public: __thiscall Conjunctions::Conjunctions(unsigned long)
+??0Conjunctions@@QAE@K@Z
+; public: __thiscall Disjunctions::Disjunctions(unsigned long,unsigned long)
+??0Disjunctions@@QAE@KK@Z
+; public: __thiscall PartitionSet::PartitionSet(class PartitionSet const &)
+??0PartitionSet@@QAE@ABV0@@Z
+; public: __thiscall PartitionSet::PartitionSet(void)
+??0PartitionSet@@QAE@XZ
+; public: __thiscall ProvAnalyser::ProvAnalyser(class ProvAnalyser const &)
+??0ProvAnalyser@@QAE@ABV0@@Z
+; public: __thiscall ProvAnalyser::ProvAnalyser(unsigned short const *)
+??0ProvAnalyser@@QAE@PBG@Z
+; public: __thiscall ProvBitStringType::ProvBitStringType(class ProvBitStringType const &)
+??0ProvBitStringType@@QAE@ABV0@@Z
+; public: __thiscall ProvBitStringType::ProvBitStringType(unsigned short const *)
+??0ProvBitStringType@@QAE@PBG@Z
+; public: __thiscall ProvBitStringType::ProvBitStringType(unsigned short const *,class ProvOctetString const &)
+??0ProvBitStringType@@QAE@PBGABVProvOctetString@@@Z
+; public: __thiscall ProvBitStringType::ProvBitStringType(unsigned short const *,unsigned short const * *,unsigned long const &)
+??0ProvBitStringType@@QAE@PBGPAPBGABK@Z
+; public: __thiscall ProvCounter64::ProvCounter64(class ProvCounter64 const &)
+??0ProvCounter64@@QAE@ABV0@@Z
+; public: __thiscall ProvCounter64::ProvCounter64(unsigned long,unsigned long)
+??0ProvCounter64@@QAE@KK@Z
+; public: __thiscall ProvCounter64Type::ProvCounter64Type(class ProvCounter64Type const &)
+??0ProvCounter64Type@@QAE@ABV0@@Z
+; public: __thiscall ProvCounter64Type::ProvCounter64Type(class ProvCounter64 const &)
+??0ProvCounter64Type@@QAE@ABVProvCounter64@@@Z
+; public: __thiscall ProvCounter64Type::ProvCounter64Type(unsigned long,unsigned long)
+??0ProvCounter64Type@@QAE@KK@Z
+; public: __thiscall ProvCounter64Type::ProvCounter64Type(unsigned short const *)
+??0ProvCounter64Type@@QAE@PBG@Z
+; public: __thiscall ProvCounter64Type::ProvCounter64Type(void)
+??0ProvCounter64Type@@QAE@XZ
+; public: __thiscall ProvCounter::ProvCounter(class ProvCounter const &)
+??0ProvCounter@@QAE@ABV0@@Z
+; public: __thiscall ProvCounter::ProvCounter(unsigned long)
+??0ProvCounter@@QAE@K@Z
+; public: __thiscall ProvCounterType::ProvCounterType(class ProvCounterType const &)
+??0ProvCounterType@@QAE@ABV0@@Z
+; public: __thiscall ProvCounterType::ProvCounterType(class ProvCounter const &)
+??0ProvCounterType@@QAE@ABVProvCounter@@@Z
+; public: __thiscall ProvCounterType::ProvCounterType(unsigned long)
+??0ProvCounterType@@QAE@K@Z
+; public: __thiscall ProvCounterType::ProvCounterType(unsigned short const *)
+??0ProvCounterType@@QAE@PBG@Z
+; public: __thiscall ProvCounterType::ProvCounterType(void)
+??0ProvCounterType@@QAE@XZ
+; public: __thiscall ProvDateTimeType::ProvDateTimeType(class ProvDateTimeType const &)
+??0ProvDateTimeType@@QAE@ABV0@@Z
+; public: __thiscall ProvDateTimeType::ProvDateTimeType(class ProvOctetString const &)
+??0ProvDateTimeType@@QAE@ABVProvOctetString@@@Z
+; public: __thiscall ProvDateTimeType::ProvDateTimeType(unsigned short const *)
+??0ProvDateTimeType@@QAE@PBG@Z
+; public: __thiscall ProvDateTimeType::ProvDateTimeType(void)
+??0ProvDateTimeType@@QAE@XZ
+; public: __thiscall ProvDebugLog::ProvDebugLog(char)
+??0ProvDebugLog@@QAE@D@Z
+; public: __thiscall ProvDisplayStringType::ProvDisplayStringType(class ProvDisplayStringType const &)
+??0ProvDisplayStringType@@QAE@ABV0@@Z
+; public: __thiscall ProvDisplayStringType::ProvDisplayStringType(class ProvOctetString const &,unsigned short const *)
+??0ProvDisplayStringType@@QAE@ABVProvOctetString@@PBG@Z
+; public: __thiscall ProvDisplayStringType::ProvDisplayStringType(unsigned short const *,unsigned short const *)
+??0ProvDisplayStringType@@QAE@PBG0@Z
+; public: __thiscall ProvDisplayStringType::ProvDisplayStringType(unsigned short const *)
+??0ProvDisplayStringType@@QAE@PBG@Z
+; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(class ProvEnumeratedType const &)
+??0ProvEnumeratedType@@QAE@ABV0@@Z
+; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(unsigned short const *,unsigned short const *)
+??0ProvEnumeratedType@@QAE@PBG0@Z
+; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(unsigned short const *)
+??0ProvEnumeratedType@@QAE@PBG@Z
+; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(unsigned short const *,long const &)
+??0ProvEnumeratedType@@QAE@PBGABJ@Z
+; public: __thiscall ProvEnumeratedType::ProvEnumeratedType(unsigned short const *,class ProvInteger const &)
+??0ProvEnumeratedType@@QAE@PBGABVProvInteger@@@Z
+; public: __thiscall ProvEventObject::ProvEventObject(class ProvEventObject const &)
+??0ProvEventObject@@QAE@ABV0@@Z
+; public: __thiscall ProvEventObject::ProvEventObject(unsigned short const *)
+??0ProvEventObject@@QAE@PBG@Z
+; public: __thiscall ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const &)
+??0ProvFixedLengthDisplayStringType@@QAE@ABK@Z
+; public: __thiscall ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const &,class ProvOctetString const &)
+??0ProvFixedLengthDisplayStringType@@QAE@ABKABVProvOctetString@@@Z
+; public: __thiscall ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(unsigned long const &,unsigned short const *)
+??0ProvFixedLengthDisplayStringType@@QAE@ABKPBG@Z
+; public: __thiscall ProvFixedLengthDisplayStringType::ProvFixedLengthDisplayStringType(class ProvFixedLengthDisplayStringType const &)
+??0ProvFixedLengthDisplayStringType@@QAE@ABV0@@Z
+; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const &)
+??0ProvFixedLengthOctetStringType@@QAE@ABK@Z
+; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const &,class ProvOctetString const &)
+??0ProvFixedLengthOctetStringType@@QAE@ABKABVProvOctetString@@@Z
+; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const &,unsigned char const *)
+??0ProvFixedLengthOctetStringType@@QAE@ABKPBE@Z
+; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(unsigned long const &,unsigned short const *)
+??0ProvFixedLengthOctetStringType@@QAE@ABKPBG@Z
+; public: __thiscall ProvFixedLengthOctetStringType::ProvFixedLengthOctetStringType(class ProvFixedLengthOctetStringType const &)
+??0ProvFixedLengthOctetStringType@@QAE@ABV0@@Z
+; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const &)
+??0ProvFixedLengthOpaqueType@@QAE@ABK@Z
+; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const &,class ProvOpaque const &)
+??0ProvFixedLengthOpaqueType@@QAE@ABKABVProvOpaque@@@Z
+; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const &,unsigned char const *,unsigned long)
+??0ProvFixedLengthOpaqueType@@QAE@ABKPBEK@Z
+; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(unsigned long const &,unsigned short const *)
+??0ProvFixedLengthOpaqueType@@QAE@ABKPBG@Z
+; public: __thiscall ProvFixedLengthOpaqueType::ProvFixedLengthOpaqueType(class ProvFixedLengthOpaqueType const &)
+??0ProvFixedLengthOpaqueType@@QAE@ABV0@@Z
+; public: __thiscall ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const &)
+??0ProvFixedLengthPhysAddressType@@QAE@ABK@Z
+; public: __thiscall ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const &,class ProvOctetString const &)
+??0ProvFixedLengthPhysAddressType@@QAE@ABKABVProvOctetString@@@Z
+; public: __thiscall ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(unsigned long const &,unsigned short const *)
+??0ProvFixedLengthPhysAddressType@@QAE@ABKPBG@Z
+; public: __thiscall ProvFixedLengthPhysAddressType::ProvFixedLengthPhysAddressType(class ProvFixedLengthPhysAddressType const &)
+??0ProvFixedLengthPhysAddressType@@QAE@ABV0@@Z
+; public: __thiscall ProvFixedType::ProvFixedType(class ProvFixedType const &)
+??0ProvFixedType@@QAE@ABV0@@Z
+; public: __thiscall ProvFixedType::ProvFixedType(unsigned long)
+??0ProvFixedType@@QAE@K@Z
+; public: __thiscall ProvGauge::ProvGauge(class ProvGauge const &)
+??0ProvGauge@@QAE@ABV0@@Z
+; public: __thiscall ProvGauge::ProvGauge(long)
+??0ProvGauge@@QAE@J@Z
+; public: __thiscall ProvGaugeType::ProvGaugeType(class ProvGaugeType const &)
+??0ProvGaugeType@@QAE@ABV0@@Z
+; public: __thiscall ProvGaugeType::ProvGaugeType(class ProvGauge const &,unsigned short const *)
+??0ProvGaugeType@@QAE@ABVProvGauge@@PBG@Z
+; public: __thiscall ProvGaugeType::ProvGaugeType(unsigned long,unsigned short const *)
+??0ProvGaugeType@@QAE@KPBG@Z
+; public: __thiscall ProvGaugeType::ProvGaugeType(unsigned short const *,unsigned short const *)
+??0ProvGaugeType@@QAE@PBG0@Z
+; public: __thiscall ProvGaugeType::ProvGaugeType(unsigned short const *)
+??0ProvGaugeType@@QAE@PBG@Z
+; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(class ProvIPXAddressType const &)
+??0ProvIPXAddressType@@QAE@ABV0@@Z
+; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(class ProvOctetString const &)
+??0ProvIPXAddressType@@QAE@ABVProvOctetString@@@Z
+; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(unsigned char const *)
+??0ProvIPXAddressType@@QAE@PBE@Z
+; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(unsigned short const *)
+??0ProvIPXAddressType@@QAE@PBG@Z
+; public: __thiscall ProvIPXAddressType::ProvIPXAddressType(void)
+??0ProvIPXAddressType@@QAE@XZ
+; protected: __thiscall ProvInstanceType::ProvInstanceType(class ProvInstanceType const &)
+??0ProvInstanceType@@IAE@ABV0@@Z
+; protected: __thiscall ProvInstanceType::ProvInstanceType(int,int)
+??0ProvInstanceType@@IAE@HH@Z
+; public: __thiscall ProvInteger::ProvInteger(class ProvInteger const &)
+??0ProvInteger@@QAE@ABV0@@Z
+; public: __thiscall ProvInteger::ProvInteger(long)
+??0ProvInteger@@QAE@J@Z
+; public: __thiscall ProvIntegerType::ProvIntegerType(class ProvIntegerType const &)
+??0ProvIntegerType@@QAE@ABV0@@Z
+; public: __thiscall ProvIntegerType::ProvIntegerType(class ProvInteger const &,unsigned short const *)
+??0ProvIntegerType@@QAE@ABVProvInteger@@PBG@Z
+; public: __thiscall ProvIntegerType::ProvIntegerType(long,unsigned short const *)
+??0ProvIntegerType@@QAE@JPBG@Z
+; public: __thiscall ProvIntegerType::ProvIntegerType(unsigned short const *,unsigned short const *)
+??0ProvIntegerType@@QAE@PBG0@Z
+; public: __thiscall ProvIntegerType::ProvIntegerType(unsigned short const *)
+??0ProvIntegerType@@QAE@PBG@Z
+; public: __thiscall ProvIpAddress::ProvIpAddress(class ProvIpAddress const &)
+??0ProvIpAddress@@QAE@ABV0@@Z
+; public: __thiscall ProvIpAddress::ProvIpAddress(unsigned long)
+??0ProvIpAddress@@QAE@K@Z
+; public: __thiscall ProvIpAddress::ProvIpAddress(char const *)
+??0ProvIpAddress@@QAE@PBD@Z
+; public: __thiscall ProvIpAddressType::ProvIpAddressType(class ProvIpAddressType const &)
+??0ProvIpAddressType@@QAE@ABV0@@Z
+; public: __thiscall ProvIpAddressType::ProvIpAddressType(class ProvIpAddress const &)
+??0ProvIpAddressType@@QAE@ABVProvIpAddress@@@Z
+; public: __thiscall ProvIpAddressType::ProvIpAddressType(unsigned long)
+??0ProvIpAddressType@@QAE@K@Z
+; public: __thiscall ProvIpAddressType::ProvIpAddressType(unsigned short const *)
+??0ProvIpAddressType@@QAE@PBG@Z
+; public: __thiscall ProvIpAddressType::ProvIpAddressType(void)
+??0ProvIpAddressType@@QAE@XZ
+; public: __thiscall ProvLexicon::ProvLexicon(void)
+??0ProvLexicon@@QAE@XZ
+; public: __thiscall ProvMacAddressType::ProvMacAddressType(class ProvMacAddressType const &)
+??0ProvMacAddressType@@QAE@ABV0@@Z
+; public: __thiscall ProvMacAddressType::ProvMacAddressType(class ProvOctetString const &)
+??0ProvMacAddressType@@QAE@ABVProvOctetString@@@Z
+; public: __thiscall ProvMacAddressType::ProvMacAddressType(unsigned char const *)
+??0ProvMacAddressType@@QAE@PBE@Z
+; public: __thiscall ProvMacAddressType::ProvMacAddressType(unsigned short const *)
+??0ProvMacAddressType@@QAE@PBG@Z
+; public: __thiscall ProvMacAddressType::ProvMacAddressType(void)
+??0ProvMacAddressType@@QAE@XZ
+; public: __thiscall ProvNegativeRangeType::ProvNegativeRangeType(class ProvNegativeRangeType const &)
+??0ProvNegativeRangeType@@QAE@ABV0@@Z
+; public: __thiscall ProvNegativeRangeType::ProvNegativeRangeType(long,long)
+??0ProvNegativeRangeType@@QAE@JJ@Z
+; public: __thiscall ProvNegativeRangeType::ProvNegativeRangeType(void)
+??0ProvNegativeRangeType@@QAE@XZ
+; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(class ProvNetworkAddressType const &)
+??0ProvNetworkAddressType@@QAE@ABV0@@Z
+; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(class ProvIpAddress const &)
+??0ProvNetworkAddressType@@QAE@ABVProvIpAddress@@@Z
+; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(unsigned long)
+??0ProvNetworkAddressType@@QAE@K@Z
+; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(unsigned short const *)
+??0ProvNetworkAddressType@@QAE@PBG@Z
+; public: __thiscall ProvNetworkAddressType::ProvNetworkAddressType(void)
+??0ProvNetworkAddressType@@QAE@XZ
+; public: __thiscall ProvNull::ProvNull(void)
+??0ProvNull@@QAE@XZ
+; public: __thiscall ProvNullType::ProvNullType(class ProvNullType const &)
+??0ProvNullType@@QAE@ABV0@@Z
+; public: __thiscall ProvNullType::ProvNullType(class ProvNull const &)
+??0ProvNullType@@QAE@ABVProvNull@@@Z
+; public: __thiscall ProvNullType::ProvNullType(void)
+??0ProvNullType@@QAE@XZ
+; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(class ProvOSIAddressType const &)
+??0ProvOSIAddressType@@QAE@ABV0@@Z
+; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(class ProvOctetString const &)
+??0ProvOSIAddressType@@QAE@ABVProvOctetString@@@Z
+; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(unsigned char const *,unsigned long)
+??0ProvOSIAddressType@@QAE@PBEK@Z
+; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(unsigned short const *)
+??0ProvOSIAddressType@@QAE@PBG@Z
+; public: __thiscall ProvOSIAddressType::ProvOSIAddressType(void)
+??0ProvOSIAddressType@@QAE@XZ
+; public: __thiscall ProvObjectIdentifier::ProvObjectIdentifier(class ProvObjectIdentifier const &)
+??0ProvObjectIdentifier@@QAE@ABV0@@Z
+; public: __thiscall ProvObjectIdentifier::ProvObjectIdentifier(char const *)
+??0ProvObjectIdentifier@@QAE@PBD@Z
+; public: __thiscall ProvObjectIdentifier::ProvObjectIdentifier(unsigned long const *,unsigned long)
+??0ProvObjectIdentifier@@QAE@PBKK@Z
+; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(class ProvObjectIdentifierType const &)
+??0ProvObjectIdentifierType@@QAE@ABV0@@Z
+; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(class ProvObjectIdentifier const &)
+??0ProvObjectIdentifierType@@QAE@ABVProvObjectIdentifier@@@Z
+; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(unsigned short const *)
+??0ProvObjectIdentifierType@@QAE@PBG@Z
+; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(unsigned long const *,unsigned long)
+??0ProvObjectIdentifierType@@QAE@PBKK@Z
+; public: __thiscall ProvObjectIdentifierType::ProvObjectIdentifierType(void)
+??0ProvObjectIdentifierType@@QAE@XZ
+; public: __thiscall ProvOctetString::ProvOctetString(class ProvOctetString const &)
+??0ProvOctetString@@QAE@ABV0@@Z
+; public: __thiscall ProvOctetString::ProvOctetString(unsigned char const *,unsigned long)
+??0ProvOctetString@@QAE@PBEK@Z
+; public: __thiscall ProvOctetStringType::ProvOctetStringType(class ProvOctetStringType const &)
+??0ProvOctetStringType@@QAE@ABV0@@Z
+; public: __thiscall ProvOctetStringType::ProvOctetStringType(class ProvOctetString const &,unsigned short const *)
+??0ProvOctetStringType@@QAE@ABVProvOctetString@@PBG@Z
+; public: __thiscall ProvOctetStringType::ProvOctetStringType(unsigned char const *,unsigned long,unsigned short const *)
+??0ProvOctetStringType@@QAE@PBEKPBG@Z
+; public: __thiscall ProvOctetStringType::ProvOctetStringType(unsigned short const *,unsigned short const *)
+??0ProvOctetStringType@@QAE@PBG0@Z
+; public: __thiscall ProvOctetStringType::ProvOctetStringType(unsigned short const *)
+??0ProvOctetStringType@@QAE@PBG@Z
+; public: __thiscall ProvOpaque::ProvOpaque(class ProvOpaque const &)
+??0ProvOpaque@@QAE@ABV0@@Z
+; public: __thiscall ProvOpaque::ProvOpaque(unsigned char const *,unsigned long)
+??0ProvOpaque@@QAE@PBEK@Z
+; public: __thiscall ProvOpaqueType::ProvOpaqueType(class ProvOpaqueType const &)
+??0ProvOpaqueType@@QAE@ABV0@@Z
+; public: __thiscall ProvOpaqueType::ProvOpaqueType(class ProvOpaque const &,unsigned short const *)
+??0ProvOpaqueType@@QAE@ABVProvOpaque@@PBG@Z
+; public: __thiscall ProvOpaqueType::ProvOpaqueType(unsigned char const *,unsigned long,unsigned short const *)
+??0ProvOpaqueType@@QAE@PBEKPBG@Z
+; public: __thiscall ProvOpaqueType::ProvOpaqueType(unsigned short const *,unsigned short const *)
+??0ProvOpaqueType@@QAE@PBG0@Z
+; public: __thiscall ProvOpaqueType::ProvOpaqueType(unsigned short const *)
+??0ProvOpaqueType@@QAE@PBG@Z
+; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(class ProvPhysAddressType const &)
+??0ProvPhysAddressType@@QAE@ABV0@@Z
+; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(class ProvOctetString const &,unsigned short const *)
+??0ProvPhysAddressType@@QAE@ABVProvOctetString@@PBG@Z
+; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(unsigned char const *,unsigned long,unsigned short const *)
+??0ProvPhysAddressType@@QAE@PBEKPBG@Z
+; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(unsigned short const *,unsigned short const *)
+??0ProvPhysAddressType@@QAE@PBG0@Z
+; public: __thiscall ProvPhysAddressType::ProvPhysAddressType(unsigned short const *)
+??0ProvPhysAddressType@@QAE@PBG@Z
+; public: __thiscall ProvPositiveRangeType::ProvPositiveRangeType(class ProvPositiveRangeType const &)
+??0ProvPositiveRangeType@@QAE@ABV0@@Z
+; public: __thiscall ProvPositiveRangeType::ProvPositiveRangeType(unsigned long,long)
+??0ProvPositiveRangeType@@QAE@KJ@Z
+; public: __thiscall ProvPositiveRangeType::ProvPositiveRangeType(void)
+??0ProvPositiveRangeType@@QAE@XZ
+; public: __thiscall ProvPositiveRangedType::ProvPositiveRangedType(class ProvPositiveRangedType const &)
+??0ProvPositiveRangedType@@QAE@ABV0@@Z
+; public: __thiscall ProvPositiveRangedType::ProvPositiveRangedType(unsigned short const *)
+??0ProvPositiveRangedType@@QAE@PBG@Z
+; public: __thiscall ProvRowStatusType::ProvRowStatusType(long const &)
+??0ProvRowStatusType@@QAE@ABJ@Z
+; public: __thiscall ProvRowStatusType::ProvRowStatusType(class ProvRowStatusType const &)
+??0ProvRowStatusType@@QAE@ABV0@@Z
+; public: __thiscall ProvRowStatusType::ProvRowStatusType(class ProvInteger const &)
+??0ProvRowStatusType@@QAE@ABVProvInteger@@@Z
+; public: __thiscall ProvRowStatusType::ProvRowStatusType(enum ProvRowStatusType::ProvRowStatusEnum const &)
+??0ProvRowStatusType@@QAE@ABW4ProvRowStatusEnum@0@@Z
+; public: __thiscall ProvRowStatusType::ProvRowStatusType(unsigned short const *)
+??0ProvRowStatusType@@QAE@PBG@Z
+; public: __thiscall ProvRowStatusType::ProvRowStatusType(void)
+??0ProvRowStatusType@@QAE@XZ
+; public: __thiscall ProvTimeTicks::ProvTimeTicks(class ProvTimeTicks const &)
+??0ProvTimeTicks@@QAE@ABV0@@Z
+; public: __thiscall ProvTimeTicks::ProvTimeTicks(unsigned long)
+??0ProvTimeTicks@@QAE@K@Z
+; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(class ProvTimeTicksType const &)
+??0ProvTimeTicksType@@QAE@ABV0@@Z
+; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(class ProvTimeTicks const &)
+??0ProvTimeTicksType@@QAE@ABVProvTimeTicks@@@Z
+; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(unsigned long)
+??0ProvTimeTicksType@@QAE@K@Z
+; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(unsigned short const *)
+??0ProvTimeTicksType@@QAE@PBG@Z
+; public: __thiscall ProvTimeTicksType::ProvTimeTicksType(void)
+??0ProvTimeTicksType@@QAE@XZ
+; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(class ProvUDPAddressType const &)
+??0ProvUDPAddressType@@QAE@ABV0@@Z
+; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(class ProvOctetString const &)
+??0ProvUDPAddressType@@QAE@ABVProvOctetString@@@Z
+; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(unsigned char const *)
+??0ProvUDPAddressType@@QAE@PBE@Z
+; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(unsigned short const *)
+??0ProvUDPAddressType@@QAE@PBG@Z
+; public: __thiscall ProvUDPAddressType::ProvUDPAddressType(void)
+??0ProvUDPAddressType@@QAE@XZ
+; public: __thiscall ProvUInteger32::ProvUInteger32(class ProvUInteger32 const &)
+??0ProvUInteger32@@QAE@ABV0@@Z
+; public: __thiscall ProvUInteger32::ProvUInteger32(long)
+??0ProvUInteger32@@QAE@J@Z
+; private: __thiscall ProvValue::ProvValue(class ProvValue const &)
+??0ProvValue@@AAE@ABV0@@Z
+; protected: __thiscall ProvValue::ProvValue(void)
+??0ProvValue@@IAE@XZ
+; public: __thiscall QueryPreprocessor::QueryPreprocessor(class QueryPreprocessor const &)
+??0QueryPreprocessor@@QAE@ABV0@@Z
+; public: __thiscall QueryPreprocessor::QueryPreprocessor(void)
+??0QueryPreprocessor@@QAE@XZ
+; public: __thiscall WmiAndNode::WmiAndNode(class WmiAndNode const &)
+??0WmiAndNode@@QAE@ABV0@@Z
+; public: __thiscall WmiAndNode::WmiAndNode(class WmiTreeNode *,class WmiTreeNode *,class WmiTreeNode *)
+??0WmiAndNode@@QAE@PAVWmiTreeNode@@00@Z
+; public: __thiscall WmiNotNode::WmiNotNode(class WmiNotNode const &)
+??0WmiNotNode@@QAE@ABV0@@Z
+; public: __thiscall WmiNotNode::WmiNotNode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiNotNode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiNullNode::WmiNullNode(class WmiNullNode const &)
+??0WmiNullNode@@QAE@ABV0@@Z
+; public: __thiscall WmiNullNode::WmiNullNode(unsigned short *,unsigned long,class WmiTreeNode *)
+??0WmiNullNode@@QAE@PAGKPAVWmiTreeNode@@@Z
+; public: __thiscall WmiNullRangeNode::WmiNullRangeNode(class WmiNullRangeNode const &)
+??0WmiNullRangeNode@@QAE@ABV0@@Z
+; public: __thiscall WmiNullRangeNode::WmiNullRangeNode(unsigned short *,unsigned long,class WmiTreeNode *,class WmiTreeNode *)
+??0WmiNullRangeNode@@QAE@PAGKPAVWmiTreeNode@@1@Z
+; public: __thiscall WmiOperatorEqualNode::WmiOperatorEqualNode(class WmiOperatorEqualNode const &)
+??0WmiOperatorEqualNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorEqualNode::WmiOperatorEqualNode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorEqualNode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorEqualOrGreaterNode::WmiOperatorEqualOrGreaterNode(class WmiOperatorEqualOrGreaterNode const &)
+??0WmiOperatorEqualOrGreaterNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorEqualOrGreaterNode::WmiOperatorEqualOrGreaterNode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorEqualOrGreaterNode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorEqualOrLessNode::WmiOperatorEqualOrLessNode(class WmiOperatorEqualOrLessNode const &)
+??0WmiOperatorEqualOrLessNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorEqualOrLessNode::WmiOperatorEqualOrLessNode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorEqualOrLessNode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorGreaterNode::WmiOperatorGreaterNode(class WmiOperatorGreaterNode const &)
+??0WmiOperatorGreaterNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorGreaterNode::WmiOperatorGreaterNode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorGreaterNode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorIsANode::WmiOperatorIsANode(class WmiOperatorIsANode const &)
+??0WmiOperatorIsANode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorIsANode::WmiOperatorIsANode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorIsANode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorLessNode::WmiOperatorLessNode(class WmiOperatorLessNode const &)
+??0WmiOperatorLessNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorLessNode::WmiOperatorLessNode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorLessNode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorLikeNode::WmiOperatorLikeNode(class WmiOperatorLikeNode const &)
+??0WmiOperatorLikeNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorLikeNode::WmiOperatorLikeNode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorLikeNode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorNode::WmiOperatorNode(class WmiOperatorNode const &)
+??0WmiOperatorNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorNode::WmiOperatorNode(unsigned long,class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorNode@@QAE@KPAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorNotEqualNode::WmiOperatorNotEqualNode(class WmiOperatorNotEqualNode const &)
+??0WmiOperatorNotEqualNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorNotEqualNode::WmiOperatorNotEqualNode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorNotEqualNode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorNotIsANode::WmiOperatorNotIsANode(class WmiOperatorNotIsANode const &)
+??0WmiOperatorNotIsANode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorNotIsANode::WmiOperatorNotIsANode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorNotIsANode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOperatorNotLikeNode::WmiOperatorNotLikeNode(class WmiOperatorNotLikeNode const &)
+??0WmiOperatorNotLikeNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOperatorNotLikeNode::WmiOperatorNotLikeNode(class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOperatorNotLikeNode@@QAE@PAVWmiTreeNode@@0@Z
+; public: __thiscall WmiOrNode::WmiOrNode(class WmiOrNode const &)
+??0WmiOrNode@@QAE@ABV0@@Z
+; public: __thiscall WmiOrNode::WmiOrNode(class WmiTreeNode *,class WmiTreeNode *,class WmiTreeNode *)
+??0WmiOrNode@@QAE@PAVWmiTreeNode@@00@Z
+; public: __thiscall WmiRangeNode::WmiRangeNode(class WmiRangeNode const &)
+??0WmiRangeNode@@QAE@ABV0@@Z
+; public: __thiscall WmiRangeNode::WmiRangeNode(unsigned long,unsigned short *,unsigned long,int,int,int,int,class WmiTreeNode *,class WmiTreeNode *)
+??0WmiRangeNode@@QAE@KPAGKHHHHPAVWmiTreeNode@@1@Z
+; public: __thiscall WmiSignedIntegerNode::WmiSignedIntegerNode(class WmiSignedIntegerNode const &)
+??0WmiSignedIntegerNode@@QAE@ABV0@@Z
+; public: __thiscall WmiSignedIntegerNode::WmiSignedIntegerNode(unsigned short *,long,unsigned long,class WmiTreeNode *)
+??0WmiSignedIntegerNode@@QAE@PAGJKPAVWmiTreeNode@@@Z
+; public: __thiscall WmiSignedIntegerRangeNode::WmiSignedIntegerRangeNode(class WmiSignedIntegerRangeNode const &)
+??0WmiSignedIntegerRangeNode@@QAE@ABV0@@Z
+; public: __thiscall WmiSignedIntegerRangeNode::WmiSignedIntegerRangeNode(unsigned short *,unsigned long,int,int,int,int,long,long,class WmiTreeNode *,class WmiTreeNode *)
+??0WmiSignedIntegerRangeNode@@QAE@PAGKHHHHJJPAVWmiTreeNode@@1@Z
+; public: __thiscall WmiStringNode::WmiStringNode(class WmiStringNode const &)
+??0WmiStringNode@@QAE@ABV0@@Z
+; public: __thiscall WmiStringNode::WmiStringNode(unsigned short *,unsigned short *,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,unsigned long,class WmiTreeNode *)
+??0WmiStringNode@@QAE@PAG0W4WmiValueFunction@WmiValueNode@@1KPAVWmiTreeNode@@@Z
+; public: __thiscall WmiStringRangeNode::WmiStringRangeNode(class WmiStringRangeNode const &)
+??0WmiStringRangeNode@@QAE@ABV0@@Z
+; public: __thiscall WmiStringRangeNode::WmiStringRangeNode(unsigned short *,unsigned long,int,int,int,int,unsigned short *,unsigned short *,class WmiTreeNode *,class WmiTreeNode *)
+??0WmiStringRangeNode@@QAE@PAGKHHHH00PAVWmiTreeNode@@1@Z
+; public: __thiscall WmiTreeNode::WmiTreeNode(class WmiTreeNode const &)
+??0WmiTreeNode@@QAE@ABV0@@Z
+; public: __thiscall WmiTreeNode::WmiTreeNode(unsigned long,void *,class WmiTreeNode *,class WmiTreeNode *,class WmiTreeNode *)
+??0WmiTreeNode@@QAE@KPAXPAV0@11@Z
+; public: __thiscall WmiTreeNode::WmiTreeNode(class WmiTreeNode *)
+??0WmiTreeNode@@QAE@PAV0@@Z
+; public: __thiscall WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNodeIterator const &)
+??0WmiTreeNodeIterator@@QAE@ABV0@@Z
+; public: __thiscall WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNodeIterator *)
+??0WmiTreeNodeIterator@@QAE@PAV0@@Z
+; public: __thiscall WmiTreeNodeIterator::WmiTreeNodeIterator(class WmiTreeNode *)
+??0WmiTreeNodeIterator@@QAE@PAVWmiTreeNode@@@Z
+; public: __thiscall WmiUnsignedIntegerNode::WmiUnsignedIntegerNode(class WmiUnsignedIntegerNode const &)
+??0WmiUnsignedIntegerNode@@QAE@ABV0@@Z
+; public: __thiscall WmiUnsignedIntegerNode::WmiUnsignedIntegerNode(unsigned short *,unsigned long,unsigned long,class WmiTreeNode *)
+??0WmiUnsignedIntegerNode@@QAE@PAGKKPAVWmiTreeNode@@@Z
+; public: __thiscall WmiUnsignedIntegerRangeNode::WmiUnsignedIntegerRangeNode(class WmiUnsignedIntegerRangeNode const &)
+??0WmiUnsignedIntegerRangeNode@@QAE@ABV0@@Z
+; public: __thiscall WmiUnsignedIntegerRangeNode::WmiUnsignedIntegerRangeNode(unsigned short *,unsigned long,int,int,int,int,unsigned long,unsigned long,class WmiTreeNode *,class WmiTreeNode *)
+??0WmiUnsignedIntegerRangeNode@@QAE@PAGKHHHHKKPAVWmiTreeNode@@1@Z
+; public: __thiscall WmiValueNode::WmiValueNode(class WmiValueNode const &)
+??0WmiValueNode@@QAE@ABV0@@Z
+; public: __thiscall WmiValueNode::WmiValueNode(unsigned long,unsigned short *,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,unsigned long,class WmiTreeNode *)
+??0WmiValueNode@@QAE@KPAGW4WmiValueFunction@0@1KPAVWmiTreeNode@@@Z
+; public: __thiscall CBString::~CBString(void)
+??1CBString@@QAE@XZ
+; public: __thiscall Conjunctions::~Conjunctions(void)
+??1Conjunctions@@QAE@XZ
+; public: __thiscall Disjunctions::~Disjunctions(void)
+??1Disjunctions@@QAE@XZ
+; public: virtual __thiscall PartitionSet::~PartitionSet(void)
+??1PartitionSet@@UAE@XZ
+; public: virtual __thiscall ProvAnalyser::~ProvAnalyser(void)
+??1ProvAnalyser@@UAE@XZ
+; public: virtual __thiscall ProvBitStringType::~ProvBitStringType(void)
+??1ProvBitStringType@@UAE@XZ
+; public: virtual __thiscall ProvCounter64::~ProvCounter64(void)
+??1ProvCounter64@@UAE@XZ
+; public: virtual __thiscall ProvCounter64Type::~ProvCounter64Type(void)
+??1ProvCounter64Type@@UAE@XZ
+; public: virtual __thiscall ProvCounter::~ProvCounter(void)
+??1ProvCounter@@UAE@XZ
+; public: virtual __thiscall ProvCounterType::~ProvCounterType(void)
+??1ProvCounterType@@UAE@XZ
+; public: virtual __thiscall ProvDateTimeType::~ProvDateTimeType(void)
+??1ProvDateTimeType@@UAE@XZ
+; public: virtual __thiscall ProvDisplayStringType::~ProvDisplayStringType(void)
+??1ProvDisplayStringType@@UAE@XZ
+; public: virtual __thiscall ProvEnumeratedType::~ProvEnumeratedType(void)
+??1ProvEnumeratedType@@UAE@XZ
+; public: virtual __thiscall ProvEventObject::~ProvEventObject(void)
+??1ProvEventObject@@UAE@XZ
+; public: virtual __thiscall ProvFixedLengthDisplayStringType::~ProvFixedLengthDisplayStringType(void)
+??1ProvFixedLengthDisplayStringType@@UAE@XZ
+; public: virtual __thiscall ProvFixedLengthOctetStringType::~ProvFixedLengthOctetStringType(void)
+??1ProvFixedLengthOctetStringType@@UAE@XZ
+; public: virtual __thiscall ProvFixedLengthOpaqueType::~ProvFixedLengthOpaqueType(void)
+??1ProvFixedLengthOpaqueType@@UAE@XZ
+; public: virtual __thiscall ProvFixedLengthPhysAddressType::~ProvFixedLengthPhysAddressType(void)
+??1ProvFixedLengthPhysAddressType@@UAE@XZ
+; public: virtual __thiscall ProvFixedType::~ProvFixedType(void)
+??1ProvFixedType@@UAE@XZ
+; public: virtual __thiscall ProvGauge::~ProvGauge(void)
+??1ProvGauge@@UAE@XZ
+; public: virtual __thiscall ProvGaugeType::~ProvGaugeType(void)
+??1ProvGaugeType@@UAE@XZ
+; public: virtual __thiscall ProvIPXAddressType::~ProvIPXAddressType(void)
+??1ProvIPXAddressType@@UAE@XZ
+; public: virtual __thiscall ProvInstanceType::~ProvInstanceType(void)
+??1ProvInstanceType@@UAE@XZ
+; public: virtual __thiscall ProvInteger::~ProvInteger(void)
+??1ProvInteger@@UAE@XZ
+; public: virtual __thiscall ProvIntegerType::~ProvIntegerType(void)
+??1ProvIntegerType@@UAE@XZ
+; public: virtual __thiscall ProvIpAddress::~ProvIpAddress(void)
+??1ProvIpAddress@@UAE@XZ
+; public: virtual __thiscall ProvIpAddressType::~ProvIpAddressType(void)
+??1ProvIpAddressType@@UAE@XZ
+; public: __thiscall ProvLexicon::~ProvLexicon(void)
+??1ProvLexicon@@QAE@XZ
+; public: virtual __thiscall ProvMacAddressType::~ProvMacAddressType(void)
+??1ProvMacAddressType@@UAE@XZ
+; public: virtual __thiscall ProvNegativeRangeType::~ProvNegativeRangeType(void)
+??1ProvNegativeRangeType@@UAE@XZ
+; public: virtual __thiscall ProvNetworkAddressType::~ProvNetworkAddressType(void)
+??1ProvNetworkAddressType@@UAE@XZ
+; public: virtual __thiscall ProvNull::~ProvNull(void)
+??1ProvNull@@UAE@XZ
+; public: virtual __thiscall ProvNullType::~ProvNullType(void)
+??1ProvNullType@@UAE@XZ
+; public: virtual __thiscall ProvOSIAddressType::~ProvOSIAddressType(void)
+??1ProvOSIAddressType@@UAE@XZ
+; public: virtual __thiscall ProvObjectIdentifier::~ProvObjectIdentifier(void)
+??1ProvObjectIdentifier@@UAE@XZ
+; public: virtual __thiscall ProvObjectIdentifierType::~ProvObjectIdentifierType(void)
+??1ProvObjectIdentifierType@@UAE@XZ
+; public: virtual __thiscall ProvOctetString::~ProvOctetString(void)
+??1ProvOctetString@@UAE@XZ
+; public: virtual __thiscall ProvOctetStringType::~ProvOctetStringType(void)
+??1ProvOctetStringType@@UAE@XZ
+; public: virtual __thiscall ProvOpaque::~ProvOpaque(void)
+??1ProvOpaque@@UAE@XZ
+; public: virtual __thiscall ProvOpaqueType::~ProvOpaqueType(void)
+??1ProvOpaqueType@@UAE@XZ
+; public: virtual __thiscall ProvPhysAddressType::~ProvPhysAddressType(void)
+??1ProvPhysAddressType@@UAE@XZ
+; public: virtual __thiscall ProvPositiveRangeType::~ProvPositiveRangeType(void)
+??1ProvPositiveRangeType@@UAE@XZ
+; public: virtual __thiscall ProvPositiveRangedType::~ProvPositiveRangedType(void)
+??1ProvPositiveRangedType@@UAE@XZ
+; public: virtual __thiscall ProvRowStatusType::~ProvRowStatusType(void)
+??1ProvRowStatusType@@UAE@XZ
+; public: virtual __thiscall ProvTimeTicks::~ProvTimeTicks(void)
+??1ProvTimeTicks@@UAE@XZ
+; public: virtual __thiscall ProvTimeTicksType::~ProvTimeTicksType(void)
+??1ProvTimeTicksType@@UAE@XZ
+; public: virtual __thiscall ProvUDPAddressType::~ProvUDPAddressType(void)
+??1ProvUDPAddressType@@UAE@XZ
+; public: virtual __thiscall ProvUInteger32::~ProvUInteger32(void)
+??1ProvUInteger32@@UAE@XZ
+; public: virtual __thiscall ProvValue::~ProvValue(void)
+??1ProvValue@@UAE@XZ
+; public: virtual __thiscall QueryPreprocessor::~QueryPreprocessor(void)
+??1QueryPreprocessor@@UAE@XZ
+; public: virtual __thiscall WmiAndNode::~WmiAndNode(void)
+??1WmiAndNode@@UAE@XZ
+; public: virtual __thiscall WmiNotNode::~WmiNotNode(void)
+??1WmiNotNode@@UAE@XZ
+; public: virtual __thiscall WmiNullNode::~WmiNullNode(void)
+??1WmiNullNode@@UAE@XZ
+; public: virtual __thiscall WmiNullRangeNode::~WmiNullRangeNode(void)
+??1WmiNullRangeNode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorEqualNode::~WmiOperatorEqualNode(void)
+??1WmiOperatorEqualNode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorEqualOrGreaterNode::~WmiOperatorEqualOrGreaterNode(void)
+??1WmiOperatorEqualOrGreaterNode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorEqualOrLessNode::~WmiOperatorEqualOrLessNode(void)
+??1WmiOperatorEqualOrLessNode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorGreaterNode::~WmiOperatorGreaterNode(void)
+??1WmiOperatorGreaterNode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorIsANode::~WmiOperatorIsANode(void)
+??1WmiOperatorIsANode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorLessNode::~WmiOperatorLessNode(void)
+??1WmiOperatorLessNode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorLikeNode::~WmiOperatorLikeNode(void)
+??1WmiOperatorLikeNode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorNode::~WmiOperatorNode(void)
+??1WmiOperatorNode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorNotEqualNode::~WmiOperatorNotEqualNode(void)
+??1WmiOperatorNotEqualNode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorNotIsANode::~WmiOperatorNotIsANode(void)
+??1WmiOperatorNotIsANode@@UAE@XZ
+; public: virtual __thiscall WmiOperatorNotLikeNode::~WmiOperatorNotLikeNode(void)
+??1WmiOperatorNotLikeNode@@UAE@XZ
+; public: virtual __thiscall WmiOrNode::~WmiOrNode(void)
+??1WmiOrNode@@UAE@XZ
+; public: virtual __thiscall WmiRangeNode::~WmiRangeNode(void)
+??1WmiRangeNode@@UAE@XZ
+; public: virtual __thiscall WmiSignedIntegerNode::~WmiSignedIntegerNode(void)
+??1WmiSignedIntegerNode@@UAE@XZ
+; public: virtual __thiscall WmiSignedIntegerRangeNode::~WmiSignedIntegerRangeNode(void)
+??1WmiSignedIntegerRangeNode@@UAE@XZ
+; public: virtual __thiscall WmiStringNode::~WmiStringNode(void)
+??1WmiStringNode@@UAE@XZ
+; public: virtual __thiscall WmiStringRangeNode::~WmiStringRangeNode(void)
+??1WmiStringRangeNode@@UAE@XZ
+; public: virtual __thiscall WmiTreeNode::~WmiTreeNode(void)
+??1WmiTreeNode@@UAE@XZ
+; public: virtual __thiscall WmiTreeNodeIterator::~WmiTreeNodeIterator(void)
+??1WmiTreeNodeIterator@@UAE@XZ
+; public: virtual __thiscall WmiUnsignedIntegerNode::~WmiUnsignedIntegerNode(void)
+??1WmiUnsignedIntegerNode@@UAE@XZ
+; public: virtual __thiscall WmiUnsignedIntegerRangeNode::~WmiUnsignedIntegerRangeNode(void)
+??1WmiUnsignedIntegerRangeNode@@UAE@XZ
+; public: virtual __thiscall WmiValueNode::~WmiValueNode(void)
+??1WmiValueNode@@UAE@XZ
+; public: class CBString & __thiscall CBString::operator=(class CBString const &)
+??4CBString@@QAEAAV0@ABV0@@Z
+; public: class CBString const & __thiscall CBString::operator=(unsigned short *)
+??4CBString@@QAEABV0@PAG@Z
+; public: class Conjunctions & __thiscall Conjunctions::operator=(class Conjunctions const &)
+??4Conjunctions@@QAEAAV0@ABV0@@Z
+; public: class Disjunctions & __thiscall Disjunctions::operator=(class Disjunctions const &)
+??4Disjunctions@@QAEAAV0@ABV0@@Z
+; public: class PartitionSet & __thiscall PartitionSet::operator=(class PartitionSet const &)
+??4PartitionSet@@QAEAAV0@ABV0@@Z
+; public: class ProvAnalyser & __thiscall ProvAnalyser::operator=(class ProvAnalyser const &)
+??4ProvAnalyser@@QAEAAV0@ABV0@@Z
+; public: class ProvBitStringType & __thiscall ProvBitStringType::operator=(class ProvBitStringType const &)
+??4ProvBitStringType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvCounter64::operator=(class ProvCounter64 const &)
+??4ProvCounter64@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvCounter64Type & __thiscall ProvCounter64Type::operator=(class ProvCounter64Type const &)
+??4ProvCounter64Type@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvCounter::operator=(class ProvCounter const &)
+??4ProvCounter@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvCounterType & __thiscall ProvCounterType::operator=(class ProvCounterType const &)
+??4ProvCounterType@@QAEAAV0@ABV0@@Z
+; public: class ProvDateTimeType & __thiscall ProvDateTimeType::operator=(class ProvDateTimeType const &)
+??4ProvDateTimeType@@QAEAAV0@ABV0@@Z
+; public: class ProvDebugLog & __thiscall ProvDebugLog::operator=(class ProvDebugLog const &)
+??4ProvDebugLog@@QAEAAV0@ABV0@@Z
+; public: class ProvDisplayStringType & __thiscall ProvDisplayStringType::operator=(class ProvDisplayStringType const &)
+??4ProvDisplayStringType@@QAEAAV0@ABV0@@Z
+; public: class ProvEnumeratedType & __thiscall ProvEnumeratedType::operator=(class ProvEnumeratedType const &)
+??4ProvEnumeratedType@@QAEAAV0@ABV0@@Z
+; public: class ProvEventObject & __thiscall ProvEventObject::operator=(class ProvEventObject const &)
+??4ProvEventObject@@QAEAAV0@ABV0@@Z
+; public: class ProvFixedLengthDisplayStringType & __thiscall ProvFixedLengthDisplayStringType::operator=(class ProvFixedLengthDisplayStringType const &)
+??4ProvFixedLengthDisplayStringType@@QAEAAV0@ABV0@@Z
+; public: class ProvFixedLengthOctetStringType & __thiscall ProvFixedLengthOctetStringType::operator=(class ProvFixedLengthOctetStringType const &)
+??4ProvFixedLengthOctetStringType@@QAEAAV0@ABV0@@Z
+; public: class ProvFixedLengthOpaqueType & __thiscall ProvFixedLengthOpaqueType::operator=(class ProvFixedLengthOpaqueType const &)
+??4ProvFixedLengthOpaqueType@@QAEAAV0@ABV0@@Z
+; public: class ProvFixedLengthPhysAddressType & __thiscall ProvFixedLengthPhysAddressType::operator=(class ProvFixedLengthPhysAddressType const &)
+??4ProvFixedLengthPhysAddressType@@QAEAAV0@ABV0@@Z
+; public: class ProvFixedType & __thiscall ProvFixedType::operator=(class ProvFixedType const &)
+??4ProvFixedType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvGauge::operator=(class ProvGauge const &)
+??4ProvGauge@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvGaugeType & __thiscall ProvGaugeType::operator=(class ProvGaugeType const &)
+??4ProvGaugeType@@QAEAAV0@ABV0@@Z
+; public: class ProvIPXAddressType & __thiscall ProvIPXAddressType::operator=(class ProvIPXAddressType const &)
+??4ProvIPXAddressType@@QAEAAV0@ABV0@@Z
+; public: class ProvInstanceType & __thiscall ProvInstanceType::operator=(class ProvInstanceType const &)
+??4ProvInstanceType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvInteger::operator=(class ProvInteger const &)
+??4ProvInteger@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvIntegerType & __thiscall ProvIntegerType::operator=(class ProvIntegerType const &)
+??4ProvIntegerType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvIpAddress::operator=(class ProvIpAddress const &)
+??4ProvIpAddress@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvIpAddressType & __thiscall ProvIpAddressType::operator=(class ProvIpAddressType const &)
+??4ProvIpAddressType@@QAEAAV0@ABV0@@Z
+; public: class ProvLexicon & __thiscall ProvLexicon::operator=(class ProvLexicon const &)
+??4ProvLexicon@@QAEAAV0@ABV0@@Z
+; public: class ProvMacAddressType & __thiscall ProvMacAddressType::operator=(class ProvMacAddressType const &)
+??4ProvMacAddressType@@QAEAAV0@ABV0@@Z
+; public: class ProvNegativeRangeType & __thiscall ProvNegativeRangeType::operator=(class ProvNegativeRangeType const &)
+??4ProvNegativeRangeType@@QAEAAV0@ABV0@@Z
+; public: class ProvNetworkAddressType & __thiscall ProvNetworkAddressType::operator=(class ProvNetworkAddressType const &)
+??4ProvNetworkAddressType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvNull::operator=(class ProvNull const &)
+??4ProvNull@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvNullType & __thiscall ProvNullType::operator=(class ProvNullType const &)
+??4ProvNullType@@QAEAAV0@ABV0@@Z
+; public: class ProvOSIAddressType & __thiscall ProvOSIAddressType::operator=(class ProvOSIAddressType const &)
+??4ProvOSIAddressType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvObjectIdentifier::operator=(class ProvObjectIdentifier const &)
+??4ProvObjectIdentifier@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvObjectIdentifierType & __thiscall ProvObjectIdentifierType::operator=(class ProvObjectIdentifierType const &)
+??4ProvObjectIdentifierType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvOctetString::operator=(class ProvOctetString const &)
+??4ProvOctetString@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvOctetStringType & __thiscall ProvOctetStringType::operator=(class ProvOctetStringType const &)
+??4ProvOctetStringType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvOpaque::operator=(class ProvOpaque const &)
+??4ProvOpaque@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvOpaqueType & __thiscall ProvOpaqueType::operator=(class ProvOpaqueType const &)
+??4ProvOpaqueType@@QAEAAV0@ABV0@@Z
+; public: class ProvPhysAddressType & __thiscall ProvPhysAddressType::operator=(class ProvPhysAddressType const &)
+??4ProvPhysAddressType@@QAEAAV0@ABV0@@Z
+; public: class ProvPositiveRangeType & __thiscall ProvPositiveRangeType::operator=(class ProvPositiveRangeType const &)
+??4ProvPositiveRangeType@@QAEAAV0@ABV0@@Z
+; public: class ProvPositiveRangedType & __thiscall ProvPositiveRangedType::operator=(class ProvPositiveRangedType const &)
+??4ProvPositiveRangedType@@QAEAAV0@ABV0@@Z
+; public: class ProvRowStatusType & __thiscall ProvRowStatusType::operator=(class ProvRowStatusType const &)
+??4ProvRowStatusType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvTimeTicks::operator=(class ProvTimeTicks const &)
+??4ProvTimeTicks@@QAEAAVProvValue@@ABV0@@Z
+; public: class ProvTimeTicksType & __thiscall ProvTimeTicksType::operator=(class ProvTimeTicksType const &)
+??4ProvTimeTicksType@@QAEAAV0@ABV0@@Z
+; public: class ProvUDPAddressType & __thiscall ProvUDPAddressType::operator=(class ProvUDPAddressType const &)
+??4ProvUDPAddressType@@QAEAAV0@ABV0@@Z
+; public: class ProvValue & __thiscall ProvUInteger32::operator=(class ProvUInteger32 const &)
+??4ProvUInteger32@@QAEAAVProvValue@@ABV0@@Z
+; private: class ProvValue & __thiscall ProvValue::operator=(class ProvValue const &)
+??4ProvValue@@AAEAAV0@ABV0@@Z
+; public: class QueryPreprocessor & __thiscall QueryPreprocessor::operator=(class QueryPreprocessor const &)
+??4QueryPreprocessor@@QAEAAV0@ABV0@@Z
+; public: class WmiAndNode & __thiscall WmiAndNode::operator=(class WmiAndNode const &)
+??4WmiAndNode@@QAEAAV0@ABV0@@Z
+; public: class WmiNotNode & __thiscall WmiNotNode::operator=(class WmiNotNode const &)
+??4WmiNotNode@@QAEAAV0@ABV0@@Z
+; public: class WmiNullNode & __thiscall WmiNullNode::operator=(class WmiNullNode const &)
+??4WmiNullNode@@QAEAAV0@ABV0@@Z
+; public: class WmiNullRangeNode & __thiscall WmiNullRangeNode::operator=(class WmiNullRangeNode const &)
+??4WmiNullRangeNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorEqualNode & __thiscall WmiOperatorEqualNode::operator=(class WmiOperatorEqualNode const &)
+??4WmiOperatorEqualNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorEqualOrGreaterNode & __thiscall WmiOperatorEqualOrGreaterNode::operator=(class WmiOperatorEqualOrGreaterNode const &)
+??4WmiOperatorEqualOrGreaterNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorEqualOrLessNode & __thiscall WmiOperatorEqualOrLessNode::operator=(class WmiOperatorEqualOrLessNode const &)
+??4WmiOperatorEqualOrLessNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorGreaterNode & __thiscall WmiOperatorGreaterNode::operator=(class WmiOperatorGreaterNode const &)
+??4WmiOperatorGreaterNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorIsANode & __thiscall WmiOperatorIsANode::operator=(class WmiOperatorIsANode const &)
+??4WmiOperatorIsANode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorLessNode & __thiscall WmiOperatorLessNode::operator=(class WmiOperatorLessNode const &)
+??4WmiOperatorLessNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorLikeNode & __thiscall WmiOperatorLikeNode::operator=(class WmiOperatorLikeNode const &)
+??4WmiOperatorLikeNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorNode & __thiscall WmiOperatorNode::operator=(class WmiOperatorNode const &)
+??4WmiOperatorNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorNotEqualNode & __thiscall WmiOperatorNotEqualNode::operator=(class WmiOperatorNotEqualNode const &)
+??4WmiOperatorNotEqualNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorNotIsANode & __thiscall WmiOperatorNotIsANode::operator=(class WmiOperatorNotIsANode const &)
+??4WmiOperatorNotIsANode@@QAEAAV0@ABV0@@Z
+; public: class WmiOperatorNotLikeNode & __thiscall WmiOperatorNotLikeNode::operator=(class WmiOperatorNotLikeNode const &)
+??4WmiOperatorNotLikeNode@@QAEAAV0@ABV0@@Z
+; public: class WmiOrNode & __thiscall WmiOrNode::operator=(class WmiOrNode const &)
+??4WmiOrNode@@QAEAAV0@ABV0@@Z
+; public: class WmiRangeNode & __thiscall WmiRangeNode::operator=(class WmiRangeNode const &)
+??4WmiRangeNode@@QAEAAV0@ABV0@@Z
+; public: class WmiSignedIntegerNode & __thiscall WmiSignedIntegerNode::operator=(class WmiSignedIntegerNode const &)
+??4WmiSignedIntegerNode@@QAEAAV0@ABV0@@Z
+; public: class WmiSignedIntegerRangeNode & __thiscall WmiSignedIntegerRangeNode::operator=(class WmiSignedIntegerRangeNode const &)
+??4WmiSignedIntegerRangeNode@@QAEAAV0@ABV0@@Z
+; public: class WmiStringNode & __thiscall WmiStringNode::operator=(class WmiStringNode const &)
+??4WmiStringNode@@QAEAAV0@ABV0@@Z
+; public: class WmiStringRangeNode & __thiscall WmiStringRangeNode::operator=(class WmiStringRangeNode const &)
+??4WmiStringRangeNode@@QAEAAV0@ABV0@@Z
+; public: class WmiTreeNode & __thiscall WmiTreeNode::operator=(class WmiTreeNode const &)
+??4WmiTreeNode@@QAEAAV0@ABV0@@Z
+; public: class WmiTreeNodeIterator & __thiscall WmiTreeNodeIterator::operator=(class WmiTreeNodeIterator const &)
+??4WmiTreeNodeIterator@@QAEAAV0@ABV0@@Z
+; public: class WmiUnsignedIntegerNode & __thiscall WmiUnsignedIntegerNode::operator=(class WmiUnsignedIntegerNode const &)
+??4WmiUnsignedIntegerNode@@QAEAAV0@ABV0@@Z
+; public: class WmiUnsignedIntegerRangeNode & __thiscall WmiUnsignedIntegerRangeNode::operator=(class WmiUnsignedIntegerRangeNode const &)
+??4WmiUnsignedIntegerRangeNode@@QAEAAV0@ABV0@@Z
+; public: class WmiValueNode & __thiscall WmiValueNode::operator=(class WmiValueNode const &)
+??4WmiValueNode@@QAEAAV0@ABV0@@Z
+; public: int __thiscall ProvInstanceType::operator==(class ProvInstanceType const &)const 
+??8ProvInstanceType@@QBEHABV0@@Z
+; public: int __thiscall ProvObjectIdentifier::operator==(class ProvObjectIdentifier const &)const 
+??8ProvObjectIdentifier@@QBEHABV0@@Z
+; public: int __thiscall ProvValue::operator==(class ProvValue const &)const 
+??8ProvValue@@QBEHABV0@@Z
+; public: int __thiscall ProvInstanceType::operator!=(class ProvInstanceType const &)const 
+??9ProvInstanceType@@QBEHABV0@@Z
+; public: int __thiscall ProvObjectIdentifier::operator!=(class ProvObjectIdentifier const &)const 
+??9ProvObjectIdentifier@@QBEHABV0@@Z
+; public: int __thiscall ProvValue::operator!=(class ProvValue const &)const 
+??9ProvValue@@QBEHABV0@@Z
+; public: unsigned long & __thiscall ProvObjectIdentifier::operator[](unsigned long)const 
+??AProvObjectIdentifier@@QBEAAKK@Z
+; public: virtual __thiscall ProvAnalyser::operator void *(void)
+??BProvAnalyser@@UAEPAXXZ
+; public: virtual __thiscall ProvInstanceType::operator void *(void)
+??BProvInstanceType@@UAEPAXXZ
+; public: virtual __thiscall ProvPositiveRangedType::operator void *(void)
+??BProvPositiveRangedType@@UAEPAXXZ
+; public: class ProvObjectIdentifier  __thiscall ProvObjectIdentifier::operator+(class ProvObjectIdentifier const &)const 
+??HProvObjectIdentifier@@QBE?AV0@ABV0@@Z
+; public: int __thiscall ProvObjectIdentifier::operator<(class ProvObjectIdentifier const &)const 
+??MProvObjectIdentifier@@QBEHABV0@@Z
+; public: int __thiscall ProvObjectIdentifier::operator<=(class ProvObjectIdentifier const &)const 
+??NProvObjectIdentifier@@QBEHABV0@@Z
+; public: int __thiscall ProvObjectIdentifier::operator>(class ProvObjectIdentifier const &)const 
+??OProvObjectIdentifier@@QBEHABV0@@Z
+; public: int __thiscall ProvObjectIdentifier::operator>=(class ProvObjectIdentifier const &)const 
+??PProvObjectIdentifier@@QBEHABV0@@Z
+; public: void * __thiscall ProvIpAddress::operator()(void)const 
+??RProvIpAddress@@QBEPAXXZ
+; public: void * __thiscall ProvObjectIdentifier::operator()(void)const 
+??RProvObjectIdentifier@@QBEPAXXZ
+; public: void * __thiscall ProvOctetString::operator()(void)const 
+??RProvOctetString@@QBEPAXXZ
+; public: void * __thiscall ProvOpaque::operator()(void)const 
+??RProvOpaque@@QBEPAXXZ
+; const  PartitionSet::`vftable'
+??_7PartitionSet@@6B@
+; const  ProvAnalyser::`vftable'
+??_7ProvAnalyser@@6B@
+; const  ProvBitStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvBitStringType@@6BProvInstanceType@@@
+; const  ProvBitStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvBitStringType@@6BProvPositiveRangedType@@@
+; const  ProvCounter64::`vftable'
+??_7ProvCounter64@@6B@
+; const  ProvCounter64Type::`vftable'
+??_7ProvCounter64Type@@6B@
+; const  ProvCounter::`vftable'
+??_7ProvCounter@@6B@
+; const  ProvCounterType::`vftable'
+??_7ProvCounterType@@6B@
+; const  ProvDateTimeType::`vftable'{for `ProvInstanceType'}
+??_7ProvDateTimeType@@6BProvInstanceType@@@
+; const  ProvDateTimeType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvDateTimeType@@6BProvPositiveRangedType@@@
+; const  ProvDisplayStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvDisplayStringType@@6BProvInstanceType@@@
+; const  ProvDisplayStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvDisplayStringType@@6BProvPositiveRangedType@@@
+; const  ProvEnumeratedType::`vftable'{for `ProvInstanceType'}
+??_7ProvEnumeratedType@@6BProvInstanceType@@@
+; const  ProvEnumeratedType::`vftable'{for `ProvNegativeRangedType'}
+??_7ProvEnumeratedType@@6BProvNegativeRangedType@@@
+; const  ProvEventObject::`vftable'
+??_7ProvEventObject@@6B@
+; const  ProvFixedLengthDisplayStringType::`vftable'
+??_7ProvFixedLengthDisplayStringType@@6B@
+; const  ProvFixedLengthDisplayStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvFixedLengthDisplayStringType@@6BProvInstanceType@@@
+; const  ProvFixedLengthDisplayStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvFixedLengthDisplayStringType@@6BProvPositiveRangedType@@@
+; const  ProvFixedLengthOctetStringType::`vftable'
+??_7ProvFixedLengthOctetStringType@@6B@
+; const  ProvFixedLengthOctetStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvFixedLengthOctetStringType@@6BProvInstanceType@@@
+; const  ProvFixedLengthOctetStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvFixedLengthOctetStringType@@6BProvPositiveRangedType@@@
+; const  ProvFixedLengthOpaqueType::`vftable'
+??_7ProvFixedLengthOpaqueType@@6B@
+; const  ProvFixedLengthOpaqueType::`vftable'{for `ProvInstanceType'}
+??_7ProvFixedLengthOpaqueType@@6BProvInstanceType@@@
+; const  ProvFixedLengthOpaqueType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvFixedLengthOpaqueType@@6BProvPositiveRangedType@@@
+; const  ProvFixedLengthPhysAddressType::`vftable'
+??_7ProvFixedLengthPhysAddressType@@6B@
+; const  ProvFixedLengthPhysAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvFixedLengthPhysAddressType@@6BProvInstanceType@@@
+; const  ProvFixedLengthPhysAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvFixedLengthPhysAddressType@@6BProvPositiveRangedType@@@
+; const  ProvFixedType::`vftable'
+??_7ProvFixedType@@6B@
+; const  ProvGauge::`vftable'
+??_7ProvGauge@@6B@
+; const  ProvGaugeType::`vftable'{for `ProvInstanceType'}
+??_7ProvGaugeType@@6BProvInstanceType@@@
+; const  ProvGaugeType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvGaugeType@@6BProvPositiveRangedType@@@
+; const  ProvIPXAddressType::`vftable'
+??_7ProvIPXAddressType@@6B@
+; const  ProvIPXAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvIPXAddressType@@6BProvInstanceType@@@
+; const  ProvIPXAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvIPXAddressType@@6BProvPositiveRangedType@@@
+; const  ProvInstanceType::`vftable'
+??_7ProvInstanceType@@6B@
+; const  ProvInteger::`vftable'
+??_7ProvInteger@@6B@
+; const  ProvIntegerType::`vftable'{for `ProvInstanceType'}
+??_7ProvIntegerType@@6BProvInstanceType@@@
+; const  ProvIntegerType::`vftable'{for `ProvNegativeRangedType'}
+??_7ProvIntegerType@@6BProvNegativeRangedType@@@
+; const  ProvIpAddress::`vftable'
+??_7ProvIpAddress@@6B@
+; const  ProvIpAddressType::`vftable'
+??_7ProvIpAddressType@@6B@
+; const  ProvMacAddressType::`vftable'
+??_7ProvMacAddressType@@6B@
+; const  ProvMacAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvMacAddressType@@6BProvInstanceType@@@
+; const  ProvMacAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvMacAddressType@@6BProvPositiveRangedType@@@
+; const  ProvNegativeRangeType::`vftable'
+??_7ProvNegativeRangeType@@6B@
+; const  ProvNetworkAddressType::`vftable'
+??_7ProvNetworkAddressType@@6B@
+; const  ProvNull::`vftable'
+??_7ProvNull@@6B@
+; const  ProvNullType::`vftable'
+??_7ProvNullType@@6B@
+; const  ProvOSIAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvOSIAddressType@@6BProvInstanceType@@@
+; const  ProvOSIAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvOSIAddressType@@6BProvPositiveRangedType@@@
+; const  ProvObjectIdentifier::`vftable'
+??_7ProvObjectIdentifier@@6B@
+; const  ProvObjectIdentifierType::`vftable'
+??_7ProvObjectIdentifierType@@6B@
+; const  ProvOctetString::`vftable'
+??_7ProvOctetString@@6B@
+; const  ProvOctetStringType::`vftable'{for `ProvInstanceType'}
+??_7ProvOctetStringType@@6BProvInstanceType@@@
+; const  ProvOctetStringType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvOctetStringType@@6BProvPositiveRangedType@@@
+; const  ProvOpaque::`vftable'
+??_7ProvOpaque@@6B@
+; const  ProvOpaqueType::`vftable'{for `ProvInstanceType'}
+??_7ProvOpaqueType@@6BProvInstanceType@@@
+; const  ProvOpaqueType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvOpaqueType@@6BProvPositiveRangedType@@@
+; const  ProvPhysAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvPhysAddressType@@6BProvInstanceType@@@
+; const  ProvPhysAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvPhysAddressType@@6BProvPositiveRangedType@@@
+; const  ProvPositiveRangeType::`vftable'
+??_7ProvPositiveRangeType@@6B@
+; const  ProvPositiveRangedType::`vftable'
+??_7ProvPositiveRangedType@@6B@
+; const  ProvRowStatusType::`vftable'{for `ProvInstanceType'}
+??_7ProvRowStatusType@@6BProvInstanceType@@@
+; const  ProvRowStatusType::`vftable'{for `ProvNegativeRangedType'}
+??_7ProvRowStatusType@@6BProvNegativeRangedType@@@
+; const  ProvTimeTicks::`vftable'
+??_7ProvTimeTicks@@6B@
+; const  ProvTimeTicksType::`vftable'
+??_7ProvTimeTicksType@@6B@
+; const  ProvUDPAddressType::`vftable'
+??_7ProvUDPAddressType@@6B@
+; const  ProvUDPAddressType::`vftable'{for `ProvInstanceType'}
+??_7ProvUDPAddressType@@6BProvInstanceType@@@
+; const  ProvUDPAddressType::`vftable'{for `ProvPositiveRangedType'}
+??_7ProvUDPAddressType@@6BProvPositiveRangedType@@@
+; const  ProvUInteger32::`vftable'
+??_7ProvUInteger32@@6B@
+; const  ProvValue::`vftable'
+??_7ProvValue@@6B@
+; const  QueryPreprocessor::`vftable'
+??_7QueryPreprocessor@@6B@
+; const  WmiAndNode::`vftable'
+??_7WmiAndNode@@6B@
+; const  WmiNotNode::`vftable'
+??_7WmiNotNode@@6B@
+; const  WmiNullNode::`vftable'
+??_7WmiNullNode@@6B@
+; const  WmiNullRangeNode::`vftable'
+??_7WmiNullRangeNode@@6B@
+; const  WmiOperatorEqualNode::`vftable'
+??_7WmiOperatorEqualNode@@6B@
+; const  WmiOperatorEqualOrGreaterNode::`vftable'
+??_7WmiOperatorEqualOrGreaterNode@@6B@
+; const  WmiOperatorEqualOrLessNode::`vftable'
+??_7WmiOperatorEqualOrLessNode@@6B@
+; const  WmiOperatorGreaterNode::`vftable'
+??_7WmiOperatorGreaterNode@@6B@
+; const  WmiOperatorIsANode::`vftable'
+??_7WmiOperatorIsANode@@6B@
+; const  WmiOperatorLessNode::`vftable'
+??_7WmiOperatorLessNode@@6B@
+; const  WmiOperatorLikeNode::`vftable'
+??_7WmiOperatorLikeNode@@6B@
+; const  WmiOperatorNode::`vftable'
+??_7WmiOperatorNode@@6B@
+; const  WmiOperatorNotEqualNode::`vftable'
+??_7WmiOperatorNotEqualNode@@6B@
+; const  WmiOperatorNotIsANode::`vftable'
+??_7WmiOperatorNotIsANode@@6B@
+; const  WmiOperatorNotLikeNode::`vftable'
+??_7WmiOperatorNotLikeNode@@6B@
+; const  WmiOrNode::`vftable'
+??_7WmiOrNode@@6B@
+; const  WmiRangeNode::`vftable'
+??_7WmiRangeNode@@6B@
+; const  WmiSignedIntegerNode::`vftable'
+??_7WmiSignedIntegerNode@@6B@
+; const  WmiSignedIntegerRangeNode::`vftable'
+??_7WmiSignedIntegerRangeNode@@6B@
+; const  WmiStringNode::`vftable'
+??_7WmiStringNode@@6B@
+; const  WmiStringRangeNode::`vftable'
+??_7WmiStringRangeNode@@6B@
+; const  WmiTreeNode::`vftable'
+??_7WmiTreeNode@@6B@
+; const  WmiTreeNodeIterator::`vftable'
+??_7WmiTreeNodeIterator@@6B@
+; const  WmiUnsignedIntegerNode::`vftable'
+??_7WmiUnsignedIntegerNode@@6B@
+; const  WmiUnsignedIntegerRangeNode::`vftable'
+??_7WmiUnsignedIntegerRangeNode@@6B@
+; const  WmiValueNode::`vftable'
+??_7WmiValueNode@@6B@
+; public: void __thiscall ProvAnalyser::`default constructor closure'(void)
+??_FProvAnalyser@@QAEXXZ
+; public: void __thiscall ProvDisplayStringType::`default constructor closure'(void)
+??_FProvDisplayStringType@@QAEXXZ
+; public: void __thiscall ProvEventObject::`default constructor closure'(void)
+??_FProvEventObject@@QAEXXZ
+; public: void __thiscall ProvGaugeType::`default constructor closure'(void)
+??_FProvGaugeType@@QAEXXZ
+; public: void __thiscall ProvInstanceType::`default constructor closure'(void)
+??_FProvInstanceType@@QAEXXZ
+; public: void __thiscall ProvIntegerType::`default constructor closure'(void)
+??_FProvIntegerType@@QAEXXZ
+; public: void __thiscall ProvOctetStringType::`default constructor closure'(void)
+??_FProvOctetStringType@@QAEXXZ
+; public: void __thiscall ProvOpaqueType::`default constructor closure'(void)
+??_FProvOpaqueType@@QAEXXZ
+; public: void __thiscall ProvPhysAddressType::`default constructor closure'(void)
+??_FProvPhysAddressType@@QAEXXZ
+; public: void __thiscall ProvPositiveRangedType::`default constructor closure'(void)
+??_FProvPositiveRangedType@@QAEXXZ
+; public: void __thiscall WmiAndNode::`default constructor closure'(void)
+??_FWmiAndNode@@QAEXXZ
+; public: void __thiscall WmiNotNode::`default constructor closure'(void)
+??_FWmiNotNode@@QAEXXZ
+; public: void __thiscall WmiOperatorEqualNode::`default constructor closure'(void)
+??_FWmiOperatorEqualNode@@QAEXXZ
+; public: void __thiscall WmiOperatorEqualOrGreaterNode::`default constructor closure'(void)
+??_FWmiOperatorEqualOrGreaterNode@@QAEXXZ
+; public: void __thiscall WmiOperatorEqualOrLessNode::`default constructor closure'(void)
+??_FWmiOperatorEqualOrLessNode@@QAEXXZ
+; public: void __thiscall WmiOperatorGreaterNode::`default constructor closure'(void)
+??_FWmiOperatorGreaterNode@@QAEXXZ
+; public: void __thiscall WmiOperatorIsANode::`default constructor closure'(void)
+??_FWmiOperatorIsANode@@QAEXXZ
+; public: void __thiscall WmiOperatorLessNode::`default constructor closure'(void)
+??_FWmiOperatorLessNode@@QAEXXZ
+; public: void __thiscall WmiOperatorLikeNode::`default constructor closure'(void)
+??_FWmiOperatorLikeNode@@QAEXXZ
+; public: void __thiscall WmiOperatorNotEqualNode::`default constructor closure'(void)
+??_FWmiOperatorNotEqualNode@@QAEXXZ
+; public: void __thiscall WmiOperatorNotIsANode::`default constructor closure'(void)
+??_FWmiOperatorNotIsANode@@QAEXXZ
+; public: void __thiscall WmiOperatorNotLikeNode::`default constructor closure'(void)
+??_FWmiOperatorNotLikeNode@@QAEXXZ
+; public: void __thiscall WmiOrNode::`default constructor closure'(void)
+??_FWmiOrNode@@QAEXXZ
+; public: void __thiscall WmiTreeNode::`default constructor closure'(void)
+??_FWmiTreeNode@@QAEXXZ
+; protected: virtual class WmiRangeNode * __thiscall QueryPreprocessor::AllocInfiniteRangeNode(void *,unsigned short *)
+?AllocInfiniteRangeNode@QueryPreprocessor@@MAEPAVWmiRangeNode@@PAXPAG@Z
+; protected: virtual class WmiTreeNode * __thiscall QueryPreprocessor::AllocTypeNode(void *,unsigned short *,struct tagVARIANT &,enum WmiValueNode::WmiValueFunction,enum WmiValueNode::WmiValueFunction,class WmiTreeNode *)
+?AllocTypeNode@QueryPreprocessor@@MAEPAVWmiTreeNode@@PAXPAGAAUtagVARIANT@@W4WmiValueFunction@WmiValueNode@@3PAV2@@Z
+; protected: virtual int __thiscall ProvAnalyser::Analyse(class ProvLexicon *,unsigned long &,unsigned short,unsigned short const *,unsigned long &,int,int,int)
+?Analyse@ProvAnalyser@@MAEHPAVProvLexicon@@AAKGPBG1HHH@Z
+; private: int __thiscall ProvBitStringType::BitStringDef(void)
+?BitStringDef@ProvBitStringType@@AAEHXZ
+; public: int __thiscall ProvPositiveRangedType::Check(unsigned long const &)
+?Check@ProvPositiveRangedType@@QAEHABK@Z
+; public: void __thiscall ProvEventObject::Clear(void)
+?Clear@ProvEventObject@@QAEXXZ
+; public: int __thiscall WmiRangeNode::ClosedLowerBound(void)
+?ClosedLowerBound@WmiRangeNode@@QAEHXZ
+; public: int __thiscall WmiRangeNode::ClosedUpperBound(void)
+?ClosedUpperBound@WmiRangeNode@@QAEHXZ
+; public: static void __stdcall ProvDebugLog::Closedown(void)
+?Closedown@ProvDebugLog@@SGXXZ
+; protected: enum ProvObjectIdentifier::Comparison  __thiscall ProvObjectIdentifier::Compare(class ProvObjectIdentifier const &,class ProvObjectIdentifier const &)const 
+?Compare@ProvObjectIdentifier@@IBE?AW4Comparison@1@ABV1@0@Z
+; public: long __thiscall WmiRangeNode::ComparePropertyName(class WmiRangeNode &)
+?ComparePropertyName@WmiRangeNode@@QAEJAAV1@@Z
+; public: long __thiscall WmiValueNode::ComparePropertyName(class WmiValueNode &)
+?ComparePropertyName@WmiValueNode@@QAEJAAV1@@Z
+; public: virtual void __thiscall ProvEventObject::Complete(void)
+?Complete@ProvEventObject@@UAEXXZ
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::ConvertToRanges(class WmiTreeNode * &)
+?ConvertToRanges@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
+; public: virtual class ProvInstanceType * __thiscall ProvBitStringType::Copy(void)const 
+?Copy@ProvBitStringType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvCounter64::Copy(void)const 
+?Copy@ProvCounter64@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvCounter64Type::Copy(void)const 
+?Copy@ProvCounter64Type@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvCounter::Copy(void)const 
+?Copy@ProvCounter@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvCounterType::Copy(void)const 
+?Copy@ProvCounterType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvDateTimeType::Copy(void)const 
+?Copy@ProvDateTimeType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvDisplayStringType::Copy(void)const 
+?Copy@ProvDisplayStringType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvEnumeratedType::Copy(void)const 
+?Copy@ProvEnumeratedType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvFixedLengthDisplayStringType::Copy(void)const 
+?Copy@ProvFixedLengthDisplayStringType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvFixedLengthOctetStringType::Copy(void)const 
+?Copy@ProvFixedLengthOctetStringType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvFixedLengthOpaqueType::Copy(void)const 
+?Copy@ProvFixedLengthOpaqueType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvFixedLengthPhysAddressType::Copy(void)const 
+?Copy@ProvFixedLengthPhysAddressType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvGauge::Copy(void)const 
+?Copy@ProvGauge@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvGaugeType::Copy(void)const 
+?Copy@ProvGaugeType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvIPXAddressType::Copy(void)const 
+?Copy@ProvIPXAddressType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvInteger::Copy(void)const 
+?Copy@ProvInteger@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvIntegerType::Copy(void)const 
+?Copy@ProvIntegerType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvIpAddress::Copy(void)const 
+?Copy@ProvIpAddress@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvIpAddressType::Copy(void)const 
+?Copy@ProvIpAddressType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvMacAddressType::Copy(void)const 
+?Copy@ProvMacAddressType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvNegativeRangeType * __thiscall ProvNegativeRangeType::Copy(void)
+?Copy@ProvNegativeRangeType@@UAEPAV1@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvNetworkAddressType::Copy(void)const 
+?Copy@ProvNetworkAddressType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvNull::Copy(void)const 
+?Copy@ProvNull@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvNullType::Copy(void)const 
+?Copy@ProvNullType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvOSIAddressType::Copy(void)const 
+?Copy@ProvOSIAddressType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvObjectIdentifier::Copy(void)const 
+?Copy@ProvObjectIdentifier@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvObjectIdentifierType::Copy(void)const 
+?Copy@ProvObjectIdentifierType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvOctetString::Copy(void)const 
+?Copy@ProvOctetString@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvOctetStringType::Copy(void)const 
+?Copy@ProvOctetStringType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvOpaque::Copy(void)const 
+?Copy@ProvOpaque@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvOpaqueType::Copy(void)const 
+?Copy@ProvOpaqueType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvPhysAddressType::Copy(void)const 
+?Copy@ProvPhysAddressType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvPositiveRangeType * __thiscall ProvPositiveRangeType::Copy(void)
+?Copy@ProvPositiveRangeType@@UAEPAV1@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvRowStatusType::Copy(void)const 
+?Copy@ProvRowStatusType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvTimeTicks::Copy(void)const 
+?Copy@ProvTimeTicks@@UBEPAVProvValue@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvTimeTicksType::Copy(void)const 
+?Copy@ProvTimeTicksType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvInstanceType * __thiscall ProvUDPAddressType::Copy(void)const 
+?Copy@ProvUDPAddressType@@UBEPAVProvInstanceType@@XZ
+; public: virtual class ProvValue * __thiscall ProvUInteger32::Copy(void)const 
+?Copy@ProvUInteger32@@UBEPAVProvValue@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiAndNode::Copy(void)
+?Copy@WmiAndNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiNotNode::Copy(void)
+?Copy@WmiNotNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiNullNode::Copy(void)
+?Copy@WmiNullNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiNullRangeNode::Copy(void)
+?Copy@WmiNullRangeNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorEqualNode::Copy(void)
+?Copy@WmiOperatorEqualNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorEqualOrGreaterNode::Copy(void)
+?Copy@WmiOperatorEqualOrGreaterNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorEqualOrLessNode::Copy(void)
+?Copy@WmiOperatorEqualOrLessNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorGreaterNode::Copy(void)
+?Copy@WmiOperatorGreaterNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorIsANode::Copy(void)
+?Copy@WmiOperatorIsANode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorLessNode::Copy(void)
+?Copy@WmiOperatorLessNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorLikeNode::Copy(void)
+?Copy@WmiOperatorLikeNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorNotEqualNode::Copy(void)
+?Copy@WmiOperatorNotEqualNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorNotIsANode::Copy(void)
+?Copy@WmiOperatorNotIsANode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOperatorNotLikeNode::Copy(void)
+?Copy@WmiOperatorNotLikeNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiOrNode::Copy(void)
+?Copy@WmiOrNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiSignedIntegerNode::Copy(void)
+?Copy@WmiSignedIntegerNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiSignedIntegerRangeNode::Copy(void)
+?Copy@WmiSignedIntegerRangeNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiStringNode::Copy(void)
+?Copy@WmiStringNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiStringRangeNode::Copy(void)
+?Copy@WmiStringRangeNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiTreeNode::Copy(void)
+?Copy@WmiTreeNode@@UAEPAV1@XZ
+; public: virtual class WmiTreeNodeIterator * __thiscall WmiTreeNodeIterator::Copy(void)
+?Copy@WmiTreeNodeIterator@@UAEPAV1@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiUnsignedIntegerNode::Copy(void)
+?Copy@WmiUnsignedIntegerNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiUnsignedIntegerRangeNode::Copy(void)
+?Copy@WmiUnsignedIntegerRangeNode@@UAEPAVWmiTreeNode@@XZ
+; public: virtual class WmiTreeNode * __thiscall WmiTreeNode::CopyNode(void)
+?CopyNode@WmiTreeNode@@UAEPAV1@XZ
+; protected: void __thiscall QueryPreprocessor::CountDisjunctions(class WmiTreeNode *,unsigned long &)
+?CountDisjunctions@QueryPreprocessor@@IAEXPAVWmiTreeNode@@AAK@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::CreateDisjunctionContainer(void *,class WmiTreeNode *,unsigned long,unsigned short * *,class Disjunctions * &)
+?CreateDisjunctionContainer@QueryPreprocessor@@IAE?AW4WmiTriState@@PAXPAVWmiTreeNode@@KPAPAGAAPAVDisjunctions@@@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::CreateDisjunctions(void *,class WmiTreeNode *,class Disjunctions *,unsigned long,unsigned short * *,unsigned long &)
+?CreateDisjunctions@QueryPreprocessor@@IAE?AW4WmiTriState@@PAXPAVWmiTreeNode@@PAVDisjunctions@@KPAPAGAAK@Z
+; protected: virtual class ProvLexicon * __thiscall ProvAnalyser::CreateLexicon(void)
+?CreateLexicon@ProvAnalyser@@MAEPAVProvLexicon@@XZ
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::CreatePartitionSet(class Disjunctions *,class PartitionSet * &)
+?CreatePartitionSet@QueryPreprocessor@@IAE?AW4WmiTriState@@PAVDisjunctions@@AAPAVPartitionSet@@@Z
+; public: class ProvObjectIdentifier * __thiscall ProvObjectIdentifier::Cut(class ProvObjectIdentifier &)const 
+?Cut@ProvObjectIdentifier@@QBEPAV1@AAV1@@Z
+; private: int __thiscall ProvDateTimeType::DateTimeDef(void)
+?DateTimeDef@ProvDateTimeType@@AAEHXZ
+; unsigned short * __stdcall DbcsToUnicodeString(char const *)
+?DbcsToUnicodeString@@YGPAGPBD@Z
+; public: static unsigned long __stdcall ProvAnalyser::DecCharToDecInteger(char)
+?DecCharToDecInteger@ProvAnalyser@@SGKD@Z
+; public: static char __stdcall ProvAnalyser::DecIntegerToDecChar(unsigned char)
+?DecIntegerToDecChar@ProvAnalyser@@SGDE@Z
+; public: static unsigned short __stdcall ProvAnalyser::DecIntegerToDecWChar(unsigned char)
+?DecIntegerToDecWChar@ProvAnalyser@@SGGE@Z
+; public: static char __stdcall ProvAnalyser::DecIntegerToHexChar(unsigned char)
+?DecIntegerToHexChar@ProvAnalyser@@SGDE@Z
+; public: static unsigned short __stdcall ProvAnalyser::DecIntegerToHexWChar(unsigned char)
+?DecIntegerToHexWChar@ProvAnalyser@@SGGE@Z
+; public: static char __stdcall ProvAnalyser::DecIntegerToOctChar(unsigned char)
+?DecIntegerToOctChar@ProvAnalyser@@SGDE@Z
+; public: static unsigned short __stdcall ProvAnalyser::DecIntegerToOctWChar(unsigned char)
+?DecIntegerToOctWChar@ProvAnalyser@@SGGE@Z
+; public: static unsigned long __stdcall ProvAnalyser::DecWCharToDecInteger(unsigned short)
+?DecWCharToDecInteger@ProvAnalyser@@SGKG@Z
+; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::DisjunctiveNormalForm(class WmiTreeNode * &)
+?DisjunctiveNormalForm@QueryPreprocessor@@IAE?AW4QuadState@1@AAPAVWmiTreeNode@@@Z
+; private: void __thiscall ProvDateTimeType::Encode(unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &,unsigned long const &)
+?Encode@ProvDateTimeType@@AAEXABK0000000000@Z
+; private: int __thiscall ProvEnumeratedType::EnumerationDef(void)
+?EnumerationDef@ProvEnumeratedType@@AAEHXZ
+; protected: virtual int __thiscall ProvCounter64::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvCounter64@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvCounter64::Equivalent(class ProvCounter64 const &)const 
+?Equivalent@ProvCounter64@@QBEHABV1@@Z
+; protected: virtual int __thiscall ProvCounter64Type::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvCounter64Type@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvCounter::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvCounter@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvCounter::Equivalent(class ProvCounter const &)const 
+?Equivalent@ProvCounter@@QBEHABV1@@Z
+; protected: virtual int __thiscall ProvCounterType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvCounterType@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvGauge::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvGauge@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvGauge::Equivalent(class ProvGauge const &)const 
+?Equivalent@ProvGauge@@QBEHABV1@@Z
+; protected: virtual int __thiscall ProvGaugeType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvGaugeType@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvInteger::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvInteger@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvInteger::Equivalent(class ProvInteger const &)const 
+?Equivalent@ProvInteger@@QBEHABV1@@Z
+; protected: virtual int __thiscall ProvIntegerType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvIntegerType@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvIpAddress::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvIpAddress@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvIpAddress::Equivalent(class ProvIpAddress const &)const 
+?Equivalent@ProvIpAddress@@QBEHABV1@@Z
+; protected: virtual int __thiscall ProvIpAddressType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvIpAddressType@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvNetworkAddressType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvNetworkAddressType@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvNull::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvNull@@MBEHABVProvValue@@@Z
+; protected: virtual int __thiscall ProvNullType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvNullType@@MBEHABVProvInstanceType@@@Z
+; protected: int __thiscall ProvObjectIdentifier::Equivalent(class ProvObjectIdentifier const &)const 
+?Equivalent@ProvObjectIdentifier@@IBEHABV1@@Z
+; protected: virtual int __thiscall ProvObjectIdentifier::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvObjectIdentifier@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvObjectIdentifier::Equivalent(class ProvObjectIdentifier const &,unsigned long)const 
+?Equivalent@ProvObjectIdentifier@@QBEHABV1@K@Z
+; protected: virtual int __thiscall ProvObjectIdentifierType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvObjectIdentifierType@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvOctetString::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvOctetString@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvOctetString::Equivalent(class ProvOctetString const &)const 
+?Equivalent@ProvOctetString@@QBEHABV1@@Z
+; protected: virtual int __thiscall ProvOctetStringType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvOctetStringType@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvOpaque::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvOpaque@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvOpaque::Equivalent(class ProvOpaque const &)const 
+?Equivalent@ProvOpaque@@QBEHABV1@@Z
+; protected: virtual int __thiscall ProvOpaqueType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvOpaqueType@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvTimeTicks::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvTimeTicks@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvTimeTicks::Equivalent(class ProvTimeTicks const &)const 
+?Equivalent@ProvTimeTicks@@QBEHABV1@@Z
+; protected: virtual int __thiscall ProvTimeTicksType::Equivalent(class ProvInstanceType const &)const 
+?Equivalent@ProvTimeTicksType@@MBEHABVProvInstanceType@@@Z
+; protected: virtual int __thiscall ProvUInteger32::Equivalent(class ProvValue const &)const 
+?Equivalent@ProvUInteger32@@MBEHABVProvValue@@@Z
+; public: int __thiscall ProvUInteger32::Equivalent(class ProvUInteger32 const &)const 
+?Equivalent@ProvUInteger32@@QBEHABV1@@Z
+; protected: int __thiscall QueryPreprocessor::Evaluate(void *,struct SQL_LEVEL_1_RPN_EXPRESSION &,class WmiTreeNode * *)
+?Evaluate@QueryPreprocessor@@IAEHPAXAAUSQL_LEVEL_1_RPN_EXPRESSION@@PAPAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::EvaluateAndExpression(class WmiTreeNode * &)
+?EvaluateAndExpression@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::EvaluateNotEqualExpression(class WmiTreeNode * &)
+?EvaluateNotEqualExpression@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::EvaluateNotExpression(class WmiTreeNode * &)
+?EvaluateNotExpression@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::EvaluateOrExpression(class WmiTreeNode * &)
+?EvaluateOrExpression@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
+; public: class ProvLexicon * __thiscall ProvAnalyser::Get(int,int,int)
+?Get@ProvAnalyser@@QAEPAVProvLexicon@@HHH@Z
+; private: class ProvLexicon * __thiscall ProvBitStringType::Get(void)
+?Get@ProvBitStringType@@AAEPAVProvLexicon@@XZ
+; private: class ProvLexicon * __thiscall ProvDateTimeType::Get(void)
+?Get@ProvDateTimeType@@AAEPAVProvLexicon@@XZ
+; private: class ProvLexicon * __thiscall ProvEnumeratedType::Get(void)
+?Get@ProvEnumeratedType@@AAEPAVProvLexicon@@XZ
+; protected: class ProvLexicon * __thiscall ProvPositiveRangedType::Get(void)
+?Get@ProvPositiveRangedType@@IAEPAVProvLexicon@@XZ
+; public: char * __thiscall ProvObjectIdentifier::GetAllocatedString(void)const 
+?GetAllocatedString@ProvObjectIdentifier@@QBEPADXZ
+; public: unsigned long __thiscall Disjunctions::GetConjunctionCount(void)
+?GetConjunctionCount@Disjunctions@@QAEKXZ
+; public: enum WmiValueNode::WmiValueFunction  __thiscall WmiValueNode::GetConstantFunction(void)
+?GetConstantFunction@WmiValueNode@@QAE?AW4WmiValueFunction@1@XZ
+; public: void * __thiscall WmiTreeNode::GetData(void)
+?GetData@WmiTreeNode@@QAEPAXXZ
+; public: void __thiscall WmiTreeNode::GetData(void * *)
+?GetData@WmiTreeNode@@QAEXPAPAX@Z
+; public: class Conjunctions * __thiscall Disjunctions::GetDisjunction(unsigned long)
+?GetDisjunction@Disjunctions@@QAEPAVConjunctions@@K@Z
+; public: unsigned long __thiscall Disjunctions::GetDisjunctionCount(void)
+?GetDisjunctionCount@Disjunctions@@QAEKXZ
+; public: void * __thiscall ProvEventObject::GetHandle(void)
+?GetHandle@ProvEventObject@@QAEPAXXZ
+; public: unsigned long __thiscall ProvCounter64::GetHighValue(void)const 
+?GetHighValue@ProvCounter64@@QBEKXZ
+; public: unsigned long __thiscall WmiRangeNode::GetIndex(void)
+?GetIndex@WmiRangeNode@@QAEKXZ
+; public: unsigned long __thiscall WmiValueNode::GetIndex(void)
+?GetIndex@WmiValueNode@@QAEKXZ
+; public: enum WmiTriState  __thiscall WmiSignedIntegerRangeNode::GetIntersectingRange(class WmiSignedIntegerRangeNode &,class WmiSignedIntegerRangeNode * &)
+?GetIntersectingRange@WmiSignedIntegerRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
+; public: enum WmiTriState  __thiscall WmiStringRangeNode::GetIntersectingRange(class WmiStringRangeNode &,class WmiStringRangeNode * &)
+?GetIntersectingRange@WmiStringRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
+; public: enum WmiTriState  __thiscall WmiUnsignedIntegerRangeNode::GetIntersectingRange(class WmiUnsignedIntegerRangeNode &,class WmiUnsignedIntegerRangeNode * &)
+?GetIntersectingRange@WmiUnsignedIntegerRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
+; public: class WmiTreeNode * __thiscall WmiTreeNodeIterator::GetIterator(void)
+?GetIterator@WmiTreeNodeIterator@@QAEPAVWmiTreeNode@@XZ
+; public: unsigned long __thiscall PartitionSet::GetKeyIndex(void)
+?GetKeyIndex@PartitionSet@@QAEKXZ
+; public: class WmiTreeNode * __thiscall WmiTreeNode::GetLeft(void)
+?GetLeft@WmiTreeNode@@QAEPAV1@XZ
+; public: void __thiscall WmiTreeNode::GetLeft(class WmiTreeNode * * &)
+?GetLeft@WmiTreeNode@@QAEXAAPAPAV1@@Z
+; public: unsigned long __thiscall ProvDebugLog::GetLevel(void)
+?GetLevel@ProvDebugLog@@QAEKXZ
+; public: int __thiscall ProvDebugLog::GetLogging(void)
+?GetLogging@ProvDebugLog@@QAEHXZ
+; public: unsigned long __thiscall ProvCounter64::GetLowValue(void)const 
+?GetLowValue@ProvCounter64@@QBEKXZ
+; public: long __thiscall ProvNegativeRangeType::GetLowerBound(void)
+?GetLowerBound@ProvNegativeRangeType@@QAEJXZ
+; public: unsigned long __thiscall ProvPositiveRangeType::GetLowerBound(void)
+?GetLowerBound@ProvPositiveRangeType@@QAEKXZ
+; public: enum WmiTriState  __thiscall WmiSignedIntegerRangeNode::GetOverlappingRange(class WmiSignedIntegerRangeNode &,class WmiSignedIntegerRangeNode * &)
+?GetOverlappingRange@WmiSignedIntegerRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
+; public: enum WmiTriState  __thiscall WmiStringRangeNode::GetOverlappingRange(class WmiStringRangeNode &,class WmiStringRangeNode * &)
+?GetOverlappingRange@WmiStringRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
+; public: enum WmiTriState  __thiscall WmiUnsignedIntegerRangeNode::GetOverlappingRange(class WmiUnsignedIntegerRangeNode &,class WmiUnsignedIntegerRangeNode * &)
+?GetOverlappingRange@WmiUnsignedIntegerRangeNode@@QAE?AW4WmiTriState@@AAV1@AAPAV1@@Z
+; public: class WmiTreeNode * __thiscall WmiTreeNode::GetParent(void)
+?GetParent@WmiTreeNode@@QAEPAV1@XZ
+; public: void __thiscall WmiTreeNode::GetParent(class WmiTreeNode * * &)
+?GetParent@WmiTreeNode@@QAEXAAPAPAV1@@Z
+; public: class PartitionSet * __thiscall PartitionSet::GetPartition(unsigned long)
+?GetPartition@PartitionSet@@QAEPAV1@K@Z
+; public: unsigned long __thiscall PartitionSet::GetPartitionCount(void)
+?GetPartitionCount@PartitionSet@@QAEKXZ
+; public: enum WmiValueNode::WmiValueFunction  __thiscall WmiValueNode::GetPropertyFunction(void)
+?GetPropertyFunction@WmiValueNode@@QAE?AW4WmiValueFunction@1@XZ
+; public: unsigned short * __thiscall WmiRangeNode::GetPropertyName(void)
+?GetPropertyName@WmiRangeNode@@QAEPAGXZ
+; public: unsigned short * __thiscall WmiValueNode::GetPropertyName(void)
+?GetPropertyName@WmiValueNode@@QAEPAGXZ
+; public: static class ProvDebugLog * __stdcall ProvDebugLog::GetProvDebugLog(char)
+?GetProvDebugLog@ProvDebugLog@@SGPAV1@D@Z
+; public: class WmiRangeNode * __thiscall Conjunctions::GetRange(unsigned long)
+?GetRange@Conjunctions@@QAEPAVWmiRangeNode@@K@Z
+; public: class WmiRangeNode * __thiscall PartitionSet::GetRange(void)
+?GetRange@PartitionSet@@QAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorEqualNode::GetRange(void)
+?GetRange@WmiOperatorEqualNode@@UAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorEqualOrGreaterNode::GetRange(void)
+?GetRange@WmiOperatorEqualOrGreaterNode@@UAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorEqualOrLessNode::GetRange(void)
+?GetRange@WmiOperatorEqualOrLessNode@@UAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorGreaterNode::GetRange(void)
+?GetRange@WmiOperatorGreaterNode@@UAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorIsANode::GetRange(void)
+?GetRange@WmiOperatorIsANode@@UAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorLessNode::GetRange(void)
+?GetRange@WmiOperatorLessNode@@UAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorLikeNode::GetRange(void)
+?GetRange@WmiOperatorLikeNode@@UAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorNotEqualNode::GetRange(void)
+?GetRange@WmiOperatorNotEqualNode@@UAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorNotIsANode::GetRange(void)
+?GetRange@WmiOperatorNotIsANode@@UAEPAVWmiRangeNode@@XZ
+; public: virtual class WmiRangeNode * __thiscall WmiOperatorNotLikeNode::GetRange(void)
+?GetRange@WmiOperatorNotLikeNode@@UAEPAVWmiRangeNode@@XZ
+; public: unsigned long __thiscall Conjunctions::GetRangeCount(void)
+?GetRangeCount@Conjunctions@@QAEKXZ
+; public: class WmiTreeNode * __thiscall WmiTreeNode::GetRight(void)
+?GetRight@WmiTreeNode@@QAEPAV1@XZ
+; public: void __thiscall WmiTreeNode::GetRight(class WmiTreeNode * * &)
+?GetRight@WmiTreeNode@@QAEXAAPAPAV1@@Z
+; public: enum ProvRowStatusType::ProvRowStatusEnum  __thiscall ProvRowStatusType::GetRowStatus(void)const 
+?GetRowStatus@ProvRowStatusType@@QBE?AW4ProvRowStatusEnum@1@XZ
+; public: unsigned short * __thiscall CBString::GetString(void)
+?GetString@CBString@@QAEPAGXZ
+; public: virtual unsigned short * __thiscall ProvBitStringType::GetStringValue(void)const 
+?GetStringValue@ProvBitStringType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvCounter64Type::GetStringValue(void)const 
+?GetStringValue@ProvCounter64Type@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvCounterType::GetStringValue(void)const 
+?GetStringValue@ProvCounterType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvDateTimeType::GetStringValue(void)const 
+?GetStringValue@ProvDateTimeType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvDisplayStringType::GetStringValue(void)const 
+?GetStringValue@ProvDisplayStringType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvEnumeratedType::GetStringValue(void)const 
+?GetStringValue@ProvEnumeratedType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvFixedLengthDisplayStringType::GetStringValue(void)const 
+?GetStringValue@ProvFixedLengthDisplayStringType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvFixedLengthPhysAddressType::GetStringValue(void)const 
+?GetStringValue@ProvFixedLengthPhysAddressType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvGaugeType::GetStringValue(void)const 
+?GetStringValue@ProvGaugeType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvIPXAddressType::GetStringValue(void)const 
+?GetStringValue@ProvIPXAddressType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvIntegerType::GetStringValue(void)const 
+?GetStringValue@ProvIntegerType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvIpAddressType::GetStringValue(void)const 
+?GetStringValue@ProvIpAddressType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvMacAddressType::GetStringValue(void)const 
+?GetStringValue@ProvMacAddressType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvNetworkAddressType::GetStringValue(void)const 
+?GetStringValue@ProvNetworkAddressType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvNullType::GetStringValue(void)const 
+?GetStringValue@ProvNullType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvOSIAddressType::GetStringValue(void)const 
+?GetStringValue@ProvOSIAddressType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvObjectIdentifierType::GetStringValue(void)const 
+?GetStringValue@ProvObjectIdentifierType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvOctetStringType::GetStringValue(void)const 
+?GetStringValue@ProvOctetStringType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvOpaqueType::GetStringValue(void)const 
+?GetStringValue@ProvOpaqueType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvPhysAddressType::GetStringValue(void)const 
+?GetStringValue@ProvPhysAddressType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvRowStatusType::GetStringValue(void)const 
+?GetStringValue@ProvRowStatusType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvTimeTicksType::GetStringValue(void)const 
+?GetStringValue@ProvTimeTicksType@@UBEPAGXZ
+; public: virtual unsigned short * __thiscall ProvUDPAddressType::GetStringValue(void)const 
+?GetStringValue@ProvUDPAddressType@@UBEPAGXZ
+; private: class ProvLexicon * __thiscall ProvAnalyser::GetToken(int,int,int)
+?GetToken@ProvAnalyser@@AAEPAVProvLexicon@@HHH@Z
+; public: enum ProvLexicon::LexiconToken  __thiscall ProvLexicon::GetToken(void)
+?GetToken@ProvLexicon@@QAE?AW4LexiconToken@1@XZ
+; public: unsigned long __thiscall WmiTreeNode::GetType(void)
+?GetType@WmiTreeNode@@QAEKXZ
+; public: long __thiscall ProvNegativeRangeType::GetUpperBound(void)
+?GetUpperBound@ProvNegativeRangeType@@QAEJXZ
+; public: unsigned long __thiscall ProvPositiveRangeType::GetUpperBound(void)
+?GetUpperBound@ProvPositiveRangeType@@QAEKXZ
+; public: unsigned long __thiscall ProvBitStringType::GetValue(unsigned short * * &)const 
+?GetValue@ProvBitStringType@@QBEKAAPAPAG@Z
+; public: void __thiscall ProvCounter64Type::GetValue(unsigned long &,unsigned long &)const 
+?GetValue@ProvCounter64Type@@QBEXAAK0@Z
+; public: unsigned long __thiscall ProvCounter::GetValue(void)const 
+?GetValue@ProvCounter@@QBEKXZ
+; public: unsigned long __thiscall ProvCounterType::GetValue(void)const 
+?GetValue@ProvCounterType@@QBEKXZ
+; public: unsigned short * __thiscall ProvDateTimeType::GetValue(void)const 
+?GetValue@ProvDateTimeType@@QBEPAGXZ
+; public: unsigned short * __thiscall ProvDisplayStringType::GetValue(void)const 
+?GetValue@ProvDisplayStringType@@QBEPAGXZ
+; public: unsigned short * __thiscall ProvEnumeratedType::GetValue(void)const 
+?GetValue@ProvEnumeratedType@@QBEPAGXZ
+; public: unsigned short * __thiscall ProvFixedLengthDisplayStringType::GetValue(void)const 
+?GetValue@ProvFixedLengthDisplayStringType@@QBEPAGXZ
+; public: unsigned long __thiscall ProvGauge::GetValue(void)const 
+?GetValue@ProvGauge@@QBEKXZ
+; public: unsigned long __thiscall ProvGaugeType::GetValue(void)const 
+?GetValue@ProvGaugeType@@QBEKXZ
+; public: long __thiscall ProvInteger::GetValue(void)const 
+?GetValue@ProvInteger@@QBEJXZ
+; public: long __thiscall ProvIntegerType::GetValue(void)const 
+?GetValue@ProvIntegerType@@QBEJXZ
+; public: unsigned long __thiscall ProvIpAddress::GetValue(void)const 
+?GetValue@ProvIpAddress@@QBEKXZ
+; public: unsigned long __thiscall ProvIpAddressType::GetValue(void)const 
+?GetValue@ProvIpAddressType@@QBEKXZ
+; public: union ProvLexiconValue * __thiscall ProvLexicon::GetValue(void)
+?GetValue@ProvLexicon@@QAEPATProvLexiconValue@@XZ
+; public: unsigned long __thiscall ProvNetworkAddressType::GetValue(void)const 
+?GetValue@ProvNetworkAddressType@@QBEKXZ
+; public: unsigned long * __thiscall ProvObjectIdentifier::GetValue(void)const 
+?GetValue@ProvObjectIdentifier@@QBEPAKXZ
+; public: unsigned long * __thiscall ProvObjectIdentifierType::GetValue(void)const 
+?GetValue@ProvObjectIdentifierType@@QBEPAKXZ
+; public: unsigned char * __thiscall ProvOctetString::GetValue(void)const 
+?GetValue@ProvOctetString@@QBEPAEXZ
+; public: unsigned char * __thiscall ProvOctetStringType::GetValue(void)const 
+?GetValue@ProvOctetStringType@@QBEPAEXZ
+; public: unsigned char * __thiscall ProvOpaque::GetValue(void)const 
+?GetValue@ProvOpaque@@QBEPAEXZ
+; public: unsigned char * __thiscall ProvOpaqueType::GetValue(void)const 
+?GetValue@ProvOpaqueType@@QBEPAEXZ
+; public: unsigned short * __thiscall ProvRowStatusType::GetValue(void)const 
+?GetValue@ProvRowStatusType@@QBEPAGXZ
+; public: unsigned long __thiscall ProvTimeTicks::GetValue(void)const 
+?GetValue@ProvTimeTicks@@QBEKXZ
+; public: unsigned long __thiscall ProvTimeTicksType::GetValue(void)const 
+?GetValue@ProvTimeTicksType@@QBEKXZ
+; public: unsigned long __thiscall ProvUInteger32::GetValue(void)const 
+?GetValue@ProvUInteger32@@QBEKXZ
+; public: long __thiscall WmiSignedIntegerNode::GetValue(void)
+?GetValue@WmiSignedIntegerNode@@QAEJXZ
+; public: unsigned short * __thiscall WmiStringNode::GetValue(void)
+?GetValue@WmiStringNode@@QAEPAGXZ
+; public: unsigned long __thiscall WmiUnsignedIntegerNode::GetValue(void)
+?GetValue@WmiUnsignedIntegerNode@@QAEKXZ
+; public: unsigned long __thiscall ProvObjectIdentifier::GetValueLength(void)const 
+?GetValueLength@ProvObjectIdentifier@@QBEKXZ
+; public: unsigned long __thiscall ProvObjectIdentifierType::GetValueLength(void)const 
+?GetValueLength@ProvObjectIdentifierType@@QBEKXZ
+; public: unsigned long __thiscall ProvOctetString::GetValueLength(void)const 
+?GetValueLength@ProvOctetString@@QBEKXZ
+; public: unsigned long __thiscall ProvOctetStringType::GetValueLength(void)const 
+?GetValueLength@ProvOctetStringType@@QBEKXZ
+; public: unsigned long __thiscall ProvOpaque::GetValueLength(void)const 
+?GetValueLength@ProvOpaque@@QBEKXZ
+; public: unsigned long __thiscall ProvOpaqueType::GetValueLength(void)const 
+?GetValueLength@ProvOpaqueType@@QBEKXZ
+; public: static unsigned long __stdcall ProvAnalyser::HexCharToDecInteger(char)
+?HexCharToDecInteger@ProvAnalyser@@SGKD@Z
+; public: static unsigned long __stdcall ProvAnalyser::HexWCharToDecInteger(unsigned short)
+?HexWCharToDecInteger@ProvAnalyser@@SGKG@Z
+; public: int __thiscall WmiRangeNode::InfiniteLowerBound(void)
+?InfiniteLowerBound@WmiRangeNode@@QAEHXZ
+; public: int __thiscall WmiRangeNode::InfiniteUpperBound(void)
+?InfiniteUpperBound@WmiRangeNode@@QAEHXZ
+; protected: virtual void __thiscall ProvAnalyser::Initialise(void)
+?Initialise@ProvAnalyser@@MAEXXZ
+; public: enum WmiTriState  __thiscall Conjunctions::Initialize(void)
+?Initialize@Conjunctions@@QAE?AW4WmiTriState@@XZ
+; public: enum WmiTriState  __thiscall Disjunctions::Initialize(void)
+?Initialize@Disjunctions@@QAE?AW4WmiTriState@@XZ
+; public: enum WmiTriState  __thiscall PartitionSet::Initialize(unsigned long)
+?Initialize@PartitionSet@@QAE?AW4WmiTriState@@K@Z
+; protected: virtual void __thiscall ProvObjectIdentifier::Initialize(unsigned long const *,unsigned long)
+?Initialize@ProvObjectIdentifier@@MAEXPBKK@Z
+; protected: virtual void __thiscall ProvOctetString::Initialize(unsigned char const *,unsigned long)
+?Initialize@ProvOctetString@@MAEXPBEK@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::InsertNode(class WmiTreeNode * &,class WmiTreeNode * &)
+?InsertNode@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@0@Z
+; protected: virtual enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::InvariantEvaluate(void *,class WmiTreeNode *,class WmiTreeNode *)
+?InvariantEvaluate@QueryPreprocessor@@MAE?AW4QuadState@1@PAXPAVWmiTreeNode@@1@Z
+; public: static int __stdcall ProvAnalyser::IsAlpha(unsigned short)
+?IsAlpha@ProvAnalyser@@SGHG@Z
+; public: static int __stdcall ProvAnalyser::IsAlphaNumeric(unsigned short)
+?IsAlphaNumeric@ProvAnalyser@@SGHG@Z
+; public: static int __stdcall ProvAnalyser::IsDecimal(unsigned short)
+?IsDecimal@ProvAnalyser@@SGHG@Z
+; public: static int __stdcall ProvAnalyser::IsEof(unsigned short)
+?IsEof@ProvAnalyser@@SGHG@Z
+; public: static int __stdcall ProvAnalyser::IsHex(unsigned short)
+?IsHex@ProvAnalyser@@SGHG@Z
+; public: static int __stdcall ProvAnalyser::IsLeadingDecimal(unsigned short)
+?IsLeadingDecimal@ProvAnalyser@@SGHG@Z
+; public: virtual int __thiscall ProvInstanceType::IsNull(void)const 
+?IsNull@ProvInstanceType@@UBEHXZ
+; public: static int __stdcall ProvAnalyser::IsOctal(unsigned short)
+?IsOctal@ProvAnalyser@@SGHG@Z
+; public: virtual int __thiscall ProvCounter64Type::IsProvV1Type(void)const 
+?IsProvV1Type@ProvCounter64Type@@UBEHXZ
+; public: virtual int __thiscall ProvInstanceType::IsProvV1Type(void)const 
+?IsProvV1Type@ProvInstanceType@@UBEHXZ
+; public: virtual int __thiscall ProvInstanceType::IsProvV2CType(void)const 
+?IsProvV2CType@ProvInstanceType@@UBEHXZ
+; public: virtual int __thiscall ProvNullType::IsProvV2CType(void)const 
+?IsProvV2CType@ProvNullType@@UBEHXZ
+; public: virtual int __thiscall ProvInstanceType::IsValid(void)const 
+?IsValid@ProvInstanceType@@UBEHXZ
+; public: int __thiscall ProvPositiveRangedType::IsValid(void)
+?IsValid@ProvPositiveRangedType@@QAEHXZ
+; public: static int __stdcall ProvAnalyser::IsWhitespace(unsigned short)
+?IsWhitespace@ProvAnalyser@@SGHG@Z
+; public: int __thiscall PartitionSet::Leaf(void)
+?Leaf@PartitionSet@@QAEHXZ
+; public: int __thiscall WmiSignedIntegerNode::LexicographicallyAfter(long &)
+?LexicographicallyAfter@WmiSignedIntegerNode@@QAEHAAJ@Z
+; public: int __thiscall WmiStringNode::LexicographicallyAfter(unsigned short * &)
+?LexicographicallyAfter@WmiStringNode@@QAEHAAPAG@Z
+; public: int __thiscall WmiUnsignedIntegerNode::LexicographicallyAfter(unsigned long &)
+?LexicographicallyAfter@WmiUnsignedIntegerNode@@QAEHAAK@Z
+; public: int __thiscall WmiSignedIntegerNode::LexicographicallyBefore(long &)
+?LexicographicallyBefore@WmiSignedIntegerNode@@QAEHAAJ@Z
+; public: int __thiscall WmiStringNode::LexicographicallyBefore(unsigned short * &)
+?LexicographicallyBefore@WmiStringNode@@QAEHAAPAG@Z
+; public: int __thiscall WmiUnsignedIntegerNode::LexicographicallyBefore(unsigned long &)
+?LexicographicallyBefore@WmiUnsignedIntegerNode@@QAEHAAK@Z
+; public: long __thiscall WmiSignedIntegerRangeNode::LowerBound(void)
+?LowerBound@WmiSignedIntegerRangeNode@@QAEJXZ
+; public: unsigned short * __thiscall WmiStringRangeNode::LowerBound(void)
+?LowerBound@WmiStringRangeNode@@QAEPAGXZ
+; public: unsigned long __thiscall WmiUnsignedIntegerRangeNode::LowerBound(void)
+?LowerBound@WmiUnsignedIntegerRangeNode@@QAEKXZ
+; private: class ProvLexicon * __thiscall ProvBitStringType::Match(enum ProvLexicon::LexiconToken)
+?Match@ProvBitStringType@@AAEPAVProvLexicon@@W4LexiconToken@2@@Z
+; private: class ProvLexicon * __thiscall ProvDateTimeType::Match(enum ProvLexicon::LexiconToken)
+?Match@ProvDateTimeType@@AAEPAVProvLexicon@@W4LexiconToken@2@@Z
+; private: class ProvLexicon * __thiscall ProvEnumeratedType::Match(enum ProvLexicon::LexiconToken)
+?Match@ProvEnumeratedType@@AAEPAVProvLexicon@@W4LexiconToken@2@@Z
+; protected: class ProvLexicon * __thiscall ProvPositiveRangedType::Match(enum ProvLexicon::LexiconToken)
+?Match@ProvPositiveRangedType@@IAEPAVProvLexicon@@W4LexiconToken@2@@Z
+; public: static unsigned long __stdcall ProvAnalyser::OctCharToDecInteger(char)
+?OctCharToDecInteger@ProvAnalyser@@SGKD@Z
+; public: static unsigned long __stdcall ProvAnalyser::OctWCharToDecInteger(unsigned short)
+?OctWCharToDecInteger@ProvAnalyser@@SGKG@Z
+; private: void __thiscall ProvObjectIdentifier::OverWrite(unsigned long const *)
+?OverWrite@ProvObjectIdentifier@@AAEXPBK@Z
+; private: void __thiscall ProvOctetString::OverWrite(unsigned char const *)
+?OverWrite@ProvOctetString@@AAEXPBE@Z
+; private: int __thiscall ProvBitStringType::Parse(unsigned short const *)
+?Parse@ProvBitStringType@@AAEHPBG@Z
+; protected: int __thiscall ProvCounter64Type::Parse(unsigned short const *)
+?Parse@ProvCounter64Type@@IAEHPBG@Z
+; protected: int __thiscall ProvCounterType::Parse(unsigned short const *)
+?Parse@ProvCounterType@@IAEHPBG@Z
+; private: int __thiscall ProvDateTimeType::Parse(unsigned short const *)
+?Parse@ProvDateTimeType@@AAEHPBG@Z
+; private: int __thiscall ProvEnumeratedType::Parse(unsigned short const *)
+?Parse@ProvEnumeratedType@@AAEHPBG@Z
+; protected: int __thiscall ProvFixedLengthPhysAddressType::Parse(unsigned short const *)
+?Parse@ProvFixedLengthPhysAddressType@@IAEHPBG@Z
+; protected: int __thiscall ProvGaugeType::Parse(unsigned short const *)
+?Parse@ProvGaugeType@@IAEHPBG@Z
+; protected: int __thiscall ProvIPXAddressType::Parse(unsigned short const *)
+?Parse@ProvIPXAddressType@@IAEHPBG@Z
+; protected: int __thiscall ProvIntegerType::Parse(unsigned short const *)
+?Parse@ProvIntegerType@@IAEHPBG@Z
+; protected: int __thiscall ProvIpAddressType::Parse(unsigned short const *)
+?Parse@ProvIpAddressType@@IAEHPBG@Z
+; protected: int __thiscall ProvMacAddressType::Parse(unsigned short const *)
+?Parse@ProvMacAddressType@@IAEHPBG@Z
+; protected: int __thiscall ProvNetworkAddressType::Parse(unsigned short const *)
+?Parse@ProvNetworkAddressType@@IAEHPBG@Z
+; protected: int __thiscall ProvOSIAddressType::Parse(unsigned short const *)
+?Parse@ProvOSIAddressType@@IAEHPBG@Z
+; protected: int __thiscall ProvObjectIdentifierType::Parse(unsigned short const *)
+?Parse@ProvObjectIdentifierType@@IAEHPBG@Z
+; protected: int __thiscall ProvOctetStringType::Parse(unsigned short const *)
+?Parse@ProvOctetStringType@@IAEHPBG@Z
+; protected: int __thiscall ProvOpaqueType::Parse(unsigned short const *)
+?Parse@ProvOpaqueType@@IAEHPBG@Z
+; protected: int __thiscall ProvPhysAddressType::Parse(unsigned short const *)
+?Parse@ProvPhysAddressType@@IAEHPBG@Z
+; protected: int __thiscall ProvPositiveRangedType::Parse(unsigned short const *)
+?Parse@ProvPositiveRangedType@@IAEHPBG@Z
+; protected: int __thiscall ProvTimeTicksType::Parse(unsigned short const *)
+?Parse@ProvTimeTicksType@@IAEHPBG@Z
+; protected: int __thiscall ProvUDPAddressType::Parse(unsigned short const *)
+?Parse@ProvUDPAddressType@@IAEHPBG@Z
+; public: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::PreProcess(void *,struct SQL_LEVEL_1_RPN_EXPRESSION *,class WmiTreeNode * &)
+?PreProcess@QueryPreprocessor@@QAE?AW4QuadState@1@PAXPAUSQL_LEVEL_1_RPN_EXPRESSION@@AAPAVWmiTreeNode@@@Z
+; public: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::PreProcess(void *,struct SQL_LEVEL_1_RPN_EXPRESSION *,class WmiTreeNode *,unsigned long,unsigned short * *,class PartitionSet * &)
+?PreProcess@QueryPreprocessor@@QAE?AW4QuadState@1@PAXPAUSQL_LEVEL_1_RPN_EXPRESSION@@PAVWmiTreeNode@@KPAPAGAAPAVPartitionSet@@@Z
+; public: int __thiscall ProvObjectIdentifier::Prefix(unsigned long,class ProvObjectIdentifier &)const 
+?Prefix@ProvObjectIdentifier@@QBEHKAAV1@@Z
+; public: virtual void __thiscall WmiAndNode::Print(void)
+?Print@WmiAndNode@@UAEXXZ
+; public: virtual void __thiscall WmiNotNode::Print(void)
+?Print@WmiNotNode@@UAEXXZ
+; public: virtual void __thiscall WmiNullNode::Print(void)
+?Print@WmiNullNode@@UAEXXZ
+; public: virtual void __thiscall WmiNullRangeNode::Print(void)
+?Print@WmiNullRangeNode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorEqualNode::Print(void)
+?Print@WmiOperatorEqualNode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorEqualOrGreaterNode::Print(void)
+?Print@WmiOperatorEqualOrGreaterNode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorEqualOrLessNode::Print(void)
+?Print@WmiOperatorEqualOrLessNode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorGreaterNode::Print(void)
+?Print@WmiOperatorGreaterNode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorIsANode::Print(void)
+?Print@WmiOperatorIsANode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorLessNode::Print(void)
+?Print@WmiOperatorLessNode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorLikeNode::Print(void)
+?Print@WmiOperatorLikeNode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorNotEqualNode::Print(void)
+?Print@WmiOperatorNotEqualNode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorNotIsANode::Print(void)
+?Print@WmiOperatorNotIsANode@@UAEXXZ
+; public: virtual void __thiscall WmiOperatorNotLikeNode::Print(void)
+?Print@WmiOperatorNotLikeNode@@UAEXXZ
+; public: virtual void __thiscall WmiOrNode::Print(void)
+?Print@WmiOrNode@@UAEXXZ
+; public: virtual void __thiscall WmiSignedIntegerNode::Print(void)
+?Print@WmiSignedIntegerNode@@UAEXXZ
+; public: virtual void __thiscall WmiSignedIntegerRangeNode::Print(void)
+?Print@WmiSignedIntegerRangeNode@@UAEXXZ
+; public: virtual void __thiscall WmiStringNode::Print(void)
+?Print@WmiStringNode@@UAEXXZ
+; public: virtual void __thiscall WmiStringRangeNode::Print(void)
+?Print@WmiStringRangeNode@@UAEXXZ
+; public: virtual void __thiscall WmiTreeNode::Print(void)
+?Print@WmiTreeNode@@UAEXXZ
+; public: virtual void __thiscall WmiUnsignedIntegerNode::Print(void)
+?Print@WmiUnsignedIntegerNode@@UAEXXZ
+; public: virtual void __thiscall WmiUnsignedIntegerRangeNode::Print(void)
+?Print@WmiUnsignedIntegerRangeNode@@UAEXXZ
+; protected: void __thiscall QueryPreprocessor::PrintTree(class WmiTreeNode *)
+?PrintTree@QueryPreprocessor@@IAEXPAVWmiTreeNode@@@Z
+; public: virtual void __thiscall ProvEventObject::Process(void)
+?Process@ProvEventObject@@UAEXXZ
+; private: void __thiscall ProvBitStringType::PushBack(void)
+?PushBack@ProvBitStringType@@AAEXXZ
+; private: void __thiscall ProvDateTimeType::PushBack(void)
+?PushBack@ProvDateTimeType@@AAEXXZ
+; private: void __thiscall ProvEnumeratedType::PushBack(void)
+?PushBack@ProvEnumeratedType@@AAEXXZ
+; protected: void __thiscall ProvPositiveRangedType::PushBack(void)
+?PushBack@ProvPositiveRangedType@@IAEXXZ
+; public: void __thiscall ProvAnalyser::PutBack(class ProvLexicon const *)
+?PutBack@ProvAnalyser@@QAEXPBVProvLexicon@@@Z
+; public: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::Query(unsigned short *,struct SQL_LEVEL_1_RPN_EXPRESSION * &)
+?Query@QueryPreprocessor@@QAE?AW4QuadState@1@PAGAAPAUSQL_LEVEL_1_RPN_EXPRESSION@@@Z
+; protected: void __thiscall QueryPreprocessor::QuickSort(class WmiRangeNode * *,unsigned long *,unsigned long)
+?QuickSort@QueryPreprocessor@@IAEXPAPAVWmiRangeNode@@PAKK@Z
+; protected: int __thiscall ProvPositiveRangedType::RangeDef(void)
+?RangeDef@ProvPositiveRangedType@@IAEHXZ
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursiveConvertToRanges(class WmiTreeNode * &)
+?RecursiveConvertToRanges@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
+; private: int __thiscall ProvBitStringType::RecursiveDef(void)
+?RecursiveDef@ProvBitStringType@@AAEHXZ
+; private: int __thiscall ProvEnumeratedType::RecursiveDef(void)
+?RecursiveDef@ProvEnumeratedType@@AAEHXZ
+; protected: int __thiscall ProvPositiveRangedType::RecursiveDef(void)
+?RecursiveDef@ProvPositiveRangedType@@IAEHXZ
+; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RecursiveDisjunctiveNormalForm(class WmiTreeNode * &)
+?RecursiveDisjunctiveNormalForm@QueryPreprocessor@@IAE?AW4QuadState@1@AAPAVWmiTreeNode@@@Z
+; protected: int __thiscall QueryPreprocessor::RecursiveEvaluate(void *,struct SQL_LEVEL_1_RPN_EXPRESSION &,class WmiTreeNode *,class WmiTreeNode * *,int &)
+?RecursiveEvaluate@QueryPreprocessor@@IAEHPAXAAUSQL_LEVEL_1_RPN_EXPRESSION@@PAVWmiTreeNode@@PAPAV3@AAH@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursiveInsertNode(class WmiTreeNode * &,class WmiTreeNode * &)
+?RecursiveInsertNode@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@0@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursivePartitionSet(class Disjunctions *,class PartitionSet * &,unsigned long,unsigned long *,unsigned long)
+?RecursivePartitionSet@QueryPreprocessor@@IAE?AW4WmiTriState@@PAVDisjunctions@@AAPAVPartitionSet@@KPAKK@Z
+; protected: void __thiscall QueryPreprocessor::RecursiveQuickSort(class WmiRangeNode * *,unsigned long *,unsigned long,unsigned long)
+?RecursiveQuickSort@QueryPreprocessor@@IAEXPAPAVWmiRangeNode@@PAKKK@Z
+; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RecursiveRemoveInvariants(void *,class WmiTreeNode * &)
+?RecursiveRemoveInvariants@QueryPreprocessor@@IAE?AW4QuadState@1@PAXAAPAVWmiTreeNode@@@Z
+; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RecursiveRemoveNonOverlappingRanges(class WmiTreeNode * &,class WmiTreeNode * &)
+?RecursiveRemoveNonOverlappingRanges@QueryPreprocessor@@IAE?AW4QuadState@1@AAPAVWmiTreeNode@@0@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursiveSort(class WmiTreeNode * &)
+?RecursiveSort@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::RecursiveSortConditionals(class WmiTreeNode * &,class WmiTreeNode * &)
+?RecursiveSortConditionals@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@0@Z
+; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RemoveInvariants(void *,class WmiTreeNode * &)
+?RemoveInvariants@QueryPreprocessor@@IAE?AW4QuadState@1@PAXAAPAVWmiTreeNode@@@Z
+; protected: enum QueryPreprocessor::QuadState  __thiscall QueryPreprocessor::RemoveNonOverlappingRanges(class WmiTreeNode * &)
+?RemoveNonOverlappingRanges@QueryPreprocessor@@IAE?AW4QuadState@1@AAPAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::RemoveOverlaps(unsigned long *,unsigned long,unsigned long *,unsigned long *,class WmiRangeNode * *)
+?RemoveOverlaps@QueryPreprocessor@@IAE?AW4WmiTriState@@PAKK00PAPAVWmiRangeNode@@@Z
+; protected: virtual unsigned long * __thiscall ProvObjectIdentifier::Replicate(unsigned long const *,unsigned long,unsigned long const *,unsigned long)const 
+?Replicate@ProvObjectIdentifier@@MBEPAKPBKK0K@Z
+; protected: virtual unsigned long * __thiscall ProvObjectIdentifier::Replicate(unsigned long const *,unsigned long)const 
+?Replicate@ProvObjectIdentifier@@MBEPAKPBKK@Z
+; protected: virtual unsigned char * __thiscall ProvOctetString::Replicate(unsigned char const *,unsigned long)
+?Replicate@ProvOctetString@@MAEPAEPBEK@Z
+; public: int __thiscall PartitionSet::Root(void)
+?Root@PartitionSet@@QAEHXZ
+; public: void __thiscall ProvAnalyser::Set(unsigned short const *)
+?Set@ProvAnalyser@@QAEXPBG@Z
+; public: void __thiscall ProvEventObject::Set(void)
+?Set@ProvEventObject@@QAEXXZ
+; public: void * __thiscall WmiTreeNode::SetData(void *)
+?SetData@WmiTreeNode@@QAEPAXPAX@Z
+; public: class WmiTreeNode * __thiscall WmiTreeNodeIterator::SetIterator(class WmiTreeNode *)
+?SetIterator@WmiTreeNodeIterator@@QAEPAVWmiTreeNode@@PAV2@@Z
+; public: void __thiscall PartitionSet::SetKeyIndex(unsigned long)
+?SetKeyIndex@PartitionSet@@QAEXK@Z
+; public: class WmiTreeNode * __thiscall WmiTreeNode::SetLeft(class WmiTreeNode *)
+?SetLeft@WmiTreeNode@@QAEPAV1@PAV1@@Z
+; public: void __thiscall ProvNegativeRangeType::SetLowerBound(long const &)
+?SetLowerBound@ProvNegativeRangeType@@QAEXABJ@Z
+; public: void __thiscall ProvPositiveRangeType::SetLowerBound(unsigned long const &)
+?SetLowerBound@ProvPositiveRangeType@@QAEXABK@Z
+; public: void __thiscall ProvInstanceType::SetNull(int)
+?SetNull@ProvInstanceType@@QAEXH@Z
+; public: class WmiTreeNode * __thiscall WmiTreeNode::SetParent(class WmiTreeNode *)
+?SetParent@WmiTreeNode@@QAEPAV1@PAV1@@Z
+; public: void __thiscall PartitionSet::SetPartition(unsigned long,class PartitionSet *)
+?SetPartition@PartitionSet@@QAEXKPAV1@@Z
+; public: void __thiscall Conjunctions::SetRange(unsigned long,class WmiRangeNode *)
+?SetRange@Conjunctions@@QAEXKPAVWmiRangeNode@@@Z
+; public: void __thiscall PartitionSet::SetRange(class WmiRangeNode *)
+?SetRange@PartitionSet@@QAEXPAVWmiRangeNode@@@Z
+; public: class WmiTreeNode * __thiscall WmiTreeNode::SetRight(class WmiTreeNode *)
+?SetRight@WmiTreeNode@@QAEPAV1@PAV1@@Z
+; public: void __thiscall ProvInstanceType::SetStatus(int)
+?SetStatus@ProvInstanceType@@QAEXH@Z
+; public: void __thiscall ProvPositiveRangedType::SetStatus(int const &)
+?SetStatus@ProvPositiveRangedType@@QAEXABH@Z
+; public: void __thiscall ProvLexicon::SetToken(enum ProvLexicon::LexiconToken)
+?SetToken@ProvLexicon@@QAEXW4LexiconToken@1@@Z
+; public: void __thiscall WmiTreeNode::SetType(unsigned long)
+?SetType@WmiTreeNode@@QAEXK@Z
+; public: void __thiscall ProvNegativeRangeType::SetUpperBound(long const &)
+?SetUpperBound@ProvNegativeRangeType@@QAEXABJ@Z
+; public: void __thiscall ProvPositiveRangeType::SetUpperBound(unsigned long const &)
+?SetUpperBound@ProvPositiveRangeType@@QAEXABK@Z
+; public: void __thiscall ProvCounter64::SetValue(unsigned long,unsigned long)
+?SetValue@ProvCounter64@@QAEXKK@Z
+; public: void __thiscall ProvCounter::SetValue(unsigned long)
+?SetValue@ProvCounter@@QAEXK@Z
+; public: void __thiscall ProvGauge::SetValue(unsigned long)
+?SetValue@ProvGauge@@QAEXK@Z
+; public: void __thiscall ProvInteger::SetValue(long)
+?SetValue@ProvInteger@@QAEXJ@Z
+; public: void __thiscall ProvIpAddress::SetValue(unsigned long)
+?SetValue@ProvIpAddress@@QAEXK@Z
+; public: void __thiscall ProvObjectIdentifier::SetValue(unsigned long const *,unsigned long)
+?SetValue@ProvObjectIdentifier@@QAEXPBKK@Z
+; public: void __thiscall ProvOctetString::SetValue(unsigned char const *,unsigned long)
+?SetValue@ProvOctetString@@QAEXPBEK@Z
+; public: void __thiscall ProvOpaque::SetValue(unsigned char const *,unsigned long)
+?SetValue@ProvOpaque@@QAEXPBEK@Z
+; public: void __thiscall ProvTimeTicks::SetValue(unsigned long)
+?SetValue@ProvTimeTicks@@QAEXK@Z
+; public: void __thiscall ProvUInteger32::SetValue(unsigned long)
+?SetValue@ProvUInteger32@@QAEXK@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::Sort(class WmiTreeNode * &)
+?Sort@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
+; protected: enum WmiTriState  __thiscall QueryPreprocessor::SortConditionals(class WmiTreeNode * &)
+?SortConditionals@QueryPreprocessor@@IAE?AW4WmiTriState@@AAPAVWmiTreeNode@@@Z
+; protected: void __thiscall QueryPreprocessor::SortRanges(unsigned long,unsigned long *,class WmiRangeNode * *)
+?SortRanges@QueryPreprocessor@@IAEXKPAKPAPAVWmiRangeNode@@@Z
+; public: static int __stdcall ProvDebugLog::Startup(void)
+?Startup@ProvDebugLog@@SGHXZ
+; public: int __thiscall ProvObjectIdentifier::Suffix(unsigned long,class ProvObjectIdentifier &)const 
+?Suffix@ProvObjectIdentifier@@QBEHKAAV1@@Z
+; protected: void __thiscall QueryPreprocessor::TransformAndOrExpression(class WmiTreeNode * &,class WmiTreeNode *,class WmiTreeNode *)
+?TransformAndOrExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@1@Z
+; protected: void __thiscall QueryPreprocessor::TransformAndTrueEvaluation(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformAndTrueEvaluation@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformIntersectingRange(class WmiTreeNode * &,class WmiTreeNode *,class WmiTreeNode *)
+?TransformIntersectingRange@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@1@Z
+; protected: void __thiscall QueryPreprocessor::TransformNonIntersectingRange(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNonIntersectingRange@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotAndExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotAndExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotEqualExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotEqualExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotNotExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotNotExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorEqualExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorEqualExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorEqualOrGreaterExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorEqualOrGreaterExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorEqualOrLessExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorEqualOrLessExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorGreaterExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorGreaterExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorIsAExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorIsAExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorLessExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorLessExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorLikeExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorLikeExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorNotEqualExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorNotEqualExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorNotIsAExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorNotIsAExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOperatorNotLikeExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOperatorNotLikeExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformNotOrExpression(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformNotOrExpression@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: void __thiscall QueryPreprocessor::TransformOperatorToRange(class WmiTreeNode * &)
+?TransformOperatorToRange@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@@Z
+; protected: void __thiscall QueryPreprocessor::TransformOrFalseEvaluation(class WmiTreeNode * &,class WmiTreeNode *)
+?TransformOrFalseEvaluation@QueryPreprocessor@@IAEXAAPAVWmiTreeNode@@PAV2@@Z
+; protected: virtual void __thiscall ProvObjectIdentifier::UnReplicate(unsigned long *)
+?UnReplicate@ProvObjectIdentifier@@MAEXPAK@Z
+; protected: virtual void __thiscall ProvOctetString::UnReplicate(unsigned char *)
+?UnReplicate@ProvOctetString@@MAEXPAE@Z
+; unsigned short * __stdcall UnicodeStringAppend(unsigned short const *,unsigned short const *)
+?UnicodeStringAppend@@YGPAGPBG0@Z
+; unsigned short * __stdcall UnicodeStringDuplicate(unsigned short const *)
+?UnicodeStringDuplicate@@YGPAGPBG@Z
+; char * __stdcall UnicodeToDbcsString(unsigned short const *)
+?UnicodeToDbcsString@@YGPADPBG@Z
+; public: long __thiscall WmiSignedIntegerRangeNode::UpperBound(void)
+?UpperBound@WmiSignedIntegerRangeNode@@QAEJXZ
+; public: unsigned short * __thiscall WmiStringRangeNode::UpperBound(void)
+?UpperBound@WmiStringRangeNode@@QAEPAGXZ
+; public: unsigned long __thiscall WmiUnsignedIntegerRangeNode::UpperBound(void)
+?UpperBound@WmiUnsignedIntegerRangeNode@@QAEKXZ
+; public: virtual int __thiscall ProvEventObject::Wait(void)
+?Wait@ProvEventObject@@UAEHXZ
+; public: void __cdecl ProvDebugLog::Write(unsigned short const *,...)
+?Write@ProvDebugLog@@QAAXPBGZZ
+; public: void __cdecl ProvDebugLog::WriteA(char const *,...)
+?WriteA@ProvDebugLog@@QAAXPBDZZ
+; public: void __cdecl ProvDebugLog::WriteFileAndLine(char const *,unsigned long,unsigned short const *,...)
+?WriteFileAndLine@ProvDebugLog@@QAAXPBDKPBGZZ
+; public: void __cdecl ProvDebugLog::WriteFileAndLine(unsigned short const *,unsigned long,unsigned short const *,...)
+?WriteFileAndLine@ProvDebugLog@@QAAXPBGK0ZZ
+; public: void __cdecl ProvDebugLog::WriteFileAndLineA(char const *,unsigned long,char const *,...)
+?WriteFileAndLineA@ProvDebugLog@@QAAXPBDK0ZZ
+; public: void __cdecl ProvDebugLog::WriteFileAndLineW(unsigned short const *,unsigned long,unsigned short const *,...)
+?WriteFileAndLineW@ProvDebugLog@@QAAXPBGK0ZZ
+; public: void __cdecl ProvDebugLog::WriteW(unsigned short const *,...)
+?WriteW@ProvDebugLog@@QAAXPBGZZ
+; public: static class ProvDebugLog *  ProvDebugLog::s_ProvDebugLog
+?s_ProvDebugLog@ProvDebugLog@@2PAV1@A DATA
+; public: static long  ProvDebugLog::s_ReferenceCount
+?s_ReferenceCount@ProvDebugLog@@2JA DATA
+; public: static class ProvDebugLog *  ProvDebugLog::s_aLogs
+?s_aLogs@ProvDebugLog@@2PAV1@A DATA
diff --git a/mingw-w64-crt/lib64/wpsapi.def b/mingw-w64-crt/lib64/wpsapi.def
index da0e9a1..6497993 100644
--- a/mingw-w64-crt/lib64/wpsapi.def
+++ b/mingw-w64-crt/lib64/wpsapi.def
@@ -1,33 +1,33 @@
-; 
-; Exports of file PSAPI.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSAPI.DLL
-EXPORTS
-EmptyWorkingSet
-EnumDeviceDrivers
-EnumPageFilesA
-EnumPageFilesW
-EnumProcessModules
-EnumProcesses
-GetDeviceDriverBaseNameA
-GetDeviceDriverBaseNameW
-GetDeviceDriverFileNameA
-GetDeviceDriverFileNameW
-GetMappedFileNameA
-GetMappedFileNameW
-GetModuleBaseNameA
-GetModuleBaseNameW
-GetModuleFileNameExA
-GetModuleFileNameExW
-GetModuleInformation
-GetPerformanceInfo
-GetProcessImageFileNameA
-GetProcessImageFileNameW
-GetProcessMemoryInfo
-GetWsChanges
-InitializeProcessForWsWatch
-QueryWorkingSet
-QueryWorkingSetEx
+; 
+; Exports of file PSAPI.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSAPI.DLL
+EXPORTS
+EmptyWorkingSet
+EnumDeviceDrivers
+EnumPageFilesA
+EnumPageFilesW
+EnumProcessModules
+EnumProcesses
+GetDeviceDriverBaseNameA
+GetDeviceDriverBaseNameW
+GetDeviceDriverFileNameA
+GetDeviceDriverFileNameW
+GetMappedFileNameA
+GetMappedFileNameW
+GetModuleBaseNameA
+GetModuleBaseNameW
+GetModuleFileNameExA
+GetModuleFileNameExW
+GetModuleInformation
+GetPerformanceInfo
+GetProcessImageFileNameA
+GetProcessImageFileNameW
+GetProcessMemoryInfo
+GetWsChanges
+InitializeProcessForWsWatch
+QueryWorkingSet
+QueryWorkingSetEx
diff --git a/mingw-w64-crt/lib64/wpsbase.def b/mingw-w64-crt/lib64/wpsbase.def
index 77a3097..eae79a5 100644
--- a/mingw-w64-crt/lib64/wpsbase.def
+++ b/mingw-w64-crt/lib64/wpsbase.def
@@ -1,29 +1,29 @@
-; 
-; Exports of file PSBASE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSBASE.dll
-EXPORTS
-FPasswordChangeNotify
-SPCloseItem
-SPOpenItem
-SPAcquireContext
-SPCreateSubtype
-SPCreateType
-SPDeleteItem
-SPDeleteSubtype
-SPDeleteType
-SPEnumItems
-SPEnumSubtypes
-SPEnumTypes
-SPGetProvInfo
-SPGetProvParam
-SPGetSubtypeInfo
-SPGetTypeInfo
-SPProviderInitialize
-SPReadItem
-SPReleaseContext
-SPSetProvParam
-SPWriteItem
+; 
+; Exports of file PSBASE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSBASE.dll
+EXPORTS
+FPasswordChangeNotify
+SPCloseItem
+SPOpenItem
+SPAcquireContext
+SPCreateSubtype
+SPCreateType
+SPDeleteItem
+SPDeleteSubtype
+SPDeleteType
+SPEnumItems
+SPEnumSubtypes
+SPEnumTypes
+SPGetProvInfo
+SPGetProvParam
+SPGetSubtypeInfo
+SPGetTypeInfo
+SPProviderInitialize
+SPReadItem
+SPReleaseContext
+SPSetProvParam
+SPWriteItem
diff --git a/mingw-w64-crt/lib64/wpschdprf.def b/mingw-w64-crt/lib64/wpschdprf.def
index ca6bd81..615d768 100644
--- a/mingw-w64-crt/lib64/wpschdprf.def
+++ b/mingw-w64-crt/lib64/wpschdprf.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PschdPrf.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PschdPrf.dll
-EXPORTS
-ClosePschedPerformanceData
-CollectPschedPerformanceData
-OpenPschedPerformanceData
+; 
+; Exports of file PschdPrf.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PschdPrf.dll
+EXPORTS
+ClosePschedPerformanceData
+CollectPschedPerformanceData
+OpenPschedPerformanceData
diff --git a/mingw-w64-crt/lib64/wpsnppagn.def b/mingw-w64-crt/lib64/wpsnppagn.def
index e91583a..fb8ef5b 100644
--- a/mingw-w64-crt/lib64/wpsnppagn.def
+++ b/mingw-w64-crt/lib64/wpsnppagn.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file PSNPPAGN.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSNPPAGN.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file PSNPPAGN.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSNPPAGN.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wpstorec.def b/mingw-w64-crt/lib64/wpstorec.def
index 9db9bb0..5ac3d47 100644
--- a/mingw-w64-crt/lib64/wpstorec.def
+++ b/mingw-w64-crt/lib64/wpstorec.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file PSTOREC.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSTOREC.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-PStoreCreateInstance
-PStoreEnumProviders
+; 
+; Exports of file PSTOREC.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSTOREC.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+PStoreCreateInstance
+PStoreEnumProviders
diff --git a/mingw-w64-crt/lib64/wpstorsvc.def b/mingw-w64-crt/lib64/wpstorsvc.def
index d92c96d..05addb2 100644
--- a/mingw-w64-crt/lib64/wpstorsvc.def
+++ b/mingw-w64-crt/lib64/wpstorsvc.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file PSTORSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY PSTORSVC.dll
-EXPORTS
-PSTOREServiceMain
-ServiceEntry
-Start
+; 
+; Exports of file PSTORSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY PSTORSVC.dll
+EXPORTS
+PSTOREServiceMain
+ServiceEntry
+Start
diff --git a/mingw-w64-crt/lib64/wqasf.def b/mingw-w64-crt/lib64/wqasf.def
index e1a2233..77bd463 100644
--- a/mingw-w64-crt/lib64/wqasf.def
+++ b/mingw-w64-crt/lib64/wqasf.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file QASF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QASF.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file QASF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QASF.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wqcap.def b/mingw-w64-crt/lib64/wqcap.def
index 6ccd9c4..e2c2566 100644
--- a/mingw-w64-crt/lib64/wqcap.def
+++ b/mingw-w64-crt/lib64/wqcap.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file QCap.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QCap.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file QCap.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QCap.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wqdv.def b/mingw-w64-crt/lib64/wqdv.def
index db7c4a0..5c92022 100644
--- a/mingw-w64-crt/lib64/wqdv.def
+++ b/mingw-w64-crt/lib64/wqdv.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file QDV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QDV.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file QDV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QDV.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wqdvd.def b/mingw-w64-crt/lib64/wqdvd.def
index 236b61f..984676c 100644
--- a/mingw-w64-crt/lib64/wqdvd.def
+++ b/mingw-w64-crt/lib64/wqdvd.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file Qdvd.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Qdvd.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file Qdvd.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Qdvd.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wqedit.def b/mingw-w64-crt/lib64/wqedit.def
index 6b9db58..4ee3850 100644
--- a/mingw-w64-crt/lib64/wqedit.def
+++ b/mingw-w64-crt/lib64/wqedit.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file QEdit.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QEdit.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file QEdit.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QEdit.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wqmgrprxy.def b/mingw-w64-crt/lib64/wqmgrprxy.def
index 190f834..bbfaf50 100644
--- a/mingw-w64-crt/lib64/wqmgrprxy.def
+++ b/mingw-w64-crt/lib64/wqmgrprxy.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file qmgrprxy.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY qmgrprxy.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file qmgrprxy.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY qmgrprxy.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wqosname.def b/mingw-w64-crt/lib64/wqosname.def
index c67207c..e3d3bf9 100644
--- a/mingw-w64-crt/lib64/wqosname.def
+++ b/mingw-w64-crt/lib64/wqosname.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file qosname.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY qosname.dll
-EXPORTS
-WPUGetQOSTemplate
-WSCInstallQOSTemplate
-WSCRemoveQOSTemplate
+; 
+; Exports of file qosname.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY qosname.dll
+EXPORTS
+WPUGetQOSTemplate
+WSCInstallQOSTemplate
+WSCRemoveQOSTemplate
diff --git a/mingw-w64-crt/lib64/wquartz.def b/mingw-w64-crt/lib64/wquartz.def
index 6af5e6f..795e90f 100644
--- a/mingw-w64-crt/lib64/wquartz.def
+++ b/mingw-w64-crt/lib64/wquartz.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file QUARTZ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY QUARTZ.dll
-EXPORTS
-AMGetErrorTextA
-AMGetErrorTextW
-AmpFactorToDB
-DBToAmpFactor
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file QUARTZ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY QUARTZ.dll
+EXPORTS
+AMGetErrorTextA
+AMGetErrorTextW
+AmpFactorToDB
+DBToAmpFactor
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/wquery.def b/mingw-w64-crt/lib64/wquery.def
index 67d406c..afadf93 100644
--- a/mingw-w64-crt/lib64/wquery.def
+++ b/mingw-w64-crt/lib64/wquery.def
@@ -1,1553 +1,1553 @@
-; 
-; Exports of file query.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY query.dll
-EXPORTS
-; class CCoTaskAllocator  CoTaskAllocator
-?CoTaskAllocator@@3VCCoTaskAllocator@@A DATA
-; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(struct tagPROPVARIANT &,class PMemoryAllocator &)
-??0CAllocStorageVariant@@QAE@AAUtagPROPVARIANT@@AAVPMemoryAllocator@@@Z
-; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(class PDeSerStream &,class PMemoryAllocator &)
-??0CAllocStorageVariant@@QAE@AAVPDeSerStream@@AAVPMemoryAllocator@@@Z
-; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(char const *,class PMemoryAllocator &)
-??0CAllocStorageVariant@@QAE@PBDAAVPMemoryAllocator@@@Z
-; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(unsigned short const *,class PMemoryAllocator &)
-??0CAllocStorageVariant@@QAE@PBGAAVPMemoryAllocator@@@Z
-; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(struct _GUID const *,class PMemoryAllocator &)
-??0CAllocStorageVariant@@QAE@PBU_GUID@@AAVPMemoryAllocator@@@Z
-; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(enum VARENUM,unsigned long,class PMemoryAllocator &)
-??0CAllocStorageVariant@@QAE@W4VARENUM@@KAAVPMemoryAllocator@@@Z
-; public: __thiscall CCatState::CCatState(void)
-??0CCatState@@QAE@XZ
-; public: __thiscall CCategorizationSet::CCategorizationSet(class CCategorizationSet const &)
-??0CCategorizationSet@@QAE@ABV0@@Z
-; public: __thiscall CCategorizationSet::CCategorizationSet(unsigned int)
-??0CCategorizationSet@@QAE@I@Z
-; public: __thiscall CCiAdminParams::CCiAdminParams(class CLangList *)
-??0CCiAdminParams@@QAE@PAVCLangList@@@Z
-; public: __thiscall CCiRegParams::CCiRegParams(unsigned short const *)
-??0CCiRegParams@@QAE@PBG@Z
-; public: __thiscall CColumnSet::CColumnSet(unsigned int)
-??0CColumnSet@@QAE@I@Z
-; public: __thiscall CColumns::CColumns(class CColumns const &)
-??0CColumns@@QAE@ABV0@@Z
-; public: __thiscall CColumns::CColumns(unsigned int)
-??0CColumns@@QAE@I@Z
-; public: __thiscall CDFA::CDFA(unsigned short const *,class CTimeLimit &,unsigned char)
-??0CDFA@@QAE@PBGAAVCTimeLimit@@E@Z
-; public: __thiscall CDbColId::CDbColId(struct _GUID const &,unsigned short const *)
-??0CDbColId@@QAE@ABU_GUID@@PBG@Z
-; public: __thiscall CDbColId::CDbColId(struct tagDBID const &)
-??0CDbColId@@QAE@ABUtagDBID@@@Z
-; public: __thiscall CDbColId::CDbColId(class CDbColId const &)
-??0CDbColId@@QAE@ABV0@@Z
-; public: __thiscall CDbColId::CDbColId(void)
-??0CDbColId@@QAE@XZ
-; public: __thiscall CDbColumnNode::CDbColumnNode(struct tagDBID const &,int)
-??0CDbColumnNode@@QAE@ABUtagDBID@@H@Z
-; public: __thiscall CDbColumns::CDbColumns(unsigned int)
-??0CDbColumns@@QAE@I@Z
-; public: __thiscall CDbContentRestriction::CDbContentRestriction(unsigned short const *,struct tagDBID const &,unsigned long,unsigned long)
-??0CDbContentRestriction@@QAE@PBGABUtagDBID@@KK@Z
-; public: __thiscall CDbContentRestriction::CDbContentRestriction(unsigned short const *,class CDbColumnNode const &,unsigned long,unsigned long)
-??0CDbContentRestriction@@QAE@PBGABVCDbColumnNode@@KK@Z
-; public: __thiscall CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const *,struct tagDBID const &,unsigned long)
-??0CDbNatLangRestriction@@QAE@PBGABUtagDBID@@K@Z
-; public: __thiscall CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const *,class CDbColumnNode const &,unsigned long)
-??0CDbNatLangRestriction@@QAE@PBGABVCDbColumnNode@@K@Z
-; public: __thiscall CDbPropIDSet::CDbPropIDSet(void)
-??0CDbPropIDSet@@QAE@XZ
-; public: __thiscall CDbQueryResults::CDbQueryResults(void)
-??0CDbQueryResults@@QAE@XZ
-; public: __thiscall CDbSelectNode::CDbSelectNode(void)
-??0CDbSelectNode@@QAE@XZ
-; public: __thiscall CDbSortSet::CDbSortSet(unsigned int)
-??0CDbSortSet@@QAE@I@Z
-; public: __thiscall CDefColumnRegEntry::CDefColumnRegEntry(void)
-??0CDefColumnRegEntry@@QAE@XZ
-; public: __thiscall CDriveInfo::CDriveInfo(unsigned short const *,unsigned long)
-??0CDriveInfo@@QAE@PBGK@Z
-; public: __thiscall CDynStream::CDynStream(class PMmStream *)
-??0CDynStream@@QAE@PAVPMmStream@@@Z
-; public: __thiscall CEventItem::CEventItem(unsigned short,unsigned short,unsigned long,unsigned short,unsigned long,void const *)
-??0CEventItem@@QAE@GGKGKPBX@Z
-; public: __thiscall CEventLog::CEventLog(unsigned short const *,unsigned short const *)
-??0CEventLog@@QAE@PBG0@Z
-; public: __thiscall CException::CException(void)
-??0CException@@QAE@XZ
-; public: __thiscall CFileBuffer::CFileBuffer(class CFileMapView &,unsigned int)
-??0CFileBuffer@@QAE@AAVCFileMapView@@I@Z
-; public: __thiscall CFileMapView::CFileMapView(unsigned short const *)
-??0CFileMapView@@QAE@PBG@Z
-; public: __thiscall CFilterDaemon::CFilterDaemon(class CiProxy &,class CCiFrameworkParams &,class CLangList &,unsigned char *,unsigned long,struct ICiCFilterClient *)
-??0CFilterDaemon@@QAE@AAVCiProxy@@AAVCCiFrameworkParams@@AAVCLangList@@PAEKPAUICiCFilterClient@@@Z
-; public: __thiscall CFullPath::CFullPath(unsigned short const *)
-??0CFullPath@@QAE@PBG@Z
-; public: __thiscall CFullPath::CFullPath(unsigned short const *,unsigned int)
-??0CFullPath@@QAE@PBGI@Z
-; public: __thiscall CFullPropSpec::CFullPropSpec(class PDeSerStream &)
-??0CFullPropSpec@@QAE@AAVPDeSerStream@@@Z
-; public: __thiscall CFullPropSpec::CFullPropSpec(class CFullPropSpec const &)
-??0CFullPropSpec@@QAE@ABV0@@Z
-; public: __thiscall CFwAsyncWorkItem::CFwAsyncWorkItem(class CWorkManager &,class CWorkQueue &)
-??0CFwAsyncWorkItem@@QAE@AAVCWorkManager@@AAVCWorkQueue@@@Z
-; public: __thiscall CFwEventItem::CFwEventItem(unsigned short,unsigned long,unsigned short,unsigned long,void *)
-??0CFwEventItem@@QAE@GKGKPAX@Z
-; public: __thiscall CGenericCiProxy::CGenericCiProxy(class CSharedNameGen &,unsigned long,unsigned long)
-??0CGenericCiProxy@@QAE@AAVCSharedNameGen@@KK@Z
-; public: __thiscall CGetDbProps::CGetDbProps(void)
-??0CGetDbProps@@QAE@XZ
-; public: __thiscall CImpersonateRemoteAccess::CImpersonateRemoteAccess(class CImpersonationTokenCache *)
-??0CImpersonateRemoteAccess@@QAE@PAVCImpersonationTokenCache@@@Z
-; public: __thiscall CImpersonationTokenCache::CImpersonationTokenCache(unsigned short const *)
-??0CImpersonationTokenCache@@QAE@PBG@Z
-; public: __thiscall CIndexTable::CIndexTable(class CiStorage &,class CTransaction &)
-??0CIndexTable@@QAE@AAVCiStorage@@AAVCTransaction@@@Z
-; public: __thiscall CInternalPropertyRestriction::CInternalPropertyRestriction(unsigned long,unsigned long,class CStorageVariant const &,class CRestriction *)
-??0CInternalPropertyRestriction@@QAE@KKABVCStorageVariant@@PAVCRestriction@@@Z
-; public: __thiscall CKeyArray::CKeyArray(int,int)
-??0CKeyArray@@QAE@HH@Z
-; public: __thiscall CLangList::CLangList(struct ICiCLangRes *,unsigned long)
-??0CLangList@@QAE@PAUICiCLangRes@@K@Z
-; public: __thiscall CLocalGlobalPropertyList::CLocalGlobalPropertyList(unsigned long)
-??0CLocalGlobalPropertyList@@QAE@K@Z
-; public: __thiscall CLocalGlobalPropertyList::CLocalGlobalPropertyList(class CEmptyPropertyList *,int,unsigned short const *,unsigned long)
-??0CLocalGlobalPropertyList@@QAE@PAVCEmptyPropertyList@@HPBGK@Z
-; public: __thiscall CMachineAdmin::CMachineAdmin(unsigned short const *,int)
-??0CMachineAdmin@@QAE@PBGH@Z
-; public: __thiscall CMemSerStream::CMemSerStream(unsigned int)
-??0CMemSerStream@@QAE@I@Z
-; public: __thiscall CMemSerStream::CMemSerStream(unsigned char *,unsigned long)
-??0CMemSerStream@@QAE@PAEK@Z
-; public: __thiscall CMetaDataMgr::CMetaDataMgr(int,enum CiVRootTypeEnum,unsigned long,unsigned short const *)
-??0CMetaDataMgr@@QAE@HW4CiVRootTypeEnum@@KPBG@Z
-; public: __thiscall CMmStream::CMmStream(unsigned long,int)
-??0CMmStream@@QAE@KH@Z
-; public: __thiscall CMmStreamConsecBuf::CMmStreamConsecBuf(void)
-??0CMmStreamConsecBuf@@QAE@XZ
-; public: __thiscall CNatLanguageRestriction::CNatLanguageRestriction(unsigned short const *,class CFullPropSpec const &,unsigned long)
-??0CNatLanguageRestriction@@QAE@PBGABVCFullPropSpec@@K@Z
-; public: __thiscall CNodeRestriction::CNodeRestriction(unsigned long,unsigned int)
-??0CNodeRestriction@@QAE@KI@Z
-; public: __thiscall CNormalizer::CNormalizer(class PNoiseList &)
-??0CNormalizer@@QAE@AAVPNoiseList@@@Z
-; public: __thiscall CPathParser::CPathParser(unsigned short const *,unsigned long)
-??0CPathParser@@QAE@PBGK@Z
-; public: __thiscall CPerfMon::CPerfMon(unsigned short const *)
-??0CPerfMon@@QAE@PBG@Z
-; public: __thiscall CPersDeComp::CPersDeComp(class PDirectory &,unsigned long,class CPhysIndex &,unsigned long,int,int)
-??0CPersDeComp@@QAE@AAVPDirectory@@KAAVCPhysIndex@@KHH@Z
-; protected: __thiscall CPhysStorage::CPhysStorage(class PStorage &,class PStorageObject &,unsigned long,unsigned int,class PMmStream *,int,unsigned int,int)
-??0CPhysStorage@@IAE@AAVPStorage@@AAVPStorageObject@@KIPAVPMmStream@@HIH@Z
-; protected: __thiscall CPhysStorage::CPhysStorage(class PStorage &,class PStorageObject &,unsigned long,class PMmStream *,enum CPhysStorage::EOpenMode,int,unsigned int,int)
-??0CPhysStorage@@IAE@AAVPStorage@@AAVPStorageObject@@KPAVPMmStream@@W4EOpenMode@1@HIH@Z
-; public: __thiscall CPidLookupTable::CPidLookupTable(void)
-??0CPidLookupTable@@QAE@XZ
-; public: __thiscall CPidRemapper::CPidRemapper(class CPidMapper const &,class XInterface<struct IPropertyMapper> &,class CRestriction *,class CColumnSet *,class CSortSet *)
-??0CPidRemapper@@QAE@ABVCPidMapper@@AAV?$XInterface@UIPropertyMapper@@@@PAVCRestriction@@PAVCColumnSet@@PAVCSortSet@@@Z
-; public: __thiscall CPropListFile::CPropListFile(class CEmptyPropertyList *,int,unsigned short const *,unsigned long)
-??0CPropListFile@@QAE@PAVCEmptyPropertyList@@HPBGK@Z
-; public: __thiscall CPropNameArray::CPropNameArray(class PDeSerStream &)
-??0CPropNameArray@@QAE@AAVPDeSerStream@@@Z
-; public: __thiscall CPropNameArray::CPropNameArray(unsigned int)
-??0CPropNameArray@@QAE@I@Z
-; public: __thiscall CPropStoreManager::CPropStoreManager(unsigned long)
-??0CPropStoreManager@@QAE@K@Z
-; public: __thiscall CPropertyRestriction::CPropertyRestriction(unsigned long,class CFullPropSpec const &,class CStorageVariant const &)
-??0CPropertyRestriction@@QAE@KABVCFullPropSpec@@ABVCStorageVariant@@@Z
-; public: __thiscall CPropertyRestriction::CPropertyRestriction(void)
-??0CPropertyRestriction@@QAE@XZ
-; public: __thiscall CPropertyStoreWids::CPropertyStoreWids(class CPropStoreManager &)
-??0CPropertyStoreWids@@QAE@AAVCPropStoreManager@@@Z
-; public: __thiscall CPropertyValueParser::CPropertyValueParser(class CQueryScanner &,unsigned short,unsigned long)
-??0CPropertyValueParser@@QAE@AAVCQueryScanner@@GK@Z
-; public: __thiscall CQueryScanner::CQueryScanner(unsigned short const *,int,unsigned long,int)
-??0CQueryScanner@@QAE@PBGHKH@Z
-; public: __thiscall CRangeKeyRepository::CRangeKeyRepository(void)
-??0CRangeKeyRepository@@QAE@XZ
-; public: __thiscall CRangeRestriction::CRangeRestriction(void)
-??0CRangeRestriction@@QAE@XZ
-; public: __thiscall CRcovStrmAppendTrans::CRcovStrmAppendTrans(class PRcovStorageObj &)
-??0CRcovStrmAppendTrans@@QAE@AAVPRcovStorageObj@@@Z
-; public: __thiscall CRcovStrmMDTrans::CRcovStrmMDTrans(class PRcovStorageObj &,enum CRcovStrmMDTrans::MDOp,unsigned long)
-??0CRcovStrmMDTrans@@QAE@AAVPRcovStorageObj@@W4MDOp@0@K@Z
-; protected: __thiscall CRcovStrmTrans::CRcovStrmTrans(class PRcovStorageObj &,enum RcovOpType)
-??0CRcovStrmTrans@@IAE@AAVPRcovStorageObj@@W4RcovOpType@@@Z
-; public: __thiscall CRegAccess::CRegAccess(unsigned long,unsigned short const *)
-??0CRegAccess@@QAE@KPBG@Z
-; public: __thiscall CRegChangeEvent::CRegChangeEvent(unsigned short const *,int)
-??0CRegChangeEvent@@QAE@PBGH@Z
-; public: __thiscall CRegNotify::CRegNotify(unsigned short const *)
-??0CRegNotify@@QAE@PBG@Z
-; public: __thiscall CRequestClient::CRequestClient(unsigned short const *,struct IDBProperties *)
-??0CRequestClient@@QAE@PBGPAUIDBProperties@@@Z
-; public: __thiscall CRequestQueue::CRequestQueue(unsigned int,unsigned int,unsigned int,int,unsigned int,unsigned int,struct _GUID const &)
-??0CRequestQueue@@QAE@IIIHIIABU_GUID@@@Z
-; public: __thiscall CScopeRestriction::CScopeRestriction(unsigned short const *,int,int)
-??0CScopeRestriction@@QAE@PBGHH@Z
-; public: __thiscall CSdidLookupTable::CSdidLookupTable(void)
-??0CSdidLookupTable@@QAE@XZ
-; public: __thiscall CSizeSerStream::CSizeSerStream(void)
-??0CSizeSerStream@@QAE@XZ
-; public: __thiscall CSort::CSort(unsigned int)
-??0CSort@@QAE@I@Z
-; public: __thiscall CSortSet::CSortSet(unsigned int)
-??0CSortSet@@QAE@I@Z
-; public: __thiscall CStandardPropMapper::CStandardPropMapper(void)
-??0CStandardPropMapper@@QAE@XZ
-; public: __thiscall CSvcQuery::CSvcQuery(unsigned short const *,struct IDBProperties *)
-??0CSvcQuery@@QAE@PBGPAUIDBProperties@@@Z
-; public: __thiscall CSynRestriction::CSynRestriction(class CKey const &,unsigned long,unsigned long,unsigned long,int)
-??0CSynRestriction@@QAE@ABVCKey@@KKKH@Z
-; public: __thiscall CTimeLimit::CTimeLimit(unsigned long,unsigned long)
-??0CTimeLimit@@QAE@KK@Z
-; public: __thiscall CTransaction::CTransaction(void)
-??0CTransaction@@QAE@XZ
-; public: __thiscall CUnfilteredRestriction::CUnfilteredRestriction(void)
-??0CUnfilteredRestriction@@QAE@XZ
-; public: __thiscall CValueNormalizer::CValueNormalizer(class PKeyRepository &)
-??0CValueNormalizer@@QAE@AAVPKeyRepository@@@Z
-; public: __thiscall CVirtualString::CVirtualString(unsigned int)
-??0CVirtualString@@QAE@I@Z
-; public: __thiscall CWin32RegAccess::CWin32RegAccess(struct HKEY__ *,unsigned short const *)
-??0CWin32RegAccess@@QAE@PAUHKEY__@@PBG@Z
-; public: __thiscall CWordRestriction::CWordRestriction(class CKeyBuf const &,unsigned long,unsigned long,unsigned long,int)
-??0CWordRestriction@@QAE@ABVCKeyBuf@@KKKH@Z
-; public: __thiscall CWorkQueue::CWorkQueue(unsigned int,enum CWorkQueue::WorkQueueType)
-??0CWorkQueue@@QAE@IW4WorkQueueType@0@@Z
-; public: __thiscall CiStorage::CiStorage(unsigned short const *,struct ICiCAdviseStatus &,unsigned long,unsigned long,int)
-??0CiStorage@@QAE@PBGAAUICiCAdviseStatus@@KKH@Z
-; public: __thiscall SStorageObject::SStorageObject(class PStorageObject *)
-??0SStorageObject@@QAE@PAVPStorageObject@@@Z
-; public: __thiscall XPtr<class CDbCmdTreeNode>::~XPtr<class CDbCmdTreeNode>(void)
-??1?$XPtr@VCDbCmdTreeNode@@@@QAE@XZ
-; public: __thiscall XPtr<class CDbColumnNode>::~XPtr<class CDbColumnNode>(void)
-??1?$XPtr@VCDbColumnNode@@@@QAE@XZ
-; public: __thiscall XPtr<class CDbProjectListAnchor>::~XPtr<class CDbProjectListAnchor>(void)
-??1?$XPtr@VCDbProjectListAnchor@@@@QAE@XZ
-; public: __thiscall XPtr<class CDbProjectListElement>::~XPtr<class CDbProjectListElement>(void)
-??1?$XPtr@VCDbProjectListElement@@@@QAE@XZ
-; protected: __thiscall CAllocStorageVariant::~CAllocStorageVariant(void)
-??1CAllocStorageVariant@@IAE@XZ
-; public: __thiscall CCatState::~CCatState(void)
-??1CCatState@@QAE@XZ
-; public: __thiscall CCatalogAdmin::~CCatalogAdmin(void)
-??1CCatalogAdmin@@QAE@XZ
-; public: __thiscall CCatalogEnum::~CCatalogEnum(void)
-??1CCatalogEnum@@QAE@XZ
-; public: __thiscall CColumns::~CColumns(void)
-??1CColumns@@QAE@XZ
-; public: __thiscall CContentRestriction::~CContentRestriction(void)
-??1CContentRestriction@@QAE@XZ
-; public: __thiscall CDFA::~CDFA(void)
-??1CDFA@@QAE@XZ
-; public: __thiscall CDbCmdTreeNode::~CDbCmdTreeNode(void)
-??1CDbCmdTreeNode@@QAE@XZ
-; public: __thiscall CDbColumns::~CDbColumns(void)
-??1CDbColumns@@QAE@XZ
-; public: __thiscall CDbContentBaseRestriction::~CDbContentBaseRestriction(void)
-??1CDbContentBaseRestriction@@QAE@XZ
-; public: __thiscall CDbProp::~CDbProp(void)
-??1CDbProp@@QAE@XZ
-; public: __thiscall CDbPropBaseRestriction::~CDbPropBaseRestriction(void)
-??1CDbPropBaseRestriction@@QAE@XZ
-; public: __thiscall CDbPropIDSet::~CDbPropIDSet(void)
-??1CDbPropIDSet@@QAE@XZ
-; public: __thiscall CDbPropSet::~CDbPropSet(void)
-??1CDbPropSet@@QAE@XZ
-; public: __thiscall CDbQueryResults::~CDbQueryResults(void)
-??1CDbQueryResults@@QAE@XZ
-; public: __thiscall CDbSortKey::~CDbSortKey(void)
-??1CDbSortKey@@QAE@XZ
-; public: __thiscall CDbSortSet::~CDbSortSet(void)
-??1CDbSortSet@@QAE@XZ
-; public: __thiscall CDynStream::~CDynStream(void)
-??1CDynStream@@QAE@XZ
-; public: __thiscall CEventItem::~CEventItem(void)
-??1CEventItem@@QAE@XZ
-; public: __thiscall CEventLog::~CEventLog(void)
-??1CEventLog@@QAE@XZ
-; public: __thiscall CFileMapView::~CFileMapView(void)
-??1CFileMapView@@QAE@XZ
-; public: __thiscall CFilterDaemon::~CFilterDaemon(void)
-??1CFilterDaemon@@QAE@XZ
-; public: __thiscall CFullPropSpec::~CFullPropSpec(void)
-??1CFullPropSpec@@QAE@XZ
-; public: virtual __thiscall CFwAsyncWorkItem::~CFwAsyncWorkItem(void)
-??1CFwAsyncWorkItem@@UAE@XZ
-; public: __thiscall CFwEventItem::~CFwEventItem(void)
-??1CFwEventItem@@QAE@XZ
-; public: virtual __thiscall CGenericCiProxy::~CGenericCiProxy(void)
-??1CGenericCiProxy@@UAE@XZ
-; public: __thiscall CImpersonateClient::~CImpersonateClient(void)
-??1CImpersonateClient@@QAE@XZ
-; public: __thiscall CImpersonateSystem::~CImpersonateSystem(void)
-??1CImpersonateSystem@@QAE@XZ
-; public: __thiscall CImpersonationTokenCache::~CImpersonationTokenCache(void)
-??1CImpersonationTokenCache@@QAE@XZ
-; public: __thiscall CInternalPropertyRestriction::~CInternalPropertyRestriction(void)
-??1CInternalPropertyRestriction@@QAE@XZ
-; public: __thiscall CKeyArray::~CKeyArray(void)
-??1CKeyArray@@QAE@XZ
-; public: __thiscall CLangList::~CLangList(void)
-??1CLangList@@QAE@XZ
-; public: __thiscall CMachineAdmin::~CMachineAdmin(void)
-??1CMachineAdmin@@QAE@XZ
-; public: virtual __thiscall CMemSerStream::~CMemSerStream(void)
-??1CMemSerStream@@UAE@XZ
-; public: __thiscall CMetaDataMgr::~CMetaDataMgr(void)
-??1CMetaDataMgr@@QAE@XZ
-; public: virtual __thiscall CMmStream::~CMmStream(void)
-??1CMmStream@@UAE@XZ
-; public: __thiscall CNatLanguageRestriction::~CNatLanguageRestriction(void)
-??1CNatLanguageRestriction@@QAE@XZ
-; public: __thiscall CNodeRestriction::~CNodeRestriction(void)
-??1CNodeRestriction@@QAE@XZ
-; public: __thiscall CNotRestriction::~CNotRestriction(void)
-??1CNotRestriction@@QAE@XZ
-; public: __thiscall COccRestriction::~COccRestriction(void)
-??1COccRestriction@@QAE@XZ
-; public: __thiscall CParseCommandTree::~CParseCommandTree(void)
-??1CParseCommandTree@@QAE@XZ
-; public: __thiscall CPerfMon::~CPerfMon(void)
-??1CPerfMon@@QAE@XZ
-; public: __thiscall CPhraseRestriction::~CPhraseRestriction(void)
-??1CPhraseRestriction@@QAE@XZ
-; public: virtual __thiscall CPhysStorage::~CPhysStorage(void)
-??1CPhysStorage@@UAE@XZ
-; public: __thiscall CPidLookupTable::~CPidLookupTable(void)
-??1CPidLookupTable@@QAE@XZ
-; public: __thiscall CPidRemapper::~CPidRemapper(void)
-??1CPidRemapper@@QAE@XZ
-; public: __thiscall CProcess::~CProcess(void)
-??1CProcess@@QAE@XZ
-; public: __thiscall CPropStoreManager::~CPropStoreManager(void)
-??1CPropStoreManager@@QAE@XZ
-; public: virtual __thiscall CPropertyList::~CPropertyList(void)
-??1CPropertyList@@UAE@XZ
-; public: __thiscall CPropertyRestriction::~CPropertyRestriction(void)
-??1CPropertyRestriction@@QAE@XZ
-; public: __thiscall CPropertyStore::~CPropertyStore(void)
-??1CPropertyStore@@QAE@XZ
-; public: __thiscall CPropertyStoreWids::~CPropertyStoreWids(void)
-??1CPropertyStoreWids@@QAE@XZ
-; public: __thiscall CQueryUnknown::~CQueryUnknown(void)
-??1CQueryUnknown@@QAE@XZ
-; public: virtual __thiscall CRangeKeyRepository::~CRangeKeyRepository(void)
-??1CRangeKeyRepository@@UAE@XZ
-; public: __thiscall CRangeRestriction::~CRangeRestriction(void)
-??1CRangeRestriction@@QAE@XZ
-; public: __thiscall CRegChangeEvent::~CRegChangeEvent(void)
-??1CRegChangeEvent@@QAE@XZ
-; protected: virtual __thiscall CRegNotify::~CRegNotify(void)
-??1CRegNotify@@MAE@XZ
-; public: __thiscall CRestriction::~CRestriction(void)
-??1CRestriction@@QAE@XZ
-; public: __thiscall CScopeAdmin::~CScopeAdmin(void)
-??1CScopeAdmin@@QAE@XZ
-; public: __thiscall CScopeEnum::~CScopeEnum(void)
-??1CScopeEnum@@QAE@XZ
-; public: __thiscall CScopeRestriction::~CScopeRestriction(void)
-??1CScopeRestriction@@QAE@XZ
-; public: __thiscall CSdidLookupTable::~CSdidLookupTable(void)
-??1CSdidLookupTable@@QAE@XZ
-; public: virtual __thiscall CSizeSerStream::~CSizeSerStream(void)
-??1CSizeSerStream@@UAE@XZ
-; public: __thiscall CSort::~CSort(void)
-??1CSort@@QAE@XZ
-; public: __thiscall CSynRestriction::~CSynRestriction(void)
-??1CSynRestriction@@QAE@XZ
-; public: __thiscall CVirtualString::~CVirtualString(void)
-??1CVirtualString@@QAE@XZ
-; public: __thiscall CWin32RegAccess::~CWin32RegAccess(void)
-??1CWin32RegAccess@@QAE@XZ
-; public: __thiscall CWordRestriction::~CWordRestriction(void)
-??1CWordRestriction@@QAE@XZ
-; public: __thiscall CWorkManager::~CWorkManager(void)
-??1CWorkManager@@QAE@XZ
-; public: __thiscall CWorkQueue::~CWorkQueue(void)
-??1CWorkQueue@@QAE@XZ
-; public: __thiscall SStorageObject::~SStorageObject(void)
-??1SStorageObject@@QAE@XZ
-; public: static void __stdcall CDbCmdTreeNode::operator delete(void *)
-??3CDbCmdTreeNode@@SGXPAX@Z
-; public: static void __stdcall CDbColId::operator delete(void *)
-??3CDbColId@@SGXPAX@Z
-; public: static void __stdcall CDbContent::operator delete(void *)
-??3CDbContent@@SGXPAX@Z
-; public: static void __stdcall CDbParameter::operator delete(void *)
-??3CDbParameter@@SGXPAX@Z
-; public: static void __stdcall CDbPropSet::operator delete(void *)
-??3CDbPropSet@@SGXPAX@Z
-; public: class CDbByGuid & __thiscall CDbByGuid::operator=(class CDbByGuid const &)
-??4CDbByGuid@@QAEAAV0@ABV0@@Z
-; public: class CDbColId & __thiscall CDbColId::operator=(class CDbColId const &)
-??4CDbColId@@QAEAAV0@ABV0@@Z
-; public: int __thiscall CDbColId::operator==(class CDbColId const &)const 
-??8CDbColId@@QBEHABV0@@Z
-; public: void __thiscall CWorkManager::AbortWorkItems(void)
-?AbortWorkItems@CWorkManager@@QAEXXZ
-; public: void __thiscall CQueryScanner::Accept(void)
-?Accept@CQueryScanner@@QAEXXZ
-; public: void __thiscall CQueryScanner::AcceptCommand(void)
-?AcceptCommand@CQueryScanner@@QAEXXZ
-; public: void __thiscall CQueryScanner::AcceptWord(void)
-?AcceptWord@CQueryScanner@@QAEXXZ
-; public: int __thiscall CSdidLookupTable::AccessCheck(unsigned long,void *,unsigned long,int &)
-?AccessCheck@CSdidLookupTable@@QAEHKPAXKAAH@Z
-; public: unsigned short * __thiscall CQueryScanner::AcqLine(int)
-?AcqLine@CQueryScanner@@QAEPAGH@Z
-; public: unsigned short * __thiscall CQueryScanner::AcqPath(void)
-?AcqPath@CQueryScanner@@QAEPAGXZ
-; public: unsigned short * __thiscall CQueryScanner::AcqPhrase(void)
-?AcqPhrase@CQueryScanner@@QAEPAGXZ
-; public: class CRangeRestriction * __thiscall CRangeKeyRepository::AcqRst(void)
-?AcqRst@CRangeKeyRepository@@QAEPAVCRangeRestriction@@XZ
-; public: unsigned short * __thiscall CQueryScanner::AcqWord(void)
-?AcqWord@CQueryScanner@@QAEPAGXZ
-; private: void __thiscall CPropertyStore::AcquireRead(class CReadWriteLockRecord &)
-?AcquireRead@CPropertyStore@@AAEXAAVCReadWriteLockRecord@@@Z
-; public: int __thiscall CDbColumns::Add(class CDbColId const &,unsigned int)
-?Add@CDbColumns@@QAEHABVCDbColId@@I@Z
-; public: void __thiscall CDbQueryResults::Add(unsigned short *,unsigned long)
-?Add@CDbQueryResults@@QAEXPAGK@Z
-; public: int __thiscall CDbSortSet::Add(class CDbColId const &,unsigned long,unsigned int)
-?Add@CDbSortSet@@QAEHABVCDbColId@@KI@Z
-; public: int __thiscall CDbSortSet::Add(class CDbSortKey const &,unsigned int)
-?Add@CDbSortSet@@QAEHABVCDbSortKey@@I@Z
-; public: int __thiscall CKeyArray::Add(int,class CKey const &)
-?Add@CKeyArray@@QAEHHABVCKey@@@Z
-; public: int __thiscall CKeyArray::Add(int,class CKeyBuf const &)
-?Add@CKeyArray@@QAEHHABVCKeyBuf@@@Z
-; public: void __thiscall CWorkQueue::Add(class PWorkItem *)
-?Add@CWorkQueue@@QAEXPAVPWorkItem@@@Z
-; public: void __thiscall CEventItem::AddArg(unsigned long)
-?AddArg@CEventItem@@QAEXK@Z
-; public: void __thiscall CEventItem::AddArg(unsigned short const *)
-?AddArg@CEventItem@@QAEXPBG@Z
-; public: void __thiscall CFwEventItem::AddArg(unsigned long)
-?AddArg@CFwEventItem@@QAEXK@Z
-; public: void __thiscall CFwEventItem::AddArg(unsigned short const *)
-?AddArg@CFwEventItem@@QAEXPBG@Z
-; public: void __thiscall CCatalogAdmin::AddCachedProperty(class CFullPropSpec const &,unsigned long,unsigned long,unsigned long,int)
-?AddCachedProperty@CCatalogAdmin@@QAEXABVCFullPropSpec@@KKKH@Z
-; public: void __thiscall CCatState::AddCatalog(class XPtrST<unsigned short> &)
-?AddCatalog@CCatState@@QAEXAAV?$XPtrST@G@@@Z
-; public: void __thiscall CMachineAdmin::AddCatalog(unsigned short const *,unsigned short const *)
-?AddCatalog@CMachineAdmin@@QAEXPBG0@Z
-; public: void __thiscall CNodeRestriction::AddChild(class CRestriction *,unsigned int &)
-?AddChild@CNodeRestriction@@QAEXPAVCRestriction@@AAI@Z
-; public: void __thiscall CCatState::AddDir(class XPtrST<unsigned short> &)
-?AddDir@CCatState@@QAEXAAV?$XPtrST@G@@@Z
-; public: virtual void __thiscall CCombinedPropertyList::AddEntry(class CPropEntry *,int)
-?AddEntry@CCombinedPropertyList@@UAEXPAVCPropEntry@@H@Z
-; public: virtual void __thiscall CPropertyList::AddEntry(class CPropEntry *,int)
-?AddEntry@CPropertyList@@UAEXPAVCPropEntry@@H@Z
-; public: void __thiscall CEventItem::AddError(unsigned long)
-?AddError@CEventItem@@QAEXK@Z
-; public: void __thiscall CSynRestriction::AddKey(class CKeyBuf const &)
-?AddKey@CSynRestriction@@QAEXABVCKeyBuf@@@Z
-; public: void __thiscall CCatState::AddMachine(class XPtrST<unsigned short> &)
-?AddMachine@CCatState@@QAEXAAV?$XPtrST@G@@@Z
-; public: virtual unsigned long __stdcall CDbProperties::AddRef(void)
-?AddRef@CDbProperties@@UAGKXZ
-; public: virtual unsigned long __stdcall CEmptyPropertyList::AddRef(void)
-?AddRef@CEmptyPropertyList@@UAGKXZ
-; public: virtual unsigned long __stdcall CEnumString::AddRef(void)
-?AddRef@CEnumString@@UAGKXZ
-; public: virtual unsigned long __stdcall CEnumWorkid::AddRef(void)
-?AddRef@CEnumWorkid@@UAGKXZ
-; public: virtual unsigned long __stdcall CFwPropertyMapper::AddRef(void)
-?AddRef@CFwPropertyMapper@@UAGKXZ
-; public: virtual unsigned long __stdcall CQueryUnknown::AddRef(void)
-?AddRef@CQueryUnknown@@UAGKXZ
-; public: void __thiscall CWorkQueue::AddRefWorkThreads(void)
-?AddRefWorkThreads@CWorkQueue@@QAEXXZ
-; public: void __thiscall CCatalogAdmin::AddScope(unsigned short const *,unsigned short const *,int,unsigned short const *,unsigned short const *)
-?AddScope@CCatalogAdmin@@QAEXPBG0H00@Z
-; public: int __thiscall CDbSortNode::AddSortColumn(struct tagDBID const &,int,unsigned long)
-?AddSortColumn@CDbSortNode@@QAEHABUtagDBID@@HK@Z
-; public: int __thiscall CDbNestingNode::AddTable(class CDbCmdTreeNode *)
-?AddTable@CDbNestingNode@@QAEHPAVCDbCmdTreeNode@@@Z
-; public: void __thiscall CWorkManager::AddToWorkList(class CFwAsyncWorkItem *)
-?AddToWorkList@CWorkManager@@QAEXPAVCFwAsyncWorkItem@@@Z
-; public: void __thiscall CFwAsyncWorkItem::AddToWorkQueue(void)
-?AddToWorkQueue@CFwAsyncWorkItem@@QAEXXZ
-; public: static unsigned short * __stdcall CDbCmdTreeNode::AllocAndCopyWString(unsigned short const *)
-?AllocAndCopyWString@CDbCmdTreeNode@@SGPAGPBG@Z
-; unsigned short * __stdcall AllocHeapAndCopy(unsigned short const *,unsigned long &)
-?AllocHeapAndCopy@@YGPAGPBGAAK@Z
-; unsigned short * __stdcall AllocHeapAndGetWString(class PDeSerStream &)
-?AllocHeapAndGetWString@@YGPAGAAVPDeSerStream@@@Z
-; public: void __thiscall CEnumString::Append(unsigned short const *)
-?Append@CEnumString@@QAEXPBG@Z
-; public: void __thiscall CEnumWorkid::Append(unsigned long)
-?Append@CEnumWorkid@@QAEXK@Z
-; protected: void __thiscall CDbCmdTreeNode::AppendChild(class CDbCmdTreeNode *)
-?AppendChild@CDbCmdTreeNode@@IAEXPAV1@@Z
-; protected: int __thiscall CDbListAnchor::AppendListElement(unsigned short,struct tagDBID const &)
-?AppendListElement@CDbListAnchor@@IAEHGABUtagDBID@@@Z
-; protected: int __thiscall CDbListAnchor::AppendListElement(class CDbCmdTreeNode *)
-?AppendListElement@CDbListAnchor@@IAEHPAVCDbCmdTreeNode@@@Z
-; public: int __thiscall CDbProjectListAnchor::AppendListElement(struct tagDBID const &,unsigned short *)
-?AppendListElement@CDbProjectListAnchor@@QAEHABUtagDBID@@PAG@Z
-; public: unsigned long __thiscall CPropStoreManager::BeginTransaction(void)
-?BeginTransaction@CPropStoreManager@@QAEKXZ
-; public: static long __stdcall CCiOle::BindIFilter(unsigned short const *,struct IUnknown *,struct IFilter * *,int)
-?BindIFilter@CCiOle@@SGJPBGPAUIUnknown@@PAPAUIFilter@@H@Z
-; public: unsigned long * __thiscall CPhysStorage::BorrowBuffer(unsigned long,int,int)
-?BorrowBuffer@CPhysStorage@@QAEPAKKHH@Z
-; public: unsigned long * __thiscall CPhysStorage::BorrowNewBuffer(unsigned long)
-?BorrowNewBuffer@CPhysStorage@@QAEPAKK@Z
-; void __stdcall BuildRegistryPropertiesKey(class XArray<unsigned short> &,unsigned short const *)
-?BuildRegistryPropertiesKey@@YGXAAV?$XArray@G@@PBG@Z
-; void __stdcall BuildRegistryScopesKey(class XArray<unsigned short> &,unsigned short const *)
-?BuildRegistryScopesKey@@YGXAAV?$XArray@G@@PBG@Z
-; void __stdcall CIShutdown(void)
-?CIShutdown@@YGXXZ
-; public: void __thiscall CCatState::ChangeCurrentCatalog(unsigned short const *)
-?ChangeCurrentCatalog@CCatState@@QAEXPBG@Z
-; public: void __thiscall CCatState::ChangeCurrentDepth(int)
-?ChangeCurrentDepth@CCatState@@QAEXH@Z
-; public: void __thiscall CCatState::ChangeCurrentMachine(unsigned short const *)
-?ChangeCurrentMachine@CCatState@@QAEXPBG@Z
-; public: void __thiscall CCatState::ChangeCurrentScope(unsigned short const *)
-?ChangeCurrentScope@CCatState@@QAEXPBG@Z
-; private: void __thiscall CPropStoreInfo::ChangeDirty(int)
-?ChangeDirty@CPropStoreInfo@@AAEXH@Z
-; public: long __thiscall CLocalGlobalPropertyList::CheckError(unsigned long &,unsigned short * *)
-?CheckError@CLocalGlobalPropertyList@@QAEJAAKPAPAG@Z
-; public: long __thiscall CPropListFile::CheckError(unsigned long &,unsigned short * *)
-?CheckError@CPropListFile@@QAEJAAKPAPAG@Z
-; public: static int __stdcall CiStorage::CheckHasIndexTable(unsigned short const *)
-?CheckHasIndexTable@CiStorage@@SGHPBG@Z
-CiCreateSecurityDescriptor
-; int __stdcall CiGetPassword(unsigned short const *,unsigned short const *,unsigned short *)
-?CiGetPassword@@YGHPBG0PAG@Z
-; void * __stdcall CiNtOpen(unsigned short const *,unsigned long,unsigned long,unsigned long)
-?CiNtOpen@@YGPAXPBGKKK@Z
-; long __stdcall CiNtOpenNoThrow(void * &,unsigned short const *,unsigned long,unsigned long,unsigned long)
-?CiNtOpenNoThrow@@YGJAAPAXPBGKKK@Z
-; public: void __thiscall CDbColId::Cleanup(void)
-?Cleanup@CDbColId@@QAEXXZ
-; public: void __thiscall CDbProp::Cleanup(void)
-?Cleanup@CDbProp@@QAEXXZ
-; protected: void __thiscall CDbCmdTreeNode::CleanupDataValue(void)
-?CleanupDataValue@CDbCmdTreeNode@@IAEXXZ
-; public: void __thiscall CCombinedPropertyList::ClearList(void)
-?ClearList@CCombinedPropertyList@@QAEXXZ
-; public: void __thiscall CPropertyList::ClearList(void)
-?ClearList@CPropertyList@@QAEXXZ
-; public: class CDbCmdTreeNode * __thiscall CDbCmdTreeNode::Clone(int)const 
-?Clone@CDbCmdTreeNode@@QBEPAV1@H@Z
-; public: virtual long __stdcall CEnumString::Clone(struct IEnumString * *)
-?Clone@CEnumString@@UAGJPAPAUIEnumString@@@Z
-; public: class CNodeRestriction * __thiscall CNodeRestriction::Clone(void)const 
-?Clone@CNodeRestriction@@QBEPAV1@XZ
-; public: class COccRestriction * __thiscall COccRestriction::Clone(void)const 
-?Clone@COccRestriction@@QBEPAV1@XZ
-; public: class CRestriction * __thiscall CRestriction::Clone(void)const 
-?Clone@CRestriction@@QBEPAV1@XZ
-; public: void __thiscall CPhysStorage::Close(void)
-?Close@CPhysStorage@@QAEXXZ
-; protected: void __thiscall CPipeClient::Close(void)
-?Close@CPipeClient@@IAEXXZ
-; public: void __thiscall COLEPropManager::CPropSetMap::Close(void)
-?Close@CPropSetMap@COLEPropManager@@QAEXXZ
-; public: void __thiscall CPropStoreManager::CloseRecord(class CCompositePropRecord *)
-?CloseRecord@CPropStoreManager@@QAEXPAVCCompositePropRecord@@@Z
-; public: void __thiscall CPropStoreManager::CloseRecord(class CCompositePropRecordForWrites *)
-?CloseRecord@CPropStoreManager@@QAEXPAVCCompositePropRecordForWrites@@@Z
-; public: void __thiscall CRcovStrmAppendTrans::Commit(void)
-?Commit@CRcovStrmAppendTrans@@QAEXXZ
-; public: void __thiscall CRcovStrmMDTrans::Commit(void)
-?Commit@CRcovStrmMDTrans@@QAEXXZ
-; public: void __thiscall CRcovStrmWriteTrans::Commit(void)
-?Commit@CRcovStrmWriteTrans@@QAEXXZ
-; public: static int __stdcall CDriveInfo::ContainsDrive(unsigned short const *)
-?ContainsDrive@CDriveInfo@@SGHPBG@Z
-; public: int __thiscall CDbParameter::Copy(struct tagDBPARAMETER const &)
-?Copy@CDbParameter@@QAEHABUtagDBPARAMETER@@@Z
-; public: int __thiscall CDbProp::Copy(struct tagDBPROP const &)
-?Copy@CDbProp@@QAEHABUtagDBPROP@@@Z
-; public: int __thiscall CDbPropSet::Copy(struct tagDBPROPSET const &)
-?Copy@CDbPropSet@@QAEHABUtagDBPROPSET@@@Z
-; public: void __thiscall CMachineAdmin::CreateSubdirs(unsigned short const *)
-?CreateSubdirs@CMachineAdmin@@QAEXPBG@Z
-; public: void __thiscall CRequestClient::DataWriteRead(void *,unsigned long,void *,unsigned long,unsigned long &)
-?DataWriteRead@CRequestClient@@QAEXPAXK0KAAK@Z
-; void __stdcall DecodeEscapes(unsigned short *,unsigned long &,unsigned short *)
-?DecodeEscapes@@YGXPAGAAK0@Z
-; void __stdcall DecodeHtmlNumeric(unsigned short *)
-?DecodeHtmlNumeric@@YGXPAG@Z
-; void __stdcall DecodeURLEscapes(unsigned char *,unsigned long &,unsigned short *,unsigned long)
-?DecodeURLEscapes@@YGXPAEAAKPAGK@Z
-; public: void __thiscall CPropStoreManager::DeleteRecord(unsigned long)
-?DeleteRecord@CPropStoreManager@@QAEXK@Z
-; public: void __thiscall CCatalogAdmin::DeleteRegistryParamNoThrow(unsigned short const *)
-?DeleteRegistryParamNoThrow@CCatalogAdmin@@QAEXPBG@Z
-; public: static unsigned int __stdcall CiStorage::DetermineDriveType(unsigned short const *)
-?DetermineDriveType@CiStorage@@SGIPBG@Z
-; public: int __thiscall CMachineAdmin::DisableCI(void)
-?DisableCI@CMachineAdmin@@QAEHXZ
-; public: void __thiscall CRegNotify::DisableNotification(void)
-?DisableNotification@CRegNotify@@QAEXXZ
-; public: void __thiscall CMetaDataMgr::DisableVPathNotify(void)
-?DisableVPathNotify@CMetaDataMgr@@QAEXXZ
-; public: void __thiscall CRequestClient::Disconnect(void)
-?Disconnect@CRequestClient@@QAEXXZ
-; void __stdcall DoFailTest(long)
-?DoFailTest@@YGXJ@Z
-; public: long __thiscall CCopyRcovObject::DoIt(void)
-?DoIt@CCopyRcovObject@@QAEJXZ
-; public: long __thiscall CFilterDaemon::DoUpdates(void)
-?DoUpdates@CFilterDaemon@@QAEJXZ
-; public: void __thiscall CFwAsyncWorkItem::Done(void)
-?Done@CFwAsyncWorkItem@@QAEXXZ
-; long __stdcall DumpWorkId(unsigned short const *,unsigned long,unsigned char *,unsigned long &,unsigned short const *,unsigned short const *,unsigned long)
-?DumpWorkId@@YGJPBGKPAEAAK00K@Z
-; public: void __thiscall CPidLookupTable::Empty(void)
-?Empty@CPidLookupTable@@QAEXXZ
-; public: void __thiscall CPropStoreManager::Empty(void)
-?Empty@CPropStoreManager@@QAEXXZ
-; public: void __thiscall CRcovStrmWriteTrans::Empty(void)
-?Empty@CRcovStrmWriteTrans@@QAEXXZ
-; public: void __thiscall CSdidLookupTable::Empty(void)
-?Empty@CSdidLookupTable@@QAEXXZ
-; public: int __thiscall CMachineAdmin::EnableCI(void)
-?EnableCI@CMachineAdmin@@QAEHXZ
-; public: void __thiscall CMetaDataMgr::EnableVPathNotify(class CMetaDataVPathChangeCallBack *)
-?EnableVPathNotify@CMetaDataMgr@@QAEXPAVCMetaDataVPathChangeCallBack@@@Z
-; public: void __thiscall CPropStoreManager::EndTransaction(unsigned long,int,unsigned long,unsigned long)
-?EndTransaction@CPropStoreManager@@QAEXKHKK@Z
-; public: int __thiscall CWin32RegAccess::Enum(unsigned short *,unsigned long)
-?Enum@CWin32RegAccess@@QAEHPAGK@Z
-; public: virtual long __stdcall CEmptyPropertyList::EnumPropInfo(unsigned long,unsigned short const * *,struct tagDBID * *,unsigned short *,unsigned int *)
-?EnumPropInfo@CEmptyPropertyList@@UAGJKPAPBGPAPAUtagDBID@@PAGPAI@Z
-; public: void __thiscall CMetaDataMgr::EnumVPaths(class CMetaDataCallBack &)
-?EnumVPaths@CMetaDataMgr@@QAEXAAVCMetaDataCallBack@@@Z
-; public: void __thiscall CMetaDataMgr::EnumVServers(class CMetaDataVirtualServerCallBack &)
-?EnumVServers@CMetaDataMgr@@QAEXAAVCMetaDataVirtualServerCallBack@@@Z
-; public: static void __stdcall CiStorage::EnumerateFilesInDir(unsigned short const *,class CEnumString &)
-?EnumerateFilesInDir@CiStorage@@SGXPBGAAVCEnumString@@@Z
-; public: int __thiscall CPidLookupTable::EnumerateProperty(class CFullPropSpec &,unsigned int &)
-?EnumerateProperty@CPidLookupTable@@QAEHAAVCFullPropSpec@@AAI@Z
-; public: void __thiscall CRegAccess::EnumerateValues(unsigned short *,class CRegCallBack &)
-?EnumerateValues@CRegAccess@@QAEXPAGAAVCRegCallBack@@@Z
-; public: int __thiscall CMmStreamConsecBuf::Eof(void)
-?Eof@CMmStreamConsecBuf@@QAEHXZ
-; public: int __thiscall CMetaDataMgr::ExtensionHasScriptMap(unsigned short const *)
-?ExtensionHasScriptMap@CMetaDataMgr@@QAEHPBG@Z
-; public: virtual long __thiscall CPidConverter::FPSToPROPID(class CFullPropSpec const &,unsigned long &)
-?FPSToPROPID@CPidConverter@@UAEJABVCFullPropSpec@@AAK@Z
-; public: void __thiscall CPropStoreManager::FastInit(class CiStorage *)
-?FastInit@CPropStoreManager@@QAEXPAVCiStorage@@@Z
-; public: void __thiscall COLEPropManager::FetchProperty(struct _GUID const &,struct tagPROPSPEC const &,struct tagPROPVARIANT *,unsigned int *)
-?FetchProperty@COLEPropManager@@QAEXABU_GUID@@ABUtagPROPSPEC@@PAUtagPROPVARIANT@@PAI@Z
-; public: int __thiscall CKeyArray::FillMax(int)
-?FillMax@CKeyArray@@QAEHH@Z
-; public: virtual class CPropEntry const * __thiscall CCombinedPropertyList::Find(unsigned short const *)
-?Find@CCombinedPropertyList@@UAEPBVCPropEntry@@PBG@Z
-; public: class CPropEntry const * __thiscall CEmptyPropertyList::Find(class CDbColId const &)
-?Find@CEmptyPropertyList@@QAEPBVCPropEntry@@ABVCDbColId@@@Z
-; public: virtual class CPropEntry const * __thiscall CPropertyList::Find(class CDbColId const &)
-?Find@CPropertyList@@UAEPBVCPropEntry@@ABVCDbColId@@@Z
-; public: virtual class CPropEntry const * __thiscall CPropertyList::Find(unsigned short const *)
-?Find@CPropertyList@@UAEPBVCPropEntry@@PBG@Z
-; public: virtual class CPropEntry const * __thiscall CStaticPropertyList::Find(unsigned short const *)
-?Find@CStaticPropertyList@@UAEPBVCPropEntry@@PBG@Z
-; public: int __thiscall CPidLookupTable::FindPropid(class CFullPropSpec const &,unsigned long &,int)
-?FindPropid@CPidLookupTable@@QAEHABVCFullPropSpec@@AAKH@Z
-; public: void __thiscall CDynStream::Flush(void)
-?Flush@CDynStream@@QAEXXZ
-; public: void __thiscall CPhysStorage::Flush(int)
-?Flush@CPhysStorage@@QAEXH@Z
-; public: void __thiscall CPropStoreManager::Flush(void)
-?Flush@CPropStoreManager@@QAEXXZ
-; public: static void __stdcall CCiOle::FlushIdle(void)
-?FlushIdle@CCiOle@@SGXXZ
-; public: struct tagDBCOMMANDTREE * __thiscall CTextToTree::FormFullTree(void)
-?FormFullTree@CTextToTree@@QAEPAUtagDBCOMMANDTREE@@XZ
-; class CDbCmdTreeNode * __stdcall FormQueryTree(class CDbCmdTreeNode &,class CCatState &,struct IColumnMapper *,int,int)
-?FormQueryTree@@YGPAVCDbCmdTreeNode@@AAV1@AAVCCatState@@PAUIColumnMapper@@HH@Z
-; public: unsigned long __thiscall CRegAccess::Get(unsigned short const *)
-?Get@CRegAccess@@QAEKPBG@Z
-; public: void __thiscall CRegAccess::Get(unsigned short const *,unsigned short *,unsigned int)
-?Get@CRegAccess@@QAEXPBGPAGI@Z
-; public: int __thiscall CWin32RegAccess::Get(unsigned short const *,unsigned long &)
-?Get@CWin32RegAccess@@QAEHPBGAAK@Z
-; public: int __thiscall CWin32RegAccess::Get(unsigned short const *,unsigned short *,unsigned int,int)
-?Get@CWin32RegAccess@@QAEHPBGPAGIH@Z
-; public: virtual long __thiscall CPropertyList::GetAllEntries(class CPropEntry * *,unsigned long)
-?GetAllEntries@CPropertyList@@UAEJPAPAVCPropEntry@@K@Z
-; public: short __thiscall CAllocStorageVariant::GetBOOL(unsigned int)const 
-?GetBOOL@CAllocStorageVariant@@QBEFI@Z
-; public: unsigned long __thiscall CPropStoreManager::GetBackupSize(unsigned long)
-?GetBackupSize@CPropStoreManager@@QAEKK@Z
-; public: virtual void __thiscall CMemDeSerStream::GetBlob(unsigned char *,unsigned long)
-?GetBlob@CMemDeSerStream@@UAEXPAEK@Z
-; unsigned long __stdcall GetBrowserCodepage(class CWebServer &,unsigned long)
-?GetBrowserCodepage@@YGKAAVCWebServer@@K@Z
-; public: virtual unsigned char __thiscall CMemDeSerStream::GetByte(void)
-?GetByte@CMemDeSerStream@@UAEEXZ
-; public: unsigned short const * __thiscall CCatState::GetCD(void)
-?GetCD@CCatState@@QAEPBGXZ
-; public: int __thiscall CWebServer::GetCGIVariable(char const *,class XArray<unsigned short> &,unsigned long &)
-?GetCGIVariable@CWebServer@@QAEHPBDAAV?$XArray@G@@AAK@Z
-; public: int __thiscall CWebServer::GetCGIVariableW(unsigned short const *,class XArray<unsigned short> &,unsigned long &)
-?GetCGIVariableW@CWebServer@@QAEHPBGAAV?$XArray@G@@AAK@Z
-; public: struct _GUID  __thiscall CAllocStorageVariant::GetCLSID(unsigned int)const 
-?GetCLSID@CAllocStorageVariant@@QBE?AU_GUID@@I@Z
-; public: union tagCY  __thiscall CAllocStorageVariant::GetCY(unsigned int)const 
-?GetCY@CAllocStorageVariant@@QBE?ATtagCY@@I@Z
-; public: unsigned short const * __thiscall CCatState::GetCategory(unsigned int)const 
-?GetCategory@CCatState@@QBEPBGI@Z
-; public: virtual void __thiscall CMemDeSerStream::GetChar(char *,unsigned long)
-?GetChar@CMemDeSerStream@@UAEXPADK@Z
-; public: unsigned short const * __thiscall CCatState::GetColumn(unsigned int)const 
-?GetColumn@CCatState@@QBEPBGI@Z
-; public: unsigned short __thiscall CQueryScanner::GetCommandChar(void)
-?GetCommandChar@CQueryScanner@@QAEGXZ
-; public: double __thiscall CAllocStorageVariant::GetDATE(unsigned int)const 
-?GetDATE@CAllocStorageVariant@@QBENI@Z
-; public: int __thiscall CCatalogAdmin::GetDWORDParam(unsigned short const *,unsigned long &)
-?GetDWORDParam@CCatalogAdmin@@QAEHPBGAAK@Z
-; public: int __thiscall CMachineAdmin::GetDWORDParam(unsigned short const *,unsigned long &)
-?GetDWORDParam@CMachineAdmin@@QAEHPBGAAK@Z
-; public: void __thiscall CDriveInfo::GetDiskSpace(__int64 &,__int64 &)
-?GetDiskSpace@CDriveInfo@@QAEXAA_J0@Z
-; public: virtual double __thiscall CMemDeSerStream::GetDouble(void)
-?GetDouble@CMemDeSerStream@@UAENXZ
-; public: static void __stdcall CDriveInfo::GetDrive(unsigned short const *,unsigned short *)
-?GetDrive@CDriveInfo@@SGXPBGPAG@Z
-; public: unsigned char * __thiscall CGenericCiProxy::GetEntryBuffer(unsigned long &)
-?GetEntryBuffer@CGenericCiProxy@@QAEPAEAAK@Z
-; public: struct _FILETIME  __thiscall CAllocStorageVariant::GetFILETIME(unsigned int)const 
-?GetFILETIME@CAllocStorageVariant@@QBE?AU_FILETIME@@I@Z
-; public: int __thiscall CPathParser::GetFileName(unsigned short *,unsigned long &)const 
-?GetFileName@CPathParser@@QBEHPAGAAK@Z
-; public: enum CDriveInfo::eFileSystem  __thiscall CDriveInfo::GetFileSystem(int)
-?GetFileSystem@CDriveInfo@@QAE?AW4eFileSystem@1@H@Z
-; public: virtual float __thiscall CMemDeSerStream::GetFloat(void)
-?GetFloat@CMemDeSerStream@@UAEMXZ
-; public: virtual void __thiscall CMemDeSerStream::GetGUID(struct _GUID &)
-?GetGUID@CMemDeSerStream@@UAEXAAU_GUID@@@Z
-; class CPropListFile * __stdcall GetGlobalPropListFile(void)
-?GetGlobalPropListFile@@YGPAVCPropListFile@@XZ
-; class CStaticPropertyList * __stdcall GetGlobalStaticPropertyList(void)
-?GetGlobalStaticPropertyList@@YGPAVCStaticPropertyList@@XZ
-; public: short __thiscall CAllocStorageVariant::GetI2(unsigned int)const 
-?GetI2@CAllocStorageVariant@@QBEFI@Z
-; public: long __thiscall CAllocStorageVariant::GetI4(unsigned int)const 
-?GetI4@CAllocStorageVariant@@QBEJI@Z
-; public: union _LARGE_INTEGER  __thiscall CAllocStorageVariant::GetI8(unsigned int)const 
-?GetI8@CAllocStorageVariant@@QBE?AT_LARGE_INTEGER@@I@Z
-; unsigned long __stdcall GetLCIDFromString(unsigned short *)
-?GetLCIDFromString@@YGKPAG@Z
-; public: char * __thiscall CAllocStorageVariant::GetLPSTR(unsigned int)const 
-?GetLPSTR@CAllocStorageVariant@@QBEPADI@Z
-; public: unsigned short * __thiscall CAllocStorageVariant::GetLPWSTR(unsigned int)const 
-?GetLPWSTR@CAllocStorageVariant@@QBEPAGI@Z
-; public: unsigned short const * __thiscall CCatalogAdmin::GetLocation(void)
-?GetLocation@CCatalogAdmin@@QAEPBGXZ
-; public: virtual long __thiscall CMemDeSerStream::GetLong(void)
-?GetLong@CMemDeSerStream@@UAEJXZ
-; public: int __thiscall CQueryScanner::GetNumber(long &,int &)
-?GetNumber@CQueryScanner@@QAEHAAJAAH@Z
-; public: int __thiscall CQueryScanner::GetNumber(unsigned long &,int &)
-?GetNumber@CQueryScanner@@QAEHAAKAAH@Z
-; public: int __thiscall CQueryScanner::GetNumber(__int64 &,int &)
-?GetNumber@CQueryScanner@@QAEHAA_JAAH@Z
-; public: int __thiscall CQueryScanner::GetNumber(unsigned __int64 &,int &)
-?GetNumber@CQueryScanner@@QAEHAA_KAAH@Z
-; public: void __thiscall CKeyDeComp::GetOffset(struct BitOffset &)
-?GetOffset@CKeyDeComp@@QAEXAAUBitOffset@@@Z
-; long __stdcall GetOleDBErrorInfo(struct IUnknown *,struct _GUID const &,unsigned long,unsigned int,struct tagERRORINFO *,struct IErrorInfo * *)
-?GetOleDBErrorInfo@@YGJPAUIUnknown@@ABU_GUID@@KIPAUtagERRORINFO@@PAPAUIErrorInfo@@@Z
-; long __stdcall GetOleError(class CException &)
-?GetOleError@@YGJAAVCException@@@Z
-; public: unsigned long __thiscall CWebServer::GetPhysicalPath(unsigned short const *,unsigned short *,unsigned long,unsigned long)
-?GetPhysicalPath@CWebServer@@QAEKPBGPAGKK@Z
-; public: int __thiscall CEmptyPropertyList::GetPropInfo(class CDbColId const &,unsigned short const * *,unsigned short *,unsigned int *)
-?GetPropInfo@CEmptyPropertyList@@QAEHABVCDbColId@@PAPBGPAGPAI@Z
-; public: int __thiscall CEmptyPropertyList::GetPropInfo(unsigned short const *,class CDbColId * *,unsigned short *,unsigned int *)
-?GetPropInfo@CEmptyPropertyList@@QAEHPBGPAPAVCDbColId@@PAGPAI@Z
-; public: virtual long __stdcall CEmptyPropertyList::GetPropInfoFromId(struct tagDBID const *,unsigned short * *,unsigned short *,unsigned int *)
-?GetPropInfoFromId@CEmptyPropertyList@@UAGJPBUtagDBID@@PAPAGPAGPAI@Z
-; public: virtual long __stdcall CEmptyPropertyList::GetPropInfoFromName(unsigned short const *,struct tagDBID * *,unsigned short *,unsigned int *)
-?GetPropInfoFromName@CEmptyPropertyList@@UAGJPBGPAPAUtagDBID@@PAGPAI@Z
-; public: static unsigned short __stdcall CEmptyPropertyList::GetPropType(unsigned int)
-?GetPropType@CEmptyPropertyList@@SGGI@Z
-; public: static unsigned int __stdcall CEmptyPropertyList::GetPropTypeCount(void)
-?GetPropTypeCount@CEmptyPropertyList@@SGIXZ
-; public: static unsigned short const * __stdcall CEmptyPropertyList::GetPropTypeName(unsigned int)
-?GetPropTypeName@CEmptyPropertyList@@SGPBGI@Z
-; public: virtual long __stdcall CDbProperties::GetProperties(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPSET * *)
-?GetProperties@CDbProperties@@UAGJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPSET@@@Z
-; public: void __thiscall CGetDbProps::GetProperties(struct IDBProperties *,unsigned long)
-?GetProperties@CGetDbProps@@QAEXPAUIDBProperties@@K@Z
-; public: virtual long __stdcall CDbProperties::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPINFOSET * *,unsigned short * *)
-?GetPropertyInfo@CDbProperties@@UAGJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPINFOSET@@PAPAG@Z
-; public: float __thiscall CAllocStorageVariant::GetR4(unsigned int)const 
-?GetR4@CAllocStorageVariant@@QBEMI@Z
-; public: double __thiscall CAllocStorageVariant::GetR8(unsigned int)const 
-?GetR8@CAllocStorageVariant@@QBENI@Z
-; public: int __thiscall CMachineAdmin::GetSZParam(unsigned short const *,unsigned short *,unsigned long)
-?GetSZParam@CMachineAdmin@@QAEHPBGPAGK@Z
-; long __stdcall GetScodeError(class CException &)
-?GetScodeError@@YGJAAVCException@@@Z
-; int __stdcall GetSecret(unsigned short const *,unsigned short const *,unsigned short * *,unsigned long *)
-?GetSecret@@YGHPBG0PAPAGPAK@Z
-; public: unsigned long __thiscall CDriveInfo::GetSectorSize(void)
-?GetSectorSize@CDriveInfo@@QAEKXZ
-; public: void __thiscall CCatState::GetSortProp(unsigned int,unsigned short const * *,enum SORTDIR *)const 
-?GetSortProp@CCatState@@QBEXIPAPBGPAW4SORTDIR@@@Z
-; void __stdcall GetStackTrace(char *,unsigned long)
-?GetStackTrace@@YGXPADK@Z
-; public: unsigned char const * __thiscall CGenericCiProxy::GetStartupData(struct _GUID &,unsigned long &)
-?GetStartupData@CGenericCiProxy@@QAEPBEAAU_GUID@@AAK@Z
-; public: class PStorage & __thiscall CPropStoreManager::GetStorage(unsigned long)
-?GetStorage@CPropStoreManager@@QAEAAVPStorage@@K@Z
-; public: unsigned short * __thiscall CKey::GetStr(void)const 
-?GetStr@CKey@@QBEPAGXZ
-; public: unsigned short * __thiscall CKeyBuf::GetStr(void)const 
-?GetStr@CKeyBuf@@QBEPAGXZ
-; public: virtual char * __thiscall CMemDeSerStream::GetString(void)
-?GetString@CMemDeSerStream@@UAEPADXZ
-; class CDbRestriction * __stdcall GetStringDbRestriction(unsigned short const *,unsigned long,struct IColumnMapper *,unsigned long)
-?GetStringDbRestriction@@YGPAVCDbRestriction@@PBGKPAUIColumnMapper@@K@Z
-; unsigned short const * __stdcall GetStringFromLCID(unsigned long)
-?GetStringFromLCID@@YGPBGK@Z
-; void __stdcall GetStringFromLCID(unsigned long,unsigned short *)
-?GetStringFromLCID@@YGXKPAG@Z
-; public: unsigned long __thiscall CPropStoreManager::GetTotalSizeInKB(void)
-?GetTotalSizeInKB@CPropStoreManager@@QAEKXZ
-; public: unsigned long __thiscall CPropertyStore::GetTotalSizeInKB(void)
-?GetTotalSizeInKB@CPropertyStore@@QAEKXZ
-; public: virtual unsigned long __thiscall CMemDeSerStream::GetULong(void)
-?GetULong@CMemDeSerStream@@UAEKXZ
-; public: virtual unsigned short __thiscall CMemDeSerStream::GetUShort(void)
-?GetUShort@CMemDeSerStream@@UAEGXZ
-; public: void __thiscall CIndexTable::GetUserHdrInfo(unsigned int &,int &)
-?GetUserHdrInfo@CIndexTable@@QAEXAAIAAH@Z
-; public: unsigned long __thiscall CMetaDataMgr::GetVPathAccess(unsigned short const *)
-?GetVPathAccess@CMetaDataMgr@@QAEKPBG@Z
-; public: unsigned long __thiscall CMetaDataMgr::GetVPathAuthorization(unsigned short const *)
-?GetVPathAuthorization@CMetaDataMgr@@QAEKPBG@Z
-; public: unsigned long __thiscall CMetaDataMgr::GetVPathSSLAccess(unsigned short const *)
-?GetVPathSSLAccess@CMetaDataMgr@@QAEKPBG@Z
-; public: unsigned short const * __thiscall CDriveInfo::GetVolumeName(int)
-?GetVolumeName@CDriveInfo@@QAEPBGH@Z
-; public: virtual void __thiscall CMemDeSerStream::GetWChar(unsigned short *,unsigned long)
-?GetWChar@CMemDeSerStream@@UAEXPAGK@Z
-; public: virtual unsigned short * __thiscall CMemDeSerStream::GetWString(void)
-?GetWString@CMemDeSerStream@@UAEPAGXZ
-; public: long __thiscall CDbCmdTreeNode::GetWeight(void)const 
-?GetWeight@CDbCmdTreeNode@@QBEJXZ
-; public: void __thiscall CDynStream::Grow(class PStorage &,unsigned long)
-?Grow@CDynStream@@QAEXAAVPStorage@@K@Z
-; private: void __thiscall CVirtualString::GrowBuffer(unsigned long)
-?GrowBuffer@CVirtualString@@AAEXK@Z
-; void __stdcall HTMLEscapeW(unsigned short const *,class CVirtualString &,unsigned long)
-?HTMLEscapeW@@YGXPBGAAVCVirtualString@@K@Z
-; private: void __thiscall CImpersonateClient::Impersonate(void)
-?Impersonate@CImpersonateClient@@AAEXXZ
-; public: void __thiscall CFileMapView::Init(void)
-?Init@CFileMapView@@QAEXXZ
-; public: void __thiscall CMmStreamConsecBuf::Init(class PMmStream *)
-?Init@CMmStreamConsecBuf@@QAEXPAVPMmStream@@@Z
-; public: int __thiscall CPidLookupTable::Init(class PRcovStorageObj *)
-?Init@CPidLookupTable@@QAEHPAVPRcovStorageObj@@@Z
-; public: void __thiscall CRcovStorageHdr::Init(unsigned long)
-?Init@CRcovStorageHdr@@QAEXK@Z
-; public: void __thiscall CRegChangeEvent::Init(void)
-?Init@CRegChangeEvent@@QAEXXZ
-; public: int __thiscall CSdidLookupTable::Init(class CiStorage *)
-?Init@CSdidLookupTable@@QAEHPAVCiStorage@@@Z
-; public: virtual void __thiscall CCombinedPropertyList::InitIterator(void)
-?InitIterator@CCombinedPropertyList@@UAEXXZ
-; public: virtual void __thiscall CPropertyList::InitIterator(void)
-?InitIterator@CPropertyList@@UAEXXZ
-; public: virtual void __thiscall CStaticPropertyList::InitIterator(void)
-?InitIterator@CStaticPropertyList@@UAEXXZ
-; public: void __thiscall CImpersonationTokenCache::Initialize(unsigned short const *,int,int,int,unsigned long,unsigned long,unsigned long)
-?Initialize@CImpersonationTokenCache@@QAEXPBGHHHKKK@Z
-; public: void __thiscall CDynStream::InitializeForRead(void)
-?InitializeForRead@CDynStream@@QAEXXZ
-; public: void __thiscall CDynStream::InitializeForWrite(unsigned long)
-?InitializeForWrite@CDynStream@@QAEXK@Z
-; protected: void __thiscall CDbCmdTreeNode::InsertChild(class CDbCmdTreeNode *)
-?InsertChild@CDbCmdTreeNode@@IAEXPAV1@@Z
-; public: int __thiscall CDbPropertyRestriction::IsCIDialect(void)
-?IsCIDialect@CDbPropertyRestriction@@QAEHXZ
-; public: int __thiscall CMachineAdmin::IsCIEnabled(void)
-?IsCIEnabled@CMachineAdmin@@QAEHXZ
-; public: int __thiscall CMachineAdmin::IsCIPaused(void)
-?IsCIPaused@CMachineAdmin@@QAEHXZ
-; public: int __thiscall CMachineAdmin::IsCIStarted(void)
-?IsCIStarted@CMachineAdmin@@QAEHXZ
-; public: int __thiscall CMachineAdmin::IsCIStopped(void)
-?IsCIStopped@CMachineAdmin@@QAEHXZ
-; public: int __thiscall CCatalogAdmin::IsCatalogInactive(void)
-?IsCatalogInactive@CCatalogAdmin@@QAEHXZ
-; int __stdcall IsDirectoryWritable(unsigned short const *)
-?IsDirectoryWritable@@YGHPBG@Z
-; public: static int __stdcall CMetaDataMgr::IsIISAdminUp(int &)
-?IsIISAdminUp@CMetaDataMgr@@SGHAAH@Z
-; public: static int __stdcall CImpersonateSystem::IsImpersonated(void)
-?IsImpersonated@CImpersonateSystem@@SGHXZ
-; public: int __thiscall CRestriction::IsLeaf(void)const 
-?IsLeaf@CRestriction@@QBEHXZ
-; int __stdcall IsNullPointerVariant(struct tagPROPVARIANT *)
-?IsNullPointerVariant@@YGHPAUtagPROPVARIANT@@@Z
-; public: int __thiscall CCatalogAdmin::IsPaused(void)
-?IsPaused@CCatalogAdmin@@QAEHXZ
-; public: static int __stdcall CImpersonateSystem::IsRunningAsSystem(void)
-?IsRunningAsSystem@CImpersonateSystem@@SGHXZ
-; public: int __thiscall CDriveInfo::IsSameDrive(unsigned short const *)
-?IsSameDrive@CDriveInfo@@QAEHPBG@Z
-; long __stdcall IsScopeValid(unsigned short const *,unsigned int,int)
-?IsScopeValid@@YGJPBGIH@Z
-; public: int __thiscall CCatalogAdmin::IsStarted(void)
-?IsStarted@CCatalogAdmin@@QAEHXZ
-; public: int __thiscall CCatalogAdmin::IsStopped(void)
-?IsStopped@CCatalogAdmin@@QAEHXZ
-; public: int __thiscall CAllocStorageVariant::IsValid(void)const 
-?IsValid@CAllocStorageVariant@@QBEHXZ
-; public: int __thiscall CNodeRestriction::IsValid(void)const 
-?IsValid@CNodeRestriction@@QBEHXZ
-; public: int __thiscall COccRestriction::IsValid(void)const 
-?IsValid@COccRestriction@@QBEHXZ
-; public: int __thiscall CRestriction::IsValid(void)const 
-?IsValid@CRestriction@@QBEHXZ
-; public: int __thiscall CFilterDaemon::IsWaitingForDocument(void)
-?IsWaitingForDocument@CFilterDaemon@@QAEHXZ
-; public: int __thiscall CDriveInfo::IsWriteProtected(void)
-?IsWriteProtected@CDriveInfo@@QAEHXZ
-; public: void __thiscall CLocalGlobalPropertyList::Load(unsigned short const * const)
-?Load@CLocalGlobalPropertyList@@QAEXQBG@Z
-; unsigned long __stdcall LocaleToCodepage(unsigned long)
-?LocaleToCodepage@@YGKK@Z
-; private: unsigned long __thiscall CPropertyStore::LokNewWorkId(unsigned long,int,int)
-?LokNewWorkId@CPropertyStore@@AAEKKHH@Z
-; public: int __thiscall CCatStateInfo::LokUpdate(void)
-?LokUpdate@CCatStateInfo@@QAEHXZ
-; public: void __thiscall CPropStoreManager::LongInit(int &,unsigned long &,void (__stdcall*)(unsigned long,int,void const *),void const *)
-?LongInit@CPropStoreManager@@QAEXAAHAAKP6GXKHPBX@Z2@Z
-; private: unsigned int __thiscall CPropStoreInfo::Lookup(unsigned long)
-?Lookup@CPropStoreInfo@@AAEIK@Z
-; public: unsigned long __thiscall CSdidLookupTable::LookupSDID(void *,unsigned long)
-?LookupSDID@CSdidLookupTable@@QAEKPAXK@Z
-; public: void __thiscall CPhysStorage::MakeBackupCopy(class CPhysStorage &,class PSaveProgressTracker &)
-?MakeBackupCopy@CPhysStorage@@QAEXAAV1@AAVPSaveProgressTracker@@@Z
-; public: void __thiscall CPidLookupTable::MakeBackupCopy(class PRcovStorageObj &,class PSaveProgressTracker &)
-?MakeBackupCopy@CPidLookupTable@@QAEXAAVPRcovStorageObj@@AAVPSaveProgressTracker@@@Z
-; public: void __thiscall CPropStoreManager::MakeBackupCopy(struct IProgressNotify *,int &,class CiStorage &,struct ICiEnumWorkids *,struct IEnumString * *)
-?MakeBackupCopy@CPropStoreManager@@QAEXPAUIProgressNotify@@AAHAAVCiStorage@@PAUICiEnumWorkids@@PAPAUIEnumString@@@Z
-; long __stdcall MakeICommand(struct IUnknown * *,unsigned short const *,unsigned short const *,struct IUnknown *)
-?MakeICommand@@YGJPAPAUIUnknown@@PBG1PAU1@@Z
-; long __stdcall MakeISearch(struct ISearchQueryHits * *,class CDbRestriction *,unsigned short const *)
-?MakeISearch@@YGJPAPAUISearchQueryHits@@PAVCDbRestriction@@PBG@Z
-; long __stdcall MakeLocalICommand(struct IUnknown * *,struct ICiCDocStore *,struct IUnknown *)
-?MakeLocalICommand@@YGJPAPAUIUnknown@@PAUICiCDocStore@@PAU1@@Z
-; long __stdcall MakeMetadataICommand(struct IUnknown * *,enum CiMetaData,unsigned short const *,unsigned short const *,struct IUnknown *)
-?MakeMetadataICommand@@YGJPAPAUIUnknown@@W4CiMetaData@@PBG2PAU1@@Z
-; public: void __thiscall CFullPath::MakePath(unsigned short const *)
-?MakePath@CFullPath@@QAEXPBG@Z
-; public: void __thiscall CFullPath::MakePath(unsigned short const *,unsigned int)
-?MakePath@CFullPath@@QAEXPBGI@Z
-; private: void __thiscall CImpersonateSystem::MakePrivileged(void)
-?MakePrivileged@CImpersonateSystem@@AAEXXZ
-; public: void __thiscall CMmStreamConsecBuf::Map(unsigned long)
-?Map@CMmStreamConsecBuf@@QAEXK@Z
-; public: int __thiscall CDynStream::MarkDirty(void)
-?MarkDirty@CDynStream@@QAEHXZ
-; public: void __thiscall CBaseStorageVariant::Marshall(class PSerStream &)const 
-?Marshall@CBaseStorageVariant@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CContentRestriction::Marshall(class PSerStream &)const 
-?Marshall@CContentRestriction@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CDbByGuid::Marshall(class PSerStream &)const 
-?Marshall@CDbByGuid@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CDbCmdTreeNode::Marshall(class PSerStream &)const 
-?Marshall@CDbCmdTreeNode@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CDbColId::Marshall(class PSerStream &)const 
-?Marshall@CDbColId@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CDbContentVector::Marshall(class PSerStream &)const 
-?Marshall@CDbContentVector@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CDbNumeric::Marshall(class PSerStream &)const 
-?Marshall@CDbNumeric@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CDbParameter::Marshall(class PSerStream &)const 
-?Marshall@CDbParameter@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CDbProp::Marshall(class PSerStream &)const 
-?Marshall@CDbProp@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CDbPropSet::Marshall(class PSerStream &)const 
-?Marshall@CDbPropSet@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CFullPropSpec::Marshall(class PSerStream &)const 
-?Marshall@CFullPropSpec@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CNatLanguageRestriction::Marshall(class PSerStream &)const 
-?Marshall@CNatLanguageRestriction@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CNodeRestriction::Marshall(class PSerStream &)const 
-?Marshall@CNodeRestriction@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CNotRestriction::Marshall(class PSerStream &)const 
-?Marshall@CNotRestriction@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CPropNameArray::Marshall(class PSerStream &)const 
-?Marshall@CPropNameArray@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CPropertyRestriction::Marshall(class PSerStream &)const 
-?Marshall@CPropertyRestriction@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CRestriction::Marshall(class PSerStream &)const 
-?Marshall@CRestriction@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CVectorRestriction::Marshall(class PSerStream &)const 
-?Marshall@CVectorRestriction@@QBEXAAVPSerStream@@@Z
-; public: int __thiscall CBufferCache::MinPageInUse(unsigned long &)
-?MinPageInUse@CBufferCache@@QAEHAAK@Z
-; public: int __thiscall CPhysStorage::MinPageInUse(unsigned long &)
-?MinPageInUse@CPhysStorage@@QAEHAAK@Z
-; unsigned long __stdcall MultiByteToXArrayWideChar(unsigned char const *,unsigned long,unsigned int,class XArray<unsigned short> &)
-?MultiByteToXArrayWideChar@@YGKPBEKIAAV?$XArray@G@@@Z
-; unsigned __int64 __cdecl My_wcstoui64(unsigned short const *,unsigned short * *,int)
-?My_wcstoui64@@YA_KPBGPAPAGH@Z
-; public: unsigned long __thiscall CPidRemapper::NameToReal(class CFullPropSpec const *)
-?NameToReal@CPidRemapper@@QAEKPBVCFullPropSpec@@@Z
-; public: static struct IStemmer * __stdcall CCiOle::NewStemmer(struct _GUID const &)
-?NewStemmer@CCiOle@@SGPAUIStemmer@@ABU_GUID@@@Z
-; public: static struct IWordBreaker * __stdcall CCiOle::NewWordBreaker(struct _GUID const &)
-?NewWordBreaker@CCiOle@@SGPAUIWordBreaker@@ABU_GUID@@@Z
-; public: int __thiscall CCatalogEnum::Next(void)
-?Next@CCatalogEnum@@QAEHXZ
-; public: virtual class CPropEntry const * __thiscall CCombinedPropertyList::Next(void)
-?Next@CCombinedPropertyList@@UAEPBVCPropEntry@@XZ
-; public: virtual long __stdcall CEnumString::Next(unsigned long,unsigned short * *,unsigned long *)
-?Next@CEnumString@@UAGJKPAPAGPAK@Z
-; public: virtual long __stdcall CEnumWorkid::Next(unsigned long,unsigned long *,unsigned long *)
-?Next@CEnumWorkid@@UAGJKPAK0@Z
-; public: virtual class CPropEntry const * __thiscall CPropertyList::Next(void)
-?Next@CPropertyList@@UAEPBVCPropEntry@@XZ
-; public: int __thiscall CScopeEnum::Next(void)
-?Next@CScopeEnum@@QAEHXZ
-; public: virtual class CPropEntry const * __thiscall CStaticPropertyList::Next(void)
-?Next@CStaticPropertyList@@UAEPBVCPropEntry@@XZ
-; public: unsigned long __thiscall CPropertyStoreWids::NextWorkId(void)
-?NextWorkId@CPropertyStoreWids@@QAEKXZ
-; public: int __thiscall CRequestClient::NotifyWriteRead(void *,void *,unsigned long,void *,unsigned long,unsigned long &)
-?NotifyWriteRead@CRequestClient@@QAEHPAX0K0KAAK@Z
-; public: unsigned int __thiscall CCatState::NumberOfColumns(void)const 
-?NumberOfColumns@CCatState@@QBEIXZ
-; public: unsigned int __thiscall CCatState::NumberOfSortProps(void)const 
-?NumberOfSortProps@CCatState@@QBEIXZ
-; public: void __thiscall CMmStream::Open(unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long,int)
-?Open@CMmStream@@QAEXPBGKKKKH@Z
-; public: int __thiscall COLEPropManager::Open(class CFunnyPath const &)
-?Open@COLEPropManager@@QAEHABVCFunnyPath@@@Z
-; public: void __thiscall CMmStream::OpenExclusive(unsigned short *,int)
-?OpenExclusive@CMmStream@@QAEXPAGH@Z
-; struct _iobuf * __stdcall OpenFileFromPath(unsigned short const *)
-?OpenFileFromPath@@YGPAU_iobuf@@PBG@Z
-; public: class CCompositePropRecord * __thiscall CPropStoreManager::OpenRecord(unsigned long,unsigned char *)
-?OpenRecord@CPropStoreManager@@QAEPAVCCompositePropRecord@@KPAE@Z
-; public: class CCompositePropRecordForWrites * __thiscall CPropStoreManager::OpenRecordForWrites(unsigned long,unsigned char *)
-?OpenRecordForWrites@CPropStoreManager@@QAEPAVCCompositePropRecordForWrites@@KPAE@Z
-; long __stdcall ParseCatalogURL(unsigned short const *,class XPtrST<unsigned short> &,class XPtrST<unsigned short> &)
-?ParseCatalogURL@@YGJPBGAAV?$XPtrST@G@@1@Z
-; public: class CRestriction * __thiscall CParseCommandTree::ParseExpression(class CDbCmdTreeNode *)
-?ParseExpression@CParseCommandTree@@QAEPAVCRestriction@@PAVCDbCmdTreeNode@@@Z
-; public: static void __stdcall CPropertyList::ParseOneLine(class CQueryScanner &,int,class XPtr<class CPropEntry> &)
-?ParseOneLine@CPropertyList@@SGXAAVCQueryScanner@@HAAV?$XPtr@VCPropEntry@@@@@Z
-; public: class CDbRestriction * __thiscall CQueryParser::ParseQueryPhrase(void)
-?ParseQueryPhrase@CQueryParser@@QAEPAVCDbRestriction@@XZ
-; class CDbColumns * __stdcall ParseStringColumns(unsigned short const *,struct IColumnMapper *,unsigned long,class PVariableSet *,class CDynArray<unsigned short> *)
-?ParseStringColumns@@YGPAVCDbColumns@@PBGPAUIColumnMapper@@KPAVPVariableSet@@PAV?$CDynArray@G@@@Z
-; public: void __thiscall CParseCommandTree::ParseTree(class CDbCmdTreeNode *)
-?ParseTree@CParseCommandTree@@QAEXPAVCDbCmdTreeNode@@@Z
-; public: int __thiscall CCatalogAdmin::Pause(void)
-?Pause@CCatalogAdmin@@QAEHXZ
-; public: int __thiscall CMachineAdmin::PauseCI(void)
-?PauseCI@CMachineAdmin@@QAEHXZ
-; public: virtual unsigned long __thiscall CMemDeSerStream::PeekULong(void)
-?PeekULong@CMemDeSerStream@@UAEKXZ
-; public: unsigned long __thiscall CPidMapper::PidToRealPid(unsigned long)
-?PidToRealPid@CPidMapper@@QAEKK@Z
-; public: unsigned long __thiscall CStandardPropMapper::PropertyToPropId(class CFullPropSpec const &,int)
-?PropertyToPropId@CStandardPropMapper@@QAEKABVCFullPropSpec@@H@Z
-; public: virtual long __stdcall CFwPropertyMapper::PropertyToPropid(struct tagFULLPROPSPEC const *,int,unsigned long *)
-?PropertyToPropid@CFwPropertyMapper@@UAGJPBUtagFULLPROPSPEC@@HPAK@Z
-; public: void __thiscall CValueNormalizer::PutMaxValue(unsigned long,unsigned long &,enum VARENUM)
-?PutMaxValue@CValueNormalizer@@QAEXKAAKW4VARENUM@@@Z
-; public: void __thiscall CValueNormalizer::PutMinValue(unsigned long,unsigned long &,enum VARENUM)
-?PutMinValue@CValueNormalizer@@QAEXKAAKW4VARENUM@@@Z
-; public: void __thiscall CValueNormalizer::PutValue(unsigned long,unsigned long &,class CStorageVariant const &)
-?PutValue@CValueNormalizer@@QAEXKAAKABVCStorageVariant@@@Z
-; void __stdcall PutWString(class PSerStream &,unsigned short const *)
-?PutWString@@YGXAAVPSerStream@@PBG@Z
-; public: static void __stdcall CDbCmdTreeNode::PutWString(class PSerStream &,unsigned short const *)
-?PutWString@CDbCmdTreeNode@@SGXAAVPSerStream@@PBG@Z
-; private: class CDbRestriction * __thiscall CQueryParser::Query(class CDbNodeRestriction *)
-?Query@CQueryParser@@AAEPAVCDbRestriction@@PAVCDbNodeRestriction@@@Z
-; public: class CCatalogAdmin * __thiscall CCatalogEnum::QueryCatalogAdmin(void)
-?QueryCatalogAdmin@CCatalogEnum@@QAEPAVCCatalogAdmin@@XZ
-; public: class CCatalogAdmin * __thiscall CMachineAdmin::QueryCatalogAdmin(unsigned short const *)
-?QueryCatalogAdmin@CMachineAdmin@@QAEPAVCCatalogAdmin@@PBG@Z
-; public: class CCatalogEnum * __thiscall CMachineAdmin::QueryCatalogEnum(void)
-?QueryCatalogEnum@CMachineAdmin@@QAEPAVCCatalogEnum@@XZ
-; public: virtual long __stdcall CDbProperties::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CDbProperties@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CEmptyPropertyList::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CEmptyPropertyList@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CEnumString::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CEnumString@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CEnumWorkid::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CEnumWorkid@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CFwPropertyMapper::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CFwPropertyMapper@@UAGJABU_GUID@@PAPAX@Z
-; public: virtual long __stdcall CQueryUnknown::QueryInterface(struct _GUID const &,void * *)
-?QueryInterface@CQueryUnknown@@UAGJABU_GUID@@PAPAX@Z
-; public: class PRcovStorageObj * __thiscall CiStorage::QueryPidLookupTable(unsigned long)
-?QueryPidLookupTable@CiStorage@@QAEPAVPRcovStorageObj@@K@Z
-; public: class CScopeAdmin * __thiscall CCatalogAdmin::QueryScopeAdmin(unsigned short const *)
-?QueryScopeAdmin@CCatalogAdmin@@QAEPAVCScopeAdmin@@PBG@Z
-; public: class CScopeAdmin * __thiscall CScopeEnum::QueryScopeAdmin(void)
-?QueryScopeAdmin@CScopeEnum@@QAEPAVCScopeAdmin@@XZ
-; public: class CScopeEnum * __thiscall CCatalogAdmin::QueryScopeEnum(void)
-?QueryScopeEnum@CCatalogAdmin@@QAEPAVCScopeEnum@@XZ
-; public: class PRcovStorageObj * __thiscall CiStorage::QueryScopeList(unsigned long)
-?QueryScopeList@CiStorage@@QAEPAVPRcovStorageObj@@K@Z
-; public: class PRcovStorageObj * __thiscall CiStorage::QuerySdidLookupTable(unsigned long)
-?QuerySdidLookupTable@CiStorage@@QAEPAVPRcovStorageObj@@K@Z
-; public: class PRcovStorageObj * __thiscall CiStorage::QueryVirtualScopeList(unsigned long)
-?QueryVirtualScopeList@CiStorage@@QAEPAVPRcovStorageObj@@K@Z
-; public: void __thiscall CPidRemapper::ReBuild(class CPidMapper const &)
-?ReBuild@CPidRemapper@@QAEXABVCPidMapper@@@Z
-; public: void __thiscall CQueryUnknown::ReInit(unsigned long,class CRowset * *)
-?ReInit@CQueryUnknown@@QAEXKPAPAVCRowset@@@Z
-; public: void __thiscall CImpersonationTokenCache::ReInitializeIISScopes(void)
-?ReInitializeIISScopes@CImpersonationTokenCache@@QAEXXZ
-; private: virtual void __thiscall CPhysIndex::ReOpenStream(void)
-?ReOpenStream@CPhysIndex@@EAEXXZ
-; public: unsigned long __thiscall CDynStream::Read(void *,unsigned long)
-?Read@CDynStream@@QAEKPAXK@Z
-; public: unsigned long __thiscall CRcovStrmTrans::Read(void *,unsigned long)
-?Read@CRcovStrmTrans@@QAEKPAXK@Z
-; public: unsigned long __thiscall CRegAccess::Read(unsigned short const *,unsigned long)
-?Read@CRegAccess@@QAEKPBGK@Z
-; public: unsigned short * __thiscall CRegAccess::Read(unsigned short const *,unsigned short const *)
-?Read@CRegAccess@@QAEPAGPBG0@Z
-; public: int __thiscall CPropStoreManager::ReadPrimaryProperty(unsigned long,unsigned long,struct tagPROPVARIANT &)
-?ReadPrimaryProperty@CPropStoreManager@@QAEHKKAAUtagPROPVARIANT@@@Z
-; public: int __thiscall COLEPropManager::ReadProperty(class CFullPropSpec const &,struct tagPROPVARIANT &)
-?ReadProperty@COLEPropManager@@QAEHABVCFullPropSpec@@AAUtagPROPVARIANT@@@Z
-; public: int __thiscall CPropStoreManager::ReadProperty(class CCompositePropRecord &,unsigned long,struct tagPROPVARIANT &)
-?ReadProperty@CPropStoreManager@@QAEHAAVCCompositePropRecord@@KAAUtagPROPVARIANT@@@Z
-; public: int __thiscall CPropStoreManager::ReadProperty(class CCompositePropRecord &,unsigned long,struct tagPROPVARIANT &,unsigned char *,unsigned int *)
-?ReadProperty@CPropStoreManager@@QAEHAAVCCompositePropRecord@@KAAUtagPROPVARIANT@@PAEPAI@Z
-; public: int __thiscall CPropStoreManager::ReadProperty(class CCompositePropRecord &,unsigned long,struct tagPROPVARIANT *,unsigned int *)
-?ReadProperty@CPropStoreManager@@QAEHAAVCCompositePropRecord@@KPAUtagPROPVARIANT@@PAI@Z
-; public: int __thiscall CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT &)
-?ReadProperty@CPropStoreManager@@QAEHKKAAUtagPROPVARIANT@@@Z
-; public: int __thiscall CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT &,unsigned char *,unsigned int *)
-?ReadProperty@CPropStoreManager@@QAEHKKAAUtagPROPVARIANT@@PAEPAI@Z
-; public: int __thiscall CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT *,unsigned int *)
-?ReadProperty@CPropStoreManager@@QAEHKKPAUtagPROPVARIANT@@PAI@Z
-; public: int __thiscall CPropertyStore::ReadProperty(class CPropRecordNoLock &,unsigned long,struct tagPROPVARIANT *,unsigned int *)
-?ReadProperty@CPropertyStore@@QAEHAAVCPropRecordNoLock@@KPAUtagPROPVARIANT@@PAI@Z
-; public: int __thiscall CPropertyStore::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT &)
-?ReadProperty@CPropertyStore@@QAEHKKAAUtagPROPVARIANT@@@Z
-; public: unsigned char __thiscall CDFA::Recognize(unsigned short const *)
-?Recognize@CDFA@@QAEEPBG@Z
-; public: void __thiscall CCiRegParams::Refresh(struct ICiAdminParams *,int)
-?Refresh@CCiRegParams@@QAEXPAUICiAdminParams@@H@Z
-; public: void __thiscall CDefColumnRegEntry::Refresh(int)
-?Refresh@CDefColumnRegEntry@@QAEXH@Z
-; public: void __thiscall CWorkQueue::RefreshParams(unsigned long,unsigned long)
-?RefreshParams@CWorkQueue@@QAEXKK@Z
-; public: virtual unsigned long __stdcall CDbProperties::Release(void)
-?Release@CDbProperties@@UAGKXZ
-; public: virtual unsigned long __stdcall CEmptyPropertyList::Release(void)
-?Release@CEmptyPropertyList@@UAGKXZ
-; public: virtual unsigned long __stdcall CEnumString::Release(void)
-?Release@CEnumString@@UAGKXZ
-; public: virtual unsigned long __stdcall CEnumWorkid::Release(void)
-?Release@CEnumWorkid@@UAGKXZ
-; public: virtual unsigned long __stdcall CFwPropertyMapper::Release(void)
-?Release@CFwPropertyMapper@@UAGKXZ
-; public: void __thiscall CImpersonateRemoteAccess::Release(void)
-?Release@CImpersonateRemoteAccess@@QAEXXZ
-; public: virtual unsigned long __stdcall CQueryUnknown::Release(void)
-?Release@CQueryUnknown@@UAGKXZ
-; public: void __thiscall CWorkQueue::Release(class CWorkThread *)
-?Release@CWorkQueue@@QAEXPAVCWorkThread@@@Z
-; private: void __thiscall CPropertyStore::ReleaseRead(class CReadWriteLockRecord &)
-?ReleaseRead@CPropertyStore@@AAEXAAVCReadWriteLockRecord@@@Z
-; public: void __thiscall CWorkQueue::ReleaseWorkThreads(void)
-?ReleaseWorkThreads@CWorkQueue@@QAEXXZ
-; public: void __thiscall CColumns::Remove(unsigned int)
-?Remove@CColumns@@QAEXI@Z
-; public: void __thiscall CDbSortSet::Remove(unsigned int)
-?Remove@CDbSortSet@@QAEXI@Z
-; public: void __thiscall CSort::Remove(unsigned int)
-?Remove@CSort@@QAEXI@Z
-; public: void __thiscall CWorkQueue::Remove(class PWorkItem *)
-?Remove@CWorkQueue@@QAEXPAVPWorkItem@@@Z
-; public: void __thiscall CMachineAdmin::RemoveCatalog(unsigned short const *,int)
-?RemoveCatalog@CMachineAdmin@@QAEXPBGH@Z
-; public: void __thiscall CMachineAdmin::RemoveCatalogFiles(unsigned short const *)
-?RemoveCatalogFiles@CMachineAdmin@@QAEXPBG@Z
-; public: class CRestriction * __thiscall CNodeRestriction::RemoveChild(unsigned int)
-?RemoveChild@CNodeRestriction@@QAEPAVCRestriction@@I@Z
-; protected: class CDbCmdTreeNode * __thiscall CDbCmdTreeNode::RemoveFirstChild(void)
-?RemoveFirstChild@CDbCmdTreeNode@@IAEPAV1@XZ
-; public: void __thiscall CCatalogAdmin::RemoveScope(unsigned short const *)
-?RemoveScope@CCatalogAdmin@@QAEXPBG@Z
-; public: void __thiscall CPhysStorage::Reopen(int)
-?Reopen@CPhysStorage@@QAEXH@Z
-; public: void __thiscall CEventLog::ReportEventW(class CEventItem &)
-?ReportEventW@CEventLog@@QAEXAAVCEventItem@@@Z
-; public: void __thiscall CFwEventItem::ReportEventW(struct ICiCAdviseStatus &)
-?ReportEventW@CFwEventItem@@QAEXAAUICiCAdviseStatus@@@Z
-; public: int __thiscall CPhysStorage::RequiresFlush(unsigned long)
-?RequiresFlush@CPhysStorage@@QAEHK@Z
-; public: void __thiscall CRegChangeEvent::Reset(void)
-?Reset@CRegChangeEvent@@QAEXXZ
-; public: void __thiscall CQueryScanner::ResetBuffer(unsigned short const *)
-?ResetBuffer@CQueryScanner@@QAEXPBG@Z
-; protected: void __thiscall CAllocStorageVariant::ResetType(class PMemoryAllocator &)
-?ResetType@CAllocStorageVariant@@IAEXAAVPMemoryAllocator@@@Z
-; public: void __thiscall CProcess::Resume(void)
-?Resume@CProcess@@QAEXXZ
-; public: void __thiscall CPhysStorage::ReturnBuffer(unsigned long,int,int)
-?ReturnBuffer@CPhysStorage@@QAEXKHH@Z
-; public: void __thiscall CMmStreamConsecBuf::Rewind(void)
-?Rewind@CMmStreamConsecBuf@@QAEXXZ
-; unsigned long __stdcall SaComputeSize(unsigned short,struct tagSAFEARRAY &)
-?SaComputeSize@@YGKGAAUtagSAFEARRAY@@@Z
-; int __stdcall SaCreateAndCopy(class PMemoryAllocator &,struct tagSAFEARRAY *,struct tagSAFEARRAY * *)
-?SaCreateAndCopy@@YGHAAVPMemoryAllocator@@PAUtagSAFEARRAY@@PAPAU2@@Z
-; int __stdcall SaCreateData(class PVarAllocator &,unsigned short,struct tagSAFEARRAY &,struct tagSAFEARRAY &,int)
-?SaCreateData@@YGHAAVPVarAllocator@@GAAUtagSAFEARRAY@@1H@Z
-; public: int __thiscall CRcovStrmTrans::Seek(unsigned long)
-?Seek@CRcovStrmTrans@@QAEHK@Z
-; public: void __thiscall CDbQueryResults::Serialize(class PSerStream &)const 
-?Serialize@CDbQueryResults@@QBEXAAVPSerStream@@@Z
-; public: void __thiscall CPidRemapper::Set(class XArray<unsigned long> &)
-?Set@CPidRemapper@@QAEXAAV?$XArray@K@@@Z
-; public: void __thiscall CScopeAdmin::SetAlias(unsigned short const *)
-?SetAlias@CScopeAdmin@@QAEXPBG@Z
-; public: void __thiscall CStorageVariant::SetBOOL(short,unsigned int)
-?SetBOOL@CStorageVariant@@QAEXFI@Z
-; public: void __thiscall CAllocStorageVariant::SetBSTR(unsigned short *,class PMemoryAllocator &)
-?SetBSTR@CAllocStorageVariant@@QAEXPAGAAVPMemoryAllocator@@@Z
-; public: void __thiscall CStorageVariant::SetBSTR(unsigned short *,unsigned int)
-?SetBSTR@CStorageVariant@@QAEXPAGI@Z
-; public: void __thiscall CPropStoreManager::SetBackupSize(unsigned long,unsigned long)
-?SetBackupSize@CPropStoreManager@@QAEXKK@Z
-; public: void __thiscall CCatState::SetCD(unsigned short const *)
-?SetCD@CCatState@@QAEXPBG@Z
-; public: void __thiscall CStorageVariant::SetCLSID(struct _GUID,unsigned int)
-?SetCLSID@CStorageVariant@@QAEXU_GUID@@I@Z
-; public: void __thiscall CStorageVariant::SetCY(union tagCY,unsigned int)
-?SetCY@CStorageVariant@@QAEXTtagCY@@I@Z
-; public: void __thiscall CCatState::SetCatalog(unsigned short const *)
-?SetCatalog@CCatState@@QAEXPBG@Z
-; public: void __thiscall CCatState::SetColumn(unsigned short const *,unsigned int)
-?SetColumn@CCatState@@QAEXPBGI@Z
-; private: void __thiscall CQueryParser::SetCurrentProperty(unsigned short const *,enum PropertyType)
-?SetCurrentProperty@CQueryParser@@AAEXPBGW4PropertyType@@@Z
-; public: void __thiscall CStorageVariant::SetDATE(double,unsigned int)
-?SetDATE@CStorageVariant@@QAEXNI@Z
-; public: void __thiscall CCatalogAdmin::SetDWORDParam(unsigned short const *,unsigned long)
-?SetDWORDParam@CCatalogAdmin@@QAEXPBGK@Z
-; public: void __thiscall CMachineAdmin::SetDWORDParam(unsigned short const *,unsigned long)
-?SetDWORDParam@CMachineAdmin@@QAEXPBGK@Z
-; public: void __thiscall CCatState::SetDefaultProperty(unsigned short const *)
-?SetDefaultProperty@CCatState@@QAEXPBG@Z
-; public: void __thiscall CRangeRestriction::SetEndKey(class CKeyBuf const &)
-?SetEndKey@CRangeRestriction@@QAEXABVCKeyBuf@@@Z
-; public: void __thiscall CScopeAdmin::SetExclude(int)
-?SetExclude@CScopeAdmin@@QAEXH@Z
-; public: void __thiscall CStorageVariant::SetFILETIME(struct _FILETIME,unsigned int)
-?SetFILETIME@CStorageVariant@@QAEXU_FILETIME@@I@Z
-; public: void __thiscall CStorageVariant::SetI2(short,unsigned int)
-?SetI2@CStorageVariant@@QAEXFI@Z
-; public: void __thiscall CStorageVariant::SetI4(long,unsigned int)
-?SetI4@CStorageVariant@@QAEXJI@Z
-; public: void __thiscall CStorageVariant::SetI8(union _LARGE_INTEGER,unsigned int)
-?SetI8@CStorageVariant@@QAEXT_LARGE_INTEGER@@I@Z
-; public: void __thiscall CStorageVariant::SetLPSTR(char const *,unsigned int)
-?SetLPSTR@CStorageVariant@@QAEXPBDI@Z
-; public: void __thiscall CStorageVariant::SetLPWSTR(unsigned short const *,unsigned int)
-?SetLPWSTR@CStorageVariant@@QAEXPBGI@Z
-; public: void __thiscall CCatState::SetLocale(unsigned short const *)
-?SetLocale@CCatState@@QAEXPBG@Z
-; public: void __thiscall CScopeAdmin::SetLogonInfo(unsigned short const *,unsigned short const *,class CCatalogAdmin &)
-?SetLogonInfo@CScopeAdmin@@QAEXPBG0AAVCCatalogAdmin@@@Z
-; public: void __thiscall CPropStoreManager::SetMappedCacheSize(unsigned long,unsigned long)
-?SetMappedCacheSize@CPropStoreManager@@QAEXKK@Z
-; public: void __thiscall CCatState::SetNumberOfColumns(unsigned int)
-?SetNumberOfColumns@CCatState@@QAEXI@Z
-; public: void __thiscall CCatState::SetNumberOfSortProps(unsigned int)
-?SetNumberOfSortProps@CCatState@@QAEXI@Z
-; public: void __thiscall CScopeAdmin::SetPath(unsigned short const *)
-?SetPath@CScopeAdmin@@QAEXPBG@Z
-; public: void __thiscall CContentRestriction::SetPhrase(unsigned short const *)
-?SetPhrase@CContentRestriction@@QAEXPBG@Z
-; public: void __thiscall CNatLanguageRestriction::SetPhrase(unsigned short const *)
-?SetPhrase@CNatLanguageRestriction@@QAEXPBG@Z
-; public: void __thiscall CGenericCiProxy::SetPriority(unsigned long,unsigned long)
-?SetPriority@CGenericCiProxy@@QAEXKK@Z
-; public: virtual long __stdcall CDbProperties::SetProperties(unsigned long,struct tagDBPROPSET * const)
-?SetProperties@CDbProperties@@UAGJKQAUtagDBPROPSET@@@Z
-; public: int __thiscall CDbColId::SetProperty(unsigned short const *)
-?SetProperty@CDbColId@@QAEHPBG@Z
-; public: int __thiscall CDbPropBaseRestriction::SetProperty(struct tagDBID const &)
-?SetProperty@CDbPropBaseRestriction@@QAEHABUtagDBID@@@Z
-; public: int __thiscall CDbPropBaseRestriction::SetProperty(class CDbColumnNode const &)
-?SetProperty@CDbPropBaseRestriction@@QAEHABVCDbColumnNode@@@Z
-; public: int __thiscall CFullPropSpec::SetProperty(unsigned short const *)
-?SetProperty@CFullPropSpec@@QAEHPBG@Z
-; public: void __thiscall CFullPropSpec::SetProperty(unsigned long)
-?SetProperty@CFullPropSpec@@QAEXK@Z
-; public: void __thiscall CStorageVariant::SetR4(float,unsigned int)
-?SetR4@CStorageVariant@@QAEXMI@Z
-; public: void __thiscall CStorageVariant::SetR8(double,unsigned int)
-?SetR8@CStorageVariant@@QAEXNI@Z
-; public: int __thiscall CDbSelectNode::SetRestriction(class CDbCmdTreeNode *)
-?SetRestriction@CDbSelectNode@@QAEHPAVCDbCmdTreeNode@@@Z
-; public: static void __stdcall CImpersonateSystem::SetRunningAsSystem(void)
-?SetRunningAsSystem@CImpersonateSystem@@SGXXZ
-; public: void __thiscall CMachineAdmin::SetSZParam(unsigned short const *,unsigned short const *,unsigned long)
-?SetSZParam@CMachineAdmin@@QAEXPBG0K@Z
-; void __stdcall SetScopeProperties(struct ICommand *,unsigned int,unsigned short const * const *,unsigned long const *,unsigned short const * const *,unsigned short const * const *)
-?SetScopeProperties@@YGXPAUICommand@@IPBQBGPBK11@Z
-; long __stdcall SetScopePropertiesNoThrow(struct ICommand *,unsigned int,unsigned short const * const *,unsigned long const *,unsigned short const * const *,unsigned short const * const *)
-?SetScopePropertiesNoThrow@@YGJPAUICommand@@IPBQBGPBK11@Z
-; void __stdcall SetSecret(unsigned short const *,unsigned short const *,unsigned short const *,unsigned long)
-?SetSecret@@YGXPBG00K@Z
-; public: void __thiscall CCatState::SetSortProp(unsigned short const *,enum SORTDIR,unsigned int)
-?SetSortProp@CCatState@@QAEXPBGW4SORTDIR@@I@Z
-; public: void __thiscall CRangeRestriction::SetStartKey(class CKeyBuf const &)
-?SetStartKey@CRangeRestriction@@QAEXABVCKeyBuf@@@Z
-; public: void __thiscall CStorageVariant::SetUI1(unsigned char,unsigned int)
-?SetUI1@CStorageVariant@@QAEXEI@Z
-; public: void __thiscall CStorageVariant::SetUI2(unsigned short,unsigned int)
-?SetUI2@CStorageVariant@@QAEXGI@Z
-; public: void __thiscall CStorageVariant::SetUI4(unsigned long,unsigned int)
-?SetUI4@CStorageVariant@@QAEXKI@Z
-; public: void __thiscall CStorageVariant::SetUI8(union _ULARGE_INTEGER,unsigned int)
-?SetUI8@CStorageVariant@@QAEXT_ULARGE_INTEGER@@I@Z
-; public: void __thiscall CPropertyRestriction::SetValue(struct tagBLOB &)
-?SetValue@CPropertyRestriction@@QAEXAAUtagBLOB@@@Z
-; public: void __thiscall CPropertyRestriction::SetValue(unsigned short *)
-?SetValue@CPropertyRestriction@@QAEXPAG@Z
-; public: void __thiscall CPropertyRestriction::SetValue(struct _GUID *)
-?SetValue@CPropertyRestriction@@QAEXPAU_GUID@@@Z
-; public: void __thiscall CDbCmdTreeNode::SetWeight(long)
-?SetWeight@CDbCmdTreeNode@@QAEXJ@Z
-; public: void __thiscall CPropStoreManager::Setup(unsigned long,unsigned long,unsigned long,unsigned long,int,unsigned long)
-?Setup@CPropStoreManager@@QAEXKKKKHK@Z
-; public: void __thiscall CDynStream::Shrink(class PStorage &,unsigned long)
-?Shrink@CDynStream@@QAEXAAVPStorage@@K@Z
-; public: unsigned long __thiscall CPhysStorage::ShrinkFromFront(unsigned long,unsigned long)
-?ShrinkFromFront@CPhysStorage@@QAEKKK@Z
-; public: void __thiscall CPhysStorage::ShrinkToFit(void)
-?ShrinkToFit@CPhysStorage@@QAEXXZ
-; public: static void __stdcall CCiOle::Shutdown(void)
-?Shutdown@CCiOle@@SGXXZ
-; public: void __thiscall CPropStoreManager::Shutdown(void)
-?Shutdown@CPropStoreManager@@QAEXXZ
-; public: void __thiscall CShtOle::Shutdown(void)
-?Shutdown@CShtOle@@QAEXXZ
-; public: void __thiscall CWorkQueue::Shutdown(void)
-?Shutdown@CWorkQueue@@QAEXXZ
-; public: unsigned long __thiscall CDbQueryResults::Size(void)
-?Size@CDbQueryResults@@QAEKXZ
-; public: virtual long __stdcall CEnumString::Skip(unsigned long)
-?Skip@CEnumString@@UAGJK@Z
-; public: virtual long __stdcall CEnumWorkid::Skip(unsigned long)
-?Skip@CEnumWorkid@@UAGJK@Z
-; public: virtual void __thiscall CMemDeSerStream::SkipBlob(unsigned long)
-?SkipBlob@CMemDeSerStream@@UAEXK@Z
-; public: virtual void __thiscall CMemDeSerStream::SkipByte(void)
-?SkipByte@CMemDeSerStream@@UAEXXZ
-; public: virtual void __thiscall CMemDeSerStream::SkipChar(unsigned long)
-?SkipChar@CMemDeSerStream@@UAEXK@Z
-; public: virtual void __thiscall CMemDeSerStream::SkipDouble(void)
-?SkipDouble@CMemDeSerStream@@UAEXXZ
-; public: virtual void __thiscall CMemDeSerStream::SkipFloat(void)
-?SkipFloat@CMemDeSerStream@@UAEXXZ
-; public: virtual void __thiscall CMemDeSerStream::SkipGUID(void)
-?SkipGUID@CMemDeSerStream@@UAEXXZ
-; public: virtual void __thiscall CMemDeSerStream::SkipLong(void)
-?SkipLong@CMemDeSerStream@@UAEXXZ
-; public: virtual void __thiscall CMemDeSerStream::SkipULong(void)
-?SkipULong@CMemDeSerStream@@UAEXXZ
-; public: virtual void __thiscall CMemDeSerStream::SkipUShort(void)
-?SkipUShort@CMemDeSerStream@@UAEXXZ
-; public: virtual void __thiscall CMemDeSerStream::SkipWChar(unsigned long)
-?SkipWChar@CMemDeSerStream@@UAEXK@Z
-; public: int __thiscall CCatalogAdmin::Start(void)
-?Start@CCatalogAdmin@@QAEHXZ
-; public: int __thiscall CMachineAdmin::StartCI(void)
-?StartCI@CMachineAdmin@@QAEHXZ
-; public: int __thiscall CCatalogAdmin::Stop(void)
-?Stop@CCatalogAdmin@@QAEHXZ
-; public: int __thiscall CMachineAdmin::StopCI(void)
-?StopCI@CMachineAdmin@@QAEHXZ
-; public: void __thiscall CFilterDaemon::StopFiltering(void)
-?StopFiltering@CFilterDaemon@@QAEXXZ
-; public: unsigned int __thiscall CKey::StrLen(void)const 
-?StrLen@CKey@@QBEIXZ
-; public: unsigned int __thiscall CKeyBuf::StrLen(void)const 
-?StrLen@CKeyBuf@@QBEIXZ
-; void __cdecl SystemExceptionTranslator(unsigned int,struct _EXCEPTION_POINTERS *)
-?SystemExceptionTranslator@@YAXIPAU_EXCEPTION_POINTERS@@@Z
-; public: void __thiscall CDbCmdTreeNode::TransferNode(class CDbCmdTreeNode *)
-?TransferNode@CDbCmdTreeNode@@QAEXPAV1@@Z
-; public: unsigned long __thiscall CRestriction::TreeCount(void)const 
-?TreeCount@CRestriction@@QBEKXZ
-; public: void __thiscall CMachineAdmin::TunePerformance(int,unsigned short,unsigned short)
-?TunePerformance@CMachineAdmin@@QAEXHGG@Z
-; void __stdcall URLEscapeW(unsigned short const *,class CVirtualString &,unsigned long,int)
-?URLEscapeW@@YGXPBGAAVCVirtualString@@KH@Z
-; public: int __thiscall CDbByGuid::UnMarshall(class PDeSerStream &)
-?UnMarshall@CDbByGuid@@QAEHAAVPDeSerStream@@@Z
-; public: int __thiscall CDbCmdTreeNode::UnMarshall(class PDeSerStream &)
-?UnMarshall@CDbCmdTreeNode@@QAEHAAVPDeSerStream@@@Z
-; public: int __thiscall CDbColId::UnMarshall(class PDeSerStream &)
-?UnMarshall@CDbColId@@QAEHAAVPDeSerStream@@@Z
-; public: int __thiscall CDbContentVector::UnMarshall(class PDeSerStream &)
-?UnMarshall@CDbContentVector@@QAEHAAVPDeSerStream@@@Z
-; public: int __thiscall CDbNumeric::UnMarshall(class PDeSerStream &)
-?UnMarshall@CDbNumeric@@QAEHAAVPDeSerStream@@@Z
-; public: int __thiscall CDbParameter::UnMarshall(class PDeSerStream &)
-?UnMarshall@CDbParameter@@QAEHAAVPDeSerStream@@@Z
-; public: int __thiscall CDbProp::UnMarshall(class PDeSerStream &)
-?UnMarshall@CDbProp@@QAEHAAVPDeSerStream@@@Z
-; public: int __thiscall CDbPropSet::UnMarshall(class PDeSerStream &)
-?UnMarshall@CDbPropSet@@QAEHAAVPDeSerStream@@@Z
-; public: int __thiscall CDbProperties::UnMarshall(class PDeSerStream &)
-?UnMarshall@CDbProperties@@QAEHAAVPDeSerStream@@@Z
-; public: static class CRestriction * __stdcall CRestriction::UnMarshall(class PDeSerStream &)
-?UnMarshall@CRestriction@@SGPAV1@AAVPDeSerStream@@@Z
-; public: static class CDbCmdTreeNode * __stdcall CDbCmdTreeNode::UnMarshallTree(class PDeSerStream &)
-?UnMarshallTree@CDbCmdTreeNode@@SGPAV1@AAVPDeSerStream@@@Z
-; void __stdcall UnPickle(int,class XPtr<class CColumnSet> &,class XPtr<class CRestriction> &,class XPtr<class CSortSet> &,class XPtr<class CCategorizationSet> &,class CRowsetProperties &,class XPtr<class CPidMapper> &,unsigned char *,unsigned long)
-?UnPickle@@YGXHAAV?$XPtr@VCColumnSet@@@@AAV?$XPtr@VCRestriction@@@@AAV?$XPtr@VCSortSet@@@@AAV?$XPtr@VCCategorizationSet@@@@AAVCRowsetProperties@@AAV?$XPtr@VCPidMapper@@@@PAEK@Z
-; protected: void __thiscall CRcovStrmTrans::Unmap(enum CRcovStorageHdr::DataCopyNum)
-?Unmap@CRcovStrmTrans@@IAEXW4DataCopyNum@CRcovStorageHdr@@@Z
-; unsigned long __stdcall UpdateContentIndex(unsigned short const *,unsigned short const *,unsigned short const *,int)
-?UpdateContentIndex@@YGKPBG00H@Z
-; public: void __thiscall CDiskFreeStatus::UpdateDiskLowInfo(void)
-?UpdateDiskLowInfo@CDiskFreeStatus@@QAEXXZ
-; int __stdcall VT_VARIANT_EQ(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
-?VT_VARIANT_EQ@@YGHABUtagPROPVARIANT@@0@Z
-; int __stdcall VT_VARIANT_GE(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
-?VT_VARIANT_GE@@YGHABUtagPROPVARIANT@@0@Z
-; int __stdcall VT_VARIANT_GT(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
-?VT_VARIANT_GT@@YGHABUtagPROPVARIANT@@0@Z
-; int __stdcall VT_VARIANT_LE(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
-?VT_VARIANT_LE@@YGHABUtagPROPVARIANT@@0@Z
-; int __stdcall VT_VARIANT_LT(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
-?VT_VARIANT_LT@@YGHABUtagPROPVARIANT@@0@Z
-; int __stdcall VT_VARIANT_NE(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
-?VT_VARIANT_NE@@YGHABUtagPROPVARIANT@@0@Z
-; int __stdcall ValidateScopeRestriction(class CRestriction *)
-?ValidateScopeRestriction@@YGHPAVCRestriction@@@Z
-; public: void __thiscall CDbScalarValue::Value(class CStorageVariant &)
-?Value@CDbScalarValue@@QAEXAAVCStorageVariant@@@Z
-; public: void __thiscall PRcovStorageObj::VerifyConsistency(void)
-?VerifyConsistency@PRcovStorageObj@@QAEXXZ
-; void __stdcall VerifyThreadHasAdminPrivilege(void)
-?VerifyThreadHasAdminPrivilege@@YGXXZ
-; unsigned long __stdcall WideCharToXArrayMultiByte(unsigned short const *,unsigned long,unsigned int,class XArray<unsigned char> &)
-?WideCharToXArrayMultiByte@@YGKPBGKIAAV?$XArray@E@@@Z
-; public: void __thiscall CDynStream::Write(void *,unsigned long)
-?Write@CDynStream@@QAEXPAXK@Z
-; protected: void __thiscall CRcovStrmTrans::Write(void const *,unsigned long)
-?Write@CRcovStrmTrans@@IAEXPBXK@Z
-; public: long __thiscall CPropStoreManager::WritePrimaryProperty(class CCompositePropRecordForWrites &,unsigned long,class CStorageVariant const &)
-?WritePrimaryProperty@CPropStoreManager@@QAEJAAVCCompositePropRecordForWrites@@KABVCStorageVariant@@@Z
-; public: long __thiscall CPropStoreManager::WritePrimaryProperty(unsigned long,unsigned long,class CStorageVariant const &)
-?WritePrimaryProperty@CPropStoreManager@@QAEJKKABVCStorageVariant@@@Z
-; public: long __thiscall CPropStoreManager::WriteProperty(class CCompositePropRecordForWrites &,unsigned long,class CStorageVariant const &)
-?WriteProperty@CPropStoreManager@@QAEJAAVCCompositePropRecordForWrites@@KABVCStorageVariant@@@Z
-; public: long __thiscall CPropStoreManager::WriteProperty(unsigned long,unsigned long,class CStorageVariant const &)
-?WriteProperty@CPropStoreManager@@QAEJKKABVCStorageVariant@@@Z
-; public: unsigned long __thiscall CPropStoreManager::WritePropertyInNewRecord(unsigned long,class CStorageVariant const &)
-?WritePropertyInNewRecord@CPropStoreManager@@QAEKKABVCStorageVariant@@@Z
-; private: class CDbProjectListAnchor * __thiscall CDbNestingNode::_FindGroupListAnchor(void)
-?_FindGroupListAnchor@CDbNestingNode@@AAEPAVCDbProjectListAnchor@@XZ
-; private: class CDbProjectListAnchor * __thiscall CDbProjectNode::_FindOrAddAnchor(void)
-?_FindOrAddAnchor@CDbProjectNode@@AAEPAVCDbProjectListAnchor@@XZ
-; private: class CDbSortListAnchor * __thiscall CDbSortNode::_FindOrAddAnchor(void)
-?_FindOrAddAnchor@CDbSortNode@@AAEPAVCDbSortListAnchor@@XZ
-; private: class CDbScalarValue * __thiscall CDbPropertyRestriction::_FindOrAddValueNode(void)
-?_FindOrAddValueNode@CDbPropertyRestriction@@AAEPAVCDbScalarValue@@XZ
-; private: int __thiscall CImpersonateRemoteAccess::_ImpersonateIf(unsigned short const *,unsigned short const *,unsigned long)
-?_ImpersonateIf@CImpersonateRemoteAccess@@AAEHPBG0K@Z
-; private: static unsigned long  CGlobalPropFileRefresher::_dwLastCheckMoment
-?_dwLastCheckMoment@CGlobalPropFileRefresher@@0KA DATA
-; private: static struct _FILETIME  CGlobalPropFileRefresher::_ftFile
-?_ftFile@CGlobalPropFileRefresher@@0U_FILETIME@@A DATA
-; private: static class CPropListFile *  CLocalGlobalPropertyList::_pGlobalPropListFile
-?_pGlobalPropListFile@CLocalGlobalPropertyList@@0PAVCPropListFile@@A DATA
-; private: static unsigned short *  CGlobalPropFileRefresher::_wcsFileName
-?_wcsFileName@CGlobalPropFileRefresher@@0PAGA DATA
-; unsigned __int64 __cdecl _wcstoui64(unsigned short const *,unsigned short * *,int)
-?_wcstoui64@@YA_KPBGPAPAGH@Z
-; void __stdcall ciDelete(void *)
-?ciDelete@@YGXPAX@Z
-; int __stdcall ciIsValidPointer(void const *)
-?ciIsValidPointer@@YGHPBX@Z
-; void * __stdcall ciNew(unsigned int)
-?ciNew@@YGPAXI@Z
-; public: unsigned long __thiscall CFileBuffer::fgetsw(class XGrowable<unsigned short,260> &)
-?fgetsw@CFileBuffer@@QAEKAAV?$XGrowable@G$0BAE@@@@Z
-; unsigned short * __stdcall wcsipattern(unsigned short *,unsigned short const *)
-?wcsipattern@@YGPAGPAGPBG@Z
-FsCiShutdown
-_AbortMerges@16
-BeginCacheTransaction
-BindIFilterFromStorage
-BindIFilterFromStream
-CIBuildQueryNode
-CIBuildQueryTree
-CICreateCommand
-CIGetGlobalPropertyList
-CIMakeICommand
-CIRestrictionToFullTree
-CIState
-CITextToFullTree
-CITextToFullTreeEx
-CITextToSelectTree
-CITextToSelectTreeEx
-CiSvcMain
-CollectCIISAPIPerformanceData
-CollectCIPerformanceData
-CollectFILTERPerformanceData
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-DoneCIISAPIPerformanceData
-DoneCIPerformanceData
-DoneFILTERPerformanceData
-EndCacheTransaction
-_ForceMasterMerge@16
-InitializeCIISAPIPerformanceData
-InitializeCIPerformanceData
-InitializeFILTERPerformanceData
-_LoadBHIFilter@16
-LoadBinaryFilter
-LoadIFilter
-LoadIFilterEx
-LoadTextFilter
-LocateCatalogs
-LocateCatalogsA
-LocateCatalogsW
-SetCatalogState
-SetupCache
-SetupCacheEx
-_StartFWCiSvcWork@12
-_StopFWCiSvcWork@16
-SvcEntry_CiSvc
+; 
+; Exports of file query.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY query.dll
+EXPORTS
+; class CCoTaskAllocator  CoTaskAllocator
+?CoTaskAllocator@@3VCCoTaskAllocator@@A DATA
+; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(struct tagPROPVARIANT &,class PMemoryAllocator &)
+??0CAllocStorageVariant@@QAE@AAUtagPROPVARIANT@@AAVPMemoryAllocator@@@Z
+; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(class PDeSerStream &,class PMemoryAllocator &)
+??0CAllocStorageVariant@@QAE@AAVPDeSerStream@@AAVPMemoryAllocator@@@Z
+; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(char const *,class PMemoryAllocator &)
+??0CAllocStorageVariant@@QAE@PBDAAVPMemoryAllocator@@@Z
+; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(unsigned short const *,class PMemoryAllocator &)
+??0CAllocStorageVariant@@QAE@PBGAAVPMemoryAllocator@@@Z
+; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(struct _GUID const *,class PMemoryAllocator &)
+??0CAllocStorageVariant@@QAE@PBU_GUID@@AAVPMemoryAllocator@@@Z
+; public: __thiscall CAllocStorageVariant::CAllocStorageVariant(enum VARENUM,unsigned long,class PMemoryAllocator &)
+??0CAllocStorageVariant@@QAE@W4VARENUM@@KAAVPMemoryAllocator@@@Z
+; public: __thiscall CCatState::CCatState(void)
+??0CCatState@@QAE@XZ
+; public: __thiscall CCategorizationSet::CCategorizationSet(class CCategorizationSet const &)
+??0CCategorizationSet@@QAE@ABV0@@Z
+; public: __thiscall CCategorizationSet::CCategorizationSet(unsigned int)
+??0CCategorizationSet@@QAE@I@Z
+; public: __thiscall CCiAdminParams::CCiAdminParams(class CLangList *)
+??0CCiAdminParams@@QAE@PAVCLangList@@@Z
+; public: __thiscall CCiRegParams::CCiRegParams(unsigned short const *)
+??0CCiRegParams@@QAE@PBG@Z
+; public: __thiscall CColumnSet::CColumnSet(unsigned int)
+??0CColumnSet@@QAE@I@Z
+; public: __thiscall CColumns::CColumns(class CColumns const &)
+??0CColumns@@QAE@ABV0@@Z
+; public: __thiscall CColumns::CColumns(unsigned int)
+??0CColumns@@QAE@I@Z
+; public: __thiscall CDFA::CDFA(unsigned short const *,class CTimeLimit &,unsigned char)
+??0CDFA@@QAE@PBGAAVCTimeLimit@@E@Z
+; public: __thiscall CDbColId::CDbColId(struct _GUID const &,unsigned short const *)
+??0CDbColId@@QAE@ABU_GUID@@PBG@Z
+; public: __thiscall CDbColId::CDbColId(struct tagDBID const &)
+??0CDbColId@@QAE@ABUtagDBID@@@Z
+; public: __thiscall CDbColId::CDbColId(class CDbColId const &)
+??0CDbColId@@QAE@ABV0@@Z
+; public: __thiscall CDbColId::CDbColId(void)
+??0CDbColId@@QAE@XZ
+; public: __thiscall CDbColumnNode::CDbColumnNode(struct tagDBID const &,int)
+??0CDbColumnNode@@QAE@ABUtagDBID@@H@Z
+; public: __thiscall CDbColumns::CDbColumns(unsigned int)
+??0CDbColumns@@QAE@I@Z
+; public: __thiscall CDbContentRestriction::CDbContentRestriction(unsigned short const *,struct tagDBID const &,unsigned long,unsigned long)
+??0CDbContentRestriction@@QAE@PBGABUtagDBID@@KK@Z
+; public: __thiscall CDbContentRestriction::CDbContentRestriction(unsigned short const *,class CDbColumnNode const &,unsigned long,unsigned long)
+??0CDbContentRestriction@@QAE@PBGABVCDbColumnNode@@KK@Z
+; public: __thiscall CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const *,struct tagDBID const &,unsigned long)
+??0CDbNatLangRestriction@@QAE@PBGABUtagDBID@@K@Z
+; public: __thiscall CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const *,class CDbColumnNode const &,unsigned long)
+??0CDbNatLangRestriction@@QAE@PBGABVCDbColumnNode@@K@Z
+; public: __thiscall CDbPropIDSet::CDbPropIDSet(void)
+??0CDbPropIDSet@@QAE@XZ
+; public: __thiscall CDbQueryResults::CDbQueryResults(void)
+??0CDbQueryResults@@QAE@XZ
+; public: __thiscall CDbSelectNode::CDbSelectNode(void)
+??0CDbSelectNode@@QAE@XZ
+; public: __thiscall CDbSortSet::CDbSortSet(unsigned int)
+??0CDbSortSet@@QAE@I@Z
+; public: __thiscall CDefColumnRegEntry::CDefColumnRegEntry(void)
+??0CDefColumnRegEntry@@QAE@XZ
+; public: __thiscall CDriveInfo::CDriveInfo(unsigned short const *,unsigned long)
+??0CDriveInfo@@QAE@PBGK@Z
+; public: __thiscall CDynStream::CDynStream(class PMmStream *)
+??0CDynStream@@QAE@PAVPMmStream@@@Z
+; public: __thiscall CEventItem::CEventItem(unsigned short,unsigned short,unsigned long,unsigned short,unsigned long,void const *)
+??0CEventItem@@QAE@GGKGKPBX@Z
+; public: __thiscall CEventLog::CEventLog(unsigned short const *,unsigned short const *)
+??0CEventLog@@QAE@PBG0@Z
+; public: __thiscall CException::CException(void)
+??0CException@@QAE@XZ
+; public: __thiscall CFileBuffer::CFileBuffer(class CFileMapView &,unsigned int)
+??0CFileBuffer@@QAE@AAVCFileMapView@@I@Z
+; public: __thiscall CFileMapView::CFileMapView(unsigned short const *)
+??0CFileMapView@@QAE@PBG@Z
+; public: __thiscall CFilterDaemon::CFilterDaemon(class CiProxy &,class CCiFrameworkParams &,class CLangList &,unsigned char *,unsigned long,struct ICiCFilterClient *)
+??0CFilterDaemon@@QAE@AAVCiProxy@@AAVCCiFrameworkParams@@AAVCLangList@@PAEKPAUICiCFilterClient@@@Z
+; public: __thiscall CFullPath::CFullPath(unsigned short const *)
+??0CFullPath@@QAE@PBG@Z
+; public: __thiscall CFullPath::CFullPath(unsigned short const *,unsigned int)
+??0CFullPath@@QAE@PBGI@Z
+; public: __thiscall CFullPropSpec::CFullPropSpec(class PDeSerStream &)
+??0CFullPropSpec@@QAE@AAVPDeSerStream@@@Z
+; public: __thiscall CFullPropSpec::CFullPropSpec(class CFullPropSpec const &)
+??0CFullPropSpec@@QAE@ABV0@@Z
+; public: __thiscall CFwAsyncWorkItem::CFwAsyncWorkItem(class CWorkManager &,class CWorkQueue &)
+??0CFwAsyncWorkItem@@QAE@AAVCWorkManager@@AAVCWorkQueue@@@Z
+; public: __thiscall CFwEventItem::CFwEventItem(unsigned short,unsigned long,unsigned short,unsigned long,void *)
+??0CFwEventItem@@QAE@GKGKPAX@Z
+; public: __thiscall CGenericCiProxy::CGenericCiProxy(class CSharedNameGen &,unsigned long,unsigned long)
+??0CGenericCiProxy@@QAE@AAVCSharedNameGen@@KK@Z
+; public: __thiscall CGetDbProps::CGetDbProps(void)
+??0CGetDbProps@@QAE@XZ
+; public: __thiscall CImpersonateRemoteAccess::CImpersonateRemoteAccess(class CImpersonationTokenCache *)
+??0CImpersonateRemoteAccess@@QAE@PAVCImpersonationTokenCache@@@Z
+; public: __thiscall CImpersonationTokenCache::CImpersonationTokenCache(unsigned short const *)
+??0CImpersonationTokenCache@@QAE@PBG@Z
+; public: __thiscall CIndexTable::CIndexTable(class CiStorage &,class CTransaction &)
+??0CIndexTable@@QAE@AAVCiStorage@@AAVCTransaction@@@Z
+; public: __thiscall CInternalPropertyRestriction::CInternalPropertyRestriction(unsigned long,unsigned long,class CStorageVariant const &,class CRestriction *)
+??0CInternalPropertyRestriction@@QAE@KKABVCStorageVariant@@PAVCRestriction@@@Z
+; public: __thiscall CKeyArray::CKeyArray(int,int)
+??0CKeyArray@@QAE@HH@Z
+; public: __thiscall CLangList::CLangList(struct ICiCLangRes *,unsigned long)
+??0CLangList@@QAE@PAUICiCLangRes@@K@Z
+; public: __thiscall CLocalGlobalPropertyList::CLocalGlobalPropertyList(unsigned long)
+??0CLocalGlobalPropertyList@@QAE@K@Z
+; public: __thiscall CLocalGlobalPropertyList::CLocalGlobalPropertyList(class CEmptyPropertyList *,int,unsigned short const *,unsigned long)
+??0CLocalGlobalPropertyList@@QAE@PAVCEmptyPropertyList@@HPBGK@Z
+; public: __thiscall CMachineAdmin::CMachineAdmin(unsigned short const *,int)
+??0CMachineAdmin@@QAE@PBGH@Z
+; public: __thiscall CMemSerStream::CMemSerStream(unsigned int)
+??0CMemSerStream@@QAE@I@Z
+; public: __thiscall CMemSerStream::CMemSerStream(unsigned char *,unsigned long)
+??0CMemSerStream@@QAE@PAEK@Z
+; public: __thiscall CMetaDataMgr::CMetaDataMgr(int,enum CiVRootTypeEnum,unsigned long,unsigned short const *)
+??0CMetaDataMgr@@QAE@HW4CiVRootTypeEnum@@KPBG@Z
+; public: __thiscall CMmStream::CMmStream(unsigned long,int)
+??0CMmStream@@QAE@KH@Z
+; public: __thiscall CMmStreamConsecBuf::CMmStreamConsecBuf(void)
+??0CMmStreamConsecBuf@@QAE@XZ
+; public: __thiscall CNatLanguageRestriction::CNatLanguageRestriction(unsigned short const *,class CFullPropSpec const &,unsigned long)
+??0CNatLanguageRestriction@@QAE@PBGABVCFullPropSpec@@K@Z
+; public: __thiscall CNodeRestriction::CNodeRestriction(unsigned long,unsigned int)
+??0CNodeRestriction@@QAE@KI@Z
+; public: __thiscall CNormalizer::CNormalizer(class PNoiseList &)
+??0CNormalizer@@QAE@AAVPNoiseList@@@Z
+; public: __thiscall CPathParser::CPathParser(unsigned short const *,unsigned long)
+??0CPathParser@@QAE@PBGK@Z
+; public: __thiscall CPerfMon::CPerfMon(unsigned short const *)
+??0CPerfMon@@QAE@PBG@Z
+; public: __thiscall CPersDeComp::CPersDeComp(class PDirectory &,unsigned long,class CPhysIndex &,unsigned long,int,int)
+??0CPersDeComp@@QAE@AAVPDirectory@@KAAVCPhysIndex@@KHH@Z
+; protected: __thiscall CPhysStorage::CPhysStorage(class PStorage &,class PStorageObject &,unsigned long,unsigned int,class PMmStream *,int,unsigned int,int)
+??0CPhysStorage@@IAE@AAVPStorage@@AAVPStorageObject@@KIPAVPMmStream@@HIH@Z
+; protected: __thiscall CPhysStorage::CPhysStorage(class PStorage &,class PStorageObject &,unsigned long,class PMmStream *,enum CPhysStorage::EOpenMode,int,unsigned int,int)
+??0CPhysStorage@@IAE@AAVPStorage@@AAVPStorageObject@@KPAVPMmStream@@W4EOpenMode@1@HIH@Z
+; public: __thiscall CPidLookupTable::CPidLookupTable(void)
+??0CPidLookupTable@@QAE@XZ
+; public: __thiscall CPidRemapper::CPidRemapper(class CPidMapper const &,class XInterface<struct IPropertyMapper> &,class CRestriction *,class CColumnSet *,class CSortSet *)
+??0CPidRemapper@@QAE@ABVCPidMapper@@AAV?$XInterface@UIPropertyMapper@@@@PAVCRestriction@@PAVCColumnSet@@PAVCSortSet@@@Z
+; public: __thiscall CPropListFile::CPropListFile(class CEmptyPropertyList *,int,unsigned short const *,unsigned long)
+??0CPropListFile@@QAE@PAVCEmptyPropertyList@@HPBGK@Z
+; public: __thiscall CPropNameArray::CPropNameArray(class PDeSerStream &)
+??0CPropNameArray@@QAE@AAVPDeSerStream@@@Z
+; public: __thiscall CPropNameArray::CPropNameArray(unsigned int)
+??0CPropNameArray@@QAE@I@Z
+; public: __thiscall CPropStoreManager::CPropStoreManager(unsigned long)
+??0CPropStoreManager@@QAE@K@Z
+; public: __thiscall CPropertyRestriction::CPropertyRestriction(unsigned long,class CFullPropSpec const &,class CStorageVariant const &)
+??0CPropertyRestriction@@QAE@KABVCFullPropSpec@@ABVCStorageVariant@@@Z
+; public: __thiscall CPropertyRestriction::CPropertyRestriction(void)
+??0CPropertyRestriction@@QAE@XZ
+; public: __thiscall CPropertyStoreWids::CPropertyStoreWids(class CPropStoreManager &)
+??0CPropertyStoreWids@@QAE@AAVCPropStoreManager@@@Z
+; public: __thiscall CPropertyValueParser::CPropertyValueParser(class CQueryScanner &,unsigned short,unsigned long)
+??0CPropertyValueParser@@QAE@AAVCQueryScanner@@GK@Z
+; public: __thiscall CQueryScanner::CQueryScanner(unsigned short const *,int,unsigned long,int)
+??0CQueryScanner@@QAE@PBGHKH@Z
+; public: __thiscall CRangeKeyRepository::CRangeKeyRepository(void)
+??0CRangeKeyRepository@@QAE@XZ
+; public: __thiscall CRangeRestriction::CRangeRestriction(void)
+??0CRangeRestriction@@QAE@XZ
+; public: __thiscall CRcovStrmAppendTrans::CRcovStrmAppendTrans(class PRcovStorageObj &)
+??0CRcovStrmAppendTrans@@QAE@AAVPRcovStorageObj@@@Z
+; public: __thiscall CRcovStrmMDTrans::CRcovStrmMDTrans(class PRcovStorageObj &,enum CRcovStrmMDTrans::MDOp,unsigned long)
+??0CRcovStrmMDTrans@@QAE@AAVPRcovStorageObj@@W4MDOp@0@K@Z
+; protected: __thiscall CRcovStrmTrans::CRcovStrmTrans(class PRcovStorageObj &,enum RcovOpType)
+??0CRcovStrmTrans@@IAE@AAVPRcovStorageObj@@W4RcovOpType@@@Z
+; public: __thiscall CRegAccess::CRegAccess(unsigned long,unsigned short const *)
+??0CRegAccess@@QAE@KPBG@Z
+; public: __thiscall CRegChangeEvent::CRegChangeEvent(unsigned short const *,int)
+??0CRegChangeEvent@@QAE@PBGH@Z
+; public: __thiscall CRegNotify::CRegNotify(unsigned short const *)
+??0CRegNotify@@QAE@PBG@Z
+; public: __thiscall CRequestClient::CRequestClient(unsigned short const *,struct IDBProperties *)
+??0CRequestClient@@QAE@PBGPAUIDBProperties@@@Z
+; public: __thiscall CRequestQueue::CRequestQueue(unsigned int,unsigned int,unsigned int,int,unsigned int,unsigned int,struct _GUID const &)
+??0CRequestQueue@@QAE@IIIHIIABU_GUID@@@Z
+; public: __thiscall CScopeRestriction::CScopeRestriction(unsigned short const *,int,int)
+??0CScopeRestriction@@QAE@PBGHH@Z
+; public: __thiscall CSdidLookupTable::CSdidLookupTable(void)
+??0CSdidLookupTable@@QAE@XZ
+; public: __thiscall CSizeSerStream::CSizeSerStream(void)
+??0CSizeSerStream@@QAE@XZ
+; public: __thiscall CSort::CSort(unsigned int)
+??0CSort@@QAE@I@Z
+; public: __thiscall CSortSet::CSortSet(unsigned int)
+??0CSortSet@@QAE@I@Z
+; public: __thiscall CStandardPropMapper::CStandardPropMapper(void)
+??0CStandardPropMapper@@QAE@XZ
+; public: __thiscall CSvcQuery::CSvcQuery(unsigned short const *,struct IDBProperties *)
+??0CSvcQuery@@QAE@PBGPAUIDBProperties@@@Z
+; public: __thiscall CSynRestriction::CSynRestriction(class CKey const &,unsigned long,unsigned long,unsigned long,int)
+??0CSynRestriction@@QAE@ABVCKey@@KKKH@Z
+; public: __thiscall CTimeLimit::CTimeLimit(unsigned long,unsigned long)
+??0CTimeLimit@@QAE@KK@Z
+; public: __thiscall CTransaction::CTransaction(void)
+??0CTransaction@@QAE@XZ
+; public: __thiscall CUnfilteredRestriction::CUnfilteredRestriction(void)
+??0CUnfilteredRestriction@@QAE@XZ
+; public: __thiscall CValueNormalizer::CValueNormalizer(class PKeyRepository &)
+??0CValueNormalizer@@QAE@AAVPKeyRepository@@@Z
+; public: __thiscall CVirtualString::CVirtualString(unsigned int)
+??0CVirtualString@@QAE@I@Z
+; public: __thiscall CWin32RegAccess::CWin32RegAccess(struct HKEY__ *,unsigned short const *)
+??0CWin32RegAccess@@QAE@PAUHKEY__@@PBG@Z
+; public: __thiscall CWordRestriction::CWordRestriction(class CKeyBuf const &,unsigned long,unsigned long,unsigned long,int)
+??0CWordRestriction@@QAE@ABVCKeyBuf@@KKKH@Z
+; public: __thiscall CWorkQueue::CWorkQueue(unsigned int,enum CWorkQueue::WorkQueueType)
+??0CWorkQueue@@QAE@IW4WorkQueueType@0@@Z
+; public: __thiscall CiStorage::CiStorage(unsigned short const *,struct ICiCAdviseStatus &,unsigned long,unsigned long,int)
+??0CiStorage@@QAE@PBGAAUICiCAdviseStatus@@KKH@Z
+; public: __thiscall SStorageObject::SStorageObject(class PStorageObject *)
+??0SStorageObject@@QAE@PAVPStorageObject@@@Z
+; public: __thiscall XPtr<class CDbCmdTreeNode>::~XPtr<class CDbCmdTreeNode>(void)
+??1?$XPtr@VCDbCmdTreeNode@@@@QAE@XZ
+; public: __thiscall XPtr<class CDbColumnNode>::~XPtr<class CDbColumnNode>(void)
+??1?$XPtr@VCDbColumnNode@@@@QAE@XZ
+; public: __thiscall XPtr<class CDbProjectListAnchor>::~XPtr<class CDbProjectListAnchor>(void)
+??1?$XPtr@VCDbProjectListAnchor@@@@QAE@XZ
+; public: __thiscall XPtr<class CDbProjectListElement>::~XPtr<class CDbProjectListElement>(void)
+??1?$XPtr@VCDbProjectListElement@@@@QAE@XZ
+; protected: __thiscall CAllocStorageVariant::~CAllocStorageVariant(void)
+??1CAllocStorageVariant@@IAE@XZ
+; public: __thiscall CCatState::~CCatState(void)
+??1CCatState@@QAE@XZ
+; public: __thiscall CCatalogAdmin::~CCatalogAdmin(void)
+??1CCatalogAdmin@@QAE@XZ
+; public: __thiscall CCatalogEnum::~CCatalogEnum(void)
+??1CCatalogEnum@@QAE@XZ
+; public: __thiscall CColumns::~CColumns(void)
+??1CColumns@@QAE@XZ
+; public: __thiscall CContentRestriction::~CContentRestriction(void)
+??1CContentRestriction@@QAE@XZ
+; public: __thiscall CDFA::~CDFA(void)
+??1CDFA@@QAE@XZ
+; public: __thiscall CDbCmdTreeNode::~CDbCmdTreeNode(void)
+??1CDbCmdTreeNode@@QAE@XZ
+; public: __thiscall CDbColumns::~CDbColumns(void)
+??1CDbColumns@@QAE@XZ
+; public: __thiscall CDbContentBaseRestriction::~CDbContentBaseRestriction(void)
+??1CDbContentBaseRestriction@@QAE@XZ
+; public: __thiscall CDbProp::~CDbProp(void)
+??1CDbProp@@QAE@XZ
+; public: __thiscall CDbPropBaseRestriction::~CDbPropBaseRestriction(void)
+??1CDbPropBaseRestriction@@QAE@XZ
+; public: __thiscall CDbPropIDSet::~CDbPropIDSet(void)
+??1CDbPropIDSet@@QAE@XZ
+; public: __thiscall CDbPropSet::~CDbPropSet(void)
+??1CDbPropSet@@QAE@XZ
+; public: __thiscall CDbQueryResults::~CDbQueryResults(void)
+??1CDbQueryResults@@QAE@XZ
+; public: __thiscall CDbSortKey::~CDbSortKey(void)
+??1CDbSortKey@@QAE@XZ
+; public: __thiscall CDbSortSet::~CDbSortSet(void)
+??1CDbSortSet@@QAE@XZ
+; public: __thiscall CDynStream::~CDynStream(void)
+??1CDynStream@@QAE@XZ
+; public: __thiscall CEventItem::~CEventItem(void)
+??1CEventItem@@QAE@XZ
+; public: __thiscall CEventLog::~CEventLog(void)
+??1CEventLog@@QAE@XZ
+; public: __thiscall CFileMapView::~CFileMapView(void)
+??1CFileMapView@@QAE@XZ
+; public: __thiscall CFilterDaemon::~CFilterDaemon(void)
+??1CFilterDaemon@@QAE@XZ
+; public: __thiscall CFullPropSpec::~CFullPropSpec(void)
+??1CFullPropSpec@@QAE@XZ
+; public: virtual __thiscall CFwAsyncWorkItem::~CFwAsyncWorkItem(void)
+??1CFwAsyncWorkItem@@UAE@XZ
+; public: __thiscall CFwEventItem::~CFwEventItem(void)
+??1CFwEventItem@@QAE@XZ
+; public: virtual __thiscall CGenericCiProxy::~CGenericCiProxy(void)
+??1CGenericCiProxy@@UAE@XZ
+; public: __thiscall CImpersonateClient::~CImpersonateClient(void)
+??1CImpersonateClient@@QAE@XZ
+; public: __thiscall CImpersonateSystem::~CImpersonateSystem(void)
+??1CImpersonateSystem@@QAE@XZ
+; public: __thiscall CImpersonationTokenCache::~CImpersonationTokenCache(void)
+??1CImpersonationTokenCache@@QAE@XZ
+; public: __thiscall CInternalPropertyRestriction::~CInternalPropertyRestriction(void)
+??1CInternalPropertyRestriction@@QAE@XZ
+; public: __thiscall CKeyArray::~CKeyArray(void)
+??1CKeyArray@@QAE@XZ
+; public: __thiscall CLangList::~CLangList(void)
+??1CLangList@@QAE@XZ
+; public: __thiscall CMachineAdmin::~CMachineAdmin(void)
+??1CMachineAdmin@@QAE@XZ
+; public: virtual __thiscall CMemSerStream::~CMemSerStream(void)
+??1CMemSerStream@@UAE@XZ
+; public: __thiscall CMetaDataMgr::~CMetaDataMgr(void)
+??1CMetaDataMgr@@QAE@XZ
+; public: virtual __thiscall CMmStream::~CMmStream(void)
+??1CMmStream@@UAE@XZ
+; public: __thiscall CNatLanguageRestriction::~CNatLanguageRestriction(void)
+??1CNatLanguageRestriction@@QAE@XZ
+; public: __thiscall CNodeRestriction::~CNodeRestriction(void)
+??1CNodeRestriction@@QAE@XZ
+; public: __thiscall CNotRestriction::~CNotRestriction(void)
+??1CNotRestriction@@QAE@XZ
+; public: __thiscall COccRestriction::~COccRestriction(void)
+??1COccRestriction@@QAE@XZ
+; public: __thiscall CParseCommandTree::~CParseCommandTree(void)
+??1CParseCommandTree@@QAE@XZ
+; public: __thiscall CPerfMon::~CPerfMon(void)
+??1CPerfMon@@QAE@XZ
+; public: __thiscall CPhraseRestriction::~CPhraseRestriction(void)
+??1CPhraseRestriction@@QAE@XZ
+; public: virtual __thiscall CPhysStorage::~CPhysStorage(void)
+??1CPhysStorage@@UAE@XZ
+; public: __thiscall CPidLookupTable::~CPidLookupTable(void)
+??1CPidLookupTable@@QAE@XZ
+; public: __thiscall CPidRemapper::~CPidRemapper(void)
+??1CPidRemapper@@QAE@XZ
+; public: __thiscall CProcess::~CProcess(void)
+??1CProcess@@QAE@XZ
+; public: __thiscall CPropStoreManager::~CPropStoreManager(void)
+??1CPropStoreManager@@QAE@XZ
+; public: virtual __thiscall CPropertyList::~CPropertyList(void)
+??1CPropertyList@@UAE@XZ
+; public: __thiscall CPropertyRestriction::~CPropertyRestriction(void)
+??1CPropertyRestriction@@QAE@XZ
+; public: __thiscall CPropertyStore::~CPropertyStore(void)
+??1CPropertyStore@@QAE@XZ
+; public: __thiscall CPropertyStoreWids::~CPropertyStoreWids(void)
+??1CPropertyStoreWids@@QAE@XZ
+; public: __thiscall CQueryUnknown::~CQueryUnknown(void)
+??1CQueryUnknown@@QAE@XZ
+; public: virtual __thiscall CRangeKeyRepository::~CRangeKeyRepository(void)
+??1CRangeKeyRepository@@UAE@XZ
+; public: __thiscall CRangeRestriction::~CRangeRestriction(void)
+??1CRangeRestriction@@QAE@XZ
+; public: __thiscall CRegChangeEvent::~CRegChangeEvent(void)
+??1CRegChangeEvent@@QAE@XZ
+; protected: virtual __thiscall CRegNotify::~CRegNotify(void)
+??1CRegNotify@@MAE@XZ
+; public: __thiscall CRestriction::~CRestriction(void)
+??1CRestriction@@QAE@XZ
+; public: __thiscall CScopeAdmin::~CScopeAdmin(void)
+??1CScopeAdmin@@QAE@XZ
+; public: __thiscall CScopeEnum::~CScopeEnum(void)
+??1CScopeEnum@@QAE@XZ
+; public: __thiscall CScopeRestriction::~CScopeRestriction(void)
+??1CScopeRestriction@@QAE@XZ
+; public: __thiscall CSdidLookupTable::~CSdidLookupTable(void)
+??1CSdidLookupTable@@QAE@XZ
+; public: virtual __thiscall CSizeSerStream::~CSizeSerStream(void)
+??1CSizeSerStream@@UAE@XZ
+; public: __thiscall CSort::~CSort(void)
+??1CSort@@QAE@XZ
+; public: __thiscall CSynRestriction::~CSynRestriction(void)
+??1CSynRestriction@@QAE@XZ
+; public: __thiscall CVirtualString::~CVirtualString(void)
+??1CVirtualString@@QAE@XZ
+; public: __thiscall CWin32RegAccess::~CWin32RegAccess(void)
+??1CWin32RegAccess@@QAE@XZ
+; public: __thiscall CWordRestriction::~CWordRestriction(void)
+??1CWordRestriction@@QAE@XZ
+; public: __thiscall CWorkManager::~CWorkManager(void)
+??1CWorkManager@@QAE@XZ
+; public: __thiscall CWorkQueue::~CWorkQueue(void)
+??1CWorkQueue@@QAE@XZ
+; public: __thiscall SStorageObject::~SStorageObject(void)
+??1SStorageObject@@QAE@XZ
+; public: static void __stdcall CDbCmdTreeNode::operator delete(void *)
+??3CDbCmdTreeNode@@SGXPAX@Z
+; public: static void __stdcall CDbColId::operator delete(void *)
+??3CDbColId@@SGXPAX@Z
+; public: static void __stdcall CDbContent::operator delete(void *)
+??3CDbContent@@SGXPAX@Z
+; public: static void __stdcall CDbParameter::operator delete(void *)
+??3CDbParameter@@SGXPAX@Z
+; public: static void __stdcall CDbPropSet::operator delete(void *)
+??3CDbPropSet@@SGXPAX@Z
+; public: class CDbByGuid & __thiscall CDbByGuid::operator=(class CDbByGuid const &)
+??4CDbByGuid@@QAEAAV0@ABV0@@Z
+; public: class CDbColId & __thiscall CDbColId::operator=(class CDbColId const &)
+??4CDbColId@@QAEAAV0@ABV0@@Z
+; public: int __thiscall CDbColId::operator==(class CDbColId const &)const 
+??8CDbColId@@QBEHABV0@@Z
+; public: void __thiscall CWorkManager::AbortWorkItems(void)
+?AbortWorkItems@CWorkManager@@QAEXXZ
+; public: void __thiscall CQueryScanner::Accept(void)
+?Accept@CQueryScanner@@QAEXXZ
+; public: void __thiscall CQueryScanner::AcceptCommand(void)
+?AcceptCommand@CQueryScanner@@QAEXXZ
+; public: void __thiscall CQueryScanner::AcceptWord(void)
+?AcceptWord@CQueryScanner@@QAEXXZ
+; public: int __thiscall CSdidLookupTable::AccessCheck(unsigned long,void *,unsigned long,int &)
+?AccessCheck@CSdidLookupTable@@QAEHKPAXKAAH@Z
+; public: unsigned short * __thiscall CQueryScanner::AcqLine(int)
+?AcqLine@CQueryScanner@@QAEPAGH@Z
+; public: unsigned short * __thiscall CQueryScanner::AcqPath(void)
+?AcqPath@CQueryScanner@@QAEPAGXZ
+; public: unsigned short * __thiscall CQueryScanner::AcqPhrase(void)
+?AcqPhrase@CQueryScanner@@QAEPAGXZ
+; public: class CRangeRestriction * __thiscall CRangeKeyRepository::AcqRst(void)
+?AcqRst@CRangeKeyRepository@@QAEPAVCRangeRestriction@@XZ
+; public: unsigned short * __thiscall CQueryScanner::AcqWord(void)
+?AcqWord@CQueryScanner@@QAEPAGXZ
+; private: void __thiscall CPropertyStore::AcquireRead(class CReadWriteLockRecord &)
+?AcquireRead@CPropertyStore@@AAEXAAVCReadWriteLockRecord@@@Z
+; public: int __thiscall CDbColumns::Add(class CDbColId const &,unsigned int)
+?Add@CDbColumns@@QAEHABVCDbColId@@I@Z
+; public: void __thiscall CDbQueryResults::Add(unsigned short *,unsigned long)
+?Add@CDbQueryResults@@QAEXPAGK@Z
+; public: int __thiscall CDbSortSet::Add(class CDbColId const &,unsigned long,unsigned int)
+?Add@CDbSortSet@@QAEHABVCDbColId@@KI@Z
+; public: int __thiscall CDbSortSet::Add(class CDbSortKey const &,unsigned int)
+?Add@CDbSortSet@@QAEHABVCDbSortKey@@I@Z
+; public: int __thiscall CKeyArray::Add(int,class CKey const &)
+?Add@CKeyArray@@QAEHHABVCKey@@@Z
+; public: int __thiscall CKeyArray::Add(int,class CKeyBuf const &)
+?Add@CKeyArray@@QAEHHABVCKeyBuf@@@Z
+; public: void __thiscall CWorkQueue::Add(class PWorkItem *)
+?Add@CWorkQueue@@QAEXPAVPWorkItem@@@Z
+; public: void __thiscall CEventItem::AddArg(unsigned long)
+?AddArg@CEventItem@@QAEXK@Z
+; public: void __thiscall CEventItem::AddArg(unsigned short const *)
+?AddArg@CEventItem@@QAEXPBG@Z
+; public: void __thiscall CFwEventItem::AddArg(unsigned long)
+?AddArg@CFwEventItem@@QAEXK@Z
+; public: void __thiscall CFwEventItem::AddArg(unsigned short const *)
+?AddArg@CFwEventItem@@QAEXPBG@Z
+; public: void __thiscall CCatalogAdmin::AddCachedProperty(class CFullPropSpec const &,unsigned long,unsigned long,unsigned long,int)
+?AddCachedProperty@CCatalogAdmin@@QAEXABVCFullPropSpec@@KKKH@Z
+; public: void __thiscall CCatState::AddCatalog(class XPtrST<unsigned short> &)
+?AddCatalog@CCatState@@QAEXAAV?$XPtrST@G@@@Z
+; public: void __thiscall CMachineAdmin::AddCatalog(unsigned short const *,unsigned short const *)
+?AddCatalog@CMachineAdmin@@QAEXPBG0@Z
+; public: void __thiscall CNodeRestriction::AddChild(class CRestriction *,unsigned int &)
+?AddChild@CNodeRestriction@@QAEXPAVCRestriction@@AAI@Z
+; public: void __thiscall CCatState::AddDir(class XPtrST<unsigned short> &)
+?AddDir@CCatState@@QAEXAAV?$XPtrST@G@@@Z
+; public: virtual void __thiscall CCombinedPropertyList::AddEntry(class CPropEntry *,int)
+?AddEntry@CCombinedPropertyList@@UAEXPAVCPropEntry@@H@Z
+; public: virtual void __thiscall CPropertyList::AddEntry(class CPropEntry *,int)
+?AddEntry@CPropertyList@@UAEXPAVCPropEntry@@H@Z
+; public: void __thiscall CEventItem::AddError(unsigned long)
+?AddError@CEventItem@@QAEXK@Z
+; public: void __thiscall CSynRestriction::AddKey(class CKeyBuf const &)
+?AddKey@CSynRestriction@@QAEXABVCKeyBuf@@@Z
+; public: void __thiscall CCatState::AddMachine(class XPtrST<unsigned short> &)
+?AddMachine@CCatState@@QAEXAAV?$XPtrST@G@@@Z
+; public: virtual unsigned long __stdcall CDbProperties::AddRef(void)
+?AddRef@CDbProperties@@UAGKXZ
+; public: virtual unsigned long __stdcall CEmptyPropertyList::AddRef(void)
+?AddRef@CEmptyPropertyList@@UAGKXZ
+; public: virtual unsigned long __stdcall CEnumString::AddRef(void)
+?AddRef@CEnumString@@UAGKXZ
+; public: virtual unsigned long __stdcall CEnumWorkid::AddRef(void)
+?AddRef@CEnumWorkid@@UAGKXZ
+; public: virtual unsigned long __stdcall CFwPropertyMapper::AddRef(void)
+?AddRef@CFwPropertyMapper@@UAGKXZ
+; public: virtual unsigned long __stdcall CQueryUnknown::AddRef(void)
+?AddRef@CQueryUnknown@@UAGKXZ
+; public: void __thiscall CWorkQueue::AddRefWorkThreads(void)
+?AddRefWorkThreads@CWorkQueue@@QAEXXZ
+; public: void __thiscall CCatalogAdmin::AddScope(unsigned short const *,unsigned short const *,int,unsigned short const *,unsigned short const *)
+?AddScope@CCatalogAdmin@@QAEXPBG0H00@Z
+; public: int __thiscall CDbSortNode::AddSortColumn(struct tagDBID const &,int,unsigned long)
+?AddSortColumn@CDbSortNode@@QAEHABUtagDBID@@HK@Z
+; public: int __thiscall CDbNestingNode::AddTable(class CDbCmdTreeNode *)
+?AddTable@CDbNestingNode@@QAEHPAVCDbCmdTreeNode@@@Z
+; public: void __thiscall CWorkManager::AddToWorkList(class CFwAsyncWorkItem *)
+?AddToWorkList@CWorkManager@@QAEXPAVCFwAsyncWorkItem@@@Z
+; public: void __thiscall CFwAsyncWorkItem::AddToWorkQueue(void)
+?AddToWorkQueue@CFwAsyncWorkItem@@QAEXXZ
+; public: static unsigned short * __stdcall CDbCmdTreeNode::AllocAndCopyWString(unsigned short const *)
+?AllocAndCopyWString@CDbCmdTreeNode@@SGPAGPBG@Z
+; unsigned short * __stdcall AllocHeapAndCopy(unsigned short const *,unsigned long &)
+?AllocHeapAndCopy@@YGPAGPBGAAK@Z
+; unsigned short * __stdcall AllocHeapAndGetWString(class PDeSerStream &)
+?AllocHeapAndGetWString@@YGPAGAAVPDeSerStream@@@Z
+; public: void __thiscall CEnumString::Append(unsigned short const *)
+?Append@CEnumString@@QAEXPBG@Z
+; public: void __thiscall CEnumWorkid::Append(unsigned long)
+?Append@CEnumWorkid@@QAEXK@Z
+; protected: void __thiscall CDbCmdTreeNode::AppendChild(class CDbCmdTreeNode *)
+?AppendChild@CDbCmdTreeNode@@IAEXPAV1@@Z
+; protected: int __thiscall CDbListAnchor::AppendListElement(unsigned short,struct tagDBID const &)
+?AppendListElement@CDbListAnchor@@IAEHGABUtagDBID@@@Z
+; protected: int __thiscall CDbListAnchor::AppendListElement(class CDbCmdTreeNode *)
+?AppendListElement@CDbListAnchor@@IAEHPAVCDbCmdTreeNode@@@Z
+; public: int __thiscall CDbProjectListAnchor::AppendListElement(struct tagDBID const &,unsigned short *)
+?AppendListElement@CDbProjectListAnchor@@QAEHABUtagDBID@@PAG@Z
+; public: unsigned long __thiscall CPropStoreManager::BeginTransaction(void)
+?BeginTransaction@CPropStoreManager@@QAEKXZ
+; public: static long __stdcall CCiOle::BindIFilter(unsigned short const *,struct IUnknown *,struct IFilter * *,int)
+?BindIFilter@CCiOle@@SGJPBGPAUIUnknown@@PAPAUIFilter@@H@Z
+; public: unsigned long * __thiscall CPhysStorage::BorrowBuffer(unsigned long,int,int)
+?BorrowBuffer@CPhysStorage@@QAEPAKKHH@Z
+; public: unsigned long * __thiscall CPhysStorage::BorrowNewBuffer(unsigned long)
+?BorrowNewBuffer@CPhysStorage@@QAEPAKK@Z
+; void __stdcall BuildRegistryPropertiesKey(class XArray<unsigned short> &,unsigned short const *)
+?BuildRegistryPropertiesKey@@YGXAAV?$XArray@G@@PBG@Z
+; void __stdcall BuildRegistryScopesKey(class XArray<unsigned short> &,unsigned short const *)
+?BuildRegistryScopesKey@@YGXAAV?$XArray@G@@PBG@Z
+; void __stdcall CIShutdown(void)
+?CIShutdown@@YGXXZ
+; public: void __thiscall CCatState::ChangeCurrentCatalog(unsigned short const *)
+?ChangeCurrentCatalog@CCatState@@QAEXPBG@Z
+; public: void __thiscall CCatState::ChangeCurrentDepth(int)
+?ChangeCurrentDepth@CCatState@@QAEXH@Z
+; public: void __thiscall CCatState::ChangeCurrentMachine(unsigned short const *)
+?ChangeCurrentMachine@CCatState@@QAEXPBG@Z
+; public: void __thiscall CCatState::ChangeCurrentScope(unsigned short const *)
+?ChangeCurrentScope@CCatState@@QAEXPBG@Z
+; private: void __thiscall CPropStoreInfo::ChangeDirty(int)
+?ChangeDirty@CPropStoreInfo@@AAEXH@Z
+; public: long __thiscall CLocalGlobalPropertyList::CheckError(unsigned long &,unsigned short * *)
+?CheckError@CLocalGlobalPropertyList@@QAEJAAKPAPAG@Z
+; public: long __thiscall CPropListFile::CheckError(unsigned long &,unsigned short * *)
+?CheckError@CPropListFile@@QAEJAAKPAPAG@Z
+; public: static int __stdcall CiStorage::CheckHasIndexTable(unsigned short const *)
+?CheckHasIndexTable@CiStorage@@SGHPBG@Z
+CiCreateSecurityDescriptor
+; int __stdcall CiGetPassword(unsigned short const *,unsigned short const *,unsigned short *)
+?CiGetPassword@@YGHPBG0PAG@Z
+; void * __stdcall CiNtOpen(unsigned short const *,unsigned long,unsigned long,unsigned long)
+?CiNtOpen@@YGPAXPBGKKK@Z
+; long __stdcall CiNtOpenNoThrow(void * &,unsigned short const *,unsigned long,unsigned long,unsigned long)
+?CiNtOpenNoThrow@@YGJAAPAXPBGKKK@Z
+; public: void __thiscall CDbColId::Cleanup(void)
+?Cleanup@CDbColId@@QAEXXZ
+; public: void __thiscall CDbProp::Cleanup(void)
+?Cleanup@CDbProp@@QAEXXZ
+; protected: void __thiscall CDbCmdTreeNode::CleanupDataValue(void)
+?CleanupDataValue@CDbCmdTreeNode@@IAEXXZ
+; public: void __thiscall CCombinedPropertyList::ClearList(void)
+?ClearList@CCombinedPropertyList@@QAEXXZ
+; public: void __thiscall CPropertyList::ClearList(void)
+?ClearList@CPropertyList@@QAEXXZ
+; public: class CDbCmdTreeNode * __thiscall CDbCmdTreeNode::Clone(int)const 
+?Clone@CDbCmdTreeNode@@QBEPAV1@H@Z
+; public: virtual long __stdcall CEnumString::Clone(struct IEnumString * *)
+?Clone@CEnumString@@UAGJPAPAUIEnumString@@@Z
+; public: class CNodeRestriction * __thiscall CNodeRestriction::Clone(void)const 
+?Clone@CNodeRestriction@@QBEPAV1@XZ
+; public: class COccRestriction * __thiscall COccRestriction::Clone(void)const 
+?Clone@COccRestriction@@QBEPAV1@XZ
+; public: class CRestriction * __thiscall CRestriction::Clone(void)const 
+?Clone@CRestriction@@QBEPAV1@XZ
+; public: void __thiscall CPhysStorage::Close(void)
+?Close@CPhysStorage@@QAEXXZ
+; protected: void __thiscall CPipeClient::Close(void)
+?Close@CPipeClient@@IAEXXZ
+; public: void __thiscall COLEPropManager::CPropSetMap::Close(void)
+?Close@CPropSetMap@COLEPropManager@@QAEXXZ
+; public: void __thiscall CPropStoreManager::CloseRecord(class CCompositePropRecord *)
+?CloseRecord@CPropStoreManager@@QAEXPAVCCompositePropRecord@@@Z
+; public: void __thiscall CPropStoreManager::CloseRecord(class CCompositePropRecordForWrites *)
+?CloseRecord@CPropStoreManager@@QAEXPAVCCompositePropRecordForWrites@@@Z
+; public: void __thiscall CRcovStrmAppendTrans::Commit(void)
+?Commit@CRcovStrmAppendTrans@@QAEXXZ
+; public: void __thiscall CRcovStrmMDTrans::Commit(void)
+?Commit@CRcovStrmMDTrans@@QAEXXZ
+; public: void __thiscall CRcovStrmWriteTrans::Commit(void)
+?Commit@CRcovStrmWriteTrans@@QAEXXZ
+; public: static int __stdcall CDriveInfo::ContainsDrive(unsigned short const *)
+?ContainsDrive@CDriveInfo@@SGHPBG@Z
+; public: int __thiscall CDbParameter::Copy(struct tagDBPARAMETER const &)
+?Copy@CDbParameter@@QAEHABUtagDBPARAMETER@@@Z
+; public: int __thiscall CDbProp::Copy(struct tagDBPROP const &)
+?Copy@CDbProp@@QAEHABUtagDBPROP@@@Z
+; public: int __thiscall CDbPropSet::Copy(struct tagDBPROPSET const &)
+?Copy@CDbPropSet@@QAEHABUtagDBPROPSET@@@Z
+; public: void __thiscall CMachineAdmin::CreateSubdirs(unsigned short const *)
+?CreateSubdirs@CMachineAdmin@@QAEXPBG@Z
+; public: void __thiscall CRequestClient::DataWriteRead(void *,unsigned long,void *,unsigned long,unsigned long &)
+?DataWriteRead@CRequestClient@@QAEXPAXK0KAAK@Z
+; void __stdcall DecodeEscapes(unsigned short *,unsigned long &,unsigned short *)
+?DecodeEscapes@@YGXPAGAAK0@Z
+; void __stdcall DecodeHtmlNumeric(unsigned short *)
+?DecodeHtmlNumeric@@YGXPAG@Z
+; void __stdcall DecodeURLEscapes(unsigned char *,unsigned long &,unsigned short *,unsigned long)
+?DecodeURLEscapes@@YGXPAEAAKPAGK@Z
+; public: void __thiscall CPropStoreManager::DeleteRecord(unsigned long)
+?DeleteRecord@CPropStoreManager@@QAEXK@Z
+; public: void __thiscall CCatalogAdmin::DeleteRegistryParamNoThrow(unsigned short const *)
+?DeleteRegistryParamNoThrow@CCatalogAdmin@@QAEXPBG@Z
+; public: static unsigned int __stdcall CiStorage::DetermineDriveType(unsigned short const *)
+?DetermineDriveType@CiStorage@@SGIPBG@Z
+; public: int __thiscall CMachineAdmin::DisableCI(void)
+?DisableCI@CMachineAdmin@@QAEHXZ
+; public: void __thiscall CRegNotify::DisableNotification(void)
+?DisableNotification@CRegNotify@@QAEXXZ
+; public: void __thiscall CMetaDataMgr::DisableVPathNotify(void)
+?DisableVPathNotify@CMetaDataMgr@@QAEXXZ
+; public: void __thiscall CRequestClient::Disconnect(void)
+?Disconnect@CRequestClient@@QAEXXZ
+; void __stdcall DoFailTest(long)
+?DoFailTest@@YGXJ@Z
+; public: long __thiscall CCopyRcovObject::DoIt(void)
+?DoIt@CCopyRcovObject@@QAEJXZ
+; public: long __thiscall CFilterDaemon::DoUpdates(void)
+?DoUpdates@CFilterDaemon@@QAEJXZ
+; public: void __thiscall CFwAsyncWorkItem::Done(void)
+?Done@CFwAsyncWorkItem@@QAEXXZ
+; long __stdcall DumpWorkId(unsigned short const *,unsigned long,unsigned char *,unsigned long &,unsigned short const *,unsigned short const *,unsigned long)
+?DumpWorkId@@YGJPBGKPAEAAK00K@Z
+; public: void __thiscall CPidLookupTable::Empty(void)
+?Empty@CPidLookupTable@@QAEXXZ
+; public: void __thiscall CPropStoreManager::Empty(void)
+?Empty@CPropStoreManager@@QAEXXZ
+; public: void __thiscall CRcovStrmWriteTrans::Empty(void)
+?Empty@CRcovStrmWriteTrans@@QAEXXZ
+; public: void __thiscall CSdidLookupTable::Empty(void)
+?Empty@CSdidLookupTable@@QAEXXZ
+; public: int __thiscall CMachineAdmin::EnableCI(void)
+?EnableCI@CMachineAdmin@@QAEHXZ
+; public: void __thiscall CMetaDataMgr::EnableVPathNotify(class CMetaDataVPathChangeCallBack *)
+?EnableVPathNotify@CMetaDataMgr@@QAEXPAVCMetaDataVPathChangeCallBack@@@Z
+; public: void __thiscall CPropStoreManager::EndTransaction(unsigned long,int,unsigned long,unsigned long)
+?EndTransaction@CPropStoreManager@@QAEXKHKK@Z
+; public: int __thiscall CWin32RegAccess::Enum(unsigned short *,unsigned long)
+?Enum@CWin32RegAccess@@QAEHPAGK@Z
+; public: virtual long __stdcall CEmptyPropertyList::EnumPropInfo(unsigned long,unsigned short const * *,struct tagDBID * *,unsigned short *,unsigned int *)
+?EnumPropInfo@CEmptyPropertyList@@UAGJKPAPBGPAPAUtagDBID@@PAGPAI@Z
+; public: void __thiscall CMetaDataMgr::EnumVPaths(class CMetaDataCallBack &)
+?EnumVPaths@CMetaDataMgr@@QAEXAAVCMetaDataCallBack@@@Z
+; public: void __thiscall CMetaDataMgr::EnumVServers(class CMetaDataVirtualServerCallBack &)
+?EnumVServers@CMetaDataMgr@@QAEXAAVCMetaDataVirtualServerCallBack@@@Z
+; public: static void __stdcall CiStorage::EnumerateFilesInDir(unsigned short const *,class CEnumString &)
+?EnumerateFilesInDir@CiStorage@@SGXPBGAAVCEnumString@@@Z
+; public: int __thiscall CPidLookupTable::EnumerateProperty(class CFullPropSpec &,unsigned int &)
+?EnumerateProperty@CPidLookupTable@@QAEHAAVCFullPropSpec@@AAI@Z
+; public: void __thiscall CRegAccess::EnumerateValues(unsigned short *,class CRegCallBack &)
+?EnumerateValues@CRegAccess@@QAEXPAGAAVCRegCallBack@@@Z
+; public: int __thiscall CMmStreamConsecBuf::Eof(void)
+?Eof@CMmStreamConsecBuf@@QAEHXZ
+; public: int __thiscall CMetaDataMgr::ExtensionHasScriptMap(unsigned short const *)
+?ExtensionHasScriptMap@CMetaDataMgr@@QAEHPBG@Z
+; public: virtual long __thiscall CPidConverter::FPSToPROPID(class CFullPropSpec const &,unsigned long &)
+?FPSToPROPID@CPidConverter@@UAEJABVCFullPropSpec@@AAK@Z
+; public: void __thiscall CPropStoreManager::FastInit(class CiStorage *)
+?FastInit@CPropStoreManager@@QAEXPAVCiStorage@@@Z
+; public: void __thiscall COLEPropManager::FetchProperty(struct _GUID const &,struct tagPROPSPEC const &,struct tagPROPVARIANT *,unsigned int *)
+?FetchProperty@COLEPropManager@@QAEXABU_GUID@@ABUtagPROPSPEC@@PAUtagPROPVARIANT@@PAI@Z
+; public: int __thiscall CKeyArray::FillMax(int)
+?FillMax@CKeyArray@@QAEHH@Z
+; public: virtual class CPropEntry const * __thiscall CCombinedPropertyList::Find(unsigned short const *)
+?Find@CCombinedPropertyList@@UAEPBVCPropEntry@@PBG@Z
+; public: class CPropEntry const * __thiscall CEmptyPropertyList::Find(class CDbColId const &)
+?Find@CEmptyPropertyList@@QAEPBVCPropEntry@@ABVCDbColId@@@Z
+; public: virtual class CPropEntry const * __thiscall CPropertyList::Find(class CDbColId const &)
+?Find@CPropertyList@@UAEPBVCPropEntry@@ABVCDbColId@@@Z
+; public: virtual class CPropEntry const * __thiscall CPropertyList::Find(unsigned short const *)
+?Find@CPropertyList@@UAEPBVCPropEntry@@PBG@Z
+; public: virtual class CPropEntry const * __thiscall CStaticPropertyList::Find(unsigned short const *)
+?Find@CStaticPropertyList@@UAEPBVCPropEntry@@PBG@Z
+; public: int __thiscall CPidLookupTable::FindPropid(class CFullPropSpec const &,unsigned long &,int)
+?FindPropid@CPidLookupTable@@QAEHABVCFullPropSpec@@AAKH@Z
+; public: void __thiscall CDynStream::Flush(void)
+?Flush@CDynStream@@QAEXXZ
+; public: void __thiscall CPhysStorage::Flush(int)
+?Flush@CPhysStorage@@QAEXH@Z
+; public: void __thiscall CPropStoreManager::Flush(void)
+?Flush@CPropStoreManager@@QAEXXZ
+; public: static void __stdcall CCiOle::FlushIdle(void)
+?FlushIdle@CCiOle@@SGXXZ
+; public: struct tagDBCOMMANDTREE * __thiscall CTextToTree::FormFullTree(void)
+?FormFullTree@CTextToTree@@QAEPAUtagDBCOMMANDTREE@@XZ
+; class CDbCmdTreeNode * __stdcall FormQueryTree(class CDbCmdTreeNode &,class CCatState &,struct IColumnMapper *,int,int)
+?FormQueryTree@@YGPAVCDbCmdTreeNode@@AAV1@AAVCCatState@@PAUIColumnMapper@@HH@Z
+; public: unsigned long __thiscall CRegAccess::Get(unsigned short const *)
+?Get@CRegAccess@@QAEKPBG@Z
+; public: void __thiscall CRegAccess::Get(unsigned short const *,unsigned short *,unsigned int)
+?Get@CRegAccess@@QAEXPBGPAGI@Z
+; public: int __thiscall CWin32RegAccess::Get(unsigned short const *,unsigned long &)
+?Get@CWin32RegAccess@@QAEHPBGAAK@Z
+; public: int __thiscall CWin32RegAccess::Get(unsigned short const *,unsigned short *,unsigned int,int)
+?Get@CWin32RegAccess@@QAEHPBGPAGIH@Z
+; public: virtual long __thiscall CPropertyList::GetAllEntries(class CPropEntry * *,unsigned long)
+?GetAllEntries@CPropertyList@@UAEJPAPAVCPropEntry@@K@Z
+; public: short __thiscall CAllocStorageVariant::GetBOOL(unsigned int)const 
+?GetBOOL@CAllocStorageVariant@@QBEFI@Z
+; public: unsigned long __thiscall CPropStoreManager::GetBackupSize(unsigned long)
+?GetBackupSize@CPropStoreManager@@QAEKK@Z
+; public: virtual void __thiscall CMemDeSerStream::GetBlob(unsigned char *,unsigned long)
+?GetBlob@CMemDeSerStream@@UAEXPAEK@Z
+; unsigned long __stdcall GetBrowserCodepage(class CWebServer &,unsigned long)
+?GetBrowserCodepage@@YGKAAVCWebServer@@K@Z
+; public: virtual unsigned char __thiscall CMemDeSerStream::GetByte(void)
+?GetByte@CMemDeSerStream@@UAEEXZ
+; public: unsigned short const * __thiscall CCatState::GetCD(void)
+?GetCD@CCatState@@QAEPBGXZ
+; public: int __thiscall CWebServer::GetCGIVariable(char const *,class XArray<unsigned short> &,unsigned long &)
+?GetCGIVariable@CWebServer@@QAEHPBDAAV?$XArray@G@@AAK@Z
+; public: int __thiscall CWebServer::GetCGIVariableW(unsigned short const *,class XArray<unsigned short> &,unsigned long &)
+?GetCGIVariableW@CWebServer@@QAEHPBGAAV?$XArray@G@@AAK@Z
+; public: struct _GUID  __thiscall CAllocStorageVariant::GetCLSID(unsigned int)const 
+?GetCLSID@CAllocStorageVariant@@QBE?AU_GUID@@I@Z
+; public: union tagCY  __thiscall CAllocStorageVariant::GetCY(unsigned int)const 
+?GetCY@CAllocStorageVariant@@QBE?ATtagCY@@I@Z
+; public: unsigned short const * __thiscall CCatState::GetCategory(unsigned int)const 
+?GetCategory@CCatState@@QBEPBGI@Z
+; public: virtual void __thiscall CMemDeSerStream::GetChar(char *,unsigned long)
+?GetChar@CMemDeSerStream@@UAEXPADK@Z
+; public: unsigned short const * __thiscall CCatState::GetColumn(unsigned int)const 
+?GetColumn@CCatState@@QBEPBGI@Z
+; public: unsigned short __thiscall CQueryScanner::GetCommandChar(void)
+?GetCommandChar@CQueryScanner@@QAEGXZ
+; public: double __thiscall CAllocStorageVariant::GetDATE(unsigned int)const 
+?GetDATE@CAllocStorageVariant@@QBENI@Z
+; public: int __thiscall CCatalogAdmin::GetDWORDParam(unsigned short const *,unsigned long &)
+?GetDWORDParam@CCatalogAdmin@@QAEHPBGAAK@Z
+; public: int __thiscall CMachineAdmin::GetDWORDParam(unsigned short const *,unsigned long &)
+?GetDWORDParam@CMachineAdmin@@QAEHPBGAAK@Z
+; public: void __thiscall CDriveInfo::GetDiskSpace(__int64 &,__int64 &)
+?GetDiskSpace@CDriveInfo@@QAEXAA_J0@Z
+; public: virtual double __thiscall CMemDeSerStream::GetDouble(void)
+?GetDouble@CMemDeSerStream@@UAENXZ
+; public: static void __stdcall CDriveInfo::GetDrive(unsigned short const *,unsigned short *)
+?GetDrive@CDriveInfo@@SGXPBGPAG@Z
+; public: unsigned char * __thiscall CGenericCiProxy::GetEntryBuffer(unsigned long &)
+?GetEntryBuffer@CGenericCiProxy@@QAEPAEAAK@Z
+; public: struct _FILETIME  __thiscall CAllocStorageVariant::GetFILETIME(unsigned int)const 
+?GetFILETIME@CAllocStorageVariant@@QBE?AU_FILETIME@@I@Z
+; public: int __thiscall CPathParser::GetFileName(unsigned short *,unsigned long &)const 
+?GetFileName@CPathParser@@QBEHPAGAAK@Z
+; public: enum CDriveInfo::eFileSystem  __thiscall CDriveInfo::GetFileSystem(int)
+?GetFileSystem@CDriveInfo@@QAE?AW4eFileSystem@1@H@Z
+; public: virtual float __thiscall CMemDeSerStream::GetFloat(void)
+?GetFloat@CMemDeSerStream@@UAEMXZ
+; public: virtual void __thiscall CMemDeSerStream::GetGUID(struct _GUID &)
+?GetGUID@CMemDeSerStream@@UAEXAAU_GUID@@@Z
+; class CPropListFile * __stdcall GetGlobalPropListFile(void)
+?GetGlobalPropListFile@@YGPAVCPropListFile@@XZ
+; class CStaticPropertyList * __stdcall GetGlobalStaticPropertyList(void)
+?GetGlobalStaticPropertyList@@YGPAVCStaticPropertyList@@XZ
+; public: short __thiscall CAllocStorageVariant::GetI2(unsigned int)const 
+?GetI2@CAllocStorageVariant@@QBEFI@Z
+; public: long __thiscall CAllocStorageVariant::GetI4(unsigned int)const 
+?GetI4@CAllocStorageVariant@@QBEJI@Z
+; public: union _LARGE_INTEGER  __thiscall CAllocStorageVariant::GetI8(unsigned int)const 
+?GetI8@CAllocStorageVariant@@QBE?AT_LARGE_INTEGER@@I@Z
+; unsigned long __stdcall GetLCIDFromString(unsigned short *)
+?GetLCIDFromString@@YGKPAG@Z
+; public: char * __thiscall CAllocStorageVariant::GetLPSTR(unsigned int)const 
+?GetLPSTR@CAllocStorageVariant@@QBEPADI@Z
+; public: unsigned short * __thiscall CAllocStorageVariant::GetLPWSTR(unsigned int)const 
+?GetLPWSTR@CAllocStorageVariant@@QBEPAGI@Z
+; public: unsigned short const * __thiscall CCatalogAdmin::GetLocation(void)
+?GetLocation@CCatalogAdmin@@QAEPBGXZ
+; public: virtual long __thiscall CMemDeSerStream::GetLong(void)
+?GetLong@CMemDeSerStream@@UAEJXZ
+; public: int __thiscall CQueryScanner::GetNumber(long &,int &)
+?GetNumber@CQueryScanner@@QAEHAAJAAH@Z
+; public: int __thiscall CQueryScanner::GetNumber(unsigned long &,int &)
+?GetNumber@CQueryScanner@@QAEHAAKAAH@Z
+; public: int __thiscall CQueryScanner::GetNumber(__int64 &,int &)
+?GetNumber@CQueryScanner@@QAEHAA_JAAH@Z
+; public: int __thiscall CQueryScanner::GetNumber(unsigned __int64 &,int &)
+?GetNumber@CQueryScanner@@QAEHAA_KAAH@Z
+; public: void __thiscall CKeyDeComp::GetOffset(struct BitOffset &)
+?GetOffset@CKeyDeComp@@QAEXAAUBitOffset@@@Z
+; long __stdcall GetOleDBErrorInfo(struct IUnknown *,struct _GUID const &,unsigned long,unsigned int,struct tagERRORINFO *,struct IErrorInfo * *)
+?GetOleDBErrorInfo@@YGJPAUIUnknown@@ABU_GUID@@KIPAUtagERRORINFO@@PAPAUIErrorInfo@@@Z
+; long __stdcall GetOleError(class CException &)
+?GetOleError@@YGJAAVCException@@@Z
+; public: unsigned long __thiscall CWebServer::GetPhysicalPath(unsigned short const *,unsigned short *,unsigned long,unsigned long)
+?GetPhysicalPath@CWebServer@@QAEKPBGPAGKK@Z
+; public: int __thiscall CEmptyPropertyList::GetPropInfo(class CDbColId const &,unsigned short const * *,unsigned short *,unsigned int *)
+?GetPropInfo@CEmptyPropertyList@@QAEHABVCDbColId@@PAPBGPAGPAI@Z
+; public: int __thiscall CEmptyPropertyList::GetPropInfo(unsigned short const *,class CDbColId * *,unsigned short *,unsigned int *)
+?GetPropInfo@CEmptyPropertyList@@QAEHPBGPAPAVCDbColId@@PAGPAI@Z
+; public: virtual long __stdcall CEmptyPropertyList::GetPropInfoFromId(struct tagDBID const *,unsigned short * *,unsigned short *,unsigned int *)
+?GetPropInfoFromId@CEmptyPropertyList@@UAGJPBUtagDBID@@PAPAGPAGPAI@Z
+; public: virtual long __stdcall CEmptyPropertyList::GetPropInfoFromName(unsigned short const *,struct tagDBID * *,unsigned short *,unsigned int *)
+?GetPropInfoFromName@CEmptyPropertyList@@UAGJPBGPAPAUtagDBID@@PAGPAI@Z
+; public: static unsigned short __stdcall CEmptyPropertyList::GetPropType(unsigned int)
+?GetPropType@CEmptyPropertyList@@SGGI@Z
+; public: static unsigned int __stdcall CEmptyPropertyList::GetPropTypeCount(void)
+?GetPropTypeCount@CEmptyPropertyList@@SGIXZ
+; public: static unsigned short const * __stdcall CEmptyPropertyList::GetPropTypeName(unsigned int)
+?GetPropTypeName@CEmptyPropertyList@@SGPBGI@Z
+; public: virtual long __stdcall CDbProperties::GetProperties(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPSET * *)
+?GetProperties@CDbProperties@@UAGJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPSET@@@Z
+; public: void __thiscall CGetDbProps::GetProperties(struct IDBProperties *,unsigned long)
+?GetProperties@CGetDbProps@@QAEXPAUIDBProperties@@K@Z
+; public: virtual long __stdcall CDbProperties::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * const,unsigned long *,struct tagDBPROPINFOSET * *,unsigned short * *)
+?GetPropertyInfo@CDbProperties@@UAGJKQBUtagDBPROPIDSET@@PAKPAPAUtagDBPROPINFOSET@@PAPAG@Z
+; public: float __thiscall CAllocStorageVariant::GetR4(unsigned int)const 
+?GetR4@CAllocStorageVariant@@QBEMI@Z
+; public: double __thiscall CAllocStorageVariant::GetR8(unsigned int)const 
+?GetR8@CAllocStorageVariant@@QBENI@Z
+; public: int __thiscall CMachineAdmin::GetSZParam(unsigned short const *,unsigned short *,unsigned long)
+?GetSZParam@CMachineAdmin@@QAEHPBGPAGK@Z
+; long __stdcall GetScodeError(class CException &)
+?GetScodeError@@YGJAAVCException@@@Z
+; int __stdcall GetSecret(unsigned short const *,unsigned short const *,unsigned short * *,unsigned long *)
+?GetSecret@@YGHPBG0PAPAGPAK@Z
+; public: unsigned long __thiscall CDriveInfo::GetSectorSize(void)
+?GetSectorSize@CDriveInfo@@QAEKXZ
+; public: void __thiscall CCatState::GetSortProp(unsigned int,unsigned short const * *,enum SORTDIR *)const 
+?GetSortProp@CCatState@@QBEXIPAPBGPAW4SORTDIR@@@Z
+; void __stdcall GetStackTrace(char *,unsigned long)
+?GetStackTrace@@YGXPADK@Z
+; public: unsigned char const * __thiscall CGenericCiProxy::GetStartupData(struct _GUID &,unsigned long &)
+?GetStartupData@CGenericCiProxy@@QAEPBEAAU_GUID@@AAK@Z
+; public: class PStorage & __thiscall CPropStoreManager::GetStorage(unsigned long)
+?GetStorage@CPropStoreManager@@QAEAAVPStorage@@K@Z
+; public: unsigned short * __thiscall CKey::GetStr(void)const 
+?GetStr@CKey@@QBEPAGXZ
+; public: unsigned short * __thiscall CKeyBuf::GetStr(void)const 
+?GetStr@CKeyBuf@@QBEPAGXZ
+; public: virtual char * __thiscall CMemDeSerStream::GetString(void)
+?GetString@CMemDeSerStream@@UAEPADXZ
+; class CDbRestriction * __stdcall GetStringDbRestriction(unsigned short const *,unsigned long,struct IColumnMapper *,unsigned long)
+?GetStringDbRestriction@@YGPAVCDbRestriction@@PBGKPAUIColumnMapper@@K@Z
+; unsigned short const * __stdcall GetStringFromLCID(unsigned long)
+?GetStringFromLCID@@YGPBGK@Z
+; void __stdcall GetStringFromLCID(unsigned long,unsigned short *)
+?GetStringFromLCID@@YGXKPAG@Z
+; public: unsigned long __thiscall CPropStoreManager::GetTotalSizeInKB(void)
+?GetTotalSizeInKB@CPropStoreManager@@QAEKXZ
+; public: unsigned long __thiscall CPropertyStore::GetTotalSizeInKB(void)
+?GetTotalSizeInKB@CPropertyStore@@QAEKXZ
+; public: virtual unsigned long __thiscall CMemDeSerStream::GetULong(void)
+?GetULong@CMemDeSerStream@@UAEKXZ
+; public: virtual unsigned short __thiscall CMemDeSerStream::GetUShort(void)
+?GetUShort@CMemDeSerStream@@UAEGXZ
+; public: void __thiscall CIndexTable::GetUserHdrInfo(unsigned int &,int &)
+?GetUserHdrInfo@CIndexTable@@QAEXAAIAAH@Z
+; public: unsigned long __thiscall CMetaDataMgr::GetVPathAccess(unsigned short const *)
+?GetVPathAccess@CMetaDataMgr@@QAEKPBG@Z
+; public: unsigned long __thiscall CMetaDataMgr::GetVPathAuthorization(unsigned short const *)
+?GetVPathAuthorization@CMetaDataMgr@@QAEKPBG@Z
+; public: unsigned long __thiscall CMetaDataMgr::GetVPathSSLAccess(unsigned short const *)
+?GetVPathSSLAccess@CMetaDataMgr@@QAEKPBG@Z
+; public: unsigned short const * __thiscall CDriveInfo::GetVolumeName(int)
+?GetVolumeName@CDriveInfo@@QAEPBGH@Z
+; public: virtual void __thiscall CMemDeSerStream::GetWChar(unsigned short *,unsigned long)
+?GetWChar@CMemDeSerStream@@UAEXPAGK@Z
+; public: virtual unsigned short * __thiscall CMemDeSerStream::GetWString(void)
+?GetWString@CMemDeSerStream@@UAEPAGXZ
+; public: long __thiscall CDbCmdTreeNode::GetWeight(void)const 
+?GetWeight@CDbCmdTreeNode@@QBEJXZ
+; public: void __thiscall CDynStream::Grow(class PStorage &,unsigned long)
+?Grow@CDynStream@@QAEXAAVPStorage@@K@Z
+; private: void __thiscall CVirtualString::GrowBuffer(unsigned long)
+?GrowBuffer@CVirtualString@@AAEXK@Z
+; void __stdcall HTMLEscapeW(unsigned short const *,class CVirtualString &,unsigned long)
+?HTMLEscapeW@@YGXPBGAAVCVirtualString@@K@Z
+; private: void __thiscall CImpersonateClient::Impersonate(void)
+?Impersonate@CImpersonateClient@@AAEXXZ
+; public: void __thiscall CFileMapView::Init(void)
+?Init@CFileMapView@@QAEXXZ
+; public: void __thiscall CMmStreamConsecBuf::Init(class PMmStream *)
+?Init@CMmStreamConsecBuf@@QAEXPAVPMmStream@@@Z
+; public: int __thiscall CPidLookupTable::Init(class PRcovStorageObj *)
+?Init@CPidLookupTable@@QAEHPAVPRcovStorageObj@@@Z
+; public: void __thiscall CRcovStorageHdr::Init(unsigned long)
+?Init@CRcovStorageHdr@@QAEXK@Z
+; public: void __thiscall CRegChangeEvent::Init(void)
+?Init@CRegChangeEvent@@QAEXXZ
+; public: int __thiscall CSdidLookupTable::Init(class CiStorage *)
+?Init@CSdidLookupTable@@QAEHPAVCiStorage@@@Z
+; public: virtual void __thiscall CCombinedPropertyList::InitIterator(void)
+?InitIterator@CCombinedPropertyList@@UAEXXZ
+; public: virtual void __thiscall CPropertyList::InitIterator(void)
+?InitIterator@CPropertyList@@UAEXXZ
+; public: virtual void __thiscall CStaticPropertyList::InitIterator(void)
+?InitIterator@CStaticPropertyList@@UAEXXZ
+; public: void __thiscall CImpersonationTokenCache::Initialize(unsigned short const *,int,int,int,unsigned long,unsigned long,unsigned long)
+?Initialize@CImpersonationTokenCache@@QAEXPBGHHHKKK@Z
+; public: void __thiscall CDynStream::InitializeForRead(void)
+?InitializeForRead@CDynStream@@QAEXXZ
+; public: void __thiscall CDynStream::InitializeForWrite(unsigned long)
+?InitializeForWrite@CDynStream@@QAEXK@Z
+; protected: void __thiscall CDbCmdTreeNode::InsertChild(class CDbCmdTreeNode *)
+?InsertChild@CDbCmdTreeNode@@IAEXPAV1@@Z
+; public: int __thiscall CDbPropertyRestriction::IsCIDialect(void)
+?IsCIDialect@CDbPropertyRestriction@@QAEHXZ
+; public: int __thiscall CMachineAdmin::IsCIEnabled(void)
+?IsCIEnabled@CMachineAdmin@@QAEHXZ
+; public: int __thiscall CMachineAdmin::IsCIPaused(void)
+?IsCIPaused@CMachineAdmin@@QAEHXZ
+; public: int __thiscall CMachineAdmin::IsCIStarted(void)
+?IsCIStarted@CMachineAdmin@@QAEHXZ
+; public: int __thiscall CMachineAdmin::IsCIStopped(void)
+?IsCIStopped@CMachineAdmin@@QAEHXZ
+; public: int __thiscall CCatalogAdmin::IsCatalogInactive(void)
+?IsCatalogInactive@CCatalogAdmin@@QAEHXZ
+; int __stdcall IsDirectoryWritable(unsigned short const *)
+?IsDirectoryWritable@@YGHPBG@Z
+; public: static int __stdcall CMetaDataMgr::IsIISAdminUp(int &)
+?IsIISAdminUp@CMetaDataMgr@@SGHAAH@Z
+; public: static int __stdcall CImpersonateSystem::IsImpersonated(void)
+?IsImpersonated@CImpersonateSystem@@SGHXZ
+; public: int __thiscall CRestriction::IsLeaf(void)const 
+?IsLeaf@CRestriction@@QBEHXZ
+; int __stdcall IsNullPointerVariant(struct tagPROPVARIANT *)
+?IsNullPointerVariant@@YGHPAUtagPROPVARIANT@@@Z
+; public: int __thiscall CCatalogAdmin::IsPaused(void)
+?IsPaused@CCatalogAdmin@@QAEHXZ
+; public: static int __stdcall CImpersonateSystem::IsRunningAsSystem(void)
+?IsRunningAsSystem@CImpersonateSystem@@SGHXZ
+; public: int __thiscall CDriveInfo::IsSameDrive(unsigned short const *)
+?IsSameDrive@CDriveInfo@@QAEHPBG@Z
+; long __stdcall IsScopeValid(unsigned short const *,unsigned int,int)
+?IsScopeValid@@YGJPBGIH@Z
+; public: int __thiscall CCatalogAdmin::IsStarted(void)
+?IsStarted@CCatalogAdmin@@QAEHXZ
+; public: int __thiscall CCatalogAdmin::IsStopped(void)
+?IsStopped@CCatalogAdmin@@QAEHXZ
+; public: int __thiscall CAllocStorageVariant::IsValid(void)const 
+?IsValid@CAllocStorageVariant@@QBEHXZ
+; public: int __thiscall CNodeRestriction::IsValid(void)const 
+?IsValid@CNodeRestriction@@QBEHXZ
+; public: int __thiscall COccRestriction::IsValid(void)const 
+?IsValid@COccRestriction@@QBEHXZ
+; public: int __thiscall CRestriction::IsValid(void)const 
+?IsValid@CRestriction@@QBEHXZ
+; public: int __thiscall CFilterDaemon::IsWaitingForDocument(void)
+?IsWaitingForDocument@CFilterDaemon@@QAEHXZ
+; public: int __thiscall CDriveInfo::IsWriteProtected(void)
+?IsWriteProtected@CDriveInfo@@QAEHXZ
+; public: void __thiscall CLocalGlobalPropertyList::Load(unsigned short const * const)
+?Load@CLocalGlobalPropertyList@@QAEXQBG@Z
+; unsigned long __stdcall LocaleToCodepage(unsigned long)
+?LocaleToCodepage@@YGKK@Z
+; private: unsigned long __thiscall CPropertyStore::LokNewWorkId(unsigned long,int,int)
+?LokNewWorkId@CPropertyStore@@AAEKKHH@Z
+; public: int __thiscall CCatStateInfo::LokUpdate(void)
+?LokUpdate@CCatStateInfo@@QAEHXZ
+; public: void __thiscall CPropStoreManager::LongInit(int &,unsigned long &,void (__stdcall*)(unsigned long,int,void const *),void const *)
+?LongInit@CPropStoreManager@@QAEXAAHAAKP6GXKHPBX@Z2@Z
+; private: unsigned int __thiscall CPropStoreInfo::Lookup(unsigned long)
+?Lookup@CPropStoreInfo@@AAEIK@Z
+; public: unsigned long __thiscall CSdidLookupTable::LookupSDID(void *,unsigned long)
+?LookupSDID@CSdidLookupTable@@QAEKPAXK@Z
+; public: void __thiscall CPhysStorage::MakeBackupCopy(class CPhysStorage &,class PSaveProgressTracker &)
+?MakeBackupCopy@CPhysStorage@@QAEXAAV1@AAVPSaveProgressTracker@@@Z
+; public: void __thiscall CPidLookupTable::MakeBackupCopy(class PRcovStorageObj &,class PSaveProgressTracker &)
+?MakeBackupCopy@CPidLookupTable@@QAEXAAVPRcovStorageObj@@AAVPSaveProgressTracker@@@Z
+; public: void __thiscall CPropStoreManager::MakeBackupCopy(struct IProgressNotify *,int &,class CiStorage &,struct ICiEnumWorkids *,struct IEnumString * *)
+?MakeBackupCopy@CPropStoreManager@@QAEXPAUIProgressNotify@@AAHAAVCiStorage@@PAUICiEnumWorkids@@PAPAUIEnumString@@@Z
+; long __stdcall MakeICommand(struct IUnknown * *,unsigned short const *,unsigned short const *,struct IUnknown *)
+?MakeICommand@@YGJPAPAUIUnknown@@PBG1PAU1@@Z
+; long __stdcall MakeISearch(struct ISearchQueryHits * *,class CDbRestriction *,unsigned short const *)
+?MakeISearch@@YGJPAPAUISearchQueryHits@@PAVCDbRestriction@@PBG@Z
+; long __stdcall MakeLocalICommand(struct IUnknown * *,struct ICiCDocStore *,struct IUnknown *)
+?MakeLocalICommand@@YGJPAPAUIUnknown@@PAUICiCDocStore@@PAU1@@Z
+; long __stdcall MakeMetadataICommand(struct IUnknown * *,enum CiMetaData,unsigned short const *,unsigned short const *,struct IUnknown *)
+?MakeMetadataICommand@@YGJPAPAUIUnknown@@W4CiMetaData@@PBG2PAU1@@Z
+; public: void __thiscall CFullPath::MakePath(unsigned short const *)
+?MakePath@CFullPath@@QAEXPBG@Z
+; public: void __thiscall CFullPath::MakePath(unsigned short const *,unsigned int)
+?MakePath@CFullPath@@QAEXPBGI@Z
+; private: void __thiscall CImpersonateSystem::MakePrivileged(void)
+?MakePrivileged@CImpersonateSystem@@AAEXXZ
+; public: void __thiscall CMmStreamConsecBuf::Map(unsigned long)
+?Map@CMmStreamConsecBuf@@QAEXK@Z
+; public: int __thiscall CDynStream::MarkDirty(void)
+?MarkDirty@CDynStream@@QAEHXZ
+; public: void __thiscall CBaseStorageVariant::Marshall(class PSerStream &)const 
+?Marshall@CBaseStorageVariant@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CContentRestriction::Marshall(class PSerStream &)const 
+?Marshall@CContentRestriction@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CDbByGuid::Marshall(class PSerStream &)const 
+?Marshall@CDbByGuid@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CDbCmdTreeNode::Marshall(class PSerStream &)const 
+?Marshall@CDbCmdTreeNode@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CDbColId::Marshall(class PSerStream &)const 
+?Marshall@CDbColId@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CDbContentVector::Marshall(class PSerStream &)const 
+?Marshall@CDbContentVector@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CDbNumeric::Marshall(class PSerStream &)const 
+?Marshall@CDbNumeric@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CDbParameter::Marshall(class PSerStream &)const 
+?Marshall@CDbParameter@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CDbProp::Marshall(class PSerStream &)const 
+?Marshall@CDbProp@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CDbPropSet::Marshall(class PSerStream &)const 
+?Marshall@CDbPropSet@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CFullPropSpec::Marshall(class PSerStream &)const 
+?Marshall@CFullPropSpec@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CNatLanguageRestriction::Marshall(class PSerStream &)const 
+?Marshall@CNatLanguageRestriction@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CNodeRestriction::Marshall(class PSerStream &)const 
+?Marshall@CNodeRestriction@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CNotRestriction::Marshall(class PSerStream &)const 
+?Marshall@CNotRestriction@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CPropNameArray::Marshall(class PSerStream &)const 
+?Marshall@CPropNameArray@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CPropertyRestriction::Marshall(class PSerStream &)const 
+?Marshall@CPropertyRestriction@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CRestriction::Marshall(class PSerStream &)const 
+?Marshall@CRestriction@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CVectorRestriction::Marshall(class PSerStream &)const 
+?Marshall@CVectorRestriction@@QBEXAAVPSerStream@@@Z
+; public: int __thiscall CBufferCache::MinPageInUse(unsigned long &)
+?MinPageInUse@CBufferCache@@QAEHAAK@Z
+; public: int __thiscall CPhysStorage::MinPageInUse(unsigned long &)
+?MinPageInUse@CPhysStorage@@QAEHAAK@Z
+; unsigned long __stdcall MultiByteToXArrayWideChar(unsigned char const *,unsigned long,unsigned int,class XArray<unsigned short> &)
+?MultiByteToXArrayWideChar@@YGKPBEKIAAV?$XArray@G@@@Z
+; unsigned __int64 __cdecl My_wcstoui64(unsigned short const *,unsigned short * *,int)
+?My_wcstoui64@@YA_KPBGPAPAGH@Z
+; public: unsigned long __thiscall CPidRemapper::NameToReal(class CFullPropSpec const *)
+?NameToReal@CPidRemapper@@QAEKPBVCFullPropSpec@@@Z
+; public: static struct IStemmer * __stdcall CCiOle::NewStemmer(struct _GUID const &)
+?NewStemmer@CCiOle@@SGPAUIStemmer@@ABU_GUID@@@Z
+; public: static struct IWordBreaker * __stdcall CCiOle::NewWordBreaker(struct _GUID const &)
+?NewWordBreaker@CCiOle@@SGPAUIWordBreaker@@ABU_GUID@@@Z
+; public: int __thiscall CCatalogEnum::Next(void)
+?Next@CCatalogEnum@@QAEHXZ
+; public: virtual class CPropEntry const * __thiscall CCombinedPropertyList::Next(void)
+?Next@CCombinedPropertyList@@UAEPBVCPropEntry@@XZ
+; public: virtual long __stdcall CEnumString::Next(unsigned long,unsigned short * *,unsigned long *)
+?Next@CEnumString@@UAGJKPAPAGPAK@Z
+; public: virtual long __stdcall CEnumWorkid::Next(unsigned long,unsigned long *,unsigned long *)
+?Next@CEnumWorkid@@UAGJKPAK0@Z
+; public: virtual class CPropEntry const * __thiscall CPropertyList::Next(void)
+?Next@CPropertyList@@UAEPBVCPropEntry@@XZ
+; public: int __thiscall CScopeEnum::Next(void)
+?Next@CScopeEnum@@QAEHXZ
+; public: virtual class CPropEntry const * __thiscall CStaticPropertyList::Next(void)
+?Next@CStaticPropertyList@@UAEPBVCPropEntry@@XZ
+; public: unsigned long __thiscall CPropertyStoreWids::NextWorkId(void)
+?NextWorkId@CPropertyStoreWids@@QAEKXZ
+; public: int __thiscall CRequestClient::NotifyWriteRead(void *,void *,unsigned long,void *,unsigned long,unsigned long &)
+?NotifyWriteRead@CRequestClient@@QAEHPAX0K0KAAK@Z
+; public: unsigned int __thiscall CCatState::NumberOfColumns(void)const 
+?NumberOfColumns@CCatState@@QBEIXZ
+; public: unsigned int __thiscall CCatState::NumberOfSortProps(void)const 
+?NumberOfSortProps@CCatState@@QBEIXZ
+; public: void __thiscall CMmStream::Open(unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long,int)
+?Open@CMmStream@@QAEXPBGKKKKH@Z
+; public: int __thiscall COLEPropManager::Open(class CFunnyPath const &)
+?Open@COLEPropManager@@QAEHABVCFunnyPath@@@Z
+; public: void __thiscall CMmStream::OpenExclusive(unsigned short *,int)
+?OpenExclusive@CMmStream@@QAEXPAGH@Z
+; struct _iobuf * __stdcall OpenFileFromPath(unsigned short const *)
+?OpenFileFromPath@@YGPAU_iobuf@@PBG@Z
+; public: class CCompositePropRecord * __thiscall CPropStoreManager::OpenRecord(unsigned long,unsigned char *)
+?OpenRecord@CPropStoreManager@@QAEPAVCCompositePropRecord@@KPAE@Z
+; public: class CCompositePropRecordForWrites * __thiscall CPropStoreManager::OpenRecordForWrites(unsigned long,unsigned char *)
+?OpenRecordForWrites@CPropStoreManager@@QAEPAVCCompositePropRecordForWrites@@KPAE@Z
+; long __stdcall ParseCatalogURL(unsigned short const *,class XPtrST<unsigned short> &,class XPtrST<unsigned short> &)
+?ParseCatalogURL@@YGJPBGAAV?$XPtrST@G@@1@Z
+; public: class CRestriction * __thiscall CParseCommandTree::ParseExpression(class CDbCmdTreeNode *)
+?ParseExpression@CParseCommandTree@@QAEPAVCRestriction@@PAVCDbCmdTreeNode@@@Z
+; public: static void __stdcall CPropertyList::ParseOneLine(class CQueryScanner &,int,class XPtr<class CPropEntry> &)
+?ParseOneLine@CPropertyList@@SGXAAVCQueryScanner@@HAAV?$XPtr@VCPropEntry@@@@@Z
+; public: class CDbRestriction * __thiscall CQueryParser::ParseQueryPhrase(void)
+?ParseQueryPhrase@CQueryParser@@QAEPAVCDbRestriction@@XZ
+; class CDbColumns * __stdcall ParseStringColumns(unsigned short const *,struct IColumnMapper *,unsigned long,class PVariableSet *,class CDynArray<unsigned short> *)
+?ParseStringColumns@@YGPAVCDbColumns@@PBGPAUIColumnMapper@@KPAVPVariableSet@@PAV?$CDynArray@G@@@Z
+; public: void __thiscall CParseCommandTree::ParseTree(class CDbCmdTreeNode *)
+?ParseTree@CParseCommandTree@@QAEXPAVCDbCmdTreeNode@@@Z
+; public: int __thiscall CCatalogAdmin::Pause(void)
+?Pause@CCatalogAdmin@@QAEHXZ
+; public: int __thiscall CMachineAdmin::PauseCI(void)
+?PauseCI@CMachineAdmin@@QAEHXZ
+; public: virtual unsigned long __thiscall CMemDeSerStream::PeekULong(void)
+?PeekULong@CMemDeSerStream@@UAEKXZ
+; public: unsigned long __thiscall CPidMapper::PidToRealPid(unsigned long)
+?PidToRealPid@CPidMapper@@QAEKK@Z
+; public: unsigned long __thiscall CStandardPropMapper::PropertyToPropId(class CFullPropSpec const &,int)
+?PropertyToPropId@CStandardPropMapper@@QAEKABVCFullPropSpec@@H@Z
+; public: virtual long __stdcall CFwPropertyMapper::PropertyToPropid(struct tagFULLPROPSPEC const *,int,unsigned long *)
+?PropertyToPropid@CFwPropertyMapper@@UAGJPBUtagFULLPROPSPEC@@HPAK@Z
+; public: void __thiscall CValueNormalizer::PutMaxValue(unsigned long,unsigned long &,enum VARENUM)
+?PutMaxValue@CValueNormalizer@@QAEXKAAKW4VARENUM@@@Z
+; public: void __thiscall CValueNormalizer::PutMinValue(unsigned long,unsigned long &,enum VARENUM)
+?PutMinValue@CValueNormalizer@@QAEXKAAKW4VARENUM@@@Z
+; public: void __thiscall CValueNormalizer::PutValue(unsigned long,unsigned long &,class CStorageVariant const &)
+?PutValue@CValueNormalizer@@QAEXKAAKABVCStorageVariant@@@Z
+; void __stdcall PutWString(class PSerStream &,unsigned short const *)
+?PutWString@@YGXAAVPSerStream@@PBG@Z
+; public: static void __stdcall CDbCmdTreeNode::PutWString(class PSerStream &,unsigned short const *)
+?PutWString@CDbCmdTreeNode@@SGXAAVPSerStream@@PBG@Z
+; private: class CDbRestriction * __thiscall CQueryParser::Query(class CDbNodeRestriction *)
+?Query@CQueryParser@@AAEPAVCDbRestriction@@PAVCDbNodeRestriction@@@Z
+; public: class CCatalogAdmin * __thiscall CCatalogEnum::QueryCatalogAdmin(void)
+?QueryCatalogAdmin@CCatalogEnum@@QAEPAVCCatalogAdmin@@XZ
+; public: class CCatalogAdmin * __thiscall CMachineAdmin::QueryCatalogAdmin(unsigned short const *)
+?QueryCatalogAdmin@CMachineAdmin@@QAEPAVCCatalogAdmin@@PBG@Z
+; public: class CCatalogEnum * __thiscall CMachineAdmin::QueryCatalogEnum(void)
+?QueryCatalogEnum@CMachineAdmin@@QAEPAVCCatalogEnum@@XZ
+; public: virtual long __stdcall CDbProperties::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CDbProperties@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CEmptyPropertyList::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CEmptyPropertyList@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CEnumString::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CEnumString@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CEnumWorkid::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CEnumWorkid@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CFwPropertyMapper::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CFwPropertyMapper@@UAGJABU_GUID@@PAPAX@Z
+; public: virtual long __stdcall CQueryUnknown::QueryInterface(struct _GUID const &,void * *)
+?QueryInterface@CQueryUnknown@@UAGJABU_GUID@@PAPAX@Z
+; public: class PRcovStorageObj * __thiscall CiStorage::QueryPidLookupTable(unsigned long)
+?QueryPidLookupTable@CiStorage@@QAEPAVPRcovStorageObj@@K@Z
+; public: class CScopeAdmin * __thiscall CCatalogAdmin::QueryScopeAdmin(unsigned short const *)
+?QueryScopeAdmin@CCatalogAdmin@@QAEPAVCScopeAdmin@@PBG@Z
+; public: class CScopeAdmin * __thiscall CScopeEnum::QueryScopeAdmin(void)
+?QueryScopeAdmin@CScopeEnum@@QAEPAVCScopeAdmin@@XZ
+; public: class CScopeEnum * __thiscall CCatalogAdmin::QueryScopeEnum(void)
+?QueryScopeEnum@CCatalogAdmin@@QAEPAVCScopeEnum@@XZ
+; public: class PRcovStorageObj * __thiscall CiStorage::QueryScopeList(unsigned long)
+?QueryScopeList@CiStorage@@QAEPAVPRcovStorageObj@@K@Z
+; public: class PRcovStorageObj * __thiscall CiStorage::QuerySdidLookupTable(unsigned long)
+?QuerySdidLookupTable@CiStorage@@QAEPAVPRcovStorageObj@@K@Z
+; public: class PRcovStorageObj * __thiscall CiStorage::QueryVirtualScopeList(unsigned long)
+?QueryVirtualScopeList@CiStorage@@QAEPAVPRcovStorageObj@@K@Z
+; public: void __thiscall CPidRemapper::ReBuild(class CPidMapper const &)
+?ReBuild@CPidRemapper@@QAEXABVCPidMapper@@@Z
+; public: void __thiscall CQueryUnknown::ReInit(unsigned long,class CRowset * *)
+?ReInit@CQueryUnknown@@QAEXKPAPAVCRowset@@@Z
+; public: void __thiscall CImpersonationTokenCache::ReInitializeIISScopes(void)
+?ReInitializeIISScopes@CImpersonationTokenCache@@QAEXXZ
+; private: virtual void __thiscall CPhysIndex::ReOpenStream(void)
+?ReOpenStream@CPhysIndex@@EAEXXZ
+; public: unsigned long __thiscall CDynStream::Read(void *,unsigned long)
+?Read@CDynStream@@QAEKPAXK@Z
+; public: unsigned long __thiscall CRcovStrmTrans::Read(void *,unsigned long)
+?Read@CRcovStrmTrans@@QAEKPAXK@Z
+; public: unsigned long __thiscall CRegAccess::Read(unsigned short const *,unsigned long)
+?Read@CRegAccess@@QAEKPBGK@Z
+; public: unsigned short * __thiscall CRegAccess::Read(unsigned short const *,unsigned short const *)
+?Read@CRegAccess@@QAEPAGPBG0@Z
+; public: int __thiscall CPropStoreManager::ReadPrimaryProperty(unsigned long,unsigned long,struct tagPROPVARIANT &)
+?ReadPrimaryProperty@CPropStoreManager@@QAEHKKAAUtagPROPVARIANT@@@Z
+; public: int __thiscall COLEPropManager::ReadProperty(class CFullPropSpec const &,struct tagPROPVARIANT &)
+?ReadProperty@COLEPropManager@@QAEHABVCFullPropSpec@@AAUtagPROPVARIANT@@@Z
+; public: int __thiscall CPropStoreManager::ReadProperty(class CCompositePropRecord &,unsigned long,struct tagPROPVARIANT &)
+?ReadProperty@CPropStoreManager@@QAEHAAVCCompositePropRecord@@KAAUtagPROPVARIANT@@@Z
+; public: int __thiscall CPropStoreManager::ReadProperty(class CCompositePropRecord &,unsigned long,struct tagPROPVARIANT &,unsigned char *,unsigned int *)
+?ReadProperty@CPropStoreManager@@QAEHAAVCCompositePropRecord@@KAAUtagPROPVARIANT@@PAEPAI@Z
+; public: int __thiscall CPropStoreManager::ReadProperty(class CCompositePropRecord &,unsigned long,struct tagPROPVARIANT *,unsigned int *)
+?ReadProperty@CPropStoreManager@@QAEHAAVCCompositePropRecord@@KPAUtagPROPVARIANT@@PAI@Z
+; public: int __thiscall CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT &)
+?ReadProperty@CPropStoreManager@@QAEHKKAAUtagPROPVARIANT@@@Z
+; public: int __thiscall CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT &,unsigned char *,unsigned int *)
+?ReadProperty@CPropStoreManager@@QAEHKKAAUtagPROPVARIANT@@PAEPAI@Z
+; public: int __thiscall CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT *,unsigned int *)
+?ReadProperty@CPropStoreManager@@QAEHKKPAUtagPROPVARIANT@@PAI@Z
+; public: int __thiscall CPropertyStore::ReadProperty(class CPropRecordNoLock &,unsigned long,struct tagPROPVARIANT *,unsigned int *)
+?ReadProperty@CPropertyStore@@QAEHAAVCPropRecordNoLock@@KPAUtagPROPVARIANT@@PAI@Z
+; public: int __thiscall CPropertyStore::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT &)
+?ReadProperty@CPropertyStore@@QAEHKKAAUtagPROPVARIANT@@@Z
+; public: unsigned char __thiscall CDFA::Recognize(unsigned short const *)
+?Recognize@CDFA@@QAEEPBG@Z
+; public: void __thiscall CCiRegParams::Refresh(struct ICiAdminParams *,int)
+?Refresh@CCiRegParams@@QAEXPAUICiAdminParams@@H@Z
+; public: void __thiscall CDefColumnRegEntry::Refresh(int)
+?Refresh@CDefColumnRegEntry@@QAEXH@Z
+; public: void __thiscall CWorkQueue::RefreshParams(unsigned long,unsigned long)
+?RefreshParams@CWorkQueue@@QAEXKK@Z
+; public: virtual unsigned long __stdcall CDbProperties::Release(void)
+?Release@CDbProperties@@UAGKXZ
+; public: virtual unsigned long __stdcall CEmptyPropertyList::Release(void)
+?Release@CEmptyPropertyList@@UAGKXZ
+; public: virtual unsigned long __stdcall CEnumString::Release(void)
+?Release@CEnumString@@UAGKXZ
+; public: virtual unsigned long __stdcall CEnumWorkid::Release(void)
+?Release@CEnumWorkid@@UAGKXZ
+; public: virtual unsigned long __stdcall CFwPropertyMapper::Release(void)
+?Release@CFwPropertyMapper@@UAGKXZ
+; public: void __thiscall CImpersonateRemoteAccess::Release(void)
+?Release@CImpersonateRemoteAccess@@QAEXXZ
+; public: virtual unsigned long __stdcall CQueryUnknown::Release(void)
+?Release@CQueryUnknown@@UAGKXZ
+; public: void __thiscall CWorkQueue::Release(class CWorkThread *)
+?Release@CWorkQueue@@QAEXPAVCWorkThread@@@Z
+; private: void __thiscall CPropertyStore::ReleaseRead(class CReadWriteLockRecord &)
+?ReleaseRead@CPropertyStore@@AAEXAAVCReadWriteLockRecord@@@Z
+; public: void __thiscall CWorkQueue::ReleaseWorkThreads(void)
+?ReleaseWorkThreads@CWorkQueue@@QAEXXZ
+; public: void __thiscall CColumns::Remove(unsigned int)
+?Remove@CColumns@@QAEXI@Z
+; public: void __thiscall CDbSortSet::Remove(unsigned int)
+?Remove@CDbSortSet@@QAEXI@Z
+; public: void __thiscall CSort::Remove(unsigned int)
+?Remove@CSort@@QAEXI@Z
+; public: void __thiscall CWorkQueue::Remove(class PWorkItem *)
+?Remove@CWorkQueue@@QAEXPAVPWorkItem@@@Z
+; public: void __thiscall CMachineAdmin::RemoveCatalog(unsigned short const *,int)
+?RemoveCatalog@CMachineAdmin@@QAEXPBGH@Z
+; public: void __thiscall CMachineAdmin::RemoveCatalogFiles(unsigned short const *)
+?RemoveCatalogFiles@CMachineAdmin@@QAEXPBG@Z
+; public: class CRestriction * __thiscall CNodeRestriction::RemoveChild(unsigned int)
+?RemoveChild@CNodeRestriction@@QAEPAVCRestriction@@I@Z
+; protected: class CDbCmdTreeNode * __thiscall CDbCmdTreeNode::RemoveFirstChild(void)
+?RemoveFirstChild@CDbCmdTreeNode@@IAEPAV1@XZ
+; public: void __thiscall CCatalogAdmin::RemoveScope(unsigned short const *)
+?RemoveScope@CCatalogAdmin@@QAEXPBG@Z
+; public: void __thiscall CPhysStorage::Reopen(int)
+?Reopen@CPhysStorage@@QAEXH@Z
+; public: void __thiscall CEventLog::ReportEventW(class CEventItem &)
+?ReportEventW@CEventLog@@QAEXAAVCEventItem@@@Z
+; public: void __thiscall CFwEventItem::ReportEventW(struct ICiCAdviseStatus &)
+?ReportEventW@CFwEventItem@@QAEXAAUICiCAdviseStatus@@@Z
+; public: int __thiscall CPhysStorage::RequiresFlush(unsigned long)
+?RequiresFlush@CPhysStorage@@QAEHK@Z
+; public: void __thiscall CRegChangeEvent::Reset(void)
+?Reset@CRegChangeEvent@@QAEXXZ
+; public: void __thiscall CQueryScanner::ResetBuffer(unsigned short const *)
+?ResetBuffer@CQueryScanner@@QAEXPBG@Z
+; protected: void __thiscall CAllocStorageVariant::ResetType(class PMemoryAllocator &)
+?ResetType@CAllocStorageVariant@@IAEXAAVPMemoryAllocator@@@Z
+; public: void __thiscall CProcess::Resume(void)
+?Resume@CProcess@@QAEXXZ
+; public: void __thiscall CPhysStorage::ReturnBuffer(unsigned long,int,int)
+?ReturnBuffer@CPhysStorage@@QAEXKHH@Z
+; public: void __thiscall CMmStreamConsecBuf::Rewind(void)
+?Rewind@CMmStreamConsecBuf@@QAEXXZ
+; unsigned long __stdcall SaComputeSize(unsigned short,struct tagSAFEARRAY &)
+?SaComputeSize@@YGKGAAUtagSAFEARRAY@@@Z
+; int __stdcall SaCreateAndCopy(class PMemoryAllocator &,struct tagSAFEARRAY *,struct tagSAFEARRAY * *)
+?SaCreateAndCopy@@YGHAAVPMemoryAllocator@@PAUtagSAFEARRAY@@PAPAU2@@Z
+; int __stdcall SaCreateData(class PVarAllocator &,unsigned short,struct tagSAFEARRAY &,struct tagSAFEARRAY &,int)
+?SaCreateData@@YGHAAVPVarAllocator@@GAAUtagSAFEARRAY@@1H@Z
+; public: int __thiscall CRcovStrmTrans::Seek(unsigned long)
+?Seek@CRcovStrmTrans@@QAEHK@Z
+; public: void __thiscall CDbQueryResults::Serialize(class PSerStream &)const 
+?Serialize@CDbQueryResults@@QBEXAAVPSerStream@@@Z
+; public: void __thiscall CPidRemapper::Set(class XArray<unsigned long> &)
+?Set@CPidRemapper@@QAEXAAV?$XArray@K@@@Z
+; public: void __thiscall CScopeAdmin::SetAlias(unsigned short const *)
+?SetAlias@CScopeAdmin@@QAEXPBG@Z
+; public: void __thiscall CStorageVariant::SetBOOL(short,unsigned int)
+?SetBOOL@CStorageVariant@@QAEXFI@Z
+; public: void __thiscall CAllocStorageVariant::SetBSTR(unsigned short *,class PMemoryAllocator &)
+?SetBSTR@CAllocStorageVariant@@QAEXPAGAAVPMemoryAllocator@@@Z
+; public: void __thiscall CStorageVariant::SetBSTR(unsigned short *,unsigned int)
+?SetBSTR@CStorageVariant@@QAEXPAGI@Z
+; public: void __thiscall CPropStoreManager::SetBackupSize(unsigned long,unsigned long)
+?SetBackupSize@CPropStoreManager@@QAEXKK@Z
+; public: void __thiscall CCatState::SetCD(unsigned short const *)
+?SetCD@CCatState@@QAEXPBG@Z
+; public: void __thiscall CStorageVariant::SetCLSID(struct _GUID,unsigned int)
+?SetCLSID@CStorageVariant@@QAEXU_GUID@@I@Z
+; public: void __thiscall CStorageVariant::SetCY(union tagCY,unsigned int)
+?SetCY@CStorageVariant@@QAEXTtagCY@@I@Z
+; public: void __thiscall CCatState::SetCatalog(unsigned short const *)
+?SetCatalog@CCatState@@QAEXPBG@Z
+; public: void __thiscall CCatState::SetColumn(unsigned short const *,unsigned int)
+?SetColumn@CCatState@@QAEXPBGI@Z
+; private: void __thiscall CQueryParser::SetCurrentProperty(unsigned short const *,enum PropertyType)
+?SetCurrentProperty@CQueryParser@@AAEXPBGW4PropertyType@@@Z
+; public: void __thiscall CStorageVariant::SetDATE(double,unsigned int)
+?SetDATE@CStorageVariant@@QAEXNI@Z
+; public: void __thiscall CCatalogAdmin::SetDWORDParam(unsigned short const *,unsigned long)
+?SetDWORDParam@CCatalogAdmin@@QAEXPBGK@Z
+; public: void __thiscall CMachineAdmin::SetDWORDParam(unsigned short const *,unsigned long)
+?SetDWORDParam@CMachineAdmin@@QAEXPBGK@Z
+; public: void __thiscall CCatState::SetDefaultProperty(unsigned short const *)
+?SetDefaultProperty@CCatState@@QAEXPBG@Z
+; public: void __thiscall CRangeRestriction::SetEndKey(class CKeyBuf const &)
+?SetEndKey@CRangeRestriction@@QAEXABVCKeyBuf@@@Z
+; public: void __thiscall CScopeAdmin::SetExclude(int)
+?SetExclude@CScopeAdmin@@QAEXH@Z
+; public: void __thiscall CStorageVariant::SetFILETIME(struct _FILETIME,unsigned int)
+?SetFILETIME@CStorageVariant@@QAEXU_FILETIME@@I@Z
+; public: void __thiscall CStorageVariant::SetI2(short,unsigned int)
+?SetI2@CStorageVariant@@QAEXFI@Z
+; public: void __thiscall CStorageVariant::SetI4(long,unsigned int)
+?SetI4@CStorageVariant@@QAEXJI@Z
+; public: void __thiscall CStorageVariant::SetI8(union _LARGE_INTEGER,unsigned int)
+?SetI8@CStorageVariant@@QAEXT_LARGE_INTEGER@@I@Z
+; public: void __thiscall CStorageVariant::SetLPSTR(char const *,unsigned int)
+?SetLPSTR@CStorageVariant@@QAEXPBDI@Z
+; public: void __thiscall CStorageVariant::SetLPWSTR(unsigned short const *,unsigned int)
+?SetLPWSTR@CStorageVariant@@QAEXPBGI@Z
+; public: void __thiscall CCatState::SetLocale(unsigned short const *)
+?SetLocale@CCatState@@QAEXPBG@Z
+; public: void __thiscall CScopeAdmin::SetLogonInfo(unsigned short const *,unsigned short const *,class CCatalogAdmin &)
+?SetLogonInfo@CScopeAdmin@@QAEXPBG0AAVCCatalogAdmin@@@Z
+; public: void __thiscall CPropStoreManager::SetMappedCacheSize(unsigned long,unsigned long)
+?SetMappedCacheSize@CPropStoreManager@@QAEXKK@Z
+; public: void __thiscall CCatState::SetNumberOfColumns(unsigned int)
+?SetNumberOfColumns@CCatState@@QAEXI@Z
+; public: void __thiscall CCatState::SetNumberOfSortProps(unsigned int)
+?SetNumberOfSortProps@CCatState@@QAEXI@Z
+; public: void __thiscall CScopeAdmin::SetPath(unsigned short const *)
+?SetPath@CScopeAdmin@@QAEXPBG@Z
+; public: void __thiscall CContentRestriction::SetPhrase(unsigned short const *)
+?SetPhrase@CContentRestriction@@QAEXPBG@Z
+; public: void __thiscall CNatLanguageRestriction::SetPhrase(unsigned short const *)
+?SetPhrase@CNatLanguageRestriction@@QAEXPBG@Z
+; public: void __thiscall CGenericCiProxy::SetPriority(unsigned long,unsigned long)
+?SetPriority@CGenericCiProxy@@QAEXKK@Z
+; public: virtual long __stdcall CDbProperties::SetProperties(unsigned long,struct tagDBPROPSET * const)
+?SetProperties@CDbProperties@@UAGJKQAUtagDBPROPSET@@@Z
+; public: int __thiscall CDbColId::SetProperty(unsigned short const *)
+?SetProperty@CDbColId@@QAEHPBG@Z
+; public: int __thiscall CDbPropBaseRestriction::SetProperty(struct tagDBID const &)
+?SetProperty@CDbPropBaseRestriction@@QAEHABUtagDBID@@@Z
+; public: int __thiscall CDbPropBaseRestriction::SetProperty(class CDbColumnNode const &)
+?SetProperty@CDbPropBaseRestriction@@QAEHABVCDbColumnNode@@@Z
+; public: int __thiscall CFullPropSpec::SetProperty(unsigned short const *)
+?SetProperty@CFullPropSpec@@QAEHPBG@Z
+; public: void __thiscall CFullPropSpec::SetProperty(unsigned long)
+?SetProperty@CFullPropSpec@@QAEXK@Z
+; public: void __thiscall CStorageVariant::SetR4(float,unsigned int)
+?SetR4@CStorageVariant@@QAEXMI@Z
+; public: void __thiscall CStorageVariant::SetR8(double,unsigned int)
+?SetR8@CStorageVariant@@QAEXNI@Z
+; public: int __thiscall CDbSelectNode::SetRestriction(class CDbCmdTreeNode *)
+?SetRestriction@CDbSelectNode@@QAEHPAVCDbCmdTreeNode@@@Z
+; public: static void __stdcall CImpersonateSystem::SetRunningAsSystem(void)
+?SetRunningAsSystem@CImpersonateSystem@@SGXXZ
+; public: void __thiscall CMachineAdmin::SetSZParam(unsigned short const *,unsigned short const *,unsigned long)
+?SetSZParam@CMachineAdmin@@QAEXPBG0K@Z
+; void __stdcall SetScopeProperties(struct ICommand *,unsigned int,unsigned short const * const *,unsigned long const *,unsigned short const * const *,unsigned short const * const *)
+?SetScopeProperties@@YGXPAUICommand@@IPBQBGPBK11@Z
+; long __stdcall SetScopePropertiesNoThrow(struct ICommand *,unsigned int,unsigned short const * const *,unsigned long const *,unsigned short const * const *,unsigned short const * const *)
+?SetScopePropertiesNoThrow@@YGJPAUICommand@@IPBQBGPBK11@Z
+; void __stdcall SetSecret(unsigned short const *,unsigned short const *,unsigned short const *,unsigned long)
+?SetSecret@@YGXPBG00K@Z
+; public: void __thiscall CCatState::SetSortProp(unsigned short const *,enum SORTDIR,unsigned int)
+?SetSortProp@CCatState@@QAEXPBGW4SORTDIR@@I@Z
+; public: void __thiscall CRangeRestriction::SetStartKey(class CKeyBuf const &)
+?SetStartKey@CRangeRestriction@@QAEXABVCKeyBuf@@@Z
+; public: void __thiscall CStorageVariant::SetUI1(unsigned char,unsigned int)
+?SetUI1@CStorageVariant@@QAEXEI@Z
+; public: void __thiscall CStorageVariant::SetUI2(unsigned short,unsigned int)
+?SetUI2@CStorageVariant@@QAEXGI@Z
+; public: void __thiscall CStorageVariant::SetUI4(unsigned long,unsigned int)
+?SetUI4@CStorageVariant@@QAEXKI@Z
+; public: void __thiscall CStorageVariant::SetUI8(union _ULARGE_INTEGER,unsigned int)
+?SetUI8@CStorageVariant@@QAEXT_ULARGE_INTEGER@@I@Z
+; public: void __thiscall CPropertyRestriction::SetValue(struct tagBLOB &)
+?SetValue@CPropertyRestriction@@QAEXAAUtagBLOB@@@Z
+; public: void __thiscall CPropertyRestriction::SetValue(unsigned short *)
+?SetValue@CPropertyRestriction@@QAEXPAG@Z
+; public: void __thiscall CPropertyRestriction::SetValue(struct _GUID *)
+?SetValue@CPropertyRestriction@@QAEXPAU_GUID@@@Z
+; public: void __thiscall CDbCmdTreeNode::SetWeight(long)
+?SetWeight@CDbCmdTreeNode@@QAEXJ@Z
+; public: void __thiscall CPropStoreManager::Setup(unsigned long,unsigned long,unsigned long,unsigned long,int,unsigned long)
+?Setup@CPropStoreManager@@QAEXKKKKHK@Z
+; public: void __thiscall CDynStream::Shrink(class PStorage &,unsigned long)
+?Shrink@CDynStream@@QAEXAAVPStorage@@K@Z
+; public: unsigned long __thiscall CPhysStorage::ShrinkFromFront(unsigned long,unsigned long)
+?ShrinkFromFront@CPhysStorage@@QAEKKK@Z
+; public: void __thiscall CPhysStorage::ShrinkToFit(void)
+?ShrinkToFit@CPhysStorage@@QAEXXZ
+; public: static void __stdcall CCiOle::Shutdown(void)
+?Shutdown@CCiOle@@SGXXZ
+; public: void __thiscall CPropStoreManager::Shutdown(void)
+?Shutdown@CPropStoreManager@@QAEXXZ
+; public: void __thiscall CShtOle::Shutdown(void)
+?Shutdown@CShtOle@@QAEXXZ
+; public: void __thiscall CWorkQueue::Shutdown(void)
+?Shutdown@CWorkQueue@@QAEXXZ
+; public: unsigned long __thiscall CDbQueryResults::Size(void)
+?Size@CDbQueryResults@@QAEKXZ
+; public: virtual long __stdcall CEnumString::Skip(unsigned long)
+?Skip@CEnumString@@UAGJK@Z
+; public: virtual long __stdcall CEnumWorkid::Skip(unsigned long)
+?Skip@CEnumWorkid@@UAGJK@Z
+; public: virtual void __thiscall CMemDeSerStream::SkipBlob(unsigned long)
+?SkipBlob@CMemDeSerStream@@UAEXK@Z
+; public: virtual void __thiscall CMemDeSerStream::SkipByte(void)
+?SkipByte@CMemDeSerStream@@UAEXXZ
+; public: virtual void __thiscall CMemDeSerStream::SkipChar(unsigned long)
+?SkipChar@CMemDeSerStream@@UAEXK@Z
+; public: virtual void __thiscall CMemDeSerStream::SkipDouble(void)
+?SkipDouble@CMemDeSerStream@@UAEXXZ
+; public: virtual void __thiscall CMemDeSerStream::SkipFloat(void)
+?SkipFloat@CMemDeSerStream@@UAEXXZ
+; public: virtual void __thiscall CMemDeSerStream::SkipGUID(void)
+?SkipGUID@CMemDeSerStream@@UAEXXZ
+; public: virtual void __thiscall CMemDeSerStream::SkipLong(void)
+?SkipLong@CMemDeSerStream@@UAEXXZ
+; public: virtual void __thiscall CMemDeSerStream::SkipULong(void)
+?SkipULong@CMemDeSerStream@@UAEXXZ
+; public: virtual void __thiscall CMemDeSerStream::SkipUShort(void)
+?SkipUShort@CMemDeSerStream@@UAEXXZ
+; public: virtual void __thiscall CMemDeSerStream::SkipWChar(unsigned long)
+?SkipWChar@CMemDeSerStream@@UAEXK@Z
+; public: int __thiscall CCatalogAdmin::Start(void)
+?Start@CCatalogAdmin@@QAEHXZ
+; public: int __thiscall CMachineAdmin::StartCI(void)
+?StartCI@CMachineAdmin@@QAEHXZ
+; public: int __thiscall CCatalogAdmin::Stop(void)
+?Stop@CCatalogAdmin@@QAEHXZ
+; public: int __thiscall CMachineAdmin::StopCI(void)
+?StopCI@CMachineAdmin@@QAEHXZ
+; public: void __thiscall CFilterDaemon::StopFiltering(void)
+?StopFiltering@CFilterDaemon@@QAEXXZ
+; public: unsigned int __thiscall CKey::StrLen(void)const 
+?StrLen@CKey@@QBEIXZ
+; public: unsigned int __thiscall CKeyBuf::StrLen(void)const 
+?StrLen@CKeyBuf@@QBEIXZ
+; void __cdecl SystemExceptionTranslator(unsigned int,struct _EXCEPTION_POINTERS *)
+?SystemExceptionTranslator@@YAXIPAU_EXCEPTION_POINTERS@@@Z
+; public: void __thiscall CDbCmdTreeNode::TransferNode(class CDbCmdTreeNode *)
+?TransferNode@CDbCmdTreeNode@@QAEXPAV1@@Z
+; public: unsigned long __thiscall CRestriction::TreeCount(void)const 
+?TreeCount@CRestriction@@QBEKXZ
+; public: void __thiscall CMachineAdmin::TunePerformance(int,unsigned short,unsigned short)
+?TunePerformance@CMachineAdmin@@QAEXHGG@Z
+; void __stdcall URLEscapeW(unsigned short const *,class CVirtualString &,unsigned long,int)
+?URLEscapeW@@YGXPBGAAVCVirtualString@@KH@Z
+; public: int __thiscall CDbByGuid::UnMarshall(class PDeSerStream &)
+?UnMarshall@CDbByGuid@@QAEHAAVPDeSerStream@@@Z
+; public: int __thiscall CDbCmdTreeNode::UnMarshall(class PDeSerStream &)
+?UnMarshall@CDbCmdTreeNode@@QAEHAAVPDeSerStream@@@Z
+; public: int __thiscall CDbColId::UnMarshall(class PDeSerStream &)
+?UnMarshall@CDbColId@@QAEHAAVPDeSerStream@@@Z
+; public: int __thiscall CDbContentVector::UnMarshall(class PDeSerStream &)
+?UnMarshall@CDbContentVector@@QAEHAAVPDeSerStream@@@Z
+; public: int __thiscall CDbNumeric::UnMarshall(class PDeSerStream &)
+?UnMarshall@CDbNumeric@@QAEHAAVPDeSerStream@@@Z
+; public: int __thiscall CDbParameter::UnMarshall(class PDeSerStream &)
+?UnMarshall@CDbParameter@@QAEHAAVPDeSerStream@@@Z
+; public: int __thiscall CDbProp::UnMarshall(class PDeSerStream &)
+?UnMarshall@CDbProp@@QAEHAAVPDeSerStream@@@Z
+; public: int __thiscall CDbPropSet::UnMarshall(class PDeSerStream &)
+?UnMarshall@CDbPropSet@@QAEHAAVPDeSerStream@@@Z
+; public: int __thiscall CDbProperties::UnMarshall(class PDeSerStream &)
+?UnMarshall@CDbProperties@@QAEHAAVPDeSerStream@@@Z
+; public: static class CRestriction * __stdcall CRestriction::UnMarshall(class PDeSerStream &)
+?UnMarshall@CRestriction@@SGPAV1@AAVPDeSerStream@@@Z
+; public: static class CDbCmdTreeNode * __stdcall CDbCmdTreeNode::UnMarshallTree(class PDeSerStream &)
+?UnMarshallTree@CDbCmdTreeNode@@SGPAV1@AAVPDeSerStream@@@Z
+; void __stdcall UnPickle(int,class XPtr<class CColumnSet> &,class XPtr<class CRestriction> &,class XPtr<class CSortSet> &,class XPtr<class CCategorizationSet> &,class CRowsetProperties &,class XPtr<class CPidMapper> &,unsigned char *,unsigned long)
+?UnPickle@@YGXHAAV?$XPtr@VCColumnSet@@@@AAV?$XPtr@VCRestriction@@@@AAV?$XPtr@VCSortSet@@@@AAV?$XPtr@VCCategorizationSet@@@@AAVCRowsetProperties@@AAV?$XPtr@VCPidMapper@@@@PAEK@Z
+; protected: void __thiscall CRcovStrmTrans::Unmap(enum CRcovStorageHdr::DataCopyNum)
+?Unmap@CRcovStrmTrans@@IAEXW4DataCopyNum@CRcovStorageHdr@@@Z
+; unsigned long __stdcall UpdateContentIndex(unsigned short const *,unsigned short const *,unsigned short const *,int)
+?UpdateContentIndex@@YGKPBG00H@Z
+; public: void __thiscall CDiskFreeStatus::UpdateDiskLowInfo(void)
+?UpdateDiskLowInfo@CDiskFreeStatus@@QAEXXZ
+; int __stdcall VT_VARIANT_EQ(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
+?VT_VARIANT_EQ@@YGHABUtagPROPVARIANT@@0@Z
+; int __stdcall VT_VARIANT_GE(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
+?VT_VARIANT_GE@@YGHABUtagPROPVARIANT@@0@Z
+; int __stdcall VT_VARIANT_GT(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
+?VT_VARIANT_GT@@YGHABUtagPROPVARIANT@@0@Z
+; int __stdcall VT_VARIANT_LE(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
+?VT_VARIANT_LE@@YGHABUtagPROPVARIANT@@0@Z
+; int __stdcall VT_VARIANT_LT(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
+?VT_VARIANT_LT@@YGHABUtagPROPVARIANT@@0@Z
+; int __stdcall VT_VARIANT_NE(struct tagPROPVARIANT const &,struct tagPROPVARIANT const &)
+?VT_VARIANT_NE@@YGHABUtagPROPVARIANT@@0@Z
+; int __stdcall ValidateScopeRestriction(class CRestriction *)
+?ValidateScopeRestriction@@YGHPAVCRestriction@@@Z
+; public: void __thiscall CDbScalarValue::Value(class CStorageVariant &)
+?Value@CDbScalarValue@@QAEXAAVCStorageVariant@@@Z
+; public: void __thiscall PRcovStorageObj::VerifyConsistency(void)
+?VerifyConsistency@PRcovStorageObj@@QAEXXZ
+; void __stdcall VerifyThreadHasAdminPrivilege(void)
+?VerifyThreadHasAdminPrivilege@@YGXXZ
+; unsigned long __stdcall WideCharToXArrayMultiByte(unsigned short const *,unsigned long,unsigned int,class XArray<unsigned char> &)
+?WideCharToXArrayMultiByte@@YGKPBGKIAAV?$XArray@E@@@Z
+; public: void __thiscall CDynStream::Write(void *,unsigned long)
+?Write@CDynStream@@QAEXPAXK@Z
+; protected: void __thiscall CRcovStrmTrans::Write(void const *,unsigned long)
+?Write@CRcovStrmTrans@@IAEXPBXK@Z
+; public: long __thiscall CPropStoreManager::WritePrimaryProperty(class CCompositePropRecordForWrites &,unsigned long,class CStorageVariant const &)
+?WritePrimaryProperty@CPropStoreManager@@QAEJAAVCCompositePropRecordForWrites@@KABVCStorageVariant@@@Z
+; public: long __thiscall CPropStoreManager::WritePrimaryProperty(unsigned long,unsigned long,class CStorageVariant const &)
+?WritePrimaryProperty@CPropStoreManager@@QAEJKKABVCStorageVariant@@@Z
+; public: long __thiscall CPropStoreManager::WriteProperty(class CCompositePropRecordForWrites &,unsigned long,class CStorageVariant const &)
+?WriteProperty@CPropStoreManager@@QAEJAAVCCompositePropRecordForWrites@@KABVCStorageVariant@@@Z
+; public: long __thiscall CPropStoreManager::WriteProperty(unsigned long,unsigned long,class CStorageVariant const &)
+?WriteProperty@CPropStoreManager@@QAEJKKABVCStorageVariant@@@Z
+; public: unsigned long __thiscall CPropStoreManager::WritePropertyInNewRecord(unsigned long,class CStorageVariant const &)
+?WritePropertyInNewRecord@CPropStoreManager@@QAEKKABVCStorageVariant@@@Z
+; private: class CDbProjectListAnchor * __thiscall CDbNestingNode::_FindGroupListAnchor(void)
+?_FindGroupListAnchor@CDbNestingNode@@AAEPAVCDbProjectListAnchor@@XZ
+; private: class CDbProjectListAnchor * __thiscall CDbProjectNode::_FindOrAddAnchor(void)
+?_FindOrAddAnchor@CDbProjectNode@@AAEPAVCDbProjectListAnchor@@XZ
+; private: class CDbSortListAnchor * __thiscall CDbSortNode::_FindOrAddAnchor(void)
+?_FindOrAddAnchor@CDbSortNode@@AAEPAVCDbSortListAnchor@@XZ
+; private: class CDbScalarValue * __thiscall CDbPropertyRestriction::_FindOrAddValueNode(void)
+?_FindOrAddValueNode@CDbPropertyRestriction@@AAEPAVCDbScalarValue@@XZ
+; private: int __thiscall CImpersonateRemoteAccess::_ImpersonateIf(unsigned short const *,unsigned short const *,unsigned long)
+?_ImpersonateIf@CImpersonateRemoteAccess@@AAEHPBG0K@Z
+; private: static unsigned long  CGlobalPropFileRefresher::_dwLastCheckMoment
+?_dwLastCheckMoment@CGlobalPropFileRefresher@@0KA DATA
+; private: static struct _FILETIME  CGlobalPropFileRefresher::_ftFile
+?_ftFile@CGlobalPropFileRefresher@@0U_FILETIME@@A DATA
+; private: static class CPropListFile *  CLocalGlobalPropertyList::_pGlobalPropListFile
+?_pGlobalPropListFile@CLocalGlobalPropertyList@@0PAVCPropListFile@@A DATA
+; private: static unsigned short *  CGlobalPropFileRefresher::_wcsFileName
+?_wcsFileName@CGlobalPropFileRefresher@@0PAGA DATA
+; unsigned __int64 __cdecl _wcstoui64(unsigned short const *,unsigned short * *,int)
+?_wcstoui64@@YA_KPBGPAPAGH@Z
+; void __stdcall ciDelete(void *)
+?ciDelete@@YGXPAX@Z
+; int __stdcall ciIsValidPointer(void const *)
+?ciIsValidPointer@@YGHPBX@Z
+; void * __stdcall ciNew(unsigned int)
+?ciNew@@YGPAXI@Z
+; public: unsigned long __thiscall CFileBuffer::fgetsw(class XGrowable<unsigned short,260> &)
+?fgetsw@CFileBuffer@@QAEKAAV?$XGrowable@G$0BAE@@@@Z
+; unsigned short * __stdcall wcsipattern(unsigned short *,unsigned short const *)
+?wcsipattern@@YGPAGPAGPBG@Z
+FsCiShutdown
+_AbortMerges@16
+BeginCacheTransaction
+BindIFilterFromStorage
+BindIFilterFromStream
+CIBuildQueryNode
+CIBuildQueryTree
+CICreateCommand
+CIGetGlobalPropertyList
+CIMakeICommand
+CIRestrictionToFullTree
+CIState
+CITextToFullTree
+CITextToFullTreeEx
+CITextToSelectTree
+CITextToSelectTreeEx
+CiSvcMain
+CollectCIISAPIPerformanceData
+CollectCIPerformanceData
+CollectFILTERPerformanceData
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+DoneCIISAPIPerformanceData
+DoneCIPerformanceData
+DoneFILTERPerformanceData
+EndCacheTransaction
+_ForceMasterMerge@16
+InitializeCIISAPIPerformanceData
+InitializeCIPerformanceData
+InitializeFILTERPerformanceData
+_LoadBHIFilter@16
+LoadBinaryFilter
+LoadIFilter
+LoadIFilterEx
+LoadTextFilter
+LocateCatalogs
+LocateCatalogsA
+LocateCatalogsW
+SetCatalogState
+SetupCache
+SetupCacheEx
+_StartFWCiSvcWork@12
+_StopFWCiSvcWork@16
+SvcEntry_CiSvc
diff --git a/mingw-w64-crt/lib64/wrasadhlp.def b/mingw-w64-crt/lib64/wrasadhlp.def
index e85197d..29407cb 100644
--- a/mingw-w64-crt/lib64/wrasadhlp.def
+++ b/mingw-w64-crt/lib64/wrasadhlp.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file rasadhlp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasadhlp.dll
-EXPORTS
-AcsHlpAttemptConnection
-AcsHlpNbConnection
-AcsHlpNoteNewConnection
-WSAttemptAutodialAddr
-WSAttemptAutodialName
-WSNoteSuccessfulHostentLookup
+; 
+; Exports of file rasadhlp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasadhlp.dll
+EXPORTS
+AcsHlpAttemptConnection
+AcsHlpNbConnection
+AcsHlpNoteNewConnection
+WSAttemptAutodialAddr
+WSAttemptAutodialName
+WSNoteSuccessfulHostentLookup
diff --git a/mingw-w64-crt/lib64/wrasapi32.def b/mingw-w64-crt/lib64/wrasapi32.def
index e106196..effabee 100644
--- a/mingw-w64-crt/lib64/wrasapi32.def
+++ b/mingw-w64-crt/lib64/wrasapi32.def
@@ -1,150 +1,150 @@
-; 
-; Exports of file RASAPI32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASAPI32.dll
-EXPORTS
-DDMFreePhonebookContext
-DDMGetPhonebookInfo
-DwCloneEntry
-DwDeleteSubEntry
-DwEnumEntriesForAllUsers
-DwEnumEntryDetails
-DwRasUninitialize
-RasAutoDialSharedConnection
-RasAutodialAddressToNetwork
-RasAutodialEntryToNetwork
-RasClearConnectionStatistics
-RasClearLinkStatistics
-RasConnectionNotificationA
-RasConnectionNotificationW
-RasCreatePhonebookEntryA
-RasCreatePhonebookEntryW
-RasDeleteEntryA
-RasDeleteEntryW
-RasDeleteSubEntryA
-RasDeleteSubEntryW
-RasDialA
-RasDialW
-RasDialWow
-RasEditPhonebookEntryA
-RasEditPhonebookEntryW
-RasEnumAutodialAddressesA
-RasEnumAutodialAddressesW
-RasEnumConnectionsA
-RasEnumConnectionsW
-RasEnumConnectionsWow
-RasEnumDevicesA
-RasEnumDevicesW
-RasEnumEntriesA
-RasEnumEntriesW
-RasEnumEntriesWow
-RasFreeEapUserIdentityA
-RasFreeEapUserIdentityW
-RasGetAutodialAddressA
-RasGetAutodialAddressW
-RasGetAutodialEnableA
-RasGetAutodialEnableW
-RasGetAutodialParamA
-RasGetAutodialParamW
-RasGetConnectResponse
-RasGetConnectStatusA
-RasGetConnectStatusW
-RasGetConnectStatusWow
-RasGetConnectionStatistics
-RasGetCountryInfoA
-RasGetCountryInfoW
-RasGetCredentialsA
-RasGetCredentialsW
-RasGetCustomAuthDataA
-RasGetCustomAuthDataW
-RasGetEapUserDataA
-RasGetEapUserDataW
-RasGetEapUserIdentityA
-RasGetEapUserIdentityW
-RasGetEntryDialParamsA
-RasGetEntryDialParamsW
-RasGetEntryHrasconnA
-RasGetEntryHrasconnW
-RasGetEntryPropertiesA
-RasGetEntryPropertiesW
-RasGetErrorStringA
-RasGetErrorStringW
-RasGetErrorStringWow
-RasGetHport
-RasGetLinkStatistics
-RasGetProjectionInfoA
-RasGetProjectionInfoW
-RasGetSubEntryHandleA
-RasGetSubEntryHandleW
-RasGetSubEntryPropertiesA
-RasGetSubEntryPropertiesW
-RasHangUpA
-RasHangUpW
-RasHangUpWow
-RasInvokeEapUI
-RasIsRouterConnection
-RasIsSharedConnection
-RasQueryRedialOnLinkFailure
-RasQuerySharedAutoDial
-RasQuerySharedConnection
-RasRenameEntryA
-RasRenameEntryW
-RasScriptExecute
-RasScriptGetEventCode
-RasScriptGetIpAddress
-RasScriptInit
-RasScriptReceive
-RasScriptSend
-RasScriptTerm
-RasSetAutodialAddressA
-RasSetAutodialAddressW
-RasSetAutodialEnableA
-RasSetAutodialEnableW
-RasSetAutodialParamA
-RasSetAutodialParamW
-RasSetCredentialsA
-RasSetCredentialsW
-RasSetCustomAuthDataA
-RasSetCustomAuthDataW
-RasSetEapUserDataA
-RasSetEapUserDataW
-RasSetEntryDialParamsA
-RasSetEntryDialParamsW
-RasSetEntryPropertiesA
-RasSetEntryPropertiesW
-RasSetOldPassword
-RasSetSharedAutoDial
-RasSetSubEntryPropertiesA
-RasSetSubEntryPropertiesW
-RasValidateEntryNameA
-RasValidateEntryNameW
-RasfileClose
-RasfileDeleteLine
-RasfileFindFirstLine
-RasfileFindLastLine
-RasfileFindMarkedLine
-RasfileFindNextKeyLine
-RasfileFindNextLine
-RasfileFindPrevLine
-RasfileFindSectionLine
-RasfileGetKeyValueFields
-RasfileGetLine
-RasfileGetLineMark
-RasfileGetLineText
-RasfileGetLineType
-RasfileGetSectionName
-RasfileInsertLine
-RasfileLoad
-RasfileLoadEx
-RasfileLoadInfo
-RasfilePutKeyValueFields
-RasfilePutLineMark
-RasfilePutLineText
-RasfilePutSectionName
-RasfileWrite
-SharedAccessResponseListToString
-SharedAccessResponseStringToList
-UnInitializeRAS
+; 
+; Exports of file RASAPI32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASAPI32.dll
+EXPORTS
+DDMFreePhonebookContext
+DDMGetPhonebookInfo
+DwCloneEntry
+DwDeleteSubEntry
+DwEnumEntriesForAllUsers
+DwEnumEntryDetails
+DwRasUninitialize
+RasAutoDialSharedConnection
+RasAutodialAddressToNetwork
+RasAutodialEntryToNetwork
+RasClearConnectionStatistics
+RasClearLinkStatistics
+RasConnectionNotificationA
+RasConnectionNotificationW
+RasCreatePhonebookEntryA
+RasCreatePhonebookEntryW
+RasDeleteEntryA
+RasDeleteEntryW
+RasDeleteSubEntryA
+RasDeleteSubEntryW
+RasDialA
+RasDialW
+RasDialWow
+RasEditPhonebookEntryA
+RasEditPhonebookEntryW
+RasEnumAutodialAddressesA
+RasEnumAutodialAddressesW
+RasEnumConnectionsA
+RasEnumConnectionsW
+RasEnumConnectionsWow
+RasEnumDevicesA
+RasEnumDevicesW
+RasEnumEntriesA
+RasEnumEntriesW
+RasEnumEntriesWow
+RasFreeEapUserIdentityA
+RasFreeEapUserIdentityW
+RasGetAutodialAddressA
+RasGetAutodialAddressW
+RasGetAutodialEnableA
+RasGetAutodialEnableW
+RasGetAutodialParamA
+RasGetAutodialParamW
+RasGetConnectResponse
+RasGetConnectStatusA
+RasGetConnectStatusW
+RasGetConnectStatusWow
+RasGetConnectionStatistics
+RasGetCountryInfoA
+RasGetCountryInfoW
+RasGetCredentialsA
+RasGetCredentialsW
+RasGetCustomAuthDataA
+RasGetCustomAuthDataW
+RasGetEapUserDataA
+RasGetEapUserDataW
+RasGetEapUserIdentityA
+RasGetEapUserIdentityW
+RasGetEntryDialParamsA
+RasGetEntryDialParamsW
+RasGetEntryHrasconnA
+RasGetEntryHrasconnW
+RasGetEntryPropertiesA
+RasGetEntryPropertiesW
+RasGetErrorStringA
+RasGetErrorStringW
+RasGetErrorStringWow
+RasGetHport
+RasGetLinkStatistics
+RasGetProjectionInfoA
+RasGetProjectionInfoW
+RasGetSubEntryHandleA
+RasGetSubEntryHandleW
+RasGetSubEntryPropertiesA
+RasGetSubEntryPropertiesW
+RasHangUpA
+RasHangUpW
+RasHangUpWow
+RasInvokeEapUI
+RasIsRouterConnection
+RasIsSharedConnection
+RasQueryRedialOnLinkFailure
+RasQuerySharedAutoDial
+RasQuerySharedConnection
+RasRenameEntryA
+RasRenameEntryW
+RasScriptExecute
+RasScriptGetEventCode
+RasScriptGetIpAddress
+RasScriptInit
+RasScriptReceive
+RasScriptSend
+RasScriptTerm
+RasSetAutodialAddressA
+RasSetAutodialAddressW
+RasSetAutodialEnableA
+RasSetAutodialEnableW
+RasSetAutodialParamA
+RasSetAutodialParamW
+RasSetCredentialsA
+RasSetCredentialsW
+RasSetCustomAuthDataA
+RasSetCustomAuthDataW
+RasSetEapUserDataA
+RasSetEapUserDataW
+RasSetEntryDialParamsA
+RasSetEntryDialParamsW
+RasSetEntryPropertiesA
+RasSetEntryPropertiesW
+RasSetOldPassword
+RasSetSharedAutoDial
+RasSetSubEntryPropertiesA
+RasSetSubEntryPropertiesW
+RasValidateEntryNameA
+RasValidateEntryNameW
+RasfileClose
+RasfileDeleteLine
+RasfileFindFirstLine
+RasfileFindLastLine
+RasfileFindMarkedLine
+RasfileFindNextKeyLine
+RasfileFindNextLine
+RasfileFindPrevLine
+RasfileFindSectionLine
+RasfileGetKeyValueFields
+RasfileGetLine
+RasfileGetLineMark
+RasfileGetLineText
+RasfileGetLineType
+RasfileGetSectionName
+RasfileInsertLine
+RasfileLoad
+RasfileLoadEx
+RasfileLoadInfo
+RasfilePutKeyValueFields
+RasfilePutLineMark
+RasfilePutLineText
+RasfilePutSectionName
+RasfileWrite
+SharedAccessResponseListToString
+SharedAccessResponseStringToList
+UnInitializeRAS
diff --git a/mingw-w64-crt/lib64/wrasauto.def b/mingw-w64-crt/lib64/wrasauto.def
index 3d21a8d..ee08c8c 100644
--- a/mingw-w64-crt/lib64/wrasauto.def
+++ b/mingw-w64-crt/lib64/wrasauto.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file rasauto.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasauto.dll
-EXPORTS
-ServiceMain
-SetAddressDisabledEx
+; 
+; Exports of file rasauto.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasauto.dll
+EXPORTS
+ServiceMain
+SetAddressDisabledEx
diff --git a/mingw-w64-crt/lib64/wraschap.def b/mingw-w64-crt/lib64/wraschap.def
index 494747c..b589ef1 100644
--- a/mingw-w64-crt/lib64/wraschap.def
+++ b/mingw-w64-crt/lib64/wraschap.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file RASCHAP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASCHAP.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-RasCpEnumProtocolIds
-RasCpGetInfo
-RasEapCreateConnectionProperties
-RasEapCreateUserProperties
-RasEapFreeMemory
-RasEapGetCredentials
-RasEapGetIdentity
-RasEapGetInfo
-RasEapInvokeConfigUI
-RasEapInvokeInteractiveUI
+; 
+; Exports of file RASCHAP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASCHAP.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+RasCpEnumProtocolIds
+RasCpGetInfo
+RasEapCreateConnectionProperties
+RasEapCreateUserProperties
+RasEapFreeMemory
+RasEapGetCredentials
+RasEapGetIdentity
+RasEapGetInfo
+RasEapInvokeConfigUI
+RasEapInvokeInteractiveUI
diff --git a/mingw-w64-crt/lib64/wrasctrs.def b/mingw-w64-crt/lib64/wrasctrs.def
index 0383b24..0ee9d14 100644
--- a/mingw-w64-crt/lib64/wrasctrs.def
+++ b/mingw-w64-crt/lib64/wrasctrs.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file rasctrs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasctrs.dll
-EXPORTS
-OpenRasPerformanceData
-CollectRasPerformanceData
-CloseRasPerformanceData
+; 
+; Exports of file rasctrs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasctrs.dll
+EXPORTS
+OpenRasPerformanceData
+CollectRasPerformanceData
+CloseRasPerformanceData
diff --git a/mingw-w64-crt/lib64/wrasdlg.def b/mingw-w64-crt/lib64/wrasdlg.def
index 5892d4d..b5a82d2 100644
--- a/mingw-w64-crt/lib64/wrasdlg.def
+++ b/mingw-w64-crt/lib64/wrasdlg.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file RASDLG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASDLG.dll
-EXPORTS
-DwTerminalDlg
-GetRasDialOutProtocols
-RasAutodialDisableDlgA
-RasAutodialDisableDlgW
-RasAutodialQueryDlgA
-RasAutodialQueryDlgW
-RasDialDlgA
-RasDialDlgW
-RasEntryDlgA
-RasEntryDlgW
-RasMonitorDlgA
-RasMonitorDlgW
-RasPhonebookDlgA
-RasPhonebookDlgW
-RasSrvAddPropPages
-RasSrvAddWizPages
-RasSrvAllowConnectionsConfig
-RasSrvCleanupService
-RasSrvEnumConnections
-RasSrvHangupConnection
-RasSrvInitializeService
-RasSrvIsConnectionConnected
-RasSrvIsICConfigured
-RasSrvIsServiceRunning
-RasSrvQueryShowIcon
-RasUserEnableManualDial
-RasUserGetManualDial
-RasUserPrefsDlg
-RasWizCreateNewEntry
-RasWizGetNCCFlags
-RasWizGetSuggestedEntryName
-RasWizGetUserInputConnectionName
-RasWizIsEntryRenamable
-RasWizQueryMaxPageCount
-RasWizSetEntryName
-RouterEntryDlgA
-RouterEntryDlgW
+; 
+; Exports of file RASDLG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASDLG.dll
+EXPORTS
+DwTerminalDlg
+GetRasDialOutProtocols
+RasAutodialDisableDlgA
+RasAutodialDisableDlgW
+RasAutodialQueryDlgA
+RasAutodialQueryDlgW
+RasDialDlgA
+RasDialDlgW
+RasEntryDlgA
+RasEntryDlgW
+RasMonitorDlgA
+RasMonitorDlgW
+RasPhonebookDlgA
+RasPhonebookDlgW
+RasSrvAddPropPages
+RasSrvAddWizPages
+RasSrvAllowConnectionsConfig
+RasSrvCleanupService
+RasSrvEnumConnections
+RasSrvHangupConnection
+RasSrvInitializeService
+RasSrvIsConnectionConnected
+RasSrvIsICConfigured
+RasSrvIsServiceRunning
+RasSrvQueryShowIcon
+RasUserEnableManualDial
+RasUserGetManualDial
+RasUserPrefsDlg
+RasWizCreateNewEntry
+RasWizGetNCCFlags
+RasWizGetSuggestedEntryName
+RasWizGetUserInputConnectionName
+RasWizIsEntryRenamable
+RasWizQueryMaxPageCount
+RasWizSetEntryName
+RouterEntryDlgA
+RouterEntryDlgW
diff --git a/mingw-w64-crt/lib64/wrasman.def b/mingw-w64-crt/lib64/wrasman.def
index ab529f6..12e3d65 100644
--- a/mingw-w64-crt/lib64/wrasman.def
+++ b/mingw-w64-crt/lib64/wrasman.def
@@ -1,170 +1,170 @@
-; 
-; Exports of file rasman.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasman.dll
-EXPORTS
-DwRasGetHostByName
-IsRasmanProcess
-RasActivateRoute
-RasActivateRouteEx
-RasAddConnectionPort
-RasAddNotification
-RasAllocateRoute
-RasBundleClearStatistics
-RasBundleClearStatisticsEx
-RasBundleGetPort
-RasBundleGetStatistics
-RasBundleGetStatisticsEx
-RasCompressionGetInfo
-RasCompressionSetInfo
-RasConnectionEnum
-RasConnectionGetStatistics
-RasCreateConnection
-RasDeAllocateRoute
-RasDestroyConnection
-RasDeviceConnect
-RasDeviceEnum
-RasDeviceGetInfo
-RasDeviceSetInfo
-RasDoIke
-RasEnableIpSec
-RasEnumConnectionPorts
-RasEnumLanNets
-RasFindPrerequisiteEntry
-RasFreeBuffer
-RasGetBandwidthUtilization
-RasGetBestInterface
-RasGetBuffer
-RasGetCalledIdInfo
-RasGetConnectInfo
-RasGetConnectionParams
-RasGetConnectionUserData
-RasGetCustomScriptDll
-RasGetDevConfig
-RasGetDevConfigEx
-RasGetDeviceConfigInfo
-RasGetDeviceName
-RasGetDeviceNameW
-RasGetDialParams
-RasGetEapUserInfo
-RasGetFramingCapabilities
-RasGetHConnFromEntry
-RasGetHportFromConnection
-RasGetInfo
-RasGetInfoEx
-RasGetKey
-RasGetNdiswanDriverCaps
-RasGetNumPortOpen
-RasGetPortUserData
-RasGetProtocolInfo
-RasGetTimeSinceLastActivity
-RasGetUnicodeDeviceName
-RasGetUserCredentials
-RasInitialize
-RasInitializeNoWait
-RasIsIpSecEnabled
-RasIsPulseDial
-RasIsTrustedCustomDll
-RasLinkGetStatistics
-RasPnPControl
-RasPortBundle
-RasPortCancelReceive
-RasPortClearStatistics
-RasPortClose
-RasPortConnectComplete
-RasPortDisconnect
-RasPortEnum
-RasPortEnumProtocols
-RasPortFree
-RasPortGetBundle
-RasPortGetBundledPort
-RasPortGetFramingEx
-RasPortGetInfo
-RasPortGetProtocolCompression
-RasPortGetStatistics
-RasPortGetStatisticsEx
-RasPortListen
-RasPortOpen
-RasPortOpenEx
-RasPortReceive
-RasPortReceiveEx
-RasPortRegisterSlip
-RasPortReserve
-RasPortRetrieveUserData
-RasPortSend
-RasPortSetFraming
-RasPortSetFramingEx
-RasPortSetInfo
-RasPortSetProtocolCompression
-RasPortStoreUserData
-RasPppCallback
-RasPppChangePassword
-RasPppGetEapInfo
-RasPppGetInfo
-RasPppRetry
-RasPppSetEapInfo
-RasPppStart
-RasPppStarted
-RasPppStop
-RasProtocolEnum
-RasRPCBind
-RasRefConnection
-RasReferenceCustomCount
-RasReferenceRasman
-RasRegisterPnPEvent
-RasRegisterPnPHandler
-RasRegisterRedialCallback
-RasRequestNotification
-RasRpcConnect
-RasRpcConnectServer
-RasRpcDeleteEntry
-RasRpcDeviceEnum
-RasRpcDisconnect
-RasRpcDisconnectServer
-RasRpcEnumConnections
-RasRpcGetCountryInfo
-RasRpcGetDevConfig
-RasRpcGetErrorString
-RasRpcGetInstalledProtocols
-RasRpcGetInstalledProtocolsEx
-RasRpcGetSystemDirectory
-RasRpcGetUserPreferences
-RasRpcGetVersion
-RasRpcPortEnum
-RasRpcPortGetInfo
-RasRpcRemoteGetSystemDirectory
-RasRpcRemoteGetUserPreferences
-RasRpcRemoteRasDeleteEntry
-RasRpcRemoteSetUserPreferences
-RasRpcSetUserPreferences
-RasRpcUnloadDll
-RasSecurityDialogGetInfo
-RasSecurityDialogReceive
-RasSecurityDialogSend
-RasSendCreds
-RasSendNotification
-RasSendPppMessageToRasman
-RasServerPortClose
-RasSetAddressDisable
-RasSetBapPolicy
-RasSetCachedCredentials
-RasSetCalledIdInfo
-RasSetCommSettings
-RasSetConnectionParams
-RasSetConnectionUserData
-RasSetDevConfig
-RasSetDeviceConfigInfo
-RasSetDialParams
-RasSetEapLogonInfo
-RasSetEapUserInfo
-RasSetIoCompletionPort
-RasSetKey
-RasSetPortUserData
-RasSetRasdialInfo
-RasSetRouterUsage
-RasSignalNewConnection
-RasStartRasAutoIfRequired
-RasmanUninitialize
+; 
+; Exports of file rasman.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasman.dll
+EXPORTS
+DwRasGetHostByName
+IsRasmanProcess
+RasActivateRoute
+RasActivateRouteEx
+RasAddConnectionPort
+RasAddNotification
+RasAllocateRoute
+RasBundleClearStatistics
+RasBundleClearStatisticsEx
+RasBundleGetPort
+RasBundleGetStatistics
+RasBundleGetStatisticsEx
+RasCompressionGetInfo
+RasCompressionSetInfo
+RasConnectionEnum
+RasConnectionGetStatistics
+RasCreateConnection
+RasDeAllocateRoute
+RasDestroyConnection
+RasDeviceConnect
+RasDeviceEnum
+RasDeviceGetInfo
+RasDeviceSetInfo
+RasDoIke
+RasEnableIpSec
+RasEnumConnectionPorts
+RasEnumLanNets
+RasFindPrerequisiteEntry
+RasFreeBuffer
+RasGetBandwidthUtilization
+RasGetBestInterface
+RasGetBuffer
+RasGetCalledIdInfo
+RasGetConnectInfo
+RasGetConnectionParams
+RasGetConnectionUserData
+RasGetCustomScriptDll
+RasGetDevConfig
+RasGetDevConfigEx
+RasGetDeviceConfigInfo
+RasGetDeviceName
+RasGetDeviceNameW
+RasGetDialParams
+RasGetEapUserInfo
+RasGetFramingCapabilities
+RasGetHConnFromEntry
+RasGetHportFromConnection
+RasGetInfo
+RasGetInfoEx
+RasGetKey
+RasGetNdiswanDriverCaps
+RasGetNumPortOpen
+RasGetPortUserData
+RasGetProtocolInfo
+RasGetTimeSinceLastActivity
+RasGetUnicodeDeviceName
+RasGetUserCredentials
+RasInitialize
+RasInitializeNoWait
+RasIsIpSecEnabled
+RasIsPulseDial
+RasIsTrustedCustomDll
+RasLinkGetStatistics
+RasPnPControl
+RasPortBundle
+RasPortCancelReceive
+RasPortClearStatistics
+RasPortClose
+RasPortConnectComplete
+RasPortDisconnect
+RasPortEnum
+RasPortEnumProtocols
+RasPortFree
+RasPortGetBundle
+RasPortGetBundledPort
+RasPortGetFramingEx
+RasPortGetInfo
+RasPortGetProtocolCompression
+RasPortGetStatistics
+RasPortGetStatisticsEx
+RasPortListen
+RasPortOpen
+RasPortOpenEx
+RasPortReceive
+RasPortReceiveEx
+RasPortRegisterSlip
+RasPortReserve
+RasPortRetrieveUserData
+RasPortSend
+RasPortSetFraming
+RasPortSetFramingEx
+RasPortSetInfo
+RasPortSetProtocolCompression
+RasPortStoreUserData
+RasPppCallback
+RasPppChangePassword
+RasPppGetEapInfo
+RasPppGetInfo
+RasPppRetry
+RasPppSetEapInfo
+RasPppStart
+RasPppStarted
+RasPppStop
+RasProtocolEnum
+RasRPCBind
+RasRefConnection
+RasReferenceCustomCount
+RasReferenceRasman
+RasRegisterPnPEvent
+RasRegisterPnPHandler
+RasRegisterRedialCallback
+RasRequestNotification
+RasRpcConnect
+RasRpcConnectServer
+RasRpcDeleteEntry
+RasRpcDeviceEnum
+RasRpcDisconnect
+RasRpcDisconnectServer
+RasRpcEnumConnections
+RasRpcGetCountryInfo
+RasRpcGetDevConfig
+RasRpcGetErrorString
+RasRpcGetInstalledProtocols
+RasRpcGetInstalledProtocolsEx
+RasRpcGetSystemDirectory
+RasRpcGetUserPreferences
+RasRpcGetVersion
+RasRpcPortEnum
+RasRpcPortGetInfo
+RasRpcRemoteGetSystemDirectory
+RasRpcRemoteGetUserPreferences
+RasRpcRemoteRasDeleteEntry
+RasRpcRemoteSetUserPreferences
+RasRpcSetUserPreferences
+RasRpcUnloadDll
+RasSecurityDialogGetInfo
+RasSecurityDialogReceive
+RasSecurityDialogSend
+RasSendCreds
+RasSendNotification
+RasSendPppMessageToRasman
+RasServerPortClose
+RasSetAddressDisable
+RasSetBapPolicy
+RasSetCachedCredentials
+RasSetCalledIdInfo
+RasSetCommSettings
+RasSetConnectionParams
+RasSetConnectionUserData
+RasSetDevConfig
+RasSetDeviceConfigInfo
+RasSetDialParams
+RasSetEapLogonInfo
+RasSetEapUserInfo
+RasSetIoCompletionPort
+RasSetKey
+RasSetPortUserData
+RasSetRasdialInfo
+RasSetRouterUsage
+RasSignalNewConnection
+RasStartRasAutoIfRequired
+RasmanUninitialize
diff --git a/mingw-w64-crt/lib64/wrasmans.def b/mingw-w64-crt/lib64/wrasmans.def
index 44c0537..bdc61f8 100644
--- a/mingw-w64-crt/lib64/wrasmans.def
+++ b/mingw-w64-crt/lib64/wrasmans.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file rasmans.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasmans.dll
-EXPORTS
-ServiceMain
-ServiceRequestInProcess
-SetEntryDialParams
-_RasmanEngine
-_RasmanInit
+; 
+; Exports of file rasmans.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasmans.dll
+EXPORTS
+ServiceMain
+ServiceRequestInProcess
+SetEntryDialParams
+_RasmanEngine
+_RasmanInit
diff --git a/mingw-w64-crt/lib64/wrasmontr.def b/mingw-w64-crt/lib64/wrasmontr.def
index 8ebae62..4831aa7 100644
--- a/mingw-w64-crt/lib64/wrasmontr.def
+++ b/mingw-w64-crt/lib64/wrasmontr.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file RASMONTR.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASMONTR.dll
-EXPORTS
-GetDiagnosticFunctions
-InitHelperDll
-RutlAlloc
-RutlAssignmentFromTokenAndDword
-RutlAssignmentFromTokens
-RutlCloseDumpFile
-RutlCreateDumpFile
-RutlDwordDup
-RutlFree
-RutlGetOsVersion
-RutlGetTagToken
-RutlIsHelpToken
-RutlParse
-RutlStrDup
+; 
+; Exports of file RASMONTR.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASMONTR.dll
+EXPORTS
+GetDiagnosticFunctions
+InitHelperDll
+RutlAlloc
+RutlAssignmentFromTokenAndDword
+RutlAssignmentFromTokens
+RutlCloseDumpFile
+RutlCreateDumpFile
+RutlDwordDup
+RutlFree
+RutlGetOsVersion
+RutlGetTagToken
+RutlIsHelpToken
+RutlParse
+RutlStrDup
diff --git a/mingw-w64-crt/lib64/wrasmxs.def b/mingw-w64-crt/lib64/wrasmxs.def
index 32bad7d..71c50b6 100644
--- a/mingw-w64-crt/lib64/wrasmxs.def
+++ b/mingw-w64-crt/lib64/wrasmxs.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file rasmxs.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasmxs.dll
-EXPORTS
-DeviceConnect
-DeviceDone
-DeviceEnum
-DeviceGetInfo
-DeviceListen
-DeviceSetInfo
-DeviceWork
+; 
+; Exports of file rasmxs.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasmxs.dll
+EXPORTS
+DeviceConnect
+DeviceDone
+DeviceEnum
+DeviceGetInfo
+DeviceListen
+DeviceSetInfo
+DeviceWork
diff --git a/mingw-w64-crt/lib64/wrasppp.def b/mingw-w64-crt/lib64/wrasppp.def
index f70a2a2..d7e4582 100644
--- a/mingw-w64-crt/lib64/wrasppp.def
+++ b/mingw-w64-crt/lib64/wrasppp.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file rasppp.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasppp.dll
-EXPORTS
-HelperResetDefaultInterfaceNet
-HelperResetDefaultInterfaceNetEx
-HelperSetDefaultInterfaceNet
-HelperSetDefaultInterfaceNetEx
-IpxCpInit
-IpxcpBind
-PppDdmBapCallbackResult
-PppDdmCallbackDone
-PppDdmChangeNotification
-PppDdmDeInit
-PppDdmInit
-PppDdmRemoveQuarantine
-PppDdmSendInterfaceInfo
-PppDdmStart
-PppDdmStop
-PppStop
-RasCpEnumProtocolIds
-RasCpGetInfo
-RasSrvrAcquireAddress
-RasSrvrActivateIp
-RasSrvrInitialize
-RasSrvrQueryServerAddresses
-RasSrvrReleaseAddress
-RasSrvrUninitialize
-SendPPPMessageToEngine
-StartPPP
-StopPPP
+; 
+; Exports of file rasppp.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasppp.dll
+EXPORTS
+HelperResetDefaultInterfaceNet
+HelperResetDefaultInterfaceNetEx
+HelperSetDefaultInterfaceNet
+HelperSetDefaultInterfaceNetEx
+IpxCpInit
+IpxcpBind
+PppDdmBapCallbackResult
+PppDdmCallbackDone
+PppDdmChangeNotification
+PppDdmDeInit
+PppDdmInit
+PppDdmRemoveQuarantine
+PppDdmSendInterfaceInfo
+PppDdmStart
+PppDdmStop
+PppStop
+RasCpEnumProtocolIds
+RasCpGetInfo
+RasSrvrAcquireAddress
+RasSrvrActivateIp
+RasSrvrInitialize
+RasSrvrQueryServerAddresses
+RasSrvrReleaseAddress
+RasSrvrUninitialize
+SendPPPMessageToEngine
+StartPPP
+StopPPP
diff --git a/mingw-w64-crt/lib64/wrasrad.def b/mingw-w64-crt/lib64/wrasrad.def
index d896fb2..f8c039f 100644
--- a/mingw-w64-crt/lib64/wrasrad.def
+++ b/mingw-w64-crt/lib64/wrasrad.def
@@ -1,23 +1,23 @@
-; 
-; Exports of file RASRAD.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASRAD.dll
-EXPORTS
-Open
-Collect
-Close
-RasAcctConfigChangeNotification
-RasAcctProviderFreeAttributes
-RasAcctProviderInitialize
-RasAcctProviderInterimAccounting
-RasAcctProviderStartAccounting
-RasAcctProviderStopAccounting
-RasAcctProviderTerminate
-RasAuthConfigChangeNotification
-RasAuthProviderAuthenticateUser
-RasAuthProviderFreeAttributes
-RasAuthProviderInitialize
-RasAuthProviderTerminate
+; 
+; Exports of file RASRAD.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASRAD.dll
+EXPORTS
+Open
+Collect
+Close
+RasAcctConfigChangeNotification
+RasAcctProviderFreeAttributes
+RasAcctProviderInitialize
+RasAcctProviderInterimAccounting
+RasAcctProviderStartAccounting
+RasAcctProviderStopAccounting
+RasAcctProviderTerminate
+RasAuthConfigChangeNotification
+RasAuthProviderAuthenticateUser
+RasAuthProviderFreeAttributes
+RasAuthProviderInitialize
+RasAuthProviderTerminate
diff --git a/mingw-w64-crt/lib64/wrassapi.def b/mingw-w64-crt/lib64/wrassapi.def
index e54b63d..df82eb6 100644
--- a/mingw-w64-crt/lib64/wrassapi.def
+++ b/mingw-w64-crt/lib64/wrassapi.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file RASSAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RASSAPI.dll
-EXPORTS
-RasAdminDLLInit
-RasAdminUserSetInfo
-RasAdminUserGetInfo
-RasAdminGetUserAccountServer
-RasAdminPortEnum
-RasAdminPortGetInfo
-RasAdminPortClearStatistics
-RasAdminServerGetInfo
-RasAdminPortDisconnect
-RasAdminFreeBuffer
-RasAdminSetUserParms
-RasAdminGetUserParms
-RasAdminCompressPhoneNumber
-RasAdminGetErrorString
+; 
+; Exports of file RASSAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RASSAPI.dll
+EXPORTS
+RasAdminDLLInit
+RasAdminUserSetInfo
+RasAdminUserGetInfo
+RasAdminGetUserAccountServer
+RasAdminPortEnum
+RasAdminPortGetInfo
+RasAdminPortClearStatistics
+RasAdminServerGetInfo
+RasAdminPortDisconnect
+RasAdminFreeBuffer
+RasAdminSetUserParms
+RasAdminGetUserParms
+RasAdminCompressPhoneNumber
+RasAdminGetErrorString
diff --git a/mingw-w64-crt/lib64/wrasser.def b/mingw-w64-crt/lib64/wrasser.def
index 9e7b19d..a0def84 100644
--- a/mingw-w64-crt/lib64/wrasser.def
+++ b/mingw-w64-crt/lib64/wrasser.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file rasser.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rasser.dll
-EXPORTS
-PortChangeCallback
-PortClearStatistics
-PortClose
-PortCompressionSetInfo
-PortConnect
-PortDisconnect
-PortEnum
-PortGetInfo
-PortGetPortState
-PortGetStatistics
-PortInit
-PortOpen
-PortReceive
-PortReceiveComplete
-PortSend
-PortSetFraming
-PortSetINetCfg
-PortSetInfo
-PortTestSignalState
+; 
+; Exports of file rasser.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rasser.dll
+EXPORTS
+PortChangeCallback
+PortClearStatistics
+PortClose
+PortCompressionSetInfo
+PortConnect
+PortDisconnect
+PortEnum
+PortGetInfo
+PortGetPortState
+PortGetStatistics
+PortInit
+PortOpen
+PortReceive
+PortReceiveComplete
+PortSend
+PortSetFraming
+PortSetINetCfg
+PortSetInfo
+PortTestSignalState
diff --git a/mingw-w64-crt/lib64/wrastapi.def b/mingw-w64-crt/lib64/wrastapi.def
index 04cd002..b09e396 100644
--- a/mingw-w64-crt/lib64/wrastapi.def
+++ b/mingw-w64-crt/lib64/wrastapi.def
@@ -1,49 +1,49 @@
-; 
-; Exports of file rastapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rastapi.dll
-EXPORTS
-AddPorts
-DeviceConnect
-DeviceDone
-DeviceEnum
-DeviceGetDevConfig
-DeviceGetDevConfigEx
-DeviceGetInfo
-DeviceListen
-DeviceSetDevConfig
-DeviceSetInfo
-DeviceWork
-EnableDeviceForDialIn
-GetConnectInfo
-GetZeroDeviceInfo
-PortChangeCallback
-PortClearStatistics
-PortClose
-PortCompressionSetInfo
-PortConnect
-PortDisconnect
-PortEnum
-PortGetIOHandle
-PortGetInfo
-PortGetPortState
-PortGetStatistics
-PortInit
-PortOpen
-PortOpenExternal
-PortReceive
-PortReceiveComplete
-PortSend
-PortSetFraming
-PortSetInfo
-PortSetIoCompletionPort
-PortTestSignalState
-RasTapiIsPulseDial
-RastapiGetCalledID
-RastapiSetCalledID
-RemovePort
-SetCommSettings
-UnloadRastapiDll
+; 
+; Exports of file rastapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rastapi.dll
+EXPORTS
+AddPorts
+DeviceConnect
+DeviceDone
+DeviceEnum
+DeviceGetDevConfig
+DeviceGetDevConfigEx
+DeviceGetInfo
+DeviceListen
+DeviceSetDevConfig
+DeviceSetInfo
+DeviceWork
+EnableDeviceForDialIn
+GetConnectInfo
+GetZeroDeviceInfo
+PortChangeCallback
+PortClearStatistics
+PortClose
+PortCompressionSetInfo
+PortConnect
+PortDisconnect
+PortEnum
+PortGetIOHandle
+PortGetInfo
+PortGetPortState
+PortGetStatistics
+PortInit
+PortOpen
+PortOpenExternal
+PortReceive
+PortReceiveComplete
+PortSend
+PortSetFraming
+PortSetInfo
+PortSetIoCompletionPort
+PortTestSignalState
+RasTapiIsPulseDial
+RastapiGetCalledID
+RastapiSetCalledID
+RemovePort
+SetCommSettings
+UnloadRastapiDll
diff --git a/mingw-w64-crt/lib64/wrastls.def b/mingw-w64-crt/lib64/wrastls.def
index 0b52d27..fadc71c 100644
--- a/mingw-w64-crt/lib64/wrastls.def
+++ b/mingw-w64-crt/lib64/wrastls.def
@@ -1,22 +1,22 @@
-; 
-; Exports of file rastls.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rastls.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-PeapUpdateStateToTLV
-RasEapCreateConnectionProperties
-RasEapCreateUserProperties
-RasEapFreeMemory
-RasEapGetCredentials
-RasEapGetIdentity
-RasEapGetInfo
-RasEapInvokeConfigUI
-RasEapInvokeInteractiveUI
-RasEapUpdateServerConfig
+; 
+; Exports of file rastls.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rastls.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+PeapUpdateStateToTLV
+RasEapCreateConnectionProperties
+RasEapCreateUserProperties
+RasEapFreeMemory
+RasEapGetCredentials
+RasEapGetIdentity
+RasEapGetInfo
+RasEapInvokeConfigUI
+RasEapInvokeInteractiveUI
+RasEapUpdateServerConfig
diff --git a/mingw-w64-crt/lib64/wrdpsnd.def b/mingw-w64-crt/lib64/wrdpsnd.def
index b310f63..98eae09 100644
--- a/mingw-w64-crt/lib64/wrdpsnd.def
+++ b/mingw-w64-crt/lib64/wrdpsnd.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file RDPSND.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RDPSND.dll
-EXPORTS
-DriverProc
-auxMessage
-midMessage
-modMessage
-mxdMessage
-widMessage
-wodMessage
+; 
+; Exports of file RDPSND.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RDPSND.dll
+EXPORTS
+DriverProc
+auxMessage
+midMessage
+modMessage
+mxdMessage
+widMessage
+wodMessage
diff --git a/mingw-w64-crt/lib64/wregapi.def b/mingw-w64-crt/lib64/wregapi.def
index ebd4f5d..27d7502 100644
--- a/mingw-w64-crt/lib64/wregapi.def
+++ b/mingw-w64-crt/lib64/wregapi.def
@@ -1,92 +1,92 @@
-; 
-; Exports of file REGAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY REGAPI.dll
-EXPORTS
-GetDomainName
-QueryUserProperty
-RegBuildNumberQuery
-RegCdCreateA
-RegCdCreateW
-RegCdDeleteA
-RegCdDeleteW
-RegCdEnumerateA
-RegCdEnumerateW
-RegCdQueryA
-RegCdQueryW
-RegCloseServer
-RegConsoleShadowQueryA
-RegConsoleShadowQueryW
-RegCreateUserConfigW
-RegDefaultUserConfigQueryA
-RegDefaultUserConfigQueryW
-RegDenyTSConnectionsPolicy
-RegFreeUtilityCommandList
-RegGetLicensingModePolicy
-RegGetMachinePolicy
-RegGetMachinePolicyEx
-RegGetMachinePolicyNew
-RegGetTServerVersion
-RegGetUserConfigFromUserParameters
-RegGetUserPolicy
-RegIsMachineInHelpMode
-RegIsMachinePolicyAllowHelp
-RegIsTServer
-RegIsTimeZoneRedirectionEnabled
-RegMergeUserConfigWithUserParameters
-RegOpenServerA
-RegOpenServerW
-RegPdCreateA
-RegPdCreateW
-RegPdDeleteA
-RegPdDeleteW
-RegPdEnumerateA
-RegPdEnumerateW
-RegPdQueryA
-RegPdQueryW
-RegQueryOEMId
-RegQueryUtilityCommandList
-RegSAMUserConfig
-RegUserConfigDelete
-RegUserConfigQuery
-RegUserConfigRename
-RegUserConfigSet
-RegWdCreateA
-RegWdCreateW
-RegWdDeleteA
-RegWdDeleteW
-RegWdEnumerateA
-RegWdEnumerateW
-RegWdQueryA
-RegWdQueryW
-RegWinStationAccessCheck
-RegWinStationCreateA
-RegWinStationCreateW
-RegWinStationDeleteA
-RegWinStationDeleteW
-RegWinStationEnumerateA
-RegWinStationEnumerateW
-RegWinStationQueryA
-RegWinStationQueryDefaultSecurity
-RegWinStationQueryEx
-RegWinStationQueryExNew
-RegWinStationQueryNumValueW
-RegWinStationQuerySecurityA
-RegWinStationQuerySecurityW
-RegWinStationQueryValueW
-RegWinStationQueryW
-RegWinStationSetNumValueW
-RegWinStationSetSecurityA
-RegWinStationSetSecurityW
-RegWinstationQuerySecurityConfig_Machine
-RegWinstationQuerySecurityConfig_Merged
-RegWinstationSetSecurityConfig
-SetUserProperty
-UsrPropGetString
-UsrPropGetValue
-UsrPropSetString
-UsrPropSetValue
-WaitForTSConnectionsPolicyChanges
+; 
+; Exports of file REGAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY REGAPI.dll
+EXPORTS
+GetDomainName
+QueryUserProperty
+RegBuildNumberQuery
+RegCdCreateA
+RegCdCreateW
+RegCdDeleteA
+RegCdDeleteW
+RegCdEnumerateA
+RegCdEnumerateW
+RegCdQueryA
+RegCdQueryW
+RegCloseServer
+RegConsoleShadowQueryA
+RegConsoleShadowQueryW
+RegCreateUserConfigW
+RegDefaultUserConfigQueryA
+RegDefaultUserConfigQueryW
+RegDenyTSConnectionsPolicy
+RegFreeUtilityCommandList
+RegGetLicensingModePolicy
+RegGetMachinePolicy
+RegGetMachinePolicyEx
+RegGetMachinePolicyNew
+RegGetTServerVersion
+RegGetUserConfigFromUserParameters
+RegGetUserPolicy
+RegIsMachineInHelpMode
+RegIsMachinePolicyAllowHelp
+RegIsTServer
+RegIsTimeZoneRedirectionEnabled
+RegMergeUserConfigWithUserParameters
+RegOpenServerA
+RegOpenServerW
+RegPdCreateA
+RegPdCreateW
+RegPdDeleteA
+RegPdDeleteW
+RegPdEnumerateA
+RegPdEnumerateW
+RegPdQueryA
+RegPdQueryW
+RegQueryOEMId
+RegQueryUtilityCommandList
+RegSAMUserConfig
+RegUserConfigDelete
+RegUserConfigQuery
+RegUserConfigRename
+RegUserConfigSet
+RegWdCreateA
+RegWdCreateW
+RegWdDeleteA
+RegWdDeleteW
+RegWdEnumerateA
+RegWdEnumerateW
+RegWdQueryA
+RegWdQueryW
+RegWinStationAccessCheck
+RegWinStationCreateA
+RegWinStationCreateW
+RegWinStationDeleteA
+RegWinStationDeleteW
+RegWinStationEnumerateA
+RegWinStationEnumerateW
+RegWinStationQueryA
+RegWinStationQueryDefaultSecurity
+RegWinStationQueryEx
+RegWinStationQueryExNew
+RegWinStationQueryNumValueW
+RegWinStationQuerySecurityA
+RegWinStationQuerySecurityW
+RegWinStationQueryValueW
+RegWinStationQueryW
+RegWinStationSetNumValueW
+RegWinStationSetSecurityA
+RegWinStationSetSecurityW
+RegWinstationQuerySecurityConfig_Machine
+RegWinstationQuerySecurityConfig_Merged
+RegWinstationSetSecurityConfig
+SetUserProperty
+UsrPropGetString
+UsrPropGetValue
+UsrPropSetString
+UsrPropSetValue
+WaitForTSConnectionsPolicyChanges
diff --git a/mingw-w64-crt/lib64/wregsvc.def b/mingw-w64-crt/lib64/wregsvc.def
index fca4eb6..867a0e3 100644
--- a/mingw-w64-crt/lib64/wregsvc.def
+++ b/mingw-w64-crt/lib64/wregsvc.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file regsvc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY regsvc.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file regsvc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY regsvc.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/wregwizc.def b/mingw-w64-crt/lib64/wregwizc.def
index c2a7f2d..583db11 100644
--- a/mingw-w64-crt/lib64/wregwizc.def
+++ b/mingw-w64-crt/lib64/wregwizc.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file RegWizCtrl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RegWizCtrl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file RegWizCtrl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RegWizCtrl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wrend.def b/mingw-w64-crt/lib64/wrend.def
index 896ca8a..773950e 100644
--- a/mingw-w64-crt/lib64/wrend.def
+++ b/mingw-w64-crt/lib64/wrend.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file rend.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rend.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file rend.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rend.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wresutils.def b/mingw-w64-crt/lib64/wresutils.def
index eaf6c52..30e83fd 100644
--- a/mingw-w64-crt/lib64/wresutils.def
+++ b/mingw-w64-crt/lib64/wresutils.def
@@ -1,80 +1,80 @@
-; 
-; Exports of file RESUTILS.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RESUTILS.dll
-EXPORTS
-ClusWorkerCheckTerminate
-ClusWorkerCreate
-ClusWorkerStart
-ClusWorkerTerminate
-ResUtilAddUnknownProperties
-ResUtilCreateDirectoryTree
-ResUtilDupParameterBlock
-ResUtilDupString
-ResUtilEnumPrivateProperties
-ResUtilEnumProperties
-ResUtilEnumResources
-ResUtilEnumResourcesEx
-ResUtilExpandEnvironmentStrings
-ResUtilFindBinaryProperty
-ResUtilFindDependentDiskResourceDriveLetter
-ResUtilFindDwordProperty
-ResUtilFindExpandSzProperty
-ResUtilFindExpandedSzProperty
-ResUtilFindLongProperty
-ResUtilFindMultiSzProperty
-ResUtilFindSzProperty
-ResUtilFreeEnvironment
-ResUtilFreeParameterBlock
-ResUtilGetAllProperties
-ResUtilGetBinaryProperty
-ResUtilGetBinaryValue
-ResUtilGetCoreClusterResources
-ResUtilGetDwordProperty
-ResUtilGetDwordValue
-ResUtilGetEnvironmentWithNetName
-ResUtilGetMultiSzProperty
-ResUtilGetPrivateProperties
-ResUtilGetProperties
-ResUtilGetPropertiesToParameterBlock
-ResUtilGetProperty
-ResUtilGetPropertyFormats
-ResUtilGetPropertySize
-ResUtilGetResourceDependency
-ResUtilGetResourceDependencyByClass
-ResUtilGetResourceDependencyByName
-ResUtilGetResourceDependentIPAddressProps
-ResUtilGetResourceName
-ResUtilGetResourceNameDependency
-ResUtilGetSzProperty
-ResUtilGetSzValue
-ResUtilIsPathValid
-ResUtilIsResourceClassEqual
-ResUtilPropertyListFromParameterBlock
-ResUtilRemoveResourceServiceEnvironment
-ResUtilResourceTypesEqual
-ResUtilResourcesEqual
-ResUtilSetBinaryValue
-ResUtilSetDwordValue
-ResUtilSetExpandSzValue
-ResUtilSetMultiSzValue
-ResUtilSetPrivatePropertyList
-ResUtilSetPropertyParameterBlock
-ResUtilSetPropertyParameterBlockEx
-ResUtilSetPropertyTable
-ResUtilSetPropertyTableEx
-ResUtilSetResourceServiceEnvironment
-ResUtilSetResourceServiceStartParameters
-ResUtilSetSzValue
-ResUtilSetUnknownProperties
-ResUtilStartResourceService
-ResUtilStopResourceService
-ResUtilStopService
-ResUtilTerminateServiceProcessFromResDll
-ResUtilVerifyPrivatePropertyList
-ResUtilVerifyPropertyTable
-ResUtilVerifyResourceService
-ResUtilVerifyService
+; 
+; Exports of file RESUTILS.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RESUTILS.dll
+EXPORTS
+ClusWorkerCheckTerminate
+ClusWorkerCreate
+ClusWorkerStart
+ClusWorkerTerminate
+ResUtilAddUnknownProperties
+ResUtilCreateDirectoryTree
+ResUtilDupParameterBlock
+ResUtilDupString
+ResUtilEnumPrivateProperties
+ResUtilEnumProperties
+ResUtilEnumResources
+ResUtilEnumResourcesEx
+ResUtilExpandEnvironmentStrings
+ResUtilFindBinaryProperty
+ResUtilFindDependentDiskResourceDriveLetter
+ResUtilFindDwordProperty
+ResUtilFindExpandSzProperty
+ResUtilFindExpandedSzProperty
+ResUtilFindLongProperty
+ResUtilFindMultiSzProperty
+ResUtilFindSzProperty
+ResUtilFreeEnvironment
+ResUtilFreeParameterBlock
+ResUtilGetAllProperties
+ResUtilGetBinaryProperty
+ResUtilGetBinaryValue
+ResUtilGetCoreClusterResources
+ResUtilGetDwordProperty
+ResUtilGetDwordValue
+ResUtilGetEnvironmentWithNetName
+ResUtilGetMultiSzProperty
+ResUtilGetPrivateProperties
+ResUtilGetProperties
+ResUtilGetPropertiesToParameterBlock
+ResUtilGetProperty
+ResUtilGetPropertyFormats
+ResUtilGetPropertySize
+ResUtilGetResourceDependency
+ResUtilGetResourceDependencyByClass
+ResUtilGetResourceDependencyByName
+ResUtilGetResourceDependentIPAddressProps
+ResUtilGetResourceName
+ResUtilGetResourceNameDependency
+ResUtilGetSzProperty
+ResUtilGetSzValue
+ResUtilIsPathValid
+ResUtilIsResourceClassEqual
+ResUtilPropertyListFromParameterBlock
+ResUtilRemoveResourceServiceEnvironment
+ResUtilResourceTypesEqual
+ResUtilResourcesEqual
+ResUtilSetBinaryValue
+ResUtilSetDwordValue
+ResUtilSetExpandSzValue
+ResUtilSetMultiSzValue
+ResUtilSetPrivatePropertyList
+ResUtilSetPropertyParameterBlock
+ResUtilSetPropertyParameterBlockEx
+ResUtilSetPropertyTable
+ResUtilSetPropertyTableEx
+ResUtilSetResourceServiceEnvironment
+ResUtilSetResourceServiceStartParameters
+ResUtilSetSzValue
+ResUtilSetUnknownProperties
+ResUtilStartResourceService
+ResUtilStopResourceService
+ResUtilStopService
+ResUtilTerminateServiceProcessFromResDll
+ResUtilVerifyPrivatePropertyList
+ResUtilVerifyPropertyTable
+ResUtilVerifyResourceService
+ResUtilVerifyService
diff --git a/mingw-w64-crt/lib64/wriched20.def b/mingw-w64-crt/lib64/wriched20.def
index 5f2b29d..4fb9288 100644
--- a/mingw-w64-crt/lib64/wriched20.def
+++ b/mingw-w64-crt/lib64/wriched20.def
@@ -1,17 +1,17 @@
-; 
-; Exports of file RICHED20.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RICHED20.dll
-EXPORTS
-IID_IRichEditOle
-IID_IRichEditOleCallback
-CreateTextServices
-IID_ITextServices
-IID_ITextHost
-IID_ITextHost2
-REExtendedRegisterClass
-RichEdit10ANSIWndProc
-RichEditANSIWndProc
+; 
+; Exports of file RICHED20.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RICHED20.dll
+EXPORTS
+IID_IRichEditOle
+IID_IRichEditOleCallback
+CreateTextServices
+IID_ITextServices
+IID_ITextHost
+IID_ITextHost2
+REExtendedRegisterClass
+RichEdit10ANSIWndProc
+RichEditANSIWndProc
diff --git a/mingw-w64-crt/lib64/wrnr20.def b/mingw-w64-crt/lib64/wrnr20.def
index 8de2bbf..366fd47 100644
--- a/mingw-w64-crt/lib64/wrnr20.def
+++ b/mingw-w64-crt/lib64/wrnr20.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file RNR20.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RNR20.dll
-EXPORTS
-NSPStartup
+; 
+; Exports of file RNR20.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RNR20.dll
+EXPORTS
+NSPStartup
diff --git a/mingw-w64-crt/lib64/wroutetab.def b/mingw-w64-crt/lib64/wroutetab.def
index 7395a3c..4288262 100644
--- a/mingw-w64-crt/lib64/wroutetab.def
+++ b/mingw-w64-crt/lib64/wroutetab.def
@@ -1,18 +1,18 @@
-; 
-; Exports of file ROUTETAB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ROUTETAB.dll
-EXPORTS
-AddRoute
-DeleteRoute
-FreeIPAddressTable
-FreeRouteTable
-GetIPAddressTable
-GetIfEntry
-GetRouteTable
-RefreshAddresses
-ReloadIPAddressTable
-SetAddrChangeNotifyEvent
+; 
+; Exports of file ROUTETAB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ROUTETAB.dll
+EXPORTS
+AddRoute
+DeleteRoute
+FreeIPAddressTable
+FreeRouteTable
+GetIPAddressTable
+GetIfEntry
+GetRouteTable
+RefreshAddresses
+ReloadIPAddressTable
+SetAddrChangeNotifyEvent
diff --git a/mingw-w64-crt/lib64/wrpcns4.def b/mingw-w64-crt/lib64/wrpcns4.def
index fde0230..12fead3 100644
--- a/mingw-w64-crt/lib64/wrpcns4.def
+++ b/mingw-w64-crt/lib64/wrpcns4.def
@@ -1,71 +1,71 @@
-; 
-; Exports of file RPCNS4.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RPCNS4.dll
-EXPORTS
-I_GetDefaultEntrySyntax
-I_RpcNsGetBuffer
-I_RpcNsNegotiateTransferSyntax
-I_RpcNsRaiseException
-I_RpcNsSendReceive
-I_RpcReBindBuffer
-RpcIfIdVectorFree
-RpcNsBindingExportA
-RpcNsBindingExportPnPA
-RpcNsBindingExportPnPW
-RpcNsBindingExportW
-RpcNsBindingImportBeginA
-RpcNsBindingImportBeginW
-RpcNsBindingImportDone
-RpcNsBindingImportNext
-RpcNsBindingLookupBeginA
-RpcNsBindingLookupBeginW
-RpcNsBindingLookupDone
-RpcNsBindingLookupNext
-RpcNsBindingSelect
-RpcNsBindingUnexportA
-RpcNsBindingUnexportPnPA
-RpcNsBindingUnexportPnPW
-RpcNsBindingUnexportW
-RpcNsEntryExpandNameA
-RpcNsEntryExpandNameW
-RpcNsEntryObjectInqBeginA
-RpcNsEntryObjectInqBeginW
-RpcNsEntryObjectInqDone
-RpcNsEntryObjectInqNext
-RpcNsGroupDeleteA
-RpcNsGroupDeleteW
-RpcNsGroupMbrAddA
-RpcNsGroupMbrAddW
-RpcNsGroupMbrInqBeginA
-RpcNsGroupMbrInqBeginW
-RpcNsGroupMbrInqDone
-RpcNsGroupMbrInqNextA
-RpcNsGroupMbrInqNextW
-RpcNsGroupMbrRemoveA
-RpcNsGroupMbrRemoveW
-RpcNsMgmtBindingUnexportA
-RpcNsMgmtBindingUnexportW
-RpcNsMgmtEntryCreateA
-RpcNsMgmtEntryCreateW
-RpcNsMgmtEntryDeleteA
-RpcNsMgmtEntryDeleteW
-RpcNsMgmtEntryInqIfIdsA
-RpcNsMgmtEntryInqIfIdsW
-RpcNsMgmtHandleSetExpAge
-RpcNsMgmtInqExpAge
-RpcNsMgmtSetExpAge
-RpcNsProfileDeleteA
-RpcNsProfileDeleteW
-RpcNsProfileEltAddA
-RpcNsProfileEltAddW
-RpcNsProfileEltInqBeginA
-RpcNsProfileEltInqBeginW
-RpcNsProfileEltInqDone
-RpcNsProfileEltInqNextA
-RpcNsProfileEltInqNextW
-RpcNsProfileEltRemoveA
-RpcNsProfileEltRemoveW
+; 
+; Exports of file RPCNS4.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RPCNS4.dll
+EXPORTS
+I_GetDefaultEntrySyntax
+I_RpcNsGetBuffer
+I_RpcNsNegotiateTransferSyntax
+I_RpcNsRaiseException
+I_RpcNsSendReceive
+I_RpcReBindBuffer
+RpcIfIdVectorFree
+RpcNsBindingExportA
+RpcNsBindingExportPnPA
+RpcNsBindingExportPnPW
+RpcNsBindingExportW
+RpcNsBindingImportBeginA
+RpcNsBindingImportBeginW
+RpcNsBindingImportDone
+RpcNsBindingImportNext
+RpcNsBindingLookupBeginA
+RpcNsBindingLookupBeginW
+RpcNsBindingLookupDone
+RpcNsBindingLookupNext
+RpcNsBindingSelect
+RpcNsBindingUnexportA
+RpcNsBindingUnexportPnPA
+RpcNsBindingUnexportPnPW
+RpcNsBindingUnexportW
+RpcNsEntryExpandNameA
+RpcNsEntryExpandNameW
+RpcNsEntryObjectInqBeginA
+RpcNsEntryObjectInqBeginW
+RpcNsEntryObjectInqDone
+RpcNsEntryObjectInqNext
+RpcNsGroupDeleteA
+RpcNsGroupDeleteW
+RpcNsGroupMbrAddA
+RpcNsGroupMbrAddW
+RpcNsGroupMbrInqBeginA
+RpcNsGroupMbrInqBeginW
+RpcNsGroupMbrInqDone
+RpcNsGroupMbrInqNextA
+RpcNsGroupMbrInqNextW
+RpcNsGroupMbrRemoveA
+RpcNsGroupMbrRemoveW
+RpcNsMgmtBindingUnexportA
+RpcNsMgmtBindingUnexportW
+RpcNsMgmtEntryCreateA
+RpcNsMgmtEntryCreateW
+RpcNsMgmtEntryDeleteA
+RpcNsMgmtEntryDeleteW
+RpcNsMgmtEntryInqIfIdsA
+RpcNsMgmtEntryInqIfIdsW
+RpcNsMgmtHandleSetExpAge
+RpcNsMgmtInqExpAge
+RpcNsMgmtSetExpAge
+RpcNsProfileDeleteA
+RpcNsProfileDeleteW
+RpcNsProfileEltAddA
+RpcNsProfileEltAddW
+RpcNsProfileEltInqBeginA
+RpcNsProfileEltInqBeginW
+RpcNsProfileEltInqDone
+RpcNsProfileEltInqNextA
+RpcNsProfileEltInqNextW
+RpcNsProfileEltRemoveA
+RpcNsProfileEltRemoveW
diff --git a/mingw-w64-crt/lib64/wrpcnsh.def b/mingw-w64-crt/lib64/wrpcnsh.def
index 025feb8..7065d81 100644
--- a/mingw-w64-crt/lib64/wrpcnsh.def
+++ b/mingw-w64-crt/lib64/wrpcnsh.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file rpcnsh.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rpcnsh.DLL
-EXPORTS
-InitHelperDll
+; 
+; Exports of file rpcnsh.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rpcnsh.DLL
+EXPORTS
+InitHelperDll
diff --git a/mingw-w64-crt/lib64/wrpcref.def b/mingw-w64-crt/lib64/wrpcref.def
index 9bc2f6d..8de9fe3 100644
--- a/mingw-w64-crt/lib64/wrpcref.def
+++ b/mingw-w64-crt/lib64/wrpcref.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file RPCREF.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RPCREF.dll
-EXPORTS
-InetinfoStartRpcServerListen
-InetinfoStopRpcServerListen
+; 
+; Exports of file RPCREF.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RPCREF.dll
+EXPORTS
+InetinfoStartRpcServerListen
+InetinfoStopRpcServerListen
diff --git a/mingw-w64-crt/lib64/wrpcrt4.def b/mingw-w64-crt/lib64/wrpcrt4.def
index a3a3ce7..bb8909f 100644
--- a/mingw-w64-crt/lib64/wrpcrt4.def
+++ b/mingw-w64-crt/lib64/wrpcrt4.def
@@ -1,530 +1,530 @@
-; 
-; Exports of file RPCRT4.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RPCRT4.dll
-EXPORTS
-CreateProxyFromTypeInfo
-CreateStubFromTypeInfo
-I_RpcServerTurnOnOffKeepalives
-CStdStubBuffer_AddRef
-CStdStubBuffer_Connect
-CStdStubBuffer_CountRefs
-CStdStubBuffer_DebugServerQueryInterface
-CStdStubBuffer_DebugServerRelease
-CStdStubBuffer_Disconnect
-CStdStubBuffer_Invoke
-CStdStubBuffer_IsIIDSupported
-CStdStubBuffer_QueryInterface
-DceErrorInqTextA
-DceErrorInqTextW
-DllGetClassObject
-DllInstall
-DllRegisterServer
-GlobalMutexClearExternal
-GlobalMutexRequestExternal
-IUnknown_AddRef_Proxy
-IUnknown_QueryInterface_Proxy
-IUnknown_Release_Proxy
-I_RpcAbortAsyncCall
-I_RpcAllocate
-I_RpcAsyncAbortCall
-I_RpcAsyncSetHandle
-I_RpcBCacheAllocate
-I_RpcBCacheFree
-I_RpcBindingCopy
-I_RpcBindingHandleToAsyncHandle
-I_RpcBindingInqConnId
-I_RpcBindingInqDynamicEndpoint
-I_RpcBindingInqDynamicEndpointA
-I_RpcBindingInqDynamicEndpointW
-I_RpcBindingInqLocalClientPID
-I_RpcBindingInqMarshalledTargetInfo
-I_RpcBindingInqSecurityContext
-I_RpcBindingInqTransportType
-I_RpcBindingInqWireIdForSnego
-I_RpcBindingIsClientLocal
-I_RpcBindingToStaticStringBindingW
-I_RpcClearMutex
-I_RpcConnectionInqSockBuffSize
-I_RpcConnectionSetSockBuffSize
-I_RpcDeleteMutex
-I_RpcEnableWmiTrace
-I_RpcExceptionFilter
-I_RpcFree
-I_RpcFreeBuffer
-I_RpcFreePipeBuffer
-I_RpcGetBuffer
-I_RpcGetBufferWithObject
-I_RpcGetCurrentCallHandle
-I_RpcGetExtendedError
-I_RpcIfInqTransferSyntaxes
-I_RpcLogEvent
-I_RpcMapWin32Status
-I_RpcNDRCGetWireRepresentation
-I_RpcNDRSContextEmergencyCleanup
-I_RpcNegotiateTransferSyntax
-I_RpcNsBindingSetEntryName
-I_RpcNsBindingSetEntryNameA
-I_RpcNsBindingSetEntryNameW
-I_RpcNsInterfaceExported
-I_RpcNsInterfaceUnexported
-I_RpcParseSecurity
-I_RpcPauseExecution
-I_RpcProxyNewConnection
-I_RpcReallocPipeBuffer
-I_RpcReceive
-I_RpcRecordCalloutFailure
-I_RpcReplyToClientWithStatus
-I_RpcRequestMutex
-I_RpcSNCHOption
-I_RpcSend
-I_RpcSendReceive
-I_RpcServerAllocateIpPort
-I_RpcServerCheckClientRestriction
-I_RpcServerInqAddressChangeFn
-I_RpcServerInqLocalConnAddress
-I_RpcServerInqTransportType
-I_RpcServerIsClientDisconnected
-I_RpcServerRegisterForwardFunction
-I_RpcServerSetAddressChangeFn
-I_RpcServerUseProtseq2A
-I_RpcServerUseProtseq2W
-I_RpcServerUseProtseqEp2A
-I_RpcServerUseProtseqEp2W
-I_RpcSessionStrictContextHandle
-I_RpcSetAsyncHandle
-I_RpcSsDontSerializeContext
-I_RpcSystemFunction001
-I_RpcTransConnectionAllocatePacket
-I_RpcTransConnectionFreePacket
-I_RpcTransConnectionReallocPacket
-I_RpcTransDatagramAllocate2
-I_RpcTransDatagramAllocate
-I_RpcTransDatagramFree
-I_RpcTransGetThreadEvent
-I_RpcTransIoCancelled
-I_RpcTransServerNewConnection
-I_RpcTurnOnEEInfoPropagation
-I_UuidCreate
-MIDL_wchar_strcpy
-MIDL_wchar_strlen
-MesBufferHandleReset
-MesDecodeBufferHandleCreate
-MesDecodeIncrementalHandleCreate
-MesEncodeDynBufferHandleCreate
-MesEncodeFixedBufferHandleCreate
-MesEncodeIncrementalHandleCreate
-MesHandleFree
-MesIncrementalHandleReset
-MesInqProcEncodingId
-NDRCContextBinding
-NDRCContextMarshall
-NDRCContextUnmarshall
-NDRSContextMarshall2
-NDRSContextMarshall
-NDRSContextMarshallEx
-NDRSContextUnmarshall2
-NDRSContextUnmarshall
-NDRSContextUnmarshallEx
-NDRcopy
-NdrAllocate
-NdrAsyncClientCall
-NdrAsyncServerCall
-NdrByteCountPointerBufferSize
-NdrByteCountPointerFree
-NdrByteCountPointerMarshall
-NdrByteCountPointerUnmarshall
-NdrCStdStubBuffer2_Release
-NdrCStdStubBuffer_Release
-NdrClearOutParameters
-NdrClientCall
-NdrClientCall2
-NdrClientContextMarshall
-NdrClientContextUnmarshall
-NdrClientInitialize
-NdrClientInitializeNew
-NdrComplexArrayBufferSize
-NdrComplexArrayFree
-NdrComplexArrayMarshall
-NdrComplexArrayMemorySize
-NdrComplexArrayUnmarshall
-NdrComplexStructBufferSize
-NdrComplexStructFree
-NdrComplexStructMarshall
-NdrComplexStructMemorySize
-NdrComplexStructUnmarshall
-NdrConformantArrayBufferSize
-NdrConformantArrayFree
-NdrConformantArrayMarshall
-NdrConformantArrayMemorySize
-NdrConformantArrayUnmarshall
-NdrConformantStringBufferSize
-NdrConformantStringMarshall
-NdrConformantStringMemorySize
-NdrConformantStringUnmarshall
-NdrConformantStructBufferSize
-NdrConformantStructFree
-NdrConformantStructMarshall
-NdrConformantStructMemorySize
-NdrConformantStructUnmarshall
-NdrConformantVaryingArrayBufferSize
-NdrConformantVaryingArrayFree
-NdrConformantVaryingArrayMarshall
-NdrConformantVaryingArrayMemorySize
-NdrConformantVaryingArrayUnmarshall
-NdrConformantVaryingStructBufferSize
-NdrConformantVaryingStructFree
-NdrConformantVaryingStructMarshall
-NdrConformantVaryingStructMemorySize
-NdrConformantVaryingStructUnmarshall
-NdrContextHandleInitialize
-NdrContextHandleSize
-NdrConvert2
-NdrConvert
-NdrCorrelationFree
-NdrCorrelationInitialize
-NdrCorrelationPass
-NdrCreateServerInterfaceFromStub
-NdrDcomAsyncClientCall
-NdrDcomAsyncStubCall
-NdrDllCanUnloadNow
-NdrDllGetClassObject
-NdrDllRegisterProxy
-NdrDllUnregisterProxy
-NdrEncapsulatedUnionBufferSize
-NdrEncapsulatedUnionFree
-NdrEncapsulatedUnionMarshall
-NdrEncapsulatedUnionMemorySize
-NdrEncapsulatedUnionUnmarshall
-NdrFixedArrayBufferSize
-NdrFixedArrayFree
-NdrFixedArrayMarshall
-NdrFixedArrayMemorySize
-NdrFixedArrayUnmarshall
-NdrFreeBuffer
-NdrFullPointerFree
-NdrFullPointerInsertRefId
-NdrFullPointerQueryPointer
-NdrFullPointerQueryRefId
-NdrFullPointerXlatFree
-NdrFullPointerXlatInit
-NdrGetBuffer
-NdrGetDcomProtocolVersion
-NdrGetSimpleTypeBufferAlignment
-NdrGetSimpleTypeBufferSize
-NdrGetSimpleTypeMemorySize
-NdrGetTypeFlags
-NdrGetUserMarshalInfo
-NdrInterfacePointerBufferSize
-NdrInterfacePointerFree
-NdrInterfacePointerMarshall
-NdrInterfacePointerMemorySize
-NdrInterfacePointerUnmarshall
-NdrMapCommAndFaultStatus
-NdrMesProcEncodeDecode
-NdrMesProcEncodeDecode2
-NdrMesSimpleTypeAlignSize
-NdrMesSimpleTypeDecode
-NdrMesSimpleTypeEncode
-NdrMesTypeAlignSize2
-NdrMesTypeAlignSize
-NdrMesTypeDecode2
-NdrMesTypeDecode
-NdrMesTypeEncode2
-NdrMesTypeEncode
-NdrMesTypeFree2
-NdrNonConformantStringBufferSize
-NdrNonConformantStringMarshall
-NdrNonConformantStringMemorySize
-NdrNonConformantStringUnmarshall
-NdrNonEncapsulatedUnionBufferSize
-NdrNonEncapsulatedUnionFree
-NdrNonEncapsulatedUnionMarshall
-NdrNonEncapsulatedUnionMemorySize
-NdrNonEncapsulatedUnionUnmarshall
-NdrNsGetBuffer
-NdrNsSendReceive
-NdrOleAllocate
-NdrOleFree
-NdrOutInit
-NdrPartialIgnoreClientBufferSize
-NdrPartialIgnoreClientMarshall
-NdrPartialIgnoreServerInitialize
-NdrPartialIgnoreServerUnmarshall
-NdrPointerBufferSize
-NdrPointerFree
-NdrPointerMarshall
-NdrPointerMemorySize
-NdrPointerUnmarshall
-NdrProxyErrorHandler
-NdrProxyFreeBuffer
-NdrProxyGetBuffer
-NdrProxyInitialize
-NdrProxySendReceive
-NdrRangeUnmarshall
-NdrRpcSmClientAllocate
-NdrRpcSmClientFree
-NdrRpcSmSetClientToOsf
-NdrRpcSsDefaultAllocate
-NdrRpcSsDefaultFree
-NdrRpcSsDisableAllocate
-NdrRpcSsEnableAllocate
-NdrSendReceive
-NdrServerCall2
-NdrServerCall
-NdrServerContextMarshall
-NdrServerContextNewMarshall
-NdrServerContextNewUnmarshall
-NdrServerContextUnmarshall
-NdrServerInitialize
-NdrServerInitializeMarshall
-NdrServerInitializeNew
-NdrServerInitializePartial
-NdrServerInitializeUnmarshall
-NdrServerMarshall
-NdrServerUnmarshall
-NdrSimpleStructBufferSize
-NdrSimpleStructFree
-NdrSimpleStructMarshall
-NdrSimpleStructMemorySize
-NdrSimpleStructUnmarshall
-NdrSimpleTypeMarshall
-NdrSimpleTypeUnmarshall
-NdrStubCall2
-NdrStubCall
-NdrStubForwardingFunction
-NdrStubGetBuffer
-NdrStubInitialize
-NdrStubInitializeMarshall
-NdrTypeFlags
-NdrTypeFree
-NdrTypeMarshall
-NdrTypeSize
-NdrTypeUnmarshall
-NdrUnmarshallBasetypeInline
-NdrUserMarshalBufferSize
-NdrUserMarshalFree
-NdrUserMarshalMarshall
-NdrUserMarshalMemorySize
-NdrUserMarshalSimpleTypeConvert
-NdrUserMarshalUnmarshall
-NdrVaryingArrayBufferSize
-NdrVaryingArrayFree
-NdrVaryingArrayMarshall
-NdrVaryingArrayMemorySize
-NdrVaryingArrayUnmarshall
-NdrXmitOrRepAsBufferSize
-NdrXmitOrRepAsFree
-NdrXmitOrRepAsMarshall
-NdrXmitOrRepAsMemorySize
-NdrXmitOrRepAsUnmarshall
-NdrpCreateProxy
-NdrpCreateStub
-NdrpGetProcFormatString
-NdrpGetTypeFormatString
-NdrpGetTypeGenCookie
-NdrpMemoryIncrement
-NdrpReleaseTypeFormatString
-NdrpReleaseTypeGenCookie
-NdrpSetRpcSsDefaults
-NdrpVarVtOfTypeDesc
-RpcAbortAsyncCall
-RpcAsyncAbortCall
-RpcAsyncCancelCall
-RpcAsyncCompleteCall
-RpcAsyncGetCallStatus
-RpcAsyncInitializeHandle
-RpcAsyncRegisterInfo
-RpcBindingCopy
-RpcBindingFree
-RpcBindingFromStringBindingA
-RpcBindingFromStringBindingW
-RpcBindingInqAuthClientA
-RpcBindingInqAuthClientExA
-RpcBindingInqAuthClientExW
-RpcBindingInqAuthClientW
-RpcBindingInqAuthInfoA
-RpcBindingInqAuthInfoExA
-RpcBindingInqAuthInfoExW
-RpcBindingInqAuthInfoW
-RpcBindingInqObject
-RpcBindingInqOption
-RpcBindingReset
-RpcBindingServerFromClient
-RpcBindingSetAuthInfoA
-RpcBindingSetAuthInfoExA
-RpcBindingSetAuthInfoExW
-RpcBindingSetAuthInfoW
-RpcBindingSetObject
-RpcBindingSetOption
-RpcBindingToStringBindingA
-RpcBindingToStringBindingW
-RpcBindingVectorFree
-RpcCancelAsyncCall
-RpcCancelThread
-RpcCancelThreadEx
-RpcCertGeneratePrincipalNameA
-RpcCertGeneratePrincipalNameW
-RpcCompleteAsyncCall
-RpcEpRegisterA
-RpcEpRegisterNoReplaceA
-RpcEpRegisterNoReplaceW
-RpcEpRegisterW
-RpcEpResolveBinding
-RpcEpUnregister
-RpcErrorAddRecord
-RpcErrorClearInformation
-RpcErrorEndEnumeration
-RpcErrorGetNextRecord
-RpcErrorGetNumberOfRecords
-RpcErrorLoadErrorInfo
-RpcErrorResetEnumeration
-RpcErrorSaveErrorInfo
-RpcErrorStartEnumeration
-RpcFreeAuthorizationContext
-RpcGetAsyncCallStatus
-RpcGetAuthorizationContextForClient
-RpcIfIdVectorFree
-RpcIfInqId
-RpcImpersonateClient
-RpcInitializeAsyncHandle
-RpcMgmtEnableIdleCleanup
-RpcMgmtEpEltInqBegin
-RpcMgmtEpEltInqDone
-RpcMgmtEpEltInqNextA
-RpcMgmtEpEltInqNextW
-RpcMgmtEpUnregister
-RpcMgmtInqComTimeout
-RpcMgmtInqDefaultProtectLevel
-RpcMgmtInqIfIds
-RpcMgmtInqServerPrincNameA
-RpcMgmtInqServerPrincNameW
-RpcMgmtInqStats
-RpcMgmtIsServerListening
-RpcMgmtSetAuthorizationFn
-RpcMgmtSetCancelTimeout
-RpcMgmtSetComTimeout
-RpcMgmtSetServerStackSize
-RpcMgmtStatsVectorFree
-RpcMgmtStopServerListening
-RpcMgmtWaitServerListen
-RpcNetworkInqProtseqsA
-RpcNetworkInqProtseqsW
-RpcNetworkIsProtseqValidA
-RpcNetworkIsProtseqValidW
-RpcNsBindingInqEntryNameA
-RpcNsBindingInqEntryNameW
-RpcObjectInqType
-RpcObjectSetInqFn
-RpcObjectSetType
-RpcProtseqVectorFreeA
-RpcProtseqVectorFreeW
-RpcRaiseException
-RpcRegisterAsyncInfo
-RpcRevertToSelf
-RpcRevertToSelfEx
-RpcServerInqBindings
-RpcServerInqCallAttributesA
-RpcServerInqCallAttributesW
-RpcServerInqDefaultPrincNameA
-RpcServerInqDefaultPrincNameW
-RpcServerInqIf
-RpcServerListen
-RpcServerRegisterAuthInfoA
-RpcServerRegisterAuthInfoW
-RpcServerRegisterIf2
-RpcServerRegisterIf
-RpcServerRegisterIfEx
-RpcServerTestCancel
-RpcServerUnregisterIf
-RpcServerUnregisterIfEx
-RpcServerUseAllProtseqs
-RpcServerUseAllProtseqsEx
-RpcServerUseAllProtseqsIf
-RpcServerUseAllProtseqsIfEx
-RpcServerUseProtseqA
-RpcServerUseProtseqEpA
-RpcServerUseProtseqEpExA
-RpcServerUseProtseqEpExW
-RpcServerUseProtseqEpW
-RpcServerUseProtseqExA
-RpcServerUseProtseqExW
-RpcServerUseProtseqIfA
-RpcServerUseProtseqIfExA
-RpcServerUseProtseqIfExW
-RpcServerUseProtseqIfW
-RpcServerUseProtseqW
-RpcServerYield
-RpcSmAllocate
-RpcSmClientFree
-RpcSmDestroyClientContext
-RpcSmDisableAllocate
-RpcSmEnableAllocate
-RpcSmFree
-RpcSmGetThreadHandle
-RpcSmSetClientAllocFree
-RpcSmSetThreadHandle
-RpcSmSwapClientAllocFree
-RpcSsAllocate
-RpcSsContextLockExclusive
-RpcSsContextLockShared
-RpcSsDestroyClientContext
-RpcSsDisableAllocate
-RpcSsDontSerializeContext
-RpcSsEnableAllocate
-RpcSsFree
-RpcSsGetContextBinding
-RpcSsGetThreadHandle
-RpcSsSetClientAllocFree
-RpcSsSetThreadHandle
-RpcSsSwapClientAllocFree
-RpcStringBindingComposeA
-RpcStringBindingComposeW
-RpcStringBindingParseA
-RpcStringBindingParseW
-RpcStringFreeA
-RpcStringFreeW
-RpcTestCancel
-RpcUserFree
-SimpleTypeAlignment
-SimpleTypeBufferSize
-SimpleTypeMemorySize
-TowerConstruct
-TowerExplode
-UuidCompare
-UuidCreate
-UuidCreateNil
-UuidCreateSequential
-UuidEqual
-UuidFromStringA
-UuidFromStringW
-UuidHash
-UuidIsNil
-UuidToStringA
-UuidToStringW
-char_array_from_ndr
-char_from_ndr
-data_from_ndr
-data_into_ndr
-data_size_ndr
-double_array_from_ndr
-double_from_ndr
-enum_from_ndr
-float_array_from_ndr
-float_from_ndr
-long_array_from_ndr
-long_from_ndr
-long_from_ndr_temp
-pfnFreeRoutines DATA
-pfnMarshallRoutines DATA
-pfnSizeRoutines DATA
-pfnUnmarshallRoutines DATA
-short_array_from_ndr
-short_from_ndr
-short_from_ndr_temp
-tree_into_ndr
-tree_peek_ndr
-tree_size_ndr
+; 
+; Exports of file RPCRT4.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RPCRT4.dll
+EXPORTS
+CreateProxyFromTypeInfo
+CreateStubFromTypeInfo
+I_RpcServerTurnOnOffKeepalives
+CStdStubBuffer_AddRef
+CStdStubBuffer_Connect
+CStdStubBuffer_CountRefs
+CStdStubBuffer_DebugServerQueryInterface
+CStdStubBuffer_DebugServerRelease
+CStdStubBuffer_Disconnect
+CStdStubBuffer_Invoke
+CStdStubBuffer_IsIIDSupported
+CStdStubBuffer_QueryInterface
+DceErrorInqTextA
+DceErrorInqTextW
+DllGetClassObject
+DllInstall
+DllRegisterServer
+GlobalMutexClearExternal
+GlobalMutexRequestExternal
+IUnknown_AddRef_Proxy
+IUnknown_QueryInterface_Proxy
+IUnknown_Release_Proxy
+I_RpcAbortAsyncCall
+I_RpcAllocate
+I_RpcAsyncAbortCall
+I_RpcAsyncSetHandle
+I_RpcBCacheAllocate
+I_RpcBCacheFree
+I_RpcBindingCopy
+I_RpcBindingHandleToAsyncHandle
+I_RpcBindingInqConnId
+I_RpcBindingInqDynamicEndpoint
+I_RpcBindingInqDynamicEndpointA
+I_RpcBindingInqDynamicEndpointW
+I_RpcBindingInqLocalClientPID
+I_RpcBindingInqMarshalledTargetInfo
+I_RpcBindingInqSecurityContext
+I_RpcBindingInqTransportType
+I_RpcBindingInqWireIdForSnego
+I_RpcBindingIsClientLocal
+I_RpcBindingToStaticStringBindingW
+I_RpcClearMutex
+I_RpcConnectionInqSockBuffSize
+I_RpcConnectionSetSockBuffSize
+I_RpcDeleteMutex
+I_RpcEnableWmiTrace
+I_RpcExceptionFilter
+I_RpcFree
+I_RpcFreeBuffer
+I_RpcFreePipeBuffer
+I_RpcGetBuffer
+I_RpcGetBufferWithObject
+I_RpcGetCurrentCallHandle
+I_RpcGetExtendedError
+I_RpcIfInqTransferSyntaxes
+I_RpcLogEvent
+I_RpcMapWin32Status
+I_RpcNDRCGetWireRepresentation
+I_RpcNDRSContextEmergencyCleanup
+I_RpcNegotiateTransferSyntax
+I_RpcNsBindingSetEntryName
+I_RpcNsBindingSetEntryNameA
+I_RpcNsBindingSetEntryNameW
+I_RpcNsInterfaceExported
+I_RpcNsInterfaceUnexported
+I_RpcParseSecurity
+I_RpcPauseExecution
+I_RpcProxyNewConnection
+I_RpcReallocPipeBuffer
+I_RpcReceive
+I_RpcRecordCalloutFailure
+I_RpcReplyToClientWithStatus
+I_RpcRequestMutex
+I_RpcSNCHOption
+I_RpcSend
+I_RpcSendReceive
+I_RpcServerAllocateIpPort
+I_RpcServerCheckClientRestriction
+I_RpcServerInqAddressChangeFn
+I_RpcServerInqLocalConnAddress
+I_RpcServerInqTransportType
+I_RpcServerIsClientDisconnected
+I_RpcServerRegisterForwardFunction
+I_RpcServerSetAddressChangeFn
+I_RpcServerUseProtseq2A
+I_RpcServerUseProtseq2W
+I_RpcServerUseProtseqEp2A
+I_RpcServerUseProtseqEp2W
+I_RpcSessionStrictContextHandle
+I_RpcSetAsyncHandle
+I_RpcSsDontSerializeContext
+I_RpcSystemFunction001
+I_RpcTransConnectionAllocatePacket
+I_RpcTransConnectionFreePacket
+I_RpcTransConnectionReallocPacket
+I_RpcTransDatagramAllocate2
+I_RpcTransDatagramAllocate
+I_RpcTransDatagramFree
+I_RpcTransGetThreadEvent
+I_RpcTransIoCancelled
+I_RpcTransServerNewConnection
+I_RpcTurnOnEEInfoPropagation
+I_UuidCreate
+MIDL_wchar_strcpy
+MIDL_wchar_strlen
+MesBufferHandleReset
+MesDecodeBufferHandleCreate
+MesDecodeIncrementalHandleCreate
+MesEncodeDynBufferHandleCreate
+MesEncodeFixedBufferHandleCreate
+MesEncodeIncrementalHandleCreate
+MesHandleFree
+MesIncrementalHandleReset
+MesInqProcEncodingId
+NDRCContextBinding
+NDRCContextMarshall
+NDRCContextUnmarshall
+NDRSContextMarshall2
+NDRSContextMarshall
+NDRSContextMarshallEx
+NDRSContextUnmarshall2
+NDRSContextUnmarshall
+NDRSContextUnmarshallEx
+NDRcopy
+NdrAllocate
+NdrAsyncClientCall
+NdrAsyncServerCall
+NdrByteCountPointerBufferSize
+NdrByteCountPointerFree
+NdrByteCountPointerMarshall
+NdrByteCountPointerUnmarshall
+NdrCStdStubBuffer2_Release
+NdrCStdStubBuffer_Release
+NdrClearOutParameters
+NdrClientCall
+NdrClientCall2
+NdrClientContextMarshall
+NdrClientContextUnmarshall
+NdrClientInitialize
+NdrClientInitializeNew
+NdrComplexArrayBufferSize
+NdrComplexArrayFree
+NdrComplexArrayMarshall
+NdrComplexArrayMemorySize
+NdrComplexArrayUnmarshall
+NdrComplexStructBufferSize
+NdrComplexStructFree
+NdrComplexStructMarshall
+NdrComplexStructMemorySize
+NdrComplexStructUnmarshall
+NdrConformantArrayBufferSize
+NdrConformantArrayFree
+NdrConformantArrayMarshall
+NdrConformantArrayMemorySize
+NdrConformantArrayUnmarshall
+NdrConformantStringBufferSize
+NdrConformantStringMarshall
+NdrConformantStringMemorySize
+NdrConformantStringUnmarshall
+NdrConformantStructBufferSize
+NdrConformantStructFree
+NdrConformantStructMarshall
+NdrConformantStructMemorySize
+NdrConformantStructUnmarshall
+NdrConformantVaryingArrayBufferSize
+NdrConformantVaryingArrayFree
+NdrConformantVaryingArrayMarshall
+NdrConformantVaryingArrayMemorySize
+NdrConformantVaryingArrayUnmarshall
+NdrConformantVaryingStructBufferSize
+NdrConformantVaryingStructFree
+NdrConformantVaryingStructMarshall
+NdrConformantVaryingStructMemorySize
+NdrConformantVaryingStructUnmarshall
+NdrContextHandleInitialize
+NdrContextHandleSize
+NdrConvert2
+NdrConvert
+NdrCorrelationFree
+NdrCorrelationInitialize
+NdrCorrelationPass
+NdrCreateServerInterfaceFromStub
+NdrDcomAsyncClientCall
+NdrDcomAsyncStubCall
+NdrDllCanUnloadNow
+NdrDllGetClassObject
+NdrDllRegisterProxy
+NdrDllUnregisterProxy
+NdrEncapsulatedUnionBufferSize
+NdrEncapsulatedUnionFree
+NdrEncapsulatedUnionMarshall
+NdrEncapsulatedUnionMemorySize
+NdrEncapsulatedUnionUnmarshall
+NdrFixedArrayBufferSize
+NdrFixedArrayFree
+NdrFixedArrayMarshall
+NdrFixedArrayMemorySize
+NdrFixedArrayUnmarshall
+NdrFreeBuffer
+NdrFullPointerFree
+NdrFullPointerInsertRefId
+NdrFullPointerQueryPointer
+NdrFullPointerQueryRefId
+NdrFullPointerXlatFree
+NdrFullPointerXlatInit
+NdrGetBuffer
+NdrGetDcomProtocolVersion
+NdrGetSimpleTypeBufferAlignment
+NdrGetSimpleTypeBufferSize
+NdrGetSimpleTypeMemorySize
+NdrGetTypeFlags
+NdrGetUserMarshalInfo
+NdrInterfacePointerBufferSize
+NdrInterfacePointerFree
+NdrInterfacePointerMarshall
+NdrInterfacePointerMemorySize
+NdrInterfacePointerUnmarshall
+NdrMapCommAndFaultStatus
+NdrMesProcEncodeDecode
+NdrMesProcEncodeDecode2
+NdrMesSimpleTypeAlignSize
+NdrMesSimpleTypeDecode
+NdrMesSimpleTypeEncode
+NdrMesTypeAlignSize2
+NdrMesTypeAlignSize
+NdrMesTypeDecode2
+NdrMesTypeDecode
+NdrMesTypeEncode2
+NdrMesTypeEncode
+NdrMesTypeFree2
+NdrNonConformantStringBufferSize
+NdrNonConformantStringMarshall
+NdrNonConformantStringMemorySize
+NdrNonConformantStringUnmarshall
+NdrNonEncapsulatedUnionBufferSize
+NdrNonEncapsulatedUnionFree
+NdrNonEncapsulatedUnionMarshall
+NdrNonEncapsulatedUnionMemorySize
+NdrNonEncapsulatedUnionUnmarshall
+NdrNsGetBuffer
+NdrNsSendReceive
+NdrOleAllocate
+NdrOleFree
+NdrOutInit
+NdrPartialIgnoreClientBufferSize
+NdrPartialIgnoreClientMarshall
+NdrPartialIgnoreServerInitialize
+NdrPartialIgnoreServerUnmarshall
+NdrPointerBufferSize
+NdrPointerFree
+NdrPointerMarshall
+NdrPointerMemorySize
+NdrPointerUnmarshall
+NdrProxyErrorHandler
+NdrProxyFreeBuffer
+NdrProxyGetBuffer
+NdrProxyInitialize
+NdrProxySendReceive
+NdrRangeUnmarshall
+NdrRpcSmClientAllocate
+NdrRpcSmClientFree
+NdrRpcSmSetClientToOsf
+NdrRpcSsDefaultAllocate
+NdrRpcSsDefaultFree
+NdrRpcSsDisableAllocate
+NdrRpcSsEnableAllocate
+NdrSendReceive
+NdrServerCall2
+NdrServerCall
+NdrServerContextMarshall
+NdrServerContextNewMarshall
+NdrServerContextNewUnmarshall
+NdrServerContextUnmarshall
+NdrServerInitialize
+NdrServerInitializeMarshall
+NdrServerInitializeNew
+NdrServerInitializePartial
+NdrServerInitializeUnmarshall
+NdrServerMarshall
+NdrServerUnmarshall
+NdrSimpleStructBufferSize
+NdrSimpleStructFree
+NdrSimpleStructMarshall
+NdrSimpleStructMemorySize
+NdrSimpleStructUnmarshall
+NdrSimpleTypeMarshall
+NdrSimpleTypeUnmarshall
+NdrStubCall2
+NdrStubCall
+NdrStubForwardingFunction
+NdrStubGetBuffer
+NdrStubInitialize
+NdrStubInitializeMarshall
+NdrTypeFlags
+NdrTypeFree
+NdrTypeMarshall
+NdrTypeSize
+NdrTypeUnmarshall
+NdrUnmarshallBasetypeInline
+NdrUserMarshalBufferSize
+NdrUserMarshalFree
+NdrUserMarshalMarshall
+NdrUserMarshalMemorySize
+NdrUserMarshalSimpleTypeConvert
+NdrUserMarshalUnmarshall
+NdrVaryingArrayBufferSize
+NdrVaryingArrayFree
+NdrVaryingArrayMarshall
+NdrVaryingArrayMemorySize
+NdrVaryingArrayUnmarshall
+NdrXmitOrRepAsBufferSize
+NdrXmitOrRepAsFree
+NdrXmitOrRepAsMarshall
+NdrXmitOrRepAsMemorySize
+NdrXmitOrRepAsUnmarshall
+NdrpCreateProxy
+NdrpCreateStub
+NdrpGetProcFormatString
+NdrpGetTypeFormatString
+NdrpGetTypeGenCookie
+NdrpMemoryIncrement
+NdrpReleaseTypeFormatString
+NdrpReleaseTypeGenCookie
+NdrpSetRpcSsDefaults
+NdrpVarVtOfTypeDesc
+RpcAbortAsyncCall
+RpcAsyncAbortCall
+RpcAsyncCancelCall
+RpcAsyncCompleteCall
+RpcAsyncGetCallStatus
+RpcAsyncInitializeHandle
+RpcAsyncRegisterInfo
+RpcBindingCopy
+RpcBindingFree
+RpcBindingFromStringBindingA
+RpcBindingFromStringBindingW
+RpcBindingInqAuthClientA
+RpcBindingInqAuthClientExA
+RpcBindingInqAuthClientExW
+RpcBindingInqAuthClientW
+RpcBindingInqAuthInfoA
+RpcBindingInqAuthInfoExA
+RpcBindingInqAuthInfoExW
+RpcBindingInqAuthInfoW
+RpcBindingInqObject
+RpcBindingInqOption
+RpcBindingReset
+RpcBindingServerFromClient
+RpcBindingSetAuthInfoA
+RpcBindingSetAuthInfoExA
+RpcBindingSetAuthInfoExW
+RpcBindingSetAuthInfoW
+RpcBindingSetObject
+RpcBindingSetOption
+RpcBindingToStringBindingA
+RpcBindingToStringBindingW
+RpcBindingVectorFree
+RpcCancelAsyncCall
+RpcCancelThread
+RpcCancelThreadEx
+RpcCertGeneratePrincipalNameA
+RpcCertGeneratePrincipalNameW
+RpcCompleteAsyncCall
+RpcEpRegisterA
+RpcEpRegisterNoReplaceA
+RpcEpRegisterNoReplaceW
+RpcEpRegisterW
+RpcEpResolveBinding
+RpcEpUnregister
+RpcErrorAddRecord
+RpcErrorClearInformation
+RpcErrorEndEnumeration
+RpcErrorGetNextRecord
+RpcErrorGetNumberOfRecords
+RpcErrorLoadErrorInfo
+RpcErrorResetEnumeration
+RpcErrorSaveErrorInfo
+RpcErrorStartEnumeration
+RpcFreeAuthorizationContext
+RpcGetAsyncCallStatus
+RpcGetAuthorizationContextForClient
+RpcIfIdVectorFree
+RpcIfInqId
+RpcImpersonateClient
+RpcInitializeAsyncHandle
+RpcMgmtEnableIdleCleanup
+RpcMgmtEpEltInqBegin
+RpcMgmtEpEltInqDone
+RpcMgmtEpEltInqNextA
+RpcMgmtEpEltInqNextW
+RpcMgmtEpUnregister
+RpcMgmtInqComTimeout
+RpcMgmtInqDefaultProtectLevel
+RpcMgmtInqIfIds
+RpcMgmtInqServerPrincNameA
+RpcMgmtInqServerPrincNameW
+RpcMgmtInqStats
+RpcMgmtIsServerListening
+RpcMgmtSetAuthorizationFn
+RpcMgmtSetCancelTimeout
+RpcMgmtSetComTimeout
+RpcMgmtSetServerStackSize
+RpcMgmtStatsVectorFree
+RpcMgmtStopServerListening
+RpcMgmtWaitServerListen
+RpcNetworkInqProtseqsA
+RpcNetworkInqProtseqsW
+RpcNetworkIsProtseqValidA
+RpcNetworkIsProtseqValidW
+RpcNsBindingInqEntryNameA
+RpcNsBindingInqEntryNameW
+RpcObjectInqType
+RpcObjectSetInqFn
+RpcObjectSetType
+RpcProtseqVectorFreeA
+RpcProtseqVectorFreeW
+RpcRaiseException
+RpcRegisterAsyncInfo
+RpcRevertToSelf
+RpcRevertToSelfEx
+RpcServerInqBindings
+RpcServerInqCallAttributesA
+RpcServerInqCallAttributesW
+RpcServerInqDefaultPrincNameA
+RpcServerInqDefaultPrincNameW
+RpcServerInqIf
+RpcServerListen
+RpcServerRegisterAuthInfoA
+RpcServerRegisterAuthInfoW
+RpcServerRegisterIf2
+RpcServerRegisterIf
+RpcServerRegisterIfEx
+RpcServerTestCancel
+RpcServerUnregisterIf
+RpcServerUnregisterIfEx
+RpcServerUseAllProtseqs
+RpcServerUseAllProtseqsEx
+RpcServerUseAllProtseqsIf
+RpcServerUseAllProtseqsIfEx
+RpcServerUseProtseqA
+RpcServerUseProtseqEpA
+RpcServerUseProtseqEpExA
+RpcServerUseProtseqEpExW
+RpcServerUseProtseqEpW
+RpcServerUseProtseqExA
+RpcServerUseProtseqExW
+RpcServerUseProtseqIfA
+RpcServerUseProtseqIfExA
+RpcServerUseProtseqIfExW
+RpcServerUseProtseqIfW
+RpcServerUseProtseqW
+RpcServerYield
+RpcSmAllocate
+RpcSmClientFree
+RpcSmDestroyClientContext
+RpcSmDisableAllocate
+RpcSmEnableAllocate
+RpcSmFree
+RpcSmGetThreadHandle
+RpcSmSetClientAllocFree
+RpcSmSetThreadHandle
+RpcSmSwapClientAllocFree
+RpcSsAllocate
+RpcSsContextLockExclusive
+RpcSsContextLockShared
+RpcSsDestroyClientContext
+RpcSsDisableAllocate
+RpcSsDontSerializeContext
+RpcSsEnableAllocate
+RpcSsFree
+RpcSsGetContextBinding
+RpcSsGetThreadHandle
+RpcSsSetClientAllocFree
+RpcSsSetThreadHandle
+RpcSsSwapClientAllocFree
+RpcStringBindingComposeA
+RpcStringBindingComposeW
+RpcStringBindingParseA
+RpcStringBindingParseW
+RpcStringFreeA
+RpcStringFreeW
+RpcTestCancel
+RpcUserFree
+SimpleTypeAlignment
+SimpleTypeBufferSize
+SimpleTypeMemorySize
+TowerConstruct
+TowerExplode
+UuidCompare
+UuidCreate
+UuidCreateNil
+UuidCreateSequential
+UuidEqual
+UuidFromStringA
+UuidFromStringW
+UuidHash
+UuidIsNil
+UuidToStringA
+UuidToStringW
+char_array_from_ndr
+char_from_ndr
+data_from_ndr
+data_into_ndr
+data_size_ndr
+double_array_from_ndr
+double_from_ndr
+enum_from_ndr
+float_array_from_ndr
+float_from_ndr
+long_array_from_ndr
+long_from_ndr
+long_from_ndr_temp
+pfnFreeRoutines DATA
+pfnMarshallRoutines DATA
+pfnSizeRoutines DATA
+pfnUnmarshallRoutines DATA
+short_array_from_ndr
+short_from_ndr
+short_from_ndr_temp
+tree_into_ndr
+tree_peek_ndr
+tree_size_ndr
diff --git a/mingw-w64-crt/lib64/wrsaenh.def b/mingw-w64-crt/lib64/wrsaenh.def
index 415f8a7..9340859 100644
--- a/mingw-w64-crt/lib64/wrsaenh.def
+++ b/mingw-w64-crt/lib64/wrsaenh.def
@@ -1,35 +1,35 @@
-; 
-; Exports of file RSAENH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RSAENH.dll
-EXPORTS
-CPAcquireContext
-CPCreateHash
-CPDecrypt
-CPDeriveKey
-CPDestroyHash
-CPDestroyKey
-CPDuplicateHash
-CPDuplicateKey
-CPEncrypt
-CPExportKey
-CPGenKey
-CPGenRandom
-CPGetHashParam
-CPGetKeyParam
-CPGetProvParam
-CPGetUserKey
-CPHashData
-CPHashSessionKey
-CPImportKey
-CPReleaseContext
-CPSetHashParam
-CPSetKeyParam
-CPSetProvParam
-CPSignHash
-CPVerifySignature
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file RSAENH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RSAENH.dll
+EXPORTS
+CPAcquireContext
+CPCreateHash
+CPDecrypt
+CPDeriveKey
+CPDestroyHash
+CPDestroyKey
+CPDuplicateHash
+CPDuplicateKey
+CPEncrypt
+CPExportKey
+CPGenKey
+CPGenRandom
+CPGetHashParam
+CPGetKeyParam
+CPGetProvParam
+CPGetUserKey
+CPHashData
+CPHashSessionKey
+CPImportKey
+CPReleaseContext
+CPSetHashParam
+CPSetKeyParam
+CPSetProvParam
+CPSignHash
+CPVerifySignature
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wrshx32.def b/mingw-w64-crt/lib64/wrshx32.def
index 1cb9c16..55fca6b 100644
--- a/mingw-w64-crt/lib64/wrshx32.def
+++ b/mingw-w64-crt/lib64/wrshx32.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file RSHX32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RSHX32.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file RSHX32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RSHX32.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wrtm.def b/mingw-w64-crt/lib64/wrtm.def
index 39e2300..bbf9357 100644
--- a/mingw-w64-crt/lib64/wrtm.def
+++ b/mingw-w64-crt/lib64/wrtm.def
@@ -1,120 +1,120 @@
-; 
-; Exports of file rtm.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rtm.dll
-EXPORTS
-BestMatchInTable
-CheckTable
-CreateTable
-DeleteFromTable
-DestroyTable
-DumpTable
-EnumOverTable
-InsertIntoTable
-MgmAddGroupMembershipEntry
-MgmDeInitialize
-MgmDeRegisterMProtocol
-MgmDeleteGroupMembershipEntry
-MgmGetFirstMfe
-MgmGetFirstMfeStats
-MgmGetMfe
-MgmGetMfeStats
-MgmGetNextMfe
-MgmGetNextMfeStats
-MgmGetProtocolOnInterface
-MgmGroupEnumerationEnd
-MgmGroupEnumerationGetNext
-MgmGroupEnumerationStart
-MgmInitialize
-MgmRegisterMProtocol
-MgmReleaseInterfaceOwnership
-MgmTakeInterfaceOwnership
-NextMatchInTable
-RtmAddNextHop
-RtmAddRoute
-RtmAddRouteToDest
-RtmBlockConvertRoutesToStatic
-RtmBlockDeleteRoutes
-RtmBlockMethods
-RtmBlockSetRouteEnable
-RtmCloseEnumerationHandle
-RtmCreateDestEnum
-RtmCreateEnumerationHandle
-RtmCreateNextHopEnum
-RtmCreateRouteEnum
-RtmCreateRouteList
-RtmCreateRouteListEnum
-RtmCreateRouteTable
-RtmDeleteEnumHandle
-RtmDeleteNextHop
-RtmDeleteRoute
-RtmDeleteRouteList
-RtmDeleteRouteTable
-RtmDeleteRouteToDest
-RtmDequeueRouteChangeMessage
-RtmDereferenceHandles
-RtmDeregisterClient
-RtmDeregisterEntity
-RtmDeregisterFromChangeNotification
-RtmEnumerateGetNextRoute
-RtmFindNextHop
-RtmGetAddressFamilyInfo
-RtmGetChangeStatus
-RtmGetChangedDests
-RtmGetDestInfo
-RtmGetEntityInfo
-RtmGetEntityMethods
-RtmGetEnumDests
-RtmGetEnumNextHops
-RtmGetEnumRoutes
-RtmGetExactMatchDestination
-RtmGetExactMatchRoute
-RtmGetFirstRoute
-RtmGetInstanceInfo
-RtmGetInstances
-RtmGetLessSpecificDestination
-RtmGetListEnumRoutes
-RtmGetMostSpecificDestination
-RtmGetNetworkCount
-RtmGetNextHopInfo
-RtmGetNextHopPointer
-RtmGetNextRoute
-RtmGetOpaqueInformationPointer
-RtmGetRegisteredEntities
-RtmGetRouteAge
-RtmGetRouteInfo
-RtmGetRoutePointer
-RtmHoldDestination
-RtmIgnoreChangedDests
-RtmInsertInRouteList
-RtmInvokeMethod
-RtmIsBestRoute
-RtmIsMarkedForChangeNotification
-RtmIsRoute
-RtmLockDestination
-RtmLockNextHop
-RtmLockRoute
-RtmLookupIPDestination
-RtmMarkDestForChangeNotification
-RtmReadAddressFamilyConfig
-RtmReadInstanceConfig
-RtmReferenceHandles
-RtmRegisterClient
-RtmRegisterEntity
-RtmRegisterForChangeNotification
-RtmReleaseChangedDests
-RtmReleaseDestInfo
-RtmReleaseDests
-RtmReleaseEntities
-RtmReleaseEntityInfo
-RtmReleaseNextHopInfo
-RtmReleaseNextHops
-RtmReleaseRouteInfo
-RtmReleaseRoutes
-RtmUpdateAndUnlockRoute
-RtmWriteAddressFamilyConfig
-RtmWriteInstanceConfig
-SearchInTable
+; 
+; Exports of file rtm.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rtm.dll
+EXPORTS
+BestMatchInTable
+CheckTable
+CreateTable
+DeleteFromTable
+DestroyTable
+DumpTable
+EnumOverTable
+InsertIntoTable
+MgmAddGroupMembershipEntry
+MgmDeInitialize
+MgmDeRegisterMProtocol
+MgmDeleteGroupMembershipEntry
+MgmGetFirstMfe
+MgmGetFirstMfeStats
+MgmGetMfe
+MgmGetMfeStats
+MgmGetNextMfe
+MgmGetNextMfeStats
+MgmGetProtocolOnInterface
+MgmGroupEnumerationEnd
+MgmGroupEnumerationGetNext
+MgmGroupEnumerationStart
+MgmInitialize
+MgmRegisterMProtocol
+MgmReleaseInterfaceOwnership
+MgmTakeInterfaceOwnership
+NextMatchInTable
+RtmAddNextHop
+RtmAddRoute
+RtmAddRouteToDest
+RtmBlockConvertRoutesToStatic
+RtmBlockDeleteRoutes
+RtmBlockMethods
+RtmBlockSetRouteEnable
+RtmCloseEnumerationHandle
+RtmCreateDestEnum
+RtmCreateEnumerationHandle
+RtmCreateNextHopEnum
+RtmCreateRouteEnum
+RtmCreateRouteList
+RtmCreateRouteListEnum
+RtmCreateRouteTable
+RtmDeleteEnumHandle
+RtmDeleteNextHop
+RtmDeleteRoute
+RtmDeleteRouteList
+RtmDeleteRouteTable
+RtmDeleteRouteToDest
+RtmDequeueRouteChangeMessage
+RtmDereferenceHandles
+RtmDeregisterClient
+RtmDeregisterEntity
+RtmDeregisterFromChangeNotification
+RtmEnumerateGetNextRoute
+RtmFindNextHop
+RtmGetAddressFamilyInfo
+RtmGetChangeStatus
+RtmGetChangedDests
+RtmGetDestInfo
+RtmGetEntityInfo
+RtmGetEntityMethods
+RtmGetEnumDests
+RtmGetEnumNextHops
+RtmGetEnumRoutes
+RtmGetExactMatchDestination
+RtmGetExactMatchRoute
+RtmGetFirstRoute
+RtmGetInstanceInfo
+RtmGetInstances
+RtmGetLessSpecificDestination
+RtmGetListEnumRoutes
+RtmGetMostSpecificDestination
+RtmGetNetworkCount
+RtmGetNextHopInfo
+RtmGetNextHopPointer
+RtmGetNextRoute
+RtmGetOpaqueInformationPointer
+RtmGetRegisteredEntities
+RtmGetRouteAge
+RtmGetRouteInfo
+RtmGetRoutePointer
+RtmHoldDestination
+RtmIgnoreChangedDests
+RtmInsertInRouteList
+RtmInvokeMethod
+RtmIsBestRoute
+RtmIsMarkedForChangeNotification
+RtmIsRoute
+RtmLockDestination
+RtmLockNextHop
+RtmLockRoute
+RtmLookupIPDestination
+RtmMarkDestForChangeNotification
+RtmReadAddressFamilyConfig
+RtmReadInstanceConfig
+RtmReferenceHandles
+RtmRegisterClient
+RtmRegisterEntity
+RtmRegisterForChangeNotification
+RtmReleaseChangedDests
+RtmReleaseDestInfo
+RtmReleaseDests
+RtmReleaseEntities
+RtmReleaseEntityInfo
+RtmReleaseNextHopInfo
+RtmReleaseNextHops
+RtmReleaseRouteInfo
+RtmReleaseRoutes
+RtmUpdateAndUnlockRoute
+RtmWriteAddressFamilyConfig
+RtmWriteInstanceConfig
+SearchInTable
diff --git a/mingw-w64-crt/lib64/wrtutils.def b/mingw-w64-crt/lib64/wrtutils.def
index 52f7b65..2871694 100644
--- a/mingw-w64-crt/lib64/wrtutils.def
+++ b/mingw-w64-crt/lib64/wrtutils.def
@@ -1,51 +1,51 @@
-; 
-; Exports of file rtutils.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY rtutils.dll
-EXPORTS
-LogErrorA
-LogErrorW
-LogEventA
-LogEventW
-MprSetupProtocolEnum
-MprSetupProtocolFree
-QueueWorkItem
-RouterAssert
-RouterGetErrorStringA
-RouterGetErrorStringW
-RouterLogDeregisterA
-RouterLogDeregisterW
-RouterLogEventA
-RouterLogEventDataA
-RouterLogEventDataW
-RouterLogEventExA
-RouterLogEventExW
-RouterLogEventStringA
-RouterLogEventStringW
-RouterLogEventValistExA
-RouterLogEventValistExW
-RouterLogEventW
-RouterLogRegisterA
-RouterLogRegisterW
-SetIoCompletionProc
-TraceDeregisterA
-TraceDeregisterExA
-TraceDeregisterExW
-TraceDeregisterW
-TraceDumpExA
-TraceDumpExW
-TraceGetConsoleA
-TraceGetConsoleW
-TracePrintfA
-TracePrintfExA
-TracePrintfExW
-TracePrintfW
-TracePutsExA
-TracePutsExW
-TraceRegisterExA
-TraceRegisterExW
-TraceVprintfExA
-TraceVprintfExW
+; 
+; Exports of file rtutils.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY rtutils.dll
+EXPORTS
+LogErrorA
+LogErrorW
+LogEventA
+LogEventW
+MprSetupProtocolEnum
+MprSetupProtocolFree
+QueueWorkItem
+RouterAssert
+RouterGetErrorStringA
+RouterGetErrorStringW
+RouterLogDeregisterA
+RouterLogDeregisterW
+RouterLogEventA
+RouterLogEventDataA
+RouterLogEventDataW
+RouterLogEventExA
+RouterLogEventExW
+RouterLogEventStringA
+RouterLogEventStringW
+RouterLogEventValistExA
+RouterLogEventValistExW
+RouterLogEventW
+RouterLogRegisterA
+RouterLogRegisterW
+SetIoCompletionProc
+TraceDeregisterA
+TraceDeregisterExA
+TraceDeregisterExW
+TraceDeregisterW
+TraceDumpExA
+TraceDumpExW
+TraceGetConsoleA
+TraceGetConsoleW
+TracePrintfA
+TracePrintfExA
+TracePrintfExW
+TracePrintfW
+TracePutsExA
+TracePutsExW
+TraceRegisterExA
+TraceRegisterExW
+TraceVprintfExA
+TraceVprintfExW
diff --git a/mingw-w64-crt/lib64/wrvse.def b/mingw-w64-crt/lib64/wrvse.def
index 0caccf4..ece91dc 100644
--- a/mingw-w64-crt/lib64/wrvse.def
+++ b/mingw-w64-crt/lib64/wrvse.def
@@ -1,21 +1,21 @@
-; 
-; Exports of file Reversi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Reversi.dll
-EXPORTS
-ZoneClientMain
-ZoneClientExit
-ZoneClientGameAddKibitzer
-ZoneClientGameDelete
-ZoneClientGameNew
-ZoneClientGameProcessMessage
-ZoneClientGameRemoveKibitzer
-ZoneClientInternalName
-ZoneClientMessageHandler
-ZoneClientName
-ZoneClientVersion
-ZoneGameDllDelete
-ZoneGameDllInit
+; 
+; Exports of file Reversi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Reversi.dll
+EXPORTS
+ZoneClientMain
+ZoneClientExit
+ZoneClientGameAddKibitzer
+ZoneClientGameDelete
+ZoneClientGameNew
+ZoneClientGameProcessMessage
+ZoneClientGameRemoveKibitzer
+ZoneClientInternalName
+ZoneClientMessageHandler
+ZoneClientName
+ZoneClientVersion
+ZoneGameDllDelete
+ZoneGameDllInit
diff --git a/mingw-w64-crt/lib64/wrwnh.def b/mingw-w64-crt/lib64/wrwnh.def
index 570561f..ddec5ab 100644
--- a/mingw-w64-crt/lib64/wrwnh.def
+++ b/mingw-w64-crt/lib64/wrwnh.def
@@ -1,104 +1,104 @@
-; 
-; Exports of file RWNH.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY RWNH.dll
-EXPORTS
-; public: __thiscall CCritSection::CCritSection(void)
-??0CCritSection@@QAE@XZ
-; public: __thiscall CShareLockExport::CShareLockExport(void)
-??0CShareLockExport@@QAE@XZ
-; public: __thiscall CShareLockNH::CShareLockNH(void)
-??0CShareLockNH@@QAE@XZ
-; public: __thiscall CSimpleCritSection::CSimpleCritSection(void)
-??0CSimpleCritSection@@QAE@XZ
-; public: __thiscall CCritSection::~CCritSection(void)
-??1CCritSection@@QAE@XZ
-; public: __thiscall CShareLockExport::~CShareLockExport(void)
-??1CShareLockExport@@QAE@XZ
-; public: __thiscall CShareLockNH::~CShareLockNH(void)
-??1CShareLockNH@@QAE@XZ
-; public: __thiscall CSimpleCritSection::~CSimpleCritSection(void)
-??1CSimpleCritSection@@QAE@XZ
-; public: class CShareLockExport & __thiscall CShareLockExport::operator=(class CShareLockExport const &)
-??4CShareLockExport@@QAEAAV0@ABV0@@Z
-; public: class CSimpleCritSection & __thiscall CSimpleCritSection::operator=(class CSimpleCritSection const &)
-??4CSimpleCritSection@@QAEAAV0@ABV0@@Z
-; public: void __thiscall CCritSection::Enter(class CWaitingThread &)
-?Enter@CCritSection@@QAEXAAVCWaitingThread@@@Z
-; public: void __thiscall CCritSection::Enter(void)
-?Enter@CCritSection@@QAEXXZ
-; public: void __thiscall CSimpleCritSection::Enter(class CWaitingThread &)
-?Enter@CSimpleCritSection@@QAEXAAVCWaitingThread@@@Z
-; public: void __thiscall CSimpleCritSection::Enter(void)
-?Enter@CSimpleCritSection@@QAEXXZ
-; public: void __thiscall CShareLockExport::ExclusiveLock(void)
-?ExclusiveLock@CShareLockExport@@QAEXXZ
-; public: void __thiscall CShareLockNH::ExclusiveLock(void)
-?ExclusiveLock@CShareLockNH@@QAEXXZ
-; public: void __thiscall CShareLockNH::ExclusiveToPartial(void)
-?ExclusiveToPartial@CShareLockNH@@QAEXXZ
-; public: void __thiscall CShareLockExport::ExclusiveToShared(void)
-?ExclusiveToShared@CShareLockExport@@QAEXXZ
-; public: void __thiscall CShareLockNH::ExclusiveToShared(void)
-?ExclusiveToShared@CShareLockNH@@QAEXXZ
-; public: void __thiscall CShareLockExport::ExclusiveUnlock(void)
-?ExclusiveUnlock@CShareLockExport@@QAEXXZ
-; public: void __thiscall CShareLockNH::ExclusiveUnlock(void)
-?ExclusiveUnlock@CShareLockNH@@QAEXXZ
-; public: void __thiscall CShareLockNH::FirstPartialToExclusive(void)
-?FirstPartialToExclusive@CShareLockNH@@QAEXXZ
-; void * __stdcall GetPerThreadEvent(void)
-?GetPerThreadEvent@@YGPAXXZ
-; public: void __thiscall CCritSection::Leave(void)
-?Leave@CCritSection@@QAEXXZ
-; public: void __thiscall CSimpleCritSection::Leave(void)
-?Leave@CSimpleCritSection@@QAEXXZ
-; public: void __thiscall CShareLockNH::PartialLock(void)
-?PartialLock@CShareLockNH@@QAEXXZ
-; public: int __thiscall CShareLockNH::PartialToExclusive(void)
-?PartialToExclusive@CShareLockNH@@QAEHXZ
-; public: void __thiscall CShareLockNH::PartialToShared(void)
-?PartialToShared@CShareLockNH@@QAEXXZ
-; public: void __thiscall CShareLockNH::PartialUnlock(void)
-?PartialUnlock@CShareLockNH@@QAEXXZ
-; public: void __thiscall CShareLockExport::ShareLock(void)
-?ShareLock@CShareLockExport@@QAEXXZ
-; public: void __thiscall CShareLockNH::ShareLock(void)
-?ShareLock@CShareLockNH@@QAEXXZ
-; private: void __thiscall CShareLockNH::ShareLockInternal(void)
-?ShareLockInternal@CShareLockNH@@AAEXXZ
-; public: void __thiscall CShareLockExport::ShareUnlock(void)
-?ShareUnlock@CShareLockExport@@QAEXXZ
-; public: void __thiscall CShareLockNH::ShareUnlock(void)
-?ShareUnlock@CShareLockNH@@QAEXXZ
-; private: void __thiscall CShareLockNH::ShareUnlockInternal(void)
-?ShareUnlockInternal@CShareLockNH@@AAEXXZ
-; public: int __thiscall CShareLockExport::SharedToExclusive(void)
-?SharedToExclusive@CShareLockExport@@QAEHXZ
-; public: int __thiscall CShareLockNH::SharedToExclusive(void)
-?SharedToExclusive@CShareLockNH@@QAEHXZ
-; public: int __thiscall CShareLockNH::SharedToPartial(void)
-?SharedToPartial@CShareLockNH@@QAEHXZ
-; public: int __thiscall CCritSection::TryEnter(class CWaitingThread &)
-?TryEnter@CCritSection@@QAEHAAVCWaitingThread@@@Z
-; public: int __thiscall CCritSection::TryEnter(void)
-?TryEnter@CCritSection@@QAEHXZ
-; public: int __thiscall CSimpleCritSection::TryEnter(class CWaitingThread &)
-?TryEnter@CSimpleCritSection@@QAEHAAVCWaitingThread@@@Z
-; public: int __thiscall CSimpleCritSection::TryEnter(void)
-?TryEnter@CSimpleCritSection@@QAEHXZ
-; public: int __thiscall CShareLockExport::TryExclusiveLock(void)
-?TryExclusiveLock@CShareLockExport@@QAEHXZ
-; public: int __thiscall CShareLockNH::TryExclusiveLock(void)
-?TryExclusiveLock@CShareLockNH@@QAEHXZ
-; public: int __thiscall CShareLockNH::TryPartialLock(void)
-?TryPartialLock@CShareLockNH@@QAEHXZ
-; public: int __thiscall CShareLockExport::TryShareLock(void)
-?TryShareLock@CShareLockExport@@QAEHXZ
-; public: int __thiscall CShareLockNH::TryShareLock(void)
-?TryShareLock@CShareLockNH@@QAEHXZ
-; private: void __thiscall CShareLockNH::WakeReaders(void)
-?WakeReaders@CShareLockNH@@AAEXXZ
+; 
+; Exports of file RWNH.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY RWNH.dll
+EXPORTS
+; public: __thiscall CCritSection::CCritSection(void)
+??0CCritSection@@QAE@XZ
+; public: __thiscall CShareLockExport::CShareLockExport(void)
+??0CShareLockExport@@QAE@XZ
+; public: __thiscall CShareLockNH::CShareLockNH(void)
+??0CShareLockNH@@QAE@XZ
+; public: __thiscall CSimpleCritSection::CSimpleCritSection(void)
+??0CSimpleCritSection@@QAE@XZ
+; public: __thiscall CCritSection::~CCritSection(void)
+??1CCritSection@@QAE@XZ
+; public: __thiscall CShareLockExport::~CShareLockExport(void)
+??1CShareLockExport@@QAE@XZ
+; public: __thiscall CShareLockNH::~CShareLockNH(void)
+??1CShareLockNH@@QAE@XZ
+; public: __thiscall CSimpleCritSection::~CSimpleCritSection(void)
+??1CSimpleCritSection@@QAE@XZ
+; public: class CShareLockExport & __thiscall CShareLockExport::operator=(class CShareLockExport const &)
+??4CShareLockExport@@QAEAAV0@ABV0@@Z
+; public: class CSimpleCritSection & __thiscall CSimpleCritSection::operator=(class CSimpleCritSection const &)
+??4CSimpleCritSection@@QAEAAV0@ABV0@@Z
+; public: void __thiscall CCritSection::Enter(class CWaitingThread &)
+?Enter@CCritSection@@QAEXAAVCWaitingThread@@@Z
+; public: void __thiscall CCritSection::Enter(void)
+?Enter@CCritSection@@QAEXXZ
+; public: void __thiscall CSimpleCritSection::Enter(class CWaitingThread &)
+?Enter@CSimpleCritSection@@QAEXAAVCWaitingThread@@@Z
+; public: void __thiscall CSimpleCritSection::Enter(void)
+?Enter@CSimpleCritSection@@QAEXXZ
+; public: void __thiscall CShareLockExport::ExclusiveLock(void)
+?ExclusiveLock@CShareLockExport@@QAEXXZ
+; public: void __thiscall CShareLockNH::ExclusiveLock(void)
+?ExclusiveLock@CShareLockNH@@QAEXXZ
+; public: void __thiscall CShareLockNH::ExclusiveToPartial(void)
+?ExclusiveToPartial@CShareLockNH@@QAEXXZ
+; public: void __thiscall CShareLockExport::ExclusiveToShared(void)
+?ExclusiveToShared@CShareLockExport@@QAEXXZ
+; public: void __thiscall CShareLockNH::ExclusiveToShared(void)
+?ExclusiveToShared@CShareLockNH@@QAEXXZ
+; public: void __thiscall CShareLockExport::ExclusiveUnlock(void)
+?ExclusiveUnlock@CShareLockExport@@QAEXXZ
+; public: void __thiscall CShareLockNH::ExclusiveUnlock(void)
+?ExclusiveUnlock@CShareLockNH@@QAEXXZ
+; public: void __thiscall CShareLockNH::FirstPartialToExclusive(void)
+?FirstPartialToExclusive@CShareLockNH@@QAEXXZ
+; void * __stdcall GetPerThreadEvent(void)
+?GetPerThreadEvent@@YGPAXXZ
+; public: void __thiscall CCritSection::Leave(void)
+?Leave@CCritSection@@QAEXXZ
+; public: void __thiscall CSimpleCritSection::Leave(void)
+?Leave@CSimpleCritSection@@QAEXXZ
+; public: void __thiscall CShareLockNH::PartialLock(void)
+?PartialLock@CShareLockNH@@QAEXXZ
+; public: int __thiscall CShareLockNH::PartialToExclusive(void)
+?PartialToExclusive@CShareLockNH@@QAEHXZ
+; public: void __thiscall CShareLockNH::PartialToShared(void)
+?PartialToShared@CShareLockNH@@QAEXXZ
+; public: void __thiscall CShareLockNH::PartialUnlock(void)
+?PartialUnlock@CShareLockNH@@QAEXXZ
+; public: void __thiscall CShareLockExport::ShareLock(void)
+?ShareLock@CShareLockExport@@QAEXXZ
+; public: void __thiscall CShareLockNH::ShareLock(void)
+?ShareLock@CShareLockNH@@QAEXXZ
+; private: void __thiscall CShareLockNH::ShareLockInternal(void)
+?ShareLockInternal@CShareLockNH@@AAEXXZ
+; public: void __thiscall CShareLockExport::ShareUnlock(void)
+?ShareUnlock@CShareLockExport@@QAEXXZ
+; public: void __thiscall CShareLockNH::ShareUnlock(void)
+?ShareUnlock@CShareLockNH@@QAEXXZ
+; private: void __thiscall CShareLockNH::ShareUnlockInternal(void)
+?ShareUnlockInternal@CShareLockNH@@AAEXXZ
+; public: int __thiscall CShareLockExport::SharedToExclusive(void)
+?SharedToExclusive@CShareLockExport@@QAEHXZ
+; public: int __thiscall CShareLockNH::SharedToExclusive(void)
+?SharedToExclusive@CShareLockNH@@QAEHXZ
+; public: int __thiscall CShareLockNH::SharedToPartial(void)
+?SharedToPartial@CShareLockNH@@QAEHXZ
+; public: int __thiscall CCritSection::TryEnter(class CWaitingThread &)
+?TryEnter@CCritSection@@QAEHAAVCWaitingThread@@@Z
+; public: int __thiscall CCritSection::TryEnter(void)
+?TryEnter@CCritSection@@QAEHXZ
+; public: int __thiscall CSimpleCritSection::TryEnter(class CWaitingThread &)
+?TryEnter@CSimpleCritSection@@QAEHAAVCWaitingThread@@@Z
+; public: int __thiscall CSimpleCritSection::TryEnter(void)
+?TryEnter@CSimpleCritSection@@QAEHXZ
+; public: int __thiscall CShareLockExport::TryExclusiveLock(void)
+?TryExclusiveLock@CShareLockExport@@QAEHXZ
+; public: int __thiscall CShareLockNH::TryExclusiveLock(void)
+?TryExclusiveLock@CShareLockNH@@QAEHXZ
+; public: int __thiscall CShareLockNH::TryPartialLock(void)
+?TryPartialLock@CShareLockNH@@QAEHXZ
+; public: int __thiscall CShareLockExport::TryShareLock(void)
+?TryShareLock@CShareLockExport@@QAEHXZ
+; public: int __thiscall CShareLockNH::TryShareLock(void)
+?TryShareLock@CShareLockNH@@QAEHXZ
+; private: void __thiscall CShareLockNH::WakeReaders(void)
+?WakeReaders@CShareLockNH@@AAEXXZ
diff --git a/mingw-w64-crt/lib64/ws2_32.def b/mingw-w64-crt/lib64/ws2_32.def
index 8d5b16c..da09467 100644
--- a/mingw-w64-crt/lib64/ws2_32.def
+++ b/mingw-w64-crt/lib64/ws2_32.def
@@ -1,136 +1,136 @@
-; 
-; Exports of file WS2_32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WS2_32.dll
-EXPORTS
-accept
-bind
-closesocket
-connect
-getpeername
-getsockname
-getsockopt
-htonl
-htons
-ioctlsocket
-inet_addr
-inet_ntoa
-listen
-ntohl
-ntohs
-recv
-recvfrom
-select
-send
-sendto
-setsockopt
-shutdown
-socket
-WSApSetPostRoutine
-FreeAddrInfoW
-GetAddrInfoW
-GetNameInfoW
-WPUCompleteOverlappedRequest
-WSAAccept
-WSAAddressToStringA
-WSAAddressToStringW
-WSACloseEvent
-WSAConnect
-WSACreateEvent
-WSADuplicateSocketA
-WSADuplicateSocketW
-WSAEnumNameSpaceProvidersA
-WSAEnumNameSpaceProvidersW
-WSAEnumNetworkEvents
-WSAEnumProtocolsA
-WSAEnumProtocolsW
-WSAEventSelect
-WSAGetOverlappedResult
-WSAGetQOSByName
-WSAGetServiceClassInfoA
-WSAGetServiceClassInfoW
-WSAGetServiceClassNameByClassIdA
-WSAGetServiceClassNameByClassIdW
-WSAHtonl
-WSAHtons
-gethostbyaddr
-gethostbyname
-getprotobyname
-getprotobynumber
-getservbyname
-getservbyport
-gethostname
-WSAInstallServiceClassA
-WSAInstallServiceClassW
-WSAIoctl
-WSAJoinLeaf
-WSALookupServiceBeginA
-WSALookupServiceBeginW
-WSALookupServiceEnd
-WSALookupServiceNextA
-WSALookupServiceNextW
-WSANSPIoctl
-WSANtohl
-WSANtohs
-WSAProviderConfigChange
-WSARecv
-WSARecvDisconnect
-WSARecvFrom
-WSARemoveServiceClass
-WSAResetEvent
-WSASend
-WSASendDisconnect
-WSASendTo
-WSASetEvent
-WSASetServiceA
-WSASetServiceW
-WSASocketA
-WSASocketW
-WSAStringToAddressA
-WSAStringToAddressW
-WSAWaitForMultipleEvents
-WSCDeinstallProvider
-WSCDeinstallProvider32
-WSCEnableNSProvider
-WSCEnableNSProvider32
-WSCEnumNameSpaceProviders32
-WSCEnumProtocols
-WSCEnumProtocols32
-WSCGetProviderPath
-WSCGetProviderPath32
-WSCInstallNameSpace
-WSCInstallNameSpace32
-WSCInstallProvider
-WSCInstallProvider64_32
-WSCUnInstallNameSpace
-WSAAsyncSelect
-WSAAsyncGetHostByAddr
-WSAAsyncGetHostByName
-WSAAsyncGetProtoByNumber
-WSAAsyncGetProtoByName
-WSAAsyncGetServByPort
-WSAAsyncGetServByName
-WSACancelAsyncRequest
-WSASetBlockingHook
-WSAUnhookBlockingHook
-WSAGetLastError
-WSASetLastError
-WSACancelBlockingCall
-WSAIsBlocking
-WSAStartup
-WSACleanup
-WSCUnInstallNameSpace32
-WSCUpdateProvider
-WSCUpdateProvider32
-WSCWriteNameSpaceOrder
-WSCWriteNameSpaceOrder32
-WSCWriteProviderOrder
-WSCWriteProviderOrder32
-freeaddrinfo
-getaddrinfo
-getnameinfo
-__WSAFDIsSet
-WEP
+; 
+; Exports of file WS2_32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WS2_32.dll
+EXPORTS
+accept
+bind
+closesocket
+connect
+getpeername
+getsockname
+getsockopt
+htonl
+htons
+ioctlsocket
+inet_addr
+inet_ntoa
+listen
+ntohl
+ntohs
+recv
+recvfrom
+select
+send
+sendto
+setsockopt
+shutdown
+socket
+WSApSetPostRoutine
+FreeAddrInfoW
+GetAddrInfoW
+GetNameInfoW
+WPUCompleteOverlappedRequest
+WSAAccept
+WSAAddressToStringA
+WSAAddressToStringW
+WSACloseEvent
+WSAConnect
+WSACreateEvent
+WSADuplicateSocketA
+WSADuplicateSocketW
+WSAEnumNameSpaceProvidersA
+WSAEnumNameSpaceProvidersW
+WSAEnumNetworkEvents
+WSAEnumProtocolsA
+WSAEnumProtocolsW
+WSAEventSelect
+WSAGetOverlappedResult
+WSAGetQOSByName
+WSAGetServiceClassInfoA
+WSAGetServiceClassInfoW
+WSAGetServiceClassNameByClassIdA
+WSAGetServiceClassNameByClassIdW
+WSAHtonl
+WSAHtons
+gethostbyaddr
+gethostbyname
+getprotobyname
+getprotobynumber
+getservbyname
+getservbyport
+gethostname
+WSAInstallServiceClassA
+WSAInstallServiceClassW
+WSAIoctl
+WSAJoinLeaf
+WSALookupServiceBeginA
+WSALookupServiceBeginW
+WSALookupServiceEnd
+WSALookupServiceNextA
+WSALookupServiceNextW
+WSANSPIoctl
+WSANtohl
+WSANtohs
+WSAProviderConfigChange
+WSARecv
+WSARecvDisconnect
+WSARecvFrom
+WSARemoveServiceClass
+WSAResetEvent
+WSASend
+WSASendDisconnect
+WSASendTo
+WSASetEvent
+WSASetServiceA
+WSASetServiceW
+WSASocketA
+WSASocketW
+WSAStringToAddressA
+WSAStringToAddressW
+WSAWaitForMultipleEvents
+WSCDeinstallProvider
+WSCDeinstallProvider32
+WSCEnableNSProvider
+WSCEnableNSProvider32
+WSCEnumNameSpaceProviders32
+WSCEnumProtocols
+WSCEnumProtocols32
+WSCGetProviderPath
+WSCGetProviderPath32
+WSCInstallNameSpace
+WSCInstallNameSpace32
+WSCInstallProvider
+WSCInstallProvider64_32
+WSCUnInstallNameSpace
+WSAAsyncSelect
+WSAAsyncGetHostByAddr
+WSAAsyncGetHostByName
+WSAAsyncGetProtoByNumber
+WSAAsyncGetProtoByName
+WSAAsyncGetServByPort
+WSAAsyncGetServByName
+WSACancelAsyncRequest
+WSASetBlockingHook
+WSAUnhookBlockingHook
+WSAGetLastError
+WSASetLastError
+WSACancelBlockingCall
+WSAIsBlocking
+WSAStartup
+WSACleanup
+WSCUnInstallNameSpace32
+WSCUpdateProvider
+WSCUpdateProvider32
+WSCWriteNameSpaceOrder
+WSCWriteNameSpaceOrder32
+WSCWriteProviderOrder
+WSCWriteProviderOrder32
+freeaddrinfo
+getaddrinfo
+getnameinfo
+__WSAFDIsSet
+WEP
diff --git a/mingw-w64-crt/lib64/ws2help.def b/mingw-w64-crt/lib64/ws2help.def
index 45f03a3..750abb2 100644
--- a/mingw-w64-crt/lib64/ws2help.def
+++ b/mingw-w64-crt/lib64/ws2help.def
@@ -1,31 +1,31 @@
-; 
-; Exports of file WS2HELP.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WS2HELP.dll
-EXPORTS
-WahCloseApcHelper
-WahCloseHandleHelper
-WahCloseNotificationHandleHelper
-WahCloseSocketHandle
-WahCloseThread
-WahCompleteRequest
-WahCreateHandleContextTable
-WahCreateNotificationHandle
-WahCreateSocketHandle
-WahDestroyHandleContextTable
-WahDisableNonIFSHandleSupport
-WahEnableNonIFSHandleSupport
-WahEnumerateHandleContexts
-WahInsertHandleContext
-WahNotifyAllProcesses
-WahOpenApcHelper
-WahOpenCurrentThread
-WahOpenHandleHelper
-WahOpenNotificationHandleHelper
-WahQueueUserApc
-WahReferenceContextByHandle
-WahRemoveHandleContext
-WahWaitForNotification
+; 
+; Exports of file WS2HELP.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WS2HELP.dll
+EXPORTS
+WahCloseApcHelper
+WahCloseHandleHelper
+WahCloseNotificationHandleHelper
+WahCloseSocketHandle
+WahCloseThread
+WahCompleteRequest
+WahCreateHandleContextTable
+WahCreateNotificationHandle
+WahCreateSocketHandle
+WahDestroyHandleContextTable
+WahDisableNonIFSHandleSupport
+WahEnableNonIFSHandleSupport
+WahEnumerateHandleContexts
+WahInsertHandleContext
+WahNotifyAllProcesses
+WahOpenApcHelper
+WahOpenCurrentThread
+WahOpenHandleHelper
+WahOpenNotificationHandleHelper
+WahQueueUserApc
+WahReferenceContextByHandle
+WahRemoveHandleContext
+WahWaitForNotification
diff --git a/mingw-w64-crt/lib64/wsamlib.def b/mingw-w64-crt/lib64/wsamlib.def
index 42c9fae..a93b66f 100644
--- a/mingw-w64-crt/lib64/wsamlib.def
+++ b/mingw-w64-crt/lib64/wsamlib.def
@@ -1,73 +1,73 @@
-; 
-; Exports of file SAMLIB.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SAMLIB.dll
-EXPORTS
-SamAddMemberToAlias
-SamAddMemberToGroup
-SamAddMultipleMembersToAlias
-SamChangePasswordUser2
-SamChangePasswordUser3
-SamChangePasswordUser
-SamCloseHandle
-SamConnect
-SamConnectWithCreds
-SamCreateAliasInDomain
-SamCreateGroupInDomain
-SamCreateUser2InDomain
-SamCreateUserInDomain
-SamDeleteAlias
-SamDeleteGroup
-SamDeleteUser
-SamEnumerateAliasesInDomain
-SamEnumerateDomainsInSamServer
-SamEnumerateGroupsInDomain
-SamEnumerateUsersInDomain
-SamFreeMemory
-SamGetAliasMembership
-SamGetCompatibilityMode
-SamGetDisplayEnumerationIndex
-SamGetGroupsForUser
-SamGetMembersInAlias
-SamGetMembersInGroup
-SamLookupDomainInSamServer
-SamLookupIdsInDomain
-SamLookupNamesInDomain
-SamOpenAlias
-SamOpenDomain
-SamOpenGroup
-SamOpenUser
-SamQueryDisplayInformation
-SamQueryInformationAlias
-SamQueryInformationDomain
-SamQueryInformationGroup
-SamQueryInformationUser
-SamQuerySecurityObject
-SamRemoveMemberFromAlias
-SamRemoveMemberFromForeignDomain
-SamRemoveMemberFromGroup
-SamRemoveMultipleMembersFromAlias
-SamRidToSid
-SamSetInformationAlias
-SamSetInformationDomain
-SamSetInformationGroup
-SamSetInformationUser
-SamSetMemberAttributesOfGroup
-SamSetSecurityObject
-SamShutdownSamServer
-SamTestPrivateFunctionsDomain
-SamTestPrivateFunctionsUser
-SamValidatePassword
-SamiChangeKeys
-SamiChangePasswordUser2
-SamiChangePasswordUser
-SamiEncryptPasswords
-SamiGetBootKeyInformation
-SamiLmChangePasswordUser
-SamiOemChangePasswordUser2
-SamiSetBootKeyInformation
-SamiSetDSRMPassword
-SamiSetDSRMPasswordOWF
+; 
+; Exports of file SAMLIB.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SAMLIB.dll
+EXPORTS
+SamAddMemberToAlias
+SamAddMemberToGroup
+SamAddMultipleMembersToAlias
+SamChangePasswordUser2
+SamChangePasswordUser3
+SamChangePasswordUser
+SamCloseHandle
+SamConnect
+SamConnectWithCreds
+SamCreateAliasInDomain
+SamCreateGroupInDomain
+SamCreateUser2InDomain
+SamCreateUserInDomain
+SamDeleteAlias
+SamDeleteGroup
+SamDeleteUser
+SamEnumerateAliasesInDomain
+SamEnumerateDomainsInSamServer
+SamEnumerateGroupsInDomain
+SamEnumerateUsersInDomain
+SamFreeMemory
+SamGetAliasMembership
+SamGetCompatibilityMode
+SamGetDisplayEnumerationIndex
+SamGetGroupsForUser
+SamGetMembersInAlias
+SamGetMembersInGroup
+SamLookupDomainInSamServer
+SamLookupIdsInDomain
+SamLookupNamesInDomain
+SamOpenAlias
+SamOpenDomain
+SamOpenGroup
+SamOpenUser
+SamQueryDisplayInformation
+SamQueryInformationAlias
+SamQueryInformationDomain
+SamQueryInformationGroup
+SamQueryInformationUser
+SamQuerySecurityObject
+SamRemoveMemberFromAlias
+SamRemoveMemberFromForeignDomain
+SamRemoveMemberFromGroup
+SamRemoveMultipleMembersFromAlias
+SamRidToSid
+SamSetInformationAlias
+SamSetInformationDomain
+SamSetInformationGroup
+SamSetInformationUser
+SamSetMemberAttributesOfGroup
+SamSetSecurityObject
+SamShutdownSamServer
+SamTestPrivateFunctionsDomain
+SamTestPrivateFunctionsUser
+SamValidatePassword
+SamiChangeKeys
+SamiChangePasswordUser2
+SamiChangePasswordUser
+SamiEncryptPasswords
+SamiGetBootKeyInformation
+SamiLmChangePasswordUser
+SamiOemChangePasswordUser2
+SamiSetBootKeyInformation
+SamiSetDSRMPassword
+SamiSetDSRMPasswordOWF
diff --git a/mingw-w64-crt/lib64/wsapi.def b/mingw-w64-crt/lib64/wsapi.def
index dfe2295..887c50c 100644
--- a/mingw-w64-crt/lib64/wsapi.def
+++ b/mingw-w64-crt/lib64/wsapi.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file sapi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sapi.dll
-EXPORTS
-RunSapiServer
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file sapi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sapi.dll
+EXPORTS
+RunSapiServer
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wsbe.def b/mingw-w64-crt/lib64/wsbe.def
index 88f0f3a..34603fc 100644
--- a/mingw-w64-crt/lib64/wsbe.def
+++ b/mingw-w64-crt/lib64/wsbe.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file sbe.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sbe.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-GetProxyDllInfo
+; 
+; Exports of file sbe.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sbe.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+GetProxyDllInfo
diff --git a/mingw-w64-crt/lib64/wsbeio.def b/mingw-w64-crt/lib64/wsbeio.def
index 785a969..afb476f 100644
--- a/mingw-w64-crt/lib64/wsbeio.def
+++ b/mingw-w64-crt/lib64/wsbeio.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file sbeio.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sbeio.dll
-EXPORTS
-DVRCreateDVRFileSink
-DVRCreateDVRFileSource
+; 
+; Exports of file sbeio.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sbeio.dll
+EXPORTS
+DVRCreateDVRFileSink
+DVRCreateDVRFileSource
diff --git a/mingw-w64-crt/lib64/wscarddlg.def b/mingw-w64-crt/lib64/wscarddlg.def
index 61586ae..ef251d8 100644
--- a/mingw-w64-crt/lib64/wscarddlg.def
+++ b/mingw-w64-crt/lib64/wscarddlg.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file SCARDDLG.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCARDDLG.dll
-EXPORTS
-GetOpenCardNameA
-GetOpenCardNameW
-SCardDlgExtendedError
-SCardUIDlgSelectCardA
-SCardUIDlgSelectCardW
-SCardUIDlgGetPINA
-SCardUIDlgChangePINA
+; 
+; Exports of file SCARDDLG.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCARDDLG.dll
+EXPORTS
+GetOpenCardNameA
+GetOpenCardNameW
+SCardDlgExtendedError
+SCardUIDlgSelectCardA
+SCardUIDlgSelectCardW
+SCardUIDlgGetPINA
+SCardUIDlgChangePINA
diff --git a/mingw-w64-crt/lib64/wsccbase.def b/mingw-w64-crt/lib64/wsccbase.def
index 91c0cec..776b7f4 100644
--- a/mingw-w64-crt/lib64/wsccbase.def
+++ b/mingw-w64-crt/lib64/wsccbase.def
@@ -1,34 +1,34 @@
-; 
-; Exports of file SCCBASE.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCCBASE.dll
-EXPORTS
-CPAcquireContext
-CPAcquireContextW
-CPCreateHash
-CPDecrypt
-CPDeriveKey
-CPDestroyHash
-CPDestroyKey
-CPEncrypt
-CPExportKey
-CPGenKey
-CPGenRandom
-CPGetHashParam
-CPGetKeyParam
-CPGetProvParam
-CPGetUserKey
-CPHashData
-CPHashSessionKey
-CPImportKey
-CPReleaseContext
-CPSetHashParam
-CPSetKeyParam
-CPSetProvParam
-CPSignHash
-CPVerifySignature
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SCCBASE.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCCBASE.dll
+EXPORTS
+CPAcquireContext
+CPAcquireContextW
+CPCreateHash
+CPDecrypt
+CPDeriveKey
+CPDestroyHash
+CPDestroyKey
+CPEncrypt
+CPExportKey
+CPGenKey
+CPGenRandom
+CPGetHashParam
+CPGetKeyParam
+CPGetProvParam
+CPGetUserKey
+CPHashData
+CPHashSessionKey
+CPImportKey
+CPReleaseContext
+CPSetHashParam
+CPSetKeyParam
+CPSetProvParam
+CPSignHash
+CPVerifySignature
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wsccsccp.def b/mingw-w64-crt/lib64/wsccsccp.def
index 132f15a..847d865 100644
--- a/mingw-w64-crt/lib64/wsccsccp.def
+++ b/mingw-w64-crt/lib64/wsccsccp.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SccSCCP.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SccSCCP.DLL
-EXPORTS
-SCCPDllCanUnloadNow
-SCCPDllGetClassObject
-SCCPDllRegisterServer
-SCCPDllUnregisterServer
+; 
+; Exports of file SccSCCP.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SccSCCP.DLL
+EXPORTS
+SCCPDllCanUnloadNow
+SCCPDllGetClassObject
+SCCPDllRegisterServer
+SCCPDllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wscecli.def b/mingw-w64-crt/lib64/wscecli.def
index 9cbb1d0..c850a2c 100644
--- a/mingw-w64-crt/lib64/wscecli.def
+++ b/mingw-w64-crt/lib64/wscecli.def
@@ -1,80 +1,80 @@
-; 
-; Exports of file SCECLI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCECLI.dll
-EXPORTS
-DeltaNotify
-InitializeChangeNotify
-SceConfigureConvertedFileSecurity
-SceGenerateGroupPolicy
-SceNotifyPolicyDelta
-SceOpenPolicy
-SceProcessEFSRecoveryGPO
-SceProcessSecurityPolicyGPO
-SceProcessSecurityPolicyGPOEx
-SceSysPrep
-DllRegisterServer
-DllUnregisterServer
-SceAddToNameList
-SceAddToNameStatusList
-SceAddToObjectList
-SceAnalyzeSystem
-SceAppendSecurityProfileInfo
-SceBrowseDatabaseTable
-SceCloseProfile
-SceCommitTransaction
-SceCompareNameList
-SceCompareSecurityDescriptors
-SceConfigureSystem
-SceCopyBaseProfile
-SceCreateDirectory
-SceDcPromoCreateGPOsInSysvol
-SceDcPromoCreateGPOsInSysvolEx
-SceDcPromoteSecurity
-SceDcPromoteSecurityEx
-SceEnforceSecurityPolicyPropagation
-SceEnumerateServices
-SceFreeMemory
-SceFreeProfileMemory
-SceGenerateRollback
-SceGetAnalysisAreaSummary
-SceGetAreas
-SceGetDatabaseSetting
-SceGetDbTime
-SceGetObjectChildren
-SceGetObjectSecurity
-SceGetScpProfileDescription
-SceGetSecurityProfileInfo
-SceGetServerProductType
-SceGetTimeStamp
-SceIsSystemDatabase
-SceLookupPrivRightName
-SceOpenProfile
-SceRegisterRegValues
-SceRollbackTransaction
-SceSetDatabaseSetting
-SceSetupBackupSecurity
-SceSetupConfigureServices
-SceSetupGenerateTemplate
-SceSetupMoveSecurityFile
-SceSetupRootSecurity
-SceSetupSystemByInfName
-SceSetupUnwindSecurityFile
-SceSetupUpdateSecurityFile
-SceSetupUpdateSecurityKey
-SceSetupUpdateSecurityService
-SceStartTransaction
-SceSvcConvertSDToText
-SceSvcConvertTextToSD
-SceSvcFree
-SceSvcGetInformationTemplate
-SceSvcQueryInfo
-SceSvcSetInfo
-SceSvcSetInformationTemplate
-SceSvcUpdateInfo
-SceUpdateObjectInfo
-SceUpdateSecurityProfile
-SceWriteSecurityProfileInfo
+; 
+; Exports of file SCECLI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCECLI.dll
+EXPORTS
+DeltaNotify
+InitializeChangeNotify
+SceConfigureConvertedFileSecurity
+SceGenerateGroupPolicy
+SceNotifyPolicyDelta
+SceOpenPolicy
+SceProcessEFSRecoveryGPO
+SceProcessSecurityPolicyGPO
+SceProcessSecurityPolicyGPOEx
+SceSysPrep
+DllRegisterServer
+DllUnregisterServer
+SceAddToNameList
+SceAddToNameStatusList
+SceAddToObjectList
+SceAnalyzeSystem
+SceAppendSecurityProfileInfo
+SceBrowseDatabaseTable
+SceCloseProfile
+SceCommitTransaction
+SceCompareNameList
+SceCompareSecurityDescriptors
+SceConfigureSystem
+SceCopyBaseProfile
+SceCreateDirectory
+SceDcPromoCreateGPOsInSysvol
+SceDcPromoCreateGPOsInSysvolEx
+SceDcPromoteSecurity
+SceDcPromoteSecurityEx
+SceEnforceSecurityPolicyPropagation
+SceEnumerateServices
+SceFreeMemory
+SceFreeProfileMemory
+SceGenerateRollback
+SceGetAnalysisAreaSummary
+SceGetAreas
+SceGetDatabaseSetting
+SceGetDbTime
+SceGetObjectChildren
+SceGetObjectSecurity
+SceGetScpProfileDescription
+SceGetSecurityProfileInfo
+SceGetServerProductType
+SceGetTimeStamp
+SceIsSystemDatabase
+SceLookupPrivRightName
+SceOpenProfile
+SceRegisterRegValues
+SceRollbackTransaction
+SceSetDatabaseSetting
+SceSetupBackupSecurity
+SceSetupConfigureServices
+SceSetupGenerateTemplate
+SceSetupMoveSecurityFile
+SceSetupRootSecurity
+SceSetupSystemByInfName
+SceSetupUnwindSecurityFile
+SceSetupUpdateSecurityFile
+SceSetupUpdateSecurityKey
+SceSetupUpdateSecurityService
+SceStartTransaction
+SceSvcConvertSDToText
+SceSvcConvertTextToSD
+SceSvcFree
+SceSvcGetInformationTemplate
+SceSvcQueryInfo
+SceSvcSetInfo
+SceSvcSetInformationTemplate
+SceSvcUpdateInfo
+SceUpdateObjectInfo
+SceUpdateSecurityProfile
+SceWriteSecurityProfileInfo
diff --git a/mingw-w64-crt/lib64/wschannel.def b/mingw-w64-crt/lib64/wschannel.def
index 15c6996..55d6b4e 100644
--- a/mingw-w64-crt/lib64/wschannel.def
+++ b/mingw-w64-crt/lib64/wschannel.def
@@ -1,45 +1,45 @@
-; 
-; Exports of file SCHANNEL.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCHANNEL.dll
-EXPORTS
-AcceptSecurityContext
-AcquireCredentialsHandleA
-AcquireCredentialsHandleW
-ApplyControlToken
-CloseSslPerformanceData
-CollectSslPerformanceData
-CompleteAuthToken
-DeleteSecurityContext
-EnumerateSecurityPackagesA
-EnumerateSecurityPackagesW
-FreeContextBuffer
-FreeCredentialsHandle
-ImpersonateSecurityContext
-InitSecurityInterfaceA
-InitSecurityInterfaceW
-InitializeSecurityContextA
-InitializeSecurityContextW
-MakeSignature
-OpenSslPerformanceData
-QueryContextAttributesA
-QueryContextAttributesW
-QuerySecurityPackageInfoA
-QuerySecurityPackageInfoW
-RevertSecurityContext
-SealMessage
-SpLsaModeInitialize
-SpUserModeInitialize
-SslCrackCertificate
-SslEmptyCacheA
-SslEmptyCacheW
-SslFreeCertificate
-SslGenerateKeyPair
-SslGenerateRandomBits
-SslGetMaximumKeySize
-SslLoadCertificate
-UnsealMessage
-VerifySignature
+; 
+; Exports of file SCHANNEL.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCHANNEL.dll
+EXPORTS
+AcceptSecurityContext
+AcquireCredentialsHandleA
+AcquireCredentialsHandleW
+ApplyControlToken
+CloseSslPerformanceData
+CollectSslPerformanceData
+CompleteAuthToken
+DeleteSecurityContext
+EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW
+FreeContextBuffer
+FreeCredentialsHandle
+ImpersonateSecurityContext
+InitSecurityInterfaceA
+InitSecurityInterfaceW
+InitializeSecurityContextA
+InitializeSecurityContextW
+MakeSignature
+OpenSslPerformanceData
+QueryContextAttributesA
+QueryContextAttributesW
+QuerySecurityPackageInfoA
+QuerySecurityPackageInfoW
+RevertSecurityContext
+SealMessage
+SpLsaModeInitialize
+SpUserModeInitialize
+SslCrackCertificate
+SslEmptyCacheA
+SslEmptyCacheW
+SslFreeCertificate
+SslGenerateKeyPair
+SslGenerateRandomBits
+SslGetMaximumKeySize
+SslLoadCertificate
+UnsealMessage
+VerifySignature
diff --git a/mingw-w64-crt/lib64/wschedsvc.def b/mingw-w64-crt/lib64/wschedsvc.def
index c0edc9b..4958c4d 100644
--- a/mingw-w64-crt/lib64/wschedsvc.def
+++ b/mingw-w64-crt/lib64/wschedsvc.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file schedsvc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY schedsvc.dll
-EXPORTS
-SPUninstall
-SPUninstallCallback
-SchedServiceMain
-SysPrepBackup
-SysPrepRestore
-CloseProc
-SysPrepCallback
+; 
+; Exports of file schedsvc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY schedsvc.dll
+EXPORTS
+SPUninstall
+SPUninstallCallback
+SchedServiceMain
+SysPrepBackup
+SysPrepRestore
+CloseProc
+SysPrepCallback
diff --git a/mingw-w64-crt/lib64/wsclgntfy.def b/mingw-w64-crt/lib64/wsclgntfy.def
index 24e1ac3..bc7a67e 100644
--- a/mingw-w64-crt/lib64/wsclgntfy.def
+++ b/mingw-w64-crt/lib64/wsclgntfy.def
@@ -1,20 +1,20 @@
-; 
-; Exports of file SCLGNTFY.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCLGNTFY.dll
-EXPORTS
-WLEventLock
-WLEventLogoff
-WLEventLogon
-WLEventShutdown
-WLEventStartScreenSaver
-WLEventStartShell
-WLEventStartup
-WLEventStopScreenSaver
-WLEventUnlock
-DllRegisterServer
-DllUnregisterServer
-GenerateDefaultEFSRecoveryPolicy
+; 
+; Exports of file SCLGNTFY.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCLGNTFY.dll
+EXPORTS
+WLEventLock
+WLEventLogoff
+WLEventLogon
+WLEventShutdown
+WLEventStartScreenSaver
+WLEventStartShell
+WLEventStartup
+WLEventStopScreenSaver
+WLEventUnlock
+DllRegisterServer
+DllUnregisterServer
+GenerateDefaultEFSRecoveryPolicy
diff --git a/mingw-w64-crt/lib64/wscredir.def b/mingw-w64-crt/lib64/wscredir.def
index edb1ead..e84c219 100644
--- a/mingw-w64-crt/lib64/wscredir.def
+++ b/mingw-w64-crt/lib64/wscredir.def
@@ -1,52 +1,52 @@
-; 
-; Exports of file scredir.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY scredir.dll
-EXPORTS
-SCardReleaseBadContext
-DllRegisterServer
-DllUnregisterServer
-SCardAccessStartedEvent
-SCardAddReaderToGroupA
-SCardAddReaderToGroupW
-SCardBeginTransaction
-SCardCancel
-SCardConnectA
-SCardConnectW
-SCardControl
-SCardDisconnect
-SCardEndTransaction
-SCardEstablishContext
-SCardForgetReaderA
-SCardForgetReaderGroupA
-SCardForgetReaderGroupW
-SCardForgetReaderW
-SCardGetAttrib
-SCardGetStatusChangeA
-SCardGetStatusChangeW
-SCardIntroduceReaderA
-SCardIntroduceReaderGroupA
-SCardIntroduceReaderGroupW
-SCardIntroduceReaderW
-SCardIsValidContext
-SCardListReaderGroupsA
-SCardListReaderGroupsW
-SCardListReadersA
-SCardListReadersW
-SCardLocateCardsA
-SCardLocateCardsByATRA
-SCardLocateCardsByATRW
-SCardLocateCardsW
-SCardReconnect
-SCardReleaseContext
-SCardReleaseStartedEvent
-SCardRemoveReaderFromGroupA
-SCardRemoveReaderFromGroupW
-SCardSetAttrib
-SCardState
-SCardStatusA
-SCardStatusW
-SCardTransmit
+; 
+; Exports of file scredir.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY scredir.dll
+EXPORTS
+SCardReleaseBadContext
+DllRegisterServer
+DllUnregisterServer
+SCardAccessStartedEvent
+SCardAddReaderToGroupA
+SCardAddReaderToGroupW
+SCardBeginTransaction
+SCardCancel
+SCardConnectA
+SCardConnectW
+SCardControl
+SCardDisconnect
+SCardEndTransaction
+SCardEstablishContext
+SCardForgetReaderA
+SCardForgetReaderGroupA
+SCardForgetReaderGroupW
+SCardForgetReaderW
+SCardGetAttrib
+SCardGetStatusChangeA
+SCardGetStatusChangeW
+SCardIntroduceReaderA
+SCardIntroduceReaderGroupA
+SCardIntroduceReaderGroupW
+SCardIntroduceReaderW
+SCardIsValidContext
+SCardListReaderGroupsA
+SCardListReaderGroupsW
+SCardListReadersA
+SCardListReadersW
+SCardLocateCardsA
+SCardLocateCardsByATRA
+SCardLocateCardsByATRW
+SCardLocateCardsW
+SCardReconnect
+SCardReleaseContext
+SCardReleaseStartedEvent
+SCardRemoveReaderFromGroupA
+SCardRemoveReaderFromGroupW
+SCardSetAttrib
+SCardState
+SCardStatusA
+SCardStatusW
+SCardTransmit
diff --git a/mingw-w64-crt/lib64/wscript.def b/mingw-w64-crt/lib64/wscript.def
index 539f509..8a2ca68 100644
--- a/mingw-w64-crt/lib64/wscript.def
+++ b/mingw-w64-crt/lib64/wscript.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file SCRIPT.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCRIPT.dll
-EXPORTS
-DestinationModule
-DllMain
-ModuleInitialize
-ModuleTerminate
-SourceModule
-TypeModule
-VirtualComputerModule
+; 
+; Exports of file SCRIPT.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCRIPT.dll
+EXPORTS
+DestinationModule
+DllMain
+ModuleInitialize
+ModuleTerminate
+SourceModule
+TypeModule
+VirtualComputerModule
diff --git a/mingw-w64-crt/lib64/wscripta.def b/mingw-w64-crt/lib64/wscripta.def
index ffcdf37..b87650e 100644
--- a/mingw-w64-crt/lib64/wscripta.def
+++ b/mingw-w64-crt/lib64/wscripta.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file SCRIPTA.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCRIPTA.dll
-EXPORTS
-DestinationModule
-DllMain
-ModuleInitialize
-ModuleTerminate
-SourceModule
-TypeModule
-VirtualComputerModule
+; 
+; Exports of file SCRIPTA.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCRIPTA.dll
+EXPORTS
+DestinationModule
+DllMain
+ModuleInitialize
+ModuleTerminate
+SourceModule
+TypeModule
+VirtualComputerModule
diff --git a/mingw-w64-crt/lib64/wscripto.def b/mingw-w64-crt/lib64/wscripto.def
index cc17a07..9d760f7 100644
--- a/mingw-w64-crt/lib64/wscripto.def
+++ b/mingw-w64-crt/lib64/wscripto.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file scripto.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY scripto.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file scripto.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY scripto.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wscriptpw.def b/mingw-w64-crt/lib64/wscriptpw.def
index c290448..828c96c 100644
--- a/mingw-w64-crt/lib64/wscriptpw.def
+++ b/mingw-w64-crt/lib64/wscriptpw.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ScriptPW.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ScriptPW.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ScriptPW.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ScriptPW.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wscrobj.def b/mingw-w64-crt/lib64/wscrobj.def
index 2eccc96..ba034b5 100644
--- a/mingw-w64-crt/lib64/wscrobj.def
+++ b/mingw-w64-crt/lib64/wscrobj.def
@@ -1,19 +1,19 @@
-; 
-; Exports of file SCROBJ.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SCROBJ.dll
-EXPORTS
-GenerateTypeLib
-GenerateTypeLibW
-DllCanUnloadNow
-DllGetClassObject
-DllInstall
-DllRegisterServer
-DllRegisterServerEx
-DllRegisterServerExA
-DllRegisterServerExW
-DllUnregisterServer
-DllUnregisterServerEx
+; 
+; Exports of file SCROBJ.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SCROBJ.dll
+EXPORTS
+GenerateTypeLib
+GenerateTypeLibW
+DllCanUnloadNow
+DllGetClassObject
+DllInstall
+DllRegisterServer
+DllRegisterServerEx
+DllRegisterServerExA
+DllRegisterServerExW
+DllUnregisterServer
+DllUnregisterServerEx
diff --git a/mingw-w64-crt/lib64/wscrptutl.def b/mingw-w64-crt/lib64/wscrptutl.def
index d69f699..05e656e 100644
--- a/mingw-w64-crt/lib64/wscrptutl.def
+++ b/mingw-w64-crt/lib64/wscrptutl.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ScrptUtl.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ScrptUtl.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ScrptUtl.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ScrptUtl.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wscrrun.def b/mingw-w64-crt/lib64/wscrrun.def
index 1fee494..b088951 100644
--- a/mingw-w64-crt/lib64/wscrrun.def
+++ b/mingw-w64-crt/lib64/wscrrun.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file ScrRun.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ScrRun.dll
-EXPORTS
-DLLGetDocumentation
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-DoOpenPipeStream
+; 
+; Exports of file ScrRun.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ScrRun.dll
+EXPORTS
+DLLGetDocumentation
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+DoOpenPipeStream
diff --git a/mingw-w64-crt/lib64/wscsvc.def b/mingw-w64-crt/lib64/wscsvc.def
index b6e59da..9d78b19 100644
--- a/mingw-w64-crt/lib64/wscsvc.def
+++ b/mingw-w64-crt/lib64/wscsvc.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file WSCSVC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WSCSVC.dll
-EXPORTS
-ServiceMain
-SvchostPushServiceGlobals
+; 
+; Exports of file WSCSVC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WSCSVC.dll
+EXPORTS
+ServiceMain
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/wsdpblb.def b/mingw-w64-crt/lib64/wsdpblb.def
index bb3b17a..1c834a4 100644
--- a/mingw-w64-crt/lib64/wsdpblb.def
+++ b/mingw-w64-crt/lib64/wsdpblb.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file sdpblb.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sdpblb.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file sdpblb.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sdpblb.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wsecedit.def b/mingw-w64-crt/lib64/wsecedit.def
index 1034cc4..e3d8f4e 100644
--- a/mingw-w64-crt/lib64/wsecedit.def
+++ b/mingw-w64-crt/lib64/wsecedit.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file WSECEDIT.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WSECEDIT.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WSECEDIT.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WSECEDIT.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wseclogon.def b/mingw-w64-crt/lib64/wseclogon.def
index 8d51fc4..42d4535 100644
--- a/mingw-w64-crt/lib64/wseclogon.def
+++ b/mingw-w64-crt/lib64/wseclogon.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file seclogon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY seclogon.dll
-EXPORTS
-DllRegisterServer
-DllUnregisterServer
-SvcEntry_Seclogon
-SvchostPushServiceGlobals
+; 
+; Exports of file seclogon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY seclogon.dll
+EXPORTS
+DllRegisterServer
+DllUnregisterServer
+SvcEntry_Seclogon
+SvchostPushServiceGlobals
diff --git a/mingw-w64-crt/lib64/wsecur32.def b/mingw-w64-crt/lib64/wsecur32.def
index 5cca988..02443b9 100644
--- a/mingw-w64-crt/lib64/wsecur32.def
+++ b/mingw-w64-crt/lib64/wsecur32.def
@@ -1,88 +1,88 @@
-; 
-; Exports of file Secur32.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Secur32.dll
-EXPORTS
-SecDeleteUserModeContext
-SecInitUserModeContext
-AcceptSecurityContext
-AcquireCredentialsHandleA
-AcquireCredentialsHandleW
-AddCredentialsA
-AddCredentialsW
-AddSecurityPackageA
-AddSecurityPackageW
-ApplyControlToken
-CompleteAuthToken
-CredMarshalTargetInfo
-CredUnmarshalTargetInfo
-DecryptMessage
-DeleteSecurityContext
-DeleteSecurityPackageA
-DeleteSecurityPackageW
-EncryptMessage
-EnumerateSecurityPackagesA
-EnumerateSecurityPackagesW
-ExportSecurityContext
-FreeContextBuffer
-FreeCredentialsHandle
-GetComputerObjectNameA
-GetComputerObjectNameW
-GetSecurityUserInfo
-GetUserNameExA
-GetUserNameExW
-ImpersonateSecurityContext
-ImportSecurityContextA
-ImportSecurityContextW
-InitSecurityInterfaceA
-InitSecurityInterfaceW
-InitializeSecurityContextA
-InitializeSecurityContextW
-LsaCallAuthenticationPackage
-LsaConnectUntrusted
-LsaDeregisterLogonProcess
-LsaEnumerateLogonSessions
-LsaFreeReturnBuffer
-LsaGetLogonSessionData
-LsaLogonUser
-LsaLookupAuthenticationPackage
-LsaRegisterLogonProcess
-LsaRegisterPolicyChangeNotification
-LsaUnregisterPolicyChangeNotification
-MakeSignature
-QueryContextAttributesA
-QueryContextAttributesW
-QueryCredentialsAttributesA
-QueryCredentialsAttributesW
-QuerySecurityContextToken
-QuerySecurityPackageInfoA
-QuerySecurityPackageInfoW
-RevertSecurityContext
-SaslAcceptSecurityContext
-SaslEnumerateProfilesA
-SaslEnumerateProfilesW
-SaslGetContextOption
-SaslGetProfilePackageA
-SaslGetProfilePackageW
-SaslIdentifyPackageA
-SaslIdentifyPackageW
-SaslInitializeSecurityContextA
-SaslInitializeSecurityContextW
-SaslSetContextOption
-SealMessage
-SecCacheSspiPackages
-SecpFreeMemory
-SecpSetIPAddress
-SecpTranslateName
-SecpTranslateNameEx
-SetContextAttributesA
-SetContextAttributesW
-SetCredentialsAttributesA
-SetCredentialsAttributesW
-TranslateNameA
-TranslateNameW
-UnsealMessage
-VerifySignature
+; 
+; Exports of file Secur32.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Secur32.dll
+EXPORTS
+SecDeleteUserModeContext
+SecInitUserModeContext
+AcceptSecurityContext
+AcquireCredentialsHandleA
+AcquireCredentialsHandleW
+AddCredentialsA
+AddCredentialsW
+AddSecurityPackageA
+AddSecurityPackageW
+ApplyControlToken
+CompleteAuthToken
+CredMarshalTargetInfo
+CredUnmarshalTargetInfo
+DecryptMessage
+DeleteSecurityContext
+DeleteSecurityPackageA
+DeleteSecurityPackageW
+EncryptMessage
+EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW
+ExportSecurityContext
+FreeContextBuffer
+FreeCredentialsHandle
+GetComputerObjectNameA
+GetComputerObjectNameW
+GetSecurityUserInfo
+GetUserNameExA
+GetUserNameExW
+ImpersonateSecurityContext
+ImportSecurityContextA
+ImportSecurityContextW
+InitSecurityInterfaceA
+InitSecurityInterfaceW
+InitializeSecurityContextA
+InitializeSecurityContextW
+LsaCallAuthenticationPackage
+LsaConnectUntrusted
+LsaDeregisterLogonProcess
+LsaEnumerateLogonSessions
+LsaFreeReturnBuffer
+LsaGetLogonSessionData
+LsaLogonUser
+LsaLookupAuthenticationPackage
+LsaRegisterLogonProcess
+LsaRegisterPolicyChangeNotification
+LsaUnregisterPolicyChangeNotification
+MakeSignature
+QueryContextAttributesA
+QueryContextAttributesW
+QueryCredentialsAttributesA
+QueryCredentialsAttributesW
+QuerySecurityContextToken
+QuerySecurityPackageInfoA
+QuerySecurityPackageInfoW
+RevertSecurityContext
+SaslAcceptSecurityContext
+SaslEnumerateProfilesA
+SaslEnumerateProfilesW
+SaslGetContextOption
+SaslGetProfilePackageA
+SaslGetProfilePackageW
+SaslIdentifyPackageA
+SaslIdentifyPackageW
+SaslInitializeSecurityContextA
+SaslInitializeSecurityContextW
+SaslSetContextOption
+SealMessage
+SecCacheSspiPackages
+SecpFreeMemory
+SecpSetIPAddress
+SecpTranslateName
+SecpTranslateNameEx
+SetContextAttributesA
+SetContextAttributesW
+SetCredentialsAttributesA
+SetCredentialsAttributesW
+TranslateNameA
+TranslateNameW
+UnsealMessage
+VerifySignature
diff --git a/mingw-w64-crt/lib64/wsecurity.def b/mingw-w64-crt/lib64/wsecurity.def
index c06382f..7fa29e2 100644
--- a/mingw-w64-crt/lib64/wsecurity.def
+++ b/mingw-w64-crt/lib64/wsecurity.def
@@ -1,44 +1,44 @@
-; 
-; Exports of file Security.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Security.dll
-EXPORTS
-AcceptSecurityContext
-AcquireCredentialsHandleA
-AcquireCredentialsHandleW
-AddSecurityPackageA
-AddSecurityPackageW
-ApplyControlToken
-CompleteAuthToken
-DecryptMessage
-DeleteSecurityContext
-DeleteSecurityPackageA
-DeleteSecurityPackageW
-EncryptMessage
-EnumerateSecurityPackagesA
-EnumerateSecurityPackagesW
-ExportSecurityContext
-FreeContextBuffer
-FreeCredentialsHandle
-ImpersonateSecurityContext
-ImportSecurityContextA
-ImportSecurityContextW
-InitSecurityInterfaceA
-InitSecurityInterfaceW
-InitializeSecurityContextA
-InitializeSecurityContextW
-MakeSignature
-QueryContextAttributesA
-QueryContextAttributesW
-QueryCredentialsAttributesA
-QueryCredentialsAttributesW
-QuerySecurityContextToken
-QuerySecurityPackageInfoA
-QuerySecurityPackageInfoW
-RevertSecurityContext
-SealMessage
-UnsealMessage
-VerifySignature
+; 
+; Exports of file Security.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Security.dll
+EXPORTS
+AcceptSecurityContext
+AcquireCredentialsHandleA
+AcquireCredentialsHandleW
+AddSecurityPackageA
+AddSecurityPackageW
+ApplyControlToken
+CompleteAuthToken
+DecryptMessage
+DeleteSecurityContext
+DeleteSecurityPackageA
+DeleteSecurityPackageW
+EncryptMessage
+EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW
+ExportSecurityContext
+FreeContextBuffer
+FreeCredentialsHandle
+ImpersonateSecurityContext
+ImportSecurityContextA
+ImportSecurityContextW
+InitSecurityInterfaceA
+InitSecurityInterfaceW
+InitializeSecurityContextA
+InitializeSecurityContextW
+MakeSignature
+QueryContextAttributesA
+QueryContextAttributesW
+QueryCredentialsAttributesA
+QueryCredentialsAttributesW
+QuerySecurityContextToken
+QuerySecurityPackageInfoA
+QuerySecurityPackageInfoW
+RevertSecurityContext
+SealMessage
+UnsealMessage
+VerifySignature
diff --git a/mingw-w64-crt/lib64/wsendcmsg.def b/mingw-w64-crt/lib64/wsendcmsg.def
index b451d6d..bb6f919 100644
--- a/mingw-w64-crt/lib64/wsendcmsg.def
+++ b/mingw-w64-crt/lib64/wsendcmsg.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SendCMsg.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SendCMsg.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SendCMsg.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SendCMsg.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wsendmail.def b/mingw-w64-crt/lib64/wsendmail.def
index 82b5820..b5a8a86 100644
--- a/mingw-w64-crt/lib64/wsendmail.def
+++ b/mingw-w64-crt/lib64/wsendmail.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file SendMail.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SendMail.dll
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file SendMail.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SendMail.dll
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wsens.def b/mingw-w64-crt/lib64/wsens.def
index 820c2b0..5733850 100644
--- a/mingw-w64-crt/lib64/wsens.def
+++ b/mingw-w64-crt/lib64/wsens.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file Sens.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY Sens.dll
-EXPORTS
-ServiceMain
-SensNotifyNetconEvent
-SensNotifyRasEvent
-SensNotifyWinlogonEvent
+; 
+; Exports of file Sens.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY Sens.dll
+EXPORTS
+ServiceMain
+SensNotifyNetconEvent
+SensNotifyRasEvent
+SensNotifyWinlogonEvent
diff --git a/mingw-w64-crt/lib64/wsensapi.def b/mingw-w64-crt/lib64/wsensapi.def
index 716c48e..a2a0d95 100644
--- a/mingw-w64-crt/lib64/wsensapi.def
+++ b/mingw-w64-crt/lib64/wsensapi.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file SensApi.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SensApi.dll
-EXPORTS
-IsDestinationReachableA
-IsDestinationReachableW
-IsNetworkAlive
+; 
+; Exports of file SensApi.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SensApi.dll
+EXPORTS
+IsDestinationReachableA
+IsDestinationReachableW
+IsNetworkAlive
diff --git a/mingw-w64-crt/lib64/wsenscfg.def b/mingw-w64-crt/lib64/wsenscfg.def
index 6c5274f..cdf3a39 100644
--- a/mingw-w64-crt/lib64/wsenscfg.def
+++ b/mingw-w64-crt/lib64/wsenscfg.def
@@ -1,10 +1,10 @@
-; 
-; Exports of file SensCfg.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SensCfg.dll
-EXPORTS
-SensRegister
-SensUnregister
+; 
+; Exports of file SensCfg.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SensCfg.dll
+EXPORTS
+SensRegister
+SensUnregister
diff --git a/mingw-w64-crt/lib64/wseo.def b/mingw-w64-crt/lib64/wseo.def
index 691bd72..6aa2a52 100644
--- a/mingw-w64-crt/lib64/wseo.def
+++ b/mingw-w64-crt/lib64/wseo.def
@@ -1,27 +1,27 @@
-; 
-; Exports of file SEO.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SEO.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
-MCISGetBindingInMetabaseA
-MCISGetBindingInMetabaseW
-MCISInitSEOA
-MCISInitSEOW
-SEOCancelListenForEvent
-SEOCopyDictionary
-SEOCreateDictionaryFromIStream
-SEOCreateDictionaryFromMultiSzA
-SEOCreateDictionaryFromMultiSzW
-SEOCreateIStreamFromFileA
-SEOCreateIStreamFromFileW
-SEOCreateMultiSzFromDictionaryA
-SEOCreateMultiSzFromDictionaryW
-SEOListenForEvent
-SEOWriteDictionaryToIStream
+; 
+; Exports of file SEO.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SEO.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
+MCISGetBindingInMetabaseA
+MCISGetBindingInMetabaseW
+MCISInitSEOA
+MCISInitSEOW
+SEOCancelListenForEvent
+SEOCopyDictionary
+SEOCreateDictionaryFromIStream
+SEOCreateDictionaryFromMultiSzA
+SEOCreateDictionaryFromMultiSzW
+SEOCreateIStreamFromFileA
+SEOCreateIStreamFromFileW
+SEOCreateMultiSzFromDictionaryA
+SEOCreateMultiSzFromDictionaryW
+SEOListenForEvent
+SEOWriteDictionaryToIStream
diff --git a/mingw-w64-crt/lib64/wserialui.def b/mingw-w64-crt/lib64/wserialui.def
index e5d208a..6eb77fc 100644
--- a/mingw-w64-crt/lib64/wserialui.def
+++ b/mingw-w64-crt/lib64/wserialui.def
@@ -1,14 +1,14 @@
-; 
-; Exports of file SERIALUI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SERIALUI.dll
-EXPORTS
-drvCommConfigDialogW
-drvCommConfigDialogA
-drvSetDefaultCommConfigW
-drvSetDefaultCommConfigA
-drvGetDefaultCommConfigW
-drvGetDefaultCommConfigA
+; 
+; Exports of file SERIALUI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SERIALUI.dll
+EXPORTS
+drvCommConfigDialogW
+drvCommConfigDialogA
+drvSetDefaultCommConfigW
+drvSetDefaultCommConfigA
+drvGetDefaultCommConfigW
+drvGetDefaultCommConfigA
diff --git a/mingw-w64-crt/lib64/wservdeps.def b/mingw-w64-crt/lib64/wservdeps.def
index f3503b7..c721279 100644
--- a/mingw-w64-crt/lib64/wservdeps.def
+++ b/mingw-w64-crt/lib64/wservdeps.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file ServDeps.DLL
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ServDeps.DLL
-EXPORTS
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file ServDeps.DLL
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ServDeps.DLL
+EXPORTS
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wserwvdrv.def b/mingw-w64-crt/lib64/wserwvdrv.def
index e3d1efe..b8c7910 100644
--- a/mingw-w64-crt/lib64/wserwvdrv.def
+++ b/mingw-w64-crt/lib64/wserwvdrv.def
@@ -1,11 +1,11 @@
-; 
-; Exports of file SERWVDRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SERWVDRV.dll
-EXPORTS
-DriverProc
-widMessage
-wodMessage
+; 
+; Exports of file SERWVDRV.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SERWVDRV.dll
+EXPORTS
+DriverProc
+widMessage
+wodMessage
diff --git a/mingw-w64-crt/lib64/wsetupapi.def b/mingw-w64-crt/lib64/wsetupapi.def
index 486a74d..7463d97 100644
--- a/mingw-w64-crt/lib64/wsetupapi.def
+++ b/mingw-w64-crt/lib64/wsetupapi.def
@@ -1,613 +1,613 @@
-; 
-; Exports of file SETUPAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SETUPAPI.dll
-EXPORTS
-CMP_GetBlockedDriverInfo
-CMP_GetServerSideDeviceInstallFlags
-CMP_Init_Detection
-CMP_RegisterNotification
-CMP_Report_LogOn
-CMP_UnregisterNotification
-CMP_WaitNoPendingInstallEvents
-CMP_WaitServicesAvailable
-CM_Add_Empty_Log_Conf
-CM_Add_Empty_Log_Conf_Ex
-CM_Add_IDA
-CM_Add_IDW
-CM_Add_ID_ExA
-CM_Add_ID_ExW
-CM_Add_Range
-CM_Add_Res_Des
-CM_Add_Res_Des_Ex
-CM_Connect_MachineA
-CM_Connect_MachineW
-CM_Create_DevNodeA
-CM_Create_DevNodeW
-CM_Create_DevNode_ExA
-CM_Create_DevNode_ExW
-CM_Create_Range_List
-CM_Delete_Class_Key
-CM_Delete_Class_Key_Ex
-CM_Delete_DevNode_Key
-CM_Delete_DevNode_Key_Ex
-CM_Delete_Range
-CM_Detect_Resource_Conflict
-CM_Detect_Resource_Conflict_Ex
-CM_Disable_DevNode
-CM_Disable_DevNode_Ex
-CM_Disconnect_Machine
-CM_Dup_Range_List
-CM_Enable_DevNode
-CM_Enable_DevNode_Ex
-CM_Enumerate_Classes
-CM_Enumerate_Classes_Ex
-CM_Enumerate_EnumeratorsA
-CM_Enumerate_EnumeratorsW
-CM_Enumerate_Enumerators_ExA
-CM_Enumerate_Enumerators_ExW
-CM_Find_Range
-CM_First_Range
-CM_Free_Log_Conf
-CM_Free_Log_Conf_Ex
-CM_Free_Log_Conf_Handle
-CM_Free_Range_List
-CM_Free_Res_Des
-CM_Free_Res_Des_Ex
-CM_Free_Res_Des_Handle
-CM_Free_Resource_Conflict_Handle
-CM_Get_Child
-CM_Get_Child_Ex
-CM_Get_Class_Key_NameA
-CM_Get_Class_Key_NameW
-CM_Get_Class_Key_Name_ExA
-CM_Get_Class_Key_Name_ExW
-CM_Get_Class_NameA
-CM_Get_Class_NameW
-CM_Get_Class_Name_ExA
-CM_Get_Class_Name_ExW
-CM_Get_Class_Registry_PropertyA
-CM_Get_Class_Registry_PropertyW
-CM_Get_Depth
-CM_Get_Depth_Ex
-CM_Get_DevNode_Custom_PropertyA
-CM_Get_DevNode_Custom_PropertyW
-CM_Get_DevNode_Custom_Property_ExA
-CM_Get_DevNode_Custom_Property_ExW
-CM_Get_DevNode_Registry_PropertyA
-CM_Get_DevNode_Registry_PropertyW
-CM_Get_DevNode_Registry_Property_ExA
-CM_Get_DevNode_Registry_Property_ExW
-CM_Get_DevNode_Status
-CM_Get_DevNode_Status_Ex
-CM_Get_Device_IDA
-CM_Get_Device_IDW
-CM_Get_Device_ID_ExA
-CM_Get_Device_ID_ExW
-CM_Get_Device_ID_ListA
-CM_Get_Device_ID_ListW
-CM_Get_Device_ID_List_ExA
-CM_Get_Device_ID_List_ExW
-CM_Get_Device_ID_List_SizeA
-CM_Get_Device_ID_List_SizeW
-CM_Get_Device_ID_List_Size_ExA
-CM_Get_Device_ID_List_Size_ExW
-CM_Get_Device_ID_Size
-CM_Get_Device_ID_Size_Ex
-CM_Get_Device_Interface_AliasA
-CM_Get_Device_Interface_AliasW
-CM_Get_Device_Interface_Alias_ExA
-CM_Get_Device_Interface_Alias_ExW
-CM_Get_Device_Interface_ListA
-CM_Get_Device_Interface_ListW
-CM_Get_Device_Interface_List_ExA
-CM_Get_Device_Interface_List_ExW
-CM_Get_Device_Interface_List_SizeA
-CM_Get_Device_Interface_List_SizeW
-CM_Get_Device_Interface_List_Size_ExA
-CM_Get_Device_Interface_List_Size_ExW
-CM_Get_First_Log_Conf
-CM_Get_First_Log_Conf_Ex
-CM_Get_Global_State
-CM_Get_Global_State_Ex
-CM_Get_HW_Prof_FlagsA
-CM_Get_HW_Prof_FlagsW
-CM_Get_HW_Prof_Flags_ExA
-CM_Get_HW_Prof_Flags_ExW
-CM_Get_Hardware_Profile_InfoA
-CM_Get_Hardware_Profile_InfoW
-CM_Get_Hardware_Profile_Info_ExA
-CM_Get_Hardware_Profile_Info_ExW
-CM_Get_Log_Conf_Priority
-CM_Get_Log_Conf_Priority_Ex
-CM_Get_Next_Log_Conf
-CM_Get_Next_Log_Conf_Ex
-CM_Get_Next_Res_Des
-CM_Get_Next_Res_Des_Ex
-CM_Get_Parent
-CM_Get_Parent_Ex
-CM_Get_Res_Des_Data
-CM_Get_Res_Des_Data_Ex
-CM_Get_Res_Des_Data_Size
-CM_Get_Res_Des_Data_Size_Ex
-CM_Get_Resource_Conflict_Count
-CM_Get_Resource_Conflict_DetailsA
-CM_Get_Resource_Conflict_DetailsW
-CM_Get_Sibling
-CM_Get_Sibling_Ex
-CM_Get_Version
-CM_Get_Version_Ex
-CM_Intersect_Range_List
-CM_Invert_Range_List
-CM_Is_Dock_Station_Present
-CM_Is_Dock_Station_Present_Ex
-CM_Is_Version_Available
-CM_Is_Version_Available_Ex
-CM_Locate_DevNodeA
-CM_Locate_DevNodeW
-CM_Locate_DevNode_ExA
-CM_Locate_DevNode_ExW
-CM_Merge_Range_List
-CM_Modify_Res_Des
-CM_Modify_Res_Des_Ex
-CM_Move_DevNode
-CM_Move_DevNode_Ex
-CM_Next_Range
-CM_Open_Class_KeyA
-CM_Open_Class_KeyW
-CM_Open_Class_Key_ExA
-CM_Open_Class_Key_ExW
-CM_Open_DevNode_Key
-CM_Open_DevNode_Key_Ex
-CM_Query_And_Remove_SubTreeA
-CM_Query_And_Remove_SubTreeW
-CM_Query_And_Remove_SubTree_ExA
-CM_Query_And_Remove_SubTree_ExW
-CM_Query_Arbitrator_Free_Data
-CM_Query_Arbitrator_Free_Data_Ex
-CM_Query_Arbitrator_Free_Size
-CM_Query_Arbitrator_Free_Size_Ex
-CM_Query_Remove_SubTree
-CM_Query_Remove_SubTree_Ex
-CM_Query_Resource_Conflict_List
-CM_Reenumerate_DevNode
-CM_Reenumerate_DevNode_Ex
-CM_Register_Device_Driver
-CM_Register_Device_Driver_Ex
-CM_Register_Device_InterfaceA
-CM_Register_Device_InterfaceW
-CM_Register_Device_Interface_ExA
-CM_Register_Device_Interface_ExW
-CM_Remove_SubTree
-CM_Remove_SubTree_Ex
-CM_Request_Device_EjectA
-CM_Request_Device_EjectW
-CM_Request_Device_Eject_ExA
-CM_Request_Device_Eject_ExW
-CM_Request_Eject_PC
-CM_Request_Eject_PC_Ex
-CM_Run_Detection
-CM_Run_Detection_Ex
-CM_Set_Class_Registry_PropertyA
-CM_Set_Class_Registry_PropertyW
-CM_Set_DevNode_Problem
-CM_Set_DevNode_Problem_Ex
-CM_Set_DevNode_Registry_PropertyA
-CM_Set_DevNode_Registry_PropertyW
-CM_Set_DevNode_Registry_Property_ExA
-CM_Set_DevNode_Registry_Property_ExW
-CM_Set_HW_Prof
-CM_Set_HW_Prof_Ex
-CM_Set_HW_Prof_FlagsA
-CM_Set_HW_Prof_FlagsW
-CM_Set_HW_Prof_Flags_ExA
-CM_Set_HW_Prof_Flags_ExW
-CM_Setup_DevNode
-CM_Setup_DevNode_Ex
-CM_Test_Range_Available
-CM_Uninstall_DevNode
-CM_Uninstall_DevNode_Ex
-CM_Unregister_Device_InterfaceA
-CM_Unregister_Device_InterfaceW
-CM_Unregister_Device_Interface_ExA
-CM_Unregister_Device_Interface_ExW
-DoesUserHavePrivilege
-ExtensionPropSheetPageProc
-InstallCatalog
-InstallHinfSection
-InstallHinfSectionA
-InstallHinfSectionW
-IsUserAdmin
-MyFree
-MyMalloc
-MyRealloc
-SetupAddInstallSectionToDiskSpaceListA
-SetupAddInstallSectionToDiskSpaceListW
-SetupAddSectionToDiskSpaceListA
-SetupAddSectionToDiskSpaceListW
-SetupAddToDiskSpaceListA
-SetupAddToDiskSpaceListW
-SetupAddToSourceListA
-SetupAddToSourceListW
-SetupAdjustDiskSpaceListA
-SetupAdjustDiskSpaceListW
-SetupBackupErrorA
-SetupBackupErrorW
-SetupCancelTemporarySourceList
-SetupCloseFileQueue
-SetupCloseInfFile
-SetupCloseLog
-SetupCommitFileQueue
-SetupCommitFileQueueA
-SetupCommitFileQueueW
-SetupConfigureWmiFromInfSectionA
-SetupConfigureWmiFromInfSectionW
-SetupCopyErrorA
-SetupCopyErrorW
-SetupCopyOEMInfA
-SetupCopyOEMInfW
-SetupCreateDiskSpaceListA
-SetupCreateDiskSpaceListW
-SetupDecompressOrCopyFileA
-SetupDecompressOrCopyFileW
-SetupDefaultQueueCallback
-SetupDefaultQueueCallbackA
-SetupDefaultQueueCallbackW
-SetupDeleteErrorA
-SetupDeleteErrorW
-SetupDestroyDiskSpaceList
-SetupDiAskForOEMDisk
-SetupDiBuildClassInfoList
-SetupDiBuildClassInfoListExA
-SetupDiBuildClassInfoListExW
-SetupDiBuildDriverInfoList
-SetupDiCallClassInstaller
-SetupDiCancelDriverInfoSearch
-SetupDiChangeState
-SetupDiClassGuidsFromNameA
-SetupDiClassGuidsFromNameExA
-SetupDiClassGuidsFromNameExW
-SetupDiClassGuidsFromNameW
-SetupDiClassNameFromGuidA
-SetupDiClassNameFromGuidExA
-SetupDiClassNameFromGuidExW
-SetupDiClassNameFromGuidW
-SetupDiCreateDevRegKeyA
-SetupDiCreateDevRegKeyW
-SetupDiCreateDeviceInfoA
-SetupDiCreateDeviceInfoList
-SetupDiCreateDeviceInfoListExA
-SetupDiCreateDeviceInfoListExW
-SetupDiCreateDeviceInfoW
-SetupDiCreateDeviceInterfaceA
-SetupDiCreateDeviceInterfaceRegKeyA
-SetupDiCreateDeviceInterfaceRegKeyW
-SetupDiCreateDeviceInterfaceW
-SetupDiDeleteDevRegKey
-SetupDiDeleteDeviceInfo
-SetupDiDeleteDeviceInterfaceData
-SetupDiDeleteDeviceInterfaceRegKey
-SetupDiDestroyClassImageList
-SetupDiDestroyDeviceInfoList
-SetupDiDestroyDriverInfoList
-SetupDiDrawMiniIcon
-SetupDiEnumDeviceInfo
-SetupDiEnumDeviceInterfaces
-SetupDiEnumDriverInfoA
-SetupDiEnumDriverInfoW
-SetupDiGetActualModelsSectionA
-SetupDiGetActualModelsSectionW
-SetupDiGetActualSectionToInstallA
-SetupDiGetActualSectionToInstallExA
-SetupDiGetActualSectionToInstallExW
-SetupDiGetActualSectionToInstallW
-SetupDiGetClassBitmapIndex
-SetupDiGetClassDescriptionA
-SetupDiGetClassDescriptionExA
-SetupDiGetClassDescriptionExW
-SetupDiGetClassDescriptionW
-SetupDiGetClassDevPropertySheetsA
-SetupDiGetClassDevPropertySheetsW
-SetupDiGetClassDevsA
-SetupDiGetClassDevsExA
-SetupDiGetClassDevsExW
-SetupDiGetClassDevsW
-SetupDiGetClassImageIndex
-SetupDiGetClassImageList
-SetupDiGetClassImageListExA
-SetupDiGetClassImageListExW
-SetupDiGetClassInstallParamsA
-SetupDiGetClassInstallParamsW
-SetupDiGetClassRegistryPropertyA
-SetupDiGetClassRegistryPropertyW
-SetupDiGetCustomDevicePropertyA
-SetupDiGetCustomDevicePropertyW
-SetupDiGetDeviceInfoListClass
-SetupDiGetDeviceInfoListDetailA
-SetupDiGetDeviceInfoListDetailW
-SetupDiGetDeviceInstallParamsA
-SetupDiGetDeviceInstallParamsW
-SetupDiGetDeviceInstanceIdA
-SetupDiGetDeviceInstanceIdW
-SetupDiGetDeviceInterfaceAlias
-SetupDiGetDeviceInterfaceDetailA
-SetupDiGetDeviceInterfaceDetailW
-SetupDiGetDeviceRegistryPropertyA
-SetupDiGetDeviceRegistryPropertyW
-SetupDiGetDriverInfoDetailA
-SetupDiGetDriverInfoDetailW
-SetupDiGetDriverInstallParamsA
-SetupDiGetDriverInstallParamsW
-SetupDiGetHwProfileFriendlyNameA
-SetupDiGetHwProfileFriendlyNameExA
-SetupDiGetHwProfileFriendlyNameExW
-SetupDiGetHwProfileFriendlyNameW
-SetupDiGetHwProfileList
-SetupDiGetHwProfileListExA
-SetupDiGetHwProfileListExW
-SetupDiGetINFClassA
-SetupDiGetINFClassW
-SetupDiGetSelectedDevice
-SetupDiGetSelectedDriverA
-SetupDiGetSelectedDriverW
-SetupDiGetWizardPage
-SetupDiInstallClassA
-SetupDiInstallClassExA
-SetupDiInstallClassExW
-SetupDiInstallClassW
-SetupDiInstallDevice
-SetupDiInstallDeviceInterfaces
-SetupDiInstallDriverFiles
-SetupDiLoadClassIcon
-SetupDiMoveDuplicateDevice
-SetupDiOpenClassRegKey
-SetupDiOpenClassRegKeyExA
-SetupDiOpenClassRegKeyExW
-SetupDiOpenDevRegKey
-SetupDiOpenDeviceInfoA
-SetupDiOpenDeviceInfoW
-SetupDiOpenDeviceInterfaceA
-SetupDiOpenDeviceInterfaceRegKey
-SetupDiOpenDeviceInterfaceW
-SetupDiRegisterCoDeviceInstallers
-SetupDiRegisterDeviceInfo
-SetupDiRemoveDevice
-SetupDiRemoveDeviceInterface
-SetupDiRestartDevices
-SetupDiSelectBestCompatDrv
-SetupDiSelectDevice
-SetupDiSelectOEMDrv
-SetupDiSetClassInstallParamsA
-SetupDiSetClassInstallParamsW
-SetupDiSetClassRegistryPropertyA
-SetupDiSetClassRegistryPropertyW
-SetupDiSetDeviceInstallParamsA
-SetupDiSetDeviceInstallParamsW
-SetupDiSetDeviceInterfaceDefault
-SetupDiSetDeviceRegistryPropertyA
-SetupDiSetDeviceRegistryPropertyW
-SetupDiSetDriverInstallParamsA
-SetupDiSetDriverInstallParamsW
-SetupDiSetSelectedDevice
-SetupDiSetSelectedDriverA
-SetupDiSetSelectedDriverW
-SetupDiUnremoveDevice
-SetupDuplicateDiskSpaceListA
-SetupDuplicateDiskSpaceListW
-SetupEnumInfSectionsA
-SetupEnumInfSectionsW
-SetupFindFirstLineA
-SetupFindFirstLineW
-SetupFindNextLine
-SetupFindNextMatchLineA
-SetupFindNextMatchLineW
-SetupFreeSourceListA
-SetupFreeSourceListW
-SetupGetBackupInformationA
-SetupGetBackupInformationW
-SetupGetBinaryField
-SetupGetFieldCount
-SetupGetFileCompressionInfoA
-SetupGetFileCompressionInfoExA
-SetupGetFileCompressionInfoExW
-SetupGetFileCompressionInfoW
-SetupGetFileQueueCount
-SetupGetFileQueueFlags
-SetupGetInfFileListA
-SetupGetInfFileListW
-SetupGetInfInformationA
-SetupGetInfInformationW
-SetupGetInfSections
-SetupGetIntField
-SetupGetLineByIndexA
-SetupGetLineByIndexW
-SetupGetLineCountA
-SetupGetLineCountW
-SetupGetLineTextA
-SetupGetLineTextW
-SetupGetMultiSzFieldA
-SetupGetMultiSzFieldW
-SetupGetNonInteractiveMode
-SetupGetSourceFileLocationA
-SetupGetSourceFileLocationW
-SetupGetSourceFileSizeA
-SetupGetSourceFileSizeW
-SetupGetSourceInfoA
-SetupGetSourceInfoW
-SetupGetStringFieldA
-SetupGetStringFieldW
-SetupGetTargetPathA
-SetupGetTargetPathW
-SetupInitDefaultQueueCallback
-SetupInitDefaultQueueCallbackEx
-SetupInitializeFileLogA
-SetupInitializeFileLogW
-SetupInstallFileA
-SetupInstallFileExA
-SetupInstallFileExW
-SetupInstallFileW
-SetupInstallFilesFromInfSectionA
-SetupInstallFilesFromInfSectionW
-SetupInstallFromInfSectionA
-SetupInstallFromInfSectionW
-SetupInstallServicesFromInfSectionA
-SetupInstallServicesFromInfSectionExA
-SetupInstallServicesFromInfSectionExW
-SetupInstallServicesFromInfSectionW
-SetupIterateCabinetA
-SetupIterateCabinetW
-SetupLogErrorA
-SetupLogErrorW
-SetupLogFileA
-SetupLogFileW
-SetupOpenAppendInfFileA
-SetupOpenAppendInfFileW
-SetupOpenFileQueue
-SetupOpenInfFileA
-SetupOpenInfFileW
-SetupOpenLog
-SetupOpenMasterInf
-SetupPrepareQueueForRestoreA
-SetupPrepareQueueForRestoreW
-SetupPromptForDiskA
-SetupPromptForDiskW
-SetupPromptReboot
-SetupQueryDrivesInDiskSpaceListA
-SetupQueryDrivesInDiskSpaceListW
-SetupQueryFileLogA
-SetupQueryFileLogW
-SetupQueryInfFileInformationA
-SetupQueryInfFileInformationW
-SetupQueryInfOriginalFileInformationA
-SetupQueryInfOriginalFileInformationW
-SetupQueryInfVersionInformationA
-SetupQueryInfVersionInformationW
-SetupQuerySourceListA
-SetupQuerySourceListW
-SetupQuerySpaceRequiredOnDriveA
-SetupQuerySpaceRequiredOnDriveW
-SetupQueueCopyA
-SetupQueueCopyIndirectA
-SetupQueueCopyIndirectW
-SetupQueueCopySectionA
-SetupQueueCopySectionW
-SetupQueueCopyW
-SetupQueueDefaultCopyA
-SetupQueueDefaultCopyW
-SetupQueueDeleteA
-SetupQueueDeleteSectionA
-SetupQueueDeleteSectionW
-SetupQueueDeleteW
-SetupQueueRenameA
-SetupQueueRenameSectionA
-SetupQueueRenameSectionW
-SetupQueueRenameW
-SetupRemoveFileLogEntryA
-SetupRemoveFileLogEntryW
-SetupRemoveFromDiskSpaceListA
-SetupRemoveFromDiskSpaceListW
-SetupRemoveFromSourceListA
-SetupRemoveFromSourceListW
-SetupRemoveInstallSectionFromDiskSpaceListA
-SetupRemoveInstallSectionFromDiskSpaceListW
-SetupRemoveSectionFromDiskSpaceListA
-SetupRemoveSectionFromDiskSpaceListW
-SetupRenameErrorA
-SetupRenameErrorW
-SetupScanFileQueue
-SetupScanFileQueueA
-SetupScanFileQueueW
-SetupSetDirectoryIdA
-SetupSetDirectoryIdExA
-SetupSetDirectoryIdExW
-SetupSetDirectoryIdW
-SetupSetFileQueueAlternatePlatformA
-SetupSetFileQueueAlternatePlatformW
-SetupSetFileQueueFlags
-SetupSetNonInteractiveMode
-SetupSetPlatformPathOverrideA
-SetupSetPlatformPathOverrideW
-SetupSetSourceListA
-SetupSetSourceListW
-SetupTermDefaultQueueCallback
-SetupTerminateFileLog
-SetupUninstallNewlyCopiedInfs
-SetupUninstallOEMInfA
-SetupUninstallOEMInfW
-SetupVerifyInfFileA
-SetupVerifyInfFileW
-UnicodeToMultiByte
-VerifyCatalogFile
-pSetupAccessRunOnceNodeList
-pSetupAcquireSCMLock
-pSetupAddMiniIconToList
-pSetupAddTagToGroupOrderListEntry
-pSetupAppendStringToMultiSz
-pSetupCaptureAndConvertAnsiArg
-pSetupCenterWindowRelativeToParent
-pSetupConcatenatePaths
-pSetupDestroyRunOnceNodeList
-pSetupDiGetDeviceInfoContext
-pSetupDiSetDeviceInfoContext
-pSetupDoesUserHavePrivilege
-pSetupDuplicateString
-pSetupEnablePrivilege
-pSetupFree
-pSetupFreeStringArray
-pSetupGetCurrentDriverSigningPolicy
-pSetupGetField
-pSetupGetFileTitle
-pSetupGetGlobalFlags
-pSetupGetInfSections
-pSetupGetQueueFlags
-pSetupGetRealSystemTime
-pSetupGetVersionInfoFromImage
-pSetupGuidFromString
-pSetupHandleFailedVerification
-pSetupInfCacheBuild
-pSetupInfIsFromOemLocation
-pSetupInstallCatalog
-pSetupInstallStopEx
-pSetupIsGuidNull
-pSetupIsLocalSystem
-pSetupIsUserAdmin
-pSetupMakeSurePathExists
-pSetupMalloc
-pSetupModifyGlobalFlags
-pSetupMultiByteToUnicode
-pSetupOpenAndMapFileForRead
-pSetupOutOfMemory
-pSetupQueryMultiSzValueToArray
-pSetupRealloc
-pSetupRegistryDelnode
-pSetupRetrieveServiceConfig
-pSetupSetArrayToMultiSzValue
-pSetupSetGlobalFlags
-pSetupSetNoDriverPrompts
-pSetupSetQueueFlags
-pSetupSetSystemSourcePath
-pSetupShouldDeviceBeExcluded
-pSetupStringFromGuid
-pSetupStringTableAddString
-pSetupStringTableAddStringEx
-pSetupStringTableDestroy
-pSetupStringTableDuplicate
-pSetupStringTableEnum
-pSetupStringTableGetExtraData
-pSetupStringTableInitialize
-pSetupStringTableInitializeEx
-pSetupStringTableLookUpString
-pSetupStringTableLookUpStringEx
-pSetupStringTableSetExtraData
-pSetupStringTableStringFromId
-pSetupStringTableStringFromIdEx
-pSetupUnicodeToMultiByte
-pSetupUnmapAndCloseFile
-pSetupVerifyCatalogFile
-pSetupVerifyFile
-pSetupVerifyQueuedCatalogs
-pSetupWriteLogEntry
-pSetupWriteLogError
+; 
+; Exports of file SETUPAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SETUPAPI.dll
+EXPORTS
+CMP_GetBlockedDriverInfo
+CMP_GetServerSideDeviceInstallFlags
+CMP_Init_Detection
+CMP_RegisterNotification
+CMP_Report_LogOn
+CMP_UnregisterNotification
+CMP_WaitNoPendingInstallEvents
+CMP_WaitServicesAvailable
+CM_Add_Empty_Log_Conf
+CM_Add_Empty_Log_Conf_Ex
+CM_Add_IDA
+CM_Add_IDW
+CM_Add_ID_ExA
+CM_Add_ID_ExW
+CM_Add_Range
+CM_Add_Res_Des
+CM_Add_Res_Des_Ex
+CM_Connect_MachineA
+CM_Connect_MachineW
+CM_Create_DevNodeA
+CM_Create_DevNodeW
+CM_Create_DevNode_ExA
+CM_Create_DevNode_ExW
+CM_Create_Range_List
+CM_Delete_Class_Key
+CM_Delete_Class_Key_Ex
+CM_Delete_DevNode_Key
+CM_Delete_DevNode_Key_Ex
+CM_Delete_Range
+CM_Detect_Resource_Conflict
+CM_Detect_Resource_Conflict_Ex
+CM_Disable_DevNode
+CM_Disable_DevNode_Ex
+CM_Disconnect_Machine
+CM_Dup_Range_List
+CM_Enable_DevNode
+CM_Enable_DevNode_Ex
+CM_Enumerate_Classes
+CM_Enumerate_Classes_Ex
+CM_Enumerate_EnumeratorsA
+CM_Enumerate_EnumeratorsW
+CM_Enumerate_Enumerators_ExA
+CM_Enumerate_Enumerators_ExW
+CM_Find_Range
+CM_First_Range
+CM_Free_Log_Conf
+CM_Free_Log_Conf_Ex
+CM_Free_Log_Conf_Handle
+CM_Free_Range_List
+CM_Free_Res_Des
+CM_Free_Res_Des_Ex
+CM_Free_Res_Des_Handle
+CM_Free_Resource_Conflict_Handle
+CM_Get_Child
+CM_Get_Child_Ex
+CM_Get_Class_Key_NameA
+CM_Get_Class_Key_NameW
+CM_Get_Class_Key_Name_ExA
+CM_Get_Class_Key_Name_ExW
+CM_Get_Class_NameA
+CM_Get_Class_NameW
+CM_Get_Class_Name_ExA
+CM_Get_Class_Name_ExW
+CM_Get_Class_Registry_PropertyA
+CM_Get_Class_Registry_PropertyW
+CM_Get_Depth
+CM_Get_Depth_Ex
+CM_Get_DevNode_Custom_PropertyA
+CM_Get_DevNode_Custom_PropertyW
+CM_Get_DevNode_Custom_Property_ExA
+CM_Get_DevNode_Custom_Property_ExW
+CM_Get_DevNode_Registry_PropertyA
+CM_Get_DevNode_Registry_PropertyW
+CM_Get_DevNode_Registry_Property_ExA
+CM_Get_DevNode_Registry_Property_ExW
+CM_Get_DevNode_Status
+CM_Get_DevNode_Status_Ex
+CM_Get_Device_IDA
+CM_Get_Device_IDW
+CM_Get_Device_ID_ExA
+CM_Get_Device_ID_ExW
+CM_Get_Device_ID_ListA
+CM_Get_Device_ID_ListW
+CM_Get_Device_ID_List_ExA
+CM_Get_Device_ID_List_ExW
+CM_Get_Device_ID_List_SizeA
+CM_Get_Device_ID_List_SizeW
+CM_Get_Device_ID_List_Size_ExA
+CM_Get_Device_ID_List_Size_ExW
+CM_Get_Device_ID_Size
+CM_Get_Device_ID_Size_Ex
+CM_Get_Device_Interface_AliasA
+CM_Get_Device_Interface_AliasW
+CM_Get_Device_Interface_Alias_ExA
+CM_Get_Device_Interface_Alias_ExW
+CM_Get_Device_Interface_ListA
+CM_Get_Device_Interface_ListW
+CM_Get_Device_Interface_List_ExA
+CM_Get_Device_Interface_List_ExW
+CM_Get_Device_Interface_List_SizeA
+CM_Get_Device_Interface_List_SizeW
+CM_Get_Device_Interface_List_Size_ExA
+CM_Get_Device_Interface_List_Size_ExW
+CM_Get_First_Log_Conf
+CM_Get_First_Log_Conf_Ex
+CM_Get_Global_State
+CM_Get_Global_State_Ex
+CM_Get_HW_Prof_FlagsA
+CM_Get_HW_Prof_FlagsW
+CM_Get_HW_Prof_Flags_ExA
+CM_Get_HW_Prof_Flags_ExW
+CM_Get_Hardware_Profile_InfoA
+CM_Get_Hardware_Profile_InfoW
+CM_Get_Hardware_Profile_Info_ExA
+CM_Get_Hardware_Profile_Info_ExW
+CM_Get_Log_Conf_Priority
+CM_Get_Log_Conf_Priority_Ex
+CM_Get_Next_Log_Conf
+CM_Get_Next_Log_Conf_Ex
+CM_Get_Next_Res_Des
+CM_Get_Next_Res_Des_Ex
+CM_Get_Parent
+CM_Get_Parent_Ex
+CM_Get_Res_Des_Data
+CM_Get_Res_Des_Data_Ex
+CM_Get_Res_Des_Data_Size
+CM_Get_Res_Des_Data_Size_Ex
+CM_Get_Resource_Conflict_Count
+CM_Get_Resource_Conflict_DetailsA
+CM_Get_Resource_Conflict_DetailsW
+CM_Get_Sibling
+CM_Get_Sibling_Ex
+CM_Get_Version
+CM_Get_Version_Ex
+CM_Intersect_Range_List
+CM_Invert_Range_List
+CM_Is_Dock_Station_Present
+CM_Is_Dock_Station_Present_Ex
+CM_Is_Version_Available
+CM_Is_Version_Available_Ex
+CM_Locate_DevNodeA
+CM_Locate_DevNodeW
+CM_Locate_DevNode_ExA
+CM_Locate_DevNode_ExW
+CM_Merge_Range_List
+CM_Modify_Res_Des
+CM_Modify_Res_Des_Ex
+CM_Move_DevNode
+CM_Move_DevNode_Ex
+CM_Next_Range
+CM_Open_Class_KeyA
+CM_Open_Class_KeyW
+CM_Open_Class_Key_ExA
+CM_Open_Class_Key_ExW
+CM_Open_DevNode_Key
+CM_Open_DevNode_Key_Ex
+CM_Query_And_Remove_SubTreeA
+CM_Query_And_Remove_SubTreeW
+CM_Query_And_Remove_SubTree_ExA
+CM_Query_And_Remove_SubTree_ExW
+CM_Query_Arbitrator_Free_Data
+CM_Query_Arbitrator_Free_Data_Ex
+CM_Query_Arbitrator_Free_Size
+CM_Query_Arbitrator_Free_Size_Ex
+CM_Query_Remove_SubTree
+CM_Query_Remove_SubTree_Ex
+CM_Query_Resource_Conflict_List
+CM_Reenumerate_DevNode
+CM_Reenumerate_DevNode_Ex
+CM_Register_Device_Driver
+CM_Register_Device_Driver_Ex
+CM_Register_Device_InterfaceA
+CM_Register_Device_InterfaceW
+CM_Register_Device_Interface_ExA
+CM_Register_Device_Interface_ExW
+CM_Remove_SubTree
+CM_Remove_SubTree_Ex
+CM_Request_Device_EjectA
+CM_Request_Device_EjectW
+CM_Request_Device_Eject_ExA
+CM_Request_Device_Eject_ExW
+CM_Request_Eject_PC
+CM_Request_Eject_PC_Ex
+CM_Run_Detection
+CM_Run_Detection_Ex
+CM_Set_Class_Registry_PropertyA
+CM_Set_Class_Registry_PropertyW
+CM_Set_DevNode_Problem
+CM_Set_DevNode_Problem_Ex
+CM_Set_DevNode_Registry_PropertyA
+CM_Set_DevNode_Registry_PropertyW
+CM_Set_DevNode_Registry_Property_ExA
+CM_Set_DevNode_Registry_Property_ExW
+CM_Set_HW_Prof
+CM_Set_HW_Prof_Ex
+CM_Set_HW_Prof_FlagsA
+CM_Set_HW_Prof_FlagsW
+CM_Set_HW_Prof_Flags_ExA
+CM_Set_HW_Prof_Flags_ExW
+CM_Setup_DevNode
+CM_Setup_DevNode_Ex
+CM_Test_Range_Available
+CM_Uninstall_DevNode
+CM_Uninstall_DevNode_Ex
+CM_Unregister_Device_InterfaceA
+CM_Unregister_Device_InterfaceW
+CM_Unregister_Device_Interface_ExA
+CM_Unregister_Device_Interface_ExW
+DoesUserHavePrivilege
+ExtensionPropSheetPageProc
+InstallCatalog
+InstallHinfSection
+InstallHinfSectionA
+InstallHinfSectionW
+IsUserAdmin
+MyFree
+MyMalloc
+MyRealloc
+SetupAddInstallSectionToDiskSpaceListA
+SetupAddInstallSectionToDiskSpaceListW
+SetupAddSectionToDiskSpaceListA
+SetupAddSectionToDiskSpaceListW
+SetupAddToDiskSpaceListA
+SetupAddToDiskSpaceListW
+SetupAddToSourceListA
+SetupAddToSourceListW
+SetupAdjustDiskSpaceListA
+SetupAdjustDiskSpaceListW
+SetupBackupErrorA
+SetupBackupErrorW
+SetupCancelTemporarySourceList
+SetupCloseFileQueue
+SetupCloseInfFile
+SetupCloseLog
+SetupCommitFileQueue
+SetupCommitFileQueueA
+SetupCommitFileQueueW
+SetupConfigureWmiFromInfSectionA
+SetupConfigureWmiFromInfSectionW
+SetupCopyErrorA
+SetupCopyErrorW
+SetupCopyOEMInfA
+SetupCopyOEMInfW
+SetupCreateDiskSpaceListA
+SetupCreateDiskSpaceListW
+SetupDecompressOrCopyFileA
+SetupDecompressOrCopyFileW
+SetupDefaultQueueCallback
+SetupDefaultQueueCallbackA
+SetupDefaultQueueCallbackW
+SetupDeleteErrorA
+SetupDeleteErrorW
+SetupDestroyDiskSpaceList
+SetupDiAskForOEMDisk
+SetupDiBuildClassInfoList
+SetupDiBuildClassInfoListExA
+SetupDiBuildClassInfoListExW
+SetupDiBuildDriverInfoList
+SetupDiCallClassInstaller
+SetupDiCancelDriverInfoSearch
+SetupDiChangeState
+SetupDiClassGuidsFromNameA
+SetupDiClassGuidsFromNameExA
+SetupDiClassGuidsFromNameExW
+SetupDiClassGuidsFromNameW
+SetupDiClassNameFromGuidA
+SetupDiClassNameFromGuidExA
+SetupDiClassNameFromGuidExW
+SetupDiClassNameFromGuidW
+SetupDiCreateDevRegKeyA
+SetupDiCreateDevRegKeyW
+SetupDiCreateDeviceInfoA
+SetupDiCreateDeviceInfoList
+SetupDiCreateDeviceInfoListExA
+SetupDiCreateDeviceInfoListExW
+SetupDiCreateDeviceInfoW
+SetupDiCreateDeviceInterfaceA
+SetupDiCreateDeviceInterfaceRegKeyA
+SetupDiCreateDeviceInterfaceRegKeyW
+SetupDiCreateDeviceInterfaceW
+SetupDiDeleteDevRegKey
+SetupDiDeleteDeviceInfo
+SetupDiDeleteDeviceInterfaceData
+SetupDiDeleteDeviceInterfaceRegKey
+SetupDiDestroyClassImageList
+SetupDiDestroyDeviceInfoList
+SetupDiDestroyDriverInfoList
+SetupDiDrawMiniIcon
+SetupDiEnumDeviceInfo
+SetupDiEnumDeviceInterfaces
+SetupDiEnumDriverInfoA
+SetupDiEnumDriverInfoW
+SetupDiGetActualModelsSectionA
+SetupDiGetActualModelsSectionW
+SetupDiGetActualSectionToInstallA
+SetupDiGetActualSectionToInstallExA
+SetupDiGetActualSectionToInstallExW
+SetupDiGetActualSectionToInstallW
+SetupDiGetClassBitmapIndex
+SetupDiGetClassDescriptionA
+SetupDiGetClassDescriptionExA
+SetupDiGetClassDescriptionExW
+SetupDiGetClassDescriptionW
+SetupDiGetClassDevPropertySheetsA
+SetupDiGetClassDevPropertySheetsW
+SetupDiGetClassDevsA
+SetupDiGetClassDevsExA
+SetupDiGetClassDevsExW
+SetupDiGetClassDevsW
+SetupDiGetClassImageIndex
+SetupDiGetClassImageList
+SetupDiGetClassImageListExA
+SetupDiGetClassImageListExW
+SetupDiGetClassInstallParamsA
+SetupDiGetClassInstallParamsW
+SetupDiGetClassRegistryPropertyA
+SetupDiGetClassRegistryPropertyW
+SetupDiGetCustomDevicePropertyA
+SetupDiGetCustomDevicePropertyW
+SetupDiGetDeviceInfoListClass
+SetupDiGetDeviceInfoListDetailA
+SetupDiGetDeviceInfoListDetailW
+SetupDiGetDeviceInstallParamsA
+SetupDiGetDeviceInstallParamsW
+SetupDiGetDeviceInstanceIdA
+SetupDiGetDeviceInstanceIdW
+SetupDiGetDeviceInterfaceAlias
+SetupDiGetDeviceInterfaceDetailA
+SetupDiGetDeviceInterfaceDetailW
+SetupDiGetDeviceRegistryPropertyA
+SetupDiGetDeviceRegistryPropertyW
+SetupDiGetDriverInfoDetailA
+SetupDiGetDriverInfoDetailW
+SetupDiGetDriverInstallParamsA
+SetupDiGetDriverInstallParamsW
+SetupDiGetHwProfileFriendlyNameA
+SetupDiGetHwProfileFriendlyNameExA
+SetupDiGetHwProfileFriendlyNameExW
+SetupDiGetHwProfileFriendlyNameW
+SetupDiGetHwProfileList
+SetupDiGetHwProfileListExA
+SetupDiGetHwProfileListExW
+SetupDiGetINFClassA
+SetupDiGetINFClassW
+SetupDiGetSelectedDevice
+SetupDiGetSelectedDriverA
+SetupDiGetSelectedDriverW
+SetupDiGetWizardPage
+SetupDiInstallClassA
+SetupDiInstallClassExA
+SetupDiInstallClassExW
+SetupDiInstallClassW
+SetupDiInstallDevice
+SetupDiInstallDeviceInterfaces
+SetupDiInstallDriverFiles
+SetupDiLoadClassIcon
+SetupDiMoveDuplicateDevice
+SetupDiOpenClassRegKey
+SetupDiOpenClassRegKeyExA
+SetupDiOpenClassRegKeyExW
+SetupDiOpenDevRegKey
+SetupDiOpenDeviceInfoA
+SetupDiOpenDeviceInfoW
+SetupDiOpenDeviceInterfaceA
+SetupDiOpenDeviceInterfaceRegKey
+SetupDiOpenDeviceInterfaceW
+SetupDiRegisterCoDeviceInstallers
+SetupDiRegisterDeviceInfo
+SetupDiRemoveDevice
+SetupDiRemoveDeviceInterface
+SetupDiRestartDevices
+SetupDiSelectBestCompatDrv
+SetupDiSelectDevice
+SetupDiSelectOEMDrv
+SetupDiSetClassInstallParamsA
+SetupDiSetClassInstallParamsW
+SetupDiSetClassRegistryPropertyA
+SetupDiSetClassRegistryPropertyW
+SetupDiSetDeviceInstallParamsA
+SetupDiSetDeviceInstallParamsW
+SetupDiSetDeviceInterfaceDefault
+SetupDiSetDeviceRegistryPropertyA
+SetupDiSetDeviceRegistryPropertyW
+SetupDiSetDriverInstallParamsA
+SetupDiSetDriverInstallParamsW
+SetupDiSetSelectedDevice
+SetupDiSetSelectedDriverA
+SetupDiSetSelectedDriverW
+SetupDiUnremoveDevice
+SetupDuplicateDiskSpaceListA
+SetupDuplicateDiskSpaceListW
+SetupEnumInfSectionsA
+SetupEnumInfSectionsW
+SetupFindFirstLineA
+SetupFindFirstLineW
+SetupFindNextLine
+SetupFindNextMatchLineA
+SetupFindNextMatchLineW
+SetupFreeSourceListA
+SetupFreeSourceListW
+SetupGetBackupInformationA
+SetupGetBackupInformationW
+SetupGetBinaryField
+SetupGetFieldCount
+SetupGetFileCompressionInfoA
+SetupGetFileCompressionInfoExA
+SetupGetFileCompressionInfoExW
+SetupGetFileCompressionInfoW
+SetupGetFileQueueCount
+SetupGetFileQueueFlags
+SetupGetInfFileListA
+SetupGetInfFileListW
+SetupGetInfInformationA
+SetupGetInfInformationW
+SetupGetInfSections
+SetupGetIntField
+SetupGetLineByIndexA
+SetupGetLineByIndexW
+SetupGetLineCountA
+SetupGetLineCountW
+SetupGetLineTextA
+SetupGetLineTextW
+SetupGetMultiSzFieldA
+SetupGetMultiSzFieldW
+SetupGetNonInteractiveMode
+SetupGetSourceFileLocationA
+SetupGetSourceFileLocationW
+SetupGetSourceFileSizeA
+SetupGetSourceFileSizeW
+SetupGetSourceInfoA
+SetupGetSourceInfoW
+SetupGetStringFieldA
+SetupGetStringFieldW
+SetupGetTargetPathA
+SetupGetTargetPathW
+SetupInitDefaultQueueCallback
+SetupInitDefaultQueueCallbackEx
+SetupInitializeFileLogA
+SetupInitializeFileLogW
+SetupInstallFileA
+SetupInstallFileExA
+SetupInstallFileExW
+SetupInstallFileW
+SetupInstallFilesFromInfSectionA
+SetupInstallFilesFromInfSectionW
+SetupInstallFromInfSectionA
+SetupInstallFromInfSectionW
+SetupInstallServicesFromInfSectionA
+SetupInstallServicesFromInfSectionExA
+SetupInstallServicesFromInfSectionExW
+SetupInstallServicesFromInfSectionW
+SetupIterateCabinetA
+SetupIterateCabinetW
+SetupLogErrorA
+SetupLogErrorW
+SetupLogFileA
+SetupLogFileW
+SetupOpenAppendInfFileA
+SetupOpenAppendInfFileW
+SetupOpenFileQueue
+SetupOpenInfFileA
+SetupOpenInfFileW
+SetupOpenLog
+SetupOpenMasterInf
+SetupPrepareQueueForRestoreA
+SetupPrepareQueueForRestoreW
+SetupPromptForDiskA
+SetupPromptForDiskW
+SetupPromptReboot
+SetupQueryDrivesInDiskSpaceListA
+SetupQueryDrivesInDiskSpaceListW
+SetupQueryFileLogA
+SetupQueryFileLogW
+SetupQueryInfFileInformationA
+SetupQueryInfFileInformationW
+SetupQueryInfOriginalFileInformationA
+SetupQueryInfOriginalFileInformationW
+SetupQueryInfVersionInformationA
+SetupQueryInfVersionInformationW
+SetupQuerySourceListA
+SetupQuerySourceListW
+SetupQuerySpaceRequiredOnDriveA
+SetupQuerySpaceRequiredOnDriveW
+SetupQueueCopyA
+SetupQueueCopyIndirectA
+SetupQueueCopyIndirectW
+SetupQueueCopySectionA
+SetupQueueCopySectionW
+SetupQueueCopyW
+SetupQueueDefaultCopyA
+SetupQueueDefaultCopyW
+SetupQueueDeleteA
+SetupQueueDeleteSectionA
+SetupQueueDeleteSectionW
+SetupQueueDeleteW
+SetupQueueRenameA
+SetupQueueRenameSectionA
+SetupQueueRenameSectionW
+SetupQueueRenameW
+SetupRemoveFileLogEntryA
+SetupRemoveFileLogEntryW
+SetupRemoveFromDiskSpaceListA
+SetupRemoveFromDiskSpaceListW
+SetupRemoveFromSourceListA
+SetupRemoveFromSourceListW
+SetupRemoveInstallSectionFromDiskSpaceListA
+SetupRemoveInstallSectionFromDiskSpaceListW
+SetupRemoveSectionFromDiskSpaceListA
+SetupRemoveSectionFromDiskSpaceListW
+SetupRenameErrorA
+SetupRenameErrorW
+SetupScanFileQueue
+SetupScanFileQueueA
+SetupScanFileQueueW
+SetupSetDirectoryIdA
+SetupSetDirectoryIdExA
+SetupSetDirectoryIdExW
+SetupSetDirectoryIdW
+SetupSetFileQueueAlternatePlatformA
+SetupSetFileQueueAlternatePlatformW
+SetupSetFileQueueFlags
+SetupSetNonInteractiveMode
+SetupSetPlatformPathOverrideA
+SetupSetPlatformPathOverrideW
+SetupSetSourceListA
+SetupSetSourceListW
+SetupTermDefaultQueueCallback
+SetupTerminateFileLog
+SetupUninstallNewlyCopiedInfs
+SetupUninstallOEMInfA
+SetupUninstallOEMInfW
+SetupVerifyInfFileA
+SetupVerifyInfFileW
+UnicodeToMultiByte
+VerifyCatalogFile
+pSetupAccessRunOnceNodeList
+pSetupAcquireSCMLock
+pSetupAddMiniIconToList
+pSetupAddTagToGroupOrderListEntry
+pSetupAppendStringToMultiSz
+pSetupCaptureAndConvertAnsiArg
+pSetupCenterWindowRelativeToParent
+pSetupConcatenatePaths
+pSetupDestroyRunOnceNodeList
+pSetupDiGetDeviceInfoContext
+pSetupDiSetDeviceInfoContext
+pSetupDoesUserHavePrivilege
+pSetupDuplicateString
+pSetupEnablePrivilege
+pSetupFree
+pSetupFreeStringArray
+pSetupGetCurrentDriverSigningPolicy
+pSetupGetField
+pSetupGetFileTitle
+pSetupGetGlobalFlags
+pSetupGetInfSections
+pSetupGetQueueFlags
+pSetupGetRealSystemTime
+pSetupGetVersionInfoFromImage
+pSetupGuidFromString
+pSetupHandleFailedVerification
+pSetupInfCacheBuild
+pSetupInfIsFromOemLocation
+pSetupInstallCatalog
+pSetupInstallStopEx
+pSetupIsGuidNull
+pSetupIsLocalSystem
+pSetupIsUserAdmin
+pSetupMakeSurePathExists
+pSetupMalloc
+pSetupModifyGlobalFlags
+pSetupMultiByteToUnicode
+pSetupOpenAndMapFileForRead
+pSetupOutOfMemory
+pSetupQueryMultiSzValueToArray
+pSetupRealloc
+pSetupRegistryDelnode
+pSetupRetrieveServiceConfig
+pSetupSetArrayToMultiSzValue
+pSetupSetGlobalFlags
+pSetupSetNoDriverPrompts
+pSetupSetQueueFlags
+pSetupSetSystemSourcePath
+pSetupShouldDeviceBeExcluded
+pSetupStringFromGuid
+pSetupStringTableAddString
+pSetupStringTableAddStringEx
+pSetupStringTableDestroy
+pSetupStringTableDuplicate
+pSetupStringTableEnum
+pSetupStringTableGetExtraData
+pSetupStringTableInitialize
+pSetupStringTableInitializeEx
+pSetupStringTableLookUpString
+pSetupStringTableLookUpStringEx
+pSetupStringTableSetExtraData
+pSetupStringTableStringFromId
+pSetupStringTableStringFromIdEx
+pSetupUnicodeToMultiByte
+pSetupUnmapAndCloseFile
+pSetupVerifyCatalogFile
+pSetupVerifyFile
+pSetupVerifyQueuedCatalogs
+pSetupWriteLogEntry
+pSetupWriteLogError
diff --git a/mingw-w64-crt/lib64/wsfc.def b/mingw-w64-crt/lib64/wsfc.def
index 1163e3f..f528a33 100644
--- a/mingw-w64-crt/lib64/wsfc.def
+++ b/mingw-w64-crt/lib64/wsfc.def
@@ -1,16 +1,16 @@
-; 
-; Exports of file sfc.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sfc.dll
-EXPORTS
-SRSetRestorePoint
-SRSetRestorePointA
-SRSetRestorePointW
-SfcGetNextProtectedFile
-SfcIsFileProtected
-SfcWLEventLogoff
-SfcWLEventLogon
-SfpVerifyFile
+; 
+; Exports of file sfc.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sfc.dll
+EXPORTS
+SRSetRestorePoint
+SRSetRestorePointA
+SRSetRestorePointW
+SfcGetNextProtectedFile
+SfcIsFileProtected
+SfcWLEventLogoff
+SfcWLEventLogon
+SfpVerifyFile
diff --git a/mingw-w64-crt/lib64/wsfc_os.def b/mingw-w64-crt/lib64/wsfc_os.def
index d36eb77..e53a986 100644
--- a/mingw-w64-crt/lib64/wsfc_os.def
+++ b/mingw-w64-crt/lib64/wsfc_os.def
@@ -1,12 +1,12 @@
-; 
-; Exports of file sfc_os.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sfc_os.dll
-EXPORTS
-SfcGetNextProtectedFile
-SfcIsFileProtected
-SfcWLEventLogoff
-SfcWLEventLogon
+; 
+; Exports of file sfc_os.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sfc_os.dll
+EXPORTS
+SfcGetNextProtectedFile
+SfcIsFileProtected
+SfcWLEventLogoff
+SfcWLEventLogon
diff --git a/mingw-w64-crt/lib64/wsfcfiles.def b/mingw-w64-crt/lib64/wsfcfiles.def
index 61d2ed5..25d6b53 100644
--- a/mingw-w64-crt/lib64/wsfcfiles.def
+++ b/mingw-w64-crt/lib64/wsfcfiles.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file sfcfiles.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY sfcfiles.dll
-EXPORTS
-SfcGetFiles
+; 
+; Exports of file sfcfiles.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY sfcfiles.dll
+EXPORTS
+SfcGetFiles
diff --git a/mingw-w64-crt/lib64/wsfmapi.def b/mingw-w64-crt/lib64/wsfmapi.def
index d83c935..2ea8c83 100644
--- a/mingw-w64-crt/lib64/wsfmapi.def
+++ b/mingw-w64-crt/lib64/wsfmapi.def
@@ -1,40 +1,40 @@
-; 
-; Exports of file SFMAPI.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SFMAPI.dll
-EXPORTS
-AfpAdminBufferFree
-AfpAdminConnect
-AfpAdminConnectionClose
-AfpAdminConnectionEnum
-AfpAdminDirectoryGetInfo
-AfpAdminDirectorySetInfo
-AfpAdminDisconnect
-AfpAdminETCMapAdd
-AfpAdminETCMapAssociate
-AfpAdminETCMapDelete
-AfpAdminETCMapGetInfo
-AfpAdminETCMapSetInfo
-AfpAdminFileClose
-AfpAdminFileEnum
-AfpAdminFinderSetInfo
-AfpAdminInvalidVolumeDelete
-AfpAdminInvalidVolumeEnum
-AfpAdminMessageSend
-AfpAdminProfileClear
-AfpAdminProfileGet
-AfpAdminServerGetInfo
-AfpAdminServerSetInfo
-AfpAdminSessionClose
-AfpAdminSessionEnum
-AfpAdminStatisticsClear
-AfpAdminStatisticsGet
-AfpAdminStatisticsGetEx
-AfpAdminVolumeAdd
-AfpAdminVolumeDelete
-AfpAdminVolumeEnum
-AfpAdminVolumeGetInfo
-AfpAdminVolumeSetInfo
+; 
+; Exports of file SFMAPI.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY SFMAPI.dll
+EXPORTS
+AfpAdminBufferFree
+AfpAdminConnect
+AfpAdminConnectionClose
+AfpAdminConnectionEnum
+AfpAdminDirectoryGetInfo
+AfpAdminDirectorySetInfo
+AfpAdminDisconnect
+AfpAdminETCMapAdd
+AfpAdminETCMapAssociate
+AfpAdminETCMapDelete
+AfpAdminETCMapGetInfo
+AfpAdminETCMapSetInfo
+AfpAdminFileClose
+AfpAdminFileEnum
+AfpAdminFinderSetInfo
+AfpAdminInvalidVolumeDelete
+AfpAdminInvalidVolumeEnum
+AfpAdminMessageSend
+AfpAdminProfileClear
+AfpAdminProfileGet
+AfpAdminServerGetInfo
+AfpAdminServerSetInfo
+AfpAdminSessionClose
+AfpAdminSessionEnum
+AfpAdminStatisticsClear
+AfpAdminStatisticsGet
+AfpAdminStatisticsGetEx
+AfpAdminVolumeAdd
+AfpAdminVolumeDelete
+AfpAdminVolumeEnum
+AfpAdminVolumeGetInfo
+AfpAdminVolumeSetInfo
diff --git a/mingw-w64-crt/lib64/wshatm.def b/mingw-w64-crt/lib64/wshatm.def
index 4e2b80a..b01e4f2 100644
--- a/mingw-w64-crt/lib64/wshatm.def
+++ b/mingw-w64-crt/lib64/wshatm.def
@@ -1,24 +1,24 @@
-; 
-; Exports of file wshatm.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wshatm.dll
-EXPORTS
-WSHAddressToString
-WSHEnumProtocols
-WSHGetBroadcastSockaddr
-WSHGetProviderGuid
-WSHGetSockaddrType
-WSHGetSocketInformation
-WSHGetWSAProtocolInfo
-WSHGetWildcardSockaddr
-WSHGetWinsockMapping
-WSHIoctl
-WSHJoinLeaf
-WSHNotify
-WSHOpenSocket
-WSHOpenSocket2
-WSHSetSocketInformation
-WSHStringToAddress
+; 
+; Exports of file wshatm.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wshatm.dll
+EXPORTS
+WSHAddressToString
+WSHEnumProtocols
+WSHGetBroadcastSockaddr
+WSHGetProviderGuid
+WSHGetSockaddrType
+WSHGetSocketInformation
+WSHGetWSAProtocolInfo
+WSHGetWildcardSockaddr
+WSHGetWinsockMapping
+WSHIoctl
+WSHJoinLeaf
+WSHNotify
+WSHOpenSocket
+WSHOpenSocket2
+WSHSetSocketInformation
+WSHStringToAddress
diff --git a/mingw-w64-crt/lib64/wshbth.def b/mingw-w64-crt/lib64/wshbth.def
index 8e768f4..f97dbc7 100644
--- a/mingw-w64-crt/lib64/wshbth.def
+++ b/mingw-w64-crt/lib64/wshbth.def
@@ -1,25 +1,25 @@
-; 
-; Exports of file wshbth.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY wshbth.dll
-EXPORTS
-NSPStartup
-WSHAddressToString
-WSHEnumProtocols
-WSHGetBroadcastSockaddr
-WSHGetProviderGuid
-WSHGetSockaddrType
-WSHGetSocketInformation
-WSHGetWSAProtocolInfo
-WSHGetWildcardSockaddr
-WSHGetWinsockMapping
-WSHIoctl
-WSHJoinLeaf
-WSHNotify
-WSHOpenSocket
-WSHOpenSocket2
-WSHSetSocketInformation
-WSHStringToAddress
+; 
+; Exports of file wshbth.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY wshbth.dll
+EXPORTS
+NSPStartup
+WSHAddressToString
+WSHEnumProtocols
+WSHGetBroadcastSockaddr
+WSHGetProviderGuid
+WSHGetSockaddrType
+WSHGetSocketInformation
+WSHGetWSAProtocolInfo
+WSHGetWildcardSockaddr
+WSHGetWinsockMapping
+WSHIoctl
+WSHJoinLeaf
+WSHNotify
+WSHOpenSocket
+WSHOpenSocket2
+WSHSetSocketInformation
+WSHStringToAddress
diff --git a/mingw-w64-crt/lib64/wshcon.def b/mingw-w64-crt/lib64/wshcon.def
index a010b7e..ce5edd8 100644
--- a/mingw-w64-crt/lib64/wshcon.def
+++ b/mingw-w64-crt/lib64/wshcon.def
@@ -1,13 +1,13 @@
-; 
-; Exports of file WSHCon.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WSHCon.dll
-EXPORTS
-DLLGetDocumentation
-DllCanUnloadNow
-DllGetClassObject
-DllRegisterServer
-DllUnregisterServer
+; 
+; Exports of file WSHCon.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WSHCon.dll
+EXPORTS
+DLLGetDocumentation
+DllCanUnloadNow
+DllGetClassObject
+DllRegisterServer
+DllUnregisterServer
diff --git a/mingw-w64-crt/lib64/wwdmaud.def b/mingw-w64-crt/lib64/wwdmaud.def
index 2b9c776..ce90a0d 100644
--- a/mingw-w64-crt/lib64/wwdmaud.def
+++ b/mingw-w64-crt/lib64/wwdmaud.def
@@ -1,15 +1,15 @@
-; 
-; Exports of file WDMAUD.DRV
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WDMAUD.DRV
-EXPORTS
-DriverProc
-auxMessage
-midMessage
-modMessage
-mxdMessage
-widMessage
-wodMessage
+; 
+; Exports of file WDMAUD.DRV
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WDMAUD.DRV
+EXPORTS
+DriverProc
+auxMessage
+midMessage
+modMessage
+mxdMessage
+widMessage
+wodMessage
diff --git a/mingw-w64-crt/lib64/wwinspool.def b/mingw-w64-crt/lib64/wwinspool.def
index 4ad980b..a4b9695 100644
--- a/mingw-w64-crt/lib64/wwinspool.def
+++ b/mingw-w64-crt/lib64/wwinspool.def
@@ -1,177 +1,177 @@
-; 
-; Exports of file WINSPOOL.DRV
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY WINSPOOL.DRV
-EXPORTS
-PerfClose
-PerfCollect
-PerfOpen
-ADVANCEDSETUPDIALOG
-AbortPrinter
-AddFormA
-AddFormW
-AddJobA
-AddJobW
-AddMonitorA
-AddMonitorW
-AddPortA
-AddPortExA
-AddPortExW
-AddPortW
-AddPrintProcessorA
-AddPrintProcessorW
-AddPrintProvidorA
-AddPrintProvidorW
-AddPrinterA
-AddPrinterConnectionA
-AddPrinterConnectionW
-AddPrinterDriverA
-AddPrinterDriverExA
-AddPrinterDriverExW
-AddPrinterDriverW
-AddPrinterW
-AdvancedDocumentPropertiesA
-AdvancedDocumentPropertiesW
-AdvancedSetupDialog
-ClosePrinter
-CloseSpoolFileHandle
-CommitSpoolData
-ConfigurePortA
-ConfigurePortW
-ConnectToPrinterDlg
-ConvertAnsiDevModeToUnicodeDevmode
-ConvertUnicodeDevModeToAnsiDevmode
-CreatePrinterIC
-DEVICECAPABILITIES
-DEVICEMODE
-DeleteFormA
-DeleteFormW
-DeleteMonitorA
-DeleteMonitorW
-DeletePortA
-DeletePortW
-DeletePrintProcessorA
-DeletePrintProcessorW
-DeletePrintProvidorA
-DeletePrintProvidorW
-DeletePrinter
-DeletePrinterConnectionA
-DeletePrinterConnectionW
-DeletePrinterDataA
-DeletePrinterDataExA
-DeletePrinterDataExW
-DeletePrinterDataW
-DeletePrinterDriverA
-DeletePrinterDriverExA
-DeletePrinterDriverExW
-DeletePrinterDriverW
-DeletePrinterIC
-DeletePrinterKeyA
-DeletePrinterKeyW
-DevQueryPrint
-DevQueryPrintEx
-DeviceCapabilities
-DeviceCapabilitiesA
-DeviceCapabilitiesW
-DeviceMode
-DevicePropertySheets
-DocumentEvent
-DocumentPropertiesA
-DocumentPropertiesW
-DocumentPropertySheets
-EXTDEVICEMODE
-EndDocPrinter
-EndPagePrinter
-EnumFormsA
-EnumFormsW
-EnumJobsA
-EnumJobsW
-EnumMonitorsA
-EnumMonitorsW
-EnumPortsA
-EnumPortsW
-EnumPrintProcessorDatatypesA
-EnumPrintProcessorDatatypesW
-EnumPrintProcessorsA
-EnumPrintProcessorsW
-EnumPrinterDataA
-EnumPrinterDataExA
-EnumPrinterDataExW
-EnumPrinterDataW
-EnumPrinterDriversA
-EnumPrinterDriversW
-GetDefaultPrinterA
-SetDefaultPrinterA
-GetDefaultPrinterW
-SetDefaultPrinterW
-EnumPrinterKeyA
-EnumPrinterKeyW
-EnumPrintersA
-EnumPrintersW
-ExtDeviceMode
-FindClosePrinterChangeNotification
-FindFirstPrinterChangeNotification
-FindNextPrinterChangeNotification
-FlushPrinter
-FreePrinterNotifyInfo
-GetFormA
-GetFormW
-GetJobA
-GetJobW
-GetPrintProcessorDirectoryA
-GetPrintProcessorDirectoryW
-GetPrinterA
-GetPrinterDataA
-GetPrinterDataExA
-GetPrinterDataExW
-GetPrinterDataW
-GetPrinterDriverA
-GetPrinterDriverDirectoryA
-GetPrinterDriverDirectoryW
-GetPrinterDriverW
-GetPrinterW
-GetSpoolFileHandle
-IsValidDevmodeA
-IsValidDevmodeW
-OpenPrinterA
-OpenPrinterW
-PlayGdiScriptOnPrinterIC
-PrinterMessageBoxA
-PrinterMessageBoxW
-PrinterProperties
-QueryColorProfile
-QueryRemoteFonts
-QuerySpoolMode
-ReadPrinter
-ResetPrinterA
-ResetPrinterW
-ScheduleJob
-SeekPrinter
-SetAllocFailCount
-SetFormA
-SetFormW
-SetJobA
-SetJobW
-SetPortA
-SetPortW
-SetPrinterA
-SetPrinterDataA
-SetPrinterDataExA
-SetPrinterDataExW
-SetPrinterDataW
-SetPrinterW
-SplDriverUnloadComplete
-SpoolerDevQueryPrintW
-SpoolerInit
-SpoolerPrinterEvent
-StartDocDlgA
-StartDocDlgW
-StartDocPrinterA
-StartDocPrinterW
-StartPagePrinter
-WaitForPrinterChange
-WritePrinter
-XcvDataW
+; 
+; Exports of file WINSPOOL.DRV
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY WINSPOOL.DRV
+EXPORTS
+PerfClose
+PerfCollect
+PerfOpen
+ADVANCEDSETUPDIALOG
+AbortPrinter
+AddFormA
+AddFormW
+AddJobA
+AddJobW
+AddMonitorA
+AddMonitorW
+AddPortA
+AddPortExA
+AddPortExW
+AddPortW
+AddPrintProcessorA
+AddPrintProcessorW
+AddPrintProvidorA
+AddPrintProvidorW
+AddPrinterA
+AddPrinterConnectionA
+AddPrinterConnectionW
+AddPrinterDriverA
+AddPrinterDriverExA
+AddPrinterDriverExW
+AddPrinterDriverW
+AddPrinterW
+AdvancedDocumentPropertiesA
+AdvancedDocumentPropertiesW
+AdvancedSetupDialog
+ClosePrinter
+CloseSpoolFileHandle
+CommitSpoolData
+ConfigurePortA
+ConfigurePortW
+ConnectToPrinterDlg
+ConvertAnsiDevModeToUnicodeDevmode
+ConvertUnicodeDevModeToAnsiDevmode
+CreatePrinterIC
+DEVICECAPABILITIES
+DEVICEMODE
+DeleteFormA
+DeleteFormW
+DeleteMonitorA
+DeleteMonitorW
+DeletePortA
+DeletePortW
+DeletePrintProcessorA
+DeletePrintProcessorW
+DeletePrintProvidorA
+DeletePrintProvidorW
+DeletePrinter
+DeletePrinterConnectionA
+DeletePrinterConnectionW
+DeletePrinterDataA
+DeletePrinterDataExA
+DeletePrinterDataExW
+DeletePrinterDataW
+DeletePrinterDriverA
+DeletePrinterDriverExA
+DeletePrinterDriverExW
+DeletePrinterDriverW
+DeletePrinterIC
+DeletePrinterKeyA
+DeletePrinterKeyW
+DevQueryPrint
+DevQueryPrintEx
+DeviceCapabilities
+DeviceCapabilitiesA
+DeviceCapabilitiesW
+DeviceMode
+DevicePropertySheets
+DocumentEvent
+DocumentPropertiesA
+DocumentPropertiesW
+DocumentPropertySheets
+EXTDEVICEMODE
+EndDocPrinter
+EndPagePrinter
+EnumFormsA
+EnumFormsW
+EnumJobsA
+EnumJobsW
+EnumMonitorsA
+EnumMonitorsW
+EnumPortsA
+EnumPortsW
+EnumPrintProcessorDatatypesA
+EnumPrintProcessorDatatypesW
+EnumPrintProcessorsA
+EnumPrintProcessorsW
+EnumPrinterDataA
+EnumPrinterDataExA
+EnumPrinterDataExW
+EnumPrinterDataW
+EnumPrinterDriversA
+EnumPrinterDriversW
+GetDefaultPrinterA
+SetDefaultPrinterA
+GetDefaultPrinterW
+SetDefaultPrinterW
+EnumPrinterKeyA
+EnumPrinterKeyW
+EnumPrintersA
+EnumPrintersW
+ExtDeviceMode
+FindClosePrinterChangeNotification
+FindFirstPrinterChangeNotification
+FindNextPrinterChangeNotification
+FlushPrinter
+FreePrinterNotifyInfo
+GetFormA
+GetFormW
+GetJobA
+GetJobW
+GetPrintProcessorDirectoryA
+GetPrintProcessorDirectoryW
+GetPrinterA
+GetPrinterDataA
+GetPrinterDataExA
+GetPrinterDataExW
+GetPrinterDataW
+GetPrinterDriverA
+GetPrinterDriverDirectoryA
+GetPrinterDriverDirectoryW
+GetPrinterDriverW
+GetPrinterW
+GetSpoolFileHandle
+IsValidDevmodeA
+IsValidDevmodeW
+OpenPrinterA
+OpenPrinterW
+PlayGdiScriptOnPrinterIC
+PrinterMessageBoxA
+PrinterMessageBoxW
+PrinterProperties
+QueryColorProfile
+QueryRemoteFonts
+QuerySpoolMode
+ReadPrinter
+ResetPrinterA
+ResetPrinterW
+ScheduleJob
+SeekPrinter
+SetAllocFailCount
+SetFormA
+SetFormW
+SetJobA
+SetJobW
+SetPortA
+SetPortW
+SetPrinterA
+SetPrinterDataA
+SetPrinterDataExA
+SetPrinterDataExW
+SetPrinterDataW
+SetPrinterW
+SplDriverUnloadComplete
+SpoolerDevQueryPrintW
+SpoolerInit
+SpoolerPrinterEvent
+StartDocDlgA
+StartDocDlgW
+StartDocPrinterA
+StartDocPrinterW
+StartPagePrinter
+WaitForPrinterChange
+WritePrinter
+XcvDataW
diff --git a/mingw-w64-crt/lib64/zoneoc.def b/mingw-w64-crt/lib64/zoneoc.def
index 3a770a5..4fab621 100644
--- a/mingw-w64-crt/lib64/zoneoc.def
+++ b/mingw-w64-crt/lib64/zoneoc.def
@@ -1,9 +1,9 @@
-; 
-; Exports of file ZoneOC.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY ZoneOC.dll
-EXPORTS
-ZoneSetupProc
+; 
+; Exports of file ZoneOC.dll
+;
+; Autogenerated by gen_exportdef
+; Written by Kai Tietz, 2007
+;
+LIBRARY ZoneOC.dll
+EXPORTS
+ZoneSetupProc
